diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index da2a3d615..f23f911bd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,7 +45,7 @@ jobs: test_trace_decoder: name: Test trace_decoder - runs-on: ubuntu-latest + runs-on: zero-ci timeout-minutes: 30 if: "! contains(toJSON(github.event.commits.*.message), '[skip-ci]')" steps: @@ -61,10 +61,9 @@ jobs: cache-on-failure: true - name: Test in trace_decoder subdirectory - run: cargo test --manifest-path trace_decoder/Cargo.toml + run: cargo test --release --manifest-path trace_decoder/Cargo.toml -- --nocapture env: - RUSTFLAGS: -Copt-level=3 -Cdebug-assertions -Coverflow-checks=y -Cdebuginfo=0 - RUST_LOG: 1 + RUST_LOG: info CARGO_INCREMENTAL: 1 RUST_BACKTRACE: 1 @@ -187,7 +186,7 @@ jobs: - name: Run the script run: | pushd zero_bin/tools - ./prove_stdio.sh artifacts/witness_b19240705.json + ./prove_stdio.sh artifacts/witness_b19807080.json simple_proof_witness_only: name: Execute bash script to generate the proof witness for a small block. @@ -200,7 +199,7 @@ jobs: - name: Run the script run: | pushd zero_bin/tools - ./prove_stdio.sh artifacts/witness_b19240705.json test_only + ./prove_stdio.sh artifacts/witness_b19807080.json test_only multi_blocks_proof_regular: name: Execute bash script to generate and verify a proof for multiple blocks using parallel proving. @@ -213,7 +212,7 @@ jobs: - name: Run the script run: | pushd zero_bin/tools - ./prove_stdio.sh artifacts/witness_b2_b7.json + ./prove_stdio.sh artifacts/witness_b3_b6.json lints: name: Rustdoc, Formatting and Clippy diff --git a/.github/workflows/jerigon.yml b/.github/workflows/jerigon.yml index 273eff91e..e60d34330 100644 --- a/.github/workflows/jerigon.yml +++ b/.github/workflows/jerigon.yml @@ -29,7 +29,8 @@ jobs: uses: actions/checkout@v4 with: repository: 0xPolygonZero/jerigon-test-network - path: test-jerigon-network + ref: 'feat/kurtosis-network' + path: jerigon-test-network - name: Install nightly toolchain uses: dtolnay/rust-toolchain@nightly @@ -49,37 +50,49 @@ jobs: with: cache-on-failure: true - - name: Run jerigon test network with docker compose + - name: Install kurtosis run: | - cd test-jerigon-network - docker-compose -f docker-compose.yml up -d - docker logs -f smart-contracts - echo "Jerigon network is up and running, ready for testing" + echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list + sudo apt update + sudo apt install kurtosis-cli - - name: Rpc test with curl + #It is much easier to use cast tool in scripts so install foundry + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + + - name: Run cancun test network run: | - curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id":83}' localhost:8545 - env: - RUST_LOG: info - + docker pull ghcr.io/0xpolygonzero/erigon:feat-zero + kurtosis run --enclave cancun-testnet github.com/ethpandaops/ethereum-package@4.0.0 --args-file jerigon-test-network/network_params.yml + + - name: Generate blocks with transactions + run: | + ETH_RPC_URL="$(kurtosis port print cancun-testnet el-2-erigon-lighthouse ws-rpc)" + cast rpc eth_blockNumber --rpc-url $ETH_RPC_URL + cd jerigon-test-network && set -a && source .env && set +a + bash ./tests/generate_transactions.sh + - name: Run prove blocks in test_only mode run: | + ETH_RPC_URL="$(kurtosis port print cancun-testnet el-2-erigon-lighthouse ws-rpc)" cd zero_bin/tools - OUTPUT_TO_TERMINAL=true ./prove_rpc.sh 0x2 0x3 http://localhost:8546 jerigon true 0 0 test_only + ulimit -n 8192 + OUTPUT_TO_TERMINAL=true ./prove_rpc.sh 0x1 0xf $ETH_RPC_URL jerigon true 3000 100 test_only echo "Proving blocks in test_only mode finished" - name: Run prove blocks in real mode run: | + ETH_RPC_URL="$(kurtosis port print cancun-testnet el-2-erigon-lighthouse ws-rpc)" cd zero_bin/tools rm -rf proofs/* circuits/* ./proofs.json test.out verify.out leader.out - OUTPUT_TO_TERMINAL=true RUN_VERIFICATION=true ./prove_rpc.sh 0x4 0x5 http://localhost:8546 jerigon true + OUTPUT_TO_TERMINAL=true RUN_VERIFICATION=true ./prove_rpc.sh 0x2 0x5 $ETH_RPC_URL jerigon true 3000 100 echo "Proving blocks in real mode finished" - name: Shut down network run: | - cd test-jerigon-network - docker-compose -f docker-compose.yml down -v + kurtosis enclave rm -f cancun-testnet + kurtosis engine stop diff --git a/CHANGELOG.md b/CHANGELOG.md index c022899b6..474a41e3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,94 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.6.0] - 2024-07-15 + +### Changed +- Implement EIP-4788 for Cancun ([#40](https://github.com/0xPolygonZero/zk_evm/pull/40)) +- Implement Blob transactions (type-3) and BLOBHASH opcode ([#50](https://github.com/0xPolygonZero/zk_evm/pull/50)) +- Fix beacons root contract bytecode ([#70](https://github.com/0xPolygonZero/zk_evm/pull/70)) +- LxLy exit roots ([#90](https://github.com/0xPolygonZero/zk_evm/pull/90)) +- Eip 1153 (TLOAD/TSTORE) ([#59](https://github.com/0xPolygonZero/zk_evm/pull/59)) +- Remove blobbasefee from block header ([#100](https://github.com/0xPolygonZero/zk_evm/pull/100)) +- Fix MCOPY from rebasing ([#103](https://github.com/0xPolygonZero/zk_evm/pull/103)) +- Fix storage write for beacons root contract ([#102](https://github.com/0xPolygonZero/zk_evm/pull/102)) +- EIP-4844 part 2: Point evaluation precompile ([#133](https://github.com/0xPolygonZero/zk_evm/pull/133)) +- Some fixes to Cancun ([#187](https://github.com/0xPolygonZero/zk_evm/pull/187)) +- Insert blob versioned hashes in signature payload for hashing ([#209](https://github.com/0xPolygonZero/zk_evm/pull/209)) +- Fix KZG precompile context setup ([#210](https://github.com/0xPolygonZero/zk_evm/pull/210)) +- Fix txn type encoding for receipts ([#214](https://github.com/0xPolygonZero/zk_evm/pull/214)) +- Add blob gas fee burn for type-3 txns ([#219](https://github.com/0xPolygonZero/zk_evm/pull/219)) +- Update decoder processing for cancun ([#207](https://github.com/0xPolygonZero/zk_evm/pull/207)) +- cancun: Add a full block test ([#223](https://github.com/0xPolygonZero/zk_evm/pull/223)) +- Fix KZG precompile I/O ([#213](https://github.com/0xPolygonZero/zk_evm/pull/213)) +- Fix selfdestruct address listing ([#225](https://github.com/0xPolygonZero/zk_evm/pull/225)) +- Fix withdrawals without txns and add test for empty block ([#228](https://github.com/0xPolygonZero/zk_evm/pull/228)) +- doc: update README ([#242](https://github.com/0xPolygonZero/zk_evm/pull/242)) +- Cleanup and bring back deadcode lint ([#232](https://github.com/0xPolygonZero/zk_evm/pull/232)) +- fix(cancun): dummy payloads and public input retrieval ([#249](https://github.com/0xPolygonZero/zk_evm/pull/249)) +- fix: encode calldata for EIP-4780 as U256 ([#253](https://github.com/0xPolygonZero/zk_evm/pull/253)) +- fix: handle KZG precompile errors properly ([#251](https://github.com/0xPolygonZero/zk_evm/pull/251)) +- fix(cancun): `mcopy` check offsets and overwrites ([#252](https://github.com/0xPolygonZero/zk_evm/pull/252)) +- fix(cancun): correct search loop in transient storage ([#257](https://github.com/0xPolygonZero/zk_evm/pull/257)) +- perf: Charge gas before tload search ([#272](https://github.com/0xPolygonZero/zk_evm/pull/272)) +- fix: add check on decoded versioned hashes ([#278](https://github.com/0xPolygonZero/zk_evm/pull/278)) +- fix: Add beacon roots touched slots into `state_access` with native tracer ([#353](https://github.com/0xPolygonZero/zk_evm/pull/353)) +- feat(cancun): update test blocks ([#365](https://github.com/0xPolygonZero/zk_evm/pull/365)) +- fix: failed to send proof ([#366](https://github.com/0xPolygonZero/zk_evm/pull/366)) +- feat: cancun jerigon test network ([#367](https://github.com/0xPolygonZero/zk_evm/pull/367)) +- fix(cancun): properly update accumulator in fake_exponential() ([#376](https://github.com/0xPolygonZero/zk_evm/pull/376)) +- fix(cancun): tweak ranges in integration tests ([#377](https://github.com/0xPolygonZero/zk_evm/pull/377)) +- `cancun`: cleanup pre-release ([#392](https://github.com/0xPolygonZero/zk_evm/pull/392)) + +## [0.5.0] - 2024-07-15 + +### Changed +- fix: docker images ([#108](https://github.com/0xPolygonZero/zk_evm/pull/108)) +- feat: add transaction hash to zero trace ([#103](https://github.com/0xPolygonZero/zk_evm/pull/103)) +- perf: add benchmarks for different components ([#273](https://github.com/0xPolygonZero/zk_evm/pull/273)) +- fix: add check on decoded versioned hashes ([#278](https://github.com/0xPolygonZero/zk_evm/pull/278)) +- fix: discard intermediate proofs ([#106](https://github.com/0xPolygonZero/zk_evm/pull/106)) +- feat: stdio parallel proving ([#109](https://github.com/0xPolygonZero/zk_evm/pull/109)) +- Fixes related to nightly and alloy ([#101](https://github.com/0xPolygonZero/zk_evm/pull/101)) +- Introduce native tracer support ([#81](https://github.com/0xPolygonZero/zk_evm/pull/81)) +- chore: bump alloy to v0.1.1 ([#111](https://github.com/0xPolygonZero/zk_evm/pull/111)) +- Migrate `zero-bin` into `zk-evm` +- fix: Bring back Cargo.lock ([#280](https://github.com/0xPolygonZero/zk_evm/pull/280)) +- ci: add labeler flag for new `zero-bin` crate + update `CODEOWNERS` ([#281](https://github.com/0xPolygonZero/zk_evm/pull/281)) +- fix: only executables should choose a global allocator ([#301](https://github.com/0xPolygonZero/zk_evm/pull/301)) +- doc: fix typos ([#298](https://github.com/0xPolygonZero/zk_evm/pull/298)) +- misc: fix logging filename ([#305](https://github.com/0xPolygonZero/zk_evm/pull/305)) +- refactor zero_bin leader cli ([#317](https://github.com/0xPolygonZero/zk_evm/pull/317)) +- Removed non-existing dep public `__compat_primitive_types` ([#321](https://github.com/0xPolygonZero/zk_evm/pull/321)) +- perf: Check for zero amount early in 'add_eth' ([#322](https://github.com/0xPolygonZero/zk_evm/pull/322)) +- fix: interval ([#324](https://github.com/0xPolygonZero/zk_evm/pull/324)) +- fix: optimize previous hashes retrieval ([#316](https://github.com/0xPolygonZero/zk_evm/pull/316)) +- feat: add jerigon test workflow ([#303](https://github.com/0xPolygonZero/zk_evm/pull/303)) +- fix: do not add selfdestruct journal entry for empty accounts ([#328](https://github.com/0xPolygonZero/zk_evm/pull/328)) +- ci: add PR check job ([#332](https://github.com/0xPolygonZero/zk_evm/pull/332)) +- Constrain FP254 operations and SUBMOD to be kernel-only ([#333](https://github.com/0xPolygonZero/zk_evm/pull/333)) +- fix: add recipient to touched_addresses even when skipping empty transfer ([#336](https://github.com/0xPolygonZero/zk_evm/pull/336)) +- Fixed leader crashing when `.env` not present ([#335](https://github.com/0xPolygonZero/zk_evm/pull/335)) +- perf: reduce overhead in final iteration of memset ([#339](https://github.com/0xPolygonZero/zk_evm/pull/339)) +- Make leader work no matter what the CWD is ([#307](https://github.com/0xPolygonZero/zk_evm/pull/307)) +- Cleanup/clippy and update pass ([#341](https://github.com/0xPolygonZero/zk_evm/pull/341)) +- Add `Columns` and `DerefColumns` derive macros ([#315](https://github.com/0xPolygonZero/zk_evm/pull/315)) +- migrate compat to micro crate ([#308](https://github.com/0xPolygonZero/zk_evm/pull/308)) +- fix: docker build for worker and leader ([#329](https://github.com/0xPolygonZero/zk_evm/pull/329)) +- parse embedded short nodes ([#345](https://github.com/0xPolygonZero/zk_evm/pull/345)) +- Add `LogicColumnsView` struct for `LogicStark` ([#347](https://github.com/0xPolygonZero/zk_evm/pull/347)) +- fix: properly log final result when due ([#352](https://github.com/0xPolygonZero/zk_evm/pull/352)) +- fix: Check valid range for s and add test ([#363](https://github.com/0xPolygonZero/zk_evm/pull/363)) +- feat: add caching for `get_block` ([#346](https://github.com/0xPolygonZero/zk_evm/pull/346)) +- refactor!: docker builds ([#357](https://github.com/0xPolygonZero/zk_evm/pull/357)) +- fix: tweak fetching of previous block hashes ([#370](https://github.com/0xPolygonZero/zk_evm/pull/370)) +- fix(evm_arithmetization): Adjust layout of `CpuGeneralColumnsView` ([#355](https://github.com/0xPolygonZero/zk_evm/pull/355)) +- feat: skip range-checking `PUSH` operations in `KERNEL` mode ([#373](https://github.com/0xPolygonZero/zk_evm/pull/373)) +- Fix iterator length when fetching block hashes ([#374](https://github.com/0xPolygonZero/zk_evm/pull/374)) +- fix: scale withdrawals amount to gwei ([#371](https://github.com/0xPolygonZero/zk_evm/pull/371)) +- refactor: frontend of `trace_decoder` ([#309](https://github.com/0xPolygonZero/zk_evm/pull/309)) + + ## [0.4.0] - 2024-06-12 ### Changed diff --git a/Cargo.lock b/Cargo.lock index 4ffd8fe41..dd81fbc82 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -61,7 +61,7 @@ name = "alloy" version = "0.1.1" source = "git+https://github.com/alloy-rs/alloy?tag=v0.1.1#f04a704ac5be9cb21b4b1f6c35f925607f1aa939" dependencies = [ - "alloy-consensus", + "alloy-consensus 0.1.1", "alloy-core", "alloy-json-rpc", "alloy-provider", @@ -87,10 +87,24 @@ name = "alloy-consensus" version = "0.1.1" source = "git+https://github.com/alloy-rs/alloy?tag=v0.1.1#f04a704ac5be9cb21b4b1f6c35f925607f1aa939" dependencies = [ - "alloy-eips", + "alloy-eips 0.1.1", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.1.1", + "c-kzg", + "serde", +] + +[[package]] +name = "alloy-consensus" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da374e868f54c7f4ad2ad56829827badca388efd645f8cf5fccc61c2b5343504" +dependencies = [ + "alloy-eips 0.1.4", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.1.4", "c-kzg", "serde", ] @@ -112,7 +126,22 @@ source = "git+https://github.com/alloy-rs/alloy?tag=v0.1.1#f04a704ac5be9cb21b4b1 dependencies = [ "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.1.1", + "c-kzg", + "once_cell", + "serde", + "sha2", +] + +[[package]] +name = "alloy-eips" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f76ecab54890cdea1e4808fc0891c7e6cfcf71fe1a9fe26810c7280ef768f4ed" +dependencies = [ + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.1.4", "c-kzg", "once_cell", "serde", @@ -136,12 +165,12 @@ name = "alloy-network" version = "0.1.1" source = "git+https://github.com/alloy-rs/alloy?tag=v0.1.1#f04a704ac5be9cb21b4b1f6c35f925607f1aa939" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.1.1", + "alloy-eips 0.1.1", "alloy-json-rpc", "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.1.1", + "alloy-serde 0.1.1", "alloy-signer", "alloy-sol-types", "async-trait", @@ -178,13 +207,13 @@ version = "0.1.1" source = "git+https://github.com/alloy-rs/alloy?tag=v0.1.1#f04a704ac5be9cb21b4b1f6c35f925607f1aa939" dependencies = [ "alloy-chains", - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.1.1", + "alloy-eips 0.1.1", "alloy-json-rpc", "alloy-network", "alloy-primitives", "alloy-rpc-client", - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 0.1.1", "alloy-rpc-types-trace", "alloy-transport", "alloy-transport-http", @@ -251,9 +280,9 @@ name = "alloy-rpc-types" version = "0.1.1" source = "git+https://github.com/alloy-rs/alloy?tag=v0.1.1#f04a704ac5be9cb21b4b1f6c35f925607f1aa939" dependencies = [ - "alloy-rpc-types-eth", + "alloy-rpc-types-eth 0.1.1", "alloy-rpc-types-trace", - "alloy-serde", + "alloy-serde 0.1.1", ] [[package]] @@ -261,11 +290,29 @@ name = "alloy-rpc-types-eth" version = "0.1.1" source = "git+https://github.com/alloy-rs/alloy?tag=v0.1.1#f04a704ac5be9cb21b4b1f6c35f925607f1aa939" dependencies = [ - "alloy-consensus", - "alloy-eips", + "alloy-consensus 0.1.1", + "alloy-eips 0.1.1", + "alloy-primitives", + "alloy-rlp", + "alloy-serde 0.1.1", + "alloy-sol-types", + "itertools 0.13.0", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "alloy-rpc-types-eth" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab4123ee21f99ba4bd31bfa36ba89112a18a500f8b452f02b35708b1b951e2b9" +dependencies = [ + "alloy-consensus 0.1.4", + "alloy-eips 0.1.4", "alloy-primitives", "alloy-rlp", - "alloy-serde", + "alloy-serde 0.1.4", "alloy-sol-types", "itertools 0.13.0", "serde", @@ -279,8 +326,8 @@ version = "0.1.1" source = "git+https://github.com/alloy-rs/alloy?tag=v0.1.1#f04a704ac5be9cb21b4b1f6c35f925607f1aa939" dependencies = [ "alloy-primitives", - "alloy-rpc-types-eth", - "alloy-serde", + "alloy-rpc-types-eth 0.1.1", + "alloy-serde 0.1.1", "serde", "serde_json", ] @@ -295,6 +342,17 @@ dependencies = [ "serde_json", ] +[[package]] +name = "alloy-serde" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9416c52959e66ead795a11f4a86c248410e9e368a0765710e57055b8a1774dd6" +dependencies = [ + "alloy-primitives", + "serde", + "serde_json", +] + [[package]] name = "alloy-signer" version = "0.1.1" @@ -1909,7 +1967,7 @@ dependencies = [ [[package]] name = "evm_arithmetization" -version = "0.2.0" +version = "0.4.0" dependencies = [ "anyhow", "bytes", @@ -2169,6 +2227,12 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +[[package]] +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" + [[package]] name = "futures-util" version = "0.3.30" @@ -2905,7 +2969,7 @@ checksum = "c9be0862c1b3f26a88803c4a49de6889c10e608b3ee9344e6ef5b45fb37ad3d1" [[package]] name = "mpt_trie" -version = "0.3.0" +version = "0.4.1" dependencies = [ "bytes", "enum-as-inner", @@ -3704,7 +3768,7 @@ dependencies = [ [[package]] name = "proof_gen" -version = "0.2.0" +version = "0.4.0" dependencies = [ "evm_arithmetization", "log", @@ -3906,6 +3970,12 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +[[package]] +name = "relative-path" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" + [[package]] name = "reqwest" version = "0.12.5" @@ -4025,6 +4095,36 @@ dependencies = [ "zero_bin_common", ] +[[package]] +name = "rstest" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afd55a67069d6e434a95161415f5beeada95a01c7b815508a82dcb0e1593682" +dependencies = [ + "futures", + "futures-timer", + "rstest_macros", + "rustc_version 0.4.0", +] + +[[package]] +name = "rstest_macros" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4165dfae59a39dd41d8dec720d3cbfbc71f69744efb480a3920f5d4e0cc6798d" +dependencies = [ + "cfg-if", + "glob", + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "relative-path", + "rustc_version 0.4.0", + "syn 2.0.70", + "unicode-ident", +] + [[package]] name = "ruint" version = "1.12.3" @@ -4473,7 +4573,7 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "smt_trie" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ethereum-types", "hex-literal", @@ -4955,8 +5055,9 @@ checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" [[package]] name = "trace_decoder" -version = "0.4.0" +version = "0.6.0" dependencies = [ + "alloy-rpc-types-eth 0.1.4", "anyhow", "bitflags 2.6.0", "bitvec", @@ -4977,9 +5078,14 @@ dependencies = [ "mpt_trie", "nunny", "plonky2", + "plonky2_maybe_rayon", + "pretty_env_logger", + "prover", "rlp", + "rstest", "serde", "serde_json", + "serde_path_to_error", "smt_trie", "stackstack", "thiserror", diff --git a/Cargo.toml b/Cargo.toml index 3d9a44604..22c913324 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,19 +1,19 @@ [workspace] members = [ - "compat", - "evm_arithmetization", - "mpt_trie", - "proc_macro", - "proof_gen", - "smt_trie", - "trace_decoder", - "zero_bin/common", - "zero_bin/leader", - "zero_bin/ops", - "zero_bin/prover", - "zero_bin/rpc", - "zero_bin/verifier", - "zero_bin/worker", + "compat", + "evm_arithmetization", + "mpt_trie", + "proc_macro", + "proof_gen", + "smt_trie", + "trace_decoder", + "zero_bin/common", + "zero_bin/leader", + "zero_bin/ops", + "zero_bin/prover", + "zero_bin/rpc", + "zero_bin/verifier", + "zero_bin/worker", ] resolver = "2" @@ -28,18 +28,18 @@ categories = ["cryptography::cryptocurrencies"] [workspace.dependencies] __compat_primitive_types = { version = "0.12.2", package = "primitive-types" } alloy = { git = "https://github.com/alloy-rs/alloy", tag = 'v0.1.1', default-features = false, features = [ - "consensus", - "reqwest", - "json-rpc", - "rlp", - "rpc", - "rpc-client", - "rpc-types-eth", - "rpc-types-trace", - "providers", - "transports", - "transport-http", - "rpc-types-debug", + "consensus", + "reqwest", + "json-rpc", + "rlp", + "rpc", + "rpc-client", + "rpc-types-eth", + "rpc-types-trace", + "providers", + "transports", + "transport-http", + "rpc-types-debug", ] } anyhow = "1.0.86" async-stream = "0.3.5" @@ -59,7 +59,6 @@ enumn = "0.1.13" env_logger = "0.11.3" eth_trie = "0.4.0" ethereum-types = "0.14.1" -evm_arithmetization = { path = "evm_arithmetization", version = "0.2.0" } futures = "0.3.30" hashbrown = "0.14.5" hex = "0.4.3" @@ -72,7 +71,6 @@ itertools = "0.13.0" keccak-hash = "0.10.0" log = "0.4.21" lru = "0.12.3" -mpt_trie = { path = "mpt_trie", version = "0.3.0" } num = "0.4.3" num-bigint = "0.4.5" num-traits = "0.2.19" @@ -84,7 +82,6 @@ paste = "1.0.15" pest = "2.7.10" pest_derive = "2.7.10" pretty_env_logger = "0.5.0" -proof_gen = { path = "proof_gen", version = "0.2.0" } rand = "0.8.5" rand_chacha = "0.3.1" ripemd = "0.1.3" @@ -96,14 +93,12 @@ serde_json = "1.0.118" serde_path_to_error = "0.1.16" serde_with = "3.8.1" sha2 = "0.10.8" -smt_trie = { path = "smt_trie", version = "0.1.0" } static_assertions = "1.1.0" thiserror = "1.0.61" tiny-keccak = "2.0.2" tokio = { version = "1.38.0", features = ["full"] } toml = "0.8.14" tower = "0.4" -trace_decoder = { path = "trace_decoder", version = "0.4.0" } tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } u4 = "0.1.0" @@ -111,6 +106,14 @@ uint = "0.9.5" url = "2.5.2" winnow = "0.6.13" +# local dependencies +evm_arithmetization = { path = "evm_arithmetization", version = "0.4.0" } +mpt_trie = { path = "mpt_trie", version = "0.4.1" } +proof_gen = { path = "proof_gen", version = "0.4.0" } +smt_trie = { path = "smt_trie", version = "0.1.1" } +trace_decoder = { path = "trace_decoder", version = "0.6.0" } +zk_evm_proc_macro = { path = "proc_macro", version = "0.1.0" } + # zero-bin related dependencies ops = { path = "zero_bin/ops" } prover = { path = "zero_bin/prover" } @@ -128,4 +131,3 @@ proc-macro2 = "1.0" quote = "1.0" syn = "2.0" trybuild = "1.0" -zk_evm_proc_macro = { path = "proc_macro" } diff --git a/compat/Cargo.toml b/compat/Cargo.toml index 69ff77eb7..f52e57c45 100644 --- a/compat/Cargo.toml +++ b/compat/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "compat" version = "0.1.0" -publish = false # TODO(): https://github.com/0xPolygonZero/zk_evm/issues/314 find a better place for this +publish = false # TODO(): https://github.com/0xPolygonZero/zk_evm/issues/314 find a better place for this edition.workspace = true license.workspace = true repository.workspace = true @@ -10,5 +10,5 @@ keywords.workspace = true categories.workspace = true [dependencies] -alloy = {workspace = true } +alloy = { workspace = true } __compat_primitive_types = { workspace = true } diff --git a/docs/arithmetization/cpulogic.tex b/docs/arithmetization/cpulogic.tex index 318e2db48..4f68faa7d 100644 --- a/docs/arithmetization/cpulogic.tex +++ b/docs/arithmetization/cpulogic.tex @@ -78,8 +78,6 @@ \subsection{Privileged instructions} \item[0x21.] \texttt{KECCAK\_GENERAL}. Pops 2 elements (a Memory address, followed by a length $\ell$) and pushes the hash of the memory portion starting at the constructed address and of length $\ell$. It is similar to KECCAK256 (0x20) instruction, but can be applied to any memory section (i.e. even privileged ones). - \item[0x49.] \texttt{PROVER\_INPUT}. Pushes a single prover input onto the stack. - \item[0xC0-0xDF.] \texttt{MSTORE\_32BYTES}. Pops 2 elements from the stack (a Memory address, and then a value), and pushes a new address' onto the stack. The value is being decomposed into bytes and written to memory, starting from the fetched address. The new address being pushed is computed as the initial address + the length of the byte sequence being written to memory. Note that similarly to PUSH (0x60-0x7F) instructions, there are 32 MSTORE\_32BYTES instructions, each @@ -87,6 +85,8 @@ \subsection{Privileged instructions} result in the integer being truncated. On the other hand, specifying a length $\ell$ greater than the byte size of the value being written will result in padding with zeroes. This process is heavily used when resetting memory sections (by calling MSTORE\_32BYTES\_32 with the value 0). + \item[0xEE.] \texttt{PROVER\_INPUT}. Pushes a single prover input onto the stack. + \item[0xF6.] \texttt{GET\_CONTEXT}. Pushes the current context onto the stack. The kernel always has context 0. \item[0xF7.] \texttt{SET\_CONTEXT}. Pops the top element of the stack and updates the current context to this value. It is usually used when calling another contract or precompile, diff --git a/evm_arithmetization/Cargo.toml b/evm_arithmetization/Cargo.toml index 8d98c214b..45e9ccb8f 100644 --- a/evm_arithmetization/Cargo.toml +++ b/evm_arithmetization/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "evm_arithmetization" description = "Implementation of STARKs for the Ethereum Virtual Machine" -version = "0.2.0" +version = "0.4.0" authors = [ - "Daniel Lubarov ", - "William Borgeaud ", + "Daniel Lubarov ", + "William Borgeaud ", ] readme = "README.md" categories = ["cryptography"] @@ -38,6 +38,7 @@ rand_chacha = { workspace = true } rlp = { workspace = true } rlp-derive = { workspace = true } serde = { workspace = true, features = ["derive"] } +sha2 = { workspace = true } static_assertions = { workspace = true } hashbrown = { workspace = true } tiny-keccak = { workspace = true } @@ -51,15 +52,14 @@ zk_evm_proc_macro = { workspace = true } criterion = { workspace = true } hex = { workspace = true } ripemd = { workspace = true } -sha2 = { workspace = true } [features] default = ["parallel"] asmtools = ["hex"] parallel = [ - "plonky2/parallel", - "plonky2_maybe_rayon/parallel", - "starky/parallel", + "plonky2/parallel", + "plonky2_maybe_rayon/parallel", + "starky/parallel", ] [[bin]] diff --git a/evm_arithmetization/README.md b/evm_arithmetization/README.md index c3593e77d..1565bffa0 100644 --- a/evm_arithmetization/README.md +++ b/evm_arithmetization/README.md @@ -1,6 +1,6 @@ # Provable Stateless ZK-EVM -Included here is an implementation of a stateless, recursive ZK-EVM client implemented using Plonky2. It currently supports the full Merkle-Patricia Trie and has all Shanghai opcodes implemented. +Included here is an implementation of a stateless, recursive ZK-EVM client implemented using Plonky2. It currently supports the full Merkle-Patricia Trie and has all Cancun opcodes implemented. ## Performance @@ -10,7 +10,8 @@ Furthermore the implementation itself is highly optimized to provide fast provin ## Ethereum Compatibility -The aim of this module is to initially provide full ethereum compatibility. Today, all [EVM tests](https://github.com/0xPolygonZero/evm-tests) for the Shanghai hardfork are implemented. Work is progressing on supporting the upcoming [Cancun](https://github.com/0xPolygonZero/plonky2/labels/cancun) EVM changes. Furthermore, this prover uses the full ethereum state tree and hashing modes. +The aim of this module is to initially provide full Ethereum compatibility. +It is currently fully [Cancun](https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/cancun.md) HF compatible. ## Audits diff --git a/evm_arithmetization/benches/fibonacci_25m_gas.rs b/evm_arithmetization/benches/fibonacci_25m_gas.rs index d27b7e5ce..9959acbc1 100644 --- a/evm_arithmetization/benches/fibonacci_25m_gas.rs +++ b/evm_arithmetization/benches/fibonacci_25m_gas.rs @@ -16,6 +16,11 @@ use evm_arithmetization::generation::mpt::{AccountRlp, LegacyReceiptRlp}; use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; use evm_arithmetization::prover::testing::simulate_execution; +use evm_arithmetization::testing_utils::{ + beacon_roots_account_nibbles, beacon_roots_contract_from_storage, ger_account_nibbles, + preinitialized_state_and_storage_tries, update_beacon_roots_account_storage, + GLOBAL_EXIT_ROOT_ACCOUNT, +}; use evm_arithmetization::Node; use hex_literal::hex; use keccak_hash::keccak; @@ -83,18 +88,19 @@ fn prepare_setup() -> anyhow::Result { code_hash, }; - let mut state_trie_before = HashedPartialTrie::from(Node::Empty); + let (mut state_trie_before, mut storage_tries) = preinitialized_state_and_storage_tries()?; + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); state_trie_before.insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec())?; state_trie_before.insert(to_nibbles, rlp::encode(&to_account_before).to_vec())?; + storage_tries.push((sender_state_key, Node::Empty.into())); + storage_tries.push((to_state_key, Node::Empty.into())); + let tries_before = TrieInputs { state_trie: state_trie_before, transactions_trie: Node::Empty.into(), receipts_trie: Node::Empty.into(), - storage_tries: vec![ - (sender_state_key, Node::Empty.into()), - (to_state_key, Node::Empty.into()), - ], + storage_tries, }; let gas_used = U256::from(0x17d7840_u32); @@ -104,17 +110,16 @@ fn prepare_setup() -> anyhow::Result { let block_metadata = BlockMetadata { block_beneficiary: Address::from(sender), - block_difficulty: 0x0.into(), block_number: 0x176.into(), block_chain_id: 0x301824.into(), block_timestamp: 0x664e63af.into(), block_gaslimit: 0x1c9c380.into(), block_gas_used: gas_used, - block_bloom: [0.into(); 8], block_base_fee: 0x11.into(), block_random: H256(hex!( "388bd2892c01ab13e22f713316cc2b5d3c3d963e1426c25a80c7878a1815f889" )), + ..Default::default() }; let mut contract_code = HashMap::new(); @@ -133,6 +138,21 @@ fn prepare_setup() -> anyhow::Result { .insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec())?; expected_state_trie_after.insert(to_nibbles, rlp::encode(&to_account_after).to_vec())?; + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + )?; + let beacon_roots_account = beacon_roots_contract_from_storage(&beacon_roots_account_storage); + expected_state_trie_after.insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + )?; + expected_state_trie_after.insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + )?; + let receipt_0 = LegacyReceiptRlp { status: false, cum_gas_used: gas_used, @@ -165,6 +185,7 @@ fn prepare_setup() -> anyhow::Result { checkpoint_state_trie_root: H256(hex!( "fe07ff6d1ab215df17884b89112ccf2373597285a56c5902150313ad1a53ee57" )), + global_exit_roots: vec![], block_metadata, txn_number_before: 0.into(), gas_used_before: 0.into(), diff --git a/evm_arithmetization/src/arithmetic/addcy.rs b/evm_arithmetization/src/arithmetic/addcy.rs index 80123666e..7874c3491 100644 --- a/evm_arithmetization/src/arithmetic/addcy.rs +++ b/evm_arithmetization/src/arithmetic/addcy.rs @@ -171,7 +171,6 @@ pub(crate) fn eval_packed_generic( eval_packed_generic_addcy(yield_constr, is_gt, in0, aux, in1, out, false); } -#[allow(clippy::needless_collect)] pub(crate) fn eval_ext_circuit_addcy, const D: usize>( builder: &mut CircuitBuilder, yield_constr: &mut RecursiveConstraintConsumer, diff --git a/evm_arithmetization/src/cpu/columns/general.rs b/evm_arithmetization/src/cpu/columns/general.rs index 64b7e4ce5..9ce620078 100644 --- a/evm_arithmetization/src/cpu/columns/general.rs +++ b/evm_arithmetization/src/cpu/columns/general.rs @@ -21,7 +21,7 @@ impl CpuGeneralColumnsView { /// View of the columns used for exceptions: they are the exception code /// bits. SAFETY: Each view is a valid interpretation of the underlying /// array. - pub(crate) fn exception(&self) -> &CpuExceptionView { + pub(crate) const fn exception(&self) -> &CpuExceptionView { unsafe { &self.exception } } @@ -34,7 +34,7 @@ impl CpuGeneralColumnsView { /// View of the columns required for logic operations. /// SAFETY: Each view is a valid interpretation of the underlying array. - pub(crate) fn logic(&self) -> &CpuLogicView { + pub(crate) const fn logic(&self) -> &CpuLogicView { unsafe { &self.logic } } @@ -46,7 +46,7 @@ impl CpuGeneralColumnsView { /// View of the columns required for jump operations. /// SAFETY: Each view is a valid interpretation of the underlying array. - pub(crate) fn jumps(&self) -> &CpuJumpsView { + pub(crate) const fn jumps(&self) -> &CpuJumpsView { unsafe { &self.jumps } } @@ -58,7 +58,7 @@ impl CpuGeneralColumnsView { /// View of the columns required for shift operations. /// SAFETY: Each view is a valid interpretation of the underlying array. - pub(crate) fn shift(&self) -> &CpuShiftView { + pub(crate) const fn shift(&self) -> &CpuShiftView { unsafe { &self.shift } } @@ -70,7 +70,7 @@ impl CpuGeneralColumnsView { /// View of the columns required for the stack top. /// SAFETY: Each view is a valid interpretation of the underlying array. - pub(crate) fn stack(&self) -> &CpuStackView { + pub(crate) const fn stack(&self) -> &CpuStackView { unsafe { &self.stack } } @@ -82,7 +82,7 @@ impl CpuGeneralColumnsView { /// View of the columns required for the push operation. /// SAFETY: Each view is a valid interpretation of the underlying array. - pub(crate) fn push(&self) -> &CpuPushView { + pub(crate) const fn push(&self) -> &CpuPushView { unsafe { &self.push } } @@ -94,7 +94,6 @@ impl CpuGeneralColumnsView { } impl PartialEq for CpuGeneralColumnsView { - #[allow(clippy::unconditional_recursion)] // false positive fn eq(&self, other: &Self) -> bool { let self_arr: &[T; NUM_SHARED_COLUMNS] = self.borrow(); let other_arr: &[T; NUM_SHARED_COLUMNS] = other.borrow(); @@ -212,8 +211,8 @@ pub(crate) struct CpuPushView { pub(crate) const NUM_SHARED_COLUMNS: usize = size_of::>(); const_assert!(NUM_SHARED_COLUMNS == size_of::>()); -/// Assert that each field of the [`CpuGeneralColumnsView`] union contains the -/// correct number of columns. +// Assert that each field of the [`CpuGeneralColumnsView`] union contains the +// correct number of columns. const_assert!(size_of::>() == NUM_SHARED_COLUMNS); const_assert!(size_of::>() == NUM_SHARED_COLUMNS); const_assert!(size_of::>() == NUM_SHARED_COLUMNS); diff --git a/evm_arithmetization/src/cpu/columns/mod.rs b/evm_arithmetization/src/cpu/columns/mod.rs index 661c4d18f..5c005cde9 100644 --- a/evm_arithmetization/src/cpu/columns/mod.rs +++ b/evm_arithmetization/src/cpu/columns/mod.rs @@ -1,9 +1,6 @@ -use core::borrow::{Borrow, BorrowMut}; use core::fmt::Debug; use core::mem::{size_of, transmute}; -use core::ops::{Index, IndexMut}; -use plonky2::field::types::Field; use zk_evm_proc_macro::Columns; use crate::cpu::columns::general::CpuGeneralColumnsView; diff --git a/evm_arithmetization/src/cpu/columns/ops.rs b/evm_arithmetization/src/cpu/columns/ops.rs index 9963215f6..c3d1281a6 100644 --- a/evm_arithmetization/src/cpu/columns/ops.rs +++ b/evm_arithmetization/src/cpu/columns/ops.rs @@ -1,7 +1,3 @@ -use core::borrow::{Borrow, BorrowMut}; -use core::mem::{size_of, transmute}; -use core::ops::{Deref, DerefMut}; - use zk_evm_proc_macro::{Columns, DerefColumns}; /// Structure representing the flags for the various opcodes. @@ -46,7 +42,3 @@ pub(crate) struct OpsColumnsView { /// Flag for exceptions. pub exception: T, } - -/// Number of columns in Cpu Stark. -/// `u8` is guaranteed to have a `size_of` of 1. -pub(crate) const NUM_OPS_COLUMNS: usize = size_of::>(); diff --git a/evm_arithmetization/src/cpu/control_flow.rs b/evm_arithmetization/src/cpu/control_flow.rs index a88576456..ba4e71890 100644 --- a/evm_arithmetization/src/cpu/control_flow.rs +++ b/evm_arithmetization/src/cpu/control_flow.rs @@ -72,7 +72,7 @@ pub(crate) fn eval_packed_generic( .constraint_transition(is_native_instruction * (lv.is_kernel_mode - nv.is_kernel_mode)); // Apply the same checks as before, for PROVER_INPUT. - let is_prover_input: P = lv.op.push_prover_input * (lv.opcode_bits[5] - P::ONES); + let is_prover_input: P = lv.op.push_prover_input * lv.opcode_bits[7]; yield_constr.constraint_transition( is_prover_input * (lv.program_counter - nv.program_counter + P::ONES), ); @@ -136,11 +136,7 @@ pub(crate) fn eval_ext_circuit, const D: usize>( yield_constr.constraint_transition(builder, kernel_constr); // Same constraints as before, for PROVER_INPUT. - let is_prover_input = builder.mul_sub_extension( - lv.op.push_prover_input, - lv.opcode_bits[5], - lv.op.push_prover_input, - ); + let is_prover_input = builder.mul_extension(lv.op.push_prover_input, lv.opcode_bits[7]); let pc_constr = builder.mul_add_extension(is_prover_input, pc_diff, is_prover_input); yield_constr.constraint_transition(builder, pc_constr); let kernel_constr = builder.mul_extension(is_prover_input, kernel_diff); diff --git a/evm_arithmetization/src/cpu/cpu_stark.rs b/evm_arithmetization/src/cpu/cpu_stark.rs index 55a3bf2d4..21c61f1e6 100644 --- a/evm_arithmetization/src/cpu/cpu_stark.rs +++ b/evm_arithmetization/src/cpu/cpu_stark.rs @@ -109,10 +109,7 @@ pub(crate) fn ctl_arithmetic_base_rows() -> TableWithColumns { // (also `ops` is used as the operation filter). The list of // operations includes binary operations which will simply ignore // the third input. - let col_bit = Column::linear_combination_with_constant( - vec![(COL_MAP.opcode_bits[5], F::NEG_ONE)], - F::ONE, - ); + let col_bit = Column::single(COL_MAP.opcode_bits[7]); TableWithColumns::new( *Table::Cpu, columns, diff --git a/evm_arithmetization/src/cpu/decode.rs b/evm_arithmetization/src/cpu/decode.rs index b54a0c397..0dfb65be5 100644 --- a/evm_arithmetization/src/cpu/decode.rs +++ b/evm_arithmetization/src/cpu/decode.rs @@ -208,12 +208,11 @@ pub(crate) fn eval_packed_generic( // Manually check PUSH and PROVER_INPUT. // PROVER_INPUT is a kernel-only instruction, but not PUSH. - let push_prover_input_constr = (opcode - P::Scalar::from_canonical_usize(0x49_usize)) + let push_prover_input_constr = (opcode - P::Scalar::from_canonical_usize(0xee_usize)) * (opcode_high_three - P::Scalar::from_canonical_usize(0x60_usize)) * lv.op.push_prover_input; yield_constr.constraint(push_prover_input_constr); - let prover_input_constr = - lv.op.push_prover_input * (lv.opcode_bits[5] - P::ONES) * (kernel_mode - P::ONES); + let prover_input_constr = lv.op.push_prover_input * lv.opcode_bits[7] * (kernel_mode - P::ONES); yield_constr.constraint(prover_input_constr); } @@ -409,8 +408,8 @@ pub(crate) fn eval_ext_circuit, const D: usize>( // Manually check PUSH and PROVER_INPUT. // PROVER_INPUT is a kernel-only instruction, but not PUSH. let prover_input_opcode = - builder.constant_extension(F::Extension::from_canonical_usize(0x49usize)); - let push_opcodes = builder.constant_extension(F::Extension::from_canonical_usize(0x60usize)); + builder.constant_extension(F::Extension::from_canonical_usize(0xee_usize)); + let push_opcodes = builder.constant_extension(F::Extension::from_canonical_usize(0x60_usize)); let push_constr = builder.sub_extension(opcode_high_three, push_opcodes); let prover_input_constr = builder.sub_extension(opcode, prover_input_opcode); @@ -418,11 +417,8 @@ pub(crate) fn eval_ext_circuit, const D: usize>( let push_prover_input_constr = builder.mul_many_extension([lv.op.push_prover_input, prover_input_constr, push_constr]); yield_constr.constraint(builder, push_prover_input_constr); - let prover_input_filter = builder.mul_sub_extension( - lv.op.push_prover_input, - lv.opcode_bits[5], - lv.op.push_prover_input, - ); + + let prover_input_filter = builder.mul_extension(lv.op.push_prover_input, lv.opcode_bits[7]); let constr = builder.mul_sub_extension(kernel_mode, prover_input_filter, prover_input_filter); yield_constr.constraint(builder, constr); } diff --git a/evm_arithmetization/src/cpu/gas.rs b/evm_arithmetization/src/cpu/gas.rs index 69ebf2c51..c3ec89089 100644 --- a/evm_arithmetization/src/cpu/gas.rs +++ b/evm_arithmetization/src/cpu/gas.rs @@ -114,11 +114,11 @@ fn eval_packed_accumulate( ); // For PROVER_INPUT and PUSH operations. - // PUSH operations are differentiated from PROVER_INPUT by their 6th bit set to + // PUSH operations are differentiated from PROVER_INPUT by their 8th bit set to // 1. - let push_prover_input_gas_cost = lv.opcode_bits[5] + let push_prover_input_gas_cost = (P::ONES - lv.opcode_bits[7]) * P::Scalar::from_canonical_u32(G_VERYLOW.unwrap()) - + (P::ONES - lv.opcode_bits[5]) * P::Scalar::from_canonical_u32(KERNEL_ONLY_INSTR.unwrap()); + + lv.opcode_bits[7] * P::Scalar::from_canonical_u32(KERNEL_ONLY_INSTR.unwrap()); yield_constr .constraint_transition(lv.op.push_prover_input * (gas_diff - push_prover_input_gas_cost)); } @@ -282,13 +282,13 @@ fn eval_ext_circuit_accumulate, const D: usize>( yield_constr.constraint_transition(builder, constr); // For PROVER_INPUT and PUSH operations. - // PUSH operations are differentiated from PROVER_INPUT by their 6th bit set to + // PUSH operations are differentiated from PROVER_INPUT by their 8th bit set to // 1. let push_prover_input_gas_cost = builder.arithmetic_extension( - F::from_canonical_u32(G_VERYLOW.unwrap()) - - F::from_canonical_u32(KERNEL_ONLY_INSTR.unwrap()), - F::from_canonical_u32(KERNEL_ONLY_INSTR.unwrap()), - lv.opcode_bits[5], + F::from_canonical_u32(KERNEL_ONLY_INSTR.unwrap()) + - F::from_canonical_u32(G_VERYLOW.unwrap()), + F::from_canonical_u32(G_VERYLOW.unwrap()), + lv.opcode_bits[7], one, one, ); diff --git a/evm_arithmetization/src/cpu/kernel/aggregator.rs b/evm_arithmetization/src/cpu/kernel/aggregator.rs index b6b6b293c..746181dfe 100644 --- a/evm_arithmetization/src/cpu/kernel/aggregator.rs +++ b/evm_arithmetization/src/cpu/kernel/aggregator.rs @@ -7,168 +7,180 @@ use super::assembler::{assemble, Kernel}; use crate::cpu::kernel::constants::evm_constants; use crate::cpu::kernel::parser::parse; -pub static KERNEL: Lazy = Lazy::new(combined_kernel); +pub const NUMBER_KERNEL_FILES: usize = 156; -pub(crate) fn combined_kernel() -> Kernel { - let files = vec![ - "global jumped_to_0: PANIC", - "global jumped_to_1: PANIC", - include_str!("asm/bignum/add.asm"), - include_str!("asm/bignum/addmul.asm"), - include_str!("asm/bignum/cmp.asm"), - include_str!("asm/bignum/isone.asm"), - include_str!("asm/bignum/iszero.asm"), - include_str!("asm/bignum/modexp.asm"), - include_str!("asm/bignum/modmul.asm"), - include_str!("asm/bignum/mul.asm"), - include_str!("asm/bignum/shr.asm"), - include_str!("asm/bignum/util.asm"), - include_str!("asm/core/call.asm"), - include_str!("asm/core/call_gas.asm"), - include_str!("asm/core/create.asm"), - include_str!("asm/core/create_addresses.asm"), - include_str!("asm/core/create_contract_account.asm"), - include_str!("asm/core/exception.asm"), - include_str!("asm/core/create_receipt.asm"), - include_str!("asm/core/gas.asm"), - include_str!("asm/core/intrinsic_gas.asm"), - include_str!("asm/core/jumpdest_analysis.asm"), - include_str!("asm/core/nonce.asm"), - include_str!("asm/core/process_txn.asm"), - include_str!("asm/core/syscall.asm"), - include_str!("asm/core/terminate.asm"), - include_str!("asm/core/transfer.asm"), - include_str!("asm/core/util.asm"), - include_str!("asm/core/access_lists.asm"), - include_str!("asm/core/log.asm"), - include_str!("asm/core/selfdestruct_list.asm"), - include_str!("asm/core/touched_addresses.asm"), - include_str!("asm/core/withdrawals.asm"), - include_str!("asm/core/precompiles/main.asm"), - include_str!("asm/core/precompiles/ecrec.asm"), - include_str!("asm/core/precompiles/sha256.asm"), - include_str!("asm/core/precompiles/rip160.asm"), - include_str!("asm/core/precompiles/id.asm"), - include_str!("asm/core/precompiles/expmod.asm"), - include_str!("asm/core/precompiles/bn_add.asm"), - include_str!("asm/core/precompiles/bn_mul.asm"), - include_str!("asm/core/precompiles/snarkv.asm"), - include_str!("asm/core/precompiles/blake2_f.asm"), - include_str!("asm/curve/bls381/util.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/constants.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/curve_add.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/curve_mul.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/final_exponent.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/glv.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/miller_loop.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/msm.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/pairing.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/precomputation.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/twisted_curve_add.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/twisted_curve_checks.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/twisted_curve_endomorphism.asm"), - include_str!("asm/curve/bn254/curve_arithmetic/twisted_curve_mul.asm"), - include_str!("asm/curve/bn254/field_arithmetic/degree_6_mul.asm"), - include_str!("asm/curve/bn254/field_arithmetic/degree_12_mul.asm"), - include_str!("asm/curve/bn254/field_arithmetic/frobenius.asm"), - include_str!("asm/curve/bn254/field_arithmetic/inverse.asm"), - include_str!("asm/curve/bn254/field_arithmetic/util.asm"), - include_str!("asm/curve/common.asm"), - include_str!("asm/curve/secp256k1/curve_add.asm"), - include_str!("asm/curve/secp256k1/ecrecover.asm"), - include_str!("asm/curve/secp256k1/inverse_scalar.asm"), - include_str!("asm/curve/secp256k1/lift_x.asm"), - include_str!("asm/curve/secp256k1/moddiv.asm"), - include_str!("asm/curve/secp256k1/glv.asm"), - include_str!("asm/curve/secp256k1/precomputation.asm"), - include_str!("asm/curve/wnaf.asm"), - include_str!("asm/exp.asm"), - include_str!("asm/halt.asm"), - include_str!("asm/hash/blake2/addresses.asm"), - include_str!("asm/hash/blake2/blake2_f.asm"), - // include_str!("asm/hash/blake2/blake2b.asm"), - // include_str!("asm/hash/blake2/compression.asm"), - include_str!("asm/hash/blake2/g_functions.asm"), - include_str!("asm/hash/blake2/hash.asm"), - include_str!("asm/hash/blake2/iv.asm"), - include_str!("asm/hash/blake2/ops.asm"), - include_str!("asm/hash/blake2/permutations.asm"), - include_str!("asm/hash/ripemd/box.asm"), - include_str!("asm/hash/ripemd/compression.asm"), - include_str!("asm/hash/ripemd/constants.asm"), - include_str!("asm/hash/ripemd/functions.asm"), - include_str!("asm/hash/ripemd/main.asm"), - include_str!("asm/hash/ripemd/update.asm"), - include_str!("asm/hash/sha2/compression.asm"), - include_str!("asm/hash/sha2/constants.asm"), - include_str!("asm/hash/sha2/main.asm"), - include_str!("asm/hash/sha2/message_schedule.asm"), - include_str!("asm/hash/sha2/ops.asm"), - include_str!("asm/hash/sha2/temp_words.asm"), - include_str!("asm/hash/sha2/write_length.asm"), - include_str!("asm/main.asm"), - include_str!("asm/memory/core.asm"), - include_str!("asm/memory/memcpy.asm"), - include_str!("asm/memory/memset.asm"), - include_str!("asm/memory/metadata.asm"), - include_str!("asm/memory/packing.asm"), - include_str!("asm/memory/syscalls.asm"), - include_str!("asm/memory/txn_fields.asm"), - include_str!("asm/mpt/accounts.asm"), - include_str!("asm/mpt/delete/delete.asm"), - include_str!("asm/mpt/delete/delete_branch.asm"), - include_str!("asm/mpt/delete/delete_extension.asm"), - include_str!("asm/mpt/hash/hash.asm"), - include_str!("asm/mpt/hash/hash_trie_specific.asm"), - include_str!("asm/mpt/hex_prefix.asm"), - include_str!("asm/mpt/insert/insert.asm"), - include_str!("asm/mpt/insert/insert_extension.asm"), - include_str!("asm/mpt/insert/insert_leaf.asm"), - include_str!("asm/mpt/insert/insert_trie_specific.asm"), - include_str!("asm/mpt/read.asm"), - include_str!("asm/mpt/storage/storage_read.asm"), - include_str!("asm/mpt/storage/storage_write.asm"), - include_str!("asm/mpt/util.asm"), - include_str!("asm/rlp/decode.asm"), - include_str!("asm/rlp/encode.asm"), - include_str!("asm/rlp/encode_rlp_scalar.asm"), - include_str!("asm/rlp/encode_rlp_string.asm"), - include_str!("asm/rlp/increment_bounded_rlp.asm"), - include_str!("asm/rlp/num_bytes.asm"), - include_str!("asm/rlp/read_to_memory.asm"), - include_str!("asm/shift.asm"), - include_str!("asm/signed.asm"), - include_str!("asm/journal/journal.asm"), - include_str!("asm/journal/account_loaded.asm"), - include_str!("asm/journal/account_destroyed.asm"), - include_str!("asm/journal/account_touched.asm"), - include_str!("asm/journal/balance_transfer.asm"), - include_str!("asm/journal/nonce_change.asm"), - include_str!("asm/journal/storage_change.asm"), - include_str!("asm/journal/storage_loaded.asm"), - include_str!("asm/journal/code_change.asm"), - include_str!("asm/journal/refund.asm"), - include_str!("asm/journal/account_created.asm"), - include_str!("asm/journal/revert.asm"), - include_str!("asm/journal/log.asm"), - include_str!("asm/transactions/common_decoding.asm"), - include_str!("asm/transactions/router.asm"), - include_str!("asm/transactions/type_0.asm"), - include_str!("asm/transactions/type_1.asm"), - include_str!("asm/transactions/type_2.asm"), - include_str!("asm/util/assertions.asm"), - include_str!("asm/util/basic_macros.asm"), - include_str!("asm/util/keccak.asm"), - include_str!("asm/util/math.asm"), - include_str!("asm/account_code.asm"), - include_str!("asm/balance.asm"), - include_str!("asm/bloom_filter.asm"), - ]; +pub static KERNEL_FILES: [&str; NUMBER_KERNEL_FILES] = [ + "global jumped_to_0: PANIC", + "global jumped_to_1: PANIC", + include_str!("asm/beacon_roots.asm"), + include_str!("asm/bignum/add.asm"), + include_str!("asm/bignum/addmul.asm"), + include_str!("asm/bignum/cmp.asm"), + include_str!("asm/bignum/isone.asm"), + include_str!("asm/bignum/iszero.asm"), + include_str!("asm/bignum/modexp.asm"), + include_str!("asm/bignum/modmul.asm"), + include_str!("asm/bignum/mul.asm"), + include_str!("asm/bignum/shr.asm"), + include_str!("asm/bignum/util.asm"), + include_str!("asm/core/call.asm"), + include_str!("asm/core/call_gas.asm"), + include_str!("asm/core/create.asm"), + include_str!("asm/core/create_addresses.asm"), + include_str!("asm/core/create_contract_account.asm"), + include_str!("asm/core/exception.asm"), + include_str!("asm/core/create_receipt.asm"), + include_str!("asm/core/gas.asm"), + include_str!("asm/core/intrinsic_gas.asm"), + include_str!("asm/core/jumpdest_analysis.asm"), + include_str!("asm/core/nonce.asm"), + include_str!("asm/core/process_txn.asm"), + include_str!("asm/core/syscall.asm"), + include_str!("asm/core/terminate.asm"), + include_str!("asm/core/transfer.asm"), + include_str!("asm/core/util.asm"), + include_str!("asm/core/access_lists.asm"), + include_str!("asm/core/log.asm"), + include_str!("asm/core/selfdestruct_list.asm"), + include_str!("asm/core/touched_addresses.asm"), + include_str!("asm/core/withdrawals.asm"), + include_str!("asm/core/precompiles/main.asm"), + include_str!("asm/core/precompiles/ecrec.asm"), + include_str!("asm/core/precompiles/sha256.asm"), + include_str!("asm/core/precompiles/rip160.asm"), + include_str!("asm/core/precompiles/id.asm"), + include_str!("asm/core/precompiles/expmod.asm"), + include_str!("asm/core/precompiles/bn_add.asm"), + include_str!("asm/core/precompiles/bn_mul.asm"), + include_str!("asm/core/precompiles/snarkv.asm"), + include_str!("asm/core/precompiles/blake2_f.asm"), + include_str!("asm/core/precompiles/kzg_peval.asm"), + include_str!("asm/curve/bls381/util.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/constants.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/curve_add.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/curve_mul.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/final_exponent.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/glv.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/miller_loop.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/msm.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/pairing.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/precomputation.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/twisted_curve_add.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/twisted_curve_checks.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/twisted_curve_endomorphism.asm"), + include_str!("asm/curve/bn254/curve_arithmetic/twisted_curve_mul.asm"), + include_str!("asm/curve/bn254/field_arithmetic/degree_6_mul.asm"), + include_str!("asm/curve/bn254/field_arithmetic/degree_12_mul.asm"), + include_str!("asm/curve/bn254/field_arithmetic/frobenius.asm"), + include_str!("asm/curve/bn254/field_arithmetic/inverse.asm"), + include_str!("asm/curve/bn254/field_arithmetic/util.asm"), + include_str!("asm/curve/common.asm"), + include_str!("asm/curve/secp256k1/curve_add.asm"), + include_str!("asm/curve/secp256k1/ecrecover.asm"), + include_str!("asm/curve/secp256k1/inverse_scalar.asm"), + include_str!("asm/curve/secp256k1/lift_x.asm"), + include_str!("asm/curve/secp256k1/moddiv.asm"), + include_str!("asm/curve/secp256k1/glv.asm"), + include_str!("asm/curve/secp256k1/precomputation.asm"), + include_str!("asm/curve/wnaf.asm"), + include_str!("asm/exp.asm"), + include_str!("asm/halt.asm"), + include_str!("asm/hash/blake2/addresses.asm"), + include_str!("asm/hash/blake2/blake2_f.asm"), + // include_str!("asm/hash/blake2/blake2b.asm"), + // include_str!("asm/hash/blake2/compression.asm"), + include_str!("asm/hash/blake2/g_functions.asm"), + include_str!("asm/hash/blake2/hash.asm"), + include_str!("asm/hash/blake2/iv.asm"), + include_str!("asm/hash/blake2/ops.asm"), + include_str!("asm/hash/blake2/permutations.asm"), + include_str!("asm/hash/ripemd/box.asm"), + include_str!("asm/hash/ripemd/compression.asm"), + include_str!("asm/hash/ripemd/constants.asm"), + include_str!("asm/hash/ripemd/functions.asm"), + include_str!("asm/hash/ripemd/main.asm"), + include_str!("asm/hash/ripemd/update.asm"), + include_str!("asm/hash/sha2/compression.asm"), + include_str!("asm/hash/sha2/constants.asm"), + include_str!("asm/hash/sha2/main.asm"), + include_str!("asm/hash/sha2/message_schedule.asm"), + include_str!("asm/hash/sha2/ops.asm"), + include_str!("asm/hash/sha2/temp_words.asm"), + include_str!("asm/hash/sha2/write_length.asm"), + include_str!("asm/main.asm"), + include_str!("asm/memory/core.asm"), + include_str!("asm/memory/memcpy.asm"), + include_str!("asm/memory/memset.asm"), + include_str!("asm/memory/metadata.asm"), + include_str!("asm/memory/packing.asm"), + include_str!("asm/memory/syscalls.asm"), + include_str!("asm/memory/txn_fields.asm"), + include_str!("asm/memory/transient_storage.asm"), + include_str!("asm/mpt/accounts.asm"), + include_str!("asm/mpt/delete/delete.asm"), + include_str!("asm/mpt/delete/delete_branch.asm"), + include_str!("asm/mpt/delete/delete_extension.asm"), + include_str!("asm/mpt/hash/hash.asm"), + include_str!("asm/mpt/hash/hash_trie_specific.asm"), + include_str!("asm/mpt/hex_prefix.asm"), + include_str!("asm/mpt/insert/insert.asm"), + include_str!("asm/mpt/insert/insert_extension.asm"), + include_str!("asm/mpt/insert/insert_leaf.asm"), + include_str!("asm/mpt/insert/insert_trie_specific.asm"), + include_str!("asm/mpt/read.asm"), + include_str!("asm/mpt/storage/storage_read.asm"), + include_str!("asm/mpt/storage/storage_write.asm"), + include_str!("asm/mpt/util.asm"), + include_str!("asm/rlp/decode.asm"), + include_str!("asm/rlp/encode.asm"), + include_str!("asm/rlp/encode_rlp_scalar.asm"), + include_str!("asm/rlp/encode_rlp_string.asm"), + include_str!("asm/rlp/increment_bounded_rlp.asm"), + include_str!("asm/rlp/num_bytes.asm"), + include_str!("asm/rlp/read_to_memory.asm"), + include_str!("asm/shift.asm"), + include_str!("asm/signed.asm"), + include_str!("asm/journal/journal.asm"), + include_str!("asm/journal/account_loaded.asm"), + include_str!("asm/journal/account_destroyed.asm"), + include_str!("asm/journal/account_touched.asm"), + include_str!("asm/journal/balance_transfer.asm"), + include_str!("asm/journal/nonce_change.asm"), + include_str!("asm/journal/storage_change.asm"), + include_str!("asm/journal/storage_loaded.asm"), + include_str!("asm/journal/code_change.asm"), + include_str!("asm/journal/refund.asm"), + include_str!("asm/journal/account_created.asm"), + include_str!("asm/journal/revert.asm"), + include_str!("asm/journal/log.asm"), + include_str!("asm/journal/transient_storage_change.asm"), + include_str!("asm/transactions/common_decoding.asm"), + include_str!("asm/transactions/router.asm"), + include_str!("asm/transactions/type_0.asm"), + include_str!("asm/transactions/type_1.asm"), + include_str!("asm/transactions/type_2.asm"), + include_str!("asm/transactions/type_3.asm"), + include_str!("asm/util/assertions.asm"), + include_str!("asm/util/basic_macros.asm"), + include_str!("asm/util/keccak.asm"), + include_str!("asm/util/math.asm"), + include_str!("asm/account_code.asm"), + include_str!("asm/balance.asm"), + include_str!("asm/bloom_filter.asm"), + include_str!("asm/global_exit_root.asm"), +]; + +pub static KERNEL: Lazy = Lazy::new(combined_kernel); +pub(crate) fn combined_kernel_from_files(files: [&str; N]) -> Kernel { let parsed_files = files.iter().map(|f| parse(f)).collect_vec(); assemble(parsed_files, evm_constants(), true) } +pub(crate) fn combined_kernel() -> Kernel { + combined_kernel_from_files(KERNEL_FILES) +} + #[cfg(test)] mod tests { use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; diff --git a/evm_arithmetization/src/cpu/kernel/asm/beacon_roots.asm b/evm_arithmetization/src/cpu/kernel/asm/beacon_roots.asm new file mode 100644 index 000000000..125c9d58b --- /dev/null +++ b/evm_arithmetization/src/cpu/kernel/asm/beacon_roots.asm @@ -0,0 +1,95 @@ +/// EIP-4788: Beacon block root in the EVM +/// +/// +/// *NOTE*: This will panic if one of the provided timestamps is zero. + +global set_beacon_root: + PUSH set_global_exit_roots + %timestamp + // stack: timestamp, retdest + PUSH @HISTORY_BUFFER_LENGTH + DUP2 + // stack: timestamp, 8191, timestamp, retdest + MOD + // stack: timestamp_idx, timestamp, retdest + PUSH write_beacon_roots_to_storage + %parent_beacon_block_root + // stack: calldata, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + DUP3 + %add_const(@HISTORY_BUFFER_LENGTH) + // stack: root_idx, calldata, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + + // If the calldata is zero, delete the slot from the storage trie. + DUP2 ISZERO %jumpi(delete_root_idx_slot) + +write_beacon_roots_to_storage: + // stack: slot, value, retdest + // First we write the value to MPT data, and get a pointer to it. + %get_trie_data_size + // stack: value_ptr, slot, value, retdest + SWAP2 + // stack: value, slot, value_ptr, retdest + %append_to_trie_data + // stack: slot, value_ptr, retdest + + // Next, call mpt_insert on the current account's storage root. + %stack (slot, value_ptr) -> (slot, value_ptr, after_beacon_roots_storage_insert) + %slot_to_storage_key + // stack: storage_key, value_ptr, after_beacon_roots_storage_insert, retdest + PUSH 64 // storage_key has 64 nibbles + %get_storage_trie(@BEACON_ROOTS_CONTRACT_STATE_KEY) + // stack: storage_root_ptr, 64, storage_key, value_ptr, after_beacon_roots_storage_insert, retdest + %jump(mpt_insert) + +after_beacon_roots_storage_insert: + // stack: new_storage_root_ptr, retdest + %get_account_data(@BEACON_ROOTS_CONTRACT_STATE_KEY) + // stack: account_ptr, new_storage_root_ptr, retdest + + // Update the copied account with our new storage root pointer. + %add_const(2) + // stack: account_storage_root_ptr_ptr, new_storage_root_ptr, retdest + %mstore_trie_data + JUMP + +delete_root_idx_slot: + // stack: root_idx, 0, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + PUSH after_root_idx_slot_delete + SWAP2 POP + // stack: root_idx, after_root_idx_slot_delete, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + %slot_to_storage_key + // stack: storage_key, after_root_idx_slot_delete, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + PUSH 64 // storage_key has 64 nibbles + %get_storage_trie(@BEACON_ROOTS_CONTRACT_STATE_KEY) + // stack: storage_root_ptr, 64, storage_key, after_root_idx_slot_delete, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + + // If the slot is empty (i.e. ptr defaulting to 0), skip the deletion. + DUP1 ISZERO %jumpi(skip_empty_slot) + + // stack: storage_root_ptr, 64, storage_key, after_root_idx_slot_delete, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + %stack (storage_root_ptr, nibbles, storage_key) -> (storage_root_ptr, nibbles, storage_key, checkpoint_delete_root_idx, storage_root_ptr, nibbles, storage_key) + %jump(mpt_read) +checkpoint_delete_root_idx: + // stack: value_ptr, storage_root_ptr, 64, storage_key, after_root_idx_slot_delete, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + // If the the storage key is not found (i.e. ptr defaulting to 0), skip the deletion. + ISZERO %jumpi(skip_empty_slot) + + // stack: storage_root_ptr, 64, storage_key, after_root_idx_slot_delete, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + %jump(mpt_delete) + +after_root_idx_slot_delete: + // stack: new_storage_root_ptr, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + %get_account_data(@BEACON_ROOTS_CONTRACT_STATE_KEY) + // stack: account_ptr, new_storage_root_ptr, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + + // Update the copied account with our new storage root pointer. + %add_const(2) + // stack: account_storage_root_ptr_ptr, new_storage_root_ptr, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + %mstore_trie_data + // stack: write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + JUMP + +skip_empty_slot: + // stack: 0, 64, storage_key, after_root_idx_slot_delete, write_beacon_roots_to_storage, timestamp_idx, timestamp, retdest + %pop4 + JUMP diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/create_contract_account.asm b/evm_arithmetization/src/cpu/kernel/asm/core/create_contract_account.asm index b45d45ca5..a614f9fa8 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/create_contract_account.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/create_contract_account.asm @@ -4,6 +4,7 @@ %macro create_contract_account // stack: address DUP1 %insert_touched_addresses + DUP1 %append_created_contracts DUP1 %mpt_read_state_trie // stack: existing_account_ptr, address // If the account doesn't exist, there's no need to check its balance or nonce, @@ -27,9 +28,11 @@ %%add_account: // stack: existing_balance, address - DUP2 %journal_add_account_created + DUP2 PUSH 1 + // stack: is_contract, address, existing_balance, address + %journal_add_account_created %%do_insert: - // stack: new_acct_value, address + // stack: new_acct_value=existing_balance, address // Write the new account's data to MPT data, and get a pointer to it. %get_trie_data_size // stack: account_ptr, new_acct_value, address @@ -60,3 +63,15 @@ %%end: // stack: status %endmacro + +%macro append_created_contracts + // stack: address + %mload_global_metadata(@GLOBAL_METADATA_CREATED_CONTRACTS_LEN) + // stack: nb_created_contracts, address + SWAP1 DUP2 + // stack: nb_created_contracts, address, nb_created_contracts + %mstore_kernel(@SEGMENT_CREATED_CONTRACTS) + // stack: nb_created_contracts + %increment + %mstore_global_metadata(@GLOBAL_METADATA_CREATED_CONTRACTS_LEN) +%endmacro diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/create_receipt.asm b/evm_arithmetization/src/cpu/kernel/asm/core/create_receipt.asm index bc6959483..742c4784c 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/create_receipt.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/create_receipt.asm @@ -60,6 +60,7 @@ process_receipt_after_bloom: // stack: first_txn_byte, receipt_ptr, payload_len, status, new_cum_gas, txn_nb, new_cum_gas, txn_nb, num_nibbles, retdest DUP1 %eq_const(1) %jumpi(receipt_nonzero_type) DUP1 %eq_const(2) %jumpi(receipt_nonzero_type) + DUP1 %eq_const(3) %jumpi(receipt_nonzero_type) // If we are here, we are dealing with a legacy transaction, and we do not need to write the type. POP @@ -128,7 +129,7 @@ process_receipt_logs_loop: MLOAD_GENERAL %append_to_trie_data // stack: addr_ptr, i, num_logs, receipt_ptr, txn_nb, new_cum_gas, txn_nb, num_nibbles, retdest - //Write num_topics. + // Write num_topics. %increment // stack: num_topics_ptr, i, num_logs, receipt_ptr, txn_nb, new_cum_gas, txn_nb, num_nibbles, retdest DUP1 diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/exception.asm b/evm_arithmetization/src/cpu/kernel/asm/core/exception.asm index a35754c57..9aae5983b 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/exception.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/exception.asm @@ -238,7 +238,9 @@ min_stack_len_for_opcode: BYTES 0 // 0x46, CHAINID BYTES 0 // 0x47, SELFBALANCE BYTES 0 // 0x48, BASEFEE - %rep 7 // 0x49-0x4f, invalid + BYTES 1 // 0x49, BLOBHASH + BYTES 0 // 0x4a, BLOBBASEFEE + %rep 5 // 0x4b-0x4f, invalid BYTES 0 %endrep @@ -254,9 +256,9 @@ min_stack_len_for_opcode: BYTES 0 // 0x59, MSIZE BYTES 0 // 0x5a, GAS BYTES 0 // 0x5b, JUMPDEST - %rep 3 // 0x5c-0x5e, invalid - BYTES 0 - %endrep + BYTES 0 // 0x5c, invalid + BYTES 0 // 0x5d, invalid + BYTES 3 // 0x5e, MCOPY %rep 33 // 0x5f-0x7f, PUSH0-PUSH32 BYTES 0 @@ -371,11 +373,11 @@ gas_cost_for_opcode: BYTES 0 %endrep - %rep 25 //0x30-0x48, only syscalls + %rep 26 //0x30-0x49, only syscalls BYTES 0 %endrep - %rep 7 // 0x49-0x4f, invalid + %rep 6 // 0x4a-0x4f, invalid BYTES 0 %endrep @@ -391,9 +393,9 @@ gas_cost_for_opcode: BYTES 0 // 0x59, MSIZE BYTES 0 // 0x5a, GAS BYTES @GAS_JUMPDEST // 0x5b, JUMPDEST - %rep 3 // 0x5c-0x5e, invalid - BYTES 0 - %endrep + BYTES 0 // 0x5c, TLOAD + BYTES 0 // 0x5d, TSTORE + BYTES 0 // 0x5e, MCOPY BYTES @GAS_BASE // 0x5f, PUSH0 %rep 32 // 0x60-0x7f, PUSH1-PUSH32 diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/jumpdest_analysis.asm b/evm_arithmetization/src/cpu/kernel/asm/core/jumpdest_analysis.asm index 49b59fe63..2d7c53ee2 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/jumpdest_analysis.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/jumpdest_analysis.asm @@ -134,7 +134,7 @@ global write_table_if_jumpdest: %jump_neq_const(0x5b, return) - //stack: jumpdest, ctx, proof_prefix_addr, retdest + // stack: jumpdest, ctx, proof_prefix_addr, retdest SWAP2 DUP1 // stack: proof_prefix_addr, proof_prefix_addr, ctx, jumpdest ISZERO diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/blake2_f.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/blake2_f.asm index b54cf3b16..8ad0e5c44 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/blake2_f.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/blake2_f.asm @@ -1,6 +1,6 @@ global precompile_blake2_f: - // stack: retdest, new_ctx, (old stack) - POP + // stack: address, retdest, new_ctx, (old stack) + %pop2 // stack: new_ctx, (old stack) %set_new_ctx_parent_pc(after_precompile) // stack: new_ctx, (old stack) @@ -35,7 +35,7 @@ global precompile_blake2_f: // stack: flag, flag, flag_addr, blake2_f_contd %gt_const(1) %jumpi(fault_exception) // Check flag < 2 (flag = 0 or flag = 1) - PUSH 0x100000000 // = 2^32 (is_kernel = true) + PUSH @IS_KERNEL // true // stack: kexit_info, flag, flag_addr, blake2_f_contd %stack () -> (@SEGMENT_CALLDATA, 4) diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/bn_add.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/bn_add.asm index 9554044ef..43414e859 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/bn_add.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/bn_add.asm @@ -9,7 +9,7 @@ global precompile_bn_add: %checkpoint // Checkpoint %increment_call_depth // stack: (empty) - PUSH 0x100000000 // = 2^32 (is_kernel = true) + PUSH @IS_KERNEL // true // stack: kexit_info %charge_gas_const(@BN_ADD_GAS) diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/bn_mul.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/bn_mul.asm index 5872e17f2..c29080166 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/bn_mul.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/bn_mul.asm @@ -9,7 +9,7 @@ global precompile_bn_mul: %checkpoint // Checkpoint %increment_call_depth // stack: (empty) - PUSH 0x100000000 // = 2^32 (is_kernel = true) + PUSH @IS_KERNEL // true // stack: kexit_info %charge_gas_const(@BN_MUL_GAS) diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/ecrec.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/ecrec.asm index 6c141aabc..4a27ca75b 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/ecrec.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/ecrec.asm @@ -9,7 +9,7 @@ global precompile_ecrec: %checkpoint // Checkpoint %increment_call_depth // stack: (empty) - PUSH 0x100000000 // = 2^32 (is_kernel = true) + PUSH @IS_KERNEL // true // stack: kexit_info %charge_gas_const(@ECREC_GAS) diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/expmod.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/expmod.asm index 6bff54ea4..1dc7841b5 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/expmod.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/expmod.asm @@ -163,7 +163,7 @@ global precompile_expmod: %checkpoint // Checkpoint %increment_call_depth // stack: (empty) - PUSH 0x100000000 // = 2^32 (is_kernel = true) + PUSH @IS_KERNEL // true // stack: kexit_info // Load l_B from i[0..32]. diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/id.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/id.asm index a606ef4a8..4e238822b 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/id.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/id.asm @@ -9,7 +9,7 @@ global precompile_id: %checkpoint // Checkpoint %increment_call_depth // stack: (empty) - PUSH 0x100000000 // = 2^32 (is_kernel = true) + PUSH @IS_KERNEL // true // stack: kexit_info %calldatasize diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/kzg_peval.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/kzg_peval.asm new file mode 100644 index 000000000..5a8a372e4 --- /dev/null +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/kzg_peval.asm @@ -0,0 +1,83 @@ +global precompile_kzg_peval: + // stack: retdest, new_ctx, (old stack) + POP + // stack: new_ctx, (old stack) + %set_new_ctx_parent_pc(after_precompile) + // stack: new_ctx, (old stack) + DUP1 + SET_CONTEXT + %checkpoint // Checkpoint + %increment_call_depth + // stack: (empty) + PUSH @IS_KERNEL // true + // stack: kexit_info + + %charge_gas_const(@KZG_PEVAL_GAS) + + // Load `versioned_hash | z | y | commitment | proof` from the call data using `MLOAD_32BYTES`. + // Note that `z` and `y` are padded 32 byte big endian values, and `commitment` and `proof` are + // both 48 bytes big-endian encoded values. + // stack: kexit_info + PUSH @SEGMENT_CALLDATA + GET_CONTEXT + %build_address_no_offset + // stack: base_addr, kexit_info + PUSH 16 + DUP2 %add_const(176) + MLOAD_32BYTES + // stack: proof_lo, base_addr, kexit_info + PUSH 32 + DUP3 %add_const(144) + MLOAD_32BYTES + // stack: proof_hi, proof_lo, base_addr, kexit_info + PUSH 16 + DUP4 %add_const(128) + MLOAD_32BYTES + // stack: comm_lo, proof_hi, proof_lo, base_addr, kexit_info + PUSH 32 + DUP5 %add_const(96) + MLOAD_32BYTES + // stack: comm_hi, comm_lo, proof_hi, proof_lo, base_addr, kexit_info + PUSH 32 + DUP6 %add_const(64) + MLOAD_32BYTES + // stack: y, comm_hi, comm_lo, proof_hi, proof_lo, base_addr, kexit_info + PUSH 32 + DUP7 %add_const(32) + MLOAD_32BYTES + // stack: z, y, comm_hi, comm_lo, proof_hi, proof_lo, base_addr, kexit_info + PUSH 32 + DUP8 // no offset + MLOAD_32BYTES + +global verify_kzg_proof: + // stack: versioned_hash, z, y, comm_hi, comm_lo, proof_hi, proof_lo, base_addr, kexit_info + PROVER_INPUT(kzg_point_eval) + DUP1 ISZERO + // stack: is_invalid, res_hi, versioned_hash, z, y, comm_hi, comm_lo, proof_hi, proof_lo, base_addr, kexit_info + %jumpi(fault_exception) + PROVER_INPUT(kzg_point_eval_2) + // stack: res_lo, res_hi, versioned_hash, z, y, comm_hi, comm_lo, proof_hi, proof_lo, base_addr, kexit_info + %stack (res_lo, res_hi, versioned_hash, z, y, comm_hi, comm_lo, proof_hi, proof_lo, base_addr, kexit_info) -> + (res_lo, res_hi, kexit_info) + +global store_kzg_verification: + // Store the result to the parent's return data using `mstore_unpacking`. + %mstore_parent_context_metadata(@CTX_METADATA_RETURNDATA_SIZE, 64) + %mload_context_metadata(@CTX_METADATA_PARENT_CONTEXT) + // stack: parent_ctx, res_lo, res_hi, kexit_info + PUSH @SEGMENT_RETURNDATA + %build_address_no_offset + // stack: addr, res_lo, res_hi, kexit_info + MSTORE_32BYTES_32 + // stack: addr', res_hi, kexit_info + MSTORE_32BYTES_32 + // stack: kexit_info + + POP + %leftover_gas + // stack: leftover_gas + PUSH 1 // success + %jump(terminate_common) + + SWAP1 diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/main.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/main.asm index b7c916e9c..0a1883491 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/main.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/main.asm @@ -10,15 +10,16 @@ global handle_precompiles: // stack: address, retdest, new_ctx, (old stack) - DUP1 %eq_const(@ECREC) %jumpi(precompile_ecrec) - DUP1 %eq_const(@SHA256) %jumpi(precompile_sha256) - DUP1 %eq_const(@RIP160) %jumpi(precompile_rip160) - DUP1 %eq_const(@ID) %jumpi(precompile_id) - DUP1 %eq_const(@EXPMOD) %jumpi(precompile_expmod) - DUP1 %eq_const(@BN_ADD) %jumpi(precompile_bn_add) - DUP1 %eq_const(@BN_MUL) %jumpi(precompile_bn_mul) - DUP1 %eq_const(@SNARKV) %jumpi(precompile_snarkv) - %eq_const(@BLAKE2_F) %jumpi(precompile_blake2_f) + DUP1 %eq_const(@ECREC) %jumpi(precompile_ecrec) + DUP1 %eq_const(@SHA256) %jumpi(precompile_sha256) + DUP1 %eq_const(@RIP160) %jumpi(precompile_rip160) + DUP1 %eq_const(@ID) %jumpi(precompile_id) + DUP1 %eq_const(@EXPMOD) %jumpi(precompile_expmod) + DUP1 %eq_const(@BN_ADD) %jumpi(precompile_bn_add) + DUP1 %eq_const(@BN_MUL) %jumpi(precompile_bn_mul) + DUP1 %eq_const(@SNARKV) %jumpi(precompile_snarkv) + DUP1 %eq_const(@BLAKE2_F) %jumpi(precompile_blake2_f) + %eq_const(@KZG_PEVAL) %jumpi(precompile_kzg_peval) // stack: retdest JUMP @@ -51,7 +52,7 @@ global handle_precompiles_from_eoa: // stack: addr, retdest %create_context // stack: new_ctx, addr, retdest - %non_intrinisic_gas %set_new_ctx_gas_limit + %non_intrinsic_gas %set_new_ctx_gas_limit // stack: new_ctx, addr, retdest // Set calldatasize and copy txn data to calldata. diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/rip160.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/rip160.asm index e57504961..7dfdb1f9b 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/rip160.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/rip160.asm @@ -9,7 +9,7 @@ global precompile_rip160: %checkpoint // Checkpoint %increment_call_depth // stack: (empty) - PUSH 0x100000000 // = 2^32 (is_kernel = true) + PUSH @IS_KERNEL // true // stack: kexit_info %calldatasize diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/sha256.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/sha256.asm index 3c926f0bb..44ce08159 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/sha256.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/sha256.asm @@ -9,7 +9,7 @@ global precompile_sha256: %checkpoint // Checkpoint %increment_call_depth // stack: (empty) - PUSH 0x100000000 // = 2^32 (is_kernel = true) + PUSH @IS_KERNEL // true // stack: kexit_info %calldatasize diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/snarkv.asm b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/snarkv.asm index 23ad9eb17..295acd029 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/snarkv.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/precompiles/snarkv.asm @@ -9,7 +9,7 @@ global precompile_snarkv: %checkpoint // Checkpoint %increment_call_depth // stack: (empty) - PUSH 0x100000000 // = 2^32 (is_kernel = true) + PUSH @IS_KERNEL // true // stack: kexit_info PUSH 192 %calldatasize DUP2 DUP2 diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/process_txn.asm b/evm_arithmetization/src/cpu/kernel/asm/core/process_txn.asm index 860edf592..c6d10eb40 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/process_txn.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/process_txn.asm @@ -95,6 +95,7 @@ global warm_precompiles: PUSH @BN_MUL %insert_accessed_addresses_no_return PUSH @SNARKV %insert_accessed_addresses_no_return PUSH @BLAKE2_F %insert_accessed_addresses_no_return + PUSH @KZG_PEVAL %insert_accessed_addresses_no_return // EIP-3651 global warm_coinbase: @@ -169,7 +170,7 @@ global process_contract_creation_txn_after_code_loaded: %mload_txn_field(@TXN_FIELD_VALUE) %set_new_ctx_value %set_new_ctx_parent_ctx %set_new_ctx_parent_pc(process_contract_creation_txn_after_constructor) - %non_intrinisic_gas %set_new_ctx_gas_limit + %non_intrinsic_gas %set_new_ctx_gas_limit // stack: new_ctx, address, retdest %enter_new_ctx @@ -257,7 +258,7 @@ global process_message_txn_insufficient_balance: global process_message_txn_return: // stack: retdest // Since no code was executed, the leftover gas is the non-intrinsic gas. - %non_intrinisic_gas + %non_intrinsic_gas DUP1 // stack: leftover_gas, leftover_gas, retdest %pay_coinbase_and_refund_sender @@ -282,7 +283,7 @@ global process_message_txn_code_loaded: %mload_txn_field(@TXN_FIELD_VALUE) %set_new_ctx_value %set_new_ctx_parent_ctx %set_new_ctx_parent_pc(process_message_txn_after_call) - %non_intrinisic_gas %set_new_ctx_gas_limit + %non_intrinsic_gas %set_new_ctx_gas_limit // stack: new_ctx, retdest // Set calldatasize and copy txn data to calldata. @@ -386,7 +387,7 @@ process_message_txn_fail: // stack: (empty) %endmacro -%macro non_intrinisic_gas +%macro non_intrinsic_gas // stack: (empty) %mload_txn_field(@TXN_FIELD_INTRINSIC_GAS) %mload_txn_field(@TXN_FIELD_GAS_LIMIT) diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/selfdestruct_list.asm b/evm_arithmetization/src/cpu/kernel/asm/core/selfdestruct_list.asm index 258f79405..05e158c34 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/selfdestruct_list.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/selfdestruct_list.asm @@ -14,7 +14,7 @@ %endmacro /// Remove one occurrence of the address from the list. -/// Panics if the address is not in the list. +/// No effect if the address is not in the list. global remove_selfdestruct_list: // stack: addr, retdest %mload_global_metadata(@GLOBAL_METADATA_SELFDESTRUCT_LIST_LEN) @@ -24,7 +24,7 @@ global remove_selfdestruct_list: remove_selfdestruct_list_loop: // `i` and `len` are both scaled by SEGMENT_SELFDESTRUCT_LIST %stack (i, len, addr, retdest) -> (i, len, i, len, addr, retdest) - EQ %jumpi(panic) + EQ %jumpi(remove_selfdestruct_not_found) // stack: i, len, addr, retdest DUP1 MLOAD_GENERAL // stack: loaded_addr, i, len, addr, retdest @@ -45,6 +45,10 @@ remove_selfdestruct_list_found: // stack: last_addr, i, retdest MSTORE_GENERAL // Store the last address at the position of the removed address. JUMP +remove_selfdestruct_not_found: + // stack: i, len, addr, retdest + %pop3 + JUMP global delete_all_selfdestructed_addresses: // stack: retdest diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/syscall.asm b/evm_arithmetization/src/cpu/kernel/asm/core/syscall.asm index 5d1a6c95c..87c01dc7f 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/syscall.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/syscall.asm @@ -69,8 +69,10 @@ global syscall_jumptable: JUMPTABLE sys_chainid JUMPTABLE sys_selfbalance JUMPTABLE sys_basefee - %rep 7 - JUMPTABLE panic // 0x49-0x4f are invalid opcodes + JUMPTABLE sys_blobhash + JUMPTABLE sys_blobbasefee + %rep 5 + JUMPTABLE panic // 0x4b-0x4f are invalid opcodes %endrep // 0x50-0x5f @@ -86,9 +88,9 @@ global syscall_jumptable: JUMPTABLE sys_msize JUMPTABLE sys_gas JUMPTABLE panic // jumpdest is implemented natively - JUMPTABLE panic // 0x5c is an invalid opcode - JUMPTABLE panic // 0x5d is an invalid opcode - JUMPTABLE panic // 0x5e is an invalid opcode + JUMPTABLE sys_tload + JUMPTABLE sys_tstore + JUMPTABLE sys_mcopy JUMPTABLE panic // 0x5f is an invalid opcode // 0x60-0x6f diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/terminate.asm b/evm_arithmetization/src/cpu/kernel/asm/core/terminate.asm index 778cd15c2..d1a366ede 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/terminate.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/terminate.asm @@ -85,10 +85,6 @@ global sys_selfdestruct: %charge_gas %stack (kexit_info, balance, address, recipient) -> (balance, address, recipient, kexit_info) - // Insert address into the selfdestruct set. - // stack: balance, address, recipient, kexit_info - DUP2 %insert_selfdestruct_list - // Set the balance of the address to 0. // stack: balance, address, recipient, kexit_info PUSH 0 @@ -99,14 +95,17 @@ global sys_selfdestruct: // stack: balance_ptr, 0, balance, address, recipient, kexit_info %mstore_trie_data - %stack (balance, address, recipient, kexit_info) -> - (address, recipient, address, recipient, balance, kexit_info) - // If the recipient is the same as the address, then we're done. - // Otherwise, send the balance to the recipient. - // stack: address, recipient, address, recipient, balance, kexit_info - EQ %jumpi(sys_selfdestruct_journal_add) - %stack (address, recipient, balance, kexit_info) -> (recipient, balance, address, recipient, balance, kexit_info) + // EIP-6780: insert address into the selfdestruct set only if contract has been created + // during the current transaction. + // stack: balance, address, recipient, kexit_info + DUP2 %contract_just_created + // stack: is_just_created, balance, address, recipient, kexit_info + %jumpi(sys_selfdestruct_just_created) + + // Send the balance to the recipient. + %stack (balance, address, recipient, kexit_info) -> + (recipient, balance, address, recipient, balance, kexit_info) %add_eth sys_selfdestruct_journal_add: @@ -146,6 +145,21 @@ sys_selfdestruct_exit: PUSH 1 // success %jump(terminate_common) +sys_selfdestruct_just_created: + // Send funds to beneficiary only if the recipient isn't the same as the address. + %stack (balance, address, recipient, kexit_info) -> (address, recipient, balance, address, recipient, balance, kexit_info) + EQ ISZERO + // stack: address ≠ recipient, balance, address, recipient, balance, kexit_info + MUL + // stack: maybe_balance, address, recipient, balance, kexit_info + DUP3 + // stack: recipient, maybe_balance, address, recipient, balance, kexit_info + %add_eth + // stack: address, recipient, balance, kexit_info + DUP1 + %insert_selfdestruct_list + %jump(sys_selfdestruct_journal_add) + global sys_revert: // stack: kexit_info, offset, size %stack (kexit_info, offset, size) -> (offset, size, kexit_info, offset, size) @@ -250,3 +264,41 @@ global terminate_common: // stack: parent_pc, success, leftover_gas JUMP + + + + +// Returns 1 if the address is present in SEGMENT_CREATED_CONTRACTS, meaning that it has been +// created during this transaction. Returns 0 otherwise. +// Pre stack: addr +// Post stack: is_just_created +%macro contract_just_created + // stack: addr + %mload_global_metadata(@GLOBAL_METADATA_CREATED_CONTRACTS_LEN) + // stack: nb_created_contracts, addr + PUSH 0 +%%contract_just_created_loop: + %stack (i, nb_created_contracts, addr) -> (i, nb_created_contracts, i, nb_created_contracts, addr) + EQ %jumpi(%%contract_just_created_false) + // stack: i, nb_created_contracts, addr + DUP1 %mload_kernel(@SEGMENT_CREATED_CONTRACTS) + // stack: addr_created_contract, i, nb_created_contracts, addr + DUP4 + // stack: addr, addr_created_contract, i, nb_created_contracts, addr + EQ %jumpi(%%contract_just_created_true) + // stack: i, nb_created_contracts, addr + %increment + %jump(%%contract_just_created_loop) +%%contract_just_created_true: + // stack: i, nb_created_contracts, addr + %pop3 + PUSH 1 + // stack: 1 + %jump(%%after) +%%contract_just_created_false: + // stack: i, nb_created_contracts, addr + %pop3 + PUSH 0 + // stack: 0 +%%after: +%endmacro diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/transfer.asm b/evm_arithmetization/src/cpu/kernel/asm/core/transfer.asm index 986c4f991..b21828f5e 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/transfer.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/transfer.asm @@ -87,7 +87,9 @@ global add_eth_new_account: // stack: null_account_ptr, addr, amount, retdest POP // stack: addr, amount, retdest - DUP1 %journal_add_account_created + DUP1 PUSH 0 + // stack: is_eoa, addr, addr, amount, retdest + %journal_add_account_created %get_trie_data_size // pointer to new account we're about to create // stack: new_account_ptr, addr, amount, retdest SWAP2 diff --git a/evm_arithmetization/src/cpu/kernel/asm/core/util.asm b/evm_arithmetization/src/cpu/kernel/asm/core/util.asm index a77329bd8..6b48428ef 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/core/util.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/core/util.asm @@ -26,8 +26,8 @@ %macro is_precompile // stack: addr - DUP1 %ge_const(@ECREC) SWAP1 %le_const(@BLAKE2_F) - // stack: addr>=1, addr<=9 + DUP1 %ge_const(@ECREC) SWAP1 %le_const(@KZG_PEVAL) + // stack: addr>=1, addr<=10 MUL // Cheaper than AND %endmacro diff --git a/evm_arithmetization/src/cpu/kernel/asm/curve/bn254/curve_arithmetic/msm.asm b/evm_arithmetization/src/cpu/kernel/asm/curve/bn254/curve_arithmetic/msm.asm index d5b97312b..af350dd8f 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/curve/bn254/curve_arithmetic/msm.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/curve/bn254/curve_arithmetic/msm.asm @@ -10,7 +10,7 @@ global bn_msm_loop: DUP1 %jumpi(bn_msm_loop_add_a_nonzero) POP msm_loop_add_b: - //stack: accx, accy, i, retdest + // stack: accx, accy, i, retdest DUP3 %bn_mload_wnaf_b // stack: w, accx, accy, i, retdest DUP1 %jumpi(bn_msm_loop_add_b_nonzero) @@ -20,7 +20,7 @@ msm_loop_contd: // TODO: the GLV scalars for the BN curve are 127-bit, so could use 127 here. But this would require modifying `wnaf.asm`. Not sure it's worth it... %eq_const(129) %jumpi(msm_end) %increment - //stack: i+1, accx, accy, retdest + // stack: i+1, accx, accy, retdest %stack (i, accx, accy, retdest) -> (accx, accy, bn_msm_loop, i, retdest) %jump(bn_double) @@ -54,9 +54,9 @@ bn_msm_loop_add_b_nonzero: // stack: w DUP1 %mload_current(@SEGMENT_BN_TABLE_Q) - //stack: Gy, w + // stack: Gy, w SWAP1 %decrement %mload_current(@SEGMENT_BN_TABLE_Q) - //stack: Gx, Gy + // stack: Gx, Gy %endmacro %macro bn_mload_point_b @@ -67,7 +67,7 @@ bn_msm_loop_add_b_nonzero: %stack (bneg, Gy, w) -> (@BN_BASE, Gy, bneg, bneg, Gy, w) SUB SWAP1 ISZERO MUL SWAP2 MUL ADD SWAP1 %decrement %mload_current(@SEGMENT_BN_TABLE_Q) - //stack: Gx, Gy + // stack: Gx, Gy PUSH @BN_GLV_BETA MULFP254 %endmacro diff --git a/evm_arithmetization/src/cpu/kernel/asm/global_exit_root.asm b/evm_arithmetization/src/cpu/kernel/asm/global_exit_root.asm new file mode 100644 index 000000000..ffcc377a5 --- /dev/null +++ b/evm_arithmetization/src/cpu/kernel/asm/global_exit_root.asm @@ -0,0 +1,83 @@ +/// At the top of the block, the global exit roots (if any) are written to storage. +/// Global exit roots (GER) are of the form `(timestamp, root)` and are loaded from prover inputs. +/// The timestamp is written to the storage of address `GLOBAL_EXIT_ROOT_MANAGER_L2_STATE_KEY` in the slot `keccak256(abi.encodePacked(root, GLOBAL_EXIT_ROOT_STORAGE_POS))`. +/// See https://github.com/0xPolygonHermez/cdk-erigon/blob/zkevm/zk/utils/global_exit_root.go for reference. +/// +/// *NOTE*: This will panic if one of the provided timestamps is zero. + +global set_global_exit_roots: + // stack: (empty) + PUSH start_txn + // stack: retdest + PROVER_INPUT(ger) + // stack: num_ger, retdest + PUSH 0 +ger_loop: + // stack: i, num_ger, retdest + DUP2 DUP2 EQ %jumpi(ger_loop_end) + PROVER_INPUT(ger) + // stack: timestamp, i, num_ger, retdest + PUSH @GLOBAL_EXIT_ROOT_STORAGE_POS + PROVER_INPUT(ger) + // stack: root, GLOBAL_EXIT_ROOT_STORAGE_POS, timestamp, i, num_ger, retdest + PUSH @SEGMENT_KERNEL_GENERAL + // stack: addr, root, GLOBAL_EXIT_ROOT_STORAGE_POS, timestamp, i, num_ger, retdest + MSTORE_32BYTES_32 + // stack: addr, GLOBAL_EXIT_ROOT_STORAGE_POS, timestamp, i, num_ger, retdest + MSTORE_32BYTES_32 + // stack: addr, timestamp, i, num_ger, retdest + POP + // stack: timestamp, i, num_ger, retdest + PUSH 64 PUSH @SEGMENT_KERNEL_GENERAL + // stack: addr, len, timestamp, i, num_ger, retdest + KECCAK_GENERAL + // stack: slot, timestamp, i, num_ger, retdest + +write_timestamp_to_storage: + // stack: slot, timestamp, i, num_ger, retdest + // First we write the value to MPT data, and get a pointer to it. + %get_trie_data_size + // stack: value_ptr, slot, timestamp, i, num_ger, retdest + SWAP2 + // stack: timestamp, slot, value_ptr, i, num_ger, retdest + %append_to_trie_data + // stack: slot, value_ptr, i, num_ger, retdest + + // Next, call mpt_insert on the current account's storage root. + %stack (slot, value_ptr) -> (slot, value_ptr, after_timestamp_storage_insert) + %slot_to_storage_key + // stack: storage_key, value_ptr, after_timestamp_storage_insert + PUSH 64 // storage_key has 64 nibbles + %get_storage_trie(@GLOBAL_EXIT_ROOT_MANAGER_L2_STATE_KEY) + // stack: storage_root_ptr, 64, storage_key, value_ptr, after_timestamp_storage_insert + %stack (storage_root_ptr, num_nibbles, storage_key) -> (storage_root_ptr, num_nibbles, storage_key, after_read, storage_root_ptr, num_nibbles, storage_key) + %jump(mpt_read) +after_read: + // If the current value is non-zero, do nothing. + // stack: current_value_ptr, storage_root_ptr, 64, storage_key, value_ptr, after_timestamp_storage_insert + %mload_trie_data %jumpi(do_nothing) + // stack: storage_root_ptr, 64, storage_key, value_ptr, after_timestamp_storage_insert + %jump(mpt_insert) + +after_timestamp_storage_insert: + // stack: new_storage_root_ptr, i, num_ger, retdest + %get_account_data(@GLOBAL_EXIT_ROOT_MANAGER_L2_STATE_KEY) + // stack: account_ptr, new_storage_root_ptr + // Update the copied account with our new storage root pointer. + %add_const(2) + // stack: account_storage_root_ptr_ptr, new_storage_root_ptr + %mstore_trie_data + + // stack: i, num_ger, retdest + %increment + %jump(ger_loop) + +ger_loop_end: + // stack: i, num_ger, retdest + %pop2 JUMP + +do_nothing: + // stack: storage_root_ptr, 64, storage_key, value_ptr, after_timestamp_storage_insert, i, num_ger, retdest + %pop7 + // stack: retdest + JUMP diff --git a/evm_arithmetization/src/cpu/kernel/asm/journal/account_created.asm b/evm_arithmetization/src/cpu/kernel/asm/journal/account_created.asm index 4748d5cbc..2fd4c15fa 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/journal/account_created.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/journal/account_created.asm @@ -1,13 +1,23 @@ -// struct AccountCreated { address } +// struct AccountCreated { account_type, address } +// account_type is 0 for an EOA, 1 for a contract. %macro journal_add_account_created - %journal_add_1(@JOURNAL_ENTRY_ACCOUNT_CREATED) + %journal_add_2(@JOURNAL_ENTRY_ACCOUNT_CREATED) %endmacro global revert_account_created: // stack: entry_type, ptr, retdest POP - %journal_load_1 - // stack: address, retdest + %journal_load_2 + // stack: account_type, address, retdest + %jumpi(decrement_created_contracts_len) + +revert_account_finish: %delete_account JUMP + +decrement_created_contracts_len: + %mload_global_metadata(@GLOBAL_METADATA_CREATED_CONTRACTS_LEN) + %decrement + %mstore_global_metadata(@GLOBAL_METADATA_CREATED_CONTRACTS_LEN) + %jump(revert_account_finish) diff --git a/evm_arithmetization/src/cpu/kernel/asm/journal/journal.asm b/evm_arithmetization/src/cpu/kernel/asm/journal/journal.asm index 39b6c9f1b..96fa8aae8 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/journal/journal.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/journal/journal.asm @@ -182,7 +182,6 @@ %mload_global_metadata(@GLOBAL_METADATA_CURRENT_CHECKPOINT) %endmacro - %macro checkpoint // stack: (empty) %current_checkpoint diff --git a/evm_arithmetization/src/cpu/kernel/asm/journal/revert.asm b/evm_arithmetization/src/cpu/kernel/asm/journal/revert.asm index 857bf612b..fd9770bbc 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/journal/revert.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/journal/revert.asm @@ -6,17 +6,18 @@ // stack: ptr, %%after, journal_size-1 DUP1 %mload_journal_data // stack: entry_type, ptr, %%after, journal_size-1 - DUP1 %eq_const(@JOURNAL_ENTRY_ACCOUNT_LOADED) %jumpi(revert_account_loaded) - DUP1 %eq_const(@JOURNAL_ENTRY_ACCOUNT_DESTROYED) %jumpi(revert_account_destroyed) - DUP1 %eq_const(@JOURNAL_ENTRY_ACCOUNT_TOUCHED) %jumpi(revert_account_touched) - DUP1 %eq_const(@JOURNAL_ENTRY_BALANCE_TRANSFER) %jumpi(revert_balance_transfer) - DUP1 %eq_const(@JOURNAL_ENTRY_NONCE_CHANGE) %jumpi(revert_nonce_change) - DUP1 %eq_const(@JOURNAL_ENTRY_STORAGE_CHANGE) %jumpi(revert_storage_change) - DUP1 %eq_const(@JOURNAL_ENTRY_STORAGE_LOADED) %jumpi(revert_storage_loaded) - DUP1 %eq_const(@JOURNAL_ENTRY_CODE_CHANGE) %jumpi(revert_code_change) - DUP1 %eq_const(@JOURNAL_ENTRY_REFUND) %jumpi(revert_refund) - DUP1 %eq_const(@JOURNAL_ENTRY_ACCOUNT_CREATED) %jumpi(revert_account_created) - DUP1 %eq_const(@JOURNAL_ENTRY_LOG) %jumpi(revert_log) + DUP1 %eq_const(@JOURNAL_ENTRY_ACCOUNT_LOADED) %jumpi(revert_account_loaded) + DUP1 %eq_const(@JOURNAL_ENTRY_ACCOUNT_DESTROYED) %jumpi(revert_account_destroyed) + DUP1 %eq_const(@JOURNAL_ENTRY_ACCOUNT_TOUCHED) %jumpi(revert_account_touched) + DUP1 %eq_const(@JOURNAL_ENTRY_BALANCE_TRANSFER) %jumpi(revert_balance_transfer) + DUP1 %eq_const(@JOURNAL_ENTRY_NONCE_CHANGE) %jumpi(revert_nonce_change) + DUP1 %eq_const(@JOURNAL_ENTRY_STORAGE_CHANGE) %jumpi(revert_storage_change) + DUP1 %eq_const(@JOURNAL_ENTRY_STORAGE_LOADED) %jumpi(revert_storage_loaded) + DUP1 %eq_const(@JOURNAL_ENTRY_CODE_CHANGE) %jumpi(revert_code_change) + DUP1 %eq_const(@JOURNAL_ENTRY_REFUND) %jumpi(revert_refund) + DUP1 %eq_const(@JOURNAL_ENTRY_ACCOUNT_CREATED) %jumpi(revert_account_created) + DUP1 %eq_const(@JOURNAL_ENTRY_LOG) %jumpi(revert_log) + DUP1 %eq_const(@JOURNAL_ENTRY_TRANSIENT_STORAGE_CHANGE) %jumpi(revert_transient_storage_change) PANIC // This should never happen. %%after: // stack: journal_size-1 diff --git a/evm_arithmetization/src/cpu/kernel/asm/journal/transient_storage_change.asm b/evm_arithmetization/src/cpu/kernel/asm/journal/transient_storage_change.asm new file mode 100644 index 000000000..ce74df0a2 --- /dev/null +++ b/evm_arithmetization/src/cpu/kernel/asm/journal/transient_storage_change.asm @@ -0,0 +1,23 @@ +// struct StorageChange { address, slot, prev_value } + +%macro journal_add_transient_storage_change + %journal_add_3(@JOURNAL_ENTRY_TRANSIENT_STORAGE_CHANGE) +%endmacro + +global revert_transient_storage_change: + // stack: entry_type, ptr, retdest + POP + %journal_load_3 + // We will always write 0 for deletions as it makes no difference. + // stack: addr, slot, prev_value, retdest + %search_transient_storage + // stack: found, pos, addr, value, slot, prev_value, retdest + // The value must have been stored + %assert_nonzero + // stack: pos, addr, value, slot, prev_value, retdest + %add_const(2) + DUP5 + // stack: prev_value, pos+2, addr, value, slot, prev_value, retdest + MSTORE_GENERAL + %pop4 + JUMP diff --git a/evm_arithmetization/src/cpu/kernel/asm/main.asm b/evm_arithmetization/src/cpu/kernel/asm/main.asm index bcb49ecce..5d6d96799 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/main.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/main.asm @@ -15,6 +15,9 @@ global main: // Initialize accessed addresses and storage keys lists %init_access_lists + // Initialize transient storage length + %init_transient_storage_len + // Initialize the RLP DATA pointer to its initial position, // skipping over the preinitialized empty node. PUSH @INITIAL_TXN_RLP_ADDR @@ -37,7 +40,7 @@ global hash_initial_tries: // We initialize the segment length with 1 because the segment contains // the null pointer `0` when the tries are empty. PUSH 1 - %mpt_hash_state_trie %mload_global_metadata(@GLOBAL_METADATA_STATE_TRIE_DIGEST_BEFORE) %assert_eq + %mpt_hash_state_trie %mload_global_metadata(@GLOBAL_METADATA_STATE_TRIE_DIGEST_BEFORE) %assert_eq // stack: trie_data_len %mpt_hash_txn_trie %mload_global_metadata(@GLOBAL_METADATA_TXN_TRIE_DIGEST_BEFORE) %assert_eq // stack: trie_data_len @@ -45,10 +48,13 @@ global hash_initial_tries: // stack: trie_data_full_len %mstore_global_metadata(@GLOBAL_METADATA_TRIE_DATA_SIZE) + // If txn_idx == 0, update the beacon_root and exit roots. + %mload_global_metadata(@GLOBAL_METADATA_TXN_NUMBER_BEFORE) + ISZERO + %jumpi(set_beacon_root) + global start_txn: // stack: (empty) - // The special case of an empty trie (i.e. for the first transaction) - // is handled outside of the kernel. %mload_global_metadata(@GLOBAL_METADATA_TXN_NUMBER_BEFORE) // stack: txn_nb DUP1 %scalar_to_rlp diff --git a/evm_arithmetization/src/cpu/kernel/asm/memory/memcpy.asm b/evm_arithmetization/src/cpu/kernel/asm/memory/memcpy.asm index a7819bf6e..09f686965 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/memory/memcpy.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/memory/memcpy.asm @@ -45,7 +45,7 @@ global memcpy_bytes: %lt_const(0x21) // stack: count <= 32, DST, SRC, count, retdest %jumpi(memcpy_bytes_finish) - + // We will pack 32 bytes into a U256 from the source, and then unpack it at the destination. // Copy the next chunk of bytes. // stack: DST, SRC, count, retdest @@ -104,3 +104,54 @@ memcpy_finish: %jump(memcpy_bytes) %%after: %endmacro + +// Similar logic to memcpy_bytes, but proceeding the sequence in the backwards direction. +// Note that this is slightly heavier than the regular `memcpy_bytes`. +global memcpy_bytes_backwards: + // stack: DST, SRC, count, retdest + + // Handle small case + DUP3 + // stack: count, DST, SRC, count, retdest + %lt_const(0x21) + // stack: count <= 32, DST, SRC, count, retdest + %jumpi(memcpy_bytes_finish) + + // We will pack 32 bytes into a U256 from the source, and then unpack it at the destination. + // Copy the next chunk of bytes. + // stack: DST, SRC, count, retdest + PUSH 0x20 + DUP3 + // stack: SRC, 32, DST, SRC, count, retdest + MLOAD_32BYTES + // stack: value, DST, SRC, count, retdest + SWAP1 + // stack: DST, value, SRC, count, retdest + MSTORE_32BYTES_32 + // stack: DST'', SRC, count, retdest + + // Decrement count by 32. + SWAP2 + %sub_const(0x20) + SWAP2 + + // Decrement DST'' by 32 (from `MSTORE_32BYTES_32` increment) + min(32, count') for the next chunk. + // Decrement SRC by min(32, count'). + // stack: DST'', SRC, count', retdest + DUP3 PUSH 0x20 %min + // stack: min(32, count'), DST'', SRC, count', retdest + DUP1 %add_const(0x20) + // stack: 32 + min(32, count'), min(32, count'), DST'', SRC, count', retdest + SWAP3 SUB + // stack: SRC' = SRC-min(32, count'), DST'', 32 + min(32, count'), count', retdest + SWAP2 SWAP1 SUB + // stack: DST' = DST''-(32+min(32, count')), SRC', count', retdest + + // Continue the loop. + %jump(memcpy_bytes_backwards) + +%macro memcpy_bytes_backwards + %stack (dst, src, count) -> (dst, src, count, %%after) + %jump(memcpy_bytes_backwards) +%%after: +%endmacro diff --git a/evm_arithmetization/src/cpu/kernel/asm/memory/metadata.asm b/evm_arithmetization/src/cpu/kernel/asm/memory/metadata.asm index e69e292b6..a00c57028 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/memory/metadata.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/memory/metadata.asm @@ -277,6 +277,48 @@ global sys_basefee: SWAP1 EXIT_KERNEL +global sys_blobhash: + // stack: kexit_info, index + %charge_gas_const(@GAS_HASH_OPCODE) + // stack: kexit_info, index + %blobhash + // stack: blobhash, kexit_info + SWAP1 + EXIT_KERNEL + +%macro blobhash + // stack: kexit_info, index + SWAP1 + // stack: index, kexit_info + %mload_global_metadata(@GLOBAL_METADATA_BLOB_VERSIONED_HASHES_LEN) + DUP2 + LT ISZERO // == GE + // stack: index >= len, index, kexit_info + %jumpi(%%index_too_big) + PUSH @SEGMENT_TXN_BLOB_VERSIONED_HASHES + %build_kernel_address + // stack: read_addr, kexit_info + MLOAD_GENERAL + %jump(%%end) +%%index_too_big: + // The index is larger than the list, just push 0. + // stack: index, kexit_info + POP + PUSH 0 + // stack: 0, kexit_info +%%end: + // stack: blobhash, kexit_info +%endmacro + +global sys_blobbasefee: + // stack: kexit_info + %charge_gas_const(@GAS_BASE) + // stack: kexit_info + PROVER_INPUT(blobbasefee) + // stack: blobbasefee, kexit_info + SWAP1 + EXIT_KERNEL + global sys_blockhash: // stack: kexit_info, block_number %charge_gas_const(@GAS_BLOCKHASH) @@ -434,3 +476,7 @@ global sys_prevrandao: %mload_global_metadata(@GLOBAL_METADATA_BLOCK_RANDOM) %stack (random, kexit_info) -> (kexit_info, random) EXIT_KERNEL + +%macro parent_beacon_block_root + %mload_global_metadata(@GLOBAL_METADATA_PARENT_BEACON_BLOCK_ROOT) +%endmacro diff --git a/evm_arithmetization/src/cpu/kernel/asm/memory/syscalls.asm b/evm_arithmetization/src/cpu/kernel/asm/memory/syscalls.asm index d20f2d0e6..de04c111e 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/memory/syscalls.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/memory/syscalls.asm @@ -113,6 +113,7 @@ codecopy_within_bounds: // stack: total_size, segment, src_ctx, kexit_info, dest_offset, offset, size POP wcopy_within_bounds: + // TODO: rework address creation to have less stack manipulation overhead // stack: segment, src_ctx, kexit_info, dest_offset, offset, size GET_CONTEXT %stack (context, segment, src_ctx, kexit_info, dest_offset, offset, size) -> @@ -219,6 +220,91 @@ extcodecopy_contd: // stack: code_size, ctx, kexit_info, dest_offset, offset, size %codecopy_after_checks(@SEGMENT_CODE) +// Same as %wcopy but with special handling in case of overlapping ranges. +global sys_mcopy: + // stack: kexit_info, dest_offset, offset, size + %wcopy_charge_gas + + %stack (kexit_info, dest_offset, offset, size) -> (dest_offset, size, kexit_info, dest_offset, offset, size) + %add_or_fault + // stack: expanded_num_bytes, kexit_info, dest_offset, offset, size, kexit_info + DUP1 %ensure_reasonable_offset + %update_mem_bytes + + %stack (kexit_info, dest_offset, offset, size) -> (offset, size, kexit_info, dest_offset, offset, size) + %add_or_fault + DUP1 %ensure_reasonable_offset + %update_mem_bytes + + // stack: kexit_info, dest_offset, offset, size + DUP3 DUP3 EQ + // stack: dest_offset = offset, kexit_info, dest_offset, offset, size + %jumpi(mcopy_empty) // If SRC == DST, just pop the stack and exit the kernel + + // stack: kexit_info, dest_offset, offset, size + GET_CONTEXT + PUSH @SEGMENT_MAIN_MEMORY + + DUP5 DUP5 LT + // stack: dest_offset < offset, kexit_info, dest_offset, offset, size + %jumpi(wcopy_within_bounds) + + // stack: segment, context, kexit_info, dest_offset, offset, size + DUP6 PUSH 32 %min + // stack: shift=min(size, 32), segment, context, kexit_info, dest_offset, offset, size + DUP6 DUP8 ADD + // stack: offset + size, shift, segment, context, kexit_info, dest_offset, offset, size + DUP6 LT + // stack: dest_offset < offset + size, shift, segment, context, kexit_info, dest_offset, offset, size + DUP2 + // stack: shift, dest_offset < offset + size, shift, segment, context, kexit_info, dest_offset, offset, size + DUP9 GT + // stack: size > shift, dest_offset < offset + size, shift, segment, context, kexit_info, dest_offset, offset, size + MUL // AND + // stack: (size > shift) && (dest_offset < offset + size), shift, segment, context, kexit_info, dest_offset, offset, size + + // If the conditions `size > shift` and `dest_offset < offset + size` are satisfied, that means + // we will get an overlap that will overwrite some SRC data. In that case, we will proceed to the + // memcpy in the backwards direction to never overwrite the SRC section before it has been read. + %jumpi(mcopy_with_overlap) + + // Otherwise, we either have `SRC` < `DST`, or a small enough `size` that a single loop of + // `memcpy_bytes` suffices and does not risk to overwrite `SRC` data before being read. + // stack: shift, segment, context, kexit_info, dest_offset, offset, size + POP + %jump(wcopy_within_bounds) + +mcopy_with_overlap: + // We do have an overlap between the SRC and DST ranges. + // We will proceed to `memcpy` in the backwards direction to prevent overwriting unread SRC data. + // For this, we need to update `offset` and `dest_offset` to their final position, corresponding + // to `x + size - min(32, size)`. + + // stack: shift=min(size, 32), segment, context, kexit_info, dest_offset, offset, size + DUP1 + // stack: shift, shift, segment, context, kexit_info, dest_offset, offset, size + DUP8 DUP8 ADD + // stack: offset+size, shift, shift, segment, context, kexit_info, dest_offset, offset, size + SUB + // stack: offset'=offset+size-shift, shift, segment, context, kexit_info, dest_offset, offset, size + SWAP5 DUP8 ADD + // stack: dest_offset+size, shift, segment, context, kexit_info, offset', offset, size + SUB + // stack: dest_offset'=dest_offset+size-shift, segment, context, kexit_info, offset', offset, size + + %stack (next_dst_offset, segment, context, kexit_info, new_offset, offset, size) -> + (context, segment, new_offset, segment, next_dst_offset, context, size, wcopy_after, kexit_info) + %build_address // SRC + SWAP3 + %build_address // DST + // stack: DST, SRC, size, wcopy_after, kexit_info + %jump(memcpy_bytes_backwards) + +mcopy_empty: + // kexit_info, dest_offset, offset, size + %stack (kexit_info, dest_offset, offset, size) -> (kexit_info) + EXIT_KERNEL + // The internal logic is similar to wcopy, but handles range overflow differently. // It is used for both CODECOPY and EXTCODECOPY. diff --git a/evm_arithmetization/src/cpu/kernel/asm/memory/transient_storage.asm b/evm_arithmetization/src/cpu/kernel/asm/memory/transient_storage.asm new file mode 100644 index 000000000..8aa32c3e2 --- /dev/null +++ b/evm_arithmetization/src/cpu/kernel/asm/memory/transient_storage.asm @@ -0,0 +1,168 @@ +// Transient data storage + + +/// The transient storage is stored in an array. The length of the array is stored in the global metadata. +/// For storage keys, the address and key are stored as two consecutive elements. +/// The array is stored in the SEGMENT_TRANSIENT_STORAGE segment in the kernel memory (context=0). +/// Searching and inserting is done by doing a linear search through the array. +/// If the key isn't found in the array, it is inserted at the end. +/// TODO: Look into using a more efficient data structure. + +/// The initial length, 0, must be scaled by its segment for +/// comparison with the accumulator when iterating through the list. +%macro init_transient_storage_len + PUSH @SEGMENT_TRANSIENT_STORAGE + %mstore_global_metadata(@GLOBAL_METADATA_TRANSIENT_STORAGE_LEN) +%endmacro + +%macro search_transient_storage + %stack (addr, key) -> (addr, key, %%after) + %jump(search_transient_storage) +%%after: + // stack: (is_present, pos, addr, key, val) +%endmacro + +/// Looks for an address, key pair into the transient storage. +/// Returns 1 and the position in @SEGMENT_TRANSIENT_STORAGE if present, +/// or 0 and @GLOBAL_METADATA_TRANSIENT_STORAGE_LEN if not. +global search_transient_storage: + // stack: addr, key, retdest + %mload_global_metadata(@GLOBAL_METADATA_TRANSIENT_STORAGE_LEN) + // stack: len, addr, key, retdest + PUSH @SEGMENT_TRANSIENT_STORAGE + // stack: i = 0, len, addr, key, retdest +search_transient_storage_loop: + // `i` and `len` are both scaled by SEGMENT_TRANSIENT_STORAGE + %stack (i, len, addr, key, retdest) -> (i, len, i, len, addr, key, retdest) + EQ %jumpi(search_transient_storage_not_found) + // stack: i, len, addr, key, retdest + DUP1 + MLOAD_GENERAL + // stack: loaded_addr, i, len, addr, key, retdest + DUP4 + // stack: addr, loaded_addr, i, len, addr, key, retdest + SUB // functions as NEQ + // stack: addr != loaded_addr, i, len, addr, key, retdest + %jumpi(increment_and_loop) + + // Addresses match, but we need to check for keys as well + DUP1 + %increment + MLOAD_GENERAL + // stack: loaded_key, i, len, addr, key, retdest + DUP5 + // stack: key, loaded_key, i, len, addr, key, retdest + EQ + %jumpi(search_transient_storage_found) +increment_and_loop: + // stack: i, len, addr, key, retdest + %increment + %jump(search_transient_storage_loop) + +search_transient_storage_not_found: + %stack (i, len, addr, key, retdest) -> (retdest, 0, i, addr, 0, key) // Return 0 to indicate that the address, key was not found. + JUMP + +search_transient_storage_found: + // stack: i, len, addr, key, retdest + DUP1 %add_const(2) + MLOAD_GENERAL + %stack (val, i, len, addr, key, retdest) -> (retdest, 1, i, addr, val, key) // Return 1 to indicate that the address was already present. + JUMP + +%macro tload_current + %stack (slot) -> (slot, %%after) + %jump(tload_current) +%%after: +%endmacro + +global tload_current: + %address + // stack: addr, slot, retdest + %search_transient_storage + // stack: found, pos, addr, val, slot, retdest + %jumpi(tload_found) + // The value is not in memory so we return 0 + %stack (pos, addr, val, slot, retdest) -> (retdest, 0) + JUMP +tload_found: + // stack: pos, addr, val, slot, retdest + %stack (pos, addr, val, slot, retdest) -> (retdest, val) + JUMP + +// Read a word from the current account's transient storage list +// +// Pre stack: kexit_info, slot +// Post stack: value +global sys_tload: + // stack: kexit_info, slot + %charge_gas_const(@GAS_WARMACCESS) + // stack: kexit_info, slot + SWAP1 + // stack: slot, kexit_info + %tload_current + SWAP1 + + // stack: kexit_info, value + EXIT_KERNEL + +// Write a word to the current account's transient storage. +// +// Pre stack: kexit_info, slot, value +// Post stack: (empty) + +global sys_tstore: + %check_static + %charge_gas_const(@GAS_WARMACCESS) + %stack (kexit_info, slot, value) -> (slot, value, kexit_info) + %address + %search_transient_storage + // stack: found, pos, addr, original_value, slot, value, kexit_info + POP + // If the address and slot pair was not present pos will be pointing to the end of the array. + DUP1 DUP3 + // stack: addr, pos, pos, addr, original_value, slot, value, kexit_info + MSTORE_GENERAL + %increment DUP1 + DUP5 + // stack: slot, pos', pos', addr, original_value, slot, value, kexit_info + MSTORE_GENERAL + %increment DUP1 + DUP6 + // stack: value, pos'', pos'', addr, original_value, slot, value, kexit_info + MSTORE_GENERAL + // stack: pos'', addr, original_value, slot, value, kexit_info + // If pos'' > @GLOBAL_METADATA_TRANSIENT_STORAGE_LEN we need to also store the new @GLOBAL_METADATA_TRANSIENT_STORAGE_LEN + %mload_global_metadata(@GLOBAL_METADATA_TRANSIENT_STORAGE_LEN) + DUP2 + GT + %jumpi(new_transient_storage_len) + POP +sys_tstore_charge_gas: + // stack: addr, original_value, slot, value, kexit_info + // Check if `value` is equal to `current_value`, and if so exit the kernel early. + %stack + (addr, original_value, slot, value, kexit_info) -> + (value, original_value, addr, slot, original_value, kexit_info) + EQ %jumpi(tstore_noop) + +add_to_journal: + // stack: addr, slot, original_value, kexit_info + %journal_add_transient_storage_change + + // stack: kexit_info + EXIT_KERNEL + +new_transient_storage_len: + // Store the new (unscaled) length. + // stack: pos, addr, original_value, slot, value, kexit_info + %increment + // stack: pos + 1, addr, original_value, slot, value, kexit_info + %mstore_global_metadata(@GLOBAL_METADATA_TRANSIENT_STORAGE_LEN) + // stack: addr, original_value, slot, value, kexit_info + %jump(sys_tstore_charge_gas) + +tstore_noop: + // stack: current_value, slot, value, kexit_info + %pop3 + EXIT_KERNEL diff --git a/evm_arithmetization/src/cpu/kernel/asm/mpt/accounts.asm b/evm_arithmetization/src/cpu/kernel/asm/mpt/accounts.asm index 0ee987b4c..1f60a3f75 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/mpt/accounts.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/mpt/accounts.asm @@ -19,3 +19,25 @@ %mload_trie_data // stack: storage_root_ptr %endmacro + +// Return a pointer to the provided account's data in the state trie. +%macro get_account_data(addr) + PUSH $addr %mpt_read_state_trie + // stack: account_ptr + // account_ptr should be non-null as long as the prover provided the proper + // Merkle data. But a bad prover may not have, and we don't want return a + // null pointer for security reasons. + DUP1 ISZERO %jumpi(panic) + // stack: account_ptr +%endmacro + +// Returns a pointer to the root of the storage trie associated with the provided account. +%macro get_storage_trie(key) + // stack: (empty) + %get_account_data($key) + // stack: account_ptr + %add_const(2) + // stack: storage_root_ptr_ptr + %mload_trie_data + // stack: storage_root_ptr +%endmacro \ No newline at end of file diff --git a/evm_arithmetization/src/cpu/kernel/asm/mpt/hash/hash_trie_specific.asm b/evm_arithmetization/src/cpu/kernel/asm/mpt/hash/hash_trie_specific.asm index cd07c01fd..8d8c7a419 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/mpt/hash/hash_trie_specific.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/mpt/hash/hash_trie_specific.asm @@ -169,7 +169,7 @@ global encode_receipt: // stack: first_value, rlp_addr, value_ptr, cur_len, retdest // The first value is either the transaction type or the payload length. // Since the receipt contains at least the 256-bytes long bloom filter, payload_len > 3. - DUP1 %lt_const(3) %jumpi(encode_nonzero_receipt_type) + DUP1 %lt_const(4) %jumpi(encode_nonzero_receipt_type) // If we are here, then the first byte is the payload length. %rlp_list_len // stack: rlp_receipt_len, rlp_addr, value_ptr, cur_len, retdest diff --git a/evm_arithmetization/src/cpu/kernel/asm/mpt/insert/insert.asm b/evm_arithmetization/src/cpu/kernel/asm/mpt/insert/insert.asm index 34889a33f..83a12b4b0 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/mpt/insert/insert.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/mpt/insert/insert.asm @@ -20,7 +20,7 @@ global mpt_insert: global mpt_insert_hash_node: PANIC -mpt_insert_empty: +global mpt_insert_empty: // stack: node_type, node_payload_ptr, num_nibbles, key, value_ptr, retdest %pop2 // stack: num_nibbles, key, value_ptr, retdest @@ -38,11 +38,11 @@ mpt_insert_empty: SWAP1 JUMP -mpt_insert_branch: +global mpt_insert_branch: // stack: node_type, node_payload_ptr, num_nibbles, key, value_ptr, retdest POP - //stack: node_payload_ptr, num_nibbles, key, value_ptr, retdest + // stack: node_payload_ptr, num_nibbles, key, value_ptr, retdest // At this point, we branch based on whether the key terminates with this branch node. // stack: node_payload_ptr, num_nibbles, key, value_ptr, retdest diff --git a/evm_arithmetization/src/cpu/kernel/asm/mpt/read.asm b/evm_arithmetization/src/cpu/kernel/asm/mpt/read.asm index eaad20641..3741049fe 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/mpt/read.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/mpt/read.asm @@ -4,6 +4,7 @@ global mpt_read_state_trie: // stack: addr, retdest %addr_to_state_key +global mpt_read_state_trie_from_key: // stack: key, retdest PUSH 64 // num_nibbles %mload_global_metadata(@GLOBAL_METADATA_STATE_TRIE_ROOT) // node_ptr @@ -17,6 +18,13 @@ global mpt_read_state_trie: %%after: %endmacro +// Convenience macro to call mpt_read_state_trie_from_key and return where we left off. +%macro mpt_read_state_trie_from_key + %stack (key) -> (key, %%after) + %jump(mpt_read_state_trie_from_key) +%%after: +%endmacro + // Read a value from a MPT. // // Arguments: @@ -121,7 +129,7 @@ global mpt_read_extension_found: // stack: child_ptr, future_nibbles, key, retdest %jump(mpt_read) // recurse -mpt_read_leaf: +global mpt_read_leaf: // stack: node_type, node_payload_ptr, num_nibbles, key, retdest POP // stack: node_payload_ptr, num_nibbles, key, retdest diff --git a/evm_arithmetization/src/cpu/kernel/asm/transactions/common_decoding.asm b/evm_arithmetization/src/cpu/kernel/asm/transactions/common_decoding.asm index d89293998..613131c3e 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/transactions/common_decoding.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/transactions/common_decoding.asm @@ -133,6 +133,69 @@ %%after: %endmacro +%macro decode_and_store_max_fee_per_blob_gas + // stack: rlp_addr + %decode_rlp_scalar + %stack (rlp_addr, max_fee_per_blob_gas) -> (max_fee_per_blob_gas, rlp_addr) + %mstore_txn_field(@TXN_FIELD_MAX_FEE_PER_BLOB_GAS) + // stack: rlp_addr +%endmacro + +%macro decode_and_store_blob_versioned_hashes + // stack: rlp_addr + DUP1 %mstore_global_metadata(@GLOBAL_METADATA_BLOB_VERSIONED_HASHES_RLP_START) + %decode_rlp_list_len + %stack (rlp_addr, len) -> (len, len, rlp_addr, %%after) + + // EIP-4844: Blob transactions should have at least 1 versioned hash + %assert_nonzero(invalid_txn_2) + + // stack: len, rlp_addr, %%after + %jump(decode_and_store_blob_versioned_hashes) +%%after: +%endmacro + +// The blob versioned hashes are just a list of hashes. +global decode_and_store_blob_versioned_hashes: + // stack: len, rlp_addr + // Store the list length + DUP1 %mstore_global_metadata(@GLOBAL_METADATA_BLOB_VERSIONED_HASHES_LEN) + + // stack: len, rlp_addr + DUP2 ADD + // stack: end_rlp_addr, rlp_addr + // Store the RLP length. + %mload_global_metadata(@GLOBAL_METADATA_BLOB_VERSIONED_HASHES_RLP_START) DUP2 SUB %mstore_global_metadata(@GLOBAL_METADATA_BLOB_VERSIONED_HASHES_RLP_LEN) + // stack: end_rlp_addr, rlp_addr + PUSH @SEGMENT_TXN_BLOB_VERSIONED_HASHES // initial address to write to + SWAP2 +decode_and_store_blob_versioned_hashes_loop: + // stack: rlp_addr, end_rlp_addr, store_addr + DUP2 DUP2 EQ %jumpi(decode_and_store_blob_versioned_hashes_finish) + // stack: rlp_addr, end_rlp_addr, store_addr + %decode_rlp_scalar // blob_versioned_hashes[i] + // stack: rlp_addr, hash, end_rlp_addr, store_addr + + // EIP-4844: Versioned hashes should have `VERSIONED_HASH_VERSION_KZG` as MSB + DUP2 + %shr_const(248) + // stack: MSB, hash, end_rlp_addr, store_addr + %eq_const(1) + // stack: hash_is_valid?, rlp_addr, hash, end_rlp_addr, store_addr + %assert_nonzero(invalid_txn_3) + + // stack: rlp_addr, hash, end_rlp_addr, store_addr + SWAP3 DUP1 SWAP2 + // stack: hash, store_addr, store_addr, end_rlp_addr, rlp_addr + MSTORE_GENERAL + // stack: store_addr, end_rlp_addr, rlp_addr + %increment SWAP2 + // stack: rlp_addr, end_rlp_addr, store_addr' + %jump(decode_and_store_blob_versioned_hashes_loop) +decode_and_store_blob_versioned_hashes_finish: + %stack (rlp_addr, end_rlp_addr, store_addr, retdest) -> (retdest, rlp_addr) + JUMP + %macro decode_and_store_y_parity // stack: rlp_addr %decode_rlp_scalar diff --git a/evm_arithmetization/src/cpu/kernel/asm/transactions/router.asm b/evm_arithmetization/src/cpu/kernel/asm/transactions/router.asm index 10506d328..f2b5c47aa 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/transactions/router.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/transactions/router.asm @@ -14,25 +14,33 @@ read_txn_from_memory: // stack: retdest // We will peak at the first byte to determine what type of transaction this is. - // Note that type 1 and 2 transactions have a first byte of 1 and 2, respectively. + // Note that type 1, 2 and 3 transactions have a first byte of 1, 2 and 3, respectively. // Type 0 (legacy) transactions have no such prefix, but their RLP will have a // first byte >= 0xc0, so there is no overlap. PUSH @INITIAL_TXN_RLP_ADDR + DUP1 MLOAD_GENERAL %eq_const(1) - // stack: first_byte == 1, retdest + // stack: first_byte == 1, rlp_segment, retdest %jumpi(process_type_1_txn) - // stack: retdest + // stack: rlp_segment, retdest - PUSH @INITIAL_TXN_RLP_ADDR + DUP1 MLOAD_GENERAL %eq_const(2) - // stack: first_byte == 2, retdest + // stack: first_byte == 2, rlp_segment, retdest %jumpi(process_type_2_txn) - // stack: retdest + // stack: rlp_segment, retdest + + DUP1 + MLOAD_GENERAL + %eq_const(3) + // stack: first_byte == 3, rlp_segment, retdest + %jumpi(process_type_3_txn) + // stack: rlp_segment, retdest - // At this point, since it's not a type 1 or 2 transaction, + // At this point, since it's not a type 1, 2 or 3 transaction, // it must be a legacy (aka type 0) transaction. %jump(process_type_0_txn) diff --git a/evm_arithmetization/src/cpu/kernel/asm/transactions/type_0.asm b/evm_arithmetization/src/cpu/kernel/asm/transactions/type_0.asm index 12d105b8a..d0d68b57d 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/transactions/type_0.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/transactions/type_0.asm @@ -12,8 +12,6 @@ // keccak256(rlp([nonce, gas_price, gas_limit, to, value, data])) global process_type_0_txn: - // stack: retdest - PUSH @INITIAL_TXN_RLP_ADDR // stack: rlp_addr, retdest %decode_rlp_list_len // We don't actually need the length. diff --git a/evm_arithmetization/src/cpu/kernel/asm/transactions/type_1.asm b/evm_arithmetization/src/cpu/kernel/asm/transactions/type_1.asm index f8a7a556e..3b386ce6f 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/transactions/type_1.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/transactions/type_1.asm @@ -7,11 +7,9 @@ // data, access_list])) global process_type_1_txn: - // stack: retdest + // stack: rlp_addr, retdest // Initial rlp address offset of 1 (skipping over the 0x01 byte) - PUSH 1 - PUSH @INITIAL_TXN_RLP_ADDR - %build_kernel_address + %add_const(1) // stack: rlp_addr, retdest %decode_rlp_list_len // We don't actually need the length. diff --git a/evm_arithmetization/src/cpu/kernel/asm/transactions/type_2.asm b/evm_arithmetization/src/cpu/kernel/asm/transactions/type_2.asm index 41bdfd4ed..150ebac7e 100644 --- a/evm_arithmetization/src/cpu/kernel/asm/transactions/type_2.asm +++ b/evm_arithmetization/src/cpu/kernel/asm/transactions/type_2.asm @@ -8,11 +8,9 @@ // access_list])) global process_type_2_txn: - // stack: retdest + // stack: rlp_addr, retdest // Initial rlp address offset of 1 (skipping over the 0x02 byte) - PUSH 1 - PUSH @INITIAL_TXN_RLP_ADDR - %build_kernel_address + %add_const(1) // stack: rlp_addr, retdest %decode_rlp_list_len // We don't actually need the length. diff --git a/evm_arithmetization/src/cpu/kernel/asm/transactions/type_3.asm b/evm_arithmetization/src/cpu/kernel/asm/transactions/type_3.asm new file mode 100644 index 000000000..286ff6b06 --- /dev/null +++ b/evm_arithmetization/src/cpu/kernel/asm/transactions/type_3.asm @@ -0,0 +1,186 @@ +// Type 3 transactions, introduced by EIP 4844, have the format +// 0x03 || rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, to, value, +// data, access_list, max_fee_per_blob_gas, blob_versioned_hashes, y_parity, r, s]) +// +// The signed data is +// keccak256(0x03 || rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, +// to, value, data, access_list, max_fee_per_blob_gas, blob_versioned_hashes])) + +global process_type_3_txn: + // stack: rlp_addr, retdest + // Initial rlp address offset of 1 (skipping over the 0x03 byte) + %add_const(1) + // stack: rlp_addr, retdest + %decode_rlp_list_len + // We don't actually need the length. + %stack (rlp_addr, len) -> (rlp_addr) + + // stack: rlp_addr, retdest + %store_chain_id_present_true + %decode_and_store_chain_id + %decode_and_store_nonce + %decode_and_store_max_priority_fee + %decode_and_store_max_fee + %decode_and_store_gas_limit + %decode_and_store_to + %decode_and_store_value + %decode_and_store_data + %decode_and_store_access_list + %decode_and_store_max_fee_per_blob_gas + %decode_and_store_blob_versioned_hashes + %decode_and_store_y_parity + %decode_and_store_r + %decode_and_store_s + + // stack: rlp_addr, retdest + POP + // stack: retdest + +// From EIP-4844: +// The signature_y_parity, signature_r, signature_s elements of this transaction represent a secp256k1 signature over +// keccak256(0x03 || rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, to, value, data, access_list, max_fee_per_blob_gas, blob_versioned_hashes])) +type_3_compute_signed_data: + %alloc_rlp_block + // stack: rlp_addr_start, retdest + %mload_txn_field(@TXN_FIELD_CHAIN_ID) + // stack: chain_id, rlp_start, retdest + DUP2 + // stack: rlp_addr, chain_id, rlp_start, retdest + %encode_rlp_scalar + // stack: rlp_addr, rlp_start, retdest + + %mload_txn_field(@TXN_FIELD_NONCE) + %encode_rlp_scalar_swapped_inputs + // stack: rlp_addr, rlp_start, retdest + + %mload_txn_field(@TXN_FIELD_MAX_PRIORITY_FEE_PER_GAS) + %encode_rlp_scalar_swapped_inputs + // stack: rlp_addr, rlp_start, retdest + + %mload_txn_field(@TXN_FIELD_MAX_FEE_PER_GAS) + %encode_rlp_scalar_swapped_inputs + // stack: rlp_addr, rlp_start, retdest + + %mload_txn_field(@TXN_FIELD_GAS_LIMIT) + %encode_rlp_scalar_swapped_inputs + // stack: rlp_addr, rlp_start, retdest + + // As per EIP-4844, blob transactions cannot have the form of a create transaction. + %mload_txn_field(@TXN_FIELD_TO) + %mload_global_metadata(@GLOBAL_METADATA_CONTRACT_CREATION) %jumpi(panic) + // stack: to, rlp_addr, rlp_start, retdest + SWAP1 %encode_rlp_160 + // stack: rlp_addr, rlp_start, retdest + + %mload_txn_field(@TXN_FIELD_VALUE) + %encode_rlp_scalar_swapped_inputs + // stack: rlp_addr, rlp_start, retdest + + // Encode txn data. + %mload_txn_field(@TXN_FIELD_DATA_LEN) + PUSH @SEGMENT_TXN_DATA // ctx == virt == 0 + // stack: ADDR, len, rlp_addr, rlp_start, retdest + PUSH after_serializing_txn_data + // stack: after_serializing_txn_data, ADDR, len, rlp_addr, rlp_start, retdest + SWAP3 + // stack: rlp_addr, ADDR, len, after_serializing_txn_data, rlp_start, retdest + %jump(encode_rlp_string) + +after_serializing_txn_data: + // Instead of manually encoding the access list, we just copy the raw RLP from the transaction. + %mload_global_metadata(@GLOBAL_METADATA_ACCESS_LIST_RLP_START) + %mload_global_metadata(@GLOBAL_METADATA_ACCESS_LIST_RLP_LEN) + %stack (al_len, al_start, rlp_addr, rlp_start, retdest) -> + ( + rlp_addr, + al_start, + al_len, + after_serializing_access_list, + rlp_addr, rlp_start, retdest) + %jump(memcpy_bytes) +after_serializing_access_list: + // stack: rlp_addr, rlp_start, retdest + %mload_global_metadata(@GLOBAL_METADATA_ACCESS_LIST_RLP_LEN) ADD + // stack: rlp_addr, rlp_start, retdest + + %mload_txn_field(@TXN_FIELD_MAX_FEE_PER_BLOB_GAS) + %encode_rlp_scalar_swapped_inputs + // stack: rlp_addr, rlp_start, retdest + + // Instead of manually encoding the blob versioned hashes, we just copy the raw RLP from the transaction. + %mload_global_metadata(@GLOBAL_METADATA_BLOB_VERSIONED_HASHES_RLP_START) + %mload_global_metadata(@GLOBAL_METADATA_BLOB_VERSIONED_HASHES_RLP_LEN) + %stack (bvh_len, bvh_start, rlp_addr, rlp_start, retdest) -> + ( + rlp_addr, + bvh_start, + bvh_len, + after_serializing_blob_versioned_hashes, + rlp_addr, rlp_start, retdest) + %jump(memcpy_bytes) +after_serializing_blob_versioned_hashes: + // stack: rlp_addr, rlp_start, retdest + %mload_global_metadata(@GLOBAL_METADATA_BLOB_VERSIONED_HASHES_RLP_LEN) ADD + // stack: rlp_addr, rlp_start, retdest + %prepend_rlp_list_prefix + // stack: prefix_start_pos, rlp_len, retdest + + // Store a `3` in front of the RLP + %decrement + %stack (rlp_addr) -> (3, rlp_addr, rlp_addr) + MSTORE_GENERAL + // stack: rlp_addr, rlp_len, retdest + + // Hash the RLP + the leading `3` + SWAP1 %increment SWAP1 + // stack: ADDR, len, retdest + KECCAK_GENERAL + // stack: hash, retdest + + %mload_txn_field(@TXN_FIELD_S) + %mload_txn_field(@TXN_FIELD_R) + %mload_txn_field(@TXN_FIELD_Y_PARITY) %add_const(27) // ecrecover interprets v as y_parity + 27 + + PUSH store_origin + // stack: store_origin, v, r, s, hash, retdest + SWAP4 + // stack: hash, v, r, s, store_origin, retdest + %jump(ecrecover) + +store_origin: + // stack: address, retdest + // If ecrecover returned u256::MAX, that indicates failure. + DUP1 + %eq_const(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) + %jumpi(panic) + + // stack: address, retdest + + // EIP-4844: Deduct blob_gas_fee from the sender and burn it + %compute_blob_gas_fee + DUP2 + // stack: address, blob_gas_fee, address, retdest + %deduct_eth + // stack: deduct_eth_status, address, retdest + %jumpi(transfer_eth_failure) + + // stack: address, retdest + %mstore_txn_field(@TXN_FIELD_ORIGIN) + // stack: retdest + %jump(process_normalized_txn) + +%macro compute_blob_gas_fee + PUSH @GAS_PER_BLOB + %get_blob_versioned_hashes_list_length + MUL + PROVER_INPUT(blobbasefee) + MUL +%endmacro + +%macro get_blob_versioned_hashes_list_length + // stack: (empty) + PUSH 33 // encoded length of each blob versioned hash + %mload_global_metadata(@GLOBAL_METADATA_BLOB_VERSIONED_HASHES_LEN) + DIV + // stack: len +%endmacro diff --git a/evm_arithmetization/src/cpu/kernel/constants/exc_bitfields.rs b/evm_arithmetization/src/cpu/kernel/constants/exc_bitfields.rs index 34a655e5c..0abc84e70 100644 --- a/evm_arithmetization/src/cpu/kernel/constants/exc_bitfields.rs +++ b/evm_arithmetization/src/cpu/kernel/constants/exc_bitfields.rs @@ -37,6 +37,7 @@ pub(crate) const STACK_LENGTH_INCREASING_OPCODES_USER: U256 = u256_from_set_inde 0x3d..=0x3d, // RETURNDATASIZE 0x41..=0x48, /* COINBASE, TIMESTAMP, NUMBER, DIFFICULTY, GASLIMIT, CHAINID, SELFBALANCE, * BASEFEE */ + 0x4a..=0x4a, // BLOBBASEFEE 0x58..=0x5a, // PC, MSIZE, GAS 0x5f..=0x8f, // PUSH*, DUP* ]); @@ -45,8 +46,7 @@ pub(crate) const INVALID_OPCODES_USER: U256 = u256_from_set_index_ranges(&[ 0x0c..=0x0f, 0x1e..=0x1f, 0x21..=0x2f, - 0x49..=0x4f, - 0x5c..=0x5e, + 0x4a..=0x4f, 0xa5..=0xef, 0xf6..=0xf9, 0xfb..=0xfc, diff --git a/evm_arithmetization/src/cpu/kernel/constants/global_metadata.rs b/evm_arithmetization/src/cpu/kernel/constants/global_metadata.rs index 4baa18f48..8f18ec60a 100644 --- a/evm_arithmetization/src/cpu/kernel/constants/global_metadata.rs +++ b/evm_arithmetization/src/cpu/kernel/constants/global_metadata.rs @@ -49,6 +49,8 @@ pub(crate) enum GlobalMetadata { BlockGasLimit, BlockChainId, BlockBaseFee, + BlockBlobGasUsed, + BlockExcessBlobGas, BlockGasUsed, /// Before current transactions block values. BlockGasUsedBefore, @@ -56,6 +58,8 @@ pub(crate) enum GlobalMetadata { BlockGasUsedAfter, /// Current block header hash BlockCurrentHash, + /// EIP-4788: hash tree root of the beacon chain parent block. + ParentBeaconBlockRoot, /// Gas to refund at the end of the transaction. RefundCounter, @@ -92,12 +96,25 @@ pub(crate) enum GlobalMetadata { TxnNumberBefore, TxnNumberAfter, + /// Number of created contracts during the current transaction. + CreatedContractsLen, + KernelHash, KernelLen, + + /// The length of the transient storage segment. + TransientStorageLen, + + // Start of the blob versioned hashes in the RLP for type-3 txns. + BlobVersionedHashesRlpStart, + // Length of the blob versioned hashes in the RLP for type-3 txns. + BlobVersionedHashesRlpLen, + // Number of blob versioned hashes contained in the current type-3 transaction. + BlobVersionedHashesLen, } impl GlobalMetadata { - pub(crate) const COUNT: usize = 47; + pub(crate) const COUNT: usize = 55; /// Unscales this virtual offset by their respective `Segment` value. pub(crate) const fn unscale(&self) -> usize { @@ -128,8 +145,11 @@ impl GlobalMetadata { Self::BlockChainId, Self::BlockBaseFee, Self::BlockGasUsed, + Self::BlockBlobGasUsed, + Self::BlockExcessBlobGas, Self::BlockGasUsedBefore, Self::BlockGasUsedAfter, + Self::ParentBeaconBlockRoot, Self::RefundCounter, Self::AccessedAddressesLen, Self::AccessedStorageKeysLen, @@ -151,8 +171,13 @@ impl GlobalMetadata { Self::BlockCurrentHash, Self::TxnNumberBefore, Self::TxnNumberAfter, + Self::CreatedContractsLen, Self::KernelHash, Self::KernelLen, + Self::TransientStorageLen, + Self::BlobVersionedHashesRlpStart, + Self::BlobVersionedHashesRlpLen, + Self::BlobVersionedHashesLen, ] } @@ -180,10 +205,13 @@ impl GlobalMetadata { Self::BlockGasLimit => "GLOBAL_METADATA_BLOCK_GAS_LIMIT", Self::BlockChainId => "GLOBAL_METADATA_BLOCK_CHAIN_ID", Self::BlockBaseFee => "GLOBAL_METADATA_BLOCK_BASE_FEE", + Self::BlockBlobGasUsed => "GLOBAL_METADATA_BLOCK_BLOB_GAS_USED", + Self::BlockExcessBlobGas => "GLOBAL_METADATA_BLOCK_EXCESS_BLOB_GAS", Self::BlockGasUsed => "GLOBAL_METADATA_BLOCK_GAS_USED", Self::BlockGasUsedBefore => "GLOBAL_METADATA_BLOCK_GAS_USED_BEFORE", Self::BlockGasUsedAfter => "GLOBAL_METADATA_BLOCK_GAS_USED_AFTER", Self::BlockCurrentHash => "GLOBAL_METADATA_BLOCK_CURRENT_HASH", + Self::ParentBeaconBlockRoot => "GLOBAL_METADATA_PARENT_BEACON_BLOCK_ROOT", Self::RefundCounter => "GLOBAL_METADATA_REFUND_COUNTER", Self::AccessedAddressesLen => "GLOBAL_METADATA_ACCESSED_ADDRESSES_LEN", Self::AccessedStorageKeysLen => "GLOBAL_METADATA_ACCESSED_STORAGE_KEYS_LEN", @@ -204,8 +232,13 @@ impl GlobalMetadata { Self::LogsPayloadLen => "GLOBAL_METADATA_LOGS_PAYLOAD_LEN", Self::TxnNumberBefore => "GLOBAL_METADATA_TXN_NUMBER_BEFORE", Self::TxnNumberAfter => "GLOBAL_METADATA_TXN_NUMBER_AFTER", + Self::CreatedContractsLen => "GLOBAL_METADATA_CREATED_CONTRACTS_LEN", Self::KernelHash => "GLOBAL_METADATA_KERNEL_HASH", Self::KernelLen => "GLOBAL_METADATA_KERNEL_LEN", + Self::TransientStorageLen => "GLOBAL_METADATA_TRANSIENT_STORAGE_LEN", + Self::BlobVersionedHashesRlpStart => "GLOBAL_METADATA_BLOB_VERSIONED_HASHES_RLP_START", + Self::BlobVersionedHashesRlpLen => "GLOBAL_METADATA_BLOB_VERSIONED_HASHES_RLP_LEN", + Self::BlobVersionedHashesLen => "GLOBAL_METADATA_BLOB_VERSIONED_HASHES_LEN", } } } diff --git a/evm_arithmetization/src/cpu/kernel/constants/journal_entry.rs b/evm_arithmetization/src/cpu/kernel/constants/journal_entry.rs index d84f2ade8..7a21fd646 100644 --- a/evm_arithmetization/src/cpu/kernel/constants/journal_entry.rs +++ b/evm_arithmetization/src/cpu/kernel/constants/journal_entry.rs @@ -11,10 +11,11 @@ pub(crate) enum JournalEntry { Refund = 8, AccountCreated = 9, Log = 10, + TransientStorageChange = 11, } impl JournalEntry { - pub(crate) const COUNT: usize = 11; + pub(crate) const COUNT: usize = 12; pub(crate) const fn all() -> [Self; Self::COUNT] { [ @@ -29,6 +30,7 @@ impl JournalEntry { Self::Refund, Self::AccountCreated, Self::Log, + Self::TransientStorageChange, ] } @@ -46,6 +48,7 @@ impl JournalEntry { Self::Refund => "JOURNAL_ENTRY_REFUND", Self::AccountCreated => "JOURNAL_ENTRY_ACCOUNT_CREATED", Self::Log => "JOURNAL_ENTRY_LOG", + Self::TransientStorageChange => "JOURNAL_ENTRY_TRANSIENT_STORAGE_CHANGE", } } } diff --git a/evm_arithmetization/src/cpu/kernel/constants/mod.rs b/evm_arithmetization/src/cpu/kernel/constants/mod.rs index 19da9a804..3bd99f610 100644 --- a/evm_arithmetization/src/cpu/kernel/constants/mod.rs +++ b/evm_arithmetization/src/cpu/kernel/constants/mod.rs @@ -1,6 +1,6 @@ use std::collections::HashMap; -use ethereum_types::U256; +use ethereum_types::{H256, U256}; use hex_literal::hex; use crate::cpu::kernel::constants::context_metadata::ContextMetadata; @@ -8,6 +8,7 @@ use crate::cpu::kernel::constants::global_metadata::GlobalMetadata; use crate::cpu::kernel::constants::journal_entry::JournalEntry; use crate::cpu::kernel::constants::trie_type::PartialTrieType; use crate::cpu::kernel::constants::txn_fields::NormalizedTxnField; +use crate::generation::mpt::AccountRlp; use crate::memory::segments::Segment; pub(crate) mod context_metadata; @@ -56,6 +57,25 @@ pub(crate) fn evm_constants() -> HashMap { c.insert(MAX_NONCE.0.into(), U256::from(MAX_NONCE.1)); c.insert(CALL_STACK_LIMIT.0.into(), U256::from(CALL_STACK_LIMIT.1)); + c.insert( + cancun_constants::BEACON_ROOTS_CONTRACT_STATE_KEY.0.into(), + U256::from_big_endian(&cancun_constants::BEACON_ROOTS_CONTRACT_STATE_KEY.1), + ); + c.insert( + cancun_constants::HISTORY_BUFFER_LENGTH.0.into(), + cancun_constants::HISTORY_BUFFER_LENGTH.1.into(), + ); + + c.insert( + global_exit_root::GLOBAL_EXIT_ROOT_MANAGER_L2_STATE_KEY + .0 + .into(), + U256::from_big_endian(&global_exit_root::GLOBAL_EXIT_ROOT_MANAGER_L2_STATE_KEY.1), + ); + c.insert( + global_exit_root::GLOBAL_EXIT_ROOT_STORAGE_POS.0.into(), + U256::from(global_exit_root::GLOBAL_EXIT_ROOT_STORAGE_POS.1), + ); for segment in Segment::all() { c.insert(segment.var_name().into(), (segment as usize).into()); @@ -89,7 +109,7 @@ pub(crate) fn evm_constants() -> HashMap { c } -const MISC_CONSTANTS: [(&str, [u8; 32]); 4] = [ +const MISC_CONSTANTS: [(&str, [u8; 32]); 5] = [ // Base for limbs used in bignum arithmetic. ( "BIGNUM_LIMB_BASE", @@ -114,6 +134,12 @@ const MISC_CONSTANTS: [(&str, [u8; 32]); 4] = [ "INITIAL_TXN_RLP_ADDR", hex!("0000000000000000000000000000000000000000000000000000000b00000001"), ), + // Scaled boolean value indicating that we are in kernel mode, to be used within `kexit_info`. + // It is equal to 2^32. + ( + "IS_KERNEL", + hex!("0000000000000000000000000000000000000000000000000000000100000000"), + ), ]; const HASH_CONSTANTS: [(&str, [u8; 32]); 2] = [ @@ -235,7 +261,7 @@ const EC_CONSTANTS: [(&str, [u8; 32]); 25] = [ ), ]; -const GAS_CONSTANTS: [(&str, u16); 36] = [ +const GAS_CONSTANTS: [(&str, u32); 38] = [ ("GAS_ZERO", 0), ("GAS_JUMPDEST", 1), ("GAS_BASE", 2), @@ -272,11 +298,13 @@ const GAS_CONSTANTS: [(&str, u16); 36] = [ ("GAS_KECCAK256WORD", 6), ("GAS_COPY", 3), ("GAS_BLOCKHASH", 20), + ("GAS_HASH_OPCODE", 3), + ("GAS_PER_BLOB", 131_072), ]; const REFUND_CONSTANTS: [(&str, u16); 2] = [("REFUND_SCLEAR", 4_800), ("MAX_REFUND_QUOTIENT", 5)]; -const PRECOMPILES: [(&str, u16); 9] = [ +const PRECOMPILES: [(&str, u16); 10] = [ ("ECREC", 1), ("SHA256", 2), ("RIP160", 3), @@ -286,9 +314,10 @@ const PRECOMPILES: [(&str, u16); 9] = [ ("BN_MUL", 7), ("SNARKV", 8), ("BLAKE2_F", 9), + ("KZG_PEVAL", 10), ]; -const PRECOMPILES_GAS: [(&str, u16); 13] = [ +const PRECOMPILES_GAS: [(&str, u16); 14] = [ ("ECREC_GAS", 3_000), ("SHA256_STATIC_GAS", 60), ("SHA256_DYNAMIC_GAS", 12), @@ -302,6 +331,7 @@ const PRECOMPILES_GAS: [(&str, u16); 13] = [ ("SNARKV_STATIC_GAS", 45_000), ("SNARKV_DYNAMIC_GAS", 34_000), ("BLAKE2_F__GAS", 1), + ("KZG_PEVAL_GAS", 50_000), ]; const SNARKV_POINTERS: [(&str, u64); 2] = [("SNARKV_INP", 112), ("SNARKV_OUT", 100)]; @@ -314,3 +344,84 @@ const CODE_SIZE_LIMIT: [(&str, u64); 3] = [ const MAX_NONCE: (&str, u64) = ("MAX_NONCE", 0xffffffffffffffff); const CALL_STACK_LIMIT: (&str, u64) = ("CALL_STACK_LIMIT", 1024); + +/// Cancun-related constants +/// See and +/// . +pub mod cancun_constants { + use super::*; + + pub const BLOB_BASE_FEE_UPDATE_FRACTION: U256 = U256([0x32f0ed, 0, 0, 0]); + + pub const MIN_BASE_FEE_PER_BLOB_GAS: U256 = U256::one(); + + pub const KZG_VERSIONED_HASH: u8 = 0x01; + + pub const POINT_EVALUATION_PRECOMPILE_RETURN_VALUE: [[u8; 32]; 2] = [ + // U256(FIELD_ELEMENTS_PER_BLOB).to_be_bytes() + hex!("0000000000000000000000000000000000000000000000000000000000001000"), + // BLS_MODULUS.to_bytes32() + hex!("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"), + ]; + + // Taken from . + pub const G2_TRUSTED_SETUP_POINT: [[u8; 64]; 4] = [ + hex!("00000000000000000000000000000000185cbfee53492714734429b7b38608e23926c911cceceac9a36851477ba4c60b087041de621000edc98edada20c1def2"), // x_re + hex!("0000000000000000000000000000000015bfd7dd8cdeb128843bc287230af38926187075cbfbefa81009a2ce615ac53d2914e5870cb452d2afaaab24f3499f72"), // x_im + hex!("00000000000000000000000000000000014353bdb96b626dd7d5ee8599d1fca2131569490e28de18e82451a496a9c9794ce26d105941f383ee689bfbbb832a99"), // y_re + hex!("000000000000000000000000000000001666c54b0a32529503432fcae0181b4bef79de09fc63671fda5ed1ba9bfa07899495346f3d7ac9cd23048ef30d0a154f"), // y_im + ]; + + pub const BEACON_ROOTS_CONTRACT_STATE_KEY: (&str, [u8; 20]) = ( + "BEACON_ROOTS_CONTRACT_STATE_KEY", + hex!("000F3df6D732807Ef1319fB7B8bB8522d0Beac02"), + ); + + pub const HISTORY_BUFFER_LENGTH: (&str, u64) = ("HISTORY_BUFFER_LENGTH", 8191); + + pub const BEACON_ROOTS_CONTRACT_CODE: [u8; 97] = hex!("3373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff015500"); + pub const BEACON_ROOTS_CONTRACT_CODE_HASH: [u8; 32] = + hex!("f57acd40259872606d76197ef052f3d35588dadf919ee1f0e3cb9b62d3f4b02c"); + + pub const BEACON_ROOTS_CONTRACT_ADDRESS_HASHED: [u8; 32] = + hex!("37d65eaa92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e42"); + + pub const BEACON_ROOTS_ACCOUNT: AccountRlp = AccountRlp { + nonce: U256::zero(), + balance: U256::zero(), + // Storage root for this account at genesis. + storage_root: H256(hex!( + "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" + )), + code_hash: H256(BEACON_ROOTS_CONTRACT_CODE_HASH), + }; +} + +pub mod global_exit_root { + use super::*; + + /// Taken from https://github.com/0xPolygonHermez/cdk-erigon/blob/61f0b6912055c73f6879ea7e9b5bac22ea5fc85c/zk/utils/global_exit_root.go#L16. + pub const GLOBAL_EXIT_ROOT_MANAGER_L2_STATE_KEY: (&str, [u8; 20]) = ( + "GLOBAL_EXIT_ROOT_MANAGER_L2_STATE_KEY", + hex!("a40D5f56745a118D0906a34E69aeC8C0Db1cB8fA"), + ); + /// Taken from https://github.com/0xPolygonHermez/cdk-erigon/blob/61f0b6912055c73f6879ea7e9b5bac22ea5fc85c/zk/utils/global_exit_root.go#L17. + pub const GLOBAL_EXIT_ROOT_STORAGE_POS: (&str, u64) = ("GLOBAL_EXIT_ROOT_STORAGE_POS", 0); + + /// Taken from https://zkevm.polygonscan.com/address/0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA#code. + pub const GLOBAL_EXIT_ROOT_CONTRACT_CODE: [u8; 2112] = hex!("60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c63430008090033"); + pub const GLOBAL_EXIT_ROOT_CONTRACT_CODE_HASH: [u8; 32] = + hex!("6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5"); + pub const GLOBAL_EXIT_ROOT_ADDRESS_HASHED: [u8; 32] = + hex!("1d5e9c22b4b1a781d0ef63e9c1293c2a45fee966809019aa9804b5e7148b0ca9"); + + pub const GLOBAL_EXIT_ROOT_ACCOUNT: AccountRlp = AccountRlp { + nonce: U256::zero(), + balance: U256::zero(), + // Empty storage root + storage_root: H256(hex!( + "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" + )), + code_hash: H256(GLOBAL_EXIT_ROOT_CONTRACT_CODE_HASH), + }; +} diff --git a/evm_arithmetization/src/cpu/kernel/constants/txn_fields.rs b/evm_arithmetization/src/cpu/kernel/constants/txn_fields.rs index 7b49cf7ff..9d38a8cf1 100644 --- a/evm_arithmetization/src/cpu/kernel/constants/txn_fields.rs +++ b/evm_arithmetization/src/cpu/kernel/constants/txn_fields.rs @@ -5,7 +5,6 @@ use crate::memory::segments::Segment; /// /// Each value is directly scaled by the corresponding `Segment::TxnFields` /// value for faster memory access in the kernel. -#[allow(dead_code)] #[allow(clippy::enum_clike_unportable_variant)] #[repr(usize)] #[derive(Copy, Clone, Eq, PartialEq, Hash, Ord, PartialOrd, Debug)] @@ -24,6 +23,7 @@ pub(crate) enum NormalizedTxnField { /// The length of the data field. The data itself is stored in another /// segment. DataLen, + MaxFeePerBlobGas, YParity, R, S, @@ -37,9 +37,10 @@ pub(crate) enum NormalizedTxnField { } impl NormalizedTxnField { - pub(crate) const COUNT: usize = 16; + pub(crate) const COUNT: usize = 17; /// Unscales this virtual offset by their respective `Segment` value. + #[cfg(test)] pub(crate) const fn unscale(&self) -> usize { *self as usize - Segment::TxnFields as usize } @@ -56,6 +57,7 @@ impl NormalizedTxnField { Self::To, Self::Value, Self::DataLen, + Self::MaxFeePerBlobGas, Self::YParity, Self::R, Self::S, @@ -78,6 +80,7 @@ impl NormalizedTxnField { NormalizedTxnField::To => "TXN_FIELD_TO", NormalizedTxnField::Value => "TXN_FIELD_VALUE", NormalizedTxnField::DataLen => "TXN_FIELD_DATA_LEN", + NormalizedTxnField::MaxFeePerBlobGas => "TXN_FIELD_MAX_FEE_PER_BLOB_GAS", NormalizedTxnField::YParity => "TXN_FIELD_Y_PARITY", NormalizedTxnField::R => "TXN_FIELD_R", NormalizedTxnField::S => "TXN_FIELD_S", diff --git a/evm_arithmetization/src/cpu/kernel/interpreter.rs b/evm_arithmetization/src/cpu/kernel/interpreter.rs index e47d48e92..38fbe2320 100644 --- a/evm_arithmetization/src/cpu/kernel/interpreter.rs +++ b/evm_arithmetization/src/cpu/kernel/interpreter.rs @@ -5,7 +5,6 @@ //! the future execution and generate nondeterministically the corresponding //! jumpdest table, before the actual CPU carries on with contract execution. -use core::cmp::Ordering; use std::collections::{BTreeSet, HashMap}; use anyhow::anyhow; @@ -51,6 +50,7 @@ pub(crate) struct Interpreter { /// halt_context pub(crate) halt_context: Option, /// Counts the number of appearances of each opcode. For debugging purposes. + #[allow(unused)] pub(crate) opcode_count: [usize; 0x100], jumpdest_table: HashMap>, /// `true` if the we are currently carrying out a jumpdest analysis. @@ -199,6 +199,18 @@ impl Interpreter { h2u(inputs.block_hashes.cur_hash), ), (GlobalMetadata::BlockGasUsed, metadata.block_gas_used), + ( + GlobalMetadata::BlockBlobGasUsed, + metadata.block_blob_gas_used, + ), + ( + GlobalMetadata::BlockExcessBlobGas, + metadata.block_excess_blob_gas, + ), + ( + GlobalMetadata::ParentBeaconBlockRoot, + h2u(metadata.parent_beacon_block_root), + ), (GlobalMetadata::BlockGasUsedBefore, inputs.gas_used_before), (GlobalMetadata::BlockGasUsedAfter, inputs.gas_used_after), (GlobalMetadata::TxnNumberBefore, inputs.txn_number_before), @@ -363,18 +375,6 @@ impl Interpreter { } } - pub(crate) const fn stack_len(&self) -> usize { - self.generation_state.registers.stack_len - } - - pub(crate) const fn stack_top(&self) -> anyhow::Result { - if self.stack_len() > 0 { - Ok(self.generation_state.registers.stack_top) - } else { - Err(ProgramError::StackUnderflow) - } - } - pub(crate) const fn is_kernel(&self) -> bool { self.generation_state.registers.is_kernel } @@ -590,6 +590,7 @@ impl Transition for Interpreter { } } +#[cfg(debug_assertions)] fn get_mnemonic(opcode: u8) -> &'static str { match opcode { 0x00 => "STOP", @@ -648,7 +649,7 @@ fn get_mnemonic(opcode: u8) -> &'static str { 0x45 => "GASLIMIT", 0x46 => "CHAINID", 0x48 => "BASEFEE", - 0x49 => "PROVER_INPUT", + 0x4a => "BLOBBASEFEE", 0x50 => "POP", 0x51 => "MLOAD", 0x52 => "MSTORE", @@ -661,6 +662,7 @@ fn get_mnemonic(opcode: u8) -> &'static str { 0x59 => "MSIZE", 0x5a => "GAS", 0x5b => "JUMPDEST", + 0x5e => "MCOPY", 0x5f => "PUSH0", 0x60 => "PUSH1", 0x61 => "PUSH2", @@ -764,6 +766,7 @@ fn get_mnemonic(opcode: u8) -> &'static str { 0xdd => "MSTORE_32BYTES_30", 0xde => "MSTORE_32BYTES_31", 0xdf => "MSTORE_32BYTES_32", + 0xee => "PROVER_INPUT", 0xf0 => "CREATE", 0xf1 => "CALL", 0xf2 => "CALLCODE", diff --git a/evm_arithmetization/src/cpu/kernel/mod.rs b/evm_arithmetization/src/cpu/kernel/mod.rs index 5a6717f21..8c9d1bf88 100644 --- a/evm_arithmetization/src/cpu/kernel/mod.rs +++ b/evm_arithmetization/src/cpu/kernel/mod.rs @@ -11,6 +11,10 @@ pub mod stack; mod utils; pub(crate) mod interpreter; + +pub use constants::cancun_constants; +pub use constants::global_exit_root; + #[cfg(test)] mod tests; diff --git a/evm_arithmetization/src/cpu/kernel/opcodes.rs b/evm_arithmetization/src/cpu/kernel/opcodes.rs index 538fe0a10..6491003f1 100644 --- a/evm_arithmetization/src/cpu/kernel/opcodes.rs +++ b/evm_arithmetization/src/cpu/kernel/opcodes.rs @@ -63,7 +63,7 @@ pub fn get_opcode(mnemonic: &str) -> u8 { "GASLIMIT" => 0x45, "CHAINID" => 0x46, "BASEFEE" => 0x48, - "PROVER_INPUT" => 0x49, + "BLOBBASEFEE" => 0x4a, "POP" => 0x50, "MLOAD" => 0x51, "MSTORE" => 0x52, @@ -76,6 +76,9 @@ pub fn get_opcode(mnemonic: &str) -> u8 { "MSIZE" => 0x59, "GAS" => 0x5a, "JUMPDEST" => 0x5b, + "TLOAD" => 0x5c, + "TSTORE" => 0x5d, + "MCOPY" => 0x5e, "DUP1" => 0x80, "DUP2" => 0x81, "DUP3" => 0x82, @@ -146,6 +149,7 @@ pub fn get_opcode(mnemonic: &str) -> u8 { "MSTORE_32BYTES_30" => 0xdd, "MSTORE_32BYTES_31" => 0xde, "MSTORE_32BYTES_32" => 0xdf, + "PROVER_INPUT" => 0xee, "CREATE" => 0xf0, "CALL" => 0xf1, "CALLCODE" => 0xf2, diff --git a/evm_arithmetization/src/cpu/kernel/parser.rs b/evm_arithmetization/src/cpu/kernel/parser.rs index e21c6169e..7864acfe0 100644 --- a/evm_arithmetization/src/cpu/kernel/parser.rs +++ b/evm_arithmetization/src/cpu/kernel/parser.rs @@ -1,5 +1,3 @@ -#![allow(clippy::empty_docs)] - use std::str::FromStr; use ethereum_types::U256; diff --git a/evm_arithmetization/src/cpu/kernel/tests/account_code.rs b/evm_arithmetization/src/cpu/kernel/tests/account_code.rs index 5ad2d8485..125760ee5 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/account_code.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/account_code.rs @@ -144,7 +144,7 @@ fn prepare_interpreter( ); let hash = H256::from_uint(&interpreter.stack()[1]); - state_trie.insert(k, rlp::encode(account).to_vec()); + state_trie.insert(k, rlp::encode(account).to_vec())?; let expected_state_trie_hash = state_trie.hash(); assert_eq!(hash, expected_state_trie_hash); @@ -201,7 +201,9 @@ fn test_extcodecopy() -> Result<()> { // Pre-initialize the accessed addresses list. let init_accessed_addresses = KERNEL.global_labels["init_access_lists"]; interpreter.generation_state.registers.program_counter = init_accessed_addresses; - interpreter.push(0xdeadbeefu32.into()); + interpreter + .push(0xdeadbeefu32.into()) + .expect("The stack should not overflow"); interpreter.run()?; let extcodecopy = KERNEL.global_labels["sys_extcodecopy"]; @@ -321,7 +323,7 @@ fn sstore() -> Result<()> { let mut state_trie_before = HashedPartialTrie::from(Node::Empty); - state_trie_before.insert(addr_nibbles, rlp::encode(&account_before).to_vec()); + state_trie_before.insert(addr_nibbles, rlp::encode(&account_before).to_vec())?; let trie_inputs = TrieInputs { state_trie: state_trie_before.clone(), @@ -336,7 +338,9 @@ fn sstore() -> Result<()> { // Pre-initialize the accessed addresses list. let init_accessed_addresses = KERNEL.global_labels["init_access_lists"]; interpreter.generation_state.registers.program_counter = init_accessed_addresses; - interpreter.push(0xdeadbeefu32.into()); + interpreter + .push(0xdeadbeefu32.into()) + .expect("The stack should not overflow"); interpreter.run()?; // Prepare the interpreter by inserting the account in the state trie. @@ -384,7 +388,7 @@ fn sstore() -> Result<()> { let hash = H256::from_uint(&interpreter.stack()[1]); let mut expected_state_trie_after = HashedPartialTrie::from(Node::Empty); - expected_state_trie_after.insert(addr_nibbles, rlp::encode(&account_after).to_vec()); + expected_state_trie_after.insert(addr_nibbles, rlp::encode(&account_after).to_vec())?; let expected_state_trie_hash = expected_state_trie_after.hash(); assert_eq!(hash, expected_state_trie_hash); @@ -417,7 +421,7 @@ fn sload() -> Result<()> { let mut state_trie_before = HashedPartialTrie::from(Node::Empty); - state_trie_before.insert(addr_nibbles, rlp::encode(&account_before).to_vec()); + state_trie_before.insert(addr_nibbles, rlp::encode(&account_before).to_vec())?; let trie_inputs = TrieInputs { state_trie: state_trie_before.clone(), @@ -432,7 +436,9 @@ fn sload() -> Result<()> { // Pre-initialize the accessed addresses list. let init_accessed_addresses = KERNEL.global_labels["init_access_lists"]; interpreter.generation_state.registers.program_counter = init_accessed_addresses; - interpreter.push(0xdeadbeefu32.into()); + interpreter + .push(0xdeadbeefu32.into()) + .expect("The stack should not overflow"); interpreter.run()?; // Prepare the interpreter by inserting the account in the state trie. diff --git a/evm_arithmetization/src/cpu/kernel/tests/add11.rs b/evm_arithmetization/src/cpu/kernel/tests/add11.rs index c2be6a0bd..ae5ac3871 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/add11.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/add11.rs @@ -13,6 +13,11 @@ use crate::cpu::kernel::interpreter::Interpreter; use crate::generation::mpt::{AccountRlp, LegacyReceiptRlp}; use crate::generation::TrieInputs; use crate::proof::{BlockHashes, BlockMetadata, TrieRoots}; +use crate::testing_utils::{ + beacon_roots_account_nibbles, beacon_roots_contract_from_storage, ger_account_nibbles, + preinitialized_state_and_storage_tries, update_beacon_roots_account_storage, + GLOBAL_EXIT_ROOT_ACCOUNT, +}; use crate::GenerationInputs; #[test] @@ -50,25 +55,48 @@ fn test_add11_yml() { ..AccountRlp::default() }; - let mut state_trie_before = HashedPartialTrie::from(Node::Empty); - state_trie_before.insert( - beneficiary_nibbles, - rlp::encode(&beneficiary_account_before).to_vec(), - ); - state_trie_before.insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec()); - state_trie_before.insert(to_nibbles, rlp::encode(&to_account_before).to_vec()); + let (mut state_trie_before, mut storage_tries) = + preinitialized_state_and_storage_tries().unwrap(); + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); + state_trie_before + .insert( + beneficiary_nibbles, + rlp::encode(&beneficiary_account_before).to_vec(), + ) + .unwrap(); + state_trie_before + .insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec()) + .unwrap(); + state_trie_before + .insert(to_nibbles, rlp::encode(&to_account_before).to_vec()) + .unwrap(); + + storage_tries.push((to_hashed, Node::Empty.into())); let tries_before = TrieInputs { state_trie: state_trie_before, transactions_trie: Node::Empty.into(), receipts_trie: Node::Empty.into(), - storage_tries: vec![(to_hashed, Node::Empty.into())], + storage_tries, }; let txn = hex!("f863800a83061a8094095e7baea6a6c7c4c2dfeb977efac326af552d87830186a0801ba0ffb600e63115a7362e7811894a91d8ba4330e526f22121c994c4692035dfdfd5a06198379fcac8de3dbfac48b165df4bf88e2088f294b61efb9a65fe2281c76e16"); let gas_used = 0xa868u64.into(); + let block_metadata = BlockMetadata { + block_beneficiary: Address::from(beneficiary), + block_timestamp: 0x03e8.into(), + block_number: 1.into(), + block_difficulty: 0x020000.into(), + block_random: H256::from_uint(&0x020000.into()), + block_gaslimit: 0xff112233u32.into(), + block_chain_id: 1.into(), + block_base_fee: 0xa.into(), + block_gas_used: gas_used, + ..Default::default() + }; + let expected_state_trie_after = { let beneficiary_account_after = AccountRlp { nonce: 1.into(), @@ -90,15 +118,40 @@ fn test_add11_yml() { .hash(), ..AccountRlp::default() }; + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + ) + .unwrap(); + let beacon_roots_account = + beacon_roots_contract_from_storage(&beacon_roots_account_storage); let mut expected_state_trie_after = HashedPartialTrie::from(Node::Empty); - expected_state_trie_after.insert( - beneficiary_nibbles, - rlp::encode(&beneficiary_account_after).to_vec(), - ); expected_state_trie_after - .insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec()); - expected_state_trie_after.insert(to_nibbles, rlp::encode(&to_account_after).to_vec()); + .insert( + beneficiary_nibbles, + rlp::encode(&beneficiary_account_after).to_vec(), + ) + .unwrap(); + expected_state_trie_after + .insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec()) + .unwrap(); + expected_state_trie_after + .insert(to_nibbles, rlp::encode(&to_account_after).to_vec()) + .unwrap(); + expected_state_trie_after + .insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + ) + .unwrap(); + expected_state_trie_after + .insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + ) + .unwrap(); expected_state_trie_after }; let receipt_0 = LegacyReceiptRlp { @@ -108,10 +161,12 @@ fn test_add11_yml() { logs: vec![], }; let mut receipts_trie = HashedPartialTrie::from(Node::Empty); - receipts_trie.insert( - Nibbles::from_str("0x80").unwrap(), - rlp::encode(&receipt_0).to_vec(), - ); + receipts_trie + .insert( + Nibbles::from_str("0x80").unwrap(), + rlp::encode(&receipt_0).to_vec(), + ) + .unwrap(); let transactions_trie: HashedPartialTrie = Node::Leaf { nibbles: Nibbles::from_str("0x80").unwrap(), value: txn.to_vec(), @@ -124,22 +179,10 @@ fn test_add11_yml() { receipts_root: receipts_trie.hash(), }; - let block_metadata = BlockMetadata { - block_beneficiary: Address::from(beneficiary), - block_timestamp: 0x03e8.into(), - block_number: 1.into(), - block_difficulty: 0x020000.into(), - block_random: H256::from_uint(&0x020000.into()), - block_gaslimit: 0xff112233u32.into(), - block_chain_id: 1.into(), - block_base_fee: 0xa.into(), - block_gas_used: gas_used, - block_bloom: [0.into(); 8], - }; - let inputs = GenerationInputs { signed_txn: Some(txn.to_vec()), withdrawals: vec![], + global_exit_roots: vec![], tries: tries_before, trie_roots_after, contract_code: contract_code.clone(), @@ -200,27 +243,51 @@ fn test_add11_yml_with_exception() { ..AccountRlp::default() }; - let mut state_trie_before = HashedPartialTrie::from(Node::Empty); - state_trie_before.insert( - beneficiary_nibbles, - rlp::encode(&beneficiary_account_before).to_vec(), - ); - state_trie_before.insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec()); - state_trie_before.insert(to_nibbles, rlp::encode(&to_account_before).to_vec()); + let (mut state_trie_before, mut storage_tries) = + preinitialized_state_and_storage_tries().unwrap(); + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); + state_trie_before + .insert( + beneficiary_nibbles, + rlp::encode(&beneficiary_account_before).to_vec(), + ) + .unwrap(); + state_trie_before + .insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec()) + .unwrap(); + state_trie_before + .insert(to_nibbles, rlp::encode(&to_account_before).to_vec()) + .unwrap(); + + storage_tries.push((to_hashed, Node::Empty.into())); let tries_before = TrieInputs { state_trie: state_trie_before, transactions_trie: Node::Empty.into(), receipts_trie: Node::Empty.into(), - storage_tries: vec![(to_hashed, Node::Empty.into())], + storage_tries, }; let txn = hex!("f863800a83061a8094095e7baea6a6c7c4c2dfeb977efac326af552d87830186a0801ba0ffb600e63115a7362e7811894a91d8ba4330e526f22121c994c4692035dfdfd5a06198379fcac8de3dbfac48b165df4bf88e2088f294b61efb9a65fe2281c76e16"); let txn_gas_limit = 400_000; let gas_price = 10; + let block_metadata = BlockMetadata { + block_beneficiary: Address::from(beneficiary), + block_timestamp: 0x03e8.into(), + block_number: 1.into(), + block_difficulty: 0x020000.into(), + block_random: H256::from_uint(&0x020000.into()), + block_gaslimit: 0xff112233u32.into(), + block_chain_id: 1.into(), + block_base_fee: 0xa.into(), + block_gas_used: txn_gas_limit.into(), + ..Default::default() + }; + // Here, since the transaction fails, it consumes its gas limit, and does - // nothing else. + // nothing else. The beacon roots contract is still updated prior transaction + // execution. let expected_state_trie_after = { let beneficiary_account_after = beneficiary_account_before; // This is the only account that changes: the nonce and the balance are updated. @@ -231,14 +298,40 @@ fn test_add11_yml_with_exception() { }; let to_account_after = to_account_before; + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + ) + .unwrap(); + let beacon_roots_account = + beacon_roots_contract_from_storage(&beacon_roots_account_storage); + let mut expected_state_trie_after = HashedPartialTrie::from(Node::Empty); - expected_state_trie_after.insert( - beneficiary_nibbles, - rlp::encode(&beneficiary_account_after).to_vec(), - ); expected_state_trie_after - .insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec()); - expected_state_trie_after.insert(to_nibbles, rlp::encode(&to_account_after).to_vec()); + .insert( + beneficiary_nibbles, + rlp::encode(&beneficiary_account_after).to_vec(), + ) + .unwrap(); + expected_state_trie_after + .insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec()) + .unwrap(); + expected_state_trie_after + .insert(to_nibbles, rlp::encode(&to_account_after).to_vec()) + .unwrap(); + expected_state_trie_after + .insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + ) + .unwrap(); + expected_state_trie_after + .insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + ) + .unwrap(); expected_state_trie_after }; @@ -249,10 +342,12 @@ fn test_add11_yml_with_exception() { logs: vec![], }; let mut receipts_trie = HashedPartialTrie::from(Node::Empty); - receipts_trie.insert( - Nibbles::from_str("0x80").unwrap(), - rlp::encode(&receipt_0).to_vec(), - ); + receipts_trie + .insert( + Nibbles::from_str("0x80").unwrap(), + rlp::encode(&receipt_0).to_vec(), + ) + .unwrap(); let transactions_trie: HashedPartialTrie = Node::Leaf { nibbles: Nibbles::from_str("0x80").unwrap(), value: txn.to_vec(), @@ -265,22 +360,10 @@ fn test_add11_yml_with_exception() { receipts_root: receipts_trie.hash(), }; - let block_metadata = BlockMetadata { - block_beneficiary: Address::from(beneficiary), - block_timestamp: 0x03e8.into(), - block_number: 1.into(), - block_difficulty: 0x020000.into(), - block_random: H256::from_uint(&0x020000.into()), - block_gaslimit: 0xff112233u32.into(), - block_chain_id: 1.into(), - block_base_fee: 0xa.into(), - block_gas_used: txn_gas_limit.into(), - block_bloom: [0.into(); 8], - }; - let inputs = GenerationInputs { signed_txn: Some(txn.to_vec()), withdrawals: vec![], + global_exit_roots: vec![], tries: tries_before, trie_roots_after, contract_code: contract_code.clone(), diff --git a/evm_arithmetization/src/cpu/kernel/tests/balance.rs b/evm_arithmetization/src/cpu/kernel/tests/balance.rs index 034df53a8..2b8f8c241 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/balance.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/balance.rs @@ -96,7 +96,7 @@ fn prepare_interpreter( ); let hash = H256::from_uint(&interpreter.stack()[1]); - state_trie.insert(k, rlp::encode(account).to_vec()); + state_trie.insert(k, rlp::encode(account).to_vec())?; let expected_state_trie_hash = state_trie.hash(); assert_eq!(hash, expected_state_trie_hash); diff --git a/evm_arithmetization/src/cpu/kernel/tests/blobhash.rs b/evm_arithmetization/src/cpu/kernel/tests/blobhash.rs new file mode 100644 index 000000000..429bd729f --- /dev/null +++ b/evm_arithmetization/src/cpu/kernel/tests/blobhash.rs @@ -0,0 +1,93 @@ +use anyhow::Result; +use ethereum_types::{H256, U256}; +use plonky2::field::goldilocks_field::GoldilocksField as F; +use rand::{thread_rng, Rng}; + +use crate::cpu::kernel::aggregator::KERNEL; +use crate::cpu::kernel::constants::context_metadata::ContextMetadata::GasLimit; +use crate::cpu::kernel::constants::global_metadata::GlobalMetadata; +use crate::cpu::kernel::interpreter::Interpreter; +use crate::memory::segments::Segment; +use crate::witness::memory::MemoryContextState; + +#[test] +fn test_valid_blobhash() -> Result<()> { + let blobhash_label = KERNEL.global_labels["sys_blobhash"]; + let retdest = (0xDEADBEEFu64 + (1 << 32)).into(); // kexit_info + + let versioned_hashes: Vec = vec![U256::from_big_endian(&thread_rng().gen::().0); 5]; + let index = 3; + let target_hash = versioned_hashes[index]; + + let mut interpreter: Interpreter = Interpreter::new(blobhash_label, vec![]); + interpreter + .generation_state + .memory + .contexts + .push(MemoryContextState::default()); + interpreter.set_context(1); + interpreter.set_memory_segment(Segment::TxnBlobVersionedHashes, versioned_hashes); + interpreter.set_global_metadata_field(GlobalMetadata::BlobVersionedHashesLen, 5.into()); + + interpreter.set_context_metadata_field(1, GasLimit, U256::from(1000000000000u64)); + + interpreter + .push(index.into()) + .expect("The stack should not overflow"); // target hash index + interpreter + .push(retdest) + .expect("The stack should not overflow"); // kexit_info + + interpreter.run()?; + + let result = interpreter.stack(); + assert_eq!(interpreter.stack_len(), 1); + assert_eq!( + result[0], target_hash, + "Resulting blobhash {:?} different from expected hash {:?}", + result[0], target_hash + ); + + Ok(()) +} + +#[test] +fn test_invalid_blobhash() -> Result<()> { + let blobhash_label = KERNEL.global_labels["sys_blobhash"]; + let retdest = (0xDEADBEEFu64 + (1 << 32)).into(); // kexit_info + + let versioned_hashes: Vec = vec![U256::from_big_endian(&thread_rng().gen::().0); 5]; + let index = 7; + let target_hash = U256::zero(); // out of bound indexing yields 0. + + let mut interpreter: Interpreter = Interpreter::new(blobhash_label, vec![]); + interpreter + .generation_state + .memory + .contexts + .push(MemoryContextState::default()); + interpreter.set_context(1); + interpreter.set_memory_segment(Segment::TxnBlobVersionedHashes, versioned_hashes); + interpreter.set_global_metadata_field(GlobalMetadata::BlobVersionedHashesLen, 5.into()); + + interpreter.set_context_metadata_field(1, GasLimit, U256::from(1000000000000u64)); + + interpreter + .push(index.into()) + .expect("The stack should not overflow"); // target hash index + interpreter + .push(retdest) + .expect("The stack should not overflow"); // kexit_info + + interpreter.run()?; + + let result = interpreter.stack(); + assert_eq!(interpreter.stack_len(), 1); + assert_eq!( + result[0], target_hash, + "Resulting blobhash {:?} different from expected hash {:?}", + result[0], target_hash + ); + + Ok(()) +} diff --git a/evm_arithmetization/src/cpu/kernel/tests/bls381.rs b/evm_arithmetization/src/cpu/kernel/tests/bls381.rs index de6dad4ee..0910ec75c 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/bls381.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/bls381.rs @@ -1,11 +1,17 @@ use anyhow::Result; use ethereum_types::U256; +use hex_literal::hex; use plonky2::field::goldilocks_field::GoldilocksField as F; use rand::Rng; use super::{run_interpreter_with_memory, InterpreterMemoryInitialization}; +use crate::cpu::kernel::aggregator::KERNEL; +use crate::cpu::kernel::cancun_constants::POINT_EVALUATION_PRECOMPILE_RETURN_VALUE; +use crate::cpu::kernel::constants::cancun_constants::KZG_VERSIONED_HASH; +use crate::cpu::kernel::interpreter::Interpreter; use crate::extension_tower::{Fp2, Stack, BLS381}; use crate::memory::segments::Segment::KernelGeneral; +use crate::util::sha2; #[test] fn test_bls_fp2_mul() -> Result<()> { @@ -29,3 +35,142 @@ fn test_bls_fp2_mul() -> Result<()> { assert_eq!(output, x * y); Ok(()) } + +/// A KZG point evaluation precompile payload consists in: +/// - a G1 compressed point commitment (48 bytes) +/// - a Scalar element z (32 bytes) +/// - a Scalar element y (32 bytes) +/// - a G1 compressed point proof (48 bytes) +type KzgPayload = ([u8; 48], [u8; 32], [u8; 32], [u8; 48]); +/// Contains a KZG payload and the expected result, i.e. success or failure. +type TestSequence = (KzgPayload, bool); + +/// Test cases taken from . +const KZG_PRECOMPILE_TEST_SEQUENCES: [TestSequence; 10] = [ + // verify_kzg_proof_case_correct_proof_02e696ada7d4631d/data.yaml + ((hex!("c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), + hex!("0000000000000000000000000000000000000000000000000000000000000002"), + hex!("0000000000000000000000000000000000000000000000000000000000000000"), + hex!("c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")), true), + + // verify_kzg_proof_case_correct_proof_0cf79b17cb5f4ea2/data.yaml + ((hex!("c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"), + hex!("5eb7004fe57383e6c88b99d839937fddf3f99279353aaf8d5c9a75f91ce33c62"), + hex!("0000000000000000000000000000000000000000000000000000000000000000"), + hex!("c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")), true), + + // verify_kzg_proof_case_correct_proof_9b24f8997145435c/data.yaml + ((hex!("93efc82d2017e9c57834a1246463e64774e56183bb247c8fc9dd98c56817e878d97b05f5c8d900acf1fbbbca6f146556"), + hex!("0000000000000000000000000000000000000000000000000000000000000001"), + hex!("0000000000000000000000000000000000000000000000000000000000000000"), + hex!("b9241c6816af6388d1014cd4d7dd21662a6e3d47f96c0257bce642b70e8e375839a880864638669c6a709b414ab8bffc")), true), + + // verify_kzg_proof_case_correct_proof_31ebd010e6098750/data.yaml + ((hex!("8f59a8d2a1a625a17f3fea0fe5eb8c896db3764f3185481bc22f91b4aaffcca25f26936857bc3a7c2539ea8ec3a952b7"), + hex!("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000000"), + hex!("1522a4a7f34e1ea350ae07c29c96c7e79655aa926122e95fe69fcbd932ca49e9"), + hex!("a62ad71d14c5719385c0686f1871430475bf3a00f0aa3f7b8dd99a9abc2160744faf0070725e00b60ad9a026a15b1a8c")), true), + + + + // verify_kzg_proof_case_incorrect_proof_05c1f3685f3393f0/data.yaml + ((hex!("a572cbea904d67468808c8eb50a9450c9721db309128012543902d0ac358a62ae28f75bb8f1c7c42c39a8c5529bf0f4e"), + hex!("564c0a11a0f704f4fc3e8acfe0f8245f0ad1347b378fbf96e206da11a5d36306"), + hex!("0000000000000000000000000000000000000000000000000000000000000002"), + hex!("97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb")), false), + + // verify_kzg_proof_case_incorrect_proof_d736268229bd87ec/data.yaml + ((hex!("93efc82d2017e9c57834a1246463e64774e56183bb247c8fc9dd98c56817e878d97b05f5c8d900acf1fbbbca6f146556"), + hex!("5eb7004fe57383e6c88b99d839937fddf3f99279353aaf8d5c9a75f91ce33c62"), + hex!("5fd58150b731b4facfcdd89c0e393ff842f5f2071303eff99b51e103161cd233"), + hex!("84c349506215a2d55f9d06f475b8229c6dedc08fd467f41fabae6bb042c2d0dbdbcd5f7532c475e479588eec5820fd37")), false), + + // verify_kzg_proof_case_incorrect_proof_point_at_infinity_83e53423a2dd93fe/data.yaml + ((hex!("a421e229565952cfff4ef3517100a97da1d4fe57956fa50a442f92af03b1bf37adacc8ad4ed209b31287ea5bb94d9d06"), + hex!("0000000000000000000000000000000000000000000000000000000000000001"), + hex!("1824b159acc5056f998c4fefecbc4ff55884b7fa0003480200000001fffffffe"), + hex!("c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")), false), + + // verify_kzg_proof_case_invalid_commitment_e9d3e9ec16fbc15f/data.yaml + ((hex!("8123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcde0"), + hex!("0000000000000000000000000000000000000000000000000000000000000001"), + hex!("1824b159acc5056f998c4fefecbc4ff55884b7fa0003480200000001fffffffe"), + hex!("b0c829a8d2d3405304fecbea193e6c67f7c3912a6adc7c3737ad3f8a3b750425c1531a7426f03033a3994bc82a10609f")), false), + + // verify_kzg_proof_case_invalid_y_64b9ff2b8f7dddee/data.yaml + ((hex!("8f59a8d2a1a625a17f3fea0fe5eb8c896db3764f3185481bc22f91b4aaffcca25f26936857bc3a7c2539ea8ec3a952b7"), + hex!("0000000000000000000000000000000000000000000000000000000000000001"), + hex!("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000002"), + hex!("b30b3d1e4faccc380557792c9a0374d58fa286f5f75fea48870585393f890909cd3c53cfe4897e799fb211b4be531e43")), false), + + // verify_kzg_proof_case_invalid_z_64b9ff2b8f7dddee/data.yaml + ((hex!("8f59a8d2a1a625a17f3fea0fe5eb8c896db3764f3185481bc22f91b4aaffcca25f26936857bc3a7c2539ea8ec3a952b7"), + hex!("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000002"), + hex!("60f840641ec0d0c0d2b77b2d5a393b329442721fad05ab78c7b98f2aa3c20ec9"), + hex!("b30b3d1e4faccc380557792c9a0374d58fa286f5f75fea48870585393f890909cd3c53cfe4897e799fb211b4be531e43")), false), +]; + +#[test] +fn test_kzg_peval_precompile() -> Result<()> { + for (bytes, is_correct) in KZG_PRECOMPILE_TEST_SEQUENCES.iter() { + let commitment_bytes = bytes.0; + let comm_hi = U256::from_big_endian(&commitment_bytes[0..32]); + let comm_lo = U256::from_big_endian(&commitment_bytes[32..48]); + let mut versioned_hash = sha2(commitment_bytes.to_vec()); + const KZG_HASH_MASK: U256 = U256([ + 0xffffffffffffffff, + 0xffffffffffffffff, + 0xffffffffffffffff, + 0x00ffffffffffffff, + ]); + versioned_hash &= KZG_HASH_MASK; // erase most significant byte + versioned_hash |= U256::from(KZG_VERSIONED_HASH) << 248; // append 1 + let z = U256::from_big_endian(&bytes.1); + let y = U256::from_big_endian(&bytes.2); + let proof_bytes = bytes.3; + let proof_hi = U256::from_big_endian(&proof_bytes[0..32]); + let proof_lo = U256::from_big_endian(&proof_bytes[32..48]); + + let mut stack = vec![ + versioned_hash, + z, + y, + comm_hi, + comm_lo, + proof_hi, + proof_lo, + U256::from(0xdeadbeefu32), + ]; + stack.reverse(); + + let verify_kzg_proof = KERNEL.global_labels["verify_kzg_proof"]; + let mut interpreter: Interpreter = Interpreter::new(verify_kzg_proof, stack); + interpreter.halt_offsets = vec![ + KERNEL.global_labels["store_kzg_verification"], + KERNEL.global_labels["fault_exception"], + ]; + if *is_correct { + interpreter.run().unwrap(); + + let mut post_stack = interpreter.stack(); + post_stack.reverse(); + + assert_eq!( + post_stack[0], + U256::from_big_endian(&POINT_EVALUATION_PRECOMPILE_RETURN_VALUE[0]) + ); + assert_eq!( + post_stack[1], + U256::from_big_endian(&POINT_EVALUATION_PRECOMPILE_RETURN_VALUE[1]) + ); + } else { + interpreter.run().unwrap(); + assert_eq!( + interpreter.generation_state.registers.program_counter, + KERNEL.global_labels["fault_exception"] + ); + } + } + + Ok(()) +} diff --git a/evm_arithmetization/src/cpu/kernel/tests/bn254.rs b/evm_arithmetization/src/cpu/kernel/tests/bn254.rs index 3887171d1..a253fa815 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/bn254.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/bn254.rs @@ -7,9 +7,10 @@ use rand::Rng; use super::{run_interpreter_with_memory, InterpreterMemoryInitialization}; use crate::cpu::kernel::aggregator::KERNEL; -use crate::cpu::kernel::interpreter::{self, Interpreter}; +use crate::cpu::kernel::interpreter::Interpreter; use crate::curve_pairings::{ - bn_final_exponent, bn_miller_loop, gen_bn_fp12_sparse, Curve, CyclicGroup, + bn254::{final_exponent, miller_loop}, + gen_fp12_sparse, CurveAff, CyclicGroup, }; use crate::extension_tower::{FieldExt, Fp12, Fp2, Fp6, Stack, BN254}; use crate::memory::segments::Segment::{self, BnPairing}; @@ -76,7 +77,7 @@ fn test_bn_mul_fp12() -> Result<()> { let mut rng = rand::thread_rng(); let f: Fp12 = rng.gen::>(); let g: Fp12 = rng.gen::>(); - let h: Fp12 = gen_bn_fp12_sparse(&mut rng); + let h: Fp12 = gen_fp12_sparse(&mut rng); let output_normal = run_bn_mul_fp12(f, g, "mul_fp254_12"); let output_sparse = run_bn_mul_fp12(f, h, "mul_fp254_12_sparse"); @@ -126,7 +127,7 @@ fn run_bn_frob_fp12(f: Fp12, n: usize) -> Fp12 { } #[test] -fn test_frob_fp12() -> Result<()> { +fn test_bn_frob_fp12() -> Result<()> { let mut rng = rand::thread_rng(); let f: Fp12 = rng.gen::>(); @@ -180,7 +181,7 @@ fn test_bn_final_exponent() -> Result<()> { let interpreter: Interpreter = run_interpreter_with_memory(setup).unwrap(); let output: Vec = interpreter.extract_kernel_memory(BnPairing, ptr..ptr + 12); - let expected: Vec = bn_final_exponent(f).to_stack(); + let expected: Vec = final_exponent(f).to_stack(); assert_eq!(output, expected); @@ -193,8 +194,8 @@ fn test_bn_miller() -> Result<()> { let out: usize = 106; let mut rng = rand::thread_rng(); - let p: Curve = rng.gen::>(); - let q: Curve> = rng.gen::>>(); + let p: CurveAff = rng.gen::>(); + let q: CurveAff> = rng.gen::>>(); let mut input = p.to_stack(); input.extend(q.to_stack()); @@ -207,7 +208,7 @@ fn test_bn_miller() -> Result<()> { }; let interpreter = run_interpreter_with_memory::(setup).unwrap(); let output: Vec = interpreter.extract_kernel_memory(BnPairing, out..out + 12); - let expected = bn_miller_loop(p, q).to_stack(); + let expected = miller_loop(p, q).to_stack(); assert_eq!(output, expected); @@ -228,13 +229,13 @@ fn test_bn_pairing() -> Result<()> { let n: i32 = rng.gen_range(-8..8); acc -= m * n; - let p: Curve = Curve::::int(m); - let q: Curve> = Curve::>::int(n); + let p: CurveAff = CurveAff::::int(m); + let q: CurveAff> = CurveAff::>::int(n); input.extend(p.to_stack()); input.extend(q.to_stack()); } - let p: Curve = Curve::::int(acc); - let q: Curve> = Curve::>::GENERATOR; + let p: CurveAff = CurveAff::::int(acc); + let q: CurveAff> = CurveAff::>::GENERATOR; input.extend(p.to_stack()); input.extend(q.to_stack()); @@ -254,7 +255,11 @@ fn test_bn_pairing() -> Result<()> { Ok(()) } -fn run_bn_g2_op(p: Curve>, q: Curve>, label: &str) -> Curve> { +fn run_bn_g2_op( + p: CurveAff>, + q: CurveAff>, + label: &str, +) -> CurveAff> { let mut stack = p.to_stack(); if label == "bn_twisted_add" { stack.extend(&q.to_stack()); @@ -268,30 +273,30 @@ fn run_bn_g2_op(p: Curve>, q: Curve>, label: &str) -> Curv }; let interpreter = run_interpreter_with_memory::(setup).unwrap(); let output: Vec = interpreter.stack().iter().rev().cloned().collect(); - Curve::>::from_stack(&output) + CurveAff::>::from_stack(&output) } #[test] fn test_bn_g2_ops() -> Result<()> { let mut rng = rand::thread_rng(); - let p: Curve> = rng.gen::>>(); - let q: Curve> = rng.gen::>>(); + let p: CurveAff> = rng.gen::>>(); + let q: CurveAff> = rng.gen::>>(); - let output_add: Curve> = run_bn_g2_op(p, q, "bn_twisted_add"); - let output_double: Curve> = run_bn_g2_op(p, p, "bn_twisted_double"); + let output_add: CurveAff> = run_bn_g2_op(p, q, "bn_twisted_add"); + let output_double: CurveAff> = run_bn_g2_op(p, p, "bn_twisted_double"); assert_eq!(output_add, p + q); assert_eq!(output_double, p + p); - let unit = Curve::>::unit(); - let output_add_unit: Curve> = run_bn_g2_op(unit, unit, "bn_twisted_add"); - let output_double_unit: Curve> = run_bn_g2_op(unit, unit, "bn_twisted_double"); + let unit = CurveAff::>::unit(); + let output_add_unit: CurveAff> = run_bn_g2_op(unit, unit, "bn_twisted_add"); + let output_double_unit: CurveAff> = run_bn_g2_op(unit, unit, "bn_twisted_double"); assert_eq!(unit, output_add_unit); assert_eq!(unit, output_double_unit); - let output_add_with_unit_left: Curve> = run_bn_g2_op(unit, p, "bn_twisted_add"); - let output_add_with_unit_right: Curve> = run_bn_g2_op(p, unit, "bn_twisted_add"); + let output_add_with_unit_left: CurveAff> = run_bn_g2_op(unit, p, "bn_twisted_add"); + let output_add_with_unit_right: CurveAff> = run_bn_g2_op(p, unit, "bn_twisted_add"); assert_eq!(p, output_add_with_unit_left); assert_eq!(p, output_add_with_unit_right); @@ -332,7 +337,7 @@ fn test_ecpairing_precompile_invalid_input() -> Result<()> { interpreter.set_memory_segment(Segment::BnPairing, preloaded_memory); interpreter.run().unwrap(); - let mut post_stack = interpreter.stack(); + let post_stack = interpreter.stack(); assert!(post_stack.len() == 1); assert_eq!(post_stack[0], U256::MAX); // invalid inputs diff --git a/evm_arithmetization/src/cpu/kernel/tests/checkpoint_label.asm b/evm_arithmetization/src/cpu/kernel/tests/checkpoint_label.asm new file mode 100644 index 000000000..22406f426 --- /dev/null +++ b/evm_arithmetization/src/cpu/kernel/tests/checkpoint_label.asm @@ -0,0 +1,5 @@ +global checkpoint: + // stack: (empty) + %checkpoint + // stack: (empty) + JUMP \ No newline at end of file diff --git a/evm_arithmetization/src/cpu/kernel/tests/core/access_lists.rs b/evm_arithmetization/src/cpu/kernel/tests/core/access_lists.rs index 4b3aae8cc..d1f94c5cb 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/core/access_lists.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/core/access_lists.rs @@ -102,8 +102,12 @@ fn test_insert_address() -> Result<()> { assert!(address != H160::zero(), "Cosmic luck or bad RNG?"); - interpreter.push(retaddr); - interpreter.push(U256::from(address.0.as_slice())); + interpreter + .push(retaddr) + .expect("The stack should not overflow"); + interpreter + .push(U256::from(address.0.as_slice())) + .expect("The stack should not overflow"); interpreter.generation_state.registers.program_counter = insert_accessed_addresses; interpreter.run()?; @@ -146,8 +150,12 @@ fn test_insert_accessed_addresses() -> Result<()> { let offset = Segment::AccessedAddresses as usize; for i in 0..n { let addr = U256::from(addresses[i].0.as_slice()); - interpreter.push(0xdeadbeefu32.into()); - interpreter.push(addr); + interpreter + .push(0xdeadbeefu32.into()) + .expect("The stack should not overflow"); + interpreter + .push(addr) + .expect("The stack should not overflow"); interpreter.generation_state.registers.program_counter = insert_accessed_addresses; interpreter.run()?; assert_eq!(interpreter.pop().unwrap(), U256::one()); @@ -156,8 +164,12 @@ fn test_insert_accessed_addresses() -> Result<()> { for i in 0..n { // Test for address already in list. let addr_in_list = addresses[i]; - interpreter.push(retaddr); - interpreter.push(U256::from(addr_in_list.0.as_slice())); + interpreter + .push(retaddr) + .expect("The stack should not overflow"); + interpreter + .push(U256::from(addr_in_list.0.as_slice())) + .expect("The stack should not overflow"); interpreter.generation_state.registers.program_counter = insert_accessed_addresses; interpreter.run()?; assert_eq!(interpreter.pop().unwrap(), U256::zero()); @@ -170,8 +182,12 @@ fn test_insert_accessed_addresses() -> Result<()> { } // Test for address not in list. - interpreter.push(retaddr); - interpreter.push(U256::from(addr_not_in_list.0.as_slice())); + interpreter + .push(retaddr) + .expect("The stack should not overflow"); + interpreter + .push(U256::from(addr_not_in_list.0.as_slice())) + .expect("The stack should not overflow"); interpreter.generation_state.registers.program_counter = insert_accessed_addresses; interpreter.run()?; @@ -222,9 +238,15 @@ fn test_insert_accessed_storage_keys() -> Result<()> { for i in 0..n { let addr = U256::from(storage_keys[i].0 .0.as_slice()); let key = storage_keys[i].1; - interpreter.push(retaddr); - interpreter.push(key); - interpreter.push(addr); + interpreter + .push(retaddr) + .expect("The stack should not overflow"); + interpreter + .push(key) + .expect("The stack should not overflow"); + interpreter + .push(addr) + .expect("The stack should not overflow"); interpreter.generation_state.registers.program_counter = insert_accessed_storage_keys; interpreter.run()?; assert_eq!(interpreter.pop().unwrap(), U256::one()); @@ -234,9 +256,15 @@ fn test_insert_accessed_storage_keys() -> Result<()> { for i in 0..10 { // Test for storage key already in list. let (addr, key) = storage_keys[i]; - interpreter.push(retaddr); - interpreter.push(key); - interpreter.push(U256::from(addr.0.as_slice())); + interpreter + .push(retaddr) + .expect("The stack should not overflow"); + interpreter + .push(key) + .expect("The stack should not overflow"); + interpreter + .push(U256::from(addr.0.as_slice())) + .expect("The stack should not overflow"); interpreter.generation_state.registers.program_counter = insert_accessed_storage_keys; interpreter.run()?; assert_eq!(interpreter.pop().unwrap(), U256::zero()); @@ -250,9 +278,15 @@ fn test_insert_accessed_storage_keys() -> Result<()> { } // Test for storage key not in list. - interpreter.push(retaddr); - interpreter.push(storage_key_not_in_list.1); - interpreter.push(U256::from(storage_key_not_in_list.0 .0.as_slice())); + interpreter + .push(retaddr) + .expect("The stack should not overflow"); + interpreter + .push(storage_key_not_in_list.1) + .expect("The stack should not overflow"); + interpreter + .push(U256::from(storage_key_not_in_list.0 .0.as_slice())) + .expect("The stack should not overflow"); interpreter.generation_state.registers.program_counter = insert_accessed_storage_keys; interpreter.run()?; diff --git a/evm_arithmetization/src/cpu/kernel/tests/core/jumpdest_analysis.rs b/evm_arithmetization/src/cpu/kernel/tests/core/jumpdest_analysis.rs index dd9a295e2..61a580de7 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/core/jumpdest_analysis.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/core/jumpdest_analysis.rs @@ -72,9 +72,15 @@ fn test_jumpdest_analysis() -> Result<()> { // Run jumpdest analysis with context = 3 interpreter.generation_state.registers.context = CONTEXT; - interpreter.push(0xDEADBEEFu32.into()); - interpreter.push(code_len.into()); - interpreter.push(U256::from(CONTEXT) << CONTEXT_SCALING_FACTOR); + interpreter + .push(0xDEADBEEFu32.into()) + .expect("The stack should not overflow"); + interpreter + .push(code_len.into()) + .expect("The stack should not overflow"); + interpreter + .push(U256::from(CONTEXT) << CONTEXT_SCALING_FACTOR) + .expect("The stack should not overflow"); // We need to manually pop the jumpdest_table and push its value on the top of // the stack @@ -86,7 +92,9 @@ fn test_jumpdest_analysis() -> Result<()> { .get_mut(&CONTEXT) .unwrap() .pop(); - interpreter.push(41.into()); + interpreter + .push(41.into()) + .expect("The stack should not overflow"); interpreter.run()?; assert_eq!(interpreter.stack(), vec![]); @@ -195,14 +203,14 @@ fn test_verify_non_jumpdest() -> Result<()> { code[i] -= 1; // We check that all non jumpdests are indeed non jumpdests - for (j, &opcode) in code - .iter() - .enumerate() - .filter(|&(j, _)| j != 1 && j != 5 && j != 7) - { + for j in (0..code.len()).filter(|&i| i != 1 && i != 5 && i != 7) { interpreter.generation_state.registers.program_counter = verify_non_jumpdest; - interpreter.push(0xDEADBEEFu32.into()); - interpreter.push(j.into()); + interpreter + .push(0xDEADBEEFu32.into()) + .expect("The stack should not overflow"); + interpreter + .push(j.into()) + .expect("The stack should not overflow"); interpreter.run()?; assert!(interpreter.stack().is_empty()); assert_eq!(interpreter.get_jumpdest_bit(j), U256::zero()); diff --git a/evm_arithmetization/src/cpu/kernel/tests/hash.rs b/evm_arithmetization/src/cpu/kernel/tests/hash.rs index 8e3e62d6f..305a705ad 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/hash.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/hash.rs @@ -4,11 +4,11 @@ use ethereum_types::U256; use plonky2::field::goldilocks_field::GoldilocksField as F; use rand::{thread_rng, Rng}; use ripemd::{Digest, Ripemd160}; -use sha2::Sha256; use super::{run_interpreter_with_memory, InterpreterMemoryInitialization}; use crate::cpu::kernel::interpreter::Interpreter; use crate::memory::segments::Segment::KernelGeneral; +use crate::util::sha2; /// Standard RipeMD implementation. fn ripemd(input: Vec) -> U256 { @@ -17,13 +17,6 @@ fn ripemd(input: Vec) -> U256 { U256::from(&hasher.finalize()[..]) } -/// Standard Sha2 implementation. -fn sha2(input: Vec) -> U256 { - let mut hasher = Sha256::new(); - hasher.update(input); - U256::from(&hasher.finalize()[..]) -} - fn make_random_input() -> Vec { // Generate a random message, between 0 and 9999 bytes. let mut rng = thread_rng(); diff --git a/evm_arithmetization/src/cpu/kernel/tests/mcopy.rs b/evm_arithmetization/src/cpu/kernel/tests/mcopy.rs new file mode 100644 index 000000000..07ca1bda8 --- /dev/null +++ b/evm_arithmetization/src/cpu/kernel/tests/mcopy.rs @@ -0,0 +1,114 @@ +use anyhow::Result; +use ethereum_types::U256; +use hex_literal::hex; +use itertools::Itertools; +use plonky2::field::goldilocks_field::GoldilocksField as F; + +use crate::cpu::kernel::constants::context_metadata::ContextMetadata; +use crate::cpu::kernel::interpreter::Interpreter; +use crate::memory::segments::Segment; +use crate::testing_utils::init_logger; + +fn test_mcopy( + dest_offset: usize, + offset: usize, + size: usize, + pre_memory: &[u8], + post_memory: &[u8], +) -> Result<()> { + init_logger(); + + let sys_mcopy = crate::cpu::kernel::aggregator::KERNEL.global_labels["sys_mcopy"]; + let kexit_info = U256::from(0xdeadbeefu32) + (U256::from(u64::from(true)) << 32); + let initial_stack = vec![size.into(), offset.into(), dest_offset.into(), kexit_info]; + + let mut interpreter: Interpreter = Interpreter::new(sys_mcopy, initial_stack); + interpreter.set_context_metadata_field( + 0, + ContextMetadata::GasLimit, + U256::from(1000000000000u64), + ); + + let pre_memory: Vec = pre_memory.iter().map(|&b| b.into()).collect_vec(); + let post_memory: Vec = post_memory.iter().map(|&b| b.into()).collect_vec(); + + interpreter.set_memory_segment(Segment::MainMemory, pre_memory); + interpreter.run()?; + + let main_memory_data = interpreter.get_memory_segment(Segment::MainMemory); + assert_eq!(&main_memory_data, &post_memory); + + Ok(()) +} + +#[test] +fn test_mcopy_0_32_32() { + let dest_offset = 0; + let offset = 32; + let size = 32; + let pre_memory = hex!("0000000000000000000000000000000000000000000000000000000000000000000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"); + let post_memory = hex!("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f"); + + assert!(test_mcopy(dest_offset, offset, size, &pre_memory, &post_memory).is_ok()) +} + +#[test] +fn test_mcopy_0_0_32() { + let dest_offset = 0; + let offset = 0; + let size = 32; + let pre_memory = hex!("0101010101010101010101010101010101010101010101010101010101010101"); + let post_memory = hex!("0101010101010101010101010101010101010101010101010101010101010101"); + + assert!(test_mcopy(dest_offset, offset, size, &pre_memory, &post_memory).is_ok()) +} + +#[test] +fn test_mcopy_0_1_8() { + let dest_offset = 0; + let offset = 1; + let size = 8; + let pre_memory = hex!("0001020304050607080000000000000000000000000000000000000000000000"); + let post_memory = hex!("0102030405060708080000000000000000000000000000000000000000000000"); + + assert!(test_mcopy(dest_offset, offset, size, &pre_memory, &post_memory).is_ok()) +} + +#[test] +fn test_mcopy_1_0_8() { + let dest_offset = 1; + let offset = 0; + let size = 8; + let pre_memory = hex!("0001020304050607080000000000000000000000000000000000000000000000"); + let post_memory = hex!("0000010203040506070000000000000000000000000000000000000000000000"); + + assert!(test_mcopy(dest_offset, offset, size, &pre_memory, &post_memory).is_ok()) +} + +#[test] +fn test_mcopy_1_0_33() { + init_logger(); + let dest_offset = 1; + let offset = 0; + let size = 33; + let pre_memory = + hex!("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627"); + let post_memory = + hex!("00000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20222324252627"); + + assert!(test_mcopy(dest_offset, offset, size, &pre_memory, &post_memory).is_ok()) +} + +#[test] +fn test_mcopy_1_2_33() { + init_logger(); + let dest_offset = 1; + let offset = 2; + let size = 33; + let pre_memory = + hex!("000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728"); + let post_memory = + hex!("0002030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212222232425262728"); + + assert!(test_mcopy(dest_offset, offset, size, &pre_memory, &post_memory).is_ok()) +} diff --git a/evm_arithmetization/src/cpu/kernel/tests/mod.rs b/evm_arithmetization/src/cpu/kernel/tests/mod.rs index 46f05eae9..c44eb8454 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/mod.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/mod.rs @@ -3,6 +3,7 @@ mod add11; mod balance; mod bignum; mod blake2_f; +mod blobhash; mod block_hash; mod bls381; mod bn254; @@ -12,12 +13,14 @@ mod exp; mod hash; mod kernel_consistency; mod log; +mod mcopy; mod mpt; mod packing; mod receipt; mod rlp; mod signed_syscalls; mod transaction_parsing; +mod transient_storage; use std::{ collections::{BTreeSet, HashMap}, @@ -257,6 +260,18 @@ impl Interpreter { output } + pub(crate) const fn stack_len(&self) -> usize { + self.generation_state.registers.stack_len + } + + pub(crate) const fn stack_top(&self) -> anyhow::Result { + if self.stack_len() > 0 { + Ok(self.generation_state.registers.stack_top) + } else { + Err(ProgramError::StackUnderflow) + } + } + // Actually pushes in memory. Only used for tests. pub(crate) fn push(&mut self, x: U256) -> Result<(), ProgramError> { use crate::cpu::stack::MAX_USER_STACK_SIZE; @@ -329,6 +344,14 @@ impl Interpreter { if context == 0 { assert!(self.is_kernel()); } + + while self.generation_state.memory.contexts.len() <= context { + self.generation_state + .memory + .contexts + .push(MemoryContextState::default()); + } + self.generation_state.registers.context = context; } } diff --git a/evm_arithmetization/src/cpu/kernel/tests/mpt/insert.rs b/evm_arithmetization/src/cpu/kernel/tests/mpt/insert.rs index 771921173..d25138631 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/mpt/insert.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/mpt/insert.rs @@ -234,7 +234,7 @@ fn test_state_trie( ); let hash = H256::from_uint(&interpreter.stack()[1]); - state_trie.insert(k, rlp::encode(&account).to_vec()); + state_trie.insert(k, rlp::encode(&account).to_vec())?; let expected_state_trie_hash = state_trie.hash(); assert_eq!(hash, expected_state_trie_hash); diff --git a/evm_arithmetization/src/cpu/kernel/tests/transaction_parsing/parse_type_0_txn.rs b/evm_arithmetization/src/cpu/kernel/tests/transaction_parsing/parse_type_0_txn.rs index fa51c3f9f..745c81624 100644 --- a/evm_arithmetization/src/cpu/kernel/tests/transaction_parsing/parse_type_0_txn.rs +++ b/evm_arithmetization/src/cpu/kernel/tests/transaction_parsing/parse_type_0_txn.rs @@ -15,7 +15,11 @@ fn process_type_0_txn() -> Result<()> { let process_normalized_txn = KERNEL.global_labels["process_normalized_txn"]; let retaddr = 0xDEADBEEFu32.into(); - let mut interpreter: Interpreter = Interpreter::new(process_type_0_txn, vec![retaddr]); + const INITIAL_TXN_RLP_ADDR: usize = Segment::RlpRaw as usize + 1; + let mut interpreter: Interpreter = Interpreter::new( + process_type_0_txn, + vec![retaddr, INITIAL_TXN_RLP_ADDR.into()], + ); // When we reach process_normalized_txn, we're done with parsing and // normalizing. Processing normalized transactions is outside the scope of @@ -72,10 +76,13 @@ fn process_type_0_txn() -> Result<()> { #[test] fn process_type_0_txn_invalid_sig() -> Result<()> { let process_type_0_txn = KERNEL.global_labels["process_type_0_txn"]; - let process_normalized_txn = KERNEL.global_labels["process_normalized_txn"]; let retaddr = 0xDEADBEEFu32.into(); - let mut interpreter: Interpreter = Interpreter::new(process_type_0_txn, vec![retaddr]); + const INITIAL_TXN_RLP_ADDR: usize = Segment::RlpRaw as usize + 1; + let mut interpreter: Interpreter = Interpreter::new( + process_type_0_txn, + vec![retaddr, INITIAL_TXN_RLP_ADDR.into()], + ); // Same transaction as `process_type_0_txn()`, with the exception that the `s` // component in the signature is flipped (i.e. `s' = N - s`, where `N` is the diff --git a/evm_arithmetization/src/cpu/kernel/tests/transient_storage.rs b/evm_arithmetization/src/cpu/kernel/tests/transient_storage.rs new file mode 100644 index 000000000..774ac51d7 --- /dev/null +++ b/evm_arithmetization/src/cpu/kernel/tests/transient_storage.rs @@ -0,0 +1,345 @@ +use anyhow::Result; +use ethereum_types::U256; +use once_cell::sync::Lazy; +use plonky2::field::goldilocks_field::GoldilocksField as F; +use plonky2::field::types::Field; + +use crate::cpu::kernel::aggregator::{ + combined_kernel_from_files, KERNEL_FILES, NUMBER_KERNEL_FILES, +}; +use crate::cpu::kernel::assembler::Kernel; +use crate::cpu::kernel::constants::context_metadata::ContextMetadata; +use crate::cpu::kernel::constants::global_metadata::GlobalMetadata; +use crate::cpu::kernel::interpreter::Interpreter; +use crate::generation::state::GenerationState; +use crate::memory::segments::Segment; +use crate::witness::memory::MemoryAddress; +use crate::GenerationInputs; + +fn initialize_interpreter(interpreter: &mut Interpreter, gas_limit: U256) { + let gas_limit_address = MemoryAddress { + context: 0, + segment: Segment::ContextMetadata.unscale(), + virt: ContextMetadata::GasLimit.unscale(), + }; + interpreter + .generation_state + .memory + .set(gas_limit_address, gas_limit); + + let addr_addr = MemoryAddress { + context: 0, + segment: Segment::ContextMetadata.unscale(), + virt: ContextMetadata::Address.unscale(), + }; + interpreter.generation_state.memory.set(addr_addr, 3.into()); + + let initial_len = MemoryAddress { + context: 0, + segment: Segment::GlobalMetadata.unscale(), + virt: GlobalMetadata::TransientStorageLen.unscale(), + }; + // Store 0 but scaled by its segment + interpreter + .generation_state + .memory + .set(initial_len, (Segment::TransientStorage as usize).into()); +} + +#[test] +fn test_tstore() -> Result<()> { + let sys_tstore = crate::cpu::kernel::aggregator::KERNEL.global_labels["sys_tstore"]; + + let kexit_info = U256::from(0xdeadbeefu32) + (U256::from(u64::from(true)) << 32); + + let initial_stack = vec![ + 1.into(), // val + 2.into(), // slot + kexit_info, + ]; + + let mut interpreter: Interpreter = Interpreter::new(sys_tstore, initial_stack); + initialize_interpreter(&mut interpreter, 100.into()); + + interpreter.run()?; + + assert_eq!(interpreter.generation_state.registers.gas_used, 100); + + let stored_addr = MemoryAddress::new(0, Segment::TransientStorage, 0); + let stored_slot = MemoryAddress::new(0, Segment::TransientStorage, 1); + let stored_val = MemoryAddress::new(0, Segment::TransientStorage, 2); + assert_eq!( + interpreter + .generation_state + .memory + .get(stored_addr) + .unwrap(), + 3.into(), + ); + assert_eq!( + interpreter + .generation_state + .memory + .get(stored_slot) + .unwrap(), + 2.into(), + ); + assert_eq!( + interpreter.generation_state.memory.get(stored_val).unwrap(), + 1.into(), + ); + + Ok(()) +} + +#[test] +fn test_tstore_tload() -> Result<()> { + let sys_tstore = crate::cpu::kernel::aggregator::KERNEL.global_labels["sys_tstore"]; + + let kexit_info = U256::from(0xdeadbeefu32) + (U256::from(u64::from(true)) << 32); + + let initial_stack = vec![ + 1.into(), // val + 2.into(), // slot + kexit_info, + ]; + + let mut interpreter: Interpreter = Interpreter::new(sys_tstore, initial_stack); + initialize_interpreter(&mut interpreter, 200.into()); + + interpreter.run()?; + + assert_eq!(interpreter.generation_state.registers.gas_used, 100); + + let sys_tload = crate::cpu::kernel::aggregator::KERNEL.global_labels["sys_tload"]; + let kexit_info = U256::from(0xdeadbeefu32) + + (U256::from(u64::from(true)) << 32) + + (U256::from(interpreter.generation_state.registers.gas_used) << 192); + interpreter.generation_state.registers.program_counter = sys_tload; + interpreter.generation_state.registers.is_kernel = true; + interpreter + .push(2.into()) + .expect("The stack should not overflow"); + interpreter + .push(kexit_info) + .expect("The stack should not overflow"); + + interpreter.run()?; + + assert_eq!(interpreter.generation_state.registers.gas_used, 200); + + let val = interpreter.pop().unwrap(); + + assert_eq!(val, 1.into()); + + // Load non-existing slot + interpreter.generation_state.registers.program_counter = sys_tload; + interpreter.generation_state.registers.is_kernel = true; + let slot: U256 = 4.into(); + interpreter + .push(slot) + .expect("The stack should not overflow"); + interpreter + .push(kexit_info) + .expect("The stack should not overflow"); + + interpreter.run()?; + + let val = interpreter.stack()[0]; + + assert_eq!(U256::zero(), val); + Ok(()) +} + +#[test] +fn test_many_tstore_many_tload() -> Result<()> { + let kexit_info = U256::from(0xdeadbeefu32) + (U256::from(u64::from(true)) << 32); + let sys_tstore = crate::cpu::kernel::aggregator::KERNEL.global_labels["sys_tstore"]; + + let initial_stack = vec![ + 1.into(), // val + 2.into(), // slot + kexit_info, + ]; + + let mut interpreter: Interpreter = Interpreter::new(0, initial_stack); + initialize_interpreter(&mut interpreter, (10 * 200).into()); + + for i in 0..10 { + interpreter.generation_state.registers.program_counter = sys_tstore; + interpreter.generation_state.registers.is_kernel = true; + let kexit_info = U256::from(0xdeadbeefu32) + + (U256::from(u64::from(true)) << 32) + + (U256::from(interpreter.generation_state.registers.gas_used) << 192); + let val: U256 = i.into(); + let slot: U256 = i.into(); + interpreter + .push(val) + .expect("The stack should not overflow"); + interpreter + .push(slot) + .expect("The stack should not overflow"); + interpreter + .push(kexit_info) + .expect("The stack should not overflow"); + + interpreter.run()?; + assert_eq!( + interpreter.generation_state.registers.gas_used, + 100 * (i + 1) + ); + } + + let sys_tload = crate::cpu::kernel::aggregator::KERNEL.global_labels["sys_tload"]; + + for i in 0..10 { + interpreter.generation_state.registers.program_counter = sys_tload; + interpreter.generation_state.registers.is_kernel = true; + let kexit_info = U256::from(0xdeadbeefu32) + + (U256::from(u64::from(true)) << 32) + + (U256::from(interpreter.generation_state.registers.gas_used) << 192); + let slot: U256 = i.into(); + interpreter + .push(slot) + .expect("The stack should not overflow"); + interpreter + .push(kexit_info) + .expect("The stack should not overflow"); + + interpreter.run()?; + assert_eq!( + interpreter.generation_state.registers.gas_used, + 100 * (i + 10 + 1) + ); + + assert_eq!(U256::from(i), interpreter.pop().unwrap()); + } + + Ok(()) +} + +#[test] +fn test_revert() -> Result<()> { + // We use a modified kernel with an extra file defining a label + // where the `checkpoint` macro from file cpu/kernel/asm/journal/journal.asm + // is expanded. + const NUMBER_FILES: usize = NUMBER_KERNEL_FILES + 1; + static KERNEL: Lazy = Lazy::new(|| { + combined_kernel_from_files(std::array::from_fn::<_, NUMBER_FILES, _>(|i| { + if i < NUMBER_KERNEL_FILES { + KERNEL_FILES[i] + } else { + include_str!("checkpoint_label.asm") + } + })) + }); + + let sys_tstore = KERNEL.global_labels["sys_tstore"]; + let mut interpreter = Interpreter::::new(sys_tstore, vec![]); + interpreter.generation_state = + GenerationState::::new(GenerationInputs::default(), &KERNEL.code).unwrap(); + initialize_interpreter(&mut interpreter, (20 * 100).into()); + + // Store different values at slot 1 + for i in 0..10 { + interpreter.generation_state.registers.program_counter = sys_tstore; + interpreter.generation_state.registers.is_kernel = true; + let kexit_info = U256::from(0xdeadbeefu32) + + (U256::from(u64::from(true)) << 32) + + (U256::from(interpreter.generation_state.registers.gas_used) << 192); + let val: U256 = i.into(); + let slot: U256 = 1.into(); + interpreter + .push(val) + .expect("The stack should not overflow"); + interpreter + .push(slot) + .expect("The stack should not overflow"); + interpreter + .push(kexit_info) + .expect("The stack should not overflow"); + + interpreter.run()?; + assert_eq!( + interpreter.generation_state.registers.gas_used, + 100 * (i + 1) + ); + } + + let gas_before_checkpoint = interpreter.generation_state.registers.gas_used; + + // We will revert to the point where `val` was 9 + let checkpoint = KERNEL.global_labels["checkpoint"]; + interpreter.generation_state.registers.program_counter = checkpoint; + interpreter.generation_state.registers.is_kernel = true; + interpreter + .push(0xdeadbeefu32.into()) + .expect("The stack should not overflow"); + interpreter.run()?; + assert!(interpreter.stack().is_empty()); + + // Don't charge gas for the checkpoint + interpreter.generation_state.registers.gas_used = gas_before_checkpoint; + + // Now we change `val` 10 more times + for i in 10..20 { + interpreter.generation_state.registers.program_counter = sys_tstore; + interpreter.generation_state.registers.is_kernel = true; + let kexit_info = U256::from(0xdeadbeefu32) + + (U256::from(u64::from(true)) << 32) + + (U256::from(interpreter.generation_state.registers.gas_used) << 192); + let val: U256 = i.into(); + let slot: U256 = 1.into(); + interpreter + .push(val) + .expect("The stack should not overflow"); + interpreter + .push(slot) + .expect("The stack should not overflow"); + interpreter + .push(kexit_info) + .expect("The stack should not overflow"); + + interpreter.run()?; + assert_eq!( + interpreter.generation_state.registers.gas_used, + 100 * (i + 1) + ); + } + + // The interpreter will run out of gas and revert to the checkpoint + interpreter.generation_state.registers.program_counter = sys_tstore; + interpreter.generation_state.registers.is_kernel = true; + let kexit_info = U256::from(0xdeadbeefu32) + + (U256::from(u64::from(true)) << 32) + + (U256::from(interpreter.generation_state.registers.gas_used) << 192); + interpreter + .push(3.into()) + .expect("The stack should not overflow"); // val + interpreter + .push(2.into()) + .expect("The stack should not overflow"); // slot + interpreter + .push(kexit_info) + .expect("The stack should not overflow"); + assert!(interpreter.run().is_err()); + + // Now we should load the value before the revert + let sys_tload = KERNEL.global_labels["sys_tload"]; + interpreter.generation_state.registers.program_counter = sys_tload; + interpreter.generation_state.registers.gas_used = 0; + let kexit_info = U256::from(0xdeadbeefu32) + (U256::from(u64::from(true)) << 32); + interpreter.generation_state.registers.is_kernel = true; + interpreter + .push(1.into()) + .expect("The stack should not overflow"); + interpreter + .push(kexit_info) + .expect("The stack should not overflow"); + + interpreter.run()?; + + assert_eq!(interpreter.pop().unwrap(), 9.into()); + + Ok(()) +} diff --git a/evm_arithmetization/src/curve_pairings.rs b/evm_arithmetization/src/curve_pairings.rs index 673b3db03..f52d024d8 100644 --- a/evm_arithmetization/src/curve_pairings.rs +++ b/evm_arithmetization/src/curve_pairings.rs @@ -1,14 +1,14 @@ use core::ops::{Add, Mul, Neg}; -use ethereum_types::U256; +use ethereum_types::{U256, U512}; use rand::distributions::Standard; use rand::prelude::Distribution; use rand::Rng; -use crate::extension_tower::{FieldExt, Fp12, Fp2, Fp6, Stack, BN254}; +use crate::extension_tower::{Adj, FieldExt, Fp12, Fp2, Fp6, Stack, BLS381}; #[derive(Debug, Copy, Clone, PartialEq)] -pub(crate) struct Curve +pub(crate) struct CurveAff where T: FieldExt, { @@ -16,16 +16,16 @@ where pub y: T, } -impl Curve { +impl CurveAff { pub(crate) const fn unit() -> Self { - Curve { + CurveAff { x: T::ZERO, y: T::ZERO, } } } -impl Stack for Curve { +impl Stack for CurveAff { const SIZE: usize = 2 * T::SIZE; fn to_stack(&self) -> Vec { @@ -35,47 +35,48 @@ impl Stack for Curve { } fn from_stack(stack: &[U256]) -> Self { - Curve { + CurveAff { x: T::from_stack(&stack[0..T::SIZE]), y: T::from_stack(&stack[T::SIZE..2 * T::SIZE]), } } } -impl Curve +#[cfg(test)] +impl CurveAff where T: FieldExt, - Curve: CyclicGroup, + CurveAff: CyclicGroup, { pub(crate) fn int(z: i32) -> Self { - Curve::::GENERATOR * z + CurveAff::::GENERATOR * z } } -impl Distribution> for Standard +impl Distribution> for Standard where T: FieldExt, - Curve: CyclicGroup, + CurveAff: CyclicGroup, { - fn sample(&self, rng: &mut R) -> Curve { - Curve::::GENERATOR * rng.gen::() + fn sample(&self, rng: &mut R) -> CurveAff { + CurveAff::::GENERATOR * rng.gen::() } } /// Standard addition formula for elliptic curves, restricted to the cases /// -impl Add for Curve { +impl Add for CurveAff { type Output = Self; fn add(self, other: Self) -> Self { - if self == Curve::::unit() { + if self == CurveAff::::unit() { return other; } - if other == Curve::::unit() { + if other == CurveAff::::unit() { return self; } if self == -other { - return Curve::::unit(); + return CurveAff::::unit(); } let m = if self == other { T::new(3) * self.x * self.x / (T::new(2) * self.y) @@ -83,18 +84,18 @@ impl Add for Curve { (other.y - self.y) / (other.x - self.x) }; let x = m * m - (self.x + other.x); - Curve { + CurveAff { x, y: m * (self.x - x) - self.y, } } } -impl Neg for Curve { - type Output = Curve; +impl Neg for CurveAff { + type Output = CurveAff; fn neg(self) -> Self { - Curve { + CurveAff { x: self.x, y: -self.y, } @@ -105,38 +106,29 @@ pub trait CyclicGroup { const GENERATOR: Self; } -/// The BN curve consists of pairs -/// (x, y): (BN254, BN254) | y^2 = x^3 + 2 -// with generator given by (1, 2) -impl CyclicGroup for Curve { - const GENERATOR: Curve = Curve { - x: BN254 { val: U256::one() }, - y: BN254 { - val: U256([2, 0, 0, 0]), - }, - }; -} - -impl Mul for Curve +impl Mul for CurveAff where T: FieldExt, - Curve: CyclicGroup, + CurveAff: CyclicGroup, { - type Output = Curve; + type Output = CurveAff; fn mul(self, other: i32) -> Self { if other == 0 { - return Curve::::unit(); + return CurveAff::::unit(); + } + if self == CurveAff::::unit() { + return CurveAff::::unit(); } - if self == Curve::::unit() { - return Curve::::unit(); + if other == 1 { + return self; } - let mut x: Curve = self; + let mut x: CurveAff = self; if other.is_negative() { x = -x; } - let mut result = Curve::::unit(); + let mut result = CurveAff::::unit(); let mut exp = other.unsigned_abs() as usize; while exp > 0 { @@ -150,366 +142,915 @@ where } } -/// The twisted curve consists of pairs -/// (x, y): (Fp2, Fp2) | y^2 = x^3 + 3/(9 + i) -/// with generator given as follows -impl CyclicGroup for Curve> { - const GENERATOR: Curve> = Curve { - x: Fp2 { - re: BN254 { - val: U256([ - 0x46debd5cd992f6ed, - 0x674322d4f75edadd, - 0x426a00665e5c4479, - 0x1800deef121f1e76, - ]), - }, - im: BN254 { - val: U256([ - 0x97e485b7aef312c2, - 0xf1aa493335a9e712, - 0x7260bfb731fb5d25, - 0x198e9393920d483a, - ]), - }, - }, - y: Fp2 { - re: BN254 { - val: U256([ - 0x4ce6cc0166fa7daa, - 0xe3d1e7690c43d37b, - 0x4aab71808dcb408f, - 0x12c85ea5db8c6deb, - ]), - }, - im: BN254 { - val: U256([ - 0x55acdadcd122975b, - 0xbc4b313370b38ef3, - 0xec9e99ad690c3395, - 0x090689d0585ff075, - ]), - }, - }, - }; +#[derive(Debug, Copy, Clone, PartialEq)] +pub(crate) struct CurveProj +where + T: FieldExt, +{ + pub x: T, + pub y: T, + pub z: T, } -// The tate pairing takes a point each from the curve and its twist and outputs -// an Fp12 element -pub(crate) fn bn_tate(p: Curve, q: Curve>) -> Fp12 { - let miller_output = bn_miller_loop(p, q); - bn_final_exponent(miller_output) -} +impl Stack for CurveProj { + const SIZE: usize = 3 * T::SIZE; -/// Standard code for miller loop, can be found on page 99 at this url: -/// -/// where BN_EXP is a hardcoding of the array of Booleans that the loop -/// traverses -pub(crate) fn bn_miller_loop(p: Curve, q: Curve>) -> Fp12 { - let mut r = p; - let mut acc: Fp12 = Fp12::::UNIT; - let mut line: Fp12; - - for i in BN_EXP { - line = bn_tangent(r, q); - r = r + r; - acc = line * acc * acc; - if i { - line = bn_cord(p, r, q); - r = r + p; - acc = line * acc; - } + fn to_stack(&self) -> Vec { + let mut stack = self.x.to_stack(); + stack.extend(self.y.to_stack()); + stack.extend(self.z.to_stack()); + stack } - acc -} - -/// The sloped line function for doubling a point -pub(crate) fn bn_tangent(p: Curve, q: Curve>) -> Fp12 { - let cx = -BN254::new(3) * p.x * p.x; - let cy = BN254::new(2) * p.y; - bn_sparse_embed(p.y * p.y - BN254::new(9), q.x * cx, q.y * cy) -} -/// The sloped line function for adding two points -pub(crate) fn bn_cord(p1: Curve, p2: Curve, q: Curve>) -> Fp12 { - let cx = p2.y - p1.y; - let cy = p1.x - p2.x; - bn_sparse_embed(p1.y * p2.x - p2.y * p1.x, q.x * cx, q.y * cy) + fn from_stack(stack: &[U256]) -> Self { + CurveProj { + x: T::from_stack(&stack[0..T::SIZE]), + y: T::from_stack(&stack[T::SIZE..2 * T::SIZE]), + z: T::from_stack(&stack[2 * T::SIZE..3 * T::SIZE]), + } + } } -/// The tangent and cord functions output sparse Fp12 elements. +/// The tangent and chord functions output sparse Fp12 elements. /// This map embeds the nonzero coefficients into an Fp12. -pub(crate) const fn bn_sparse_embed(g000: BN254, g01: Fp2, g11: Fp2) -> Fp12 { +#[cfg(test)] +pub(crate) const fn sparse_embed(g000: F, g01: Fp2, g11: Fp2) -> Fp12 +where + F: FieldExt, + Fp2: Adj, +{ let g0 = Fp6 { t0: Fp2 { re: g000, - im: BN254::ZERO, + im: F::ZERO, }, t1: g01, - t2: Fp2::::ZERO, + t2: Fp2::::ZERO, }; let g1 = Fp6 { - t0: Fp2::::ZERO, + t0: Fp2::::ZERO, t1: g11, - t2: Fp2::::ZERO, + t2: Fp2::::ZERO, }; Fp12 { z0: g0, z1: g1 } } -pub(crate) fn gen_bn_fp12_sparse(rng: &mut R) -> Fp12 { - bn_sparse_embed( - rng.gen::(), - rng.gen::>(), - rng.gen::>(), - ) +/// Generates a sparse, random Fp12 element. +#[cfg(test)] +pub(crate) fn gen_fp12_sparse(rng: &mut R) -> Fp12 +where + F: FieldExt, + Fp2: Adj, + Standard: Distribution, +{ + sparse_embed::(rng.gen::(), rng.gen::>(), rng.gen::>()) } -/// The output y of the miller loop is not an invariant, -/// but one gets an invariant by raising y to the power -/// (p^12 - 1)/N = (p^6 - 1)(p^2 + 1)(p^4 - p^2 + 1)/N -/// where N is the cyclic group order of the curve. -/// To achieve this, we first exponentiate y by p^6 - 1 via -/// y = y_6 / y -/// and then exponentiate the result by p^2 + 1 via -/// y = y_2 * y -/// We then note that (p^4 - p^2 + 1)/N can be rewritten as -/// (p^4 - p^2 + 1)/N = p^3 + (a2)p^2 - (a1)p - a0 -/// where 0 < a0, a1, a2 < p. Then the final power is given by -/// y = y_3 * (y^a2)_2 * (y^-a1)_1 * (y^-a0) -pub(crate) fn bn_final_exponent(f: Fp12) -> Fp12 { - let mut y = f.frob(6) / f; - y = y.frob(2) * y; - let (y_a2, y_a1, y_a0) = get_bn_custom_powers(y); - y.frob(3) * y_a2.frob(2) * y_a1.frob(1) * y_a0 -} +#[cfg(test)] +pub mod bn254 { + use super::*; + use crate::extension_tower::BN254; + + /// The BN curve consists of pairs + /// (x, y): (BN254, BN254) | y^2 = x^3 + 3 + // with generator given by (1, 2). + impl CyclicGroup for CurveAff { + const GENERATOR: CurveAff = CurveAff { + x: BN254 { val: U256::one() }, + y: BN254 { + val: U256([2, 0, 0, 0]), + }, + }; + } -/// We first together (so as to avoid repeated steps) compute -/// y^a4, y^a2, y^a0 -/// where a1 is given by -/// a1 = a4 + 2a2 - a0 -/// we then invert y^a0 and return -/// y^a2, y^a1 = y^a4 * y^a2 * y^a2 * y^(-a0), y^(-a0) -/// -/// Representing a4, a2, a0 in *little endian* binary, define -/// BN_EXPS4 = [(a4[i], a2[i], a0[i]) for i in 0..len(a4)] -/// BN_EXPS2 = [ (a2[i], a0[i]) for i in len(a4)..len(a2)] -/// BN_EXPS0 = [ a0[i] for i in len(a2)..len(a0)] -fn get_bn_custom_powers(f: Fp12) -> (Fp12, Fp12, Fp12) { - let mut sq: Fp12 = f; - let mut y0: Fp12 = Fp12::::UNIT; - let mut y2: Fp12 = Fp12::::UNIT; - let mut y4: Fp12 = Fp12::::UNIT; - - // proceed via standard squaring algorithm for exponentiation - - // must keep multiplying all three values: a4, a2, a0 - for (a, b, c) in BN_EXPS4 { - if a { - y4 = y4 * sq; + /// The twisted curve consists of pairs + /// (x, y): (Fp2, Fp2) | y^2 = x^3 + 3/(9 + i) + /// with generator given as follows: + impl CyclicGroup for CurveAff> { + const GENERATOR: CurveAff> = CurveAff { + x: Fp2 { + re: BN254 { + val: U256([ + 0x46debd5cd992f6ed, + 0x674322d4f75edadd, + 0x426a00665e5c4479, + 0x1800deef121f1e76, + ]), + }, + im: BN254 { + val: U256([ + 0x97e485b7aef312c2, + 0xf1aa493335a9e712, + 0x7260bfb731fb5d25, + 0x198e9393920d483a, + ]), + }, + }, + y: Fp2 { + re: BN254 { + val: U256([ + 0x4ce6cc0166fa7daa, + 0xe3d1e7690c43d37b, + 0x4aab71808dcb408f, + 0x12c85ea5db8c6deb, + ]), + }, + im: BN254 { + val: U256([ + 0x55acdadcd122975b, + 0xbc4b313370b38ef3, + 0xec9e99ad690c3395, + 0x090689d0585ff075, + ]), + }, + }, + }; + } + + /// The sloped line function for doubling a point. + pub(crate) fn tangent(p: CurveAff, q: CurveAff>) -> Fp12 { + let cx = -BN254::new(3) * p.x * p.x; + let cy = BN254::new(2) * p.y; + sparse_embed::(p.y * p.y - BN254::new(9), q.x * cx, q.y * cy) + } + + /// The sloped line function for adding two points. + pub(crate) fn chord( + p1: CurveAff, + p2: CurveAff, + q: CurveAff>, + ) -> Fp12 { + let cx = p2.y - p1.y; + let cy = p1.x - p2.x; + sparse_embed::(p1.y * p2.x - p2.y * p1.x, q.x * cx, q.y * cy) + } + + // The tate pairing takes points from the curve and its twist and outputs + // an Fp12 element. + pub(crate) fn tate(p: CurveAff, q: CurveAff>) -> Fp12 { + let miller_output = miller_loop(p, q); + final_exponent(miller_output) + } + + /// Standard code for miller loop, can be found on page 99 at this url: + /// + /// where BN_EXP is a hardcoding of the array of Booleans that the loop + /// traverses. + pub(crate) fn miller_loop(p: CurveAff, q: CurveAff>) -> Fp12 { + let mut r = p; + let mut acc: Fp12 = Fp12::::UNIT; + let mut line: Fp12; + + for i in BN_EXP { + line = tangent(r, q); + r = r + r; + acc = line * acc * acc; + if i { + line = chord(p, r, q); + r = r + p; + acc = line * acc; + } } - if b { - y2 = y2 * sq; + acc + } + + /// The output y of the miller loop is not an invariant, + /// but one gets an invariant by raising y to the power + /// (p^12 - 1)/N = (p^6 - 1)(p^2 + 1)(p^4 - p^2 + 1)/N + /// where N is the cyclic group order of the curve. + /// To achieve this, we first exponentiate y by p^6 - 1 via + /// y = y_6 / y + /// and then exponentiate the result by p^2 + 1 via + /// y = y_2 * y + /// We then note that (p^4 - p^2 + 1)/N can be rewritten as + /// (p^4 - p^2 + 1)/N = p^3 + (a2)p^2 + (a1)p - a0 + /// where 0 < a0, a1, a2 < p. Then the final power is given by + /// y = y_3 * (y^a2)_2 * (y^a1)_1 * (y^-a0). + pub(crate) fn final_exponent(f: Fp12) -> Fp12 { + let mut y = f.frob(6) / f; + y = y.frob(2) * y; + let (y_a2, y_a1, y_a0) = get_custom_powers(y); + y.frob(3) * y_a2.frob(2) * y_a1.frob(1) * y_a0 + } + + /// We first together (so as to avoid repeated steps) compute + /// y^a4, y^a2, y^a0 + /// where a1 is given by + /// a1 = a4 + 2a2 - a0 + /// we then invert y^a0 and return + /// y^a2, y^a1 = y^a4 * y^a2 * y^a2 * y^(-a0), y^(-a0) + /// + /// Representing a4, a2, a0 in *little endian* binary, define + /// BN_EXPS4 = [(a4[i], a2[i], a0[i]) for i in 0..len(a4)] + /// BN_EXPS2 = [ (a2[i], a0[i]) for i in len(a4)..len(a2)] + /// BN_EXPS0 = [ a0[i] for i in len(a2)..len(a0)] + fn get_custom_powers(f: Fp12) -> (Fp12, Fp12, Fp12) { + let mut sq: Fp12 = f; + let mut y0: Fp12 = Fp12::::UNIT; + let mut y2: Fp12 = Fp12::::UNIT; + let mut y4: Fp12 = Fp12::::UNIT; + + // proceed via standard squaring algorithm for exponentiation + + // must keep multiplying all three values: a4, a2, a0 + for (a, b, c) in BN_EXPS4 { + if a { + y4 = y4 * sq; + } + if b { + y2 = y2 * sq; + } + if c { + y0 = y0 * sq; + } + sq = sq * sq; } - if c { - y0 = y0 * sq; + // leading term of a4 is always 1 + y4 = y4 * sq; + + // must keep multiplying remaining two values: a2, a0 + for (a, b) in BN_EXPS2 { + if a { + y2 = y2 * sq; + } + if b { + y0 = y0 * sq; + } + sq = sq * sq; + } + // leading term of a2 is always 1 + y2 = y2 * sq; + + // must keep multiplying final remaining value: a0 + for a in BN_EXPS0 { + if a { + y0 = y0 * sq; + } + sq = sq * sq; } - sq = sq * sq; + // leading term of a0 is always 1 + y0 = y0 * sq; + + // invert y0 to compute y^(-a0) + let y0_inv = y0.inv(); + + // return y^a2 = y2, y^a1 = y4 * y2^2 * y^(-a0), y^(-a0) + (y2, y4 * y2 * y2 * y0_inv, y0_inv) + } + + const BN_EXP: [bool; 253] = [ + true, false, false, false, false, false, true, true, false, false, true, false, false, + false, true, false, false, true, true, true, false, false, true, true, true, false, false, + true, false, true, true, true, false, false, false, false, true, false, false, true, true, + false, false, false, true, true, false, true, false, false, false, false, false, false, + false, true, false, true, false, false, true, true, false, true, true, true, false, false, + false, false, true, false, true, false, false, false, false, false, true, false, false, + false, true, false, true, true, false, true, true, false, true, true, false, true, false, + false, false, false, false, false, true, true, false, false, false, false, false, false, + true, false, true, false, true, true, false, false, false, false, true, false, true, true, + true, false, true, false, false, true, false, true, false, false, false, false, false, + true, true, false, false, true, true, true, true, true, false, true, false, false, false, + false, true, false, false, true, false, false, false, false, true, true, true, true, false, + false, true, true, false, true, true, true, false, false, true, false, true, true, true, + false, false, false, false, true, false, false, true, false, false, false, true, false, + true, false, false, false, false, true, true, true, true, true, false, false, false, false, + true, true, true, true, true, false, true, false, true, true, false, false, true, false, + false, true, true, true, true, true, true, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, + ]; + + // The following constants are defined above get_custom_powers. + const BN_EXPS4: [(bool, bool, bool); 64] = [ + (true, true, false), + (true, true, true), + (true, true, true), + (false, false, false), + (false, false, true), + (true, false, true), + (false, true, false), + (true, false, true), + (true, true, false), + (true, false, true), + (false, true, false), + (true, true, false), + (true, true, false), + (true, true, false), + (false, true, false), + (false, true, false), + (false, false, true), + (true, false, true), + (true, true, false), + (false, true, false), + (true, true, false), + (true, true, false), + (true, true, false), + (false, false, true), + (false, false, true), + (true, false, true), + (true, false, true), + (true, true, false), + (true, false, false), + (true, true, false), + (false, true, false), + (true, true, false), + (true, false, false), + (false, true, false), + (false, false, false), + (true, false, false), + (true, false, false), + (true, false, true), + (false, false, true), + (false, true, true), + (false, false, true), + (false, true, true), + (false, true, true), + (false, false, false), + (true, true, true), + (true, false, true), + (true, false, true), + (false, true, true), + (true, false, true), + (false, true, true), + (false, true, true), + (true, true, false), + (true, true, false), + (true, true, false), + (true, false, false), + (false, false, true), + (true, false, false), + (false, false, true), + (true, false, true), + (true, true, false), + (true, true, true), + (false, true, true), + (false, true, false), + (true, true, true), + ]; + + const BN_EXPS2: [(bool, bool); 62] = [ + (true, false), + (true, true), + (false, false), + (true, false), + (true, false), + (true, true), + (true, false), + (true, true), + (true, false), + (false, true), + (false, true), + (true, true), + (true, true), + (false, false), + (true, true), + (false, false), + (false, false), + (false, true), + (false, true), + (true, true), + (true, true), + (true, true), + (false, true), + (true, true), + (false, false), + (true, true), + (true, false), + (true, true), + (false, false), + (true, true), + (true, true), + (true, false), + (false, false), + (false, true), + (false, false), + (true, true), + (false, true), + (false, false), + (true, false), + (false, true), + (false, true), + (true, false), + (false, true), + (false, false), + (false, false), + (false, false), + (false, true), + (true, false), + (true, true), + (false, true), + (true, true), + (true, false), + (false, true), + (false, false), + (true, false), + (false, true), + (true, false), + (true, true), + (true, false), + (true, true), + (false, true), + (true, true), + ]; + + const BN_EXPS0: [bool; 65] = [ + false, false, true, false, false, true, true, false, true, false, true, true, true, false, + true, false, false, false, true, false, false, true, false, true, false, true, true, false, + false, false, false, false, true, false, true, false, true, true, true, false, false, true, + true, true, true, false, true, false, true, true, false, false, true, false, false, false, + true, true, true, true, false, false, true, true, false, + ]; +} + +// The optimal Ate pairing implementation for BLS12-381 has been taken from +// . +pub mod bls381 { + use anyhow::{anyhow, Result}; + + use super::*; + use crate::extension_tower::BLS_BASE; + + const B_G1: BLS381 = BLS381 { + val: U512([4, 0, 0, 0, 0, 0, 0, 0]), + }; + + /// The BLS curve consists of pairs + /// (x, y): (BLS381, BLS381) | y^2 = x^3 + 4 + // with generator given by + // x = 3685416753713387016781088315183077757961620795782546409894578378688607592378376318836054947676345821548104185464507 + // y = 1339506544944476473020471379941921221584933875938349620426543736416511423956333506472724655353366534992391756441569 + impl CyclicGroup for CurveAff { + const GENERATOR: CurveAff = CurveAff { + x: BLS381 { + val: U512([ + 0xfb3af00adb22c6bb, + 0x6c55e83ff97a1aef, + 0xa14e3a3f171bac58, + 0xc3688c4f9774b905, + 0x2695638c4fa9ac0f, + 0x17f1d3a73197d794, + 0, + 0, + ]), + }, + y: BLS381 { + val: U512([ + 0x0caa232946c5e7e1, + 0xd03cc744a2888ae4, + 0x00db18cb2c04b3ed, + 0xfcf5e095d5d00af6, + 0xa09e30ed741d8ae4, + 0x08b3f481e3aaa0f1, + 0, + 0, + ]), + }, + }; + } + + /// The twisted curve consists of pairs + /// (x, y): (Fp2, Fp2) | y^2 = x^3 + 4*(i + 1) + /// with generator given by + // x = 352701069587466618187139116011060144890029952792775240219908644239793785735715026873347600343865175952761926303160 + // + 3059144344244213709971259814753781636986470325476647558659373206291635324768958432433509563104347017837885763365758 * i + // y = 1985150602287291935568054521177171638300868978215655730859378665066344726373823718423869104263333984641494340347905 + // + 927553665492332455747201965776037880757740193453592970025027978793976877002675564980949289727957565575433344219582 * i + impl CyclicGroup for CurveAff> { + const GENERATOR: CurveAff> = CurveAff { + x: Fp2 { + re: BLS381 { + val: U512([ + 0xd48056c8c121bdb8, + 0x0bac0326a805bbef, + 0xb4510b647ae3d177, + 0xc6e47ad4fa403b02, + 0x260805272dc51051, + 0x024aa2b2f08f0a91, + 0, + 0, + ]), + }, + im: BLS381 { + val: U512([ + 0xe5ac7d055d042b7e, + 0x334cf11213945d57, + 0xb5da61bbdc7f5049, + 0x596bd0d09920b61a, + 0x7dacd3a088274f65, + 0x13e02b6052719f60, + 0, + 0, + ]), + }, + }, + y: Fp2 { + re: BLS381 { + val: U512([ + 0xe193548608b82801, + 0x923ac9cc3baca289, + 0x6d429a695160d12c, + 0xadfd9baa8cbdd3a7, + 0x8cc9cdc6da2e351a, + 0x0ce5d527727d6e11, + 0, + 0, + ]), + }, + im: BLS381 { + val: U512([ + 0xaaa9075ff05f79be, + 0x3f370d275cec1da1, + 0x267492ab572e99ab, + 0xcb3e287e85a763af, + 0x32acd2b02bc28b99, + 0x0606c4a02ea734cc, + 0, + 0, + ]), + }, + }, + }; } - // leading term of a4 is always 1 - y4 = y4 * sq; - // must keep multiplying remaining two values: a2, a0 - for (a, b) in BN_EXPS2 { - if a { - y2 = y2 * sq; + /// Deserializes a sequence of bytes into a BLS12-381 G1 element in affine + /// coordinates. Follows the procedure defined in `octets_to_point` of + /// , + /// based on zkcrypto/bls12_381 serialization design notes available at + /// . + pub(crate) fn g1_from_bytes(bytes: &[u8; 48]) -> Result> { + // Obtain the three flags from the start of the byte sequence + let compression_flag_set = ((bytes[0] >> 7) & 1) != 0; + let infinity_flag_set = ((bytes[0] >> 6) & 1) != 0; + let sort_flag_set = ((bytes[0] >> 5) & 1) != 0; + + // Attempt to obtain the x-coordinate + let x = { + let mut tmp = [0; 48]; + tmp.copy_from_slice(&bytes[0..48]); + + // Mask away the flag bits + tmp[0] &= 0b0001_1111; + + BLS381 { + val: U512::from_big_endian(&tmp), + } + }; + + if x.val > BLS_BASE { + return Err(anyhow!("X coordinate is larger than modulus.")); } - if b { - y0 = y0 * sq; + + if infinity_flag_set { + if !( + compression_flag_set & // Compression flag should be set + (!sort_flag_set) & // Sort flag should not be set + x.val.is_zero() + // The x-coordinate should be zero + ) { + return Err(anyhow!("Byte flags are contradictory")); + } + + return Ok(CurveAff::::unit()); + } + + // Recover a y-coordinate given x with y = sqrt(x^3 + 4). + if let Ok(mut y) = ((x * x * x) + B_G1).sqrt() { + // Switch to the correct y-coordinate if necessary. + + if y.lexicographically_largest() ^ sort_flag_set { + y = -y; + } + + if infinity_flag_set | !compression_flag_set { + return Err(anyhow!("Byte flags are contradictory")); + } + + Ok(CurveAff:: { x, y }) + } else { + Err(anyhow!("This point is not on the curve.")) } - sq = sq * sq; } - // leading term of a2 is always 1 - y2 = y2 * sq; - // must keep multiplying final remaining value: a0 - for a in BN_EXPS0 { - if a { - y0 = y0 * sq; + // The optimal Ate pairing takes a point each from the curve and its twist and + // outputs an Fp12 element. + pub(crate) fn ate_optim(p: CurveAff, q: CurveAff>) -> Fp12 { + let miller_output = miller_loop(p, q); + final_exponent(miller_output) + } + + /// Miller loop for the optimal Ate pairing, which computes $f_{u,Q}(P)$ + /// with the accumulator as a point on the twist, before exponentiating + /// by $(p^12 - 1)/r$ with $r$ the order of the multiplicative target group. + pub(crate) fn miller_loop(p: CurveAff, q: CurveAff>) -> Fp12 { + let mut r = CurveProj::> { + x: q.x, + y: q.y, + z: Fp2::::UNIT, + }; + let mut acc: Fp12 = Fp12::::UNIT; + + let mut found_one = false; + for i in (0..64).rev().map(|b| (((X_GENERATOR >> 1) >> b) & 1) == 1) { + if !found_one { + found_one = i; + continue; + } + let coeffs = doubling_step(&mut r); + acc = ell(acc, &coeffs, &p); + + if i { + let coeffs = addition_step(&mut r, &q); + acc = ell(acc, &coeffs, &p); + } + + acc = acc * acc; } - sq = sq * sq; + + let coeffs = doubling_step(&mut r); + acc = ell(acc, &coeffs, &p); + + acc.conj() // X_GENERATOR is negative + } + + fn ell( + f: Fp12, + coeffs: &(Fp2, Fp2, Fp2), + p: &CurveAff, + ) -> Fp12 { + let mut c0 = coeffs.0; + let mut c1 = coeffs.1; + + c0.re = c0.re * p.y; + c0.im = c0.im * p.y; + + c1.re = c1.re * p.x; + c1.im = c1.im * p.x; + + f.mul_by_014(coeffs.2, c1, c0) + } + + fn doubling_step(r: &mut CurveProj>) -> (Fp2, Fp2, Fp2) { + // Adaptation of Algorithm 26, https://eprint.iacr.org/2010/354.pdf + let tmp0 = r.x * r.x; + let tmp1 = r.y * r.y; + let tmp2 = tmp1 * tmp1; + let tmp3 = (tmp1 + r.x) * (tmp1 + r.x) - tmp0 - tmp2; + let tmp3 = tmp3 + tmp3; + let tmp4 = tmp0 + tmp0 + tmp0; + let tmp6 = r.x + tmp4; + let tmp5 = tmp4 * tmp4; + let z_sq = r.z * r.z; + r.x = tmp5 - tmp3 - tmp3; + r.z = (r.z + r.y) * (r.z + r.y) - tmp1 - z_sq; + r.y = (tmp3 - r.x) * tmp4; + let tmp2 = tmp2 + tmp2; + let tmp2 = tmp2 + tmp2; + let tmp2 = tmp2 + tmp2; + r.y = r.y - tmp2; + let tmp3 = tmp4 * z_sq; + let tmp3 = tmp3 + tmp3; + let tmp3 = -tmp3; + let tmp6 = tmp6 * tmp6 - tmp0 - tmp5; + let tmp1 = tmp1 + tmp1; + let tmp1 = tmp1 + tmp1; + let tmp6 = tmp6 - tmp1; + let tmp0 = r.z * z_sq; + let tmp0 = tmp0 + tmp0; + + (tmp0, tmp3, tmp6) + } + + fn addition_step( + r: &mut CurveProj>, + q: &CurveAff>, + ) -> (Fp2, Fp2, Fp2) { + // Adaptation of Algorithm 27, https://eprint.iacr.org/2010/354.pdf + let z_sq = r.z * r.z; + let y_sq = q.y * q.y; + let t0 = z_sq * q.x; + let t1 = ((q.y + r.z) * (q.y + r.z) - y_sq - z_sq) * z_sq; + let t2 = t0 - r.x; + let t3 = t2 * t2; + let t4 = t3 + t3; + let t4 = t4 + t4; + let t5 = t4 * t2; + let t6 = t1 - r.y - r.y; + let t9 = t6 * q.x; + let t7 = t4 * r.x; + r.x = t6 * t6 - t5 - t7 - t7; + r.z = (r.z + t2) * (r.z + t2) - z_sq - t3; + let t10 = q.y + r.z; + let t8 = (t7 - r.x) * t6; + let t0 = r.y * t5; + let t0 = t0 + t0; + r.y = t8 - t0; + let t10 = t10 * t10 - y_sq; + let zt_sq = r.z * r.z; + let t10 = t10 - zt_sq; + let t9 = t9 + t9 - t10; + let t10 = r.z + r.z; + let t6 = -t6; + let t1 = t6 + t6; + + (t10, t1, t9) + } + + /// The output y of the miller loop is not an invariant, + /// but one gets an invariant by raising y to the power + /// (p^12 - 1)/N = (p^6 - 1)(p^2 + 1)(p^4 - p^2 + 1)/N + /// where N is the cyclic group order of the curve. + /// + /// See section 5 of . + pub(crate) fn final_exponent(f: Fp12) -> Fp12 { + let mut t0 = f.frob(6); + let mut t1 = f.inv(); + let mut t2 = t0 * t1; + t1 = t2; + t2 = t2.frob(2); + t2 = t2 * t1; + t1 = cyclotomic_square(t2).conj(); + let mut t3 = cyclotomic_exp(t2); + let mut t4 = cyclotomic_square(t3); + let mut t5 = t1 * t3; + t1 = cyclotomic_exp(t5); + t0 = cyclotomic_exp(t1); + let mut t6 = cyclotomic_exp(t0); + t6 = t6 * t4; + t4 = cyclotomic_exp(t6); + t5 = t5.conj(); + t4 = t4 * t5; + t4 = t4 * t2; + t5 = t2.conj(); + t1 = t1 * t2; + t1 = t1.frob(3); + t6 = t6 * t5; + t6 = t6.frob(1); + t3 = t3 * t0; + t3 = t3.frob(2); + t3 = t3 * t1; + t3 = t3 * t6; + t3 * t4 } - // leading term of a0 is always 1 - y0 = y0 * sq; - // invert y0 to compute y^(-a0) - let y0_inv = y0.inv(); + fn fp4_square(a: Fp2, b: Fp2) -> (Fp2, Fp2) { + let t0 = a * a; + let t1 = b * b; + let mut t2 = t1.mul_adj(); + let c0 = t2 + t0; + t2 = a + b; + t2 = t2 * t2 - t0; + let c1 = t2 - t1; - // return y^a2 = y2, y^a1 = y4 * y2^2 * y^(-a0), y^(-a0) - (y2, y4 * y2 * y2 * y0_inv, y0_inv) + (c0, c1) + } + + // Adaptation of Algorithm 5.5.4, Guide to Pairing-Based Cryptography + // Faster Squaring in the Cyclotomic Subgroup of Sixth Degree Extensions + // . + fn cyclotomic_square(f: Fp12) -> Fp12 { + let mut z0 = f.z0.t0; + let mut z4 = f.z0.t1; + let mut z3 = f.z0.t2; + let mut z2 = f.z1.t0; + let mut z1 = f.z1.t1; + let mut z5 = f.z1.t2; + + let (t0, t1) = fp4_square(z0, z1); + + // For A + z0 = t0 - z0; + z0 = z0 + z0 + t0; + + z1 = t1 + z1; + z1 = z1 + z1 + t1; + + let (mut t0, t1) = fp4_square(z2, z3); + let (t2, t3) = fp4_square(z4, z5); + + // For C + z4 = t0 - z4; + z4 = z4 + z4 + t0; + + z5 = t1 + z5; + z5 = z5 + z5 + t1; + + // For B + t0 = t3.mul_adj(); + z2 = t0 + z2; + z2 = z2 + z2 + t0; + + z3 = t2 - z3; + z3 = z3 + z3 + t2; + + Fp12:: { + z0: Fp6:: { + t0: z0, + t1: z4, + t2: z3, + }, + z1: Fp6:: { + t0: z2, + t1: z1, + t2: z5, + }, + } + } + + fn cyclotomic_exp(f: Fp12) -> Fp12 { + let mut tmp = Fp12::::UNIT; + + let mut found_one = false; + for i in (0..64).rev().map(|b| ((X_GENERATOR >> b) & 1) == 1) { + if found_one { + tmp = cyclotomic_square(tmp) + } else { + found_one = i; + } + + if i { + tmp = tmp * f; + } + } + + tmp.conj() + } + + /// The value used to generate both scalar and base fields of BLS12-381. + /// Note that `x` is negative, and the Miller loop hence require a final + /// conjugation in Fp12. + const X_GENERATOR: u64 = 0xd201000000010000; } -const BN_EXP: [bool; 253] = [ - true, false, false, false, false, false, true, true, false, false, true, false, false, false, - true, false, false, true, true, true, false, false, true, true, true, false, false, true, - false, true, true, true, false, false, false, false, true, false, false, true, true, false, - false, false, true, true, false, true, false, false, false, false, false, false, false, true, - false, true, false, false, true, true, false, true, true, true, false, false, false, false, - true, false, true, false, false, false, false, false, true, false, false, false, true, false, - true, true, false, true, true, false, true, true, false, true, false, false, false, false, - false, false, true, true, false, false, false, false, false, false, true, false, true, false, - true, true, false, false, false, false, true, false, true, true, true, false, true, false, - false, true, false, true, false, false, false, false, false, true, true, false, false, true, - true, true, true, true, false, true, false, false, false, false, true, false, false, true, - false, false, false, false, true, true, true, true, false, false, true, true, false, true, - true, true, false, false, true, false, true, true, true, false, false, false, false, true, - false, false, true, false, false, false, true, false, true, false, false, false, false, true, - true, true, true, true, false, false, false, false, true, true, true, true, true, false, true, - false, true, true, false, false, true, false, false, true, true, true, true, true, true, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, false, false, false, - false, -]; - -// The following constants are defined above get_custom_powers - -const BN_EXPS4: [(bool, bool, bool); 64] = [ - (true, true, false), - (true, true, true), - (true, true, true), - (false, false, false), - (false, false, true), - (true, false, true), - (false, true, false), - (true, false, true), - (true, true, false), - (true, false, true), - (false, true, false), - (true, true, false), - (true, true, false), - (true, true, false), - (false, true, false), - (false, true, false), - (false, false, true), - (true, false, true), - (true, true, false), - (false, true, false), - (true, true, false), - (true, true, false), - (true, true, false), - (false, false, true), - (false, false, true), - (true, false, true), - (true, false, true), - (true, true, false), - (true, false, false), - (true, true, false), - (false, true, false), - (true, true, false), - (true, false, false), - (false, true, false), - (false, false, false), - (true, false, false), - (true, false, false), - (true, false, true), - (false, false, true), - (false, true, true), - (false, false, true), - (false, true, true), - (false, true, true), - (false, false, false), - (true, true, true), - (true, false, true), - (true, false, true), - (false, true, true), - (true, false, true), - (false, true, true), - (false, true, true), - (true, true, false), - (true, true, false), - (true, true, false), - (true, false, false), - (false, false, true), - (true, false, false), - (false, false, true), - (true, false, true), - (true, true, false), - (true, true, true), - (false, true, true), - (false, true, false), - (true, true, true), -]; - -const BN_EXPS2: [(bool, bool); 62] = [ - (true, false), - (true, true), - (false, false), - (true, false), - (true, false), - (true, true), - (true, false), - (true, true), - (true, false), - (false, true), - (false, true), - (true, true), - (true, true), - (false, false), - (true, true), - (false, false), - (false, false), - (false, true), - (false, true), - (true, true), - (true, true), - (true, true), - (false, true), - (true, true), - (false, false), - (true, true), - (true, false), - (true, true), - (false, false), - (true, true), - (true, true), - (true, false), - (false, false), - (false, true), - (false, false), - (true, true), - (false, true), - (false, false), - (true, false), - (false, true), - (false, true), - (true, false), - (false, true), - (false, false), - (false, false), - (false, false), - (false, true), - (true, false), - (true, true), - (false, true), - (true, true), - (true, false), - (false, true), - (false, false), - (true, false), - (false, true), - (true, false), - (true, true), - (true, false), - (true, true), - (false, true), - (true, true), -]; - -const BN_EXPS0: [bool; 65] = [ - false, false, true, false, false, true, true, false, true, false, true, true, true, false, - true, false, false, false, true, false, false, true, false, true, false, true, true, false, - false, false, false, false, true, false, true, false, true, true, true, false, false, true, - true, true, true, false, true, false, true, true, false, false, true, false, false, false, - true, true, true, true, false, false, true, true, false, -]; +#[cfg(test)] +mod tests { + use super::*; + use crate::extension_tower::BN254; + + #[test] + fn test_bls_pairing() { + let mut rng = rand::thread_rng(); + let mut acc = 0_i32; + let mut running_product = Fp12::::UNIT; + for _ in 0..5 { + let m = rng.gen_range(-8..8); + let n = rng.gen_range(-8..8); + if m * n == 0 { + continue; + } + acc -= m * n; + + let p = CurveAff::::int(m); + let q = CurveAff::>::int(n); + running_product = running_product * bls381::ate_optim(p, q); + } + + // Finally, multiply by the accumulated inverse and check this matches the + // expected value. + let p = CurveAff::::int(acc); + let q = CurveAff::>::GENERATOR; + running_product = running_product * bls381::ate_optim(p, q); + + let expected = if acc == 0 { + Fp12::::ZERO + } else { + Fp12::::UNIT + }; + + assert_eq!(running_product, expected); + } + + #[test] + fn test_bn_pairing() { + let mut rng = rand::thread_rng(); + let mut acc = 0_i32; + let mut running_product = Fp12::::UNIT; + for _ in 0..5 { + let m = rng.gen_range(-8..8); + let n = rng.gen_range(-8..8); + if m * n == 0 { + continue; + } + acc -= m * n; + + let p = CurveAff::::int(m); + let q = CurveAff::>::int(n); + running_product = running_product * bn254::tate(p, q); + } + + // Finally, multiply by the accumulated inverse and check this matches the + // expected value. + let p = CurveAff::::int(acc); + let q = CurveAff::>::GENERATOR; + running_product = running_product * bn254::tate(p, q); + + let expected = if acc == 0 { + Fp12::::ZERO + } else { + Fp12::::UNIT + }; + + assert_eq!(running_product, expected); + } +} diff --git a/evm_arithmetization/src/extension_tower.rs b/evm_arithmetization/src/extension_tower.rs index ea178f305..3638c8c74 100644 --- a/evm_arithmetization/src/extension_tower.rs +++ b/evm_arithmetization/src/extension_tower.rs @@ -1,6 +1,7 @@ use core::fmt::Debug; use core::ops::{Add, Div, Mul, Neg, Sub}; +use anyhow::{anyhow, Result}; use ethereum_types::{U256, U512}; use rand::distributions::{Distribution, Standard}; use rand::Rng; @@ -125,6 +126,13 @@ pub(crate) const BLS_BASE: U512 = U512([ 0x0, ]); +pub(crate) const BLS_SCALAR: U256 = U256([ + 0xffffffff00000001, + 0x53bda402fffe5bfe, + 0x3339d80809a1d805, + 0x73eda753299d7d48, +]); + #[derive(Debug, Copy, Clone, PartialEq)] pub(crate) struct BLS381 { pub val: U512, @@ -179,6 +187,9 @@ impl Sub for BLS381 { } } +// The square root implementation for BLS12-381 as well as the +// `lexicographically_largest` method have been taken from +// . impl BLS381 { fn lsh_128(self) -> BLS381 { let b128: U512 = U512([0, 0, 1, 0, 0, 0, 0, 0]); @@ -195,6 +206,83 @@ impl BLS381 { fn lsh_512(self) -> BLS381 { self.lsh_256().lsh_256() } + + pub fn sqrt(&self) -> Result { + // Uses Shank's method, as p = 3 (mod 4). This means + // we only need to exponentiate by (p+1)/4. This only + // works for elements that are actually quadratic residue, + // so we check that we got the correct result at the end. + + const MODULUS_MINUS_ONE_DIV_FOUR: [bool; 379] = [ + true, true, false, true, false, true, false, true, false, true, false, true, false, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, false, true, true, true, true, true, true, true, true, + false, false, true, true, true, false, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, false, false, true, + false, true, false, true, false, false, false, true, true, false, true, false, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, false, true, false, true, false, true, false, true, true, true, true, + false, false, false, false, false, true, false, false, true, false, false, false, true, + true, false, true, true, true, true, false, false, false, false, true, true, false, + true, false, true, true, false, true, true, true, true, false, false, false, false, + false, true, false, true, false, true, false, false, true, false, true, true, false, + false, false, false, true, true, false, false, true, true, true, false, false, true, + true, false, true, true, true, true, true, true, false, true, false, true, false, + false, true, false, false, false, true, false, true, false, false, false, false, true, + true, true, false, false, true, true, true, true, false, false, true, false, false, + false, false, true, true, true, false, true, false, false, true, false, true, true, + true, false, true, true, true, false, false, false, true, false, false, true, true, + false, true, true, true, false, true, false, true, true, false, false, true, true, + false, true, false, true, true, true, false, true, false, false, true, false, true, + true, false, false, false, false, true, false, false, true, true, false, true, true, + false, true, true, true, true, false, false, true, false, true, true, true, false, + true, true, false, false, false, true, true, false, true, false, false, true, false, + false, true, false, true, true, false, false, true, false, true, true, false, false, + true, true, true, true, true, true, true, true, true, true, false, true, false, false, + true, true, true, false, false, false, true, false, true, false, true, true, true, + true, false, false, false, true, false, false, false, true, false, false, false, false, + false, false, false, false, true, false, true, true, + ]; + + let mut root = BLS381::UNIT; + let mut sq = *self; + for bit in MODULUS_MINUS_ONE_DIV_FOUR { + if bit { + root = root * sq; + } + sq = sq * sq; + } + + // Check that the element is a quadratic residue. + if root * root != *self { + return Err(anyhow!( + "The element does not have a square root in this field." + )); + } + + Ok(root) + } + + /// Returns whether or not this element is strictly lexicographically + /// larger than its negation. + pub fn lexicographically_largest(&self) -> bool { + // This can be determined by checking if the element is larger than + // (p - 1) / 2. + + const MODULUS_MINUS_ONE_DIV_TWO: U512 = U512([ + 0xdcff7fffffffd556, + 0x0f55ffff58a9ffff, + 0xb39869507b587b12, + 0xb23ba5c279c2895f, + 0x258dd3db21a5d66b, + 0x0d0088f51cbff34d, + 0x0000000000000000, + 0x0000000000000000, + ]); + + self.val > MODULUS_MINUS_ONE_DIV_TWO + } } #[allow(clippy::suspicious_arithmetic_impl)] @@ -238,7 +326,7 @@ impl FieldExt for BLS381 { let mut current = self; let mut product = BLS381 { val: U512::one() }; - for j in 0..512 { + for j in 0..384 { if exp.bit(j) { product = product * current; } @@ -393,7 +481,7 @@ impl Div for Fp2 { /// adjoin in the subsequent cubic extension. /// For BN254 this is 9+i, and for BLS381 it is 1+i. /// It also defines the relevant FROB constants, -/// given by t^(p^n) and t^(p^2n) for various n, +/// given by t^(p^n) and (t^2)^(p^n) for various n, /// used to compute the frobenius operations. pub trait Adj: Sized { fn mul_adj(self) -> Self; @@ -805,8 +893,442 @@ impl Adj for Fp2 { im: self.re + self.im, } } - const FROB_T: [[Fp2; 6]; 2] = [[Fp2::::ZERO; 6]; 2]; - const FROB_Z: [Fp2; 12] = [Fp2::::ZERO; 12]; + + const FROB_T: [[Fp2; 6]; 2] = [ + [ + Fp2 { + re: BLS381 { val: U512::one() }, + im: BLS381 { val: U512::zero() }, + }, + Fp2 { + re: BLS381 { val: U512::zero() }, + im: BLS381 { + val: U512([ + 0x8bfd00000000aaac, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + }, + Fp2 { + re: BLS381 { + val: U512([ + 0x2e01fffffffefffe, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + Fp2 { + re: BLS381 { val: U512::zero() }, + im: BLS381 { val: U512::one() }, + }, + Fp2 { + re: BLS381 { + val: U512([ + 0x8bfd00000000aaac, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + Fp2 { + re: BLS381 { val: U512::zero() }, + im: BLS381 { + val: U512([ + 0x2e01fffffffefffe, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + }, + ], + [ + Fp2 { + re: BLS381 { val: U512::one() }, + im: BLS381 { val: U512::zero() }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x8bfd00000000aaad, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { BLS381 { val: U512::zero() } }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x8bfd00000000aaac, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { BLS381 { val: U512::zero() } }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0xb9feffffffffaaaa, + 0x1eabfffeb153ffff, + 0x6730d2a0f6b0f624, + 0x64774b84f38512bf, + 0x4b1ba7b6434bacd7, + 0x1a0111ea397fe69a, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { BLS381 { val: U512::zero() } }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x2e01fffffffefffe, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { BLS381 { val: U512::zero() } }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x2e01fffffffeffff, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { BLS381 { val: U512::zero() } }, + }, + ], + ]; + + const FROB_Z: [Fp2; 12] = [ + Fp2 { + re: { BLS381 { val: U512::one() } }, + im: { BLS381 { val: U512::zero() } }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x8d0775ed92235fb8, + 0xf67ea53d63e7813d, + 0x7b2443d784bab9c4, + 0xfd603fd3cbd5f4f, + 0xc231beb4202c0d1f, + 0x1904d3bf02bb0667, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { + BLS381 { + val: U512([ + 0x2cf78a126ddc4af3, + 0x282d5ac14d6c7ec2, + 0xec0c8ec971f63c5f, + 0x54a14787b6c7b36f, + 0x88e9e902231f9fb8, + 0xfc3e2b36c4e032, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x2e01fffffffeffff, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { BLS381 { val: U512::zero() } }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0xf1ee7b04121bdea2, + 0x304466cf3e67fa0a, + 0xef396489f61eb45e, + 0x1c3dedd930b1cf60, + 0xe2e9c448d77a2cd9, + 0x135203e60180a68e, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { + BLS381 { + val: U512([ + 0xc81084fbede3cc09, + 0xee67992f72ec05f4, + 0x77f76e17009241c5, + 0x48395dabc2d3435e, + 0x6831e36d6bd17ffe, + 0x6af0e0437ff400b, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x2e01fffffffefffe, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { BLS381 { val: U512::zero() } }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x1ee605167ff82995, + 0x5871c1908bd478cd, + 0xdb45f3536814f0bd, + 0x70df3560e77982d0, + 0x6bd3ad4afa99cc91, + 0x144e4211384586c1, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { + BLS381 { + val: U512([ + 0x9b18fae980078116, + 0xc63a3e6e257f8732, + 0x8beadf4d8e9c0566, + 0xf39816240c0b8fee, + 0xdf47fa6b48b1e045, + 0x5b2cfd9013a5fd8, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0xb9feffffffffaaaa, + 0x1eabfffeb153ffff, + 0x6730d2a0f6b0f624, + 0x64774b84f38512bf, + 0x4b1ba7b6434bacd7, + 0x1a0111ea397fe69a, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { BLS381 { val: U512::zero() } }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x2cf78a126ddc4af3, + 0x282d5ac14d6c7ec2, + 0xec0c8ec971f63c5f, + 0x54a14787b6c7b36f, + 0x88e9e902231f9fb8, + 0xfc3e2b36c4e032, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { + BLS381 { + val: U512([ + 0x8d0775ed92235fb8, + 0xf67ea53d63e7813d, + 0x7b2443d784bab9c4, + 0xfd603fd3cbd5f4f, + 0xc231beb4202c0d1f, + 0x1904d3bf02bb0667, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x8bfd00000000aaac, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { BLS381 { val: U512::zero() } }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0xc81084fbede3cc09, + 0xee67992f72ec05f4, + 0x77f76e17009241c5, + 0x48395dabc2d3435e, + 0x6831e36d6bd17ffe, + 0x6af0e0437ff400b, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { + BLS381 { + val: U512([ + 0xf1ee7b04121bdea2, + 0x304466cf3e67fa0a, + 0xef396489f61eb45e, + 0x1c3dedd930b1cf60, + 0xe2e9c448d77a2cd9, + 0x135203e60180a68e, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x8bfd00000000aaad, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { BLS381 { val: U512::zero() } }, + }, + Fp2 { + re: { + BLS381 { + val: U512([ + 0x9b18fae980078116, + 0xc63a3e6e257f8732, + 0x8beadf4d8e9c0566, + 0xf39816240c0b8fee, + 0xdf47fa6b48b1e045, + 0x5b2cfd9013a5fd8, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + im: { + BLS381 { + val: U512([ + 0x1ee605167ff82995, + 0x5871c1908bd478cd, + 0xdb45f3536814f0bd, + 0x70df3560e77982d0, + 0x6bd3ad4afa99cc91, + 0x144e4211384586c1, + 0x0000000000000000, + 0x0000000000000000, + ]), + } + }, + }, + ]; } /// The degree 3 field extension Fp6 over Fp2 is given by adjoining t, where t^3 @@ -921,7 +1443,7 @@ where Fp2: Adj, { /// This function multiplies an Fp6 element by t, and hence shifts the - /// bases, where the t^2 coefficient picks up a factor of 1+i as the 1 + /// bases, where the t^2 coefficient picks up a factor of t^3 as the 1 /// coefficient of the output fn sh(self) -> Fp6 { Fp6 { @@ -930,6 +1452,27 @@ where t2: self.t1, } } + + pub fn mul_by_1(&self, c1: Fp2) -> Fp6 { + let t = Fp6:: { + t0: self.t0 * c1, + t1: self.t1 * c1, + t2: self.t2 * c1, + }; + + t.sh() + } + + pub fn mul_by_01(&self, c0: Fp2, c1: Fp2) -> Fp6 { + let a_a = self.t0 * c0; + let b_b = self.t1 * c1; + + let t0 = (self.t2 * c1).mul_adj() + a_a; + let t1 = (c0 + c1) * (self.t0 + self.t1) - a_a - b_b; + let t2 = self.t2 * c0 + b_b; + + Fp6:: { t0, t1, t2 } + } } impl Fp6 @@ -940,10 +1483,10 @@ where /// The nth frobenius endomorphism of a p^q field is given by mapping /// x to x^(p^n) /// which sends a + bt + ct^2: Fp6 to - /// a^(p^n) + b^(p^n) * t^(p^n) + c^(p^n) * t^(2p^n) + /// a^(p^n) + b^(p^n) * t^(p^n) + c^(p^n) * (t^2)^(p^n) /// The Fp2 coefficients are determined by the comment in the conj method, /// while the values of - /// t^(p^n) and t^(2p^n) + /// t^(p^n) and (t^2)^(p^n) /// are precomputed in the constant arrays FROB_T1 and FROB_T2 pub(crate) fn frob(self, n: usize) -> Fp6 { let n = n % 6; @@ -1183,7 +1726,7 @@ where T: FieldExt, Fp2: Adj, { - fn conj(self) -> Fp12 { + pub fn conj(self) -> Fp12 { Fp12 { z0: self.z0, z1: -self.z1, @@ -1196,6 +1739,20 @@ where T: FieldExt, Fp2: Adj, { + pub fn mul_by_014(&self, c0: Fp2, c1: Fp2, c4: Fp2) -> Fp12 { + let aa = self.z0.mul_by_01(c0, c1); + let bb = self.z1.mul_by_1(c4); + let o = c1 + c4; + let z1 = self.z1 + self.z0; + let z1 = z1.mul_by_01(c0, o); + let z1 = z1 - aa - bb; + let z0 = bb; + let z0 = z0.sh(); + let z0 = z0 + aa; + + Fp12:: { z0, z1 } + } + /// The nth frobenius endomorphism of a p^q field is given by mapping /// x to x^(p^n) /// which sends a + bz: Fp12 to @@ -1320,3 +1877,566 @@ where Fp12 { z0, z1 } } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_bls_fp6_frobenius() { + // f == 2 + let f = Fp6:: { + t0: Fp2::::UNIT + Fp2::::UNIT, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }; + + for i in 0..6 { + assert_eq!(f, f.frob(i)); + } + + // f == t + let f = Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2::::UNIT, + t2: Fp2::::ZERO, + }; + + let expected = [ + f, + Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2:: { + re: BLS381 { val: U512::zero() }, + im: BLS381 { + val: U512([ + 0x8bfd00000000aaac, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + }, + t2: Fp2::::ZERO, + }, + Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2:: { + re: BLS381 { + val: U512([ + 0x2e01fffffffefffe, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + t2: Fp2::::ZERO, + }, + Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2:: { + re: BLS381::ZERO, + im: BLS381::UNIT, + }, + t2: Fp2::::ZERO, + }, + Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2:: { + re: BLS381 { + val: U512([ + 0x8bfd00000000aaac, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + t2: Fp2::::ZERO, + }, + Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2:: { + re: BLS381 { val: U512::zero() }, + im: BLS381 { + val: U512([ + 0x2e01fffffffefffe, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + }, + t2: Fp2::::ZERO, + }, + ]; + + for i in 0..6 { + assert_eq!(expected[i], f.frob(i)); + } + + // f == t^2 + let f = Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2::::ZERO, + t2: Fp2::::UNIT, + }; + + let expected = [ + f, + Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2::::ZERO, + t2: Fp2:: { + re: BLS381 { + val: U512([ + 0x8bfd00000000aaad, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + }, + Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2::::ZERO, + t2: Fp2:: { + re: BLS381 { + val: U512([ + 0x8bfd00000000aaac, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + }, + Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2::::ZERO, + t2: Fp2:: { + re: BLS381 { + val: U512([ + 0xb9feffffffffaaaa, + 0x1eabfffeb153ffff, + 0x6730d2a0f6b0f624, + 0x64774b84f38512bf, + 0x4b1ba7b6434bacd7, + 0x1a0111ea397fe69a, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + }, + Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2::::ZERO, + t2: Fp2:: { + re: BLS381 { + val: U512([ + 0x2e01fffffffefffe, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + }, + Fp6:: { + t0: Fp2::::ZERO, + t1: Fp2::::ZERO, + t2: Fp2:: { + re: BLS381 { + val: U512([ + 0x2e01fffffffeffff, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + }, + ]; + + for i in 0..6 { + assert_eq!(expected[i], f.frob(i)); + } + } + + #[test] + fn test_bls_fp12_frobenius() { + // f == 2 + let f = Fp12:: { + z0: Fp6::::UNIT + Fp6::::UNIT, + z1: Fp6::::ZERO, + }; + + for i in 0..6 { + assert_eq!(f, f.frob(i)); + } + + // f == z + let f = Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6::::UNIT, + }; + + let expected = [ + f, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0x8d0775ed92235fb8, + 0xf67ea53d63e7813d, + 0x7b2443d784bab9c4, + 0xfd603fd3cbd5f4f, + 0xc231beb4202c0d1f, + 0x1904d3bf02bb0667, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { + val: U512([ + 0x2cf78a126ddc4af3, + 0x282d5ac14d6c7ec2, + 0xec0c8ec971f63c5f, + 0x54a14787b6c7b36f, + 0x88e9e902231f9fb8, + 0xfc3e2b36c4e032, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0x2e01fffffffeffff, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0xf1ee7b04121bdea2, + 0x304466cf3e67fa0a, + 0xef396489f61eb45e, + 0x1c3dedd930b1cf60, + 0xe2e9c448d77a2cd9, + 0x135203e60180a68e, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { + val: U512([ + 0xc81084fbede3cc09, + 0xee67992f72ec05f4, + 0x77f76e17009241c5, + 0x48395dabc2d3435e, + 0x6831e36d6bd17ffe, + 0x6af0e0437ff400b, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0x2e01fffffffefffe, + 0xde17d813620a0002, + 0xddb3a93be6f89688, + 0xba69c6076a0f77ea, + 0x5f19672fdf76ce51, + 0x0000000000000000, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0x1ee605167ff82995, + 0x5871c1908bd478cd, + 0xdb45f3536814f0bd, + 0x70df3560e77982d0, + 0x6bd3ad4afa99cc91, + 0x144e4211384586c1, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { + val: U512([ + 0x9b18fae980078116, + 0xc63a3e6e257f8732, + 0x8beadf4d8e9c0566, + 0xf39816240c0b8fee, + 0xdf47fa6b48b1e045, + 0x5b2cfd9013a5fd8, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0xb9feffffffffaaaa, + 0x1eabfffeb153ffff, + 0x6730d2a0f6b0f624, + 0x64774b84f38512bf, + 0x4b1ba7b6434bacd7, + 0x1a0111ea397fe69a, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0x2cf78a126ddc4af3, + 0x282d5ac14d6c7ec2, + 0xec0c8ec971f63c5f, + 0x54a14787b6c7b36f, + 0x88e9e902231f9fb8, + 0xfc3e2b36c4e032, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { + val: U512([ + 0x8d0775ed92235fb8, + 0xf67ea53d63e7813d, + 0x7b2443d784bab9c4, + 0xfd603fd3cbd5f4f, + 0xc231beb4202c0d1f, + 0x1904d3bf02bb0667, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0x8bfd00000000aaac, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0xc81084fbede3cc09, + 0xee67992f72ec05f4, + 0x77f76e17009241c5, + 0x48395dabc2d3435e, + 0x6831e36d6bd17ffe, + 0x6af0e0437ff400b, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { + val: U512([ + 0xf1ee7b04121bdea2, + 0x304466cf3e67fa0a, + 0xef396489f61eb45e, + 0x1c3dedd930b1cf60, + 0xe2e9c448d77a2cd9, + 0x135203e60180a68e, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0x8bfd00000000aaad, + 0x409427eb4f49fffd, + 0x897d29650fb85f9b, + 0xaa0d857d89759ad4, + 0xec02408663d4de85, + 0x1a0111ea397fe699, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { val: U512::zero() }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + Fp12:: { + z0: Fp6::::ZERO, + z1: Fp6:: { + t0: Fp2:: { + re: BLS381 { + val: U512([ + 0x9b18fae980078116, + 0xc63a3e6e257f8732, + 0x8beadf4d8e9c0566, + 0xf39816240c0b8fee, + 0xdf47fa6b48b1e045, + 0x5b2cfd9013a5fd8, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + im: BLS381 { + val: U512([ + 0x1ee605167ff82995, + 0x5871c1908bd478cd, + 0xdb45f3536814f0bd, + 0x70df3560e77982d0, + 0x6bd3ad4afa99cc91, + 0x144e4211384586c1, + 0x0000000000000000, + 0x0000000000000000, + ]), + }, + }, + t1: Fp2::::ZERO, + t2: Fp2::::ZERO, + }, + }, + ]; + + for i in 0..12 { + assert_eq!(expected[i], f.frob(i)); + } + } +} diff --git a/evm_arithmetization/src/generation/mod.rs b/evm_arithmetization/src/generation/mod.rs index 84da8ceb2..5940e8be3 100644 --- a/evm_arithmetization/src/generation/mod.rs +++ b/evm_arithmetization/src/generation/mod.rs @@ -56,6 +56,8 @@ pub struct GenerationInputs { /// Withdrawal pairs `(addr, amount)`. At the end of the txs, `amount` is /// added to `addr`'s balance. See EIP-4895. pub withdrawals: Vec<(Address, U256)>, + /// Global exit roots pairs `(timestamp, root)`. + pub global_exit_roots: Vec<(U256, H256)>, pub tries: TrieInputs, /// Expected trie roots after the transactions are executed. pub trie_roots_after: TrieRoots, @@ -128,6 +130,18 @@ fn apply_metadata_and_tries_memops, const D: usize> h2u(inputs.block_hashes.cur_hash), ), (GlobalMetadata::BlockGasUsed, metadata.block_gas_used), + ( + GlobalMetadata::BlockBlobGasUsed, + metadata.block_blob_gas_used, + ), + ( + GlobalMetadata::BlockExcessBlobGas, + metadata.block_excess_blob_gas, + ), + ( + GlobalMetadata::ParentBeaconBlockRoot, + h2u(metadata.parent_beacon_block_root), + ), (GlobalMetadata::BlockGasUsedBefore, inputs.gas_used_before), (GlobalMetadata::BlockGasUsedAfter, inputs.gas_used_after), (GlobalMetadata::TxnNumberBefore, inputs.txn_number_before), diff --git a/evm_arithmetization/src/generation/mpt.rs b/evm_arithmetization/src/generation/mpt.rs index e23bad805..a38835d7f 100644 --- a/evm_arithmetization/src/generation/mpt.rs +++ b/evm_arithmetization/src/generation/mpt.rs @@ -71,6 +71,7 @@ pub(crate) fn parse_receipts(rlp: &[u8]) -> Result, ProgramError> { let txn_type = match rlp.first().ok_or(ProgramError::InvalidRlp)? { 1 => 1, 2 => 2, + 3 => 3, _ => 0, }; @@ -347,6 +348,8 @@ pub(crate) fn load_all_mpts( } pub mod transaction_testing { + use ethereum_types::H160; + use super::*; #[derive(RlpEncodable, RlpDecodable, Debug, Clone, PartialEq, Eq)] @@ -424,4 +427,23 @@ pub mod transaction_testing { pub r: U256, pub s: U256, } + + #[derive(RlpEncodable, RlpDecodable, Debug, Clone, PartialEq, Eq)] + pub struct BlobTransactionRlp { + pub chain_id: u64, + pub nonce: U256, + pub max_priority_fee_per_gas: U256, + pub max_fee_per_gas: U256, + pub gas: U256, + // As per EIP-4844, blob transactions cannot have the form of a create transaction. + pub to: H160, + pub value: U256, + pub data: Bytes, + pub access_list: Vec, + pub max_fee_per_blob_gas: U256, + pub blob_versioned_hashes: Vec, + pub y_parity: U256, + pub r: U256, + pub s: U256, + } } diff --git a/evm_arithmetization/src/generation/prover_input.rs b/evm_arithmetization/src/generation/prover_input.rs index 904524be2..29186d364 100644 --- a/evm_arithmetization/src/generation/prover_input.rs +++ b/evm_arithmetization/src/generation/prover_input.rs @@ -1,18 +1,25 @@ use core::mem::transmute; +use core::ops::Neg; use std::collections::{BTreeSet, HashMap}; use std::str::FromStr; -use anyhow::{bail, Error}; +use anyhow::{bail, Error, Result}; use ethereum_types::{BigEndianHash, H256, U256, U512}; use itertools::Itertools; use num_bigint::BigUint; use plonky2::field::types::Field; use serde::{Deserialize, Serialize}; +use crate::cpu::kernel::cancun_constants::KZG_VERSIONED_HASH; +use crate::cpu::kernel::constants::cancun_constants::{ + BLOB_BASE_FEE_UPDATE_FRACTION, G2_TRUSTED_SETUP_POINT, MIN_BASE_FEE_PER_BLOB_GAS, + POINT_EVALUATION_PRECOMPILE_RETURN_VALUE, +}; use crate::cpu::kernel::constants::context_metadata::ContextMetadata; use crate::cpu::kernel::constants::global_metadata::GlobalMetadata; use crate::cpu::kernel::interpreter::simulate_cpu_and_get_user_jumps; -use crate::extension_tower::{FieldExt, Fp12, BLS381, BN254}; +use crate::curve_pairings::{bls381, CurveAff, CyclicGroup}; +use crate::extension_tower::{FieldExt, Fp12, Fp2, BLS381, BLS_BASE, BLS_SCALAR, BN254, BN_BASE}; use crate::generation::prover_input::EvmField::{ Bls381Base, Bls381Scalar, Bn254Base, Bn254Scalar, Secp256k1Base, Secp256k1Scalar, }; @@ -20,7 +27,7 @@ use crate::generation::prover_input::FieldOp::{Inverse, Sqrt}; use crate::generation::state::GenerationState; use crate::memory::segments::Segment; use crate::memory::segments::Segment::BnPairing; -use crate::util::{biguint_to_mem_vec, mem_vec_to_biguint, u256_to_u8, u256_to_usize}; +use crate::util::{biguint_to_mem_vec, mem_vec_to_biguint, sha2, u256_to_u8, u256_to_usize}; use crate::witness::errors::ProverInputError::*; use crate::witness::errors::{ProgramError, ProverInputError}; use crate::witness::memory::MemoryAddress; @@ -48,6 +55,7 @@ impl GenerationState { "sf" => self.run_sf(input_fn), "ffe" => self.run_ffe(input_fn), "rlp" => self.run_rlp(), + "blobbasefee" => self.run_blobbasefee(), "current_hash" => self.run_current_hash(), "account_code" => self.run_account_code(), "bignum_modmul" => self.run_bignum_modmul(), @@ -55,6 +63,9 @@ impl GenerationState { "num_bits" => self.run_num_bits(), "jumpdest_table" => self.run_jumpdest_table(input_fn), "access_lists" => self.run_access_lists(input_fn), + "ger" => self.run_global_exit_roots(), + "kzg_point_eval" => self.run_kzg_point_eval(), + "kzg_point_eval_2" => self.run_kzg_point_eval_2(), _ => Err(ProgramError::ProverInputError(InvalidFunction)), } } @@ -135,6 +146,15 @@ impl GenerationState { .ok_or(ProgramError::ProverInputError(OutOfRlpData)) } + fn run_blobbasefee(&mut self) -> Result { + let excess_blob_gas = self.inputs.block_metadata.block_excess_blob_gas; + Ok(fake_exponential( + MIN_BASE_FEE_PER_BLOB_GAS, + excess_blob_gas, + BLOB_BASE_FEE_UPDATE_FRACTION, + )) + } + fn run_current_hash(&mut self) -> Result { Ok(U256::from_big_endian(&self.inputs.block_hashes.cur_hash.0)) } @@ -262,6 +282,12 @@ impl GenerationState { } } + fn run_global_exit_roots(&mut self) -> Result { + self.ger_prover_inputs + .pop() + .ok_or(ProgramError::ProverInputError(OutOfGerData)) + } + /// Returns the next used jump address. fn run_next_jumpdest_table_address(&mut self) -> Result { let context = u256_to_usize(stack_peek(self, 0)? >> CONTEXT_SCALING_FACTOR)?; @@ -276,8 +302,6 @@ impl GenerationState { )); }; - let jd_len = jumpdest_table.len(); - if let Some(ctx_jumpdest_table) = jumpdest_table.get_mut(&context) && let Some(next_jumpdest_address) = ctx_jumpdest_table.pop() { @@ -297,8 +321,6 @@ impl GenerationState { )); }; - let jd_len = jumpdest_table.len(); - if let Some(ctx_jumpdest_table) = jumpdest_table.get_mut(&context) && let Some(next_jumpdest_proof) = ctx_jumpdest_table.pop() { @@ -378,6 +400,155 @@ impl GenerationState { } Ok((Segment::AccessedStorageKeys as usize).into()) } + + /// Returns the first part of the KZG precompile output. + fn run_kzg_point_eval(&mut self) -> Result { + let versioned_hash = stack_peek(self, 0)?; + let z = stack_peek(self, 1)?; + let y = stack_peek(self, 2)?; + let comm_hi = stack_peek(self, 3)?; + let comm_lo = stack_peek(self, 4)?; + let proof_hi = stack_peek(self, 5)?; + let proof_lo = stack_peek(self, 6)?; + + // Validate scalars + if z > BLS_SCALAR || y > BLS_SCALAR { + return Ok(U256::zero()); + } + + let mut comm_bytes = [0u8; 48]; + comm_lo.to_big_endian(&mut comm_bytes[16..48]); // only actually 16 bytes + if comm_bytes[16..32] != [0; 16] { + // Commitments must fit in 48 bytes. + return Ok(U256::zero()); + } + comm_hi.to_big_endian(&mut comm_bytes[0..32]); + + let mut proof_bytes = [0u8; 48]; + proof_lo.to_big_endian(&mut proof_bytes[16..48]); // only actually 16 bytes + if proof_bytes[16..32] != [0; 16] { + // Proofs must fit in 48 bytes. + return Ok(U256::zero()); + } + proof_hi.to_big_endian(&mut proof_bytes[0..32]); + + let mut expected_versioned_hash = sha2(comm_bytes.to_vec()); + + const KZG_HASH_MASK: U256 = U256([ + 0xffffffffffffffff, + 0xffffffffffffffff, + 0xffffffffffffffff, + 0x00ffffffffffffff, + ]); + expected_versioned_hash &= KZG_HASH_MASK; // erase most significant byte + expected_versioned_hash |= U256::from(KZG_VERSIONED_HASH) << 248; // append 1 + + if versioned_hash != expected_versioned_hash { + return Ok(U256::zero()); + } + + self.verify_kzg_proof(&comm_bytes, z, y, &proof_bytes) + } + + /// Returns the second part of the KZG precompile output. + /// + /// The POINT_EVALUATION_PRECOMPILE returns a 64-byte value. + /// Because EVM words only fit in 32 bytes, we need to push + /// the following word separately. + fn run_kzg_point_eval_2(&mut self) -> Result { + let prev_value = stack_peek(self, 0)?; + + // `run_kzg_point_eval_1` should return 0 upon failure, which should be caught + // in the Kernel. Ending up here should hence not happen. + if prev_value != U256::from_big_endian(&POINT_EVALUATION_PRECOMPILE_RETURN_VALUE[1]) { + return Err(ProgramError::ProverInputError( + ProverInputError::KzgEvalFailure( + "run_kzg_point_eval_1 should have output the expected return value at this point" + .to_string(), + ), + )); + } + + Ok(U256::from_big_endian( + &POINT_EVALUATION_PRECOMPILE_RETURN_VALUE[0], + )) + } + + /// Verifies a KZG proof, i.e. that the commitment opens to y at z. + /// + /// Returns `0` upon failure of one of the checks, or `BLS_MODULUS` upon + /// success. + fn verify_kzg_proof( + &self, + comm_bytes: &[u8; 48], + z: U256, + y: U256, + proof_bytes: &[u8; 48], + ) -> Result { + let comm = if let Ok(c) = bls381::g1_from_bytes(comm_bytes) { + c + } else { + return Ok(U256::zero()); + }; + + let proof = if let Ok(p) = bls381::g1_from_bytes(proof_bytes) { + p + } else { + return Ok(U256::zero()); + }; + + // TODO: use some WNAF method if performance becomes critical + let mut z_bytes = [0u8; 32]; + z.to_big_endian(&mut z_bytes); + let mut acc = CurveAff::>::unit(); + for byte in z_bytes.into_iter() { + acc = acc * 256_i32; + acc = acc + (CurveAff::>::GENERATOR * byte as i32); + } + let minus_z_g2 = -acc; + + let mut y_bytes = [0u8; 32]; + y.to_big_endian(&mut y_bytes); + let mut acc = CurveAff::::unit(); + for byte in y_bytes { + acc = acc * 256_i32; + acc = acc + (CurveAff::::GENERATOR * byte as i32); + } + let comm_minus_y = comm + (acc.neg()); + + let x = CurveAff::> { + x: Fp2:: { + re: BLS381 { + val: U512::from_big_endian(&G2_TRUSTED_SETUP_POINT[0]), + }, + im: BLS381 { + val: U512::from_big_endian(&G2_TRUSTED_SETUP_POINT[1]), + }, + }, + y: Fp2:: { + re: BLS381 { + val: U512::from_big_endian(&G2_TRUSTED_SETUP_POINT[2]), + }, + im: BLS381 { + val: U512::from_big_endian(&G2_TRUSTED_SETUP_POINT[3]), + }, + }, + }; + let x_minus_z = x + minus_z_g2; + + // TODO: If this ends up being implemented in the Kernel directly, we should + // really not have to go through the final exponentiation twice. + if bls381::ate_optim(comm_minus_y, -CurveAff::>::GENERATOR) + * bls381::ate_optim(proof, x_minus_z) + != Fp12::::UNIT + { + Ok(U256::zero()) + } else { + Ok(U256::from_big_endian( + &POINT_EVALUATION_PRECOMPILE_RETURN_VALUE[1], + )) + } + } } impl GenerationState { @@ -687,22 +858,21 @@ impl FromStr for FieldOp { } impl EvmField { - fn order(&self) -> U256 { + fn order(&self) -> U512 { match self { - EvmField::Bls381Base => todo!(), - EvmField::Bls381Scalar => todo!(), - EvmField::Bn254Base => { - U256::from_str("0x30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47") - .unwrap() - } + EvmField::Bls381Base => BLS_BASE, + EvmField::Bls381Scalar => BLS_SCALAR.into(), + EvmField::Bn254Base => BN_BASE.into(), EvmField::Bn254Scalar => todo!(), EvmField::Secp256k1Base => { U256::from_str("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f") .unwrap() + .into() } EvmField::Secp256k1Scalar => { U256::from_str("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141") .unwrap() + .into() } } } @@ -715,7 +885,8 @@ impl EvmField { } fn inverse(&self, x: U256) -> Result { - let n = self.order(); + let n = U256::try_from(self.order()) + .map_err(|_| ProgramError::ProverInputError(Unimplemented))?; if x >= n { return Err(ProgramError::ProverInputError(InvalidInput)); }; @@ -723,7 +894,8 @@ impl EvmField { } fn sqrt(&self, x: U256) -> Result { - let n = self.order(); + let n = U256::try_from(self.order()) + .map_err(|_| ProgramError::ProverInputError(Unimplemented))?; if x >= n { return Err(ProgramError::ProverInputError(InvalidInput)); }; @@ -807,3 +979,21 @@ fn modexp(x: U256, e: U256, n: U256) -> Result { Ok(product) } + +/// See EIP-4844: . +fn fake_exponential(factor: U256, numerator: U256, denominator: U256) -> U256 { + if factor.is_zero() || numerator.is_zero() { + return factor; + } + + let mut i = 1; + let mut output = U256::zero(); + let mut numerator_accum = factor * denominator; + while !numerator_accum.is_zero() { + output += numerator_accum; + numerator_accum = (numerator_accum * numerator) / (denominator * i); + i += 1; + } + + output / denominator +} diff --git a/evm_arithmetization/src/generation/state.rs b/evm_arithmetization/src/generation/state.rs index 6e08c5391..bc1a02203 100644 --- a/evm_arithmetization/src/generation/state.rs +++ b/evm_arithmetization/src/generation/state.rs @@ -163,7 +163,7 @@ pub(crate) trait State { } } else { #[cfg(not(test))] - self.log_info(format!("CPU halted after {} cycles", self.get_clock())); + log::info!("CPU halted after {} cycles", self.get_clock()); return Ok(()); } } @@ -262,12 +262,6 @@ pub(crate) trait State { log::debug!("{}", msg); } - /// Logs `msg` in `info` mode. - #[inline] - fn log_info(&self, msg: String) { - log::info!("{}", msg); - } - /// Logs `msg` at `level`. #[inline] fn log(&self, level: Level, msg: String) { @@ -288,6 +282,8 @@ pub(crate) struct GenerationState { pub(crate) withdrawal_prover_inputs: Vec, + pub(crate) ger_prover_inputs: Vec, + /// The state trie only stores state keys, which are hashes of addresses, /// but sometimes it is useful to see the actual addresses for /// debugging. Here we store the mapping for all known addresses. @@ -324,6 +320,7 @@ impl GenerationState { let rlp_prover_inputs = all_rlp_prover_inputs_reversed(inputs.clone().signed_txn.as_ref().unwrap_or(&vec![])); let withdrawal_prover_inputs = all_withdrawals_prover_inputs_reversed(&inputs.withdrawals); + let ger_prover_inputs = all_ger_prover_inputs_reversed(&inputs.global_exit_roots); let bignum_modmul_result_limbs = Vec::new(); let mut state = Self { @@ -333,6 +330,7 @@ impl GenerationState { traces: Traces::default(), rlp_prover_inputs, withdrawal_prover_inputs, + ger_prover_inputs, state_key_to_address: HashMap::new(), bignum_modmul_result_limbs, trie_root_ptrs: TrieRootPtrs { @@ -422,6 +420,7 @@ impl GenerationState { state_key_to_address: self.state_key_to_address.clone(), bignum_modmul_result_limbs: self.bignum_modmul_result_limbs.clone(), withdrawal_prover_inputs: self.withdrawal_prover_inputs.clone(), + ger_prover_inputs: self.ger_prover_inputs.clone(), trie_root_ptrs: TrieRootPtrs { state_root_ptr: 0, txn_root_ptr: 0, @@ -610,3 +609,16 @@ pub(crate) fn all_withdrawals_prover_inputs_reversed(withdrawals: &[(Address, U2 withdrawal_prover_inputs.reverse(); withdrawal_prover_inputs } + +/// Global exit roots prover input array is of the form `[N, timestamp1, +/// root1,..., timestampN, rootN]`. Returns the reversed array. +pub(crate) fn all_ger_prover_inputs_reversed(global_exit_roots: &[(U256, H256)]) -> Vec { + let mut ger_prover_inputs = vec![global_exit_roots.len().into()]; + ger_prover_inputs.extend( + global_exit_roots + .iter() + .flat_map(|ger| [ger.0, ger.1.into_uint()]), + ); + ger_prover_inputs.reverse(); + ger_prover_inputs +} diff --git a/evm_arithmetization/src/generation/trie_extractor.rs b/evm_arithmetization/src/generation/trie_extractor.rs index 0d825643f..48fc28f53 100644 --- a/evm_arithmetization/src/generation/trie_extractor.rs +++ b/evm_arithmetization/src/generation/trie_extractor.rs @@ -1,9 +1,7 @@ //! Code for extracting trie data after witness generation. This is intended //! only for debugging. -use std::collections::HashMap; - -use ethereum_types::{BigEndianHash, H256, U256, U512}; +use ethereum_types::{BigEndianHash, H256, U256}; use mpt_trie::nibbles::{Nibbles, NibblesIntern}; use mpt_trie::partial_trie::{HashedPartialTrie, Node, PartialTrie, WrappedNode}; @@ -14,108 +12,10 @@ use crate::util::{u256_to_bool, u256_to_h160, u256_to_u8, u256_to_usize}; use crate::witness::errors::ProgramError; use crate::witness::memory::{MemoryAddress, MemoryState}; -/// Account data as it's stored in the state trie, with a pointer to the storage -/// trie. -#[derive(Debug)] -pub(crate) struct AccountTrieRecord { - pub(crate) nonce: u64, - pub(crate) balance: U256, - pub(crate) storage_ptr: usize, - pub(crate) code_hash: H256, -} - -pub(crate) fn read_state_trie_value( - slice: &[Option], -) -> Result { - Ok(AccountTrieRecord { - nonce: slice[0].unwrap_or_default().low_u64(), - balance: slice[1].unwrap_or_default(), - storage_ptr: u256_to_usize(slice[2].unwrap_or_default())?, - code_hash: H256::from_uint(&slice[3].unwrap_or_default()), - }) -} - pub(crate) fn read_storage_trie_value(slice: &[Option]) -> U256 { slice[0].unwrap_or_default() } -pub(crate) fn read_trie( - memory: &MemoryState, - ptr: usize, - read_value: fn(&[Option]) -> Result, -) -> Result, ProgramError> { - let mut res = HashMap::new(); - let empty_nibbles = Nibbles { - count: 0, - packed: NibblesIntern::zero(), - }; - read_trie_helper::(memory, ptr, read_value, empty_nibbles, &mut res)?; - Ok(res) -} - -pub(crate) fn read_trie_helper( - memory: &MemoryState, - ptr: usize, - read_value: fn(&[Option]) -> Result, - prefix: Nibbles, - res: &mut HashMap, -) -> Result<(), ProgramError> { - let load = |offset| memory.contexts[0].segments[Segment::TrieData as usize].content[offset]; - let load_slice_from = |init_offset| { - &memory.contexts[0].segments[Segment::TrieData.unscale()].content[init_offset..] - }; - - let trie_type = PartialTrieType::all()[u256_to_usize(load(ptr).unwrap_or_default())?]; - match trie_type { - PartialTrieType::Empty => Ok(()), - PartialTrieType::Hash => Ok(()), - PartialTrieType::Branch => { - let ptr_payload = ptr + 1; - for i in 0u8..16 { - let child_ptr = u256_to_usize(load(ptr_payload + i as usize).unwrap_or_default())?; - read_trie_helper::(memory, child_ptr, read_value, prefix.merge_nibble(i), res)?; - } - let value_ptr = u256_to_usize(load(ptr_payload + 16).unwrap_or_default())?; - if value_ptr != 0 { - res.insert(prefix, read_value(load_slice_from(value_ptr))?); - }; - - Ok(()) - } - PartialTrieType::Extension => { - let count = u256_to_usize(load(ptr + 1).unwrap_or_default())?; - let packed = load(ptr + 2).unwrap_or_default(); - let nibbles = Nibbles { - count, - packed: packed.into(), - }; - let child_ptr = u256_to_usize(load(ptr + 3).unwrap_or_default())?; - read_trie_helper::( - memory, - child_ptr, - read_value, - prefix.merge_nibbles(&nibbles), - res, - ) - } - PartialTrieType::Leaf => { - let count = u256_to_usize(load(ptr + 1).unwrap_or_default())?; - let packed = load(ptr + 2).unwrap_or_default(); - let nibbles = Nibbles { - count, - packed: packed.into(), - }; - let value_ptr = u256_to_usize(load(ptr + 3).unwrap_or_default())?; - res.insert( - prefix.merge_nibbles(&nibbles), - read_value(load_slice_from(value_ptr))?, - ); - - Ok(()) - } - } -} - pub(crate) fn read_receipt_trie_value( slice: &[Option], ) -> Result<(Option, LegacyReceiptRlp), ProgramError> { diff --git a/evm_arithmetization/src/get_challenges.rs b/evm_arithmetization/src/get_challenges.rs index 2a783b940..1fb80af6d 100644 --- a/evm_arithmetization/src/get_challenges.rs +++ b/evm_arithmetization/src/get_challenges.rs @@ -65,6 +65,13 @@ fn observe_block_metadata< challenger.observe_element(basefee.0); challenger.observe_element(basefee.1); challenger.observe_element(u256_to_u32(block_metadata.block_gas_used)?); + let blob_gas_used = u256_to_u64(block_metadata.block_blob_gas_used)?; + challenger.observe_element(blob_gas_used.0); + challenger.observe_element(blob_gas_used.1); + let excess_blob_gas = u256_to_u64(block_metadata.block_excess_blob_gas)?; + challenger.observe_element(excess_blob_gas.0); + challenger.observe_element(excess_blob_gas.1); + challenger.observe_elements(&h256_limbs::(block_metadata.parent_beacon_block_root)); for i in 0..8 { challenger.observe_elements(&u256_limbs(block_metadata.block_bloom[i])); } @@ -91,6 +98,9 @@ fn observe_block_metadata_target< challenger.observe_element(block_metadata.block_chain_id); challenger.observe_elements(&block_metadata.block_base_fee); challenger.observe_element(block_metadata.block_gas_used); + challenger.observe_elements(&block_metadata.block_blob_gas_used); + challenger.observe_elements(&block_metadata.block_excess_blob_gas); + challenger.observe_elements(&block_metadata.parent_beacon_block_root); challenger.observe_elements(&block_metadata.block_bloom); } diff --git a/evm_arithmetization/src/keccak_sponge/columns.rs b/evm_arithmetization/src/keccak_sponge/columns.rs index ce35c0867..36679bc0a 100644 --- a/evm_arithmetization/src/keccak_sponge/columns.rs +++ b/evm_arithmetization/src/keccak_sponge/columns.rs @@ -1,4 +1,3 @@ -use core::borrow::{Borrow, BorrowMut}; use core::mem::{size_of, transmute}; use core::ops::Range; diff --git a/evm_arithmetization/src/lib.rs b/evm_arithmetization/src/lib.rs index b9236ae96..0ee30fe08 100644 --- a/evm_arithmetization/src/lib.rs +++ b/evm_arithmetization/src/lib.rs @@ -181,7 +181,6 @@ #![allow(clippy::needless_range_loop)] #![allow(clippy::too_many_arguments)] #![allow(clippy::field_reassign_with_default)] -#![allow(unused)] #![feature(let_chains)] // Individual STARK processing units @@ -209,6 +208,7 @@ pub mod witness; // Utility modules pub mod curve_pairings; pub mod extension_tower; +pub mod testing_utils; pub mod util; use mpt_trie::partial_trie::HashedPartialTrie; diff --git a/evm_arithmetization/src/memory/segments.rs b/evm_arithmetization/src/memory/segments.rs index 704b28ef7..8c687ea93 100644 --- a/evm_arithmetization/src/memory/segments.rs +++ b/evm_arithmetization/src/memory/segments.rs @@ -3,7 +3,6 @@ pub(crate) const SEGMENT_SCALING_FACTOR: usize = 32; /// This contains all the existing memory segments. The values in the enum are /// shifted by 32 bits to allow for convenient address components (context / /// segment / virtual) bundling in the kernel. -#[allow(dead_code)] #[allow(clippy::enum_clike_unportable_variant)] #[derive(Copy, Clone, Eq, PartialEq, Hash, Ord, PartialOrd, Debug)] pub(crate) enum Segment { @@ -71,10 +70,17 @@ pub(crate) enum Segment { ContextCheckpoints = 31 << SEGMENT_SCALING_FACTOR, /// List of 256 previous block hashes. BlockHashes = 32 << SEGMENT_SCALING_FACTOR, + // The transient storage of the current transaction. + TransientStorage = 33 << SEGMENT_SCALING_FACTOR, + /// List of contracts which have been created during the current + /// transaction. + CreatedContracts = 34 << SEGMENT_SCALING_FACTOR, + /// Blob versioned hashes specified in a type-3 transaction. + TxnBlobVersionedHashes = 35 << SEGMENT_SCALING_FACTOR, } impl Segment { - pub(crate) const COUNT: usize = 33; + pub(crate) const COUNT: usize = 36; /// Unscales this segment by `SEGMENT_SCALING_FACTOR`. pub(crate) const fn unscale(&self) -> usize { @@ -116,6 +122,9 @@ impl Segment { Self::TouchedAddresses, Self::ContextCheckpoints, Self::BlockHashes, + Self::TransientStorage, + Self::CreatedContracts, + Self::TxnBlobVersionedHashes, ] } @@ -155,6 +164,9 @@ impl Segment { Segment::TouchedAddresses => "SEGMENT_TOUCHED_ADDRESSES", Segment::ContextCheckpoints => "SEGMENT_CONTEXT_CHECKPOINTS", Segment::BlockHashes => "SEGMENT_BLOCK_HASHES", + Segment::TransientStorage => "SEGMENT_TRANSIENT_STORAGE", + Segment::CreatedContracts => "SEGMENT_CREATED_CONTRACTS", + Segment::TxnBlobVersionedHashes => "SEGMENT_TXN_BLOB_VERSIONED_HASHES", } } @@ -193,6 +205,9 @@ impl Segment { Segment::TouchedAddresses => 256, Segment::ContextCheckpoints => 256, Segment::BlockHashes => 256, + Segment::TransientStorage => 256, + Segment::CreatedContracts => 256, + Segment::TxnBlobVersionedHashes => 256, } } } diff --git a/evm_arithmetization/src/proof.rs b/evm_arithmetization/src/proof.rs index 380bd318a..442e1a455 100644 --- a/evm_arithmetization/src/proof.rs +++ b/evm_arithmetization/src/proof.rs @@ -178,6 +178,12 @@ pub struct BlockMetadata { pub block_base_fee: U256, /// The total gas used in this block. It must fit in a `u32`. pub block_gas_used: U256, + /// The blob gas used. It must fit in a `u64`. + pub block_blob_gas_used: U256, + /// The excess blob base. It must fit in a `u64`. + pub block_excess_blob_gas: U256, + /// The hash tree root of the parent beacon block. + pub parent_beacon_block_root: H256, /// The block bloom of this block, represented as the consecutive /// 32-byte chunks of a block's final bloom filter string. pub block_bloom: [U256; 8], @@ -197,7 +203,13 @@ impl BlockMetadata { let block_base_fee = (pis[18].to_canonical_u64() + (pis[19].to_canonical_u64() << 32)).into(); let block_gas_used = pis[20].to_canonical_u64().into(); - let block_bloom = core::array::from_fn(|i| h2u(get_h256(&pis[21 + 8 * i..29 + 8 * i]))); + let block_blob_gas_used = + (pis[21].to_canonical_u64() + (pis[22].to_canonical_u64() << 32)).into(); + let block_excess_blob_gas = + (pis[23].to_canonical_u64() + (pis[24].to_canonical_u64() << 32)).into(); + let parent_beacon_block_root = get_h256(&pis[25..33]); + let block_bloom = + core::array::from_fn(|i| h2u(get_h256(&pis[33 + 8 * i..33 + 8 * (i + 1)]))); Self { block_beneficiary, @@ -209,6 +221,9 @@ impl BlockMetadata { block_chain_id, block_base_fee, block_gas_used, + block_blob_gas_used, + block_excess_blob_gas, + parent_beacon_block_root, block_bloom, } } @@ -308,6 +323,9 @@ impl PublicValuesTarget { block_chain_id, block_base_fee, block_gas_used, + block_blob_gas_used, + block_excess_blob_gas, + parent_beacon_block_root, block_bloom, } = self.block_metadata; @@ -320,6 +338,9 @@ impl PublicValuesTarget { buffer.write_target(block_chain_id)?; buffer.write_target_array(&block_base_fee)?; buffer.write_target(block_gas_used)?; + buffer.write_target_array(&block_blob_gas_used)?; + buffer.write_target_array(&block_excess_blob_gas)?; + buffer.write_target_array(&parent_beacon_block_root)?; buffer.write_target_array(&block_bloom)?; let BlockHashesTarget { @@ -369,6 +390,9 @@ impl PublicValuesTarget { block_chain_id: buffer.read_target()?, block_base_fee: buffer.read_target_array()?, block_gas_used: buffer.read_target()?, + block_blob_gas_used: buffer.read_target_array()?, + block_excess_blob_gas: buffer.read_target_array()?, + parent_beacon_block_root: buffer.read_target_array()?, block_bloom: buffer.read_target_array()?, }; @@ -561,21 +585,27 @@ pub struct BlockMetadataTarget { pub(crate) block_difficulty: Target, /// `Target`s for the `mix_hash` value of this block. pub(crate) block_random: [Target; 8], - /// `Target`s for the gas limit of this block. + /// `Target` for the gas limit of this block. pub(crate) block_gaslimit: Target, /// `Target` for the chain id of this block. pub(crate) block_chain_id: Target, /// `Target`s for the base fee of this block. pub(crate) block_base_fee: [Target; 2], - /// `Target`s for the gas used of this block. + /// `Target` for the gas used of this block. pub(crate) block_gas_used: Target, + /// `Target`s for the total blob gas used of this block. + pub(crate) block_blob_gas_used: [Target; 2], + /// `Target`s for the excess blob gas of this block. + pub(crate) block_excess_blob_gas: [Target; 2], /// `Target`s for the block bloom of this block. + /// `Target`s for the parent beacon block root. + pub(crate) parent_beacon_block_root: [Target; 8], pub(crate) block_bloom: [Target; 64], } impl BlockMetadataTarget { /// Number of `Target`s required for the block metadata. - pub(crate) const SIZE: usize = 85; + pub(crate) const SIZE: usize = 97; /// Extracts block metadata `Target`s from the provided public input /// `Target`s. The provided `pis` should start with the block metadata. @@ -589,7 +619,10 @@ impl BlockMetadataTarget { let block_chain_id = pis[17]; let block_base_fee = pis[18..20].try_into().unwrap(); let block_gas_used = pis[20]; - let block_bloom = pis[21..85].try_into().unwrap(); + let block_blob_gas_used = pis[21..23].try_into().unwrap(); + let block_excess_blob_gas = pis[23..25].try_into().unwrap(); + let parent_beacon_block_root = pis[25..33].try_into().unwrap(); + let block_bloom = pis[33..97].try_into().unwrap(); Self { block_beneficiary, @@ -601,6 +634,9 @@ impl BlockMetadataTarget { block_chain_id, block_base_fee, block_gas_used, + block_blob_gas_used, + block_excess_blob_gas, + parent_beacon_block_root, block_bloom, } } @@ -633,6 +669,27 @@ impl BlockMetadataTarget { builder.select(condition, bm0.block_base_fee[i], bm1.block_base_fee[i]) }), block_gas_used: builder.select(condition, bm0.block_gas_used, bm1.block_gas_used), + block_blob_gas_used: core::array::from_fn(|i| { + builder.select( + condition, + bm0.block_blob_gas_used[i], + bm1.block_blob_gas_used[i], + ) + }), + block_excess_blob_gas: core::array::from_fn(|i| { + builder.select( + condition, + bm0.block_excess_blob_gas[i], + bm1.block_excess_blob_gas[i], + ) + }), + parent_beacon_block_root: core::array::from_fn(|i| { + builder.select( + condition, + bm0.parent_beacon_block_root[i], + bm1.parent_beacon_block_root[i], + ) + }), block_bloom: core::array::from_fn(|i| { builder.select(condition, bm0.block_bloom[i], bm1.block_bloom[i]) }), @@ -660,6 +717,18 @@ impl BlockMetadataTarget { builder.connect(bm0.block_base_fee[i], bm1.block_base_fee[i]) } builder.connect(bm0.block_gas_used, bm1.block_gas_used); + for i in 0..2 { + builder.connect(bm0.block_blob_gas_used[i], bm1.block_blob_gas_used[i]) + } + for i in 0..2 { + builder.connect(bm0.block_excess_blob_gas[i], bm1.block_excess_blob_gas[i]) + } + for i in 0..8 { + builder.connect( + bm0.parent_beacon_block_root[i], + bm1.parent_beacon_block_root[i], + ) + } for i in 0..64 { builder.connect(bm0.block_bloom[i], bm1.block_bloom[i]) } diff --git a/evm_arithmetization/src/recursive_verifier.rs b/evm_arithmetization/src/recursive_verifier.rs index 855f73b78..26ee4c116 100644 --- a/evm_arithmetization/src/recursive_verifier.rs +++ b/evm_arithmetization/src/recursive_verifier.rs @@ -376,7 +376,10 @@ pub(crate) fn get_memory_extra_looking_sum_circuit, ), ]; - let beneficiary_random_base_fee_cur_hash_fields: [(GlobalMetadata, &[Target]); 4] = [ + // This contains the `block_beneficiary`, `block_random`, `block_base_fee`, + // `block_blob_gas_used`, `block_excess_blob_gas`, `parent_beacon_block_root` + // as well as `cur_hash`. + let block_fields_arrays: [(GlobalMetadata, &[Target]); 7] = [ ( GlobalMetadata::BlockBeneficiary, &public_values.block_metadata.block_beneficiary, @@ -389,6 +392,18 @@ pub(crate) fn get_memory_extra_looking_sum_circuit, GlobalMetadata::BlockBaseFee, &public_values.block_metadata.block_base_fee, ), + ( + GlobalMetadata::BlockBlobGasUsed, + &public_values.block_metadata.block_blob_gas_used, + ), + ( + GlobalMetadata::BlockExcessBlobGas, + &public_values.block_metadata.block_excess_blob_gas, + ), + ( + GlobalMetadata::ParentBeaconBlockRoot, + &public_values.block_metadata.parent_beacon_block_root, + ), ( GlobalMetadata::BlockCurrentHash, &public_values.block_hashes.cur_hash, @@ -409,7 +424,7 @@ pub(crate) fn get_memory_extra_looking_sum_circuit, ); }); - beneficiary_random_base_fee_cur_hash_fields.map(|(field, targets)| { + block_fields_arrays.map(|(field, targets)| { sum = add_data_write( builder, challenge, @@ -593,6 +608,9 @@ pub(crate) fn add_virtual_block_metadata, const D: let block_chain_id = builder.add_virtual_public_input(); let block_base_fee = builder.add_virtual_public_input_arr(); let block_gas_used = builder.add_virtual_public_input(); + let block_blob_gas_used = builder.add_virtual_public_input_arr(); + let block_excess_blob_gas = builder.add_virtual_public_input_arr(); + let parent_beacon_block_root = builder.add_virtual_public_input_arr(); let block_bloom = builder.add_virtual_public_input_arr(); BlockMetadataTarget { block_beneficiary, @@ -604,6 +622,9 @@ pub(crate) fn add_virtual_block_metadata, const D: block_chain_id, block_base_fee, block_gas_used, + block_blob_gas_used, + block_excess_blob_gas, + parent_beacon_block_root, block_bloom, } } @@ -787,6 +808,32 @@ where block_metadata_target.block_gas_used, u256_to_u32(block_metadata.block_gas_used)?, ); + // BlobGasUsed fits in 2 limbs + let blob_gas_used = u256_to_u64(block_metadata.block_blob_gas_used)?; + witness.set_target( + block_metadata_target.block_blob_gas_used[0], + blob_gas_used.0, + ); + witness.set_target( + block_metadata_target.block_blob_gas_used[1], + blob_gas_used.1, + ); + // ExcessBlobGas fits in 2 limbs + let excess_blob_gas = u256_to_u64(block_metadata.block_excess_blob_gas)?; + witness.set_target( + block_metadata_target.block_excess_blob_gas[0], + excess_blob_gas.0, + ); + witness.set_target( + block_metadata_target.block_excess_blob_gas[1], + excess_blob_gas.1, + ); + + witness.set_target_arr( + &block_metadata_target.parent_beacon_block_root, + &h256_limbs(block_metadata.parent_beacon_block_root), + ); + let mut block_bloom_limbs = [F::ZERO; 64]; for (i, limbs) in block_bloom_limbs.chunks_exact_mut(8).enumerate() { limbs.copy_from_slice(&u256_limbs(block_metadata.block_bloom[i])); diff --git a/evm_arithmetization/src/testing_utils.rs b/evm_arithmetization/src/testing_utils.rs new file mode 100644 index 000000000..bb1f07b64 --- /dev/null +++ b/evm_arithmetization/src/testing_utils.rs @@ -0,0 +1,142 @@ +//! A set of utility functions and constants to be used by `evm_arithmetization` +//! unit and integration tests. + +use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; +use ethereum_types::{BigEndianHash, H256, U256}; +use hex_literal::hex; +use keccak_hash::keccak; +use mpt_trie::{ + nibbles::Nibbles, + partial_trie::{HashedPartialTrie, Node, PartialTrie}, +}; + +pub use crate::cpu::kernel::cancun_constants::*; +pub use crate::cpu::kernel::constants::global_exit_root::{ + GLOBAL_EXIT_ROOT_ACCOUNT, GLOBAL_EXIT_ROOT_ADDRESS_HASHED, GLOBAL_EXIT_ROOT_STORAGE_POS, +}; +use crate::{generation::mpt::AccountRlp, util::h2u}; + +pub const EMPTY_NODE_HASH: H256 = H256(hex!( + "56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421" +)); + +pub fn init_logger() { + let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); +} + +/// Converts a decimal string to a `U256`. +pub fn sd2u(s: &str) -> U256 { + U256::from_dec_str(s).unwrap() +} + +/// Converts an hexadecimal string to a `U256`. +pub fn sh2u(s: &str) -> U256 { + U256::from_str_radix(s, 16).unwrap() +} + +/// Inserts a new pair `(slot, value)` into the provided storage trie. +fn insert_storage(trie: &mut HashedPartialTrie, slot: U256, value: U256) -> anyhow::Result<()> { + let mut bytes = [0; 32]; + slot.to_big_endian(&mut bytes); + let key = keccak(bytes); + let nibbles = Nibbles::from_bytes_be(key.as_bytes()).unwrap(); + if value.is_zero() { + trie.delete(nibbles)?; + } else { + let r = rlp::encode(&value); + trie.insert(nibbles, r.freeze().to_vec())?; + } + Ok(()) +} + +/// Creates a storage trie for an account, given a list of `(slot, value)` +/// pairs. +pub fn create_account_storage(storage_pairs: &[(U256, U256)]) -> anyhow::Result { + let mut trie = HashedPartialTrie::from(Node::Empty); + for (slot, value) in storage_pairs { + insert_storage(&mut trie, *slot, *value)?; + } + Ok(trie) +} + +/// Updates the beacon roots account storage with the provided timestamp and +/// block parent root. +pub fn update_beacon_roots_account_storage( + storage_trie: &mut HashedPartialTrie, + timestamp: U256, + parent_root: H256, +) -> anyhow::Result<()> { + let timestamp_idx = timestamp % HISTORY_BUFFER_LENGTH.1; + let root_idx = timestamp_idx + HISTORY_BUFFER_LENGTH.1; + + insert_storage(storage_trie, timestamp_idx, timestamp)?; + insert_storage(storage_trie, root_idx, h2u(parent_root)) +} + +/// Returns the beacon roots contract account from its provided storage trie. +pub fn beacon_roots_contract_from_storage(storage_trie: &HashedPartialTrie) -> AccountRlp { + AccountRlp { + storage_root: storage_trie.hash(), + ..BEACON_ROOTS_ACCOUNT + } +} + +/// Returns an initial state trie containing the beacon roots and global exit +/// roots contracts, along with their storage tries. +pub fn preinitialized_state_and_storage_tries( +) -> anyhow::Result<(HashedPartialTrie, Vec<(H256, HashedPartialTrie)>)> { + let mut state_trie = HashedPartialTrie::from(Node::Empty); + state_trie.insert( + beacon_roots_account_nibbles(), + rlp::encode(&BEACON_ROOTS_ACCOUNT).to_vec(), + )?; + state_trie.insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + )?; + + let storage_tries = vec![ + ( + H256(BEACON_ROOTS_CONTRACT_ADDRESS_HASHED), + Node::Empty.into(), + ), + (H256(GLOBAL_EXIT_ROOT_ADDRESS_HASHED), Node::Empty.into()), + ]; + + Ok((state_trie, storage_tries)) +} + +/// Returns the `Nibbles` corresponding to the beacon roots contract account. +pub fn beacon_roots_account_nibbles() -> Nibbles { + Nibbles::from_bytes_be(&BEACON_ROOTS_CONTRACT_ADDRESS_HASHED).unwrap() +} + +/// Returns the `Nibbles` corresponding to the beacon roots contract account. +pub fn ger_account_nibbles() -> Nibbles { + Nibbles::from_bytes_be(&GLOBAL_EXIT_ROOT_ADDRESS_HASHED).unwrap() +} + +pub fn update_ger_account_storage( + storage_trie: &mut HashedPartialTrie, + root: H256, + timestamp: U256, +) -> anyhow::Result<()> { + let mut arr = [0; 64]; + arr[0..32].copy_from_slice(&root.0); + U256::from(GLOBAL_EXIT_ROOT_STORAGE_POS.1).to_big_endian(&mut arr[32..64]); + let slot = keccak(arr); + insert_storage(storage_trie, slot.into_uint(), timestamp) +} + +pub fn ger_contract_from_storage(storage_trie: &HashedPartialTrie) -> AccountRlp { + AccountRlp { + storage_root: storage_trie.hash(), + ..GLOBAL_EXIT_ROOT_ACCOUNT + } +} + +/// Converts an amount in `ETH` to `wei` units. +pub fn eth_to_wei(eth: U256) -> U256 { + // 1 ether = 10^18 wei. + eth * U256::from(10).pow(18.into()) +} diff --git a/evm_arithmetization/src/util.rs b/evm_arithmetization/src/util.rs index 373339cdd..f8463258b 100644 --- a/evm_arithmetization/src/util.rs +++ b/evm_arithmetization/src/util.rs @@ -1,5 +1,3 @@ -use core::mem::{size_of, transmute_copy, ManuallyDrop}; - use ethereum_types::{H160, H256, U256}; use itertools::Itertools; use num::BigUint; @@ -8,6 +6,7 @@ use plonky2::field::packed::PackedField; use plonky2::field::types::Field; use plonky2::hash::hash_types::RichField; use plonky2::iop::ext_target::ExtensionTarget; +use sha2::{Digest, Sha256}; use crate::witness::errors::ProgramError; @@ -126,17 +125,6 @@ pub(crate) fn h256_limbs(h256: H256) -> [F; 8] { .unwrap() } -/// Returns the 32-bit limbs of a `U160`. -pub(crate) fn h160_limbs(h160: H160) -> [F; 5] { - h160.0 - .chunks(4) - .map(|chunk| u32::from_le_bytes(chunk.try_into().unwrap())) - .map(F::from_canonical_u32) - .collect_vec() - .try_into() - .unwrap() -} - pub(crate) const fn indices_arr() -> [usize; N] { let mut indices_arr = [0; N]; let mut i = 0; @@ -247,3 +235,10 @@ pub(crate) fn get_h256(slice: &[F]) -> H256 { .collect_vec(), ) } + +/// Standard Sha2 implementation. +pub(crate) fn sha2(input: Vec) -> U256 { + let mut hasher = Sha256::new(); + hasher.update(input); + U256::from(&hasher.finalize()[..]) +} diff --git a/evm_arithmetization/src/verifier.rs b/evm_arithmetization/src/verifier.rs index 52fa5304f..90a287f1e 100644 --- a/evm_arithmetization/src/verifier.rs +++ b/evm_arithmetization/src/verifier.rs @@ -182,6 +182,10 @@ where GlobalMetadata::BlockBaseFee, public_values.block_metadata.block_base_fee, ), + ( + GlobalMetadata::ParentBeaconBlockRoot, + h2u(public_values.block_metadata.parent_beacon_block_root), + ), ( GlobalMetadata::BlockCurrentHash, h2u(public_values.block_hashes.cur_hash), @@ -190,6 +194,14 @@ where GlobalMetadata::BlockGasUsed, public_values.block_metadata.block_gas_used, ), + ( + GlobalMetadata::BlockBlobGasUsed, + public_values.block_metadata.block_blob_gas_used, + ), + ( + GlobalMetadata::BlockExcessBlobGas, + public_values.block_metadata.block_excess_blob_gas, + ), ( GlobalMetadata::TxnNumberBefore, public_values.extra_block_data.txn_number_before, @@ -282,6 +294,7 @@ where running_sum + challenge.combine(row.iter()).inverse() } +#[cfg(debug_assertions)] pub(crate) mod debug_utils { use super::*; @@ -335,6 +348,18 @@ pub(crate) mod debug_utils { GlobalMetadata::BlockGasUsed, public_values.block_metadata.block_gas_used, ), + ( + GlobalMetadata::BlockBlobGasUsed, + public_values.block_metadata.block_blob_gas_used, + ), + ( + GlobalMetadata::BlockExcessBlobGas, + public_values.block_metadata.block_excess_blob_gas, + ), + ( + GlobalMetadata::ParentBeaconBlockRoot, + h2u(public_values.block_metadata.parent_beacon_block_root), + ), ( GlobalMetadata::TxnNumberBefore, public_values.extra_block_data.txn_number_before, diff --git a/evm_arithmetization/src/witness/errors.rs b/evm_arithmetization/src/witness/errors.rs index 1b266aefd..ef1e9f73b 100644 --- a/evm_arithmetization/src/witness/errors.rs +++ b/evm_arithmetization/src/witness/errors.rs @@ -31,6 +31,7 @@ pub enum ProverInputError { OutOfMptData, OutOfRlpData, OutOfWithdrawalData, + OutOfGerData, CodeHashNotFound, InvalidMptInput, InvalidInput, @@ -38,4 +39,6 @@ pub enum ProverInputError { NumBitsError, InvalidJumpDestination, InvalidJumpdestSimulation, + KzgEvalFailure(String), + Unimplemented, } diff --git a/evm_arithmetization/src/witness/operation.rs b/evm_arithmetization/src/witness/operation.rs index 07d48819b..ac884c74a 100644 --- a/evm_arithmetization/src/witness/operation.rs +++ b/evm_arithmetization/src/witness/operation.rs @@ -33,7 +33,8 @@ use crate::{arithmetic, logic}; pub(crate) enum Operation { Iszero, Not, - Syscall(u8, usize, bool), // (syscall number, minimum stack length, increases stack length) + /// (syscall number, minimum stack length, increases stack length) + Syscall(u8, usize, bool), Eq, BinaryLogic(logic::Op), BinaryArithmetic(arithmetic::BinaryOperator), @@ -174,7 +175,7 @@ pub(crate) fn generate_prover_input>( let pc = generation_state.registers.program_counter; let input_fn = &KERNEL.prover_inputs[&pc]; let input = generation_state.prover_input(input_fn)?; - let opcode = 0x49.into(); + let opcode = 0xee.into(); // `ArithmeticStark` range checks `mem_channels[0]`, which contains // the top of the stack, `mem_channels[1]`, `mem_channels[2]` and // next_row's `mem_channels[0]` which contains the next top of the stack. diff --git a/evm_arithmetization/src/witness/traces.rs b/evm_arithmetization/src/witness/traces.rs index a8cdfa454..e70f36824 100644 --- a/evm_arithmetization/src/witness/traces.rs +++ b/evm_arithmetization/src/witness/traces.rs @@ -37,7 +37,7 @@ pub(crate) struct Traces { } impl Traces { - pub(crate) fn new() -> Self { + pub(crate) const fn new() -> Self { Traces { arithmetic_ops: vec![], byte_packing_ops: vec![], diff --git a/evm_arithmetization/src/witness/transition.rs b/evm_arithmetization/src/witness/transition.rs index 462757280..71d4632bb 100644 --- a/evm_arithmetization/src/witness/transition.rs +++ b/evm_arithmetization/src/witness/transition.rs @@ -113,7 +113,8 @@ pub(crate) fn decode(registers: RegistersState, opcode: u8) -> Result Ok(Operation::Syscall(opcode, 0, true)), // CHAINID (0x47, _) => Ok(Operation::Syscall(opcode, 0, true)), // SELFBALANCE (0x48, _) => Ok(Operation::Syscall(opcode, 0, true)), // BASEFEE - (0x49, true) => Ok(Operation::ProverInput), + (0x49, _) => Ok(Operation::Syscall(opcode, 1, false)), // BLOBHASH + (0x4a, _) => Ok(Operation::Syscall(opcode, 0, true)), // BLOBBASEFEE (0x50, _) => Ok(Operation::Pop), (0x51, _) => Ok(Operation::Syscall(opcode, 1, false)), // MLOAD (0x52, _) => Ok(Operation::Syscall(opcode, 2, false)), // MSTORE @@ -126,6 +127,9 @@ pub(crate) fn decode(registers: RegistersState, opcode: u8) -> Result Ok(Operation::Syscall(opcode, 0, true)), // MSIZE (0x5a, _) => Ok(Operation::Syscall(opcode, 0, true)), // GAS (0x5b, _) => Ok(Operation::Jumpdest), + (0x5c, _) => Ok(Operation::Syscall(opcode, 1, false)), // TLOAD + (0x5d, _) => Ok(Operation::Syscall(opcode, 2, false)), // TSTORE + (0x5e, _) => Ok(Operation::Syscall(opcode, 3, false)), // MCOPY (0x5f..=0x7f, _) => Ok(Operation::Push(opcode - 0x5f)), (0x80..=0x8f, _) => Ok(Operation::Dup(opcode & 0xf)), (0x90..=0x9f, _) => Ok(Operation::Swap(opcode & 0xf)), @@ -142,6 +146,7 @@ pub(crate) fn decode(registers: RegistersState, opcode: u8) -> Result Ok(Operation::Mstore32Bytes(opcode - 0xc0 + 1)), + (0xee, true) => Ok(Operation::ProverInput), (0xf0, _) => Ok(Operation::Syscall(opcode, 3, false)), // CREATE (0xf1, _) => Ok(Operation::Syscall(opcode, 7, false)), // CALL (0xf2, _) => Ok(Operation::Syscall(opcode, 7, false)), // CALLCODE diff --git a/evm_arithmetization/tests/add11_yml.rs b/evm_arithmetization/tests/add11_yml.rs index 00d7e56b4..dca625d36 100644 --- a/evm_arithmetization/tests/add11_yml.rs +++ b/evm_arithmetization/tests/add11_yml.rs @@ -2,12 +2,16 @@ use std::collections::HashMap; use std::str::FromStr; use std::time::Duration; -use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; use ethereum_types::{Address, BigEndianHash, H256}; use evm_arithmetization::generation::mpt::{AccountRlp, LegacyReceiptRlp}; use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; use evm_arithmetization::prover::prove; +use evm_arithmetization::testing_utils::{ + beacon_roots_account_nibbles, beacon_roots_contract_from_storage, ger_account_nibbles, + init_logger, preinitialized_state_and_storage_tries, update_beacon_roots_account_storage, + GLOBAL_EXIT_ROOT_ACCOUNT, +}; use evm_arithmetization::verifier::verify_proof; use evm_arithmetization::{AllStark, Node, StarkConfig}; use hex_literal::hex; @@ -59,7 +63,8 @@ fn add11_yml() -> anyhow::Result<()> { ..AccountRlp::default() }; - let mut state_trie_before = HashedPartialTrie::from(Node::Empty); + let (mut state_trie_before, mut storage_tries) = preinitialized_state_and_storage_tries()?; + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); state_trie_before.insert( beneficiary_nibbles, rlp::encode(&beneficiary_account_before).to_vec(), @@ -67,11 +72,13 @@ fn add11_yml() -> anyhow::Result<()> { state_trie_before.insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec())?; state_trie_before.insert(to_nibbles, rlp::encode(&to_account_before).to_vec())?; + storage_tries.push((to_hashed, Node::Empty.into())); + let tries_before = TrieInputs { state_trie: state_trie_before, transactions_trie: Node::Empty.into(), receipts_trie: Node::Empty.into(), - storage_tries: vec![(to_hashed, Node::Empty.into())], + storage_tries, }; let txn = hex!("f863800a83061a8094095e7baea6a6c7c4c2dfeb977efac326af552d87830186a0801ba0ffb600e63115a7362e7811894a91d8ba4330e526f22121c994c4692035dfdfd5a06198379fcac8de3dbfac48b165df4bf88e2088f294b61efb9a65fe2281c76e16"); @@ -86,7 +93,7 @@ fn add11_yml() -> anyhow::Result<()> { block_chain_id: 1.into(), block_base_fee: 0xa.into(), block_gas_used: 0xa868u64.into(), - block_bloom: [0.into(); 8], + ..Default::default() }; let mut contract_code = HashMap::new(); @@ -94,6 +101,14 @@ fn add11_yml() -> anyhow::Result<()> { contract_code.insert(code_hash, code.to_vec()); let expected_state_trie_after = { + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + )?; + let beacon_roots_account = + beacon_roots_contract_from_storage(&beacon_roots_account_storage); + let beneficiary_account_after = AccountRlp { nonce: 1.into(), ..AccountRlp::default() @@ -123,6 +138,15 @@ fn add11_yml() -> anyhow::Result<()> { expected_state_trie_after .insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec())?; expected_state_trie_after.insert(to_nibbles, rlp::encode(&to_account_after).to_vec())?; + expected_state_trie_after.insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + )?; + expected_state_trie_after.insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + )?; + expected_state_trie_after }; @@ -151,6 +175,7 @@ fn add11_yml() -> anyhow::Result<()> { let inputs = GenerationInputs { signed_txn: Some(txn.to_vec()), withdrawals: vec![], + global_exit_roots: vec![], tries: tries_before, trie_roots_after, contract_code, @@ -171,7 +196,3 @@ fn add11_yml() -> anyhow::Result<()> { verify_proof(&all_stark, proof, &config) } - -fn init_logger() { - let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); -} diff --git a/evm_arithmetization/tests/basic_smart_contract.rs b/evm_arithmetization/tests/basic_smart_contract.rs deleted file mode 100644 index fd0948d80..000000000 --- a/evm_arithmetization/tests/basic_smart_contract.rs +++ /dev/null @@ -1,214 +0,0 @@ -use std::collections::HashMap; -use std::str::FromStr; -use std::time::Duration; - -use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; -use ethereum_types::{Address, H256, U256}; -use evm_arithmetization::cpu::kernel::opcodes::{get_opcode, get_push_opcode}; -use evm_arithmetization::generation::mpt::{AccountRlp, LegacyReceiptRlp}; -use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; -use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; -use evm_arithmetization::prover::prove; -use evm_arithmetization::verifier::verify_proof; -use evm_arithmetization::{AllStark, Node, StarkConfig}; -use hex_literal::hex; -use keccak_hash::keccak; -use mpt_trie::nibbles::Nibbles; -use mpt_trie::partial_trie::{HashedPartialTrie, PartialTrie}; -use plonky2::field::goldilocks_field::GoldilocksField; -use plonky2::plonk::config::KeccakGoldilocksConfig; -use plonky2::util::timing::TimingTree; - -type F = GoldilocksField; -const D: usize = 2; -type C = KeccakGoldilocksConfig; - -/// Test a simple token transfer to a new address. -#[test] -#[ignore] // Too slow to run on CI. -fn test_basic_smart_contract() -> anyhow::Result<()> { - init_logger(); - - let all_stark = AllStark::::default(); - let config = StarkConfig::standard_fast_config(); - - let beneficiary = hex!("deadbeefdeadbeefdeadbeefdeadbeefdeadbeef"); - let sender = hex!("2c7536e3605d9c16a7a3d7b1898e529396a65c23"); - let to = hex!("a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0"); - - let beneficiary_state_key = keccak(beneficiary); - let sender_state_key = keccak(sender); - let to_state_key = keccak(to); - - let beneficiary_nibbles = Nibbles::from_bytes_be(beneficiary_state_key.as_bytes()).unwrap(); - let sender_nibbles = Nibbles::from_bytes_be(sender_state_key.as_bytes()).unwrap(); - let to_nibbles = Nibbles::from_bytes_be(to_state_key.as_bytes()).unwrap(); - - let push1 = get_push_opcode(1); - let add = get_opcode("ADD"); - let stop = get_opcode("STOP"); - let code = [push1, 3, push1, 4, add, stop]; - let code_gas = 3 + 3 + 3; - let code_hash = keccak(code); - - let beneficiary_account_before = AccountRlp { - nonce: 1.into(), - ..AccountRlp::default() - }; - let sender_account_before = AccountRlp { - nonce: 5.into(), - balance: eth_to_wei(100_000.into()), - ..AccountRlp::default() - }; - let to_account_before = AccountRlp { - code_hash, - ..AccountRlp::default() - }; - - let state_trie_before = { - let mut children = core::array::from_fn(|_| Node::Empty.into()); - children[beneficiary_nibbles.get_nibble(0) as usize] = Node::Leaf { - nibbles: beneficiary_nibbles.truncate_n_nibbles_front(1), - value: rlp::encode(&beneficiary_account_before).to_vec(), - } - .into(); - children[sender_nibbles.get_nibble(0) as usize] = Node::Leaf { - nibbles: sender_nibbles.truncate_n_nibbles_front(1), - value: rlp::encode(&sender_account_before).to_vec(), - } - .into(); - children[to_nibbles.get_nibble(0) as usize] = Node::Leaf { - nibbles: to_nibbles.truncate_n_nibbles_front(1), - value: rlp::encode(&to_account_before).to_vec(), - } - .into(); - Node::Branch { - children, - value: vec![], - } - } - .into(); - - let tries_before = TrieInputs { - state_trie: state_trie_before, - transactions_trie: Node::Empty.into(), - receipts_trie: Node::Empty.into(), - storage_tries: vec![], - }; - - let txdata_gas = 2 * 16; - let gas_used = 21_000 + code_gas + txdata_gas; - - // Generated using a little py-evm script. - let txn = hex!("f861050a8255f094a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0648242421ba02c89eb757d9deeb1f5b3859a9d4d679951ef610ac47ad4608dc142beb1b7e313a05af7e9fbab825455d36c36c7f4cfcafbeafa9a77bdff936b52afb36d4fe4bcdd"); - let value = U256::from(100u32); - - let block_metadata = BlockMetadata { - block_beneficiary: Address::from(beneficiary), - block_difficulty: 0x20000.into(), - block_number: 1.into(), - block_chain_id: 1.into(), - block_timestamp: 0x03e8.into(), - block_gaslimit: 0xff112233u32.into(), - block_gas_used: gas_used.into(), - block_bloom: [0.into(); 8], - block_base_fee: 0xa.into(), - block_random: Default::default(), - }; - - let mut contract_code = HashMap::new(); - contract_code.insert(keccak(vec![]), vec![]); - contract_code.insert(code_hash, code.to_vec()); - - let expected_state_trie_after: HashedPartialTrie = { - let beneficiary_account_after = AccountRlp { - nonce: 1.into(), - ..AccountRlp::default() - }; - let sender_account_after = AccountRlp { - balance: sender_account_before.balance - value - gas_used * 10, - nonce: sender_account_before.nonce + 1, - ..sender_account_before - }; - let to_account_after = AccountRlp { - balance: to_account_before.balance + value, - ..to_account_before - }; - - let mut children = core::array::from_fn(|_| Node::Empty.into()); - children[beneficiary_nibbles.get_nibble(0) as usize] = Node::Leaf { - nibbles: beneficiary_nibbles.truncate_n_nibbles_front(1), - value: rlp::encode(&beneficiary_account_after).to_vec(), - } - .into(); - children[sender_nibbles.get_nibble(0) as usize] = Node::Leaf { - nibbles: sender_nibbles.truncate_n_nibbles_front(1), - value: rlp::encode(&sender_account_after).to_vec(), - } - .into(); - children[to_nibbles.get_nibble(0) as usize] = Node::Leaf { - nibbles: to_nibbles.truncate_n_nibbles_front(1), - value: rlp::encode(&to_account_after).to_vec(), - } - .into(); - Node::Branch { - children, - value: vec![], - } - } - .into(); - - let receipt_0 = LegacyReceiptRlp { - status: true, - cum_gas_used: gas_used.into(), - bloom: vec![0; 256].into(), - logs: vec![], - }; - let mut receipts_trie = HashedPartialTrie::from(Node::Empty); - receipts_trie.insert( - Nibbles::from_str("0x80").unwrap(), - rlp::encode(&receipt_0).to_vec(), - )?; - let transactions_trie: HashedPartialTrie = Node::Leaf { - nibbles: Nibbles::from_str("0x80").unwrap(), - value: txn.to_vec(), - } - .into(); - - let trie_roots_after = TrieRoots { - state_root: expected_state_trie_after.hash(), - transactions_root: transactions_trie.hash(), - receipts_root: receipts_trie.hash(), - }; - let inputs = GenerationInputs { - signed_txn: Some(txn.to_vec()), - withdrawals: vec![], - tries: tries_before, - trie_roots_after, - contract_code, - checkpoint_state_trie_root: HashedPartialTrie::from(Node::Empty).hash(), - block_metadata, - txn_number_before: 0.into(), - gas_used_before: 0.into(), - gas_used_after: gas_used.into(), - block_hashes: BlockHashes { - prev_hashes: vec![H256::default(); 256], - cur_hash: H256::default(), - }, - }; - - let mut timing = TimingTree::new("prove", log::Level::Debug); - let proof = prove::(&all_stark, &config, inputs, &mut timing, None)?; - timing.filter(Duration::from_millis(100)).print(); - - verify_proof(&all_stark, proof, &config) -} - -fn eth_to_wei(eth: U256) -> U256 { - // 1 ether = 10^18 wei. - eth * U256::from(10).pow(18.into()) -} - -fn init_logger() { - let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); -} diff --git a/evm_arithmetization/tests/empty_txn_list.rs b/evm_arithmetization/tests/empty_txn_list.rs deleted file mode 100644 index 1205414f6..000000000 --- a/evm_arithmetization/tests/empty_txn_list.rs +++ /dev/null @@ -1,152 +0,0 @@ -use core::marker::PhantomData; -use std::collections::HashMap; -use std::time::Duration; - -use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; -use ethereum_types::{BigEndianHash, H256}; -use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; -use evm_arithmetization::proof::{BlockHashes, BlockMetadata, PublicValues, TrieRoots}; -use evm_arithmetization::{AllRecursiveCircuits, AllStark, Node, StarkConfig}; -use keccak_hash::keccak; -use log::info; -use mpt_trie::partial_trie::{HashedPartialTrie, PartialTrie}; -use plonky2::field::goldilocks_field::GoldilocksField; -use plonky2::plonk::config::PoseidonGoldilocksConfig; -use plonky2::util::serialization::{DefaultGateSerializer, DefaultGeneratorSerializer}; -use plonky2::util::timing::TimingTree; - -type F = GoldilocksField; -const D: usize = 2; -type C = PoseidonGoldilocksConfig; - -/// Execute the empty list of transactions, i.e. a no-op. -#[test] -#[ignore] // Too slow to run on CI. -fn test_empty_txn_list() -> anyhow::Result<()> { - init_logger(); - - let all_stark = AllStark::::default(); - let config = StarkConfig::standard_fast_config(); - - let block_metadata = BlockMetadata { - block_number: 1.into(), - ..Default::default() - }; - - let state_trie = HashedPartialTrie::from(Node::Empty); - let transactions_trie = HashedPartialTrie::from(Node::Empty); - let receipts_trie = HashedPartialTrie::from(Node::Empty); - let storage_tries = vec![]; - - let mut contract_code = HashMap::new(); - contract_code.insert(keccak(vec![]), vec![]); - - // No transactions, so no trie roots change. - let trie_roots_after = TrieRoots { - state_root: state_trie.hash(), - transactions_root: transactions_trie.hash(), - receipts_root: receipts_trie.hash(), - }; - let mut initial_block_hashes = vec![H256::default(); 256]; - initial_block_hashes[255] = H256::from_uint(&0x200.into()); - let inputs = GenerationInputs { - signed_txn: None, - withdrawals: vec![], - tries: TrieInputs { - state_trie, - transactions_trie, - receipts_trie, - storage_tries, - }, - trie_roots_after, - contract_code, - checkpoint_state_trie_root: HashedPartialTrie::from(Node::Empty).hash(), - block_metadata, - txn_number_before: 0.into(), - gas_used_before: 0.into(), - gas_used_after: 0.into(), - block_hashes: BlockHashes { - prev_hashes: initial_block_hashes, - cur_hash: H256::default(), - }, - }; - - // Initialize the preprocessed circuits for the zkEVM. - let all_circuits = AllRecursiveCircuits::::new( - &all_stark, - &[16..17, 9..11, 12..13, 14..15, 9..11, 12..13, 17..18], /* Minimal ranges to prove an - * empty list */ - &config, - ); - - { - let gate_serializer = DefaultGateSerializer; - let generator_serializer = DefaultGeneratorSerializer:: { - _phantom: PhantomData::, - }; - - let timing = TimingTree::new("serialize AllRecursiveCircuits", log::Level::Info); - let all_circuits_bytes = all_circuits - .to_bytes(false, &gate_serializer, &generator_serializer) - .map_err(|_| anyhow::Error::msg("AllRecursiveCircuits serialization failed."))?; - timing.filter(Duration::from_millis(100)).print(); - info!( - "AllRecursiveCircuits length: {} bytes", - all_circuits_bytes.len() - ); - - let timing = TimingTree::new("deserialize AllRecursiveCircuits", log::Level::Info); - let all_circuits_from_bytes = AllRecursiveCircuits::::from_bytes( - &all_circuits_bytes, - false, - &gate_serializer, - &generator_serializer, - ) - .map_err(|_| anyhow::Error::msg("AllRecursiveCircuits deserialization failed."))?; - timing.filter(Duration::from_millis(100)).print(); - - assert_eq!(all_circuits, all_circuits_from_bytes); - } - - let mut timing = TimingTree::new("prove", log::Level::Info); - let (root_proof, public_values) = - all_circuits.prove_root(&all_stark, &config, inputs, &mut timing, None)?; - timing.filter(Duration::from_millis(100)).print(); - all_circuits.verify_root(root_proof.clone())?; - - // Test retrieved public values from the proof public inputs. - let retrieved_public_values = PublicValues::from_public_inputs(&root_proof.public_inputs); - assert_eq!(retrieved_public_values, public_values); - - // We can duplicate the proofs here because the state hasn't mutated. - let (agg_proof, agg_public_values) = all_circuits.prove_aggregation( - false, - &root_proof, - public_values.clone(), - false, - &root_proof, - public_values, - )?; - all_circuits.verify_aggregation(&agg_proof)?; - - // Test retrieved public values from the proof public inputs. - let retrieved_public_values = PublicValues::from_public_inputs(&agg_proof.public_inputs); - assert_eq!(retrieved_public_values, agg_public_values); - - let (block_proof, block_public_values) = - all_circuits.prove_block(None, &agg_proof, agg_public_values)?; - all_circuits.verify_block(&block_proof)?; - - // Test retrieved public values from the proof public inputs. - let retrieved_public_values = PublicValues::from_public_inputs(&block_proof.public_inputs); - assert_eq!(retrieved_public_values, block_public_values); - - // Get the verifier associated to these preprocessed circuits, and have it - // verify the block_proof. - let verifier = all_circuits.final_verifier_data(); - verifier.verify(block_proof) -} - -fn init_logger() { - let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); -} diff --git a/evm_arithmetization/tests/erc20.rs b/evm_arithmetization/tests/erc20.rs index 609579af9..1c829efc1 100644 --- a/evm_arithmetization/tests/erc20.rs +++ b/evm_arithmetization/tests/erc20.rs @@ -1,12 +1,16 @@ use std::str::FromStr; use std::time::Duration; -use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; use ethereum_types::{Address, BigEndianHash, H160, H256, U256}; use evm_arithmetization::generation::mpt::{AccountRlp, LegacyReceiptRlp, LogRlp}; use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; use evm_arithmetization::prover::prove; +use evm_arithmetization::testing_utils::{ + beacon_roots_account_nibbles, beacon_roots_contract_from_storage, create_account_storage, + ger_account_nibbles, init_logger, preinitialized_state_and_storage_tries, sd2u, + update_beacon_roots_account_storage, GLOBAL_EXIT_ROOT_ACCOUNT, +}; use evm_arithmetization::verifier::verify_proof; use evm_arithmetization::{AllStark, Node, StarkConfig}; use hex_literal::hex; @@ -61,15 +65,16 @@ fn test_erc20() -> anyhow::Result<()> { let giver_nibbles = Nibbles::from_bytes_be(giver_state_key.as_bytes()).unwrap(); let token_nibbles = Nibbles::from_bytes_be(token_state_key.as_bytes()).unwrap(); - let mut state_trie_before = HashedPartialTrie::from(Node::Empty); + let (mut state_trie_before, mut storage_tries) = preinitialized_state_and_storage_tries()?; + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); state_trie_before.insert(sender_nibbles, rlp::encode(&sender_account()).to_vec())?; state_trie_before.insert(giver_nibbles, rlp::encode(&giver_account()?).to_vec())?; state_trie_before.insert(token_nibbles, rlp::encode(&token_account()?).to_vec())?; - let storage_tries = vec![ + storage_tries.extend([ (giver_state_key, giver_storage()?), (token_state_key, token_storage()?), - ]; + ]); let tries_before = TrieInputs { state_trie: state_trie_before, @@ -93,6 +98,7 @@ fn test_erc20() -> anyhow::Result<()> { block_base_fee: 0xa.into(), block_gas_used: gas_used, block_bloom: bloom, + ..Default::default() }; let contract_code = [giver_bytecode(), token_bytecode(), vec![]] @@ -100,6 +106,14 @@ fn test_erc20() -> anyhow::Result<()> { .into(); let expected_state_trie_after: HashedPartialTrie = { + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + )?; + let beacon_roots_account = + beacon_roots_contract_from_storage(&beacon_roots_account_storage); + let mut state_trie_after = HashedPartialTrie::from(Node::Empty); let sender_account = sender_account(); let sender_account_after = AccountRlp { @@ -114,6 +128,14 @@ fn test_erc20() -> anyhow::Result<()> { ..token_account()? }; state_trie_after.insert(token_nibbles, rlp::encode(&token_account_after).to_vec())?; + state_trie_after.insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + )?; + state_trie_after.insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + )?; state_trie_after }; @@ -159,6 +181,7 @@ fn test_erc20() -> anyhow::Result<()> { let inputs = GenerationInputs { signed_txn: Some(txn.to_vec()), withdrawals: vec![], + global_exit_roots: vec![], tries: tries_before, trie_roots_after, contract_code, @@ -180,10 +203,6 @@ fn test_erc20() -> anyhow::Result<()> { verify_proof(&all_stark, proof, &config) } -fn init_logger() { - let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); -} - fn giver_bytecode() -> Vec { hex!("608060405234801561001057600080fd5b50600436106100365760003560e01c8063a52c101e1461003b578063fc0c546a14610050575b600080fd5b61004e61004936600461010c565b61007f565b005b600054610063906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b60005460405163a9059cbb60e01b8152731f9090aae28b8a3dceadf281b0f12828e676c3266004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156100e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101089190610125565b5050565b60006020828403121561011e57600080fd5b5035919050565b60006020828403121561013757600080fd5b8151801515811461014757600080fd5b939250505056fea264697066735822122050741efdbac11eb0bbb776ce3ac6004e596b7d7559658a12506164388c371cfd64736f6c63430008140033").into() } @@ -192,54 +211,31 @@ fn token_bytecode() -> Vec { hex!("608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461010d57806395d89b4114610136578063a9059cbb1461013e578063dd62ed3e1461015157600080fd5b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d957806323b872dd146100eb575b600080fd5b6100a061018a565b6040516100ad919061056a565b60405180910390f35b6100c96100c43660046105d4565b61021c565b60405190151581526020016100ad565b6002545b6040519081526020016100ad565b6100c96100f93660046105fe565b610236565b604051601281526020016100ad565b6100dd61011b36600461063a565b6001600160a01b031660009081526020819052604090205490565b6100a061025a565b6100c961014c3660046105d4565b610269565b6100dd61015f36600461065c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101999061068f565b80601f01602080910402602001604051908101604052809291908181526020018280546101c59061068f565b80156102125780601f106101e757610100808354040283529160200191610212565b820191906000526020600020905b8154815290600101906020018083116101f557829003601f168201915b5050505050905090565b60003361022a818585610277565b60019150505b92915050565b600033610244858285610289565b61024f85858561030c565b506001949350505050565b6060600480546101999061068f565b60003361022a81858561030c565b610284838383600161036b565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461030657818110156102f757604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6103068484848403600061036b565b50505050565b6001600160a01b03831661033657604051634b637e8f60e11b8152600060048201526024016102ee565b6001600160a01b0382166103605760405163ec442f0560e01b8152600060048201526024016102ee565b610284838383610440565b6001600160a01b0384166103955760405163e602df0560e01b8152600060048201526024016102ee565b6001600160a01b0383166103bf57604051634a1406b160e11b8152600060048201526024016102ee565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561030657826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161043291815260200190565b60405180910390a350505050565b6001600160a01b03831661046b57806002600082825461046091906106c9565b909155506104dd9050565b6001600160a01b038316600090815260208190526040902054818110156104be5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016102ee565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166104f957600280548290039055610518565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161055d91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156105975785810183015185820160400152820161057b565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146105cf57600080fd5b919050565b600080604083850312156105e757600080fd5b6105f0836105b8565b946020939093013593505050565b60008060006060848603121561061357600080fd5b61061c846105b8565b925061062a602085016105b8565b9150604084013590509250925092565b60006020828403121561064c57600080fd5b610655826105b8565b9392505050565b6000806040838503121561066f57600080fd5b610678836105b8565b9150610686602084016105b8565b90509250929050565b600181811c908216806106a357607f821691505b6020821081036106c357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561023057634e487b7160e01b600052601160045260246000fdfea2646970667358221220266a323ae4a816f6c6342a5be431fedcc0d45c44b02ea75f5474eb450b5d45b364736f6c63430008140033").into() } -fn insert_storage(trie: &mut HashedPartialTrie, slot: U256, value: U256) -> anyhow::Result<()> { - let mut bytes = [0; 32]; - slot.to_big_endian(&mut bytes); - let key = keccak(bytes); - let nibbles = Nibbles::from_bytes_be(key.as_bytes()).unwrap(); - let r = rlp::encode(&value); - let r = r.freeze().to_vec(); - trie.insert(nibbles, r)?; - Ok(()) -} - -fn sd2u(s: &str) -> U256 { - U256::from_dec_str(s).unwrap() -} - fn giver_storage() -> anyhow::Result { - let mut trie = HashedPartialTrie::from(Node::Empty); - insert_storage( - &mut trie, + create_account_storage(&[( U256::zero(), sd2u("546584486846459126461364135121053344201067465379"), - )?; - Ok(trie) + )]) } fn token_storage() -> anyhow::Result { - let mut trie = HashedPartialTrie::from(Node::Empty); - insert_storage( - &mut trie, + create_account_storage(&[( sd2u("82183438603287090451672504949863617512989139203883434767553028632841710582583"), sd2u("1000000000000000000000"), - )?; - Ok(trie) + )]) } fn token_storage_after() -> anyhow::Result { - let mut trie = HashedPartialTrie::from(Node::Empty); - insert_storage( - &mut trie, - sd2u("82183438603287090451672504949863617512989139203883434767553028632841710582583"), - sd2u("900000000000000000000"), - )?; - insert_storage( - &mut trie, - sd2u("53006154680716014998529145169423020330606407246856709517064848190396281160729"), - sd2u("100000000000000000000"), - )?; - Ok(trie) + create_account_storage(&[ + ( + sd2u("82183438603287090451672504949863617512989139203883434767553028632841710582583"), + sd2u("900000000000000000000"), + ), + ( + sd2u("53006154680716014998529145169423020330606407246856709517064848190396281160729"), + sd2u("100000000000000000000"), + ), + ]) } fn giver_account() -> anyhow::Result { diff --git a/evm_arithmetization/tests/erc721.rs b/evm_arithmetization/tests/erc721.rs index 86dd34002..3a02d8968 100644 --- a/evm_arithmetization/tests/erc721.rs +++ b/evm_arithmetization/tests/erc721.rs @@ -1,12 +1,16 @@ use std::str::FromStr; use std::time::Duration; -use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; use ethereum_types::{Address, BigEndianHash, H160, H256, U256}; use evm_arithmetization::generation::mpt::{AccountRlp, LegacyReceiptRlp, LogRlp}; use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; use evm_arithmetization::prover::prove; +use evm_arithmetization::testing_utils::{ + beacon_roots_account_nibbles, beacon_roots_contract_from_storage, create_account_storage, + ger_account_nibbles, init_logger, preinitialized_state_and_storage_tries, sd2u, sh2u, + update_beacon_roots_account_storage, GLOBAL_EXIT_ROOT_ACCOUNT, +}; use evm_arithmetization::verifier::verify_proof; use evm_arithmetization::{AllStark, Node, StarkConfig}; use hex_literal::hex; @@ -61,11 +65,12 @@ fn test_erc721() -> anyhow::Result<()> { let owner_nibbles = Nibbles::from_bytes_be(owner_state_key.as_bytes()).unwrap(); let contract_nibbles = Nibbles::from_bytes_be(contract_state_key.as_bytes()).unwrap(); - let mut state_trie_before = HashedPartialTrie::from(Node::Empty); + let (mut state_trie_before, mut storage_tries) = preinitialized_state_and_storage_tries()?; + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); state_trie_before.insert(owner_nibbles, rlp::encode(&owner_account()).to_vec())?; state_trie_before.insert(contract_nibbles, rlp::encode(&contract_account()?).to_vec())?; - let storage_tries = vec![(contract_state_key, contract_storage()?)]; + storage_tries.push((contract_state_key, contract_storage()?)); let tries_before = TrieInputs { state_trie: state_trie_before, @@ -82,8 +87,54 @@ fn test_erc721() -> anyhow::Result<()> { .map(|v| (keccak(v.clone()), v)) .into(); + let logs = vec![LogRlp { + address: H160::from_str("0xf2B1114C644cBb3fF63Bf1dD284c8Cd716e95BE9").unwrap(), + topics: vec![ + H256::from_str("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef") + .unwrap(), + H256::from_str("0x0000000000000000000000005b38da6a701c568545dcfcb03fcb875f56beddc4") + .unwrap(), + H256::from_str("0x000000000000000000000000ab8483f64d9c6d1ecf9b849ae677dd3315835cb2") + .unwrap(), + H256::from_str("0x0000000000000000000000000000000000000000000000000000000000000539") + .unwrap(), + ], + data: vec![].into(), + }]; + + let mut bloom_bytes = [0u8; 256]; + add_logs_to_bloom(&mut bloom_bytes, &logs); + + let bloom = bloom_bytes + .chunks_exact(32) + .map(U256::from_big_endian) + .collect::>(); + + let block_metadata = BlockMetadata { + block_beneficiary: Address::from(beneficiary), + block_timestamp: 0x03e8.into(), + block_number: 1.into(), + block_difficulty: 0x020000.into(), + block_random: H256::from_uint(&0x020000.into()), + block_gaslimit: 0xff112233u32.into(), + block_chain_id: 1.into(), + block_base_fee: 0xa.into(), + block_gas_used: gas_used, + block_bloom: bloom.try_into().unwrap(), + ..Default::default() + }; + let expected_state_trie_after: HashedPartialTrie = { let mut state_trie_after = HashedPartialTrie::from(Node::Empty); + + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + )?; + let beacon_roots_account = + beacon_roots_contract_from_storage(&beacon_roots_account_storage); + let owner_account = owner_account(); let owner_account_after = AccountRlp { nonce: owner_account.nonce + 1, @@ -99,28 +150,18 @@ fn test_erc721() -> anyhow::Result<()> { contract_nibbles, rlp::encode(&contract_account_after).to_vec(), )?; + state_trie_after.insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + )?; + state_trie_after.insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + )?; state_trie_after }; - let logs = vec![LogRlp { - address: H160::from_str("0xf2B1114C644cBb3fF63Bf1dD284c8Cd716e95BE9").unwrap(), - topics: vec![ - H256::from_str("0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef") - .unwrap(), - H256::from_str("0x0000000000000000000000005b38da6a701c568545dcfcb03fcb875f56beddc4") - .unwrap(), - H256::from_str("0x000000000000000000000000ab8483f64d9c6d1ecf9b849ae677dd3315835cb2") - .unwrap(), - H256::from_str("0x0000000000000000000000000000000000000000000000000000000000000539") - .unwrap(), - ], - data: vec![].into(), - }]; - - let mut bloom_bytes = [0u8; 256]; - add_logs_to_bloom(&mut bloom_bytes, &logs); - let receipt_0 = LegacyReceiptRlp { status: true, cum_gas_used: gas_used, @@ -141,27 +182,10 @@ fn test_erc721() -> anyhow::Result<()> { receipts_root: receipts_trie.hash(), }; - let bloom = bloom_bytes - .chunks_exact(32) - .map(U256::from_big_endian) - .collect::>(); - - let block_metadata = BlockMetadata { - block_beneficiary: Address::from(beneficiary), - block_timestamp: 0x03e8.into(), - block_number: 1.into(), - block_difficulty: 0x020000.into(), - block_random: H256::from_uint(&0x020000.into()), - block_gaslimit: 0xff112233u32.into(), - block_chain_id: 1.into(), - block_base_fee: 0xa.into(), - block_gas_used: gas_used, - block_bloom: bloom.try_into().unwrap(), - }; - let inputs = GenerationInputs { signed_txn: Some(txn.to_vec()), withdrawals: vec![], + global_exit_roots: vec![], tries: tries_before, trie_roots_after, contract_code, @@ -183,92 +207,58 @@ fn test_erc721() -> anyhow::Result<()> { verify_proof(&all_stark, proof, &config) } -fn init_logger() { - let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); -} - fn contract_bytecode() -> Vec { hex!("608060405234801561000f575f80fd5b5060043610610109575f3560e01c8063715018a6116100a0578063a22cb4651161006f578063a22cb465146102a1578063b88d4fde146102bd578063c87b56dd146102d9578063e985e9c514610309578063f2fde38b1461033957610109565b8063715018a61461023f5780638da5cb5b1461024957806395d89b4114610267578063a14481941461028557610109565b806323b872dd116100dc57806323b872dd146101a757806342842e0e146101c35780636352211e146101df57806370a082311461020f57610109565b806301ffc9a71461010d57806306fdde031461013d578063081812fc1461015b578063095ea7b31461018b575b5f80fd5b61012760048036038101906101229190611855565b610355565b604051610134919061189a565b60405180910390f35b610145610436565b604051610152919061193d565b60405180910390f35b61017560048036038101906101709190611990565b6104c5565b60405161018291906119fa565b60405180910390f35b6101a560048036038101906101a09190611a3d565b6104e0565b005b6101c160048036038101906101bc9190611a7b565b6104f6565b005b6101dd60048036038101906101d89190611a7b565b6105f5565b005b6101f960048036038101906101f49190611990565b610614565b60405161020691906119fa565b60405180910390f35b61022960048036038101906102249190611acb565b610625565b6040516102369190611b05565b60405180910390f35b6102476106db565b005b6102516106ee565b60405161025e91906119fa565b60405180910390f35b61026f610716565b60405161027c919061193d565b60405180910390f35b61029f600480360381019061029a9190611a3d565b6107a6565b005b6102bb60048036038101906102b69190611b48565b6107bc565b005b6102d760048036038101906102d29190611cb2565b6107d2565b005b6102f360048036038101906102ee9190611990565b6107ef565b604051610300919061193d565b60405180910390f35b610323600480360381019061031e9190611d32565b610855565b604051610330919061189a565b60405180910390f35b610353600480360381019061034e9190611acb565b6108e3565b005b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061041f57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061042f575061042e82610967565b5b9050919050565b60605f805461044490611d9d565b80601f016020809104026020016040519081016040528092919081815260200182805461047090611d9d565b80156104bb5780601f10610492576101008083540402835291602001916104bb565b820191905f5260205f20905b81548152906001019060200180831161049e57829003601f168201915b5050505050905090565b5f6104cf826109d0565b506104d982610a56565b9050919050565b6104f282826104ed610a8f565b610a96565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610566575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161055d91906119fa565b60405180910390fd5b5f6105798383610574610a8f565b610aa8565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146105ef578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016105e693929190611dcd565b60405180910390fd5b50505050565b61060f83838360405180602001604052805f8152506107d2565b505050565b5f61061e826109d0565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610696575f6040517f89c62b6400000000000000000000000000000000000000000000000000000000815260040161068d91906119fa565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106e3610cb3565b6106ec5f610d3a565b565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461072590611d9d565b80601f016020809104026020016040519081016040528092919081815260200182805461075190611d9d565b801561079c5780601f106107735761010080835404028352916020019161079c565b820191905f5260205f20905b81548152906001019060200180831161077f57829003601f168201915b5050505050905090565b6107ae610cb3565b6107b88282610dfd565b5050565b6107ce6107c7610a8f565b8383610e1a565b5050565b6107dd8484846104f6565b6107e984848484610f83565b50505050565b60606107fa826109d0565b505f610804611135565b90505f8151116108225760405180602001604052805f81525061084d565b8061082c8461114b565b60405160200161083d929190611e3c565b6040516020818303038152906040525b915050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6108eb610cb3565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361095b575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161095291906119fa565b60405180910390fd5b61096481610d3a565b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f806109db83611215565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a4d57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610a449190611b05565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610aa3838383600161124e565b505050565b5f80610ab384611215565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610af457610af381848661140d565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b7f57610b335f855f8061124e565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610bfe57600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b610cbb610a8f565b73ffffffffffffffffffffffffffffffffffffffff16610cd96106ee565b73ffffffffffffffffffffffffffffffffffffffff1614610d3857610cfc610a8f565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610d2f91906119fa565b60405180910390fd5b565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610e16828260405180602001604052805f8152506114d0565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e8a57816040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401610e8191906119fa565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610f76919061189a565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b111561112f578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02610fc6610a8f565b8685856040518563ffffffff1660e01b8152600401610fe89493929190611eb1565b6020604051808303815f875af192505050801561102357506040513d601f19601f820116820180604052508101906110209190611f0f565b60015b6110a4573d805f8114611051576040519150601f19603f3d011682016040523d82523d5f602084013e611056565b606091505b505f81510361109c57836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161109391906119fa565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461112d57836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161112491906119fa565b60405180910390fd5b505b50505050565b606060405180602001604052805f815250905090565b60605f6001611159846114eb565b0190505f8167ffffffffffffffff81111561117757611176611b8e565b5b6040519080825280601f01601f1916602001820160405280156111a95781602001600182028036833780820191505090505b5090505f82602001820190505b60011561120a578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816111ff576111fe611f3a565b5b0494505f85036111b6575b819350505050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061128657505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156113b8575f611295846109d0565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112ff57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561131257506113108184610855565b155b1561135457826040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815260040161134b91906119fa565b60405180910390fd5b81156113b657838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b61141883838361163c565b6114cb575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361148c57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016114839190611b05565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016114c2929190611f67565b60405180910390fd5b505050565b6114da83836116fc565b6114e65f848484610f83565b505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611547577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161153d5761153c611f3a565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611584576d04ee2d6d415b85acef8100000000838161157a57611579611f3a565b5b0492506020810190505b662386f26fc1000083106115b357662386f26fc1000083816115a9576115a8611f3a565b5b0492506010810190505b6305f5e10083106115dc576305f5e10083816115d2576115d1611f3a565b5b0492506008810190505b61271083106116015761271083816115f7576115f6611f3a565b5b0492506004810190505b60648310611624576064838161161a57611619611f3a565b5b0492506002810190505b600a8310611633576001810190505b80915050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116f357508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116b457506116b38484610855565b5b806116f257508273ffffffffffffffffffffffffffffffffffffffff166116da83610a56565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361176c575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161176391906119fa565b60405180910390fd5b5f61177883835f610aa8565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146117ea575f6040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016117e191906119fa565b60405180910390fd5b505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61183481611800565b811461183e575f80fd5b50565b5f8135905061184f8161182b565b92915050565b5f6020828403121561186a576118696117f8565b5b5f61187784828501611841565b91505092915050565b5f8115159050919050565b61189481611880565b82525050565b5f6020820190506118ad5f83018461188b565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156118ea5780820151818401526020810190506118cf565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61190f826118b3565b61191981856118bd565b93506119298185602086016118cd565b611932816118f5565b840191505092915050565b5f6020820190508181035f8301526119558184611905565b905092915050565b5f819050919050565b61196f8161195d565b8114611979575f80fd5b50565b5f8135905061198a81611966565b92915050565b5f602082840312156119a5576119a46117f8565b5b5f6119b28482850161197c565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6119e4826119bb565b9050919050565b6119f4816119da565b82525050565b5f602082019050611a0d5f8301846119eb565b92915050565b611a1c816119da565b8114611a26575f80fd5b50565b5f81359050611a3781611a13565b92915050565b5f8060408385031215611a5357611a526117f8565b5b5f611a6085828601611a29565b9250506020611a718582860161197c565b9150509250929050565b5f805f60608486031215611a9257611a916117f8565b5b5f611a9f86828701611a29565b9350506020611ab086828701611a29565b9250506040611ac18682870161197c565b9150509250925092565b5f60208284031215611ae057611adf6117f8565b5b5f611aed84828501611a29565b91505092915050565b611aff8161195d565b82525050565b5f602082019050611b185f830184611af6565b92915050565b611b2781611880565b8114611b31575f80fd5b50565b5f81359050611b4281611b1e565b92915050565b5f8060408385031215611b5e57611b5d6117f8565b5b5f611b6b85828601611a29565b9250506020611b7c85828601611b34565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611bc4826118f5565b810181811067ffffffffffffffff82111715611be357611be2611b8e565b5b80604052505050565b5f611bf56117ef565b9050611c018282611bbb565b919050565b5f67ffffffffffffffff821115611c2057611c1f611b8e565b5b611c29826118f5565b9050602081019050919050565b828183375f83830152505050565b5f611c56611c5184611c06565b611bec565b905082815260208101848484011115611c7257611c71611b8a565b5b611c7d848285611c36565b509392505050565b5f82601f830112611c9957611c98611b86565b5b8135611ca9848260208601611c44565b91505092915050565b5f805f8060808587031215611cca57611cc96117f8565b5b5f611cd787828801611a29565b9450506020611ce887828801611a29565b9350506040611cf98782880161197c565b925050606085013567ffffffffffffffff811115611d1a57611d196117fc565b5b611d2687828801611c85565b91505092959194509250565b5f8060408385031215611d4857611d476117f8565b5b5f611d5585828601611a29565b9250506020611d6685828601611a29565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611db457607f821691505b602082108103611dc757611dc6611d70565b5b50919050565b5f606082019050611de05f8301866119eb565b611ded6020830185611af6565b611dfa60408301846119eb565b949350505050565b5f81905092915050565b5f611e16826118b3565b611e208185611e02565b9350611e308185602086016118cd565b80840191505092915050565b5f611e478285611e0c565b9150611e538284611e0c565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f611e8382611e5f565b611e8d8185611e69565b9350611e9d8185602086016118cd565b611ea6816118f5565b840191505092915050565b5f608082019050611ec45f8301876119eb565b611ed160208301866119eb565b611ede6040830185611af6565b8181036060830152611ef08184611e79565b905095945050505050565b5f81519050611f098161182b565b92915050565b5f60208284031215611f2457611f236117f8565b5b5f611f3184828501611efb565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f604082019050611f7a5f8301856119eb565b611f876020830184611af6565b939250505056fea2646970667358221220432b30673e00c0eb009e1718c271f4cfdfbeded17345829703b06d322360990164736f6c63430008160033").into() } -fn insert_storage(trie: &mut HashedPartialTrie, slot: U256, value: U256) -> anyhow::Result<()> { - let mut bytes = [0; 32]; - slot.to_big_endian(&mut bytes); - let key = keccak(bytes); - let nibbles = Nibbles::from_bytes_be(key.as_bytes()).unwrap(); - let r = rlp::encode(&value); - let r = r.freeze().to_vec(); - trie.insert(nibbles, r)?; - - Ok(()) -} - -fn sd2u(s: &str) -> U256 { - U256::from_dec_str(s).unwrap() -} - -fn sh2u(s: &str) -> U256 { - U256::from_str_radix(s, 16).unwrap() -} - fn contract_storage() -> anyhow::Result { - let mut trie = HashedPartialTrie::from(Node::Empty); - insert_storage( - &mut trie, - U256::zero(), - sh2u("0x54657374546f6b656e0000000000000000000000000000000000000000000012"), - )?; - insert_storage( - &mut trie, - U256::one(), - sh2u("0x5445535400000000000000000000000000000000000000000000000000000008"), - )?; - insert_storage( - &mut trie, - sd2u("6"), - sh2u("0x5b38da6a701c568545dcfcb03fcb875f56beddc4"), - )?; - insert_storage( - &mut trie, - sh2u("0x343ff8127bd64f680be4e996254dc3528603c6ecd54364b4cf956ebdd28f0028"), - sh2u("0x5b38da6a701c568545dcfcb03fcb875f56beddc4"), - )?; - insert_storage( - &mut trie, - sh2u("0x118c1ea466562cb796e30ef705e4db752f5c39d773d22c5efd8d46f67194e78a"), - sd2u("1"), - )?; - Ok(trie) + create_account_storage(&[ + ( + U256::zero(), + sh2u("0x54657374546f6b656e0000000000000000000000000000000000000000000012"), + ), + ( + U256::one(), + sh2u("0x5445535400000000000000000000000000000000000000000000000000000008"), + ), + ( + sd2u("6"), + sh2u("0x5b38da6a701c568545dcfcb03fcb875f56beddc4"), + ), + ( + sh2u("0x343ff8127bd64f680be4e996254dc3528603c6ecd54364b4cf956ebdd28f0028"), + sh2u("0x5b38da6a701c568545dcfcb03fcb875f56beddc4"), + ), + ( + sh2u("0x118c1ea466562cb796e30ef705e4db752f5c39d773d22c5efd8d46f67194e78a"), + sd2u("1"), + ), + ]) } fn contract_storage_after() -> anyhow::Result { - let mut trie = HashedPartialTrie::from(Node::Empty); - insert_storage( - &mut trie, - U256::zero(), - sh2u("0x54657374546f6b656e0000000000000000000000000000000000000000000012"), - )?; - insert_storage( - &mut trie, - U256::one(), - sh2u("0x5445535400000000000000000000000000000000000000000000000000000008"), - )?; - insert_storage( - &mut trie, - sd2u("6"), - sh2u("0x5b38da6a701c568545dcfcb03fcb875f56beddc4"), - )?; - insert_storage( - &mut trie, - sh2u("0x343ff8127bd64f680be4e996254dc3528603c6ecd54364b4cf956ebdd28f0028"), - sh2u("0xab8483f64d9c6d1ecf9b849ae677dd3315835cb2"), - )?; - insert_storage( - &mut trie, - sh2u("0xf3aa6a8a9f7e3707e36cc99c499a27514922afe861ec3d80a1a314409cba92f9"), - sd2u("1"), - )?; - Ok(trie) + create_account_storage(&[ + ( + U256::zero(), + sh2u("0x54657374546f6b656e0000000000000000000000000000000000000000000012"), + ), + ( + U256::one(), + sh2u("0x5445535400000000000000000000000000000000000000000000000000000008"), + ), + ( + sd2u("6"), + sh2u("0x5b38da6a701c568545dcfcb03fcb875f56beddc4"), + ), + ( + sh2u("0x343ff8127bd64f680be4e996254dc3528603c6ecd54364b4cf956ebdd28f0028"), + sh2u("0xab8483f64d9c6d1ecf9b849ae677dd3315835cb2"), + ), + ( + sh2u("0xf3aa6a8a9f7e3707e36cc99c499a27514922afe861ec3d80a1a314409cba92f9"), + sd2u("1"), + ), + ]) } fn owner_account() -> AccountRlp { diff --git a/evm_arithmetization/tests/global_exit_root.rs b/evm_arithmetization/tests/global_exit_root.rs new file mode 100644 index 000000000..507ffe0f7 --- /dev/null +++ b/evm_arithmetization/tests/global_exit_root.rs @@ -0,0 +1,107 @@ +use std::collections::HashMap; +use std::time::Duration; + +use ethereum_types::{H256, U256}; +use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; +use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; +use evm_arithmetization::prover::prove; +use evm_arithmetization::testing_utils::{ + beacon_roots_account_nibbles, beacon_roots_contract_from_storage, ger_account_nibbles, + ger_contract_from_storage, init_logger, preinitialized_state_and_storage_tries, + update_beacon_roots_account_storage, update_ger_account_storage, +}; +use evm_arithmetization::verifier::verify_proof; +use evm_arithmetization::{AllStark, Node, StarkConfig}; +use keccak_hash::keccak; +use mpt_trie::partial_trie::{HashedPartialTrie, PartialTrie}; +use plonky2::field::goldilocks_field::GoldilocksField; +use plonky2::plonk::config::PoseidonGoldilocksConfig; +use plonky2::util::timing::TimingTree; +use rand::random; + +type F = GoldilocksField; +const D: usize = 2; +type C = PoseidonGoldilocksConfig; + +/// Add a new Global Exit Root to the state trie. +#[test] +fn test_global_exit_root() -> anyhow::Result<()> { + init_logger(); + + let all_stark = AllStark::::default(); + let config = StarkConfig::standard_fast_config(); + + let block_metadata = BlockMetadata { + block_timestamp: 1.into(), + ..BlockMetadata::default() + }; + + let (state_trie_before, storage_tries) = preinitialized_state_and_storage_tries()?; + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); + let mut ger_account_storage = storage_tries[1].1.clone(); + let transactions_trie = HashedPartialTrie::from(Node::Empty); + let receipts_trie = HashedPartialTrie::from(Node::Empty); + + let mut contract_code = HashMap::new(); + contract_code.insert(keccak(vec![]), vec![]); + + let global_exit_roots = vec![(U256(random()), H256(random()))]; + + let state_trie_after = { + let mut trie = HashedPartialTrie::from(Node::Empty); + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + )?; + let beacon_roots_account = + beacon_roots_contract_from_storage(&beacon_roots_account_storage); + for &(timestamp, root) in &global_exit_roots { + update_ger_account_storage(&mut ger_account_storage, root, timestamp)?; + } + let ger_account = ger_contract_from_storage(&ger_account_storage); + + trie.insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + )?; + trie.insert(ger_account_nibbles(), rlp::encode(&ger_account).to_vec())?; + + trie + }; + + let trie_roots_after = TrieRoots { + state_root: state_trie_after.hash(), + transactions_root: transactions_trie.hash(), + receipts_root: receipts_trie.hash(), + }; + + let inputs = GenerationInputs { + signed_txn: None, + withdrawals: vec![], + global_exit_roots, + tries: TrieInputs { + state_trie: state_trie_before, + transactions_trie, + receipts_trie, + storage_tries, + }, + trie_roots_after, + contract_code, + checkpoint_state_trie_root: HashedPartialTrie::from(Node::Empty).hash(), + block_metadata, + txn_number_before: 0.into(), + gas_used_before: 0.into(), + gas_used_after: 0.into(), + block_hashes: BlockHashes { + prev_hashes: vec![H256::default(); 256], + cur_hash: H256::default(), + }, + }; + + let mut timing = TimingTree::new("prove", log::Level::Debug); + let proof = prove::(&all_stark, &config, inputs, &mut timing, None)?; + timing.filter(Duration::from_millis(100)).print(); + + verify_proof(&all_stark, proof, &config) +} diff --git a/evm_arithmetization/tests/log_opcode.rs b/evm_arithmetization/tests/log_opcode.rs index 75cdd44f5..8cd5c57c0 100644 --- a/evm_arithmetization/tests/log_opcode.rs +++ b/evm_arithmetization/tests/log_opcode.rs @@ -3,8 +3,7 @@ use std::str::FromStr; use std::time::Duration; use bytes::Bytes; -use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; -use ethereum_types::{Address, BigEndianHash, H256, U256}; +use ethereum_types::{Address, BigEndianHash, H256}; use evm_arithmetization::generation::mpt::transaction_testing::{ AddressOption, LegacyTransactionRlp, }; @@ -12,8 +11,13 @@ use evm_arithmetization::generation::mpt::{AccountRlp, LegacyReceiptRlp, LogRlp} use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; use evm_arithmetization::prover::prove; +use evm_arithmetization::testing_utils::{ + beacon_roots_account_nibbles, beacon_roots_contract_from_storage, ger_account_nibbles, + init_logger, preinitialized_state_and_storage_tries, update_beacon_roots_account_storage, + GLOBAL_EXIT_ROOT_ACCOUNT, +}; use evm_arithmetization::verifier::verify_proof; -use evm_arithmetization::{AllRecursiveCircuits, AllStark, Node, StarkConfig}; +use evm_arithmetization::{AllStark, Node, StarkConfig}; use hex_literal::hex; use keccak_hash::keccak; use mpt_trie::nibbles::Nibbles; @@ -28,7 +32,6 @@ type C = PoseidonGoldilocksConfig; /// Variation of `add11_yml` testing LOG opcodes. #[test] -#[ignore] // Too slow to run on CI. fn test_log_opcodes() -> anyhow::Result<()> { init_logger(); @@ -57,7 +60,7 @@ fn test_log_opcodes() -> anyhow::Result<()> { 0x60, 99, 0x60, 98, 0x60, 5, 0x60, 27, 0xA2, // LOG2(27, 5, 98, 99) 0x00, ]; - println!("contract: {:02x?}", code); + let code_gas = 3 + 3 + 3 // PUSHs and MSTORE + 3 + 3 + 375 // PUSHs and LOG0 + 3 + 3 + 3 + 3 + 375 + 375*2 + 8*5 + 3// PUSHs, LOG2 and memory expansion @@ -84,7 +87,8 @@ fn test_log_opcodes() -> anyhow::Result<()> { }; // Initialize the state trie with three accounts. - let mut state_trie_before = HashedPartialTrie::from(Node::Empty); + let (mut state_trie_before, mut storage_tries) = preinitialized_state_and_storage_tries()?; + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); state_trie_before.insert( beneficiary_nibbles, rlp::encode(&beneficiary_account_before).to_vec(), @@ -92,6 +96,8 @@ fn test_log_opcodes() -> anyhow::Result<()> { state_trie_before.insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec())?; state_trie_before.insert(to_nibbles, rlp::encode(&to_account_before).to_vec())?; + storage_tries.push((to_hashed, Node::Empty.into())); + // We now add two receipts with logs and data. This updates the receipt trie as // well. let log_0 = LogRlp { @@ -125,7 +131,7 @@ fn test_log_opcodes() -> anyhow::Result<()> { state_trie: state_trie_before, transactions_trie: Node::Empty.into(), receipts_trie: receipts_trie.clone(), - storage_tries: vec![(to_hashed, Node::Empty.into())], + storage_tries, }; // Prove a transaction which carries out two LOG opcodes. @@ -141,8 +147,7 @@ fn test_log_opcodes() -> anyhow::Result<()> { block_gaslimit: 0xffffffffu32.into(), block_chain_id: 1.into(), block_base_fee: 0xa.into(), - block_gas_used: 0.into(), - block_bloom: [0.into(); 8], + ..Default::default() }; let mut contract_code = HashMap::new(); @@ -168,6 +173,13 @@ fn test_log_opcodes() -> anyhow::Result<()> { ..AccountRlp::default() }; + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + )?; + let beacon_roots_account = beacon_roots_contract_from_storage(&beacon_roots_account_storage); + // Update the receipt trie. let first_log = LogRlp { address: to.into(), @@ -204,6 +216,14 @@ fn test_log_opcodes() -> anyhow::Result<()> { expected_state_trie_after .insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec())?; expected_state_trie_after.insert(to_nibbles, rlp::encode(&to_account_after).to_vec())?; + expected_state_trie_after.insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + )?; + expected_state_trie_after.insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + )?; let transactions_trie: HashedPartialTrie = Node::Leaf { nibbles: Nibbles::from_str("0x80").unwrap(), @@ -220,6 +240,7 @@ fn test_log_opcodes() -> anyhow::Result<()> { let inputs = GenerationInputs { signed_txn: Some(txn.to_vec()), withdrawals: vec![], + global_exit_roots: vec![], tries: tries_before, trie_roots_after, contract_code, @@ -253,417 +274,6 @@ fn test_log_opcodes() -> anyhow::Result<()> { verify_proof(&all_stark, proof, &config) } -// Tests proving two transactions, one of which with logs, and aggregating them. -#[test] -#[ignore] // Too slow to run on CI. -fn test_log_with_aggreg() -> anyhow::Result<()> { - init_logger(); - - let code = [ - 0x64, 0xA1, 0xB2, 0xC3, 0xD4, 0xE5, 0x60, 0x0, 0x52, // MSTORE(0x0, 0xA1B2C3D4E5) - 0x60, 0x0, 0x60, 0x0, 0xA0, // LOG0(0x0, 0x0) - 0x60, 99, 0x60, 98, 0x60, 5, 0x60, 27, 0xA2, // LOG2(27, 5, 98, 99) - 0x00, - ]; - - let code_gas = 3 + 3 + 3 // PUSHs and MSTORE - + 3 + 3 + 375 // PUSHs and LOG0 - + 3 + 3 + 3 + 3 + 375 + 375*2 + 8*5 // PUSHs and LOG2 - + 3 // Memory expansion - ; - - let gas_used = 21_000 + code_gas; - - let code_hash = keccak(code); - - // First transaction. - let all_stark = AllStark::::default(); - let config = StarkConfig::standard_fast_config(); - - let beneficiary = hex!("2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"); - let sender_first = hex!("af1276cbb260bb13deddb4209ae99ae6e497f446"); - let to_first = hex!("095e7baea6a6c7c4c2dfeb977efac326af552d87"); - let to = hex!("095e7baea6a6c7c4c2dfeb977efac326af552e89"); - - let beneficiary_state_key = keccak(beneficiary); - let sender_state_key = keccak(sender_first); - let to_hashed = keccak(to_first); - let to_hashed_2 = keccak(to); - - let beneficiary_nibbles = Nibbles::from_bytes_be(beneficiary_state_key.as_bytes()).unwrap(); - let sender_nibbles = Nibbles::from_bytes_be(sender_state_key.as_bytes()).unwrap(); - let to_nibbles = Nibbles::from_bytes_be(to_hashed.as_bytes()).unwrap(); - let to_second_nibbles = Nibbles::from_bytes_be(to_hashed_2.as_bytes()).unwrap(); - - let beneficiary_account_before = AccountRlp { - nonce: 1.into(), - ..AccountRlp::default() - }; - let sender_balance_before = 1000000000000000000u64.into(); - let sender_account_before = AccountRlp { - balance: sender_balance_before, - ..AccountRlp::default() - }; - let to_account_before = AccountRlp { - ..AccountRlp::default() - }; - let to_account_second_before = AccountRlp { - code_hash, - ..AccountRlp::default() - }; - - // In the first transaction, the sender account sends `txn_value` to - // `to_account`. - let gas_price = 10; - let txn_value = 0xau64; - let mut state_trie_before = HashedPartialTrie::from(Node::Empty); - state_trie_before.insert( - beneficiary_nibbles, - rlp::encode(&beneficiary_account_before).to_vec(), - )?; - state_trie_before.insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec())?; - state_trie_before.insert(to_nibbles, rlp::encode(&to_account_before).to_vec())?; - state_trie_before.insert( - to_second_nibbles, - rlp::encode(&to_account_second_before).to_vec(), - )?; - let checkpoint_state_trie_root = state_trie_before.hash(); - - let tries_before = TrieInputs { - state_trie: state_trie_before, - transactions_trie: Node::Empty.into(), - receipts_trie: Node::Empty.into(), - storage_tries: vec![], - }; - - let txn = hex!("f85f800a82520894095e7baea6a6c7c4c2dfeb977efac326af552d870a8026a0122f370ed4023a6c253350c6bfb87d7d7eb2cd86447befee99e0a26b70baec20a07100ab1b3977f2b4571202b9f4b68850858caf5469222794600b5ce1cfb348ad"); - - let block_1_metadata = BlockMetadata { - block_beneficiary: Address::from(beneficiary), - block_timestamp: 0x03e8.into(), - block_number: 1.into(), - block_difficulty: 0x020000.into(), - block_gaslimit: 0x445566u32.into(), - block_chain_id: 1.into(), - block_base_fee: 0xa.into(), - block_gas_used: (22570 + 21000).into(), - block_bloom: [ - 0.into(), - 0.into(), - U256::from_dec_str( - "55213970774324510299479508399853534522527075462195808724319849722937344", - ) - .unwrap(), - U256::from_dec_str("1361129467683753853853498429727072845824").unwrap(), - 33554432.into(), - U256::from_dec_str("9223372036854775808").unwrap(), - U256::from_dec_str( - "3618502788666131106986593281521497120414687020801267626233049500247285563392", - ) - .unwrap(), - U256::from_dec_str("2722259584404615024560450425766186844160").unwrap(), - ], - block_random: Default::default(), - }; - - let beneficiary_account_after = AccountRlp { - nonce: 1.into(), - ..AccountRlp::default() - }; - - let sender_balance_after = sender_balance_before - gas_price * 21000 - txn_value; - let sender_account_after = AccountRlp { - balance: sender_balance_after, - nonce: 1.into(), - ..AccountRlp::default() - }; - let to_account_after = AccountRlp { - balance: txn_value.into(), - ..AccountRlp::default() - }; - - let mut contract_code = HashMap::new(); - contract_code.insert(keccak(vec![]), vec![]); - contract_code.insert(code_hash, code.to_vec()); - - let mut expected_state_trie_after = HashedPartialTrie::from(Node::Empty); - expected_state_trie_after.insert( - beneficiary_nibbles, - rlp::encode(&beneficiary_account_after).to_vec(), - )?; - expected_state_trie_after - .insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec())?; - expected_state_trie_after.insert(to_nibbles, rlp::encode(&to_account_after).to_vec())?; - expected_state_trie_after.insert( - to_second_nibbles, - rlp::encode(&to_account_second_before).to_vec(), - )?; - - // Compute new receipt trie. - let mut receipts_trie = HashedPartialTrie::from(Node::Empty); - let receipt_0 = LegacyReceiptRlp { - status: true, - cum_gas_used: 21000u64.into(), - bloom: [0x00; 256].to_vec().into(), - logs: vec![], - }; - receipts_trie.insert( - Nibbles::from_str("0x80").unwrap(), - rlp::encode(&receipt_0).to_vec(), - )?; - - let mut transactions_trie: HashedPartialTrie = Node::Leaf { - nibbles: Nibbles::from_str("0x80").unwrap(), - value: txn.to_vec(), - } - .into(); - - let tries_after = TrieRoots { - state_root: expected_state_trie_after.hash(), - transactions_root: transactions_trie.hash(), - receipts_root: receipts_trie.clone().hash(), - }; - - let block_1_hash = - H256::from_str("0x0101010101010101010101010101010101010101010101010101010101010101")?; - let mut block_hashes = vec![H256::default(); 256]; - - let inputs_first = GenerationInputs { - signed_txn: Some(txn.to_vec()), - withdrawals: vec![], - tries: tries_before, - trie_roots_after: tries_after, - contract_code, - checkpoint_state_trie_root, - block_metadata: block_1_metadata.clone(), - txn_number_before: 0.into(), - gas_used_before: 0.into(), - gas_used_after: 21000u64.into(), - block_hashes: BlockHashes { - prev_hashes: block_hashes.clone(), - cur_hash: block_1_hash, - }, - }; - - // Preprocess all circuits. - let all_circuits = AllRecursiveCircuits::::new( - &all_stark, - &[16..17, 12..15, 14..18, 14..15, 9..10, 12..13, 17..20], - &config, - ); - - let mut timing = TimingTree::new("prove root first", log::Level::Info); - let (root_proof_first, public_values_first) = - all_circuits.prove_root(&all_stark, &config, inputs_first, &mut timing, None)?; - - timing.filter(Duration::from_millis(100)).print(); - all_circuits.verify_root(root_proof_first.clone())?; - - // The gas used and transaction number are fed to the next transaction, so the - // two proofs can be correctly aggregated. - let gas_used_second = public_values_first.extra_block_data.gas_used_after; - - // Prove second transaction. In this second transaction, the code with logs is - // executed. - - let state_trie_before = expected_state_trie_after; - - let tries_before = TrieInputs { - state_trie: state_trie_before, - transactions_trie: transactions_trie.clone(), - receipts_trie: receipts_trie.clone(), - storage_tries: vec![], - }; - - // Prove a transaction which carries out two LOG opcodes. - let txn_gas_price = 10; - let txn_2 = hex!("f860010a830186a094095e7baea6a6c7c4c2dfeb977efac326af552e89808025a04a223955b0bd3827e3740a9a427d0ea43beb5bafa44a0204bf0a3306c8219f7ba0502c32d78f233e9e7ce9f5df3b576556d5d49731e0678fd5a068cdf359557b5b"); - - let mut contract_code = HashMap::new(); - contract_code.insert(keccak(vec![]), vec![]); - contract_code.insert(code_hash, code.to_vec()); - - // Update the state and receipt tries after the transaction, so that we have the - // correct expected tries: Update accounts. - let beneficiary_account_after = AccountRlp { - nonce: 1.into(), - ..AccountRlp::default() - }; - - let sender_balance_after = sender_balance_after - gas_used * txn_gas_price; - let sender_account_after = AccountRlp { - balance: sender_balance_after, - nonce: 2.into(), - ..AccountRlp::default() - }; - let balance_after = to_account_after.balance; - let to_account_after = AccountRlp { - balance: balance_after, - ..AccountRlp::default() - }; - let to_account_second_after = AccountRlp { - balance: to_account_second_before.balance, - code_hash, - ..AccountRlp::default() - }; - - // Update the receipt trie. - let first_log = LogRlp { - address: to.into(), - topics: vec![], - data: Bytes::new(), - }; - - let second_log = LogRlp { - address: to.into(), - topics: vec![ - hex!("0000000000000000000000000000000000000000000000000000000000000062").into(), /* dec: 98 */ - hex!("0000000000000000000000000000000000000000000000000000000000000063").into(), /* dec: 99 */ - ], - data: hex!("a1b2c3d4e5").to_vec().into(), - }; - - let receipt = LegacyReceiptRlp { - status: true, - cum_gas_used: (22570 + 21000).into(), - bloom: hex!("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000001000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000800000000000000008000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000800002000000000000000000000000000").to_vec().into(), - logs: vec![first_log, second_log], - }; - - let receipt_nibbles = Nibbles::from_str("0x01").unwrap(); // RLP(1) = 0x1 - - receipts_trie.insert(receipt_nibbles, rlp::encode(&receipt).to_vec())?; - - // Update the state trie. - let mut expected_state_trie_after = HashedPartialTrie::from(Node::Empty); - expected_state_trie_after.insert( - beneficiary_nibbles, - rlp::encode(&beneficiary_account_after).to_vec(), - )?; - expected_state_trie_after - .insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec())?; - expected_state_trie_after.insert(to_nibbles, rlp::encode(&to_account_after).to_vec())?; - expected_state_trie_after.insert( - to_second_nibbles, - rlp::encode(&to_account_second_after).to_vec(), - )?; - - transactions_trie.insert(Nibbles::from_str("0x01").unwrap(), txn_2.to_vec())?; - - let block_1_state_root = expected_state_trie_after.hash(); - - let trie_roots_after = TrieRoots { - state_root: block_1_state_root, - transactions_root: transactions_trie.hash(), - receipts_root: receipts_trie.hash(), - }; - - let inputs = GenerationInputs { - signed_txn: Some(txn_2.to_vec()), - withdrawals: vec![], - tries: tries_before, - trie_roots_after: trie_roots_after.clone(), - contract_code, - checkpoint_state_trie_root, - block_metadata: block_1_metadata, - txn_number_before: 1.into(), - gas_used_before: gas_used_second, - gas_used_after: receipt.cum_gas_used, - block_hashes: BlockHashes { - prev_hashes: block_hashes.clone(), - cur_hash: block_1_hash, - }, - }; - - let mut timing = TimingTree::new("prove root second", log::Level::Info); - let (root_proof_second, public_values_second) = - all_circuits.prove_root(&all_stark, &config, inputs, &mut timing, None.clone())?; - timing.filter(Duration::from_millis(100)).print(); - - all_circuits.verify_root(root_proof_second.clone())?; - - let (agg_proof, updated_agg_public_values) = all_circuits.prove_aggregation( - false, - &root_proof_first, - public_values_first, - false, - &root_proof_second, - public_values_second, - )?; - all_circuits.verify_aggregation(&agg_proof)?; - let (first_block_proof, _block_public_values) = - all_circuits.prove_block(None, &agg_proof, updated_agg_public_values)?; - all_circuits.verify_block(&first_block_proof)?; - - // Prove the next, empty block. - - let block_2_hash = - H256::from_str("0x0123456789101112131415161718192021222324252627282930313233343536")?; - block_hashes[255] = block_1_hash; - - let block_2_metadata = BlockMetadata { - block_beneficiary: Address::from(beneficiary), - block_timestamp: 0x03e8.into(), - block_number: 2.into(), - block_difficulty: 0x020000.into(), - block_gaslimit: 0x445566u32.into(), - block_chain_id: 1.into(), - block_base_fee: 0xa.into(), - ..Default::default() - }; - - let mut contract_code = HashMap::new(); - contract_code.insert(keccak(vec![]), vec![]); - - let inputs = GenerationInputs { - signed_txn: None, - withdrawals: vec![], - tries: TrieInputs { - state_trie: expected_state_trie_after, - transactions_trie: Node::Empty.into(), - receipts_trie: Node::Empty.into(), - storage_tries: vec![], - }, - trie_roots_after: TrieRoots { - state_root: trie_roots_after.state_root, - transactions_root: HashedPartialTrie::from(Node::Empty).hash(), - receipts_root: HashedPartialTrie::from(Node::Empty).hash(), - }, - contract_code, - checkpoint_state_trie_root: block_1_state_root, // We use block 1 as new checkpoint. - block_metadata: block_2_metadata, - txn_number_before: 0.into(), - gas_used_before: 0.into(), - gas_used_after: 0.into(), - block_hashes: BlockHashes { - prev_hashes: block_hashes, - cur_hash: block_2_hash, - }, - }; - - let (root_proof, public_values) = - all_circuits.prove_root(&all_stark, &config, inputs, &mut timing, None)?; - all_circuits.verify_root(root_proof.clone())?; - - // We can just duplicate the initial proof as the state didn't change. - let (agg_proof, updated_agg_public_values) = all_circuits.prove_aggregation( - false, - &root_proof, - public_values.clone(), - false, - &root_proof, - public_values, - )?; - all_circuits.verify_aggregation(&agg_proof)?; - - let (second_block_proof, _block_public_values) = all_circuits.prove_block( - None, // We don't specify a previous proof, considering block 1 as the new checkpoint. - &agg_proof, - updated_agg_public_values, - )?; - all_circuits.verify_block(&second_block_proof) -} - /// Values taken from the block 1000000 of Goerli: https://goerli.etherscan.io/txs?block=1000000 #[test] fn test_txn_and_receipt_trie_hash() -> anyhow::Result<()> { @@ -778,7 +388,3 @@ fn test_txn_and_receipt_trie_hash() -> anyhow::Result<()> { Ok(()) } - -fn init_logger() { - let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); -} diff --git a/evm_arithmetization/tests/self_balance_gas_cost.rs b/evm_arithmetization/tests/self_balance_gas_cost.rs deleted file mode 100644 index f4aa8a606..000000000 --- a/evm_arithmetization/tests/self_balance_gas_cost.rs +++ /dev/null @@ -1,197 +0,0 @@ -use std::collections::HashMap; -use std::str::FromStr; -use std::time::Duration; - -use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; -use ethereum_types::{Address, H256, U256}; -use evm_arithmetization::generation::mpt::{AccountRlp, LegacyReceiptRlp}; -use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; -use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; -use evm_arithmetization::prover::prove; -use evm_arithmetization::verifier::verify_proof; -use evm_arithmetization::{AllStark, Node, StarkConfig}; -use hex_literal::hex; -use keccak_hash::keccak; -use mpt_trie::nibbles::Nibbles; -use mpt_trie::partial_trie::{HashedPartialTrie, PartialTrie}; -use plonky2::field::goldilocks_field::GoldilocksField; -use plonky2::plonk::config::KeccakGoldilocksConfig; -use plonky2::util::timing::TimingTree; - -type F = GoldilocksField; -const D: usize = 2; -type C = KeccakGoldilocksConfig; - -/// The `selfBalanceGasCost` test case from https://github.com/ethereum/tests -#[test] -#[ignore] // Too slow to run on CI. -fn self_balance_gas_cost() -> anyhow::Result<()> { - init_logger(); - - let all_stark = AllStark::::default(); - let config = StarkConfig::standard_fast_config(); - - let beneficiary = hex!("2adc25665018aa1fe0e6bc666dac8fc2697ff9ba"); - let sender = hex!("a94f5374fce5edbc8e2a8697c15331677e6ebf0b"); - let to = hex!("1000000000000000000000000000000000000000"); - - let beneficiary_state_key = keccak(beneficiary); - let sender_state_key = keccak(sender); - let to_hashed = keccak(to); - - let beneficiary_nibbles = Nibbles::from_bytes_be(beneficiary_state_key.as_bytes()).unwrap(); - let sender_nibbles = Nibbles::from_bytes_be(sender_state_key.as_bytes()).unwrap(); - let to_nibbles = Nibbles::from_bytes_be(to_hashed.as_bytes()).unwrap(); - - let code = [ - 0x5a, 0x47, 0x5a, 0x90, 0x50, 0x90, 0x03, 0x60, 0x02, 0x90, 0x03, 0x60, 0x01, 0x55, 0x00, - ]; - let code_gas = 2 // GAS - + 5 // SELFBALANCE - + 2 // GAS - + 3 // SWAP1 - + 2 // POP - + 3 // SWAP1 - + 3 // SUB - + 3 // PUSH1 - + 3 // SWAP1 - + 3 // SUB - + 3 // PUSH1 - + 22100; // SSTORE - let code_hash = keccak(code); - - let beneficiary_account_before = AccountRlp { - nonce: 1.into(), - ..AccountRlp::default() - }; - let sender_account_before = AccountRlp { - balance: 0x3635c9adc5dea00000u128.into(), - ..AccountRlp::default() - }; - let to_account_before = AccountRlp { - code_hash, - ..AccountRlp::default() - }; - - let mut state_trie_before = HashedPartialTrie::from(Node::Empty); - state_trie_before.insert( - beneficiary_nibbles, - rlp::encode(&beneficiary_account_before).to_vec(), - )?; - state_trie_before.insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec())?; - state_trie_before.insert(to_nibbles, rlp::encode(&to_account_before).to_vec())?; - - let tries_before = TrieInputs { - state_trie: state_trie_before, - transactions_trie: Node::Empty.into(), - receipts_trie: Node::Empty.into(), - storage_tries: vec![(to_hashed, Node::Empty.into())], - }; - - let txn = hex!("f861800a8405f5e10094100000000000000000000000000000000000000080801ba07e09e26678ed4fac08a249ebe8ed680bf9051a5e14ad223e4b2b9d26e0208f37a05f6e3f188e3e6eab7d7d3b6568f5eac7d687b08d307d3154ccd8c87b4630509b"); - - let gas_used = 21_000 + code_gas; - - let block_metadata = BlockMetadata { - block_beneficiary: Address::from(beneficiary), - block_difficulty: 0x20000.into(), - block_number: 1.into(), - block_chain_id: 1.into(), - block_timestamp: 0x03e8.into(), - block_gaslimit: 0xff112233u32.into(), - block_gas_used: gas_used.into(), - block_bloom: [0.into(); 8], - block_base_fee: 0xa.into(), - block_random: Default::default(), - }; - - let mut contract_code = HashMap::new(); - contract_code.insert(keccak(vec![]), vec![]); - contract_code.insert(code_hash, code.to_vec()); - - let expected_state_trie_after = { - let beneficiary_account_after = AccountRlp { - nonce: 1.into(), - ..AccountRlp::default() - }; - let sender_account_after = AccountRlp { - balance: sender_account_before.balance - U256::from(gas_used) * U256::from(10), - nonce: 1.into(), - ..AccountRlp::default() - }; - let to_account_after = AccountRlp { - code_hash, - // Storage map: { 1 => 5 } - storage_root: HashedPartialTrie::from(Node::Leaf { - nibbles: Nibbles::from_h256_be(keccak(pad32(1))), - value: vec![5], - }) - .hash(), - ..AccountRlp::default() - }; - let mut expected_state_trie_after = HashedPartialTrie::from(Node::Empty); - expected_state_trie_after.insert( - beneficiary_nibbles, - rlp::encode(&beneficiary_account_after).to_vec(), - )?; - expected_state_trie_after - .insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec())?; - expected_state_trie_after.insert(to_nibbles, rlp::encode(&to_account_after).to_vec())?; - expected_state_trie_after - }; - - let receipt_0 = LegacyReceiptRlp { - status: true, - cum_gas_used: gas_used.into(), - bloom: vec![0; 256].into(), - logs: vec![], - }; - let mut receipts_trie = HashedPartialTrie::from(Node::Empty); - receipts_trie.insert( - Nibbles::from_str("0x80").unwrap(), - rlp::encode(&receipt_0).to_vec(), - )?; - let transactions_trie: HashedPartialTrie = Node::Leaf { - nibbles: Nibbles::from_str("0x80").unwrap(), - value: txn.to_vec(), - } - .into(); - - let trie_roots_after = TrieRoots { - state_root: expected_state_trie_after.hash(), - transactions_root: transactions_trie.hash(), - receipts_root: receipts_trie.hash(), - }; - let inputs = GenerationInputs { - signed_txn: Some(txn.to_vec()), - withdrawals: vec![], - tries: tries_before, - trie_roots_after, - contract_code, - checkpoint_state_trie_root: HashedPartialTrie::from(Node::Empty).hash(), - block_metadata, - txn_number_before: 0.into(), - gas_used_before: 0.into(), - gas_used_after: gas_used.into(), - block_hashes: BlockHashes { - prev_hashes: vec![H256::default(); 256], - cur_hash: H256::default(), - }, - }; - - let mut timing = TimingTree::new("prove", log::Level::Debug); - let proof = prove::(&all_stark, &config, inputs, &mut timing, None)?; - timing.filter(Duration::from_millis(100)).print(); - - verify_proof(&all_stark, proof, &config) -} - -fn pad32(byte: u8) -> Vec { - let mut data = vec![0; 31]; - data.push(byte); - data -} - -fn init_logger() { - let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); -} diff --git a/evm_arithmetization/tests/selfdestruct.rs b/evm_arithmetization/tests/selfdestruct.rs index 0ef48d2f4..708646e16 100644 --- a/evm_arithmetization/tests/selfdestruct.rs +++ b/evm_arithmetization/tests/selfdestruct.rs @@ -1,12 +1,16 @@ use std::str::FromStr; use std::time::Duration; -use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; -use ethereum_types::{Address, BigEndianHash, H256, U256}; +use ethereum_types::{Address, BigEndianHash, H256}; use evm_arithmetization::generation::mpt::{AccountRlp, LegacyReceiptRlp}; use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; use evm_arithmetization::prover::prove; +use evm_arithmetization::testing_utils::{ + beacon_roots_account_nibbles, beacon_roots_contract_from_storage, eth_to_wei, + ger_account_nibbles, init_logger, preinitialized_state_and_storage_tries, + update_beacon_roots_account_storage, GLOBAL_EXIT_ROOT_ACCOUNT, +}; use evm_arithmetization::verifier::verify_proof; use evm_arithmetization::{AllStark, Node, StarkConfig}; use hex_literal::hex; @@ -56,7 +60,8 @@ fn test_selfdestruct() -> anyhow::Result<()> { code_hash: keccak(&code), }; - let mut state_trie_before = HashedPartialTrie::from(Node::Empty); + let (mut state_trie_before, storage_tries) = preinitialized_state_and_storage_tries()?; + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); state_trie_before.insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec())?; state_trie_before.insert(to_nibbles, rlp::encode(&to_account_before).to_vec())?; @@ -64,7 +69,7 @@ fn test_selfdestruct() -> anyhow::Result<()> { state_trie: state_trie_before, transactions_trie: HashedPartialTrie::from(Node::Empty), receipts_trie: HashedPartialTrie::from(Node::Empty), - storage_tries: vec![], + storage_tries, }; // Generated using a little py-evm script. @@ -80,13 +85,22 @@ fn test_selfdestruct() -> anyhow::Result<()> { block_chain_id: 1.into(), block_base_fee: 0xa.into(), block_gas_used: 26002.into(), - block_bloom: [0.into(); 8], + ..Default::default() }; - let contract_code = [(keccak(&code), code), (keccak([]), vec![])].into(); + let contract_code = [(keccak(&code), code.clone()), (keccak([]), vec![])].into(); let expected_state_trie_after: HashedPartialTrie = { let mut state_trie_after = HashedPartialTrie::from(Node::Empty); + + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + )?; + let beacon_roots_account = + beacon_roots_contract_from_storage(&beacon_roots_account_storage); + let sender_account_after = AccountRlp { nonce: 6.into(), balance: eth_to_wei(110_000.into()) - 26_002 * 0xa, @@ -94,6 +108,25 @@ fn test_selfdestruct() -> anyhow::Result<()> { code_hash: keccak([]), }; state_trie_after.insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec())?; + + // EIP-6780: The account won't be deleted because it wasn't created during this + // transaction. + let to_account_before = AccountRlp { + nonce: 12.into(), + balance: 0.into(), + storage_root: HashedPartialTrie::from(Node::Empty).hash(), + code_hash: keccak(&code), + }; + state_trie_after.insert(to_nibbles, rlp::encode(&to_account_before).to_vec())?; + state_trie_after.insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + )?; + state_trie_after.insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + )?; + state_trie_after }; @@ -122,6 +155,7 @@ fn test_selfdestruct() -> anyhow::Result<()> { let inputs = GenerationInputs { signed_txn: Some(txn.to_vec()), withdrawals: vec![], + global_exit_roots: vec![], tries: tries_before, trie_roots_after, contract_code, @@ -142,12 +176,3 @@ fn test_selfdestruct() -> anyhow::Result<()> { verify_proof(&all_stark, proof, &config) } - -fn eth_to_wei(eth: U256) -> U256 { - // 1 ether = 10^18 wei. - eth * U256::from(10).pow(18.into()) -} - -fn init_logger() { - let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); -} diff --git a/evm_arithmetization/tests/simple_transfer.rs b/evm_arithmetization/tests/simple_transfer.rs index 8adbc1c42..030b2c3e1 100644 --- a/evm_arithmetization/tests/simple_transfer.rs +++ b/evm_arithmetization/tests/simple_transfer.rs @@ -2,12 +2,16 @@ use std::collections::HashMap; use std::str::FromStr; use std::time::Duration; -use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; use ethereum_types::{Address, BigEndianHash, H256, U256}; use evm_arithmetization::generation::mpt::{AccountRlp, LegacyReceiptRlp}; use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; use evm_arithmetization::prover::prove; +use evm_arithmetization::testing_utils::{ + beacon_roots_account_nibbles, beacon_roots_contract_from_storage, eth_to_wei, + ger_account_nibbles, init_logger, preinitialized_state_and_storage_tries, + update_beacon_roots_account_storage, GLOBAL_EXIT_ROOT_ACCOUNT, +}; use evm_arithmetization::verifier::verify_proof; use evm_arithmetization::{AllStark, Node, StarkConfig}; use hex_literal::hex; @@ -48,17 +52,15 @@ fn test_simple_transfer() -> anyhow::Result<()> { }; let to_account_before = AccountRlp::default(); - let state_trie_before = Node::Leaf { - nibbles: sender_nibbles, - value: rlp::encode(&sender_account_before).to_vec(), - } - .into(); + let (mut state_trie_before, storage_tries) = preinitialized_state_and_storage_tries()?; + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); + state_trie_before.insert(sender_nibbles, rlp::encode(&sender_account_before).to_vec())?; let tries_before = TrieInputs { state_trie: state_trie_before, transactions_trie: HashedPartialTrie::from(Node::Empty), receipts_trie: HashedPartialTrie::from(Node::Empty), - storage_tries: vec![], + storage_tries, }; // Generated using a little py-evm script. @@ -75,16 +77,26 @@ fn test_simple_transfer() -> anyhow::Result<()> { block_chain_id: 1.into(), block_base_fee: 0xa.into(), block_gas_used: 21032.into(), - block_bloom: [0.into(); 8], + ..Default::default() }; let mut contract_code = HashMap::new(); contract_code.insert(keccak(vec![]), vec![]); let expected_state_trie_after: HashedPartialTrie = { + let mut state_trie_after = HashedPartialTrie::from(Node::Empty); + let txdata_gas = 2 * 16; let gas_used = 21_000 + txdata_gas; + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + )?; + let beacon_roots_account = + beacon_roots_contract_from_storage(&beacon_roots_account_storage); + let sender_account_after = AccountRlp { balance: sender_account_before.balance - value - gas_used * 10, nonce: sender_account_before.nonce + 1, @@ -95,22 +107,19 @@ fn test_simple_transfer() -> anyhow::Result<()> { ..to_account_before }; - let mut children = core::array::from_fn(|_| Node::Empty.into()); - children[sender_nibbles.get_nibble(0) as usize] = Node::Leaf { - nibbles: sender_nibbles.truncate_n_nibbles_front(1), - value: rlp::encode(&sender_account_after).to_vec(), - } - .into(); - children[to_nibbles.get_nibble(0) as usize] = Node::Leaf { - nibbles: to_nibbles.truncate_n_nibbles_front(1), - value: rlp::encode(&to_account_after).to_vec(), - } - .into(); - Node::Branch { - children, - value: vec![], - } - .into() + state_trie_after.insert(sender_nibbles, rlp::encode(&sender_account_after).to_vec())?; + state_trie_after.insert(to_nibbles, rlp::encode(&to_account_after).to_vec())?; + + state_trie_after.insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + )?; + state_trie_after.insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + )?; + + state_trie_after }; let receipt_0 = LegacyReceiptRlp { @@ -138,6 +147,7 @@ fn test_simple_transfer() -> anyhow::Result<()> { let inputs = GenerationInputs { signed_txn: Some(txn.to_vec()), withdrawals: vec![], + global_exit_roots: vec![], tries: tries_before, trie_roots_after, contract_code, @@ -158,12 +168,3 @@ fn test_simple_transfer() -> anyhow::Result<()> { verify_proof(&all_stark, proof, &config) } - -fn eth_to_wei(eth: U256) -> U256 { - // 1 ether = 10^18 wei. - eth * U256::from(10).pow(18.into()) -} - -fn init_logger() { - let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); -} diff --git a/evm_arithmetization/tests/two_to_one_block.rs b/evm_arithmetization/tests/two_to_one_block.rs index fe387cee2..fe479bf65 100644 --- a/evm_arithmetization/tests/two_to_one_block.rs +++ b/evm_arithmetization/tests/two_to_one_block.rs @@ -87,8 +87,7 @@ fn empty_transfer(timestamp: u64) -> anyhow::Result { block_gaslimit: 0xff112233u32.into(), block_chain_id: 1.into(), block_base_fee: 0xa.into(), - block_gas_used: 0.into(), - block_bloom: [0.into(); 8], + ..Default::default() }; let contract_code = HashMap::new(); @@ -178,6 +177,7 @@ fn get_test_block_proof( gas_used_before: inputs.gas_used_after, gas_used_after: inputs.gas_used_after, signed_txn: None, + global_exit_roots: vec![], withdrawals: vec![], tries: TrieInputs { state_trie: HashedPartialTrie::from(Node::Hash(inputs.trie_roots_after.state_root)), diff --git a/evm_arithmetization/tests/withdrawals.rs b/evm_arithmetization/tests/withdrawals.rs index 7f133518b..e17b775b1 100644 --- a/evm_arithmetization/tests/withdrawals.rs +++ b/evm_arithmetization/tests/withdrawals.rs @@ -1,12 +1,16 @@ use std::collections::HashMap; use std::time::Duration; -use env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; use ethereum_types::{H160, H256, U256}; use evm_arithmetization::generation::mpt::AccountRlp; use evm_arithmetization::generation::{GenerationInputs, TrieInputs}; use evm_arithmetization::proof::{BlockHashes, BlockMetadata, TrieRoots}; use evm_arithmetization::prover::prove; +use evm_arithmetization::testing_utils::{ + beacon_roots_account_nibbles, beacon_roots_contract_from_storage, ger_account_nibbles, + init_logger, preinitialized_state_and_storage_tries, update_beacon_roots_account_storage, + GLOBAL_EXIT_ROOT_ACCOUNT, +}; use evm_arithmetization::verifier::verify_proof; use evm_arithmetization::{AllStark, Node, StarkConfig}; use keccak_hash::keccak; @@ -29,12 +33,15 @@ fn test_withdrawals() -> anyhow::Result<()> { let all_stark = AllStark::::default(); let config = StarkConfig::standard_fast_config(); - let block_metadata = BlockMetadata::default(); + let block_metadata = BlockMetadata { + block_timestamp: 1.into(), + ..BlockMetadata::default() + }; - let state_trie_before = HashedPartialTrie::from(Node::Empty); + let (state_trie_before, storage_tries) = preinitialized_state_and_storage_tries()?; + let mut beacon_roots_account_storage = storage_tries[0].1.clone(); let transactions_trie = HashedPartialTrie::from(Node::Empty); let receipts_trie = HashedPartialTrie::from(Node::Empty); - let storage_tries = vec![]; let mut contract_code = HashMap::new(); contract_code.insert(keccak(vec![]), vec![]); @@ -44,6 +51,14 @@ fn test_withdrawals() -> anyhow::Result<()> { let state_trie_after = { let mut trie = HashedPartialTrie::from(Node::Empty); + update_beacon_roots_account_storage( + &mut beacon_roots_account_storage, + block_metadata.block_timestamp, + block_metadata.parent_beacon_block_root, + )?; + let beacon_roots_account = + beacon_roots_contract_from_storage(&beacon_roots_account_storage); + let addr_state_key = keccak(withdrawals[0].0); let addr_nibbles = Nibbles::from_bytes_be(addr_state_key.as_bytes()).unwrap(); let account = AccountRlp { @@ -51,6 +66,15 @@ fn test_withdrawals() -> anyhow::Result<()> { ..AccountRlp::default() }; trie.insert(addr_nibbles, rlp::encode(&account).to_vec())?; + trie.insert( + beacon_roots_account_nibbles(), + rlp::encode(&beacon_roots_account).to_vec(), + )?; + trie.insert( + ger_account_nibbles(), + rlp::encode(&GLOBAL_EXIT_ROOT_ACCOUNT).to_vec(), + )?; + trie }; @@ -63,6 +87,7 @@ fn test_withdrawals() -> anyhow::Result<()> { let inputs = GenerationInputs { signed_txn: None, withdrawals, + global_exit_roots: vec![], tries: TrieInputs { state_trie: state_trie_before, transactions_trie, @@ -88,7 +113,3 @@ fn test_withdrawals() -> anyhow::Result<()> { verify_proof(&all_stark, proof, &config) } - -fn init_logger() { - let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); -} diff --git a/mpt_trie/Cargo.toml b/mpt_trie/Cargo.toml index 46a14df26..0d64fafa6 100644 --- a/mpt_trie/Cargo.toml +++ b/mpt_trie/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "mpt_trie" description = "Types and utility functions for building/working with partial Ethereum tries." -version = "0.3.0" +version = "0.4.1" authors = ["Polygon Zero "] readme = "README.md" edition.workspace = true @@ -9,9 +9,7 @@ license.workspace = true repository.workspace = true homepage.workspace = true -exclude = [ - "test_data/*" -] +exclude = ["test_data/*"] [dependencies] bytes = { workspace = true } diff --git a/mpt_trie/src/builder.rs b/mpt_trie/src/builder.rs index 1e0e06bd3..48475f4d2 100644 --- a/mpt_trie/src/builder.rs +++ b/mpt_trie/src/builder.rs @@ -28,7 +28,7 @@ pub struct PartialTrieBuilder { impl PartialTrieBuilder { /// Creates a new `PartialTrieBuilder` with the given root and nodes. - pub fn new(root: H256, nodes: HashMap>) -> Self { + pub const fn new(root: H256, nodes: HashMap>) -> Self { PartialTrieBuilder { root, nodes, diff --git a/mpt_trie/src/nibbles.rs b/mpt_trie/src/nibbles.rs index a417dca4e..1079aa6d2 100644 --- a/mpt_trie/src/nibbles.rs +++ b/mpt_trie/src/nibbles.rs @@ -912,7 +912,7 @@ impl Nibbles { /// Returns a slice of the internal bytes of packed nibbles. /// Only the relevant bytes (up to `count` nibbles) are considered valid. - pub fn as_byte_slice(&self) -> &[u8] { + pub const fn as_byte_slice(&self) -> &[u8] { // Calculate the number of full bytes needed to cover 'count' nibbles let bytes_needed = (self.count + 1) / 2; // each nibble is half a byte diff --git a/proc_macro/Cargo.toml b/proc_macro/Cargo.toml index d2deca37f..c3ee894e4 100644 --- a/proc_macro/Cargo.toml +++ b/proc_macro/Cargo.toml @@ -1,10 +1,13 @@ [package] name = "zk_evm_proc_macro" +description = "Procedural Macros for Polygon Zero zkEVM" +authors = ["Polygon Zero"] version = "0.1.0" -publish = false edition.workspace = true license.workspace = true repository.workspace = true +homepage.workspace = true +keywords.workspace = true [lib] proc-macro = true diff --git a/proof_gen/Cargo.toml b/proof_gen/Cargo.toml index b5c9169c7..785fbe8b0 100644 --- a/proof_gen/Cargo.toml +++ b/proof_gen/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "proof_gen" description = "Generates block proofs from zero proof IR." -version = "0.2.0" +version = "0.4.0" authors = ["Polygon Zero "] edition.workspace = true license.workspace = true diff --git a/smt_trie/Cargo.toml b/smt_trie/Cargo.toml index f3008c5f7..d87658c3d 100644 --- a/smt_trie/Cargo.toml +++ b/smt_trie/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "smt_trie" description = "Types and utility functions for building/working with Polygon Hermez Sparse Merkle Trees." -version = "0.1.0" +version = "0.1.1" authors = ["William Borgeaud "] readme = "README.md" categories = ["cryptography"] diff --git a/smt_trie/src/bits.rs b/smt_trie/src/bits.rs index 4d2d2ed91..0fbcac0e1 100644 --- a/smt_trie/src/bits.rs +++ b/smt_trie/src/bits.rs @@ -44,14 +44,14 @@ impl Add for Bits { } impl Bits { - pub fn empty() -> Self { + pub const fn empty() -> Self { Bits { count: 0, packed: U256::zero(), } } - pub fn is_empty(&self) -> bool { + pub const fn is_empty(&self) -> bool { self.count == 0 } diff --git a/trace_decoder/Cargo.toml b/trace_decoder/Cargo.toml index f52075a9e..75be3bd6c 100644 --- a/trace_decoder/Cargo.toml +++ b/trace_decoder/Cargo.toml @@ -2,7 +2,7 @@ name = "trace_decoder" description = "Ethereum node witness -> Prover input" authors = ["Polygon Zero"] -version = "0.4.0" +version = "0.6.0" edition.workspace = true license.workspace = true repository.workspace = true @@ -39,7 +39,14 @@ winnow = { workspace = true } [dev-dependencies] criterion = { workspace = true } +pretty_env_logger = { workspace = true } serde_json = { workspace = true } +prover = { workspace = true } +serde_path_to_error = { workspace = true } +plonky2_maybe_rayon = { workspace = true } +alloy-rpc-types-eth = "0.1.4" +rstest = "0.21.0" + [[bench]] name = "block_processing" diff --git a/trace_decoder/benches/block_input.json b/trace_decoder/benches/block_input.json index 7656ff8ea..b38331453 100644 --- a/trace_decoder/benches/block_input.json +++ b/trace_decoder/benches/block_input.json @@ -2,2494 +2,2015 @@ "block_trace": { "trie_pre_images": { "combined": { - "compact": "0x01031e85b5f886ade8ee9e7e210f16a27adb24026e002d434ca4735a1ec145800b6a034eb6be299b29fbe703de9dce22db954687352bd16a7b91d8d554972e78cf95f20360fc6b8d1e9fe8eb75743177dcfec441ad3b6e2fdccf19a494858110a566d2da03924724e99479ddc7044698f36ffcee35143b1694ada322c93fa9e76487eb8eb50390af61f6f8c569a4820b206ca03eb0655a1cc5bc22fce5cddd68b51702165c2c033298c49c7c0db336da97d18bec56d3c86b302ec811d71fff171be56dc047488c0370dead8dbffe125a389ca1fc77248ae23fe5dc62f3586d006a5a86338bd38e9103e4ee3d1df854f70c5ea61aaf229661f1717656fae9a07018c66d7b2717c6ff25039486ff07dc731ae56bc80b3a44782495e86be48c2044c914f1a75bb6e4d472de0323a2e6e875b2a7b3bdfc3aba5d876d1848f9adcb8fe65eb559c15e2600470364037b6bb302deb13b92121e3d1da58d066f58a48d2f70d95dd6fd78a6ea95d7559303f1e3a9fe72df63a6333c76859b5b2ad0739dab7b10188e2549211336888324c4032988eff038159d0a4bbd1465a867f6cfb18391f698c10635aba88310897d727703613da70a775b9f8290961f5d6bedad2cb015cab9d07570bb0b6fdaf161fa609103fb3efad208e94081d6182a28eae9b6a4d19b438531e8aabb9a578bce1eaf887703b4988003c114b79243e8dce94544c0943e25a81834a7515a680250643f9ec6ca033744baf997b39aee100b681a9cfbaeb0d259eb2e82f131a6d51b821f9e1bcec503472178627356468437164bbd8feeb8e4caf6e62b3f653283ce836da1cb794cb303a5ae0995b6ccf02259b690a8d9eacb0d0b0f76063406ac8e96410b67c4ffe62e03cdb0358913eeb17a08719462a3ce4e03b9a743407cc3b539d7b89a682fc3dd030311725a5db9ba15799e6c8c68dcf95a1b3c89b410261b646115a6a90dfef06894039b3c47410275741437d40e25bb3ed533ffbc35e94afb79882cf10e87e1b75db9031421668d71829ab39ffd2152b67d722eacf9da3e37f391f48e0d70933b8815200387f0657b333570ae3807b4365dae3cf275296d57fa26600b5b66d342cccafe7e03b7d7244813a0d16f857fd33c7624179e6088d7df4c49e9eeeda4f37fdfec763f031f884a29218bf687aecb90e8653f8fe0df251430b16e3e1a49379cbd449d045f05581e03a9d63ae035921552ebedcfa9a32511745453671b6d69d334a1a3a92f90040103034cabb0f198faa08f46a121034601299852bf2cc5644d692f74ae34511b573c05581e03e09a0be45a13fc64423123cf7cb7788201236236a0df5e9753667bd38004020330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581d020058aacc8c38c9be04629c9b8d5b8c454691cc24039caa108f956dff07011bffffffffffffffff05581d02a2f364303cd585e0fcba15200031f63f5a2ebbf241fee0b24ff932470c13483d78704da649e48002190408036fa51610d9c1abfcff2aceba861aed60f4a1cb556339788bb63318fb7a8676a403ce93449ece3693777d4eedcbbc5b7dfb829fd11f776e839644dbe49a5de05a9e03f5134fff1d2a2726560cd3f8d31b12eb936f9159b41ef5b29c87b7499665be0305581e03cebe7a31e446fa7340d6c96dc309b9f3ceac38e935dac5b54b334f58400c02470eb7f466e2ec0005581e0394858e455d35438cea42ce144bb53ec4ffdd9024ceb2d2a5f8459081900c02470170586922500002197c570357ea99245997ba77b0379d07d536b644260eb03f4894ad74903385d92b7a32520346b8729d2f5cab6a9e03f0cd93449e4ad5e6f65d17a28a04fa2ac55baff2f16303fd59c1f1c6a13e5f313f56a17c30d9e13f6b9c47641e465c8739285cbb9f3c15034e079b27a365268d75a3bda5a154cbea23a130e64125b7e631b8d8e29010526e03590af9ecfac8053af358001fc9b455f263169dbec5848ac49a5d3344dcfa223a033e4e7171067c7ca2af331a3d8187995edbfbb6a94fd0a9208d0728323ed5695503a0c8d2478a9190eed1ef97ecad66f59f1a6dcb84508a628329a15e73cf0890030219ffff03243ed71cfc684ade7e69f5056520527f57435ae87d7bef96d79367dfae9d7a9d03cf5732c719db4b3b5d5ef1adde7d6a34e9891c729c1869812182acad0d6baa0b0320c5607871c64f6acbc28715487eb864d5304d825c1115f8cdef322a8bfe209703808d899411a2a9088a7653daa3b9d677b8d4cd1736db3b1c3270f882921c37d103e48c1f9cc6f8a95b33aadb8b89c7f73bc44ad48ce01684becb5a8280fcbe4e550348f7b5312bdb14fa9cd4e892b507ff3b86b61193bc91378f9a63244b0ad21ff603b609aa73896ce04552f7341a0025b393d2d83fd066d96e9e48468c408c069b6803831ce83b03f5b11299a7e726dbead5e04a97a85052b30562c792e7df0516594503eab7b533fc73a8e4db63c5cd032a60921e6a0e1030b1298b2fb7a0286524360f03510c4ea8435c95e1060505ddbf897b212c0a8b4daa95f82e18de4071d4557d760219ffff030ab17e41d6f0ab3ce3e784a06adae2f1fbb2ccd4eedeca7a1c9cc73d9997573403790807c1440c022f86fb98c25dc96039e41e36ac28c5f2ac7ab5297dc257c4320370b3e2d8088fd845bb3d9d10188d6cf0984fa3db2d8b2765064f85c542b5283b03565a74c4f0a45daccf254767a3e91ae2e8e9e796ea71183c3efafe7278c850d6030eb1baf5834e81c4a523edb9ef6835019ef93680f8dcfe96d10f1027a53ae6e103fb76deff0a08c69d8d4a91484bb0b3d93585a9f76a08231407afc173c15073610219ffff036754613966fe104a3b650dc9bce37c8924a699ddf1a2e783bf9d104a0282b3c3038d084bfeee8e62b07c2af056b955f1d8e58400a36edd053f76893eb19c31b141030527e28313c117c4e7093f0c62407e89b585e27ab531e143a8497082037f7849031665f90c92c0c4bd65c6eeff1423ec894261122cfe72fb89ebb933aa847d479203d2de41b36e6a0f33ffed200d12bdb4dae9cd8a2b893dd46d5cf35373fdf700d103eb9a914f19e7413397696791bff86ea708bd09388a0b0b2dd8464a8d0764baa1033fdf681b8338b4d0a448b527fd913bda9b8a6bbbb2074bc5158c60da26157c10037d02d6bb05b2d7ff137ed6460377e5479eff09fc3a07a110a565614ea6ebc49f031d3f1a35d6e2990d605ecb32c9be56f757a250b0de86b045537ec0f3f551aa94033e905eb39150d2c3e13f82dd50315e6963ea5715ede6b6c034656e7761e4b334034be60eb3e1a42e4a1004225ad50a49f495cf121ea395629e03409efb58936c690364878963d94584b72da4bb2402244ef93c3334f53274ec3d442f6d9bf2c3ecf503fd7a4e8d54f1125b2a68a4596ac5f7fe28bbd50a42054c6fd797539f88c97d2e0374b2fe9f92b0d537ec85fd26b63236d6924975190e904c9a5a7cb2ef25f59f3f03a990aa32e138bf4747e362a3267b9f3d4c98330404acb61fbc4b24863106c83e03ef5a806a2542ca6b4b6d3cc14d44b6c27760347d498d6010a972dd10c83e6830030c8913966342e000846fe1fb8f5fde6ecd1d2f3a5225609042e4d9a4600f88f803d4c6c007d3dfabec09a47d1c4071d338ab27dc91a64f0de08b16217799fe2b25034be2e5a804b8299e60f9dd89b7ef7451c990b7cc876fa5be1a26253c2cfdc735039e69820b13a15860083d6161b9fe61d6c69936dfde5b46325d8b2b30860be25e03ccd7f27c6a8db2235dba3d4aa3091817e2c207c68831661097ab9fc1fe0c0d0603337faafff181f60a02f7fe90f77b4254311f1aded0302ed14708dcb1e18aef0103ef31c970b9c95ae4b61b14cef795e12f28351a047c0a429ad6fcb1fa4c112a7503770642e582c41b457f7e22a898a8fd0a79976c334ea42b75c67f98bffcfefe7403a5501bb38823cd469131b4fd88d8b484da41a0812d089bc723a3fab7467998c603db9ca38fbb2f9d2a446a876e02b1907ae38bbc9872ef9777b9badd6d15307fdb036115064a071d2a531fbc05258436ce5a2147f5689979bdbb8af70929e08426fe04582d363d3d373d3d3d363d73391a04311e0bfc913ef6fa784773307c826104f05af43d82803e903d91602b57fd5bf303bfb222979b04faa57444c85cfe07a39b805cf26a06de239cf66147d4e9954ccc03d2922e24c8728b2d7704751e21b82b1f6ae92fbc4387d6f11eb9fa9c54fa349203bfc195dd7b92776da1b90744f6ee002dc476457a4ce17e26dc01439d76cd630d03883e00c73abf3120649fceb756168d50666a39a649855c13264f023205b7490f038aca54b07a0e7d8eb038690e4d68012a21cd4ef6a9b56acbb98e9ca0c9af3c7b034870e1bde49990ac658f8d67a9599fd3993f99314bc306de9372441bfd653f96036f93c5c776ac47f54511b86a050070978894bb204fea1d415fec611d7dec2f0a03d0fc494195f745b520d7a6689ac9fc9ee3e3a14dfbb06f3c338b5d840c73670303f9e6e2371ba63283efe14496c8154a61d7827625a1d199404d79158a58b4ce2800582003207e3389c5eecd4bbbd8d690b1a24612a16fe6885caaf69a3572c656758250581865ce9cbb7ef61cacd0c785eacdfe17649d1c5bcba676a858005820036669f7d3707a97c456cc8de7e62866f98837b8c9ae819f7e0675000e982990581865ce9cf780b1d1fc227bd3b68231fd8df82f883a9b014add0058200315894c301e2f5e791a76302672ce43f3516cb02999746530399295b989f9e049060000000000000001005820033e6d1d9d1ab0137807d2ca664516d583f9a637c04a29a5cc27158cdee2eca0581d020000000065ce9e83e6b9f6b9cc3dac911976008b131c2ca634d576c500582003a6df611b7645dee2e4bd804046b6b0eea7c8b0b9810d1a4731ff1170ae2860581d020000000065cea2a33055bc8db0a3998500bef8bc0980f03f47f8a3d4036cbe1c33ed69355316b7b922ab8a739cbc61c351359dd678bd2cec31c641e16300582003ae5ceb91bdd234ea91725c9a72e14ae2e2ef33b18e38ca679f55fb5afe0960581d020000000065ce9cdfeaeb42b770e662e653f0de9f4c6f1677102517b70058200310867ac7595d75836c6ee8ed7be54caaf19ee674a3b17e5bd636bd87367940581865ce9bfbc76cc21247b2dfa447f8e59951ce0a5ecf65830903994abf74e016fbb71d169f70bd03979c3d3ec0ca254226682d3d849959b4881c0058200394d33d09b273b939d6adb4cef17fae7c0f52cdc4af1e1ac75a1a711b91e92041010219d55f0317590994954356e6f15531b3db3cbedbafa6c6ce8ae43b2e828b45e6b6da7202037673a3a88dd053a55614ab3a2a95faa9b2fe74ef17da629694ca74a3d093164b03e6b36900e43b6027759acd4d25abf55455d2fc7e0367daf440276b1ef045b12303544ddf1b067432340e682858ed388009bc2e3d115fb62c4f6841438ed223b1e0034ea26d7ebf4ef2d8a6fe3ae06f842c40e10eb8a07534bf80f3d1a4aff4a639a303341541e498d452861a7dfecabb991375c09f73c07a87325ecd6e7c6e29bc9e9503013ea9676da47401b621edc45023433b8d1c1f11a2bcd91a6bc481da7b0160cb0219ffff03fd1c85689a57cd8eaeb059aedc4f3d4d139b8b04505bdd680d130f7e5aa21bce0312ba9fc8bec096b09fbc21a3fba085e770b793c1ad97b86b97275fd0b5491eb5037cdb7903bb6f52a13ffdee633474c32df9c16a472a216860e7fa9d2a19b4c1ca03b2abea5be3dffc48e01fece0b96ca4e81114e8daf64a47482fc82ead8efbb66e031457fa8d09bb8b716bd898a6979d1278fe17b86b5efe9407c2d3277d29853c3a03673a3afac880ea64338a3ab37be24fe95884ee985745d0b4fbe4c4e0d94afdfd037e44af8ce21a0db67b9b440467e2f1bf299e0c51414afe44d38055f8fd7c45a6039ce02bc84903da0561cd5e874754100e9269fa8c0a73f1a65aa8cdff50450575037cc6c3d3a07562def153996e404bbf4180e7828306e78fee5708f1b033ee72bd035b600877130270ebf07fdd225256a4d1c6d01c11cf1f36704a011215689a61f503dbb738bf57eebec7853927ea7f2e8d37fff70b6f3b0b253a67963a91b496a5d403aceb422ca8919aac10420ea5ab52307b12c0150990b056e9f92337b38505f67100582003ecd8c453f065e3125c6f8698a51ec5fab2e6f4a18b9e6cccc9214e9d034450581865cd29270c9d1a86bb304518d6718895dfcd006186e936bf005820034e4c0d7620f7d0b43224b9c810b2b6c4940ce0a53d5913ed32c85a80c0fe6041020058200314201c5d0f5c51892daed5ec5cfeeb9837a5c1a74dfa34898c55d380fbece0410203552aac22557c33913f3159d23c3ed454e6f0bff0c1138564f9a412a6d3377f4c0058200307cf9254e43f559f1b762faf9abb1c0d58bf74dd16b3f49a460bd66462c980581d020000000065cea15fa4ce7241b42df0d12b0fd44b674d9cbda4bc993c03b636a663f5c914b4aedce057ce3aa619e4eb99cbb976c245d42846abb0a7bcbf014109036a67d78b98590d805eb4a7a630b63615a262da20d7bc8d52fac94c157b95a60c00582003f0a6e0f1c1aa0fcdea0064d0c930a59e65828f6f0aa15ee3eab835779a0780581d020000000065cea183883b3dbeb71c19d6618461216fc5371f7a3a8f3a03ad3efe04e6cfe8c4c06c312a8bc6013b9cafcecb04879873e453aa0355c32fe303769036952362797f3cc8776eb0bc277d94b2ecbbe1c5e142f282166ecfc642e80219da6703b8286156fef25187ed85a413de48f6433abaf3ce708a020c40552242cf23eb0e03cf2678e71d2977f1240f6895481f0e8b06ea1298a71ebedb94b711b8d3abfe5c03cf846439d8b0048fc0f82ded1cb22c55b69f07db78262bb09d2ae4cb1f81d1bf03b6486be3530be9d42aa1c3d9cfe9e5b71f124348734ca0e4742a5d6ba3916a700219ffff036221997b8a7158291b6f89eafcdb725c27c25902133230b73a4e859d2d20955303f56f8461672e664706cb972a863161fde38c1b3358cb6fa66af454d349ebde5600582003b0333f67fa73714a15b105084d27caa8dba8790f4b4778cb96e21374f3be20490500000000000000000058200369e17be2e36ea1353e601b3686963ef29d7877742f34b83c2031fd16a4fd80581d020000000065ceb76705d88452ba2d7fb39462a3b5380793455169e00b005820036805f99ac8641c7ad420b878c4f1f75943bdfd48d4e2d0c4e4fa45aee37e40581865ce9cbb47b799c0f4240a84b2301606dd90acfa55f35354005820031107379139cdd0bc721fb834825f6a7498eccf4ee89e7c08c1e0354bf95070410300582003acb68abd7ea709b9c17eaf149746aac736fdfe034e2a9de095677f052a88a0581865ce9c1f84d680856334b33e0e5b038e5459eb80d18aaf7500582003e5e073ad452952941693e211bc81a7b0d41b28e557dd1e66da3e24b5a2cda0581d020000000065ceabc723d96859eeda1a911628070b071120639b769cc000581f029867f299fd13cbb91b74c679cfeb59946119269b2a71e7ebaa7808478c7b581865cd37aff8857fc8efb51a4f6fad1217602bd8a3bf596ad300581f026d10f4b7b401ce7e9efce032cc12c7defd8463d828023214f477ad46d769411902191400005820031ef0f30bef0ff3ce4b2309df1b304e8d00ca8c5801d7325c7cbfd1840f7a80581d020000000065ceee6fc602bbe267bb6d68efbc394e54d7b6faf035569502197ee20333cbc5a9ab37837d510a987b9d63274d7ec795c0c91c4ffc2c53dbf263c24f7f039cea487584e1a7cbe40d955a76050e0b8adc66b8f25b34bc469e7a7240adc356038efe3b782b3f8b78f789360618bf6f6aab4d72a4c5a620510a26d184cb5f0bdc03d716e12285e9492a38e32f1c147ad4bd1da0ccc7b8293956a2fb8c50581f35590319dfae67fc5c499859ebd160a7ed7f09cfcb3da194674dc674f8722250c226af00582003e56fa2de0055fdd3925fca8cdac6e0cf38572304153924491e1dbf5dbfff40490300000000000000030396bdea5cad1c6ae5ee3b446e5bdd82d74a2144c3603052904ea78a16b29e8ee0005820030924b6e1c000be21e14a160df969e4221f78a18af2472cec898c396e748680581d020000000065cea2a33055bc8db0a3998500bef8bc0980f03f47f8a3d40058200368f631c9e1c0340f68927c1d2aa41a129ba38ae8c6b110b6988d8a43aab890581d020000000065cf073b356ba80b538f83556dd49c8506fc16d6db0f24a600582003f4a28f93885c1bc95bee6fb8ad3e42133b1dff36da66f9fe4330f547bc03f0581d020000000065ce538f2797ea5cb0f027b85fe6d1cdb06c43e8d16c2664005820037e5f1bb98fba074b3f0cf4d75b369b43fb0db7f4471809cec6aebecfca0740581d020000000065cec9f7aee394a8e28be8b27d9a08e80c9a8ad6d72e52a600582003428265b62f719ff0d4fb1f738207adb86ac515f4d6a4e7a8fadcbd03e6bfe0581d020000000065cf3ccfd28a55f90d4676fa32d2abc4173fd81d7a2a6df8005820037968cb4f0eec12b57346e1b9198d0826ef5036147934104942c574bcb941f0581865ce9cc7ab4ce2a08cbea809692218dd7841f681b80069a900582003ec655cb41401fbf7f33466ec84a6b961f2706904e85c0078d1b7fe586e9e50490a000000000000000a0058200391a36d8b1a2d281f801521ffadfb4ffcbc29af86ea3621f269930b31fbb720581d020000000065cf5b833499543d5c9a4a3e16394b25bbee91e810e7ee0f0219dcbc03adc6890954c2e58c4cd31c88e2584f01984e80a330772d1a2a40e2ad60432c7a0362d67b8b1d42af2b4bebe39458e3feff52cccccad785cd11b59a9818521ad5e0037f4993647315e8c3e99b5fc9420058a7c2f9d66606010d38817fc202503d248303b266369f85c096daa1d0d982e66dcc9bec995c53dfc390f006da4d713b8f5dc303f6ee956b4ee388c411abd19389123e4dac96c29c8847dfd4c61f81ef29510a40005820038aaebcb3a8ab11cccbaef15a8a101a56dd9849627e81fa8873fda1c7b20cc04101005820038bb0f1002b6671537fffe72186a33e3df218f351faaf62c710c76875973be04102005820035725c991ec2f53fd7146dfbe4641eabf8db773a852276ffb26dd24a53c9520581865cb659b738025f325e6ab76686cc15df07291062907092c00582003914077b20a94f76b561b4326a692a2c7147e0fc5c19cbfdf5736e2e25fc62041010058200384469096bc1b441bd2d179993be252a9c05952728ac7ee0492c199a7fd9740490500000000000000050058200300167d0474008623cb911d842fc0d09d2ec3e7a08244cb1a3a969e98131c40581d020000000065cbb44375f7e47437580104bb1b6cc6cc4d9a325b23f14800582003d7f6803df911c63676ce797e077380dd71e533675f4e88999c4fc25dddf690581d020000000065cec3d31db2f40042d20e485032a652672f334ffe404e6100582003dfab5e4f6ce1943be60b6b2fad24cb586aeb701ebebfa215f7382f96508a50581d020000000065cec9d3aee394a8e28be8b27d9a08e80c9a8ad6d72e52a60058200339443ff17244ec3f0435d725d2be653347d4ebfafacc42bd31ace62b4a367049050000000000000005005820037a9c6741c4bf63c336d4565b8d0465c5d97ff0a2fb6ddabc40ad4cdecc8490410103132fee91ccc21334d18d3a23e368c4b2bed0112c833be491d559d8c0a397595e0058200338559972d8fba61f1ead3daba18b8034ba00eedc8d6bdbb653cd72c3029830581865cce0371005dce4211c7293b42453e711e5bcf4b7865da10219afde0390c1a485054b4451bad05a561203b847ab192738204a5d783ea6c517313885ce03377403cded75373c1d5eaecc2f6a26e5452086e91d756f0fc968308b629c116e0328462cff75ffb3370edbcd449adda3f0ea15962f765863922c077ffe016ad2be0219ffff03b52933b0e989ec80afe64ed0f90c7e1162dc6302c84721cf1c4dca92ba06364c0322f9a65d9715d7501a6dbaf3235f9d1fa508b2acbf41f8d4c8c29d445e8d7fe603ac1722825af0008897a08379bd1a2cfc30e311a9bbd16464a987950c593d80670311fe0a74eb7f3d524ba33fee36329ed510da6dcaccf9688650c5d0f86977aa8903c520e9108130081ea4fd42d4c7f52bc70b3aedb1cdaf532dc36ede3bca7116d103dc63ac667fc274abcaf1e2cccca1b7f58ac748d8cbc2a8d47748ca4506223d1f03987ef615513f088ec2eae55b7f4690a90f0a0a915d27500b8ffe245fc7f24cf003fedbad5dab84e68c06ddc9158d1f64c7be3814f3317fbec718b67d0c8c4ed406035da18c1f5c6ba57c6704e6aca5fe4952dd191f71faa4c59f76eabe639891aa7003fb4b8e2d0097f99e7946168b62323b3e2244c78d3b2cbe5f685ad3525d27d5b2030f7d910fd24fb60fec104fe51f1b23bb9d531e21ada81a9af7ced0cd24641a140307f1b7cd573f88ebf5af63364425a596cb14bd3e147f7a85f2fefd3f16b186830366ed08039519fb52189bd7088275e61a9caab76dc85ccdf985ff4a547463381b039e8a2291c99b468919270340dea9d99cc894d4f460d72996db9b03a918c57f6203336b0b9a7080668de6f9ef4d7ca5934ab9b420ed03fd42eb10ff4006dfdfcbc500582003abf8395e4d4c5597ea6bdc82b78c2c89d6625c6716039ddc75d0f568650aa0581d020000000065ceae5bf0b7b9aebde850472655c3d8a8462048ed81daec0058200393f885c53dd5fc9da3e922f74a274d4d5daae862c3e007e62fe0494c7a11a0581865cc8703a40557d86a6eec7aadc18a34561fdf37790f4a1b005820030a76e5f704b26d3c9ce6e309c9ea6fb34e06ed8c6690eb4fe0a131ec9b0180581d020000000065cf5b2368509acec5ebb895340d526e73254614a7999c50039abfb8edfa38b1ce7b6db828821bf278978472cb80f746b66a865b652c44d4dd005820037effda75305de95eb9f775ba59591ab4ecf612e180592c43c79cee231ab250490a000000000000000a0385ebae1185cba3d546b1e3fc29190981dd1c960935ba6c2a98c55d30d12811fc02199a5f036e366bbe87ac708fd1802f00eb0a4d2d2f86bd01f295d218ba25e0cfd3ee114903cb34dd80d9468d34a812080561bedb21c873093746776146883d82f539fc674703648218b669a91fa2752adeb80033b4f5c652af31d9f41abf13982d41a61b2aaa034d0f92b597516e73caee0d5d8c59eaa45dd6836f5e428419f201d5a4a65db8c6032220a2f31644e3cbfc0c1ed7c960d64a59498f3532331de0d6c03e7ec2a52ac80219ffff0390567d09e948ebafe0b543f64c56007d220a200eb2ccbf914c88b153074d174403530574140190fab331a834ce66a87779951c879779f75cf28026c8ce4b9595d7038e5bf6ed97632980635e98d1f8a837f8e706bbd358f022a13b733a711ae597e9039e2bd7d2e54c0a78a28de19a877e123a70a1a9c2a01395f48f85925b970530b903d621fab7016f1e5ca5c57da598f82f55a065fe09fbf558816b8bd57bc63ace02032296e61f24f3f203147f8eb048bcfeb9698f70819736a046e37f0098e63e8a1203ee028e811ca442fb8b1e2a9624bad8d85ed25d55fb23d2d194f0a8bbbc5af05403712702ad5b63fde58837710151151edcf7f2a76b3f5bbc76661facebbce108cc03edadebe95a4703e4a216a4ffa8ce5f5cb0e21370bae63edf3ded62dc9bee25170319cbf0e20ff6a35bcfbd5dde1bd4809c436556fe074399ca4242d0b4917c46d603aca6dcd16597006ff906bff1db8307e9a8858960a547b3470a4744737febb14f00582003d22113b37e13adca95f91701a795cc1de4770ad6463146861c41ef630c2e30581d020000000065ceab7f3ee1c068fc9653489a5d03ab925047efeeb4bc2600582003de4e17aff35bade0cc33fb2d26620989a966d1d766b78df0f23e18fd6a72c0581d020000000065ced4834a2c786651229175407d3a2d405d1998bcf40614005820036fe327cc90deb64f44caed35edf9a794da7c686dd9eccc93f6f81e5cd48480581d020000000065ce9f8be0bf1ba48d5d57eba4cea3d3e2d4960c82f87cb9005820034cfacb04be65af1ed19f0bb5deaca2c9e83b521e4c04b21eb195e27aa9a430581d020000000065ced6ff23d96859eeda1a911628070b071120639b769cc0034e58fb552068274b8c928c95b127e74a0ffa41974496b6d91cf8ed46b877b02800582003c08591ec5f96f3de240b109512b3be49ea79eaa1fe846991bbd4313a707910581d020000000065ceabd37bb3bc9893e0a7dfc9f634e7d90397d9cce95813005820036ac9fe4427ab5b3baef6615fc1720cdb2eaa95dca68a62086038b0f754a1a0581d020000000065cea663c1cb4efb797b953a7ea303e8f9110cc7c9b232a400581f02b15eca1dc78d12c17ff61650a9a6283737986151f7e6052169e9d33d13df4903000000000000000300581f029a5ce7cfe099a4b0b999ec26708051321ea00fee0359398c903c958f91cb41010219100400582003f479e3feee40d8f67a1262ac0aad43ece8b1b48b82389cba989434c43f3f60581d020000000065ce82332797ea5cb0f027b85fe6d1cdb06c43e8d16c2664005820034438c5c7efd6c4ae57859c0d420ea1a59e716d1c4c1337fe5e3f1e4423bd8041090219bcdc03e8c648ec756aa93309199b617244b533b4d28d6b20082a9d1c08ba2353a89221036421f4a92eb8cb85e475b273485b3aae4c0440c0ce80336aa0d5d2d66f9a265a0364a35dea9a5d4a1f6039a9fcb9676a5bc8a2ca0ff4a9abdb0d30f866609409eb033938ec524043946b8edb16e9d7de998af8c5912d5c024dd8d61cf89e87777a910219ffff03e9ac9116082e6eca2f23d2bcb086f5ac74100dc053a87acb13fd698df2d4e2b503c93c0f9aa5fba930c9053e7fe8858a2a600371534614ffd77d795992d50fa3ba00582003791732b012e1d205ae3dd00c78091fd444538aa500fcd034fe8801cb7fafe0581d020000000065cea6db4cb939550280914c2378bb91229145b44284e8740322d3341b26469762d3b667b6acb6c4ea392ba638a1c4de4d13f30486de93941d03cffec59101e1ef27df5f61602108b583e4a40843cc50cadb4dc5c380ab34cb22031cda50bea0a955c6b91220c6478b1cbdc13a2f3c54380138b967dc1de5d41fd100582003e3f884e3069e0099154086976936dd3df0a7cd71da9ba1d20d3c82a0a89ed0581d020000000065ceaa17a67c8970f1a1d98257a2e32fbecf307bbec388c003ae4ecd730fc7ce3f4c283ee7bfc3ac2969803eeab6e8b5fe6e0ec61d696f042a03d4479a9726125f246b0ef4db756d0b11965846ebbf57558a99940e1d6c2098cc03eab39e59796721ec865c6dcdfb170b97b93c3cea5bdc94492992ce40c1673b2100582003b0bde62a531e24faaaeb0c2e29ffdfeac5f548c2d5b8e9c0e146b6bb5b8bb0581d020000000065ceee6fc602bbe267bb6d68efbc394e54d7b6faf03556950058200386d13db89e58fd2b8c2f057200cb478ff288b67ab1f8c6fbae1ea58f770260410100582003aba143bf552d678fad4f1070dfcf1d6bb5b93f83a492718a3ef6738f55f2b04909000000000000000100582003d6367b2962eb255e06e0baef204dc03da99905b097c1cb83aa315b4deb83c0581d020000000065cec57731b47c9b70f6ed771457b99ed92585938e2c43cf0219fbd6035819f60865cf5f96d7a8162ebc4fd5b6a2b5844cb8dcc78dc55f82b1637ebdbd03aa19a692d75175216f33ab0b55d4417974e8904a32bc33eebbbf89564074d01203e3ff70c71b3397f11175a3b08f31d74456a66894976e0a8d4b36a31ae5798b1503c452b83a35a27fb66f9c657de9896374bb01a5863a9346f0a39f942d2dbab0bd03d8189a9da9aa297fc4b9997993d44adb6e91e8781f8614dc2d3b728a7131c18b00582003f74fa218313d4010ad27c53dd13f2facef0be96363ff89bee7f79b161b5660581d020000000065ceb76705d88452ba2d7fb39462a3b5380793455169e00b03c6d31301b6b9bb703d03cee5a3978b320df5e5b6ce26bdd02f64f5c48eff471b03adb71783fc605c801a9b84cdfdde4962b1d9ad01e6e1130668ba2733dac6470a005820037a5d3d6bafab8e3af0187ade11572eb64abaceb0aa07d7f27e55683b530a80490200000000000000000058200362a8794c95588da67ce3ed4f46f92e4ec0c96a0c0ae6720ef51ce31fa17290410103d16081c314518de0ff95005f5052ddb5aec0f6a4ae635267d69ebe6ae46bc5d400582003398ac739475d414c8e9ff4204c503debdbbdceab3dd418d12b66f599606de041010058200392d6ca3c815a950e7c3e8018ac162ffcd168a92dd8b3b65cfa003bfd1a0370410100582003f391bc2331448702237210d64470ae8da65f24fd01e2334df43d6af54779c0581d020000000065cea64ba8d6b42a88bd1aeb61e6b7dce475c964bd72eb1800581f02733c92731439f3a4d7eb5f835ae7b35182b3181c8d5efa4cce005d4ccf25410100581f022d1c5d3e14bca292c2e2cd7af2d9e2de8938bd8a7d63fe27b8e71186ba634901000000000000000100581f02495e25e09309ac02d1b1027048f2fc209b9880ea4b0dfb06328126f929ac581d020000000065cf49e3be13ceec920aff758e5a4012076648986e913b5202184a005820030050213ff04d28544bc592e1fd677150333b83546d63c1de42605ce32909e0581d020000000065cef38bcfbc8a1e9bc10343c452072ae1de9afcc468b71a0219733f03fa82ed857db257f6e03a02a314d23586ff9eec5c47feb68de38344855d4d8aa903c39e3ef57eb723e7629a73d23cb71485709c46f841d4693b95607d996ecb4d1b03115d86a6bb3c9bdb3a00c6af55eaf463ade75bf3873773be4914567378776afb00582003d155b702e8e1a28d7eb8ee383c15d3586add2ffc06d9762d1b2bd4ce51df30581d020000000065cefdf33504d2221b9a148d1ee14fab1668757899ce43e1005820037be7f0cb6f52eae5e160f66c664bab356b361eeec9cbfac773b54d5ba3c7d0581d020000000065ce9f4ff3cb88465f7ff4cb5b509a4fde91d8132c5c1ebd005820030ba77bde91789cf427ae6b10cc541fe34ca7bad5515f32fdb25ece8ab18370581d020000000065cec877fa019d5245d3ec6b6375ded5c8b83d528dcaae8703afd2d60eca4e8ca82ada40f0c23b9e71bdbec73616f2e0b7b114cc9632cfa333030f63f34f6f84c17de0702ecc1f19535229bfbabf17b5353129a400285a872de600582003ff57d603bfa59512061c9ab85814f7ca9b0a75aeb3ce35b1eb327513929120581d020000000065cee8f3715827b032ee079b013437acd7bf52dae797de77005820037568f07b515f3f768c5eb38eeec1fcb9d58b20ee2b8d1d8738a53e90bf5d60581d020000000065cede6786ad68874399b09a2428162e323f65b566f662e3039973fc60244539e4504b6fb4f78d6f123300d6a705dbb71bd1bcd5d7218a5ed9005820035caa8d66994b90ee3250703861fff57f0bc19d23e3f44c5f8ee24b23e39880581d020000000065ceabc723d96859eeda1a911628070b071120639b769cc002197e0b03800bd02bf1cd24f5fae3be73f6e07f66f1bd9a029affad50c0f1839b71ccd6690383b76c340abe0ffde5f24e991df712d0d8c41ab3cf4329757d15f8369b71916603a5cae6334e1355ee98bdba848f6ab6f43f0dcf1df01f85cc104c098214cfa2c503b8b69982dcc027e7513d56fba1c9323d33b6b69820da65275de827ba55adebda0219ffff034b1eae21443f24d2e1c411bf56b7765e062e2cbf83ed295ecf038dc95ee870e503e75f959deca307f7fe6dfbceaf0fb7d0a3db44de72e061fc830074e36e4a8c9a03deab301829fdefababee9f1102abb76ee2fd49de11e4de15a0afe24bf303dc45034b42e6399996a82da66c9242a03d6ef2dbae190334a80c57a7dfd4b1c9d5e92e03a9956b9a1428cbd59662f9c3f9e4539b5c18a0f722ba3efdb45f8efb27a8aef2033b7cad84cd5d515eaafcd9bc8bd36b499b497f778b104e5d69a6202f7ab44282032056817c44329f9a30dd4b950f13a3a0222f822c7ec43e613b70e4e19171b2560362fb47083763c2df6485479ea616a48cdc0e9b68a30e5eb72dfbd4ba59374bd103247ed6fd010b18126032ad11188928fff60f1dd93a53ce456beefe7ca2ca3bc5031ecb991d19b97103c58aa5c8801a887951541350e808859a57286caf47030a51039fdec83dbf3ca7e6ac0f5aa4a2ecd68154bca9c4b339c623a2afc0eedb828915030a755e839e00fc124e7f1faa9ad86dc45420ae9d999a431965b7d69cc7364f83032f60cbdd4e4758c3129a370e5efe9547335fb1770e474cb727a1b6388ce0a8500058200343f61985ab18b17d46ad48041075aab0ff38831f14dc0db9a1cc5ab380e940581d020000000065ceb3eff578a30eff86dc218afad6378c0159179aa474c003370310cb98bc429cb69bc9f3513215423b7315e3be60d9526e6b5dd9da1a334b005820038e66efec9530102f945667b2407b3d146557a8347c3a1bf7707cf08843a640410103948390ada0c83dd06a5135986d645457c05dbd4ab0e251858f2a32486c16067600581f0310a50873accc24c08fbfb600916ddbcc7a39cbc0c7241dc2069f01151440410200581f0339a07242d79802c2fdf047d071f7f2beb4d6def36a4b05fd7c595f59ab30581865ce9adbc3f8a62be827f4b535096545f6d43cdfba4493e30219404001410c00582003ddf01f20f5c269f83492a694fb8f6f6561f481e8226a4a994b8df757e6969041020385a644c0893e231dd2571f9118af4cda7b1bf51d2a3c49059abfd4d71330805c00582003f28cefe73e50dea0853948d5c7e09e10fca70f5c2bafe65f702030213c58e0581865ce9cf740dee5cfc1a4be17504624052d185de7e013a1f2033dda54a98a6f03876b4d1c9efd896e88873929ecab7254e4e03cf5376eb7fe8d0361ab228c77e459f65540c7d5691e181ec49c33e4267dc5009c35af8d8006668f0219d33d0304b9a1fa7304e48523262d62537da903b76efee6fd73e8350b5cb3f0d337ef1a03b3076d5584f1b537fe1c5fc5641e17e47c7a2c159e46350a8ab57639af2716b70325986f55ba4853302b8b65ba3a77104d5959a5376748d5d040987e1ca395411b0219ffff005820036e9797872e424bfb03fe309c70ab1ca031855e4dd3528bed8765870f43c3b0581d020000000065ceb4bb31d26cc38abf94be280162f75b2be3a9023128230058200343572bac90a0c6605b7cc1e84de22fac62e1ccad29d7be8da2925ad0b171904901000000000000000200582003a0561f055b365b3babd2cf5f3786eb0f367327e6763a98263aba7a2b143ef0410100581f02b0d40d1e6cb55458363bbf15035cc539ed756e88fb748a4994f51b94d739410200581f0254659433b6e9efb94501cf3ad78ca6977a5ddba89cf344d37dd57c9e8495581865ce9af3eca345b5c749b8a9299b154fb036020e13394eb70218a003d6fb5dfc73c2dc7341c423aae29bc24caba3f638c884471e72f89aac26e5f68503217a4c49dcd01cefa30ce44496b42dc5bd449f3a822f8e36ac7ce5779aab23680310f54540be5c194ed10c13f6ae9af0cb3fe01fd0a36453212269590034766fd0005820036758c248ac4e94c2d18ae6495fe7863f0f0e932859e5a125cc0567ca2a440049050000000000000005038cdb3f9e9b79a2e71e3a38c858cc027102551e07fe09480cf78eca84fe8cf145030f70b2c1fd7ce77b65b6362f0aea18d634189d07e977127b1e0859dc7969cdcc005820034ce9de9e6512a10c054628081a20058822d4fa5c3ae1090c162732b2044bf0581d020000000065cea38709e4ed8fa452dbfafbc0f6fd1b9330da589e2aff021976b700581f037f6f858b9af6c31f39e20bca4eadeade24895f3b52621cd0b1727736f9a0581d020000000065ce9f135f053607682dd0c44868e9215e79bb0917d07d9000581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6042115d020601410e00582003c4b8ef0ec8520a4d66117bc025128c7404c63dad4428c7970fc1a823d51220581d020000000065ced5439177530f4e09186db84523cc7e074a41fe958344005820039865a07774ded7d5b83e81ee70518a12c63e8b75fcb03941fa51752d65a6a0410103dac50380f34c74280f46c31d18d60c0e08fd590647b78ff25a02c633be2cd6df00582003e610b5c9e9d7249ce493281e661c825f71d2cc268f7eeae41b37198a7e1ea0581d020000000065cf03cf64eb6a5a1e4b00fc7640194d43e89f9d92345c4000582003ec1706dbff884237f26723c0d5db31b9d3a81e4b7a2d38b0aca93a81846f104919000000000000000000582003815b8fc9a27c9521a3a1d6b31793c44a2193b90bd14804ea5fea541404af90581d020000000065ceb0fbc6cf0a45ad27d4c3dfd1d3ce00f44ded58c7a3e9005820034a51d648fc5bbc7990dc390df0f7eb17ab34a699ad9ed2425cbb15dd011090581d020000000065cea00398e8c7da764cfbcbcabc54171acd0af5f6e6ba26021951ad03251f5f8b7423788a6abd6b4e011e711de457301061988628e328cf02338d497d035401cf5b65833ae399e248278a04a96f1630f7e16fbcd86df2095fda7041ba0e0345a9ef8ec59a0964866cc0a2bf3b1d9bc0b447c99462377965b0099a8b47cd1b0338402e9e8bb148ebc05e92642f09516f7a24088d6102088f9ca22ad18f2eb01c0343b73214e032aa18f4513ca1773fe274f9a0ed0fd05516fe2b190ce33d5a0bac03d7262f7ddc0a0926da4307424051561a6082362ca61151d00ca4ed7ce89c1593035df19d1267c1f96506e1d7e285e28adcd6ea61fa09357b046dfd8edf9a006f3003286497030d72ff92768d488a60f076ff3db36d594ef06d4a48bd272c5af07ad003c31d70f0777fcf575982c662a68513a5a6af9f7c1087757402ca77e94c0f7cbe032ea8c4b9939c07c179184eee4229ae6b1ea541169600fe622536fb9dc2e6bfc703e8ac42321bbd2c3e81e260f79a92a17a56bece9f625ad33e0f0b2da24270b282005820037a42874c50adc5d8fb8186e8346ee249c34ef92cc3156fa2977f2cc358b500581865cbd58ba42900e8641c6a8159cb7c66346b67bf19923ac300582003614c543624fbefda7d7b580b8650c4fc5ef89c8efe11b385ba4e60b226c840581d020000000065ce8a072797ea5cb0f027b85fe6d1cdb06c43e8d16c266400582003bc8e9fabf09e4dd7d2e934e3d6b266ae6d1d913044cefc4f72b18f0a2a9a00581865ccebb39b43a664d2432c6d1f38287ce0515935f182ddf500582003a5ae0cb87bc5544c8b5bde56e89867c75d8b590bcd396a2d855eed2d1cc8e049020000000000000002005820039da64892628296511379a8867b58bd4f5cc1bb4c9701f6f4c99670b0907a10490300000000000000030058200364f8295e0ae89d8e69362b705c8922c2527369b9c561ef8f739d34fd18bdb0581d020000000065ceae975572fc084df6d7126215ac7547b4d3571de538570058200318b0bb13dbf973a4ea5ca921c60daf592d20ff5230c5091b05e54daea7b4804101031d425591a25542afe0ca30faf8581d8212b5703509408090c7017deeb3845f7d0315940d9be7e1bbe712b3cc2f6cff04b69a5991bcc7003a9aef3520c238f8f9c500582003af57205b3503e121e87049aa011cbb50ea6bd2fa146d9bb7137dc3dc20e790581d020000000065cc9cf35c6add67116a5c56e74b24c0d1845c452fe1997d0219bce6031fc6110a5218c1c780284e611766f187def5c27e9106d16390c12da229e3f826033da300eb84eda70a3593af414fe24503e5399c773109492a5e65b011a83d8a640058200318cc11482725b805545b2721bc334b4a978712befe5bcb71151049153f09b0581d020000000065ceabc723d96859eeda1a911628070b071120639b769cc000582003fbc6980f8ac14cd2d8da5cfe61d9e1990a3206ddc8a36370aa21857cbf1850581865ce9a1b3df772d9c8849b7d52909d6b4f1a9bcbb8240222005820030c074491e2641f8ad4fb07728cf97cf944a2dc157d66b5150f3d10ee7d9710410200582003df7f876b001b4751dc4192ba32a8ff5e6ddd4c63a6577dfd8a6dd991dc4f90494b000000000000000a00582003227d1c5043d2e5822e04e05b097bcc485811d7fc133971f4c7cfe30ae522f0581865cd47e77f33dd98659f9968a2d77c64a6a38add3c49f014005820032eb5fc0d2ecfaa953189a58bd98d378d57c80c98877913471064750a0dcbe0581d020000000065cf3ccfd28a55f90d4676fa32d2abc4173fd81d7a2a6df80219b82a0219ffff03e193a32f8beb01ad6b262469a534abd501ff84be1d46fe65a7aba2578e327630039ee66b61f379dbf4e94ee3020acddb1efd9546d14e33b30803ca5dd88e3047590325859284e6b806d4b36dc5d7f99fa19ca6a873dcff75d575bb47095ddb7694d803e0975ff24689fd91522a7e230c0a0acc4b7807daeb2bc8fce326ec13fa8b9eed005820030cca2c7ada24e048b263504dbc8f55a34dc27d73ed26bad58a151e2b257640581d020000000065cec79374024a987fbecd2ba9a53881d10bd5a78bea1539005820038284ac9ccff9abf9ef552cf5eba7a501b21a19e7a681c7064f7f14b18d2cb0581d020000000065cf1c6b07fa7b97df2cf29814fb09154c30b0cc474098ac03b5153f5202433d193bcefaf387f48f3687c8c6cfa312e71f67f40f835289b7e5032fa059bf4fe71295e7f765872e40c1da282029c83d8d05c7a00d03c829433e6c03c9c92fde2c8fdfec3193870aed63ea8d10cb2a1bd7403eb6b109daa9ace5028200582003600210ed11acca250fcdab92a1bfe2f74eada9c70c314e22ef3af64a47ecd0581d020000000065cc56f7c900600a8bb3de6635b25a3a76da1571a2008b8300582003c3edf8571e9214fb32847e79b0ee444b71f41f1e8b228aa0d50e646bdb87a0581d020000000065ce9fa3f3cb88465f7ff4cb5b509a4fde91d8132c5c1ebd0058200398f50a6dee1c52c822d0242e89138e92556ad32396f56a3598f6c622d2bcd0581d020000000065ce9f4ff3cb88465f7ff4cb5b509a4fde91d8132c5c1ebd005820037c458bc682d89e4379f22dbc384298dc6a1ae3d54b79a9d3b894c7c719c9704901000000000000000102196f0b038d71b8c44f29b5997e5b1978a0eaa93f5f7095260b880dad315451222be7956b00582003a0187943a5dd8efa3f0b277ecd870f65a7630c484de314989fa7b5f4f1aa204101005820036d3d0ca5b226e76b1d5acfa67136cad6fde32107c2bd1f80a50ff1ee4ad150581865ce9a03546e499a395f38e3b3e51aed454c00f0c4caa63203bf6a555fe2a194a0bb470cd9148ad07e3e548c6d685581612ca40e7bb7d5a2fd0058200384b392ab052e2a9b2ccace331250f815f6c94750d8346a413dfbbc50d46740410100582003cb44fb37a0dbde26c4af0aea3569eeb1d25720a0707f5e7ae3224a67bab0f0581d020000000065cf1f0bf879d5962f30bb7d636b8a1a83a8f84789ea638b03e866f03eb79d08c84fa032b699e2a8269f9fc06c58df74b533a632a52f3065e401410c00582003ff6ed7eb8e70519111f526a81772530f28628695ee6c3495de9cdfe82e8e5041010219e20f036ba2804e21287362bd59ec403627dcab2af54ed9bb3037565d704433c4e8ea4403a534e0c401262f026adfc3c421ddf7073ce482b23419f6a3239dc1ff59dbad8e039db5b0460ccfca847395c725dc74209f287270584192b301c77cd250078fadf40331963ebce2f5bdbea6058a40678a023237e16f2652ef79ab5d5ad4df68f570fa034f867abf9519aacd194c0c65a99443e01f3280e61b7da9ade164ff422a01dff7038e7f293054245e0e89792261493abfa338cd8a57c0c7d27652e780dd20b95bd4039d68c018909fe9cad0620166e56db06f25bfc905385899990935c13ed21be7e203f01056bd6f3d86a2ec22b97537cd45278f8ce75c2eb46e6f6ee31d1999b91839039851039e681eef2119c932fd1eb1bd03f8d01c79c194ef577b2691abc7c9887f03e652eaf99a3dd42676e1020e1674c6058f760bc43b0628c6064db29c88a922d90219ffff0309bef983f81c9a63841efae9d971893adbad137f55de3a9a5e377c387e9d470c039bcae6cffc41fa71f30f44892e527cf6c6bdc8b032a85489aafbde9d3c84b5fa031603bb6964b736c314d551177d87e88833a320e1914a153714fed94b81077845036febb5d591725f36ef17a0dcb4ebce1dd70c219f433ba1ebaf621ce7122ea7da03744363d56dc7a93cbdbf884c980dc4e36241d31248c4d8876b3e252cb8f9c82b0307bc1ebb6af8b994e6fa47598b1cfe406ac0b7f117479167a5c7c556c426c9c903f3e2380cb98538ded25b6e6b9e59c3eefc032edf9f8eff501ac0c05c7e04859103cb3e2443d3444ad3cdc9ab30809024f5e3fc52c5aebac950e8ad3e94c1bb0cac0348605afcb9cba08b0db990d055556a7473b6d324e6a65348840aa31a89a08f5103d77b57b015098cdec664c8928eadb63106191a04fa09ed9b3f836af02346298403fe2c16b0e7886ed56d57f576043236025d7e4821209fb983ddb827ce9fdb98a703589e7af739f1e8d01d51b14278ae5733fc681d8c8d2670a9286189b770f1a31603aa55e4f2d62c4161b4152aae9ab44804a49dbd2ec834c63c1c56fb3b871c582d0142005a00582003332a46fcdd464dd370ca6acad86423db96fc3b8df12229487d8315ef555da04905000000000000000500582003bc20d996b8ca99e14e5b1c7024b47a392dd8381f745ec85e2608a14e1332b0410103ba50295e34ff4f1aef8eb28e4865aeefe52baa7b242f7353b59e44a31a7436570058200308eaf733703a8dbb4de6e4729c340b92e06644b297b1a5295cb4d4c61427b0581d020000000065cf5d87b90de27386f4172d078a3710ac1dfe2e130490ca00582003b190f3acaa6f39c6702cd5290689b5b770953d384bfa3c68c4117c34ca7b804903000000000000000003962595a27c5ee34b9c7213f05650f504ade4341abe6de255c1fa63b76f45c58000582003967b8255c3dd10967edd7623681c149e219b268fe165e3eb31bc112c5fc96049030000000000000003005820037c87007cb0fc4e9a72990c9b91a805446c2b6df0f61a4f1314e43d34fec040581d020000000065cec79374024a987fbecd2ba9a53881d10bd5a78bea1539021962bb03517513bd8254bf316199bf4b050e97cdb5aedd105b7693f9d5ea2c3f4d91244f032dbb230c0968979ebb764bb957dfe97cbc15b42831e6c85087686aafd74d423c033e264d0f132622407e738589e9f6bcb15cb9a083fcdb0c931e8add0d6f9038cd0219ffff032ef2d7658f9ebd3bff628f42ac52b0112ec04517b167e8247f7f12388f2eb29d03aea9efb72104675e23f2c306c2e9823b248642bee88e78e0ef79ce1ac4a312ac03ece1f87382a269b81c66d1d0d63009773a6756244ae3d58b360d43e090490b7b0382bb404f1c181951265e2c961563891598ab4b5e01506c29dd224d7318b7c706037c82fb0409bedeee744089976f96360c6af9518b49896c1357cf7016ed627aea03dcd04db58f53360a86d4c27d905d191e4cde6106c8f619d61ae4450b7b62c43b034ef9595136ba2227ea920594b9f4d02e4d8537a361026ce39f7ea69796a40e7b03f2222ee2a45575d8624c3079d79a7ae9b98cb2f500a6d7b794f8bd04298f6d6f031cf22a1dc498881865ee5ca57b852ce75607383a90fb1672fae7b8bb71015d5a03471e5252f88209007e5a27f63902c8b9b4e99d5e972e0d70b871c443d2bf8bdb033cbf8d1433509a38e5bbe81ef9f48ad8e71271f6ac72644cbf5e1378ce141693036704d340873076e989aec2a340665390ec899010bbda6fe5295a7e3594e1821d00582003c39999f0a2ad885d78e32d20e3bf9a75714caec7064f51d11febfdeba9b1e0581d020000000065cf073b356ba80b538f83556dd49c8506fc16d6db0f24a6005820038aa79aba5a373e2f41bb711cd323447eae51a370e5cb477c94e2e8a3dbea50581d020000000065cebc9b12b9002fc7c73f284dcc77e20c35a3cfd1e320d1005820032d102de8a50b6c8dcc38b97826a1e066f1a0bf8b98f3f5ecb72aabedf13760581d020000000065ceaabf8aed25a73b98030725e923d3db570f8e72c3c51b0058200392fdc2b29524a9edd3a029ef3d88143b3e842174efe1755895a3c3f5c55a80581d020000000065ce9dff7a685c2bf6e8488b24ffd597c3906be4d81fcba903550b17e66e6363b62b4a8b8d5ddad81857ae696d898463cf9af15f9629b8b93700582003a88621d7d7c4e216e14d9877bc1f47b6e242f421f29c72aa670c8c7ab7d400581d020000000065cec79374024a987fbecd2ba9a53881d10bd5a78bea15390058200345ca0bd0adf6cac3022c336d28722317be6b4cf83308b4211e18ee42644d60581d020000000065ceb94733bfefc3c26b06d2f8eec3682ce0aa4433cb96cd00582003e71f280751deebf836b625f4963fcfb1e6194bb076315045e0e2db41d44080581d020000000065ce9febb036713179e0607f96c4a756927a8822fd19fdff035dc85493fef8ce859d7cac1defa81acdd5c6b79a3ecf4022053e2c28fcd55aab0058200322f3cfd5b008853006f97c03e899792f2c98eb7776fd06e3bec78761659bf041010058200381e3e9ee73da3f0d3f50b2dfdfdcc94443df51613955ce1013961a49bf75504902000000000000000002197f0f03740f96cd67074f9d2c1190e6dc36a2864773dc524f8fbf73070b1e48b1c1b7700399f587346ea4bc792bfc3eef00e302ae08f97ae5f6c908e392e82b09b99607ce034f5354853b70423a5dd31395a04cf4e1c7b05bffe1a03d8c86ec4d1b6950e2c40219ffff039dc9d49f23c249c4a033a1c57a2bcb21356d600f7fdd930788f577cff33f96c703c7e158cacf73f7faafa62812f53ec77ee16649dbe4a42b3ed1431ff9bca1c811005820037b1f52980428fe3cafb0c086ce1c16733a02ee561e208792c8969eef01f630581d020000000065cea96345d037c82ba5826489469c8ed1987470b72109aa00582003d5dd727f738ced6fd2303885464cb7484ef5ae4f2e95075c3ba6f3a612aa50581865ce84affaf64fa8bac82409b7f19a860ffd0b6539b08b630360c5611554bc9e589b338a01151a43e9c8c6a3e059cca1112b9307507f9b29aa0058200387ecd9c980db03f0aceab6b55705121fd5b99bb1e25e0693b1dfa8b46af420581865cd6ec3e25a35ef97bf68a27c7b6c51b0cfb3c840e3474d0391a0f55887dd9f37e4cbecf7c70d0ccd260a9cbc8ce6184d440849f48d7480ab03a8902a45106cdfc8003500e279084512c82c3757ec41a3b36dd7ee47be1117e3005820031a582b786dc101aec8d28e42b7aa4c18cb1a63aa1e56b4cb28dd89f5f67870581d020000000065ce7cab2797ea5cb0f027b85fe6d1cdb06c43e8d16c266403b462ae8612f70a289efdbff0e35efce3f33c55aeaff3dd2be1602f88ef09a97d00581f020c440de7cf4ec92d6c4ed2e8d66300e5461376979a1976d924f685297595410100581f02695113d9e1bdf4aff90a499bc455bb97a9d01a87a0e91a33ea9da31083d1490e000000000000000f0219060003b62bee5f91db8eafb04f2d9a64d4ad5bc76b791ac7f99029b351a5541b0092a3032e18d517d14bf29be092bed50201737f468c68a60bbddd49ec41aa98ddad684f0058200372c9aaba1adef7254acc41272a49a973dcfcf017ddb1015c9e4f7a0c42f840410100582003fde3366f73e923adb1afde32a4eae19451739a2b7ef12d7b0e0700dad926b0581865cc9fcf75dbd0951349a1fefc52160f5f5470117ada9025036878688fe3b05f70aba69ae99d58f45157f721eba2a04fb9dbcbb0248f415cd50219d7ff03c96b08f1f43f5111ac6ccfdd111c855543b24d271b046ada80ddb44bbd0739dd036fd1fdfdc36ae7f274fe7f1e4748a4192a79889e3170d64df3540ca8960d5d6c03a8a26fdd0f4df4f6f78a8bb0da21a8a9348e9e44d8967cc70475ca3bc410b13c039147276e20564d0bb0540aa4b3ffb507ae46c0402b19689f796e9f953038455f0315a75c0b20095982364172a40ada204083fc119dfa9caa5c6da08af76837aded03d82992b24c62f5e56da084c6c45d2253686498f73a5a1ef9a5e043cd44a3635b033dd20371debf006754e3513e7f6b57d22e05250e188a4cf8422f7d19b3607b9403aa9d4d29a45037c1b9481f2344a9eeb3eac32f65dfd71e939a4a5b98e47db8ff0384fd2055ce0d97c4732dd9df8d2ebb37c86042df939c7b46c89f83dbeb6752cb03594792e78e84535f9ed850dc3ef55cfbebc485a500867e41845a421568ad1aa603c5a13311b9c5f5d1c7a33911252586f57bbdadc72b7e342647c5bda5305d70070058200301fbe9223bd590a299cca621f1894f2dfba973b2f61723e52cd4488f300c204101033c44df9f04d9cb4811ccad13f0a19b1baa92e19f4023676759fadeb8c3f44347005820037ecef9ebfd155da911627938215d3068f41b59b700d336c0e86a2f9d3d9050581d020000000065cea5df1a11f316bafb95e7ce3f4ae2cbce2a9b96ade7dc037779607f9823093ca012c8cff1eac2f05c16d9ca9c56e448cea62d8280360f0200581f023b299819cccba2d6c1f60d75ec3cfc4d16ac29b93485594875dc6db7821f4905000000000000000102191002005820032257c6f9ad6d4f86b7ab979e5beba7b13eaf508b5ee87ba7a670063ba750c0490a000000000000000a005820039ab83f2e8e20c162bd9a3b3a71a20c386f767825dec8319e5ddf5f2d950190581d020000000065cea3e7b74e5e06f50fa9e4ef645efdad9d996d33cc2d9d0058200345fd150fd42676acba2299e52d76feef51912107444deb2faeafd51faabee0581d020000000065ce9fbb1e86fa0e17eb94c2d7e4d390bc33383d329a332002192cc703bcb317ae31746c18d4a8e93d0d55cb6d8e95a274def7f97b0fea9d832af535f5032b54f31a7b58ad00c26f07e6a0ba61c624618488e6bea50aef9ff8528a2aa9e60219ffff0219ffff05581e030954b20e33bb27251766c18abb61137daa78eabb0f5625dc0c8c6c0a300701182d05581e031355719cf0796bbce1a48796672c7f8d2d29e1bcab8e3c1bdf4c0f62b00c0246da2b0aec153e037e09bdb1eb5804979e571dc91cfd30abf55f173750b76c1172b4392b83b7de440359c8ed38f46df4a4a6938d240923945ba793513b22ceee2668c262f6f7161bd90373e819e5184655850bd08675a1dbacbcf1821afcccd1178375e159e5e015e19e05581e034a28b0371d84e94077ab3a7de33881e8ca40e54242adfe5cdc242161300c01420bc0030c514a5fe36c834b6128fb011e628d3149298a96aa35d8481c3e3f56ab55597703e7060058ff55118de60a0c457f49c286c154bdc15f34e7b88299c12fb20494490379586c717a834e00bbf49242178874b161afd54ac63fed2ecc27a75f0263094d05581e038a727610c6a75421dbd0d945a215402bf524e3bb1a184ee0f3e57477e007011bffffffffffffffff05581e0365d0e60f4c7ac5d31be6bfccecbfe4adddb6f9a19d4fd3ee5faf875d10040105581e03c0b1aafe059d96bd8d427600636d29d226efce817a413bd652ca800ca004010219f7190219ffff0352905380224450fed5a4eafadad11faf1e52713e0a8e221c738b4a25aaa8ae9603a9295f4d3baf679c0b5e32162495d9dc5306d8323b16d41cef67781ca2969e2d032f676582c421e1a25868bdba5bf1594c7b4e678a0d92e2ec54b69f7a463de1d503cc91dfde672d848aa00959baadedad903d5b3f1c1de043fdece2819591c048d00312d209092bc0feed5884cfb7e8fcec57e5c755036024eb5319fc63b23afff8fd0362e09c8043b03ea5b610650fe8df7fcd388c34394962466e002867db5ec9b61703347984ca500517605d083242a26d6d16a87f770dec22240880fbe5a79421a319036b2b5ff51eabe68638860dd961dd664f9a1c26552b363a3cbc4a164d10b2f61f03083a310727a63da345580249152085654bf02fa5abff336a206dcb564befd90d039a36b35713c70a0589015f7e8489c130d01eb88735b548df2fab4a184c0ccf570219ffff03bb4a532a3431f36f92e3e767fe520ca5178afea94e3c72a0a616e4925641a4d50342708d2e6d382b063e3385b0558478a89cce198ad362ac91395e544a6baca76503e98aa639d0cced283b5e2fb862c540157b20bffa275ee3eefce845ceff4463c30365e67c57d8fb1da5627e44b65afa3c4dd8b7af9e2e25ef5e5fda8148d661cc4803f78070baf74f831f161f1667f3b45681425b49f4af94d3f32acb69b3f43ef248031c393acc088eda694f686abaca2ab7c6b50da464b08dc1eaa1f2ef47e151a23c0359c73ba6fd3377b6bd75ea86dd64025f01c596dfa3abfd5a85056683976a2bb803a3ff249082d8c86b885ae7af086f3b4bc24f6ca445411978b31537c192e898ba03440d7ea16d721212935bf9beb6a12cc7ed63577cc48c865d89f479fb0753b2d205581d024e4195c5ac38d50bd7bd3b55d73a37b7d5f3841ad724c0356ea852fa0c1a00053569491fc062215cb950b52a05581d025e2f3cacbb23cd95e2dcca333c649f7121d3f2a621a818192aa52536040105581d02ad139c4c8f4dc070055be215f6b803bc60785bdce0e20cf9782217900c024701c7aac180ef780219019005581e034197bd1e342ef77b0ef747206ca12e3cde6663b0a0d51030aa1bbf3d000c044744b9cfe6ed3a0005581e0326360e288a8c419a5c56d9ab73446054b33fc2e2aad4381419936d62000c0146fd09e8aa2e0003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e039c6bf230a5a8d796b2d819b84e96158879395ffa69820c699f543257c007011bffffffffffffffff03dc0b5da1a580aa415e6076256baabaff3541725b085c5347a84848b516ba4a5005581e031f74124b03001545d6f393bdad9de34156fa835f44bb5631a3300ae6200c0147030f88627b388603f74627f62750419f1923c9c1ed238d1686d821a651b7036f86607018d120cb6c05581e0395cbaccf769142cdcc0d843400c89a3bce37e2ec94feea239dd68216c00c0247019be2a63109a305581e03add5a9a9a12b4f841af6c70d1c3476198f078b13c0636ebbba23f71a10040105581e0320e7a1ebbc46c63a857c1c4ff2c4ad45abedf3c12e0b3b5877f94b29e00c0e46e276d48c90000219d4ee03d192d2e93dcee672e249f76768d5527efca60f723dfe72f3a2a78d402ce6307703c579ae0141174ae442a2051a752ed767ff9305b648c209cbb1557293c39ae1b703f1e7ab8d49084fcdc285396fbc5138bd62198a28a189beb4fd876ce7e3598081038ededee1e159a1df4dd2b654fe66210fa14356709ef30e9c37dde5f15223fc9603c47c83d0cb2e05b8febcbc50bcb161b2fb713d3d93402e0b5ae1a1857d1423970348be9c9b075945114a42984036d510840d848150105ea8b5b2ff9c8e98d5aaa6038e5540f7c4b939bbaf8383016914ac85c9b642aa9954762b40586504aac2c0ef03357baa2fa4fb01c2e40535c053e2e0ea60c475252708eca2f4df9284a3cc99db0367a50a3b38d89e90c5d5e78e905a03959472598378893ae278dfe0b11bbc599603abb122974bda9b477b21e542f09cbfdb7eb70ac31093f6e8e55c56196b7b255603e90962e163aace9cc84d270010c847041ba23f2bd62f45b0ce1f40f1cc04c3810219ffff03445ff7cbd581c19bd37b321707d675761f67c5814a25113626e6f4adbf6b500b0353d93119634a2eca7c33493f7636b25358e3ac07f5710ec417fb4e461226e2c503e935f9859e5b0e1564deaac9ff97167f790585e911823a1a5f0f0cd0e15a96a90302dee7f7aa25d4918a0076c801768f7a4a6d7b868c5a133fbaaea180a311707603b1c8bdaffd7058117ba529bbfb1f4996e960bc56b7874779a06c7e77dd3fcb7d03699b2d81958bbc1e9cd390dbf57fa62169dde238449d00b0fd78873fe719958d03e5e19460b3da816bdfa6c13f9c45b9a22b9eb06345322682cad34725df53ff4c0380437e67366b0d3d1ef6abd4684787659846ccef3b2fc8b14a61327ef49c76e0033f806c9b47de7e2b596dd931ac8b75aa1d769b32c1ea92b1bbc76a31c5b6d05f031f0e70bb9a5cafac3943e6b6aaa526101594771dc7152173bfdde0a15eabd33b031631a62d7eec7686f2802f9e9c75a3c631e82c4394348ba2900825a3a7b11c9f03b88f46501236d9c9d649c727785f5c31622fb249563763622790182ca21aa12e031433408c5a932901b14ae66c3d8d6cdb88ce77cd9281747a8017645d6db95b63038f35bec2909a04ceddf61249b3b2c30384a1e0f674a75f8af4ba10d95157511e03d7ff48361c5ee96ed93bd82e0b88b3a995bb07c2d00173b114f88b58bb0a62cf0219ffff03100975597885736285ae42f749835fe4112e87d5bfae11df46deac900c51ddbb03ecbd10c7e18ee7693778ba3813641554b67d3a8701bdb13d48c8b73afb13f7d10303058f34381743b12a66b3ce1dea3faa81b11d2d96885871f39832104f5c4aad03fe7a9bc248f3ab7bfc410a36b2796a5f84631a4bb5da087146130c01ee27285403cc4467b2d7153014b25ebed3a086536284ca5faae4234a989caa6c242cfd73410219ffff03fd02c408886f3cce6fd58ed8e0e4b34937ea2cf8d22be7163678a214e208ace803032bf0b2068f92b1eb3394868ddc01660ee899b13edfb69b1074c9745d5a0c56037709072e7856edc7e14547ed9ffcc3a2701ca9a5995ddf5f3e580b5b7a5c5868034041c1f32b97ff9e064485266b787f228dc8e92d5997b899fe367f02c45830f9031443c0caf940e333824fa1b0b7f6224c80da9990e6e89429f6351b2b25eb54cb03e1227ff5cd784deb00d61b5514f413bf937e84b64b9d8fba3cc1bd9cfcadc2e3039aa8b1a50db8312bc76ed778be14ad3cff7b4fba308626af231f3edfa1722af103dd2042ec5d00440a389de728bfea2573ffa2282fedccc3700c94a477d96a883403c118ad8f1dc9dca2547864f51bc1779d4eab8076d3622ce248b76465eabd815403697178d7ba3256f2491372460142b43de8572cc63b7fe421f0061874cf447e420370a893cf9c21301237a95e6f9c45b76cfce4ec570a8036e3e8b43ae98222e40c03d19d5f22a3cb3609496c54c754ff34f7b0f54c1132a4ca41ff6d2bd8d5467f6203004975e9e5fae230fe504447f1a45fe087ee9ba49140ecd1c2e1e8496c95082703e99e80ac31a7964193ced599b18c35e11933f2638e7d5b5a40aa0d2a62bac35003784a36cf890faa0ddced89e9d5c95276ec24401a104aac441a79939c88def7ad03d3f085cc9c8252d7c319d91d6f8bd9f252b0b1728015ffe5eb7bc6b4fca371f1034864fbf20fb2f471efdc0c459cf778332a42953c9574451dd15efad564d4614b0326bbbc747bd6afb491641763aa05171faae45a2f935e4b99838938a150c0926203d1b6d6db119622d42c2d0ee0339c01df10e61642cf3f063ed4abd7841aa7289603141530e3ea5126ad840a5f62d2e8028d8e5d9adfe574eaa2b355a143fbd9077205581e0389370739fe49c8ef48cca74a7a4530a80c6a073b451486a8377d272ed0040203eb2f6e84f0629cc362fda4c236afe9020cbe0f12d3bd6151e5f23656c24135bc04592ca56080604052600436106103855760003560e01c80638ea5220f116101d1578063bbc0c74211610102578063dd62ed3e116100a0578063f2fde38b1161006f578063f2fde38b14610a4c578063f637434214610a6c578063f8b45b0514610a82578063ff935af614610a9857600080fd5b8063dd62ed3e146109c5578063e2f4560514610a0b578063e884f26014610a21578063f11a24d314610a3657600080fd5b8063c876d0b9116100dc578063c876d0b91461095f578063c8c8ebe414610979578063d257b34f1461098f578063d85ba063146109af57600080fd5b8063bbc0c74214610900578063c02466681461091f578063c18bc1951461093f57600080fd5b8063a0d82dc51161016f578063a4d15b6411610149578063a4d15b6414610870578063a9059cbb14610891578063aacebbe3146108b1578063b62496f5146108d157600080fd5b8063a0d82dc51461081a578063a265777814610830578063a457c2d71461085057600080fd5b806395d89b41116101ab57806395d89b41146107b95780639a7a23d6146107ce5780639c3b4fdc146107ee5780639fccce321461080457600080fd5b80638ea5220f146107635780639213691314610783578063924de9b71461079957600080fd5b806349bd5a5e116102b6578063715018a6116102545780637bce5a04116102235780637bce5a04146106fa5780638095d564146107105780638a8c523c146107305780638da5cb5b1461074557600080fd5b8063715018a614610690578063751039fc146106a55780637571336a146106ba57806375f0a874146106da57600080fd5b8063541a43cf11610290578063541a43cf1461060e5780636a486a8e146106245780636ddd17131461063a57806370a082311461065a57600080fd5b806349bd5a5e146105875780634a62bb65146105bb5780634fbee193146105d557600080fd5b80631f3fed8f116103235780632bf3d42d116102fd5780632bf3d42d146105155780632d5a5d341461052b578063313ce5671461054b578063395093511461056757600080fd5b80631f3fed8f146104bf578063203e727e146104d557806323b872dd146104f557600080fd5b80631694505e1161035f5780631694505e1461041c57806318160ddd146104685780631816467f146104875780631a8145bb146104a957600080fd5b806306fdde0314610391578063095ea7b3146103bc57806310d5de53146103ec57600080fd5b3661038c57005b600080fd5b34801561039d57600080fd5b506103a6610ab8565b6040516103b391906127e3565b60405180910390f35b3480156103c857600080fd5b506103dc6103d7366004612849565b610b4a565b60405190151581526020016103b3565b3480156103f857600080fd5b506103dc610407366004612875565b601f6020526000908152604090205460ff1681565b34801561042857600080fd5b506104507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016103b3565b34801561047457600080fd5b506002545b6040519081526020016103b3565b34801561049357600080fd5b506104a76104a2366004612875565b610b61565b005b3480156104b557600080fd5b50610479601b5481565b3480156104cb57600080fd5b50610479601a5481565b3480156104e157600080fd5b506104a76104f0366004612892565b610bf1565b34801561050157600080fd5b506103dc6105103660046128ab565b610cce565b34801561052157600080fd5b5061047960195481565b34801561053757600080fd5b506104a76105463660046128fc565b610d37565b34801561055757600080fd5b50604051601281526020016103b3565b34801561057357600080fd5b506103dc610582366004612849565b610d8c565b34801561059357600080fd5b506104507f0000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf481565b3480156105c757600080fd5b50600b546103dc9060ff1681565b3480156105e157600080fd5b506103dc6105f0366004612875565b6001600160a01b03166000908152601e602052604090205460ff1690565b34801561061a57600080fd5b5061047960185481565b34801561063057600080fd5b5061047960145481565b34801561064657600080fd5b50600b546103dc9062010000900460ff1681565b34801561066657600080fd5b50610479610675366004612875565b6001600160a01b031660009081526020819052604090205490565b34801561069c57600080fd5b506104a7610dc2565b3480156106b157600080fd5b506103dc610e36565b3480156106c657600080fd5b506104a76106d53660046128fc565b610e73565b3480156106e657600080fd5b50600654610450906001600160a01b031681565b34801561070657600080fd5b5061047960115481565b34801561071c57600080fd5b506104a761072b366004612931565b610ec8565b34801561073c57600080fd5b506104a7610f70565b34801561075157600080fd5b506005546001600160a01b0316610450565b34801561076f57600080fd5b50600754610450906001600160a01b031681565b34801561078f57600080fd5b5061047960155481565b3480156107a557600080fd5b506104a76107b436600461295d565b610fb1565b3480156107c557600080fd5b506103a6610ff7565b3480156107da57600080fd5b506104a76107e93660046128fc565b611006565b3480156107fa57600080fd5b5061047960135481565b34801561081057600080fd5b50610479601c5481565b34801561082657600080fd5b5061047960175481565b34801561083c57600080fd5b506104a761084b36600461295d565b6110e5565b34801561085c57600080fd5b506103dc61086b366004612849565b61112d565b34801561087c57600080fd5b50600b546103dc906301000000900460ff1681565b34801561089d57600080fd5b506103dc6108ac366004612849565b61117c565b3480156108bd57600080fd5b506104a76108cc366004612875565b611189565b3480156108dd57600080fd5b506103dc6108ec366004612875565b602080526000908152604090205460ff1681565b34801561090c57600080fd5b50600b546103dc90610100900460ff1681565b34801561092b57600080fd5b506104a761093a3660046128fc565b611210565b34801561094b57600080fd5b506104a761095a366004612892565b611299565b34801561096b57600080fd5b50600f546103dc9060ff1681565b34801561098557600080fd5b5061047960085481565b34801561099b57600080fd5b506103dc6109aa366004612892565b61136a565b3480156109bb57600080fd5b5061047960105481565b3480156109d157600080fd5b506104796109e0366004612978565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610a1757600080fd5b5061047960095481565b348015610a2d57600080fd5b506103dc6114c1565b348015610a4257600080fd5b5061047960125481565b348015610a5857600080fd5b506104a7610a67366004612875565b6114fe565b348015610a7857600080fd5b5061047960165481565b348015610a8e57600080fd5b50610479600a5481565b348015610aa457600080fd5b506104a7610ab33660046129b1565b6115e9565b606060038054610ac7906129ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610af3906129ec565b8015610b405780601f10610b1557610100808354040283529160200191610b40565b820191906000526020600020905b815481529060010190602001808311610b2357829003601f168201915b5050505050905090565b6000610b57338484611703565b5060015b92915050565b6005546001600160a01b03163314610b945760405162461bcd60e51b8152600401610b8b90612a26565b60405180910390fd5b6007546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610c1b5760405162461bcd60e51b8152600401610b8b90612a26565b670de0b6b3a76400006103e8610c3060025490565b610c3b906005612a71565b610c459190612a88565b610c4f9190612a88565b811015610cb65760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e352560881b6064820152608401610b8b565b610cc881670de0b6b3a7640000612a71565b60085550565b6000610cdb848484611828565b610d2d8433610d2885604051806060016040528060288152602001612c23602891396001600160a01b038a16600090815260016020908152604080832033845290915290205491906121bb565b611703565b5060019392505050565b6005546001600160a01b03163314610d615760405162461bcd60e51b8152600401610b8b90612a26565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610b57918590610d28908661169d565b6005546001600160a01b03163314610dec5760405162461bcd60e51b8152600401610b8b90612a26565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546000906001600160a01b03163314610e635760405162461bcd60e51b8152600401610b8b90612a26565b50600b805460ff19169055600190565b6005546001600160a01b03163314610e9d5760405162461bcd60e51b8152600401610b8b90612a26565b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610ef25760405162461bcd60e51b8152600401610b8b90612a26565b60118390556012829055601381905580610f0c8385612aaa565b610f169190612aaa565b601081905560321015610f6b5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420353025206f72206c6573730000006044820152606401610b8b565b505050565b6005546001600160a01b03163314610f9a5760405162461bcd60e51b8152600401610b8b90612a26565b600b805462ffff0019166201010017905543601d55565b6005546001600160a01b03163314610fdb5760405162461bcd60e51b8152600401610b8b90612a26565b600b8054911515620100000262ff000019909216919091179055565b606060048054610ac7906129ec565b6005546001600160a01b031633146110305760405162461bcd60e51b8152600401610b8b90612a26565b7f0000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf46001600160a01b0316826001600160a01b0316036110d75760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610b8b565b6110e182826121f5565b5050565b6005546001600160a01b0316331461110f5760405162461bcd60e51b8152600401610b8b90612a26565b600b805491151563010000000263ff00000019909216919091179055565b6000610b573384610d2885604051806060016040528060258152602001612c4b602591393360009081526001602090815260408083206001600160a01b038d16845290915290205491906121bb565b6000610b57338484611828565b6005546001600160a01b031633146111b35760405162461bcd60e51b8152600401610b8b90612a26565b6006546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567490600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461123a5760405162461bcd60e51b8152600401610b8b90612a26565b6001600160a01b0382166000818152601e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146112c35760405162461bcd60e51b8152600401610b8b90612a26565b670de0b6b3a76400006103e86112d860025490565b6112e390600f612a71565b6112ed9190612a88565b6112f79190612a88565b8110156113525760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263312e352560e01b6064820152608401610b8b565b61136481670de0b6b3a7640000612a71565b600a5550565b6005546000906001600160a01b031633146113975760405162461bcd60e51b8152600401610b8b90612a26565b620186a06113a460025490565b6113af906001612a71565b6113b99190612a88565b8210156114265760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610b8b565b6103e861143260025490565b61143d906005612a71565b6114479190612a88565b8211156114b35760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610b8b565b50600981905560015b919050565b6005546000906001600160a01b031633146114ee5760405162461bcd60e51b8152600401610b8b90612a26565b50600f805460ff19169055600190565b6005546001600160a01b031633146115285760405162461bcd60e51b8152600401610b8b90612a26565b6001600160a01b03811661158d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b8b565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146116135760405162461bcd60e51b8152600401610b8b90612a26565b60158590556016849055601783905560188290556019819055826116378587612aaa565b6116419190612aaa565b6014819055606310156116965760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c6573730000006044820152606401610b8b565b5050505050565b6000806116aa8385612aaa565b9050838110156116fc5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610b8b565b9392505050565b6001600160a01b0383166117655760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b8b565b6001600160a01b0382166117c65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b8b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831661184e5760405162461bcd60e51b8152600401610b8b90612abd565b6001600160a01b0382166118745760405162461bcd60e51b8152600401610b8b90612b02565b6001600160a01b0382166000908152600e602052604090205460ff161580156118b657506001600160a01b0383166000908152600e602052604090205460ff16155b61191c5760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b6064820152608401610b8b565b8060000361193057610f6b83836000612248565b600b5460ff1615611deb576005546001600160a01b0384811691161480159061196757506005546001600160a01b03838116911614155b801561197b57506001600160a01b03821615155b801561199257506001600160a01b03821661dead14155b80156119a85750600554600160a01b900460ff16155b15611deb57600b54610100900460ff16611a40576001600160a01b0383166000908152601e602052604090205460ff16806119fb57506001600160a01b0382166000908152601e602052604090205460ff165b611a405760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610b8b565b600f5460ff1615611b87576005546001600160a01b03838116911614801590611a9b57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b031614155b8015611ad957507f0000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf46001600160a01b0316826001600160a01b031614155b15611b8757326000908152600c60205260409020544311611b745760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610b8b565b326000908152600c602052604090204390555b6001600160a01b038316600090815260208052604090205460ff168015611bc757506001600160a01b0382166000908152601f602052604090205460ff16155b15611cab57600854811115611c3c5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610b8b565b600a546001600160a01b038316600090815260208190526040902054611c629083612aaa565b1115611ca65760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b8b565b611deb565b6001600160a01b038216600090815260208052604090205460ff168015611ceb57506001600160a01b0383166000908152601f602052604090205460ff16155b15611d6157600854811115611ca65760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610b8b565b6001600160a01b0382166000908152601f602052604090205460ff16611deb57600a546001600160a01b038316600090815260208190526040902054611da79083612aaa565b1115611deb5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610b8b565b601d54611df9906000612aaa565b4311158015611e3a57507f0000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf46001600160a01b0316826001600160a01b031614155b8015611e6357506001600160a01b038216737a250d5630b4cf539739df2c5dacb4c659f2488d14155b15611e89576001600160a01b0382166000908152600e60205260409020805460ff191690555b3060009081526020819052604090205460095481108015908190611eb55750600b5462010000900460ff165b8015611ecb5750600554600160a01b900460ff16155b8015611eef57506001600160a01b038516600090815260208052604090205460ff16155b8015611f1457506001600160a01b0385166000908152601e602052604090205460ff16155b8015611f3957506001600160a01b0384166000908152601e602052604090205460ff16155b15611f67576005805460ff60a01b1916600160a01b179055611f59612351565b6005805460ff60a01b191690555b6005546001600160a01b0386166000908152601e602052604090205460ff600160a01b909204821615911680611fb557506001600160a01b0385166000908152601e602052604090205460ff165b15611fbe575060005b600081156121a7576001600160a01b038616600090815260208052604090205460ff168015611fef57506000601454115b156120ad57612014606461200e601454886124ef90919063ffffffff16565b90612571565b9050601454601654826120279190612a71565b6120319190612a88565b601b60008282546120429190612aaa565b90915550506014546017546120579083612a71565b6120619190612a88565b601c60008282546120729190612aaa565b90915550506014546015546120879083612a71565b6120919190612a88565b601a60008282546120a29190612aaa565b909155506121899050565b6001600160a01b038716600090815260208052604090205460ff1680156120d657506000601054115b15612189576120f5606461200e601054886124ef90919063ffffffff16565b9050601054601254826121089190612a71565b6121129190612a88565b601b60008282546121239190612aaa565b90915550506010546013546121389083612a71565b6121429190612a88565b601c60008282546121539190612aaa565b90915550506010546011546121689083612a71565b6121729190612a88565b601a60008282546121839190612aaa565b90915550505b801561219a5761219a873083612248565b6121a48186612b45565b94505b6121b2878787612248565b50505050505050565b600081848411156121df5760405162461bcd60e51b8152600401610b8b91906127e3565b5060006121ec8486612b45565b95945050505050565b6001600160a01b0382166000818152602080526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b03831661226e5760405162461bcd60e51b8152600401610b8b90612abd565b6001600160a01b0382166122945760405162461bcd60e51b8152600401610b8b90612b02565b6122d181604051806060016040528060268152602001612bfd602691396001600160a01b03861660009081526020819052604090205491906121bb565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612300908261169d565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161181b565b3060009081526020819052604081205490506000601c54601a54601b546123789190612aaa565b6123829190612aaa565b90506000821580612391575081155b1561239b57505050565b6009546123a9906014612a71565b8311156123c1576009546123be906014612a71565b92505b6000600283601b54866123d49190612a71565b6123de9190612a88565b6123e89190612a88565b905060006123f685836125b3565b905047612402826125f5565b600061240e47836125b3565b9050600061242b8761200e601c54856124ef90919063ffffffff16565b6000601b819055601a819055601c8190556007546040519293506001600160a01b031691839181818185875af1925050503d8060008114612488576040519150601f19603f3d011682016040523d82523d6000602084013e61248d565b606091505b50506006546040519197506001600160a01b0316904790600081818185875af1925050503d80600081146124dd576040519150601f19603f3d011682016040523d82523d6000602084013e6124e2565b606091505b5050505050505050505050565b60008260000361250157506000610b5b565b600061250d8385612a71565b90508261251a8583612a88565b146116fc5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610b8b565b60006116fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506127b5565b60006116fc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506121bb565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061262a5761262a612b58565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126cc9190612b6e565b816001815181106126df576126df612b58565b60200260200101906001600160a01b031690816001600160a01b03168152505061272a307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611703565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac9479061277f908590600090869030904290600401612b8b565b600060405180830381600087803b15801561279957600080fd5b505af11580156127ad573d6000803e3d6000fd5b505050505050565b600081836127d65760405162461bcd60e51b8152600401610b8b91906127e3565b5060006121ec8486612a88565b600060208083528351808285015260005b81811015612810578581018301518582016040015282016127f4565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461284657600080fd5b50565b6000806040838503121561285c57600080fd5b823561286781612831565b946020939093013593505050565b60006020828403121561288757600080fd5b81356116fc81612831565b6000602082840312156128a457600080fd5b5035919050565b6000806000606084860312156128c057600080fd5b83356128cb81612831565b925060208401356128db81612831565b929592945050506040919091013590565b803580151581146114bc57600080fd5b6000806040838503121561290f57600080fd5b823561291a81612831565b9150612928602084016128ec565b90509250929050565b60008060006060848603121561294657600080fd5b505081359360208301359350604090920135919050565b60006020828403121561296f57600080fd5b6116fc826128ec565b6000806040838503121561298b57600080fd5b823561299681612831565b915060208301356129a681612831565b809150509250929050565b600080600080600060a086880312156129c957600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600181811c90821680612a0057607f821691505b602082108103612a2057634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610b5b57610b5b612a5b565b600082612aa557634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610b5b57610b5b612a5b565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610b5b57610b5b612a5b565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612b8057600080fd5b81516116fc81612831565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612bdb5784516001600160a01b031683529383019391830191600101612bb6565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203f7eeeff9eea23b542b09d7e03f09e6b00060faa4a36837c25de55e6cee14ff864736f6c6343000811003303d35264046698e48d7f5b13a73fe09ff0fa5bfdc0425cbb8418a8ef2c6a7efc8003a5de00ea2a39fc3c368bdab31fa4c8488be50e179fb9fcbd331e1db8ce78e0640058200313e649533ae6988f68b40f2f52e177a3501457bffef75fed2e61e27b61ab104a10589b6c870d032e5b7e0332f9d4469267c1ea2e74a73e0f58d79c1d21f51324146547cfb83b770f33481b00582003cb8f184c1978382fcc97f84d6d48209c5d3720dfdf8e505ae364ac51a680f04a0f5db7403902fe1352c2037c811e3380c2b5cdf77778d5f6c445cbf430535ad4ac3eaa977776086e13075003c93626e56997c70dc7476e6247cb4989ad03769c4c6a983775ec0722ffaa9c5900581f029920b7a05cb74f750bb91ff5fea51f493e705f2711a37acb29acb2b683c54a3cad1bb83629700dfa2e00581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9440101010002182200582003c6fa98d5f23ec8a23874a953dc9d15cbb7d70da3b2146ac687cb8dfbb8e6705820fffffffffffffffffffffffffffffffffffffffffff3dfbe3aa5aa82a110ed7903e9b22d1e9e727d3aa6994f4dbe7d0405f8522074cb4e05636bbde08d4c13fe4d03bd6e6bb8a2a44655143db94dda585a31ee3498298f42137c377773c6e974b1ab03a7bd4531397e189a61e418a4bac853f1c5408f59a18a4deade551cb034802074038482311ebe3358c020cff55698a9e5d13b0741345162c94456b67c6623f8f4a3039343ed1085308021aa1e6a0148095ed413ed06c714abfd874caf8ffb40d94c980219cfdf03f8bd8e7769d793cafd6a394f00551aae700f8a516c8471359971f7fa444406aa00582003ed7161a18e6bfca6aef3dc173195c90b0ff0d4abcc3e33b492755cd120a3504a0238ea42ed1d97a6ede203bcbf802df32db450041fa373a55dcadbe5d1a90fce115c5754db1582030c07f10058200363b3bad55e3721299b4b3f3cf2ee0c1fd6f1c17f60f0408809c66d34eb33105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820033eb1d903bbac6c012364ffbc48abfa0c7eb4f5f8f042158d67dfdd00e7e5304a1b1e21e4bd6adccb344700582003b56651fd5acd3d80ae47a74d85aea7bbad7ad4651f324395a36201f33a01f05820fffffffffffffffffffffffffffffffffffffffffffef82c82f07a258de39a2100582003424094593633428acb37b58957abbdca37036ece7108790f9fafaaed2849c05820fffffffffffffffffffffffffffffffffffffffffffff870be152696ecec565c00581f02c0e59269531a76a0ffa20a27bc0cd331aec0a351b3432c7a7d8e58fe4c084a0880c44b9c86e0a8e58500581f0280a91f82564358db7dc24e11ee75fab4856f5dba739df1bfafff172dbb104a0e7dfab5c8a7b33f35a202182403038bc5b361c1f3d023d17ebac70c6a1dc6c79eaec205dab39ed5f03d594e23110326aea503194794aca832841b58a781e5e6323362542131c6ea71a4f030f408d20058200366a76dff492c34c387787c40237b42d43e87a369e526c5a38af40e0545a6704c0338a47459b659a7452f9ac7005820035a3f4184114bc0fcfe6065c92951be15882457a693892407c736a286ed50a04a3a48f741cd4905ac25a000582003f2f989a56404bc1f6b91dd7f8cbedd6f8055dfc7c74e7bc988945620f3fbc05820ffffffffffffffffffffffffffffffffffffffffffffc2ff69a42b74edee3a6c0058200389f160d6b3fa22b71a83bceadb6ac60d1f8490e61e836483546f46a96a61904a0894a3f3e57ae366f54d03a1f2bd89226ced4aa1cb92968abffb61e33922a10e5d13c882447d4c12f93c38005820032c4a75daf8a68d2bc48bc2a01d51a7630f1b73b01cbc46fbcc4fccc86117005820ffffffffffffffffffffffffffffffffffffffffffffe41524663f4e29f55f2e032b01dd6bee87e1a366069eb0e9547d70d53d972d812d1ebfe8bbc9e22f06751e0219ffff0364ec4c3a83be3ea528abfd49eff8cb931da7d6341b086cdf6cc4b13259bb85e2033ffeda23f4171b08aa605572c3f2b4174977ddfa4d6e53a0c6244d71aa6c297003e1bd5ad26fed3f46109937e285b6ac6b203d44b18343b00eba01f010dab46c6d0364c8b9c5bb3c2f1baa93002a9ac23cc99fd8191caab20dd082f424daccb43fa50320574b70e029c46ce41a8c3999c412a96b8d52b189bc5583ab7b92e523f7943903ec1e77f703e57aac66c41a07ce7b962a5bb6dea30e333353ed0c164ca85afbc80349f647f7e298a5b033ab54f556f09132abbd5a97ac3382cd9bba099c37f2705f03b8a53c59c52183cbfd3041cc53540e66130fd0ebe5f1445de0e5b1f02d900a7903c29c5f6b749ee212b76b25517d3fb39054df1077172ac66179080373678b9db000581f0252ea20cb2413501bb98a649f55e74bedc994ce588a2e29772be48be57b944a039992648a23c8a0000000581f02fb4b077c139702e7562a25a820ae3a23e1bc2e3313f93c9e1eeb33b096bb4b14b4b1e74a70f569a65d370219120000582003f624e2c913bd97674695a85fb78531751e3118e68e8afe2fa6d266b7b1a1d04c033b279ac4516e4ce13c4d4a005820034e60f448467ad78f0d96337eb14659b090a0e43b5570cd1cbf6b08ddf36580440113882002193ab40383f137c07baf3b6029423d2ff7c55410c221781fa9a3584bbb31cd16d6bed6b403116d4e4155e484a7e04da8deca3734969c3769eb41df4f7febd5f421660de2b603e1091acf0225be24dda3995acf776f5d7582961281da026d0ac95cbcfe0fe8b80330f62feabf86af5f58f467aefac3ca33159aa82e627822c1a35ca147831acfe603f95ef98229c130325ae1e44c9a2427ab79587300bda0e1901cafd3f30634455403eaa0b1b32d6430b924db987f8d813c2e0cf8bae032727dfbfa390750203de12c035c1f43b55177c69b61b28bf40353f99e0bde092a67083442088a08de7b1af0190219ffff039cbf51fc9ff7d2ffc857a3be1873920882d7bc989b1f435a51dad09e4669c4f803196f5e94ae04ae03abfa75ea5544bf67acc2c34dcf2e58f34fc537acdcab6cf6039d2979e63b7a24f0c0db94e1c4bce639d9c3902a9653eec55f9cc277631d1f0003c63778cabc32e6350eb853213469af7bb4e4dad11597cf5ce50522fc8ba5be4f03899be9c8cb08b4f538a11ac297cd1a3a635e8ff7d044564aefbafac448b0d2b20058200326be27212b9d1f825e7d9a938c303fd94b6214a4c55118c15e0022d710c2905820ffffffffffffffffffffffffffffffffffffffffffff878140e1cd16a92e4a0f03bd340b4c0f0c330856df2bb98599afe17118c7183d741d55bc32f157270ca2c700581f0227947db38e41f5e9de61671744b4c3c079207df6b9970183f80fe24e928f4a0ae32e1e5f8c5a5382db00581f026c42779855929112d50ad9337a925cf09fd2dbe3775d700710bd8b6ef5a25820fffffffffffffffffffffffffffffffffffffffffffff6b00759efa192448fa00219108003a195391788f648195198a0a5ef13b0a286f1b93b8233f62a6aa3bdf5fa8112ad0369cb87041059a7e90efe67b59448793c96e8fb8358c1bd429c5653eea925080e03c97b244470698d9c31c405f3d9eba2ec9fc10cc62745a2d102bbc7d7bf2fa254036c56c2fccafad45072e76e191d50062604208a69f80dc02d0e9e0a944540750d005820030703a01b10365bc5abf3183a09811a0543b6b54120e9b6590d246326055c504a03242a8038247a931ac30058200362cdfd67cff3e34c3c1d94271f6e0e5c546364006a7486a264060614e980b05820ffffffffffffffffffffffffffffffffffffffffffff97b38d3942ff777e626203da0aa0b7dfe049a2886141f2a24fbc6eace94891d9206cbed78745ab0dfc11a30219bfe303f02e33b5e311e74aaa7e77f15fc07f4e57a4c2cd50871fb451725f550f10c597037a4af93e24a8295a4f1b6fd905f1c9fc90e5846dcc0a2ce8a6bd283f5fca464d034d5b9509c419ee3e82bfe4ac241aee580738f7ca9e07996c0cd151802457efb403a8f272c079d8764d20f1b69ab269c35b1607837d1140909b23f9c97bfa53704f036f366bc2c20c27c2b869114cd2f9619d9318016587e63da6ffab5d590c33c0aa031b0aef54c958d07a98654b9880c8e6395335bd8d61609cc87afdcf3a823e20520058200353d6d53661106a4d48d2b11355ca6b4399f1d5b0a2b38b2e3db95eb5d1d8d05820fffffffffffffffffffffffffffffffffffffffffffe21461c29efe037b7942403226d137cd0807b609961aab45f7816f449cb67ae9d943a54ed827eb318f2ab89035edfcec5f242be7a89afc74894dedc5269382edfdc8af2742a86729e07de887303251cf6fffc6674f79d7df6bab3bd907ccad40236ec03ab0ade23aba5b5962e9d0382d2221a5e06b40a032b2bffaafe44f02abdddc557066321a7494117df2ea28a039ce524774d7f2878c3245b9d6d16177a6e7f4a4426b8f5c380bb56dd668668c500582003b7181682175691db1e2fcddb58901f86dab03436b18882084b300eeb86e240491472c410305e3b56a000582003a9d3978c0cd01a085ec4352686bb1b189eddad6455ed2aaaa2a36468615c405820ffffffffffffffffffffffffffffffffffffffffffffe6951d6c2ed54ef6baff00582003ee5e63dc50499082570fda04141f433fc369acdc619bdd32f80647db6a3f104a366fba1cba4890cebcdb005820034b02c539fca365daa4d37bea0bbc07a09cf70b2359dbb88781c07d638c313049ac600b5154aaeb73da0347c301abf2bd4559ab7d474289c46d585a811caa3c77f07af8c89f379c741c6c0219b7c703cfd84fdfd2798f5308c416b06a1fdb352eac8689d2ae55af0ec4e61816f26acb00582003e8cfccb1e3658e3519e8b0af34fa593aa58c3531462bcbf601554e907ff5305820ffffffffffffffffffffffffffffffffffffffffffffdf0042b4fe18cbbde58003e50eac7271d7393626e20dbb55a0b1410ddb908c38b888994c5768d1c8687e36036d0fcb675744d51577b4fcaff4e6bd9ee27165b37e3d5b3017419e7bb46278a800581f02a77a8e250e5a361f6cb71a361f796e8f10449fd00239dbe84f1e1529ddfa5820ffffffffffffffffffffffffffffffffffffffffffffe139e8cf497576cfd67300581f029be5736be79a133ff74243beebc4b91f96f5b3eb029dc7a63d33a10328a45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219040200582003e32ef5b1780de163c1108dd6ed668ba677ba59c10ac550f069637a6cfe7e705820ffffffffffffffffffffffffffffffffffffffffffffa3312be10152d9677b0e0325702c8274988389ab5eb86e2bcf4f289ca956a16be27be038e31f587c74446900582003952a8dadc1306839809896f6b61480825b4387b46d393ab5fcc5a706edd0905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ce18c58d14faa452a1c1d3d2f9af151df517d735e2913171144511e9301a805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003346ae9972beaea6af219179d2a2ed130c89916bc235c545ef31e42b4f4fc805820ffffffffffffffffffffffffffffffffffffffffffffe307c2308cb444a6cdf20320d6ef149b09104e5397f16309653bb998c45915fb2d1fce849dfdcf3f80610100582003599be448a7e64319c711df342194eb29a40db4a039d2a3534fc370688956e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200313b8da8f3f2278a2335ed32c1e5072f2806b721c1bcb2bc402076e47d8e510496c6b935b8bbd4504b00219eff603b682d771c72f556af3ae5e5579284360a2a2a5a53f39e1ac1d46892645d5145f039e4e3187b3d3856292b4ba648279722a09e134604e13874cbc55364fea38d1e403e85aecbbfa740041e55ec9423371809757cb36ac7521d6080d9091625cafdfd403874688ff6a51f2a98442ef936ce80fc6e452e0e04e18ae09ba7229b19b289dfe0219ffff03716b3f19f42642479ef24b35454223a1178fc424b6daf5824d25728ed2584a0303f121910a3a7fdb456b49536f146ad3d1a0d2c550736733ce966ece49f47ff2b903a0ddb5e9795a93de0540e19bcd04b6e3a546c30123e66955404539ae28d84a7d03593b7835770db0f8886e1252ae3d5cd472da40ef5ebe69d30e57a4a565debc2d0360775703d16517214e1b0d24071237fe00a0eaba0a50df2d0521a22faa33310f03df41469cefa415ef914a38b0660d2ee2e491fe57ed1656736510b9feadbba699038455f97cbe41cb48e05a58cb4e5cf2599711e220a4dbe2335e244dd76dd9079603759820b46ad9c836836359626cefa04dd784e123a00c063ac4d9d8664e93d608032f66dfc68492b66f080ae3cec66b7b0153e662e0b57aad4cf0fe231cfffedd73038b1ad84dbd7fdf07566daf6b0ec7a1317a24dbaea9cfe76876d22d0147a777b603e0aa3b717010304e0cfb18d84d854e0a7b81d1663ab419741b338fd66f93388d00582003af81b18a06cf7c831a87a9a53391cdcb217ab5f10a832c4a518149b8c6caf05820ffffffffffffffffffffffffffffffffffffffffffffba31b41f8bf4efeb1d2400582003a802f8a8f6a25adf2ca052008aeac04f44bd5d3bcf7550e867168b1451bf305820ffffffffffffffffffffffffffffffffffffffffffffc5821e6a20e4249be59100582003fcb086da6b71d5204c651a391de8b158af789b3ca94d8d993bac8d66893ff05820ffffffffffffffffffffffffffffffffffffffffffffc7a39aaa93cdd0394f18031262603ac3d03c4ef603897ac7c28d75bea69f4d54b1117f60a11c136587430b034fbe244031420374eb86a3b4ae5619cf5177c654b684eb75754503b86832342e0058200327b13f0c0f73c52926fb7aba1851a60c678189ec8f2caeaca875abbd0640504c033b213d90453cc9cd9bdfca030a67445a18699f63c3c231ada41e03bc152aa5ba0e5214be2379ea24fa57334803c0ed5070d644c1c4afb6780d035d3d89c91acb10ab607ca52ec4d61515c188b303a9c871daf818e5409c598abacd589fe31733d2b9b7aa7f023f977a32e4c88e180058200384204891e9f06f7abb86ae6f88e495bc11932522a8e8d4ab0a43e48fad77504145038c121552ad89c7520f5694be146419337d8014272ccdcf7939cfafe68391312d00582003ecbbc15d78446d1d8be33190bdf83113202a27e6de9a3c5c4f8e54d0de49704a014d69e2709c9b32a99200582003455aae41c02da86e828d1b1636266e8769106fc280bd2f2b0919763e662bf05820fffffffffffffffffffffffffffffffffffffffffffdc15c7ed03c4a81c1423903630bcb0194edba0443aaf195f9b5ed0596f1a5575472838866562a8b55b54faf0219ff7f0367e54e5decf6e084e87af1a98a883b1806fb2eeb3e860c1770635cc14d96cd08034dae3f74df120db4d68c3e5fd79f1f81d1bb1f5747cc2df36d2b9e59a4a08921033333be770a2c2e091a6a1e6b6ad6b93264483c84298d21ff5e3a358e620f86cc00582003c529ec8681e10ba98c53477ca9f2163a9e9f18ebf8050dad2d9b54aecd96f04961d573eedaabea1d19033f3bfb5d486fc8c1da832bb031d27723ee2556c8967431581d289ced790eb22600582003150cc52f44d4b26a39b490b718ff721f8b80e2d10f57519129b39336a434d05820fffffffffffffffffffffffffffffffffffffffffffdece61ddc748d5ff41531005820039d85352ade28fe37229c1a871be8320a592b50cb332e1f7bb15ccac6ee2cc04a0216dd1d89a040cd666e03f2701160d56932b9a1a23f73d343bb1934a113a2a1131b4b6ad1e5c58e91662a03f83dbdab94d21954f49368bfe5e8bd0c2d09e37b5300263f2c198f0119346a3b00582003dad4c15853437c5d65e0795a82b555edb4da24a174b3d4d9093d545e573dd04401d8a0bc036ec1bb268d7e172d5e70ace29d538b9066d644376d471496dc720ea997ef3edd014109038665186d84c9ac592b47e0c0c46e38cdd518157f994919dc87dc4fa899a59b980219fde90385b6f39e985f8a8c20cf5bd94ac3a9ca4cce3169056894daeebd836fbfbf9d7103ae8576eaa767c4ba17b50e084a58beac702dc717f3579b3b6ba74df1c7ae4d8700582003a96dca4d44c0d12e4a36ab0011073103ef8605660f3e5669b0fb378cc4e5504a021e19e0c9bab2427b0f00582003febfd415cfedd8173dba85e0c95e59abd01ff6bf218fd99ff0f55080973dd04a11b4c229b1efc1bf0b490368f8aac0dc462374d19505d561d677ffe053474714bd54b0bf5cb9eebfdb2bb800581f024999f9a99b98d3eea730175ac76bba9b2e16261dedb69adac8dc2daca6545820ffffffffffffffffffffffffffffffffffffffffffffa756f678f321a69786cb00581f02b3352dad06b8f8d2da19a5f15c9c85e91a3897bff982b3bf6595638c7bed4a14d1404d31f26a03616e00581f02343d65157fadcad5821ee87114c97860bc2b48fa0f12d08a31727faae9c947cb19840e23d5a60219422000582003995b759f2693df781ca90a1d9809b1d2260d870373098e6d95f7063795c1704a2abf844a262b119712c303e6ecc05a6e106d62b27930062b827d6573d748319ccd1c25dbef61cb12f51cdd03bfddb6a3187a7a354c111562a1c04e77be913d6b732680fe4f7d934fb64c7185034e172008bfaa11394c00fda3b0d6364231d2f312636bad8e8e41a2fab2f56c73005820030d204504b568dd60689b1382a0780adb9488792769af973604424a1b3506205820fffffffffffffffffffffffffffffffffffffffffffeff0cd3cc5470f8a5412b005820033837d038503614990e456764afc4abf34947e606f3f50993b43a79d16dabc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037a3c9797d64d9e122b6fee48014dc6c18af8043a3bf3fd134dd6a52462e2e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03734f95aa15fdbcbd7a9ae9a55bc6d37e5c57d12a5b2e90a7020fe339baec536d00582003fd8917f95729e9342ffd81bb9e3778c9640ce1bfb388553d86428c94a36e604a2962639a4fa3257b03750219fbfc03b2f992031edc7152bab9291c5bea60ec9d05dbb51c2c9140f640674a635353c50219ffff0392ea0a65c50013da8647ecc0cb7a1e0532a82441baad8db379d589677c0f5f1303ef8045becd32b0cab3a45f0b9a8e47d8982dfd85917b7dda16a435ff7c12ce30036fd8f2a584cd2a4efec708d9caa15e3d9078edb65fafa58d5a508d4e2b9abbc3031bb75655d5b1e6f55a806b14cbc00e659dd608af9016619f60abf6d5d729469403d91ee47032996c6a7954b108784543c6afc8242c59ac8b9377d0607986619ba403d7bb283cc21e1913303bc6212547e63205b4b0e3154a80d93b8f93410298e6e203b858e12d9da560fe1045ea78a2688f1177697a5b4471efb4fcd8802d3ba7b5fc03412e3d7c939b736e2689896f8a80d995a46f29824acd3a28cd72609d8258657d03f5661ca75b7c7ee0570423243931288f2862241ce3744a2336acfa4589062d570398d5e69f1fb6b9c7003cf8dac3a7bb33f860e2dc0b780644bbf49963d492959403cc46f42ab25ee17d9bdb334820ec0a7c142f8c56aa07c4d350237461e4b60d14005820030ce5edf42a09bf60be339d6388effca33b4fff95fae8970a3fa6d7d4d917d05820ffffffffffffffffffffffffffffffffffffffffffffea72a05f41b8d4342a7803ec05015ba0909564adc79895303eccdbdf3049662bdc3e792142b9699948884c03076daf2bb9756b131fac01409492724b41d7ba1af338c6c65796a84869246c1f0058200305be5b5c3bcf760e374cdaa95531c2ef678ef1f66e5653722531d85719a7e04a032d26d12e980b60000003d0f1f04a5be97b88f554f951680c34b8dbf59eb1880140e32358cbb22d6898480325c515a9679c9adf02b7cf5655969d5030615bc142b98482e66e1b4906f827c003565cb71373c00ee0f5eaff55527f18dd039c7e44269392208a6394a406c48044037d132b7f79cd95ed72e5f7bb33c41c60e88c31b231d079a842ff1d7c69776bb303dc648501e7b4cf343235d4fe92ea3c35569e871d8324d094385d586fd7b536cb03ea3ddba54b8be029209985a7f08ecb26fd5b154b6cfcd04b74191075192d75af039443aef827e603d40c65a68056ed1c51fcc8ec63241a9f7f1b4a6d79f7af620c00581f0264e2ab896a63344c79e797119a0e3f235bc58fe67ba7394d6962cf0f3f9e4a0defa295e89db42081c900581f026217f3d810655888e91d686c698639f66d58a187bb0cb6c9ab31a6457abb410100581f028f1dc0aef5b2adbe5e98ad7f4216d96dea9267719a377287af5cf03a5d024ad3c21bcecceda101a4ce021940090219ffdf03c2812b9754c79e25707faab28b59167482468ef9b194cac6838336cdafe61dc10390c93a600aa354b5f3f24a05debcda96b2439cef7e969b997fb86486da2bc1c500582003c8de6c5b6c89c722a7000d3a45b7e0e0d52a3b38a2dbb1a74521661c0653a04a505d4dfd24581fba88f00305a69309431090bdc83d88a56d174c1b61d6711d04e655c168060e8d06bfc85903340dbbb9895a8665638d06ee0ec68bbf9291781fb79d1df4d3c7e12cad88e98503e621e5704d1b8adda95beaceac83d81cc79caaadc0d12341f2fbadba2f0d387a03b9eda390bd09e53da63bf5e40423eec95328d6372425b795754a1e7506ef410b030648a1f4b7240092f10d7513a3f5448a37c680c1dba1cce8ed48525f2fd3d38f03716c3f6fb469a991e3d82be0a6d47555343aa147e4097fb138afbc05f1cf25a9005820039d08fe7dc0510d2af58dd3ab57a354d891a12546d4825b27427250752ac0b04a071992b3bb2a77ef25e80330745caf4dc43cdef3b2a96b71f336a22c6ab6c443ccba3581be8aa64f968645005820037d7e40aaa451ed1b5cbfbf37eff602b74aaecf659e565b1acee30f1da90e405820fffffffffffffffffffffffffffffffffffffffffffff1307216d86104f74a4d00582003ba0a6a5e55bb50a605c35b2b1c01c4ceaac072d55f3771ee7d82083c5a88e05820ffffffffffffffffffffffffffffffffffffffffffff4c01685d04452bce10d303733f09c0544a340db36c653c5b1a63006a887ddca98f5d6c1904e8011dd699f2030084121c9b7148a86e8d65a3f0cef0bebf54d37e038b5278c3532ba77acc8e0e02197fdd03425d8c214bbf44df68bd4fadebf72b98ed77e2ad4251df9be1de345442cc612d03853a504309c65e1f3bf2123f522430a9fa6d7bb56c6d8bf29aa8db5012e9a55a0346b044b8394185d2922750288a48970b5dbfed8063955737c59c8d41ae890ef303db240bb05acfc47da4a758b8e55dcaf5f4306ca86ab3937ebc2c415f370813930219ffff03496945d2db41ca7aa98f42a47ee97fba26d3988cb0d0cfd52a06d55e6b36c56503024624dabf0268de970a6eeab7b242f7edcc242fa5982ff4559a3f2ec5a17ed603e46ad41b712075f71ec725bb053599e8d1156082fd9ab967cd705dd5730fff5800582003443f24e38c66b008d18e550bbbf0a8a2098623f881f15c8a3c576ef4a23dc04b03b8c23a4d6ac71ca5e94b035bd56100f89dc2b90fb4a76df257b37297f86cc640154d911be208a7d96705f900582003763e4b395edb46c181bd35d5b8f921299985b22609678faa9215f80aaf91805820ffffffffffffffffffffffffffffffffffffffffffffe2969d4ca775dc1162c903c730f0154993860218f0ece4a2404d86d9ac1b4fddee77446313d16446b30b0b034503087de05de721dbedccbf9d6f89af3039995896641f08809e6d8c1bb988670058200389ce5804f96a93433a7cd4b6b6afa94581607284b8f11edf8d2a25ad6954305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820031b3f383d3f87409a745488431f3539b775985dd998aff6fb68cd913c2797304add47b1acf63f3d4ba57600582003f7f1259e3115507938a9b4dd8e0da36e6aff3de927ecc43466bdbea192505044b2212de2033540da4aea2390d7bbf6342c6f15535f5541138f08f608dcfb183d3d591ecba403514c3800c8dbd5b9cc5a8afcacd7f5efb8010f275f180a36d3da303b8b1c34be03cdf732337fcb4889fb9f04e31298f98529850fbff1559cda101009c376b3cd9603b9942e157c0d2e2af21c6f4670162c4207993b56b04238599cadf70281d1afd90219f7bb03c4b8a466d9f2680ec972fdf4e681b9c433501081226357828f5d5c45b1e825220058200306e32dbb08a2116ae9e0c67fc03052141c06fc74f27fb8a2d0e7497eb7c6604a05ccf6d4b8217076b4c200582003d01cfe93cbbb767fad8c056e812ca49cc5a3ede82f74e82efa6e9b541ca7705820ffffffffffffffffffffffffffffffffffffffffffff8a6b5ed0cd856ceee3d1031338d447ef093ca3b3041bb7d83fd2e4a7eb9e452360ff835bccb21e2d346e3e00582003e79cc257fce05a25fdea0e2bea6084a24b4cceb9d5359c6c016e699fee65c04a08f4894318d0e08312e6035180b40c08c4d310a8a164084331bbe753127cf50c2fd699656ad75f7ae10828037ece169a398d9affdf4b9601b1c27c1c0a08230b37b70d9bee58984cd45c642800581f02c2dd9d4324662478cbbc2424d03625128b07ef1e6049067b16d572c9a7b15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02d86a94d46d963a663a8c909d6eb2419a182deb48c64fb6881d68c041e86a4a188dca7ee6018b55b42302188800582003cdf674feb21f72b192fd7349c8fb5ad24bdcfeefabbd05c4fdd75b4593b2304a0413dcd7399a6576539303f3ab56ef85c98afa7a342f5805830a44bf3e3fba749df81a932ce788ea4f493c03405e0075650259205d2a864b6c9267904765cdcc5d6cfe5bc5d27da4d51d3ab600582003e25fb298a3d0b5b02a440c91c6a756f7338f32daa987774cbb31bc992fde805820ffffffffffffffffffffffffffffffffffffffffffffeb67d023c527fb7bd7ca03e85cf59e1309a0b17838309b36f3357658f699a376f7da2fa5338bf41e0a6e0e021977f603a549916ea8c4c07e752108c4aa2af0903072b9612c10b674bd8a2acd52ecc10003a31c0dfbfca47e7e6a98d7494635bc94f22ede6476b5825e198539c3de2fd62d0319335100af5c4d6a10561705d35c327f8e4f60edd77401cbc0361a7f9711afad033b3f4ee2f815b29324dc36cfadef192e61774a290d8bf9ca417a07d314b58e760337e3db30a03dc197b291503ab06697b84db725d0e5bffe4862b82ab451b38d9103d8902f8c3c0b884217b92cc15bf7d9365c93735dc71a0bc20eda6f1f49b81be703811be88530bcd1fc143216a6f6f220e8551bc36701dcaae056ef092bfba60cc10340c9f1e10ddf9ac2431288dd3365deb3df6c8fd3b8af9072f8dea717f7e5dbb803b5ce2282a22b4c5ea599a3dbb8bb4ee61bfb494cc168f8eff5e13bb962c1ddd5038e2a3c00d5d1a25d88bbf4b1fd32df4be2f0108c191998d58f3f25add8ea1814030484f54beb554c4027b3b0e172ae4104a34b515a75621ab742e508d5be6f7a5403c8e9f2c00b52850fa55636d0197c359ca68beb973c064e77264843137f33e8a40219ffff03a7c1fff649ba70843748e9d8b4e6d45dca26be466e8257978b193a64b6ff5c270303823617dac83ff10c8a44cf8174f3b08ec1ab2804ef87e9312aeed5ad5bdd52005820036fd5399cc0b22f2f8b1afa6789490f7859754dd629935808337609174e1fc04a1540c20d2aae2732e8cb00581f0203263c1ffcfb2fd5b67d7f0a1d9164c3f73f06788fbe0b28a627e596d1c84a31750c2933d01fb9280200581f0260e80e667f1621ffc347853f1d937a9a1d8b4c75d6cf4485d7f1bdb3ad6f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02185003b076c0de3ffa2691a40ce055484a2de14d9a48f8a925afa48f593c7b1bac4f78033ba2cc8068220d079e8d99c99f7209460f3534c3bcc7c9e35911fb082fe1f0aa0058200390dcf48eeb63b3d7ae7f307eeb5fb6452a04fd40fdd5bed4ed7416b74d27205820fffffffffffffffffffffffffffffffffffffffffffff1b2635e1a2217313802005820032f084e1abe8a882ce569ae4f352953ff0049bc3faad1459019aa7a9666542044012580fb035345e7b63768eb10bb82cd5213dde8736c46183beab4231586d9a8a2fcb3501803c5f5ccd858afb4f65543fb5baaaa30eb540d06e3bfaf8d5f70fbc6e576aff2e200582003b05038b60890ffa111b9d02e4e5dcf638595cb3188c12713174acaa3a39ac05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b9214777a4806cc12fcab456ff01ce5dde9fbb76ee114d6d97098861524e05eb0058200358ddb36d3cb8aaf548cfe40b14c9367357ababba43e048526ae054eabe59b04af2116a9fa884c31d53900219eebf03d1949863dbad42e1441d8034f2b70ea242df3eca645777b8ed5b7f261358ecc603d16c65005984ece1de4401dc5d545ba8aa5d906dcc5a4e80f1344e15f0ae838d03ac5a3dc5e079b234c96b13c7e6ed2d85b0be83df0d94ee69d5635faba1e151d903ed0a8f3cd8a48db19861b14a001867f3f8097d57805bd0060404cbba3dfdc2cd03ea60963ee8fef6a0df12874efe56fd86b925a191d0f517b414920ce17b810389036c3656c96f394d7de25610fffc19ebcb44ad64cad9a64ee2f1633b41d4a79e4b03448753eb6316f7571f49487925f50b8b234885d57293fd50812aac6c7fefc6dc03f5786ae900a92a3d75e83359272996ba2d0d19292fa0da0e1705aca37f333a5a03b3195d4419309b2a08f426a28d8a8cc406222afbaa34d18bd06d277b9e47217903971e6b0b0fd5f9781e79fded52ce90d6295fb2de60364d4961720933042d17c2034c69c5d826dec6f3656f5046c947dac4578ccd1c9d715c33ef35ff8d23ea29b903710d0bb700cb369b9e7206689fca6017b95a64ef376b5def1cb063cd717c533e00582003d63dcafe3d696aa9756b788b5c98ad7f18d254aa4a49955d605619d16fc0f0410103f189361f6827996e948965d9b205d124d8caaa7f55cfaed6e5a7b63d799bccec03223f254311f7d99acec5597d90197cc8d71c28f6be3654576546e892aa4cf879014105005820037fe5bdb9fdb1a7118c5b9c46d9f8110e692a4bca76141f4537a64409b35970440125811700582003407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f044012580fb005820036a9974be1fa6ae2a1cec30cbf6ce3d08144a8695c0ab51b0f1d72729933d504a068131e309d86355f81500581f027816383bee25102c1bb87f1bcca6f4e9d32aabc6011d48da8ec7e6bcbc904a0ff7c2e53cacbf82ae5400581f02dae87f355b8c4dbbb912149935c83fe8ab4acf374b45a955090b5ec6027b4a71b4dba629685ec498dd021990000324853a7ff8a328e23afd89b5646f3147be46edddd34f8245ef39e1fb9461d50c03db7d8958027916542f026657f7cc9df7c82eec5ccf3399071c6ef829a6315f3e0141040329e52f4b3bfcb651f291376400c5f103f3aa735db598f37337d2a57d8ddcbe86005820037a8d5c675c1de850db04ae2ab124114c6d99e527e8e6c0f9bfa0c43ebdb1404a01d40ecc79fc0bc1a41a0058200329559932b8f2e8b18eacdcd09264cc275aa4d50f13e31437dc8ad8e02164d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200340a87c4f87ccaae2f4e79b139c04a5db93db52e7b5e3287d113934d38bffb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219f3bf0339ab70a87a4fe7212c4cdb1e5394907c60148edda8793617cbdcc686c963f1fc00581f02f06e16460f47d35e50992e6f475d351a92e60ba733cd4ad87d350ab852d34a157badaa2510f908f37a00581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4a69e10de76676d080000000581f0208daa3cfbd1166bd9375a5362a13c470a157dcce6fef50a5d39649da746a5820ffffffffffffffffffffffffffffffffffffffffffff4212bd6548f28e26770d00581f02f51a70848e7c8201258e553b80302df97e8304b2d2a3ac4524f98c63232e4a0ebb62d4c831b3aa1c6100581f020f2f749f047079e2e7dd25fb9caa40f7d699d5a7c612224e4ae24620e0fd4a2fec7abca24172fcf4d700581f026cebf3e7d4214c754a0d2c2e59aec25c0381b7d42bc95360e9a9c675e66c5820fffffffffffffffffffffffffffffffffffffffffffd1d33ca69106fb25ea3930219c862005820030570d0cf7d2d6e2119b895872ea63830b2a0832012b7f7ba788be505b60fd04402c87eb50380d6024068444eefe06f05b25fa56d7e1f9cef0bf60a7ef8e43196786e0e62c801410b005820034da39a190f7596b03001411c1336b24159fce3635ffcd773929b629f7249904a0ba2cdde5d51b9fa254603f9131f99a9f13604969e113fe6a6fd49607cbf27f5a09acffdb2ce2d473bbc6a03c4be16e025d43150d28d99c33114c92cde5270a00bae4bc0dcd53aa586a3a49d03e865753fd51ac293ae7ebe9959d35874debbbe9f9e9e43344511fe7819823da30310a85a7fd4f7685586003a12bf7353dc025101672944765027e7cbadd33fd483005820031d98c7eb0f89858cf4f7e11eb9a240690368a03f6449c555204df6ee177aa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039be0b1b548e028facf07a1ecdb29e012d86b7428ce3e0f7cde7bdfd5d46ed51a021932ff0335907f4f3cc7bca3506f6dbdb98a05b0200efb115b9159695906bed49d960fc90219ffff036cb02b370afa8bac391627b244b68f66b95f7cc036ad90113818021b59ce00ef034f7a576e5904bb09e15112ec1e320f2e00177bd776cba274697b21f91744c6e003b2e75ba6d03b67895dfb5dfdcb0e116ce786d0309a5433d75a102e24bec046800389fceb7185afbc640dd03af03825f24a5c38c1482b03041597de9873102eab23005820030bdfd5ed50c3f872807a20fdf9f6fdbed8ec915ce30eec6fa3a433a6a4657049019068f0d311ed1dd9033bfaed98a2d1c45f63a27532332db1c93f795ef50dc895deb69a1b073b6529970313e056d88deb863f22e0b991eac9b3e91247383b115fa5f78019093fe04bffcf033bf9815c99f1694c0fb368f69e6953ad144d8a6b8e919b75f2f26b34540cf93500582003476e4e618254bc61351bb47cd8f4fc57f49249e2193cfa5eaf843d5586fa805820fffffffffffffffffffffffffffffffffffffffffffffad57abe5b2f1a155aee00582003eaf7087d8f7222135b07696ef1f79fb8414c0e1f03804cc0962ee94bd496d05820fffffffffffffffffffffffffffffffffffffffffffff8a81fac746581fce67a00582003e487de3a7ce6d91e1aae0d8d32ee2609447fbc1290d2ca082193846ccb8f404a039c87b4fc9f79e200e10395cb2579eba33fd0c2cefe7e680459f47ab2d98abb9c9f0a701afaadc0e5c3f200582003c4afae13dbcaf2ffdb52c4c752a06c823d5d1911a8914bfd386ebc3b8e2eb05820ffffffffffffffffffffffffffffffffffffffffffffefc74705dd4dd7eab3ac005820031c00149d415d4d1aca9150a0fa5dcb67b25c3d3c248ab34d2cf60e6e93eb304a033c6e6b9fd0a9998ec30219fe6f03926fe22fab9fef6cd3926f4f702faa039226c7dc7c9337a99efd78bfe08e7de403b4890be0890a3f925a92858b185a0a799bd3f0d074e42c70d591380feffc818c039035131af4b34c7a008799d331a6562349b96b007202a1b671d230d64974694603a7965c051a1687095d5dfa7b8a81e0cca4895ad08bf34ed2369434ae81f81ab10338a76219d3808b96968d466c8e30efba90ef2fee9a328a58f0865fc12d60da3b005820033e749ce40c64129d16f7022aa179c45e2a54b12d4012771cf77109229729204a0d15610e916ef78d072200581f0218f0b1c6418f719f53aafc5263070c356da832559652b2e1abe27cba4ece4a01ed8a857acdf203d83700581f02c0e6177ed1be854b2a136f9aece9c4f9a42abc904af3fa3fcdb6051998834a09d5b2ca1a0f890eba13021904400058200353c8713af4150eec04580b94074b10e7850dd4a861ec59c0c4a5068035ddf04a2f51d833c63b23032fbe0320f4cf98fc97503f93dbf3ac7a1b213fe8396140330ab41f28cd7c46772d9df000582003b4a6a85dca689ff42a13e160e4e2b019e3c5aae6f875cef9f6287e250c32005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820038e0710a0d1b2e95c38ecd72129acdf53d166d443430908c37218e04a667aa05820ffffffffffffffffffffffffffffffffffffffffffff79d07d7c7d42d565e57c033dda9a0aac791cb15acdeac7e7eba6bea2e78ba2e786c7815f743f0bdc1445b1035989728815e72dc7a8185fec886c1dd71d9ac2c6799393cae3efac8c385b1037036bd9d309e7a80d275f7c7bcc710895041cb6e69b52d7758bf7f892f877b9411d0395d6ecf35fd80e1f982d816ce1fb5eeb1cb14a6fec320a4b977366867ab4b80f00582003932dc446c34d719f6fc75c9ac079a7c89922c9dee0a326363ec1d5b54069304ae6698eed038692a4f3300058200316da96d0ca98dd82fe9ad2b01206139ee123c299a085eb28bf314b23bf14d043a101f203068b1bca96d1134baa1a954780caf72959e8ae49e2562f4edfcfde72fc364e4503ca4fefc82c4a32117c738f13e71953cf3620fc8701de1274535c4eefc08805a70141090396588221dc57b55bc1e02c2a7696de732f53d4224d29c3dd4ce7769238f1e75b0219ffff0351f8d1b2722f5b73ea46cade10e1e61ad2aa79b6916c4ac5ca3199a4c61dfff6033c80fa9bcd338f9b6518f9c9a56b7b774db210abfc59d221d2f846e9563cbccf03082885fb74ac9c00ef36696e6ffc0505ed9b25cf6b5d67d79f75f856f12ec53e03050e70e660eb8ed44baf8927592f7f5f4f5ac39440d324a9f1b30da86a54c12b0387a23ee8b083d0feeea899bbb4e13ece805a42c244d2d0a338e221ab9339b59603068c6cc400a690c2c850e644e82982f770cb43dad5045c16b2b083cd368b21cc03cda2dd572c3f2c92c2acb541382e7f0f6e795c38748385c5a2f34c5200a4a7eb03c768d04db545b6ae8e67ac6dc0fb37f599acd3831f53dd3b7cb4f9f3104f005003bc8a18d2d196816d811adf48dbb1598156ff2110b65dfd735a356fbbc7b5e16d0219ffff03b7f035514126705966161627f2ed507d0a4da14e0738babdf73d60e2410333f103856add2f3b64df524df0e7167c36a1a39758642e058e551693e3d05bc94074630312ddfe60a9b075d9df268c24692d64cb66fef958fb0a640d90fd6f1e31a4249c03f367442f5ac3f14ed29330e28c97e2ff87448ef24ad28830b3a22ce36b2f059d0332dd99f19b99584b2bf7a185da6b2a2d35e93f329c105698deed40f183aed8a003554d7ad1891a59b326541ba3b51370ad0e16279eae83149eb2b617e9a1e2b28303749bb630a07143d14bb07b7592bed46d18764329b5ace14fdbe498e246eebdee03105eca696d9072ef86f4b2d627cbfbdbccb8f5359b8f731d75d430d015b4e23b030e61ddd3fc8183a6788400ce11233a631385c5226d2f3a7b72a3ae0a1edb827103575277a2c83281d0cd2bf9504fc8861d98d5ba5af26676f840a2b2c0f61b0ea4039d9e261d27532b4c7bb9c0e8330c989d6e7d34236288132b75f76cda05c34832005820037c7f46e45c7266f18ca36d38148d48e7137a5fcafbf38efe6f30d2e33f85004a0138fc158bf5a4161b05033837682c2d041fb0becae78fe60556d1e3390dd3970560c6a3ba061ebbbaae3f03c5df7c7525c7579c28f881de7f19429e05ec4c6096faa3f6836efee450630f5303c57e271aa5bda2f638ff10563670845d233e40d8c19b495517f5f3d680afc98400582003ecb36ee9af0525e03b25321ac2729605c1c64ab16333eec74ea6a72f268ad05820fffffffffffffffffffffffffffffffffffffffffffd1d043811354b80fa0c3d0058200351e16141d0207292f5dcaab40bb46cfc63db153ca5661d7dd188bc13f536b05820ffffffffffffffffffffffffffffffffffffffffffff252456af51a3ccd1167f005820031a5127382ed0eae8bc201c9859bbf9dc9024545048191de27907063bf4cbd04a4acdeab5214e3308d20503bfd85822aeb518b27fc1f3a3304b8dd265ea0be3aa68d64cf841ff7460ae109e03327b9568099b897247164c734b651bc537f1a45c3e40542d0d6bbe4ea51c2ff300582003acdd1e15acf2248040ac4e53eebfb0b8dd18cdc1d14f2b767780a9c084f4805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200355573e75a6e643385493e0733257e8121f877f245827bffbd1e2dc08639a704a10be72f3e6b6ea711d7800582003c6ff62a7da846a714bdb3dc9f37bce1d0d220483c9d48427b86b6f385f1000430dde7e03c189c521f3e42c6c902da87bbca45a409ea7e104fa01117246c30488e736ee9e0219efdb039f0913696b696a47c9d8bca88385b8222cef157c3feb87f51bffb5a72cd97e4e03554674a9178b422085876066c042902091fc2348f6c677371799d915fcd563db03afdd37546b86bd4a6edcb74c8b1c45eb9edc909de11fae86502f849a8a7a4fba032c6e253710c06710c0cd2810b41926b93f3c5569eaac99365f61f62598d29d550219ffff0312282d9ffc68af8936749c6a7860ea07c149532dd924c8da12ce0b9fe78df4540058200360c710f4bab7cd588ca702b2cad4d9c0dc0fa9156e740972a6f5799cf2a7304b011e2080289f14b06c344703c34098396d926705fff84e199794f0426e1efab7f9f68f530ef8148a73543b330058200350261cf2be660e792c2e11e37286128b3ff47f40a4bd5c2febb26ef14f6400410100581f02301e3554a8d1f76715639ed0fa6583f4f8209344002bd08fbd17f249eb664a5d1b1cbb10d8a6345a4100581f027076b9cddfbefedf5719dfac5d20ae2e208f8772dc40c508f0825afc67fb5820ffffffffffffffffffffffffffffffffffffffffffff85ff6326a53a3d0e02b90219030003a490d0ea20c3b9de53fce33c2cbb347c194e1249bfc5fbbcd6413eae0503f0c8034636cc8fbe77b3e15fb4516c50ef9a401c66552e79730fcf58584573788ed02700582003aa0aa7763a2a84bf9f08e460c34906adc2915bc345ec69208b98c0f5b354005820ffffffffffffffffffffffffffffffffffffffffffff9b3cd6ee76e929ce07b500582003f4b79fef71ce12cc3d49e6af41de1c50967937b0f77b2f5d36655de46415804a4381c664cc5cee329c6b035031d03d4ece960c8f91bb6c84a9fa1530707bca59c4253576d78feea876f9b800582003caa8f6d5042d526da4eb3f94b3b028aea98dd8d1e793b216984ffbd880e4a04a1143f2bc456e290d97ac0058200390d901fcedf23c16645081a73060b38c90d674ad8ec9d2c94593720b132c505820fffffffffffffffffffffffffffffffffffffffffffffdb754cf14f65f1ed3460219fe7a03ba2d10b60676a72209423eacd168c9f8b75062c0a0971e60d6ea8fe57fa8645103ddbd76553d98090d21249500a667e50ce4de881fb44a00f3db0628cf9a49f84703033e17a419e72fd22f034530719e4b01b82806d0e4ade0967ef09de04aeb6fa803456a7eac4c72759a37eab3e96b4183dc2b70c79e24b874aa8cf5c54e2240f2a803f171c9cf0a6e2b1d8c9fc7345ad45b5e67e360bd1bfa274e3b90482935e0efb703c861bbaa898b5f0c6ef599426f4bba0ff06f795cadfbbb8c3a7aa11c736a2fe70396cd1ebd46d359a02e94f0d1b11be81c2a27e00f0320b18b75482816f6c5ff030342b108f42b1408f432a3ac53a31faf33ca81b218a64b06285c8acbc984bf007a03e590ca92e13ba2e749d1506bdc36b59817ca77e6f6e81016fa776b084449e362035f56b3237a2879b871cb466b8f4716e8dcd30e2a735eacd7cc123e6672f2fef40058200382157641f4e93a50d467eefd4125f3face7f50a12832561111d03ccea248305820ffffffffffffffffffffffffffffffffffffffffffffd79505e1dbbed343e3fa03094be12f8475532fa545b92310ac8a8552d507883549f3c2cf0382f0c316330403e5619305928501201de8c0b9681ec5367d473d1b64eaa61a4269f6cf76fa93850340065f3128646ca26fce0015b5e7c44caf824e2129a169ed9aae12c96484bb900058200383f049f4187f2285b01e0b6eef3251749fbcb333d3d92202ecedc35fb2a0204a03d133466e72433959d20058200395438f6cdad21ebe19b361c0a7fc21c9661f32c05f0fe2653cc9baf4dec1804a0177e937989c080710a900582003b91d1d7c341718f9817c73ddcc77c57f24cc023b6ef3c5eb5aadb2e43cfd205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b798a83aca44be0aa50c8c92a062787465684474a9177217df752ceb5ab2c48103f6048e9d040d6a717f64b48f21576819f6e25c0ca9eb0e499c12ac052b65c9250326fd3091a72f974248ff1eeb2b5ca1b06e7e7a1d159680a9aa7f80f802439be3037198e3d32e63371a6fbaac74bd9fdcb0a8e650cc0c4dac7ae75b431235fc799a0370b3acc6d682c19128bed68ac62d00d1fd195d700067870528933046343481fd037372061d841f52e34905693d5db69056a85c47d8f2f99dd2a6eec59afaa0e8a903f7a257d0e5bcdb5248471147e61e3b5e8117bbf289e78f59365e97d5aa93e299005820031228faa59b9a2cdaf1d0ea8667d3948b0cc0c5dd671fd080a90f845ae703804a04a568cf8efc6e1b4dcc0219fffe0302b505ce68e4caed537d3777124acb8e9735776d5d8c0754ed58f3389eccdba303b00738ebdb302cd2d99e28495ec0fff4a0fbe5afb2fc2f7fe815970b9b49b43a0325c96487af03af0256070aa85f7ea9a75f0f5b522914b3090b47d51de3deae580355c4db9cfdad45dd142422dd8ccd13cca91cf56dd08e04675e17f0294e30fbea0219ffff03f678aebaac806420b09b1d81d91c495d3e4189bacbfc1dd818e6bd4899e031ce03bc678eb2d69a4ae59b8a08882db86f34ab81964d7fbaec573a8028247a601c2703e3020eeb3800a3036730f08a65e09f4840f13f249abbe362920edcb99183f085030d2b508172b9b5fd349a062ec1937b92727cab45c3bb4d91e886a6b25793c58a035c6c4d17c7382b6fafe4ba06e2de78be3a1144c9398a5bf612a395496072971300582003b713e12d133536266050ceed51a8d3699a9c48f7ebac3a2aa490d9e4aaeb9044013bc32003e0808d1b613b12d96b09fed2707f6e59dfa2a2282625fb51256407d6c5914c42031ce46ea9e6c11850d1675ff0da8859b2cc972fa5a5eb0233f4ce85ee37ff847303c0b18fb969ed7c4a02d581cf10711bf5398db3f9aee155af01b35f01addb042a005820035b48edf746e0c97c318b9332370be06e47544ef414ff63b7b604e03cbee5205820ffffffffffffffffffffffffffffffffffffffffffffe25a95b4f7ca407fffff00582003a660ba19171706fce9f165caada02c19ef16865b8f9f512f40d6af3a2383304a26872b05690dc4c3df1e03ce6109afe97a903410e7e811cb290faac6a23d542d408a582fa4a60c73cb7bb20058200352644887cda81db963865bc25dc216455a78387b7171ccbc0f9b824660d7b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003156304d316789033a238a3be2bf333cd079ddf345f9ee61d499036292449005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200344b02282e03c919a5dc22b0e9a823c004c09f1171045ee80d0a1cf52e2a370440125811a00582003a3b8dbff8c8b48afd1e21bb951e2c188278e451458ddc0636b019eb4bd4b604101030a8e490535eb21d1be75fd40e5c0c897726d921b1efe7bf19fbfb1cf223453460219dbd70334513b7d897aadd7dfa4a53ec787ce5a8947bf6b8d413c05d4b567b2dd537a57032c43e64aed28689415db10170a8cc516c501c8cc82eaa4bc89449287726292c5032844e110feccc5d7dc1a238ebff4893e456b104fa254c8f770f1df7915c42fe303c0286ce3ac4e863a97a70da51c96f502b4a4639aa3e191f32a15497ae07e5478005820038920db678ffab44e931d39842eb81d3e8d550e7a6b2d58c64727ae289245904a16dcc87569945a7d10bb0058200375df211bb8cd702ff56a19be778de36eb7d39ae10828975af13518c84ebf905820fffffffffffffffffffffffffffffffffffffffffffffac71a8dd4719162146b005820038f56fce465a9e1a861d1a2658ac1f4fb79a23306e550e5fb513dd32c06baa04b010265954f82ea6ece087700582003974fadee3cabf664849aa83453c2e9951ae458bea1fb599fc12b32b5fdeb205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02829356ac25720447ce0aa326f57127b9f8f384524cd0f1ede7c89d1abbed4a03dc86c9fab14aed659e00581f027918e1c019abd6ebf517a25af864e8db2ed3f13c92fbece93a746ace709f5820fffffffffffffffffffffffffffffffffffffffffffffa88326f9ca799f5967202191008005820031d2c66b1971bef705d99206e740c628f4d72a867bf4dbf2ee9f714a989a5904a19b4375e2c48c2a207e900582003ec6e8ccdb6991ed2bae5956f653362deb499fca825eae62a1fcbba483527305820ffffffffffffffffffffffffffffffffffffffffffff7a31bdb8ea9a41fbdf5403827ba7bbd67af8985a1fdc9b08f093d04ac74c16e61badee978c528cb0c9b51300582003a4c5cd56d47a06938beb5387fc51547ceaacec08e2dd5f95aefd7197aeec805820ffffffffffffffffffffffffffffffffffffffffffff5bab8007dc8563ec2b8103a7759ef1f65b45bf820895c8afd25ed0a91427316c8bc7b90ba5e0a67edfc3dd036c9a9d684168ee4d5c0077f6c4b1de8aaaf965d80ef5246d31d929d7b2ad90e30219f3e9035ec027f58c82ab2957cee22a12fc439b36f914d31f814412c8bde158211093ab03b31677e1635340758c8596e3236a2c129a85a14059939bd5b4d8884ec8b80c2b03a9a3875cedd7a66d52f0b54dd54a55129ea87f6346bdbffdd67dde7727b6dfcb03cec51a8c7915fdb232e0db05eea9d6c3b06553088e4b98632bf1902fdf37dd19031a9e8e4c0ee706fbd2637b0727779738ae241ada480823549cba0e661c8e504b033d7e83e205aa761a71a85e005d180fde7b1a72a87dea821416a5341b0d5734d603bf8b98428b0790bc5785f543ca3f54c30bf666291c03b553c07b61d3b532211100582003fc8e3537f4ec1ce295c86fbff85929b89f4d7444de772130ce5bca9a437fe04602c1be74b47303a957b1576a0fb3c9ad172ac0fbd69b69ed948cc09270662d7122faa01669fbfa03a685145b6b0c23811c6bb54292150c6efd0260774252a835812cc2d43e30c2ef03f932b1d71c09a5f7b65c1106837bc7deb29448b84c913c6cd15f471a9b9760f703bc10fb288eaf65eb1aaacf235909193216224f295115eee22bc43c1ab4a35ba60361c4aea80c6fb26f0b9e790ccdbc2543e4a6b5edc78ed4b87544a6f1bca1167d03999b49a15fca0598afa9f7bb367e7746670af9a04ae0499bb5a0244b221ef8f10058200358b976086745cdb7016510b05d7e65d2674c620bce00d2adc8e88d0a97df605820ffffffffffffffffffffffffffffffffffffffffffff1d31df1b5e4ab9e2fca90372d49ad7b0eac93d35d51b1231f560a61f460a93131538ee33089fee4d20a00f03227d3d39186298c9bfcaa41e83ecb02f14b6ef4ae27d8df530f83070362e45e0034eb2eadc2651f410f8a84cb65a487198ff4726eb99a63bd46163d2df2d10edb20219ddfb0219ffff03d6ade5a64eb5cfd89de7f54e5390724b53df57f668e8e0461c4faa40b735d73b03a49dfb0687ef1d8b27337e6074cbea9286d0887b6d8a5034427cba26c596154d034f00a3d27277c2225e3d0ad4e39811bdc5e817b14ad341344e9eb1e1711de34303f47ea75be752a13fd4c6fc4c35a917f3d71a29ec1d783c37d6cce2f487f4d53003fa068901e8b18d39c3e71154ca22fb14095c1a315f6f43faeb33ac612b4c79a40383b8773d32c6348abbc66b44430976537897125f3e1b6811af3b253a0023959e03708e146c275ab95371b9f3b49f7a14b3fb482f9934e5f2e0b169ccfe92ab599400582003ba3da6db014923c2667d67df4b511b16921ead3dc8063683f5e8c3966578a04942df7ef487ff30421b034cce8f0752da6d462c65c600eb594f1bef88e7ed59f5c884b9776aef73d3db0a033a74d622fbd504b9c30e11a52827503f70f7ea17629bec0e2d962713f65a76e10058200356bc87f6054904523298bd7178eee0774188251a494151180ca143b9dcf1f04a1935c5f491575a93939800582003489bee88c8d3f4854c0d070daa3c0710c29761ad6e0c6a0ea01700170bdde044052549b700582003022c229d7701eeabc0c9f708f7814e0b957f1a223608c4a91f7bfdb4571c804a204ae3cd0f5ab8bd3853005820032b5a7727f7ffd8f7b91f64997adfa6d37adf3f3c300acc3f1ca0fbed3662104a654fd00616c2be9d4aa10371899176f8f59215b854b8e5d2214c5ac9d0e71789ef7edf6b4277f2526d8cad039c99f96e06cf8cf4923541ce6a562122673f76b2921859404bafbdd80b0b153900582003cb0d3f4571ad6cb04c994794e3983016f65d0542a4d6ed2225bea8b959a700496463cff461b58b0d70005820033fb99ed52146c72ae2aede2fc13302c8a47996d073f2355e53a0a773c019d05820fffffffffffffffffffffffffffffffffffffffffffffe27d2ea756f92d743c100582003ce4320abfd6013f6aefa1f747a6f9323dabe5a2fb7378c2676fc7b154ba1304a72914d95924daf7075450219f7a703ddd06ba038dfb022aee303c8ce6918e3b0ad8c870ea74764239d05a8884a2f8c03a61915884714a456bcc121030aff7a45ad285e1fadfdad1ddf82b7366962100903a680ad45de8ea4eccf1891bf405742056c2db5c7a35fb8524c88451aad8a3745036eb4d4f97c36d0c7b5b6bc9b87d11a83e3521c2df14f9666098898178832095003980e6ded6839e5f6c7b1c5db3b02176861b5c50707e38ba32c745e234f472a6903182244bf9bcbde89a4d94e36c6a7b3582e2bbb691eb1da10cb2b3cbaa0f3832803815d6f08849f06aaab3af7557a6d11a914007711e60d86b4ca6a5469c15f77a603bdfe34ad3bedcdb157f67afc150e763ff6f4b2260e9e3d1db85b8549c85600170058200381ac85231b13f90ec8bfd6d84ab3a9562f9e9ee67e6cffea200f7d461a3ed05820ffffffffffffffffffffffffffffffffffffffffffffefe2110f4c62102856db03045ebae982a365fe51e32d35c43d5292aaca35b88d07d15980a8cf0b88e2891303d4ffd49dd6cb88b192a1ac481658d955025b4f42ee3422de4598c7e8b215ed8a0321046f1ff729c9e9fc9b80b445d9f2d34340ad8af581e89396f4cf1b40c9396403e1f1620c1039c05879b180a9f7243174abf3b558d9d93ab2bff898ac6d2553b70379a01f41166c7723bbd3fbaa6f20d76c9c0daf4c0ab8436ee91ec0732c86484100582003c2261366b8d6fbba3e660b7b2b276e3934819dbdf1cbfa57c9c7a5709d9d505820ffffffffffffffffffffffffffffffffffffffffffff78b724bc294063e5612003db854e9ab0cd7394bcbcbc8705341a98f4deb32ead9c6390596b36226147ddd803ee5a86096850a1add9e5e945eb47a084e084119ee3639b3c763d86a7131b7cd200582003970799357e7647841f6bbe5e119b1a495c86d537a3e04c4a6f46b8b2e8f7705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219f69f032d6bc01e1509916f6f4bc0990524ea6e329aad9ca4dae2c1aaa6c8b524ad9c410219ffff03636706137e443c6d10332e38b6121756da621ddf759757813685f501e1add1cb03c1f19c6b970909f1b1ae06d386e33234ba81e225b380e4fc9aab193c08f9a9f700582003bc623ec53419dbac5b62d20e4e4c39bfc53a4df9f32ca11305d2b440643a3049a2a15d09519be1ed7e00581f02fc9940f14f6a015bac76da6af20adf28f5dc95681dd86804aba23a8c22e34a08577fdce7ccd48fdae600581f026939044d8fd7626cdacee98d54257e937976afc8583bf5588c75aa2889765820ffffffffffffffffffffffffffffffffffffffffffffab56e4a89bcc1bfffc1700581f022d3a557171ff4f6daf8471749d61e40953007f0fd8f5090c9f2fe989f3bb4a0167381d2fdcc2bb1a8a02191088005820039796430fdb9a80e379dea54f343192b603bacfd78a4383d6c05cd958aadf8049c977602b6a6e02d0ab03d7fad172446388f648e14c95d2e39d7f8025d6d796ee10988ab53304d75dd53e03615edb43cb746fe2829d3cb666677476ca09c606d6497d6c67662bc862cf646a0058200332d9bcfbe2505c6111af2286332be47651f46b48ec0f0264b25f66300ffcb04a0dbe7504a93fa09043f600582003b105a30fe0407a814d7c167a4b293217fb8dcf3580e6ef183b08cdb3c84c005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f704193bb25ba789f2d7ef7ae2948c7e787f6252c6ea857348839aa496c8f23b03f72163341241213debefbdadc6b9f2e13b4355c374cd372e0967e135f24c647c03784ea74d5c3a8c264b89086030451ebb3fa11ec7c9043681bec2964f11286c7f0058200322bacfd4d733d6c1f68ba621c520601bfbd34c23175e5bc3b3bae2f844a3a04a0729ed482b0a8e7b9dd203e6ff71b65ddbc99ed4fa3be2b5901231fc02fa45dbe16a4f05ec06d617f6d3ef02193fff0304c69fc39f68e7460c555145ce0133866d9a08e0258ba55960c44160c7e63cd503838b9b0e5f44067d75ddbec9e51ee1a3e696a2611e9e5724d94f554f1c871e20033d8bfd57c8bfabf8cfb754bd2dc05a514119da765544692be69440bc56d52a2c03d784fda1cce027342bf2ec118feff195827af690d641039782de66fde640f1080371eb50cc00265c63475b3fa0a0c4af207f59a42de5aa319abe6ec85f3bb3774f036622e3b6299c317a3188803a6f502dedda64257907e9fc5744899fb7cb27fae503766bd79e4f43ebb05383fcf0f2a33e458cb146f06939bd5f64d85e819666fbd8005820034b5ec91f965fd50047d6e7ec061202eec8b72ecc9a4842275bc4ada6811a704101034b36ed0a68b3243a551e3cbe6f4e1ebca7a04b8bd878d88e4928dd82a6afc219005820039da70bc4d4c1080fecdc804521bde064b2b4c4c38be598ba8c3bab976a89a04a0138b89c0fdb8815c45203d1f513fca315bffe762fb1e7a4e083a9f4a1312f1b391b6073d0d9dc5de2daa900582003763e2fe956d89b0351845a02f24db2a01a6a40b205273146d1116d341dbbb04a03e776c2459584b8951600581f0291873d00af7baccb7219944f31efd99f7470da6525867565da5b0c8669024a0b1c96ab676c746a756200581f0323df7e152c416ab8f68df14f4f096ac66984420ba5269ad0b4c7d21d70304b1a784379d99db42000000000581f03b7cff44649c6232bd25875735c298f2bc5168f341844f0057e0523dd08204b1280065f5a4a292abb24ed0219800402190408036c6c1bd90ec5053fce367b7cf61e4577fbb2660f5fd9ef849a3da39d4a260d54038b6bef1b6c31f6a140f68e0262e14fd088e85d0eaf4eb87cd319f28cd6af5935005820036428ac2347a9afdf5946f6dec733f62e85167ec7bd59696b5c21ea7be34c004a08a93e8db3c05e2e8f090219af8f03b98d34b3dd13017230557b5a45e96bce5dc6240103afda5ff27b17ca4a2e757b039d2d1b8ad7b91f33db690ec6fef89409780aa636c0d22ff287fd1bc4b139498803627861c219b4ba5d4e3e0e3939ec791a90397e27b37dbbd261d448524e041f9403770c30a4112a879f1cd68c2cf1180c917e35d4d4a984c54bf013b72c01b66c3d036bef1d793cde2dcfaeec918011cb68548f1575be86fb4268d9b96ebf03034baa005820036fd243b98ce553478345b372e97a91f46b6a84cf0e6ca8da22cca8ef53a6304a0152f751f29ce444900c0371f96603533699563473df5eb2ca21a14af1af69e994d06e82c91012129dec79032073ad425f699a0b4820e4ece5b9486964ccfe38aded0cd149def95a6da1b334032395e05910c026ecded9f4ec40b8781c4fa593b6632d5c889c8642fee1cac97003dd12515e3b2c23c5391d3f4f4e10ae29e13d4906aada7c65fef8a9cb0a4e02b200582003ba53cdd683311dd37013e0b1ec0ddf35e34f082dae2608b53240ba97ecef004a0410510a4b8c472edd8e00581f022c04e730c565e912b063a5acdce0bfe87337bcbf773f61e36981fdb074ad4a03ee4c74d0b784ddafc700581f02d871658cc9e7eeaec2e12e25ee392a9f2b5b93170e832bf70d62454fe42c4a03921dec4cfa616d275b020900582003f1cbe47aa6869137a73ce95c04a4057959516d4a0fda5ecea084686e6b6a104a0fcea43b152fd2b62a8c039218cb594e0a1ec350f471803c3fb358c849f086386295f09ff815175ec2f45103782e2c4f53a700f54881fb65d4c39bfe3ba48aa9e3b4d3ecfc6a5c6422a932bb02193d370311a5a795678a2e233d1472d19e36d64ac13c376cc14e83d1c7f384074773470f03bb553bfd3ae9aeecb68184793e41db28d9db6a94caca7de70610ea32ca1d814300582003e39145d5e482966d868c3977362b10dd20af0d7a2cfe2770b867fe6c4388804a0d9f1dbff2ba03ccdb2c0389a00a2a421956dedba3765580a6a57657436112aa0f8e21270e86c29c6474b300582003f16450f1aad48895e9822bb97e82e9d9157a7ad94bb1da08e0188de36718d04ad4f0c87b70bf2ad0089a0333e634a7b781c12362762c28f7744137bde131f15a2bbc74408bc15c220b39e5039e6f1ba04e0529c82bd664a8f43a373a26d40e166e1547e177d74778707eaaed03de0ffc9bc080126f396b2d18c4de8505c1e046acf0f4c70c59c02613ceb2a499005820030a690a44a62d03510d047dbf9e5fc6e97111e5d6b4c9ce90d58c11b09b93b05820ffffffffffffffffffffffffffffffffffffffffffffcc5be855eac770fd82c800581f025e6b259e1f30e2c914983da17c8896c5e2a8fbb7592f2fdb6546a0cfe9fe4a16b9dc2b063147a73dd600581f02e3362f8aaec1f138bf9f370f2f16f5bb77bdf2d49ad8526ae5832d5b86d75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f033f614c967638d7d66f9d2a5f877eecc89077cf68f22283ae063dafc3d2004a016de556c2c0c4f65bed00581f03be1c18ba6e7259823cd85519b1cd8ef3943ad3f81cb913eddc8a8747e5004101021908200219840100582003f36d0eda3ada0bd97de5390cf4b32bfdfab4886e1462c904bd780cd56d66704a174099f867877925bb9e030798a5ae5869f3d7b508bb5df803967231d21ec0d28ff8c71b8ef8bc31878d8a03844ea3f278948e3848742cda6ff7900ef844ffcd1818747e2f4107475db26cce031768e9ad93439bf62d743fe9b80b4198236a4605e33dc4a96312888746eb055802197f77037b2770b14c2db0c030ed58e3ebede703edd3abece057602ebc4231c9a4c006800219ffff03ec1e31eaea01a433451599e820a90ce63e72a7685b13fc9862b439516ec07f57030ae2902a8f5318b8a092f6bfaa4a23e125fd26dac7c16fb28adb9af3c7ecf1e3030cda039cddc838707e5b23c65ceb58e81db8b2ce5819310c4bef80c3d5988a9603e7519d66a998fa95ff6e7f32e4808d274f957bf41273e1ba336b354e9137c952037ee3652e376a93ad73e9e68bce6318f6dfc9e5befca95e8597fb6c200a2c2acb0058200314d41ee47f8d8b53af7080583b1d0c1b495b3b934929d43bd4a2c28e74c780500de0b6b3a763934bfaa02e97d566ae6e036999d917e22c8c9ba14f450e656700e510c64ef7db77db76451d772dca702f6b03d8fb3f0adefb91fe4b171bffbef6d1fb6622adb85e61fcb577d8172c0c8fdc2c03f84735908ebebc38f3fcf13603c398be796df8cd877783f78d882a83d1f782f400581f02328062f2a515756babab12654c0a697cfd5b27f8bac10423d6851a4f28565820fffffffffffffffffffffffffffffffffffffffffff8cc02afc5ed1a2f44e33800581f0215ea96b6c2d4f3477e6c6a791f12c0ba456d11adb930edb4f7bee08711a24a0b5192e5edb93c8f85ac0219048003af5cada4f5e670b96963a4afb56c0e47fa348731acf335aed9ce823f715fe1d2035ddf8dd1e56253aed7c07ad649375a927df56fa324e213556db9a1292f3a6571005820035f45c613c9dd9770958b68315801f54e3b97f6408ddcc64b483939caa847a04a1da61a50045f6922a70103af4a61b50e6f67d83f9944e4c957392bc57598d18edd5f06fb5dc0bce19e1178039c962ae4ae0356d3c76f0589403ef8dab6deee55bf4889aecedf150e7081162c037d9edca61ff1d4ef1a881e06a706ec7688a2eb5b4fdf243212358524106c33cc03bae4c09f38423d32c647124e09171bfe34c22aba494fba01afa202554d74317b0219eecf034f35b6d57181f433ad75a50e453ca333e883fdacaeec90adc47b60239abfe7a103615c017cd5d7bed9dd3059e6c79ff4e5b1367b2434a1a4582ab97be30d85582203d8e547bc09b8781b2536705775583fe27e550405df8e883082f63de2f2fe790403b43f51f3b7db362fed5cb211cd12075f380cde9ae74df6cb0452fa13040d21cd03e4903ee403039ec2113ca48ee7aa805a6e7f9fe63cddd5db3e57b79d05a9486e03fa93a8f84051d916647be6238eeee1b1df6ae56ae9e63227d20bcb4d15d41f9103c4bb2dbcf37ecb005599f6a5c6512351bb04799b16f503844657f4d88bd67af3031b4855351c8f370d7062ccda3a2eb1cf6d1f6cb95d81b62282598238b19ab4b100582003cd24f0223ee961adb9ef87786946f23b87b819570f71751318f3187ffdb0805820ffffffffffffffffffffffffffffffffffffffffffffc20c9c601a3acd74cca9039efdf64eddc85856eb10f42adb433a4b9c951867042a93cb5e362efb88d0e7a2014200df0307f1cfc5b4e0bfe10d98d2103cb0265da128056c022c16d97b0597e4a729ba88030b3cd205446d54439e04e5eb078f8e7d7915e7941cc3268bc5b572f400f11b58031d8ca3b0d3f414034921234cada3098a76758d78a0ef70d4b34b0482da20568800582003d2d6dfa7daed0b177571358485e41e9e223963bdd18b7449b7d4476667c2b041010058200359c6436c5ebbe8db6a2df1c6efcaf301a22adac42664cdd067eead03a5bf304a18192b909130af72306203a654111b0d2f79bf46ecb64f400a7da263ea9b10c73e0eeef4a3e97e4b0725fa0219c9e403ccf77ff1ab12106b0914c7a1e1b860fbe6ee73fd99840322e61214a4ab52b9450219ffff03305ff119a23fd6b148839a3c0a1b1bafc1ef04f7a583cef3cea36cf39b2295e10377376736f896f16ef1fb04c366d355ed478386e2c46d35cbc43bd5f1adbab12d033cbc133090942004be2ee2987097acf301d04f3fd97b476af9fbee9be48da869036fed908b82b294e39b4efc61be80b8ccd87b9f4cd6c8b2f2b47457a53f7c232000581f021bd7abd419332b4727586828d897fd4eb94a39fdf70e7e6aa95ddde9d4775820ffffffffffffffffffffffffffffffffffffffffffffed7793cbb213687cbf4e00581f02335cd54d10ff3d35cd2642c2fbc705a9be476873d9821fc042696998f84d4a0bd48adf1e232a1d588902192402031760ed0fcca4d1d1bc7949f583337ee424300c0a555da6d9de7cdf00cc8b43c100582003d774b3c3cf12101a7d6f1a3214106f34c29552be76d4e9549fecc4828cfb70410103392f598aac8cfeb24cb15a97d14877fe16523a6d153bcef5ed69631e10e6a58103343f8b3e438563fcf4bcc52306a6a7e4f5eadf438a22bbfc48240d6d5588d85503f27bd673daedf0b4a9ec01dfbfe072c44d9f09c0ebb2cc4877ad39845886316000581f027b070abb1d4e8df40494c45b33ad32116dff1619189106dc347d3443e24f5820fffffffffffffffffffffffffffffffffffffffffffec448628db0628102445500581f023500694ec4f8ccc614744172525d88ed5a9da663ae42e42d4d21350fb4ae5820ffffffffffffffffffffffffffffffffffffffffffef74d5d3d7fd6f6bffffff00581f02fbe63cbe496903a09bf20ed1e4091e3707f0e06227bb4acf21344073586c5820fffffffffffffffffffffffffffffffffffffffffffe19c87690fba21b211cb90219090403a24fbd0f5037f24ee5c5d54636d5814243dda084822788de741b2706a1b8753603c7456b68956e51a125cc51f18d9b66b5ab8a85c03543e1c70c4d0591978a75b503a3a88b0f8dd123e731edacb20f67b94a39e155869a321f3bcaaf33c69f99a54300582003b2d69f9c293673dce68dd4f68d790433e87d63bd276a92e43b048f8951b6704af869beb843b7d53aaf320058200335400a807e8ee2ff583daf8b48d2213b4c7112c4e6054d6305859afb3142104a017431d16415fa06d76903dfa5fddd23f6dbd454a46a76227d476a3a766b3104cad285a8cfed53a931cffa0219f7bd0344879470859e8c94244a7c5016d1aade1912fca9530dc4b48d03203f916213500333aeeeabc6205d4e97b4a0ae1a927c8cb59a83741908e52d8c298d7dcb36687503a1e460e8bba2afa8583e5a2a6bfda400ff1d1000929f37642c70ae7eb4105c5903fb56a3e562ae431c6a124d287d9d39a8e5175614487c45ac385df0401313bb89037d66d7375f42df51d0c325a53985d095c54cb0d11dae07df0749b5e48c2335270306ae77f02a1b4104908f2fa96415dfa73afed4cac5dd827319134571d793eff303ac9d70696ba75d9beb48874f0e7412c94b70bb32dc3654b036f7fe64532c9f03005820034c56b8b9c1fc8a3efdc60ad4d26d01c114d7fe1a75f269f843fe3ef9807e305820ffffffffffffffffffffffffffffffffffffffffffffee8137b4a062241e241d005820037f63c67b93c25b2372ab0730f4a9ae16f6b8850a478c69c08299483e0ee9004a030167584cedd12b0ad3005820039f6a48d846dbb7180cdd5d6a28d4986cc787a56580cf68fdfacbc7eafa21704a02a4d57ca6d31783ea0603828c5dbd9b8447b4e8b537eb7cfdc5a00a7c2cddec2af40ea5bf5e8a289690c8005820036f72c5784fd30948d3e64f1aaaa5b30cd92d618ab3292f1ac92a05b0f026504a07972e4d1a9a2238bf0500582003f988d2d021bdc5eb35819289df09be64bb1fb9c4b1490f52f7c6bd70cc79405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e46485f5076966ffacd53f5207e11e4d5611dbd648065e193f0e573997d9d858005820031972f7225a9daad47c299fa9bf8aac08585d6eca69a7ad568ead55c23688705820ffffffffffffffffffffffffffffffffffffffffffff9fddab6f86f319de970b02198aee032ada5d352b58a161dcfd2deaeb24a1eed6e3c8a2e5fb0dc148a2f3a2c57496db03e54e4f8d12e51746e722d70ef6d909ba0253ddbd49e2867ac9934d9d02b6fc2b036f354ea14f0272e37c4dd307670879f2d7db57eb71e7f0f1827f6a84ae5bd8360397471ededc6627f798af11d1322bade58015bfbee73f1cdb4fe5c22e0b9dfe35039dd25346bbaeb4aee26d31c5254b17d99155b38d5db79263c5f0a8eb76185db00219ffff0219ffff05581e0391602a356a4b8c06fb78d96c4b8ad1687bbd7b4b892649566dbdab5fe00f01481ac6eb522911a195192ca503339231b703544f01a34094c3da1ff2d5196e61ce5d13dfe2868200dbc99e7d7103899f039614f7bea608bc57954406a7319f35af042b64ec9609e4ad7f03b60d1305581e03e3ed224452b7df5deeb0b97739dc4a78e3a331070dfcdf0dcc338f000007011bffffffffffffffff05581e03e161e23c3c13f08516832022fd0f45ec11be5f535b193b53fc342414d00c04470173a4a53659c005581e03a5b1a4343d0612bb3b5a493dc7b2d8fd9bd5d52fb70fc1990970df29900c0a470360247f50382d05581e03e4cbcdb0339ba9bf0f130d4ee46b0b375884b999ca7dcda353b333c5500c03464ff8e5ecad2805581e038772c588656035c6057e7aff253fa997434b22345a3a8e53cdb4bbc9d00c024701fd800d4cb5f803cd994f47a28ef4c65353de2a87a406ae7e97622b181a1d848e5df98cd896991e03bc5d709ab899641d83bbffcc886b0bd8c2f92cc54fd9405bfb6bc5e7aee3234405581e0331f69abccf4adf3edb322eda73a18c089707e639893d904200e9de9da008472386f26fc1000003007934a484f94fdf45570d7b4cb196326e71d3464d9c3622e368525019af467702197f7b033ff2a61600e1d95440414e37b37af2108473a4addfb13d805d5301f30927ac6803689be3377acdf0e0a4e540f95cd565b876884da0662e7b5646af08d362cd0ef80337d66fe3cb722ada2840c202272df877c9a87d517fc68c37b069ba3e24a56fa5031ada42f3034ce77b61b1485eaef94d1c0555e8fdac24ef141ab34342f701770403d557efa2385394da27ac7f28ed50e8553a7b2af18893b25a47d14607b4897c5f0391e5cb0af6d46329a85ba7b2f0ebe208e2313a589cc84a6f8c0059cae7559b9f0301d435bafbbd336acfbe796cce0dfbb1496f715cc1a4cbcea43a75335e9ba45603c2c399d539cc1593922f87dbf5f86521f769584cb297cc0f2f90a4e569b1d9e4034a8048aacd8125f4eb5b5541589e61909c207e33f246441e47ebac8cc22fa37303f5d6b42b18d7b812f3c2ca15052e6d6b1b1d48372d437614846efae4e7dc2867034cfd9e6c30c23ebd71a0b7f470be6244e37748f8ff8e7cedd4e26c5e41f4b606035a882433b43f6ba2ba3d0cfac780bb42003840f6258e3787de65a8cad2f3763803b2222503e1a7313037c26e1641bb910453531b2d6222d70624976908bc1fbebc0219ffff03770b4155a41a224271a80127e9effa7bb0598206dd8a9d6819e35230dc0997d5037f77d0a39c225432182c4c73b7c8cf20be437fa46892261e4b096bf34ff466c8036de05dd06f8b394e5e0887bdb17af52c9af1f1d6f046427fb2f6127c768b5f2d03f4fe9940dae5b1bdbed6f1cecb882d49bc1e5dc2fb0ffb28d4f8feb4f90c712803a95bd4c0af5b23130bf2ecf20995e43beb9e233cf1714d1642f92fe69043722803a95e62bfa1ad9c62606cc355a70eb2f743b6b071de680b0c4ffc6b09b570ef3703a22dd1485bdb72b650371ce58d11515637c62ece94d0571bf6609881be47e39c03a904192111e40f0c49137ef042df3f8676cde90d777307f618978b0bc061fb7203eecaab45cfd7f8e4282af8da7c1dea6ee3ba8e585cd756ba730b86428e6cdc15033b4e3f869fd451f4cd27a19aea9855acba5e2d92ec48257a037235e93d06321d03e730fbc04ace3f422afc18b5d35829739a4b3e99aaa6a748156989620e3b5613031be403f9cbe8be1205d4a382b21d3741c6954a6d2acd03dc7a5261cfa3b38e9703706037072c954555fe9a6092244db4cb02dc42f179b4ab4c49661142eac7c30303609db664115fea8d2fcf45084ce1e08a8d447333a102f4d024c4252da75be0700219ffff0369351fe91a94a97169602fc9f52e9622caba1c8ac4b064b6ea023dcbb21b1a470396bc5b07030c42049e4a03677be560388492713be0733b8fb3c8e79de5982b4803909c3c0e7b4b131410f9c272136e916ef0567cf1a694eb619b67f4e466df4f3703a6234deb0560cdc1a0c621df002b9f9d5415d0a865ac959d6aa462b2a82cae1c0219ffff03f5cb5f39deefc6cde836a871ed61dcb988ffbb89fbc7a9f257954acb11eb8ff603c70f70c374638ea783b9fb5bd7daf31a495783c5ad5c603bb0c7517af07174950219ffff0384808e27280abecdb0ac5ec2994d8dd32e2f3bf7f32f79d286403a263eeb85cf0334516df3660a5866660fc032648213d48c3e22534a725b8c7220e86475157ee603106df3cd2a62932ebb1b964c1c14b5b433695cc4f24f11e1b0f785af832560f3033b7a38a6859ad3b601dd3f4a11589cfdcaf7203cd8d66b9a68e729f445233dec033d8fc3f8ff01baf2e6e7d95bafe4819e55b082ecf2be8cbd8564274ae5e457e803b126076b6e832b26a3e974a1e51bdb5410a41303393d474b7880473c3cf83f2f03ba3f9a1c87743b02e6c73d1870fa11545fc4461a84d5a7904f6767fce223802f031e06b60503cf87813729068285338c25f6ee709096c1fad9d64c0806272691a703e5aa30debfbd406211ed902fc9a59d96ffa31dccb92facb62f57b91e61b4ef370314e6b684b2e5278c0807f541b390e141a67d85d44c88caeac5ecc1e0a6f0219e03cfd5ea9e33b1653a4363d4a1fa0372534abed2bb5e8530ba7e7bc7a199415fb503023fa776a7b790fc244e8081bed61db5100ab3ec98cdffa138057267bde27abb03b373e8af7db2de6e9b83fb8db7f15f077f0d20e430c2b3289b6b73cf7af8d90e035703db6f9bb5879cfb92cbd10c8b3ad79958f30ad4278394318cab87bc31892503e149341f968083818e6277f455429fda156e66e20c1e8f8ca391ec3620c2262003bb5096b83661476c8680086d7515a1c92d5daff44aee272a28417b03affea00003f124cb3d2a161be678e70a8a865efdf9c0d9159283cbeffa2fe76d88b4a8bf4703e81c4c48c2e1320b6c2b1662e99fb765e633973fdd87a5332ca23fa667c490c303bad0e9fd1c1e83d73e501c3053e76d6cf5ca5214a6a7c85a0ef4261394b344c303193ddc40c5808586e764d1814401937e2c7857c130d82f1a1c22554709eadbbc03bb5e9849fd273d57c67b28b8158996f98764c2ee7704b64e8a84e11024d308400317787b2a3e13c20c5fc934cb4cb853339f4ca97f1817644a04e194be5973c6ef039bee3211a5c36c18450a6df2391ef11aa0361bd06074a755b8c540eeac3bac2503f4c79a369ba8d04d0e8412862699fce92850d37c2e9d8e63404d064e46bb4ef5030e8f872959b31e77194e561d0573de243b316fe99432206ff34504cb73906f6a05581e035f26dcc313c89661ba2eff4db562c398ae005ec96e9047c81ad00414400c04471e99b621ed68e805581e0357b5476290beaf09b3cb04019cff0c2f5cc44cd293707325faa90255d00c1856423bd003f5d6e5e489eb270e7c3fbc5f75130646aa3b9cdc6079e1c8abf15c38d2b5f90604590ebe608060405234801561001057600080fd5b50600436106100625760003560e01c80631688f0b9146100675780632500510e1461017657806353e5d9351461024357806361b69abd146102c6578063addacc0f146103cb578063d18af54d1461044e575b600080fd5b61014a6004803603606081101561007d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100ba57600080fd5b8201836020820111156100cc57600080fd5b803590602001918460018302840111640100000000831117156100ee57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019092919050505061057d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102176004803603606081101561018c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460018302840111640100000000831117156101fd57600080fd5b909192939192939080359060200190929190505050610624565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61024b610751565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561028b578082015181840152602081019050610270565b50505050905090810190601f1680156102b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61039f600480360360408110156102dc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561031957600080fd5b82018360208201111561032b57600080fd5b8035906020019184600183028401116401000000008311171561034d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061077c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d3610861565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104135780820151818401526020810190506103f8565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105516004803603608081101561046457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061088c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061058a848484610a3b565b90506000835111156105b25760008060008551602087016000865af114156105b157600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358185604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a19392505050565b60006106758585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505084610a3b565b905080604051602001808273ffffffffffffffffffffffffffffffffffffffff1660601b81526014019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107165780820151818401526020810190506106fb565b50505050905090810190601f1680156107435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60606040518060200161076390610bde565b6020820181038252601f19601f82011660405250905090565b60008260405161078b90610bde565b808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604051809103906000f0801580156107c7573d6000803e3d6000fd5b5090506000825111156107f05760008060008451602086016000865af114156107ef57600080fd5b5b7f4f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e2358184604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a192915050565b60606040518060200161087390610beb565b6020820181038252601f19601f82011660405250905090565b6000808383604051602001808381526020018273ffffffffffffffffffffffffffffffffffffffff1660601b8152601401925050506040516020818303038152906040528051906020012060001c90506108e786868361057d565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610a32578273ffffffffffffffffffffffffffffffffffffffff16631e52b518838888886040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156109ca5780820151818401526020810190506109af565b50505050905090810190601f1680156109f75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610a1957600080fd5b505af1158015610a2d573d6000803e3d6000fd5b505050505b50949350505050565b6000808380519060200120836040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209050600060405180602001610a8890610bde565b6020820181038252601f19601f820116604052508673ffffffffffffffffffffffffffffffffffffffff166040516020018083805190602001908083835b60208310610ae95780518252602082019150602081019050602083039250610ac6565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040516020818303038152906040529050818151826020016000f59250600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f437265617465322063616c6c206661696c65640000000000000000000000000081525060200191505060405180910390fd5b50509392505050565b6101e680610bf883390190565b60ab80610dde8339019056fe608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033a26469706673582212200c75fe2196b9f752c82794253f2ebce0d821afef5997e1d5a35ec316ce592f6664736f6c634300070600330605581e0341a25ed4abfb50731c60e07f2c0842840de777076f1c867a017c6189e0071a0002af83190ebe05581e034472f2e85fd808ec59299c77fa586cd1f880d329b2be882ab1da25be30040105581e03dbc52de9ce4a4a3e13152fb01fa00303aaf0f54e222da011cfcc1cc7400c01460fb75043000005581e03f97d65377ed3cccb1184c2e010babb4cb136b016475a56b56531b2ead00c04462f46bd6e90a005581e03efd327599f1b2af2739bff67405766c48705c75ed132bead75816075700c06470260ecda708d7005581e0310f235a22d70de280fa2aa4ca5ec5772e9c976f9c91d30873680c9cae00c0147141063b776400005581e038ada1e18e0871678b6dbf5500040488e612ba3b3357f53334feb2ad4c0040105581e03e8004ff025a7cf0cd5ea2efca355494a084e7abd0f20ce8879efa2f3500c03463525b828e18805581e034b60004c8c5386484ac389c5e972762e0784e303edc3192414971a54e00c044715ee1951b7dce802195fbd0377c037a9138487c51badae8751d69397a4e37e9f5f033a90e2d692df9af19b90037398ef180028f8859eb04417f11b7c045aeecc202d9780e5a41b2f6e00f9fbec0317edfeba4e2bb1d40f5ad53fb19efbecbf913f8a543b7ea5dc84f7f1951ad9b3032106dfcbceb017375b9d38a3ed79ef677999c2f6a2f5c5689203650d53df2a9703139ec54ac3d5ba432ff832bc2c4adfc625649fdcec4365a763c43acea5cfec5b03ccfa2af3c571692243d41eb50930019a7b7dae915c240bba2a2f9487faffd02503dd5ac6640b9fbc88f921ad8fb882f19ca6fcb1d109f6062fbb3c2492d28884bf0378f8d35eec42cb902839e7f7685047d700e446436ff3b0d1219cf939f82197a7037a16a67223b76a837543b9c131ab1ee9b12130dcb3f922bca4615c5c41297bd1034cad73c51ddd167eea81ef585476da8555f280758d76ddf0316f7d509ef47c1c032b1718ffc6e6af278edf21727111fbb5076eebf615f5334d8b510c5ed753ce35031cbea1370d958582ce5bf2fbf6c6c1418cb3fc2e3ddc1b24bc382f638e90be3103b82b654d6a7d01ed058e5c00dab82300c13e53157a3ea42abc22d2a7a03ebcb703f6a19e373b8c2a68d2e25d1a74ea6e0e25f8ae056a20d980af217a41df41acb103904d22dab980b24cd39ac090e7de73895baa9d3d5b631d5c708845b6eda611080219ffff03557bcf177b826017f9b061fc15926de67ae8ca6b4f05d9c0b45832c59bc3dd2803e206dfecd17c0ecf07d573d32241579d611d3a73de943decd87a4bf088eefc8303ee3d0358b7227c31754be0f83231ed1036c210c48a7a0b2442af376834707c54030551f0da6a053648ecfe85aabd6bf933130fd35378eed89e167bfb97db38668903f241ca016fab44acbf1b3148e5ebc8256614b847a3f6ad58afba6d4f00cf4bbe033f709cdadc46ea6fa3948303deada3ce860174e6e4ddc5b2d904f62c99a7883d03f860b45581296ce3b4cf650ad67b2806539d36af870a93b4562963493f0932a203d6a4203da43ca171e855281649a55aee72f9e5a246d54d99145cba3c3f12125f037e1a91ee687ce5b88f8f2046fc589fa2458a173e6bb33c97f2d1fdd1fe852b1b034a3f14e7b88bc18781289c2335f9d0370e5cbe982523195ab50f18e84ff793fe0219ffff03d72b6906a46638fef41a6b100eab1b5d75982566b308f2e826e87a589ffe44b903828480ad399d15ccc99420018dd3527d5937b42ce415c5ece379933649155219039ff37d31337413f820940ec9337c13653a2d8dd342332708407c32548afd337b0219ffff03df4bb1e17ced04882156e0ca48543a7094a703a58811964870e21e0fe0a43cf90390fe47f8be7e6de46e5f73b650348992d0c8159b489b294e839916bf2edc0c930324e9d9e22605d46e14793cc4489891f026ccd02e20b42eae0dab0fb731a884040393f65685b8baa13fb91198ac1500047afe06841e8e39fa469066c1866132645d038f61673d4feca15dded91f2540309a960f4e8f7649145d91f15bb6ea66806d0803186abdfcc76a9481a9aa3218e5eac3e865345a3fd4395471c3c154ec113e7c98031dbde480f5358f1718acd1e2eca54d252fd6955685d1db236e1f6081603924260364326638843dc3e9f49f2fb4f21fd43a559ad077a0ad4a549095979ca36643cf03aa786ca1ee6e6e02712e6ef71f3c6495c8f175a4e3d8c5dd21bbd7f9238e0dd803be51b7376a47ff89c57b5bad153233c640da46e52705af69a22d57d3579a075d0349921dbc7f380b18296552211d449fa6d8b2a4515b0035c3fbec6374414e76d9034e184a8efebd9204d366f59a8bad2e958bd0d945aec5138f2bd9da9fd7b0eb0c03e90964b19b3bc1a061cca243bb1a6c62e366cc9a6fea3a4b8608f2be431653ab03be36e77b8d6aa79b8c813e81b1def7d6ea15fc6d8819f785863805a383b3696103547c5f9a980e7ec008a65280a480d51b222a710efb373b3549ef04b5dc71ffdd03b71a39f4e91ebc2b08ba84c45ef70e81d3ad5945747a5d8ee66619cd099213a403b02e35d5479a5634b456b89d941c3ca53edefd304e0069d2e2992e20115dddb203036d50440a8983dc61ec5c789527a9f900433b7d621c1f977b92e468363caab003244e4a5a81f6075691de977d422d922f1b6e73d7d9f23debbd89573c32a37a22034e480928921ec62a9e270dcc3d2a0f4a52d4a14b604006d5cd4a9b693b20c5be0398534f644ae0776b7d7804145b25069f45e445dcb00d173d285864d408c8418a0361882325bc8714be50498f0633028945721c9782bd6a084ee3190aad11f11d0a03321412febcab311dedbb8c3ffd4ccf5a57f3ff611cc5d848f128de34dead0c7b03fe3f65d856821e6a81832d147dd1fed495b6a39795f40f7a12f7946c6c69621a03dac515747799682bcb17fca64b40f106a593238068f9c9cfab3ff7502cdda1f3036c886462bab4cf245cbd657ecfabd5c53959605e9a3416be669aff29219dd50403b0a53cf12a60327d8f8a9941fa43f46e0d62b7e67c472a8263eeb1ff8f9fa74405581d0240e50109938f2a825da8906e1837bb4a1889885d1088c9e09a36adc70c18714708799ac83ee66d05581d02717509112ae0e2dd76b5c0786bbc0c357be6fd1d899367efcd4219b30401020a036e10c7437574e7948ddcc2ee4d5c1ca84e3a0cbc0e7bbde451cbb5f2d1a58c7b03c04bdafab66d864ff6860b05cd4f7a3beadbfb96ad7550b0ed084dac5f51fa4f03a0afa234f63bcd30f4fed8d30d306e249af4a2445f74646d7471cafa078fcd22030ac6cc25f75561bb85f488b4b221d2dea7f956e4e888c4afc6ab90a4778f23b405581e03f3a4280e5f5991ce1f086f762b1724c5b15ba32b8bdec81444d9df75200c04472700e81b3eff0c03272590ad305744e92b19ba090269d41dc66a94cb0b6ac00b65ca94ec159f1082031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03b3de1185240f40f6d3fc65b952fb047682d09b03f045ec3d2517a8135007011bffffffffffffffff0219f2a103310dd296079ee0c5ef458feed6a3c3254677dec2f70a80a3231302f431bddbcf037392371fc90e2e5abc8a997787413b424986dd9a145a15e5f6cb0fba62c74d8103c2ef12151bb377049c61386cd14a969c1f535d5547fef822c8050208ba6d2438034ba9ea42070fc35f797413fa539c79a78e0bc17f006d6af2451f4efe0954e96e0219ffff03043e0b0ed104a5a245804af40aa72fdb178825ca6a83d11512ad7183b76eedad038432fce2a0bcc6c5724f467bdef781995e26e7783e27b16bc26dddc335365cb803bd6b17c3ff738ebbad6a9141a916cf46569706704d6aa8081d9d6624d5b985e80219ffff03cac7ad54c54a3471d64c0f0a746078d8dbcbff29cd4f2eeeea707f768f554363039cb5408afddd1a4bddb811d7f1bcbf99181500b73a1a0a3fff84a82d1c53799e033056b175367f68dc2db9e59b909ffbc0d066001de75567e3ab76ab8b27aad78403aa41fc985d67ed013be187bc5f635e1ada7f54b7ff1a04d2a6c5a0b1f7a199420387fe659cc84270ed43062e8a1cd51b175d6b3860c1bd886fb6663a4eceacb06a038245b476952c1a222ddd184d313ef571afbdfcd4e9f3d35493617a981b815274032008bc3311be960a4acd5f5de1f165e00b4b5850618189835b00af9d17676ec9032f28ab54b24047d9cef8ad2530305acff86ffec32152f9ffa9c6f25e34208f460380777e015e6c7610217084f203b7daa12a3f9c63efaf4c52d14ef4e982185c0703105f6522c0cab287e799a9db8a9e0884c9adaa5d5f31b69f929bd832ab297af00306d08b3b4a8411c7401eea2d56045fe266b2d365436d6a356c44fee0b3e10d6e0219ffff039c6d175a2c8b6b13e7233b097cacf93de2b7e4ae8522f977a3c6f59e27ac3a770372f5f994762000b584a703cd529140484991d38315ea43f80a3ddedb9806ee0903b341464dddee7df4e3625b504bc49b801fd2859c662deb8d7ba7c10aae1e7c000384f424e4b907fd137f7e125d4ed6cfd0d9d6d84b4a05b3b490573983bd809be7031b37f3ea8b89fb54782ec4aa9388128d3c76833a9dfe9fbe5858141ce3ea2ca1036895be601d0baea3563f89e1f0ac3c6bb594ecaa2da130e7ffc835da2388ba130219ffff030bed9579c0f74a8c506172248d25685146a513f11ed92b6ee22a6c035bbeb70703ae83660850b9af46c5d8735a5d68a4aabc0e5bd4335e4b30110a6a371cd1b567031fffd50fbca2766f3f05b38888053ba97e7cb6c462ac5067a588046a06f263420349e35ead85f72ffb5bc2d82f39f99039df650278cdc419bd8db75d0b1aec0ab603749fab902b25823c457d25e4653bc24339f25c706f3d9feee1bcd36041ae3cd803039ffde417d3dec19733ef11a2b298674fbca5f65fe3a3329ffbff696f4aadff03814c33eb68da0b93688da427566946732bc43592457cf7d846e3b54a6627aa260387a7c2832705e367b23e57b72a6abb8e1e953cf1e328e5db4df980e87111afc503f317ad32d27c7d2bb0d25645a3399aa0e307a1e83a74d62ba296155fa72344d30324dc2fdc1a1b03b84ba4dc93fd6a25690c96ce87365074b9a6080ec2d25cc27803e2432c7ca41664ff87bcca241ec57ae00a718d1886860b9415344cd1eddac97c0338300cd982e8e468efe81b12c20cdc0a16350e788cc8254dacb341722fed924003a2c9d057b24d7468a00cbf0578dc217404831cc0de198aacb14d67216d2b9cd6033412ca8392e81384ae06b9cd705f3fa6470dea87712f4cfe5fb1549c2fdfb4bb039098a4f015149d17095fe30e1f9b79de750f05b5e948b1bb6afed12aaa9a0f4d0344351873d1361e7c0c001734ad7c6f3b3bd184f9f32b2d216599322d47e75d56039967a955f44ab7d593bc2c30f8dc9f9a40ebe5f73ff211afd081504449241f1a03a57b066ed25f94f9bcd1015f0babc95679f64149cf2307b90b67d4962f3721d003f42542b9ccff98dc537cc8de1d2a2c515e6dcb677d397c938631d8ed3aa74d79039cd64fe3a3f5d16f6494145682a670fc0a16c395d4d309a45bb3a65ffeb6079c039493d4ccf867f06c956da8feed866d30a6dd8292483636dedc95a49e5d1d14c5032a2c4d57f840100e7f777ffe092bd1813578e299cc6fa6f90f0d2198f153093805581e039cbd212917712266ce7aa605aabeb5ceff665eeb1b20946a171e9e078004185d032583ea944c0bfd06ef4933af0c74afbc6e9bd643216d343088b10ddc4ba4d30705581e035e8c947a297a34c82f134bdb089fcea9dce59a281b3ddeed12780fbb20040105581e0357914e3d24147672246432b22c38d6cf98e5c340debee7f9f92376dbe00c084695b8c21aa45805581e03f086272653a53332081c6aaa954ac7776e5d95e2330b6c6ca2386a1df00c024734269c0b602c8003c646be9843fc5fe858dfc498c09b8994b0095e203e5e0bc13d02bda1eeb4ef65032c1aa897c203a243f44353887c94f97249d0c24f4c29e23b056ed3d6fa41e43f0377e59555609719214a906f03bf10ceba5a34eb566130ea355b113967875fca0f021996e403d9e7f94146dfae5ebd1b50be28e00c010ec90e74c0a97585e0ea9f9f50dee9c0036d99afffb45f64d472f9c4b3eb5e8ee0ed58063601987c384cef5ac9d3c7152503ab42f0e13b560cef0c1a9adda29f3e6f39ca21ea93180a00ee61e1a6329e6be303e6f174fe7fb84cfb624c7c9816ff0b56ee13a788c0c3526671c43a8c7c39cd11038c144d30c4926b5e771cb8cbbcaa21c542d9e3a541840ab5c4e61b01f55c051403a6531d6128e1efd9d306f32d02b3c243356cd9b7c847c00cb5a137055e2674f803df6a6452d358d69fbbf9a63f3894b2fab11c7bc9ffc0ae531a5b151b560e73330383d76157e1d7f0b90ef274cc67aa7ec923829d2b51c976c0c2903dc65935a4e0037b2bb8e62d3241b112b4df9696e333b32dc0b29ef2f77b4416874f01db11f0700219ffff038b1a194b96770d3f6233e786d70307c5bef404dcde6eb6c0a9b3263679228def03c642316c38f215e99a3c3f8e81341a32ae5f7178bf21aa3d4bc5425e4061a428037d9515fc173e699f11e9bb78741ed96e290ec93d7487fd7a83c6a6ee369f8ee10347e5943d629fab8120a95c8274942734b3cb81b7b0b4d248a7e9d402ec1b2c5403a816ab7b0c41735b1cec80416293fb176a5473ab4b1f6168021d0e31c2abdfe603fb188b5f0c6242bc9974ea38f7e32a0d91c529585ed44e1b18c616195b10bb1303725676acc7662491aeab52ed2db56cfdab637acbd71addc7e3b5af09aa55778a03f30ebb4a5a93b83191acbd0271923aa2e2717ee0fec2232c3a5302774c628fdc03f986c67b6896e38f0aa26b34a2d58f78f47033c9b0e07877c58800f41fcc808803f7a5439dfa6443dff0bbdba05403eedb3d2bf69056c347c9b85d25c0b85493d703da6a3a2f3f2f079f530a4e17904ab536d9af7dbac7d77173a2e7181b1d68f9a2031c446303669174801ea9a145b7525d71d0b3a6ef564c4929ea924bce34d7047e033d78fe80c3ceba7a5682b7490386eff8980d05c18f3e153f22f5cf4589b36d950219ffff039d2f9d3da8e8286d487635d87763bec2272c42481c1db91ac4716f557da7750803dd3563f959d6ce4c7a9d17c630c1eff453c2ec69635acca2378bd6d3c6c1885b03ecbd5d284677f3a40a418fedbb99865fc7347ae6ef4b12e71b455c4effdd2fc903a691492eb8fc1e9e3da21fecd69c534466a689545824e5ae92ccbb6ced97ca180219ffff03117b836b5f5a78f0a828f0bdfa2862d3b2c51f5e242764a1711570d8e766fc97039277007b1b946ada193e877f280de8871be9f7d6455630eae67eb0b35fdca4f0030bab59cb6fa7927c915c995f5a9218539c01f3cf7086628727d502d98abebb3703202b910f9d70bf170d3a644b346b09b168a0f701ff661f1395985a56a02666af03224985ddec08f7fe55c5722dc3dc06198a60ec34e28bf213f4b536e9925804d80331872d2eda35e20f9975725ae0566ad2a762b3da13d788920f94214852c7abf603511a33485618decd851984427656767d8b77b8811e38006ffb04de769e106c60034e0f66829dc1ac69c88eb0ee4910b78b32320c0957e95868c72a904f9e79bf2c037fe58fd8880cf5ae8dde061b8f781eb8f3eba2c8058a3738d5133fc999926edd0308c902c3345cc33324ea902af154bd5382a617bab6a9415a59ebd864cc5fc491034cc763ac435db86c4f98bf398b3fefefef32a4710658af10a9a3e34f1803cac303f5d1a98dbb229a891eca277c3c65c840ded3831bcc27832ecbe0a776fcf5b5bc03f75d722c46b074e36d0be1b89d87a707c8c4a5b26110d9559bbc53ae5db331fa030fb2cc656092c218e99be15243b754745725abd9103e5d4484ce80208b47dcc9034a87c70fa25242348952bd8092295d30dc206e13f62146e7a5c418d5f99e049603b5f82920595ce4bce87b9571948922dc8929813a6eb583d08c707cdfe870123e035ac6138ef21c1b5292d0f5e2f56cc8a1cc7dca58664c0f6b9ac1ebc425cdca47035b0e1af3d6b55a20f4e0381e2bdf653008f4402634c999be4146d2a1b69d4281033fb6bd53f3363cab3a97aa616f8372851a741b2530192910e23e1588944d9de703a3314e443a01adc69e7c77a35918eeb1e0b2a498d039552b0cb33d8833264053036258089542f3d7d0cda85707fd1e1cab34598391ae22b4db8be82aa2f167634c032cdb7680e050499733de55814ef990956cc8053bd473b4e533fbd22d59dab0f003d3c89ce9e6b228579bcdfa29da17d6779780dd05d3ff575cc91cae0cb8510f8c03fe123a0e6d3725621a1f99d068a27c6c4613c012333895aab871f08608c075350321a36b1394a46fbcdde85787e04c3698a59d8fbaef44b722d6d9916a997b15c403ee3253c4db34ada6b76ae3fc0a8f452c54ca146285203e974998fb748aebce3203ca369474917dfe4551052f64de76c3e2807ee29e25ff0411e1356530c8046daf0383c552d2d7bbfeb6532f77a2564e440db00e0254e84db103e0e77161356b0f8203d504aadacebda025d99dfc460550ce9bed9eb420e88d9db50c79813090e4a36403d098b7db0b76b6986bbe45f4cce5962362a09a6f32435d543d5463e2e0c6a8100365ec0bbd07b23e4c2f002a86502884fac1caa1d2e0afc689977b6f8f9256214d03a343918170f74434e6aa812d9663f86719b5d55ff1f4013bb0150d3e1ceaaf65030807112e1925f6ff94a020c827dec26590eb1fed08cb395e14ee362b26cf52480307205d4a7475192ff842385b2109aeffcbc01364c745f2fe3405831e56630e5603b231aafbf64afc2fd661264ef3f71c0682b39d8b61b43b1bd82b1439f2a89e90035bd7df2b885c8c8f65adc40bef83bc36701803b02b4071152da64d1652391a83038b2028508cc0bb00a0269a173b3be11c89a02769b8038c7a027d58e58daa5e7003d54bc8f42adbd76c99a110ad70c854f49c1d4d4bd6fa7e60ebab4a60e911844203e86e6f6b2c0942c68be727dabad1ec559751099185fb1f02cfc366a631372d9705581e03e3d6bc31d4a00c889ffb52f500d48d6d77aba2058566016377613d4830040203ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03325f15937cae940796f08309ed98196efafcc4dcd45889e003c248b44007011bffffffffffffffff0355022c77c99e25098a8603cd355a2752ca6362b27eed18cd8b8564ecbe10bac801410e03b2d7bb34d0c93464dac2199d4632d334aa1e2c07be8dcb6f67f99dffad3c2b990389a53946a719efce09326f7aacf560549c34c565661b4c23e91a409081d86ebf05581e032b396aed0fc04d6bdcec07340cbec83e0817d05cef4e377a1064d28a10040205581e039da63201863fa235e3ce4513b0a8f7aa1875f7e05b664dd8b73d8d14300c014714b82c5054800004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630480dac94808eaa9c6b0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf60480dac94808eaa988300582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af052035268e78d0d5c3ea82b3cafef04e091a6ac0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582058520f54bd0aa69f8bcb61490410e78098d8244ed9accd08d840c7fb3fee1a88005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8515a781123ac02e6e7ab6187bf33ba3f328800582002fe96ef326382e94af93b2b75d262461c23147e67cc40616085d85852c5cca75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219804400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5db700000000000065ce6dc1d7b015f800000000000002e290ebd6d9a4aa0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54b18c8c017c8730c46f65d1151d7fdeb447670d520218480219b45505581e0348df8ce6f0973a93aad05319639a856757a7f3bc1644cf18acfd2fea800701192c1d03b4b098d141f2425db6c48e9b20fcb368e4b9f65fea344ef7fce58c09f537a32c021927760372469d0c5a79159ea86ea954894ae3497ee98a1d3556b97527994e111c9f50db0370ec90087a319578b693be3767a3d7f28637098c3a7265c9f93380d4b0840f78031bf1a4b012d1d7daba2f2824485fbe22ec8832399d15a7850f11f83ab1fd402f03c2fbac31c189a37f23e77611a36323758e18d7f16e9e338e07f76be067a9c8a40382f6e54d39cf20330a33349dafa33fddb731bd9b094ef4e5e62e05bb36be8eaf03cd0fb570e88d6313e02d1039aaabd9b4a67686dc3fac29293d0bd46bebe9cc1c03d7d9f8e6a2591cb6c972d7641d3c14a24c7ff7a9cd3e5c05c84ef68be0c3133003ab870669beb665564ad594e4eb1fd7612a0c8b0d03f3dc9c863af8b5fff82f610219ffff03d585b266c9c07e068172a0e420cbf02aba1cef120e262bac7c8c860e4624123e0219ffff036a7640b32755ab14df2a0c038a8f694affe34680e85242d9eff81ce15efadef103d97484da0d9541eefba33541e7d90d2d047dedbbd2340f4a697c25c102172a7e0314c0d26e5037a35b669de1c595b0b1391f0835f1d0682b2ee89fee6f7f241ef10358114cf8f3f9c25cdb5f6fb7780dbb19a0875ddb55665724b4b1d166d93b1b0903aff3599eb1851642a158706e4c3e9329ac95e6834d5bbfe548ccc1ac51db666003b3d0d4a694c21a1a2210cf4d97880aa8c94925ecd901921317c510071a06c0d6035681ee8045d1d5d5d843461b8935fe75357c1913dd00a618778167796b874ab103840b0512c22204e918f105c38cc44a731da398657f9bf45729ffe4bc7ea01bc70219ffff033ad165c9c95080e45b6260284b9a6463349973ea002064ea32a70b898efb5d870219ffff03a965d046c68791c64512620dd76c6fa9aebd27487f9e3857b1373da7fa005b2803cbcbc352f92cbc97be63086f893620b3bc1feda08256d384ee4086ce41d4575a0380a50f6a97b2fb91b5bbded6de6d5139bf2e3718d797d483fb0174d8df6737810387f27219c81cdba212b3b973ec3d5b9d28c61e5e03066b52e0f7c881ad59c9ef038504cbf24c8a7b5aabe9eb5437d9b6ebc95f0c788a9744cf3c6725d52999840803399fbd2ce4cb89b6b0526d5a87cead0af24156dbc7e673d3018d21c55114c46003eacb2dc5ce8d57d055e6378edc878a626e2b1e3a0f206367dd07b912a9c47bf503285b47896a9d8d4d4d8b8a0bd8cbbb78c2af6eabe71f90cacbd930d180d84e2a03df92fb70bb2e512c94485ff8cc53dddd9fb51bb19158a3a29ee04b57290a8ef10372df7bbddbaa66659c9047a4c09dd9a3210c02d0d242ea4ad273f52f0fa2a534033ed5d36d2825c32a6a47aa7d940ab945072d0f05c0aeebd0abec099cae34b89c033ed4fd75447bce6d7bb4832a7b69d6d273e7eb0b0ed3d849e69c9a3004510da50330bfadd5225ee95093a1176de0d1b53515929ff897a4cf03e371c3d6e4c005c9030eeaa13ed7272a052bbd5d53d7c6953f439c69ca0151d9d63bb133c77c990f6403482dd6304b705c1fc0445ef149a530b851d202a7f80e61c9995c7c096a969c7c03900d49b12609883534a72f451d4eea51bf077ad947b3e76b1a0160659b71ad3703e6970a007df1ff9d647caf7bceceaf4ccc23105eaecf83e02eea58642f8c7ea603d66644c7c00d92437ed33b0f84a813999734588f9721e3b840adc714f9a97812039adefcec589c9501754b346e226108ec809c092e86e866e4f96ddc3f21f2b34503a075fe766ce95ee249c954869c6262f5c70a84717a3b8302fe7443e5f273882303a2bdd34cd191219ed72f44efe0d8b9147672b9a118c612095347d069eae07bda031c1a565b862244adc40f0062ed2edfd4c77af766a1096f2b9e36112258d18ac90304a37c16aeb58ccaf4ca4c197fb4b87cd1b40d0fcddd9ee2804a245d27707cda03cc6966d13ec54e3b66f8d24114e8e7c30a5ed1753b92a4e5c543cd88230e287b03c088d949d2fabf4fc65b1a8f2408eba838082d82711aaf51f9da182aa44e9412031bb1ce186ad6c35594eb5f46656460b58153b208bc6bc106b2ad9fb0139a870203670529554c6a614b879c8669fc31af5449e4971f27ed7be09f224b4f84d3066b03473082bfd9e33aba1e1012748da3e7f67bd19e7ef8d04824e3857fc23a46750d05581e03d7551805b43ecbd09700f873112b8bd1aaf38616168876c3bec48d5f000c16480128aeb61a649bb205581e037dc84d3abce14e19bdfe80bf440b86f1856676648a3ba833187b60bdb00c11471e87433e2f529705581e03dac04dd8819eca0b6d6d15e9614d9eab878999ef5434fbb2af17fad1400c1844480297e01232bc6e6205581e03502a3252e11927c0d36825e87a1349c904a7d1b0540020b212910bee900c0446418d334bb9f805581e0398766edcc9b273ba1d444f4f68623323d8d8ce4a6ab7968940494e16300c0147aab2fbaa08080005581e035aa06ed40dc64d16cbd73e432d58d85a6610d0f1c29a7e35b61ec533200c094722990f7c789a00034f62499145f8b67634fec15d5dfa7ff376118f20e3775e6a3fc42f69dab276c305581e038de5c87563c4d53c28f9f3ff8665821e6032bb4ba524e360d503f40500040203aaa1bbf696b4aa5dd9426cd34480298fe23d4a8491991e9f9192b0485540790b021999b503ed6c22966b7c3307aa77347a6cd890c20f040714fceef7c86fa4392e0da04da3036dfabdc0b6538ace5e645a71bc40870f5a17a215ec6b979af7f5e6963da6eeab03d536ff5ba1aa315bc347b2cf76d9cb37e47fbf9df5af5a80982477156a140ed303f8f6acdf6830dbf831b142a4a5543e0078be2bf43d0de919b970342603aadda00330e2325e7936073e73dd8a2960507deb7d2da907cf2284d280e5920dd66ab0d6030d728de1cd8b5abe21560695efd9601fb2de6243b5e7d93b775150d2be497e1d039525d96ae4c66b5937790f7d84d8ee37c889f2775757e33ac3af27d5402cdbaf0219ffff03f7846b98909a57c9221a890e30d1c48f64609660b1e302ba282805a89d723f3903aba1db865a52d18c122d325ba09dfbe7592f2ca3f415cb8a5737e9a37ba590ea03049cf6c0f2e42ac073938f4a003bfc77b8add4df45d7d0700981f6062edf58df0328e7688d46fc079f007e9c4f16c6836785618dcf50a06bc6bf71a0e51ccbd7630219ffff031765176d8065576399a36370e09c48759224581a34c5f16b1955ebcd05bc81cc034605b22ec627f949740795808f51700e02354e5dfe910e59b21c2b5171130a00037cab3b4b1ce769135b4e9c27a756ed74a5e77e9b93f022e73f23f428db80bea003398d68574528eb20349b1a68c1099ff13a9a1e3664316b837f863a4cf1f676c6030fa22b04f9c3bcc6df6d2a97942782dccbeb755b9e4a29cbc9320493e04b1af00367cd304f6a0107ad466b6550e2a7ef0c0e6611824c374ec06eb403d8978bb43e032d7f1b3b69913ac1cd2360b3ecbd04e6d187e0b2edbf269122fbc3d6d75bf9f30316cce2331afaa0814c3434b7aa532bd81b00a5b5ef67fcb6b98396d566dab37103b2ee208c3b3f9a78dd3cfacae54e755c836df69a86ec419163cb3321eeef49950219ffff03ed39e412d07e2d041ed0a948c6bc24f8132c2606f7d8f6f8278ce9977e073c79037c69f368464b00868dd27a37cef7cf4a77e8740787bd3fb9d1a909283c23eca103b64597c069079488640807b938ce6568a0d14dd46b00d09e45f1b4a12352fdfd0347a2d02978598695a9e440543350a3f388b67587bd7dc0cc529f40966c5c7eeb030ffda69ded55181130ff5ec9f6579095d47b1dd4af82cd28733f3ad6e1400b4503624dcd03a8f795438ed0b27f47b3e686f61072372b878867b8127aa546a0b87303edc9f4ce25d228dc1ec44b8843ae34867313cd4fb4f1e49ae61f1c8af4bfb05a0350e1dc79f2147530833adf8f20b003efdb0538755a134ec55e357387fc6027d403e3aa7d6dae8d1d58089f0245a606c2efddfabbb80c5c528d15cd5f9b1d377f3f03887d46a357eb46e8f9b48e000071c13413ccf8c90d28e54953bbbfc9c89e8b5b0398f9799ebe596fad22c8369ea119ed61a99e933267a67c7f7d6366e154edc49403de7068a497423d763b8a523364f9b6ca3c775b4a435ac433dbf5bbf5ea9d631f03a923c79042b70ca40919c0722b0b7f0abce2252665ba6ffcdf4191c4559ade59039eac2e69a39d4c744f462d3400d7a0a0c6fc05e765e715dc4404a59968bc0588039660cb2bb9f2fc05530fe3e949c5f62452c23bb0e6adb084a8275dc9ef04829403b2b871cfbffee922fdeb87f3e9a06600cb76a627699d61e9292b037d87a9fd2e03dca321f692ddf353746c242dfb8668f19bc68da3eaf9cff712be53d06034f4a5035b3fbf975d5cd49986b78cd4702140a6b9965bae92ae0d89250cc8a9011f952303394002109f642a793bdc36402ac84142978437d798e24aa7e2e5c5240cfd0e750320e526397db3a7b26a2099a9bfe33adbf74d4d3486c15305fb848e231af2083203c764813e9001d162d1cd81ee7b303ab007b9532a3c4f9d6094a25fce9f26ac6f03122345a7a07131e5b29e95732cbed16843cd8f8dae64f86fdeb0e25c52cb27950306fc3b609d9fa91425547f2e573fd2213032bc6dbb1c130a5c194a6f940011f3035f472336890d031ea8b9d13df4b9eddcf4c6f8505ebbb66cff065c016dc0c09c03e79c9d1cc21ade07a90a01302f0ae1c2d6767d5fd40e4f666b5e74698f5f78450384e2c3df1994e9b7cb67e295a367f5efea7a0c9dd08bd22bf31abb742325579b03187df8e0774133b0a633da1c264c12dd4f054fce311d856fff741f67d20bffbb03ed45029fca09c940cf353a94c32b9ae3a9fc151d9cc83ccf3e87b6f62acc9d8c03ceb245dd6a0d55630caaf3513fa7df8fd05bb7c49b110403015f5dae553563d703110f4ef4dceb95a924636072d7f66a5f63e65e12b59f17b588d26f37e3f4e864037b213abf52dd5f47ee5732392e18e79bef61aaad74732ab8e354c57b8fb48ccb0370128f3c692c0913a6bfa75e2c58473bd94712fbdbfd09527e41d61e313216720373adf73c4b66792047aecb6036dd89e4d537a6778c3bb031b84d634af8eb6e9403a801042c575249127a0a36896cf72a84f7ac19bc206ffec11a73a884d728a20705581e03eb60baa7bc7cb8c0a78f398e7fcaad70bb6d6c0320b315ca9d3f3554d0040105581e03bfbf59d9ad44bada8053ee270c5d96a6375af735e03a1627ee62c254d00c0146491aed58d8000320ba413478ba6de83609fa654c9b93e17c7d595eea1f3753c8834d4dfe381df205581e0388e40e0d22a19f5fe359e9619901283c0d67a9676ffee049eceb4ce5a00c0744d09dc30005581e039687fda2a8153b506b441b8bd019596109ad75f04bc4a074a47a0113000c01459502f9000003197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e037337fe1b1a27e0d357ceca376e89d7581720046c56bcf9ade5eed8ff9007011bffffffffffffffff05581e035cdf7126f2763afed23c761855e5887f1acb3847bac3988938a101fa900c04465bd991136c0005581e032890e4f9a5b785c5d33389ae309f21ef9b456eefc6266e9f400a37d7000c0647010792520e500005581e03667a44dd0a57f582dd90a8fa70c6d4af738ac0317e432fc20b7ddedff00c01471651d541e193c005581e0331c6968c58144ec9d204a21c25fc8a04813095f9a554669687f15813b00c183848258fd94df784dc6303954014709539c9e0f6bc3dcc35c4a6cfbb26df86bf7a32ff7ae9e588daf311f005581e034fa4ada663c3ff4c3e9aa958e3030f7092dd97ffb0b0a53787980a5db004182305581e0379a8ba132eacf855aa5bae054a2ced6ba6cea777d38668ee6f9dfb75a00c0147132336d702e6000219b5ff0219ffff035f8c15da65132754b859888dafdf8dda2d6c341503427a51ff018b093c8553e703927eb35c27d1956a9ae8e436330e5b6a4b9fb38d9494d6b6a444efa53ad49f6e034c5bedd11e87c9e2b1e24bcc9d76ef012833a8a81cc68a6c4f32ba79e32b9b4d03e7c413d4b5b3f2cabc34eb38d337e70842ffecf0fe881ada92da4ab315a64d87039b4c5f364eb8f3359093c242a58a8287c4edf147cd086ae1f5d17b8906854630030747055309105384ab13c265e353637f8a96758eb1ed909f843cbb8f132ba03403fe763878181c2ae3c15962405e05400cda9f03e1f1d9b927c9db9c2c97fd3ead0331e6646dacd5c0a3808c54f4ccf832811c4cdba5d3e3fd75eb58fe480fc9800803d57c73c964a3489e09eec720975cf49e1dd037ca534926259091fde5daa6a17203126ab9bdc9a3738315d49e59af504d6edee8656868924bf6dfdeb8f29d33aabb0219ffff03a586a95e60f0308398c8ea653e7531319c14339ac11e23046a3100c39b0fed7803a063c3220a14f607b2349e6ed5ba800534a09ff96066834f5d5d7b262965241303214f72756230942656dd9ce46800099a6f435fc08e0052e9b5c985cb4d5da214035f4f2ba7f75a0acb1dec09186844c48e23e1c4584c5a243001179bb4ad88a73003684bfc651511f94c07bde9b44a80b77c4ec69d105114c8fb4f497a65312983ed031b75a1c69c76a08b82162e2382225493d800d6526a208005482d80a4db870ab1033eaa17eb0a7cddb6cc3a18762cbe0c6cc1b478bdea8ebd356a373a92ad4b37f90219ffff03bc74090c4e3d4bd6b98d435695c06c354cb37ed488436ceb19179f7a75a2c3ea0366d4ba1ffc140bf34f7ff78c0dbe7cf2b9715725d45f75d9c9e9356d468930090388e94d24f165083366d261bc5614b478a9c2abebf4d09f393e78b5df040c7589038a920f5d2df1fd90dc56afb3954efb19378eb2576ae595582910b95c792349fb034a91cc7740ae3cdd0668f480a77fe270a9ea5c054381504f95c89c3e039c035b0219ffff0368d497df1f682ffdd3ed4f4a82e250271ac7ae096bead2a17a6207929c610482032479a848475f822582422a97702ae252f39b10b48d669bcc4bc8abdd8b205043036606ddc5a70f0fcfe956030a35ae91a6b003259bfa774a6a2b018a1b8a270c5a03e9f9e21290bfcc332e2c940e6ac9a99dc5e940085314ce91ae5ba4fcbcdca80403681320aa56c59dbc6d76dd24f979fd8e6431d4a555579b03fbd8f4debb14d4940329a98aafd5b252a5cb6edf169e6da01f3131b73a61241b0e5a9974023f20bce303064373a92fbaa74c494b9bb3c09ed235d90ee175fbb2fce2f07cb0d7e6517e3d03e9dcebfbf76992b81a6b596f81f8280c7007539757190f61b4bf7691846952c1038c3e0ea786a08d9d4ff010c17dd80831350bdd04109bd2e5641b1102d0d201d703ce018171a52ff434a6fd849ca812ad5fb12ea24ab5d00e3e92fe4517243c13e1035cfc9421e276d124a62c46c72f2feb99d7f616fa25acd16cf597b7dc531a66ca0312e5a34c61ed89765cb41e1af31f58a2387b45d3d40976446390a53f4c2eb652030a63f2ca64bf32f0a365a1728cda44264fbeefe86d9be4eb6059406b8dfb7c1003d9b3278e5c61faaf09b6914d8626dfe663a88b8b4486219f0e784205c9962a5003078468a40a017c769b325c488872cb5be8a5716d891d0e9d05676b95034a4d7c03f58b271b1ab544c0329216099bc2ea100431a4fb64920eedebe971caa0a74804038931a7b3f1f35ac1e5d35d3c5fc3771bb9f91d77a26cb1d31f8b2f118c75d69003dacbd8664c534de3efc89b9f4320ab03ef2546fc335d79396b02922d12845476033de8ca51e8f5722f83aee0eaca24e08137c8fb72a174e3de4d64e3b828601541032b8de6bd8adf2f22f570b158e9e5a68342d21614eb496e3abfb1d39d4fa0c1a303af3f7c4a5d228f3bf81538c09d60e1ca847c8ff863da885a4d320566d898009d0331e6f9f849baa8f4d97907719237c7e1c465807efb84710d9ea1bfd1360a093903068210e24a700477fa40e242b1287c7405c7332aefcaf77e92fb87b63a104700030bfaac2d323eb6898db67737c27769c6cc5898346fff8f67f60009412c5acc6a03ae56aaf99e2b4171979478eb1f9a0caafe2e98292c6c1526b63910397217cd20031196de1dcd4a9e9ac5e1bf6ae9db3bda7ac39f41a31f90ea9aa985a5e0e23bab0338a3648fe43d0759c2545fbac374ab550f6155703a37f1216014f02c11614ccd05581e0333617c4920d035c85869829581a0a3a3dd9dadf122daad9c47fc2edf400c074771c0d792eca0cb05581e03154df0016effd23a529fe9dba19a32aa7838f956bbc8c9334f0666a5d0040405581e032b3ff3ba56b5c3d896d23ff067c9e26cad3f115e9283dce09e19a270c0040305581e03f158e6cd12159a3cf47403a789dc6c9e7e8c9a09b6da1e03f8e0979e400c0346afca8172ffa0038211f446ac23f136adb55c95b8eba937b16b12d9d32ee30eaca4059191e0207503da31270adeab5b50d0101caa8dd4e2326fae6a43562501680271f83f8fb34787037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e035e4e75fffbb329e4ba7f1b98156fd87b98d7f9b60be56ac357673ff22007011bffffffffffffffff05581e033cc8f8c15d49a17ea4ffc954f9927f2ea565c8ca347927a41b994e7110040104595ca7608060405260043610610087575f3560e01c806375713a081161005757806375713a08146101215780638024c73a146101345780638129fc1c14610148578063e634edd31461015c578063fa461e331461016f575f80fd5b80630162e2d0146100925780631a12d67c146100a7578063547d00a2146100d45780636e20b1071461010e575f80fd5b3661008e57005b5f80fd5b6100a56100a03660046150df565b61018e565b005b6100ba6100b5366004615263565b61027b565b604080519283526020830191909152015b60405180910390f35b3480156100df575f80fd5b506100f36100ee366004615306565b6103db565b604080519384526020840192909252908201526060016100cb565b6100ba61011c366004615388565b610ac5565b6100a561012f36600461547b565b610bfb565b34801561013f575f80fd5b506100a56113a3565b348015610153575f80fd5b506100a561149c565b6100f361016a36600461552b565b6115c4565b34801561017a575f80fd5b506100a56101893660046155a8565b611c20565b81158061019a57508142145b6101bf5760405162461bcd60e51b81526004016101b690615620565b60405180910390fd5b5f898960028181106101d3576101d361564f565b90506020020135111561026157888860028181106101f3576101f361564f565b905060200201353410156102195760405162461bcd60e51b81526004016101b690615663565b416108fc8a8a60028181106102305761023061564f565b9050602002013590811502906040515f60405180830381858888f1935050505015801561025f573d5f803e3d5ffd5b505b61027089898989898887611f17565b505050505050505050565b5f8083158061028957508342145b6102a55760405162461bcd60e51b81526004016101b690615620565b8b156102f7578b3410156102cb5760405162461bcd60e51b81526004016101b690615663565b60405141908d156108fc02908e905f818181858888f193505050501580156102f5573d5f803e3d5ffd5b505b5f6040518061012001604052808b815260200189151581526020018e81526020018f60028151811061032b5761032b61564f565b60200260200101516001600160a01b031681526020015f6001600160a01b031681526020018881526020018a81526020018781526020018581525090506103728e826124f8565b9094509250508b158061038557508b8310155b6103a15760405162461bcd60e51b81526004016101b69061569a565b8a15806103ae57508a8311155b6103ca5760405162461bcd60e51b81526004016101b6906156c9565b509b509b9950505050505050505050565b5f805f80845f815181106103f1576103f161564f565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561043f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046391906156f6565b90505f8a6064148061047357508a155b61049e575f8a1161049857610493606461048d848e613429565b9061345a565b6104a0565b896104a0565b815b90505f81116104e05760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f42414c414e434560a01b60448201526064016101b6565b866001815181106104f3576104f361564f565b60200260200101516001600160a01b03167368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b0316036106c4575f6040518061012001604052808d5f14801561054257505f8d115b61054c575f61054e565b8c5b81526020015f151581526020015f8152602001896002815181106105745761057461564f565b60200260200101516001600160a01b03168152602001895f8151811061059c5761059c61564f565b60200260200101516001600160a01b031681526020015f81526020018381526020015f81526020018b81525090505f60026001600160401b038111156105e4576105e461517b565b60405190808252806020026020018201604052801561060d578160200160208202803683370190505b509050875f815181106106225761062261564f565b6020026020010151815f8151811061063c5761063c61564f565b60200260200101906001600160a01b031690816001600160a01b0316815250508760018151811061066f5761066f61564f565b60200260200101518160018151811061068a5761068a61564f565b60200260200101906001600160a01b031690816001600160a01b0316815250506106b481836124f8565b9198509096509450610ab6915050565b8a1580156106d157505f8a115b15610745575f6106fd8b888a6001815181106106ef576106ef61564f565b60200260200101518c61346c565b905082815f815181106107125761071261564f565b602002602001015111156107265782610741565b805f815181106107385761073861564f565b60200260200101515b9150505b855f815181106107575761075761564f565b60200260200101516001600160a01b03166370a08231886002815181106107805761078061564f565b60200260200101516040518263ffffffff1660e01b81526004016107b391906001600160a01b0391909116815260200190565b602060405180830381865afa1580156107ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f291906156f6565b9450865f815181106108065761080661564f565b60200260200101516001600160a01b031663199f7260875f8151811061082e5761082e61564f565b6020026020010151338a60028151811061084a5761084a61564f565b6020026020010151856040518563ffffffff1660e01b8152600401610872949392919061570d565b5f604051808303815f87803b158015610889575f80fd5b505af115801561089b573d5f803e3d5ffd5b5050505084865f815181106108b2576108b261564f565b60200260200101516001600160a01b03166370a08231896002815181106108db576108db61564f565b60200260200101516040518263ffffffff1660e01b815260040161090e91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610929573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094d91906156f6565b610957919061574b565b6040516370a0823160e01b81523060048201529095505f905f80516020615c52833981519152906370a0823190602401602060405180830381865afa1580156109a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c691906156f6565b90506109ed87308a6001815181106109e0576109e061564f565b60200260200101516135e0565b506040516370a0823160e01b81523060048201525f9082905f80516020615c52833981519152906370a0823190602401602060405180830381865afa158015610a38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5c91906156f6565b610a66919061574b565b90505f8111610aac5760405162461bcd60e51b81526020600482015260126024820152711393c81513d2d15394c8149150d15255915160721b60448201526064016101b6565b9194509092508390505b50505b96509650969350505050565b5f80831580610ad357508342145b610aef5760405162461bcd60e51b81526004016101b690615620565b8a15610b41578a341015610b155760405162461bcd60e51b81526004016101b690615663565b60405141908c156108fc02908d905f818181858888f19350505050158015610b3f573d5f803e3d5ffd5b505b5f6040518061012001604052808b815260200189151581526020018d81526020018e600281518110610b7557610b7561564f565b60200260200101516001600160a01b031681526020015f6001600160a01b031681526020018881526020018a8152602001878152602001858152509050610bbc8d826124f8565b9094509250508a1580610bcf57508a8310155b610beb5760405162461bcd60e51b81526004016101b69061569a565b509a509a98505050505050505050565b5f82600481518110610c0f57610c0f61564f565b6020026020010151118015610c3e575081600481518110610c3257610c3261564f565b60200260200101514214155b15610c97576040516001600160a01b038a1681527ff2e7574263ab25e854ccac210f6060de1cb000d665c40e21b3bcb80f2b4511bc9060200160405180910390a160405162461bcd60e51b81526004016101b690615620565b5f5f80516020615c528339815191526001600160a01b038a1614610cbc576003610cbf565b60025b60ff166001600160401b03811115610cd957610cd961517b565b604051908082528060200260200182016040528015610d02578160200160208202803683370190505b50905089815f81518110610d1857610d1861564f565b60200260200101906001600160a01b031690816001600160a01b0316815250508881600181518110610d4c57610d4c61564f565b60200260200101906001600160a01b031690816001600160a01b0316815250508051600303610db7575f80516020615c5283398151915281600281518110610d9657610d9661564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505b6040516370a0823160e01b81523360048201525f906001600160a01b038c16906370a0823190602401602060405180830381865afa158015610dfb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1f91906156f6565b90506001600160a01b0389167368b3465833fb72a70ecdf485e0e4c7bd8665fc45036110c3575f6040518061012001604052805f87600581518110610e6657610e6661564f565b602002602001015111610e79575f610e95565b86600581518110610e8c57610e8c61564f565b60200260200101515b81526020015f151581526020015f81526020018a6001600160a01b03168152602001876001600160a01b0316815260200186600181518110610ed957610ed961564f565b602002602001015181526020015f8a11610f4a57865f81518110610eff57610eff61564f565b6020026020010151606414610f44576064875f81518110610f2257610f2261564f565b602002602001015185610f35919061575e565b610f3f9190615789565b610f4c565b83610f4c565b895b815260200186600281518110610f6457610f6461564f565b602090810291909101810151825201859052604080516002808252606082019092529192505f91908160200160208202803683370190505090508c815f81518110610fb157610fb161564f565b60200260200101906001600160a01b031690816001600160a01b0316815250508b81600181518110610fe557610fe561564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505f61101082846124f8565b509150507f522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade978160405161104591815260200190565b60405180910390a15f8911801561105b57508881105b156110785760405162461bcd60e51b81526004016101b69061569a565b86516007036110bb57866006815181106110945761109461564f565b60200260200101518111156110bb5760405162461bcd60e51b81526004016101b6906156c9565b505050611396565b5f808811611177575f871161112f57845f815181106110e4576110e461564f565b6020026020010151606414611129576064855f815181106111075761110761564f565b60200260200101518361111a919061575e565b6111249190615789565b611179565b81611179565b61112461115888858d8960038151811061114b5761114b61564f565b602002602001015161346c565b5f815181106111695761116961564f565b602002602001015183613837565b875b9050856001600160a01b031663199f7260845f8151811061119c5761119c61564f565b6020026020010151338c856040518563ffffffff1660e01b81526004016111c6949392919061570d565b5f604051808303815f87803b1580156111dd575f80fd5b505af11580156111ef573d5f803e3d5ffd5b505050506111fe83308c6135e0565b506040516370a0823160e01b81523060048201525f905f80516020615c52833981519152906370a0823190602401602060405180830381865afa158015611247573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061126b91906156f6565b90505f8811801561127b57508781105b156112985760405162461bcd60e51b81526004016101b69061569a565b85516007036112db57856006815181106112b4576112b461564f565b60200260200101518111156112db5760405162461bcd60e51b81526004016101b6906156c9565b801561133b57604051632e1a7d4d60e01b8152600481018290525f80516020615c5283398151915290632e1a7d4d906024015f604051808303815f87803b158015611324575f80fd5b505af1158015611336573d5f803e3d5ffd5b505050505b6113608186886002815181106113535761135361564f565b602002602001015161384c565b6040518181527f522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade979060200160405180910390a150505b5050505050505050505050565b5f546001600160a01b031633146113e25760405162461bcd60e51b8152602060048201526003602482015262486d6d60e81b60448201526064016101b6565b5f6001541161142c5760405162461bcd60e51b8152602060048201526016602482015275139bc81199595cc810dd5c9c995b9d1b1e4813ddd95960521b60448201526064016101b6565b60015447101561147e5760405162461bcd60e51b815260206004820181905260248201527f4e6f7420456e6f7567682042616c616e636520546f20436f766572204665657360448201526064016101b6565b5f54600154611496916001600160a01b0316906138fd565b5f600155565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f811580156114e05750825b90505f826001600160401b031660011480156114fb5750303b155b905081158015611509575080155b156115275760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561155157845460ff60401b1916600160401b1785555b5f80546001600160a01b0319167337aab97476ba8dc785476611006fd5dda4eed66b17905583156115bd57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b5050505050565b5f80806001600160a01b0386167368b3465833fb72a70ecdf485e0e4c7bd8665fc4503611730576040805160028082526060820183525f9260208301908036833701905050905089815f8151811061161e5761161e61564f565b60200260200101906001600160a01b031690816001600160a01b03168152505088816001815181106116525761165261564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505f604051806101200160405280875f815181106116915761169161564f565b602002602001015181526020016001151581526020015f81526020018a6001600160a01b031681526020015f6001600160a01b03168152602001876001815181106116de576116de61564f565b60200260200101518152602001348152602001876002815181106117045761170461564f565b6020026020010151815260200188815250905061172182826124f8565b90965094509250610ab9915050565b5f61174c611740876103e86157a8565b61048d346103e8613429565b90505f5f80516020615c528339815191526001600160a01b038b1614611773576003611776565b60025b60ff166001600160401b038111156117905761179061517b565b6040519080825280602002602001820160405280156117b9578160200160208202803683370190505b5090505f80516020615c52833981519152815f815181106117dc576117dc61564f565b6001600160a01b0392831660209182029290920101528b9082908c165f80516020615c5283398151915214611812576002611815565b60015b60ff16815181106118285761182861564f565b6001600160a01b0392831660209182029290920101528a165f80516020615c52833981519152146118885789816001815181106118675761186761564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505b5f80875f8151811061189c5761189c61564f565b6020026020010151111561193a575f6118cf885f815181106118c0576118c061564f565b6020026020010151848c6139c7565b905083815f815181106118e4576118e461564f565b602002602001015111156118f85783611913565b805f8151811061190a5761190a61564f565b60200260200101515b945083815f815181106119285761192861564f565b6020026020010151111591505061193e565b8293505b61194984838b613b23565b60018351611957919061574b565b815181106119675761196761564f565b602002602001015194505f80516020615c528339815191526001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004015f604051808303818588803b1580156119b7575f80fd5b505af11580156119c9573d5f803e3d5ffd5b50505050505f80516020615c528339815191526001600160a01b031663a9059cbb611a288b855f81518110611a0057611a0061564f565b602002602001015186600181518110611a1b57611a1b61564f565b6020026020010151613c59565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018790526044016020604051808303815f875af1158015611a72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9691906157bb565b611aa257611aa26157d6565b6040516370a0823160e01b81523360048201525f906001600160a01b038e16906370a0823190602401602060405180830381865afa158015611ae6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b0a91906156f6565b90508115611b4b575f611b37895f81518110611b2857611b2861564f565b6020026020010151858d6139c7565b9050611b458185338e614100565b50611b58565b611b5683338c6135e0565b505b6040516370a0823160e01b815233600482015281906001600160a01b038f16906370a0823190602401602060405180830381865afa158015611b9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bc091906156f6565b611bca919061574b565b96505f8711611c105760405162461bcd60e51b81526020600482015260126024820152711393c81513d2d15394c8149150d15255915160721b60448201526064016101b6565b5050505096509650969350505050565b5f841380611c2d57505f83135b611c35575f80fd5b5f80808080611c46868801886157ea565b9550955095505094509450611cbb8585336001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cb6919061585f565b614290565b6001600160a01b0316336001600160a01b031614611d0b5760405162461bcd60e51b815260206004820152600d60248201526c46616b652063616c6c6261636b60981b60448201526064016101b6565b5f805f8b13611d2f57866001600160a01b0316866001600160a01b0316108a611d46565b856001600160a01b0316876001600160a01b0316108b5b91509150828111611396578115611e33575f5f80516020615c528339815191526001600160a01b03891614611d7b5787611d8a565b5f80516020615c528339815191525b90506001600160a01b038616301480611db857505f80516020615c528339815191526001600160a01b038916145b15611dce57611dc981873385614354565b611e2d565b60405162ccfb9360e51b81526001600160a01b0386169063199f726090611dff9084908a903390889060040161570d565b5f604051808303815f87803b158015611e16575f80fd5b505af1158015611e28573d5f803e3d5ffd5b505050505b50611396565b5f5f80516020615c528339815191526001600160a01b03881614611e575786611e66565b5f80516020615c528339815191525b90506001600160a01b038616301480611e9457505f80516020615c528339815191526001600160a01b038816145b15611eaa57611ea581873385614354565b611f09565b60405162ccfb9360e51b81526001600160a01b0386169063199f726090611edb9084908a903390889060040161570d565b5f604051808303815f87803b158015611ef2575f80fd5b505af1158015611f04573d5f803e3d5ffd5b505050505b505050505050505050505050565b5f611f5f611f27836103e86157a8565b61048d6103e8611f598c8c6002818110611f4357611f4361564f565b905060200201353461448390919063ffffffff16565b90613429565b90505f8686611f6f60018261574b565b818110611f7e57611f7e61564f565b9050602002016020810190611f939190615881565b6040516370a0823160e01b81523360048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa158015611fda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ffe91906156f6565b90505f808b8b5f8181106120145761201461564f565b905060200201351161204357604080516001808252818301909252906020808301908036833701905050612099565b6120998b8b5f8181106120585761205861564f565b905060200201358a8a808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508c92506139c7915050565b90505f808c8c5f8181106120af576120af61564f565b905060200201351180156120dc575084825f815181106120d1576120d161564f565b602002602001015111155b6120e65784612101565b815f815181106120f8576120f861564f565b60200260200101515b90505f80516020615c528339815191526001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015612149575f80fd5b505af115801561215b573d5f803e3d5ffd5b50505050505f80516020615c528339815191526001600160a01b031663a9059cbb6121d48a8d8d5f8181106121925761219261564f565b90506020020160208101906121a79190615881565b8e8e60018181106121ba576121ba61564f565b90506020020160208101906121cf9190615881565b613c59565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af115801561221e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061224291906157bb565b61224e5761224e6157d6565b5f8c8c5f8181106122615761226161564f565b9050602002013511801561228e575084825f815181106122835761228361564f565b602002602001015111155b156122d8576122d3828b8b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152503392508d91506141009050565b612336565b6123178a8a808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152503392508c91506135e09050565b825f815181106123295761232961564f565b6020026020010181815250505b6040516370a0823160e01b81523360048201526123a99084906001600160a01b038716906370a08231906024015b602060405180830381865afa15801561237f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a391906156f6565b90614483565b92505f8c8c60018181106123bf576123bf61564f565b905060200201351115612405578b8b60018181106123df576123df61564f565b905060200201358310156124055760405162461bcd60e51b81526004016101b69061569a565b60048b10612446578b8b60038181106124205761242061564f565b905060200201358311156124465760405162461bcd60e51b81526004016101b6906156c9565b61245181878961384c565b7f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c42081845f8f8f5f8181106124875761248761564f565b90506020020135116124b257845f815181106124a5576124a561564f565b60200260200101516124cc565b8e8e5f8181106124c4576124c461564f565b905060200201355b6040805193845260208401929092529082015260600160405180910390a1505050505050505050505050565b5f805f806040518061010001604052808760018151811061251b5761251b61564f565b60200260200101516001600160a01b03168152602001875f815181106125435761254361564f565b60200260200101516001600160a01b03168152602001336001600160a01b03168152602001306001600160a01b0316815260200186608001516001600160a01b031681526020018660c0015181526020015f81526020016001151581525090505f47905085602001511561271757866001815181106125c4576125c461564f565b60200260200101516001600160a01b03165f80516020615c528339815191526001600160a01b03160361262e576126248661010001516103e861260791906157a8565b61048d6103e8611f598a604001513461448390919063ffffffff16565b60a083015261294c565b6126925f80516020615c52833981519152886001815181106126525761265261564f565b602002602001015161268d8961010001516103e861267091906157a8565b61048d6103e8611f598d604001513461448390919063ffffffff16565b61449c565b866001815181106126a5576126a561564f565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156126f3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061262491906156f6565b865f815181106127295761272961564f565b60209081029190910101516001600160a01b031682528651879060019081106127545761275461564f565b6020908102919091018101516001600160a01b0316908301523060408301523360608301525f60e0830181905287518891906127925761279261564f565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156127e0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061280491906156f6565b60c08301528551158015906128525750866001815181106128275761282761564f565b60200260200101516001600160a01b03165f80516020615c528339815191526001600160a01b031614155b1561294c576040805160028082526060820183525f926020830190803683370190505090508760018151811061288a5761288a61564f565b6020026020010151815f815181106128a4576128a461564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505f80516020615c52833981519152816001815181106128e5576128e561564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505f612928885f015183737a250d5630b4cf539739df2c5dacb4c659f2488d6139c7565b9050805f8151811061293c5761293c61564f565b6020908102919091010151885250505b85515f9015612adf575f87606001516001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015612996573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ba91906158b2565b50505050509150505f6129cc82614577565b90506001600160801b036001600160a01b03821611612a60575f6129f96001600160a01b0383168061575e565b905085602001516001600160a01b0316865f01516001600160a01b031610612a3c57612a37600160c01b8760a001516001600160801b031683614892565b612a58565b612a58818760a001516001600160801b0316600160c01b614892565b935050612adc565b5f612a796001600160a01b03831680600160401b614892565b905085602001516001600160a01b0316865f01516001600160a01b031610612abc57612ab7600160801b8760a001516001600160801b031683614892565b612ad8565b612ad8818760a001516001600160801b0316600160801b614892565b9350505b50505b86515f9015801590612af2575087518210155b15612d5357602084015160408086015190516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015612b45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6991906156f6565b90505f8089606001516001600160a01b031663128acb08876040015188602001516001600160a01b0316895f01516001600160a01b031610612bad8e5f015161493c565b612bb69061594a565b8a602001516001600160a01b03168b5f01516001600160a01b031610612bfa57612bf5600173fffd8963efd1fc6a506488495d951d5263988d26615964565b612c0a565b612c0a6401000276a3600161598b565b8b604051602001612c1b91906159ab565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401612c4a959493929190615a64565b60408051808303815f875af1158015612c65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c899190615a9e565b9150915085602001516001600160a01b0316865f01516001600160a01b031610612cbc5780612cb78361594a565b612cc6565b81612cc68261594a565b60208801516040808a015190516370a0823160e01b81526001600160a01b039182166004820152929a50612d08935086929116906370a0823190602401612364565b92505f8311612d495760405162461bcd60e51b815260206004820152600d60248201526c1b9bc81d1bdad95b9cc81bdd5d609a1b60448201526064016101b6565b8297505050612f7b565b602084015160408086015190516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015612da1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dc591906156f6565b606089015160408601516020870151875160a08901519495505f9485946001600160a01b039081169463128acb089490939082169116109081612e2657612e21600173fffd8963efd1fc6a506488495d951d5263988d26615964565b612e36565b612e366401000276a3600161598b565b8b604051602001612e4791906159ab565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401612e76959493929190615a64565b60408051808303815f875af1158015612e91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eb59190615a9e565b9150915085602001516001600160a01b0316865f01516001600160a01b031610612ee85780612ee38361594a565b612ef2565b81612ef28261594a565b60208801516040808a015190516370a0823160e01b81526001600160a01b039182166004820152929a50612f34935086929116906370a0823190602401612364565b92505f8311612f755760405162461bcd60e51b815260206004820152600d60248201526c1b9bc81d1bdad95b9cc81bdd5d609a1b60448201526064016101b6565b82975050505b87602001516132015783602001516001600160a01b03165f80516020615c528339815191526001600160a01b0316146130405760208401516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612ff6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061301a91906156f6565b9050801561303e5761303e85602001515f80516020615c528339815191528361449c565b505b6040516370a0823160e01b81523060048201525f905f80516020615c52833981519152906370a0823190602401602060405180830381865afa158015613088573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130ac91906156f6565b9050801561310e57604051632e1a7d4d60e01b8152600481018290525f80516020615c5283398151915290632e1a7d4d906024015f604051808303815f87803b1580156130f7575f80fd5b505af1158015613109573d5f803e3d5ffd5b505050505b613122818a61010001518b60e0015161384c565b8096506131b78a5f8151811061313a5761313a61564f565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613188573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131ac91906156f6565b60c087015190614483565b60408051828152602081018a90529081018890529098507f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c4209060600160405180910390a1506133de565b83516001600160a01b03165f80516020615c52833981519152146132ac5783516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613264573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061328891906156f6565b905080156132aa5784516132aa905f80516020615c528339815191528361449c565b505b6040516370a0823160e01b81523060048201525f905f80516020615c52833981519152906370a0823190602401602060405180830381865afa1580156132f4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061331891906156f6565b9050801561337a57604051632e1a7d4d60e01b8152600481018290525f80516020615c5283398151915290632e1a7d4d906024015f604051808303815f87803b158015613363575f80fd5b505af1158015613375573d5f803e3d5ffd5b505050505b613384478561574b565b60408051828152602081018a90529081018890529098507f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c4209060600160405180910390a16133dc888a61010001518b60e0015161384c565b505b5f871161341e5760405162461bcd60e51b815260206004820152600e60248201526d1b9bc81b5bdb995e481cdc195b9d60921b60448201526064016101b6565b505050509250925092565b5f82158061344c5750818361343e828261575e565b925061344a9083615789565b145b613454575f80fd5b92915050565b5f6134658284615789565b9392505050565b60606002845110156134905760405162461bcd60e51b81526004016101b690615ac0565b83516001600160401b038111156134a9576134a961517b565b6040519080825280602002602001820160405280156134d2578160200160208202803683370190505b5090508481600183516134e5919061574b565b815181106134f5576134f561564f565b6020026020010181815250505f60018551613510919061574b565b90505b80156135d7575f806135628761352a60018661574b565b8151811061353a5761353a61564f565b60200260200101518885815181106135545761355461564f565b6020026020010151886149a9565b9150915061359a84848151811061357b5761357b61564f565b602002602001015183838987600114613594575f614a6e565b89614a6e565b846135a660018661574b565b815181106135b6576135b661564f565b602002602001018181525050505080806135cf90615ae6565b915050613513565b50949350505050565b5f805b600185516135f1919061574b565b81101561382f575f8086838151811061360c5761360c61564f565b60200260200101518784600161362291906157a8565b815181106136325761363261564f565b6020026020010151915091505f6136498383614baf565b5090505f613658878585613c59565b90505f805f836001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613699573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136bd9190615b11565b506001600160701b031691506001600160701b031691505f80866001600160a01b0316896001600160a01b0316146136f65782846136f9565b83835b6040516370a0823160e01b81526001600160a01b038981166004830152929450909250613734918491908c16906370a0823190602401612364565b94506137428583838f614bdf565b9a50505050505f80846001600160a01b0316876001600160a01b03161461376a57885f61376d565b5f895b915091505f60028d51613780919061574b565b891061378c578b6137ad565b6137ad8b888f61379d8d60026157a8565b81518110611a1b57611a1b61564f565b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0386169063022c0d9f906137ee9086908690869060248101615b5d565b5f604051808303815f87803b158015613805575f80fd5b505af1158015613817573d5f803e3d5ffd5b50506001909a0199506135e398505050505050505050565b509392505050565b5f8183106138455781613465565b5090919050565b5f61385d6103e861048d8686613429565b90505f61387f61387883600154614cfe90919063ffffffff16565b4790614483565b905080156138aa57600a8110156138a05761389a8282614cfe565b506138aa565b6138aa33826138fd565b6001546138b79083614cfe565b600155604080518381523360208201529081018490527f72015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499f906060016115b4565b50505050565b604080515f808252602082019092526001600160a01b0384169083906040516139269190615b93565b5f6040518083038185875af1925050503d805f8114613960576040519150601f19603f3d011682016040523d82523d5f602084013e613965565b606091505b50509050806139c25760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b60648201526084016101b6565b505050565b60606002835110156139eb5760405162461bcd60e51b81526004016101b690615ac0565b82516001600160401b03811115613a0457613a0461517b565b604051908082528060200260200182016040528015613a2d578160200160208202803683370190505b509050838160018351613a40919061574b565b81518110613a5057613a5061564f565b6020026020010181815250505f60018451613a6b919061574b565b90505b801561382f575f80613abd86613a8560018661574b565b81518110613a9557613a9561564f565b6020026020010151878581518110613aaf57613aaf61564f565b6020026020010151876149a9565b91509150613ae6848481518110613ad657613ad661564f565b6020026020010151838388614d17565b84613af260018661574b565b81518110613b0257613b0261564f565b60200260200101818152505050508080613b1b90615ae6565b915050613a6e565b6060600283511015613b475760405162461bcd60e51b81526004016101b690615ac0565b82516001600160401b03811115613b6057613b6061517b565b604051908082528060200260200182016040528015613b89578160200160208202803683370190505b50905083815f81518110613b9f57613b9f61564f565b6020026020010181815250505f5b60018451613bbb919061574b565b81101561382f575f80613bff868481518110613bd957613bd961564f565b602002602001015187856001613bef91906157a8565b81518110613aaf57613aaf61564f565b91509150613c28848481518110613c1857613c1861564f565b6020026020010151838388614bdf565b84613c348560016157a8565b81518110613c4457613c4461564f565b60209081029190910101525050600101613bad565b5f805f613c668585614baf565b90925090506001600160a01b038616737a250d5630b4cf539739df2c5dacb4c659f2488d03613d4957735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8282604051602001613cb7929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b604051602081830303815290604052805190602001205f1c92506140f7565b6001600160a01b0386167368b3465833fb72a70ecdf485e0e4c7bd8665fc4503613dbc57731f98431c8ad98523631ae4a59f267346ea31f9848282604051602001613d95929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a929190615bd0565b6001600160a01b03861673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f03613e7b5773c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8282604051602001613e08929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303603582015260550190565b6001600160a01b03861673eff92a263d31888d860bd50809a8d171709b7b1c03613f3a57731097053fd2ea711dad45caccc45eff7548fcb3628282604051602001613ec7929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f57224589c67f3f30a6b0d7a1b54cf3153ab84563bc609ef41dfb34f8b2974d2d603582015260550190565b6001600160a01b0386167303f7724180aa6b939894b5ca4314783b0b36b32903613ff95773115934131916c8b277dd010ee02de363c09d037c8282604051602001613f86929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f65d1a3b1e46c6e4f1be1ad5f99ef14dc488ae0549dc97db9b30afe2241ce1c7a603582015260550190565b6001600160a01b038616730c17e776cd218252adfca8d4e761d3fe757e9778036140b8577335113a300ca0d7621374890abfeac30e88f214b18282604051602001614045929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f49d9acd3e20042617be7e378294c731749bc579b09dfd560cd3357445ce0b9e9603582015260550190565b60405162461bcd60e51b8152602060048201526014602482015273149bdd5d195c881b9bdd081cdd5c1c1bdc9d195960621b60448201526064016101b6565b50509392505050565b5f5b60018451614110919061574b565b8110156115bd575f8085838151811061412b5761412b61564f565b60200260200101518684600161414191906157a8565b815181106141515761415161564f565b6020026020010151915091505f6141688383614baf565b5090505f886141788660016157a8565b815181106141885761418861564f565b602002602001015190505f80836001600160a01b0316866001600160a01b0316146141b457825f6141b7565b5f835b915091505f60028b516141ca919061574b565b88106141d657896141e7565b6141e789878d61379d8c60026157a8565b90506141f4898888613c59565b6001600160a01b031663022c0d9f8484845f6040519080825280601f01601f191660200182016040528015614230576020820181803683370190505b506040518563ffffffff1660e01b81526004016142509493929190615b5d565b5f604051808303815f87803b158015614267575f80fd5b505af1158015614279573d5f803e3d5ffd5b505060019099019850614102975050505050505050565b5f826001600160a01b0316846001600160a01b031611156142af579192915b826001600160a01b0316846001600160a01b0316106142cc575f80fd5b604080516001600160a01b03808716602083015285169181019190915262ffffff83166060820152731f98431c8ad98523631ae4a59f267346ea31f9849060800160405160208183030381529060405280519060200120604051602001614334929190615bd0565b60408051601f198184030181529190528051602090910120949350505050565b804710614457576001600160a01b0384165f80516020615c5283398151915203614457575f80516020615c528339815191526001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b1580156143be575f80fd5b505af11580156143d0573d5f803e3d5ffd5b505060405163a9059cbb60e01b81526001600160a01b0386166004820152602481018590525f80516020615c52833981519152935063a9059cbb925060440190506020604051808303815f875af115801561442d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061445191906157bb565b506138f7565b306001600160a01b0384160361447757614472848383614e47565b6138f7565b6138f784848484614f56565b5f8261448f838261574b565b9150811115613454575f80fd5b6040805160028082526060820183525f9260208301908036833701905050905083815f815181106144cf576144cf61564f565b60200260200101906001600160a01b031690816001600160a01b03168152505082816001815181106145035761450361564f565b60200260200101906001600160a01b031690816001600160a01b0316815250506145588430614552737a250d5630b4cf539739df2c5dacb4c659f2488d855f81518110611a0057611a0061564f565b85614354565b6115bd8130737a250d5630b4cf539739df2c5dacb4c659f2488d6135e0565b5f805f8360020b1261458c578260020b614593565b8260020b5f035b9050620d89e88111156145b9576040516333a3bdff60e21b815260040160405180910390fd5b5f816001165f036145ce57600160801b6145e0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615614614576ffff97272373d413259a46990580e213a0260801c5b6004821615614633576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615614652576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615614671576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615614690576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156146af576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156146ce576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156146ee576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b61020082161561470e576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561472e576ff3392b0822b70005940c7a398e4b70f30260801c5b61080082161561474e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b61100082161561476e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b61200082161561478e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156147ae576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156147ce576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156147ef576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561480f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561482e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561484b576b048a170391f7dc42444e8fa20260801c5b5f8460020b131561486a57805f198161486657614866615775565b0490505b64010000000081061561487e576001614880565b5f5b60ff16602082901c0192505050919050565b5f80805f19858709858702925082811083820303915050805f036148c6575f84116148bb575f80fd5b508290049050613465565b8084116148d1575f80fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f6001600160ff1b038211156149a55760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016101b6565b5090565b5f805f6149b68686614baf565b5090505f806149c6868989613c59565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614a01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614a259190615b11565b506001600160701b031691506001600160701b03169150826001600160a01b0316886001600160a01b031614614a5c578082614a5f565b81815b90999098509650505050505050565b5f808611614abe5760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016101b6565b5f85118015614acc57505f84115b614ae85760405162461bcd60e51b81526004016101b690615c21565b5f614af9612710611f59888a613429565b90507310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b0385161480614b42575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038516145b15614b80575f614b61614b57856126f761574b565b611f59888b614483565b9050614b786001614b728385615789565b90614cfe565b925050614ba5565b5f614b90614b57856126f261574b565b9050614ba16001614b728385615789565b9250505b5095945050505050565b5f80826001600160a01b0316846001600160a01b031610614bd1578284614bd4565b83835b909590945092505050565b5f808511614c2f5760405162461bcd60e51b815260206004820152601960248201527f494e53554646494349454e545f494e5055545f414d4f554e540000000000000060448201526064016101b6565b5f84118015614c3d57505f83115b614c595760405162461bcd60e51b81526004016101b690615c21565b5f7310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b0384161480614ca1575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038416145b15614cb957614cb2866126f7613429565b9050614cc8565b614cc5866126f2613429565b90505b5f614cd38286613429565b90505f614ce683614b7289612710613429565b9050614cf28183615789565b98975050505050505050565b5f82614d0a83826157a8565b9150811015613454575f80fd5b5f808511614d675760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016101b6565b5f84118015614d7557505f83115b614d915760405162461bcd60e51b81526004016101b690615c21565b5f614da2612710611f598789613429565b90507310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b0384161480614deb575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038416145b15614e1a575f614e016126f7611f59878a614483565b9050614e126001614b728385615789565b9250506135d7565b5f614e2b6126f2611f59878a614483565b9050614e3c6001614b728385615789565b979650505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f92839290871691614ea29190615b93565b5f604051808303815f865af19150503d805f8114614edb576040519150601f19603f3d011682016040523d82523d5f602084013e614ee0565b606091505b5091509150818015614f0a575080511580614f0a575080806020019051810190614f0a91906157bb565b6115bd5760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c45440060448201526064016101b6565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f92839290881691614fb99190615b93565b5f604051808303815f865af19150503d805f8114614ff2576040519150601f19603f3d011682016040523d82523d5f602084013e614ff7565b606091505b509150915081801561502157508051158061502157508080602001905181019061502191906157bb565b6150795760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b60648201526084016101b6565b505050505050565b5f8083601f840112615091575f80fd5b5081356001600160401b038111156150a7575f80fd5b6020830191508360208260051b85010111156150c1575f80fd5b9250929050565b6001600160a01b03811681146150dc575f80fd5b50565b5f805f805f805f805f60e08a8c0312156150f7575f80fd5b89356001600160401b038082111561510d575f80fd5b6151198d838e01615081565b909b50995060208c0135915080821115615131575f80fd5b5061513e8c828d01615081565b90985096505060408a0135615152816150c8565b989b979a5095989497966060860135965060808601359560a0810135955060c001359350915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156151b7576151b761517b565b604052919050565b5f6001600160401b038211156151d7576151d761517b565b5060051b60200190565b5f82601f8301126151f0575f80fd5b81356020615205615200836151bf565b61518f565b8083825260208201915060208460051b870101935086841115615226575f80fd5b602086015b8481101561524b57803561523e816150c8565b835291830191830161522b565b509695505050505050565b80151581146150dc575f80fd5b5f805f805f805f805f805f6101608c8e03121561527e575f80fd5b8b356001600160401b03811115615293575f80fd5b61529f8e828f016151e1565b9b505060208c0135995060408c0135985060608c0135975060808c0135965060a08c0135955060c08c01356152d381615256565b8095505060e08c013593506101008c013592506101208c013591506101408c013590509295989b509295989b9093969950565b5f805f805f8060c0878903121561531b575f80fd5b8635955060208701359450604087013593506060870135925060808701356001600160401b038082111561534d575f80fd5b6153598a838b016151e1565b935060a089013591508082111561536e575f80fd5b5061537b89828a016151e1565b9150509295509295509295565b5f805f805f805f805f806101408b8d0312156153a2575f80fd5b8a356001600160401b038111156153b7575f80fd5b6153c38d828e016151e1565b9a505060208b0135985060408b0135975060608b0135965060808b0135955060a08b01356153f081615256565b999c989b5096999598949794965050505060c08301359260e08101359261010082013592506101209091013590565b5f82601f83011261542e575f80fd5b8135602061543e615200836151bf565b8083825260208201915060208460051b87010193508684111561545f575f80fd5b602086015b8481101561524b5780358352918301918301615464565b5f805f805f805f805f6101208a8c031215615494575f80fd5b893561549f816150c8565b985060208a01356154af816150c8565b975060408a01356154bf816150c8565b965060608a01356154cf816150c8565b955060808a0135945060a08a0135935060c08a01356154ed816150c8565b925060e08a01356001600160401b03811115615507575f80fd5b6155138c828d0161541f565b9250506101008a013590509295985092959850929598565b5f805f805f8060c08789031215615540575f80fd5b863561554b816150c8565b9550602087013561555b816150c8565b9450604087013561556b816150c8565b9350606087013561557b816150c8565b92506080870135915060a08701356001600160401b0381111561559c575f80fd5b61537b89828a0161541f565b5f805f80606085870312156155bb575f80fd5b843593506020850135925060408501356001600160401b03808211156155df575f80fd5b818701915087601f8301126155f2575f80fd5b813581811115615600575f80fd5b886020828501011115615611575f80fd5b95989497505060200194505050565b60208082526015908201527410da185a5b8814994b5bdc99c819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b6020808252601c908201527f4e6f7420656e6f7567682045544820666f72206d696e65722074697000000000604082015260600190565b602080825260159082015274139bdd08195b9bdd59da081d1bdad95b9cc81bdd5d605a1b604082015260600190565b602080825260139082015272151bdbc81b585b9e481d1bdad95b9cc81bdd5d606a1b604082015260600190565b5f60208284031215615706575f80fd5b5051919050565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561345457613454615737565b808202811582820484141761345457613454615737565b634e487b7160e01b5f52601260045260245ffd5b5f826157a357634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561345457613454615737565b5f602082840312156157cb575f80fd5b815161346581615256565b634e487b7160e01b5f52600160045260245ffd5b5f805f805f8060c087890312156157ff575f80fd5b863561580a816150c8565b9550602087013561581a816150c8565b9450604087013561582a816150c8565b9350606087013561583a816150c8565b9250608087013561584a816150c8565b8092505060a087013590509295509295509295565b5f6020828403121561586f575f80fd5b815162ffffff81168114613465575f80fd5b5f60208284031215615891575f80fd5b8135613465816150c8565b805161ffff811681146158ad575f80fd5b919050565b5f805f805f805f60e0888a0312156158c8575f80fd5b87516158d3816150c8565b8097505060208801518060020b81146158ea575f80fd5b95506158f86040890161589c565b94506159066060890161589c565b93506159146080890161589c565b925060a088015160ff81168114615929575f80fd5b60c089015190925061593a81615256565b8091505092959891949750929550565b5f600160ff1b820161595e5761595e615737565b505f0390565b6001600160a01b0382811682821603908082111561598457615984615737565b5092915050565b6001600160a01b0381811683821601908082111561598457615984615737565b5f6101008201905060018060a01b038084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401525060a083015160a083015260c083015160c083015260e0830151151560e083015292915050565b5f5b83811015615a31578181015183820152602001615a19565b50505f910152565b5f8151808452615a50816020860160208601615a17565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f90614e3c90830184615a39565b5f8060408385031215615aaf575f80fd5b505080516020909101519092909150565b6020808252600c908201526b0929cac82989288bea082a8960a31b604082015260600190565b5f81615af457615af4615737565b505f190190565b80516001600160701b03811681146158ad575f80fd5b5f805f60608486031215615b23575f80fd5b615b2c84615afb565b9250615b3a60208501615afb565b9150604084015163ffffffff81168114615b52575f80fd5b809150509250925092565b84815283602082015260018060a01b0383166040820152608060608201525f615b896080830184615a39565b9695505050505050565b5f8251615ba4818460208701615a17565b9190910192915050565b6001600160601b0319606093841b811682529190921b16601482015260280190565b6001600160f81b0319815260609290921b6001600160601b031916600183015260158201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54603582015260550190565b602080825260169082015275494e53554646494349454e545f4c495155494449545960501b60408201526060019056fe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2a2646970667358221220743c8892851ac9b13e466532e3ac230413800df85301b7404b7ea95484eb2c4a64736f6c634300081700330605581e03ae88d60ce5722ba4d45bad2212f1c19dbc045e025144e80b926be7b3400701195ca705581e035f517349c69668843e7b5ebd815ad1205dadeede0831b55f80a5552820040103f693203bcd1962bbac5a3c4d08f7db978e02899ebd2f3a41f5be1702dd265e3f0219fd4d036cf48af9ce5bbf5d3c4d8679a22d6dc4ce50f2460e589be9b4eef3c3b296ac09034c387cc134b025bc72580db4a32e6f93eb6cff1f632cc031116863918672ea6d03aec6040e90b5e1939362f47cfe1b75fc6afc77ed285efbf31d37f66c8c73c8390366dd5a8943fa2e34afdd38a7e29f9b5a260c6aa866bef41848cc9e846278fd0803ec8dcfeb7af17e68816e778c606f011814c881a7ca0420db53979a560445b66003e8658b485991901a3388ac76de1a80ab3c3fe1cef9b781995ceb1e554138717103f274ba96d638a0f12fb0ece331da8b8bfbebde904e8c235ac7a6587a1e8ce1d60219ffff03f1da45c57c01d4f8bc8bd6c9bc6393e84372cfe0f58d59c4d89d45eb6384462203346b8a0a99c4ba441015c58299e81089a9b802b1255390b29c412ca1a12bb86503c55cc21f1e0b7ed64a4d3242270c11fd47d3f4a1cfde25e9687aed1f3d3fb7ad03eb45196994cb6827f64c63e12ae4c35fa30847adc8dac3dfd0d17444cb7e27460219ffff033ea37b4bc18ff0c8c1d4c6eba7ac89a5659ece6afa749617199d93dac0e57f8b031167476f34c04d2d2a1d063e633a9b976d734c6ce3b9aa78f54d772292cb7880036668221048b112a7543000f8295428ea4c6019668dbafa097054fbd35cf538ce03942446c6cf3bb9d492e6fe0d48eb500f03e6347f5da3842de17263cf1786166003d56e88c6f6a7ca937626c16d6bb9df0f72b871c9872a1f86cf5cc744565bfc3b030d933a399cb276af17886a28cbbae9d28561cbc70caf5e03adef1cf434ba86ea039a000be218cedb9969136343f1e44601265cb20405b17750c42ffed19838f9700219ffff03a64a81d3e8076793adbdde632b9cd08e2d2b95bb5437647bfdef19269e43fc090333a7b3302f50d54770faf295b6c57cf0bdb4d1591195bca8e112c7f92f5c5be00315ea6c468cf8ea2604a57e8cb858037d02f81b02b58107107a0d4e24a11ee2d503af4925fd407fc69ba0b55eb6c3b27097dc9f99aa72eaa91b6f260ed8b4ccd9f903d798365319165a607f8391d30750aed14c16bdbd54217c2eb272e0011cb3c3a8034470d70e1a9f2a34078454b6ed0a60322dff81f416debb9d2bce3670c3af3780037d3f45d2408ee5db41b8162c77f065493c8167fa65be17ae135061563972b23b03d3eb80c1e6265efef454f3f9b9027e2aefa4b9130ebb1a59049074edcc48c0470335fc19afa883221014c079e8b8899b3b4510f9a4a33e603e2ba364d8f876d6f6039d9e0815e7aa1c821dbc24df22a3d87bcfd9443665247f16fd049bbd7f3dccb003e14564c8fdf3d602409d81645474036d1c32db72c3f6511d59deef6999da30fc0360721194d1d8d17a2a57ac42ce4da0d5d53850b8f20203ab36f90bef368cf8ad032ae9cfebd82f64416c68ea511e9e3930e41e4acf59dd60b045a23582dadba5f5034c9cb494c236e235c75a013850bf7f5aa643cd27cddaa83a41ba6b020d79844303952d76f775466aed688daf2660e2d75038dfb7dfc9253fdd68e672e9622e7e2a0379d1ebfedae33ade957b61320de7adf3536102ecf3041a4d4aa0e1cca3408cfb03edfa0082a9b558eb803ef3a07a291a0d42038879d01ad3139c35071e56ea419b0383735cc7bd26a85899f9cc005eb9ce04920d264cc5aca0cc9cb4151aaf6b15b0038520fc6c1b3c50300655ff6197437aeafe7883c78d33bdf28396e9aa211c961e0339cc7ae7bda3fa178465e3d2614cf8a76a0871d3cabbfab3207fc8c4bb1fc7bd03749dfadd4ff3ba00e6d344b87ec71e1676be429bc3658f75734f43e7b26f3d000304ca9b428a6f0def5fea8e2bf7e02429655da0442330f8831148437af927c38103f6cab76e86836cb52ee3f89de0a7324b4e1624906fc9df5dbdfa54f0b8b6bf7703a788ec84712acc687ae7eb00f91bc8cd0476ceea20b84bf7f6ffcfb1be73002b03f7da96752f84f7b8f75489dcf10d51f9843fd150e241ab2b3e44aab76f3f1a6703e85ef1428d7b8bb9c788ec777a6bf62fbf0303f5e45a72027950debdf9e6a110039c88fc5bd7b91881f33f8dadb9f935fa0bee736d42a16abceced4751814f59ef0317425684d0ca2f12eb156b5e8e72f4ccdd2d549f13126dd97580fba89414a498036783fe080d086bf6e7f98a4583b219d18d2033affd13c77dc5a112e2df6e526a03c86b98b9881255449c7216803ad11bcfc2cfa883f308884cf7ae60b9741c8f6303126a59129b064a4504c265058c6d66ea1010e90703d62b1539ed302e4d7af4b203ba9650456f494a43465b9a15e160e8e1e41571a375ef3f4645d8cfa45b0636dd03c51dccc5a6b931e5f7a44848fb8610e21d8c56cd1ef7cb43119ef1d76e4d7b5b03a4d29f2edd9e8a3c90e9490cfb4c9a3f98887742fda4ed20139830872c4d2196030a56765c4a5caf3f9bc76c8f4b55346439d86a9ec7c06f43a0cae76427be6359036f7cdeff039697c939315f4953f5e4dbf814fdccfbd34dea9b43887b7cc357e30307c951a2b40f3ed56ec0ef154975dd37d7e0e45ddd941e27559b314514988d81037481693a2cad1e419529c9c8af909ed582d28f5d60110d0b4ac53bd687c7737103ed0c44cbd2c953955f7451875b0ef0a42e939eacb2db00192321597f0e4be5a305581e03ca60a5b28b77a015e3c4795cf990e38ee17fa6b872fc58199a38389d800c01470577fd68d80fb605581e03489a9660f620d1bf0753e6d2fe4e0f36b3c46b1f91e509607bb91baf40040105581e03a940bf699a83031fa2bf7c200cf9daa0a4e2d00a1b53778bfe93477a1004020399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908034889f1613ff5cf193b4527f25ab27aa9e8ab3441d00bc95497ea246b8102deb605581e030de7e149461bc61531278a9ab154289effc3aee4181aa8f34e0d5d806007011bffffffffffffffff0366b710d7d9ed045b14e5ec351767888e0f3fc6267aea99732667bfee184908e005581e0343616430ae5862ed3ba5c7f1943dc93b39318710f743ce6016100400c0040305581d0263765caf59fb76cbd137dfa7e08cafe82ca3de0a7305b2be9c0077a40c014705664c8a1f671c05581d0262515e8100a772352fef987c47eeb528e4fbf9e494c538caa284eb4f04010219120005581e03c943fcc1a790c71f5747bf1f5c8fe7cd8875de4f616e9332d86e9abf300c0147018b27ad0ce70005581e03589293023a5f7089303acbfc727dfba990dde32be031d5e7fee60e50600c024708d456bdb06fd005581e033a7d97e856f3b35e12d68a97a0c20d768e5c7123b322ba7dcddca273f00402021979b60376928ecf5ff12bc180dd1ff7b688307b0c5123f0dae7159fc2a3acbe76f9c0c3036383189efe1300e20d96ab5414b0c31d1d193dfaab4086964e0650328c5aacdd0387731288fed814325eab829a669215ec22528228ad4d51776b917f99fb778937039af0c902d4652f4f2df7dd817c4752eafbcfa69b6efa485614cb865ffc4f189c03726b941c6a4ce3c4fe412b946165c668519b3262c808bab2dad5f58f29e047e30219ffff0325b82c1f5dedbcf9d953d400ebfa7af857f97306a7b5081403aaf74e6c0ac2a403345e939ad4150b45bf8f4d7a06ac7faeba8048efdbe3da18865cd5bd45b3f979037514eaa7899bc3c57d5c361f24370baa0b3f0186a07e62f4a041071efcfe429603c0bdbaacf6f39c71b30a9d86e4a5651370ecb4cde99b4793625a665e4be1829e0347620909f21420eace2f80e776d9a3a54920c02cd4c008d8904c8b3120f366e6036657fef4f388c6048c44cf50479e80d456a5541847956ca65e90c9f14880acea0219ffff03c1c0747c50e7e18e44b4dae8ace0096e0ae493377a55d75790f6577d252e054c0319f322888bfd86e2849acce837691fa30f232690338752521d2a1259275159ca0345779a3729b65b67e1df9340ab3ed1ced4742d1056042f79090dfdbd095bb258030e2ad031288cc520df3beeed1671e10cedd77737bb89d9e23de14725ef76b9aa0219ffff0339ef2ac5b6c6a082be1fd37c066a54caf5133760fe53ce7c8c5e628a0eacb73703afdb547f91fcad842dd6e1dbfa35b101d349c383415369bc4518105f7b8184af03485744a8b4b6b1e34cb5ac8583a3ce08715b3b85ebe87ff0c420501dda79435903048168bdfd4f4c378f989c0e34e4b53ace0aaad2d53172bf95df0bada42eb8720322bf43831d6ba2d2a25c676b6c32ba014e140e9edea759155476067fd9c34c0d0219ffff036b6a2f7795df6c48f66c9e1b87034c33fb8d83dd73782edbd20c2a3985d681ea03ac5b1be4cb060d8f276a61dbec63bf25c66ae3cfe089051a6dfafee93f8c7288033a4aba233ac7fb9234c75885674eb9e3c035ed496592a2c71e862ae3bcbada0903ee3769e4716c5b286b28aaf0cd03bfed5dd37019a84d7abb70e56640273f6033031fa3da1eca5e1f4563cd7d27908c894ad667e2cf4a7325f65fee56246d7adbab0377b43168884772e3c2d4787a4239c28efc922f46f821c29b94cee70df0ed676f036e7a4bbf14a95fecc1b194a6a75bcdbdefe93bf4c53c457fdab6ef2457cc69fc034e8f76a3549950481c4e7e0a8a6b174e1494cd04ccd551b5c3d0b4cd493258ea032c4fe0b29e284544ab59f90b930403ab2fbaeb08e97649532290205e41bdb8ac039aa67781723cfb66a3492174a6642a77055da8dcdce7a56f7252277947a63e3703a7327ebf1750d91bd196437d5b7b686392464b11640f929ae048a1fb002fcb3d03122d289c2db4e482a93b6cd58917f9ada379dd2300f19a3a8d7428375f46d94d03dc42a35b25cc291210eebb1d7a4c8aae3be0bf09a68e775cd87fd6969f1b18ec03f10c9f10aaf39a900fab50dae56edd06feb454a3dc6c557e8e09da7a05d41d7903277317a5ae45e126c812cb2041d41c8f2d5afbb95e33ca53a4c89f5c903926e9031ef1c1ecaf9f8f2a7bc9307bad0522e13e952954848910ab1ec5ebbf1ee6b31d039f08c3aaaa7720c1b1ca8a97577639dd5c816fb5c334b7e1fcaf4fa15c5e6a5103eeff0a019b1865adca7e777f7693a00bd1c1688ab6f5a5f4df8fcd7e701cf196038cd695c0ca029ab21a08dd53192b7672615251e2cf6eb3a348fd12615fd342be0386dd09baf7d1214ed54e4689dda531d9590c3a2b80a6e58fe9ee4127be463ccc03c73e83d8928db7578da671f30755e8d85cd8973b1309cab1ed87b1d70d5a1a490394081d80206e4924daafaf4997f1a3b5da70522d4a1735e06078537bde92383b039a788e5d79b66ce9cd499e6cd4732807ecead55eb530b8c1d98d35bb71a767ec03710bf2792227fa8c1568dc1fc3fc669adccc556a8d3cc5bc2bc873a9e6ba956203ed03adda32d65876c6cdc4375c5b8015770add59cd1a28a355caa51b602fc68a03b91fb2c0e3557566f819e14942e9da57f9ee2e668ce1f95c8b4fb70e14c0c0f70307657a2babcb0a16cae6a850567fd43aad3783944cae500bc48cf2cb9d77288103f4c833d2f72805a963103f874fd6ee54c030de52bbde8e9574e726c9dca907de03dc997695a8f3175ac6a44e864403bab26a8517c7c7a5984e13d986695ad49aca039a34faaa9b7d43da6343a361d365e358b353392f11f6fc56271ed98ca15aae9c03d8f8ba74cf9dffe6970c3681ada255dc15e1ac59c35d8628327ab2ea906ec982031a5dbcb31e639599ef125bd429f4e41ba600383fd7ce050f8eb536a9703ae9b003eb84505422dd15680cf20fa51255fc6b2126ee599b5098f90c0bc3b3c3253e7e03740e28ae907203315d63cec9587708359b265a3f50f3071376ae6c875894f01e039ea955d7fb38b7162db6edcd5ceecca501361d5a018af19de6b1461a8f237b4a03607546698458b8bf24eaad0e799c8f4bb15f79933b1c0b3567fd43d265f1c23203f3d3e18ef9346405933fa92905949e0542000d5a4d8fbe65ce603c971d17adfc03b965962d90442381ac5ccbb76fc39f6fafbac99cbdbe211971d14ab89c64a8dc0387ad44e5c67d170d9e7b7c005c9b5cfeded590429723a7859af5782763c1530f03322dd4409cae0923d813d77e2dda2bd5bb505f253e8d665f769a0f13876c98b203941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03b5c4d7fd5e0996c55234d4272878372ded5f20d84265ff03134fc1662007011bffffffffffffffff05581e030adea9fdc9209b0e3fd6b794d1544a3b2a801a17804e278677867c91200c0146fede0be7d6d003f054da2dbe7d51d8013339e70cd25b33f3ce816fcb22b91a4c26e39c41adfd1d05581e03631168879f4bba89237544c8d32b4423305bc8c2b888fc4628758f7ae00c0446e3ac18a2421805581e03c69a34e22f0413d626dd4675e93d432fd80a43d2912d15d6bbe45452b008472c20c49ff04cfa05581e03ea9278f60f17cb7588629b1ca5ec4425cfc073f0980e2f78db2895dd000c1a0008d2294a02d2786eaa0f856b72f10219f0410219ffff032ea7b82c7eb0e847d98ba00b9bbf36a17a63b9d57a699a5c55687ee78f66e2dd03231a75790d096b77ccde4f0d6e1d7931ed10a7f0b6fac40ea6fa605c32b7b519035404ef6cb626258f1549baf36196b6c428662bf2715a864fc84992e90697d9e203511d718a1b3057b6750d77992537625250538e539123406e640da236e69d2c8503946b81d5aa8adafc1a33defeb18bdbbbf23cb5a830828f9ab29fd25190232482030ff56dc41893766cdd18171a4e279b27f606f0cd81d0c06946eeb038d03acdc103d481af5b316531b928934b59e913e317faf2137a3e621152b11b163d7ddd42cc03273e502fe128b8420d60e49d8a4d675a331656f1fcd911e5c3dfe98355d7a61e03393f47755d5deabb149667ff2a724535c409810e20473e917d43f5dfe604166903c16b30c492a516af4a9ed9b1dc7dbb5a7d848b8a5486a311769a5d03ce995db50219ffff03717a065a76fdc6f1694df218a39bd91f799be238d9173678f955bd27d3d54e8903100b576d36add48db4c77dbaaec22dea025cb9e5f916328c0620dda421fa416103dbdb43ec2e6f826a3513da472cf6408e48b1a990ad1e324ae224cb3562d970860219ffff03d6feb56c471c116c927aff9268b344329c5302a5f623f85f34123053ee691cca03a4bbaf42a1961d530701ba3eb9d98b1014021e18512804f722846c9715304e0003333339515a1a00efc2d56f6a5476dafc4acd723e2d32cd115ef287b9c02d3743037de14cf34f71ed1d4c48f9b3d8c47b0fdc0102953615ced2a94ab91eb24f78110321050683e473ed6807dadbc2fae5206d9dbe6bfff1e7ccd962bbec58d41833bb03f69281fcc4c8e88f22d70e54f7b08a4f512e75a1d7e3d8ffd94263ccc1da7f2a0382f853731079b3b0a02e6277467eeb8dbd9335cd92853a5086fb486665b21028038d798814c3686b39e8515b0c1c5bf94a791a8083d5d1c5b1923967da7b0045c703f1977d1da12c392b835f4dd27ae153addce9d063aa076049d7fc939e7e8a6235032fb0519aa2959bb5ca847dc6e3c4be496e035f736f0c6ed3323a011b1b70aa0403dfe33642ca81bae30628160c1f02a00f723c667eca2b39c254e6457f17bfcb0403c4b8ecae38871613dfdf4b191174fd9767fe0de7dff4046c85b5333451090fc4033db7b7897d1c77cbf36624c533cdd6ebb8db4d3deb4e9811f89ee9d09ea18fff03a270a1cda4209690f77c06683f13dea055519de012833af4cf814b912bc3283603f008cd2c44ed87c2a7a51e7a7443798f35bc76cb33de80a4934a59709f1e5e8a03e8a1e190f28c151f65f112153cccb24f0b6741f4e57109b57d3b54d4446a0f0303323f951279b8d25057db8b5dca674fe6baec994dfceea83aa8ebb188e64efd7e0387131dc049f520497af2976c3f3cc5efac66050dc1b0f638bedfc9af1aa08e49030661a14837ee570b1d6eec51d20bb027016a8489cd39b0d222f025ddedd7831803518e99260b1f33ee6226d25314f24a619caf267c88a78f06d52a18ac5175965e05581e03901c0fa14ab497cc12ce3642f873595797729fc5d39bb79551dabbe2a00c02467709bdfe1f5804591c366080604052600436106100e85760003560e01c80635c975abb1161008a578063933f0f3c11610059578063933f0f3c146102bf578063b771ed9f146102df578063d9972b96146102ff578063f157fac21461031f57600080fd5b80635c975abb1461021a5780636646a436146102565780637b103999146102765780638456cb59146102aa57600080fd5b80633f81a192116100c65780633f81a1921461013757806344ba1fca14610189578063452d98c7146101cb5780634fd49efd146101ed57600080fd5b8063049639fb146100ed57806313e3b57c146101025780633f4ba83a14610122575b600080fd5b6101006100fb36600461176d565b61033f565b005b34801561010e57600080fd5b5061010061011d36600461188c565b610c38565b34801561012e57600080fd5b50610100610d3b565b34801561014357600080fd5b5061015f73ffffffffffffffffffffffffffffffffffffffff81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561019557600080fd5b506101bd7ff66b632ae3b479ef109dee46eb319414289a8426a08b64d81aad232941f9d22a81565b604051908152602001610180565b3480156101d757600080fd5b506101e0610d73565b60405161018091906118a9565b3480156101f957600080fd5b5060025461015f9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561022657600080fd5b5060025474010000000000000000000000000000000000000000900460ff165b6040519015158152602001610180565b34801561026257600080fd5b506101006102713660046118ed565b610d84565b34801561028257600080fd5b5061015f7f000000000000000000000000de6d4872c0c8167fb4f405c7854fd2fed7edca2181565b3480156102b657600080fd5b50610100610dc0565b3480156102cb57600080fd5b506101006102da3660046118ed565b610df6565b3480156102eb57600080fd5b506102466102fa36600461194b565b610e2e565b34801561030b57600080fd5b5061024661031a3660046118ed565b610f1a565b34801561032b57600080fd5b5061024661033a366004611975565b610fd0565b6002600154036103965760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026001556103a3610fdd565b6103af8660ff16610fd0565b6103fb5760405162461bcd60e51b815260206004820152601a60248201527f535741505045525f534f555243455f4e4f545f414c4c4f574544000000000000604482015260640161038d565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036104765760405162461bcd60e51b815260206004820152601360248201527f535741505045525f53414d455f544f4b454e5300000000000000000000000000604482015260640161038d565b73ffffffffffffffffffffffffffffffffffffffff85166104d95760405162461bcd60e51b815260206004820152601560248201527f535741505045525f544f4b454e5f494e5f5a45524f0000000000000000000000604482015260640161038d565b73ffffffffffffffffffffffffffffffffffffffff841661053c5760405162461bcd60e51b815260206004820152601660248201527f535741505045525f544f4b454e5f4f55545f5a45524f00000000000000000000604482015260640161038d565b6000831161058c5760405162461bcd60e51b815260206004820152601660248201527f535741505045525f414d4f554e545f494e5f5a45524f00000000000000000000604482015260640161038d565b600082116105dc5760405162461bcd60e51b815260206004820152601b60248201527f535741505045525f4d494e5f414d4f554e545f4f55545f5a45524f0000000000604482015260640161038d565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff8716036107305783341461065e5760405162461bcd60e51b815260206004820152601860248201527f535741505045525f554e45585045435445445f56414c55450000000000000000604482015260640161038d565b6002546106819073ffffffffffffffffffffffffffffffffffffffff1685611048565b600254604080516000815260208101918290527f109b3c830000000000000000000000000000000000000000000000000000000090915273ffffffffffffffffffffffffffffffffffffffff9091169063109b3c83906106e6908790602481016119f2565b6020604051808303816000875af1158015610705573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107299190611a13565b905061091a565b341561077e5760405162461bcd60e51b815260206004820152601560248201527f535741505045525f56414c55455f47545f5a45524f0000000000000000000000604482015260640161038d565b6002546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9182166024820152859188169063dd62ed3e90604401602060405180830381865afa1580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108199190611a13565b10156108675760405162461bcd60e51b815260206004820152601560248201527f535741505045525f4241445f414c4c4f57414e43450000000000000000000000604482015260640161038d565b60025473ffffffffffffffffffffffffffffffffffffffff16635af547e687338760006040519080825280601f01601f1916602001820160405280156108b4576020820181803683370190505b506040518563ffffffff1660e01b81526004016108d49493929190611a2c565b6020604051808303816000875af11580156108f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109179190611a13565b90505b60008061092688611173565b9050600061093388611173565b90508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109c057839250858310156109bb5760405162461bcd60e51b815260206004820152601b60248201527f535741505045525f575241505f4d494e5f414d4f554e545f4f55540000000000604482015260640161038d565b610a69565b6002546040517f37e0ac0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906337e0ac0290610a23908d90869086908a906001908e908e90600401611a75565b6020604051808303816000875af1158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a669190611a13565b92505b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff8a1614610aa25783610b4a565b600254604080516000815260208101918290527fb413148e0000000000000000000000000000000000000000000000000000000090915273ffffffffffffffffffffffffffffffffffffffff9091169063b413148e90610b07908790602481016119f2565b6020604051808303816000875af1158015610b26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4a9190611a13565b60025490915073ffffffffffffffffffffffffffffffffffffffff16639003afee8a833360006040519080825280601f01601f191660200182016040528015610b9a576020820181803683370190505b506040518563ffffffff1660e01b8152600401610bba9493929190611b0c565b6020604051808303816000875af1158015610bd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfd9190611a13565b506040517f68f46c45a243a0e9065a97649faf9a5afe1692f2679e650c2f853b9cd734cc0e90600090a1505060018055505050505050505050565b610c66336000357fffffffff000000000000000000000000000000000000000000000000000000001661123d565b60025473ffffffffffffffffffffffffffffffffffffffff1615610ccc5760405162461bcd60e51b815260206004820152601760248201527f534d4152545f5641554c545f414c52454144595f534554000000000000000000604482015260640161038d565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f6a7abc646862eeb16d8760c0c56dff37a2d2c6b012a3419910005e57e503a08790600090a250565b610d69336000357fffffffff000000000000000000000000000000000000000000000000000000001661123d565b610d71611293565b565b6060610d7f6003611310565b905090565b610db2336000357fffffffff000000000000000000000000000000000000000000000000000000001661123d565b610dbc828261131d565b5050565b610dee336000357fffffffff000000000000000000000000000000000000000000000000000000001661123d565b610d716113ca565b610e24336000357fffffffff000000000000000000000000000000000000000000000000000000001661123d565b610dbc8282611439565b6000610e5e336000357fffffffff000000000000000000000000000000000000000000000000000000001661123d565b60ff831115610eaf5760405162461bcd60e51b815260206004820152601960248201527f535741505045525f494e56414c49445f534f555243455f494400000000000000604482015260640161038d565b81610ec457610ebf6003846114e1565b610ecf565b610ecf6003846114ed565b90508015610f1457827fe5859e75f917b81be842c32c040715d360bde2ea905972baa6eee35dc322980483604051610f0b911515815260200190565b60405180910390a25b92915050565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f50c7a3d1a23c7ff4a61d37c3f2c4aeb36cf60b43ee893723db201d3eb941cbad602052604081205460ff1680610fc9575073ffffffffffffffffffffffffffffffffffffffff83166000908152602081815260408083207fffffffff000000000000000000000000000000000000000000000000000000008616845290915290205460ff165b9392505050565b6000610f146003836114f9565b60025474010000000000000000000000000000000000000000900460ff1615610d715760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161038d565b804710156110985760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161038d565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146110f2576040519150601f19603f3d011682016040523d82523d6000602084013e6110f7565b606091505b505090508061116e5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161038d565b505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff8316146111ac5781610f14565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166317fcb39b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611219573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f149190611b4b565b6112478282610f1a565b610dbc5760405162461bcd60e51b815260206004820152601760248201527f415554485f53454e4445525f4e4f545f414c4c4f574544000000000000000000604482015260640161038d565b61129b611511565b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b60606000610fc98361157b565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055519182527fa2e97b9eea8d1168700e334304edd057dff89c0384ca6f920c73cc3e48c8e52391015b60405180910390a25050565b6113d2610fdd565b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112e63390565b73ffffffffffffffffffffffffffffffffffffffff82166000818152602081815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df791016113be565b6000610fc983836115d7565b6000610fc983836116ca565b60008181526001830160205260408120541515610fc9565b60025474010000000000000000000000000000000000000000900460ff16610d715760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161038d565b6060816000018054806020026020016040519081016040528092919081815260200182805480156115cb57602002820191906000526020600020905b8154815260200190600101908083116115b7575b50505050509050919050565b600081815260018301602052604081205480156116c05760006115fb600183611b68565b855490915060009061160f90600190611b68565b905081811461167457600086600001828154811061162f5761162f611ba2565b906000526020600020015490508087600001848154811061165257611652611ba2565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061168557611685611bd1565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610f14565b6000915050610f14565b600081815260018301602052604081205461171157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610f14565b506000610f14565b73ffffffffffffffffffffffffffffffffffffffff8116811461173b57600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060008060c0878903121561178657600080fd5b863560ff8116811461179757600080fd5b955060208701356117a781611719565b945060408701356117b781611719565b9350606087013592506080870135915060a087013567ffffffffffffffff808211156117e257600080fd5b818901915089601f8301126117f657600080fd5b8135818111156118085761180861173e565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561184e5761184e61173e565b816040528281528c602084870101111561186757600080fd5b8260208601602083013760006020848301015280955050505050509295509295509295565b60006020828403121561189e57600080fd5b8135610fc981611719565b6020808252825182820181905260009190848201906040850190845b818110156118e1578351835292840192918401916001016118c5565b50909695505050505050565b6000806040838503121561190057600080fd5b823561190b81611719565b915060208301357fffffffff000000000000000000000000000000000000000000000000000000008116811461194057600080fd5b809150509250929050565b6000806040838503121561195e57600080fd5b823591506020830135801515811461194057600080fd5b60006020828403121561198757600080fd5b5035919050565b6000815180845260005b818110156119b457602081850181015186830182015201611998565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b828152604060208201526000611a0b604083018461198e565b949350505050565b600060208284031215611a2557600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152611a6b608083018461198e565b9695505050505050565b60ff8816815273ffffffffffffffffffffffffffffffffffffffff87811660208301528616604082015260608101859052600060028510611adf577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8460808301528360a083015260e060c0830152611aff60e083018461198e565b9998505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808716835285602084015280851660408401525060806060830152611a6b608083018461198e565b600060208284031215611b5d57600080fd5b8151610fc981611719565b81810381811115610f14577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122068ebc7aa223c90a7a767f1063ed35ca5729a9ddde779d68fca67123ad685a58564736f6c6343000811003300582103f1d267ea1a86dfdb3c46b45b174495d9d2a0eb5937172d25a0ddb440647b77504104036fdcd4b730d4960804c4378eb012809ae0dfdff9b67d081e4b8476303dbe40e5005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace54a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22a0058200263af39dc22328c2ab2e49e74e974b3eb5fadbc7f6129248bae71ae9c1420a9410102190801005821034c91d413c4ef766eab65ebd316d868243c36c1806b1aa2bfe781875fb6d4fe20410100582103fa36a96705b372710b35cae194afb3f917a5a7f3fba509bbb8fbf7d824364d70410100582103e6c71a0ee090eb834a2d6e5b4f5bd023298f3ed0de2df5aff70d287b5ecce870410100582103e1f6f36060f166f063fb01d63adab80297f56b5a444cab19384c535141dbd8b041020058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6041010342d87473e3f47151a3f49ad622d4d85f0c3b30582edf233b6bff19b1642c4b9600582103cfa2818bb6f3d6894203d8e64ad2d716e9df4967869f5e3c335387a897f77080410102195eb605581e0311853640c2f2d8cb7a9a9c677a486849bff636710e676e05d70f2384f00701191c36035f50b8d3049ae90f2b2f6be903701ffbf7e82fb26dcfc488fb0962446534930805581e031be7d2676ccf9b94450e09201ab4f76fbab4610f19ecd2e4a26fc1f790040105581e0320941673f3dc3cc186b1741aac04f620d375797fd715eef99d7d98ab40040103faa2ca4ccef65e2f295b56cb4fb43474ec93f0d1e6088ea9438e76533442dff505581e03f8513467a90908253c93c0d9a12dfb922b674c29885319bc4e5495dd000c04481708fd254b721df005581e03b5ad993cc59916b5f14aa467118106bc84a9361983212224b4020836b00c03475fd6fd8d53df6205581e03c6400e7a71f732f9477e33de56accb4d108fd62fc845cf91deb5e971b00c024702cda8d7137e00021961bb035ecd709e374d02f3c64018a5d2e520369e1cdbb1dd93b14c79b646374f1dd6c003fd5fcb9a4ee2cfa1a4574cb835a5fd2d3399bfa0065ff282d011000ea35aaadf0302d4ad04308a26d162a8fc962fa82c6574540bd8e0c183383145b23a6a4368220358046133f71fde67d33b7c197563bfba845c316cf005ac20430c5c3d1b63263d03d061acfe73be0bc6e5a0c21b07e9220670f6dc3ea5754a7111c5ed37b0422d4203331b407e37f40b9df900956ef8cbcf6a090abaa5befc92479ea3fda818f0e1b1032e45e9f72f890390feb4c1a62bbd92a85e00d23365ca49f6f83a1ed2bf0d3174037748b395bb187a0d8e14698e1339a156676c9528ecc8a56c44a0ccdb4be78b6303e386f240fc7ad90078b912c9326df2f4ac37ef0f4b3036c2a5338221c228b97f03662eb857d492043439e3c18e595fc50b2b7ece66a7267d8756bb1056cde6a4c0034dce94c7187bf641de256c961bbaeb2274b166246429006e521d04f3a41e8c13030f1b6274dcdfb82e210c96ae346191a0eef97b0c4f7efb7e29c7606b412a1f6f0219ffff03391e7d8c2555c3d734a31b4073cba0c866184b2344dc3a3aa9e46c4df2ea96e103e28a3d0eb62425146ebf2dce9a29a05aef188bfe35325853e3ec279dd2f18d0d0319c2c9cd5ced6b468c32ca009573830b85eda0646c89094d0eb421b0e977b2f803773c456b8486019687c7f3273378c564f9b46130bdcc9e370492d6f8c46ceb2e03490f2844eeb3c401020b18540f3cce69146ac151fd541d6bfc8dc4b6af9618500389e8ea4d326aa712c0fb299d33937109d2e58bd19b2f99559c25a75ce1cdd9e1033848d5a01e1c27d00bcc2b893a7b86251dce55535ea191adacbe1f6d665eb7090365556c5e2724d5e759222668c6837036ea77b1d01c358dd5415d02bf12d768070321ad069189f393fa8021ba6a4de3e9695f1c6f51f01e5be1dc8459dff7e7ee7203e87c58d5e1ca63dcca35c540f5ac939e528c0c0c678c436877f2990dcd52552d03288b82b5a402b80544bba80ba835154ba1af09087c48dd3c1896064145741050038ddb0aed2755e3e6d6be43ef55d84482d999ef839a54b08c7b3fd9855f3ddd9b0219ffff03b11391a638f1fc0c056f0660665e2f8147ab58372177709cc7dc0c1f29aa32f8039e0791685fb025d9b6c2538473eb2e33325ada5eaf68bb14eb402f57c451fedf0219ffff03418b638447289c8a10687001fbfdfc8d82f95af6ee3ba6ac43ff6226664004be035f97233d2709a0defae9e89cc49b957b9cbb0ec92094df45b5973b6f56de0c5d03e4844532192f29c5a0c333a465113b583b3192d047f3d35a55aa9658994026b103b2f67f1248369064fe8eaf3ad0d968d2f4a15cec034f6f958e76c90e7cabbe330309b2ac708d6c191cc19e2a72032d59b7456f88d7ba04eb6e4a040b31fc6457060365c1ad2df91775043d64bc099c668446719358222dd7ea9e1c8a8483bc2665a403123f9e0321b01fa0869c35c10b45addff86ed2919f6aabf4d91a9cab99bb56fd03670c2417c151965c107fbe5de58b62bd796f96414ec4f655207d131f0250196d03aaed08a371179a25735494b3b0f3ad1291489e6b2ee23e1af967cd20769e695303de8b1582e1205561f0c393d36e0ca6f3c9959170c4c29adba7bcbd70c686f41b03f4a747571d021dafc1430fe38ce33ae2c644b321844a752457e8c6c78713f0a603a615f3432967d47717e4da784ce13f9c3c8a39278acb01d0dec37277364fc5e703896f86f163182aed02fec2a2ec76ceedf665fa6a667b7bdb5152d94f77ea356e03cfda7caa12e4d820be5ddc065fdf24a05b79551d71d38ae54add99286aeab9f10348d35b6ceee561847e9d21b345c788bcd7ad3378b213b6ddecbfcd74b87a496103cba0440500078cde810d011a04acb3d5f2414e975f8a7f79d8fba7bbbde0cb67036b551eb5331553dde7cd2a4f9efa6de290a4afc13697f4986f6e321161504304034d5c0d26ec75f81f9187bb43f4a9714c656fea8719cc01f235606d2200e64c7103aa707974bf4a98b1cb537bcc3643460694f6a157464b6223a57c4b5a95f82f10037f37a8d8132ec3e570e4bb0373b173946aea7a44f83a3e6f82cc74e0194b6d9a039cb95e9cd2ce3265f2b78cba0aec2f696e4fc62f0731be1480958868966d5ba403ac2dd8383c98d49b8ec35096316fc618824ca84bb5ec42fd7e8d52519fd960be03b6961f0392c4b0ebbef0bb9944cbe2f75f1fbd82e90d655a6369b39439143df603e57c8b13c697a1e3760002099de3eb2c314ee3d3e58d3beee1663b3a143710200313f6f86f0f49c4cf9ed084c9c97a6f4b6e3ab42fad00ce8f2ad1eba01f059ead03bd78a8c661df6ad23a9bb9d3d605da130b47a20a89037faf6be75e36bbdd2bca03e70d57d71a46953459958061db803a3dbc0a6b0f8d1c43305550f930bfc47ca8039afdd0083efec871e94e11bc582ee5842ce66b4fc4087ab057dac69c4c4453d905581e03ff6ea49ccf6590ca3e11e73cdc0329028f16ad94abcc1f572763c719c00c014701012c6a53e9c805581e032f896b11374ba464df3e57888ec58abde07155c16a04d7e5b3296cc4a0040405581e03e9ceba9d91037ad444fb89dc14e3fee28770e183ea7a457bac669be5600c19293a480eb86b16c3047e80032716cf138588811522344a196b6d5656e3bda6d1a0ecc401f8f7c1aafc7eb1020364b05d4e5ed99921c294933956a08fb0f1163d0b5c4bdfabb48481dea11dde2b03fe1edc57716a4ebd4a940af791e69b87b7f6a9f775b6a80bc0867ad2c7a2a1a3021901d503f9af30b0dc987e9ca067f39df21a7549cfae523daca29660f2e8b15790601d5f03d6e5b25262e2e822e8d16f314ba63fbd743562809d7f89105d7c9360d4f36750032e725037a86614f36837dee05f15b66a60fd1470bf262c3f8e362bed0dae34b20376293fd11557d21519faeab9ce43ad785041f42bdd7a3eef50d0efdc165ec73c0219ffff036a16057c90afdc8846e448c4235e7407b7a195b9a745238f78800295869f6a25033980e55b9a4a5eb66c2e222f2163f6fb33b036c53ccd26683306f9cff136af2603b3f1927de4a87bc4fdd1ba1e8706a16470031daa4fd72607d1cf0fce1d8dc8f60334b2f1b63bbee667e53fdb2b181b2c21258a200dc7bff02e85cb36d9a7f2fd20035d656db7c220cb81d11a35d812df0e116116e05745a898199953546b22d7af970219ffff0398442a5f9a8ded573d49cf43c30f1702144f5b4a61d71f1c7cdde3283bd889e0037f409c579436c2511f6ff3209d682d997be369b6af3ac7fc0d73a0082f94fe0403037d81650c2b3824f6d753018d9c1ec6c0f092f022d5624637f53aa261b42b7e03e741ae335d2fd000d3e6b30ff368c593508e260aae08644598aad953196fca8e03ebce25be7a98190125e4d07f0ad4fe152534e10eedadf46ba3068f20e89ba65203a88b83d6ad66824b0fc4d9da566df84322dc8209f8a857846273a4b661c2e47a03b3f4e0af330495f63b7ac660de605a329e89df62fa3c8e5074f0be4b80d3091403648461b42a3a59dca0baec1ed2bb2f6fda1389d1f40edb4d011394c3dad0a450035082930994b588f16703f39e10886a0fd8ce003019a74acd186af65339e181910219ffff03fd0048a68c54ada5c0e9f2ef187bc68638bffe7eb647e6a2c2bc965e8caf3cd60320156cf774180c6d29e3540963410d8800b94ecc2fac3f16a805d9e581234c56035edb2f60aac0af7b571bb25b80e2a98ff1c65f26b8d6271b7e1098ee571f6abc0219ffff03871429daf3690cfcac841d76f2f1dcc9ba76f76e15f7a182c41e88de6bda67db03ba3148d6d9029bfaffb277b8af36016cbcf308f1d35a4d72640f8f2224aa478e03d1eab5065511b162ba935f8244b0a6cad3516ea832150488d32238a00d6c127d03be8b415e8fe2e120433c6a6ccc799068b6adfbbc8270d71cd6c1388b9581008b0355b1b12d57d9fb94b0e173617ef8737ae1da2fe25c019428f14f732252fbf37f03da86a7ab11d896eab4aacf22b34a183d3be0d8548b7aecb352066e0c8a746d2603565958d45966acce580ad8c8dff9e3a8daa03f6655715f083a1694c1257ee1f5030c3bf669d9f8d317abe829278f0bcb521dd5d48aa34baab3230b10e49052b82b03dc002143c1edbeed4fb6872e2503f05d04f32c6a5e210a266a0b50b95142f9a50342d5725198417d4d10747aecf078e42f66089613f7a60ea8e35a4e6bd2c700c8039712fe90049f5a739586f0b112065003cc16b976e076effcb3bd2ea40c131bb5037c1660307fef33ce149fa402a154f6611f4a76753999c80c144f4cf1841bd450030ef338cb45313023e5e730775ad7a2eb2049223830e09e175b3193765ceb192f0306a85854e090ad4e079b7a363d8298c3c548c518465317c46876fac41c6cb25c03a7b142d340f1822e5a331996d8f43f9cbf021a45ee13aea7a528c189d3168e6e037f7a6efe13f493f6a07cc7b94a78241a8c721a81440516253753b47c590450c4035d1fa1f8cf3852d40c48f4654c11b687e44fbfd3a4122893e9724d641a0dc5140395458c8a988bd8d64dff91d476a32aaefc69669434f9fd656ddc146127eac99f038f0f35d4526a1ce4b9d7a22d0b02c071baaa52c7b4107fa5620bdcc9c4656e5d03d870fe41e3b683a6d23a5b69c1cfbd8f928364d9506210c56031636f7496a5ba03e39d40c66e799a8cf24bc859e6508be7ce0be16d2dbc80cbc639c7fefe6151fc03d46b50c1c4357f602a112d28e247e0c799f6b430ca4379a266e639ce79d14dba04592063608060405234801561001057600080fd5b50600436106101cf5760003560e01c806370a0823111610104578063a9059cbb116100a2578063e4997dc511610071578063e4997dc5146103b8578063f2fde38b146103cb578063f3bdc228146103de578063fe72423f146103f1576101cf565b8063a9059cbb1461036c578063d543dbeb1461037f578063dd62ed3e14610392578063deb76965146103a5576101cf565b806395d89b41116100de57806395d89b41146103245780639ae407e81461032c578063a24835d114610346578063a457c2d714610359576101cf565b806370a0823114610301578063715018a6146103145780638da5cb5b1461031c576101cf565b8063325eaac1116101715780633ecea6b21161014b5780633ecea6b2146102a557806340c10f19146102ba5780634838d165146102cd578063617d7ec2146102e0576101cf565b8063325eaac11461027757806336e8c9b31461027f5780633950935114610292576101cf565b806318160ddd116101ad57806318160ddd1461022757806323b872dd1461023c5780632c0c74aa1461024f578063313ce56714610262576101cf565b806306fdde03146101d4578063095ea7b3146101f25780630ecb93c014610212575b600080fd5b6101dc610404565b6040516101e991906118e1565b60405180910390f35b6102056102003660046117e0565b610496565b6040516101e991906118d6565b6102256102203660046116db565b6104b3565b005b61022f610549565b6040516101e99190611df0565b61020561024a366004611727565b61054f565b61022561025d366004611762565b6105e8565b61026a610724565b6040516101e99190611e31565b61022f610729565b61022561028d366004611823565b61072f565b6102056102a03660046117e0565b610763565b6102ad6107b2565b6040516101e991906118a9565b6102256102c83660046117e0565b6107c1565b6102056102db3660046116db565b61081d565b6102f36102ee366004611823565b610832565b6040516101e9929190611df9565b61022f61030f3660046116db565b610860565b61022561087f565b6102ad6108f8565b6101dc610907565b610334610916565b6040516101e996959493929190611e07565b6102256103543660046117e0565b610a3b565b6102056103673660046117e0565b610a93565b61020561037a3660046117e0565b610b0e565b61022561038d366004611823565b610b22565b61022f6103a03660046116f5565b610b56565b6102256103b336600461183b565b610b81565b6102256103c63660046116db565b610d87565b6102256103d93660046116db565b610e06565b6102256103ec3660046116db565b610eb6565b6102256103ff366004611809565b610f9d565b60606004805461041390611fc1565b80601f016020809104026020016040519081016040528092919081815260200182805461043f90611fc1565b801561048c5780601f106104615761010080835404028352916020019161048c565b820191906000526020600020905b81548152906001019060200180831161046f57829003601f168201915b5050505050905090565b60006104aa6104a3610fdf565b8484610fe3565b50600192915050565b336104bc6108f8565b6001600160a01b0316146104eb5760405162461bcd60e51b81526004016104e290611b73565b60405180910390fd5b6001600160a01b03811660009081526006602052604090819020805460ff19166001179055517f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc9061053e9083906118a9565b60405180910390a150565b60035490565b600061055c848484611097565b6001600160a01b03841660009081526002602052604081208161057d610fdf565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156105c05760405162461bcd60e51b81526004016104e290611b2b565b6105db856105cc610fdf565b6105d68685611faa565b610fe3565b60019150505b9392505050565b336105f16108f8565b6001600160a01b0316146106175760405162461bcd60e51b81526004016104e290611b73565b8281146106365760405162461bcd60e51b81526004016104e290611d00565b600b80546001600160a01b0319166001600160a01b038716179055821561071d5761066360096000611628565b60005b8381101561071b5760098054600101808255600082815291908390811061069d57634e487b7160e01b600052603260045260246000fd5b906000526020600020906004020190508585838181106106cd57634e487b7160e01b600052603260045260246000fd5b60200291909101358255508383838181106106f857634e487b7160e01b600052603260045260246000fd5b90506020020135816001018190555050808061071390611ffc565b915050610666565b505b5050505050565b601290565b600a5481565b336107386108f8565b6001600160a01b03161461075e5760405162461bcd60e51b81526004016104e290611b73565b600d55565b60006104aa610770610fdf565b84846002600061077e610fdf565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546105d69190611e3f565b600b546001600160a01b031681565b336107ca6108f8565b6001600160a01b0316146107f05760405162461bcd60e51b81526004016104e290611b73565b610819826107fc610724565b61080a9060ff16600a611ebd565b6108149084611f8b565b6112a5565b5050565b60066020526000908152604090205460ff1681565b6009818154811061084257600080fd5b60009182526020909120600490910201805460019091015490915082565b6001600160a01b0381166000908152600160205260409020545b919050565b336108886108f8565b6001600160a01b0316146108ae5760405162461bcd60e51b81526004016104e290611b73565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60606005805461041390611fc1565b6000806000806000806000600a541115610a2057600a5460005b600954811015610a1d5760006009828154811061095d57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060040201905080600001548361097d9190611e3f565b9250824211610a0a57610991826001611e3f565b8154600183015485906002850160006109a8610fdf565b6001600160a01b03168152602081019190915260400160009081205460ff169060038701906109d5610fdf565b6001600160a01b03166001600160a01b0316815260200190815260200160002054985098509850985098509850505050610a33565b5080610a1581611ffc565b915050610930565b50505b5060009450849350839250829150819050805b909192939495565b33610a446108f8565b6001600160a01b031614610a6a5760405162461bcd60e51b81526004016104e290611b73565b61081982610a76610724565b610a849060ff16600a611ebd565b610a8e9084611f8b565b611359565b60008060026000610aa2610fdf565b6001600160a01b0390811682526020808301939093526040918201600090812091881681529252902054905082811015610aee5760405162461bcd60e51b81526004016104e290611d74565b610b04610af9610fdf565b856105d68685611faa565b5060019392505050565b60006104aa610b1b610fdf565b8484611097565b33610b2b6108f8565b6001600160a01b031614610b515760405162461bcd60e51b81526004016104e290611b73565b600c55565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b33610b8a6108f8565b6001600160a01b031614610bb05760405162461bcd60e51b81526004016104e290611b73565b6009548610610bd15760405162461bcd60e51b81526004016104e290611abe565b60008411610bf15760405162461bcd60e51b81526004016104e290611bdf565b60098681548110610c1257634e487b7160e01b600052603260045260246000fd5b9060005260206000209060040201600001548514610c5e578460098781548110610c4c57634e487b7160e01b600052603260045260246000fd5b60009182526020909120600490910201555b60098681548110610c7f57634e487b7160e01b600052603260045260246000fd5b9060005260206000209060040201600101548414610ccf578360098781548110610cb957634e487b7160e01b600052603260045260246000fd5b9060005260206000209060040201600101819055505b60005b82811015610d7e578160098881548110610cfc57634e487b7160e01b600052603260045260246000fd5b90600052602060002090600402016002016000868685818110610d2f57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610d4491906116db565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610d7681611ffc565b915050610cd2565b50505050505050565b33610d906108f8565b6001600160a01b031614610db65760405162461bcd60e51b81526004016104e290611b73565b6001600160a01b03811660009081526006602052604090819020805460ff19169055517fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c9061053e9083906118a9565b33610e0f6108f8565b6001600160a01b031614610e355760405162461bcd60e51b81526004016104e290611b73565b6001600160a01b038116610e5b5760405162461bcd60e51b81526004016104e290611a36565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b33610ebf6108f8565b6001600160a01b031614610ee55760405162461bcd60e51b81526004016104e290611b73565b6001600160a01b03811660009081526006602052604090205460ff16610f1d5760405162461bcd60e51b81526004016104e290611d2e565b6000610f2882610860565b6001600160a01b0383166000908152600160205260408120819055600380549293508392909190610f5a908490611faa565b90915550506040517f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c690610f9190849084906118bd565b60405180910390a15050565b33610fa66108f8565b6001600160a01b031614610fcc5760405162461bcd60e51b81526004016104e290611b73565b6008805460ff1916911515919091179055565b3390565b6001600160a01b0383166110095760405162461bcd60e51b81526004016104e290611cbc565b6001600160a01b03821661102f5760405162461bcd60e51b81526004016104e290611a7c565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061108a908590611df0565b60405180910390a3505050565b6001600160a01b0383166110bd5760405162461bcd60e51b81526004016104e290611c77565b6001600160a01b0382166110e35760405162461bcd60e51b81526004016104e29061196b565b60085460ff166111d4576110f56108f8565b6001600160a01b0316836001600160a01b03161415801561112f57506111196108f8565b6001600160a01b0316826001600160a01b031614155b15611174576064600c54611141610549565b61114b9190611f8b565b6111559190611e57565b8111156111745760405162461bcd60e51b81526004016104e290611ba8565b6001600160a01b03831660009081526006602052604090205460ff16156111ad5760405162461bcd60e51b81526004016104e290611c0a565b6111b8838383611433565b6001600160a01b03821660009081526007602052604090204290555b6001600160a01b0383166000908152600160205260409020548181101561120d5760405162461bcd60e51b81526004016104e290611ae5565b6112178282611faa565b6001600160a01b03808616600090815260016020526040808220939093559085168152908120805484929061124d908490611e3f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112979190611df0565b60405180910390a350505050565b6001600160a01b0382166112cb5760405162461bcd60e51b81526004016104e290611db9565b80600360008282546112dd9190611e3f565b90915550506001600160a01b0382166000908152600160205260408120805483929061130a908490611e3f565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061134d908590611df0565b60405180910390a35050565b6001600160a01b03821661137f5760405162461bcd60e51b81526004016104e290611c36565b6001600160a01b038216600090815260016020526040902054818110156113b85760405162461bcd60e51b81526004016104e2906119f4565b6113c28282611faa565b6001600160a01b038416600090815260016020526040812091909155600380548492906113f0908490611faa565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061108a908690611df0565b600b546001600160a01b0316158061144b5750600954155b1561145557611623565b600a541580156114735750600b546001600160a01b03848116911614155b801561148c5750600b546001600160a01b038381169116145b80156114985750600081115b156114a25742600a555b600b546001600160a01b0384811691161480156114cd5750600b546001600160a01b03838116911614155b156116235760006114dc610916565b50505050509050600081111561162157600060096114fb600184611faa565b8154811061151957634e487b7160e01b600052603260045260246000fd5b600091825260208083206001600160a01b03881684526002600490930201918201905260409091205490915060ff166115645760405162461bcd60e51b81526004016104e290611934565b60018101546001600160a01b0385166000908152600383016020526040812054909111156115b9576001600160a01b038516600090815260038301602052604090205460018301546115b69190611faa565b90505b808411156115d95760405162461bcd60e51b81526004016104e2906119ae565b6001600160a01b03851660009081526003830160205260409020546115ff908590611e3f565b6001600160a01b03861660009081526003909301602052604090922091909155505b505b505050565b5080546000825560040290600052602060002090810190611649919061164c565b50565b5b80821115611667576000808255600182015560040161164d565b5090565b80356001600160a01b038116811461087a57600080fd5b60008083601f840112611693578182fd5b50813567ffffffffffffffff8111156116aa578182fd5b60208301915083602080830285010111156116c457600080fd5b9250929050565b8035801515811461087a57600080fd5b6000602082840312156116ec578081fd5b6105e18261166b565b60008060408385031215611707578081fd5b6117108361166b565b915061171e6020840161166b565b90509250929050565b60008060006060848603121561173b578081fd5b6117448461166b565b92506117526020850161166b565b9150604084013590509250925092565b600080600080600060608688031215611779578081fd5b6117828661166b565b9450602086013567ffffffffffffffff8082111561179e578283fd5b6117aa89838a01611682565b909650945060408801359150808211156117c2578283fd5b506117cf88828901611682565b969995985093965092949392505050565b600080604083850312156117f2578182fd5b6117fb8361166b565b946020939093013593505050565b60006020828403121561181a578081fd5b6105e1826116cb565b600060208284031215611834578081fd5b5035919050565b60008060008060008060a08789031215611853578081fd5b863595506020870135945060408701359350606087013567ffffffffffffffff81111561187e578182fd5b61188a89828a01611682565b909450925061189d9050608088016116cb565b90509295509295509295565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b6000602080835283518082850152825b8181101561190d578581018301518582016040015282016118f1565b8181111561191e5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601e908201527f544745202d204275796572206973206e6f742077686974656c69737465640000604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f544745202d20416d6f756e7420657863656564732077686974656c697374206d6040820152656178696d756d60d01b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252600d908201526c092dcecc2d8d2c840d2dcc8caf609b1b604082015260600190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601c908201527f4f766572666c6f77206d6178207472616e7366657220616d6f756e7400000000604082015260600190565b602080825260119082015270092dcecc2d8d2c840c2dadeeadce89ac2f607b1b604082015260600190565b602080825260129082015271213630b1b5b634b9ba32b21039b2b63632b960711b604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b602080825260149082015273496e76616c69642077686974656c69737428732960601b604082015260600190565b60208082526026908201527f546869732075736572206973206e6f742061206d656d626572206f6620626c6160408201526518dadb1a5cdd60d21b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b918252602082015260400190565b9586526020860194909452604085019290925260608401521515608083015260a082015260c00190565b60ff91909116815260200190565b60008219821115611e5257611e52612017565b500190565b600082611e7257634e487b7160e01b81526012600452602481fd5b500490565b80825b6001808611611e895750611eb4565b818704821115611e9b57611e9b612017565b80861615611ea857918102915b9490941c938002611e7a565b94509492505050565b60006105e16000198484600082611ed6575060016105e1565b81611ee3575060006105e1565b8160018114611ef95760028114611f0357611f30565b60019150506105e1565b60ff841115611f1457611f14612017565b6001841b915084821115611f2a57611f2a612017565b506105e1565b5060208310610133831016604e8410600b8410161715611f63575081810a83811115611f5e57611f5e612017565b6105e1565b611f708484846001611e77565b808604821115611f8257611f82612017565b02949350505050565b6000816000190483118215151615611fa557611fa5612017565b500290565b600082821015611fbc57611fbc612017565b500390565b600281046001821680611fd557607f821691505b60208210811415611ff657634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561201057612010612017565b5060010190565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220e2da6f3f724e6e149c0a275778c54f5fafce2fb3de76c1e5018cba8a7846abf764736f6c63430008000033030927f7b5104f73ec895caa963070f7d67667ca8757120b6945409190ec8e97710396a73766ef509dc9082832aabc39b8846123a2a80a8f700e42f143ff2b3ed3010398fabab89701c09ff0fa406234d3e3615b0eab6bf7b6495e990468ae1c64bf6e03e92c8ba9359f0287a2b8eeb70cbd02148da12120248f5203ae642473537acb4c0377a170ec8fcdeb3fffb9713f8503ee0798abf9a0ccc847af7a41fadf88ff0cae037ddcd3fa7acc5830483096b38fda4e6d92fb59fa30b3a71e9e1611d4c1470112037e1efab0e411d4697f8ae15f016d478dd75c2d8c20ead8303eaa31fac406d92f03b6cf924a4ec6937c1472c28a0a6aefb8ab0606b1a69a0918369b8e2fea2e87170366efbb176faada8558582aa75e28e3ddfc2f0e32e35ca709f56aabd95ec9f2f8030bdf38ccad4e69b5f0c79730444d98986c55214e2238f83d09bbfd2e867df8ab030fb6aa2b4cb2c46522753a421c7748403db0d284196835df7c28c94c082d773f03020a829914aaf97c915f89f9a8b9219888b611db1dad7ff94a5b2d1047f8c3230395b41be29ad7440c53952dd350a879e71e54dc6333cdc7ed75701bb439fe43a9035b4aec7a02e251e83801d3b7d6ebf063d30fcbbd225be22115cd890f1647bdbe00582003491382208e518329a724680209e9be897e2312b48ec64539961666d834ff205820fffffffffffffffffffffffffffffffffffffffffffff847a7f69d0c12b0ffff00582003f42c2e3a97edbca9efddba58491730b025c917c1c95aa3e9e734997cbb38e04a029a436cabb9152f0000031ed7a9e884f8fad0b80611c0510fe6187d5268dadd6432c26d3fc870f5e14e73005820030908b42e075a0a3eb3db757bea4e0942284eefc5b04f06f04330005125ee304938ccf432b3edeb968700582003be7fdaeeba19cc14353e9c672a6ff3cc4a0f947f530c7ca780541249b46e004a0543ff273e7dab970000037f7911ea6e2e825f17f24274dda033991516fed587c497fa1968615e3643a26903e50ec8113e771ab005cb0e3cceda3cd7a81d34b4148ae5377ac9d710cf14d63403beed5ce962968dac0b8a923f42e772003737ef8541872a41a8cbf43e5bd3a554030ae686333a697412031dce5f10874fe9f455f7ff34a5d12e24a933af187f156301410903028f2496001a0649064d8c4d57de554cec6e2b4ca415a309e3e7ce71661ed66a0058200328532d4f026a4f3612317085d938f21f597816d97c64bcb8b0360025350ad04a077e8ffaee3a23f3000000581f028d7beef1ec7a7ae2d4a1544d9fa601b5b5219982365cfd17e56019703bba4b038a283226e492917354c900581f02fce0a3e402a6f14f84ea4da3ebbe3d2ad3015d785ab71d44a709778fac8c4bce9616fec6ccfdd66800000218480219bf7c03b8b8f22ebc55425b0aa967fb339e5f0def0af05200b83104d56a38921b66207e031e8b16c52bcd8bd5cab167228204a27fe3c427a54030299a31d3cb0f88393980038bfa0d2a8eeefaa812a6adb65ffa92c0b7c89483af0960f9ac3f8c8136ddb204031f7c4ee84dbb2b20167b2d6eceeb8f095a4a5849d9c636d2b00c4b4c9a4cd00903cfc58b73102b50444e092bd30d18542c882d40de2d9cc06744d0920cfc0fc9df00582003c973f6e238d627b2338cd4af64f6e2f2b1373cb89de72e114fd02022ab91504bce93e2cb102c4be527000003353dc597bdf81048b9d35eb1fbcf3e29e72c2d84a279c9883927235d6623bedd03a2dcc5b52068320852de927ccdf8e0fd66912ec0ff2530d848f25c7908db38b900582003199bb5a3d31a8c5c101c213a13498a3c0102df2e6288d26061eea18f3ea7d04a0246e8b161aeb1ddcf2103599307fdb41704005c032820294678c0e8fdb08fcf50017e8e008dc2180077a603ee33b528d1a6b46d60e598577853f77c0d9771682d8135d38bf473e428e6b18e01410803bf47737c288aae6c71f8c2b7b1e575e5423b2ee6eb444bc4d5507c76f485f0ce0369dfad812973c6c3f8d99a88b21b2c0638e288ce5484095d8ae91b9c9d77ead800582003c8a51d67b7bc6f6fe940c681b0f98c4f3af0d5da7bbbb46d5023c3eaa664005820fffffffffffffffffffffffffffffffffffffffffffffe026ccb6b55a01fffff03673a04f82679abacd3554a5c9c2934307a5fb1d153748e51d031826435afb8ae00581f02b330217cc53b194597246cff2d196cd79fc477866dd95dc597a291b267b14a0c4a0e32f0259fb8000000581f0248bdc55696d9636caa1106f6d1e795edc6e7161a980443692a0b8739b0d44b01957bf62c7e67b6c2c0c40219020102193f3b03eab4aabdb16a1cd65b0270e4d2f0aab2c7dc69c905c79f81c597ee7f66938ce503f80c3b61b63e222d76744935ae3add72d03feddeee624830bad6ae8d9fd89e7c03c592836be80b6f574a6f8006a4910bdb311e87a282094d94caf9616d8c95ed2f0344fbf41db767dcb9a8de24ea110e15d802d5b7a9ca23653975d0a7dbd28c74b90377036a440e99a396510accce4bf5ba652df2e70c45c48f3cdb525da188868ca70347e45efd4e10ef97ed648c6196fcf27c98c5281a3f648f7e221672b01e82849a03dc73afb585478fc2acd1b5e506799af39ef97e496da08011965a3b9cd9bcf47103c14a59029e587e6510ecaa1131f7d1d810f18ec654c66b104032d89375acf1c80219ffff0389c56dd6e15c9f1fa8e4b6ef360c50297029763f4e1d67f98f7b8bf2a1cc337903d471c474b570489bcc0b07daadadb90a68739a40425cfb0bc0634b8ed1438cba03c18e39ddf08ec4f4897a105fc6d6cd2b869ca65bea5580fad3432f8262c5db6703f06ed72bcd83011c4dd002c62cae6460e8c743269fd3a4c90a8acbe8819d75b803cf2dd6219a1ce5386d7c50a80418d0791a17d0e3e9fd6f05472332d11ea875d503abbd2a116b857e1a9b6b4b5c6fb5006404cd71d2d587c282c1c2d83d7ae27e70035b39ee8a021c075f798923a18b5127e83491646955235eb4e14e45717a3b28ea0391f0a222c22cc33e1aa8b7f192f5ef1786711926859ae88aaa4c7851c5ee477c0358706be849a8852a1703979cc75ec9ba0114484690e00ceb34c1fc227b74726203eb899e39a926bd9f5e487827c8f203bddd73710f73ace87ce7b7bde7ef1eb1230058200340d5821991f56824e17b35bb5f31910b00fd429facf3b3e6c86e0410b78aa05820fffffffffffffffffffffffffffffffffffffffffffffcb694a1b9625a1ed33a005820031548d6287eb37d3b00c23acd6bc11a4c60f2cc0c018ac8214ec9efcc8a38e04a14ea38837706c6ba000003b87bd062fd1387a2d29078e2f16152e9b0ca383fd5d6298e39008f43ce4ac48c03c19702dfa10927d40b9f338685ecf8cf64355a62a17af9d4d1c8f9698147b9ee033acb2f1c8415655ab13263eb70bd3c02412ae1d2e98d7d159457842a03c82a46005820032ac93621815e6ca287e516483f89f18452faa13d864ba74e37f44d29d6f4e0491c371b819a55e793a1005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3041010219fb3f039b714ba050db7a9d2c069c1afc58bef07ef7b4547325588f0bb321ffeb93f6fb0325b01dc1e8d644a4f1eccb75c05ffda27d63309b09e898aa29cfe1b648c8f4df031376e828fe36c924dd1d93e7f8a43eae956d71ced2dddcca91de93d7fd0bf8bf037dbb6027902ddec44d7b575e661cbd95dd4a4f27e91df4f7658abd8893b1658a0359be4e7f9cb6f6c17210669806f60ed43bf23c6c1b9f7223252a2227e2090167037d31602c3a3df49bf045fa59bc7df7d63ded0e14980ba6c1ac20a6d024532ecf0338b014a9c79d5342031a0ea274f8ee419110f3ae20a7a203a16cb70af9dafac1037659025653e82d8d5408bd2a1242aadaba046e583eccc972da54d7306f98be960398e565d2ef920b39e0b6e8372b2f3ec7cb8c5fd2250f1af8c5fb63470f2e041703524f01bd3f95ecee42a9c302025843954e9da7dcbd6ec3aae1790506b1b670fa034a09cc1a4ae0fb34c395ba4c4a43a3c50f3c8721e0b9bacb33b69797a490598b03bfbcf54ee05e864d5d0eed3ba8d3347810e16db1cbb22bfa653cf38fb201ff7d0219ffff0219ffff05581d02c99511d7c589be9bf4aa04476f05dce095aa4cadff30408dd040f107070119206303f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581d0203ad165b2b07c1360e0482283d68d78513a521f4f3baf477fba8afd207011bffffffffffffffff05581d02285e3b7c896a86ad2bbabe24c6c9e2b822d902a81185244690243ddf040102190460036b2f2f8af152e6b413bb080bbd872a73dfc2a34667aadbc4dd64423cf97f97dc03c86d5bd282bcc86a6983743fb3777be6962eccc7adf738eb4572033b4273d59f03e9c8de58c10c738ac3b92346e8f198856c56054a5308fc01c410f7959b55426f05581e0301c34489ce0a8d4733a6576c9aeb596e97ec6fe7619276dede8972ad20040105581e03494d74c94864ebf5e936fc5f5e377686becb35fbd32e56e3c7e69998300c01473faf15a3336600033e02580f4859b97edcb3a40f4b16dfc91c74583a6b8882561c0f64fc69daa1ff039cf4100dc54b4bd5e52ecde8ef8a513d1b824d836da0dc1cce7f34b3b722b7de039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581e03d4d7827a2ed3e6a1179b4f83bc55ee532ce7b5518131bafd9da4a5807007011bffffffffffffffff0219bf0a037ff864d68080ebea98de769510224a0d6fc9e6ac2be0a964b50032572a28a63f0219ffff0312cdb70e65dbda98a31244649c0aa8d8919da651110ee1f65e2fe8615af5344e0347699c8ba5783ccab151bf39bba0addc88e44be3228edbcaa272e039bc66c54c03260c617939e2aca41653e9080f98feab6405bda29dfcf725920d2fef9d1fdd9203009f8887abaacdb6471be5eb42eaaa6687bb50fbbf4091e2ca09d6448aa223ff034b9da8036a534e41883993d5af9eb081e713cc8fbc65c361d8fa05e41ade6fe003f84f1cfe12dbec517e476a7508c9fe566df34e2a2f3b9eda56aa63c8656b03ff0369111c426e6bb4767359bd7aa240eb80838561f5dbdc1c6e9028071df5a13a5603337027796a9c7d547bcab2f01e66f5583a329fb6126afa24630ae34ab7a9e62003d99653723bc8528b87078e370f9abaa9bb16f43c0a95f87c9c90f40264b6220c03e8d49b5ad617408ac1801f50e1dd1023cf265f456cc6f1071591e6ad3737522f03092e024f5c6fc03c9b72a84f16c3658a5a2ae454cc969007adc14de7fe7d04e0037fa69772d6638ad83d13b36c255cfd4c5eb883be71105aa492c8dbd8cda223b30325aaa60049365a063dfaee606d2f4467e944f5f05fcea0824a4eb3a7a05f86ae0219ffff033c88cb2ea14381c813b9f1da31e40545808987dcbbb96f569ff6d066efc879cc037187c4bbdb46ed84cdde3329de8d7bfb566ff36e0c158a35f49aacc0442df80c0328683202566e8a62f9b1bed679fb1d5009553a901c428806cc24acdf59ac3a09036b75e3da7e5af3f74f86d5319d21e78a5f497ae00199a2b182f4dc9c32c7dab20340f1bde5c62ee09fb18c3c005b800a37283d947153c297ccd125e06b763b79950375512a389e0541db86b89fd228248207b60e8c9c17b9365d2f91d1890024d16203974f960b6319597445b4bd8caef6f499961d0e8d8c09cc51a7529654e7704bc303b1f02ee5baede289627522575714078f57998bb5caefd819ce076630be52ff500329ef0ff0ca2271d77cd406aa709d82035367f6a99f9a6f243cf96d7ed6478ee70307746785f9e5de327fa3cfbf5ccf1955256980e3bfb409c0e9823f8e98710a4803fbe316baa253f83c692268ba902594ae98929b58b0b913613e33f90467d7bc6703a70d7834fd0d4604ddeb5bd2794675d497f49ab797489e33d3ff0f993f0b486a03f5858fedac312a0cf846ae97b1a3b174dc06a929214ea04d83ed59dfc0e1b787031532e0aaa9b36309f94bf82758f57faeee6cf0db160fc7bbb48ab683d1e24c1a0219ffff03f0e2dd6f30fb045a51dfe4feab138b9221098e967a048d0ed3c47d50cf23f7ff0393c4f5e4d2edecbab2f779d229677c3659a6c4c65bb917e4f72ea559a0fc91be03c99c4819fb7927867c8d2fcd9a26b2e453ea33594f0d900a0e5765b5659b4096032121d20e8470db9ec73bf098d2a7bfd718472a0186ee3f300746dd17f37622b7036a98bc493d950f6a2abca9a97716c0e56c57e27a17e66b8180c3ba772441c41c0312b7213501dc1d7be519aa84dfae1e1f3f85f459cbedb1c29a276eae2cb292a7031c410cca9d5c8d0e4c39e153697ca20ba95e9cf95f4f9c6b1f1b40e6d6539fb4039e5a50555b7ddf8ec790fd03c15807154ae7c93f62bb209bbc760d4f4597b57b03a5672280370a5a9918dc6b0b849766d21d40fd4b7b6dca5c6edef5d914b7cd5703ee470edf1e979fa48bc6c9c3170df6f350cc5355a453299a2257a83a8ddc069a03ab5e05c46be2e89045ce4f9f91c0a43718ce46ed209c943d00ccbcb283eaf32a037f154f360b2833b563db5b7b7962f76b63f4a2436751c46cdf10cd3174174fcf0347b6a548fd3c15fbab116fddc973746a6ebc9eab94e6592847992ca87bf800d40396e27d7cab5f2ec3c096c1b9d262a2c1818a63b3fb15e2b015ef0bbe4af0d947037f840e27884879a2272830f424cee5161b7d1f8679b8302d725c2835c63d6078031f558adc370d8137c2988967508db21da71381b11d30582732ec19164d212cb203a2b630dd025c80a3ba0f400f81022f2aa7ab23bc0a25b7b4a4f5cf1175c1d8e203c53528dbe597de3a656b107499ebf94e5026d6d0b56b77287ddbe7c411da965c0459048b6080604052600436106100295760003560e01c80634776e4731461002b578063e354733514610069575b005b34801561003757600080fd5b506100406100f6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100296004803603604081101561007f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156100b757600080fd5b8201836020820111156100c957600080fd5b803590602001918460018302840111640100000000831117156100eb57600080fd5b50909250905061011a565b7f000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c81565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c16146101be57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831661024057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f414441505445525f4e4f545f50524f5649444544000000000000000000000000604482015290519081900360640190fd5b6102b58383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601b81527f414441505445525f44454c454741544543414c4c5f4641494c45440000000000602082015291506102bb9050565b50505050565b6060600060608573ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b6020831061032657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016102e9565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610386576040519150601f19603f3d011682016040523d82523d6000602084013e61038b565b606091505b5091509150811561039f57915061044e9050565b8051156103af5780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104135781810151838201526020016103fb565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b939250505056fea2646970667358221220fcb8f4f30203340a84fb3281a8f6f11931d3bba7bfc927a40ff42c9624d5f0ba64736f6c634300060c00330605581e03c6ca57527b6a2a753f5d37373afdd0e49e11b8b27c922a5d3ca1aaa7d0070119048b05581e033b79fcf57ec5571d15bc7aaf3f58bdb89e0d069ba4583504b1c0c8f4200c1818471e762eae56e0b905581e034c398765268df59dcc3c8794c187c37a5c0988df57b0fc43be6b6dbfa00402031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e037a74209e7b467a59efe04f0fc97880c35522b599b490d97d0791ff152007011bffffffffffffffff05581e038f679e25f4fd711a223c42a05201d01bfa0492b19d904386c242238f40040303337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03689fcb5f93a1656c679c711f5834a4545c5bd0eec4f9fb3d06be74d47a644aac05581e0394fac235b8cb0d7369c192b738a48dcab89a51dc7ddae26ff0fdedc7d007011bffffffffffffffff0326b33a98c0531434b0173d5e2d0ddcca2ca39a29b601a537d7ed3b8a282501a20318e7060ebebce8f584c5d3884f3c2c502a014acf2e34978d9da74b90d80ac1ea05581e03a90fbf9d4e6f02dd53857678d0d6e1a48caa75ba18bacf95a9ceca89d0040105581e03de2f98f27dfb0f01af59b807b54304e203e57f00902ec5d0602d8f8cd0040102195b6b037a540d4a2d56d07ff91ff0d8614bfc160147876b3604bbe3ef1e21216b53038d035729e9210be60143eae7cced73b789d85481dc56b6bd235ea33482dc7f61f78703171bb0dc7997e83eadf61835c063a5208497c092967639afb146d9b011f3206903cb772734158e8dc3eebc0668a7ae901ebb4b3e6ad28f4147959e862f4085121003cb70eb840bea53613d0ee7b7bc3bd8fa5953c12d36a5d94df71de25fde832958038f91face4f1ff68b181443b44bc50e49d1ef769624020466af548c38ec0147030219ffff03b4187fa725b276ec847e66f1dd3e7826243463e8225aa29b9f3ddf807b9fd61f03b675b7e5b432cbf3c3b10a7886c5697b82b33200cea3a23790d9ce5688c8cfc303c45a33176868ce83a2a995d48698ee78c38a70bbfb3242627d8808698400e2240347704789795e4f5c580ab7c45c3b22f6eb5d37347910dbea17abe8a6a510d8c203b976c31ad14c8f504d4be5be78ab8bc35ca6f6687035a3a6fcb20631a65894f20332b74b2f6fe7bca7c85d198e33e0f4b2be46ddc2ef1f8c8d078f3d96f51a7c9e03edd70ce4d15b5aa42ed764ec8c15b908220f44c4c41a3c602928d5a98d92352b030ca19fac8eca456694c3edad8d0a1728620ddfa98dad4a63e0c682716cfdf41303388d7ae7eeabea7178c28cdd2e65852b1d0011a95637f562d4ce6dabfc7f37b5032d424a807d273dbdd7b9b6beb5742cee2150adec22fa4a7b0d298f3622be721f03ab9dcae2b378eef886932dd3b4fd0eba5d9aeda056d1458ee3cbf296e4e480c5030e62dd8232f31fc9dbbef523a1372b8297bffadb3a22f40336853e8b10b7a6fb0343d2c8174f470d6bc9268709444cec570e740ec74928256493d54d2632da5ea20219ffff037c743a978c9fd2dd55314d780182727a8e4e0ec6a9950f7c37a18f03c5a94ec8031a369054110b397619e664d0aa03b0009955410dcdfb272b0fc00a36c671873303f5693b46d804601592e97136cb505d9ccb5cf1f03ba285e37c849827c852bce203c3950a4fff6d66cdcd1af6e186ddecb7115ce75ba93f24ba69859f044b8ffdb403738021804ced9a34626e8009c74649be8c47c995f059156804649a7da7b424c90392274887e34848c052a774de2ec371d85f13ff185ba861653ad26a958eb25f1603e3f88ddcfcef6cc76ae15cd97a0abe2f121e9d98fcc6bb257f12a9b1551706e10374591417d5e7367ddd60fbfd7b205655b2de81a7a3d853cfa63164a5face1b3203ff9fb7aa1f5abc5988f3bee80bc85417bb201298f603feba7ec63fd6ce3ee80e037f9e212ba535bb36998cb10b78ff8a10fe5c4b04515c7c00e885936f1fc94d750219ffff03a10272ad85ad6d88c447f8d9ad6f47b6c29d3b02fe155a966bca8399c7aa32b50300a693cf72724249c1d5b391616798bbd6cfc58b902abe2f3da10c3f71557d6203df7f0e1c3d696a7ae351f77a7f725049a37148deca9f67081e37227a61db118d03fc2ac7655159e7a65c805d562b9692d1b50b4e60778559468386503a2b82f3da030c4d7f85d505e5fb50f5e0ae30995ba8eeb89475cccd1d9429314d56b24f73c3034fce70c6b4130234d900ac2d3da000e218aed9576940d42a04051fadac01885703777ef9350ac2b8ccb1855eeee404cd2d24f72b6d1e6f459a4ca0b80eebd60cf1031e9b713fd97b8c5340991b2da5287146f556fb315c61511daf5a754ce058848a03197bbcc21b2dc5d6b4a32ff36a66bf659b62ffabd9cf98a0c7b08473799d3813039a2c80b9e77f62a4338210a8ef9a618beb133f7f70fb7c075553c60e637c505703651504323b270d2699f5a2cb8550c86628d52ac0f3c31df21e6395625f32d537032dfe7e8ab472fcbfb6864fb7571d12ebba67d1bcc06d79e89c32232689ef138203d2a0e4339ab36c3b14349991974ac88a77ef1baeb32f0cfaf26c14f20d38661a03b399922cebb112cc2bd3fac1f39a3cdbc148636db075cd74e71ab20861bce89a0358c6b3693909727343702186406cce7986d645b340021592b1a51aef1e0a915f035ff0aa43bf827a2e8853c6731960d123decb94e41e2588b2537b7e2acdbdb8e2031699f53c3b9da066fce69c0f60467dc3275336a284dea58e1cbb0493270654330343a4148a6d5cf5e402c0f836521215f66be902c9aab471d05c2a42357d86ce480364b0704c49fa70a0c3a894307e592ade9f0c105bbb8678a2c8f55b122b2da9f603d497687144b47679aef369107695cc149d19e4c16953bb536dbf79f658e4d9e703a8577e3dc772ae25ee555e2c3525c46b38fbf2313f38ff78895847d7b3a13bed0327ecca2c00137cc6056d745be48d3fec90dbe907bc1240641c4045e3cedbcb2b03737443fd80f61be03a44f64103cbdb6b944564c0a206f713631eb7c5884fee1103bcd8d47c57e72a47c4934e65220a3dbc972383882be8517c4f18fc498f3e405803ebbb6839070f87a566af6bb7b8d38b4c9e43bf5ead66cfe842dcefff240b319503392191735668a91355699d34dfe0558b9357d46ca7438959de771368c31e188803e25f96a819ab0445529dd166402d6605ed764ff23a735a04cf87417525ecb6fe039eb9787f730a2f456757363edfe73dc6450c3fdf584c836b38746e84b61be27403129dc0b1c006c71a870174495c941875174ef04a0d5c47973c14335f1f7a9bfe0333428ac51db156da9c42725bbf16e5e47d635561a8e18621484c548fa9d561e6034f107eaeb85ed0377c0fdd67a906c2a7e000443f1300519ceec5f7d9f3ad4ff303fc9c10fd51301a3ac43a3c3f44736c4dd7f9f6b0570521e32bf0bd700ba4df4905581d0251291e1a8e8dcdb8f67324e63c170d3b6999df3b48d247d962350a1b0c01468422e348cc4f05581d02d137d52f88d0a75ab34ce9705da4c2f3820e59609a39c8d2f64f797a040105581d0265f6faee3ac28c758e0d91eab26533e5ed18997f6d11fd645b27091c0c184248022140f3cd146da50219088103e191a3dce49ba17ca3fa7421b89e2fb98ebb1806afca837ab1e9ed02a79ce3ed03025da212483b605bc19370642aac69b666f4fdb80e1f6659bdaec9c0bf834390031d27d0b01b3d5d35b8de988b40ee84cfd1815229df32691e1f274f45b16fec8c05581e03fba0cb717e3ce551c00197e729ef28a7056b0970ffbc492a6f5e9417600c014703706b0c482c0003f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e0398ae75f3ed21b9e32380ea72249e5b6fc025675c156fcc5aa79fdf87c007011bffffffffffffffff05581e03a5783ce755052621264cf1c2daeaa924521bcc6c8eb774dd44e6350e80040103f2a99b9e85f9d2f783a0858a785970417c5b06a3d57a1052f14ea9952a10353401410905581e0358ae1c51e459e531f17578797c4602032a73fb4a4f7532c0ceeb94cb8004040376f19a77ac6cc3373cb1fe87631a127f02d70bf8db5fa1b321f14ac1ab6a89510219be1e03dc258e2182c9b641a8fe6b6c803b3fbe6d3722d438d6f7fce89f218c67e99223036944db60bca821b8c86f2b17dc5f463f29659b69a76aa111001c6015251408270398e579055d674ce03324431ff77034f29d17df5dcad0d7f23f1b586ec4c0f665030e3f229d255ca18075a8a7b35ebe92d33060408a11e7ba5078f7ba976fb915360219ffff03c7a07b709cfc1e2e0686b538673f8b11905aadfd14fec5ce7647a8079f4c7d7d0385a48a536acd714715f968203a43e197870ebddd91ea0b8c9f995638a6bb0db503987f8b3b5acd7ae24dd20dce4b73f3fadffa86b394894aa307a3d63c311a98000219ffff038af01672cc7f1c36106de4196565821e109127572a6278f1c1733c577bff0e680356b951de1b8a7c1f806ef07700bce0ee634c762f9cf523a7d85f657bc4646c920317078daf75d5541341e344b1d71cf36b08afa1114b71ad8b0e3e3569460e89b0039572e226457d10b4fa47eff0c91b27fb559074dc0d6224abe10aac670cb6c79103ff737d5067ef280fcb116b754703082f69a1d1106ee7478f3c6c3e8efd6cb7f7038795f5446f47d3113c2603fdb7476028163b080f04c9b974a3c021884526a44903acae49ec9ae7b81724dec9aa245658fa61c1b9f4d8c68bbff0d435381d52454d03092784af9831cc3fc52f41570d4f4b18b789e14fd26ce8f36941c61761a143d803e7ca487169fd56556368d29e3e0d455997d622e955abcfade9082ec89779f637034193d5a7566498f10aa05744f24f024c5d5e068382473001b5f420b7d4b2633403b41463c456311a184bc4aa2fab4ab2443b309221f4f8d6dd559bbed5b53337620381518d319e0489ca25d38d872985ac842c9f17b5aa81f636e842da2ba7118f0f038667f1c110a684d09c30a40dd7582e26714ef2fa34d0d5c9fcaf398ac0e1c9a00219ffff0219ffff03d1e1f3292c38e84f1fbf7d2c76e3ad8ded07b7110e64f12a2055bfa577d1ba87033d29d30fc9f6f99aa631992fb3c0cdd635d4f3e8211df250db9a757f5e226189033a057af3b7cb12da20a9a8a00a07e95e18197c452319d2f6d0a4baa081e7419803a3ac2d961f6a344afaa39b1b0af2014f66df1b058d6e30d8db5a5e2bf9ff7c9703cac478077822133ec7877ed234f6e28302b8721186bc8f71da7a395cc96137a9034153c017f32856d317ca42f0c5553ee86ace89ea5475c4618411e92da20b46740329965387e59a100afeb966292b453827bd08e104cc6ed7be2778caea4e425caa03669f4ea97c78136d24fdfce3cd003d88c414850fe59247a8f95f5cb032b5653e03207a2d0d30f85a2f6685eedd493934f0d730056b9d484272ef1c1889858402d203704753de3f440fb8b3383d7f95300ae1c5f1f8179a95851a9cd1c4dc1649331f034e52da2558110afce56c90a0f91a64db509bd685436107dde77453fbda21101203b7cfc6b463a475aa355ea2262261342f2f37289ef80bc70537e58958c32a2bef030d52d18ec6acb05eca77fb9dade0217b7b302e3eddb07e474ba3b87de0fcd5cb03118855dde6226f6b07a9468ebd5855cf2fd653dc7765a50cc6bb9ed7d2d12b450335ec0cec17bf81540cf39b194a5d7d1b09f5c72a8c1c944f966e982b94f548d80389656b6f1c656f3d1bea6bf961ca13d4cb0b4486417877b45b63b0ab3b11227303403c99289b756f0641719c261d031beec56a7548f4688878f40868ce3a0f227f035780da0781a715308bd153f55d9b4748133021beb99019b61afa4662eb462fcf030d031e90a312121c29cfabfcc8d50a101f132f394a60a317f327facdc315c4ac0358fb9b7b69aed98a890ad1d2917c50a7bbca23fd62293e2bb4cf19713ad4bb8d03ba79af697a7d174d0b182249ec80d5f6e067ff4f90804bb3501c55294738421d034fa0bb07f56af2b297a819cea5ae5429321348dd8d61181d84eee883c56df42c0314c694225ca48bc6c644ae097b61fd2768ce69b20c15f81649ee8917d6f3b3c403d67f9fb764b8c7b9d89d61e188e39a142e09166af298dd266854d553cc324ca603361a945249525bcf5894fd3c6722403a520a6ebc0550d946a22f189b07f216c203721e0bbe7c77f117e381ebd9fa4dd669461e2f676d06becdbdbe7e05a1203e4503102bb3e5781e68f3d20019638a0f5c9b77fc07cdb2a7e3966a05b43e0c7b8f0f0305d1c11d0ec47291fecba3edb00c84f614e53c77bdebb23360291c82144c58480309ee4dba0d8e12fa9c411640fed941776e5406ff7a6387b68bc51dcfafa4501e036b39e45dd447a8be34dfabea673346853dbaf160722a02423678e9d358d0abc0034400c97f89b12ba1fd970b25cc8b424f4dd381a78771036d988a13f6f6c696bd038e291b7ce42e1340f425d23d3cb6036a3cc650fbb7d60d1e82981eb87fac576b03e5b8c787e7dabb492d6f77054e7fb49fde8e4dd1ef456d2bb3b86787a8d0f22f036d2fffabebf554180c9b01679118ac23b99edcd45c74a692ed5a76cfa5bcb1c803f3fdd67e44d8741987a2043c55a7c85585c558f5887860a7f7804e30b710c59e03bdd2ffb7411c3b5343cc68b4f59486b4c6dade7c2a15f360775327fcff4a1500039b8e92387928f13e9a2634c27406b1809ab28b80e7e9d264c63104ce60d409c90301176c93914ec3f505a8117cfb634055c93d6b38162500301361be8c75888a5803a0042c44ca95ad2ea3d35c6328c89429569c133d98895b0e0da5c6b8920b751903b09db93d78fc14a565aa6404f27cb4c69073ea29ddcad94d401eff15fe07a4ee03f81f7b9faf7b9e198d7902be0151b758f020edc75b6097cec20e2cb6879865c205581e03667d0f45bb6a7cc2877a1b1dbfdbf2718fea29e6bb1fc4a312e0a585600c054701ce322e77cb0005581e03bfc2d735ffce4371cc2e2681a06c3c72690c219e9de314765ba257f800040105581e037e751cae2d3781e55205c1bc53bd83ee171c200e99ae9696b085041ed00c0d4802259c9ec7285e8505581e034fab886d0c0449d76a0479dc6fe10eccf84bc94e57a3759f5b488c55400c0147b3087e71d6a00003389032124ea29b08f178a2f96feefa156bad89c2b95c9c58b38724b0265ecad405581e03300ecb9d5757c10a502b52a020e3edb09dbc508c773eebe3d3c09c98500c03464243673bdef803bc103abb09503965d3ad44c79cbbad3ef21e1cf0c46984c98cd80ec0034ff1210355029e4b88ec2041772963572af4005ca631016a0c3fc13ee89ca6393f5ba73b05581e039414b73fb7fe6e1b5884c6cdd528f899c0431e9600db35a7dd2d44d06007011bffffffffffffffff038bac75fc7e3b3eb19772958b1888d5d4c2e9b7429235fa3b61f74108e3700af3036b250b27b538e5863a92aa3e769935dfadda4fa82b6cc3567683ce2911e9729505581e03422bd2db7989be2212ddb1afb92c4ca7d263bc14f43f2b36377b6192e00c03476298274288a83805581e03195b9054b9fa768ee5fbfb4af941c1a0b2e0360806da44a3659f3901d00c0147323cc414c5e55805581e0317a5be3ae264faf7c69eee49bf376242c18e89c2fdc6d41335f53c9ce00c190355470b818a456bb0150219afe70303d9748c035dd08b89769926f2e58b650e54290d73665ae5a9a8c51e6a6800330329a0517bfebb8b99be94c1bcc597d24196fe710da5cd2c40c8971778f18d39fe0311bb899f2d38bb145a11377dadc618072ac50624e9a03b0a576ee91904e25eea0219ffff0366f5b76696401320cae4dfcff12e4eaa4de656f0b4154ffa964651ad735c056e0219ffff0319d610f78a5877cac90c859a0664ee32627d4e3e3afb8b36ce536388f1e90a3b0219ffff03c08814da227c0b675341e505daa0d89e9bb37ae927204422320080c23b35a7fe0362adeeb3ebb60d023fa739826b2194db9002f28aa8c50e0746d869fad943e9ec03da60843fff8e397702283c9df6cf28f1bbf633b9e6e27514a7fa44807958fd9c031951939f1134aa12cf6025e8793348ce1d20b8683fc804b981171aa0bc7c989903de9afe7a3196983319e325f0b4605d6e4d890363436af4c0ed214fe7030412b30372237ee3f4ee47415a293c6c744a51d982af3848e5c21a9b6e5c3ded9c299cb203cc9c05557b923d7d70f56d9501bcd404641c40196a7e4c6dd8b4181eb125daf9038a374fcccaa9a081a930a450a426d4269906cc42fad4e29a54491872ec3d120c0338e8a0d1c6ce57275abf5b75f1fc83a4a17d03147fd76ee9e7be73d5f3ee6c3d03c0df3bc662d9c8a21b86d0c28500a904ae4161534efa0b8610bcb6b95b79a31f03960e2e3130ce05e91a4766cd4bdbe3231238514f86829e4c77ffadee7294b9640301a5400000f38cdb038cba45c0e73c2fafb3c50b21dd11b78c62233b1c1e55600300a613f69686cbb9af86ed7627b3c900077106b83d089ed6eb6212c798db652203199145b1777cca840435f4bb62d8077c8139a236dd3d959219c3910d49d8df4a0325d2df3516410cc2041b48120ccd62c0d64911e2eef0295435f9641aac4921c2034a29a82db1b07d46cbf4671b5b8ceb3e8e370f1023bf68b068c6c2d73b1de43b03c5de8b83e47be710fbe267b8ef29021ee8799be17a29deed7a1759c8d3fe7d7f03bf9cd47f7196a21653a3c812a4243c8854ce0cd3827b1b6a47e73a99c75b370f03ef0091c725857eede6e80ae5e97698be0b04701c2b8e1564d4acff2a77875c7803f261da90179668fe58421f7d2fafe2b3e5878c12129715659e0dfc80758f715d0358c9b6481e84be500416d4b6ec31070af58985b14a4d5be34440a1093fd72a1a03c840b79be7170bb2eee49d91810197493c5433a7d8c37c03c20f740a2916908605581e03a1688bd7015923308dfd46c807c0ad7a9a7462b9d6e934b903a44d34500c014801603fe59989421e05581e03c2a2ad46097c6beb8a70165cc676ee73dbffd676af5d3f4a2ad2bfad300c034701fe64003ae4b805581e03933ea1f2bef750409b429e227faa0fb22990b754fe8299ccbec8b8c1400c04477ee1b2e04a073e0374068a648b72489cdd64bf919c88be380567168f546e9ced0d343501f9ac914e030dcfcd83b04f0899cc1c4d6ff65a170701d8a079e3f0760070c546e62e0722e605581e03bc6cf87f40fce1c6aa85a5d01c4e185f676b96bd716dbf0f34ce56ab7008470dc2a0aa01340005581e0373842cd70c7c997484bfb6a1b2ccf2d352fa0ae3f2d9fa095c523deb400c0346ba6b66e7cbb00219f025037746c7ba17f83bcb50a6e6cfcf3de5d4d2f1e89611c0b0b59ca66aab71fbf40b0326d2b7ce51ddc0eaff6a9fea6affc1f9f727291e087c6ec15ff41559d867c8cb030a94f338c8c38572b2e8c1f6d93756e0a56b49422b134e4b2dfb089d5ef883400395c15dd2f6ca64cd8ccd0a31717938ceda76ad79f6c381f64e89120c781851a90314ea3348c1bf98745610d834711c3d86f4a76cea667dcdc20f472d9ed01dfe6303d09d61d322ab286cb3438c67eb02748b785dc2315625d1fc74afb29b407c13a003155bea19bd155c2fc414c4d5e48a2de5723372c90dd05a548c026b10d7d70d03030c08f7645e4bd677e6eae1499d8eff00c820b1c57629e9a5c700ad1aad27cf42036117421d2e57fa96893700b1770762ed77fe8bb9ebd7e88ca6f49de648c8acfd038d64b032716fbeea03b0674baa94c7e79ba2b32dcea94d1e4a40cf47313d5ee80219ffff038e353071b00ecf9e9d2f306d342762cbc358158723d8777efe2166c8864a615403ce8f71c4eb162c08a96f04c05f1d9a44445c6c588e7d61098edcb045104b087d03941e72a7f28a4476064551893c4ba83f520346708066b464c2b114a770b85f0503df1438964dc6fad98d6a140da3349371995e4aaa4e0ef2dc071ab0bda351bc220397a9b35fd18df5edfd310c64c5bac6bf0c33f880b6c7c2152441d98d6984f8480219ffff039c5286504044dd0ef5f13a4fc11c0aba3f01cac3d61f34e49b360db5dfbcae4403687743c8dbc43a82eb13021511a56675947a1b051193b3a4ba139d1b9ba1fc0c03265f53914c3f5b6b3c8499e757481e033d30b8594f067050507305b58c4afe0303435c3edd28525848b4f8fe502e1344b680ccb17625f97615e6abf6720f5394d2032a153a696a7aaf9067dab648561bec90bcac61020de63622e27e197710f4d0540321514ea0a2b04c0ce05adddd845c939222852c1bd8a69903644419a45f241135038c9a594cdfa00d08ff5179cc52df484fcbb86f1268dfe201a04ed82c66f34b5e038a1cd81a78e92dd05d30fd7de2bbcb088210c5231f0542f1477ab1f1aa2d0e5f03274cf7b067b166c6b7371ceb4aed596464d52a2aa07e8a3bf9c8ec416b3858de03f5703e1fd6b48206bf11a19bf66c1c91085368dde490024571ca44c5390a79d403dc0887cc2feb7a5dc1013b5daaa45b6a2950e716aa9c5e165467645892b2a3b503b231d4e649ba9edee79e40f5b5045abad8ebcec9428fefa1b83b1377393481c5035bfecacef4aab74762a36ced1db9a288573366bf34cc2a32c4cfa33a52534abd034e106936ff1bbda6d8a3fd20216d118a57b9d17b4b427e09e3d30d8549280fd303574527d35966fd86d35b12edf76f24ac4c0da40fc3a26b774cbeea416a63bba50219ffff03c7a81035e4a696903336163abf592589bf9f873fe1d0fea14d2841eca52e47c303438d9e7225e32f4a578856f2e5698c2f80092eef1a60a87c1737d82cb9accba6038e14d5276b84f84f006950a6faa52c8a8f83a854fcbab9726ddbb6bfb84af26103026af2e25ebc2dc75455a27e56ef08d35c2c1cc99f49c72c12c60b46e86c2dcf03453ed7a4fb7e8ff77d3b3f3e46e520da311cb300dcbc8f92d2e4a50983a7e61a03e84dfd835afff2195b55e97af132a1aad80f5147feccc5d0ff9e9641ce461a2c03b8f0ca62d7a342e365a4a24bf99fcb06d99dc18ffd7ca50021537ce3fd0b2ae4035f85ca1692a7c3c0a9dbc83cccf37d933b825b95abf8fcd9a0c1dad542cf274003c289e815832de7455ea3c81b9f3e718ef1e7afe734514cedf13978cde224e12c0388213123981c2860d9f7f4ff861a9dc69cde332d47a209947ec8f4a46100c0060310a754537b58e679c78500d1592d911bd9e2771fa7abc8be95031825907d421b03d17aaa49c96b5130f459559e227ddfde94b4795ef94cb17b59fd7f62fd0f8f0f032a39a58ba4416f0e85af0a938f8ec14e6db07e91aa0ce34a599360b325a252db03aa6f239b536eacf53863f332e1e1d24efe2818f2cc08d2efd2d023d82ec987b703a69f2f9012c9993e33fe2d8146d64c40923541f56eb5a29456eb932a9a37338b03a75dbc16096df3dc58289a17da41e573b764ad223d576629a639930270b5744203f868925383b9b5a78739303903d62df4f5355e08e57a637f5106dcf6d0601059039512b68a012a077c1f614ceb051ba30975d62513f80aeb6e24f13af8bf98e58403194a1f07aa8005fefc2256341839ec59ce60b77e592ecdc49184c221c1fcb64003e09e54ebac51956233e492436b113e94e0ac3e7c4cce949eff395efaceefae6e0302b6a139d09423a337707d2b709851fb0047fe1c801881ced0f20b4a709dc18803e165b79b7e4e40fe404058ef936b82492a31517059197b0a915bef62560709cf03ad23018837ec770603624863ee42e793c7a191f84ef7b33c884d9479c1136f6303e2ffb336a3ab56faed33938fe1a3f9eca2917f73d1fdf89e36bbc6fb471d4d6703c81f1e478d449c3211233429d5784ce41f31ab7d867e3366051d6ba965f662ee032f96a166e8e309a4a21300f5122272a5825a1a855861d488279f54005810ab46033407c08ee465188221f4684904fc883b0dfeb5725ff2dac1a026d794bd993a20031eca6726aa6ca9541fa860da58d0a596dfa2f47000e8d47a5ae683c294ed3ee203d38a4174e0517231c904dca5075996398132b52750bbace66cf54a5cbe507c5f03e9d57166e2116f75e27a4d971b688e7d62bdc7279738ebf7195f46785f81bd2503056c8318e249dc7332380850a3b93d8f3fba8dfc2bb4f1c02184132a020ed6c005581e0344b6321d10b6aaae3415ab8b4943d8f3f0a02c8827d4141e08c0f18240040305581e0377e67c1cf1c87a7b77f951930a298e681d1ecf20cd674fa05aee09a1c00c0346369892c2c1b005581e035426413b416ee23b64979b4eb065140edccaf8eac32c7afceeb4ec72e0040203dadb2f2758fba2879e0bec30e12d9cdbaf2bfe2040f4ebf9c679e84b174fa6de03ab6749d8d11b0d8dab5dd73ef205e102ac983fca88ee03e460173501b952e12705581e0386ebb9d7d423cd14ea46a3cafd174d3813bc5b445c4c0a50c2e9a43bc00c08465c862743e8d80313facd7632e3d89e52ae75e1fd20a9162c1a56aec1f8fd0eaccf746113a92dd905581d02b19380b8c9c8db0a234d94befa4f912982eeddf7f0f3b439231790210c05471fc54dba388028030342e4b3d2ee7cef6b38af3d90029b5b51d3ce04d926235cdbb48539c1dab080038c7e629f85618a9920f3fdd67600b16f80e097faf089f666395582142a424fc605581d022efdeb6e65b7e9f662c673e0789529349cebadab99023253633260b40f0147296efb61b168001bffffffffffffffff02184105581e03c3b439e02a1500ca8ef105f4d9b323ae9fccd6ca37ccbf8f3bcd97dcd0040505581e032f2d2c25608851f412f5232861d3df5d8630e63af75afc4dbc9b8a9fd00c024705c504f71d800005581e03f18f397abe03944f8cec3c75364529dd9d106ded96e661433b3154ad800847071afd498d000005581e031eb0b0b79fed0f9be28249697e6b3c7cc2753447772c21540799a04bb0040f05581e030d9188fab2738fb95f487be714a26ffde0f837634ceed61db4219d64400c0247029c7a85e8f0000219ff3b031df9b94b2f39d25e1616672e415a6a27a1c1140cc8b757b4164b76d82b538a9f039c9db1dbdf03b86ffa737e2350c174b90273b89430b8e2192c6d2b4124e2798903f013ec785b29787c01cc5732a71b06a599d5628cc0d4bd2aa076bf91654898930361127abb58b8644f9718d6e8f04462a991508774c5055a9d34fedb7f219a658c0374db6767395412f062456e2ceb60f89ac4ff0141744ab27cead69362bbb1e81203f709de7b79c3b619f0f8898a50c0b63b369309624774b753b0017770f9443adc0219ffff03b805a2f59e31ec0d1b7418360a36e6d6079dfcf2e27b14d25e52f6a441a9c6150337d65150118bb7620f6fc8389a921dd66c1011dfc6e4050dda6e757be8ad10780384371a18b90c671f05acd5fbfbd4be386b165aff961f45297eee4ecea1857b6c03a1325512befabffba2c3d4d2aa9eaa2712de6232f86ef2c4548c546eed394132030077a4158e2ac7812a62ee883fa4451411f4a6ab98b9ffa6b2cdc2bb3eedb5db0219ffff031361f8a828613c10b17fe9ca0aa9379a31958cca0e62b27dd1f0b184fbe578ee03ed0f2dbb181aaa9bfc03d987bc9f0ffb4650fed5932f31eb3ba75cc3c097df0703206dc19e9f29a636aeae2b8a676c975dd2c5f2fe3e90d90e4c00af771bac235d0219ffff039f2f47fe7bcc9ba3c71bcaa5eb22330c477b5a23f30626f55d189d0af839de00039a040c4a6e7ae385465f078c8e32cbf6a351c06bf49e75970daaa9a0604cab85035ff7642ea879c4c128f26d49d8afba65ab7bc16bffdcf0bba263dc98e72a3bd003f1ec7db4ecb90ac97768d955b1ef44e06bfd40a285a57e9dfaa9f9f43fea09c80392caa1f24994cce645fd0d8fd896ae993a55a7ca2673ec4767d1400c5bd95509037ef74c270c0a77f918c1065961d6e32201c4d944d3a26800bbbe1d452216bfd60399b048882883a0862544160a0e15a805d38b51cf1c3db48bd8642a2878d2eea90388bd8c4e02ff095692a841e94e36e14dcd3f078a4ec5b4985cd974cdba3a1c9903b875662d5241f1c8e3e02e73b393b5b0377400d1b878b991d8b174ce62943546030f738a02c7fb1194fb26033ca14ba535d063f5083b8fb60af0a229b26769dd530358980f7f3a6aedf1bd0d4a584b7067140edee877e6cc894404324d05665937c6038637ae0af27df3d3a4e9e6212eaafc026474b83d823e4c99830be15ac102b790039da7a13569b26c3252d6c25229d6abf49e6182164a1ad616ef3f9a2573f57eef034faba2658211d08aaaf7ae3f50fd230f57844ca3525c8357dc8dfd3bf7005fea037141651a267e8ca566341a329b9a99428aa8d6dfabb20c1a3c159646235843a903ff620ee6126d8ed15e8b89fb64fc5f500301bd103e41c506874da3e9fe65160f033939522b2aa52bc85836f42a54f9fa8ad693aa6ce06472f98f0b4ce1ba82f1a303c6f0fb2ea5a60c0665dc4707df515371128a29b5b4358c656eaf9330a90fdd19031bcd5a096a9bbad22abe5bb99cef4f84c2643f6307726a79f29e2a05c6198081034f0156b961b997b081c918e375815eaa8514486fde96d1509d496fa1290553a9038dd025160cf38d6551d272d76ba3745be6915609efdbf08f8b30ebacc57d432f034e9d08e7d139cbbc5bcc642416ecd4ecf5ee3a21fcccbe6059c8808dba6c491a034763672dc343ae997ebd386de638a27b1b523b0b59468ed7000b03ec9618911f03e62ec2c5799f216c854f04e3824a1b4e055308dd395a4f40db7300b3e29849ef034092c8a5fb6487e931a5679ab058788c99bdb84fb49fdbf8cd5dc131e8a2f19f031fc09808178a80141b792a6263da8ec0525c369c31052f23dbf390b8b60fa2b105581e03773a9be9767526097e825be27bf718792b02ce2cbef4ed58b84ec10cc0031bffffffffffffffff03259f1577a03137eff15ee55b2e512f20d102c68de99f76d13fb64a9e841aa1d90369cfa1689af134916d2de7cfce49ddb0f10a95a86693609dd6c19614f3e506a803a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03ec3fd825fb28374f196fe27a83357e41e9bfbfaea7be0ea67291ca33a007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0372842efee2939ffaa7aef72fae83c7336cf1c5ab190a2a58e8f1b17d9007011bffffffffffffffff05581e039d6894d40617beffd8cdb78211f2cb673c27e5d6df2b837dc34c410a50040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0371fee78d7ee4d78773b86bae61c89492bc80c3ce2fa2e2ea780dbc9af007011bffffffffffffffff03d10ec96bd824042aa5ded71bfa00ea2929d5ced42970ecad0e90f27d766b834e05581e03009af7de254c6a2d57dee3a27a9438f5138edce2c64247c27648a027d00c0347d1254fb913d58004590f5b6080604052600436106100c55760003560e01c806370a082311161007f57806395d89b411161005957806395d89b411461023c578063a9059cbb1461026a578063d5ba16481461028a578063dd62ed3e146102aa57600080fd5b806370a08231146101bd578063715018a6146101f35780638da5cb5b1461020a57600080fd5b80624038e3146100d157806306fdde0314610107578063095ea7b31461013e57806318160ddd1461015e57806323b872dd14610181578063313ce567146101a157600080fd5b366100cc57005b600080fd5b3480156100dd57600080fd5b506007546100f290600160a01b900460ff1681565b60405190151581526020015b60405180910390f35b34801561011357600080fd5b506040805180820190915260058152644d6f6e6b6560d81b60208201525b6040516100fe9190610c56565b34801561014a57600080fd5b506100f2610159366004610cc0565b6102f0565b34801561016a57600080fd5b50610173610307565b6040519081526020016100fe565b34801561018d57600080fd5b506100f261019c366004610cea565b610328565b3480156101ad57600080fd5b50604051600981526020016100fe565b3480156101c957600080fd5b506101736101d8366004610d26565b6001600160a01b031660009081526001602052604090205490565b3480156101ff57600080fd5b50610208610391565b005b34801561021657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016100fe565b34801561024857600080fd5b506040805180820190915260058152644d4f4e4b4560d81b6020820152610131565b34801561027657600080fd5b506100f2610285366004610cc0565b61043a565b34801561029657600080fd5b50600754610224906001600160a01b031681565b3480156102b657600080fd5b506101736102c5366004610d41565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006102fd338484610447565b5060015b92915050565b60006103156009600a610e6e565b6103239063041cdb40610e7d565b905090565b600061033584848461056b565b610387843361038285604051806060016040528060288152602001610efe602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610a6c565b610447565b5060019392505050565b6000546001600160a01b031633146103f05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006102fd33848461056b565b6001600160a01b0383166104a95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103e7565b6001600160a01b03821661050a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103e7565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166105cf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103e7565b6001600160a01b0382166106315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103e7565b600081116106935760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103e7565b600080546001600160a01b038581169116148015906106c057506000546001600160a01b03848116911614155b156108d0576001600160a01b03841660009081526003602052604090205460ff1615801561070757506001600160a01b03831660009081526003602052604090205460ff16155b156108c857600754600160a01b900460ff1615801561073357506005546001600160a01b038481169116145b1561075a57600780546001600160a81b0319166001600160a01b03861617600160a01b1790555b600754600160a01b900460ff161561085b5760075460009081906001600160a01b039081169087160361078b575060015b3060009081526004602052604090205460ff161515816107cb57806107b15760006107ce565b6107c660016107c08782610aa6565b90610b2f565b6107ce565b60005b6001600160a01b0388166000908152600160205260409020549093506107f49086610b71565b6001600160a01b03881660009081526001602052604090205561083961081a8685610b71565b6001600160a01b03881660009081526001602052604090205490610bb3565b6001600160a01b038716600090815260016020526040902055506108c3915050565b600754600160a01b900460ff166108c35760405162461bcd60e51b815260206004820152602660248201527f45524332303a2050616972206e6f74206372656174656420666f722074686973604482015265103a37b5b2b760d11b60648201526084016103e7565b6108d4565b5060016108d4565b5060015b8015610a19576000806108ef6000546001600160a01b031690565b6001600160a01b0316856001600160a01b03161415801561092857506001600160a01b03851660009081526003602052604090205460ff165b801561094157506007546001600160a01b038781169116145b156109895730600090815260046020526040902054600192506109679060ff1683610e9c565b306000908152600460205260409020805460ff191660ff929092169190911790555b61099282610c12565b6001600160a01b0387166000908152600160205260409020549091506109b89085610b71565b6001600160a01b0387166000908152600160205260409020556109fd6109de8583610bb3565b6001600160a01b03871660009081526001602052604090205490610bb3565b6001600160a01b03861660009081526001602052604090205550505b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a5e91815260200190565b60405180910390a350505050565b60008184841115610a905760405162461bcd60e51b81526004016103e79190610c56565b506000610a9d8486610eb5565b95945050505050565b600082600003610ab857506000610301565b6000610ac48385610e7d565b905082610ad18583610ec8565b14610b285760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103e7565b9392505050565b6000610b2883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610c28565b6000610b2883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a6c565b600080610bc08385610eea565b905083811015610b285760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103e7565b600081610c20576000610301565b505060065490565b60008183610c495760405162461bcd60e51b81526004016103e79190610c56565b506000610a9d8486610ec8565b600060208083528351808285015260005b81811015610c8357858101830151858201604001528201610c67565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610cbb57600080fd5b919050565b60008060408385031215610cd357600080fd5b610cdc83610ca4565b946020939093013593505050565b600080600060608486031215610cff57600080fd5b610d0884610ca4565b9250610d1660208501610ca4565b9150604084013590509250925092565b600060208284031215610d3857600080fd5b610b2882610ca4565b60008060408385031215610d5457600080fd5b610d5d83610ca4565b9150610d6b60208401610ca4565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610dc5578160001904821115610dab57610dab610d74565b80851615610db857918102915b93841c9390800290610d8f565b509250929050565b600082610ddc57506001610301565b81610de957506000610301565b8160018114610dff5760028114610e0957610e25565b6001915050610301565b60ff841115610e1a57610e1a610d74565b50506001821b610301565b5060208310610133831016604e8410600b8410161715610e48575081810a610301565b610e528383610d8a565b8060001904821115610e6657610e66610d74565b029392505050565b6000610b2860ff841683610dcd565b6000816000190483118215151615610e9757610e97610d74565b500290565b60ff818116838216019081111561030157610301610d74565b8181038181111561030157610301610d74565b600082610ee557634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561030157610301610d7456fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220311540535f50d450a3000be044337d5f821493fd0b11f257e9fde1b0e012d72164736f6c634300081000330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00546ce8ac745c5607f9511421816218a0509a1741790058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054c19d89537c287986ce689e4596a14cb6509ddd8a00582103b8c29ca3a59c7c5fa8e0cd7d9d62eeca9511eaa799ca978203d4c87b814e21e047079fee14fcdecc0058210370543c84582c6cd12daa7ecd4a78d418c88b82abe16e461e0406482f2fb1f9f04718729081300d2c005821034cb17cbcafff355fd16e22bb3ebfc551727f20353f6f5186018bd246b01a01e04701f997e0dd52150328171dcc947b20914ae239668904f40053d83a282372bb8f56a5f9f3aed643b101410800582103435bb1fe251ab2cf0ead8b1e177b07d53d9df6a7d87109de8a016483b8b0ba0047020ecd6687f5310058200266a37ba1d32a700962d31da7f53b1cd4a08bb9e5f2846a09e002966b9e3f594101005820025015f4842bc517f6e2a93d4dffe68390f71ecb7d78444c07bf2e39d12e0cc047c3767ed376a6ce005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6885501357ee5ead0c0b3c709865b705aeab1e3aff9365b021870005821030b0c5f3f8c250d4cfc1c1b9667cc951e9a31b6f2ce03d9a73ac0abda9d7e01d04703306010757beb03f2de41819938dcfea4006a02810231ab54969ea1cfa5326533891dea2447ea6602198df505581e03ff20c1e1cf78dc751814d7016d567eb7ae1c8f276e4dfef31815e3f2e00701190f5b05581e0379655f93215bc4d041063ce2fd741309422b574277f1ac33951ddca550040102199deb0325649c8c98b54e657052e65b4c82c5e1473dc93e36b9e4cfa9df3e9c4a503b7e038831882a18ad63e865f53d50ae6f3c2fc2cc2c4cd143a0cde1d5d86e9b71655a03c0c107e73bb5f8cd48060b6fe1c39d4c3ee4be3d9bb107f83cec418f11deae6a03f2ab306cbe8d0629fe402083f60de8b9b2952e4a93bdf237370d3467bc843879030a0529098336036cabbc0f34a37bfef31c0e65ca7df2da5f86385044b8f559050219ffff03e232762577bf09aea15ad505ba75862c283fde93faf559f7cac3453ba931c2ab03578d321b2d2afb3f80dc9fb6f5d6f28965843d4ff3fa4b5ba67ade9240c3fb190398a8dc5e3b6d754b19e8790afe6d8e442bd90ab0370099f0d0c597bb310fd1750219ffff0349ac6286254cfc60362738ba5131f9ad52cc6f0adbdbb4f3094f9f2111a8da89039cb8ef54bd2d0ec2bc2170239e3d0cac3a749d82b1760f4f3f7618803892889d037835b80e0553f6debea707f8217f2b9a255c07f3da25a66d7f3c89934e2d8480030f51008e6951c9b289ad92b75a5e9a71e0c60aab70edddcba07886041361bcf703e9ca07f2bd5ebf10efac47a84b6d66c35f929bfd6aa2c7568daa209d523a2293031068c8de2c2dd8040da1324b423445723d43a89f322c7dfd6ef967c58d87efab03a12b817c32325f26740925b7c702f7bea70e48bb06def37f32e8b0b4c0e005b80309ee3aae890984b0a9ec40b0403415ed95e87355ab2aba7a2a557577daf227fb032196250886b1c52a1e8792f3329f5c76f4754dee6e681a28565a8c7887111bbc0362ff7c5f1c950ebbd9fe8538a23ba6fb7dffb3a9f01904f53598e9d4ad326e33035d35db60163dda4bf628dbdfdc10b0e5873e47d88a7f48e976dde9e2419a339e0386285d5cce9cf101a669f5046b5079af02c0d7cc9314367ef648e819e9c71cfb034c1b6d632dfac74befc56f6a95b6918b96cf4551003df4a5d1f08f77bb1e6df10219ffff0349d1aa86da80d8cb2aadbc2ac944e9eebf61a9fed292e8b229e403749437972503616d1b363eb0ab6028379ebfaf089ba573c741b2f1cd70447a3a90f1ef36276b03c42d164ceb19121a35df4406728c58923cd161c2cad6d13713c10a75f4f8b1900322802333cb6e70ecb73bef17f2fb95ebd8f9737f3b6cf05e1c2d2cb8712de2f7030e4316755e2abc87d0adf56784180dc82debf5217f9a8eb424e7c800c19ee55c0219ffff03a5a12537189ed62757f06793e993bfb7259de429554acc855d1f430de16cd139034ef049a6aa500a542756e108ca3fe738c25e9afa840a09c90448df6d56b8366103cd9dd9d0abc7cd6d12bdc0e375c111950215f556897d94425f309a55235a42410366c6085134c567b71328128c94d1aaae1000bb2c144502488a539477d33facf7030f17686bb8f8d3ece874bce930bf5fd0b3915c584bc484de828e4d2bc2ebf17f03cc2740597ef15c778d449f7952ee5c7a9c76a8d85f57ea88f233a61a71a2574e03cad35523018247c743dcc9a2e0209b7b7174902fe21819131f0281768e1cfe88032988c48bba9fffacb0411a38585e4e220f4bcbda9dce63341c64823a8b932d7d035e6b379ef049c9303444e82a4ddc4550e736c6e393bbc96cc12ba6daa8009a8c03bb1df3c200e57821b89057c0e086c5523300eadbcf58dae2d666bb30d00b5f9203d2919e59f82bfc615f816b0ff1b7c26faf4bafe55b2cea975055aa52a39b428703415b1cb10818333c46bf493279aa6e0ee6d26ffec0d683016298794441fc230703cab9e55a966a82dde098897b82d31c201d0841d1ec2c216a18e5614bc59959670392274868d3093b26eedefbc28534caf168277a2fd2ca5bbb8b3230e3263af637033cbca7dc741599de58f45365210d24dcacee3672691ff55070683d6d82868eca036df938c8bdc78c273a3d6268a2adf994a71c5314faf2d09bed87ade38eda5c8703c08a435a518576b020d513225dd01fa62dbdd880b2a603e3637a8ee38ea47ce103c0a8551ee7b0c5ba2be4e30016c80bdd255fc810c66b7c0644203197a2c77462035ddb4990fc755ebc3027bce061e8f126f1c287ab77a52e2d476d30495d7baa4d03443cb64f4af43b692ed612266f6105fd1e1b5578d833dae75ac66f66c7c8260f03a19dc6869747c2bf036328e09b16fed180c763111d200fb11c6f117c38e52bb70372fae32cd26d19d33bb02e8a7009866f966e57deb0657a14986dcedb55bbe90b03ee01befeffee9831146fecdcfc2007163c361d8f966535780f37730bf414843703750ab87256584a502887a5d64ecc5d25ab0df4420ba960e60307fa20f4d01a19037c12cdad472bf1834fc2e1bf28e7d618b5e0b8715770c507e018c5b92d6e665b03094273130bb420e7168c3cd17e15156f040f4744d4fe1ae2a84f3687564630990369986439c205ff7aaa080c3c7ec26a6d4d0fadf57dd97c258722f62568d7645403447adc2ccd4cfb879117f67626714cb892a666a205990056b9f0473756c80a4505581e03d9467383d054755211c85f61ed2bcf85e44899e97252cbc4e1fff03900040105581d03d53395800c1c834ee16c4e2ce5871a878752bc8d8e3a72a144d44910040404591d8f608060405234801561001057600080fd5b50600436106101a35760003560e01c806379ba5097116100ee578063a457c2d711610097578063dd62ed3e11610071578063dd62ed3e1461038b578063e30c3978146103d1578063f2fde38b146103ef578063fca3b5aa1461040257600080fd5b8063a457c2d714610352578063a9059cbb14610365578063d505accf1461037857600080fd5b806384b0196e116100c857806384b0196e146103115780638da5cb5b1461032c57806395d89b411461034a57600080fd5b806379ba5097146102e357806379cc6790146102eb5780637ecebe00146102fe57600080fd5b80633644e5151161015057806342966c681161012a57806342966c681461029257806370a08231146102a5578063715018a6146102db57600080fd5b80633644e51514610262578063395093511461026a57806340c10f191461027d57600080fd5b806318160ddd1161018157806318160ddd1461022e57806323b872dd14610240578063313ce5671461025357600080fd5b806306fdde03146101a857806307546172146101c6578063095ea7b31461020b575b600080fd5b6101b0610415565b6040516101bd9190611a61565b60405180910390f35b600b546101e69073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bd565b61021e610219366004611aa4565b6104a7565b60405190151581526020016101bd565b6004545b6040519081526020016101bd565b61021e61024e366004611ace565b6104c1565b604051601281526020016101bd565b6102326104e5565b61021e610278366004611aa4565b6104f4565b61029061028b366004611aa4565b610540565b005b6102906102a0366004611b0a565b61059f565b6102326102b3366004611b23565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b6102906105ac565b6102906105e6565b6102906102f9366004611aa4565b61069d565b61023261030c366004611b23565b6106b2565b6103196106dd565b6040516101bd9796959493929190611b3e565b60005473ffffffffffffffffffffffffffffffffffffffff166101e6565b6101b0610782565b61021e610360366004611aa4565b610791565b61021e610373366004611aa4565b610862565b610290610386366004611bfd565b610870565b610232610399366004611c70565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260036020908152604080832093909416825291909152205490565b60015473ffffffffffffffffffffffffffffffffffffffff166101e6565b6102906103fd366004611b23565b610a2f565b610290610410366004611b23565b610adf565b60606005805461042490611ca3565b80601f016020809104026020016040519081016040528092919081815260200182805461045090611ca3565b801561049d5780601f106104725761010080835404028352916020019161049d565b820191906000526020600020905b81548152906001019060200180831161048057829003601f168201915b5050505050905090565b6000336104b5818585610b76565b60019150505b92915050565b6000336104cf858285610d2a565b6104da858585610e01565b506001949350505050565b60006104ef611077565b905090565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104b5908290869061053b908790611cf0565b610b76565b600b5473ffffffffffffffffffffffffffffffffffffffff163314610591576040517f9cdc2ed500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61059b82826111af565b5050565b6105a933826112a4565b50565b6105b4611462565b6040517f185b73b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600154339073ffffffffffffffffffffffffffffffffffffffff168114610694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6105a9816114e5565b6106a8823383610d2a565b61059b82826112a4565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600960205260408120546104bb565b6000606080828080836107117f55534465000000000000000000000000000000000000000000000000000000046007611516565b61073c7f31000000000000000000000000000000000000000000000000000000000000016008611516565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606006805461042490611ca3565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161068b565b6104da8286868403610b76565b6000336104b5818585610e01565b834211156108da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161068b565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886109098c6115c1565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610971826115f6565b905060006109818287878761163e565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161068b565b610a238a8a8a610b76565b50505050505050505050565b610a37611462565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155610a9a60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b610ae7611462565b600b5460405173ffffffffffffffffffffffffffffffffffffffff918216918316907f1cf2de25c5bf439ac0287061c3a0fa69b3b02867d0ccfd2ded34e42577050b7390600090a3600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff8316610c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161068b565b73ffffffffffffffffffffffffffffffffffffffff8216610cbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161068b565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600360209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610dfb5781811015610dee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161068b565b610dfb8484848403610b76565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ea4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161068b565b73ffffffffffffffffffffffffffffffffffffffff8216610f47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161068b565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602052604090205481811015610ffd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161068b565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526002602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061106a9086815260200190565b60405180910390a3610dfb565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b3161480156110dd57507f000000000000000000000000000000000000000000000000000000000000000146145b1561110757507f74fbd8ad78eb7732edc209f83d2dc23f7472a05cdbfd5dfc0f210dad2f967cb390565b6104ef604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f01c5070cf4f26b1dca38a8754c64483958f5dd08799ad2d72067b3ff2985b82c918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff821661122c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161068b565b806004600082825461123e9190611cf0565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600260209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161068b565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054818110156113fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161068b565b73ffffffffffffffffffffffffffffffffffffffff831660008181526002602090815260408083208686039055600480548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610d1d565b60005473ffffffffffffffffffffffffffffffffffffffff1633146114e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161068b565b565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556105a981611666565b606060ff831461153057611529836116db565b90506104bb565b81805461153c90611ca3565b80601f016020809104026020016040519081016040528092919081815260200182805461156890611ca3565b80156115b55780601f1061158a576101008083540402835291602001916115b5565b820191906000526020600020905b81548152906001019060200180831161159857829003601f168201915b505050505090506104bb565b73ffffffffffffffffffffffffffffffffffffffff811660009081526009602052604090208054600181018255905b50919050565b60006104bb611603611077565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600061164f8787878761171a565b9150915061165c81611809565b5095945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006116e8836119bc565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156117515750600090506003611800565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156117a5573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166117f957600060019250925050611800565b9150600090505b94509492505050565b600081600481111561181d5761181d611d2a565b036118255750565b600181600481111561183957611839611d2a565b036118a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161068b565b60028160048111156118b4576118b4611d2a565b0361191b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161068b565b600381600481111561192f5761192f611d2a565b036105a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161068b565b600060ff8216601f8111156104bb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b81811015611a2357602081850181015186830182015201611a07565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000611a7460208301846119fd565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611a9f57600080fd5b919050565b60008060408385031215611ab757600080fd5b611ac083611a7b565b946020939093013593505050565b600080600060608486031215611ae357600080fd5b611aec84611a7b565b9250611afa60208501611a7b565b9150604084013590509250925092565b600060208284031215611b1c57600080fd5b5035919050565b600060208284031215611b3557600080fd5b611a7482611a7b565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e081840152611b7a60e084018a6119fd565b8381036040850152611b8c818a6119fd565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015611beb57835183529284019291840191600101611bcf565b50909c9b505050505050505050505050565b600080600080600080600060e0888a031215611c1857600080fd5b611c2188611a7b565b9650611c2f60208901611a7b565b95506040880135945060608801359350608088013560ff81168114611c5357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611c8357600080fd5b611c8c83611a7b565b9150611c9a60208401611a7b565b90509250929050565b600181811c90821680611cb757607f821691505b6020821081036115f0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b808201808211156104bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220afa44d852ecaed4dfafcf5ea763e88ad6cd0b21c77b25987ad5227b426c30fce64736f6c6343000813003303b03c9d72225869eae74e2ee6f3d9c2344e55ba013dd75eaab7c6448036f9f17d0322d3cef57339578d69245c2ecec29a9090ec2224aec52afc681f28dfa3d9956303ddf1d3595f748492621f40002b205e0da4ef411b0d0b46172c4f81901ec48df003028cf5b0073cfc9551738770f3f297f09f6ce717d170846cbbb20a5fa31b26840330a0e762171907c7f3d35b2c0a5bf94d80217e8755548d5220400d7c0be12f82030d4f0eb76b565454387c259c9b2bf0fcf57803c82b892413eadc222c7792111903dc67727dbf94d2bc26d0c96892394b3ba0ada6a9f0e9e213aff240c60299eca9005820038a6d4d3118e28f538cf8a279a3a80e16a134a32d512f08e7206531780692d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ad7eaf1ea027e9da49eabedc8310bbc384a9b3e8ed7bfdc7a920a2f2c164005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ecc1d49ddf284d11f972ff73171876a05e2b4f50ad13b6afe411d5a7f5f8004906c142c2f154a76ae7005820033d46b04fc41794f7504477603bfe6a7d5bf9e808cea9e9da0abae1e009d7005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030b8aeb4fb23b52fb8147ca7e3ed6893a9bb8ba2f9a6f17939a92129def09d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c2a022b9e8be765dda8b122a6fe3ed6523fbbd0aed06e234d9d7b24fc47d80490124329b7916435fb3005820039e314245c8b9d88f13e30175d95654242b100bc5fa9161be68825b5c414e605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0388a3981c5bdc612d7cc99f6ce689cc68c6317689680fe77235851d47c9a86bb500581f023728d9889aa3a9f4006193b9ebaf49e11d42a58067372fdc4203cd7e4d37490565ea24c52317de5d00581f02b9044ed953d7fc905c351998d6d70e816cdab924b39b9a5201af10fa707c490102a6daf73cc1241000581f02586783e3c325241f1c32664cea3f22eece7f50d757d8d4813eee46fc50d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c7d05f935d2c39be98566f03c09708f7674c36b75fc32264f9f404d33cda49022582f31773ba8bc7021912500219fee603373829ddc1330bf06ee7939a98ba33970757f4bd103915e8b10d37bbc2fcfd9803761b00df880bd3f2efa803b10c5ce2314af49c1baefca0652dd5b33c777547640364c567739bc488b2149a8f91d30c3879bc04c13d7f79ccf0696ffc0910418b3303c784edb3319f0af114ffc35de80f48fdb89c7c093bee1fbc2ac5db14d38c3b1c035d73836c6a9183d1a90b194b088121f978dd4a21f6a25e03cfe95da2d4b8b50f00582003e4cb9c17a5b7a6935f8dcf48954a878cf84dea06cf3869210ac134e7c2a7404910361382b22d455b50005820030584ba995bbe84c9dbb7a46eafe1af2e4733d7bb23f40c9e819463b97fda30493635c9adc5dea00000005820030ce9c886bef3dcd80897dc5213db6d3ab69bc00706ccc8ef79041c0fd8952048a3b83cf44b08b1ba0058200348313bc9f798b768d869dbefaf85ed5a55d8e62fcca74e10ad4854634501c04898ed149012a47a9600582003d5958930842e11abf7034154dd2e35d9c6503f0adde5515a1f36f9945d4d605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820034692e90564d80c5a54a77337fd2256a6f6d6b0908cfbdfbe0c65d379d4a9a0481e819242e6016a160219bc21036569342e2c4b256757a8b2f997b4094fe70e3111592a649ec44b39b9ef9c5c4f03ead467c2312acd707839a18da69b8c10f9b6bd1b7221355a2980335d3d7ed1690339bb56bd13c484fe8746488643f561d5560dc62f4cdb4c619de0fedcf2cc6fb7034cdfec5fedcabfc6f6c2fd4182749e3e0466bfbd727b98800e58e90e5b6f531e03d49f873967c7d27aa61005f2899120c62f38ab7a4adbc205ed1b48065304b9d503a3540db79cb74721a9314c578890152e72dbee5c6804b06609c789bd041b5a6d032d3b1f7c8bcd5194e22f56f9dcf36ec8d198cafa92adf36c214991156d8d2f1903117d86f840a0c7be6bc87b0d7cb33f43b757a3d0614a1e2a9d21598807acbe3b035f3df8ab7c80d7871e9bd0f521f353129ea0198cfe1eea007792aad265fa0eae0219ffff034e187740870c660e1dd9492d5d623798b27422ec0ae5fae1d2be2b2f6fb70d9903ddd241a40fac8aff89e2c1d505b02baf9336804909a28d5b4dd7cea62384d61a03094f7f02318617311cc43234b5e4cc641e6d93d1afc3863b738fb5bd05fb75bb0359cbc0bca51d877ede040fe572e9d316eb43d7099ae4836fdef5a594262b41940058200313fb41d60c3770b97696898ae0c12851e612b9388a11e923c876b37d6ed060490a00e147bac13de9b000582003401b72769f0e31497ef312756306de3e339781277cd8343ed987fc732d1aa04a11a8e5f110ab7ede000003c93ad0fc154477d0c41dffdb66485617b433045a39ab3947a5344bab71dbc34800582003a04849381fa189cfff551e3a3772f82c107347c74c1b38f38b4fc89d432f005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038ae6bf9f950ee605371d066977d657c699befa500fb20e4f5589748a8f31b4f6005820037bb5e1c5bb8624abf66502d9cef9380c4aee5a8cb80b772911f6681838708049171b02fa4cd0083ea100582003da939134f15ef8441ed61d812e1f36b850ac5bc6586ee729a8fbd32d4d8b20490392f0b920f47c81c50219946a03b34b79a2f71de733cf1ef9d88bb7d20ed3762e9d9a584edf4a8b7b2611f2ce6903fb0a3e4ce50332af1da2bd43ee3633638993ccac020122e1dc5d7df19c680b2f03378edf95ed31d91097a576d2d511036d71e453cbc88b33f482197183a2548ab40316f5864cbb4d177cc76008ef2083cccab1835c013af6583fed7e09b6c169545403a7903e14d0efeb6e37e74221dfc1f49dc033e528ae5360332a297e8391ca59be0394e0684824e44829db610a59543b8e91c4360f8561df4af514ba3eb6d488eb8900582003f12ed84df46937c3e9ef6037fa2cf196ed5771043a6fa45f25e4c1d87781104902afa7302dff8150aa03f0542c8ce72e7aeb3edf0e0631d2d87687e5abb5e1b3447ea90ce1974edca28000582003c4605657fc3564291d1afed044729772eefc92ee619cc034ede478e83591a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003eddd0a8bbcf643962fd989e9f7f3992c0cad50bcede400fa602e544955b1e0490fb0566a0409bbee1600582003559fabda34aea9e268c324ecdcc06fc975569b9372d4524c5c7de2d8b56ff05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200389f345c3fb35cc49edb3111ae2464a7f4017fcc7d76bf7019897b85b7cd4a0480b75637ad51cb1b400582003ec268c56aeb7238b87c6b324ff02c0a6ecf43f4eae8ac9e285b82f04b62af04101005820037e6875a9cf560df13b438edd127a90a878a5214535e8c20efadbd26411ff30499259f7eeb178d8d6a2036113f5da30422677bfab2f7cebef070ce8687a013a73761b8299e3d6c7051bd803267d28cd198b83a4dcc63b48e4eab7bc7b678d739339953809c6c1c296ad29940219c7f8034e7e3789023249c4b1303947d2a6b47ea920e81af6a8e1e78b70fc128cf12c710359230036daa6f3a8fad4d99ed39a6546664523c651161d5b8802b5944d2de5f103b2278e053ba0a30b03ab1832b2c5d85aa0769abdcc66352f36904064b804759603ebb65d12b3ebaef4e1f29f55a848152ca23535899e886044b18b619e2c76928003c6313faeeeecaedd6b51c6985b0ddcb72e3d490bf22e0e3e98afc6eb3a01d57003dfe429766d5b6b5b0ddbc34064f4c731c1d19f50220d8134623b53d0367a1031034e0b5457aad8838a6e45be8be3dcddeada5fc4819d1f05ed6ca550d3dd2c787c03452edbf0ff9f3606d18b568fcedafb79a00fdd6d210e678a871f331db40dbcae0219ffff03e8ffb3100f1806f4020933cee548fa3bc89834c3a2ca467fab92786d08c1f8b403d1c164f45c84bd73ab61f67e8b5b3fc64ab4e8c5b3028ee0c76e6b16a5bd22b2032b8771cb2098f82d722d33c3e702000a2f99227a9de10bcb9c9a91963e66da8003bbf949d8aff3af30fbb279ba931059f0ae28300837028d61acc5a73cd579f30703e0f6bfe466a20e8dadb7c7c976adb40f4324563591b77ee3ed4cbb03c7f36b8a00582003cad2e5387709abd695f98ac525b359fcb1a75af162884fca2f9ded105a5f905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003697184fee9793b7aa49a417a5de963bbf5c82278a841e37a3bb76bf6c846104a010f46284db5bef4c00003ed4679ae8b483985556627f94a3e3e85c448020a6fec28ee3e32b5facb399e99036e02ce359495449232ebb66f7879e956382b3a5bebcf1a27a7f72f816926769000582003f03165ba8428646369f00297b8538a6542cdf6f418c5dde634bb4f0ecdf8c0490ad3ea7e265ef4ac68031cc9648aadc7b1da6d11526eccef9479d01812b1e1e4fde486b7f41801b9c1fe030c2db95d899a2ae2d4f9f634923da3054634eed602f46b3ce23ac07dedd927f1005820037ce104c79738cd0fe53b14dd11873d8c2e85614dd20fd999525ef6ab6a17604807b688a1df3512d600582003c13057b8a6d14db44744c93c03043eb4474aaab45ed8560b8ebdc7a36bad105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c34efcbaad4f0b757bef069ce8a49e22cfc22cfc6301942d409a957c9e92f0484dedae4657a27004005820033abeb64290ab23c3a630e5fb9c6dc4f7c3722d1835ab4904ac4b5d9cd029e0499259f7eeb178d8d6a20219ebe60307f8dbb2e3209f4401d4c474be9cfb8f92bab1659ef76194ead76f9b05d3dbd303e46d52906bd82eef8918b59e7f9fcd90a479980f49030f7efdc0fe8de670576303bdafb70e08d928be2861c64268eb94a86878bf6cfdc70a7b488e1f63bd30672a03a988574df1b3d458b81c778e4c03ec610f942fbdf2d7c05d6386d8203193ec550347b921e1fd0e6e05c7dd661cf4be490ba8888680453cd24c1c484ccb9d71bdf603f6b1210d83710632a9c044447a520320940924ce22c1bcf604df8d3b4b3014ba03e413c2177a9275d07f9c52533a0005ed0beb03d641b4ea1ffbff8c6547da0a0303d5c961112488fad4e0db1e6bd9b18d1600f0007bec0a4dc3f3b360e7e592343e03ddca86d57a88b156430071a4d2c9ca4eec4b73f4f9ac96e2c32e15be16b2e567030b3af11dfc1a72ad195a8d38df33ea86a10facebfb4319372932d07c71ab90e9038abcee63ff5e5d97a273458eeb923a200306b99406db9dbf0c4e92488c4bafa203efa40c2eee429f2eb63b518e6bd054cb3b7a4a4425723c097e6fb525f547dfd30219ffff039c9cee31b2f5ae08f35a79720437a5808924b4155de719418b1004c25c9773b403f2572eb4f749d322281e42b9f2370a07962d4e97d55902e2243723adfe576d5a00582003acd2ca35fa3a3ef16c3a324740cba6dbd63e6c67c834e60bafa9797f676f805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038c18e42b161ff6f9fdc63be131826253af227ac72f975fe26f1015716fe0a34f005820035bc706e8b667ef6ca59b634a84cb5282d5e107fcd967f565bfef4554b3e2f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ea9d16f6805b08e0cead872df091ac93d89de774bfe2557c245e10e84739004722da249d3f2000005820032e4ec615e6918f82f6b477a1b4dcb0eff4c7be4d31dc5f1d33b59703f6f7904906ad93fe3036f0b24700581f02758e68d8c8519d0d4e0f0043e2f855678a582065276ca8100a78c164a2084b01cc76a1d196687abf042a00581f0264aee8039fffd01f3488db353bad809e2abcab7d98da8883ada0828e125e4ad3c5d9600b59bef400000219420000582003102830002c4ef403f814b595f84af380eda8c01c5599fccbaaac36677a8870490f26c6c645fe4edc9202197c380335ac03f177bc5d3d8b78bf7e455f2a1c7a57775fefaaaac720e7663d310798bb03437272842a9bb1f9d16d8bca1ba16bad21c4de16317f80a6186bfdf5f364c92803b24a821484481ca0e1f837f576aafd3e13c9fe68fe632152d15976ae61fd8b3403e45d3e58e8d458fdfcb3b36c08eebc0ee09ff33883081a7ad8e8c86dc4a73b85031c6655fc0244356ed97c31f130ed7219abe3cfb20c08aec6d8291dfb61e20ee703d56e7572bb308044cce6fa437c215e6868202a1a550a19ec6eb3a42ac6e47c5c035dba0e8f8c195d6165143ea6fc2e1cd233abe90a9d7545b71f5a241d3c6695ae0058200338d85a25218ccf18bf42adad9504356c796bba802711ace31d795afb2e17b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820035edb935f57a10bb17e4ab84813a2ef432fa85eadc497adbdf108e98991b1904917b37c2bfbcba0760500582003529f961eff48243eff68e07e13ffe4434ad8f26dd505aa36387db2a16176d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003dd763e113012cd84af7d58690a512d6f34ee98328771b7b10fa9453a21aca0480de0b6b3a7640000037a33d609ea1a6fafa79349c36bfbedfd42e0d8a7c48a3aa6226be1d6ada310f703ace21458937204983630ee665b51d980d7569ca1fd5a69f9f31ba87fad63052a03019fb6cd06e4cea6c4a063d2bce935c96375fdabb99e0924b77b5933f859d4d103b76876583b3dc0ab3ee77b8d916013f162a0be25bb90ff95f729f2c35c3bd32f021992dc03c51312c4bcd784fd4ed64833700bf9f7ec1e237a001814b474cc97cdbe36c8b303dac2df456fb60365bebf7fcbf5fd2c494480b193313e5c71253d962cfd4bcc96030bef9166e30f70924d18eeab92755574d49e8c428fe46a9a657c2c3156b2e77303a81e6271e095d7228e27b640ea7aea024e148fb69b32b9def69f4608db9e2c8c0329cc082ee6addc0390498100fc8304c690abe7bf6fcd7e7764efd1474b36b253030b65aff32b85dde632bd8d35cae2320348ccc957da98fad2c8171b716a4d6e3003720baf69511accac64a0c6e7f9dc03e173be2aba14eb47572cca5f600c48685c0219ffff03f371b7071fa3583c845d832b7d44fd513cfc7705b5ba44b87e34d8045a47cfe4031a46ec92a5ece84d4ab7abbb5590e671e08f8fd57efaa08189ca19a6bd6839fb038b88951895b1c5719a140a2569ca59a294b90181ca45c61797bbd0963d2ac19d036bf8674941eac67ef389237c4c1541c12ecb02913932edf0d244faae7d7cd6b9034e5e4dde5afbe802c42c7d03759f597bda8e53aaa942fd6009ae061f01acb23203c7f4c5239c210fbb18e6964da375ff4b95407bd483c94049b89658045ad93f7803956bfa619f4acb164ed250aa72af84dd0b12525703dea3b6b36690d74b768f6f03f6426b7090772e67ddf9b6aa1646c9b048a3422d5162802fd9859e7256906bd10345dcfcde0be95917c2d1811f80e1d65dcc08f3294d3cd7964ae3e2043622ccae005820031fdd54faf40547a8da6ec1d325901dadb22d297bba49d9a14146cd7df5af005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0366cc0f898923621aa4192988e8f9ca2bfc586f54261817b1fdb01be9fa4b2d77037ecdb1a706af1690328462d95d3054c811cb76cbb1187de7011f29ad4f6028fc00581f0264f0cac3cf00a9002847cba1e80fb105ea09313da774b802e0e5b494ed315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f024854518ca936863b30ce4d5e74b7e55caea19a36004b45f1ed4cb7dc840c480de0b6b3a764000000581f021db06cdd046d498e5658cf5675232ece515067287c7f30f3183a41235fc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0212b8ff2d000cfd8a539ea939de37a1b4fa04e3bd30eca05d5467f7cd9c8d490565ea24c52317de5d02183900582003cdbbd49574bf1b97a0eff1ca4d10c77f6d5a35b9c484025050c5eff2048ba04902372b80046cf6400000582003171b2d33e71b86b8a0d25012fef89226a3e44944162133143a19674f6cb6404722da8937e3159b005820032fb59315ade1dff58119bac72b03d7a277b42bbf9c17142a1c60c9a4c4f2504904e29046adbaba180400582003b3e8c438e2dbcb1de333db008d003fafce5a70bc0bb9c3d2d1c771f160f3605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a3b203603eb5d4116f6d753de8868353d060a0c1de562dbefb804f131e3058206d1b5100582003baf4c82361d897ba83c2f81bbbf6335b32d9ce7f51c964fb709425a9b0ac40490157b2ce9a3904cd7d00582003c8223f7a431d5a4bdccc9fa7450964b2a5d1df420db37d9a203d21004981305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a75b386655a98a27ec2130e65edfe5e57fee5cb6de559b05b0b7dbdfa409005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a154d5bbb2e7b411ec9e65dc8de0c54843c60b2548c4f43570432e1b2af7b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0364a08d8eb8b478a5ffa7aa94405ef75483c56a63df8429ccc5d979be229c334a005820032d409e11d728936d2f17c9e23ab8faed169f140443504bd01b7351f21770404a56cfc676b26bcf443a1903ad347258372519194d4489c646576f949e2c03c4ab011cceb5f04a79787333bf01410a00582003d23ed758654046eef6a4f4ab43542ee88e2babfdccd4b4b8e79766872ea2305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200346ca9e7860161d5b8d8d4262d8919862c3df5aa4c9f597ee25002cff41fc9049364a1e16042259b12c02195bd8038f1c200bfa4a10f1017fc5106dc7fddf643eeb037ccc6f715917761dfbe87b9003747d452e8719420ec0e06a7f7288741abae05d5d808de06e4c2e65e125f8a9d203cdf2abd65bb623677777cf45b2f6403144c97959f2649b816f2d76b928a7480a034426d802e4c46563a921c03175e53e605430966d4e7eb237b160095b36d27d5803dccd58f738d86ec8ad211304e793feae1bde494b170c55cc2b1bb69be4bf209e0219ffff0219ffff05581d03b5747a5f77b009914aeef855b2bf6d38bb65531aee20b0b40db813000701191d8f0219011005581d023e39b213dc6754a7fa756b53d78d6206d655b5854631c3180722de960c014713d2fafdd8c0000219010805581e03a2f38103676d86358502d9d06ed540ea5965d3411dd092f5ac973628e00c02474b579fad39d0ea03f76c5fefc30cdc6f03c142945eb51275ae4a5ff61f8fa096c61c15f42ff0a98e05581e03cbc2adb2be3044b73bb32693cc7bed1feb1f75da048a119b72417fc420040205581e037482c14c2a475c7ba6536eac80837e573d38bd03e5c44d525c8bc45b500c014701acc09859a29503aad8180b0919d8112d8cf4775542f72d3012837c54a859022de33a473e136b5505581e03401e8afe9e191242c1481f874eda2c53e20f4112d51e8918c6775bae9004184a05581e03bc65f88eae9787e5bfa0852f47312ef2fdf7571621ce95f78b4f285bc004010219ff610396572c73794a510a68c749435cc3c09370c1ced83843c3d2e88b7260f671317303fc2b32a3804d02429c74f18b5155d00312a2d671ae0049b1a0475ddad8262e9503c1213547b4d56b34a0c3d9781fd29f748216106214cdeeead0a232116992a420035fff540214e728fa042144a5978766f7d65c197135aaa6123f938edd714773e4033e2033d896d6c705fbc0bb9636d92cc4d006915a84ba1f3023b60d2b8ee9452e030cd45c3d5a37c8e54d8ea57b847eaef1dcf6d645388f198bb6af907136f992e60317aa714867a3843d5ed292eabafd6119ffb195501e5015699b2561244f952e9c031c8aa748f4990912d5d413abec94854fb0ebc0c425885936e326a129605510f5032fea3d6f90199e19804f5d28ac9f3f4ca94c7c749b8b1e64c6aed69249c7d75f0219ffff03525f6ee402526da73a533f749d3967af3168e584e5fedb810f640e1c9b4e413203cb25c00117984812e2944959efc514a17f5a25cd55c48daeb41272aef309a64103f617c94078372f631e6dc5868daed00f3a44814cb543ec2bc066b026f0761ac903a78b0ed5638d16275f0fb136216a4bfac93a0423e813a6c12773e551b6dcceab0219ffff03883e3db2bd03f3324a881d35f5a60cd9f261fb24d1d759472f270089170c02e9032112a5a9a02dbc95b500ff3538aea40360a0f119499398e69d5389b309e30aa903eb0d64124929e5e560b8846b0c0e8cd0a39496872107fb9401368dbbae9d2fd303358ac86d853492c27355b48e73e7d4fb049d67b079bb9d64d991748e35f148650360ce887d58a3d6d117729d64c92ba6ddeb297be6b2a26942cf5fda8ffc204717034204d4ae27c7ab94d233690cc4bd5024b2ebbd081a53f8ca71a7e3cdfdb3a8c2030eef36f180b2aec03b2c5e57b778e7a11e1f7c2c44dfa12f4b81dbe5c93ab0a203d309b0fb02527160c21ce45069df299d98a49ddf868b18edc01575b4ab0f72120343aed4a2e9126a0b0bde8b279d4c999ea839eb853654aa79f20251f55950be1d031eec3b8d4afc5ba0b0cb262d956d1c347e5dba30f8666f6842dfd9a8da38093803c1b2e4a9ddc3db3920569ba6c876a7619f3c5072445abb2098bbe0ada228575b0219ffff034a3201998243a359c00d0be62ad98dbd467141024a23598ea8a6eafbf6dd7e89035232e6cbc630b86ed8c29ac1d1990350619844edbb06d56b9bff9ce77343a09c03d94bd5a789fcd4fde848d6cd0d26e4bd88bb1fc843e15f9a0bb8afe9058a0863035701e57a6b13849dee38a9dc90154042f8ed48cdc4217730403c3daa4755c392033c38de4139d17bcd35a212bb2dceeb22de3770a3149077637f6eb9f48df2fcf603f8c693f76308996cdeb5877b08e06c840e1b3afb8e28dcd878f724ed17c9860403f7249ad40cadad8218c88ba17a28e2f254ad445a72bfec2d6a27369e2416888f031128cb10df99de429c464da9ec685e71726ee2c98897b7d35ea833c630bd0291038602c42a6eb89b96c3943d8386a47a40f85227586a55bc7d0311f033ab18d8b703c7721cf8725bb7694c7f4f87b270d9948e710cd0c068d25fad9bb8c819606443030f0208c4be5f441c7d7c17e8747bb1d656190f1637d3a79a7c58726d37c5bbce03e69a1f723e216943520194c276a7aab6bfcd00c953d27c05cbca81a01a3f45bd0371de1d75a46a587fd7ae7c677f0e170c9fb56a9644e752bb07fbfb7d37632d0003028d3808e21e436ed5bb25d765cc68ca26383868e1e610dafd98354c5eebbeb503b9c24575b902b7a1b323dfb84f2da5d4d2ab017d3fa87e88b0e397e682f2eaab035a610d0e19d22e26b145216997ee32caeee2335fd721b2964721c39fe4841029035daae91211412bfc280b3f4d48fdd5faa628d1cacf294392d00849a799952f74037cf7d6436d2651a72cb0b574b5155fab9d611f194bb3cb9603f6fa8b54e29ef403437a9d9377d490cbeefd3edefd79a5e6f0df889109e1a6b840463ad255f7c07103c9ec5253d50b188710b3e5267ff836d873ada7f8fdb5fc030d91e563a1f7fe18039938e4d264d7a3a64930629a4faa07792888c88c1dcb401aa31cd1ce33655ea303ea8f02766fdd2f5457b999a389e5299a8d4dd9fc876b4eac762ba0ac3add33a1038513e5b7b09ca959c7f2d334d9c25042e0c7aaeacfe5f491bad6af5149d7dce80344fc2217b7162965a1094ad30c70dde6669af2e97950c3354874c09bed790cc203d7d9bf6f78f4224000898b4e1fa242e207e8de10ac3c35761ad99aa664682b7a030808dd86581a29d5c8877bc22aa1445d2929c6448f9c23a33ab121db804b538703b17fc3180cceb77921a86b51ce34552543dbf68a06946a919faa2ba8165a23b103b5fdf3413973f69966d1f401cc92ce9ff8fa910e27bc063b32714e3e6ac0e2aa032dc34f5a9aac356c2e14f09c5b3c42902cfe1ef82b15e0c519b2c9102e148fb4036cd516e291b2a56cb99a2c037e2d852d4e057f42bbc22dfcc9e582c6add6217503971b87b4f2b66b50d88aca3a18d51b2533fa4a1b2c220d791732b7adf26dde1703904bce4a4167b1422d441c19b40464e2d15106096f1e26f29b8de18f515888a405581e03a5f77bf96528f5de53f6df64f7b8a67539bbde543950fa574396eac8300c01480e274ee833c87c9803e83ff2514c2a394745df0a76cf5b56e8de34c622b36c567afa853170e4d763b1033d00b71dad4b80f85cfdb7ebf378006c2d2024a2a09ecc9a30ebc3d16c70306605581e03f09aa603784f65604ce122895050ff39358918e66782becc1545cede300c0646b39a9407e51f030a8739951265102f26781f440ee3b36246792c3080a8c23842f9691f7067889f05581e034597ed302bc521116e9fdda25efeb2bd04b402d3f1cdf55a1ae21987200c19026e4817c6cd678b43816305581e03af349c9bb7cc3a08be5bd11d23aa8f8535982c1f52efe620504a586b100c01472fbf2df463900005581e0388a945741f1a6784a0497f791295a8e02eb22585178087815f8812da800c0446fc7804963560033296abdc86ab6701ab4248ca6a7e963f3ca57408401289e92ca0b2de7ea566b303141c2b37fe01772c2a2c456af8289ccad99aa097b588a8ce3dc04b4ec3012305021959b70313fa0bcc5b36e7c96533fb35965a4267bf7f0387dd5de5c702e0ef04dba581fb0331e7877e44958779b419d0e02384b3f650f4f6da728d1161db6d3551d404f5990399519848c866c263ba8d6685df75d2c38caaf790f0cd0fab00f8c887157cc6f803f6b2a907cb825d7cf3d80e7853a5fede4ca353cc32c44f7ae287e2af51cf995d03c7dd3f32645c05cd900bad0cb20b8a31e9118133c06c2326ade1f8c179a45423038e4fabd00e4e2712a9d17f38eedd8a8fde849a54745e6fb71fb5d1e9d7d1b7910219ffff03d4963fb40f485230fa10e06b008ab67392f9ae5019841a0e80d49a38bdd223ee0219ffff03c7aa97e26e5b3fbed20e8dc3da55783503d23e149d4d9bf09e47599792f9e0a70345104e40015d028b35b0b93235f8eda45802d7931b2024c6c87cee38192e076b035e3d27f1b40b30ca4036a2cf485ccd2818851bac574c2a35f07a472fa47cf51a03cb0119d8ba842cd044b8da542a90a40eccfaae2579b59a2906f42f111ec14ba003912ad7fbb8e23933deb5c3083728bd0386011028ed45273e625e0788b84324410333d3bda5af42fda48821f53b212ec2c375b0acaab51bfe288f22093adb9acbd003dfaf7f653d58d4094efdbb724d70e9e355653a8f3e5b9c32283b582342a58755033bca6c5d426b40dfb5b243009e51c30c1535186d83d6facd72fcff94603f75bd03f1251ff86a6fc52884635fd4687da0ef70f8d0c1fcdd9bcaf83c01b4035871050219ffff03f95d94585276d5f7579c727b5deb2ec63c45d2ed98a1eb10f9e970d6afafba6f03252944d8948915fa1a2cb7d71b44278bbd92944d12e705ee76292db00fdd1bc40388aa8543d7dad06783137dccd76fc5a90740876e3cfee5f8fa26032172dc669403f6734ac08dc67a957211f93746b999e6f5323f5289b397122f391e977da8ef960303253a7855e7725a427528211e1e3f0b53839d19d6e3b29c9d063ce2333142dc033002195480147ecc489f4429e093c23d3a5aae68c39747650bb8a30b1e7562eb0219ffff03ed2a549b13e76a54e3fa8570adfbecaadc82020ba52800bb9031436a23cc48410396715c3b727c6c0f62b91d0d0bcfcd18906a1722f4f2f32615d8c54a13c9b18c0392e02d5e80ccb3ab411830e693f54a783f314070b30d6dafc91bea546ac0f6f4032609b6672cce825a3a209bf0c45e061be5433518da38296fa7c4d700291f5c510349856f9bd9942cd7f86529806c272ee68d3732a7902791083fc164806c8e3dd3034e904d8720132a4a291fa014e2ed01554b826226dd9a6bf4d6500bb0f2700fc403e040210c9ffeaa6001dec1c61b1a7e50dda45aa8c127c20fff9f5129e239e0d2033945e907d4d963b0d3ca6c1ac9ea0990cf2ac577ed6fe373a003e7f1700b5f7c037651f48b4fb59abc4abbf9eb696837a957cbbce5ac5d7625d390b1300d903bb8038bfbb1bc206bf84bf71f3a68ed97896caa43e032a50fe828c6d66ee8374eb66f03dbc756926bd64f8cfb9b4e7dc5ec272364f2237c32a1f76758c7d2bbd090953203fc946f3d0de5e5eca268ccc28fc95d5464d532dfe50aaceabb38891fc5514834034d893e3d1bde26910634c7524273e1d3e464d320793a47ccdc723acc2856921503ce311d8240c6ce757f029b8f66d4f0486706f119d357a7b96ebb5a70bdcd650403e2804b3070ff7523fba6969128453669f553ea093abf98ab5b4dcf57e22b1db5032e6aadae54e5ce532e1706c30876d2bc64678099fd95e07630643a40d0b222fb039c47a2aabdc1977e06e2260c76fd070926803271f150dd561eea1e2eec061b1a03e0c9c66a798ed329f4b3eedc858d6e546c7f04474273e4ef762c35f72e4ecf3b03db1af69130c7ae9b67fb7a957e549dfe64c108d2f141a59b38349b621b506dc5036a2dda52e56b6d05e53cb307b0ae76abc9faa45eb5c42d31ab57ec2b49cfcf820393f5a3f0ce464bc89a4de65f6d1f039ca1e83242f4d7741c64cbeaedd0fe43e4039969e23371de4ab12a70720952b8cdb928350c7c85d981041c3b23e966364712033f6956d1ab458d9fd93954750e493533735d945452641d942e3527d4cc4775f0039f0779382bd70a3fcbb5e0c40999438b9c6c635cd796ddcef03eb9549afbc02c03c3850fcd3f94ea0ccce2c1aa617cd2a65dc6014222fdb052204c0b47ea3a383c03a64c13c3600c5b2c58c87a9968bb990337720f6dbdb23b34b78fe2b2a4b9187203d011086af8537ea52d039342977ba91078529cbdc344b70a812f703cc5dee34803f9420ebb78319332fa68e067aee1785de2b0833a90b7af5a576fb6a3c061e8b503be2803f8132bff0918455fc39f53d4b270cbc118c01fd42745ac078c6b0fb8710386070974ac7c5a73cbe2b7a5290eb1091638114598b9e6cfdac024c666a496e505581e030c81110d4e35d6fb018aba177c3653cddc9dee6e3ea429bb903d29c3000c044726f6cacd1c1000036323facbd138a622438d89b33aa04129d285e2592cc756b3d5154215ba59b41703fb5aa22427e811f565b75d20740df9f316ba4016b70d974689caf0e5829ccc6803aea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e503956513881b3295eec998a3570be8cc71a1a4cd23de2bcca87b72259936e04ba305581e0376f7be430bf9f1dc0a0efa404f4381a8451a9a49b23a0cf8368ebdd1300f014716aaafb2b772121bffffffffffffffff05581e03852bea8b5aba88a2d070b07872baaddfbc136ce2ea197ed369ceee24d00c014706fa93c2c78efc05581e03d72d7482150c9eec4ff49d21a3bc08dc8520feade2883934a006d44fa00c05476610fa1c0dddfd03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e037af8820196e0b8cbedd50129a4781e55675d31e89706431bdc376ea04007011bffffffffffffffff05581d02db4017ec41fb3511f66051eaa923b758eed5639ef485b35a3a94ac1e041205581d02e7e7de125680445b0dc5ffac7525c4bcfffdfe5a66f81b2d0ca28b0d0c1956c3481c477d2922c351680219042003fa5375208718800adcdc255c832b6ab01bb30aab475fc4087ce2d6b3e32f7af00395fb75b8c154fc2d338da6b4fcd6c90cce70a57befac467de3a04c1a1b8ce1200219f5ba03165c844738a33a87af12b91375424a94bf9e32ed1d3060673ca0989d95cf5bf003ff9092fb591c2b478a7a2b968b174fbd819578ad8c2d5dee26073bbff13a3a6f03dba9782748706343c6aa82e2069050686620e389364a889257e33120af953699035c3ab8fe2464fab5f37418ffd734010c0eabdd052abf2585554e5cbf784aca8c03d62ead1e5f424c375a8d44463c6ccf97476dd72e84624fce52d73216c5c4b95e03fd956fe488ff5d7e5c7d8ecbc753c2899a20e20556874f01021bae7ee968742003cb1fb3b1df1d22e52cd739f2ad121c634f13b7273541831fb52e419bb1a06681031013f289cab5dc8acc489f1fe6467d34f1a5ec6fbbbf7c8598165a81207a981d03a3da542ccecbc9f34398e747c893c1d00d279b62ed8c84a9e2d63e7b0ebc9e42032d9da525ed6112f699f5e1e764fb02e8dad2e4727b50ea948c19369d456397bc0306bddfcd241002341a7accec600fbc5eb8e926650171338f916a23ab9173f244033edd24c53099811a9337eaad803bb1acf3fc0c795a5c7bcd6e4db0c8a82da45103897c7284b3411d31f49828183f9bec9fe9514191cf0188c1b6cc8b64f4d1ce2b039262c4569c106bae8377d4db8c683bcb2bb6288ec8c12cd4c284e5b4d2f77fd103daa6ede4cd925473db10f71aa2b17e40645e68c56dbf7e686ac447c98f62b2b40219ffff03afdeca82795fe9da37ebc11de943716bb9a72048068fb555265f7413accca7dc032d481e3b716d2820b6b895de2b146a3d47188bb8ab914f3ac282f3b4f831bdf203e73ff4f1c32d00b1280bc39fb4d57b50a9d1554697ce3a838e5d8d3277eff50403d6968e83c4f94a46b6d4c8c28384ccbc606134579d94edc5aa916fbbc4c903d10340eab7b9745c749b4ba4cec58d01a8bdfcfde3d10f49f546637403dfc7c0eea50333b17ea243d81e85f62a194cf66970d2f5c563b154a7740a783bafee49e6c78503dd6e61c884704d05cbb497df4db4214a75dbc754224ffa8c38c8d468e93f41f4037418b120a0f291d0467ac12243176a825ee4f876e5e2571f5f678077f1da10950219ffff03dd1c92f2a3502843ed230045a4dd0db83b073953ee43296cdd343acbd24c725e030e8dfcbefbfbfe0b2a7e3a3553ae01cb9b997142120aac907942b6bc086250160219ffff03b606b22cd2705a3029a07a9740b63ff4be7b809346a99a5a6cb3d8aa8984e9af0372288b759d24aa179f36ba384aa2c6d62bce13bc0afeed42e80a0aff68e773d203a9a60d418a06919fa6c706d3b0bb50db7e891a7294a33b1c41b1f4b70116477a032bdc04fd18d70c5a59441b4f7c6372d638c0a951dc707f33a9dad6103dad66f403508082d9f252ca7a917ea267c78d724c687fc6d98fe111c2a22dfde6a60b0708039997d27fd567fed68b7c511425fb479cb3aed22d4f7fda1af88bde110362bc3b039a22bdcbde19ec71c25d7e6f3f62ef23a84691142a17058c84ba30dc6483b7ea03869fe5cbcd465b81b5f33b50f50e4819f828436240f6ad9bca8be7c787a1b5bd03e8322b9e4fcf3b03de64ed469c3a297e91d6351d53a23b302b892a38ddc65fae0350581f41dde3738d65a3df5c5736497ccbe95cbd413820171099f53357bf0d2b036b84f059cf5e0cb93bdea60fd5ea2a6d85f7fd1fd5f644dad4aa49a219823c23036a83567f054712b75dedd19efa699d7d70105a5fc036ed8648fe9c3f25ba5d5a0387e5b7d7155132e52348fd40dadae92b6496ba7ca4aeed4eb36f3bc7e236075e03d96a7ac2f5344d2810472bd22743a952bebed9950150c4df1d9491503f27884c03d9ddc08d831fbe50c9e61df99bdd4168e64019318c41c0b30034735711b6a7fd031b1a22d0c6db270033430c42a14d49cf74257eb00d3cb34ee2b590709cc29a55032c76000d0084f7b929b6ff232ccfa201b1fafda0ce6c73c64b62cf8ca7cdd467031395934522d95b987aa71658750dbae07582f0afb3c659320596e7170f277d5e03520f3efe0fb5511ee26936456d77f78a310d2ff081cad9a4c76a0980012f434705581e0392cc922ed717b9720e2bb764de5035e98092927eac421ed966a30ceef0040203667a6bfd77b5d09afa8037f3b5b6fff9cc1f2b347b7fdf86a81ff512affc60e205581e036440a5f9e6f888d1802172a16ddbf671f9afa916a1ff9f5946b3bab6c0040205581e0357768442fc59da05780cec4f2bf468408c72bc84bb6f33a7a43b8ab430040405581e035cff9f51064192ad3746f8afa61db251e9f84fa9a048788c6f081a00000c0347294408beffd00005581d029827eb953a8c78a844fa03f121fbd47b8fc8efef616afc8b421e8a810c182f47a2ce7b3d9a816805581d024567423a23b185aba03aa3e096f31162576ddcc0d130bcb97d5e6b2f04040219040202192a2c03f6052231a6e6ded2bfcae3e163340b15a9b53bd51d20258c620c849e1f8218ee03cb7033576373272a00d0c666010a48d9923cec756052aeb0d5b9ece327f5100803b835287e6d6392c3608cd215ab6d342162464079f4cacf42eccd1c376011547a0339dd28c34d6048d3a60c7a459c33b3c6b14ea57ad0c4be6c528908f9bc93782e0302445b550e75197a39c4bca1c12c000c0fb57a80bb275ebd81bcf1e0baf900360219ffff03456d14bf7c56d49b33f79135bfdab9f193197a410add9e0b942e29e6e67aa44c03f6f8a2a91f81cef4f9c604308bd3e1c91efff080e5e1e385355ae549f40dd82403b65a443fa2790a1219e6707d9d8d9f2b7deb94d460396e28ee668e4fb5ccef6b030158613e684528b67fdd96fbba2f56cee58bc739fab65d9efb41f49ed4557ac103fe6896f033637167b536dbec4c00de81204e3465e0e63eb0313cc436daf7772403fa6aa91b4cd0bd45837e2fe0e068070b07f95faae1b5e8ec50a9ed6b74da16f7033c61dd92b322e2db8bacdc27def72586e04d9e0153bb4da325764b6f802368ff035d16afb64a493627a936d5b5f1afc448763982fe7c7994122bb8aec9bea31c8d039a8e9faf01c8903a3ffc3a6e2960999c4510f303d51966e7209433df2cb6b0ac03470031af850a40f38f8d327f0637dcaf3a85d778f32e771e613e33c63611db770219ffff0329611481b7cba3fdcb60f1dd442586584f2ba50a865f7066cc207eae7e38b6020372fa88c82a068ac8ef2b63faed18fe5137869322597aea0b936f447c8fb387df0371f30630b5aee95885bbea44b5c04606d39245cafa71a0851dec3a5e47aed6b003a5e7f356e175d0d6bebfe5cd4c5e6627a2e02c74d5a867c66238f08b5c79613a0333a74ec85e9142b7a5f95f92d06cde4430f0b59b94ca37cb012a7b54c094d07a033cfe6b9d1868e57a5d3e89d96c94dff4b548f40469c7e4db39634c1120a35cc503c9873715fb7d9e4c85e1a1c57871ffecba7d93f130c404da3ae7357f5513e0a903583e5c4ced61b94d807d28fef7704c1e997cd51be3e4011d24ac8a2d30b6df1303d72f0c704ef0c40d2910d38554ab8766620b2fef630501edfe1af536aca807cb034f99a5952a7c59c5d7cf009dbdc3028dad405a7e310033146ba1bda55ef651f803404d3ffa434a8fbe4f5182a313d00fda7e954552c26fe156d90c7c374e6bc3fa031a576bcab608ab8c2b4a0cfca673330ce916ed8fe0e8bbaf0ff2f6ebb4bc865d0219ffff03cd243a28f96e0c0d000bd195e7d9c79da5615b689333cb99ba24bc07f043e52903255f93f27eb792354db251cdbc97505654183349e00734d042623f2774ff22a303e12cab2b71048f43ada0b23b57f1211a6ba3f676c27d9f7792e9d48ca88947d00320e7d9496c71b324622c37e159735c65296e3e5619511be45546c4a4ac6c05d00219ffff03ca08f510180c6432e1e87f23fb8041fd13d3a485abbcf0f36a55195d91bf907c03f86523013f69003d269ae7ecf978d38c33bb411fb9f3035993100c1c948167dc03e7aee6dffdefcfb4031cc63c690b684f0f5ca367a4e26efd1a11597a18a84d8503952170164413bc8087d374d7f87717e17ccc52be91a0c5dda6991a9ea05aeb6d036addee380719e3584698dfc276382e0c7013d74e7fe7467840253f0d613066d4038f19262e95e8e8046832764e701ff37fbc0c61eada4baa106d370eff83a5cdfa03fc6d33425d25f461ee7bedb216c2a7c23ec211ed3441fdfbd55a0c7aceeb3bc303f9714873b0bc313242b40ff1da2d566312ec83b684ff8666bccc115651577ab603ec104b463aabd017a45a9119dfd4721fc5f6979551a8c46f5e0c11baa3dedfd80399de08aee8b16b1af34e3411a2468a9576cfd8ed434a4ea599a380be19e8adb203c5cef7d071679ffcc73a8dd3b39f6d483d0d029fbc65ad4a4153564b5f3e73000389282b3bdfa56dfad4d83044e8ade6b6aeb9b119ae9fb3e1e09baabdc16f42cd0367ae40af9bf6d301c2d2128514408e1c35ec53deeaf816638cb28e06000fd1050359d196dbd0b76705c0ef6051120dfd4a2c4f1ca0e09a3c7fe195faca27f51bca03b4e6831d23b886cc811ff2828feceae0321f790f6392e4f38553e8cb550bb84f039990867deec97dda4a9a9e46dd60163ade30876db43fdd36ab904f0ed2c904430304b7e4300acd7191d0c927c61f8450ea12a926468e3f7d4295f83973de1929bc05581e03672219bf1f3da3f35edbba6d596152581180b206498a1fde1aa4c43f700c01470240da772e6a0003f33a6ef00434f2439025d811e2d71c1473cc3f2912b8143b8dd2a5268aef2f7905581d020786b6f05e76b88837ab4ef53a458c4cfd668cd4303c3c1e10ffd0bf0c024701d09f22f2709005581d022195acf8d5f6a41ed95be6a173c3af730309082b3ee31c6e5c316a4f040105581d02b88c5ed88f05b3425dd03b9e0bd39f3ce12fd7570d1d882cd0271bf70c0246ece89c9d76880219850005581e03e3fec94b08f897d092010922d1eb393a0de580e5daa00c3f7b9ee8c950040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03e77999d540746f9a789772ffa6bfd90b9ecca36074b37193709b371e6007011bffffffffffffffff05581e03189ad1eb8fec909197676313fcc0af21bc762db9c7e850ce5d4d576620084831782ecc4932800005581e03ad731f44739a0ecdb16be144c5528dc8632809d368596b59612ca3cc100c0a46c99cd9e1b5280302141f3f62124d453ad9d94381e329f30a1ab8fdae94b643c5719f610c7d767805581e03fb38cce8073b2757a1fe59e10aa954469dee268ba61845b3c14ddd6d600c0547340164bfba449805581e03aedfc772af60988e21878111719c9477b2021203a17b59a3c536c834e004040219d7b50348604d6421e0c0c3b78047cdd44f746bb708f1b5d8cfa6aae6cb360a4c969c0103cc02f72b117a51869d151aea59d8df763f4b52509bd815cb370f08c9b07108fa0305c03da83360e4127920d7523aec6b7fd6e8902ed65f76b70162c9733f57f5e403a32a592bf8f04c31f603c813e2250244c1d49be9f527e089e0029e33ce7b1a7b03f71e2eb45e72d48c0bfb37f9ed15cedb4ddcdbf70aff094b04bdecfc90446f2b03226e323741523cee77ee5c4e3bcfa86a6b9428c59ec4a946cd82b9793c6d96a503fc50a1d293dbda50331a26640fa46a2f3e3ca7653a0af98c2d2136083af201d703d6e71341f10554cc82d94599850da55ceb871bda4712297266a31c81d63774f7033e0948e813cd3d0d6eab4b21f22503bf10de7996564177af507da953a3a3501403b70da822ffb144f6e3054fe39c0ee73502863ca0fb26ae2ef91171c2fed943d5035e1e72078914229a09365f67af0aab63b47a940e95af4a1545cf9c32ad1c21880350d84013c5260db894c63d0e794d73ad22bfe78cb4d080ba06ec71d44647ac7e0219ffff030384deb494fb6da2bb1e99668d311cdbf703f49f5ca61a5158a5d84366f7ef7a03273d05873e623b5e01a8ced19b71c4c20263b18bb3da0587e3af0d8635992011039bc8864a17c9e137d4f4f9672825789dd658c28a2cd3f945b07ee1389e62ca8a03b8602cdf8030e752f5abec5a48e36b962c0ebf89168da08bc5e480cfe6e3db5b03d5ca5282eb111c8e552cd73fc2608f77820fb1a6d3caf2fa768d063bd68c5dc203c87addc510123f1f6a95a0f47f86db5536f556b2224e43ba746857eaaa63e17d03a8ec7e588041aeb5de334a392377a9aa2a1a5b46870e2383cac1fac07c45d60b0341e4e836ae28871940deae74bfb962269225691cfdf52cd06240cea9a465679c0355276b08e90afec5c11b31b11bbe4ed14a5318f626cf1d15d188658c138aaa4f036ccf8cf3f4721f17975f45909425a46677f0fa4e1926ff7237485533b6911ab603092e22bd5acfbb496e77e13dbc2aa3af039cd83d8aabfc42a148b07b6a4e5c9603bd2568db9e364292799cd70692a1e01cf42c30183451e8fe2297e5d150f29e3403b43ead98fcee4db267afc333c923c12240e64678c74638f5a18a5c606d8aac4b0219ffff03c7b74a59d5430a5c0674d637a64feda3fd950bd54679bff64908957b977530f2030af331203879787a70abc17266dd38a2c9e06b054bfc10c51a461a7bb14c889e03c34bfc48f66299dd8d221d9ac260e0201af141c94061110d1615e12dabe920c303fe5eb99d2d6a3970a6fb71a7258998df05d9e95f29bfb0d40b578d96f5bf78ff03a70f0752f4ec448cf4cdc293653370f01a3b8aecf46b0b37d11e45d1ec6c6bf7032c32a7ce261efae012971cd6d18a8479ea1ad3f54343b1b1bf26b17b51d4f4e40219ffff0305d03106512f9a8e747cc99970293d6c35764e291f82cdc6b765d61b14fd5f71039965b7c580484c9eef6dd538c5cca2bfff735164e262de3a76abef5921ce18ca034a4b4c88dccd3ec49e3fb2fc6d7a6fab104ab7702baae6e63a3a8733840c3fdd0344d20eef25828b672f4ee369b28688820363dc392e009d420ec181de288c5558037326e97e9e0ea4667ec8c3230c687eb732198cdef415b0839147acbe4129b42303843563be96bbf77b9a48dd8dcbd896ab2c370e1610272d0514a5f094bc2bd7c0034ff1466b7d340111b3041e9befa1c5bf337b7c2c5325434a94dc59d9d11665300329be6ac82a01d4084fcdfa13ee1a500e3fa8aa061c5b4d7904426e529371182c05581e03bd206b248681173b72bd90d901169b9a2c7ee48a9c59114c7db95c892004030373e85d54d751b76c3dece73eb729bedba62d37a95478dbd810e432b7b3acb9cd0333a6a3f85636bdbc5185bfec3104f6934f65d11c2c3cb43a82c6645b76f458bf03ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e0334435c7481afc5c32870dbd4b7f7e546674332d4c0b4c484984a8af57007011bffffffffffffffff05581e03befca32bad3d6c68c1604f6d52a12225a8309a6313f25091942b11aa700403036835ad911684370d09a793c9c00b2f91466e38080ef88e08f96630b941ef2cdf05581e03546d05b0fccc920d21c5632bc13fdec3fd0cb2e2bb121dc826f21f3db0040304592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b5703858ad2440eda5dbbb06d6dfa46b040b9c521db36ad62b55e91bbe2efac45b26500582103764e72564e636e76c4723d44b5dd2fdb509322f005766119d8c207883363c020491097b7d0bb92db24aa0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604a068fa3874b71867cf9f200582002ef8d64819cdb93c02cfe387cd39b87ee7be4ed4b02355ff30614178efd25dd4101005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4e358c74834d6139b8b3832d64e224021940080058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005821039d38253413d41618fb5e7a7be7f922ad4f8e8dd423300bee6a5e85acfa03f8604909a46104f84f26a29a00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820857c0a38aa6d879824a02ff538fd38dfd478e6ad8b88ed72155961cb387a00e8005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a853123c93044b064d88588d5b7e196d6443f8112802184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5ddb00000000000435bb58a42e89cf3a00000014b4b1e74a70f569a65d370058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54b8a87405d9a4f2f866319b77004e88dff66c0d920218480219bc5d05581d03dd9b6e5b0790a4ddd9d193b471d76542b6be6e89d4418a9150c5e4e00701192c1d05581d0397d20354a0a473d98123b3055d31a3505cc5d2a2e38b3ef47c8f89200c0146ac69941452990219800201410b03e7060058ff55118de60a0c457f49c286c154bdc15f34e7b88299c12fb20494490379586c717a834e00bbf49242178874b161afd54ac63fed2ecc27a75f0263094d05581e03a351584fc5052dd2285874f5aeba030e86f206b28ee060479c2fd9144007011bffffffffffffffff02191bf803938dcc153ba8be3771d28ac095735d5b9cfc3ebc3fc59c0d805a556cc1b1f533036ac9dd816077cea6a5dbce81e6b29cde589ab61b73bef6069af6c3891262a5b403f2e80d62d230fc2025f710770ce259092bc69ee9be18014af30b3d0878b0698803eb7a645cd897085252426b14b5d07eeb5a34bacdcdfb19a61cf83febadf7a69d03112b5f165e49f225f98c5e06b0c80c8ae8e1303b74e75d48a3a9b442932810a0033e90c82b925614a91142e5bde96ea837ecfcc416a8de8982053a1d1e05c0e13303f3af08ee7b8e4a5f81157010053be6b6246817d86abcd54573af2248e6da10d403e744dde63f813cdffa85f8e52edb1c6e54e47410cbcbda2d4aa90528e9ec8737032609d77285f575662de63831c9975ee1c727ec4b85efb2a932c33fa609853bd90331a47762b278ed6c1b2d81d1b2564a9c83dfa09aab1e9aa2ec176beb16c4caeb033004c5af5eb67e930d82129b3fcde0b2d3ecfaa84a73364728d4d2be655f9d5c033dfe38006612634413a75ea65141d0c82187771793db22760386576975bd43f4032d8296bf38d9b4a86c195601a5fbf3af42ff69c86800a43b52cdc69b46fafa4b0219ffff03b4ec16947a0d4667edb56fe0312eaf9721596b068cb5dd42ffba3f7105aa5111039649e1a0814824192cb9baac4da377124d2d0e07c0791238886a49a37af7b41003e90745d6cbd99022c8112244637831c524f6ea25a4f43784acfc215d9d8f164f03c539e301db81bf2d1b1281ec6d2ec6a51916eac9e90f43f664234106b7cd1806035941009ad3c74adba601bf82c24645dee29ea7a164992a2033209f5993ce3c140354abebdf726e279ddc23611f4295a0bf1d6489dc7b522c5b0b5aaa1aebfbbfe2035c238384a99ebf5a4f5a13063b77c942494929907c5db0f01f75a2945fd692550377f960998a6040eac2d19c5cc1cb36174a7db99bd86784761dfdc42382538551036726ed93c8f61d297e2c2b4e73c0a877a3f51417d2ae6a749b6baccabf7daff1036574ce8d6c93da97dd9e355a1eec076f99f523d89ed4f4e7351e29dcd3fabbc303a680cd7f141c7ee28bbccbfc61f55f8e71995e702f5755107da8de17a008db1d03ec7d2d489678eacde237d97b369ddf71bde089f10f48105ea909ec3a87f14f5903a8f707c57dcd2c36ad552b49b7ee66088e3b26c3a2f7e5727b04d044ed5d20ae03de67e6f10845c7252bbbbaf66195bbdd334b7a210616085165dfbb23cb4fd7490219ffff0317d45c21eb06fb68939bd180fd745818a4f5130df88e8e2d05465340254121f9039d16e87d62cf882eaa422bd5e4641207cb92ff59fbf41c422add6efb2483198d032556a2195a66ba9369aca107938fc27309b70eb1fdd6ad920ed1158f4ac6a8de03268bebc8057d960e941573a5a24b1a50d6ada31d4c272d784414770786ff9f5d032a48b4a9a37e1444b17e22f86824be5801ab4592f88c9afc7c7a98f4408492ad03b0ed0e1bcca046cc8f8998f0a29cf852933cca111aeb96b8291983132476c1d403574105ad076b4c7c55d1b0ae88f30973caf7b3dc936af463ec5e6c8b6a09e26e035b9ff8a3d09b9a2c94972436a85c75c190642843d260598a41383430a9ecdc1b038231cead6e538a1ef3ac8e151f8bcd870861de2e5937429c349acde219df4c31039f94291777455e9ffde9a81219b1ff73ab20927a8afd2a5c9099a6cfe6784eee030d947cf59f54139928bf91611b3f883a187c289b8695e37d4178b1110d95da1c035f3e29b828e258c75ece6a4aba7d9246e5b87c2a92f5cfe7aec3c43d911919a503ae0788d3b5e852a5c32fe7ab92d7b09321efddef68d7a2073ea29f5eb1adc458034a068a50cfc375e8d63d5c685a7eda7f74bfb24049ede7628b4668e91fa0a81903578f4516f232924e805ac56d016be6d5ee0393cf51f5268e16c82d154d799d740219ffff03c0355fbec974912d7e4a5e0707506bf63cfaf06b748818818a7fffb1d026a7cf0330968fef5c6f4e2f598cab4ceddff4e94161e666398448ca67410161ce93f93b0309e44c707b1f9ae7bd313a08b49bf80d1b3fedad8abc2fa97d24462330701b94030843f1aa29544ab76757e7348b48f9018c9bbd7e6884b1ca90d2acbbe921804403c0a1470118d077d1ef8242ce071e89178f953b1e0fea18f7f57f0372aa821cd103634e5b59e2c5bea79674633c824c9d69d6378f2c059a92aa744b6df50a6768e503f3ff05afb3751916aaeb1ac4667ebc71b62da7a5fda2938af2261ab385b1afeb0219ffff0334b23041a33ca5eee6301d5b169db4ba9132f20194707f9fd7a6513778f30c6c035bf96df20c01e5ab7e4444746418fa0876e7289801846ba2cefd2b37846ffd800368760a235a66983887d8883b7c77c5916bfdd2b19e5b98758c0e6228e73089e00318ef9b97bddd6b7fd7a4093eb0d786055f5954f92db569666c175495b3af0b9e03adb4f413ccabc165ae79da8baac3eef46ad5c16616f74a3a265e307c06fb3e8903afc3a35b1d7a9b85cf42c3214aee0dd3c53b3b0fb6813252261d351ce91505bf03451829a9c85a716692b57d96483476a9d1a8789e465d8a0eef01c26d11817a5c03ca4193aa817ba9f324a7a85d6e179e2508789b04f69395803c20fc359dcb7c010346cf04c3f4a060cce16905ced683afed91fe6a87e6037d34d07415107b99b34e03c0a751b24c0e05e188e221a89234b4ca2f0f6a26a4c533fae6a252cd9941058a037217acd0465de2c72eb44f8ac198dc4e9d608fe571a37e314c9c21b0b3b04e3403a05029d851b7ecc2b3aedca4ddc88233ed51e56a856aa67701a775a676d15bba032513df6b344b72052d149b15e3ae062300676bba59261f77bd8de08fa384e9a003b79d8627618e036c77bf5070e110d23568d038ae0064f72ded986979da71ccf50339303cb23eba9118945890765105cdac2cb493baf75c40971db37e501bce02e8034d0b11008b079ccaf11355bb43ae60a7d89cc0908ea31aca9c2aff2216e3695203905b83df347647f8ffb26f59e64c9f7d6053e68002436394723ca847e973ff9d03af024e332306fce984407b29789061ab6d66199f605d95e859ac7368c0afdf0503ddad5c21a198ed62da2764a492588ded6bec369a78574fb75c8165a2912e58dc0387972d3d38ae35a9809e2f98a778780c405e1f78c2abe7df3f7509aed11e9a100378546dd15eb5c2bb3a53a498d8bb2350be2388de88edae4af052463fc6b7769503eb26b8ab2ebd4b788eb9209e8a8416e99fed08985272304e327e33d094725af00352fba80a49a440d7dd04788519745538f891c77e33b2c514fceda4aa46843fd903bd7c8135777c95984facc347d332b208344d75914da2ad1a49174b81b68e5f6903a73bcc5a40407cbf1c836bc60c902cea46d50e32a5ee97b7aabab1bff1f2ad5f0339d03c2778d48a0319f9954d802db272993c6757f3771f42fb44045b49fefe7f0357fae8721cf976673dd35defb95b12e2c571520db7640de4fe02699731982f9503f6e03013963de27bc7c411db310b40b6d7d815724333ab725b1cb0adae59cbb6030a8c04c2d34252728e22b7cd84bc2287f058a2c9f489e40fb9a93d11aec482c00308b98ac8eb06d3d518e7f60794ee47512f82aa468675efbd1e6356dce8f45bc903553810f3c6785f3ff843caea758e875e37dcd0366a4bc3eb275a9ca1c61675b705581e03970d81044a547b23b0edd20ae6be6c9d4b28f23b3b7b702817cbf39d10040205581e03bfe0896caa5671c373eb401c4fc52f1b713ca65de8369bc7ab08ec10200c034701144f8210225005581e03cc854106e6263843215e9b054e46e62d3ce1140bd591bd5d353d0ce7700c014751fa737aae760005581d02dd01b4d2f9435c60072d5484831aee35b5281f8d6904ba6d169ed6a9040205581d020bc619dba1d63de05f570b401c87ef6aa8acb999ef7232651cf497990c0847331b4923c80a39031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d027bdd59d5e098cde8f0483047c4d781501ac134a7480b50fef98a556a07011bffffffffffffffff0218a105581e03ac617c5fc0bfece62fd45bbe7c6a6b6643fb412e5f9645302459c284700c0147034c5abb833e5d05581e0307573d2a408d8238d25024688039914fc3afdc1cfb6dbcc87f97fb6c700c0147012134f8dccb2205581e034dae63ce3e4021cf12deb96b28f836b54ddd803129c07ad13ad4c2422004020392de005ab366cd0744a0542ad83aa5885ad3c128a42adaf9b5b8cc86f788cf3a05581e03e08045d233ef28bad7b0f98635407c38b589dd26e730e43003d44341900c024722a8e231ae16b90219570f032c4ac73cdce0ebedd4ac24fb44ede26505130e98e0338cbda7592ba0922c4a3903edae039a9895cf7e029926d3268dcc5ddc5e2c5f42c3added19d18c86c2dbbfb0355af4948e0a49967a2d4fe4eef42b6b98b2852ae51c4647de6ab169eba254e0203c66ea786b3f8b4dabd868c9c925f947c1eb64e1c26d4b9ef9a2b3cb221f1590203c38eaafbabf0341340a3c7af7d368cccf13cc33a8345ce7f5992891a235dff8b036180d6e53e143d681177467267214f24ea8c1b92e9d48612c98f4a36a73791600219ffff03229694f51ee5df61f78d06509c6ff561842ecd6707d9ed2ae0cb94b2b9a7b30803d71bc448c725af9aae4cb368df3d7d8278aee657e2d649b421dfbd205634795c0348c14fca6a193f1e35f30be323a3c7e93d7269ca9f9b0c386d2c22a04afb366903545217efbcd70c53713a60e89c635489b97ba638dba3ea31b195fba5b4d54f4003a77f0c23eacc761b19752b9c448e9edc867ac3d92980778072c6569b5b9344cb033d66af62ae687327324b2b334ebb00df8bcf7b9e3c1b1a3c97a9c1b93333810c03726b1beb359d55a4be7c8f6c1a16710c065f645740fac72e6a1d81e10f56d38203086e91748c1bf61e8392a6af1c346048a2a06808268537e0fc26d44c4bb9279e0219ffff03f0991487aac29ed0d3faa3f85cba0a53a3e6f603b4378a74da3382fbc72682760219ffff03371be2870b1b15cd18815cee5f559dc850490a83fa0604991c8ce90d73e845760348f9c75b1c66d1f7e1346d71149e2ad8329e9ecf2ec557866a380d46052968ca03e5cf2f402f2bf2d3d43aeeb32ffb7b44915174739e7bd0a1d3115b36f8f808ad038e7c5cff9504349fc5a755a52109b5a8cf51df5bf9dbb489852732c694909ad403610942a803d5a86a1ae77016ab80e05394715cfea3d7add5afba864521fe2be80342ca29147fd9f8a1a647d5756cc203e2438bf379d103b59b3b43246ceea3805d039a2350d09c849f7b798ffe6b8a286332bcc1cd511db526485b4996bba7c575ef039354d34b5b1bcb73e2b631ad597c346255c6841d84cc1e420306ecde7e78a14a035e3258a66075a60ef9b8b9f3d9b3e1e196df10ad0c6781860e9f8d7ea656ecb50331e6a0e368162942e58eb22fe8a871a67be240040784a78ee2614a9d628995c003ead438c50fe86afb8be2310ae78b1fdfbb224ebf924ef47f50a4a5162f1c174403b34a208903983f394f689cbc5a2d86040dbfc1408bd22fefab07b884155982d1031da496d1e8432a22c5eac03ed07afbecc0d4b5a10591955f3ff49279a451074103b069955624b4f19f2e3927a8bfd6ea37a7fc502a85c5ed0bc7fd2d3db13c8a9d03a9abec7c2ca294ca1a1dfe581cae04a5d48dd71028f085e19437935f7b455c11035f68082270ffc12d4676901a9b3c96b0b1c2b20f3ac391eb05aa2b61a81d4c8803ec7d4da680a10392cb614dea066060f6904025eefba1dbe8ec678b3447d85ff303a6162c00940a39bff26905e11c291378a9c57fa9b54f6ec030a16fe915c313fd03ed609393f17ec2ab5f6be7a861890188d8a56d9f99562b3a0cef13720971958e03d4fe2bab87c42a95b50a3f2560b1aedaec2559ef031ed2581117abefb721277503b531df1124bb4970b85deb690520ec3957faae292c1e827e42311f52f037fd1a0362ae3d46f0630562920f2bd7d5f589c562b86bba61a872709d25c89b33329aff0303447adcbf0c8e881cb9d0d46b10fd030ba7cd0e107db736a143006286ffe70e038b0d0f1cb23e5ac048a3b3de65347fac729c2a3ee37118f57b24b02f08942e8403ecf07b7dbeada6d270389afe2fb45bc1bb428a0d7f86fdbe18a7d9441400a58003a80c8f85378f0077ebf410062d796de91d261e7e0f9f1084a502d49f467a52c8039f822e27972f8eb7a800ab6789e3ab513a595d6f09bc9de391716ebead1951d403a01fc2b3e8beadce99105a460e3c85071133f75f88e3324b3dcd0a034e3d9ddd0360ca8bd82380d05949770dd0b963a05a1b056338cbc7e85fdc585f2d90b6c9720340be48012b69ce67755d22743366694e1df0bfb364aba86a8f582f4759db13420377b5e468d5462a6a9a796013561a9b01dc605b989c66b9e9b02db0d2973d113d03d00d16131f198a868b2ffc4a981dc665c630203cf55ac6ac48f8fb521910562303ac598682a3522069300dd8730861b86f3c507bbb316877fcc8d14c7a5aa2368803fa52fc5d52fc2d876b4a7f759b3c4778cff387a3796db5394ccb57c6d6abe37d03994a4d6ad4ce8e7038b62c52794163d0080a265113dce9621334f038aee69cc305581e031789bfa0daa96c1398231378330d2d946d193871be70d179284e07dfc004030376da858bea2650be06a39709c3b9b9b2583242dc94c1ff3d76dfb561357beca304590b4260806040523661001357610011610017565b005b6100115b61001f6102a1565b73ffffffffffffffffffffffffffffffffffffffff1633036102975760607fffffffff00000000000000000000000000000000000000000000000000000000600035167fc9a6301a000000000000000000000000000000000000000000000000000000008101610098576100916102e1565b915061028f565b7fb0e10d7a000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016100e957610091610338565b7f70d7c690000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161013a5761009161037e565b7f07ae5bc0000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161018b576100916103af565b7fa39f25e5000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016101dc576100916103fc565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b815160208301f35b61029f610410565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60606102eb610420565b60006102fa36600481846108d7565b810190610307919061092a565b90506103248160405180602001604052806000815250600061042b565b505060408051602081019091526000815290565b606060008061034a36600481846108d7565b8101906103579190610974565b915091506103678282600161042b565b604051806020016040528060008152509250505090565b6060610388610420565b600061039736600481846108d7565b8101906103a4919061092a565b905061032481610457565b60606103b9610420565b60006103c36102a1565b6040805173ffffffffffffffffffffffffffffffffffffffff831660208201529192500160405160208183030381529060405291505090565b6060610406610420565b60006103c36104bb565b61029f61041b6104bb565b6104ca565b341561029f57600080fd5b610434836104ee565b6000825111806104415750805b1561045257610450838361053b565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104806102a1565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a16104b881610567565b50565b60006104c5610673565b905090565b3660008037600080366000845af43d6000803e8080156104e9573d6000f35b3d6000fd5b6104f78161069b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606105608383604051806060016040528060278152602001610ae660279139610766565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811661060a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610286565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6102c5565b73ffffffffffffffffffffffffffffffffffffffff81163b61073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610286565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61062d565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516107909190610a78565b600060405180830381855af49150503d80600081146107cb576040519150601f19603f3d011682016040523d82523d6000602084013e6107d0565b606091505b50915091506107e1868383876107eb565b9695505050505050565b6060831561088157825160000361087a5773ffffffffffffffffffffffffffffffffffffffff85163b61087a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610286565b508161088b565b61088b8383610893565b949350505050565b8151156108a35781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102869190610a94565b600080858511156108e757600080fd5b838611156108f457600080fd5b5050820193919092039150565b803573ffffffffffffffffffffffffffffffffffffffff8116811461092557600080fd5b919050565b60006020828403121561093c57600080fd5b61056082610901565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561098757600080fd5b61099083610901565b9150602083013567ffffffffffffffff808211156109ad57600080fd5b818501915085601f8301126109c157600080fd5b8135818111156109d3576109d3610945565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610a1957610a19610945565b81604052828152886020848701011115610a3257600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015610a6f578181015183820152602001610a57565b50506000910152565b60008251610a8a818460208701610a54565b9190910192915050565b6020815260008251806020840152610ab3816040850160208701610a54565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200b5100b6056e5ffc17e66039dcd723596f9fe3a99358830e95788eba2919cc0364736f6c6343000814003300582103d666a967f1b5763176446d3409571f7cb8edab8b6ab2f94d0fe0f2e1159717b0410103413bddc52086da7efb11d63a3cc1113ef53174278abe05f7403051c318d84c7f005821033a75adebaebd1f1a36cdfc7d3e94049d5921900a35ee2036b31622503817f210410203475b1452071748e04c02c632ced9ff86fb68f8e8d8f0f75a38a35c0891d0becb00582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154c26016f1166be7b6c5611aab104122e0f6c2ace200582002b6f8c6b4b3cdd240e92747067d3de37ae7421a53b3f55e9c398c5e5fa33f6e544e59e778a0fb77fbb305637435c62faed9aed40f00582002e2034297215a4957f8f53ee39665cc5887e316270929bf36f8f4833ad3520c410202192104005821036be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d28058198735049f496727f824cc0f2b174d826f5c40819200000000000058200258a69b21ff19a81c29d7b79633e0a1432feb6ab6e8c10dd5c2eaecd09cb7704101005820023bd43f6fa0917128eb5082023cec0f39003bc0c80b6fbbb97c2a0c5cd381ba543dc5fcb0ad5835c6059112e51a75b57dba668eb800582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d549d624df2a423cc3f0425827fdddfe053d9a0fdf30218230371995540e52a579e2354e5c2c502fb357e082304d3de4e3b42734ffeafe4480a03d2f4805fb4a49c18dc267a7312e11272e160c440a9926646c76a06db56c8979c03a7ba0fa00f9c349dd26de0a61b4f68cd67253daafa0702a1c035e39fe99b339f00582103d496b6ea53501270295e97577b0f8938357c11fb3fd3987e150d7ce0471234e0410103c68d436587a72549b11b9b6dc6165a47d1a884b341a19585d615a952b220224e02191ffe05581e033215b4c13b9b3db5694a434ac83fdbf44b1e1921e0d10c1f996a64f8f00701190b42034b236b131629b79b4808e42db7cc9bc251d6090e6c570c7661692a4f34b2370f01410205581e0348d12eff8e98633699167b4c0d64db80d2f401dff2b410e2c4faac722008470e35fa931a000005581e030ada2c31580c0fb77f08b2c1aac5eaf0c01379cb2648ff32219510e7d00c034719e01f6d4ae80005581e03c7f6c318105e3f7de789e797832f87b0f792a9df0e39217c57a604a5500c01471c67c6980be40005581e037f7824d2880e20207ab43f1890885d68a19a99a8d0f36aef3019c0cb900c024701508356912000021998ab032e76881fe2afacfdd346bfbdef00850f7d222e836d887af6aec4df695ffcc62d0325a35547ff585c54a06a0749b91603869aeffe19d06ab0b898032ea1a1b95cf003ea86bb763b2a72ca425c1708ee4030d340bd78d6ba4ed370658dc35a051eb2880219ffff03362a48f57f4b44626befdb227cecf73338cd19e626f7fc8529567b4e391f0e3403aa9a1352ba3da7922c587a69c6aa13013544369a2f28e7ab31cf8cdc84dbdfc503c71410a85d98d2b9e7a87d9b7f507ee9ec6ed36a5afe2407be5933e49c0c3a7b0219ffff0323996670ac9f74133027ccef53209222822ad6ef88bfe5a53cbdc62c5c5d989803e43695b1b6f10fe7e3571c3f5cb3a8bbe3e2fba636c1651f533be06fd4d4ad4103b18bcca28f2fc26913bee9d4cbc48b54d5cacbc4ced4d489cbf9528eabc562f403632ca2000b0732001774dac220da83e35cfb0e0ffd98cd36af8256b604e2b55a0219ffff033997ab8d22cbab89a5fb6087e6fc17aed78928fe80862cda6e52ddf851105cd0034e5715988efa557fbc5da50b8d208766482a94305ac91a61e24d7e972c78d556038a6f4dd9e0081d958d4b5dfeadba7bd79461ae8fc786cc65e949147f4dec19230386b6b8ae885d0bb37afc4fc21a4590394e4568e4202ccc562860256f5b66f0aa0330b56839471eb15ae01fb09502edbbbe4f2a5028ce5e8dacf0493fefb3f3cb1c03509ca58e3557ebf64607ca3e912355fca08266d87e39549f322cbfbfb91bf3170329eadeb93a49a8d293a27cb1e701a90c0146360ca87e9ef66a9b4ee4f6e058f2038f4deb3b45ef4e2371503fe303762acbcb02c7e040dd365f7a3c8cc903a0bde00380f79830d95ae2b97d1d74960899868f6a9172d71cb58b06ee4ea87150c5c6a903d0db67423ea77ca26c4da18e53fcf906cddf2e202a2f3337c764d74abf954f4503485ce792cb154731bd2fe85ad3eb39eee5a42f8a6c3f799b247610877bc2bf2c036fdedc9a4e6542b297f643d40e1f8d3fc7ecd0acd76a301d535624be09c73c16032047df4c4ee99ebec69509cdcf6715099da3e914f98765f85806f02bb8bc608603f94a62b4e0032116e590236c1060e35e3fb1ea069bb7b93845705a4703520a9003e61cdd5c52bb1ad03e48a60f91c838a61f1f28992dd86ba62e3d8ed764cba2a303683d6ae4c5f4ea0ad2bd303f8a10c7fc23594c0b42fd59db7f2faf8f097703f2030383a2bac7b5768fb9d8f04a3bcd3e261ee051fcecc9ca619c935743264f854c03c587d7766ef0e160cead13076ddb2f2150cd88a57263044ff8fd47605d5f0300038f3bf79b0daea35d3da7ddc792b248509606829619b855d99c65c514d734c26203d5825d18107566298076f89ca50e69ab4e653cad812d6fbf5a2664f463aa385303f5a0145aadf5fc9ee75dc9dd92fc457f310af30fc6ba8d8c31b042917fcf905603a098bc246bc584db769e8bc45f402415baa096f4e3a026eacace92ddb40e965d0303b7733615cc3ed33f51c510e6bdd8a96daf93ecb09a1bd5c48cf014c960463503a54677776d661e6b03cf4be001b36e54cbdf7ed09b2492a1edc10b77ef02403d03de081aaeaff3c79dde3556d00651be216ec0db8f5b14ad1b1cd5c4be956479eb036434ee081ac1aa88235c2444c1d27944284876c443092f47c13906cc7ef7feb7035b98c146866364e71e69d8dadce89622cada18aa006d11faba54df789114289b031f26be8b36adcfaad4d42a594d4eba10ed887ffe27e0516e6e603b9326228edd036bea6ecfe28e9e02f8fce9137e121d30a831946c3e95c5625ae350485edacbc703071d29f46a7cd76904bd9f4c2939da2e5e5ff15fbe4aa42632fee848b0d5be0d03bbb6f175467680ca51ae9506cdd9f4f43c923528c567738b698e97db96b181ba03901af358ea0b8ef5af5892268b43cfc045c13f3ed8a5b1d0cf4385a5d6390a5703f15d126393f024d5e887b5e5b435fd36b3ab6f60b25cdde88b287158a9f144eb0358f3ddd97898091605105c23a96e10b86748075aafce6da8aa75fdc02fd095a4037f7133b600e716422483d7eaddcdde3a1bb0897616216de64294bbb707a3209f03fa2155cf91f94c44e0d2394cd40165791170dcf0b01fa19dd73d94e43b3da3ba05581e03eb6d363516d4cf596945bb18a1a1e5fb178defa464ca8f3480d7424dd0040205581e03cc3826645c304d8d03391c3ba3ac042990fc5685aa17d9c4dd101490400c181c4792ee3c0835f1f805581e035e363475c352c464cd64481678709dd07eed3e8150127ce6c967ec1c600c0142138505581d02aa24c8173cf945abd9c9b70eb7889b17cb9428a5e2e07adf40426f480c181b475a606bb1a4ce8405581d021546f780e19931135278e20d9a2e749d77f7f64a5415ad70a32c20a1040205581d0234d2b9eefb0250af543030185078f911df4cdb1780f681e7f2c156000c1822480185cd90dcdc72f50219404203fae366435bc18a98d9be329c4014ff2354effffcfb93e9a9921a9171dd92599b05581e038370fdfbe26702f59b443ca7e591986c913e1c1137a69a3f58a8ac11800c0146ef82c92daa0005581e03952a7f1e6ef3869ddcb7acf832152fee7a70fe5ed69327ec9774559be00c02470b3b4e03bca60003438e3792f3843acf0eb4c4f75dedd465a75b84cd8cf7bb65d2c477df5e29ef37039e4ebe5d50847b4ed24adc17b8947256ec444d63ced1518deee891dd60a62e3903c1d8e8af347650a5fe1bb31b8cbe0ff5cf63a7750271c7bd0a7772fb6fcf3e400310693c9023d0010f27c16d9a4838d7865640808dd75df95915802fbd1f22e06305581e038d72a759bb1967413c48adf3c05252ee175ba322ae6b45a463d98da7a00c0346faa15961fa800219df1f0342bd84e78f98862546592c3aedd377fb5ff48846d8945547eaeb8354233fe18d0343c52dc60bce8d753cc1e9141ad5bd35c4f2da6d75a1a324a1e2ca44718353330219ffff0366cf612e39e856f4076b46345665b2d9657d14d9209635bdef2b2ceadc84bb63032239dda63f123deff268737389ea64e40d045dd8748fb4f28ded528a0c49d4b6032b1e88937af8aa12c6c211bc4d9bb49016c92db400be7723e1e50b5f28c9f61103f97fc89ce6cfbfca298471a912ce4725a0573ea5fce313cdeb14993a9d0ed3d60219ffff037dbd5e97ce717962fa4bd55672692a39b9637d91fa8a4bf24e88d03a23ffdb6a036a191100e4dce353ca0c2f137b48470efa536692fe2f36033ed7c792c1fde5c5031c58abb034f1549cbad228d74bf37eb52c7552b754f7592bdf40b622dcf1ea4603b8c8105d72a4b4a083ca78e7996ae7bc7391e9c1f819f9b5a9157eb2f01cd09d0329d8a247926ffc46002ec1214625dd679a8130bf5a705815e054ffc26da3615b0306a89d1f95e5fb33cf047008440e282220ece6a799f4cfc8806b9b39ffb03ae80322ba0b6b7695dee7d9541b3a9eebc4a08d35157ea43241c2455c1c5f5cee3de60344e11a9d185ba2b0589c2d608cfd5cd3a7578d5834733c97bc567f4545b0732603043bb7789d641ea4c1f72bccefc0aa55a432318e1e7630aaf532db23ec92783703a0159e1daf986582e39e39fd3cdbd94000e2b758ebd739b23333b1d40e21247d0219ffff03e33175de82f1e21799fae5b67c30ee1c7fc4a09a8f8cb4e975a235e565d73b9d035935d473700584e6ebb0489bae4e9e013ef207de941140f04ecf9ec97bd2c264030cfddd619d9f0a018cd6c867d1499e71bfe40ba26b37ee76884c41287c92481503961e97c1fc1ad180d78d6b01f281c4c8a6ab272f5b6586f56ba12bef46e26beb0313d21ab312abfb1b404c8bcf51ba99acb1d13a157c7e825d86016a01b1bc0ecc037b6fc4e4ba603689bb271ba64ce57cea50a13b2f574a640840dbb1c24c21e72903f070a9c02c49fda39f2dc846a85b921081234a68e1a878d1fefc6a8c15db22270363f642842188b87f2dfd3a389fcc96f937d53001e834c503ad793aff8014c64b0394854fe28d598f962e306899d2cc1918870979e5a24da845486df910f28a06d30303bf4a32a8310dd5be311f862dcc2f5e007d8638f71ba8313f0e1c80779b747103887a44de995c8bd0253295929f373683a079c71d6bf81c8b33809f90cdd7fa3703e3aa61d2ca18eb2a3848f9da1a7c2e76468b2ad3696427ed09b5a472021eb2a6036edf61b9d759f0c50b3318e0c4376d85e5fbf8b5c389977398dc1bf8f43567b90391922fe3337b0e5d9bb6fc577da3e0b1ba4dedb9a07b24b8a5e6edb72e1def5b035802d69ec802a210934b0a6e41df0e805cc4b1117191f81ff1f438db11ab192903863e86528dc4d01100c0e610913d8da3020848a20f3a140f60d0d0d7f4ea223503ef45ca53bce65d1a69633b7e2e428537050dc3284d3aa633b30a5c3853ce6e5103c574749653fe7db7657693c14bcb55efa2720c42d12c0abc3629b2da3c00314e03c1b37404d0d81755a5b6a55fd8abae47169317fad4359c8279b24e77ecfcddf6033109ad7bf44fe4d974369d45d7131195e747933fd39c963bdb5399362ca85312030d02c39d55a23f170d1e9811db17d20286f1bd8f97084da192f2538d0af0c83203b6510f39277d66fe60af6bafd79b33d22e44c3c44636fbe7ca0e5b94d88b4819033ef3a47376ace8d2de74e00e08c89f612fe28f1c6999bd8beede86c8d43e63b205581e031116d1bb677aa9b57ac6b522ff4c8dbc6f14e1dfb0eea6b9a86e2e33000c0146c276a11f073605581e031c0a706979cab522eab383ee95b5e220de2fa45f899b45ace47147cab00c03474a5cf0fb8b3db905581e0346b3d6aa6b5b5b0b8a87394054d596540d7ca028b3ff07d125575c3fc0040105581e037f5f7b1d80f62252737a9883e46a91d6d190fff41162d5d7d8a36de0900c0246071594e9e86805581e03fc75874e6c10f0d6f592aba6d5dbcb44f1ff196bbee6a1d8f9f91f4690040105581e036dcdc70516c131b72191351f65e6b3c50f39f7e2d9503bf2da6a72ffb00c11462a424117d10003701554a6408d6a92df02879e84472819ed042e24ad349fa36a39be230fd6f29a05581e03943b987c7f2d1711f8220c2c8686a9dfd0615606b0efa4a076d17e9e90084706e2335787f00005581e033cc934ad6e509353c83ba714b52e1f4906c1d56997c6af3e318f4889e00c024701975cd86518000219ccbc03a5dd0e0359eac0174bfad86230ab8b8f2a75bd7969c323d527710d1a8b00d6790355e04112ad39ae009505b094ce063f5dbf95a29b08e17b766489a4e6a8e5e2010314838527de28de584ffdd73fbca547be4db847f785347aac2d24685451fbe4250336f703072b5182c1ec3e05b9ed68ea395649a08e0d34193efd1fbc4f0d4b3dc903d428fd3d7e7cb41461a65780537147226eb5f29dde8f0433976200bcd790bff2030fc3202949d87d43d557d3bcd834f4159c81430aee7aa991b14c2dc302cc6108030da613d2791b5796fd0529017bdc114e2ccc5583bb7d3348a31aec7e3e717187039fb3f0f54e142b121e9341b752d1db8cf7ab8c2953d56a50c83b5ff8b61cefa90219ffff035eb465d2d65a4a0ca60594ab76cc8fa88ed407ab6e791f97c46e061c8024ff5d03e5c15fb8be055b545ffbd48c9930965f466bfee7017bd17b6b215f682213909c030571327714004f9c788f58b7123c4be990aa0a894819ff01175e9a9f07c49e5c038b677484e0eccd762adc2c82d8b51364d6e3b2a329f92f53071b75fba04a477303e35c2eb50533731f818b31523474b09229b676e821289ea4e1aadae97891c4c40351d97f8c347a17512fb53d5c47e3149e5c184c735d7c4c398ea44feb5e22fc74039f6b62059c22a3f57b5768ef6fb40a1729e9881a7fa0e0d4dd898228858f51d8036b7241f5317c00781074e312614aaed9d897b4576e7e60681e47601f34b80c940219ffff030c277199f2a46786105b0e83011c33e7e2887f090909465b214f10332afbad62035c1a942c0328b4abf4a1e41bb728c3a9db26fb3df00b57ec654449d340e0f40c0304709be7f17cbd3d1fb816d13adcc3aebe1f162b001863c614dcacbc9b6ed06303140b9fa74f2123331435dbdc7114024994aa0c4d7b373f285735c134a1bd0e150377238382ff733c606d3a48da6e72371602796d7a9a109dffc41c506c2fa14e8d03688065ff758c892406eec53f430e33ef2622fb82c5af20ce1a0a16e8b63b80c003724731d41524c02e074f2ae46fecf76834e3852e78ed9dd8db30ae02fdf879f603ea180758b92a6a936c945a9c11f6832a7cd4ffbb80b910eb8943a118a4597e000219ffff031600599e14807f37aa77f1b14d591fc3672ce3c6fe298c856068e4ac4c122b9203f86c263582205b8ec7dd658af56b50b6af30f680dbf0dc3bb3e3d501e216131d0219ffff038759fca3d280b03f68c20ebfae07c1d29b6151aa9cc9f4c61c0cd4b28dab171a035a5dfe56004f64da72c35ddfc16202671ff8a55933850ca2a33b3ff671de2d7b03d896ee9f789bf488fc1fdd118b9cf8abae6c47ccfa478117d732239e1f6f895d03f63a44ccbae4cd4cc440f9d89d8e0acf8ecac396d64f14f82a59296b3cc08e3503f320ca44b1b3c5c5c6a31f45f3ba831cbdc02207a20b1bfb07039caaaf2c10e303620aad2a65126b2da91148f3a46df2d6578acf60ddea8acfb53d8168c9dfb14d031c6b039ab6c23404b20217b2b64c4c96bc830421d69618f3bde5c79521115b5b03516f7a0a5fa5c291fc5b3e73b4500f21c6607e80aaba0ed46c423f3bb7ed40930398068b18a1bf9c77b8e70a4f0cc018cc906fd3a43cc050d430d072114b352570030bbea60b8f8bf72e6d66f282b7c66840ed9562f5aea541ab0d1a2fa1da621d26035d8daf0aaaa8e8c4c7bd843e00942e3f76955c21b7f4cfd2ce1b0a70aafb40b6039931544d838ca3dd59a462198f03c0399edb540633123f8b14feaa86f27a421203b45b3b90b3a504431ebade2d655de1e2f10487c5943b08c227602bcef133ebfc036d6865d5226f898e97bcfaa85c5f3e4509c7e2727509ba07bbdbe69aaec619b1036a5782de857d32e6fe5ed5fa41df6e3ffb47aeba3930e037f95836ce57d8484e0366a47f4d3022e4360ac71c04292ca4d2f8ed1c56a6799b64ae995736494abbff032ab182eb078bcf7982e4327ef2c984d80ccb2d96820eafa131d5a9826c71898b03e4af4c927d65a496cb7b71987155bef594b2a9f73a71963cac615e49bd60c74e03ce754ee2f8df82cf6fba00f58786bfbc2958d37c5c088af70a4da01a8499524603108f9f63c0065444ead270c260ef985eb63a93c6a0f00129cc8b8738766147fb05581e0300bf94c3aec64d6ee6c23cd35452058b620387b9d71df91b7541051f80040105581e03430ea657a7c8bb23f6af8a3926bd7163eda4a0dd8bdaf3870b187f7b100c0146204529bbd198034b662d1282637c9f33c7de4f07022a727ef0939e10649a8c544c171bf4015ea7031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e032ce89c086aa6623cab0f8afc3dc3438aa16ebd8375274cee8f56fd2a9007011bffffffffffffffff05581e03c2f3540735872ad983e5c896e261e04b36796da9a51f7f33516e4fd2a00c04471bd1e07d6514dd0393799c904e1a77bedcf95df611d5df72626b14a408182e4abac9c744e8f7721805581e03d7d8121383f3cd6f88117c600338b72ce5225766f0551ece9fe4b02aa0040203affe208456e818f69a73122832d6db3a7b93175f3bf83dd7f080d11743c81ea90352b50106208b0dce3c80d2e9f04f9a259d491f21002b96e6e8bd8b57becf942605581e032d52458571bb19ac8ca36d59c7e1f2438b8a41dad84a65251b622bbeb007011bffffffffffffffff03f382c8168b98e6b4c04cd32207a92fdbb73f75586c5bc69b405d232d2fc594e305581e03be80fcc3c50d7b3733d9c2bb2294b13706954dd7fd0e517040ae0390a0040105581d029114ccb14f7d5562ca9204f7cc982b2bedcbb471b361b3d35b0db2820c183f471462872bbaab5105581d02fd496e01b88606f51dacb6a3039bb894c7fedbb0bc507b3310aecc4e040102191008021967bb039fda5c34cca249070f4d0bcdea885679da67a2f43e25020a2713c1fa135bd7c003b14f8cc735f63704c6e61e45b62ae75a4bffb89d6fc140071a97e2d761be6b3303b3cfc03363860699943c349ea06ca688dde24fe758f02f88743292b656fae7e703d49d5c1584a1a1786f552097e2238b51369b747a096449f98bb03e2388c2fe36038175965e6e2ea069290b31c9647b0a0bdca545f2a108de2e2df2b0d579223d7f03f07954177ab91deff2b344531bb691de9c8462ec26834cdd47d3831f18687c0b0219ffff03ef8a8d5794e2246866c93c7d428517a80f7b1a132d330e8e3e20e30618054f64037d2e2889d70ef64cc9be08caa69a7a900b5524a77021f4ca093bbd2210588d8603e05dd144ce8d69e89c65149f518bdb75cede7bc5833f850a1abb92bf593b6e5f039858db4d5efe77ed8d38690e0f635df8d9b9661195338a2eb42ced8ebfbccbc50393040e9fad8f79466e951757b2edf487c973af5480c6662c36a79d50bb829f07037c70069be490f7cdbab69916c457625b2b6371ea2baeaf0f6b00a99c9c273b04036aa0c6f803619c5d1821b3f02b61e5377d992176a237b062ec8eb002d6fe450d030cf31c4bded2aacca45c44aa5dd488a38ff1c7a6fec7f1a07e18a947e228060a0318490c95fd6aaea88e846dc8ab9981485659d2175de6115bf8d0bee0e82f837d036dfadb8d32a39c0bc3b6adc83351ba5956f6a45816391d8f057ea088ad0e43b003e7cb2679f9610da918062a526570f64bb3e9baa14bd4e9ecec88d31501753eec0219ffff036b62f5687cc15b44e95dae336c7b52714ee138e5e96f1e504e74f47f0e5ee80e034c7068c15aa911e2309365ef4d4fede31721ab9b91fc271b1ae8317522355a9a03d043c97a8391509c57672efe5a458cc0963ac22ee38b60bbdc9d23806a4240db03744fe2b3416a6c9c815bb607f7ad7c152308bf54a9d36efd32bf932cab5198c70378e57c4b817cf8026e42a410c16781f0b98359a5df816a1306d4206fa270abc803324b4646655640b11929110505eebca456f5af358faa4fd9bae723995b5dcc600329307f66b33592e007fb70b70309c038e4a7fe92cd357298efc15373e12df0c0037e87708324524393dcab91f895375080755acafacab18b36ddef4f939129ac250219ffff03221077ae1cfd4b6ac9ce58b6cbb5e090ec5e80aeae2648d072b36c2ff9e551e70355123ce0497b353668d977e15cff8661cb4f89e1a797303f93b538cd9578053c0331506b8d8e07a0c8b99edae02621a8d193f6d9680b34c3103a40697f67a66fa503861e73546e254964298e4d4a82a26d5dd666f03f263deefbd2c5fd41b13e3d9503ab14bbd44e2c16af7487ee55d40221166f9d83291cba1d4b405c6ed75718b65a035507daddb126a143756d823eee11fc70db46550370e414fdd251ca039dadf9ca03923b46c672897e3df1ab6d4818cb2d76396ab983b0f896a6715392055fa095c2034d0bafc760bdece7e0122e865a9cfd94d3d2a157210bc2a743699e29e53ecdb303d0c31d313b22261ba1b410fb6806c4104ece577b1755aa32d43debd4a9600d32031065485126c820de50c84dd45aa30008a26aced9ae6344175ee4e2218043c6dd0340eae69e83f9034c062b86e2887ffa38df72bf0309842901a4caddbb2133591e035ed805f1d230d215258b59f73797ff8b267992d9b5393a43c6a2e0cc909a65c8034275c6914ceb45f0fae864e7302b35f6b0e1b6f819c9c62e682a89c7ae92a91103e85a7a14590c4a8155bbf229f9cecff463a8dea70e4b611edd4f22be234a1d17035b2fbab60a91f111488339de30dce549131d74e30a8285a80cd0b3a042a0f0d50219ffff03705a4df036d8b3f74b6ebee70d52d151d4ce58abc8365f38947fe8e544cee0650344556d833d945f9bce9f9e0c36f63d2ba8fe26b307da8d91942fce1992163f0c03347fb1221894792fec0a6ad8842b5f22dd1773031a6d662ee23bd13d79d6937c03c5d34400c561586cc62c9a43bb1f903c8615724ab3f86913ed36a9b2601038f003e3229cf5ffd475f9c708f88283f8ec5eb38dd26da1c116af67b8ab411d2f5b1b0392f64309ec6f99a7edb929c89b276a2f8892306b9bc5a367776425005d956b8803009f4161bb84296fcc0d8b5ce18aa03c455535c32e106e38d99c1a599cd7a4500368b225221bc7a341ed5b63712277ea030f680518047508aa47712bb7292d460303b187acbf9e111f6cc6540151e577ccd9dafdecaf8539ade77bdd83d215a890d403625db1a1a681d4664afb93b6989dfec72d0e5a862c367b236027d1d7138e6c9c03ce5105f2240cc1c57c310e9425303e0f0e6c3938a1b0a68ca9b5767479e3eb3703c048357eb8e47b95dc725702e81360fb9e553e5a4ce0396ee4336b32848f205703d6cc2149f231eaafc39b8da757a63349d271e183078d9f0ecb198bbb138fb1cc032deb4613ac29940630df78d4cc867cd0425d7ee627535e86dd86637496b3564b03697eac6ef7eab2a3ada818afcc8b800a034ff3561efb176677d720240283e1c603567d95e59284891dc6a3d78f0d58f7b971c95f7e0da44c5e5ee25bc238d462aa03f5aa4f380eb1bf8f42b6d5a619bd544968c4c29d770b28473531c8ff879c81e903f572be0d42015148488632de0118c676680c39da9125faf29ea6e9af0b3f523103c613397bb8399f717a40c155a02a2934311779e1c0d1134fd433b1b8e3d6145203f7bff8e1fe357c97ada943391e67d7d4fb64ba4a2c92c73bd9c5503acdcc48df03bbfd77ca46a834a75c0eeb284844e1f83dfde32c8d8e7ec421d1bbccb056c02c0399c9d8e1e8eac4e496197ee1a3dbcf60377215f7bcc79972e270d4bd190a0f28036de33d62f063a79cedc59fb338a0a1a26098a9b3c4410a0c23c9c71ec0b9ef760370656fe5d527ff01b40ce4bb400be75661432bd507e11101980743ed862422af039abe3f19e0c1c670097d98b645ae2d0c21c03469e9f1debf2bfeae46446dde9903ba486284d10ee9603feef5411c1603d1b1b3c78a72f4188f107960af33a07ed00324609c74969f45e849f24d4e4f7558bde1a084aa96a60319ba90a44ca4ea985b0394b45943c4a24c8ec72fa9d2379af58d397ff63a0d1cae239b3f3f58585f89d005581e036bfc9f865b2c11cd0ac860a8036112d20359dafa383d5280d9175ad4500c09478efe15c46bfd4805581e0330044b6be58043e2e4fac343e25ca04c5f04e1dda9f725fbfe330428d00c014706a724a5a5510005581e034b73d81fc1966536ea53d77b17f9fd08975c92977d57ccab8bc2b4b5100c18194701a566b3607140030273dbc9821188eeceaa4697fade8846f643c7581f54bc34b59a21ea20faa27f05581e03a5a35888d57cd2dfe66b0ec0dac570a3215dee91dd0f139a8cbbeb7e8008471c6bf52634000005581e03427e4a5431f4fb0015e3e203e89169c769a16f9de519fb81c403ad2840084708406b70183c000368dc4fca858172c783ca0a0480f8874e489dfcaf17f2b3cbfb1bb792e8ccbb730219d2130397633ec344ffc6d510dd2e6c966f303c007205d607a57bb0709193840bf46fb3031c6b16f132e2b0e4b6afa267e1358a3e495d755a4f127567ca35cc2ff7b83b9003ef76e2ebf5686f79910cd9d6bfdca7faf9d12af3cf4574a1da2cf9163e25aa830219ffff0368d588d9d56778f37f8e261d20f4f00af57ed0eead585176c93aa75f8e49b3b703e1b2fbb05d7d724ed22190de032a4dcd742227ab3a8a1bf8e0981a8209ee7f0803ce62786666a1702247ff1335ea6926eea34538d502bfef053c2163392c9f7dde0379bb894cd665ab5e62da82533dc8f44fc1a4756091efcbe0ec14115c64c320fd037ee4b2183cf348e2de92510c940c9286c356d6466c65129374bfe95a51a53f9403fa96e9719ff205e43fdb4dc89a8c3ff001027e847035215bbb1e7c2c267d42cf03cb68bebe03d9b3a46c4f073b72e33f94f7578fd6163258dac930e23ce0e5d8d803ac3a0671359ad3b0f6176b9d7b9d2e6d20040b218c41c43b208b42090bda5bf80336e235d0c7a64b850e2767266625e4d5c2a131326e221373bcc089a9093861ac0370c093e066db1066a87d604c40ffeb0b051d96cb803c537810f5ce2f6b96e74b0339b8ec57828cfa1891f6850aed8f183fb0ecb6509eb17cb7519a7e81365d0745032fede543c77c7033e171de7022a6de0baa67398728ca0f4c2a45d720dd7a71a8035b52d3cf0a39f89aa102f2e41aa9dc7d58c13cb47b5eebd8157c37528a93a4ff03800aad19176e3f3c33b10e894d46729c00b2a6341e6f2a372914042d1090e8ec0219ffff0358599cafd0ca6a27136ab2da9bab17f57d8ea4b6b7085be91e1a6efa9a0f4cda03e41e5498d86cebd6be7960ca43a676858415d4efd26248df6ae121e5a968fb6f03916860cdf2685ca64e853d1ae045374c0bc7a0312c6128bea1b590fad5e24056039982ea9b11d67b2b9d97d31bcfb9e290376636d320a8a1ef827177185fca89400219ffff0378304805bdf17e66839a4c61964a8957971c93ed581267edfb7e28bad0df1721035ee4ceef865a59588e4f6d696423ca874e253e274799f9a40807047b9a4c787f0370a091c8cc150d12aed9c384d9bbd7f381c626fdef9fce761a154be33a568302031ea449eb736e74af987f0a52ca700b1a6bfed1b164ca682dda0fd91dd2db82c203dfea544de8b74db0015636278f234121d6a818334ea6c9722a70090658411acb035320d99d401701985e01e184309817f77620834b7b9fb96e74e0518d5aa899b603ef208c27023c1d02639cef809e1a4a539046ab60eb2fa24baaae4f529ac9521e03fd3612d52e8cbaef5fa2ad329f2aee1c17b1fe853d4f63e979ada622a7564a05038addb3676be74ca4cf181e4cb4a5db59ab123c42aca13d5851fdf9c4331df65703c32d1cb8a46971d4ff9134100c6cd8ffacbc71811484377da9da75f1f14ba59903e96576fe1d68ccd0de84061402f970c06e5ec0e58e5144012c1b59bf66ce96180301284616f270b4b4fd99a31b40037ff0c14522c0883ba5fc14aeafbd60e36f7203db3623d734eb29d81e5d11d5ad34e9701d7cd984271a912e4232f0dff4d61345034e5a1fbdf3ad76f20822c34d324360f5f85db136da2c47517ddab4414158d61003b51652137be243f28e962b0d90cedff6c3270490e57d5fe7da30ca0addaa686a03247b8c90142b34cb54aca2a7bf917b94f9a80cecab20aa052f99e0a152fc113b0395305bf0ab0df9e592b73ba28b896a4291b31677f1f6f6c4529cc40c5d22a59e035b658465ebfee1b0fc603e847a447b44acd7fb32d6b905716f0910bd7a147de803eec28468e33bd549905c9536a3cf603a52df09021711c6fca93f45741b80e59c0309545dbff5065db83674dadbb06bcedda6d056d63cf99d6746733d7584f0052403b6e3db0e1038d95ba6c1fd665e38089fe50e95f5d9bce17c4f68edf84d7662b3037ab4db41b0872a02898a9fcc34fbe5002377aa857faad5d2a2aaa927e407f4ec036b7137f819a8c5f8f8a546083d3ee68890fa4e852502e4b0e9181712fdea3ce503697e674bb1cc39bedd94635398c546d25b6e4723a84b8f57f99aedf0cb490f6805581e0398fc9f35bc5f6072cc9eec47e3c3faa791a0ae21eaa123470ceb210cb00c034620d21924478805581e0385d94d53f659e5466dd23951a8774c13ec4222982139cd821299fcb2200c06472c5e0fdec2d20b05581e036153dce9bb23cce691dbd098e770ee33368267d13fb344cfe739dba2400c01476435d65bf32ecb05581d02cab273fbcd52db1f4e35e713e3ca51b7ab34eb7c5065fa71fdcfc1c40c0746a1bf389661c8031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02b35a71804fd9abd0cdae38897af4b49b5748342da9616a69314155e307011bffffffffffffffff05581d02e28d98c25bef2c454507d3ca55a07da1142c2d7d994ac5633d76ab140c1904e8480fc4aa0365b8bda605581d02db211404c806d5cfc763c6b9df44c1e9cc15e68884a1497a78b4bc590c024701fbcc82c21fb80218aa05581e03e05e2838878878e16c54f0813a1248fd7b587d8ed49646a179345e99400c0142138003991ca67df4d83f657425423494e051b564951a97ed9c9c53f677ffb1a7e0036605581e0377d8c8a9aedc46a53230bfd718fe59b085ff680c70652c9303a6bb93500c05470528775c66980005581e03a82be07b0ec957af3f54cf02526ffe91cb7532427336841e014b8f81d00401034289c496e4c3fe8396dd265756990041cc4e34248949663fb37a62b4a9c15b320334703aa7f3576b34dfc0059ed000073015428d78d8ef7191f62066e6f963cbe305581e034f2f030f3e0cd351033f2083880607190ff337c5414caba2319f05ee8007011bffffffffffffffff02195db80349b1c7ad66b269a1a6b58adf729cec4ea4f62552d956c0ef8d6113e0381ef5b40385fe2b4ed2f207267ae22b0f5c69e347b7356718e417d5fbcc3d8c16ca4061bf034232e32af52897298b9d4911b4f569c444cf3c36bb8d2426220cc9f645386cc50219ffff03c2f340bb0a33472f2557413ddc47ab8e491e754802ebccd40715c932e382c2c203af64a605903bb52a2182e4b84a15ba082353ce9a501997ba6edf49048f3705e603fb377bb8dcf495d28ae965f6713ef28916b9ccc170b2b5573fe1cca585bc632a0219ffff03490e56e6aea27b9838afeecb05272d78191989c241d08ab97c0250b41d0de93f034d9b35c7ab8b27e7780f18d7bc9f6de5caa615d1834fc69342894d814cf114b403c2f6d45ef691dcb071c2d5907edf6235ee064592fdb71fd8d476e45d8fff71e40327e12ea5b2e970f4572b173d054bfb92481cc72f763d536a4e8c00c863d2fe4b03f09b4a9265b93e66473990e1dc85ceebf360fbf07c0ee4a795404315c939fcdc03c80a6fa0e3ac123854a8d93aee0b1f4e22587be7fef35696584f2039f12c7b7503d9519ca1f067185106e098601736e3bade01ab72f84efc1bd39618cea33e205103f325c24b8826843e13ecb96752174c032537863e69405c9a0ab81922e10a8dbd03ff0da2002c5450bac23a55a2f2eddaf20a48be01b8f1af2c88452cd6d325c2c403779a054362845ad11d44f9e93855f39caad26decaa4ec9fc4bae0520542affa80334109b4730df055a6ae4d24e58d180ca3344736340b870f9b7a5f7fe1a24a36c03c30ff41eecb207d5a3481cc86a499431ae83ea5cd0a96ed46200126b4a6c3e9605581e03c3dfdcd38f82ad925ec706720cefda7e4b5c0d16f5076c7227933274a00c02471e6ac67af0f40005581e03323049ab748a5be441024446dad16f08dc911971b5bd820bd64e96c1000c084654a8dccf120805581e03e3992fab6c6c26e424179ad574594e5ad6fd32c61998e89aa1cab58b500c014661dc93c7200003676601a32b9fb64405c075c60fab53d0ec2fab595f9901923301e5c0cdef6a7805581e03c297e98c65149b18dbd161bbc51d694d5f6154fa2372428b919b7333700c014713d2fafdd8c00003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e036662897af4be2ef441dc30083ff14b652b9318858a13eaf6d72364c08007011bffffffffffffffff05581e03c9f64dd084f2cf018c7ccf96c7b607095933df4eb16c29c4cdb18298700c187e476aa50ff9eb2d2505581e03a918622f89121de0e6f2905aaecc341b3ba70795599d4f6b0174a584300c024702235de209efb003c76eeb2dd86a6667299a1a795fb66a365714690a84ef64d65d5aae0b0d3fd5e703b7f3c1608b68dff38ee143d3698c1c2bf3b889e5b8f3d705852d124fc852560905581e03cec4395d685a2e8c08607b621b4330650ba0f08de8423bd4c1f8e9bdb007011bffffffffffffffff03fab2ecde6e284f7a9c5814b2b23054da8081fde26489f81e377b0b913c515f6c0219556f03d6ec37cac84f23bfe101156de963cebc358e3b60cd1a0ac6c8f56b91e635882a0374b5fbd445676811c70064d82d8f4fa9d247aa0a00ba70dd43de62aabf35c9fd0346b97e46d0bf79e0632b4fb67afa50818bd643cb89d81bff1c8bb76c1348ba5c03a685a9714fda16adabe1295633e5f1c3200cc6ec3976cc391f16e50711d8940703299550319d671e67c7575a627b5db4a87d2f259b7f03468ee494825bb4b7bf410314b63763a1d0ed7fbf6dd2ae29f3292d6fefc39f308063eec4cc25f33af7108b0219ffff03105260d6a607e89b00e7b6bc1f89fc44b3c470a0f5448e9ce1eb2e9cd0debc7103225e0937fbc970b560db23bf3becb8688f97afb02891bb095db8e5576c5e7178032994c64ef806e5a93554535ef21dc29ec81394502164079d4c5aea0b4b76b7b8035a27f2f2eeb9cad2e472cf65a49427f2fe7de8c2b201581e3db5c37dd0f7203803b5581f9f7fdd8a1a6348cafc912723ebfd9cbf856a32a0e8f37f8bdc353128110344b527cc5a54b9826635cc08454c8fef8a6ea3e568e38b5f6b97775596ea6ced03c10a7f1a484f40b05fedbe0fc990fd4f3dbe7b5e6d03dd19b991417e623630b40344c1623ad9f937a940b0e45a650a9508328bdb2585ad830680b22231a81d638b034d9e48094fe8c2f4355ea340c3e44be017666c8213f1a642684c8d4e51604bb2034e694b0687b829fd178251bbada889dbd4a4c32abbef252f59e0f766ad665ca8037f7db64033d79b4d7468ff99d5a5b310e45dac76fc2f80a19e07be45964994ba034dc175d1daf6b546dcdfebf69280304d29887767ba9e18f46d22f325239764730371d97c0c20c5e0cdd93e78afc3681ee182f0c260f11d511aa0129976bc717ccb0303add23e7fbb0fafa770a9754ad7b50bb1cfcd7b349bace672f4b28f4ff4f29203835dccb1d1ebdf5b8a67b29328d7a34d98e8122e3eb17cb24809690bfde122860219ffff039b4954e1740cd0d17bb6ed25848d2f0a1e2f2eebb7aea2863bca70b493b4ceaf03b38e139d42dc6f5f54d0457e7608e8036536ee6dcfdbae02cfec277eb766aea8031e7219788a4b8c10d1529d5e872a58fb86405b7db4a6c6f3fe3a180f4307ec6e037311da79eab2f6334f1c3f114890da743b3ea2b3fae696d062f1c2d79ba2cc3d037940c0978e235307f5e4a7a1b2b9d219b6e73a56d5f1f531f3464176b25fa2460363e7a971f8a90f79dd219b9f611f2c6c16c72317e29931841f40f804043313e303ce6a60b816622d0342eeda5d72ea9006b35fcf955df61f1c52cb38cbdab46015037552d0742c6db32457810f1a572d028521de892ec437903272379b85589252df032aafe640aa07478ad4ea2a67f91f665340c85cc32edd2b1c71b67d9a51bd2b9403e5e995fdb43932c4dc65f0e2c59964ba4cffd83c86d9ff3e0ef31378f2ea922703ae352d4e73ae1ae615eebdafd5007b33c8f7b249d8b4ac99eff5d7aad224b8c00219ffff03be4303482eb6214a5e558e70f7805ba7b038872273256dedf32c1c4edc44364c03ee5216510d21d520adad8e2231c3a11771c1c05ca08484d58180982011e56e4903ef1ed80aaad6b7ffe39891a8a17a262ca43ff365f5593645077b9326355c052e03689978dd990cfca289d12c1d35cfae421ac783816caf12132a3018509fcc44390320ebe64b8181102834d174093797b851ab1a7965489b0ce6c61dde95b751e14003f955e9b152fedfa8a6d65e1b4ee08728c28cc73a2ed238b7ba62193f4ee5b3fa033f78172f08e19fedd51a6091d7a5270524bbc62646cc51cee4bbe22eeccabb4703634d5e5019dd87135adae518de0b93d0252e623878ca336b5c4c3f5a67f4273003e67d4b894611bd805b8dfc658b39900a43b93f73e3d5a80988df1dc3f6880ab303a694965110b138fb1486106ee51ca34981052921a1aeb01a75b0e6dbee99e5cf039604b72694b2f0d5d709453787f801dc8cbe62a8ac02f106af754049bd23d67c03549dd030f1823fbc85121e1b246cef4a44a836daeeb535dd2ee44b4443103d91034e4589982cb965539a2fe1d5f60812e73646594cbe9064e2ef7cc1144a1ab4e8030f536dfc8caddcaa6a7e9066e0f5086e0b14554232d44d4737a4c4ecada61392032e36019eaaea8ca5593dd413da4ee12c78f343beb37316cd7a1ebdd6e62772300395f5d4ac8b4f2ab7ca46206d86dce66e284b9f695a19456aee02ef9737044e10034e0ca65698ac673ed487e09b563f34a3d6d189aad9560bb9d0bfc6e03f9ec3e403fcd24462352294c5ad9a2d4905b332f6b18c14f0bbb78105551020638a59d27c0378c1861e274b4bf17544fd66fdbd9776bb99f42ababf7826c5408874212fd9a60387fa03ff4f6e387b4397b5b98f0a60048c9552b253cb4787bbd1d8944d7a4899033de6d9e13e37148b9269b3932ddeb178fe860e7299e7c2ce1113252c24d1a57403244b8f9281709ec93b53a3cbdd816a11f19dc3b28a340fa5a481c127f3d3c637037509e95869abd1a54c567082d23acfee6457cddd67fdd59e7c42d75c064e94fd0368f49dfcc67706dca16bf25a3449f6b1090ca2bc9c213cc44e3cd1309881bec603369cbeb3dad541aff0d208165728542c2706b5dea1a51eb21835bb18e64dc5ac0380bcf97f76da122e5e04205646b06e517112e8a7497d680549ab35d377c1a64203e48939c05286f057e76310db22a82458b84203d63cdb36c336f3e3dabfaa42c605581e0374046aefccb565e412938d2b70ef7a6dc4b66a7364cda7c746b55057300c0f461fe8f3174fe805581e03d9faa287f38d2bc2d6f60e44416364e2ab214cd2297d9d89a2f10351500c014745315f95ec98000391ef78beae5e552f2b97c035f68c735ad44a7f359215cd67b9c9df6b0a2974bb05581e037aef4884300926094ad2831dc06192b3df52545511af4afd5123f4f5e00c0247016a1260e831800346597311684148b31da75e7cf23f913ff004d46d8fbb1aa76b7957d63a96713f05581e03c6664a5439d37f7c91c1179017df5da5f88588a0bd50ba41e7d67164f00c01460e04a7f7e86005581e03b3780bff78da6352510165edd5f9d7cf06c35e37ae7cfbbdaefabdb9c00c18484901422a5a3d5252672003bf9efc98159a93f0f538ccfd0a0a5b74f3b5673b97dccbaab1e538b7f2dec02503817e038f274d76eb7b30a60918b9233305a6cfd342d730eec4450ec27ddfa89505581e03597761480473364b412620c794a41fa0af9c044769aed0f198556a0b2007011bffffffffffffffff03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03dc84f6bdabfd8e0029ffb57c9a8af83159aed3e46bf1d69ece56bf3dffcd906805581e03f32a2f938bce4f8d8dbff8a97dbef9755424dc33b658c5c409da1f24e007011bffffffffffffffff02198e9e037cf492d565d5ac17f6f481ecca91c2c03aac15539e112db89f7c154485f86ae703a51f806390babb793f5724ffa0f3234a431a4a0635229f95e6e72bd73e7f420803e708c23ec7b384456f13f4b2f191ed3824536c66459a023f6f17f1aa90df58ec0219ffff03f20499fa31b2f35bc7263037ef64f4f44c8839a724f1ab023beee2d7dd7ceee20369317d14bb9908522644a291d074f9afc00dc130f9a70dbc9f9f87d5fd5092750354724df36c58757262127d2314563c631f98eec57503dfb20b33aa9992a736d803802193c04940786cea0986e4b0782d14783888861b768afaebec0ec49181615e03eef743ff59494ff8fc6243c9b4eea81c59dc31e08f023a6d5ac0f33aa94820be036cce943925c21089c361aabd03f4b2a0afb9745465b3ca98e6095961e33ee722039e6f90ed3ba7e41b0114bd3548399ae9980779cc142fc543f47f6c39f529641b034e6ecb2e02991130305070b0c9201f0ab89693a1ea718ea6f3a4cbfdcf2c7ce3034c630d8a385118b4bdad82764dffb43bcc6fc7435a9564695445178d71ef101f03427002ee46abf993a2bd274aa92cbc70c2c859d5885b6c743142b96f549837fd03681fd42f552a1a477873dc780a9e44822decec492fc12f8978817e309721b2cc03ed06606d88bc873b86747a7cb500f0e9256ee61f3d91656128a4995b75f3da9303e8109a0d56282275b8fc0f555a6d2ee75e848f765ab510d7be0c6f21bb86b884030aef2d645430201dedf31a2c4b27174188447bd0f87688dc8ff900426409c9490219ffff03342f543e9ac5ef87fb3b160dfa16734f188b18356d4433a3ff47dc48e0732ea503a821265288f1a79e5c8183008fa5564c9cc57ef4ab3cbf35cfce3ef3f77fdb1e032c3a178bd148876b9475cd9343cc6433b193fcfaa06f70a550a3e483bd1bde7c03f10900a1a558bd38cc287f25f31753c8a18a15f070be1962f67b4f733b29dad803f5994a6ffa1ac337d3c6c84a84a02d6f8da4b77c9625a0b268b551de8b96d9480219ffff0325c6ac02e164723f4dbf156be1d16c4576b9798a65646be4af95e4f8036224ea03038a5efd9f9175acd25a6da405642e94cda3258199ee3da6925208e23d93825c0331bfde5533fdcca6e6ead5e93e40eb986d80908eb564a47738167d3efc784562034fc6202809a5d1f8ac20296038ebed80d048ad53eab0d55187c59e3f89a6ab3a0390af00d3392f154670f5639bd505481e9b2624e79e88ce0bcc15906120fe59a80219ffff0219ffff03c252c4a1138a087d6e63755d3c4323e3fb5713c6933aae38bc1998989f5def430300968db27e9470440a0a9e539adfa30589026d5d15384bca742c78b2338562d1033da81d6e7d371d0b54ac240bfd62e959b61e45fdbba9c8e88bbdf2065eeb0275030286f06830a29595b7cf82ca58fb3e1f93dc91fa95a5348e2f78ec9e7827fd080374d7dc4ef110f0eaf843f6020cd97b0a0913244955946a8414798e7aa8d3ed75037b88357488305654d693a6f93514e116224362a62c08630abe037319025184c703f177b5fbe173e783c4af3f1cefc9583294ad7d1847baadd351b92892d2ce01f80387acccd2bd6cdbb420adf138be0083fac18b75209d6af41eb972a4cb8d622bec03dd25ca4049ec14e8f2b65979dd4199eaaa71884a7256d3b82f1659b08edf7c34038a46123e86cd7bffda7369c8e23e92fc8b26b8863f064d146770916388eb566e03453e193ee9211796610089655620dc2256668c89d219632bdf6ec3c4bf9cf62203567fc321290528f31df59a99e3b4b511d771053cecdf10496c1d4022e27a40f3036766abf522c81a0c6e73b90f21a8c02b830ae41bb6b5031f678525b48160cf20030471e108336e2e7b0ea2de725a8863120943de27905ba6a5a56387eade83530903037c5a914bdfded083152d28c5e60e3618bad5214480fb76ce786729b65b65d903f228d273e6d9526a503ba405338d2b8c2650f9d01e69d7eb92401eb20564c32a038a6159318eb3792156578ac8182f2a9a5eb4c5db2734a7fdfadd443fc0c7eeac03f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e0345794f4122f42b2afcabaeee76f15df75f7f7423aad969d43e36a80fc007011bffffffffffffffff03655aef308c4345dbd6555f073de9b5944952da23d91d8d42d82ecb28c2625a3403084fd42e5039a922b45d2df42dfdef430fea3226a39d57f13bf24b474d451b6a0392252777229791f83bccb3bf93a14ca08a3c4936348dc36407a9d23e820293130605581e0379201799a5e14aadc8b975d24d8e630e73da90bc3cdf6aa09db077ed2007011bffffffffffffffff05581d02b3953eaef014f7ce43e8b75efcf3208ec763601501e15b3e61ea9e190c1904994717e66bae00c9aa05581d0211cb4546f71c78ee32738040890d316673c4d3a90c89952aea5a164a0c0341010219028005581e035e47d7615440ec59adc6c015d3a5ff2f4084eb3646ffc69bda019065c00c0247054628a91b9e460338e4657a311092f9e7c673cefad896d1011b5d18cfbccfe93877e0a09fcd7c2a03ecc1e84dabdc32b661765c0f5f63c5a9b7b536fc3ebda39d8fef7780c2c7c248031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e0376b96a75738952f715c1634039b61106cb3632bcbcdcfdd0f54832582007011bffffffffffffffff03ee9dbf44b6e832b983c476d033f112da0ef330f788ecfab040e8c6f81b58cbd602193d4f03d8a013502c9f8108c0a6d97c8d781f6d8297d0c629b35852a430579f4a3d160e03838b3885092fb8896e93f851eab3419e623e614fa51e0ae78efa132f6210eaad031adcec6221f97c0309a190556e9c212f0c6403d795576aee44227c427ded3bb4031769316ea7a4c168839f92f9c30bdc7d3b83cc9a6eba2f25ef1519d2cecf63300219ffff03fe5b703a45e284d91e743556c26394b68083611195547caf501f4dd6b52a979d03b166576b29a537de0f574cad67d5b2d193668d55de9c18d4b4463d729ccebf2b036135ca357a9e90fbbdb693b52535a5a88ec42b197187631cbc5cec39ed1316d103439937182b798ec8f1b41bb2cc6ff9ce6d4b63c3001d495271db1b8b3842a70c03e07185a3bb23885597d8ebce4d5aa12b91b4d9ca34b56f57cdf54f4f6e43d5ad032740e886f4f92ce5489d8adb4c27d49c9cc6acb8b24cfb20e90c1f3b7d94d690031112e2445afe6969ed76b794bff5910c01997393c13b695fd87c16d5a1f3196a03796bf3e4fbba5b7661d3bf696144f4846f6cf752fa9bbebcf04ee3860966eec1031c1b49185f8c149dfacd06ab815d91d53e809a3fcc1183120d922eec47e6cf5203f6ea7f156aeba7c16bd23484b664b523b222d09eeb099515d5ee9418e595ea60035a9fa1e74d11d654e3c696fdadb87f827b5a351942e54a54fdb2e5ed8f8a035003eecc7b87de9218a60c14d307868e0729883c5485f30241deb8415c2aafb6df2d036189c87a5fc2c3d30920f68d94a5fd7eaad1e0e4a397b953eabe7f597a64a87f036735c615fb1de0baaad28fa2285a25970a4cf4be14ecd6dab3d667701263fb1c0358ee0ce7bb932eed68745b11d59519259d136a09fc4c043a6e393e8a2218c9cb0219ffff03d2e52bc3570112c1e669cf892df5b253cd436495dd5ad9d0ae7a3f56d61ccb3d036b439d2f59207922e621c36ae2e1a3e38b5305d9ef9dba4066f7f8f3ab9aa54403abf840b2052932abf122155a6c95c4b98d25d71ea09ce29b436ef824307a21d4035812218d1ae7aba43cc1bd486a9adbe225160578fa6a0e6cd52d9f87bdce794003ca94fe42eaf3de79e95a0909501509bb39f0f82f9def88b161f1b5a04ff14e1c03f04832a5e8dbd115d78c45f47b634b9425723ef5eadb34d8ca586b3b515b2a0e03ff1353e13fe44d8bb63e640e4bb5e8a3c3f1a0110cddd2cb669c11ac812560c203f0873ce29bb514bc6b6ef5bef468f08cfcbbd71f86b4f1541baf2bd31533cd4d03dc778a205f957e5e63dbf7c8e6e067a579c5374df1b8ecd66b2eaec85761f15603f66d08728b2f912b4f4fac0a1bc1ebbe15d4096827625c097a11b6152e2c40460219ffff0380a3d07853d1d639a40d38136ee3def0d82721a829253e6acc6dd2d50801711403046788620b77cce6bf763c58abbb5843dfe05412114624def78157bb331e4f21032cf5cf2aecf0003189ae1018a44a002db54247b668158a10ffcf3190b03623cd0358308afaf5392b1f38c9244f4e8749369d350dd412f6b689136cc99a22acb3d70310aef873e982383531adc41316ce0f7c2b4f60ba2c4a5f4de814001a30285513030489cd32bbb7bd924e3913d7adbede074aa642fb9f0d93e396abb20eb6be0a4303cb85b88968a6e89ed8f9965e2344c774aff62fe3e816b3bd0d6a96ac56f65e6803e129104c89bfd1d659af0575be71658b540316cbbfc46536a6ea154f1fbaf7890345acb29d42d585187bd83bc01fee8de90d53be4c438599808e8416e76a533e8503483626960410bd00142bc5c2fd81678562f572d77a061d59f157ea034497967a036c542f948f0840c1e7f9d90ac57b68c9c70f208b8b81c5aa56c70e1a3298d82003d36ccdeb9e918aaed58e75997322df2b75ac455c77fff868d4f524d9e396762d03ee3387676da4b07b6a685f1be01e0a3eae6cd7b837d1886d2f994068c7ae902d0304babf9b061e0825b119441c9297afdf5ab146fa915c032af710e063c2a2a05a0219ffff036adbbf1d7e4fa4807181a83eda6f4cb6087e3831e5d83cc736d6f1cc76f081640312c55a3225d50ec09623970ec736bcdd8dd9edd1512314348b6407ee0302ba78032f4e3cca859713e128ff0b5361088f670ee18b1961f5dbfaba35359e719f14130357eaeae7064587bf08b1991c0b894473c82e9d285c681a3abf3781f06bdaf0ca032c4e7f1441de49fca1b8ef9f252e0d5036d23e67fca9e22e5f3be2181f585a210326703bf49ece0c6922cc1e2e079dbcd2479b3bda7ca8a9765141cbe09a095488036541955789732509f91bf681694a16f37183a751870dd029be26d30ff3c7c8e203b4e162775688f4aee6ea9ed7941370fd43161fa2d015c0428d6a6430f10e9820032fb81ea700309adc49ee803a379b926de59aaa7c7bcce906434ababc15135634037fdfa23f74a04173cf7dca3916ea6e3a9497fb7963a8d42e2796c7331b16d50903fe67252461d3febd45eb506219d11c68c2d1cb7c6c5d2fb206cac0fc3e46838a03eeb5ccae27c8e4935bd201855e30e51aa583f7bd2c2d2573b48f4902420fff5403007f0696e3a1c7a7f8e1f365e833b37f50747904457343c9206794cac87d838f03c2bd3cd0b4e17b3ac57b05f5f58ce3cba77ee6b10b998e0bf9b04a7dfb7f7a5603dff13dae5987ee5685186a25e539f0e9dd57368286099cdaca27ad138e19c45a0378f43a9c3b229544d36c303c01f5aa7971c36710b0c5b7bb4dc249a42436f4c70328ce69fef2e48c356f3900d124c4c62a88461bc0c962fb03b604db6ede2546a5034ecb3c0221d936895fa2799a316de3b82ff7efca3db000d163b3053ba7a5294603b82b63b714cfbb3034a5c4e50aa898adafe7f7051519a9cc1cb560fb02d02c7203c53090cb8a16f470d986797463169bd031099e0472d1e93fa4612589598a7f380394920193c20ebc178fc433b8bdce860c6472b164168ed3fb69ac9c1c9d72383f0340b659f414a701173fd7db22a99da8b006a038140f48c61c219c1df2fe657c45037f6bbc9ab52eab2474afd68903aafdad2dc04301f9598ed97eef94b7f196c7bd03213d3d7a021d5bbcd71d9945ee688930076c4047923ac2ea5542d5cb0e72198c05581e034f568091c916a98962f5ec47acc1e401c150a0d23449e39b05597e852008481769d737c7aae400036a8094e1a9eb00ba29ddc3f52b7d47cb24fb3fb8672c08c4d1084bce23947fed05581e037aba468d62fb7e172e5d2465a6a824c073837906c89b44a35fdd9d90d00c0546141459a7af1805581e036df62e22d87fb68f8a0c921b58d5054aa0264fca1b8a300f30189ca3d00c0547482e5e463a894905581e036343932222b26bf02ca0e4ff0622fbfe78faf5bbeeb61e3fa03d235b800c0247021026ce79644805581e0358c354b04f0c91a2fd53b3639c9de0a55b83715f664a95a427b0884a700c0346406bc21089700307151359304755b7a2aedeacf997ea37b42a0a806f0c0b2d06160965e469a0660219ac1903ccba23093a4151cb7da71788bc56d92e9c5e4697148baeb759c4a80b909ead6903cf4644dc4afa1efe1eb33101587b8c8502d54fa7d4a54462d17762a14d09cfe10387ba56216e8ca934bf513ed27183cc6624390625abd1cdb1530dc743862383c203f4225d2f9018f4078525b16af19578627bf669814b645152214ac3dfc9f117bc038ce98dc420c0dbe6cf50fac9baa57e7871c70bedb1857f4501482136a680e83a034a5a088db8e2583ca5d838efbfa9ea65d96feb75b8d2cbaab64033619837300603957c4748472c8015893b681e395bf5a1c1b371f4ca641e3ae9451aa8b2f5eb5003019cfc4d8f663eca2e330b1898707203870277993dac32cdfcc5d9e3aa863b9603500767f9b3feb6e20467844738b7c0019714c84c337cd29a6af64735dfe7f90a03f73aa6b979fd0e7f1bfa830c285f13a018dc58e93afbf5725fdaadbc882746f40219ffff03d34d0e6eee40ae8b181fc043433d02f5216833d17da02e3bc0df71aef3558f8403b783a562f457878bc52f61d5ae5c5133966d31d9e31a81903668c273b303687003e598349391e54c7a2e4bafa91bbd4dda44255efb30fc8f49d7471aad24e0a2df035153fec71372a6321d810f296473b8f20c4ebf60f03a83f466304cc1d96a035d03af46496dbc632c824caf52ffb07b2cf2fac47789fd9150552aad5a7f692aee8103b4a7edb656f60ff5d6b31caef363ea012ddfe57828deced53fcf9889fef2a25d03b6ffea610d70b7b9187429e5f6b345971725ee8247d61bfe15c3338ac640999f03ce03d2416e7fdf05487ef241802d52daf88142ba33af1a1102d9194026c9a44f032a8dfa4dc676d6af1eb25e2e32f377b3da0941b13c137b22c6d4279d3627df8503ff7f34c8561c7db188914e7b48bd7bab4a1bd08d5b167da7deb00e3079218c67031a3c390be39e8383afb5344176d6435e38d6e30087cb38bb71afc0b28b73234b03850137e7893d02b5ad389dcd95c889582bb1bd114482c84e896d65e2a98157c703dc60f1f6a5c0940e6980ad537df3fd35c797c38926956734d5e2d5e7f80505720219ffff03850c7cb7ef547c124781cf2344bd28bbcdbe24d77ae0e48382aec5feb282b788037ab368941e96ab6b32918bb3cadd061752a2a945dc27b0525f791cecb4d875d10219ffff03bdffb2f510675bb96fa688af6e43900e7bbcda03f10174d47d5056f3090c567703b0654b2880302974fbf3a798533f60606c2f35cc407949bd24a3c0487e4b45790326d084b2a302c438455ebec95e0da589b8cb880017b7dbd822d69a8a8246411303aa7492db57c54a4c57d4ac60c230c0bea00ccfc94a4c359f105ae5f6f2d9c68f03cf88c348c728151516ff08578776db9ea70e54e6fe26b40cee8303336a9be989035fdeab543c28b3f39777ff72f56ba8a579abcd9d5e90a0648e7beb34ffbf55010368262e5f95628eea342a4c41d285e7742b4ff4f0166a8ad86813577f71efd9de03b0935f98268ce804efd8a81c6630a55a1446b0301b40a81ed16932e2f06ce27703d9392c5d103fe32d60615381af0bee08308c212dda228d73fd5a3c3fedd7d074039c9df4dff007e8efd59882cc787342799795bf3496e9e1a23fcb9a8734da238f03c3fe3cf28a31e456607568fcd5bd679756caecc39e93878ef3f427c9ac8e64110313125665eca92e5ef5675eb223fc190495118b6d613cb75a14d0f081bc3df96e0383247cdbcc7302adfef350e3ebfc6f1f96f1978b6e833907fbd180e7b5267890030d0b473b4339e77278da56dfac6ae32367c1126ea736a6855868e8e427586f96036d1b64d81500ef9866c89c49b27e809cd1202051e6896f2ae11479a4fd014ae503000d772a8aab1695645c887169afb95673b728314d7738ace8cbb87d6497a137039adcd0ef22a6668823f411df91592db667e857b939f803be51804d184e4b09460325ef136f12a43c24f4c937b791a59ba2bf25795b96f8ec5d80f8e2cafa055a8603418884172e499d129d60e032c90bd278e3e357800f00ecf4e4c9fa8d7699ea71038c736a7c5f2a6eea6db3758fb3598c3c018e724209703b0b9423bfbce5114f730369ba7adf1c12099bbf8785113fc5515782700e93c081abfc4379fc8a79ec585a0341b9ac1bd74b25f7e3bdcb54720d83742a64a811646dd782c30f1cdcc69a2e1603f172524e5bcde20af9103fe34326a37b1b491b82d2f58c59c29bf6e5ae47236d03c1b71f207892a4ccfe632983b6de6eb3539b0740606ba686297642759430d43b03292aa0a88f56bbfa1e767c0dacec7aee7058ecf065920be866b2fd3b127b0180038ae034828b77ae6ac98a25c05dc9e0fbd92f747ccf390e280f8ee954d30e7ab003a4e83b477b2c2078e32c8fdffd61ec8342d4db8cfbefc8c0bfc864939044f3ea0399bbc4c2a65eaf53e47ef86a9f02bc45ca7f010cde31e40c6b4b2b89f17440a5031f6d668f09587779abfcce11eca209384feee2ceffa8a3385329f1867f51c0940332650e6a2f2d86813e1b37ef8c1baf0f7ed9b3f337f951a717ab709d9eeb42af0339708e67cdab82437a6bbff700c254939767b4785a3f85f7f37ddaf667fded84038d457fc3a90b96fccc0dc73782d6932738adaee0fd83690c207cb81fc65ea5e20325bd4a0e74aacb570ccad83982cbec0f92250a2fdff4d2f1bc174904c88bfbb205581e03856db4a92ce6b9d19c95653d713156f466a91de726e28a848e79b522e00c014722b4da8ecf90000368fc8090b8397150aaff49d7fbd6b519efd7ddd1a51c8a1839bcb9b88792af500459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c634300081000330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005821036501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354054259204ddd2ba29bd9b1b9a5c9b093f73d7eacf37005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054eb803eb3f501998126bf37bb823646ed3d59d072005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054fdf1ee0098168eaa61bf87db68c39c85151a4e9e00582002a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8254798576400f7d662961ba15c6b3f3d813447a26a600582002f97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c7441ad274800219800400582103787eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae05819100000000000000004000000000000cf080000000000005208021903b405581d02f7415984a5db98c35ba88f13289410ffce6327e5b685ee16439096b4070119089e05581d0289ca5486aab3334ed5268a73d708ae04af48cdb6dbd3ae9ac83c8eeb0c01474510da4bf6809a05581d02a52190aa22da090006cb04d47fcf2d83068e59703f6028c6d7fe6fa604010219404805581e03e3226842298a28c0d606c35b89aa87c50c9ec7a1df348de775c27ec8e0040305581e03dbd609cc82ff282b0f34156d6ed82bc1db1958ae6cfd18808ebcafa760040103becc4c95ccf7da8da14b539d6814cc8615ab7008cc6dd705b8b014a7c998923405581e03220b4899855d013c913a922e07659ca07f23b1b926730ad4a91060f4300c02460746a528800005581e032897d4f92d1306c5fed147a272e467fbe1d561a5328bc922ac27b900500401033b57af4634be4d260980a25edb0def5301745e300e3630a628bc34229211dcff0384ceab2815549325e2b253adef130295632182b93d5a1470c196d0bcbaaa8cd4021957ab03c1c3eb13dc575779d2b691941dfefeda79eeb85546a6daab290e6eb5203f8249034bf9dce24e899a4580edd26fa1b9d0bb18e6ccca58ef9af15d601ba86c0d16880332106e4527641bb8cf4ab7d801aacbb2ae497f4a2dc07d09782ebe79246cd0200219ffff0328b4e4b59ac4b6c2c92517ba63d7e20c173f1ca4d5633132b4c41014b50c43ba03c4c796170aa4e8dfcb86544abdec7cc75cdccf5362d279e3a487b152a512a96703be1faa43f1db52141d20dff808688fa6e55a6c64cc696f37f6d856f6341283a7039b7bf298671910fa321a810f92e7e9f04f4010b89cc39c6d5caaadfcf1a76d59035f6aa907c86c3b24b8b46e1a623bcaf79c64b4fde857c3d8b81a7e291a062c140317ed20aea4e84edf789c082075c0b73c6a99b6765ae3385d4c8f7e347f143a9003c7e0b958649349e3f1f9a7a4a752a0841eb194c6000b50b6f586cfa80191e87a03af0b21b0f19f4fbc21eaeb105355967d33e4267753e069f5c3bf47e91f37ed3703e56cf46f03c3ef2c7a7a5d75ca1b5cc998d6af7fef37b7428c1d97a3c3bb86b503a80fc8e540b9e6bd37512e5dfb56f3ad46025fec423892ca69edcf6cdb3042a00219ffff0219ffff035393b3d849a60d719d6962a3cd5e7413f99f0e0ef2d21b41859a676db7d8beb303dd5b118820a1efaa616475cd10a1944c3ef4de4d12883563c549d7ff87613dee033c4e5dc064ab843552bb785266dc2acbc962d46eb2639f82d26d4c04ab09c47a03313fbbe9912e88c6aa937ee1125e3c7953530d786ed526d3b0ed21c78d10d5a8038e79ff450deccad5ab22b31941c1fe4ef23a6e58b76d1a107095ae5d2898c29003cb608618cbef0c57b154c947388464d49eff2e7e40f3f17f6e4dc7628ff5b50e03f0cd8ed95655cea9d14e93b5c351ad458d78d31108c082333d16c6164d53621d03a6ee262f27eb64254b7dee9f34fac4ff7503c779633b86a73e133009ae1978a603953fd63f87e585be7f777d14981bf067c66e5cd32502ac9ce61778187cf03ebc0219ffff03582d49435bafd330f7f65bb598ffbe73d66130036d3c76fa1a7fe5b1a44cef27038f27c71cd6a937e2c20b8a0c3a6456b4dd4f38ee3a823662512a6ade225a9ea80385350234f90a7bdbc2017c1c08c50ea13351dd5167dcd14d51c46174531dacb003e58d46eb61426091bf58a74efda568b7f9aaa558b3be008dc5d098f21e828efa03f803f8d3e8e33d97d6d60473a3cb2ad935c81bed091feaa165025032fa9155410366dd53effaf8abf5a42bdd1aab67154a42a07f01ad1f497de1e36d5a4703c3ed0395a8aff9639b93fe489997c8995f21705190e07900dc8e508b1dd87efb65221703299d93abcdeaeaa4e0156ceaec7ba0095a925a2bdb97f662140423e6c172289503f28ae60e9ce01c70327a995b2db6dc10ef2496936113b0e7573713e7634cc64f03c6054357667f15372fdc828fab5e26c3ecc0e896aae4a49fc808879512056e5f03daaa093688a9fd445d09d9b7cfc6972264086d4d3352346c6d3a57a77a45edda03f3b255847d51af704e727bd6e0ddae447612f1c6694245e5ae9648b3558b650c03230eff9ca5d2c9c6c9f9f1cf41d2816ad9a5b284733c7c932806be9a133adfa003690ffbbfde933dd43fad67d3653e30ab1b463a50960123ec1d3d8eaf969ef92b03b1616c898cda16e10f57fe9af974b88a38a88fe24e5c7bd055984efeb6b88857037c4d9caa5c186d571afae3bc9b18f2600b8783de2b04207548cf049a1acb805d0387543021d3421c13fdc7e7b99e41bf8b4a7c003312e1e5905a1735a94e6054b603ce2c4e9d69d00e0b393a521850c914b12fc6d1335752db8096cc9fce27245a83031138e8a168083be0326ca3676473dcbbb6c86a61c71c52780a11e41e91f41fa9031919fed59a423f0db28ac9e3a3e7222551383390fba04392fd4ef9eb331bd22f0326db87b70098f49fa141a02f9301a3d8968b25b01bf614a0951859e570113ec90317e86c83968081b65e93b96c4d70eeebe7cb7b6483592566f04a42b382d2410c0361a148de95a361e1c71a39b92bb34c38ca442b2bf1213e83c5ac9ebdfb57462603175c875393163f3af90a32377a3fdc68aa44f010d089c503c2f231a5ce1dec2d03c236cf0889dbd181e3aaadf4309187bfff4447d001df025be4ebd20db67729580395664bdd4097bb1f31e3bf59e88338957aca44f73cc4d4627fe9b01f9427db8b030d078cb95216dc9a20a8a191bf19ae912261ec45715165bad9d7bbde5c17a18d0330c4a005bfb6511bf46ac5b87d568388ce3fccfef85c361383c4cccb3f922aef03574d3ff52c140116a5b3c64e247f16fe608866138235600729670e45c5b4a06803463001b811ef960917db1cb93edcbd3e0ef83393e64c1a689c4581528de7ce1903c1c8919f1f3b2d79fdbb547c27c212a8962205302a1c13a485f68da504a2e1d203165f61c384d4d06c62620d0dafa24d93b5fb41b680667880c7ae638d18439fd10380d6bd1a0019680acccc5a383a44216fa5bab02543428e7b913dfaced7eb015d0340215eabcc1f63b8d54105a240a9af705f30e999dffdac2ee41047c0b1f5d61903598e9f2cc05abcec6281ac7f4df803f9eb297529721713d0ae7e90cd6ed5bc9d036fa9520dfbc854933d8e2395692a0552146ff8e9dce5f2fe62a12154bd152de203a13061e82cec1d7ad57794c5265c0d89476a5aa59636ab85ec781b476834a167034cd20e163674111144cc4f0dc784edba8f56d611907d1e32383df067b356de6603955f6d8baa1f1ea8ec82589e54c4ebd59d4c72b8a3e7a9924e742da550bc5d2b03d4f52669243ea0a9678914c1b638029416754e96412519ab7d2f7cafaf3f2406038b207b788e60f642b557362a541bffad68140ff7d3ce609a2c8d4e49497975f7031bd1e3c7b5e2fe36b96f834549683b4dbd4dc9c35c8086501ec04c7ef7721cf0036c012d6612c314c62e78c443068f6ae32f189d00244f6ee9938f03f58d79dc3803c7c7a06c6797c6a1b53f693a0b92d696fc993946d62835122c22282bfd59041205581e0391a44fbac6503cecbb999a06685c78785761f9fa00fce73a70473797100846befe6f67200005581e03c7f638d455045a64747e26a86b98343979e288393f3f10df9fc3675a200c18d5480122ab6498cb39a405581e03a6af0e128487680067121570e35e9214e563d84fb20f015d7f4d68eb70040305581e037085377ad24c74dcee47d4598b7e085b9c6d7d2ba050c28e7bc8a6ba500c01470432bab45ee39005581e0382adf3e5408f376a6c5f7e83cd958ce64923a00e53e76689107c9d45500c014201b003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03c10860216aa683d2d2cd071d162c30aef17bc848a67d7d0ebfcd5a8ad007011bffffffffffffffff05581e03a86ffa3ee8852705d6d52bcb0ac8ab2a25dd0c969f758a4e80a75ae5f0084703e15f4595e8d405581e03674bc38733af72cd82080001f7abb805463877671fa37f8655b22705b00c02473985b62394be00037a0cff2e55a2d091626821dd251927540c36950b5dcb98de7f07a34298cd595b0219fa460219ffff032358bd142e67e65c861db8fe3abf47717ce1bf56129855f565bb6654e5d3c9be0219ffff031aaf2998b0e4ded29fb78b303e23228ba3ba970a2f54c0e263cbfb63782845e203a78c38ac20aa158b5281a8ba871408afe3febde0abafca04545d9a7ab835bf9703be9b1a09d154a10c96b07e75a722b5cb9b6ea0cab7665bb68f0170e9779abeef0219ffff03bbd62c8e8808ca96721b38295f14aee6aa154b87be546ecc05ab0bdda7549418035b82ed47a5fc386ec393526a73e241942c3d98302585dd2a2d1349124a104b0403941bd3a806a93392b2af0dc3b542f8748661d8fd8d0814ea6539684d0aef445f03dcc6b510bbacb7853bee8f122a4ec9b2b4b4455e69f988c7a8864fcf4d1b56c70378beeb249e834d9a86bb16018281cb7b44331f87afa95ca73ccdfe21b85caf030309a00a39052ab548fb5c40dd36db03621a4cf1c097bbb59d90bdec9b86219fc003e73c03f069bac4be2006aacba6ea452796985745d60c487519917f1ccbd1bfea033a774412ef69c1f39992c75074152efffc22e8a8a05d463ebd21005c1d2b63e20360d6a949db43836e9901b79689e76b7e80e62de39c59d9e98691e1e9612ef6cd03a6aba74f0eba5de9e59e47e0e20de2562921b3a1d2a13e7fbede61d549fc7b4d034fbcb8a8ed039eaad3ca891fca64740a99c95c2eb5f30f53db0e84fddf0a19f80373843b302a0d04a241585c71305beb435c83eed79be0a8f5bb6f7781cfece24b03d598abd0e76ee10b03877a411ff083575aef3d91c2277de4e346976b1ad763180311c82761cf10b29bbab5e119634c6780924d9e403c27203ed0ed697326948df403a21c1f1f4fb5501f87c876c238dc746c3143a5e5425238c650365f151e2737b803069e903b6a224cf18825d4ae41be00db63dad56158eed29b43a5422f191d3c8003ffe9c2729d397d460255b0a3454949aaacd69c7d0ec76b7fd625c2151a44511b037b3d4f1c6637b04dfc49b4192ded24f16b87da245de732ad42733333e8e3f74d03c9ddadbdbfa70eb71b35631bff27b972fdb7b3734e5b64371663b1e22af43aac03e35a106564a14802bb8713834379917062d8e237e8a35bcfc794fcc0d47d0a2a03cffd27af151cf7c27e14921f52944c59237392f50a0c8fbec31d5e8091d7b28e038b39e6666bf7a2110d5011a4d28baec7ed69992e4fc771deab8d1d6197d00aa403f9a636a6d5f073d94bfa8134a7fa990d72785a449acc410b3fc3513300fdb34e037dda2660084f785dad845fa7e0fbee21285c88b5724f8743ccc2cf3cb9346f1e03747f6579cf764adac9daef01c52a43d0eefafccf05e522ffc521b213f3d1c9a6035482b35b09304ca27c74bbd7bf778cc3ea2a93047c5ae5209c3abc932497e86b03467f727c11f60f8da223f4b097e39e19c87c945491b8e5d1e18efc985dca5dce03b12422516521ba056925cf6916c9885aeb7553cfc1d5d279cd66d9f35887a04d0314bdeac2f250fe7e724eb7f38f1c56736636e0554d515a328e09e7490d389a160319502f6dc5a0e56864c4dd61d315d7e1ac3b227ba611ae0f99bdc155425b25100355309daf372d082dda64128e5e0b3d89b8bf68de602afd750e96b951a718d63105581e03e0fda4c862848c04e863512af0919d98b3f387d6058ffdec854c3722000c09464677e76c6c1805581e032133bda3508832321bad82552060d8ba9327ce17e58e2ad2c19d6e5fb0040105581e0355490778205e9add1b5dccf27467166aae366639c4066babb333d3e6400c03450f9f78bf0005581e03eee25e66f552bb9a233309f4a34990a613334667d2e5186d7ddebc25c00c182a46c9705b2beb0605581e03b4734c46912e81e0bbbcb2f896d6afa2a19d5b423a59cb1bdac403a8700c1830482c43807fb7df9ec805581e03ccd6ae2c8c0fd913d1f627fd501950006b66ec498a39fe30626c68c2900c0d483803a7c61d10836103647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0322679df9dceab6a5c6bee317257f4cb639aef73d56ab452f05c7f19c8f69268a05581e0323c08118b7eca31075152464e78907d29a64d7b8cf33b94182d6b03ac007011bffffffffffffffff05581e03f967fabb3ab392db139c4fa23350b2d167c1dc18b1c5b9b1eaa8f982600c0346deb99822365804590526608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c5780638da5cb5b146100665780639b2ea4bd1461008f578063bf40fac1146100a2578063f2fde38b146100b5575b600080fd5b6100646100c8565b005b6000546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006461009d3660046103d3565b610107565b6100736100b0366004610421565b6101ca565b6100646100c336600461045e565b6101f9565b6000546001600160a01b031633146100fb5760405162461bcd60e51b81526004016100f290610480565b60405180910390fd5b6101056000610294565b565b6000546001600160a01b031633146101315760405162461bcd60e51b81526004016100f290610480565b600061013c836102e4565b6000818152600160205260409081902080546001600160a01b038681166001600160a01b03198316179092559151929350169061017a9085906104b5565b604080519182900382206001600160a01b03808716845284166020840152917f9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c910160405180910390a250505050565b6000600160006101d9846102e4565b81526020810191909152604001600020546001600160a01b031692915050565b6000546001600160a01b031633146102235760405162461bcd60e51b81526004016100f290610480565b6001600160a01b0381166102885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016100f2565b61029181610294565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000816040516020016102f791906104b5565b604051602081830303815290604052805190602001209050919050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261033b57600080fd5b813567ffffffffffffffff8082111561035657610356610314565b604051601f8301601f19908116603f0116810190828211818310171561037e5761037e610314565b8160405283815286602085880101111561039757600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b03811681146103ce57600080fd5b919050565b600080604083850312156103e657600080fd5b823567ffffffffffffffff8111156103fd57600080fd5b6104098582860161032a565b925050610418602084016103b7565b90509250929050565b60006020828403121561043357600080fd5b813567ffffffffffffffff81111561044a57600080fd5b6104568482850161032a565b949350505050565b60006020828403121561047057600080fd5b610479826103b7565b9392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000825160005b818110156104d657602081860181015185830152016104bc565b818111156104e5576000828501525b50919091019291505056fea2646970667358221220303bbeaf3d63537991209d0df6db34ba752b1152b02fc0b5442784b442d936eb64736f6c63430008090033005820037a99a57dfad317fe20fd7571cccd03f75ac796400c31b7873513eef3b06110546667961f5e9c98a76a48767522150889703ed77d00582003c66b10bbc312583ad31e7a050abff2d6a89af301a993655b4f4f4beb50822054d3f0bd982d72e28cccc69e0a9da439e9d587b3bd0219011001410c00582002d80626553a7bbc30767c3c8cc97c9f5377137b3ac9ac34e79f529530a9c0225495fc37a27a2f68e3a647cdc081f0a89bb47c301200582002bbf71bb38364cdb781b19d46a1fcee4b17b733f20a9b073b4215f0b1b058c9542f6afe2e3fea041b892a6e240fd1a0e5b51e8376005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563544e59e778a0fb77fbb305637435c62faed9aed40f00582002e65a4c5380a641e23551a0fc4a2fac4cd9fc7720afd8b5d4fd3c4ddd7114c654676a795fe6e43c17c668de16730c3f690feb712000582002e268bd8e62829225d2b56f71eed5be63aa1a566c037340ecac3e16b14bc11854d1328c9167e0693b689b5aa5a024379d4e4378580219c2c000582103c92a979829a33809b6dd27b7acbc4dc63a861eb0f9e13288e143b6aded964840542f44bd2a54ac3fb20cd7783cf94334069641dac90058200244665d0ac1981dbf5cb7735da0437aa38311e17622d656e71be332b336bab1544200000000000000000000000000000000000007005820020be2e0c4fbef116c9a387622c7923af8bf7e4e35e78d623c30b1b8d5b8c32d5431abe1c466c2a8b95fd84258dd1471472979b650021908040058210337915946d18d53d6cc0c8b96ccfcd31c66de0ca22eb9fa0d42649d4eb85862a0545dd48ef85b99e3e3d711ca8b41cbc07da1677f3e005821035b1ad615517c5fc6a512a7af2414dcccaa01287abb860b15c17991f9d83c381054399ca67660b79f7aa8a7efd5bef9836a4c19cacf00582103e2d748aabbf02c489dc2999c737beaf9c21e6f5f0687faf341b81fca390d7df054f7576237087f808eb39531ca490b4f8efd4a0c690058210340e70a588557bfb2bddc37eb2d4a1b904f2674cc3724204dc4c4ac8b783fccc0544692363048d0f32a2de7816860d48fff0c61b24b005821038ebdcfa84dc21ae1f0f97104c0916e3c2b6e667931a0d8d1fb70bc2afab671d05478cf48880e9e1b3ab209779c0d8a76f611e53e81005821034faa1c4cc20b73ca9d6cfca084843631ccaf205ccd80c8fc1b602d9b60020e80543c3a81e81dc49a522a592e7622a7e711c06bf354005821032317db4c0b8609ca9dcea495369b9dcdb86a32f49e761a38266e2a6677cd14305489e9d387555af0cde22cb98833bae40d640ad7fa005821037d3ad4ff773a93babb576d2542fe7faea947b0e3b9cc099b5cfec5514b746ed05409b276f9ecb83fb6a37970e655863b04143dc43100582103335211957123dd4406ed5baa0bb880784b321625ef3775987388985d6686e33054291dc3819b863e19b0a9b9809f8025d2eb4aae930219befe05581e034c4490a01a15ea1e455bb74e7aff7ce99ff066ca5d56f2c04f1b098c50070119052605581e0395f1895bfedf6cab20947708cb348f414a36ab8ae5abdc1d3c20f333100c0c4801efa904abbb30d4033282e8d185fb89d64b861a9f4553f3a62dc093ecc4a8a49263d06f6ff54b400e0219fe5a03ae4fadf58bca4ffbd4e230f47a352566197cdb2e544f40c834279f6aeb416d40039031d81c7a5dd41a7d691d7fb0a0ea01c9debb3540b0b65072e1fcc8899b19e60339146491f3531ba861d77bc1d53c05d7a4153c05bc572a4178fa179f6a5498190318c90a43ac3da453d7a71f1b8e2c241a4c0a247b3098a08c0d4e4d0e65c6f919039cb14b017dbd0ce52d566eef8f348a627243d678d413f698f952249750d4fb520219ffff03dcb7e0daa51c955d91e8c9770f6043f5dca5363d6123e171bc3ffd4db6d1197f03873a7e05b771b28dcc7fb2b33aa11eaf9349fc2be003cbbe247d8de0ead49cb4039f4cc7b2c371c84c49fff135086b8d94135bace04256e3adfbf96d4113541adb0219ffff03f3f8ae9b2690234cec9eab66b46ec824633970262391f482c7e3c8058d249588031d408b2027dc64815f8efaa673ba3f69326d3361782551dac5d650ea616801780338e32492920983d5f9e2d37c378434f726c271987f13b2060831bea9598940a303a645744f804a656b4957bcba64fb258618b464204c97571c885147a5c02eb903036f7ba5a5b138f7bcadae928da3fa630ac9dfb81ceab7fe52b40da6612c220ac803c01a6a6f72ee5702e5c04b9044dcd11da2b005cc1c8c67286d52c9c7a9e73841037462b21ec2a1474a0f25583e6b65d451d7a1c7c86796ecc03739371b7628ba94032d82bd8804146cf62633672fe656e2e65f8a9f520e405c353a0a68b4d5bef15603a4fdc8a9d45571a9a3d411a02cd31fe67b24337fe51a4d90a8ceae4a31ceadc70219ffff03813ce62c53419a179e64b5cbe511a58fc3ee2884adc9f5f2eb44f0858c65e70a03e779997a79a330d5d73e5f23149fbde7358d34fa58b91638c201dfb79991321f036d5d626d2954bf37c3987e62e79d50838460c990fe738da62f0c1361b87992fa036241e2a04fceca815b1aabb383d444f23e240bf3d56daa253721da05de22d92203f8ce79c40e55b71423504c3d3b76af440781f938c7c0cd69211bf1d0415ad2e10376e0b118596957a7e0629a0a8bc61a32c449d176529d97bd02ba78bec7fb40b003be5ef309b794b08e59726c0f292775c7271462afd4cb409c024b88cfb7c43e4003efb795665a96e8ab90b2e7a795f421567d69204291eff31a4a010c96c12e393603976a6af25116a9f1891c9c79d4532d8690e4d2b915c1d0dec768acd0a72b5a8c03c766b3dacec83b07096fbc12a3ee410ac18ae276c028f94af6f292172aee1e3c03cd508ddae49bf2dd9064c2a3f8f07d156e35161a4eb4403893684d6a5450f99303cf11589523c081d280af7559cc3c76ef10e5e66e09b2352c28d5558aeabc7af4030e72edc63bbe9d7bc781ecaff5ae23d1d0b420ebdd442490b2e9782588de1833034b329da808ecd5068ce4f8cf6e10ddd66c632bdab050a17640e631399957c5d10320542cce32d5b951bf2654cb713bae29060d7a31607763aca792b8c425c20445037e878cc6e23dedf0feef11108f6c36031e03ff779989ea54bddac083691d600c0316d1128643b3e88dffa8dcdb221d99766245191026d5f3b15465f9c3e4d0a5b5033c76fdd6754f204334c793f08bd479aadea37ad7a9d4e979042275fff772aa110323e75c1ff9703816419d261c43c7cb488327170365fef76ba2a92a3ed365de47039d2ddb290fa7e237cc2456f188da3bf6cc56ced6a9d53a801c3dcf591527daf9034a020f9de09208c94547eb1a5b119fce19af13c6c8e40f133deb74a7647b12160346488d5d57206bfff42d0cafa4fb3a335fdaa6653a364839e8959546cb2878fd03f56632395f74fb268b14af986f5e4cc0ff55296d608969e190c951affdefae0f03abfd7047fe2e3d81ad49176acd62968f98abd46157815303c2e37d58783dec450370d9e9ba79a23f010b6b02a18501ff14c9607b1a1cb62d58a9d3e3123c47d79f03ea64f0da0c8c7c3aae8be130082c1e6822dba019dea740e9cc57415d417a129c03c0447b05467eea491aa9f746cfea845acae40ddcb77a5419ae74c67902e03b4905581e03f210aacb78e118fe13e2e12ae8a0fadf1bf3698013b67f57448d2c0ba00c01470b15350abf595d05581e03896e145456d33e0b7e7372d1abf74f8fdff67295f8b85f6346bf0364f0040105581e032cfcc1a85b71808549a4ba48fa4e1d539c720e57c34702b7b7b1fa0dd008475ee9a6b3baac0003a6a4fa20192b2d978b088b07086f2a29d81dc7f2e97cf8bd67a6e5347b3a83c103fbd3ce9b2ff686aca29a62ab139db03c391bdae1999ec4088f57c3428270dc5901420024039b0ddd148d4d598df530c91e088a11cf703a0dd26a10a62475f1e63abbb3c754030232106f18271e4ce377beec6655e37552eb860b169f6ef7dde2a82ad31b34cc030736f848937e870bdd44e505f00a3aaf4fd2cda53d22e0d56f42720773be0b4105581e033c2571bb89fa1730b575b44af67a2afced83f8dfeaf400c00fa929d780040102196ced0325bad09a9106b472f439c608f9e3df9aab376709d054d37ac3c76b573d125a92036306707eba3327800fd0ddb0fcfa8856055f4f731cf27640c3c0f9adab56abab0219ffff0391fbd8b90d5747aff38c09898ebce4cf2db14ec11326ef888a242b36257c9f970336c80973b873c1b9cc02dce6162cef8872bcc768919d1ec60ff1858a3d1c1782037af58f981f5d2a1f7b4158b2249f17541e48ef20a3b406d514f6b0a853035e3603a6265df016b00b9769520102ee712c3bbbbd3451cc881627e55950cc4f7f109303c9c6d6de4505983afb0596e896927d56441988d72abdcde2bcbb536496e31abe03e5fef91b4ef35cb569605b65efb20f3819f802b93676848e6ef4d14a6d7e7fc903109d1389ee14d82fb098e55baf22cf7826796ceb0f89712d595a9a6be861395303a2123469fbdfb933dc50baffb96a455911c2268bb179db35bf3c8cb268f09b51030a1ef180076f74a3b6eb062a649102ea6720e7389cff74ecd81e9915ddc167440372624dfb2baa30ebb979cd2b8314bc7424a40c62f27c08dcb806faa666b5f3a103032aec11bb9d2d2bdf3a884518b667521bce1b2764c31170e06b6708a83b8b2c037476f45d2d70976477f71b1a88e2b969798ad9ee22925a58d2f2c5c8621147ae030c0ef3aec9f5f19fb8ad02335fdf2598b1984edb0512d62ac346d8dd3a8c85610383ec5a93882575eba75888fbaf4135ca25a0031631dbc9635ce4ca737567ccdb03e3896828de3b252f9889586fc4745d2d6f816ced54167496f8b7d46ce30d04e30219ffff03848d4cc5e16a2a97e2d1f4816bccbe8f06db9aa485f5181564dcf486ffde05390305a4ae8bc725bde85bdaf0a63a0a05f947ee7a00031ac6a5ee2d24a9bb82a96e03c6d16ea1c5cff949864eb833bf182c8cf6ff118d8273c5a1c0e761bad6d2af6403f88c7d3e9cf3ebcaa0caab1dcf20cc0e2408147fc7325e2a631a9036411a112703dc90d3fe34d141a54b4182418526ec8dc9994f699ebee1d1132d7e7972d95bb2030835a3d14c7edcd984b3b1ef87af59205899ed0063e2cbd77a9c4b89db55257c0219ffff03f4dd45bf2b09a86bd52331a234ac29aeaba2af714f66994efcf4a0e5fab1e8ca03838a002bd2ba69dc06a62856cdfb5279a802e456bb6717a386ae64b35f4b944703773c530ce229658ede32bc30c64214b32a89419e86fc8af2b7b484ee006e64b80219ffff0338b49f59af4798b916f278cec9e9c0165b554a78e8de092d854dc5d9d535816003f077a47865d2fa92de5517943a1f64b7a9ba43e46d522b66e0a37ccdc05e47ac032e2300dbeba1581b03b8130ceca8b0a0fc2227b45717b03683ce097aa73ab1f4036b6bd0473c5db6f1d90d4da3710fbf5c7a8dbba80ab985f5c76462bd24cf53cc03ff6774d723cff24d2f603753aec7cc6c98def9be91d4a44983c8f143b27b251603c142f23f4f315691fb2c91584b0a7a802fd798ae8a97ce295ae65db44e26e4a90314a83cbc2e58fffe82fbad19430e62fad6eabe1b191c8d0166b258c1a711bc6303b7276150e76ee2c6ca031ed9170d66bf8a1d714d9b75650cddf4afa5c53431570368a187f9f74a3ed6f871c37b5b4c17835f797fec0e41cfea992d72b4085fa2b203c52ee4f6c655ee87b4330ee870d311c26617ff4fd4c8e408f273b28d54ad5a4103696c313275c089f0c818e1630fec99a7dec1a5052601c701b653a8fc8d7f315b038e9583e6cd847363653ba552a4bb0aab9d8e056b0a33a02129a099d37b9c5e14039b461d9a6fbabc1636132bb56faef1323aa8af64ef7ec9fb5cd47a1f9cb171f1037038a8553add042e74100e39ee3d7bf530c99b697802dfd3fb36292a581c70e903f3463e2e074957788af9dd6a00464e60d82dfe271afd1594eb6b80cd4205fbab03e2ba5403afc40aac31a869a638af4c6ce0408d7b072aa16a6c19922b216ddb3403fa9db84fd3bbe73cc0e0a9c3ba29eb804c8e08c79919a01c5cb96bf4be4f446205581e03682bd7c5fb476c1ad8d80575deb067e9334290c80ecf787d2e66ef6f700c19021148021cefc48f05f98a034e1e4d09d5070f5a35fb5855f0b2cadd0d01d075d6f7df203a435e467333dc5b0306be91d2cc6de99e8cf5ca925a23e986860418abf69adefcec8287b2899e4652031797680a4946915c1a5903ef64b43f5ab69cd067c3db4c2264b923f0acfefb2505581e03a786402cba57f3aa1ca65f02d1924c14250fec6f8aabad750c4ead35800c0348014cf3b01d576c0005581e03c15c7ccf6ba615f9892c3d456d928dc3b5b6aeaad34c85e95206e96350040305581e0318380bf25ab0a074f15ef9ffa87ca8f6e77dd57e393a773e150f5d88000c01470120ca06b24fc00219ca9a0328661d6a0e185b88f261e2d07a85eea7e17b5593cf2bb63bea8a087836253f750323faeb763cb0b6faee6155598e54756afec4a03225377e31986479dfb13d8cc703e2cf60d36fb25a2d2fdd3553f504c30449cc572d74f224fe661eb0560100c89803e5d28f3fa7920f85e7e91a8a061709891c2de0520ecbb721e2e7420978bae94903a5248e1bfc11293079fc1c1c7698cb37337ef52f4db1b857c9f0ca4b9217202a03fb1f47894afff52f1d3270a3080ebfc9a70bd4205ecf5d9088982587b184958003e374ee91fcca81a1663a8d3f1d10639a2f624d38aa8d23eea86cfa15b2d78d890397d9825dde2657709eeafa9dec5a1b0cb9f3481d67491dd112b48e47e743334d03b5f605772b2aec3791b78ceb3f0684cc52b65d998589396db78920fdc429ecf303edadbf079cf0800ee68f7813862a1d59d128168eb2ac6694f1c34706000fde4803bef0097ca1acf7e8cc8e6a458a13f76281721c0a8cd3bc944ba07d72aea0cd1c034f91f8aac51176347fb70866de2d7d575f7e4dd4c137c0fb3c21ec38e579efa30219ffff030dd2088da879ec446621d94c7ca5e9cbddf282ed6701fdde58bc6c9635711e0103c93d32b379f982e0a3c452a1f01f28b7077862e99032bc422a4fb45f6151214d03bfd453018e89cc3df15347b5f7886be8ecabb215244f6ff61929abcdb7d6c8240389917ac384e7e0103316d047c0e11e092970536bc3fe32e5f946febcbe90d5db03bbe312e2f14243346c37400cd13ea762b0ff29db801e5d345125e2a1b9febce703ecc024922da44ede083fea018922d3f958bc28e7e3d9785364b51a6998eaaaf3036f70405854b47b02985d1b9acef1e12085576acf46f2dc7fb7a2e83ab9c60baf03925bb21e1cd81b232c8ede310f1ee4548ee547353a44632b368ac3cd47c15cbd038291d25c9a243977b5e4837b89529c31d0650dcf2c689b16f665eea7e963b5eb03352ca931a90d564d02fddf3be696a57d0819562ae53e68f8d48755370ee279ca03ea3b87ca2cba6c1bc987d306d68c23818a31217778148ade2a026ae250cdabc7032cf887c4ae263e9900a5ddb59d811caf5c30b3b5dbd513c35563024de9e71b60032b0db20ecbafbbd9a84da04f28681ebbad00dc0d62437d78c72953a6c9c59af70219ffff03eae79aba83eba9d7ec1f1045611d8a29921951a04c2add5e64581dee95dd46400383dbbf5c068aac5afc26559d88e54bda309f785853dd26e7d39847614075397e03bd22946f9b8b7cbd7f314d02cad4a428658c3c37ed99aa67c6702eb5f0989c16034eccf1457d9565999d590d8e4c44de32fc2e7edbb6182c665d771cfcfbb45df1035626a6a1776ce9307c9e413fc620001152f233c52a615b5bec2704a72e5c682b03f4c7deca70707d194805aaa3a76c9227c664d192dae051f087fa9bd503370c3903c253b927efaefb686be904c8bfee737499270a01b959caefc2a6f3ded871235d03aa88f8466db6be1be85e079f6801dfe25fcf82fbaee339fb315413fab29a49b0034f7a68629fea9bcb6105d8848f4332435563e6001a6ddd680acd85d8f07abacd03803ff1e779b899f4c4606c19933a559fdc4f345fde0b5d989e12c809198f542603a038a3637517bbad38ad5f040ab1a85ec813c1aad363b643e53babafd2dc32390340864fa2517a44339b93a1ebe157815c650dfddf02a6030082af1f5e5c09019403313cc95b4d70ff657f04a1fcc2268ae4f72535a2a97f0a26da1efbf81a0e8c5f0219ffff0382d39bf02c890b672f5cdb175dfc35e044ad840d43db62cfb547f2f17917cdbb03f55e2da6f045c4082e7fc802368d175185b54c036c3fa1a796413903dc2fd9ca038b34d4ffe03fee1892ec124d6d5eb717f63f17c2c8d4f3b9f23344bbb8717f6403fdcf26902ec64955c71513190812958a8e767610b22f42a7ce4608fe3f8e01b8034b84d9bc5e0c0006dd90f4516b3db41a8425c7408df967af2638e44ad6ebf876035831263d8574ec9a03f8bdb9c086a937a2274d5a63832b9bf4f0d13a55fb58f60219ffff034b9e85d484ddfea45ae0eb293e086a0bb411e1e97006fb25654baa0238a3a5e003a125aa0413d5793e2226e8281b82b50ee91cfd5a0d2bafa3fa08ce3a4173f6d80330ce771fad1d64de8eb8bbb9863dd7fcb86883a2b860c3c6be6cede60d8ca5ca03ab53d9a0f3f58c74c3323ed86c244d88fc5109efa9ffea373075c5da4158805d039f0eae827d1dbba3281910c52a5f66260a0aeb70c9f8c822f9004132c09d3d9a0371ab2a6b999ef7c83a9e6fe7db94df0e33b1b89c4ea30550304ed84134063cec0349f6f1e73e13adb06efb8a701696f1a606ffc5cb225db3c60ca9728d7c08d6ab03f8928b00082ae5cd0db791d2f5021d55db6bccd176244565ba8602bf8e48403703e30fc1ce40c6eb189e67dd2cf4fb427b913ee830217a1ad12a7b5bd1037dda6703d8651ec9c078ea282c8f00b5d6f06f53127ea6d7f8a310f9a7df066abb39ee4103aa8b6ad7e4ffe5a1303422dd7fe4cfa16a3df7692572bd57b025dede6e6ee6af0379b35abdab25bd46e4a68c173c51aa254d56af91cc21b570c7e75aabe540e46e0387a9930b3f3fe1e95848f689812af8df098a87b477827f67f785ded8c85da9e1034a4305801c20c67effe92ab95aabe7db39b5fb363f0b4f864cb584164aaa0359032fd2e1c113009ab49d66565f4b3806b8372e711a693f510f1dcb4b7050a9ac660328c4f5ff2b00e00f72c595e5166a1c6044bd71135b337610e1aec576fa22455a032665c1adf8f5cba7bdca783ed9c2a9a72b07b146fd5db6009e609c034f6bdac30339494ff11d027657d55e111de3a52ba781fb904b71af0ac386e43d95818373f903b29711f613eaa5cb3e5f13c516b5a2a3ddea7fa95bc88e6ee5777b8c03a54f24039b7bc2d2f8182e0de1490741d5b4af81dd0baeb895884c5cb38bab72e861b58b039ef4bbee8de6a4c9b0e27016088edcbd4e8003027453773619e311c42eb3b4b5039ff68d1acca8c579884fd11ee727262bb249eba0b22b97dee7e33ba7da7cf4cb0319bc710b333d73edbaf709f4fa861a5df4e61bac0519e977415c4538db5d42d3035d5e545643c2edf37cc204c789abace61ff2646e5c1c8763fc7c961677569c4405581e03fcc62ed4d6ef70eb5ff93e14cc939c4b50c886913776afbb2701b6c3400c01471c18feaa07757e05581e037effe6a22942f5ae2c9c715de0c71ffd07bd50b565529325c341f2b1200c0146105ced2fbb600330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e03a7cf50f773ef24caec0f205043a13888fe172f1fb5629e7d43a13d866007011bffffffffffffffff05581e03f318b7a561acc80c697e28dadbebbfd6ce06780017962098f97d6e7be00c064612c7651fd1c003672996b2ac8dc079bad0c8cca360280593122a60b743ef062dd5823ed30ea9c505581e03db7b95e87b4e98c88cb278d408cff723acd1da8466ca73fa0a0079d8900c01420bb80319ad13e8668987316fb3c7972816af302eb9b94c1845633d5d5f3dcd0d123d660336bca8e3820b77595de7d8c61e691cf3aade8ecf748bc35592766d053506751f030d4aa59d79447e4b31f2d1deb0f18d7fc97e5a3e42a54c5241571a574c6ad6d3039e69102a410e56f5732bfb8ffd49966230f2717c475ae252f17fdf369f9d970305581e039b8aca5ea587b46deec68f5495d5fb456246721206ca87b8123aa4854007011bffffffffffffffff05581e03986a112bfdf61aa2cc12ee9c634341ad2944d8290088b66e55b03e99800c0146666b869e09f005581d02d80d6f7f860f35f1134be571f35ce283832efa60775ba457e9adfb840c0c48034dd519da2f4d0005581d02f9e9630533604c2cf557cd593d8fc8a3e3f194c791245205399c65bf0c014607b8bb6f24000219800102195bdd030f93e227d9e9140f30541706f85ea3508240c7728debcde43cefd6b9399410d30382c8e09673c226d18d40f2cad06e9b12938155304b96eaa474da012b1f663c8b03a7e569ca313fd0dfe5a1c29c4ce85daebc7247ef6c8d33d33ef705e05320018303242404e590b181cf6d94bcc35552d3d751a4ab51623d35e7c9bb4973a8fe670003416af859d1505fe7da9ceeb62f9bd5999f0e6740ab1ebe6b044baa5eb894fabf03321dd14e0271a01fd587bf30c352c9a032a32caf74dd85a4995f876a91cb63f503d87afb4493e01eed3552d147f9748c219bbf5778381ff4d20f40c0a0a19f6fe7030f7eecbf744ab89b83f8f615934e3f502b32cb3c57f3c225fd58a947c0b92d72033ffd03045d5a812052ce9220047eedb5fd006e9466b6571dfea66dd45cceff9d03a1ffc041048a43e653a369deab4c34c8d024b413d5e721efae0cfdcf3f10cf8203aece8ae8ce90f5fd4b39df10017847984c2681007bd746a5e2882fec8442dd7703f66abf4b0af63d4a48b5449c2bea20f6bc91970d211f62c63636f1e38607c972030a227b555bd8e0952dafd6116e963a24c563ea0e3451bf26d5ad28a1eba286750304d9d0f6592c918cbdab3861cd9f82fe3b0fb59a78b363e8c04d72ae8a5691750219ffff03d0d6742cb0efff2087993567fceb9786cf3d03bdb89331ff25714020344da9fb034f97a810ea5ad603f08c34320ef4fd9145d0aba2aa4f44a5dd52571b1601cb92033c0663d7fb7a636cf85b6fad6c531cdcc4d25170a7b2d1bf7727f8cafcf208c103c37c432dde5a5e7e745dd8bf55b68ff6cf23477a79d2fb3979be7e7ab632085b03f1bb73cb7b20e86b5d979e45786f2a34490953ba2633bbdfefa96088728d6979038c776d157202486eec4453d6308c3619cef7d86e801fdf525f1eeff684547986030c3b7da26aa0b00fac2dbe83b5719abdc61a575b3584b8098e8ec72e6503278b03e79659808afbb19b7b44a9bf771bf8b2179f6194509797a1218c86402bea76da0219ffff032832038730247c9bc892df92599967d1c2eb3b6d0054cecd0758967d6a68567c033ae1121855cd9432fcb76e9fde8c26d13c01464e239e0970ac71e39a54a081a903a38ebbead018f5ac780a26094190adc17f351874d4cab17a2e000c97d392b1eb0219ffff0317f55306d64e0089e9b5a85d19ee339c28ac76bb1dbd6985d0468458bf2d43d30308870a0456e360a474a1e7452331fb7948c178ffad7762bd758991376dd8321103e5e3d8f0887167101a0c29bb39d297ef4e8a2fcffa0138d436acb6b820b1f9e303c0f43babc954da74d7b9d2ae9e319a6fff7b6f2cc1939fa9da2e82f4cadbaf6003f4f3b26af10a7bfdaf8d85a8d3269404685b460a73accc2712664d6d72114ca3036873172b22e4d658e2dbdf8d20ab59f5b0198890ce0c533f5e42117dbf8e4ca90384ad74b5d8facb335153cff4e8d0d7272cca692326e68b8d05d495ddf9e39ed603c712c07ca8b5cde87e24cff46ddd859e000a064786992ec9b16dd5b86b72655b033fb8c01bec4b6772fb70bcad08b8d04bad700890a6f317c25d4c12d2f617409d038e9508843e02c79785e2648923d365028ea5444442953786f600b85785350cfc036eff1ee2270be9ed8fe362c059fd1fd9297c7d01df56fbc02d6484371202b91c0308dbbc358cf245193f5305c93a8f83e00fe32571f224277ac5e343df4889358a033441a28459bf0013dbfbb4c5c214e74e8b0d1b86afe3de245a7a1e595ff1e37403e542980b7f270452307b50aff7a4d9c8ee1e5c276f6cac9ed4df387976663f0c034172ed73b7a7a27043f5e062ba6dbc5a35309102618c6ae15d44597d30bf10df037c3a4eab9d456c26b064d8b4e6d08ae634a2b3bbf63263dfaab23c64bf5d286b03687e6e35800243f1baccc4ba3fdb20db9c2cb04b084841e85bac22b5896953b30399e90224c3b9875e1eae96326be2e1c872aa504df1441c17f72aa9e1f44426fa030b7abe521910079e29bf9d9f83237e00984b384285022543cedb0e39c9b7cfb303b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e036232a4b2c000e413815191de8fccda98af457eff63c2600b72ed0a0fc007011bffffffffffffffff03e295e682e5744251d18a6362e3a8d465ecf9dcea51f73862d7e938417580087d05581e038124e028a2ec62e96b1f643712aaf66181fc821e48c686139d65054510040103d9261fb94cb0fbfb4c7d34fa677191dedd09666afb6d959a3372cc31ce9d9d3b0307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581d032f6a14d47f357f19a62e3e2160aca86b583990740487a7e157a2f21007011bffffffffffffffff05581d036310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d008490313b2c583b060642602183005581d026d18b5ed74eadb7c5c5b22834769445678c0c8168fddeb16e6bbfb5804020219080105581e03c1f7e420eb4d9b12912b3884e45c9eac000f2f675b8cc9b77035855ab00c0147053b45e0d7b72805581e03f271f1cb20bc5b0b74aa8551a2db46f5a669e9e60f67340a472e20c1a00c0f473102fe5908807903446effc83a5c062fae4e244e10567ba2c9e28bc62c186116096de7ae79e49380034ebf60e22debe940f4a31bb59a7ad1f0d31d3aed30fb722e3599371bb31a292d05581e03e10b65d9d50ad3f2ef4b13bbc70e944c69c79a6b2289cb43fd833fdf6007011bffffffffffffffff05581e03ea1c35e4e0ebc8269e07da4b4fb389ab368d2c66ca177aeedb19006aa0040103f84f6b78229db0a19049b65c43edd3ab6d9b24db4bb032cc39bfaca38813c1f00219e7c903ab5fcdef21d3531717e4af06222309d853f272b031b582b46c4891657bc3b3470377be149c6cce11097aef33e0d37a10582fc0546c61d329a3b064ce9996faf3a80388cd992890214477889afa32f75d926e8bc483d184bb083b48f6e761338a7d35034676dffbe915bb0b1e9d983cac9c7fa2005f0ee5a5c026c86677119e5c4ba26503439e5b1aa4f06cfea59c620425f5e4fb5a0e693499bb34e142d6891090e6487f0393a1d5d95e3394d2f476497829c8a9c628ab1c83739b35b1a3bb9ced47024ace03e16795f26625288efc9af9bb552dd39b3936faf0026e1d16cc6d07d48f79916c0219ffff0326b3bd33e43516e810a40673e30fb13be60b4015cf25d45392289b74fc18d8c603d257346de7c40f1bacad051b0ccadeb62a9c2d8d119b7c8246484e43c64382e90346d913c1f86039d0f403d03d424df8f01c1da9d28ba14cd193e8c119fc893e7303de53b7911ff31b907b2f08ee4a2a041b3254db846bb61434b75ae5f704ae8f71032fc9f608f937ff27143dcef73469531d80b5582ff1df82b3524ae50b0bdc1a3403cb41dd1659a48535648cba0603b3b0b459632fc9da02e2c24e90973d2348fb9a039e822d1458af4827b43622bb993ef4954234ab065224f077d274173d29424b0903087f7d205ddaa855d2ca99df723c6688271bd4855bc22d1355b05f93d875aeea03fad1415b8a40d0dc1c1646c36240f26814d0427f5e0804b452e25e86fcac659c03d971ca66e7fe60c16c0658eb69774417bdb2b2cc4f61a610a3a79dcf0a9982c8030281aba66f9c9a0a3c05b8b04dddf277a26d950d92da019aebaf0ad97f8dec9f03324bbe10e64289008d179200a1d5f4f1b061aa0a57a32d21f41441304e3eecad034eb15986d3b63e0cbb96249c3b9d78ea587504c4a89ff18867cd736ecd48a7350219ffff0398bb2a3bb00cc47bae6eca14c6b243c663698a7f23a864a777a9eb60d9e51d9a032daed366a2829e3194812581164712ec7c39ae6299b00e44f749953cb06705c803b87268a782a8c17f94696f0d7d42b44f5ddb6c6b99b420dcfdc84fd6b6b105e703a0bd3fb593cdfe8ae3a351006103b9d1a4c7711c432877d55a92b6eb9f15896703b23501d940e9366375ae83439dda5a84a3d75fd218c1ebdead66f7377d6cb0d4036fba59cef598e7587e56bff58fc40f8108b996c874e3ffb56d52e471b7aa4bb003896a9d11e78099fe5e55c16d41989f2eeb247ca8e2f83d136e998567242a62910219ffff03a6eb7ecec629ba55db44d283e944b270941e5a9e6a4e73504fff5458d445bea90391f772041639bc0211b5883e8ea8a996df1761417e00536e6f486e938c82152d03bc28aa4dca8b8f7942900054ab7674a9e50fa36de9725dcf0d65faa5158301490370e5a120f53f1e5ef9f60b78762a506f1eaacebe620b0d4f133c65e1f8bf3738033401964d568b527b02cba3a12c8f54f9ed1f6a094e0048a0f533c7eb4d38d7c8032bab2fc4abd20e65d3363fe3d7c119dc9f041f5b03d6c63f49072229f747ecc205581e031515bb260b4cd846f798f65b5bf1a4c5cd7b591fc4e3e1256186fb61800c0246065dd083700005581e038eb6e00c0eb41256e61ac11ec4a66a3a3f2ef5c7e98215e619dbc9bb40040105581e03f1ce1b9a7770cf1680dec471a4d1432cdc1ed9363a36d645e9fbba80000c02422ee003717d2ef80f1200b09bfd17580f030897b9c7d4ff16e8f5465c31138fb0a1181c05581e03631b738126a092ad8b71e55d6673dd0409b1c9d696a07b6aabc022cc500c014701f521af45700005581e03b34c731704890f89f961e2d356ce7e3708b29918d84383c3d32ad8ada00c189e4807f2bbae07eea29f037021baab314e964c96989298ef2a84cae1a40590b2a09f490845843aa33532d005581e03a47fab20bcf6ebaa11a0e6eb4b3f8510f630cf65ef36f8c72a24fcd8e00c01470812034118520003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038ed16de5de69c10f86dd2ae0c5b9c450eee1f5498192586dc6887b858a6fb43905581e03175bd0819351aedac752bf4aa6e8bbe1620eb45693889016431b987dd007011bffffffffffffffff0391618b586a61f40a3483005f6c051e4e3ac3b36df898e7f94044d16cd861bdbc0219fe2503866f7a9bd7ea8916c41ac8d486d4de8c1d30c5a833b4ed2a0dcb357a06ede1ae03302aecd68a652282edee744fabcb5260accaa675d6b50dfd32fe0c96302ece03032f87ecaa86948c9d8dd68b20dbdb7be306ec38c4d154e5f73babb4c12f9d8abf032b6e43101c288726900dcc1b2865dfda56c2c16a3ae3d90e2e76bdfc9bac5fda0352725d85804858c0bbaeddafc62b819452a0402c43724cc5b423999d4dfded7a032f0a95760154073248dcb1f4a531a5b566e69496bd59878e3e01beb3982ba35403c6d8937ae3a3dea9af6601f73ae5430d8ed84ae0d2ad5cdcc1174949f1d7b2ea037826659b37650813971ec8148f2670fad38eaa74772f9cea459b4a619bcf7a4703669ad5e10ab91ab382fcad9d50fc17af92df90ad097e87ecce9ba686edb7f5050219ffff033055ff6943b34f3aa9257ebfe03f6f8e477e3ec0eacfd2023d40d6784c6f94c103fa391a946f6b7c88ab26e8a2f1a822f0022ae77ab4289903c201852708c459fa03186fbe12eaa96c9501da1ddc5b5c034c90bc26acae1354ab383be98ca9bdce7803cc1c270066731b7757ad2ebf4e41a97b752bb38ad6eb6c89cd25443e1e0e109c03894acedde595981e0f09f469d7e81c947d5dcf2040d5aef0ac1d4012b4add2010378d7619ee1d7f3d3c80c9ff5743fee398cb5993edc0f927fe3b849c3eda694ba03d4da678ac7a163b1cb17bc79d543a08805650129cda526a7a2190a4527a4ad5603e385db95616059ae6cb768f45fe4c3d0fc784e8ea11758cc8bc029b86d6b5d5e03c3ed2ece3a59beffcb7c4db158ff059ae4761a84405eee1a7fef167787c7848903f7afe78006126b6c181ebeebe1d33e8dfe62f371a87abe910b226edaf9707893037f8e79f9b2ae6cd3a315a9f998d77d269fa2568e9c58fe1ca85d5e40f1ed4d6a0330be166604de4433aaf205dab8c3bca42d2931936cc2b468044f69f0365c5a6503cd3a3dfb00bebf969ec64d1109dd0d3ab83fc956932ee7f61992e24c0468f9680362b0e2946a7d1161e23f02e62dc432357cd1f7bd60de8d5d275ecf51aaa1944303c44a667e0b4c05009b01ea5603850589ad564938f3df5da661bebbfb46623d8a0219ffff0395eda485318180940c87e80b095e40bbc4995ce64bbf45f7ccba572d76228130033175a9a473bf5fd4064144038db1bbc6cbae3ffe7e9ee1ff733bc0d1ce3d8f7b033a0472eba43df050925f1ff6cceb1d5074d25e77f9756346ac4b675f9163608a03170f13bcb5d569e7374bd647aac46b0520c28c1d76c49ca6c99323833ecf3d5703e1e97561c79120c534b10b3b45bd81f74d1b0ae62a29d3d33bc98f66b91832d9034f452a379d466ee2abe28b157585ca87cb008e11bd5b4ea491d4a3b9309e606a039150e3d74a29a11ef715b933fda1ae611bfe7c841053803ec563c6370ac33272037b3545bab1d3161201193c8b5be68fd5c370904259f21003bfd8adcb0d62186b037deb607c0611a3c59fd76d298c94f4d4257e73024915cd50ba45569fd3a48cda03aff2b980ca8632d86e7e8d079e9c83fde230fc5abfe6d05297bd9b30488e5f1a0382f090c25b51d4f235cf7e83f7400317d9f9423f90764bcb891624cb8cbb3eeb0302e8176c525a258d9aaa59da8107affe5275a28e8c7b3705664da0a25be48f680395be64e8ae568e532c0e816b539a1221a7b7b05ec806c1afba9f17b1dca19076035119790aa890f1f3532d5739ebe55c3bac091826962830285005b19e8fe45ca903a20ac6195be271e0223546146983a998d44ede7bb4cb77e28616aafcff29ae940219ffff03820498262b2b2f2a1110c2658dc4d342b7034a78c850b4f7fdff7ee13f11166903c4b875850c4e5b5df6d2fda02788fd32bc30757a28b5025f718390432f7d18de031ee50258fab36cb11c7141d869902f0c9c11acd9ab9ba9c139626a7a5b24c65f030134b2d0b5dacaaa7547f1c14cce9a639a8591e392a75a9207c55c5fa3b0380403f9777ec0b87003f2003ad2c19a862f2dca93dbb0d58c16a4e47c19ac0a3a9f860312434c953008352fe724434206d8b18aae7bc696ccd8311fea130b7caaf7ec1703e2549f11eea52f07b82f9f0c2d4d7a4906d5cd6324941f2d852a03e5da30e503031b2410403f271b081659bcd5c5f236e4c4faab010514e957abc280f1d837163703673a559d6c372344d8cb8514e20276987445b35d4404087a98b2d95d74733196033e82fe0d4be0d64929d4988aa67e8628f7d31402df685540a223ee07692426240386b29102d8d0fef3c6ecff6163b42b98177c56b6260e898c1ef8e2eb33ca799603690c1d8c9ac68e36ab7107ec67d8f232d0a7007d95c7ac608d9d1281793e8d7a034b5d5b07d4b74b2961be8eeae8d074dbef44ffd1168dcc4a21080972b263550803f3413e2b25b309d1f87722ee75b351e44be93e1720e2d922a56d59437ef28d9b03c41e49d3cfb1ca73769d9b5457bb3842bd028e4763bfdad45a88020af0c9e88503c39deeb2ea94cbe08c816ab5bae12c1f9790be2a52b162607f615e766855e8b103f5858fddca7763ad608aec979d3f4edd2b0f630e9bc7d0a5585789ff0a26deb403de4ec0ba3db659770d90673df4bc7b33e2860b981574b65f8822f55e87d3c8c003bbe4c51122dc81273e46420d71e3bf7aa57fbd71bdb8b1e14ac5be4538a9ff6503d3f3d860843af22ac6414268c369d965a06d567f556c7bfefa3f98bd7348223e037603117e5e95c3cdfad2e98a2b6e01289859df0f4f3a9b3bef44873ef713be930399580ef30f69927858a4da4a7cbb670ae92342c40aadca3b9ae29d2309262e9403a2e28ff2271de3d49b00099ed21f7f9f06553554fed900fb31bde984375a75b5030fc1a6577c01ae7382e5d108cd9e78a9f16dee4c6c4cb3309003a625513a464603f80422a06e10612eb43725c2a94f32f08c07948a3a0e84da155ba51406eff9ac033ba872a073cebbc9bcc12d604bdee92240fe902a6a3bca88af5449103a7a4e9305581d0258efff8c7afa9507a9696e4045e7c618d9351b66fa66bceb8512e3750c034736adc5ec9ad90405581d02294c204a5df404ff94319980d074ad62a0224d9311525785803f324f040103ac899fcbb131629802b64f846c50401443530a6e237b2fe9688faa10180445620219908005581e03ada2eb1403a4e4243f5a4f9e293257a189d1aefe3893b37a6ea924b8d004010304f7aded25bf3904cbd0914deeca2e1cbf2e8f951cccd27a274f6cebf994451b05581e038745f812848a726bd16abfc9d2c87e46a89e67585703dd53fcde5fcae00c01410105581e038d380bf2f08fe9340c8a13ea1dd74e3897963caa656ed954dfd5cd1330040105581e03ac9205a448b6b76fb5739ad71b1639d3cde1d670c27c1c4e59070c5550084901158e460913d0000005581e039b38e2a5c21326283b582e5e793497d1c162e850fc48d5794f24c953400c014707a86493512050036dedac1db1c68a256674c3911f83cc49c455bc5bf4ef93764c3c8647cd9c7840037fbfeb2393cd73b1e2d562650df775083991238f7eaeb7dace79f660b4308de103e5ef183ebbb6bb5ce1dee872312818125e54e9c9a66e8d7d8461667d1f9253600219e9b303fd95406ac90b4b96ab336e6886be1a19cf767e7ff601ffaa6222e061dcb8b4df03630fbb09712bc4fde6ff64ccdbba2660423421f482d08efda2de4ba0f1404a8d03c1e5043502c68cf6067dd9ec36336ceeabaa926e7f5ccd717a633cd32a38febe03fe807a56b927341ed81c5e783557d9404ac1654a545e426e0e570b9793412b71031e136feb4a94ae8bc0f74eba4db17e0f2d62b0905d44246d79fe2798e6ab893a0374bf613d6a5ae643a7223e1e1552f80109bca66925ab3ed8016d8c7cac0c8ee50328c3517954564df37878707bb8d4d5ef7bd3b3dfe0813b2c3e7b6d8c84b46c56034d17e7aa9a44e1d62be49e83aaaedd83f2f98b931211440f01ef4daaa25b7e81036c333872d77ae3d5efb87d62bdf007eaefb5ecf6c8eca181122ea7dac2e38c8703c931959e6b532917dcad3cd102168a050f2294b378c0877457dd039bb5cd63c4034ef4d4cba47d07417a1f3648cbb06626f7ffb8478b141019d16944c574e8b76f03c8ae3dbed9c2b67da399e46dec1917a38e6a0ec6f1690ca614614f1743f8e7a30219ffff032f1edbcd35e7b5ae68dc5b68d2072afa3d8e4f0dcb8b8c05b31108057408207b038fdc3ac28964ed515356c54bf9c14fecb435ec8562c045acb25925cecc089fca03a34931324d4bc6a6a50bcc82240b08f7d5b9808d02799f4762246349de3c05cc032dcd48d3751515528030ef09d5aaf10dda1a477781979c46f47c61013536d6a303e32942dab2e546384b60fa3b9d6e94dc9d9534df9b51b9e61b85d93859a5795b03c0dea63df2db5d29ab6aee4ebd38bc8b9307dc3bd5c28fed6540f43e100a47de031d63a917300d1c39f98485398609b96daeec40a607eec5a0bb782255fe3d97dc03652990e73831184ab68ae9b70452a854b09cc9de20be6f9ce11da3f57ff416670219ffff03b7740f5d7e3d19ca8da9b293e4adc84fa750cafc2ec4a04c87e5feaab6eb2bd90219ffff034ae7a0d5696e2d8a44557fcfda96f7c36225ba2595d8fdec598e0c2089fe20c0034a4d5a98e25e8e06f8ab457f871bb8e6c25bd557588e333ecfaaac3161eaa17103bf2230b17384c5b01bfb65a0af39400c4f904f33e0c25d4526340dde4ddf946f03ce0f5407e0ff68d90ab1e3c0c5f67ebe353e39122d58bb20115c34716d788e3f037288008a4fc2cc62e40d2c9266e08cefbfa6be936ef5641b90b46b2ea1fa39740219ffff0333337e0bce9fd0b735c928ef811faf05785d0a789ce58382cb587a645666a6820373000b8a0f21a49d93c9f8466a3668f69683ab5e0cf5631611e81bc9f7c7254203ce2a28b92becbb2da172fab4fe17e63bbfdcef823bdcac0b897131e3ce9fae2203a0a452e0734002cfa24e1a199e1333bca6c1304a640c08e5eff0f8fc3f4b662a037e080202316f8106feb4c1982b3119c96e01d26f5344cba934500a721132b5ea035c99610906cf063607c5fa08afc9a311a83fcab1d356936e40f4d083c67c3104037ece001af6626b48e63a0f5d1edb4f64d7ea556694c1151c25b9d3ceea8a042803200ac4ba9942caa7672b854a6fed8c68d78be544954693f41e07843d20a0c15f03015691670fc2b3701d14032f4684309dfe884a4d66ba00f308aeb376dae72427039f9a7672ecc60221d0990719405f4bd27b8f7ef942d6931320d9504d374adec60312185470f3595417f23298f843d79ba076831c0a5b4dae7960fac3dd6df412df030b0d8835b8b0ce4116bc2e10d117ea45d4475e20074b58a1dd45ef09c9c42ae1031ce666fbc8783369b38c0683bf985fa985c42cd137ab3e59e83dd031bc7442f403bf45a8d7fe20cf7941e1901672366956c4564eb709724f3d415043e7e7eb04160331a13ecebfe5ed3cd1ec9a15c7408a2b03a31878dfbc8b8c25f8649d13302cf003179c3e011ac2a70c096401408048add7c0886d5d924b6eb6320d30594d45bdae039534233bca18cab9150d0a948f800e28515bf2884b32f3b37c20d00958236b87038c8e854e4633a366f2c8eb24ed9991acdffa121de7dabcd86814d416b33962b503ec2007a19109629e5f991eafc2eeeb7e2fc3d93aded579983926544fb4d18e61037ae934870effa5e850a4b0b23b9425000da969943fbcb93116e07c896f32b79f034d18003077f3dcb3e8e91a537e06e98734a2e3d3e2a7125d9b6394368b56b1b203d3b6f56cedf6585971ca2ff6b25c419e4ec6a59af83199bb4dcc717ae082617b033d9d99ddefe17e7f63c90f410f8a12de8b58b9c4fbf4b32ab85c2dfbdf492aaf03e851149b00a5195a28745c0d38989fac3513e8dd0fea05eecf7b44919d38577103ada9be67c1b86bfca5a17032a84b34552e01cf59fd8feb4fe64e9ca628336c0203ed8b2c38eee3b4e316a16bca755f127006498095cce82269df5aa40db6942cf30351ce73a5a8fda7140ff3ac10d68a25a531f4e8c87c619ca04e7142409ad6aa6c035710f057f209e749c2bb7912755ef30d8e53576d22b52e77a4f45c11dd3bcc0b035ae5e16831ab867ea99df3a68dcbd748944f32c789c15a46a40a8586ce991d3f031b7f57ef85d8492ea3037d9e4686c5330908fcd8d79722ee9e3d6630fe47bbd603b82afc9d0b639a4ef2b99b1a52415a6775ede83a113cd5593ccd07ca97010d5903663d78bd6271b402f4063676d76e5656af8ce4be3422cbf261e050698e24c65903cacb771f02cc9fcb1e71cd8dc7f982f4440d73588da134c92daabba306bc4c4b0374af27ce45edb9540c5f204902f949190a5f18424f3e5ced87c4f9eb6741a33a05581e035c637e90bb0741ac2bf2f307846d95c0cace82cd30fe34a772aa2ed210040205581e0332cbcfbbf0cdfa848301b1096fecf24d895d928fb5330a8047e0aaef100c014719e720390eb00003d4c8f422a0d239a4d256cb420c431beeaf695f05f221f27438b0f425882bb2fc05581e03356b216a321f36554bb54548b9a2b82cbfe830e69a3e08ce13caa79e200c01470252f4b991f67b0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908032b54231c5a530dbcf6ee9c3188a7ca52b2df64934257d811c1919fea7001f57c05581e036e4a2ccb719645bf5962c36cf80c7815c3e09f79bbc9752389868759b007011bffffffffffffffff05581e03a7540d86caf2e4f16ba191761cf4715b91cce5602f12caf2c9e7e27630040203e526e11c90ec60dacabcd1b9354cc30c6f69fe67d1e6cbb826fcdaa6eb13d1a30458de6080806040526004361015601257600080fd5b600090813560e01c630202470814602857600080fd5b34606357817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112606357602090605d6067565b15158152f35b5080fd5b483a03640277cf2a0048106000146085576064604648029102111590565b64183cd7f100481015609b57489060011b111590565b606460414802910211159056fea2646970667358221220fe767365ecbf40522ecd1de1cb05111223125fde69ba80a98aa04be6f0c80f4b64736f6c634300081300330605581e03320056436aab89597c493c1be26628c166f83651d68fce29c70d0ccd30070118de05581e033b9b9c81060c9bbe24c52fd15935609feaf0dc95eae6a1e158f379c2700c0a4654122a8c920002195f9d03d97a2efc1fc72dac8e4c3f2a12763cdf05738782d722fec0d439ae0e537cc285036df1bece023c4c445bdb2db06476554e77b64d32aef1af7f62d74dfb34b0f7ed03b1219ab4472363d09d5d66e63ed2718c749029f3b52f49f2355aa4d37190a75503a251533e14219a2c1dc16c488cd8d0946d62734a966191133ff4455586faea7f0317e679343e3a81d8c48bfab7fdb41100a3db6e5c92a559b9be8e9e8df10b5db70354b7b1b05c8960adb95af7ab8d8259f327c36be17a6380239b23febaa0016a9f03142d79be922238d8c82b3994302e2f45fa325f5f035f921a174162f7bd315a7103eaf2ebd980367a5f7dd5641a88c3216898102aa53268e8009e08a9bac751d1650382893dbed2d02f9cdaecd4ad4e2af8efc928ac7854ccf626972794e062ab7b6603b0f7bca17d4f661452fdfaefc1b50555e1a46e179fee6907df1c0008d130461b0219ffff034aa226800aa78a33c9836066ccbba550bf8da0eeca9854e59c8c0134e6414426037802baa7f7124bc84da9b180c254620d7d445975920fcd3aad51cbb67a10cd4d031518d7c19a0b8e40c686a85bd14a66293e81674b26c3b083e65904eaf5614fa003f722a57618454fc74409c5f5a10cdfb339adf5ad9ab0c56f8400b5631bab89640219ffff0350626d7f65118c87c294680e71b42c3bf064e631958057812acf7f8aa4750aae03ee1cbe1d3739ca874547bc4feb78799a6963bc4a2f7b91747a2ed8fdb7995f220378c6258f45f30c0b47066bc5541de74073e292c3a0c1df214f5dfb2ec403a9de03a2d5c32b237a7922491f7076916e02691ca29a0e4922f3c2c50e6d5560c43f8b03d67749543a13e4f9b700728430bc2262f736e1551545f8ab547a54dafb331157036681a0cb7d69151a2ab42e1ef7021d97773201d85502b8b6c6eb1376c4ef4ce903cae46bd6c19284cb69d4a0d2638622190af2dc087c2bfa9e5f59f1bc35516e710300e8641c59b62e3230026cd56c7a2fc3d0626164d08b8f823171b868a325ec83038c28db78a6470e4dc40049978c54aa007e71c615cd485dc41758eb5066607b64039dc5102600b9792507590eda132c035687fc17f0af5832923bc9d23e12f21f7203d3853b977cc8d18833b7ca74b94486aa537e0f18bcccc808f73061397f676b020219ffff036999f1b4c08ea041cd18c4c113cc2bf0da43b3bca6ecebd3653b39679c02a82203c35a2183a942ed1fee408e6d5a0b8fdf7e2a4532bc6d9a540a7bd0462fb97d5c03c3d6d15fc96f73466076f4cdd53c8591b1fb0f1b1d90aed51b18ed93dd25225a0219ffff036c1656fa3573103a67b55d2e01839a5b21b4395b05ba86c133407b97b4a10d01036563e09f65d45501892876ebbe0c39ef5a8b29d9208799d7e6e04bb4897c1bcb031ff500b18ef3c07715f78824498a3c0737dc44bb995946f82b41a629159f1b6f0319bdabb5dea19cff6fde5587cd28bcd72ee5e4170ba24070f6a6002fdf731fa503f16b14175705ddb439a255c2c2803be1b25fdb87ae95216bcb7a610e9a9063360324394503bc7bab04c3ae1141256777ecfc42465d006ce4c09bf8ae3a0505fdec03fa0c79c692ca546e2bca4050d15dfb6fed2451e19ace6c8a45c256307152122403e9a87d7f00d36247214bac5ac23668bad58d0e703689a626311795ea662a8f0903d4d1eb3aa092873dfb631e9c717f85690d1cfe18f4f95b815fa1a034745b82fb0331f798882485ca8f70026b07efdfdfbc8a321ac2fef536a2e3d7a13fb2874cf603b222d031faf18b2125cfb48cd5b35bb5b07396f645d123f4e6d29ef8c3b364e80324bbfed77e3bf4d94330e8e7afd5f2f8415bef1985dcc285df500f1fdc7ca2ff03e086a416aadd0a8d09b64ca24c33e87d4d07333e253fbc463ff028cfb487522e03c2325117f7d97c51e0e576ade65b194144bc9fee81c7ca2aedf39025403da57503c317298ff11976832308eb7d2d5e20a0d218468b62c503ab7d787c117925cdc403727540e192d1abdee75c4d04dcfe05141d896d4df59d1d3434b4e62d232930e903fc3f397b6c9586e93d73efe0120c7a6f97f23be88d6e8dd9c56e27bca9993dd20373f5e2c15353050277b3d28c14c3eaff37b6c52c7a598724ba1cd5029695f9d703a08979fc8d59e672f084440f9e2752b06bb7594dc4e52e2c043aa90f8ab19666039145679165c3a2ec4db63d803f3ae1f0195c02062cac214cca96e9e450af3aab05581e037a53550dc399a156d54347ef50def8f425931c331dd2b8e53442208bd0040205581e03480a7c8dda2f8d183a8e975e60aba0e1d6bb1ca841027528c06d0f21300c0146b5e620f78d4005581e0346dc4933acd0fe8c0d3469bdbbd7522c52de9cc1c803e0a5f70e312690040305581e0342a72fd9151705b181ebc17546587d9113d29b35e7b87d6e75d5bfd2200c044702801a77a2f94405581e03d51b7fdff2fbaff38b64ad1a59df11a34c66dc0a2c648297d12c9e56100c02470119782e133fb005581e037c48cf7dabeaebd595de1ae697978a8fd4ab361157ccd3094d19998f40040105581e03e00c26999ded424d15fa5b92552e0638e325d168d234595c98c3c721000c014703328b944c400003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03e31911ffeab5320719c6d1778f576f6042a38712df31403962d169452007011bffffffffffffffff04590855608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100ce578063aad0ae5b146100df578063c4d66de8146100f2578063f2fde38b1461010557600080fd5b80630a5ea4661461008257806312ec8dcc14610097578063715018a6146100c6575b600080fd5b6100956100903660046106f7565b610118565b005b6065546100aa906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b610095610198565b6033546001600160a01b03166100aa565b6100956100ed3660046106d5565b6101ce565b6100956101003660046106d5565b610244565b6100956101133660046106d5565b610321565b6065546001600160a01b031633146101775760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e417070726f76653a2041636365737320726573747269637465640060448201526064015b60405180910390fd5b8015610192576101926001600160a01b0385168484846103bc565b50505050565b6033546001600160a01b031633146101c25760405162461bcd60e51b815260040161016e9061079f565b6101cc6000610416565b565b6033546001600160a01b031633146101f85760405162461bcd60e51b815260040161016e9061079f565b606580546001600160a01b0319166001600160a01b03831690811790915560405181907ff213750e75b7d8975215501c91778a99d0e1d7e30453ea61619aba02b5e0d17d90600090a350565b600054610100900460ff1661025f5760005460ff1615610263565b303b155b6102c65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161016e565b600054610100900460ff161580156102e8576000805461ffff19166101011790555b6102f0610468565b606580546001600160a01b0319166001600160a01b038416179055801561031d576000805461ff00191690555b5050565b6033546001600160a01b0316331461034b5760405162461bcd60e51b815260040161016e9061079f565b6001600160a01b0381166103b05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161016e565b6103b981610416565b50565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261019290859061049f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661048f5760405162461bcd60e51b815260040161016e906107d4565b610497610626565b6101cc61064d565b6104b1826001600160a01b031661067d565b6104fd5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015260640161016e565b600080836001600160a01b0316836040516105189190610764565b6000604051808303816000865af19150503d8060008114610555576040519150601f19603f3d011682016040523d82523d6000602084013e61055a565b606091505b5091509150816105ac5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015260640161016e565b80511561019257808060200190518101906105c79190610742565b6101925760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161016e565b600054610100900460ff166101cc5760405162461bcd60e51b815260040161016e906107d4565b600054610100900460ff166106745760405162461bcd60e51b815260040161016e906107d4565b6101cc33610416565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906106b157508115155b949350505050565b80356001600160a01b03811681146106d057600080fd5b919050565b6000602082840312156106e757600080fd5b6106f0826106b9565b9392505050565b6000806000806080858703121561070d57600080fd5b610716856106b9565b9350610724602086016106b9565b9250610732604086016106b9565b9396929550929360600135925050565b60006020828403121561075457600080fd5b815180151581146106f057600080fd5b6000825160005b81811015610785576020818601810151858301520161076b565b81811115610794576000828501525b509190910192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212204145507bfa15500c0eee86c57c125e8500315ccc134912cdaa0914a0badb3f8d64736f6c634300080600330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582002a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8254e1c7db7575babf0d3369835678ec9b7f15c0886b00582002f97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c75470cbb871e8f30fc8ce23609e9e0ea87b6b222f58021980040219010405581e0364d11e8e3a1420889b55b40236f26171452fc5c2039b36c2ff7eebd1e0070119085505581e03c041a125d5bebf793e4fe76765079b1a6f58561779843267210dab21b00c044656385853200005581e0311f5442609a3d1c9d8b6fcd4116925086103aaa59609edf9372c61ebb00c014622f186d1abe60338d318867d6777429ae9d27eeb574a09ece60292650356363e87b497663cf7db05581e03a72e70a896c5e7e3fd73fc037f9e385a2ff1fcd346c335e8e608f124400c186d471f71d628f1f38803eea6e015c5abaf705debdb853983b714b38e22667b85ff6e05a2db41df0504dc01410f0219effd03a6843d794191119540d18dd93aa3f26f19ee6736289b1728bdb6fc94c6d01aef03f05b8be49c774ea5112ae2b06f09779a49dc595dcd4f90ee6c608aaee100ff3c03acec0c85618661dfc8a7474ffd8eed9c8015ffebd298a260dcd5646f746ac8f30375c93313558d212b012ba9de45416de8a868081a9b692dbe734dac81924addd40328fdc911f176342e62c4f6f5c116a9e9409782b874c181e4deb1363e3ef504f2035f71f76b8ff24905310063097922eb65d32443d0a72bafb3644e7c09a75d73d80375251b39dcf86fbedeb4f16acfa9a96fab03f908a387e2965a90759e8ffa218103b5d8a37ef68dac3b8812669b09392960fc92c87540cd6d61616a7e5e419e495b03dcfdd8ddac2f3c79a632c51a37e9ecf139707623464f7c4cfacb2751ed93e7e60368406e0b3ffe2c3b5a929555b32adfe58f3b85bafc33604e6997cb906673bb7803037103a8515f11e5164f6121e4b98403db352e195fe7d848c812690013d4c18c035c52f86143284b4ffb948c26902cfa5ac33408c4d653b07c7c9356fb4f91c2a903e7148db0ce78e416bd6927721e3beaa5e4c707f3eed4ab9b85d0718bf2c753a30219ffff0301e0be63422704e86ba6fb223b9469bed5dd9cbee7a85ef6eb07fbec1b3409cd034617a132fd46b0746a642477af55f04d508bf633624ff3a24f92026c42ce5ef703ea8a32a0892cc9162a190dc9557003262a033d6cecd61792656fddb656611905032d815036f3b9c8a7899fc31cabb7d2a30ab09240bb7716a89923847d4692b2e8038170d98859c3e5afaf9382d4ad20f0f0667e474944a816c579830bacd8ed136303fbb43df4eb9fd44f41e741253bb9f1cc03fc4337741529cbef6a90092571c01d035bcf85d3ff03edf81b1367adbc9cb9180d04c08712d7882900e508738fc3089b03e4dbf27791ed2eb9580d54e0c9966a86a290abaeb665c4e3ac7408a07c75f0b003fe736eaf793ce468af4bbb253c8c6309905baf6a0a385b7b1ffba78e72c632dd031eb5bba110765533307bc7844d2549f6aad55d2bdc4d01d704c819627c57bcc40321d1d474b26b89b2aef4d29af2209a8aedefd68060da4fa7134c42cbdcb5c8060385d0fb46317e8decc4c8a9b9396a2cc67b8d8d84951c8ca09916c2651be388080219ffff035900025946d281922a2a3144a22dad27408351e8d3cc81ef80e261b7ad787b1103a2292f68140e7c3e05ad69789a1cfc012c8e96e9000c9abfaf77f18218173f720219ffff03c547f3b7322cb0f339293875eefab9289e3fdc6b65df529e7ca8f260089035ab037cb793d1f8b60a5e79c99dfb02d1be522790865b2f311ff7d849fec694bbaee003e68124f6a0aa87e0626570b8dbf8cc788d597da7a3015f30cf4a994bf2b3014503b2ec0ea9e834ac3bde8399c7010e57b1276d282b391f7a5f94574f03e7fcca5003f5e5eaf56537b9a1c9ba10dda594124a4fada3bde005d0f2518ae920ba242c3e033610e99454175eebc06d9548250d9619ed3c31a3982174a89464308c80f470e703d92232a1be23509197c762fc3ddc4e116af2b00d2b58fffac62b9a29722b2bbc035e57f4a18cdc0cdc9050ef666bd8bf5a9dda8b424f2ce269db25583552f5887503ed30653ee2bd696803b2a21b7e07f6671e2825f92cabf0c323e2b8800a6f6a420330781fb4d23a515ee6a38e59391560c763b25ec2040dbc63c459c825e92adf9003d5332d790e7937fcfa28c47e626c35c5594bfd3c4779fab8dd13dce84df8332b0392e2aa41cf643d17f37d8202d3eb83ff75e1db59d3ada655c82cc7805b8bd30103b9efa5e20f7e1a9a60929484a18df30abd3917cb0d9c135bfbe105a5d7a5fb1a036ea03d65bd60231b619c5df593150df4284652fb43f387d063b256132c77b15c03c015a7f01aad54fbfbd345ad91da2b32762089784eb35a43683c62df0c1eaed003211c2d2d7a4db6067e7022760e965089d6375989ed02932fd54d3a7da6e4d568033607eb31e47ea02266772513d26151c49f13096199524e7bc6b37dd9dc02cca60378256d66fa84c1f365b019029d6961ad3cf3353de8d65af8ca0c6a8eaba1632a03c1d53c88659f31fc6efa086eef55476e129aefc3b4d5785de2de6dcd5bbce742035cd7d30038830d6c2930bb4acfca5da9cab1be58dfac2a41164531426058d2fa03d71d60c3f14f830744577537262015913c1356acadf6e0129182af005417777f03086ddb841b7e22f0877f38e99c58c82cd7a6c09d78e1e5d0d7efa62663721bf50306ac41a740bfcbe7fcc3ebc5f7a98a73504a0192a132080c574601474c446d0f0393cd522200b809d4829fb374c63778a208688b58f3ed6a648af90574baf7e0a403beed8cd54630425e0cd14f370b78045040292869ff15e25cb938f0ccac327a97033c436cb940740323d90adcf8bdbf6e2c83b08210b7441268fd3e76dbb4d094f603c3e0d2e18484e20ac29d8cb3633eece1fa72447bb4e984300085be54e56b3561038b96469d4f91712c40f75a364147f789fbc43f1d307f13253464dd2035b6127b03e92a97c380b8226ab1df1801b60e26e65759da560e8d4e787de65a16ee2e487603b28ba7539618fab65acd3477e421c415d392e3d7dc2aeccfe844f13cc018daef035e690fe9645aab0e0ecab8464326ad3657c6bc6413da356e6bb01d1e4d7ab1bb03176ef2210a99e4203452bac78f16f22d9076562032fa8071086a5b5912ada3b503f0cee94eed9ca88fa934195cadceed0af6f26e87ee7b15f5be281d5cdb3d58d503387e81a01588282c881703723197db41120ed84ffc440c62b74c7f8e082a9302030bfed35992366446b13f347e292ca279dbf8a5550bda037647882c68b953d5bd035aa97881ee905257a956d410c90e8362a6d7394ca85a6e3f0e61a2a560d323f3030d5ab9ef1fd8271ddb3ce482d7ce11a6c0acdd35d9edd6f2710e24e8d4d711d20370cc2b9a5e427d9eb8fccbe39c75ec5a1219c12f413c418dc91459a208b6049b03e3146e2f97a7b9bdac4a220bcf5965107ac9b6a6d6fd757326837e4ce1604d0403a819ad7b3f087eda9a584ddad9b24b79dfe3b20f39a3d67a61036cadea86cff10308ccaf2b1f5846a9ea3c10b675f65247fce1ab609ba3f2fa9708fe0b0804834d05581e0345c64b47b6c59c88597e328ed0ad76469b2acfe756e2401b97d37f3590040105581e0346e4cee090a0a1b0a7af9911a211de8229c74b3ff32ef0f8308945e920040105581d02ec028a78beaa86d3c70bca3d2d646c0b7077c57332979c956dfe0c5d040105581d028e9abb1538278f13c625753917b75ec83bf5f7c358656717a8f639d30404045956e560806040526004361061031e5760003560e01c80637bce5a04116101ab578063a9059cbb116100f7578063c747279b11610095578063dd62ed3e1161006f578063dd62ed3e14610bd7578063e2f4560514610c14578063f2fde38b14610c3f578063fbc03bc814610c6857610325565b8063c747279b14610b46578063d257b34f14610b6f578063d85ba06314610bac57610325565b8063b62496f5116100d1578063b62496f514610a8c578063bae14e1d14610ac9578063bbc0c74214610af2578063c024666814610b1d57610325565b8063a9059cbb146109e9578063a90eab8c14610a26578063af5b0f3714610a4f57610325565b806395d89b41116101645780639fccce321161013e5780639fccce321461092b578063a0d82dc514610956578063a44edb2b14610981578063a457c2d7146109ac57610325565b806395d89b41146108ac5780639a7a23d6146108d75780639c3b4fdc1461090057610325565b80637bce5a04146107c2578063881dce60146107ed5780638a8c523c146108165780638da5cb5b1461082d5780639213691314610858578063924de9b71461088357610325565b80634a4b43cc1161026a57806366ca9b83116102235780636ddd1713116101fd5780636ddd17131461071857806370a0823114610743578063715018a614610780578063751039fc1461079757610325565b806366ca9b831461069b57806368092bd9146106c45780636a486a8e146106ed57610325565b80634a4b43cc1461058b5780634a62bb65146105b45780634fbee193146105df57806351c4b8991461061c5780635d8d17bc1461064757806361c7ddac1461067257610325565b80631f3fed8f116102d7578063313ce567116102b1578063313ce567146104cd57806337c2810f146104f8578063395093511461052357806349bd5a5e1461056057610325565b80631f3fed8f1461043c578063203e727e1461046757806323b872dd1461049057610325565b806302dbd8f81461032a57806306fdde0314610353578063095ea7b31461037e5780631694505e146103bb57806318126dce146103e657806318160ddd1461041157610325565b3661032557005b600080fd5b34801561033657600080fd5b50610351600480360381019061034c9190613ee9565b610c91565b005b34801561035f57600080fd5b50610368610d7b565b6040516103759190613fc2565b60405180910390f35b34801561038a57600080fd5b506103a560048036038101906103a09190614042565b610e0d565b6040516103b2919061409d565b60405180910390f35b3480156103c757600080fd5b506103d0610e2b565b6040516103dd9190614117565b60405180910390f35b3480156103f257600080fd5b506103fb610e4f565b6040516104089190614141565b60405180910390f35b34801561041d57600080fd5b50610426610e55565b6040516104339190614141565b60405180910390f35b34801561044857600080fd5b50610451610e5f565b60405161045e9190614141565b60405180910390f35b34801561047357600080fd5b5061048e6004803603810190610489919061415c565b610e65565b005b34801561049c57600080fd5b506104b760048036038101906104b29190614189565b610f74565b6040516104c4919061409d565b60405180910390f35b3480156104d957600080fd5b506104e261106c565b6040516104ef91906141f8565b60405180910390f35b34801561050457600080fd5b5061050d611075565b60405161051a9190614222565b60405180910390f35b34801561052f57600080fd5b5061054a60048036038101906105459190614042565b61109b565b604051610557919061409d565b60405180910390f35b34801561056c57600080fd5b50610575611147565b6040516105829190614222565b60405180910390f35b34801561059757600080fd5b506105b260048036038101906105ad9190614269565b61116d565b005b3480156105c057600080fd5b506105c9611244565b6040516105d6919061409d565b60405180910390f35b3480156105eb57600080fd5b50610606600480360381019061060191906142a9565b611257565b604051610613919061409d565b60405180910390f35b34801561062857600080fd5b506106316112ad565b60405161063e9190614222565b60405180910390f35b34801561065357600080fd5b5061065c6112d3565b6040516106699190614222565b60405180910390f35b34801561067e57600080fd5b50610699600480360381019061069491906142a9565b6112f9565b005b3480156106a757600080fd5b506106c260048036038101906106bd9190613ee9565b611435565b005b3480156106d057600080fd5b506106eb60048036038101906106e69190614269565b61151f565b005b3480156106f957600080fd5b506107026115f6565b60405161070f9190614141565b60405180910390f35b34801561072457600080fd5b5061072d6115fc565b60405161073a919061409d565b60405180910390f35b34801561074f57600080fd5b5061076a600480360381019061076591906142a9565b61160f565b6040516107779190614141565b60405180910390f35b34801561078c57600080fd5b50610795611657565b005b3480156107a357600080fd5b506107ac6116df565b6040516107b9919061409d565b60405180910390f35b3480156107ce57600080fd5b506107d761177f565b6040516107e49190614141565b60405180910390f35b3480156107f957600080fd5b50610814600480360381019061080f919061415c565b611785565b005b34801561082257600080fd5b5061082b611849565b005b34801561083957600080fd5b506108426118fd565b60405161084f9190614222565b60405180910390f35b34801561086457600080fd5b5061086d611927565b60405161087a9190614141565b60405180910390f35b34801561088f57600080fd5b506108aa60048036038101906108a591906142d6565b61192d565b005b3480156108b857600080fd5b506108c16119c6565b6040516108ce9190613fc2565b60405180910390f35b3480156108e357600080fd5b506108fe60048036038101906108f99190614269565b611a58565b005b34801561090c57600080fd5b50610915611b73565b6040516109229190614141565b60405180910390f35b34801561093757600080fd5b50610940611b79565b60405161094d9190614141565b60405180910390f35b34801561096257600080fd5b5061096b611b7f565b6040516109789190614141565b60405180910390f35b34801561098d57600080fd5b50610996611b85565b6040516109a39190614141565b60405180910390f35b3480156109b857600080fd5b506109d360048036038101906109ce9190614042565b611b8b565b6040516109e0919061409d565b60405180910390f35b3480156109f557600080fd5b50610a106004803603810190610a0b9190614042565b611c76565b604051610a1d919061409d565b60405180910390f35b348015610a3257600080fd5b50610a4d6004803603810190610a489190614365565b611c94565b005b348015610a5b57600080fd5b50610a766004803603810190610a7191906142a9565b611f1f565b604051610a83919061409d565b60405180910390f35b348015610a9857600080fd5b50610ab36004803603810190610aae91906142a9565b611f3f565b604051610ac0919061409d565b60405180910390f35b348015610ad557600080fd5b50610af06004803603810190610aeb91906142a9565b611f5f565b005b348015610afe57600080fd5b50610b0761208f565b604051610b14919061409d565b60405180910390f35b348015610b2957600080fd5b50610b446004803603810190610b3f9190614269565b6120a2565b005b348015610b5257600080fd5b50610b6d6004803603810190610b6891906142a9565b6121c7565b005b348015610b7b57600080fd5b50610b966004803603810190610b91919061415c565b612303565b604051610ba3919061409d565b60405180910390f35b348015610bb857600080fd5b50610bc1612458565b604051610bce9190614141565b60405180910390f35b348015610be357600080fd5b50610bfe6004803603810190610bf991906143b8565b61245e565b604051610c0b9190614141565b60405180910390f35b348015610c2057600080fd5b50610c296124e5565b604051610c369190614141565b60405180910390f35b348015610c4b57600080fd5b50610c666004803603810190610c6191906142a9565b6124eb565b005b348015610c7457600080fd5b50610c8f6004803603810190610c8a919061415c565b6125e3565b005b610c996126f2565b73ffffffffffffffffffffffffffffffffffffffff16610cb76118fd565b73ffffffffffffffffffffffffffffffffffffffff1614610d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0490614444565b60405180910390fd5b8160128190555080601381905550601354601254610d2b9190614493565b60118190555060416011541115610d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6e90614535565b60405180910390fd5b5050565b606060038054610d8a90614584565b80601f0160208091040260200160405190810160405280929190818152602001828054610db690614584565b8015610e035780601f10610dd857610100808354040283529160200191610e03565b820191906000526020600020905b815481529060010190602001808311610de657829003601f168201915b5050505050905090565b6000610e21610e1a6126f2565b84846126fa565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b600a5481565b6000600254905090565b60145481565b610e6d6126f2565b73ffffffffffffffffffffffffffffffffffffffff16610e8b6118fd565b73ffffffffffffffffffffffffffffffffffffffff1614610ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed890614444565b60405180910390fd5b670de0b6b3a76400006103e86001610ef7610e55565b610f0191906145b6565b610f0b919061463f565b610f15919061463f565b811015610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e906146bc565b60405180910390fd5b670de0b6b3a764000081610f6b91906145b6565b600a8190555050565b6000610f818484846128c5565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610fcc6126f2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561104c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110439061474e565b60405180910390fd5b611060856110586126f2565b8584036126fa565b60019150509392505050565b60006012905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061113d6110a86126f2565b8484600160006110b66126f2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546111389190614493565b6126fa565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6111756126f2565b73ffffffffffffffffffffffffffffffffffffffff166111936118fd565b73ffffffffffffffffffffffffffffffffffffffff16146111e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e090614444565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600d60009054906101000a900460ff1681565b6000601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113016126f2565b73ffffffffffffffffffffffffffffffffffffffff1661131f6118fd565b73ffffffffffffffffffffffffffffffffffffffff1614611375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136c90614444565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f289c3152b70354fcb8a4a75636b3d191f6c0078d36ca92dbf7481e34ddc29d1060405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61143d6126f2565b73ffffffffffffffffffffffffffffffffffffffff1661145b6118fd565b73ffffffffffffffffffffffffffffffffffffffff16146114b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a890614444565b60405180910390fd5b81600f8190555080601081905550601054600f546114cf9190614493565b600e819055506041600e54111561151b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151290614535565b60405180910390fd5b5050565b6115276126f2565b73ffffffffffffffffffffffffffffffffffffffff166115456118fd565b73ffffffffffffffffffffffffffffffffffffffff161461159b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159290614444565b60405180910390fd5b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60115481565b600d60029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61165f6126f2565b73ffffffffffffffffffffffffffffffffffffffff1661167d6118fd565b73ffffffffffffffffffffffffffffffffffffffff16146116d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ca90614444565b60405180910390fd5b6116dd600061365d565b565b60006116e96126f2565b73ffffffffffffffffffffffffffffffffffffffff166117076118fd565b73ffffffffffffffffffffffffffffffffffffffff161461175d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175490614444565b60405180910390fd5b6000600d60006101000a81548160ff0219169083151502179055506001905090565b600f5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166117c66126f2565b73ffffffffffffffffffffffffffffffffffffffff16146117e657600080fd5b6117ef3061160f565b81111580156117fe5750600081115b61183d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611834906147ba565b60405180910390fd5b61184681613723565b50565b6118516126f2565b73ffffffffffffffffffffffffffffffffffffffff1661186f6118fd565b73ffffffffffffffffffffffffffffffffffffffff16146118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc90614444565b60405180910390fd5b6001600d60016101000a81548160ff0219169083151502179055506001600d60026101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b6119356126f2565b73ffffffffffffffffffffffffffffffffffffffff166119536118fd565b73ffffffffffffffffffffffffffffffffffffffff16146119a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a090614444565b60405180910390fd5b80600d60026101000a81548160ff02191690831515021790555050565b6060600480546119d590614584565b80601f0160208091040260200160405190810160405280929190818152602001828054611a0190614584565b8015611a4e5780601f10611a2357610100808354040283529160200191611a4e565b820191906000526020600020905b815481529060010190602001808311611a3157829003601f168201915b5050505050905090565b611a606126f2565b73ffffffffffffffffffffffffffffffffffffffff16611a7e6118fd565b73ffffffffffffffffffffffffffffffffffffffff1614611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90614444565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c9061484c565b60405180910390fd5b611b6f8282613960565b5050565b60105481565b60155481565b60135481565b600c5481565b60008060016000611b9a6126f2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e906148de565b60405180910390fd5b611c6b611c626126f2565b858584036126fa565b600191505092915050565b6000611c8a611c836126f2565b84846128c5565b6001905092915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001611d4795949392919061490d565b60405160208183030381529060405280519060200120905060007f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e67000000000000000000000000000000000000815250805190602001206000604051602001611dd393929190614960565b60405160208183030381529060405280519060200120905060008282604051602001611e00929190614a0f565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051611e3d9493929190614a46565b6020604051602081039080840390855afa158015611e5f573d6000803e3d6000fd5b505050602060405103519050611e736118fd565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611ee0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed790614ad7565b60405180910390fd5b6001600d60016101000a81548160ff0219169083151502179055506001600d60026101000a81548160ff02191690831515021790555050505050505050565b60186020528060005260406000206000915054906101000a900460ff1681565b60196020528060005260406000206000915054906101000a900460ff1681565b611f676126f2565b73ffffffffffffffffffffffffffffffffffffffff16611f856118fd565b73ffffffffffffffffffffffffffffffffffffffff1614611fdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd290614444565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561204b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204290614b43565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d60019054906101000a900460ff1681565b6120aa6126f2565b73ffffffffffffffffffffffffffffffffffffffff166120c86118fd565b73ffffffffffffffffffffffffffffffffffffffff161461211e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161211590614444565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516121bb919061409d565b60405180910390a25050565b6121cf6126f2565b73ffffffffffffffffffffffffffffffffffffffff166121ed6118fd565b73ffffffffffffffffffffffffffffffffffffffff1614612243576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161223a90614444565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f93a2412ba5733faf91c97297b26c1ad4eeb4160f7b1f07d09256d71571174cef60405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600061230d6126f2565b73ffffffffffffffffffffffffffffffffffffffff1661232b6118fd565b73ffffffffffffffffffffffffffffffffffffffff1614612381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237890614444565b60405180910390fd5b620186a0600161238f610e55565b61239991906145b6565b6123a3919061463f565b8210156123e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123dc90614bd5565b60405180910390fd5b6103e860056123f2610e55565b6123fc91906145b6565b612406919061463f565b821115612448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243f90614c67565b60405180910390fd5b81600b8190555060019050919050565b600e5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600b5481565b6124f36126f2565b73ffffffffffffffffffffffffffffffffffffffff166125116118fd565b73ffffffffffffffffffffffffffffffffffffffff1614612567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255e90614444565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156125d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ce90614cf9565b60405180910390fd5b6125e08161365d565b50565b6125eb6126f2565b73ffffffffffffffffffffffffffffffffffffffff166126096118fd565b73ffffffffffffffffffffffffffffffffffffffff161461265f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265690614444565b60405180910390fd5b670de0b6b3a76400006103e86005612675610e55565b61267f91906145b6565b612689919061463f565b612693919061463f565b8110156126d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cc90614d65565b60405180910390fd5b670de0b6b3a7640000816126e991906145b6565b600c8190555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561276a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276190614df7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156127da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127d190614e89565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516128b89190614141565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292c90614f1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299c90614fad565b60405180910390fd5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612a32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2990615019565b60405180910390fd5b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612abf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab690615085565b60405180910390fd5b6000811415612ad957612ad483836000613a01565b613658565b600d60009054906101000a900460ff1615612fd457612af66118fd565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612b645750612b346118fd565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612b9d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612bd7575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612bf05750600760149054906101000a900460ff16155b15612fd357600d60019054906101000a900460ff16612cea57601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612caa5750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce0906150f1565b60405180910390fd5b5b601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612d8d5750601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612e3457600a54811115612dd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dce90615183565b60405180910390fd5b600c54612de38361160f565b82612dee9190614493565b1115612e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e26906151ef565b60405180910390fd5b612fd2565b601960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612ed75750601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612f2657600a54811115612f21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f1890615281565b60405180910390fd5b612fd1565b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612fd057600c54612f838361160f565b82612f8e9190614493565b1115612fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fc6906151ef565b60405180910390fd5b5b5b5b5b5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141580156130cb5750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639015d371306040518263ffffffff1660e01b81526004016130899190614222565b602060405180830381865afa1580156130a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130ca91906152b6565b5b156131e6576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a20527fc8585600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600c54600a54600b546040518763ffffffff1660e01b815260040161315f969594939291906152e3565b6020604051808303816000875af115801561317e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131a291906152b6565b9050806131e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131db90615390565b60405180910390fd5b505b60006131f13061160f565b90506000600b5482101590508080156132165750600d60029054906101000a900460ff165b801561322f5750600760149054906101000a900460ff16155b80156132855750601960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156132db5750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156133315750601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613375576001600760146101000a81548160ff021916908315150217905550613359613c82565b6000600760146101000a81548160ff0219169083151502179055505b6000600760149054906101000a900460ff16159050601760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061342b5750601760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561343557600090505b6000811561364857601960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561349857506000601154115b15613532576134c560646134b760115488613e6290919063ffffffff16565b613e7890919063ffffffff16565b9050601154601354826134d891906145b6565b6134e2919061463f565b601560008282546134f39190614493565b925050819055506011546012548261350b91906145b6565b613515919061463f565b601460008282546135269190614493565b92505081905550613624565b601960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561358d57506000600e54115b15613623576135ba60646135ac600e5488613e6290919063ffffffff16565b613e7890919063ffffffff16565b9050600e54601054826135cd91906145b6565b6135d7919061463f565b601560008282546135e89190614493565b92505081905550600e54600f548261360091906145b6565b61360a919061463f565b6014600082825461361b9190614493565b925050819055505b5b600081111561363957613638873083613a01565b5b808561364591906153b0565b94505b613653878787613a01565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff8111156137405761373f6153e4565b5b60405190808252806020026020018201604052801561376e5781602001602082028036833780820191505090505b509050308160008151811061378657613785615413565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561382b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061384f9190615457565b8160018151811061386357613862615413565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506138c8307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846126fa565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161392a95949392919061557d565b600060405180830381600087803b15801561394457600080fd5b505af1158015613958573d6000803e3d6000fd5b505050505050565b80601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613a71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a6890614f1b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613ae1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ad890614fad565b60405180910390fd5b613aec838383613e8e565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b6990615649565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613c059190614493565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613c699190614141565b60405180910390a3613c7c848484613e93565b50505050565b6000613c8d3061160f565b90506000601554601454613ca19190614493565b9050600080831415613cb557505050613e60565b6014600b54613cc491906145b6565b831115613cdd576014600b54613cda91906145b6565b92505b6000479050613ceb84613723565b6000613d008247613e9890919063ffffffff16565b90506000613d2b85613d1d60155485613e6290919063ffffffff16565b613e7890919063ffffffff16565b905060006014819055506000601581905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051613d839061569a565b60006040518083038185875af1925050503d8060008114613dc0576040519150601f19603f3d011682016040523d82523d6000602084013e613dc5565b606091505b505080945050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613e119061569a565b60006040518083038185875af1925050503d8060008114613e4e576040519150601f19603f3d011682016040523d82523d6000602084013e613e53565b606091505b5050809450505050505050505b565b60008183613e7091906145b6565b905092915050565b60008183613e86919061463f565b905092915050565b505050565b505050565b60008183613ea691906153b0565b905092915050565b600080fd5b6000819050919050565b613ec681613eb3565b8114613ed157600080fd5b50565b600081359050613ee381613ebd565b92915050565b60008060408385031215613f0057613eff613eae565b5b6000613f0e85828601613ed4565b9250506020613f1f85828601613ed4565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613f63578082015181840152602081019050613f48565b83811115613f72576000848401525b50505050565b6000601f19601f8301169050919050565b6000613f9482613f29565b613f9e8185613f34565b9350613fae818560208601613f45565b613fb781613f78565b840191505092915050565b60006020820190508181036000830152613fdc8184613f89565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061400f82613fe4565b9050919050565b61401f81614004565b811461402a57600080fd5b50565b60008135905061403c81614016565b92915050565b6000806040838503121561405957614058613eae565b5b60006140678582860161402d565b925050602061407885828601613ed4565b9150509250929050565b60008115159050919050565b61409781614082565b82525050565b60006020820190506140b2600083018461408e565b92915050565b6000819050919050565b60006140dd6140d86140d384613fe4565b6140b8565b613fe4565b9050919050565b60006140ef826140c2565b9050919050565b6000614101826140e4565b9050919050565b614111816140f6565b82525050565b600060208201905061412c6000830184614108565b92915050565b61413b81613eb3565b82525050565b60006020820190506141566000830184614132565b92915050565b60006020828403121561417257614171613eae565b5b600061418084828501613ed4565b91505092915050565b6000806000606084860312156141a2576141a1613eae565b5b60006141b08682870161402d565b93505060206141c18682870161402d565b92505060406141d286828701613ed4565b9150509250925092565b600060ff82169050919050565b6141f2816141dc565b82525050565b600060208201905061420d60008301846141e9565b92915050565b61421c81614004565b82525050565b60006020820190506142376000830184614213565b92915050565b61424681614082565b811461425157600080fd5b50565b6000813590506142638161423d565b92915050565b600080604083850312156142805761427f613eae565b5b600061428e8582860161402d565b925050602061429f85828601614254565b9150509250929050565b6000602082840312156142bf576142be613eae565b5b60006142cd8482850161402d565b91505092915050565b6000602082840312156142ec576142eb613eae565b5b60006142fa84828501614254565b91505092915050565b61430c816141dc565b811461431757600080fd5b50565b60008135905061432981614303565b92915050565b6000819050919050565b6143428161432f565b811461434d57600080fd5b50565b60008135905061435f81614339565b92915050565b60008060006060848603121561437e5761437d613eae565b5b600061438c8682870161431a565b935050602061439d86828701614350565b92505060406143ae86828701614350565b9150509250925092565b600080604083850312156143cf576143ce613eae565b5b60006143dd8582860161402d565b92505060206143ee8582860161402d565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061442e602083613f34565b9150614439826143f8565b602082019050919050565b6000602082019050818103600083015261445d81614421565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061449e82613eb3565b91506144a983613eb3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156144de576144dd614464565b5b828201905092915050565b7f4d757374206b656570206665657320617420363525206f72206c657373000000600082015250565b600061451f601d83613f34565b915061452a826144e9565b602082019050919050565b6000602082019050818103600083015261454e81614512565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061459c57607f821691505b602082108114156145b0576145af614555565b5b50919050565b60006145c182613eb3565b91506145cc83613eb3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561460557614604614464565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061464a82613eb3565b915061465583613eb3565b92508261466557614664614610565b5b828204905092915050565b7f43616e6e6f7420736574206d617854206c6f776572207468616e20302e312500600082015250565b60006146a6601f83613f34565b91506146b182614670565b602082019050919050565b600060208201905081810360008301526146d581614699565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000614738602883613f34565b9150614743826146dc565b604082019050919050565b600060208201905081810360008301526147678161472b565b9050919050565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b60006147a4600c83613f34565b91506147af8261476e565b602082019050919050565b600060208201905081810360008301526147d381614797565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000614836603983613f34565b9150614841826147da565b604082019050919050565b6000602082019050818103600083015261486581614829565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006148c8602583613f34565b91506148d38261486c565b604082019050919050565b600060208201905081810360008301526148f7816148bb565b9050919050565b6149078161432f565b82525050565b600060a08201905061492260008301886148fe565b61492f60208301876148fe565b61493c60408301866148fe565b6149496060830185614132565b6149566080830184614213565b9695505050505050565b600060608201905061497560008301866148fe565b61498260208301856148fe565b61498f6040830184614132565b949350505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b60006149d8600283614997565b91506149e3826149a2565b600282019050919050565b6000819050919050565b614a09614a048261432f565b6149ee565b82525050565b6000614a1a826149cb565b9150614a2682856149f8565b602082019150614a3682846149f8565b6020820191508190509392505050565b6000608082019050614a5b60008301876148fe565b614a6860208301866141e9565b614a7560408301856148fe565b614a8260608301846148fe565b95945050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b6000614ac1601183613f34565b9150614acc82614a8b565b602082019050919050565b60006020820190508181036000830152614af081614ab4565b9050919050565b7f496e76616c696420616e746920647261696e6572000000000000000000000000600082015250565b6000614b2d601483613f34565b9150614b3882614af7565b602082019050919050565b60006020820190508181036000830152614b5c81614b20565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000614bbf603583613f34565b9150614bca82614b63565b604082019050919050565b60006020820190508181036000830152614bee81614bb2565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000614c51603483613f34565b9150614c5c82614bf5565b604082019050919050565b60006020820190508181036000830152614c8081614c44565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614ce3602683613f34565b9150614cee82614c87565b604082019050919050565b60006020820190508181036000830152614d1281614cd6565b9050919050565b7f43616e6e6f7420736574206d617857206c6f776572207468616e20302e352500600082015250565b6000614d4f601f83613f34565b9150614d5a82614d19565b602082019050919050565b60006020820190508181036000830152614d7e81614d42565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614de1602483613f34565b9150614dec82614d85565b604082019050919050565b60006020820190508181036000830152614e1081614dd4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614e73602283613f34565b9150614e7e82614e17565b604082019050919050565b60006020820190508181036000830152614ea281614e66565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614f05602583613f34565b9150614f1082614ea9565b604082019050919050565b60006020820190508181036000830152614f3481614ef8565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614f97602383613f34565b9150614fa282614f3b565b604082019050919050565b60006020820190508181036000830152614fc681614f8a565b9050919050565b7f5b66726f6d5d20626c61636b206c697374000000000000000000000000000000600082015250565b6000615003601183613f34565b915061500e82614fcd565b602082019050919050565b6000602082019050818103600083015261503281614ff6565b9050919050565b7f5b746f5d20626c61636b206c6973740000000000000000000000000000000000600082015250565b600061506f600f83613f34565b915061507a82615039565b602082019050919050565b6000602082019050818103600083015261509e81615062565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006150db601683613f34565b91506150e6826150a5565b602082019050919050565b6000602082019050818103600083015261510a816150ce565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d6178542e000000000000000000000000000000000000000000000000000000602082015250565b600061516d602583613f34565b915061517882615111565b604082019050919050565b6000602082019050818103600083015261519c81615160565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b60006151d9601383613f34565b91506151e4826151a3565b602082019050919050565b60006020820190508181036000830152615208816151cc565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d6178542e0000000000000000000000000000000000000000000000000000602082015250565b600061526b602683613f34565b91506152768261520f565b604082019050919050565b6000602082019050818103600083015261529a8161525e565b9050919050565b6000815190506152b08161423d565b92915050565b6000602082840312156152cc576152cb613eae565b5b60006152da848285016152a1565b91505092915050565b600060c0820190506152f86000830189614213565b6153056020830188614213565b6153126040830187614213565b61531f6060830186614132565b61532c6080830185614132565b61533960a0830184614132565b979650505050505050565b7f416e746920447261696e657220456e61626c6564000000000000000000000000600082015250565b600061537a601483613f34565b915061538582615344565b602082019050919050565b600060208201905081810360008301526153a98161536d565b9050919050565b60006153bb82613eb3565b91506153c683613eb3565b9250828210156153d9576153d8614464565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061545181614016565b92915050565b60006020828403121561546d5761546c613eae565b5b600061547b84828501615442565b91505092915050565b6000819050919050565b60006154a96154a461549f84615484565b6140b8565b613eb3565b9050919050565b6154b98161548e565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6154f481614004565b82525050565b600061550683836154eb565b60208301905092915050565b6000602082019050919050565b600061552a826154bf565b61553481856154ca565b935061553f836154db565b8060005b8381101561557057815161555788826154fa565b975061556283615512565b925050600181019050615543565b5085935050505092915050565b600060a0820190506155926000830188614132565b61559f60208301876154b0565b81810360408301526155b1818661551f565b90506155c06060830185614213565b6155cd6080830184614132565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000615633602683613f34565b915061563e826155d7565b604082019050919050565b6000602082019050818103600083015261566281615626565b9050919050565b600081905092915050565b50565b6000615684600083615669565b915061568f82615674565b600082019050919050565b60006156a582615677565b915081905091905056fea264697066735822122079574d1d237da4826c0d10ce1cfe4d5aab65878e1dce05a70c6da37638678a5d64736f6c634300080a0033031db9f7391fff936647dde7160bf4a365ec8d42d5db99da66fd16da40100d92c800582003811769b41057f0b8eb06830d9996d8b36ea78706fd8cfd12a1560e07903ee04a19b59110c89c33bd8638005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db904a69e10de76676d080000000582003cd4f3e88338150417c94a51ed428fc55755bf757404b153d67496e931564104a0cd5044a02a7940245b603e1dea9cb12f20316f67fce35f8d040089927d103134799da1c1f45e4e07981530058200320b060ff746e90ca077fae3c1a5f5e2a3bd04e79cbefb1cd48d9610cacd3304a0e7a7b61ec3f7f4a5ad8005820036a63a2574f644678d657e04f15067a82f93bd8960321d47355d86e28408e805820fffffffffffffffffffffffffffffffffffffffffffb1ce579c345f9f1636c6602192ea003f77aebcbe8452b63e594b328fe3dbf7ada1d1ef72335d3c11479d682a0fddfcf032a88c0381f7d09c626bec5927cf8a61490094f121039e0381c335611fb8ca18f01410b005820035d8dbe30703c4006e0023b1a588cd0bf25f1e1d582470eeaa52a5b53f708505820fffffffffffffffffffffffffffffffffffffffffffdb75b73a326f55382c2b900582003ad0a29cbd586bb990c127da3c1327b07c0bbeccb9fef0cc445550f3d24e0604a15f7c1fa4f68ea74224800582003909f85c098403c5a5566fab5d23bf88267bacc4bde82d359813c671ad3a4404a043c33c193756440a1fb005820034cb0eddc331cab9c1e87a4250055aeace1c7279fc14aad52dd842a2a4062b05820ffffffffffffffffffffffffffffffffffffffffffff3a98419452d587fffc1703454efe092789dcd6762dedf70ede9cdb2adfe6fae2a57f1e6e02666d528b0b0f021989140301df4e0211288484c0bca742326eeb47152ecf1599ad485723d3681eca33f48b03fa3a46eb5ac07887da08cb0379926ffa5c537c29118eb98942bcd197a884609203a4e454157d1db46fb7bac1cbe431e2ccaeee25fbc0e28ec9f9e91cfb9204cf5b03b1d8b241dbc019ff52030d9fbcacf5e3a181b896ea91f98aaf4e7d6b837efcec03211ca425a0f9ad7421b4f1148ae0c3085579de975744cd60afb1b8d9c34ae3eb03ec2255f1a34419d1b54b74ce68cd674b884ea10b1115b381bced8ad648c4a26c03ea4f462ecb3e0e9bc2646d183fab7d5e2cc0c8d53d8551ffca7958192a75a9090336b279631ab28538f9c3bf28466bf59f64bd2d276b44cd275c790105905ab9d8034795038837df540a1455da049d335a24df09848be10526abcb58f3e25fcae000032d5213fc499b7b078de127ebab9a1640ca75a674cdb62e8f744a0a3bf3b8629b03b8eb06dc602debef1967ba0f4d2f69d7ff58012bf3aeecf6d6f7b6341e0fc75b0219ffff037f1ee416f9f490eb3c60b83fff37f0e9413a18c46a49aa6d2a2e43e187b124bd03bb5fcd0e29f944808439941681948bfda4dfa87aa398d0ab06a25347a36e883303360d9bcc1a96e3a7497cab0be76e6c7ee802e6842b2135f050e3360d44b8c3b603f7144674e4b28232d64bfd672295654cdeda7aa82153c2d38d6b8ad13ba4af3d032d7796101a2ddfbdd3e4ca46ee546febb51b068825238ecc76111a0c2b7881ee03d70af3a4dc0b687c3b0d26e4d558d087b5be624ec540b0ff2c54f461bec7ba2503d816fff99da1cd6483098d8ac3fd36330b91be0c1c1d67f52ca408b4dfecf3900358f555044d4cf37fb89f665ee0147535c0ee57b19b316a4cb38e8b0ad3f6575703a640248c27e859605efaf7b73445e25c412ff3dea03d50b2794483f664f9cd4f035353519f293e033007cf28c85ef34121b0162b8e14866f3b96918ee2adfaeca90381683488b818f5521b17c680310e0f564a93b46cc1e8f8fcac9a6587bab595480058200395892004816dfdb4ec7c690e1c2939629491c24077aabab040ad7b9e3e52204a15568902539faf18505300581f02b5486046d502410fc0995dd9c76bd858b25087db2b3a97389856a3aadf915820ffffffffffffffffffffffffffffffffffffffffffff95473080287ac8d0000000581f0247dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67241020219010403435e25d16fa47dcf966c6c81fce6ad0f8939ed18098ac220437423e3a3f9ead5031163f40aba784acd21eb6c042ba06806f5a361c2ef14c1df2a3ebb3fb2d0c66700582003fac1d080b65b920217ff5f3cc7fef1ded9f1aa75fbb7ad9624933fd758c6805820ffffffffffffffffffffffffffffffffffffffffffffad4eabcfdd5f8ff40555021988c20334f37edf96f4f3225d6bf461990dfbe71aa1ac4b080f4052e02365477f55dfb003d8c00acafafd874b5665d99134e63a3890ab94b62869d366ecfb362395af4bbc03b97105b63a2c38b9a138ec2a511732f120b02ab08aab98c7a16ee897959b0b2b03001222788b2003dfbd18ae1b26093f3c73cbbd2a64ea20edbf91a88a90d683c00219ffff03e599620a4b7fbf683960577d8b1fb8293f76461dd338497e3fe2a5f81d9d53700355e9b2c8afb87b5aa09ea944d1c05125114727481369e24d799fc27f351f318f038d217146a60c44d49162052f8efc70ae52a83a7c1fd5d4b922e1b002cac321ad0374e93804d61b4aa56875423642b4bf6ba1fdb7483becff43939721efad6b1bab0058200307d4dd8f290d5764b42dd9b01753e38d5865557628adec10457681065b63204a0b183f9a475edb8f92b30058200372d6651d10f00e108a24601d4d36ce618c3d1ec2161c0a18e2b2555613aaa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200367773aa836dd3c353b835bb26d5bcb3793a5a7ac30563513b26ce032c134604b0422c8b6a9ea74d391000000581f023b7380399bdfbbdc913dd9087bb13ba8a21023ec875ba0f9e163ac16dedf4a05cc480a608aff4669e500581f03ba4d7de4c646d3bcdc4f1cf6aabc3c5b0dc3cdbb5597c5563dad6ff44d905820ffffffffffffffffffffffffffffffffffffffffffff73681f16af14d606c3a000581f03d9bf3b935b0aabb1b186a72448c99f4fe80df6ba8dae118f9460c447f3d041010219480000581f0246ceda83e9b06ea27cfe68b0f4be9ecb336627304aa0a6e9956d5334e9054b01056075c2c1da6e02a81402191005005820034d67008207b00700893b9614816103bfce6d012a84078b50f60cca2b9891705820fffffffffffffffffffffffffffffffffffffffffffed4ac7909244c64eb4a9403e1cfa47e08b78f15be8872fe1f3d56201846d7b3846256b0d16ab21a0f50088b039dab680f42eb5314e22be773982e1be995c82e0f2b60d73e5773c64e3439ece202194cd403dad38f1373dc714c2b02afc302d7fe6c0b8ac9b8b9d04e2ca3dbdd71cc8fd7e403459fdf213adc0d9be5df85a9093aa03232d23ecb99c154d51b0dd042f1fa6d25032956c88d689c6655de50e8ab85a91f0287727003fc63491e3c70f8a9b7ba66a0032addb09c2029de08e1a9e5f58787bb816c173718d80c7434979dd417c56583760311a76d194eac58b1956b6d67f2da2e73f827a086fe51f790a791e995427e70b803d915f65cfd24330df00fd3eb895d4f8246bc4761d6dd14ebedf5ef7eb303b70303b65f4796b0b9a3ee24944fb4152a9ecdb4ac711ab092b784a80e21b0339cd69803e760b9ff222e1655e9531875719d5aa8b99a4034808b5fe5d94d66835b4b623803619d85c3caf0fe36823f0a2f8104831705e26b08603ace51e7118b14784444170328bc5a4b55179cc140e77e8adef1c165d4066e25f886e8eb818bd939c051e66b03ea208a57f33418952b7ab68da19ebbe65dcdaea04dd5dc82bd5963259cc5237b0219ffff03f83f54dbf3b7fba73c8e87ee881ebebdbf67a413eb45104c10d2e9ce0b538b4203c6a41b8bc2077478f1d1385bd2481eb78683cbc5ca1773a367c6a789515b57a003b644af3d561d2281a77e827fa729a1ff4e9250cd5400fb0bf54202933d4020f90369b828f7a36fd2dc3ae5c2b63394318ba44051a8da3031d6e59507b4139e26c503eac3ff6412f2998765b093b1879066e64dd9f466322471e421c2ad56862f908203edd0baf3e87c7687f81417582edb9c35ac1f932965a0f4cc148faf2ef093eb2103976dc8bccd4726b5b5f723d20b7ce2dea50ebd75deb218f3d9e339e0e21968a1031f8cc8d26fe3e72b3546f53b2cd098fecd7c7655a965f1b0791a314fcc5543ae03dd7368ebfa6226cf191723f9d8022603dd806ec1ff971a6de24de394f2d9e26803f51393f92208852c4c77c7ecd61407ec0f06cf9fa0d2e64bc5e99cc8f46a830e03fa102e087518d36468164cb6e97c1373ec8b9cea4f5e0c16ec455c1c6ae8b95c03aded254ba54b384c80c671b6043d57ebd389085586d9784d8d5b018da0c1a7bd0058200332bd3569de184d55259cc050081526c6fe4fbf0348dd0c06a3e8369515f3b04b01af16f04cb02ebfd9a091036900e0629b1b52ff8f05beedcf9dc1448b936f57ed333c8c2b054fc16195683e005820031c6eb99e1a34584a91c68b0de7246146d3c8b774665eab762f5bc83655e4c05820fffffffffffffffffffffffffffffffffffffffffffea299521dfaab1cc00000036b22bdf428986bf6133871b3319dcdd789580b3c468a375ac99dc7f52082090800582003b6a3d95d3f1223dfbccdf4cc05e8874b1ddec953d06c6f9b5f1b0df0603c005820fffffffffffffffffffffffffffffffffffffffffffece94539f5b4a9a6fffff005820037e708470ad5f3aedd3114061b2b08e7caea32546d7a99c8a2db72c3486ffb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d2c9271fa8cb07754d89a15ffcd931a6c1cb73c464c142f7cf4f37922d2fe05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e600cb35805894a85110e65689e3ba9b195ba7709428ec63ffd5caf5d576c04a1ba99ec850fd028b4aee02197c2903c6e5782c18ff87c523728be61516d4e38c4bda1d8f51c108322c44c408f5ac42037542dd5f319ccd5ebc9e5f82ee96b190a292cc39821999f00cc06667d417091103f1e51fc41ce8cf6d3f89004be04565e2546b56f5b4bdafe190c96c366861774203a507faf3c67557376186d6f84e3a72d7c0cf1c77bfceacd0f1d0981b80de83670219ffff038df7ad751aad8de65335d7638835f579f5f59064dc54842e51d3bbb346ffa8bc03ac83e20eaf5ed2763db88dfc19c7479f89f6436d6ec91a1d9a904ed4dd9c42b303848dfdcc5c70e8debb1d6eb2f593075667da037f0f564a2488960c9d966cdb80033484698eae6f9b057da475ebd6ce3df96122468ea017ad18a6fe7a978f0c56f3036da5bcdb135620a03b83fdce1bdffeb4eea769a16e739e817573f47e04be5e0e0058200396cd0365f1df7d70f905d73bb0867ba26d4f42e7ce18ad3cc34e1c317f4c304a6a64c9797ebe4a162349030b6f39067b15d231644b4d723dbfac08f61f61e537c4b307f3ad2fab6517afdf0058200366e213836bfffb58376a92dec65893727c0d519887051b4f7d5fd3e20fbbc04b0136cbfbae02eda0e9876b0058200345fe6292432b5ab5afd5ac5d53c203f098f0d077f3cb0397fb64247abc8a905820fffffffffffffffffffffffffffffffffffffffffffe4a5ebeea250274123fd7005820030b98f8da71974ef7e8cf419eacd83345ba0b15face50fe428d61300c3939504a05eed2d028e4c1a0dac00058200362a0cfa9502d08a7bb741d5ce4cd6eda04c66977736f14eee4e0049bceec404a1946399cdcaa8a7b8e290058200303f991d7fd31b57deaeb1fc463bc27ba175caabc46098889c2e66d8c3e92d04a0ba94b850bee1819b07e00582003448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47504a1f412c85c95119055c490219f91800582003e4847eefa84474a2dbfe75dcc8585247a9a0a99fab77b1378a49ae4dc545804813c7ede529800a7200582003a9e4090df1fc7f13d9aeff57b55b9bf2666be25bcfc4a43edddb36818033105820fffffffffffffffffffffffffffffffffffffffffffb541c948af7d11a7e5dbe00581f02647b5d9561bce0467ac955359ceeab73111cd114f1669b85878d8ab981404abaa20d912cb91743efdf00581f025e79765a9332f379f02f8b317caa0c2bc4e91343a24ba7c1c2d32cab0cc25820fffffffffffffffffffffffffffffffffffffffffffb6c2ef3d877d526f14c0000581f022e41292b0bb2390a25ecd55910e09f8d69e4e9c1716efa48f9dc68639e574b2934c47be6795eb1558687020b00582003b616c45de1e48afed1fc5a8e3e065323e7b0392fe84861863293689aa9dff04afce172659cbeaa6dfb6100582003ef5a87e55566d059945f903310f2fc5b406acd27503a4abbd6255932f529e04a032528898819fe9ce712005820039e8ec95833ad6bfd163afb58c88fff08bd9c380b3a352224c4e3481009afa04a98a205040df9fd5f8ed400582003b71486142301c83ecc28128e9be65592864b4dd10b3372b771c93bc017e6f04b015dcedefdb623a00800000058200357c961bbf3e4b4e0d12f34721eb64ad2fe49b021ae44b5475fd826aeba94b04a4639ded653c253b758dd0219e5130381dabc2e59d4b97298660958d761f0ecbeb58764bf197e844dbc4a85d01ac8c40361c2be984729e00d12a255cf1ba7fd0c61bc7f94543789ec5c3c2e17d7b242fc0346d6153fa0f3233b262b397b84ac02b5f0b6dbd13d3a30d507dd66da77c0e2b8037ccd655b15cbe92d9968176bd4235b7f29359a93941d85cf672f4067a33c16f00337518e2d42def063356587bbd5e59113e5ebf54b269b7f008e0e3fd498555f02036e3a4d6d8c0579b3005c9c2043d23b40025bcbd2060c317f069b0a651999e46803b05adc50782ed79a5626bf64e50e664c35947f4056569f391f683da712614c2703c7c424224b13250ed8e96e480f11293445b2ddcfdf19340093090aa3b0e0dab60304ed4e01e9f50a7c8eba92f47875b126de977de9b56d5cf0515faab0245d73a10219ffff03bc9778aa9a1806319d7a0f088ad1802ddee6c3a3ff64c08d473988947fa394fd03ef88c7e27284435f8cd696cf24a10888301aca52ce839285145df7f3a9ee45380350fdf5a567d7bf3385070ea54f0aee0624b7ad607f496923dcf93f10906c4d6603ea0a588636251c09ab642a26dfe6d8eb09d3d21e6606b73fc05b9e704d53a6cf03f8b91e3b3233380eb331745832505d45f1b5b3cdecaa95573ea1999fc8d6aa63030dfd8d27a07936d621204c1d4dee5eff820e6b6e13775df5d91f8316d9ddd7900381fb60dbec347e647c67e9e13ca1a427736b85c6ba5187e07be0c6f8a85f569203c14c8d77467790f744ef2ad76299bed694c9b72c9a155052d5ee017537e750ec037ad1bda35d5a3e23a1247fd2424b70f0af6531755f042c53cebfa29a97f9dda803d2a81e9bb249a7dbd09d35c39f1d5aed0434e779b4dbebd6dc0d20ae56f15392005820031d37e06e1f54eed8121cb8dbeebeead06e56cdac4d4597a9e0a69c68eb78104a3ca31873825f73979c0600582003c8b73e2f088f36afea6ef7d29e61c127f3e02462bc4f618d8ec2d24e8246804a1af410b6d98006580d7803568652752a4fd882da388f7f617a114b7fd43cb1cacdbd4f9ad014b299fd67e00058200320e8a0a60628e1b0aaf32a6f7f0c5e9ffe5f5a6114c4458e8694cf5542a2d04b07a239b0637baf7ca79ab400582003bd1e5fa3c3f3cb600ee866a05d7af6252142ad0e42453c1c7ab140f8d8b2f04b01e6e50985765c443642d70219052c03d05b3ef8a931c404db18b068a438737d293c1f6a38e3d8afd2fa76af5585736903188a6481a0f4540b4026b2a1cc08e1d5c0362aef4758a74658bd5b26a1c5f8bd03413724f72c9293bf1850acc05023d2a772b477199811babbb6c1f7c1d7ddabc10364cefb582ce7f2b85dacf9ae77c673cd053dab2d0390c010f3376a22bdd1a4d003d1262ccf822507ed036372a5ccc490303c9c6761ae3d78a9ec144802b8f8c787031a9b7754df8e72f2c3fe22572e0f3c4002db4b0caa5c9b1c80d004329cc5402b0219ffff03e899e67afc4ef6004ebe504bb68c1007bd1198d2fca84d7968d78056ca9b277a038e5a7aeb3fc37af322c493cf0151503d330d88f960d6f38fc6351f1b4412975b03127d08644a72fee517c8cdf73608adc4a66ed159d62480e9df16f9331c21282a03424e907858a36ce04907b32c757d2b814fe2cbefc7083f515f9716cd33af22c903b22f96553e3f48b21220511b60298de2c8c0c7887c88ea32d771c1d802f3441a036afcb9e36e42bd555ce54c4e636e73c02deeb743337185438aa01f55c87b82a0037b3f0e3e81767795113ca448a7b836ccf1ccbaf78521b0fb28e0bbec527b4df003a662b2b18720e83dfa1740be2764e5fe4c1666a4b06958449ddbc9d72ad7c2f203eae473d45b8926b25f08bacf9b5f28097943d82f2877246ce274465bff77e7cc03dffa9709edadf8f4c1e67a42f508afd3254f9cdf338ea8dd3bf4cdca2465797203ded3673dd0df0f80fcada7071ea5466932213ff52b724107f035e1ae4d628d6003d351ff29686a6d84f3f5799f8ebbae3e3e69e4128e016bea48b5a536b773063003b9dc6a120046101b0cd0737b67b2fa140f3375bfd07e1ce816f35af9ba58161f00581f0208e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802410300581f02df244570a3dceabece829b87e2c37f8fc607298cb1ef031abdcd6bd8daff5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02fb05ea7f280825e1bd3afbc62076cb59e17f8b00a3ea32fb3c59aaba7e1d5820ffffffffffffffffffffffffffffffffffffffffffff9b9aa0af82558c90710c0218260058200365cafd8d8e7cb42df65dc2b32061dd8bdd22c91485218b2524969d1939f8405820ffffffffffffffffffffffffffffffffffffffffffffd430ee7428734c2321ee03aab21352644b6ae040511a58110f54bb77b3224a43c7b29e1f03ba85a3a68b36005820030115f7800dc5416a034cb9befd7203b1c94ed332fa8136d4992aeed03c14504802346e5535d4736c00582003cfd7e67060c91c9f8c903513a1848764da13dffb8e1749556d2f7b1e56fc505820ffffffffffffffffffffffffffffffffffffffffffff41d314ebd8d66736881b00582003c14ea887a60c2b18f13cd46f93643bacd5e7539192d85905c701729d9210d0491dd0c885f9a0d8000000582003ec4488426f9a032446294970ba7fd08587575bd5a1ed7fe5bcbb2472bad9605820fffffffffffffffffffffffffffffffffffffffffffde4b6f1a85cdf83a8c27b03fb459159b4abebd9689f84d909a4b01ebae0859284de628c234f276a5619454202199e1a039498bac6f2da7f1387a516af180607731223e6c384ad2ef5ca6501226332ae41031bcc683dbce73e8b52a85584382bc95c84f772774623d376a8111ebf0139d3b20219ffff0328c80376835f284998891532e97b16bd0d87bab0586db3ec8a8d290ecec8a180030d110e6f6c5b499fc02d50924432b76a6e6d31f430089a60adff2c870f6a1822032bd2856d68812af4f526d2fe931d197cc60382255b6992f4a6fb2d039def92b803727237dcd796e5f26431c58b131488981e2798a1b7d0a0cb834c7edf1d69b28f0337747ffc699395332fde9aed9eb277d2eaaf5a1922ba20e698ab2bb183334116036971f5c948dcee153b4413469e0cf80f78baec9a990ec3cc9e9866fca95c69dd039dc00ffd0d52e1c85dc25bd806c05af049416d140de22bba7a074c89dc4f1059038135aea1a399f79758a1eeb8cf2880168939fc2ff2ab9e4045662ec1a3fe435d03e72ccd51e73b9adfbef1e9345f953979204a7b027ef80b2b26e8e952e1f4712003656ced6d7a65e131b7ac4d3ecff102866dee47603f868d6653682da4dc37e2bf030c63fb98207dd81f40e7fcfc3254cad0ede0fb4d74e13fb57496d5fe6aead5c700582002b84cbe2b7b9503db03172526445e08f2902965491eec03fb67e21fdee91e474c033b15c0d4ed568d7348732703c1f9162a66f97d9ac98d2f4b8004e9d3f3ebb683fade4d0a06a3eeca336d32e8005820035cdd43faf73a771c3c243d087d8b4559e6d2a84d6df1a1296b87aab71379104a156d41456feaec82c3ec005820039e726224d5459162a3b3a5f196b32a01997a6bc7dc01ba72aa136d424ad4604a10227f0a97ac471931c100582003b7acdd493ee8eaed59e6619a32dca1f840fd3f4745aeba83eb5859901be0b04b0aa872a1037d4337904c2800582003d712ff83cb61b8c695f81e43b8b8edc337cea08b68f042403e6cc09f8207b05820ffffffffffffffffffffffffffffffffffffffffffff01e3dea1707c72000000034139993bebc4863ddf828467cf1a03a5c835bdf198b4a3cc1454c6118b58ebc6021996410312f657ecb9078b6774321c45da440a0810b58238a77354148e01ab65ae53bc2c0300fc8cb6faed515ecf871190ede61fab7e7d30fd3f9528f6368ba005aee9f51003af71283df7dd3fd667777e3e98ded62befd060983fb1360ad38dc730a31a476b0219ffff03a7a08b8ffac60a8bb0ad24855648abf22cf2dfb48848752252a6cb64f1ff1b4e03b317d99cb02772051c1b5865cb9e6d4201ca6f875d3f83c42f13aa8b71cb377903920961e9cb1c6862404862e2429bdee8e187e4d7edeee6c9a24aa8ff5e436cce037b183b173f0643ab318ca68dfde681f4c626c443efab449ead3cfceb0efc137b039439ffc65fc2b0cccf107c69245abc8f00430a63f2dab6860f3db8b6155c28c703cb8ccf26707e3bf1da00ac16b39dec6dfba30266f72790edef174809bebf4c8300582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054cab8a2efb490a0cf915ca01e540261f3f09a43fe005820039637a1c8e3e058fe1eb29e19395f857fb7edc0b9edca65651f6e8a5b507e504a1ac20030e33a2d76100b00582003a94fc3b2d1b4603d85df9e75c5b9e38eb42e0c4afa0c1eaddff53fb2eb11a04a0b701a4bd527845f033b02198140031fb6a8d2dbcfe05b5dc0569d7499e5446745cce8b1466d22527b6b0fd7cb3b2a038c08da466f0cda288827b7293018789baa6ba7a35551f7d1e6e79c1ba1bf86f5034bed8ce32cdc7e9dd22d9e5c7b4d548207b096bed6cd89b393361856710abe120390f676c0d21d188f0f26554c5534fc4b6ba0d60f2632691b41cd425453240aa9038812e4729184f8cd6957ad27318142c78107c3c1c9b44b74daa9bf60d383540d00582002ebd81d8e5bf3f7eb8bd6cc2619a3f429845f9969f4a91b4fd13916807281e654ffffffffffffffffffffffffffffffffffffffff0362b9f5300bcdc48590a6013b16dcfbce240cb0a2479e860cf34058b13e022cb503fb892fe2bd7848bed7a81e5d736308e2d57d8125233f0d83436c8d2b4906b6d3038431d0279d90a1335f475eb815bea4877144f9a36dc33773486af66f1c48c7140219ffff0315c9bb06d4da1b1b53a8b359163b1cde1654e2a947c6a951d230d906b57c6698034e6ae428bc1d3050467fa0445c8732e20a1e899ff5f8a25f504058e55d6dd237037a033329daacff4f080c0cc6ba13e83a082b9f3e71dd94362df9f762809e11a60330c13295b47eb8ef4c5f6f2e78f2792e0ce703245df55255d4c0082920f4815103707d0decf86d443d0e67146e2d31c59410eb2dc416b3261e7485418b8cd5601403b77c7c6ffa6607b1b19b4c3463ce74527689556791c228e7ea328565abbd57bf03b42d98ab8bfb5d6e18992d13363c68743486d356d3188048abca9f2cf4ee03db0341855767a0bd1ed82d7e70673187ab3b63825ec5aca41e7e16fa3e0a7052962103d780e6151710d1dc295307666918ed579dca8184c090f33a3d42097239a7f70d03ca7d10128d01fcf3c66ece621e658a1f738136370e31e09daf2497c903ac7303030cce171cab0bc0f78fb296417264b9a3d07f7c53bda8ca6b5f728f42d7730b3000582003ee1465359f5cecd3aaabc0f05eb0249c73fd3684b738a7c86e84a5cb42ad904a6045be936562915693a3005820033b6c3529c33ce731a40e8dbbaead6cb57924014ff99c2c1df00234b57d87904a158cbebe6092c158b23e00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0410500582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440410403d9259c7e256264e4ec4a4de25c933516a9a1e503ba4e15cad14b752875990d1900582003194564bc121ba43e1165a2aa8af1c3475db0ba066d4c4d4e7940dd8c4b16b04a38c7db9712ca63e9b784005820032a67b43547d65458c12e065162fec1def32f1b11768d8c5c76573201c2e1b04a2110de0727dd1decdc9300582003a35dfa95dcf66a56df556f23c8e546cff6efdcaac31883e0bc31620ed5d1004a469353a74a635f7e89030219cd9103ed582bfbfd6cf00585931adc434306c527f1e5730a90cc828546c5c8f1105b3803adb02a87879564cf2fca76f60dda010d9a78d99731450b08db183a1c7db8734903d339551a1436e10dc24fc7f5f02a72c0868b77dc641fe06b2d64c1ae5b3e5e66031dddd54d5702b58e341ea9c94213fc140b4d65f628c93ae7794d9488d9da9af20219ffff03106dceffe7cc07c13597e27f08eb5d86c57c9736ed3ed55e89835abfd3a602ba039996d0a621851b7aeb9df6088c47e35c16bfadfc909a0260e5f75e4dbbcc259f035e9dae4e77b7c6f429171e5b0181c5f62d61b9a8e2261b2b6b81d8567dc459fb03c1c88046939a400305a052212b90f8bfa1e9f804055dae1b824d05c96fbc834803e057e6aef77b08b40efac9967a17e57792fa0b0212605e2f280dc5f7504a991b0387e5f365c51a5688f0fc27428cdedf48cf47b1e026ff1a96cfa366a316a518ec00581f029af002c7189c39d96507e9bbbbf0bdd36f8c97c2d0b19b08338408e28a744a54b40b1f852bda00000000581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84b084595161401484a00000002190420005820030b9535d7358bcd99eba3d602c5cea6b0d695ebc1e6600b4d8f68f496a5c4505820ffffffffffffffffffffffffffffffffffffffffffff9b9335cc6fc08c41bcdd0058200350ea45b6b8fbcc4b4ad3d195cec9137b67489797e703d239f57868120d17f04585224e892203f27af84fa3e63d77caa9e7ff96074b867d621db2623c1a894b9214c451348dfb0058200321439f89308353a82e8e924627f83011b0c097d2b33a8eeb59acfdb51f01d04b027a5fb27ad688a1c1d26e02192a6000582003deef35e4c7511b9d63569461872f3d00c6c5682bc246c0d965a9e71f5cc1b04b01143e4a7c3d7b7428279b00582003ab53212d19192d377d7b1fb07e3113d4c17201f2b8e6ffaae2b9f7e3aa65805820ffffffffffffffffffffffffffffffffffffffffffff91c787b0c1c98ce7ffff00582003e71a997b0e0de3231256483582cc503809768c8e10cf03341009c710114a305820ffffffffffffffffffffffffffffffffffffffffffff4c0d81f0c35372826db50314410afc259c30abb8db9b75a70052560de2912c8e463c3e4def2879d331059600582003d97e795d518c6e05514eba9c7c1eb30d8c58a390e5708e288018a330fa11b04a5d97e5be3579d7fe36ab005820038b70e7c8e1fd479522fd3ba66666958c80cbf35cf86da865164c712c246be04ab1f76f52d0420d47cca002198e220388dd5fa53e173839161b169d95312bd35313c808706da70fcfb76fda6306e9360384339b22ba8186994cd97b61967f27275d0c95c3777861380b92a2d9966ae7f803b8add2fbf8556e145b1de6d2c4deeebb5a607f28f850863613fd5b3a7b2152e4034397d42d2ad957d28b170ec9add0f4e939076e98450dfeb71d7dabf0693fc84b03e34e1757c369e8525552d9f76ee5ac64e69eab4d43aa94ebc3b73ad0eefc50ed035224a5fb91f3f0888e6a8dbf21ff903cfd0b507cb6efff107514108eb99ada5b00582003f98c2d678f883ff2cfe2a1b01defd00363f755634ccb6aed27e5d488d1e7a04b010f85dee99d3594ca5c5d00582003061dc39b79391a3cd228c774d9bf7f31f51a3da4882051999a5f6f62a115404b013da314e52156f66a000000581f02297018ada53308534eca4cb4afea859bb702370e14199fb5ce1d558a675c5820ffffffffffffffffffffffffffffffffffffffffffffe27023ac32e2f5be0f0800581f027b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec4a3e56b9386c28bef8da5b02192001005820039324a991448ca61be8cba29c31936335d432d3662331310fe14899226f87e05820fffffffffffffffffffffffffffffffffffffffffffd26ef36655d4041c6e0e100582003b80d8b6b9e08b16759558870d7466810c329fc494e7eaa9bbc843e0c67dd905820ffffffffffffffffffffffffffffffffffffffffffffc078f7a85c1f1c7ffffb00582003bf6ddab958cc96ad9300f6f6a65ef10eeada2737af03040c41c5e00f9da1004a0934792b500c50411e0d0058200363d68be7633f27ab66ae6ecc7fa4760456972203876faff74651a908855d405820fffffffffffffffffffffffffffffffffffffffffffe62de96537cdbdae156d202195a4a0320dc57a004bc95d003d1c92eab0ad9bd7c10ed0f2c84944936d52bde3b38357b0219ffff00582003241b140041199e226a02ca70527372deea2bd19220309bd4da6a240886a3305820ffffffffffffffffffffffffffffffffffffffffffffcc04129e05256e202f6800582003034bb64097d5f1d21b8515b6da2e03b683aea6336ca356c278977b0533a0f0432149ac005820033987bf486cbf3a813e5df1aff4c3ba2b1f6177f9b83e6a278f6aae6dca2e30410403ca257a30593eb3c6715391d1e1387cb541e4b5fabc5b13671b53f2438ad5357300582003854b9e94be5a8a2cad63c7c3872aed9365bdcbce133435c8c611dbf379ebc04a032b4202deb618cc74a30336a6b1b59c9c148dd807f35bebe5fdf97aec4f0ddb3712b4290d3f65ab78558a00582003cc15dcf6c4628e60f28619e5d2b31d1fca3fd06a249aee0fb22bb1a51851104a051b0f9fed75fff3ff62034610516b7faf72bef0690302691d8453f3b35411150052bc5d6d4d5869221d950219a3350314b82cc96a3bfd2ae6b48b9b4bead05420040c95b6371fe25df2e057b3bdeae2031c72a433415358904d84ba3cc37581eaf1e0652aa59ab7bf401fb3c3c183ef6703e9b011b032ebc1299b7fdb35309563937ee1e458bad5beb2e6b94dd355dd89c6030e32c7b338624e625680569d39087e3cfb11cc7dc4f48d7e18af3d3dda872b4b03053d119588491f0b7b71a00e3d3a420f9e7cc803b1cc39f3e94ac52118980a0c03cb7b2fd5d32059998fca70d851af71bed4106bfa450454ff65338f55882cc32100582003f2b9ae5abd0a31f677b198137f728fab9aeb2ac2d45d429db2bbb796343f504b01ce49acc964d95a5f57d6005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50430101000317a791be28c0f4707e242f51ec5060633d8a8d8195dccf317bdc37a6999398f10219884003a4593f007e99ab138327e088c3d818a26ec34ff3b10840209dee2bef8558148103c83bc88cc75c938302c83aa8e6ee4b7771dacf2f83df7321fc8b2e2d87ea588603e4cd9b85808cb12e83e322e8740bd6d724d1ceacb55ee7d672ea4e74f02506fc039fedf917832b6817d626db87c94cebb4d6137c94841cb0f646a7ecb5d243ff0a03b9bf84066a4147a60580d83c109ebeb0cae28cfc54bd21f8e7f49af17861345203ce1644961f632c0b58e2245e42a43414af4e8316c988a869e824d62a38994b680317e956d270cab12d4acc4fd6c865530e10afdea4a877f19517afbd39707153d3005820035a32fac62e2d884623eafc62ee4e1d1fdb0332f5649f150e408ec6a18bc5505820ffffffffffffffffffffffffffffffffffffffffffffcb0f790c4cc497bfffff0058200304034f9c84fdb78429eabe4411e7ec6dcb87ce337ee7aa7c5a0fefb16a56104a1a117906f81b25943d4500582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704b084595161401484a000000005820038fd85708d59e999657f13a305b5975f4380994f9e30a7826e7cfdf73674be05820fffffffffffffffffffffffffffffffffffffffffff9cbd02f70ff09c87fffff0058200380f3bebbc70ccbd76c773352ce20298ed7c7fab6a00dde1be5c7a472d97af05820fffffffffffffffffffffffffffffffffffffffffffeecb6dbd98f317b7fffff02190c4a0219ffff03bdb0633cf9b1185f6dd1696b6e1e956d5bbea8c3f37490ae5ff2e72d58eb76cc03350e77d32f969a7b8027df4ed4fd07767fa14a10cca63aff575d4bd9bb54b96003f00fedd00721757d5dcfd340988c9cd5974d47a9780ba9ef0a3a9209aedb7cc703e2f642dc91d05966339c62ad58b6855f5fe26e8a8f27de6eb6514d62f3ed5a0e03e3d38f1076790b0b8f790920b97a2ccdb6a60a3772f1d35d55da1e9cf049df5c03d68de6ca347fda8547ebffbfe97281bb81add8e95d58962e1ae8c338bb4d33bd03cdaf50d5062146ebe9db7e6c2408471f78db4a8b7af689ed32fad3b7782001220361796786a49a21516eb1bbbe6b5cd66c31f107db30c626604daad145cce3f8be03a6d60ee133e478f23991ddc77a144f21b7c7e4bca8abcb9a51767028d5e669cf0342d12ad2c92a14a5b95f93d7ec5d05e9f206b91bda928150b6bee8ebe85708c303f6c4a4e2ee874064bdc96f7f14e78c1f4c6366d37d5991f519adb2659693ca6903e891704d7f6b5aef2f596df8a3d876c78326257ccdd634791dfb69a37b99a41800582003cca5f65a21b2c94ad5f94583559a968487ae6886dd35898c992f5cd310b4005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f023eff8804f56f2f08e312e5d9f4ae7555574ef2e75574b894f2216e3f00f15820fffffffffffffffffffffffffffffffffffffffffff9cbd399bdf53ffa1bffff00581f025b25fbcedd8475eae1ec60e92609620528208dbc3477a7b8ba9d262ea82d438ecd8402190180035b2b4f4f295d507b6bd04c1acbadbe57140b68d7d9b82412b7b8911f75200fdf00582003727733de28f904cd32d182d0b10d0e914cc54289edd1ebd0b93e108de497305820fffffffffffffffffffffffffffffffffffffffffffecc9acfcaa8aeef5b002203b8304dfda9a8ec4b6b981c1da152ddf92ef34c9307c0dff5b94dfbd0cb8c608f0219c5020370c89647a59f3d538b1d0176049a189eee86b6b8192fe6615db51770cb35b46b031d3bfb9448e43528db908bc856af56f5a22795b9a18d225e9380039e68f52474037575b7a5c9f8b6c005a04a37392a51a174558f9027a0163b97977eb3e78736bc0219ffff03fccaee35856538021964e7f4bbaef9cd2a898ead7cd37e01d99f19c7ab409b62031b6983ba40cbabc2c2dbf8d47f19422d2c429cfb1436058611bf883eba70e83a03556436ff787a2b360efdd152188308a9d980d11c62d7d83dbe4aae043a2683570382352f440e80136b3c7717afc9b98ac9705265b4e33a01b1c36a21720391203a0390a924c305352a69d0473d5358c2f1b66d6d883990bacd9f389901bb894bef63032062773de1e53c8345e1dab219a950aa5967111a2bf388c419f640106be9976a03f0a29ca8241d87eb8e7fae16d93fb79634a15565f9f29dbaf28fa96609da257e0058200300f3ac26aeaa5e4df31218331a2b674f9461e6a3f6e7e0596293c4be81c8a04a43c5d809e06e763aa1d6005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05401b464bc83f09e13c0ab218692ad09f971d8860800582003c2f0ecdbfa0b34f7f18953a72700b6fe55ed9770df4c04ffd1565b4dd780005820ffffffffffffffffffffffffffffffffffffffffffffe44ad919211d6c07e1f1005820039e7c0fc2cf2a4219bd79880c4dc8c75acd9af1433b66c8332983b4877837705820ffffffffffffffffffffffffffffffffffffffffffffc483d215cc0dfc8c4f2900582003e503c0da91356bf78fafd17a73fdcceb9f59bfd5064ca96eee26af6a51c5804a4825237b90a6b7d4aef702192a2c0399667037ec0f905d78b756bcb5e90eca9fc9a68c7dbbc1f30e237a2400f96f8d031c2213ca4b7bf8dfae0793c8a0e9ccf0911f3487018440d1998e9b1f27b61c5803663bf4ee04b2410737cb08be2f569db35df5f9da19e6142c6f8e861fbc7739e9039fb996115f0dd235c85a122dddf0db11f02d63bd18880df504f9a86b7292bdcc033a9ed366f8dc14164a83747d2209f262cdf8cdbcc11a56581550d1ecead33ae303b8220e4ccde6584bed2270b9079a753745f7e414fbf12d75d421aa11adfe4fb703129c4196d6dd4ad1353e651d1a4635835811bf86686f4583f32c57df0a372be903e6bdbfd2718a39cb1b48ca9daa3e741dba67362f09e426b08e5153084283c1e503b11d3c0d3a94cc0a13e0787bbf5aa8cbc00941f29ecaa3e5ace796f7ab217f4b0219ffff0219ffff05581d026526d0cdecee66a5e220cd7eb584ad3dbef0ac6a20b9ebe35c2aabf707011956e50219109005581e03ca61555fee0920a01e81cf546354653c0df9336a0341db687973836be0040105581e03549e1596a389eeb3cf2debcdf13f7f3f5d290afb97788e4e5695af9d500c0346b88e39af8ce805581e031b1e100f3701c8fcca100508f220eab120e6fa466af26a09b62a4179200c01465e74292c820003da5318183ff65b8e5c69df1df9b7e173f427a363ad808b4a5c96dd0e1137e4a403d286a284f0c2f5018a54e8def8efda5e9fa4337e9aee8adacf99ba4eae0ee2d1038ca4d48d33be6f817dde2fa3593a2abbdc3ace054cc16184fc02dd3bc9a441e40305e82bb28f96ad6a81969d8b8e69746ec5d8b1fbb2e81cf9070af6be89e6ef070354901c2ed18bf6bfaf83c9c14766f9fbc928f78a9a2df47afa228feb0246f1b003a467400b18e5c4a98809dcda4111156d3aa26d392c78525cb5143fad9e68cfaa031e1a73cb869de337c26f807dd424a84779290ac27195165f32ad2c78b490f7720219fbf603245c38ef9d333938a24848c4d46fd5a0ef601da8c36106c65e2a811d2a496ae8037089e9dbe5aa3272f142f409d65591362a479521fa43058fe7e1af4a50d4b8130308035f96a941d697a43d8fbe20c6d6e137891b7982dbf4bea2024199044fae070219ffff0332f05ccfc9f53d6e1285549849a88769e878ed667698b35ca54469807b77a11403069ee3838b0e13ec549221f39a2db5f93304947af99c48f59bcd0913030040cd035cee6e7c2e82a9990d9146af714f1b218879fc2b23f746cb7c8b37519c10ec570373b650c99d5c462dc7a126f19cf3847d1c455bfa411ba207fa61a320e6aeeca90374cb941f0ef4b71f73c1f086e568616db2e0adcc05dd65b5743b3bfc41fb769503a4ef1b387cf18f0674bf48692bd9abc90226ccca66ee49f9997697efcac5175f03a54f145ad6ce810b06115ac2660ac809f0482f89358d1c3f291c3ce3e6daac0003aec6f734be604e2be7f106e456d62f86a80244a22727557b8a9b22c36edcbb4c0219ffff0334fdb1d5b0e8d912920043b81c1522d5acfacfc18d85433c11dfe71e082745b6030f9fb271ca73ed1938ab407e68a9fd1021cdcbac61cac1f8c8d65a83f0a5a70e0342d2c34fdde3f6bf396721bcc2f65723683663d0a5fac69bff500fcd855d81860219ffff03a5c9d7b05bc29725367f77340b7fdcd37884774a32546bb9436ff2803ddd524c03f5d43115b1efcef03c9b0ef9ccc876fcc3166b78257f09b0e11d6dd4477484230219ffff03cbe33bf69ca62e9fb6209a11355cb24cc0cd96f5d1568d5915a76ea006be801d0306a277dcb6baf32f055b7ac83f58a64418e169280922339c891389e98ddaaa1d03c3bf927359e6900811116570be6849bec92b550a2a5cd10bd82ba61503d578be03572f4ca48cfea098a7304035f2151bc1160dc844212ed0ed2eee57ff15af5473032b8a432994e4c1d16a797ce4985e0ca1cd80781e4a9c7a71ffc8dbef237a25440316f5c9977eee17a85275a3c153b9b3d27eeecacbc7824459a5b9fa1ff40ea60d03a402f2de26781145f07d55ffa7eb38ed78aa5418bd48f2fa58d15bb7edb2320003d56d72efe890b213efaaee99f039d3dcab2f7dfa3d2729ede9a7ec13f074a22d038eff9fced92bc25ffa528ae226781c6f5415d71679f3f6e0438d6a9aa4cb0d9e033954ba22be6367d54c6ac41afcc7ea9c3d7caf4964c8f4d6a03c7d1f7ddf1b0303cdafa7d14f768295c06882eb5fdd64b7e668b9585822d8f56b0f2c998714c00703239b247ea9123ecc681e5b547fed6ddb9c1ad2e821144e208ad6ff4ae4073adc0340d131bd14eb62592e3ec2d1e967d3946c2b8fa107fa4cecafd43562a82a806e0321d32297cffdca9c8d63f5523b653b9d9e7e3f76b2524504bf98efa3f541fca0035405ca31d3dc206cfef7353e6731d921b11c0279aed37543ef7ce6907e8846c30314542e2f208c0cecbd6b39d3b2cf00b3b9c1c3950bba8e86d9e4fdd4f3af0c7b03b5a1549476e8885fc52f841e4acf35e7e3067efd52181df0f5d2bbb434d16a3c03044a24359205b52f1c89cf0a62e86fd31c71b0d2656d8976a260d093cf588de30389ad6e304ae69d1f67efbd52f0c31754c074a662060bf112f26a7bc3f6cdc89c03461284a7e14c03c7b74c00ac27c152b5699cc5a04c3bd7a9b34a50a99afa79290375fb21e7c1c48b0b9d9a4296e152c50888b0e5edf4e9eb1452ae44a1ac7c68dc03e36c8c44b225cabfddc623942a84bd2c265428f896aa11536d61366431d3ddaa034297009ed976d7076b613b4c9fb2da3e58d4a76dc4c209ddcd7055f086aa0fbf03d3c2117d4de9845c704ad49a1cb71f568467193c7376a17a363df10c46156f75036e323afcfb399d77d6b3a635aeffdf3806fb140001b8582e9f786972e75dd24c03ae0fdc4e7e571665a8c7fad9bb1c40f7c3319d4e31331dc71ffbc7d40c96f5f00345a586ff6f067746c4a5a0769e9800fc105543011fdfdb5e36582a1c5bb9a096039140558b42d53beaa8afeb0ae4f4e83b7d0d677d60c05f0261a3d6b4ca14c46d03bb3d7125420e5d4ca52100e36a5f2671a1e898f81bfb1a3ac42a9709a11e58380358660f4316bbad816575bd1c411e9b2b7c2fbe6bafb4909352fd8574d716260503b05c081e1f853f94d5d01324186e5f209faecf86052a933835f38661509f42d503c1f527f6dd86351ab43c90fa3acac8254309b01e554169efa72299cc1dadbadc05581e03e897c19ce0a8c658900cff4d3b16c5b7cdf4e3f703da7044abd88d9ad00c014709b3913323a60005581e03432747be473e4e25b2700ac6182a4dbab0c258b71c3e4637cf254204c00c183247783fc3f8d9f46905581e033a0aaa296e38c540cd29b82b0a0b4da70776ced24e5919e2c4363626900c0246065dd0836ffc0312f5d6ec7fadc3811c663f2d9ea24f233de8900a5a8636a9e23606b23f2390ed05581e03dbe37b64e3f993ac1f91bbf0c52b79bc53eed54bb02dc8f2dabcdc17b00c01472bf3582ad7900005581e030e5d8464b487786edf3a98c03426df19b3bd117b4fd762697a2e7ff650040205581e03bae7e7b413dfcae95f8960be0b107016d23ae5625141a52294abab67d0040505581e03fa26623139d985635f16b7c18755b1d0bfcc716c4e48c978ff9ba9bc3008477706352f9afd6705581e0365201fd850ee0880e401f74d792a68d9014f14b46953344fa58ed115f00c03469f54c787672803495fe6d970f945e4867f698d665b2dc0e48c37e31a83b1daf8e2b8de5a9dd539034aa1d095135e9eeeffe4eb63e9daa0eb9c0148fc1d9efddf22412cab243f4e4e0141020219ff87032cc2591c03136f3a6751a57fe52049c370044eb40e8286ad7b6c975633d8e2110359dd33d960ebda14897589aad2c5d3e5ce015f9525b5bec1d7d00145b8e9ca6c03f154c37cefaf6bf361a376dd66c5914a9c394073980a33987bbc122303edb1090355ed91d56c3387a775cc58e96727a6be27f0cf95315d1b4dad15e9c0ebdb372e03368389a859bab738f875f0a971b195fa9ceba264f821e8d3fb212ea28dbeadf9035bc8f053c847e38da3336cbaea8fb1c4edcf906b282ce5b5860219e5e4da67a20219ffff0309379f2ced0e12d1955f68abad774aafdee0ef87427fd2090e841e7dd6df61c6035423e727f2228de4148fa9495fa6816f4a1b31f4f3aaae494e5232a46995a4c803ce607c222e5aea9e897baf8cc0d6ad4a05d6dd1b34120f06b675a9d8d28668a4033db5a91bd43811d6390af668056b99fb1ea07deff79f7b48660d973c307c3b3803871c051d0e31ffcbc5a61a81298eb077604c3e990fe25d8cabf2bd6463cf07fd037d1225ba67876b3f5a24c50372468dfdccd46d2c4cf164c1c5613c25af772bdb0219ffff035bdfd3e665b0078a7d8eed327f901ef569fcca4ff35676193a5d4224e1e27e23039b02a62ee1d2553d658bf4d3856c7c89203f6e3119cdaec6394756d6dda9e3170219ffff036f0510525b24c2952c78fae6db47f9fb97ae19f59a496a9ebb05d678d1ae965503bf45465959c9bc9a28392cb3f50a5a6e7bb7c79a02317893b385d751f46da20e036e08b73cb66f81051d8828ffc372d5305b10d6060f6997d6708f934654e7115e039cf14db546c0f6a39d565f027bc6fd80169f7733b725d10657dae806d2ccd26b037ad9fd4acb9ea0b82e195cab3e5938544d9f2f65277c92ea9b96d65b10c2b57603cf1c278cd5a7867f373f9b4180fe8ea86ce7432d6048463abb37930d67e874e6034dcf39676ddda49afadd1a0f65520993f531c6e11a117b35f7539384708e0d060383a8d333568626d3fe98d033a6d4ace0323e5ae7b6e6206b16d1e3d53e89b4a60308fa7c9df60113a331da62bac1c83b3642d6bfa09e4fa33c31e88346ee8b1f2603e8fdb65d40736876a20eba3ba6ad4662a5a92f8fa9008d279c4112df015b758403a2bcccb46a9551393e95adaf29512c82d546b8bee2c5e0a9532d30b38719ed5503a112f2971e0485b78b492e8be2e34e0067bdf3cb6ec6dd26b265839d3989803503178231af8503c0be04a2ecd884c14de47c1cebbaa2a726cfac8fc34bcdee4b0e03e299a0763ff2a506232b607767aec3ea5907922c4254cab5ec291e2c700ad54c0333a35cc4c6f1efc411d755b04e3a5f0a469f1b13a070a948a6b65fa1450a6530031b34d38244fe12acafccf48536c02c459c1a817d10c6a8608dcaaea680f25c8103d1ac58d26708ff27b99cd63b888029319315574173cd1ba5e419ba77035caa4d036639f73b1328a3dcfcf3fe448216580a1d3ab2ba1c585548bbc205eea41687d60338e360ad58294fb9101dea38de676e5e1d2ce828612bdc0108b1e27681e823e803af52ea2824084006bdee2132499cef24ab7317280fb1a9210caf356dcb14997b032bad0cf5fdcadcb122f8aacb128fe879a4117f7e39a7c9d31c8f5d282aa9cfb003671290937b21b551e37beb907bffcc4c257aa5eb7c57de48cf90ee79d9a61079031cb3928a0b2c527913246cd3d4b080e45920f14f7d792a81ac299bd6d781532d03d67f870e8fc5a5b3b4d156e1b7805c89b09f2c1e1b8f5f398e48e909446cdc42034d462b0418e8558713a799a322ba8a3896e150b0df8cb63428e000b5fbc0347c034ada6e2868d5714383904f1309c053f5095f785f1272700ea2715e858adccf490314256dae17239625be8edffad3b4877e1fc56a50db8791b7f57d29e1a974bf3003df91c1a3e2ca589339adf5d678809f218844eef1542eef0eb43bf8ca2ac069e5038162e07d6b734597fc0294914b8dfd4ae7bf2a1106cb63548c7bfbbd5f8283ef03eeb03db5927875c5318f5abb78dde4d5660a5423a5228a34e9a1e36fbd024c4d0325a667c2a47c457dc88526a020e101aabf75ef1cb5d7afa80541ac460c5cecb1039fd4b5c88861a0d14a13621949a82a10de089c680d77e63cc30719368bd8b14b0358080022fa29f91db5acd9e49afdc18c2c6801cee69ec424e2de132b4bce3b59032d45c3fd8774ac90ec885630f4a7c7872f25dcf9ef5e4749466d2ef3a8ef880d038739cb4283f5e4e8d16be2f1f2f60b0fa84d239dafe3e4bb614d66252cacd01a05581e03e094b31af8e45820fbd33f3b3270164a361fd2f3f05325f5a1037ac1300c0247029c7a85e8f00004592cb26080604052600436101561001257600080fd5b60003560e01c806301ffc9a714610257578063020c89621461025257806306fdde031461024d578063081812fc14610248578063095ea7b31461024357806309beb0c01461023e57806313b7b24c1461023957806318160ddd1461023457806323b872dd1461022f5780633192c6cf1461022a57806342842e0e146102255780634da7b73c146102205780634f2a5fac1461021b578063525a330e146102165780636352211e146102115780636c0360eb1461020c5780636d325d311461020757806370a0823114610202578063715018a6146101fd57806386a4fd73146101f85780638da5cb5b146101f3578063950c4606146101ee57806395d89b41146101e9578063a22cb465146101e4578063ac1a96ec146101df578063af426bb8146101da578063b27b38f1146101d5578063b88d4fde146101d0578063be8ca6a0146101cb578063c87b56dd146101c6578063cbf1468e146101c1578063cd27a036146101bc578063e9645003146101b7578063e985e9c5146101b2578063f2fde38b146101ad5763f77d22ff146101a857600080fd5b611aa7565b611999565b61192f565b611867565b61175f565b611738565b611512565b61144d565b6112ff565b611205565b6111a9565b611188565b61109c565b610feb565b610ebd565b610e96565b610db0565b610d3e565b610cc6565b610bbd565b610b8d565b61098b565b61092f565b6108e4565b6107b1565b610789565b610762565b61074b565b6106fc565b6106d0565b610690565b6105ac565b61056c565b610469565b6103bd565b61028b565b7fffffffff0000000000000000000000000000000000000000000000000000000081160361028657565b600080fd5b346102865760206003193601126102865760207fffffffff000000000000000000000000000000000000000000000000000000006004356102cb8161025c565b167f80ac58cd000000000000000000000000000000000000000000000000000000008114908115610333575b8115610309575b506040519015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014386102fe565b7f5b5e139f00000000000000000000000000000000000000000000000000000000811491506102f7565b9181601f840112156102865782359167ffffffffffffffff8311610286576020808501948460051b01011161028657565b6020600319820112610286576004359067ffffffffffffffff8211610286576103b99160040161035d565b9091565b34610286576103cb3661038e565b906103d4611ac5565b60005b8281106103e057005b806103f86103f26103fd9386866126b0565b3561281c565b612672565b6103d7565b600091031261028657565b60005b8381106104205750506000910152565b8181015183820152602001610410565b90601f19601f60209361044e8151809281875287808801910161040d565b0116010190565b906020610466928181520190610430565b90565b346102865760008060031936011261056957604051908060035461048c816109bb565b8085529160019180831690811561052157506001146104c6575b6104c2856104b681870382610a8e565b60405191829182610455565b0390f35b9250600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106105095750505081016020016104b6826104c26104a6565b805460208587018101919091529093019281016104ee565b8695506104c2969350602092506104b69491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010192936104a6565b80fd5b3461028657602060031936011261028657602061058a600435611cbb565b6001600160a01b0360405191168152f35b6001600160a01b0381160361028657565b34610286576040600319360112610286576004356105c98161059b565b6001600160a01b03602435816105de82611b94565b51168092841614610666578133036105fc575b6105fa92612190565b005b81600052600860205261063761063361062c336040600020906001600160a01b0316600052602052604060002090565b5460ff1690565b1590565b156105f15760046040517fcfb3b942000000000000000000000000000000000000000000000000000000008152fd5b60046040517f943f7b8c000000000000000000000000000000000000000000000000000000008152fd5b3461028657600080600319360112610569576106aa611ac5565b80808080478181156106c7575b3390f1156106c25780f35b612250565b506108fc6106b7565b3461028657602060031936011261028657600435600052600d6020526020604060002054604051908152f35b346102865760006003193601126102865760206001546002549003604051908152f35b6003196060910112610286576004356107378161059b565b906024356107448161059b565b9060443590565b34610286576105fa61075c3661071f565b91611d92565b346102865760006003193601126102865760206001600160a01b0360095416604051908152f35b34610286576105fa61079a3661071f565b90604051926107a884610a72565b60008452611d0d565b34610286576020806003193601126102865767ffffffffffffffff6004358181116102865736602382011215610286578060040135918211610286576024903682848301011161028657610803611ac5565b61081783610812600b546109bb565b6127ab565b600093601f8411600114610858575092829360009361084b575b5050506000198260011b9260031b1c191617600b55600080f35b0101359050388080610831565b91601f1984169461088b600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990565b9381905b8782106108ca57505084600196106108ae575b50505050811b01600b55005b60001960f88660031b161c1992010135169055388080806108a2565b80600184978683959689010135815501960192019061088f565b34610286576108f23661038e565b6108fa611ac5565b60005b81811061090657005b8061091561092a9284866126b0565b3581600052600d602052604060002055612672565b6108fd565b34610286576020600319360112610286576001600160a01b036004356109548161059b565b61095c611ac5565b167fffffffffffffffffffffffff00000000000000000000000000000000000000006009541617600955600080f35b346102865760206003193601126102865760206001600160a01b036109b1600435611b94565b5116604051908152f35b90600182811c92168015610a04575b60208310146109d557565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916109ca565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff8111610a5157604052565b610a0e565b6060810190811067ffffffffffffffff821117610a5157604052565b6020810190811067ffffffffffffffff821117610a5157604052565b90601f601f19910116810190811067ffffffffffffffff821117610a5157604052565b60405190600082600b5491610ac5836109bb565b80835292600190818116908115610b4d5750600114610aee575b50610aec92500383610a8e565b565b600b600090815291507f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b848310610b325750610aec935050810160200138610adf565b81935090816020925483858a01015201910190918592610b19565b60209350610aec9592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b82010138610adf565b34610286576000600319360112610286576104c2610ba9610ab1565b604051918291602083526020830190610430565b3461028657602060031936011261028657600435610bfc610bf5610be9600c546001600160a01b031690565b6001600160a01b031690565b3314612b9d565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810182905290602082602481305afa9182156106c257600092610c92575b50610c7490610c5b6001600160a01b0384161515612c17565b610c648161281c565b600052600d602052604060002090565b54604080516001600160a01b03939093168352602083019190915290f35b610c74919250610cb89060203d8111610cbf575b610cb08183610a8e565b810190612c02565b9190610c42565b503d610ca6565b34610286576020600319360112610286576001600160a01b03600435610ceb8161059b565b168015610d14576000526006602052602067ffffffffffffffff60406000205416604051908152f35b60046040517f8f4eb604000000000000000000000000000000000000000000000000000000008152fd5b346102865760008060031936011261056957610d58611ac5565b806001600160a01b0381547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b3461028657604060031936011261028657600435610dcd8161059b565b6001600160a01b03600954163303610dec576105fa90602435906123ad565b60a46040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f6f6e6c794d61726b6574706c616365207c204d50207c20606d73672e73656e6460448201527f657260204973204e6f7420546865204d61726b6574706c61636520436f6e747260648201527f61637400000000000000000000000000000000000000000000000000000000006084820152fd5b346102865760006003193601126102865760206001600160a01b0360005416604051908152f35b3461028657602080600319360112610286576001600160a01b03600435610ee38161059b565b610eeb611ac5565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529116908281602481855afa9081156106c2576000928492610f88928591610fbe575b50610f45811515612afd565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481019190915293849283919082906044820190565b03925af180156106c257610f9857005b816105fa92903d10610fb7575b610faf8183610a8e565b810190612b88565b503d610fa5565b610fde9150843d8611610fe4575b610fd68183610a8e565b810190612aee565b38610f39565b503d610fcc565b346102865760008060031936011261056957604051908060045461100e816109bb565b808552916001918083169081156105215750600114611037576104c2856104b681870382610a8e565b9250600483527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061107a5750505081016020016104b6826104c26104a6565b8054602085870181019190915290930192810161105f565b8015150361028657565b34610286576040600319360112610286576004356110b98161059b565b6024356110c581611092565b6001600160a01b0382169133831461115e57611101903360005260086020526040600020906001600160a01b0316600052602052604060002090565b901515907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b60046040517fb06307db000000000000000000000000000000000000000000000000000000008152fd5b34610286576020600319360112610286576111a1611ac5565b600435600a55005b34610286576020600319360112610286576001600160a01b036004356111ce8161059b565b6111d6611ac5565b167fffffffffffffffffffffffff0000000000000000000000000000000000000000600c541617600c55600080f35b34610286576040806003193601126102865767ffffffffffffffff906004358281116102865761123990369060040161035d565b926024359081116102865761125290369060040161035d565b61125d939193611ac5565b60005b81811061126957005b806112786112979284886126b0565b356112848289886126b0565b35600052600d6020528460002055612672565b611260565b67ffffffffffffffff8111610a5157601f01601f191660200190565b81601f82011215610286578035906112cf8261129c565b926112dd6040519485610a8e565b8284526020838301011161028657816000926020809301838601378301015290565b346102865760806003193601126102865760043561131c8161059b565b6024356113288161059b565b6064359167ffffffffffffffff83116102865761134c6105fa9336906004016112b8565b9160443591611d0d565b67ffffffffffffffff8111610a515760051b60200190565b81601f820112156102865780359161138583611356565b926113936040519485610a8e565b808452602092838086019260051b820101928311610286578301905b8282106113bd575050505090565b813581529083019083016113af565b9080601f83011215610286578135906113e482611356565b926113f26040519485610a8e565b828452602092838086019160051b8301019280841161028657848301915b8483106114205750505050505090565b823567ffffffffffffffff8111610286578691611442848480948901016112b8565b815201920191611410565b346102865760606003193601126102865767ffffffffffffffff600435818111610286573660238201121561028657806004013561148a81611356565b916114986040519384610a8e565b81835260209160248385019160051b8301019136831161028657602401905b8282106114f9578585602435828111610286576114d890369060040161136e565b604435928311610286576114f36105fa9336906004016113cc565b916126c5565b83809183356115078161059b565b8152019101906114b7565b346102865760206003193601126102865760043561152f81611d69565b1561170e5761153c610ab1565b8051600090156116f45750600091807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081818110156116e6575b50506d04ee2d6d415b85acef8100000000808310156116d7575b50662386f26fc10000808310156116c8575b506305f5e100808310156116b9575b50612710808310156116aa575b50606482101561169a575b600a80921015611690575b6001908160216115e0828801611c8a565b96870101905b61164d575b505050506104b66116109161163f6116166104c2956040519586946020860190611c73565b90611c73565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000815260050190565b03601f198101835282610a8e565b600019849101917f30313233343536373839616263646566000000000000000000000000000000008282061a83530491821561168b579190826115e6565b6115eb565b92600101926115cf565b92906064600291049101926115c4565b600491949204910192386115b9565b600891949204910192386115ac565b6010919492049101923861159d565b6020919492049101923861158b565b604095500491503880611571565b6040516104c29350915061170782610a72565b81526104b6565b60046040517fa14c4b50000000000000000000000000000000000000000000000000000000008152fd5b346102865760006003193601126102865760206001600160a01b03600c5416604051908152f35b34610286576060600319360112610286576004803561177d8161059b565b6024359161178a8361059b565b60443567ffffffffffffffff8111610286576117a9903690830161035d565b6117b4939193611ac5565b6001600160a01b0360009216915b8181106117cb57005b6117d68183876126b0565b3590833b1561028657604080517f23b872dd000000000000000000000000000000000000000000000000000000008152308782019081526001600160a01b038a1660208201529182019390935260009083908190606001038183885af19182156106c2576118499261184e575b50612672565b6117c2565b8061185b61186192610a3d565b80610402565b38611843565b34610286576040600319360112610286576004356118848161059b565b60243590611890611ac5565b81151580611925575b156118c7576001600160a01b036118c491600080809581948294165af16118be61225c565b50612a63565b80f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c696420416d6f756e740000000000000000000000000000000000006044820152fd5b5047821115611899565b3461028657604060031936011261028657602060ff61198d6004356119538161059b565b6001600160a01b03602435916119688361059b565b16600052600884526040600020906001600160a01b0316600052602052604060002090565b54166040519015158152f35b34610286576020600319360112610286576004356119b68161059b565b6119be611ac5565b6001600160a01b038091168015611a23576000918254827fffffffffffffffffffffffff00000000000000000000000000000000000000008216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b34610286576000600319360112610286576020600a54604051908152f35b6001600160a01b03600054163303611ad957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60405190611b4482610a56565b60006040838281528260208201520152565b90604051611b6381610a56565b604060ff8294546001600160a01b038116845267ffffffffffffffff8160a01c16602085015260e01c161515910152565b611b9c611b37565b508060019081548110611bd4575b60046040517fdf2d9b42000000000000000000000000000000000000000000000000000000008152fd5b611beb611bf0916000526005602052604060002090565b611b56565b611c006106336040830151151590565b15611baa576001600160a01b03611c1e82516001600160a01b031690565b16611c6d575090815b611c315780611baa565b6000190190611c4d611beb836000526005602052604060002090565b611c61610be982516001600160a01b031690565b611c6d57509081611c27565b91505090565b90611c866020928281519485920161040d565b0190565b90611c948261129c565b611ca16040519182610a8e565b828152601f19611cb1829461129c565b0190602036910137565b611cc481611d69565b15611ce35760005260076020526001600160a01b036040600020541690565b60046040517fcf4700e4000000000000000000000000000000000000000000000000000000008152fd5b929190611d1b828286611d92565b803b611d28575b50505050565b611d319361228c565b15611d3f5738808080611d22565b60046040517fd1a57ed6000000000000000000000000000000000000000000000000000000008152fd5b60015481109081611d78575090565b9050600052600560205260ff60406000205460e01c161590565b611d9b83611b94565b90611dad82516001600160a01b031690565b6001600160a01b03828116939181168490036121015783331480156120bf575b80156120ab575b1561208157841693841561205757611f4590611df0848861212b565b611e69611e10856001600160a01b03166000526006602052604060002090565b611e36611e25825467ffffffffffffffff1690565b6000190167ffffffffffffffff1690565b67ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000825416179055565b611eae611e89826001600160a01b03166000526006602052604060002090565b611e36611e9e825467ffffffffffffffff1690565b60010167ffffffffffffffff1690565b611efa611ec5886000526005602052604060002090565b9182906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b80547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff164260a01b7bffffffffffffffff000000000000000000000000000000000000000016179055565b6001850190611f5e826000526005602052604060002090565b91611f73610be984546001600160a01b031690565b15611fa4575b505050507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4565b60015403611fb3575b80611f79565b602061200391611ff461204f9585906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b015167ffffffffffffffff1690565b7fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff7bffffffffffffffff000000000000000000000000000000000000000083549260a01b169116179055565b388080611fad565b60046040517fea553b34000000000000000000000000000000000000000000000000000000008152fd5b60046040517f59c896be000000000000000000000000000000000000000000000000000000008152fd5b50336120b9610be988611cbb565b14611dd4565b506120fc61062c336120e4866001600160a01b03166000526008602052604060002090565b906001600160a01b0316600052602052604060002090565b611dcd565b60046040517fa1148100000000000000000000000000000000000000000000000000000000008152fd5b906001600160a01b036000918383526007602052604083207fffffffffffffffffffffffff00000000000000000000000000000000000000008154169055167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258280a4565b9190918260005260076020526121d8816040600020906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b6001600160a01b0380911691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4565b9081602091031261028657516104668161025c565b909261046694936080936001600160a01b03809216845216602083015260408201528160608201520190610430565b6040513d6000823e3d90fd5b3d15612287573d9061226d8261129c565b9161227b6040519384610a8e565b82523d6000602084013e565b606090565b926020916122d69360006001600160a01b036040518097819682957f150b7a02000000000000000000000000000000000000000000000000000000009b8c85523360048601612221565b0393165af16000918161234e575b50612328576122f161225c565b805190816123235760046040517fd1a57ed6000000000000000000000000000000000000000000000000000000008152fd5b602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000161490565b61237091925060203d8111612377575b6123688183610a8e565b81019061220c565b90386122e4565b503d61235e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600154600254900382810180911161266d57600a541061260f5760018054926001600160a01b0383169283156125e55781156125bb5761255f906124fc67ffffffffffffffff916124b583861661243e61241a846001600160a01b03166000526006602052604060002090565b611e3683612430835467ffffffffffffffff1690565b0167ffffffffffffffff1690565b61247561245e846001600160a01b03166000526006602052604060002090565b91612430835467ffffffffffffffff9060401c1690565b7fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff6fffffffffffffffff000000000000000083549260401b169116179055565b6124c9886000526005602052604060002090565b906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b4216612512866000526005602052604060002090565b907fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff7bffffffffffffffff000000000000000000000000000000000000000083549260a01b169116179055565b830181805b612576575b50505050610aec90600155565b156125ae575b6000828086019585837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4612564565b80841061257c5780612569565b60046040517fb562e8dd000000000000000000000000000000000000000000000000000000008152fd5b60046040517f2e076300000000000000000000000000000000000000000000000000000000008152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d503a204d617820537570706c792052656163686564000000000000000000006044820152fd5b61237e565b600019811461266d5760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156126c05760051b0190565b612681565b90916126cf611ac5565b600091825b8151811015612790576001600160a01b036126ef8284612797565b511684806126fd8489612797565b516127088588612797565b51938451916020809601915af161271d61225c565b5015612732575061272d90612672565b6126d4565b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601660248201527f692068617665206661696c6564207520616e616b696e000000000000000000006044820152fd5b5050505050565b80518210156126c05760209160051b010190565b601f81116127b7575050565b600090600b82527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9906020601f850160051c83019410612812575b601f0160051c01915b82811061280757505050565b8181556001016127fb565b90925082906127f2565b600061282782611b94565b80516001600160a01b031661283c818561212b565b61290961285c826001600160a01b03166000526006602052604060002090565b6128a9612874611e25835467ffffffffffffffff1690565b829067ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000825416179055565b80546128c19060801c67ffffffffffffffff16611e9e565b7fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff77ffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b612995612920856000526005602052604060002090565b80547fffffff0000000000000000000000000000000000000000000000000000000000166001600160a01b038416177bffffffffffffffff00000000000000000000000000000000000000004260a01b16177c0100000000000000000000000000000000000000000000000000000000179055565b60018401916129ae836000526005602052604060002090565b6001600160a01b0393846129c983546001600160a01b031690565b1615612a0c575b505050167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4610aec612a0760025460010190565b600255565b60015403612a1b575b806129d0565b6120036020612a5c93611ff48685906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b3880612a15565b15612a6a57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f556e61626c6520746f2057697468647261772c20526563697069656e74204d6160448201527f79204861766520526576657274656400000000000000000000000000000000006064820152fd5b90816020910312610286575190565b15612b0457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f302045524332302042616c616e63652041742060546f6b656e4164647265737360448201527f60000000000000000000000000000000000000000000000000000000000000006064820152fd5b90816020910312610286575161046681611092565b15612ba457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4d503a2053656e646572204973204e6f74204c697665204d696e7400000000006044820152fd5b9081602091031261028657516104668161059b565b15612c1e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d503a20496e76616c696420526563697069656e7400000000000000000000006044820152fdfea2646970667358221220bc6138f1668ebf36ef672407089649b6e480bca8832dd8c42455e0773fdf320d64736f6c63430008130033039d72a9d39b37ad1fe9a581fc8ffa046f92bd708221b31d01aabb2024ebf529dc03950ecba75d4099110afdfadd9858ebc613ed2ff152b445207a9b7d08d58fd0a703a40c2882bad7bbf8e412a7b4ef36cfa251db344b82cfd99032fb4b970db48cf803450ba61dda99308f9eca2f58bc1e3fbabe6e6fd7a0b0b92cbbf8a4901c37c5d9005820036e75ab814490d5c0664f4b7b5578d54ec062bbb3cf60f9d9f06ffe7e6c12a04907000000000000000600582003a9867f299fd13cbb91b74c679cfeb59946119269b2a71e7ebaa7808478c7b0581865cc34230f541d23b9fc40f864c90f7f90992d89bcf0a61d00582003b312fc72597e1ad185649d04d379774117dfb6c01724f4fb869609ba3bb1a0581865ce70ff60526fa1107c2ffbc9b6f1bf824da0b23637c2ec0219a802033740f82be3d3c725e7d0be547ce852922643dd107703b6fbb33dafee89c468a80319f7a1a2a1695f6e886086bde026777670e453b580c001791c3d8e1d7ba4a31e0341ec7aad43d78abdd31e25d39ffc0dbf39a59f6261436103d750a05e5ec9f38b037894dfbd9ddc74ad54e80b4d30438e87e2eb483699e938dc79aa2d306db255a103fc091619e563aec4d66278d5753e50ad589226bdbb67a4ad24bd0780fa5383930315082505c5ce8feea98829699bd65b77e5fc3cece3a5bd433b33381f4c46abed03bb62363483e60498ca0975036a0eb4afc715a755d140ce5e71ef2d99316c43dd030b5b8039f08b94aba6795362b1099833942a230dc596a0f9a6b6e98ab922cecb03bb1e2beecaa11ead64fae12eb10a9be587f86b6fc26f615206e4e69b21d6c40403a08aed5a075c01a4b44ed1f4404e18a465fa7d15a293cdccb2d46a4f7eb3997b034ba6f4bea68e5732f616341ac3868ad2d48c2314f391fd22a117f82394622ef4036ce68e429ce9c972f6f8bfea8787cc76b814a4d9f48c936517de80446391c6a9005820029552335ef33151cedbb2d36d8445cd8aa79ebf18571a78da9a142807ceb9a1581865c268230cabab448ff897edef2013c6f7da320e83e9f2c303e913ad7e63c6b97d317455488a860f601d10c95ae423f9a223376ed64aa24b6e0364cfa150636ddbd97b4100a465f16c6f8d2941c6a2a7a5e2a65df4ff437a02fe0219ffff03dc908d2c82ef1915179c741f6e93d31030c5b2e27931f5a9a7d9c32d5e0f3a2f0307fee7b34c28ba0202f1ac16dd12809743564f2caceec325ec760b05bd6bb0db00582003fbd1ff4ed0970ef76aa2675380124794010cccfc92d514e4f11238c77dcaf04101005820034842989b9e6280cb6d6baf3445d30e23869c4228f30603ec487d8f63c27b804905000000000000000600582003a8e262554cfefe780ac18d167440bd87171673ffe11200e7ae9f890af0e890581865ce48730cabab448ff897edef2013c6f7da320e83e9f2c303a4ed0caf84d56ffa9e8db7a32da45991caf8b60c392ba1951d0d71c95b7cf60d00582003d87e146c969713aaed3ee8515b8f6f8164a47804c01d82be0a820df684e450581865cb2797aa3c0faa24e67ebe9b73fe3efaf9d06f9ba576220219098c03ceef3fb2895d3bb3034d9d1bb48491f73d4e1e5882932660a7b5c95851972cfe03d46796a4513e9bcfbd1db0a4f7b8a94658afc826e0295f79a31db734c30957ca01410703293cd74937e28e3739b745be632df439dea0ce7006bfeef10a470c6e443661e200582003389a159ccc39ca0115e19e720709df39aab272b74cbf44e30ae04def09a5d04902000000000000000100581f02a44af728ab6b5cae416206cb5ee6c6a6b3bc60c539ae9883f5ab3c868276410400581f027d1afeacff00f4a877d707487e491916281b82689c26a16eaf20be738c6d410300581f02d9ed57ee12b582c880660a5a0385d994a43abf0d85f804b9c1d4f603afb9581865c41feb0d9ba6d10d90a25198655f2c7ea2c8b05e25a9eb0219052003f42733982c953e87475076db5beba8fa2e03ea61d003278dad63b11384d8630002190203039425d573572ba84a3b455e0afa9fd054df9968a0e23b6e5a43b3501cab63fa6d030d965714f050cc5f0d8f97f646e1b4060bc8d6924ac16215aa4a58deacdd2fc303b0f6f66209dd5725e09678705152ae3e4f67cc3c6dbafca6085b8889d0e1483703b2b2f7bf9b71e9979678e5a9cb3fb41ff7802a1aaf923defbbe7833fba6da11d03ed78c43542e4a22cbd447109dc208afe1c1e036adcff08269323a275d79c389c033d1157a6d3567b8a65b3baee50954494166f0a61fb4236f0b7433f0140ca4ab10329501012577322b8c1bda63142e6469707a8f0ce31ce2e8e139d24765c941dcc0351705f6093ac9642ca53dca2b25207d2083b8df63cb956e63e48319c3a1a0c5c03eb2622b1001359756e1aadef15c9948a6217f68c9b457c77163f8c12a804d17d031d715ac5f027c057653b2f14a3b940656bc48427d8dd45629f135537cb1ce4e600582003bd7f0e06477fa9e691994cc784b4ae21c8eec575a40fedfbf416665807baf0581865cea43b3ac76173b7d14016b74447570fe1d3543ba9402a005820038f578567403f4641d268370c3fb7f381acb7ad4a68b2269a72ba3bca67d650581865cf54cf484585fe5b976c2afac0f2c912447059ef41bf7800582003c1cffd117a0146919ba1c136e732132c8f9cba4aa9f7425789e8934d389170581865ce6de746627fa7a19b251e858260a73ac8b505c82339b3021944020219ffff032ec2df3e99de114eb46972669bd4761efb37ddac3e3ac19ddc3dd488e19a2a8603f2c9f8bb54c8e8df19caef11543ff14e5132f5a4d65ab2fc6a1844bb5827ce12034541514c74bde42d1c0416e92e527c17c2e8c53b76746150201e68b88fc13f7703e4f2ca4a0911c175e9eb33342a7b9c66e753b83e225002f6adafc1484fe439550349d98f60bf9b953baae898046f910b0e3022ccfcd1e4d514075b570f93384c0003d7ed493b12fee3d614a7786a6fb9a5db62c31efeeeac62b1803f4361cfb2d081036f1ca60bd4efe951975044ed1776dfaaf833c087b7dbeb8166958932e84a588e005820031c1ee956bc192d7294ae407707f85e9b92d108275a9ad5b61f0f5ea1862f10581865ce83cb2604a43186019749a41e2b74daea1e31d9578f8b005820030ad54654faf71ba49ef73b13ae2af12f113ed3ffe8628038dc65ad518db6104906000000000000000600582003f4cdf7f86b5f53bfb5cf794d904c5b64a2971fb3e03f7ff60481d9744ebb00581865cc39572604a43186019749a41e2b74daea1e31d9578f8b00582003ed4a5ef3aaf51489a33efc3d6182febeca1727e9ffffeb27546fb0e51d85b0581865cf54cf09564716e12eb2ca51f64d07d76aa88b7cdc02830219100d034abdf3d40e08fcdf39f653b62c1d4a7d4285136d1e266ea1d0e27f491966c47a030ea6f329d9d6178aa3ad232679d8d3909dab3be43661ce5d99c2fc2d630517f303f805b0868c79cbc1022cf3594507a17048f8906fa50e101ff1b7f3cd4161cd7003244c73478ba6752036d397f73e56d1038c669d5b63200cc9ee499753a416cd8f0366b9d50a1cbc91a45610d08539d0d3b288435c6cabc0c7f782ca032ec999d5fc03c270601191535d10f96539982c12586b599fc47acf211e3a7131f80cb0fb6c2c035eb4e99bba60b80da73835a6e0d7ce3a6f1d0e67a9ec28da66dad27678d207df034996926a5e80e62e54feee4898c6bdad2f342c0906875449b42c093aff21f9580398a2fe49d0827359e25ebb8db4323ca7dcd190792eaba2789176859fca312b98032878d1d633975218441153ab7bb0e5fdc16f94dc85cbcc74c9b8a9e8e485197303cc162cebef154e77b46f365329db48769cf8a858c6dd0ae8e8187814674d92600219ffff036d9a7fca3f1c55bd5c66142c0a128a18fd2f00b98ac447c6fbdd3a87a587684f00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604206ed00582003f2b881e683fb64eabe481f8da3622a59c7e3540b06ec682d9700fbe4a4e810581865a60f3b67580561ba59d3d59dfc854c9399d63e93c08d250058200361a5cd67ddc2bc47c909727c40da94df7ee369bee20f1c08715fc01ce25b4049020000000000000000005820034aee53e2bb6a6a04f5975c367f991e4f030fd201c1d578928a160be92d645041010058200394a415ace90c6315d06bd90288417f5985cad482194da5aa3c17566caa2130581865c945571d3a9a01d1476a1eea9e230cb5ae4ed3ccf0c04100582003e610b5c9e9d7249ce493281e661c825f71d2cc268f7eeae41b37198a7e1ea0581865c3bd57f0bf37131965a517511f45d05b836b3b479ac98c0218eb039b9d52f131e32b7c94603cbb78375c12cf5141227a7fadde03d41ff9c6ec4d1303658643f7c5e356d15caed5cda58300706877cce26df95b78cd24407bc0c766a803b56e846f83ac15c14cd7d2fe7cc1a2448fc40098a80aeb18f96cfb1bf23e9aa4039dfab02565ff9e9def0432043d1c13060f8ccf434bfb925f101d43d4447703b2034d011cbd527a6211d84c150a9e958fa3c6394c955de8281919415fadab0abe5403d4bf9fac34eb8b35cf78ecaad23e283b1b672f16c5bfea134de7e82f1e778e440367d1b1e5b87fcf756a65c1dd4c141781b4e6561ca2151b73b48f238093d98176037431f6f80705d171e2d4ba867ab842f53bcdb659c707fd2eb0524630911dd1a8032abe0e6ed87477e086b0764e5de2bccbacf4c5ba80d815999d2f01a20483c3c203a3b7b3abeb2e8a10568ef166886f4baab7147177594a7413b9a9fed2664d6fba03898a66d2960f7438115599dee473b5adbd053a20e5a7470308bb98700cdcec7d035b905303b96afb5431bc26193d005d287b7a509fb76a9a259aa3a1756df69a5c03aa0ac98496f34e699622259fb26f39ae530e0d1e015bcd850a92f7ce572ca2a603aaf04c18245c53a08cb2d77e5cf84dd694e71a2b03f8944821284afb294a16470219ffff0308ae5cc2bb299849b0c9eac1f329be637e753ca615e311675efb1ce973ac96580350f61dac6ae23825c69b6852bebf2c84f863d0d2e4e598323d3a479941bfab4603f142a1afd852826bde926865a3143a3fe0bf314d1a91d28810b8f9ee7683a76103d64295ea356004400d3d939e1ce706ff918a4c49e46747ff4790ec647a13382003f1ef3341dfc1740ed806f61aa2d882b511beb8aa4e693a6e0d5dcee52f39e3fd039bef11905ae95d646d17ae04eccde49539067ef38f3f4a3a019dcc009fb1aaa10058200302768ef2be5d037ee08f388b7abd1c0a851fd4ba9b4d42810495a88ec74130581865cd1c1fcfb098c1d44eb12f93f9aaece5d6054e2a2240ab005820035826590119ec174de4c6abd4f9106f6d071a16414930d647a16df1cb686e8041010058200310932eccdd1d35b9bc832dd4424f09406d38353850781d618ba256f794c6e049050000000000000005039cb6ed7288dd19c519f2446e5d6574a5fb99ce8bb3783e1b95a0682a0030e34a0333ecc0518e90fa55fa730c1a502437b167af9c55cd6108255b0f739f57997a3502194823038215aaf35041b33a766f9d48078506e59e8505d8fd5065e65298b801a3e72bc401410003fc9982a6757df4838e064c78b3d2aadce14e27f4eea9fd0b7f99893ea21ae88803765b1ddcbb3b9ec0fbc46ce4c2b02a5a918d17ddb1c872243e584a3651f68970032ae5825fae85e027d62223ceb62c0f054c4fae9d01c79395892b2c425272ad340309e0a19dc100f95fb62ebeb07bdd660f99a67fcab4f92304f8ec6141a5b75c46038f98191cd135e4f79fff7fafd15474134ed9092018449e0e93a166ce66431ca3038ced636e7c505c04c19e168cda6b55e9cfdc12552b89f87745fe0d8c430a36d6032662f30b19f35d5bdd9467aa2951e178252cfb5620630654f7961f7ad5f73fd303678fd2b1248fe6ecf470cd91cf4a7b5ccb05a3ef0c594920ec82e7de2454790103d202c27a4df74862b4d8b243f0108e9d52ab2942ed53beaa4af161243b2ca56103b3a1ab177d56dd7497c7f89ac61540674e73facc73a742adfb53d552254ecd970219ffff035c309a044c6e3727a5f4629ab81d0e553315379d475fdc50dff0eb93c40db1820058200372a01b2bc527be209ff3d4c75f7c9c12c2403be817c6c50c35df172b971b40581865ce01c3fbbc953b46ae6ae37392999707f996a868d40f20005820039e9ae2922d4a8d96a08e4d81099920814bc9db907f144072007826d02cec904101005820031909cf7a80903301c0458d18d0cda77010b788d8483779d7cd7f30b1c95dc0581865cf544b484585fe5b976c2afac0f2c912447059ef41bf7800582003f7101eeb218470270afe65d85dac892e63205b0bb146d4a38e798c2b1b9240581865ce495741b68202dc64904e09d2e4f0a94879c741f27db200582003a758dad6c51c3aed5d47d553f1521749aa235cf79f13914a44311e3634cad0490100000000000000010058200357a575e676a4021e80ff104e6801e9036b92406517d1b019711a526d9a0ff0581865c3d3b33a7f1c9d4c0ca70e62db0c4f10e9d265498e8af0005820035b01199caffee6e52d2109d9b6cbb6038649e8e21ce62f9ca8857b70a1f8d0581865ce9dc347d8404fcd1c52e6642c7ed374fab052b381ccc1021942ab0349b2bb0d83987d7978a2c37fe0a3ed3180887ce9ef8cac38f32041f1ccd8023403f84363cc4746ef1e0ed2f59d5389e5968ac587d3a388716104d85dcea4f4074903cbcbcccecd867fb500e3f7e6ce71b7fb2fbc182e862f1fff26e68d9f6dabe404035570b0d455a1b2ee35ffc13eb9f0092415379cea7ec69b6568d96430448dadb203e0048dbd2c0018c4ca7d7a9a13909ded1602c750eb92dd697aa4170be9d51b63005820022d7b2f810a3adeddc677670e8563970bfbdbb12ccb687596a47a37ccac1dbb581865cd50c30cabab448ff897edef2013c6f7da320e83e9f2c3036dbb4de627f4bdc48101a7fd123b2708d1e559e01359c08b6d8f0bb2824afa760319c657d4706e61a28ddbf7ce5dca229ed94d14db2e299d75f832abedf6e1d01b03c6864bdfd6702f7665e9228ad2d27a0e5906c38d8481317a1e5f6574ca775408032bf515c4e271a6b1ed48edce60c2a87c9ddcbae9c22f677c961d080050a18f1a0378bf581313fa04fecfb8cacec776e2f00bc91f2ae260db8f45bce89f7467125303ef4f5f3135ec18ac808fb67e6cffea6a257e55550fe7bae25798604bf4ac1770034dccbfbee4cc144ddd5facb1b5a82a93e84a35202b6493568d113314d1042792039e7d86ffa6e34b84f3031a13cdb27b6b0bedcdc2c5a28ac88a09c54cd83fc5ca0219ffff0219ffff05581e0319365ae0d6c52af7a3c6478b1d0d2f113ab3cdb7f1322393b4178bac300701192cb2039c84f24f04c2dd7733b049a18a30f59db89e48db37a063ebaf1a3b8b24cac06505581e03e1d5704fae828dd980d9eef266004e5f57406c0a135c1f8cbcb6af55b0040105581e03cfb9f4f9df1810018fa996d90839ae05402c30317a9c70488f974abaf0040105581e031779624ed868138ddf65bf1d1e31597b4a18dae200316025e8487907100c01470188315bba711803864b43b67ed29d39972f0dec4bdda5ceb9962b9218f68c0c67bec87738ef6b220219674d0341ecd303d5ef5328beeb9dcf689c9cc3cd8dfe9da7c0bce2ef6a90af3be2221503facc62762cc61b78956311454def5d28000481b5128def062e1776bc0f2272f803062528825b7af8e501cea3fd04ab05ba804f96af514b85513c86dd7055f98e00034f5bbd3e2e3440b3e6faef60fd6006dc3ef29b252bbfba1b7c99d7ea0642b0500394670ce13086c1e54ae3dd6b6fa08121a4856155d3f549676d1995a78f905406035cdd8c0a04d972a227a2888454e7bdbeba174b3d89b053a1175fca0ea9e0276b035f2542b31a35d7c54b42a2a665431f98b7a7b242a409b1fe857153dc9cbaada503f37cfbb9ac242d5d724bdd54c3fa62574d2df5ddc43a41b7280811499dca5fd703a7be7610f90cb7cbed9f2e678cf87541291d3bb937d12b135dd0bbaa6ad8df5603fd293e83be8345a3b6b3db56563ee1e94c024cc3ae927264850d09d5ae95297d03701a6f91f8d3b95380a2b2ab8da3d5ced181f7ec228d21d7c912923241ffe9920357167085fcc8a373dfe060b0ea2b0271ad559d68de8b61ded239accb7cc3f00603aef387f323680be79cd17ad3e132d85cc316da9b43cafcbed0d1c26f85f063ae0219ffff034d27890310138c65441572531885c9aac883e40e99944d883302aeeb8e4d543b03a310148a4c13734436a0fffe7a2698fa24b728f38a31f486d843965c6e1926a503693d8071f6e2ad378252719dd9957d5790fa93847cae8762052eceb64a697aec03747bec870283290d7a50404595e84429ea25317521a6eaf83f051b9e82b9157a0219ffff037e5b1ee6c4a87c8afe6737e289a3dd83603d8de6ec493d76f3bb0431c6f43f990369df2d4b22b9a5a1c5100903136378d042df0567f4f8b76dce28bf11b930e52703c75c6085ea369dd8f5e6fbaa437f9c645835937b53498fd4ecb8fe58e1e84c2103b327df584e624a20b631695e3dff2df10fce76037eaa96bc85a1dfa9fa1ecf0c0219ffff03e6928bf242dd0e32d7c5423fd20db9261c28386143f436ffa7f21817a3e40bbf0354423cb5d4123056edfb3564241850fb1b6f06bf2e7026830809aeb26145fccd033cd82feda9fdefdd9a54589d3b74c37dbceef1d27c3f5b285e7dd50aa2a37807031b3b2c67ccdaba74ff62ba1e7a1c5545c67e32c93c8e0ad04dce619fdb37258f03b4241428bac76c4f9b62341aa4cd740c19f2cc384afd57f3f36ddd84a1cd67820219ffff03b0366dd71aded37aedb89029a4918a03054da0cee512fee5ecce03eba5be38ae03bc563de71425707984a1d67faa6ea0660684c20c6f5aff2a1eb99af1e44956a103a562f3e009a62b56f4f82d6624c0b88028f801e101592ae205e79cb4dec0057a031792f2fe26e1daa8bd22fc7a968553dcb6a793abc91176d5c81b60db3534aa4903942003e39abae45ad654005fad37c7fddf1f72edb9f416ebe27fea7afda9170203f0d84cb453c724bba493890fbec4cbb893fe4c651f9f78a0ddcf09329a2abc37032838d85f94022215fe7baab70fa7eea0a861c4f5490c47fde04cd59708512e1e03df74911d89d0e52815b85bd63d31a825b6d430a0c58af7d4d2a3c2581032de6703d867748404dcab72331bb742d28957196a53d55986a295db6755d2602262a20c03146ccce75ec2d5454a8ef043ad482ca733b7c5c6ce5dd51c5745de9341acfb17033a2a49ceb28ee0a201cdbda315a803fe5333e1f8c908b8ea350e5b22ee3f8e9e03b2152ab3f03531c7ebf8284ce53bc49556bebe9df296286f73a5c8ecebff3083033f628d560efc68a8d06d2b6652de3dd48dc21b5c84c586719b8a714ba7282732032e92a4ec1a2be534f947f984b229f74d779a4b054a4cb1cfc5e9aee16961f73e03ab9825dfbef0f1de1a8d47c7a79be321ff4337e29e9d0e179fc6a07e1e635bdb03ea2e88375b54daa31b4b8c51a805548458ee6f3a98f892e5e1f6f32519d0fdcb03c5e25b22fcfe5fbe44e875cf8f1523a5e42c351bf4c2ab36ca94140659de5cb00377dbca265cea3d9f66d43ac16ce66bf559de9ef4ba80f2bf147a6d430475df370317840d73b452df51a1bced33edecc2427146133f294c1a79830f009563cf8f4d030154c9326457c76032780089f1cb55ec17356850a599efe246e584e4e6ef27bf037f2471d7452a517e995810da9116bd0e172daaf956a44a523fa844607224606103ed9fa6ca9d8b61a4493e47f9e1c89b56bf8f9affd70da042480f065ed240fae503fa00d686810ee91ff36880ec9945835645366736227ca6040edb826f8e42a01903da75a6ca8d91a13f4d3127447b1e2c695a52e7f6b2a373b60c1a8afd32faf2e405581e03aa231629e9a0f12b3125f26bc4a43c942e8321640de63b6f5fcb59b7400c0147080ebbe659bfd903e37ed4af6163f332f7821b589a4bf34fb0d0752073776df81f8ed2a1fbfde15605581e033758f2d9277f657352bb6f51cae040073ec1737436c1ef0e04762306d00c1347b96ab00a132dbf05581e03a3e3ccdd0cd2ea26eb1dfe6cc95ecaffedaf79040f981c9049fcd600e00c1a000f651048b508db75c1ac410605581e03aa499bd06d9339a4530e72cea8612d1f5817cbc384284b507a0d7eb5a00c014566342c75c705581e03b1ff079f7d4a216a727cc758722b9b4722e6593edd7e971583a42ad8b00c0141070395e3f2b2fa8dc0eac3c7317a3a537757530967e06d5b6c6de690e0bb047a776c034314104750370ee8a693e9f24627faccb463528e35c994acee5c9d03e400542d0219bb5903742ded10746f8463f86ad3faf9413e6f2d822d443bab8ea15f12fa9caba8466c037f7b99b3e02bcffd6164b83e892ab0c9157f13a8c8caa47234ab0479d5152444038cc9cbfe92bc0ac1ad442a924773c79be62c472e7b36bdd25df461923098b4e1036bc6702afab4c48b017d04a7484038fa6ba3452ceadf5c99fcf4f3044dc960520219ffff03e170a8c3812479132d9160e8a9beb38c739481f1e74d7315115a0622d9919eff036455c153ccf7d544b337ccbe4aa4e665735cdf978c5ed3f5c0dbf12fdb21ad050362909e65878cdf5070f620514514c822b66b16060be7d2d4ff562c206a0250f103027039946543011f0f7af88ed44e4a77b31ba9a3023873332be9d3f8d7d3fe4a03e122b75dc4b43bd89ff57ef8be0bb551254c1a43aaab0d33a7ba7e7f36f42bc603e6d386f6e238b2e2f28ad7cf006d95365c8eeedf569b253b06883fb52ea83b010366ef1b3273bd0690a86d5c6ffe8bfd940e559b4cc31bde02cd23bec89a00fd800331424c065822f4bbc89908590d4496b8cff6d0491c101d18c46d5bcebabfd40103fd3ae8fd568b6baefcd174a7a4e11c0b6b5116ec1bd9d17bde98b0de081bf54e03dbacf29a8d12430782201fc3d71533badfd7a2511f87ae905bd0b3f4a3e31c4d0219ffff039f88a6ef63a591bbc0784649124a9b1f0c46abce9327140b70c7e2cf0487868803e87e23620e477c39ff3f96eaf031a69db380aa1e66bc806d58c6d18357628fb7037ba7bf70b98e8f3b4579c3a1424b74e89b4709911f5d746cb8f4a58c0721a21b03931984fc08ef210195e046fb92fc5e6ac26b5e13ad5411044c399b43b8c53e64032716556cfef41e85feeca5bb7e74f0996ca416489a6e0196a980ac6ed8188f0103dd113bb3971ea9c43476fbea4289c41dd141f511449318b625e9a3885091899903a62eb5c0c569ceef186ca20ce56f6e5fbd3a7e584e89b66a36972a8c0a936bdc03ecf4e3bbc57d72e9eec48829a9d8bc80a9f5f7837bfae5e0ea79007d3df08c74030f30711e7212227dece471a13411d5b5d7cc47554620a64847ef94d1d0620c8c03ec11adbedbcc882be5f0bc2cd7022ce9dd2110feb56b63909977e59f00b0e63203f7dc092c56d32da0287bdf704a3127917f6c2ddbf365acadf3de2c6998e994e10315a2c22120766cd3dafd4ee87241db12cbe8355d835d69eb648a16ff19d67830035c47c622d2162ec7eb585ed590087fa2701b4f14aa1bcce004fc650832f1ed8d031e053a1c8def856ad5d0e1fd9d7323642caf7a9a3a7aae647a00634af33afcd90219ffff0383a08bbb7bb643583a3ee3ef6bcbe201886fae6c8d464e25341fb6442a8136ef039009dc9fc3c6109db2c1750f7af3d8b0bd99eb89451f3a9c71ac1a4c9d034406031a7ec5180c8b9de19f955f98115b23b04d065183f9fffc8a20bb462a813f096403a909013e1f41a837bc681678bed369bf2b6024adee1e177e7c6295dc90d4f2ca035d44fd910e95b27e82b6d0dad57d969cdab765ff7823b0e798de069394c09dde038da32d4540de42e2dce31904adcd7a5b66fb98a84c13c1c7ba0247d8522f2d7a03993142d4994ebf8b49a00e622c51ef7862de07f471da7c8bea9d7d9057e7bea3035d3f257c754f422b659336ab211d64aa1c2321bd0ffb3b85fee736cd7add08c5033a3e45fe7edd87714bbc598e6efa2634ad26806790ce32ccd922cd6fdc7a1c5a033ad416df0b38d4c05308b2bad3904bf500056d0956a53a07cce1733616290d9605581e0338c2c2297f3459d6626a27c49f9173cbc8afabb5a7d27bab709a44bba0040303be4f0c8feffba0492f4f0247349a5a7538ede720baea56a2bfba2c28565bc06b05581e03cb23d8ca486569014ca7dece94b72d35c659272e2dcb0fd0375ce422f0040205581e03e7c935df4ce61a636b45c466ab93047601c55273a6e0d97e80cfe2ac00040105581d021dad97e22b8db540ce8c3fdd5cf341aaf3831b65693df2461c0847890c1a008463764a03eecb8a18e2ae73e2e605581d02e5a8d042cbeb5e1868ea8d4a6b81e812f48559e43320a02039911a510c01464438a067940005581d02f330a7f3d877bbd2320e7f50e059367363a2e59242c67e1eddf5df9904060219015005581e03303b49698eb318a1bd8ed59bc0e5961a1cfef2bc4408364bb8b896c6300c034754e74042fb9014031eb514e0b20e4e889e3983feb66dfec009ead9ecedf04d33fb8ce573cba727f7032c2eb1b0dc731b6dbd1ffe97a8916554f1aa3078f34685c2287b23dd1f572b5b036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e0343c742e4d10bcc241630a2c813d20d8c1a2ab3e372c21b788103de091007011bffffffffffffffff036107776948a40dd0c7557d1a66472923d1a64903e60b55e4216193396641dc4a0219c5eb03e4062285caf93cef41de954cfed6e9a1ad1028edb5a101f122443f3cc10d0d8b03deb4189cd714e5dcaa6f77c18285535b71f5923af986d4b319e590db2a3ec7a203092f6f281b3d6af0164e78e1159a1f46ad89d2aab5e5af230867446d48f6341803d02a54d4beb8065e1acf31a742ba05f8e99fcfc1ced9b3d70c60c2fa22145be103521b23ea10c4897c5d5f6bd2c179d0dbc901c670d53eaf0164cc18ac1a77235d03e5d75893936c939c2f301a6e5af02399b3389f897447144e33199d1e0a958176034249eea43249abedb074e666503ab9e18c31df077e9f9a259128bad0a1550b8703308b4438b99e5f23a37b60887d92ebaea777c81f69b230762187ef656fa99d9a0331a44ad4f3b7fac8d69f3cf99625a5932c9cc12b980b875957cf1c2e3d3ca21103286dabda9b3bfa4e165ff72fd58d091059be7a18d03ecd9dac978b55c9724b8c030eefb4aeddc5bcc718bcc2d1774a95300a6824de2d7cf84290e02c3177bea86f03bc02916c58af7564f5b3d8146a369e0740e5533dd20237371ad550f40924fa0903db057b2609c8d6baaaa5be2745e8e32ca80db35aac491bbcbee2f5c6075e8b32037c7dc8e2f53026ed58c35660631a660a07c7d27bb7f25abb041c89b14a5a50920219ffff034602111e437e6cbfcfa873d55b889f7222c2c7c5958795499fed2f17fd5f22f103214b810cab4c96d74c0d406774169d8fb8128e82ef2048126b5eb47933e9594f03b3766cd5d4881812d7c573f36acc328e5d86990a9977cd8551d1a29f11a7c6bf032c14a28c0f2cc099cc279863a9b9bb485aa3fa4738e2aeb7ccee2b793206772c037c7c6c3f5e31e1c17f84b628779656de7c428c1cc5dbbf3e8f586ffd520f33c103e17762250490b5ecde529e6e84ffe8a7580b6dccbcd5e83847d3777368f99780037a016125510156a9011730462f009f25a91d784df5e1b8f105d220c7494d209903aa47f28f4cece90106728bdde101f22b57a1b5406c9ec47313c2b1bc63f4c2e503a9ee59de2b2c670eed63aefbc2ff021b48f2f46cd862c5afdc315f249885613003f9e1da7a701883b9c9d33dc82b3ead31894e5f6bef74b5ecd8b1f1b19472b4f40380a4ffdddd8d56c1e2d60873066d95fdafb605167daa98c148dd37b7c8e36f9a03ccfb1ef85a1964ee6d610d0c19d3c9c6d02e6ff4298ff480f16afc676951ad00037f914b5a26add8301a6ad37b643a9ee81eb0bb8abcd99a442c4b1595a3b913540219ffff030be4bed0ca2240a7469b607e36cf0d933f0afebcfc03181e7e22a99026da620803b4b413d4b3275d33d995fa0f3ba78690e80319d1f3a11eea7009ceefaf2c36f7038b4913ed80032e926c670e48374661d92a005f77003fb97b01655427f3d49d70038a72886ee9fd7ed642a3217272a0dcf6cdbc840d1bd3370f2d11a9781748143c03b4e112b28417e508d0549640e160d44567695ae79f3c2ad7a6b0ca72d962303b036f86571f820e3148d27f9f92f01df284c63257dae318595df020f4771bead57b0369a08727de17fcd9b68ca29155a5319e90c2d94abe875dcec7f6c0a1dccf4d9903c2457d83e13b05b3da4750071b1be81b28b4a12c3bb4bebaeb213b505020310a0364fc35e37f6dafe5e63af3ec80b80c02f32b02913e3a0d6a1f52e15cbc981d7e037642fc509da5bcfb5008cfe06d712e265a0a93602debebe4406b9fae6f918db103e6d66a6f565f5390bde340a6dc637f186d38639d8d7289d3f80cf2ca6fee07c203eb60a97dd921d4d06da98c574634607be956c4634548cd1a272ec89c1e0a4c18039a1e66a9ed3ecef681736644487c3c628af0b622dbd3211613a9ace904368fbe03bf796fb3ddcaa20032f230d2d8422f89ee52390692cb8200f11870930972a75403d7e5f7a18ee407cf040823e8f72670f6dce609b483aea4c60ada35cc731ffb9003d35851c37552fd5b5bc00bbd0aa42c7d79ae65f1eb5a790805b5767f589f6d6e03dbed6166b26b3e48c958cb13e7f309d727d08750c1dad71dd50d802d7c1de6740389bfec3bfad482323429d484d7b448925795133cc4609cdfc3a8130a9a1371610345ca9dbfaf966a2948ee57ff2d0768ff0d34865ab2309472afa57b30c41c0d1d03e78108cca60cdc1c48286fc4e49ebe49007aabd4e2e9adce00cb35809fb4870b05581e0321b34f07e1cf804c93c649f347219be9441db073143962267fdd16ced00401032de5008d37ef21ca9a9b759fecc559fb637540a847953139d81427709e8ea33803e572a21a1dbedef30ea9cfc9eedeb1974899cb5976e890a0f4a088e96708fffd0315ff1933d37254a9d3ae47dc2b2ee740ed62143687b239edd10bb815514f5d3d05581e03fbbcb9ed898675d639b0c88de5c44accd4f191ff0266da72f0c044e3d00c181c477a373a7a4aafc7034617412c97f4a2e1b7063cdb232f6c819776c0d5add4eee476abffff337c9bc805581e039eb14dc9ee138bbd7c65c8f9c24e708d9cc73ac50396fc748408ad8460084738d7ea4c68000003e4a7d6050d216a7ecfed4f8662bfecfa3b74173514739ba865fe545b04d34583021986e303da3e38733c49eaf9d5cab7100e65ddad8ae667a99773e1ff7547bebe59ee98e1030f800c1890e70c3cb86aa6612e2dca5f2ff9cd08466b37b2ab31f0418196c726034176be64c4a7f3f17eb1924e73099451dc7c602c31e521aa0a7d8f50407cdae7036bd4baa26e47aeb8fc8ba69d90d7fb2dd29dade9dd598dce8090f29e860c6b020362ebfd78fd17c3424e6aa30beed9ac2cd2a23987a34514993a4cf7dc36b97c9203448f15a9f7ce2347b9e54eb2a365cfc26e3e9dca698ed7b68c55fb19c5a7c1d30219ffff0346caf42251503786ababd7a42912ce43b63d6bbc3eba0157d2f7af6bd99208fe0321e4e2ac5a2d1f4c7abee0f6e4d08a8d76bab0a9502cc83ec1bc7e6bc22d7ba403a5f906d5ae98c6c59c02d34247937414f8e93ec61e53f7b2bb2c342b2eac7c8203431ffebd086fc69f064d25cdff8702a217fd0ee99a938e3c084b7df76445313d0390e5537a2f849fe53f8e29cd80c69f6aec947b580e01395d2ddfaf9073a80293030c943cc3f94a0c01d20dc25a8b1c39efcecfc8c32264427739dbd082818618dc0219ffff033e59a59cf1f15accbb6bc4af692e44adf934a2978e761cf6851c1722a0ae69b703dabf6cd87fc8ebe57044e7b9d99308067c417382c94e9d578714e7a3ae150ec503c40d7c41c129f1c87bda5300c292d503eadfd0c3168d976e524fc182970675be0377d26fc365989e1d1fca1c910f330ce52bfdb1ff72e102a8f5c230baf2dcba9103d8d9f4ca6f163cca0d7067a5d95b3957f5a010918a1f92948b816cb006acb8c10219ffff0337df586e345f932c8954641a50c8213c91fa324610632e279f30badbbef79909031f3e3eb37eca5f42074289069aca80b547078cb17dc7ffeda7e1d32c9b8cdfa603c7b1147dc282eef7b4c206f054c506a8ff4927bd678fc4eba8bf81a1ca59570003449307220da1dfbeffaefde0e9bde0b825b0c52e81b252428782ed0726b5c6bc0351a48fb78f4a04ab47b0c189fdab897013c089909e2f7b165919b425777f1fc6037cbcf31e2794a91d35640dcc8f63723b743dba8c0dc24ca649f7e6df6b156940034406137d459b1a7de3052b277bf91708ece8b8c6fb0baa57222c770f4c4488ff03237b03885eb0f627e9d3084eb52aa1d79b58b7be94d2349f9e0f99546a6fc74f037b7d23ee55d84e7d8fcc05dc0aa31dba9a9665a97ed78d87c54d996ec23a3b6a0219ffff03dad0258aa87a8a26ea46cc806016bc2351798d8668661f9a6093193acb5c74af03945ceed065d5612ba73419fbc997bf08ecb032c6474fdac688cfa28a2a41c80103f214df6a8e7e33446c61637ef201baf05475b29751f614791c9d88caa9068da003150da78f0dcda48e7498cc22a0d19d46a27bd8a1db7f1606f80ba56ede0e1d5203775e07ec8fdb18c8d48b18bf234f4f71dfeb412ebd059634abb161a517441bda03697ff2051be472cbe411b46fed59a99d72f541bbe0fbe520a4743dd261e484020385c3db4e59cc8b6e787efb374dc9913465a9e42a71fd495ff0889375354ebd540353a63c9af80786f5674df4f529a35c3ebe5942d16e4b7bcb45c773b441cbb79403cfebe4f461238e3f03fc8d417d1479ee2e23896a38a86f310f9f25a18036d24f0394023bbc2ae3fbdbfb8f2c011abec65911f7a24736be195205c118c268ec7406033e179bb6523289d19c28ccfd0cee4e1f0cdb659639db53c3aa1a7e466b15dce9039c66a3d577aaa6fd59258512d0f586a07d3b3da9cfb7d6c5c9a5ade09d7e3736035a75bce4b85456a339492d400c9bef82c2f85368a78a64e0f089a7c92899e71f03fce0dfad1154603c48dfaa7cc4c45eaf0f9061b6b7556568e8d7b94bd0adb67003c8c7b592571f3d68f27ebd03f4eb940ecb9041963798b5c4ceee8d196aae484d036c80a1b526add31b14799e88ac16b09cf9adc3ac825af89be941213cdf9e3b430351f743bde33986c3194acd51dcaaca4c890ee1d50b5c2e4d90ee405a6c15b20c03eb13518dca1df7ad1dea70835dda8d1e70498ad712e80861703bb3952cb9cf1b03994c1b496e189680bc41c11a0d572d751a149e948865f9e622bf4ee80cd1f84103bdc135a7c231abbdc2a54f11e3753ffd83ae534af6d9fa62579e90c2eaf802d903b318c117208cb1e5c4bdd94e34127bbff84d44f984ba76ec7e81f2a1a770d2c60367395b8a707894001cd805122dcd672652ae675a528d04f7cd667548b057d73c03449212037a0596b5d619529426262ebf65abb856b37c1663f46a2fa7f88aade603445e07c673882359093cd2c9d9441fe64659c7e4a270da80a4ba540252f8928e03f498a961cc3bc2f0451fa8f7b77f14f1c39940fa638735b949d646af7e7a4bee037eeb82196825e97b7f35a42c0f25921660a2c9861532c2a5400ac358ebd4df9a032bf7460e5715ebb054dbd4659c7b270cb5af019d890cf534aab898b03e9eb7e905581e033551bec3551d3c96071b3f7aae21b4f3e1a7fc3f2d1a19855fb98fc7b00c014703271c1612ac3003b4ef21cdcea117aa900c6912ab3501a3828b2fd8df8647d75b3dc0648c4dbb74045938346080604052600436106101235760003560e01c806392467776116100a0578063c137878411610064578063c137878414610488578063c6044c46146104b1578063e6bd0aa4146104da578063f23a6e6114610503578063fc0f392d146105405761016d565b806392467776146103a3578063a0b7967b146103cc578063abe3219c146103f7578063ad3ad70914610422578063bc197c811461044b5761016d565b806334f94047116100e757806334f94047146102ae57806339125215146102d75780635a953d0a14610300578063736c0d5b146103295780637df73e27146103665761016d565b806301ffc9a7146101b75780630dcd7a6c146101f4578063150b7a021461021d578063158ef93e1461025a5780632da03409146102855761016d565b3661016d57600034111561016b577f6e89d517057028190560dd200cf6bf792842861353d1173761dfa362e1c133f03334604051610162929190611c6a565b60405180910390a15b005b60003411156101b5577f6e89d517057028190560dd200cf6bf792842861353d1173761dfa362e1c133f033346000366040516101ac9493929190611cf3565b60405180910390a15b005b3480156101c357600080fd5b506101de60048036038101906101d99190611d9f565b610557565b6040516101eb9190611de7565b60405180910390f35b34801561020057600080fd5b5061021b60048036038101906102169190611ebf565b6105d1565b005b34801561022957600080fd5b50610244600480360381019061023f919061208f565b610679565b6040516102519190612121565b60405180910390f35b34801561026657600080fd5b5061026f61068d565b60405161027c9190611de7565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a7919061217a565b61069e565b005b3480156102ba57600080fd5b506102d560048036038101906102d09190612210565b61075b565b005b3480156102e357600080fd5b506102fe60048036038101906102f99190612284565b61081e565b005b34801561030c57600080fd5b5061032760048036038101906103229190612353565b6109b6565b005b34801561033557600080fd5b50610350600480360381019061034b91906123a6565b610a76565b60405161035d9190611de7565b60405180910390f35b34801561037257600080fd5b5061038d600480360381019061038891906123a6565b610a96565b60405161039a9190611de7565b60405180910390f35b3480156103af57600080fd5b506103ca60048036038101906103c591906123ff565b610aeb565b005b3480156103d857600080fd5b506103e1610ba8565b6040516103ee919061243f565b60405180910390f35b34801561040357600080fd5b5061040c610c18565b6040516104199190611de7565b60405180910390f35b34801561042e57600080fd5b50610449600480360381019061044491906124b0565b610c2b565b005b34801561045757600080fd5b50610472600480360381019061046d919061258c565b610e3d565b60405161047f9190612121565b60405180910390f35b34801561049457600080fd5b506104af60048036038101906104aa91906123ff565b610e55565b005b3480156104bd57600080fd5b506104d860048036038101906104d39190612668565b610f12565b005b3480156104e657600080fd5b5061050160048036038101906104fc9190612353565b611104565b005b34801561050f57600080fd5b5061052a600480360381019061052591906126b5565b6111c4565b6040516105379190612121565b60405180910390f35b34801561054c57600080fd5b506105556111da565b005b60007f4e2312e0000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105ca57506105c982611275565b5b9050919050565b6105da33610a96565b610619576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610610906127ac565b60405180910390fd5b60006106236112df565b888888888860405160200161063d969594939291906128af565b60405160208183030381529060405280519060200120905061066388828585898961131c565b5061066f8689896114e0565b5050505050505050565b600063150b7a0260e01b9050949350505050565b60018054906101000a900460ff1681565b6106a733610a96565b6106e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106dd906127ac565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff16633ef13367836040518263ffffffff1660e01b8152600401610724919061291b565b600060405180830381600087803b15801561073e57600080fd5b505af1158015610752573d6000803e3d6000fd5b50505050505050565b61076433610a96565b6107a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079a906127ac565b60405180910390fd5b60008490508073ffffffffffffffffffffffffffffffffffffffff1663c6a2dd248585856040518463ffffffff1660e01b81526004016107e5939291906129a8565b600060405180830381600087803b1580156107ff57600080fd5b505af1158015610813573d6000803e3d6000fd5b505050505050505050565b61082733610a96565b610866576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085d906127ac565b60405180910390fd5b6000610870611616565b89898989898960405160200161088c9796959493929190612a0a565b60405160208183030381529060405280519060200120905060006108b48a8386868a8a61131c565b905060008a73ffffffffffffffffffffffffffffffffffffffff168a8a8a6040516108e0929190612a74565b60006040518083038185875af1925050503d806000811461091d576040519150601f19603f3d011682016040523d82523d6000602084013e610922565b606091505b5050905080610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095d90612ad9565b60405180910390fd5b7f59bed9ab5d78073465dd642a9e3e76dfdb7d53bcae9d09df7d0b8f5234d5a8063383858e8e8e8e6040516109a19796959493929190612b12565b60405180910390a15050505050505050505050565b6109bf33610a96565b6109fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f5906127ac565b60405180910390fd5b60008390508073ffffffffffffffffffffffffffffffffffffffff1663159e44d784846040518363ffffffff1660e01b8152600401610a3e929190612b7c565b600060405180830381600087803b158015610a5857600080fd5b505af1158015610a6c573d6000803e3d6000fd5b5050505050505050565b60006020528060005260406000206000915054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610af433610a96565b610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a906127ac565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff16638acc01be836040518263ffffffff1660e01b8152600401610b719190611de7565b600060405180830381600087803b158015610b8b57600080fd5b505af1158015610b9f573d6000803e3d6000fd5b50505050505050565b6000806000905060005b600a811015610c045781600282600a8110610bd057610bcf612ba5565b5b01541115610bf157600281600a8110610bec57610beb612ba5565b5b015491505b8080610bfc90612c03565b915050610bb2565b50600181610c129190612c4c565b91505090565b600160009054906101000a900460ff1681565b610c3433610a96565b610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a906127ac565b60405180910390fd5b6000888890501415610cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb190612cee565b60405180910390fd5b858590508888905014610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf990612d5a565b60405180910390fd5b6101008888905010610d49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4090612dc6565b60405180910390fd5b6000610d53611653565b898989898989604051602001610d6f9796959493929190612f0a565b604051602081830303815290604052805190602001209050600160009054906101000a900460ff1615610dd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dce90612fad565b60405180910390fd5b6000610de860008386868a8a61131c565b9050610df68a8a8a8a611690565b7fe4c9047a729726b729cf4fa62c95ef9a434bbaf206a7ea0c7c77515db1584022338284604051610e2993929190612fcd565b60405180910390a150505050505050505050565b600063bc197c8160e01b905098975050505050505050565b610e5e33610a96565b610e9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e94906127ac565b60405180910390fd5b60008290508073ffffffffffffffffffffffffffffffffffffffff1663c59f9f19836040518263ffffffff1660e01b8152600401610edb9190611de7565b600060405180830381600087803b158015610ef557600080fd5b505af1158015610f09573d6000803e3d6000fd5b50505050505050565b60018054906101000a900460ff1615610f60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5790613050565b60405180910390fd5b60038282905014610fa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9d906130bc565b60405180910390fd5b60005b828290508160ff1610156110e557600073ffffffffffffffffffffffffffffffffffffffff1683838360ff16818110610fe557610fe4612ba5565b5b9050602002016020810190610ffa91906123a6565b73ffffffffffffffffffffffffffffffffffffffff161415611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890613128565b60405180910390fd5b600160008085858560ff1681811061106c5761106b612ba5565b5b905060200201602081019061108191906123a6565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806110dd90613155565b915050610fa9565b5060018060016101000a81548160ff0219169083151502179055505050565b61110d33610a96565b61114c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611143906127ac565b60405180910390fd5b60008390508073ffffffffffffffffffffffffffffffffffffffff16638972c17c84846040518363ffffffff1660e01b815260040161118c929190612b7c565b600060405180830381600087803b1580156111a657600080fd5b505af11580156111ba573d6000803e3d6000fd5b5050505050505050565b600063f23a6e6160e01b90509695505050505050565b6111e333610a96565b611222576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611219906127ac565b60405180910390fd5b60018060006101000a81548160ff0219169083151502179055507f0909e8f76a4fd3e970f2eaef56c0ee6dfaf8b87c5b8d3f56ffce78e825a911573360405161126b919061291b565b60405180910390a1565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60606040518060400160405280600581526020017f4552433230000000000000000000000000000000000000000000000000000000815250905090565b60008061136d8787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061187c565b9050600160009054906101000a900460ff161580611390575061138f88610a96565b5b6113cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c6906131cb565b60405180910390fd5b42841015611412576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140990613237565b60405180910390fd5b61141b836119bb565b61142481610a96565b611463576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145a90613128565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c9906132a3565b60405180910390fd5b809150509695505050505050565b6000808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401611512929190612b7c565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161156091906132ff565b6000604051808303816000865af19150503d806000811461159d576040519150601f19603f3d011682016040523d82523d6000602084013e6115a2565b606091505b50915091508180156115d057506000815114806115cf5750808060200190518101906115ce919061332b565b5b5b61160f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611606906133ca565b60405180910390fd5b5050505050565b60606040518060400160405280600581526020017f4554484552000000000000000000000000000000000000000000000000000000815250905090565b60606040518060400160405280600b81526020017f45544845522d4261746368000000000000000000000000000000000000000000815250905090565b60005b84849050811015611875578282828181106116b1576116b0612ba5565b5b905060200201354710156116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f190613436565b60405180910390fd5b600085858381811061170f5761170e612ba5565b5b905060200201602081019061172491906123a6565b73ffffffffffffffffffffffffffffffffffffffff1684848481811061174d5761174c612ba5565b5b9050602002013560405161176090613479565b60006040518083038185875af1925050503d806000811461179d576040519150601f19603f3d011682016040523d82523d6000602084013e6117a2565b606091505b50509050806117e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117dd906134da565b60405180910390fd5b7fc42fa155158786a1dd6ccc3a785f35845467353c3cc700e0e31a79f90e22227d3387878581811061181b5761181a612ba5565b5b905060200201602081019061183091906123a6565b86868681811061184357611842612ba5565b5b90506020020135604051611859939291906134fa565b60405180910390a150808061186d90612c03565b915050611693565b5050505050565b600060418251146118c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b99061357d565b60405180910390fd5b6000806000602085015192506040850151915060ff6041860151169050601b8160ff1610156118fb57601b816118f8919061359d565b90505b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08260001c1115611961576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195890613646565b60405180910390fd5b600186828585604051600081526020016040526040516119849493929190613675565b6020604051602081039080840390855afa1580156119a6573d6000803e3d6000fd5b50505060206040510351935050505092915050565b6119c433610a96565b611a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fa906127ac565b60405180910390fd5b6000806002600a806020026040519081016040528092919082600a8015611a3f576020028201915b815481526020019060010190808311611a2b575b5050505050905060005b600a811015611af957838282600a8110611a6657611a65612ba5565b5b60200201511415611aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa390613706565b60405180910390fd5b8183600a8110611abf57611abe612ba5565b5b60200201518282600a8110611ad757611ad6612ba5565b5b60200201511015611ae6578092505b8080611af190612c03565b915050611a49565b508082600a8110611b0d57611b0c612ba5565b5b60200201518311611b53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4a90613772565b60405180910390fd5b6127108183600a8110611b6957611b68612ba5565b5b6020020151611b789190612c4c565b831115611bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb1906137de565b60405180910390fd5b82600283600a8110611bcf57611bce612ba5565b5b0181905550505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611c0482611bd9565b9050919050565b611c1481611bf9565b82525050565b6000819050919050565b611c2d81611c1a565b82525050565b600082825260208201905092915050565b50565b6000611c54600083611c33565b9150611c5f82611c44565b600082019050919050565b6000606082019050611c7f6000830185611c0b565b611c8c6020830184611c24565b8181036040830152611c9d81611c47565b90509392505050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000611cd28385611c33565b9350611cdf838584611ca6565b611ce883611cb5565b840190509392505050565b6000606082019050611d086000830187611c0b565b611d156020830186611c24565b8181036040830152611d28818486611cc6565b905095945050505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611d7c81611d47565b8114611d8757600080fd5b50565b600081359050611d9981611d73565b92915050565b600060208284031215611db557611db4611d3d565b5b6000611dc384828501611d8a565b91505092915050565b60008115159050919050565b611de181611dcc565b82525050565b6000602082019050611dfc6000830184611dd8565b92915050565b611e0b81611bf9565b8114611e1657600080fd5b50565b600081359050611e2881611e02565b92915050565b611e3781611c1a565b8114611e4257600080fd5b50565b600081359050611e5481611e2e565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611e7f57611e7e611e5a565b5b8235905067ffffffffffffffff811115611e9c57611e9b611e5f565b5b602083019150836001820283011115611eb857611eb7611e64565b5b9250929050565b600080600080600080600060c0888a031215611ede57611edd611d3d565b5b6000611eec8a828b01611e19565b9750506020611efd8a828b01611e45565b9650506040611f0e8a828b01611e19565b9550506060611f1f8a828b01611e45565b9450506080611f308a828b01611e45565b93505060a088013567ffffffffffffffff811115611f5157611f50611d42565b5b611f5d8a828b01611e69565b925092505092959891949750929550565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611fab82611cb5565b810181811067ffffffffffffffff82111715611fca57611fc9611f73565b5b80604052505050565b6000611fdd611d33565b9050611fe98282611fa2565b919050565b600067ffffffffffffffff82111561200957612008611f73565b5b61201282611cb5565b9050602081019050919050565b600061203261202d84611fee565b611fd3565b90508281526020810184848401111561204e5761204d611f6e565b5b612059848285611ca6565b509392505050565b600082601f83011261207657612075611e5a565b5b813561208684826020860161201f565b91505092915050565b600080600080608085870312156120a9576120a8611d3d565b5b60006120b787828801611e19565b94505060206120c887828801611e19565b93505060406120d987828801611e45565b925050606085013567ffffffffffffffff8111156120fa576120f9611d42565b5b61210687828801612061565b91505092959194509250565b61211b81611d47565b82525050565b60006020820190506121366000830184612112565b92915050565b600061214782611bd9565b9050919050565b6121578161213c565b811461216257600080fd5b50565b6000813590506121748161214e565b92915050565b6000806040838503121561219157612190611d3d565b5b600061219f85828601612165565b92505060206121b085828601611e19565b9150509250929050565b60008083601f8401126121d0576121cf611e5a565b5b8235905067ffffffffffffffff8111156121ed576121ec611e5f565b5b60208301915083602082028301111561220957612208611e64565b5b9250929050565b6000806000806060858703121561222a57612229611d3d565b5b600061223887828801612165565b945050602061224987828801611e19565b935050604085013567ffffffffffffffff81111561226a57612269611d42565b5b612276878288016121ba565b925092505092959194509250565b60008060008060008060008060c0898b0312156122a4576122a3611d3d565b5b60006122b28b828c01611e19565b98505060206122c38b828c01611e45565b975050604089013567ffffffffffffffff8111156122e4576122e3611d42565b5b6122f08b828c01611e69565b965096505060606123038b828c01611e45565b94505060806123148b828c01611e45565b93505060a089013567ffffffffffffffff81111561233557612334611d42565b5b6123418b828c01611e69565b92509250509295985092959890939650565b60008060006060848603121561236c5761236b611d3d565b5b600061237a86828701612165565b935050602061238b86828701611e19565b925050604061239c86828701611e45565b9150509250925092565b6000602082840312156123bc576123bb611d3d565b5b60006123ca84828501611e19565b91505092915050565b6123dc81611dcc565b81146123e757600080fd5b50565b6000813590506123f9816123d3565b92915050565b6000806040838503121561241657612415611d3d565b5b600061242485828601611e19565b9250506020612435858286016123ea565b9150509250929050565b60006020820190506124546000830184611c24565b92915050565b60008083601f8401126124705761246f611e5a565b5b8235905067ffffffffffffffff81111561248d5761248c611e5f565b5b6020830191508360208202830111156124a9576124a8611e64565b5b9250929050565b60008060008060008060008060a0898b0312156124d0576124cf611d3d565b5b600089013567ffffffffffffffff8111156124ee576124ed611d42565b5b6124fa8b828c0161245a565b9850985050602089013567ffffffffffffffff81111561251d5761251c611d42565b5b6125298b828c016121ba565b9650965050604061253c8b828c01611e45565b945050606061254d8b828c01611e45565b935050608089013567ffffffffffffffff81111561256e5761256d611d42565b5b61257a8b828c01611e69565b92509250509295985092959890939650565b60008060008060008060008060a0898b0312156125ac576125ab611d3d565b5b60006125ba8b828c01611e19565b98505060206125cb8b828c01611e19565b975050604089013567ffffffffffffffff8111156125ec576125eb611d42565b5b6125f88b828c016121ba565b9650965050606089013567ffffffffffffffff81111561261b5761261a611d42565b5b6126278b828c016121ba565b9450945050608089013567ffffffffffffffff81111561264a57612649611d42565b5b6126568b828c01611e69565b92509250509295985092959890939650565b6000806020838503121561267f5761267e611d3d565b5b600083013567ffffffffffffffff81111561269d5761269c611d42565b5b6126a98582860161245a565b92509250509250929050565b60008060008060008060a087890312156126d2576126d1611d3d565b5b60006126e089828a01611e19565b96505060206126f189828a01611e19565b955050604061270289828a01611e45565b945050606061271389828a01611e45565b935050608087013567ffffffffffffffff81111561273457612733611d42565b5b61274089828a01611e69565b92509250509295509295509295565b600082825260208201905092915050565b7f4e6f6e2d7369676e657220696e206f6e6c795369676e6572206d6574686f6400600082015250565b6000612796601f8361274f565b91506127a182612760565b602082019050919050565b600060208201905081810360008301526127c581612789565b9050919050565b600081519050919050565b600081905092915050565b60005b838110156128005780820151818401526020810190506127e5565b8381111561280f576000848401525b50505050565b6000612820826127cc565b61282a81856127d7565b935061283a8185602086016127e2565b80840191505092915050565b60008160601b9050919050565b600061285e82612846565b9050919050565b600061287082612853565b9050919050565b61288861288382611bf9565b612865565b82525050565b6000819050919050565b6128a96128a482611c1a565b61288e565b82525050565b60006128bb8289612815565b91506128c78288612877565b6014820191506128d78287612898565b6020820191506128e78286612877565b6014820191506128f78285612898565b6020820191506129078284612898565b602082019150819050979650505050505050565b60006020820190506129306000830184611c0b565b92915050565b600082825260208201905092915050565b600080fd5b60006129588385612936565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561298b5761298a612947565b5b60208302925061299c838584611ca6565b82840190509392505050565b60006040820190506129bd6000830186611c0b565b81810360208301526129d081848661294c565b9050949350505050565b600081905092915050565b60006129f183856129da565b93506129fe838584611ca6565b82840190509392505050565b6000612a16828a612815565b9150612a228289612877565b601482019150612a328288612898565b602082019150612a438286886129e5565b9150612a4f8285612898565b602082019150612a5f8284612898565b60208201915081905098975050505050505050565b6000612a818284866129e5565b91508190509392505050565b7f43616c6c20657865637574696f6e206661696c65640000000000000000000000600082015250565b6000612ac360158361274f565b9150612ace82612a8d565b602082019050919050565b60006020820190508181036000830152612af281612ab6565b9050919050565b6000819050919050565b612b0c81612af9565b82525050565b600060c082019050612b27600083018a611c0b565b612b346020830189611c0b565b612b416040830188612b03565b612b4e6060830187611c0b565b612b5b6080830186611c24565b81810360a0830152612b6e818486611cc6565b905098975050505050505050565b6000604082019050612b916000830185611c0b565b612b9e6020830184611c24565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c0e82611c1a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612c4157612c40612bd4565b5b600182019050919050565b6000612c5782611c1a565b9150612c6283611c1a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612c9757612c96612bd4565b5b828201905092915050565b7f4e6f7420656e6f75676820726563697069656e74730000000000000000000000600082015250565b6000612cd860158361274f565b9150612ce382612ca2565b602082019050919050565b60006020820190508181036000830152612d0781612ccb565b9050919050565b7f556e657175616c20726563697069656e747320616e642076616c756573000000600082015250565b6000612d44601d8361274f565b9150612d4f82612d0e565b602082019050919050565b60006020820190508181036000830152612d7381612d37565b9050919050565b7f546f6f206d616e7920726563697069656e74732c206d61782032353500000000600082015250565b6000612db0601c8361274f565b9150612dbb82612d7a565b602082019050919050565b60006020820190508181036000830152612ddf81612da3565b9050919050565b600081905092915050565b6000819050919050565b612e0481611bf9565b82525050565b6000612e168383612dfb565b60208301905092915050565b6000612e316020840184611e19565b905092915050565b6000602082019050919050565b6000612e528385612de6565b9350612e5d82612df1565b8060005b85811015612e9657612e738284612e22565b612e7d8882612e0a565b9750612e8883612e39565b925050600181019050612e61565b5085925050509392505050565b600081905092915050565b6000612eba8385612ea3565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115612eed57612eec612947565b5b602083029250612efe838584611ca6565b82840190509392505050565b6000612f16828a612815565b9150612f2382888a612e46565b9150612f30828688612eae565b9150612f3c8285612898565b602082019150612f4c8284612898565b60208201915081905098975050505050505050565b7f426174636820696e2073616665206d6f64650000000000000000000000000000600082015250565b6000612f9760128361274f565b9150612fa282612f61565b602082019050919050565b60006020820190508181036000830152612fc681612f8a565b9050919050565b6000606082019050612fe26000830186611c0b565b612fef6020830185611c0b565b612ffc6040830184612b03565b949350505050565b7f436f6e747261637420616c726561647920696e697469616c697a656400000000600082015250565b600061303a601c8361274f565b915061304582613004565b602082019050919050565b600060208201905081810360008301526130698161302d565b9050919050565b7f496e76616c6964206e756d626572206f66207369676e65727300000000000000600082015250565b60006130a660198361274f565b91506130b182613070565b602082019050919050565b600060208201905081810360008301526130d581613099565b9050919050565b7f496e76616c6964207369676e6572000000000000000000000000000000000000600082015250565b6000613112600e8361274f565b915061311d826130dc565b602082019050919050565b6000602082019050818103600083015261314181613105565b9050919050565b600060ff82169050919050565b600061316082613148565b915060ff82141561317457613173612bd4565b5b600182019050919050565b7f45787465726e616c207472616e7366657220696e2073616665206d6f64650000600082015250565b60006131b5601e8361274f565b91506131c08261317f565b602082019050919050565b600060208201905081810360008301526131e4816131a8565b9050919050565b7f5472616e73616374696f6e206578706972656400000000000000000000000000600082015250565b600061322160138361274f565b915061322c826131eb565b602082019050919050565b6000602082019050818103600083015261325081613214565b9050919050565b7f5369676e6572732063616e6e6f7420626520657175616c000000000000000000600082015250565b600061328d60178361274f565b915061329882613257565b602082019050919050565b600060208201905081810360008301526132bc81613280565b9050919050565b600081519050919050565b60006132d9826132c3565b6132e381856129da565b93506132f38185602086016127e2565b80840191505092915050565b600061330b82846132ce565b915081905092915050565b600081519050613325816123d3565b92915050565b60006020828403121561334157613340611d3d565b5b600061334f84828501613316565b91505092915050565b7f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260008201527f616e73666572206661696c656400000000000000000000000000000000000000602082015250565b60006133b4602d8361274f565b91506133bf82613358565b604082019050919050565b600060208201905081810360008301526133e3816133a7565b9050919050565b7f496e73756666696369656e742066756e64730000000000000000000000000000600082015250565b600061342060128361274f565b915061342b826133ea565b602082019050919050565b6000602082019050818103600083015261344f81613413565b9050919050565b60006134636000836129da565b915061346e82611c44565b600082019050919050565b600061348482613456565b9150819050919050565b7f43616c6c206661696c6564000000000000000000000000000000000000000000600082015250565b60006134c4600b8361274f565b91506134cf8261348e565b602082019050919050565b600060208201905081810360008301526134f3816134b7565b9050919050565b600060608201905061350f6000830186611c0b565b61351c6020830185611c0b565b6135296040830184611c24565b949350505050565b7f496e76616c6964207369676e6174757265202d2077726f6e67206c656e677468600082015250565b600061356760208361274f565b915061357282613531565b602082019050919050565b600060208201905081810360008301526135968161355a565b9050919050565b60006135a882613148565b91506135b383613148565b92508260ff038211156135c9576135c8612bd4565b5b828201905092915050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061363060228361274f565b915061363b826135d4565b604082019050919050565b6000602082019050818103600083015261365f81613623565b9050919050565b61366f81613148565b82525050565b600060808201905061368a6000830187612b03565b6136976020830186613666565b6136a46040830185612b03565b6136b16060830184612b03565b95945050505050565b7f53657175656e636520494420616c726561647920757365640000000000000000600082015250565b60006136f060188361274f565b91506136fb826136ba565b602082019050919050565b6000602082019050818103600083015261371f816136e3565b9050919050565b7f53657175656e63652049442062656c6f772077696e646f770000000000000000600082015250565b600061375c60188361274f565b915061376782613726565b602082019050919050565b6000602082019050818103600083015261378b8161374f565b9050919050565b7f53657175656e63652049442061626f7665206d6178696d756d00000000000000600082015250565b60006137c860198361274f565b91506137d382613792565b602082019050919050565b600060208201905081810360008301526137f7816137bb565b905091905056fea2646970667358221220178603fdb348c356f71796769d40c84f783182ebdc2185f66f6cef39bb6b4c9464736f6c634300080a0033005821032e4b243a9d27155f1098c28d9bb6f0a8f774548c3508bb301a1f2c674c19b91041010058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6042010000582103ee196508b5dc15202b84beda0e3edd13f94b45631d96d32a86a6a32339696c104101005821039f2917114c31099d1b9a39b6b9cd595edd75c391110acf48f0eacdc9ca4ca22041010219588005581e037c6f1d201ee2bc4d23b2eddf43c87406252da7e6da95b4bd1ed53b7290070119383405581e03c98cb02eeca3793d4ae9c03a81c3dea6de85abb2ce8a4ca2a1c9598ba00c0147012353a721f90e05581e0347b2ae48781a930d402596b57adf61ea9c86371c00567e52a4286dfc00040303e68dc96a233a5d68bf9bf3dd0f898f313b07120079e6194099e2a642c487be5d030859eaafcbc6d873f6d9b9d35a762360a9e22068fe488e2aef3d0d06917ba68c05581e03397d5c7083888716cfe50b32e20af96509d3e73b1761256428a0e8a0500c014501da753ede021949da0219ffff03b7c9423292fc923f70dca7be3345ccab4ba6acde83cc08da4e05bb7a8234bcc603fe39373a25a29886ac524cd128c463c1ade3ac0101adcfd7337649e0a1fb8247037f141705b3e440a96ad5d807205df78975e9c49abac639fc21a47b2e7bfac9bc03fbb2ca01ecd1bf6e0067d185cbb8a4828e0a3a1cad8d37416b86167dd1dd34b603b6c6b4c353cc767b6b6cdd3ce92aa0249fac3e4a59e36984ba787f5f6af2865103d2188226afce653880ba76791127a627db6f978f1408260518e65a375a33def10219ffff034fe447b8a96be780df19567b54abe58072222f8f55126b5cac743582aca91ab403512828c69255128d09697daf9dd66a62779781cf3b0cf32263c26d31a388f39a038eaa5beb6f38e3bbed7b3922d340f8ca17c87bfbbd6beb1c10797f90ae47455303b5a2dffd45484f31f9d273e05f2e763663688740544546b70e87a339a60d9de4036f406cd73282af4974e33b9b224787a65b0b00a5d1643a3e277902afc35a9f960315d3db6ec2ced47f08de990a7582d5c86e6c0a618d00fa1e25295a567ff6c5a303dc8c36a31db65b8b84a5241c32017455922fc1ec34101dfa46e8eaab605af31403bd9877a29be24639e18b5dc46e09f07b6170bd57aaf7585f9bf6da7b7ee171dc032fafae565cce99609408eb00b267e740a0db2cd25802ce3dfacdf1d3c51b92000355ff1a9e45b5a7cce712d3115b7dcfa05c400704bfdf6a4037c989638c43986303e4f2fda356ac8e503db237fdf79258eb72d04c30615bfed441c239a383dc731e03915ceec4310b5b3f77ae9ade4852649229d71ee51a5a2f2995345f3f23bf89b20345a566e82e9188349967d010548331b7c8eebee1391523f60e6e44d084fb9f7603dc156edb5f631c2f50b0ac7bf1c86793f02b6ecd5b2c37604a2c2ca00452db1e035bbac5e6c44ad550453b5fc4502c83baec0eab4371415c7bdcf01971b861d2ee0219ffff033854c3e40c88ed2a796c8c7f137abfac2e3f354bb273da393c00711befed79ba03648b44034606ed836c37829ba9de488e0b818595dfe9fb19e5c75b9bc7508788036ef96f492ccb8eba972aeab559c84481869a315691caaccc764e91c6da21efed03f83021ea3e135f5e48be580780a6feb98c55b84bca2679e0c2ee95075453a86703d80bb807defbadb9aa84762db1ab216b704d322f289c8134b1a79add8f38b02703f56ccf56625b6d9f6969f1cc0c0d4d0e2935d1004b956cd08a25995132bcf31f0347ac5ca5767aff963e718f4dea3ee42cfb270868c245e99966eb1c260e6174850336090ad793e4bd7cac9c687c68e0b110b48a881901eea1b2f7021918ddb0af1f03958458c3eb1569119dd884bdcd5b53a542df2e1ad9256554083d695c1cf62cee03136514423e78b03a1f45e9b79c97f311c8dca2dc7f2872e4dcdfc2a5d5f8f6bd0398d1be65d05048e680ce97e0102f0089e58cf8e6a08c165de30c67bc7afe6baa032eefecbc2cb9c09822c494b5a3af7f1effb2f212c26b4590e30db8990594cbf303351f371d8760106a0d3b789394057c592d6bb4e2806f319f29b4c200a7bb26e603a1ec67a344e8c5a7e41017763a2e75c687e7f470dc4d692dfc841aae54ac21350335f5a27730378d8d8c0187f58ac6a4fea5094fc08a7fe2713cbf0b399de0380305581e03d9a772a36e08bc4e0314daa98f5b711c1a76cb8ab76e9ad591ee0d71f00408030b354dd0630734938ad33f27aa60cfd877837a5511981ac85921b8f832f9d18205581e036952c5c97e2b0dc303295d74e56c5e01db68b2885f037ff46af08123f00c0546d3826963ea880332db330c34fd06862f74601d43e652da619bb2b56c8c3d886ae29369464ed1a301410f05581e03d5965e769fbb12d7b9025c693465521d2382ce46df7df49df1bf64b5b00c014602b829e34c00037d5d39345915e5e222b576c91f79ddbe78f78cd0d8eeff1ab4741990ab460e1a03f0b332bc44312957c41e1c20a16725fe869fe75441fd6ffd6bd0e13f2703d1ea0388f6c90814631203ebcd879b9b2a01f894d317d77528d0a411dcdc9664a288fb05581e039d5514ba8b2fc867e83f5cf854e3073a1523967c90d8a6dbd48a9b450007011bffffffffffffffff03b7e5c27a2dbf866578006e08397cba291ee535c13bae7c15c185b4704485ee0a05581d0257bd7d66c92ac23acac0585c2b126359cbc45af3d83e0547d9d551160c02475160b83e4c76b505581d02f213183e1e80890f2b1f0a18f193d88a5626f2811c21128cfe579989040105581d02cdbdecf6d5343e913bbed2ccf5b4191ab683b58fcd095c0104ac4b4a0c0347011bcbe660a8a005581d02dd30a3cf2adcb20ebb5a4ec99b892f85bee5208e81fbd8c891c94ee10c024709c23efa3c5cfb0219241405581e0357bdd989823438515cd899cb4f0c52c02182eb5ab849b0f804afe7e0c00c02460e176f9800000219b3d60380352af427f8f7ee72f5a45abb51818212e3763e1da13a0a52993626a19fb43003504defff9d36dee7cc2b6270c5a950a2870b5f5a24401bd10b0ca920e610db050333b99a204f28541603e24a5ad1c8cb44ad657a335116cfdb1d4e0469279fa8c4037af6318f16a3dd4d89dfd36b27e080b90aaf631a6443e3620d7e56e924c0943103f2e882011beba9a6615cf535e0de61e2d3d7e1eac58516ebaeeb28d68933f106036d9d5afaf0576cee7e531df96efa32503aa97927918ae42377b477c2437c7a7e03f6aefa9ea833a8a899cb009875770991cc8e87ed4c4f33b0b4546c24d77a38940320d629bf89581eb4175b59eef504a8eff26f1735c4c807ba8835aaad8c18a2190374871133bb4e8c8f111ae3a41efc91c55c4bd9b3cc72d83be36e8b2470ae05930377b3f16cb83da7618757f4a7d28dfe36a85da00f57019c6a36838788850fa960037bd1e9748430ff91b5c594bb6164ec321a0bd9d8a44168467492d6d54e8dd65f039666e4b2bf14d29d385957453e5e9339089d9888f25dabbdebadc1562e8e040303bb929999ca6449570e0cc313b5848e2b75ddc77f745dcb86232440007ffc86ff0385470d09eeba3d6fe1c3113cf6b920517000a9823394725d6347ab314016651f03beba9b909c806947bfa2fa10a0617f55c786247dc6dd201e1099ad2f92d5fd430219ffff03509dfd0a120dab8a8b2042fefb974d2f5500513ce09599cfee4d307d5582996c032e22dcedfde80a39a1d0d48ea776b775c8ee7a1f8963f9138199eed4bf5eaee50390ab3e9a22a17fed937a7931b72ac82104ed91017c5f0c5d61b760c0eccb3e5303f1a4dc570a66ffe07c23a3aa84605a4a6f644990057f9521786b86861ad5ea3e0365f32652581fb1743cfaa9d016e111927cb0c1500700612b204335da4e10795e031821b5826150ad0bb799132ed06fcde3716ce0eae86e1191e1fec3c7a52969010383f0e56842b3ee79e2f72302eb0e01b6174fafc6f2c8ba577d2cb0e0fb07076803253970c92e02f87505f6773c4b374d1daaca64831b4df9049e5dad2e52849ac203f9c0460336104b63d03691725a22511f53ee7051f13e36e5a182bd7c9fdb29b203853fe6416bc04508bbd1f206ccc468be011f6ff66d24f6687bb2af2aa202d1c303a0f5fca8b8a316775c085b55eba72f4f2e9cc54de1d9e6b8d1c8286c8cf184ac0219ffff0377d9f3b1a079cf9a9c8f0974d6f95477b0e4ada757f210a56850111aacc0bee103c7dd91ba260fe296e53540a2d33655a1b697342267171d41e19c6bd2984fa530035b9fb11eef5204dd20eb9ac385036e3f4940315ea0c04d776161170762ae81ae03712369adf0e27b70ae20b158085a3c0313ba11abd0e2f02fb9bdf8477c838c89038852550378ba31a2491697fd12adf46e1c86c389627d0b069b20431f704bb2d7039927679bfdd8351a732a812030aae5721f563a686bb5e63fb6e499efbc7f16320318968fa89f75728e9245f63a82b6dc083ad2c9fc8adf5f6f8f41db4a343b615b03f6b2f58c0f8ba3c48277d44fa2af67fd5be17ec3eb6b53e1fd0e9862f39fdb990358cb82925c7a7abeaffa546e9b434576075e11351561a65ea3a4e7165f9de895033e82fee3612ab09494099e727d2c07489e45d10a0a82ebc77f29b1070cb217390342c3cd02c783514c878650b77b0e21938fa3044d541ebc8d43f2e062f84cf3a503607c1cc3b26a5e6bd87d8588508e2f9909bd04a3de3c2acd012dcf5680a5cf66037d54f7e33cf22cc87e8388e3f5913f8d7c577b588c46aca51bb9858a8823bd8a0326f191aee69af9ccedf519f877df9627372eaf1831b594f0f004092a3ea3d11a03f764885d39ccaeca81e820f3b095519cfcd233be8ea0609343a54829fc242a1a0219ffff03335f1db39115083dc0d84bea9e4251ec067c111a050f57a5b036236c8bfc233c0219ffff0323183f419b6b42954a83cb512d06626a18f0c8f1891db202839316b5e72cf45b030e9d0fbe45b7df07afec37ed786c594abc8a2ebcc7d1de94ee9b38460523e32703966bfb263e3a107867aa9263f9a2f7896135cff0dded6dcdaff05b4dd41f824a03d7e90b9ba20b3ef54bc3e2ba0bec1ab0fd8c44a92a8c6e5878d7f089c39d2dd603dc8e0e63e4ba8db52ef19be4118ae3b5d79edcdf07cbbd576890b17b337669f8033ab9747a647cf1cb1791dde3e76e061e9b75aa5c2bdc4b0b8813f0c531b7caaa03349dcc1b679733d14b3866d94534866117ef730c83ef8ee901aee5935597b451032e0a2a64b86af2d8ee3305b8a3faed1d1b50492a3260b7be0a5d8d7d54167ce503da7df3bb43c049a511d43aea819a897e238b85e88414b38c826cffaba482c0b403e273d6cfa3970a50d3275fc0696a5a73545e331de99840a867d5917790bc9629034b36c4c59893d9cf72256e5ab043a8306701c9cbf68e5a87077c08d891e0f086033e2ae15793095709448ce99147506624c8741dcc0bda7d5087e118c0801ed1c00361c4796dc0cbc42178818bbe198f3b8d3d6af7d86bd0401a524f444da33acd0603a42fb62ae3e077d7e429f5e91516d62966f36d538fd52ff0316b28b49a014a0303200f75308df2e79456624d00edd17e898ce838c3633646335966834f15ab7a27030b63a3cc61e9a7eec5e193dfc6345cfb0566eb9c2748a6a7597e35337eee54d603141babe44832e00c5529393ac7d68db6445a2d9955bb68d15476724c50a3e11005581e03cca80699a7953aa1fe46b43a46e7ad77ff0f6efdc5fe15ab81ed5b3680040205581e03d889b98824d42e3cc2810d4857c7da973afd65d530593c44dbaf32b6d00c0146a2ccaf6a300003ba7d66ee1c41956bd4e023e968312dafc13b3370aa8544f5f5b47ade8dcb89c603abce5a4ac315b9f2068549938568f007018dc7fef293ebab6cb4f4a5931cf29a03be993f55ff1355cf430ea346f1dbf702587921351001a9c5a8274970b6d02fbc05581e031a171e03d122a1b84976252fd81a45b37d0c5ae1260bed8f696d2065c00c0547059d006abec00005581e035993aa12d70dd2e6cedcc8c9cde8cc6c4b4e1dea189f77394f6b14199004010312cd6863653999b13c1c86eb01d40f0d2d3fa79874e8c432448610c87ae4af45030b95af39e8aaa900efc4a5cb2c826930b92f383c18d909be32a6a11365e358df05581d02958b18279209fe67171755576da28322f7ffdef5c7b3bc30df1e895b07011bffffffffffffffff05581d022f5b2e6f650ac101a9e23f6340ddd9f04a287c1691e5d303f5a69bc3084751b660cdd5800005581d0220fd62e4b58d69d3bfba83dbad10c5c712a6564700ab152c45d66331040305581d02bd09e4e79897b140eb80b07c56332665db141e64fd013177962ca65f0c1a00018c5d490906b447cdac45a7700219260105581e038289a5b1fcd77f5b21bd78e305aa5bd61f0821ecad65585cc8a7bf4f000c03470156848bf840c80374dca646708867f3bc110973edbc002bb3a28408435d3f13c46671da0120e57f02195eba034c435c5fa04b7530ed7ee1dac56da865f36bf96d9882fb18adf1c1a5630923060346224e02499f36b719a9c801b802abe795a485d7b6f2d2c99763971ac648e0280301fcddc209fe54fd1210278e587feea94e4fb3daca7523c2713a8ea76a9750db0219ffff0391dc529c7df2296b15640f59869d3c6390b11fdb89987173180dfce1b88609d003d6ef442d56bbe1c39ce5324c1f237a7d9cc7516441a7e22d26952444ee6bd0990323f83b529c3f68f5945bd0ada73e43ceea377d12543fe67c30a7806d08ea27bf039809c4fd4ec18d428fbbeac0004ed3886e74112189c38209a64a75b4385a5ede03d7e457f87d6cd3e8627c491695c4a0a3f1d18843fa32137483c4af58bdf1ef5203f903c5e5bcfac08d43e5be09c0f101fb726854a098291011e65323791bf89bb10327a0185528759d5d19576a51d3a924ece09cb18d60922d9ebeb95011b36c528d033a491acae41c4fdb98267fa464a92c8285848def104d6ef7d01bfbbdca51a3530327bceeefdb806b0ec421aca9103f042e54d0d97fa8e65e02c7e29220dc31878903341ced57fc9c21cb6ea474056e501cdf87606299f1d92bfcd2670a29c0b627cb0397d06c4191c82f2d12c9ac88f1397f2d8a64893ced544e4ad9f7109c85c2042103e00558578f8197bbce7475626ea2c0b79bb6c20fc08378915ce1ad1f2fe760e0039bacc75a4c5c17c38611dedc25cbd733ffe62f3bb759c68bb3e36d066efe5a460219ffff0351182e505223a904f2a600bdf175e8a6b8576a16c1cf1aa688af44208a9394fa03362f8a89f7bdcd220a28ea74d31b45d10aa85c14b7de685a1cc4af8d630fc36603faa4e69aac840cce5b6651913b6316a33ae3da607dfa174b54ba6299e883f44903a2c161c448c31535239cbb049f379967ec10f03a1c882b8390288d7dddbe023603f533a793c3e6ce864616fe93fb1579d834de8ec66c3e2d91b4a695d4cba9b5ae030043c2779c2b9f16b35db18d07d98a2a6cc4ba67e8d757803681b3d0de5f7cb1031ad7c9b7e8211a071ec8d1817756507e66f09b36856d2ebda148f465000232e103d2fa2d3ccc3bdc63d1cab49da0368b8a8a2a4d5ea2ef7d74b1d30de92802e50c0352bdb90a94d01e88cf5354a16b1add9aed021932133641cd341ee055d5a65bd203bb6b8731cb27c928f02810b1e221feb0ea67f0ce0c29050e826230f7dceda2c603bae8b4a68996e750bb2b4f26f53e87580752351b63de74c634de09150f976ada03152a92b3d6c5526399caebb4198f7892122560598bf40a2abda75202d49b76520219ffff03a47a0f6450c02cbecfc7134ca63c379667b301efb50088b6747cdef523c2c91c0365936666ac6c9177fe8d36dbe29f8268950ff6d139920dbeb549d1cbdb4c14450347de1eb9c182f0e09da6c33a75d8c2a5c71ed87af5bdfd37698dd6088e20754c034a4898876065271c714f8e3d23ab98330266496cde96e54b7215fbf0cda06aa4039fd9e6e1c4d7a81acbfbf9c39190fb4207dedff277a11de1986cce9e427b64ec03cc6a0e458d66be83b49710026ba6cfd632025334406f97e9f760f342f8ef466e03734f428728dd754867f49136ca0dd552a8e78423b98663c37f551f6d7f8b35b9039b324c32af40b463a0432843f8724b813b0c9f3b4872816b7fe4de61a08f506803af6b7e650baceac87e550448e7941799bf1f1932194378d276d8738e1909c8ca03d3d4787d71ee5e809c67ddcfb1b514e9f00ed8351cf4a34add5f05fbd8677f410372d76d181079f1d83e172bba0ba0d007688830b6d0c0cc71bec9e95221df3a1a036e3beffe135568c5492a12a27ac8baf56aa05ed660f3ef4b56a155ed096268bb03b96a133013a63b83e9f6634132fe90cff176166fe6403bfbb2745b8acf60a9ab0388f08bf06723cc8db7f4ad6473b08db6c99a78530c1da9398beb6728fad0973f03316f3371f005acfa801663e6b92219b41bc52dbbabe626b34c2b9b3bbd1a622403db42597d0c1ae7bca8c268496721938943f2e99930008baf84326d42d1925a350328a4d10e7ef98dcc0a6b58ccb11d82d5a6dffd9bb779132fc787c49e99ef74820363a23f732d0d26ae485541b2229f9d9264a25c6c53650d5e58c747e04fdcb1ce0323e90cef95210d35173c6052d28ddf6d45088e0f0d299a8c7d54e17905b1bd3c03b1cd12535adf5e347463d234eb77a0ee265f1ccf87a2d929a3856435c341654b03b9a7c34dbf5eea4ef10cbb6766de81410902ea8d80e40dd38e081d4f1fd5e2b103cea050606be186ee26885edfb73d73678c8cea5a476163bc93260b61177aa36b0300a275dab4bc4f4f856e244e007fab38e84c8d32bd6fd6e889441834debd74ea03b32c58ff716d9ecbeaec5ab5a8662df09c8c6a8f504a813a507bf947c7cae1c103813bbf1fb59a11308a8f72abb54eafa25b40249fba4eb804128b1e690fd5e36f03ea385f693443d772c8914d84ebf8f59eb1742e11a041c474f41ad7b937de44bc036bb80966dd2bde32dd7c1d6e7f341dc27b074ca891a7706f5c86845cbfde5241032cca30cbc60f74d3235c973b37137ca2a344abcef2ae14bb9e64ccbe9e8bde03034b4a3367dacdc71f536b4ece8f5b414e5abd84b2a730c438d2fdf21adccd07a903ac5b69843a2d52a55eef9c8dafd44f82e57ed014cdbeb36e81e7ecb1ef10945103163fe3569718a8a06950fce66c24ff9ebb27cc935ae46bfe11d6b1e39ea176f303ab2a088ca7c1b919d0eaf4ebc4b60a6c9984922cb0af6b666b89c3159f4d82a20355203d66645a7eea1be96b5d0fbad59da5af2808ba1576c1cb8e9e34d01326f503f5523d116569f9e0b0ea731892e9895aad6cba93a6b43331cc3f098b301085cc039db6c6da3fad09e9b67393b57d90d2ed43d2548260cb060c7eed9691580bb95f03ece80ca2a9dbbb5f42f11a16afa6e49c155a602ca3e3991a30ce6bd27d1b023a0337f906efa917cf7ced493af0833c2de888e791ff0fda102670c18863dd47799503014ba27d20cf94de5226f43bbd99a92c3c4795a543ad59e6d6074ab318078d04038fd1b0de203bea35524504e0afc5a728ecbf11c5ece161a595fbd17c3130233005581e030023db1a19996f11ac8f7cfb1e4c031568a2eebcf6d4f801ed97f161100c014707c13a961c605805581d02dd7e3f5a4dec5e8f6412fab075fb3bd6184b8cd181bcd1672f94dfe80c034724f53c96fe8c4a05581d023fa2596c9157ba93ea652d30a62365bba6276b4dd6c3a50b8a3550b80c19013d477fd11c8589b9ff0218c005581e03bcbb476649f27bebf5e9524259aa1266e7d8f0fd22b998205d7686f9b00c1902d54767f9b0cf66eb4705581e0332aab72668602756cd9563fe4e5d4853668b177a113ccc8dfde65a2cf00c0847017fd653a0458205581e03ae8599661ba0fbbf36747a3fc6de80c8339bb5cbf7e7731cfcac30e450040103492907cf6531e1ea51969300a9c905c829ca7f17bfbe5d7afc10e1edaaed3a69033723e22891c12b78bf6d327d749578a4dadd833875f16dc35b19eba0f170e4a303337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03e9baece0471a9fe966a8468362e2baf26f481bdceeef8951916ebb4f35afd39f05581e030431f95fcc79461dee8ed91b9011d32eeec0abbe25279be593a9868c6007011bffffffffffffffff05581e032b64ebf1a76bfc72aefd4d118401571ddfe0ab2c36ab3ebb6a0e0de1000c02476256a27be2a55005581e03d1e1b015481ae8c76743ba0c28a222ada610250b2ee79182e9386ad2400c024705bb05e8d7d278037940c5f9dd9b8732f22ba557a6a8d1be6058914543eea2e4a1e935b0c3415e0403b429028355d2a4404bfe53f694fc33b1926a8a05c79f1f9d13ea990e348d6de805581e0395a4ba42c758b3c7714d6a4439a5acac1dcae5b82b457c66aed2fb4d5007011bffffffffffffffff05581e03dd96cfadd3ab3d2d7a8f2b8a9f6a136f55b81108358b419ec797dacdd00c0447011a16b2e7953b0219ff370219ffff0368aac66507e5f0bf56e8cb926fd1fba04475a94c306400898bdcd740b1645a730219ffff03fc9b8fc800d8c72143cac7feecc0476c5d41a5c01a3a79a94130c00520b070a20390e9ed99862ba5b45b0091456666e7c554db9d5398b94c5bd39aa61d8967582b03b208b1ce0c6a468e61862d7f77e46df9f7fef19a18b06f2befaa2dcac1c61cec03a717e695ab3eae00882b5091c28ed23b93563adae68a4dfdd5a792dcc9fe47f103d0dee986c6467aa1e9e294a4fb94804d94477511635a716de10f9298307b0d2103654c6a433cbd9326b8fbbc6e9730e3a25e515818a72d728c619359c6b64ef8fc0398a772ca2547f45787a49c68aae27ad97bf2ec7b44d1a431d6b56df1cd4aae5803092632995f4644c6dce5221e8bf47b6eb42ed19c870af8c2dc9cfb69921cd359038c77f4d0ff2c61991ffdd8e01d5208df1ff18f872da8af8d3af02267e3cd2d0e0219ffff039e5200d751ba9d1f52709d4aaef84a7f7409ceff5ceeec239b77cfc0f417435303cb7b6e402d19ed0489b1c21fe29e414dad9fac5f89b01ace9b41bbb5d58858e503a35ea55ce9217e7748ff50936f2bfa510dcb2ff7ba0be211a99165d4da413a4703a58d0352922b26086336ac861d72b14909835956fc35073ad429c111d9d9e69003a4d027cfcd19d5ad4e449320b67b3b082e2989f9cecbb1441ecbd2a955cf553403f23aa58d9e02d713681573edf1d116186e555805a2d13bbf9fdfa7f5b2e27c18038bd53ac1be9fc3403c4957eac3ac8254f33b8328a496fdfe9d66ef3fdf90a1fc03e350c793d25b4e78f615b9b1de017cd6d344f164df89e4408a2c168eb1822de103dcdb62bd1767198711936bce6ee3a040711f54351c0d99c7efbfa6c75510304403e1e54347f25918e74b82280bf71959116f4da2992b3e0c448e4766352a23f07e0354a26eb28f8cafc67adfeb2443a65261801643b650621beba805a61be09969780219ffff039dd72a0d6795acce09234679d366ce9fa205da82e8f484f96f0274ba2a580b3a033b9194a4047adca9340a2dc25e43c8b7752ec5c4b7afef91a9caeec03dd69b45030a7fe29c5fbaacd1885e6cb208b2335d29146c2c80bc17b58ceaee7385a052660302216ee5925837a256f0712758186ccae0dc40147c2e593265a419597a253ab303436e1af61bc593904b1dc68547af66c4d1bb11c15930d2e53fb871c7eece81060391a6470fc14cde5deecb6e4366398ba8364c09a816e86fe91fcce270850fcb270393d4e95d85f039f2d96da00cf23124916fc2b2505f7b5775fe431dd09438f6fc03a7986129dc32061b07129d7a68b6657ce576b16bed6cdc370e0c1a4d27ae0fc103b4924926d0fff5e5aaa2c1b3356766dfbb3b3f436eeab29a34907ace3a02f8b60303a6930e4f2ab52f5094bd41bde734635af80b787b7550f518aba8b5aa05f3530386fa4901e5ca7e8c24bb7a4d16a3103a4d25ce8515061053b48c930c2ed47572039304f27cf2ce737d769807c5e98f3891bb64308fafcf63c49deb00bed1de9a0003c51d59ac54a69ccd0951f5004bd46dada85badfac59a7a46807c01e448d5a2d803a24237aef35d28b94745ffa4d0ae7195b6ada27a8df89eb23b9f5fcb37d2d995035a4bef5881e4128850a2a1bf08e3df9ae2f43cc756f801a2e8840179fa841fe503c086376f28f96f5879b88f58f4d52add6a364f20a493539612018064326ba478037bb5d0f1040e9a5a25d895156959695fa1ff35cc1dfe6da9ba0fd004fb9ef0c603bff50d9c1a4d167f65568b2c4c03011b33480c5cf1ace6dfca938d3c388daf6703af6df2e9eb3dcf30732365a901e0230b429b8bf114881aefddc85857c8f6d66403bc31d080d6d37b7e736b1cb7cf51d0854e40bdf8f4f068ebc3a8838327247cf0036a31aeea3bf416581365e3b4327bedee8e30ae2a50eb38ffb40039426746f440033a3cd1db0c06fdbeed65739f0ecab67141a04ff7183ca713a98a2d0c124ce539031a014a1a29faae74d8cf7778abcf45369f4ad59ad6de17796f148332f251663d0359bdcdfc7c66526585dfa614e5101a7176cbcbf49b40aae28ea62688d113e62d034d126ddd15a29a98915cc5db662e1f2ac6d6dc94fc6c8e3c48a201dd664f4d810305feb4cbb9c5109b9d623ba41ffb4f67c922f166fa2ece6065af717c581d97b003918288ca138733d12d615b402edd6a7becf19e0760ee95e9421400c55cd0dedd03840c70bb48aa70378e1ee53135f9dce11e0b5ade264a873bd560ce3c724396740391852c1a92042f7ca297dbb18f8ecdeec463758ab8c730aed083559683bb4127037bd2980b2fa301ad9ecdd455c43bfae34e77a0ce64b382e21071d22188ee11a805581e0330cf8ab9338e447b93f1fe54655f1fad6c79276398816f44c63d6fc0f00c02460b58e380783805581e03ad1fdfc083a4b8f05d37327b24756c541339dd18967d474a99934505b0040105581e03663b734a510398458ced2820f5b04726f6184b4368163708ba4d66bf800c0246015aeaebb400032c92d181755232b754b1d81a26390157390294b7a2cb0e2c5d3b4fac0a67c85f05581e03eb6353469262146236fab3c5dfad73926e2df281ceb73a7540ca99ff500c014504a817c80005581e037677bc2c6be96342a0c293bb033f13af985e63052b01b418a7829c8d800418720313f8cd1114901c4b5ef07e5c9be1523a8bec3b28beb219f66fcb60751d58b5b205581e0311f5f7f93661a38dc9e9b180166d0b7e6635d97a12f18df5b255a5e6a00c01467bd213784e0003409bc10bbdb1ad82209a193edf365444989bfa6281cc09a3ff9b5e5285dd2e56038b4cf4a70dab1f2e83ae84aa8e8c3aae5ad15c089f1ffb78978bd89908a4dc5704590930608060405234801561001057600080fd5b50600436106100365760003560e01c806330e6ae311461003b5780636f7929f214610050575b600080fd5b61004e6100493660046105df565b610063565b005b61004e61005e3660046105df565b610351565b6000826001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561009e57600080fd5b505afa1580156100b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100d691906106b5565b9050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561011457600080fd5b505afa158015610128573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014c91906106f5565b506001600160701b031691506001600160701b031691506000848060200190518101906101799190610745565b905060008311801561018b5750600082115b6101b05760405162461bcd60e51b81526004016101a79061075e565b60405180910390fd5b6000811180156101c1575061271081105b6101dd5760405162461bcd60e51b81526004016101a7906107a3565b6040516370a0823160e01b81526001600160a01b038781166004830152600091908616906370a082319060240160206040518083038186803b15801561022257600080fd5b505afa158015610236573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025a9190610745565b905060006102688583610806565b9050600061027884612710610806565b610282908361081d565b90506000816102938861271061081d565b61029d919061083c565b6102a7878461081d565b6102b19190610854565b90506001600160a01b038a1663022c0d9f6000838e825b6040519080825280601f01601f1916602001820160405280156102f2576020820181803683370190505b506040518563ffffffff1660e01b815260040161031294939291906108c3565b600060405180830381600087803b15801561032c57600080fd5b505af1158015610340573d6000803e3d6000fd5b505050505050505050505050505050565b6000826001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561038c57600080fd5b505afa1580156103a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c491906106b5565b9050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561040257600080fd5b505afa158015610416573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043a91906106f5565b506001600160701b031691506001600160701b031691506000848060200190518101906104679190610745565b90506000821180156104795750600083115b6104955760405162461bcd60e51b81526004016101a79061075e565b6000811180156104a6575061271081105b6104c25760405162461bcd60e51b81526004016101a7906107a3565b6040516370a0823160e01b81526001600160a01b038781166004830152600091908616906370a082319060240160206040518083038186803b15801561050757600080fd5b505afa15801561051b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053f9190610745565b9050600061054d8483610806565b9050600061055d84612710610806565b610567908361081d565b90506000816105788761271061081d565b610582919061083c565b61058c888461081d565b6105969190610854565b90506001600160a01b038a1663022c0d9f8260008e816102c8565b6001600160a01b03811681146105c657600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156105f457600080fd5b83356105ff816105b1565b9250602084013561060f816105b1565b9150604084013567ffffffffffffffff8082111561062c57600080fd5b818601915086601f83011261064057600080fd5b813581811115610652576106526105c9565b604051601f8201601f19908116603f0116810190838211818310171561067a5761067a6105c9565b8160405282815289602084870101111561069357600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156106c757600080fd5b81516106d2816105b1565b9392505050565b80516001600160701b03811681146106f057600080fd5b919050565b60008060006060848603121561070a57600080fd5b610713846106d9565b9250610721602085016106d9565b9150604084015163ffffffff8116811461073a57600080fd5b809150509250925092565b60006020828403121561075757600080fd5b5051919050565b60208082526025908201527f446e79466565416461707465723a20494e53554646494349454e545f4c495155604082015264494449545960d81b606082015260800190565b6020808252602d908201527f446e79466565416461707465723a20444e594645455f4d5553545f424554574560408201526c0454e5f305f544f5f313030303609c1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600082821015610818576108186107f0565b500390565b6000816000190483118215151615610837576108376107f0565b500290565b6000821982111561084f5761084f6107f0565b500190565b60008261087157634e487b7160e01b600052601260045260246000fd5b500490565b6000815180845260005b8181101561089c57602081850181015186830182015201610880565b818111156108ae576000602083870101525b50601f01601f19169290920160200192915050565b84815283602082015260018060a01b03831660408201526080606082015260006108f06080830184610876565b969550505050505056fea264697066735822122089edfbf4dc52df9d7623981fc95497dcd3c8b65f708eeb7a8d5757f10010e55264736f6c634300080900330605581e0312143b180cc4e3950a0265751bbaebf861b5f058686ea4243954919450070119093003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d035485a952b56c097ad744f45a0246568a89b2ab61847068f77b88c559436aac0b05581e038135667d192a3cd46c1a49f23b44590cb262cba725a64827c7395b7d9007011bffffffffffffffff0219f7e303aac85541be75f986b0bcee7b1dd3f15f83a10ea36189e18aaa8062c16e034fd30382e5c91b78eb2cfb09a1e6f43094e6c97c40a710cc1b12a5496b805da792649d034d708d4ddc2f783be5f30b6bab2708101fa1ba1904a48f475a58b6d33ff4af290346e2b5db40b57594417150d4ebbcaa47681142463ccf5187d8626c7950843ea7030f39ae22813770a350c4499bcf6a5c0f681af794c93d2812e9ff49b3c594fb02031bebf510d36b05d073be12177fa600b7762f73c411fba26c12149badfe5b90bf0219ffff03ee355ed8620d71ca741034ccf487b8daace58280a100bdb99426cbad3b26982503f58940a0620e9ee0686f69d8451dc38e96dc2c4d445c9cca443eabffc4ce4eee038cf56d3ffba0ec028c733149da188588f90f134c535a3629aef035114db714e803188a9857dfc7fd7aa7410698aa3fd3f3c3f5ace3a0096c22318fc8f1ca1db6b60370de0430814522e1b54e9222f5f6759db2368693aed19bc7a62706e65bb347ae03cb767e09ed30f1a2758b15e7f1b590aa4fd3a859d1031f63c1ceffd3f7e8a1ef03dced03296cd7b24f275e463994911fd1cd924d83889a588dbc85616a5497805103103ce477795f79adc3e2fa56ff56fa1d4613571ce7e7ae95a23c8146339bb8d603884c9f6813183b6ea35aaae5ca158be5030c1558dfa76ce94f7df36611038c3d0219ffff0385d1fe78ee2771dbdbeb296834ee142662f47d9a5c325d8aed71d5c576a7e33c0320341154b4fc70baedfd57a57f11f788b51384e2d9bfa00c0dba1e9a5d73da650379ea43ae9c1fef92f7807d7705c4d3172d5e5d482420536c1990e588b0b7e95c0355d2dc70fa004029e04fed42282b30fc91ae5d4049ea216d061886b92b19e8a603e99c88cb4019e2855dab7d52f4220869e815c0ae1c4da29cf205c7640ae274f403824143b41d10a4e074123518aa92c4c421fa761c91145a8dff4025db0db3f85203c359d4396f34d6afb9fbc7a57e63dbb2dda0795ffc40318ab964fb844e8ba25d032d77d3ba106cab5ec2f5c0d36b1aaab16d545c86af09c2136292b2b7eca8a41903892dbe9c6bd349deae9db0b2f5a9403e2ef7c1360900d227d78bf20317e0abe20384fcf854982d46741912768aa02939dd4412e46315339d6f2e51bb69d87a14a8036c59747634121a5d2694e74cf8d023bee67ba3d003dcb78b14f43322f6f581b60359d4da54f98410c6f6d2fe3618c5125780b755a9527911da82a5a6933568d724032160badf26653954562c328eaea6a7e43f7a6c34ebef46c85e0f4c9ef206bb5b03816f55fb620c0ceeb01d59db0f40d3fb20e6ff04247200d7a4a9bac0cee8e14b0219ffff036c9253384366784c6527a7eb5018ec09685ae28073e2747329f08bf834f6a9ca03a322589144b991254b371d170a476bd798baae4a4cf56f04355019d1082b9031035b6296cf1e1ebe07c36aa8a7b4eabac63d4c03f03ade37233964bb8dcdf1ea3a0357fc6afe2b1042ee2326fb7e5a3167fc663034f2f98ffaa1fbde4adb5af7b34203c43fb366f14143d9777b6c2aba5dba5abc3ddbd17e660daa8059bf52a6c76ee40330f44d6f0e907a35de11fe425aa94c84701ad2fd7cca2bc8cfa4c6a322b280cf032a611230c2878c5c665659d0f212e519c5c6bb883a53819837e0f5601bbeebc503cc023d1c141bdca5717edd648798d3f377427735a71da20994b33ba3c80bc17b03d6593713b9b19422f6928f441f74d1535ea67eda5b631963efb8b2ccb16a2792037dcea9a15f287cce547b3153f484d8f4ffdcf6c987feea4cc0ce4d2a291bc8f70325c259fd7aa23b043e96bf94960acca65ba2a75a2a14c5339714c834750d3cca03d327f472b8447cd0e9bf8a0a27b691b106659dfc82618bf2540461b39568e6af03515d24a3b928de02159e2a3d8e7616cc93ee7af4c1f8272b79d1b6034939db0b03def69534c49c416774754afa01fe432c3c5048b5a98ae1138d11c4870d1bdf22037817b5bfa69bfaa066bb6ba9f33416f45e544be1fbaedb3816177e9f92e85bcd032bf95ea35fe07124c43d758631d15aed8ebb7271603d5466524736626770630403f87bf1d9ba9149dfafdaee95a40ebdb10239d93176be719c30fecb997c6ab75e05581e034005c3015343c149ba30603c456d8a87b2c4022fa45eeb7bc7c1421ea00c014603ad6573715005581e03c162924e8865c864e5c1e21a8bb7c888b5617c64973b4c7d09db78d150040203f43ae884674b9cfa71fffce57a9fae10f510dfc468bd703e8084ffe159f419d501410d05581e03834f3476b371e3b4b271ce22d5605135abf8aadb5d85e2ebe642dc94d0040405581e03e5dfe494fe7d655d9faa42ed474313b1f82d06a60d176c41b19fa740f0040205581e03ea58a0ac8fe652f461828e63f22af1970624050a83f9a1068c545866a00c014648c27395000005581e03afe85268e458fa72a6be2b7ca0ee0735dfd55e727edcef669fe48bce40040305581e034edcf32333f6a4e46fa7a654d48662f92acc5a3072c7dcd75ea59620b00c024616993e01741005581e03895f2e8e2fbb0a9e4a84d5a9b3c1d3fad693f059bffbf9e2acf8e43fb0040405581d03885641e54c2a638a545f02d9a386a82a444511650f25fb3ce4785ad00402045911a5608060405234801561001057600080fd5b50600436106101425760003560e01c806349bd5a5e116100b85780638da5cb5b1161007c5780638da5cb5b1461026b57806395d89b4114610273578063a457c2d71461027b578063a9059cbb1461028e578063dd62ed3e146102a1578063f2fde38b146102b457610142565b806349bd5a5e1461022b57806370a0823114610240578063715018a614610253578063860a32ec1461025b57806389f9a1d31461026357610142565b806323b872dd1161010a57806323b872dd146101b5578063313ce567146101c857806339509351146101dd5780633aa633aa146101f0578063404e51291461020557806342966c681461021857610142565b806306fdde0314610147578063095ea7b31461016557806316c021291461018557806318160ddd146101985780631ab99e12146101ad575b600080fd5b61014f6102c7565b60405161015c9190610d31565b60405180910390f35b610178610173366004610c90565b610359565b60405161015c9190610d26565b610178610193366004610bd9565b610376565b6101a061038b565b60405161015c91906110d8565b6101a0610391565b6101786101c3366004610c2c565b610397565b6101d0610430565b60405161015c91906110e1565b6101786101eb366004610c90565b610435565b6102036101fe366004610cb9565b610489565b005b610203610213366004610c67565b610503565b610203610226366004610cfa565b61056d565b61023361057a565b60405161015c9190610d12565b6101a061024e366004610bd9565b610589565b6102036105a8565b6101786105f3565b6101a06105fc565b610233610602565b61014f610611565b610178610289366004610c90565b610620565b61017861029c366004610c90565b610699565b6101a06102af366004610bfa565b6106ad565b6102036102c2366004610bd9565b6106d8565b6060600480546102d69061111e565b80601f01602080910402602001604051908101604052809291908181526020018280546103029061111e565b801561034f5780601f106103245761010080835404028352916020019161034f565b820191906000526020600020905b81548152906001019060200180831161033257829003601f168201915b5050505050905090565b600061036d610366610746565b848461074a565b50600192915050565b600a6020526000908152604090205460ff1681565b60035490565b60085481565b60006103a48484846107fe565b6001600160a01b0384166000908152600260205260408120816103c5610746565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104115760405162461bcd60e51b815260040161040890610ef7565b60405180910390fd5b6104258561041d610746565b85840361074a565b506001949350505050565b601290565b600061036d610442610746565b848460026000610450610746565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461048491906110ef565b61074a565b610491610746565b6001600160a01b03166104a2610602565b6001600160a01b0316146104c85760405162461bcd60e51b815260040161040890610f3f565b6006805460ff191694151594909417909355600980546001600160a01b0319166001600160a01b039390931692909217909155600755600855565b61050b610746565b6001600160a01b031661051c610602565b6001600160a01b0316146105425760405162461bcd60e51b815260040161040890610f3f565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6105773382610928565b50565b6009546001600160a01b031681565b6001600160a01b0381166000908152600160205260409020545b919050565b6105b0610746565b6001600160a01b03166105c1610602565b6001600160a01b0316146105e75760405162461bcd60e51b815260040161040890610f3f565b6105f16000610a1a565b565b60065460ff1681565b60075481565b6000546001600160a01b031690565b6060600580546102d69061111e565b6000806002600061062f610746565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561067b5760405162461bcd60e51b81526004016104089061106e565b61068f610686610746565b8585840361074a565b5060019392505050565b600061036d6106a6610746565b84846107fe565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6106e0610746565b6001600160a01b03166106f1610602565b6001600160a01b0316146107175760405162461bcd60e51b815260040161040890610f3f565b6001600160a01b03811661073d5760405162461bcd60e51b815260040161040890610e09565b61057781610a1a565b3390565b6001600160a01b0383166107705760405162461bcd60e51b81526004016104089061102a565b6001600160a01b0382166107965760405162461bcd60e51b815260040161040890610e4f565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107f19085906110d8565b60405180910390a3505050565b6001600160a01b0383166108245760405162461bcd60e51b815260040161040890610fe5565b6001600160a01b03821661084a5760405162461bcd60e51b815260040161040890610d84565b610855838383610a6a565b6001600160a01b0383166000908152600160205260409020548181101561088e5760405162461bcd60e51b815260040161040890610e91565b6001600160a01b038085166000908152600160205260408082208585039055918516815290812080548492906108c59084906110ef565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161090f91906110d8565b60405180910390a3610922848484610a15565b50505050565b6001600160a01b03821661094e5760405162461bcd60e51b815260040161040890610f74565b61095a82600083610a6a565b6001600160a01b038216600090815260016020526040902054818110156109935760405162461bcd60e51b815260040161040890610dc7565b6001600160a01b03831660009081526001602052604081208383039055600380548492906109c2908490611107565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a059086906110d8565b60405180910390a3610a15836000845b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166000908152600a602052604090205460ff16158015610aac57506001600160a01b0383166000908152600a602052604090205460ff16155b610ac85760405162461bcd60e51b8152600401610408906110b3565b6009546001600160a01b0316610b3857610ae0610602565b6001600160a01b0316836001600160a01b03161480610b175750610b02610602565b6001600160a01b0316826001600160a01b0316145b610b335760405162461bcd60e51b815260040161040890610fb5565b610a15565b60065460ff168015610b5757506009546001600160a01b038481169116145b15610a155760075481610b6984610589565b610b7391906110ef565b11158015610b96575060085481610b8984610589565b610b9391906110ef565b10155b610a155760405162461bcd60e51b815260040161040890610ed7565b80356001600160a01b03811681146105a357600080fd5b803580151581146105a357600080fd5b600060208284031215610bea578081fd5b610bf382610bb2565b9392505050565b60008060408385031215610c0c578081fd5b610c1583610bb2565b9150610c2360208401610bb2565b90509250929050565b600080600060608486031215610c40578081fd5b610c4984610bb2565b9250610c5760208501610bb2565b9150604084013590509250925092565b60008060408385031215610c79578182fd5b610c8283610bb2565b9150610c2360208401610bc9565b60008060408385031215610ca2578182fd5b610cab83610bb2565b946020939093013593505050565b60008060008060808587031215610cce578081fd5b610cd785610bc9565b9350610ce560208601610bb2565b93969395505050506040820135916060013590565b600060208284031215610d0b578081fd5b5035919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b81811015610d5d57858101830151858201604001528201610d41565b81811115610d6e5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b602080825260069082015265119bdc989a5960d21b604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252601690820152751d1c98591a5b99c81a5cc81b9bdd081cdd185c9d195960521b604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252600b908201526a109b1858dadb1a5cdd195960aa1b604082015260600190565b90815260200190565b60ff91909116815260200190565b6000821982111561110257611102611159565b500190565b60008282101561111957611119611159565b500390565b60028104600182168061113257607f821691505b6020821081141561115357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220e905ad1a7e419ed6c4450c15a3249a7a816cdd698384f84c43e47d9cc66a804364736f6c6343000800003303682a2c764d91cfa33be17e8bc337fded997ca391d79b83af879538f037f9a2cd0331d172422c6c3ba286d4cb40435bddb8b4faf20cc6d1d9a5f42d76e8cd73989403b1a809b8ea6c4014886ad4334a867d3036af9f70dda6a2a3367adcd595f0fb7603a1340e070f619ca9b099742c2247016ef6f75b18932a7d4c37664d56a86c9e10038c0f083f5d7e5483db76f00e20daa8b8bbfbd42373101d036a831da02b360c3e03c2296ffa553ea860e6a90dd53f9c7b78c939e4d5d963feab608dd8e9b49e97b7035202ca5764553474a287e776c9deeb46a31c2ec0453eb0c096f9b1f7e445c4cc03efcb1035ca585071f1417a423fa052a0269b00a4c39453e992a04899213a33bf03e89a825e740808ca79b2bcc7649ece74994b061f091d7b666086684d25eccc3b03efd10371a732afd0107372f83b26025b4c1ba4577a470cd7bce5e254414168610302693da95d543115ad0c2302351e45f3bdd18302ddb4edcf561cb55069cacec003cfb2b29de490a148ce508b84c833fffd0257c1fbfcf530c163bcc64d58b21ad6037d198c315a2e832f9b3accd34389d9775342fb1b4dc1fa1713a3dd2558b551da00581f0319dfd96646d45011c5209a565e0cbf8aeaa176844cc883eab923241658f04c023300bef3d0de86fac27927021907020340a6efe01e16f34593c10c92a2bba4132ffb1f3a2a3b26c03c57271957b1bb310352e0039460ed524d9ce9175dd0546263c3beb2d7c17e94493506a78e0cc2204103096e79d59a7ac7fc7acc6d9b3b803507444a4b460683b1c27a8f7b9d44381a81036e7ef554cd07e0074b43955929d0b351043fa89c57614a3a756a82a3b9ba032003645d8bcdec2f6c2c53343ca9a73ece263472cf2a79759e2759540df2ae90760603da62b8faf689b4681a2a165c4dea34ca7ddecf64f30395436a3af6f89421546b031d4afc1be53ac5849c188ba8ba2f12685805ab8ee7010e3162ac25cd0896f2e4031db31bf7688f15756d178d6d9a954cf4e62e8b77963ffa83151b4a0e6623bed103e20304bd08bcfde6c9651b0209805beef77afd2986b7fbb60c240f2a85e37fb1031cd55a4beadaac045d98eb81ce0e7a73715feb8ddde28452f03cd90f8a022d2f033964b1df53692108b196cbeb541a740f72b1afdced1af957b57406b9e3389b8e039b524827cee52a2390e71b775757c64306604740e29992470ad69c9f9cc8323e0219ffff038b2cfbb2a06eba05163e97527bdbcbbbf7204c01736642dba1486b804733380003cc3426b7a06f764e2ba5a42b9ab54895276846ee0f02479ee3658ea771627dad03bf78c5a55de507687ae1cb4db007b86bc77ddb7b2ca50854331d772d81f95ae503541eebcf97aca82f9a3a08eeac96a3889dd98926d8170cd06ea23979e11d90050392befa2ca8189882e63888929a4add94d1804c24919315478f14168416ff3fe003a9fa2e454e5aac2d14a130a42904e3fa83605bd5b0fef009ddf9bd61e8693e1b036ae0106df9a29c1a7650431fcfd77da3908e00878c586a61eebe0d00b0d2166903d0348e4ddb6de38286997fcf5e02dbcc513e6aed33ee0980f925dfce793f868e03d4e6be18ab5397a7a7136df432881f6db9d68be14cc430638e421b106a66b5bd03bd6ef2b54a8b0a4fb0649585282089969b2b3d19aff1ba7d18a7e7c3bf15ea300219ffff0357c8007e95bcbec0d7bf2f4666a44c9a40fcf18410418332a4cdff742997dbf6033c559f64165d9662e994cd7d6742acf3ca1bedf31d2f9989c2f2a7f4571c3efb0313495a327e7ff827958b5c164fab326305f4bd8d7864f2da8904655cf9b54fdb032f06e1b45dd1cae79a5e9e095289cdd45a75135b27ca178dacd3659707c870ed03c5986f1abc725de33efcb5ee7423ac3a49ed84d212c7338fb380f27f0a65f16803586b0ae2b1b32a1da7ea69a870e6652cd4525ea380550b4546837abe33ebfe25037ecea5c822296a4d55d84ca487a61ed6f28c7ceb9580e6eb6471e145ba0000f003b7f9b7cd0b4d14e61cb20f700306f8a8a366925569afdab30e2157fe1b590dca0354d14d85f686bc2a6af287be50e165a7fd1e4c523190ab0581af324fb92b297b03027aef43b5d8faabcb3138207fdeebc276bd27928bb607002f2d04e3bb52f9840312801b6ff424e931aa8fd7c26f1e9a0ff3ddb20e90367e30647a4a91acfce86e03da15c602f88654ed64a18bcbcc08cdc3c2137980f5a82bc69577ae1036cca710033a9f721b8fc36c600f8e9168e4f552129422bb9ae71b5d2f45662a91ff30e26f032f7e0d8e7c338273379df306617b0f51f320e28ca290156c0506b58607b95afd0219ffff034b29cf827ee4d614bd8914806d725180960f279046c9d9f0ca57e289d52acc4d0307425c3e7a2f7b7f27012bcab61ae6471400765215c708d2fd7cea49d124335b03ddf5804b9204410e970281f3cfe5c83e5dc04b3be1fbd52fa0bb8a476264b7ac03620c940db4f1f235ad46bcbad471cf42f1da2bdadab4a66b01486bcc9cd67007033ec4df7473b3e598f0be3899ef8b48eed89f418762ffce2932a0e1fb40155c0c032ab84bbb60cc0b801cc13e042b0a41d1e6cf94918a57a3ce84b228307abff4ec03ca42ccaee0e5ad9cfd2b3237801deb7bab632af9d210269743cdb40530a06d47039d597c2830b1f091718be3a59de8131ec1d5acb911dff16f6fb48af338dfedc80300de1e589af677e88da0af5b08277f7fdf5d644dbc50d93de6014f809e3200310370cb681d5bed4e6dfa207258cde185cb198846196faee0fe727d707a0917f47f03a51da9f39596d71db79753d81e33b8aabbfadb4b724d837fb1f0af3d9574ff15030733e5b6b3f8b80ceccb6c3ad1fc47cc3816fcab882facb41ad62cf35fa07f4a039ff89476db8d944f6b8bb8aa812f7000df306d6eee71f707e53765fe55c607cb03952673f55f211f227635cfd7914ff185f62ea081921d99f15526f06e679766c003d112789b81e2b37580f42e62e4281c64161da48dd0a80270e49ab5b0d8154735035f56cec50c6cde76d77caa66225e4decd603a142b414fa6375eb691f35ec27930341b68c055ac76afc746a1f790ed5bc686934d4f1d8fabed4abc443edc4cf0a030377f4c7db523dcb4acd566fd4772c4a13303ad874aae871d6b287354fc94d51350313d0efd91ed4487951126d9e3ab1a7673031c53ac87ed202e3d2b10a93678f60035bb9d5462b228693377bbc8a2de4a2f5dda9a253eef9788f0e5277b39f9b482603241f26cc2f2240a0286d5488693265492f5889174dd54da613387790de303d52037be8d5f9ef203a3456bde79ce2e3007722e22b464574120ef964f47b5177b096030d62141cdfd204e7228e53e803eb315cef851ce1372983522e05b0fdc7c968a703365d1dfe200574fe51c59cccd0bb6bacba3d53da918c520a28dbc5b88a2ac0fc00581f0369cf766ad04f0918d1f8afedbd312adccc9dad17c553fb051713ff9a20d05819b88e282822ab5ed106947c1c60af583c1741a38e858de0000000581f03fbd82d365c85468cf298cd7b569a20f9c8f134f3a9d947960639a38033404c0239ac90d3f4dd869678000000581f03af9e4f388770e28d2667a5c414eb6ee414979cca87340b9372c9f9b717f05820fffffffffffffffffffffffffffffffffffffffffd6d7e0b9a02fec4e68491e900581f03396c477160341d4432c5eb0b7bbf3e17f864b0e5188cf07fe9bddfcec4f04b2ac10d94432fe73450cfd100581f0368ce3b10eaf720e9151c49392e8521d68f8d4b646c3470be8e0a057f7c805820fffffffffffffffffffffffffffffffffffffffe00900dfe77833906918f0cf800581f0319d5999a0daf4aa46da44618e6c63fd54afb614e90b31afa493601e3d5a04b3c7a6d917daaea0000000000581f0323783bd635983e5cdd8e924d73a126417246a5ff49a71929433f650325604b2c3e63dc18bbdd7160975200581f030e1bba063b3b00c866ea0fd2f1331beaec4719c690560e435c9dee88ddb05820fffffffffffffffffffffffffffffffffffffffffd7286fe2fd39ab129ffffff0219f54203d5b30b66bf6832b6ec0debe38b5e60003cb7430cba6679cad82e62091d0f3dd0039a5d1574841b0487b823433fd210c35c9bdb5a2d38700de1248887f8e16cba3803747f556d9e56e4254cefa9d46107abbc9c417cc95394e89da29aeb6c78e0d2d2037d281b85bb521a564fcadd93eec4df7a82fb30062a4943e40ff7f3d5288fc5460312d8eb1be7cd99ac1fa257efb829ff23ec0f945323024770a8056d308fbc247003e8f95342a08a7cbae1e646f4d842b3713a34dc44fcd39f298ae7c19441abf60f0335c9fd3c38967b65109d5d03ab301d25c4bc80edcd26135905fb109b98a5e0470351a93c50416d0c2dcfd3fa5f9932881be363a383d4733cc0ad073c22766605f9035453a84397030aa058e325475941389d9ccb9515690891209396db5159eb0eed03e3357d26e921c682008f4a3643de0463432e94e7b2e051c24e66bff0fe65dea802197fff032e7a6576b1cbf1ae29a9d1fb2f11f808de8a7ef4b36895fc6052203368f351730361ded8530c54e67130edb054176a7a7a99466a13570a88f03d967e197c0fe8ed03e5713238eab2c8da1e391109dde1cb710df0bef3dfc885f09a6369a484ab9b38034b572bbc52c316b39ecdcb6abc6be3e11af4ffd56b4b3939b0e94986e39577180346b9033456d41aa998e618a8249697c8c6856e14f7162d67902dcacc2fcf0851036b1cc75e59caafd96ee557f37ba4a4f27bca938f31f2613dfa790517d13e0732034d73d278acc07b334c0aee2913510ba29334ac991ad4daf1a302485e753dbc1b03fd71fd93a5df320d52af01339dd41de25b3dea6542d2183121cc830fdb1c669f039f9992764c8273aa77b193d7f2d77827a2dd3c5f9c60d69eba533905f967225c03f6c5978994172f431d0c6805376ff877fefc818ce8778b0544cd29e50ae6f4670343b5bd0352d412274fad661840ef9cd5418a6f371a26a700d00b2ee26d3aee380219ffff0219ffff034a07ff0ef5801fef16454a0d5939dbc6bcadc6bf15aec1e443070273184704910328575e1f7fadef3e53e1209cf8ef0ebe40f36b3f5355c9e38b8b766ebfea141603abbec653e0bec530c688589e9394d403414e317ab6a01718143c709c04c2425d03a6a7a2db2c57c034274345d751a4c3acfca25be163cc1ebebf991fe9adc8cc6b03816459cde8fe4d4632f8150b24e03e944755798b075a607bd67c1182cf9ffb9203fdbd379b8455c54402c4c6ca4e9a9ff26250fa76bb8e8397857ea2bf3ee7e47f03c8f8a6e41b5a53c1d7a2c5d6c2d9bd7a2f30544ded876c06f8c38d80d3f1818d03a6c42156e30446d18aeb52e499ff63b09165884ec58a5682200da716118b4ef603768af42a746cebfea5c0bca7067bffdb47aad0f84403baed54fb757831017d510392afa8244589d5bb9a9213ba0ffb5e1ef4bac321ba1f0b8bf55ce9619951c8c303b98150a86d4594e5ec7b12cb50b45187eec18c08561e4c8b8af28118a672a4a10350d71bbcb77c4334c7aad84c5c882bfb306c14b1710acebf2d88aa516589664503ae399f3778467a80985ae23c9d3c49ed8acc71150974d52adb0237e852d1368703095d7f30f20f17cb179da6e2497c5f518cfef25ae7505bac1086586d80b258280395fa126135b1b955bcbd5b3a6a135d8cded365237e0166b245d30f3467881af803607ec5e7eb7f42f4627c3711ddf1bfe2fa10aaa93e06dcdff8290d7d7c7f698a03ade806d7b91fa7ca0ea19b4fb4240ccdd073986be3ba7ce99367caca2a9dbac1033849fe22123b924b558cbf33a7a10c40bad5fc432ed6d526add416e8076331bf036bdb6b71bf4d759f8d2d91d94598053dc5a424fbaf8aefd3f96c666498f7e981038168a0b41d8871f05116156d5a28f9701159e21f909bf6d56f465282723d907000581f03e7df3e7b4dfe5e37df4f52fb8c14dfd8a871f593411a7bd26e085a0aa7b05820ffffffffffffffffffffffffffffffffffffffff610cb66bfd5dddb08dcbffff00581f03d795ab21b2da728da84848f238119239430d6ea298903bc12a29af4eed104ba400d15ca4d0262cfb000002192400037ee3e28495885537afce900ec7d137ee779de17cb11aaa4fadb664361376f1b7030c8d74257fe6a03a1428d1482def18c999c1b7b6e8933f82f41707b1238da78403ad95a37f2aab6ed56ecb960ecca0ea9e65616ba0c4d36426b43efa81fa5f6b6103370f60d82ab72e469f204afb8ceed5f0adcdc41d9e9807f5ad19d1e83c5bcbdd0351f1ceda674d428d0e226b1344b1af33b8491bc3e01c03daccc4dd4ec51d6595032008ae3ad99557cc19cf2bffb498aa76d8300defc65c6b504aa89c30a542afef03c53f7438b03fc727dd6aefbfe1978a30be904b537d9babc6af10bda188ae8b9d03453fae65725d2e68783790d3e68da059e8716a34013a608aaf27326d09723d13031eb114bc21579ff9f77470f7d42edefe19857fed4d5f920f42101a01a178c9d503553612e4654eea3af2b3ce56a8712137f229162d568aab7dbd4be3df272c2fcd039eaca5da5e7d584e1fae8d0537479892048af4b1bf0ff811a632d0cd5f2eb8b903b0611c29896b093d2d18cc68e1316146e2c60bf7794e3664a65bc50e824d115500581f0245aa04334747092f16a579f16e4ffd1fff89cf49167062e239d32ab652074c0464adf47eb5b953aa3829510219ffff0219ffff039634cd353aec2709a2c12a35d73f5f322d524966ede1a9a12f325a35b5fb745103a37c3d9579148afc62f725ed475846ac58a93d3fd877bf729db16ebc11c0601103deaab704c9ea99af3b99ba60c9b785343fc4c6c859ec1825cfd51b8150a9342f034e793c65f6a313df3ba1fe8e6472943f7481954def30964bb0acd22f7234eb3703a465905d97b9faf69c19526fa32b0006afbbedb66970ef4cbb419cf6e1700a7403aad40e2afd29b9b4cb111ed0fcf657269aa2526f50b2bfdc151a013ef68f2e7703eeab86ae2b569bf35b4338ed584c19dc364af7647126870e03365509b7658ea203f42ea01bf448640f8d303e10c99a07217706c703f6a1518e05eb9091310cdd1f03ac8154d3bee373aedee5409ea8067745d36bba91ffdf204cbfd5a0567e47ca14031e639a15a20041c0ed16a15e8f0a64777db260bf0bb99c052f06ff81215c5b2403f29cb26c8d4cf9109c52dcbc5a7827d1fe4bbd7a5a6f7e26dc8c7f008013c05d03cd5cc0fe53435886495d5f86b7396d3c87b3d59b367848aa823f73d9d35e02f903d822cecdcc1fc17a539030bd29556fed0fd2d25c4435799b1a3fa2bda913af2800581f02776550e53df6feb2c6b222c45b5900797c053c19cb2e3156733b91ad84db5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030b8d7558f8b024fdae3150b1361aaef9b8a8bb0e15eb3f1678b784cd4ffd5a4e03b06a6b676d6e58afc82aa47faaac1f17fdaee5cd91b18d0ddbc22b8f78fd762803a66c54cea586fed8fbc1e206ca6c5d6f3c3d72ad6635b14827b09a0afb539bfe035271cbc92361d2e07fe5cd288b8d0dd64821dc229ad3f99567872fd5fec36bdf00581f0393394dbfa9f0a648060ac944237d237f5f992cf7eef847ac59cd5c1458204b03e9c8072d5e4821e5292000581f030171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af054a43fe16908251ee70ef74718545e4fe6c5ccec9f02181803dd8edfe132d7fc12930db83c99e5f96a915be37746ead0f20ab3e8513d922daa03faa17911ec565b0308a9041c2fc8d8c49b926244eb8516215b4864795b01f2ed031f70524d833c6c50ad81635a08a473a501f11899a1110c418e27ae0c68fefa65037b5426a57a2b1f1c0b67e7f46668be223e3c17dc4a77f16c26b5fc9f22e8686403d7395ad48302da1ea9b38cec684ec53ba714fdf83db9f4f790ec1fb57ecd439303df08415dfca9ff979559035e6040b416cb3df849e6ad5b95908302e45f5f852a03c23e90f28bc6582b738684a5b0dc8eeab8681fb1bc7a0d80f1471e875585885f03e00004b5b65fddcbd074a7ffdbd694b421bb68bac5ad69eddad4c617112eaa3a0343483f386ed4f7b4397e7e18b9b7fe30b83ddd67a0a3ecec72ad86aab44f3efe034f783249dd6418137523e27f6145b2cc88a76691404afb205bf8316aa83233380219ffff03968d6d549ef725b5d4fceddbaf6da7ecc7ab936c1005c44bfda4ff3de39f585503ff25fd4c70523cd1cb5f586f3b8f5a41a13a2643ccc944515fa0ac20f3595133035c226c6141ce072f34e1133181b854c28c21d7dc7b109e81f010e7b36e7a549103d01705c5a410b15eb9a66210181c44f8694716cc8571fcd580cf14175cc6477a03ecebba472770d254b077688a252b7ba9ab26bdea6c02f7aab10deb6c4c47340e03133f47d352add2d08c78c8263888a64d92d656d898c6292da7ce919a2fb13dbc0396ae1dbc2fcbcdc38487818455c463b7688e6f07a0462b0997d52add702984d803ee036828600e2d78bd3b166309c46ab91e0ffd4feac4fb513edce1adeb40958e0397ba9dc5b2b3b8fb06cd77e1317c85ddaa51ee69ca11563a4d255c00edd1cdb603c011eafa03def31b42f7f636bf0492462afefe011f243197b142a8a3675ea9a7038ed5ce5f17a3c3c0c7a54ea0251dc10852193b0fcf20e03df9d94c5f09a0371103e8fc1b41cd579b031b88b077efff8a500df93d1e15bcfcc4c6c0de6d26f3983c034c794d89633f916f62b4987bf1c8d861721c80733521fd783cb3a3562969c07a03a03f651f395df4ed94b2e4c031a313fd3178bb17f40ef320a0c38be40065be0f0219ffff0305b82bce886f9057bf8c44fb1e2b473f9c7dd0fa2bab1eb851e295bb0f4920140219ffff0303b946b87a8ac583757cbf0483f90f99b35b16227a0f8f06e93e285adfbe4ef0035f1455e4e0282c438ebf70e844a6a4751880ccf59167da16cddb60423c403c6203f44f8093ccd631e10414c3e9d1b1ed1071cb0f00236fa015d382b716cdd890e703bce9fcb342dc82ea1d0293ff8bc97fe147b0a6851d7926dea3c2185fddd3d2ce038ec0e0557457cd9b26aa6f6ea1e109c354ed73312bd8ae76306649be156799e2031887182a8aff9e0b3c5a15c808b45de4702d3b09d7ab502f9e59208b9d0ecbdb0307fb24c55eec626c859afef47ac754fc12dc0e84a282224eb0759f811a872287038f5513588d8d103ee4d38f6eb7ebfbc7c312a6bf884bd9c918fe3b1f35829a2003c749929d194311260d1bd2f2aefeb609888460d442633d1c6bdad07a1383b283035db7b6b054dfe73ac9ef2167b5142b5bad253d4f6896329b7ed9798e304c9bc303b9d62c363dab10b8f50fe317b86a45415a36caba0e30f6cf4bd3bdda7cdb6be40320b61638e8a7f9e03e72b6d821ca8ff4ee1b5d63006cc73901afb0043d54c29a03e901f3dc2c1e78969ef07bf779a2624525172869c1f6253d9d54bd7289c5bee9038f5ed5a980f51494e1327d00d16b597950914bd36648daff9be681a0d0280a1803d824e1456873411e199168c004768b7a869770bd77e7d869f0c481136aded650037c865773e97befd9079556c340431ebb0433906ff4dfcbd65a7207ee5096666d03d613bc4121ed41215c92bf90d37464ee89460b62c018408b5d9ea581b152ec3103b802cbbcf316d864ed3f96c71580c167b2f116b37461820dfec36624a793531303839b8deb20f28ae752ca152f40201bfc59137d98d0d315723aab708fab5cfb8c037ba97722a212d85a0b9fe9f3333bb9c10cc1b90d4ff57cc49fcfc825ec65f5c3037e8a37e5070be0bd848c505f16f929e372da082f4de39c75414959571f7749c903cba230c7517ad852db7554acaa3f643bdab2b548a25a60b579077e2a229543e600581f0340240cd5e4c0deccdfb378dd8793f0e598e524c3887314d2a8e83208cdf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0378e922336001bbaa5cf0f9155351917766b7b0d38032ab4c7bfa62c26cc04b139a900aa7d250d75b000000581f032eedea02d95865f0c193181aae5ae5af6c12fa57d6ab5060b4803f28fd804b1b819adcd79d7e95277b850219104503a89bb4873807c6e49332e52600c3df6aca01b637b4d3baa5ea1aaaaa3ba63a6a031bdf9a2e61a8eeaeac713dd10727a94d8365f0435269d719bc6206955dc9a8d70349ef11e829724b7039d4ead835bd917e7f83e6adc421912b8d79455f66fe124203c6c28137a064edee4a789912b3c2d18946cd0ce383ef319cf1be89803da19b130330fe989b2510364787932e89aef9178f81aeb0cecce14583823886aa803ac40803c29e533b5e64ed5810f15a967da573c6d032385f675deaf872002956b223bee0032f9fba6009e6e3863f04de60b369b646ecf59f54b6116bb08485a15da7d2b70103ab99f1970eaeb5a591d6e119cd38f2cdf161f21ba36aa3803e98ccf6fbffef78034124251d3f2e90f7193923146677a84b7ae3409102f90c44782099bc7d52d7ef03aef6be2a32d75bb6d565caa6f93688dcee30e9b6d1ca1ccb02eac5c38bb3006d0331dee8f3fbe3593ca26a881d85262f5bef725630338f3898c868cd9ee8e94297031f5a4802af34bf3b17e0ffb9d28b3e6b8e7dd167bf3b216b7b907c6b3d7407380219dfff031da2067f100fe797a15cc17fecda8c6e063e55b3d906fbfbd453a0c70f5a0590032b4120e3e216c79888cdc72e0a312d12720c32b51b419ff41aef0fbf541485a9035775f02e36868d6d3c559e258ca7b83d86586a3ad5be3f8aefbfb54ad87753b203d94f7eb177e7e9a56701f1cf7e0d763f6f3da7809930c0b34602bf14c6afa7c703bce2273058eaf0c22201b5b24fd900b9043365dd2c011f47e1a8c7ab252e891303a612d39d3b1ea2b8fef04b35b9d76b2678875c8913538bdf0cfac287da1990a5038659244649a31ce22a59ef209572bd0e37fbac375a1897927dcd70156ec6ff2f03194e43cc6d962e753e2b383d3a9e0ceebd66e9dd0238c4d780bbf081bc2a1e6303c4bed2c347ba893ec0ae9700354ce1be0f8417f95262e38e108909ff59df69b903559d285ae1118b7406a17cacc2f8cc778471cc3ba41abd816ffb35cc46b7728f0219ffff03f53b44f4b35213c765f03d53c5793101307964f91d60906c845c14a22e3623fc033465c1a6383040509f7984f0528cad575673ec52b1393c9385aada72e49fb24803c8fd61f5127294e1fcdadb88cce52d57d1a2edba1171ac48e2b74ac6cce68bbd032c009bf3d34c0492787420ae861e46e8b3a7f07546955bfd83acd739e585312a03cbf25dbadfcc72779a089e33598728ab55152d4bb93c639d5781519446865de703bcbbdf428cbab30635a8b9a6db593249a4848346aa83dd94524278be7048cc65030325aec11e938470a03ba0326dad8459f5cb4b6269e13cb62a5f084ec542d6dd03a8b78d5f3f27addbc315162e8567561f3311ee625167f67d5fb4d082c660febe031aa3925557643991c0c18d58144556ee91c789e9ea9db490291a6fe604359e5403650050bf6544e746b5a174ee55f208822bbd1faf581f751232164261ba2b06ca037b48558dee3e493466e84ff447ccabad84c6f6eb3d02e380e61d29fdc432ce910332f0ced7cd2c0e4c7f2c9bdf94a4221d98dc84c509a7bfa7f24bd5f28ac41ac503b74218eab38a510f3f6b2a12e9ee79c60fa626da8eb795ff86d711b734905aa5037fde028aa2fc348b15f88a130ae21fac1bbb62457d1c6efccdeb170225b25480037f3047b67b909f0335330901a994a1098f6c4027986f3e8716dcf49b404669e40349d968d8efdc79609b649da56193ddfa854c34fd783aecc873da864430c6fecf035acfa97ad815b823993f26be0e85fff711c0219bb76481786f834ca84b2021bb031b82e70a30452942e81b1b4c3489f4018219cc1eb0d0e145a783820ead0972db031d8ef70a9580612bdec53d2d906f61802b076fed8b65e8918a69ea0bb6df6ece03e876edda1176f4ca565fcb50c5ee71a346794335b6705442f88ecf427867605903cbfaebc6486eba72abf56c3341ae86008a790b60039801460bcddcc8237a96e303b55e0fd8e31e0b2023bee38224d840464eb54abcae189d8455c5e27cdc0189b303ed92c4bf038abb632f851b6e7a88c0a50fb5c1ebf32523750c34c25e376fa72503bdb4d98fb8e2ef43c2f48953c689cffe30953669eb0c25d03294a4addbb144cd033f1596847104532824684c61555213a8601746d42c7f825bca7fef97d01ecc6a0328467c1ad70395568fbc27e5a0e617e7482f6bcc5cf0634a1a4fe49217d13ad900581f031178debdca7048002d2c6fdb683ea8838b7997e47cf50af223497112c6a04ad8aa2483ed6526a10000039638b29a11bf164fad82f163fda2653b2785c2b10ab2e22590e7133ea558cb0b00581f03b7d887128c1233c1820651ab2af818eb84084080a613c39d63ae2b02e5405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f038053bcd3a17261c2eacb3bb55d5d599b7fd1b9fbfe7ca87dffb47e7703d04ac1733082d60ec943bec500581f03a8226b7095107a0feaaebc6156eb753f03c80bd2b5fb83c5a52bf28003205820ffffffffffffffffffffffffffffffffffffffffffd40f329d2e9c9e7936e3e60219614803ff6cbc9df7911eedd46cca74521018a03cf81a3999806b2bd79b0375e6305d4503225ff6929bd0068d3ef0a33bd6176b6e04c14e9e3487ffa01b115465c47710d203eb8ffdeffda7204684cf80d3cd1875e2f7297d03ac43cb24186494f32e5a06be0219ffff0333c8da2df428e751277bdfe5ee556789a0ccf93c53a14872680d6f4304c4cb44030f31154f9f1defbf5da1b4370697c6af99084a9bccc394e77246258e8521f5d203209a2c71264e8363387a001c13b826175e071a5e1952d5d157eec86517e405f80385e07f27da2f4c565b9e20d7ebb512dc6abaeae099a015f3f5f32cbd1cc2358103f289ebd45af09b7f3096d139c0ebe4f9cd1787a0feb1aae4874c7a93c3eebbe403760e9705520bf397532cc78a150e867246b4b77335eb54d9e9be52c30b6997730219ffff03401ff3bebbba0736328a6e54c2d87195f3f6bdca74939e209a3195f1cbf7bccc03d7f8ab6140496f9c955ad682f018a7504f644d8b884dc0e1b9d9d7f1522aaad203c812b8614d2769cc46fa6373f5d388ed5c49dec2dc0a8e0e855ff70a4372c86e0219ffff0219ffff05581d03b212be555d2bd364a5806a102f2f0e45c6a159463d8d85767fbf4f8007011911a5020c01410805581e0395261d73a9b3ec48fbadbeef418d87a5e384df5dabdc5754584d2e59200848029140851372800003f5e9c7c74c61ce282a13d57282052003a9118d086b78375987d3dc5f90ffbe8d01410e0219fee5036a5aa197394cc8b15281db2b4328b70739238bbabee79fef4e9f66309d8c929103f811585c9c5ebdf6b62ceb5bae4ac367fe534fd76a667ba6cad99765064e02f5039fccb42245b307d24640a7def6a216b1d6bc5c20faaa728c3f796a337070063a0301edc54995d98d0fc26796ad5c8956133e8ec07f56666080bda55dbd23ce47e40373f6151867d83bd2d883664025ab87303856953e450445cf73d82364bf55c9ce03fd5dbd8623db25e185b5b5c37425745e46aec08be011d895f8a2c707dcd1e7f503d9f146ffdc8ef5e3bbbbbf76033a4377aea4bfe9f84439f6999809e2b462bef6030f0111eb5fe2fe6b874a72b01191259f4da4a6c6875d1df7605cadd13e22b7bc03d634a0f7873d3e31587921f96e00e36eee82bfc9a26ab8526dd22a7353f5c2ba030e49aad2906e4c83dc5587012fd3b46b1bb0dcd0aa902f2b799780c9dbee1c8e0334f7fbb5e808d9ed7506a3cd8c7432600ad445e40ac804876f7e78599d8511d90321738408ff4beda5e89ec6e5bedba431d01048643b4251c07b289fa403c4ec63038bebba221a1fb458c365430411ce783b8ffe0ea0f33a35fdf2c31baf5ba6f43a0324b97b81972dc3abe77df16f45bcfb8af43cc01fa81c4e4c0be142e099fc949e036dfe50edc3609018ddb36b59c00b519b94b9c71aa89e164840430fe4490f0b820219ffff03b1f0bceb6779b19b6592a04371aaea304b2373ac4859f56250f1fd2025348add0219ffff03014c1043910bb8fb360583e974a8668b6ab10269fcc21933be274ff6e81f3d9f03a46975d7136d93ed7c68a01c66f57097fe7a90b1a7716eba02c425e9130ffc5203dd6e587ae2f9d1aa91ce0e0acb5e6348b3ec905d16458998d68bd63921c1ba900309bab507256f5115defc393cd6f48966e15f7da7049ba9c865b7dd7ddfb83728036465e9a5be100d237b0c44ee82ddca4d88eb923bb7b7d50250a3eb908918c9b003fd9924fbbf250a5372da2b16047cbe0666a07a16e5e7119ae6706d55fe5e54810394208e384f7b51dff02ee333ef44db7bd39730e1a184d4e58a2b219b23ad1e360358ccd60346481b82910024546073a5600cb5424bbb257dc918be3789d8af4b7f0310e5523f22a0c367e21f6444d42e1c27bb555408713d92ab352fcc1d8a618e0b031c51378426bc63512498cced5aa6e709e83b29c1aea619e447dea6f336d4a5dd033a8ed8d17cd31dfb4c7fcece7667ec0680ac319c6aefeab46e2277acfa5722f603ce6912c183b87885ef421a640471e90aad80bc023146affdb35619775df7e0410219ffff03c7154ac35b7e31ce7d8754ddc0497bf5fc78785b278f5a3071b7d155ae9ab9d60219ffff031beb564da0951e69ce5e3ce9190cb57bb6cd6e12936d46ec7a284c7d86766c3b032e3b7bececd2b8fbb4442711ce4385a424930fb0b61dfaa7a0359b415b3f435503b2f36459666bc9b8aacc24f78ab709c8e5cd7e40ffc59fe3ed0d1d59672e070e03c2f3c9db830645792279f9de243cabaa6ff033704372996d42a63ae02357c9c603cae2570170ffde15e09cc4ebc0b2081ef8afe4459845c2ca588cbd7e16d348df039646e69f9763eb05511e741dd60db48c7bacd7c99538d0ba915c2946321fc78403d143ba730ed0d040cbc823783382a0a771423762a27912983410d66514ceb49a03eae8c105f000c72d7e76fa936fd8dae8369ec7cd0128eff8a4a843a377f55cb10322949fabfbaa0caeceec1b00b3e1d52d5de6fd972953062dafbef304dd9924c10317c87862b391794d0a38447d7a06a2d31948265a1b860d6b7d0dde2e2f18b74203b4a01a0124f15a4cc8176c6979446a872da40a1d2ec0c006e0b214b603a1ec3a0364fcdbe71682415d0291fed45336befa6d9467e3ce37e80f0b70120bdfe5f14e03704601894f4bf9fb33ff0da62e8612cd61932af7a9204c8df07486934c0d906e035a7e0be4b7df23366765b892449b552c00b1acff97ad2a4bca00f93f6099276c035f3f7a9b9b30b421723e534b40fef02ce1ef8d80de6c06955b45d39786e3a5d50369ca4ebdce631ee05b976bf06cdbcff8694ff4fca3db3de025a13a5f277fffd405581d028a812b4e16b27170af43e12c071171542014eaeb99338cd01ef714b00c0148010818f2655c4d8f05581d023b4dc5c036657b654248e824dd7bf11485681b27337d60ec833995dd0c02470ba893dad6b76405581d023ee1f6d7f7d4ad9aa1b5963defa3d0bdd698e7e57e94c876c3dc2d700c014705ed9155a17a000459532e608060405234801561001057600080fd5b50600436106102ff5760003560e01c80636c0360eb1161019c57806395d89b41116100ee578063c87b56dd11610097578063e8a3d48511610071578063e8a3d485146106b0578063e985e9c5146106b8578063f2fde38b1461070157600080fd5b8063c87b56dd14610682578063cb743ba814610695578063d5abeb01146106a857600080fd5b8063ad2f852a116100c8578063ad2f852a14610649578063b88d4fde14610667578063c6ab67a31461067a57600080fd5b806395d89b411461061b578063a22cb46514610623578063a48301141461063657600080fd5b80637a05bc82116101505780638da5cb5b1161012a5780638da5cb5b146105d7578063911f456b146105f5578063938e3d7b1461060857600080fd5b80637a05bc82146105835780637bc2be7614610596578063840e15d4146105a957600080fd5b806370a082311161018157806370a0823114610560578063715018a61461057357806379ba50971461057b57600080fd5b80636c0360eb146105455780636f8b44b01461054d57600080fd5b806342260b5d11610255578063511aa644116102095780636352211e116101e35780636352211e1461050c57806364869dad1461051f57806366251b691461053257600080fd5b8063511aa644146104d357806355f804b3146104e657806360c308b6146104f957600080fd5b806344dae42c1161023a57806344dae42c1461049a578063481a48ec146104ad57806348a4c101146104c057600080fd5b806342260b5d1461045957806342842e0e1461048757600080fd5b806318160ddd116102b757806323b872dd1161029157806323b872dd146103f45780632a55205a146104075780633680620d1461044657600080fd5b806318160ddd146103a15780631b73593c146103d957806323452b9c146103ec57600080fd5b8063081812fc116102e8578063081812fc14610341578063095ea7b314610379578063099b6bfa1461038e57600080fd5b806301ffc9a71461030457806306fdde031461032c575b600080fd5b610317610312366004613c43565b610714565b60405190151581526020015b60405180910390f35b6103346107bc565b6040516103239190613cce565b61035461034f366004613ce1565b61084e565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610323565b61038c610387366004613d1c565b6108b8565b005b61038c61039c366004613ce1565b6108d1565b600254600154037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b604051908152602001610323565b61038c6103e7366004613d48565b610984565b61038c610a1d565b61038c610402366004613da7565b610a83565b61041a610415366004613de8565b610abb565b6040805173ffffffffffffffffffffffffffffffffffffffff9093168352602083019190915201610323565b61038c610454366004613e0a565b610b24565b600f547401000000000000000000000000000000000000000090046bffffffffffffffffffffffff166103cb565b61038c610495366004613da7565b610b87565b61038c6104a8366004613e61565b610bb9565b61038c6104bb366004613f07565b610d2a565b61038c6104ce366004613fd3565b610f7a565b61038c6104e1366004614119565b61101a565b61038c6104f4366004614206565b61107f565b61038c610507366004614248565b611113565b61035461051a366004613ce1565b611125565b61038c61052d366004613d1c565b611130565b61038c61054036600461427e565b611208565b61033461126d565b61038c61055b366004613ce1565b61127c565b6103cb61056e3660046142ac565b6112fe565b61038c611380565b61038c611394565b61038c6105913660046142c9565b61144e565b61038c6105a436600461431e565b6114b3565b6105bc6105b73660046142ac565b611518565b60408051938452602084019290925290820152606001610323565b60095473ffffffffffffffffffffffffffffffffffffffff16610354565b61038c610603366004614391565b611585565b61038c610616366004614206565b612320565b610334612367565b61038c6106313660046143cd565b612376565b61038c610644366004613de8565b61238a565b600f5473ffffffffffffffffffffffffffffffffffffffff16610354565b61038c6106753660046143fb565b6123c8565b600e546103cb565b610334610690366004613ce1565b612402565b61038c6106a3366004613fd3565b612527565b600b546103cb565b610334612594565b6103176106c636600461427e565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260086020908152604080832093909416825291909152205460ff1690565b61038c61070f3660046142ac565b6125a3565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f1890fe8e0000000000000000000000000000000000000000000000000000000014806107a757507fffffffff0000000000000000000000000000000000000000000000000000000082167f9c15441500000000000000000000000000000000000000000000000000000000145b806107b657506107b68261266b565b92915050565b6060600380546107cb906144dd565b80601f01602080910402602001604051908101604052809291908181526020018280546107f7906144dd565b80156108445780601f1061081957610100808354040283529160200191610844565b820191906000526020600020905b81548152906001019060200180831161082757829003601f168201915b5050505050905090565b60006108598261270d565b61088f576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060009081526007602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b816108c28161275b565b6108cc8383612860565b505050565b6108d9612975565b60006109066001547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b111561093e576040517fe03264af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600e80549082905560408051828152602081018490527f7c22004198bf87da0f0dab623c72e66ca1200f4454aa3b9ca30f436275428b7c91015b60405180910390a15050565b61098c612975565b61099582612a05565b6040517f01308e6500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906301308e65906109e79084906004016145ce565b600060405180830381600087803b158015610a0157600080fd5b505af1158015610a15573d6000803e3d6000fd5b505050505050565b610a25612a69565b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055604051600081527f11a3cf439fb225bfe74225716b6774765670ec1060e3796802e62139d69974da9060200160405180910390a1565b8273ffffffffffffffffffffffffffffffffffffffff81163314610aaa57610aaa3361275b565b610ab5848484612aba565b50505050565b600f8054600091829161271090610af8907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff168661460b565b610b029190614622565b905473ffffffffffffffffffffffffffffffffffffffff169590945092505050565b610b2c612975565b610b3582612a05565b6040517febb4a55f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063ebb4a55f906109e790849060040161481a565b8273ffffffffffffffffffffffffffffffffffffffff81163314610bae57610bae3361275b565b610ab5848484612d70565b610bc1612975565b6000610bd060208301836142ac565b73ffffffffffffffffffffffffffffffffffffffff1603610c1d576040517f1cc0baef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612710610c306040830160208401614847565b6bffffffffffffffffffffffff161115610c9c57610c546040820160208301614847565b6040517f3cadbafb0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff90911660048201526024015b60405180910390fd5b80600f610ca98282614864565b507ff21fccf4d64d86d532c4e4eb86c007b6ad57a460c27d724188625e755ec6cf6d9050610cda60208301836142ac565b610cea6040840160208501614847565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152015b60405180910390a150565b600054610100900460ff1615808015610d4a5750600054600160ff909116105b80610d645750303b158015610d64575060005460ff166001145b610df0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610c93565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610e4e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610ec188888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a9150899081908401838280828437600092019190915250612d8b92505050565b610ec9612e44565b610ed1612ee3565b610edb8484612f99565b610ee482613109565b6040517fd7aca75208b9be5ffc04c6a01922020ffd62b55e68e502e317f5344960279af890600090a18015610f7057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b610f82612975565b610f8b83612a05565b6040517f8e7d1e4300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528215156024830152841690638e7d1e43906044015b600060405180830381600087803b158015610ffd57600080fd5b505af1158015611011573d6000803e3d6000fd5b50505050505050565b611022612975565b61102b83612a05565b6040517f4d38017800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841690634d38017890610fe390859085906004016148c9565b611087612975565b600c6110948284836149a3565b50600254600154037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011561110f577f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c6001806110f060015490565b6110fa9190614abd565b60408051928352602083019190915201610978565b5050565b61111b612a69565b61110f8282612f99565b60006107b682613180565b611138613246565b61114133612a05565b600b54816111706001547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b61117a9190614ad0565b11156111f457806111ac6001547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6111b69190614ad0565b600b546040517fe12d231400000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610c93565b6111fe82826132b9565b61110f6001601055565b611210612975565b61121982612a05565b6040517f12738db800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301528316906312738db8906024016109e7565b60606112776132da565b905090565b611284612975565b67ffffffffffffffff8111156112c9576040517fb43e913700000000000000000000000000000000000000000000000000000000815260048101829052602401610c93565b600b8190556040518181527f7810bd47de260c3e9ee10061cf438099dd12256c79485f12f94dbccc981e806c90602001610d1f565b600073ffffffffffffffffffffffffffffffffffffffff821661134d576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff1660009081526006602052604090205467ffffffffffffffff1690565b611388612a69565b6113926000613109565b565b600a5473ffffffffffffffffffffffffffffffffffffffff163381146113e6576040517fd6eb09ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055604051600081527f11a3cf439fb225bfe74225716b6774765670ec1060e3796802e62139d69974da9060200160405180910390a161144b81613109565b50565b611456612975565b61145f83612a05565b6040517fb957d0cb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063b957d0cb90610fe39085908590600401614ae3565b6114bb612975565b6114c483612a05565b6040517ffd9ab22a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063fd9ab22a90610fe39085908590600401614bc8565b73ffffffffffffffffffffffffffffffffffffffff811660009081526006602052604080822054901c67ffffffffffffffff1690806115786001547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600b549395909450915050565b61158d612a69565b8035156115ff576040517f6f8b44b0000000000000000000000000000000000000000000000000000000008152813560048201523090636f8b44b090602401600060405180830381600087803b1580156115e657600080fd5b505af11580156115fa573d6000803e3d6000fd5b505050505b61160c6020820182614bf3565b15905061167657306355f804b36116266020840184614bf3565b6040518363ffffffff1660e01b8152600401611643929190614ae3565b600060405180830381600087803b15801561165d57600080fd5b505af1158015611671573d6000803e3d6000fd5b505050505b6116836040820182614bf3565b1590506116ed573063938e3d7b61169d6040840184614bf3565b6040518363ffffffff1660e01b81526004016116ba929190614ae3565b600060405180830381600087803b1580156116d457600080fd5b505af11580156116e8573d6000803e3d6000fd5b505050505b61170d61170060e0830160c08401614c58565b65ffffffffffff16151590565b61172061170060c0840160a08501614c58565b176001036117925730631b73593c61173e60808401606085016142ac565b836080016040518363ffffffff1660e01b815260040161175f929190614c73565b600060405180830381600087803b15801561177957600080fd5b505af115801561178d573d6000803e3d6000fd5b505050505b6117a0610140820182614bf3565b15905061181c5730637a05bc826117bd60808401606085016142ac565b6117cb610140850185614bf3565b6040518463ffffffff1660e01b81526004016117e993929190614c9d565b600060405180830381600087803b15801561180357600080fd5b505af1158015611817573d6000803e3d6000fd5b505050505b600061182c610160830183614cd6565b35146118a65730633680620d61184860808401606085016142ac565b611856610160850185614cd6565b6040518363ffffffff1660e01b8152600401611873929190614d14565b600060405180830381600087803b15801561188d57600080fd5b505af11580156118a1573d6000803e3d6000fd5b505050505b60006118ba6101a0830161018084016142ac565b73ffffffffffffffffffffffffffffffffffffffff161461198357306366251b696118eb60808401606085016142ac565b6118fd6101a0850161018086016142ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401600060405180830381600087803b15801561196a57600080fd5b505af115801561197e573d6000803e3d6000fd5b505050505b6101a0810135156119fd576040517f099b6bfa0000000000000000000000000000000000000000000000000000000081526101a08201356004820152309063099b6bfa90602401600060405180830381600087803b1580156119e457600080fd5b505af11580156119f8573d6000803e3d6000fd5b505050505b6000611a0d6101c0830183614d43565b90501115611b115760005b611a266101c0830183614d43565b9050811015611b0f57306348a4c101611a4560808501606086016142ac565b611a536101c0860186614d43565b85818110611a6357611a63614dab565b9050602002016020810190611a7891906142ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260016044820152606401600060405180830381600087803b158015611aec57600080fd5b505af1158015611b00573d6000803e3d6000fd5b50505050806001019050611a18565b505b6000611b216101e0830183614d43565b90501115611c255760005b611b3a6101e0830183614d43565b9050811015611c2357306348a4c101611b5960808501606086016142ac565b611b676101e0860186614d43565b85818110611b7757611b77614dab565b9050602002016020810190611b8c91906142ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260006044820152606401600060405180830381600087803b158015611c0057600080fd5b505af1158015611c14573d6000803e3d6000fd5b50505050806001019050611b2c565b505b6000611c35610200830183614d43565b90501115611d395760005b611c4e610200830183614d43565b9050811015611d37573063cb743ba8611c6d60808501606086016142ac565b611c7b610200860186614d43565b85818110611c8b57611c8b614dab565b9050602002016020810190611ca091906142ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260016044820152606401600060405180830381600087803b158015611d1457600080fd5b505af1158015611d28573d6000803e3d6000fd5b50505050806001019050611c40565b505b6000611d49610220830183614d43565b90501115611e4d5760005b611d62610220830183614d43565b9050811015611e4b573063cb743ba8611d8160808501606086016142ac565b611d8f610220860186614d43565b85818110611d9f57611d9f614dab565b9050602002016020810190611db491906142ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260006044820152606401600060405180830381600087803b158015611e2857600080fd5b505af1158015611e3c573d6000803e3d6000fd5b50505050806001019050611d54565b505b6000611e5d610260830183614dda565b90501115611fa157611e73610240820182614d43565b9050611e83610260830183614dda565b905014611ebc576040517fb81aa63900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b611ecd610260830183614dda565b9050811015611f9f5730637bc2be76611eec60808501606086016142ac565b611efa610240860186614d43565b85818110611f0a57611f0a614dab565b9050602002016020810190611f1f91906142ac565b611f2d610260870187614dda565b86818110611f3d57611f3d614dab565b905061010002016040518463ffffffff1660e01b8152600401611f6293929190614e42565b600060405180830381600087803b158015611f7c57600080fd5b505af1158015611f90573d6000803e3d6000fd5b50505050806001019050611ebf565b505b6000611fb1610280830183614d43565b905011156120bc5760005b611fca610280830183614d43565b90508110156120ba576040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915230637bc2be7661202a60808601606087016142ac565b612038610280870187614d43565b8681811061204857612048614dab565b905060200201602081019061205d91906142ac565b846040518463ffffffff1660e01b815260040161207c93929190614e75565b600060405180830381600087803b15801561209657600080fd5b505af11580156120aa573d6000803e3d6000fd5b5050505081600101915050611fbc565b505b60006120cc6102c0830183614f38565b9050111561220f576120e26102a0820182614d43565b90506120f26102c0830183614f38565b90501461212b576040517f74ef6df700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b61213c6102c0830183614f38565b905081101561220d573063511aa64461215b60808501606086016142ac565b6121696102a0860186614d43565b8581811061217957612179614dab565b905060200201602081019061218e91906142ac565b61219c6102c0870187614f38565b868181106121ac576121ac614dab565b905060e002016040518463ffffffff1660e01b81526004016121d093929190614f9f565b600060405180830381600087803b1580156121ea57600080fd5b505af11580156121fe573d6000803e3d6000fd5b5050505080600101905061212e565b505b600061221f6102e0830183614d43565b9050111561144b5760005b6122386102e0830183614d43565b905081101561110f576040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091523063511aa64461229060808601606087016142ac565b61229e6102e0870187614d43565b868181106122ae576122ae614dab565b90506020020160208101906122c391906142ac565b846040518463ffffffff1660e01b81526004016122e293929190615068565b600060405180830381600087803b1580156122fc57600080fd5b505af1158015612310573d6000803e3d6000fd5b505050508160010191505061222a565b612328612975565b600d6123358284836149a3565b507f905d981207a7d0b6c62cc46ab0be2a076d0298e4a86d0ab79882dbd01ac373788282604051610978929190614ae3565b6060600480546107cb906144dd565b816123808161275b565b6108cc83836132e9565b612392612975565b60408051838152602081018390527f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c9101610978565b8373ffffffffffffffffffffffffffffffffffffffff811633146123ef576123ef3361275b565b6123fb85858585613380565b5050505050565b606061240d8261270d565b612443576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061244d6132da565b9050805160000361246e575050604080516020810190915260008152919050565b6040805180820190915260018082527f2f000000000000000000000000000000000000000000000000000000000000006020909201829052825183916124b391614abd565b815181106124c3576124c3614dab565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016146124f55792915050565b806124ff846133ea565b604051602001612510929190615104565b604051602081830303815290604052915050919050565b61252f612975565b61253883612a05565b6040517f7f2a5cca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528215156024830152841690637f2a5cca90604401610fe3565b6060600d80546107cb906144dd565b6125ab612a69565b73ffffffffffffffffffffffffffffffffffffffff81166125f8576040517f7448fbae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f11a3cf439fb225bfe74225716b6774765670ec1060e3796802e62139d69974da90602001610d1f565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2a55205a0000000000000000000000000000000000000000000000000000000014806126fe57507f49064906000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806107b657506107b68261344c565b600081600111158015612721575060015482105b80156107b65750506000908152600560205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b6daaeb6d7670e522a718067333cd4e3b1561144b576040517fc617113400000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa1580156127ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128129190615133565b61144b576040517fede71dcc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610c93565b600061286b82611125565b90503373ffffffffffffffffffffffffffffffffffffffff8216146128f45773ffffffffffffffffffffffffffffffffffffffff8116600090815260086020908152604080832033845290915290205460ff166128f4576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b3033146129cb61299a60095473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161490565b17600003611392576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526042602052604090205460ff16151560011461144b576040517f15e26ff300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60095473ffffffffffffffffffffffffffffffffffffffff163314611392576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612ac582613180565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612b2c576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260076020526040902080543380821473ffffffffffffffffffffffffffffffffffffffff881690911417612bc95773ffffffffffffffffffffffffffffffffffffffff8616600090815260086020908152604080832033845290915290205460ff16612bc9576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8516612c16576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015612c2157600082555b73ffffffffffffffffffffffffffffffffffffffff86811660009081526006602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000176000858152600560205260408120919091557c020000000000000000000000000000000000000000000000000000000084169003612d1057600184016000818152600560205260408120549003612d0e576001548114612d0e5760008181526005602052604090208490555b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610a15565b6108cc838383604051806020016040528060008152506123c8565b600054610100900460ff16612e22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c93565b6003612e2e8382615150565b506004612e3b8282615150565b50600180555050565b600054610100900460ff16612edb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c93565b61139261352d565b600054610100900460ff16612f7a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c93565b611392733cc6cdda760b79bafa08df41ecfa224f810dceb660016135c4565b6043548160005b828110156130285760006042600060438481548110612fc157612fc1614dab565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600101612fa0565b5060005b818110156130bc5760016042600087878581811061304c5761304c614dab565b905060200201602081019061306191906142ac565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905560010161302c565b506130c960438585613b78565b507fbbd3b69c138de4d317d0bc4290282c4e1cbd1e58b579a5b4f114b598c237454d84846040516130fb92919061526a565b60405180910390a150505050565b6009805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600081806001116132145760015481101561321457600081815260056020526040812054907c010000000000000000000000000000000000000000000000000000000082169003613212575b8060000361320b57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016000818152600560205260409020546131cc565b9392505050565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002601054036132b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c93565b6002601055565b61110f828260405180602001604052806000815250613834565b6001601055565b6060600c80546107cb906144dd565b33600081815260086020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b61338b848484610a83565b73ffffffffffffffffffffffffffffffffffffffff83163b15610ab5576133b4848484846138c0565b610ab5576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a90048061340457508190037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909101908152919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614806134df57507f80ac58cd000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b806107b65750507fffffffff00000000000000000000000000000000000000000000000000000000167f5b5e139f000000000000000000000000000000000000000000000000000000001490565b600054610100900460ff166132d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c93565b600054610100900460ff1661365b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c93565b6daaeb6d7670e522a718067333cd4e3b1561110f576040517fc3c5a5470000000000000000000000000000000000000000000000000000000081523060048201526daaeb6d7670e522a718067333cd4e9063c3c5a547906024016020604051808303816000875af11580156136d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f89190615133565b61110f578015613768576040517f7d3e3dbe00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff831660248201526daaeb6d7670e522a718067333cd4e90637d3e3dbe906044016109e7565b73ffffffffffffffffffffffffffffffffffffffff8216156137ea576040517fa0af290300000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff831660248201526daaeb6d7670e522a718067333cd4e9063a0af2903906044016109e7565b6040517f4420e4860000000000000000000000000000000000000000000000000000000081523060048201526daaeb6d7670e522a718067333cd4e90634420e486906024016109e7565b61383e8383613a3a565b73ffffffffffffffffffffffffffffffffffffffff83163b156108cc576001548281035b61387560008683806001019450866138c0565b6138ab576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106138625781600154146123fb57600080fd5b6040517f150b7a0200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063150b7a029061391b9033908990889088906004016152c5565b6020604051808303816000875af1925050508015613974575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261397191810190615304565b60015b6139eb573d8080156139a2576040519150601f19603f3d011682016040523d82523d6000602084013e6139a7565b606091505b5080516000036139e3576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001490505b949350505050565b6001546000829003613a78576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831660008181526006602090815260408083208054680100000000000000018802019055848352600590915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114613b3457808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101613afc565b5081600003613b6f576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015550505050565b828054828255906000526020600020908101928215613bf0579160200282015b82811115613bf05781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff843516178255602090920191600190910190613b98565b50613bfc929150613c00565b5090565b5b80821115613bfc5760008155600101613c01565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461144b57600080fd5b600060208284031215613c5557600080fd5b813561320b81613c15565b60005b83811015613c7b578181015183820152602001613c63565b50506000910152565b60008151808452613c9c816020860160208601613c60565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061320b6020830184613c84565b600060208284031215613cf357600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461144b57600080fd5b60008060408385031215613d2f57600080fd5b8235613d3a81613cfa565b946020939093013593505050565b60008082840360e0811215613d5c57600080fd5b8335613d6781613cfa565b925060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082011215613d9957600080fd5b506020830190509250929050565b600080600060608486031215613dbc57600080fd5b8335613dc781613cfa565b92506020840135613dd781613cfa565b929592945050506040919091013590565b60008060408385031215613dfb57600080fd5b50508035926020909101359150565b60008060408385031215613e1d57600080fd5b8235613e2881613cfa565b9150602083013567ffffffffffffffff811115613e4457600080fd5b830160608186031215613e5657600080fd5b809150509250929050565b600060408284031215613e7357600080fd5b50919050565b60008083601f840112613e8b57600080fd5b50813567ffffffffffffffff811115613ea357600080fd5b602083019150836020828501011115613ebb57600080fd5b9250929050565b60008083601f840112613ed457600080fd5b50813567ffffffffffffffff811115613eec57600080fd5b6020830191508360208260051b8501011115613ebb57600080fd5b60008060008060008060006080888a031215613f2257600080fd5b873567ffffffffffffffff80821115613f3a57600080fd5b613f468b838c01613e79565b909950975060208a0135915080821115613f5f57600080fd5b613f6b8b838c01613e79565b909750955060408a0135915080821115613f8457600080fd5b50613f918a828b01613ec2565b9094509250506060880135613fa581613cfa565b8091505092959891949750929550565b801515811461144b57600080fd5b8035613fce81613fb5565b919050565b600080600060608486031215613fe857600080fd5b8335613ff381613cfa565b9250602084013561400381613cfa565b9150604084013561401381613fb5565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156140705761407061401e565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156140bd576140bd61401e565b604052919050565b803569ffffffffffffffffffff81168114613fce57600080fd5b803562ffffff81168114613fce57600080fd5b803564ffffffffff81168114613fce57600080fd5b803561ffff81168114613fce57600080fd5b600080600083850361012081121561413057600080fd5b843561413b81613cfa565b9350602085013561414b81613cfa565b925060e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08201121561417d57600080fd5b5061418661404d565b614192604086016140c5565b81526141a0606086016140df565b60208201526141b1608086016140f2565b60408201526141c260a086016140f2565b60608201526141d360c086016140f2565b60808201526141e460e08601614107565b60a08201526141f66101008601614107565b60c0820152809150509250925092565b6000806020838503121561421957600080fd5b823567ffffffffffffffff81111561423057600080fd5b61423c85828601613e79565b90969095509350505050565b6000806020838503121561425b57600080fd5b823567ffffffffffffffff81111561427257600080fd5b61423c85828601613ec2565b6000806040838503121561429157600080fd5b823561429c81613cfa565b91506020830135613e5681613cfa565b6000602082840312156142be57600080fd5b813561320b81613cfa565b6000806000604084860312156142de57600080fd5b83356142e981613cfa565b9250602084013567ffffffffffffffff81111561430557600080fd5b61431186828701613e79565b9497909650939450505050565b600080600083850361014081121561433557600080fd5b843561434081613cfa565b9350602085013561435081613cfa565b92506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08201121561438357600080fd5b506040840190509250925092565b6000602082840312156143a357600080fd5b813567ffffffffffffffff8111156143ba57600080fd5b8201610300818503121561320b57600080fd5b600080604083850312156143e057600080fd5b82356143eb81613cfa565b91506020830135613e5681613fb5565b6000806000806080858703121561441157600080fd5b843561441c81613cfa565b935060208581013561442d81613cfa565b935060408601359250606086013567ffffffffffffffff8082111561445157600080fd5b818801915088601f83011261446557600080fd5b8135818111156144775761447761401e565b6144a7847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614076565b915080825289848285010111156144bd57600080fd5b808484018584013760008482840101525080935050505092959194509250565b600181811c908216806144f157607f821691505b602082108103613e73577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b803565ffffffffffff81168114613fce57600080fd5b69ffffffffffffffffffff614554826140c5565b1682526145636020820161452a565b65ffffffffffff80821660208501528061457f6040850161452a565b166040850152505061459360608201614107565b61ffff8082166060850152806145ab60808501614107565b166080850152505060a08101356145c181613fb5565b80151560a0840152505050565b60c081016107b68284614540565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176107b6576107b66145dc565b600082614658577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126146db57600080fd5b830160208101925035905067ffffffffffffffff8111156146fb57600080fd5b803603821315613ebb57600080fd5b600060608301823584526020808401357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe185360301811261474a57600080fd5b8401818101903567ffffffffffffffff81111561476657600080fd5b8060051b80360383131561477957600080fd5b6060848901529381905260809387018401938290880160005b838110156147ea577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a88030182526147cb83866146a6565b6147d689828461465d565b985050509185019190850190600101614792565b5050505050506147fd60408401846146a6565b858303604087015261481083828461465d565b9695505050505050565b60208152600061320b602083018461470a565b6bffffffffffffffffffffffff8116811461144b57600080fd5b60006020828403121561485957600080fd5b813561320b8161482d565b813561486f81613cfa565b73ffffffffffffffffffffffffffffffffffffffff811690507fffffffffffffffffffffffff0000000000000000000000000000000000000000818184541617835560208401356148bf8161482d565b60a01b1617905550565b73ffffffffffffffffffffffffffffffffffffffff83168152610100810161320b602083018469ffffffffffffffffffff815116825262ffffff6020820151166020830152604081015164ffffffffff8082166040850152806060840151166060850152806080840151166080850152505060a081015161ffff80821660a08501528060c08401511660c085015250505050565b601f8211156108cc57600081815260208120601f850160051c810160208610156149845750805b601f850160051c820191505b81811015610a1557828155600101614990565b67ffffffffffffffff8311156149bb576149bb61401e565b6149cf836149c983546144dd565b8361495d565b6000601f841160018114614a2157600085156149eb5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556123fb565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015614a705786850135825560209485019460019092019101614a50565b5086821015614aab577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b818103818111156107b6576107b66145dc565b808201808211156107b6576107b66145dc565b602081526000613a3260208301848661465d565b803563ffffffff81168114613fce57600080fd5b69ffffffffffffffffffff614b1f826140c5565b16825261ffff614b3160208301614107565b166020830152614b436040820161452a565b65ffffffffffff808216604085015280614b5f6060850161452a565b1660608501525050608081013560ff81168114614b7b57600080fd5b60ff166080830152614b8f60a08201614af7565b63ffffffff1660a0830152614ba660c08201614107565b61ffff1660c0830152614bbb60e08201613fc3565b80151560e0840152505050565b73ffffffffffffffffffffffffffffffffffffffff83168152610120810161320b6020830184614b0b565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614c2857600080fd5b83018035915067ffffffffffffffff821115614c4357600080fd5b602001915036819003821315613ebb57600080fd5b600060208284031215614c6a57600080fd5b61320b8261452a565b73ffffffffffffffffffffffffffffffffffffffff8316815260e0810161320b6020830184614540565b73ffffffffffffffffffffffffffffffffffffffff84168152604060208201526000614ccd60408301848661465d565b95945050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614d0a57600080fd5b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000613a32604083018461470a565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614d7857600080fd5b83018035915067ffffffffffffffff821115614d9357600080fd5b6020019150600581901b3603821315613ebb57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614e0f57600080fd5b83018035915067ffffffffffffffff821115614e2a57600080fd5b6020019150600881901b3603821315613ebb57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8481168252831660208201526101408101613a326040830184614b0b565b60006101408201905073ffffffffffffffffffffffffffffffffffffffff808616835280851660208401525069ffffffffffffffffffff835116604083015261ffff602084015116606083015265ffffffffffff60408401511660808301526060830151614eed60a084018265ffffffffffff169052565b50608083015160ff811660c08401525060a083015163ffffffff811660e08401525060c083015161ffff81166101008401525060e08301518015156101208401525b50949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614f6d57600080fd5b83018035915067ffffffffffffffff821115614f8857600080fd5b602001915060e081023603821315613ebb57600080fd5b73ffffffffffffffffffffffffffffffffffffffff848116825283166020820152610120810169ffffffffffffffffffff614fd9846140c5565b16604083015262ffffff614fef602085016140df565b166060830152615001604084016140f2565b64ffffffffff80821660808501528061501c606087016140f2565b1660a08501528061502f608087016140f2565b1660c0850152505061504360a08401614107565b61ffff1660e083015261505860c08401614107565b61ffff8116610100840152614f2f565b73ffffffffffffffffffffffffffffffffffffffff8481168252831660208201526101208101613a32604083018469ffffffffffffffffffff815116825262ffffff6020820151166020830152604081015164ffffffffff8082166040850152806060840151166060850152806080840151166080850152505060a081015161ffff80821660a08501528060c08401511660c085015250505050565b60008351615116818460208801613c60565b83519083019061512a818360208801613c60565b01949350505050565b60006020828403121561514557600080fd5b815161320b81613fb5565b815167ffffffffffffffff81111561516a5761516a61401e565b61517e8161517884546144dd565b8461495d565b602080601f8311600181146151d1576000841561519b5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610a15565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561521e578886015182559484019460019091019084016151ff565b508582101561525a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60208082528181018390526000908460408401835b868110156152ba57823561529281613cfa565b73ffffffffffffffffffffffffffffffffffffffff168252918301919083019060010161527f565b509695505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526148106080830184613c84565b60006020828403121561531657600080fd5b815161320b81613c1556fea164736f6c6343000811000a00582103b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0508924d42d98026c656545c3c1fb3ad31c0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6041010219084605581d024f0dd2e53dd5a0dca0ebc68e5059c24e060960d0cad0a59285cbaeca070119532e0219704005581e03dd9ec8b59c8b9b0c8d4e2eed5f60f64aa21198decd4c90ce71e25bd79008470120159271200005581e0358c4520614c51f846d242f2d4510a4290dd5168e21260216b960d035000c01470181b06257bef405581e036bd5b5af6cdcc14183664cc1c32b6b2dc80150ba2df52d4fe25b7407c00c0246420a17875bc803f30da9f2e136091624c6b0403907518fa71af77dd1521a55bb37508b2514a5c1030bd0ff826bc0f2c4200d18ae493eca4866780afa892d1b2115c40958a5514da005581e03761a38f00056495dacdec8cd6f4c217f46d3a1f700f3fc1e59edebc930040105581e034c3a9602614db658f413f389a8334bdd14141845f64bd7780965cb35d00c0146b97dcf4d4c0005581e03f491eccbc61aaa5ea9d1565ecad57cf3d27775d20e928e50c656316660040205581e037d322a1f1acba42c146ad011c8c9b9684a45bf1a2c7d5421c75f1e25400c05461938a65d5f0002192eeb031a389bae744d5039f02176b575004376c9597cd6d4be85bda59493a365f7e2b5033e98a8504a7482ad6bb644701a8c560f154f7972fc750d604a7319281336426d0351c2f06cb92007365ce57fca7574e78226289a4bf737d787821d0687fce6e25a03823558c0960e5895ebcef55a2fc01f02ba88a51e7c8c7306acdd8f304cec0c7d0336ca7fad42b4c3011eab876767b163d7062ea67eb30f5a925216b70d5051407f0387f8bbe01026c90128fa59c537d87a2528857e6830288a20f4a212f7d864a4ee0219ffff03ad796a2ca9896c06c7c087b62d02c187dd36281758c7ce31b17790ac7da8d1c903591a963cdb58df809b8d6009d979d71a98385ee02bf8fe1e728999adba11c6d5036dbf77c5ec129305cc700d7b751f5ae6b1fdcb63966fcf8a25c341a80ffa62ce03788184014e215d792347973ea9af85337313d5ecfe3179e0f8574c380ca8d98b038d736af8d7446afe92a92e04b2c41e151734bcc4a5905351ac6ea4c0a48df0bf03b71b67c3b70a6c0ffde0dcc633fe193eb502bc7b0c8a1eef2bf552e525aab898037aa10fef1dc2016c95b7f6c38eabd4d117dd5d400ad282cbd43697fe551e3b400388189412ed7d8f32e8b2daae96b92bdc62d0e5c7f3dafb062930a44bcbb37c7f03bbbeee5df992e230666c25f7dbf708074814733f1dbbf47f57d54c2098fe786903066298fe597c7b2a12d3ca54d7ae06732b700b26996f44787bcab06a1cb6daa30386934972dfdf7d32496f69e905f2aefb85b502a90d8b7f25c2e310eda70c1eec036e78b6455eb1991da236a1a2d6d55f7f0c59719358b15d5f5075144ced861ced03b3a74d85e0613e7eaccd139c7a4b4715a9eb256834e2275b1ad8e1ddff58e3a003ba8950c62036f8da11fdd27330857b697759d1d844bff129fd08dfe92b39567303ac09f33040fb830cb6431a0ca93b70fede97d7b85e7c4fb3b4a075cd142ebe440219ffff03db9271ff66d944f8caffda25dcd46ffcc4882fec79f77a96b5d4c3257c18de3c037a8e4562a93c34d8484a990dd32026817a0e161358425cf9ef57065204020b65036300d77c10d088115e633b1be6b55c7cc754ed2ae441f8cddf22ff5962ec7148036f63e4528887dee28807c93409d0732f9cbed0aab08e67a987bcf5336311ed200329f9ff1bfdd95bf098ba68a319c4343e02af7da01ceed6dba5545eb108606e5a034f6384e4530cf667587c9741c9596c9e96e4747542268d386d02bde1bd83d1cc037a62df2827a9461bcd55baf9e80632d8695b2649d910f925a42784677c5ccc9803f51d466827bced2c3d04269021b000790bb5b5dd3a1b59701053381bd478be39038855d2c23aa7a33cca0fdb79e04d0f6e2db6265b56712e1d175cbcaed34fa0e40396a0934d2d6db5448b6d58dd06f421501241f9de5556d03adcd13209e3556c9e0370221d0fea86cbcd45bd305ef99579afd0ebc203298a57ca5c7bbcee6b6a5bd9039cf15e1a1b26733b257ca52b9252bc3f965b9c62d81bfa362e5f09126f65fe150357272e22e2c90eeb180e0764463af90eea118920d1735fa39d5c3444702e8d190219ffff0377d9f084086d48772ddb912956904841e0e45a42a32694f8a48c40eff86ecc52033ead32efc14079df5e0ce565d37c9f609c656c754d583e889a731e1d9a93653c0365fd840c18c75c365ee58f5f9d7eb59cc57dcf7c5f4fa04adb5e8c6cf9fd4548032fd54ad00d5b2772f443c31052468233d6f8b50c669085e3c82122872640438d03169ad8814a4adcb003285d92c1d8e20e5edf921426f68fdcb817c9ea0c36319a036a212235f7a02a9692c5d3f3aa3299cdafa1a4011aac103cfcb1c4c867a2e07d03ee77de0608aea51f97d9459c33d45025309e2ac5fef06a762f10c134823ce3d403811e7ae4e90945200fa01e5c989dd0c4c01cc0172596d6b5c5d192936d582e8a035c5f499060c4cffcc4944e6cde917eed565a32eaed68299ee6a8c60bb402fbe203be99349368bc7d4ae744139c080c41726ff0d462905a48056c70eb802869f75203c0c47f26fef33854fcd88cde101f6bbc1f8eae564e2e08fbc4069387f0e8f3890399f88b5cf17b1b51d5893b58dcc8a7147b6ce62d6895c9339ed91fd4a465624e0387ecc8fb20ffb0061fb4274b0f612f85ed3f22cd6966b92a37cb68ea96c7ddfa03b8eab55cbf56c46e2db97294919b71f199f51e3f85e71c5ae1490fedf1db50f3034c451501704165dbea683c747fc14fee88f7761463603ef9fcd97f54edd77aa203b44e338c6b6348fb551ed02e7e6f46d102ceb7fd8735f0de9ab560e5d68d906b037ba1c6b4ece1922ba2e723e897920b8b6f55ad8d256296dd343667b10b5d57e903ad66cede9bc5c3d79a0799ff6c62f421efa8c145216a3d3da1b32144e4b87e5603b2ca7181bda5baddbf61e5fb05b3671f4dd09ccbd7efd9666f588332f9dd76dc034fe66ae11faa737fd729519c67fe6ca49c27100cd62ca846e53e2d36a9ef9bea032d1876c3638c261085455978a1ca655a8ffe43883007d90e9603e83637f7dca103bad23f877f92f81924ccf01288a7899c41b23146cd77a7d14e354b89733eaa0005581e03614defb4d06ec20c6291e16f038398d94a41bac18263bca67a71b003500c0448023f52f208ef4a4403b649c4f5101ec2873cb4c992f2db63d60e376497a0787d4a9cc1ad31cc45560a03975a404673e8efae0091049cb2e1eff03eba59d25edc80aa8eb3464ccda66ea505581e03982b3628338f4ba689ef308055c64cca6805a28382ed496c12a51688500c0146c9fd5b8ee40003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0324e78024719ba6817d244e227d807b6b493aaedf71147f11e5d8c6f63007011bffffffffffffffff03b7d43352b73a736432efad8ec584a23ae142522a0bbf506332c4f1ee52b76cc70605581e03ec85009bc71a3d5632a81d8241568a2addff0b66fc43fe42976a9d4ef007011bffffffffffffffff05581e030160449808eaaf832727d3c4e414b0b7791ae30f808dc2b440c857d1a00403031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03252398a1640b1b793ea074c121c402211addb92f8092a6d2aa6021c2e007011bffffffffffffffff03a849370f7dadd194b3dd6316250cffb35a2b1036953847712d434fa09f0a76680397e4c2810a8acdad5b4d94c38f619c7f0832fdb31945db79ee5e348c05d2f98b0219ebc503ea6686e54b23041c09b8437469fa3885ce730f079d33362d81946bcd3b2c04cc03422152b6041d24e2b0906d06c2e0bac21587f78bed3879fbffd5267b5ec9f46a03d9cb3b973f585199352068155680f62c36935a2ad548d5f68fd59d85b6d1482d0377eac92121a52e90bb9d36c7732807abdfd10bf05eceba4c1cf6bdc8e64fdcd10219ffff0309f781880b10f785fa3a21934451e66a68b480a8af89a43c985ad00820e9a695037cb410e4cb0d3b3b1e4263d06ba17c15a395d13162eadd4e852436446163243603192478c1fc52fe214573dd76844cdaf991cf530a487a498010c4f95c7e23c31403dd1b33643334cc3ea710e24a891a65eeb9b76860ab1b3f5fc879ca20b0ee9f3e034c9e7b3a244575b3d267489283689899c38dce2e441070a0519228998db154d003b5955bdd7943dbd3249d9571e542f5d8dafdf5ed2926c9e95958f140de7cf5c0031d952185375b859b03b50fed88bc72629c20a47eb0c6bade5cb8f198f8d00f47037b6bcea6589feb57e7c1576535f4f5451a30ab11e05c638e59cf3db2187bbb5703a8e939c56517fab3ff0be8df8de09db6de7113ff29d9939e931550615de0701403079ce3bd89991242b38062e3874f82355d23b38d1c292094d5404f4ba04c878003bc450547e07977252a4616aa6eb19dab0ee2c552c3c4160f2070d24349a50696035242bef60fa1d8719d59595e870417bfaf0f72c168af86efdf449cde97c450bb0365fdd62d1b7f9718bfcff588e446b83532207c87228745944790ff13ff074a4e03830480de07096653fbc30301ec41cfc28c061d511af80ed9915c016f9ec265920219ffff039149c32906b11155a2449fc4b5b22fcd1483168891e33e2453039efe81e77dcb03909108faf73533fea439a8ea0eab3d24157c591a5ab008d9ad2482f96ff213e6035d8d9c2f0c2a35ccc295571ffc8b41f6343027eb14277e5dae423eea20de2cf9037db6936827a9c87b1c82f1c2a212c1cea23e2b1f3c4c31017894aa5a95c07d4c03772d7f12c365ef89e768ddcf9722c68570b058e55fc5023b86d430644c66272803b0c09491e9085597724051fe88c04ddbdc370f9fb7d5816f98302a15680ef60b0219ffff037dac2e4e4628bc1957b5b29cb9d430ef4902aa8cdff124b0f8a7783f9322cbb003ae271efe445f3ce197c0df21489eb9c2403cdb1b11e3d314cd951c6e9e05de130373d22b20c5b32531c4017b5c12cb475ed20759e2eaf0d630e9d762a8a21b612103c8b6f1d75e6f170f9fbacb5e0244f666f34e97784008029739ae4cff34c1983903e330497113f40f88ec727b0172681f54908f279f8216945c53301f8fae3b328b03321385e1f1ea3a91193664296ab0c2a7726161caa3c17935451affb41ba0082603237f5a40ff7e1ee40bef7da4fba7b1e3230ccc53f73020e69302fcc7c3c8e4dd03d6d79a52bfa9e2860f7d4a91481e44d96dc75cb7df947c907b75a093aad924c40355c026da44189039ff37a9059ca37debc6d28d8e5b42aa0dab8d34972827306e031ef2d665c68ca84d5a820c0f710fa400da526766519397bb94b2f380941c863803046503e6eeff5783f9777b9358da9ba323cd4ff81fdc6643ee1e08d2fb670b7703be557815f053fbe78aa85d01d491931c88857543708c4d5f3c891d2b97be300a03a9a5d0887a89c15d4a5a84c06ffbd20f4884a5aa0ea12fbc5f81aa34d483ad3e03f510f2761a4b66a099ece71fc7aa964cb582d6fcf0b05c3da89500f2f9217a0103cb10066b34d715dd0a592a01140f9d9057182c345f586a5b08a38d2c5ff3152803cba20b3d59202e6f6970e5357655a4278db6c1e660d000f4877b8e1628f0fcf803e0b0f040e8da83b5615a1af52a61a1f027894cf1af4e6e1d96551b70efc4148203d0687bc8613a2d711c0ad42e7a9c6557bfe6c1368fdf0ab50146d5bf6e14c28f032a7288ff242ca88d49a148bba9b6187bfef0fb803e261448a5c06edfd186f23303c5279d77dba88af8ff64b7d81239b9c83711aaaaa387ade5c4b5cab5ac5f81870308a9d957d7afdd2c0cf51fef328ebd7fd85954035ff683f6eb17dae11251a3a805581e03118795a4239e89625569180fda375b348d8b1c80499f4b24b93035df500c14470f1237d19eb40005581e03e16873b4fe3b025d325e6b3d2598d2e841f325536bbed64d9754a058000c181a4653d9b24a4b3003165422731849561e547b7d17201d3c5e9b7425a818ed569a47b6a96cec601c2f05581e03ca4caed82493bf939c4a3077def4b0ff8e269449b9790dbaccca58b0a00c0246b8a09ee3b00005581e0385a4666ec7089abe5405555969caee57ac6162017804b622a323d5e2d00c144705ad083e4b020003b746c83d18d46f19062b1d49649cb49a280cf1806d666c2dea5827330f3e5b7704592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a02fea58ead8998a2bfd00058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604a02fea58ead8998a2bbe800582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04d11d2de895f2adf329160dd1e6c0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820dd0f5c1552859c2867a055ad8b2b4ff31a1b3eb6705806bef5ad064591a8ef6f005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85357f5e89f3eb34dd8c56d6d829857c7b873e32402184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5ddb0000000000004017c68ab06486fb00000023fab32d75beb14c590a120058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f547c978e7d9ee04669efbae39eafc71bf2ab5aba280218480219b45505581e031bdf97edf56f849a7e5c8fd93f23d1938fc79bf27eeeadd4cc777087100701192c1d05581e03064da61955d78d05d41cb270cf87c60780b81be7aa80404c6a41034cc0040a0219127d03f729e02ccb52da54291aa2ac613ca15d0f4b2b48ae5b0644bd6b6501314ce165035d455553107707eeeeb35769764cb3168c66bdb7d572314c3205afe9da67a6b0036db199d5827511c3bd96e528a0f201e05439adf730192e6d78d9f774df1fcfb903406353a0338dcacbbeb69cfb518bfd21cd0bb9e879c82bb2c369b93cd7048b220333be833c82d3cc8e8966f9e99de5a4f98a63f6cb78f9c96eb98a4da78fa9a5e503965a638e81f97d1b7083d26bcc4854b28c80169d2e2c49b122f89502a7d09fda034877954c20c64812ae7b1f9b965ae7e1284f9a401ef7905b3239fea1203f03a203354604bde03374ce07e96c25ccc46e33bbfedf4a1f2bbfffe92d226c6d4d4b00034b7dcf615617bfd33a11512006b6dab6ce2115cbf91ecf8da3aed62b53fb9bf60219ffff0352ef48d79f1c5d80fb4a50f651363038005624737804fb37f88c19903ab20a240219ffff03760869cadf83edf4a8954a3c2f5aab79a360cd287231e33fb85250bac281071e031a3d1bb505164e0ccd9921a7418da1ac41de9f4638ab0acf3d5d21959a05d0770347533340b54a085a269206137e57ee27a2f77c3a7aaffdcd2c6f2a4d03e5ea3d0358a328daadd2c1bf838bfbdc1a99376e6c51cc600c7ab01676118704c71608f303d0be6a88a2db887369217606e5ca3588a33b5718c4755184545e19f8f610b08d039c7de23215807fbdb4d1bdaf46f070a08c60470b084236ccd9b1a0512d83d34d0311733d18e7f329a2b49020efee2b61974bc2658d4e2ea8ff441f466dcc7e62e203f654c6b8268b870ed020574ea004860a8035a79a0f6226ba0fffdb6baa17cfb103003d1b59ef6de18234479c2f44171627d83425fe0bbe9e506e2c8e1b4bb551ef03d868adb5da311cf9914f99de90737b6d1462237db4b620367f03a70d4496174b03793b619e19e05b7e39778aa14bbebfee1f47eb879e754e7ac3b498fbe3b76f440365c72395da27598b58d65ab2b09c2f54039172b58fb27a19a657df5fef83903a03044ab4e257842eb4b2b221b9934101a031aed7053c0f3a897808fd6725e4f2070318edbd6b5f86212f56bcdbe835d824fa4386942041b77539e0592ab74721ac550219ffff03e0dde60c18315283735753a5765c03e9727ec47ef7485d8c58bc1111165ed2fa030f0e36638910a4211f0edc0b90fd4d73e05d5ee10423075942371de0364ef39803415f53c2b708ae22ab66c2a8603639c830126cde553eab32b045c56bdec13163035b315f076ba06f067154e737c81503c1f73d7601627515560e239eeabc77a73803b9e5211e77f8b7c1bd46cb7a9a9a4c7466eeabe39f53a3ae826c8082b411ce320358158983d8dec5fb4fde37efeaab3aca0e196d26ca4edead0b9b5ffc020e5dcc03555db2a22bff354acf1623062fa3b4ca6495952c159b59daa26300aba7a719b10219ffff038e06194af9687c543b82d0622817a695634e6dc1c7bb183c149e5dc525f6b42a0334ea124b7d7a1d71dffe4c78d5f0031ce5df0ca2bf185bf1ac849ab1d1e1b6f2039106a1fbbc428968a1cea01197e3101f2dc2b17c593dee1fbe7847a6cc9a6c2903c3429eb0cb7afc8814319bad7f844188c7fe488d817f099e8bd1b5bf910587bd036d36904d052c6cce69f3f0edc353ee7937c9cc83e1bbb47d9f84d1b8845bd59403f51b2d97b112160ec571c4bf5c755673e4be28e43ed8d3dd6446031a9c791f99031975818d51188da251ae76289d6687806e9d3e1e8395cf2a17a06e6d0cb8c034035890a03998cb45dd6399de1b8b1808df9ad4a73510cb346d3bce1df6feab202f03093edd1da2d5c239b5d417c7e5c14f56398ae70850b5b00f8d8e85302720fe3a03bc2b58e9d7f01e0b90da66859762667cf0200589a8dfb24911c36e5834bae641034c49661047484458d2e2080a4814f3955c48d96b138803d611b4b1a6795e7aae03e41ca0da3d5fc01076eb2e41098f49040dec8d2e77979bf127cb128e00ea0eb903eca7c9dbb70820ef5a817c5e994f7f2b9ebbe93c689b54be9998e88d6481bcec03aeb08f2611fad4086e55ffb7a52dc63f768f120bd54ca22abcffd743ffb5b35103cf7417dfd3c9f6f1afc8efaf28cd8955e13881cf25d0c7bcd502f7d0d1813a03034be648a6e802319de9fcd26afe36b99dbadca575e29e31124377f7098dd23494031938150012ef8043fd8af7f276fe42b5e8efddc45609a2fcbd7c055b87c7fdda0333f244cc79610a60334c057f56253d2f25f0e073725e5a9636dab1c5b5eff0b90316a98b8fadecaca8ce3f3ebd65e6a49052c2392842e2ba28921c9ece4e5fc171035dd06d0c72b470e97e70ab88d9ed20aaab48c61dee8f8a65dfefc8c5a0d1465203cd6293b9f3a605c4ac1ae3a18aeef293d6bbdc7e85f11f0a3d13cc8425671bec03272fcd8f20989403f954e79cd6dfb00038b549c536f21c8ad9e7072b9f9a8e4203f502f293109bd1a464457b78958185c0e75249f46e075443403f265082b1949b03f0d8694cf22e8abf29c0af96a479867ca0aa9aff092901cacf2afcd2e44416f103fccfee60f3ebd90f84ba550c26b5b7623a4d02461a7b728242dbabeae219183703d34b6ac172037cfb9eb84b9c553db8ad7acd3a561b3d9f72a6f21f21c8d0658a03de37529b3805fad118ca94c107605d73bc617e3e36be916bac82a54fcc752d3803b1c64329ca5cf17b8acb1301b92d5f6986290fca8ed97ede7490453a649fdd5a03601b010ca47cb37775be34112720a4747d60c04f8a4efefad046228fd9088266036bf7ec123e12251df6bb62c7f3709174ddc12734d901800df2a0220ce6ccb09903d94f93cc2c98342552a7cf9da5de8363c3495276187e600bd2214445b45c986f0351f476988a52fc2036715d4cb7a7f6e6f5b8ecd908fa4dabd056053fdbbebbff036a69457617f052f6c314ad58a1252584471cc3517731dba788489c37340a40bc035091d67560d58bd83a44b8aabab38b9b40fb5c0012660c25b3527c94f3aa377803ea1ea0042e429abe6da9c8648a2dcab87616916a3dd3c8382e4c83c1d71abd6303c0634c4a536f79fcd978c194df4aaa42f87984d024166bdba901cf9b92b7ea950375c9f7d5df4f9539366c19f6e775493167ac73f3c5e5fab00f724f858f1f6ccc034929d1d974390625fe05c7f30a33838fa253170113565890731cdc441a1fd5ef030f222b018413a0a7e333cb13a95411abefa1c6c05fde6305196968191610c63f03deb28ef6156678bdbcd2c2e32a8c79394f54cf8fdee7794ef025d24d90fb251d0364820756fd2f652c8e947d5b620fe8c7e8dff48fea511ea960c493359c848df30338e45c0f9a2af4a4cc7e27f89b95dd275104c872949660e70b93243d4a61a82203ae3d96227824904653b8db0fd750af90dca608d6cad7fb4b940258e2f57f4a5a05581e0387b4cfb8c83a905655f240502e70e3b2909fda2bdce2ed19c3880dec300c0147458cee871a2550030209703c1fbfb02c28ddd6cbc7a824c55779233cc4c61b9e7dbc31215833a17f05581e03093d0b36ee014057365084f2a3ff25ce125846452c2397664f935587a00409045903416080604052600436106100435760003560e01c80633ccfd60b1461005c578063893d20e814610066578063b60d428814610091578063d5e3af451461009b57610052565b36610052576100506100c6565b005b61005a6100c6565b005b61006461014d565b005b34801561007257600080fd5b5061007b610248565b60405161008891906102bc565b60405180910390f35b6100996100c6565b005b3480156100a757600080fd5b506100b0610270565b6040516100bd91906102f0565b60405180910390f35b6601c6bf52634000341015610107576040517f18d5fb8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b343373ffffffffffffffffffffffffffffffffffffffff167f5af8184bef8e4b45eb9f6ed7734d04da38ced226495548f46e0c8ff8d7d9a52460405160405180910390a3565b7f00000000000000000000000076f0aaa64b0e4d6e4a783d4842bf4ceed50c032773ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101d2576040517f96baec8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610218573d6000803e3d6000fd5b50477f430648de173157e069201c943adb2d4e340e7cf5b27b1b09c9cb852f03d63b5660405160405180910390a2565b60007f00000000000000000000000076f0aaa64b0e4d6e4a783d4842bf4ceed50c0327905090565b6601c6bf5263400081565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006102a68261027b565b9050919050565b6102b68161029b565b82525050565b60006020820190506102d160008301846102ad565b92915050565b6000819050919050565b6102ea816102d7565b82525050565b600060208201905061030560008301846102e1565b9291505056fea2646970667358221220d384a7ecee5ca568b41492c8e169cde9a87abe68249e56625b211f299d4c310264736f6c634300081300330605581d02b950ab18a89e8300729bb53f0938e0ca38b1cfdcde0e6bbe82ddbffa0f0147d362ef4c22c00019034105581d0253943dbf37aa908598bda9f17283c219485cf3cf7431adb112039c8b04020307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581d02a3a8e5e1d02de499b16be70659fdaa3a81cb719e85f5b659939dd8e107011bffffffffffffffff02185105581e032d59f452336630b31eab975a84c40a010972f1dcc135615791c90ed9f00c0e4715b47357e83c000336518780e68cf08045d3ca17941b2125c9db0de629348357111f2712be514cd905581e038d133ccd7ac7c0f63242fd7e2f36d16210a3ae080e7167889f713e94e00c0347287bbee6443fed05581e0329386a04129d5ba38fecb53820100a7b595185f4974f04d045f31e5b300c024701c0b2f3537bc803fdda922db3b9b498a9b3bec76cd9ed4b36abad2b7b8033b8b87e2bf3b1eb2e8d02195dc503c96fdaffcda6da8390b07af446251a49db065aeafd85701a9174140aebc76279037fda936b8498b4db1f0cee95e8b9fd8cfb8dbaa9b8be4766970e9561bc22fc08033d8c352e618c5267db45660dc9df2e697e7a27ab5d629b938cd72059478c843703e181bdb1e145c599ec670fb8909f05813743897039600440a3375ff4a8016dc103a1022f9b276ab910ddf6fc0353513c88eb2d6e69a656854faee6c8f5eec9502e03572308c78ec77c939a448f659d7666c97a903b15e39a7487920b4b0796fcad4a032638dd0d459327755b3d5d374c775d42000e5ab607074de28ca825ea1ba490ec0351c22894dd2b12dd594bb1cfd77215f14840b51a7436a2174ea874320dde0f070219ffff031272545e0cebc5151309583fc9aca0994f6ab310729164428c59b0c537411c7b03b5e65ab14419be567bb1b87a849640fc310b8e8498851695d04a1a099b26b341031e8e3e452236994c0915f3e6244c15738937587fae7bc7deefb93df2d4064d99036269e60cd15a69f6c0638bbe55f33590df4adbbcfcb709f66779c43844770b720219ffff03566cd4f1b5dbd8204a7335d1c62ed56884b2f612ff6091da34327260552dd0dd0219ffff037f3ac350f2a424d03cd97502f87617a85de9c2e81d7c5a6dbb85e801899159c603effe67b2069e6746e4e5647aec547b2727a238968b12799ea2308683ba621a060300e32a7265f3dd254b1863ad462b2e34a4f50dbf9db04cfdf45e475ea3b6f650034b3bf06c556d2b6d70277c242dfc4e4fa1a121267bb0b1c9c44de50b7827a6e503ac39b3b18087c905247a5cd8d1691707b7321284cc2f415047f00abea9e4af6503e259c2ab569c24af5bdac2c74e1f15c38dd04bb7cf9019fbbd1776bd635ffbd203127b652a88c233bd49ff6d9073cdc9aa59faa5703e40793d43c1ad2f92e737e50388927e8bca908ec26b252d00cacaccb33eb6ccd9d1ecff467f13379a78f4394703d4794a74aca5d14b9ca11c1ea523cb665b6c0e8ea9fd0b15bae56061251a1ebd03d6eed844c9fde171ea61983d19dd50b2e36a42de8febf69385f84ecd6f33f5be0354cb44159ce8a66e5b1b7212ebcb5ec1dd528ddc061a459d9b88937fbc1b4fa405581d023641145b1f90923e5a07ac8d368eaac61c4c16d707562a585adc54190c024737f16bda9f826a045923c06040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db1461126c578063137c29fe146110755780632a2d80d114610db75780632b67b57014610bde57806330f28b7a14610ade5780633644e51514610a9d57806336c7851614610a285780633ff9dcb1146109a85780634fe02b441461093f57806365d9723c146107ac57806387517c451461067a578063927da105146105c3578063cc53287f146104a3578063edd9444b1461033a5763fe8ec1a7146100c657600080fd5b346103365760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103365767ffffffffffffffff833581811161033257610114903690860161164b565b60243582811161032e5761012b903690870161161a565b6101336114e6565b9160843585811161032a5761014b9036908a016115c1565b98909560a43590811161032657610164913691016115c1565b969095815190610173826113ff565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610222602085018096611f93565b918237018a8152039961025b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611437565b5190209085515161026b81611ebb565b908a5b8181106102f95750506102f6999a6102ed9183516102a081610294602082018095611f66565b03848101835282611437565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611437565b51902093611cf7565b80f35b8061031161030b610321938c5161175e565b51612054565b61031b828661175e565b52611f0a565b61026e565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103365760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103365767ffffffffffffffff9080358281116103325761038b903690830161164b565b60243583811161032e576103a2903690840161161a565b9390926103ad6114e6565b9160643590811161049f576103c4913691016115c1565b949093835151976103d489611ebb565b98885b81811061047d5750506102f697988151610425816103f9602082018095611f66565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611437565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102ed8161141b565b808b61031b8261049461030b61049a968d5161175e565b9261175e565b6103d7565b8680fd5b5082346105bf57602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325780359067ffffffffffffffff821161032e576104f49136910161161a565b929091845b848110610504578580f35b8061051a610515600193888861196c565b61197c565b61052f84610529848a8a61196c565b0161197c565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a2016104f9565b8280fd5b50346103365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657610676816105ff6114a0565b936106086114c3565b6106106114e6565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103365760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610336576106b26114a0565b906106bb6114c3565b916106c46114e6565b65ffffffffffff926064358481169081810361032a5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c209486156000146107a457504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b905092610783565b5082346105bf5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf576107e56114a0565b906107ee6114c3565b9265ffffffffffff604435818116939084810361032a57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156109175761ffff9085840316116108f05750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b503461033657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610336578060209273ffffffffffffffffffffffffffffffffffffffff61098f6114a0565b1681528084528181206024358252845220549051908152f35b5082346105bf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b8234610a9a5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a9a57610a606114a0565b610a686114c3565b610a706114e6565b6064359173ffffffffffffffffffffffffffffffffffffffff8316830361032e576102f6936117a1565b80fd5b503461033657817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657602090610ad7611b1e565b9051908152f35b508290346105bf576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf57610b1a3661152a565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261033257610b4c611478565b9160e43567ffffffffffffffff8111610bda576102f694610b6f913691016115c1565b939092610b7c8351612054565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610bd18161141b565b51902091611c25565b8580fd5b509134610336576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657610c186114a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610332576080855191610c51836113e3565b1261033257845190610c6282611398565b73ffffffffffffffffffffffffffffffffffffffff91602435838116810361049f578152604435838116810361049f57602082015265ffffffffffff606435818116810361032a5788830152608435908116810361049f576060820152815260a435938285168503610bda576020820194855260c4359087830182815260e43567ffffffffffffffff811161032657610cfe90369084016115c1565b929093804211610d88575050918591610d786102f6999a610d7e95610d238851611fbe565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610d70816113ff565b519020611bd9565b916120c7565b519251169161199d565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b5091346103365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc93818536011261033257610df36114a0565b9260249081359267ffffffffffffffff9788851161032a578590853603011261049f578051978589018981108282111761104a578252848301358181116103265785019036602383011215610326578382013591610e50836115ef565b90610e5d85519283611437565b838252602093878584019160071b83010191368311611046578801905b828210610fe9575050508a526044610e93868801611509565b96838c01978852013594838b0191868352604435908111610fe557610ebb90369087016115c1565b959096804211610fba575050508998995151610ed681611ebb565b908b5b818110610f9757505092889492610d7892610f6497958351610f02816103f98682018095611f66565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610d70816113ff565b51169082515192845b848110610f78578580f35b80610f918585610f8b600195875161175e565b5161199d565b01610f6d565b80610311610fac8e9f9e93610fb2945161175e565b51611fbe565b9b9a9b610ed9565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b6080823603126110465785608091885161100281611398565b61100b85611509565b8152611018838601611509565b838201526110278a8601611607565b8a8201528d611037818701611607565b90820152815201910190610e7a565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105bf576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf576110b03661152a565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c360112610332576110e2611478565b67ffffffffffffffff93906101043585811161049f5761110590369086016115c1565b90936101243596871161032a57611125610bd1966102f6983691016115c1565b969095825190611134826113ff565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c0000000000000000000000000000000000000000000000000000000060808301528351948591816111e3602085018096611f93565b918237018b8152039361121c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611437565b5190209261122a8651612054565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102e1565b5082346105bf576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033257813567ffffffffffffffff92838211610bda5736602383011215610bda5781013592831161032e576024906007368386831b8401011161049f57865b8581106112e5578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83360301126103265761139288876001946060835161132c81611398565b611368608461133c8d8601611509565b9485845261134c60448201611509565b809785015261135d60648201611509565b809885015201611509565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166117a1565b016112da565b6080810190811067ffffffffffffffff8211176113b457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176113b457604052565b60a0810190811067ffffffffffffffff8211176113b457604052565b60c0810190811067ffffffffffffffff8211176113b457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b457604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01906080821261149b576040805190611563826113e3565b8082941261149b57805181810181811067ffffffffffffffff8211176113b457825260043573ffffffffffffffffffffffffffffffffffffffff8116810361149b578152602435602082015282526044356020830152606435910152565b9181601f8401121561149b5782359167ffffffffffffffff831161149b576020838186019501011161149b57565b67ffffffffffffffff81116113b45760051b60200190565b359065ffffffffffff8216820361149b57565b9181601f8401121561149b5782359167ffffffffffffffff831161149b576020808501948460061b01011161149b57565b91909160608184031261149b576040805191611666836113e3565b8294813567ffffffffffffffff9081811161149b57830182601f8201121561149b578035611693816115ef565b926116a087519485611437565b818452602094858086019360061b8501019381851161149b579086899897969594939201925b8484106116e3575050505050855280820135908501520135910152565b90919293949596978483031261149b578851908982019082821085831117611730578a928992845261171487611509565b81528287013583820152815201930191908897969594936116c6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156117725760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c16804211611884575082871696838803611812575b5050611810955016926118b5565b565b878484161160001461184f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846118109a031691161790553880611802565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561190e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b91908110156117725760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff8116810361149b5790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c03611af5579185611ace94927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec98979694508715600014611ad35779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff000000000000000000000000000000000000000087611a60565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f000000000000000000000000000000000000000000000000000000000000000103611b69577f866a5aba21966af95d6c7ab78eb2b2fc913915c28be3b9aa07cc04ff903e3f2890565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a604082015246606082015230608082015260808152611bd3816113ff565b51902090565b611be1611b1e565b906040519060208201927f190100000000000000000000000000000000000000000000000000000000000084526022830152604282015260428152611bd381611398565b9192909360a435936040840151804211611cc65750602084510151808611611c955750918591610d78611c6594611c60602088015186611e47565b611bd9565b73ffffffffffffffffffffffffffffffffffffffff809151511692608435918216820361149b57611810936118b5565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611e175750848803611dee57611d2e918691610d7860209b611c608d88015186611e47565b60005b868110611d42575050505050505050565b611d4d81835161175e565b5188611d5a83878a61196c565b01359089810151808311611dbe575091818888886001968596611d84575b50505050505001611d31565b611db395611dad9273ffffffffffffffffffffffffffffffffffffffff6105159351169561196c565b916118b5565b803888888883611d78565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611e9157565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611ec5826115ef565b611ed26040519182611437565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611f0082946115ef565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611f375760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611f7f575050505090565b835185529381019392810192600101611f71565b9081519160005b838110611fab575050016000815290565b8060208092840101518185015201611f9a565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176113b45760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff81511660408401520151606082015260608152611bd381611398565b919082604091031261149b576020823592013590565b6000843b61222e5750604182036121ac576120e4828201826120b1565b939092604010156117725760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa156121a05773ffffffffffffffffffffffffffffffffffffffff806000511691821561217657160361214c57565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203612204576121c0918101906120b1565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611f375760209360009360ff608094612102565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa9081156123a857829161232a575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361230057565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d82116123a0575b8161234460209383611437565b810103126103365751907fffffffff0000000000000000000000000000000000000000000000000000000082168203610a9a57507fffffffff0000000000000000000000000000000000000000000000000000000090386122d4565b3d9150612337565b6040513d84823e3d90fdfea164736f6c6343000811000a03ec8da284b0ee0d2f26652620f8a16d132bd1993d2d9b84c83441028dbdc4087803b17373f0513cab74314f88f3fdcaa1774730f6eaa76c5a7f639b392ec6319ee403edbd9813b369ababee27b1625288142658fd502d9526f4ba513af2d237006ffa03254f5f56b69147d207638ba2929cbc243d0f4081e5976982430d4aa74cf033de03dd9da7fb73c474638242dd273cb3d2da45cf67127f9b252b6c76aba61d347211034e062d576cce29fd28a334577b127947e484fd54875a1559f4d27d4bb4e66699037782340f82bcfb763b42bdd030306f8678dafc885d327d3978ade5d1cdb9e8ad033cad38bcd2807172974c4562e33e77aa6de95c1ff98659a6d999664e54b4f122035d39ee07a078e1187ba144b17e0c727b142e5e14d00449e786f97bb7fbe710ac033f4624f2eb74dd3023d03424185c328a4d9b176d9ba99e374c4bd7ddb978dfa70365743f1ad8e1fb5186873323d7458eb44714edc3c456426bd42a3a8d99fc55c50365734f9c116dbeb237f632080dbeccb7db6c7da39bbd52665149f4cce836618d036d8f809b3610ea871c40bdba9b6286739dfc004528b89deb8c90bb4a607c096003c15450cb31961cb586a21904fd2180509b5a44bb1b64309941a1ccc9fe72c96203e774873aa03246c5ba824032049d3b2992ca103a618d41aebafa61b5a3847934038d2ad66b01bb32e67006dde570e5c93239fd52e8b441406bbdb48608122304180319557b40dc97fc26e8dc1ed502611952840334cc767e55c3b4099c3ab97e0f80038f1653a5732c60f8075d6b4b4947a37cf95eb9ca7e86ac4e75e59ac7e80c09160346ac26c2f613198993ec9e47ebc78b61fa79239057c3f6051cba9bb8116c49ea0303fe732a2c1d66f9152731edb17143c15c9449e5524e44333f600e8405685dc50379b1ad70522492778d24262651a69a9594e4101eeca0819526daceae866e5d83038b9e17e377c38932d593d2be16d73378607a6bd626d9e7af1ed5452ef3e65831030764633d12f369fbf90a78e884fb6738f805daf08ed90a997143e2acae974ec8032a239f47abb815099c7dbc557dba02a3e37598db5dfa8d86f6009c3eae985a1503fb95df6d3477ea67064a663d5178f78cf69bb314b5a224577820d22a3e63d42103f1326e7a3fce812b206ca19ae2e0e37e1ba29e24d85a6957d234794b7b8592c2039a857fd6beec1907bc1e135f23fc175f04833dbca189b98c0760601aa4eb2b4703fc0f11b1afc10b3a1d8480026d79558ff4dce5a8db8823ec442837c5db0cfe8503eea6200caac22d134cde0f205ab152fffdbf3a7646696970ba507345a3599103034cb6e5a7f7cf84907146f31e961c97c41c46668db477827eb3357c3e28c249630355f662b4e95ce8c7afe2a99133ccb4fdbda13adc493012e679e5360844c1ed9d03fc0f8963305c1e5ba245e90c04a2763e63c1ae353ba4e5061e519d0343c515ae033d9a2a5a3545bf975c7252be70adbe0459739121ee8808997d021c5fef7bfed00369f495f7a2e113b9ff270d876ac4fbb26fffd7b690ff5f0e14061e0bb30f8414031c10b1f94ae9e4a9eea16d73b54c1da7af7428ec139fba6f98087bcd40aff0ae03dfb065b8e273277e3a333305448b92d473e1a30313bdf095e5f928c2223f4dc103332c6a2d886bcf92ffe5985bf2693e7f574242520349ec2af70d36f48f5ab3a80375bdc5c6b4278e0353200ecb3cb0c0cf3f1765fa5ef74e31e13e493c1730360703adca88f8e727a3ae04e2ee7331446cd9b17ba4024b15eb3337606194b848b6f203a7cf13dc002663f5ef6a67c42ae9bbcdc9e57023ed1d124cf3b9f0364195c91b032bd78e0a7d63416d53cc9fe9f4ff25d7f7e8796cd84e70bb1f36eebf6975c86e00581e022f8d52d39e185aa7609422421cab43ab1a97bee930740579aebd72cc17581b01000065aac0daffffffffffffffffffffffffffffffffffffffff00581e021be54f52345d8d434cef36c691bed35a35b8daf721efc0fcc68407acc5581b0100006469284dffffffffffffffffffffffffffffffffffffffff00581e025d7c4f0dd5e622cbd0ad0f108653ea803f7213d88deb8fd1729e6c4551581b010000656cf121ffffffffffffffffffffffffffffffffffffffff00581e02123a3d2f6679db174f0e8f20128e50dea7de394b90073583b1f4a213b1581b010000647e725dffffffffffffffffffffffffffffffffffffffff00581e02334e713ee8790ed8c1b51c63ef90381dac819163a52cdb9b7666184571581b01000064d07b1effffffffffffffffffffffffffffffffffffffff00581e02900d5ef8590b65c24dd29035e0e734872307891f71a90a749e8a6d3001581b02000065f6891cffffffffffffffffffffffffffffffffffffffff021928990359b51afcf5ef0afab0325986204a961ee07191ad8597a190913f7e758b52d98f034af2c8edff3c61fcbd307308b43a0c0b1ec4d9676637e40b3a1b1d87eecb543903c04f4317d40f16d1a8577d7f42fab53823b18f1a61b3b9d90598e1e31ebb509a03c467775d0987e1dde8ec575d15973188b5f2d615cf54a4b91e61060ab6021ca1030425143130d24ac22e08968173ba5d9a8c6b74952c280f1a7ae3a513b4f3e1c0033dec4d20af68aed7bf6e99e93a145312ccb87d5737f9672fbccd34b2a0d3514503913d48f5b9227d83226b5054c15999675820761705ba4378ad031afcd6fd1be40376d902a6faffd375f4450085346f51aa716207a4ce4569fccf3fc160a6e5e8e3033556d323c6ad647cf35cab66560d502d3111ebacdc225b7eccbc103af2abd9020219ffff032d93b68cfea5b6aafa3016a7023f8495ea2cb95a35e7ef2e8c5d6bed2cf59979036a4f540e846ccaeaa61015d2e03474ca5ebe36d7d558bf3580280d4295ada6120384c0c966d82169dbb9eeb6ee826792be8064f1f63caca28f765e36c3ea44d3840398d636a9efda9bd98f4a3708132184c8c7489fed99ac353934ecac6b5b933674035bd1bb52a7893ce9bf39e2358e32ded39863ef1d2cb0d437ce105a496a499e3b03467363287815a49baa451cbd81b2b3ae54ccaeab33ef66f69b707ce9e712995c03ec26f344e9a4457ccf644fd5cf08a773231fd669cc55bc0cdbfd048d8766b7af03096555324a9c28ccf062e94c6e61dd69b532b0bb6b5fd22441ae679caf960d2d0219ffff03963b49404eba4c05bd6d7b7a709ad8fad90cf7768c35fa3569a28f539624e85b0380a05cb37f034895ca44472fbc836d7d8e5f1dbafe386a980933dccc5ea0b6b203cd58ca5f621e8eb4882dcf7c94560257bdaa94335ffac74309f0ee97c07631f70219ffff0219ffff03f1bd5fb8e8071f22c39d058bf031d3cd02e0be19d7609386c5d0a6581f6f76a803b6b93dbdef0bbb26908852529fee742860987a9c30700818c445f146604cd738038dc7eedd353e26adf5a63d0524d4f9845f80583f98376416c29f6015b45c7672032d13b70bb8feb48db756423e97808311dbbe395e90266ece5a9139ce8b446bd5036bf37e66ae2bea686938a8ed8a5ba33d5872477e7fda377fa807d1c8240fe1de03fca02b73057ed5e45fbc1522942ef8d76889f957c4ceeab892886e70e617c1b00324b4e2350745999cd6823e22ea5231f27543ad56ff6caeb57cdd3f552202d47a03f81ca93421861082956f17f4f3fe1c76d30d4981da387886679886beba87b8ad03faf94b898f45590ced636bd828e639aaf231199aa4fb0e988b5600e9f86e868003ba70425fde0dcca4c5ed9dab779b1845fbf23b19d537ee201a10c4df1864fde2030e12bc452551674310bbf8a979b7a8a309bab1f6382a855406a7ec48a8c40d070308b006aae6cdc587cf7e1f37bd2113206abeed054cde6d9b7a58fa7005626b28030ff4f84f1673c02b83e397fe15b98b178e7e76bc2a6b4b5ce42ab432a93d607a03ddfc51276910dfd8f83ef96708e9e4bed3fbb6b8ebb2fceac86fc21bf10eeb9903b56402e78b9f25041524ce20601898ec44997f724f82b48dc640b6d57c6d77760310d7dc1b69b33da9cb19c7fcc6a44b4791ed437331cc17c8ceb407695b1c88ef03eb08af8260bddd745e055948b32803eed655bb648f002c3bac378e08fe55c9790376b91fbe1fb7538f9553ce839bceed1a30c58feddbf0de7e9928a582b3983e4d03bb503809be7d23b0bfed42fbbb13cf25b516848bba55ddcd9d6043f8ab9111a6039483e0766ce2b254e79d2726779beced14734bb7cb7c5078a55566109f1a349f0327939fd4d1dd4467547ee6c3c8b51bcecf973412df4526b5e977e038b43227bf03fa4586f7f20643bd35e2e45c01c1744b61472fdc5d90a3c40ac129b4f2f19d7f039cd5741fd8919465940fe1a4d17b916c1ed145afec5ab2eeea19a3fc51fa49d70396bbeb2a8481ff292c7cf63084b14ea19600754d9f53a79f25a53c9194f6e0d103839535eadf023f217d3a08f3dd3c1f84e39c01f33b49f644252c6d973738dfe803fa90c250a0792974d4cbdd14bac547a04699a14f2162e85f27318f8ff4358cde00581e02692c1f864e63717ea7632405cb0a9831ed3f16c44986560d510ff7b944581b01000065d3fb14ffffffffffffffffffffffffffffffffffffffff00581e02140d57a44cb670b7bd9b7c37e2d88504a4ba271100b0da3a0cbb594caa581b0100006466c61effffffffffffffffffffffffffffffffffffffff00581e02d8ecca82a04003ef69b79963c8f28d09c5253d1689565b53dc66c48e2d581b010000652dbb36ffffffffffffffffffffffffffffffffffffffff00581e02e72d1a4e3defbc9793444646f7db0aef1fcda8c142528a005e96c6facd581b01000065daa0b1ffffffffffffffffffffffffffffffffffffffff03a4b85c490d54e0ca34fa88fec11d6b79b1652d3b941e82d20fbfd26cd99e7fb90219441a03b1328098c9fe3817c1d5fcc8440d3e0ed509b213a64872281e36dfb8875ba09d03ccd5f4b930141261e5e9546fcdb388e34cad5d9383e42449069557ed165ac963035ad88ee5bd76e5317debff730ea9d50236d77cb5bb58748dbc9476d3a8394a690219ffff038611b46214bd7f0b6a4fcf728b7fc6bc3064a70209805ed6488a50f406fc5f9403b612c9de5a132f8272d065a73bceb269e8e52280898467cadfe37fe2b77108a703cf44ee67dccf0560f18c761a16a804e4e0c53f4132861460da30cb06b0b067e80389bcff02e8947e7371f6af78f11b261fbd55017ff7359a8fd13f6e82530956740375ad6f8f7842d318d4b20242191786ebddb5051da32a1490b31b214f502781350399c0bd90674cdd6feaf69bb285e09b909b60bb4253fb99b3ede31c9b321c353403922d7f339d4dba058ba08b35b4cbfdcd05fd508f9911290a300b4edb80d9a23403dd534ca9f86bb2fb089fd38b36ad2fd5d6971353090124604d66d4a92712b58d03f5503c8a640b56925c58a9b4371b39709c91b2f6a1c43b062b17f70c93de100503bc4512a39c9c0f4c3b066e91f3d9fea006c3378e32f0b51ddeab4bed07c28dc10332b0bb79dd667365039d496b5d473298b965823f1a2ceb1ee8273c716f2827aa0219ffff032e50196bf15f04674243ef82fcf84e87be28b50b426ec1563f6bef716e34ba7a030a09dc265e3b256e9003096b84188cb633a98bea0220a9d571d5732bc58ba2fb03ac44cf8ec6c8c8eb72cc96a891d609052be55e47b59df41d0bef863368141a7c0300121503dc3cbf5bb995ac9a93e4379cfdec983dfc7ea57aff842d94c47d5830030f0b231ebe383ebcc1443e3e71475cf864357bf9464f08b2c87e61e2d955aaae0314fd39f5fcc05611179df374613a1f57f04a92b6bd7ba55735e82f2ac31b823a03c3b147b6b7ec8f6ee498a11c1e36300483cc6990c789fe55f0134846b049e64e037459daa8370d3fc2b04c20d00bdb0ae1ffff9620e9bc2a93fb14390ecbf9f9190219ffff03a2fc8b01f32978566eb9189ca18c1e1dbc477ef290779a75023dfe6c06c5624a034531750c075dd5dad0efbcc0c2fed94eb4b4c6de2c2710d7ec1a5297165b18df0328dd843174fb0572f5774eb0137e7b9c10199dffd62bd11c6b36508920fa7e8d03fb5ee0403910a0ac233bdb4108c1231b2bc198b6527f3e5b24d12377498d493303f618fe17c376756b28b0f865f5a0286480a114a3fbc4ed15577468866201030f0323998aaf6f9b5af933c70551ee5e9deb7650ec16508b62663dc65ab116b724860331733960e08e395459f0d137150e2521254888ca7a3aa92056d28677c2b5d7c90340238e961914fd355bfab372274c1917d1fb527d2ca89e93890c10f408a24733035b3d0f2306dccb14e34b7c4f5fe093d61985e2c48679d2e9281543f3a8469fe6033d8d9c22deae05536c3ac7f070c925e163d31e1bcf1a0a99a18765042b88e28703f9d9d7d9d3c0c4b57f25b47b77cf338b3b8951b99fa0d21f279055e6dca5415603bd136c14483180576fa1a1e2d78e7658cccd557c66c96198cf6e8e11a77ed8540219ffff037a4ed2b8a0a478d6bea274c861d5dc95f2268c6c906f0a1eedf61d831328b5cd03e5c57b73b9452b2347ac4fb641f2605e80f6e3e57d7fa5469468355e568754f303abc55c9b6196a731cc911c26d653089026541f85be06c38ecaca2cdba51ebafe033f5f6838989d82433599b0b422817ba54891b6308384b6265e3eec4f063b21cf031bc23c953710908b3a352da239a126741ec801b13a082846d4377790239e9c84036124988da013911d6d8c9a3675d40fc41ea3bd98bf258be36dbdee85ec298d9b03aa3c0370d475593479f61de138e492ea34b9b0ade9854b40a36e1614700ddbe3036344bb7dc9945ea56b5f19c2d342dc45c7046bfc1c58910ab498d48546689d6a037a3446af209181e6cdbeb3e8bfb5281d5cf93dbf07868e520f79f7776cda4776030f00a8ecab5ea4ed8cab6ecceb87e721edb028192427bca16fa16c2a5b5115de03e037cc0b6ecdb08cf94131603c001decf58dc0575316c434bb0f1f638880972a032bdb069023a515890089ce2f063b4c40fd7e7fa396e8a4e5ffa692b1be2c813c035134e8d19a7abb464fe9ef50f7bbbbdbf47feee3cc7c00e571e8bf0f6c92269703a2b906aa3ae9e3cdbca2f4ce7476c1243ba57120c075507cffa957feefd9bb6d034a8a3932b157e15a796e5216b19129878f45d92083ca8c880d68248d7a7f13c6032f23e4156e792a11ef84f6799bcf00c006d760bc504fc129bd75c1f902e1e57501410100581e032a5311beea9f2bba5f1de381a5a15ea2f730ff906bbc376bb11ecdc8d0581b01000065629142ffffffffffffffffffffffffffffffffffffffff00581e036c05b31e8d8e0e701721fe193a199ea13dae9f8a0011a83f43ae3327d0581b01000065ed3686ffffffffffffffffffffffffffffffffffffffff02192100021901100384e325693ff0733f119e478c184b506b895de04ac7deb098902fbf2dc09458cc03ae25dbb5beeb8bd4af28bcab677455658511deb7d6fedc2293581a04dca6342e03f05d9748d9f66437c67bf1c37df787704362bd3443013ae5e8b44c7b693b8f0d039ac866b5c069d119b92d7acd3e16ea6266f49c56102cc91a12b640ec98b0c40b03a5e702677830fe26e5e19eb6350b05bd2fe9369ea6fa4adc4b48549f7a1b2ac50391145c2587e6146deeaa706fc990ac30c290c8571c6aca5a64fe3d6b6080d17903ebceae438fef174e8ba6fc0e4852d64e440899020230d9cc144925ada99a11ca033c151840d74ad935134ed5da53e1cc7959263a933096d385ce8e71d3d454d341038a9a3cd945b46af2a381f0d545397e7faaaa3c53960113b4de6763c328c7ace1035cded507285be2f0729a5851a8fc07e39301168139f25433ef0ba5de27cffb9b03dfdf6b79dae3166f067e9ecb942517973a93ca1bd8e441145c393cc4d92d359a030f1d50b014d4b93da05d41beae986072d0e2078504440ed3af25bc235d7d901003076b88cb9f3a6068e820e5f665cfe95007dd0ccca8c4c3de763cbb4173bb60ec0379abb6c11708936f24f36c310f0af497c248a8db849abec6f3f3b0e1a9aa8aec032c31904168291f7b959eadf62a98787fbf4ad52c60da448bbf88863bde7a34120219ffff032093fb7888b890afee531c1646afe29d94b0e3372cb0ae4d2c880485db97ccf80300ba9c7e06cdd7606347bd34339d21f2ba800cc4c8213138bd9d7e4d1ba56cb9032ae360b8620681500d766d5460cd40a0e4e47151d5dbd4e50417da265ca0515603e827ddeb20886fc3a5bc55ecca6c27d573ff6c762d99e62b2756af4275c2b4f903653e5f362bff353b0ad003066ab93c9791b287984f9dc9c2fe5c609683e06f4f03eddc8b69d38502315e31f3e978883d1fa77d74c4bca58eb2920f143bf3be772d03ec6b44cd8cfd80584f2519955a0a69348c5c2249fcf7a651d54916e32a85721f03f445e1cd713378b8e3c6314fbe6d5919dd32b7a259dea7ac94dc50718cd21ea803b77f2ba559991e7e2eb8d0cf5017900b93dd7b8a2de3849823db1eacdef965e40219ffff0375af4f56351b890146de813fb69d82afe136384d0c0fb3d769f457f99a05603c0381a5831512c0a9eb4c58b3e145e3f339432aa74f222cce06bd678761c6c6eedb031a0f68e73dcb241fa1b793e99699fdaeda49526c3fccdd0a40ea06b9bbb006cf0308d4b4c495618d409ec07738b9c048cd4c91bd15f596987875d951f416867e5c03cb2607dd8409a3640930be1ee8da9d61da62895e644432b1bcdb33851c62330503c387aa2aa5c779b285b7bb80372ce345a82f5c973239052ef8b2bef3be3b5cd0031eb422b7f5484a4e5a2603412eb00308919476eefe0d6e88bf14015ee90c6bac038dfde89182d7bb0ed962abc1bd0d6f0c901e38928505e84902995c5ab0ac3b10032c65f593abd5bc96e2df8476c113102caa1c4b652344eb4ffdcc63ee9ea47ba4037900dc14d8cca8d44ef5608a24e31f1e82aa7aef9520e22fe619815c7e22436303c9b1e5d1c9f57f2635919c22ae2417d067906ce4c2e214d24829f82aaef1c7b803ac673394004128cf2d85ea78a5ccffad2b513c322a5166d65e13c3ee08422f3a0219ffff035ac1e8acd3c06d7cc161a6305f6ad42747d051d79236facc8f834c941c36b00e03c090b5a9fc8d713205c773e0362dead544553fb28f02169c28ed209c50b6171b03f9a9bcccc4b7451e804d2b5046461e669ad1d3da4642a12db8013090ae7064c2031b712c2b88474ffdd72ae58d0281efe9058d9d3f9681e05306436a0362ce328f034af0530d0be127eb80eb099575be73cb8f8ed75d2a2ae13951f44aa9fc7885f903de955198029f09671e509f2caf8c6606acf7222a499ef81ed3ed7863925b50fc03f150414391a2aeb118c4a7da5c120ed13d8ff0a6e5e87e40627afd192dd98c2103ca378c9796cbc06100550e8c2f13e54a1d664f327fba2c64465603d44b0fae9303bfa13d808a39b36b88faa4ebcac803d297bbbc4a527222bed90bf91ff909e2ac03425ee6c6491f8ffd9b89ec984c30ff590403368c0200cf94fccb31353c464040030d2fb0692a38807e50941a93a7a5fdd2dfa8000c9a840e3f394c4099cf94580e03f4b95234f1b10ac5689f0a70f79fd24c93070fc990cbf705bd54f61714d07b130219ffff03880eeade935edfb6f727aaed19dc6a11629644f1858a1753a433a0c273694b6b03a5f5fa9f0b3500d9cf0b4b4b55414de24f20f287cf47c2a3fb02f4053155b814038865ed7d58ede65fe6fd80e9e24f32738779191ca0987dcf1eab02e5cd3975f103cf8869771a2287bd3e930bd45dbb41e5e350cd3137fb6bbbebf869e261ee4539031fe84d16a156c0b2d04845ea9286bdaca322e103a2c31efdf1a65ba30b7d6e7a03e4d1858a60d24059f03df79a5342ed9448c32669ce0a867d5bf5186e001ab19a03520a268233e8b57263d70bceb0b9b94e2f6560778008b489845a839d4ce5f2d5036e8579189ec2493f1b7cc9fa377f24cb62f688dab23c8c20ba76317f6adc6324030b7abb91a108ed2840f22602084403f5b3339fd2a10bd63f0b1f8cb889389a4703a26e2d8abca586aededbd05588174f9a17fc48cfd5887027794bf62887433b17032f5a6aa335176ac767b67f69e2eb7cb618bad978cc9fa9c8289696f4f0e0a98203f07a3bfacdf13c337d529fab5544f6615ae6920d66cb29e318b680a4e8879635037f3c0d042ab8c7495a9ed00d712b2307eac83537b53f1c14f5201045c876ba7e03179ea9a7f23251e73fd51885fb821c4356ce914ca6fb09d92496504b33483faf03f6dfffdfb091275d17ffeefc948a41581b6a6dd405130ffe6e430f40aee20d6a03486249feaf56005de213168ce4731b5e3c327cdc86c2cbef319f03e932a0379b03e1c5eda50e84d1ae955b884458f2e3201a6273d4e2984ba354ac4fe687c45fdd034bc7fab592d33e8d99f014071614a0ed324b035f899b6b71df5f8a9752da2ce303e88447e5ec1b9a35f3cfa28eec17cf3f19874ea65aa73d8f783d9dbd7344c70c039bda6c00ae45975a277263d1fcf3c7947cdaa8a442d0426463ed52c72da1390903662e4a2212fe969f1183388f2aa98376dfac5971e8c71c9aec4230be61317654033296cd329dcedf9e10a4f7b293281590eb81973f834ca8072ea428b5ecd5aca60393507e61dbc782bc48bd35087eab9ec5ff8c679dc027b036797399d3bb4090b303ea9d7282ea089cce6394ec25d50ee6cc7a57015e2e204af2a4b55a2c6048c73303c2c15daf9dcea0de07dc4fcda6058254fda0b3c8dba0f05878db2ca058eece280329334af2638529b82d2b0d6a2da5030f2d3f8645c5594f293993c29319a69a1f030047d305da3e35451deb0c1d16e202dc1c0342f118219b364ae7c6162e71022803044b0a7a6afd15516a3075b1c9c21f4c076263ca95237f2690bca2ae4fccd57703fba8fab9b66a8b4d930cc83595b1844ab91aa80353fbf46cffc6801acc1d04fc0349e0eff3a324352ce15eb9420b004743a981f87986175a43de4a32066061c93003ef8ab5e16660f9c916e34a3bfde1f3d0f219eaddc70e156fd9eeae3b0417e07003b5ed483d4672681a98c1893aebb01619491bdd09dedc60941beb8932fa997f5c0362be6b0eac07505ffff61ac56f3de4c9c065e3bde96fc4d41faae3cbca1e845303d6644410bd83f5074167e1545f53168bf51468d7b2a4a42cf8f34b6404e0f0ef03a81022c5472f6de425b95f65a04d2f5689528b5a1c2092bd04feb47375bd18ac039cf7013ad08994b629326962d75d36026248e1bd0506a7b8d6d20f9d44bdcee7039bc00b5d38c6d46d947ad7c7621256db97fd1b2b4650c3966118ebc647c6c59803feedee91409acddd0a13926ecd6560bb61e303bfebfc010c33d3aaf5d6cadec2032036603dc9a30b03a7941d7069b1fd551fd12091bf799b3304dcd097c28661ad03838dbbf0f2bf14d889a96b7f44501d94dbc34f0ec69e8b68d6e274e55495593103a864571306a73d1e8f4c716f18e59ad95db1e67982583f077098cc95478caa9f03f999db216466ae36fd444cfa9ab50368ddd397264eb6975ac1645a2a6f2e3b4300581e021f4a680394f75bbec9700ada4a6bebdcf29a32b4bfb99b4fc59fde70f9581b010000659f4de7ffffffffffffffffffffffffffffffffffffffff03ab6793bd94d6d803574166bff572bfcddfaccd3a2605b415c7e2ec3f89f797a001410000581e027aea65b8d2eef0c57467ee768fec7cdff339b4250d0cb10419f4150065581b01000065a63cf1ffffffffffffffffffffffffffffffffffffffff00581e02df5e3b53513328a711d5512b4b92e4d903b4e361d53ecd210707f42800581b0100006473f6ddffffffffffffffffffffffffffffffffffffffff03497eaa996c55ac4897052580422da7a2e1a78f262c257b6b4cedbbd09c312d3f00581e02e4af43dcc6874221e91ed1ce00669182cf4670995f102c98e0c1b0acff581b010000642b9021ffffffffffffffffffffffffffffffffffffffff02191b1103c23df204edfaf7ae174fb98e0bb126d6c2f422fbae6168c130cf5287cfbd6174038945b2c8f06a828e24551d29cac3bc14e6552c3b905d091c14a6810cff9ff4d00219ffff032141b621f04a1d2ff077495825a5046a5604ca8fa2a4988c9d932c8d680b6d71032c26e8be17688b8816ab35b546ab7ba3576a65efbb653c5e15afcb6a5a583cf00306e0d0c4d551c98a12bbeacd63101f9313561946b5a4e0629cc986921d46e1b6034123762f861a124252ec622f89a0cde73f48befc627aea60ae274757e9051bc0039fb2986a72a3db47e8efbb4bd9fa338be63bdfa5d896c7a8a1f0551aaca4db1303e75a9fa528e937a28554716520fe7f712f72cd8d0b074a3044c3442191303a400393eb895e71aa442bfd2bc0f9a67d8589216e4861df85bfa9c66eb0744d2e231903370e8025a571255378a55118957ea62f122be82bb1f74cbf7fe9446ad79fdb180373cec3ddaf54e6525878585cad188f50e0878497af2c5403f19763b12ba7a8c003e3e896566b507f5bafe1443282383d0f53b914b2ddd4899e02efa648994689ee03aa7cefc1aef61addf6effa5e11e7345abb6e17e7f58861b0c0b9261cf1912d6803218a551bd4553d5909bd75422b440748fa68c23afed2fd4cbba924a4ed65ed720219ffff030e75b7f6608fe2a3f47e45f033c8d454c01983902f27ae78733ab1457b382675037699d69a8477a2f7a346e7de68ec17a13ba52c989b7d6730e50502a3957f28ed0219ffff0346192f806cbe176e30c4c70194585aff781c75a5e956de91681241621787f75903a974a09f3e2b66e5f900235f47e025ce5990ce558bd33f3775392f3ce57a5c7a0219ffff03d3b4f6e0829a924b73f7fbbc3663e80db75810c2099ba25de2435d3391ee2c2f03ec6d13fd6c65fe9b3779757a3e19202e6915ba937fa451c16d4606a5693a8eaa0323eeec8c8b56dcc798aae23ca87d67fc942e1ffd298c2b09ced2fa25e732f9e603d5449872dbf21d2982caa7fbea45dba776bc5c4c51cc31c5bce096b04334132603d3e3c661f2cbe512e60040710017046394c44c5d475f5b413f33a5fa44939aa0031efc24f37c8ac9ea25882c5d0624beccb3ca86b1ad5513cdb2bc9131839113f103a95bf4d664654de6f73ef66a685ebfea4a41f06ee10ffe0e4fdd0bb79da19faf03421b3b34770694fb31945c87ddc3efd5ad6674ebd68ce7ec0161d74aba2cf57403cac8400f8f6564179eefe0134fd385a28426d6e735ef24f136b1def280a8e802035315a1cbb1ed24f4bd6af44af957da657967123816e79f70b8ed4c6c66ce38ae0326a52bd09159d4cf309e51b0b9dcafc2b31ab58f9c8e310ab4369fb3ff99ed27039918d9169525e2e2fb2cddbd3fc9a256d7c041f51cb29fbfcc7bd24be6e95fd603499432a7ffd5d1e0153fcd61000f7c3839b1f4a12121a522e6c83a2496538e5903cdff9e7f8846df80c057edcc41c8c609448d0f1b36d542b9b55ae66e0a4288c2030bc64a1b4db234924bd4f7f8a9f783f0585439b62437f71204f2274ca9a52ec603b668633c82d4259b8040ee448b48a754efddd571c8bf1cc8397e878a462963f703b960e9d1b4a2cb6c3abba55a20583d08e5fbdc5ba71b82968c382d1f31252cf103f38fdf8348581a32e46b1b18ca62ef8f7d85ff0021bb96858e006125675e2a710352fb78d0c04ecfbec5d5d670ca550447135b3409dd24ed84709f2bf961037624032b1fce89f8ff89582aea6763b72aa47a1eada1a292daf9ad2468ab64cb2017da0341750b9dfa81baad1fcbfd3cf10b07892aa20c3b6aead028475c2dd0cd2b09a0033ee77af6f265ed638f2171ab7772cef3b2c13c885b6af39e90dfaa3419cb36ac03dab0ed90d2ad84dc0b43d21a7a01eb08df06948cc86538a1e7dde6a71afa42df03e2d5dcd6e1aee01159a6b68562f906ee4f8bf1fa132156bdaf95b0ff13ec7547038fcc7c3d27141d35bc0a21e277c5fde01f38fc4b1f8eee56571ac5396424616703f88cdf6a1db48e2e4540c1c4e626d8b809d19c3fcdb850db934f6e78d9c40192030308fe85f27446fb26fab2d10dd02db3cae88e0f18b63c34a8191816549ba9e403b68b203eba1efe6dc40482bb94404b3f74abd3257009076505c895ce0140ecc7037e4bf9f9da20f839bbb7026438cd10b033994c905ae919c4c72556b4bffeddac0327eb35d85e9c742f918a1bd7dcc40de9b57f715e36d836e437f8faa7237044fc00581e027085134f08edb2a39e2f6e969513d60e9d44b996b7557eaad75df69eba41010336f5ee99a195bb7e9dc0be2c422924034415141223e10b56a517821eb8584f9101410300581e02234435bdaa5d631b6d75fcbe5c8f03082cce73e6f24d65668c480e9b14581b01000064749cf2ffffffffffffffffffffffffffffffffffffffff00581e029eda0ed2346f6ed41e0e2bbb57eedfa372a977da354fcc70c81bc6136a581b01000065922cc9ffffffffffffffffffffffffffffffffffffffff0333f4eb1308b9c9add2b63ce8c391bafe7584be3d5fd22e5c98503be52bc26c5f0219610303f24695ae218872ee586256ca4af15328de51035cb2c865e50680455af3288e0603344320fe15e64cada3dcdeddcda1a1f460a5febfe355c722663529d0a4c731be03375401b263c13f2b4c7921b4d128995dafe55d9a0e380a02aa65fa51afc140350356b38b7bb09e2fc69d5a704e3a687cad14b0be3f29b7717028499d641cba35de0359a37cf7c01061a429ad3e17ee0897d04db5475b3af8bd31512eb50580dc910503f4e5dfa646ec6c2e1b67d9d1208b77697cf84e5d7717fc6a113ac38a6b2a00d703850d632fd1197d7e939fb1078fc82705cf45159a2fb3692540fb95762a8dfdfe03a20fb9f5242d6f7047a9896776e22907e37af4c0a4710267852d1b4b552f73e703bcbfd15eb48cb9646ff3e7a0b892a3dde0580ff8b519cec5a6f7dfffd36baf8203d5fedf9c4d3996c59e5471b8cc7c9fc6ef4187cbab789a4416c418fb3b9460de0219ffff035c8a724d78a76c0ceeecb1ab6eecf2411d224019ce59cb6418cee62b59ff6ea20348804709dc732b31abe0d2b2a4aa4d5cb3e00ab94d9157932afefac678310fe803641a86deb71dbc3c69c7692caa171466b364a5822ee13c6aec07106c6cff554e034957ce1fb0423285c8f95685fccbd20b8fac21f0d2fbe5aba28aae4f182276b703e864a0f371a546c0d249432a87dd09aed1d977f8eeea26d9aba192e00a615edd0219ffff03b3f55bd7e5febafdaa674f15161522ba51f1a9eb5a198fba329bed60936554120393cb7ab49c2da8b4014a991601a589848649b1ede6f252900e6bfc39b6ea7960037efd0db2a8eb1315c0b40815c1e7bfc436cf0db0f3723d786e52cc65e7d3a3880378123ffea74935ca813f263141e7e2ced9dee2c894f2e3ebe8a12ef94b94fe230349ea97b6066924356a620b689562eb268531d3b541722fe6d5a6513a514738f10219ffff03551b5a5ca82fddca85433d42f93e5fc1e11711b654b2e82a88befdc2183e2f5703736c5c7de8a17c1463f9e31d6699f2a4e6cacdf98c5921db907f6c468fe9398403b2e4f80bdf00f8a58a1d04a2d801d6c0fa8bfdb98b04f8d27f006e999969241a033f97d02d87ce2cbdb2d8fa73ea63f3a1cea1af192a2e00991a884f55b6f749ca0383627a99fb44378a12940516eaac503717d83b6c9ded49ef08fd533ba7a6fcc803dcfb858cc086b64f84314b33c2c05d98b7291d2780032a97c32d086c0e2ed35b03b93c921f89e972235e4c3453194be232ea095370f26295a0bd803fc40a22856e033d68b2b5176f0c4df39795b304fbf352ac8d85ffed5f0655aeb68ac0557bfffe03735f593ce61e273fa7ef7a784bfb80b684367ae1fc7dc292707bdbb612c9dcfc03a2368e036897a4954e4d10344888ca4f9f56cc433122548a28c9d9ea0b56f8e4038561d1f3baa9817dc6baf4124cc2f3824fbfea7ec0b7e42bf617efb6911627520219ffff039ab34bea433c7d2aa0885582645d4252b8bb374521f444d541ee7ddba174d07703fd45b76ee86ca45c91fa6c7dd243d165eed7c719e5357943a00d0c414de90b3d032a14ed73fb46bffd886686d3691a73162e76cefa1ffc45ac43233f38a41cbb8b03264260ad32a1d83344de25c899ffe23f60bc8adadfd18fdda2c20deec8d4d17503db8879ae687ab2abf5051219d361afe86688b9e253555fec760332eab631997103f8ce3dd801dfb8c12377b9d73317bfb34daac8bdcf993c8a38aed0bd1d89912e036885de429fc2ad7b6d9271f938e67fffa73cf57c04a1e17cf3ba7877b3b229d303c9f6ee5ae69c53f6b12257ff30b0952403e7c7515fe37cdb75ec18057e62b507039bfbb48ee3a5d7bb4a106ee803738d349520ae8102e47beb05b4ff97cef5941803ad8019c788449838ad7ba1800486c00f60629ace299b6a9d4f5722c2b90129ca03d67c5ed3f07e7fdf926ab83c949dfd003b6650adce11de9c5acb9f5531b1ce7403403589b739b8cc290e4f6ef8a87b3af90a37e15b8b8bb0e40534234abc2db36303f04749ab20fb2468aa92bc6207c49ddcbc2db73949afaa93347f1af6e7b4839a03354878fd85f2665bf0b17beb2046c3ed2f7e4a76966e1eb0cf808c0e213dae7f03e837e2cf86c03ac7d4ad992a051cb6717840fd64223ea9dc39df108a8963c9aa033fafc9312862f6af4b9976fe4766378164480c45ce6dbf4f85a9a8d690242ea003a336f166d4049dbc2e303acdd0511b03f00604ad61b6cc556ad878f1a905e099030c1d6d438c1578abfd3facf8e7781af25902b72840628fd5279a217b168d6762035698a6bbb07b346db7ec17f55eb511b7a3d309a5bb879eea0ffb141f638bfe4d036bfd7f26ad753f25a2a6929b0c62f8c0df2f10f80c6b924da01e5b8c681b6149037f9553c2558d7aef4852742d88bab990b6fcbba4f2e78ac605d7e24a81dfa2c903a24b370382f3234dc7e319638cabfa0fc767a6adcb81e1cf0b039636e20663ae03dedac7928e2696447b6507f769104a8a8e911b92dde6638573c656caed2df1d5030064cf6b87f3d16336a846f34b16a63c34b6afce2503f93749da07cb2c703bf2032d096d30de8f6b544ce923a2584dce143ce40aef9a4ceda2ddfec169aa53569003164d6b885350ace802747a3c7ba486775d56a18f72f9575e5707c9515a79294f0322261124ec20feb2fcea0fa42cb75cff5b513305e87ca6ad1ca836fe948146310347489adc016104a77d744547dd297def33feb268f716c29c0b2eed20dacd271103345ce9c46d777127513dd42b3916faf50a22cf17e03f151479d9447ff326ac8b0392b041976737b055dbf2a10891421a730317248ec14523fe8c6874ba66c3dbf6038f610d320e4ac915dc0c4b9ed4dc12633eef189f941189e41f5f61f1f05e60af0388300313a224957c4d0745e7e26b75f070a93d1cf9482442143d39e3c9ab6b4603a4ce011fe32c6c7a1a84a1977b0a46707535136352f8c656141bb261de76b81d0359c2812b14f192d0c37efaf9249f58131c7c8373db911b988a0deeeeb3682ac00333c3c41d917d1116cf8ff025586e7f9e2b77cc89bec5323367297324459c0dee036f92697c8dddcfe65baab6455c82801d1a0a90cd7b4eb83bc4b6a4187c7626c6036ed9cb149b1b835e77d8a8b5798bdda9f258c71ffd1522d4f87398c3b9b446a103418cfd131b8e4d2a01c41dc7d43111196d2d97beb1d7961818b4bfa66fb5965b030831e3be06db4c86173154710c2160d45d7c43a8ad6e22c2b92585311c16d1cc00581e037634e6fd932dd2f2ad7de104c3d7b4ba9c3b98345c40e22dcff455bc20581b01000065f56ce0ffffffffffffffffffffffffffffffffffffffff00581e035ca0ea0d8b17a075c09f71c24231dc97248580692a05262e179c8f1640581b01000064e0dcc8ffffffffffffffffffffffffffffffffffffffff0219400400581e027f0cdcbbb7d1d2338e1c8ec78e0b2850476890ba1112d43502218c80df581b01000064d25cddffffffffffffffffffffffffffffffffffffffff00581e02d5fffc6d05c667e8172044ca8c7c5fc62c547bb6bff4eff5c7a3c39e32581b01000063fd9a05ffffffffffffffffffffffffffffffffffffffff00581e029e71fa808bcd8928cbca981be03a511749e87f447df69d82bfa1f14afb581b0100006401aaa9ffffffffffffffffffffffffffffffffffffffff02190826030083230e500d82b9675cc617ac877ecaf1e188b4015372538979fea7247d3d66039b01bcf17977d1779d7c2ebb8349b38c355aff6dad9018c577b1feda2b14411d033f0591ed936be68d65187ab857d64abcd0b1daad1f896192c72b221ccb0ca2fc03482283f326a08e85f97efa36f80a971983fd1204544d70d73571318837a29d1a03449d0e8a5a68d79d62e64275f251f5b28983b50354c14a4eeee1ebc76a6019d30219ffff03ad22c7d4632fc26d8cb47d778860448e8e3be1dd96e8d86452d7c762b18d91f403a75092a1459cd084513c2ec2dda20f9c014fe28968cdf0f7174b06dcabb04cbf0322dd36f5eda47862d60c55c3a2901f477abd7cfe5b2d66d50d6a657c03822ce60357b63c9b764ee2464358018d186cde7bc29c0cd81b613794390b49a2eb08cfe20219ffff03ccbc1b4913eb2161071b395579323da599a5bcba4457dd5a09ad01ad8899aca5036b60a2bb1cf9ccc7eb1f0feda139bf047d69f3d2861fdfc1d2ccac12e05ee2fd038798f968b902e263b265a8e7f4fdf8ac75bc97865d946f96d12c5084700667af0306c0c84d256a77544b11819a3c0dc79d5e90c5d25eab32522fbfb46b53fd3ae8032026b8b133e6351a52d731410dc6ef7cbf7ee01854942bc3f4d02cbdbd1e75a30354ad028a1be23069a639d77609277aad648d13e8815eeada9bd821656137a22c030c9ee41ab07314f8d029940149641db7e9d63b241db36f35a7d0a7e450a2022503a03bc3d91cc0878f66bc494522f8059a192b0d4584c37fcc795e602abccf242e0219ffff0309fc5cfd883735df56f0e584bc9b2a4c6608551cc352497faa7ba30df934bcdc031083a397b53688eec6e26cf522b73ff4df2b2b589f950d0cfaf91b443f20eb6b03c6b97c152c244ddb8f71a62d382e2243a77e426a1176a029d7d804a1efac4d5c0300db4b842e26347c6ffade82f4e0437121db65a320d164d102b5800caa3b90ea03c4b078bce46b714873d9ef2dca4a13fa7c716ce2105a92f6d233ab3312c3740f037f631ba2601fbd01dfa359d8b4b4b20b8900a40593293f82469a4904cf38c2890219ffff033c88d967e52208e9966713163abc4a3cb5c73869cb8169efeb452d56edf6b8680340d3c533de225b643ee192b0f04ae3977c3cf1d312decfbe0ebd32f5b29123ee03784c7c6f1526faa5bbad4026ce17edd46d4edbe3b374beb5befcb2e5b45ddf540219ffff05581d026e13bdcaff61b95238167ef377e01ba97f832b3f9c149aad1d9f6a2107011923c00219040803762f4d64d12bd066ef9778fdf43d2f954ff3d0d19d4e8a4eb4cfe8502a3da5c405581e03e92b1b9d463e39ca71cee60f93759b43f1d5d03f24a42d2585613b4060040205581e0332e44cf6d1f68b044b2ce38fa8cb417312144083cf9255bdb528a2ebb00c01464ed6ee996c4005581e038cc546a5f821a264843e2f2938bf7a6a1b0361a4fd317b4b111c9c82600c0146f67c5d32fc0005581e0347273e644bef8df4443d7b050873d59a5c100b3b414731459fd4cd63600c0247030550cf498b3005581e03127bf4cbc6981d18f901c9fef6b8f3615e16582752bd62c75765670100040303a51a3de7eb3a9ff3d703dae5eb395c88fe5be1ae5d6e2665509776726a5ae0620314da3c1ba100a110dafee68c76b700e909bd5515871b1c4d1c14a0ec41559e770219d4a7030a2ba54ea3981017e1d317d188a158394f64da677f7eeb059e5223473b4fa38003f0ec852ff07c592ced34aa80d7444137a5a27668daf4e615c8d8e4fe823c96f5038ab8c479fb4bf2de02d74dceb5af05f767e6af1b97189c00b05a6820834790750376b99db2aecd9da213b77fc37b6b6183a98852965bb0c4821b5ae3b99d48d90a030ae8df14bf39876c0c44953b114502231c4b15333b677bd12b5b97364292c67e037cf9dcd073a21a812b4e8aa91bce2a65452fbfa4cb3a4d997a473ceafdb22c1a03a0c17c5711791868707ef04b0c724819433d41a2aabcd338a936bbb5b143a99503b6cacc2033e0b948f6be264bc27e61402c6f38ec95b82a21033d9603022b217203ed522b74e8484371b78cee6de4ddab6337d302125b9b773bf30b98c6e30f735c03855b1f17320188703528348a7bc010769b5a08365958d36cb3970d3d524520c803c75eae1d25b97b064f718f7fb786ee5de514c08d2488bb5d4ba06ef282a78b150331e22229a72ada15cf09579d04cd57d226cb64fbb57a701e30df040251b39a860315eb6048c05108f12598e76d70156a9418b1c714d1f639b7bf0ed4c6683624a903b45e54b4fb5b36dde0418c1f3b40abab5eed2ba39823bd70e5b43ecd75f077e40325385d6b19bc8a471039becf42f64df8c09031469a627c75d64f28bfc81df90d0219ffff0333e5662f211c8851cdf4fef05bff52fa57786fbfde087a63aa53450355fad767036474a9b6fa8e8eab271f567c1eaa679fba71138d25df234d61227e5e05635705035516fff9743a6d07977432f6ff2551cf7359d22022ebc001cd0cb04bd8041480032373834edbd3db135a28cb1e5a212650ad07c57ea3f3906afb6e2a3858b8106e0339a942acfb1c2254b3e27906a610369c258e6fd4936333c87294330266b366cd038c07369869a3aaec52e0d35956c4c6c262f66f384f84c5a1de4d27edd5ed3246035c9fe3c75f777d2c038de5126fbfca76c94339f11ed2bf151d1fdf0a97c258460219ffff0389e88b702e848bb3d8c175d73d252568fd72f93f29162a84f3906c7ca2442655039f99c25633c0a30c6bef95b77a30c4d8f2c8f1b39422d9b04796356d1d458631038508b65bcb5a57fc9da19dd99115d053544031ff84de2037c15f03d7222b792003ed0e2e06d4df41a29e32aa0ffd8eb7d10ca12f3fca3330313ea410ffa2c3b36203a7f6190b09735d5361a49abb25f7cc39cb2acf15919b84e080e8f0f48dd393b9037504cb766c92ef7b942293acfbeb7eeb0123dbec968d685673194c65f1c2b27203e48995ce4d2d64f30a7255ab7ac97d1ad11af6d21edc8524050776243ea8ba2603af4b9bf369d82ef480f029c16678086183f452bb33b140529978a9b4ef7a0d980393b4ab1b8d04466c6114a033d1f3145f449e441ad2d8d8e1d54a2f9c60016f5903293e6590527503fec5748bc043cae60f766b6354c6d3acef090abd1984a4792803c7d44625174245851b4b36fa457640ed547cbce93cebb4958cb0fb0c51c82d93035238e6648504c3f55f54b2dbdf0ea9d88cc4e5b022c48e32e21cd2e1763e5a8703bc69a45cabbf142c833444c521917d8cbbf3c276f74aa3cfcf484fdacc4a2cc9039c8622ef5302c1899488d3352c0713ce042a5f7742f35fe5dfc0364cf74b2cf103c432f7896d8a3b6eca6452bea9a8c87919adc55cb711d2df52c458bbf9db3a260219ffff0219ffff0219ffff03eb025dc14890e21facec55a0646fffe24640700aaefd21dbe2e1d3e37b8b749803e1251e48bc02029351c3a4bbb70fd9c409bd048d43bc535289f33546d06b129d03ddd8428d929d9618f8d154869f4740b75984b5fb78fe6e1f52d3fe8f53b00fd2035e2de31a0a32e270c71da01f38f57977a6aca6d4a97755c336e2986a055d2960031c66ff4df6a0b4670a11e782d025a655e9219da9c17597d408bb38bff757189d03e06b0c4e9534335670e3a714e8a318a75ab966bac0ae0c83cb524a39da84aa3303254fff437efe3a3dddb42a1d5b656163ceac6e781d2a3ba87a2edb615a710a120380513bd7a24c6aac4d446d330a74c9a4f805856cd8b811382333c543e419736b037d71dd60c79cd990364523619fffe84e0c4d3aa8610e9a0ffd3d4acb5efbb74503a50f82bb56f31018c7c569bc3cef203aebc38d999137968d61fd5f8a4d7a571a030593f24dac1eb54a4583020c413cec6b6ee6083e44532f83c1fa7aaeec7061790315e46f4a513b713bf4e80f755aac1bdac779d22ed015b43c8054bd06e0df7b2d033db204d10bd5517ccf121c72a178fb11c105f839c00d3789917e49aceabf6d7503001f8416d4452c2679627df5473c18f16fc3036999b7d548e6a434f8083bd40c030cb21192e1e17c303e0bcf59ea40033d39edd3e75f8a857aa1ac1fbc6330667e03841fc891e13d62ee7586cb069e89df6e8e6d233785c9ad80ceac1c1cbd131264031802bc1c5882af3f32f14dd22565b92158f406b83a93f12e4588a61e5d9280be033ac197f01f2f80da5c1618ff35f33190af6c96d986d6751531b33413a63cc9a70317f2cfc0e99b741f9b4a5d2375b0239cf15cfc8c7c091904ad37c001e6de8e6f035d41fe822eea3df7efc3d19a95297f8f7b780c90244a54522c23544b415341fb03d918af99c9c1a3f319ef8aec791abbc1787f3e2ce13aa497ba51efaa6c9b180203e9f5b0675cb850a23f0e32bfde4f134036dc8d880df4e06bf0085a934df78dc703c1f3e43638eb69782b24ba677c5befae3f328f00c28343074b10b4461602989e05581e038fb1fb8a90724281e45eeb0181cbc48fd528c732f589fdce009acc9b100c01470f6bd00e365c2805581e0346b1de170bf032b1c3cc57c61c814a52ad8754c455c0b593053f9e2e100c014701459c7c0faef105581e036bb5e54c80e56999bf956538f1bcbab33dfb6480664ba6d1e9de5a6a80040105581d020a3f9ab2fc3e8da08c20784c7e62b224464974bbd7f93ea2b26fb2b0040205581d02d95cb7e6a6c067c1744fdea98c4ca1a46026833cc59f586d3fcd398c0c182c48039cdb01ff94f4d1021824039be6bc48a8ff69b0830425db7f800426afd3b8936b9777142c81b3fd53ea7f7c05581e031da55ac66f15498c3b1a63bfa6cbc30ea2957b8f9262ca9e0e8c5e20300c0247020f81c5f8400005581e0384ed308210f7d82c3ed9ef939baf50555f454b69b9473a4c122def36b004010219d53803a526e3db8096f6b90f81a5bf952c750c2c79241dab56d32f92603171c137af9003283210a6caa3bac6ffa87a9fbd5ac17dc9865926b5f44dfbc9c69a8dade14c49034ddf451b718739dc8a9062dc6462b4fdca9c57964db73cc0f69afd701a9e4ec903c359df8f4f6f46199cf9e44b77471b97b3897b9f68efba3bdfbf139022713d5f03359c1a8e60ffefe939a0fc86bf0f9bb74c06c5151c53b5fd3acce056beed995e037bfae5c55ee500bc467212268c7df5c6e811fa6ad4b3c95aa511dfd8c0c9d87003fd0400dd6b85e210e42a040cb71e24c0911e1469575f766f663315bc0e93551d03485954f865355dccba035f91f852bf2c289ad7e3801a3743db13c0feaa37022c03a338cc1bed1c793c2d07e4f7283c9fe2132d6706bbf50f5f4a37bf15cee71c12034118c4ff4105cb12a272d9a77cffff9ca8354d8efea85d21a2719b0f5071d4810219ffff03216ee6d90d107e0c564bdf8452e358131036b102e330400f99476adb2eb5e1ac03677ff1c7513e03acbb7301b01872f9b6764ca1530e6be2689eaf1421f68cb98c03d5563ccd8c100555cdde610ecdd03784c9fb005742b612d97b4e44035e2c8d5403587dbd2ea31fbc3fb8bc0c5ddc3efe0445c08973d2df571f82f8c8d58b432d420397a340a21fe9a6cc084c44eaf4b9419b1efeaf52dda7aed2237fdfea8631138e0350cba2fa8e5c50d3b6c7e82f31cbc568295f580e52993e672d173e70421bd5ec0353fc4a4eea694b882f88f596e918a2ed83cfde13cd11cdcbffebf03f5053195e03a1e507d67673eb2123838713105b28faa357599d5196c63fdf0f854fe2c3a97803d012afa005decb59ca5e181392337f636aea815ea12718d144def0a3feb98eb90219ffff031435312d861de381633b09d9fa7d947eabc043638f95d4c202a253d108628b2f034a30391525e6c2bec82e8080b754e475ab1be0c148e218340b1ad90e77947c8203c88ca449636a2735e10197955145df9fd0d0f4c31f433fe282d4446d0817728a03394ba8a609cdb61b3b7b5bdaf76ca6c03eedb7343a53162e30c80a5b2c0c114f037fcb3ac38f643e13c75515723f82e0ff08e8f69cd17fa4b263d82fa5feb40002034df52276ab204d42b53657d9b4ce2698655d22590c0f8b71b4e110f3c6a0dfef03908cc75a351a300f05747fe9106e162235cab292756ad9e1c28e0e96e89bc286030ff72d0067d2442c3bca468a2dc892cb29b43b752ef72e3075d68f2ca34202900351baae8566ca3337a98a6a7e35a978e7f8ad1ed58248988e3139e38d138980b40219ffff030d0820da13ab78c2a74e43d38d5cd81957600ac84c29a58e7eee0c01d93caf6703f65e74b779c29e262cb31ac9fa86430beae39d8492ffc7d52efdcbe819955f2b03b15af5357c7f1bd3b026c562024cdeb73cc46cc878333912c17d9ffdca31c4ca03f6d3199000cdbf0408342baf3a1449420f613764aed0573d869451e5d45d8349039341ee6f5de299e10d92e8ee16c9b25f78d826504647e72627c1c1c6da8f53a00399159f3ff062a828b8379707a3b752c486911c343e7b6ed1e3d8ed63324f0183038d0551f12411faa4af425052bd9f85936b39784bf10cfb05f1611ed4705a895703dfefb13a5063bf01582ec8841fc2bd334d5e4d1d7e2ca542381f35e9e33e071803133d1530b9aef5ec592beea0ce1aa8d5b33326dd2f335f41722318e504e53c0b03b1db09a1a712cb59fc2981ee3a98cf40fd2b40b48e554d210fc95a8793e6436c0219ffff03e532e10de561720583c061ea63cbbd01d3dbcd2d593ee38f8bd6b3fae46b4cbf03b198a8e1943878f634fcbce369b12baf2b10555f602f9b55179734f64208fd7b03b51c0636b4ab45387997c86847615dc06bdeea1b4ba529e91e9d4a6e057bcc7903bdb0a1a5efc1bcf9b75eebda3692eb78c406c7528672bc9e6c251827f5d6a2740345bb3f4d19c47dad805faf83d69ef70c4f535e8770177f5f27fe3224dbf1d30903cfc495f8273652ee38e3f5b8dfe2d72112920b6ade2764d902d51c1156d7ef49033ddcb9d16a9eb3cb3cf73d02d9241e2641c06761368a9ecdd6ee3b378f5b1e1203522e723b85785e20af30f6cced34161ce3cdcb8b4a93108c4d96dad14fe87ab403d2e413eebb558e1e0fa841d01f029fc1288a004580942713da4848be4428ddc6037881eca797a360b28b3ed9dc472858db9c6d5e31102533fc387d8c0aeaa25fb2037e9d2ab7b06362993bbc64a922e081ed2ff29a4cfd6814f24385b9ba5a3f98ba0373f6d3878c852e0f5b6b7a164957ec496fdfd4169e2bdf69db3a4cc5cef5fdae034e4a6c890fba8f3aad2ca9add3c5ed719c8c03f988b57e5107b30cc24d157332036aa2df310805d860ec1ea586ea579103b4f0e7c5d5a1d3857a313897b0396aaa0375687b22f268c08f0f06be060c978f5a5ef4899fa399148e9ab78008fcf85bc9037b65e8a11239c81b5d81b96e58c68d7e886dc6ce7bbb9f954bc49065ae403a7303cf9448177ef2b7f6df2547105b87b64b92a12d2d683c2979e45f79fb66aae58b03e9db96991dd1fd984679f32d91c360b0075a37930d7cbd5192629f44ac1f9464033790c4ac9f947b333732633367dcaa87b1c33ae8545be178636ef0ac5f4890c803a1f89adb21535376427ae62263706994a2ca79a781843070ef43a80a6bdef06c0309b57af2cbb0254c83f6d2c6b0fcc15d32fddc4180eb9a7e9686c3537aa538480379d8cbe18f6f6e72e535e07329548a7f5ff88e80d9b91a0ce485a7475d4b1e6e0377e8fd144138e35cdc78821becffdd52c5e8829ee693287a0cf56a2386c1203603820838eca98f449fe00f49a48314d0232e2da163cac5f54828eadb66b717cfe003409c2f046b0f0e6d0382a3409df58ac51b135facd1be6e0cb59d2b6948fdecaa0315d670c0871716401e75ff5f713763e30cb0fe6e105f6039067efdcbc1cb01110379a0291eb917485b621da4f1f13ce0152f2c9af68e899172f6d400b9f6f2405903b76932995202dc8fb72c1b03ce8c0f97d3991218221cc7d465dfe550b5e3f7e905581e035fbc664b74ed9c5bdf08c062467d11aeaedece64b2dce8c2935bbc72200c014630d16ae9b80003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03c2346ac652d2e6bf85ede3ffb775fabeded1c49631500fcd18cb268b991c108205581e03936eda4217f47f3c6ef9f676c6415ef1ae8d1ab2b9973e6819a081e1c007011bffffffffffffffff05581e03c347059daac1c79cdc18293d79346c4871f22b794663a1faf0198a889008470abdd91f6e940004590b8260606040523615610097576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610099578063095ea7b31461013257806318160ddd1461018957806323b872dd146101af578063313ce5671461022557806370a082311461025157806395d89b411461029b578063a9059cbb14610334578063dd62ed3e1461038b575bfe5b34156100a157fe5b6100a96103f4565b60405180806020018281038252838181518152602001915080519060200190808383600083146100f8575b8051825260208311156100f8576020820191506020810190506020830392506100d4565b505050905090810190601f1680156101245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013a57fe5b61016f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061042e565b604051808215151515815260200191505060405180910390f35b341561019157fe5b610199610521565b6040518082815260200191505060405180910390f35b34156101b757fe5b61020b600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610527565b604051808215151515815260200191505060405180910390f35b341561022d57fe5b610235610857565b604051808260ff1660ff16815260200191505060405180910390f35b341561025957fe5b610285600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061085c565b6040518082815260200191505060405180910390f35b34156102a357fe5b6102ab6108a6565b60405180806020018281038252838181518152602001915080519060200190808383600083146102fa575b8051825260208311156102fa576020820191506020810190506020830392506102d6565b505050905090810190601f1680156103265780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561033c57fe5b610371600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108e0565b604051808215151515815260200191505060405180910390f35b341561039357fe5b6103de600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ace565b6040518082815260200191505060405180910390f35b604060405190810160405280601181526020017f30782050726f746f636f6c20546f6b656e00000000000000000000000000000081525081565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60035481565b60006000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156105f95750828110155b80156106855750600060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483600060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540110155b156108455782600060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107d75782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a36001915061084f565b6000915061084f565b5b509392505050565b601281565b6000600060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b604060405190810160405280600381526020017f5a5258000000000000000000000000000000000000000000000000000000000081525081565b600081600060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156109b15750600060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540110155b15610abe5781600060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610ac8565b60009050610ac8565b5b92915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b929150505600a165627a7a72305820d31ec12b6fe4e3204b5bdd3a3cafc924f0101471e7aa3e9460b81496e9067ec70029036610f98d7dffb30cf9691496f8b753803ec6873fc94a6a10af8d539238ef72140369bf32340352c4ec64524bda353a19fb17d42afc670af87aa8c1a8a45af06bf503ee167f29bda6447a8b77b6b93e45a5e0a4ea150d1710dc639789f242a7c1de180351438b75bd79de0cf2a1bf07def7bc6fa7c1e92170ba51183e62ec7bb2260fbf0312c130e8115d5ee4e8e90842fb804bc988d97cf2a46704f489a631fb94571079039d4da6e76b61a0a3342c902c88f340104b5a47e963fe9c5966ed6354d4177fa703b00c57790346f9dac8f0627c32d35e369a96d324db28b15a90b5f5c669e4a8b803c40c5dc6b40ef86e0ff0da71faaf6c3e9fc7fa6da7a7bce410c3acc0ffe3bbad030a0ddd7eed2c7c2c7961dca16b69ef649d8dd3b7f15e0a3179119c91524670ee03147694af3205b4fae6f3f581bf6e4d435be5f917929ac3f52cc2d31ab90de448033d25505de0ad00f34d6a59c6e3abf6eb5b34363d480210881adb367349546fb003cd8473978d7b88e6a23c01cc675033639d2fe9dca9a25078ffe70b66a86305dc032889531404756b6fde910edd13fe7ee29f86b00c790262d6a2ec1098d61b29b703ea395652f2498dc32eb2120e09f8a4f082f15539a391d4564fc1609bc442d228037a9c3e3e08081da39bb092ab3aa673264c3b4bf651940905ef5f1d3340fdb75f03757083d0da0e07041ead8fccece7f07bf177c3172180166a2e5c645a698890570347b13ee25b0acf39c2fd93f6b5728024e38cfb315fc4a28db00bad38858b33bf03d76b40dc0f2bb44a1c6856cc4454d909bcd796952e75091e595e1ee2bb35a73d03469563aec0dbfb6079f612c889581a4a008db081ce9f1b7c8164625902d1df27038de7a711e6567c3e11a4fe720dcce715c15788a9b43b586ebacdca6c5b91f54b03c4207a0d283584394d96c7c3adbb287e11083899273dd556cf5bd376ed03327b03b7f257cde7f45a2753bf76a580f8601a5d19e972bb187568a7524be16d75a60203579537c037684c6e21c5a36c7f4a2b9a0396493c2c2be068bba4bf70355a3e0f0367f317ddbcbc5d7ead330dd1885fb0734ada8d4479aec917144b243de6c5ef1103a0ce93fbdef4f33a0578d71ec633e75d5c5cf03e8387a88c8f835f4e895864dd0314a3459858bf74f900562827808f9726254cfeadb76661a9e5c789b4e223343a03ccc5b3daf9274b4027cffc44120ad67f72d504119399ae3d8c7ccb24ecd402e5033eb312b56f3a1b5c06b301faf253e44e1277f94f98697b91a3adebda024f29ba0304714ae9a0cf616d8b230f9d9adfafff383b67b3e98fdce0cce625e4b02b08b503eeb6a2cac16c1e0c3dcdd56d60619e99d39e85ae24bc1ff4f7213a4fb75ca70f0332cece6d7f54e3033705dec9858e02f3f7d97174bd9f9e64248397c8b86caa980379a741dee53f58c8de62db955d661b4b8279295ee6eb476af5375e6f7ea5723303f08b09d573140e1025a091a466dae9bd73dced50b50b741881b65c55679d1c51032dd3c167cad133faccee442ecc805e1a0b9275844371afbcc000554a5899659a03b23f2f20de28cdd7ea523a1b7bd84b9a66cd718685ff4b538f01c49600d5233c00581e025e10313c07d7093eab0bec79b88347c9b48e59b11d022e9b9badc79dfc49194a6879beea00480000581e02c2c9c709c3ae327e52767ffba45d22cfbf732e9b6a9f1eb8224a8d0162491670043110562e00000219100400581f03fb5e723b87dc41abb10c39123418dd1ceb4bae770baf44c1be5466abaea047016c9925ff600000581f031bc0877676921c77bfb680457ef2ebb20763db655ec013b2eadb5ee9f21045b7efab5c0002181b00581f02e278f064cf9d09497a273944b18ba61ac74b66955ea838601610e1e0ae0b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e0af78643697ff500ce47ec2739bff25af8a937d84f68c078c7cd7a7170f98640355683208388b169a173629203536be5e3ff12bf54ab181a8fa805b7d921db2e303b1e10bf65e61dd8b3c0d0126cf47a13bbe72cc9bd43feb182e83f3007d584c5703cde2621cdd65ff2a5bdd2a8998da403d08111a3f2a8c9ecd0070bd1afd2b352603ea33852867e6475d27b3139a9ce77dc53b70b2254b200a192112cb73d4ca0f9a0324ff80b7a8651df2fe8e9ad1745fddcf9fd707120db79e56ae0719572f853e87030b73ebdbd0b924510f8f8612a2a773688db2480ec49f6de9b2d51b8657ff0b36034c65b117381988eaefedb3bb9b76f02f396b58e17b9e97c3970ebda0f04151150340a1f668daf3e252db85e181d929509c691f880c8f45a5587781cd97abbe41f803d357b6082daeaabfce9b07524c7c5df1e9b42ff32825b2dc4816ebb80109a966039284ac76c6a39fa00de14fe3a898587981184862b455bac0f359783e304de15c0303d7256783a591ac707bf9cd273164fd32c9fd1c3a47019b9bbba80a161928400219ffff037e9c8e82e130ba67bad9e6399e57af6fd8a1c85f1bbcd08d71776d5a132ac8e3038df4fb9b8d918781b9c60901014e9461cecd18752a4d8f8de6954b77506b32830345227abdaaf80fc9daf7c307deaa08bb102796e6c4076843c6e5072943aa42780219ffff037c9eb3b4cf9c95b2040bdc783fc43a202c534a1e15ba61fa69f04af73d0c1d140219ffff03039048c2f0f7d17a08bc777366e912aa9411fd79246df7e4a88fe226ddf3c09903f36914ed8bd1944e00b164bd7256755e6c54bbf341271d5559d0a9e4c16c9eb50300d2f6c689f881f4145065271f7e6a8438be46f35e05c07bd34c1b04e5a86793039a7842dccdc235c1c5e80124dafe2eebe66dd6037927e90d2625f3b8f2e34e7f037fea9003c5601e31532578e78a01edb4cf6edd03b21c8bff6ed45c473e9bf7370346c42b0b23bc8997f293c81a5276f4c68c665bb3b188066baf53943ba260d3e103bd72e46bdb3e6ebfc725745849d561275c87b210e1f436853265566af4053b35031d7bf552be8889c82e03bd96272fbc74bb28543e7c31122c9b003b738dac10dd0307749c58e27800af28701051cc89608f1c7729fa7817e7446ab889cd48f3721603f3a3df0da49d9a4ccbcb05f0f6c2597ad3a4530d6f3a18adcd67d86d05cc872103e4daafc1e722b9c513e89bfda38bb70281c95db3563d593ee845596a1c3c0aa4038a4b9f87dee927703b90d7df47cff1260694d9bb52845cf4f3a5aadca9fcc94503e3b1b530130f21517a1216512c3a84ce0356f98000e2b66a0257ae006dbf18b403509020ae3aa1f49a0e836b6d5c0ea2a15d5eb54a48d3c7ccc09084b4af211c76038ec17668d0899a74020ed5e8b1cb35fc4eac4260ea07d465f0ffbd480b0bc36c03eec0b192a6125111dfe4271b2c30e8fe8b506e888d2c7b3f9d9880ccc2015ec503e002498b1b2a074359d6c18a2fce2999c0ec91aae71c68cd251e7238e47ebc9b03722b7e0ab166077be00e2017632aa8b230c666fd440d3196a764a8475699df3f030279466a5c8dff25ad9a2389cae7c1f9acd907ef1289a25413afeaf0eea0e7190391ed42d69775cd791315ce3b4f5e1a60b572861f2c487f3167e2b094bc8dd40d03238a94751622a8a60ca164c04751ac218bfd7ba2a14b55ab087ff48cb1ee190d03064e7ccc2dfc24ad661d85c6617651c88546e92a93aa7f97f73f8a35e67126cd03c9c2dfd4963ca6fad4d04a86d21eb7f790e15be156fd67d86524a439022c4964033bcf0c1065d25241d269fc2e56a51d4fa9dc61274a2e85fd78ea831b7adb09a203a1a86b810f609a00edc4760b207d9b32ea7e6861813ef98f1817117eabaae5c5036f7cf8355fe34836c63af34240ad20d4be3e9cba5014ef63d2d20e0e842b59c600581f0340c9dff7316d9b0947698534877acae543f3db9ae015a9ac33ebca353fb0481ce97998d7ea200000581f0354597183f68408bf8ac3707686d108a0ff891eed5789efdd931a8649a5f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03048544a0234e1bc426fd75fce604703aa856725da073b1a4f82e57cb7b90490e620dfe463ea4000000581f035160117f2c6369d93210690af887fd2eeb9bb801e8476b19bc7ae0242ee049096529bb5e8b499c0000581f03aabc1d1bf8a2eab5a436a8762f6e9ff1e3d1adf9f1f5295de3132dff0790491038a1e4598d3ccc000219151203b64d4d8c4c488debf2d95a7196a2fa15563bdc195d8f033dbfd4d2b48997cc690354cba76324530fe06fbcab1b56316a32c2a83624975afccdf4747660b2fed3330307a382c904405eba3a40eb23cdc01e6a4cea8002119c80509ea260fa1b1915fb037786a57403bc32a96500698ff64cccac49a82985fda31865852fd4b3b9c3685f0364ed75d566cd578a9a71592ae22fecba230697c61f42e3a251931d2d04fa726703f73f917372184169975300f1b5cc8c0c2f2c5cc46cbcf65a2cd24a131df5e56d03da9cad7e2f41ce64927f4c484ef00a336fab5d572572141a237cf1f393d7215b03a0ba2de6fec9807c5e78db05648b49e8448d37802f6f7c12c799a2459bf2baca00581f0268dcead256163d4e672e5c51bf642d6c037d2db66ed18a288a54d0edd4a44a025a5b17da6b03f32aa4037e9ee57c46b1ff95020a79b6e7be145ff7f41b3d185c9fefab4cd4969e97ed020385e50b8c137fe1ba6556448334ddd08da0f73f143302dc8e323f09c78b905b570347640ca407a7cf077f618f256ba7ef7deefe5821102c248be1f3581b68501fa70219ffff03b29c841ce634b1020ffb09122892ed3ebb4c7c30974e471beaae62f9519b0b210300a17fa8c3c28ef331586271ed4fcccd8c1091dfe0c40b4b66b502907d9e8f4203eaf797a10100fb586736e17e0d7831e6492e614c1ec551e656a31ee316aa8fc6033fb19cc828b29ea24b46755d4d0c2253c6d0212677f5994d2b44a5d5c93680230219ffff034e9db9c329fcba2590bcff66c49a8f7b0e0c040955da85ca5021d0861d54e76d03e4bfdd7d3c2b1ad0c46b3c747bc8e290e4defd9e24d0735c1bc0ecd5d95be15d03dcd8bd27477798ecf5a68189ce12dcaf72556436af21d28dd70f98875b8b4627030e313981ace09fa725fa84b8407258bf3dcffe017d5bd85d096bd7e6963a18a80219ffff03658840685f57de2b1181cf4339baa04732710ca6fe13c294d9b2a756ed8645e403b93aed68802aa78b597c11a135c65d7e600fe053b08a8d5acb072f41a215b58203204be770d820d05f6cea4666cf4096b5f9417c530e36c7109d698635ff764706039d6ff0460ebdcd1a52d1dcb5ed972b3e0bc2a2942b748369e1ebcc98003326f103109e6389c0f9f7cc7d5c4959a761a0dc51de01f2dfc68455450d663cee806b450346ecdc204c73a1e95d3f2d195566c87305eb6a01cc1bc8fb17d5819e648abee903372a0a4c69fe07f75d40bc3ac3cb49e0d71dec780c1078f346be17a0363a45bb0219ffff05581e030d7545d6a27f2b2679a1146ed57d4910f978c0c690b9ea18cd8dd8dd100701190b8205581e037e72bcaf6ee74e0d3fe034bdf2af6d1bb97888f8c1ec842cfe082474500c014704fa9e0acfa60002194078036edee30607b80b48cca9aa3e2fb9045c05edd2ba700064fc8e312258599550dc0306618063709639ef574f082a2405bb8090ba94b26809178d8ffe76e14cbd1292035bfb212c637a2fe6dc0727882e9daa917b3afeb8d71731afe6ae6ae6e210b2640307c194b2f58bb93117a81e834ecb85343203dc05c066d92ba53850706ac12347038f15125464a453206c3c89516162ffec4584431500e12e0d146487b48369f253031120c997d41266e33ec6b280857f4cdf565ad3b863576a9b2eb164efcce2e7e90219ffff03c414978664a153db01490775f5a40aef3d7b410992b242a5ebd8232c433294550302a69b60cd57790c7dbe730deadf4e932c03d66fdcfc2031774aae343a61f43503b654a909c8c7d8c3526959ad4938fab321ef14644f91fa8fdb1b34d2d5a7325b03950936797a270880137144b827694c6137c8fc725173281b17ca1ede7e696c770382f700892a493285cbe282aac4ecd12ae46e41f61b587b835e9e11514e8f765a03409b4c1d15da8358d557dd115bd9fc17347c4e16dcd8156da05eeba438455bec03a5dc1db0df7fa78a76c16db61c7e844c6050a5310bbf91b9a0d8df4b3600fa4703551683456c0a9d658b616cdaf699ebc3130ac79054bd053f19b37eedfda6995b033a7b82bfff2cbe849fc77fad346b64c6482e5f7efeb20ecd2979f3d2639219af036b2b82910fbb90ff6b9a06f92c3f938c959d0c8069d1d9401c537c0a99bd51a103ad5e7963ad03922afe33f01db53ecd93011536bfbb7fa46526304adbe287b12803a441ae388a1e5db7cd237f601c32be97f6f8a92f961262302ccc7ea997ed4012037b73a00e7f1a466545d416904bd17b54f8935dc731e2e0aa74a06a8881fb27ba0219ffff03916ce42899da116c824da0101a08c09de1a3f35eb944f99a281562c76b49dd0a03eb2b01e9e5f5b05cc3c2e310d08d3fe8487424be186753ce62b0fb2d7f2f5d7c03cc0d1dc063c05f32adc95d0b2ed0f37d8cbe4ef488fb727cd1a56f4d74839f2703a07bf7fc04e70ac875ed52351d2d91500133058b1908f08ba0eca7e5d2ce0d06030b1ad1552d9d802e731246ceac0b1c5d78e22715ca3c74a4359c864e134739440219ffff03a9f479a945a5ebd5c023291d0f061674793687e319abcf9183d6b307be4e5fb10360cef272868d7d29290af7b6b2c5ae53b0980ad0b78520f7f47e251238040eea03ecd99b8ff43a53d51ae38f005e04c6bae6aa623c406735b326dc986d855a26bf03d5ad134cec243def01f111443ef0a33f2db447957b110627409ea4dfc9a8620a03ce6837d0bd376288be8dd997df4568a17b935e7b3a38d7aeba393162a1ea95cd03d6328a08ee938edabfb680a98c6e8813a86539a0ed18525ec2c1b5d527825faa03814408e292c924ad042c859def1974eeebfdebb7bb8d8ffebd9ff707b86b96ea03a0a73e667ec6187ff40c3cbd3775b2ad4ef180017243aea7bc35a4d8d23630c20219ffff03f933f2b08cc7164334d2c22f3e6e46fda59faf1521b57831c636f2cabf35b2360359c4e2cfda76b8080c48612b45abf8222c609e0d84c72c0e657a120e68ea6e9e0388c350651b27691825fec0573ae772ed6f38c5b73d43cbc61ce9bdc7987c8f2d0395f0d3af3f46db1a11fe873f4c536ae78a1a7cf8e30f0b9a8e5ee3ab0c1fdf1003be8ad968c7fce92e6ee22a8aad89be6eccb1a9294be60566419c3bb0bd6198c703296ff942b426b6b4069d48c9c9a5633ed8c621d2152b026bbe3d2653f27c19d903dccb0799fd12f3d7d57e415ded9d51fec3d63b8bc6eb8677fa90ffcb24541a8403e8698492c33dc9df4b9625ddecc448293b30ac6360233dad750e1cc1808416bc036e57d8a53cb4099cb74787f3559bd60d4bcf398155d3736b40841b3e0f200f1003ef0d0a876d2cd06cbb1f6c4b8f2fc0e60e73e2e05828a11c7b56e8cf6f54d59203c81111563ae2be53a8734dce7f3d9a8830ce8f26d4363095a8811b47a16f22960360ed39b4dc56c6defd33cc20ff6ccc6fe468a90dcb043da6c6d701cb9d9f466903c248adddca27df7c7dce40be5b2c607bd0bca81426c9150e4b67ec6652e154eb033b794247ebcd10666f1f51bcc224bacf02a5a259a3199e99f2cedebae8451a66039facf29d75280327a07f6ae72b566d1cca575554683e3a25db22317e2f5303df03070f85787e4022b77bb5fb0cff5cbef12c07ce1f0acfca7081975f046379d37f03a05192193167e77b2f4661ec5b52613c6e06e4820c6aebb2da29567f441b4e810391fae93505a2e5f20b2f37b56cd2ad1824218c30818e81e4dfc8d62c1578602105581e03a82e3876df42156252732c2b5cd04db40239feab766aa0c96e2e56b00004080459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56401614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a031634334af3f7e87499b4d08614f4f07e6f623e68e868095285f5f995d6e146fa03f94d5416d74191d2f066921728819fb9707461a3bf2b5fb0910a6a803101ac4403775201f9a49f0d0b169ffd323460ffefe3940b63c5867bd9181549185ce319ce0320e8d7f412b0dea7039aca695868014319251e8f525c6ba3d24d1ba5cfdc734103b1acacef2c01fc6667175dfee184b5ef140dab8a7126e006e85dc6056dbfa0a3033b0d3141dde9fb2446e169f44bccb30582b83e86e4cd8e1767a73b0bfd9c15d103694963e198853e9b89611a5791445b57bba0853b99d680eed83c039da14af2e8037cf252978037dc4375a62014f7b1ee0ca1b525f19f5260bb38e45f258d75582203f01b18a91545d05d679e844166c642f6d63e079b9352992d3f9570ef613bfb1703dc0782bb3c69a69c1fa00c9242fcfe580d4678e39dc6a28cc8803f02929431c60357efed7de2c3aba45da365b7f9ad1f823d36554ad1f2a4aed34adb34f992a04e00581f02a270d34a878c930c200816f97e27739de97d856508c62f1a70c0f0a87c0951688f5974132c86bc481ef98d07a14a5f8900581f0271f66e770122af4ae0917a75a1962bc3f3f49fd956b7a5f53e1863453893510709abc1a6a92c71b4e7efc399776848ab0379e19c3fa9583e916e40800a0ccefef0dc40897e9111288a2b736b680c960c6d0358f170543ffc5ea8f40b4ae819c9efa998c463c930e44008f7d1fe6d0b66d0020352b6d995882095f8cba2eaa59cfb69198787ebb942a8648ac796f6274e1345ac03906f2bda69c8de0111075e12679f774b4d9a5145ff236a3ee69f5c25dcc3557b00581f0207d2aed1c22e4caee8114f1030a54d68b5bb045decda87a967692d2ae8f65820fffffffffffffffffffffffffffffeed5add836963bbba34c25d5a88e6c6041800581f032ae9de3a703a4e67beb7417ca9d3e1c00ea360d1727270ebb63174542ed04e1710a1db042381984d4765a565050361dcfc1abce5d6cf760509ec06dbd3dec7993b11f938b577ee6ff55e37328b4800581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010002d302d300390300b5000000000000493ebecb896d7f208b3ad675fd830219401803327b976b1572c48c02513a7cb173f70929c22fd3df8a549010c032dce344ee9e03156c78843aaac3d8789341050009e1cea234e8a944d719d61e6945138131451b0219f2e90341bb6784445ae448061f4074227c36db2f4309728c2a7c8caea0255e34bf17a003cdca53cd3155364f82d30d15fe5cd393e78a7e9774078d64504574110dc5979003cef02552dbcc930fd7f669c2f05dbf40e2023d385757f9e29c441d7c2362b493038657513dc50fd7ae2e3fdeb9d87b26fbc8c0c8ce1d6cfb810b1d675907a56643036d34a470a9d9897bb29b09fa25dc62a77d543ba6ef5909f99ba778d9a8aad834030b9baad32c748da552e750f1ff60bb6eda2bb75a411e12d02ed2103687df9ebf03b10db331e6d3a3474b010ff2229e0a33f4da26ca8c5670465b9aba1e334df849035787e2d165a6e28f4225ec36bad43c2a982d5d4202f2396b58d1262c9bd952c80370f12b24ff9108c050d38585cb486aa73b57a2dc402ca4295cb39e15c706989503becb88bacef6e02c0dec513855e249afb1c269e88369b10820183b06004caa780377bc66d0273749dde78c7ed0679093c73e6d3b15c76738286896ffd07012da2b03ebf7c4cab076d7f9610338eef8d9ab43786b6c93aa90499cbcda202703a4e2d7030dd1a29fec4ee83750ef886338e51a56975e02b60091581198a88c4fd55ccd6c039f60cb554f3b1c27b60d06479750d7c1b340f7d986198da4008be46e1a899ef50375ebb37491a474370661589b3f1060c3b1413d4c55f0746b2929c32363e837a20219ffff034f2adfcd707ddbce1d8f165b1b5ca56d5babefbeb9fe43256917138e44cff7410312f413368848a89a2707bf6ecf16d950ad266096f51f386048b5be90b98133e903ef4d9337a1d6b47953e1dbe98d995f53521ec0d06ffc2506dd14fbf67940c0940314d824e47a309e2fc9355d92506072580a6be59c9d88595e1d69cd095f29d8c20319272179761c0d9d5376b9452b4ef87634da1b7cd9e7f36f8501dd8f74cdc59b0343095e5efde708c6954217d62dcc8e9dba46c98a0cef8580fc059981c6cbb6a30219ffff038d07bb5460a2d4cfebeab407759c11ca98ef8486daf9f8f7a1c5a1ac32f26264031f556bc50209010d33f15815953f93c03d5e0a314c4066f5a3ff3a9faa4f4a0103986408d969dd495d7dc50ea95a080e2b0304e1ceb92b7daa0f6e16e68b2c02210359347b6b1085a8cc180a141e611d75a9cf3125d7e92b6a15038caf51fca14a420311087a4dad7cbc58efc6dbded99f79fd09cf790de00bc7fc37f0bce4de938f40038faaadc01aba8ef8bd31e8012d9539846b97e104119d27ef81b90ecb87c872d30350fbd47b370708c3eb0c36662cdc1b00563ec2848dbafb5f60d2dafe393add4303196fc24869b7404a73ef35a5a1e107a8511121cd328787f801dd1d70ee5f78cc00581f026f67741fb5c97fd4e6e38587aed89a4c5f99bee0295dfbcb0e7c15a7126b5820fffffffffffffffffffffffffffffef29b5a3f7d0e6bb297400b624e55488c1300581f0288770561c9648fc9f8d1de14d5a8a199731c9909ba6210c8da890fb23de8514358671f5b11d21267650b627b9fa57ec700581f02038109903912d00002891821f81f0a003742e7d185c60385589efd6527eb51bbd881ba23f711227efd1b4228521fcfce00581f030d8531f14ffa0edd1b45a359742384f2590e0f5b52314fc8a83c6fc5386051315636a20608c5d3ddfe83c952f198010000581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0520e7fde79142b3849b76393af078983dd459e02190110034a61fd180e182b77c38735a82ef8c961455d08b6ed71f227bab71a02e91fbd2503b42f3c240583fcb19dd91a1768a044010367990ed09a4084d1c2aba564bca95001410800581f024e822ad8405b6f4ecf0e8b15d647cb42e09803d2e97a698b7d9870fdc44c52033401fcc8a02ed0b99c7a0ae488497a1d0703a627bdf904d65b61931928965f7c96dfd0eb3d931f5b058806e208b46f67221000581f02810f14e8c3d6e05584679faf9ffd115180b163d5f56815227280ae2a67bf5820ffffffffffffffffffffffffffffffffffffff8b1c82d67baa165f845dd94ffe00581f0296b1232df14614e5c12968ea51a5d83ac39ac0e2000def3a7dfd1b98d383511d2d29a9f6f630d5c4d7617d82a289d7e6034f5034a4be179c1d3f7b9f98500cf9316a0de5f5ec59d19b4c0e9d557765d12f0219fbed031af80ecde62b090244fb8546f49d6ee943877014d8e60d4fdfdbd01e8372ca8503c5dc88dca8aa00cef0a061103455c268445a656e9716565f1106a483c1c86920035b4aa6861888c7882340eac66bd2161f8ab980bd513b4f83a4ab75716fd3278c0320838fa3dd2d2ad4af6209c9001b996e28924a4e97d9104f393db259ab20cbce03ed6d0812118930b8e817dd702060337dbe986d319c03d4225dfea6635dd71ecf035eb3869785773f55ea19450b848d5aa508bb944107977849706bc8af8a668d6603e4e90e3a63c56d464f416cff31a060281dd14745d5b08dd1e0257fd5cd1649c40354567f635c2f888a42ba09b6fe953f543e96c006e085afa4203c9cbabca9603303b69333338407f17201412b5b0841ccf84be7bee8206fd34eaf95f6eb073b243703bfa1916d1a111cff9a0f47da2537413a9f9f24bf4537f48e415896e169fac4ba0219ffff037e77974a88aea117a0efd87ab22afbf45913cececcaa2628d7b9d47c445b62bd030a1db762a18fba04212950e391cf1221ab422f3c3dbc3706a5bbace0498edec10396ccf86533069a2a535f421fa675743a7c6dfbaafc02ad4f58c66fcc265ce197036be2fc41b2d688a2fbbba0d508797a19cab6ed3bb53abd83abf3cac5916abeb6034c09ba1612d2dd2888804ee7ded58df4932159de749d38c36fbb40a2e07ff08e03063cf61a7a19575be5a5e823d17389e1396df68863c8fda27a5654a02289678803ea4e463cc2e6cad6b7ddf5a7a835ed196438aa0b99cea6ca4f85d6b97e72368603651aeacc56ef4ab748273e96d99d0839f02785826f60edd130fa32921a349bdd0395c15dbfe1c8526ae6ed883b4264c71c2a721c84f3ec9059dcde25d20cd63eaf037070071701c3f7112bae73fcd4d68acf211e6ad2beb76d427fd39c44ed64877703a50a66ee3de07effed90ab4d531b75397776aa8c1b8fa8f6b5b6141aa0d8676203489fbc00f75c5df876d7a82019d58cd14c2381dd0c554485161850fa7602b5400336259ec773e6a48bb11231959d955fc7abf8402e693c4372f8e7c8abfef74e0f0311db8bede3e18594eed69fea5746d73a7729b08374136f1829f7f92c14763335036402fb6664c9bf8a50186e2a194520698207d41fb89b9fed0941fb00dea139e10219ffff03a72ff6a927f4ff34f97853de447d5f4454e80ef5a34f27d2cb92fe679e426b0603e9b55b17bc231105c893706299f7910eb9b931242c9f6dbb6581d01d9e84a9f503847d97a4ed0f9718e27eac9597bbf853ddf71c625696cedcd85e0dce13cde87b039a62718f25237bf9d241eb232a7e9364ff7b8e9231ab58db66a98cded847bccb0326c428a935b08b9df274759f76ce2b0482860a48058fb425b37b78ddf6895c1b0364839b8ddb590900f75799798017db2af8e39be440aab9d3f11a67f7961f58b303cd73a0d8c07ce7ca71e9774fde6773e88beaf4b07c6f6d74c4640ef7bb046b4f03ff26cd2176f5ee25bb674dc643fa7c75af1d909dd503f4e5bbf14f2e1e0e0add033240fb83385b99deefa07a3bc04176f91690eb06c3298c32e4414cb28d9386420323dcf0c249a3212d3a1b336f40c30cff3ed12143222ca78a2375c5ad120968ad03b414005ddcc93a982d320ec77448b34788554119cdf9be1b065b383f6f1238c703b16bc97f82d2a53106b2376d56d3050fc72716d6e5567a1593bf17d110cb8df70389e228a8e29f5b4da165a0371d31384c616b49e8cb5401bb7bb822e1a38dc4920383a8eac32215075035042fc743bd5a86e74180c7a548434d31cf6b81d4bb8560036d9761003e4445fed1a52578b0c5cb43fbc762c1ed07dbcecfb6fd0c5b9cedb403213fbe1c5867724e1b5727747f7b3a5a56b44ac9a6d0657d14ef4b4269670b7d00581f021cbd3f4ff6b2e1ffdc9724674a9dbd7424f3307c61703c94c0f4aa8277f94e0595e10268dc42533fdfb1e31a3500581f02304180e4199135efbe7733fed16c32a46c6fc22b64bd08e6915d78f7997d4e0177bd23edfc737f455439d9adc003568e6bc54e453f0f0a559d2974684c09678b677667c2dd102da4f7b4601cef2603e94470e6364aa93956f48eaf977686657b0d3c541367c1fb8c4ddc3fcbfbc1bb00581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04866272911b059e9b600581f03e2898c2da6141ef1728d6a6d3c435e4437a98398c1be7a27025ec8c0ce004d0ef3077d434c0b6377b8c4cf480219148000581f023ae9a21ea4d07d15120a8a6f81b993753a000cef837befbb7c68a148311b5820fffffffffffffffffffffffffffff7ec2a7e9cc6fe18fa4f653882291d4108f50396576604990d6331227986c73ee2b9e2897cc478fffc06a6ff26357cf9c84bdb03de7d0f3505fd7f78967b4cdab85ff93e50cc03020d16de4b463cb361a31f826b00581f023c0c993e7c49514d47779dd63c54669ea03f430c64f9b05e50d712bab3c45820ffffffffffffffffffffffffffffffffffffffa06f4a6417f9d31db0bb8f022f00581f02b043595506c12c0e78b27989e21617b71e63b7e3a55d2f5e472c10973ba05820fffffffffffffffffffffffffffffe24bbc04bfe0c60f8493c54a5dc197e17e50399bf7948bcbfada507c1baf5ec90a15c2d2d4dd58465b2d6f0c32b87e616a905035fbad3d94611fb9aa471cc1231276dc2ecbb572be679fee8c1066e91e8a84d6300581f0234b85b242cefc5dac60a1dd953b1881f44db9e4e8ab3150f0799b32b44b25101013be52bbd8522223bd05058d2c72e0900581f020774babe33ae54966706c76740c86f170435a4f1ec938b624dacd13d408a519649e7be9f42bb8878c04107149b0bfdfa0219f7ed032057154664724ddd7708b90eb1af82fb2e6d47cede620e5309932a5dafa131d803a88537c09b6a0b5239c181e0e1bcc0293bc715cf8e50e6e5f8b86ef37e5fd1b803982fe9565483650de8f25e27a38f3e38ff99e4aee463925fde9fe5b94471fc2f034876db6d2483180db6e3003d481fe268cb0f2cba25e144a7133477d8a6fcfda503fd9c75a601a65a6e4a7cf6f1857d04af262fdb35e0cc24f5c24f76ab10e999a603040221df123d1a896a43c3d025444a9b9fb2e0fb379399e00d6266cb1765c15a03c9e705425e96c7af46b8d3e1485a422a1d11a4208a33207ae2210e1323546d100324b18f38242e1ef385a4c40d0a8ae94ef45bf8aef8b09626cc6ad3c46c8ea7270341d86af9cb9e55d85aeda4708ea5c72c7f1fcf70ccda606d88dfcfdd8a1ea9b803063d01afb83eb940728b27d8023be7063a79c61d91f3ded7e93e523eec50928e0355f33fa389534e5c30f6d1f137170126adddb67022c5f52345374b8ad5b9d59703c71e0b0351f9408ad3100637501448d609f81c42babfdd8c2b40362b66ba36710219ffff03dd9fc4c8863c0f71d2141e2035b2130ab728073a5b10429c1d5f12e5ef9a2e940348f620255fc13af930aab21e7bc53c224c5123968e96cb72d0025145bd190f9103933cf31bb9f0cc80ed96d4ab25654d879b7e03571ec0b6924853f911b77ad12203df6ba173b798bc104e89c612ae2bae57c5121f375f7bde13ca8b2c8ad4bb22d9038656efd75d12e939bfa1b0f8b560e036da4aaa1e4e18ab7a81dfd3e42c43c2ec031352acc8156083d288bdf1ae3cdd676352925885fefc3e8357ff6f1d716dda4803a7f9a66789383cb5bd78acd32ec1e150d47abf7b1dabbc4aee105ca1a7a165be03771ea5faccae9069931ed6cd5fda85948e2ec489ef5f3b621710f0f3d85e15c103d341c649c4366f1d5b1293e083fcb0384c070a7e9a07d673648c0762962862e703f856e280bc099a56587becd1339975fcc319031695be9f08118435914cdc27c603b5faf8bf174be2ec132661f08a0664d19cb1bbae3ab69542d41a40ddde5352bd0309c09df08d190154cf9d0803b7230815be8d1fe0552a429bac863de8611814d3037f6a098ba78deb27e0e8e3e7903875c9056f617f5c695a8486871f19f98119d400581f0207a4ec6c5c28665131640ffa84926e0ace27570afab248f8c15cbf229e2d5820fffffffffffffffffffffffffffffe1e75d0947fb4ae306f5147ea67b38d8ced0394ee3e003a9c41ce77dedae2bd6fc0c2083858ffa708e35254452ff5f28d6e48036b7b63f9817f31dbee9a852759a41fdc69a9cfa779f98b192e29f869910d8e970350c3ad7f06b687601eb72b54851ef9fd3a61180e0a335a94d6efd34e4e722bc600581f0214a316424a65ee1cc2cac6333a589c5b71cf1291b2c85025eb39a2c97b435820ffffffffffffffffffffffffffffffd54c4f7c8432c054b6516447d540bdfbc900581f02e4f5b8634c00c4b684f425f427f4e3105a7a435b85d690dd96c0715f6bb54d67534969d3bfb3150614cf9cde00581f0283ca3d3ef68e03615301483f3a5e619a56c87af63e1023d6216767bc27115820fffffffffffffffffffffffffffffffffffff359389c60a0d9b8dea3c0283d1600581f0258dfd7ff564a85b62fa11d867992f07ecdc8dccabed021e37861f06a43515820fffffffffffffffffffffffffffffdcd1958864d507ba10aaef5d30cdb0ce41303397a11b5ce2330e4ed167750a4545d6d523d1b7312efba1e91fffa4de4cb954c00581f023be2e1951dbadd3468fb5d5c8407f62ab18103c8e7ec6a116524bd3f9a6c5820fffffffffffffffffffffffffffffce5aa83186accce08eb5985d3ae04b419ee03aaff3b175d1f92adc3ccb5287e4e32b458247c6e27829140fecc2aca04bc17f3032a56fd8149de2f94fdcfc5b65030def24546087711b0a6ebf4766956a94ef81c0320ccdf63b359569ebcfd0a59782c1881c69ecd306b23dc5668d65ebbb393f8c403edac7c8bd2777987e9be58b52bdce1551549aa51fe7f250f42f1a172f9899fa000581f0337fbe85ffccd90a955153fa2054d1f2d72999fc3a961f8ca21187f4fb9905204a8adf2ef2b2c164194aed35d087542fcf900581f034507d586979bec0bfe77864feb7a81fe1b84f1a7a44c9f02d95f6c28bf105820fffffffffffffffffffffffffffffdf042caf79f0ac44ac5ee44be8aafa0629100581e02748c526dc96145113197d472bfddfc33edc8a4959e57156030b2d1a30958209edefef5bfe7dd3fbe55df63637833fe9ef0c7ed078f2e97095dbfdf7da9ffbd00581e02cb6b5095bfed1797135c69be933c8c53931683aadb1ba383cf68ab5daf5820ffffffffffffffffffffffffffffffdfcca261af7b4896be032dfcfaf36c232002191010021906010219fffd0332c6fff90b4622298fbaa8d9e62e2c8891ebbd178d55dfbf0adc5753db5ad8b003e576388dce6c061fbf5f74418b572e8b24f0dd7d7d1385e15c5b071a7477f2b6031db44d14e1534a0f213911faae60c345e793b4798ea361dc7f121545f056e15203df02cf8a548d0087949e0cdb68cb228cbc74802fab3727f65146525d96fbbd39037791eeff71796858b5e5fb4259af6f975a61ae7965990f91570281b76bfd2efd0219ffff03c2994e5ee6d6f85614633c1119aec038d515c2b0435e5f773dfb51a27a6830760219ffff03ef1cf1ee66ab60f90778298a0e5f088ed9532f5aba46ae4ce8f762d82012c1000331312907868defcab5eedd1652bc52095e52a03015a1df1fdba2c768fac7c54b03e15fff322efe70200e116f24ca3bc7aff206383c521513210fef8b0520799fbc032a7fe95736ffa03bfc915ede74e005dd1868640c7674fb8aefb5d7ac265d5af2038d2c56de412d782497c5e6817f706ae283b33db166b248d43fe0cba6d6bf23f2030f769d55db08f6bf921d46ba11886e39eb5983294f22f2454eaa33edd515490e03ca7dd38fbc37df3cb71ba2e5d9c7c91539e70c51fe6970bd9d5db4716bfe3dc40219ffff05581e033e8ac06c4bfdb2157482e7a0a264c20bfd39bd733cb3bf258faf72c4b0070119567e05581e035cc3326b15d4214027feba1d57c66e93819dfb9230fb9164794fa0d730040703b118731ad716c6e8af4d155f5c808fb6dc606d84914e7538713b1fc0f91df89805581e03f8426f382a41d09c9d0763379a4a28c2fdbbf448ec3b2323e29e14c5400404033d060472145459f111fdcd47ad128a07a8a4be7d018e0c07f2ef0e1a4c2e89620365f2b060d60d8738e0ee34086ad609cdcb0b23e62c3a0c3d79a9b1ea4b1f4403031f667e6a796099f0d6530a3cdc55500b1f711c4910315aadd09fe9bf32d3d69e05581e031b791e75585ef506d27454c49c394e3f3315e93e149a124a53714d486007011bffffffffffffffff05581e039313397e5cec9598415ccd0f40eab2419de3d1f535ddb7b6610157d0c00c034701cd36bf697c0005581e033ab6fcfe51a9a320ba7905f5943c4c6588b5357d4b7f421ae4cd1e04d00c014501e7561a3802199e0f03964704a77d5cb79c17e67dddabeb1f5650211c6a52002d3248abe0b73c5d899403a60a6b06626594cc7da626190ceb733a79bdef5e64d7a9398524d768893fc58b0323f031cb5430a3e2d2ab00e0efbfa109973ecda3c93485fd69e674920abed42c03db6ebeec478b97df4cb2759c53d74b0cdb60cd7b57e3d3c830e5528686d813500366a567b526571672eb965ca3aa3b0c26022a6821987e1066e35b0fb85e83f81603530584040baec3bbb4ed54d4bb528775d4036b287972a5312d8e30d96f982bc80319b0b13ce1942e30f8dd93611b7ad8747815834a092f794bc195514435c9c28103ec205affeef476cffb983a9f99f000fdb042ea6912abffdfb87c4ccc46a95ec1032ed9ec2a8744149f79f0e83c6b0058b689524cb8970800ff90488b63c8148cbe03dd0c46c58992cd7f97f08be41944aead22f8ef7bf56ee56ccd9c93c339a6e88a033f67131837f75d3ae5fcce04e4530e3d208534e1d913d80ca6c82523aace552003ebd7b671f9966366b95faebd9583080e3853714806354e925d9c865089ad18a903821f099ab3e2580075466c07b32adb61523ac87c2a1e0c698950fe29a56dc75f0219ffff03fedb15e07fcd7e40157d85bc0eb8a632758daae9d9bf7c4437fd72d01ab5185e03e0d015d100e0b4c824f318fb9b1756698bb58a1a3bf7677de3e939d6cecd688003f732de639f1b3e1c9546452ad23f18b21cc9acbc30e11de2fb35f1d9c45d96ef030e2c8f2c0c06160ae1ee11a3a7a8122bae67e4d3e439ceb43adcfcb44fd2995903b0749fafcf1039b74c63797566500edc021b81e0c0aa5a50895f1a950e2a53df03e74f2b30abb7dd94b0b8fcf5d6e1cf417df7fed1340100e473184135dbe815b703674e64475653156b3edc7320e66ab7f80ad9e727b72412761f7265d5204666b00219ffff03c9dfc11cd2e6efdc2e92c215f9198b46fc36bbbb59249b404815b2d540174d89035978ab0d397b1ab6c3290bb7c987c9f8e7b68cb3f20f67507f1d855273001fbe03510d2626870670418f3fd9bc7d74b6703ce282e7f69cffd534dcabda3fb46fc8032f1ebbf5e2ca6a343558e94b48dd38c133473a8857ad43756952fdc8435fc9ff03ec0fbe8cf165500d780b8a391956e11599742f1f34e57af0ea7db306822f565b03881923f27bcc9a11ae0f68373818dcfb46ce99b55869bd5e6f150ac1ad99422803c2432e7e1d6837ee86dab0d38514ebd5b542bd53369f9c0bd699d0ef4858e17403a170e881a1039e7f3224ca68eff47ec46bf5bfc499e8598b2b9242674507e5cc03c59814216c064e59becba2cb80993c3a1226943beab705bd9efdb64e70beffd203693cfddbc4ba0da755b22735f169480839ba51b4936d0f9eacea012d9fb579150219ffff03e994c50faf8c41aca5b84ab0193e0177ec09c1570b69dad962b6c118e21a5246035902d9d71f6136f26bf778c2149d75201eb453e9f9a4bf6b0b73042ff808ca53039b44e5144b2cd0f2a18b90b47979cae287b32834f5d973863dd57d15e462c2a3030b8d58570e18845ea81c8feec4a9469787bf565a44b82ba48833a70e797677b90383aa48c4a59380875b75d5d9971b78c3476254bc483dc917e08b5f2ada6b4d8d03e10bdbd941bd6cd757b2ca2031a66b85663abb9c957293b4eb4a4c161ba66ad203260b85cfdecd38d025c313223234208e9968d20d763395127d5f2d74895077ff03911ae12ceb72821e20ba2c658760f9589b97fa1991cfddab51519798a3119e22039407702118d31bb4fe873220a50444fe93ec20fc1eb60e6d80814854207cc05e03f72b3ee3ef3514871c547916b473de24bdf2910a7455c3b29c9e053e192106cc03b522c47dba4c80b817f7c0f674ace558a8466feddd7be4a0653085c0ce0dcfc8039619dae8ee0e2f649c249d56f47f1d49b4fd34c059b33282753222f575c8a4da03fa4c2374aae445bdfbc42f5b753046f9b8f2f16ff18cb9d84bf16dce5a72f627038e6ccd2c50116de754ecbffc2a4d9406551490fd0e33d7f5ddbd23801092139a03a3805c336821ddb4912302fd87064f7df14cec5182b7d81808617701e1f3cefe038410a07a06c614a44e454e027db2651870e0d4e25275fb7a5f46988b9042d70d03090e1d9097d6f9bdf142a7a1ba5c2e87bedfb3b64d64e255364205ac5cc74d9603876f13acdf5e95f8250199f051aed737a0e9fe8f2458b3a6a9ac1142ad848b29030cd7483370edf6ced5f70b6f7bc0f796ab0ef4731ed1225f88afca1705af8a74035202df33ad08684ff60f10fd4258cd9cf0dfc78281cacae33d8f9f26208577e9034ab5c0b2334f3c448fe786ea5030fb2d2cea701ff2dbb788a17ed982cbacad9a01410103cf5d35b8e0dbe786cbab2c3cf85025aa29d81dfb8642be2a666b7a1db2535e070395047f6332753a3b18dd027f17f9f884e71ed647cd874059819c095790c995d603c91d8af5789caf0a84429a5e5fcd03dd78c9586f4ec57ac2411df9f78d20958903a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e031a11e1c40f32da7c58eed6eeaee54437ba5df1bcd0558071e4ffe06f0007011bffffffffffffffff03204412494e9b7539db7329e28db7065da41a4628724cc962f1395dbd03bac61403e7f409c43308b03f48eb9b895667986346e5fff5a0c98585da9bfdc61919460505581e0347c72fcffa775e67a53532e9704b15c94ca96e92f75fdbcf0be4195640040203dedb515adf42e73162f0b8082f4031d1fb7ef75b2063d7057f67cd5db940ac3c0219652f03510c022b57224d3f1e8854f0624f90a2695b20c1f0824b6b649d8a10352740f90323da14df448a80d197300e51051fbc1ac7a12ad1b1b583150929c87687cc4b70030ac793af51c9eacbd2ebdbcd1cfc822400426b02caec036212dc218265b4872403689e9ed1be7afb14ef50a5377f30f21f42a04c95b233034e1e5398881489b38d030ccea2ab7db99d29468227df536313a601a970aec7b3f4034ee71327afa33b5d038c4475f8f25f530375b242f2b191b9376f564ad74aad04c75648dd0f4a05248303caa541272e1de15595402fba11da2a36cd04ca2f2eb018fadf3ab61154fb41080390bd185b96aff6e8db30e335b86af44e0efaf35918429e3d2ec344475cfc51b8038be57e7f397586731a4de31f4ed8af5c45eb2b64e8180794af201afbf887392803d808ef2219a2a391a61650344ada0edefb96874a37e1d289c01093717390295103ee94cfc20f5549ed8eb70557cba94cb6a402944d6211be47af6d9c3dc82f15a003d9626a44f4b85b0089c98d363e665d83ff92ace236a3ce19b24a4810e0098ddb0219ffff03bcf69529a44afe3025dc177ca09a053fcc0103d71059bb360be287927428268b035e87c4beb3bb5c1ad23b28e9e77d92e127c2db8f4f4dd64a69cb056665173fbf0307c4ff169d03814a9f2e3c29a671ae53f970bd8f6d9c1b3bf853216612b2357103be0dc9adf9dc9c4da76f051d562e0a20498a878a8fb5a0039ccd5d1c2d75523d038ace2b8178535086016cb10ac417158bac8ffc2cefb4abc393c1d5e30539ecd70316a7bd83f3e6e62d379c68e398c73aeb0d8e969591009ce60a3a0730726e901903c472977bbcebc35cc4f09057b4c4617e30cba98d7eb3e9d7d5af6535683390b70323a55c5d4455ce2c82432bd8f58bf58d062fd1abe760ea3e17cf576136511ef603997ed6dd85e3cbaef2a0ef2d14b136605aa406fc1530b870de5e3ab7ae2f245f0219ffff038cc5f54b23012360ffbe89c1fb6ab5aebae168937976aed0d5785867e47da37003726068f76d79c5d843e0ca421d20eedd4e7e89f270f7fd3110f6d71db9264f65037e72243df832c3326fbd81c56ae3b6cf819e2ef9f2d7a58a6113bda7b0cfd38803af40807413964a6a5d9ac8a9593355c327db7213824cff48fee8da31a3b1dcb5033f7a0289309629be31379eef8daa09362d864480b55c42e2e24c90bbfdd8d52d03b66fbb1b59ba67cf461af3abdcf366163b3e913b322996bbe9c351d87e106b1f0349f8a30acb0fe48c7bc875aa3f4d4bd5e8ecb4324359adf834076d475e8390d903d7cb065a298d26ececaf803dfe7ba01b72905378cbf66cdf1ba660bb9cf690910219ffff038cd6931c3dc2cea832a277d380bdb48642fee3080cf3cdd012ee9dfb70ca65e2032dc36f09358ddb03b78fdbfdaf22edd0c09a4f9d39503d824325b223371b193603f745fabc77184f85bdade026f675deabb237ea0f5cf3a0ee5388f3d0535164520343ce485a5be35d5201ba2ae96c5b0e1639cfc65c466bec9b6b024c11a2f598cb0376caeaaf8f77726319890a9ff81bcd1a62d46f49e5c84c65c35c21c34a9b232603eae3c059c0a85fe2f4f787771c96b71c70a8e245fc23c48ef2a3f8535f5120d103fa0101ef07a944326baa07805c5fb23d2197ac84fc924e8ffdb2a85a5b28b6e90392535524e5c93a80dc18049d323cb4c1ac366f04bf561c96f4b62a16f58761d803ea368cdbd23a51de6dc6bd3141adc2cfdb6109fdf6b7c7e8e40e00121c97d9fc0372ca106d9d5ac652c301a6a48b058802e68a1f0a6e0edb3f7545a8787741d7a603ed15922027a149acf690e74138720fadd5c0d0aa14e7b957077188dd45f6a162039aa1e367384a52904595797702b806a324805e4df7d66cff8ce02469f96286ee033d7808e6869b9a301a10a006d9fa2d90683b3be5bb5206a2a96ef1fe7e40e960036c03a07a00bcae0ee46b941d6b28c5e23dbd1eba168a069cd17af6c361f7357e03f765bde41b98acbc0df3c6d1f7a390509ebfc2e3fe644bbcd97552ef0c19964503d7ac427d1f3260c436a64f8928ba59642d426bb92a2dc410e09d7f81b55b3c90035297d656979be008c67dbcfc32ba308925c164c95a38fc0b65633fe541189d5403bf2f93007d3dd088e13fbf9dfa571dfc4149302d0da5b340024ed23acdafdf4b033ccf3ee466c34dbfb10166fa4081a4e90f60ac03ea0feeae341e17093464082a0303dd132f019f68e84f50c21b90dd9ef5e373318feeb48d51b5585689f72f8189030ba4d81b8ea6702f37ec64840e1f84fefaab8110a9c7df43409ab35c8ffcfa3c032c975d1a6b731396e8dda9d03ff35c42117f47b0ada338037bb331cf2105248b03eb049146747457082986265387e208be665dc8c3e6c02bdada5b425a4a6c964b0357ccfecb8668879008d4f13f037ce97924ce8cdac140ef766d2157b662127fce0344bbe69455670543d0162156e18ec7f8b1d39377e415d45e17da992ce762327f03fd66b2bc72bf7b44fb505371af181b4e96af2fd15316662f3d7725eb880db3940376f349b32e26279b6e955980fccff5eec6f42bc12e1af21adae847865ad0939f0309232fd4f15118b6efa7a11aa911ae55f460d2ed0c727b76436f55c88b3cbd1805581e03947b746769e0f549a984b07e6f079e3871ab248083252720d52aed4470040305581e03012d6b7c47a7d4f124037395f763f0ee321817f86744d9c191f5c10a000c0947014e29039064f805581d0233507b25e5b24bbca50435654e1a020afb7a7a0e11edc994389931dd0c044637076a69def005581d02c2a47b7f2eaf887f40a0c7e80828057aeb4ee1907b8d6352ec52810a0c0c479b7e9937b654910219102005581e03bacfc3123a60ee30883032b9eaf7b7f5cdbeb55f8f5b3f8d3cd71e27300c0247012f7bdc49880003ab55547d18176d92693a5d5a857001b3a5800f94745fadd26ad56f1cdb7a4e9303425a2ab8e33885d05293ef50b0293081ed194fd725d73e85771fc4993c963d430219337403b74df6ffaa54c711460c3dc40ddea2339ca015a929529f5adad30d9ed216f56d03fef2a7d39e9b2da817dbb4bd1d814f6dc9b12155b50c6d40bf63f8caad8bce830344fba1ec0e7323b12e06b7eadc04d30276e687ed4340a43343ed17ea5083dd5c03057b6e53acdf7dea11532c324c412d038a9782cb4b2c94cf6a0e30eda76ea56d0391a1d7df8bbd462588f719a0fac61c9b1ac73cc9805244935fe33081c7ea1f25035bb5426473116f4e80b780da10190bd5ad23aea639638efc4f5734ec3275b9c80332d26fb9a3541dcbc55ea8b6a2bfcf45977b258b6ad80105ae8ee539181f1b3b03f21d1e76d1db4a95e330787f3154fd93b4ca0d077d5aefc957baf73a8b348a100219ffff0326e01994da9c592e6c1b0703a0ed827f131c5fe849823ce20313ea9366d4c74203dd4ec3a55bb7c7b049c7e26f576df884ede78cedba2fcc3c4a93205e5425ffa3038650f9577b52a8eb635ec8fa258bfb13ea1014f4206f2a76995dd18899de126d03c9b1d252e096756be8a340491a6b0f482cdebf4a99fc1e804ca5e1bbbbb8a8d203a43695db0e7d4880830070fea1fd0474fbc3d0976ddd67bf37349401eeafab1d0344c655628d61d17b57bfb1426f1e0ba8b307f3bca891c210856cdf741cc5cdd103d84669a022c74925ddef8b72acc1c85ab16ca65221ba873d0ce350a64db72e400345af6e60a78fb4932da4a0ac8da34c9670eb544b518bf00dc662f7f1d64e181703966ffd70f23e213246b63a83b88db7d3f0a9d2cc23abeac92c2ee8b93d9bab890219ffff0380c6d713d5b3960364309e9400a55b7b351911776480e2d9b37e43c2459d479003dda1d4578a4162fce7df90b7e4f76f9618342636b2dd57cffef8dad6c6e65b9b038b33a04c657cd0d53ac8f27c28a774e3df1568b40bdacbabaf0e80e1228916fc037ea740408134a7267d8c502b1b26fbdb2f4c7a922c05eb8bfc853ea01c6b0f0103321c61f24548c1d73406947d11929ab9299fbb0909cda38d5c5c052f598e07370219ffff03466e3dda31eaa7f2157f3fdcf021d8c41657af5fb167c498b8d76f9ea24523c503a7867a88dde654f3633779833049749acc86112588f15b6398af1de30bf7575403b4d7b7de0bce1ddcfaadc39a82e0f30adef4725f83c31cb871eb194b7d72c0cb039be771f36c9eb55aa8e5d9ede50f505adb1811241a90306b7098fa881f819d5a0364e924b3c45c269c2824103e65b59c8101390219fd52cca0d3ef1e5c2ed6cb02038961a2a9599100c5b83a8cad85ff1d4bb766692a7b8ef814c582af312a1ddf9803dc64f0165246e8d1e1cab196c2094575668e37ca0221ae8736644ff8acc6f690034054857e288cf8ccdd0a0248b64842b13d0f3e1c722ad59355e7f577006d3295036974e83db84659d1f05bb4ec6c8a8d9d8ce4fbed83ee4bca12b0ac2673363ddd030676f53f720ac3e934bacbc5677706633484e6a62a708e16aea1f44f2e9cb7a703e9796b882997280ec391b781355c746e475689b3602a966d3cd4bac6d71d2487038ebc1551856a3b5c4784c98678a24982660138e333268b8d669c0a70765737eb037cb516e2b50935a3563809da112d4bfd7fb5eba7c0d20bad5110548711e5c01403f695ce8d3c5e7b0ce0cc95b8def4333d150c0ce11ccaa5a4404546652363cd4903909d467f7b95d1af0eb8c6ea2b3585c1f02c0e9a51ed7b7b68a20f46165e936b03906bbb2b1faec3648628647c192b916deb17feb435158c52286a51b2b3659d9a036abaafa75e054e92a577450e10606cdba9e7d4c8bc6cfea7b0fb86a7ef06adc303169e0d0e7ff88688d591692323046cdd21b24666cc56e2ffeeb10352204e576b03e6a2c9c2ff6f78032cfdf0d457ee7b5de8d3755671f440cf6adcebeb27af308f036416fd4a99f584734beb46381b852c330c665762afd768e25bbca835f6c882a303211475688ae5b10caa62d77c03062cf479b4c3ce2beb03c7aec6134de7d0ef1a0374d5e60147b6631a12f9d89e41193a92a208dd8cad082a875d3d38f1282b89cb039214bbec70bd1ca5a93575bfe15b6838cfc0a1094556a704d9657d1dd57c2b0503c991ff1f06ae1141dbb4e2e739c475679f2435c6984edde913d73a583b526a38036eda10f776e2f5e1733752b342d4b163ef8433003c1e7778654d23d043dea3c1030aea2bdcffba184ff75ff42c67b5dc640554b296b1f57e1db2b175600478be120359460cfdd78f0734257d3dc2c2a333b6e425457b34dcfb41fe761026f4c8f92f032dc88695791c9872a6daef05e009b2eefd18fabe9f8e68ad4c78f2f3ce7fbf5b05581e03ba96d473f11d8649e4bb6f3da1f4e30d30dbcd772c2e97056c7d38a88004010322b96688a14c7fe0c463aa5389c407765dd864a8150f2f6e95014cb404f7f12d05581e03e6e555a9f21997005f995e8feac6860eab1e83de57be4b706cc262d580040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c634300051000320358a935273193af0ee3e5c11d6127e1c0815f0057fc7b57f565f1eb97d25efc770351665f6a97670bbd79a175d9bab83b709f0c616fcfa698a6cf6221c7b44a8f940341d97935754a65a714fc12e4ed3d03240c78af8de47450bcba2f1aca1d15fe5e03cb5d9a80ce2ae8223a4cdfb1b9f57b6b97b603dac00a4459a7cdbd96584a266b03444273bb27aa3ae97c57e2ca95585a4bccac21533b4926d6f5b8f791a362a0d60058200238e9689977d526f580531775c606e5a07c1ff4f40a9ee98e4cca4fe145a2f4410200582002cd6db730126ca067009f9be5f81de8cb22de86a27612ad202a19a6f4efc43b4101005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5402c49b04d2274171424a76bd0b77b22c35763e5002194600031303fef5606c07ca61686e48c7a2fe49c3ba6ae99a5c908cc7f8a498a530b321005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005820022bc362fd460acceae129f927809523cf34d3bdbbacc39d81667b61a38764f24101021901400058210382063b448b14f2d2bc3c3b5b3a760d4362819bd599a181bbf6647c7e0460c380410100582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820e6d9241f0ba2cb36020e90ae5e918d2fbbf3d04835ea3aa4e72a90a18e769130005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85002a5954483e9139011a1e1ce9706405c00582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba4103005820022495234844fd100f54ebd009c4a46011329bcd6e771ba63e2ecf056c236cfc41010058200236d8d25e1d96fef1c3a6dab4a9618b0be6be1d9f3441acdd7cc885dba2d31241010219854400582002081fa398a315e3766c7b68e23a76e143aed202796ac389c31ce1c8b8fbcd004101005820022c16b3039d96f2b0386062c960b59875e9362b971d2584080688ae285369374101005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c74101021980210349b25f76985235d3ef8eed6d42853364a44e31ac5d710c186df652f480e9e9740058200251e39cff708212beb6f47c8e9b4df78c1a8a16f33524c3b0a584b145a4fc7f410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5d3f0000000000257e0112c4dbd45a8e00000000000000022fcb301981720058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54576e2bed8f7b46d34016198911cdf9886f78bea700582002607400cb784f460aef4a54c98d9bb12ffdbf1e7dc893fdef424c41662237db467a5d8be8a60100582002b486d1a7fe98ce0e3c186acc1235383ff015dc24764ba99c568775949a9adc4701d2aa21f3b65500582002cc9a8271d90b478f35f03b33ae29e8307f923b28d44e496bf61fe82958205d4101021961490219fd7705581e03b0c228bbd4bf16a887b5278bff551c7ca616dceab47b240f44ccd501600701192c1d05581e0397bba54b1badc8d3e3564b2a8521abd8d51ef278e72c88e951e55db9300c01470c020bef1bcc0003f6144983115b8f1c3055fb137d9455126912352f5a9ae8734d780b0ff60da79c05581e03fdecee983b295aa8d9b72936810d1f1834e2e67b2f375b5a436ac20bd004010219b60703a9896a7f7ee5925fea46a00ee30713840ae4166e6ce17eeef2cc93a2bfa4c3db03bad4261bff5225b91df0d5ed378e1e4d6d89eb6ecaa4ad0a0d89c3e9eec32bcf03b0fe9b400195632259ad86163ebeab8d453b9eccf6b8be396bcf2106caada1eb0362424d43b62cded9a2838b742dd8638964e05fd148fb7135c890d55effcd9aca03497d82ab2f1be690e482ff4a91e224cf2302fa8191014188691a18ef9815e54203457716b7b65be415cb088ec8fb2d753f81a7e64618016b4d9e44a8614b5316690219ffff03ef4c8f388dcf039b75b0800b27b8e6a831897afa292026ab357673a24090ad4f03ac5aa3b46d6ca4fc8904a3a1c3b28475662f1e4f019ce41deb1467b96ffe8fc70219ffff03abd512b240e245d0139540666279c22ec2c529ddf6ee9ac8c1c1572dadf458e90345534f84825a06c74ea4fd861875e457efd6d72214c63f944a3c09f54c7fc43103e7a97df0db532a389f12b597ac50c50c9c5f5201a8bc044d0126366787383cb2039165fc8c81e232c502bf5fe8ac9241f53af72094a151da8f6c8770443c5e8770037dc732e140e84c11a104322f444c5e612d7baeaee27a986d96533add7a16745803cae7d698bced278007d12a5f02f7fbfcc1cca3d22154878898c1901407143bd80365090b0376ed8dcce2ace2b35104568f383bbeefbb86d31545c8239cf03dc54b038a25f10d6bccdda95a4c44a3600da07dedcbdeff5acbda15ff63fc2a090cb0e5030000c9680bbfe6d98d3491f2668e9f78376a63f3dd388ccafac3ab932edd40910306ffafd3e5f9588c0855ca2872428d102aeecfef1dfe84d2e0bf66ac18f5a01e0219ffff036be70b414894962bd659d0fd26d84d330098cf304e76ce02ec47417f4d7b2d4f033e91af4e90d307e3629b548b86b6c59e7afc413e7d61ca347615949e599cecea0219ffff03c67e741228631f3960e0d52378b107c2d4dd37bf4ae719758595059000e6704603b2adfed052b53d703f363517e71352ba119fbd28cf2173f568742fb134ce756b03bf11e166a7734a847a6fad563417b3f07fa504a74f7c2b24ad997dea004b7bb803d2c51fc0dce56fd49e8acc5127a2488f52097acbeda8b7a37a7b3608f6d9028b036e6a013e7892f0245e99accdfacbbe0940df40a120452897439d42ba14a54960033c95d3c54770bfda396ed17ac9641672a07f8e7d38c5b7d70a17fed4949f9e6603fc596f4fa5e064776880a59b1faa79575a18c8bc964698242b2c907f00cdbf7203ee96a0bfcafd96cafb3972bf047eee2e3079922f0228cdfffe8f1cccce27e59c0344d3b70bf5fe202230db53d1e6fa6bad9ea3e574e4c86d6ecb71c22184679998037c6db9a960cf298dbc63a325d8a9f0297b219d663c3f3afed1b4070d2ef5691003381b1b97c2a81247da14cc3cbe3ad2a7e1e41c51c1fdb01634a71c1ea44dc8490353ec794b3aa9910e28489290f048ab10a6a6492cd5c979003c0655dffbe32cca0331d21e1b4a3d8bd856fb6fecf2fb671b02031d25dbb4306766c4a22ec86b98fe03ef7794e3e5e18bf04c5c487d3c627b00bfa7f31d54d3cfe56172a3573456385003c002fc051802fbad1b9520e8cc0272cdbf24aa21804acf75578855d3a717560903ce483227758843859a61b826b04d840763e83cfdaf08dc19ba37ee7fef015b5b037277fa0e1872a9ba7b4c36097397cd02e7d21a8da5b88fc98162c5ff2385e3c00384fb1cc9c907d53681720914dbe2c6c7395a4f4b261055e4703a93b18b5695bc03b2bbce7458817a60e45a74a4bb1021f6ecb3d770a28ef724c104bd70cb1f541a0334675b3aebaacb9638d0d4ff16a4cca815505fa22a96292248214d946dbac8e5030673f716599aed5894bafdb608afd01b5a2d3409cd9979cbe0a6d24093118a4303a69b2f9556b94bf527dd1ac16a89aa0716f6703e9948b10ddac94efbbf0fe44a03b3586dafd22424d9ed73bdbf5a8a46e103ec48c472ea851426a248b4a51d321403513f1f123d3f26996666165ff2f8ce31667261b88523eff9ae10b4f121060b1d033b1ef9138194f652fde7e0bb45db5e5c510437c9052bb1fdb366f7b77bba842403a8128f0cdeccdc1fd639f0ea64bf8c6c860dabf4887073a3faaabb21f97f0e1003e0939692dd7f00ee7b91890c31964c9404f572173a3496c38d4070c59b821665030e2d87c9121059d1b7ec087c664ae5f07e9a03c077808b712c327d65870424390384cfe0c4bf10fed6863b65beb234a7f11ac17dc8823157bb14b0eda59cbc278c0348a18b231f194b3701fb4703e30886f4abc7ae9b7ed4a67c67aa1733c7427c3503ea730d37874089bacb33d239caa4dd3e2b27ad95bdfe80a1d50a8f5dbf798e870332001b83dc49af6fd9830a5cdd9721077be4e7c7a1e1a08903ca42749a16a2cd03a366b63e95ab501442625e02f045df40951a15a852e40a4a64125911ebeec5f703389b644b9f451616e617196461dd75e07285ab906e513b1444363438303e14a50354d6dc4095bc5b7b7a163204b8393de85dba259443562ce84ef533440145f7ca03b73a606966aa3f65083be79b259b110221971f65c039e491bcb1350fc6b361e903621a6d3fa5233de2af8b299c4c7fde81133a68f20dd69e062c38d751abb1cca603abdbef88bb9d43f82d06ca54bb2ff32f164f170630bf26872465ce4f4a57262d03ed0723831a82fecb220c88d2d3661a66c265744f08a0ce3f0b1abd79ea5a0e22034d825ff0fb8559e634328268d67551538c8c8d4ca24b88e6b7fe5508cc87121505581e03b9ca6d0152d2481d2bc9abe5372c375c9dcf2ab091ec6d8087286c32a00c014625ff7a60000003b13dbf39ed52ec6de836f26e17b6129b1b8f91f36da9db8a1ec84caa61ab012b05581e0360b08da78e000991e4aad69f05eaedb111bfd14ab05cc79490e4748cc004010459084c60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106d6565b610118565b61005b6100933660046106f1565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106d6565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103bd565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107f060279139610411565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb6104e5565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b8361050d565b6000825111806103a85750805b156101c3576103b78383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e661035f565b604080516001600160a01b03928316815291841660208301520160405180910390a16101548161054d565b6060833b6104705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b03168560405161048b91906107a0565b600060405180830381855af49150503d80600081146104c6576040519150601f19603f3d011682016040523d82523d6000602084013e6104cb565b606091505b50915091506104db8282866105f6565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b6105168161062f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105b25760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60608315610605575081610285565b8251156106155782518084602001fd5b8160405162461bcd60e51b815260040161032891906107bc565b803b6106935760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105d5565b80356001600160a01b03811681146106d157600080fd5b919050565b6000602082840312156106e857600080fd5b610285826106ba565b60008060006040848603121561070657600080fd5b61070f846106ba565b9250602084013567ffffffffffffffff8082111561072c57600080fd5b818601915086601f83011261074057600080fd5b81358181111561074f57600080fd5b87602082850101111561076157600080fd5b6020830194508093505050509250925092565b60005b8381101561078f578181015183820152602001610777565b838111156103b75750506000910152565b600082516107b2818460208701610774565b9190910192915050565b60208152600082518060208401526107db816040850160208701610774565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204c42c8a05d38921bf3b9c46c2d6959383ec3cf89d820f0f9ee530ce0a4c93bba64736f6c6343000809003300582002f2e83562edc1e0d3c284ba0d80edcb8224974714d5234fd53ea183c222b6c5418100582002f626419e63485cf3328d50bbeb185f26ee0268d64ae57a63cefc325cb204ef5820110f4e64677bc4f926894c2d4bb3d7db3b82d284ca17cdc0f22fb045cb316ffc00582002823146f43c0ca156c1df80692187cd9dddd2173f54beb5a5f0fb26433179c554bb08beeaed39cbd6d9bdb24f2627092984ae55a1005820022698119f18a221e39c23d2b432ef2436fa13b50834cdb30eaba559d384c31d546aba10c9bb6a39445d990fb7a720fa53025bd7dc02192604005820024846563ec9c4af339442784b6c67aae8fc291739c7f3a3d854e6ab46208452418100582003c4e0f48a6907d69698b5c070beb490d00fb52fb0a5fc2aa2adb0a9dcc9341058203997b8b9caae2c98cda6ef4be06da3d7e79a53666ad0a66ee7a2f60a6dfbf39100582003f0fd96cb946701cb58ac22ddf316eb81a7ed7dc3dcf6d5ba56200f6e27224054bbdbe7f5ac524078ac72c1d4d39cd9b40cb4b9ad02189000582002aeca83f0e542a16c3351ffbb38fead2cb9d308c2af43a5da3674e1f4b1432d418100582002eea7aef1e127c10503415cd8a9a7895efb01cad6f56f2c7bee5040ba088fc0418102190192005820022622839309fdfc42306ac82fdc64b9141283d9d7e75ac3f5eada849686ecac58204f091db27c42b1bd8a4fca97c3135fc14323dcf3e84c3a90c44050b312f5f9a60058200237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8145475b6dee2c525c7fb00e28d1aafbca6279ddccf2e005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563410100582003a6bf6d857c73256c651bed328b272ec30a54c4f192d86957c8d45c3a9ab9a0582041da96edc3735373b17c393eda197b82b339703e9cdee9b1eab0fd17bedeb18b005820038f9650d2beaefe9563b7950e7badbee56eabb7c39c14373ac57b8329a25f705820549c40ecd4e8586a8a16faa9a36db9857fea7b1f0ff3e3d5de9d3b49c93420bc0219204002190a0500582002cc9fbf65ed14e5ee547459db09155f8ace2404ba56048de3fcf93635bb6396582013b063da16a63dba01914beb8f73f03d75a794a854a7df93513ac73a1472b60d005820022e9271a576830e8ec4c05a207a9f2c03cf726a7e6d5d2cc822194176fc41255820988d5e9e4f87f7dc9a981ea5b8c8a9e90378532dbd0965a0553cafe8393c74b3005820024a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9418100582002590bae4ca8fa45abdcb622a6696c8c69481d58839628c3dfc5748fa1d1b33d54f995d1022269c2e0ecaacd15d73e3a621fd69a3e0219203200582002a1d2b21e5566a78cdb756a3467ced83ad9603c55edb9a82f222285fd09cacb5451a887f3c12295a69f57d0f41b276bfebc91aafc0058200211fd1dcac6ac944d73a98bdeaf1b2517b771a8ca73534e43b6f5a6dc42bbe3582013b063da16a63dba01914beb8f73f03d75a794a854a7df93513ac73a1472b60d00582002da158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be44101021300581f02a088470d8cde786283d2a6651f411612d489dc2f104bcac4f3d73b55420e5820d749a100bed7add0dfd7bf27e57446e1596b91fb23e4a83d8e6dfc3047fc407a00581f02ec2e06e8be499e15c443658862643ef3e888b06389b86e48f68fe444078258203643d0a86b0ad4db0bc78298454a5c37507b13b1fb7636bfa3a9c97cea8c05200219012001410800582003791de9ac7a2b87f8750c025133df9265180f10d033e60ac4dd2e52870857f0582096e6b549108cc21f84722da0209d4acf8fc6a110fdd811ef645ba2f8ac2d0c3e00582003f0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810544e59e778a0fb77fbb305637435c62faed9aed40f021920040058200236df8e94541e0f40eb32864a46c86131436a5a2988b0053822f95b4dd5952d5820fc15d64a5cc0069d9d1f7d40c651cbe30bc400d6c17fae77068cb248bfb6216900582002711cb34e486949bbe27e4fd0e124798cf0c6ae75faacb89e1700488d3776775820ec7473c8d893bd5bf565fce55c507e01ef068421c26343be2a151dbe9a3ea7ef02183500582002b70fbab570a923d09c5fdd8bdc458db3bff7cf3956602fb21c857eac2516d55820b97a17806f9f98ce997d24fd428ed403697aab40d41ef862ccc2bc4ec2ccfef700582002dad4a19f6a338e1ae3df7e3b2bcf167f0e37d367c3936c9a0cad510fdb6dee418100582003722b54f936f8ac520eb57f419d525e4f676f5cf4e5580cf49fd47b2073e5805820d749a100bed7add0dfd7bf27e57446e1596b91fb23e4a83d8e6dfc3047fc407a005820030849d18623e90bc41fca1f410680a98d7ae0edd50781e65403a3dd9b07d070582057a49a8131d3e8376c88bfe8eacc73efb1aac6570b08c2dee823a7e26f0d911c021960000219088800582002f8128887470c10c223ba19b17a6e516f23c299eb40856322bcc674edec55615820110f4e64677bc4f926894c2d4bb3d7db3b82d284ca17cdc0f22fb045cb316ffc00581f023980ffbfe9b7b32a7e446e258d8e5184d47dd68a9913ee4e649c5c64ed7b58208a856d85acf30ad29cfd276f7cb673f301bb27a8ebea25a04333e58d3de2a41600581f0214758b9cdd1aff478490d6bc409578ee405e47843f4448bb96a9d304fe7441810219020200582003152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d00041020219041000582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54f7576237087f808eb39531ca490b4f8efd4a0c690058200392ef00602effab0ede3ee9d6d8d77d10c3622e25d879f313871fac5f3dfa305820c911351c19276dc0e0eaeaf9d483217d92af29774d229516a59436b9b23f3d71005820037e04e141d2bf2df38b3940e4705f4a710070ddb1cbac6a941ee614a1247dc05820b97a17806f9f98ce997d24fd428ed403697aab40d41ef862ccc2bc4ec2ccfef70219300000582003ddf77218e41a64a625ef8497f14578411cfe95edb31366f63eb5390b38344054306d1c4482b629a684a54b121f6f57dbe617740b005820032aff6b35506139aa327282535d3015ebfb8bca8f919c3da6282328e9bcc6404181021980100058200269bcec862e8a1f999769acb82888070c9aa05c46ce852b91a01d6f60aa777c418100582002916742a82287e54af38543c9d639aa639f5691964312cc45c81f3c363fc5fa41810219c52600582002a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82542f44bd2a54ac3fb20cd7783cf94334069641dac90058200268eed29f3926691d218fa2dcfdafc2be5d5b464f1d912fa139484853c03f5958204746eb676b6e66bcaa147373cc190cc509be0956415925e7bee37f071154929300582002db9eed47489b9137e006c4814b48993c05632bd3af397364818ae87005932f58208a856d85acf30ad29cfd276f7cb673f301bb27a8ebea25a04333e58d3de2a41600582002d071a5f515fd86d4b991eb24580ccf842ab7f7c41e88c89cd10ca55c6102a5418102194094005820026355a15cf598b785f29826915aeda3a1831b38cc20387a871c0f247dfa09c341810058200289fef14ae8866909d01b6e1228a652d8bd21604352da5d3c18a5bd974ea050582096e6b549108cc21f84722da0209d4acf8fc6a110fdd811ef645ba2f8ac2d0c3e021821005820024739a11a48c5a3aa17fbe926abe648a8f699a70902f397b49b61bef48074005820ec7473c8d893bd5bf565fce55c507e01ef068421c26343be2a151dbe9a3ea7ef00582002fb39c6afff32c63d8ed56ef772538b4280135b9aef53d4acd821687c21c34441810058200264cef2d6fd047e7abe6ee702cca7130747a9c87d83878e49d6d1c927d8016458203997b8b9caae2c98cda6ef4be06da3d7e79a53666ad0a66ee7a2f60a6dfbf391005820029bcf33088e7837abfdc7e7aa51caaf29d4f26b7c004134909c0a0dd48c71f758200662f404c8c35fa16d1259e25b693a892fe37e8339954c822fead18bc8703f6f0058200221d96668888f3bac149fdb118eba5ffaad605625a8c12f886b21368e8ac56e582041da96edc3735373b17c393eda197b82b339703e9cdee9b1eab0fd17bedeb18b0058200285b9071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c5478cf48880e9e1b3ab209779c0d8a76f611e53e810219ad80005820038db1a1c229d210eef9e139d52cd9329dc2e768c7d11a19442bd91e3cde757054d4fa4b67b69c3fcf3dbf15db5d80202040bc72fc00582003e8cb63da97745eec297635738c08aab54078d9df2c21f603d50cc774cccb405820b58b220ad52b5f4daa750dbd1c3e9336780afea53e9977720cd5ddf139602d040219040800582002837b0e52f94116abce08dc8674c64aeb3a9ea35d16d59eff9d3a1b91bfa2e858206e787f330d507bb46dd299b353201b46b209c62ce64c14c8f79299282ec17db300582002f7f1091086d8739709cc2449a9ed380603355d6d157772f14a694bdd03181d5820a64517c545b6365b3c641d7f5b5d426e09252301d2c381ee2ad2b2537807d58d00582002a9db4cdbea0a37c207bbb83e20f828cd4441c49891101dc94fd20dc8efc349410200582003bfa09deccde0aa3188904c10482a2c5bd23038dbeadc0594afb02ce5e9b6305820c911351c19276dc0e0eaeaf9d483217d92af29774d229516a59436b9b23f3d7100582003a123a222aef9307e80b00b284e5b77fa2270cf1c6a2d3da7a830c689118bb041810219204002191982005820024648f9c2cdc9ada278987e1e7d7a67d1eb98c4b1bdb6f73880e1233a8cd183418100582002aa5b2955ced4b46a7c9f250652bf538536b32ac43b94aab7e80010675d7266549436b6f211f50f5d5a17521e4725e27518dafa6100582002f7eaaa4375b81572f49afe88e9f359f6d81096a910b3d19d5a3673f6e1746c582057a49a8131d3e8376c88bfe8eacc73efb1aac6570b08c2dee823a7e26f0d911c00582002d85a953b7b8f20ea0a874360bb60c2ff625e64bde3ce0f9f9791b1f9e1d4f9418100582002adbaa08498a3fbcb364d77c0a623659a838a188dfe484e3f8f3d5a1d6b9c5954c828de4e817e1705cc539267d5f28be8dbef28de021988540058200204c3e2ece609573142ff45683651ad48262bb5668cc19f9d708869945d7f944181005820026e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7b410a00582003233922a9ccbc845126e1243382abae1518c5aa51e21cebb56d9308a295fdd0418100582003ccf234b5e30aa434f990825149226ac37db0cc68cea3215a5c657180bec09058203643d0a86b0ad4db0bc78298454a5c37507b13b1fb7636bfa3a9c97cea8c05200219082000582002d61c7d41e22761ebdb774c63528ffe8259fc305761aa9fdacb817bbe2eb61858204746eb676b6e66bcaa147373cc190cc509be0956415925e7bee37f07115492930058200268da4d692a9d937fcc7351262ad2033df00546524e8c498e5b5784ff1dd6cf5820631938e45991dcb6f2c09398f92dd65452cc7b4c51d2543b19fcb2dfc80d13210219044d00582002eb65f44015bd47480a205915b7e59588c2b28639e930206ec283db0c226d4f5820549c40ecd4e8586a8a16faa9a36db9857fea7b1f0ff3e3d5de9d3b49c93420bc00582002d0dd045e4e46c5686123dcbae49187301f120abd4655463224da2ee478c0b15820a64517c545b6365b3c641d7f5b5d426e09252301d2c381ee2ad2b2537807d58d00582002e48e8fe40d5fa8997dd2c59bef5cbd5a08820883c6111fa16790f8a663ef7441810219240100582002d7bfed24bcc2ec2eaf564325105ecf3e1cd203f63aa986b78ba256617d2f6d5820988d5e9e4f87f7dc9a981ea5b8c8a9e90378532dbd0965a0553cafe8393c74b300582002aa866e36ad97a230edc8630aef69253aec602efd45fd5caa8d12f56344002a5820631938e45991dcb6f2c09398f92dd65452cc7b4c51d2543b19fcb2dfc80d1321005820023e168ef2c5eb08d978eb90fa4689909bfe126befa744fa21d2af4c9c66b12a58200662f404c8c35fa16d1259e25b693a892fe37e8339954c822fead18bc8703f6f00582002d3443dd1f27bb24fa40ae08a1b0eb7306e340fb1420c66e24dc22e1b75907e58206e787f330d507bb46dd299b353201b46b209c62ce64c14c8f79299282ec17db30058200228cbc1a62f97eda0c9ab243d66eb51cb45163d76377b288e4c8ac1fa22039f418100582002aadd8191bad05e9fa3b9de2a0b28bed4c298dad18ea00d99f269c29f7fa4bc5418214ccf63060d579524a69ee1b97404594fc831005820033cf009c38d8161cd4857250eb706963c779ebfe09df837ba5e3e8d7960ff70418100582003e3a47c9e5c3a3d34fcc23b6657b3267f313d7483d06dcfe671c34010bf092058204f091db27c42b1bd8a4fca97c3135fc14323dcf3e84c3a90c44050b312f5f9a602190820021988ba0219ffff05581e03471eaae685daa0a6f7c8a5ab9cdcd28157dd8624b3c7e3598f9ad7b680070119084c05581e0375003a3838796fa14a2b3991bb27d67517b706bf385d2ef754915c28b00c0147059b73df5d538805581e0392395056ffb340fd67a53221a7f6539e888c3d77f7f006dd781584ea200c024705f5a5f443180005581e038069aed3488d02dcda2745fa2a3cfaa31e449e7a11ba8875603a7df0f0040105581e03178b21406d4847a1afad4c0464a60352c07f84397f95f8b7345959b9400c054701b01b54afdc8903845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581e03d3acc69e5abec6f409e7002d43e87976b69b550b063b52e24284f4e2a007011bffffffffffffffff021935dd03a7c092671d6b4be96da58c550ff7b0e0e518900499bc58d4b8960f68ded92896034de28cb934396d018cf44094e1550d1b9d99c21f68c27bffe4a4ac337dbbb0d80219ffff030e1fb1140d1cefc2294b1783b5dee89964a4e568761a2bf87cb5663e72a805c70219ffff03046bee075fa16d005bd4df2050106dbb360bcf695543074426ac295479a3907903cface16b5308b12947b02bb4cfc91c7fc797bfbcca7cc4205a8615eea64bfc96031a77213b7ebeae31b24ad1b345a614b69b6bfec3320deff7014c1fd78c2d9ecf03221ab8d7618c26d35b7fa5aee2d8163b62b7fb0d664686e919ba3a2c4410091a03484ad0736a74cc2bd5686a8baa8f5dfd14e242537a17e85d7a2f4d6f25543c630351de9ccf61662160f1a020fac6d71b850aa5bb3f0d347b9c214c408206238ae60219ffff03e07875526b98225aa058cfe5dd1037ea69161b9b6b43297c26dc02bc3e2d737903b375265e5979fb4f35b372bafcd96fad927cdd2f6261f6b3473899a16d7f5b16039482332f11236bec07554089e3cf57e74dc7863b1a5362e5df9d7dc28884cbbf03457b1b5df6cc28a3a0209345c46076e3bdf3100818b9114e85ddffae0132e801031b52459048bfe5f5ac6463b8e0f854be8e168c68aca60b84e264c2cb79abf572037b3530587aff046299d9ed403afe8d1ad5660edadd459e29b3281c82d7e8feef036c0f2689ec6a998e10d8d0781126431a4478a19f6660dcb2d0b96211b584f3b50398a7aeaf3ce8c887c8ef58bed5d18c56ff45dab753a5bef50a3236dcf9f1caa003368d0b8025404a83e059697dc794c60c9f516f26d32b4466035ea7d8ddb0bc41030534eed5d08d70652cd7a45771218c47118f0020eb961b231ad1651e73db3fe00387362076b84401f9348028a48a9422543616e1b5eb731d9b7953f689463d0529032f0fb36db5b4e525867c2d0c5fc502bb1441fae27bbfde3c829e17aa821968a5035580cc226a771b70ddc4186a051ed219f63bdb63d27f70aa74dd0e54b14eb9190340017cc8fdb13fa3b933113c036423085fb6fcaebc96797adacdc769d28a4e0e0308d3761de941298ed2ebf7b87ade44c183139d6f73739405776277e336bb8a02037d4ed48ff6c21befce3944ed559d345361255c1b563ea1ac692242f8f128df6303b37c0c550b191eb62b49678f335e71829e864c82b2704a4d4fbfa04359d6161903b32a111a3b261ecb0587f31f931193076d5fbd83d7549dc35fc906088eb45a3103534545c6aba15615a14ab7ec75c1a70c985aee3c663b8c99310e34c7385902dc0322f0d01b31f908bc49f9fb7184154408f4b4a6807c652811d24f0f13c8d27e17036e535b87ab9996a9f8ada4ce446afadeb3322ec8dc79d1364cf5db5d7d1ecf7c03402d808d8816fe6a820fbbf03d3cfa0f37f08fd033b70879f32690dc4a808d9005581e0321d73038ac5e9d356d77b974473bd923ef95b565a8b4411dcd447c0640040203a77777b95577fda28a6e77141d4c9a102077e0491ce4e5aa46afce6471bd9179039ed0fe0112070e9ccf63b98ca11474b0b9c58eeb3f2ab9216f77f5cf79d7049404595187608060405234801561001057600080fd5b506004361061028a5760003560e01c80638e0566de1161015c578063c1075329116100ce578063e76d516811610087578063e76d516814610b7e578063eb45716314610b86578063eb5dcd6c14610bb8578063f2fde38b14610be6578063fbffd2c114610c0c578063feaf968c14610c325761028a565b8063c1075329146109a6578063c9807539146109d2578063d09dc33914610ae0578063dc7f012414610ae8578063e4902f8214610af0578063e5fe457714610b2d5761028a565b80639e3ceeab116101205780639e3ceeab146108b5578063a118f249146108db578063b121e14714610901578063b5ab58dc14610927578063b633620c14610944578063bd824706146109615761028a565b80638e0566de1461073157806398e5b12a14610761578063996e8298146107855780639a6fc8f51461078d5780639c849b30146107f75761028a565b80636b14daf81161020057806381411834116101b9578063814118341461064457806381ff70481461069c5780638205bf6a146106d55780638823da6c146106dd5780638ac28d5a146107035780638da5cb5b146107295761028a565b80636b14daf81461053857806370da2f671461060057806370efdf2d146106085780637284e4161461062c57806379ba5097146106345780638038e4a11461063c5761028a565b8063313ce56711610252578063313ce567146103ae5780634fb17470146103cc57806350d25bcd146103fa57806354fd4d5014610402578063585aa7de1461040a578063668a0f02146105305761028a565b80630a7569831461028f5780630eafb25b14610299578063181f5a77146102d157806322adbc781461034e578063299372681461036d575b600080fd5b610297610c3a565b005b6102bf600480360360208110156102af57600080fd5b50356001600160a01b0316610cc8565b60408051918252519081900360200190f35b6102d9610df7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103135781810151838201526020016102fb565b50505050905090810190601f1680156103405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610356610e17565b6040805160179290920b8252519081900360200190f35b610375610e3b565b6040805163ffffffff96871681529486166020860152928516848401529084166060840152909216608082015290519081900360a00190f35b6103b6610e9c565b6040805160ff9092168252519081900360200190f35b610297600480360360408110156103e257600080fd5b506001600160a01b0381358116916020013516610ec0565b6102bf611148565b6102bf6111d5565b610297600480360360a081101561042057600080fd5b810190602081018135600160201b81111561043a57600080fd5b82018360208201111561044c57600080fd5b803590602001918460208302840111600160201b8311171561046d57600080fd5b919390929091602081019035600160201b81111561048a57600080fd5b82018360208201111561049c57600080fd5b803590602001918460208302840111600160201b831117156104bd57600080fd5b9193909260ff833516926001600160401b03602082013516929190606081019060400135600160201b8111156104f257600080fd5b82018360208201111561050457600080fd5b803590602001918460018302840111600160201b8311171561052557600080fd5b5090925090506111da565b6102bf611978565b6105ec6004803603604081101561054e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561057857600080fd5b82018360208201111561058a57600080fd5b803590602001918460018302840111600160201b831117156105ab57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611a00945050505050565b604080519115158252519081900360200190f35b610356611a28565b610610611a4c565b604080516001600160a01b039092168252519081900360200190f35b6102d9611a5b565b610297611ae3565b610297611b92565b61064c611c21565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610688578181015183820152602001610670565b505050509050019250505060405180910390f35b6106a4611c83565b6040805163ffffffff94851681529290931660208301526001600160801b0319168183015290519081900360600190f35b6102bf611ca3565b610297600480360360208110156106f357600080fd5b50356001600160a01b0316611d2b565b6102976004803603602081101561071957600080fd5b50356001600160a01b0316611df2565b610610611e69565b610739611e78565b604080516001600160a01b03909316835263ffffffff90911660208301528051918290030190f35b610769611eab565b604080516001600160501b039092168252519081900360200190f35b61061061207e565b6107b3600480360360208110156107a357600080fd5b50356001600160501b031661208d565b60405180866001600160501b03168152602001858152602001848152602001838152602001826001600160501b031681526020019550505050505060405180910390f35b6102976004803603604081101561080d57600080fd5b810190602081018135600160201b81111561082757600080fd5b82018360208201111561083957600080fd5b803590602001918460208302840111600160201b8311171561085a57600080fd5b919390929091602081019035600160201b81111561087757600080fd5b82018360208201111561088957600080fd5b803590602001918460208302840111600160201b831117156108aa57600080fd5b50909250905061212e565b610297600480360360208110156108cb57600080fd5b50356001600160a01b0316612331565b610297600480360360208110156108f157600080fd5b50356001600160a01b03166123f5565b6102976004803603602081101561091757600080fd5b50356001600160a01b031661244b565b6102bf6004803603602081101561093d57600080fd5b503561252c565b6102bf6004803603602081101561095a57600080fd5b50356125b5565b610297600480360360a081101561097757600080fd5b5063ffffffff81358116916020810135821691604082013581169160608101358216916080909101351661263e565b610297600480360360408110156109bc57600080fd5b506001600160a01b03813516906020013561276d565b610297600480360360808110156109e857600080fd5b810190602081018135600160201b811115610a0257600080fd5b820183602082011115610a1457600080fd5b803590602001918460018302840111600160201b83111715610a3557600080fd5b919390929091602081019035600160201b811115610a5257600080fd5b820183602082011115610a6457600080fd5b803590602001918460208302840111600160201b83111715610a8557600080fd5b919390929091602081019035600160201b811115610aa257600080fd5b820183602082011115610ab457600080fd5b803590602001918460208302840111600160201b83111715610ad557600080fd5b919350915035612a30565b6102bf61377e565b6105ec61380f565b610b1660048036036020811015610b0657600080fd5b50356001600160a01b0316613818565b6040805161ffff9092168252519081900360200190f35b610b356138c5565b604080516001600160801b0319909616865263ffffffff909416602086015260ff9092168484015260170b60608401526001600160401b03166080830152519081900360a00190f35b610610613975565b61029760048036036040811015610b9c57600080fd5b5080356001600160a01b0316906020013563ffffffff16613984565b61029760048036036040811015610bce57600080fd5b506001600160a01b0381358116916020013516613ab5565b61029760048036036020811015610bfc57600080fd5b50356001600160a01b0316613bf8565b61029760048036036020811015610c2257600080fd5b50356001600160a01b0316613c96565b6107b3613cec565b6000546001600160a01b03163314610c87576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b60315460ff1615610cc6576031805460ff191690556040517f3be8a977a014527b50ae38adda80b56911c267328965c98ddc385d248f53963890600090a15b565b6001600160a01b03811660009081526028602090815260408083208151808301909252805460ff808216845285948401916101009004166002811115610d0a57fe5b6002811115610d1557fe5b9052509050600081602001516002811115610d2c57fe5b1415610d3c576000915050610df2565b6040805160a08101825260025463ffffffff8082168352600160201b820481166020840152600160401b8204811693830193909352600160601b8104831660608301819052600160801b90910490921660808201528251909160009160019060059060ff16601f8110610dab57fe5b601091828204019190066002029054906101000a900461ffff160361ffff1602633b9aca0002905060016009846000015160ff16601f8110610de957fe5b01540301925050505b919050565b60606040518060600160405280602881526020016150e660289139905090565b7f000000000000000000000000000000000000000000000000000000000000000181565b6040805160a08101825260025463ffffffff808216808452600160201b8304821660208501819052600160401b84048316958501869052600160601b8404831660608601819052600160801b90940490921660809094018490529490939290565b7f000000000000000000000000000000000000000000000000000000000000000881565b6000546001600160a01b03163314610f0d576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b6003546001600160a01b03908116908316811415610f2b5750611144565b604080516370a0823160e01b815230600482015290516001600160a01b038516916370a08231916024808301926020929190829003018186803b158015610f7157600080fd5b505afa158015610f85573d6000803e3d6000fd5b505050506040513d6020811015610f9b57600080fd5b50610fa69050613d8b565b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ff557600080fd5b505afa158015611009573d6000803e3d6000fd5b505050506040513d602081101561101f57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820184905291519293509084169163a9059cbb916044808201926020929091908290030181600087803b15801561107757600080fd5b505af115801561108b573d6000803e3d6000fd5b505050506040513d60208110156110a157600080fd5b50516110f4576040805162461bcd60e51b815260206004820152601f60248201527f7472616e736665722072656d61696e696e672066756e6473206661696c656400604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0386811691821790925560405190918416907f4966a50c93f855342ccf6c5c0d358b85b91335b2acedc7da0932f691f351711a90600090a350505b5050565b600061118b336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b6111c8576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6111d0614114565b905090565b600481565b868560ff8616601f831115611229576040805162461bcd60e51b815260206004820152601060248201526f746f6f206d616e79207369676e65727360801b604482015290519081900360640190fd5b6000811161127e576040805162461bcd60e51b815260206004820152601a60248201527f7468726573686f6c64206d75737420626520706f736974697665000000000000604482015290519081900360640190fd5b8183146112bc5760405162461bcd60e51b815260040180806020018281038252602481526020018061510e6024913960400191505060405180910390fd5b806003028311611313576040805162461bcd60e51b815260206004820181905260248201527f6661756c74792d6f7261636c65207468726573686f6c6420746f6f2068696768604482015290519081900360640190fd5b6000546001600160a01b03163314611360576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b6029541561145d57602980546000198101916000918390811061137f57fe5b6000918252602082200154602a80546001600160a01b03909216935090849081106113a657fe5b6000918252602090912001546001600160a01b031690506113c68161413d565b6001600160a01b03808316600090815260286020526040808220805461ffff199081169091559284168252902080549091169055602980548061140557fe5b600082815260209020810160001990810180546001600160a01b0319169055019055602a80548061143257fe5b600082815260209020810160001990810180546001600160a01b031916905501905550611360915050565b60005b8a8110156117b9576000602860008e8e8581811061147a57fe5b602090810292909201356001600160a01b031683525081019190915260400160002054610100900460ff1660028111156114b057fe5b14611502576040805162461bcd60e51b815260206004820152601760248201527f7265706561746564207369676e65722061646472657373000000000000000000604482015290519081900360640190fd5b6040805180820190915260ff8216815260016020820152602860008e8e8581811061152957fe5b602090810292909201356001600160a01b0316835250818101929092526040016000208251815460ff191660ff90911617808255918301519091829061ff00191661010083600281111561157957fe5b02179055506000915060079050818c8c8581811061159357fe5b6001600160a01b0360209182029390930135831684528301939093526040909101600020541691909114159050611605576040805162461bcd60e51b81526020600482015260116024820152701c185e5959481b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6000602860008c8c8581811061161757fe5b602090810292909201356001600160a01b031683525081019190915260400160002054610100900460ff16600281111561164d57fe5b1461169f576040805162461bcd60e51b815260206004820152601c60248201527f7265706561746564207472616e736d6974746572206164647265737300000000604482015290519081900360640190fd5b6040805180820190915260ff8216815260026020820152602860008c8c858181106116c657fe5b602090810292909201356001600160a01b0316835250818101929092526040016000208251815460ff191660ff90911617808255918301519091829061ff00191661010083600281111561171657fe5b021790555090505060298c8c8381811061172c57fe5b835460018101855560009485526020948590200180546001600160a01b0319166001600160a01b039590920293909301359390931692909217905550602a8a8a8381811061177657fe5b835460018181018655600095865260209586902090910180546001600160a01b0319166001600160a01b0396909302949094013594909416179091555001611460565b50602b805460ff8916600160a81b0260ff60a81b19909116179055602d80544363ffffffff908116600160201b90810267ffffffff0000000019841617808316600101831663ffffffff1990911617938490559091048116911661182530828f8f8f8f8f8f8f8f614325565b602b60000160006101000a8154816001600160801b03021916908360801c02179055506000602b60000160106101000a81548164ffffffffff021916908364ffffffffff1602179055507f25d719d88a4512dd76c7442b910a83360845505894eb444ef299409e180f8fb982828f8f8f8f8f8f8f8f604051808b63ffffffff1681526020018a6001600160401b0316815260200180602001806020018760ff168152602001866001600160401b031681526020018060200184810384528c8c82818152602001925060200280828437600083820152601f01601f191690910185810384528a8152602090810191508b908b0280828437600083820152601f01601f191690910185810383528681526020019050868680828437600083820152604051601f909101601f19169092018290039f50909d5050505050505050505050505050a150505050505050505050505050565b60006119bb336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b6119f8576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6111d0614427565b6000611a0c838361443a565b80611a1f57506001600160a01b03831632145b90505b92915050565b7f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffff81565b602f546001600160a01b031690565b6060611a9e336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b611adb576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6111d061446a565b6001546001600160a01b03163314611b3b576040805162461bcd60e51b815260206004820152601660248201527526bab9ba10313290383937b837b9b2b21037bbb732b960511b604482015290519081900360640190fd5b60008054336001600160a01b0319808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6000546001600160a01b03163314611bdf576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b60315460ff16610cc6576031805460ff191660011790556040517faebf329500988c6488a0074e5a0a9ff304561fc5c6fc877aeb1d59c8282c348090600090a1565b6060602a805480602002602001604051908101604052809291908181526020018280548015611c7957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611c5b575b5050505050905090565b602d54602b5463ffffffff80831692600160201b9004169060801b909192565b6000611ce6336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b611d23576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6111d06144f7565b6000546001600160a01b03163314611d78576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526032602052604090205460ff1615611def576001600160a01b038116600081815260326020908152604091829020805460ff19169055815192835290517f3d68a6fce901d20453d1a7aa06bf3950302a735948037deb182a8db66df2a0d19281900390910190a15b50565b6001600160a01b03818116600090815260076020526040902054163314611e60576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c792070617965652063616e207769746864726177000000000000000000604482015290519081900360640190fd5b611def8161413d565b6000546001600160a01b031681565b60408051808201909152602e546001600160a01b038116808352600160a01b90910463ffffffff16602090920182905291565b600080546001600160a01b0316331480611f6e5750602f5460408051630d629b5f60e31b815233600482018181526024830193845236604484018190526001600160a01b0390951694636b14daf894929360009391929190606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b158015611f4157600080fd5b505afa158015611f55573d6000803e3d6000fd5b505050506040513d6020811015611f6b57600080fd5b50515b611fbf576040805162461bcd60e51b815260206004820152601d60248201527f4f6e6c79206f776e6572267265717565737465722063616e2063616c6c000000604482015290519081900360640190fd5b6040805160808082018352602b549081901b6001600160801b031916808352600160801b820464ffffffffff8116602080860191909152600160a81b840460ff90811686880152600160b01b90940463ffffffff9081166060808801919091528751948552600884901c909116918401919091529216818501529251919233927f3ea16a923ff4b1df6526e854c9e3a995c43385d70e73359e10623c74f0b52037929181900390910190a2806060015160010163ffffffff1691505090565b6004546001600160a01b031690565b60008060008060006120d6336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b612113576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b61211c86614529565b939a9299509097509550909350915050565b6000546001600160a01b0316331461217b576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b8281146121cf576040805162461bcd60e51b815260206004820181905260248201527f7472616e736d6974746572732e73697a6520213d207061796565732e73697a65604482015290519081900360640190fd5b60005b8381101561232a5760008585838181106121e857fe5b905060200201356001600160a01b03169050600084848481811061220857fe5b6001600160a01b0385811660009081526007602090815260409091205492029390930135831693509091169050801580806122545750826001600160a01b0316826001600160a01b0316145b612299576040805162461bcd60e51b81526020600482015260116024820152701c185e595948185b1c9958591e481cd95d607a1b604482015290519081900360640190fd5b6001600160a01b03848116600090815260076020526040902080546001600160a01b0319168583169081179091559083161461231a57826001600160a01b0316826001600160a01b0316856001600160a01b03167f78af32efdcad432315431e9b03d27e6cd98fb79c405fdc5af7c1714d9c0f75b360405160405180910390a45b5050600190920191506121d29050565b5050505050565b6000546001600160a01b0316331461237e576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b602f546001600160a01b03908116908216811461114457602f80546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f27b89aede8b560578baaa25ee5ce3852c5eecad1e114b941bbd89e1eb4bae6349281900390910190a15050565b6000546001600160a01b03163314612442576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b611def8161464d565b6001600160a01b038181166000908152600860205260409020541633146124b9576040805162461bcd60e51b815260206004820152601f60248201527f6f6e6c792070726f706f736564207061796565732063616e2061636365707400604482015290519081900360640190fd5b6001600160a01b0381811660008181526007602090815260408083208054336001600160a01b031980831682179093556008909452828520805490921690915590519416939092849290917f78af32efdcad432315431e9b03d27e6cd98fb79c405fdc5af7c1714d9c0f75b39190a45050565b600061256f336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b6125ac576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b611a22826146c8565b60006125f8336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b612635576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b611a22826146fe565b6004546000546001600160a01b0391821691163314806126ff575060408051630d629b5f60e31b815233600482018181526024830193845236604484018190526001600160a01b03861694636b14daf8946000939190606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b1580156126d257600080fd5b505afa1580156126e6573d6000803e3d6000fd5b505050506040513d60208110156126fc57600080fd5b50515b612750576040805162461bcd60e51b815260206004820181905260248201527f4f6e6c79206f776e65722662696c6c696e6741646d696e2063616e2063616c6c604482015290519081900360640190fd5b612758613d8b565b612765868686868661473d565b505050505050565b6000546001600160a01b031633148061282e57506004805460408051630d629b5f60e31b8152339381018481526024820192835236604483018190526001600160a01b0390941694636b14daf8949093600093919291606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b15801561280157600080fd5b505afa158015612815573d6000803e3d6000fd5b505050506040513d602081101561282b57600080fd5b50515b61287f576040805162461bcd60e51b815260206004820181905260248201527f4f6e6c79206f776e65722662696c6c696e6741646d696e2063616e2063616c6c604482015290519081900360640190fd5b6000612889614826565b600354604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156128da57600080fd5b505afa1580156128ee573d6000803e3d6000fd5b505050506040513d602081101561290457600080fd5b5051905081811015612954576040805162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6003546001600160a01b031663a9059cbb85612972858503876149da565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156129b857600080fd5b505af11580156129cc573d6000803e3d6000fd5b505050506040513d60208110156129e257600080fd5b5051612a2a576040805162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b604482015290519081900360640190fd5b50505050565b60005a9050612a438888888888886149f1565b3614612a96576040805162461bcd60e51b815260206004820152601960248201527f7472616e736d6974206d65737361676520746f6f206c6f6e6700000000000000604482015290519081900360640190fd5b612a9e614f7b565b6040805160808082018352602b549081901b6001600160801b0319168252600160801b810464ffffffffff166020830152600160a81b810460ff1692820192909252600160b01b90910463ffffffff166060808301919091529082526000908a908a90811015612b0d57600080fd5b813591602081013591810190606081016040820135600160201b811115612b3357600080fd5b820183602082011115612b4557600080fd5b803590602001918460208302840111600160201b83111715612b6657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050505060408801525050506080840182905283515190925060589190911b906001600160801b0319808316911614612c0d576040805162461bcd60e51b81526020600482015260156024820152740c6dedcccd2ce88d2cecae6e840dad2e6dac2e8c6d605b1b604482015290519081900360640190fd5b608083015183516020015164ffffffffff808316911610612c64576040805162461bcd60e51b815260206004820152600c60248201526b1cdd185b19481c995c1bdc9d60a21b604482015290519081900360640190fd5b83516040015160ff168911612cb8576040805162461bcd60e51b81526020600482015260156024820152746e6f7420656e6f756768207369676e61747572657360581b604482015290519081900360640190fd5b601f891115612d04576040805162461bcd60e51b8152602060048201526013602482015272746f6f206d616e79207369676e61747572657360681b604482015290519081900360640190fd5b868914612d58576040805162461bcd60e51b815260206004820152601e60248201527f7369676e617475726573206f7574206f6620726567697374726174696f6e0000604482015290519081900360640190fd5b601f8460400151511115612db3576040805162461bcd60e51b815260206004820152601e60248201527f6e756d206f62736572766174696f6e73206f7574206f6620626f756e64730000604482015290519081900360640190fd5b83600001516040015160020260ff1684604001515111612e1a576040805162461bcd60e51b815260206004820152601e60248201527f746f6f206665772076616c75657320746f207472757374206d656469616e0000604482015290519081900360640190fd5b886001600160401b0381118015612e3057600080fd5b506040519080825280601f01601f191660200182016040528015612e5b576020820181803683370190505b50606085015260005b60ff81168a1115612eb457868160ff1660208110612e7e57fe5b1a60f81b85606001518260ff1681518110612e9557fe5b60200101906001600160f81b031916908160001a905350600101612e64565b508360400151516001600160401b0381118015612ed057600080fd5b506040519080825280601f01601f191660200182016040528015612efb576020820181803683370190505b506020850152612f09614faf565b60005b8560400151518160ff161015612ff7576000858260ff1660208110612f2d57fe5b1a90508281601f8110612f3c57fe5b602002015115612f93576040805162461bcd60e51b815260206004820152601760248201527f6f6273657276657220696e646578207265706561746564000000000000000000604482015290519081900360640190fd5b6001838260ff16601f8110612fa457fe5b91151560209283029190910152869060ff8416908110612fc057fe5b1a60f81b87602001518360ff1681518110612fd757fe5b60200101906001600160f81b031916908160001a90535050600101612f0c565b503360009081526028602090815260408083208151808301909252805460ff8082168452929391929184019161010090910416600281111561303557fe5b600281111561304057fe5b905250905060028160200151600281111561305757fe5b14801561308b5750602a816000015160ff168154811061307357fe5b6000918252602090912001546001600160a01b031633145b6130dc576040805162461bcd60e51b815260206004820152601860248201527f756e617574686f72697a6564207472616e736d69747465720000000000000000604482015290519081900360640190fd5b5050835164ffffffffff90911660209091015250506040516000908a908a90808383808284376040519201829003909120945061311d9350614faf92505050565b613125614fce565b60005b898110156133155760006001858760600151848151811061314557fe5b60209101015160f81c601b018e8e8681811061315d57fe5b905060200201358d8d8781811061317057fe5b9050602002013560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156131cb573d6000803e3d6000fd5b505060408051601f198101516001600160a01b03811660009081526028602090815290849020838501909452835460ff8082168552929650929450840191610100900416600281111561321a57fe5b600281111561322557fe5b905250925060018360200151600281111561323c57fe5b1461328e576040805162461bcd60e51b815260206004820152601e60248201527f61646472657373206e6f7420617574686f72697a656420746f207369676e0000604482015290519081900360640190fd5b8251849060ff16601f811061329f57fe5b6020020151156132ed576040805162461bcd60e51b81526020600482015260146024820152736e6f6e2d756e69717565207369676e617475726560601b604482015290519081900360640190fd5b600184846000015160ff16601f811061330257fe5b9115156020909202015250600101613128565b5050505060005b6001826040015151038110156133c65760008260400151826001018151811061334157fe5b602002602001015160170b8360400151838151811061335c57fe5b602002602001015160170b13159050806133bd576040805162461bcd60e51b815260206004820152601760248201527f6f62736572766174696f6e73206e6f7420736f72746564000000000000000000604482015290519081900360640190fd5b5060010161331c565b506040810151805160009190600281049081106133df57fe5b602002602001015190508060170b7f000000000000000000000000000000000000000000000000000000000000000160170b1315801561344557507f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffff60170b8160170b13155b613496576040805162461bcd60e51b815260206004820152601e60248201527f6d656469616e206973206f7574206f66206d696e2d6d61782072616e67650000604482015290519081900360640190fd5b81516060908101805163ffffffff60019091018116909152604080518082018252601785810b8083526001600160401b0342811660208086019182528a5189015188166000908152602c8252878120965187549351909416600160c01b029390950b6001600160c01b039081166001600160c01b03199093169290921790911691909117909355875186015184890151848a01516080808c015188519586523386890181905291860181905260a0988601898152845199870199909952835194909916997ff6a97944f31ea060dfde0566e4167c1a1082551e64b60ecb14d599a9d023d451998c999298949793969095909492939185019260c086019289820192909102908190849084905b838110156135ba5781810151838201526020016135a2565b50505050905001838103825285818151815260200191508051906020019080838360005b838110156135f65781810151838201526020016135de565b50505050905090810190601f1680156136235780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a281516060015160408051428152905160009263ffffffff16917f0109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac60271919081900360200190a381600001516060015163ffffffff168160170b7f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a36136d88260000151606001518260170b614a09565b5080518051602b8054602084015160408501516060909501516001600160801b031990921660809490941c9390931764ffffffffff60801b1916600160801b64ffffffffff909416939093029290921760ff60a81b1916600160a81b60ff909416939093029290921763ffffffff60b01b1916600160b01b63ffffffff9283160217909155821061376557fe5b613773828260200151614b0f565b505050505050505050565b600354604080516370a0823160e01b8152306004820152905160009283926001600160a01b03909116916370a0823191602480820192602092909190829003018186803b1580156137ce57600080fd5b505afa1580156137e2573d6000803e3d6000fd5b505050506040513d60208110156137f857600080fd5b505190506000613806614826565b90910391505090565b60315460ff1681565b6001600160a01b03811660009081526028602090815260408083208151808301909252805460ff80821684528594840191610100900416600281111561385a57fe5b600281111561386557fe5b905250905060008160200151600281111561387c57fe5b141561388c576000915050610df2565b60016005826000015160ff16601f81106138a257fe5b601091828204019190066002029054906101000a900461ffff1603915050919050565b600080808080333214613916576040805162461bcd60e51b81526020600482015260146024820152734f6e6c792063616c6c61626c6520627920454f4160601b604482015290519081900360640190fd5b5050602b5463ffffffff600160b01b820481166000908152602c6020526040902054608083901b96600160801b909304600881901c909216955064ffffffffff9091169350601781900b9250600160c01b90046001600160401b031690565b6003546001600160a01b031690565b6000546001600160a01b031633146139d1576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b60408051808201909152602e546001600160a01b03808216808452600160a01b90920463ffffffff1660208401528416141580613a1e57508163ffffffff16816020015163ffffffff1614155b15613ab0576040805180820182526001600160a01b0385811680835263ffffffff8681166020948501819052602e80546001600160a01b031916841763ffffffff60a01b1916600160a01b8302179055865187860151875193168352948201528451919493909216927fb04e3a37abe9c0fcdfebdeae019a8e2b12ddf53f5d55ffb0caccc1bedaca1541928290030190a35b505050565b6001600160a01b03828116600090815260076020526040902054163314613b23576040805162461bcd60e51b815260206004820152601d60248201527f6f6e6c792063757272656e742070617965652063616e20757064617465000000604482015290519081900360640190fd5b336001600160a01b0382161415613b81576040805162461bcd60e51b815260206004820152601760248201527f63616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b6001600160a01b03808316600090815260086020526040902080548383166001600160a01b031982168117909255909116908114613ab0576040516001600160a01b038084169133918616907f84f7c7c80bb8ed2279b4aab5f61cd05e6374073d38f46d7f32de8c30e9e3836790600090a4505050565b6000546001600160a01b03163314613c45576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6000546001600160a01b03163314613ce3576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b611def81614d37565b6000806000806000613d35336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b613d72576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b613d7a614dae565b945094509450945094509091929394565b6040805160a08101825260025463ffffffff8082168352600160201b820481166020840152600160401b8204811683850152600160601b820481166060840152600160801b90910416608082015260035482516103e081019384905291926001600160a01b0390911691600091600590601f908285855b82829054906101000a900461ffff1661ffff1681526020019060020190602082600101049283019260010382029150808411613e02575050604080516103e0810191829052959650600095945060099350601f9250905082845b815481526020019060010190808311613e5c57505050505090506000602a805480602002602001604051908101604052809291908181526020018280548015613ece57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613eb0575b5050505050905060005b81518110156140f857600060018483601f8110613ef157fe5b6020020151039050600060018684601f8110613f0957fe5b60200201510361ffff169050600082896060015163ffffffff168302633b9aca000201905060008111156140ed57600060076000878781518110613f4957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03169050886001600160a01b031663a9059cbb82846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015613fde57600080fd5b505af1158015613ff2573d6000803e3d6000fd5b505050506040513d602081101561400857600080fd5b5051614050576040805162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b604482015290519081900360640190fd5b60018886601f811061405e57fe5b61ffff909216602092909202015260018786601f811061407a57fe5b602002018181525050886001600160a01b0316816001600160a01b03168787815181106140a357fe5b60200260200101516001600160a01b03167fd0b1dac935d85bd54cf0a33b0d41d39f8cf53a968465fc7ea2377526b8ac712c856040518082815260200191505060405180910390a4505b505050600101613ed8565b50614106600584601f614fe5565b50612765600983601f61507b565b602b54600160b01b900463ffffffff166000908152602c6020526040902054601790810b900b90565b6001600160a01b03811660009081526028602090815260408083208151808301909252805460ff8082168452929391929184019161010090910416600281111561418357fe5b600281111561418e57fe5b9052509050600061419e83610cc8565b90508015613ab0576001600160a01b03808416600090815260076020908152604080832054600354825163a9059cbb60e01b8152918616600483018190526024830188905292519295169363a9059cbb9360448084019491939192918390030190829087803b15801561421057600080fd5b505af1158015614224573d6000803e3d6000fd5b505050506040513d602081101561423a57600080fd5b5051614282576040805162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b604482015290519081900360640190fd5b60016005846000015160ff16601f811061429857fe5b601091828204019190066002026101000a81548161ffff021916908361ffff16021790555060016009846000015160ff16601f81106142d357fe5b01556003546040805184815290516001600160a01b039283169284811692908816917fd0b1dac935d85bd54cf0a33b0d41d39f8cf53a968465fc7ea2377526b8ac712c9181900360200190a450505050565b60008a8a8a8a8a8a8a8a8a8a604051602001808b6001600160a01b031681526020018a6001600160401b0316815260200180602001806020018760ff168152602001866001600160401b031681526020018060200184810384528c8c82818152602001925060200280828437600083820152601f01601f191690910185810384528a8152602090810191508b908b0280828437600083820152601f01601f191690910185810383528681526020019050868680828437600081840152601f19601f8201169050808301925050509d50505050505050505050505050506040516020818303038152906040528051906020012090509a9950505050505050505050565b602b54600160b01b900463ffffffff1690565b6001600160a01b03821660009081526032602052604081205460ff1680611a1f57505060315460ff161592915050565b60308054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015611c795780601f106144cb57610100808354040283529160200191611c79565b820191906000526020600020905b8154815290600101906020018083116144d957509395945050505050565b602b54600160b01b900463ffffffff166000908152602c6020526040902054600160c01b90046001600160401b031690565b600080600080600063ffffffff866001600160501b031611156040518060400160405280600f81526020016e139bc819185d18481c1c995cd95b9d608a1b815250906145f35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156145b85781810151838201526020016145a0565b50505050905090810190601f1680156145e55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505063ffffffff83166000908152602c6020908152604091829020825180840190935254601781810b810b810b808552600160c01b9092046001600160401b031693909201839052949594900b939092508291508490565b6001600160a01b03811660009081526032602052604090205460ff16611def576001600160a01b038116600081815260326020908152604091829020805460ff19166001179055815192835290517f87286ad1f399c8e82bf0c4ef4fcdc570ea2e1e92176e5c848b6413545b885db49281900390910190a150565b600063ffffffff8211156146de57506000610df2565b5063ffffffff166000908152602c6020526040902054601790810b900b90565b600063ffffffff82111561471457506000610df2565b5063ffffffff166000908152602c6020526040902054600160c01b90046001600160401b031690565b6040805160a0808201835263ffffffff88811680845288821660208086018290528984168688018190528985166060808901829052958a1660809889018190526002805463ffffffff1916871767ffffffff000000001916600160201b8702176bffffffff00000000000000001916600160401b85021763ffffffff60601b1916600160601b84021763ffffffff60801b1916600160801b830217905589519586529285019390935283880152928201529283015291517fd0d9486a2c673e2a4b57fc82e4c8a556b3e2b82dd5db07e2c04a920ca0f469b6929181900390910190a15050505050565b604080516103e0810191829052600091829190600590601f908285855b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116148435790505050505050905060005b601f8110156148b35760018282601f811061489c57fe5b60200201510361ffff169290920191600101614885565b506040805160a08101825260025463ffffffff8082168352600160201b82048116602080850191909152600160401b8304821684860152600160601b8304821660608501819052600160801b9093049091166080840152602a805485518184028101840190965280865296909202633b9aca000295929360009390929183018282801561496957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161494b575b5050604080516103e0810191829052949550600094935060099250601f915082845b81548152602001906001019080831161498b575050505050905060005b82518110156149d25760018282601f81106149bf57fe5b60200201510395909501946001016149a8565b505050505090565b6000818310156149eb575081611a22565b50919050565b602083810286019082020160e4019695505050505050565b60408051808201909152602e546001600160a01b038116808352600160a01b90910463ffffffff166020830152614a405750611144565b600019830163ffffffff8181166000818152602c60209081526040918290205486820151875184516024810196909652601792830b90920b604486018190528a8716606487015260848087018b90528551808803909101815260a4909601909452918401805163beed9b5160e01b6001600160e01b039091161790529193614acb9391169190614e09565b61232a576040805162461bcd60e51b815260206004820152601060248201526f696e73756666696369656e742067617360801b604482015290519081900360640190fd5b3360009081526028602090815260408083208151808301909252805460ff80821684529293919291840191610100909104166002811115614b4c57fe5b6002811115614b5757fe5b9052506040805160a08101825260025463ffffffff8082168352600160201b820481166020840152600160401b8204811683850152600160601b820481166060840152600160801b90910416608082015281516103e081019283905292935091614c0b91859190600590601f90826000855b82829054906101000a900461ffff1661ffff1681526020019060020190602082600101049283019260010382029150808411614bc95790505050505050614e45565b614c1990600590601f614fe5565b50600282602001516002811115614c2c57fe5b14614c7e576040805162461bcd60e51b815260206004820181905260248201527f73656e7420627920756e64657369676e61746564207472616e736d6974746572604482015290519081900360640190fd5b6000614ca5633b9aca003a04836020015163ffffffff16846000015163ffffffff16614eba565b90506010360260005a90506000614cc48863ffffffff16858585614ee0565b6001600160801b031690506000620f4240866040015163ffffffff16830281614ce957fe5b049050856080015163ffffffff16633b9aca0002816009896000015160ff16601f8110614d1257fe5b015401016009886000015160ff16601f8110614d2a57fe5b0155505050505050505050565b6004546001600160a01b03908116908216811461114457600480546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f793cb73064f3c8cde7e187ae515511e6e56d1ee89bf08b82fa60fb70f8d489129281900390910190a15050565b602b54600160b01b900463ffffffff166000818152602c6020908152604091829020825180840190935254601781810b810b810b808552600160c01b9092046001600160401b031693909201839052929392900b9181908490565b60005a6113888110614e3d5761138881039050846040820482031115614e3d576000808451602086016000888af150600191505b509392505050565b614e4d614faf565b60005b8351811015614eb2576000848281518110614e6757fe5b016020015160f81c9050614e8c8482601f8110614e8057fe5b60200201516001614f63565b848260ff16601f8110614e9b57fe5b61ffff909216602092909202015250600101614e50565b509092915050565b60008383811015614ecd57600285850304015b614ed781846149da565b95945050505050565b600081851015614f37576040805162461bcd60e51b815260206004820181905260248201527f6761734c6566742063616e6e6f742065786365656420696e697469616c476173604482015290519081900360640190fd5b818503830161179301633b9aca00858202026001600160801b038110614f5957fe5b9695505050505050565b6000611a1f8261ffff168461ffff160161ffff6149da565b6040518060a00160405280614f8e6150a9565b81526060602082018190526040820181905280820152600060809091015290565b604051806103e00160405280601f906020820280368337509192915050565b604080518082019091526000808252602082015290565b60028301918390821561506b5791602002820160005b8382111561503b57835183826101000a81548161ffff021916908361ffff1602179055509260200192600201602081600101049283019260010302614ffb565b80156150695782816101000a81549061ffff021916905560020160208160010104928301926001030261503b565b505b506150779291506150d0565b5090565b82601f810192821561506b579160200282015b8281111561506b57825182559160200191906001019061508e565b60408051608081018252600080825260208201819052918101829052606081019190915290565b5b8082111561507757600081556001016150d156fe416363657373436f6e74726f6c6c65644f6666636861696e41676772656761746f7220342e302e306f7261636c6520616464726573736573206f7574206f6620726567697374726174696f6e4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000a26469706673582212202938f61342c36109a44868dd1c9a82c61c0c3b90ed86f8f0bd641bc4b1a217ee64736f6c634300070600330343693cf7cb9a2efe6935486251a4bc0e33cfa2cb65ada0d270886e950e04e57e0395216e338ef4e412edf6ed5c62f125227ac8555693a3666a9574a8bd7db7e42600582003de35293bb3c9bc9dd6571ec82ee53a34c187f0c31cf9f06e6aaa3fe1ed6570581c65c8a82b000000000000000000000000000000000000003aa93b272403aedaa556c601bad81f7ea7f85307be037c6ad0b525d54f813a08891ca0456d4503c3dcf58c3595eaab13a7c8f6886ceb44424ace351ca9eb70fedf48b6ba4e21c300582003b86bbbc8cf3c82c276bac4617ace316667fb0754d984b5482aa4887e4b2dd0581c64dfdac70000000000000000000000000000000000000026a242e41000582003a15abe1aa746c8e63018bbb0ed17d5ff398372c2a0675ec055fd3898220890581c65419d27000000000000000000000000000000000000002a84070e3b0395430d08e8df9f623a5913662d6b39bfcfbc8455c5964f7f25876d3a67ea086c035a22d127660418612c8b6df76de07a621e88a9ebf6becc47a95168d835df17d103a4c9d3675129c210d9e6d0265ba2391850dba9da0830c1b6736a3219b38f6bfd033fa033eafda84d4aa66f68a2c3a408a9ba88112474289880af33e70a051b8f3901410803061608a7082d8c3016cbef254cd75f62cd1a04589ca02661b24b181d43ffbb1c00581f024e4875b74d31ff9fd779bf2566af7bd15b87fc985d01f5094b89e3669e4f58182e0e0a000169a40347ddec946856fa8055ac2202f633de3300581f020a4a0291b09f6643634a39b46a65c8c84ac75d1d754811fb5b736e6551b2581c64b3f6d7000000000000000000000000000000000000002cf893d94000581f02ca6c0b7515c1387ba6c0944d7828f7b40f2149256c8a98188d5335fd7b23581c659dbf1b0000000000000000000000000000000000000036baa7e1eb00581f0237d6422cb341df0193f27c2c6b696a0e89a0fb4191b3e64465fc77cc016c581c64e54b0300000000000000000000000000000000000000260cfa7da002190c50039d14bb691c66bd4db512acdb2eb7c8173599e90e035d11ca07051f56ccf56473037972976ed058756511e3e52f346fb8e8bab437c5554379d0a58835ac29e3124f03273141e590613e9ed437ae687fb6ad3be75fd7160054575de89b3e7727b77c320219fdbf038cbebc1f19a426a7bed26c843680ef971809d7992990ff4b259ef4135442f3c803e0b79c414f8e5596d03f8eb160e4bf347b075c24a8fa4ffbcc1243ff1de924df039e13cd222604a3297d59c955205a89fbe4fcfb12f14747297a0f72dc65fb0ddc03a40b79d23e92bc9a4fd15c6808bf07c98da1cfb9f13ce28f6ef59fad0bf9dfb203005f564c9456a2f9b7e5f973be89016bf2e7d357871abdbb6a606682354cfe810383b66f2a9fa0895c347ae2b9499ef4de13976e3d3a62eb18085389ea6c94345c0302aac3698434f423f813ba49416653995c23121165fb3ffd0336abcfbb1403dc036342bdae9b71f520fba89d45329fe6904c5cef6178e627c0d8b9a5d55f90ab5503f9b963243e296be68e929b174277507f18a9087c1afdaa7a3e4b3c231cc36c5403eb39fd24103313d057db2e9c5473f2e2aa3be4e7dfab7c409b1acefc6943bebf0358718bdae52c7649f32241ee195ba2aef58fac43bd3d6814eda60dcd29477f310316899d6544144ad710ff018811d4dd8362fff87c9de86e4ec6242e0417f576bf03f8fc66916ba8d20b997fb9dd1facb22d975460402fbf34875b25c6c12265276f03edc56b40366a80072abe8ee32f66d580f443da9bd0f39411cf028c09fec819a30219ffff03748a2e5d2c012206146dd822a660c07eb450fc8dee1dd7358b45eb455960d7050340d4dfc3b25c43b9e0ef1058c9b3cdeadcaa0ea899babb4457aeee1f2a2832ad03416815b9a42907d32f9a5f5026a809659a4f6bf84f4614d6f56a21fd4e66f5c803545bb0158e49ce6e46ecee9d94d7564fd6ffedc3d1a808db41f0fb2938220e0f03c7ccc4ab7bab02c092b42efd879f6518e33472ef3da7afaf113999f7fd87ae7803d118d1926537f1f8668bc06a9d8ae7eb6d4e8b80d49a7cc25512cd4d347ea3840388aae65e11802c5ef42de66373546bb78f8cc758c2f0f9db57e57d4a2522e4d7036aee37e088276154545ba4e8c2504fd02dfc17674d0566503bd9b3c1230cddcf038fdd3124d7ebb00b05ccd65b54f53765aec25a17429d5fdedfdf43678786d6f603f4fa04eb74df7b2ac175a2bb985addc5fb7022684139d5954cc19434230f9e7b03336e2cc92f8ebd23dd5ed5e10c5c7f6bed793effb49228ac6f1756b37d1f966c033ed176846d270aa18db9096fe4f9b9137fdc05b8d21834dfe2f03be57bcf877003e54730b6cb9d92678b38703de1b231fdd71ac3d04cce4d9da29160ed896744cf039ad1eb128fb96529323b2ee92b19e51e34f2b69a9a839fa3ac0f108d7991e3f50219ffff05581e034886b1a70ae77c25b681703f9ae09f52c32b850d7546182843fcc186b0070119518705581e03f62614976d284e7e721af792a75f5ea334ff31e55246bbb85e194a3d600c034703c8dc2c1bfa56033d7e485194480f49838c4bc949d56e6b0063abe0c261ee98cec86247293b44ae05581e0353592cf104ebe09e3a87f9974467a39d07deb3e57538b8ff3d2cf6bb20040305581e03781773c8c03163e3a3620539f67e736adadee52cfdae5c0467ea8bd5500c0246f332c07943980315f2adb176e17ebfd73c507d85e6c1bff295f733e4a4618fbf47a15b73148a650360dd50876647af16ff77e424f71c5b94a330919fcaf2932e738a9e2c4efa4a5805581e03eb4c1b4e2917d5266b8abf3a66f530a55533cdca0e5ce72dcf09962f0007011bffffffffffffffff03eaa4b82641084a8d979c7a16e41d7c94ecc521c0121d302caa2be37e316f5f8905581e03a114801e33acefa30b651b7aadb5a0ced4bfb0bc3717d8d97d3ae9dc8004050219aee7030064c2473f837b51f03e3bb73742ee8495b2d872794f0f0e97805c545b9ba90c03985ffb315bd6621b3de584d9d43da813f32aa1d20b84ba854490c7756c3e7f2a0385e3969563cc49ef32d8a9f99b326e672917cd323b3d1320bf3253a774d04ab00219ffff03bfd12f7061737e5aa0822bd2b277f3d565e7ccaab8a82b6b0e2ffca1c28587bc03a034747455346d841fd964f8020ed49d7a9e767efb109b17d03458b4da3b4b9103ea55b68186cc47ae35ba4621991f4eee0a21209e3e886ef0c4718293b32c66fc03b5ab5e796895f01364c2f99f652e484912893e92bfb8eb3c51b979745849c049039a17e41d2aacc3ff521057d031aba81924fc1c4f91cbe97278aaf5c203737db60219ffff03b907d40c8ccea7c3b65e52ddca76797485f7dcbd03db9b3b0053cd7f8344810403d5ae6c2dd85463cddce53d9e9c3c867d3e4af170250a42f9796848e433f3186d03fab1a64e9a916bc92a1b5afed23961ef91d9f4546743ce91ae5b9a5a38647da4038e7fcd6653dcc9ef5039beb67086c5b5217762fbcf1d625a086dc5e3b98e549a03c6c8b2f51867c3e9917ebd25e05dbd7140dca55642ca89375ef00f459fd29bf603f52a41aff20014c17762293ef5fb4b75eaf5a7ccbb2a6a4f5786a58466f8067e03bd9ecbd03c439f6aac4f1ea01eea84735a356d1c16c17b2fe534290dc7c1e1e803e675b0bfe2ee9cac5260b13ffa99e920cf2c5ec0b24de5baff94464db8faf4da038873aa261acaaf4cd0be6f10f61c1f66dc0c81da0be4e131f90cf74fad5f871803d22eb5b8cab403ac1fe2f48777109ba6448283834c780f858ea080902ecb3d8203899abde16baa07d5277e04b369278f78c35d233eb4348f4f7d6c15d8bf2bdd2f0358ce9781d3f117b69794a03f29285e34074874dd2cd1069060be72151b6489f603fc804c9f076adc6ff4b442ec92c8f6032eb5cda460cabd9112ded304a5f98ace0384250e1f26f90e37d241c0bd81d35d141acf42859802c2131244d9202d623b5b037f40eb25a8dca93609b98c13b0dc29840503eff16ae5d501324a7ebd1a7029320219ffff035c36f934ff1d8a66c0e03f7d2f25b3131e10922f586db2b3593f544ad6d1785503491174b9ad95a39b09703ed7a71d7000959e2089b2144bbc63d1c68b69ec5d0403237ef0d7f69640b95413379a0825f9fe7c9ea25a19574524e5f733f533b9fe7c03ae9d27f6faa8d400908d029f92ae204a3b7ade26fc49bfde1e9aa1bbcaec16c203882c35aa27e618dcc44500cdec6ede2a04a93747b4289b851c7226f9ee529d7c03e66aed45eb91f0312a0ada3dbf3954b417ae41e0610f54f8b1d9e698e78ee2f8033a8690d3d437ada962bf40b48d97b4f490e3f94e807037e986f7d4eda0092d450381f8ddada23c7357c24648b6ecb3a29f4a02681e1a2daba20e7ae4bc99ea4fdc03adae8edeb1c448a96008101590a2ca96c3c5d8dce2544ee769cca9df963cec7e03bac15be24553d97db1b11e7f020068f6150f1212dd39f8e20f80eb830ca9197503f142768a86b0d79d04255ee7fa07c0865f1e2f18b62daf23d7a7fd838cdc89710313f542f2fc654b2edb35b853cd405cf19bc799dfb3279a41bef37f316a2332f603c9f4b3c5a03f72df1a59ab755c833470f304cc2f844bece2d0b2782d075237de030bf5d20432b1c990b8b96c9d919a9bee0f7ff5056f5a0fbcf75f925f0f7755ac0306b90b96cabe405e0351720def33ce8b3947e59395ca8089c900c3b9c8ba35f10363dbf63af9e7b75db45eabe1318019ce85ec1d5b3026b62c42d28f9e9cb3bc99032e3e13fd10a781345546a95688a26c0d3f767abf6452828dcc43a4cd14b3e7350343e38d177514733aedc3ccaa030aab2f356d3b062225e1dde4d61c0cf564d6c8035b3346aec180979d01fbfc24912d15d7f141ac53e81ac63a77a727459310fe29034ac87693640c249da2264443c782600e43c8ad58a249352c610ec6842155b8da031410f25c9a915f6d2aac3599200046a1b309da0e4db492e399086954222ddcbc03dee653838a31dd2e03a678e5b396f8f5670091fe50900a1f0f8c210c31f76c990368d5cdd249ce43e0b56ec2807ddaa95b42b5f4e368bcc5b48688692fd7225bc903e70aca67b7d3edd426b03aa9ad96e3be982d9a1c947e59c4e4a071cdf428f01e039cdd527bc7b4779e5d60ff8aee0727c202d813f9c4837cea5e328e6e9fb5bbc70316fc1b780ce60e7c3b0313fff194c2293fb8c694302328f6f76eacf39ac483d30359f4111374c39184ce835f1992ac60a65ed8c36bd2e6fcffb98a377ae13d1bbe03999ce791a88938af76a2be6697cb2b7dc42d15e09d5ac4421d285cbf429da13603a4fe496d9e57c8ce303159235f7072d47e73c732a1ab00bd12e80c83295165c40331ba02c56a65908f9e4650d0c5ff3ba188f3e0b0a6743435b508562a556e04f6030011e480a7a40b8a2a66cc5c71ac2d3325e5d324e8958dc296d68aa34e51330b033841e4ac570304002351ce7a8f1c6caeb75da88c9ef1eb9468687c0eadb32c0203e391a065a06abe4ec4ecccafb78841ec2f229f489ebd6958ea93a1ac44f13fa505581e035450d5bcb9ad2ae24b889f1943a404c2cbfd7486d4ede817879d7ff4400c02471798d8f1b6ec0005581e03e0744cf005255d27d7c024e3b59b6bd144a96bf37baed82dbe1eef27900c014634c02d65a000031e8304f1e7881bd20ba9ce1b8274ddf6e5514fa5286c08694d27211f5afbe58505581d0254297ba7ff1e0600415ef0d73511553555156cc197f971255beda7c60c03474f32e83d29232905581d038462f2950406f0979444b98b55a149bb93d437af302b4c7a1cd6eb600c0447015738255e5fa6045917c2608060405234801561001057600080fd5b50600436106101585760003560e01c806379cc6790116100c3578063a9059cbb1161007c578063a9059cbb1461042b578063aa271e1a14610457578063d505accf1461047d578063dd62ed3e146104ce578063e3056a34146104fc578063f2fde38b1461050457610158565b806379cc6790146103775780637ecebe00146103a357806395d89b41146103c9578063983b2d56146103d157806398650275146103f7578063a457c2d7146103ff57610158565b8063313ce56711610115578063313ce567146102b657806339509351146102d457806340c10f191461030057806342966c681461032c57806370a082311461034957806379ba50971461036f57610158565b806306fdde031461015d578063095ea7b3146101da5780630c340a241461021a57806318160ddd1461023e57806323b872dd146102585780633092afd51461028e575b600080fd5b61016561052a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019f578181015183820152602001610187565b50505050905090810190601f1680156101cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610206600480360360408110156101f057600080fd5b506001600160a01b0381351690602001356105c0565b604080519115158252519081900360200190f35b6102226105dd565b604080516001600160a01b039092168252519081900360200190f35b6102466105ec565b60408051918252519081900360200190f35b6102066004803603606081101561026e57600080fd5b506001600160a01b038135811691602081013590911690604001356105f2565b6102b4600480360360208110156102a457600080fd5b50356001600160a01b0316610679565b005b6102be6106dd565b6040805160ff9092168252519081900360200190f35b610206600480360360408110156102ea57600080fd5b506001600160a01b0381351690602001356106e6565b6102b46004803603604081101561031657600080fd5b506001600160a01b038135169060200135610734565b6102b46004803603602081101561034257600080fd5b5035610793565b6102466004803603602081101561035f57600080fd5b50356001600160a01b03166107a4565b6102b46107bf565b6102b46004803603604081101561038d57600080fd5b506001600160a01b0381351690602001356108ce565b610246600480360360208110156103b957600080fd5b50356001600160a01b0316610928565b61016561093a565b6102b4600480360360208110156103e757600080fd5b50356001600160a01b031661099b565b6102b46109fc565b6102066004803603604081101561041557600080fd5b506001600160a01b038135169060200135610a07565b6102066004803603604081101561044157600080fd5b506001600160a01b038135169060200135610a6f565b6102066004803603602081101561046d57600080fd5b50356001600160a01b0316610a83565b6102b4600480360360e081101561049357600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610aa1565b610246600480360360408110156104e457600080fd5b506001600160a01b0381358116916020013516610c95565b610222610cc0565b6102b46004803603602081101561051a57600080fd5b50356001600160a01b0316610ccf565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105b65780601f1061058b576101008083540402835291602001916105b6565b820191906000526020600020905b81548152906001019060200180831161059957829003601f168201915b5050505050905090565b60006105d46105cd610e50565b8484610e54565b50600192915050565b6000546001600160a01b031681565b60045490565b60006105ff848484610f40565b61066f8461060b610e50565b61066a856040518060600160405280602881526020016116b2602891396001600160a01b038a16600090815260036020526040812090610649610e50565b6001600160a01b03168152602081019190915260400160002054919061109d565b610e54565b5060019392505050565b6000546001600160a01b031633146106d1576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6106da81611134565b50565b60075460ff1690565b60006105d46106f3610e50565b8461066a8560036000610704610e50565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610def565b61073d33610a83565b610785576040805162461bcd60e51b815260206004820152601460248201527313db9b1e481b5a5b9d195c8818d85b8818d85b1b60621b604482015290519081900360640190fd5b61078f828261117d565b5050565b6106da61079e610e50565b8261126f565b6001600160a01b031660009081526002602052604090205490565b6001546001600160a01b0316158015906107e357506001546001600160a01b031633145b610834576040805162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206d7573742062652070656e64696e6720676f7665726e6f7200604482015290519081900360640190fd5b60008054600180546001600160a01b038082166001600160a01b03198086168217808855931690935560405193811694929391169184917f0ac6deed30eef60090c749850e10f2fa469e3e25fec1d1bef2853003f6e6f18f9190a36001546040516001600160a01b03918216918316907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b6000610905826040518060600160405280602481526020016116da602491396108fe866108f9610e50565b610c95565b919061109d565b905061091983610913610e50565b83610e54565b610923838361126f565b505050565b600a6020526000908152604090205481565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105b65780601f1061058b576101008083540402835291602001916105b6565b6000546001600160a01b031633146109f3576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6106da8161136b565b610a0533611134565b565b60006105d4610a14610e50565b8461066a856040518060600160405280602581526020016117686025913960036000610a3e610e50565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061109d565b60006105d4610a7c610e50565b8484610f40565b6001600160a01b031660009081526009602052604090205460ff1690565b6008546001600160a01b038089166000818152600a602081815260408084205481517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981850152808301879052968e166060880152608087018d905260a0870181905260c08088018d90528251808903909101815260e08801835280519084012061190160f01b6101008901526101028801989098526101228088019890985281518088039098018852610142909601905285519581019590952092909152909252610b6e906001610def565b6001600160a01b0389166000908152600a602090815260408083209390935582519081018690528083018590526001600160f81b031960f888901b16606082015282516041818303018152606190910190925290610bcd9083906113b7565b9050806001600160a01b0316896001600160a01b031614610c2b576040805162461bcd60e51b815260206004820152601360248201527211d4950e881a5b9d985b1a59081c195c9b5a5d606a1b604482015290519081900360640190fd5b851580610c385750854211155b610c7f576040805162461bcd60e51b815260206004820152601360248201527211d4950e88195e1c1a5c9959081c195c9b5a5d606a1b604482015290519081900360640190fd5b610c8a898989610e54565b505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6001546001600160a01b031681565b6000546001600160a01b03163314610d27576040805162461bcd60e51b815260206004820152601660248201527513db9b1e4811dbdd995c9b9bdc8818d85b8818d85b1b60521b604482015290519081900360640190fd5b6001600160a01b038116610d79576040805162461bcd60e51b815260206004820152601460248201527311dbdd995c9b9bdc881b5d5cdd081899481cd95d60621b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b03198316179283905560405191811692169082907f76563ad561b7036ae716b9b25cb521b21463240f104c97e12f25877f2235f33d90600090a35050565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b600082820183811015610e49576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b038316610e995760405162461bcd60e51b81526004018080602001828103825260248152602001806117446024913960400191505060405180910390fd5b6001600160a01b038216610ede5760405162461bcd60e51b81526004018080602001828103825260228152602001806116266022913960400191505060405180910390fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610f855760405162461bcd60e51b815260040180806020018281038252602581526020018061171f6025913960400191505060405180910390fd5b6001600160a01b038216610fca5760405162461bcd60e51b81526004018080602001828103825260238152602001806115e16023913960400191505060405180910390fd5b610fd5838383610923565b61101281604051806060016040528060268152602001611648602691396001600160a01b038616600090815260026020526040902054919061109d565b6001600160a01b0380851660009081526002602052604080822093909355908416815220546110419082610def565b6001600160a01b0380841660008181526002602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561112c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110f15781810151838201526020016110d9565b50505050905090810190601f16801561111e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038116600081815260096020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a250565b6001600160a01b0382166111d8576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6111e460008383610923565b6004546111f19082610def565b6004556001600160a01b0382166000908152600260205260409020546112179082610def565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166112b45760405162461bcd60e51b81526004018080602001828103825260218152602001806116fe6021913960400191505060405180910390fd5b6112c082600083610923565b6112fd81604051806060016040528060228152602001611604602291396001600160a01b038516600090815260026020526040902054919061109d565b6001600160a01b038316600090815260026020526040902055600454611323908261159e565b6004556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038116600081815260096020526040808220805460ff19166001179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b6000815160411461140f576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156114805760405162461bcd60e51b815260040180806020018281038252602281526020018061166e6022913960400191505060405180910390fd5b8060ff16601b148061149557508060ff16601c145b6114d05760405162461bcd60e51b81526004018080602001828103825260228152602001806116906022913960400191505060405180910390fd5b600060018783868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561152c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611594576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b9695505050505050565b6000610e4983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061109d56fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122028978c229b51c3a9489101e8096301e85866fa63b6ccbd95d247e376d1f5407664736f6c634300070400330364ca21853d42e267800092931dc8679f6e9ac3c1fa6f2397dc3615ca0f13630703885b4282c8a112f433678a5c1a4db683b0184a19609b2b2e90b966b005457dcf03b4e458730283aef28d090830cd3c61278b5052aba0d2b1b9dae2433eeffd9b8203a4040618f3f4335cf348e028bb2a44d819d7608160216a74b4da587b964fec8e0316ef69336624df1aa4a0e3ab11f6feec5991cf9dc2ee5f94f421d564e3d047da03b405f7dd1c1dbc5073e19e0d017cf15ea9b86fdf4185f3cff3f5f42113e8506003ea03f1ebf939d9dec6e2bd07692f9935ba57879ce00c063263ae85ce3c31f31d0386e2776d145647c099fc79814293cff6fd6b834e5a8368962841b9b9661f171703a274b03786c131faeec6050a5b037fbe202bf4a992a8308df06aa1f66f87174803fa0f1775b9ecd49cdff37761fa2631c09dc6e392175783f86d893a3ce63eeb24031c6c6b2f158e307e3c4d407f0cc070127d49e2d1bf81b7912d0fa2c12f588d4c032aa4a8d0f606386fae4752afd5cbc50f260cd55842148bcd76da0cbc4279fad603a9204f3af2d285dd9afc2c7b365e4578b4a30dea13e1e54a137a34a87935fbfb030b0d314f64bcbbb09f5552d8637ed50df840e852939b3207844406c1e286677603900cd514320cf101bed55b59a88aa9841e5d940a088fe61cd3830375872951ba03ec803e2d7cf1c15841065ef41e42fe49e3a2c5dc5ff6f5e1bace0e8e605c638003b15c87c60b80076dcb3713c16ca7274171477ddcee694ab747839ba8bc2672440339f6b9994a232d179e4ef9bd2b24e4bccf628ae4ef7b2c15047fa915e83aad7803255403ab6e73457e095a9a79431ae8f8862d9b623668efcdd22acf8bc310633c037c02a345e3d61c533141be970f2410660893a1b514f4bfaa568302c3f85a5d8e03403be4c8a6665532aa1f8eebc602ea4dc74b516f326259e7204dba314a91f65b03d3058d3e7bb56bf2f987de1804ce92c6b9ee2b53bb2acd9207933df1d7c85d2b03f957dba5b8ffa86a8f8bb9d1626da12c169fcb9c42e9fa5e47a308b6034105b4039b6e07e5a7f95eb82f4ab80310e611de51111c982d4e7eb14266da3c70e6d3fe03b356dfe688601d59dd52d6c42e6563ae57520da2cd56c1d9f7ec79ebd20ce3ef0344d8d87065e7c31f39bcd61a5385e43821c91a7c336e6e5c8acd7cec658869a7035b1ef866701bb6972f3821a8383f4450fb6fba5e3e36dbda98568010bfc96eb4033bef9c51f4002e0ae25a97a73b83e713bd1f7dc1b22f8bfa3e752a9d8df4aad40374fde556618fa14401bdcf93519a5818626c6fa0915fda1fea4e9ff7dcd92ba00303a6e5d64de21c8c42958ce104d12757e1cef47fdc2b6fdb889f04aab409ec94033cc9f1b815160aaee4de988b59973907644b1616464e74e90947dc5c422b508603dd5a710294c25a14b943f3de115928117e9501639369faebf031627f322c4e1d036be993e9cf449e354c2a5603c69d3005b09a7467ac9dc0aff73fd3c541c940ed035a08fc4359c21e1cdd54244c1a3ec3a81b36eb1d6493381672e486f22b7d07a8034819779869861c12adcfcef8cb8e29f7ba3c8ce94c532fe77c5db45259286d3700581f02f690c27e9381342a9d67917c88dddf573735205375abf7dfe0d17606f0da5820fffffffffffffffffffffffffffffffffffffffffffffc63740d5298d76e3ffc0339623ccc24c3e3c82406b318c8b6451c33ab799dcc4f70defda085e6911ae429035086022c505a8f10e8cade859993cf75edb465811b1eed79251e8e81bf93dfdc03e479dd127544ec55a243395877999ea30816a017261dfe2901a6e7ffe116624703374317c80e801642a95d8998adb4395dfe199539fdb14cc875bd02d52919adab00581f036bc261a822043f35258872cda85a3323e48f40cc39e3d80606c429fee8804822b1c8c1227a000000581f0385addbf4fdc71f72eda0fe50170e4169a815882582d087da445a7ffea6b0490b574b92c2a228f000021906000314b16e0df7d2d857a53396bc31be00dce14e48430d76cf19b5167c50fe5558c30366d7b40afa80ba92068dddc3d60b7a9b6faa9646afc446489a46ea3606991e39038d4fe60b9883be8f1f480dbb7f1bb8a97e4d3b713ba3ca00b9b41baa4c5ce37d032ce1d432f04067928e7c985bda03aaf743f9fbdf6eef04ee4b280f6890ac921d03f9ce08663fcff1f0ae18c8a72efd1ee7940563ca39af08678f4fed8c1f767e4703cba13a016a94e7ba824c471471834a385fe7694f97522c64bb6b8a3dbcce52e603d589361978da110d1477f13f3c3d4db62496fc32c81beabb479bb56a96f4a1a80219ffff0219ffff0350d72981b6f2af3f3c154241901238d1cae7bdfbc333d5b611e322c8730efa680371ebb90332fbafb8d4c8ac5b5c914dc3acd5a2a42c32cec27a9e52d68a79a18b03934005c543972c9e847ce58c419099ee20d19661a34323041340bdd30e899a3d0363dda838855e22ee5bcdb8702b006ec287c710828c2d639c18368e384a7fcdb5039d680c3b44dad074bd8140ce3ecb1c873031390470b0795018f0aadeb61daece03254495ba5f5d0cf7531ae60602ee63f50eeec4ef872e76f987203a96f1d7d47203ed13241326031aad0701a1089acc0e2b9f52b6996eb442d020917afd32d5d9aa03fbac33fbd7a6757e7aa596bf11baf0ff0c21d1a2ec101f807af241c3d8398bd2038556aea34109812319e9913aebbace5d025256dcf2a3aa5aede7123acbe1cb6903b2671cda0a8bb1daa9348a533f04a0060395ac6b2b1df3b3f8409131e3f1dc8d0301d42074428c7bdb44e7b075665087cb7dc4a2bd375ba2a4946ad27f995a41a503603ff28cbbd6ece51196a7b4908d304368d81dedc678bb2a70909c14af71098e031027a2a326ef0f40eb48b4a8a2f4e86657ab5b4fca801ab4dbe22324c6e548cb0351f7cc4db92f850a283b6214e21ffa2b5c8da481958b6a6014d1104892a9ac08032f58d69ed25be123e0e0a73383b38aca3465f3edf0cd4e80a368b61a804af4c403eae7e0a24cc997a228f32462b8b6e347576e906bf423797e00f51635e57a2cb2033772a27c1a272b2f0fbe1381c68db2ea68dd9bca762b44375a5ffb736b5ae58f03f86d901319fce5ce033434a0e5049efb7d9a77e6b0d346f81f8105cef9433124030ba383e762a97fb2d2dd578780d29bcd746cec0ed7b951a16fdb35aef2f7b17403c98d0005c31161e08a9ebcce1e6c8fe2eef3bb481a2200a640a137084b18bfd603dcac0b21cee353d3ab7d092bea3bf672cd5761bcaa90a81e286ab053736fd24303c63a26831da75f81bc6c7f007fcfe47bb6e023c79ea624c54a8a8926095445e000581f03d743cd6542d6b2aee345bce586c63ed3a03859c0784749008ca2d373be30490cc0a4335ce20f6c0000581e028806956f39819fa9ad347b604df09a1820a3de31f3ef0e8092b96f368b5820ffffffffffffffffffffffffffffffffffffffffffff67c36b2dac7a118ea59600581e025e1f127f92b49f09bd42bc7670efad2d86cc961da542e5e1ba85ed712f4b03b4faf54207df709cd48a02181800581f03de93d439d635604ddbe56032687cd57b01d176e5e8fe37fabd83910412305820ffffffffffffffffffffffffffffffffffffffffffffff9bd4b29ef6a099f19c0219101203b3a31c5660641b1296cf7858bcc084cb14fc022d6579a3a917244186db40d62603ecfaf0c94c00be2a2e411690d36bd02d8ddbb3aba6a4c3026a48740b2ec8de7c039d195d51a1f1ba98da36b03b7fb28962f5b6421914915306320068dd525e373b03228bb4cdcd6e0072bebc902dcab44b79571b028b74ca37bcbac61ab3bd584fee03f60362bcfef4614ab14cd09f9d6147a9ed27078b0c437b7d65ee7498ce8b195b03c41431bb85cca98a60179ce5182f9d3bccaa292fcf00030a98eda99cf990761e0314ea89d618b99102db6df31cad1ece85f9953638917c8691c7f47fa1d3c3f63203156861a880cfa2fd055ddc505de6c53324d4f474bbdef3a346683a42c0ea88b100581f02a3b7c8ff0b49ac78b7603f80afa7f73e8d5668951e98bc964d885623f7b84a03289b287991f1dd680003d88e2e5a029e0e53422c7a169dbbf891d2c5726023e0ee08860057824bbe94c3036f3c7b98607467d6424a62767bb331794730c46acc74ec379edbf7047162a058031cf68114076ab9ba00cc8e59e51f675be407409afc39e23ea05ae8354b0cec7c0219ffff031765cd200ca806df0fbce985393c3f0b2a993bb9e8e21d2c2510c19165f0c267032f90af612b0fb00391f674c62b484a514605d822ef7f2b2ea6a4fa1e78608871032a1f323770e0e68a06f8f8f249cdfdd434ec7481b50ee6ac6e436b500ee0f46803a23c9c1b18fbef4f006e4c8ae502e03a010cd76032d081b1a31f66e407eb40980334ba635d9c7ed399b2096e5985a86ae81a827ed744e6dc3d02dd96b15f2ae353031f172e6635fbc32f8e923bf067eaf334c353c5a4bd62c97cf601970af542d82e03cfa1b5a1dc9619a59211cc8e5c5bb95493e3751a77d6e4e57931dbeafe29edc703f1aec0632246a0546a836d087e565475c4e7b1cd3c2c2fbac6229971a9e234f80219ffff0219ffff0219ffff05581d03dd8951587da7621a3af0de91955c9b4cb25e578bdd85010b098eece007011917c2021901040219024803721e8fbae1c6cdea2dfd920940be6fbc0c66784a10f1f12b6baa9688cee4debb03add0bee5aea5da1c2a2e4fab66669fd535a4fd3f6a7a9e1b646ddb5db4dfb0b603c709a62d228670f1635db80595f2a60148855c6e88b2da10cc8acc603461726e01410605581e03172b77eba15ca88329fb4d4bd6e83c5d6bb5166948d4077ab30c0f891008477367a02ed71000021997960219ffff03567e4dc1582033b14ba13f78df12ca4b3f69019da99fd101e174c1e887d84dbe03629a53e3643497b4ea773383ed7809d4d6f23753decaf9f6e2c9b353b8d15a1b03f68cdaa1f919596a7350e110b4641d31a1693851fb8b65e6e705a76873f6c6b9031aabfbe0638741c48022de41d3b7b41e9b4a3815783865c15f1e4a53f2c6155a03a2d488f98c7297f57f9700cafcdbad3d6a79a5a8dafcb65ff3085e4b86a8b09a0308356d81b5984baf49c45a864b7768c9c496c7ae4987057201d3bf73f8c2ca9c030c1e25161a206cf913447dd55f4e68c3caba03ffdcadaa6e084254ee2420df690219ffff03d281fa3bd99632449e9b6fd27405203b0119044ed36fee967a56c54088948a28034ad16ce6a01776075d9d5597be5d1e526c8cec4272180d4bf496c9b101efe85f03f52b87c3cb1bd900f5c9029f1513c87f6d9ebba015b07b196287d3f9ee53304f03ccb7fd04af4d0371fc3567f8b0b8996ffedd932f5ec8b4de74b9cbeb50461bce037498062589d9e310164c64150d9380465f2efbc0f906d01bfbaece8d43cd0fb903c95fe66caf8721968697c614952ceacf4d0471a79ff12bac84213d09473b00e6037ce9d5c43ae3916421685b815b2f57e09b28ceefdd9ea03370429fad08a35c650219ffff0391530e904a98b01bf821c4548d33b470dd8a018848d74b4d1d30d5964af7dc9f036db2fc05fb9ad446b5d4f61ad6ee1286187ab741206cac0c1b69ee9aae6e47ca038fb18004e52273139c6c75b9ef2708df5bf91526345c3c7ee541226af1672ffe03f411c7cc123b01c80be6dec5432e00d1250a2f8b6eaf756f7dd22098362b3fa903a6c42b404b3d53a0e526faa866818bbe1b997db5f5222467e81cb46180065b4903182aa44622a2085e85fb174ec98f73644c09e88edada11242de976c2055860eb031754d073e23e5e9d4c61d067e2371034aa010f8fc259dbe9f3bd12f7bf7070ef038d619cd22070bb381d5e856cf1c105bd08e5aba01d86dee786f8aec9c82e968503daa5b0c29d1758a51c9b5d8338ee6b7ff2956181a7cdaa056af2025bd57f5bad03d70bc8f0009804fee8a7de6eb363d2d32165d971807c9d6091bb120ca692ac330360acc07254c4a7f869ac2e9bc35371bfeafb03b7eb201fd62a427a4eabf7f66803fa808bfc3b6f51da107f4c177c83b5293a551e04f480d57bdcfca9f9e0c5f83f034a38827e4437336927112ffa4c1620b271916f889c4b8f72abc186464ce0ee2203127557f978ae5128c158034ebe6530649434c57f802bccfb799a816284e990e003b2cd3463876ab4bd1351fc5d3c204e9a0d43cc1310ef6a6c1113367d93fe3c2e0370ecb7c23f26448202216742fbb8915da995aa374411ad6dcd721c9a89793d3e035f3181e568bc02eda7b953a6b8503063c02242b453318e2bfa5cce2e12dd533303a209dc7d490b9b8c840e5939fd2c7024392db4899c79ed6d27aac80c41c9dfe10364dc504062f635e59c040c4ba8f473459b9c26e8adda7dd80667832b2a6349fd03d16478dd3bed42b51bb2adf6195cfd7625b4d91200a270c5ef022e9b7cce86a0035e02ac374d2e3868f088e48d3f68d216a72325ffcac81d18c4978bf2bcd7966c033af4b48ad23453af535e6d32f1af227a303453d1cf46ed7b7b4cff21716fd9d703adb8facf550d3fa68ee8bbc9153022409f31d8c1b93c6a7853c363f6608d662b034f334fc3b2cd1ae518cf09d37f8b53f8258c7839179641b60308f2a519482eb4033fa8fa54c406fcd22f42cce1236b8dd50af59e54e99e070c237152cc16bf7eda03cd87432a0d24feeca5f407f02d2ff0cb774f123ec0efcf764dd1cfd95f292f3605581e03ee2153434dded69662b9efcc602a40fecec25e98d7d774b1c3fa062840040104590a7760806040526004361061003f5760003560e01c80633e10842714610044578063578e9dc5146100605780639a8a05921461008b578063affed0e0146100b6575b600080fd5b61005e60048036038101906100599190610574565b6100e1565b005b34801561006c57600080fd5b50610075610401565b604051610082919061064f565b60405180910390f35b34801561009757600080fd5b506100a0610425565b6040516100ad9190610679565b60405180910390f35b3480156100c257600080fd5b506100cb61043f565b6040516100d89190610679565b60405180910390f35b60018060009054906101000a900467ffffffffffffffff1661010391906106c3565b600160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036101ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101b19061075e565b60405180910390fd5b8134146101fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101f3906107ca565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1631905060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16846040516102809061081b565b60006040518083038185875af1925050503d80600081146102bd576040519150601f19603f3d011682016040523d82523d6000602084013e6102c2565b606091505b5050905080610306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102fd9061087c565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16319050828111801561035c57508483610359919061089c565b81145b61039b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103929061093e565b60405180910390fd5b7fa870bebc9a9c76c706271fe3202670ae02938c915007460c9f34d87f3d134bc489600060149054906101000a900467ffffffffffffffff168a338b8b8b8b6040516103ee9897969594939291906109c9565b60405180910390a1505050505050505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060149054906101000a900467ffffffffffffffff1681565b600160009054906101000a900467ffffffffffffffff1681565b600080fd5b600080fd5b6000819050919050565b61047681610463565b811461048157600080fd5b50565b6000813590506104938161046d565b92915050565b600067ffffffffffffffff82169050919050565b6104b681610499565b81146104c157600080fd5b50565b6000813590506104d3816104ad565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126104fe576104fd6104d9565b5b8235905067ffffffffffffffff81111561051b5761051a6104de565b5b602083019150836001820283011115610537576105366104e3565b5b9250929050565b6000819050919050565b6105518161053e565b811461055c57600080fd5b50565b60008135905061056e81610548565b92915050565b60008060008060008060a0878903121561059157610590610459565b5b600061059f89828a01610484565b96505060206105b089828a016104c4565b955050604087013567ffffffffffffffff8111156105d1576105d061045e565b5b6105dd89828a016104e8565b945094505060606105f089828a0161055f565b925050608061060189828a0161055f565b9150509295509295509295565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006106398261060e565b9050919050565b6106498161062e565b82525050565b60006020820190506106646000830184610640565b92915050565b61067381610499565b82525050565b600060208201905061068e600083018461066a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006106ce82610499565b91506106d983610499565b92508267ffffffffffffffff038211156106f6576106f5610694565b5b828201905092915050565b600082825260208201905092915050565b7f496e76616c6964436f6c64000000000000000000000000000000000000000000600082015250565b6000610748600b83610701565b915061075382610712565b602082019050919050565b600060208201905081810360008301526107778161073b565b9050919050565b7f56616c7565457272000000000000000000000000000000000000000000000000600082015250565b60006107b4600883610701565b91506107bf8261077e565b602082019050919050565b600060208201905081810360008301526107e3816107a7565b9050919050565b600081905092915050565b50565b60006108056000836107ea565b9150610810826107f5565b600082019050919050565b6000610826826107f8565b9150819050919050565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b6000610866601483610701565b915061087182610830565b602082019050919050565b6000602082019050818103600083015261089581610859565b9050919050565b60006108a78261053e565b91506108b28361053e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156108e7576108e6610694565b5b828201905092915050565b7f556e657870656374000000000000000000000000000000000000000000000000600082015250565b6000610928600883610701565b9150610933826108f2565b602082019050919050565b600060208201905081810360008301526109578161091b565b9050919050565b61096781610463565b82525050565b82818337600083830152505050565b6000601f19601f8301169050919050565b60006109998385610701565b93506109a683858461096d565b6109af8361097c565b840190509392505050565b6109c38161053e565b82525050565b600060e0820190506109de600083018b61095e565b6109eb602083018a61066a565b6109f8604083018961066a565b610a056060830188610640565b8181036080830152610a1881868861098d565b9050610a2760a08301856109ba565b610a3460c08301846109ba565b999850505050505050505056fea2646970667358221220552b95b7b1cc096dcd90a10bf77a3a80edf0e9009e2a8d665de3918d30fbf56b64736f6c634300080d00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305501171c3ca2488401e51332c518e99c13b561fca20f0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60420aa80219080405581e03bd93cd2de5abf50cbf07808cd47a4940d81304722cfd09bf90349423900701190a770373554a6930891617d79daf56b9e65f70666069391ed64c66e96d718d80ac69cd05581e030335fa2f0e5fa33ecf8dbbf56f1b652b2398f6551a179d0a00f33302e00c02460313e61e300005581e0393cc8e47803c538ca238a774f1a13c0e4f297958f6ae6e9434b70e01f00c04470ba8e2470373e003442448aba2636dcae5f0c753411c036c3af0408f2a3972a889893afc28456e6505581e039e82c9f1c67075387b5b451f84adc1eea9a6a8a84e64e29d296c7dbb30040205581e03e6b61f6fafa2b65730868a8e1b064a3701e7eff66a78deb4684c4350e00c0347280596529f16fb05581e037c6290a1935ca86c4e0750d730ffb4b5cafdad3eb80a5307137232e0500c044801d3474fde37198402191f8d03a91085ebb9e284bd9b259f4595be30aa527aa7368f133c9fddddf3ec8219e27803fc30b1f2aa8aa1aed34dbc46f68e87dbd3e513c77cca649aca6a38e8e557d59d03535462445feaa61715bf122c11a325cd96f63aed5904144041d665bd635090030219ffff0307d1df58b799ea62455fd3099ce8519e4e9be7eef0c852415a23db3d190c2f4d034fbca867544ea85be0b3d69ff30af0a6bfa2eb8ceb89ccede01c83eb50983bd2035d1da94aab459ba4217bc248eee4ddb338693a88c68552c77e7dd2e43ab60f5a03d34ba3e3a6bb5e7b3fc9894d3c93a31e9acabbd8e0ae9257f9b0738fb3235ee703d4cfa9cfcf33b372cea5822c7f577dc9a5776758eb832b3a9adb9d8cdd464ae403c18e63b2e5afa58992c8cd60929c85a874b56e7045d8232c20d297b967a68d0d0219ffff03f4eaa5fe113f7e9f197687f29c50c486b24c8f84ff110d206eabcca217705d030301551240a9f4c14c57f29076b7c59621dfd2db0f64ecb81f44340becf73b721703c15964be73610d7dfa7d8d48045c1968aedc77aa1bcfca672ba6a30bd0ec9dea034e906f1d217347d26007262e9d3dea4a93841e2f83ffb8de0a466196accf1b30033df74f96c62a657e6072a30552baa04e2bb583cd0565b69113da8fb15576758d033fc78afb0ce3969f5aa584f1aca083501376ac7a17493758e6f28dfe1596dfdc0395d63e3a0e3f5c757626904bdb4092ae7cba3e65ea32aec4dc17374eeb323c2a03d96397bf4ca312aaaea05a85e6148b21c99b0ef3b5b5d60d1546ec3830c1c63f0378e604284196c90050c9a0f64c6f9645ab6f27be728dfc150d5d14c2607ba1a30301bd0bfc771936446491626c76b1afc217d6717ec24fe1af4a6757f61970c697030188c252561034b5c6e0d68df9399a6e331849c7a9490e58d447ccdeb78ed0ba03de2bcbfc1f7f98373de9b9bdb542a5eff12d7144e259867cf8ce152f87e6b3c003ea1d0f6d4e9b2fafacffa8b782eaaa84287e830e81281cac71f896eeb55b7a2d05581e03b430c0dfe0d55434c2bee9c59ada665d07770c5049125498916fffa7c004050378011a17fa1b29849391e4dcb6f0bccedf7f799616ba8016b5a1273fcbd8066f03cd509f1d4b35017439d14cf5f56aab76cf79deaacebbf2f53323b30cf57d189e030cd86dcffb3bc00af0e81f19df95135d63301c3499a38be68eec3a6570af549705581e039382595e217a14613350c81285a54f870d805d11b240b63511eaf11c200c0247051adc4440c33e03d040c584db776a36423a8bcbfabd62151bd8fe8c868f7ddefbe36573f137e94505581e0321511e4373939e6a92f721bc24c9baaf3588a3c9c5ff99554b0b5346b00c02468840af823ea805581e030f1a3d4ab9cd99b9b664a44f3d5bc229df49b27fd39e022ad5aa8cca700c1911a049014332835010cec04d0219e4e803e8cf874aa332f98ef9bb6ba62a5a731ba254132915d6afd09761d6b5119e3f1f03080849aba69ec6f81a447b583554d548d9ca286025073e688800d66b9135fd2303c7890077ab33d5af5b26cb8d106067dd913497b2c413c66b13212be3d44d92b103faf9cc4908a5353147a810e6df4a0804f84246a977b2f9f8a7e32cbb3166ae2d03d56e34d280105153cc08d8562b3053aab5f0c213956942704da0f2ba0e9c0a0703f875d25df9e6d38af279be048fbb9d99d6bf129cdeaa84c21e493c5c0908c08103e69fc504dc8061ae7ac36ee877f2e56f44d736d1aa37aec3f2e52b1850f78532031494d0cc0251ab2f90714849d70565a906594e66624e14451954e895d84176cd0380b5447df32b7b5dc1063a6628051685c0fc8df4f542d1565def1e11437239ea0381f424a0f71ea6f487924510ea77176e6b37c149b475bb93e01c00505256e1980219ffff03a47e95a9d544781b5262632964b42961766eb763f8a0d5ac878beef02e01b1bf0364b05b1dfc671d2e3ab09f24f1100789d648829fc24fc0ce1ae08436cd2d77ca038a860e2c5a884fc26bae554fba955a4cff6dd93cc77b625838aa41d7199b9cd703ef3a2963d5304dd64c1176f5535e4439167c4d81b9fbc5a2dc2eb4af36ee2906039d4b2a1ba271fc387a860a321debaeb2eec5e0ac316d56f32bce6becc927f6c9035de35529c7059c7d32db57d887c397da78d10f74a0fb959977226f3d6b000d4f03f49b4499b2aa4c025cdc3b3f7c7e286a20091c1e91dfff9e311416a5aebfe03703876370f405d7d7b7cdf214458b346b49e197499b2717ba3fdf2933ef6c1751760327c800b9f42107e26af3674a8e5899e72f1bb57ac17cf4f61562b7fcf0d1b18d03fcfe6eeea096ed2251cee8ca85578bd8f26a32690a582a5f5a3a8f80bf0d057003b3dd30cb15b9012d552fd7d907bb9c9d09052a1bbd8a4b4ab9c282c6005eea72039923ca86370523a204caac67ed7afe2439c6202b75a8d890c88f2f9ba546a36d0219ffff03459912dc5636927c7928cf580fe3636b7ea1e0bef351560f88f0168a6994e31a0311604f846abc183c803d7a9a6ee797dbbef2f4edc43e6f9a75507d794e917e8e03bcbcc6af3e9f95eb418122fbc83cf08af917c819ef7b6f7404fcfeb5f98c27eb037628907db510268fc7b3a7c3e32275a65308694c6331df9cc421ca0e4f7ecc59032f386d37b4ff858ba3a2157aa17a0b3d793a092de913c1f354243b74617ea0ff038416a78509bf1985a885bbcf61f7c4cbbda40401dd1758ab4c7ea74377f93df803dd0cc0de20598a51adbd85f410d7aa3a323898453c6877c6165e3a3c6913df6603effda12e706063b60b167c4f1f2a151e793b9452a714795b46f40508977f9b910219ffff03ef50741f9cefca1d1c62ed384b1178589ab4d672e53dabd1d9fff467d7aaa38403fe32ad7ffe6a0cde475363506649851d0604c42fc923f8c6b6db9c5b19e20861034b56a0b957eaef5bc067b0058fd571615b9b23de833cdf142d68703f82c44d83032bfbf6e9b33f67cb956390249b63210acb40f77df05d06364aa2ab2e7c829bb6037d206c851734960d570601fe7f9c38261d7d98461e51d6354f59ff78ceeb50fa03de17c9042b8356202aad6bed9de04878384646c4eb3c65a2935a9fce92730e120333c9e6919f7ddbd57273bb87dde8c7bae5808c3c5b428e1475e107f75d48803a03d315e84d51fce700892dd875caced3677ec5c97e3e6fcdf8c19afbb1838e856903c2fe7c5a7500bc858f79a20d66866f0e09be648b6d6299aadc2d50501a0dafbd037a455513f58cf0cd1408bfbfe6eb599ee3f43dbd56a9de84390827b42c98ea7f03819ab8a750f6ea8128e95fe32e66fbb54261167eccddb1f5437ada58525a54e40396032e836b689c92ae4c41cc46d555af1fa5a3f4cff83503de28819fba50a5b505581e0312aa2ef4601de9499b285ebe094e294774f771da92b5328cb2972caf300c1835472e5eaf01e8e2d9037b00482ab5e9149a7890ee90ff900da1843283585c0f720e95738ba18f3d255003f5e40f693e08f1f697d42f9b6c93df6122817d4663781ec7c747556ec9865b9d034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e031840129cffaa09260521f63865a4feca87b28e0ed4669cc7e47c1d464007011bffffffffffffffff0338b8a281ff3e79f54830177d5bc787e83e6b4b7e4c7fd210e44b2927fb7e1d75038c7ee005d0d6dd02e63ff3fa83eb70aff7de173e03474979f545744da90e388405581e033910155d30bb245fcc3d3ba0862d870427ca1557fd697221bc4235df40040305581e03bc979ff347596a4327117549ff0b33ad64a2e04a43e7f87ec8ad2c0a000c09460da475abf000030dde3b3bf3b83eca9d234e86e0f51d0394242c9bd07e87aa878315ef6f164ffa02194d7c03403b7f25d85d0125860f5502317890bdddf85c053f05771e9290894e1272e4cd033a1e658cdec91d724a4a297a2d4916fb98971707bd315f4f924fdd845d6f279c039a86e58420a923c5a61381b87c04a975984076541ba160a0e17e971e4739b84b0371742363be3e4d67635cf69291a8ab73c9095f3ffe0c6659960c6fafde155b8303ff11aa9550f8bcacf8186a217c040ce23e3015bfcb7314422218789e6f43cb130338363d6629eac7e53fea04f6cb77435ee892e220aef84281627b8534d5dafd460219ffff039682be312c1f75475bf6aad519ed73172306201a93996a1ba2d78938f4990a5f039ac3a4351ffc7d6e01dbdf1778f1fe185f61d47297dc6085cddb31cb61db170203fe31d4a8db2fa0722551fc949848be5216838fa9dcdacd1e8c245c69ec2187b30397199c62bfd360174e3170f8a7f70e77ad017162b4528fe6331d3df3c0ac9fd4033402307701ae2ecdbc5deeb2213db2a3d61a99d33ca962180d2fb68b0a17fb770341474fa4c3f8ebd32cb247a889d8062c74455efe9362c4cb6277e47b94d9035503fce2364cf2b26af50e64aeebdb4fcc09fa30499464fc69df2a7583fc8148962f03abe37f1c3ec6fc5b1f4a04e0eec0fcd4661121d57aa127e8e2ec2f96a1c1c56103c6e1b5b50067a2a758a55af570fe40c752cc75a920126723285b85832a6ef75b0387b266cd0cdff3f212131e2c576ea5a8fa64d1cb5889bae82db8bc346ec7fdad036209d364cc6d6af4155c3d80ceff92d0c33fb30c5a47511fbef336b7799f72e603f06bd646e96ec26da533e3a7b733a81b589528c648711a6cb6fcc00ff107238d039b6bd9baf3dddf6466ea3d9b86a65b7cdbc1bf3e0af5f1ccd12dbef4f0abfe3b03a1a9c1e539a082f837628a660582dc7869ab5aaa27d264a75661e84d91d61d8703bea353b3c384c3f8ef962161ba9b9c6624fb96e24388db829df4fc995bbebe530219ffff03c2d18c5f7e37d398275898be1b1d09a9ca5abf98cee2a80d0dfb5b8059570f7003b6a3b4a982019fb639303515edf3bf7ba2e567dafea1cc6dc240aa2fe7e9f5b60364fad4a6fb9cd1a9f5d3de9adca51c12fc06f5aaaac800e2d1e9894c1d34962503429b4c2f65e353c923aafb3a526277334c0fb224ec9f3b5f8e6bbdc5e1622cd9030afcfeb0a1b23e412e3d4b3b78a06c185942e4257028a2006618525345c875c60357110506792b20796357f0bded2c9ff6119d66c756d0aa8c482ca9192720e15203c6ce5e4b57e54037de3fb58a800740e677dbe29ebd2549c6c78fe3f7580e08e20326f24707cb420aa315a96e38b58a9bf04643cd52d8879207fe08b9d0e2055dbb03e850073aaa56d594f8c3e1ba0494fcbe309babd1cc320704d1307ef7f345e73903a6f5b2cb46ec9a30fdb65ee63c4383602a3f21d3482b59cb9df2d7c4b5cd79bf03280ca41de8c9144295e14379effc6069622617b84306d92914fdf2b42a8f0dea036fee5ecd5e2de138eb65b04c598a8aa26268f58e4875cb328f9f88b93d61b9f403e00eabc05376ceac648acf1e5f1748fd146921273130c1c95b4194a1871589cf03342aabcfbda0b2a33e4f7b698d299b231e0fe88c5f18c9acff5b03f7fa3f88560219ffff0314a1deaa9dd7f009c6c1ad1d2f4800e120091f939cc2c3547146173577d09dce03dd3a00dd8b6c9258d24658d53e742382f35ac5790b5c52002cfcd9dee95b936003f3a679030e7ebdecd0b15d9b679fd051137538a7c61f5992ea456b42349915d50397b8d6ea9d0c96d697a233c3935e2999f6ffb99954abd0d96f465cf83570455703080e1376a349437c97091a97e4c40c9e60ccca9ceceb496fee1ded950ce90b41034ff26b3984ead710bbb76af2ba6290237b6851bcb7f861d7d3db3f98dfcf5656036acee606eedc63286fb056b9c69c55d44bd4539208b0e57147a7f2ed5db29ff1035b9453da6b947367a5e0009f9afe267027b8584ad05e3d59ad7027ecb8df378103ec18adf1533a018f0dffcda944c3105a3371d23e8e4a7312a706da4eee1df1ad03a919a94754b0026cfaf32819bb158138bf5fb80449c158f47f0e4c110bb78f7203d2ac78f923d23d644dd59a6559a8784f5e0428755e13dff0c8df777ad3f121630326c01b2461bc11d99e119badf66ec8c895604736866a16f0797461a6b344af050308e52c63f0cefdff48be28668a4186de779e27549ebdc35ed997a1c2da284a8503b42bd389a9c629a8c3eda48aa6a75df0d32f257a1e3c1bfc544cc4fd99f816cb03169dfe0417fe6b4683b469d6fe92d4737f400b36831de841cc08afd270eb6de905581e0396c171543a2e50f8ecc2b75b2caacf31bb3dffec0910b3d724219b4e100418ba05581e034aad3d30319081b36e8c9254d47e84e71e341eef7abcd3c2dcc73f30a0040204595f5d608060405234801561000f575f80fd5b5060043610610388575f3560e01c8063718522aa116101df578063b4a0f56f11610109578063d7d87a2b116100a9578063f0294f4b11610079578063f0294f4b146109f1578063f90e8ac314610a04578063fd2eab6914610a2a578063fe4b84df14610a3d575f80fd5b8063d7d87a2b14610970578063e3faf50414610983578063e4650e8e14610996578063e985e9c5146109a9575f80fd5b8063c87b56dd116100e4578063c87b56dd14610924578063cb97397c14610937578063cec32ca51461094a578063d5adf4891461095d575f80fd5b8063b4a0f56f146108eb578063b88d4fde146108fe578063c5b2486914610911575f80fd5b80638abf92c91161017f57806395d89b411161014f57806395d89b4114610897578063a22cb4651461089f578063ae3a4253146108b2578063af44422c146108d8575f80fd5b80638abf92c9146107fc5780638c59fb73146108335780638f40f3781461085957806393251fba14610884575f80fd5b80637a1b2490116101ba5780637a1b249014610787578063844b71a31461079a57806384b0196e146107a2578063865a2f0f146107bd575f80fd5b8063718522aa1461068c57806372215bea146106e0578063724ef5011461074b575f80fd5b80632c1e9006116102c057806340ef10b81161026057806363a74d601161023057806363a74d601461064057806368b16b3f14610653578063691aa51a1461066657806370a0823114610679575f80fd5b806340ef10b8146105f457806342842e0e1461060757806342966c681461061a5780636352211e1461062d575f80fd5b806332ac730f1161029b57806332ac730f146105645780633695f6071461057757806339fa3f48146105985780633b60d097146105ab575f80fd5b80632c1e9006146104d45780632d4f2b01146104e7578063322178211461051d575f80fd5b8063095f0c701161032b57806323b872dd1161030657806323b872dd1461048857806324ee18851461049b578063274fae7c146104ae5780632855aa4e146104c1575f80fd5b8063095f0c701461044f578063140e6a0914610462578063200776bc14610475575f80fd5b806306fdde031161036657806306fdde0314610401578063081812fc14610416578063090d18b314610429578063095ea7b31461043c575f80fd5b806301ffc9a71461038c57806305d8d4f2146103b457806306fa1d50146103c9575b5f80fd5b61039f61039a366004615065565b610a50565b60405190151581526020015b60405180910390f35b6103c76103c23660046150a1565b610a60565b005b6103dc6103d736600461511e565b610ab2565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016103ab565b610409610aed565b6040516103ab9190615207565b6103dc610424366004615219565b610b7d565b6103c76104373660046150a1565b610baf565b6103c761044a366004615230565b610bfc565b6103c761045d3660046150a1565b610da6565b6103c761047036600461525a565b610df3565b61039f6104833660046150a1565b610e7d565b6103c7610496366004615295565b610ee3565b6103c76104a9366004615230565b610eee565b6103c76104bc366004615219565b610f6a565b6103c76104cf3660046152d3565b611042565b6103c76104e2366004615219565b611077565b6103dc6104f5366004615219565b5f908152616a0f602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b61053061052b36600461533f565b61108b565b6040805193845273ffffffffffffffffffffffffffffffffffffffff909216602084015261ffff16908201526060016103ab565b61039f6105723660046150a1565b6111bc565b61058a6105853660046153d7565b61121e565b6040519081526020016103ab565b6103c76105a6366004615452565b611242565b6105be6105b936600461548e565b611278565b6040805173ffffffffffffffffffffffffffffffffffffffff9094168452602084019290925261ffff16908201526060016103ab565b6103c76106023660046150a1565b61139b565b6103c7610615366004615295565b6113e8565b6103c7610628366004615219565b611402565b6103dc61063b366004615219565b611484565b6103c761064e3660046154ba565b61150f565b6103c7610661366004615230565b611596565b6103c76106743660046150a1565b611725565b61058a6106873660046154ff565b611772565b61069f61069a3660046154ff565b61183e565b6040516103ab949392919093845273ffffffffffffffffffffffffffffffffffffffff92831660208501529116604083015261ffff16606082015260800190565b6040805173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f811682527f000000000000000000000000762340b8a40cdd5bfc3edd94265899fda345d0e3166020820152016103ab565b6103dc610759366004615219565b5f908152612f77602052604090205462010000900473ffffffffffffffffffffffffffffffffffffffff1690565b6103c761079536600461551a565b611928565b6103c7611acd565b6107aa611b70565b6040516103ab9796959493929190615592565b6107d06107cb366004615230565b611c10565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016103ab565b61082061080a366004615219565b5f908152612f77602052604090205461ffff1690565b60405161ffff90911681526020016103ab565b7f000000000000000000000000e81771b732e623ae1b7e09f72c09f8c300378b206103dc565b61086c610867366004615652565b611c82565b6040805192835261ffff9091166020830152016103ab565b6103c7610892366004615230565b611d55565b610409611e7c565b6103c76108ad366004615691565b611e8b565b7f000000000000000000000000da95fd26d92fe4b4730c3367a8b13cc5ca0906d36103dc565b6103c76108e63660046156c1565b611e9d565b6104096108f9366004615219565b611ec6565b6103c761090c3660046157c7565b611ef6565b6103c761091f366004615842565b611f08565b610409610932366004615219565b611f90565b6103dc61094536600461587d565b611f9b565b6105306109583660046158cb565b612026565b61058a61096b36600461590e565b61213e565b6103c761097e36600461596d565b612256565b61086c61099136600461548e565b6122a3565b61058a6109a4366004615997565b612340565b61039f6109b736600461548e565b73ffffffffffffffffffffffffffffffffffffffff9182165f908152606a6020908152604080832093909416825291909152205460ff1690565b61039f6109ff3660046150a1565b6123d6565b7f00000000000000000000000037669abc021355f8b271fe60d67765e1fbe27ada6103dc565b6103c7610a383660046150a1565b61241f565b6103c7610a4b366004615219565b612551565b5f610a5a82612708565b92915050565b81610a6d816109ff612712565b610aa3576040517fb730a3eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aad8383612720565b505050565b5f80610abc612712565b90505f610ad089838a5f8b60028b8b6127f6565b9050610ae089838a8a8a8661287c565b9998505050505050505050565b606060658054610afc90615a3c565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2890615a3c565b8015610b735780601f10610b4a57610100808354040283529160200191610b73565b820191905f5260205f20905b815481529060010190602001808311610b5657829003601f168201915b5050505050905090565b5f610b8782612dad565b505f9081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b81610bbc816109ff612712565b610bf2576040517fb730a3eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aad8383612e37565b5f610c0682611484565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cc8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610ce7612712565b73ffffffffffffffffffffffffffffffffffffffff161480610d105750610d10816109b7612712565b610d9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610cbf565b610aad8383612f70565b81610db3816109ff612712565b610de9576040517fb730a3eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aad838361300f565b8281610dfe82612dad565b6113888161ffff161115610e42576040517f9a5b7c1b0000000000000000000000000000000000000000000000000000000081526113886004820152602401610cbf565b610e548282610e4f612712565b613060565b610e7685610e60612712565b868660405180602001604052805f815250613137565b5050505050565b5f610e8883836123d6565b80610edc5750610edc838360015b5f928352609760209081526040808520858052825280852073ffffffffffffffffffffffffffffffffffffffff9094168552929052912054600160ff9092161c16151590565b9392505050565b610aad83838361320b565b5f805f610efa8461323d565b6040805173ffffffffffffffffffffffffffffffffffffffff8085168252602082018a9052918101839052939650919450925033919087169085907fa7e3741a0b4c9ccc7effed91a2572c1274703b3c573e2079b5963171de00b107906060015b60405180910390a45050505050565b5f818152616a0f602052604090205473ffffffffffffffffffffffffffffffffffffffff16610f97612712565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611013576040517f1a065e4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610cbf565b5f61101d83611484565b905061102a81838561335f565b61103483826123d6565b610aad57610aad838261300f565b5f61104b612712565b90505f61105f8783885f8960018a8a6127f6565b905061106e8783888885613137565b50505050505050565b61108881611083612712565b612720565b50565b73ffffffffffffffffffffffffffffffffffffffff8086165f90815261623f60209081526040808320938816835292815282822086835290529081205463ffffffff16908082156111b1575f838152612f77602052604090205462010000900473ffffffffffffffffffffffffffffffffffffffff16915081611113575f92505f91506111b1565b5073ffffffffffffffffffffffffffffffffffffffff8781165f81815261623f602090815260408083208b86168085529083528184208b85528352928190205481519384529183018a9052938816828501526060820187905261ffff64010000000090910416608082018190529251339186917f04224969448af01888ee9b82ab14d1cf761cc9aacf7a51195e63d512a7a8149b9181900360a00190a45b955095509592505050565b5f8281526067602052604081205473ffffffffffffffffffffffffffffffffffffffff1615610a5a57505f91825261335f6020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b5f61122b8787878761213e565b9050611238818484613661565b9695505050505050565b5f61124b612712565b90505f61125e88838989895f8a8a6127f6565b905061126e8883898989866136a3565b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8082165f90815261604b602090815260408083208685168452909152812054909116908082156113945773ffffffffffffffffffffffffffffffffffffffff83165f90815261604c602052604081205463ffffffff74010000000000000000000000000000000000000000909104169250611329835f9081526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614611390575073ffffffffffffffffffffffffffffffffffffffff82165f90815261604c60205260409020547801000000000000000000000000000000000000000000000000900461ffff16611394565b5f91505b9250925092565b816113a881610483612712565b6113de576040517f9925908400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aad8383613842565b610aad83838360405180602001604052805f815250611ef6565b8061140b612712565b73ffffffffffffffffffffffffffffffffffffffff1661142a82611484565b73ffffffffffffffffffffffffffffffffffffffff1614611477576040517f92c311b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114808261396a565b5050565b5f8181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff1680610a5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610cbf565b838161151a82612dad565b6113888161ffff16111561155e576040517f9a5b7c1b0000000000000000000000000000000000000000000000000000000081526113886004820152602401610cbf565b61156b8282610e4f612712565b61158e86611577612712565b87878760405180602001604052805f8152506136a3565b505050505050565b6115a76115a1612712565b82613973565b6115dd576040517f62272c1f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152616a0f602052604090205473ffffffffffffffffffffffffffffffffffffffff80841691160361163d576040517fdef5088a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61164681611484565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116aa576040517ffd461d2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f818152616a0f602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155905183927fca67ac802f4ee7e410b499c4141b330c34c3cb8c16186c36ab8e8e1dee87c00191a35050565b81611732816109ff612712565b611768576040517fb730a3eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aad8383613a30565b5f73ffffffffffffffffffffffffffffffffffffffff8216611816576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610cbf565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526068602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff81165f90815261604c60205260408120805463ffffffff7401000000000000000000000000000000000000000090910416919081908190816118b6865f9081526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461191c578054600182015473ffffffffffffffffffffffffffffffffffffffff80831696501693507801000000000000000000000000000000000000000000000000900461ffff169150611920565b5f94505b509193509193565b82611935816109ff612712565b61196b576040517fb730a3eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8290036119a5576040517fd50d239000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b82811015610e76575f8484838181106119c2576119c2615aba565b90506040020160200160208101906119da9190615ae7565b60028111156119eb576119eb615a8d565b03611a2157611a1c85858584818110611a0657611a06615aba565b61108392602060409092020190810191506154ff565b611ac5565b6001848483818110611a3557611a35615aba565b9050604002016020016020810190611a4d9190615ae7565b6002811115611a5e57611a5e615a8d565b03611a9457611a1c85858584818110611a7957611a79615aba565b611a8f92602060409092020190810191506154ff565b61300f565b611ac585858584818110611aaa57611aaa615aba565b611ac092602060409092020190810191506154ff565b613a30565b6001016119a7565b333014611b06576040517feab5a03f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe836018060045f375f80825f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c5af490503d5f803e808015611b6c573d5ff35b3d5ffd5b5f6060805f805f6060611ba27f576f726c64730000000000000000000000000000000000000000000000000006613a82565b611bcb7f3100000000000000000000000000000000000000000000000000000000000001613a82565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b5f805f611c1c8461323d565b6040805188815260208101839052929650909450919250339173ffffffffffffffffffffffffffffffffffffffff88169184917fa89bd13a0c7d13b451ac594826a0ae0852a3cee796872087c3fe4ef607271203910160405180910390a4509250929050565b73ffffffffffffffffffffffffffffffffffffffff8082165f90815261623f60209081526040808320938716835292815282822085835290529081205463ffffffff16908115801590611cf757505f8281526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615155b15611d49575073ffffffffffffffffffffffffffffffffffffffff8281165f90815261623f60209081526040808320938816835292815282822086835290522054640100000000900461ffff16611d4d565b5f91505b935093915050565b5f611d5e612712565b73ffffffffffffffffffffffffffffffffffffffff8082165f90815261623f60209081526040808320938816835292815282822086835290529081205491925063ffffffff90911690819003611de0576040517f693ab87c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8281165f81815261623f6020908152604080832094891680845294825280832088845282529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000169055905186815284917f0e2d557782991164095499aab37a3d8177adfb1f97fce0a12f8d7b49466336b3910160405180910390a450505050565b606060668054610afc90615a3c565b611480611e96612712565b8383613abf565b610aad7f000000000000000000000000da95fd26d92fe4b4730c3367a8b13cc5ca0906d3613beb565b6060611ef17f000000000000000000000000da95fd26d92fe4b4730c3367a8b13cc5ca0906d3613c05565b919050565b611f028484848461320b565b50505050565b82611f1581610483612712565b611f4b576040517f9925908400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f829003611f85576040517ff12c846f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f02848484613661565b6060610a5a82613cc8565b5f8483611fa782612dad565b6113888161ffff161115611feb576040517f9a5b7c1b0000000000000000000000000000000000000000000000000000000081526113886004820152602401610cbf565b611ff88282610e4f612712565b61201b87612004612712565b88888860405180602001604052805f81525061287c565b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8085165f908152615e576020908152604080832093871683529290529081205463ffffffff1690808215612134575f838152612f77602052604090205462010000900473ffffffffffffffffffffffffffffffffffffffff169150816120a6575f92505f9150612134565b5073ffffffffffffffffffffffffffffffffffffffff8681165f818152615e5760209081526040808320948a1680845294825291829020548251948552908401889052908301869052640100000000900461ffff166060830181905291339085907e516abd10b395e6c97f8299bd4a334d6b6e95b4be5c2b31f1ae4cd5bae072499060800160405180910390a45b9450945094915050565b616627805463ffffffff808216600101167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000090911681179091557f000000000000000000000000000000000000000000000000000000000098968081106121f3576040517f0143c8d30000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000009896806004820152602401610cbf565b6121fe818686613cd3565b61223d8184848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250613cf192505050565b61224e612248612712565b82613d43565b949350505050565b81612263816109ff612712565b612299576040517fb730a3eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610aad8383613d5c565b73ffffffffffffffffffffffffffffffffffffffff8181165f908152615e5760209081526040808320868516845282528083205463ffffffff16808452606790925282205490921615612335575073ffffffffffffffffffffffffffffffffffffffff8281165f908152615e576020908152604080832093871683529290522054640100000000900461ffff16612339565b5f91505b9250929050565b5f61234d5f89898961213e565b90505f5b8281101561238c576123848285858481811061236f5761236f615aba565b9050602002016020810190611ac091906154ff565b600101612351565b505f5b848110156123ca576123c2828787848181106123ad576123ad615aba565b9050602002016020810190611a8f91906154ff565b60010161238f565b50979650505050505050565b5f8173ffffffffffffffffffffffffffffffffffffffff166123f784611484565b73ffffffffffffffffffffffffffffffffffffffff161480610edc5750610edc83835f610e96565b8161242c81610483612712565b612462576040517f9925908400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f83815261335f6020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020805460ff166124cc576040517f090daa9100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f84815261335f6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551909186917f49e43845376b004b5c6ea76194d6de04333118e0f6c9c068f657d3a32cc5b33a9190a350505050565b5f54600290610100900460ff1615801561257157505f5460ff8083169116105b6125fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610cbf565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001660ff831617610100179055604080518082018252600681527f576f726c647300000000000000000000000000000000000000000000000000006020808301919091528251808401909352600583527f574f524c440000000000000000000000000000000000000000000000000000009083015261269e91613e17565b6126a782613ec6565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b5f610a5a82613fc4565b5f61271b613fce565b905090565b5f828152609760209081526040808320838052825280832073ffffffffffffffffffffffffffffffffffffffff85168452909152812054900361278f576040517f74f8519400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152609760209081526040808320838052825280832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832083905551909184917f15b346905c3358a4c6206e8d53796ff94c13e1acfeb566d58ba34274033fe78a9190a35050565b606061280189612dad565b6113888561ffff161115612845576040517f9a5b7c1b0000000000000000000000000000000000000000000000000000000081526113886004820152602401610cbf565b5f82900361285d5761285889868a613060565b612870565b61286d8989898989898989614091565b90505b98975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8086165f90815261604b60209081526040808320888516845290915290205416801580159061298c57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561291b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061293f9190615b05565b73ffffffffffffffffffffffffffffffffffffffff16148061298c57508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15612a545761299a8761422f565b73ffffffffffffffffffffffffffffffffffffffff82165f90815261604c6020526040902080547fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff93909316929092027fffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffff1691909117780100000000000000000000000000000000000000000000000061ffff871602179055612d39565b73ffffffffffffffffffffffffffffffffffffffff811615612ae55773ffffffffffffffffffffffffffffffffffffffff81165f90815261604c6020526040902080547fffffffffffff000000000000000000000000000000000000000000000000000016815560010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b612b247f000000000000000000000000e81771b732e623ae1b7e09f72c09f8c300378b2073ffffffffffffffffffffffffffffffffffffffff1661427c565b6040517fc4d66de800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301529192509082169063c4d66de8906024015f604051808303815f87803b158015612b8e575f80fd5b505af1158015612ba0573d5f803e3d5ffd5b5050505073ffffffffffffffffffffffffffffffffffffffff8681165f90815261604b602090815260408083208985168085529083529281902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616949094179093558251608081019093529082528101612c1f8961422f565b63ffffffff908116825261ffff87811660208085019190915273ffffffffffffffffffffffffffffffffffffffff8b81166040958601528681165f90815261604c83528590208651815493880151968801519083167fffffffffffffffff00000000000000000000000000000000000000000000000090941693909317740100000000000000000000000000000000000000009690951695909502939093177fffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffff1678010000000000000000000000000000000000000000000000009190921602178255606090920151600190910180547fffffffffffffffffffffffff000000000000000000000000000000000000000016919092161790555b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16887fd6ac66cf5ef5678b17b10f8b48c2765185f4f2b139842894bc5e7fce2aff9d2e848887604051612d9b93929190615b20565b60405180910390a49695505050505050565b5f8181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16611088576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610cbf565b73ffffffffffffffffffffffffffffffffffffffff8116612e84576040517f1d7b9e2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152612f77602052604090205473ffffffffffffffffffffffffffffffffffffffff808316620100009092041603612eea576040517f2acbabd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152612f77602052604080822080547fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000073ffffffffffffffffffffffffffffffffffffffff8616908102919091179091559051909184917f815a7b07588e7ea8e1215949a7ff4e6b7ad525fd783567ad41ca1093dde1c1219190a35050565b5f81815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091558190612fc982611484565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61301a82825f61430c565b60405173ffffffffffffffffffffffffffffffffffffffff82169083907f1f0f31fb98449c6c6d9042af0dad644b67c406b4bc9996b2581c77c0108cba48905f90a35050565b5f83815261335f6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166130c9576040517f090daa9100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152612f77602052604090205461ffff1661ffff168261ffff161015610aad575f838152612f77602052604090205461ffff166040517f55320e0000000000000000000000000000000000000000000000000000000000815261ffff9091166004820152602401610cbf565b604051806040016040528061314b8761422f565b63ffffffff908116825261ffff80861660209384015273ffffffffffffffffffffffffffffffffffffffff8089165f818152615e5786526040808220938b1680835293875290819020875181549890970151909416640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000090971695909416949094179490941790555187907fea85788422f4b4e71907159b221a46645cb0e9c8ade05637904689e1c15e093190610f5b9087908790615b61565b6040517fd7e493c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b335f90815261604c60205260408120805463ffffffff7401000000000000000000000000000000000000000090910416919081906132a4845f908152612f77602052604090205473ffffffffffffffffffffffffffffffffffffffff620100009091041690565b925073ffffffffffffffffffffffffffffffffffffffff831661332c57835f036132fa576040517fef05ec8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f895e1a5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8054612710907801000000000000000000000000000000000000000000000000900461ffff168602049150509193909250565b8273ffffffffffffffffffffffffffffffffffffffff1661337f82611484565b73ffffffffffffffffffffffffffffffffffffffff1614613422576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610cbf565b73ffffffffffffffffffffffffffffffffffffffff82166134c4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610cbf565b8273ffffffffffffffffffffffffffffffffffffffff166134e482611484565b73ffffffffffffffffffffffffffffffffffffffff1614613587576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610cbf565b5f81815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610aad83838360016143c8565b5f5b81811015611f025761369b8484848481811061368157613681615aba565b905060200201602081019061369691906154ff565b613842565b600101613663565b73ffffffffffffffffffffffffffffffffffffffff8086165f90815261623f6020908152604080832093881683529281528282208683529052205463ffffffff168015613753578473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16827f0e2d557782991164095499aab37a3d8177adfb1f97fce0a12f8d7b49466336b38760405161374a91815260200190565b60405180910390a45b60405180604001604052806137678961422f565b63ffffffff908116825261ffff80871660209384015273ffffffffffffffffffffffffffffffffffffffff808b165f81815261623f86526040808220938d168083529387528082208c8352875290819020875181549890970151909416640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000090971695909416949094179490941790555189907fcc129567ae9a8e3c55e1ad3156090375e3c062bbbfdb78098a15bdf158a73b2b9061383190899089908990615b7d565b60405180910390a450505050505050565b73ffffffffffffffffffffffffffffffffffffffff811661388f576040517f1d7a89cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82815261335f6020908152604080832073ffffffffffffffffffffffffffffffffffffffff851684529091529020805460ff16156138fa576040517fdbd1a8d900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117815560405173ffffffffffffffffffffffffffffffffffffffff83169084907f1f2c9050d0cb7496cc1729c2ab051bafda1ebc461ce72e3505e2c3ffe18678bc905f90a3505050565b611088816143d4565b5f8061397e83611484565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806139eb575073ffffffffffffffffffffffffffffffffffffffff8082165f908152606a602090815260408083209388168352929052205460ff165b8061224e57508373ffffffffffffffffffffffffffffffffffffffff16613a1184610b7d565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b613a3c8282600161430c565b60405173ffffffffffffffffffffffffffffffffffffffff82169083907f7ff28266011814b6ef705d4afbdc5acdcfc98bc4121ff51fa9e8b38dfdc7c4b9905f90a35050565b60605f613a8e836143dd565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613b54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610cbf565b73ffffffffffffffffffffffffffffffffffffffff8381165f818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b365f80375f80365f845af43d5f803e808015611b6c573d5ff35b6040515f903090613c40907f844b71a30000000000000000000000000000000000000000000000000000000090849036908790602001615b9f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052613c7891615c09565b5f60405180830381855afa9150503d805f8114613cb0576040519150601f19603f3d011682016040523d82523d5f602084013e613cb5565b606091505b505090503d5f803e808015611b6c573d5ff35b6060610a5a82611ec6565b61ffff821615613ce757613ce78383613d5c565b610aad8382612e37565b80515f03613d2b576040517f446150f300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f828152612b8f60205260409020610aad8282615c68565b611480828260405180602001604052805f81525061441d565b6113888161ffff161115613da0576040517f9027b87e0000000000000000000000000000000000000000000000000000000081526113886004820152602401610cbf565b5f828152612f77602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff8516908117909155915191825283917f7fe5681e1690fe17cf4e6eb3ab89d245aefd82ebcbdb10922d9a19c92a64df31910160405180910390a25050565b5f54610100900460ff16613ead576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610cbf565b6065613eb98382615c68565b506066610aad8282615c68565b7f00000000000000000000000000000000000000000000000000000000009896808110613f41576040517f0143c8d30000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000009896806004820152602401610cbf565b6166275463ffffffff1615613f82576040517ff9df0dd900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613f8b8161422f565b61662780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff9290921691909117905550565b5f610a5a826144bf565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f1681148061405e57507f000000000000000000000000762340b8a40cdd5bfc3edd94265899fda345d0e373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b1561408e57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90565b90565b60605f8080806140a386880188615d80565b9298509296509450909250905060018460018111156140c4576140c4615a8d565b146140fb576040517fa5d981a000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61410483421190565b1561413b576040517f58c8ca2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6141484262015180615dfc565b8311156141915761415c4262015180615dfc565b6040517f730a2276000000000000000000000000000000000000000000000000000000008152600401610cbf91815260200190565b5f7f71ad9c201ccd16fb90391f250c879758fe5ba86fc78ced782fdf1b540a1784418e8e8e8e8e8e8c805190602001208b6040516020016141da99989796959493929190615e34565b60405160208183030381529060405280519060200120905061421e7f00000000000000000000000037669abc021355f8b271fe60d67765e1fbe27ada828585614514565b505050505098975050505050505050565b5f63ffffffff821115614278576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526020600482015260248101839052604401610cbf565b5090565b5f763d602d80600a3d3981f3363d3d373d3d3d363d730000008260601b60e81c175f526e5af43d82803e903d91602b57fd5bf38260781b17602052603760095ff0905073ffffffffffffffffffffffffffffffffffffffff8116611ef1576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f838152609760209081526040808320838052825280832073ffffffffffffffffffffffffffffffffffffffff8616845290915290205460ff82161c60011615614382576040517fbdf15e9000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f928352609760209081526040808520858052825280852073ffffffffffffffffffffffffffffffffffffffff90941685529290529120600160ff9092169190911b9055565b611f028484848461458f565b611088816145e5565b5f60ff8216601f811115610a5a576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61442783836145ee565b6144335f848484614819565b610aad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610cbf565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f49064906000000000000000000000000000000000000000000000000000000001480610a5a5750610a5a826149f3565b5f61452861452185614ad5565b8484614b1c565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e76576040517f3d20eda800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416156145e0575f828152616a0f6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b611f02565b61108881614b46565b73ffffffffffffffffffffffffffffffffffffffff821661466b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610cbf565b5f8181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16156146f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610cbf565b5f8181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615614781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610cbf565b73ffffffffffffffffffffffffffffffffffffffff82165f81815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a46114805f838360016143c8565b5f73ffffffffffffffffffffffffffffffffffffffff84163b156149eb578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261485b612712565b8786866040518563ffffffff1660e01b815260040161487d9493929190615ece565b6020604051808303815f875af19250505080156148d5575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526148d291810190615f0c565b60015b6149a0573d808015614902576040519150601f19603f3d011682016040523d82523d5f602084013e614907565b606091505b5080515f03614998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610cbf565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a020000000000000000000000000000000000000000000000000000000014905061224e565b50600161224e565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd000000000000000000000000000000000000000000000000000000001480614a8557507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b80610a5a57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610a5a565b5f610a5a614ae1614b83565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f80614b2b878787614cb6565b925092509250614b3b8282614d01565b509095945050505050565b5f818152612f776020526040902080547fffffffffffffffffffff0000000000000000000000000000000000000000000016905561108881614e04565b5f3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb716148015614be857507f000000000000000000000000000000000000000000000000000000000000000146145b15614c1257507f65a32430f43688a48cf6678cba9deed6cc89cee7ff625d87df1ea1c1b773cbe890565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f62c3779c5abe1883445356f07c79aef0dd2efed8082847ba5f6041a0ef8877b6828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b5f80807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8416601b60ff86901c01614cf088828985614e24565b945094509450505093509350939050565b5f826003811115614d1457614d14615a8d565b03614d1d575050565b6001826003811115614d3157614d31615a8d565b03614d68576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115614d7c57614d7c615a8d565b03614db6576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610cbf565b6003826003811115614dca57614dca615a8d565b03611480576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610cbf565b5f818152612b8f60205260408120614e1b91614ff2565b61108881614f13565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115614e5d57505f91506003905082612134565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015614eae573d5f803e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116614f0457505f925060019150829050612134565b975f9750879650945050505050565b5f614f1d82611484565b9050614f2882611484565b5f83815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4611480815f8460016143c8565b508054614ffe90615a3c565b5f825580601f1061500d575050565b601f0160209004905f5260205f209081019061108891905b80821115614278575f8155600101615025565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114611088575f80fd5b5f60208284031215615075575f80fd5b8135610edc81615038565b73ffffffffffffffffffffffffffffffffffffffff81168114611088575f80fd5b5f80604083850312156150b2575f80fd5b8235915060208301356150c481615080565b809150509250929050565b803561ffff81168114611ef1575f80fd5b5f8083601f8401126150f0575f80fd5b50813567ffffffffffffffff811115615107575f80fd5b602083019150836020828501011115612339575f80fd5b5f805f805f8060a08789031215615133575f80fd5b86359550602087013561514581615080565b9450615153604088016150cf565b9350606087013561516381615080565b9250608087013567ffffffffffffffff81111561517e575f80fd5b61518a89828a016150e0565b979a9699509497509295939492505050565b5f5b838110156151b657818101518382015260200161519e565b50505f910152565b5f81518084526151d581602086016020860161519c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081525f610edc60208301846151be565b5f60208284031215615229575f80fd5b5035919050565b5f8060408385031215615241575f80fd5b823561524c81615080565b946020939093013593505050565b5f805f6060848603121561526c575f80fd5b83359250602084013561527e81615080565b915061528c604085016150cf565b90509250925092565b5f805f606084860312156152a7575f80fd5b83356152b281615080565b925060208401356152c281615080565b929592945050506040919091013590565b5f805f805f608086880312156152e7575f80fd5b8535945060208601356152f981615080565b9350615307604087016150cf565b9250606086013567ffffffffffffffff811115615322575f80fd5b61532e888289016150e0565b969995985093965092949392505050565b5f805f805f60a08688031215615353575f80fd5b853561535e81615080565b9450602086013561536e81615080565b935060408601359250606086013561538581615080565b949793965091946080013592915050565b5f8083601f8401126153a6575f80fd5b50813567ffffffffffffffff8111156153bd575f80fd5b6020830191508360208260051b8501011115612339575f80fd5b5f805f805f80608087890312156153ec575f80fd5b6153f5876150cf565b9550602087013561540581615080565b9450604087013567ffffffffffffffff80821115615421575f80fd5b61542d8a838b016150e0565b90965094506060890135915080821115615445575f80fd5b5061518a89828a01615396565b5f805f805f8060a08789031215615467575f80fd5b86359550602087013561547981615080565b945060408701359350615163606088016150cf565b5f806040838503121561549f575f80fd5b82356154aa81615080565b915060208301356150c481615080565b5f805f80608085870312156154cd575f80fd5b8435935060208501356154df81615080565b9250604085013591506154f4606086016150cf565b905092959194509250565b5f6020828403121561550f575f80fd5b8135610edc81615080565b5f805f6040848603121561552c575f80fd5b83359250602084013567ffffffffffffffff8082111561554a575f80fd5b818601915086601f83011261555d575f80fd5b81358181111561556b575f80fd5b8760208260061b850101111561557f575f80fd5b6020830194508093505050509250925092565b7fff00000000000000000000000000000000000000000000000000000000000000881681525f602060e060208401526155ce60e084018a6151be565b83810360408501526155e0818a6151be565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b8181101561564057835183529284019291840191600101615624565b50909c9b505050505050505050505050565b5f805f60608486031215615664575f80fd5b833561566f81615080565b925060208401359150604084013561568681615080565b809150509250925092565b5f80604083850312156156a2575f80fd5b82356156ad81615080565b9150602083013580151581146150c4575f80fd5b5f805f604084860312156156d3575f80fd5b83359250602084013567ffffffffffffffff8111156156f0575f80fd5b6156fc868287016150e0565b9497909650939450505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f67ffffffffffffffff8084111561575057615750615709565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561579657615796615709565b816040528093508581528686860111156157ae575f80fd5b858560208301375f602087830101525050509392505050565b5f805f80608085870312156157da575f80fd5b84356157e581615080565b935060208501356157f581615080565b925060408501359150606085013567ffffffffffffffff811115615817575f80fd5b8501601f81018713615827575f80fd5b61583687823560208401615736565b91505092959194509250565b5f805f60408486031215615854575f80fd5b83359250602084013567ffffffffffffffff811115615871575f80fd5b6156fc86828701615396565b5f805f8060808587031215615890575f80fd5b8435935060208501356158a281615080565b92506158b0604086016150cf565b915060608501356158c081615080565b939692955090935050565b5f805f80608085870312156158de575f80fd5b84356158e981615080565b935060208501356158f981615080565b93969395505050506040820135916060013590565b5f805f8060608587031215615921575f80fd5b61592a856150cf565b9350602085013561593a81615080565b9250604085013567ffffffffffffffff811115615955575f80fd5b615961878288016150e0565b95989497509550505050565b5f806040838503121561597e575f80fd5b8235915061598e602084016150cf565b90509250929050565b5f805f805f805f6080888a0312156159ad575f80fd5b87356159b881615080565b9650602088013567ffffffffffffffff808211156159d4575f80fd5b6159e08b838c016150e0565b909850965060408a01359150808211156159f8575f80fd5b615a048b838c01615396565b909650945060608a0135915080821115615a1c575f80fd5b50615a298a828b01615396565b989b979a50959850939692959293505050565b600181811c90821680615a5057607f821691505b602082108103615a87577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215615af7575f80fd5b813560038110610edc575f80fd5b5f60208284031215615b15575f80fd5b8151610edc81615080565b73ffffffffffffffffffffffffffffffffffffffff8416815261ffff83166020820152606060408201525f615b5860608301846151be565b95945050505050565b61ffff83168152604060208201525f61224e60408301846151be565b83815261ffff83166020820152606060408201525f615b5860608301846151be565b7fffffffff00000000000000000000000000000000000000000000000000000000851681528284600483013760609190911b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166004919092019081019190915260180192915050565b5f8251615c1a81846020870161519c565b9190910192915050565b601f821115610aad57805f5260205f20601f840160051c81016020851015615c495750805b601f840160051c820191505b81811015610e76575f8155600101615c55565b815167ffffffffffffffff811115615c8257615c82615709565b615c9681615c908454615a3c565b84615c24565b602080601f831160018114615ce8575f8415615cb25750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561158e565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015615d3457888601518255948401946001909101908401615d15565b5085821015615d7057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b5f805f805f60a08688031215615d94575f80fd5b853560028110615da2575f80fd5b9450602086013567ffffffffffffffff811115615dbd575f80fd5b8601601f81018813615dcd575f80fd5b615ddc88823560208401615736565b959895975050505060408401359360608101359360809091013592509050565b80820180821115610a5a577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8981526020810189905273ffffffffffffffffffffffffffffffffffffffff8881166040830152871660608201526080810186905261ffff851660a0820152610120810160038510615ead577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b8460c08301528360e0830152826101008301529a9950505050505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261123860808301846151be565b5f60208284031215615f1c575f80fd5b8151610edc8161503856fea26469706673582212201170f8e4cbe2595579ea1cbbebef2fcb8f636233dc52d624f84485c94eace32864736f6c6343000817003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e030135208d77b58b1a1337d070b12ab42107f9cf07a27cd9e3acf789af600701195f5d03f6cda7d4efadabae3b1e8b9500e7f751c7c69ad57639f70aa209a1df31bb2c6f05581e0309a8438026c2540d820c2f0fc56b7293244058cac58fe4d3c2dd579440040205581e030db3d97e721825dcc849aa35a20cc7497133c23146dede0f73ed3384e00c0147108e9623a35b5d0313275c30225b152398673f4178ac9bd92e427f2f8ea01e721ab442269c73d51c037c165fe655a0746c4defed02d8130829d55921c7c475b7bb3a2f9e842119405a03f992a0e86176eb40c42b06b2fd474567d512e1ccc937a78ed7ecbf6dae73647f05581e039767a461ee963b4d1847cf5f6729717c7acfb6d721323dc1b5defc2b100c0346a8001e73252802197d53038ffc103b1bb17e1ec37e0a78a73dcd4549a41f5aa271a683617b2eb01fce7ae303f1ff75fa3b346dc896a55ea1c50091f09450d84f6211901b2631a54362eb545d035335d679bcaecba4cc075a95008f990e61176c54af64c18987f199a1e572beca037b9f550b18fb1b7e87f8d81886924e85a4d15f4152f739a97d4e5f9f1632abc503def56ac7f643afba93ed564796a082ff3fdf795d37c203530c120b68ebcabee20376352427a5897cf58161cb2fe81026275f36f138c70db2e53171a564892a7cc4033362b791bc58b25780b65c64899069a448e0e2e34cdff793cd810f5001b2077a032ac60f8e48a41842a3c1ad399012f97861728d01abc0e4cdfd6a089bfe0e9c700219ffff0370dc3e9b7f7f654ab7f5a3ab7929f9f16c6365f03ed60ccde602da923e340ecf032008ca89f2e491723e549708930d4920cf4131378f3f0e83e0de98fcf0c1116403908ffb469ff03a25fa21375bdfb673161177e653dff766a20879f5019c77526b03dc03d03d285884c0c1b02f3b29d7f9a846d46de9ffe5fe34a98dbabba924e4b9038db9d9186941b58f869feb89566c8ff6f59f1e2f1bf117f1bd743d65103d6d1e034c7497bd200cae30990672b985850eaeffc0379774e825e31e51d17df86fe6f703578b32257de46d5d6962e9a6dcc3114a96ba0101e73d1feb1ddb53b1c7594c8b0219ffff032ed4e3c4dd2d97730ed00fe441fddac05be06721b11408fdbf42271e3aed106b030022adfc06c5765253f188a5d6b4c5a8b6f680a3ac17200e1f959335f09ac37d0383fb8733cf15983c0b40aaaef6c1d6510820e70e1228a0424318ca4f7b763b1103113b8d21cb7b1fd0f8cd632bda9f4652637b126385dfa967ec1a6e2316bea3d40317059ed7fc7a2fe028f3b59ce79b7f8e0ab4078116b219ba144613912791ac8603784ed947244726781afd57085236d5986754fea5f730c986aa511459023713ee0351951a5ae2ca9b488f36da4ad0d09d3404c0995337d31e1de1c56565c5c153ab03517473570f72e6536c351eae8658b199bd42f896e3bb0517486f7f0eee6921ea037867f00e5b76ee294d8fdd01208eeecb35f4562159881caecf0a9efe72167b6203ac2fceb5e91a3df6ea26f242b08f636e92ea9c8e177931095d767ec61dd5443203415b12653da55625fb6974b229feab1992b256eb3006d2d08a1b594d8901e3e10339d8173612ed25556e00f19247f3e3c88e1ea5862b5c5683af065df633593c39036812577836cf3d32b9bb5469cf87ec55a8cc17726e21ba8cb293803b437b137b03334ee1b89ef9d411c0db98e8cacf24225ef744b42f76b8ae631f091d93c31cf0039e7dba5dd708dbdaa1c3a3120a08f58fd93f2d2897ca55fcce7a6ceba78afc0703d04fdc7896a31a995b130eee50b961f36a84a7d0cccadcbaf1ae0c12a312afaf03f31d4312e46a12bb3889b23b948b4e8e89e80ce6746d6a47568e41224eb9532d05581e03add0291c2bf4fd705d9a6287fca68d3c26a091c1a82be64a30d4ce92d00c014710d9c11913960005581e0327b3c2e23464b898e458e8e892986acfb4f1ee3a0b0dd9b5173ac4c0200c034733af7769f813300379e7f887fca92c76bc2e7d8b5cb184aa1894f52dd8b4a80fbb5b8f0721724e0403a9852573e65c6d2a296f677d38743658dcee84b64f8b88032486086ed1ebe5cb05581e03d163a92674e70cc5b739de3df9aa906d92d0edcf5d2e54c681938e32f0040105581e03adc135330d16def99132ed914893dab39071563712f5b444e079ad68800c0147031b441368e6e005581d02b7b7e187944590c7538fc0c2c1d728c1c1e2bfa55bffcb24f808d3590c01468f3ed38d580005581d02ad1f1cdd0616551efedc55f5138debf43ebb583d482532f01e8ee3240c18b04803c8d4b0804d198003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02c47673776cf51dbeddd9e7590af161f9196ba06c666f4c9829b6ebe407011bffffffffffffffff05581d02399b56d269bb5e795cccde4461a29ed265855431dce68c04c64fa0120c07466b680b9f087102190a2405581e03ce312e599e05ffd105673eadea2788339d3508e6d18b6f5e9a520107e00401037a6fef7e804c0dee8f4ca3cfa51b354243aee91bf7b4f6bdfb522eba0db1d1aa01410605581e03545713881db4dc77273041b34b645584daad6851a487f94bb677c581d00c014721d2e870e8c400021947f903ff2018954632935d99b0cd6cf02dc3174365114bca8349d8ed8c946416b984e503c8b52a9af32f626d30c3afab2113055881896b7bd1acf2f3d9169eeb14fd5451036f1fbb22cbe332308484f5d1ae36c3096d71563dbbe7f56b00200e907741709c0354954ace76c7b15d82428061a1e2e19beb005b0a998e4b079adc6095777e17f503fe78c7dad421a64ed50cfb1ef5cf0b52d0551005d2818899a203afe4cceccaed03c630443e5d128a18d5cf69bf0b9fa892dd8f97dc32ea7d4ce1de89fcee97720f0219ffff038a35cb5e4ee846fa364a7c47532b080a9238b0ed729f6c44e7a2736daf840c92034c0fde2284a30e0c4ed018bcbd9cd0cd36249a0fc96974782c1d876054485b7b0311bdf3610a7a3cf18b32d2af8a49704d6a9ea5ed7259dde4ccf9eba7e9dee10403c83db247e5e21607f9f1ac06b85acf5171e7f2adad6706d1759b0143c3b88191035232d8ea0fc65a25321fd64c3fb7caaf606c4323200e8069a20a23cae4bb0418038b809831f95018d6aa894d71e35836d00c0ca32ddf69c83c9530e6e01d3508a103ded9fed9599fd9f788f5ede66c9b61a3be723a504d4b6213b1b80968e8d82c4d03f5670ac370a30a985a6d2c1c5baa776d8f607e6e4cd210f2bc0ac477c25a298f03a0b57a3552d9afebdf1867851c98139e5e83cb3344fbb35533a3e8ef6ea7673303c117f68238238626a7d43a4dec776c597dfcb7b0fe700ec9d5a087af9667a14b03a3ac43b9cb44c2b7d53babb40ed12a4c3a24da20f8dfde0a1fd35a718bd682750219ffff03bcdeb91c1fa6987bf411199b8a58730d4f15b6a5fd01a3ac2c79358a7f2c4d2603d6a4752344f281d0e199ebc8153dad08dd56d82ce83d5deb2d911a7a4252570d03f19d423a8ca6d4a99bf0d9924b196e8ddde3c7d6a2f3b1957c73f4b968fde0d503039be96b1d51e8d8cfc79ee6fdc71183f4253e26659d0661f94ebc32e2c5cfa40337047295363e8ab216a8db95d2f29d59e7f24d2b61953ac974db8c70a0a4f527035e3160585d394685d8e8e65f5f904c0212cdf33a80b9f6ac231404d042a97d49031d29b01cf37a82524b0ac5fe8264585bcc865b07161e80d20cea55ff275d100f03aec8ce491b08b123434af095567b7ab9d16d5e427f8a9e24967e66b58dddaae203e807bb6b4bcdbac356316e65c7ec59f8f9f624ae800ac91078e6f06f22ce60e303ed06b5ef92a1400fd1d6bef74f6d7c32ab88327c86c2d7587deb2b6b084ac4a90219ffff0359387104aaade62581530d00d123f062e7c1f538d78a10ae4d1aa4eb5d5bbb1d0219ffff039eba5bbeee5836e1dd2fece58d67783b877473aab44318f385cb74f888e6d14303dbcfebd9f4a53c14cf73bff42f444a56e647cbfdbc6e0e768ddbf98820c4458e0307d2a054be9de681a217ecac645771699aa5033bd075ca3decfb09d3ed2b6fc403ba864cb4486defede51fbfec1abc4f63bfa58cb260ec6f3b006f8c5696a951b0034b49b00ec41387a92465a09b892f657861be1c2c51ff6c3b7d1a793566c6b56f03ac1f8a37e7a08c8bce4f69e980b56dfe364c2cb0c14248203d8dc575ca7a89ba033067e4e4dcfead2186f34cbd88ded6d19cea6ca680f3f0548a9076e4bddd59b103e90ae0adfe135ca296c1ca491934af784230471f674f68c8b93a4a3d007203c303e2a6fd5be84e32ac14ef71cf5f534d7debba1d382f6c8d04ed3f732f0089b53e0326f05c4188af22e2c50622dd99b237c337e38ba9c66b5151a22f65f9832ff0ad031f8c0b004cc996bab6c26ec32c6b41aef51a71d62c393b0649b1cd1e4b328087031bc706fad86e5a9b7e9faeaf43f785b10b7835d33748498200cc3eb5d8ed37a103d3ec102d7d35e088f95ebbd6a39bb2e233b0bca8f30ccebfbcc9c762fab16d1103dd0987270a04a71bdc518cb36333e85b2b1482f711479033f8cea3a30430cf3e032ee1c01cd99849750a84e511c7b51720c9a75d924feb182928d600e56dbf5f36036f6fd820a2e4d9638b340c3ab042c36caa0608818daf5c548714b3273ca04acb03fd7218ffccb1684598f9fc2c082794ac4ceeff78bf85416d11c1e2842da5c79303dca7b903ce048856cafb91a34aac19dd3af434bf988b610ccc4ee7b2d2cecddd03a8b88ea218cf1c99d365d27ca7f00e88e9b531b1036b0549bd3adc25adaf839b0399899ebecbda4ee525dd24a6348062913f164d1e91338ce968951bdd4b3e6ef80354414563f1f6b2cbe30f277111f192ff67d51c84b5efa116a916a72848e0973a03f5bda483dccdacfb3c5785851bc2f5bd243e13e23c112c7e6ccca50a986ef4b003350e5c3aa9f68686856bbdcc43ff55a960678406e94cd773047def014fedee7a03ddb78712a0da82e8484731c9c5e4e6826b6c576a04d8c8def8a62d3e9f76682703e14f4c7b5134cf85498597d430228c8aabcc86f4fcc2c5f5caaafb209c7dbd5f05581d027d0c11d8eec4b7fe2f2b771d574211ab6c96958b9236de274100f2fa0c19243e490113e98001ae45db0a05581d02da68e2cb25039d07ea6b5f3f579025cce2b8181deab87745d497279c0c154705d1651784460005581d023a1c9f512120edbf3f98c8eb523e7e5f7f5b1580447fad631d16e75704010219302005581e034e4b9fde7ded5913662c777964d8a9e3841ececa9878e3c6d5350ffe70040405581e039ed5ab524684cfdfbcf023bfb9682d0ad09bbc4a6056152ccaa2eb40f00c03470412343f844649032632c7db7e3c67cf07b283cee1ba4ea42b45448cc4c2eff8d41669f14048bda205581e03850cac4f9375f1bce1544e0dde3b7ccbda423e986d9f797d3aef46ca300c0147065d1b04236e78031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03528df97815a43b22ee3a18d90a8108b0e63e19d34cd08d94a916e568c007011bffffffffffffffff05581e031bb6dbafa984f56c8ebea269014700f726e2aebdcb6727c3297ca3e6e00c0147106fbc5b14e00005581e03a8383c08e0056571c8af7195d2ec0f7dd142a5441b6ced7d81a40442e004010219caa6032ddc3b6fe871dfc3ace68ef91c98f27e0ad6ba70caeec16b5b99b3adc95f6c4d03935145643090bc4252d5d438ca817884cd8d8bfec76a40fe3891c2f3f57e6bac03d07749794720af668a3cbed9b4ff9c73274bb73cd189cd217f78cc309fb67f9803f4844155ee76d57f7704e783acba9ff6417850a72019e77492ed33492b7fc13303584558a35cb52fae6cd1234240d58ef992ff81a5e9394c06b68a5b445047fa250347abbd4c27a8f6f2a56c1108b1537c6880a66bc35cf0dda6988028d1e32ef0d703fed8f7e2f6c0bcc332a5e5ea73a4395426be08c7c71938514e76b519dd1383e103a9097c84526c7ce2b095bc82b347fa0a66044dac6182a594c389f70b9de3579a03fabe8ebe5450fec79b264b6775139225380c3513c91f0f870ba9ca7f6276ce6d039678d4a8f24cf7d91c8a5cdc1767dfcf7ef7f8c763714232556efd84a82f459703b9b12a19f8a180aad1db471d6160f7ac0e336dad72d8a6dcfae5f9ade8ff202a0219ffff03246abbb21869207700b7ffb246a6c6afa35c682977b132146454cec6920c5bcd03ff845318c1b36b60cc9915da0468539ae532f4264eb3fe791560184a82f509ae03123f80d3f2e9f982d83bb18b994c70c917c13d58986db2d21ae317e326ab80db03aec8512d6606d4d0224340bcbeb59bf66fdd94b23ef3b1b842fef2a3cdd47f270398bb4b6533979af5901f7e0c71f8228a4f4121b5670e9e22e05e1dcd0e75d61303c6864bcd26eb69d3a8d81adfde6cef59caf27b7262802dc7572308c9f07857c403c79b00e13ec69feb6f1f85ba0fc7d157cabb772ac4111577123d6a50a5ad5a7a03baa18f935f356a731078cec0d559044a24c0ef562ee019147ab78e6f85b1784803dd20916466b1808ccdf7a51b13de75fbe23f70810a11a0f9e472c2475ecbbb450219ffff035532eda34cee6bf35fca2c23c1daf7be345e37f1cf867176a100d1206841f6da035114fd8c29091600a0208c652ee8bfb67126ccd8d63a06e7d701748c223c6554038d6a3231f31d263bdaba11aa88ea9695fbb01a577d5678954cb8d4a1c284b2b803407c2c909f26ae66d575fa09f2d25376f78ce807059fa02ae4ca7160ee1a236403bd4577b3dad7d24fc8cb2fc573b91fac8b553f26266cd38afb0b321a94dcf94a039f95b7310821e7f5f2cc384a4d8f4f17491e5e6e3438aba1dfd00a7d309424b0035032a9047081f19e40a2f3560b794fc169f73ab2b76278f78efc8ec50b0e1bb303547f48ab8b0b83bae9dd2f49bd27689def030239ac0fc70232dc0c1ef9bb393e0219ffff03b4fd389cb726ac7a11520176155d1beed47a347fad5f66962bbffa03ff087ce303d277cfa0d6c9d5ec6088cfa9907a957ed66e1a7b8c3888775045e9a67d159bd903e5df9a7121df888e49764bac897f8e48ee20b4ae7a225b689686add46cdb3231034dd66f3fc992abac9805aa4111573d04b23a93c4035bbe37bb0e6e4ddea065400383d2d75cd1359be9b6743ee953e329bb06f623089c772f21dc7dbda0fb0188d503038ea8c942b4b7d8bc526cc8f7cd22604f16d55b7559c35c95d3b4efd925659703c2d94b3706441e3042db2948c870900839dd7965486095bf5eaee6acaf2bd6290219ffff033e8e72364dd76b4e8af200c5b999d3ec4d97553be144b081ffd02ac3ca6a09f1035408727f3e1b8fd76fa9df21086c659eee0824f2b965dfb9baea4a92814a48690395b80891e741eccc61a63c1a526af4efa1db544d1951d2f9b6556f5428b5352d03514cade3be89dad1a5a95bafd572c4acc71c231e89a97822d7578041b620cc0d03e203164c009e2aa29236325a128bdf00f366f0bbf7e9b7005b34d503dbadc70703580256782571f075f7a92574d0bd693a14711c21f2974a9c7a9ec4079ff54cfe032321965bc0a14dad4fd6152a87e155e8dce1860877060ef3ecd578dd41e8de07032b2f526a1aa003bf882a9a0903553a43b67806ce3c77f8c036d6524cffb1dde303de297e57468b79fab1552bbb6306910c43d9f071537a6548034efbeea71937240374f4c631962977a2a76b9826a19b5cb9ba6eb7019fc279c7d3c9c4fa21d7747803a850b704e0faddde9ce103f522c157eeb92429219a082306a44ff8396d08e476032865d2518f607a456c34a528e8af4f59b133a6bd40271b56b9f2ee2c430074bc032c8ae30111852413f5f3a6afde6ccc49969ef4596bcf4dc2869f60118284927e032ecf636f2ac60c3d684edda8d5dce013e24ebd50ec0b199a128993bec2ddcdcc03f412e7e9f32e5e72f0051c11289da0ef97cca94a98ef3c8d9f697e890778bd7903c703583b1c87a28119c8316d6b56b05e103dbf290375117c0ebf314eef2f8349032f2bd8fee87dd5833b1697f652eb557d9e0d32c7bdc33220df28c3b006c3f93f035cb6d2d16f9e1b9db2221a81994fc697f3923ca8f303c498442eec6937d8a59b039f5ad2b5ec85f2f0168df9996808b721f5e200444aefa45e83eb0f3e15eb3f6303daa1d24958a7c4fd00a465d13e0fc8dda56440a34e604fb3be5b5fba9409738603b10152be3bdce6de83e2843935f94055162c23c0a99e4fe2a1bff6a7ad257a0b03946c987b03064c486fecff21a16a9a4f7f90eb73ad82544556804f0d44ad6a9603577eee0846af69bb3f09bb0c3ccde7f08e19f21017dac94d4904819627fca72b03d17cde6d0b9bcd286d75eb637fe590e8bd3fc713c5561babc95690639c744c7e03b1e96cbce9551c664d6e0c491737d49f72d21fcffc079ea456a18138585e427703e92c0bc1e85691d1dbf734b692743f9b21267d58637c016e8f89826d7c123f50038f46d1ca925f96a51df1600c433995f34be6cefe63829595551e51fb636f078d0392deb3fbf8401692b773d4bcc6ef6b35bfc119aad329af0a60445aeef63c8d07039306c6e2e1f8dfcb50a1210f53d6f28af7c69c9ce9c18a206abbeef1c60fc66803843d8c4a5c61f40b1cf5a946ef943546d260cbe612b26159ff6d86e484eb4679038eb55dc1fbf453f47dfeabba5380b37fd41ed3dd508659b5521b729734c3ad1c033c9cd1e659fc8206270614e32d54ce449e63fac40b9095fe36d0bd31c510b6a6039b8d86891c7187c0c85fa953a0e42e9b93d7b0ffd343cd7ab0b3740a0807647e03ce2470f1ca5238cc43ea1ae13235d669267d435500750aff03fa3fc636a3839905581e03b2f96aac12804d156f25ea2d5a222cade1c9f0cc73b49792a98be830300c024702ce80355f6001030c844b3e84c95827e936b5bcfa8013375dd7468bf42deb73633f857eab6036df03dd86569efd83a8a3c806525f5f9db414c8e9891e89e6101e5ff508e398b2664705581e032bdcd2d5a365008c3c0ed4cbb4d9dacadfa01e4a64356c9e67347af1900c0c4703f24d19f28a0805581d02e09065da3bb4025f484098f0d191dd22c3ed6d27ed74975d839c3fe7084202c7045951756080604052600436106102b25760003560e01c806375f0a87411610175578063a9059cbb116100dc578063c9567bf911610095578063dd62ed3e1161006f578063dd62ed3e14610ac3578063e2f4560514610b00578063e4a1b95f14610b2b578063f2fde38b14610b56576102b9565b8063c9567bf914610a44578063d257b34f14610a5b578063d85ba06314610a98576102b9565b8063a9059cbb14610934578063bae14e1d14610971578063bbc0c7421461099a578063c0246668146109c5578063c3f70b52146109ee578063c816841b14610a19576102b9565b806395d89b411161012e57806395d89b411461080e5780639c3b4fdc146108395780639fccce3214610864578063a0d82dc51461088f578063a457c2d7146108ba578063a72905a2146108f7576102b9565b806375f0a874146106fc5780638da5cb5b146107275780638ea5220f146107525780638f3fa8601461077d578063924de9b7146107a8578063953e0463146107d1576102b9565b80634a62bb65116102195780636ddd1713116101d25780636ddd1713146105fe57806370a0823114610629578063715018a614610666578063735de9f71461067d578063751039fc146106a85780637571336a146106d3576102b9565b80634a62bb65146104f05780634fbee1931461051b5780636323d7cb1461055857806366ca9b831461058157806368092bd9146105aa5780636a486a8e146105d3576102b9565b806323b872dd1161026b57806323b872dd146103ce57806324887e801461040b5780632d99d32e14610434578063313ce5671461045d57806335b5fb631461048857806339509351146104b3576102b9565b806302dbd8f8146102be5780630517d13d146102e757806306fdde0314610310578063095ea7b31461033b57806318160ddd146103785780631f7ea8da146103a3576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102e560048036038101906102e09190613999565b610b7f565b005b3480156102f357600080fd5b5061030e600480360381019061030991906139d9565b610c69565b005b34801561031c57600080fd5b50610325610d78565b6040516103329190613a9f565b60405180910390f35b34801561034757600080fd5b50610362600480360381019061035d9190613b1f565b610e0a565b60405161036f9190613b7a565b60405180910390f35b34801561038457600080fd5b5061038d610e28565b60405161039a9190613ba4565b60405180910390f35b3480156103af57600080fd5b506103b8610e32565b6040516103c59190613ba4565b60405180910390f35b3480156103da57600080fd5b506103f560048036038101906103f09190613bbf565b610e38565b6040516104029190613b7a565b60405180910390f35b34801561041757600080fd5b50610432600480360381019061042d91906139d9565b610f30565b005b34801561044057600080fd5b5061045b60048036038101906104569190613c3e565b61103f565b005b34801561046957600080fd5b506104726111a7565b60405161047f9190613c9a565b60405180910390f35b34801561049457600080fd5b5061049d6111b0565b6040516104aa9190613ba4565b60405180910390f35b3480156104bf57600080fd5b506104da60048036038101906104d59190613b1f565b6111b6565b6040516104e79190613b7a565b60405180910390f35b3480156104fc57600080fd5b50610505611262565b6040516105129190613b7a565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d9190613cb5565b611275565b60405161054f9190613b7a565b60405180910390f35b34801561056457600080fd5b5061057f600480360381019061057a9190613d44565b611295565b005b34801561058d57600080fd5b506105a860048036038101906105a39190613999565b611520565b005b3480156105b657600080fd5b506105d160048036038101906105cc9190613c3e565b61160a565b005b3480156105df57600080fd5b506105e86116e1565b6040516105f59190613ba4565b60405180910390f35b34801561060a57600080fd5b506106136116e7565b6040516106209190613b7a565b60405180910390f35b34801561063557600080fd5b50610650600480360381019061064b9190613cb5565b6116fa565b60405161065d9190613ba4565b60405180910390f35b34801561067257600080fd5b5061067b611743565b005b34801561068957600080fd5b506106926117cb565b60405161069f9190613df6565b60405180910390f35b3480156106b457600080fd5b506106bd6117ef565b6040516106ca9190613b7a565b60405180910390f35b3480156106df57600080fd5b506106fa60048036038101906106f59190613c3e565b61188f565b005b34801561070857600080fd5b50610711611966565b60405161071e9190613e20565b60405180910390f35b34801561073357600080fd5b5061073c61198c565b6040516107499190613e20565b60405180910390f35b34801561075e57600080fd5b506107676119b6565b6040516107749190613e20565b60405180910390f35b34801561078957600080fd5b506107926119dc565b60405161079f9190613ba4565b60405180910390f35b3480156107b457600080fd5b506107cf60048036038101906107ca9190613e3b565b6119e2565b005b3480156107dd57600080fd5b506107f860048036038101906107f39190613cb5565b611a7b565b6040516108059190613b7a565b60405180910390f35b34801561081a57600080fd5b50610823611a9b565b6040516108309190613a9f565b60405180910390f35b34801561084557600080fd5b5061084e611b2d565b60405161085b9190613ba4565b60405180910390f35b34801561087057600080fd5b50610879611b33565b6040516108869190613ba4565b60405180910390f35b34801561089b57600080fd5b506108a4611b39565b6040516108b19190613ba4565b60405180910390f35b3480156108c657600080fd5b506108e160048036038101906108dc9190613b1f565b611b3f565b6040516108ee9190613b7a565b60405180910390f35b34801561090357600080fd5b5061091e60048036038101906109199190613cb5565b611c2a565b60405161092b9190613b7a565b60405180910390f35b34801561094057600080fd5b5061095b60048036038101906109569190613b1f565b611c4a565b6040516109689190613b7a565b60405180910390f35b34801561097d57600080fd5b5061099860048036038101906109939190613cb5565b611c68565b005b3480156109a657600080fd5b506109af611d98565b6040516109bc9190613b7a565b60405180910390f35b3480156109d157600080fd5b506109ec60048036038101906109e79190613c3e565b611dab565b005b3480156109fa57600080fd5b50610a03611e82565b604051610a109190613ba4565b60405180910390f35b348015610a2557600080fd5b50610a2e611e88565b604051610a3b9190613e20565b60405180910390f35b348015610a5057600080fd5b50610a59611eae565b005b348015610a6757600080fd5b50610a826004803603810190610a7d91906139d9565b611f62565b604051610a8f9190613b7a565b60405180910390f35b348015610aa457600080fd5b50610aad6120b7565b604051610aba9190613ba4565b60405180910390f35b348015610acf57600080fd5b50610aea6004803603810190610ae59190613e68565b6120bd565b604051610af79190613ba4565b60405180910390f35b348015610b0c57600080fd5b50610b15612144565b604051610b229190613ba4565b60405180910390f35b348015610b3757600080fd5b50610b4061214a565b604051610b4d9190613ba4565b60405180910390f35b348015610b6257600080fd5b50610b7d6004803603810190610b789190613cb5565b612150565b005b610b87612248565b73ffffffffffffffffffffffffffffffffffffffff16610ba561198c565b73ffffffffffffffffffffffffffffffffffffffff1614610bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf290613ef4565b60405180910390fd5b8160108190555080601181905550601154601054610c199190613f43565b600f819055506019600f541115610c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5c90613fe5565b60405180910390fd5b5050565b610c71612248565b73ffffffffffffffffffffffffffffffffffffffff16610c8f61198c565b73ffffffffffffffffffffffffffffffffffffffff1614610ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdc90613ef4565b60405180910390fd5b670de0b6b3a76400006103e86001610cfb610e28565b610d059190614005565b610d0f919061408e565b610d19919061408e565b811015610d5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5290614131565b60405180910390fd5b670de0b6b3a764000081610d6f9190614005565b60098190555050565b606060008054610d8790614180565b80601f0160208091040260200160405190810160405280929190818152602001828054610db390614180565b8015610e005780601f10610dd557610100808354040283529160200191610e00565b820191906000526020600020905b815481529060010190602001808311610de357829003601f168201915b5050505050905090565b6000610e1e610e17612248565b8484612250565b6001905092915050565b6000600254905090565b60125481565b6000610e4584848461241b565b6000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e90612248565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0790614224565b60405180910390fd5b610f2485610f1c612248565b858403612250565b60019150509392505050565b610f38612248565b73ffffffffffffffffffffffffffffffffffffffff16610f5661198c565b73ffffffffffffffffffffffffffffffffffffffff1614610fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa390613ef4565b60405180910390fd5b670de0b6b3a76400006103e86005610fc2610e28565b610fcc9190614005565b610fd6919061408e565b610fe0919061408e565b811015611022576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611019906142b6565b60405180910390fd5b670de0b6b3a7640000816110369190614005565b600b8190555050565b611047612248565b73ffffffffffffffffffffffffffffffffffffffff1661106561198c565b73ffffffffffffffffffffffffffffffffffffffff16146110bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b290613ef4565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561114c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114390614348565b60405180910390fd5b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006012905090565b60105481565b60006112586111c3612248565b8484600460006111d1612248565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112539190613f43565b612250565b6001905092915050565b600860169054906101000a900460ff1681565b60166020528060005260406000206000915054906101000a900460ff1681565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001611348959493929190614377565b60405160208183030381529060405280519060200120905060007f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e670000000000000000000000000000000000008152508051906020012060006040516020016113d4939291906143ca565b60405160208183030381529060405280519060200120905060008282604051602001611401929190614479565b60405160208183030381529060405280519060200120905060006001828888886040516000815260200160405260405161143e94939291906144b0565b6020604051602081039080840390855afa158015611460573d6000803e3d6000fd5b50505060206040510351905061147461198c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d890614541565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff02191690831515021790555050505050505050565b611528612248565b73ffffffffffffffffffffffffffffffffffffffff1661154661198c565b73ffffffffffffffffffffffffffffffffffffffff161461159c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159390613ef4565b60405180910390fd5b81600d8190555080600e81905550600e54600d546115ba9190613f43565b600c819055506019600c541115611606576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fd90613fe5565b60405180910390fd5b5050565b611612612248565b73ffffffffffffffffffffffffffffffffffffffff1661163061198c565b73ffffffffffffffffffffffffffffffffffffffff1614611686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167d90613ef4565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600f5481565b600860159054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61174b612248565b73ffffffffffffffffffffffffffffffffffffffff1661176961198c565b73ffffffffffffffffffffffffffffffffffffffff16146117bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b690613ef4565b60405180910390fd5b6117c960006131ab565b565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006117f9612248565b73ffffffffffffffffffffffffffffffffffffffff1661181761198c565b73ffffffffffffffffffffffffffffffffffffffff161461186d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186490613ef4565b60405180910390fd5b6000600860166101000a81548160ff0219169083151502179055506001905090565b611897612248565b73ffffffffffffffffffffffffffffffffffffffff166118b561198c565b73ffffffffffffffffffffffffffffffffffffffff161461190b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190290613ef4565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6119ea612248565b73ffffffffffffffffffffffffffffffffffffffff16611a0861198c565b73ffffffffffffffffffffffffffffffffffffffff1614611a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5590613ef4565b60405180910390fd5b80600860156101000a81548160ff02191690831515021790555050565b60176020528060005260406000206000915054906101000a900460ff1681565b606060018054611aaa90614180565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad690614180565b8015611b235780601f10611af857610100808354040283529160200191611b23565b820191906000526020600020905b815481529060010190602001808311611b0657829003601f168201915b5050505050905090565b600e5481565b60135481565b60115481565b60008060046000611b4e612248565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611c0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c02906145d3565b60405180910390fd5b611c1f611c16612248565b85858403612250565b600191505092915050565b60186020528060005260406000206000915054906101000a900460ff1681565b6000611c5e611c57612248565b848461241b565b6001905092915050565b611c70612248565b73ffffffffffffffffffffffffffffffffffffffff16611c8e61198c565b73ffffffffffffffffffffffffffffffffffffffff1614611ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdb90613ef4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4b9061463f565b60405180910390fd5b80601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860149054906101000a900460ff1681565b611db3612248565b73ffffffffffffffffffffffffffffffffffffffff16611dd161198c565b73ffffffffffffffffffffffffffffffffffffffff1614611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e90613ef4565b60405180910390fd5b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60095481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611eb6612248565b73ffffffffffffffffffffffffffffffffffffffff16611ed461198c565b73ffffffffffffffffffffffffffffffffffffffff1614611f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2190613ef4565b60405180910390fd5b6001600860146101000a81548160ff0219169083151502179055506001600860156101000a81548160ff021916908315150217905550565b6000611f6c612248565b73ffffffffffffffffffffffffffffffffffffffff16611f8a61198c565b73ffffffffffffffffffffffffffffffffffffffff1614611fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd790613ef4565b60405180910390fd5b620186a06001611fee610e28565b611ff89190614005565b612002919061408e565b821015612044576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203b906146d1565b60405180910390fd5b6103e86005612051610e28565b61205b9190614005565b612065919061408e565b8211156120a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161209e90614763565b60405180910390fd5b81600a8190555060019050919050565b600c5481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a5481565b600d5481565b612158612248565b73ffffffffffffffffffffffffffffffffffffffff1661217661198c565b73ffffffffffffffffffffffffffffffffffffffff16146121cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c390613ef4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561223c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612233906147f5565b60405180910390fd5b612245816131ab565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156122c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b790614887565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232790614919565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161240e9190613ba4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561248b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612482906149ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f290614a3d565b60405180910390fd5b601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161257f90614aa9565b60405180910390fd5b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612615576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161260c90614b15565b60405180910390fd5b600081141561262f5761262a83836000613271565b6131a6565b600860169054906101000a900460ff1615612b285761264c61198c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156126ba575061268a61198c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156126f35750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561272d575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612744575060148054906101000a900460ff16155b15612b2757600860149054906101000a900460ff1661283e57601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806127fe5750601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61283d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283490614b81565b60405180910390fd5b5b601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156128e15750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129885760095481111561292b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161292290614c13565b60405180910390fd5b600b54612937836116fa565b826129429190613f43565b1115612983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161297a90614c7f565b60405180910390fd5b612b26565b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612a2b5750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612a7a57600954811115612a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6c90614d11565b60405180910390fd5b612b25565b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612b2457600b54612ad7836116fa565b82612ae29190613f43565b1115612b23576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b1a90614c7f565b60405180910390fd5b5b5b5b5b5b600073ffffffffffffffffffffffffffffffffffffffff16601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614158015612c1f5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639015d371306040518263ffffffff1660e01b8152600401612bdd9190613e20565b602060405180830381865afa158015612bfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1e9190614d46565b5b15612d3a576000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a20527fc8585600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b54600954600a546040518763ffffffff1660e01b8152600401612cb396959493929190614d73565b6020604051808303816000875af1158015612cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf69190614d46565b905080612d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2f90614e20565b60405180910390fd5b505b6000612d45306116fa565b90506000600a548210159050808015612d6a5750600860159054906101000a900460ff165b8015612d81575060148054906101000a900460ff16155b8015612dd75750601860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612e2d5750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612e835750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612ec55760016014806101000a81548160ff021916908315150217905550612eaa6134f5565b60006014806101000a81548160ff0219169083151502179055505b600060148054906101000a900460ff16159050601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f795750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612f8357600090505b6000811561319657601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612fe657506000600f54115b15613080576130136064613005600f54886136d590919063ffffffff16565b6136eb90919063ffffffff16565b9050600f54601154826130269190614005565b613030919061408e565b601360008282546130419190613f43565b92505081905550600f54601054826130599190614005565b613063919061408e565b601260008282546130749190613f43565b92505081905550613172565b601860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156130db57506000600c54115b156131715761310860646130fa600c54886136d590919063ffffffff16565b6136eb90919063ffffffff16565b9050600c54600e548261311b9190614005565b613125919061408e565b601360008282546131369190613f43565b92505081905550600c54600d548261314e9190614005565b613158919061408e565b601260008282546131699190613f43565b925050819055505b5b600081111561318757613186873083613271565b5b80856131939190614e40565b94505b6131a1878787613271565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156132e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132d8906149ab565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161334890614a3d565b60405180910390fd5b61335c838383613701565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156133e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133da90614ee6565b60405180910390fd5b818103600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134789190613f43565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516134dc9190613ba4565b60405180910390a36134ef848484613706565b50505050565b6000613500306116fa565b905060006013546012546135149190613f43565b9050600080831415613528575050506136d3565b6014600a546135379190614005565b831115613550576014600a5461354d9190614005565b92505b600047905061355e8461370b565b6000613573824761394890919063ffffffff16565b9050600061359e85613590601354856136d590919063ffffffff16565b6136eb90919063ffffffff16565b905060006012819055506000601381905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16816040516135f690614f37565b60006040518083038185875af1925050503d8060008114613633576040519150601f19603f3d011682016040523d82523d6000602084013e613638565b606091505b505080945050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161368490614f37565b60006040518083038185875af1925050503d80600081146136c1576040519150601f19603f3d011682016040523d82523d6000602084013e6136c6565b606091505b5050809450505050505050505b565b600081836136e39190614005565b905092915050565b600081836136f9919061408e565b905092915050565b505050565b505050565b6000600267ffffffffffffffff81111561372857613727614f4c565b5b6040519080825280602002602001820160405280156137565781602001602082028036833780820191505090505b509050308160008151811061376e5761376d614f7b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613813573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138379190614fbf565b8160018151811061384b5761384a614f7b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506138b0307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84612250565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016139129594939291906150e5565b600060405180830381600087803b15801561392c57600080fd5b505af1158015613940573d6000803e3d6000fd5b505050505050565b600081836139569190614e40565b905092915050565b600080fd5b6000819050919050565b61397681613963565b811461398157600080fd5b50565b6000813590506139938161396d565b92915050565b600080604083850312156139b0576139af61395e565b5b60006139be85828601613984565b92505060206139cf85828601613984565b9150509250929050565b6000602082840312156139ef576139ee61395e565b5b60006139fd84828501613984565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a40578082015181840152602081019050613a25565b83811115613a4f576000848401525b50505050565b6000601f19601f8301169050919050565b6000613a7182613a06565b613a7b8185613a11565b9350613a8b818560208601613a22565b613a9481613a55565b840191505092915050565b60006020820190508181036000830152613ab98184613a66565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613aec82613ac1565b9050919050565b613afc81613ae1565b8114613b0757600080fd5b50565b600081359050613b1981613af3565b92915050565b60008060408385031215613b3657613b3561395e565b5b6000613b4485828601613b0a565b9250506020613b5585828601613984565b9150509250929050565b60008115159050919050565b613b7481613b5f565b82525050565b6000602082019050613b8f6000830184613b6b565b92915050565b613b9e81613963565b82525050565b6000602082019050613bb96000830184613b95565b92915050565b600080600060608486031215613bd857613bd761395e565b5b6000613be686828701613b0a565b9350506020613bf786828701613b0a565b9250506040613c0886828701613984565b9150509250925092565b613c1b81613b5f565b8114613c2657600080fd5b50565b600081359050613c3881613c12565b92915050565b60008060408385031215613c5557613c5461395e565b5b6000613c6385828601613b0a565b9250506020613c7485828601613c29565b9150509250929050565b600060ff82169050919050565b613c9481613c7e565b82525050565b6000602082019050613caf6000830184613c8b565b92915050565b600060208284031215613ccb57613cca61395e565b5b6000613cd984828501613b0a565b91505092915050565b613ceb81613c7e565b8114613cf657600080fd5b50565b600081359050613d0881613ce2565b92915050565b6000819050919050565b613d2181613d0e565b8114613d2c57600080fd5b50565b600081359050613d3e81613d18565b92915050565b600080600060608486031215613d5d57613d5c61395e565b5b6000613d6b86828701613cf9565b9350506020613d7c86828701613d2f565b9250506040613d8d86828701613d2f565b9150509250925092565b6000819050919050565b6000613dbc613db7613db284613ac1565b613d97565b613ac1565b9050919050565b6000613dce82613da1565b9050919050565b6000613de082613dc3565b9050919050565b613df081613dd5565b82525050565b6000602082019050613e0b6000830184613de7565b92915050565b613e1a81613ae1565b82525050565b6000602082019050613e356000830184613e11565b92915050565b600060208284031215613e5157613e5061395e565b5b6000613e5f84828501613c29565b91505092915050565b60008060408385031215613e7f57613e7e61395e565b5b6000613e8d85828601613b0a565b9250506020613e9e85828601613b0a565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613ede602083613a11565b9150613ee982613ea8565b602082019050919050565b60006020820190508181036000830152613f0d81613ed1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f4e82613963565b9150613f5983613963565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f8e57613f8d613f14565b5b828201905092915050565b7f4d757374206b656570206665657320617420323525206f72206c657373000000600082015250565b6000613fcf601d83613a11565b9150613fda82613f99565b602082019050919050565b60006020820190508181036000830152613ffe81613fc2565b9050919050565b600061401082613963565b915061401b83613963565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561405457614053613f14565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061409982613963565b91506140a483613963565b9250826140b4576140b361405f565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e206c6f7765722060008201527f7468616e20302e31250000000000000000000000000000000000000000000000602082015250565b600061411b602983613a11565b9150614126826140bf565b604082019050919050565b6000602082019050818103600083015261414a8161410e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061419857607f821691505b602082108114156141ac576141ab614151565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061420e602883613a11565b9150614219826141b2565b604082019050919050565b6000602082019050818103600083015261423d81614201565b9050919050565b7f43616e6e6f7420736574206d617857616c6c657453697a65206c6f776572207460008201527f68616e20302e3525000000000000000000000000000000000000000000000000602082015250565b60006142a0602883613a11565b91506142ab82614244565b604082019050919050565b600060208201905081810360008301526142cf81614293565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f616d6d5061697273000000000000000000000000000000000000000000000000602082015250565b6000614332602883613a11565b915061433d826142d6565b604082019050919050565b6000602082019050818103600083015261436181614325565b9050919050565b61437181613d0e565b82525050565b600060a08201905061438c6000830188614368565b6143996020830187614368565b6143a66040830186614368565b6143b36060830185613b95565b6143c06080830184613e11565b9695505050505050565b60006060820190506143df6000830186614368565b6143ec6020830185614368565b6143f96040830184613b95565b949350505050565b600081905092915050565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b6000614442600283614401565b915061444d8261440c565b600282019050919050565b6000819050919050565b61447361446e82613d0e565b614458565b82525050565b600061448482614435565b91506144908285614462565b6020820191506144a08284614462565b6020820191508190509392505050565b60006080820190506144c56000830187614368565b6144d26020830186613c8b565b6144df6040830185614368565b6144ec6060830184614368565b95945050505050565b7f496e76616c6964207369676e6174757265000000000000000000000000000000600082015250565b600061452b601183613a11565b9150614536826144f5565b602082019050919050565b6000602082019050818103600083015261455a8161451e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006145bd602583613a11565b91506145c882614561565b604082019050919050565b600060208201905081810360008301526145ec816145b0565b9050919050565b7f496e76616c696420616e74692d647261696e6572000000000000000000000000600082015250565b6000614629601483613a11565b9150614634826145f3565b602082019050919050565b600060208201905081810360008301526146588161461c565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006146bb603583613a11565b91506146c68261465f565b604082019050919050565b600060208201905081810360008301526146ea816146ae565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b600061474d603483613a11565b9150614758826146f1565b604082019050919050565b6000602082019050818103600083015261477c81614740565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006147df602683613a11565b91506147ea82614783565b604082019050919050565b6000602082019050818103600083015261480e816147d2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614871602483613a11565b915061487c82614815565b604082019050919050565b600060208201905081810360008301526148a081614864565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614903602283613a11565b915061490e826148a7565b604082019050919050565b60006020820190508181036000830152614932816148f6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614995602583613a11565b91506149a082614939565b604082019050919050565b600060208201905081810360008301526149c481614988565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614a27602383613a11565b9150614a32826149cb565b604082019050919050565b60006020820190508181036000830152614a5681614a1a565b9050919050565b7f5b66726f6d5d20626c61636b206c697374000000000000000000000000000000600082015250565b6000614a93601183613a11565b9150614a9e82614a5d565b602082019050919050565b60006020820190508181036000830152614ac281614a86565b9050919050565b7f5b746f5d20626c61636b206c6973740000000000000000000000000000000000600082015250565b6000614aff600f83613a11565b9150614b0a82614ac9565b602082019050919050565b60006020820190508181036000830152614b2e81614af2565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000614b6b601683613a11565b9150614b7682614b35565b602082019050919050565b60006020820190508181036000830152614b9a81614b5e565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e2e0000000000000000000000000000000000602082015250565b6000614bfd602f83613a11565b9150614c0882614ba1565b604082019050919050565b60006020820190508181036000830152614c2c81614bf0565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000614c69601383613a11565b9150614c7482614c33565b602082019050919050565b60006020820190508181036000830152614c9881614c5c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e2e00000000000000000000000000000000602082015250565b6000614cfb603083613a11565b9150614d0682614c9f565b604082019050919050565b60006020820190508181036000830152614d2a81614cee565b9050919050565b600081519050614d4081613c12565b92915050565b600060208284031215614d5c57614d5b61395e565b5b6000614d6a84828501614d31565b91505092915050565b600060c082019050614d886000830189613e11565b614d956020830188613e11565b614da26040830187613e11565b614daf6060830186613b95565b614dbc6080830185613b95565b614dc960a0830184613b95565b979650505050505050565b7f416e746920447261696e657220456e61626c6564000000000000000000000000600082015250565b6000614e0a601483613a11565b9150614e1582614dd4565b602082019050919050565b60006020820190508181036000830152614e3981614dfd565b9050919050565b6000614e4b82613963565b9150614e5683613963565b925082821015614e6957614e68613f14565b5b828203905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614ed0602683613a11565b9150614edb82614e74565b604082019050919050565b60006020820190508181036000830152614eff81614ec3565b9050919050565b600081905092915050565b50565b6000614f21600083614f06565b9150614f2c82614f11565b600082019050919050565b6000614f4282614f14565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050614fb981613af3565b92915050565b600060208284031215614fd557614fd461395e565b5b6000614fe384828501614faa565b91505092915050565b6000819050919050565b600061501161500c61500784614fec565b613d97565b613963565b9050919050565b61502181614ff6565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61505c81613ae1565b82525050565b600061506e8383615053565b60208301905092915050565b6000602082019050919050565b600061509282615027565b61509c8185615032565b93506150a783615043565b8060005b838110156150d85781516150bf8882615062565b97506150ca8361507a565b9250506001810190506150ab565b5085935050505092915050565b600060a0820190506150fa6000830188613b95565b6151076020830187615018565b81810360408301526151198186615087565b90506151286060830185613e11565b6151356080830184613b95565b969550505050505056fea264697066735822122082abb4f4da2018c8c3a6f45de88c5646b3dc3d9b12ac13da0197ec502035222564736f6c634300080a00330348258ec6c34d04734ae1a0e423d84f79a269e7d5652032cf81551ece79ac276200582003680893704b0adf762516cc371fb3a724c5f4aa69357f0eeb0595053fb816205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200396cb6d92eb028c46419767645c47b2eb05cf4242524357eb33f380f4eccf80494059bb1c2861ef087a00582003eed651255037edb10adba80e265fed2fdbbb06662e527c947d8afd9126cce05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f022f24514f52c7f94a57ac9e73066421ed6efe76d26bf8141fa0333c92c4b74a487fdb909ccaf4f2012a00581f031da1460914451da893e11afc31b2a8ab7bef620f3cbb3380b074222473904352c78e00581f037a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db904b011349242670ce848000000219080100581f028fca5dc7a1cb2fc3ac62ba3db3b08143e879cfe61da25ac67686ea1ffb264a0185e627fcf8bb383cc200581f0296ed34a1cb17b60baf4e6c6530d7892c82381977e89944b5a39170e591ec49e6ee0fc39354a591150219212103300409d61113776bea6fd11dc71e24059cc2915ecd2bbb64380ae8aa4392e0a000582003c1de49f736615cc82f3201d795682915a1ecaf7c2df2c2e91698f124531ba04a01f3ad510a55127aebed0359c1513ceadf2b2e31960879125bc619020fb83dc4a2ae2137cf8c54ea9f2386014301bc8000582003da6180d1b05195c9c32bd54a5fc569df0340c0a0a5173b15e9d69e1a55f0904a065a4da25d3016c000000335e3b1b41ce9af02e3a3321f32d63ad1c958e284e98d2bc391077f41dd14103802196ea6039ef64548e55aa28b0ad36c1823782e7753d026505020d55674faba73b9c4c68103f4015c95bae10fb871a75f5358eb62064cdc32ebfa4decb12089731492f0e0d1034cddae9c36976563c6e72eafbf11e729366ba848a1c9943dfea50cb05525846d039952b2ca25a032266ecd522a03c5af76a50773bf116e7474ff0fe631097515240385e8d486efb07ec71d091b65f8d965e4d45ad842723b944ac913d34e1df2577200582003a23326a755e4629da09965ebdec5a2b42d6d0f329d9f0761ec4425f8a403404a0bda1e0a8ee5bc8c328b005820039c29be83f4c9b6795ae54a1d578b4abdf3f20a119a212dfaed5786fe4051d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200308226246bbac252c74b3e1413f7dbb4ea1e38248ddfdcef0e2683e3ca7ef405820fffffffffffffffffffffffffffffffffffffffffffff3f146efa6501640537000582003575470f4c6e76d06df41543732941415b073bbd58ff438ca75d3a2ba0f86a04991427b3a2dee5c4c7d00582003b187f4cdaf0dc3126f4e7b3ce79f1f258409b1223dc747d1844eac875408105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030e9d8d9a78e1488e79b2bc05e001c5528f5d5c98fdc0452dc66f70f5627ee05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003224329a4e311c806079edaa12f179a71b52eec54357edf90d7919fb4f26ab05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003de0e8449c7a2178fc9c31a96679c22a4f39fbab8fe330be6a5e381729878304a01a7b0ef0a8cb280858b00582003c93864fd4c63fd79bef64e02bb1e99a04b135892bcc95835d58d262efd98705820fffffffffffffffffffffffffffffffffffffffffffff3dba739c0ab22c9d3b900582003727d5f250615027721d0ad90d3ab2d6dcfbcf2b695c1997779f02bbca67c105820fffffffffffffffffffffffffffffffffffffffffffffe54f4f8b0bb0ed9af5900582003e6d8edfc559ffb056b42b40970ee03f01fcee7103523790de5e83552f914b05820fffffffffffffffffffffffffffffffffffffffffffff6a60a1aaa90efa8890002195d3f037d54d3ca85ad80a63ad4b74a2e944a47ff8ffaf62958f90f8af7806d7a3be33a039b6dfeecc087125085e4cb925f98a8437fe54f3c85edf5d09789fbd5bfa03973031bdace5e624c3c231ff162f553f1adb6ef280f3609f3a8b456c7378c0b8a0acd03b17cb04e369028a9509c15ad3615ca44a6904d8ed0a77b92b1c928333422c1e903b42fc2a3cb6a7b706563d97dd537b87412227ac923c4a5e613ada15a1807e352033fdf08236760f9cde1fe256afe95f184d9e6e4dce9277127c0ce8618ddc9e5a903661b95ff6a767a5ec7286ae2dd4fe85e448675c06c0aca56f69cdbc25c76a39b0327f1d3d0f33597da2e3919febec72df046191d6737362efe290da4d7bc5bcfb30219ffff034da9d3d50bf890b8e1c39d5b3aa638a898146e8e59ef47b5498ed18b46f4d5e903b271c62f1af6d5899962e5ba1abaacb334af90c49533c281bce7f2d86b8e52c0033e498eee54834c418df8a5f4c98389d96038f5dfde6de6220edfcdb9e93ff5f7032342751221b430eb5e3823067b48bccc3934b32b4fe784e58024771e9e616a91038c5c4934133b23cead2518963845991cc08e155fdae04799b70a60226c6fc71603c204998f24ac2adfa4035897c911bc0d23b468698c03b6bf0aa1b902980e55f900582003505e564c37e08ff32d21e7e1a751f7ec6d0d4f27448d70afc61a3e5c645b204a033522b31a8986ee453f0058200397e579f76743d9e718184d38b5b005b1ba324617fc46f5e731580507b48090410103e65d89fc532c5eaa6c067f2ec17ab894139ae83ec82bdb6aee784407ede9085e00582003ff01e12e2ce7367812a5ac6ce8f7540242b3bc30558ded4adf7be32e79b8705820fffffffffffffffffffffffffffffffffffffffffffffe4eae42a4e760e50f59039cd05c61823f92470325c04bb91f226b0d97dab307c7bdb6d595bd6efa7c6ff100582003cfac6ea70845ef83767b5873f1849292ba0298838f85034b368f53034c7590493de85c0b6a61ccd996021939220342cb10927982a5a9143d5881aec8a8c6bd569fb984b35cdc1bd678a40636856f03d23e66837d9108a6185d78915b16616bf342d9f9ac94d7a1afaefe949b464b8e034f66e33d4c63deb973bbf86397ba5fc2a541df51fb99b49578ed2bc7c1a2fa4d03742c1006c4ce729a909d6e7a193f0a1f25278519b1bbc80e984878cb247e7df90381328012898b438f1bd5eeb75c1a73136599cf578593389591e46455da833e1a032f600155a46c351265ce1c5d784570371121b22bcb67541f4b6e6eefb83620b1032c99bbbb033388f3ac564795de961e7f2a2cc12ddd81caa023203e74ac075b4f0364ce4848da5a51aba05a1b6c87ec272abb30b4119bb844cf6b216093fb1e69ef035bbf273e241642384e18266788cf657c6d5aba45c9fa025cba3f392a1f7eb9ae03970004f71526877ce0377e837ab1f498bdb6637402b91668503aca19d7be441703f8e655ab07e87562ca42068ea767593d647b5bdc65f0862b40bd3ffaeb3bcbd0038e82d6b3ca1e399a4eff35d306d8e18f8ebb72090407c2a8d544a92c2b9dbfd30219ffff03fac669042cffa10af2bb66a381b76d56a2fcf50d316c65fd865a5ac0218ffdd103091ca90f036736ac455a053d149ffd0458bb55ea10d0a113be0b9d4198d3aa67033d237f6a6da04c6f25440e41a67f7863ba11fb1ab5d91f3ed01cab2a5f3238250315484b1b959fdadd8a1263cf32bd6eabd8c57831b3c0eb1f2dd4c0c9b0e948a0030627ca590d71cd422f5ae766ca89761f8e1bc853987c2b730104dbfd98e71a3503f387af8f96fca5dbef6fcba652b2723e644f1846981f60ccdf07e1f96932cb010375bb7a425eea76af001341e7b6ab946075601a90892714f4c147b9c1efbde6510058200379179bd551eb2bccb55efabb5edf63657aba24c00a9000a4b62ac33f5361304a0343fbea855a89e7b30103f41a1a3cb3e8ff92121618129b4fd3715a58c4912a037751680a046c277003c1032695555599777168a715d79b0907a33caa59e075a184e3be90983ff5736fef080058200390a32b86677b3e6b4a34876411dc5d8cb208022a8b34a5e182f81c4af0b0e05820ffffffffffffffffffffffffffffffffffffffffffffef3f2248f2a5203733e9005820038002ce1881007fbbd79f6454e6da5179ce47ddf17b05d46a9bab26c719a1604a0fa53875cbcee871142400582003d025880935f5f98a9de41d922c7254d4f8ea14bdc39c4458191080f911de005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bed236212a07677efb78352d714c422f87d3ca9c11afc61104c8a250b674525400582003a07679a1d976a64202d095d6dca562a53ca302989296f427c498fe96a21ef04a011cb155179c6c151e1600582003d0174eb315dbdfd77b19232f9fff2133bf28f10e82a8895d48142348acaa605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b411bb10494706fc74fa1af80778664571e184d6a2cd3ffc326fdf8696b84979475976b836cd167800581f028ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09049fe36f5d32137e6b684021940800372ad33d5bf7c906cd84ea841656a3bdf938323987099fa9251378168b9da7d8703ad32b272da1c38496a4a3779140631f6035f44851fe7e0fe587f0f20f47fafbb0219fb5e0303c6436e5ec670f7bbf35c9bdcf18e3617b0f9b5a7661bab11cb36e303229b60031e04c2d2cbcfffd8ffc9272f3b0dd3c9a73ec3857010de799244a3d02ed2a7ae0364f7a0b3b4ba97f3854f3a66541b1ff0b2fb35d025d0c58e9e5634015fb79d0b033ca9d772f190ef4207437066b71810eeb067a82fce09213dec913d3abe5e6a3400582003ddb1a8d7cfa1f2fa862331aff4ce984e8ea2580680baa47e176df21206bdd049a2ac15bd1afe03ed0503600687628e0c784ea34c4a90ed7cdce7ee23a6564208b155d7786bc8f3736676033002a8603d30c738f059b804f22b251b33bea3ef3d2186bed940458acab503630058200334fc01c3b452ee14a87e6cd7a57793a4c2ee6e7ec86f05e9e6880e67a342505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200387df848eb464382e51abee087054d7cd0ff1aa331113bb39e563967f77afa04a041890d693ec3baa517700582003572cb4a04ee6ec399709c5b229b027f38a2d1572e23fc0db4df46d78be83f04a15ee646a8f3b46e9fa1800582003931e25a7b933788ecabfd29227eb14dd59c1aa28a19a1c35baa6ed17534b80490fc2fce52faf6653090058200355374a43d9cc7d50568f5e2000b642dc21b3db53106ccbdefd4d4e633659e049201509e55795be8c1e021981f6036f072ab4d0193accb179e6ed905586df862dd5e0b8b6b26ecc16864228a3fc7e039669f22c9af30275ef654d2ba96561188cc3500450cdfe09cbf98e6f1a75872b00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04b011349242670ce8480000000582003c346318cc167091b153acd5d4fff9ef36cb10853930374973ececaa66c11704990a552d7c87793e1a90058200319c58d802ca098cb9fd8cad674f5cc1c795a709e3eabee4223d69d3cda72b049370d8080adb63b66df005820035c3f7b5e43bdc465a988c5be44e95e1166979d6838a68110e2681fc7af09005820ffffffffffffffffffffffffffffffffffffffffffffff4ff0505dfc659767bf00582003245d48a1485dcc30d7274ce8044351dfddce6a07d696e7782f64855703f5c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820038000ef35154b243d530240705fa9c69fab61e7ae88126eda884b9fe94ba130492c1ed4d89e61fe885d00582003fc591e337068e3b93dfb1efa52303efa782d81c29962b408e83054426b63d05820fffffffffffffffffffffffffffffffffffffffffffff8a7aa9e3ce4c9f62659005820033c1ca1bcd9328a42248d7b73b97201a9bbcadef3a7f06d82747996dce900c04a014834d71b73f3ec318102198cf203e867fd385d7ca1afdb84eaeaca430da6599dae25562301a6f6fa074bcc9620fd0219ffff00582003b2eaf155502b4be2c699f10edc740c4561ddd1d3a6dbfd34615f4aeba3b0e05820ffffffffffffffffffffffffffffffffffffffffffffdbf77cd4ce621273f9a00379cfe253e4012e898c800507e5a8d8af6d46d2e4f3655b99e35773f25562487900582003010104630453f79831d3070b24584db0f9206b59d6b3f14e910ac9b889b8904922835f6b200e43fbf6039f3023618f8a7e25e4fadf5cf9ff9c659a8d480bf95fb5e0c237578bb6a304070058200388b74c9711a9db5e9526312fc64784b4d9c78821ba11a489a3e17191f674705820fffffffffffffffffffffffffffffffffffffffffffffa21810d9e3c79c379f500582003264c3d5ff4d3e7536b2b824d104f4bf7fa54a3642a33e067f53e3b92918cd04a1b3b7e6a92afca6b908d0305466471c8c26c4c6b4f277b0d2501d5e595133145096090a72dc1618cc4f26d00582003a2d88587530a5da26e140388d72e7c26d2c7691656a6e173996e45689436d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02199ea4036c9f15e022636a23e0f0b8ddb7a4d6d6af97c47cbc01283ff151f13beb449c5f0383033e61599591d1f300b17ebc6f7920bc3a677151e9b628bcf2a1e5a366191d0322d30ce5c10e724f8ad2a56e7b48ea012c869dffcdd94c8ae93509152656b1d3031ab10b97ae1bc7ccf48e3e5ab6a804d6eae1f97d51c547f22b5f77b7a72fc4e5039f60b83ee6a11e72d62c7f3b6679ed29ccbdfd512c1f79f36eccf3ceb7a113cf03a7f3aec05905c9ccae3072d20c9a4d2b818c9c8338fc648942cef8851b96dcb203aa6207c025824bf5af2cf7472fe89c7d62064dea8af350791c1539d40d2f921903823fb4593c79905c7768786a97d35608fc0b905c1c615312f33ec94edb1493b50316b3a7677722fd93bacd1232ba43520e24ea596c6ac0c0c20ad0e96ab255d30803cd25e9505e145bb2ca303734b3ae0b2b217cc584e0eaec5b8455aeede9f61bbe033893c838b2db863a69e322b286f3d39661aff288ebabecc58eb3b3d160b0d68c0367cd564098a3b43f9021451a52b9f9f4a16627e57165582c2df9d4143585d98b032b9538172617afbb8911051a7dc3917829cd46d089428a1ab6100296f48b15d603b4acbc976008f3fe7774d948f5ce4ea4b44225dcb13086193d36392a3f18494a036ffebd9a552d21fe8e104b564325c356fae16a83b7bdd3943b63c29b1bdebaba0219ffff03886b7307754cff6ad8474dbe0d8147bd89832524d1bf4bc486a835583f5606ed03dded850080f238e23eb12595f7be5dd9cd3cfe753ec07271d5f04bdaa587f91903daefcd8f7e955112a1beb4028b7bd65dff5c82966f95e22cdea78ff66359ba5203c13205bf3f83e74351d97c3c91b18fec46c539d13e32eff5c83e97cf4fe82f5a031a312d2d79c0dd81f5a426aa965c8f363ace96b25d7f81f6931a413abd3275ce036c8d0df297e0a43dbb0ed9ab6cb7950824cf6f810cfd8ab1054e92d3480badb403d2291daaa078a1ba2e9291e036bd39cec8b55b0deef38c86611a1d05dc8a7d6203bc78f28a38640af8bb7286c185a69dc67aa5459231d9c893c5ad1f0ff3d6a51d036d8db80155ab0244862f07599844ddb35acd1fd5e9ba4f47c24bfc756a65592d03f7d59bf5195f5b439b7ebd93c7d15e3cf0f80af2a92581f41a98c7093f6198510369749841c37788f04791c998c57b8de684651ff09a8d1e28948a6809b270e8fa00582003342144b34d105d7ffa8e30fdbc08181d4d665ff5705e565e95deb976ea10604a0636d8398fdd7366ac9d005820036b778d847cdeea23de803aa85a554051f284f72eb3b8cb0ba449632e929e70495770678f26f94e8223031ff6368e060be62c4d9adb2e28521f28bc225879e4d37c4cf6ce4b9d5bc7f2f100582003ffc696979d1102b517d082b90d766229990ba41218656df4cf26580d0811c04a01883445aecee03b8e240346398c61a0b80b354dd2683dc5003a5c8dbd4a607f04cf9ae91b5570a8ac582e00582003aea0492ed1b60f48e99e1bd8c3d0690f9db4a7202f70fbeb0030da10361c905820ffffffffffffffffffffffffffffffffffffffffffffa3174093c1d115475cff00582003742f8577ba07064966d9bc31ee604bac53c3a226701b898ca271d055c10720499f33efb1073614717d02196923032ade44691c83d7980077c8bd840cf5ebf42dee98d848343bf9546048693d21d20325e0cfee69eba02812dca7df9f46316d4bec42a14f38214b2d3d7fa718d104c703c7de75faa11f1b3d583437c56ed3ce647608c7ed5aee6fba4e437e66ff9892e5039167ab59c86f0172f7908021d014a87369c8b17b9d07a47adbe6147ac01ae9830219ffff0363ef3da32c12a6fa99b3dd75c33881c01fef605fea5ab5df5200b9d73d3184e003c5ba58fa61d4aef07089ae0c1469eb7c0d00fa18ec5f0bb38642f8b04576694203ea7f0aa228179cc8f225cc1c71f411fc22730b6839b437ea6231bec60083264003ff3b01f3b610fd9e95d084631832cfbe5c1b63c41041f12c054e9bc5b0af36bb031bcdb6b061dac9efc3b50b667177b7466882c11507ef631204022a695326a95003dd4e57f18a19b1839059d6660d58779d0bf263f980a48dd7de7485bedb8bb4ce03475c35193312a626f70600e832581d106d5b581b89848fbdae711c05b1719ffa0388d0a50bc62727f8eba2eed09c67079ef86137cb7ca4ab6a2d30e0c292c5e88903febb83677caec1aacd3818357429bbd23423be91d1f02fba5ef2361525ca664d03e19d81cabd02033eae7f21f12b0ffa26b9d3357d166ba69527c704a80db6f76c03d5902029b359048d39927af6fcf1f5028a6b2c7cf9cdda2df3bc05efcb90b95900582003aa79365ce1d2eb95c3b04455f5c5482a9b8cfcd8194207a9ff5e0e9856c8f04a0199dd1adc784a80173b0359a905ca6b1d3a41d03a18c87101c633353fb963b2587d3e204b120087b264dd01410103118122b17c74e3c4f196ae4753fc8fc93761a290996e4a3375fbe942380f1dad00582003a26c8d609530e303309644e4eaf27fca34e6f93d7997a0a4474a3754f484c04a43a80f29d95698ae000000582003f8cc9aac89ac535a25242834d4d28ecccff56c249492aeff7839241e5247705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0276541410ff37e692575e714740201fee7687f536473da5390ee61e44d0614a053e7d9e30bd19ae538300581f02a94e1e0d9572fa22dab0f9cdbab0e2407762e8e020c4f49965c4e7599ebf4a1a784379d99db42000000219802000582003890138b37e5c0d92d96d0a0530c89cf5ba12daf3003dcdefe7e23740dc86c05820ffffffffffffffffffffffffffffffffffffffffffffdf3f5d1b0f6be28cb9dc005820034b87e8c7c4ca2656aada8b6f26c6eceb6fa10d26a50e0744c33fdbf32f27d04ae4d78ba467d6cec688c50058200303a9da810d429bde0d9325db92383c678c40912afc60cc8948d3d60ab0c44058207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219fa49037d0c8bd0c67e279ac51f6afd84d8e0a782d97542d49ee4aa1b47d47ad7a56d1203bdb3dbb1c3fde36f336e778273387f934776d76a19b75d31b7956e3bc94ddd2603615ba1406741fc5d451439b0a1ae7ec9e3e672418f203f96af88df055bd757dc031d798d94a2c6be45ff01603642123bbad0d7cbe85b8939ddd623a19c4df507410219ffff0366e8aa3490d0b8846beb0a2f99c1789f00cfb195c4cb0d9e145e1a07d032c3af038b233a641c50d810c28158939b9b790d584fe9441e65600fd5ab6ebbadf1b5070381aa24c5c6b01451a9f222df3d6ecaeb9d7eee273d4bd9999762939560ed6a8f03a222c6cc9d072b09866b48e7af83c736aff8096d30ce84fa475b00a2a8de8b4d03ae0cb5f5138e3a325f201b45d74aefcbeb48adb6895d253c4bef93134e74126b034146519d5f97c81f03219817ccb4651029c30fde0b3891dcc818b97d8c3fdae103d86e7bcc79428c80352a25e3bf405d36df2bb5534b2eee1e4086010094cd534703b8cfc0173195b6521049edc3bb98345dc8a9088841a0983dd024f1528f2daced03fb6b0728f44df30db4133b135a3d99f5585d58206e4cd0029df3ec9eb7cfaad80317a0a80d907df7edaf423d7e364ff8b28d0a891b385568bcbc0c8d10bd2c527803922f6821d04c792144079911a899846a817d8ee4d97939863d3082eaa8e103a70353fe109af6c2a9cd9514e72d26b41355ed203a2a7e16739d0ead3d0069eb659a00582003c47ac508c55139d2ed102847186262aaa18d29fd6c5302fc885481e833fa005820ffffffffffffffffffffffffffffffffffffffffffffea9c44ea8dec613d06f903bc8bb75023e1b10ac8d1653080fb13887ab121c9d9c49f1da540c3e909114b9d0058200340ef50fe166fb6783421d21427ee11dd7fe95cae8bf324d1d519ff64b4db5049553f92b0e6aae466d200582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0410300581f03b9b4cc76836c637dae1bf83136aca979e8ec28101083e5e3d9828a5876a04a06871bdfe0031fd47a3f00581f03a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444049a979f9376b7a99cf0202184401410a005820036f162c1c15a51a0535b0e15046fb62638c772774f6cc560fede478c92765704a034a63037f1570d6b3dd00582003922dc0b4a68666f487a813f756177d184a3467e37d96950c036708db2eebf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032aafe9a019838c8af0db454514079b32190b233e88e524df55e7176615ce705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03738ce82acf782ca1cc4ca130786fba0613fdd5c4399a4af4624ca1c87ddb7d890219aba50363b4497e4fafa89e28c2b0d87fd2d532a5085ae21c11c4e266a197e29084fd8503ac1986625edd37b0e103872e520f605263fb838185ed7e4b7f76cd67ac71385303ec85baa712eeacbd2ad956f174d848d13de18bd64aa05fcb37019d6f7c9169e803a35f45681d05851e2408c0f5786cda57eecc033f55e7a075d8685201a3ae51520219ffff03195257d22aeda2989a257cab7c777a996a19f2f04b598255202e3eef683f76db03a87849f9fa45ca1b7d14c0719034a9e6a76327362fe2293ef92185c1d7673eee030b460fd00d00d6fde8ec7287dffb4ed57457fdebd9f57bd291d72514d57e86240390d4c8a5dae16737babf764328550e82297a94fa12939d4e7bce2be5d408907c039432b23f739c377ff860d5529180b1295664a4de03451305f35cb22e49e556b903a36db2677e172f5851bef8d2d9e99708f4c2be0252bfb5e450bc963dcbd297aa005820038ac09916498f8e861aafe3d5623090ed1836e54db1cb4e590131c75ed5a3d05820ffffffffffffffffffffffffffffffffffffffffffffea9d93e8b11b2681c8100058200395a29f82762599f19ef7aa1674a2360a0da04ffab9907890dd315a4f63c0804a0e46302bb97497f725a400582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a804a0a968163f0a57b40000003041767c5c0c32479d1708b904640447783d060775383045a94b4343c8f0917f900582003bf8bf201c360b900c6032b60ea6db15a7b9f7de0043a5d7e76c996b64537905820fffffffffffffffffffffffffffffffffffffffffffffa0af702af8d8f3bdc8a037ec0a3541ab8b9d1985e9d9d00f5b5035aca3f6f8297c6bf5042d2e1c947a00003160ceadf26cf5e5d6c19963c96c995c2c07a517ea3c4f2829265ea20f11cda71005820037977a384862de2f1f6635be2b0b36441e6795e873e207332fa7dd30f52ccd045fb8506adc6039111a7613bef2eff6ddb39e1b354cb3e4ce69584d1486bc20d084c9c1479a2330323a58d0be9ef1ce60de27a6db653566a1978e6b33dacb4512e5171e9777e52680219dae503ed67b967468976c7fa065aee147a36f32e2a5d11441cd0d2178ca5c5e763353d038bd88e1f1f5703fd7d11018aaece1d4972e63fb48c5be76c1d196cbffd934bba039009565a802416a3f001dd1818a8a636ee253691b67f6094e6aa350ec26496b703d99d8494e36c95176d8709332ba6589c2531b35c383bac02c789657c70aec4ba0325c10fc1a79522e4766992cf99d4e8fafef49ca5068a35cd7de990d382a3fd9d03b3558d5730a438e17a67afdf4fdd7a6d0581913311941aa15d8c0acbeebf30550325b7aa32beec451d926fcecf995f0cdd65562c764ae9bcbfa58ae12a7bb59639031d050ad655dbc2c8a68fcda01a749f5393291a0004522a2f75c2c4fea056533f00582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec054aeff36b089c9b2ec05558baf67df508c5b6865c000582003cced9731d5e5bebe7f671faaf283820f09cee1f3bfbb1fcbf09d3dd3444da04a36172d78d0fcbc64492103c9779934b7e439c3f8d68adc25b92bb5466a25bf75892a30c145f5eddb5e302902190c4403a8a7ce1139f554f5172b9351c072a020e7fbe6081fbcb254ebd11af68b36d7b50219ffff03e9d9e7214f218d5a9a3fdb40547cc09a42af77abed818c12c6f99d17a036a7b403cc6fac14f6979a88b540b259c7ec95d0b1af2277d97b04c875a128270b3b2575039a2c9f369552193f1658a21e4303ec46f5f36cf7b4289a1f0f292c7d13a28eb4038fcecc3f8a9f4b3829836cf61f32a89e0b010ab68fb57fc4c5e43f3e6eda5df703f2a723a9ab6ea22204e57788076a49b8ac2d93a79ef222da0c95a474e1b8168403020dbd69a2c91034b3eb4b5990e23a8ff31a93c2e3b818eff50f0f5f4237b82703236a5e1b2fe61d6f5237638baf9b0399788c4c8be2d8601d0e3462a317d9b61e0371f5d5300ff646e364437aa69d9abee9f34189e022075f3133ff0dc5df8bcabf01410100582003b72f7b2e34195e1b5508efbf9c3ae68122bfcab36473861dbf6932f679b4505820ffffffffffffffffffffffffffffffffffffffffffffff8183163242f8e4607300582003705beb65a8c407b1d5e0c0dde51ef493795faedb18c1f16eb82610c01176f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f295261e6f5c79acd6cb33312c39ca0bc9643ba49a31e689a4e628604022c04a043c33c193756480000000582003daac7a37f44993a3e43d4ef8f47e702b67a3052ded2ca4e6663bfa2755f5a04943e31e69c833d77b3f005820033336fe3fb3cf87756edb8d17590019d833486d9d814db4537c8822bd8c6ec05820fffffffffffffffffffffffffffffffffffffffffffffebabd45ed5cc83fffff03e6842f1c8eef7400c81617929273b2ddd9789152a5c13d23ee7e1560b03a8c5100581f025759a96bd42a7c0ce5a8b009614b179dd5f5a7e32c9e3c2b79f37bbddaca4a043c763766da5175decf00581f02990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5410200581f020fd28d7fe37eaba2a6749ff1caf4919a2fb2111d15f1964c0dfc51540ee65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192050005820031ab58715d8782229a8cffdf809f463b6f4c676a9a98a08b16a9441376fc8404976720b6c40d574e803033e2079ae6a9b501ff501471bdda442ac08c1466075ffe585633cc7e4318ed48200582003638a5b63644cf58b04599aacc952001e3b7a34ede4f5a695e8507600c272104a025f920258d4682f7f590219ed97032ad7b1ab822b62a77a1e0b88ae8a553e40dae400ae5989ce16183fa7378bcf9c0350da209bed2ccb56b4d4925ffafbdd6c4a20cdf074cd88e7b4bba20ef1602991036c47bcdd6d32549a52a38ae4b90e62121411625c686b97ce71bca876eef0153a03ef092b2f4638742219b9b21dd101c63907c8b8deaac30043dac2da8591b54700035bcb011331b0fbbf901d01a5dacc5e7799df9f96a15e02bca5b3d0de1d35496b03f5c9e9f34ad20418baebe494a9171e02c61b23f9b3a7f116fc7e899010ea0f8803b87701786084d94f886c91e86062fbbbc9bfce0c15e1ec4ee7f6a84f4370a59e0058200306386dc533fe617c27d0eed97328329a075762e66e78939593c161ca959cc049564ff1bfb21d4891a7005820038cb1c69d08655768c6d6f5c68428920a6479bb299704b32c6ffcc164a9cae04b01fdf36304315b59c29e5603237bee51204c6914bdfbffbffcbce7c9651ddf2e4746bd8626310ca0e6bddff000582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7041050058200324785c33e17d425bdae3bc2f489151a86cad5244a622af0f33b2e8f65db8304a0203626b78ebadbbda2b0058200330d3f5bbe342cbf8f130e0879f0bf9abc53347fb000248f35fb3f46dac78305820ffffffffffffffffffffffffffffffffffffffffffffde1c9b723ccbd00461000058200332b85482b361f5416a5720bfbac6d0ea3eb59e3f75319bd28fc8dedede4d304959a3117dd0998d46b00058200399f2d1db85d366c9d1e9580a9c34156209196b9a40bb8147edc0c038151ec04a124b927b27f93ec4fc76021919e30219ffff03b0e8c02bdcdf8b3f94cc6576ee7b458239b1027f1782de80bafaf0cbe0836af1035d01a3c85e3f8f7a708c62708b91255b74b1ab0f82fff2da8b51db8da2870ded0383612e3646288b149ba7b1f68df9c5b4107ca934a5c003e570078fa65bf53c0e03be465ca8b95eac6fe5f3a47c0d2871011261a70d44c302c50527c5abeda30d6603c9366e6abff864d71fbd4f17fd6fcdd43eb11f82b9c6a266c13761cc4ef700d700582003d5b9032620977fd6a6bbf3af7545b82c471ca80bc5a5b5ce02f1d1fa2b491049357169053330d61a8b00582003ab22272455b3522acb190567bf594ea9353fc502feb06645681bd8c21e2a804a04073789fda628b24eec03b50a90e469725a3d801ef1a4efd9c182ab89b1cf8689333ac61b7ed5cd0a04b800582003dd504b31b77b86ce6f2dd0a2b9bd28cbfd349caec8a5bb03f214a625cdd9605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003531dae9611235290ba75b3c188050b137de42dc53dd80185bb1fc5e85fe3a05820ffffffffffffffffffffffffffffffffffffffffffffc35ad36cb6aad1652d7a005820035c488535369ebc6652997da2fe367cab131223389b19b996c10fc913ff5a805820fffffffffffffffffffffffffffffffffffffffffffffea0ce494095ac9db114005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30560101261dd1387287d5730232f6f74d49f9e8337b36050219b15900582003463820985792a08c20cf5e7701fc7e31b437be29f619603f60e388719e55804311033d00582003ba5bd528cfa97b8c1fad4fe9456850b10b92f12e11b9a102f7e64d821612204a07a7e9cde9479bcb0a6e039004a2854685a055c9f7db2b28cdce7866e01929f705e6f99644f93bad42136e005820031021d49b0f8dc8ea203826007e209f5ee3869ad1004f4ff6a6fae16d710f304a0ae7bb19f2120d1a707e0058200367d9448a6c210719363bf0261c4aa8e3945d1f9e3adc84bbbc5dbf7cf772e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039948594cf36df0b9be87d52cd2e5c173891f08d4f64178fddc230a3c159e0f1f021914d8031784d08224585dd8f542af5bcddf5c4959d8004586c3871b6a670cfaf65ffa60005820038ad0606d12e93a7172d9364c1de556f54497d22c4389561f822ccfb8924ea049ee5066f777a57fcaad00582003ed0beca6fff209da53e3abe5c096b6618b8e039804becf2a4e6ca3fbbfccb04a0180d452a6eb81d29f0500581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54315ed60258702f8d159b98df4c0dbeb1d7d776df00581f022f5b81eb2a32e98232265c618493d983d3e14ab3505bb9ac416061def48a5820ffffffffffffffffffffffffffffffffffffffffffffff6f76ba7451d9dd9e22021400582003451337fb21454d09d6b07536264bc5de12446a86504d9f685ed7a3cf65fe10495f3ee0c371cbb6d2c700582003dae687d8c9f871bbd15236f4c1eb2dca2ed20bdfd3b4ce27b29b78b4cd0180496986b9e29c76fa900a00582003ea4d81733d595cf6624bfb645f52323c91ed6218bdd18c591db4b8a7c160f04a0337fe5feaf2d1807dcd00582003951d5f49fc1b1d45b27855023c42862f5d2915a2ee184fb6f3435979f551d04a0dedbee26bc597ca33b20058200368b44683eb5bcc23b8455dd2a75d7b851b58a2bd80fd1e0ed4da8e46f755005820fffffffffffffffffffffffffffffffffffffffffffff9a5b25da2cfe93fffff021956b40353f00de84f1cbac9aefc842f94058db95363b919b8cc82e9761414aa9c3ec24600582003c17532d63598353db24670664dc4dd26bf0ea3c61bfc3256c0fc9b4d5982804a0ae7bb19f2120d1a707e005820039e522d4660994560073f8d2e15543ea7dfa4e10ed48b97e13dcbb6c3711b5049d8494f5ff781fadb4a032f84c6bcc70e07057c99b1f9534792f6958a59aa34da5c61e974655eb49bd12c00582003df6dedf5162ac91dba547ff370b69ded4b720edb30f9ed2e1222064e2fd3105820ffffffffffffffffffffffffffffffffffffffffffffffcde053a3e9208b097f031fe1d2e6b2ba0f806b4f398833b9bcf47334541104b4f3da02d063239acdcbb600582003273a8cf798825ca688aaca19da5b532b7118e73ac1c67cf53d7ea3b2e9fe605820fffffffffffffffffffffffffffffffffffffffffffffe994f5d258eb36d7d9300582003fbf4b3e40f0dcd462d131d1605442e0fa5dadb6ed4fe8a7d4da4bf9cfd72f04a01a932fcf09b2d2162ef03669cfcbbcfbeda1491b5e64addb7c8deb9a5d64af613e7b9b79339a6916061ee00582003f2b60c1cfa17569c6400184c0fa65da3f766a7cb189341d0c6dd2a2a2e09904a04b64955f3cb8ff9ae390058200388d241fe553b6801ab40af62c13175ead0b99dfd4388583ebf87dc206853a04a0aae931a68549ccf8608021956d703bf4cab70fdaeafe441d361207af46efb8a6ade04a2f9f29c0e86a6851e35ec1c03dfcf8fd01fcf5323b91946d22edd9c6cc67e1c49376991cc7611cf8c48b12cb5032258df187dbd27ef8197856b07eff34581c6fbec880b0c2d1a99289ecfda789e03a80703dc98c03d22a3bc0f2ccf1a8387e0152eb31826e7bb6ef2b215cf0a09d80399cfd888d65ec5e4dd399c6a457ac8b5d57da9abcf775b44be2b7954b44c952503093544d4e8d8e006995ac5eaf8b09803e7c70575d4c9df78183a072024274ed803ab1470d5070b5b037644ea2343ef3aa658b41c307369c431d3f90e82129ca7530219ffff0219ffff05581d020d8e8af9702214d3ee61be05a1003d93b7061092283212b34f6edd3f07011951750219401005581e03f755b51e679762d5ecc9ebc5535cd6cf884b45bbb6f1f89fee36999160040105581e03d6eaa5ab8fc3304cf66b32f0136162740dd23875ddfee7bc6c683e819004030371a59d1a2bcccf2655d5720ddb8e9f68a14eaa28f39af2364b7a41b8aeea49d4034af83eadbd4be579e8ac5ea1c16b5d6f3d9db5f15f7858f3f7d2e84a0e5e02a403f9e15ff28c2c6d2765adf286f6e5acda9b3a17a42c417dc397e7f69c5df71c8703a1e38fb43a7e690e751eaa1fb05f84513d9fd9b7ded2b0118dd68aa5dcb3d50f034468e0c3d2545de7bc5c18b402bd31bc5aa668ae344cb08ea923c38ea7181cc502196bf703165b47a7704ed364b270b30f8645dc0c2a9d816a10ae882a188121cbb5ac84cd035f5644e4c8de289201dda9cbe954500ddbebbbfd53bcd26ff8bcbf1ce1ee003603d7fc4eeae5c49fb6e7b7ca9fd46ee8e5bb232aabd926c73e1d1261a5c368e5da031cf93eb263e0eac26688508f59628fdc06f531c977d75737449849a2b833cd1403d81d3d3cb40036e08345ac908f49b75e8cceee7c95de0433576c7a1b2dea864c032e0afab232ca11d4da312893b122020169e38083892fee2e599f9e572d2fe2640315837f8021fd09b469e9f169c2456b35d872de923698f87714b16aa137c7b5a2033de6f08f8f4defb5aa028c6747345408b3c596c6ad6564ce209c49accde230bc0396dc27e4355218db789bb1073920b18fb9f551d844851cc9c3bccc464726e356037ed103ab3e6a4106cf980edb54f05aa91bee6318714b25eb6e5b2531178c13030365af6ce50dd61a648936bd914ba6931cf807c405e94083cb8ed89bf6da92ccb3038f3ca2200e6dffe6571fe01fdea5c93d2049966d5c3f8244cdf036f476631fc6039a9191ab9fa316296bc7b3817e9db76cec0a968f5efb27d8501f2be137f4929b0219ffff0370222c8f3b120f88c7f99b2dfaf5a8a4264587820afe5df0a7330f81a01652850219ffff03a4fe8f9ee57930cfd7cb2e0dfcec97d0be6f76ecc1f20a4c87c9332d663c0724035cce638c8a08e03c25b2633920e59b988593b3be50f763e5d1fe6f93c13cd9ff0373b545d2923a40f22c6718c1f92badc16f3e5f12c784ae35ba7b81ca5557d79b0219ffff03bb6e14e78ebce82edef6f1d5aa3f47b9b47672ad4cf071bbbfcac88f38c7dd7703013cd30c74cd8b910c524bd9b7d4fd40627b3c3de37b43ffad1625d5f1a5991e03ad92db3996413577065fbfeb91fcdca4733d0ff36fc7fe3a4cca9fa75fa933a40361fc5f85b07bf8a6eea47ece6802d101eee361b7f16d66cb6424c00a7611ef11038d552aa2caf42ab6bfc91e90af235acb1dc318f9be11eb852c7d8f80c5aac1580352782b473b5a49f726517fb8113c2390ff40e7af22589cb9a88f7dd36dfde92003e5deb72881a60fde78c13f1db431b90e2d1d9b2d4c13104b6eb5b8e3c33aac3f038c71cbb5ffa9e6b14afe400c3b14e7d14a2abcec888094ab56e7f28db6a33060039a877252c8c634f3d0988d98675e225ac0682fc56ef9a804527ee861c1d233830354347e4e56ae449b912c014ee986985b25eb841c5275c1dad7eff50d36fd8d7f03f8d6b35a0e1e9747ccc6088f50480ecaeaaef477b179f7b06c2893c23e7670a103ba18fe9a3cbf836be3e3b7eb93dde3579a96ad444167fc85e93722877d5cad6b034c286def66141f5f3f0341a07c07eebd014bacfb74b493f384d13f55db43a45603ba359c39ea47a02774bd30b6b9f2364b94b615e437a58234aa9dc18a630e2c1803b21cad0944cb4ad155df1c915c0f6160531ca2caba6b059882ca700243cdd02d030682e7cfa191fd0cfd9094c1f0746e2dd5c453049f942bd7be34a4aa3a6d87ea03281e8209543853f5233aae816a2f0ca2971f7c7bf286087c212212ef7050dd200344cb43eb040f6bb9366d188cf03a4089fc67685fb0a21751714497bd73cbc75c0394182d536d35321e950e879e2db9b11dfc2be98f6413509f48bdf755643f02c20330710ed8865ea34277918db03c03061fc8c36fad0ba82d100ccea110e9050b7d03dd9145e92ccba8b9661369a9b1565dc280c42864fb6bb8452d9bc424a400ba8b03fc0df88e7bb8421474848f1d7dce565591cb8ffd480d6b9d9443bab5c15b7792036ac476b0e1c217dc3165f1b96f246f2d93086997ccce71736907f9b688a79ce103e29efc27709676352c5bfb038e4a281bab93f6e3f8f31d793e26aa190ceb6a940373232902e463627007d26ef95f82a89a5764abbb403d2138de36c5cfe0ec2966035136e61b44eacb676bc37c816bb61e0ec9db6eae1c9e8640af7dbb09212eb71d03fcacbbf22751ca8bbd826d4361ccab97c94eaaa3ccac9d73d88fc66d1c52c10a034a1c1f5ba0db5532ca495ad1e1c62978ceb6ad5806c56f1c4ac2dd1b71fc408103ac18153c61f4fa8b6c15721ebe1986a1a848a2511fcc5ea39f712d5f2c24d4cb0329749a5eb29d6f7d94d7f7e1b5100be4acd7c14dfbc530bda1183e8658064532032c79d45b6a3256e1f1d0df4838040480338fe8dfb7cdee479b9421410bb216e80342a65bad0dd3f28abd13b08b7bae357095473e26e82d8a634d39fe0081ecd9650376c4fd5ed2342753b99500a668c5665714c7485c589bc4b0d8674b72e82cc7c703d00884c86b4047ad08123d53dedc4235fa6384fc75d4c782a551242002bc703403dd3df3577954f2cd63b4820e001f2268a1dff4beeceb19d60f742d39487045da03e95846b69e93230cfbe31f52c3e4c36cdeb9c1c44ec42ba2d90f90cb6bb69e8503c6a0f0927ef5f51a6bd332ac3990712c92e3630dc224a759308b1211a601be2503fcccca6d79e6c6abe4ad12f30780b3fe928f1fb9f0865a2da48d8ac6757d96640316987445b80a689f6fbd71ec6dfc0051339995d1641fa36fa3806bafaae300c9031143a3949b0468be1b2f0117e7f8ab582e0d2ca27a731f996cd0ddb1805aaa95032d6929386c03b9689f2b6d118e5cac5ed4b82da344c5b87b42771c121f9d2bb7031f0af4c10c3015e7d9f4386b9bcaba7c05504767065398ec55ac1ba1988802e70380e69116e5c93d71c40cf99c792480033287e779a657933afaecde3a844d0c240301c5c0bbc9aae9f6bbd7a5efee1587106ed8bf0605384e23d1cb0c2caa57084d05581e0368a9de0d779945b2aca7cc59dd5d154e3075bd9830064c132025fda150040505581e0351f127599e972af578c5a1b79f4cc37955d997c672d568679b941575a0040204591dc6608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a257806395d89b411161007157806395d89b41146102a6578063a457c2d7146102c4578063a9059cbb146102f4578063dd62ed3e14610324578063f2fde38b146103545761010b565b806370a0823114610232578063715018a61461026257806379cc67901461026c5780638da5cb5b146102885761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca57806340c10f19146101fa57806342966c68146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610370565b6040516101259190611367565b60405180910390f35b61014860048036038101906101439190611422565b610402565b604051610155919061147d565b60405180910390f35b610166610425565b60405161017391906114a7565b60405180910390f35b610196600480360381019061019191906114c2565b61042f565b6040516101a3919061147d565b60405180910390f35b6101b461045e565b6040516101c19190611531565b60405180910390f35b6101e460048036038101906101df9190611422565b610467565b6040516101f1919061147d565b60405180910390f35b610214600480360381019061020f9190611422565b610511565b005b610230600480360381019061022b919061154c565b61059b565b005b61024c60048036038101906102479190611579565b6105af565b60405161025991906114a7565b60405180910390f35b61026a6105f7565b005b61028660048036038101906102819190611422565b61067f565b005b61029061069f565b60405161029d91906115b5565b60405180910390f35b6102ae6106c9565b6040516102bb9190611367565b60405180910390f35b6102de60048036038101906102d99190611422565b61075b565b6040516102eb919061147d565b60405180910390f35b61030e60048036038101906103099190611422565b610845565b60405161031b919061147d565b60405180910390f35b61033e600480360381019061033991906115d0565b610868565b60405161034b91906114a7565b60405180910390f35b61036e60048036038101906103699190611579565b6108ef565b005b60606003805461037f9061163f565b80601f01602080910402602001604051908101604052809291908181526020018280546103ab9061163f565b80156103f85780601f106103cd576101008083540402835291602001916103f8565b820191906000526020600020905b8154815290600101906020018083116103db57829003601f168201915b5050505050905090565b60008061040d6109e7565b905061041a8185856109ef565b600191505092915050565b6000600254905090565b60008061043a6109e7565b9050610447858285610bba565b610452858585610c46565b60019150509392505050565b60006008905090565b6000806104726109e7565b9050610506818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461050191906116a0565b6109ef565b600191505092915050565b6105196109e7565b73ffffffffffffffffffffffffffffffffffffffff1661053761069f565b73ffffffffffffffffffffffffffffffffffffffff161461058d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058490611742565b60405180910390fd5b6105978282610ec7565b5050565b6105ac6105a66109e7565b82611027565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6105ff6109e7565b73ffffffffffffffffffffffffffffffffffffffff1661061d61069f565b73ffffffffffffffffffffffffffffffffffffffff1614610673576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066a90611742565b60405180910390fd5b61067d60006111fe565b565b6106918261068b6109e7565b83610bba565b61069b8282611027565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106d89061163f565b80601f01602080910402602001604051908101604052809291908181526020018280546107049061163f565b80156107515780601f1061072657610100808354040283529160200191610751565b820191906000526020600020905b81548152906001019060200180831161073457829003601f168201915b5050505050905090565b6000806107666109e7565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508381101561082c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610823906117d4565b60405180910390fd5b61083982868684036109ef565b60019250505092915050565b6000806108506109e7565b905061085d818585610c46565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6108f76109e7565b73ffffffffffffffffffffffffffffffffffffffff1661091561069f565b73ffffffffffffffffffffffffffffffffffffffff161461096b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096290611742565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d290611866565b60405180910390fd5b6109e4816111fe565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a56906118f8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac69061198a565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610bad91906114a7565b60405180910390a3505050565b6000610bc68484610868565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610c405781811015610c32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c29906119f6565b60405180910390fd5b610c3f84848484036109ef565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cad90611a88565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1d90611b1a565b60405180910390fd5b610d318383836112c4565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae90611bac565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e4a91906116a0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610eae91906114a7565b60405180910390a3610ec18484846112c9565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2e90611c18565b60405180910390fd5b610f43600083836112c4565b8060026000828254610f5591906116a0565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610faa91906116a0565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161100f91906114a7565b60405180910390a3611023600083836112c9565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108e90611caa565b60405180910390fd5b6110a3826000836112c4565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611129576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112090611d3c565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546111809190611d5c565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111e591906114a7565b60405180910390a36111f9836000846112c9565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156113085780820151818401526020810190506112ed565b83811115611317576000848401525b50505050565b6000601f19601f8301169050919050565b6000611339826112ce565b61134381856112d9565b93506113538185602086016112ea565b61135c8161131d565b840191505092915050565b60006020820190508181036000830152611381818461132e565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113b98261138e565b9050919050565b6113c9816113ae565b81146113d457600080fd5b50565b6000813590506113e6816113c0565b92915050565b6000819050919050565b6113ff816113ec565b811461140a57600080fd5b50565b60008135905061141c816113f6565b92915050565b6000806040838503121561143957611438611389565b5b6000611447858286016113d7565b92505060206114588582860161140d565b9150509250929050565b60008115159050919050565b61147781611462565b82525050565b6000602082019050611492600083018461146e565b92915050565b6114a1816113ec565b82525050565b60006020820190506114bc6000830184611498565b92915050565b6000806000606084860312156114db576114da611389565b5b60006114e9868287016113d7565b93505060206114fa868287016113d7565b925050604061150b8682870161140d565b9150509250925092565b600060ff82169050919050565b61152b81611515565b82525050565b60006020820190506115466000830184611522565b92915050565b60006020828403121561156257611561611389565b5b60006115708482850161140d565b91505092915050565b60006020828403121561158f5761158e611389565b5b600061159d848285016113d7565b91505092915050565b6115af816113ae565b82525050565b60006020820190506115ca60008301846115a6565b92915050565b600080604083850312156115e7576115e6611389565b5b60006115f5858286016113d7565b9250506020611606858286016113d7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061165757607f821691505b6020821081141561166b5761166a611610565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006116ab826113ec565b91506116b6836113ec565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156116eb576116ea611671565b5b828201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061172c6020836112d9565b9150611737826116f6565b602082019050919050565b6000602082019050818103600083015261175b8161171f565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006117be6025836112d9565b91506117c982611762565b604082019050919050565b600060208201905081810360008301526117ed816117b1565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006118506026836112d9565b915061185b826117f4565b604082019050919050565b6000602082019050818103600083015261187f81611843565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006118e26024836112d9565b91506118ed82611886565b604082019050919050565b60006020820190508181036000830152611911816118d5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006119746022836112d9565b915061197f82611918565b604082019050919050565b600060208201905081810360008301526119a381611967565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006119e0601d836112d9565b91506119eb826119aa565b602082019050919050565b60006020820190508181036000830152611a0f816119d3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611a726025836112d9565b9150611a7d82611a16565b604082019050919050565b60006020820190508181036000830152611aa181611a65565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611b046023836112d9565b9150611b0f82611aa8565b604082019050919050565b60006020820190508181036000830152611b3381611af7565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611b966026836112d9565b9150611ba182611b3a565b604082019050919050565b60006020820190508181036000830152611bc581611b89565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000611c02601f836112d9565b9150611c0d82611bcc565b602082019050919050565b60006020820190508181036000830152611c3181611bf5565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c946021836112d9565b9150611c9f82611c38565b604082019050919050565b60006020820190508181036000830152611cc381611c87565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d266022836112d9565b9150611d3182611cca565b604082019050919050565b60006020820190508181036000830152611d5581611d19565b9050919050565b6000611d67826113ec565b9150611d72836113ec565b925082821015611d8557611d84611671565b5b82820390509291505056fea2646970667358221220d3a8be12481b9394a3e0bf7771d6646ea88c8adecd6aaed04c84dc1ef835917d64736f6c634300080a00330375feb2a5737949e6be0f13a78de422fb5807ab732991316719ffd0a22fba7d0a03ed58a3024412e6734d636e5bacbb216fec9ca0ef0610f4067d676f3250e7cd6a035992a82e0608783cdd012f23142c42ba9f463923e1c87db921e7f695916ab42b03fa91e6281a53ffcd0b578f55e0b92add0be62e3e683ed9f6696f4a627216960803ffcd6483fad58755f9b78d37e1c99c20dbb0ae786c7891c69c160096457104cf03952b9582d3a68bf27619399a04b24531cba163c144596963b7f0146657b18968032197ed54a8cda4b02f867c825bf3c140dace9f6f2b7dcdab33964b52a4df869203952efecf3e16c3df0aaacc50bcdb75b1d191f3809cc572bdd6dbb5eb1e3d554103ed7e3712ed1b542b117e37cfab48fb959d971c75f623f23e42f7dacc881e924b0328398fcf7157b0f1afd12b00deb11f9bd5d805ef5b17f86927b5d0740f30ca80032d7782b47f57350f39754f5071898913a8f57bd2d08437ef7cde53a0380acf2201410f03c15142e39d3efb369550b079af7e44a7f29522a2df1271ae9d81c09a4571f623033f6487240ce735537128fd866142a80f9d3b21ea289b3849e6d1add04a9df194033a27cafb85c457da1708ed85264626e3895d1df93f035bad357a7a65e512fbce00581f02de70842624960171925cb60f53ae1f3fd322e1bc1cd0bbe1d0cebe027dc85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ae1a0e5b2d43d1551fbf77d6cb8a997c9f5385ed160e74700eae025394185820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02fd937f464dae5a31114c80aea89d46edd303649bdc3927ba552091b44dc95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a9b22c2ae7ddf97dc1aa89389da4a6bce31e1de507f6f4d3a47f640012af9ed40219e10403bad5294f3591f694aa1c02c1e5f4b3636ded9f8d6a942a076af9665f1eb8be0903c95d8426377ba0af1122bac86745b4cf3a8fd1396db84a7f230da5c0ebc0be38037398438d20437a14199c7b5c062df7beef8d397ecb047a77d9a765d57acc93ec039547e0e53f51c6377c9975056d00f22f2465ce42d12e11874af328c5f974d9080219ffff035e9925872d2f2ca10ff0961770ee7117897869c73bbc47f9e17aa47df358afba03c83acd24c5848e382cede28f60ed60d45e4e0360f88b66add49b8c026d81b684035ad5f040b180b17353296884ed4d071d0f6c2522be3185c71284051b1d5e073a03c0e7e466ecfb0ed7ac339f85019fbf6a5aab79a9f84e1b7c0a45738b66342da60375a253577ff7ffbff5d375e3588ac2bf39199f81db56dc43d87ca055a042bfc103ef6840dce19094e872690e60cbf16a1bb7e401f5c959f6e289b761d6c801467b031d263ffeb68ff11c6a6a37797d4081b56c668ffa134d8619dd962c4e6ec3b1b203046144ef95bd518e776297140c867b508acc93504a3722d19eb2edb7794bbd07030d572b4cacecf09d9a923943cc6c585fb11056daa67b87214c20fca47aba5fbe03dc80897f7f87e3df2bc099da8cd3c7693417286e064f873fe67c65ec03d0e89903bb0fd886fc3911a5c59c8aeb1f5719fb873ae6695c61e1a85e446b5477b4f24d03b39c4f372c1a58d7d150beda71306dfa6cab3daf6cef120e0f02c56782d6d1aa037fac1cbdadca1513120c8bb00796d4455e1255ad96803847580c812d71f3c6e303cc454df3df9b7bca637eb4fcb94d7ab6ab59c53267f68d7103a966c080e9ddb2039c239a30c4ed136dd6deb7f41d24fa0583d6827ec5959b5c3e79063051416e770219ffff036946b1eafd274c7f347e89e17262ca4d30b5c1495f79dab8ca5a0050a6546cf403f62e3b0b153f70813b6f96535b26a8a9420e68e6e2e82dd68bf96163775ab09703dc42979d2c19efdaa049012f9ba27e24f32917ba61fb6c4bb7e303e683db3b010313c6dfb87f2a4d685d356830879e8297e78ab98e0248c0a8ffefa072ac6d001803aff40181ff0ee7847d4f5e468a43e84b7c32f56ac6805f30d7f9e922b383754f037e19f77e1e0e071c2b2281cc89e4c20ccf304e2a9a4a2975aade5f2129639f2c035939ee209fd024ea6b5340fad9b1d50b313faa4a8b8f3321ac8fcfe52e8680bc0341e26fecc13e65bc21a0dede921bcdaa908dfbb48eba15c02f0a9019652ea8fb03a2fd5ed5a31f33345a34ed6df7b239db0becb3b1d13e2addbb371016508caff403e72f6d86ac5805ea045881a3ff82268bf7d84d75bb2a6cf9ceeaac0d134cb52d031e25d4de7418a7b2ff028f5372ed04fe602269fd220eb6eb81dc8f52eeffaa6103f1ef6228bc57ae7cca75a4301f076c6903ac82a43803ca418b09a9bec40f9d38030bbd2ff0f01f4b50c7f1fd2419208b80dcc475a726ecb3902a3aac03be9b6d9d03bd3d22a62a93b5866c943cc85105533126c9e5793d103f2258216fb0917989b103cb8ebe64b2ba75b6e0f517e458feb109c3ff5df146e5533bab611572c1f20bff03baec072db5fc17d244b37677db25a20b1638fc408c7d73655286265159f701cc03fa13fe2c785ea31b0a5f36945472e1b5bb41daeb47db8297fbe49aebf81f16cf030d791a498e6e34ec1681d1f8f4b844373160d75fad9106ed0adad7a58ff5641e039040a700fc7776afba596cc0fb90dafbbded5cb8259ebe21c910cec46ba0d30d033c7427c81b7a9c62868b71d8c1609709415f658eb64fc69f32077ec9846f4329038a0e2613e0241f32b84aedf8bfc92cb4c21b71d14c87f366887edaa560c7140203e75977e77c308c957c4cc925934afb742c53a39f05a01daeebd287f136530520038484c32af032593befc000228e1b8bfcedbe1366d5a29c1f1ebf6726e410f75b038e37ad194895422756156a6418be2615e41e7a96081ba9a491a863680675d56600581f020db25c6bf6b1f78079a0b574cc06ae9b920f58a4cc06b6a620ae89db965a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02db45676d56bd8219f43ee210ea052476cb708c773d6f480108b9978552cf4453d2fec900581f03aba8ee8ff9a69c93937a99b6dc0e761938a7f966c78fda90847dd26b9440428bfb00581f03cb160975219a04eebfda6581dbd97ce6cc995d7c09d909b4b5dacac8cb205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03cc745c73dae895292370abc9d7a92c92e40d01e9f5cd62f1d9df8433d1a0470de52e5ead9a76021826036ff97871bdd43471df569ca2f06a5e2dac5193fef9ba26cb98d0516a2eec141f00581f02a59bcca2ea2cb072f9f8f27c9537ab71438998f75c556234a65c254109ba45e91e5697640219ec40030e2d7646199bd72a32c0c69a9b8c450a0412e5330cc62fda36f1880f69dc791e03983dc111a4acc62730624617c97fced7d237d6ed40d926885b7f42e35bb5eb7d0367679c1acefd368fe93adf58546f2299d7d8b67e7717869865eff8e804f7244f03e7c44ba44378c9b1825ae2e8907049104bcf684cff151990bba366439e4a735703de978752a749c30f6b5c96edb476c00593f8a77bcf44973ee301d3ecc8c00239035455a352e2562ae243d246c6bf6708f4e16d3b0e202dfa0d1d45fbe2a8011dd20219ffff038118fa8ea816e2d307aee2ba8662317bb0d69a4ab7590eb1fb4eddc6b7c2e7f30219ffff03ff2db1bb8a1e73cf9a40b8c2428d0fb195e205d60ed76cdeea7a60cf8fa5690a0369ec457e0e96e606ea44d262da081a56f260db6a855b1c53f8e9fe7ec7aceaf2036be7166c605abc3567f371a373b9f7e9bf8952cf7890e7685dd9aa383172096d03401d1fa7e7be92f2e231811c337edd9d35af39c993eb9259266ff01ff7794e780311b04ca622b01531269380425ccb70f7b080f3f4fd10c57630df5807f651fd9303f170a5dfd12906ca5fd6ca6bd81f1d10c944ef7dde77f5d24f7427c1d7f125ae03fccf60faea8b7b448ec9efe42df69d75f631b41a4e29f87d55496525848810d5037a5c3f690ce99afa8ecc68de464779e7c661dc2d25e6f1a3fbdf22e43d3215f90367dd7610a7d8b3c20e0146a879b64b9ec847a3d8ad016284d06b5814393932060357e3a94df0c09e374487d19fc28a2fc9a08095f305063dd4b23b4f96d1452298032a5ff851e37c31a5b3364cded0e85e78e83fb575db85a5022c3771777e6b577103ece1e94079020586e6a50acdfd59eb06d873030d3621d39eb2d3b72cfe379d2b0219ffff05581e03ab7d332e2fabf441ce44adf6a8bd5480c395b68c3cb7cdd789a58c8e800701191dc605581e03a358e04abdcc55d4b8d797b409115d70a3d79b7904a3f8a5cfe73b57b004020330ea6045bd179fcd3bbfc77a276590581214af77246f4e048e1f60342be7bb39031bc502837ed877693893d856c47e7f32d88efb50877b4f730cbcdf901a3c61bf03c5057faa486456a08600e89ff799f6ed31e2fa58f97609985b792fde62f5e12105581e0370db2cc61d9dedc11b82a82ba57c50d880536f87296e776b6a08e1fb5004010219ad750219ffff03eca39daac46de2cf99df900c60b83663a700f50b89ec5b58e24b57647a34f73c0219ffff039302e10bd4561897c260f62e2129123f3f867bc7178bf5f4ea7c9f59a5a6ae57032f3e4e613e89098c72056b688bb7248f1d38881fba2c73124162a9d75104962d03a04e8583217ad705301d4f7a9e337ee49ebffeab52f26dc9da3d6a0e83fa63aa03a61654e878ac245477b638fe5c9f27fb6c5e22658dcc37766ec39cd570a8111803dde1b915400eefc785b94fbb0c5f69c75fcd9dd489d4603effa7d4b186e921cd031770cd0b3fd6cf156db4758cb50bec2cd8ea0f39a6ff5afeba6e841f95f3d320039e6a4757f3f4f5056ea52d51c9ea07b4c4446855c9a470c2021543bd7acba74c03b7ab560cf80f890a8e345c92b10ec78b5b83079bbc386a403d0241e66a6bc32f030c1b5da640eefc459d47c4d86d12207029b73bf92577889f075dc24127366ac40219ffff03fe57619df20bbf90e69b3f211639f9de72dff5c8de747138184337382da49cad03d94ae5381c0c549f0b01a63ab0dda4ff1a4462401e5c217e5d87e375efc4b92c0219ffff03e48748fedddf38aa724775b0ff41009cb559c32cbb605caf682b1b733007a5f303e7d52b8ce09ff2174536ceaf297b65afad587660781b7efb30f57b68a450e09303b0c192896602e32f4a2b620ba339a4d3dc4f5efe5682a40d13432242ac398fb103cc898860bda3b22d48760397f2dc70544b51028a6b6b07e5e40a3a23277770d503985c0b2f26813657bc20ffb43a9eb988dba7ba2c344fa6f4a770ab8505a445c603f1f36bb18460437da09ef89e63c583c3d82bb0563c6f8d3ff1786d9be5d4b301031fd642954b7e6e0e958784083e0efbb981967bca508be16d56fa934957ee57d403eb0bcc41fc14afa5e85ea1b70594c5042694ee0c5aaf95c30ccb59a6b6665f25039e87f2c00ceaa3a57219192c94e673f9cbc9bb7b79d59e199098953fdc70f4200316b196716fc4405782e1ff6f639ce598c3b051c2202264ba3749d34410bd0ea303e1c86430a31af5d3fa5901aa77a3dacbc4ee060490fc872e23ce8d1b53be3a6d0375cbb60a032d9e75d7303399c4ff53b9c4e9ff29c447a83c101f61815232cad70382da0bcad29d73ba00fa5be73bba69c953f60cbe92f5a666a3142c03de8f378e034c6b5645ee5b5a16b4bb80d7618bcdb724900591c90a864a5b1c8d1819c26b25031dee2c3287f4d415f793a41813fa78bb95b29a3bec531c0a11c579531dc02f10039bfad165c26e3269ef5d82b1069c345a19086ddf1ee1b8d411752b604e032b6d03ade5922f2c58788bc50baba7476536a038131ba94210d7f3901fb3913f96a7cf036d4e2df9c82302ba81ef19c9b0e07d749c66bd7e07f099dd55616e75631c45200336a77247cf55d3cac22003b3593dd2f7df0909eaa56d8d3be9dd18d1c5db6b5103fbc8c9a6862b705168421d87307bbebb65e12f45337913313e8b464d3ba69a0a03a83b76c7b70a75a91e2348db84b492ab8183ecaff719fdba8399edf72bed02fe03a12b4f78d4e3e588ae7a00e8b09e25992ce0382878483c2a1bbc064ab6d3fd9e038c34464ef2f9fbbab7916d7a341c04bdfc11f156bb17828397aa19399601532a03d10cbb12d1ab89043082086e37b37ed2eb51fa7d31bea107f465b3d7b29c9008033ed5302798fe3174e6f917306015a2f5d619c2265358be1489a3ef3e7b0cb461030066bac7610c4bbebecd1d189c5896f86ebf4255ef970ac8797cce379520ff7e038954159aac71713ed7b4c07875e16558254813610500afb1efe2f52c5b26f134030f7098fde144fe7a697f26c798268c642ae1e4b89c82c4066f32fe105e191c8e0342870f91dcfee67cd7affb67c71975f33fcd50cb1f2d7917e597e9207cd4d26e031886d3c0126777ea544d5262869ef0699d3c1a6d46b8330d6e07b228bae7fbc10356d65ee3541b71bdf6a26749ac0c05c9be844b0c652346fcb966e169084ff0c4039299d990e4d76490a2c6059a6a115e03222f1d3543f12a8bac48f2d7fcfb25a40329581ce0546767dd9e7e298278f7831c41136bfbaf87c74db9506179856b37700399fada9b95d9e18f3f67cc573f6e92bfffa9f74e24dd9bd4619cc40b96118827035f85799e6e8e7c9a9f49cca5642f91a364454a2c7c6cc484af7585f47afda14e031ebe4e1ba66838d5ecfee52382cf193430ec84e1c34d33959db7e839802157fc0373ad6f415c80e1880bd5ad09ad7c04f31ddd40d5c8ef3ab694c762edd0ffaa180384e37ffaa7ac93f4a74d72e8d6cebb02af43152e58f130e61a2feca99f6920cf03ce0b5201a86a398cbc2458c3dda4e09438198971eaff5cbebedf462a163c79c60320204a13ffffed0129788b0b5998221d70dcee3b3108abfbb66455763b31ac71033b5aa40a116e3de48cff9c7b1a26f96010074ad6ec8e7e30b38c3f09b5c259360334f217341040167695be77ba59a48298f6a2eb16d600df96d6da784eeae90c3a03c0b952dbfa702af3b3cb6a65792a769200c1f6e3b0d4fb604f692ec8d6b6cb73033eed4f9dac4203addd508063a0799ec489f4c11b874a70587b11b8eb11406d2b031c197a50a6b88426413480dcbc80d5500644c38e6d1355f2047a459c219b3f44038a1bb422949ab106d7fa3cccc2483317ef1443c49e403275931d257cfb81f73303b335af13313d4c13c59cab11547bf81ccafae3ab42a7936b6c81e13e3bf0e68103318e060ac15c3ac9dd42ab1ff91f47099eff1a1dda217c74463fa532ce510df30399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803a3c24d3ef03cd9a7fd1aa50e9aebe4fe34ab888ea46b48eb2e9f9dfb015b170e05581e030872efca8892edc365279a4eed9a8bcd6fa375cc87a089606ce80cf0d007011bffffffffffffffff0315a90c382a9f294ff49324d5c378a97903f91b940c5403a37e2b8cb3dc07c0da036f411282d97d2a8a36f9abb4778481916304a718a1f3a087d83e4643f435f95405581e0345601d8e64d135127dce8e82e6f07c0fba05b878670ce93716422326700c04480c28d2bfdd2d241e05581d02498a6a8b28ed49dfce323f84df79d6a6ede860791170499bce96910f0c01460c5f6d96680005581d02851ecc329a52c6306f385ae95ea8e475219eff65495918d0f70816850c01464a49cb29c3e0021881039d8c17875f03e4f0222799c2b1409283d953cb5997ca534dd672f6d0a507cbc405581e033e9b36c0caa3b2dc56fc220958652ad975f08db5835d18a3fc3d7f1fa00848482273d2ff264c0005581e03a2e46c9241bec9f471bf416b9b7f6c62f1e7d22170e2a140ac102e0af00c0447072e1db73afc0005581e03888d993b615688afc83b14de9a3c5db8d3408016a6c8eb4b38b0d563b004010370d264dbf4e3bd611d98c81747aa94069626ff65262633fc9a32d2182e4a9f5f03083faa4dc0850daa81701d107b24f6e3c6a3627cf08c2a7f6ab77a165a8629e40219bbdc032ea00c2797051e5d5634a5d279c305a8f0d77990977c5d5bd4c2fd8fc731474e03faf302799ab90a944d7e953be27d2b5cbfc2843f2ec0915007af02d7a8f25ffb0219ffff0342e72b56a784b6672cd3a6cab56a7e9662c78920b5c549681a3e6d5f3ab6b204032c6ca49f3ae510f58f686093da3e2c4df121867a6e72984423290a7c2d5bd55a03cd9d8f2afd02448c4a6c9da8f396fd14252b10ab6075aaed439b804dba871e1a03ff8a86c82c52d3477d839dcdf2bba96c63b3969fc39c4016016b6b6cc8c706110219ffff0317a3bec26b653e2354a853fe5c4576782b8e3e6493200143d95a517880652a5903b5870b56950ecb3663044d4012a7f50a5d9eb08e42b4c28d1598b66f91d2a65f0219ffff031e5ddc3e51db6a0b7d47bec1bcc30f05d3be3bd5b0c62b357480c980f60072400345580762e2ce658e13fc2240e66fb02c908eca3d8582d8632ebe27339be9d30f03cdce044812afc752c23e7a19076bed795a6eb5e4e9803fef4756439f481ac102034f76698ebac1933266fe7bd84033eac556034f7b504d27a6cae8cd12571fb6a1037c99229c2df5e75532f7a683eca220c478035c9d8389e513599abe0dfe8946e503b5feac910e37d9aca416d7b76e02eeacb460b9992e8311990d3d2f595c3d7bfa035a0cd6b63593678bb9d046d3efa54d12356bf17f8ff6861e7fbad32c505a377e03b7661200934ce3c86a0ae79d6f7827272a7c3fc2980cb2926c3d4b1d3481ff6703c2d3734b34f96b52d6df1796282d3a496bb3f188f6da3ce5100e25f33a41fdbb03af7e7b2c2489dbda85d780ea923e7c01011df3577b7dd137fa9f1e82daa4bd7f03753dd046338b3836787b2f052af6a41fe6dcab557048f97fb3c259593bb449a90393c1aaf93de1ab28b8ce9f4b03fdd08443f12694adc0ed82e0626c51c61409a203117c707413f7b9a016bdd2e21a647fc9eb10620d14fffd3bb5856ad1e5e3e3bc03b05299033cc824fdbdeeca1149d62b33980ad53be87c8edbe825d3a301fa03a103e86749ac5db9a509bb985f853332500cef536151f1c1890c85517a9794054f57034af2fc7c73bbf77766e15e7dd17e95433ce7995dcc80ea68e638e040a538996103e579c0e64809d527fdea7c8eaba3af011c6568324476fdd8a8913285685c94c703c8fcaa203e42a22e66bd1b39b8fd16d77e3462e36d9d8f743ce44513e0f7f9dd03fb0012baece51e327b810357157cbaa8c7ce2b2caa125ded3068eacc025b2591032301110e8d6054f57ed707dc5adb9fc04dab355cf63b3787666c32fddf6fb8170356ba0c579848b409fd16475e83ae976af5ba1004bfc1a981a27d18ceb43afbcf034de57cb226e5184853e0f047d4f74e2170de565fb1de4bf0071b6e41b39eb91f03faea9ca7f1336a90fb7a5cecef60bec03010096e8309d0bc85f4f9ad9e1e551b03fb61fc93a3e015570b71555c9b4f39a04ca59b490630f4428f1e28e9a1ac757e032e196ffc52b0c01feb05c9da43c1bcf4324ddcf46920a0def63751647d7beec203513f811127b1cc6a394c0453aececff98cd5b0552706df1b2f846d0b61afa6c3035d94b3cbe0e36cedb2a5a9eac2d6918baef4176d94f902a7186a08436edb75b90358134f90ee6b166e0c7dfce22c35f22e615f7b7783e3b2f2930b02067ab060a40346fcaf77d120f2d0c2a50a50ef7a13e0e2787b9e9e1fdbfe864b23920398a674032944154ce72a1ae0df40b7111bc4307e38b8a728ff9071c65cdf50d98c49401905581e0397efa28724f4ac925abd1fd9ef2b06147380f266d106cef0bf386114400c0446cd1b1c4c75c00358cf992d411b727d4d4054a8e34f077066133885f952b2b98af3ea1d360543f404591361600080358060e01c63e1c7392a8114610151576383197ef0811461015657633b50d421811461017c5763fa461e3381146101a4576323a69e7581146102415763c89e436181146102de57631944799f811461033c57631626ba7e8114610498578160f81c6002811461008057600381146100c357600481146100eb5761014b565b61008933610607565b60001936018060018637848582878873a88800cd213da5ae406ce248380802bd53b476475af115156100bd573d85863e3d85fd5b5061014b565b6100cc33610607565b6100e66001600360ff8660e81c1660ff8760f01c16610894565b61014b565b6100f433610607565b61ffff8360e81c16600360028083028201875b8481101561014557833560f01c80838b37898a828c8d305af1151561012e573d8a8b3e3d8afd5b83850194508083019250505b600181019050610107565b50505050505b506105cf565b6105cf565b6101753373ad7149152a65e6ec97add7b1b1f917dcafcf9b21146105d7565b33ff6105cf565b61018533610607565b60043561019e84600660ff8460f01c168460f81c610894565b506105cf565b6101ad32610607565b60843560a43560ff8260d81c16600181146101d7576101d2604661462760d31b6105e8565b61021f565b6102058360e01c8360981c66ffffffffffffff60681b8660681b16176001600160a01b038660381c166106f4565b3314151561021e5761021d604661462760d31b6105e8565b5b5b5061023a600160b360ff8460881c1660ff8560901c16610894565b50506105cf565b61024a32610607565b60843560a43560ff8260d81c16600281146102745761026f604661462760d31b6105e8565b6102bc565b6102a28360e01c8360981c66ffffffffffffff60681b8660681b16176001600160a01b038660381c16610789565b331415156102bb576102ba604661462760d31b6105e8565b5b5b506102d7600160b360ff8460881c1660ff8560901c16610894565b50506105cf565b6102fd3373ad7149152a65e6ec97add7b1b1f917dcafcf9b21146105d7565b60171936018060188537838482868660401c6001600160a01b03165af490503d84853e8060008114610331573d85f3610335565b3d85fd5b50506105cf565b73a88800cd213da5ae406ce248380802bd53b47647803314151561036b5761036a604661232360d41b6105e8565b5b60043580301415156103815761038081610607565b5b5061038b32610607565b60443560248101358060f81c600181146103c557600281146103e65760038114610425576103c060466202313960d01b6105e8565b610426565b6103e160016027850160ff8560e81c1660ff8660f01c16610894565b610426565b600019600484013501806025850189378788828a73eefba1e63905ef1d7acba5a8513c70307c1ce4415af4151561041f573d88893e3d88fd5b50610426565b5b505063a9059cbb60e01b855281600452601b1981013560245260208560448788603b198601355af160008114610488573d60008114610481576001875114151561047c5761047b60466202313760d01b6105e8565b5b610482565b5b50610490565b3d86873e3d86fd5b5050506105cf565b600435604051604435604181146104b65760408114610535576105c4565b60a435861a60208301526040606460408401377f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1606083015110156105305782825260208660808460015afa5073ad7149152a65e6ec97add7b1b1f917dcafcf9b218651141561052f57630b135d3f60e11b8252602082f35b5b6105c4565b6084358060ff1c601b0160208401526020606460408501376001600160ff1b03811690508060608401527f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a18110156105c25783835260208760808560015afa5073ad7149152a65e6ec97add7b1b1f917dcafcf9b21875114156105c157630b135d3f60e11b8352602083f35b5b505b50848152602081f350505b505050611360565b8015156105e45760006000fd5b5b50565b62461bcd60e51b600052600160e51b60205280604052816000fd5b5050565b73d267fda7ecbe322e64bf807de06e8e2284b72da98114730ff82acd0cd11bff58729e7dc9cdcdbe1fcf7a7482141773c47eff2d0b444001dfc2121aaf9b6d6db76af010821473c252ceec3ad24c47657638c323d96249a9f1b42a8314171773ad67d3a4fe6040ccb8ae703a443202ec6b9e4a0f821473d66570edcdade24edda902b28f2172e9ef8395dd83141772d2f4eb459bd4f7b175fd0cec578229bfa3bde7831430841473ad7149152a65e6ec97add7b1b1f917dcafcf9b2185141717171715156106f05762461bcd60e51b600052600160e51b60205261231360d41b60405260466000fd5b5b50565b600080818484106001811461070e57859250849150610715565b8492508591505b50818352806020525050836040526060812060ff60f81b82527307e610c722b66148d8c6b92967c99cd1ba8c7e6160621b60015280601552507fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54603552605581206001600160a01b031690505b9392505050565b60008081848410600181146107a3578592508491506107aa565b8492508591505b50818352806020525050836040526060812060ff60f81b82527341ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c960601b60015280601552507f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2603552605581206001600160a01b031690505b9392505050565b600063a9059cbb60e01b8152826004528360245260208160448384865af160008114610884573d6000811461087d57600183511415156108785762461bcd60e51b8352600160e51b6020526201189b60d11b604052604683fd5b61087e565b5b5061088c565b3d82833e3d82fd5b50505b505050565b806014028301356000805b600115611356578185821015156108b65750611356565b600f8460ec1c16600081146109135760018114610a545760028114610d1d5760038114610e0a5760048114610f1d5760058114610f9757600681146111b757600781146112215761090e60466202313560d01b6105e8565b611348565b600060018660e81c166001811461093157600081146109395761094c565b30915061094c565b601460ff8860d81c16028a013560601c91505b50600460048760e81c1614600181146109c85763022c0d9f60e01b6000526fffffffffffffffffffffffffffffffff8760581c16600452600060245281604452608060645260006084526000600060a460006000601460ff8d60e01c16028f013560601c5af115156109c3573d600060003e3d6000fd5b610a2d565b63022c0d9f60e01b60005260006004526fffffffffffffffffffffffffffffffff8760581c1660245281604452608060645260006084526000600060a460006000601460ff8d60e01c16028f013560601c5af11515610a2c573d600060003e3d6000fd5b5b505086600184011015610a4f57601584019350601582876014028a0101013594505b611348565b600160ff1b6fffffffffffffffffffffffffffffffff8660581c16600160ff1b0301600060018760e81c1660018114610a945760008114610a9c57610aaf565b309150610aaf565b601460ff8960d81c16028b013560601c91505b50630251596160e31b6000528060045250600460048760e81c161460018114610adf5760008114610af657610b18565b6001602452816044526401000276a4606452610b18565b60006024528160445273fffd8963efd1fc6a506488495d951d5263988d256064525b5060a0608452600060c4602d60158a6014028d01018237600260028960e81c161460018114610b4e5760008114610b6757610b78565b6000198b016000198b0160081b1760f01b60f152610b78565b6000198b018a60081b1760f01b60f1525b5060f39050602f9150600260028960e81c161460018114610ba05760008114610c3857610c50565b60ff8960d81c16151515610bd857601460ff8a60d81c16028c8337601460ff8a60d81c160282019150601460ff8a60d81c1602830192505b89600160ff8b60d81c16011015610c3357601460001960ff8b60d81c168c0301026014600160ff8c60d81c1601028d018337601460001960ff8b60d81c168c03010282019150601460001960ff8b60d81c168c030102830192505b610c50565b60148a028c833760148a028201915060148a02830192505b50604119896014028c0136030160428a6014028d0101823750604119886014028b01360382010160a4526040600060828a6014028d01360384010160006000601460ff8d60e01c16028f013560601c5af11515610cb2573d600060003e3d6000fd5b508915610d11576000600460048860e81c161460018114610cd7576000519150610cdd565b60205191505b50801515610cf657610cf56046618c4d60d21b6105e8565b5b81811115610d0f57610d0e6046618c4d60d21b6105e8565b5b505b50505061135656611348565b83600060018760e81c1660018114610d3c5760008114610d4457610d57565b309150610d57565b601460ff8960d81c16028b013560601c91505b5063a9059cbb60e01b60005280600452506fffffffffffffffffffffffffffffffff8660581c1660245260206000604460006000601460ff8c60e01c16028e013560601c5af160008114610dd8573d60008114610dd1576001600051141515610dcc57610dcb60466201189b60d11b6105e8565b5b610dd2565b5b50610de3565b3d600060003e3d6000fd5b5087600185011015610e0457601585019450601581886014028b0101013595505b50611348565b83600060018760e81c1660018114610e295760008114610e3157610e44565b309150610e44565b601460ff8960d81c16028b013560601c91505b5063022c0d9f60e01b6000526001600160a01b036020878a6014028d0101013560381c166004526001600160a01b03602d878a6014028d01010135166024526fffffffffffffffffffffffffffffffff8760581c16604452602086896014028c0101013560d81c6fffffffffffffffffffffff00000000008860281b161760645280608452506000600060a460006000601460ff8c60e01c16028e013560601c5af11515610ef7573d600060003e3d6000fd5b87600185011015610f1757604d85019450604d81886014028b0101013595505b50611348565b6000198560f01c01600385886014028b010101600037600060006000198760f01c016000600073a88800cd213da5ae406ce248380802bd53b476475af11515610f6b573d600060003e3d6000fd5b86600184011015610f92578460f01c8401600281019450600281886014028b010101359550505b611348565b6000600860088760e41c161415610ffb57601b85886014028b0101013560801c9050632e1a7d4d60e01b600052806004526020600060246000600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11515610ffa573d600060003e3d6000fd5b5b600f8660e01c1660018114611030576002811461104057600381146110505761102b60466201191960d11b6105e8565b61105c565b630b68372160e31b60005261105c565b635320bf6b60e11b60005261105c565b630f7c084960e21b6000525b50600f8660cc1c16600452600f8660c81c16602452601b85886014028b0101013560801c6044526fffffffffffffffffffffffffffffffff601b86896014028c0101013516606452600060006084600084601460ff8c60d81c16028e013560601c5af115156110d0573d600060003e3d6000fd5b50600460048660e41c16141561113a57630d0e30db60e41b60005260206000600460006fffffffffffffffffffffffffffffffff601b898c6014028f010101351673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11515611139573d600060003e3d6000fd5b5b60018560e41c16151561118b5761118a6fffffffffffffffffffffffffffffffff601b86896014028c0101013516601460ff8860d01c16028a013560601c6001600160a01b038860281c1661081e565b5b866001840110156111b2578460f01c8401600281019450600281886014028b010101359550505b611348565b63095ea7b360e01b6000526001600160a01b038560401c1660045260001960245260006000604460006000601460ff8b60e01c16028d013560601c5af1508660018401101561121c578460f01c8401600281019450600281886014028b010101359550505b611348565b600080600260028860e81c16146001811461125457600081146112775761124f60466202323360d01b6105e8565b611296565b737f39c581f595b53c5cb19bd0b3f8da6c935e2ca0925063ea598cb09150611296565b73ae7ab96520de3a18e5e111b5eaab095312d7fe84925063de0e9a3e91505b508060e01b600052506bffffffffffffffffffffffff8660801c1660045260006000602460006000737f39c581f595b53c5cb19bd0b3f8da6c935e2ca05af115156112e6573d600060003e3d6000fd5b60018660e81c16151561131f5761131e6bffffffffffffffffffffffff8760201c16601460ff8960e01c16028b013560601c8361081e565b5b5086600184011015611347578460f01c8401600281019450600281886014028b010101359550505b5b50505b60018101905061089f565b5050505b50505050565b0605581e0324913205deadacf8539f39a4df1c95c0286f18710ca29ad47e0cf38a900f014308f1d6191361034103516106235b06f8f185414a14767d2fdbde4ef0ebe4668c8e07fa294c07680335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e035ab7009a73e6497a24820c4ee3f98677cee385df67ed3e63ca34adb84007011bffffffffffffffff038cdf06d3e59669f2dc7db91dd730e3b70c4a9585d8deb8e614e5479d104b852e036f34849bda7658cb61b7744575f44f5070b276b437371273c41df4cf3697ab7005581e037dbafd922eb47a9e29b9db54897eaed52da45a12fcce4f211fd25ffe700c114705aa5959ba94e203e0f4fb72e4e54c1a1eda1c868b35bcb4b4adaac38773dabf1cd22344d7108ead03fb9c211127631aae7b07e220afda7015a3c1a0a90dfee37938cc31b133f3c4ca05581e03b0fd6ea5d7448cb197ee6ebf9c710c9cd3d07b2b83df2da49d4b09ee600c01470363325b9168a202194fed03f69313e4b740c1e952527c53ae8266c21cb87dd1f5f7f9bc75cf1531989043eb0354d2b2985955a9166f5d4c112115a3ac6eea4f2ad9bfcae4b79939658aa217f60348442dc25872a9387fc8661013e33d2c999f500acf5b515e8e55eb8a2d4778ef0342fec66c666dfbc9fddef43588dcbc402b87809837c100c4b8da4fc6ccc5852e0391139497eef8e7f9c98aded280e2fd70b59147cd2d268896122bf209031e058203d07c289d9c201d925a8491bc3408e36e70a27bb39b8a72489d61f6137e8d2adc0397a9cbffb0e830965e49a06a2e2115b9432bc05f864a5a82baaf1a453683caaa03148a14463bdddc85660fa7f11320cd5f02d6dc7d7c97b1699604b3c474785d2603c5b4652a72f889452dbdd839083f140e6a1ff5aaef96add8261110d63ba6cdea03807ce3e91fd07d841f996d50c5dbe7286a26dfef90b572d18a3f53d945888a6003304f2dc73fb6515d937e2a198c5cdee6ded2c39f3d8b443f2b215b6d973313d403e85c95c47e657f7b9ee6fa6ad28959292829fa5ee2eabef73737e2518568a93a0219ffff03c927f912a8cd4cfd07362781e084fd779cd4ebc2bf95beb21fbf782d9823774c0219ffff03ca0ca0e829e6b1c82c18e4337d7d332fdc60476c8f58ce70f16be04a5691ceb703e5d1be36f42927a24e5c830f1be70e843ff4b557ca5e503983deaf3543525fd90387beb5de18419f40c7072d558d6c7984183cbf0de09cb19310a30d231e111ebd0219ffff036409fa9a8d4ace197a9cf5d8a7b5cf0960843a89f5871e98c67b96b4424f808f037fc461b49cec4e38a44240d249935e00c8fbc2458c0e1b5577926542b7d522fe0219ffff0325fd6d7a3e596a0d7d1ffefec1017efd19c06c89273d4c2f34a0f777e42cce03030441a503950396ccc3a1dc6c88435b708ba6892cd9b50128fa2a8a067ee5c39e03ff303a0ec4f7b54b593067420a332a268e72ef2e0ce54c867509a493fa922bf4032abb789d2345e4e2fabccb62cdc1ab0406afcf70525138734fe5d7764d3b4839033e79a25156e5f72cfd54cc876c194532e600bca93da5120b31f3da2f9722da5a03af8d233bf18b76fbda36ed1d708e16b192512e6c0b3d05bbebda975c08c47d3a0372c747f4b05ceafc8bc38207d9fc056a036975edd5b2776a901b1945f5403a67036e8e8c12b2ec3347985cae2385d159889c39a2e5fca4fe708d3cfa71cba9290403b5af39431fe10d380e643a97f6e3ce44fdc8c5a7c631aa386b9926cccd0e51ff033eeecf9cd8c368d55fc6ca862d1a5b593f7bd37966f1420886316a3abb80bae803fb7b276d79564e3ef5eb7bef8562057a17a5dd0a5612311f21475ed410aba9af0317ac780e92af202c39bc29a138df6c3745927e8e2cf84870a6b82b4a7254c01e03e9ca765cebd5deea011d550cebc02fc34ddc90c815cb0629fe2e3e202a5f8fb30382402231a7c52396d3b3218b0b503b58d8011ace595075caa1eecf27597ee36a037644bc5d005b4c6738a409fec7ad7c15b8ffb541d94116e9b314bc26c9c3a45003baf1c60364e7ed37194ebbed43b611e9ef2eb633fd28079478d293cf579a9ecf034ec10bf5334998bdef2132b3cd2294c2201ba8bce30be528b2ce1d323f34b34403f2ef5987ee0f55206c7839b3d6def15c037b69094536004a2359febd013c1ea903f68b4510bc0691179a3acd858789f861b7cc68892e2f75bf381f6204d08cff1d03c760204b3e368fca058f227b7f56c9feddbec74d7bd646392b202d28944f839203e0a81ba8bfd7b7f1fe728823586194ccdb10578302510ad8605c51afd3c1803103ab67edc4ed1d0abe1be6143ba5f65df686becce17b82c2c59a8043f5e4a5118603b9dcfd609945b3d230c1aa79bc9166d13c86fcc8bbef3c95ffab223bd67d97ff038592734e0a524e5774205e48ad62197648cf6903d7fdc3acffa1dc7d1cf5971f03c0167e2657ef6f4ea8974e28581daf8d79ee350f9e9f65a2e91c3428f8b475c0038421020fd93e9a06767800f4b84c555c15ebbd24486ad98912e896c1b7c5c6a405581d022902f53a3c4dea0ad79807eed9d797687ca9af6daa156158cde13ff60c014705def62bd8b73c05581d024be8346e07ee99b05d1711fe7c6535ee2bc7b8ac21c4ac9aadd4d91204060219101003c3bac6a5dac3f533a279790d174236b4c030a59b6ae80923dc992614c62f180505581e03b3cd5984f58965249ed9a186834c29575088852ceab7ac9e4e6ef82cb00c1448011d5715dfca58db033980451255e493e58008161f3645447b7f50756ea57a9af29b3dae54da936f0d03f33895e8f2096a21d8e1db9c5646927c073c0503c2416c514818e1db66a7560005581e03fbb9af2f5c6324302f664e4a083f2fb7330b8ac5acc48962c3e72179d00f014702f10fc5dfc0001bffffffffffffffff05581e03b703258cad642cbd66e382ba54a368c7d3ea536448ce583abd1e5e63600c084740a7b8d287bfac05581e034a09bee7fcc19ad5c204b4423689afbf8d6e4c02d8a5fc6c182bdbadf00c014713bf22a07f680005581e032fd0b7e7fd4f1d15131ef26188441aed2445e218cfcd7cc36558e67d20084722ba09a80bb02b03747c80beee4e7b2dcbdaaa96702d6db3e1c8e3eda815258c1ab2214a4bffe2eb03f4e8cb7fb0ba4e6750e2510b88eb1aad106d2ffff0ee9c426048035e6373fdbe05581e03f00d3d3df46701d5c737479f541bb935d534cb82c8d536a672aa0de2c0040102193f7903a3347a8482f7f0f424d54a87d826ae51a6dce6329fac533d3199e683e2051aee0311e4e9db6e619feb1c2442a406fecf0b1ca0baa88822b156e54a644f02c2216d03f2765a0025a364cab0dc702aa3b79bf1194b760842ed44c00722cf35d55ca6260386f94e7b5e7c4fc944a036fc4df3bfa92ecfa656f1262f7f4764c204e5e887e8038bd8e3924665609280c52014f1f8174883409229826d3290ffe52bed6bb2834f0395685ae93a01c2464720805487faff3fb696911ae070ab6f04f03a346533e9840374ab90ce2acb013679bb26273a5b0049dd6318b5a8bee660ce19fa0bc9440ebf03614528378b6edd6a8d270ea029ced3104907f457424e25605813d7e7a9fdc0f0038d60b8d7c908fac966ce3423475db170007ada24a7e906d0365d0b1031b62aab0219ffff0344ef942ce5f010c5356cc5cd9c6ab019a4d784ab796f3ff64de612a8fd25c42d03d8933bd7abf4cf8013fc8a1866f4c9232470774384e1ca644695344867537e1103f332a873ef2fada52a2421ac651875b2388169cfffa4cc04484dc8eb88f3535403a49a70b07512e9d90bb266eea9988fc8fc50dabf9f3570b4403af33bda3fb26603841313db37649d4f9fdc8376c2eea6ad148bf6a8432ff36afbfcb2f2ef4398da030c93d0a041d8a3dbd4a1ac908064cf41ba49965464e0b1054b420b0ea4a29460030f1f2eced641f01b514da595e0aad7ac96c8b74ec81449084ff986fe66d0c72203619ff3f4f7be9d40b9662fa92a4d2b975a508569256513dc79f7d5e07244c125037bfb3d82f7ab70616f71e7f42854a5376c6d24fd612de38f4e878be1bde66c620219ffff032a48ed5a04487850f0f2a605ab681048f507ea6eecf43874bac27b9b75f17ce103d493ada7e73b5f5209e2355e8de5e387d1d4cb388af7663237fbbb1ebaee8614034b4d34db26d449faf1eb581c396f581c119a727fdcb3708b498e0f99967df6a703304ae1a198a2fea7cd1591332f0f1228a14237ed91948f9765bc64dcc56a58f90219ffff037347bb03feb039fa0b5613d5a005208bc86c79de38fa017ce67cfb78129d8dfb03e62c9388ff770d446945c43eee5afe0fa7e856d590bbcb72912bb1eece8f874203ed771ca6fcecefe9396f547e9908957446e80c99cc370e45b9796bdc727e91d7035154cd6d56b51761dfa1bb0658ec406e4823bee9fcfb5ab04b951d2a42862656034b699d4195d3f16107f9798feeb476300eb536ebcab74cab0b31f5f7c122f7640319c077332776661f53171437e0b6675fd25b1787592082c9cfe4d7f9c245b5a7030f942b227f99bc2f097647315750f3de7295fb96a68be715163426bc5566cfb103dbb62bf193f0a670adef45b0c60f4cd10a69679efbbdf4f45ddb6725c014f9d203c9fc1b3a07cb269a7507974cc6a61e8f7318bcca51019733281874b5c4c6589303a6880c32dda9361e94e6a639d5f97c7632ca42c681baea487dfdfb7ecb61474d03eb787cfcc102ff3384c59a93909dd627d9f952699126d736f5ae477f95974dd603ff8a382d154c18da497783b5d6729d4babd8000dce489706265815362b50ac40036998e88fdf0ad84cfc141998ffc4e7a70f9b3af7a6348640b128dc1bba2e4cd403b624121a50cde4f63c19821731609ae92b8a85d3e47c8226f25ff99465c40831031890373c1ae97435fcd716c50243fcb51be80068a4475a92779ad1437b68647803d60be4f73967d369321bac5e1525d7348b0bdb193592bd9a73de52a1a88d9146037b647bf755973cc7480979e5604f4f4288748a244159ea5995eb0483c3fa417203313e9cf157e11bdefea0ffcf1cf2e2e3c32073b06ec421d488f48c53b689124f033236c1f2f079329fafc9f127bf61c42799a733e9574048ed50afbff5eeb3bc9d0375301414a908c4ceaa28505c9c35f0e6e15069b4fa8032bc95928fa0c42ababd037e9f08dbb8619ce7207eb632bac1607bcb036e50acc8cedc22f54230d5c41315034443469b2ba1abba08dc79f4507d17f928e0de987f7d2de829777da945e431d803f440d37feb675263f26e5ed16276f4f650f1f11b650d19c8fc56046e570ef36703ef0d19d77763d82c33cbbbd3e9af2a02b329c05189e2d655018984d8a2dad1f5035cffceaa3801fa5112bfb18511ad1d9db9f2fa384f24b22a052116dd501b6b950340b38f76cb675a22178230671bc86f7b94b1069c9aae8336857bb2631231139f03990441b7fee18b8b573d37d5912359c3654d9cd0c7dc7e0b2fecc4527036086c03fa44da0d029aa2d8c8c38b36260ec0955e88f2a5ed0ddccd53c22ad9e02415aa0347d220709dc7aecff00410944aa81971d404b4ef226960a3d4679af246ddd0dd03184be8947ad7703c60f1a2492796201eef95945485bd55ca457fc43bc26f65c703f61d1362bf628b28bc99d72d6d17e621535870d599ccade1be1cbd18cf2473b803404e120e5f227fe77ae5c5c8ff44b13b0497fecf8da30359c5d5cc745caa4ab40382f9cbc37a1c7426c2904d2a0d76f8744282f67d6fac29c4e00a89eedf4c234e03a0bfebaa870fd4f5b89b6a4d331e65d823e22b5358798ca3b7f9d5acc980659003763dd97978191786f8af428bf698b284d2c1b83aaf35647f2cf85bdb38903f9d03863a8935ebc0ed3df551d8cbcb251e2bb9047dc75ea10469f0556dd345f2414803b340de9b85284c50d7b9c66132d52d118ba0385bb59a0e61b654ddde87391e5b03f9ee03f4c232a11d9d657ccca3ea10a1ff108ba0bfac4ac507a4a9cb7b2507f7032dcc670af5e53fab55084baee078228115a59cb757610400cbff555eed6b684c036e1d4087aaa6fa4b71d55d6aa13c12c4a9c74121ca1b071a6e42daf25e26979305581e033dd111dac1f221ab108e218b6f06dd4bbf953dff2c2e33151d86f4710008474e4cd14c92dc0005581e03975edac470e4d4de42e74ba65172f6ec0401088d5546ce2f9d1b6ea1f0040205581e03e0b12e497aaecf99bacaece58fdeb8bc8cf1b3a83a8bf600ed3108b9000c04464928b200ac2003ac681437c503202975b8a5dfa5867aaaf2876af9ea2f404c63483345a2bb59d405581d024ff1a645479513eaf6a6c1fdf32df2b8b27c987abd91d268f802f1f00c15471e6a880d5b570005581d023abbcbe30ad6bdafefd3425b5cf4cccfa59a4d9cc342ef0f90fe06570c054711e2c09c2c84b00219300003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03a66845cdd6f1d634435b309a8162bf0c1fda9684c2fd951769c28e025007011bffffffffffffffff05581e03b0b7d078ab60a3992b51ff496637f25c7ed9928cb923785bcf0384e450040605581e03df84651d54d97e99cbd631451c72d91d739891a4d7717e371bb5057a30040503ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03c257dc4065bf889913709092f63c4edf8e9d90dba63aaf58c482da9ed007011bffffffffffffffff0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803b75e4321d4e85a3176e5d5361fb08ba5eaff05317439a73d63006548e086461b05581e034e80297d57a581d47de56072659fde49308599ed7ec4c0a9772154d15007011bffffffffffffffff0389d17096cf6ae634e1697d37ef7b96c81a0c053a194021987046090cb90715e205581e03a66a0322e0958002cdb75247618be12b623ec638b8eae0b8e3f6675e400c01470274da894db8b002193bf70219ffff0325ca7131db96d5baffb1b09503c74d4c44325688f327b0915cdfa28a2669d6180219ffff033d5eb0efa438ccf34e7089dff7a839b6ae13dc36a1c3f50bb38d263a352049c40337f5d17fbe75b8693a8081242de7cce24508bf038d91d842f1324c74b03d1b1003f794e7d26a5bef0ebb5b06d4d4afa0586b28cdec74836026d976c363b0318b9a03dbddc081097ad85ce88c67e3ce3b01390567515c432e0997e8858fe063ac62ec03ab276779a4e8da1bc17f480565bf68d5ec9c36fc0a7d2bf27b41d004fb1a29c5037f44a1f677cd678a60b10afa23d78178643918be2b12aea1263c6d69d36cde5903b41cd60e7114359e2919fe49ba9415ed4bf5916a4cded0ee65cfa305a0a9cf1a037ef39287504314cbdc779481de26317ddf6553371404b1cc4b5388597255ab460219ffff033071aece1273c49986cd5a45e67d1922d39b8f485a1ada4095cd326887ed317e0326f4dfd844e172723d7932f3c4b637f2ae66b490dde51102aca5cdadb8faa9ce03421bf960853be5c89bc835c564bc8e646abec23c9c2324398a2e8a2abec1db5203d73d26547cbc82724d5a3f5a055e57bdd973262efc7a4e03a931988150e2b20703e6480baa51cce23b78d08701123051517320cc02ba2126dfc011b29b924422af03a7e015a22b85d9d25436014621fe1c7deb47e04510257b9548a19f297f8559f80383313d04f8b0b2177e58c1d5f1dbe10159dab0aef42581d281caf75b56c6b156038a23474d509688f346c5ebf7fd73cc20ac5c288a4320789bbda4d0f4125395b9036d4b4059e3fa80202bb107faa89668fc3e32df4d9872bfdca153adb3118efb8a0356f334bbfaf8bb168434ab6c71e18c494bd9104bfc8c1404e8422df7002167af038ad4112de812169c561bcfc43e7d3b2dd863ea1335ac56334a67e04de0159c5003f4b2c4eae8a8c1514246ddad58f6fe9a2d9afa6cb0ebe0002d0cc4e41eb4338303391c326fe909bab80c01f1dd5cb6f258dab0bd88a72c8815e1e574c0f68f26f803104bbe18d0d47f5448b8aab236203be25a923b54014f727e32dff87f3436540703adf1d9ac8468b31d555b5569029fdfc873ad279d1afa89d5bb906a6fa5daf2ce033257a348f7f38c5474571db69b54d9181476662a2fa5066c2dba1d057087a92d0359a5790c270ef4aaa5e08eb31ddc913656bce2a769930f291f0a512eeb2afd86037b573d7694ffec80dfd6da0ed82fcaed76c59de8079f676b47cc234544db594e03f3fa4771e75e28aba72d95ab8e618a34430cc79f778e2e7e3e18609827596876037eb3a62f9be15b9a3a76ff27043f1aaa7f0c09f3eefb888f04c18eb906397e0a03ecc120de43c57ffd9f0c746fa316bf51125a4c3cd832a3a307466956de3fb4660334297c44c95104a832eaf1bb4414e31f53f27b72069d52db95940c8767f957380349f8eb54792979cf02ee58500ada5fb55527ddac6c64469ad8822f88ab23e699030e541437bd09090455ceb4cca99d7304b575ea4db000d9c7ab7277ec1adac93503b3bc7681ca667e785c58efcae38c1a24f79d240b8cd220dc07bfe735ca038f4e04582d363d3d373d3d3d363d730532fd6e1109756be1503dabe7194b70df0257a75af43d82803e903d91602b57fd5bf300582103f0c7b8e0b0b9e116cc88bd11c6b4f779037295015a685cba800ffb11788de4d0410100582002fe536ed0a07311b4e3f96e0aa01a5ec518d0e444cd525e8dd84594686a2380410100582002c4d426fb4a842435727b8d98008ac8229b3684ff50dbf4dfae3d92d96c2970582039697a626e39616641426f4c71732f6d657461646174612e6a736f6e0000000000582002d9c4bb0aa589b7164b673d15d32be6d6b20c937e9d79260d8fe9abbf9bcd7d54cda72070e455bb31c7690a170224ce43623d0b6f00582002bdc663ec730592847089e8eca343996676720d6810ead30ad6cbfe3902fa6841090219115003d12659f30376534bc46f18219dd57daae8786d736a0af4432b0f900014a575ae03a9135d35884f5507f4e9cda30aa395badd49a8517df51afe950f621313301d6803b0486ab64efd8dd804dc0372608df97674bd0cf07ab2e521f0b1f11eb0875551005821036410b1b78f0f3d8896d7a415f7f3cb448deb34014d04dc315a61a822e9cb9e405820516d566331434a43704467635864726b6b6d62736467766e4e506a777659704b0058200235a006b3aa3e55160fc1e8a82c96344365b9a3901fe60b3b38ebeb6c385eb84101005820029dc4a6c3e51f9ffdb266fa9522e31a68de35296ede0c3aabc78141549684195820516d525235766d64446a564d413671377145637255617a66676659364b664e690058200210e9200cfc8de42d63162b096669c72b7ab0cfb64e580988476832b596c14158206d77526b725a3239414c687936702f6d657461646174612e6a736f6e0000000000582002be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d28550aa8f97058f9b863e4d54ee86ae374d31ebab5e70d032eb1bf41cfd02a3dfe23e3c6ac1e1a6f9ec5f87cd5ce85f654636e60def7bfd5005820026933c7266d9c35d95097c4c042cc918eff96932a828987e86209187751768a410100582002ee4d7f2d9914a279d72ec59743d6ee62ebf7a2941193b592af9ba88af3735e54a8f97058f9b863e4d54ee86ae374d31ebab5e70d02194c6a038037f6572d5c4c2155da0ef022802c5dc0c880ecb87ab5a20082afb4d32eaf2a037a2c6556891b9dbad2da383353c81e0805ddf3ef53e1b9729e8e44827992dab703935872950c8e6dd5fcaba253f963a797656f3542c0ea3e65aecfd50f4a1995ce033e30354647765c549ad4d25646778af5e1d9ea8fcf3e7d636f7c674cbe92204d03d18bca79871ffe6e25f930c8edad3e274a932e951246a05841c75606ab11470a03b3e516292ab531e3bb73386bf515f2b934c857a116e0815f755f3369ba2fe13403012dd41f95900efea8ee0c3e473bcbb63f3100cac2c3d43b2d4c9060629e873200582002df8d3880afcf5fb6be21cc8568115b6c2418e674264dba742dc5045f33a18c5820516d5564366f784d484d3468773863775861447171456f724d67396645557a4a00582002972b0067a2f0cb037626d388e27e5475b2068defc509d3f1c7559ed5bc5c8754cda72070e455bb31c7690a170224ce43623d0b6f0058200269ba153de8dd2aeebdc943481969091e2574e1ef132c7d92adb76f2db5ab5e5820516d54453131634253314b63535775745979686a46643171366e4b4c657943480219824003b7a0d6dccdf2f64c0c00f016369e1e0e1dcef4701e91ea33c6921aff16ea25bb0219ffff05581e03268a7f6ea5eabda6bc609b8a67b421bba608e83a6cebf77701468c09900701182d05581e03ed24c635f06e25a7d654152e91f79bc906c79c85b5d102a8dea033a32004010333dfe39f79895e45853b7bc574f35855148490696f3220119658ffbe781f8eee05581e038caf142427da3e6d64b03ba8449247acd968a21d411e1fe891b6b9bec00c014647b72980570005581e03a78a61b84b8d83993fb525a2de31e76104cb37cda605fec958e90f0410040305581e039881dc46f26498031f38b33ac43378a6da99cd61f57347d231a4dccbb0040303f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e035f85fea13a36be8071cf973d87e536ab8058a109b8d7e3af8d0d74f79007011bffffffffffffffff021999a2032eb5219ece7f720b87009985105a0fc7b2332edc385887875cb19f4622911b5c0340591e54a45a75f6095d5fd06d3d8b9d5fbc2d44411cc915cd8a434041172c6b03480667bbb6ddada557b6ec8eaff9e17a5c8147156bb9d63dea6a01429daf1fcc03a21d6e11959771a205a0e87852131d8f25fdd78b1601aa57810d6971e940e9dd03aae3e1f945e1eb8bf9ee619717e6effcc71fc2c51efe277661626208ad4226ba03d360b275f86f1ce56037157fee9e02f9855ba16bcd04e9f832fd995691a8681d035534fe0d7c0c01e88a3059062c7fa4a6fd4a7ab807089e36873be5b45032458103555e1d3c5c3825d3101577b83620b4bc8d0989cec9e4233b258d880fc7a91b590219ffff032e2e0efc417f4a9a591276df63e0666cb4ecc7027b9384dd75864ae82db846720390b65f7fb5176ae21fb5318a3f85d6c25e3f83f09b66e63e4caf2c24b787b70103c0809731c6e5a7a74662a6ab4dde0f82cbb166c531921fba742e66891ca4d8870382abbdb52c5462defa36be2c79814ef92dc48153f60935526e74dceabf57fdfe03fdbef9dd8d11ea78715975eb32aa11af56a96c8a4cde694a76f795609a88a0780347e79f25e4545af616186fde742f8741abc191d3111f2c0dde83d0e800da035603564d9bdeb61bba268edb7d02fdbdc6a385a311f8654bdccaaca34750d0e46363032236538e344ca5f00f1c5b9a4aeed30105a19da65ce5b1a1015e0071806b18d90391f61d390fe9feb0cc9b80c304d9538d603382d0e7da1b5bf8a9d0ffa7d8a01a03127dfc5f975091fd53f4cd995a4b2fed06e096bb0fba3d0312602db516f4eb2203897b3a885f16f9ce6a3b993ca770bfba77d5a3d38bada7f245a0d8993fc435e7038d3d8845a4fe9d75c557d342818e19df8e0d2707f9108c0c7f117fa9cf8d0ba10219ffff03247d3a2824cb058274d864adecd90f5c50273e9c72a4d4c6a9543a68922e9d18034e22121f76d1d4f613860a104ee5949efe2545ace98775f09b2d9814aa75aecd03fadf87211102a3487ed3dac8c0f332ae1d8177669047ca851b2da13280a1d6fc03162493cd234fd748430ecdc35abcf56494d92de0e737dd5ddaef32aa8d8382fd0219ffff035f0f97a23b495b82d196dfde68a5de13af4e1b2fc8b1e46a735021166e373fbb03367632c211d8691f57703e97251f33be35a7bb3042200cc2aa2fa8b0c04b169403249cd46e65c65a56805f6b3cd02dc3959a13c83a892a2442ba396b98b3a542bc03bc7f3a6d09179d6215dd71e0f7a5577e4e0ed2a2afae2a648bf07ad8673742cb0219ffff033f1b5b4fa012bfb726a92aef9647e146ef481bcb8c1cd4b6a11ba48b26a6f31a038b75494c2cde5a19116147f3d2ae1e91405c6382448a428d7630d5dd62a22f4c032b9c3bab585f9b899eeaa6e2199ba64231c6ede6e94212c0ea98449a6994f0c103edc54a04ef17e93d21bb2e561cb3ed3984f753b42861ac288eeea3600be09e760385456f6c903f799c390d38a89e9e815dd727ac65b82eda8ffae2754040af6f9503daf627ed9ebe31c0807c4536a35199be18273a428207b9695473dcf1500e7888031a863cea8a0a405f99f4d4811180a0db4d8e159022585c2919abc37cb2bfd84b033618f862eb16fd07b998606c411990a58411b5a2aa53daf924668469a6a8a52003e141fa8a1cdfc1eb405c4cb2887f9882851280324415602f434ac581f3006f2203b849b5314f6176b601975007f3e50074fc243c4a3a4d1a9a8a23808407a855ac037ee898cc5c45574b2072c6d80e948469d41284219cc6613c59338847c444fc3f0314b815cde7d79144c1c3a3e21925d881d18fdc9aee2a5960587cda08ebbcdcb303b84fa23fd866ece9e19c38a97fd8384f8f09d1e42fd43a3220883bd8e2d4d0f103cacc665f110b6292b481990d5f6b7da1958b69eb4c5ffcd587f2bf9e57564fd603c257583b4cb810a3f9570f5f5334c535d325ce1475cddf8bccf2f1b12d1b41f9032d6e3e12a7e928f21805661135ccb68e91f120698a5e02cb12d0961fd180f9f8031e069d1152a93770c9892423f8f890973591e52ddb7f9005d52e56b2f276259603c9335ac730afe3be1ac0630eab924659b4eba56a6855578f2c0af9718e70434103c617b3c9169dfe137b894d745fc26d9de111d0dda886f4f22f9987f162d96f6803febeb3c7b0272b86d85713785032b73e7501ffaa686bc1cc4485a39d9a6a029103f27dec072a853e02c885dbba0869701e8ac24832d8f70e8df64df18dcaff3d80033ec3656b409c03704eda69070307a6e26ac90442465741ea7b8aba16937bbbfa0365178f3b88c43576d8eaf1ffd7a5a9a10c77176d747a1d31ed1429643d30670d033e820ad858cd85cb2dbaee7b94be1cf8b44a80d2832bc26f70637a2c67e5a01405581e03a180428a41bebb5aababd87600e79cc8be349df630f70b713e77e3ddc0040405581e035fb93db21906bd525cf6c9b9fab809344d54c43fab10cbba1b778b3d30040105581e0399e996f75b34594aff047806d95623d8ba4042d519cd58c906ddb3cc5004020373a1402abb1d30d4be48e3af0b354f764beecc273a9c9327b9c096e7a64c9fe003cceb8845a36e5fdb54e26c228082d121f49625f02674695beec0fa52bc7a0dcb05581e03dab7db86afce3b55eeb43b750cec34ab2873ec99d7bf01ea35dec959600c0a47f523226980800005581e039ecd8970aafec93927482d711d0ff98fafe1ddd19c2322efb9a8f2af00040105581e03bb6e96fa5e9a5feef26623fdd7de5289ddac734b120e8abb32cd5485e00402021992d9038720977dba10ff68c69e213dae095b1d2852417702c5ab5a16e5c15dabbf74a903efe294a51abb312ce08694fd599990f1d2eb7150f475b849382689c76403a211036e66026576af1ed08b725e2026144d611c92ce5d028e6e672319e8526270f20503a64149bf3f66492f632930be0ad051d0bd39bf9a774c4cbb6fd7794794f1f3760386fc388ca204abd66c837e593b580c89a3641621e7507a74bce024ec895ba2f503501de85ffb97c9da2aca65318efb74ea0ebad63c54b18aa807a8ac1ce19bd7d003bc3f5bd5db717343201e3d8a479f3bdc8807b86b96e3b57379d6badbd35f874f0219ffff0353dcb83be1c83e383f92ec9212a4747270439e794db2e6da4a1fc7c1b91ccf9c03e99e642987cea1e5831a2a9cc8480f09824f400715e91a3b0135d9ca2c3b61c7030f9ece3eee5b3adc60b65327a5711d722bb5097941310442e7fbc43a5802191703246e7da3e9396aba919e9a8c5f29d81c12469927e993de42c97607f7b5e9012e03e4c38d7b49c31f7d416dd43ca016e7edb561c3ce17c088f0d4bd0dc7ccd2e9fe03caeb39b0929018d1c2fc334cce406d6d0af144c34ffab47f065870c7abbb6dfa039bc800b67375af8b7f6958e9c7d08d56b9dd38d2d59aff79084c5479b2f2be7e030d0640b94fe929354cd686066eb176a4de1559ec9f1f74640df855707f6ebd4203da518891691bc96e610dc0b95c0b42ad3f4f9dc797a66cb07842650694f5813c0219ffff031790001941f51d1918f8f7431c41dd9f3b73cdf1c33e608efb35531cf0f417ff038e69de69049d38030468b08c7cb13482f8c3ac800ca48582387a6598ea685f3c03c528e0aa10d877a50fcf5e8fe3391353c4ea098730ad3467480f3a69f9ccfafc0349d0c95b1045705c0d20981f114b280dd4a83bb78d5833b08b4700f93c92caa90378d98113c4e6a60b3d2b1f93567b9baeb6b1e5bac8b17bfeb94ac3232aff562603b260b8f5ed0940293a6f8d83d9809990a28f4e849f86fc237b23c35ae78a9535033e975a94b8dd7c6b6d79ecfd08fbbd647cb0faeb5bfb0e018d13188bacc7838903ec688c1ffa8792d5aad4b867e8f124b90e909e5d8a4b30de0eace7e76c4f839b03879c5f21d7a570d6733e09588787de052e0d4eabf988e307e5d220558676512903c82d8bea8ffd7e0c27586a8d41db13fb008711b8cab138d11a2f12a41ed8611d039d0a35acc777d500879ddab1341b7815530a63b02dca79b469285f3f49fea06d037320d46184e3b697ff3c1e4eb0f7d02600b0ec1f5663ee0fec9f1fabfd89f3a405581e032e30accd58806e943c91918daffbff13596b3f12853e3dfc45c187fd60040105581e03d349261232d881fd5ffb940fb129e311097219d2cc20e71df545ab7dc00403035c68d46a5a2cc9dd9b80b048a4976c3469942618c35622df4a38d253f8d57a690322ad4c2a832906ff17a819ab729a6b73f12d756fbbed1a391c347305fe4ed38405581e03334216d581297e761aec7c6bb067c42112b94926c9db87d15dba7ee0800847073f5e8357800003dc32f9d5f5b18831e892c5e55495aacc58ed545444956a41fcdd44ac1884c62003adf7a1d54bf6a4558fee7d96b90d933826855048b82389275014943a03cad034014100033b0f6b5ecb95498fee3b3c406fbdcf2a8a431824978efcae8e868148ea80d00905581e037ee6351d8642f0abe935e1ee03f9f478b54e422d8e7b06a8fb33b1de40040303933c22aee40847b215c5f381511ae8eb93f9a7193469e35120838a793586e1e302198dee03f0f3b416dfa5c0aaba5b32757cfba2d7c3517ace4d9c2b5fc5033619f8a178f1032f2c4c3a772a8707732413fee5ab5ff473ebad1c518b2337deecc8121bb518a203958bab9fdb3da5f89e89c55a5eae481915f599500c5464b2801c498ee1301fa90338adc8151cc09768c9d035ae451511ee3c1e4a3fd2e29d643e8353977922528a033549940434f30e84f0162e4cc5a11b72a57158a276b9b7bfe424b1ab403230940376e58379c7cc902dcdfe58a0a7b28f14a9ee2bf6c5bd3f6f9d92c44d384f324c035a5653c2fbf092a24fe2775de98a0979f84b4703e71062ca4ef828262646213703d075c65114d3a5f8954c2ad11fe65ef6ffcb7bcdb6d524fe6883d3bbb2825d5f03cccf16f22df7ef9e90d9a6db80fde46f287b201c26bfe62b8d4d5e684e2e1d5503f73ef51d897acc5a9591835d76ee346e6111c80c989e3e20de125a76c115ee57036171ca920b337fd5969beb8ec3427fa9b21983028ba1f0ba8cf0dec4f8c1d04703edf3044d1ed8b504c9436b91c4e7f3ecc95aec97a58a183f13beeb20240967dc0219ffff03133f809c9a1f537c7eb28f4d9be99512f131f33928bf6b99fb1a3e12f0be7c5303938f0bfc4160ed441a5f5f9476d11d6a741de7e3295879c1cf0a9671a8f7304503bb9772c80320a08ac4c6ddd8a6a28404a1553a9299a6d6c105a27c56987634bc034342e42e19491023bcf5436a120fe4bd0c9ec30044a20a1bceb9f0e2f5f7c072035489dbe54314c113e0b19b1d8b9169a5cd530435200999661583dd28cc6385b9037bb22c69aa678cadf6f6b28b76795a842e7dcb93bd6a345521a19eb5d07482e203468d58038018560a73d284056961f9c306d2c0f46f5006e70629ceb95d03b7b203dc2ce80b94b433cab7f3ff9ee3ed7beb5e757735dd57cf89a4195881bb1e9627034acc5942c56b744353795e904c856ad6fbaf609940e2a8a10f5da5471af3a54f03651e11bdc5f66dd30f05a6a689d87300d771b715d6bca2856defff6a401648960219ffff034c5a09b57c3d2cae16742821f0d6832514b7b57510ed180dc1aa6c986bf534af0219ffff0345139e28f85b10d1a39f962f4f5746d5f8875aa4f50c811467e633dfbfa0932a031a3d9a9f5d9ff2e9248bfae781fd6b06f6eb2ca713d7eac1953d22db1dc605bb03ddcad262dfba676986779997657f0626a9e81848b56abc2af57c50f28fe071ed03e239f26409abd8e86d3b5d1b4ed5a5f1a88fbbc95892b98bc4f253f9883e891a0357e55909ee2ef00e609e9e164e281585756be057253cec9a2ee9ca2cb6c1a608035d42044449caaa94f2fb3eb8a281593fd5e5cd6edc6541a0d8380b672dfe0fcb036f883b58fc673cefad69a3ddff391d23936a1e723ee40469ff173e704f1d2f0c038db6475da0c94334a989d0e712ef524a3b1757d19551e551ba9d996379cd78890323e960089a03714f8e8ac971b5a73020f7875da687a4adb9b09d9df318619be8035d04a13ca48f967db629dab64173f36f6571abf72b9b5041e55910897da8c43903df05cf2c813df28f1a37fc5c42be98c692f21723407718543fd8680d5a2fddc5037d681022b753a16391797f4e88d47e4b7d7620b9e98d874ffaa9a1438597fd0f0345313b674038c7a861904cd25b39cb364f3a78266af252570c0e6b779aa412940388076775ffd3c9409062f2bb7682f32a8546871255d31694a9f5ceaa24e540c803f90423820da71fb7b035596972bb880d02c34f9de09af595340c4443f76edfb30304d18054f5b9187a62594b5f31dfe8d226efe6bab024e8b814011ad53b3d44cb033a10292c734d6cc7f627694cdcc71f704605a07774209dcd5770795ef9df8cd203e06ceddbfb4c4f4e72b46cbf70bac4f71ac7238bbf41018e25147be214d1ffd20301261a728a8c6495f1cf224aba030247546a150560fe6186a72658ecc1c9f52303617af9ac9a634370e3bf439697d0a73e6c00ee9c51499bdeb564ce11d7766b0f03a7ddec9c65cdda9ae93b28005c78d3bc6e4be97aa2ab7deb6b2f644dc82d0ac803f243d14904cc768f96dd18781c83e297d3a25237bb4a74a3e04199fd3434cf1303913802e1b2dc46a526c0791d3f6ec05a326295a106c7f0a70ea8db4282583dea03392956352cf015176a840cce596172ee6dc26cf39b78c6ca8b918ab74d2e57b703abea7b1587f75680583a551ec8ada683e62ce90fa874cfeee2c0a2b87e1323a303e65cc306d886bf3a739453b85ee7b899939c4842b8569d3445c4239f9a12fdca03be439600f47bb72aa32045bd927cb957a7d50c42a3c9b895f20f200b81e0dbb2039ed4a6eb086db5b13160e0ab117fe92c068eaa773238c231c975612415f9f32d03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e034e63e5b4e29ea7c31b162fc4eca944261f05c81eada86853ca7c9bbb5007011bffffffffffffffff05581e030e144d1ea92376b9399a1a8f7211adcdebae0c96d1b909ad6a8cc262000c014706464dd75ebc0005581e034e742cb932adfd8d6c03ebebb16cdbd9e1ddf8663a2ac0d952b8735b70040103363b8efd2f47028f81c1a8db3ba775b68a0d5b287832f82ba9885c33821e20c005581e03cd5b8fb853d6626f27e7e3cb504a2d81ef9b84e94621ef7aca142eb3e004030368ff0b333b584f43e1c4945c3d3a0bd1e33bcba1e14b3ff2cbe20e30f2f895f60459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000e3dbc4f88eaa632ddf9708732e2832eeaa6688ab8d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613b86565b8715611aab57611aab7f000000000000000000000000e3dbc4f88eaa632ddf9708732e2832eeaa6688ab8b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000e3dbc4f88eaa632ddf9708732e2832eeaa6688ab908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000e3dbc4f88eaa632ddf9708732e2832eeaa6688ab9087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000e3dbc4f88eaa632ddf9708732e2832eeaa6688ab81565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000befdaf0d0e12e72a71484d72425ff741174462d81614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000e3dbc4f88eaa632ddf9708732e2832eeaa6688ab16939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a039d309b7d5f381e9dbc1dda463120895691b478d053c0074cac2e708d8f6444ad03f6614d2ed1ab7a17d0c1d6f81640675f5468b9af46b1650911824b1733bd5eb3005820028da5ab86f7e27c2b01a6b891a0373a9c19edcecce97457a37199503e5e8fa7490166330e18bb0e863103ce790bf118b2e67e3e99a047d26df8dae9efe8899c44044767156e079a8e7c3103bc3b9b37d338e381c9b560d0c1ee11c2d78fa13b2c6a1286903040ea72b7e0b200582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000003bd6000000000000000226a3d5ffe41398b440bc34bc00582003682cee8275b413d1cd013b599a78110a2adcadda30a941d7da1c610f7ef2a05820fffffffffffffffffffffffffffffffffeca563a7aa5bee4b5653e7ff7f489cc005820038da6893e6e7af090fc451bd4264d6f9cf854e1384b60fc9dce6ce2d97860205056416f9923f21a8689bc5a9b23aab297021920810360ec0ac2c163feb608510b97448f77a732b2cff26fa6dfc77b3dde9a73c34f9e03362ee51a5459fc0000dc6880a62721c14b01ccba45b168d959910b82e14c895a0387d01b4762fc13544e9c2b11a2f6ebd436a69b6f9f9bc24053fbe3a2fc0c172803244f1822835042ed0af94d4e001131809d67f30bea2b1f5302772bccbd3aa2f500582002009e6536391b03b84f3a16e2d9030e09db18eaa9bffceef4f27fe2328b74da4f0572b77eccc9c841e2a78a2c644ca50219df480303f7ce9733c4164702bf4342273591d69d49673c1f5a991a8611a626513768b7033bd871d9f85f8d9a77e49b6e6bca062380f4e2ea6c70f58f17fcf08660d9e8a703b1ac3280ab320d63800df4ff88b50d846fd07cd3fe2fe0f89ff76b981fffaa33030c1b9396a7c03a5876b433b0ff9de09e0ef2435f243fd4bc236037ae2ae61eb303a11de60ed49672db0f0c6f5ab9bdf2b3775789ef0dde51f14937cb736d5d93d9033a37459f070238021a7f8a5eb22ffef49bda765935ac02b024fb8f1b1b4237a7005820026012da065642a69f60b464b88ba3b860b261de21839c7f3731e5a63359cdc15820ffffffffffffffffffffffffffffffffff1fd020a500331de3d549450725a48e038c0f7f5e9ba0793f4f30b14b0173ac7df5b2eaa80e5814f5c5c8539709a3fce7005820023aea90d8852645d486c2d3281f3ccf3f4c96e05ae1c8d817cef9db4072bd48502ee6a5489edc1bee0602d0ac84d35cce03b734ea899bfe380166cf9aaf031055a326a78a1c0583c76eacbdb88522c26ffc0141030058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4963116f7e327336394a033e7eb90f7934a464dfe5253241642024ef0697429a7c660aa92652cea6c1cd0503c01cd1704ea553b0d5b8bbeb9c8ea8fb1444997e62721d900f8356a17c9281620325df5b79209d3f26662d78e145744d98ecece10477d950500d021c2be907f1e10219af2c03f8b1efc292f5e561307fd44b289657e875e85ef32fa006f0b1499013155542ba030620d13987a2e194d6ade63cf0106c5f678be9b623ae4c77f7b67b2f0cb826bd00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605018dbb27ef70f5501b80e6f8a75ca73f100582003f577547894b3d6e09b70efe0535f7e21ec3eb77ae0db944ca9fb4fd76917205011a4cc1c04b768bf44e9fa91a9985161021100582002f2e8160d11659b266399b5a250bb2a45285b5477f8b5fc0c0fd9df3732be375820ffffffffffffffffffffffffffffffffff680b61f1aed9d6fb26be4176592d68005820021353ef009017d3089bbbf6efa08046c9b46ccf6d5ac51388e387c5987dfd1f58200165cde97b00000000000000000000e3bcebf2aac5b65c93490000004b2d0120005820028c1400eadcdf14eea6dabbc09721a07fc0a579b287141a63a99f365f1bc41c5014a97d26b03547d477298f545f080db40058200228315ea43075ba76ac2bbb038dbc324f26681849d6174783fe47039cd83ce058180f7134018418f96700000000000000000f7134018418f96700582002d1f7e48b550dcc9ba5665d4d8b4af8fd9b90f3b8c794624220dbc8394c82d84f65b731bc6a00a925886321b2de87d300582002c8c8d978c813da02aca553ebbb59617f885bcb0de29ae11a9cffd0a84028f84fa13386841e066f74e405ae2b87f1a2005820022ad6a8c5959b0beb9253f7894282c7a2d28cd15f14c0dad6bc6724ee78d18c4f6a19a81f158210563b5ab04fc1917a00582002b88533a7c62ef98324457f138311782276e1412b921473145f88d880404d64482128b138b7bdd99e021974ae0307fc1c6be3d37ad096b16ea1b1dad5e87b14b20fa5922e0264e5e195e70f29c203b5d8eebce1a90dcb29e8d86761e022af824bbc6f935388f085d868a79d88945503cfa17641b9ec47d5306f9ce6536e6b822182f13a5a7572de794912b21cdf7ced00582003b79fd87150e12d6c98ec3a48d347ae03364c06f0574cee8e01161170d2fe90500160c5a70351cc14bfa57b57580c95dc00582003a0f4808f7f0c52440675894727c9e66265266cd1e1f5015f8b745ca2de5f30560800000040000040002082c13300502126288e13020002191002033f5b59e3e5b3d8bbbfc2cacf5f854241f22718425212dd1dc915daba67abfc4e005820030fab288735963648f7a27a02d18ffe056a8396518819d2520bf75923272cb04f016a5b2b2d1507ddf5c1b4aa2aa21d005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058200100000000000000000001761e5aaf5fee24fd81bd000000a39e406865cf5dc30219c00000582002d1d532da86f9b3d96e2b90e87a2ec379c6f75451be7869fc8fc3d41b63512e50402663a7c424da317b92f6342cd7189203b97dd37f4dd6935555d78207eb4ad3a6a7c9501898e4ecb61730a37fee8486b500582002e7fbb3bebd440c0c2ff19914ba00e84a475b07ddab286402cb2dc26d69198b5004075d4713aac3e28166ddf4365223e8034132fef57deec1a6187d020d66b85cfd78e3cd1d8c2a72d2ba74f0954bf0f6d903408245695c70dcd508a99752282ec628ec35e99ce42c237da69f84b352fa00f603105dd1b911e7f7868a685508f7ca423bfefb7b6d0620a72f557a7c96290859a001410d005820027cb99e5e28782ba616e847310c12fbcc7725f65502e9acb0f1bc1d9badca685820ffffffffffffffffffffffffffffffffffe8bc4ad8cf9be56cd387feb63b3ac50219759e0219ffff05581e030b12602896e86744111ab577c554a98983ac90aec4395b8630d92e4990070119567e05581e038eb2afb3817a8c5af175ff76e7a75c6b2fe6f018bdb4dcb244ad369b100c0346c67dafbf14380386d1cee19a8b5bbb5bd9d4e97f2cbe64747da207682f1dbbc36d5dbf459c48fe037eb6fe15bd6a77523adf1425fe53f8b68b07af7bea1e0b4eac6b9539e3fffe4f0219ce7e034083234263ca28b1739658573d00a0eb6e74b197fc86cb031185cb7b8e0b6c3103545d8fe0521a6bea06f76a8c1b7c45c949b89588f840d76a7df6d37a0ecab70203b2782d70dbb8b73515be0789c8450f1cd4500a974b2988fa4a93662c36b99b1903af37adb1e0caeefb9c8783b5081c0c93d327e580a7ad41858a53f2e3aea9b7fd03a27479c7d0d2febd509edc3377d14a5600bda7ccb04112fff86bc4d3aa21dc300370f53f9b3f5552ccffb02cd4ddb5e54e2da716f46f16863a99e5907d0933480b03883d615f941051e6f40e3edd719ded4110c8909fc00958ea9e1c7dd0933e99360337c25f09c3e7b44630dab41d740adf6dc575be9d8cbd1e93731be64d7f934d140380ab5b4b5267da42798268fb8d8ce5c5f5179050c60e2efee485f76fd00ade4303fb9858f67cfa74711bab42e5fb4160a03904e0f7826629fbbb34d1e7fe23d11403d7b39aab6082e461f208a771125ff2188d05448ecafdd01726e3e9181c02ed4f0306678760298b546ccff0d41959ab15699847a5ccf80a0b317f097e6fa92770f2038f0aab2e805f3d15b07a5628f0e2e6105ad1a78b7e9f562a28e96dc7d42de193031deecdd2463e9f42c7ef2dcfece6701353fa4c9d8b808e2cc0e12329a00ac03203dd484b4c1d2bf1f7c568ffb175e4b67e84816bd4d0ee80f52727a8f8a8f593ff0219ffff0360605de7a6c0a6c2fd86af9cadbf8cb9ea94fb1ff413be04459755199d9285db0302c07220631c821464cb0e242b4e3abbdc9b5d03d5530c3898cec79dc706f133030bc1a1d2871a35c985591eb85e006cf5b6124fce7dd50c11bedf3f2eea2f29610399a0e50e811231a0567124ac8c4a3c671e6cd103e9434b1a1479c5059acaaa300356f8fd3aef3b08739502d3a897671f51f595999811dc9558ab47c6de937d1c5703629d74bfd2e10ead3159a493fbe7e2d81e28173912d320067ea1b8b3010220ac03ef4e024741430e7211cfa8ba3e302d3150bd716d442854f3ef16268486c9b6220219ffff038742c7edba25c1ab037e704356b5df8f8e458bbb485419a25aeac8cedff61621035f2e825fa0ad32d852f42068bb3f1f1f87408046a1800cb6ad0d6e757cd044640219ffff038b9133f69a25c58c052a490d10b4d8ad954f6d2367fe4514ffd40e06431cd8ba030fb4c710c120e07e62e8846e2075e0ace35f9a365ecd7383d2eab7333945b4a40304e0d76946e8200653e0c58c5f94f53b957eb9a9a52d6eb5198aae680a294fb4036e87da5f77fbbf0e1dff99acdd6750e7110d2f55bf29e01b81c2a93e28af22d103847a666ea4e9471f995b2fb32fb09ed003fb60c52fca05bbebf6f03861b3a8390374160123f6d67883544597be1da64ccdc66f5a6619217d46c0d59a72887e403803d859a4f8e7414889594ba31e298aa332863a05cc8197bb8253c7772400ab50cf03c3f6164aa1da18228c900197adaf6a4d02b433df814ba93e56b4a79d13f2d16c034216a47e78b9f838426ac11c603e0b51bfa7a0745a89500878c5d12a89325cb80314e4594e83728b26ba075e060e645b0c8449d745a2b50982b81d9206a2355c020300bf807b99a16fefe977799b75c93eb8a72c0385e7371828b7f20ec07c9e4bab035574315e800a3e3691c38684a009679aaba545de644ddca959c1b3663a8deb7803bb75a0060deb4cd238b2f030cdb19dab04cddadb41870e0a85e01a84f9e8a5d603da2f943790b3ce726af2fcf17c5712fd7bae4c2f740756efb98576ab9e90583f03296489e96b7067c4cf9da3024fdf45b28cfa5a74c378046162535cb3ff24501c036683844ed67e62e76e34b96f271f81488168fe3b05f87361bf10b122fb54ad71031a698fc334f7e1dadd70d31efe31b08682f937e7e66bd29e22af6970a2987ff803ed3983a8f0d6bbe0f669b2eae8810027ecd6a3410bc73ec8e00ea160857363d505581e035d44b5adb7d687dfbe241a934a78cc9951ff221ee10788ca7622db3600040103976f3b2351583109b7e389ae06e035ede830c5c57b3665f5b42162e92a4e582303e7fd2fe1af35a8a72ad54a3b20bcfa765334372c692703a5128d2bc1dfbc744b05581e03650171b406e792e60d241cee02de6d23a986eac37c38896887c45232300847df5e8ebfa3660005581e034bc8e6067baa4f25e30f4547698012193ec414cd9b48f12feff12c2d70040c05581e035849c922f255d9176c4f2f337a106ad2a21acefb5dda3251f6a3e406200c0b48039bc139992e7594030ad42ce8157b25977ba4b30d7b799f4babb42893f89cec4b1f1a9364479b9c5a0219416e03c935e115a58da7510ffb6e3439872cf9953c4ffb5f289d177bac5c87ae0460cb03a057f92c8e4456dccf34396b46fa41da8ad83757e018af50310ff26f4cbe344303cd4f6c7032a6bede6720ae01edad45ad887002570400b5c4ab4b6824f813b29f03b7d996e3193e93ce0c17bec4b1252cb1ec546ca338b9be3a9a3569ad23e5046803f2c863351acdef969e4ca11be46188e9557ff225827b8c1d5edf0b9b7f794e8603597df7569d4057af2bcf18f1b65f01a9d179dedfe534261497a5d40c3926f93a03e1a586c2556053d6ddd429ef86199b05bf254ae54fd140713d0af9d57dfafcf4030fce42dd1a144a3bf570fbac21d98c48cccfaa4514dbe45ea47687fe75ae9d7603daf2912c6a3c13aee39a10ba7ec85cc24edea0e01c0f45df3aae8c1af2dd26390369733632b4ece3ce79cc9aebf1f0097bc675ce447372175e627e7d30b7b3f8900219ffff03e68d06b644b33dd920e292585f4d5947b3f5a7da1168753b6a1768048bb26bae03e952d0795a371510308d212a3ea229c507d4b545c58398b81671ce0f93ef8a5403dd37134a56dbbb13a60f8857a65b925f0203fe513f9cfb4a7aeb910236062e2d03b12da9f296e712ea026b0b9f0ed41db32a1c7e07a8cab48488f311121a6741d803c94896cb067fc76065f5f8f60da1e772d20743eb14bd64d566895873a15032d1032159d55eeaba2583aeda73e34656ee5e393d7b0ac54369cba1c4db799fedd7bb03cad998f1ae37830146ce4ac4545b53fb35227eb3cdb71b4fb999210182a8be9303c45c2f2f75efb2a3039af9d18c3c05fc694bdecfd4f34ba10fd756cc5b52716603cb46b54c6f77e6a97be3a20b7e2d575d36bb429f1a4208122eccc9208b982a86039d5e590d6b3ef1eccfcdecd9160a5c7386cb7e9960c77ef45cc0ce87041bf741036cb99a654f17789a38ed14e833d6f4835fb68a1795f800654b11eda2f115aa010327543a0f87a268f595ab1b9a90c819b9c8069249033b3df433fb91c897ca2cd2033c37aef2f11e5d4ee9c2e37777d359e3215a6e4f476721d589b394ab5cb08bde03597953af86371a74c3e99041b7b70c9fef3496ea8aa083568509aae989b1c1bb03c23717e991690b0366012c996eec857905f7e5c224fe52a59f7d2484a24be6110219ffff03249efda8d204e86a91e52f603842bdb712fdb7e8033a1f880a10816bb95ea73d035ec0b705efb1f4af755502f3685c7fd74e3f45ef2e355bddfe61e29ae9876df603613c673c93e03667f1e0793cf31299e97cfa48cc2dc3cf027afe2a939d8c91f70386c7c05fdb513353887aad6cb9f8167cf4a2d682bb155cc64f4bc3c00b9585320365be754425575ed47b94b0de5c6c841f1bed55707ae7467da903adfaa8e93c93035e4849a7b2447d2b9ff7b7d58ef2dacde61cca8c24abba8656815c645a6de4fd0219ffff037488e5a73a08399617cd98d683538e9bb80dd8914d3715679cf386ee6c59bfb1038702533230df835336eccf96776d691d2497cb17dbd3c75e4d98c3f099d4a59d03099acd64d9dbd9b7285edf5b65db0eb06444352b1c3c688d51240cd899c8f7ca03f4ad3b9f8347199c87ddbea50a9425c57f62359772a5bb9ce363fb3f6485c2c0030c6b8786db1181fb994f9341a0f6b12ad6742a4c2c58b14c7fdcf0507f450c450385ac24e5cefe857ee9b2e2faef0b0bd25c88af6c2a8858d656481a1b02855a4703348099ebacd29718f3603c2c97d5c0fe060215fe9109c9795b9c5a559a37e7b503a8e85941eef3b0f5e5e7e2944dd7ef7b88bcb9894871545e71c65fdfe68f78b1037005b4d9e1b3502a447fa2070ecb1d51f7701a6dcd5205816d2726e2933fa68103f0ffda20934729636008ac8ce805b2ba0d37691d3ff59fdaf74f54ef237e7f41034b034d78fcdd4b3edb7d4f63ff43ec12285c86fbf60bc8e52dade8526c8de0b603f5d6e9282dd52443165f68b967e3bbb9084732cf4b8ac955a528f3b9e7467c5b03d729e5ecdd4ff40cc3584b87589f634d9f483e55059b67a4bd4e926cb596d657030b6d2eb302f883eb5e4c467cd1f91e35fc052a08dfc8c40925a1605e51b5c86203c0641b0b803bfd0cced6ec53b0393558336c105f7efb92703028db028e2ffee7034144d939bd9c5ed5d8d936e907a380bd20b94b229b2d72597f8d1967f38b3e5d03e20850545c46ba1d934d98446daca3ef4ad3cb91dea3538d44b011d3bd9a837703fb34f9438a6014397bfe5ab19eb6e91d4e6866ee174a3d4a6463500cc54f8fef03b24addf6414fe0303c71582e53e3ca2f349182abb906e0153b708a4c567a3f78035aea59f9960f351848fe62663e3a86f3ce8cc44ee7749943f480919709133fe703c026913919d1c31e3c996c139239c482ac9c73b72025c39b2cae60fd643ed16803ef39879e9f99a335d32e947fb139e45ba5fa2f21501ce3c2dc31c7442ec7ed3b0375e883e288763aa702a4ca3a862040485ffe80052196757d8608e6a5b0ef0741038087ca721d470d2fb5ff5691e192593a005a47b512bff164535ae595bbca8f0503258e71b741ccd1ed61c6fd2916a61dd49afcda0094e8d43265496da854e2cbbe03ed1fcee17f25df8afc1d49f195075ce575044466e93387d9318ab6ffedf8714a034c9d738d3a47612f07e0849c6fa6ecdcdf0f469d900274bd1593f6e1c8d04943039f018016cc41424ebf64e971fd48cfedd9560db1cd689dcb76ce6a125506581e034bf3c7d59cf90c823a7da4e2aa96f0e8720c81dd5514e589565ce8527f728f0303005da9b1e234dc4e3723d0baa030476c95ab0c1063f3934e2319ed65cabeb43003171951b91f73ed855b200c1b08e92f06bc9221b9358f537a272a3743fbaaa5cc0347f613aebd8891670034ac640241a1a6065172330341b1ed692e6517a1a51c64031e3429d67de20917b54a7b49c2cd1ec58432907f7f595535911b88d7f3fc9dc10319c38aa5823299e92dd84157f38f3df7fad78da9fc37828d604af6c61f89e79603b0d762b289047e8e2be7c7a2f55b5afc4b578195d08b26aa752b7a32c9c91fb503b552ff623f6f40f46c8df53160db14416b2db1a22ecf82e0689b41697f706d1e05581e038880207e15c1db401a40cd5c432f951dd960f3a6cd498f0787ac103b800c054703e8ebc53799a405581e03a9625480587fc17ec16bafeec5af1c8fd5fad3f50415766234bd7b4510040105581e03c184e616befdccec033e60d4d86b2d83b21564670405107fa9e3e764400c0146559cd06c08000313871fda7b8a62211843af03fde6bd58f061a44539ed9d28018575ef77f755d105581e036e3b9809fef2fc5ce8c28eeb965ffa46b19f7da78393a817001577bf100848016fd357079f937b05581e03300dc297ff6feb311e00484f16bb3477fdf2574b68f0df5d52a0a77c200c024756cfa48001ce3b03c376d6e95d8dc264dcd64f267a135c3e195d5a999600bf5e944163106fe92d570219591c0219ffff038b6583158282b131bd13acd097e608c8e9cfe5df870ed1ecbfa27addcbde15520219ffff035956f74a06f6347fa1cbd24208aa65b78387a64a4e322977e435b40ee02f2f2603b09a9a4d908512c287ae361c0294ac892ef9920a1ebc4261fa28096e56f4d23e03eb3819547dcaea06b9049af8c373ae2c3c4200f3b7a8f0559af87d2ed18f2a5203c1c2273860454c1768ca1958f2f6f1d4cc26e76068eddcde18ff4a907203806b03f7b54c0c358be022482d405056f989e00eebc52df855cd21c20b7e4e46f6a4a703e40c2b09e3ade1ba926b9684b09a8d6e74d46efd0e3c99027aec0b96737eafc8034c3f6db86813f2f0c3efad5cc8e60f2782e89067a471f6afb46a55a890ba3a36039f6bf2246736eb8bfd70d393e2c967d92bc69102c408d609e8ffd62e56f6338a0378c760c515af28ded3545c8755e2beede659072664f957106d5fc2a336d2fceb0219ffff0219ffff03089dfd4d6736ddc5a604528bf8f625c013d134acf7281d3af2ae400640d8e061034ae1cc25d6c41e21c0dedaedb93e3e9f8b2f631f83ad621e1ea28b33bb70cf9903b0bf80313b266816b0e67fd2a4e8fe4ef2ed3dd739fe4ee169e4699949d18467036a98ab7eb502f25e00b5dd4f487143f49b985341958beb1a8f4b30f892f9220403b36e4efd0147049466690364b6d6e866fd1ccf2f8edc55569b04a04782cae40c03a0190a1c9bebbec45ad2c616acc8f1ca6c4c2813d8da8e54b7edd15cba4d091203d1d14ee4e75f52d0997784481b188ead5231341934c60ce9a149e9caa79f71bc03306115dd04feca06ff7907b231f03f29528150d4e7cbb084c3e02a798cadf1530361e7e62f32857c8840ab0011ff2491655633fe969ccca08b036b582645f9fa100309d8be83c99f0552a6e1507f4d647bc3b648d40f8db34ee40c58023b3d3ebb4a0331527439f49597b9b224e14f2ac4a4770c624695385d7f64adcccaecfc3852b0032adfce3e256fae1daeef4cd7bf335ebd62742a6c6973f6634cbcae1690288d9403b5b142d33fea984633ecb1ea82f75eb858c3c98eb473d6a7a84be3f43bec47d003e6013d2f72a40efb439c13b336f37ab5654cfeb447076f49e36a9dab13c8fc14037605a5f952be10e97b633a9607c26b3b96078104e477cf8cde892be61ff93fbf037f9296241ff665596fd8138d3484007fc348b16c8e31c823ad973ccd4191855303981d29fcf9adba2747d87e3f1732081e0e48a4836cb4579c932b0bb5ef55130a03a359141b4742127b14b61461eb3d96d192555e217cb77ff0df29439d36bee76603c546f40cfc81f37eb59e13920e5c6237ea217f180fafe0aa45fdc5f5bf32e9890363981c544ecce677f83990a81ff8061418f84338fb8e30e3c4c3d41100012b7f0384cb848d1580a46a58937626bf56a73d127a75fc7197d3a063d880bd40f98b73034a9240a365565f8f7148b57e30aa20ce5caf4e5356c6b0af6a8c05a1a57ae226035c667f30be98243b88dd1bf9c5d26e77561d7d00118230960afb719675353c4903b1a7352b2f5411075efa8561ef0db6135fc70efbe03875b31c07a24decae4faf03ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03289f70f72b62a4b6a7b740b570f6e9fbd3d8d85b0d1b19b4db83ac2d0007011bffffffffffffffff03b61098e5166791285ccb4545fbe4bc29507715b64fb891fa3bab0bab20be2d5705581e03c456b8dcb5c1c109796bc5f7ec896c7d0b0c256197592eadf8ad978b9004010387ba7b2fc9d36775437342253750bacd2eecbeddfa3e4c717566a2693404d67201410703fca74b97ba9f99c9a5f1d24e62a2aa77f449048d1d74cc59293dd784331029ba03c45ca6cb8cf5ca1280be0faf9f479674de2a3c3c92905cf2e7e80bb8021538a105581e037a66612ed74027c8513f633b91366791c97ef77af38f950ecc797675800c0246d844c1f022e00459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c6343000810003303b776dfd41e78ca7f740a00d423ac1452ebe96bd9a00d75c1faa2a8e64c1e803803103d7ab05a7f5d89f3fe7dbe229d08a98f6558a4507caf31dee75c3b98f7d3c703ffef0fc4d73c38535f9e1a48686768681a90ca18a7300ecf1909fc9abe35913803e04d41f196e53480b6e0759cf00ce5a255095ef8c762da5eec827e121fcaa6f3030c7a22cff5ddd98be69faa18ac59f6313cbc76d828c7d8c21d05310d6c09a4da03887bd58116dbc1140a65cee80c9bed1fddef036fa53d3eb74a1c35a5c58c5ad5035bc620f5b2539ed7aa3aa7f201a40bcd75eb7b685edee59d248ef4c2a103d35f03cb74d29bbb46c6c9f4c8dc5841373563e6b2a69c203a6ece119992af1f0cac0203dd659280c2eab0f28c4e9d2244b0fa7ea596fa505ceff3ed77536ee672c7754103e2f5d0f1f780a3bea4c2997276b22c06d96d68222ac3bb5188b3f48418946e700361b2076bf93d3581d3ab9940708e5b51d3cf22fb16d75df50f09a6e4d161da1203ec4312fb18a6f47eee0d12c1901a731ae7bc8306b98e301bca836dc8cec822a30373692ee58ccf70a8e57972031ffe54f4fd4e77fcbb70a8e9979b68027bd4f606034202f22bd803f04d8e1c855148baa5751d58548dfc1724ccf88d55b0a55fe23703b4182116be17e3aa31c6c83ade7d498956f67dbe8df2deaf42192c2247a9d714033104fd64618c4d64d5ebd97b4038aaa99a43730718ac536177dc73e3f7fd92c003bfb86c7850ee7ff04bef68575ee18f3d257686fd3a507d157dee7d5262ae2cfb03a63848753a037f887ba5456ebff86b9d8bd449be4f3d21b50327ee71031f2ba003d3f922df2d295328a5592d589f859f56f4b191e76205c07a070c247fc52d768f039e4d3519ca6bbf0da8ab54a3b2276a4bc1f6d6c2bbe65dec495c58af60b0501a03d920cdffeaffdc84298e14ee0dc1b0fbdbdbe708384b797d1a6a68490c3a467903bc6cfbc2f1f869fc4d5b0028fd043c4d53707c93d13f6642fe7b2c4066afd2a9030766e2723cf153d9d33b25be72664efa9af5c15874f0229ddc2bb02cae1e3d39030a6c355344dd5a02dc2338f47d769cfaf899b4677f8cae2aa14e4860b956ea3603dd32094868b0b6965b1e2e89a457cb40c11ef39020a72ab93fd31161756dc76203fd0b2c5cf6a8541a32c1adce0d7025974f60c19edeab2e6323ee445c977ea6e303fb41b3b2795b0f375d49f7e6d62f34a3212ff94bcabff32982ed364ab68d43f303a80e6a3d02384719eb7d1a513ddfa0f09d21d0c79162aff76e5cea40cfd2f364030c4aeef571312e3596d7d2d4ccd42b4bcff8fd66a4dae777e728a49e684463930306f4f911aa63eebd49966818a0be436e76260d2afb79f4962c672e6108ceae0c03f47e08ab0c5f16824ba845dc744cf99c5bad8e19701f22cd027ab405eb05eefd0371d76ad2ec9a9335bb5ed29a7690e45e93a8a795bf202c8519dd6905348d81e60360b4749023071bb2f660777fdce4560dcf860f6f06864d094bd469ef4e4ead8801410d03cdb45dabce48954cee4c6822d876ae87b5ce93c36c8124ce4157da550894bb1303fdd76adc0de4cb310c9fc2c7ae6d5e5432f59a517fd30d48fa4a41e7c9e578bc00581e02df5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154eb803eb3f501998126bf37bb823646ed3d59d07200581e02ab40c5ee046b58de13c072fe1aed84721795935904da9446546b3b06e958207eb7e6b30a27cc783149dc8e2d840a5354c129d3718e094d26acea6accb209320219880000581f03f49a358267a92870325127d17a8aaf27cb41559ff9538e5d629e99d3e460582011704d4c5e1af8178a0c9e10af13fe4f549877036f079cca9c6aff23b57ea19400581f030c268d57d5abd19bc0fabe4386ff05164e443e267901ee1b0f3af8cd89e05820bbc0276cf88777b13e585765c076bd7f0c7a916541170a5d752aed07038efaa5021910110219ffff03b6ebc8b0995ac7e1f9a0ab4a480ae329e7d750b8e0914f2e015a62cf3a5d671a03d0f4f8a1a7b36bc668169697998df012628bbed6c968a98c8dfbe1524a71cea10219ffff035938260213b3a8a8d0e79f3c7387cf5f02826058a5fb1178b5d213a06b267f7c030c8e9e034112120254d3fee66ab1e1a7037113742d8e8dda709cec2d29a7c39e038c6e1d5ec5593afcca207c8823e980ebc19c416df7d77bbcb1fa3356a3c3f1cd03311215bf5d2d86d46994b96846f89be7ecacf1081a26532e9fbdf0ac3e0c8f610317227c13ba3a0ea599737ce9c69ec273188c993619ab3f619fe35f973612963403d7f1e0fab74e95e7550808ed8b2daaab00c4737d3dcb919f30927726568cfe1f03bf3bfe795e974c635e4cd82bf986888257fd2dad2ba8a0a36b8911c42c441929035b47b0683caf882f98ac959e2636824f3117f309b29b1f76e6f9c04a7dfc508c03deae8bee296a7fe351332be94b7691d252c9d1fee7ba76885e1b31641498f6ab03113383ea9a2e62d518b280195ac6bd05bbc8be789a1f0420bb98678b4ea14aa30350a483415a83fce740a85753638652636dbdd74f56c897c41c600ad512fb4a8d03a99b91a468a36708e394250cc759377a90e5f69a3b7f33bcd317bd52e4b411b2034bdcf2945c3cc5ddca82325cb54672a08bfc1dc9b97b0f486b61466f7331e5bb0219ffff03736e8c306f567fd77c93578a8c229786e28103f5c581ce133d1e2c8abbd82c2203e1e08a2fa7e1340e2aa9036a755e15722108d0fd9b2a8e106cd294cf962f83ab03a58dd5358dcda89bc5b9ba3fd21c64c1878f57b6b129aac8728c6c11b99bf2fe0383b548124b84f2b7f8c905404ebbc380d53bde8ac0e546352e83afabd4ff2457030fd1ee597b2012072535770ded049632c1d7f532c87b2154bd1254c487b8827a031e030962ba3d97e820f06670b997cf99e2620e0f972e5d3f2d27595daf9131a303b8f0db626c8b83cbc8f2e5f852faf5d7e9aa559daf55ffa1a094f865c84546e903637849a9a91053a24969f0a1ada065a4469fce19dc94adea0aae2807748f992503374afee314734af1a8cf10a70081a147f7019e4f8e8f356b9ba5b67b6dfdc36803a2eb506e33f47656390cf283c0cd78a39656594e94a4aedb2d20feb4cc91324603dbc106c02b244daac1b3cd6ab647f3fdb78a62427a09c6700986df73e17b58a703dd82a27967ac0819ea833f6dab13d596ea97a646ffdc5c469679a521b984798d03559a199720f4e7b4e687ccc8bea3b433c49f1f565bac0b142c1987c40aee709403f459d953e36d7be97ed052256d12f7666353782c8ed38870d31aab82758ad4ec032d8d69750493532ba1c615e31c7e09a4dc57c869248b2172e393a8c0dba3e281033484c1fec0639d7ea85e0cb3edf974002bc2bbcf4a64d8f856a2dbcbc4fbf57903020b61ec8ebc0f60be22d6a5dbfd808944acbcb3c6d8df4bce9f1933a506cde50334206c7c74fd703ea8f50afaf42b655b23249b281e73c1ae3e7d337044c11c1e0384bbd5f15f8581d19dcbf951a7983986fa6ab62bc9ea44439cdba5e2a721e40100581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054bc9d741501a20f962756c95bf906b4abffadcf8f00581f03ad6d83608a5206d39e3aa45f8b333595a17803480f76d5183ab3f8af22f05820b38665720c33830ae08891afc8b9fc71fd446506c14ab2b798fed0cea91384e500581f037ac073608fd2e0b856801b3c35d164f1dcb0530366d9d8036f12ea887b30582055f6da738b9692d5215107ec5ec59e3d70345ddd4809ed007ff3eb595494b6cc0219140100581f02a30385ae3c6798de8a54a541c1e4837af63db3dcdf35d9ff5e4cd7f4b13b582064b0d6872900ca969b8278b4ce1b003fe28cc890a92374f3a4378da9ccd90f5500581f0228ebde0119bebc4fb5193cc55c239de625425d450982a41daf44a2b96ae95820d83912b3658564d5770289d585d25f215ce442b92e4ee472c126169eb4b6c58f037ad427c1ef742d10a53c3016c97b8e04dd9b54bbe0dd6236df72e59d37ed0505037b7e6280438cdfe3ad2bf31d0186985b100ba9a5f0a1d262439dd14440ca67f403b8a532cee2ed5ae414bbe360073ff1fca034c9687409ce77c6e1c0c4d533d88803532eb7280dc1d2297f8243c55900f74e604cefbbd63b639cfb295d16e8dfe43100581f023ef6223b937cc9624edfcd6791478b153c3e34b1be0e03e7fc54d0b35eb1582030fc1aa23b35f30d1df6831835b795449060d80ed74966448f857020ba652d280357597a386c323bf378b9c966d43e5e840a6490056816250a1ba1a7c546973e1f03abf0659eb6dae79055b7b3c1c4b92a5b44b1f8a91cbcc8186ebd591f2ed7b77d03e7025c3c2906e95ca0debe017ecb020bc0999e6ac97450cdea4a617fe75269ab00581f024d9e450b79179ccc8f8d24c55c44c2e486ff7ce337982ddc9ed9142daa7f5820990a20fdc416977e78d37420a19f0578bcb5aada0c576df3446f031a5256bbd800581f020c7d144bca17fe2ae449e34c56d02a287069d3d82ce21f275fa1023b82055820cb3df6532285e4a0d2b4b464cf44a168015da9bc1c3a1c0b11693eee8991d0960347badcae697fa7b1c63cb5babdddab7332faad70bf2b47038185de05e08051e40219ffff03df5bf662160d9f4e8e1a31945e4a616350b2dd2691e6db17dcd5fa18a065da5803691d110bf200cc4428556dd5000d49a6b72ee525c7464767a4561f7a910b838203f765975b67127087b074441878a928f3474c1f5de861fcd56dbd5cf633228c0c03b60dd07faadd58bcd631d74a1ab302bd8cecc85c5c48eaf0e74e8ef89c9be6bc0219ffff032248b0e82b3b2dadc0501b4c55d945fd3050f61daa4c1ad30257c206cb590721032b14c805c093bad0f674e072cb78db1c132dd537892148847c43dcefb9303836039f5d67eb7a1a995f59f0952590bbf8a706779f663736b33b43a7f44ae13e34040316249be9393d25718f0c0e9b24aa12263a2296561b49dc8f2f5297b1819a7e5703c73881f0932348a84a5f703ec0837394620c5ed4e45492996a2b06d2b6eb8dc703633e45f092ae846ebaf7230dcbb6ec3d7946d22aa4114b38a0a45d42d669f63d00581f0251785dc29990bfb06ebedb5d6c1e8a29c4b87405eea65fb9400998ca0c735820c8fb697d4a2bc4d82ded63d30ab9550e722624a8b5754ce9228b765a04f200760388c135b4ecde1590121f233e7871d55f848cc7e8ab5b7f1b838aa0654a847a63039a0447f8ee6988d8f87f33b2e44824f190191a9129937361a28a30b6af0a8c7a00581f02a5cfd2d2bfe6021ab2248fa74f16373bdb3d1164e5312a89d7aca926d5e458205eee2a1463c1d656b4762311afc4bb3387feb1f346e7ea2325ee6ccf084372cb03135ab09066b9eec3adb319ae8f549430499728ec316c28e4e4afdd0ccab2b1eb03e17f9aafe3e89189c2e4c97318187ae536a9fdf684bfd5a1f5af059dd4fa822303fd58066b0e5b0fc80ec4be3f37dd4268e698af47e8f2fa4eeb3004e09e28ec3100581f02165dbd419a98687ad2ba49ad6b7b0094294da8b9eba18efd1a6e9ae563ae5820177a0152d9abf48626275b8451259b6eb5de3ad62157ccee682c09aeb3d9cfea00581f02fcdf277b7e302c5b5f20581f17042e29cecf6e6db85f9a137d59816a468b58200cb65c5cbd265754e9faaf38ac60026155750331c0add47d5d4511a305c6c11200581f03f7bf3c9c091a962c876f0fab286c412cbb73d5d83625707afaa83427e9005820fad83b07794dc9ded32071de5d2b8260cc737f8a3e1d4c0d78054620637b8f3300581f037c4f97d0cbc06e0df21760d3e886bd0c087e397a3c207534e5cad89affc0582036d41070e354bf0a4bac0943cbf6ab3346abe83d3d729e830e73da1a1f6d73fc021904400219db7b039b0bdc0d9924109e9a66cde8ef457e6cd279b62c40108a5eeb0301c97ffabc93038a519d0f7c1e6e225790b8509af0c29e658a5ac3d9d06dfda84525685fefec3703374a7f0cfb4f4076f97b05bd63cb8f27cc90f08e80e27767942af8f852ba332b03409b9cf4b7ee7cf47153d493f866a2e0e414fb79ed83774948ee543638ec9fc903a5771e15c5fd4e4c8282fe984735face493ab91794d82d0e8a99934748746e14035022afe13b3ea59064e454b5964169fc2381887960ae351cf5ad05da61050b010343e9f306848b4cb38ca5d59643d790be3ff92c0486c61a432b8993a20a5be3a803182f7055fd41fcca8043149c7ffda98b4344d431bc995b18d6c25c9fd6983e020399abd80607a20fc2f652b60e523a68d6c9ef6107831448425ce8a7128a2a439803d9dab2c640c44fe65c147a77396800dbf71b1466b154dc8a35aa1641447a1a6603478f66e64e1518790a142ea80d9390bf8d18208abaf194b69fdd20b3d707f30203f720a8db6bec6ff9f8513bd45b4740d29ae1178dd446986e2c2c513f66bdeeb00366ee60f79607d3d92cdf5405e7fc1a814926a737a79ab233907f01e430f63d2703cb778ea3bf580eb3f05d7f60e8c0a3251d389c7e5a8c40ffa0d05be74628ef6603dc1765a9dc94f1dee3ed9c73adf2e88a97717c921f9a1a00c891d38ac0321e04034619d06393a50dc9408cdf9cfaab6c4220218f34715bdc0f95c7e6e9dbdce10a00581f0214f0cf4f000fb9b25eba6c13e4d428815f07103aa03ad6a131b589bce86a58206afdb8c1c9dd8e17dbc02c98f7fc7667fc1858fa03eb410cf4d267855335163b035d30afa4f7c9d9f80fef85528a3f0919a425664fbeb43333418576ccd7f30f5e033df5ea67cffde1dd008be4f63935c3a4eb237ba136feac95b09ef50ad3d0898a03bc6c2df723e46e011a148c70f31c4e5fd4964e0d13f80f9ee3719c373bdc8e8f03899b8414a2d940f5d5ff2395476a2f4727dad188575de7d11334eb1c16b511ee036098bf7b5c49a4811d634fba224bdec2e90d6a82ad62514660549a8732b196b300581f037dc0bee4d7c9a54996d158e8c7b6db414ec96dc4ad26c94980835cd23d505820aee355c1077bfa629f0581a4840ac5fd16ca8b88e4ccb6b425669c23f3028df300581f0396fe7b1416b6cafe8685d42d7b0f7e02ac31d68eb103ddcb6d07dad9bb305820180e6c010b1cc33ba48c8ee23fd035967067401c8430abccd086e0750723c8ab02190220035c636124f1d41b41ccc029be69f0664e456450f39d39a38f7dc9635f35947661037513f3bd53279e1ba98b062f16359511a05906718f8042b9d61996057b09effa035a321940810496bc4cdce356f07fc42c99b758dbf1b1899a36d20111d7fe726903f2f1dbac6da7e6f9d4b3d44ea387bbffeeeaba7c7cf56625f8e1729efa3c29eb00581f025ff16b052de3a987c859efa029d546130b306ec41261d48a651f5e9b315d5820162cb0cce904fe2f81ea45f278905ff7727bed75a00e55148b851dd4dab1510403bdde46e244aacaa06fc98b786771e7a761983835d6e469dcc2b6ee0bc3a906650219ffff0219ffff036d3a9cff8236573490d39100d39401e6f4698f0eea18005b5140dac8ccfd9fb703f4e0a0bff5160d1c2cdd56f0425b2154ab02c2c7b75d22ee22f52b8a3e9c8628031b60a85e59733d99b48070346679b35046a957636e70e1b0ecbeecfd98df1b66034d250a6afe7289de0fae2097fbf37988ef18d55f55eae93506198aee3e38a7480318cd1e728edee48ffefc449503c6f88609bbf969da0d958c34efea131cdf35a603022a08bf0d7e90dbf218718b0eab9a3225b79f0d78674ff12e37703bf0e9bbb903a779b1216cc2c4be46788e6fc4688893f3efc113f5806022001e01cfa72e85fc035ab199f31ecc11fe3c28ab3ad73ff682eafb5230b745655e6537c3e93a5aab6b033fbe38c4477f607e69c4a52a95308961838b6f6234c4e2eb63a6333fd1f6ddfd03fea908177e4669575bc7c59027eec63e9e6cbde7b70aa8efee93b8b0bec507060344f22cf3effdfb9965100ccbf258e89940aadd8ebc0a06c3893b6465f813a239031b547d4d1a670bf46855260e0c147a8a7f08c7ff52681349ff20f6ac2c2202dc0348d9b7f3d8a403d10688c0fba8993008ae66ec13554c7f40e35d2f20a59bc4d503ba7a18bd45d00262720986ce690d5dbab2c042ed984bc7ddd6a23c2f43c6ec890343ea96185acfebb13e21fe8396ee6889c4fc5da467dc57995c830563d0ed2da303f3efb08e85b97739d1d31b5f94a2e12001258f77448d6aa49623e240619582a50363ce7768ca9b2b129f169784d85671b6856513b7b91e8ca37a011c7f58449ec103a5ba3b29b3d103471975b854d3b11cd72748255b659999f25e7fcdcc78ace5f503b7e829c2e342e4a686b079812bb97872ac7d26b88d24186a2d1be9219e4f636d00581f02302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143084302404a039f3ff5b2f013c088965c907510ad1c737697528c4aeb83638142f61c40394482039c68cbc0aad46388be4d6faee5b3db347b221583e03b6942ccc3f26e9cadd7ee00581f02be73ef3438c7c5bab0dea3e9f8c69db24604a23665fa5e76a15b4c0157cb5820a2044b876005a964b55c13daaae729b88c940ca1637544f6adc1888c4307ff9f036a5c28cb8eec73bc692070f3546d286f7981faa13483a7b553fcdd7a858d2e6503bf439d84d35df1530074254321311030526cbcbe7862123aa428ef35cd6e63aa03f92fad0b1871555ee793088eadc58197cba86c525f0c72a0885a1c5daf90890100581f02704be1cc1ce42c53ab5b8351a400aa9eb6ea5c5b02e35daf030b64dfb6c6582025b8c7ae770fd21bff4d508d8c4cc672538e5fd0fd4ebf7b245037130a8e2b2300581f02ac8f0078adc631172559c8bb225abd085bd0803cc548f550d183f05e900f5820ae085441dade8c22d3ea56694b52c2b1f68b7959efa6f01c82d3fa2f462531a903b7c01a8b43f34ff0b1842cc06f73104cbf2c1bb009a6c1ac46bc4d51ee172dcb00581f02bde326b353adc196f893509976a4d7b106c18b7cc162a1b7817b0ba2354958206f6074888eec8a1f5a1a22dd86c5db0163ff2fd5935db99da17d3ba0864b3fb402197ff70387c15eb8c46537d09d5c5a88378114e2e381408fe130ed6246930aac455b0621032213c034105ca9931324bb3e4612cc4910fcbec91cef65b484f7073feeecd465030badcccacf27d51ac09748d58b27f0f2835fef8e5fc0833014d180647e2ef7e9037c3daf26b31f15c5014c879523b330059e3be42dd7b96db7607c002d1a8b712b0219ffff0219ffff03458b92a6f98dcac579733d4ed17b268c5719fdf63d7c7deb89ae946583f1369a039efce7272f080568f9701cd85816443a76e83511149fea23e3bddd46740706a4031ff5301b9a9f25ac0c6d0c7f1e52e2ed0e398dc2cf6f17c7ae37daf471ce28d303ab64a8f0f15dd0b491276328cafd0b34543a1867d9219f39bab873202e5efe3f03b33fa1d83306f74d64d01eb0e4811acaf3ec7883f0e32ca3d40cf4809ff1308c03acb64437aaf6b1fb8943f27fb13d9ca3bcd4f5bf538cb5f319e0b72aff9264ef032adc6c2a33075d997b1c0e1ab1d435e28a7ba35f55b024bf0de93306552f74b6036cd1dd0f63a97792ee48289481b0dd77d89a58864fbcedd77b3063fb6dc36487033a176db87c5ceb8ff9d6d907f105b2f5db8600abda999156cd59cdd776c737f303851dbeadec851922e3be205feb6b603eba085fbdd217a35866937f34f07d56130387f8d5764ccb943a41871c5a82bb830219113a5e3b94f8a68d4be6545e296f0c0349b01ffad42739479111767fda97cf7b35e310fea3a62d07082bb472a9ad4dd203df93c81ea12d540622b03bf05ae62489986fda09aff5abb3c975dcd31295b88d03910e85e5997baf45b16126ebf03a056a8b59c57c1f886e5869a7b2355cd22b81034653c4a8c426d6486e5d7246f8431c3a4afff37d9dcb0dfa5a3f76849a129a25033bc063e2fb8d3b8ddf84d93d04367e9bf5be167fed8fe424ee79a486127693de0349fb85556c9b25628b67a1cb7bdc39e4b65dcd3ce4d9ec9c0cc2cb99f145445a0337aad8389c5007c45565c3cccdf7109cb650bc10fdaf4d6c4fac6dc96899a73a03e5c9e199dd0a2ec001d07f54c84455a287f32f962212204938fad48a6f76941b030415a8923f4cc67e0a5ef2be54b58f5ec884f193f2f3c945806ae3cb05e82b7703d27500b356b57d1898a182263f1de7b704ee0460a79c9fcd9d7119612999a9d3036d56180e9efdd8052468c21f7dd8028b00b53ad1fe897cf78bdbef90a46ab43903a9fbc3e7b0d20d8f40bb9215c19475403a20b1d445e80781a3f8aea2777ffa72032a37fad48b12993860c81c76c34d203c65399f70eaec39da9021c4b4b0a4309503a27426451a1fb6949c3bc9f53e1e3b6c19ce13a4861974ac7ea8ed7e56175d2903050b6840b60053e36b2ff3b5280f6dc38e0812611c3d50fce031a7a7ca52a149034164855f13106a9bd002227d37352b32e83f1880a7d088f9c883e01100c5c08703f16767f0aca19634e2251539ea2d87ab84b49e9c2aa62fb8045ff94ad03459f6030e38c6284f5006d1be09b74cfc0b35b79a91dd20413b73792baa4cbcde5efc8d0374a63ec95c40841f7f6a5f52bee5a97620590c8432823a95c696796c862eb50300581f027cfd2a380c21f5f336c7dad548421fb49d52e008038a0190d6fee271ea7d58209966680b17dcba63299fe29efd4ad48fefbca813be4c41a9c8ff9013451d3e0403c8bca638cc540392cdc219aba3068886a16cf13b4ba5abeac627c431069f0d3600581f02688840b58245cc40c76e03ca996fcfa7fbf3366ca5b2f3c6841e1eebf5875820ddc47862770268d3c782a6b9d8f209b93e137bb5fdf2cc808635903eea559a46033160f18f128158332313174d9d2d1607041a0e84bad163857376f49935485e2003abfb533e99c822b41358b4959d9bcf09a7ca37a5f030fc1f3f0a22e329ac51dc00581f023b36a98ba3467160d768ffc82ba6dc4d70cb9542d46e6889bcf6b5e0e93658209bfd1875f130083e688865ac7c4970f545e160b2588f9ecedb281ea30ba5296603da391532225b8eacfd89ccc1837eeca5587eaeb057feb8ad96e60ff6ea7ac41b031a65fb271afc7fd282bfe35c474bdb0f32cf512250b4ea7281b04f0f534ae1ba03bc4bd44b5af371371dbbb1711122377352e1d7d4cd104c402cab100af3c1138500581e039363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c70546774bcbd5cecef1336b5300fb5186a12ddd8b36700581e03893631588834649f6539032e316148d925484af20a5a2c937e52404990582010e54a996f40f3a9082bfbde554715d497114b9269574bbb179cc919ed0a916a021201420074036ae7a6a93f0f5c81fa8bfc512842995bf9350b47359529864f72a292ae06a07b0304f19cb6a3b6224d55ddb32263ec9cd8fe1a0ab4829193d642948805c7fdb1460370b6ddf953b4256c1855267a3cd7eb23d3632a596d9f022b155b8f0ea8ba4e1100581f02f1f553cd1e55bee217a679f6cfb5c148af80b1c62db7e7bfa70be995a19f582072b7c80649acb879582f59d0913fe68e5995c656c86b781bf3158e20ab2ac12103502d71da694f98b00eff787f61a4c832957cb2633531c48377bc2dd74a33863003ad168dbc18b35a4cc52f2a73e29b1d6f12bafa5fe5736d2be7b21cc0969f1c6c0219ffff0219ffff0219ffff03d2e9eecb0ee7791ebf88642a18c12cf75991cdcc443bb401ca6f578e4bd5133c03788e9204f888c56a20c44b9ce41bef31545827075ca98cb4364cada00994cf4a03f6af4de4735c4620aa94f782cf5f076311fa328b0647ff546d3620c2f33a03d603101c547b9195d91d347b513cc206fe6475b8a2169c6114c56a106d6b6817f5f1038e1866ff29a4de959e7da0ac12734ac03c7bf3870b5ae3241bb7aafe54d94c8903bf7d11debc69d01bc7961470566bfcb1e6bc7f232fdf1d1ff4b832110b6d60f20389ed789ee484578f5b1b84e2a9386babea22df4207518eb76b2b7aa4e020243203eb42f4489095271b2227d08e9c25f6a936d33a589571b519df7467dc348c89e603184157afc9be68ddd3603891eee20d93a3d3fee076630e0f51c615d1d6ef11490351a20c3ae1f51b3084452bf204d5b4cc4059c5077fb48194fec8c2ed77be1c570333381291229d14184165270036dd78d571615c893969ac0700efbc82d605434503d4ffb7214bbdd883676e437f091d9c11c29c82fcc5612d878d27ae738c8c4e2c03b482fc99467c7a148c5a28e5ac7096f15b55491a84db0408515ed1b3532587d800581e02d25ea53cab5eb4dd1d83e94f8e137bc2ec22c972136bd0c3a73f7529985820edbc235d04ab93e00b12bf33f3bc7359a528f43f609bbbb700d4487bb28bdf8c00581e02469c189e6e57cc72e8aa8c012f8bdd33581b05aef6c08972b30cdbc72c5820f9bdfc6f650817be268cd0fe4cf5bc7a73217ec4d5bec08ae85f6dece544edf90219810001410800581f02b36f34ff333c2e1539f1df7386358dd080d8040eddddcedf7612f76b7cbc5820575333f7844da375d1e327aabad2356ca1ea3a2bbfb6f786b2ff80f30129694203d0d9ef51313896fed905eabde68a48ea6fb8bd802d6304811c4c7698250de2860339c4f73220fa0cb4bb12bef65c00b74def32cbf632e2012a3e2d32357b2371b2037d9c1ad2ce235e31be1eac1888047eb5479328b3b837634ea4fb67447a98bc8e00581f0291316c59097f1e426c58b3506d7e0a53c37ac328c892262be01fefa8be65582077c3e87cd309b33a5aad4f8ddd25182e8d5fcf2dc254e0b4c7fd8117c8dc244100581f020efa7f0fba00c993c610ddc6cb781aee2c0c1f13e5ecd15272d39a15a3e25820bd27020c26ca2f1643f17698354f46d4b76767aac027ffea7c958c09c755584700581f0232b3c3cc4ab0aed097f67b5b163eb67887cf158e698809728110d6d7f7cd58203387cd6f675118eb325817238cfdaa6e027b8ba069a35448f5f3a5d89f35f07403812021b809aa91d49dc60e269c6df6c9367c4ca27d2e79960bb01740742fa83e03aafcc713f7390fadc2c6e35fbf7f0ebf42a32b3e937ab8e15385e47b43889fc60219fff103dd445f8ab3fd571f47a2d7b9afa3e6f87681053c0c7d15887d292d467d002b6e0342c9af7584fb17a2f12d657d2377ffb88161f58ad9ebab726c9b0da11a644ca40342ee63fb81a4adbde94e8c4a829b8d66d0adf331a53768e2d760c62a301d9563034729462a0ac5f1030a6c5b624120197eaad94b0e18770e1df594be3f9923b2740395615e7529748f93d220be8df109499b5752d80893e9042ef2cafad8ff5b82be0336145d2bca17dc8edeef1622d33591e444c798b4f222ee3e913e14e7b859f65403fba2fdbff939572e5811df09374fb7196525565015e78e20d269a798d1da32e8036cca3d8ac2204ecab9e87503bd645dfe62e087f8d92f06f19b06f8d14272b113039b92b295a3cf7fcbd9a0cf1707151979f7082962e50d0416ead62095ecf562c7033cc8b1e0807b39339a017c503d5f0404d1a1e5af5a22a1eaf9a7f29b0f9de6be0394cfa9f7b394f19e523fd2e7bb2c259e01e09ec5d6ba7270001a0c9f9c254ccb03df367299fdf84dee821291aa70b72d84a07762005733fdeebe285850646ea0ce0219ffff03f383f1301987111d370b7a4d58ff4187cef80fcfa6d24dde595aa2729c53369e037f8ff4a59652e3fa354ad20752d3277aabeb7711abe2eff9d890dacd7e91824c0350677af9acbea9a94e2ddf1e64f00ee38750ee920bf1d59006a5d24e10a8ca8003d0f9c2e5b7288130ef1541267348daf772bed9a1c87dfa019e48e19177d5466f03ca98b2c29b4e7a2328ca81b0d7987c4a39114e5b2e29836e33188a5a5f219afc03beec35496cf2ad01430725550fd84aff389eaa557e704c87988a9d1f3624633e03ef3489c32c65da18f3986d943ab51907f21b69b0cb8702bc9e637b4a9a4229c0031d9737c7202b9bb6187dc5feda9553a574cba73d8b7a7dee2090bd4cf2f8c2640219ffff03a6f578224270ae4704eda4f94e920effa200ef2cd5b485d4e62bbcf25a8999030375a6aea7e068a4c0b64207e61e0941297ae9891a182a57689d584e0aab7a3d4603a34f31046862e8c6b9e0636d708b2bf7d3d9d77e444ce027fd0de8f06ce7928500581f02332c09d93caa4fc794d2d8e83e3a80251c598a01dac63cf87460906f30d7582094e2c1206c5150d28ba4ca486b9f922fcaf0b2d3857f6a1eec9325525ed0849f0314c4c7d3210765736b3b06aa1cc8aabfb4203c4df6cf33189d1c6db582f16fd600581f0218321c0ae46e3871bae5231e77865276d2eca182a0c7be9837a0e644e7eb5820935cc6dd5e44f186383b6a782cad3d7f611cd0da0f06540969c1815c0025851a03e0333ecea16ca8a46acc326fdefa033c0e8a0bb30c0629c2ffcbc57afe32cb4b00581f03420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c22097753054987e300fdfb06093859358522a79098848c3385200581f030bded6991b6b16977780e2c0830ba9a913652047cd150abd0c7d65936ee05820b0aece74bb0b68075c3b9edebc4b0765a312d90e792f057387ea1d8dfb267e6e02192008036c77d38537c1b2fa15768c2121d6c959edcf774dbcb7b8ce89f2b79aedd11309030f836352270fc832bc3854e1d6dee2af6144c51d78bb5d387c82e310e4af7b2f034fe102c665f24bf7f3b30773f40d861b78a7b0618250f6c5781addab634df70403bd2087d96b29c79134b3999b15c773cc914f89941cf7b2766a78a0de276228ff00581f02518e32f94a4baf1a773519ba4d3192debf3121c9733e1ee6c21695c69e0d582054fef7d6dfe9fde947f7ac5f29dbcd95ba2d5ce640e1dd34710098bb5b3e027f021923f703ac3d19f27d5d9f3a65258c421142285be6ff34b6fb13d255648b7cd4bafb0437032f88cc0459258107d7145cd461b2cb663f421f8de63d4bab6b0cede5750f227103fc828281be2160d0cb002b82d4f442d83ecc741decfd1d9112539a41b80d217d03989ccfcbf2ad0cd71d09cbe1cafc6d62d16369cda1a23c33f54baa7a4f9a60d203f8fe1f0c22978860245a95d9bba6fd113ff09035a9836ba33903279de4e74679030d2833aa1debf28585f92fd13b588849a30a794ef4c9f13a0a4762f0fff647a20316e22e836b26b6fbff96d9659bda40b54a79af5af2731a9c2d196c5cc560169003465795b816b17bb922f44884b13e0f399333b60263b58ed4759c944b2c60032503daa5306a3629b9777ab1b36c6c665b5642533c97b7d8edd11d81609c921e05de03601ea34158a83b3033df5d90abc992f5dddf9e2eceff58ccf8fdf98339cf90f60391fbb6ca76b5fd4c7419c51ad937576bd5d2eb7c731bdb6e4637379f393986c00375f715d28ff1e4fdf86c91fc9294600df96757c180b3bbecc9cab3a1932fbf2a031c1ff97b4dcc74f52fb5d181a980e3c8a659868ee550acc16b31f185b6a0b88d03a80cf208e875c9d4c16608ea3d02e9c891a842d14554d14a634f84b1c676f5fe0219ffff033dd6682e3eba65f2c777056c80e8c8107aaaa82331c8292635f35689acd89156033c197821c33ab37e0d31b43bf9d722ee498cd9df902b923d80ffcd118e719e0203c8606ba2be0db6afbc20dc06366729ab904b8da0f58510ad75aa315a459d5e3c0331c98c71326afd71aac8971f10f42290fe16c7d7af12ae4806dbc1736b7cc48703bdbe0215fd98960f957b4321ba58b5394badd12773ab60d5f5556343072d275203f4b37ffc04961d78750138594075707900c136b15679769753267a589872d97003a2de80f3ae7e8afd449358021fed4d581bd46f657195435d64527ba8656c5aea03c46a627cac32918c79da29459d5b7aeb8cbacca8c999609048122939d72c6341035be1fe2698789f8d25c8e0fb176f0cda6d9374fe4cd3954aea6a2767e6dbca660361df175b3e324f6df1bf7c47aedad47e63841eb0de7b61f226cbae3038df0f7f03f098ee3a601800fe1e2432e2d508f30c18d21449ff1dc4ff900ba69c665bafe3037e39e92367b78edd713ad35049db6efa4ceeffd88d6c438df019c1b660749623038c1b06a2f08bf5fff10a51f12e22ea25e6bdbad5c5efd2448d9aaae0371c6ef80219ffff03b3aaba3737c98eae94f8ab98ac0c4f96e9c812ef8531fda362883c6552a3c9c7031d5265c2486da2c97ec2dd64daa6d9b15cc85868fce3a3ed55e2ac140b182b9f032136b6a82334c40c21ea55f60661b1c336354f4e37f2a5a8bdfbab2385a982fb032ee991353b410cb250492b2a3f9a25a72a26635606bdf2a231e5dc4092c00ab60387942c594c95823c834bd4f09f1117eddab0d40a201c982b7f2cb252d3c0492203101d53da5b84f181f2893c970d6045f19602396cb7eba3013e47081b565df90903ca3617c4a15c8b7148eda7cf480f0bdfa5f79f192cdd9e88501d6f1f0aac9680031be799694559aac84f79819d9e81bb4b7b22bc2b971b00ea097f69ee755874d0032481848e037ff7236353c2af4eb730fc0af55349faac4c5b818c95940596ee67034322df65082ea737c152f05c51dde487880c87062e26d662142614dec07505ec0316e81628802212817223f2447dc793eed0357d9af3a7374ec5ab00c64c7f361703b2a409f08d99f9f4da9c2cd928f1c66c11a174308d08dfec4145343746ef0c71030700c8ad205794ad6b1b7257b59ed5c50596a504cbcf55df145b2ce71de09a82035d6db9e676f648014b7eb1736f25ab9efaba8e6b655a6953943c8c897c764bcb03d6a88f1b5cc1702097797c5acc16c2af912084faa14ccb27eb32b388581e4c9503496bbb994ba9be0440cae21c6baa9aea18ba0c90aaed5e28731ff6d1447b932103e8f992a411fe044bb9633c6cd1c65d77cfdafc36be5718f2eff44836ece57f540396625adb586cbd209881d5a1946c53470f46d038de32ff97a66d670be39c8d8e038481bb26a8ede81e86c7cfb894056778705cdaa6ca3a0d463baed473aee7d28300581f027981fe416904a37d5fddc5884bdf9d39c2b98dafc3fc329c9c7c84570d155820cbb857b0ad02ad3d5b889fc30af25600e9b45c3c6ced27e4ecd01fd1cf8295bb00581f02cb8ece8cd1863bcd6082d65c5b0d25665b1ce17980f0da43c0ed545f98b44398968000581f0270f12df07e54b32bb107de0b8deb762993de1885c095289a1362e7314a6e582002b678d175bfcc7a117c3a2e6fb21870cb31ccd6d06265256197c505262f319200581f02dd267c7fb9d56de9993ea46179807348abae5d4cd01685f71237acb7c9b65820402bcb47a9c60c40bade148119f8fa405b033c6f0f08c147057d3ff3c4cec28000581f025749cdd8ec0e81b5b9a4865e207a0b1e80f4ce7e8d953ed8a0b78bc1e55b5820b93083863fc460475106ecddccf55247afd3df9c80ea535e366630e8ab95effd03a327d87b46763b01582c8dcaf0562bf5d48625577ceea6442a53a1dd1bae4f7c03710bac086da25e41dcbd27921c6d457a98464e497bf4d62b8012ae165b533f4403958437a668534ce9851c221c20386ec58935228359daf1ed01c11c30e3282cc103f13b96f21b31ccf4a372e92f70f9f34ebbbf8fa9174c1903de770303bce5067900581f02e7bc56a09754a5ec704954e45c8b41599ce5dd924861cc476b71d13d8c215820de67a299b67c8ee7abb5bf8cb01fc4b880293e697afe01a1b0dd8bcf48f6e0f20394df18ac1c964d8db89485877d30d2a03f3cd6e0eaf0f2e03ae578ef3a8f77e900581f0278e2db311af00875ccdad8578fcbb862e901988d01ef2ab16bf4b24e9e7b5820a7f9b373ba52fb5086baa96728b8bc8cfc0f61487efb7ee01d36b6212200bdd503e2d458862c75cbcb4546e8248f2514d160804d709a1ada0438c849c787838e280219dfff03806ea6596274d234e82030012dd9889137070ff247f32e77cb382dd36841b1de036777e629ea68024a7b34e252c6b1aabae0004c749f0d80c4311464b9344a44e00354dd3686bb1c8db19ee8954ae451b5bdd18b790bb467fb89009db3ce14c74ed303538250fa694abae8ee58ee59d46f55aca94c111b6839a9e3fa0e1092dd03433703867961a1965e226d661bb2dd3e3b41dd46dfdf2e7dc92d4ba0cb7c4f3c7ecb5103310e932acf2772cde36cad309c4af73ffc8f34435c3a9b79e64cdf6b93e3876503b0ab4e2932e7fab1df68c0cbae8a607f0de732447ee2e5355428e6aeadbb63c6035a853d2eba1547bac3255f40e0797ddfa68d4d846b734a47df29ff377e8f7f0203c19726ee11f0b8f932bf96697c61a99fb8bdc0be4af491ed47b6a596736040ce033434605f47ac96659214daec0a0e008644e7eeb1ca49affd5d72e29df992f0dc036b53806a63d5d6c6d641567e385616f45bbe822ebb6937a618c51a83ab95f6b50219ffff03cc6b73ef0f1a8dd9c2fcec57d18f86e4ec60139bb2b7f2fd72d907453f216df4033c9c15c772299688dff4925875437d572a2d52970871f7189a26a3b22545eada0219ffff03ed2a0fa0bf2a6d0933e5f409ee8dfa39bfc969faffca50b297461f2bed214ce603d57032410cde6bade4cc5d39181f0befca7f742fb749508498c11ef0f42c559503ad970260d1066b556259b9aa6cc3452ea8db81ec7aae89cf18e1b141151ef754032988a2c03142ff180972565e5dda41e780d3321fa7e3724cc602ea4dad712c5803af98f499f07b4d7166640f66b9726917bf2b9da8628e90d69ab80c47f8987a65030fc22dd361850b4cff66b27fec5184f6f6e321a5b4c8c4ae6cc02cbf74dae7700310182cef198fbf5c8be8ddf2ccaf37ba1754a3ad8ad62a74641af057c1833b2f033c22c47ceb087ec33aaba8bfc57ef868973625afe22f895b8fe8517ccdc688f903511f7edbd1a8bbc81971bc2cd98570398d0734072a6a4995ddfa67e6f1d4f1f40315b30b643d7c746a386ba7b17e089d12eda04f094778424e455ccbd868f500a5031564b1d13660e5147702ff7eb685a5f6e50d66ff3ae1e068c8fbefa8b82be90b00581f024fe7e3423b2f121e5723ec0e8b691e2d675ead6c081c34dd9031df3d83b85820b92170428fc8a4d044593c5642137c0585d00b33ced1cc82ea05aba0879f11f3031be47ad0886cc704c1b1e1ee9b94e456a061d48b0b61446b09df969eb18826dd03c402f37f6a7508efa31e0df2c2f3e3ab3da2ea5c32435427339f1393280318bb032015bd3ea2bc947063b32f344e62dedf0c394bc3a31d1649a138b2543b8f148b033ca3f80714aa06ba282e0ba54126ea0cf34d44eef7b934784781e41258c1dd7e03807a981aea2b23900ffaca6044c77ee1504838298c61602aa77768954cda99ac0372cf08cc39c145db0663ac92019126cb9f73f22d8b361fcd153074a53eaf20da03cb9f49d983c68f9ef6028f3dbbf80f1773832bf72b237758d1b43d361d83a62900581f0374680b7f993ced799d5ac909428e226dc5b572d2459df16ad0efc343f7a05820c30dedbc666e723c475a75755ca4660852c58fd6b648144abcb73b97415929b300581f034fdf621ef3e6a7118cf6e165baf6d3a3be6db1c45b8de10914ad281431a05820c4bf7ea0a6e196ae77cd199c589071afcd94f5c5e92a7c37a38ae7208dbec68a00581f03d9a0de2204fe3d13eb527c130f04f5ea226ad85f08d427cb299443abc80058208de06963079c02b22d0296053e505f5735589ba61188f22e03a3a442dc89a2120219014203e3cdd6e623ef4a4d33bd3e9febded6e3cea3d83c07cc74d86a85a47d67704209033fd6b206de3ce426069a5dc22d28da6f82e7b75551bdecf59fd0d62fc277780903c63044c02c5def1aefc07308a39d26a68cff1612053e8c4a16977d7307c1da9f03ca09e4dc5fba96945aa8713a663f7e26eb7e13a0dcfaa953be6f6a08660583560372e4d22e6d0a51560e500df3981883feea8a0cdea73eb3fc3b0e7d7ddd4ce5710219ffe70336ba4d62a51ad2a5f9e0951173697a7dfe674a0764aee51d66dbb99416a6d49e03e6ced7ea7f029ce96387a24d3b6f9a76e876586006097a5af9d8ed3c9405663503b98d3fbc786b4fea987fb60bf7da2549f488e209460dd0ae3c4cdc092d3bb3ea03bfc8c2f88d426a4381bd179898873b6778962cafd3d2ccc19be2cd1ac73f0124034d1de09f64e930ffe7eaa45072bb7e1548121f1fbe675a5f525d6fd3b06d3bd4035d6d39af30a6573db0441d1e0ad77c69099df3290ab8ef93282fb6c75de3b84e034adb1daff0f0d8d2802e974e95e272a7943242414fd88c78dbe382d408de51a503639b67e76bf04b18c1702cc4d24a8615239eae642a1a44f0b22f53c809c63d31034285665fb38fbb6dc18625f836a3030407cbfc4f0114a99a0c289ac2f2a1dae303a1805414dc5d4b6897339a4d45662358afe5091f941013c8b9225987f81ff7bf0364fbf101a6b7b812b400ba4091ff54b4164705e665eda04371865c53185f53ca03c7da486e045b57375d124f8c76f1a35e8c96201dcd6f23c9bd04f3fab39966eb0301a1b923cc646f95aa6c507cd001393b3a2c308d3427453d64805bcde42b224303b1ab91a48630ffb5a831dfec0fc9faf7bc018d46849a42c02545eaf9119a98ea0219ffff037aaa03c45ff3941c60c8b10503f50961cfbba17f074e90abf33bf72054985bfd03eba8b468fa62c266ec457487b095362eea2db0c5f0155884f69f91968a82afb903653a7f16b5d95e517bc0f2cc869af9ff1cb97b3c4982c1e9d1e6d67547753c0c035d7a17f148b390465c35d28af9b2e2463a0948ef2d5ca11823ca9b72f704687d03a969052a9d3bd75fd48ab6bcd6876d2d3711ac59957d5ce26cdb956aa3201b4a0347a48bff3ea95046bff44794dcaa4d6552281811e9fcc12cf7f1f7d80cb57408035cb4d578680a2ecdf5e32af0405b2bdecd801fbfd90acb28c41041005689bbf303e1c35ca193cd93a803ed5bf27e43f6e0dc198e5e204dae9026ce8856cd0f30250219ffff0219ffff05581e03e0f9b8f4a113806f4398a7723a7cb71a4034ea331066a14f2862602500070119089e0219e31703dad0b2dc1eb1e80cfba99dc9f0bec673da476be2863c2f509e62e3dc9ce38f8103830182819d10925b5fcc078479b699550d9f1162cb8eabafe353fe96d92cc4ee0316f678351389403b40114c5e874064ba5e26f8e01544f5f5ca849ce26d9ffea10219ffff0335498ef99963859bdee54743ef78d7c092551a7b1b84fde02d7c92966ae9f3ee038b2bfc221cb9f8116607985c8f7ee3d63a74e994d845800df425fe0d101a8a18036bbfd3845024a075ea8fdcc5688d27b54a2add44ddf8197bb0ad0acd8aec96c503c6d2696e3a53bf07e93ae62fe86a10461c773d134c8fd639cc7e65b3e580a15f03556de8587e114499a09e70a52b2486d4e1b0e4b141aba412c3a13cca7711534e03b87d4fac2ca540bb62c452c11ebac750333d564b59e00dd1465718e141d1b3a8034fc213457fc71aa3f5fb495f4a3943135cb8adfd47aae508af6de2d1cbf97f0503f6496fbe44031aa85777cf4625ab5cc8c90081e2493765488374a2db2687e0ce038c22fa7a3866b16e6b30dc498a515457f5f8b1fd2fa8d1618cdb63c2f8dc89be03d9a0629f8e3ba1c6deb2247374a27f534325dce28adf6e59e43bc4e7afa55877036d76f09a241e1b5f6613be6231745300d080d5cc8ae009dd6a688fd72f79162803f05ca4660ae138111391ef0bb2b442c5b57d167348de80c985060de116634794038970137249cb00c94675c36d661a4fbfaff2fef5dae648ab62fee407121f9ef203ef91d0d4b544ee3c6f0b52266d5946db91782e6d436ec55037763c3cbfc336110219ffff03de79e66cf417935afdaf1c27a81b551dbc56ec670cfe08b28ce83b718ad6d9a8035344c6bf535803950847c7466a0b5cb81c06683938173309c9f6ebec46c420b103123a5c24c1074fe66ad30cd1db841c0e6e2b86fd60d1e540bacb6810bcc6c1b0036e7bdbd63539434e7dd325b6bc2eb9ec2462d39ff8bf0b4137f59ceecf20ac3903fe4bdaf513532e11bca4cff40eb72b7afe3a1c27e09c7bdd0f431946bd2429030343c69c0c7e00509c83d38be1e98de999c1a5a8a4063ada6ca46011aeaa72c02d0219ffff03bce05a67a258f971455d5aeb22417664cbae22af0e82039bf75825603155dc25030397f3499ed8d268f2ab18a16352151012a6d5fcf7e09ec1f9a5c38bb7fa4bf303c604c899cef823454e2595196aacde7be33c419f882e5572031aca9bc5f764d703b8a1145f54d43f87a9b9ec64ae49ccf882cc1a0351ab54a6a64a6b1432d1066903d2678ce1949ee997f9ba25a0d7abc9b94e3ea1c9340eaffc14c3a8498901c1e603b9508c65e2ea112991e207ca992712e0bf9c50b4c7ef22fe8e443dfd7ffcb26b034d8d090b1765785b0f211b3f7cc8f67c16b66b2d1e2f63c9cdc51c07be9d02e60316093e7f4a630346f6f2ed20bf96d8713ba71d13b9cdb81a6f8156bb528a9f6303b57b1aa06523aac52c2d8b9a604ff46d07035345850c6c36060dd0df4b1d3b2203d619ca50e1789a52275f531c1b11944d72c86290ff412c70050824320a07c01203a3d018ac1f5ca972e54fd119367e9a655e70504895f5c790241a4e876284d8b8030326cad11bd580ace0e7f7b696d1bf65d0b82b27f1b252294c02730262fd92d8031de297b62347c5f7050cf29706a8b90c5bf01c282382e759da5dae83821bb0f1033dd23aaca10a2ec98c1847a65d26ae1dd850bab672da23b0e28060670ffd1f2103d2c9b41b1b249d2c147890209ed1f3fa44025b83b9580b7aa6c26311d2ec2b72035f26b5468376877daa246e1579252b56c26fdda8d4eb5aa3f65c4eb5e0c4bad2032e26b93c8c5184fa6f4916a31a7a2a93158b879505baf7d7b2c035ab48612bef03d54284f54f2b1c350e50831c1797224b0eb30bb6b07abe73d73e1a031f9b5d540304bc4880a4b537ed30adbe45b7e05a0186a0e96f492cb3392e45d923d5ef0de70381e012d213d916527c5845be5595218bd35b2746c514c4981407708d90980d2603c5c1388994e59852c8d2a132583cafc6ad3a963071dcf6ae9c1d8ed8152e46b5038c22d9cf7d6f9930e88e592765bc7247d90831dec8ccbaab6696217e33510ade03a9a99b19f5924d11cf595f2e1f4e5504cbddbc095e6ce4cb3eacbb88a9e8af4e03b86adf10584c97650a3e3c4cdd95fadc886e8d5bacb12ec58f48420b1f88544c0330994836094e8fcaf75536680089e3686cd482546b527307500c947d5f51864503680fb9d6a20a13dc24bf6130d3f28717fa3d9d1521b9197a715a1a2073892a32035f400b38b2554a5d2ab8e616dc5ada02ac682bf92bf310f99fba466cf02d3a50034d2e2b9a2868b76139a215f6bc6895dcf560be4bed4e6f49e5e0ea243e97b05803f04225e9b235bf9406c27a77ddd7f614a788814bd2817d25ead05c79b0262bb9037ffc44092964095e8a113cd89587f61676f2c8083a36dcc6e2eb305d622c60d60331365b53787016f7a0e32bd85db05ce6a27c2379f5eeae241b98d6acffe8982a03688135e45542150be42c09c9c181709439df4572c3cbbd6314f302d479b66261035584192afc3430d1df37064b4a2a4c18c9ea8b25c9fc0ff6f01dc47d23a6c53703e6b41a07c6f1ac8cb89c45ace9121367db87538ca61d132883ca6a9959bfd21505581e03ea8af6c947afdc912431a49f696ebb63ce03f76150b146dfdb02a8e0300c04470140e0088c437305581e03d2b43e8c1ba25d94fca5e54fef50c0ccb836151dcc3d594dde54ea8fa00c0146b861654850d805581e0350965cd2d35483b2e8cc19a44c91dd3609eaee150f5a3012292a70af000c044702bda450a0730003801ce611f17ac8ab73a3c302b9dd7755d4b6f8796bbc29ad39cc3bb6012a356a035cef6be7f49f85d439e569f2515149494ed15d6525bc52f403bc23fa696dcf7801410405581e03cf9d5b435e66579e1ba8735c3f4c62e55de411a1b3fd8b26259fd5c1000403037f43a5d5b817d89897fe2e7a6c472113380a056ed8047109562503f82fb02b8c03e192cd70fe8a1989edf303bed644fab192d21e4ed3cf1ee4552ef7c327f178f805581e03c84913217495b8cdd4ea2cabe8df9291d7fa544a991ddc250cc0bd33100402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e030dc04c044166d1bcb1c0e0d6c5e3974748cfa77e6e27145d3ff733cf9007011bffffffffffffffff04592ed2608060405234801561001057600080fd5b50600436106101735760003560e01c80637a952c11116100de578063b57388d311610097578063e46a636811610071578063e46a636814610338578063f2fde38b14610366578063fcca559214610379578063fd3eb81f1461039157600080fd5b8063b57388d3146102ff578063bcbc5fc614610312578063cf4c8a7b1461032557600080fd5b80637a952c11146102935780638129fc1c146102a65780638a51d8b4146102ae5780638da5cb5b146102b757806395f645bc146102c8578063b3bd9ac4146102dd57600080fd5b8063429ec49c11610130578063429ec49c1461021f5780634679b366146102325780634866e2e01461024557806354bbb9141461025857806368fe7d2314610278578063715018a61461028b57600080fd5b806319045a25146101785780631a47931b146101a8578063254ff981146101bd5780632cd00d53146101d05780633231a7f0146101e5578063404a698614610208575b600080fd5b61018b6101863660046125f1565b6103a4565b6040516001600160a01b0390911681526020015b60405180910390f35b6101bb6101b636600461263d565b6104b5565b005b6101bb6101cb3660046126bc565b61098d565b6101d8610a06565b60405161019f91906126fe565b6101f86101f33660046125f1565b610bf4565b604051901515815260200161019f565b610210610c20565b60405161019f939291906127f0565b6101bb61022d3660046126bc565b610d17565b6101bb610240366004612818565b610d55565b6101f86102533660046126bc565b61112b565b61026b6102663660046126bc565b61115b565b60405161019f91906128bc565b6101f8610286366004612906565b611288565b6101bb611370565b6101bb6102a13660046126bc565b611384565b6101bb611582565b609e54156101f8565b6033546001600160a01b031661018b565b6102d06116a2565b60405161019f9190612936565b6102f06102eb36600461295f565b61177b565b60405161019f93929190612a10565b6101f861030d366004612906565b611840565b6101f86103203660046126bc565b6118bb565b609c5461018b906001600160a01b031681565b6101f861034636600461295f565b805160208183018101805160a38252928201919093012091525460ff1681565b6101bb610374366004612906565b611902565b610381611978565b60405161019f9493929190612a49565b6101bb61039f366004612906565b611af5565b6000806000806103e986868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b8092505050565b92509250925060006001888386866040516000815260200160405260405161042d949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa15801561044f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166104aa5760405162461bcd60e51b815260206004820152601060248201526f1958dc9958dbdd995c8819985a5b195960821b60448201526064015b60405180910390fd5b979650505050505050565b6104bd611c09565b8061050a5760405162461bcd60e51b815260206004820152601960248201527f6261746368207075626c6963206b657920697320656d7074790000000000000060448201526064016104a1565b8083106105655760405162461bcd60e51b815260206004820152602360248201527f7468726573686f6c64206d757374206c657373207468616e20747373206d656d6044820152623132b960e91b60648201526084016104a1565b60005b818110156106cd5760006105d384848481811061058757610587612a7a565b90506020028101906105999190612a90565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c6392505050565b609c5460405163522c209d60e11b81526001600160a01b03808416600483015292935091169063a458413a90602401602060405180830381600087803b15801561061c57600080fd5b505af1158015610630573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106549190612ad7565b6106ba5760405162461bcd60e51b815260206004820152603160248201527f6261746368207075626c6963206b657973206861732061206e6f6465202c636160448201527037103737ba1031329037b832b930ba37b960791b60648201526084016104a1565b50806106c581612b0f565b915050610568565b50609e54156108295760005b609e5481101561081c5760a160a0609e83815481106106fa576106fa612a7a565b906000526020600020016040516107119190612b65565b90815260405190819003602001812061072991612b65565b90815260200160405180910390206000905560a0609e828154811061075057610750612a7a565b906000526020600020016040516107679190612b65565b9081526020016040518091039020600061078191906123ab565b60a2609e828154811061079657610796612a7a565b906000526020600020016040516107ad9190612b65565b908152604051908190036020019020805460ff19169055609e805460a39190839081106107dc576107dc612a7a565b906000526020600020016040516107f39190612b65565b908152604051908190036020019020805460ff191690558061081481612b0f565b9150506106d9565b50610829609e60006123e5565b60005b8181101561093757609e83838381811061084857610848612a7a565b905060200281019061085a9190612a90565b82546001810184556000938452602090932061087893019190612403565b50600160a384848481811061088f5761088f612a7a565b90506020028101906108a19190612a90565b6040516108af929190612bd7565b908152604051908190036020019020805491151560ff19909216919091179055600060a28484848181106108e5576108e5612a7a565b90506020028101906108f79190612a90565b604051610905929190612bd7565b908152604051908190036020019020805491151560ff199092169190911790558061092f81612b0f565b91505061082c565b50609b839055609a547ffa26843b7ced045dd12994ee0e73c6f0904c3a4608bce58ae304d606035b079e9061096d906001612be7565b8484846040516109809493929190612c28565b60405180910390a1505050565b609c546001600160a01b031633146109b75760405162461bcd60e51b81526004016104a190612cd6565b6001609f83836040516109cb929190612bd7565b908152602001604051809103902060010160146101000a81548160ff021916908360018111156109fd576109fd612884565b02179055505050565b60606000805b609d54811015610a9a576000609f609d8381548110610a2d57610a2d612a7a565b90600052602060002001604051610a449190612b65565b908152602001604051809103902060010160149054906101000a900460ff166001811115610a7457610a74612884565b1415610a885781610a8481612b0f565b9250505b80610a9281612b0f565b915050610a0c565b5060008167ffffffffffffffff811115610ab657610ab6612949565b604051908082528060200260200182016040528015610adf578160200160208202803683370190505b5090506000805b609d54811015610beb576000609f609d8381548110610b0757610b07612a7a565b90600052602060002001604051610b1e9190612b65565b908152602001604051809103902060010160149054906101000a900460ff166001811115610b4e57610b4e612884565b1415610bd957609f609d8281548110610b6957610b69612a7a565b90600052602060002001604051610b809190612b65565b9081526040519081900360200190206001015483516001600160a01b0390911690849084908110610bb357610bb3612a7a565b6001600160a01b039092166020928302919091019091015281610bd581612b0f565b9250505b80610be381612b0f565b915050610ae6565b50909392505050565b6098546000906001600160a01b0316610c0e8585856103a4565b6001600160a01b031614949350505050565b6000806060609a546001610c349190612be7565b609b54609e80805480602002602001604051908101604052809291908181526020016000905b82821015610d06578382906000526020600020018054610c7990612b2a565b80601f0160208091040260200160405190810160405280929190818152602001828054610ca590612b2a565b8015610cf25780601f10610cc757610100808354040283529160200191610cf2565b820191906000526020600020905b815481529060010190602001808311610cd557829003601f168201915b505050505081526020019060010190610c5a565b505050509050925092509250909192565b609c546001600160a01b03163314610d415760405162461bcd60e51b81526004016104a190612cd6565b6000609f83836040516109cb929190612bd7565b60a38484604051610d67929190612bd7565b9081526040519081900360200190205460ff16610dd75760405162461bcd60e51b815260206004820152602860248201527f796f7572207075626c6963206b6579206973206e6f7420696e20496e416374696044820152673b32a6b2b6b132b960c11b60648201526084016104a1565b610e1684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c6392505050565b6001600160a01b0316336001600160a01b031614610e6d5760405162461bcd60e51b81526020600482015260146024820152730e0eac4d8d2c640d6caf240dcdee840dac2e8c6d60631b60448201526064016104a1565b60408114610ebd5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c69642067726f75705075626c69634b6579206c656e67746800000060448201526064016104a1565b60a28484604051610ecf929190612bd7565b9081526040519081900360200190205460ff16610f1b57600160a28585604051610efa929190612bd7565b908152604051908190036020019020805491151560ff199092169190911790555b61100360a08585604051610f30929190612bd7565b90815260200160405180910390208054610f4990612b2a565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7590612b2a565b8015610fc25780601f10610f9757610100808354040283529160200191610fc2565b820191906000526020600020905b815481529060010190602001808311610fa557829003601f168201915b505050505083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611cc292505050565b6110f157600160a1838360405161101b929190612bd7565b908152602001604051809103902060008282546110389190612be7565b909155505060405160a0906110509086908690612bd7565b9081526020016040518091039020805461106990612b2a565b1590506110c157600160a160a08686604051611086929190612bd7565b90815260405190819003602001812061109e91612b65565b908152602001604051809103902060008282546110bb9190612d1b565b90915550505b818160a086866040516110d5929190612bd7565b9081526040519081900360200190206110ef929091612403565b505b609e5460405160a1906111079085908590612bd7565b90815260200160405180910390205410611125576111258282611d54565b50505050565b600060a3838360405161113f929190612bd7565b9081526040519081900360200190205460ff1690505b92915050565b61117c60408051606080820183528152600060208201819052909182015290565b609f838360405161118e929190612bd7565b90815260200160405180910390206040518060600160405290816000820180546111b790612b2a565b80601f01602080910402602001604051908101604052809291908181526020018280546111e390612b2a565b80156112305780601f1061120557610100808354040283529160200191611230565b820191906000526020600020905b81548152906001019060200180831161121357829003601f168201915b50505091835250506001828101546001600160a01b0381166020840152604090920191600160a01b900460ff169081111561126d5761126d612884565b600181111561127e5761127e612884565b9052509392505050565b6000805b609d54811015611367576000609f609d83815481106112ad576112ad612a7a565b906000526020600020016040516112c49190612b65565b908152602001604051809103902060010160149054906101000a900460ff1660018111156112f4576112f4612884565b141561135557609f609d828154811061130f5761130f612a7a565b906000526020600020016040516113269190612b65565b908152604051908190036020019020600101546001600160a01b03848116911614156113555750600192915050565b8061135f81612b0f565b91505061128c565b50600092915050565b611378611c09565b611382600061226e565b565b61138c611c09565b60995461139a906001612be7565b609d54116114275760405162461bcd60e51b815260206004820152604e60248201527f54737347726f75704d616e616765722072656d6f76654d656d6265723a20616360448201527f74697665206d656d62657273206d757374206d6f7265207468616e207468726560648201526d73686f6c6420706c7573206f6e6560901b608482015260a4016104a1565b60005b609d5481101561153e57611519609d828154811061144a5761144a612a7a565b90600052602060002001805461145f90612b2a565b80601f016020809104026020016040519081016040528092919081815260200182805461148b90612b2a565b80156114d85780601f106114ad576101008083540402835291602001916114d8565b820191906000526020600020905b8154815290600101906020018083116114bb57829003601f168201915b505050505084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611cc292505050565b1561152c57611527816122c0565b61153e565b8061153681612b0f565b91505061142a565b50609f8282604051611551929190612bd7565b908152604051908190036020019020600061156c82826123ab565b5060010180546001600160a81b03191690555050565b600054610100900460ff16158080156115a25750600054600160ff909116105b806115bc5750303b1580156115bc575060005460ff166001145b61161f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104a1565b6000805460ff191660011790558015611642576000805461ff0019166101001790555b61164a612351565b6000609a8190556099819055609b55801561169f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6060609d805480602002602001604051908101604052809291908181526020016000905b828210156117725783829060005260206000200180546116e590612b2a565b80601f016020809104026020016040519081016040528092919081815260200182805461171190612b2a565b801561175e5780601f106117335761010080835404028352916020019161175e565b820191906000526020600020905b81548152906001019060200180831161174157829003601f168201915b5050505050815260200190600101906116c6565b50505050905090565b8051602081830181018051609f825292820191909301209152805481906117a190612b2a565b80601f01602080910402602001604051908101604052809291908181526020018280546117cd90612b2a565b801561181a5780601f106117ef5761010080835404028352916020019161181a565b820191906000526020600020905b8154815290600101906020018083116117fd57829003601f168201915b505050600190930154919250506001600160a01b0381169060ff600160a01b9091041683565b6000805b609d5481101561136757609f609d828154811061186357611863612a7a565b9060005260206000200160405161187a9190612b65565b908152604051908190036020019020600101546001600160a01b03848116911614156118a95750600192915050565b806118b381612b0f565b915050611844565b600080609f84846040516118d0929190612bd7565b90815260405190819003602001902080546118ea90612b2a565b905011156118fa57506001611155565b506000611155565b61190a611c09565b6001600160a01b03811661196f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a1565b61169f8161226e565b600080606080609a546099546097609d81805461199490612b2a565b80601f01602080910402602001604051908101604052809291908181526020018280546119c090612b2a565b8015611a0d5780601f106119e257610100808354040283529160200191611a0d565b820191906000526020600020905b8154815290600101906020018083116119f057829003601f168201915b5050505050915080805480602002602001604051908101604052809291908181526020016000905b82821015611ae1578382906000526020600020018054611a5490612b2a565b80601f0160208091040260200160405190810160405280929190818152602001828054611a8090612b2a565b8015611acd5780601f10611aa257610100808354040283529160200191611acd565b820191906000526020600020905b815481529060010190602001808311611ab057829003601f168201915b505050505081526020019060010190611a35565b505050509050935093509350935090919293565b611afd611c09565b6001600160a01b038116611b5e5760405162461bcd60e51b815260206004820152602260248201527f706172616d205f6164647265737320697320746865207a65726f206164647265604482015261737360f01b60648201526084016104a1565b609c80546001600160a01b0319166001600160a01b0392909216919091179055565b60008060008351604114611bd65760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e677468000000000000000060448201526064016104a1565b50505060208101516040820151606083015160001a601b811015611c0257611bff601b82612d32565b90505b9193909250565b6033546001600160a01b031633146113825760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a1565b60008151604014611cb65760405162461bcd60e51b815260206004820152601f60248201527f7075626c6963206b6579206c656e677468206d7573742036342062797465730060448201526064016104a1565b50805160209091012090565b60008151835114611cd557506000611155565b60005b8351811015611d4a57828181518110611cf357611cf3612a7a565b602001015160f81c60f81b6001600160f81b031916848281518110611d1a57611d1a612a7a565b01602001516001600160f81b03191614611d38576000915050611155565b80611d4281612b0f565b915050611cd8565b5060019392505050565b609d5415611de15760005b609d54811015611dd457609f609d8281548110611d7e57611d7e612a7a565b90600052602060002001604051611d959190612b65565b9081526040519081900360200190206000611db082826123ab565b5060010180546001600160a81b031916905580611dcc81612b0f565b915050611d5f565b50611de1609d60006123e5565b60005b609e5481101561219b57609d609e8281548110611e0357611e03612a7a565b600091825260208083208454600181018655948452922091018054919092019190611e2d90612b2a565b611e38929190612487565b506040518060600160405280609e8381548110611e5757611e57612a7a565b906000526020600020018054611e6c90612b2a565b80601f0160208091040260200160405190810160405280929190818152602001828054611e9890612b2a565b8015611ee55780601f10611eba57610100808354040283529160200191611ee5565b820191906000526020600020905b815481529060010190602001808311611ec857829003601f168201915b50505050508152602001611f9d609e8481548110611f0557611f05612a7a565b906000526020600020018054611f1a90612b2a565b80601f0160208091040260200160405190810160405280929190818152602001828054611f4690612b2a565b8015611f935780601f10611f6857610100808354040283529160200191611f93565b820191906000526020600020905b815481529060010190602001808311611f7657829003601f168201915b5050505050611c63565b6001600160a01b031681526020016000815250609f609e8381548110611fc557611fc5612a7a565b90600052602060002001604051611fdc9190612b65565b90815260200160405180910390206000820151816000019080519060200190612006929190612502565b506020820151600180830180546001600160a01b039093166001600160a01b031984168117825560408601519391926001600160a81b03199092161790600160a01b90849081111561205a5761205a612884565b021790555090505060a160a0609e838154811061207957612079612a7a565b906000526020600020016040516120909190612b65565b9081526040519081900360200181206120a891612b65565b90815260200160405180910390206000905560a0609e82815481106120cf576120cf612a7a565b906000526020600020016040516120e69190612b65565b9081526020016040518091039020600061210091906123ab565b60a2609e828154811061211557612115612a7a565b9060005260206000200160405161212c9190612b65565b908152604051908190036020019020805460ff19169055609e805460a391908390811061215b5761215b612a7a565b906000526020600020016040516121729190612b65565b908152604051908190036020019020805460ff191690558061219381612b0f565b915050611de4565b506121a8609e60006123e5565b6121b460978383612403565b506121f482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c6392505050565b609880546001600160a01b0319166001600160a01b0392909216919091179055609b54609955609a54612228906001612be7565b609a8190556040517f61c7922e50ad7ea3d35879a4a819ae97eb09b665f2113451d7ada7cb2b689b66916122629185908590609d90612d57565b60405180910390a15050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b609d80546122d090600190612d1b565b815481106122e0576122e0612a7a565b90600052602060002001609d82815481106122fd576122fd612a7a565b9060005260206000200190805461231390612b2a565b61231e929190612487565b50609d80548061233057612330612e3b565b60019003818190600052602060002001600061234c91906123ab565b905550565b600054610100900460ff166123785760405162461bcd60e51b81526004016104a190612e51565b611382600054610100900460ff166123a25760405162461bcd60e51b81526004016104a190612e51565b6113823361226e565b5080546123b790612b2a565b6000825580601f106123c7575050565b601f01602090049060005260206000209081019061169f9190612576565b508054600082559060005260206000209081019061169f919061258b565b82805461240f90612b2a565b90600052602060002090601f0160209004810192826124315760008555612477565b82601f1061244a5782800160ff19823516178555612477565b82800160010185558215612477579182015b8281111561247757823582559160200191906001019061245c565b50612483929150612576565b5090565b82805461249390612b2a565b90600052602060002090601f0160209004810192826124b55760008555612477565b82601f106124c65780548555612477565b8280016001018555821561247757600052602060002091601f016020900482015b828111156124775782548255916001019190600101906124e7565b82805461250e90612b2a565b90600052602060002090601f0160209004810192826125305760008555612477565b82601f1061254957805160ff1916838001178555612477565b82800160010185558215612477579182015b8281111561247757825182559160200191906001019061255b565b5b808211156124835760008155600101612577565b8082111561248357600061259f82826123ab565b5060010161258b565b60008083601f8401126125ba57600080fd5b50813567ffffffffffffffff8111156125d257600080fd5b6020830191508360208285010111156125ea57600080fd5b9250929050565b60008060006040848603121561260657600080fd5b83359250602084013567ffffffffffffffff81111561262457600080fd5b612630868287016125a8565b9497909650939450505050565b60008060006040848603121561265257600080fd5b83359250602084013567ffffffffffffffff8082111561267157600080fd5b818601915086601f83011261268557600080fd5b81358181111561269457600080fd5b8760208260051b85010111156126a957600080fd5b6020830194508093505050509250925092565b600080602083850312156126cf57600080fd5b823567ffffffffffffffff8111156126e657600080fd5b6126f2858286016125a8565b90969095509350505050565b6020808252825182820181905260009190848201906040850190845b8181101561273f5783516001600160a01b03168352928401929184019160010161271a565b50909695505050505050565b6000815180845260005b8181101561277157602081850181015186830182015201612755565b81811115612783576000602083870101525b50601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b848110156127e357601f198684030189526127d183835161274b565b988401989250908301906001016127b5565b5090979650505050505050565b83815282602082015260606040820152600061280f6060830184612798565b95945050505050565b6000806000806040858703121561282e57600080fd5b843567ffffffffffffffff8082111561284657600080fd5b612852888389016125a8565b9096509450602087013591508082111561286b57600080fd5b50612878878288016125a8565b95989497509550505050565b634e487b7160e01b600052602160045260246000fd5b600281106128b857634e487b7160e01b600052602160045260246000fd5b9052565b6020815260008251606060208401526128d8608084018261274b565b905060018060a01b03602085015116604084015260408401516128fe606085018261289a565b509392505050565b60006020828403121561291857600080fd5b81356001600160a01b038116811461292f57600080fd5b9392505050565b60208152600061292f6020830184612798565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561297157600080fd5b813567ffffffffffffffff8082111561298957600080fd5b818401915084601f83011261299d57600080fd5b8135818111156129af576129af612949565b604051601f8201601f19908116603f011681019083821181831017156129d7576129d7612949565b816040528281528760208487010111156129f057600080fd5b826020860160208301376000928101602001929092525095945050505050565b606081526000612a23606083018661274b565b6001600160a01b03851660208401529050612a41604083018461289a565b949350505050565b848152836020820152608060408201526000612a68608083018561274b565b82810360608401526104aa8185612798565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112612aa757600080fd5b83018035915067ffffffffffffffff821115612ac257600080fd5b6020019150368190038213156125ea57600080fd5b600060208284031215612ae957600080fd5b8151801515811461292f57600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612b2357612b23612af9565b5060010190565b600181811c90821680612b3e57607f821691505b60208210811415612b5f57634e487b7160e01b600052602260045260246000fd5b50919050565b6000808354612b7381612b2a565b60018281168015612b8b5760018114612b9c57612bcb565b60ff19841687528287019450612bcb565b8760005260208060002060005b85811015612bc25781548a820152908401908201612ba9565b50505082870194505b50929695505050505050565b8183823760009101908152919050565b60008219821115612bfa57612bfa612af9565b500190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60006060820186835260208681850152606060408501528185835260808501905060808660051b86010192508660005b87811015612cc757868503607f190183528135368a9003601e19018112612c7e57600080fd5b8901803567ffffffffffffffff811115612c9757600080fd5b8036038b1315612ca657600080fd5b612cb38782888501612bff565b965050509183019190830190600101612c58565b50929998505050505050505050565b60208082526025908201527f636f6e74726163742063616c6c206973206e6f74207374616b696e6720736c616040820152647368696e6760d81b606082015260800190565b600082821015612d2d57612d2d612af9565b500390565b600060ff821660ff84168060ff03821115612d4f57612d4f612af9565b019392505050565b84815260006020606081840152612d72606084018688612bff565b83810360408501528085548083528383019150838160051b8401016000888152858120815b84811015612e2957601f19878503018652828254612db481612b2a565b80875260018281168015612dcf5760018114612de357612e12565b60ff198416898e0152604089019450612e12565b8688528c8820885b84811015612e0a5781548f828d01015283820191508e81019050612deb565b8a018e019550505b50988b019892965050509190910190600101612d97565b50919c9b505050505050505050505050565b634e487b7160e01b600052603160045260246000fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220c1fe39da9086ceea54804947accada4e29bc357d3134d4217f775e30b95f259364736f6c6343000809003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e03155d93d80c5849dbbf837a00944307d2704852eb7151b4d4cf40c466800701192ed205581e0337d975027cd721863f88d653042dd2af787adba71958637bd45c2da7800c01472e4bfe2e583800030e62de2dddc71899cd76cc8a346bddd976bd46bf14f175ef8eb831bc52f2a7e70219bf7703ed876ac586353119eae584d36e5edfb1ed353a90ffc05e6e7a8a34e96f74578503765f76ee170a09b35f4e2edaad54922b2ff3d6c5a0a5ef8192fedaa1a1d8203003b87e2ef6f1403e6e03b1008bb4dd13608124cec73e55047a1c09568957c3f2fe037d26933816215200369a65e29324ce423f20adc2e593ef8c1e60d2ab46fbb753034c1d7d7c70ff8e4948fedd6d84882471ad5a787035a0bceed24a0de1ec4fcb5003b716a59754b79003cac7831abffcf6d7fe37f03ec91787e2c3e9ff20b18bbd3d030b5eb5bf1a90f061494b5fb98e556be1ee39c78c0a12998f599854e94f1e17b60396a6725ac30ba375d7a418b7217b85e6a8520a6e74fb71637dc56e5d31e9ec5003338bcb15553021f1cce97203b8bcd6e89d6e939b6cc9ee84944287b20f7be7f5038099fc89d4b53388eec0dba5c5133d9298dda7e676ba73c5008cce97b7fcc19c0219ffff03eb2e8f18505adf192155f498b8f5c962b1477b1e034b4c5830e4740186ae8f0c03c8af1b4f9c4508deb4a81e217138444ace75f1e8265f76af39967e841f80c4d203b12bf3c86628352dc265426163510d8ff4e7c3b29fd040f1691fc58415c3579e03875e69aee5f33092ab3fa74b5566ff9488bf0019100fe3e5f9b20585ca5974150219ffff0219ffff03243cca71e0173891c23e962f7fa98bf6d77b7536b0ba1713a094ffde6238bfac03cb7409167b2b8810a8810688b318d735dbd12bf7ebca2e2caaff58adfd68ef61033e6b92f096a056391804a7eb1d35fb90ff1711a0704966b975b4fefec9876496039782b79f98d3f9cdb08e3158deacc2ec3249b15faf2057fe1a048e9f49134e9603bf3827c111e503650dfb8b56e884132108399edcb75c433d353e8645a37d462a03cc4d5223b843af12ddc517798334711ef5e6757f6ab88836cd9c2ebbd738308103c7fad6db8216e79dfa7a17e36525019946bb8b39d613254e4b35be5c0b300707030b26e8775ec228e66f2b26150186da4c71fdbfa7e0ac9ebb0dd702502fdaea2003fae8dab9c18a9c7b841537b15fda780c967ee039fa0ab09011e261ff2f3f991d03eaaf3b3e633939cd905ca662a0dec58813f7475ee30685d4ff825cf3ba99e2ed0219ffff03e7d1720a0d170025f80d5fa3172077a630b8b794168187b7c9bc7fc8118c902d03dee9227e13f3b7e3bcbdf6001dbb4956698732e039934d81ffd820bac1ebfac4038f05094655eb5336b7c1ab05e6826bc23f04d4f5ee914d2a3247d6e22be72cd2039205731f472a9fcdbb41774c32292b392744a610c7804fd068443064ff2dfc8b034051b5db866226f5bab9121daa5c82ae4ec0664dc4c0c8d8c94cb8b7446a9c5a035d1769d46715e8c1a11d96c2f2d55f1f4b77256fc1d5a6aa8cc5665765ad21d103c75b65047445f62b1757abce460bdfe69d974766dfc57ee38244c287ed33387a03a4279d1e983eef72310821a2ec3fc8dde96c42a490faf8e44039fb3c4ae3ae9303268afec04ed5c9b5d7cd30cfe651fae5b73869acd721a6eb787d14226ac85a8c035997e9298b51878ca6e086ecd974d1b6ea002ddfca8555a316a326012361b3ad05581e037f31bb463c8d9f8f64b55ae53f3e96f4bf054ea85439bef6766d985f800c0247023828b77d97d005581e037cedf62fa9ea730056caab2d015877374fffcd35c430eca63c95570bc00c0144a82862900383e525207005f114198aab0950311e2d8c83b682fe1871b025eaecdfc2e3398605581e03630813f8165bdf901c96008b5a62942f4065f5033ae2d654dde93d0f700c18a048204fd016ff9624de03b38c59cb7714e4a803b5c941b618c74b6950781a30cbdfeb681676f9b1ab222c05581e03758b1f25591bc5be265e116acbbe6908431645d888e28b3c784864c900040105581e03802a9b599626980977ec93d3698471a0b9a8abd257400edf83978462d00c014743554af6f49aad03c84b0e5fc45f011ba550847ba6d2ca6db31990b545990a6c08a6e7d85f3770e405581e033adec2ed7b39c6fc302bf6b51f1d3eca7f5b184602bf70c1e6b62a2cd00401021960fd03cb740debe61a5a58861711af093272af27c43f755b78b0d3edf87c0383c7793903a84c30fc92b6f6e5b76f3095d27a653190a2ce76d0cd683f5e3ec20380e2d9a803304db9bb2bd099606cdbd490f9fb13215bb3d83068360258e2dff82e48ec42fb03f2f98d6bc9ad431b795582bba851341beec255b533c655bfc159a79eaa871dd103e0e056db1e556df73bdfd7862e4de189b42b25bde60a48d13f0d5fc2909bc59a03287fa65353054d65fdcaa80a840a8c8a4471ff8b52ae18cd66920ae069918154032c297b43aea6f5af425bf101b6b2c617002cf580c1ce453d20e9974b0ace0fdd03b0e8ce0b64f0859e0d49274e4f3dcf4ab76479c71c48fabd9e5556dac0ad19540366505a8278d6c75a231489a56830e044c3dabf0dcd547602a7016e2e22897c2903a317a64d83d3e2290fd55c6e9f6efd86ee5c7c0ecd2e66446792a1da751b5d320348760dcfe67b68a8206b723ed80d12bb0fcb337796f0f7c7ad43a1ac0468d6550219ffff037706b9054d9e8cd8df5bde5ceae88cb2ade7906575346633cb70326a94d096a3034b76bd3f6f87970d78870e2a69aaaa0dc5494d23930a44ec963a4c38a7b5cfc8037f3b0367eb5223dba662bb338a2a56c6c8577a0e4e1bec14be4ae4c4dcd8c4ee03d01cec992a95919d33728c6abd9bdf04f0e045911a634b77c4b7ca5ea7b8c98a0378af307179dc2df15c769a398bb4fe2deee4cd5f520dedb2442e4e97f09530ca03429bdafbf1a46208f071435b8c4ea5c70a0f5ef8494cdca5eb1c2a3ac952f5b803d9593e74c0bd632e2f83144048fefa3f9f3f1ae3016a4ffc02177dcc111e246003957b16a840bc3db23535b3f5a3af6b86cc971d6c6e398e315f594db59778812c035a17e66dab3bc708ed6eb42b8cd0d8d5b7959fc38df7ba45b571a0a22d7e7f7403e7faad141f30d19c522fe1ca03beaf43761fae70b81d48201326ee473f35bf6f03d2e239b93670f8a455e6e8fa8985e8b7e73e033271f7a5721b7e23958b7e6dd0039d5cf0edf31f92a8359277752a041c986ea5ad68e052e6e5645819f8703450d8036a05b07094a1baac75bf2ab780b36cb33478a1d27737d617399091d0fc9d5ef30318932f2aae8e897b729edb3782c483b6e313d9e7bc4065f311fdfc2277fc1ebb0332c434d40e8556523fe7e51c6fe1a16b9f049b2368e386fde1c46afcad19af550219ffff03c0b5411e75e796196323fb5922fbe3220eed3054192fd8c86594a42cb579a1bc030e5f070b87fe5debc76db3f537d3d06d872049057eedb2c94d3af657306bbc75032a83d6c03fc5eee441420dc960b5d36e1762c5a379d2c231d173d92eff32404503d665f919e7dbfd0803eb13dfa8d8bf8197c8459b49afa584635b908710d465da031eea2a23a3334ac5773c59ee275fb2a67f0f70c162db412643fda98d26fe939c035ed59d8913d78efcd156b9fde8539bdca53546f40dc5790a724217053801dd7b0308d6a8d5dd8d3488589c8df664c2773dfc5c974a91bfb3a8d1cd9de63f0dc308039d846cd582cca98ebe78c3f091de78821df3a1606b84a72da6dd87067af1470803abb9e0bf9212c33f748d85d1c1cebf732e5f893b25674b157bb1f973941b5135033642ae958b1114b6ad376c50b43220d975efea8bce7b220eb5559c37958b8d4c031c31c5c6a5255b132a326d4593943e763b7856c39dc0ac5c25bc6ade4a46fd190398510e742e35e18fddca1bdbed6702a646e1ecb8fdbb95107685e8dacde6e96303eef0ccffa60cfa5c00bdc0698e5c94cbce465a0f99178adab8e6e949d5fb068203cee1c7adeb0924e64a32f3b0cce6d09bd050bd202880f8fef0701c0d840a712c0219ffff03394e2740ed01b4bdebc63ba6e2c382d3bf9a105ef51b2b26180c877a616e82e303e3839b3ff2eb133cdc941df4039d5db8e0258563123f9dae1400124f1897a31f03e27628545b2aa6f8bff11939ad5511eb284548be5b6b2a436743e07dffe440d403a887b30f8a70d26d8c5bbfea1aa29bb6935d4e5d1bc28fe6ae7447a7f601f07c0377152a5dd8d72fd8242b9f220db416780c6367e6cd2951b0fab090d6d812f2a003424367594befcb0b00b03bcd1c8e56065b6ef450c70c6cdfafefe5c21cda0188036be56de5b09b9c320ac334010ff70ae383843afa147f117a10631f79a22032e403a2e755fd11ecc4d018272c8a32eec99657a86f88387aafd89df2f556b4a5d9be03caf679e0cc81cb37b9a26c6927af9f916bc9665772f5c8ae0782dddb1c4d91f403cf64c03eb61eed40c0b8a859b615385218f532eb2d67a02ad326d78c019887fc03e31c309851872bf8392dfa01ef7c9ca7a25d4e925a5331f7340fb01292661bd0032a919497741061f615ce11eeff56d39009989dc1d4d0f8071a54a54a7804edaa031b70e29a00c3d8b88b5eae10c175061dcd06752c3ece9f391ab8302b4c455acc0365de252bb5bd0052991b494afa87358c27f9310e9f3f0fd79e766434586ae5ed030cdc8e624306f50c795a7271db2c004e7f1a55dd106445e935463f7959a4fced033109bdefbe6b8e08958bf66d1ef62ec1eb868d96a0321a334a670bbaabea4ac0030f6d3123261a4041bb78109078e936096acf2955fefd7c552b7d080e8468f924030ff3902ecc01d5cc02cc771f52751aea7e0c6cb27eed522e49bb60c52e5f312203d1eace5588df7b94d9b96239ef11db5d5434d32925bba855dcd9fb869ffde4c805581e038ba1c4694e50832a816051a8ebbbed2ba4f30726a50c1f1c284f3bb2900c014711c73acf0f540003f0ac16e462a39d384f7e1980707551dcedb89515cde810ade37501dd74688db803012e505f05c8d971e026763d5dc5737ae349e7bb66ee692b80e103295b90609905581e03ce4557aa1043dce60686df9871bb2762aaebe5d7384b361825432ccac007011bffffffffffffffff05581e03c124eccd64d7bcbbcdfdff77e785f3b7decbca54cdaec77b04d3342e30040805581e0352d66ff581da60b0e19c0ee8964a4b0a1d769619abc740ae4712c9ebb0040105581d02cde9a4355b4e09e4a07bf83d05bdc6feb21eb2feb61a36581d0a34b0040305581d02f4245bd0fd711823017db28e4e4e0791735c067384bb2b11c468b775040305581d02583969bccadfdc5c6626f98e76f464714421f943abf08febc13a959c0c19482e4851c031f8a552f6c00219580005581e036989f3a247a0ac1290a041641c513c47a893b24938e7ec0c6cc96afad00402038e09a52c16051fd39ec67babc36f43879c48a96461cbf1c164e73a2312a2ddd50219d1c1039f4da71e8e9b5e85ed2954da029b0f5f61146959c8ce3bbb5b585331cf9cd91503d3f7d9ad855e5399b6aafe79993b563ba09b299b2ac8dbe5e242d35ad916cddd039a5b64836096ee4bfe1282f41c908488816ab54d1bcb31a5890f12c29f9a88eb03a8a01fc7d85b4e1a16c2cb234f9e3d3e46147216cb34f5f796d8521a566c090203430edb5fb52ac0c5d378a1083a52ed1eb80b134a4ff76d48e78f00072044948c03ea4ab2594298d9808d5eaaeed955c1be58f9c70fad02d432b375f791453bf5d6031c29be6d2034fd3ed1f78ae6cf21c5cd77ee7ee6b57a163bc68ac189d4597fe20346b1943ff1db833d6c47f9cfd4c005ce2e396bc4321a462a449514b1e03e50ae0395e852f7946460766b9b4dc8bc36b446cb27c76509dcf248db9c771cc0de8d1503e9ec038d75e050619f505a4e29f0d4daf8c791e68962dcabc498283aaaa5de41039b0f1ea4a931fb252c89bd07778b5450c106e3bb1e3074b2bd4f2a717402f79f03b6bd6de4d65ced0106db12c2d46a8f6959fefed95f7ec285870c9fbd121a678303919248968588d2ad99fb3ef4fea3e74c07c8ed999e14751974b58b41f0429f850219ffff0304de5922d1b6e0c47d1a27ec1b22818995ce274cf644da486d9619b214091e03034069f67f640a7c56d5c816622df8eb3083f8bda192432e43fbfa85fa76db469503e53b48701020e21380dea6933d2c93457d866967752c3266a3940fa36ec4acf8032b03cfb7be5051d6b329661f5dc5ea70d46478b88eee7b0347582b3a9f927ebe0219ffff034a8e57074868b74cb180208beeeaf20fcfeab2c832f3ee94289cb0e78759fc5903ace37c26e5bf50f4a0829b23fa7eceffeb1957afa098b072d7aceda0469b11d8032587e012b276fc9496fdbe7cc712696e31eefea5c5a87e9e0a39a335deb9a87b038726628ebc783a8ef466cda507752c0fc75b6e77b6742bef37104aae93ef06c9037b7d40c88e5471ef8bebdad657599ad76bda4f89ac357b22034685ea275b915c0332c5caa63bedbcd56fdc744fbd3c0a8f34a79269ecebd22da67936520f398d2d0381cbec55a925228f054b1bcdc3b3dda5a80cf638fcb114c89f19734f81777481030a22a170b3bd2c5b033501cdc1ae79360fd33a227e2474f87e6208a5de76be11038fc6e088ef606a121c5dcc644392223e370292b6c406e1a2490caf6649236cd1033cdc10486ee452f041280b5327675393b197cee6ccd7361a86d93d5a8979027e0219ffff032b4a13dcb3d2f04c58b1a906dea7dd7da7735cafb96660de073f1c7b37c197b4030fa3f99f557a5ec30b26f867e71658d18d88a2f6d81a275bf45db9a6884f1262037bf82fd5f5b483fa42d49b07bb1691ea5b1d59e77f49be15299cfb3ee63f0de603a8ebffa7ca024d542d53116d3a8b402885e2c370e2f0da25a9532819e1b59672036eaba570c41400cc6ea250d4a00ad41c46f3bf9cc52bd01abcbf7d76345a498e03380c7b6af2007edeb3163fe5b06d8b3b5f13e2b156f21b87623256c923f1bbb903fad2ff8794eb1aea7b52585e8175ecfd0f7cdd81039a4842fc72cd64faa98d6103088db17a4ddbab99c7095432b09afc2f91a308debcc7074e8a44f62f80f9c4d0036d2368b15b2a6dc0f73af7023e1ed21b2872e2b78bc5a3578a91400e302086b30354583f790e2b7dbdb917534a5880f4db2de4d995b50d2650c075d3568a955d520366757f267f1da32f455745bfd1868c1b9552c52b60a42556f880651f6152df2d03c5327a9e33aa530e55bd13328d132009b658f4693863aead8549e3179729bcb603ce21d0b2e18157060266bbfa0e62245483b2cf6ea5ed5ee41993a6c07196498a03094e476f84d3b039e3472564540ed65f127c191e33223ad3b01d1494ce3a79470327e1754af7cff208d9e84fad7f4b5b1461e7a8adcb5184366efc6a4b881ef9f8033c045e1ffa0a32485489ae5d6ed8d606085429d1c84f2a4b82b7c0a63bfbf36b032910373b9f960ca3fc88e5b27c06c80d581a16489cdb1d742c246459b89966370311f15c87684ea8b101a8306fc2ce4854404d977418dfe1061159ab48799e51da03c533ab084e8481f2b182022aa8f380041942f0430bf57696a509a83bbe0ed67803fc17c816e96293a176ad57c76ec19cf04ad363274abe3944737c72d24e08a36103888469704d32b45c6b38c6a85157f97d1911fa73f28caae326c16a18f80526cf0347a2aff17ca7a22735543b882cc721d850702bafc636a165c52366448a1ef36303ddeebde71f7d85ca68d0a34e108806e7f8e04712ee6ccc6a75344a165b0085d803858608b6b1465dd882916588e56971c8cbf23e913daaf7453aa44f167ea1d6d60329d0b4b1dda3490de5d872b715f3c2575965766367a3c60b2fdd4b8aecbc6c2c036a8c44125fb7735fee2e3b2c34ed4d031dcb4df85d51fccaef126f7393d5708b03303e34c99b3de0b23e4ae6ba3839ea2b7c79f4d4d1f54ddc9038f161f4348ed4030f741247f4789b4ec453ddcbbcd5d40830b1557e71b871732e97ce4a92e18dd603041268d02dcda93e5c51a226b1b385d879f916cb5d74e76648963853fd3cfae903f49f78ce8eade25e697558087e4b162b78d30949d8a9dcde3f6feafbd8d20ea803aaf2742dd04ca8c81018d5e3f1f966e3fcb0fb2f6308884d70a5f2b7fb38516403529a7ec596013bb6166a2be107651cb8680e45b760551476ce6d1777dd57213203d91db667459692bed814eeb33f6cdc3f22c116a577d6ac608f0a314271086b7c03563b45ed99186fd3114060af139305ec6420367612d622c6f6bc5d73dcf66d66037256259698bc3b00337d49e6cd971b6734c0410d15d29f35fbfaaffa4331b77f03aedde0a1e2640eea64b4fb44326cf21d3a450303403d0ff7c520c75e0b7b955a034d06ff3e2c1be64153addc9193a2937b920544f7c310ac4651ebaa056598c8c603fd7a28b5c7ee951a8d11145f20d351c921477f430e994c2eb410b6da8174ed2203979b05b456dd8ca9cf0d48a403c6e97e972710772875064c75893a59045a961a03cc51f2662e47ac26308e1d5858fca3f7a28fc3f6dce017d2e9019f76927ed74e0345b68a0d4c42a6477529b56f2e991a3e94d19bfbd7d374b85cec99c1891638c105581e03b38c692ac61d11d9462368184b1909d7b13df9e25e00e2be81a9b480f007011bffffffffffffffff030b02ff198c7dd59c3dd11b23e00370ac66d385cf48c95085c0c5aaecb3f4e62903c1ead0725739fad09d5b8055aeeec788fa278ebdb421722a66164f264518997703ff499536dc70e2760d2616175d3ed4def1b2ce0afafd9fb5f0c0613bacc9646101410a031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038b971ec21d650c1db3169eaa3f6fba64b38bea4f7fe7ffd55a71763a4007011bffffffffffffffff05581e03ea4f957c81db82f2d6d7da64a96c785f0d93938504a87de8a0eb4c83f00c0147033f59f597441203de5abdf6d40c899c4983e2d1548bbb67259c7132cb91150e3ee46ae0d318917a0353aca33ad6209183ad795f20c371e8261c422f1e20722ab1b9f1c5a5342c503903b0c2ff64fc945bdcf6d931d702b9222f474de91f3ac84e2f743ae7b53e569e240352c85458f3bc64605e5fe642b576febb0414e856e24a7a30ab0a53cbe14f165b05581e032cf84f416d77b8684597d8169b2943b497f30ca5c7c1cf1437f05122a00c0447029c7a85e8f00002195db70219ffff03f3e93156f6a7eb8aba4184f61dd07db199b9554464952a12b62add0ba061792a03341e458c64f6e540f68581bbc39f4e58138d9cd239eef191b605ba6601ccaa810343a73aa97ba59df4e39bb47530cf55c9c2561ace6e21c6affcb9daeda182817e038bdac14bf494dd0054fa7a4b32fe6531c1a6314000d2a53354950dda90f5e625036e9f36aab29abedaeb19763d912c5c35c4d2d265f041aa105894ebd6e6f68bf5038796bcc43349328b69e7f828c5786d4338200cf43e523d2c41febd553405aa200219ffff0323ab50139c60d360b06a5433c2645cf8bc8d5eeb1e853854ab723c70674896df03dc01fa0345f8f904407da67e6db3704cdb4b15d4176feb1c3c31841fde56ce67031c5c4f9cd6dda4fcf91e490e479ddb7e2b8be057c77c842fc4539422b9a6b3670219ffff034d1a9da0542c6e493f3c5606a5612344441d95b5b0661fc15d9929e771c693f403f8a26fd69c11b22b4b71ff729afa6981f86c1202ea9a8aca4dd8d971563fbb9603153b5213f68d34dfe657c6f228e11f230707f637e0e6539e37450bc6d739ca89033c3b4cd84b2469edda96e9c0a0e9110eb87959a13abd226ff19d8134653034fc03f6f0b8b9d7def1d86ca9e09428b2fb0a73127b6907b2a5bd2522c2349869a63c037909f4b64e401c0fafa9b7e4d2d298ea674dd543bb1409cf3023432a39abaf9d030963083247669c4b26d7b74fda432912d6609867087cea0721870f5a80cc26c303a0961abf484228c97e34445a2fc3d95fb7819fe713969cb13fcb93b5f2f679b80398590ab9bb2a1c8707ccb79cdfbe73561f2f5760680a254299617cd35157dc1b03b79beec1b79165b640a2180dfc60b4d541169dd8bfd0d55603fcadca14947b7703597ad01d6582bcd312d5056962ba871c347c24bb4df86eb217a413e5eb828c010335a57e652e805249469856decb25de62c041c966bc412bca4769820eb2208fbc037ca824ce9ceda03f3a6e732010bc7df3acccdd7ded7e6488a2571919b5eb9ffc03d0955b589b70a492cc8b748800d35d62c76a5638f9f98d1f386a89f76c629fa80370cbaff7a40be77afddb15114e6d7acb87a1f611adef55fc2f1f64d7e3d60fdb03e0cc03877aad0160a2ca295d28b4c944d1608a0ebc3047c068267f5609fcb43003bc8386adab5291deb5dddecbbad6d3036af4c0cb90704a277a238d8b8b5d4d88030d67650f2ea79859fad0f9d64384012da21378d77cee069e65a513abf221c2ec0334c19711b7bf64965af771aedb98738aef5d5c7394cefec0e07684e6570de0b3032ef745a2eae525ad255377c6b4af87aaf1e20d968f573895b652e34c1bd34d9e03f81c20d6e7a22e07845ffe15618d00138083eee7c8e8b7914979c8c20e8552da03b96f2f87c82c73491c419cbb6e5fc1005bf2b6bc9b3c04a11c4a56b8cfaa81f8035a07b02dc99f15ce5c0284d619f8479c2d09190aa2b747780c2104d966e17b3903b6f7b45876a0407cb66ce45890be0fe32d0a54842ba7e60dcf19409e498be80a03b7654266e68efce67a8171d0d92f42df154f9ca6bbdcca0c91d4a4df4c18ca500313874cbf5c44d9f9eca7eaf7d2baf1c48c9491d781c57bb078400b28804089e505581e0380829ffdeae6265458ee643e5a3da29275458233e15397455babc9f5500c01470172bb222e38c005581d0267e811ba743eec4bbc36766bea62ea2d0ef85c6703e459b18d321a3c040205581d0293b3cf67f32b899d5713c33fdfde903b37934e5f5b1623d45efd35be0403045908c4608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101c6565b6040516100c39190610701565b60405180910390f35b6100df6100da366004610772565b610258565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f36600461079c565b61026e565b604051601281526020016100c3565b6100df610131366004610772565b61031d565b6100f36101443660046107d8565b6001600160a01b031660009081526020819052604090205490565b6100b6610359565b6100df610175366004610772565b610368565b6100df610188366004610772565b610401565b6100f361019b3660046107fa565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101d59061082d565b80601f01602080910402602001604051908101604052809291908181526020018280546102019061082d565b801561024e5780601f106102235761010080835404028352916020019161024e565b820191906000526020600020905b81548152906001019060200180831161023157829003601f168201915b5050505050905090565b600061026533848461040e565b50600192915050565b600061027b848484610532565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103055760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610312853385840361040e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610265918590610354908690610868565b61040e565b6060600480546101d59061082d565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156103ea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016102fc565b6103f7338585840361040e565b5060019392505050565b6000610265338484610532565b6001600160a01b0383166104705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fc565b6001600160a01b0382166104d15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166105965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fc565b6001600160a01b0382166105f85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fc565b6001600160a01b038316600090815260208190526040902054818110156106705760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102fc565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906106a7908490610868565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106f391815260200190565b60405180910390a350505050565b600060208083528351808285015260005b8181101561072e57858101830151858201604001528201610712565b81811115610740576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461076d57600080fd5b919050565b6000806040838503121561078557600080fd5b61078e83610756565b946020939093013593505050565b6000806000606084860312156107b157600080fd5b6107ba84610756565b92506107c860208501610756565b9150604084013590509250925092565b6000602082840312156107ea57600080fd5b6107f382610756565b9392505050565b6000806040838503121561080d57600080fd5b61081683610756565b915061082460208401610756565b90509250929050565b600181811c9082168061084157607f821691505b6020821081141561086257634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561088957634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220cfdf7962771b464cfb4317bcdc9e6575e9a265eea32707c82bf64d0c77ad8da464736f6c634300080a0033035e3e72ec1b9b2d778fb90b44437df23bf611bb647a4aece25095fd330d5d82120324805029ef73562a5666d44db6c0cb875a9f2d170d38377558884d5e37c5bb1103b8ef92f8a89b7274620bccf4c9631fb9bce5086f779b7ff9ed0c9bcc0caef33c03a15f6e5ecb190f3bb6b28c1d85ec77e58ca876fe1c74e033613f93ebe6f532e603ecbd2b75ac420f6039139af11aed688886971d234b1734619e47b7f777da160c03e35a7fed645274b302361c0bcab6663fc44f949c587e834e93508dbe47e008c903476e6ed4dd2b5e9773e6a46d68b51eeaa8cf6f1d50966a04cba52eac1b14a98c0383a1210dbae97a4dd6862d088faa8b32c3e52797e0e21a77cc23ed6be1f5c07f0329eccf5e7837404ed1c0b26d1a5cfbb21129d20331a9fcf74614f973aa433ae9033ab06eb7e880f566aaeae7742d3b8263edc6d5e1869071597457776c16ec39f003105dd99161e7d5462d47dd502f52d8e2b1506b343ea54d6f86751d4b289e5a1a031c4aa84aba5752333fd866747fd95e275702f46da1bd1ff18b3725d95e912e4103711cf7d8f66c8aab029c9e58ada90e3095506102a9529b25465993c1b4ac7b7a03717575a822baec6b8e5e3d968139b25282aabdb26abe1ed1261869eeafef10e803c55686570cae577463110fcad2427dfaef501067526b4235f949f98650df23c303175e7b8528c67d7a2e9bad2e66e98c34c132e4184d7769568e23050a501675cb038767f6e0375ff6104401dee8172035d1093905a816ddc6648d1e3cfc4b6a6a7f0361b5f81debe8d862875d67a5dec6e6a67931eb3324ea00fba7ebe7eee104a15003af59e2e39f087a97ab21dfe266a8e24001252b697765e0792cf0ed31b162d85e03c0d412f4027c6de65954c08de584ae08d6f5969e33ea2459d63c305d9c1a98140306e6390e477a684b7b5d634c7e9941185de771b5ce174a02da1829c606a5549e0322f0a051ac04b16c143710c6201d642716b7a80d13674b08b1a019c0858f557403dd6e5d2df5bce486fd6403117d5d100e35d5a35869b8b64a2edde858576871a8037dd2c9562550590140e6164699aaa3d7b2ca5cedefdc0c0d18c34c33d879819803657b525cb053cfade179c93f2a9fa1a8248a5a7802f0e0f1ef13a5bb4e8da26003155cbcc9e90b57f99caa277c4fb879182038905bf090a2fb99c065ca13e224ea03d1c77c1dbec2a2cf94b890acd0e25a1b576d995875e0b63c273f2dd01c503b16038dcf90bce465b41abfae02b62a16059d9c53b8a12879e315b9f09fe38c37e2df03a35d199082d6fdba6d3ca99d21bc7b4df23a3a4a7da1f4f836e3ebee8198355f0354edb71b79f92970111f521c0529c4ff22dc43dc72a480c27a794b2cd82851e50374926ebd2fc21419667036aee10fde0d25aa3bd549743e4ad569aa06d66eb8fb00581f03b35cbcfa98d8ed502f5cd801ce46389b4b86532b2ae2f87e693c355b2f804568c61714000312d753dbdfdb265fd44a706d91c56ee3f35aeef39efb9fa0ef84ac02617c77a700581f030d5e58d96eec390e181616f50e4fd882affae4d0fb532189848cd35be150485a549d038b04800000581f03e662030a780754b10817124014621dcc80502578bc348bde469df96d4e40480de0b6b3a764000000581f03057053f38257d348510a237e4d37315f442885ebf41ac7e96364a16fd8a0414402193244030de09278e283d05819455467d8810ff0c6343e6b6abff10f8dc65a06ed9562de03338576ae47ee51bc644e6cf6c600f9992df5c3f3c80a458a0be61a03de4cac6200581f02b7c5feba64bf1fd70ba2c97d495cd0c7e8459b55cf467697ec0193061064496eb271550533a8000003b3e833264b1c6728ee5abb69f9d34435631fbdd3f856fe08daf9d79a8d250742034aaabc03669660e13e7fdee88fc569dcfc49151eb1f6d8b63d06369132612d3e03685360afcb76ef076b807e0aea04b1c49e66047dcba69c172439f1afcab82bbd0347dad6d5a613ea93a23c6da964fce2c8452a2c1a6aa61d50bad793d735a5906403413d2ae66a6d9b8ac4d0752f75fe55d92ae103a2821f0ce90bf7d88c4c3cf7380325581cd6b5bce376a66de34bffb1aae8e72e820e55818847ea369d28acded5060358667fadb6c5591183949d2778be558c397cb3c83730d2b8876e92dc4c4473a60336aae19b5cc3b99301e98fe72169dd5c0ee0afb15d999a2204a3f7e1a9c3883c0219ffff0219ffff034ec0b562fbc169e68a392a39d642d7c716bbea910496bc13b2878d6dc904d45d037e83210fc1f8c484c0fcbc38ec7b7b29cbbbd2da6094192fb09c4598ac39485d037232707daeb07b2c2e920e94d86113fcc58eb749ab458d2e48689cad46cfb835031720ddc08b53035f1522460e8e0ed1092d415d3e96fc617e06817d4ca7bc5a63033d7275e9b245010038f9221ddd15a6fd3069a5564259376e9f5ec5c839b201fd0382b8044dd32f157e1badc8145d8f3586008d8bb515bc5168ea2a76a5dcfb49e8036bce40e5ca2356419d213596f8e7ba642991a815b8b1623a4f7cc362ce26749803296fa328ea651ea6bab8daede6a679cad9b0df1cde5aca392934f3200ebbed1003f8742c833f034ef93326ac50be9bf9607dcfc2ebbf5d78a9ee6934f1938c805c03a22c11412a07322924be219669c9915d034853c87134aa39d058763d6c474f3203bf478ced020f5726f0d67db9bf0cda7dc5c6c022a9cd1e290f8d3f47f3888494030fecc919f47592cc7b3a2dae19d398115b9fc43914cb4e081babff28c2befa690219ffff031535ad48e7b9d618dfec4e34274a4621d467a7c22762e2bcd7e60ca16541af110359ec9a51a30ac5fe7cbfe845323d466bef55c78a6aae47910514945613e4a6e3039bd1b696a37f2a9d387f7b86deb4ab9a8b732f3eb3fb190a582b7a1e50856de70388040ec91a2ed4550edc095b78955a20e23eb31aa2805330d4c299e96b88ef5603f9de0bf7d9edd9a31bd73fa3156fbd27fffa0ebe30f2ce4280caba6325ae160b036bfaf57ba365453dd358f9636d8b1ccd059a6d239d82b188bff52eded246609a0373ea8d251ff49e58310f758eec563e898c44d5c62308ceec6196bd91608b9a8e0357510a77239d316c98d8a5deb644469b093a695a51016b5437c1914f4626c6ae0337128890c2f4bd18d86da99f1b786526d470cda45ed0fc65380364adf365a704032196d9babae5955af31bc899313ef644c31286016d2e6f2b966bda163f12d39103473a236df7ed3adbc21bae634e297fda2e9d7f81c632787978cde6be3d8e3e0d032248842a0f8a4f19d92596c0e73cd043acde11fdc0b4e856165d0fefca1d56eb03af481d6bfb36979fef4a73f0bd4d0561deeb07e9b2f9cc720016059421692f1c03955c798494b13065f48b284979694b4369043ec518265c135918648658fa44620372f5ab7d1198442e1ba7a1b176d599a5f5a1ae56d6b2b88031e5806c95aca3e503224f9939a18fc6381cb42261ca82d0302f18b541aca8a2aca1796e7b5dffbed003fe3ed0824a4ac9a894cc589e0bf1e931e631dc342a2954fc8046676769c7656403ee9d4c96d2d1e7a278700a766783905dbba3fbd8df2eff53c958066c3fa937d10334cf7e84b8765784868af2e02db239fb75fb5021681f422c2e68bf663c53bd650308854acfcee7b8195d88fbf8886b47d46386b490f58fe3256a22fb70bab0d0b4035039d45db49db9c5bf18c4368a7069ef9eb66db6ad6d2489d8d65cbfa7351e2a03023e482a82adbd28136c02614340ae3e32485bf9d98ee1400721c0b9193997a7032794ec2bd4047a0820041610c26a90014fb46cc2b116e2b51379302f438653d2030ced3a324e5441b7f7de3b71f9acdb187119dfb9e859567d461a0a058e447c960300c30f63919b203134175f5bfebcdf1afd29a83290746cdb7df5bea1918d5db203c6b48eff9b2af2ea23ceafe34f040ea15250aed8112e5bf9e867510d3b7873020306264da88bfce97af6b4752aad799b0eb1ae13af0d29326a9ff3d2e1354eb17703aea136733eaa033acb83cd0683676bcddbf0ef63c44dfe284fe740be80bad5d8032e7ce1fcf5bd676b7e43e842e9053f57efd68957d914e2c495db9513f23697ae00581f026bd929a1fa461bf9bda2305366eddf49a25e0764a749a9d70b4adcb36d5948ba73d02b1528fafa03a2ab7117ba57ba6837f0b88e0f813187c6651f0e278514a6736ed0f8fdf20205036622394c041557a89c217ccaa7acf8f61117c507f215f05fa34463b48aa1c0a8036d9ad2e5aa21bc97682e560cad5271443cffec2a0d66dffdefd595de524540bd03bff992349a0c144278c838a766aa5b1835d917dcbef2201326aad3a3acfb7b29014108038af0d3311a0d3b703b6c7c5049e17307410248944539c47d65c9bee88867556000581f03d45d6f019762d6d20e8c39fc8794b56caf1ac7b06c26be3d4322515047f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03e07b18d0eee79a69f765ed770d2c6b565711d06fdda4057718970d67578049b1c647ed061f7260000219280003d39207ab02a3a3aaa3930d23e897a90d0fc9c8be79e8d63af313f45cbe9334d20354a526e48893c975e58ba32a6d2c3f833e4646369163606bca15875aec735b010219ffff03ae37a22f0d0ba3827fd6fc0a937f9e9d6e2a19ca0c41ef3c8ed83fc037340c6f034fc62b3a092ee5f76843f64ff907d7f392d355eedc5f2820c3be830a5970000f0219ffff03ce77108a709cb19a080c13d4ab07ff23c869d21da8d69ed6d62ec118442fd439039e1447ef92c3340c33593e78a09e7885bbe1bfbcdffafbe067e7ef0040a0409703b5a87e4b294698e0b9f32d8b8fe5f5a10ff68b67821dd69631454a4ebe6e4d60034dc3b023ec44bb20c115ac118a41eac8a3a02a77ed73fe8c15442ed4b930c2ad03ff6a6277a11338a06593fac6be16849cee9e0e963c748bbf4bd266395693227003b8b7578328b6e38c27151a835d86370294f237daf852ed3972636560c4557a51033cabbcf8330484bf5b272506ac4e279f1b10b43fe9b0a9cd9a2e9fd6706485bc0381cf7e3bf1f99050ad2cc16b4e26ceb7a1064a469ed971191660fcf9c75f65ba0219ffff03901cf7d3fb60a8f38f3ddc45bb44cd0c17704d9d1e83e45871d91ba39a5a0f6103406731532256663a55ebd273dd74b40e2b7a5e5afc7fe731ed8ddacb4bfd8cc5030ed5cdb44b2b930f0a964919824a9cd1d4995d15dd679797927660ea5ebcd9d70219ffff05581d02bd0bf74c1dacfd68e8c8b97177d07d52362a09807ff09d911f34f0a707011908c4021980480219206f03b4289707b901d17c2d3ab7510ed4cb992d2d331b7a108ea4884e0360a1309e2a0219ffff039f7bd2d575b2b8de669b6a96f644e73fb91b9ebe1f45ef11feacc889a9322f9203140dad2070179f7706ced08ae70e7dd437c85661729eaf19213964e0335eb512037b9122b92eec0bb9ab4a132c9e86dbc054e3d38da30c7b21755a75bc3f2768a903f6fae0b6f7cf5206a18c70e1fe9e4883662f63d481780f36ed433a8b49e42a5d0322614a70e4a38dbddbdfddd6e34b737ba59f7e941eabbd0ec44a8e4995f71ff503ec92ecb5faafe3347515deefaf759fc9cd04ae927f3c199e539889c1b2b5f5df0372ff0e589c37c8abffa81062b3ed8027a3451af6cb5bdbe2eff321bf564d94dc0349ead19488db5ce1933d53dccc821d874091f2daf7a2e4d1c2f588840512a6f6035d8df32ef33c856f69b1c031993bab1c2593672dfd4858b32d17776b1ddd45240219ffff035d2e531e2d40f00e8d078daec1e874ab28345b22ca9f20b8081fd059db315d2c035fa2dfd57e4e3504dd60a72daf1e624e3bc36bd42131bc89b3ae8f2df72dec510393040d006d7412f219db27633a7ae1e5acb10cd19d0140ba480618f540f49067039325cfc26cd1c8f4236d6435bfd4f7d35e5d925a9175b51525f777b9ddd7d4b5035d03eb0fc841629379e72273ac5bcb087bddcbd7b56a2041462c5e7f4d9d962803fd4777ba56e9e4bce31f5e9e56d08a162dbfddbb2a8dd016cd82c1196c35100a03c7db2b32b7a965ca0c0f28ec08a7fceed840ea10fa81e0d461e8e4fe18de0ebe03b7a35df4f3ced31db5ba68f92c29a3a66a719fb9c84ce484dd0d47cc138d5eac036978d120d64f37779f11ef9b3aec3cfa9f33fc9c351b425f1aee4dfaa61420bb03ec2b78a28bd0b2da8a2888b438f18d75ffb01da0e184bc3f20dbe681666176fd0300885d1096c4e97579a1c56202083f94c0c3b25a1a3fef49bb4b2af726ccd88f03a647ef3b88a3b111359a2cc7a61db134c426027e8345a25be46dc505ea0caba803081566c7a5165f418ca685be81f73df6a8c39022e9a71193c4fd7f7eb1e45c7803506f9bdef65976474f6069f22e0e7d194000f8fe4732ab56c8847f8d33f1bb900219ffff0303d2eb3bfc733fe5edb55a2ef7b15d9a4c290fa3b96b4da6e913e8f2ab17f62703955a26b3f9f708442a29eba7566c4fb24d6950b7b823faf534f39ddf3ba79c5e037d41a39aded04ee3b7f9cea327fb839007f2b76b8ebe19d0d85ff7406f9b491403267f0f2e6bf3917c50039581704fcc7f57e65cf34b5a026b09d30fa9a134097503018a7a4a8a1c357ab7ec986c0cc00e599125f0a8eff9529da38a816c4b97295d032b81e808ec637b21ae921cd85928d4f7d22d2b788bd4ac6f92e9a91e194b6a7303a959e48113356037d189a874c3c60a881a7b73c7680f01dcf9620560ac128e1d03e0eca2186350dc56737026d7fdbaafc77d0acb885299200c4bceb20887b5765903cdc47c7fb20e135c8e3c4f9d75481ce5045d90fab947e880041ef14624fed9ee037e08b3d32024e975bc2cf4117dee746e735b8dd5912b16dfe3da8a0c30a06128038ee5dd24326d72c5bc9beb39456c0dc142d739927bfd63c8c9e946a03047b26903c7ac22c0756016cd674ae6aa4f815849af29fba90653c96c6a39e7196caf5083039465564c183baea51bd6aee0919bd87795c3b8328b91c1ad1b826adfc987df16036eec159be5b7d537978e183d0a8076753cf5f1c2667f031a89c9ff421d77617f0392fc680f2de15b722325acded389cba3fbd7fd120e625e9205c40df79525f99e03a238309304a6188a7cf152d36da751e8c9ca5679b5cfd2ee0b1b74b49089af2a0305dcec2daffb875aa462dcec294f9b6ab6b7f7d588c5356273e6a9c4e74c5f4a037b98b07c7e9b6656ca2bb226342f5c4a58f7bdccbda2e0c3c50b6a0c434db2ee031e0173c4d5ae0dba7bedb63340c9d5c671304f42f4b832ac097c7de1ac48410103be3b6d7931f66e0c60707a54126c5b4abf3e71ab410805d02148dbae60eaba17035b41691a7d7a55ff059f24019d7f49a1e982e9848907cd37b4a161ebf24dd1f503f2644443f550e439bff3816fb42407a073259a64044f2e1832de79f66072387d0375d0348c9eb5e4170af43c34502a9c237903c46525c8fc87dd1f47e0b4ccf69103b79dab1f126a66bc1ba64c360d325be657044ec048e822da8826efe0413e38420326051d139839f5ad58a37c5a9204a3f25e5622c3d624fbeeaf0dce1b53d31eb60359d4ed494c17bb5c058c293ef6d6b4c7d60c566674e540b210af05c744886cc103599498a53775cfb02f4dc109fdd7fed69245cc57605377d640552c9b6e5d4db0037ced86d02c03bc47826334aac5f2755aa83d395d22aad875d0db3048d6f898b603897e5bdf04335a4309a2ab5f869da2fc515e5c54b131bc3b166ce8e05b85563203c4f52a71cab1ed2593f6008cb2a21c9d8729baed69a112da034fc6e71b2865e503eb4ceba81cf955dd91d749c9c3efb07de887a55b0fb14406315a38e39fbe49ac05581d026e617119ae2f44d5058f0ec7b9ef6d6b48c9bc074e49de467c04012e0c0447022f8d92235e7805581d02b87b8dcf4acb3bf725280e814a415c4ad266b58d9052d98d6f878c2d0c181b46d3314ea18bcd03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581d02bb84cc940a293f979860f44f85a83d4dc6c805984d83001b67de946707011bffffffffffffffff0459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d211081565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000018f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000006461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d21108d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d21108b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f000000000000000000000000000000000000097451ff859c3282305ffa26a9c581565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d21109087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000181565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000000000000000000000000000000000000000006481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000be80225f09645f172b079394312220637c440a631614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d21101693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b9450614bba60058c8b8d8b8b87898b60017f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b93508415614bee57614bee60068d7f0000000000000000000000000000000000000000000000000000000000000001615325565b8315614c2057614c2060068c7f0000000000000000000000000000000000000000000000000000000000000001615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a035499145c3f3f45d2c3c51f476dfb9c3b768a2f58f8d44fd501f6fca0b41fabe203057cccd51854f7c77f4b70dff814d16c6d5f63f5d813dad57679d037f69c34b9005820027db89f5b0f9b180036a9b1c9a15dfa4b3e93e8448554efdbb0d54f3ecb45b5581e01000000000000000000000000000000000000000000000000000000000000582002968f845b8b00f98fa2c733982ae524d91d311e483300b89e6c21b579fe29604e0523583f4ff8fe30a6bb2cfef47100582002dd40eae5d9d36413549683514227f4233c921c4ac6b1ad58e4fc9044646eff420284005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100000100010000000028000000000000000100866658bb2377cc04650c2302190324030eafdc2534224f8175102b630c81802c05f09622af54b2458f7b10a2b4f13bdd0322e89a129afe003ba789eac4f6cec369397fac62eed3f87f6805c1622a97213703d4df289476e4795805046801b8110c2a98ee2ad704bf6482603e8c53670047ee00582103fe4985a46e5278d517ed7061a799897ee525ebaca43ef909cdf87fd7fe91e820581802c6391bbbf19828000000000000000002c6391bbbf19828005821033e6e02433e37295571ec064d6be5a207e3bafaa8b33e38a1f2e66a1b352d59f05820010000000000000000000000000000000000000000000000000000000000000000582002497882cf9008f7f796a89e5514a7b55bd96eab88ecb66aee4fb0a6fd34811c460100000000000058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4a0188e1002864bd04f125031909f2ae2413161fb662388196c1cbc41bbe8c393a927d97330e6b4fde4756160219240103b3ec1f4676cd885bcad261914a011d17500ae78c93a9e41a283a7c8e08b5ca9c035fc2c342089704e84abc87461c9975ad1264491b30761076e5d4c57c272ebc6d00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604f02f5332dac4ac660aaa94b1a6768e7005820034c1ca1121a3e555ca0a1faf7c14316d750d8952d15f31852b993508e2c04804e04163edfa646cbc80770e44f394e0219020100582002adbec51f158f0b86e2f19d735ac100c300963ba2028007c834545dabeafccb58200165b180af0000000000000000000d2a8a07d5a0f16feab70dfffffffffddab80058200284fdc86dd8b7375065a4eb6436156645dc2b94ee1da368de6ad2b15ed2e39158200100000000000000000000000000000000000000000000000000000000000000021990020058210319be35404a30252b4d52fdd353b354d591bbcf99a65ca7b2f873e4542c970f605819bbff7394a9fc3d342f00000000000000bbff7394a9fc3d342f0351b1fdd9b1e132002f4281f149af75aeb949ea96c079c1c6204c1046177fb53003872861e3009d1d253e7c47441f3034c9b0628e1767d2b811704db14fe4a963e801410400582002ca0f4808f7f0c52440675894727c9e66265266cd1e1f5015f8b745ca2de5f35820306000000000000000000000000000000000000000000000000000000000000000582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820010000000000000000000d3df0d53d4c3d8a0c55c20000000213bf1c65cf5a0300582002176a08a852d13bd5ad0c05391edd70e645f931ca27b8574faa2f6165bd912c4e0441be3ba6ede532f619ac8e63e60058200235fc8112f36d19ba79540c9fc009cce2c8b9850d2abeeb60c7e355a84fdd674e03fa68c4cf0c7563088ebcb198a80219024a0219ffff05581d026f79db21fc1f44ebca5f5e9f845737c3b03202548a38450a867ea7e3070119567e0219138005581e03e8d1c278dcd8efb7c35ec5f0660fc67f18e8ebdca0fac5970a3905e9500c0246063e61e2ea0005581e0324eaad68723c09b17ec58054cec86d3f3fb83b2923063ea23a015e5ad0040105581e03d7fbeecd42179e006f8f16c207fc402568e645fa597b61b7484c53aac00c034703943883318fcf038a911b3b15171df4a6ef037816f2e34be9c36ab3725745dbe0596bd127fb87e90605581e0378f4e7f63809b17bbe05a0ac83a6f7245e5c1d3097b1400eeabad7ac4007011bffffffffffffffff03d8554dd9d09d0ff68a73b1167ddf5cc9c8e1c01b14fe6d91765f10d54fbe4f1903e33a5d3eeee59794d97187e01493ad6c5940b2aa759a9c8b3be611c3b1f3179c05581e035a5d7af77f3a29ad83ea35a2cac4dc4fefc6430e9f29629457125c1a800c024805aa86966168fcd005581e03a67084a0aa937d38ce58dda786a7331cd46654736303ccce0384bd1d500c014704d75f3fdaa0000219ace903a774ed474d3f6bebcb1cd2472e0cd3e1f28518fdd7a7a133ae5eaddebaf1f48d03d4bf413ccf1d531eec2109d718b398889610a865c5e9c149d08a24151cd877ca03752c38aa8cfa434ea13546eab0afab534cb83874178c22a37494f3fb32f059d503a76f9ebcb6fccfed6b5e6750b213b141d5dd1475b5f1be2b2e7b74f89481676f031ef27a8a1bf40d5036f4be4df9a4c16ffc6adf2e78a742bf67d508bbd8b0fa5c03c1ce05dd9be130d17ad2e1004de5ea2df7bfc55a0886a21d2ad438f8e613e193034bd39dcef4a4e8cd92345cfe6f3dc269822016f84bddd0f2d1ad1ef48ba4bac3032cc2930987d6896f64f58929ffe5cc6291a1d05d6bb54cd13e9634ca61242801039e1a601aa5ff4b2ad074fdb52966181fa7817357ef6a3de6497559278745b6b6035251e280a59355b77afec220e0858eed61fb3dd14261c1db5677d57a26da56a00343812cde9e684fa8c776785f06b561cbbad5b873b230bdd9684283a6a58e19200397cccea34bf51488fa42e564ab19d095e804d250b9669e4fb1c5dd0f4520c9950219ffff0219ffff03fe8f4949e04d68ffc09a045da037712b7af51f1910f0b7d1e6a22d30f2a5bc8b03edd6a70b3f96b6a860b9f08d9d976e0274a85862f19e289f1da9a107de3f3b90034f1028a3d0fb28aedf8d69a53408ce3d8af8c8afc3c394079c2c8175611595bf037c15ba545f7b94c71d1455a7207a203b0f09440c7274501ce3e5eb32864d78940219ffff0219ffff037f96d1b29b7462fd7fac85cad6c745cb4f0d734227095b5110d3b2203b31a1e8038ef23c9ce7ff178a1953fde20fc9392e09bd5f9f18edc5878ba297ca14fc397d03a56eca8a9166fc95d9dae5db63bd7b71be8ec99d3ffb7c5d6d2fde86a56b5799030ae6782205929996898dbfac8dfde002c638b403ecb30c49167d95a5b2e9f2390369c2050060b360ea03e33a5b14e4f7e55cb20ef426340d77075ca90d68c8f74e03e900c4a3438d4950b331765eebd85a6a0ee9b672bcfcfcd06ff38809de49fe1b038310799064d387377e20ef34b2be55430179658a213f0fec0af9fcecf2afd84d037b38801220cadfc2a9c628721278ceeb6916713f5723eaf005cc44ad8f52693d032ad938491fa1f0ac9b87ffa252b78a4e3085d1730e5dbd6f93506e9dfcc6527603474875c6855fa244f8b13862bc7f0d26fb4105f5aac7e5aa997b0123ebceca6b037867fe1808c750f6805e171762135945a63a459238465c3afbd5cc583f66d90a03549dca9647ad3f180871539aa9804d8fff9575ed012d35d1a21f54cad65fb4f10367abc104c25d740e1172977441cc0b90dbfe3e5ebddfca9f8d514c6d4cf19247035f4824d6744da11cd27d1f297b5d6e90d2473386d8d3c56c5153e7853609240503d2215719f51b57e4f4f3e82d63121667ec2a18333687f78e4c37412696d45d2b03a21454150cf8906a0ffc0ea012f287a93bc49a7f804fc329333698b85247c09203b5f6c211f3b4ffdbf418bb3a625b30c70372c1df378727c4ff863aa857aad48d03a9bd2d1ca147eed58fd3a14650fc5164ec53eed084ce24c7cb1f1f02c14c873503868a1fd45403e19eef4901fc073339ce9240b14d2771ca7f2ac364de017a465903d4d5fe6adadbea1d49bcf053e579bafc4a828245f5bed47c226ec6312a3da50903114f12271e420d0b30f6ad8a7d0b2940ab542ab8155ba9260cb6e27ee094765403b824f9e3765fe9e6845c24fad12b9368c5d797aaf4e39405d83b513563ce0503033fcfbc60d2274a97259efc79855c7971489dfffe6cbc8c0a402a1967f74ab31b0380357c369f2ecb729f74b1765dad9c7216893fb94eb856a8256df7efa96361760319bae717a58937ec14423459880fc35e772420f36f944890535faa944bb3e3e805581e037309131978378999558eeea3c0c54bb688ea0a54f3ec15c45e5df9a4c00c0146061c3fd9660904590845608060405234801561001057600080fd5b50600436106100995760003560e01c806306fdde031461009e578063095ea7b3146100bc57806318160ddd146100df57806323b872dd146100f1578063313ce56714610104578063395093511461011357806370a082311461012657806395d89b411461014f578063a457c2d714610157578063a9059cbb1461016a578063dd62ed3e1461017d575b600080fd5b6100a6610190565b6040516100b3919061075d565b60405180910390f35b6100cf6100ca366004610734565b610222565b60405190151581526020016100b3565b6002545b6040519081526020016100b3565b6100cf6100ff3660046106f9565b61023a565b604051601281526020016100b3565b6100cf610121366004610734565b61025e565b6100e36101343660046106a6565b6001600160a01b031660009081526020819052604090205490565b6100a6610280565b6100cf610165366004610734565b61028f565b6100cf610178366004610734565b61030f565b6100e361018b3660046106c7565b61031d565b60606003805461019f906107d4565b80601f01602080910402602001604051908101604052809291908181526020018280546101cb906107d4565b80156102185780601f106101ed57610100808354040283529160200191610218565b820191906000526020600020905b8154815290600101906020018083116101fb57829003601f168201915b5050505050905090565b600033610230818585610348565b5060019392505050565b60003361024885828561046c565b6102538585856104e6565b506001949350505050565b600033610230818585610271838361031d565b61027b91906107b0565b610348565b60606004805461019f906107d4565b6000338161029d828661031d565b9050838110156103025760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102538286868403610348565b6000336102308185856104e6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103aa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102f9565b6001600160a01b03821661040b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102f9565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610478848461031d565b905060001981146104e057818110156104d35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016102f9565b6104e08484848403610348565b50505050565b6001600160a01b03831661054a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102f9565b6001600160a01b0382166105ac5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102f9565b6001600160a01b038316600090815260208190526040902054818110156106245760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102f9565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36104e0565b80356001600160a01b03811681146106a157600080fd5b919050565b6000602082840312156106b7578081fd5b6106c08261068a565b9392505050565b600080604083850312156106d9578081fd5b6106e28361068a565b91506106f06020840161068a565b90509250929050565b60008060006060848603121561070d578081fd5b6107168461068a565b92506107246020850161068a565b9150604084013590509250925092565b60008060408385031215610746578182fd5b61074f8361068a565b946020939093013593505050565b6000602080835283518082850152825b818110156107895785810183015185820160400152820161076d565b8181111561079a5783604083870101525b50601f01601f1916929092016040019392505050565b600082198211156107cf57634e487b7160e01b81526011600452602481fd5b500190565b600181811c908216806107e857607f821691505b6020821081141561080957634e487b7160e01b600052602260045260246000fd5b5091905056fea26469706673582212204fc41ae70a57ca4d5029e30866fb66134499dd834694b9cb45243c01710c48ec64736f6c634300080400330319f15fc15c683de8919444eb27852a020cb611c8b7620b4ca3d36c8c907ec94d0369d422a40dc24645c65ef3e691c45db91311300c87382b53d23f433d3a120cdd03384e598d9938845214d15786fd245cd5970a38184f7dcc9f443883caf91592e503e155f0f0ef0e71f01e3e15ce48af5cff4778966bae97d7a539aa16a6656c7bb7038104b4504adf8e3846dd7c4afb07aa7bb84215b365668d57ab8642db88355db303200190831564ec9a73b1716969f382a25db11b5c529ad76da39299a1e20e5e270352a8cea655a6c5dd2352f087958db8a5c601ce09e8f3be180cdd1ab601a2c0fc0339073bfe78b7e90ac582df4578670c1a3581ed0a7409697b821299d5a345b7e00366659c68251c2858e8005e321e5666c4d1934a8f0f6a062747c7ff211cd09ec403d01b460ca9eb496816f02b9d58c92204085a355ae2ad935fa55bc24c03525a7d0376fa4090ab35419b5f85c466ca1a68eaba560a07bc49d512664e77befd14e4c50385fd8671100230dff60f9a900c1a9715c666a2d843092f2373971fd131752f610376ab3680aca0e7bef61f7ef6ca95fe05ecdd2fc21e8d0f112756c76b7eb720c003abfaf8416df536966bbe7029f29cd3075fb7b1af3b4c23367e121e34b589bf5903b07760b102f23a6dd9d90a660d10a63c847464e556e7925cdab68a9915dbf461036d72d8641ca402115154959a2da86619ab8d2d02b1276ecda2b5bcbbb0c8c7f60374645c2316904af16d1fcd53c5852e2b98a223a037680f4aa60ea4aaac63e9750364297e8ccc000fb4563508f9593ad51317c5bc5d03668db63555a7e47f8da98403afba997e9e2279d59c5c637eb1e976ab546898e304821341283bd03498bb10f80370b7c27c309db4b484cd2664997c65dc75a09c2dfcf50f369220c6082cb0ef09031733b804ec240bc171e68347cb2f653b9cc8b30e8b080de68264b3690d4f4cd60319808bf46ab1e8b86bfb98ed45551d19f9138c9ddbee5afbd77d7383e4c180e903d13465ff273950fee23092e322383afd26c9cf0945ca0ee4a826aeb4303798f1037dc2069e90cd296b121919623212753d6e2b95e318d2d242031f4033794a68b403c9c153cb306305f9cc09b00469eef0b9b747d16225c2e6686b3a45b581f1883a03223a794f6b9695df5c6ec863103eabeab030b4821092a761f8a4fe4ca6c1b62a00582003e80468ba676b512e339f82bcf1ae4fe1ef03c03055b60489f755535e8321104906470c3e771e3c000000581f02ce64e42731cc403444882f8369974c1f1875d438f25f7a8270b85554c60e4a01e504fc4abaeb29e3ae00581f02b5433ee5916a7ea5e3090a4a5e680e44d46ea53bd659a01da78ec55fc7fd4981e5e7e7ae9e10200000581f0296fc5e0eb2316269e8181181759860433cf6c9eb1b34444d6affc670181e4a043dbf8cf85a66a40000033e1efa03a14a74644b41cb2f0e79fc47e5417128cc1b114304534dc712fbfb5e00581f028b86084114d8dd6c24eb795bd835333ac7f9409944165897984812a10ea15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a01c026174269db51f6dbaa0ea31b44d8d1bd63d5986cdc290e0026908de72c9021914c30354b9cca9f140b3bc9449490cbdf4140552461a9bf95d3d21b3ae6df943d5d9630219ffff03e765292bd463645071f5f550fd7d4d6f38ba6ab8b9cc78ea824269cc8a1afc8903730802650f35074fefc4f5e5c8690ed912f6ceeb1b10be649a9616147c8eb21303b989ab01486eedb9824420017ae9289d4c0414e2b5a543b881b05a85dc46ad270358a35c7e960b11f4a8b94c3c785084d70325a7909794843cfb812ba093887511031e8285a32f3d126ffaa941110c5539289ebdb3047b92d3dc30ae60a7e44a8560030a46d516357bf9e180eb58be4b6a4dfd139639a8b783d4df1b44ddc4bbac6ac8037a45501192ed2672934cf6210cf03fde1709d5331b491462a85b2d67c725a444039cd468c62c0672d6d81f1c6fda007ef2b793d8e516da1c41aa7b022429cbf228030a40321ed8d3609f1343e3774ae81c416730db8c339144d88e3152ae5d3e58ab0219ffff03a0f2b2747a4697136e77e7ee94dd44ce5ed95cbfa6936237927331a66486a73003043b290702d9e3423d88bbaa69a7f6b573fe4fb208b76a415ea555070cbc863103329618f1429231dc5bb51c633837ab993e53438cf015c4d4fb5ab0ada928232c03d01c5976ab42e790bf546a9caccd882a3e745846c48d0508cc36843459277586038b6c57015c290ff148732693e4c9b7faba47692e5695e21cd04a33ca71201b4f03789bc23bb5641982de7421ff02e6d8154c0356e961e4adae0a0cfd9b4001a66f0342439cc1a0b5130af697539c756a41425f1fd4f5abd88dc175744c6e3060bfff03d85df21fb4f9345c0a2249d0a152c160f6e672e419864b32a5ec84413eefda1a03b5c6b531963468bf5b7b6c1db130d2d1370ddf5dd7e466e055b84f31bf08e30a0312ecf69b1735e2e41b3c1dfb81c8031cd5ecd3088637e7e564faf2cb92a169d903ee5f3712525be214308789606bc14ad9f6e63e1d42f2a3b6e1e84960de18502d038bb1255b29ea10934abd69a27c211518eb61ab5e17f27d98ba94d69c7f10fc1100581f027eb58755f54d60406e2e22342f9eee73d793548dee67169d8d7c3ab517e24a02df477bfb00c6d6c7ac0364ad0f4f711269f4dc3361d8b05511d82887fd1bef527846d999ddae910bf7d801410200581f02f1932904feca10029a6061cf82f29d1487aed315dd44cd02c8befbfbe746490acded09f2c1b3eeec00581f0216b4a60b8e60b996259fc0864cca4a8ef918a5c4c1ea5cf5a5c06c9529425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02101979276e2897e46b3235864fd611bba95c5ad518f254ab0df0df812a564968279a14efd5a380000219a40503a8bc22e378e5b9119cc87b5d3d810cfae810c2cdf00b5309ea275aa0dd8dc27c03451e3858d9d675d407e3289c07f84a772da8e81f36c510fa38c02dc10ee7ae7b03dea05511decb7c64db7103ac1bec6e10b0ccb270519f2e597ee0834cf58c7f5703440c94f80fdb5a8f406efeed4ede660db2dd23b6f402c2ba926b8e1edaf284a303e9cceacc6f8f8dcaa6a0a7ec4d752260308ddd3371f7bcae08defde6168aa4e30394d9b5b817c6304415f70d74b86f6a14d22090b12fc4d3c885e0c59a5dda4df903e3af0af5e59a391296c5b1cafd40ce92a2f0d9434551911e1bff64dbec51afcd03131a1edca07d33270290f68e24935d0e7b9152bda3fe2320a804490e7cb6b9cb03c238ae57574e43e39de9028ed177469447587d081acefa0b2cd5a9e377c93045030403e7cc4eeb3638b7f7a0a73c414aa3a6fa29e741b163fe0f393a33cf52b05b032658d177c833ef6370b383b4ed62508706ae46721e864c0b6871e00bc7bab4b000582003e49c8dc6c0b7ee3163ff4caf159cfc1e64ad6eacd733af3124dc69434e79b0491201bc77db40ca400003319d603d7df5547845166c53a76eb8ecda95fd80eee3c7349705800e8aa6324c03c9da616ca1d17292ab65635565122c4dfbdfee6720f8f0276a074540a50c5e3303f14d94e17424c3084ffb1988a1265e72f3fc2667af2d6411b09e2bdc8e60ed670219ffff03c6fc3e65d054259875424aa6f4a1c4f3750bfcd72e5d78f3c4cb596ccb64e6b2030fc897c894321dec207df65448147513d25c7124b916ede25ac7732f26e933ec0347d1363d7373cd5351d3cc38d95b5b5b3787f803bcb31e3a26a66f49dc1727c403f5dfea1eadb0f542141678f19ba4a136120811dddeb9610f1a18e405545c0eed034855745d6e5310a29acdfb8b63f863121094b29278916040fd765ccdce5b48f70219ffff03c0234b02f815a64ab26207eea4f95b6c6fbe81c880c882596125254961bdb13b031171afeec68e1f3a3676c8c25bf0abd2c4d889a64002f946512fb2fe187202f9036bf281a2997754de94c5f7ec6a4f245a50171008c9b24f9002b43d3d8bd592a203da166dbfedd4f5c216b8524ee58e12d3aa503f8516b9352d0764cffa6fb6c73e0398e4eadebe512542ce27409a5870912245ee493b4dede4e2c86880c4d0d7880d0219ffff05581e0349923403de6f29e3187186b3ed5f7675164cf0ac600ac0065e68fb8540070119084505581e0397807cdb097fa319022b998f9109a4bbc68d51c182a5ec3636e6ce89c0040105581e033f9c4bd4408f0e690ab39766101907ea6fc239f11793f6415089f60870084702da2b6cf70c00031304497949ba64644cc4e95ec93c2d358aba8b604abf7278828e5cbf27908b990219cf0403df3717325a94393db9cfac95a32f643dd014f46c6fce2c8bea473f6f1f1f39f1037584c2be36034fd28a1bf0a99abd1ba3ba2512254cbe91794d4ef4afe8cd2e3a0336fb89f4ee5ec244aa882d5a56c00c39150deb03613b77c77119edfb03f48a0b0386d2ad791785b62a3406cd92289d7b3117c2dd29bfbe9e070b5ff40cf3ce233b0309f4629d5df5d6f5152ce63cb0f8b3e0d0f346347294cbdad963e83472feaaa303973f2394f00edaa0229709ea91f230b59ecb7f08db5c62b6878f2d5c808b7e2103fdfbb99a19da54ccfe0eb7eaf28cd7159bb55afde3b9caedfd317cfd8793a78c03a4c8c80ad9d1c33be0c00630b00d3be0d7c2bcc99faefda29e7583e58efb4d1b03c90e45740c4ca7a93308bf3fd5bf172199697dfd04e9d522407ff5020a6ef6a303f86a0269edb6c3642a4ca28cad717a328847bd0899a79476d2c6a6127ed02dac0313d6815e88ef4c5ef8fac4aedd7f8cbcc3984af6facf60eb4dd7477ce693952603b32c7698bbd49e48a3eec9b2ef0e3671fffe2b4de8ae75f0d3bd1e904343b64f0219ffff03400b86b04671104d4e0e0d7f554f268c496a3417f096d884d76b457c5ee0ad8303ee32c25c30a4132d73cc1c4b5919d7cc55687a045d98be24586af029b31727fb03a11beab5ccba7dcec61409fd912437a3c9fc267a73300d1122eecf622f435b3e037611124168d3efd32e8377a6ea19fdd29400f2063a70525571fd155093daa5c403a798ca9cb58d63fcd74985e5a6a6314c046c18a1e87aa0ea6644d6b348b8e51e03eaa91ebec80dc0a8cd6f1869f51bf2db9c2421d30462ed60839815bfc6e20b9203021b0a7391ea1227d99a668ac4928e0957e786cb26568f3bd01f7c544ddfb9c8036d597a5592688e53497af71bd448f697092deab5076d36f498928f375a2b0121032e69220b994ccb6a096b11bbf41cc94c05f0132d6b51e229904a7541da88ea2403986ab8d785a2197ff7e1cee2926030e527e832d934cba08bd8f8d65f19bdfc9f03952897f2c1dd5ee0384b256450d4fd556a03172b6afa512f53503505d05cc5f603ba95baa5b0a413ea0a0f06d57eb61504a8329987fe3b0def1a20cbf5de62d11d0219ffff030bb7d71f08aef2f87be0b2684695c098ddb5ebac17b62c947b30e4014823809a031ee919fac9e59b22f5652b7b0e46e8820e6b910235d8a1d58bc8c0cd56cab3dd03e0f21024db6d4ef0e3042eced5940555f1585779991c91588774d91544f6c0a20219ffff035174373b837c07d9126641435ff711d82fd9692126f7ff567fc84a58a07a343b0308bafa0ff1141dc52e83f79292a6d85b62ae5e36499a5e86056154f9ee8da83103c73741390481b40aac7edd0af4a2bcee02dd26a12bd5c969654068956bb8343903258ef4a6052f827ebabad8d2d20dddff4af6eec7e7a3dc021a8adb4cfd24652f03cf8fe1ac2ac99f5188c3bac021ddd9a1bff12796db4685b39004fdd8eb21354c03dd0b741501b50c7b4419270a9c6d5e6d606f037a9af97059657d60af6dcc38cd037a33745c02f7dcc58903bd6901ffcf4823f5a03cb79dbd48011da555bbc8fbaf0347b579efbe3fb39eb10b6c03ade7bbad3fbf3ee9007fc996249f664dc17890f9036e571bdb884f9ef1869c9e1752efb61532f9b635bef9168cedf1817b63b2ee0d03f7a8e302b8572b23121d99c015287c77e8ffbcd5bc4e81a79585d4d97d2f86e103d497686792e7ed355c1b86ebb9c1eaa415374fbaeac2663e4fccb774e9cbbdca03f664b6d84bb42bcd0be5d6f7a3bfb5ff005d5897e4d027d64c4c620406cb0e2803f14d2d1394242227c3b03b44158a66061c7b282dcd85e32725adb86c7132211403ce779b1205c5b07fb540e19071dbc2a63e3776cd8ffdc4550f9bf01d656a5ddf034530d05f24682fdc325cb1813799ed21ce65f9871c66f8d12f3deed39306a39403bb2d2e2e66c0accb8b4eb5ca51a1495c0df4a85a43031a98cd1f8940c74402560377859cb536b169ad6fb333e3ce595cfa3bd627d86d515c86c0a3e0478fbd8f2b0389069b82b1fba0e7d14f06cbbd55fe66bdf474b3ba8bf6e29fd561ac1752d8090382f0589974a84997f773f6a1fab888011444934bc32848597cc675d2b4f16deb031ffba828c63229980b755b45243d0e1f0aa77a2b7e3e6c72aa67f03d89b0ba020380de0d84ac470695826ab60e9dc9b83619d2c36cafe5f4acd3e67de3f1f66ba703098fc143d3306450bd1f0d87ca8d6ba973d9c9f8f60c344f6f42beb6cc96e19703e95a9bac386a42fba842e0e381b38a5d1f79dc80b054e0fdc4cceb27d195a96e034be549b57375abd703fd5b9553b21e78e83be1d5769eae9067cb91fdaec4fcad0339ece54b243c75224c8365d3e88b7f1ca96641cecc07597ec739a69a21d40d2403e88f71faf4ae7ed6f83ec804b952abe44ec9d8e856dee0b9cf111c79c63f848a05581e038592273f6c9d222f974501e980ad1f8c3eb3a7b8507ab7b6056ea7f3100c024701da82e386ce6805581e03070d4f05e082764b4481d8be6bf183b8feb6875ecef87614dab05018f00c181847e09b42c7928dda05581e03ac7030e668ae98e939a57a1dcec97c5611c16d10e7820d319f5416b5b00c0547228a7c246f160005581e034bb20658bc678359125d7d974e7351706bae464079252a89f31487cf800c194540490287c75cabf998dbec039ac03376d758727fcbfdc6ec1b82f03d1560d8ef536d04db1d8171e6716abccc05581e033c6d486a048572bda317d1310c98ed5d1f211a46d8240dc08c8ff2f390040103bf92b8f9ddc65799bf212a1bafce667c6ba644af94741138c70d820258bb41a003038fae7fb0a4cb76f4b171fc439f009e9802fcf76f4fd166e60837e5c6780a510356d94bfb8f494075d4b13d3b62f8a8ca8bde3275cb8214783766ea9a3b2f270b05581e03085f69668f8c35afc27a30826477f8a4e7c2356fcef3111cd8323050900c014649624a2bb1000219eb74033d618dac7036a540823d7eeff784c6149513fdb33c4c414b27b96a147d743d47036e44a01ddfdc199f136f5bf256762fe113507ca32ad2f1640400579d547a090f03b98237dc2d85a943d4f34e0f5199f6eeca9d701631afa8e0816c7f2c5c1792c803267b44326f5f0705ab14fd34e5403d7756451b084b212f6b4dcc3d7807010e33038a3f72ed9f06cf4a8154173cc5e522fc1bb30281b54c5520362abc79b551dccf03dc8427d3b76656e3d7227cbdb95ffa145a08f3b776c186261b4c000788ea628103db9555efc2d115aee15ae3dee5162c0c07c14f29715f8afffebd16b5ef08823f03fda20171a2a04ece97f605042092e857728c3a27344eb859d43344c148c1362c0219ffff03f7848d2fa3c1446f89c6de3dbef7b6a6a4030c4c2933a52a848188e42813438203df5009bd8422e114b5386991c48da45820d711ee21be1af92eaa1728c0af7d040383df166856432966ea9466376d4d7e9ab3622d1e726bb14716abbf6ac73d2ba7032ae9de70a5d97ccd10210f3b084d638fee74dd75fd569d97af575f5d0f82080f037c904aa65fa8e1e226b50bc49af19afd7739d2cff7b537e141912b3ff0d563dc032ce66b634561fded7f7c4bb94aa882443a258da0781c86bdd516aac365cf03c00370a6d57eaf39fe84eeb4eb058a2dca7c4c876808bc099bddcb29bc25965ddb2003950244dd4607601aeff0945061ef9470ec9cbed8b117c059d1f05a66650cea7703ef240be345f39e5f8bbb1deafee57e45abb183720aeb5927c3b33fafab142e1803124cc7e289d9e8844ee0ece9ac3d39b4b62d538e81ff9e4c4b1bd36c9dd6b3d503a4cbf4719bcc70f0286530ef88f610df475f80cdbbd7d1c7b79176ffd294e10103f0f28ae2217ed0b9783764c008090a818dc07f22d3de3eb19285c26dd48e13520306cd0a5518f0b079351d7caf13ea21c35708255fe8e0799bbad605cadbd5c5ec0343a644a628e4e7d486c41a2dde5ee7da7cc2969ae22f6565c964a660567eb7ff0219ffff03461b989d3038ec9d6f65f445b8728d2340d37fd619cf8f7c327f0b40950c0cd20393ad4fdb15095a07dfb14fb8fcbaa9fa7ad889cf423e75bb6dca3c33f0cec05e0219ffff03aa8a9c909fe4bc28d43316dfaaa6f301fd77d19aca2df33b734cea7af2be2af803f4b26e72d55b6fbbb05a9a529626eebf2f7256b2f50c1696a4f68115dc4d2b4f03cc6f24062f4e61991a560fa45141c0435cc9b3c0a988dba2e49b57d590a60d3503678d11c888f5fbeca28c3024c0e207e67dcd1d8cadd725de5270a4d04ed7639303a426658bc1f26338e3f5d6e5589aa8a3e3e5cf9e527501e6e07425029c28b114034644af39df434f929020cb35392450a0e19447214a47318b76e08a0a0c960f8c03ec5943e7a40aa56aa321aca785c9cf63673f9f02cc11899cc7953970ba9217fe03c8938416ac6e8661648c2946b7e287ec6a70ccf6d1048f73156f253cf926109c0334732c5d8d0719c0f88f5b4cf72a0680cde352316455db624006e107a0e2b385033764ff082cd5dd6ee1f79da6399ebee9eb787d4a45bac0fc92669a7d87d095b60322ea61431b3cbabf4ee7bfcb55caead525a730afeba4d286c483e4e96f681d8203e05eea6fb18a73aaebd773b0463a625ecff9397aae3d220e27ae56b2e694a2b1030b3b486725a803845be3d33ba96589859ede98acef2b32e29812e4b2d1a0ec69034546d7aedb03ffd2fa616b8d5122fa1eedaba6be1aac7ff750d3d9b10734accc05581e03ebed4d28ffaff6f9dcde30d94563bf4a46c7ab8d35983cc87ce7866a60040103dcefb7a9bcf6b2759d713db58f800b587dc738819f796b500d34210fdd0c59c701410205581e034fca63929f079970d7e10a9c9e448cbfab596a0a62a025ddfd72ef1d3004010376dfe63c96fe974853d79e7a2e584e29e3995b88b4ef21613c868daadcad58f303ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e032de770cf1f94aa36fd938501b4decc8f91d8541d9c49a6d607cf2cd40007011bffffffffffffffff05581e039b677e262eb8b3e755e3773c7b24117524824b2ad9e8ae8f92e631e6d0040105581e039b1f782c7d2a60303ae47bed9fe04ab48b7625e3b1cf3797b4dd508720040105581e03f7ae09909893150a360ca381add1dddd74664886ef040ce2f5dfeb90d00c03473dc097369618b005581e03d2e7d9dbe53beea25514a2a6d995e105c489c282ae2e5ee622bd5d0fb00c02470298d5ef4a799003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e031450eae382ea8fea79dfec0d35aff656f8f2a5ab5bde75727bc253cac007011bffffffffffffffff021927e7039cb22fda78a2dd154627f01516e266f245e4bb4b921c6b9b5c0ad77377344602036f20e1297c12e7d6ee2d84b2a04656ae24b074d4880a53197165a3b3a41fb5b503cac1e7046cc052c406164188eb39f13f0c7de78372f3bea06415da91e09ef9d7035016fd4e239fee3a09133f84a9c2216d926e5f17f363d92d1aa3df0cd7b07dbb033a033bea0bc6830158e2608fde4328397c48ab338ff4af1e20d44f3efea8711103e9841d51ce65c4c3b6091864b0ff5cd9caa2550497a1c7618ad654336c8627bd03152fcde5eef3ed948471941ed329da7cb406ea168f9f970f76bc56fe539bd66d0382a21de7a559285fa3ade151a86c9b3434b7600793012782407de5bf245b79d803aa0a54be1b6af5ca9cb67f7dc68513c20eec393b7b95ac432c641b0e0fe1fbe80345e0048d4f81d997df626b97f9a1ca90503dc4d70725f26cfb68d1f65016946803fbdb523403fa74b68554c0e79f180573b5c8b4a6401218b79fd4a6330fcbcec60366e76dd2955d2e3a3c790a75527cd657d5fe64349b03e9e69ca621bf9df418c1033ec9d4d8856b934eb4bc326d3c8228b107ad313e83b0a662a867323f0d2219a203b22ddb994940563627839eda3550265792f982c789cbcb8d6f1cbc2761de600f03d7d39e094e424363615d6121faaa71d742f7540d614d69ba37427fe3bb6c22590219ffff0353697564d6764c229383f1b3b755c530271843bd07c66e18012917c31752fd160300d0f21f8e488f0bfd460275ae9deccb2ebf3f747a8c232c2f1ea2dba373421003feaaa64320f1700405b05b53b42a76adb360aeff233ba8e69700f6ef6c1de69a03ef604ee0c9389062bd1554229dd2f2c47b0df2c038fe939e5c5783dc07196d110361e18c57d9a0fe73905193ec4b4f21a3ceb53d5a219f18a9af0e66b41903c53e034b2808536f99ee2d9e65af8768504854c2a61f667d524d156344d83c8137d26003db1cdf1e0083883ef058c5a61fcf90f310f3cdb524a31dedcf2345fb0a58143303e8389cf6ff0a2eafa6cb78f4a90685ca66c89c78f7c0eaeacaf8b677c84b670003d45501a77a4d4d07eccec3283df56b919b2d68f045a37592bf282d6f995e563503f5b7f5b9f234a619761e074c5074018b54167ce0dce0e26ca812908c5fcfe1a00344a55a234829bd85f33ac3c919c2e23c77c9e32154d5e17440f581e8e3b8d76a037d7f9962ca7e4c054e9ce6601b496a7d1c6cc6ae7bb79d1c98f94fc511b286430383a7128bd70db002659396951e230f92dc2004518c0aac225aa9e7067ab8354003353d81092a52f20aee0bf6248379e30a0c29eadbc155647f16e8427955e8adae0219ffff03572c3c8794a43556a8c65f5d70771edf86709bb7469d54eee6d4f62ef4114dea038704c401d998f8e242fbd269521654993f1da735945757b5a0f2d46ccc25bb1a038e6c0e881b2280eedce333e6ff77d5a00b2dfac9e3d917a358487e240e8b3e4a0219ffff03e624097012d60f16c89295304d34995dcf9f805f5370c2e6b2289ab94bf3388603e773006f3457ebf2d3cf4e13cf32743df1c4b10faf4664dba0a981b2472939a503db6f0ce1d90ec0eefd5a839c06f6775fdc637d13bacb69b530d83760b2dc763e03a3f0e1690059b88e0ac96eaa3f25fd604d648232c3fcf3721157c698746f0c5203cf9f314e2a5476056d4d4550e41aef6fb38e23b3198ba51acb78151b785af13b03b5068a49a179ff50a01cb4fcebe2aa219d92ee1f96caaa1c964d4e3e9fced6e9032a9f1d371beead6df0ba027b4ee9c5377eb5a5f7ed94e20ed0b6cf3ab6ef441603e5c7de72502cb8a41e566ad744cb10c18005be1b464fe1257a7cd4ff465da94c03c69afc23b13a26e82206a9951542cdba9677aefeb2b12ba2c060e9978b253cb4030a422e9781255a93725a4e7f27effdd03a6010afaa400485a758fd360fed4ad603ef4a7f287fb9d81d58879006e775ce744b89b1bfb5ea246265249e1e83e9d120038335494d51ef1c642104c33c02ee39de24f079ead846367dbcc9cb4414f561ff03980ee416b59bf0c8f1aafab2a2895b4cc32bfd2eef03a75fc4beab4247b7e2b003eb39a5d827ef8b5684ca2065ec5b1c592cc0eafc149f1fa0f5a4e51b92f40c23036326b2279f931dc647cd5f90df57a921a49f3e41ca1617b1008c88ea189e75ea038c87a5b841d29ecbb32f13939cf5002cce854082e718c0f1388df088eab722a1032778663f31beddacef322c4df02f3c284de002554d6bc19ab61d76c8c68b717903f4c73390eae15074f9fb8ffd85289b5dfb4512713dd5ac42819eaa4d1c0f8c6805581e03dcccd0aab85b2dff88d4e359eafb19fe280ee2d4cab626f760780e35e00c014701b15ab9daae0005581e0316259420d0a3a1382b4931bd0c471c941465151008e930cd790e5987c008480125a9e78465680005581e03f4d500d0252018586830ba110844fbb8d6f439ece56bb7be607550f400040105581e03536f15ae4b8bc8796c5be940836d07eb2cc9ac44af9f6f5f5d1fc947f00c084648cf20b6b15005581e03d1d8dda6f68bafc737ea259ef61a17bbc4a82eda821056791f26a3a120040105581e03d59c3758e9cc70e6f14aebe5f932d91cd36a7e6342ad77bb6725823500040303f17fdcc0ef7da728266f715404df53049e6d491b5b007e8f0891eab34f461be005581e034a83a99f89a182d6fb53eb548ffcf493a1ecad8290906206b7bbf506700c181d480487c5c066acc9d3037df2e59f2bd447bb2606e3b1643e76dcc1f8ef63289f49a6502d59f49596316b01410805581e03fe1f955994f1286b94629261a6b59dda2ffff7f9cc72b17235619450d00c024708c51d39e2fbbb0219da5f03dc6862bdbf6efa9efad759dc70b8606af58d23d968b7ad55119d456566b5591203a6b5565c7f292c9c78df817241583c24dc263c000391af28e0a85f02dd69a333033c96949ca825925812503e7a962eb1a66fa020a685bcd42e7bfa9c16f76059c70219ffff03e0bb017aeebfe970b8daa8b68465e06257296412e77454ccd98b6670a56f0f1b036780d1c359d5243e06496855c8731f4d9094d54d78f4cfe90cce12fec422e22103ba8079dffded5d888c3ca3472e81d9996bf642dc202acfbcb567e5a42cba8ed5039d3f24a1ca28f914bf2d421a9e4d09287403cf80dc9d0ff79b7f537ba46360d1034b7038388f99789c13ce94fe621b844d74825b9d16a73ab0b9a5578566be2d6c03435766929266ebe514355e2a1088f59471ab9f8ce0bb52cc1009ee9265dd45ae03001ab755b15d8283d8ff69b9357ea0f90f608c35be0927d602860c31a30c1a8b03df6c1d97bb99d0f439e5371e6c6dcdc4cd56c99f5243f491a2907ab0903b6c2c03c760b0a77520df56f1bc5e30738e3e799ca86b5018718b4aef56708c4acaf718035da0b5a28a001f5d852156c43a8d570928ac072f3368abaf037f2b0bc815382e0321d76cc0de94114c62d8a198355f90d64c9297572e950ec85f5384cf0e73eb630219ffff0367c4727d51cc54667ee4dfbf18c8e16040db53cb70e92bc69ba77836a62274b303501946a84c2b56d337f9c9c61458924235e0025f5e3206936ea13644976be783033ab9976ae296b7931583734f66343ab1d8b6b06355c1c57ff525f4eb7f72ec2403617ee0412acc1e12f1ef897ee2a69e622c3405d9533d34cb6b464e9637c238810388c638d38d72c1232268156fc57428ee5d4e9d1bc5fa5481e2d5d54a5c0d6ed3031893e771e76cf0ba6eed50e2f5a90be853cdab3ef088fdd9b2c20314b4e9458503c33991519b2382c2609e7bd48fda4f6a24f6ba284ba58e744407e9b31be9308f035d9128869271163307bd61422c4046d0dd1eeb994626ab6039023c6b1ebfc61f0321a83a00edbea970d8e9bb26bda4ae32e780d679534d2b15c7ff24ea646ee0090332ae9a1d4b7e10bc6bccb6e29195d0a645827481a532b5344d7c18c059afd60803c4dc05fa5198be1802c3ab3e6bb994270208411e5173cdc562f7b7b049e53b8803db9e5f5ded75de4511c44f85f6b219226728dce5fc54eafad9e1817c6cbd6039038986e07ca8136213e98ad6a556231aead19b1697473494e2100da53274c3d91703685ce05ca998c5ce6b34a0a4c5d48369109760facf96f35db3966913950bc2c40219ffff03b27560c797e878fbbabce262551bc45dedb1469c58450e18043e8f36f7ef63ea0219ffff0376e9a593388590fc8cb3319eabeb490494c021281314207b023268613c4fa1570310320de94bd4e80c811b03360619efbfb497d8e496fc4f5507566d3b70f5ac460219ffff037523070c4457dfbf05c0cdcd82c5650d047cc989edb78a3fbdea6417af59854503960b98ff1374d2110e46f1291eda47c4ed6514d79595dc3f988fd5c48ec1f55103bfcfcd2129625d95e98b551b05882cee1c4e711570ed66eeb7ac4d3e1009a2b503372e327977516e6ab65daef248416193ec275dee98ecdc5f1321532d9a190f5403cf39cbaa087e98ca7f563a376f9b98078c5c86b6e4edb3814c4298844c2406e903d3eea257bfb4ce24a61b65e26483703d018fc8cb455dbb20e498539b8d1bb5b303382e9b6d9578a97bf3387e4301fc5308f0181e0bdf206194b936c13e4a927c7103bc538da1106660734c384d5a1524979fc12ac0987a26e31e951ee900186b5edf036b85fcba3164edd74d5b381ea71f4a18d4d53fcaa1f52724977369709d89502d032a56d5bc04342e1affd1e24a9e99b54d3218e364553795a45394a1f3331d58d2032ed78d54a693effd02eb37122ca1ecb548453bbc73e02517e83377f20d9116480301b85c632593ed144e408a1531a6e12d764015c79973cb21d5502b0904843b1903ac431f229e6fbecd8dd185df18de127317db2ab7c68ec6d45ca38533fb2adac3036452fcb7aff614bff67f3a0558437c231944347e6a5883c7db16e46056353d450390e52a9bd59fc59eef85ec04f6480d4cbeb4e5e0b22b8c7358322cdd080eb30c036a252c73c81ccdfa8f362ab41552a92deca61b98522dc7911dd6995943579cfd038038f0565207430df596185966c34b524f551d1fc21df1e60518183910b7f14d035a238d282dd25842b1d8f62ad526924721538af5e0fb022ee0ef92aea85c38fc03b89e97927a73a34e761a0d950381d8263cfd8bd271af93058c5ecf68e54b379003393cf9a07661d6b5213bda70435c5d4f1af78f4b3cd7883f27babe39c25dadcb039babe4e84d950a65cc40f0c586ad83c98867c0fc405afc37b1e612f3747c03cc03e6660d7e33408d9fa4e8905e8f0f2c2687720554b64d77d56bba5101f2487531039b9263536c72b27915d94ec6d0571664fd8c5f73a9b3bbfaa860cddac2acf0f5032d000ffdc22202e3507b6e4b6b0ffe4a6ddc0980fac5ff637f3590bbd5adac5c031022fa55043c86b0e7f1c395ffbb2066a0829e244b42d9cd4c2a84f0e0b748fc03ead8f396ffd25b7319529438402b35448c7e22b6bb12bfc61df9cd3556cae67203ea604919fc41218c8332e6dcf317ea244941a5627f5f944cb8a366a2c11d6bfe03223e2fea4b6782567b7c3b84cadb1075efe3b8d6dcc2527740e71977ba393d3203ff2179aa7321e3908ebc150e98575f9fc5bf836357ccc5d66a868c2f32a8fab9032d74099388e42f38bf09b49d663b339819ef218e7e67c09ffe2c0135eb67ba42039d3703b071f28cf15fe6af417fe8c2fd3f85ba3927f1293171cdfd8b168693760360999fbe7df67b520ff2c1cdde9d04c3e108f960444df0bb85dc4e5c63576b5605581e0395d4e65d5e95b1ca0fa18d1a53d7d14aa3ca6edf30bfb78acae66611f00c0147023b28b680180005581e03a0f9c05617d8e3634b5726e3c22062d8c144d37972805ed8374ee3fca0040105581d02b8f992db1980b2b813c6860c61133125d9a5f5547043cc5da4ad64940c185447037d7b7f17848d05581d02f222066b4546ca122167efc584cc7c1df835e7a37110bf4f587c316d040202190a0003125a38d7f4c1b45e944df6bcede7ea854ca30e0ece5243442bdb565c2de8ad560605581e031a30f254555269bfba6a4ee610ce043cd9e00ccc4d98cdb655ec23fc7007011bffffffffffffffff03014c3ad468304a0049adcb6a667d19e22e615435a86f0bea721965ba358de7bd031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e0309697965ce7c97e24ffb2c23ba64c8cc1950b7ecb9dc2ced0d5b06c6e007011bffffffffffffffff05581e03e35bd46c6000fa028f61ab5cd0c3ec08d3cfacb8913a27ab37421715600c01474f0f55b85ed00005581e03553e6b88f5420f796dc148dc69d1f2136b97732e6dbc93ec3791245e30040105581e03a8b8f3461a6c462ecaedaa1e37ae4bc25f07b031e9b6ead4b3696dcf80040105581e03bc582b6134d659d37943a7fd7bf462af0bc822e5210a162143af797da0040505581e03e7d6f180d34c301ac7ad5d082dfbf0c4b06e9b823d2ef263f3b9637cb0040305581e0351083e48b92187d18bc8fbb65c2dc430e1621d637f2d0953ceb0e5740004010219afe70359029f61c0d25c206329a79cc6f4d2e8256af71eb63cf722b48d7247eef834650377d93407b5e0e6685ed4852ae31f7f009efb4fb291cb3b3b8bfa702bdc9d99440349ddefc7c8eef3a9f40029aea7b91820290ec7e0ba07b50bfb58034ff061631703a1dae8bb2586ef110c7f7865e48b5ef115c716c56b2e29961c8c4b66bdedf4f4034fe81bd65179ffcc1f0ac4a84f411531d56f746ccfd60681b94b8c1a1235a9cd0395e79da238bff8214e27df0c262f993c244645c9a570c75a6f4a24ea51ed054c03964a8833b09d988e779786f6c500be1e6fd104212a6afe694b6fc0e6bdb3880d03506de34680008f8ab54e0bf747827f5b6968dbb06fa6b47d4d3b4e6ae4ada34c03f7ffd62c5e120e73afec9b22e40c26ddb7ae22c546ec414ed417dcb35dead70d03cc8b6c15ce48001f561df9ae7c4c55e854068edb826e95ef69cbba83491235bc03c2015528c6fab3d216242a8f73428a91bf7a8aef38f1ef1920df8bf897eedaf303bfde1968a53176e7230a205114ca3804cd0252d5b6351739f13c41042e0c4fad032424585cbbaab457781b14399918eca099277bc7d787f35867f7e9f55a55a55503ce62958d0e8a785ca118d3e85956f48ca06da7788535d2a82d455a05534a21360219ffff03c8179f14914960a790c9312e08bd87ca8b72f5cbd93a1f37ed4193bc1139e2f003d8b0671bccc80be015085eceb8383a5254b9dc3956327be4841914f90e90dee3032be7ca6407295ed1102ab9c4be9c511465498a9568a447c6f7e6943a9f7f361403678c9619d6a1eb907628365869ae840d106d4985fff0db784e58982e703f99c803e7c01fd3c54d308d1ebe28b4b2640387ba9b3f6e1bc2f317a9f7a0ebd7c109160379ee7fdc6c8891ae4c75b071f7ce05b2f6cd87eb22ececa51d0b426f7e11f0ca03e2b9ea0dc5cae009d13bcdb651d1c44290e2de50aded8ca8e85d344d9b8f49890219ffff038b6716f6b55f422ae7d5b5f617902bdea302b01887e8c4732c8fabe02748ee5d03503b540dc7fdd55fd9418d498b8e5dc8f18ff933e2117c6e04f2e6abccccbe3703bec1accefe4ff011b6b9ff8c8aedf4627888b2eeab1923cad81e3e18ab12a21d0219ffff03202e5ff0bee2d66bedfacfa9297328ef5fba3d2a8aa3ace8d682518b5c4bc7a803a445244c131646cc0a8c764f210c4e82d914beaae12b8fbf64334acdfbb4b61b032bae7d85dd6856710c67edfc19727a7dd848cb89d8163b10f35d7bc54d1b25fc03f7e5e7bd3636cb083199c96ed3c9612a68983693049fb40d23f6658eee5380620325b01374f14e97062af1adc0c1b177d7b9a1b12f4bc5d204ef60620c1ac674660340bed8efa503a1b6f7f917166b2d04e9e31d4e533e90af74fa45466a81fb0150039c3ef060db2990603793518e1b258fd1937b349c36e670fc427c4e87c706e62b03bb851f01ec677c02e6a1da8f4d0b6f0fd1a9fa69616fd67266695015a006d4b203e6ac4e14d7ae84535ff125446615de55260cda0a93fc7ce753c714fff4fe188f03140b8c7e7939750069599985c03f297c717b84a441dbaa71cca9e0ba1c4dc35a03aa8f1d717d94afde612bd6e2af9c6d432468fa360b38049e8ef7abfaca1f568b03f5a1a391e2c2c4a7c18bfd9fe708e0367e76bb5e2065391afdfde3bf42a516df03fa51472a845a8ae5ebeb91a2d6bd79cc1a8e2dea3e81f132a84a9435d42506e503631283c64705ee401db4cf88746d046a15e86e18cba5cd325803ce403ec1bce103556854fe6da1759162c9046ac72b602b3ed28b0c2566ee39df28b65cc7068d8c0330096d3c037f3fa37096ef7dc76a5cd70e0ef112381f00d1432a19c4135894fd039cd7d84969ae12ab147e6d00bb2785eb66c33722932fa79fe4448dd41f803f0303be4b138bf99265ac3bfda24bf9c5cfa321b03e485ec5ae049a11099737d17ca80307a1f75238ddff6afc806289baf77c607720d0257799eb6872cda53aaab16fb203827f29d68de24275db7766d4dd86594109d47598d7edd83966f1ed197a6ad9610334bf02e88a724ba5f0145d319bde5d70c0e3cb6cf980594c612a149dbc8105b60307f173c2c6b91ce95790c6452bd9f011492c4d5cddc4710a679192ea1905ba7f0330791ae47d4086f26f934631a9335e88585e37957531d0253157879ed13cb757039066384ede3c2741a1a4dcbb9c94c7c2db80e34ac026e2bedb225d67162f84e603378cc6905ca543438c68013bc2c9f51d0dd34d84d5d02b117a971a60d88ee37f0378609985cba6522c1c6de9ce42b7b4bb207f218d0035bd876a475f4c1d3658e9031e5fc121ad10d05113d447aa686d0feae25d30c212af3eb581998d1128cf7da1038f7519e4aa82059c7cece92e0c116bbc2ceda61788b4ab0f29ab97c84cdbb9c003c9dca98176c8a454f06491378015cb397399ab1f47ad0184fd67dc71bda8ee5a038822b6d34dc83a0b286ac2095950d3420d9736082e1568bbf0f2bc8ca3159efd033e8c876f4c959d2b1399eaf804c6012ed8dd58c6e337b5855efd29cf38800a8a03915ecdae0710badbaf9027319f67adc6f8c47742bbb69450a1f8f1c60b8809cc0363185343b1d628bdc7c9a6cd6a7b47764a93b96fed19f9e251105c7c5480de130329700bc40588f1d860533c1f6f044234ff48e04aa07f9a01624b160db146c84f03dfcfac9995ea7ea3367a47af323742e22892e7b3bf47917582ac3e5d231f38e405581e039fe21f4c87bed94138d2b4f2c65ace56d5d8a9e0252ba21f7d91cca0a00c024648c27395000005581e03d9d25c9d67560edb4489abd5e4a885100350a715b035bfdab409c5fea00c02470d84e88b34a20003383eb1fbc5c462500bd14e8af2cf4d4e69296fe9dd52117a7b09b965bb80c6ba01410705581e037a3c4e1f7aad5dad9df4ac04f5179c65e36831f571360d859b85cd0ac0040105581e03bb33792f014941348ff64f58f8f49993d43ad54f455fef139c01280a80084703991f4953883805581e03b23bd7de4ace0c1ced110b040014f51926559800503da7ba93c30a40800c024701825bc5f7295805581e03e2accf81e386ddb296fd8e2f59dfedf90f4c5e22322cc84f129ac79ea00c07479a42a01a190b7d034f6e21a9e4f41d0857f6c3974c56bc9f4d11369986b57302cd955079373b2ff405581d02a940dcf8f947750412f9f5b585b627fe66f8b95006ef0210248f2f280c19af57491212ab23765152449b05581d0221fb1a35d56c73ca4c03d0e6759af79a0f36444354dc83791c6fb465040102198004037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03cc15540d84c28c91abb4b59175710ef906a70d9173f2182b4b1df3d64007011bffffffffffffffff02195b6e0219ffff038a16a3255a99b690f44b07301b197e8adcb4ad035ad0cde8413e2d9ff0ae2f6f03a4bcdadcc67e0252d176c01810ee40304db7594b74db08d9f625675cb3d2f2b603b713eb3eeced5c9e0bd1e3f3d99041d653d76ee6881dae44d91a84cd4edd956003f25063cd5cd7c7c1171c353d909f89ef133cbe8096a3fe07406370c50f2bb9bb039855d79ba588753ac69696262b27c57c6f722a750916e867551e6622d9523766032bcf03f01743f04834b9e14163b7f4c334aba308a5993999d3916de77b836db403bd36da77572a3b3203bdfa19df015cba35a90128b96c38fe2ef658943c578c6403e56f53ebeffd4cd452431e8fbeab5140c0390d9b7fe1bb2ecc89ce5e47b059ef0375742839b1ecffe013ae4b209ea1b6692211d841fdda3e185965b2c0d39750f003189f3edd4bb6be3872a4c4327da898061f242d5377e00b6f8078e46aeb6e638e0219ffff0219ffff03803e4a0ae11b4bf437c14729069418415a8a67cd2be596a4775a370ff1c795a703565eb280ffa3d0fd3fd269110e061e17212700afb49ea6ca02b79ca1f273808303ef07aa9d2b116d4b1fab81d180f48a4eee53ea8bca4c531e2f2dd3fc7f81b3480301896ea376263bd799ed5fcf8568a9b9a31f5b8c703ff9237eb8eb2718d8569103c8b79f776b94917cfd5702396ebf88c4dbbc6551fa4fe9094255d548416a5cd90219ffff03a179dfe4df8cf5bac39ea8c6eede0ccd17f50445c3d664ae0d1653f71a5c27d9036b29386499ec459c118358f31555ec391128255084774e1b974827f314751af3032970e2af80e852528f805ad6c192d7c728e2820fd33089bcaad69f0c430eb3da03ce7d3533b1805ccccd0ada569bbf8df662816d5b14e27b0823ff91ceb461b048037f50e41d877a76353307954735d9817dd3a2d6eca5a68857737a8dc135cd068403efdf1a4ed5f14cccdf7fed294bbe59a5162da94c44fa3ad4ab3918aa0c7859b403e6033ccc7c1b5b4e2ff17268d5eb40bb77f440867a574bd3bc7fc44bc17907eb03b2ee1613d9604b9704cd96b294eebe63e8053fa49e46266b1735bc84da52256903e2c1b2c3af8c09e802d2524ddf7221fc67f471969bbe0444d3221c05736eb836039a1736d761ed7f4139163cf6299071d4d4e5c71bb058fa42c6b5226a7de115530321c6331ea0249d9dad5e2d75276b3cd054eaf253a0d0202b5f47dc4b0c24e194033894e9d74fd872477deae20b4e875f7ba98dc9c89427bae530e9bef0c30699e0032ded35b36c28784e51df873a6904d985af2f11286e6a64c39b12bccc62877fab032bfc13c1a95648b5c97eabbca71b967b6701fddff0c1397f11526d50e0965224038a62dec46d5f867dc1e7aba3f431f994679f9508af65b7c99d51368ee7a8bb2b033f6248d00bef51ddf5c66921f93151a7bcd7d4a6003aff05e01d4e791a57939403ec657d2bdd9b727059162d2fb12d969643fca29d3ae6b67213f1042135b439df03e0cf9d3e741124fc0c0842f6f73e9576f82b0fd6973b625bd2772c7b89f307ac03b2df4dc1bb60f9462b85f3a598f9bdfd2fdde5088c07fa67fc77f4941897a5e803fba6e299494734aafa026c13073aa146b4b2333b5eac051eeccee06dea58b2a103acd1f758eefac1845ffa7dada034c075196c101d28a5684d1c792d7bebd1a1a70348c21c471ee10917f74eb0985f472c4b13d623eb3aba55ac57e20edc32b7de7603de1718c748d618ca5b3dbb01a9599c18ef156370986bc442f9a7c07dbcb1c26e03e1d2a0464dca80452a8df227e1efc697274ecab634602959efe542dd34ea5f4203508fe44cfd3f808798b260f5fd77e0838919f540cd2faabe836956f500e051f9032649255b8bb09ebbafcee190b7974b9fb00bcd57922c582e636b39ac88f633140325b6535dac5f7c102bb14b2e15a48e667fde6d2786d07b96b13252853481ba17031fd07709d4f328203cbfb4a219e9e3b527719f7b6d15ec32c046b84cf0d5fe3e0329fc1c3b985a3985f2dcb09f1c3a668d8fc7316696a4eea2090c93e6367ee807014200f005581e03ae9669f09a3ea52287ac7634543d45cfff396c58923c0ad775d70e5d30040303f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e0301ec522a4026b01dabe8d0437a311241fec73e70467968d8c17d28f8d007011bffffffffffffffff036103715036faffad8cd2e3d1aa94e058e3f4ab1c9b2d885c62468dcc4a80624605581d02707f0bb7dd7b0b6eab56a89d3d93b2ce51287c639cc0f949238eaf800848db291b288fc52af103f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581d024625fb078356b4568e66087adc3f6874c962375048ac62c37c912f6007011bffffffffffffffff02190a0005581e03f9964a976ce92968ee0de31a76e4ed4232a37da054b7ea7b0e1b7b01400c01410105581e0325214c6d7ff99a94922bf961ef70e0ef7732f5e2297608c45756fca67004010219e6b403d72d98b5df84fd15009a90c6ad10004db805d513bf00db3001a62d2992a3910103e3c52cbb73b5de87875520f104eedb2dfa0d22eedabc89ffe887f03e7ab9de15038b3a450067983a79ca687b47f55c6cde04cb3d579c14896d7f6671db4aabf3d903aa8720a00950535698db4657f1f68aef73ef5afdda302b94e18e2134db83e061030dcfdfbbfe12c1e74fd6cd25160c375e31a75e0c2d05bd77b3365e5db5c395de030b12106a2a58331d73d4add7da2abf192af48749ea90d477727df5a677e738c003aac039ca3f49cf158b63679a695952c447084ad967ad3095e9b2a4768cb1afce039a5839a7520486c62f5ff35c8f6314a3c7b1610ab92256303f40c1a9c45548d5039a70d53646d667a889e5ed735c1e6126efa4e12d57b7bb862cd50c61b466d2d8037f0a52ef361b04dc0c18ee73d500b5b7d4bef1fde45a931b234c640379f9413a036fc8d35e10be7f3581782f9d8a385b404286f90b221acff13773bf4180ea9a190219ffff0219ffff03f6c1c54b558e946807fe2d791429bb4b379ed5a40cf15ae1a8992d94b98e261503e60c3786c72deb8ec54336ccb29f4aa8bd7dc6a6074dbc1e49baf921b8de6f00037392476af2c49791c93e6541aa82d038c58f7b12840c748f6628063404b46dc503e339f3235984d155600bd477e70d314f17a233f0a45683fb4f340c14788d929b03a3c45c53f4ce0c122e786d140faccc5007b1caf3494607ce66d3a0db5948248d035845968dde84de45a8ccda4a463ad709a1c5f1b83c8cde90e0570c6528c0bc620354dccc811524afe368d33766d3d29b43030114e87d2ea2e3fac01238cfa84c4d03d1d2d7b692ca9d93832fb3662b2b61ec408e59a5d31d7dffb31e27497f0969d1031dd0f6ad1feeaa8794d33aebb75219f3add46f00b55ad80c34f0b7b28a1fe46703cee1d63dbdb12d3cce16d95a5edd13b687e8d893549ef8924628cfd40f373fbc03ef22882225dd1415ea92c2860d0326b226e4e1be38347fd8f93262cf81562d050316a60f2be3be7eefa0e63b522921e2ad3bbf90ec1527785033efd89d878f731c037f382662cadec4b18dc56f9632e01734fea8bf7cee15adf6bb64be2fa43b7fff03e1a81eb846a28297cbb472b30d1fa5964569a9f9093ab358e9871c4ba47618c303d34c26350f69a9d996594acf59a3ac71e702f7daff351a27dc67a1610270613a0219ffff038e1c5417e747ce34e1340ee5f57d7250a214c100e442ab6981e5d3fde943912103c7bb29f5e5736b7a99491b244beeeda7c49d96329aa99fdda984919b93eeb55c0312054263a83c2172a0c78fa154e53654a313e3669b264b8d05a13396e91075120331b370fb7369398a27d60a6da541922d109acc2dc9733d6fe1e543775d5e3d9103d2b9372d7a100eb47bba5c6ec744555b4505a69422e5e2e153ee1175f3622f7003e4d9713eae8107a963ee7eed65ed97047295a3d0683dcd9881398aa3260ab19b0356f4162b295636c2652f98a4c7279d3672eec9458144e68d0a782c66a4ce0b460325bd4a6f63a5c6a19bf419655cca0d8815da3ae77667b20e5eeeb274987451800219ffff03513b407e1e7236a6f9c775e6e173952fa0bd756eb855cb906f18f093410065ff03e0244ebeef542362c6aa404d1e8a7ba304830926d6cf83300b223d784ca8d1f10306d5d4acdcbf9a39203feb18703060ae0ae1fcbb7b6078987b1b7a3141bfeab0036573ca98a8455e239fcc599cebf0aa19c6a60cf7b558a1cd6a450f25b1f8b7e503da4efeedbd271d3e8630e53eef5c72188e52a232cf42aa66e3ba331b9deeab9303a5374f10d00f474506dca81e857f7623f6c80cefc725769d20b496c734794cf4038e516db61b44fdc22e942c458634c01b0bde51acdd5a95a51a56c436a696385f03bbb568f283a78b34ca6aba9d5fd595283cfbfbbbac3843cdf7df594696d2b36103606a414c7ddd92efae8cbc039c198c38aa2b79547d02cb579949ab4c2fb9497803afe6eb5e72fb798a79b9424285492d2362b0ff849875c78adc7d56d0b32ac10f0313b103dd94665daf33687d3f209d9a37569daeaa902f2b1abac48307aa964eee03f2c0d1211336222abcc43e58fe4894a810e0a1bfe27cde6036e7c31a1dd318aa039321e65feac3680244e3acdd2ee5ed77b7d97386e2433b91385b08f0cd19915d0395b0e837e9e38001b32b9ca7db2be6a6eb54d1a649519d594bccc9cc5a47ef760321ca3382100b8d07225b1f7e719302ea05b2034a748ee4db0cfe13ca4791abb20321c4f700e649508e93ba9f92746bc7240ea70b9e4117ffbf6c2452e8bc82581205581e032a4dce262dc0b77face5d64436531b1499d096cd7cea34791b1e6e4c80040d05581e03b0680f9c5a7652dae61190e7ad30f280db11a61cf044f999fa4ce5c1700c0246dae5ab8d7b3003df614cf25b1f51a4d5d56218d66dfa4a810654db7b27d46a723291578e43a68f05581d02d5afbf42b818c48c21dd95f76008e6e196004ed69a6e6536908a08f80c0247021a22bc2d267004595d9e608060405234801561001057600080fd5b50600436106102745760003560e01c80636aabc35011610151578063b553ee84116100c3578063cfc5901d11610087578063cfc5901d14610641578063de574efc14610654578063e03c863214610667578063f2fde38b14610687578063fa7803e61461069a578063fe2ba848146106ad57600080fd5b8063b553ee84146105f7578063b6da898f14610600578063c8525c3e14610613578063c94b584714610626578063c97a59191461062e57600080fd5b80638c669739116101155780638c6697391461052a5780638da5cb5b146105325780639168ae72146105455780639efbea23146105c8578063a56ba93b146105db578063aca9a518146105e457600080fd5b80636aabc350146104c95780636c8b052a146104f257806371129559146104fb5780637acb7757146105045780638821b2ae1461051757600080fd5b806330b26075116101ea578063461a4478116101ae578063461a44781461043957806349cd30041461044c5780634d26732d1461045f57806351ed6a30146104675780636177fd181461047a5780636a368561146104b657600080fd5b806330b26075146103fa57806337d1fbdd146104025780633ccfd60b1461041557806340d9224b1461041d57806345e38b641461043057600080fd5b80632aa234f61161023c5780632aa234f61461036e5780632b7ac3f3146103815780632e17de78146103945780632f06d1b0146103a75780632f30cabd146103ba578063300a7161146103da57600080fd5b80630e456acf14610279578063107035a4146102f05780632052465e146103075780632906040e14610339578063299ca47814610343575b600080fd5b607754607854607954607a54607b546102ac9460ff8116946001600160a01b036101009092048216949082169391169186565b6040805196151587526001600160a01b0395861660208801529385169386019390935292166060840152608083019190915260a082015260c0015b60405180910390f35b6102f960715481565b6040519081526020016102e7565b61031a610315366004613bad565b6106c0565b604080516001600160a01b0390931683526020830191909152016102e7565b6103416106f8565b005b600054610356906001600160a01b031681565b6040516001600160a01b0390911681526020016102e7565b61035661037c366004613bad565b6109a8565b600554610356906001600160a01b031681565b6103416103a2366004613bad565b6109d2565b6103566103b5366004613bd7565b610b52565b6102f96103c8366004613c31565b60756020526000908152604090205481565b6102f96103e8366004613c31565b60396020526000908152604090205481565b6103416111cc565b610356610410366004613bad565b611518565b610341611528565b600454610356906001600160a01b031681565b6102f960015481565b610356610447366004613d0a565b611618565b61034161045a366004613da7565b611699565b6002546102f9565b600354610356906001600160a01b031681565b6104a6610488366004613c31565b6001600160a01b031660009081526073602052604090205460ff1690565b60405190151581526020016102e7565b6103416104c4366004613e61565b6118c6565b6103566104d7366004613c31565b6074602052600090815260409020546001600160a01b031681565b6102f960725481565b6102f960025481565b610341610512366004613ea3565b6119c0565b610341610525366004613bad565b611dac565b610341611f3a565b603854610356906001600160a01b031681565b610592610553366004613c31565b6073602052600090815260409020805460018201546002830154600384015460049094015460ff90931693919290916001600160a01b03908116911685565b6040805195151586526020860194909452928401919091526001600160a01b03908116606084015216608082015260a0016102e7565b6103416105d6366004613e61565b611f7d565b6102f960705481565b6103416105f2366004613e61565b612159565b6102f9606f5481565b61034161060e366004613ed3565b612335565b610341610621366004613e61565b6126f6565b6102f96127ea565b61034161063c366004613ef5565b61286f565b61034161064f366004614003565b612c57565b610341610662366004614053565b612da3565b6102f9610675366004613c31565b603b6020526000908152604090205481565b610341610695366004613c31565b6131f0565b6103416106a836600461410c565b613288565b6103416106bb366004613c31565b6134ca565b607681815481106106d057600080fd5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b336000908152607460205260409020546001600160a01b03166107365760405162461bcd60e51b815260040161072d9061413a565b60405180910390fd5b607154606f54106107815760405162461bcd60e51b81526020600482015260156024820152742737aab73932b9b7b63b32b220b9b9b2b93a34b7b760591b604482015260640161072d565b6000607254116107be5760405162461bcd60e51b81526020600482015260086024820152672737a9ba30b5b2b960c11b604482015260640161072d565b6000606f5460016107cf9190614175565b60048054604051638286227560e01b81529293506001600160a01b0316916382862275916108039185910190815260200190565b60206040518083038186803b15801561081b57600080fd5b505afa15801561082f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610853919061418d565b42101561089b5760405162461bcd60e51b81526020600482015260166024820152754368616c6c656e6765506572696f6450656e64696e6760501b604482015260640161072d565b6070546004805460405163030b947760e41b81529182018490526001600160a01b0316906330b947709060240160206040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610918919061418d565b146109555760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a5914185c995b9d609a1b604482015260640161072d565b606f8054906000610965836141a6565b9091555050606f5460708190556040519081527f453430d123684340024ae0a229704bdab39c93dc48bb5a0b4bc83142d95d48ef9060200160405180910390a150565b603a81815481106109b857600080fd5b6000918252602090912001546001600160a01b0316905081565b6109db3361361b565b33600090815260736020526040902060705460028201541115610a405760405162461bcd60e51b815260206004820152601c60248201527f5374616b65644f6e556e636f6e6669726d6564417373657274696f6e00000000604482015260640161072d565b6002548160010154610a5291906141c1565b821115610a955760405162461bcd60e51b8152602060048201526011602482015270496e73756666696369656e745374616b6560781b604482015260640161072d565b81816001016000828254610aa991906141c1565b909155505060035460405163a9059cbb60e01b8152336004820152602481018490526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b158015610afa57600080fd5b505af1158015610b0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3291906141d8565b610b4e5760405162461bcd60e51b815260040161072d906141fa565b5050565b336000908152607460205260408120546001600160a01b0316610b875760405162461bcd60e51b815260040161072d9061413a565b81356020830135808210610bca5760405162461bcd60e51b815260206004820152600a6024820152692bb937b733a7b93232b960b11b604482015260640161072d565b607154811115610c125760405162461bcd60e51b81526020600482015260136024820152722ab7383937b837b9b2b220b9b9b2b93a34b7b760691b604482015260640161072d565b8160705410610c635760405162461bcd60e51b815260206004820152601860248201527f417373657274696f6e416c72656164795265736f6c7665640000000000000000604482015260640161072d565b6004805460405163030b947760e41b81529182018490526000916001600160a01b03909116906330b947709060240160206040518083038186803b158015610caa57600080fd5b505afa158015610cbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce2919061418d565b6004805460405163030b947760e41b81529293506001600160a01b0316916330b9477091610d169186910190815260200190565b60206040518083038186803b158015610d2e57600080fd5b505afa158015610d42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d66919061418d565b8114610da65760405162461bcd60e51b815260206004820152600f60248201526e111a5999995c995b9d14185c995b9d608a1b604482015260640161072d565b6000610db56020880188613c31565b90506000610dc96040890160208a01613c31565b9050806001600160a01b0316826001600160a01b03161415610e3b5760405162461bcd60e51b815260206004820152602560248201527f646566656e64657220616e64206368616c6c656e6765206d757374206e6f7420604482015264195c5d585b60da1b606482015260840161072d565b6001600160a01b038083166000908152607460205260408082205484841683529120549082169116610e6c8261366f565b610e758161366f565b6000604051610e8390613b5a565b604051809103906000f080158015610e9f573d6000803e3d6000fd5b506001600160a01b038084166000908152607360209081526040808320600490810180548688166001600160a01b031991821681179092558a871686528386209092018054831682179055825160c0810184529485529284018390528a8516848301819052948a1660608501819052608085018f905260a09094018d905260778054610100949094026001600160a81b031990941693909317909255607880548316909417909355607980549091169091179055607a8a9055607b8990555190915081907fd0ebe74b4f7d89a9b0fdc9d95f887a7b925c6c7300b5c4b2c3304d97925840fa90610fa4908b9084909182526001600160a01b0316602082015260400190565b60405180910390a160048054604051632b27e93b60e01b81529182018990526000916001600160a01b0390911690632b27e93b9060240160206040518083038186803b158015610ff357600080fd5b505afa158015611007573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102b919061418d565b60048054604051632a411f3360e11b81529182018b90529192506000916001600160a01b0316906354823e669060240160206040518083038186803b15801561107357600080fd5b505afa158015611087573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ab919061418d565b60048054604051632a411f3360e11b81529182018e90529192506000916001600160a01b0316906354823e669060240160206040518083038186803b1580156110f357600080fd5b505afa158015611107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061112b919061418d565b60055460405163abf4801360e01b81526001600160a01b038c811660048301528b8116602483015291821660448201523060648201526084810186905260a4810185905260c4810183905291925086169063abf480139060e401600060405180830381600087803b15801561119f57600080fd5b505af11580156111b3573d6000803e3d6000fd5b50959e5050505050505050505050505050505b92915050565b336000908152607460205260409020546001600160a01b03166112015760405162461bcd60e51b815260040161072d9061413a565b607154606f541061124c5760405162461bcd60e51b81526020600482015260156024820152742737aab73932b9b7b63b32b220b9b9b2b93a34b7b760591b604482015260640161072d565b6000606f54600161125d9190614175565b6070546004805460405163030b947760e41b815291820184905292935090916001600160a01b0316906330b947709060240160206040518083038186803b1580156112a757600080fd5b505afa1580156112bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112df919061418d565b14156114685760048054604051638286227560e01b81529182018390526001600160a01b03169063828622759060240160206040518083038186803b15801561132757600080fd5b505afa15801561133b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135f919061418d565b4210156113a75760405162461bcd60e51b81526020600482015260166024820152754368616c6c656e6765506572696f6450656e64696e6760501b604482015260640161072d565b6113b0816136d6565b6004805460405163366b2b6960e01b81529182018490526001600160a01b03169063366b2b699060240160206040518083038186803b1580156113f257600080fd5b505afa158015611406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142a919061418d565b146114685760405162461bcd60e51b815260206004820152600e60248201526d14dd185ad95c9cd41c995cd95b9d60921b604482015260640161072d565b606f8054906000611478836141a6565b91905055507f5b24ab8ceb442373727ac5c559a027521cb52db451c74710ebed9faa5fe15a7c606f546040516114b091815260200190565b60405180910390a160048054606f5460405163d8a4e5af60e01b8152928301526001600160a01b03169063d8a4e5af90602401600060405180830381600087803b1580156114fd57600080fd5b505af1158015611511573d6000803e3d6000fd5b5050505050565b603c81815481106109b857600080fd5b336000908152607460205260409020546001600160a01b031661155d5760405162461bcd60e51b815260040161072d9061413a565b336000818152607560205260408082208054929055600354905163a9059cbb60e01b815260048101939093526024830182905290916001600160a01b039091169063a9059cbb90604401602060405180830381600087803b1580156115c157600080fd5b505af11580156115d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f991906141d8565b6116155760405162461bcd60e51b815260040161072d906141fa565b50565b6000805460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061164990859060040161429f565b60206040518083038186803b15801561166157600080fd5b505afa158015611675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c691906142b2565b336000908152607460205260409020546001600160a01b03166116ce5760405162461bcd60e51b815260040161072d9061413a565b6116fb6040518060400160405280600c81526020016b212b26afa937b6363ab832b960a11b815250611618565b6001600160a01b0316336001600160a01b0316146117795760405162461bcd60e51b815260206004820152603560248201527f6d73672e73656e646572206973206e6f7420726f6c6c75702070726f706f73656044820152740e45840c6c2dc4ee840c2e0e0cadcc840c4c2e8c6d605b1b606482015260840161072d565b6117838787612335565b60006117ba6040518060400160405280601481526020017329ba30ba32a1b7b6b6b4ba36b2b73a21b430b4b760611b815250611618565b90506000816001600160a01b031687878787876040516024016117e19594939291906142cf565b60408051601f198184030181529181526020820180516001600160e01b0316632169f79f60e01b17905251611816919061433f565b6000604051808303816000865af19150503d8060008114611853576040519150601f19603f3d011682016040523d82523d6000602084013e611858565b606091505b50509050806118bb5760405162461bcd60e51b815260206004820152602960248201527f73636320617070656e64207374617465206261746368206661696c65642c2072604482015268195d995c9d08185b1b60ba1b606482015260840161072d565b505050505050505050565b6038546001600160a01b031633146118f05760405162461bcd60e51b815260040161072d9061435b565b603a5460005b828110156119ba576119088183614175565b6039600086868581811061191e5761191e614231565b90506020020160208101906119339190613c31565b6001600160a01b03168152602081019190915260400160002055603a84848381811061196157611961614231565b90506020020160208101906119769190613c31565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b03909216919091179055806119b2816141a6565b9150506118f6565b50505050565b33600081815260396020526040902054603a805483929081106119e5576119e5614231565b6000918252602090912001546001600160a01b031614611a475760405162461bcd60e51b815260206004820152601760248201527f4e4f545f494e5f5354414b45525f57484954454c495354000000000000000000604482015260640161072d565b6001600160a01b0382166000818152603b6020526040902054603c8054859392908110611a7657611a76614231565b6000918252602090912001546001600160a01b031614611ad85760405162461bcd60e51b815260206004820152601960248201527f4e4f545f494e5f4f50455241544f525f57484954454c49535400000000000000604482015260640161072d565b6003546040516323b872dd60e01b8152336004820152306024820152604481018690526001600160a01b03909116906323b872dd90606401602060405180830381600087803b158015611b2a57600080fd5b505af1158015611b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b6291906141d8565b611b7e5760405162461bcd60e51b815260040161072d906141fa565b3360009081526073602052604090205460ff1615611c3e57336000908152607360205260409020600301546001600160a01b03848116911614611c115760405162461bcd60e51b815260206004820152602560248201527f7374616b6572203d3e206f70657261746f72206d617070696e67206e6f7420756044820152646e6971756560d81b606482015260840161072d565b3360009081526073602052604081206001018054869290611c33908490614175565b909155506119ba9050565b6001600160a01b038381166000908152607460205260409020541615611c9d5760405162461bcd60e51b81526020600482015260146024820152731bdc195c985d1bdc881a5cc81bd8d8dd5c1a595960621b604482015260640161072d565b600254841015611ce35760405162461bcd60e51b8152602060048201526011602482015270496e73756666696369656e745374616b6560781b604482015260640161072d565b6040805160a0810182526001808252602080830188815260008486018181526001600160a01b03808b16606088018181526080890185815233808752607389528b87209a518b5490151560ff19909116178b559651988a01989098559251600289015591516003880180549183166001600160a01b03199283161790559551600490970180549790911696861696909617909555938452607490915292822080549091169092179091556072805491611d9b836141a6565b91905055506119ba336070546137ca565b336000908152607460205260409020546001600160a01b0316611de15760405162461bcd60e51b815260040161072d9061413a565b336000908152607460209081526040808320546001600160a01b03168084526073909252909120600281015483111580611e1c575060715483115b15611e5f5760405162461bcd60e51b8152602060048201526013602482015272417373657274696f6e4f75744f6652616e676560681b604482015260640161072d565b6004805460405163030b947760e41b81529182018590526001600160a01b0316906330b947709060240160206040518083038186803b158015611ea157600080fd5b505afa158015611eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed9919061418d565b816002015414611f2b5760405162461bcd60e51b815260206004820152601760248201527f506172656e74417373657274696f6e556e7374616b6564000000000000000000604482015260640161072d565b611f3582846137ca565b505050565b336000908152607460205260409020546001600160a01b0316611f6f5760405162461bcd60e51b815260040161072d9061413a565b611f7b60766000613b67565b565b6038546001600160a01b03163314611fa75760405162461bcd60e51b815260040161072d9061435b565b60005b81811015611f35576000603b6000858585818110611fca57611fca614231565b9050602002016020810190611fdf9190613c31565b6001600160a01b03166001600160a01b0316815260200190815260200160002054905080603b6000603c6001603c8054905061201b91906141c1565b8154811061202b5761202b614231565b60009182526020808320909101546001600160a01b03168352820192909252604001902055603c8054612060906001906141c1565b8154811061207057612070614231565b600091825260209091200154603c80546001600160a01b03909216918390811061209c5761209c614231565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550603c8054806120db576120db614390565b600082815260208120820160001990810180546001600160a01b0319169055909101909155603b9085858581811061211557612115614231565b905060200201602081019061212a9190613c31565b6001600160a01b0316815260208101919091526040016000908120555080612151816141a6565b915050611faa565b6038546001600160a01b031633146121835760405162461bcd60e51b815260040161072d9061435b565b60005b81811015611f35576000603960008585858181106121a6576121a6614231565b90506020020160208101906121bb9190613c31565b6001600160a01b03166001600160a01b031681526020019081526020016000205490508060396000603a6001603a805490506121f791906141c1565b8154811061220757612207614231565b60009182526020808320909101546001600160a01b03168352820192909252604001902055603a805461223c906001906141c1565b8154811061224c5761224c614231565b600091825260209091200154603a80546001600160a01b03909216918390811061227857612278614231565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550603a8054806122b7576122b7614390565b600082815260208120820160001990810180546001600160a01b03191690559091019091556039908585858181106122f1576122f1614231565b90506020020160208101906123069190613c31565b6001600160a01b031681526020810191909152604001600090812055508061232d816141a6565b915050612186565b336000908152607460205260409020546001600160a01b031661236a5760405162461bcd60e51b815260040161072d9061413a565b336000908152607460209081526040808320546001600160a01b039081168085526073909352922060040154909116156124005760405162461bcd60e51b815260206004820152603160248201527f63616e206e6f742063726561746520617373657274696f6e207768656e207374604482015270616b657220696e206368616c6c656e676560781b606482015260840161072d565b6001600160a01b038181166000908152607360205260409081902060020154600154600480549351634e04886d60e01b8152908101839052919390921690634e04886d9060240160206040518083038186803b15801561245f57600080fd5b505afa158015612473573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612497919061418d565b6124a190436141c1565b10156124ef5760405162461bcd60e51b815260206004820152601f60248201527f4d696e696d756d417373657274696f6e506572696f644e6f7450617373656400604482015260640161072d565b60048054604051632b27e93b60e01b81529182018390526001600160a01b031690632b27e93b9060240160206040518083038186803b15801561253157600080fd5b505afa158015612545573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612569919061418d565b83116125a85760405162461bcd60e51b815260206004820152600e60248201526d22b6b83a3ca0b9b9b2b93a34b7b760911b604482015260640161072d565b607180549060006125b8836141a6565b9091555050607154604080519182523360208301528101859052606081018490527f5c610f28399ecc14b66149012a0197a5e3257a8c397125afee95d1cf4b9507349060800160405180910390a16004546071546001600160a01b039091169063422815849086868561262961388f565b6040516001600160e01b031960e088901b1681526004810195909552602485019390935260448401919091526064830152608482015260a401600060405180830381600087803b15801561267c57600080fd5b505af1158015612690573d6000803e3d6000fd5b505050506126a0826071546137ca565b606f80549060006126b0836141a6565b9091555050606f5460708190556040519081527f453430d123684340024ae0a229704bdab39c93dc48bb5a0b4bc83142d95d48ef9060200160405180910390a150505050565b6038546001600160a01b031633146127205760405162461bcd60e51b815260040161072d9061435b565b603c5460005b828110156119ba576127388183614175565b603b600086868581811061274e5761274e614231565b90506020020160208101906127639190613c31565b6001600160a01b03168152602081019190915260400160002055603c84848381811061279157612791614231565b90506020020160208101906127a69190613c31565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b03909216919091179055806127e2816141a6565b915050612726565b60048054607054604051632b27e93b60e01b8152928301526000916001600160a01b0390911690632b27e93b9060240160206040518083038186803b15801561283257600080fd5b505afa158015612846573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061286a919061418d565b905090565b600054600160a81b900460ff161580801561289757506000546001600160a01b90910460ff16105b806128b85750303b1580156128b85750600054600160a01b900460ff166001145b61291b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161072d565b6000805460ff60a01b1916600160a01b1790558015612948576000805460ff60a81b1916600160a81b1790555b6001600160a01b038d16158061296557506001600160a01b038c16155b156129a05760405162461bcd60e51b815260206004820152600b60248201526a5a65726f4164647265737360a81b604482015260640161072d565b8c603860006101000a8154816001600160a01b0302191690836001600160a01b031602179055508a600360006101000a8154816001600160a01b0302191690836001600160a01b031602179055508b600560006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060006001600160a01b031660008054906101000a90046001600160a01b03166001600160a01b031614612a815760405162461bcd60e51b81526020600482015260146024820152731499591d5b99185b9d125b9a5d1a585b1a5e995960621b604482015260640161072d565b600080546001600160a01b0319166001600160a01b038c8116919091179091556004541615612ae95760405162461bcd60e51b81526020600482015260146024820152731499591d5b99185b9d125b9a5d1a585b1a5e995960621b604482015260640161072d565b600480546001600160a01b0319166001600160a01b038b16908117825560018a905560028990556040516303b31b8360e11b8152309281019290925290630766370690602401600060405180830381600087803b158015612b4957600080fd5b505af1158015612b5d573d6000803e3d6000fd5b50506000606f819055607081905560718190556004805460405163108a056160e21b8152918201839052602482018b90526044820183905260648201929092524360848201526001600160a01b0390911692506342281584915060a401600060405180830381600087803b158015612bd457600080fd5b505af1158015612be8573d6000803e3d6000fd5b50505050612bf685856118c6565b612c0083836126f6565b8015612c48576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050505050565b6038546001600160a01b03163314612c815760405162461bcd60e51b815260040161072d9061435b565b6000612cb86040518060400160405280601481526020017329ba30ba32a1b7b6b6b4ba36b2b73a21b430b4b760611b815250611618565b90506000816001600160a01b0316858585604051602401612cdb939291906143a6565b60408051601f198184030181529181526020820180516001600160e01b03166305f9daf960e11b17905251612d10919061433f565b6000604051808303816000865af19150503d8060008114612d4d576040519150601f19603f3d011682016040523d82523d6000602084013e612d52565b606091505b50509050806115115760405162461bcd60e51b815260206004820152601b60248201527f63616c6c20726f6c6c4261636b4c32436861696e206661696c65640000000000604482015260640161072d565b6038546001600160a01b03163314612dcd5760405162461bcd60e51b815260040161072d9061435b565b6000612e046040518060400160405280601481526020017329ba30ba32a1b7b6b6b4ba36b2b73a21b430b4b760611b815250611618565b60408051600481526024810182526020810180516001600160e01b0316633958777760e21b17905290519192506000916001600160a01b03841691612e489161433f565b6000604051808303816000865af19150503d8060008114612e85576040519150601f19603f3d011682016040523d82523d6000602084013e612e8a565b606091505b50915050600081612e9a906143c5565b8451909150612ea990826141c1565b600114612f045760405162461bcd60e51b8152602060048201526024808201527f64656c657465206261746368207769746820676170206973206e6f7420616c6c6044820152631bddd95960e21b606482015260840161072d565b6000836001600160a01b031685604051602401612f2191906143ec565b60408051601f198184030181529181526020820180516001600160e01b0316632da6c87160e11b17905251612f56919061433f565b6000604051808303816000865af19150503d8060008114612f93576040519150601f19603f3d011682016040523d82523d6000602084013e612f98565b606091505b5050905080612ffb5760405162461bcd60e51b815260206004820152602960248201527f7363632064656c657465207374617465206261746368206661696c65642c2072604482015268195d995c9d08185b1b60ba1b606482015260840161072d565b606f5460715410156130665760405162461bcd60e51b815260206004820152602e60248201527f64656c65746520617373657274696f6e206265666f7265206c6173742072657360448201526d37b63b32b21034b71032b93937b960911b606482015260840161072d565b7f5b24ab8ceb442373727ac5c559a027521cb52db451c74710ebed9faa5fe15a7c60715460405161309991815260200190565b60405180910390a16004805460715460405163d0087d6160e01b8152928301526001600160a01b03169063d0087d6190602401600060405180830381600087803b1580156130e657600080fd5b505af11580156130fa573d6000803e3d6000fd5b50506071805492509050600061310f8361444d565b9091555050606f80549060006131248361444d565b9091555050607080549060006131398361444d565b919050555060005b603a548110156131e85760715460736000603a848154811061316557613165614231565b60009182526020808320909101546001600160a01b0316835282019290925260400190206002015411156131d65760715460736000603a84815481106131ad576131ad614231565b60009182526020808320909101546001600160a01b031683528201929092526040019020600201555b806131e0816141a6565b915050613141565b505050505050565b6038546001600160a01b0316331461321a5760405162461bcd60e51b815260040161072d9061435b565b6001600160a01b03811661327f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072d565b611615816139c2565b336000908152607460205260409020546001600160a01b03166132bd5760405162461bcd60e51b815260040161072d9061413a565b6001600160a01b0380831660009081526074602052604080822054848416835291205490821691166132ee8161361b565b60006132fa8383613a14565b9050336001600160a01b038216146133435760405162461bcd60e51b815260206004820152600c60248201526b4e6f744368616c6c656e676560a01b604482015260640161072d565b6001600160a01b0382166000908152607360205260408120600101546002548111156133ad5760025461337690826141c1565b6001600160a01b0385166000908152607560205260408120805490919061339e908490614175565b909155505060025491506133b1565b8091505b6001600160a01b038516600090815260736020526040812060010180548492906133dc908490614175565b90915550506001600160a01b0380861660009081526073602052604080822060040180546001600160a01b03191690559186168152206002015461341f85613adf565b604080518082019091526001600160a01b03958616815260208101918252607680546001808201835560009290925291517fb5732705f5241370a28908c2fe1303cb223f03b90d857fd0573f003f79fefed4600290930292830180546001600160a01b031916919098161790965590517fb5732705f5241370a28908c2fe1303cb223f03b90d857fd0573f003f79fefed59091015550506077805460ff191690921790915550505050565b6038546001600160a01b031633146134f45760405162461bcd60e51b815260040161072d9061435b565b6134fd8161361b565b6001600160a01b03811660009081526073602052604090206070546002820154111561356b5760405162461bcd60e51b815260206004820152601c60248201527f5374616b65644f6e556e636f6e6669726d6564417373657274696f6e00000000604482015260640161072d565b600181015461357983613adf565b60035460405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490529091169063a9059cbb90604401602060405180830381600087803b1580156135c757600080fd5b505af11580156135db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ff91906141d8565b611f355760405162461bcd60e51b815260040161072d906141fa565b6001600160a01b03811660009081526073602052604090205460ff166116155760405162461bcd60e51b8152602060048201526009602482015268139bdd14dd185ad95960ba1b604482015260640161072d565b6136788161361b565b6001600160a01b0381811660009081526073602052604090206004015416156116155760405162461bcd60e51b815260206004820152601060248201526f21b430b63632b733b2b229ba30b5b2b960811b604482015260640161072d565b600080805b6076548110156137c357600454607680546001600160a01b039092169163873fd0899187918590811061371057613710614231565b600091825260209091206002909102015460405160e084901b6001600160e01b031916815260048101929092526001600160a01b0316602482015260440160206040518083038186803b15801561376657600080fd5b505afa15801561377a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061379e91906141d8565b156137b157816137ad816141a6565b9250505b806137bb816141a6565b9150506136db565b5092915050565b6001600160a01b038281166000818152607360205260409081902060020184905560048054915163541961d760e11b815290810185905260248101929092529091169063a832c3ae90604401600060405180830381600087803b15801561383057600080fd5b505af1158015613844573d6000803e3d6000fd5b5050604080516001600160a01b0386168152602081018590527f617d31491414a4ab2bd831e566a31837fa7fb6582921c91dffbbe83fbca789f3935001905060405180910390a15050565b6000806138c76040518060400160405280601481526020017329ba30ba32a1b7b6b6b4ba36b2b73a21b430b4b760611b815250611618565b60408051600481526024810182526020810180516001600160e01b031663c17b291b60e01b179052905191925060009182916001600160a01b0385169161390e919061433f565b6000604051808303816000865af19150503d806000811461394b576040519150601f19603f3d011682016040523d82523d6000602084013e613950565b606091505b5091509150816139a25760405162461bcd60e51b815260206004820181905260248201527f63616c6c2046524155445f50524f4f465f57494e444f572829206661696c6564604482015260640161072d565b60006139ad826143c5565b90506139b98142614175565b94505050505090565b603880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03808316600090815260736020526040808220848416835290822060048201549293919290911680613a805760405162461bcd60e51b815260206004820152600e60248201526d4e6f74496e4368616c6c656e676560901b604482015260640161072d565b60048201546001600160a01b03828116911614613ad65760405162461bcd60e51b8152602060048201526014602482015273496e446966666572656e744368616c6c656e676560601b604482015260640161072d565b95945050505050565b60728054906000613aef8361444d565b90915550506001600160a01b039081166000908152607360209081526040808320600381018054825460ff1916835560018301869055600283018690556001600160a01b03198082169092556004909201805482169055941683526074909152902080549091169055565b6119048061446583390190565b508054600082556002029060005260206000209081019061161591905b80821115613ba95780546001600160a01b031916815560006001820155600201613b84565b5090565b600060208284031215613bbf57600080fd5b5035919050565b80604081018310156111c657600080fd5b60008060808385031215613bea57600080fd5b613bf48484613bc6565b9150613c038460408501613bc6565b90509250929050565b6001600160a01b038116811461161557600080fd5b8035613c2c81613c0c565b919050565b600060208284031215613c4357600080fd5b8135613c4e81613c0c565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715613c8e57613c8e613c55565b60405290565b600067ffffffffffffffff80841115613caf57613caf613c55565b604051601f8501601f19908116603f01168101908282118183101715613cd757613cd7613c55565b81604052809350858152868686011115613cf057600080fd5b858560208301376000602087830101525050509392505050565b600060208284031215613d1c57600080fd5b813567ffffffffffffffff811115613d3357600080fd5b8201601f81018413613d4457600080fd5b613d5384823560208401613c94565b949350505050565b60008083601f840112613d6d57600080fd5b50813567ffffffffffffffff811115613d8557600080fd5b6020830191508360208260051b8501011115613da057600080fd5b9250929050565b600080600080600080600060a0888a031215613dc257600080fd5b8735965060208801359550604088013567ffffffffffffffff80821115613de857600080fd5b613df48b838c01613d5b565b909750955060608a0135945060808a0135915080821115613e1457600080fd5b818a0191508a601f830112613e2857600080fd5b813581811115613e3757600080fd5b8b6020828501011115613e4957600080fd5b60208301945080935050505092959891949750929550565b60008060208385031215613e7457600080fd5b823567ffffffffffffffff811115613e8b57600080fd5b613e9785828601613d5b565b90969095509350505050565b60008060408385031215613eb657600080fd5b823591506020830135613ec881613c0c565b809150509250929050565b60008060408385031215613ee657600080fd5b50508035926020909101359150565b6000806000806000806000806000806000806101408d8f031215613f1857600080fd5b613f218d613c21565b9b50613f2f60208e01613c21565b9a50613f3d60408e01613c21565b9950613f4b60608e01613c21565b9850613f5960808e01613c21565b975060a08d0135965060c08d0135955060e08d0135945067ffffffffffffffff6101008e01351115613f8a57600080fd5b613f9b8e6101008f01358f01613d5b565b909450925067ffffffffffffffff6101208e01351115613fba57600080fd5b613fcb8e6101208f01358f01613d5b565b81935080925050509295989b509295989b509295989b565b600082601f830112613ff457600080fd5b613c4e83833560208501613c94565b60008060006060848603121561401857600080fd5b8335925060208401359150604084013567ffffffffffffffff81111561403d57600080fd5b61404986828701613fe3565b9150509250925092565b60006020828403121561406557600080fd5b813567ffffffffffffffff8082111561407d57600080fd5b9083019060c0828603121561409157600080fd5b614099613c6b565b823581526020830135602082015260408301356040820152606083013560608201526080830135828111156140cd57600080fd5b6140d987828601613fe3565b60808301525060a0830135828111156140f157600080fd5b6140fd87828601613fe3565b60a08301525095945050505050565b6000806040838503121561411f57600080fd5b823561412a81613c0c565b91506020830135613ec881613c0c565b6020808252600b908201526a2737ba27b832b930ba37b960a91b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156141885761418861415f565b500190565b60006020828403121561419f57600080fd5b5051919050565b60006000198214156141ba576141ba61415f565b5060010190565b6000828210156141d3576141d361415f565b500390565b6000602082840312156141ea57600080fd5b81518015158114613c4e57600080fd5b6020808252601b908201527f7472616e7366657220657263323020746f6b656e206661696c65640000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60005b8381101561426257818101518382015260200161424a565b838111156119ba5750506000910152565b6000815180845261428b816020860160208601614247565b601f01601f19169290920160200192915050565b602081526000613c4e6020830184614273565b6000602082840312156142c457600080fd5b8151613c4e81613c0c565b6060808252810185905260006001600160fb1b038611156142ef57600080fd5b8560051b80886080850137602083018690528201828103608090810160408501528101849052838560a0830137600060a0858301015260a0601f19601f8601168201019150509695505050505050565b60008251614351818460208701614247565b9190910192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603160045260246000fd5b838152826020820152606060408201526000613ad66060830184614273565b805160208083015191908110156143e6576000198160200360031b1b821691505b50919050565b60208152815160208201526020820151604082015260408201516060820152606082015160808201526000608083015160c060a084015261443060e0840182614273565b905060a0840151601f198483030160c0850152613ad68282614273565b60008161445c5761445c61415f565b50600019019056fe608060405234801561001057600080fd5b506118e4806100206000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638b299903116100b8578063dfbf53ae1161007c578063dfbf53ae146102a3578063e87e3589146102b6578063ed5b1303146102be578063f03a7fcb146102c7578063f2858aa3146102da578063faeff41b146102ed57600080fd5b80638b2999031461022c5780638f2400a8146102465780639afd9d7814610259578063abf480131461027d578063afeae9651461029057600080fd5b8063631acced116100ff578063631acced146101aa57806370dea79a146101b2578063732e6961146101ba5780637f4c91c5146102115780638a8cd2181461022457600080fd5b806318ef160d1461013c5780632a51f6f71461015157806341e8510c1461016d578063534db0e2146101765780635f41e3d6146101a1575b600080fd5b61014f61014a366004611333565b6102f6565b005b61015a60085481565b6040519081526020015b60405180910390f35b61015a60065481565b600354610189906001600160a01b031681565b6040516001600160a01b039091168152602001610164565b61015a60055481565b61014f6105d0565b61014f610636565b6010546011546012546013546014546015546016546101dc9695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e001610164565b600254610189906001600160a01b031681565b6101896106c9565b6007546102399060ff1681565b604051610164919061136b565b61014f610254366004611385565b61075b565b600e5461026d90600160a01b900460ff1681565b6040519015158152602001610164565b61014f61028b3660046113fc565b610b55565b61015a61029e366004611473565b610cae565b600e54610189906001600160a01b031681565b61015a610cc5565b61015a60045481565b61014f6102d53660046114d5565b610d13565b61014f6102e8366004611579565b611018565b61015a600f5481565b6102fe6106c9565b6001600160a01b0316336001600160a01b0316146040518060400160405280600a8152602001692124a9afa9a2a72222a960b11b8152509061035c5760405162461bcd60e51b815260040161035391906115a2565b60405180910390fd5b50610365610cc5565b60045461037290426115f7565b11156040518060400160405280600c81526020016b4249535f444541444c494e4560a01b815250906103b75760405162461bcd60e51b815260040161035391906115a2565b5060085460408051808201909152600f81526e4348414c5f494e49545f535441544560881b602082015290156104005760405162461bcd60e51b815260040161035391906115a2565b50600081116104455760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f4e554d5f535445505360781b6044820152606401610353565b604080516000602080830191909152818301849052825180830384018152606090920190925280519101206008556040805160e08082018352600c548083526020808401879052600d54848601819052436060808701829052426080808901829052600060a0808b0182905260c09a8b018d9052601089905560118e9055601287905560138690556014849055601582905560168d90558b519889529688018d90529987019490945290850191909152908301528101939093529082018390527f71809f4d4f7bf3c208a85ccd3c922c984024f8e3cef51e3d03ae677e4217097d910160405180910390a1600160075460ff16600281111561054957610549611355565b141561057e5760045461055c90426115f7565b60065461056991906115f7565b6006556007805460ff191660021790556105c8565b600260075460ff16600281111561059757610597611355565b14156105c8576004546105aa90426115f7565b6005546105b791906115f7565b6005556007805460ff191660011790555b505042600455565b600e54600160a01b900460ff16156106215760405162461bcd60e51b8152602060048201526014602482015273414c52454144595f5345545f524f4c4c4241434b60601b6044820152606401610353565b600e805460ff60a01b1916600160a01b179055565b61063e610cc5565b60045461064b90426115f7565b116040518060400160405280601081526020016f54494d454f55545f444541444c494e4560801b815250906106935760405162461bcd60e51b815260040161035391906115a2565b50600260075460ff1660028111156106ad576106ad611355565b14156106bf576106bd60016111f4565b565b6106bd6001611257565b6000600260075460ff1660028111156106e4576106e4611355565b14156106fa57506002546001600160a01b031690565b600160075460ff16600281111561071357610713611355565b141561072957506003546001600160a01b031690565b60405162461bcd60e51b81526020600482015260076024820152662727afaa2aa92760c91b6044820152606401610353565b6107636106c9565b6001600160a01b0316336001600160a01b0316146040518060400160405280600a8152602001692124a9afa9a2a72222a960b11b815250906107b85760405162461bcd60e51b815260040161035391906115a2565b506107c1610cc5565b6004546107ce90426115f7565b11156040518060400160405280600c81526020016b4249535f444541444c494e4560a01b815250906108135760405162461bcd60e51b815260040161035391906115a2565b506008546108555760405162461bcd60e51b815260206004820152600f60248201526e1393d517d253925512505312569151608a1b6044820152606401610353565b604080516020808201859052818301849052825180830384018152606090920190925280519101206008548114604051806040016040528060088152602001672124a9afa82922ab60c11b815250906108c15760405162461bcd60e51b815260040161035391906115a2565b50600a541561091b57600954873514806108dd5750600a548735145b61091b5760405162461bcd60e51b815260206004820152600f60248201526e1053509251d553d554d7d4d5105495608a1b6044820152606401610353565b600b546040880135141561095f5760405162461bcd60e51b815260206004820152600b60248201526a1253959053125117d1539160aa1b6044820152606401610353565b6000841161099b5760405162461bcd60e51b81526020600482015260096024820152681513d3d7d4d213d49560ba1b6044820152606401610353565b8635600955602080880135600a55604080890135600b558051808301889052808201879052815180820383018152606090910190915280519101206008556040805160e081018252883581526020808a0135908201529081018860026020908102919091013582524382820181905242604080850182905260608086018c905260809586018b905286516010558685015160115586820151601255868101516013558686015160145560a08088015160155560c09788015160165582518f3581528f870135968101969096528e8301358684015290850193909352938301528101889052918201869052517f71809f4d4f7bf3c208a85ccd3c922c984024f8e3cef51e3d03ae677e4217097d9181900360e00190a150600160075460ff166002811115610aca57610aca611355565b1415610aff57600454610add90426115f7565b600654610aea91906115f7565b6006556007805460ff19166002179055610b49565b600260075460ff166002811115610b1857610b18611355565b1415610b4957600454610b2b90426115f7565b600554610b3891906115f7565b6005556007805460ff191660011790555b50504260045550505050565b600060075460ff166002811115610b6e57610b6e611355565b146040518060400160405280600f81526020016e4348414c5f494e49545f535441544560881b81525090610bb55760405162461bcd60e51b815260040161035391906115a2565b506001600160a01b03871615801590610bd657506001600160a01b03861615155b8015610bea57506001600160a01b03841615155b610c255760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610353565b600280546001600160a01b03199081166001600160a01b03998a16178255600380548216988a1698909817909755600180548816968916969096179095556000805490961693909616929092178455600c829055600d8590556007805460ff19169093179092554260045560966005819055600655600955600a91909155600b91909155600f55565b60098160038110610cbe57600080fd5b0154905081565b6000600260075460ff166002811115610ce057610ce0611355565b1415610ced575060055490565b600160075460ff166002811115610d0657610d06611355565b1415610729575060065490565b610d1b6106c9565b6001600160a01b0316336001600160a01b0316146040518060400160405280600a8152602001692124a9afa9a2a72222a960b11b81525090610d705760405162461bcd60e51b815260040161035391906115a2565b50610d79610cc5565b600454610d8690426115f7565b11156040518060400160405280600c81526020016b4249535f444541444c494e4560a01b81525090610dcb5760405162461bcd60e51b815260040161035391906115a2565b50604080516020808201859052818301849052825180830384018152606090920190925280519101206008548114604051806040016040528060088152602001672124a9afa82922ab60c11b81525090610e385760405162461bcd60e51b815260040161035391906115a2565b506001610e46600284611632565b1115610e8b5760405162461bcd60e51b8152602060048201526014602482015273424953454354494f4e5f494e434f4d504c45544560601b6044820152606401610353565b600180546000916001600160a01b039091169063625eb72e908b908b90600990610eb5908b6115f7565b60038110610ec557610ec561161c565b01548b8b6040518663ffffffff1660e01b8152600401610ee99594939291906117ac565b60206040518083038186803b158015610f0157600080fd5b505afa158015610f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f39919061185f565b905060098560038110610f4e57610f4e61161c565b0154811415610f6657610f6160006112af565b610f70565b610f706000611302565b506001905060075460ff166002811115610f8c57610f8c611355565b1415610fc157600454610f9f90426115f7565b600654610fac91906115f7565b6006556007805460ff1916600217905561100b565b600260075460ff166002811115610fda57610fda611355565b141561100b57600454610fed90426115f7565b600554610ffa91906115f7565b6005556007805460ff191660011790555b5050426004555050505050565b6002546001600160a01b03166110635760405162461bcd60e51b815260206004820152601060248201526f111959995b99195c881b9bdd081cd95d60821b6044820152606401610353565b6002546001600160a01b031633146110b35760405162461bcd60e51b815260206004820152601360248201527221b0b63632b9103737ba103232b332b73232b960691b6044820152606401610353565b600e546001600160a01b03166111005760405162461bcd60e51b81526020600482015260126024820152712237903737ba103430bb32903bb4b73732b960711b6044820152606401610353565b600354600e546001600160a01b03908116911614156111b257801561118f57600054600354600254604051637d3c01f360e11b81526001600160a01b039283166004820152908216602482015291169063fa7803e6906044015b600060405180830381600087803b15801561117457600080fd5b505af1158015611188573d6000803e3d6000fd5b5050505050565b600254600e80546001600160a01b0319166001600160a01b039092169190911790555b600054600254600354604051637d3c01f360e11b81526001600160a01b039283166004820152908216602482015291169063fa7803e69060440161115a565b50565b600354600e80546001600160a01b0319166001600160a01b039283169081179091556002546040517f03f929a9a6b1f0aef5e43cb12b56f862da97ec3de3fda02a52e85f9f3974fb6a9361124c939216908590611878565b60405180910390a150565b600254600e80546001600160a01b0319166001600160a01b039283169081179091556003546040517f03f929a9a6b1f0aef5e43cb12b56f862da97ec3de3fda02a52e85f9f3974fb6a9361124c939216908590611878565b600260075460ff1660028111156112c8576112c8611355565b14156112d7576111f181611257565b600354600e80546001600160a01b0319166001600160a01b039092169190911790556111f1816111f4565b600260075460ff16600281111561131b5761131b611355565b141561132a576111f1816111f4565b6111f181611257565b6000806040838503121561134657600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b602081016003831061137f5761137f611355565b91905290565b600080600080600080610100878903121561139f57600080fd5b60608701888111156113b057600080fd5b969896359750505060808701359460a0880135945060c0880135935060e088013592509050565b6001600160a01b03811681146111f157600080fd5b80356113f7816113d7565b919050565b600080600080600080600060e0888a03121561141757600080fd5b8735611422816113d7565b96506020880135611432816113d7565b95506040880135611442816113d7565b94506060880135611452816113d7565b9699959850939660808101359560a0820135955060c0909101359350915050565b60006020828403121561148557600080fd5b5035919050565b60008083601f84011261149e57600080fd5b50813567ffffffffffffffff8111156114b657600080fd5b6020830191508360208285010111156114ce57600080fd5b9250929050565b600080600080600080600060c0888a0312156114f057600080fd5b873567ffffffffffffffff8082111561150857600080fd5b9089019060e0828c03121561151c57600080fd5b90975060208901359060ff8216821461153457600080fd5b9096506040890135908082111561154a57600080fd5b506115578a828b0161148c565b989b979a50986060810135976080820135975060a09091013595509350505050565b60006020828403121561158b57600080fd5b8135801515811461159b57600080fd5b9392505050565b600060208083528351808285015260005b818110156115cf578581018301518582016040015282016115b3565b818111156115e1576000604083870101525b50601f01601f1916929092016040019392505050565b60008282101561161757634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b60008261164f57634e487b7160e01b600052601260045260246000fd5b500490565b6000823561011e1983360301811261166b57600080fd5b90910192915050565b803567ffffffffffffffff811681146113f757600080fd5b6000808335601e198436030181126116a357600080fd5b830160208101925035905067ffffffffffffffff8111156116c357600080fd5b8036038313156114ce57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600061012067ffffffffffffffff61171284611674565b1684526020830135602085015261172b60408401611674565b67ffffffffffffffff166040850152611746606084016113ec565b6001600160a01b031660608501526080838101359085015261176b60a084018461168c565b8260a087015261177e83870182846116d2565b9250505060c083013560c085015260e083013560e08501526101008084013581860152508091505092915050565b60808152600086356117bd816113d7565b6001600160a01b039081166080840152602088013560a0840152604088013560c08401526060880135906117f0826113d7565b1660e08301526118036080880188611654565b60e06101008401526118196101608401826116fb565b60a089013561012085015260c089013561014085015260ff88166020850152905085604084015282810360608401526118538185876116d2565b98975050505050505050565b60006020828403121561187157600080fd5b5051919050565b6001600160a01b0384811682528316602082015260608101600283106118a0576118a0611355565b82604083015294935050505056fea2646970667358221220ccb7efc97baac554457c80cecdacd0363693ddc1ffd8120b287494f2e6e7e88b64736f6c63430008090033a2646970667358221220b2320bae11ac531fb45a91ab63f86f0979c9923b7d16f7e7b868965375a21be764736f6c6343000809003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56355ff000000000000000000000000000000000000000005581d020ca951e0e07cc9b4466a4ff08dcecaab576fe3bb7042a050ecd54f350701195d9e02185005581e03dddeba811cb0dde056638305ff36c6891738f71837825226664e22cae00c0547083eddcc8f89ea033e2c757209be536431035a999063ecc4cea7680a2819095a6d0ae7344c28b6e202192b520317d0f63de3a0c8a46753a56e469c87278fc177ed2ffd54aef181cc0e5362a2c803b69c6ff510c2f0e7f7406aabd6eabacf2bb6d1cf820f86901c9ece9872aa2d730307b52ebb42d340fb40c55634f6aaae395f381ff3fc76c10897e45e604092d5d1035ac1ee6eb17a7b118dd9727447b749986a0c637c58fb9612d3082e95680d9ded03dbc726fddf21141a915efc092f8027c2e710ff715a4107c46d9307c2c250884003ee14bf60a855e9e092cf92a486e2a3427455ad65e221b3007d8ec37fe026f49103818e3864b5e58e9346f6caf9e15b6db25a23ab799f96e614ad2039d2c05b16260219ffff03262b8e692f00b6d739858351ce2913c95128afb97fe1e32aaa0648ff012cfdc403736e10e5f563a04f3caed3da29c24196bf4b4fe70865ceed1c66c8b34bb1f16303083ec792f113cb1d3689eaf1c7bcd229042274852b7c2acc637cc408b26dfbe403352bce575dbfefa43a5f42d49048047b10e0aa12cd0dd944d00e60d86d41bf4f03d1e9a1561f796721c665cba8113a2901cbbdaa86dc117e75f104343bfbb6292e0397e21b39f369a3e3054c1a18a621b6f5d97f342bd128f5533667d8b4dda3a87203e0dd6d22d141544636a422f89960726533e60a4e90dacae49af6d2dc9cca33fc03f35e88541fe94c3bb21ac3a140af1d8c1b868aae525a50fb0bd219fb59b71e3003f1d1f9410991d9e5f3073eb92a8e2e438afb85c5fac0e0a5b14c8938dd2446ce034dc9c04804ccd5a87a8322391ed01e11be86f80d182754b36664f18e64c1ac6703afd4fe5eb7c953af5bc3a5c869c564c0f1191d8a62f98ed9246b4e293033f28c03e6798ad5508c922f2de44a7ca41b43670e31f826c0833e7ec9679889dd15ba540219ffff0386c0d7b1f41d7deda26d755c4337dac76f219ef220688c5b99e6ebd3b99d0ff00352828c625a50e9ce772a93ef7e002d9619b59c531942e95869e00e31257a023d03fe7b176763ea4128d3d66fe0e0fdabbdcd6fffb464a6a4937afae6ca37c2cb1303f6a2b9d4f3b0bc944c749cbed338d2f01f957fff269f142233fb3324f722c5a6030773b1fa08ca5c4f76a788bb9f6ca4957d731ce9dfd9c28fefefb97df752894503744cf0b7fdcac50cb417fbbd628da65adcbc8c170adc06b130da973725eb469103df74300e56552c5a562d3532a6fe03ddb1ed20692a58442a5a5025f7b0846c6303e5737e832ee99f8c4bb622dc4421c3bf77bcd53e3a3b0bedfd986ad75827ec9003b5399d6df2661f07dfee7b512a905aac5fb8cae94a0dfc48806c8935d1a0ac2f03aa1bc7e4efd8cdc2b8f9574b813f96763b449dbb87f16235f1b8ce1eeb54770703b3fb6d47beecf42bc6a526fe5537e6836496fe06850e86d0398e39b8bdd4125803d6a1ad80cf9b2da84bd5f124d7f70341619e577bacd63448569d5b93a48a529d0219ffff03b588b6a4459b18ff90129545bd92d1d0e5bd3c10fd6de18156b5dad9e8f528490345c6b6ef373b1260d90620f55f9778a3503f6903d664263924485bd3128d283703bc81daf51bbe6711905a38085f4db78586addac4940f810a4acb029eeece11ed032a78e337ce1c490ca662d3445966a7faae59c3f84ce311cb25453a4293629e6e031eb5fc10b23f1df9b76b80889d595021a40b1f32e471339e4efb755249da82b5030de6d3f9d2e06c11a2574d2284df1d2dd1f72ba17122d1edd71b73e83f681e790326fe00b928c372b6f8c6d826149f09a4aaa97884c1b426e351f9542475de85b4036cfe9563b52df602971035c8a8edac63f16cb62a95d6d7cebd471dec898b935603f6e0af54ef9774c231af8b468f7e2aea04b25cd3e25894d0d34308a2c1b3a469038ff639f94f2f54c66f9cbb4d020a6d67c5b0635f6ecb0c3ffe9fccae542cfcc703396c6db8d5171fc6ce33251afa816488dee77e7365ed050f9a57dca3f73249c70343d062cd7ab2d96e888962ecde917593bed82e8162727e25896d186696f9c30a03381cca608dff73c8a7a8e7783f5a1e6e3025cae81f0bf7882f851d3a230654be03664991960fce196ed1049cc2ac18f72a0bac2be342248c870a4db54534cef9b1032cd43138dc03811b8684b85a774217a08540ce4f1aac50d31d295fb13665efdb036ed1b50d494dd639e292382b09ae16e1b1c4061280d9b921f4b12d4f4b241a290394c28457d8d57e64f80cbab8f859fce8c24461eade2f9066b4d370b50aacdd500351c44ff5d72541291842c3c1292bc200435a3e7ce88fa9092efee5fe473c86c603624e41fd4d7d8f7a9630285728a5b206481994f9cef7166ab819b49507392e2d03d98777a564d9fb90253af33914865bd0842ae9782433990c1a4e4a82beaaf22e039decdbf54305f30383506e7a51aa93bc48645b77ee8c316d8f4aeb8834bfc664032f1514d5617fa70dc1560b265311bc96cdefbe186b4811bc1dff4c503921af8703a566e2e74e2a2b61ae922c1ccfd14a500cbc7ab2cbe988ed4491835dec8d5717037df1ef6c7712cedc8840a39da37d915f942bf90018ca92a67f50a410cab85d8c03f54238c3d72a95e2241b5edacd70cdddcadb11cec08ca849088f2680f780ed1f0348278a27f0b4af8b9652488aae8bffcfc7c9ec4545a96899a041464841850434031ab674e016944c92df27b0eda516627b5542b5fabc4a9e5cc70aded41c94377f03eb4facfbfc0394747b489e499622c41be4c33fdb7278671221cf93ad5619abca0301e2316aee6ccc0b3f0fc08375ba48853e1b992bdc8f6ad3d8edf74c488ad48f03fd057a1a18d85d00cf7bef15e1b2d9e77288b22499c0d106a4786452f8074de303478a24583d74ae34370a187ca5ab7b4fc02405c8805223be599860707d777bca03cb6c40208deae9cded27189dd5e68ff1d74c41a81d3af245da6a627efb137b3d037a9c26c4f8d7cc72206e385e7d4280ec876bf9a24b0ae3cc7d29d6a3f944cc76037abd7e09319ebe192a5358d32912743504f569d2b5140160154c4f35f322386b05581e03330dfc4e6c99944a034c437ab375d87dd327e70fc11e0e6d256f0c53400c03462d593ba2e33005581e03819faaeb81ed328e68c5f6777d9859953d91e8d16917a607e733d06180040205581e030435cefb868bdb594d2dce37f31213b7ca39a3f790db1df412dca55fa00c01475e28336e11303705581e0362ba73d75a16d24c103d0781818276aaf72ebaf50bb082b245fe49a220040503039f49b320159554e11a605cca8d0963a7b0fe967ef6b9522f4f3e02b1b51a4c01410e03f176beb0d9877ea9effdf3d562051790faf8c3d57a3ecc3906ec40b76a1f3240031f40cb0f7c263078b56dbc643be7f6ab7f3b222305065926de2ee975e1b521a505581e03daf3968c516b61ce19565a32941c8196ad31470281d346fb05f6c1e300040105581e038a8eff76bd8b654f58ead04dedcf68608f1ed4ef20618fb77f53cbf6e00c014715ecc33140500005581e03cf08e923a135c6e412ad3c86fccb92b79822775eae090b9aebbcfe02000c02476608e03579ccf00219b57503b977a86e099e72ed27ac5db7a4a4ec3b111509c7c1abc5ec62c9b9b62302915f03b8ca2503cbd768aeb85d7ca4f034a5a29075f22eb1b3dc2411ea5e47e6b7f8fc03a016aaf716481452341610fdfb40bd6d2a5f6c023f4b00fa0ca4ab0d549dda6b03add6b75252bd7800f2366f83971a182f8290a1a5f8806e875198ed3502614a45039416ab3c5e3c75d37685b0385f096a931f91a3b767fc45cd4ef3536ad8dc642a031c7876be9c0ac2056c913e4e70f6bf26ccaf19ba5b9487d554e3718bf18c3794035d8a3d778e283eecea6d03d6af0ab5896f57358143978d870153b517564d1c4503726cdc16c7c89eaf5c391da12ba437794b1067c8f8b1e44f4680c17a2ff71ffe0364c134368852daa797cd54af8bb2c0c4790e0fd83923bb3a4a47d5dae95e90cf039232aacea05b898366121b23159c33db55b4856b7e10ceab4ee3bf1bb019815a032afb11f154a6d2bf88b263071e9e459f169d0a53f96c5c09d227db722b4d3d380333a9c6eaa452cc53b6cec90cb8b1f0e6dfd9679ad654bb58f035d6aaba6697f103e27d42106827d90ffd6509ffe54e0fc8c23f7d8c536a98c98210cf9d6c5423c80340ac2aee6c7803841517d6e19e563f74926eb3703684296ea313f71e8e5612fa03883322fb8711589fec6e73e1af2cadbf179953645b9f31b4082c68640e5a013b0219ffff0219ffff0340e7cb28ec895006323501d43abb5e973f1e6253d7ae5cfccab84b16a580cdf603c7a054906db234a32f226a522fd4765a941ae293d52edc250b901dfc79c57675039326aaaa9be2e1d31b569714920a21c555a63136126684ae0962e929d628ff9f0219ffff031666fa10f192219237fbff1f031bfea39b1ecfd08645f96eb31c4451e9bb2efb03df7badd663fb18f3d41c2f48e83d9297a6ea7a9317654032ccf166f294b931e20327ff168b663b91299ead5299af958308b1adafc21db8ac058fdf4d0eee16108603439dc81b579e6aa4d8fddb458b99c28e9f79c78d7af9e4a0a8e0355208117e950379a861cffa81e1eed7771da4001c9ca9cd6040151840dbaec42e5a87fe43ff1e035f4b34343e6e92bef454fce31dd10c84b9c1deea90b5335061e9209e01f341e5036439332ebc742bd9f5c040489c2840c4ce067c0eb4885b2f77be57281790b2350398b216bdba6cf13625990dddb5b5b660338cad623b7a1adb595f8c809eb99cc803480a264198c128c2e657496138cea82284420e97ea2baa4c8ec8e91f359ec32103cc1dd3b34b1bcff9464dd3c39a2205deb2fb34a96343632a24e3039ddfc9696e0386e7d565c31ac91c232e6a799fda024456a52473fc38bfe59e0ef418158d9ac703502941b1a06ca35a6cb6ad07e05f4a240a39adce05ca8fca13673620a64cc5b903ab1f1a4693f5e45125df10cc2a057c7f67fdc071daaa84e1c9a7bea4f13e628d03f3511bf3ec951fe4e617aff76b6db585f23a7a43bdd0c0d76c6ad327f7636e8c03378d482d06cfd72d2230bf1661d9e15ee61bdb2424e03c0fe6854b1f43c5a45c03f423524b46213ca2b168040f83aa5dcf042a846d6ab065d2383300fc67945940034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581d0284e11a9eed686ecb218a5736bf65b3b91ccad3c3f3fa2960bd63182007011bffffffffffffffff0307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581d022910bf38d5731a64a108d7229355d68b579deac858da8aef0193bb4d07011bffffffffffffffff05581d02a8481c6b42663b3b96a165fd157cea4885c9cee016b115dfb9e639240c19017547012893bbd650d802190142038186b2142e03cb87bb4140be9a58b336b655428481f0a76ae5a0aac6f84bb4a205581e038fb9830db2e7af9f4395dfc27dbc2d3ad49089df6b26e3504f47fde4a0040203d267fb3ee6c2c545343ddf4efd7efa3714cfb048fb46f4f5af92bbce8a756fda03852fb1a70ef3c675c6c7fd38df1fd1ef1799f143e5246eb30bcae37c59578f0405581e03ccf2b6a8792e7892d2fa9374c8172f57d47aaf2f5eb700cdd95147fbc0040605581e03ff02bd1e3e8e26fdc78ffa76503159f08500576e3aa017802648945e70040105581e03e47ef76cb1acabc85aa175b9425ee5f2b28064e1a02219dca0a201ffe00c034705201a401660000219c572036e776741ab5eb58fc27f4248dfa5ba2b1011b6c35bbeb3952e1c227f9e2eca3003f988e518f6a0bec9dc1434f21447fe3788b8188700bb377006ae29a4a4350a2403518d1a48d3e04eacf8b32c3abc26ccef39cf2bbdfd66e20153c224a66cac069803103698ae561d01f582d77798a130e7499baa3a7384c75333e661a23b00b59f1a030d1d51db1f27c5062510eab3934e2c4ca75120e5ef0daa6e6a23bdefb22366f303a3c76527383c4651fe5b4cddbab95cda401ccf5ccae54d9a564cb2e9ab81668003e635771f0ddd418bf27d74702e1fc4cad06cc9e7f92757704c519b6bda547eae03950a2fd73d93db9b09f0c1df3605e3c360ddc0471a8efce04fe0e3577309299103ccea3421d371c402b48cde1530b85da9a2e1b5ea54cf9afa932414dbfe70b2650327e931424f92834b58db98c844cb8cf1bce19c172f39bbf4214a311478eb67e10219ffff0346557b1a5ef76bd4496c9a321870f1f3e2ce9c3918a8d4939b50fa43b6b1d6240350165c1b740966db0898694a848fbfd7f899d84f46c9a7c46446b3b519dfe58a03a79591918ee55a13e36ab76afdde89480d3ef9f60788207dd324405ba6cff6e5038cd08aaf14c3ac68e447660dcf71795ea0a3167b8a2b8fe6c4d59ac8a61cce3c03b101ecccd98536494a7f5c5be959e0a42fb27e40cb66e7f6613a5a4191de3d1a039d54669b8086ccce2178cc93b77d1768fafdea966abfc8fe45e3523f9e89d78003ebafd71da4e0c72c51cb319c8c82a2fa91a2ac71e52848b34a092a033694d76b034efd8e43fe210cbafe9b490cec710a67c1820b1e614d6648c2b121b383c9d317035d17c1c771501712c60a081fe827bfd82f7a6c197a8ccb0aeb82ed7552810e2d0219ffff03dfbd5990f8efbeb713b1fc419e2d1903ca722accc26addb6cd98a0e7d44d8733032aa0490716ce51dce92555d78f5d8980a546c91e9f0e07cb39544a9a812bdc2203e9ed76beccea791114e5b1720a19cd17bab72fc4f5cb8caa4d9fa6eaad999bf703839f20226e3e0a1f93b9cefce68875ae3225f672a0fff9f64e1c0a366575ce1c03e543db4d82b66aabb6f1945775696cd578dada888e74d191cf254f5a6299f34b034c96dcab43ac9c50de5d1fc6b1848661e54715045e120749cdcdd8675a5aef7f03d3f43ed996fe3b648a5db7e160f4a0c93cc7856de4b3ecfbd90aac1b03dd68b103edd006147b7741b140ad938f351f7899334206a9dff70a6805a7b2c08d78494e0325d571a0e5a492aba1e336c6f38eee234a1c9efed0262d07fc1ecb800bd6e41003214abee04c1711c27744e108ae79a3d463d8baebeee13fbe75e1fb9eaf172c2e037bcc041a8568f7fdfc2e81329c67161859baec79783a8cd4863dfd284455d8b50315bcf61d6d5df5251bc3174220ae163a6738ffac1fd158910bdab6deb49653fa0219ffff033ee075a411eae29a56eff8c7c77a6e6a34e41cc3760a30a44bf8ff34251bdbce033bd436491d89660208bf901d63efefdffb06dcdd8896dcb185919930caf6f778032d434e480ccedf30da4b307afe45588bcba167df7f281cfe052f2973177e3abe0219ffff039130207a5d585030f11b63f2974625250ac09a55840a46a964f280733bd148eb03f4a5c933f5cf1bec7270f73d2a0532bcfe478820e58bfcd71fa1d93a0769609a03e7cdc9c86ba060ff0c4df28419a4aefb1d0b01af7f4145f6ef3d2abf14c2776b0337da793469d3846bee507ec3648678c83b4e770855ce42c18b83e90abd209ef2033779df8d608a4354e1360756fe237991eea35cf8ba483fdec4716b2bb2e7a96603eddb21f316ac35801c8d0c9f1f2992098c6d05efb28b82b1e398fcaf2cfa9f3703c56cb4984a4cd9a90e1b0633627fce62b96a627ee12a0f452a0e7ad2fdfff3b9039abfb2b72e1296cdf063dd624828bc2f05cfd1398e865ab4554357cd06082b82031c48cf564e0e2a46cc3984ca5a00088bbdc499054fc2df1f73edd372a746cda503e22ea3bbca1031c393e6325376e335b85c888aa32602081ebc629ca30772ebcb03a7bc6dd35d452a8dbccaffe7044d398885f924ec9d649575634a222bf7857880039c107e1ee3fdfbcefcec1be137a82116636637704567f10ccdb76b7e22280b9903b1dbbca9a87d4bbad8726c0cdf44120be3e4b187e87e2298ccd945bda09780420337cf94485870459bec12af53a9f809276367ec8d0f34f2f21c8df5eeea8b88fa033ff4f1d9190ea5910edf753e19a03f18defc77ae68a4b0a13881772e4e91340303941a12da6b28f1cde5c1acbde8f04abba1f0eb34ea101ba21fd6406b1470e4b30310b9ea803b04445ebe2a021c49e5da4c25215d9c207d31fbcf483286d7f1ffa303a0b24a85fedc5a470ddbe3f82b568b9ca7117a7fedd18501523f70a4c770032f03ad48f6e76e6a94cb85263eefebdab56c42e17db426c4b8f3098378f7def3aaf3030e172c7356e4253c0d23d998a3a5e2e13ce82c8578ba2b9b1c563f43ef200a15030cc179f72c23f3d7f08e7c4a26384c2bb2d177b03fb91b906567589237e4c53005581e03825a431ca46f430ef61fcd933d2f74a737b3f1bba8de22ae6553939df00c034745ae299c97e2580459195e608060405234801561001057600080fd5b50600436106101375760003560e01c8063876ed5cb116100b8578063cfdf677e1161007c578063cfdf677e1461026c578063d0f8934414610274578063e561dddc1461027c578063e654b1fb14610284578063edcc4a451461028d578063f722b41a146102a057600080fd5b8063876ed5cb146102365780638d38c6c11461023f578063a17e44c614610248578063b8f770051461025b578063ccf987c81461026357600080fd5b80635ae6256d116100ff5780635ae6256d146101f85780636fee07e01461020057806378f4b2f2146102155780637a167a8a1461021f5780637aa63a861461022e57600080fd5b80630b3dfa971461013c578063299ca478146101585780632a7f18be1461018357806337899770146101c7578063461a4478146101e5575b600080fd5b61014560035481565b6040519081526020015b60405180910390f35b60005461016b906001600160a01b031681565b6040516001600160a01b03909116815260200161014f565b6101966101913660046113fd565b6102a8565b604080518251815260208084015164ffffffffff90811691830191909152928201519092169082015260600161014f565b6101cf610326565b60405164ffffffffff909116815260200161014f565b61016b6101f33660046114a2565b61033a565b6101cf6103c1565b61021361020e36600461150b565b6103d5565b005b610145620186a081565b60055464ffffffffff166101cf565b61014561075c565b61014561c35081565b61014560045481565b610213610256366004611592565b610777565b6006546101cf565b61014560025481565b61016b610a55565b610213610a7d565b610145610ea7565b61014560015481565b61021361029b366004611611565b610f21565b6101cf61106a565b6040805160608101825260008082526020820181905291810191909152600682815481106102d8576102d8611633565b6000918252602091829020604080516060810182526002909302909101805483526001015464ffffffffff808216948401949094526501000000000090049092169181019190915292915050565b600080610331611086565b50949350505050565b6000805460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061036b908590600401611696565b60206040518083038186803b15801561038357600080fd5b505afa158015610397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103bb91906116b0565b92915050565b6000806103cc611086565b95945050505050565b61c350815111156104535760405162461bcd60e51b815260206004820152603d60248201527f5472616e73616374696f6e20646174612073697a652065786365656473206d6160448201527f78696d756d20666f7220726f6c6c7570207472616e73616374696f6e2e00000060648201526084015b60405180910390fd5b6004548211156104cb5760405162461bcd60e51b815260206004820152603d60248201527f5472616e73616374696f6e20676173206c696d69742065786365656473206d6160448201527f78696d756d20666f7220726f6c6c7570207472616e73616374696f6e2e000000606482015260840161044a565b620186a08210156105305760405162461bcd60e51b815260206004820152602960248201527f5472616e73616374696f6e20676173206c696d697420746f6f206c6f7720746f6044820152681032b738bab2bab29760b91b606482015260840161044a565b6003548211156105ec5760006002546003548461054d91906116e3565b61055791906116fa565b905060005a90508181116105c15760405162461bcd60e51b815260206004820152602b60248201527f496e73756666696369656e742067617320666f72204c322072617465206c696d60448201526a34ba34b73390313ab9371760a91b606482015260840161044a565b60005b825a6105d090846116e3565b10156105e857806105e08161171c565b9150506105c4565b5050505b6000333214156105fd575033610616565b5033731111000000000000000000000000000000001111015b60008185858560405160200161062f9493929190611737565b60408051601f19818403018152828252805160209182012060608401835280845264ffffffffff42811692850192835243811693850193845260068054600181810183556000838152975160029092027ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f81019290925594517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909101805496518416650100000000000269ffffffffffffffffffff1990971691909316179490941790559154919350610702916116e3565b905080866001600160a01b0316846001600160a01b03167f4b388aecf9fa6cc92253704e5975a6129a4f735bdbd99567df4ed0094ee4ceb588884260405161074c93929190611774565b60405180910390a4505050505050565b600080610767611086565b50505064ffffffffff1692915050565b61077f610a55565b6001600160a01b0316631f7b6d326040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b757600080fd5b505afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef919061179d565b87106108345760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b2103130ba31b41034b73232bc1760611b604482015260640161044a565b60008054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561088057600080fd5b505afa158015610894573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b891906116b0565b6001600160a01b0316336001600160a01b03161461092c5760405162461bcd60e51b815260206004820152602b60248201527f4f6e6c792063616c6c61626c65206279207468652061646472657373206d616e60448201526a30b3b2b91037bbb732b91760a91b606482015260840161044a565b600061095f61093b87896117b6565b61094586886117b6565b602890811b91909117605086901b17607885901b17901b90565b9050610969610a55565b60405163167fd68160e01b8152600481018a905264ffffffffff19831660248201526001600160a01b03919091169063167fd68190604401600060405180830381600087803b1580156109bb57600080fd5b505af11580156109cf573d6000803e3d6000fd5b50506005805464ffffffffff191664ffffffffff898116918217909255604080519182528b831660208301528a8316908201528782166060820152868216608082015290851660a08201528a92507f293a9e87838119a52e3dd8eabf034ae7eda0da1bfdb33ee7721a6afca0b166b8915060c00160405180910390a25050505050505050565b6000610a786040518060600160405280602181526020016119086021913961033a565b905090565b60043560d81c60093560e890811c90600c35901c610a9961075c565b8364ffffffffff1614610b145760405162461bcd60e51b815260206004820152603d60248201527f41637475616c20626174636820737461727420696e64657820646f6573206e6f60448201527f74206d6174636820657870656374656420737461727420696e6465782e000000606482015260840161044a565b610b426040518060400160405280600d81526020016c212b26afa9b2b8bab2b731b2b960991b81525061033a565b6001600160a01b0316336001600160a01b031614610bb85760405162461bcd60e51b815260206004820152602d60248201527f46756e6374696f6e2063616e206f6e6c792062652063616c6c6564206279207460448201526c34329029b2b8bab2b731b2b91760991b606482015260840161044a565b6000610bca62ffffff831660106117df565b610bd590600f6117fe565b905064ffffffffff8116361015610c395760405162461bcd60e51b815260206004820152602260248201527f4e6f7420656e6f756768204261746368436f6e74657874732070726f76696465604482015261321760f11b606482015260840161044a565b6005546040805160808101825260008082526020820181905291810182905260608101829052909164ffffffffff169060005b8562ffffff168163ffffffff161015610cca576000610c908263ffffffff16611134565b8051909350839150610ca29086611816565b9450826020015184610cb491906117b6565b9350508080610cc290611835565b915050610c6c565b5060065464ffffffffff83161115610d555760405162461bcd60e51b815260206004820152604260248201527f417474656d7074656420746f20617070656e64206d6f726520656c656d656e7460448201527f73207468616e2061726520617661696c61626c6520696e207468652071756575606482015261329760f11b608482015260a40161044a565b6000610d668462ffffff8916611859565b63ffffffff169050600080836020015160001415610d8f57505060408201516060830151610e00565b60006006610d9e60018861187e565b64ffffffffff1681548110610db557610db5611633565b6000918252602091829020604080516060810182526002909302909101805483526001015464ffffffffff808216948401859052650100000000009091041691018190529093509150505b610e24610e0e6001436116e3565b408a62ffffff168564ffffffffff1685856111bb565b7f602f1aeac0ca2e7a13e281a9ef0ad7838542712ce16780fa2ecffd351f05f899610e4f848761187e565b84610e5861075c565b6040805164ffffffffff94851681529390921660208401529082015260600160405180910390a150506005805464ffffffffff191664ffffffffff949094169390931790925550505050505050565b6000610eb1610a55565b6001600160a01b0316631f7b6d326040518163ffffffff1660e01b815260040160206040518083038186803b158015610ee957600080fd5b505afa158015610efd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a78919061179d565b60008054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f6d57600080fd5b505afa158015610f81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa591906116b0565b6001600160a01b0316336001600160a01b0316146110055760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792063616c6c61626c6520627920746865204275726e2041646d696e2e604482015260640161044a565b6001819055600282905561101981836117df565b60038190556002546001546040805192835260208301919091528101919091527fc6ed75e96b8b18b71edc1a6e82a9d677f8268c774a262c624eeb2cf0a8b3e07e9060600160405180910390a15050565b600554600654600091610a789164ffffffffff9091169061187e565b6000806000806000611096610a55565b6001600160a01b031663ccf8f9696040518163ffffffff1660e01b815260040160206040518083038186803b1580156110ce57600080fd5b505afa1580156110e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611106919061189c565b64ffffffffff602882901c811697605083901c82169750607883901c8216965060a09290921c169350915050565b61115f6040518060800160405280600081526020016000815260200160008152602001600081525090565b600061116c6010846117df565b61117790600f6117fe565b60408051608081018252823560e890811c82526003840135901c6020820152600683013560d890811c92820192909252600b90920135901c60608201529392505050565b60006111c5610a55565b90506000806111d2611086565b50509150915060006040518060c00160405280856001600160a01b0316631f7b6d326040518163ffffffff1660e01b815260040160206040518083038186803b15801561121e57600080fd5b505afa158015611232573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611256919061179d565b81526020018a81526020018981526020018464ffffffffff16815260200160405180602001604052806000815250815260200160405180602001604052806000815250815250905080600001517fa47512905cf577d4cfae2efc3df461008ddb7234e91ce7f4eefcdb51e1077ccf82602001518360400151846060015185608001518660a001516040516112ee9594939291906118c4565b60405180910390a26000611301826113b4565b9050600061133c83604001518661131891906117b6565b6113228b876117b6565b602890811b9190911760508b901b1760788a901b17901b90565b60405163080549db60e21b81526004810184905264ffffffffff19821660248201529091506001600160a01b03871690632015276c90604401600060405180830381600087803b15801561138f57600080fd5b505af11580156113a3573d6000803e3d6000fd5b505050505050505050505050505050565b6020808201516040808401516060850151608086015160a087015193516000966113e0969591016118c4565b604051602081830303815290604052805190602001209050919050565b60006020828403121561140f57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561144757611447611416565b604051601f8501601f19908116603f0116810190828211818310171561146f5761146f611416565b8160405280935085815286868601111561148857600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156114b457600080fd5b813567ffffffffffffffff8111156114cb57600080fd5b8201601f810184136114dc57600080fd5b6114eb8482356020840161142c565b949350505050565b6001600160a01b038116811461150857600080fd5b50565b60008060006060848603121561152057600080fd5b833561152b816114f3565b925060208401359150604084013567ffffffffffffffff81111561154e57600080fd5b8401601f8101861361155f57600080fd5b61156e8682356020840161142c565b9150509250925092565b803564ffffffffff8116811461158d57600080fd5b919050565b600080600080600080600060e0888a0312156115ad57600080fd5b873596506115bd60208901611578565b95506115cb60408901611578565b94506115d960608901611578565b93506115e760808901611578565b92506115f560a08901611578565b915061160360c08901611578565b905092959891949750929550565b6000806040838503121561162457600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b6000815180845260005b8181101561166f57602081850181015186830182015201611653565b81811115611681576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006116a96020830184611649565b9392505050565b6000602082840312156116c257600080fd5b81516116a9816114f3565b634e487b7160e01b600052601160045260246000fd5b6000828210156116f5576116f56116cd565b500390565b60008261171757634e487b7160e01b600052601260045260246000fd5b500490565b6000600019821415611730576117306116cd565b5060010190565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061176a90830184611649565b9695505050505050565b83815260606020820152600061178d6060830185611649565b9050826040830152949350505050565b6000602082840312156117af57600080fd5b5051919050565b600064ffffffffff8083168185168083038211156117d6576117d66116cd565b01949350505050565b60008160001904831182151516156117f9576117f96116cd565b500290565b60008219821115611811576118116116cd565b500190565b600063ffffffff8083168185168083038211156117d6576117d66116cd565b600063ffffffff8083168181141561184f5761184f6116cd565b6001019392505050565b600063ffffffff83811690831681811015611876576118766116cd565b039392505050565b600064ffffffffff83811690831681811015611876576118766116cd565b6000602082840312156118ae57600080fd5b815164ffffffffff19811681146116a957600080fd5b85815284602082015283604082015260a0606082015260006118e960a0830185611649565b82810360808401526118fb8185611649565b9897505050505050505056fe436861696e53746f72616765436f6e7461696e65722d4354432d62617463686573a2646970667358221220bf21e62c8db82d401b403c33025017ab1d3f80d9b950a2220a3c716d2618bca164736f6c63430008090033031e6d017160cc45808f03ae2ad19874101d1f6126e4a5d3d04215ebbc2ee4a6ee03388a7904a9e89058a5dba47b3e543a4caad8ef54bfcdf094dc445a0ef3798766035290ad1d269d4ca71bd0a6d684b65a3f197ed287fb11ee6716d4ebed09a1730e03a47fcd53551e244c87a1c3bbad3fcd34671975cdd073a50a0623abcf6a7b87660339ba4bd4e8961248d01416f86c5ae0eaacce6032bca641ceb11571cee7542f020339731c28ff0eed9698debb0d7a37256bf25021ad54841a996b70d088b3c704c8034065693e091e534dc8ac3a60f91ad2e2b1d7efe4b2bd37fe1c077fbbde68a35d03418b6ee12273994592c179f0a7e0405e4528ec61afc227d945e3dbfc0865b9c30314353353fcfeee6dec292a43bf93eaebc135a4bfd47deb58622667c533d9215503cab4cf1cdd836bdd7647d445f8db73107fcbd45b5199940617dd01b03770cc4e035e40f5ad65c6665969f7b72b2c47376f8a567026f2dc1d19f8913eb18bff6c6e030b4e9263ccbfc1de5680a88eef3fe18cae7abfd3c82562669c003f44c79d6a0800581f0291807c85a621904af13cf67083027d75a30d52f677a9966aafaf84bd6e3749010e45160064b518db03e5e1d1beac09842759898e78cb5227ac394fb3df8a89ca6924bd8498b40bd06500581f02dac7636a2bb41f6b1077e71787fdc0c92bf01d799c1374b1e7659b7717b458207ca14c8fb7dc3167510580cb261e8609fdf27ac0cd1a3579363c5a9d8499e22203d31c29b168a56bd39a5d1f13b35242697291f18f65b09e0ec4749f581d558e0000581f02690d4b21b278f4b010a8afdec7057657f2229c2bb4d2dde000b2eb142ef1490121e68e0065a2af17034f9460c4d7f8f414b8428108c4d6261514bac8a53c0ae82b059bc5d3f8aef69b035d7b62fe0f7c916ef744ca00301ad6b7254e0a8d630528592df9ca7504527f1c0384dd2dd7d7488c2e8cd20f385f9a4ea94e2f30fa7cf0da74bc8d7679171a6f5000581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563546968f3f16c3e64003f02e121cf0d5ccbf5625a4200581f021700335bbe94e33597a2a803695337c0d84cae75b5c6995108abfd59db6e58209f4a3d5a7c540f5bb074ba3279f54465d60e95b7bb4b62cd7c62a73b22dc465c03ef1520a26ff28c4d5503832665fee6f3552253d487e1753547f9e0e43b8c72bb0219f7ae03092a30a5b9c5e7136c342f54b1f7c52b66eb00ba117e220db63111e61387425a03b2e2492cf83a823622f5686a9984950daaf925db2490029414c8af595a81ddf903d7e082d6e5daf6de53f6f0131e417abb29c651f9dcd8b68cce2587fba4792d9f0322f3408002f2928cd15f976925d22c2bd40dcedbb673f0aaed8b06aae56b5008031d3241f2ffb6dfc8e8447e1e74293ce2bf70de3f161b3f41ad184ec9512a984e0382aad2e2fa80368b89eeccf5a0d5ba187c336d4dc491af54a6caef19e442e87b0394a370b8f909482322dc2a52f9cc155a611efe6df4b18bf49afdd5402863d524038f28ab40e4cc2fb05f35392f5c4739c2aa56b9908bfb4fa7656cd029f5a3b54c0301bffecaf4ab2513541589007d051eeb7e20943a032194b10bb44e265e196d4b03eafa4650ffa8266bad594b04170d8783bbfbddce75b9c8ca44415b6e7da6710a034b0a295428e8a57625b6eb2ae452a3c571289e38f1877937a3ee9c2e7985db8403a0d3eacb8ffb570022ce69af36afe2e4d96104c5886134758bde8e1f77a14d6d03f557803554e5603aaaecc24dfe0cdcbaec28aadbb81aefcf2de57537b8194d3203bb9c69b950cbfc3553ce63a1cdc1dae5bdb9fd916b97ac57605b317b39c4be7a03e23dd5e78ae01a5ad08386325fa06a5f2d47831e61e622d3454b93945d1a80e70219ffff0333e4f61222b7adda5cb087f1bd539d32aaa4bdb57311e10a5b940f749379dfcd03f813e8efa37c3af0819018e34c1eb11c538460a34f0fdbeda48df5cae5aa49d203322accf7b1dc3988d1cccbd9590e8e8096599a1526949926a93671087d95bb5703c47dae298c2cf7671c0b4cf7bfe0403bad6df69094f5f539f89bda876ecc1857032d6f4f4236f3d7384f3026264cdca8c13e06da0fff216a9410e087cb3e722f0503f3bcd859de10bc5b71d962e56cdb5f5357722979e39c0390048eebbf9dad07620219ffff0359e810d6a75c320f1e8b81f392ed6f777f7338ccdc6bebfd143494090381fdf903dc0ca60f29d944d1f18874e5601566b31695deb43c6a33416ca23a62a6a03397030efb38f7495cfd24e641e5c90defba219826b567abb24ade77c692d760bbf8b40372c01a8b429ada1b7c33bd38b4a05da3e8612d6b6a4b4f55aea6f6586bc3bcb003ad8667e2bc02676b0780f4d9cf88eb7da54bc7926f3d32d4f07ff6684925edf003714fe75afec74ecb86f57ab01b183799d163e4c43b8407947eb3ec823e589e6e0349e0a407cbbbfa6a223e98d37dc7518450ccc5f49b98addc308afd08708a5795035f782110d7dfd66d9f576bb47d40804f95b10014fad343cfaadc5edeba9d7f5a03963bb3f8f39262cf7924661f73099a62d6e8151633ac3d8215e66cf6764d5f8e032df302701c9d51ebffcb2b3a4612a4bf291705451613eabdc5a52039a57d725b00581f02bbc261f16473db8e004a7199011093293d8c3927385df454f2f7f22ffba449011af81000654eb49f035b59dcc4f15f8501fa3f45ae55143b54a4ac39bfa434c2b9f9d4d6101b1ea91600581f0352bd4e9786f0afd32f672f9d492f6c8572aa611513ccc2fd158e4f8b49304901209040006592729700581f0381e7d912c47937eff2b3c65a3ffbd7be08c3a0da55aef7e8b5924537d2a058209114e683d8c2513695d779acf28066c7039a9d46cc25d100caae1822a33a6fb700581e02fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace412000581e0216b0bf3a1bbf59fe9c429c3d50f04d2272361b157e117749caa5120fe6582073a4834a8a9931c83d174a78dc0da57bdd88e0d6d556cadc3222b8e5ef4b0c070219408000581f03fc63c5bbfb85c89c0943a76e98d4260828761fc31b323b3bd7d70ce74dd0490114a1af00650207030219098103b6eedf8b16366080bcf6ac13d9bea97abef9830b8a90d12d627b72ba1c2cdedf01410c00581f02796a513c29153d457305569171b0d2eb5b84c76ee33a0086a8801d1f84b45820a173cfc775f723279a184d2c44f8876ee168a1e44c9e5a71e1afaf12429ef71a00581f02da3fc27c778a15e2ade1f7f9d5e578d0268a5e75a798c6d8290e8f4d13ed58206520f34c4159102f8f2f8ee8f0d579c90cdd85e5f2e16297478167950af2740d037a5d8d949fb08985105997137b35897c1ac135cda9e83b1da99da93790654e7e00581f02968ab9f7e53d6c6684861b66529aa086d3e5c390d6975ca6df9dc83ab638490114f06d006505c4b700581f02cc892cc5369918b5d48ecb782b19a1636ebc617de682ccc0234993ca7998490121631b00659c77c70219f3fb03009342d3720102c49de720202a5171c40d13ed5f36ee3ca825117a672872f691030f70f7900ebb2d02b2d62e13bfd13d42fc2d6b98b31bc02f35092404835d12b203bcba547af92a93b981d7b313a5a1b3cc1a9ff20616fca0443c650bd80380ab3403965c18813ce4058421149a7efc34b19d956bd8cb4f53a315aff25d758c6a6eb6036d483a91ce034274e98c8ff27a2e6a47f8504a8ab76cca2b1bd2a9dba7b4f31903cad1e019ac02fe69b31b259a943fc5af930bc62dead6fa388acd7169856cda1c03db092ba534894c8036c5287a156c64d27b972e96ef38ee5e8acc3eae29de0d0c0336c21a272809139f88b632943c9c25b5169f41d1a5b80a2ab30fb8b8977b307f037e32eb5fe10e4930cba94b9a2ba8b253443f61a09625a9fc2249cf4661f466c60313835af6b918f9aa51ff017b90f4dde8f8384944c67ba32ea90e8e46870a1ee10219ffff03f35f72c0d2b2b13747128f3a484b1e2b203d57cde23c5a8cd833de0ef4e14fd60393da81d9783da4520b26753063c6eb37018ab9a613dcfa9a6417b3200952a5e003ca16e7ba906cf729a959be9c104ed22a824591ce0ed1de4327c4d725fcc75c7f031fe21d295370fb530f1814880a95e314a63bb5f7c0cea55fdb8328fa9ea0b463039ce5f3ec04419bfada528a15c35622b936cc0d6aa683c0ba1a6a3b56b21cb11003ccbbdf730a61eafe148ec94aeb9e27e7ae5ca137074db4f752aaa09343fbda1800581f02ddde280ce82e1fd89dd38254adf8db3d7dc04935379db1af073346d83e3d490120001e00658b9d4300581f02e8b7d784517f01f17054c0847423eaea8066a56e76ba9f09c183a9d11e8e49011fe2e400658a3b5b00581f0224b166a6fc712b5cfbdf904f067a27fddf531358e29d37ee27f0d1c5efd15820020ea29bf8fc025773ef1da2d314d393969ee2f7c6dc4e96651f262dde6332420323ce1300a72a46108b3ffeb20bbbbf2df3c49fd3aac2aa1f4a65f0e5938d311b03887b8c211571bd2d4ea143b2d78dd59705729fa4f1b13188e3914aef445e9d7501410503b90dceaf42f6bba8fc165ce353dc07ef7fe64e4cbb765c1a218823ae1cfde662039b5405905a62f417fc54a4b35ce114077cf85e0fef7528d25b05512dcaf5f8880386d098c0d949a0fe8eb19d0f0faefbf5c1076e6ace390420db48f601b548c38400581f028924b91dc5ec27fe342a42efc79302eddb5c0e3a44c4934e05cd779ceac75820a6850e6b85460b22baa44312d0f43d3672d7ebe48d1ede59b17ed25112c39dc3038d4a91b75022dd254c6381c6b0d2db4cb4303e7b2ad3ad6ee3eb025a6b6df643021977f7037636febb6a3335a5be196b79505cec5a6592685b3af503a8d098abef4015e4e303632f6ded188463d2c405d97d5c6f9a2085c46ed1603b1d535036f8910ac8281b03bf890816b794f2778245f920b6e9d9ea4a7ad37bdf1ac268ea8967e6077c835b03a414c30b827b3adfb4c42342d94e82c81fcf7c4ab44214cea2239c51d9a86c110381737986e93215bccd5f3b6682e05d259048be787e585cc9ee1d9d606a3ec8160380373a664f93ae4defb87f295796d62f4bb053720845cd0c9f02aba420ca72830367d1839d67af5307a0e85ce419f70925697b3529aacede1df2761f529cff642f03ec72cff6e47c2289289f99831ac0706008761ea205b4e8daeb46ffe5e69db34a035a1efb13b9adb3b06fdbc981d8d4f0ad059f911bc3a48860f695f10a2861169c032df5ec140954f8f9c929de75f0f10c5e39e7fbf72509db7700f73b266a3bc78d03594aed450b9b802545ca75d4700dbdcdf7e614d49ca9c4947eee54f3b6701e1d038629bd701ddc0da71e3349527eae0c1f59f332906fca1110263d2d6bf778b06b033a2409cb79f033dbbf530c6ec47c2aaa614a6e89d83a089af465c0b313b1567c03717cbc9f3daffc66b5ec15ec76098748f680c218da3956260859305395dd613b0219ffff0388d0519fa67a4ecc4ede08cdd5f0280b687a15946a9cdc5c6633e7c6d0f0892703736dce43f00833fc32ef00d0c7074618c32909e049b56f8a550ccfd735d2386403e0e2501dd962b78a07cf136870b06abfebd35a36d72ba33e3a18ad121f31b65c03e74d8aee16368c7960f26d7a566204dc9758a1f074466e565bc429af58e8a297037683e7dd059fc0e682b1cfec9ce177b1e00d0ceeaad0c5ad34eba03c51d518a4035f1673ecfc9af9fb7cac8d9ba3b2f463439bc2bd1468d2d861cdf072d657955d0395e37f74ecd8ad6700fc2463347946dcb05090e900f8ce9a50182d0d7413265003a8348cf3f0ae8fa6b033c5985a8b4a414039815feee088a52b287d8c4397db7403cd4e5e2b007247f44cb3b6cfe4392626813919472fe610812b2b57f8cdeb70ec03db01ce1bad8e001bd323e006ad3dbd0e375077924ad651bc5a18210aacbee5160391864f3d7ca40d01cec1d4c8922fcf70984808487728c899647471e150fcb4830313b546504683f447e0620f4191c4ea784bd58a765c9d7ee2d1f4b74effc40b0f0219ffff031161528988d8213f34c052034314ca79de0ad9dd1f127184482178dbc502d233038b2e5211ddfa4e5f5afe6b56e67bb50c37bcb566f9d25dc2b15b6093c99d564303e566adcc5c91b2a65393f992d9149f66d50325304009eb619769585e790b38bb0362e7fd2f3a4eab67915183833ed765acfe90798638ba09aacbec7ce5f640f42b0375705f86378e1ce32609dd40a50c8bca3f816a54e72d43ad4402e5e4308970b10307da02ad937e256f182d255c4398b4d21a5367adf7d7e1bf56b89839e20e5e430364e29268e0c340d3c4ddbca0907955464745e90086ac0471932d08455037709a03abaceee4e3faeb567db5bc026669b76860ab9a3a7ab1d652238472ec501be7ad039c161ac148fe891aa680a60a71a5f45ea56611be25b073cb204573b97948373803ec9505d1b4e55d545e67102cb107cd8faf065b3c020628ef0e74fc6e0343fea503bbc5045783f83d041c9f1c26c7a125821138532823c1277fe8860d4dbaa33fb503d1e49a3a85efc6a877541380adbfc2f5c41ea882227daa98f6a4b461c8da2392032408921445552bc21655cf6d20b48913fba899b845c21c80016ba2c4cbe47625030c9edda3fc9814af5289c9209f854d4ce042580a4c632f9d9266b25b93cdeab10391b65f50228282f5b5ead7d1ad9217fce8905290e5b1482c0a2702138d42ce15034446b0389bf052ab6ec543d35f06d393e240aa3fbb1cb031470784368abfaaa400581f02eec4387448263807ae23e1b962b70df5530e5301907e93662402457eaf4b490122b2930065ac4dab03c9b3f69e89c4b81ed7fdb3ec081abdb772bd0cf7ce2a9be8bb4382514e7e682400581f02c6b17da7bd5f56cee1eb8fa85c8e7686a659a381b666ef9c18ff7428437a49010e5aa70064b61db700581f03bbd308bf009bdffa8722775baf773400992d50adc668e5fe560b9a5a0b7049011181ec0064dc3c8700581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04401c9c3800219040403d60ed1b77a34b1ea00174acb393920afdf730d341ac7932663ae85ad14fa77c601410f03cd48b6b0150262e786a2172f80d38681dad83e80ec8c16acafbeeadf689b474100581f0225e2964762b78f6a29485ede85332dc5f3ea97145f7791cf840bdce4e3d84901237c780065b5e08703a307ad49bbfcfe5ae09395000bfa7fe4395df61b43e9771efb226e54af0b2e7a030356e4990eae488cecdfbf14e52bffa954fccbd181820a863d19736d92143ee2034988a2eea0f6ff180e886c0d64b1f7496ab1e89c69b48b2ae5bc891bcb4acd4e033b26ee40ea7f5d4624b045f112d12095ba8d2b6ac000bb5386c37769a527feeb03dfabba1bda21d847c4e1caa494e0ea63a701885ffe336e254b9c8da7c4c93f6b03a3e73b738894eefb2aba2fada3b0af704241ad3a80b562633b463a599bc5e6320219f7fa03b97ff4979e582805e1bade7d94ed661247280ebb45f7f711deb464817da662cd03bfc798c5204d3512f176e28d5cdcc96e0b5f323efc24da4b91b683d9666231dd03406f5820ba505978be51ef23ff9207bcf41f18aa442aec12c663c5b48f00ab20037118571593bc416c316a27008aa4b0c6a92ed3e97d017a5f75cfc81d55a07b62037e402b15ffe4f7434e38fc0c42525ccefe52f8d480a3ee55aeb80c036f3c38ec036e66e60ef9cbf36df816159a6a19fa3935a81fe302be9abcf39ec6e07156bc8a03133d863cbdbc807cb4618b6f6baa91779df5c9c24ad403d19769de5e4817b7fd03a9ed9ec0eef27fb0c55e4c71189e2c118c36fb4912c96b39b22cab1e4cf53f9b0370b9e909cdb523ef299d06fb353ffe1f67a1098ec80c8e27b82aa65ae1c4a8800385b1658555fea08bc05a028a5e2b32c4c7060e308563e2eb397bbae077aab771030cbd58437615697227e410f5acfac8275ffda9403f6ffaf642fe78b6e6599d6b0398e4dcabaa1d367a2d7edb783a3f9f7e5bc9f2921fd1349f0b5f426a510379550219ffff0368c57ac2e581f020212f8b2cea2ad4dc9a04e9d556681ef99bacb3f3c42a551403bcdba79badd380c8218e24223b8b18150b1d47f1fc565a400bcc9219a50d490503217cb13b54f9c0b1395ee752be3d672552e43ce16303bbc0b0c4c61603df3c5003f947dfe3a86c947977e745bfe278ad105b7178ed5ba418db1a4cdde80b96f4f6032186ccb85cd4035a9907cdd55a1d67096b627f7a1b0f0bf34013507518bc8d100219ffff034818e574f8414b7af13e34315690a05235f40c7d439445aa92ca5ac267cfea37035aebe09c346fb28e9339cf570d7439c548d7a8c4cc5bbfe5ee8ae6166a477a1b032af3bd4927d3dc346a6d3c8b5513dbedf93d5e810b80f191df75b40c740205f703837046004b56afe0e72e2c9b54952788ca0c3636ca02d350e2c09388045caeb203b99ce274fb10e174d2628bc0d5408bfc24ee65e5432748daac146d6658cc4c880350d168219cfd6105e1ec93b84bca4b13dca716d997f5ccd1769cffc1d28e47a10377ca9873975228dc1510bf628afbe21df26ea53362909149822fe3faefe2b13403fd475441e3a86219b26f5bc67cb0ea1c1c4bf9625e50cd6b59d554a5bd2f4b5803c723ca7499cd68f7923c2397ba320d021525c352ccd0884987bf565f5db432940397e88042086cd9bd404c228a96b90c8207ead6191bff564904567b5c040ea2210324dc1d0660f532150e4b312f45fe95c2feee74474cdc61de9a39ff5f96d31efb03dbc69499a74348c19a7a97a28ce4911874d0524ac697986f8777ded85cb5ec5103f59a35577401a4eef2f5cf0f604072d3f3888bea2ca72771d967bccbe24a808b03c4d2db9f1716b1da85907c0e61c2b7fc19d5ec71e20ac56f7ca0bae8bfd5125e03696163d1217cc8d83049b80b39da3b1e2938caca7a835d6fdb94ecee8e69737f0363deacd242c3ed760c46d23b5d2d255d3f684e4e5d1746f22565441954a6d9ff03872181cdb5a82ee85b907da73e07f28d77b8532f796500f96f30e659a62b246b036cced9126dfc89efb26643613e1841a3fd52f40ce091a9c1ed149d3308b1e01803194e7404e4d7a8960ed82f1f3714e0872ba40864fca760edf86586e3ee2b530503c196dc4fcd2c4de9df6db9e6a595f8cc3d77219502a618f0dbf78f5dc2c75ef503d749680ea4ec52cac08f99925eab0db9fb6df91460dbfe06ed6dbd1551e8f1ff0393afecfec72872d60a4e69c51af8a1953b876e5f9ad6ac81647fce464cfb7d940377fdd7fb0166dd88f195ecd0378d2c7e0804a65e5b360440f7fbf0446839e976031bdbe097d14033227bf482bd8f5782eaf3def78ecf98a0064a19590ddf11d30400581f024f75b2de62dd1da229fe4d4e3fbe6a2853993c6d80a788dd035ca3d2a85249012312d80065b0e19700581f022709870669c1d79ecca70c67f454185de9552ea6aa3f02e28b2e065f63c6490120a814006593940b00581f0275f8a53810e3bfacda0ee5c1286f45c7787bd54fd983e8f680696a7781a95820c6f0cde2294a7266cdaa416bdf83a071eb1120cabcabf30c96164f5643d9012c03e4362a2bdefcc444c3057c80d20856742bcf181c4c59ecf0710842e0a10ba7e300581f02cabe9614c8d73b9fea823e392383ad208eb9fde5e55530baa0d144d2ae4a4901104c500064cd9e0703a6edbf92ce59cd63c528d3e3a57ba4080c61b19e8b3fabec6e237cc7011878be036ef2b7fcefadb8ddfbc61993db3cc7b5e7b555b731a213d776c7d3120cb2946300581f024130111a104b8af53cc46dbeb5bd1381495f9807e912ced12127a16264625820b2e79dd0687f245ccb39eb4295df850b02f0478f55eff4c0aa227dec8beac48a00581f02904bcfc3dba45b11e5784f999f7e97f6e95af4145784645e4c2bbc7811ef4901146e9b0064ff9c1f037810c6c9fcbc5f44e6779f325a10012ccb33ca2ac8dd5daa270c6bd6182e491603a271d99988c023a856620c3707e71b3c0079c7ae93a918f1c78acf604480bd7c030c9d4ee92b9b151a1b4608f6bcb859d784faf709db7052d95a5d9f01ff138c1f02196dff038541a340ceee4ebc9e02158665c80d171a724577240ce94e08940dd39c5758b40219ffff03a950d584af7e5a44d0cac742164438f91e96cad048b4a01e490ce8c7e582ef1e03ce1513e1d67106513e5570fc80e3d2c9d83d58738ff1db95968820f08143b118032dbe6d975acd41a35f131668f245a6dec3a38cf4e1c2d2a28abd7cc6c609bdb7034a61f27f196453b11490f9ed1d147de18fdbe54698b89ebbc7ee244e2dc5749003175dfe548d0c1b76c36a897af1b7ff5e485021c1d3e152582765ba036e72998c032d9d9ad836523294a1e34bd010cb000c7fde3568fdfad71960fa4e0ee05735bc033b2a31fc55b9f78eae8e8b9dabef0d80cbcc6e05f2cee880f6bcb183d8239b1303fbe57ab5ee514ee17c703bdb552d0d4f355eeacdf8ab01442bbbcab5302beab50219ffff03675b55ac2a4de26d26c4c88bbbbee41bfb0625ca90acdc38844cfe43a2f6e11d0312bd7785dc0e68ee729b0ad88f813d0ff9c736a3792a7709e12e4ffaa536252c03877e3c660695566c74f498105ca870898bb49e3be06beb33233ad43f0978e8af033155e24f5565da3f1577026f30194c3e257136081ae97b81bf5cd953f2a7c94e0392399d2f95a982f1e4ccccc1656ed6c1690dfebeb30ad785e7a9935622c50b5a032fe8cb6c7189b45acaf3ae6797d37775ea0c9182e6bb8afa5aa203174532bcc8036680fd409b65be18e87532634c11bb21870e2cdb7899ba71c6b57f91174657260361583c34240440555c98bff9fb018658a487a44dffdbb494d00b63c7cdc544c5037d6b3d30e9d378eae6f049f90281b553ee3c2048b7948d9b4a8ef76d8f81d7fa01410800581f024b76bc4fc8fdd5316f3275ecaeb896390b5214483a2ddacc13a61b56272a490124afc90065c46daf00581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0431d4c0000581f0357d0613f347d220916b436800ba3c6d0e9d23a8dfeb61d3610c34caa0670490113ce390064f8074300581f03aa3fe240afad0d429d3d7ba38d6a0c1821bf1a9259b4bbdcc0df7f0d174049011fcd0b00658931930219052000581f029cf02e837242d96f9e508830343d58d8cbe0f6bcaca4b6ea09b750f8c8c5490114eb4d00650585f303c56db3307a2865eee65e563e33c1bfa0d6f0ac299099aa736a8dc250e63a016200581f02a25fdeb229ac2f7103a8e758adb3c169d99492590518d758a2719bf9f53049011463830064ff160300581f0240c1d468934352ff3152b173879df537cc5421d54a55b4d6866361b6040458207e99e8b606a020556460fcec163a2c26342a471ad3b7e4000b937a3836faf02a03f747c39d637bfce6e717c975a40ef9bbdc222ffd33c55055dc84e24629ed92f703b3dd6d28b37ce09bad2e89b00ba8d6b0afa6aa477c0f0e7250c7b4bc697c3c2c03f7624d6568251321c0035ed22102423e50c00df0e88b22c99b4e1b6dacb0fef60219efb1034bb7d5777cb9d3dd68fe7c9dd7b3600f66ae2b49ada45fed8b3b7a86ddc1c43603351b523810d1954a7c52061f2ff1ad54074998dfddff4462ecd8c560163361fb0347dcdf1587273004416e24d968e5d840f541004b6fe4442ddea58fbdda63cffa0303affccec2493abe398c0d53c46f2b02ef4f63b0be82c4402b77a831e9419ed90378a4a257cfee3160532a9744a49eeb6c57846e6ee3ac2b3a91c8f9fd852d961f037491357fcc749568272c36a68f17785683c45f25b95a88b07481c2efb1138fdd0385c0c685a75771a662d7077ffe2a7a14546f4a60dbc853c3a138a8c77f81947603ef88c17018d8c06170c3123dabd816cf82965e4c48d99ea3b91303ba24987a570396e9a0e0a5f64d9e5afdeeaf8866f472de8c91cfb37a2c81c1d60747aecf42b803d8fbeb1ec533bd051572a49c26ac39c9cea69a028ace6f8fd20ff02d4d46c9f70219ffff0303eafc8917a1bfb8725f192a89d5f68d278e0573c0f689c8a2684b8499ae58b103216ab36e5e7ca833d7d00d3acfc9a711ea0f99ffb279bca59356af241542a99303c256f0417776cfed551518821c204e14fc931c51776a9acb4c56c2586f6780d603efe59e26b631d48af614f2c77c70ac4cfad2b2d1619c9c2837eafeb23e2ffe9603dbb711592283f93a9e88f594dea61d00b77b31e90981e209c100791c537a8ab9034dae68720ce0f52c493fccc9baa569799a4148634cc8de1ac2b73b94a6414ba60348ff167cdd8ea18c77de5ea64ac234b5adccc9eab731d53126732a41d64f5e44035045480bb3254193547424ddc6ae5a6b9bc94f000a94332dfe3b1a1c109f4b2c03817e54c7d140616b7fbf381c8a9b5aaa0dd4f7bff279893b1f3caf1244a5487803101e3b736673d9182a852ab020da573490e0a40757bdde119980d57097483e35033792f56b3f64cac9affbf1c5fc1b4ba60c99e57dd2fb273a810b93877519af1f03f395ed25ed717e79c597c6b9d120b999efef6a037b3e8c6abc74448aa0480fe00302f193993f5045caac73538c261495185c26491d53b8c14fd5085413d5052a200219ffff03b4f8ebc77d8071590e69117180f8b41ba702ba3dfb1331eac2c44121c3789ec1034972e2928933aae490bcf77c27b8bdccc3393f5c751f464b001c92e363b1d6d8038f658d62ac51981bab222443aaec7fb34a38a26a8006904d41702668d7c072b703e2cf5d5303f704f84963ce775ae19f506e4173c588c3aa11ada2e7bbbb26357d03bea19be988c455bc6857ebf9154ecf1f4d0496634f58bf64f973c3267c0be7ec039e68b7a4f61a4422aca108dcac2284f1eade1348220950653cfdb90839408e84031695273840df885394c83c740e8613eeef4783850dbafaecd1d9667d55bf75220378c3fa5c03c661ff2c0e3b426e6573ed35504d6862cb1749377b5ce2f44b8bac0311463fe8ce9a31d54da54a2a8a12950bade96422680e49405eed3ae5fda6f7df0313a878e62a2999f8a419d4c36d3164a78e0f8d66d87d114a15196bac03369f5e03fedfa106ba4439c530279ea938327eb41c6fd2df6894f6decd5d75c48c34ea5a03dc06c968c48d4d4d3048c13b9492c4adcb6772b44e37848dfd869da1c11bf7a9037cb27d94f299e6675dcd80b82ce126f5a9b25915927ad5f7be1b7b3bcfabc57a0392f046c27d58822862849666af91350d4dc2e6f70a6fdba6262beb4a96493570032ad6f9e6b8225822cfda01e5d92419a06165b46393f2549564e71ed6c2581b7900581f03f3061b464db4be9ed65bc2a65167857f094e09713a1c3ea1b8778d0d79505820ed601aa394877a1e3149ed0db137ad03ae5f894d4a8f4c45906b08e22c0d6c4500581f03f732d7ffc6c95534cdfa38dc6c3c7a0e06664381d6877d545939667f98e049011346020064f197d700581f0322313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f042dc880207034c8664242ba01e08b4914d627f638c8a7e680dc798cd103ef5751a267a98a2ad030934f21b2647ae4bcd0cf49f7749d41dccdff6a7ac4a9c80fa43bff52a10a8ea03dcc85fc657c256ffc9cb9fcaa01d1038606b3b9dfe47270b4fd918c467f224b60141080358634191f23518fd92dc4ebf02682ecd1892b7c4e9c523eb5d8e21356e172fbf0377026394e0693d9cc0b226d72ee2ee023bd90ea86546da379dcc460462475230039c15351d4bb91c105945b6246e90e3dd13230c1a0e0f904a9315473f6394669100581f02579a8c44c6e31d22894a4a435a87b212a47c200af4c9ed39fcd89ab0a0594901208a2a00659228ab00581f02d3290ca7d3fb5c66e54f471e2968c3fcfa92afbf4ad723b62c7c6d3e36c95820f2169b52845a319b1d245ceb85848893c7bf8cbb339ecdab80d638f038a2267800581f02909f503b4811b4ff0c8182a96a8f83794f8f837d177a26fbb0f53f8e2e0a582002d8fc85284a240df482516fd8ad0019ddfb4445c0927a86d10c55eedb59b74503e2025be0d876dc24d1427408c052cb1b4db9fb14fe142564d1bcfae8887148b202199ff7039ad3eb2811d53ecf47a702080d3d567b6f5fb3df242f95ddc900d07d5070c55c036fab3a503178a32fdc264dfe8c5f1ea34b9ab5d51351d65b4f3e12457ce66d880396f3211ae4fe83a015edddad608ba0cc92f6f14496dfe8f09cd747f3b0ac687d037cdd679259d3e54267c52b83998b61a25e5e3bcb9839dc2226e6e8883d870bf90304df82b1ddae8f17b55ceb0a644b3f906df403950fa44230871f32cb0381e34903549c1fdc660b39f6bfe4ca152a7569c5be7ad34ac019d9880c43b67379dd166e038b970006a065fb2ac92cba3c62966e3c4875e4878dc9254cb0caf4c89d7a10f2036c0cd1382b3d105bd684cd668e6d906639ca5ddc9d42708b056c5d004bcc2d0f0328435fc165ce74b9b75972d9b159aec82ace5325fed0d84062b79637c769c41603597716114d3ee771248cfc6c2a6ea340cd7f94ce32a92d0167b7acec15aaf1390219ffff033e00457299b94b0addc308fc53b1fac637777b0481cc5e067180e3fe22aea7f003f631e716553c08bfe4db4c026f1a14304aa4b58a47afcfc106e589be78a5975403d8c1cb32e6f56d9225201d439bc0eeed119af5b81d5600597cfd0a7e191de9c303938ea5695106ae5eec55002ef86737c8fc6ea2f284f3161c2833b4eabc7cd53b03382511951e3fc827841d737b15e67b398730f1baf3dbc6bb536ca499f7cb5c8f03562ca1b81014e0fbfc8a125bf60d81bc17305315ffa1ec4082388b02c2f6133a03432b1a85e17c963b0057f748cf0e9b00aaa1211889956f90e3903f3d11f26ee603cd24ece29e4147080ff2e0b74be92bcc2e387703c3d21fd17b65c57ef325807b0304cbda7404fd6157010404761b494a5b20722d030eafb385195d09dbf63000590219ffff0219ffff05581d02205a17f0d1f6ff65840a48899e6f6caa2c5c088d747879f098e0f92e070119195e05581d0229cd6d7a24387b250d0025183d1fd84bc47751e11fcbb8ec9c1dbf100c0147018cf7c57b2e2e0218c005581e03a82b5cd84b8176353f6238079b8af08dac8781051405e7b9dd4ebed0700c014733e5f5e1731e3305581e030424379def5f4eed88ee55d4f031caf40d202fa6b6cd9a2905f08c4a90040105581e032ddaa266b36a2e73295c787e2e47f66c0cdcd0acf334cf610b7ce731a0040405581e03777936aed38535e3ea17692536437f2da1e6df58a56e0d97dbfa8156800c01466518f6788ce0033ea841c5a7a8ac2bfc481430d8285ff1abb9b1c0dfcf14f204d3bd9f79ea0f1305581e03763c5bc98435be7e5cd6702528330710b89cbefcea3015591b253449300c024603dc55f7ed800219739103656e7790e28c175099cc597c7d4475f8f6f59d359c34704e4ab49da630c2006e03cbd19d0c3e31c71217b53a75a0d755e6635fb024a52f63c47bee8551f31ea402037e144c35a394565e0c1f3665a5d6816e2177b34577fe23df845170b13ab3b0a90373eed47d3c39100f1089e4ba8cd46896736ac6dddccc0b0c753d5c04818eeb900373bab411c6abb90ccfb0228e8ad2d0e32e7696bf24272ff98bab8a8e4651cab7037b97619dc9fb97a8f5aa919a85bc2253b30c77484d33ebbaa68d7cf1106b332003e6ad855e82338a24677137728d6e4b236467311d3f8566b2b9dd1d39bb6e0f5c03a7bfa225acdddfb1ba9c2bc332365b853a8c52c9ef61cc63d05a332da3353d7b03389277cd2218d17daa9ee629afae2cc1af31f9a17bcd470ea7a37e17770e276d035ba46e5b8ede34cbbc495c223f0f19537997afff4f748ba385f81ffc8b455f1903287010a5e6187bee25efdb8e0caed4b71fbdaf6c3d34ba64c8b822e0e41e6cc303b6dc85f3a715ebb076823f1879d702d1cd283d1748ed72f6a93a60d7539ef17703244fab2ad80ae659e9085af544abf9cd9e21f14ef18646a469a829d2dd111f090330c14cc997b137ec9579213a8a6979104b648bd242aa122a1b6a6a4a7c91dc090219ffff033eb59d37483d2a7af1f381ed706ec7ca43bf22ed0702a051b2b35b1c4c143aa503952b6d6fba61c0832de23a119316f3a5ec39a3e4868f038c4941e45e9fcfa88903c2a192caa858610fece5b79692d2827273502668df4f424b593840ee47a93bf60333dc0524a0a8bc1daf3c3c8a968c335cc97fa856837be9f376928eaf96a06ba103a4c2f66ad2af59919689d4c831d1f83f72cafa2697515cd59cc9ba3dc78e454b03d12de4d1c0436315f4da008117f0a4cca65b28f49b42c74aa793b8554069886e033fb36f8f686ff3b2aea053caeb26a736c1e4ea3175c5b9e245704e75c4b8318b031a84e479d5a7681159a2436af5903589137e7a0c4331f7440b66c0338525c341031b4a32f0dd9e51e52263155789b8d3b6a368db29e886978bbda07a6dff4e6157030c4de2fe1694794eefaf6ebe5405a48de02658961af55c66e1820920da1ab9220219ffff03c3eeb7ffe9071453eba4bfaea4a81f36eb94d66d85862b036aad112818de91820317545fc58149759cec383f3c42334a8795ba769489cfa006a9a3d0a7277530d1038c0c1e34b9655b526df88dc5cce54df575f759304c1b36193ba32a4f5e78a7a60390d7bc392a98262272136cc7ad97f7b35d2db2aae9718fb25162d28e907738370363a79150fcbc2ca08c35fdd2fcd27d0ed0486a7d7b0db0b1603a80be34ddb6e40219ffff038c35af1889f1971e661a0e573dce2bccec2e29811f5c54c52e7a69d79a4a6e0c035094a19254a3f19bf3f3614543ae098f349cdc1b5e87343718b9ebcc294eb9fa03dfb3295721a27be9d6ed21ea82883b8ad9f029729d4073d9047d5f4bef2155480330f1aae45d354287f88313e5758067a6220987998535854624da5dc249a9b7a103015188a79cfdbdbbf85d8b6f5f241e6b4093ad7f4e88b7d6a73dd6831742e917039b14e1969554a98e9752cfea0d4bbb42a074d04def6a03014aaf290f55c8cdd20306b281cfc328d17e29637e5be419e04cc74a4f43594a4b70e9d7f9cb66764ad4039dffd91b44adc1aab981949af58128ea8d82c1fbac9954d8e14088bb064a4ac0035819417568afbf3931faeb76fde4635a49624cb3d44d8575538441692d3bb09c0388b86e39523ede65fd003111c31b6748650ecc3848df2a42f650e376d7881365030191f7d354bb4e3078d0be0a323146682bd17efdde65382ed94494461c26727403a2893ab258b9860553199f9a80b8922f03e8edfa3d4664bd802f5413d46814c5031c19f689eb96f6ab694ed464e537611efe78fc96af8ef463ac891f5813acaad403a4288f0edb3421a7d08b8dc110a721e57020f411d798753b45bd3975f40e35460330913208f0a541c5a6219df8b1b9e72feb6cb992b32c980fd0a0d24a1192d01403f84f3411e1c883283767e60e3b07d88760bc2bb59dac50893873be59389379ca05581e03b32679cead7e3b766a1fbc8699c0ca3b8228258ed998a204f75ff88480040205581e03fde6b86d22fbb600218e1ae8c8e85f0888bf0b1670560c0e4f0229c6900c01470452c57910780005581d02de8368e0ef9e7715983e7f38df726eb7147300776c85e8fa67c7eb660c034701049b6a09a69005581d02aa25738bb24eeaeffd0c4f76445c1c35c957f10e3e5e4c98230b41df0c09471b0028e44b000005581d02dab2cafda3e1550a42b405934513acf9a7a95c425389b967f7d16f16040304590c7660806040526004361015610013575b600080fd5b6000803560e01c9081634ce34aa21461006657508063899e104c1461005d5780638df25d92146100545763c4e8fcb51461004c57600080fd5b61000e610362565b5061000e61027f565b5061000e6101ab565b346101465760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101465760043567ffffffffffffffff8111610142576100b5903690600401610149565b9133815280602052604081205415610116575b8281106100fa576040517f4ce34aa2000000000000000000000000000000000000000000000000000000008152602090f35b8061011061010b6001938686610532565b6105c4565b016100c8565b807f93daadf2000000000000000000000000000000000000000000000000000000006024925233600452fd5b5080fd5b80fd5b9181601f8401121561000e5782359167ffffffffffffffff831161000e5760208085019460c0850201011161000e57565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020808501948460051b01011161000e57565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5767ffffffffffffffff60043581811161000e576101fc903690600401610149565b9160243590811161000e5761021590369060040161017a565b919092600033815280602052604081205415610116575b8181106102685761023d8486610acb565b6040517f899e104c000000000000000000000000000000000000000000000000000000008152602090f35b8061027961010b6001938587610532565b0161022c565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043567ffffffffffffffff811161000e576102cf90369060040161017a565b33600052600060205260406000205415610316576102ec91610acb565b60206040517f8df25d92000000000000000000000000000000000000000000000000000000008152f35b7f93daadf2000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043561039e81610344565b6024359081151580830361000e5773ffffffffffffffffffffffffffffffffffffffff90817f00000000000000000000000000000000f9490004c11cef243f5400493c00ad631633036105085761041f6104188473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5460ff1690565b1515146104b657816104a6846104767fae63067d43ac07563b7eb8db6595635fc77f1578a2a5ea06ba91b63e2afa37e29573ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b60405193151584521691602090a2005b506040517f924e341e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201529015156024820152604490fd5b60046040517f6d5769be000000000000000000000000000000000000000000000000000000008152fd5b91908110156105425760c0020190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6004111561057b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b35600481101561000e5790565b356105c181610344565b90565b60016105cf826105aa565b6105d881610571565b0361061357806105ed602061061193016105b7565b906105fa604082016105b7565b60a0610608606084016105b7565b92013592610712565b565b600261061e826105aa565b61062781610571565b0361069657600160a08201350361066c5780610648602061061193016105b7565b90610655604082016105b7565b6080610663606084016105b7565b92013592610882565b60046040517fefcc00b1000000000000000000000000000000000000000000000000000000008152fd5b60036106a1826105aa565b6106aa81610571565b036106e857806106bf602061061193016105b7565b6106cb604083016105b7565b6106d7606084016105b7565b90608060a085013594013592610990565b60046040517f7932f1fc000000000000000000000000000000000000000000000000000000008152fd5b9092604051926000947f23b872dd00000000000000000000000000000000000000000000000000000000865280600452816024528260445260208660648180885af1803d15601f3d1160018a51141617163d151581161561077c575b505050505050604052606052565b80863b15151661076e579087959691156107bc57602486887f5f15d672000000000000000000000000000000000000000000000000000000008252600452fd5b156107f657506084947f98891923000000000000000000000000000000000000000000000000000000008552600452602452604452606452fd5b3d610835575b5060a4947ff486bc8700000000000000000000000000000000000000000000000000000000855260045260245260445281606452608452fd5b601f3d0160051c9060051c908060030291808211610869575b505060205a91011061086057856107fc565b833d81803e3d90fd5b8080600392028380020360091c9203020101868061084e565b9092813b1561096257604051926000947f23b872dd000000000000000000000000000000000000000000000000000000008652806004528160245282604452858060648180885af1156108db5750505050604052606052565b8593943d61091e575b5060a4947ff486bc870000000000000000000000000000000000000000000000000000000085526004526024526044526064526001608452fd5b601f3d0160051c9060051c908060030291808211610949575b505060205a91011061086057856108e4565b8080600392028380020360091c92030201018680610937565b507f5f15d6720000000000000000000000000000000000000000000000000000000060005260045260246000fd5b929093833b15610a9d57604051936080519160a0519360c051956000987ff242432a000000000000000000000000000000000000000000000000000000008a528060045281602452826044528360645260a06084528960a452898060c48180895af115610a0d57505050505060805260a05260c052604052606052565b89949550883d610a50575b5060a4957ff486bc87000000000000000000000000000000000000000000000000000000008652600452602452604452606452608452fd5b601f3d0160051c9060051c908060030291808211610a84575b505060205a910110610a7b5786610a18565b843d81803e3d90fd5b8080600392028380020360091c92030201018780610a69565b837f5f15d6720000000000000000000000000000000000000000000000000000000060005260045260246000fd5b90816020907f2eb2c2d600000000000000000000000000000000000000000000000000000000825260005b838110610b095750505050506080604052565b8435820194853590813b156109625760a09182880192833560059181831b948b60c08097608094818301868501351490606085013514169201013584141615610c165789019a890160243760061b9360e0850160a452610104850194600086526040019060c437600080858982865af115610b8a5750505050600101610af6565b869394503d610bcb575b507fafc445e20000000000000000000000000000000000000000000000000000000060005260045260645260849081510190526000fd5b84601f3d01821c911c90600381810292808311610bff575b505050835a910110610bf55784610b94565b3d6000803e3d6000fd5b8080028380020360091c9203020101858080610be3565b7feba2084c0000000000000000000000000000000000000000000000000000000060005260046000fdfea2646970667358221220c5c8d054d9d5df7c3530eab1c32506aad1fcb6772c1457f0da5443ad9e91b4a364736f6c634300080e003300582002ae537d192adf925b8db145bc33d365b00eefccb8f9db0862c1a10279c98755410100582002df8995cefc628e400e6ba8d36e6a7b4a543e2012655d8f48a3f401d187fee841010219028001410805581d02d6c0eccb3770dfa2bc20c3b100f0dee5532a92faea02fec37960e21f0701190c7602192c2005581e03f7cb0a43681faeedd73e90a98b10683cac28f30d5a16b7af8b775fd4900401033ee7509dacbbe57c5fa4140babdeeba296040a92de00892ad29389bbfae8e82505581e03a51a7cc403726b26201fbecf520c2710115865faf80d3de3b027619e4004020316d8727ed5f3ddb30a3de2c3d9a39e2cabfae3f0f81dd6af6a9517aa212cb2a20219e4c80352af5f21869964014291e318523454be63bfcacf866f85d0598de2fb0f24f9ac03b8988c9e1d429cdef43b89a174ce990e6f62453f089db861b01deb6d6bd0e75b037587cc086b8ad8b88d11c8e3d6200a29cba59532c151399f1762af82cb1d4200038166550cb4dbc0bcef7fcc76107216e6c643118713e20de3873c8468ccc27027038855cb4783802485644fa69a73d08f65990c5a34664bcf16f02f59b4e23adaab0333f3299fe32e332286726021762497ea87fb785c79f18ec9eca87eb8c6ae6d6003e35701bcb79ae85f755ef53fe9bc73cdc3ba7c7ef32d7a26ca53ba6943afb65603473ea87582f3a0c35ff7915bd4dab98e0ced6f4e72067fedb88418273ae97635039ad1ae5564a47b21c7838eec74af37be06a542c95a6c59b7607430f701b5029403ea098f8b535b5e7bab306f8a7cbb643445c8c5b94d19a8b75dd08f310ad19f6c03c97354ecf6f87f2ee0900f92833d0b5e34c14358363f82125d1cbb8a0f36cb9e03f5c5e8fdf85d76b194d98202932a3c408e79a1ff9493020f5b0f56cac8e83c8d03f75675df9bbccd031d7c96741e94974d0c4c4b3686f75fa9194dace11aa9505c0219ffff038ace2b5332cec9db37b674aacdfa727f748e552ae609fb167afce6fcf947e57e03762b189ed98ffa8a7db427967d7ad0e5b45832c1c624f928e5712174674a81c403c9443bccf008efc3d51eeef76f3897e2804e6e8cc436b608d5e2536c6771abc203e800063901a1e12d34beef49361f6a8cf6498cbf3e46f8e8fefebfff179d9d2203a78926421a82de1a4fde105c79a974b7d2c9ef7de901df834d3965a7fe6d335f036b8045fa3053c6ab4d2a49ca8e1da80ead9ea626c84f70785f74b0fdbd857dfb0219ffff03997826122341ccf4c1e74ac94091e80984bd1d20559b1f26964c9e85382aa89d0362442ac3b90b9bd357b98a988a1e076219c7333db0d470b734adbee6d333f93603540e18e7d071e9e693bf546396218093be2e6323fb4455c085f2ba09c66c81ed0359ec5216005edb6a209a9cd596b88f8d1c30c524da851763f2424c0cbc9620e90360e3c422b0aa24c0894f55f20f7c1a38fab726d472a3a9bdcb18d4f0b151e26f030a63c8fb40a69283b4a9c6c33e8555003b5639d7108bd25ce73717532f00913203796a5165d948303aac192af2cad8088e65dc6fe5409405b5bce989f7494a0c5103fabb997ceee222006ccbcad4a54f4c668afdb0969f8424c6f22391adc756329c03dfd729d4de48c6b8cbd2b498f3d4612ac381daa3e312748cfbd53f5c17d2c98003d154d62e04d9e92c7e105da9bfce66c49eb2a3a6e0083a07c95d6d5fba388c1e032a85f41454417254defee3e3d506b9dfd6208e9011f87aeb678d111c15d695d203dac6209826f8f11b3b61043c1ba730df8cf4637a06b221b45edcbfb385eac0a603ceb969899602d4c33ab39a127b3096c9748176c00b8150e43db55fadcc3278a8039e7affe6a175e041117e69140d9e73a4640c4941496ee43e09ee3d54f9e4b97c03d2f77dd8db191f765596c86a2ad3ed153896930ff8b419dd8944189bc1c2ae4b03c088e39dd4362a7efe2dec7a3ed441f2ce611352799c6770f55c6df64848c730030aebafdcf78fa21902285289401dfcba5476ffb5cbf0890b4a4ad8594ac5dd6b03c1c1f3ec6943c61cb9f723f3169c69a1b2355159057b0088147ee7697d7f92bb03a86b3946c0fc77aad6474f764e6ea903c361dfd161454139b320ca6e11824ee20371497a309d5618b735f89da346f02e33393fcd8058202edb1d2e9757b27acb9703d2a137b0556f4e963ddd40e20bd484a0b7be1e869a0341f7deb5166f1faa9ea1034ca71cbde04ae9563048a6e52c1d5c324e35948d5423c60d2a56a664d923410e033e546a514d8925baf5aa3d607e7dfae8e2c30ca485d56914031cd9a379c27c940346080b9a9a3b8cf5f810ed5806cee419b8b409d4a7e05fcb85295a50f2c713d003159b8d55f5d047afaf961ea93bcd420ea0ee0964c6d25707e5210d8a1a05d73c03c6ffa48039720a47ec32e55c23b69f7fc675b0271c8a9120f1bb8985a9ebabf305581e039746aa0b9fdca4bfe486ca84655d143db650f48d1d3316bb8013c3d8200c07471f3597633492b205581d024d4254e4dee3d6ca2b3d357cb05e7f6b9d8be5e6a9398f05d119ab67084801aa535d3d0c000005581d0236d4c6c1a46ef2c8b74552d3f25d42fce72949246803828505c050c204030219081003feeba3bf5c7baee9570a130b0a9513f6c5d2b3bd8156f31efae9a5f79f25c68005581e0360e745a4947d307f780f8bcf92fcccaf8ebb1ef43534da2e1d2e07c510040105581e0339c15d4f555ffc65534f17213f642f475d784fc2eca9924e5d1a9521c00c014704c032424bbc0005581e03f1868178cf9e22bd0130b0628aa9720f47687c15a0bb5a91bc69c072400c0347017fa9f958af1005581e03fe0aba64b7ee5aaa97c77c3fafcecc4fb0bae5534159c78459195edb900c18334768b604b0350d5a05581e0366d9f45d0c24ed335c0e5af17b27529447e844b7a4bd451dffebd523f0040105581e03ae26376ffb3b8211fb3008d8dd08c6b835e805e54671f05d93c807792004010317728840336b9ba0bed785f0779b25e25245dc74eda6ff3f27ca68ecf06c18f90219ef1a032c3e1991f22ad7c820353a350e5c2292f37d16bc9dac365b7bbca32b9853725e03e0d91cbcda598f929b03c7ba9b90b7d9177ddea518027d795e528d521e8d10190219ffff03bd6741c0cbd71f79ff1054637e7c2bcd4435fe7a48c678ded739267387ffab5603eaff90d7631c725afbece317cf374cdbd733ecc8cf9ae9fd679faa677bd69afa037bc06f3ea8d5c72a467db1d9cf5feb1c528ebdcd061f14efe66c00d69f0ac96603d4b6f0b3ee35f5760debd60c78f49873338b7593415f18c26e5657753838120a0364eb96903f034a54d21a0c81b2704f73aae582200764b92cc02e91803d2095450386130b7f3e123e2928e20901e280fd7d2ca6b4663288644c7f6c7a45cd5e021c03de8f21c83cb44877e39458083f3a31c0880364898806a455d0b7300523d11ac20310c798c197adf9b2330f144afa791a0249435868e1678c051dec3c11c088312003e60beb994843daccb25552add5f2683744497f6b7042803e9e867a4ea8b6fdce03d6e31964e66b220fe847e72f8807af96d15aeb9c7690847b0239b895f18c8bdc034c4239a552f2fd06d8f44bb840e71f8c2f3a34ccdd5ac2f2879b12e45b962ea3036f60a5673ac2e52014b2a9c7fcdcf79cca29f35212c42601b3254319a6468ef20219ffff03aef71633a4aa9336f3e17f6caed4af16e66c53ab70433956f8f30a83114284da0219ffff03b28d2a29df6b385aee61d645e189772aaccf89eb6f886e5f281038fdc64db48703278a9600407cdf5a18969972f3532e0f39cae472768a4906a27d170bcde50d0903c203add131850011782a38a5a668df3a782a0bd9cc2f6338412674b48b2b490e030a21a9f55bcbedbb9a4cc5c1fd0ae8c5172f18b38da24d44c747f0c74435971103c389e4765845aa3b8fd22d3b6f0e7e823bb1249d65bde888bcb94132d2b9ec4c030eed3748558a6cc42544f2ffe9eddd7c856d781677ddb60238bcfc88196e1a4103efa85e13631fc745a2c1d66176259c4bbb618da1e05085968a645a8b7162c5a60219ffff03b5d72b45b676f8699f092c1a5eec4701c5486914b9dceb869181a8ad7d9b8e4d031d6a088aa28727e875e4ee4a1eb533eed7cf932cf522e84ead9343788386078f0352997b8aecbdb4c1841f7a3e18ead2bec2bdf6859acbbbca3e745d61f9ba9512037d789a33898596fb0a428d4b44090ebaca8238fd3ce2563d3fe4475cdf5ecdf303e6f1835a5b6f3f1f5fd49c8755da69922328beb206f7439937da8560cd5fe2590378cf76f9caa6f13978f934d17b714a36ac6f9547110b20812953811d8a65a399030a18204f75cd4af930a3823d7110ee77b69199212ff28ab831e1c847ad0fc1ba030e2c9a01c9a6bff63fe9f63950f000d01bf40906f45e0b7db1075e2605667eb4033877364429b7a7cf89f3cbd6000b1dbe04dc9b75bc63b7268a5a1d7c2ea46727035ac48cb2269b757e11fd71b140699b69c18f99083111f3bd60fcde32b567cd9d03dbbd9230580f05cfb6ccc43dfb30682d46e0ddc9802143c02f9bbaba3deaff4b03892de5afee519769a40adcf8852d8d383b4d945e6fd252fcd284c7f58f1d49ee032fe7bff1b22fc4a5b9a2cfef2d79830cad258c2279f7408226ab4a9c7f7cb45b03306d8254047e562eb7e2cddb5817c86bade8ed7a2ee179d2bc87b25a3a7b074303b832ed80f0b16371cd63642c5e176a3537671cb63542a30633ea5f6ca4b4ba00030565cc075bba54c66f605a9e7c3c0a6f99d97b6d5552b66eab8c26ac55978464032d86daa443117d68939bfedadd136ab961c665f22b2c1688dd6e2c12c3e7f46c0384577ef5fd29d3ddddb3f31b6eb419f48f793f331d597adcf5c220735b561a920323526520219c6d5d5f7b012bc22d199a24588685366a6bb87b720fc1d74edcd6034df5810857c8df52adffd798cb6774bc31ed417cabf4f20a29319f46339dbfb10379e4b6478e47e21de270bbb3c7a5c5f263394d97c5643dacf5292b15db4a281903ac4bb73736d91252dcb8490643bf0db65b466af15fb405798a64a603aaedd89603f1bccc341ebbd33ece401d710f1830e870f273717ddf91b28cc8255e8207691b036269eb49fd4f7f8bf168e6dba7efeb1f6f70f863cefaa78d67ec32fab24e0ec403c90af19e60284217fef8bebbee6d0539b2635fc41409b67712f79c9ac4db2cd303787031d33392c585b50f02538c070e2f606618de1fab76fa097b397c3bfa516903ceaf87fc3c90020bb2067488ade72e1547736f2d4f66775295b2e5243daa34d60332245853a28c283d1ea0a1c5068c29ed463ae78ce4984894b8320b9dc20e7ce60391172668d51140f0c100663b5b20d5d1757e69954d9277a6fb051a6a4df44ece0367ec978a7da4f9eff17324d02631e4794b8a45d1967161127d7d2f8122fb79dd0337d96a1c06c4e41ae3c96ef2fe453c9195f0819a18993e9f81a4d95b32b14fca039389473aa0b12a39f9ef76e1d38a4c495c299b2d06ac8c67a10f095f161c130c0372e6c298d80c34afebb8a17d17da79e4264dee5bb2db1b3592e0e20244ccdbe803455beeed9fd82354cfcf38b029b809e31b433f14ee2146a4a5fe77ef6ed3b939039bdb312b0cc1072419d0a1f34c7535fbc34cabe6d558368d1e1c84ee032ab6e703df420f0a36943b078ae9b2154d6096247d85dfe469559eaac157d8d02badeab204592da0608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610def565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610e28565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610e7d565b604080519115158252519081900360200190f35b61036a610e94565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610eb0565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610eb6565b61039b610f95565b610400610fb9565b6040805160ff9092168252519081900360200190f35b61039b610fbe565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610fc4565b61039b61109d565b61039b6110a3565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166110a9565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611463565b61039b611475565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661147b565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661148d565b6040805192835260208301919091528051918290030190f35b61026161192a565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611963565b61039b611970565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611976565b61036a611b6c565b61036a611b88565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611ba4565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611e70565b610257611e8d565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612cc06027913960400191505060405180910390fd5b600080610767610e28565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612d1f6023913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43726f44656669537761703a20494e56414c49445f544f000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d612073565b89156108e1576108e1818a8c612073565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff16636c813d29338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612c706026913960400191505060405180910390fd5b600554604080517fe380f72800000000000000000000000000000000000000000000000000000000815290516127109260009273ffffffffffffffffffffffffffffffffffffffff9091169163e380f72891600480820192602092909190829003018186803b158015610c4757600080fd5b505afa158015610c5b573d6000803e3d6000fd5b505050506040513d6020811015610c7157600080fd5b505190506000610ca6610c8a868463ffffffff61228016565b610c9a898663ffffffff61228016565b9063ffffffff61230616565b90506000610ccd610cbd868563ffffffff61228016565b610c9a898763ffffffff61228016565b9050610d056002850a610cf96dffffffffffffffffffffffffffff8d8116908d1663ffffffff61228016565b9063ffffffff61228016565b610d15838363ffffffff61228016565b1015610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180612ce76038913960400191505060405180910390fd5b50505050610d7c84848888612378565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600d81526020017f43524f204465666920537761700000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610e8a338484612634565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610f805773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610f4e908363ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610f8b8484846126a3565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff16331461104a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f43726f44656669537761703a20464f5242494444454e00000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c8190558061112c610e28565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b1580156111a657600080fd5b505afa1580156111ba573d6000803e3d6000fd5b505050506040513d60208110156111d057600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b15801561124957600080fd5b505afa15801561125d573d6000803e3d6000fd5b505050506040513d602081101561127357600080fd5b505190506000611299836dffffffffffffffffffffffffffff871663ffffffff61230616565b905060006112bd836dffffffffffffffffffffffffffff871663ffffffff61230616565b905060006112cb8787612784565b60005490915080611308576112f46103e8610c9a6112ef878763ffffffff61228016565b6129b9565b985061130360006103e8612a0b565b611365565b6113626dffffffffffffffffffffffffffff891661132c868463ffffffff61228016565b8161133357fe5b046dffffffffffffffffffffffffffff8916611355868563ffffffff61228016565b8161135c57fe5b04612abb565b98505b600089116113be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612d42602a913960400191505060405180910390fd5b6113c88a8a612a0b565b6113d486868a8a612378565b811561141657600854611412906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff61228016565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461150157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611511610e28565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b15801561159357600080fd5b505afa1580156115a7573d6000803e3d6000fd5b505050506040513d60208110156115bd57600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561163157600080fd5b505afa158015611645573d6000803e3d6000fd5b505050506040513d602081101561165b57600080fd5b50513060009081526001602052604081205491925061167a8888612784565b60005490915080611691848763ffffffff61228016565b8161169857fe5b049a50806116ac848663ffffffff61228016565b816116b357fe5b04995060008b1180156116c6575060008a115b61171b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612c96602a913960400191505060405180910390fd5b6117253084612ad3565b611730878d8d612073565b61173b868d8c612073565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b1580156117a757600080fd5b505afa1580156117bb573d6000803e3d6000fd5b505050506040513d60208110156117d157600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b15801561184357600080fd5b505afa158015611857573d6000803e3d6000fd5b505050506040513d602081101561186d57600080fd5b5051935061187d85858b8b612378565b81156118bf576008546118bb906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff61228016565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600881526020017f43524f2d5357415000000000000000000000000000000000000000000000000081525081565b6000610e8a3384846126a3565b6103e881565b600c546001146119e757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611ac39285928792611abe926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b158015611a8657600080fd5b505afa158015611a9a573d6000803e3d6000fd5b505050506040513d6020811015611ab057600080fd5b50519063ffffffff61230616565b612073565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611b629284928792611abe926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b158015611a8657600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611c1357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f43726f44656669537761703a2045585049524544000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611d74573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611def57508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611e5a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f43726f44656669537761703a20494e56414c49445f5349474e41545552450000604482015290519081900360640190fd5b611e65898989612634565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611efe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905161206c9273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611f7557600080fd5b505afa158015611f89573d6000803e3d6000fd5b505050506040513d6020811015611f9f57600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b50516008546dffffffffffffffffffffffffffff808216916e010000000000000000000000000000900416612378565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b6020831061217957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161213c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146121db576040519150601f19603f3d011682016040523d82523d6000602084013e6121e0565b606091505b509150915081801561220e57508051158061220e575080806020019051602081101561220b57600080fd5b50515b61227957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f43726f44656669537761703a205452414e534645525f4641494c454400000000604482015290519081900360640190fd5b5050505050565b600081158061229b5750508082028282828161229857fe5b04145b610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff84118015906123a457506dffffffffffffffffffffffffffff8311155b61240f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43726f44656669537761703a204f564552464c4f570000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c01000000000000000000000000000000000000000000000000000000009004811682039081161580159061245f57506dffffffffffffffffffffffffffff841615155b801561247a57506dffffffffffffffffffffffffffff831615155b1561252a578063ffffffff166124bd8561249386612b98565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612bbc16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff81166124fd8461249387612b98565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260409020546126d9908263ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220939093559084168152205461271b908263ffffffff612bfd16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b1580156127ef57600080fd5b505afa158015612803573d6000803e3d6000fd5b505050506040513d602081101561281957600080fd5b5051600554604080517fbb44dff3000000000000000000000000000000000000000000000000000000008152905192935060009273ffffffffffffffffffffffffffffffffffffffff9092169163bb44dff391600480820192602092909190829003018186803b15801561288c57600080fd5b505afa1580156128a0573d6000803e3d6000fd5b505050506040513d60208110156128b657600080fd5b5051905073ffffffffffffffffffffffffffffffffffffffff8216158015906128df5750600081115b600b5490935083156129a457801561299f5760006129196112ef6dffffffffffffffffffffffffffff89811690891663ffffffff61228016565b90506000612926836129b9565b90508082111561299c576000612954612945848463ffffffff61230616565b6000549063ffffffff61228016565b905060006129788361296c868963ffffffff61228016565b9063ffffffff612bfd16565b9050600081838161298557fe5b0490508015612998576129988882612a0b565b5050505b50505b6129b0565b80156129b0576000600b555b50505092915050565b600060038211156129fc575080600160028204015b818110156129f6578091506002818285816129e557fe5b0401816129ee57fe5b0490506129ce565b50612a06565b8115612a06575060015b919050565b600054612a1e908263ffffffff612bfd16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612a56908263ffffffff612bfd16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612aca5781612acc565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054612b09908263ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612b43908263ffffffff61230616565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612bf557fe5b049392505050565b80820182811015610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe43726f44656669537761703a20494e53554646494349454e545f494e5055545f414d4f554e5443726f44656669537761703a20494e53554646494349454e545f4c49515549444954595f4255524e454443726f44656669537761703a20494e53554646494349454e545f4f55545055545f414d4f554e5443726f44656669537761703a20436f6e7374616e742070726f6475637420666f726d756c6120636f6e646974696f6e206e6f74206d65742143726f44656669537761703a20494e53554646494349454e545f4c495155494449545943726f44656669537761703a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a7231582072febb9060e99697097d30ad78467c0deb02dffa096d3e1e0b5f205a8bec5dfa64736f6c6343000510003200582002f97f59bedd72ba69acc56ce7f1c395ba024592500ce86a2171466aa7aa05fb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037e0f4de20f6eb55f2689b0fb922a28f34ebcd428acd2d866fb0913d4de747cad0058200380b491f9fd0c094d9e56d91e0b5d67c7b3a8150e4489ab7fc570c62a2f33505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00549deb29c9a4c7a88a3c0257393b7f3335338d9a9d021842005820025a7711c4732d36ac9d217582797141761763ea01fb0f32349e1169e7534ee45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200298348ab69d2fae282cdd19adcab46c88fc99123b6a14ba260979d341c850fd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002f4dda7bf1e75fb94d0ecd8915d025713aa715569b423f6322912258c5d62cd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002c5229947710591b8aa388d0558021c5bb4e649d94ba950b7410b88d18117ab5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03242f3d9700345c9dcca59e697c86872db8de50b0cff5dc768bc891147080f65303bee6531017d6342bf65b7224ee961ea2ad18f8a2c8bed61c9510eeb4371b360a03808dd3b869045896518cfbdb08f2b77250fdd5f7bea74d6eaa7a11230aef0c4b033fe1350f69012aa283bb5083df809d704d36815165b74955500731fdc4d5040900582002049cfab5d0de9c191ab954dc47e147b37be7b45444dbcf9efe85d276ca091a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0322cd500fef87f8af544004d18bf1988aa5b2b08d60fcc5e725e162cb81d2ab87038012eaaea2d49e188b85c35881da387c86bfd470ee359f2704bc07714153296002197ffe03f842a44f6271194c800a46378e7e37b32c8ac4fc213cfb9ded3e54f199415a0d03cebc1f27238e4c2aeeebe7ddbb82d69444993d2f46ae5c2a0fb6239e97b416590373f1230235263aebd91029b83912246260167172e275327b49454ea20a11aeed038c5e45a0de3060b31da8f659e6d2bb89d871bd05c93098ac663758aa16387175030d79e385b4c405d934e300a0269c5336ed5ea76c3609c772608ef2dc55bedf3e005820020fba0dcde7999c6a16b09a6aaa7fec42519511fc9126a6ab9dd791331d53785820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200295bbe3633daefabc0a297db2fb3e1c4af651575a06e23133f09802534af71a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f846287b8d1478c817e0365b1d6b114bb47210380343c658d5c8715252d0a21203adf87f26f0dbc4551043e9507d92a518ae4222640cd939b7b2408ba5b95c388b00582002faa6a5dd20aab3b1e99f78b788ee8cda7db38a4f2b007055a4713456fc72eb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dc3fa4a601b317d3cd413ea0662d87aee4e16fd77caefbc34e572676fc01628f00582002f19f6e88afd03ae18c03beac70176da26233b6e152ed072bd9b2a341619d035820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820022812c233c1dd651b21509c1126b5b69179bf5eddbe19af6d6112fc896a984f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820029e7365d6906e89ed6885e0e3d86aeb4a8a746a09c05c94bbdcea0a2b87b4035820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0334edbd339cabfad99d74239b50a1354681422f7d8c1dedd261412793be2e2e90034d8ce4e4b962a9b7849fc96a37acdb25fe732cdfe864a04de2612b0fb46b833300582002e1f4874ff881ec5b9dafe6976e97c8844dbbb1ee75263c1ff806282efc2c425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04e388a87dbaa4d1fe407d3c9e43d0000582003548c820f55c5765fc090cb9be125cd014acd5454202b6f1dd1374a940fab305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021904020339c1f4e6e4348a8c5ba1e2bb15a9b814bd87197a43aa3f9e6379a8911d2c9abc0219fbfd03e17c91157aa9597bc52c7b077dfded9b02afa65a411f6023cb3ae2ac26cd5b0403e5e12f59a9feccf25a4d163a0431b2902c5dfb6cd92b1443dd62e81911455a330385d6c031504aac12315a34ba8eb25ccac6495d254ffc03192133045ff8ad97960301abfd2cb4d1dc098ad70d339fc82f5d0c8d8bf2fca0ce98ac64633b72e3571c00582002891bd5cc8c452a28227a6c372af7aebd9c3e61edd13d500898ee5c944b04615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a43accdeaf824690e1fc8e9280797832661da05c7384ac6b724d26c7d827b15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820020ea52bc3417535d426f3923725c5839e2984fec66f4c91fdb6c17a5f7f92535820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0310f3c88786849d8eab946172033bf825884969ecf5b4a9d7bc7f7f451aefba930308795c57ea9e9c0f2a547094e99350a30ec420ec727bf27f78326ec578029a80005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854dac17f958d2ee523a2206206994597c13d831ec703051dc6c36ac717377dfad2ce81fa0da31f7ebfb03fb4dafc0fc46ec9c1a8754f0387e01e8f08fdf94872720512c29158cf37de32bb3e4ecc559d9b0f8d0452cce30333e82b06e54eabd08245b549400f1cc7badc16bb2b10722d9a378230f790b1f603088d69bcb0924bb6809c1ecc29c123fce363bb3fb925dc679976316216972b0603fcfe1c3a20f9868705e293a505d870c3902b51589e28f0c2aa903e638ffb63a9005820026d5538e7494f5c4aa419ba4c1f40d094794cb4a729edea11122f7a14f46a065820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ca1deaaa3f4a41d0af1afc7fd11cd7611d7ad3dd9bb4e26ae0c9de22037fe14403bc338b42b5ebfe3f395354b3b9b05648de5f8bce9cb3a317d9f6023ad5de71aa02197fff038caac95cf54a75d5bbc5ff585773b265e52bba42cf87830ded5edda3cbbd2bda005820024319cc30c2ee9337333850b4047da2d471a9d909aaeb63f754655abd95e7fc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036ccc25db422dc9d7fdc1ac59d8960d9add799803993fb49b28ab71046ecf85e500582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582035d0d0775f752229665c70afeb1ffadc3ecfd47b89dbc44e74c57220b12f47c70332c526f6363ae28a12aa8cc5f5dcece1d997df99c07670d10cedc1c68aaf782f0058200286e8cc05c7b32bcce5b3a1ea336863de7f394773591465ed514206ba8787445820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8560102e780c1384e7abba2bcd68a7f624475b5c2083b79005820023ece8834f998801762daf076c81cfb7cd9af78684efb75d4d6131225e225655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820027cc70c5ece5679b996d7eca15a78ec0ba87271ca2ddf535d9a44ad5c3ff5415820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002d6f65ab6c7ef13e130660b3436cd33bd471a5dcc010545261f0054d7f511fd4607e548a013ee00582002660099d6161d28b958f62e0781d1d3f977396bb61b3510c53d6f165eaf8a355820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f8964b4a49d5f346f31e3a6f6c4a835db312af282af7df3679cd5725d28fc10801410e03399480d9d4aae763a1cdda3da173993b334cbe90e63dfb61ac7bf1f21629e3f503fecb775b2a5345bb49da17224d6c3dbaa6faac508dd6967fb2ecbd4e6bb893ff02195fef03fd61ea6d292a5b652e65741a11cecb4741fcdb44e048ffb5eeff071c67e6237800582002fd7ad30e3b985077e07e4978c26ee39c0216cb9ead451119656d61500cda895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030b65699ad9e50d524314699d58f30e6825941a82228613803f1cea3990da3f5a00582002c30245f1dd8b4bb539ba1b792f1f30b86f77b7180a3ee037b5a8a7212d5c575820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002cdb09329f527db52e224d7efd9c264c2a4c901976448069a8ef34b5a2e897a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03646fea3b184fc8f6905a250d50e7c1322bd2df15270c8eae18441166c431e6a3038950b49a3ab9a7e3010c6dfd8f1a82e13ba8a6da80516fb2b11d212a9b9ca34900582002cba982d5db42edf3f0645ec37d0f61a9156f4511980571d040ccae1b74f4b045ae4235449003be88d2190da22ed9b7d369bed8bbcb9568ae2bbb86e30e18044f92002d1b6aad00582002b99b25eb78cadd59cc25a6168d9a59d595099dfe4bb3f04f03211300e39a2e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002213ddb4e6624d27ff06be73c72b3c82403fe40701a247f4a2c9f286980308e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ff6e7b7bd314a6fb48351a3475fc5942a2ea97bd0b2957e7f914fa51f8fd296300582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005820036037603f4bdbaa82bad75e86e122e822e11c2eba50b6c0d65a707d811ba0205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021940400219bfed03db3b537f5470884a9848e0ff6f8903f32120b801c3225a9e39b13479bd51f48303db35aee3920d81e17a0acf741b7d16f88b3a0fd74893212fbdcee027a22850e703e56f06b8d479729d40c186528f655ecd83e01aeb42d17b66a1e5bbfc5711acce01410f0058200262968c045d287debe4404ecce48f55ae2bddc2604fcf7dfb8884e44935a4a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820031b4b2ea39914931ea44d0084dbadfd387937e1c3177f3aadaab0c591bd43e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30582065cf5d1b0000000000000000001cd8952adc0000000000025e03441fbbdbd66a02198020034385f5ad33e753f4f948bcb0db610878728fea42bc4388fa15ea20ec0c0568a5039daf01cad0b8d9e9735ef5b1f4c84084fee25d279bd5b68197a84a9fb08b464600582003202fa6f86fd2a53f2a12130ac19f4f887bda3fd342afd41556c0ad6fee19105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc202182200582002db2d6acc418c9d39a35cea1375a6afbe563d1325fa6bb47c051ebd3151d9145820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e3b016b81fc411954ecf9b9861f043a97f8449616b12af8f1c85334d139c0fef03c9e8e211342117aced915a3e833aeefbaacaa3efe64b166c7c2e2f85a32e66910058200233cb205e3ea44186ada570747440d113ce146d4528995cfb0922087936195c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03892a1d147169aeff90bd515c440b70c3345619d7aef1a69a0696f7fe8a8fa34502195aff0219ffff05581e03e90f243bceda2b088db77772fc065c60d7a940feb5378c5bff3c76f7700701192da005581e039fe040b1a29ae74a370b6bdcb28dd166707f5e214f10e09f94fecd6460040205581e033a1ea244b4b7a9bee5dff6f91fc4d7c2707f24407b90d70b9c7dd0cd30040403c31d4f1d20c508bbfee30676d1cfbbcf3cf7c14ed15d38de82da81e44ca0a7f003367e193a5e2953322c9cd9b514b863fa316ab9cc030bee0cd9d638632935569d03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03e2f09f27b0f3448a1f2ea35249d5d9166bbdcef7a786c0f7d6e453e15007011bffffffffffffffff05581e0349487719318ad85bfc569ce386384249c01f13e0504ee7491e0b5c8c000c03470dbac26526c0bb05581e038b851f25f98816b30e95ced35d99e9c99d0f90aea1b542f2e818514c000c024704a8e9ef99628c05581e03a38b49eaf29999140ac6f875e692926abec6cafc8dad08432c416b7f60084711c37937e0800005581e0333e89e4c27616cb3b3b0540db1ec825bc2cd0cec81fd7e937aed406880040205581e03364553976111e46ae467edb8e4a7af1c9400d5d2905e4f69e74b576930040302194fb703c7821eb8685d26418765b924962d1ea0257abbb103435b38874eb580e1ef32d603248f3c32598d5348962f4672465d14d02e87b211f80355f2cb1e5e2e4d4c33320219ffff0375439d0f974a42f536b3c257aa9ff759036f649fa334be6a1daf7a2c8b5c12b803d5c589a75bcafcd4a09646d3be44ee7b8651f768695fa85fd19ffd37dfea18750374f70cca3e7d539e391061e4979eddf1c491008cbf89dc8771e039429a24b82903a93b3c7df9e34d17e3811db58420d6158382329ec0bfeaae5d7ae21cb4f7994a03485303ec1619de1cf8b0f41905f6ee351e27e07dca755a823711909714cbaff403878f72c7cbbd4fa36c35c2c60f5346af2969c1bfb743d6b495448cc5057e131203a999d481459f61506e61c6d2e42e1e3866675ec7054a7a0336ccc1b5880b3f3b03ba0dd9fa52037f0b7057fd714145fc4fec5060981158085136988759ad5a14830219ffff03961c732bbd1cd8c716bbcc9d8db70c3fde592e394bb8691da79607e4b4d1e3bc03b2919274c9621c14e9e4e75d77858a54ecca0441de9083f0548826c61d31016e035e6febca38ef2756ea78038248f105b1ffbce58c3aa15c6f59ac0d6a729257d803fcbaacdb87c58d38a3e6f6b6754165095dc8dd5eed5e0d8d5b8b5cbf2c119cc403739635782f5e0676f89ec3b5cc1b8f950d05771bd68cb80f312ace53bcb8782203f16c05ca86f7135ab5180df5eb964c57ed10be3a76e0fa8d0f0fa3b3a9f1ac0203cda56fa10d868bc08304a3f0ef05be1b1d064b5157ce60ea1a56f17da0c2c06e0219ffff03c8ad328b61020b62b372a401df30af132d850c3b5c99e4ef6f2cc491e04c868403f8859718e6ea0fd0bbf0edd5ff3bbdab3b5c7603962825860b5ce9329206baa503072de42372a2b7c5d8cafc39f0ee7003bc2da1a54f1d24512eebd7aa3d368b610368a79c829c8a84f59f3ac3b1443b953efcac02d10288bfa86c0c8afd9a98d3e0039718d096b2972c856f9848de42399793f988f4df40507297a7f8e0ffaa1b4e26036c960fba7e20f1675564d4e2bc21cf7adae61169ab36c273d182a2de949503df033bedd9f3d5056b53d6800160cdae150bb5b32c34b9796ce3d950139d639c5d81032ead6f518f1ace2407825240f45615036386fb45a58029896b19b33ce1d5e2ac0340c0fdb37f0827f5634f990ed8ff9e15de9d75f5a204db7bc62ea6edf2710a1c039537e2be416e868e6e09b9faf7347ead7470831f3134f23dfe01d9221289fcad03e79c4f7759ec14ae41e45dcca74800a3ae696871d1a97e45140c9c4b89bec7560382320e542b3e629d353df4ff2c5ac6c22677e729d6115a37d6a005b2391ffed603ced82f3a5ea3b7abdf1455142624c69ae4fe87e5ed609dacaed2b9533ed5766703023c023fd0a234442e853563da14cdb2653e6dd71b3508607199d6ccf4845b3e038e972f6280ef49be2e46cb794029315b3032d68f4b2f26fc8d29fe284ccb837e036e7333a8a2e28b85d5a7c016d5dd0e06adf028b4d9c5948e86e77b5ea4acafea030075530fdafbfab0a1389ec4b5192128228d1b626a93d253a8792ef75389598e05581e03dd36966dd1c2f6c1a01d6c34bb1b3df86c0afd1163498656ea4ed74de0040304590e58608060405234801561001057600080fd5b50600436106101585760003560e01c8063788649ea116100c3578063dd62ed3e1161007c578063dd62ed3e146102c3578063e816d97f146102fc578063f26c159f14610328578063f2fde38b1461033b578063f9f92be41461034e578063fe575a871461036157600080fd5b8063788649ea1461025157806379cc6790146102645780638456cb59146102775780638da5cb5b1461027f57806395d89b41146102a8578063a9059cbb146102b057600080fd5b806340c10f191161011557806340c10f19146101dc57806342966c68146101ef5780635c975abb1461020257806370a082311461020d578063715018a61461023657806375e3661e1461023e57600080fd5b806306fdde031461015d578063095ea7b31461017b57806318160ddd1461019e57806323b872dd146101b0578063313ce567146101c35780633f4ba83a146101d2575b600080fd5b61016561038d565b6040516101729190610c90565b60405180910390f35b61018e610189366004610cfa565b61041f565b6040519015158152602001610172565b6002545b604051908152602001610172565b61018e6101be366004610d24565b610439565b60405160128152602001610172565b6101da610459565b005b6101da6101ea366004610cfa565b61046b565b6101da6101fd366004610d60565b610481565b60055460ff1661018e565b6101a261021b366004610d79565b6001600160a01b031660009081526020819052604090205490565b6101da610499565b6101da61024c366004610d79565b6104ab565b6101da61025f366004610d79565b6104d4565b6101da610272366004610cfa565b6104fd565b6101da61051b565b60055461010090046001600160a01b03166040516001600160a01b039091168152602001610172565b61016561052b565b61018e6102be366004610cfa565b61053a565b6101a26102d1366004610d94565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61018e61030a366004610d79565b6001600160a01b031660009081526006602052604090205460ff1690565b6101da610336366004610d79565b610558565b6101da610349366004610d79565b610584565b6101da61035c366004610d79565b6105c4565b61018e61036f366004610d79565b6001600160a01b031660009081526007602052604090205460ff1690565b60606003805461039c90610dc7565b80601f01602080910402602001604051908101604052809291908181526020018280546103c890610dc7565b80156104155780601f106103ea57610100808354040283529160200191610415565b820191906000526020600020905b8154815290600101906020018083116103f857829003601f168201915b5050505050905090565b60003361042d8185856105f0565b60019150505b92915050565b6000610446848484610602565b610451848484610780565b949350505050565b6104616107a4565b6104696107d7565b565b6104736107a4565b61047d8282610829565b5050565b61048d33600083610602565b6104968161085f565b50565b6104a16107a4565b6104696000610869565b6104b36107a4565b6001600160a01b03166000908152600760205260409020805460ff19169055565b6104dc6107a4565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6105056107a4565b61051182600083610602565b61047d82826108c3565b6105236107a4565b6104696108d8565b60606004805461039c90610dc7565b6000610547338484610602565b6105518383610915565b9392505050565b6105606107a4565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b61058c6107a4565b6001600160a01b0381166105bb57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61049681610869565b6105cc6107a4565b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b6105fd8383836001610923565b505050565b6001600160a01b03831660009081526006602052604090205460ff16156106855760405162461bcd60e51b815260206004820152603160248201527f45524332305061757361626c653a20746f6b656e207472616e736665722066726044820152701bdb48199c9bde995b881858d8dbdd5b9d607a1b60648201526084016105b2565b6001600160a01b03831660009081526007602052604090205460ff16156107015760405162461bcd60e51b815260206004820152602a60248201527f426c61636b6c69737465643a2073656e646572206164647265737320697320626044820152691b1858dadb1a5cdd195960b21b60648201526084016105b2565b6001600160a01b03821660009081526007602052604090205460ff16156105fd5760405162461bcd60e51b815260206004820152602d60248201527f426c61636b6c69737465643a20726563697069656e742061646472657373206960448201526c1cc8189b1858dadb1a5cdd1959609a1b60648201526084016105b2565b60003361078e8582856109f9565b610799858585610a71565b506001949350505050565b6005546001600160a01b036101009091041633146104695760405163118cdaa760e01b81523360048201526024016105b2565b6107df610ad0565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0382166108535760405163ec442f0560e01b8152600060048201526024016105b2565b61047d60008383610af3565b6104963382610afe565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6108ce8233836109f9565b61047d8282610afe565b6108e0610b34565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861080c3390565b60003361042d818585610a71565b6001600160a01b03841661094d5760405163e602df0560e01b8152600060048201526024016105b2565b6001600160a01b03831661097757604051634a1406b160e11b8152600060048201526024016105b2565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156109f357826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109ea91815260200190565b60405180910390a35b50505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146109f35781811015610a6257604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064016105b2565b6109f384848484036000610923565b6001600160a01b038316610a9b57604051634b637e8f60e11b8152600060048201526024016105b2565b6001600160a01b038216610ac55760405163ec442f0560e01b8152600060048201526024016105b2565b6105fd838383610af3565b60055460ff1661046957604051638dfc202b60e01b815260040160405180910390fd5b6105fd838383610b58565b6001600160a01b038216610b2857604051634b637e8f60e11b8152600060048201526024016105b2565b61047d82600083610af3565b60055460ff16156104695760405163d93c066560e01b815260040160405180910390fd5b610b60610b34565b6105fd8383836001600160a01b038316610b91578060026000828254610b869190610e01565b90915550610c039050565b6001600160a01b03831660009081526020819052604090205481811015610be45760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016105b2565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c1f57600280548290039055610c3e565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c8391815260200190565b60405180910390a3505050565b600060208083528351808285015260005b81811015610cbd57858101830151858201604001528201610ca1565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610cf557600080fd5b919050565b60008060408385031215610d0d57600080fd5b610d1683610cde565b946020939093013593505050565b600080600060608486031215610d3957600080fd5b610d4284610cde565b9250610d5060208501610cde565b9150604084013590509250925092565b600060208284031215610d7257600080fd5b5035919050565b600060208284031215610d8b57600080fd5b61055182610cde565b60008060408385031215610da757600080fd5b610db083610cde565b9150610dbe60208401610cde565b90509250929050565b600181811c90821680610ddb57607f821691505b602082108103610dfb57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561043357634e487b7160e01b600052601160045260246000fdfea2646970667358221220df317bebc68c4cfd4ba211faabd7b405b51f3a29e4230c294ab36d7cd040428964736f6c6343000814003303e8c97f168da3f5e440c9841d2e78f4c10137862e8fa74b7439f169023fe680a20373bfe54107ca8c08379e00d0c342beb18e162756fef479087de16e97f407553c0377146711779aafc2de51b0f1d908a9fd06363df9e31ab2a34cd865aeda525dcb005820036782ea7c96d9d66e478053eb76cab807174deb66cc608defd80813a58ada904a10cdf9e33cdcd2e90c440324529bb3a79d0287f1c7e92d70187b90d39ce6867a87e5ed31f57d9cc4ba30c903f44de484f8eb82a966d60147f4385a171b2f1b54f949b16ae38ce5778b46cc8603c944463191c2659c4253f56154e04d01db35f3ed868e0f4071b88b2d1870fffb03f2d3c3d9d19c735b7ec866b5d4fe29e5563ac82e58a2edd51dae97328c26d81400582003f2f3bedf82197652c5306e71efaf78d589f23dfe4a723284653169aacf66304a01dfe73834b994a7e80000581f0296583a5f07e3b777c092bea2355e0cb1d1ea856cb0e9e6e8b56220ad10e4410900581f02702482946f195c5369974e4dc93babeac2e7e1397f132ce5c6391a9fbe5d412400581f03384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00552deba735e0b089e134e29eaa4bc908ecc6dda6b20000581f03a26231f69c274074addadda98f47f9bac842669c9b653721979e585334e04a11273b2ed44c3553bf0f0219024002190c100380f2601c41056de81d5bfeec95f90b0ddb1c96464aacee5f0d643da8cfd79f860058200385251426490b6f45adf1ea7b8ae2e9cc439519b69a36df001f519c0b464dd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a2a4d9192ae562acbd3ed6a82dccaf359e99888c981bfc8373b2f80bd8937a2c034a5c5364da9004420dc534d0785384fd2b6299af430c5651dca8149df8bee294038a89c31172b08dad624aaa28a3dc6cf7b09f6efb95c11119187f50efdc42a93703f49e6d87ada96e9bd1cad5455f1a1d33b1135bd8dc07f775d6c31d0be4c0d6f0038bc938ea6da6166e17f63688fa124691778dbf825098142aadd69bd3d3fc9032033857cc11bbeeb1b00dec7c5e27d13ad449a19c9d3d8ca54c033462221c66597400582003c55836dbfaeb864b38a02809eec400d7b159b93d26b63bc317c09c488c99a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff03e6d119932accca53722ec0325fd2280424a3e585e2c2d5902b7cf81d2cbeb65303aded77a3670fc11c953e7b4c42725a0fa22ae434eb6d60a72866326ca3c2e1b103a649ecfb551b9865072b50e8f2773be57177c18f682c8525938dc0f1db1978e103940fe18f3cd065802970082d5207c3e191c30d14b10f29561c4b81e253b5b30e03a4aeb7dee91dbd5bb4b9ad652594880ef4c3acf283812a31bd417cdc6da8775c037dc2625dd7f096c3d4887c4e18ce6b8a6e8cfdf9591d212e6daa94f32c464267032897c7c2b51f5eca542111f50de89cfd7e2103430834b97c9c1cc534ed59beb7037c91a00a6cf494913571113fef4e908af570e175884bceadb8c03de0553b9cf803b78a5cfe249f4a1304dcfa73a3b0571cd2e274fac01e29749ce5cecb30675622034802ee527d78f19605979b955d10a5263aeb72c6f75eb05b53cf1905b2123e1103067b5c54a1a0735559c46b9843144e3b150aefea1b54e5b7d8afe2083988e7c7030c0cb79cd1cc57771c09d753fedde7c63d6d5bacdfd5b880e7040dba3e7c1ec50219ffff030384fd107b7281147a0e270fc860c0f61c77a47808e36db19140609db0bff1170386993ff315ed08b231c35989d6b47cbd749c5a8077a4da9d7a44c1e35119a3df037ec9e065b309226d95f69fcb56fc08ba6f769fe22aa52a9c64072ba4c65ecdaf0303ab4c3f82de3829ba5e57e4eece9a92b2b5381ceaf60c398d01201eddbfe193034edaabf6791db06d2314facb933f31144e7251573d6576f9cd4eabd869141c690379ef4cc6d41ce53f10bcf0904a4ee01ffb0a4da30d7619d27c167205e118a1b703ab2c8a713ae49e3229009caf6fc4d51c67217b2c0a2f538c67b396903849804103642ea57082b794b86b4be3262089e7b75ca44f348cf7774a88087c6ce0f65c3803932aab7a24a89e3c4f46d2781d4d0e21ca997e2efde94bc28782e12754e9d70e0307193c1881736045fd41f28952ce21c93eebfab30d20006069f247caf18b99a2005820030ebb9833c7977a0cc6b3a3b22437d4aad825aa6e535cbb2a861814655e04604a072c9b5b92b07af7ece60305659227b0854e8903dd17913bbd404a4eea02b71e9dd29ae5301d8ccc3f234f03d966dc0dff37a22ea5c67bdde5c3e7af21c91ce6d2e70567486fedfb3198741503c1077616fe998de4e252f3a9309f083255f205f6cf6fd541ef674ff67fd914b50393144f8128ac0797e41fcbcb806b8a1616837b5015c5b7f3e4433a141bab15f6034d8ad0d6eac279aeb07a64a8a6dfb5807aa0e33b9d9a3d85cd30fff87608860301410703e5f209daca1de40d66432f2b130a656fbaed9683d22aa5811064ec05c53676a100581f0271a6ace4441385583066045d228719618c2646517f5e450ecf760ce467465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f6252d7aa61d88be3993ec448e8969668b09ea7d684976cec49e810328304a1e29b7ab50c3a6d443a20218420058200324620574f888b5ea27ce10b8d6b4d3002e3d20c1820ab05829b3fb12f047c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0389c0ff850080dabaa9d164fbca03f976e64787277ef480a3cc6669df944bccd6005820030e9da4456978fd3002bccf98da90a43a5355d18a4b3611a7aad57913a31cd04a012d716686b995453a4603e7496eb1f362587f87ad31f7052cbb16ef5cce5ec261fdf7ba62b9477ae87a1b005820031ce9a0c3fac6019c02eaf095934ae9148d89728d567b2b6d24af4befc115204a18d5506e7d8fa00d06ae035d44a6e8272f0d9aedf81d33f8a48f23290c2157f836151a44f52b48de86ead403ad6957c07016dd1d675dea1eafd13df903e594cbb80d8a00f1529ddfbace0a3e0219fffe0358eca86449e323ba300bab74aee4787f1c68008c79728e26aa7e5c6a06965ea1037c96425d732a1a6d2c27643eba0c3909b9cca1a0ec9d47fc6f9e52f819382a53037856984de34b91d7ac529c7a28f2d836751ad67a485349d36fc769fef6459c4003fec36c87b0805242f5e187ef91e090c2328be647bb2aeb966af207787b90b566034449064e83f70255856805e6056e7be3ab50484c770ff3dd06e96450207b65e303ec645b3950305ceb30a18523321f2c126599e04a6a7812d9e88508eeee749fb10219ffff03ce1c25a14a60084b55472cbc159681574c5677ff148bcbbdb0df07e663f1fb8f03eb2fd9664bb7397fab3864479e9105e8b4960044f9d4d8ba7ac8c3864a69a9ab0384da98a1dcc35482b76372facb6a8df8e208ef890184acd57bb97fd65f78121303999c2ac261a5ec202981ff0728a96bf6eab1a515d0e975455c73dda2f571f9640346c52e41a2e555ba73002ab04a719574f648f17623671aecb16cdc38f84021310390ca9fb9c8f3740780b28fdf66697a1a15f71953dfe725b86c52191a8a4ee3a60323f007b2cd494c0aadfc0a5773c2d64a1f0e61a2af989b699d18863fb9285fab039fb719a089e33185a6f7f10cabfc9702514429704ad7117123a14909ae9eb715037da792ad87239786d10f1e4a5ed94bd364659f9c5a1abfaaf65d05122772155203eaf93ac42722287e6074431631e045c395bd72df014133fd1f8414161290b9ea03865e588679715e05276e98d3e74fdf0199897ab9c4db669ee408a9dac759e57d03abd639bc87a6a934f053ccbd98029f188ac9d8a4c22adeab31637a0c35d0039103435c8e182332dacadaf002a7e62a49a3383361ebf4b66c32c8dece66e82e540c03af37f710e3fa771f32613a9c220eaac0d242ab17e6b685af7d482d0914e415d8033b003827179f5ddb3a99fefdaeb2bd3c3d9ab3b93579424cd35490b6e01e743600582003e9cdebb5a99936710c9be38a8ff1e2bfc75d2a9fb74f2dc3c4a985f60084404a027f6084575a19bc440d00582003d2b703f0ba6516484ec42768158122c349aed00142ac8ccf73f308887d4f004a10846372f249d4c0000000581f023e932bd3a8168037595b682ee558756ea2f32e36cadec4b24252ec2c04564c0101a2290375a44b3f87800000581f02a92d19534c511d3c31b67e96fbe33ed2f6c0acd2282e1f9e223f9aec82f14a01be9e9c76d9df9a66a6021940080219e7ff0308954d28be8734464b6c3399bd26489675dc604cbba7d40ec1a5e431b24f703203a10dc3591aa0c9bfd8648ddcb485b3758edeb8b33aa37387d1a5f339525da8ac035b78047f4c48b52331dd72dc1a0f38d5dfc3eaadc2ab310afc702ea3dbacae20031ae1a9f3ab8b62ce8bc0c342a36403a7ec66c4c5e9096306e9184a05c65b4d8c03b3a73fe5108cb23a396a675ff8fa6a1eecab9215105d49ee42bcfd2ac2b7262d0327c4434246cad829f47addbb9ea1501ecc064f47610afcae9ae2dfd6716ab44003fbe4bb9fce669ce694d94c57a804898412e80a7c3fc09cd46bdf302178a5563f033e4d89ce7e64af59133f109f73f3ce5324ad55cfc9d4d100ded4c46464754ed60329f1e023cba0ca4216dce7b3511f69cedefaba237ff5e9c3dda2c05deeaa242503309ffcea7f8209e627e2e3361a9120cfab7a600fd7d53cb3aab83bb4c5f29001036fabd1ed9896da1fd084259f68701ec00c32fb3a95fad7f4ec8c23f4b95e56770365061a7cf8e427173b457b7cfc18febb446991ba5d1d9fe1e415a6c763ba077f0219ffff03dfccf5ee225b40c3fee0268aa63731860cc7cd309a7cf3f3988b49b2f0c06abf033bf0bf3fd4933af31a40dcd42c06a75b3421f47e7669b62cdbb69eff02dc822d00581f0233dec328fc987050928ed4cdb27ad109c03a4b2b53d68ca999f87957c5484aeaba3b3e21fede5134ee00581f02e6a8e3a29627c13910064d43e361d6240bb7241b6c9c5568ea715b5f57f25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028f570e726d63141c15469ff85af3fc43b173cf058e53d862beb86764a3e34b06f6fba81d383939df700000581f02cd64a6b0e51382d4e8b6b89104218615dd7640b53e6ff9987253359bd61d4b047212c641f0355099ff160219890803c811eb54871bc6c144d4bd1a198a575fe2ae49069455bec1298c85fc5478aadf0343491fc04fba2eca3b8b3baab0c04407403f20ff55950bd1d9e97ed1ce6c16f4037a067c15c1f6e6f58b3870810d33810eabc55ed418cace9f8be2b6d8f8c8e55f00582003635d74fa76de6adfbb7e68d23a56e326632d27d3f612f126aa1c756ce052c04a013273df1510156acae903e1f8462d423831938e3cb54acef54c2104053a58bba2598252940029479a11eb0383dd20dfdcce061421971937c76f455ebfea9d5eccf4d15fd2a883d8aff72e9b0348760c793b3599b58455b1e35728a8c9b934a30cd4ed97148a75f41c5d38c7f3005820031aee5ee540120dca2b42dc4c653fc8b71fb8be63663bb2b1dfb906556a8a704a1b01c8e9ed72044ff1a403722d365a2cc69783910df863b624cd99c7bd616d68051479d00ee637880a4aa103a464fb019191931373e415f8621ac27769ec3dd39e2a522b32ea81610706091c039f8dd58f5e6fed107f21cd3d8f64ef8d0d61711262600e906d9f5aed3892e412005820036fc83e67edc83a775344df9e8a09e97d6679216de6bac7ce94c4ae31e182d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c593a367558a4051a72fc2ccd920e747db574968204e0f5e369d4f9ba4eba36100582003e0f60db92c7c1fe3eb45c37ae9f19a56c5bc27c083f598219cd5aba8edc2104a0d9d56244d0d9586172e0219efff03779438cea502cf3e42406a44b4e1d96e0d9e28adaab824247c92355eb6a1d15f03c4d0ccaa22e4ad04db1394def99a9d2f6b551ce120af5b9d4cab6c4d57231e7a03e77c03c433fb5b0f0a4d85afbf231eebcdea6d0391f4630736633d7741540e08037055fba904347fde9918f7cbcd674aad2cda28d69989df483617a0e7cbdf533e032b57aacc869caa7a617d8c5ba088b5009a56f50c55a78525405f48da7a55cef2037603054dc272c82ff2d17f14d83af9d83487e1196a951a3d688d7dd8b043b00503bfffd559574ccbd19e69f9aaa4b14bfc070dba4f7d252c0f8f1bf345a3dcbe0e037a6d20bd725c11e54afe524506de5b372e4f04b2bb3edc4c37fd8c49638be7b2033cb51d54f03c66227630e55f638eeba16fc9b098482713c1b466f1da8aac47e80319fc8ff10a069764f4326b9138afadbe5c97c3cc02cebc1d92b78e7509b97493039a0d7708e8536ce9b6c6c27e68928dd4b1ee7593fd60c4f713b657a50693a25103ed99e1b6c1a8ee4ba8367d5570dd88706ef82873efb7867ae85afa634c98f87b00582003b3941caa5b991802f8a6fe40006154533832358d4c321061eb1b20be6e8ce04a0d0047298837f21de75500581f0265da7b9e941aa1c07e962cf1106a090abf6bbaaa931686c3b649d248937d4a084e0be49d281b7f35ae00581f02048a5d4c1811f30d3acbbf96bf829d700e0472b6a0f17fcfc36e68a140f15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02182203aa805b38f25dd9ec82b49d31e303ab5fb2ce0fb12ca90d5112c8b02c7c670d4503f793a7f24123893503f9881591f8cf2a8b80c84e13e767a281c9b176d42599fb03f121f4525d2eadfbd976494ac20d1877353a396d2f5f1c305367ecb2608dc3440318a35f05620eec4ffe7cafd94a1c590153891231426c16ce4a71717c56ec07820339d36ac59af48da2c3107f83d5a566f4e3a2cbe0a1c70bb4ea8c3953d757947c032184171ae98d231b585bd0cebc6be0d483559aab91aba5e605646716b6bcf73701410a00582003f4a232044aef41c6c05806f4e5e806cecca16df400feaaf8b0b9b33c5f94e04a47bd1de38fef2471080000582003fd4a24e1cf8a67b9c492d15588585cfbcc7358144cd39af78edeac712a4c004a3f87127379a1d7d3919d03b4ef9ad31707cbd0f51c4243b961cfe27936d8faf98cc13d85a9f19d2d9aab8f014102005820038db65b412d81c782eb267047f65e6682844ca803e40b551eb017dee51a8ad04b012dabea3704c6a023e9a703af77f6d310075965cb0774e1ee435239ce431d4c18106b05a9b595875097ed3703e32bdd299f1b61205ba35752ea6cc4320b365d2b2361b9e8217c7416def67d010219efff03136d35e2a8619b75901f2e585aa79c5a2dc186cd18f2082c7ea008822cb2141a036697aaa83220f2373da2fedf37505844213059450a4095d410e9f4d1dd5b122a0219ffff03367aea04d478eb7b040afbaf8053374ca10c0b5009fadcca6fb192dd788dac3b031e5c9718139a52a0e7195e10f1723bc836de3d1977eac2cd5aed7a9906ae980803e2cd5ee4010cae4609ecde0728f16dde4dc5c4a429f3ae0b1f65065302a3c57c0319fb37a61339af2f6dfbc179bd3356855e4d65d24f1d1b6a93a77bfb0d3000630363b68fbcb334c5cab115da4ae81f863d590478efe760d1df9905e32aa0ca2c25036d7de3d35aa62aa8b6ed101be70097b57e0e9be8eef262a1bbfc031df9267ff403be0235cce93c9ff0fa06de4995e616418f22424cdd32518425b2a02e1c51fadb036589618636c55752bc8ea3277b9f5a86167aaeef81c74c679754280fb1fd6a8803c32b7f4182274499c3f5b341c6bcea8b44a148a833ffe94f677edf35f13998e0030b426e568d94265899af39e39cd6c1fa80493692388c022bb4d357b3207d000003f873f328ff26ec6fd9017b8014ff03199cb8c39fcd4f649fe08d3241ab6bf638034af3355ca8e889e52562248ff4acb8cf5a308140e0427aaa725bab329ae70a690058200316241971b0863ae51b2529de4ebbbfbf7598f5fd5070368595c455a994958048745d811309a68000031a26332fc0874b708b483019ee9ce08d47a29bbb32d4575144ff81c3c0d0575c036123d68cb7093f50cdc2399c31f263811565cd569be3dc3478db4daf33787a4f03e67f10db0e0fb288a53f7e1d405304d09ee7ad481e992679ec13c70a64e7feeb03191c57e181aae79d100b653a43393f88c1a371770759a8f3bef5c6d481a8544e005820038858e56a8340a16d866df062bc39b4a79eeeea2204d4cda9db0e963a4eeeb0492d775fdd7af427141b03362341355f97e76a0b176a7ea730642ae3f6c3b8a1965684f8dff2255e59b84300582003c31f948c21708cad9b945079edf1441085c6dac8d5c65a1a4e6e3063e4cb405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200389ab878883f00d76afe237dea8b925b6f1d2782ed732c043f47516ef8b16604a0105a67e28cd84c8932400582003145f0a6f82b35dd99f1461995964dd27d152c61b021d7a0a37a72793ec84305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a346c28b06306da481732864c1b30173cda9d1691b5f3cac53779a4170e7e04703faa25226000003eadfe187c92efffd74458f758873f6380c1f8decba374785c9652aebe07a39bd005820032264cbcd676bb51457d6e68ae04d871818cd991399ed33344a6afb256ee7305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0217687ae16bd9230d0496421ffea924f8ef2e2aa7d27bacd6d433b4430b794a0a65b761a10cffb0000000581f029566182cf674b985ad3eb8008ca0eaea024b5aede73254ad8e5432db3f734b6823580658274aa6fc760d0219022003bf0352e5d53bc173376a08fdbf79e4c04200d015280d1894a7507772dd8742250219f7ff03d6840da264f23e327342ef5d1ed78208e279cf81f9cda7fd7304933b8113bfb003f78b4ee98cbefe63fe9e69980089cbc34c8395202eac57e10db823d582b2c02d036755cf12abe6cd195be940cc4a86f1c47ba85108eb5cfc1bd59d116f0ab4e7570219ffff032dcd9c410b96f8c5035f53fdb223c9cca0c173817eb724941435bc035375c60d034d1cd99875f42785bc85c266a8371f9a92df7c7c7352d137c15700ac9ccdbcb703effd50d91c2e00fc40f4080797c2b190427f5c0b68f02819930a819a09331813035e954b314900cf743a1111a989322ecbc6e083d98fdcb671276a13b657c3ee2b034fca5a0d0e80ad6c81d3d938a243b159d2096af9293a2e66b33cea1d830051b3030167def2c418c3cfc532e917e0b8bf22fa57bc75b4db93e9fb11fe95b47b281d03edbcf46c8d68eccee148f46ccf56e3647c49b00850068833c9f4ab146846c02f03efb4a8a0840d7bf7889577ff5584eabff9a9a3dd48faa7b7d09545cf1cabcb5e0377e1884abbed469359e8068981d9223d029ca4a4576231327c7552de5554997f038badc79c13e42253675809d9adcfd7a8718c17910f0845eb2101a6a5c24549f003949e75c3337f16779455462179848a54e231dd33f3b1863ab9ef471d7d31bd6b031175dd41e4577e20e9527af2c9783f409bf4abcdf033f7b7b6befac583a3284f03796568ba689e4cf36261a9ffabe2f841318cee7118bc903b0b9687b5f5638e2b03a41b05bd8d68fd3b279f122a6cd40c2b6cb652cb266db82dd97c855b6e8fea1003a02d18a408a07f804862ad43e940991a8bb4207e83b7b73a9c3be77e728aa10403329c55317e9118fb7c575fafe28fc0c4a47a5f128a0c38fb8a4c35e248ebb0d0037727cc21669e26fb43a7a1b5ee032dabce8f2fe6894b692a79de22c3ec0190ec00581f020d28ca5a444b1734720d41db8e93e62d427be97c0e55c9bfbde9453209974a7175fd388ddc9f586a0f00581f020f9f4a7e1c83a5aede26c6b029e461113ce18ad1aaeda819caed99c3fb424a1d734f2dc0d044ec800000581f02991902ba3d92ca55b26f48c8152f87963ccd6f29b823b0d0d726711201595820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219300803778f8c4fe63b23d3e7d5d23d3a32c2c31ecae3386d0c193ff02074d56e3ed26703748b97a107d1deee70fd18707dade2e693143c412f6793ddbf174cf6d787e36903b11ec5107b2d8c1b06bd6d34da4740cb035bcdc1f9c1a00c84b6dae302952c9e03fc666cccee2ff1fc79d90b1ddc12138767f129dc205595a1daed64ebae2d5aec0337bce9b284ca73297a9bf1aac9fea52f87a636c360b824a14d75e41f3e7a72bc03df7809a150f4944ed05939bd2c1859854bcd981b3fa6885214cd95e97a87649d03a1568eca296c2ddd7a735160354637de1cdca1c7f307580b798e7852a7975fd603f563f2e0aaffc31357106aa6c4a88223b2a680beadff95ec0acfd3b38f243eaf0399010ec5dd947b3692307d672f725e6a1967ab262a3eebbe890cf280b9c4e40803ae23541ed434ea0573084f4bab4c5a63a6e021e65813bfd9df8667098a01a6c800582003a8db247879333fd7185640fd037d029fbcddf06162833b02e7d284a9ef98e04a20ed6b0b82e3e98a000003739e6f079b7917d825bb5af232218b7f2a7e7e24ebad2ef8bc0be0295d44a24303120738084ca4040d6457b7e115cb2b64374ff3494e43c8f3d571848103ce1cd7039a03a54a9984ca838bc5750e188cd9b95e16e178782121b6ffb991711f55e0b70219fffe03fa8c318694c9088f651bbde421d83d23895a9a813e1e30f58e251e5df7c40931037ed6b90261d1b6ef5368910ac869e7c703d8663011d89d266489e17619cc0fe20391d66045fb126de951ab4e7cef36e3cbf95c46bbc30d1652ea3fe2861235d24e03d305d82be1fd398710d7dc647a0435a70e86ed6f892d2bc758eb90da0494192f0219ffff03acd16fcae84fabfc88fdb38c057f86157b6ac0725715d249ca5127da6ed94a770219ffff05581e03b34b3cb4ec50060172279ca7ecee25d7eebdb0ebd3397854c1f11a64500701190e5805581e039c9dbada497bcd03d97bd157c7284c684fd5b395903e9b9ce0fd50cbd0040205581e034190de2b38ffae12f7d38e74a41413c91bc08308e5c545e29011137a500c0547033019eacf4e820364793962e5c6368b6ab1bdc534f8f4a56a3111900217a3c55c60d5d47a996f3303c2055ca8e7a5d144e61f6071c4a7b669638991656db3f6dbaf255a5faac0a8e503c128f3a9f40e412411a7e76bea9d5d0f7bb2b44bed0da82ba26880cec6e7f62b02197e1c03a3a032306907c2c84f7f1f2efb6ab60845a3d2d6e4399413f71ed1ed8f782b250303459288c2403bc183dd9244f5fe432b8d798db4e5f97a035dcfd2f0cc74d1340350c6d5719983bad0c87f15760c364509a7a631fa236be8a852675cc5df0438be03525ff9c26e305b70facd3ac3590f1b87fa1cbc70da682ba31b79b76d945ab36b03136493ce1aa63228a30494ef1ffc86cb488f9c28d5db431f7e181b89ae614a5403e2300fcfd3b0c1e4afdcc97130dbaf2f9106658b52532c49b4770c34ac2d9ee203e27f3e4e74f6bb45674b119e038885446dd586ac74a62bccdb745d2125d41cae0219ffff034a1fcb972391c2cdf4189aa1b96f2ab6071164269d222caac56c855485b16120038447ecbe90eeee7b6f6b107df2771374e12c081da79c0c666c1eef91ae5b8bec03607a1c28c4704bb2e0041faf5e27c7c22abef36e48ae2de4a5435dcc10072163030072cd5b2ecedc8fc65e309e98fbbf994fcd47978d6616be0f1bec6d5b97290403015e1290a86b193326cf81c5f0ccc9a6f3bde8353f2b6c0b60c7af3a3117ae5b03f00a00e0094a3d1f5a9f1c51335e43f99fd360724829a115dec3616803adaf82035aa368eeae7161c4ebbf2e78df3d8a4051b04b5183fc838f52fd50d0bc8e26a503e4c7c8e51048d7219e5735d01803db25d635b8b4ddf7473b6e2339e2c83e32a9034d83e8cfd20814c4bb2f809cc1e9697cef364b9740867130990b85b096f7e41e03d7a9fccddafeea9e5eae2bab362507f33ba8404ed25445b2c51473ab992212f8034c0715838675e1c7f99fcf25844f0ae16251c8f1299c2b464abdf7a17e85a4a303b2ed5bb3168b23217b9f78a0fe632c5182a7491cd50fde8bc4bdec2743a2dfe603c90e387c10aeaa9ef158a11e17c9788ca5892def516b91d65a99d1c6dd7015e103cb88210b6b994e653e67c597b2f651bb250c1cc1bc83899112f73c3203cc711a0219ffff034651890b5baa08369a0d2654852b8b078d1c521bd0c7650126459f22e7031626032856624462671d16a9bf500da200002f673820f8311c4a374d92c836c4dca7cb03a7f9b8df53783800810b7b29488a78278f3dd8bdc78652f0cbc26bd52b5a0e8003ad9d1b30038106116aa4e7bb6a68b5a20e65ea6fa7069a484f592009a77bddb8033bb87f9b86072bc70205b0f96eead1fc4233d9ca01da868b4673b73fa67a1d7e038e6eeb7beda6f52adc36a4c6a47ab6a5137b1d5fd2e8d75de631530ce8807c40032fd60816d7702e70b6979216538bad3da9a42398d8eaa5de762f7afd583d4e7103fbd74876a0c14899c889dadcc326717fd4fdedca0d89a023ae8b2da4d03fc37e03cbe283b5f356f520266b9995b5205d11250e3e13f9fdc3766e120f4caa0281dc03f4c844736d40fd436cd3e4949d6dba62ba465212913235b4e3ca1c7cdff606ee035c67c8de5e87f717aae248f4703ee20d9999ff454946d6276d582d15dc9fa1c00219ffff0343be4b639f707353a3e4ab679d4213989abc1968ba8570af0ffccd5cb47e44df0392913bc10c9688130203b2a2336d524b8d9d4a5d4a272d597d7415e95dca084d034f6d87ed02eab3e8de3a2615e816f611af28f2d73be36558060c175d2bcc3d0f0348b9051cd238d32d5320609c4d0d220065dffcbe4c4bd497bbcf9841c1c4b55a0219ffff03f94fa360ec90bd196735fdaaa989b06327e690e388225e87c18592eac191e0a203a2b275a4bb71efa8559c9595519f24229be6d1f3ea8912495d89423d4197882303e98ba00571c18fd4d7c02e5a5243e375839735486794576ae9c094ca33bd6d9703c8c82a50dda55148a867bdc9e6f95109e6b1d24507da0ddf271f4eff536d4a7b03833dd0d215c7d06df77cba7ec9e7c9dae944b679bd64fd1d005bef6d40e0b5de03c5aea6b65da2a2ce9dacd5db977a131ebd49b680e4756d55a33d38fbc091b2e2039337197c630ff758d0e790b941bb0f346e2131426cee6f5ccc464d6cc8a20fa203305240787b73e1cd6daa261029b38cd8411d1fbb6ef04ff077a43919ba8d39a2036521d562dc2587eb5fc4e96f771b246b61cc3d0ef0b1d802ce48cffc50c6597003d65bd016084d0929415f44b8cf480991fb21eb06e834c962c3684d6611ca92910371cbdd95a386a31023ebd2d4ee34dc24841c0a6af47a314c07610272c9eecb8803045d3699ffb4b510ac07816d3ef763e000bb4f25e719c294e702318a28a1c60703a182398451fb15f5b46883b42e2edc9670c647159533e88182dd08b792cd29ad038148e207e5816e8ad74ccf9862c45e1c0132c23f886be261275f9fc1a6764ff4034cf800da7ab9973d234ee0069be8a9c060de16b10702cfa188e5ca91c1429fc9039d284baf22141da717944deedc63a472e80ce93ccce46a69044072aea428f12503ff29396d24ec9ea5736426559a996cefb35c109497dea37c1b581db92e3af4610313bd877b97d2fabda4e188bea10caa6dce245d3eb8b342eef2316c00ccd2d4460327b8603aa4090d43ab48cf73d921400f69b20a060b8aa8df5b37714949d9325e0331d7ba588f84491a640d8a9a1055ee99d48b520c673d0a2b5fae75734344644e0359e1653be2a02cfe48405315d1971373a2589b06284310bc5891fe938f197e3103fef47adace1f613f1cd0507d4a1773adb3b95d8214dd3d57c5b5a73bc1bfd62e03163971c5fb8c2a9264e7248c001247f21df3ae2780a81e03f50128e303fc4c8103ee97688cda20f4a72b49b1b47b9a9924e5e8275d88d4a195473c7f6862e606950311bb16284b9ab7621cf2fee085f3a75fc4c34204f807b24538b964e675184f5a038d2bcd7aa97ad6469da556639b22e43e0cd252a7b9960026a275aceaf70d7d1503ebff7831cbe17f3604dfc7ee77927c53f862003d0353e632537d033b0011410c0320f77c6305a772e7118fbfe1257f0f028b637a6c6149dad7df251a55a0c3a2bb05581e035968460701401bd2ab13cb2bc1606ccdddb2f6181acc3ad7aeb51b97000c0146a75dc0a7c41f05581e0354005cf95cfcbe51c59f444a06630507684c8f195fc2172f5e47e9d7d00c1819476f751988deb0f903c3849e00ffb40969c731bda3ceb88f72a1821049dcfa48c7499003d5a0c0a4aa03e8554dc66d7a18ab665d849ef12c6c582bbf15b3166a2ca51fad9de03d81fe2203229e9379338a88d4b4d87519a33cf13de04742c7286ecde00d93693fc7bbefe7031a2c8655957db3ba0c74175a51f1a37f6a5f9a4b86eff7031d8ffd86d92255c805581e039b1ceefa83fe46f2d5bff8a7d3e47d539ae6ea02f4589c5f8ab8977bc00c0247025e4e572fc0af05581e0334e1581947c5dd5c6909d307559d8a8c245e86263fefd34b50ca217ce00c0447522e933c7a6c0002195f840317af03839769d54a072df40c382ca20d2027484e91381fe686c259d42836c2de036ae0df24477ea91459b193023f6a4da52d9c8ff8574b3b75a647b650b76bda6b031ed2c793946daad109a13a4e0789a1681d1aeffe1c1d8e9407c4b606fa696b66035ad53aa74d4488b5ba441beb75d4174c264f7ca3b307fbb8373c91b31a3f7a53035c0424798af0896e2ad743f26b8344f61bd20ccc5ce0e1b227c3bb562740c53f031b529554096bd178e35148f240219bd6416605ace03944b34aa6d31ce8975c11035c3fc4e643d9d439a5e7e309d903da33614340bea66429cd717dc3caa0fbc0f6039d389e1875c161c89cd140b2c658d66402e6f3d9505aa23fa603d65e4e5f049d0397f9c6c9c76bedeb2ebc40190204139b18df98eaebfac220f4ce3e7eeb8af1eb0219ffff03feed78e000aba67aa70e7df4b254bfae7ca7f21d288f0ac9806689a21455150703db46ad02eb68f5cb27b82db949a81a088279b53c7bf907e996d174bd885e913f03903ed60ee322a0ec25d926ab0aac13548eb76df1509c16a7d27e8f1f054f5e9b0381a6721eee77c94128a6fd7dddb86febd8d8f750d8b088300cdbaa0e09d50d8b0310bfc8a9c26caf2d6972349ce8e069a36f26363c78447fd49857f8190c55cc6d030db0d2581c4fb3d372d7433832e633a9fb99581ff72513c4a0db02fbac1ff322037a98c09e6237e208cb461eab08b0746d326c96612fb24ee68d7c9a4a1e6e68420219ffff03b5620eab0f12105fc2ee94cb9b53e6d309efa4a3e3f16e15d9aa9030a468cd660351bc3e279f59770320177c85160653eb54daeace6f4937a4f03c1ced338c870303337091b37831fe90f8696ae879a5e6f8e1645e8d200434e0363996b0616f23b603ca6ab22026725ed3af6cc09825a2c83d38f3cd387ccc77526f6cd5f94789670b03154129973e8606eb4274fb8d5c82e6717bdd8cdc8e14daa43763a6c99385045103ccd68045a8d41eb2c27ce80d94634b6548be04b31145a9693d01e24bca10a9de03bcff71b98ff95bb1f5901f345699cde0e71defe7ae10ce615425d991eff8bc2e0390f883a9b9c2313374174758a92d393ecabc97d8a6ba60dee5f1493b3aa992e403bab612c431052fb2fb8c35855ef7b6a44c79a57078dc5c4df2b23d1724a27c6503f5b26be42697706c06b25b739085621679b792fa89b82abdd61c6da0d84099c20219ffff032d047e7b670fa2c1d58d281e04012c46de0e461ee4343102554aaeb0dbaab645030508b10f71927d1427802ac7a2206fce393c5c7c3ac7a05f77b0cd66aef943130352e75c9bb70584b40f438b56b61b12a25665627fc2e803911b1542827c5b83ca03de53762c131f636e8e36def9140ddcd8e9f481b4b934eab6757809b168602feb030fda96a1aab2aeb006545d1425f926dc014f29f1302f1862d45516c47416b05f03cd1c3057468390b6cdc64302cf5aca92e59fa5ce7bd236ce8a63f94c5ffaa1d603729b70b15459bccdd15cf7880f915bb7145f857b56e098f388acf04be9817d2e03f1c47f74d5c5e8fc3504967f0f3b8ccebab384f8511091e98a40390dabc17a8003913d86ee13011684b7f4298b43a9b09606e2212dd8705c9cb5470194cf66a63303f0a317238285681677cf7cc3db778d1c5f847f0fdb76c2be3263cb8c5d349f0803beff795607852efe4f288265b5117fb6de1636cc8a4a0eae358a240b9ae9e1ea0347aa49b0bc5b7ef4edda97a96609fd371825a4568c228b8dddf3343c3520e12503073d2dbffd95886ba4b5f1197a5e92cfbbf4577f69e8b47bcd87fd11793d210d036e74049bb8704412c7b1dd9e2f422f84ca9db35c67159a75f6cb5b3f5b7f169003a900a94cbcd93813684d9629d73bae4ddda69f84b4a4c21c61dc81d7482eb563031e48d2e2cb61c450b117e7a7dfd229bef01ae919ccebb8fde2cd0eae55b0aebb036c0585aaafb99ed2ff5888d50118aa52aa20ffde0ca22880cfd84e5cc834325a03452684e3cc81b206e99a22b5961a6d3b69401b3a34c43f9e06504805936581480377e2f9dfb2cf644b6c9d6bf6a2f8c5d9ab98567846b0c6c11e7708811bb0d92f0389b83e7309f4aec676bc48ebd7be6bb6c4e1a49da7fc30665769ae5c8c22031b03fd145f55e82e5d00ebbbda1e5238a034073ea580e56bbc92a17e46d9e0a37a110363168ea0ac25b4eb609920254b77a65bce0812d9b29089f6d43942ac363fbfd303d284e68af4d7570219f68c6eac2630b96ba7879ba16669ebb125edc349ae2b9e0383e9f9744b2ece5e7243670fb4df63b850ddb44c31c61bd10dbab60081749feb03235d18a60db6b79c2573506c27ca7c4af9fc2311d3d65b7ef7c1827872c789880311aba403738147cfee1a636fd51970dc9bdbd7b36baa877d32ad3fd587e42e640311b747fa04c8b8c5bc2516db90abeb8f01992e3ab2b69bd5398e439df583549305581e03fbf6f41a4965ac3d995d485bfa3a16ed1b4fcf2014c4920c5512c1aa400c05471efdb39e7239b605581e03374353950ef3fcf060f03f2a8d6ff8b3a48f0d4c2ec3c157a8195504500c01469551c4c5faaa05581e03d678505ff3337ac2e93e62188ce6339eeefb84700497bea03a33480ec00c11470255d54a9171b103059be2643b763435bde6139bfb422f00380fd7b74f525555f7a300e48141474305581e037c72998baab2fd0dc890a4f7da89b2b4335cf7ff2d9ac1ea54645cdd000c0443f521e805581e0335ecddb299a624789d65f98729735ac1c571e0b97136fa08b907236eb00401037ddb1525b01474111daf322568047e01d0ec8a3d88dddcaddd7562da7d768db00324fa2966f795474bf9e62d9de1d720a7634b25090e15f784c9d85f3959230e6a03c532da4134e6d6cebcfe26eb318175bc067763f71c2084ffae0ac65bd6c836fd02194bab0219ffff0317c094c89e33d5f8d7cbed10b153d02d9c8cc6b1e23189771d7cc8d0363a930503df1ce5b0f98dd69a638be1b6e4c273a3a5d3d245b007d96fcd10e38ae505b643030d9c9e53b978657b97b9ca74704d581c7c1b83647092594cc2c0f95575d156730335ceb66e98e464ad8360a8b71bcf13b502c19af609ce7bf61eaae42bd0d8d83d0304f55bac46c9756aa07585692408518d1d3038abbb1f3887891cec819406ab2b0373b4ef48fa496c5f92ddca84e8402999f26dfdfe2a01cacda0720f00bf7c843e0219ffff0337c040335df0ec70921970c3d2c14f92c39224fdeb43496adde816392777ff16034d67a488c48d030242797c9ff1e5a09d87c7a28a025786d2758adcb976e46ed003794caada41a3e2b2382c78fd17042c79e490989ff6eb05d596470944699b3cce0342445fccfa03c9a7370cd826aab9c2ecde0c22cd84400bcaae2ef07bb62245f4035afea05be02220863a50f7b3f2f213135b32cbf2443d3e23ae4b3751e6d5bc0b03f685b27a214e7703e37688df296c28a2f249cb4790984e423817c8cece5da28c032544a9375948badd582a32a42ea44375883a7f47abdc64a3591e28757e130b5a037a669472acda5de77b396227843612037b9a46dbcc5f62c0f0441316ba8d55fa03347f5376a8d4cd05191c30db8fde8b8bb60bdc16b4696d72ebc86a3d90f3cae8037ee5078b98d879a393c3bc6cbabeb923e35805f93b3eea3abfd8471353b55bcb0363a852dffa4b59e9b5734467fc4606ea15762dec50312001ef973fb6d24b54ad03127b2242dd9311ed9f86eb934cd1ee02dbd9b92f1dbf334bff2836f159ed5c6e0219ffff034381d4dc6ea9d89bd52f8c58081f88a9fb6070b5b8363043c76094f93fcc80dc0353845966c6d0c18953399047856bcb7262c48b87a5ae637d21d605aea89da1b903f9086d8d0003c6a8361ed8bf11d8861f12722a16c28d137b72ab979d764914cb0343886157db08f4d5bc0abf7580908f34e9117385ba1e8cfc1a8a31b6170c590103878c2b27b17f387fc9335c5330207399abe17588a505912a779522d576b23d19035096f07f096691f5372178e32ee2882882be5acaa1b58871e6cdd32baf8f5a210330f449690557978ab7a145fa0178fa5cd7abfb1bec34d2136cbb74301fe125510350b3fd496bcdea161521383b604d00f15c2e4d70d052da5813cb4e3c65ab313103133e3062dbb8896f94fa2d09bf7e2556738ce496d9a0c7628a99902211fbfbb70309759a641b879dfb955046dda60ff9ee3feb45844cd6f68f59fb03d9bb5dead003511f3ed0744d50d8c750de6a92fa65b819f204bf918276395412a64ec4c3b9bc03046d662aa2128b4643dc4b52134a7d852db3f179fce7222df4f029761cb468e903bd353cc1721ca85eb22c762889dd33906512f5ea6d27ce6e098962d9db641158031f1079343960eb642225c3719a5fd7853e6bff6d7bfef0e2b7d99f0e085b359a03a06fd3d891f2ddb690c0e2631b99faf8dd74db61a29b5c3a9456142274f0ce0d03abf1789c8d3d809098ecfccf056a33143cd3d94ec8a18019411cc9a862a0ad2903376fe57d176c288364536434a35ab3f67a69894d101a21fdc09df55e5fa03b42032f9954798c2a42fb007bf6d5545535d9d80d2e4fd30fb0d2d706a917e737b4c40368cf38bd44bff624bfc200b1c12d9f504c44bda74053e74983c5f9b2de494d810363854729ffaf78ae4035f4d929fed1097bfdc240183768ca38dda8a92e4b7e10030dd0f87f7f2e6fac92e401b2885b0fddbc5777c33cabee675dc770306f746b9c036c63422cc479f6f45b58cf0031fcd888ca24c205fe9ee51fe39e34cfed614aa003ab8fae36afb58b798546c37b47751c5c3282f093bd04ff21c5f52679cac4a46003ad1ae40d09d0bebe00f7d2506696ca6cdb24521a598721dd60cc872c2b650550037d40ed96ac2d52d3d9724430cfc86ee28cff0d7dfc0c4f4ef1197a8a7005e1ba039bb4d10df57586e3ba5d0f54f4a9acd6a683cef718972bf49bb0f8de220b20bb03830ce157e2b520b25fa349621012fb340abe7e8eeadb065df0b013aa2a1528d405581e038f80a0ffd9449325fb97f2306e5723f615fcbf8e50b85e0a21d9cb7be00c0147033ab57796e000037a0378b54d6cf86fb1111a927fce88909d95248f8f9e4076c026cd489200862905581e03d703a3779564f9b03b8dcd210dc584ffc37598f2391e05f5924fb053900c014703afc0bc521ac605581e03cb1277affa9ca3161c327c88e0c7113d424e3889024188019daf7af5400c01476b4971840884c005581e03834033763717d986421966c9a3be4eeb6e750cd32b0a7f331a1608f470040203905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e037c1c4b9999cc74ea59b88a6de0c6bac97468be42df57fd85ab0385431007011bffffffffffffffff05581d02263524e094f93a4b56218b06b7b5b465ee72419096c0d818fcb49dab0c014719e01f6d4ae80005581d0287c882a3219abc58699caddf01e0684fa9b5737ac340daa1c8afcda80c18b9471be8a4b40a9d3305581d029f123d2d6258990b02afa64499bceec9557032961ccfc87597e3784204010219304005581e0344b864ab5e1e1fd9481f516074cfd2fab40c6acd1562315503781c22700c0c47029c7a85e8f00005581e03829138235dc5dcadf7b8fea4f3eaefb0c1f526311aa8a7debf160f2dd00847028ed6103d000002199637030952e87b644acc50819b4d2bd66e5a09cc276d8fbe72b8f470818de2289cb9470219ffff031611b413ff352fcf59d9381a22086182139c2c6d650eaa6d6f7311286599706503a9a5e5020f6935af9000e6f0642598490398e840166654a7fcaa83c6a41eea7e033939cab465963f6b0eba947c4e967b5c9a76274220a8ce9358e366e5774f411703f800049d8cae2e26293dfa4b795eb2c0b2106728ba71410aa711a4f6aef1852903ca8713e7740b641b43aa731ba9ed47048e758fc91bb9abdf8f9ede7cfb768fbd036b0c40b6871e0256b5ac370f673a289f051938cf5597dd90f4e90fc4b2de486b03e712ce11a04e589fff9beadc327f4dd176b0d548e5c630270df73d1c4f7a39080352474cef76f9323a5c8986b374065494cf797b96abd7f60600a6fdf6c255add7035fec6c8b9ee151a40831241cfc1493cf0599aba51d4050c323118020dfeac86e0219ffff03b6bd1e32df8d2360868216a8eef4c4e0d90b00beb0ef2b1fde7951dd46d763d0036e4c441611902151638fdfbe889600bcf0442bc2c94c6362e9c69e5a515c94dd03038332f20997839ee4451d73a42d6fb350dab8b14d25801c06af8f6c3450a47403ddfb2478013fd88fd9b0d8029b79748f402825ca556c2892afbc1f68f9ad9c200390cd64f7ce13faa92ef9bfb1cd903a851e4f378f23d6de1bcde5f9b2f507064603da1faec4476a88f1cc8db823d5fcb0fac346988bbb50d836824c53a9d5b1c2a803337e2622148347d9413a8e90a7c44996160e6e2ccaea0660947d11418deb5e6c03394678aa986eb3c7f7ad21b847bfb1a1c5aa25e39ae798c3ec10f2af9dbe3d4c0219ffff033764649b651a08014f8b98a73d1fef7d546b7608bc6890b851b297c1519dfe8a035c9f34537bfd010e6048a8a9bf2d5c7e2188ecfe66ec140b46281809be28196903214216ceea8d6757eac32e6fc1751bc75b061a815ba2949b70d1be0692f221ec0352311b87c1a5d65d467e33270c2719ac5c095343c9827b7c62da07e458bd3de3033a4efb9adcf24aa559d90e3742adc82785db088a3116d3049ec0581129d049b2034d95509836f2893d2ccc1a1f8da043bd88c28cf4e2f0fe103e3fe30c10670267039f5f2fd686a095b27dcf3d7ca83caf1af4c790839f75b27d739c38ebd990db6803cabdd9027a5f50ea4744392c97661c2370f23d7673ec88af63088c5a6fd99f3e03eac0300570505ba72c683432c4b7340aceb3c9c167f7a3b6ce8f2c2880c2c4df032e875f23aeb875222a57628b0445df564e1f5f85c7b5f8a9df9053d46ca823c303bca2166dfa869aeeab2ce336b5d84acb33addf4e381b0ccf00a4fe5d5146b6fe03282060f19344ad7c0cbd886f843b39010e6f539401a7397d6cbcfb9102068d3b03928237f0ab2dc0f15a3c4f8530a042c2c485156f196dc9945969c76c272fe5820392f00c8c8b10a261ecf233034fb03fc10d3ab0e3bfd567b6fc05f3b26e94b978036e502b8ab9cfef15ec8e5ee0bcb673be8d0d3233d96b543668220f1b427457950383d2d3abca46d95e35de0139b2afbafe5e5947676f51fa12dbf93adf47a3ca160309e6d3ac799591ff151d1d2c384d3dccda9f99aff4af1d963138446d1d541b4e0315814007690e82040695a623302aa469ef89cf5ccf22ab55a89dad2d9679008903eb13cf06286f6eed101e4f6c78a5363493e0e9873837c496205e9a384051af4f03738c95dee6f54cea63e59a3eb799b07987ef3e5dcf66f257b18595fbe635cfa3033f0766b6e96091ee85c17ae46a9142a717a03aa805238181dbaa0ec4594bb5fb0344dfe8a5d5224ee1e553e5e44ab0ba619b9f894acff4de62c3b1d009cd579fe9036c5d3069a6d47edf93d49b4bc1572048b3bc4f81a0d05e5d22189f4cc8dd68510346cfbcb5eed2b6f5f11ea47bade9d6de08dbe36f471ab4f5d1cadea09d53993603d04a029e5a2f8dce928469df80dd1d2ebeb4374636ddd0822993942a462b11cc0364af4b766cb489acbc67fbc0aac64f8c86a0cf6705a8bc7b827ea741e0b2afaa03ac0bacd95eca177b2f60b86d97c16e2ffdde1b7e5e8e8f799a549a2fe7e5f65f03edc9c9b909af3a3ee0c38bbe18bc94a923ccd966388c32a30234297109d1749a0304971c7849f9261b4e16ae47a80a3734b59ce0a7db8e04d8297c9b2b3a4c194a0353f4bf202e6bbcce7529d5db3af34c458bbd425c3f1324b4c9e21474b1eb0a140394fd7f1ef9cf40e3f7ee0a086018959d77c8920b6ed4c63a9658cb18bf07061305581e03dbab0e8632bca5074e01e50418dd9f351df27efa64236493e5ddd61320040105581e03157eb2ab240f161433ec89c81c022b6eef3321fe223a00200da121b8000c01472f159edf41100005581e0304d313da0079a5c8bffe2376abbaa83b32c65f87aa5981c93221a99cb0040103c922745fd8ca0d168ca067e3373656ec6dcd957435714d3f0e5086d50522e337038cb933c7ae97042adc795ebabeae6d5a0b408ae0a50c351ab89d9e29860b0cba05581e039a641b77617d8ad944b77397d27200cc607b830430c7735835d08d96700c02450165a0bc0004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a092e7e8a5e5aeb49ccdb00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05403545a800ff6ff6eb5d4b290e35dd7c7e4935948005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854f2dfdbe1ea71bbdcb5a4662a16dbf5e487be3ebe00582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab049178143f19563a204910219014000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58205f2d03d6b0ebf3b6dce5606e8d83e5760930f25367e3af47581b64e0032ff86a005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84e3d8efd0eaa0be5bd8ffc1f1d533402184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd004a0916fd466cc587a7c46200582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5d1b0000002934c47be6795eb155868700000000000255fde3b1163d952a0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218480219f44505581d02a25b073839a616523a03abd4601fd058683f41a1f63215fbde91c2640701192c1d05581d0254ad1bcb260fc4e2db75290d6b0ac9b54a8d86844bd3867660395f93040105581d02015980891097378ddb8b5cc1dea634a7d65738791da32e0e428895700c03473167fd9574e8430219190003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03df31574b5ddf19c5b5d4d6cb204a3226588061f2df39afd813c6f0bc8007011bffffffffffffffff05581e03e4e33ebb516326c71ae9bbf5d4f6735b4762c3367df18b7c3e9ef206f0040205581e03dc6349e2b90fd89fa751602fb27eb85cf3b3b6fbef713f3dd6c6e24800040205581e038e555922e288549aa251281ab52f5059e92fa9a0eb8be27ff2c36a1890040203a79d6426de9197ceb37feb1336d2de19b02780d10719d2096f68a7e7dde53f7c0219fe6d03b601893a4aee4d42d6d654c3f3689b7ca84f1f1c5534dba3a98e1f21bec637bb0219ffff03207842abf80ab3e6b578db749bd6574038f7e0637f4954a7ae3df42f42ce21640344cc8f00744644e811571275d4b453719b18dcf1a93c3986b3a124362ba682a803b26e4a5cd7df18be66758b7aabfc77e281e2e3b697de6c4524c0959f4a01a826031658e4c5ef62b8e90df4a6c20806cd9a92428da45bebef63ebf8ec18016b6a3603b9c220d5ab5335fa01e490cc1ea6a83087af3d8fc57235380be310ef9833ce680375a8c42098a781d9c9fef02617d7830098836d226e5ab84769e652435bb5b5e803447eff4ec91f2e2f6d507173fff55f5911dc320cb942048dd531b7dfc0cfec9b03601bdb8ccc6cacdceb8625b065a648b41f30088e170ad1620968fa0ef33e9d6a03d3e8e67a4d3ae03cf3e09fa965eb92419c79494c6aaac04bd4bf34a0fcddab640386f92d1e34422f49ac1248c553b1a3b2571b3d6f5eb19b701d751caa01ba192c0219ffff03190ec1731e9928ed3a70503c8027cb1fe30443cadd098855d0d6869f9f51aaf803c921c77e341d3a459f7c12a0270c7b948e3341eb6e469a2df120e8bc3eb5b6f403e336eedbf58acdf6aa3da3e4b3259bb895e162cc609003def5140aab68388aaf03e53dcae2e0efa570f72bfa0d029d1caeea3b62372cc877cff30294001a9980170219ffff03615bd009743f1d8af12599c896985f50f002b59b6bc5cebba1492141017e2e9803b0be17a98907704f5e8149cbc9af7aa956548dd9e43f5b831a156005caa0ff380219ffff03246a5d88dd042c27bee80ff0a1a93775b6f9098718343d4b54a8c35ef2b08170032801ee9d2cd49a7548aea100404faf6f5d8b5f429721a8871945f2f40c9088c3033dd541f82400f97a186bb41e3b3a7ba247fbabcd5f53cb3596e50681feb618d803e93100f353043c22a14dfda58d6ea2f507d0557d74f61b004471d630203e8807037b3a814ea5318da42d6f0b80b3a11ab22cce2a2facdcbb0bf5f1ba91e475134c03c5644350a049fa0959dc4c0303d9970832725c78101406588159a8565b5e566a03264429c3c888117a752c699fb7b9070fb56e07997f2b764e5b1c73cbb7697d820356e7a45d322668c34f63f6ce56c90ca15584ddc4a463302b2b0d1affc83092e2034f5d81fc2c81e0bd4e6d75c4e3747f1b24f0d19f6922ff544abec680b251c63b038797bb1189d6c4ac6a299c1071f8c314c4e8e3da55716da64b48d35db26fbc57034a42b60f8eb5ec09309bd4377a050b425b62ce54a29169224badfb95095c94380387ab45977c67152d3304b61787b295dc305cf8c7da224a628508aeb1cd72549903eee717f1bb2914e6b46b47a324d425fb38fa6ad2e5bda430cb11a7cb91d7096e03fead7ee896ef42f660b0f640cb570e70b388d780140a2c80a1f751d09d7d5b1703d53bac3d62e60691d2bf2adf3f46220435cd78a9100de53eaa4482224ded2eb903550e4625aef8b17d011598199ab5686bcd7c844ed61e7134f9f48e7c27c9134b030c7a360ba4fe4754380df8e5026ee09101936da1b1284859db49789daae95a050333db601d1f7ad55cc7c76033a7234287b6097288808d213a23f7e9ed7774f89903a011882703aa8f9c89b161f5656b7df73134be78905baf2a52425e61fd31cd33031098e562ace19f8e4cbd3f209181e5b63e1bac8ec138038bfe262746370a9c9303789462165944cb2957dc858e70edb1a2e6c69df17907a0afce45b4f381706c5003668f71402e87cf23f9f981b5b29b671bd39ea5217cf5119f2fc4b796f046e2d4030c15355cae9cea7d681cc52bc1204226f0ad6392ddbbb327ab9b1261e534465f03e02191916788f1af23d193cd6216141781e648ee3af69bf747a9a29013ae561f03e2d3ca4657d1ba087f0d185a6d908ec4b90bb3498314616b77d688353be20967038df070fa1756a93ea629a883f1d2bacf82f782ac8a9f96cf754f25f8ffd369ae0375e3ee8f84f0f859b102c259e24fceb898faedcb5f856e01b8e2cf3478c7904703dec9309ba4f077db088ce757e438d5bc17debbd69106920e5f92a911cea252e4035efd45846fadf94a0acc21bdccfcc937ef4289f3a6ca855aeaa7f2f26e027dd8031fcaafed30f3eadb877a7cceb1227c7bde80e3b12a70c685125cdf8be285772d03ed8f50529515a3a2df26b5f603bbbf6c2c2934113207c4565962fd91d41fe9930362c2e23d2de5c8d68935d5edc66fe52a6f51efccbd13842523931b2daee61f9905581e03a7982f22d7b5b0e2239e50dbe5842eca5162d7b236276a00ee90db15600c024802f5f41c9d2054d005581e03e9ecd8b9d0208a67eb926530f90867431d534a40e0f5da5d081ce0b3c0084724d9e8ae60011803ddd3bbc03e4b6ae9eee2d30c9d4015eab72e1a35c766c83636264325f1bc661605581e03738597bcfec76bb2be74dff321f536b077f037bdae90551b49d5114a80040105581e0305b61bb0778cf7532ba95e5d5ae85755e6fda2e726a428984995fa839004050313073ed81362738acbe613957c0f3614cea014873c934ae7a715c842f7ea012805581e03f66172b016fc10357938876aed169dadba394fc11aefad625875e50f00040205581e03134d2a0301e1e58d1200116a7c6264f9014875f6235bc094e003c42aa0040105581e035e4e9f9538f1876ae2be0f4764bc079be4f9b094fa93c362a9bda8cae0040c02199afb03824e736537a9d8c2d0cba2c1db72777aabbcbd78c1c55aceca5b5356ab6f0f7b03a4ff1d0592147ba71b7f2b25338c986146564bd052501f80e0da952484187d1e03cdc25e8c74585c21c3e2ba938395f47d40014a4c43a655d3a94204d1f60e6e1b0300dfd4b5e028ae4f5620da31a4525fea7463d4a1bd94b065ec8417705c07c22003202a0d6125639945a81edb3a1b62ea3fc7fa53de2d45134fcb2c2d554f429ff90390b2aae01b105990c43d8c8b84cab774510637633bb012ec3b7bfd0c42d9101503c866118e924f6099f721bff5f974e38a2867357df33ceb86cadd3493ea64160b0219ffff03c75c03c6d70eb72affd45635e3e7db23aec7c017d774c677fb4405e5e0d48a070362369fa660d2063f4b90c126b1855ef183a1c2af23b2ae503bf9599ca7aeef9a03c7ffc290f3fb9ca0d4e1b7c2a8aff173ffca708745895619d2bec9fd17779a2603dc7072da54d1ebe2d029e1cd1ff08aff49598b7a9d79a6f7770feeb8c28954b903e21e1937c97e5b6d6eae58f99de8a35f570d527b47e7ac0eb78558907d9bf6fc03bd60684b2afcc376019d547fa0818168e1b20ffe7394463f319bc08ae2c7926903a75a535cfaa88483d5e08ac3ef2137e4655484dc6815f914ad1881f57c6688e503abb4176bfbce2afa046088990861f8fe5d27092d03dc7ca35f627bd3db8dfb470219ffff0312c6a9d94e6b5d51101d9b82465ea4f61eedef17d6b60b43fd5588d5189e3c19038e69f41b2be687ac4913261c1a5b1f41350123d96b3c0de42de6b2e27849ce12033c73552de4c89a3fd75b71296dad0f612c7419f582a82e695116cbb37bcb36dd03e105ced51103c5af1f017dce9bd59ac7224c8fb0f9d60665089c90d22b8d16650219ffff03c58b43548d6c6932e802fe6848bdb110abab8e1ca36140e2b959a4eaa653146003e9575ab2b72ca1b00417a998caeaae493fdb849c9ace1c841d238650630e4d000387fab9f378aa8fd518852477a761dc09005d3978a5dcca8168bf8196e42bb7d0038af8e6361b74727b70d0619dcc87be2d2e496e649fd05cb652c94ada88fbaa3203a2614c9b543147f6abc41bbe273da39417777843e6bae5df10a548ce05ba6f91030e0be977e8435f10d3b5cff0358843c862280bbcc8741c972c143deccae401a9035f5b0e3792f87f84860b32656e704c6d30b8f259b2cdf729a4ba818e16714482030a5d28ff13a95ec504a1a10ae018e77e0c135b5a24552261a1567b65d91c888a034ccd38c309addcd97fc51b2de0b8fc51b19134c81b7efd4da15482283345733c034878458f7422ad61868df0a944837fabdf0baba0bfc7d8a6c8b565cefaa1677c03f4d1e39641be14eb0eb5e057cd6b2f41335590ba58a6091855faed5025c9a66f0219ffff0311507b6dd21de3dd3dbc1db1020d5d2e6a352899e0f6f2026e4546e234cf224203006886cbc15f7a3c914de5698f9196e695c53b67501220115c7213ad9505fb05037fc2476948ac98b8cc1b5a739a1c0e5a56c5e3c716bbee40112c8d634b93576c03beecda67a6891749a193c8dadcbd78dc0c7ba761d3c729c35e36d504c25b534c03b1b82c8581c96b0ea841e6b260165aa7e98b94eed811f9f08e60a5fc87d4e877034fc38795c10f3217f6748456d20285ee936fcb1b69294890e86f53a8680d0f0003129490daefc38ec872cfd728b3440f3d69309e0bca49511e038de2b0de27cfb203436d9c7062199c790040663c87ec660f6a387073889edb698161d3c697205c730371a759e502f808b17002ce1cbc3eaa4fc2de2bed7c093321e33834f9ca2cc65a039828aeca0743dcaeb565929ab8c35ba06655937bc990e2228b045b72b4a2f79e03ad33a0b466864bb54c7bdabf490e6c948ed6a8c02c777b222a4b6a2fb3f19cb903d16c2f34463308862cdbf5279835c28c927c51a02105815be9b5353c967c230c034133523389a54364aeb4e81efbdfb0949da788a65c6b07344e102f92f8d374ad03cb9e640cc256de09ddd63e1b9064d324500c09c659383ef1d9cb8370a366224203ce2a495d6c8b34570b84f253b8b61aa8d84a17ebf22df31add4403c5010fafeb0379d1446665a238deab78bc290970e609b81ffec28f59ea62dee08f19d8b2e3dd039ad63bbc3b4649b32af6289b6ad482415c85377cde3ca2fadb0d454b16a8a511037dadcac400e1a0ce36878352644e461526cd6833b0afb68c84d5844ce318b95405581e032d914a5fcca3863543995cd1b3ad6f396f08d9ac9c35561778ddd960100c01470b7c7ce6d3b1da03efb1a2cc4899502ddc156992ed32d0e27b9bba358e9fee1bceb01b7ccb3ea6e603f383aba516d4d41c56283173ee7845906142241953b90a8c2afb23b8695eb2b1037822f88737b657deacec38041fbb82ee5c5f087f6b2ac4c98e19dd524d84610b05581e03d15e781c6576e96d7d2a641bdd1e1771a3ffe719063120e9c5cc1025d00c01461321207e5a00035797366626e1a830d3f7cab823bc48f1b69d3e8ecd2f37b625af8773bc2c2c4e05581e031fa80f22e68a9fb3606f9ff3e03cf41f119d7cfad25d6ffacfe30c8790040305581e030d32f175ebfa5085480b5b6cebfa83602ae619b4c3611b0512d0174d700c0147081e3d5618f60004591c4a6080604052600436106101dc5760003560e01c80636c0a24eb11610102578063a9059cbb11610095578063cc7494d311610064578063cc7494d314610558578063dd62ed3e14610578578063e6b0ed02146105be578063f8492b1a146105de57600080fd5b8063a9059cbb146104ed578063b7d307bf1461050d578063bf474bed1461052d578063c9567bf91461054357600080fd5b8063768dc710116100d1578063768dc7101461045c5780637d1db4a51461048c5780638da5cb5b146104a257806395d89b41146104c057600080fd5b80636c0a24eb146103db5780636f268a99146103f157806370a0823114610411578063715018a61461044757600080fd5b80631f57414f1161017a57806349bd5a5e1161014957806349bd5a5e1461037157806351bc3c85146103915780635705ae43146103a65780635ef46022146103c657600080fd5b80631f57414f146102fe57806323b872dd1461031f5780632e0882141461033f578063313ce5671461035557600080fd5b80630faee56f116101b65780630faee56f1461028457806314228b0b1461029a57806317198564146102b157806318160ddd146102e957600080fd5b806306fdde03146101e8578063095ea7b3146102305780630e23500e1461026057600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600d81526c141a595c88141c9bdd1bd8dbdb609a1b60208201525b6040516102279190611810565b60405180910390f35b34801561023c57600080fd5b5061025061024b366004611876565b6105fe565b6040519015158152602001610227565b34801561026c57600080fd5b50610276600c5481565b604051908152602001610227565b34801561029057600080fd5b5061027660025481565b3480156102a657600080fd5b506102af610615565b005b3480156102bd57600080fd5b50600a546102d1906001600160a01b031681565b6040516001600160a01b039091168152602001610227565b3480156102f557600080fd5b50610276610669565b34801561030a57600080fd5b50600e5461025090600160b81b900460ff1681565b34801561032b57600080fd5b5061025061033a3660046118a2565b610689565b34801561034b57600080fd5b50610276600b5481565b34801561036157600080fd5b5060405160128152602001610227565b34801561037d57600080fd5b50600e546102d1906001600160a01b031681565b34801561039d57600080fd5b506102af6106f2565b3480156103b257600080fd5b506102af6103c1366004611876565b61078b565b3480156103d257600080fd5b506102af6108c9565b3480156103e757600080fd5b5061027660045481565b3480156103fd57600080fd5b506009546102d1906001600160a01b031681565b34801561041d57600080fd5b5061027661042c3660046118e3565b6001600160a01b031660009081526005602052604090205490565b34801561045357600080fd5b506102af610950565b34801561046857600080fd5b506102506104773660046118e3565b60076020526000908152604090205460ff1681565b34801561049857600080fd5b5061027660035481565b3480156104ae57600080fd5b506000546001600160a01b03166102d1565b3480156104cc57600080fd5b506040805180820190915260048152632834b2b960e11b602082015261021a565b3480156104f957600080fd5b50610250610508366004611876565b6109c4565b34801561051957600080fd5b506102af610528366004611900565b6109d1565b34801561053957600080fd5b5061027660015481565b34801561054f57600080fd5b506102af610a9b565b34801561056457600080fd5b506102af6105733660046118e3565b610b3c565b34801561058457600080fd5b50610276610593366004611919565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156105ca57600080fd5b506102af6105d9366004611919565b610c0b565b3480156105ea57600080fd5b506102af6105f93660046118e3565b610c9f565b600061060b338484610cf2565b5060015b92915050565b6000546001600160a01b031633146106485760405162461bcd60e51b815260040161063f90611952565b60405180910390fd5b600e805460ff60b81b198116600160b81b9182900460ff1615909102179055565b60006106776012600a611a81565b6106849062989680611a90565b905090565b6000610696848484610e16565b6106e884336106e385604051806060016040528060288152602001611bed602891396001600160a01b038a16600090815260066020908152604080832033845290915290205491906113b6565b610cf2565b5060019392505050565b6000546001600160a01b031633148061071e57506009546001600160a01b0316336001600160a01b0316145b8061073c5750600a546001600160a01b0316336001600160a01b0316145b6107585760405162461bcd60e51b815260040161063f90611aa7565b30600090815260056020526040902054801561077757610777816113f0565b4780156107875761078781611585565b5050565b6000546001600160a01b03163314806107b757506009546001600160a01b0316336001600160a01b0316145b806107d55750600a546001600160a01b0316336001600160a01b0316145b6107f15760405162461bcd60e51b815260040161063f90611aa7565b6001600160a01b038216610853576040516000908190339084908381818185875af1925050503d8060008114610843576040519150601f19603f3d011682016040523d82523d6000602084013e610848565b606091505b506107879350505050565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af11580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611ade565b505050565b6000546001600160a01b03163314806108f557506009546001600160a01b0316336001600160a01b0316145b806109135750600a546001600160a01b0316336001600160a01b0316145b61092f5760405162461bcd60e51b815260040161063f90611aa7565b600e805460ff60b01b198116600160b01b9182900460ff1615909102179055565b6000546001600160a01b0316331461097a5760405162461bcd60e51b815260040161063f90611952565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600061060b338484610e16565b6000546001600160a01b031633146109fb5760405162461bcd60e51b815260040161063f90611952565b6032811115610a5a5760405162461bcd60e51b815260206004820152602560248201527f546178206d757374206265206c657373207468616e206f7220657175616c20746044820152646f2035302560d81b606482015260840161063f565b600b5460408051918252602082018390527f4ac0d6b0d694ec6c120242feaca94cfb6fbfe646756cd7026301e3a5984f0450910160405180910390a1600b55565b6000546001600160a01b03163314610ac55760405162461bcd60e51b815260040161063f90611952565b600e54600160a01b900460ff1615610b1f5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161063f565b600e805462ff00ff60a01b19166201000160a01b17905543600c55565b6000546001600160a01b0316331480610b6857506009546001600160a01b0316336001600160a01b0316145b80610b865750600a546001600160a01b0316336001600160a01b0316145b610ba25760405162461bcd60e51b815260040161063f90611aa7565b6001600160a01b038116600081815260086020908152604091829020805460ff8082161560ff1990921682179092558351948552161515908301527f2238b752bde5f0cb64dbc11c545edec44c801a7a4898bcb6bccb834964d13a6e910160405180910390a150565b6000546001600160a01b0316331480610c3757506009546001600160a01b0316336001600160a01b0316145b80610c555750600a546001600160a01b0316336001600160a01b0316145b610c715760405162461bcd60e51b815260040161063f90611aa7565b600980546001600160a01b039384166001600160a01b031991821617909155600a8054929093169116179055565b6000546001600160a01b03163314610cc95760405162461bcd60e51b815260040161063f90611952565b6001600160a01b03166000908152600760205260409020805460ff19811660ff90911615179055565b6001600160a01b038316610d545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161063f565b6001600160a01b038216610db55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161063f565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e7a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161063f565b6001600160a01b038216610edc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161063f565b60008111610f3e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161063f565b600080546001600160a01b03858116911614801590610f6b57506000546001600160a01b03848116911614155b1561122b57600e54600160a01b900460ff16610fc95760405162461bcd60e51b815260206004820152601d60248201527f45524332303a2054726164696e67206973206e6f7420656e61626c6564000000604482015260640161063f565b6001600160a01b03841660009081526008602052604090205460ff16801561100a57506001600160a01b03831660009081526007602052604090205460ff16155b801561101f5750600e54600160b81b900460ff165b1561110e576003548211156110865760405162461bcd60e51b815260206004820152602760248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152661e105b5bdd5b9d60ca1b606482015260840161063f565b6004546001600160a01b0384166000908152600560205260409020546110ac9084611614565b111561110e5760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526a185b1b195d105b5bdd5b9d60aa1b606482015260840161063f565b6001600160a01b03831660009081526008602052604090205460ff16801561113f57506001600160a01b0384163014155b1561116857611161606461115b61115461167a565b85906116c7565b90611749565b905061119c565b6001600160a01b03841660009081526008602052604090205460ff161561119c57611199606461115b61115461167a565b90505b30600090815260056020526040902054600e54600160a81b900460ff161580156111d35750600e546001600160a01b038581169116145b80156111e85750600e54600160b01b900460ff165b80156111f5575060015481115b15611229576112176112128461120d8460025461178b565b61178b565b6113f0565b4780156112275761122747611585565b505b505b6001600160a01b03841660009081526007602052604090205460ff168061126a57506001600160a01b03831660009081526007602052604090205460ff165b15611273575060005b80156112ed57306000908152600560205260409020546112939082611614565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112e49085815260200190565b60405180910390a35b6001600160a01b03841660009081526005602052604090205461131090836117a0565b6001600160a01b03851660009081526005602052604090205561135561133683836117a0565b6001600160a01b03851660009081526005602052604090205490611614565b6001600160a01b0380851660008181526005602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61139f85856117a0565b60405190815260200160405180910390a350505050565b600081848411156113da5760405162461bcd60e51b815260040161063f9190611810565b5060006113e78486611b00565b95945050505050565b600e805460ff60a81b1916600160a81b1790819055600160a01b900460ff161580611419575080155b61157557604080516002808252606082018352600092602083019080368337019050509050308160008151811061145257611452611b13565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cf9190611b29565b816001815181106114e2576114e2611b13565b6001600160a01b039283166020918202929092010152600d546115089130911684610cf2565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611541908590600090869030904290600401611b46565b600060405180830381600087803b15801561155b57600080fd5b505af115801561156f573d6000803e3d6000fd5b50505050505b50600e805460ff60a81b19169055565b6009546001600160a01b03166108fc6115a4606461115b85603c6116c7565b6040518115909202916000818181858888f193505050501580156115cc573d6000803e3d6000fd5b50600a546001600160a01b03166108fc6115ec606461115b8560286116c7565b6040518115909202916000818181858888f19350505050158015610787573d6000803e3d6000fd5b6000806116218385611bb7565b9050838110156116735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161063f565b9392505050565b6000600b5460001461168d5750600b5490565b6005600c544361169d9190611b00565b116116a85750601990565b600c80546116b69043611b00565b116116c15750600c90565b50600290565b6000826000036116d95750600061060f565b60006116e58385611a90565b9050826116f28583611bca565b146116735760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161063f565b600061167383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117e2565b600081831161179a5782611673565b50919050565b600061167383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113b6565b600081836118035760405162461bcd60e51b815260040161063f9190611810565b5060006113e78486611bca565b600060208083528351808285015260005b8181101561183d57858101830151858201604001528201611821565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461187357600080fd5b50565b6000806040838503121561188957600080fd5b82356118948161185e565b946020939093013593505050565b6000806000606084860312156118b757600080fd5b83356118c28161185e565b925060208401356118d28161185e565b929592945050506040919091013590565b6000602082840312156118f557600080fd5b81356116738161185e565b60006020828403121561191257600080fd5b5035919050565b6000806040838503121561192c57600080fd5b82356119378161185e565b915060208301356119478161185e565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156119d85781600019048211156119be576119be611987565b808516156119cb57918102915b93841c93908002906119a2565b509250929050565b6000826119ef5750600161060f565b816119fc5750600061060f565b8160018114611a125760028114611a1c57611a38565b600191505061060f565b60ff841115611a2d57611a2d611987565b50506001821b61060f565b5060208310610133831016604e8410600b8410161715611a5b575081810a61060f565b611a65838361199d565b8060001904821115611a7957611a79611987565b029392505050565b600061167360ff8416836119e0565b808202811582820484141761060f5761060f611987565b60208082526019908201527f6f6e6c79206f776e6572206f72207461782077616c6c65747300000000000000604082015260600190565b600060208284031215611af057600080fd5b8151801515811461167357600080fd5b8181038181111561060f5761060f611987565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611b3b57600080fd5b81516116738161185e565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b965784516001600160a01b031683529383019391830191600101611b71565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561060f5761060f611987565b600082611be757634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202ac5c9a71a0ad6b8f3aebe3a752bb7bc76ad69ccbceaabf3ddd0329354f62e5464736f6c6343000813003303ab549974e3352a5a1df08a69f70dcd57a94ba976a0224d7214fa2613bf3862230321ccacdb60c0b4ae8235b61bb9692f2a36fa97425a4c2e1217061ffdf9098771038039f332712bd4f2c3b0471c2cdb3d36f36f4254b2fd35b2c61349d5e812ac1103f8484006084c1c2ddd9cbb262251b106cce72315c282a229482ff7c71dd090040381bfbf09ca34894454e6fe7d0bfbab94d1adaf44f2768501db263cc1d0bf2745031cafcd2329829dfbdb74fdac4b99e8959676643f83ec44ab2b62006307e9520703f6941848d9c6e1fc6e328c827a4972ed72fa223f4a1f417a2bc17d473d8aef530354c267d8550272024c74a425fe26ebce7a9736103531e8d1c022a4510f46aa94031a4e14ef8c86333d6facc2312109960add471fb5d7cd365d19d0220a3c1a36a403ee3a41fde04ecc1bb5e662311a2c720581f8bf5494df1f508e9dd4d1602f5ce2005820024aad02072c1ce2a119b7ef0246a82adaaf0c0a1dfa6e061ee1b028ce4e42b049519737667abd882fef03493918e1a25dc531a7c9d8af21043c42d5910a80db60c9ae628f3cbec5bd2eb803e3893ba7e052d7a28d34a863d4d67b8189b9a9a8d5762d2bd7afe844d57ff0980386f6b5686b7bf35da23ffbb040608d2cae6edbeda813b608dc72cee15daa4c49032806310f21a529b13a18eb5bd99ebc6f98d2961f2186a43772c94882f518301a0340339451e8ab45cef13a5c8b88004278cf02fabe7157074ba12c488a20c902130376570507143546db113308779bbbc74cd69f763e614d318c01b6df8bc0ae2c9803c9c20706b423535ee00e48141e1f14e1a3ba7e74ae997cd3a6cbff9b515ea62e0396a36123dc00fd58dc30c6d6899d24921929e16e0e13a1c10fb249b4f825fb3400582003221410d0ae262ad93221ba1af3354afe0fb97434611a1d6f1bb1d95c206d305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037dec54133c211ee32dddddb46110be78732951c363227f981a4311c16ecdf68e00582003cde0714055adb70d0cbe9fa246f072167633745851d9b9fb922fe9656e2ef0494271b03c133fa71b3900582003e0cf097529d538e4526577b073e5e43e2d096bd6a07c9a49293a83c54ad9905820ffffffffffffffffffffffffffffffffffffffffffffffe0329a76289e23634200582003aaef39bbad0446583ed2dc5086826a0661dbfa583bae5242abdb7841203da04a03da64686ad2a96146df021901e403e9c67a252eea3898dfb3aaba71277398525f05f851b14b880d6065a297bd0c2b031661b3efe636a69bb0f7ba4e2073fd79e517e8547cf7851a3292c1f403b9746b0353b96e9ea34f935ad4290942932b191443c814bf493702d3e38445c91436d58f03588136a0d94f1218160287952a4753bc458ffd4d94279bab6bdf0712089e55ba0313919c24e8be884af27d0a6f70f2e816e0d91c37486d8f4dad62de5247101d230219ffff038aea268b3795074715671a666ae1e4b4b4b51fcf50ee95007b6fd7afb99d671c03e1202446922c607e69c955de1a8e3caabab222a2061617f9d6356ba6ff6420fa03ab5eebb23ae5e11266a0bc5cc2434671a8e0ad5f184d131a448cf31f2ce17fd10328267bd0aad4a83c48378e4c0108696b4b259ac2e59d15bd97effd6b4d84d2460375309cee6fed0125113407e19b6eb0517a113d9aa19c71b230dfe4a473c9229803a10db4b456fb4a8e63d556f96efaf4fc8ee07faad2a6a71ac488dec6d496844a0219ffff05581d022de527d67829e9ac5355f0e70d5a9a3698ca1d50c70a088de06795890f014101191c4a05581d02ad8e328c0470d001452433ee2be93b28460410cec1bc35c49c6df1010c0447377de1b1c720ff02120219bc8e03e0b5a8f8663badf2fa21ea63b268d9607d308d4b27d373cc3c0bce020f4b8f5b0359cc7e44f128590c80484a105d212b688b95161381d221b6046da1d3e5a3168803a1bd232c400c822f9404d2377d4566735f2b3efd97dc6e2f03e4015a46695b1a03814701f46729cbfb4e4b7bea299b5716f3a247dbd212288435e39a3ac35caf940351dfbd95eb79df803469ff15a7919f92120293e5911f7845115573a467fcc0fa036d414a3a5036812b431a59ed5136ae8ada1f16a915cf0ab8d26967dddb8ebd2d038d54a4d334ff155c5c77148a4e6ee59e90d81d31a4774e877f2295f0737c65880219ffff0372164595690ec0ce723999539e0ffe6403cbbaab095cb540e95dce78539751e50326fcba399bdd45a9cfd045ffdc03d7c744e108f1bd86c653382e69f115deae1b03a72e0e8a2489e9afb20d0a5fe6d8d6bad3477b3636ed6def46e281b91eaa6553035172db9f5c783379f87456de4f47a05944e5c640dbef8da127152a8022db17a203b2cad2595ef39c98da1dc7b5101beae36fae95d377aecd74e3e1b78aae49cd0a038e2f54d77f4cc2f054dfdf5923a5a087635fd648bb34b97d8aa73c60d8cee02903b515f5218d8e8c0484a69def9380ed8e50b2a8118369f6c92d8854033d6be5220378342b3f6dffbe87ebe971a818498b9eb32474812b43a669927b7481c97a0eed034524a1f0056975384421dd90cbdcc8042c5be57e1b84053a2c0a60f87a2044fa03bc195ba6a005e689cf87d092ecf7128230868bd57210c26042cb4d848fe6d8f303e353f3bd528be39bee9542ab6af06926165274a4206e6db61d679631640f870c03347109378944698f6f46c94e18657904112920a2c45c4b5ff9f904118781ad330354a31161b71439f2b832863ebd157d53edd16eed7bb57911ad3e8e4822c42e320219ffff03ab832be7cde607bc8cf216c8ea7c2c72fd176ab49e9b4c9fe5c2ce5f4959a3f603bb5738f0e5c848f7d23e69efb7a8e9df8aaf55b6e349bb2ca18d42f29cb7087303c1d08b27d0d92fac42a57cdd947045497a001a334bfd514d9939a060994dc18303deff80e9f0019b05c2785a4f83f56b803c30fd40efe4709e002a98817444b8aa03f888db21f903b0dff01ada2ee3cc07af34445e30444b6b4f2e521f92a4eee17f03c72d0fbca9c13b977616ff96c1ab6fc5e3811ea3c4e08e2e872439fb345e090803b2de6a400d03a4fdf4c3675173012fd75bce355efa378472f555941e5755c0cc035c70927a5f20744578a619f59f28b6d85c10f22db85ea7f7d1f82c3009814fc303fb0cee5e4cc37972a4e16179c1d5bca909bd7654746cfce5b6dc32fb0e5786bc0219ffff0316493ef4b66bab57f1da3d5cbb69e03c70475ac2a174db309e006d6bce4036fb0394a972419f8df16f98afb638ee988d259c8a4bf6b9dc3530be7c89678fa331c10376285ba70a2da52603e4d22dc1c9e6a6ac3d6f7e6a4458ec2e4eeaed229487a103a119ec6df3887d59b5ec5bc28595889895e2d584093ccb25ba3903da2fcd9be703905dceeb93f5204a3717d7f45a209f7d152b49780370a28df02a75ca56630767038f92907da5174cce02c3b69f36abb5915a978adccda1733c5edff0fb3879edec03da6412f8227c72e47005512512ab94941f85f0526dcabe2107458779ce662862031dd3eb287c879fcb9b4fd9d8a19e4314df8b380e34461a07836016d373417c9a03b69a01bf64ffd66efc1a38ee36a730b8b33cd39b0970fbecce903d3015b645c7035d24b23d81669951f70ad0ce699edf307e7ae923617a2ebae90aaa65da16dad003c669f91f5918c602a3ec9340cc26b04922952a26eddaf80ebe0e235a959fc755033656f36ac064b47d564bc300ccf289fcb8bcf1d8962ce06064e593d52c8056a50335626cf4b70f362bb577184e469f8d27906be289de67c54aec0a7fa948b462a2036d88f9fc3ff7313412b7cf5e331864eb3cfd8cef317c1f1ab5530c7c873a2c880393673601f9c81072a68a7e3577be88ff6acd033f3af3442be127abb0d0faac5503405071ddbf98dbfe6445283f2a8bfbf8a7e703f469d9d734aa1b88ce76e65a36033d67f41ed2c86afb31b96bd1fb68137aca158a9fa4a98f1a63e75bd1b76379310361462575dd81f8761fa82eb64ee96abdbd60892ea69871f6d6b0ac89438a78bc03194ca4f10205f7f043922c7bf6d575580f22b3f763a721e72d1f8881dae4135603f2819e766a67993def8a19156ba318c1d72b70dc6d885992a3856acf5c007451030652cb9222d89f03308b3f3a896c195a3de149bf1ab586d7b148d9d25092b6aa0335aed7ae1ede5a39a9556edcf2996be6c15d27059827081ee96e18b672ae4db203324ea83662964b44b7f755a87e11cc1e23402f5c4f0a5816096794cbed92866803a052e96b3046152f42564813c5fa81ce9bde94d65ee1f2fd71f6f23eb6b40f5903c41d1450ebd7afbb71be02506c56b94c7927173b5a14f190018d70fbc713d76b03100796232e020008b987cd8ecb190934ace0a9dcddd6af4e1feda9ccb43261e30356888ff5a9f0355111466d288f6c96335bdc522d673e7a44be88e401dced4861038466cac4527be6a1168dc80b69a18dadc264ff463d98665c40a46365025a865105581e03fc2c953e69cce9cbfdb0e312da9faf6d7073f322f945f34efe300db1c00c09469a94151c180005581e03a8ada17360af169e69c4e10b44632a94c9a8a3bb665bef316d137874000c01470711393c5d580805581e0324c3292eaa3ebe6887c4ada06b75f4654127808334ade49d5ec4cc652008480293078a3f3a78000306312425a007cda585740355f52db74d0ae43c21d562c599112546e3ffe22f0105581e03435e47e60c880a4651a803b52fbe8dc2ed3a8e2d057b36d3373737f6d00c0346a7c7a55f8c6804595f406080604052600436106102895760003560e01c80636352211e11610153578063ac9650d8116100cb578063d34879971161007f578063e985e9c511610064578063e985e9c5146106f5578063f3995c6714610715578063fc6f7865146107285761030d565b8063d3487997146106c2578063df2ab5bb146106e25761030d565b8063c2e3140a116100b0578063c2e3140a1461067a578063c45a01551461068d578063c87b56dd146106a25761030d565b8063ac9650d81461063a578063b88d4fde1461065a5761030d565b8063883164561161012257806399fbab881161010757806399fbab88146105cf578063a22cb46514610607578063a4a78f0c146106275761030d565b8063883164561461059757806395d89b41146105ba5761030d565b80636352211e1461052f5780636c0360eb1461054f57806370a08231146105645780637ac2ff7b146105845761030d565b806323b872dd1161020157806342966c68116101b557806349404b7c1161019a57806349404b7c146104e75780634aa4a4fc146104fa5780634f6ccce71461050f5761030d565b806342966c68146104c15780634659a494146104d45761030d565b806330adf81f116101e657806330adf81f146104775780633644e5151461048c57806342842e0e146104a15761030d565b806323b872dd146104375780632f745c59146104575761030d565b80630c49ccbe1161025857806313ead5621161023d57806313ead562146103e057806318160ddd146103f3578063219f5d17146104155761030d565b80630c49ccbe146103b757806312210e8a146103d85761030d565b806301ffc9a71461031257806306fdde0314610348578063081812fc1461036a578063095ea7b3146103975761030d565b3661030d57336001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2161461030b576040805162461bcd60e51b815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b34801561031e57600080fd5b5061033261032d3660046153a6565b61073b565b60405161033f919061591e565b60405180910390f35b34801561035457600080fd5b5061035d610776565b60405161033f9190615971565b34801561037657600080fd5b5061038a6103853660046156b8565b61080c565b60405161033f91906157e2565b3480156103a357600080fd5b5061030b6103b2366004615270565b610868565b6103ca6103c5366004615483565b61093e565b60405161033f929190615b42565b61030b610daa565b61038a6103ee366004615103565b610dbc565b3480156103ff57600080fd5b506104086110c9565b60405161033f9190615929565b610428610423366004615494565b6110da565b60405161033f93929190615afd565b34801561044357600080fd5b5061030b61045236600461515c565b611413565b34801561046357600080fd5b50610408610472366004615270565b61146a565b34801561048357600080fd5b50610408611495565b34801561049857600080fd5b506104086114b9565b3480156104ad57600080fd5b5061030b6104bc36600461515c565b611577565b61030b6104cf3660046156b8565b611592565b61030b6104e23660046152dc565b611661565b61030b6104f53660046156d0565b611714565b34801561050657600080fd5b5061038a611894565b34801561051b57600080fd5b5061040861052a3660046156b8565b6118b8565b34801561053b57600080fd5b5061038a61054a3660046156b8565b6118ce565b34801561055b57600080fd5b5061035d6118f6565b34801561057057600080fd5b5061040861057f3660046150af565b6118fb565b61030b6105923660046152dc565b611963565b6105aa6105a5366004615550565b611e0f565b60405161033f9493929190615b1e565b3480156105c657600080fd5b5061035d612370565b3480156105db57600080fd5b506105ef6105ea3660046156b8565b6123d1565b60405161033f9c9b9a99989796959493929190615b50565b34801561061357600080fd5b5061030b610622366004615243565b612600565b61030b6106353660046152dc565b612723565b61064d610648366004615337565b6127d5565b60405161033f91906158a0565b34801561066657600080fd5b5061030b61067536600461519c565b612915565b61030b6106883660046152dc565b612973565b34801561069957600080fd5b5061038a612a1b565b3480156106ae57600080fd5b5061035d6106bd3660046156b8565b612a3f565b3480156106ce57600080fd5b5061030b6106dd366004615717565b612b0e565b61030b6106f036600461529b565b612b8c565b34801561070157600080fd5b506103326107103660046150cb565b612c6f565b61030b6107233660046152dc565b612c9d565b6103ca61073636600461546c565b612d28565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526020819052604090205460ff165b919050565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108025780601f106107d757610100808354040283529160200191610802565b820191906000526020600020905b8154815290600101906020018083116107e557829003601f168201915b5050505050905090565b600061081782613246565b61083c5760405162461bcd60e51b8152600401610833906159bb565b60405180910390fd5b506000908152600c60205260409020546c0100000000000000000000000090046001600160a01b031690565b6000610873826118ce565b9050806001600160a01b0316836001600160a01b031614156108c65760405162461bcd60e51b8152600401808060200182810382526021815260200180615ee26021913960400191505060405180910390fd5b806001600160a01b03166108d8613253565b6001600160a01b031614806108f457506108f481610710613253565b61092f5760405162461bcd60e51b8152600401808060200182810382526038815260200180615e0c6038913960400191505060405180910390fd5b6109398383613257565b505050565b600080823561094d33826132db565b6109695760405162461bcd60e51b815260040161083390615984565b836080013580610977613377565b11156109ca576040805162461bcd60e51b815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b60006109dc6040870160208801615562565b6001600160801b0316116109ef57600080fd5b84356000908152600c602090815260409182902060018101549092600160801b9091046001600160801b031691610a2a918901908901615562565b6001600160801b0316816001600160801b03161015610a4857600080fd5b60018281015469ffffffffffffffffffff166000908152600b60209081526040808320815160608101835281546001600160a01b039081168252919095015490811692850192909252600160a01b90910462ffffff1690830152610acc7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9848361337b565b60018501549091506001600160a01b0382169063a34123a7906a01000000000000000000008104600290810b91600160681b9004900b610b1260408e0160208f01615562565b6040518463ffffffff1660e01b8152600401610b309392919061594b565b6040805180830381600087803b158015610b4957600080fd5b505af1158015610b5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8191906156f4565b909850965060408901358810801590610b9e575088606001358710155b610bba5760405162461bcd60e51b815260040161083390615a18565b6001840154600090610bea9030906a01000000000000000000008104600290810b91600160681b9004900b613477565b9050600080836001600160a01b031663514ea4bf846040518263ffffffff1660e01b8152600401610c1b9190615929565b60a06040518083038186803b158015610c3357600080fd5b505afa158015610c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6b91906155ac565b50509250925050610c9087600201548303876001600160801b0316600160801b6134d1565b6004880180546fffffffffffffffffffffffffffffffff198116928e016001600160801b039182160181169290921790556003880154610cda91908303908816600160801b6134d1565b6004880180546001600160801b03808216938e01600160801b9283900482160116029190911790556002870182905560038701819055610d2060408d0160208e01615562565b86038760010160106101000a8154816001600160801b0302191690836001600160801b031602179055508b600001357f26f6a048ee9138f2c0ce266f322cb99228e8d619ae2bff30c67f8dcf9d2377b48d6020016020810190610d839190615562565b8d8d604051610d9493929190615afd565b60405180910390a2505050505050505050915091565b4715610dba57610dba3347613580565b565b6000836001600160a01b0316856001600160a01b031610610ddc57600080fd5b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9846001600160a01b0316631698ee828686866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018262ffffff168152602001935050505060206040518083038186803b158015610e6757600080fd5b505afa158015610e7b573d6000803e3d6000fd5b505050506040513d6020811015610e9157600080fd5b505190506001600160a01b038116610fe0577f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9846001600160a01b031663a16712958686866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018262ffffff1681526020019350505050602060405180830381600087803b158015610f3057600080fd5b505af1158015610f44573d6000803e3d6000fd5b505050506040513d6020811015610f5a57600080fd5b5051604080517ff637731d0000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015291519293509083169163f637731d9160248082019260009290919082900301818387803b158015610fc357600080fd5b505af1158015610fd7573d6000803e3d6000fd5b505050506110c1565b6000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561101b57600080fd5b505afa15801561102f573d6000803e3d6000fd5b505050506040513d60e081101561104557600080fd5b505190506001600160a01b0381166110bf57816001600160a01b031663f637731d846040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156110a657600080fd5b505af11580156110ba573d6000803e3d6000fd5b505050505b505b949350505050565b60006110d56002613689565b905090565b60008060008360a00135806110ed613377565b1115611140576040805162461bcd60e51b815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b84356000908152600c6020908152604080832060018082015469ffffffffffffffffffff81168652600b855283862084516060808201875282546001600160a01b039081168352929094015480831682890190815262ffffff600160a01b9092048216838901908152885161014081018a528451861681529151909416818a01529251168287015230828501526a01000000000000000000008304600290810b810b608080850191909152600160681b909404810b900b60a0830152958c013560c0820152938b013560e0850152908a0135610100840152890135610120830152929061122c90613694565b6001870154939a50919850965091506000906112669030906a01000000000000000000008104600290810b91600160681b9004900b613477565b9050600080836001600160a01b031663514ea4bf846040518263ffffffff1660e01b81526004016112979190615929565b60a06040518083038186803b1580156112af57600080fd5b505afa1580156112c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e791906155ac565b50509250925050611323866002015483038760010160109054906101000a90046001600160801b03166001600160801b0316600160801b6134d1565b6004870180546001600160801b0380821690930183166fffffffffffffffffffffffffffffffff19909116179055600387015460018801546113739291840391600160801b9182900416906134d1565b6004870180546001600160801b03600160801b80830482169094018116840291811691909117909155600288018490556003880183905560018801805483810483168e018316909302929091169190911790556040518b35907f3067048beee31b25b2f1681f88dac838c8bba36af25bfb2b7cf7473a5847e35f906113fd908d908d908d90615afd565b60405180910390a2505050505050509193909250565b61142461141e613253565b826132db565b61145f5760405162461bcd60e51b8152600401808060200182810382526031815260200180615f036031913960400191505060405180910390fd5b6109398383836138cf565b6001600160a01b038216600090815260016020526040812061148c9083613a1b565b90505b92915050565b7f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad81565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f193ae757ecb6ead396a72d38c6cc38e1be93297aa66ffefea29e32ce3045475f7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6611526613a27565b3060405160200180868152602001858152602001848152602001838152602001826001600160a01b031681526020019550505050505060405160208183030381529060405280519060200120905090565b61093983838360405180602001604052806000815250612915565b8061159d33826132db565b6115b95760405162461bcd60e51b815260040161083390615984565b6000828152600c602052604090206001810154600160801b90046001600160801b03161580156115f4575060048101546001600160801b0316155b801561161257506004810154600160801b90046001600160801b0316155b61162e5760405162461bcd60e51b815260040161083390615a86565b6000838152600c602052604081208181556001810182905560028101829055600381018290556004015561093983613a2b565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e4810183905290516001600160a01b03881691638fcbaf0c9161010480830192600092919082900301818387803b1580156116f457600080fd5b505af1158015611708573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561178357600080fd5b505afa158015611797573d6000803e3d6000fd5b505050506040513d60208110156117ad57600080fd5b5051905082811015611806576040805162461bcd60e51b815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610939577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561187257600080fd5b505af1158015611886573d6000803e3d6000fd5b505050506109398282613580565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806118c6600284613af8565b509392505050565b600061148f82604051806060016040528060298152602001615e6e6029913960029190613b16565b606090565b60006001600160a01b0382166119425760405162461bcd60e51b815260040180806020018281038252602a815260200180615e44602a913960400191505060405180910390fd5b6001600160a01b038216600090815260016020526040902061148f90613689565b8361196c613377565b11156119bf576040805162461bcd60e51b815260206004820152600e60248201527f5065726d69742065787069726564000000000000000000000000000000000000604482015290519081900360640190fd5b60006119c96114b9565b7f49ecf333e5b8c95c40fdafc95c1ad136e8914a8fb55e9dc8bb01eaa83a2df9ad88886119f581613b23565b604080516020808201969096526001600160a01b03909416848201526060840192909252608083015260a08083018a90528151808403909101815260c0830182528051908401207f190100000000000000000000000000000000000000000000000000000000000060e084015260e283019490945261010280830194909452805180830390940184526101229091019052815191012090506000611a98876118ce565b9050806001600160a01b0316886001600160a01b03161415611aeb5760405162461bcd60e51b8152600401808060200182810382526027815260200180615d6f6027913960400191505060405180910390fd5b611af481613b62565b15611ccf576040805160208082018790528183018690527fff0000000000000000000000000000000000000000000000000000000000000060f889901b16606083015282516041818403018152606183018085527f1626ba7e0000000000000000000000000000000000000000000000000000000090526065830186815260858401948552815160a585015281516001600160a01b03871695631626ba7e958995919260c59091019185019080838360005b83811015611bbe578181015183820152602001611ba6565b50505050905090810190601f168015611beb5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611c0957600080fd5b505afa158015611c1d573d6000803e3d6000fd5b505050506040513d6020811015611c3357600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f1626ba7e0000000000000000000000000000000000000000000000000000000014611cca576040805162461bcd60e51b815260206004820152600c60248201527f556e617574686f72697a65640000000000000000000000000000000000000000604482015290519081900360640190fd5b611dfb565b600060018387878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611d2b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611d93576040805162461bcd60e51b815260206004820152601160248201527f496e76616c6964207369676e6174757265000000000000000000000000000000604482015290519081900360640190fd5b816001600160a01b0316816001600160a01b031614611df9576040805162461bcd60e51b815260206004820152600c60248201527f556e617574686f72697a65640000000000000000000000000000000000000000604482015290519081900360640190fd5b505b611e058888613257565b5050505050505050565b60008060008084610140013580611e24613377565b1115611e77576040805162461bcd60e51b815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b604080516101408101909152600090611f439080611e9860208b018b6150af565b6001600160a01b03168152602001896020016020810190611eb991906150af565b6001600160a01b03168152602001611ed760608b0160408c0161569e565b62ffffff168152306020820152604001611ef760808b0160608c016153e6565b60020b8152602001611f0f60a08b0160808c016153e6565b60020b81526020018960a0013581526020018960c0013581526020018960e001358152602001896101000135815250613694565b92975090955093509050611fb7611f6261014089016101208a016150af565b600d80547fffffffffffffffffffff000000000000000000000000000000000000000000008116600175ffffffffffffffffffffffffffffffffffffffffffff92831690810190921617909155975087613b68565b6000611fe230611fcd60808b0160608c016153e6565b611fdd60a08c0160808d016153e6565b613477565b9050600080836001600160a01b031663514ea4bf846040518263ffffffff1660e01b81526004016120139190615929565b60a06040518083038186803b15801561202b57600080fd5b505afa15801561203f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206391906155ac565b5050925092505060006120dc8560405180606001604052808e600001602081019061208e91906150af565b6001600160a01b031681526020018e60200160208101906120af91906150af565b6001600160a01b031681526020018e60400160208101906120d0919061569e565b62ffffff169052613c96565b905060405180610140016040528060006bffffffffffffffffffffffff16815260200160006001600160a01b031681526020018269ffffffffffffffffffff1681526020018c606001602081019061213491906153e6565b60020b815260200161214c60a08e0160808f016153e6565b60020b81526020018a6001600160801b0316815260200184815260200183815260200160006001600160801b0316815260200160006001600160801b0316815250600c60008c815260200190815260200160002060008201518160000160006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550602082015181600001600c6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160006101000a81548169ffffffffffffffffffff021916908369ffffffffffffffffffff160217905550606082015181600101600a6101000a81548162ffffff021916908360020b62ffffff160217905550608082015181600101600d6101000a81548162ffffff021916908360020b62ffffff16021790555060a08201518160010160106101000a8154816001600160801b0302191690836001600160801b0316021790555060c0820151816002015560e082015181600301556101008201518160040160006101000a8154816001600160801b0302191690836001600160801b031602179055506101208201518160040160106101000a8154816001600160801b0302191690836001600160801b03160217905550905050897f3067048beee31b25b2f1681f88dac838c8bba36af25bfb2b7cf7473a5847e35f8a8a8a60405161235b93929190615afd565b60405180910390a25050505050509193509193565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108025780601f106107d757610100808354040283529160200191610802565b6000818152600c6020908152604080832081516101408101835281546bffffffffffffffffffffffff811682526001600160a01b036c010000000000000000000000009091041693810193909352600181015469ffffffffffffffffffff81169284018390526a01000000000000000000008104600290810b810b810b6060860152600160681b8204810b810b810b60808601526001600160801b03600160801b92839004811660a08701529083015460c0860152600383015460e0860152600490920154808316610100860152041661012083015282918291829182918291829182918291829182918291906124da5760405162461bcd60e51b815260040161083390615a4f565b6000600b6000836040015169ffffffffffffffffffff1669ffffffffffffffffffff1681526020019081526020016000206040518060600160405290816000820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016001820160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b031681526020016001820160149054906101000a900462ffffff1662ffffff1662ffffff1681525050905081600001518260200151826000015183602001518460400151866060015187608001518860a001518960c001518a60e001518b61010001518c61012001519d509d509d509d509d509d509d509d509d509d509d509d50505091939597999b5091939597999b565b612608613253565b6001600160a01b0316826001600160a01b0316141561266e576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b806005600061267b613253565b6001600160a01b0390811682526020808301939093526040918201600090812091871680825291909352912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016921515929092179091556126dd613253565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051600019916001600160a01b0389169163dd62ed3e91604480820192602092909190829003018186803b15801561278d57600080fd5b505afa1580156127a1573d6000803e3d6000fd5b505050506040513d60208110156127b757600080fd5b505110156127cd576127cd868686868686611661565b505050505050565b60608167ffffffffffffffff811180156127ee57600080fd5b5060405190808252806020026020018201604052801561282257816020015b606081526020019060019003908161280d5790505b50905060005b8281101561290e576000803086868581811061284057fe5b90506020028101906128529190615bef565b6040516128609291906157d2565b600060405180830381855af49150503d806000811461289b576040519150601f19603f3d011682016040523d82523d6000602084013e6128a0565b606091505b5091509150816128ec576044815110156128b957600080fd5b600481019050808060200190518101906128d39190615402565b60405162461bcd60e51b81526004016108339190615971565b808484815181106128f957fe5b60209081029190910101525050600101612828565b5092915050565b612926612920613253565b836132db565b6129615760405162461bcd60e51b8152600401808060200182810382526031815260200180615f036031913960400191505060405180910390fd5b61296d84848484613de6565b50505050565b604080517fdd62ed3e000000000000000000000000000000000000000000000000000000008152336004820152306024820152905186916001600160a01b0389169163dd62ed3e91604480820192602092909190829003018186803b1580156129db57600080fd5b505afa1580156129ef573d6000803e3d6000fd5b505050506040513d6020811015612a0557600080fd5b505110156127cd576127cd868686868686612c9d565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b6060612a4a82613246565b612a5357600080fd5b6040517fe9dc63750000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000ee6a57ec80ea46401049e92587e52f5ec1c24785169063e9dc637590612aba9030908690600401615932565b60006040518083038186803b158015612ad257600080fd5b505afa158015612ae6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261148f9190810190615402565b6000612b1c828401846154a5565b9050612b4c7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9848260000151613e38565b508415612b67578051516020820151612b6791903388613e5b565b8315612b8557612b8581600001516020015182602001513387613e5b565b5050505050565b6000836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612bdb57600080fd5b505afa158015612bef573d6000803e3d6000fd5b505050506040513d6020811015612c0557600080fd5b5051905082811015612c5e576040805162461bcd60e51b815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b801561296d5761296d848383613feb565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c4810183905290516001600160a01b0388169163d505accf9160e480830192600092919082900301818387803b1580156116f457600080fd5b6000808235612d3733826132db565b612d535760405162461bcd60e51b815260040161083390615984565b6000612d656060860160408701615562565b6001600160801b03161180612d9257506000612d876080860160608701615562565b6001600160801b0316115b612d9b57600080fd5b600080612dae60408701602088016150af565b6001600160a01b031614612dd157612dcc60408601602087016150af565b612dd3565b305b85356000908152600c6020908152604080832060018082015469ffffffffffffffffffff168552600b8452828520835160608101855281546001600160a01b039081168252919092015490811694820194909452600160a01b90930462ffffff169183019190915292935090612e697f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9848361337b565b600484015460018501549192506001600160801b0380821692600160801b92839004821692900416156130865760018501546040517fa34123a70000000000000000000000000000000000000000000000000000000081526001600160a01b0385169163a34123a791612f00916a01000000000000000000008104600290810b92600160681b909204900b9060009060040161594b565b6040805180830381600087803b158015612f1957600080fd5b505af1158015612f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f5191906156f4565b5050600185015460009081906001600160a01b0386169063514ea4bf90612f969030906a01000000000000000000008104600290810b91600160681b9004900b613477565b6040518263ffffffff1660e01b8152600401612fb29190615929565b60a06040518083038186803b158015612fca57600080fd5b505afa158015612fde573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300291906155ac565b5050925092505061303e876002015483038860010160109054906101000a90046001600160801b03166001600160801b0316600160801b6134d1565b84019350613077876003015482038860010160109054906101000a90046001600160801b03166001600160801b0316600160801b6134d1565b60028801929092556003870155015b6000806001600160801b0384166130a360608e0160408f01615562565b6001600160801b0316116130c6576130c160608d0160408e01615562565b6130c8565b835b836001600160801b03168d60600160208101906130e59190615562565b6001600160801b0316116131085761310360808e0160608f01615562565b61310a565b835b60018901546040517f4f1eb3d80000000000000000000000000000000000000000000000000000000081529294509092506001600160a01b03871691634f1eb3d89161317d918c916a01000000000000000000008104600290810b92600160681b909204900b9088908890600401615839565b6040805180830381600087803b15801561319657600080fd5b505af11580156131aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ce919061557e565b6004890180546fffffffffffffffffffffffffffffffff196001600160801b03918216600160801b878a0384160217168689038216179091556040519281169d50169a508c35907f40d0efd1a53d60ecbf40971b9daf7dc90178c3aadc7aab1765632738fa8b8f0190610d94908b9086908690615876565b600061148f60028361417b565b3390565b6000818152600c6020526040902080546bffffffffffffffffffffffff166c010000000000000000000000006001600160a01b0385169081029190911790915581906132a2826118ce565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006132e682613246565b6133215760405162461bcd60e51b815260040180806020018281038252602c815260200180615de0602c913960400191505060405180910390fd5b600061332c836118ce565b9050806001600160a01b0316846001600160a01b031614806133675750836001600160a01b031661335c8461080c565b6001600160a01b0316145b806110c157506110c18185612c6f565b4290565b600081602001516001600160a01b031682600001516001600160a01b0316106133a357600080fd5b50805160208083015160409384015184516001600160a01b0394851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b6bffffffffffffffffffffffff191660a183015260b58201939093527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808301919091528251808303909101815260f5909101909152805191012090565b604080516bffffffffffffffffffffffff19606086901b16602080830191909152600285810b60e890811b60348501529085900b901b60378301528251601a818403018152603a90920190925280519101205b9392505050565b600080806000198587098686029250828110908390030390508061350757600084116134fc57600080fd5b5082900490506134ca565b80841161351357600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b604080516000808252602082019092526001600160a01b0384169083906040518082805190602001908083835b602083106135cc5780518252601f1990920191602091820191016135ad565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461362e576040519150601f19603f3d011682016040523d82523d6000602084013e613633565b606091505b5050905080610939576040805162461bcd60e51b815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600061148f82614187565b6000806000806000604051806060016040528087600001516001600160a01b0316815260200187602001516001600160a01b03168152602001876040015162ffffff1681525090506137067f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9848261337b565b91506000826001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561374357600080fd5b505afa158015613757573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061377b919061560d565b50505050505090506000613792886080015161418b565b905060006137a38960a0015161418b565b90506137ba8383838c60c001518d60e001516144d9565b9750505050816001600160a01b0316633c8a7d8d876060015188608001518960a00151896040518060400160405280888152602001336001600160a01b031681525060405160200161380c9190615abd565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161383b9594939291906157f6565b6040805180830381600087803b15801561385457600080fd5b505af1158015613868573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061388c91906156f4565b610100880151919550935084108015906138ab57508561012001518310155b6138c75760405162461bcd60e51b815260040161083390615a18565b509193509193565b826001600160a01b03166138e2826118ce565b6001600160a01b0316146139275760405162461bcd60e51b8152600401808060200182810382526029815260200180615eb96029913960400191505060405180910390fd5b6001600160a01b03821661396c5760405162461bcd60e51b8152600401808060200182810382526024815260200180615d966024913960400191505060405180910390fd5b613977838383610939565b613982600082613257565b6001600160a01b03831660009081526001602052604090206139a4908261459d565b506001600160a01b03821660009081526001602052604090206139c790826145a9565b506139d4600282846145b5565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061148c83836145cb565b4690565b6000613a36826118ce565b9050613a4481600084610939565b613a4f600083613257565b6000828152600860205260409020546002600019610100600184161502019091160415613a8d576000828152600860205260408120613a8d9161501f565b6001600160a01b0381166000908152600160205260409020613aaf908361459d565b50613abb60028361462f565b5060405182906000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000808080613b07868661463b565b909450925050505b9250929050565b60006110c18484846146b6565b6000908152600c6020526040902080546bffffffffffffffffffffffff19811660016bffffffffffffffffffffffff9283169081019092161790915590565b3b151590565b6001600160a01b038216613bc3576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b613bcc81613246565b15613c1e576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b613c2a60008383610939565b6001600160a01b0382166000908152600160205260409020613c4c90826145a9565b50613c59600282846145b5565b5060405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6001600160a01b0382166000908152600a602052604090205469ffffffffffffffffffff168061148f5750600d8054600169ffffffffffffffffffff76010000000000000000000000000000000000000000000080840482168381019092160275ffffffffffffffffffffffffffffffffffffffffffff909316929092179092556001600160a01b038085166000908152600a6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffff000000000000000000001686179055848352600b825291829020865181549085167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617825591870151950180549287015162ffffff16600160a01b027fffffffffffffffffff000000ffffffffffffffffffffffffffffffffffffffff969094169290911691909117939093161790915592915050565b613df18484846138cf565b613dfd84848484614780565b61296d5760405162461bcd60e51b8152600401808060200182810382526032815260200180615d3d6032913960400191505060405180910390fd5b6000613e44838361337b565b9050336001600160a01b0382161461148f57600080fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316846001600160a01b0316148015613e9c5750804710155b15613fbe577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015613efc57600080fd5b505af1158015613f10573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015613f8c57600080fd5b505af1158015613fa0573d6000803e3d6000fd5b505050506040513d6020811015613fb657600080fd5b5061296d9050565b6001600160a01b038316301415613fdf57613fda848383613feb565b61296d565b61296d8484848461495c565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b602083106140955780518252601f199092019160209182019101614076565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146140f7576040519150601f19603f3d011682016040523d82523d6000602084013e6140fc565b606091505b509150915081801561412a57508051158061412a575080806020019051602081101561412757600080fd5b50515b612b85576040805162461bcd60e51b815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600061148c8383614af4565b5490565b60008060008360020b126141a2578260020b6141aa565b8260020b6000035b9050620d89e8811115614204576040805162461bcd60e51b815260206004820152600160248201527f5400000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60006001821661421857600160801b61422a565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561425e576ffff97272373d413259a46990580e213a0260801c5b600482161561427d576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b600882161561429c576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156142bb576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156142da576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156142f9576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615614318576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615614338576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615614358576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615614378576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615614398576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156143b8576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156143d8576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156143f8576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615614418576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615614439576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615614459576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615614478576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615614495576b048a170391f7dc42444e8fa20260801c5b60008460020b13156144b05780600019816144ac57fe5b0490505b6401000000008106156144c45760016144c7565b60005b60ff16602082901c0192505050919050565b6000836001600160a01b0316856001600160a01b031611156144f9579293925b846001600160a01b0316866001600160a01b0316116145245761451d858585614b0c565b9050614594565b836001600160a01b0316866001600160a01b0316101561458657600061454b878686614b0c565b9050600061455a878986614b78565b9050806001600160801b0316826001600160801b03161061457b578061457d565b815b92505050614594565b614591858584614b78565b90505b95945050505050565b600061148c8383614bbe565b600061148c8383614c84565b60006110c184846001600160a01b038516614cce565b8154600090821061460d5760405162461bcd60e51b8152600401808060200182810382526022815260200180615d1b6022913960400191505060405180910390fd5b82600001828154811061461c57fe5b9060005260206000200154905092915050565b600061148c8383614d65565b81546000908190831061467f5760405162461bcd60e51b8152600401808060200182810382526022815260200180615e976022913960400191505060405180910390fd5b600084600001848154811061469057fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b600082815260018401602052604081205482816147515760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156147165781810151838201526020016146fe565b50505050905090810190601f1680156147435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061476457fe5b9060005260206000209060020201600101549150509392505050565b6000614794846001600160a01b0316613b62565b6147a0575060016110c1565b60006148f17f150b7a02000000000000000000000000000000000000000000000000000000006147ce613253565b88878760405160240180856001600160a01b03168152602001846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561483557818101518382015260200161481d565b50505050905090810190601f1680156148625780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051806060016040528060328152602001615d3d603291396001600160a01b0388169190614e39565b9050600081806020019051602081101561490a57600080fd5b50517fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a02000000000000000000000000000000000000000000000000000000001492505050949350505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b60208310614a0e5780518252601f1990920191602091820191016149ef565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114614a70576040519150601f19603f3d011682016040523d82523d6000602084013e614a75565b606091505b5091509150818015614aa3575080511580614aa35750808060200190516020811015614aa057600080fd5b50515b6127cd576040805162461bcd60e51b815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60009081526001919091016020526040902054151590565b6000826001600160a01b0316846001600160a01b03161115614b2c579192915b6000614b58856001600160a01b0316856001600160a01b03166c010000000000000000000000006134d1565b9050614594614b7384838888036001600160a01b03166134d1565b614e48565b6000826001600160a01b0316846001600160a01b03161115614b98579192915b6110c1614b73836c010000000000000000000000008787036001600160a01b03166134d1565b60008181526001830160205260408120548015614c7a5783546000198083019190810190600090879083908110614bf157fe5b9060005260206000200154905080876000018481548110614c0e57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080614c3e57fe5b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061148f565b600091505061148f565b6000614c908383614af4565b614cc65750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561148f565b50600061148f565b600082815260018401602052604081205480614d335750506040805180820182528381526020808201848152865460018181018955600089815284812095516002909302909501918255915190820155865486845281880190925292909120556134ca565b82856000016001830381548110614d4657fe5b90600052602060002090600202016001018190555060009150506134ca565b60008181526001830160205260408120548015614c7a5783546000198083019190810190600090879083908110614d9857fe5b9060005260206000209060020201905080876000018481548110614db857fe5b600091825260208083208454600290930201918255600193840154918401919091558354825289830190526040902090840190558654879080614df757fe5b600082815260208082206002600019909401938402018281556001908101839055929093558881528982019092526040822091909155945061148f9350505050565b60606110c18484600085614e5e565b806001600160801b038116811461077157600080fd5b606082471015614e9f5760405162461bcd60e51b8152600401808060200182810382526026815260200180615dba6026913960400191505060405180910390fd5b614ea885613b62565b614ef9576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b60208310614f375780518252601f199092019160209182019101614f18565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114614f99576040519150601f19603f3d011682016040523d82523d6000602084013e614f9e565b606091505b5091509150614fae828286614fb9565b979650505050505050565b60608315614fc85750816134ca565b825115614fd85782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156147165781810151838201526020016146fe565b50805460018160011615610100020316600290046000825580601f106150455750615063565b601f0160209004906000526020600020908101906150639190615066565b50565b5b8082111561507b5760008155600101615067565b5090565b803561077181615cc4565b805161ffff8116811461077157600080fd5b803562ffffff8116811461077157600080fd5b6000602082840312156150c0578081fd5b81356134ca81615cc4565b600080604083850312156150dd578081fd5b82356150e881615cc4565b915060208301356150f881615cc4565b809150509250929050565b60008060008060808587031215615118578182fd5b843561512381615cc4565b9350602085013561513381615cc4565b92506151416040860161509c565b9150606085013561515181615cc4565b939692955090935050565b600080600060608486031215615170578081fd5b833561517b81615cc4565b9250602084013561518b81615cc4565b929592945050506040919091013590565b600080600080608085870312156151b1578182fd5b84356151bc81615cc4565b935060208501356151cc81615cc4565b925060408501359150606085013567ffffffffffffffff8111156151ee578182fd5b8501601f810187136151fe578182fd5b803561521161520c82615c76565b615c52565b818152886020838501011115615225578384fd5b81602084016020830137908101602001929092525092959194509250565b60008060408385031215615255578182fd5b823561526081615cc4565b915060208301356150f881615cd9565b60008060408385031215615282578182fd5b823561528d81615cc4565b946020939093013593505050565b6000806000606084860312156152af578081fd5b83356152ba81615cc4565b92506020840135915060408401356152d181615cc4565b809150509250925092565b60008060008060008060c087890312156152f4578384fd5b86356152ff81615cc4565b95506020870135945060408701359350606087013561531d81615d0b565b9598949750929560808101359460a0909101359350915050565b60008060208385031215615349578182fd5b823567ffffffffffffffff80821115615360578384fd5b818501915085601f830112615373578384fd5b813581811115615381578485fd5b8660208083028501011115615394578485fd5b60209290920196919550909350505050565b6000602082840312156153b7578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146134ca578182fd5b6000602082840312156153f7578081fd5b81356134ca81615ce7565b600060208284031215615413578081fd5b815167ffffffffffffffff811115615429578182fd5b8201601f81018413615439578182fd5b805161544761520c82615c76565b81815285602083850101111561545b578384fd5b614594826020830160208601615c98565b60006080828403121561547d578081fd5b50919050565b600060a0828403121561547d578081fd5b600060c0828403121561547d578081fd5b600081830360808112156154b7578182fd5b6040516040810167ffffffffffffffff82821081831117156154d557fe5b8160405260608412156154e6578485fd5b60a08301935081841081851117156154fa57fe5b50826040528435925061550c83615cc4565b91825260208401359161551e83615cc4565b8260608301526155306040860161509c565b608083015281526155436060850161507f565b6020820152949350505050565b6000610160828403121561547d578081fd5b600060208284031215615573578081fd5b81356134ca81615cf6565b60008060408385031215615590578182fd5b825161559b81615cf6565b60208401519092506150f881615cf6565b600080600080600060a086880312156155c3578283fd5b85516155ce81615cf6565b80955050602086015193506040860151925060608601516155ee81615cf6565b60808701519092506155ff81615cf6565b809150509295509295909350565b600080600080600080600060e0888a031215615627578485fd5b875161563281615cc4565b602089015190975061564381615ce7565b95506156516040890161508a565b945061565f6060890161508a565b935061566d6080890161508a565b925060a088015161567d81615d0b565b60c089015190925061568e81615cd9565b8091505092959891949750929550565b6000602082840312156156af578081fd5b61148c8261509c565b6000602082840312156156c9578081fd5b5035919050565b600080604083850312156156e2578182fd5b8235915060208301356150f881615cc4565b60008060408385031215615706578182fd5b505080516020909101519092909150565b6000806000806060858703121561572c578182fd5b8435935060208501359250604085013567ffffffffffffffff80821115615751578384fd5b818701915087601f830112615764578384fd5b813581811115615772578485fd5b886020828501011115615783578485fd5b95989497505060200194505050565b600081518084526157aa816020860160208601615c98565b601f01601f19169290920160200192915050565b60020b9052565b6001600160801b03169052565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b60006001600160a01b03871682528560020b60208301528460020b60408301526001600160801b038416606083015260a06080830152614fae60a0830184615792565b6001600160a01b03959095168552600293840b60208601529190920b60408401526001600160801b03918216606084015216608082015260a00190565b6001600160a01b039390931683526001600160801b03918216602084015216604082015260600190565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015615911577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526158ff858351615792565b945092850192908501906001016158c5565b5092979650505050505050565b901515815260200190565b90815260200190565b6001600160a01b03929092168252602082015260400190565b600293840b81529190920b60208201526001600160801b03909116604082015260600190565b60006020825261148c6020830184615792565b6020808252600c908201527f4e6f7420617070726f7665640000000000000000000000000000000000000000604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201527f697374656e7420746f6b656e0000000000000000000000000000000000000000606082015260800190565b60208082526014908201527f507269636520736c69707061676520636865636b000000000000000000000000604082015260600190565b60208082526010908201527f496e76616c696420746f6b656e20494400000000000000000000000000000000604082015260600190565b6020808252600b908201527f4e6f7420636c6561726564000000000000000000000000000000000000000000604082015260600190565b815180516001600160a01b03908116835260208083015182168185015260409283015162ffffff1692840192909252920151909116606082015260800190565b6001600160801b039390931683526020830191909152604082015260600190565b9384526001600160801b039290921660208401526040830152606082015260800190565b918252602082015260400190565b6bffffffffffffffffffffffff8d1681526001600160a01b038c811660208301528b811660408301528a16606082015262ffffff89166080820152600288900b60a08201526101808101615ba760c08301896157be565b615bb460e08301886157c5565b8561010083015284610120830152615bd06101408301856157c5565b615bde6101608301846157c5565b9d9c50505050505050505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615c23578283fd5b83018035915067ffffffffffffffff821115615c3d578283fd5b602001915036819003821315613b0f57600080fd5b60405181810167ffffffffffffffff81118282101715615c6e57fe5b604052919050565b600067ffffffffffffffff821115615c8a57fe5b50601f01601f191660200190565b60005b83811015615cb3578181015183820152602001615c9b565b8381111561296d5750506000910152565b6001600160a01b038116811461506357600080fd5b801515811461506357600080fd5b8060020b811461506357600080fd5b6001600160801b038116811461506357600080fd5b60ff8116811461506357600080fdfe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732315065726d69743a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e7366657220746f20746865207a65726f2061646472657373416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a164736f6c6343000706000a039f1819dc877b7eee649684581005973fd14a711289408d056adae17e1200a2b603e827004c39a645cc75e82b447860b9dbdf5076f3283a997512f4c1ed8b4b71d703219750b31b63527ca798a38544852a297425b717c3dbe1a53884adef1ecc2eba03c8baf05ca8f1bb942d8860fa27e5124b00c8d0f97e0467c29297090c5048ac2403acc9bad6643a872ce2df6ae558b6eefdf3a8de573c283d617ef30b4bb6bc1c1d034ba72ae5770361ef0cc13f8571e2fee8528641a9153a05575be0e63bc4c9452e03354c87e37d813af90e23681cb1480ec2026631c6d9f3a3c5f86bca99450129f303d526f4276fb8c4974bb292680305ba518221bffd9c661c53669b9a845fb3abe50362f4bad79f9c519ba87a01599bcb680c6467f34c7f1598e91da1e1c72e870cc103d25ff3bd841799dfa483e99bcc52608d3b35e239edb616b0d159a2c09424fde8036e5428a1775fe904fbb89191be78a193d66806c33b0542dff56d01bc35c14dd603d08ab3949050ad9bfd619bc8d9ac473e872c58f6c9d0d777ded0b5cf3df50abf03b0822dccb40fc19dcf47103d2354c64d349bee0b850aba992cd43c51578acdc90334a2e9951b6272a011d69fe67423a6d2a6891f125b23e7aa3d0f67d8abced72c03d7e659f97426d2b58a21f3cd7bbc7edc1168ef2a3309188a08e1926c20ffa36d0316a1fadf3faf4de2133c84fa0dc864718a723a7d0c26a392394dae3cc1a2f2640387ca40d365df20e2203951930938808fc7c62a01a4c93f216deaa5dd6dcc971803ef9d451a8cc6ea12f14040441772dae0b99d996aec830125a2549f8d21a24f2203d95d9b41a003e28f92a6441485eaf3965dfb3ffeebebdf13a145785ebf10c0da036a3baf094103fa435c500a38661c4800dabebed2545ff1311df28d1ef9a4b2b4031498fd18ff1aac40b09c0f23c25b19deacdcde9c24631f2a8879487831a8c83503b0bd760e8adcd0392dcdcb6b5bd515e7e83c01ddc27ff5b07d551eddff9cc2c703f22cd32b35f2432b9a150c2eafa0b4bbf237a0a26f2016ffa8ee10214721e05c03740dbc1faa8301c042d7d1090303b43948912a548c7ac5aca6d76623fea2bbad03a6536a952082ea26cb346a874163fd5c717d21c811c74f8fab1c1c5a9f991ce203971a1f9de655e6363d4754710eb4079cfec869b1640e48ea9dc711fa052f69e303b8bbbf86aeb6ea9a1a91402faf1528e30ea9378321e0d5ad8ee1d68cd66433e603a941fe3b537d3f8f10d1392460d51dfb3e3a4520cf3f68abfdc2d5cfca079a0203fbf01bdc539ae8fd55ebffbcad6e625ad6bf49891d2c582874882cbd3db8678a03384d55f2e73c32a2925e8e54f80a810060690b561de03fb2c41dc4240b3bfbbd03fa4bc71b299f218b707e9b129793f0413c60aadc458fd8eddb46b78dd80dac14031fb2dc8026737e894a169a13fe3bf1c97ed0aff6d2deb724ad6de474bed0430400581e021ec430dc7e6c94e3c9c1ffe29b0cf9970850eea7b5a70a59b19e708ba7410100581e02e9404847d43adba92aa6dbfa03565b6d280db08fa7bd12e3517f78556d410100581e0219641f77e98edd68426106ddfb55153b0e47acf94f7baac095cc308c2d50fe5bb0fe3ec8000000000000000044be00581e029a4ba1a01f6bd0cb4e5a73ffb3ad55374ffac9aad1f1283e1242531808581804ca36a561868dd8fbc898fbc884000000000000000045c700581e02b89f743a12c6e142032167c183bfe219fbb58a615702ff9e42f47e66a5411302191682030757c20fd2d80e810d369cb2555ea728b54b0f3c7190d68421898aec48bf42d90393c15d690b74836aa1744b9bc8b9a120f60314d1c74d619f33d70636bdcbce0603798e6e5a0374a5e73711cc89613c925e31a1afb0056095176eb5e3b72485e54a03dd2d27543cbf5e38c69bb0a8bd55142219ea3c2c0abdb596ad6236b17df6d6e903b64acb60d45285336ba890975400d123da3751be9e47cfa6e9d1780295d3be2b0340f3aaf186f31cd30dce7919697dc20f028dc38fcccc6dba84a4fe4ef2e5c8c703872dba2ac50fe545ae41bc651d18ae9ad1da9f3c4cc2c97c39dde7fbe411060503b24a69136dd7715bfd3cfb3e7dbf14db33a197584597f3917b7fb63a3fb7c5b9038efec1a3d25e54f236a073a764ef3f3c729f16fe223af6ab3cd38b9351031c5e0305d5b4df5adee0d045cc7b3bbb36ffb480416eb6e9e31da12d5cddeed897ee6a03739720e4701ec83c32e3e420e390f3eb5e3cbf386c51da4dadd051b8346ee31e035a646206fa93e1ca52ea54de011a27a25a611eafa1c674d36715093b353f27c3034bee4f3399bc95525c08eaacb3607b54c7fb772e62c6032b6774ea59f8ba34260219ffff03c8961a9470b47d4120538ea20dc5bfb0df8865465134b64467f4133a568000ec03b7dfe9c86fa8aae4d5798cef33cd7dc8c544c868e397357d7f175eff43b1b0c803c1bca9b55d60d1fadac348dd7f8cd3c918bfef8eb1294e7ae166f035d0f7121003d326431aef7d6d710592866fc93333da775a62ca733656f482ce5c17a5fdcb7903f0c3dec90d274e0f5fb486ff3b02810b4696514cb862c352ab84755444ceef4f0389e3b18dd4a9c16a1e57ad50d23148557f433892e3ad756167a15a5a26bddfec03a18c10645cb0d927e368136e169d5e19e87b526d3db2c856d7dc08b41cd0b0ad0337e2d7cd316629159ffcbe45a0f5b1e5b61431f52f6dde8a4e0ab60effb3c92903528be26280de23c233ab02677e38e5ff5736b0e3435745458324630d12c751500219ffff03e402ecb1f5d8b7015f83c0746e39647023b5134d6d07ae6b06fa02ca2a6358b703163bc85ed562a7eeec3170508b34b0317fd39f6d952a5b5515dcec8c838ebc790384d42089c298ba8a92d46613372629c6c2f878a4e4be49728fc215463970d1af0219ffff0387401a087b21f1219c41d3c82039aa05ab216f1dd4453c7db9f2087685c9038d035db228b4ff319cb293b2ca1567a75e28d7cc42fec68be64dcb627ea2e0bf81f703ec866b4fc2b48d2200b1f10256c28291b1eb353231c1ad163cd6241193b7534903e01f525b63645732081d3e8f3749968db80102ad7dc2b391bd609eb029d9a7010219ffff03b2356cf08ffda4a8f736bffb61c026dde1da3b83afd3c365b93802953763624103bb7d03feafa6ee19c1ba1ed959d685354cef103b1116611952e0e6cec4ad07de034dab1268b464bf5cd5f1372c31737aac299c61a550158cfa4dced281f461746f0337285b65843132b1f738204116b07dd9d0edf5ec81e3e6d0a27e7acaeb671f5e03afa2d2e789fee98b280475df76f2180e5997af173b57a2a5dbbd045624d6033c0343b7c284bdb9fa33dd660ab7b527b2ff79c48a685036f1ef1d66c927029d5cb20378caac92442c45210811550607e032c90c015c2ff6f40addd9c079e27bfcdab603b98f501614f9bd99044b94f2d01eb3b6480987a308c247504f18d4ae0f579047039c9ad0f22db6ef9f6be984ec760cea40ecd5160ede3e0084b6bd8d8ef7b0dd62034b31296be57be810033ec9e207806566d1084e52763e8f0687165c14674240ce036a5728504999ed10d25ea0d12ce8073f2a5fea273ca003ad0a5ac88502c5b5c4031a9ef2a8eaad622d30c079e99dd4f41a263286623751637b104b7524dd97557303d949f5fbc23632d0de10f925be3195884a8dd9bdb010232fff239c8202b7d9590381080531ea69d6d30c4acd51501e0d6e2ecbfec0564909505fd3a6cc1de61363033f6d9884d7f4853e689c03f33a6b8e76ba03c64ed2cfdf1424b4630e10cccdb6031fd53e6c2baf9de9340f03266a0eca48d0c7d0bc0ba30ddcd2a12df50eb862ce0374a9230e73dc54d9541300a9063ca44b83e945c99f825ae111a3387bd05ca03d03e2475df03f971879f5aa442cb6890d5851a156024f57a4dc237b94a4d5ed9abb03cbd3acfe803b49c18857605e0c49c2a87e260d18d6c791bed25329bb100ecd1303d6bce5af2d165fb70cb1a2dbf63a3f20e782ad440766a43138d26e0a20236a9203d87092637de0aef39b5022cf44d50900365a6f1e021b0f5e61708f963f01d84303b51868c49242341e18c3cbc895990d1c1dfb772d060abf8b9293eebbb4bdd53f03cd0836332d2ba183dd9ff2a7e0727684cd198dbc0df44ca34cb22e38086eecd5031e44c12b36b852554cb3985755245b29ff2a20f8a1534facebb637c4dd803a000384a86598015f0721e69cb1fb7081c2a139e1023c5d4d385a5e9f183625295c6e03f5fceef973ad65f4823e4c3d340cd3efa6f09736877646210960eedd0d50fecb0360377c20d623fc7bef77e0c439bf7c71726944300be238676e6d2f897d445b4103c28d0ea6c079ba8c9d452a7c53fc10dfa55f90071fe275712c38d25c047ecaf403772e9cf5a5761903611e1d5270c0289a3e91c22e2c20afb6a053fde73b3156fe03eb51c24b6a047f7369332e9da6bb69088d6a37d314ecc8e195a1b1bbcada0d390311eaf5a990d30222ec61437054b9438352dee748bfa9007d38498ee9f9d02ee703d52d3da9094c1688b2ddec7bb0c1cd678cf5abd6ca86b68e365ac2e78eca467903cee3dc5d349095d49e5e0af4deb2f473c4bfc3549b6441c4fec8ddb1d8d41225033babf4d4d58bb70045744bb012e121707985a2d63877b3fa708c0ff99e33c24203a23a9ac380587ce0205c4e762e3dbe847c16e185d593098d6bdfdeaa42ed75130380bee933f341be30e246c9f7f5fedbeca40d8dfc7f67779401decb05fd8929a80301bdd129df7008b00696a4d80e860fc197fd451797d051f9ea0ac6b9d29ef23503f083511e7bc5f4140fe76794ab68682993f7e9e9aa03f8ca33bce839032ea01b00581e0203a617a10faeda68a5ba5433e52a46789d57d0d6344578d441d9ae273642c3fe00581e026d613ac33e5403035394d23f68436ef9d246436802d8744d034dc2a9004306985d00581e0240de7eaf7878d6f268d59c4845a955442d0afa834982e543cc419a0df350ff8b0cf2764c0000000000000000323500581e02a11519aa285662a2f764b789f2dd3aa59ed903a4b1cfeabce5e2c067504f1033412f8a4b8adfcbaf96783987fb0219c00500581f0340d0256c616dc2b1abbde2468154a1bea799cf5b33796611b3856f06a4e041030343bc1888ebbc5674a532534f3d4ffeb4b940ff485d3d8ed6ef061840ff1e712803f6602bb5e56844eebde87d019411bb81cd5d34eef114d2cdb20df4ab05da680103121abe719230456c75120593e76945d79c689603096ee205c19186b287727665038de3a117b0e82de0e04f1ea1f603e6e68bc0531ad1714cd5bd7cff2395cdadfc0320cc4aaad12d4bf95a79b06af7cf410b51402560b6eee7ae254ad1bb1d0614a203c4d3efa32f9452925c7a0b0264b210b34578b38a6bbbd2936fcc897e5f87a38303ee6034ae514b1c6f831f4de7412fcda06067772ed511eaab80c11c20ec46ef750219fff70219ffff039f6a698591ffad2a17e0e990b2854a812d124fc835135e85527bbb0aabd206e10219ffff034657029a06d9713406e1a35a3d7a974d84afef4e92d19702b585e2e74468251e03ae6b3d4bca3cdd80acbb47aacc800c90fa4f629fe940b5f48632a2588de2c4ac038a167f7bb02f7122262109c0d6f3918a7585d701c45277c55063934133dece6f03b7eed307451d316c55ce454f9fa58eb966404b264076811ede78acf3f05f91f003753c02d323569768d1fb6f10ef4096a4c7ff99066870a091eb6dd125f4d154070365d03eb486d4058df6f39699fe7186bbb1174eefaef8095634b72c0cb93306ae0330e942f01d49b5dfdb9bfe5feb6a4634f0dc4fb9b87a387a28527d8dc86465cb0375212907160647689385e0174b4c9eb0583bfc1a026ee595700b7b282757f0e803ccd4de30aa180321d7e0c26798c57516d5eaa361bf46974524898336c41bfe850374258f6cb2b642250812d43536f90e67f8c3986cb9a82190b0e116f76b47c17d0396a27ddb3662673f0b4144fca7537f4e4622686a84d11efb4ce247de898064e803645a06ae93e030a86cd5c50d77b912fa39fe155b0375811a41f72ecea7779cde0219ffff03833d4ec4314659ff9a916d2a3b50bf23ea2d52737f0c1d478ac78b8c580df0da03cf4028129bf7b2367afda5a35587d33ea3c712e8085542d08b2c5d6bde31df1003abd66301988f6623cc57506b7f90b13c838c7f7ab14c53874ee1e43883a0092c03126c33583731d62b341441876f271b3920d23c5180a493c8e2b39139a9b8011403536ced28da7d646d72aba0f4a77f164a39cbe907a56c049afb0c5059d6ed6f8d038f842ddcf91eccc12571044dc2af04b6f4e8d061c3de7a1bf26357a9e918763f03d4c614bbb71d7d5d0b6bade5cdd8877c8ef7e551736974504ffe82d273ecc917037057e9d50b3b8ff1eeb9494fbd4df7008ac8d3f6102e05faea1a2b4527064ff703b896052e4414ff6c8048b3173aba30c9df648e3ca342d4a795a6a484bd8bd89d039f3242cf7336bfd90290f6244c03e1855e0997bd63bd28821802dda38826aa9a03707edfbb32eac67aad8a5f360d2cb344444bc7ce1cf2da09387487c9cd109f4303a8cae1ae62504849d2e82949938dbc5878432e814386e08bef39612b36b8e4390398be11863df20b6c160365186b388409c6566e7ce0ed4f88432b0d0af8d9becc03c6c50cb9bb760761c5f60868c2ac9b7472ecec20152fa56bbd0b832772bc1c2f03a0307f558ae4a042a226c3bf3d076b1d66da338bfd8652a05af3516461e28a01037c3bc91a9eaa84425505a445041cb28a980d9813cd681764d5b42a05f9c9d66e03e64f453f20c996d8b8eb427da00b2eaf221a8819312f5b564e60c4cf2f961b10030ea42cc11eed0b7494d04dfd345c668b5c4843b9a9be532f3f8ac6cc471ac688030d44d07d47636f87446deaa07f5851ac7596aa4d644ca620c29c87a59196ff0603e2a896256a99d6ceda43dda7eb8be3108e5bdbc4976875b4fff21099cb9f5f11035dbc7b490354f84c34f4aa1aeb82e964e6f1742481e6b80b3b4f5b812f61f11000581e02acc242a3b37c80f248d465ba077be628d06fc97a083620a1b8bed1b3e75820ffffffffffffffffffffffffffffffffffffe0f527d4b60f96ed02dad89588da033affe06c51cce105a8a2f1842bc0395051d43fc735a0578720e55350e603f32000581e02259fe81d3426b89d9c542cf8dc0521960aee399993d201f91418564aa7501511ee8e9611afc426e5beda4aaf75a600581e02fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace430960eb00581e027f1d12dec95dc49d6fc704a92884f114825090e0e67b68a71e21f829f34101037a2fa8a3db802dc144c92426b835acdb183d100da7b445c2be8ce0dadc836bfd021982a603d558539a573a78a25bb8ecd4e7e9561cbfd6b7972afe53f421637ebea65404fe03ba058f5b6c43e8a9442f2426789bda8d4c68fb8da201bca46a855f1e836ccb5f031f1dca6d1dc702abb8976ef61bcdaa8fb07eb4902828f5f8f4670bbd9b535f1403a0065f5fd63bc9def762cc7d29dce513be9e110f7354e8ddc5c29e5701a2482503d809c34c231b51df2ff27553de4a0668d5e9b674e8e24a3b47a342f0b249295e03918b2427db5855f1cb5280e509b4ce8baa9f51d8e4af837d21096b613117d6d4034e6e22e7378fb99db0cb7fc4a5fe31cef5d980d9e0ab862732a9d2d8f6cbcdc50219ffff037bde74408d2b636e29ed8a2b296401c939dba8d991f56b890ba43ad1dded19d20338477506f6410e56d92e0bbd43493659747bcb047f4113a92c90e18656aa181f032ad494f25c238272c84be0ec43a8ecbf72e05d3aec7da01cf2d61e04c806aa1d0373e1b26809b34bd88e7ecf3557443f2823f4a495eca08d02c22283e162dbd1c5039f30ccafe8a4be38bd159a420fe2cf438f61323347e55e87a7aba9e0ada86b91033e2083a17bd02d0ceecc38d27a2dce0b2c88f794b36a147e2b0821a5a8f0f0db03f89577b45ae11cc9e674c66b3d5c6a45a99b50d76245791a2d5d9111a273988003ba90e8a2ac003abf3b11e8ba77d85474f2231db8278635824a316cb768afadd30219ffff0306455e96eb3faf3a19eb0e3449bdebfc09dcdd3562b82f186e7579bd6c7e404903afad0c54878349b7bdd9f3d79c5d4aaff68685389c61a87d42e5d42ca8100dd0035aa7083cc46c0cc79b663d31d21d68194161bd486c1714bfeca7def5a3d3692f03b45cec681f0b3b521affcd02534fdee3f2b775b5d939b475aa98b22cbcb17370030f03b8087083cbe3713a57307b58e1cbb793a154f5b8da78f449a22778c6b819036c42a2231b950712fde6d24cbccdc0f2536df0a815e7dc2659ccff0185cb1af303341c6d17eaa7b1c3a02ac2f44abd23ef4be1b7c9fb687fc07123d20c73127a96030c7f89caafb359b6b7fab91150eb90a2e591ce587104253f985ab125efb46b77036b381f37ef37850edf7eeed0804c79235063ce24ec5c5703db1520f825f757370335e3d973f54b8a3ebf7bd00d17ea3581fd2051d65e813dde775dac014196e01a0219ffff03337d17a100ea2f031745d736ae256f3f96a1f539205e85131d6a6140c9d2716c03754909596e66510620debec314b6e4d224677133c5e0e983cffee72f9b49b6b303b51b1efc02a53ca9aa3fb4b10d1bc22ef8de6d50c829317a20ebf170cd67e2930394048d54e3c980420f8bab88548b1483a70a753ff1934f54e566075df61bdcce03ddf91683170f4e69c8f1a5f11ed913838846968251f7fb538b79f6f352a14cba03f081af7ffb16962e17e21ad1a7f50e968986a0f0bbe8a4c6658dd592c5e9f53e037012cf2796f84e3625a460a3197554769ce722678ad98ea13cb448c6ec49927a0336289b0866bcf78c429af88d5931a81b97f2048af33d1a6b76d025c99d00c0ff0323e18d78f4bed6bb9113f64ba227fbed84a3305657cb200d9f2501bc5b819eca030d0f4d88fed186476a8ae448bea26c422bcda88d1837e75a6c829a04626ac4cd03129f10f98bcbea9bd867f4c53ad01fa49bc932b08127db1dcb289a70ef1e243c03873557b4ede48b857385424e8e72e3efe46296825f257574459ba061eed2217103732110e73988a110ea1319b2ac614cb5f89b0e3da4162f29e64af4a364803342037f65601cfb214865f630aaddf7dcf6c3b3d66cc4b618f181f05c1e753c49960903839afd346344a838ace6056778212ddf520d2abbc29e5a4f4b60c85190dc94990219ffff03fa63d2fa6a7cf0ab00a223b6346c9ab867740707d2179ba50be15402c1883ad603561fb8e104bdd1af153726726b1eee8c4705254b19e06ecbd96e176456e374a5037c7c739ee3e706ba90fb6afdca7d834012a44636f01faadb702297e9925acc8d03cb507ce3246a8788c7263dc4f3a452a26cf01ade2f810f89267977d2a45fa5d5030fc553bea3e38a0da89332ffdbe9fb900111768dfa093d808317006099e270b5039affff06c2220d40d33963ab1d0b8d64c49b2a1003924f86ac6141244821665b037f473c685b7df7ff2e6ab1a504af5fea17211330b832a7cb603ddf09a8664401037fbbebd377df94984bd27ccdaccc0da03a40b0782659301f12a91fe6475510ef030f181609e1d3ff445c2b7855065f8f96ebe4db53b70ed308a21a33925583243a03a4d927c4bb2f427a9563f5a537db2e8a3208132c5e07a33b33e1fd3d9ec059d203499dd3547c9eb38590f8aaab3f2f5cfae30833c1649b3b1800c68713bb379bb5031ba6eae9bd85ce472be04198adc1e949f42cb19ad1b8817dc3862df85051895e032663da762badbcec1937f37d5d2cf4aeef0d143e41d50ef5682c8b1f2d45643d03a8dd70fb4fc7ccc27a1d8535e26e0abc8e431913fa4dd120ad737cc1cc44208603bb622ec3da6efadb55040e951d73dc7699af95baca378bb019dc8bb49ba5227a03123a3045521b3ca1b9fcd1f74522bcb009200893749b3e66a10d860ffe3eb9b603b34d062d6c207ee4806c646be1ab4462430608b89263525cbdea2d7f2506f7680302bc4936791514fd73774bf0e6f1a1c96ea757719b98f2015a72e638f740ad480348eab8b9180b928990623920756bac1d29f41eab27af441ff502b3aefd4d2a56032702645a48986b3adca23e447a3c378854455269ef941d0ff76a8619f1e1e2690330671d3dfe31008b26a5772b04aa7b3c149376feed924d12c4ac82b55e82448c030aef0e483bda9043fc6e1d89f709313df32c6d3724f3d00aa3271a0bff243928032c1ea5b73ff193f52319589b5d2bc89fa5e3f4f84a2bb1d9c5579189d7beee12038725410c20553416ed8a820f5002a27523d239ff0c9b7f4b7b49db5b07d0b4e20386e8492622957dc89612a2568aea7c30e85b142273b08a2f5ee300e5a2fce146036274d7231d5a533724b76e4a84d43f1d92b8136188c13568ec96272c0617374003677f54538bddfedd4de83f88409f6f5b87700c191df89d4f31966a60bd9b5ac8034f6ab5c0fb018a1581ea5cc4cb25952e4db64f399d17ed0ac2b250322ea28576039804bc20003334524dd0577d88b846be2dd2de716e0ae26ba56c58d06231943b039873cbb49a6deced1a51f34cd506812a691c2bd8ada9f6d38dfae11e9c9007cc0379078e69b5525ecfb67682d1f2a41b10a88bc33bc4107c0f529167656e022d1e0358d345fa8b648adcba7b8f9289d7e855876c180d7e96623f2219cdadef742e4c03afbd724925243ed0d0f820de679d65be86330753d1a1d262ee63bc0c2998dc1403a0f140946c094de5f4600c217562bdf4077d9b2e21d6db6396f0490e60021374031220b82c9450c8bd3354a9e1b1699b97802f1bd40b0337104ad29504179fe23103c029f81caaf99b49ec46db6bb3e1f072e601629694b197280a0f321514d3d859030634164a495ea3f3a6e90dac56859023942526058ff269c6d8948ec406f4730003c7ec109373730a72997992440da8e30333dc8d0349739c38bd1613ad5c88dfeb03722488e3b0f411834507b467a3e083aced971312069f0e0eaf4874740d86e78403a76bd40d7006e0f6d83a3dfac9097121a8f92a43d31211fb5460cccbaa4e695f03fe8654a68a0adcfb6c1eecee0eab17b151a206deda2c685ecc0a4fa485b4b5df03f7bf28e2e82f607214188f2fc5aea9c02304517397fa7e75a5a75c3c39904e6603d19f5b9e8c72badfeaddb07898b590414a9ecc4448ab4fbe1fbc14036857c5df03bbcf996cd78d613817b9002b0bb66a54ecb36ff6e3ebc60877f1b3f6c8e47d3703d0446455feca009d6c0d7c57c3cec569e7f5d497671feed32d4ea5926e4b219103b81d85aed52b2b9ed728d2bbbc6708d8aeb45c36bb6e47430dbc971c57dac82300581e022ae836005f625e613eba0ac9605b290aa9bfceeb412ea3f972eae06ca34e06d2a562739a2885b46fbc1c0c9c00581e02ecfd9350822ee2e255a9d85a676d1740c3c7a1250be207792404b07ea343095db300581e02c0701c6fffa768a0d6ae220cb8feef37caa2da10dbd849bbe64c5438004308eaca038660b0f4a10ee30b06e6455d6c9c61d7f3e8333120d21845e6d99499a262c63d021948420219ffff039808a9265924352ee17ef299f26e06136833ab3fdbd8a69715b01c3ea915f93803c134cb0f0a10bfb6d81d49cde89a8040cea9dfc9c90da7a1ffc5fb87fc2948d5030cda46917fa7112c09b008d2bec1b8b4732a380438d4244fd888d618e79a826a0219ffff03b3e2c65777e053a619c47851e6324903c38eec34c4c3b5c3dce72550399c34c30310c7630ce9b233eabd9de91cfb433add48437a5a94d287005d12af34cceef98903985fe9690259435620af5ebaff67bd0ea943cd16d1cf60146cd113ce7356d1730380fb2afcd75ac031ccc78d050196dedeeba22b479321925f3e3ec55cd5f6744b03b328b59a24f05e7f1360ddc94cc80344af1c676e695f0553a06ad18761f2a1b00219ffff036a467c7ac4714a8082af38369d21be0726c1aa149ac841a9da5e29c4fee0d5a103be0b6a110788b1cec7efe2bc92f7c05ae4c9c65a90fe97488247e6f2cbaecb8003679839c614523e63c13518c6542bdbbca7093d6a1b06f790a0ace209ee59b12703f93eb3eb52df5fb22304708e5b098563588f12318c03f73353683b0fd307afb3037aadc4542bfde398eae6a3d787a973b17e28581ff736634c1b5e1a931d7dce8703b51d693937b0b0a476509a2c125864130dc0ae5629f8f3353e09ea7d7124cf1e0219ffff037822442ec4222866fd9cf4176682c2262ae8af146cbb792b92a3fc1e0a9532f7033fa792e9992eb23ed26b177494859716f035770c42263685ab0132f4da6aeae50344028892fccf2d261c4455dbb2a1f9bc03af092c9431dfbe47f78b8be6db297a036a08d63d2fe593447f66d5a09964e4a5a1ed864e33f39d6a1383e3ae1929f78803d0c33b9533964db5c38483abebab6d25c9b56af48040731cc9f9d41945b83436030870b0a890d0d4addc359ba6bfc8a84c9222d4eb72225f2611900df8594c2c33035499efd5264039237cb3a06a0655005fb5f2d8892fe0bdc6726f5169e69aa5700333fe6cdc1b9292d18b480884247aed9e95cee03edc65abacfff9ca5795d62eed03473da0ea4b08f8517474693be540d4cd2dd903a447e18850449cf0196f39be5c03cc39914800ea9df0687483dfff6195bda82236c3e143314bb257a568de8d255c039a9c23927e3bfeff36e059767eb2fda23254f2fd8ce051b8d74e0a4240130e260390e28240f5f22cb9c2e1106eb04b9254c0f827051f0607819c261e4a41a383c903e9e951367449031ff81ca8277a910babcbfca1b13d1fc92c8164d8e32cb5513b03cfe24f2842a5430fb48cc33df4b45f91832aa492fa660f01813cb96c30eadbba0342b812743ab55c2ab43d18603edef44b24d7b4842a7e19fba79650233a7b3ec203974ee1932d05043f891273d0ebdacd537df64ba650b00f2045c10ec7b609c3fc03e2b9a4fceb8975abc76d846ae8a3c21c0058d495fc3a6017bedf017cb6ad4ea3036723664ecd6da5a2076f2877b96258ea17ff7c169a5c68d8b9d4aead027d1c90031319130d50f7834e48fd6e931c1ecb060c23f5e37f058ed20b0886cb22817811036eaa92190b3db33252e0c61a61a1febfae315d4e80dd414f80e884a91846d4fb034bd741ddbf74b8c095d558267f5676a2fb7eeeabb38f03d01ccdb43cbb6155af0389d7adfbc5eea16385f1398528520e17194f3874a75d46c302f628946a5562ee035f169fffecdfb64cadb734e1b97b681aec0a46c633fca85bf7405a5aefe559b603cffe022a4d4ec514a148fc2254ebe29aea342152318a3ac0839377e30c196024038440f705e7dad243c2aa2260ac6169b92fbec9ee2d8dfe553292219618b4269503f516e69343eadc18266e69ca1932078f445e77de610911dd1e78dccfc33532f8038219ff98da37b6ed85255aed7eef31f7e57120d0167c91eda42020dbc231335203842af6e151d58dcea6c964fb73ca975744461f11ad0254fe8df16bb493e91f7d03a4aaed5842ad534f4dc3a4a5d1581b28c7c4a19918719a069203d4ed4a923f55039847b731423d39e8f79610b3c6c4dcf4b185e31c3d3fbe90fa86209c63c9af5e038a4134ea3cc843d6da807f2b63617bcb23feb6b69f856047edc665f37893e61b0380fc1e86d86ea05ef1abfb66394eb470b981688d36b32ad95b33818c9af30c4003d2bc6a6b74a67929190232b9438411dba274a0e440c0f1c1e3d80c64f9eb3b1203334adb489a5964f438c84e994457944288c95363bb39c005800d2902a4a72c1103c8fa9364d200adce85586c5c97381fb804a1f90a4544a89cde03b0d650d67cd5032d5d20932e2b48a7b371a871d4b946882b5e2f9e48ef8b2e8910f6fbd3101ccb033bbed48881c8631bb17678b5bf26bc9f6f60039a9f879c9cff9a96973bd4d9c203ebb3ecf299fb8551986bc97b832f7a8396cd7556ffa71d2c15ac12cd71a587370384f883d2c1db84c0b2162ae22c8e2d6d29b681ebd071ba39054445ca2f726da30316f405ee7d6462fad3a814e1ff56a98c68a3bdda4a789053c500ae8c75e33890030da1fc711a3cf27b97fc9c359e3254722eadc97288841af55e89c4b8d431c40103c7f6f3112eed96beca3f745f4f6d5ecd23c450e37f371557ac23b9cbc94ff17300581e028fee6be40be5d76a3e7630b7ce31eaeb4a65ea2efd3168baf1756471c45820fffffffffffffffffffffffffffff7dfc0369d42aeb3cdbdd9b9c215e11a361000581e027d3f2a0533280c64ea705854fd17ac53bee71e3944c22543fd044e3df6410100581e026394a21b467fdebdb990a5b219fbb20bab338aeff29dc97475b825949a5820ffffffffffffffffffffffffffffffffe31c9df0f520da85cc89fcd938fb4ac0021989000219ffff03e299c18205d31ab7cd98a907bd2f3ae73d9f69c85af7fde9016f7a6a55a7bd5d033d7f7c63440aeeea1790474944d11d88cc84a55c86b99faddd9a24eaf17ff1ad0340003c768eee3ae5b86464e6cc37451f8cae6c96fa1b204d1fc642d0dbef276d03c0c063ce457c9b4eeeffb92d5bde3633eb431f4a29656547eddd5f9b8fb913df032b0fd294067a230d237c3e4eb8a3d2158d24adf4643782e71cb38970755ddb850219ffff03892ca05813fb1735b1d4ddf9ef17afd4d3029aa0c7b66de9f044b092370e236e03c8520eb889e68958e3480ac9f4f31ba042f7692d578bb28c9e39910ce1b71a83038e07727744ee40840317b51967067ad0d69774064181ebc4df84fd5d6a7de13903c5f9e70577690ac2105702a22619d743f955050d08f176ddf50a2a7ae32e0a93032626224bfcf2f3eef3d4a3f9705baa7c7423378dfa01bb916affdffedf1640bb030d0837bbf3b715df496cfe1fe9cbb941611e34a059936f40b2c1545c07dc642103e970eff3d26cf3673d6c0ce44086ebea38e6f5e34dbd52f56d9e89bce8a3ed110363bc991e095d0aa38fe73dce88be61c9234a29d2aba4fa08575a78c687f11337035235bb2b09358e17f8badc1d3211d35fd5f2b932f9138e0ad18481f910503ec60219ffff038d6dac3f9fd347cd51065b1c9fabffef6fc3f51848dd8b4e1425cebd8417878d03c62a92e408405fb5843e6df74dc9f0906b59c4549e4a1fa98fa270696b07eec703da63615e30db9432712734c19a59fc98e95aea9bb1409b9834454945bef9014f03ca90baa1a6390c4d0bfe4d0aad850b000cfd07719251ccf0e909872eff0b6d3803f81e3ecd2ae447dae530e86e9ce5963863ace728a8cf899c276aa5a575d93506036ded124119388b39eaa1a4dfb5048f8e0c5d0fce3791e0f8cfac576b4f1317f703f29327d239e5f0bc02861b41b1119d893edcb143ca264631e9b6bdcbd48213720327a120874279ae23e2a851ce7941572f9daf90768d25100c5f459d5f0ab17d42035f6b59ab382465f6207f9766d2e09a42b226d1510f497d00782ed34cbc04296a035aeb00e127dae389de6672842720588f782c809d24180d73cc0c8dfbe62f82d9034bd85c6399e9c382a0cad12f37ee73a6dedb878fd4279d0841bfa57fbd09f0d9033fc679bbdcba58974bee6eefcd0263312a202c9774c64b519aea6a1a58b1205803a9d654e3e8e3589aa69aba1ba1a3da66308d19f73653ce370714908dd8fca74603542cc63ac3a223d1d3dd3c422cd82e57c25bc76e990079f478352d7e39d680fc039ce6cacacdd1f52618e7e287fee0e94fd91602c28786189e02e075aa1dedd68500581d02e25e54599265268619d33c032c699b99ead6ca08d6d2b89072b131775564dac17f958d2ee523a2206206994597c13d831ec700581d02ef97ef0d6d132c441fda38e7bdb0d70bb9d7ac488f0e7c0bc1848c144f9b08963a92b110172f777a4f7d210b0219041001410300581e02656cfca06ce4e2ee9453732e8ba331af7ccce9d21760e002d50a1f872943048fdb00581e02b3b1182c06509bbe48b4598b522ac7468f84a6965b11112b3486d159555003f26403e6340000000000000000000403ba4fc52b18331581e460d15eaf0d2110182efeb73588f24d803c5100b1d2de2200581e0240faf1d86cd3253faedef2c328479fc720fa6e330b03fdac06336552ea4e1e69ba23e61ffea163ef7a3dfdfa00581e0262ebdc7dd0b2ca45a2da4f641912c0163b11a3f3d823e17a9bf9d047ca5003f86803ee40000000000000000027d10219962403929d1f0ed1bc45d755ba68759281c7362a69be3e56f06784d3e809c2f17f3d790302d9b9e0a1046c0e8a5591319c9b4753145667ff5d32f66bfb7030c9854376cf032752f842f4850c68b32039d8a1eba195acf316749cdffa607e0e7c15169e3b3003ddf4b9b7e050ea354e0610d1d32c43a2ea15baae41fba7d0a8ddf146f815694900581f03a81a8357cdb1d0d1f5c1d31ff5126f53271e0a1836dac0b5883d7c9845704309d413031cc4727585197f5de0f6128c7e76d320065d43e64faff2ae296e7e6302bfa7d303b1cf9527e6eeda32b9116077a4336a8adb9d9831cbe5843735b08bc93ac290a1030dac0db094944c3418c7528bf75bdae35177ba3473eaf48e93ddd4c0a2a3e834038aaceb4e43ed664afd799f2fc7566b68b6a9058f2ba79ef4b2e80044bf99e436033a5c69ec695ef74ab011350d717c6ecc6035e4cfb2ad3e9cc746447bfe7ea1980355744934aad138dbe6e136d8ef1ef5f616e97a7231f31a143510ffd9a1a33d840219f7ff033936bb29300113a76086ed70420ec52632c7c98d43f51dd2bf649e1b59b3b4a50397ff928fcc991340e07b1e462d1847742d77a1c2de9be171813d69b6823444b403b09c17ee3e40c6c727959e5f7dab4a18be008ece641fe6cca6f322282d11ffe803d311300907e5a248c91514fbe407ceb7b9a63b1a6a4d8e922ed4be679e634081032c95b80271821cbf4519578cc1644a897b27f17c0d69f53d06561b49b4301aeb03a85937c9646a76ef2c3b28ecc5bf2ecf96c9ae28efa8a3c74e2c6444477c246a03593fd8c34e2793c0dde3594e89b1ac4dd8351323ba37fa82a68798374349649e036196473cf9678ebe3e9e85402256ce4cb6a9e1ae43e7d68f8e082b6ab9c67fe70316b77d8413ae10273bfab21a1783348e05da72b9cfee897517df0ab1ef5aa22b038cad274ed137844e7fbceff452331a4c9af8911e506722369a1a0c74abead25303d838ecfdc8151fefee5aa9ef19625817880454925d53016eae73cde327607175035fe30121b4447f70b7b4f06c8a62d8a9f44e9364d456fc09a1eed2fd33b59a0003a2dbbba0784101dda2df26bace1b73f91ab77c581d875ed5e6addce08e3e2d1d03b50666aebda291403aa36fec5328269313b24d2dcd369d2bc2a73d8fae66b1e30219ffff031b5374195abcb12661deb30ce6874fe56055a6f45f752d9b0ad8179197da48c303b4b7b6d8355515c1e20368c70c6dab9ac728bcb989805412dcaf9a22e1611d0f030ff53b650d4d5d51e402557aa289e2adda8f042758e932be914eace34d32b3c703bb55609878e05f5a9fd1fdd0dfc4a7d6917bae94eed9c30d21d37fffaea5a6bc03f83a68aab57e9cd32921bafb07331201a3287eea22d18eeefb67d7f821e087a30219ffff03756aca7c8dbd6ed042df66799edb4236729242d8e9da2d50cefe254e49e53b4c0394ef6362e4f0fd2249fc8faa22e13bbe15a3960bb9943c643caa4ecd7b68383a034d8a23bfe15d122e3e9e836e1f6330efd0da65070a2e1ce7582326eff4f697880219ffff03c1c4507cb4d8c6640179f48d2fe28f4430e1ea42ccbeebad982f8d5fa4ebb65a03b9eed33acf9e149cd495f6bdde40697aaa0eca5800cfa15e49f0956bfa817624034cfdc82086015ad385a1b7c07706e72b8d5afae89e813354028f4da743c44bc20309d7ec01990ffb21ff8ff49f16fd9b6af8a36d56b9a5b79a1cc7ce267eddd8f0031e3e76270c3f06b6ae0f7d00a71fc4fd071d438d68957157362a5bee8e77690a03e1ed5eba9d782bd8a421af5b0e6d1818246083be0d446a4ab9081d5620064f47030182c00b98d22af17e0a3e0aca9edb2fde5a0f2cdd87e24d4bdbe203d849743803649e67e90b6c17cd86d968766ad20429055d8b976dbc5c98fa06588abefc392d034e02aa658e0b9f6a2e4882ae90f366dce32402fce8d2bf7dc0b16b484aa09ac303e3cbe7160ad2038fcf904a21d1911aa51c9c113c402585f6da79a591b302f946039f38cfd7f21bd91709b46c54ff367989cd83905f393cd10ccc2678da055ec05f03cd4b3aff33293ebb5658d1daffea48c406f8c8ab0a88d89887252c872d7c591b03ce6f25567aaef5be008408a118217f7a087d0d58423045c9508e04352ea8d333031a777f69c274bd9186a7bf73b7ded4525ecb0128c9d077809073c8772c24666303b4fb7ae25f6acee0f2b542986c1b0fdd7e5fc6be1b70218637060cc7ed7d2c8503741d5c2409e4224bd0491eff64d72aff3314b4e600d07cebad51e9576e52859203c383bc83cd74792c0591d1206d33d25e84c73d4ace6ceae8c771f548bd38548303b2bded1da7bb8244c0973e2296e3d5a47ac1958768d8fff2748fb162da7db9e403606291e9b4d874fc91c71e58d08f0fc327928458e6cb76e163921af7928785d30303a3dd8facc1102a9279a4072c00f1a7bfe7d86dbb558395241eb5700aeddd7603602ecde1de0e30f0131326a818ef40f52b2ac986d662cfff6479a66b7026cc060332f7cde26f118a5a001e955884d54c83ffe5a393a41715868fab9c99d27fbc9103230b83b3a2ae4ed06f8d88dce52f87aacf5a537ed920cf08c50ab97310d3cf9f039968f71d42f843334fc0280e298346291aadf63671ec79125f8083465480a256038db106f944f916612d8c33d7cc29f6de8adb987caa405ef01f448c3fa6794ead03180d3d14867e48ad81269d9cf198006f969ee1615db85270845f50bf85d2917e038ccceecc8b168f14fec8415527cbc2e98dce7170384e7e50b8f1e4dfba1bdbdd035e0503469398867c04a0be6efd63dea01408e3d89c4c2e6029ba0584cb85c665033892155441a4f5dfe92d9563562ce2fdbe43ab9ba3c8bbd8363ab187b60e196503de54d184f77c599589fb6b29d44fc92a02b5bf8612d47df59d6f8ea1c85d978803cf62e92ec5566cae4ac872fe5b5c49d0942645eb868d2ed27da3d11e074d76bc03a962463e2c4e12a767302b05345c470d10aff49c0ca68177913d70b9a53d261d032fc54d4f6f6553bb33d72a09b707232237d9f0b7ed71915ec6e1c0665847f8f403c742f609756902568f7d4554a41a5c9abf6831bd9cd7ec8becd019b607f5ea7703b71bdad075efa605df36cbcf5718896b70b666592f06ba44c549d11de6555df003117a3b380d073f551103a80c7bc101d5038ea9f75f7319b8eee34510e4b5154200581e02023dc8021c4a27890121b6cfac9fb7b32eef469d46ee6559a359cfd23f410100581e022403897ec5a066a63b8dd5f41672facb2a21fa09fcb8fc77ef80bad07854ef9cf9985270eb35674214f7038610b2695cb98000581e0224b5506d31e4a5ce7712c3bf623297018def483932d18662622e59970243027d6a00581e0220c75d436f703becebb1a2fa5a73c68594966a74c0f73661db4fd43e704302511002190948034703bc9b77c54bc1daaf275dcb33cdda542b4173cad557a4f41e66ac8f74f65c035b98b2e0fd275dc421a0b4dd89bb9f3dc286b1f76b4f2dead8fa8dd49a35640403689f9121c62ef0be640c702bfdc9568bac7c25404f26e5219b4597e7dd54a67d036bb64c888cc7c94b4e0f395db3b3dc0314514dcf48ae31dd87c2e5c770469167037c74af7f5e576005cacbfd850761fa2ea20f8e49c48f1c6d7c58e66a98fde4d1033e8bdb7e2eeb50bb6f303bfc383ac432b618c140b063f4ae7abad186335ab3bf0393186550329e949aa92e2e0ad88818e7cd500965eb9167770fff8164117b9dd503eb480548497e1a6774d04ff5e589565d9b05701fa9987c4f06694be34e90fc4f03519588f2247482534190fb480cc5683448daef792e8132f44a19597a7ebb1cfe03c58a0225923c362f7c68351d8add87e57700c0c25ddb6625158331040a5e27d9030e88f8156cef4fe682bcc55790a50262726738ae7f3c13b2e871d34bc22af54f0333d960c64609fbd253c6eb94a321afbd67754db1b91e2b057affcfe002c94e2903f98d848f6d32c253efa6d4ef90e47c20522e69d80f1f519bb772187b1dbcc6b9034dd1c450666f9bf2bed403e8f9a7a1fd0200134b24eb4729e77b4b6be9701d940219ffff0219ffff035284787334064aa47aab0cbe35e4af62d873243c993b66a927c24c4b5b2306dd03695e02b92f28f096dbb4d5bb6637321dad8aced04960487d2b6981cf2ed42272032734b7ef6514f9f0f0017bf8ba437338d443a40f72e18cade9b138fcdfbbd1dc030f9e9e82911bbd63d45bbc388081d5389eaa35d2f9d8588c98cdbcac16317c940219ffff0380fe72cce915a7e33d7dbeda319ce4b073a04f96e9a2ce8175b5c4ab504b57f6032e73984eae19335a6654ba7d7cc3570c178302c0f2cfd39de83250591f4e4477035f5d8278cf3a3c8c3b5aee966d6bdfa1b6a8480fb42e0e6e281717890350e83f03b7db5100f33f6b99fea396bf83a0afe6cd95f00dc5a59c4a2bddf987952d773703303ec55a912b7696c853579e7672d49146977282b07a293e222f48d5e9daf9a903e423ba888a9a27f69d8723732593376087e85687ee2ac7ae8e7a16bb774014460358a2af3cdaeec6922b9f87b52de99f678fadc4962331bde9fa26690615f6742103f4410391a2ced5efb8d8cb6b0595abf7d4407ba227c048b697b3638de3e332dd03c5cb8d3325cf04026dc28a56390335e8a79a335b4fcc2bf6206a922ec50ce6dd0391374254bfa691f78afcd76bde8000aad084985fb5147ae98f8772e539df92dd03fd18dfe0ffdbdc2a1acd4f72952c713c897fa3d1b834493ca668ca0e1755560403d74e8f4f51fb3b7dee7730cbf4939685c8ce82ac190dd5b6fe88e0faba0b3ada03f9dc1f9c38c655d0b5e62030a58463d1973df80be92c93509dc05debeedeb79603e00aab63bd35f025bc316a5ef7a13160ef156353e99aa5d18c8465082703c606039663b154c02b48eabd8cc1008c89ac4467c0340f7f92bcf49d55a3b495e02a5c03d57e5dd8a13b6a63d1e72a448ea9b4f2c37f309ee77607b244588d762514fe0403aa3b687446794305a14d44e217df89db77cd17cc3138ab489bbeece1f7db9975036a798567b88b1368562b78d6aa93b506d94fa8338673d28fef949cc927732ece03fdf665fdb83d14ce53b34dfae7ee32f9e67a62d399927a55ee187e1318e82d14036e2e85f39cdc36cd6d0d32b3b174a3e4d6bf00b8791626a6be34d687a33facde031d27ed3887e38d5d80f912537fe612f14592100119a89bb838d940aa2712d3cf0367c29800cce786a277cc0fab3087e8748ad98c6cb4968ef38c63f3fdf3366190039ebdf258e0d1a7c9530665560eb6ec5acc1d9ec94390c98fd9223053f2372bf10384e2aff91f6a60cb5a3ebd3b4f7bc701fc3d7e263e8ff4c58b3230b8d38edad103e98b07d5635cd21bfa0f7edd8224c1cbc82d76a2951165e80614973c26faeaa40320ea30a610ac15e0563a8f34e36230a700accf1df69c0e88d653102e59c05fe700581e024ca03822c6a28e4169b1ccc199484bdc0457208c3a1dadf8fcb5bbb09f427d4c00581e0234a4be05097b5ca7557afe46f97890679b653d6b2d71280a72a75333d24301c52300581e024e938041cfab44746e06786a2952876707eabf9dbd9f20db4ac5743d62410200581e023896b88bb1214191f7f39bdef455c795a7ee502bc845eb2c020b2797c1411e021908380326e892bd5423fcbef2b30b7c24860327e29d4d576278c275ff3d4dab41a727de03faceb5332197c34d8b3272a2db233712e726e1052dae0874d5a7010277c5050b0219ffff030fe8e589f1fcf6b09229beabae57350d97206e6e6a01d6212a2fb00203bcf31303b0f7e83a19dd9d8a80969cf55557641d7274f37c576a22ff896c4c4d3ac7b88f035f86892fd908ad4566a57a9884e08527aff8373a5811cb62e6507906f31e228603ab2827619e4e7bf27c21e0e04641fb0b73cfc746c09c3b746eedaa38176b212703277522802c6b066720b387d7ec67cc77e07a64f29585c449a21d3bd89e906b1c03fa71ec34d3218648ef6b9806e3a2aa2c9c49faff043174253faeee3f75f447d40353021e4947a0c828887a5a9801052cb49e0aac7651738177d5546470dbe1d9d5034f8d6ad4f6897c27b5286418353d9e5c20ad854c2123bc55ad9ff7afbae996540351834a5ca9b417c382326035bfe3bc561d95a77d4ddf6a5e884b810eed11a58f0219ffff03851ff4ee9645107b8fc1fa3d481f06cbcb896aebe30a0beebcf29f7f3d78169503358a783b375e675edf0330e12dcaba47ea7fada743c87e75864fbb023a6d1a1603a32d73d3ffbd36f5f2543ec49a52bad2ca51d44370ffc794a37274b3f738be6e030d7a51923e8a37ce7674aa44b85b99871404ed221f160553aaad24bc493baf0303aee89fee356f6fdea663c49656a74658868dd9b8b608759ccf9b4ddf087d89c3032f9142274c2b9e16cdf92cd1383c83e2f36cd3d10f8e433bc5729abd16fb02f0039122adb1c13c904d5cd62a442f68b95ac806497653ec4e119c6c8c02af5d924b03e7e68e429d3da526f2103022e758a2446004fbd6756193b5907bb4d24aab794c030f5fa469bd1143f15f3412d331d83728b94384ee2a9917813d9f08c72af1f0a903ac831c245e3ac0f7e9b70d3ef4b4e00be17c97fa2c1afa26f30f766f756423d9035d48a168b05e951d5002056b271f3931aba9877476f82c06ea6eb98cba65c2c403818cf403ecf4bcbac22b707bdd94a13eb200c0d13bbf9738a798f4456f9a61630303de64eb711a7847ffc3b50501801d1e0104d74cbf836a0ce4d781860d9bc0830219ffff03dc2c210e2fece463277ffc619382aeb8085fa4d56d833036f37038c8ab8acd120219ffff031c17a4a2aca76e8d9289a2b4bc75253da0933399eba99be5998921457d3275fb03804229df1c58a15a220cf4b4358beed196f81d4f033393dd7e5824bb08489b7c03c5961779d92957246f6c491aa90230eaea77e14073f0c718376326150dd46d6803faba01ef16d93e9da9dd1f2f5eb24772580d6058375d1ea13de90df6eb973bd103ab27570b0ee3b327aa5eff08d6da877588953bd5ff31e81518dcfa009eec0b6c0380a1d00971dae5e060ed0ba4efd828cbc8e452f66e0aacb176707110cc436dc703cc341e136d7aaff71d1ab79934ccfb6cdda4b469f6778f2616bc749efe5b4268039d4fdf343757240e6cb327ae68d064c047b1924307ab1a393578a1064f03e87a038ce67999e6c4babfdb29400ca501ad608d77598a0e381ee5579b745bb690339103ee5027e348eb9fb2eef5e7cd62602618f110b28eadaeb60225de872b8ff33541031a0e2be1c091727a0aa87e8b3d71a9c85a6a4a24f8c46e46fb358c919338692f032bb6ba72f08f68e8eb66143d1c71ff25982d65fc51d80e6569c05c04fb3594a003956d19fb52a2ffc50e2c745421a9cdfa4df5e43d982b0231281207a446ae1ba6038b7048bcc8d123fd02099db767d506f2123bfe54cb52270a3607963fef64533f03ac94aae2c0a0ba6a4a9cea1ad4a2963fb0b0b94b7c800220ee3281b33923e1c603b880d1206a3c6e8738f2fe0921625648bff9c3050af4dafc80d9d7be5985caff03ed89e4c4848c160770c1917ef82e6b4ac19abe6bdbb16f813ed614c18dfddd1903e581bb11a323681f42f1e4af5a997e691bc0607f15a18cac26c3e5eca738ad990313cc2dbdf07d3c7277a1129d13b2170d3a7369fa3a7409f34ed3ed6e9045b7e403bac70542b10e18005bc78341ec9bc4086ef677097a0171c82f1e51c5df35845503d12fb1b1973a6f3a23e1e33cc7956a1bf6c0f1cc6edae386b73eee8ff299d04f032affd363a08db92c6aefd326ccffc1f13631416fccc1f48fb6445bfeba9217d403e97ab5c61ef5cfcacb7c7a78c5d269d50b03ec3da55e09947d114240df6741c8033516b3313511863c480af678435d6d665414b41935a7783060f9d7068875870703589a4e2a4edf439fde90461eb70ce64f7c5c8da36c0406e0dbf574233007cf3803fa94f5f460a04ecd69190e102fdc9ebadfc1441b2db951190d2e17218051b54e03f62aaa2a10d08f407d8041a6507ecce053bb7a121d37569feaed7297fc5562a1030f6b2de46b9dc213cd4c1628a89d1b6e03a74be7f42f3eb40bbd72bd593633c70317080abf07c8f0bca4e49504b5c479825fe1aa202f72fd3fe168b9c167c0e88303bcbdc875ed259d3a224c89bb752ca8ce1af68f5edb3319469ad1a1783c5f5f100391584185d69757d2231b4cc75b8e23c91df9ff4042cd7d3ccce506c254d5024103a9a843f11e8604af9fadb98647bb146fc8bc64600dc86581ee3091607e1ce9f903c3eb73bdf1a3452a372abf05f88e1a4fc9698d89b92a9805502c595460e0e86203f80e84a761dad07f3f5a39e5e76ffa2f745f41b13ef5ea3c6da1b6b97594c98e0384fe0c4b2f3e3c5298ffdcfb32d39fbd222178ba17b412f38fcd115c0999403c03ff61d830291f41f9514365bbdb0f46fd65bcb6157a2fdb9031566c91a73a09e8033ba80741203dc6e624fcdfc2156e594a5c544e99f58d7304fac415068a25cd3d0324edc59a61ccd831562b5ee4f27f25fc8ddbef29c22dc13b14b970d97bdba07d03ba6056ceec4bd3643b38c031c4ef33193e53c82465eb1d25db75ab2217bf7d4b03ff1218ccaad44e237ce8f4160e462fd432299614df605191cee29a550913fd080389b94f33b61647c876d5c22007769aef298a2cdba838a128953d131ce5b6c2cc034e635deb13c38fabd9977a86c15fecbc42e011baa0be17c8c40a20b190bf906003cccb0d0ed01f5db2d8fca3cecf0737b93c0c311769c8ed7c209bc93c91e3b98303bf95dd69d6100922617797acf05dba15635d4021a023590a3381ec5ddfad2ffb0356ab5a126c61cde2190a307dd2e693a63f20434380150e3f28e1d50d75d7d93700581d02d7f441f3b16e682a4c3c9384c5e0b1ba0593923c5c0ab4c1b59617ef544c9edd5852cd905f086c759e8383e09bff1e68b300581d02191336628618024851616990427a903a86ebfa4118bf53684de1fb014101021201410a030e9d806fc05681ec3efa3b932fe0cd03e1bfbd896911c159e27755f63b36621300581e0278213a1141600ed6b58580f9501065785edb3c9f3acd90d6989dd935574f02b26ecbf95a2887d210227cde987800581e026e5f5045600f5e5ae6773429124235998520c3147b71299042663be3c8430831cf02199a0003315bc867f7364e4f54f4fa7b73c52a33ca2b6e276fad04f2577d363cf25f3e08034afce8a6fc218985d3b8b15b179695f8f3ffeba94df24c5a1effca98ddc11cc00219ffff03f28788b74bbe49b83bf9dcc365bf8834e0d7d45e226366701f64facc1fefb5250219ffff03d5e57f1aafe85ae0b83baf1e736e9c0ba998313911d87b88e8b4d39daccae772033cb2b91682e205700334e50cdad22a14184edc06fccfde1c3bfc504295e3b96a03432d7d343fac5e7191040127a72e0dcf144294adf687898bab33444abfc3aedb0317e54e1d24e78a9181383e7ae2f7b77b65c2f48e2a4d8b6ba32e3dc6358fa61e0366a7a6933517c06f47077ae859ac9c590ee65898171885d277a7186897bb427f03e211d9f7df6bf44e146f242bcecd4b0dfdfda8e68e8441b6eb0840c0dd49cca50356869d49e05e1875b7146f34242b92da9ecabee562363273e3568335195623af030439b74f35a3f5e98aab153374bde2a1bd3ef71b42ac95148586a2bab2199ec003b3632a25a75ffc8e41496d1c7faf2f1746460688580a13385ac69be7fb88359803ce7992e01fa5f2495c2211ff036f10e1a099e198e9b46752460e9a2136f9d20c0219ffff039cd18760e1dd75c028c4aa9ad7503557a529cb8fd6e42aa142b2c1509b7f4895038f616acb11e1c1db29dcb740842abac27b8e7822f037a08da32d08d34233fd2a034d1e9bf46209c2d1ef669f496d2bd435b7030b739c6967f2d2476308b42cf8c10354ee4ba59cc358327c78adaa0c40b3190ba5c57fce7031bf02fa91a8ed2f902e03d9ec725a7dd7844816b32bd35db6f3b53df27195c15deb85f0fdf477265a84cf036b9c44407e2776dc03018eddea7d591babe10cdc6e374d8cdeeeda6b91d0e2300219ffff031bf0661aa67c6687046866d46f4f13c78b8bb810b117f01b9ae288f06d0f98780219ffff05581d02852b2b985cd8c252fddae2acb4f798d0fecdcb1e2da53726332eb5590701195f4003f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581d02d36e057d869a68eb7f68245c0911fadfa9d2988689e9bfccf14ee86b07011bffffffffffffffff05581d02c1873aac8701dfb9788b7e30d42c27f9b9e3233a2907365d54eb79c70c014745b117b1c2b51802184305581e03d0e47ec1a88b32b7d00e74a32c5b626e505165b3761eaf73c65b2e2330040a05581e03be093c75e19273255a4d36b1588cecbd6f333830ddac2a77ca4ebc40600402031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e037396b106a337caa7009fc90c4bbcec8bd46ea87b792c83315f731c30c007011bffffffffffffffff03146aee58a46c30bc84f6e99cd76bf29b3bd238053102679498a3ea15d4ff6d53034cf57cfdc046c135004b9579059c84b2d902a51fb6feaed51ea272f0ca1cdc6402196bb7037b11729ca02cfdb82c31ca0ef2fac9b312f3816fc350e667a03bc76da0eb688c03d83936fc4143cc885be5fa420ef22fb97f6a8dd24e9ece9af965792565a7b2c803cb1aa4addc77a7c9549559fd6c4c6a9b47e56fed35797fd78db6a89246c33148031be8a40fe1ae16818a4ba41e4f494cb81222bac31ed5678944b21d87c7d16c6003390cd247e582c07e469ec3c9e3b2f68b8a68fcf426615898820bbd9ee20d48c7039174afa82e6d27dfdde74f556d0e782ae6222dc66104d84ea0f1e21e093578c403d5728023f132b43b52e4b2c7118eaa2082c840dd8e60c5837d7c3c9774fe83c703aa9bab6493380b65a966c81588024344834cd342fdf4c06552e60c980658cdbd03f1daf634c5e2373e4f40a6b74bd0ac7debf85d3b2745f24b8162edbe1ff0c0310219ffff0307e0c38ae1edf1b44f5af71853cfe7a849a45c24a8e53b70dbde93ad948d2bb70219ffff034b4902bf5c213e9ab241cbd51494795a50361a6567ecebe9ac0f6a280125a58c034f74b2f22c92c07da6b2d3b3187b5f76c52c16b3cd1e42e3d5fc118008420795039fcc2dffafb2ac9df38ed77005e5d604bcf897547911a3b6302f3964d0ba2c260398ec0fb8eb0d90204d569c7b0f2b70a0ed61095434ee91825b071fad1083dc8103e5600e2867eea747d1c7ea9e38e1c5df280d5f972168cc0c3d391d033f236236035b914c62f59ccb8008bfcaccd846a1a9905648a5f02b6ef15d3e93fe5997f59703115ace4b4e5f9e3007f68a4a21b405522e0001a976e7d3bb533c5485fa125718032277e7d19a805a1a1a86b07118ec97cd5510c2496c963abe92a91ebeecd568a6030564e05adcbaa8c8ba706c305fd1d3a8db1bc553059c732604688150bddbba9603fdaef024f4b49e4a23c1f8cc52ade7d7dc89c6555f82007f1ecdb8a49c86b6bf0219ffff03351e05daf0f19577eea1b208a931429636c0711a2849939d2ae643c025ffa9210340877c78f72cefe9d99ba83622a96a4fe676f96cf3e42fbc9944b08ff42ca84f03b4987bfa7fc1f19471d9a6a2aef670aab37fb13d4aea8f97970f0b45b60f8051031082b96641c2b4fc3024074ab8215eb1e382b0184bb0b31d6f799914000ac54203d8c80607ac61001d7d38d4f4c2c4113a83047415d5dcc5a4fe434cfef7ccc2700368f2f39cd7c31e4ae926ed448bfae8d16f576fd550110335600e2a11818a955803ba77872e2d64bad84f6f01466e732a7db02bf9d70767b4f930da3d9b75ee08590355c68d178404466052658fba1a558673ca156f391e89dea5c3911acd850ef74103904dc1a0495d97ba63295d8e4f44d7872d8b6438671391c23fb80571983276c50340fa92777f5ccd6c7f04778138cc571197bb517de2cd53f434a1a929b285c7730219ffff03cabb92ecf301bf02da86202ca981a63d68a57cc37993fc7cd391d3976191ce1803119fa21c88d8d4fd0d20a375d928e620baa38ae550777df12b7f3b8454d9ec3d03704492001628815b0d8872cedcf0e6a56a0e7d518707e8a697c9e740fc96d77b03ed1e73c12215a8331933f945b6955659f9ac4adc58d4bb31c393649e0ef323a503ce880bb95acadf0dbf9d710187411efb5c1550bc073bc080e8bbef6ebc0047fb039bdc30931c681fe81ff9550cc482b80db2fed3e02b296f2af7a5668589f9151c034af0d9fe7b6caa5ccd15c386c59056fa4d1e11a07d4fbd74aeaef9d0ac3529c703c51d4b666cd29059e9c7b51334c99dee8e4e387e984a30e548ce4d69e317f00c03a6d5559dd2778e01cb01cc6206152a7483c0062373151f379eb2d1d65120365f03c0b12866852e32db0962683c988e212522de17dbc122a76fe9c5e8b26efd041703c635522cee44178e5384672e6cbb472d1fdcfc59c323eb87d407fe9ff52d4a6f0339d629c156c81ab7f16f6b42d84ee670b9f376f920bab387731383e7533470ed0350678c6cf53ce05ff81234c7fd130c176ae04abb22935a2be434b2b6562a969e03262b2bf0c2f06e40c97c0dee10269809be3103ab505f0aef5d73ec8c43e5590203e9c7afbb22a05b1e1b9e3e860394a60ee0e0052187810a4a494088989476743903c3993bb200d9b042dec1cee2fc5c1de29bfaeb293895d31df2da37f6f01d48420367e5191ce4dd865f1ded3a961fb51bc1abfcfac2996b5c6748aa35e5793597a503423cb619b5ef873fb890a6b4ed2343ad39d80316613277d57263b00a89bbcdba03c56abd37290dbcb8016f2c0db29200b750b9c48bb855973d531e48f2165a81b503867338cc905b655691a11caa6cf15bb5a26955e1f0796bc39e99d206b8bc212b03fec8bffab06f56a9602f882947b426bb5f2694103460363ea986988c24ed96a00302d303d7dd920a78eeffd29fd06266435e717dfd9d93a7ae5421961a873544c0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942035ee963d20fd307cdae2fc9300101db6b404a69681233e54fc769b35a3acbf10105581d02a0d62ee604147430fa0d5cc09ffb53df3a8c77fa9ef12d035a84a1f907011bffffffffffffffff05581d02002471243875dc61ccbd50c7ec2dc9ea03ee456db9abb29769ec751a0c1a00019c89470208dba7b715780219c00005581e039cfe78d971959418a2dec4525dc725a105474136ed61e7f964644f75300c05470825843e07d5d505581e0306bc95f42ecf03eadcefdf8e26066b30bc689b897f1c7be45bda4a30d0040405581e036ab685a7926356d0fee3d77b75ebfe4dd24af17ac3a7ba2b552752b8d0040205581e03e9c79d077bfdee4a1118c646bd48d57871295f06ebc47bb4278bf2ffb00401036ede41d5ecb9c20ac9d3a04e33e1ab42102545d61f4aedb45c05aea309a76a640335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e035e078bfce8238370a32d874d0506fd14d25a3c36789ca38c785b4ebf2007011bffffffffffffffff03a5be7c1a10690997c117246b41b6b35a0ce427cf225ad59ed12fd32e15a4796503c2597c5b8351c250b8258c8430feff9f44c2503784541da25d0c4c9de35deb9e01410205581e032ecba29166f5758f67719578ff821d5466a892dbd32400874bb23269d0040405581e03093508f798b3b7760b464607eba73c2b6cdf8f4b6ed2995bd51cec1b60040402197fc503773777773b7a5c4e358c5a6451b855e3a4184af0aea6e8a3f77f9faa501987070356f64032e5ca1da6964b29d915bb2c1760e86bd115517dc04ffa04be361a1a2203ca1d1a65ce53e8cd1c826004ec7d70ae3f3299bf2ea9ae60461022270d808dfa0342cd621704f2ba9b8e9252aaf7a7da7c50133644dac60cf2c2035387f802c0b603949bd869c50ab05c805b0b39a59c4fb6c056c08c2cbbcb9aa1b45d2dd437c52303fd4647655b8ab3e5c62178ae910e18f6e686862f1e71be237090a1512fb464ba0396a77a847d366aeae4e23d60881bff47b4bf28910d19b6d2a07347e904702289036c5efa6f46beead17927f722f772fbfbb5bbd2a812a199f5507331c4e4e76a080302a5b6ca2f3b637f0e7a7474539f89aec2322bc42e46aab5e37fdc63323aaaac03946a0243ea957e01899120be190c59833a7170e335d3594b97080860995ab1da0345c61f2d01fe4c9b0ea40b4b040378615684723979c4ace77f5f29352efdf627038d89542901e678b32a271554f4f37fbcfe4d04ee832dd3cd35f67d2ab2b5a964030863fab86cb0f99689e1667743048da1960838df37a712c5e7eee5fa36cdcd450370dcc0d6463b3371410b5ec4243baf3c0588a37a7638c67025ebd2623bb354610219ffff0219ffff033348a19f761f9a013f9f9051b1c76e89ca4acb24b750307ae45c58582ade411a03dfabfa42d41e9fe2d345def73008f0cd640e2c5cc3ccd22601c68f70da107502039186387d2519ec5528e742a777d80c441705d4b6b82fe767665be26405e1bd03033f61beed391453c9438fdbfa9d948fb356e377d334fe9b7f7e2153bf29cd0be5032ab151e73a521c334083f3b6e24ada4a808979bab5a47aa6acd2b40a6426b03603069cab7b1731b74691b688d433170456cce3d733017395f2f8f9b0392b11ffd9030d7dfd94aab776c64c6946e9f8a7d483b35a3193f22bd93c1be1c406e719fe0803a1cab7785104893d265dce288efdb986a1e62d6eecd58b34100b1ee20a02d55c03dc017f08dbf7a143a65faa64dad3740869f8d3e82c43e21bfeffd886517002d3037bfd91e17ad9752f529f69b9931fff9e1e3839b06efeb8288c6f20f165feb238032cf36d912251771419c0ea091eb36b9da59ab583d5fb7656df24b49eb517bc790219ffff03bd9ad69d3af09e8344c65c9e9a44852d4c519544958ebfb0f7b08863b154a72c0367cc06489a36837bf138a45734a51c829dabd41b618e977a4104cf4cb5f55ecb032d4811a8f5cda2ccd05279e3e249077dc91b8ccbb0096dbb39582dda42b3676103b5c89d67233a453aa2ceecb567ac9c4a3e5e5c3495e29169d48cca3effdcbff803e63087e86c7ca1563aa91a97dc7f8380707ae87d98ef09df49dbae4678bc731c030fce208ad627cfcb1dbdc6aea1e6dbf7795b5af612dc9c75b6b327d908a3bdc80327d5aed7c23974b4686421bcec49c867ed8e12169692a0480a9f34de13f2171003d1168551193fc9c4977da6f2a58c9edbf4bc2ec2006c6d12e7aa6a3598725db003230048f25785bb26a779d020fc5e6cb6be195c40cb50c4425f60d8802a22ee3703622d36dbacaa9e2cce5c818896ec614cb8da171314c8bd5061dd6a4ee10a731703e5f2b775b9571c3d2c168015a9b84d62da9672a024ccef05b102591bb27d23dd035980425ce85e821a66b198fb9ff2fe0d3ed58337bc184d8924af0df70a4d407003cd0f9e865687b2e343f675565de78760a380d9afdeb7e3c3d06531bb7946ad9d0219ffff03a47edc30564d9304072f333d836a977596b1f4578dd4eb955c37c8a3f0bd1485031d19c03c61fec3a9d1afc5007a2b08dadc8cd501e69ab2588405650b68ada9e803e122ea0f1bfd4e420b06a45235f7106397533cd0cdc61b88bd9d541bc7d008a0031e657e39d969afc17fe155e5e1ad12146ccef06af81b79ca182ae76564408a160330c0aac11f960bd0fe30ba79d8a6ac4c2eb2ee151e13875de21fab7add2e378703a4cbca0efb90b7de08ef43c3884b133b653c4ac128f7d8404f310c4eaf6a5257037ece5a49b87b5b13ace9bdd6a434b3733e5b016c2b0b0dee4c1f35c09c83a296039d6b112088bf14df485a903ed395d8346ce6396d418dda6d187f4015f20d909d038315c4c6504c9dd8128a0cffd23bb98dafd6a48333c3a272b01650743865c3b403c419ff7ce6ec4f11f8192bdd0df94d97a67f562cfbb1fb82e178d478efa3591203b30d35d9497499f01e62f32ea7d3d0f84d19b484886fc76959eac7006cc24ee3034785828944b2e1517ea09fe4906189aeba0091ed5d6021f744f36e922c62864c036fe32d0a9a5ab946cf66a99541241f95afa636da12d809537757c21a5e8a119103c022156b8214f14ae6b07ed7d6607f09f8495ce96834636816bdfa3507e17efa0337b28daaefba8cbd83020ebce9594ba83a06db34320111a361b8c5cb9dbcaad8034b4094a73b1065cc03255111882ab5ddb54318581ee9a1a8d0b0d62391508d49034a7ae2ae6f01fd9572089f2eeafd48f7d0b4bc0d18eaafdb8114992dd66bf9e40344305a3045ee3b6ee818513d0a7fce38846bbb1bd40ffcbbd5507fb646875ca403e5e968d569c5ecb2ed410292966c7d0e9ef1e857e373a628b86355c55f083eda03ef84e446f0541c8ffe9061b3a6f8b91db73c6f740043fa542f2816899cf9125c03eb3092dbc0b6ca685693e562852332cc9858fa282123519c0cf413547b62c43c0396c1ef1d30267e0b36bf7d18ae3d5215dbeec28ef4bf59dfb6de9f0596d8c54105581e03ddf967f7d7ee2e42e403cf976b060ab7a51263c8340e269a3d90cb57500c0148064cccea6ef59ef9045937976080604052600436106101bb5760003560e01c80637785be7c116100ec578063a9059cbb1161008a578063c492f04611610064578063c492f046146105cf578063dd62ed3e146105f8578063ea1644d514610635578063f2fde38b1461065e576101c2565b8063a9059cbb14610552578063b1192e181461058f578063c3c8cd80146105b8576101c2565b80638da5cb5b116100c65780638da5cb5b146104a85780638f9a55c0146104d357806395d89b41146104fe57806398a5c31514610529576101c2565b80637785be7c146104295780637d1db4a5146104405780637f2feddc1461046b576101c2565b806349bd5a5e116101595780636fc3eaec116101335780636fc3eaec1461039557806370a08231146103ac578063715018a6146103e957806374010ece14610400576101c2565b806349bd5a5e1461031857806366a8fbf7146103435780636d8aa8f81461036c576101c2565b806318160ddd1161019557806318160ddd1461025a57806323b872dd146102855780632fd689e3146102c2578063313ce567146102ed576101c2565b806306fdde03146101c7578063095ea7b3146101f25780631694505e1461022f576101c2565b366101c257005b600080fd5b3480156101d357600080fd5b506101dc610687565b6040516101e9919061289a565b60405180910390f35b3480156101fe57600080fd5b506102196004803603810190610214919061295a565b6106c4565b60405161022691906129b5565b60405180910390f35b34801561023b57600080fd5b506102446106e2565b6040516102519190612a2f565b60405180910390f35b34801561026657600080fd5b5061026f610708565b60405161027c9190612a59565b60405180910390f35b34801561029157600080fd5b506102ac60048036038101906102a79190612a74565b610718565b6040516102b991906129b5565b60405180910390f35b3480156102ce57600080fd5b506102d76107f1565b6040516102e49190612a59565b60405180910390f35b3480156102f957600080fd5b506103026107f7565b60405161030f9190612ae3565b60405180910390f35b34801561032457600080fd5b5061032d610800565b60405161033a9190612b0d565b60405180910390f35b34801561034f57600080fd5b5061036a60048036038101906103659190612b54565b610826565b005b34801561037857600080fd5b50610393600480360381019061038e9190612b54565b6108d7565b005b3480156103a157600080fd5b506103aa610989565b005b3480156103b857600080fd5b506103d360048036038101906103ce9190612b81565b610a5a565b6040516103e09190612a59565b60405180910390f35b3480156103f557600080fd5b506103fe610aab565b005b34801561040c57600080fd5b5061042760048036038101906104229190612bae565b610bfe565b005b34801561043557600080fd5b5061043e610c9d565b005b34801561044c57600080fd5b50610455610d52565b6040516104629190612a59565b60405180910390f35b34801561047757600080fd5b50610492600480360381019061048d9190612b81565b610d58565b60405161049f9190612a59565b60405180910390f35b3480156104b457600080fd5b506104bd610d70565b6040516104ca9190612b0d565b60405180910390f35b3480156104df57600080fd5b506104e8610d99565b6040516104f59190612a59565b60405180910390f35b34801561050a57600080fd5b50610513610d9f565b604051610520919061289a565b60405180910390f35b34801561053557600080fd5b50610550600480360381019061054b9190612bae565b610ddc565b005b34801561055e57600080fd5b506105796004803603810190610574919061295a565b610e7b565b60405161058691906129b5565b60405180910390f35b34801561059b57600080fd5b506105b660048036038101906105b19190612bdb565b610e99565b005b3480156105c457600080fd5b506105cd610f50565b005b3480156105db57600080fd5b506105f660048036038101906105f19190612ca7565b611029565b005b34801561060457600080fd5b5061061f600480360381019061061a9190612d07565b611163565b60405161062c9190612a59565b60405180910390f35b34801561064157600080fd5b5061065c60048036038101906106579190612bae565b6111ea565b005b34801561066a57600080fd5b5061068560048036038101906106809190612b81565b611289565b005b60606040518060400160405280600a81526020017f3430342042616b65727900000000000000000000000000000000000000000000815250905090565b60006106d86106d161144a565b8484611452565b6001905092915050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600067016345785d8a0000905090565b600061072584848461161b565b6107e68461073161144a565b6107e18560405180606001604052806028815260200161373a60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061079761144a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d339092919063ffffffff16565b611452565b600190509392505050565b60175481565b60006009905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61082e61144a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b290612d93565b60405180910390fd5b806014806101000a81548160ff02191690831515021790555050565b6108df61144a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096390612d93565b60405180910390fd5b80601460166101000a81548160ff02191690831515021790555050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166109ca61144a565b73ffffffffffffffffffffffffffffffffffffffff161480610a405750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a2861144a565b73ffffffffffffffffffffffffffffffffffffffff16145b610a4957600080fd5b6000479050610a5781611d97565b50565b6000610aa4600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e03565b9050919050565b610ab361144a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790612d93565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c0661144a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8a90612d93565b60405180910390fd5b8060158190555050565b610ca561144a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2990612d93565b60405180910390fd5b67016345785d8a000060158190555067016345785d8a0000601681905550565b60155481565b60106020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60165481565b60606040518060400160405280600481526020017f42414b4500000000000000000000000000000000000000000000000000000000815250905090565b610de461144a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6890612d93565b60405180910390fd5b8060178190555050565b6000610e8f610e8861144a565b848461161b565b6001905092915050565b610ea161144a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2590612d93565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f9161144a565b73ffffffffffffffffffffffffffffffffffffffff1614806110075750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610fef61144a565b73ffffffffffffffffffffffffffffffffffffffff16145b61101057600080fd5b600061101b30610a5a565b905061102681611e71565b50565b61103161144a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b590612d93565b60405180910390fd5b60005b8383905081101561115d5781600560008686858181106110e4576110e3612db3565b5b90506020020160208101906110f99190612b81565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061115590612e11565b9150506110c1565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6111f261144a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461127f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127690612d93565b60405180910390fd5b8060168190555050565b61129161144a565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461131e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131590612d93565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361138d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138490612ecb565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b890612f5d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611530576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152790612fef565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161160e9190612a59565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190613081565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f090613113565b60405180910390fd5b6000811161173c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611733906131a5565b60405180910390fd5b611744610d70565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117b25750611782610d70565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a32576015548111156117fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f390613211565b60405180910390fd5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146118a9576016548161185e84610a5a565b6118689190613231565b106118a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189f906132d7565b60405180910390fd5b5b60006118b430610a5a565b90506000601754821015905060155482106118cf5760155491505b8080156118e95750601460159054906101000a900460ff16155b80156119435750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561195b5750601460169054906101000a900460ff165b80156119b15750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611a075750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a2f57611a1582611e71565b60004790506000811115611a2d57611a2c47611d97565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ad95750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611b8c5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611b8b5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611b9a5760009050611d21565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c455750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c5d57600854600c81905550600954600d819055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d085750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d2057600a54600c81905550600b54600d819055505b5b611d2d848484846120ea565b50505050565b6000838311158290611d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d72919061289a565b60405180910390fd5b5060008385611d8a91906132f7565b9050809150509392505050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dff573d6000803e3d6000fd5b5050565b6000600654821115611e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e419061339d565b60405180910390fd5b6000611e54612117565b9050611e69818461214290919063ffffffff16565b915050919050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ea957611ea86133bd565b5b604051908082528060200260200182016040528015611ed75781602001602082028036833780820191505090505b5090503081600081518110611eef57611eee612db3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fba9190613401565b81600181518110611fce57611fcd612db3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061203530601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611452565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612099959493929190613527565b600060405180830381600087803b1580156120b357600080fd5b505af11580156120c7573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b806120f8576120f761218c565b5b6121038484846121c9565b8061211157612110612394565b5b50505050565b60008060006121246123a8565b9150915061213b818361214290919063ffffffff16565b9250505090565b600061218483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612407565b905092915050565b6000600c541480156121a057506000600d54145b6121c757600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b6000806000806000806121db8761246a565b95509550955095509550955061223986600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124d290919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122ce85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251c90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061231a8161257a565b6123248483612637565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516123819190612a59565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006006549050600067016345785d8a000090506123dc67016345785d8a000060065461214290919063ffffffff16565b8210156123fa5760065467016345785d8a0000935093505050612403565b81819350935050505b9091565b6000808311829061244e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612445919061289a565b60405180910390fd5b506000838561245d91906135b0565b9050809150509392505050565b60008060008060008060008060006124878a600c54600d54612671565b9250925092506000612497612117565b905060008060006124aa8e878787612707565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061251483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d33565b905092915050565b600080828461252b9190613231565b905083811015612570576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125679061362d565b60405180910390fd5b8091505092915050565b6000612584612117565b9050600061259b828461279090919063ffffffff16565b90506125ef81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461251c90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b61264c826006546124d290919063ffffffff16565b6006819055506126678160075461251c90919063ffffffff16565b6007819055505050565b60008060008061269d606461268f888a61279090919063ffffffff16565b61214290919063ffffffff16565b905060006126c760646126b9888b61279090919063ffffffff16565b61214290919063ffffffff16565b905060006126f0826126e2858c6124d290919063ffffffff16565b6124d290919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612720858961279090919063ffffffff16565b90506000612737868961279090919063ffffffff16565b9050600061274e878961279090919063ffffffff16565b905060006127778261276985876124d290919063ffffffff16565b6124d290919063ffffffff16565b9050838184965096509650505050509450945094915050565b60008083036127a25760009050612804565b600082846127b0919061364d565b90508284826127bf91906135b0565b146127ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f690613719565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612844578082015181840152602081019050612829565b60008484015250505050565b6000601f19601f8301169050919050565b600061286c8261280a565b6128768185612815565b9350612886818560208601612826565b61288f81612850565b840191505092915050565b600060208201905081810360008301526128b48184612861565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006128f1826128c6565b9050919050565b612901816128e6565b811461290c57600080fd5b50565b60008135905061291e816128f8565b92915050565b6000819050919050565b61293781612924565b811461294257600080fd5b50565b6000813590506129548161292e565b92915050565b60008060408385031215612971576129706128bc565b5b600061297f8582860161290f565b925050602061299085828601612945565b9150509250929050565b60008115159050919050565b6129af8161299a565b82525050565b60006020820190506129ca60008301846129a6565b92915050565b6000819050919050565b60006129f56129f06129eb846128c6565b6129d0565b6128c6565b9050919050565b6000612a07826129da565b9050919050565b6000612a19826129fc565b9050919050565b612a2981612a0e565b82525050565b6000602082019050612a446000830184612a20565b92915050565b612a5381612924565b82525050565b6000602082019050612a6e6000830184612a4a565b92915050565b600080600060608486031215612a8d57612a8c6128bc565b5b6000612a9b8682870161290f565b9350506020612aac8682870161290f565b9250506040612abd86828701612945565b9150509250925092565b600060ff82169050919050565b612add81612ac7565b82525050565b6000602082019050612af86000830184612ad4565b92915050565b612b07816128e6565b82525050565b6000602082019050612b226000830184612afe565b92915050565b612b318161299a565b8114612b3c57600080fd5b50565b600081359050612b4e81612b28565b92915050565b600060208284031215612b6a57612b696128bc565b5b6000612b7884828501612b3f565b91505092915050565b600060208284031215612b9757612b966128bc565b5b6000612ba58482850161290f565b91505092915050565b600060208284031215612bc457612bc36128bc565b5b6000612bd284828501612945565b91505092915050565b60008060008060808587031215612bf557612bf46128bc565b5b6000612c0387828801612945565b9450506020612c1487828801612945565b9350506040612c2587828801612945565b9250506060612c3687828801612945565b91505092959194509250565b600080fd5b600080fd5b600080fd5b60008083601f840112612c6757612c66612c42565b5b8235905067ffffffffffffffff811115612c8457612c83612c47565b5b602083019150836020820283011115612ca057612c9f612c4c565b5b9250929050565b600080600060408486031215612cc057612cbf6128bc565b5b600084013567ffffffffffffffff811115612cde57612cdd6128c1565b5b612cea86828701612c51565b93509350506020612cfd86828701612b3f565b9150509250925092565b60008060408385031215612d1e57612d1d6128bc565b5b6000612d2c8582860161290f565b9250506020612d3d8582860161290f565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612d7d602083612815565b9150612d8882612d47565b602082019050919050565b60006020820190508181036000830152612dac81612d70565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e1c82612924565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e4e57612e4d612de2565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612eb5602683612815565b9150612ec082612e59565b604082019050919050565b60006020820190508181036000830152612ee481612ea8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612f47602483612815565b9150612f5282612eeb565b604082019050919050565b60006020820190508181036000830152612f7681612f3a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612fd9602283612815565b9150612fe482612f7d565b604082019050919050565b6000602082019050818103600083015261300881612fcc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061306b602583612815565b91506130768261300f565b604082019050919050565b6000602082019050818103600083015261309a8161305e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006130fd602383612815565b9150613108826130a1565b604082019050919050565b6000602082019050818103600083015261312c816130f0565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061318f602983612815565b915061319a82613133565b604082019050919050565b600060208201905081810360008301526131be81613182565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b60006131fb601c83612815565b9150613206826131c5565b602082019050919050565b6000602082019050818103600083015261322a816131ee565b9050919050565b600061323c82612924565b915061324783612924565b925082820190508082111561325f5761325e612de2565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006132c1602383612815565b91506132cc82613265565b604082019050919050565b600060208201905081810360008301526132f0816132b4565b9050919050565b600061330282612924565b915061330d83612924565b925082820390508181111561332557613324612de2565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b6000613387602a83612815565b91506133928261332b565b604082019050919050565b600060208201905081810360008301526133b68161337a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506133fb816128f8565b92915050565b600060208284031215613417576134166128bc565b5b6000613425848285016133ec565b91505092915050565b6000819050919050565b600061345361344e6134498461342e565b6129d0565b612924565b9050919050565b61346381613438565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61349e816128e6565b82525050565b60006134b08383613495565b60208301905092915050565b6000602082019050919050565b60006134d482613469565b6134de8185613474565b93506134e983613485565b8060005b8381101561351a57815161350188826134a4565b975061350c836134bc565b9250506001810190506134ed565b5085935050505092915050565b600060a08201905061353c6000830188612a4a565b613549602083018761345a565b818103604083015261355b81866134c9565b905061356a6060830185612afe565b6135776080830184612a4a565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006135bb82612924565b91506135c683612924565b9250826135d6576135d5613581565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613617601b83612815565b9150613622826135e1565b602082019050919050565b600060208201905081810360008301526136468161360a565b9050919050565b600061365882612924565b915061366383612924565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561369c5761369b612de2565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613703602183612815565b915061370e826136a7565b604082019050919050565b60006020820190508181036000830152613732816136f6565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201f9592fb5abd7d64a63c85d6a640a5c151ee87a28f2ec8f925cd3cd80ba00d1864736f6c6343000810003303e8c464556fe095b9e95616dbfbf6b9ed181bc05fa1bc6ca2a4488b28f3d8a0b003262fe0440fa019d44501f323b861e8d2be5df3662c1ba3bd88ea3de75a3ee35d03834807a2bdddf4789af50bdcf878bc28232fb83df950296a2717da78e2a763b3035a6e838d22940f5043ed72fbc36a6b8c14da5c45564a62568ac06b7137dc066a03848498627cedc576722c58d76bede76f5f95fd8cc9c84e951d9baf3ed8fe65fe00582003fd61715535d9be9b0f4434cdbf35aa6105b85ac9d3210ce81b5c78d6a104d0581f05b26f0193523cd6ab255cf873d44d3d0c18f7314d571a09b877c65526c2eb00581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9410300581f020edbd5c682050eaccf89cb9c4c689ab88a73eb7cbccc68d55e62b462d9c6581f105a6b7eb38e5d605208b4e93c89b0dcb6693687625bf1f69abe36ae2f456e02190220033455a21adfd7e032a5746d8f73c14f913e273c89f05c94423adbea1817535d240058200311c61ceae1bbed796699ab197ed6353983142f3264865d1ba3d7bd0b35c4d04701790b2994e32303ee4a54f570df1029d040c867850bbdb4d662762a2126e71f526bbc26e5c7e013038a8ab9ec8197f315b21ba52bbed39a47f21881e2c97d4ea4c745daf8e5bcbd9003c278ecf0f42391ff3ca1c091a1d1c22ed5cea566e89ed532fcd4dca564a2b93700582003744d0c6b3b0c0a2e70a667fd4e887a5a700eddd6811ce6dec79b3cd034e280581f029c524c311082e3eff6a4e7676417821f98271c7eb026014cd312a208797700582003b0614ee77bc2f9c1ea1e0f7e48944e76c8b741d492b84efe449c799bcdba205820ffffffffffffffffffffffffffffffffffffffffffffffffffffeb9670db6a9f0219effc03f216045cc417f7feb1fe591398a1cc94fd583effbfb56a7ae0559bcb43a1b0350378805c9e86b4bfe5193bc03de97e21135e8628968f2fb0d0a38eadcdf373867b03868a0ebf05a899cc1523370babd017043446156754cde7efc045bc3b91f6ee7103ca6c287f93a517f8f19db43e105f0872311a7f7b3117a119029c2501036a1ac90354db4ad36e4237106b8e92b73ca50f3cb0383199bd6bc45a3d93ef36c5baa3b403caf57108f25d7fba2f6282ecbb0bdee6d568c14655b3e4797c60b0a473f70ab1035e085a669ab5a001d102c24c6a7854f3972880b4fcda643af3db014c3ac688df03d28d74e64c5c5116facce94c5ef16466bd5ee141291dcb28e0eb2cb92c8bf3f20382af6960bc427704d224f3ac9fd797676e13d4b8d8d85583cb5c405b5d8e046c033c51c02b5cc47c8044c23701ecae9527923f19ad77e3d37ee7591ceab737425d03dd383f80e24d89cebf810a79ca46b5e7ef4cab703f4852a1735ae6c467ed9fa8033694aa80857a994a31ebf10114818248ecce7a4238c9e8104d9bba4cda7a9f0a0383148b0af908165055a523d5d29ed8f1ae53b85b1a759456857d13a561d5e312036e4f196f997a92c872f250b55463f52b6f542e1225c568f5d5e937eb3215a8bc0219ffff03476ebb2212d268e0e1e6491abbc9f7a8450e72075ab8211e358a5e80de66fedd0310d264fc6be2ad7daeeda5edf052620be04ffa76426b41d8b44706231a8880e00325ff5693af951e41a26848f3171dd2fb43bf6431e386385fe0d4eac9ee97db2f03289f03921028de5fd9808a3104e764af3b8f6c93b931d3675861bb3041bddd8003afd77131c9170433c281a3d091b432a8eddcea830b30b8e3b01a7b6eb649cf11035707e79156c5a6b83fa325d3dc58e4f954b1de1bac6b3dc7b5108e70689549c203b4a723d30b2352cd05a075f1683a30e1d348de74ddf368f15f7683b173aad2fd0367fe1e491f8db55d4430be808f0aaf2b41d73da62b247c3b69f0c5b9ec4a4de003df0c1936c8e6f5acc10ebcf4d7d644f34463df552aa5194a5470c6fde5e03aa0005820030d60abc8ef0ab8aaf0a689dcf2121f799cd4ef9bbd345764a1c1f4e3a0a3a0581f22e239724fbf2c6b5213061b3c5120efc645908cba2a6f3c4fc3ca3e8c9eb0034c8cea66e81526bfa17d6bbb40fc758b46e67efab298f5dc0b2bfb21a2de3b5b033f8ed29c22f2e15fa8004716634141ed02ef26b7c99159856a8357c45e0c4e7d00582003fcea9f6437e15b9f99062c45f8eab25b854211c7c5cf70012d31d2c3795be0581f05a72edc59bea60792067e97f207f809ca70d0b7eab65d62bfacd56319ff9903a88a85b3b3d152af01a39adfaa1a6011b536aed1fa501a45f41dd5e6bfdc770600581f03678aae83eddd46752795db9441909c937070eac932dc00df0b5e91f82e10582016e58dedd83e12be6f9b5127071b1a471920442b4d3d19214e12eb2007f2775800581f03b53bf184fd21d1d05762c5ba7f93c1c897591acd18ed15f0339daf133760581f01fe065752c6aee0b1e05770e06aa7f629f7ea087c446955afb8af0ed29a8902192080014106005820030f475e6b6c44ee295084d06efd07d06761330e4558856a0af16354b36782705819b877aa3236a4b44909befeb9fad487c2ff8df0157db98d374f00582003af178b7205889dac85f17f5762f4a3caa2ec173781139947c9b56c1ba808a0581e62bea125ac396a2ddc1110d606eab9167fc4531b6c7f8d57319c6789ddf30395f22059bee80a922ec548f83216dd377e11a9bed0738e15481bf4151433eb0b03b3badfed3393c0ada3853a46ea5302e76517c8f3787015db1c2803f5cf05411c005820038ca70ad89435cdf7ab66cfd86e7dc134d18df9baa44228c11dc511416fe0e05820fffffffffffffffffffffffffffffffffffffffffffffffffffffd9776e68fff00582003a10815885e80a31bd47690cc7c7f733e08a0a99186b7fbb364ec586590fb30581f089816732c80fe2557390f4404e0a0fa24b252fdbdc27104d038229cee80f600582003cf941bf5027384dbed073be18c4d8c8f55e6401d75f25efde1e5a15a6cd5705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ff3b0310799c131f683925f412f749b3b85c5cb8d666a03c6e2770ace66ee87242ff8d03026c6f303969921400163b6591efb10578964a449fa6af370fb2840c2a4f5534037001be075eaf2b4b474c044e61651e1e19678516d4862c958632ac59e5bd4ea8039b6f5b5eb66a90a28052d4c573f1814d3619a4922fb0637a38274791cf2d4679032786483a6d3a362aab8e0ff5a38b6307ce103a1cc73ee425e82e9679256fc8cd03c1b426fbb57f4f082a39c81289142bee5808e775eb19214557fdd2277e40b8320219ffff03d4148e6b80ab1b8073d99a64d8808e596063c4bac24de5a1766f32bacc51709703cf090776e5ea3168b342167db8671ceff85af3c1b55c6004e58fc3eb5e3de8430371bdecef019739c129e5bef3fb41073c98d604e4409bc4bdf5a19db30ba2348a03383e7a1ac8b455d334a98750e876bfee709926f1d6938d36d9fd6e2a9e7fcdc90309d9c1952363486c55ecd737ba3cedf33ff40f4d52f11a87097a68330dd9de5a034dec2a47acadf4dc7f22ba95b7ac14fa11b73c3391a574c3107091bbe07dbc6a0312579c5627cb82dfd37b99ac71001354ad14f3176bfc583b02deaa0a8a950b8d03b49adedda3c177adf0a7c6af3f773c6dc2c501f4c86bc11c5f7163c8a73b50de037b28199e3077274f0ba7100cf74c93ef2223757cf3a8150eecb12a24ab07812700581f02ba5983699c73dc1874b3b5813ca0929c2319b1a641d13bb42220f6b0ad18581f02499b02209ecea7ec3c8686268b581109e635d4965afc36ea42e18e83a8df00581f0276c6c49ced5d16af9140c1c90c712593351b2e0d5e46e1849cf38ab7c2ce5820ffffffffffffffffffffffffffffffffffffffffffffffffffffc2b6671211360219a00000582003e58110d90df7963af52dfa093ed0aac1ab589fccbd73832172267bdb7b9d505820ffffffffffffffffffffffffffffffffffffffffffffffffffffe59770e80bc4038b2d5837dfb620c80c6abdec42c7bfd60781af3a695e526bb9737b38238ceb4103e519f76fed013b0a91d82c518b78419c6c05b8b8ebaf9a52b419c7704b9bb3320372d7e549ccfde60a04575612f04fe18932fab1d5637a498168af942f0bf99e9b00582003e1fe61e5fd44936c9587c6c362a25535646cd2b709d7455565c9c74cd67000581f0aff05e51c9d67a9bc4050adf3589ee887e81bd56fa9316862c764265f73cb005820030de06b885f35167a344efc215954c3041a6436a8f3b5e4fefd09394e215ec05820fffffffffffffffffffffffffffffffffffffffffffffffffffff42d339e2fff0385e29cc56169cf0ac428fd5929b2a4c7eebff88a6ddfe2d84c5fe73e9f5608e0036db43e6195de2fc78e4f66aaee5181516804121aa545828a6906271075543eba03422aa0ef62ee9453d4be5fd746c547e0807d30c6669a3888e6d7856b24faaea600582003ac130db834e74a223f36ec998e28f8b306e073295c6caa0c05db831010bef05820ffffffffffffffffffffffffffffffffffffffffffffffffffffd85ca2bdad2b03c22281b5bd7d6a320ce0b53ff6b82a82c2be1b59640c1e660abf1761d272cabe0219fe67037342c9b0e0ba8ea2cd623d859b2e7349b891f02f2bbfe15e37cc67fdae0dabf103634e325238b35e43cb5cb57de48d8f04ccc4890470290eb13d26e299218e6720035ae10ea3c7d3007374f6dea5c2ffd983298dd27e17320551f980805c1985f87a03433cc4234f3ddf78df5554080f58ffd06bb8190d76553343af4f62e05d76ab09031d4696627ae73a69ab16ec0c01100602241806e65d0811ff2cd5c1844d950979030dda461c22f94894b0cb11ef6ebed3b8b44f8ff420b0a1384b8aac305743ca5d0219ffff0347ffc677c8e19531ae60dba7094857e986fc2641645e2839aa2f920d66dbf61f03f876a58a22ba3f30debcbe60a81b14dc879b32430602e350156d5ae42144d3a203b6814580b28589e9d171ec71d4d562a08017f6fbbab98488a8af4aa913c21e2e03268c00cdfb0e8388c8b32d2d44f7dff2408acb4c22c299b73b660ace7eba502f0391ee5202c5af249302e4e6c05c45c5259946dc9f40ca868c9eaf93a8bf2d678f005820035f60d46e05fe3cc53fcca4b8ddeb8cf6478a5734b3fddc99c2661d40e41130581eb263264c3b5cf5064ac3fc38adc96bf2e0544b80e08082f636626780c99f0369419b10ec5280170616dcdb0f374d44a28c672e0ed08d0266f54c33a04af414005820034699163ffb0123d1d6b65308f2652ff3026bee026a0ec3e48bb08fe28198405820ffffffffffffffffffffffffffffffffffffffffffffffffffffdbdec929e38a00582003d84eb896cf731d7f94ef1023f39a03461dd381082013447171535bf1437cc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffc3bf05be9be3035389ff517d63875697b31f6aacd5e9f078548959b12e00647648f6a386b7194201410a00582003fc1cd1e30e224982edf4bd66e53995c364560cb3a131c031bdbec97c2876c0581f05effebfa90e304cdf15606b18754bbf167ea477cc6d6a5e9c3c13e93c975c00582003983011df19f954639fc171d77c0adb6763aef58021800d4ab9980990c661e0581f02307ef298adb2e05c8090440110acbbe9772a97d56e0980b42613e1708db60058200320e2fecd5e3053ff621218d15cd513ff6b71953b47cc4b5f461be23fc605e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffdf9844886f7503621aa745876ae9f69ca5f41a9c3bb5d3b730321b2286b3256b7c6940a8c5b53600582003abb5ea16adfe70978d11c456caeeb0482eddf99ae25d550f311ae9f1798c805820fffffffffffffffffffffffffffffffffffffffffffffffffffff2af4a0d6f2e031676886f1be86240f90be88073505a57be32807fb0cd252c8c2099f9cde8f0a0035bbafb37ba95712ace563953a42976b27e15dd9b631827bd1e98a9f140e675a00364b3fce88753f207de71b8ba117ec562b627df4c13d37a10bf2edb0d3aeff7df005820036da87604f24595faa3c2e5c28047ace7b82b006bcf709d3f449b2feb1a0d90581e0bb66dd6ae8ed684bf9624ad7c32700ecb82c03d49ac6acc815d714100060058200368039ffc60410f7d435e239babe562324d81306016e6f91e8032dc58bff220581f049b8cc2de52bef693324f44fb671c89586d7e0629b22abbd9db5e7f303ff40219ffff03b49aff2f10c141024a3b0acd8ae263149baa347ce7260699e40c14b570bc39ed03d2a9b2fa5f506a5510b8232a163c1c8a0dbe6c4a2b2d864ac2bec5a5b3d1c290033470eb463602f6417cb101255ced1e9b5043f85b51dad2c56aeeb572d89e024b03de8dea7e84af899d57ecbe55c0eb53494e0b3b47323a3f21aa5316ebd55b251103dbad96fd8e303ae26204c0823a8ad1f5b9dec9c53dba692c431e5c099f7b8cfb0300557f4dfd4f00571070ed87943a92214c7928ce0b0cef8b1be008c6dce048f70314c086d99044df7d88dbd3158d56a356e2c3fbd01eb350254c2568be64cf34e2034742283886251b8be11e86f3a01123f837a3ecf9df266114eb2b3c4f41cfb33d035c04ee9eb658460234aa707bb5b05109cd2c80fcbf4a289f144adbd1a2127b7103c81cf14d525cfb0ba1c8b9249dafbff6fe9f111a7871a58d5024d598212f5d7103b3e981351a599f9baaf4fdec7b21a247e4747fd6c8a3bd0851dc0144cd58486c0219ffff03d8f85f6cdfc368eeee47e1b04a0be97bf7208f34396fc7817b8541622e1a2620035d2f549c12fdc6bdd783b437c1e1fc684d7c9b8f2851f5fe65c4529687e4dfa6039cfd81d6204ce4874450567ff7631e50ee9d9dca65dd0633e85ebc70f435ac01035ea0225a1e0b752f8887c5d927c9f5e0b045a25f7ccfd0fef7db194652c7d0bd03f77df68bd7898ea7de52075fcefeb029710af49d1df33ebf7300732de40c1782037543816d4e5fb8d5b0cbbbabee8508a46cddb882d4915c38f1f73e7de69911b600582003d860adedc93d4acc2c650adc34f3e913c4018b1afa2050532d1a82ea609840581eb2e5bb36249a40ab78368038d11ce095841e6550a8633cddb081698972e8038035479fb447d641481da577acb3fdc0699aa17a7d3638b531750091d91683f30318f6130b135741dc945d822f60bda6844821d8d62917de91a2d6ebc6364b63dd00582003a1d2051373cbe9462775712c29977901e6564be81e6d3d38151814d4c8d5b0581f056445925940312cf4c02c7282338db62a3a614805c7a8a699dbcfb0c9695803366c02f32eb7813273540b3ea0034318b3f4788a9c09c5e5beeed1722041fdb503fee9086c525c51a33600e7ef3cfe79cc8af0edcd31312c786cb812cf3288016a0058200316df1179d0d0c5652848b0b680d4f32f41e49308a8bb6f3e590ca7a55b6fc0581d1850746389efc8566af7cbd963a36a491986f5c403bb8ca03513857abc0058200382f910c513edff3229417b5bdaeec9ed0fbad1a6f6be11cecc9a62ecb25b805820fffffffffffffffffffffffffffffffffffffffffffffffffffffa56e124741503bfde60a13ebc702e06b62a7b432943ba2984c19e78a8f2f125ba9b78a5dcd66c005820039e5258fc10ec11c2c092af4152ce24782c5faab6183865a338172e80286eb05820fffffffffffffffffffffffffffffffffffffffffffffffffffffa9e0a5eb5f7005820032245aecf85a314be434f0b5233b0389e6d49fa4df888de6747f08dbe5f5b905820fffffffffffffffffffffffffffffffffffffffffffffffffffaabc208d63fff00582003783739028c03322415da33ce785d9ff3a0e70e2dea773ef1f21e16978bdb30581f03e31ff2ebe72033706e8b81cedb5073a96a7d1d2e7edecd6abd2ab1d1c2d0031474a012f63223ca3f3d77b77bbc41ee9df73c70ae0c0ccf7006a146686617ef00581f02647819b65783b01a1376889b9e4675fb11064612ea37359efc47281d320e581f10626321e03f311d24fb497674665de6729d0e23d83ed1e3f2c9faa2760a1c00581f0248fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47548016345785d8a000002120219febf03cf32af130261d3ef2255dc1cb2e04dfe52e86f1eda33f2a44594ccb27d657a95034f3a917bf629c2659f20b06848b4638e6b8e1a01cd7cb2400115e8bdd42a6d85038754cfc5a96f1cb7132ccd298fe1e84a60d9730f66783ec68c60afdd883faa1303924d3fe08a7667bab2aa1baf3946b04ee03ffae2a419ab3d710972b1ed6a201203719274a6c3cf881a89d86a1942b6038960701e0414308d7b6366a91f8b1bb5f60389b39b7cab5f7f793f480a25f5fdc059fe81b53272b2367b57abd3313f744db603c063703d72713913b73d148ebdf1bbed02698913ecf2562e477b9f35ef0d5e7c0328e41a5ee3a1a9d6204733ca2db6abd1923e098950ddb0ab2f69af9cded9d823034a4d34b721ef5363cf2ad0e8890635050a3e1506a0bdf62dd0c1f6180739124b03b6cfba8758292b506b17d9ec4be675c2faa90fdcc40de8eb7a5b730e850de3140219ffff030d5f8664d0b6729e70ef51cc56508f5225fca1165dfe7a333f3e7f1926b8a20d038da828f9b0c47bb701db06df9ff1342c13be6a32060dbc5b56cb96341141eb6503b55edf326cb07fd869da77d92591693c22f0610dd2724c96b571bfbef4e2586d033a0a958e64e8c761a05c66ff5d977678a9338107f23f8ffe16ef7ce4956d662703a8553923493aced3247cf8e9e94cccb867c48b9cd8625cf9dd0cdd2f8d51ae110334409647ebd161ce5db2eae04fc656b1f3a92a57f23a97d3949c6187526d0d8300582003db71d94c59a8d47f00fdf70f0f30457caa0e9af36817d095ae1bc6bdc9cda0581f02a72580f1ceb713c3002bc1b7f4e97fa524a350c51d8428aaf94011ab0592039eaea4797935a7c7f14c514c9bf8eb77106026a0fcb3473d167e67cc1617919203559f15feabee245b01511d04c261dcd629456321594f004e79e993ef76bb402203f44ed758eb3c1a8f46e121ff0a5f4e256b0e7aaef1e37eefd341f3a0e11cc89903f0c6501a9868b7529ab38fc9d456080df5be03928136a715345e226b9c5598630058200312e561326507af2e94bb165df47d0a32d2365ebd1c9a4a16d18a14c34c63d05820184f720c1907ee28019774797c988741d5a77123458f0a1faf4e71a4fb00541403bf000718178fbc62a311936c7b9b5359c428455c4d80d4b9455b89a98dcf07fa035e5e8157bf25bc2abe576d8cd486c933951b7bbb9ae167b91982e486c558d64c00582003355dfa0cf7dc2a047cca990a89ac5f1d0a18571ac8ee8104b0eb44ebdaa4d05820ffffffffffffffffffffffffffffffffffffffffffffffffffff88a4f40c2a9400582003b303cf55bce6c9d91192b6fe32f090683bc32ea57bcba8a3a55ac0ec2c86805819b877aa3236a4b44909befeb9fad487c2ff8df0157db98d374f0347ccf8355c4acd3d7e34cacda249dcc36c50659f9caade6108fcaba74f39f56200582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900547a250d5630b4cf539739df2c5dacb4c659f2488d0058200325c283fa87dae10632a947844bfa6d1e425f4eea81e44ecaf96bdc3b245070581f0389c2d96183cd58e365f694b583d7356d9846c9dcac6b27e3723a534b9055005820031423b6e205d4591b606a298e9817fabe5a39929fa66028ecc71fcefde29870581f12b947c286bc9cf4cdbb914844c7889681b0e6eb83517525eaa1b19d4e4fb00219efef038cb40a3e659886ffe9bec7e6214766852412f38f5b4ccd6692ef3bddd23859a0036f30014eb38c838918aaf9e2bc4aa6cb7bf9e35fe43de05649ee54a80a28c0d7031e0dedc00ea11336dfd961d89550d17eda891a36ff6a940c79324e6e385423670358a3c96a2fc8da3ce4db8978c1fd56c36ffeb4772283ecdfdb78e191122afad903b8f9cf844d959f8b5e7d9f3f944d0b699c9bc62f562ff8c06522eeb4b3d2f48803a8e9daee61c5594d34ddfc59d303663bb5f6c34bef60d888a069282fc818135603dfb5b730a94018ae47b4832b3d061d5fa4c1d9d2c9aba6e2ae636f1397dba059035f518323abe017b459fbea4c782409ce4a0aed35e9820de00dcdfb42296a4a6003f5581c1ce9d4537acc215e482a27aead1d0c78e6a087f85e31d8a627edfa12080219ffff03474a083afbbfa88fad9378c96a2efcbd1d24d4d5620dfcf570a20e9524d900d1033468513a8eefb0c1584cd279f85d7f7922d5a382e8a6d3f4bee72386293ec6ab03fffe190c3af09810631a78cad5fb099a6291c798f41b7a0f6a36c5292fc6e9900058200312e6488d94a5f7341bfb6ae42b389fe51be269c560c43037ad389d21b447f05820fffffffffffffffffffffffffffffffffffffffffffffffffffff2751d171d0403c11f0ccd3f99abba980b6734e7cfcde07a7da75da7a2215fe25e73310505a90a00582003ed2b7d9a8f3cfae4895f71bc12e8c79cee13af8a4ddbd871347a9e22fb1a705820fffffffffffffffffffffffffffffffffffffffffffffffffffffb194d83641f03f5045cfe54a30b7b9d95489c743f8cc090a15d4cde5f3537977d04caa10b1a320058200330f0d94ad95a084f3daa08293adee12e7305852102b99d2ea08ec6803f11d0581f0b0b1bff170c4c86a7429c1aef8fa3bc34c9a77eb34a1565bb6f35cb83276c00582003f37f06c15d5e36eb8122cfbda1160ec1f7b501264ba7b23786c97f074c3cc05820fffffffffffffffffffffffffffffffffffffffffffffffffffffbcab25d60c9036fd5ec9b625206ceebfd2022870332d17eb9c1c734608d0a196d7601beb0ceab00582003c72b780ee2faaa0ca2414e47db39621fc2bbf35cdab79cbedf4025a2017eb05820fffffffffffffffffffffffffffffffffffffffffffffffffffffc607a873a1f0374bd963ae41370efd8698224578ab88e63bd92c14ec8fee2789f75ccd1a861ab03b54d0d42f640bc204602e2f7e35c21eef56366edf48c9ce0b174f2dc4dfb8baf00582003ad2cc42d54a4abcf36fb48fd1cb7f8b2ff7cd48874587091ae514013bdbc705820fffffffffffffffffffffffffffffffffffffffffffffffffffffc2f495a8bdb03112e69804d933fda4ffcf5daa022bcfd7dcd5be623367cc8af4a6e5ead3bad2603ca0ad989bcc555f2a31b1ff0e54bbb44b3ac57f094ed00a8cafe9e7d4f963f6203e81b5f90ca58c800d2caf5323c69431b479b0a81146529250de51546dc6f06ca00581f02f89d7e16549eecbb03b9938be72f51f9f8bd53196ffba9b6d060cf64bb074604bb39d006d000581f026796221d4fc3ecfd626cad7e9cb9c6bae6a63b5d6a8f55c74d8a04fdc271581f03a01feb64ae3b38e58f84c57f626d35236139b76f2262b675a29dd8859cba021920800219ff7f035dfab5faaa2b08d175397e03e25b3695d595a244a32fcf16c42f0b3bd5776bb203436c8c9a3b4df928f65da4a883f609574c9a52ad10f72569d5d219c00eb27b600343502766493aaff5d05b44d5ac3977be1bed9884a0614823e46ece31ce16189103da9b088135b27869644ad59c8aada9b44efdd7918ae3c803a721a52cb217ded50391c596bce7f65e90cc0e56309fb4f947240d4830cf398752281ff39adf814127034357acada2060616d3ba626ecc5b1efddcc7e121e2605c0a68a814add25b8ce703b00a4a2513fed4f77e95dd2c666ff82adebb57ea6c1bfcd469b0419548c9d1db0058200323dfd703b64aab11f729b4cdb953bf865c032e00fc7287b8ba98dcc3c2ddf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffa4b87c9fcf0200582003553322f26d86d8920a02222485e262756d257acce80106fb2c3aabb19806c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffadad1a4318aa036c8d6e4a2a0fb8ebe7f70c9d2a6717eec2afba20a3ba5fc9612879af8524b6b500581f021773523bc783ebf448b9d3702902b142e32b5c6e58450def6c245f0d375f581f838229ed6a4da34258c1d9ce8b26fad2bc8aa635726d99762d588a2c41de8400581f02cba39dedc58a152334c57dba48eaeeaec137bebdcc500bd8bdf40da0ae5c5820ffffffffffffffffffffffffffffffffffffffffffffffffffff3afedecc02b200581f02502c3d3fbdb4dd83029da48d22a20d0a2dbb15dbc1c0aaeb3a79fff85ec75820ffffffffffffffffffffffffffffffffffffffffffffffffffff2974e187adff00581f0372a75c5d169158ed0e7db269f3f9903aca2fe4bb16e77e9670f0d98787e0581f0c03d41c6906ac924f0f0366ba8424a249f12f53899b6f96be9f81fbd316e800581f036010a388391ff26e2a7304d1156a1104a361b4f63fafd2a4aac9042b9150581f23c120a16b103cb9693f6496b5565d905af0559c10353c0156afb675c5c98c02184402192380005820036d55a01027974a17cca2e343a6e79eb70b5c5df3075a06be97c47690c09980581f1f55ba1028ae43a2aeaa4c32d46a526031463adc46a4c0585ac8ffe6ed338b03561e9cf14396feff102c8b4aa7f204f1ad318d424072de6a8a2cf84697aa3dd60399fdb8d2a99cb85832c2150605c4b6356b416cb8d1e0445f76b4e2102df4ed7503d3f9688132e3c6067c1462df8ca908cbcd14e5f782e5fdbd38a304fbe230ae8a00582003272e7e8a0549821e083613ca33580d50823573db4152cc59e1eb09b914db605820fffffffffffffffffffffffffffffffffffffffffffffffffffffa5503814cc8005820033bba0d99dd333f0f8c0ad0dda42d0f4dfc3ba67411f5ffc83539d5b760eda0581d111d7a46a65e45f7a7ad6ab5634d2211e3a107f47ce04d1704de50b8d20058200372e927ab696dc0b5f797495f650982c0be4c522b1af3ba4e63a7cbe3944380581f0c8ad17bca52931ddc9ce795d7b660f55ac705574733af4fc2c458463ee8ff03b45f91c1c4349bd97bf8b46c0c8f98f64749826a30133fd294dc0daedb38759a03f5fa31d947ca80838f255a6f32aa90cfdf6e15c572d0185af402bf9910cee6a600582003b30ea33c4005c09f55ac410f83c065f8a710d443c6b1064d906d385e168d805820ffffffffffffffffffffffffffffffffffffffffffffffffffffefadd8466c0b0219ebff03c1f3319b96b12138ac13e94121a191ad7c8a1b3e8143c14e983587bc1444822603fd17a693ad713355736555e2bf4d5d705faa0ed4eb340b216bc1bdd7a4b57beb03bc13368f2f80c66c08539e04d52a406a5ad84c143a60f9e9f214163863f38be2033cd64566a534fa7f97f08e6ef9d4446e0c39c7cf714d8edf3645e08cdbfce1ab035f134aa8e8900e40b3bf074ba5f3e31228947fd365b257cfd3c9430ca259ec4e0219ffff03a32d8421eafa596f6228b7b06c3324aa06ccc0b53a1d64e019ada0f7f2002305034909b984d88a5863144199ecd8a8ce1c669898fee5bd0baf3838f50b52f10191032806b3c9a88c6c7f0f55073f1f6ff976fd141551d42a93d9d1d2e51e8872933d03e51d6ffef40e0b8536b78b838299152a22ba30d10fa30669dbe954c2a15df4b7030893b03eb22d7be750b2afb5958622bed7226833b7435de1dea929f082d5c35603ee5aa6dd23f4c66eb9495e7b375227b8acae64fdf0cc234c800a7c31e0728cf601410303bbd29160fa561f8e1744eee50a833cd36598a9fa6b6130a0636b01de43f076c500581f02621ebeb423e187aad4e0ee023a2dc6bd759399b76db6bfa9026936729d52581f029965ab972e4aa5affb8cd1c39288cf30949ec221f31033b70ea3cf09a3b200581f02b08b20832f56e42963ad330112c419e3f58c3db298e4810ec5c07567d1ff5820ffffffffffffffffffffffffffffffffffffffffffffffffffffd55d530f27fd00581f0242942fcef6a2cada0c241ffe2f51efdee4d525ffc51840297d5b9d6fc15e5820ffffffffffffffffffffffffffffffffffffffffffffffffffff4a32518859ff00581f029c46e7b2e10d82ee06510250d59fbaf83eaa88925ae547797d556cc3ac82581eff5ad50636ad11c3559500226bbbd2c8cca175890db3cc0e519c8d1d3c3602191828031b217f428452d25c97a5857f9bdc665182a57d9c7f706de02947157a389fb97600582003039e20fa12b05289546ccb0d795d58f199c14307edb12bd6727e7379e95de05820ffffffffffffffffffffffffffffffffffffffffffffffffffffe5d4406179fb03e85e12c748c368a2c79c8662959f37e18398eb12900cbee2eae1692bd337d72403c76e0d255e64ca5228703e3489f6466c6cb37f68731b843a3bd0d47f483b5e4a03ef04fc447c0c2d6ce018257a4bd354f6701b4c17dff9799e663beeb5780fec44005820035be642098dc3123e49f099db6314d378ffd028c2cd0dded02a7dd734e6cad0581f021d4a825b54acf55b7066054a021b469d94d3c4c1c2433207333dc29cfee203bf0e0920e1ab866ed8e2434c916853744ca66316b87ea9c9f5460081e56936260219e7fc03f35bfb1f12b8e3a474be93eb4fc76dcd6d17730ac2b928fe7a1c2a049defda7c035c0dd9d6d1e1d23ddee3ec311da0d47d4c8a765ffa597154f52f0fecbd4e51cc0344e02ed48a07d2dcc3035d9a31d2138021c4ecec72c6e227e2fed7acebd480b103c91aa8fad88031105530baa75a4b7f36209c04532f02079652acc3d4d65454a60348d58e97c909c8f168c47e7ce797f40ad62214459d520be2ef43b61043293f70034777e44b9ec79cb7da05970cb9e52e7d0a364773830eedb1f216d0d358d2acf2036a28b834d778d8fa995e21f0d09fad280604de828846a1189df96799bf03fa1803ead85cd3ee1556fcd48ff9dfb016bb731c29bf8dc6904ad7ae6b2b1cd7316ca10348ddd1b81a327fd90eb8bf5de4a2a159614c9ce4f8ae599411c9eaed6bfb43f30302abdc4e40bb1bf5d1bce7859847fcef1abf0744c9321533d67169ab984fc7c803aa36d06ab67354fed0c0e2521f814c571f6c8e62b5b4f7d7b3a938e9548e74d903e0110fb822d67d5d7ac505058b213f3ec18542c41f0f8f65fa48abf81476e3110219ffff03385506936c2aa9a9d561b4f0600637bcd3317c3015d883e28023473f8d6afb4f038e6c1daa36a32ceb1270a60019ee6da29e9475be810e38e7df940dcf01fd825703a418230f6266fd26caf22d4702f82511dfd62efcd5a0d8bd707c23176be1fa2303c74449f7486da0c235797346cd406f3e6968a6effe34178b4ff753a65622158a039f72886b459eefebb1bc934749828b7617d62763b06e546d4fb46079d0f8f4c503108806f2d993affb3df6efc8365e015afc75471056b250fd0f7563e228aec7110346bed886f8108d59c494c9050afc582965ad3de7e42c203b88ddc55fd50e4666005820033f67221a2b727d9df9f96e75440ef1fa53628ba637cffd9cf9bcf665a2cdf0581f0709aaed3b5d611f71454eeca185c6d4589f891c8e47b86281f6747500a89f03f914adbedfc509e468346c75feb945654104fca3acd48dc15c0e847c1aad13b1031763428a53eb566a322e083beb8712cb1b55af19f08f4a01c66380eed447af3f00581f022e19af052dc34f91d6b5add450d1511a0bd7dfaedcedf12e7a669ea6ea985820fffffffffffffffffffffffffffffffffffffffffffffffffff442d05fe5de6400581f02630318bb357526de44fa02e474b7549e579bc823b0b78293f81eeb0aee26581c57085d9eae12e1231d111ebff698448bf5d4d754b03de6a8d721d148021980020058200309813a28b4e4691e5523cf2b4834b296254afb68679315567f365d9783993046034739a9ab920309a63882dfbeb685a41d349f374c6a77f2fa1e8edd2509a0848372c0bf35edca0058200337c66d1ded532e086f6a30bb8d403f98497dd65c7524e7c8a8d6fae59bb900581f0d8a57316a304a759a0b03943429fe2b3e9d1eb44b20bab59df74860cece00005820035391dd837a3c62f86cff2a8360f134c55e52a1d17c447c54e88c73d9af2a605820fffffffffffffffffffffffffffffffffffffffffffffffffffff61ed375a87b03432d741f5a068ec206a60301adedb67d3a6998783f4cc3bb5d68a0efc012f667005820034c05a9c459f7748dd2b711e852661145fea3934c73eca37475edd0276eb990581f2127dd20df94eb066bcad6bbcc07a9b19ff45a41195985e73956fa035d523600582003ae0aa521ee673a9c152ddeeda8a6143137572f7ef31215367f7845079370505820ffffffffffffffffffffffffffffffffffffffffffffffffffffd6cb6b122d5303bfa540fcaffbebaf77f1caea480b23693dae9a32ec35a7679ed3c19e13e04ab40219efeb033e7b360c6c19a13a4a01b019f77d76a40d3034cbbf26cfe067284d66082ff352033e247e50a324c85f1f540d580a35d1790b4cc5d3eb7160fa46b533a5028291dd038554a0b931e188f29b6417760dcb48507d36f663edad4c509f07198f445cb94603a295b0417e7877c724f66944c30f8f443ecd11c68e0f883367516089e5e2ed680309d9f1f89a59bf0797ef62b7260b36972cacc5084c74b67a597c2a531ff8e7e803424503ff6df1b47226d3cb82920be02c73e6ad92868701adeae3b5aceb483f8303623078499f85f497e525cbf1f7e1f2a4e03f00a1cf4b657116f074402a28f23903a56228d07ea4725ca382332067275f421ab05280c9dfe876c76990d7a765c88d03ca04836840d3094fa1be0de46ad0ae3bf219004add6fcef0129b51de0f8189240219ffff0321aac965fa2e7fe515cfc2d33597ab09e74baf03b2166c45a959939b792dc3850375425fa6ef370dc4cd8ac22b563a3751da22bf51c159e28c4a95ffc78021009c037d556a39284c34e6e8032d332c84627abd95024e774d8c657c22ef9e7041d0b5032953252d01a3ce481c6edd85889f8b12303c3af2ad052c586ced1524fb40f50a0301727a08bcf16015c797416282286954247e104f1d9e9f4d148a52e8ef5e824c0302c248247efbb25c9cead5d557c3f2c97c3a866d08e463dfa1298974e676d07a0381767ce8e651012f8eb7b274f54ca398b78183fc2beceaa8ab20f3745f79d3b603da7d47e6de2378c5a348fe5d149e6c5c99bd569d4735dad4a0060f947de2c274036c75244fb9587c7fd4a07c67f80f79bdd65d2f70cf49357db319f0c6facadb98005820034b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c150460246139ca80000582003e113882e763dda710a4730d2acb5bc656a96ce50b65477f780e9e456851f405820ffffffffffffffffffffffffffffffffffffffffffffffffffffef86e2a3482b00582003082b3df8672b01c605e89a86b665e9c81d9285668833d558e24a0f986add205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02a256cc9d141e27b3f06dbcfc0bcd94ed363916ccf4261cc295d2d80231175820fffffffffffffffffffffffffffffffffffffffffffffffffffffb5ffc5e885b00581f028fc80a54f39bf47dfa9d304929c5f3f785c6359856ed6419a151cd36d8cf581f043ed01694017e15e7f6567f04d287bbdbb2c97e0e8fcccda12456a98f9026021904080393d5da18b43be64c7602919f2608bd31a33eadb288b739f6e3c6c7a6a5da3393005820033959ff3e4899daeefeb9b638cbc9ebb6cbb864e3836a4e1984ecfb4db886505819b877aa3236a4b44909befeb9fad487c2ff8df0157db98d374f0058200367ced3dd404a4dc9d92a3ef968b6fd2a317314e1951933438b28d1e4f31650581f034bb1380cf53833e8a1cac651b74306ce5469f3eb978ec699375192d838540347d9297f7cfd85af949bb80a7c63f68592b00afd79cceb8b6d77887d7fc94aa8038f5dff0169449b459f8549186a153fa5ddd94f166126922a78dfed5374028aea0397d42d219e7ceb584299aca303f1941a32769a459c36d965a798d09b2db4973d030ce0f503a9828cd17aac4db346223cc72683c0056ce4b85fefa31cd28fba154d030a01e55584a686db589a0299efba141af864ed5ccbf00a1e1b7a1bb6f3b45ab702196fff035904cccd6f5f58a1fd7163e7f4e8ebfa55c15af5d6a0a46b851ccf4d375f7e4e033ac1cd534f4a8a1fb7cfca9344d270d4a0a59d9b39962384005f81fdcf502f7103abf1e10474869620173f5d16f2723b9ca6701e4756cc266035066ce41723f027035a9e451193f8edb7107732f2b453eb0e3b8d9ff80ae9b2c6c69618a081f22a9503023e5b75dc6ffbf547e22b0b5864313caa25b96009813ddf617bd2d9e0ee9b7003f1f8c660cdef3fc45a420ac98adc58c043f6117148ca721ec88f9ba01f2c01f7032365ebc9ba1a5aef07c7708a0616d3f4c5b3cb6fd3685fb9fe6597d7e44501ac03dded789a6c397d6cd85ea564ae61ef44ab22aaaa3d3c8f379c951be380f2a04e005820033870bcf8966a021ca4fb7c18a23881124ee8de69107422a959a718848338705820fffffffffffffffffffffffffffffffffffffffffffffffffffdebf383a9707c03e913f58b568a30ac31f65171f9269b2afdb0534b446f2dc13594ed48a08da9860365cb8463c3b2ac60eb85b2272ba5c0c29c8706bb1293b3495060567f058944590361325ed3862413e908ecf407c50bc6b345108216f786c3b542302e959943fa7b00581f023dfd9e6ded9c8ed730913980456137d68aaab5c32fbb0d8ebb978471582d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffd661d67d774b00581f02fa3e12191e9bbcc7408a4c53a9b0652b3042f14ca2db30564865c0ca86cb581f1420369d3b1f1f40b9225921b2bd07ea7b5c594cbf646462c825eeb4b2dfbc00581f02d828ceeb5bb5343073bdcfc3acabb9b91cee9d64c6c8b6acb40a162ca6e45820ffffffffffffffffffffffffffffffffffffffffffffffffffff2882457d79ff00581f027b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec5701000085b864e2371585df5368100a31b7761dc0b5946e02192086005820037c2588786dc3a72755e9dec7f22dac11389753d30d264b4b0ef1fea56c8a30581e6852efbbdbac4d3d8b513ddfe04cad6fe0d52d7119a70bcdaf215b6d7242030ee0da471a845c5505a9c9930ad32109918bf032b8de4d651dd1e5429085f9aa00582003495d1d8593fef66de1bb4303daff21d78a3b2c2f7c0e68ae58ec902bd089805820ffffffffffffffffffffffffffffffffffffffffffffffffffffef6af96eaf2f03d528335a725da6d37d8254e781068c422ce57397e7b666ccfcd3d7bc8c37243a0058200361ff82a6cf0b86776d107feb7885eeddcb11ad803b9a2fc9a00f0026aebb605820ffffffffffffffffffffffffffffffffffffffffffffffffffffeb5eb3cea3700219d37e03456ff576592454074f7348ffd3ee2592183be3c9f5355d7dd717898fabae62920219ffff03b3a743bb28920ebaf15e6aee1da5cfca99023698204b2b9f0c5d206fed7d59a3031dcefe73f6fc4c4b63a30bd32ea580dfd37b0695e225794a3e668095d293fd8403ce4f701964ecf943666bbd3c6f5d5f290a18c97820e621551eba8fc1d149a726039a553ca5c2d55d741705368e07cfc6fb7b591735b140bbb62600ae8afa0768cd03416d472a748a6ba703018cee453779cf32a9e20f5c51d400d591a90e91e5ec08036f3de7aa4efd2b281087577fce12f5a45ee5e12dc490f8345cd91a9c69b2ce4d03236250afe0410cd4bc02a9ebc9938d03f9dcc5f5fbe6ccb7c002d3d96f13b5ad033b402227e3c832ce3676e674b4f8f22be37821157b747523761a243b816f0b4100582003f6088d0abbca533baabe4e147ad85398921c27f42bd04a0ece7ed7d7b8b7805820fffffffffffffffffffffffffffffffffffffffffffffffffffff1faef9741e2031b791d6651f052efe33c09b6048d2b79418b69b6606fd3a928bad37d8fb0275701410200582003579ed494c55d1253c4f07d743aa6e1855a0dff2f1d17824598c5f10c30fcb05820fffffffffffffffffffffffffffffffffffffffffffffffffffffc11d6a464ff03589fb6267bbbece164fec3f642c388a79ff0d38fd2f0f210924d25b1ec6ddf3b00582003dcce9b8d6b3b0c0ba9354606da04f428cf10432b65d9ae9d191f1c996e2b505820ffffffffffffffffffffffffffffffffffffffffffffffffffffec13edd7189703502ad47e8f7ce997e599fedb84c46995c207ac470d1680dee34bbe20770114d703b77d05c7428debcc2d0619b14f43f12879bdc2ed5091b502dc7748caf46702c400581f02990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5410300581f02e9fc15b29e4a16aa7b60f3994190e84ff325ac556fcb7a0127bad4e73200581d0602f57e604de67b7e87c7052c8d64d80693e913794e6ff9dc1e300a5200581f0244795acee3185d870df41a5f3da33267a7e0b978049af24e53f713069e79581f0286a1ef6df0a9b328b915f74f3839b5b87e10e2b4166dab1f2c40e0dc874500581f02a4f0d2d3d1f12563ae86092d0e83076dd4814d7a4a1c62e386638f3c63ed581e28b322f2b46a40bea4b6c3b1618c94e0eea4afcbb2ffbbc83d8d11cd051d02194c4003b942c56de768064c88f61e7eed636e5dff6c2952235d79bf8e7121bb44e2c790005820032976e1add781d185680ccc8939a7db5f31b60ebd41b8ac93796a90b62735b05820ffffffffffffffffffffffffffffffffffffffffffffffffffff9c86ded5e54d03ed27fc5b38ea0a97752667faed7a16cb32035a9200d07473828718b861a9a85b0058200385e4eb3110f22b6198c0f98804749c5cb6ab526761751d7d2bab8b693644205820fffffffffffffffffffffffffffffffffffffffffffffffffffffb2280467bd70219feed0378a03a16a8f181504f525bdf94a7fbbbe103579768dd22156e3e737549ae719d03f0525c48605726e2c061db650c41966480780a897a538abf8992166500cd6617036699fac1a320ac5f3ca4074a8a96c97a5f1dc1541dd19ba5844cbea98dcda3880373f3aee0c8987e7ed1d2d932add0cc291cfc707d348fe9bcc4ba802a1aa7acea0338efd250616d928116ee6631e704e9937a050cdb3fe52aaad958c749d10c7cf40348edce40165def2e47eff002389321d3c09e723673febc61fb8366d14617d13c0368c357746731e404f4e95b088b40048420eb9927d18fd8826e0f3ad7e9500ff0033bd2bcdf40e3693d0da5185a7134eb6d81ee5e351d8c14d760f9c88c0db5d5bf005820036a9ef30b802f28a495f27320d349c0e5da6217fa1dedbf11529d900d8b22905820fffffffffffffffffffffffffffffffffffffffffffffffffffff6d87cd65163030988548513da8120041cdd17a75ae85a2ab78f78904084af49bb3524b59cc3a80317bec74a5844ac0b549daa74cabd675704d40f1bb62c534fa5f6f0fef1fa7af7033fbe402ec8ce7a0f4bee1a673f2c876593eb2040a12939bdde90104d7dc2cd82032201fd67581b6ee8a0250b302fc0a8fce1737856e7170d9910002a3040bb1ecd021958890219ffff03996ceccdbb4965a51b69c3d45568038ab1a829f9ee2e5d9e7a9acfad0daa804c03c734973a05114b17830b6b4688c834b18902f3d31af86d4b95cc03daf3c0eb8b03e8e72556ce41138f25e946b9f108c52f0f3dc4142a37065cae3269b58a5becb8039637d265748ea7ddded85bd9f6b1786e30b18675837f982d64d058e24bc3fae003e5a8b27dc25d3146450a180732f91b03534d2dfac47e2875a9dd1b711b4019830308708996702c8a4a27bac6dacd39e81b8b62e4fe1bc21bbc85dcd988979f20740390a3da570c4bd4af28720a4d9b0f2b0b9cce47067088aaa765eb1c92c26dca5a00582003d9700e5261ea452d4f71fc5b8eab17021b259e09b6a4a8f301d457291ac5d05820ffffffffffffffffffffffffffffffffffffffffffffffffffff27bbe65531ff005820038e98f78a491fdce5aafad66c99104566c16e8c34b598f858593595c8f21c905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a14ab34c25511a716dc24170e653cdaee0b3c9b1838ce4ea16d35a00a5b1246700581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5820fffffffffffffffffffffffffffffffffffffffffffffffffed58b3f8396000000581f0269d548bfc7b65df3af1e9a4e14dce6f025ecc9d7cd5b5bfe9b54188acf7c4801631f90cc527cd9021400582003d40cffbce920d993276c2ae3065494acdf1ce43da872d33d082a4f3ac6ca40581f06ac71ff748dadbcba55af7b642c2605283404e0ee585810989c3ff63ffda703b254b720a4a1a2d933dba08896cb685849e05edf9ae324ae7a6ca8b59edb9f370324469826932f43cd736ed3597f0c6ee03c20709f3f01b580d602db88f47b0d8e00582003766e4ad38c172cb5ef2557ae1161c13a521bdf2c9316e9591046b9302c7d005820ffffffffffffffffffffffffffffffffffffffffffffffffffffef71b6eb19de00582003bd1c2a836e65e2a85aeec071e5c68e1a2057c7cc1998de8aae05787a926ba05820ffffffffffffffffffffffffffffffffffffffffffffffffffffc23e2a752339037867bc7926ba59bc9127ca39f85098daee5d7f670e1ec936f1235e0c20d8f2220219d73a03dd6cfda857f1efd5133efc950459ee7da64ae82161cd89f0104175245012009d033b73ad139b3e7dca6176c1cd0d22dd125dff0b036e1a98ebdc4c2c2a849357c5038d5900e0b8723e1aa971e5cf704bbfc02980dc40435b10f9e11d50bcc6dd3696033cfef0a511667e62398260831b30346bf6cf7e8989ce93d019b1fe3112ac6c3503e697e0c51b6c3603e77ebc41579478b40454ff0baacfa5c9dd3b24ac45318a1203befc7ba6f9df8e4dbf278cac99fed6458b94e0895bb562fec35b56b96186a4c9036e1d39c6cdaf2dd8efef2313886f3b9dbd57639aee89190c2ff468a0a17a778d0058200335dd0ae843954c5258d28e0b5ac994fce5e7b5e659b5bbcb9c0f7ef6ce3e805820ffffffffffffffffffffffffffffffffffffffffffffffffffff94d92288754d00582003b940023460315e8a74d34c22b63edb442a7ccfeb8d01aa4789d7a35a34d6d048016334c2d0d4e44303b78214b48d01d20cdb2f1ffc918da0dd55f60a1f0ec3ba1189da401b334ecce70364e5598607cac31e4fa3f1928ea32a0f8d7b2c208c57abd94460d9d88ac9f08b00582003fc13f79dd8e48fec26bd080530189070b1ec2be61490931bfaa31af67f2140581f01be9e035aa5bdf90d84decde15c702bb05f7ac5f84e078dad1dc83f6fa53300582003697e0e6c9776b3b07734f3b5f26939a2c770c79e6cc006d95884a40616cfd05820fffffffffffffffffffffffffffffffffffffffffffffffffffff4a9dc8e22c903b092057e5653fef400c41ff0c3b97c69f1a95f843072096f2f727ac23ceba92700582003152e20ef22cb26a422a1e466ffa5fdc500c76f2a9694812e6be97af1e3db205820fffffffffffffffffffffffffffffffffffffffffffffffffffff91ceb812d8c00581f02521ababb6dc53fed0974b387f598814cb6a84b452f3d29427b50ab42e45b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffe384fb9b783800581f021c4a8a5de3673e2fbd85c24cf91ac9835909f25327ce1b9c2d5ecc40bcf8581f0661b6836226350f5de399ee4858d69b9b2db4cdf1ed34325c8b63c9c8799e0218600219ff77038243d1d9a23f135b2cb2f61f14d61a277fb672e655f0d50f9cdc35d68d0e9b0803c25e1101969b01371b6fda561a16e0674706fc2df50eb4d726e6eaccdac2cb9403bccab3192e311d6604a3612e0c0975f514d5d747d167fdbec75b079cb2b72479034aa863432042f4fc92d330652a5a16739b773ac660f368cf1d453e0b39f8774d037973944cee161c6d50211ac1866846025d96e2ddce0b443309f8f8a9f1f646c203914e8872126fa699ff8e57771a409e7ea8487ab620b59e01ffa11d155f6ed7e20219ffff0219ffff05581d02b73ecd80e40c050eeb9c842bfe0e7d05bf9b7919da0d60267a96b68d070119379705581d02b1de1ed6d0b089e41e20fcc85d9dacac8ba03b4eb020fe35c7631f2b0c02470de345c86e789c0219480003fee395a5cbc6e9dfc04e486b1e17cf8b85015a4ebf0b967fb5768b9976102eda05581e03efc0e9a66d0467476e24f74a5d5935d3a814caaf9f9fab2bf4d9917d100c0947068fb35077796003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03f151564f3297efa0c1e43933d593b43618c253830ee0feb1bf103dd42007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03596896f50c57286188c68c781ef0af041191fd5679bbf1bbe8f025ffe007011bffffffffffffffff05581e032630136d784d49d0c3a1aa97ed0a0e25c31e2d5711007fd88372862ce00c054699a78aeafc00033f84357cc3ed06f91585f9a43d19768756cbe877335d473730132f04be9fe0de05581e036874e6ae9261b160fac1d72fed8ce1fc7ebecb6e13400c37edac538f60084804e11c56b77a1678039921f797361138feebae24379f3156c50e8c39ef17771641867750e355b24d4d05581e03d2db8200a6bec2be9f5acf8a5103959711338262b0b2c36d0d1795a6600c054607837f370f280219ea7d03783698a9c574978c5141d5b74d6df8c8ebed791155483e5406b4061e2dbbd9d603b4fe2abc0bf8aa148e1ab8bebb39181d35c3e25c523c1e21788bce6b4e4562f0032d5f8096e4d3f42dfd9f053ae694398b60f7c0eb9eb8a590defa18457a69177f030a8f6d16dfbdb4b4aecf2c61a9a4beff5a49fd198fab353dd4c544ca32ebbcc903339a2af2f12df98db2ec30ccff17109db68d66ab34f3be69e4b28b845fef4e9603c1923a90b16278ee12df4e08792f826894aa0f0cf6e893882a00b1c97c7f004803a22d3718dc412b4b091d3dc34ab2571e1fdfb55495f1a667dc2be10bcf5ccfce03b768d1e90e036e470885c6a27f1ac385befd1c4df5ccabe346cc27c266b2069b0345bd10d58cc69d38ccdc8b57c57f7ee8cf0d2a62393b08102fb3a8ca901afe7203b8d7df5fbbf4fb369da60557bce2dbfb53ad0c9d97007f25694f9428f0d3a9220337cd18de08b816d8d6130a9b7b7b76c20a4b3ae75b3fbe9c5f0698919b58156e0219ffff03c7c7bec883993fc2e7507433dd782210e39bc98375d7cda865f2143b2b7d9c2203ea4933b529662d839a7e386723f26790ddb0bbe93589bd1f6a322211e1483949032f6132f74e297581942cf2bcddf702c9d9641c5da492801808bbbcee898711b20392ee01ba1c5727b02540b74dba4e406c02a2a9e74970821f3c76d9e91b492b6c0219ffff03cd5260d3f9655ee27dabe6ad3e8eb54b35a047e4a433991ae17715bc61871110035f65d4e425a5339bb95c77a2baaa6b0b9eeb8f949558b829cb84e9e1e16f9562038fc03afb09826525a767e9a8cfc89811c3c7b9872315c330378d698d30cbc9d103cdce21b39ec60f10b896d174b798dd54c6126dfbdb3bb8998d493b7a883f1264030d3787d150a3f96fbf2dbda5f891eab9d5efd74f72d2b6056d6a5f34fd2e92820332d6b7a32e5fd5d1e682c27dd062f39bb6ae658004d77ca93f859186f87b98e803ba75d8090f3a110945e1a180f286f2549001a9f352928e48996eb2f240bf33bf0363e3457e78f85f08ab03b3959e82dd7ce69b40917a788e1f3340b22eccb91b1003b9cd54b3b143d3195286adfa718869a76238a4e1901f32c9a6d994ec400aaf060398b6e3432de99eb9531d5ec7c7fd3a6c8bf192be759d2f622ab4e8f8885942a603bbaf991306cb42158e2fd2031619552e9f002e4d5e44a61d0854653180282ba703845cdb5b53478c3f0a4acae49b5e70d362058c7a3383fa9f30c03d70c04b66fd0374a61939e7ab7fdd77919b464ef7ae8f5ddf9ec8019adc0daf3cc70c86890a770389bfafbd31e264be800038b4f3de09049f1708db9cbb4c88332920bdaf93f4e703e49c236ae911d9938664ce694be1495837a4f1e0545a4f70dcb479c5c2bb753d03bc5d9d546b0832aa4e3e8a724a89c83a030c5ff0271eb834ceafbc49f78f42830399b64011752c6712090ae782189158e911b91084387febd0409dd1c0ebdf8e1803a1e7069ee0827a6be7f70439d66b7b318120b16b9e2d3636f62c3c977e5dab46032e0d12349785a80b44baa96967eb395e3afc5d96004c180286c98b43bec9dbc603f9d225e33b68691803e5aae724a7164a3d1f4ef908a798a676018aa5df7e656903ad14ed3e519e84076da6b1580accba45349f4727468a4451cb5a50a3384030ee05581d0398927c689d9a249a65324ad618fd600f1ce51dd1a61a0ce01d73d9a0040104591dab6080604052600436106101295760003560e01c8063ad1977e5116100a5578063d025dec011610074578063df2ebdbb11610059578063df2ebdbb146103b7578063e42e0ea9146103eb578063eb61cf561461040b57600080fd5b8063d025dec014610370578063de701fd61461038357600080fd5b8063ad1977e5146102ed578063b3dc8da4146102f5578063bc85276014610308578063cb77ead01461033c57600080fd5b806352283e35116100fc5780636ccae054116100e15780636ccae05414610257578063754971721461027757806379285133146102b957600080fd5b806352283e35146101ca578063678fcd61146101fe57600080fd5b806324d97a4a1461012e57806329829e1014610145578063487d46c7146101af57806352106ce9146101c2575b600080fd5b34801561013a57600080fd5b5061014361041e565b005b34801561015157600080fd5b506101797feb61cf560000000000000000000000000000000000000000000000000000000081565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b6101436101bd366004611b19565b610490565b610143610900565b3480156101d657600080fd5b506101797fb3dc8da40000000000000000000000000000000000000000000000000000000081565b34801561020a57600080fd5b506102327f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a581565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a6565b34801561026357600080fd5b506101436102723660046119c5565b610bc7565b34801561028357600080fd5b506102ab7f837ed841e30438f54fb6b0097c30a5c4f64b47545c3df655bcd6e44bb8991e3781565b6040519081526020016101a6565b3480156102c557600080fd5b506102327f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a581565b610143610cef565b610143610303366004611acd565b610f2f565b34801561031457600080fd5b506102327f00000000000000000000000071630095e3f08a86afc73f7b07342192adf39c5581565b34801561034857600080fd5b506101797fd025dec00000000000000000000000000000000000000000000000000000000081565b61014361037e366004611944565b6111ec565b34801561038f57600080fd5b506101797f487d46c70000000000000000000000000000000000000000000000000000000081565b3480156103c357600080fd5b506102327f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156103f757600080fd5b5061014361040636600461185a565b61135e565b610143610419366004611886565b6114a3565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000071630095e3f08a86afc73f7b07342192adf39c55161461048d576040517f38647caa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33ff5b6040517f7095d47100000000000000000000000000000000000000000000000000000000815263ffffffff85166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a51690637095d4719060240160206040518083038186803b15801561052057600080fd5b505afa158015610534573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610558919061183d565b73ffffffffffffffffffffffffffffffffffffffff16858560405161057e929190611bb2565b600060405180830381855af49150503d80600081146105b9576040519150601f19603f3d011682016040523d82523d6000602084013e6105be565b606091505b5091509150816105d057805160208201fd5b600080828060200190518101906105e79190611a9d565b915091507f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156107485761064f6040860160208701611819565b73ffffffffffffffffffffffffffffffffffffffff1663deace8f583606088013561067d60208a018a611819565b8660808b013560c08c013561069860608e0160408f01611819565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e08a901b168152600481019690965273ffffffffffffffffffffffffffffffffffffffff94851660248701526044860193909352606485019190915260848401521660a482015260a089013560c482015260e4016000604051808303818588803b15801561072a57600080fd5b505af115801561073e573d6000803e3d6000fd5b505050505061084c565b6107586040860160208701611819565b73ffffffffffffffffffffffffffffffffffffffff1663deace8f560608701356107856020890189611819565b8560808a013560c08b01356107a060608d0160408e01611819565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168152600481019690965273ffffffffffffffffffffffffffffffffffffffff94851660248701526044860193909352606485019190915260848401521660a482015260a088013560c482015260e401600060405180830381600087803b15801561083357600080fd5b505af1158015610847573d6000803e3d6000fd5b505050505b7f74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609828260608801357f837ed841e30438f54fb6b0097c30a5c4f64b47545c3df655bcd6e44bb8991e37336108a360208c018c611819565b6040805196875273ffffffffffffffffffffffffffffffffffffffff95861660208801528601939093526060850191909152821660808401521660a082015260e08088013560c08301520160405180910390a15050505050505050565b610963337f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a561093460546044366000611c13565b61093d91611c7c565b60801c61094f60186004366000611c13565b61095891611cc4565b60601c929190611636565b610972602c6018366000611c13565b61097b91611cc4565b60601c63deace8f561099260446040366000611c13565b61099b91611d0a565b60e01c6109ad6040602c366000611c13565b6109b691611cc4565b60601c6109c860546044366000611c13565b6109d191611c7c565b60801c6109e360646054366000611c13565b6109ec91611c7c565b60801c6109fc4262093a80611c3d565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b168152600481019590955273ffffffffffffffffffffffffffffffffffffffff9093166024850152604484019190915260648301526084820152600060a4820181905260c482015260e401600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b507f74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d16099250610ad59150605490506044366000611c13565b610ade91611c7c565b60801c610af060186004366000611c13565b610af991611cc4565b60601c610b0b60446040366000611c13565b610b1491611d0a565b60e01c7f837ed841e30438f54fb6b0097c30a5c4f64b47545c3df655bcd6e44bb8991e3733610b486040602c366000611c13565b610b5191611cc4565b6040805196875273ffffffffffffffffffffffffffffffffffffffff95861660208801528601939093526060808601929092529092166080840152901c60a08201527f010000000000000000000000000000000000000000000000000000000000000060c082015260e0015b60405180910390a1565b7f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2d57600080fd5b505afa158015610c41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c65919061183d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cc9576040517fb20ca36500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610cea73ffffffffffffffffffffffffffffffffffffffff84168383611701565b505050565b610cfe60186004366000611c13565b610d0791611cc4565b60601c63deace8f534610d1f601c6018366000611c13565b610d2891611d0a565b60e01c610d3a6030601c366000611c13565b610d4391611cc4565b60601c34610d5660406030366000611c13565b610d5f91611c7c565b60801c610d6f4262093a80611c3d565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168152600481019590955273ffffffffffffffffffffffffffffffffffffffff9093166024850152604484019190915260648301526084820152600060a4820181905260c482015260e4016000604051808303818588803b158015610dfc57600080fd5b505af1158015610e10573d6000803e3d6000fd5b507f74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d160993503492507f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9150610e6b9050601c6018366000611c13565b610e7491611d0a565b60e01c7f837ed841e30438f54fb6b0097c30a5c4f64b47545c3df655bcd6e44bb8991e3733610ea86030601c366000611c13565b610eb191611cc4565b6040805196875273ffffffffffffffffffffffffffffffffffffffff958616602088015267ffffffffffffffff90941693860193909352606085810192909252929092166080840152901c60a08201527f010000000000000000000000000000000000000000000000000000000000000060c082015260e001610bbd565b6000610f3d82840184611a06565b90507f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16141561106d576040808201516080830151602084015160a085015160e0860151606087015160c088015196517fdeace8f5000000000000000000000000000000000000000000000000000000008152600481019590955273ffffffffffffffffffffffffffffffffffffffff9384166024860152604485018b905260648501929092526084840152811660a483015260c482019390935291169063deace8f590869060e4016000604051808303818588803b15801561104f57600080fd5b505af1158015611063573d6000803e3d6000fd5b505050505061113d565b6040808201516080830151602084015160a085015160e0860151606087015160c088015196517fdeace8f5000000000000000000000000000000000000000000000000000000008152600481019590955273ffffffffffffffffffffffffffffffffffffffff9384166024860152604485018b905260648501929092526084840152811660a483015260c482019390935291169063deace8f59060e401600060405180830381600087803b15801561112457600080fd5b505af1158015611138573d6000803e3d6000fd5b505050505b8051608080830151602080850151610100860151604080518b815273ffffffffffffffffffffffffffffffffffffffff978816948101949094528301939093527f837ed841e30438f54fb6b0097c30a5c4f64b47545c3df655bcd6e44bb8991e37606083015233938201939093529290911660a083015260c08201527f74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d16099060e00160405180910390a150505050565b6040517fdeace8f50000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff8a8116602483015260448201879052606482018690526084820184905288811660a483015260c4820185905289169063deace8f590879060e4016000604051808303818588803b15801561128157600080fd5b505af1158015611295573d6000803e3d6000fd5b50506040805189815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee811660208301529181018b90527f837ed841e30438f54fb6b0097c30a5c4f64b47545c3df655bcd6e44bb8991e376060820152336080820152908d1660a082015260c081018590527f74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609935060e001915061134b9050565b60405180910390a1505050505050505050565b7f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113c457600080fd5b505afa1580156113d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fc919061183d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611460576040517fb20ca36500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f19350505050158015610cea573d6000803e3d6000fd5b876114e673ffffffffffffffffffffffffffffffffffffffff8216337f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a588611636565b6040517fdeace8f50000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff8b8116602483015260448201879052606482018690528335608483015288811660a483015260c4820185905289169063deace8f59060e401600060405180830381600087803b15801561157a57600080fd5b505af115801561158e573d6000803e3d6000fd5b50506040805188815273ffffffffffffffffffffffffffffffffffffffff808e166020838101919091529282018b90527f837ed841e30438f54fb6b0097c30a5c4f64b47545c3df655bcd6e44bb8991e3760608301523360808301528e1660a08201529085013560c08201527f74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609925060e001905060405180910390a150505050505050505050565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806116fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c454400000000000000000000000060448201526064015b60405180910390fd5b5050505050565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806117ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c4544000000000000000000000000000000000060448201526064016116f1565b50505050565b80356117cb81611d50565b919050565b60008083601f8401126117e257600080fd5b50813567ffffffffffffffff8111156117fa57600080fd5b60208301915083602082850101111561181257600080fd5b9250929050565b60006020828403121561182b57600080fd5b813561183681611d50565b9392505050565b60006020828403121561184f57600080fd5b815161183681611d50565b6000806040838503121561186d57600080fd5b823561187881611d50565b946020939093013593505050565b6000806000806000806000806000898b036101408112156118a657600080fd5b8a356118b181611d50565b995060208b01356118c181611d50565b985060408b01356118d181611d50565b975060608b01356118e181611d50565b965060808b0135955060a08b0135945060c08b0135935060e08b0135925060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008201121561192f57600080fd5b506101008a0190509295985092959850929598565b60008060008060008060008060006101208a8c03121561196357600080fd5b893561196e81611d50565b985060208a013561197e81611d50565b975060408a013561198e81611d50565b989b979a5097986060810135985060808101359760a0820135975060c0820135965060e08201359550610100909101359350915050565b6000806000606084860312156119da57600080fd5b83356119e581611d50565b925060208401356119f581611d50565b929592945050506040919091013590565b60006101208284031215611a1957600080fd5b611a21611bc2565b611a2a836117c0565b8152611a38602084016117c0565b6020820152611a49604084016117c0565b6040820152611a5a606084016117c0565b60608201526080830135608082015260a083013560a082015260c083013560c082015260e083013560e08201526101008084013581830152508091505092915050565b60008060408385031215611ab057600080fd5b825191506020830151611ac281611d50565b809150509250929050565b600080600060408486031215611ae257600080fd5b83359250602084013567ffffffffffffffff811115611b0057600080fd5b611b0c868287016117d0565b9497909650939450505050565b600080600080848603610140811215611b3157600080fd5b853563ffffffff81168114611b4557600080fd5b9450602086013567ffffffffffffffff811115611b6157600080fd5b611b6d888289016117d0565b9095509350506101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215611ba457600080fd5b509295919450926040019150565b8183823760009101908152919050565b604051610120810167ffffffffffffffff81118282101715611c0d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b60008085851115611c2357600080fd5b83861115611c3057600080fd5b5050820193919092039150565b60008219821115611c77577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500190565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008135818116916010851015611cbc5780818660100360031b1b83161692505b505092915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611cbc5760149490940360031b84901b1690921692915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611cbc5760049490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff81168114611d7257600080fd5b5056fea26469706673582212202782853737530c5d7704d294dc445149dffa6251d2779fd1fe8744ec4182960d64736f6c634300080700330605581d035bb393cd3678177d953480fffb031640821912ab33fdcc6c3de5aa400701191dab02186003a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c033447e445c307e315c641f7334a30f2c305afb61694cef77a7f019125ab5b51ec05581d029291ad79ebc3514775334e829a524ca53b3e6846c295037012e5045f07011bffffffffffffffff05581d0285dd5fa812c16ade46d98a462ab52591722234b4af9472e9681a7e630403021994000362e6699ca445d340a08a03284e01b3f3cab4990bde0bc78a13c61ef6be14bb680324a71b30b9c28e55306638c3db7ecc9e3bd8d21c9af3c1c2ced3597fbbeaaef005581e037e75a84081f34c28db74a0af9532c64529e9e8a42d2fddc45bfeb8f5500c01466b45ce96b32703837f7f0a6ca5a3a5ceeda1ca92c91a1bad695fda8314c10b582431e6a2cbec6203647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d035485a952b56c097ad744f45a0246568a89b2ab61847068f77b88c559436aac0b05581e03661b9b9f4003f803053d196e4afbd16663dd5d899682f592ceeda4519007011bffffffffffffffff03c803c311fb579edc9cdd0f37af32825f11b7b908218efae8214cf585aa02bcd205581e0396f441f715e552befedf39ebbc47bb73caac562fc7e96111fcede6af10040105581e0337270747ac6bd24f9cadb44f8f586562eecf4b0f546356d69c4a96332004080219d7260373e705a5a4746d04942ec3b5d52eed16225360f7177cdc0a7c7ae955ca7204bb037a0de26e5fc495fa84867d35c5fe1f3448e2ee9b1f10bd468c8afc5202f0df12036543e54b735d4ac836ce9ea2d2d957f832daf7ceae205566eb898aa56f37950503ae663c6a8bdf8e069df960f33f13eada3c7b5773889e89563c9cbc6ce5bed779035278bf106d6d3007c87946095ddff7da1bc7e54c1b61e522090100e1548bc661031ce422cec643c89b1de3a2cce99394738223d002e9f4b7a992b7325368cbb209039254ebb04133479d8b4ae1cb661ec427e357617ead6ec9f08e3f0d72c4940f3103d45715e7c93ba73ae1defccd96b36bc143170bb16997937de475bbe26b145dec032719dea563daf7c6c73e5647a7c9b9eb4c310f646097b7b64dd3136355a023760219ffff03b090d4ad08058bea96d6efc8596665e9234e78589e9bcc5212cde873366d09dd03aa600e3bf2f4eba71b8debb72f19cdd8a74d50c12305715945316f1ce935e2f60219ffff0391804c04ad507fed3084e0f3035b8fa1cdece6adb64afa2e82cf9bfb19b60cc8039e70d2f7567e7ee4c651ade1bffe49f28b80d25795a0bc157ef1a7f3e6fb14c603320b47852439bb0ce865edee9bf82a12b09ceb831f25ce88047f0d81496ba056034b1202256bd61a70fb0d8a47988705db43cde136f04d33891d4ee1be801178310382b4efb1c33cd6b9d469e332a71bfb5fafb7d1a652dbf80836c3a951b7903c900301df2d3b655b4d1fcca2babeca9dae2f05cec21c3a85956df233765acf3997ae030f95185bd02c2e5e078918962cad1a58048f51374abe578f3d7066474dabeb0f0219ffff0346fce83f42e0560378c156cb501ac17e6dfd547ae0b76e5d9ce0bf6ffcb948d5035d26b61682604126f05cae2fa7c9f37255f6d51262b137a48d4d752a1cba5f26034bc7f54bffd6cef796ea619b15cf83ab2655cbd68cfa26ccf21b645c60d584c6033d7fa390faa5e542d9aa2b63fabcdd565557ad3aa91d82be24a6d5f05055c0dd0337e37af3cba6d395b8ffbcab48cf209c12e13bc0a030c1b34642bd298773e91a03b84d8680b39fc76d8324a0777afeadcc0271c69f5f3e70582afbef8988a72a4403bc5f6519059efe1298f4382394afe38da88b36019b9d450c0ed2d5dfbc27fdec03f03fad21163c0e5a8f1856dda03839b8e648458024fc988ff0aae334e71dffaf037c82382cbe9b8850cbfdc7d2f1bd0bbfd9b058d31c8e02eabef12ad70d54872c0364267f48fbe45ac79389fbfa9386f1bdcecdc36bc3dac533a7f65e26774f5f5d037ad863edccd66916d0a5e924baa4d55868416ccfa0e99375b5265f0f0ee9c289035d807d87e7de6cccdb2edbc7c47c332a8cec36b3b6a19b659b9e090c595a8be10379bfc2bd3e091e0777862ed2299bb348c5c698830ac0d6e0c3fdae9e111dba97033fb628e733884d50f119d6afa74b4b19ca6a970eead11d014a302a0be4f0a1dc03a44a6f50de2acb407997b92d1bc0a2429fe9ad960fae7b2838bdd6e35e58d44b03f7aedcae509d127d247ac12ac4620eadfad6c4c094a11738d1a36fb7c632055203e45999657119d1de627c9e6f769b3ff2cc69402d20e49c1129bf18b6c349b8a10391a715587602021a38d54d6fb955a0a53d1e0173915b77ee6979117a77cfe55a03187eb2e3170d7e80652d89b26202800ab074922e3534e078fd9848a7d2ca80e60303609d48ac1abb7816c6bd2528a1257134b7df6610b0278ecd4f0e3d20a10202038a2a7ef4fb7f31446e1835b12a9bea173db7cb163bdf258562305bbc3e666feb03c0eefe3049244c5f546a1749202cde1ad99d22f0daa513a6575ea2934d47dab603f29ef60ece90e30358062910f678b9fb6c0f868d67ea010a5e2270df62add4bd03922bcfd1efb30f2d34488a2a957242fce7a0c0e0d1daafe77530e8471051bb3a03350e68771bbe5d38c426a80b2eaa9bb00b7bf976a030c0d536e459c8ba9967a103ec693256b46cdff10b67f19e57da9e8bc04d33b6942c4d5204c77cf9d4da451e030fcd0f41a904f4b35eea7a7202f4ac1d544ddfc1fbff24adb4f96d29212f975f038ab1da6a0c72748a552ddf4c0d914106f5231420ca001325705c7cd9a915e1870328744b7bb183e45cda31b091edf61e3d9ce58402066a9f2fa7972795e79170c00370271b2232bcb272383af5ad548b6370c0015885d6299e5a8f50dffd29f4867e033cec322c490ebd3afe33b2fd078123d808f4246463448d268771c7a7642e3840035198e7a8fc39390cd8ab35635f50d78161eb023f1098edd34e4227af3375d5e903f0919f7a063c5dfc4982275070156fd7af510f66ce59a0b24d51f704ac7a49da034a3dadf8801cdeada6ed42f90256cc145b48e330664e21e4b34d1525f6c4749b0317c2e6de84157c1df98d5211f6f21ab5c6f09d970b4cf0ba827e11644fd4cf48032db95d4cd5553ea0be1a0ec63355969f0f44af12d45239d5e949f2558078d9fd03be5ad45bdbbe0afaef38e539bd4180a4b0d3fee100e9aa7998bd15825bb041a103202163abe14af6c6165a62f4cf21218b532db9ef9dbdb81a0488cd2550b8313b05581d02046b3380bbc2157647d128c5541e2d0d879575498ac30a96919f63ae0c014701adef7ccc04c805581d025b0c9274bd273f96afadf6c02e5445cf319b9cdf1224b9b42c9390a50c196c1d49139a7c90b9875ad1460219404005581e034004d1350775a6ec3065879cfc21651704339eb829e1f1bb3afbdd541008475b4ac8dd90cfa0032db80eb985c334460e164b836308bf88f6fcde4d8fc12e1bae82f4585622283705581e031a46b6c907579248c893f55abc1cab201e62c1fdf844512be4565666b00c014706a3efc18cb8000219402d036fc6e4949d6f5ee9fbe7683658701c314a0c3e47ad49c5244f0eac03f2f2e22403c18704e01119436d9b924c3512fb09cb169e46648d6a13e55ccc79605477cdb103c9c885f434374fd5fbbddc69a2b364ec07f5d0365ce7beeb8cb8605e7272885c0219ffff033a28e968e0ecfbf39c8588d351f11bdfd85504ec17c7c7512bfc010f0bf695b80348471c84c7818286468f0ce3f489afe562cb8f64a30e43ae6f593f39771e4943032bfc034f61c9617b7fb623f00b09c3660e2803285cccbde15f3d78c2dfea5d3d03bae2a85e96025fea8420ccc223f224d9157baffc39825322d00a7b4163fae13103e8a61f4c144a1dc51c9c3f1d317bfb565bfe239c5e90b11d08f4fa44df5f108d036b2b1bc4ddbdbca961debf16a63276a153184f67f9addcb030df3fd6712f00d803d9279f6c6621cd1d73aca6f435f296db10f5a98488de3d13dc74d6a17adee2c3038e4fd55120e1e8accc20f328966dd41a8f3404dbb9d0ba6d145bc0428ddae68f034bc448bdb4bd75cfd9833d6ff15324c0e0592c05596d83b1beda741363f1c556039494e46baac768ecc07daedf57263405467012a972d48177e381f50e53dde8fe0394b84deef4b2adeea08e4c73d317988a210ce136fe2b56a91d9b7c5555f3caaf0219ffff0219ffff0368086dea288b2f48d648c708ce0a64d6b13e9c092816854252f190c4b50cad5a0352b141986f431270b46c30985091b76053fcd3c9654d09056184af5d7c9c5dce0388adc940249c25e26c115f60df16e536da249902df09dc422f93ce4267e562b7034b17b8523682964a645d3dd34a80302c93cb65133d440199f2f9a9e05300364c03737873d899f7be39c437a8f96ff211ffa957350bb77dc24f902aa92650dc49310335458d5852519b08b0b577727824e6da97e8ed51221bdf0b445360a188f49d33033d9016a2a33a0169ad35740829b75c61cb6cc0413e30edd0005a356f52c914a1031f7e6d7fc8ce36bb408387cd62e23078a71802e732ee4c259257e6c3106ea500030c5e8185536d1e13e367060003cabc435fc7249c745acb59493aa17ec685676103727c561c8ea4182a85fe2bc8520d2636a43ade0fe723c5fbcffe0035f0c7581903ddc920cb329e13b5d5bfb17901f81a6efad766c74a337e4a2b63b12afe1d0ff70376f6b38c3fa0266139ba2aeb9db7303ee69065d427d8d1f04128a252b23ddcbb03098df73819a35d67f0b5b6f6d64bf5bd7a8d16ece2a234ab64820dea08261a0a03a90816f70457bd5145afaccaed8c354ab7fd040aa2d3e1283b7286cd14efa05905581e0393a71cfedfd8ffb095d52c58d438b0449c2d0a9733c3a19931880478d0040105581e03ae1ad243859a195bbade0968ce60c5528fe1c0b35aeb70ca03984a4340040105581e031d8cd855612c11364423b8fb2c042b61446e4c4a86b3a05a5b312a0330084837511de19ab5000003e0be82f66eba7f2059775e7d9cf29307feed420c3b0d3c266b91f940bfa818a9045934b66080604052600436106100eb575f3560e01c806370a082311161008957806395d89b411161005857806395d89b41146102d0578063a9059cbb146102fa578063c9567bf914610336578063dd62ed3e1461034c576100f2565b806370a082311461023e578063715018a61461027a578063751039fc146102905780638da5cb5b146102a6576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c25780633bbac579146101ec57806351bc3c8514610228576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f80fd5b348015610101575f80fd5b5061010a610388565b6040516101179190612466565b60405180910390f35b34801561012b575f80fd5b5061014660048036038101906101419190612517565b6103c5565b604051610153919061256f565b60405180910390f35b348015610167575f80fd5b506101706103e2565b60405161017d9190612597565b60405180910390f35b348015610191575f80fd5b506101ac60048036038101906101a791906125b0565b6103ee565b6040516101b9919061256f565b60405180910390f35b3480156101cd575f80fd5b506101d66104c2565b6040516101e3919061261b565b60405180910390f35b3480156101f7575f80fd5b50610212600480360381019061020d9190612634565b6104ca565b60405161021f919061256f565b60405180910390f35b348015610233575f80fd5b5061023c61051c565b005b348015610249575f80fd5b50610264600480360381019061025f9190612634565b6105b3565b6040516102719190612597565b60405180910390f35b348015610285575f80fd5b5061028e6105f9565b005b34801561029b575f80fd5b506102a4610747565b005b3480156102b1575f80fd5b506102ba61084a565b6040516102c7919061266e565b60405180910390f35b3480156102db575f80fd5b506102e4610871565b6040516102f19190612466565b60405180910390f35b348015610305575f80fd5b50610320600480360381019061031b9190612517565b6108ae565b60405161032d919061256f565b60405180910390f35b348015610341575f80fd5b5061034a6108cb565b005b348015610357575f80fd5b50610372600480360381019061036d9190612687565b610dd6565b60405161037f9190612597565b60405180910390f35b60606040518060400160405280600481526020017f4675467500000000000000000000000000000000000000000000000000000000815250905090565b5f6103d86103d1610e58565b8484610e5f565b6001905092915050565b5f64cef5e80de0905090565b5f6103fa848484611022565b6104b784610406610e58565b6104b2856040518060600160405280602881526020016134596028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610469610e58565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b8d9092919063ffffffff16565b610e5f565b600190509392505050565b5f6002905090565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661055c610e58565b73ffffffffffffffffffffffffffffffffffffffff161461057b575f80fd5b5f610585306105b3565b90505f8111156105995761059881611bef565b5b5f4790505f8111156105af576105ae81611e78565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610601610e58565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461068d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106849061270f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61074f610e58565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d29061270f565b60405180910390fd5b64cef5e80de060148190555064cef5e80de06015819055505f60075f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf64cef5e80de06040516108409190612597565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4655465500000000000000000000000000000000000000000000000000000000815250905090565b5f6108c16108ba610e58565b8484611022565b6001905092915050565b6108d3610e58565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461095f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109569061270f565b60405180910390fd5b601960149054906101000a900460ff16156109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a690612777565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a343060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1664cef5e80de0610e5f565b60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac291906127a9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6c91906127a9565b6040518363ffffffff1660e01b8152600401610b899291906127d4565b6020604051808303815f875af1158015610ba5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc991906127a9565b60195f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c50306105b3565b5f80610c5a61084a565b426040518863ffffffff1660e01b8152600401610c7c9695949392919061283d565b60606040518083038185885af1158015610c98573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cbd91906128b0565b50505060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d5d929190612900565b6020604051808303815f875af1158015610d79573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9d9190612951565b506001601960166101000a81548160ff0219169083151502179055506001601960146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec4906129ec565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3290612a7a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110159190612597565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108790612b08565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f590612b96565b60405180910390fd5b5f8111611140576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113790612c24565b60405180910390fd5b5f61114961084a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111b7575061118761084a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118dd5760055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561125a575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611262575f80fd5b60075f9054906101000a900460ff16156113e85760185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611320575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113e7574360065f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b90612cb2565b60405180910390fd5b4360065f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611491575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114e4575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156116125760145482111561152e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152590612d1a565b60405180910390fd5b6015548261153b856105b3565b6115459190612d65565b1115611586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157d90612de2565b60405180910390fd5b60135460085410156115a55761159b836121ec565b156115a4575f80fd5b5b60085f8154809291906115b790612e00565b9190505550600160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b61164e60646116406011546008541161162d57600d54611631565b600f545b856121fd90919063ffffffff16565b61227490919063ffffffff16565b905060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116d857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117f857601454821115611722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171990612d1a565b60405180910390fd5b61175e60646117506012546008541161173d57600e54611741565b6010545b856121fd90919063ffffffff16565b61227490919063ffffffff16565b905060135460085411806117b8575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6117f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ee90612e91565b60405180910390fd5b5b5f611802306105b3565b9050601960159054906101000a900460ff1615801561186d575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118855750601960169054906101000a900460ff165b8015611892575060165481115b80156118a15750601354600854115b156118db576118c36118be846118b9846017546122bd565b6122bd565b611bef565b5f4790505f8111156118d9576118d847611e78565b5b505b505b5f8111156119dc576119358160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122d590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119d39190612597565b60405180910390a35b611a2c8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461233290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611acf611a83828461233290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122d590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b72848661233290919063ffffffff16565b604051611b7f9190612597565b60405180910390a350505050565b5f838311158290611bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcb9190612466565b60405180910390fd5b505f8385611be29190612eaf565b9050809150509392505050565b6001601960156101000a81548160ff0219169083151502179055505f810315611e5b57601960149054906101000a900460ff1615611e5b575f600267ffffffffffffffff811115611c4357611c42612ee2565b5b604051908082528060200260200182016040528015611c715781602001602082028036833780820191505090505b50905030815f81518110611c8857611c87612f0f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d5091906127a9565b81600181518110611d6457611d63612f0f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611dca3060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e5f565b60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611e2c959493929190612ff3565b5f604051808303815f87803b158015611e43575f80fd5b505af1158015611e55573d5f803e3d5ffd5b50505050505b5f601960156101000a81548160ff02191690831515021790555050565b5f611e8d60048361227490919063ffffffff16565b90505f8060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611ed690613078565b5f6040518083038185875af1925050503d805f8114611f10576040519150601f19603f3d011682016040523d82523d5f602084013e611f15565b606091505b509150915081611f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f51906130fc565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611f9f90613078565b5f6040518083038185875af1925050503d805f8114611fd9576040519150601f19603f3d011682016040523d82523d5f602084013e611fde565b606091505b50809250819350505081612027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201e9061318a565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161206c90613078565b5f6040518083038185875af1925050503d805f81146120a6576040519150601f19603f3d011682016040523d82523d5f602084013e6120ab565b606091505b508092508193505050816120f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120eb90613218565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166121526121436003866121fd90919063ffffffff16565b8661233290919063ffffffff16565b60405161215e90613078565b5f6040518083038185875af1925050503d805f8114612198576040519150601f19603f3d011682016040523d82523d5f602084013e61219d565b606091505b508092508193505050816121e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121dd906132a6565b60405180910390fd5b50505050565b5f80823b90505f8111915050919050565b5f80830361220d575f905061226e565b5f828461221a91906132c4565b90508284826122299190613332565b14612269576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612260906133d2565b60405180910390fd5b809150505b92915050565b5f6122b583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061237b565b905092915050565b5f8183116122cb57826122cd565b815b905092915050565b5f8082846122e39190612d65565b905083811015612328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231f9061343a565b60405180910390fd5b8091505092915050565b5f61237383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b8d565b905092915050565b5f80831182906123c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b89190612466565b60405180910390fd5b505f83856123cf9190613332565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124135780820151818401526020810190506123f8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612438826123dc565b61244281856123e6565b93506124528185602086016123f6565b61245b8161241e565b840191505092915050565b5f6020820190508181035f83015261247e818461242e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124b38261248a565b9050919050565b6124c3816124a9565b81146124cd575f80fd5b50565b5f813590506124de816124ba565b92915050565b5f819050919050565b6124f6816124e4565b8114612500575f80fd5b50565b5f81359050612511816124ed565b92915050565b5f806040838503121561252d5761252c612486565b5b5f61253a858286016124d0565b925050602061254b85828601612503565b9150509250929050565b5f8115159050919050565b61256981612555565b82525050565b5f6020820190506125825f830184612560565b92915050565b612591816124e4565b82525050565b5f6020820190506125aa5f830184612588565b92915050565b5f805f606084860312156125c7576125c6612486565b5b5f6125d4868287016124d0565b93505060206125e5868287016124d0565b92505060406125f686828701612503565b9150509250925092565b5f60ff82169050919050565b61261581612600565b82525050565b5f60208201905061262e5f83018461260c565b92915050565b5f6020828403121561264957612648612486565b5b5f612656848285016124d0565b91505092915050565b612668816124a9565b82525050565b5f6020820190506126815f83018461265f565b92915050565b5f806040838503121561269d5761269c612486565b5b5f6126aa858286016124d0565b92505060206126bb858286016124d0565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126f96020836123e6565b9150612704826126c5565b602082019050919050565b5f6020820190508181035f830152612726816126ed565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127616017836123e6565b915061276c8261272d565b602082019050919050565b5f6020820190508181035f83015261278e81612755565b9050919050565b5f815190506127a3816124ba565b92915050565b5f602082840312156127be576127bd612486565b5b5f6127cb84828501612795565b91505092915050565b5f6040820190506127e75f83018561265f565b6127f4602083018461265f565b9392505050565b5f819050919050565b5f819050919050565b5f61282761282261281d846127fb565b612804565b6124e4565b9050919050565b6128378161280d565b82525050565b5f60c0820190506128505f83018961265f565b61285d6020830188612588565b61286a604083018761282e565b612877606083018661282e565b612884608083018561265f565b61289160a0830184612588565b979650505050505050565b5f815190506128aa816124ed565b92915050565b5f805f606084860312156128c7576128c6612486565b5b5f6128d48682870161289c565b93505060206128e58682870161289c565b92505060406128f68682870161289c565b9150509250925092565b5f6040820190506129135f83018561265f565b6129206020830184612588565b9392505050565b61293081612555565b811461293a575f80fd5b50565b5f8151905061294b81612927565b92915050565b5f6020828403121561296657612965612486565b5b5f6129738482850161293d565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129d66024836123e6565b91506129e18261297c565b604082019050919050565b5f6020820190508181035f830152612a03816129ca565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a646022836123e6565b9150612a6f82612a0a565b604082019050919050565b5f6020820190508181035f830152612a9181612a58565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612af26025836123e6565b9150612afd82612a98565b604082019050919050565b5f6020820190508181035f830152612b1f81612ae6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b806023836123e6565b9150612b8b82612b26565b604082019050919050565b5f6020820190508181035f830152612bad81612b74565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c0e6029836123e6565b9150612c1982612bb4565b604082019050919050565b5f6020820190508181035f830152612c3b81612c02565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f612c9c6024836123e6565b9150612ca782612c42565b604082019050919050565b5f6020820190508181035f830152612cc981612c90565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612d046019836123e6565b9150612d0f82612cd0565b602082019050919050565b5f6020820190508181035f830152612d3181612cf8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d6f826124e4565b9150612d7a836124e4565b9250828201905080821115612d9257612d91612d38565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612dcc601a836123e6565b9150612dd782612d98565b602082019050919050565b5f6020820190508181035f830152612df981612dc0565b9050919050565b5f612e0a826124e4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e3c57612e3b612d38565b5b600182019050919050565b7f53656c6c6572206973206e6f74206275796572000000000000000000000000005f82015250565b5f612e7b6013836123e6565b9150612e8682612e47565b602082019050919050565b5f6020820190508181035f830152612ea881612e6f565b9050919050565b5f612eb9826124e4565b9150612ec4836124e4565b9250828203905081811115612edc57612edb612d38565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f6e816124a9565b82525050565b5f612f7f8383612f65565b60208301905092915050565b5f602082019050919050565b5f612fa182612f3c565b612fab8185612f46565b9350612fb683612f56565b805f5b83811015612fe6578151612fcd8882612f74565b9750612fd883612f8b565b925050600181019050612fb9565b5085935050505092915050565b5f60a0820190506130065f830188612588565b613013602083018761282e565b81810360408301526130258186612f97565b9050613034606083018561265f565b6130416080830184612588565b9695505050505050565b5f81905092915050565b50565b5f6130635f8361304b565b915061306e82613055565b5f82019050919050565b5f61308282613058565b9150819050919050565b7f4661696c656420746f2073656e64204574686572205f74726164696e674149575f8201527f616c6c6574000000000000000000000000000000000000000000000000000000602082015250565b5f6130e66025836123e6565b91506130f18261308c565b604082019050919050565b5f6020820190508181035f830152613113816130da565b9050919050565b7f4661696c656420746f2073656e64204574686572205f7465616d4d756c7469735f8201527f6967000000000000000000000000000000000000000000000000000000000000602082015250565b5f6131746022836123e6565b915061317f8261311a565b604082019050919050565b5f6020820190508181035f8301526131a181613168565b9050919050565b7f4661696c656420746f2073656e64204574686572205f6f7065726174696f6e735f8201527f616e644d61726b6574696e670000000000000000000000000000000000000000602082015250565b5f613202602c836123e6565b915061320d826131a8565b604082019050919050565b5f6020820190508181035f83015261322f816131f6565b9050919050565b7f4661696c656420746f2073656e64204574686572205f6d61696e466f724c69735f8201527f74696e6773416e64436578000000000000000000000000000000000000000000602082015250565b5f613290602b836123e6565b915061329b82613236565b604082019050919050565b5f6020820190508181035f8301526132bd81613284565b9050919050565b5f6132ce826124e4565b91506132d9836124e4565b92508282026132e7816124e4565b915082820484148315176132fe576132fd612d38565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61333c826124e4565b9150613347836124e4565b92508261335757613356613305565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133bc6021836123e6565b91506133c782613362565b604082019050919050565b5f6020820190508181035f8301526133e9816133b0565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613424601b836123e6565b915061342f826133f0565b602082019050919050565b5f6020820190508181035f83015261345181613418565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122057c99a9f61f005a811adf7905ffafc1e224dc500367413163f7bc74bd506da8064736f6c63430008140033035532604242c736c0decbd0a1130ec0101aec37971af61732e7e0a1147485db7f0391969d3b8a2dd1dca845efe8880412f69f1db59c3324210374ed9951b9ee35980360fd2bb9435852aa2f1ab12356860aac96c71e7727537fd4cfc1795fc6c70a1903a00cac2a54a8c00c5e4d12796e685bedc07e3e1da18ec7ae1703d9603a79b05503064d5b4511cd2d839c30f7b9a012d152c76707d4d49e67e0265cd1b87938aa5803bccbd5aa4b529d2a0b47349e893a229bf45a895fe471adf4fd807676d1cc32420337a4c5b4f324ee45311b9c4b1dd770e4055340be344f21fdf64ef92d2efb9c0303ffe1cd18a7788d854273a3eac3b4754f47e1b5450205bb059f5cea2e5585aeeb034283d8cfcc5e132e58d285d4e4d529a85dfb814918866c30216c56bf2bf55f84035052ba5fbcc329fd515a58456c61f919f489a111a448af23c9a3c5a2a76850f903154ca7c41529c60783bb24a7668c6898acb611c515cc70340a8485d5f963f06a0388b4d52c4b42801fba39888ca1fbca4fab402e74a729d73a9b8ceca53ab8491303e2bb4db071bcd03786e533a45c4283deae2a739b7930ef20b3c92d903052274400582003fdabd71cd41a407c0ff6f1b7b420dd685098b8e3db20f1e210db9891afe8a045012053841303a9ce8a075531dff61f365540b5bcfb8495c3435128824a534a9c5a40a8e44f9b0058200330a75b32ea3b9a4b4405d15eb94648fdeca5fc158ded121b6c63f27eb430904404f49b4f03aea5127a1d5598df68732d63af7763c63eed1320750ea21ff9e4f9a534bee27a034c770b45902faf27928d03eac917161d47482ba6d90ca39e0f9f6d25f10cd96403de7600e40ab33dd39c6d131cf032d84d436dfb3415d6e163145a19a1c28e1916039d302aaef68b3627b5ac4c36d9b737d1c60a70921e0f86de95f0b76a1f5839f500582003017cb5e0ab3c29662d9adf7d6fe234e0329b3d2b4eb400d015feeb173034f041010380d44dd31f90d90f3f1ddfe189cab58fffcd842f2beed708a9d705a4f6c95b0c039085409c7bad0f8cc7d3ff6e15e11e1d0893961b9311792950e043458cbf8bc603af20b6d5be185f31d8b4b9636a03d07c141a1d136776585587f829410f1b763c035deac06041e7edd5cba3858306aa7431cb8882c04db152247d8efef90c4b24970219aebf03cd749a4bde73eb56510e5a19513e4b7cb9aad33f165eaab8ad8df2b9d14165f603a80d3b6d7040fd9c5ba98003ef94cb2bd8df382f684b9a3526a89b9f16856b910219ffff0312e34261e290be484da453ad316115115b31e938af4117bc542c0b254040d966037f7b2948fac84c93065fc01ce649608ca565288bd277bf5acaab9a1eb9058e4403af7740d26e39b779e479660df80a49eeddcbfe0888e1b235b05fd53ef4098c39036cda51499bfdad310ad727e2dcb74d085265dde0e1216bc12846ebc181534ddc0309c8453b61f4cc0ed42f1671bd6f9ba857a6fd49af4d195977a790e9d0dad3fc03adc8fed86ddbc31deed7994c0c4914804aacc9346d66100fbb70112540ad20c5037fb7618c71125f5209bb3a5e8ea4c1bcb7aa642761c609f24c29e1ead5cb2ca40308975ad79e4a63368ba1adfd8b5750fc86b167fe4bc0de4cb548c2fda878013f0304be446b7e3b1221e5c6ef306982168a3068867f14ec4da3b9881080db64b47f0395a55dc049f24c5c636d2b2ee5a4de2741b7b8d62bd96ba8c8b6574d8d9521f703824ef535eca6a47d4595079f584dc072d85b753ad7333ebb3f47731348bb666400582003bff4fd2cbee83d7ddd9b5afa129f78eaa49af7f067a24ff38861fe3decff105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff593bb3005820034bb21c5d152abddca8383379af98952ecefa2438ae4e6b51aa8b9e75563070410100582003b1578f275015260e718f9ce31a591eed0e71d8d93c8cf4a43729e9492d71c0410103ad339ae772232f956b8bc31170a8427cd9cb9c2923e4b8a173ad6834e5ae251100581f021c34b6b00e210249933c160567e2a00953a71a36211f1356d9d599c6b2875820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffed533c5200581f02771c25eebe5f498aab8969974f5f8149225b0986acad3e4a33a735b7f76e41010219060003c6528e8fbfb6700f9f0facb4f5bbae7066b49763ffc178f17a9b18187334a82f034f05ace0b4fef767df1180085ee055c135da77e6361d930a669fe9b13637f57a03e267543799120d39359f91a06993a5831e8b87f9d26925e5554059e763b5f64c032fae4549449b7f2c6a149516ea8d3ff796880959ddea2c8584dc5475a0bab6fb035c97ae3c8dbca93c92e7928e2018348bf1e6a13ed30acab16ee81b851ea57a7601410900582003c2e09678e6808f52bbcaab57568a864dce362ed0e941aaf5fa733e0aee9fc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff8b2cc5ff0219dece03f522e6592a1b492678eb679316afe567e4c4f350329559b176a4077a38448d6103d756bf85beb009176fc699120ee813ae987d070ed6d822b757d5f47ef82457f303c1b78c69df7bf291a49d21c6e275366f5027270c73c6206688e93aa38a97867600582003f6a31d1784f5416253a65b0384b109e39b112902035885705c138f9b6aa260410100582003861b7eded3a732f47b8806dd18187074f2d6e202536c50cf00fd330b863b40410100582003e79acb1a6f84f2f09de5078a1b0663c77937559f98dde31e0771c1b481405041010058200300bc74208854d2d1b271aca6d3454f16a5cf10bc4490327cd372a85604b3704401d925e5005820033ecfe620ad775a976621e1e77e5ed296d616282d279553382d5bebf95bc0a04101005820032448358c542b9b2b18ab1424f3e6069a970fac16c1d8411547eb61b12694e0410103c957f95b9e330a2603f4f2cd44451caae3b9edfa1de90a0f1446c420c8ca2f6e030125ff1d6876b9c53874f68a046fd1653966b0f9ce746e9f0696fa7f5598faff030805d9f66e44b4a8c1e293f1da078bdeecee895e5e7a3388d48e9c1c5a95b0f600582003f9eed06902ef669469906c81692c8787844707309d492b87874dd0d1caa9504101032e52d59a9b91b08ac943c8e5ca2f63e74645de7b0d8ed3b5d9fb98286b98a57f00582003c7f7b33e2e166f733b14d51ddea60b9af31caf5e3c1b5bd38f1fa9857dbd00410100581f027d0e2d0b6851b9a8b1374d1bc532bdd64bc4181f706d22ff39a91ea162aa410100581f02f8761a26ad809c5137043ba2b7892e313644cfc12f1192eaee0bb7471ed85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4ed9b3402190408005820032165483b876b7377d98821dae84ddf70586a26e81fb3a4f5a4ff2f9272bdb041010219bdff0219ffff03a4022c881aeebf28ab471231a70bd30dce144ce11af607bdf94a6f0de67dd9d9033721bd3a2dbfee095ffb5002c2917dd0095de11d8f6af507369f52489cab632b039898a54c3bf867cb2a6bc7f9422729232df9490afc0d420aca110cea4a575755035aac9deac7a8446ef6970d9aecc29727c5a95786b38da16489e2deac89b99e46033fef954ffbd4215ea81a6d7e19d277ae3442fbcdd3640e6831d88a03f458ea510395db7a2f120eeb15d3b9bbdc5e4b4b2783c2c5346c9353677d6865c715a75dfb034b6ce546daf8df91541a419a5a853d4460483412880558d2f9bb318b737fc447031a17d313fa867c3d6fae3dfc47fdd63bcbfd3d2e74f3b8010dba8bb5c4ea86d3035a0f09e09cba7af02a9235003d59b5ada671d57bb65604d0aec559eccd364e6b0058200350afd4bf28f0503f685cd6d7bbeae51678759cbe5a4e9b8f828e376e949270410103f32eca1d3d3be0886b351a37ea560176bcbe2dae21771aa333ea10b2d8541090014100031a37e88051190fd5a43af0ff02cd3df699410d7e15ab55905c3393a9b214fdae035802551bc5cef257905885d944d76c789474812fe12a9c1792f0031fe71cec960058200399fa00952b951ab37160b9b7ad7c3bd849fa2129fb58c300dea8692921e78043771f810058200303180764cb3a652be2832e909ece920284dea159cd7985daeef97deb0bb460412c00582003ca2060ea3674880d68ade203514fc8d95ee90ae09a6ce83bdb5a49c36876804101039f422f11fdbc531f2fbf8908cdc09ead18200a5e30fc3fe3e828673d85a963cf03cbbce0ae71eacc0182b0c4779c9fa5396e67ee808fb486abf89201618c58edca00582003e5cb61f40dad7beb89cd05a53bd391d2ad0f63dcc5f44363ee0a01cd9574d04320b40c00582003a32fcfec07c1d3ce98cc8ec6359109f14dd75582d681de4d5f861d87b3fe40450138a3631c03c47a4ba1e48f62180bd0f0f35242c9e88ad63ff269b4a64dc8403401b19dee2b0058200358680ddc0e3ec68c4e03158e3484290972f2302a74800071301b0eb365c4504101030b5cb95d17fe6d19d01ab3d161e43c9aae99756564700617ce2d390e82f56a0f0219f77f0360218d2b1b32ebdbc5abd6b5a7161bae9ff3b8ef069bcaaef868522e503d732603c429bae765c1e15bc0136cb8ab17fbc0e9b564a73289409042bc4a58c9853d3d03e98ab13e2d58d2411fea500f805fe91983d18a0d65cd61756f922403ac128c5e034ac6547300b883e54f01dcecd21088091bde056ac25af5143998a27a4af0e8da039bd1739401186a93e7b0cf9e5e4f6ccd44bbc009f7ebc8754faef150b5e4f1ad03b4ce6c7111805d772c016334b8938b8701b352774eca6274fad79bb93d0ef8310219ffff03cff8c7981d4158c928d9b41b9f72c803f96dbb013c6d1f9e53d235a8558949a9033d1c73832c83e1437058c2da5a3d2378ed2b7468d9ad300ec8b76ed195837f0100582003b35cf96e1d641a488ae8606913bcd8984755aa46aca2d08f45e32cb70803c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff91bb3d7f0355ef1c8eecfd4149f506ab9e6856a9a27b431656e03452fa9bda184c7a8c604e03ae55c8f2421d0b1c6236d69d04904ae8370834a78462313270216b03cd5126d4032427f8bd0c49a2060d82876cd6f6278ab56955ae17b65742fbae28879cfe57da03a7928b0dca8f7beb4ab7eed8e2a1ba93632b98f10f87cbbab7167641ac9702c6014102034ad2e8101f1177a1a06dedc5d55d37dc4d7d8ec9a355adf375b2e337997799f003e46f5988d28dc34be9cf36602b65735d0b09b5b10d7ac4f96b8b46bf6876d87e00582003a0a7c95d94e881a15711c5461d05fbdf063be742a19d296a12e3eca3dbac305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff4c8406320377712b7633dffdfa8496eeb4867247b441932d9c18f48dfb8723f49a424699530058200363064ad5fd1675baa31fcbe273f327b09d682cf2841ed379890c758b4387505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff8c8faf8b00581f02d001937563339e382dddc5540be11212a5ede1a87793ff38d0b86fd34485410100581f02c21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6841050219140002197b7d03ed7f27461eb2f263301d1f924b9906c20b928edcf34d1d9dd128710e9c1d583603f0d66aaf4445b6e519061b7d6cea7e7ca42fc115f9d2ba490d9ea94883a26452031fae2cf2d09d54e71badee130b58b86cadc7cc8c23ca819a81b11e33f712f638030363d89cc1657ac42ff7b9fdd84207b008adaa0ef89ffe7adbb4c9037f82b221038ded18a7b55543c5342ace5964bd20003b551be295d54fd3024693cf15f4b074039d0b5cc2a2d7c9fdfbdb7459e914a450939a2030bd0a3dd61b29465fccb6d8db0313b760202ecbb6538df84c7f8a7695738567a76b98d46e1369dc26e579709599033dd4d903f48793b829943601ca49ba7044b9c6f940042ef809c8ee5b573778ea03c42a3becf3461dce27cf7d48f9fc9590d531bb1d90182359a509ac48c3b25a7c03a75ca1cbe4a728b9446402a4128488b693be16e661593681b79697704929374d03b7380655fad5432ffc805863152e5b6755889498cce42a4009560f0a141c10720386549ef38a3f6d43f1e2b3ad52d4f8b3ec266c090954641ceec8fc0b99d484bd038aae134e5e1a60ba0e0d3e08d8db85f06354a88f69071b7e675acdf817b8f4a3038b12f8363263dde80601dc10c25b07999c6aa7a04db7f39ec3bfb85779bd12740219ffff03fe30f476bc33029d02aceb63498e1483139d873135df0e0bc335c619aecebb0203750ca51d9a320eee08427030e9d55b645283999fc9baac1e7f6869e12a12e0d2035a04a3b1b7e342bb2c6b43f4b97f95c7b6abcf7ffb04d52979d2859046389f8d035065e9a517f264799e730fec877086d8d2e49ff0082199bec8e9918509a5e97903f51f02176d96cd542ceab9a2e081a90715f23af2dc99cb9db9b745aae350693c037863667dcf346afa6cc5446de2ba412a9bc47323e7af0c5f1b9ca71f50357c8503a6f83b756fd0b97a9f445176a6cbc1ad1d10777e3128c0e6a9a05ffbc91bd954036377b03d20ebb3656516482d3a1468cf3fb0558eca15c358fb844808f13dcf570340c1b1e0cdcba59e17e5840477b2e97e5ef9feb6a2ee1bfaa4826a74bd39dbc10397db3777fdb04093d3dbcefcf005bbff579f747809f87e38fd6f3aac123c2003005820034c209d996789316365c59851a67bdbdf203b41281c59d6b4d041170390cde0410100582003ee4a972a5ab62302ba8d125790ed340b3c857501b5472a5bce76b5645ef0e04350e13703b1210487133e924d7f78137c116f8a7fbb2b10a2dca78211c34bb4742949fdb500582003b52827750e52165b0f75bb20263fd6cdf52e6fd5d84b4e68a395fba4bef070410100582003780a1190187f40f9bfd56b470a8ca051b5625052e2837900223682735af720450dffe7823d03f3ff2a63c444d57c8fc7898d193b67282d7f3ad75a6e79eff1b059ca6f9e34b603b11829213a4459dfe2a4741b591ad1a02f8510af77b3361fddb004fda902eaad0058200307d300865e17723376e7ed08e265572a367e7851f34507f5b878785c8df42041010219ffbf03d6f0c1ca07483dd895f04e185ffb36e3c162fb232440262d41f1c8458df36fb7036060d3932c354443780d3fcb33592de88a1e04a80a9627dcbe17d68c37f0b78e03965303e9364fe8ee9e67a759d19c95512a86b5689e38436281ee601088109e68031cd5fef2834b1e193b4cd0fefc45a144aa87ec2dc2b9191a7d992dd81f901e7603440ada2a58749bcd12a15768c1e20b5142ab89005b80b94bbb0799cdfcf68678035a45486ee2268ec024bb505627a78d317ef39a002e0648c3161f96079c456cbc031e8439378bd191764f7504ecfac0d2b8da926808d11a915ef953060673e5a4c303143d7eb556ce0ce53793e6e06b82b4fa24854ca1ad9048102070ce32e9e4326b03f879719ad35bd82fe3eab7b3ba5961a544ca8053f8a34a427901ffe3696cddf30312dc41e2d39128345125ffc1f5126d50757ec4f0a19c4702abc7ff8795f54e140315aba20d22d6b23d72f5924a1fec41b24bad04fc7f8b6963bce2309fbd32ccf2037947eff7e5461a8b5d352e6a77da14c1ffc7cad63ec706ad440e1619527d3c4c0219ffff035e6d5beafd009496d8bd37ccaa1680ed6c703848c43c62bd93a0512497500f4003b55780c8bb0eb3a4e9816ef00cbedc7f636382e318530c6ca54c198b199d379a03977f0ee257ed2a52dbe549926d6ea34ee5fb3d1c6481b6e18560a545301b210203194107584d1f835d62b6cd0e83f1f9c7218a0ad9432957dc2cac97734ac84bb4036021ac9d945dffb2e5a7a62a9cd1cba2cc7ef53feb1f63e35c103fcf71da452f00582003f6058ee2b235bcc72d4ff8bb3a1be2717c0115cf8355373e15ccfba921dbc0410103c20c44e65fdbf425547d527805df330551c1a1780ca9625920736e46a7b292e8031a9ad5a98918ea8882f89e19d470751e2e79a90491074774e7f25c0b8711d69b031d56a6bd81ad2d848ad869295ec8046ec6c891d5b636bb25310d656164b0f661005820038fc503f04051755799ca4bfb47407347cd1bb3172fb478554efb3af5a45290410203c3d5d388fb7f01ab4bd460a494a939fecebd8b43c26d5a36daf422efb5da14d603eee2590756e65b475341054f5ba152dafebc2a111cfa43a7eafa1a4fd80c56d703cfb22b9ed5f4191356705d62c5d9faf95f39f2f7189493d6b829372e5b440359037280a95d1aeede45c54199fdcd5683d9955ef1e9b8d6379b840b76ccf605585503616acfd9191a1fa17b32dfc56a0aa9e99d394f16da361694341b57e5f64eb5d200582003800a172ab472b9c379efeab1ef8e7af9c7c99809b83a63c8c0cac5da31e2c0410100582003f39cb1e8c5be3b0091ea19a93ed3fd7601253743ff22fce5bccb71e11b9de04432a9f880005820035e46f443fcf9f78a58ed740b3f5cd45137cd12190ac2755c63d38196404f5044f01359c000581f026a66936960ab595b32b6da5f86a1ad0004736663426ca048ec472c2e98225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe455a2d700581f024a241523010888063e0b86651b6704194edb4155db7e34c8a55ce06bec8f410100581f0248fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475450635750aa800581f028ed7dfb243b6f4260157b325c9d0474f835ccabdf502008b333f5a87aa114379d35300581f029401e546fce2584363e16efd435061a893f7e0eadf042f27f12def7d6bc0440be20378021903190219ddff03531f009a364724ad8cc7c0293d4e0af44118cd57aeb837a7dc9fc92bc3997e9603f4cda12d30be48be3d3c69aea56e10917afa76c2c0e6fb069dc3381546969276033b6c1bbe0d226342d0bdfcca66db357e6f073b785894d4554e8a1634a837035103e9e57b9f3a5380739a96c22fe1f0397fd569da2ac644a05f71607ab003b0221203c16ea9092399b905acaa143ca5e671c48cb8a5a7db5186ad3f866b774c0042cb03fcb0772d9b975bdf247fda606d5a95ee91f66a559cf815394fc010d6cf641fbf03bfdbdecbc31c639f4a76ed2edb2f68759f435c7afc5cf900cd743b05783735010341cce944f3ada298d01d5db4be024534390885d081b5d69c530d7d1920aa117b03f46666daec5731e40ffb58a378010cb90f5d119c52697856f6d7cbdbcb6b4bc6034224a64c01ecb0d8b8930c831af453cf27ac49c33be5f26743bdfb9d7d3377590219ffff034034d71988d7ab2c96d69600237cef669835b9af46595fc7f4a0fefc50f7777103ad3081695043a1af10832e7574a4ad66b7b97e873f7ca8d4ea28db5938b7441203ad3fb05ac86885d4b7b57da666f6f479458f66e2a58f85b516db8acf2c0bf5770335b5f163d9963409b49c21963ae53db028dd29050ecb06acf6700fd7a61ea5ba03cbf1692799910fb8caf085e1cb849c0d2cf201ea61cfcd202a3305371c745cb60333136753705d0568460e29c5cf637563e95a337de1a618345640a2a6447174bc034b1bbee2736ef701cd3956bff01150fbfc7bc9e7d92489e7cdc2f40bdafe120201410f032622bd08b38544c01bc57b691ae52d7eca1eb33237933246d17ed65fa644640903cd5ea0021421904f3c3cd9cfc915cb8d46bd6ecde605027f248b4ba68c018b1303aafc0e049c40eabcbbadaa35f3787e3e367d9fa85a2c416be8429ee570c17b140322e7df00a9a906e94ac585f77105e75fe23ae188389e64203b5c698972df1a5803b644488295007735603c49d7ffc2069dec1622bbbfb66d1490a401a056c3c8470337fa0c9aa625f850f158ee60ce94894e07f67974c4a72af09d458d053badca4c005820039203ac5925855f2449b96ef1874324eb09549b72ff05fefd27c5c2a50c63405820fffffffffffffffffffffffffffffffffffffffffffffffffffffffef1c1e73300582003a39b04f79c1b80245ac2f7f120ca0b504ff248de8288f897e24f4b0c7b5ed0410103b974501d84fa6ce676a5f152176073efa38be9bf2de87f20b79d8ee50c2c612000581f028ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090410a00581f0212f7b2b5eb6bc3d37863823ff41090127dce19cdb488fcb20a2b4829df655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c000005820034cd18b48b3aacc823578b16fb6e06d85e062033875704c4d8e70d55af5b2e0435631690219a7fd0368fb702df8a49a29bc58e12a09d9bdc4c460dbd42813f934d6d0ea1009b74b5903b00f9520c2f5a8a11ee01bd2105e2a7bb450acf3ceccf0c7f1fc32eae685a1f703417f53ebefbcfe304b6f80514d21ab3a0f95eab652e3751ed931a9721100e72703cd2684844da5301db594d910569edab8741120896059dd595a057d4a02b4980b014105037bd94a16194102daccaa4d63297edcab628c8eb951dd1f5968cae22c4e0a4c0903d76c6d9abc413be99ce4c908e8c5e4d21490d40a7dc3176d449f91787397200d036faaee3949aea2e37d3c93a3bd3922c9954418555d021cc1a3a003679b14aa7e0305e84d856fa5a7063fd7075f8290c4c70aafb005614b1481d695ea1c35894aff00582003dd6d22ac0e3c1b0b7683ca5b6630d79d30a9b247103bc04845523b4ec158e04325d70200582003edaa0c3a462c112b950044a198517684e60b2d71bae8336db5815b13af6380410103f0f503dddef78317941033f363d6cd36d0339e5207d911bf22f5e3a9da15f1300058200368151d8eb266881700d4bca5af2bfe655c17281e9f7f6906436a459e2ef1605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffa272256a00582003d4fd68d4a92576bf71f329ebacfd332408069ff7202dfa43da1e1f86c807c0410102195fe30303bb850eae469fd17e814e749a319638231de254fe0885c8ce81954b18f17e3503cd5ab4eda8e23e0fbf5f4befa22e325b030294132669c871d79d22378705e30c037e8b8aef276b73ca318440a0254e7c8202c96e0af5c7bfa9096905bcebce4222033bde913daa9ca7414ae8695ee5d775ed41099d1b39caa92e1aed333c0dbcdc75031a2d245c989a477470cf34041ad37d9f8b94e84740ba5aa01d99ed769116c87503cc31a1373cbf900ef37da76bc4551f0848901bb688a64f9ccf45d9e516e88f4f0219ffff0363b4a2ef3ff78514ebab1d670eb1197cd662db9fd7cb9712451d84e8f1a61d9903cd5f781c691129f3315ae5d3ab3af33d5111924d0f55b238da9485959b52a08603fd6308eed46303f6ccabf652b8509125728e84e5b22b6811edc26e76ab5a424f03c4287a6f0641b984cd1af97836122d6fdaf8d1ceb03e16f60e11aee854d3bc0603ca8bc8a5cbfb242c833db69b30bd8cfb2ede4d7c4ce4add568e821c8d059c57703d386ac8c5c650febdf4d3ace68e129811c314a63dc31f33d6c38a97dbbe6c38a03b4f1480bdf6c2031a14ae2a5ee095023a30012a1c6b6b10b4c25c00d258a0d1c03437bc0547000d7240cb1ef0c14839bc9d1716d9ed5e7ac28d4dd543b5b74accc039a6171443109865e4e25ce69880112259972348f8a06a818a54b7dd014bc056f005820037801f2af3da5246b313869aa33fb7c5f2f164f32236aa6ffc1f2f0d0871fd05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff25b40dd005820037d004691155df24efc471cdf42c9c05f1121e9e2fb125ef53c02e86042dd6043ed8f9e00582003e7a07e86cc09539160dc556e2ddfdf086f972ccbddb7214786b258482e3780410100582003ad5af516f5da77256f87c86c4a5f238bdad3446042cd1d0f8a2f6cd0bd038044053b829700582003489397a5f239f84d3a236058cd27163b14d3258a56ddab013a99a557cbd410410103c7f974c6fb0ed8913eeb1a2f8691c479234a481f692750018370af192af0b4e603d5fc7399dcee5e50f25719a524525fad1a25b9ec8b6fa5c6f3f3331d4c5fdf8500582003fb5a59cee0a91c5c47366b0a3da2621a779b8e6b446352ba044ed0d6ffad005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003473d0e465b2a09608f47a422088c9b72f3bfe55f43fbe6b0de441898f453105820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff41a098903ce13dba9618a8d84b0c81dc680683a9b7c2bf5b51665b7a63b22fead73465c2200581f0284988330947994a4af29cb8f44c629c61a28e82af235c9be412504253c18440559f5cf00581f02f7d142e51f4ecbca65d6c71471ce2f8ed53cbc7aa7c79a756ea78dde51ae44b96e3317021400582003665cac20042c4a66018da9a1bfe2ee806fba324149ecba5c8b0a8d8cd9b58041010219a77f032d93d7c74ced8b9cae527462510a06da517a374730d4da9bc6b22ebaeff30ce503ac55219a58c0d7594b3cc37349cb3a4678627af7bbf7052d60785f7bb394b5070354f3d4cb99c562076a5c223c4057f069fa402274c5a4a947cb9ad054f48160d6036b6eecb7aebeba3b78c91dac2ee0bcfad853b409c1dc1ecb634876488a5bea0b0348b9b2f8981538d525a642536b6b86bc15d0502c9fd56338a9ed930b1ed8f02203aab221cadb9b1deb5bf4663c48b71fae20fc39eaadc5126a53c7c113fb05b10a0219ffff0309de81f6dfc3483b685bdf2c0cce3a94f1b292ab7d2527d3026170fc4bb79364033d70623dacea5220913df322bf1774ad1b766d5403bc8bde2d501048d81ec9a00317646dd51a1e264096e5f88e4cae96249e632c7ad9cf2ae1ef293774ef0d2909037208ab2a487e669d0189c619bcf70f3fb332f6dfe76b9ce0e3fa8ba64a7aea0503c4020c7b4980fd509869937ad59f9ebf1230cb727ce48526d64a053add8bccef037e1946cd6d3c2cfa6c69b09d2cbc3e1e0826aa8ccd249809b5f734cde634b179038a17c144de97d30e8c5eef381a8f19cf696a71947a145dd0bec4b3110f5ad3ff0365655396d77701ef77985d1d398b72bcc1738e4fb39b5372ad4209b74abbb685030826179f8a6bbf6c0439fa9676fdf3cbb37b3526df76ed97291f03ff4b69defd0327bf64135972bf4859b21b33a57f7ddcc81b8aefbb9e612ccb380e06b3e69f9f036cb9021f132560b60c1e3b65c3d5dd85be4cee413f22d381c2861ae275829cc30342a8f10f5341345a80b93e303c4bdf2156b14972bdcb33900a88d3c19e2cd3a2030b73359e93b50307ec3769cf46014f466a65455ce989df8f9029b3fb3ee649bf036404fff3c591347d05383e5553c52fabaf416e8c13ef119f2fe809d887ebcc7f00581f0208e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802410200581f026e2c36e4fef39b0a55518b3903781d45a42fe8c338481dcedac1c4b7a9674101021902020058200393689f195f704e4fe61bac8174c5f8374dd74bfa0d5bef66d41cb6b02c8f80410103d1953b687967635cf7c86e1a7f1a6ea32593d14763f7b5701aefe88b30f08cc203cb13e38747d12c39035f08139d5aeb4e1b68aced50c0f97029d7a75f704d5ab200582003e4100b2d61ac72cff1e101db46131ceb94e4f87e3ef45cbe4a1a19d2c4a3a0410100582003ebfa372ae3d9313987790eb433013991803fdd44f8690a377010e46ed87d60410103c874adbfc6785bf46c18d2bb23e1a5a32a201a2004562458e08ecf45525a516803982885e868a86e6529ec28bb5c7688c57c569d8127e5e6ac8977b6d02958026f038da43c7cfd644c391306d7154de70c79ecc5c1017c6531402ebc70a27811018e0384d29b0ff125e3a334f88ec112653715059bc1a06b18aeb870f5739c14a8a0a3039ba9c51db2e0f7b7f60379f11aeedb6075cae2d3fcfe75265f0540891da1b7e30219fb97039016b09e8fc44759be4cd34d0ac7bf1572084564e4e17e911c9345540caec547039e810a6c75c6fdd7dc45b2d57b48a1ed82275fb73edc37a0a78107da78a7dd470219ffff0341db34e2e99254949cd5200c29f2eab64eefe51f6bd867b2aa24680ef6a116110314e353c1fe928940570fb7b3c01ec0bbf28bb36d09f9f5d0b5b2950062b906d3037434d1f1b14bb2071b25c9650facdf0931501e82c99acfcbc0881a9cb520791f03ee0cd83f6f2dca0e700b882367a69a223d494f20e7bf7fb38ec5102b9eb00d990392200f341b94dcb74172e2c42ed1679c3d89b8ee444ca1b75f69cf2646fdc69e00582003efa69930a99e4fa073dab5f5df428899c4be32e4aea3271d213ebb40d742f0410103e46be7df606486d8fdbf206c516ae6e21714ae4f5f01d6364866a6c60d796b9903cff8cc4551b14c3e337ddf296ee6230cb952503a7660bded2d7aa0d7a0080b2c00582003998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695057010001f43672e89ee98e18b3398942f946c96ef68c1c8803fd8c3cbf34247053c13674ae6d9deafbf969b9f312a62f46e272d5a90d718a88005820033ea96c4cdf31f1227313a390f7d000dc6bb2ab7c992af8286cee91bc6e14505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff161bffc0005820037be2887989718925eadef9b31ff6f9e1cdb82f2ef5a0ac10e552330ef8a4d0410103e920b80ef0ba473c7629279977c27c713e1a982e370f8fd31d787f6c12465a5403e973c11b65dcafde76ee2b8051d80b18cc1d705ecca8f1e12193e84d0e855ed00377bc845508d8762fe831e27bd7db5f8f9a548a8ba1c0192648bcfceca04e9ec000582003a4b4d745ac1eeeecde6727b89b5c0d63b7dbd84f9a71e640219d7ead9b27e04411730c1803a2702944656cbc4771ee40105606565ffacb9370920a047fd014e91631b557cf035be0e3fd9d4bb9eb304388347fbe0a7d37dc47d542c89c7695555e8aa939e45a0219fe7f03f5078eca2f6914d2c4ab0450774d80a98bd962302f4e9eca1b9cdb6a86012e0f0309a6622bcad0f237a7618fd274745f9f398e1c79b908d04ccf805163c3d3928e0373a3949de40ff423cc5a8a76f868df1180b02c4b48adb4ccca87ce6d79a451e20316324e3f6baa211d02c93d92f1866761e4c7b650525c4c0a7877e1a125fdc36a03dc5316a87b75862d5a55e893b7a065a4ccbec409a28532fa4bf3f1f0dda6cddc03fdff4a347bd7fd13eaf851db8164849e72d32c3ab339ad299ba1dd7c15b841d8038d5e4d9f95621235b107a5aade05f45d19325bf045108556fb4bb7f5866c0d66038cda6a723494a82be553d044a032375de7c232735cf4858582662a5d630b6aba03879bab0d82ca078c269b4900bf0f0c5bdf8185036aa94444c72572b25af6cbb103cdab0a3c169eb77bbb81f371ca43943d612396008048f45b6137beca2233c996039584201b731dd0c15aa8f72a797e7a9df509d1da596a7748a6182d6405fcbe710219ffff035cfe68d8a136cda56618bc0d58bc7c861abdece291e36cda1d8fa1a9d92fa91003576e258f944d1baf57c938112e23e4f6e9312bbd627577c174292901c095f22d034f6c4b08450c9904221b49823d462ef7fd53b0cab9d358f38f1a2e4a86ac7e7403eb5cd523527e219fc8974839f6d7c5c1b78561fa1fe5333e1f2a0f9e92ea52b1039539ff7b6d2e11c0cf5e7ec614046136b3e4ee6ad113f816506d814d27436ab0033f7e2fa2259d6c10c0d1cd0bcd09dca119105201627a2f0c6ddce128c38dad73036a1ddbfc7c57b5d4ca301b0287c9acef3769576eed0da2e3408ff089c81c430c0330d8d6027c5c2326169a4e304e403d3d55ce5e8218577876bd751246b42a79a600582003be55324dd653c8ad18b711509094a47936edac594d43b547f0a91029fb2f6043b99cb30058200390c742a4a19bc6e02ca38c267dd06ae9c2bbd28deefcc9a9f7c3b4cd106320410103c06031680af2a44eac8f66ad99ca235893ed9c0d231effa2a36be33099e8c11c033507f5dfd10b0233b998e8601d25953de58469b72b4a5814df1d22f24101fde900582003fc8e818bfaec1040a3c3d6f3894f195a7780894145177c5893481269d8d700431e8480005820030a92acedda3f02bf5bafb8b9985c257dd2631f2be230eb1925383713c280d0410100582003ee69c42ba9f4e468d87908051b1d3d78ca3967cb33e8da6fad26b47e3240904101036a92064486b942c511936ff3c6ffbf0d9c9c2588d1bba5325877649ae804bad100582003221d2d23d7fcbf36c33c0f4322a442f994ba4df2c66d5cc0291fbd08e43e5044021f0053005820037d29f21564bf07977b83933d102cb4b600ba4fe60d743b93af38891cbec3d0440131dcee005820033e1f1d32c99c76f9355d96afc6f5575a34b782d6482bbb78453968b85495005820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffd26922e0389d1469d2d5a290e2f88afd4d1e9702cf23387774528714abd2b0dc3fdc1ee820219efbf03c0b1fbc9cad038157b0fd10c58b14db18fc7dcdaf1472ba33d4a4d7e00d2ff7103a3d4cf02718cdb01ca0aab8165ed316f05fe2d3bf89405dcc5c28f65d96a0b13033a2b3e05d37023990c77d0738d3c2319cd117b23627aa5e40a0fcbffbb7694b303d6013a0a1f2ee0c23b2295c09baf71c7716766bf91a64810ec9b988c280210e3037bdabe1611d2c07fac19e4195c482c6c61af6623ada26ff19594ff185ef43f4103243bcacacc4ce2b50ae5e698845966950ebd5857bf48d180e574ec1e21d6eae30388cd74b9704146557094cead7dc9b2662985b12f34e8211f3054c1e1db2b162903846a4d4a3213c30b7a2007e59bacbaa694857d3b649e970bc97044f38c02800b03ec92e31789a7869c721d5d72a69d899c088fc3a74cbb121795f84042983500a70219ffff031afd64b651f144f8365d81c41fa3631e0d0dbaa56a1eb3ab2913be89ca0acb56033f11f8ea5ca75f5a2467fa425c55188a2944e938da36a0a2caa9dc32ab17b7da03ad420d5c533343d695efb0acc12674b2635bb4f0e0517c9a12471bc04908a00503fd891886feb083da7a574267b9b14ccce99321a9461b5cebcc64b16e89c3f8fb00581f020d87f69af0c50c8fce2df4ed5dbad3879d3e04adab4d2c7e68e303977b6b43a4e0c300581f02ed5fec23c891819f2d95d9f12798e27e9cbd2ab064940c5b2afc970e44eb4402b85e6900581f02e1c68ef41007f2cddba7afc60a5c28765881ab034eaac3d03f28bc7698134401c9580500581f022d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e547a250d5630b4cf539739df2c5dacb4c659f2488d021920c800582003ea89be407000f8225af065823a99df115b5ab7614a9d969b12f0ea4b07db204101032406447685f323b4bd932b6e313de2699e7af451a1224135316dab2ecfcb61a403741c09402539f72cd6b73af964dc43b661288db842d7d5265544e4f0acdda23d00582003422461ede92c63d95dce4cd472d7291fa13fe19ee4adc196401c027e4e3d8041010396a1cd72b8447083efe37bc92c3f6d06705f8f1e7b606372fac86e974a6778a9005820039fdd719cdf79ca1dd45a6ae68cee428d657f10a68a4e7f1f843e3a2b877d20410100582003f03e4c433d8b9cf923162d9ffeb374ba1dd9a6d97040173737bd73872248e05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffd091eef0219cbaf03a98b3e89a257d4110d51b528516ca258652606da17028ae07f49548eff552a55030a7dd3dfe35d9e33cda9dd9b7ed1074a4d84cd65bdeaa945767da43ae1ec86e200582003927a3c21e30079dffc93405aae3bd869e5b4bf31f177a2b6f4685bd0e7a680440249919200581f02fd0268c220e471122e0b709eced02401bf14179deb17d9993d9634b89619410100581f027013b3d73893c6d666b45b19145599479ca45eb434d08bb7b3da622a06e241010219408000582003ba7c829d482aa8efb6254eac27a6e4423bc8d11af288469f9380cea0a828905820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6c78ff00582003bd628155c3a5f51c00a461c6ed8968f31f059040056bdc3861e0a27919e7105820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffacfed2100582003927820aa3a183984f736e5c3b8b60a56ccb2f1616f406493a752b81827e4d04365bd42031c0ec9951cd1596e1cee3353a652081bc6c081a331c8758bde9df0bdf481c55e005820030b8cec051bd5cf34d6ae8c5af760f450e9c8d39fddf61e30a5c5f8b6b48f904101005820038d048bf00d18c248693405e4ab89756975b28a961de305c214c3857e81f6305820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc62b20000582003103ca07ed37ecdc73786cf8eede2f2b9073461c4762bb043ed71413d132a5041010219c6df03ba59e511768c8ad8e991c4ce0404a83b02b28b77e5098bb7ddf015f35e43117603e1b69b9f69c3f32ee6b0f9e199364a56918baeacf81da7051a5a7512243d7c33031afaa1c3907f7678ec9a1cd2263d9950a84695c90dfaeea4fd0ca71c75acfe4903d7f94e0aed54e2a85cdc0e941814055c5b0f8bdda9ed6c95ac7d1ce6bfcb62b5039198484090d545ce51158183172bcd31b30d1aa951ccb3d801beadd6630cabbe03551877212fdff29859be4920d2348b0341c44fc8df4518580a700fcf51dae6b203cb40f6fd7bbe29270a1d68a1df295c09c4ed19011b6b19c38db0aaa80600e19503792a8bdabff44cf33df008046072fb556985ee8c6fbf3ba66d0524ff05a700d80318c79ae78cdbd3ea39564034445e68b0f3223253ca842936fbaf4660517090e303880e4ebc46b5c2795f444eb907a35894e18057a6f32c6545d41b59a73c13d73f035baf5f2028ed9e87a9c2a1d44f09c7b340ca124d465f5acb2d7681b10d351fe5037f75a9301a953818058eee3c811bf9ec24b6673701ff5118db153706642de3c303ce771e5b61c0c71e477d1e0b4894e34193b9f35d835c8ab51f80a4a06bc3f4550219ffff034cc2257ef9dbc7015e60236a67f7eaf08c70aa2a0ffa49a5ec0f183b3984d12c0398e34e02e7250608c2be069e6360b89561a18d7068ad3aa3e4e8aeaf4475221e03025db0fc90a57c023047687d3a4dc380a4cd28ccb9c03ab4d0e3bd7c00cfd5990336295a7064e5b326968883c14be4afd59f527c31291de81e4955fb05dd8832d5032f44f779bd0d93e4a22e1846798c983860b50d170b562becab2559c06dd5bf75037097c47324c67ad73f2d88b27e8b70b61cd3b08ec629320a0134dedb0711d57803e4067f7ad0fae323f1d33f898e93696733c4cff8a8d79fb93e9472b2011834fb03a9205475e9353a863e954b83473e5464cc16eee7abc7920a18e393ab6bcc5a9a0322622dd0591612d2a374398609721e541f38a93bdd71a0e03548266552b45d41039f07eb16c973807ab2c4f94fa313adcc1f5b41454aff75fad5ed024812287ecb0372e1a561291898ea91381df57bdb2230be5fa83c9e45d2335f9722aba9a8edd50306f6d87816399fa11d32db881c0dcf214583b806ce80463785310ec5f5cf3f3b03add64964b197f2819c46c71227ded4bebcefef5b1c3196032bea700012b91f2a0310b107e2ff9db76f0514a3b984c8a415a8a92cec1c883d565cf0b594c54bf6c90058200392541fd5ccb7c90e7f86202d20a52a16a14ee3ff189ac65b0da6eb528c3f104301f8f500582003266487652a59daa6b05b3ce051f48b6592c2e1e03005c542ef63067d7451e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff9839a49400582003552d8ca35dc92ba61d1c19e33a9134746b1aec8d71667f702c27f2c4d6a200410103067390e569db919e986ac7cc4bb0db064a42f64c8d520f37e76091047cd8d39000582003b1025434c49f095e7ce2183105150f93b8ea5dca58a975640176c90a042890410103a444e16edac942279795e274abd8e668f95cbc44be4937ddc61fad95b39b665400582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0450635750aa8032a48169293907fd5062c72e2b76385446b6458dbc94d13000ca11bc18bb2fcdd00582003be54693be04c821fe26977aa8b89fd7cb8d10d7c11bb1e9c855bc7c05028e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc05727bd038542f230e534d2e13dd7093bb2e3a8e60c5e041c03966bcc55577b09ec769971005820031c55369d2b82935b96b4c19e987acae781871652335cf02a4a335b163b4b104101037a7dacb917da8ddae5e9db27741cfb2ff5bb0ba37a2f0ff9ac274f6942c37e9a00582003d195122bbe20498a7a2a890ba67ee33982956f13e7661c2a6e5c93075be200410100582003e6b5862a540938099d4ebd1f417e2125519c1f6e1ada09516a438bd8d82a10410100582003240336a22b9abfaa63330d662c30c90b62a67666e602df6beef6fcc7a9d90041010219fdff037caba7dd02b71bc5f6ee81a5f66314c632cc074e5fcfe2e929c818706507291a0219ffff035afe01e383c03aa3e0463ce279a2c5b8bb1c278aece0b5fd482406a02a989d5b03ccad698437cb595e5111cd8b4ed9dcb641c5912ed8a3feaf4666820f4883573e03fc3ea9111752c82df3c7ce44fe8a3b9e3401bc4a35b62f57b0eb9e01c9e4b3f803dd50a940a67c68b8d94260a90381846ed78b564d23a07d2c0b17b06e3295d164032999225620255c90fc7b34ce27ca0c93c65716a65417c46a722d910feece0ef500582003de324bcbc396d8f14ce43ac188ac515c9b346248a8b66e4e969a1e2035aee0410100582003a1fe15be1fd498ffd9a16bfde0468e0b6570676b45744a6c51179e47d7a3804101037ac0a642aa4ab5d804a5ec35c99995ae700baefb1cfd226df1e07f5f1eb3b47900582003bf678f768517cbf8661a3e7cdd4a59d8c7c052da3464779df834b97cf24e1041010395da8f80cdcb93d5297ee67b7776c6629848b28770e2f529f1e46d65e5f30b9e03950325280149a529567adc29b8104abf37cebbf331efbd15c2f5f3e430fa60cf03d751394ea0791e82072d2661b8caabfd742c704c00bffe36e4cdde52cef718ca0058200325e3709e34bbf07d401a10b303b998a46f20539ee3eb1265499bba515d64704403c6533d005820038d1b3fcc15ceb3830921a5b5dc884829f9888b61c0dfb707d7daa76d6140e0410100581f02af82b9ec27e04e2b2122756145d1df8faa6029eb7d47c40c957b6f86e5fc4402140fc300581f02028cc6288b0d085ddd5532c796e8728d83bd849f968a6c1a101fa75792315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd7f4686a00581f02f366aebb5a9cf509e8cbfce8c4dc31398750d7188cdf9d1e53be98e812425820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7b6d89700581f024d953d6ce1d08162817b0f88df54631a06cb7aa78dd85d1053accb3dade8412400581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3421adb0218a70219e0fe03c6b9235943a1014703eaedc4ce46d06e242fbbf67989a70f84edb0d7f4ef2fc903a153db5f7942b167b61a971b499e762957b07959f02c30180bb31e69f17156c5037182d200337fb6e54679a45e12bf0810cdc197a90e08997d437d1aa6b14933b0039e903b8806b3f9515a23ed2a207228624d60568a3d4a0948a6723fcbefa1e89b03c51004f75fc219762f93e0e6f62285babf6256938f46c893894162b76ea56419037249a86bc91d0d9842b583f408311eeafe7315f8a93054603ee58242c98beeca03bc09801869b036cfdef982a50a678613eb5f345a19dc2073392e5df0f75d282403372aaba231f05e4ed32189bfef86c254923807dc1f5be9ef65f769c903673c5203fc5ea505ba76aae105b0f31fc5c24b61d43bb2e2afae3dfea4a4126d362b34ec0311fd1d8064198c782b659f0cb48fb34c5ffd3b6516e8956c736051346065f98303a55f409a26d508dee4173cefb45327ddcfacaca47c13697c37938b5f5e304e63036cd376693e0ad0b400fb027ce5d738b3b577e58ffdbee118781350cebe128c110219ffff0219ffff05581d02798480738f3fde2c3665ead45081581aa7a560c180ba717b4fc19af207011934b60399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803a9a41d50d653b4feda15d570ac22cf5690df1a3c2b50c3c2b3823757be2fb1fc05581d02d1349b0c68a78a838c5af76e39293edd6dea218870594f676b29e51107011bffffffffffffffff02190c0005581e03cae86b31b207d240c7f57f27f160a7e52712a6533b9a1fb1d94769aa1004040383304935002b58734d6d59e3079e72a03e5c484ade967944b0ee6773da4907a20389a28d7c39efc10018d82e1f9ce32a69581e7131c95fcd83969363d44738d7dd03ffd92a53d4a99e279128dca44112aeb6b8a11fe4c18e56ab6e35619e6966171b0219e7e003f41e48a3ff1cf390596820580e8bd74e574dc7e7d38e4e555dbd76d609ac998103d8ea6d7f5ec95df428834be2a3aa85383920a6f54f3ce0afe249a9699f0a3924033029fc8b59cd366ab265cd94efa2449b9eb8a387202ef6541400bb123ce0303d0364286cb1cef90558e8ecbb3679fa9de8fa84624a6579b21f579c1eef8247c0cf03dc41835fbe7dbd3c3b739413eaf6f096a8fad6163bf6e12afb8982b56eafd53f0350d051a3b3c4705ae7761cd66ba5127bd118df2aa494a7d3d155821a1926803b031b6e352a84ccb81ecc4b94f86f80650c42a77fcdd36da3c0c02f4a3a7b9480d90301759f773a5dee9d5cb24c4d723190271e98caef6b1184a6d1a05fdc4a4899430219ffff0318a026608cbba43f0da752976f0ca6c7cf0db7c19ec6b695c64c0135b3498d000391a61948988ae3d2e32696a3c4a715eacf3cce1277ccc2fe43253ccee7d026d0036116ea91777dac8d0e16058e405c85740f4a5412c888671ce29edfaf2f9d07f303daed047a64a2c0538b1837b962d86a1ff02c3411f17f7777d822b253d24c5a0f034916b0712a4e21d5381159eb047ffdb917ec058eb94b8de7b326ec4d4c62e18a039c9f8c92caa5f0b533a5d8d9eadf0f0d41743eb407064a1ca719e45c1d8d8b12038b0cd6a22e31d05030547e6407eab49c3da3ee3272ccc4268f7d56fec3e39d6c03d3de9647bac698c0b48ac5c0291737f800ce17c523215ca0382e321e88f9ddf703475c0695a5691079b1d7259290fddb648743ef7a26a317d4c7e87a6b45860c620219ffff03509bbceedf2a57faa61d2d90a6a323c1254c11a5d3124a2262493d849c7cc78d03f73e123cdbaacbbefab62982b1b98c76103df5d72b83845cfe787f04df0095bd030d3d240e32f272572754c9da195512f8e010fc5925c93e3ab85e0cfc2564e75e0326e88bf79b8b825090714afddf94b3eb9b8398f80d76c5a130017dfe87af39de030ca4c4985156d002dce201f03fa93f937d7af9c4951ad503fccd989d7f9ef5e5033f47cecd7d0b0da73af2562d4da6721002059bd8562cce10c094cc0371ff8faa03f45b9fa4a36918098de799589c0715b5371ec3b0f16fddc8a2ff500e002880f2036bea796818d3a665e3cf390c7edb248e0f7c3320d70a89dc7617a85b8721392e035ad35113d0bcdc9c8031decd5cea97311bc12e5e2485918ef3ad9fe7e262327703dae81a6efb71a601458fa8e789db00bc0340c97c14c71f76003fdc1ea2d399ec03a1d581698f89bbf5a48b4156d3e409321188c84a9c28c18c297c46e559ff298c0375c6c40b8625e444aa878ad5cc3cd2a736aa9d6b279b85bb0a75c3909991f80d03740f4b69c2ee285264cd276539b0ddeaa1a29c5038faba6d0a5aad7fbaafcad403457ee0f8d14749c33084317506f31adbd79f0943520974562af14d8b91ec86a803a034da784009d88cfc441bbe6dec7d7551067e8ebf178ad4a10b22c99aa780180219ffff03e46ba06226903329ff57b1895cfda287f36cc1b40880eb3e0b23cae7d9ca9f3503b9077b42ab21a7225aa9ef1722191d35ed6bae4447b13920e1b7a9ee720c1591033aa7bab73d8ebf77993023225f0934924e9edeb53ab56b30689f154014e6ffdd0360a9dc4f74b69b2d4686e704b83dc95b729bece57318dbd309654d22d5a042460219ffff03f4cb1e6b5afa18d67ae9078e8cf66d8a6e7dbefb05fe5a82111b35b430c39b400348131363ef92466bf0d61af13d56a781eb898c36d734356baff98b39d366dedd0393f72939616104f32ebe31d1d955d6ec0163b71f435cc74efcd6d466e281549e0337303b13bfa04e84c7a8901d60aa95db4681e0f859b957866d86461e61a3f587039eead3bf220cad22ac65ca286a1ddd39bd7803109b60a02c950ff12c2eb806d103b1770ba2c94ac6718cfebe3e5b2a4467ff754d64aa58bc29ea0de4189eed8267030eab4d75648690fef4d38561976a72e0fdf6ba83d3bed1ea7aec316df34c060a03a17f37573b97d94c4a2ebb98c8a74f2271178ef6daa4f2878f041f59c2d8392f03462b0ddcd1b899b0f6e27d8ff29185f047f37184e8a0a339ee3b396502fa6360031040d0c310ac8eee528978e54fd56644ad224ed901ecbddb213bfee4238484980344f68dfda9a1ce4429e8cea6a11fcc2b8b04bc9c415e09ae9d9bf46b43c2a5f8035d6ee1123161eb7d0662278f90cf1f552bd4dd56cf9866fdecb382e41044a20e03f6979ab3cb3fc7b316f76403ec2e855e9930a0b396830bd0b3ce22fe638469bd0350e294bf1b7eb44502e488a05c99140ec94c0ec5b38fba7aadc4508737479c5d03b30982e2dcba3bb913d725e31a43c26108b7a2620fc7b8ac68a53e2d38993a14036573c1a814d352899377d14922080d71ba187d691972f18c2e4038c7389aec8c03b89305c673af53583997e071ac0693f99de0b09b7d3e0f1be5d5c48e5f9fdfca0332d04455cc9452dcaa9beee60846e44e495489f7b496963efc856067ed135e1a031b2773e7d135f77924dd78c67da9c27cced934f1054675e54fc6abbaef1ced9203152936b84c5d2126ff0a694fe97d11ad89f0a08a7cca99f0b9abc3a554435e51034cfc27ee93e6f61de94c099230d2eb65d2572ef9e127f2d6a7b4140e4bd96d1803f793123f023edc84192cd1004a0f320a2d84c566fa9ba65a0919157aa5fcc4e1034a1e56677d17454a47c125311835e7a2bf866906c7abe0c949018f81f2726b480379743a87ccf41f2a351a80076ef3ce6ae6177ab41c80b9f328cfdd9a4f31738305581e03d29b417eab31a3f592b85a3ade3ae4681942d104d5a775243c26a8b6d00c014705ae774e48bc1a05581e039c739562f3aeab7298f11806c438d2c5e401745fea3eec01bc1a9486d00c034701d3c9f317ee4605581e035ccf649dfa735626f043f599357e6aa5f08b6c108955523987ea7cdc4004181905581e034aa22558f1ab1b7bddb3cae7ce1b2850190e77e9e28fe5d4ee45c0a1800c0247015f48f9222fba05581e03312fb85744ebd3419109eea9009f1b020b60cf60b21ad6bc0cc324cc400c02443b9aca00033add8932ffbc360822a5bea114fc3d16417d71781cf3383827fc317706a7fda505581e03ff17590ddc0901664e0934325818499e985a94cac3eb838eb69c996ed00c014702c7258a37040005581e0354cca6f1aa561667584b48eeb1841ac28261303d9fd857b9dce9d5b7300c0346e680b3df53c003dcaf053b5167647ac14214f1692be3b92f7a429ed4954299b53f3404d876993c05581e03178bfbfbd2a75ced9185c16aaf694c12e8802b270b76f1503f389094200c0147118440e774190003007dcc1fa994e4871d3a0b18ec1dd09fe0f8489df92897cabbb6f94cfe7fdcbd02197dea03ba9d6b7c2250eac2f8ec5d783d325eed55697abc983e8a8b32b79c5cfe0bc637037666ef15a5c58edbfbb502105bb90ceeb1917793e7ef1c4bcb35d69532c440fe0375a97d684e6f19a3479f57e2296d319c34fc48143fb2fd2cd32dc4c139e9467b03f4d6ba29f1ef1cf25ef224b33e06415fecbf21cfd40a8243e385423f6f3416b903f40e817d35a8968d8fd61c6b377b6f2075fdad260cc5130faf9ece7a9c4819d3037bf5902a26d18adc593ba20c4298938d73077b0facca3d21d59a3df5975a686803d92af53c177663b8dcf0214e5077fd21b14829f071b1f3d14e284d4ab65fa5bf0366d773999d488d8149c81562284d02130a693311d0a38f984d2db3e6145a11ff03e60034c83383b94b20cd2c5fae63cfb204d750e88177481dd909d7b4cabb9dd0038e5745209f9f13fb5fdce5cbc6460af5b8822080da8b93db8ded850a984267260337a07ab4ebd874b6e14cdc81db27f0053896bd9b38b4b4052e64fd5a0594839f0219ffff039d4beba77d8fd87f00f3a95db47a5df494e21a95bb2b23fa72d4d50bb406609803c89c1eab49232c6b96e9aa695b409d0b12321c945d8f84337e0ba67d857c4a8303fbcde0d66b8ad0254e99e99cbc6b879a91f0ab14e98127e585c8eacfe91172420327a8ce7ecaaf35c59e0081b7c1cf61850ce31308c90e7fad14fd910b059da51a03a38a1f9014847641483b0c48aba931cb24bdc3f498c358836bf875f96f670c11032611830366bbb14bf22e38b42d99ae0d03f25fd1b089bab4aa10cc613854c2b4033b386bdc15a469883aeddba029831924ca2c2ecf3ea631ad345e58b47af8b1890369bf160ffdb096e1ac7b9b70c49daad34d7fbc92c408aa4a29dd2aa40c13480103636b20de1c4544659d2bfc8304f00d4a71c9a50a07a9a1e3ef5a1645b3ea5869034dccf6cf6447c9b968c549421e2636003f52f66140061c9a95164b8aaa3f95440366aaaf5ed26d5d9769f2fc36939cc4f43f78eb250d9a63a573d0670c00a175530219ffff0219ffff03af583730821ca4f604d08d78b94f336e6ea1962956e049838f9b577f8200e98d033b3d4fdd938766d3e1d15e6951a4b61f496ff33d0c243d2a9d2cfbc2f69c056403dac88cbbda201f1d00517c7252cffaca0a7f6a3621304072151188b7f6d13cc7030d75068185984f4c08121907229912001dd48066b35e55f20abb27b664760c9a03b9f1e8079d318c4068fde22d5abd13b1a01510804ecbd03ad6ebda6e453650a903361a38e9773c5640db93d92ede00982d987667b9de1e21312ed37f7daa327efa031010c006271a292260f7b061db41656b90f26da95aba8253ea40c7fff70ff35e036f6735b3ccbcfcd7283bb63f68f00b186fc067982ccbcc9cb63ce1b97a7c8ebe03a8e2b27ef776e41c5617d8f6439140c8deac15a13ec22e0a6a2f100f7c02437003a784a4dd85cfb919cd24587e0a584eaf7adb3ec744e73ed6f85984031b6186f203715d6fae5a58973543d9d07b62ed835cd965d6a998aa81ea9b3aa680ccae5303039f8a2de96936c594df1a124f0e90e1e2342cba00b5f7091c804aceba25bffd8d03466a4749f0cb912747c4d7bc403959cbdfd88d9c1c36f3e45936914ad94206a4033e67c08e8d777f0a711031fc2a3eeadc5b44e000166c4b457e14837def9c93940219ffff03fd4938bd831fe9f4613f75ab57a3562763d554fc35e87e74d88d85122fa2ab7f0344d27fea4f92dd9b10c06f097924229ee663c2123b13187c0a5e022a70d76c3c0374e8ae6035b59fec25a18e71ee0d031aaf5cb27ef947e50e8a7df49dea6eef1f03fdaad6dae013b24888936fb5f3d67a3eefcf6d27f56c6c5e9c364e7d4c3809b703e251d313c8f8ee24bbd095e26a45507bc2c643d3f558c1abb68c7becff9937fe03ba9e04f5e3dc1cb3f49d562bd884fa1bf162b777e4c8c874483c0fd6bccb08e1033cd86d9d9f460e4aba820ee6e019cf15d6e9a78d4ce5cb5fbb4968c331d05def03a7ab3b7651177acf19cad941aacc1c0a9e2396fec4447e3b03de619f712eb91003696e4ae8a3a6be850169d9cf3addc0f2940d7c2734d17aba54eaf13836ff3b6303938c47fe30ccc765a3bf76a26412907f7dbe6b936465e161d4a73c1820d96c83035a26bed33fe10ec8cbf6a275de447faf2f0029ea9aff484c126d8a19a9616e040301768a90f299a0fa89d913f7b085d7bb0b0e2e76667ab1128c65c2a192778818031313b6dfe2a6bd4278acac68a479e8eac58249811fb8ca30e785de377c38676a03e6b6f9a03ed4d55285bd8fb0f87f01063fb7767cd5a61219ab333e8c2611ea99036e97c70f3c1458401f83b43d29ddb3ed1850f667653859a9bd7ea4617e06c2ed03a372506a8b1033d77379965b9f2f6dfae2dc1215e5eeb2c69744fd12b8da195b030e218b187367d8dccf006b00ea5638f415088a95178cee8f47e693f034318e1c03c2e8cf826758186635b51cdad0c93ceb358f7cfd6400ef2ed7ed70ec122e64e20377760c761f601bd320b805fd884dae74e9f4b4e04889323aea1b4281e162ce8f0346d4887178c91ddaa2aebb2b9c69d39becc6c707ff18dd5a30c4285f675e783f03861f249c60e3e47999f9b4315955f7585b2c76d6d65b216127198edab2e44f6a03aad0cff3e8fcd6555275e1eb0a222ef141b3fa53ad49fce8d576e367a7a92e3e03fe3b0b1caac433cd76470faf2034c8c50fa59afbd9ab14b40bd085754f55da3703fff65195cfc2b87708fe7b5f4a123f8bb08aa99f534fca958382a843a460e98405581e037048d3a1d529edc229b1b48c67f13271bdfb0bbb14ff7dfdf6d70e10c00c1818473487071316c35c03da84e9a13ca6f4ab26a0eaf6751880f299ef7c8507c193e47f864b0a301cfab105581e03e1d585b6c863be06abbebea8333dafe3a98f8f98d4731721463b39f470040505581e030421d8ac1afd65bbabcc3e3acab01564fabeead3b742378de9dde742b00c074502069c959b05581e03a072f70ee94bb7bf73bbc35b089e1ac268e0d3036c8e1b3f3cc95635a00c0d4801415374d0d428d705581e038b9136f4d253c4a8deb971fed05519f9adc9fd20ca1aef28ccda4fb6a0040105581e03598b503f3ff8d43bcc5f5dfa740fc7801e94f9c7d714cce8dc87d48870040405581e032ef2fca566e805a9888a4c35e1681eeb01e75502aef31fc2f781f39370084804a67605e683ec0005581e03542ca84442fcb94edfee23b8953f4631d0ae3bdea74563a6cc83b299c00c18254679b7ef4d00280219aae503c35284483f01fdfe3a739bd7888b0352502357cf5716660e01dfa3980affba4903e13d89761e50595b8b7ec69e1cfb55365960c9419490266472f8009211a32091035c55e8223588d7aa593d82b4a4bd9f44a4cd37e70f0ccde533461f3a8e96780003f93f60d5e3c55237c27817e77d2d830718fac2ecfe8ca009de9d0266558a7926033f9c5ddc721c42403a1e32c5fde7b02035d15b0306c57a4a24d2b053880aec3503a205657fbbd188b1ce0ab38ff6178239ff51b9cd665843fbb4a0b5f75de7397f033eaeea73f793c286472b0c16e64035021bb1a4089321ff755a19b0cfda73900c0219ffff03eb1a55430a467c8119f03e85cc23e68bc3377fc1f3ecd5b2bc891c8a9a942eca03a2d1e3ecf678504ce653d4da102750451affaeb2d7e76100fcb538400905bf1e036d582726817adfe9061eadf7a0ba1b676dd02506f964fc7df7e9b583768af9e20319805e0342d2838d2d1998d3f9549b798a26e20982587fffac3a954342d260ec03278211dade9782a2941c343d3fea3208840a02ef603c85c2321f30a91709b2ad03717dc6b2516dd15bf1babe66fb79f8254b835f4351708724094d78813b534031030c8d61939dd3b602ac8579f7939b20b43696a33f133889a94396014b268d7686039b5d423e8fa151386f4804c5a35533be8b3b4cc6adb7d1593caf520b336961c60219ffff033e935d97eb01e416ad641e36355ec4aeedde9d93c8fef84fcf59477c962666d803963f1009e08934151b46716a1ea2a0ec7a626fa6738f490515f6c0c3bf17439d038883d0f1206f9a51b75d5a0f26cfe78511b9b463bc3934869d607569406b36d8030a491bc504f44a5d29eec833d451813183eab68538bd9730db820ca5fe64cb1e0376e3e4b4461da5df786aa064be9e2bb6dc6d4458491e20456b366e4ffb9c0d7303c810f88afb3b6919b9d02e762d95556b8638e32cec4c41656c7f6860f2b5d09603ceb2f90225577d182d435e6bef87e5e654aa3cbc32c1fcb8257f56c9a8d850520306fa2984e271af2c9e4b2680a1986a4213634a2b5ac1f347cb1ff972465115290320235587801aa7c4a53c1c11a5e45169990c159d046e37f94c4036ed63a2eb2703a4a6b08a424bbe693a75512bcd11b17e80939b2393339089c47c1bcbbd4a99790219ffff034a8dcb67a061dd9e37f92e012355424c1716d57f304a89b30ed430a4c32d05f9032b75ffa4abf54e4c2d1cfa5dc4836b1880e30de20816d348a7e0a4d54fcf1f7e03da4c6c43ca45eeed4066ffd5aef6d325642274bc980aaf577efc837851ae444b03931f27c222a531eeb7079a7b2df2ee727d2cae5d750c247714b5ca0eb3d219d4035aa3f244f5f68287bf0a09884176e09a9ff8e93f5f172589efa1520a20e14c7d033517e26eeee12ad263acadc7af28089fd5df48389814ccf4ca305e5236516606037f42812c5ba7ab1cc21bfb9baec947231ee89c5bf76432d005f4d913f9b0560c0316c4c52dd2135aea6bf70acb0fd3e6254d2fd9626ba5c8cdc79c42c54fdb95cf038775d9d8ceeb53cd6905dcfb35bec2e3e165261f4d8f0390e1e83b5ec8893c3803e50ba4290382c53e855dead472c3d46c5bae54f74c167755394bbe416dfc839a036096b40614b4b7d99810f87116104c7c5092726d4050a2c94500f852fd1ac1fd034f543e880243ec29de1331057868acf45f4a54a4a0d1c12e3c67b36b56594e1703a856a44960c8bfaab38c6c5bad24f9b26e2ad2903ba502aec7cae69a96f0cf2d032925ea05edbe8771d129808a4a2e256f0b52de4bba77bf73a74942ccee36b8a9036b3fffb69ad2a9032107a60c25fdf29c7d163789d9ee02e483f63cd63bfc51f40363805ca63e6b59db1564aa46fed42586405ab60f4175085e533e09586ca137830398269059f6f374c008670624bd907a6984c6b6b852b8a91b7f9fbefa7995a228038ba25fed5bda81f5f2ad3c577ad80017d8555e91e849387286081f7753ef5ab403be720011ecc5f735e110f66404c2d6b4ca7a64cfd005931abeeb26af9084a07d03eddadb4e371b6731563eadb619466cd33b04069e0396a4a07d73efd831209da8032262e0a9858808562693dbcb197168c3a9162b0e0471abf403444556b368d901037525393b21205319781aadbd14725966c1764175b01a52d80aecc7d11bc0b05b03e910c6ae842030e5ecf70520cb15619b7c4c2b97ebe63f1281bc1fad7f39b1b1031bcddbc024e52dc5ef0f1a363a9ae01d1a24784eac108f540a61c579d52c11590385d36e581e3344243af977b023fe0148a874498211d617b726afbb9f75f43c4c0323e0fd7f729b8469e620fa0be36a44c88de614a707430b3161295c452a17f358038065a87ce336d4d19678b791f3452ea615eed15c7401a9ad25bbd96793058423037e7886b95befdebfd6634c01202f827c4d0da95a369e8180bf1aa204cc36e8c503b6dd0093b29b7b243095af4b4e15172a77820f99eccb4bf474f663f1015bd9350366efd3e5ff0b3a1447c53a020c5aa5ed0b47c74fc4409d8aee6e65783466051e032436f35b77350242ffb81c7e735346fdeb1516e26105cfcd55b4f6e5cd88557f039868e26c178ff33227986175d1d4c0f6487be437cf787a7e57c2472acfce92ad03742685d648639e49f5f44e9b78fa1d8b0bc2087841ccc76f61d0fc248a46b9130385f155414a2f11b819e03a6868687e76a77a96cdba05b8b59ed104ce466d075c039d77e9cd558d6a83614b84c62e6a802e8fda99a6c36abfb25e31e69d2a18b22803353c4e62b5dc77f656236363185869de2ef52671acef1f9b0c2b2e08959a404603cf0e98a6365837651f3f9bf1a05aabfe73008dfd873e5f6651b91b3d1d2ce7f305581e03f2441c16f10367f4373314b931a73e1060d103e164f6d81bf4ccea98400c0147016a5ebab8d187037d01dd7265d17cb692f48274979792179c0240fb192c1329455b27b61d7fdeff05581e03fc762c746c60dd732d3957b94cfc0560bd5db0796da112cb9b5e9398c00401045904e260806040526004361015610018575b6100166103e4565b005b6000803560e01c63c4d66de81461002f575061000e565b346102245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022457808060043561006c81610227565b73939c8d89ebc11fa45e576215e2353673ad0ba18a32148015610207575b80156101ea575b80156101cd575b6100a19061024a565b604051907f5c60da1b00000000000000000000000000000000000000000000000000000000825260208260048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000033ca97c0b4df29103dc8da00a967884f165afa9182156101c0575b8392610190575b506040517fc4d66de8000000000000000000000000000000000000000000000000000000006020820190815273ffffffffffffffffffffffffffffffffffffffff929092166024808301919091528152610171604482610305565b51915af461017d610378565b501561018857604051f35b3d81803e3d90fd5b6101b291925060203d81116101b9575b6101aa8183610305565b810190610353565b9038610116565b503d6101a0565b6101c861036b565b61010f565b5032733b52ad533687ce908ba0485ac177c5fb4297296214610098565b507386d26897267711ea4b173c8c124a0a73612001da3214610091565b5073e80a65eb7a3018deda407e621ef5fb5b416678ca321461008a565b80fd5b73ffffffffffffffffffffffffffffffffffffffff81160361024557565b600080fd5b1561025157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f496e697469616c697a65206d757374206f726967696e6174652066726f6d206160448201527f6e20617070726f766564206465706c6f7965722e0000000000000000000000006064820152fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034657604052565b61034e6102d5565b604052565b90816020910312610245575161036881610227565b90565b506040513d6000823e3d90fd5b3d156103df573d9067ffffffffffffffff82116103d2575b604051916103c660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610305565b82523d6000602084013e565b6103da6102d5565b610390565b606090565b34156103ec57565b6000806040517f5c60da1b00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000033ca97c0b4df29103dc8da00a967884f165afa90811561049f575b8291610481575b50368280378136915af43d6000803e1561047c573d6000f35b3d6000fd5b610499915060203d81116101b9576101aa8183610305565b83610463565b6104a761036b565b61045c56fea264697066735822122022a6f8a80a3410719e8504e9b42af008259446db5cdbc3acc5d20ff3f8f338a464736f6c634300080e00330058210365132811df6b5613a478768e4d5ad03017b82e3cedd0186af1591d76fa86f26041010317a8abb2140fd4e4944cdf602bb42761b470056cfee98dd351a689134f128c5c03d8c3b967eda809ede9fe64dcaec4fccbbcb324fe5119712665fc3de73ea50fa803cd98b98f15369101e25c0e5f79d935027fc35e741ffaa97d349c469e9958c79200582103837248e0d5eb6d1c01c6b42f270fc090737bd9fd429a29cd27edca6cc711e4104101005821030e47b333d7626992d184fcd9890a06b28e0b896e992b7a7c109fba5bed4ccb3041010058210312f0d875933edb45ddd5d99b911d3b874918a4b7daf1f5fae34760f125e29760410100582103854e0c6e49e987dc003583f739738978c4bce3fdb55077e8e1e46a83630cadc04101005821039fed33e3768aef5084d11cf1d80bf3d6d96235c28126db01d4c228d20d2e4290410103d2c231bd5226aaadcd40e82d1feec8b6a0ede16265f6ccac6be7b04de6ad7efa00582103fb1990a622d46b00df2890450fa956cf535bd5c24460b366e22f7061a45e31e04101005821036452f670a1d097007815124c4263188d0e90d7f9839f24eb322fa087464661b04101038d9f89bdedec2cd303e5551cb6239203f6a60d6b2a5dd5770d38e3807949a14902197dfd05581d0208d327b05b26db67ef36212ee6369dc15b01337dc96e997a65112d9d0f0149101ef851016e0864871904e205581d026f0d4b39e33e358d8ce482b5b0c269c1857e65f9393538acae8333a90c014713d2fafdd8c0000219400205581e035f2d4352b4e9ec55db31e8dbbf1a2651f5ad9167b879712207f5b3c690040205581e0381527657d52f2b7c4d0a9c519cc4f50746458968f96fcc767f5a244e20084755ef7c9a8ff69e05581e03b76393f2e56d31edba1e86bab7dfed7d4d296f48ac412acefb0b62d390040205581e038b706e85108bc9eeba22dba3fb0e4695757907ccacc38459ccb3a112700c0247046129f28ea82105581e03246a8570c160d71b1484dde0bac27a9b22ee83fc99fd7aa5ce608a5e100c014703242b81c93dd80219655e03707c957adfed1775cb753817fedeaaebd1a51a5e146aa4b14e6bceacf574b0900373ede44e064b263879fde54f56d39677ae73f9201748b6e6c2f6445a652826d60353e5e70f1c44d3de95fb6f3ab6df1de23780ee789fccc9bf914329496e32d83c0304d3eca5d7f09e78be68b7fd11262bc68ba27dd49eb46c6e95bec9ed005474820326bd00589dfff5f6801d3abdd8a81625c9b698f12ac77e655d493bc173a1a1340219ffff03b89d7c47c4fb542d93a088585ad3ec55e82869451d1545f00c75120e6c4556a90395ed01ac556d70907dddeb9da5dae5710ab73857a97d51f130ff8eadd4ca714f0219ffff037fe246268b253ab40ee665d0d398f9b370150a60218ccdf5b0437d9ca1747d6a0372cb52cf1672012798c87774fe2d82a4df4b7e380dcb743bcdec5575a387a20e03f840236eedc00f99803a7a762f3e7a09862aa835d7f65f4eca96623026d1d8e0037b4100c2db35d819fa6ce183050b252a4e3a816167eeee4240d951ea776356b3031d3d22b1b401e9d97ccfee8ff8e40a4707bdcafa6bc4f34fba140664cce6a248031011a9331da4b7446d79b9fc23ba0bd98498b84bc8198be706b625f5819adc29036f669b52670e65b8b4c32b91a9f192f857bfc4a96ac6a2f74652d230fb434fb70319ae54af93e7d95ea183cf1b5d3d1a2fd6ceb7f44a45611b52d09aaca9d7674a0219ffff03b14add80a7ef3169ece959d621f226ae3c3d64a9dc67d29f1e60c04172b64a0003d18f4a947ba7095ca7caff3bcf904090d0f9f8762df13af5bf83bc94a81c5d9d0321ef24472f89621e986906d085fc10ccf9b15ade70dd5d4cb4726ccc07bd02f90219ffff0344cce7308acc0805a1789e9dc192f876ac3c32c3becc83f3645fdd45475836fe0219ffff037905062f03f6c07a88dce35650f6ccb9e9d723952a8310bd01463e382c510ef903b40b32a9309c5cfd82f16beb5ab668c0f42174eec5d750404276e6978b2bc825038b8ed50cd97863cf17fe4d18e458fa0fc805e4c9cd3be084d137929d5e375eff030ae98e36017d175863bd6cf5e4f8f8f6aed4d1b06bca8e059c1e4c38740d083503ce633ffabb291ffc3245ca2f9b15b3e741074bea63f2fc4fba3eb6dcbafcee0f0365a24d8ad1ecc2084626abbbb44dd6904f48c97448b6b74e4e840bf04638aa6103a3b8c08d4311488b95494cb6bb9f29a17f30debb2b0a054e57720af51a28c799039b2c92bed82fd2ded52327442d5a2cb53786d66df9d8f5cdc4ed7f8b2c9d946703db16ec0e58e165b0d7a5f72bfe95a67aefe80f9d3e5396896fc51c6b7487209303a777dffd1e3978cb699123ad450f8d8f14c15c49509adb14d3a72e1e01f21988036401ee399ebbb281491ebd2db2502497b5aa4c46c6df66ccd6983c96805083a503f7e99d15a86fc73a0cd32c2b60442efa5a2dcd9af3d66358a391ec7770c7355b03ad9b5a7aeb72fd7ad2e72440f9be3ee5fa837dcca5dc8c2566ef0e1873971df1030e1ea8c69dbb6d17713e0b2aebcd9770a01343cc4d7ca85b8923cc01805b084c0345e6917025f6448869e708ef8d7b034363bdc892f17a2ab2ac55b9fe98cff73c0353868a07c9e9c1201139d057fc294c83ae0f1eecc7cc152f923e89045e98ed4b0391b07aaed843e6fd63e6be4445a1fd682ba5e15ff5d60240d7f2b35595e605df035b733a10d9d86be6ba65a306755bf1fd16941f9a73a618b2eff35ff441bc4bed03f137868c22cebd74466bc05e58b3014d29ec1c7736d3dc56295c31286d1e25690309dbc3d25082b0528be4345093e7ae19d4ac5b490d0499271a9e33bc6bffd1f403520c3920121b621e3e27ab1ba4a1ad1e0e763c0054c40b4b16cca876e2804c9a032aed1e4a313572b4f262fdd90671f5a3688f906ab534b26ccae58132970a5a1603ba643df7c664c826cf44317dbe613aec5f8fa98f7404ee27fa7321b11f1e565705581e03f4cad10e6546ca38a90cdcf0e20508bfa065f29b0f31302b1a4d41e4e00c0146098cb8c5280005581e0300c681f0d14899747f4c9cbe4d3819567dd8bad1abab90cfc4845b21a00c0147046e4ae1b1be0005581e035e8dd98276a843860f69358bb84a947a8bc9999fe1317ee3d056d6cf600c0247029c7a85e8f00005581e03cecb871c8f54db15a4ceb9efccb87145fbf19dab594bdfdd27678efae0040205581e0345ad9890d5542538e98513357e37eabbc1c359008fdcb72541a78c97900c064702d79b8aae4200031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03986699d8a094fd45624b9c040646df85f056c8e32eca560ce364b2528007011bffffffffffffffff05581e031d402591d4372277c43e30defb2ebd45c60683f4ffaf6e98c589fb8ab0040605581e0344034d54103b9d810a66fa9c14bd8e91e3fa7bfd6e5d01714f54c90470040205581d02155fb9bb4673e414ead6301fbb70cc325b7f1c5c3d5a9b406fe9f06e0c0b4703cda5e64c059d05581d02e6761e6b13064937d13a0fcb5833af30c96915965cbc7b2e437ae01d0c0946aad1e67d92a005581d02c40458670ea9af82f482725d75274f17aaa170da081ad4905b5eb0e90c1a000cf2e149059bc299220bf9856005581d02e3c3dfaaba9f61f81813cafb33650f04291322ce828c0968dda5b8d30c014701e97e9bd163070219288403cab2c6d6d20078f51e995c0e5a53f0f6e9c61c5d4cb1175d6d49155c974c650a02197b72030ebdbf34fa716bea94cc444dd18bfb00aff8f63a78f6156598e173a3120ab344039e81013b2f73daac0f4e6243249b8941f85c799ffb04d40517e1322129d4ff05035f3615f29507007c8909d43f7d03d5d6ba42e9e66ff0e333a3c60854f0f8dfe703d7bc9b32fbbf4c53d556edb7f0242d31108e6ce7ec115c03caeae58a030351b803da5f366d88389f012ddcf9c6fad4a8a9f6473dfc99e773085555d311cb68558603f35342f2b6e53a274a69fd5967c1270b119a7abf48899522c2f79e0d719352c60331ab5f8a8a4310f685a5391120d4eede50115f7a93082b02f3a8f7e043e3b134032fe6ce0def0adf13f429936d4d7137d6ee502483df5922f67701de64715370400353661171d618c921895cb7c2c9b56c207e64be33d7f9871daa385fa6edb5769d03998b9776b74e62da7a6c81b4652e5eeeddd90a115cd399b385d6835da64f88f403545d0a001917704197a2cd37dc9416d17c8672b68e9f7b953893f5d79b5d5f6603c49f888e52f810b591ced009b465c04e2f8abf4b583e22c51d3187e8259416c203f35997f1893e0f4e249e5c0515f8efd9d5174dadba897eabb20963d2254a991303f1104941dbfc47c82a97c37986ed9c3ddd98cb6c8af99f157a13ab89c81b5f4a0219ffff0384c3d2d0e15f96884767f266c8bd84d8d37339850275ab417136644e2227fcdc03d508c3c9aface1e35ac80b3b70e4deebc1786af10ec47dfb1c61d057232106770350305a2e86f9f305239e4c1288d0731f56062afb392ba3e9a146a3d70af895220365e31a420b3bf838a23ec3aaff93a972fc7fecd27c4cc6ae4c7d2384a3cadd970325bf0d783439f20e75a75cfc2d7148e2dccf1b96c1b8d1757d592de1fedd9e3503002c1093f1038c97a28515287160ce566ef8b6f6305d9686d12f38dcb0fc52b803c9247ca94875d000cf6667828e75d48f5aebe017d00ea3dc54199d4983823b600219ffff039510d8b6a8d216b0efe4bf675d53fd9651810cdbd9d435a366aee6826504598d0379c34a7b6c68995f4017a990694821178f3c98e3908a5d519189d72487a21085034764b2e7394959e586505122416b4c93920ae2a3d4ca720d85350f688276039903c75326f8e6918df313cefb3e3177c8a87e5a3c1943fe3f32049ded63905754090219ffff032977e96f97af217a256f264f21a1f44384a4be68dade8225ae63da81042cb8d603b31d0aa84d84faa8e129ac37aefa853c812c6ce88c5fd8a07027e525ab85198403aa067787f81fe204911ad4dc86667f4193057a0495f11f23781b574549c33d9d03c5cf7d5bd7fb4d9ec92f01ca0f71f4604b7e4b7f833762fca4fd30b0431e14660377ad98e4895242c237cde321222e16d7d7cc89ed48ee492ccebd56fd4ebc61560387230186a5122917410e0896a395b16793dda4fa74977ec53b03a9caa6baf3f50344fa65d70748dc02d0d438578a7a3fbe402dce1b6f85b1fe12dd97bc85c86df703657006a9046c99e2d0e5f7cb9cc3983ad2b56f1e15a42511f8dfd3856232d940037082d16729a71455f9302e8ac73c031198835d4e25c79dcfbe2614a094ecdbd903174c0b29687612efab7ac5a94355bdae2126628d2cc5f90f9ecea9af0e8a111703fde5f5193df31cf29720cd78a769acb101a97f3ac990db7d4bcd03a93176a9bf0343a996761198bcfb088debe99b53909f39c91dadefa3cf030213e3172c4dfa8f03f50c3d47e69dc91a3272de0d9055bfbd358c406c6009506113ce31f81d8690450343919d9243719a2dd0e5b103461d01097da3f00b833953e5e9c4438b5c5fc6f0032ba0e33f17e7ae9cc02b989f8ea05f47a45fbfd51cbcce79e341666be5f6509f037b874da051e99827490989480ec10ab51b6444450b0490b6cccfa4bfb10f647d03a394b774d0294502fc5781f24c11a5beb3adb77251b57968fef50fafa5d7fc9d0395d4fbbedbec09d2c9c2df5b92216554b3633140ea0d929e737b4c736f03aa3703bbfaa80f2a91a6332da99c814af2763fffe76a4ccdbcc01824cc3486c08b393a03fae65f3f832bbb6b065b2e3cbdbd6ff2b7ca3fd8a41ba81373d555ca0e53731703b5b11a3166d2beb0326b1cad94af2fd00ff3b10b67731f49064325667d85a68403a691eeb15268788e4a9f3a9fda6a3bd9f066c087e89016bd9699fe99a5f56c6703175a2700ba6aa7fcbb4301e0cdf5529f4bccab2bc95f524e475930c43c4af46d03b8ac39f1346f9103799927bcd35ac2cc51cab1b5783ecbc54e6cac528ae0397503dd9a979932162daa6f5c1c915b1477144a2120fcb427fdae0b4ba1d3ae08ec3d05581e0338bf0cf90be3f66002a88311c308c2d265c929eb96db2724e9ef16b6000c182c482cd5ed0bae1c4b8005581e038aeccd13c1cf1abf1df0134c5b3be88a3fb98a5728fb45a0011ee20090040203b02f2a77dfc8c338a0e0ffa091cb528052db8f47b182485a028d661a0fe14ff405581d027d2c0229f7b691c642714960db91eacad1c4eb7544cde21829bed2970c0147a85063cfa6fbf4045910dd608060405234801561001057600080fd5b50600436106101375760003560e01c806339509351116100b8578063a217fddf1161007c578063a217fddf14610261578063a457c2d714610269578063a9059cbb1461027c578063d53913931461028f578063d547741f14610297578063dd62ed3e146102aa57610137565b8063395093511461020d57806340c10f191461022057806370a082311461023357806391d148541461024657806395d89b411461025957610137565b8063248a9ca3116100ff578063248a9ca3146101b55780632f2ff15d146101c8578063313ce567146101dd578063355274ea146101f257806336568abe146101fa57610137565b806301ffc9a71461013c57806306fdde0314610165578063095ea7b31461017a57806318160ddd1461018d57806323b872dd146101a2575b600080fd5b61014f61014a366004610c4d565b6102bd565b60405161015c9190610c75565b60405180910390f35b61016d6102ea565b60405161015c9190610c89565b61014f610188366004610bea565b61037c565b610195610399565b60405161015c9190610c80565b61014f6101b0366004610baf565b61039f565b6101956101c3366004610c13565b61043f565b6101db6101d6366004610c2b565b610454565b005b6101e5610492565b60405161015c9190611019565b610195610497565b6101db610208366004610c2b565b6104bb565b61014f61021b366004610bea565b6104fd565b6101db61022e366004610bea565b61054c565b610195610241366004610b5c565b6105d8565b61014f610254366004610c2b565b6105f3565b61016d61061e565b61019561062d565b61014f610277366004610bea565b610632565b61014f61028a366004610bea565b6106ad565b6101956106c1565b6101db6102a5366004610c2b565b6106e5565b6101956102b8366004610b7d565b61070d565b60006001600160e01b03198216637965db0b60e01b14806102e257506102e282610738565b90505b919050565b6060600380546102f990611056565b80601f016020809104026020016040519081016040528092919081815260200182805461032590611056565b80156103725780601f1061034757610100808354040283529160200191610372565b820191906000526020600020905b81548152906001019060200180831161035557829003601f168201915b5050505050905090565b6000610390610389610751565b8484610755565b50600192915050565b60025490565b60006103ac848484610809565b6001600160a01b0384166000908152600160205260408120816103cd610751565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104195760405162461bcd60e51b815260040161041090610e46565b60405180910390fd5b61043485610425610751565b61042f868561103f565b610755565b506001949350505050565b60009081526005602052604090206001015490565b6104686104608361043f565b610254610751565b6104845760405162461bcd60e51b815260040161041090610d1f565b61048e8282610931565b5050565b601290565b7f000000000000000000000000000000000000000006765c793fa10079d000000090565b6104c3610751565b6001600160a01b0316816001600160a01b0316146104f35760405162461bcd60e51b815260040161041090610f93565b61048e82826109b8565b600061039061050a610751565b848460016000610518610751565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461042f9190611027565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336040518060400160405280601681526020017521b0b63632b91034b9903737ba10309036b4b73a32b960511b8152506105a783836105f3565b81906105c65760405162461bcd60e51b81526004016104109190610c89565b506105d18585610a3d565b5050505050565b6001600160a01b031660009081526020819052604090205490565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600480546102f990611056565b600081565b60008060016000610641610751565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561068d5760405162461bcd60e51b815260040161041090610f4e565b6106a3610698610751565b8561042f868561103f565b5060019392505050565b60006103906106ba610751565b8484610809565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6106f16104608361043f565b6104f35760405162461bcd60e51b815260040161041090610df6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160e01b031981166301ffc9a760e01b14919050565b3390565b6001600160a01b03831661077b5760405162461bcd60e51b815260040161041090610f0a565b6001600160a01b0382166107a15760405162461bcd60e51b815260040161041090610d6e565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107fc908590610c80565b60405180910390a3505050565b6001600160a01b03831661082f5760405162461bcd60e51b815260040161041090610e8e565b6001600160a01b0382166108555760405162461bcd60e51b815260040161041090610cdc565b610860838383610a80565b6001600160a01b038316600090815260208190526040902054818110156108995760405162461bcd60e51b815260040161041090610db0565b6108a3828261103f565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906108d9908490611027565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109239190610c80565b60405180910390a350505050565b61093b82826105f3565b61048e5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610974610751565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6109c282826105f3565b1561048e5760008281526005602090815260408083206001600160a01b03851684529091529020805460ff191690556109f9610751565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b610a45610497565b81610a4e610399565b610a589190611027565b1115610a765760405162461bcd60e51b815260040161041090610ed3565b61048e8282610a85565b505050565b6001600160a01b038216610aab5760405162461bcd60e51b815260040161041090610fe2565b610ab760008383610a80565b8060026000828254610ac99190611027565b90915550506001600160a01b03821660009081526020819052604081208054839290610af6908490611027565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b39908590610c80565b60405180910390a35050565b80356001600160a01b03811681146102e557600080fd5b600060208284031215610b6d578081fd5b610b7682610b45565b9392505050565b60008060408385031215610b8f578081fd5b610b9883610b45565b9150610ba660208401610b45565b90509250929050565b600080600060608486031215610bc3578081fd5b610bcc84610b45565b9250610bda60208501610b45565b9150604084013590509250925092565b60008060408385031215610bfc578182fd5b610c0583610b45565b946020939093013593505050565b600060208284031215610c24578081fd5b5035919050565b60008060408385031215610c3d578182fd5b82359150610ba660208401610b45565b600060208284031215610c5e578081fd5b81356001600160e01b031981168114610b76578182fd5b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015610cb557858101830151858201604001528201610c99565b81811115610cc65783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201526e0818591b5a5b881d1bc819dc985b9d608a1b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201526f2061646d696e20746f207265766f6b6560801b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526019908201527f45524332304361707065643a2063617020657863656564656400000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201526e103937b632b9903337b91039b2b63360891b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60ff91909116815260200190565b6000821982111561103a5761103a611091565b500190565b60008282101561105157611051611091565b500390565b60028104600182168061106a57607f821691505b6020821081141561108b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220d1aee677c8c40e22964fd609de63af649f5deda742792e1944c8e22d6b21975164736f6c63430008000033030b526f04722d0592b4c58e85f4e7ad26b6def2a77b321ec49e7665c260413a8a034244c3a1c21837d914afdcab0f74118de6e5845957295417e951ac95ff03ff7e03d66ef589d0948bd9e36c783f1168f1a59e984c176a8232947a5afb2a81ca540a031f2682957d9d638511e2b12944adcc2b46213e4e3eec80cac362dd5b697bc0100350131045c7a5cfe5f1f99ff00798df8ee0c2d8deeab32458eeaa9e00614f8e4f035c2e96fc89074ad65d3df800cfa166db15b3b078b11813848d4382beb06cf822038872f2b40892dc7a932499e682c8e1fec1d105074febe55c5773ec9153f65ff8034bb6c0604291d1067c5ccfe9e62ea80d183756ab3d8398f37441c18c8dd397f2037e6cf9d0cbce78474ea6c81759596b87df1eb0d187a6c864890050da279a0d0e03ade0193bf7ca8eff7c94fa101fa55fbaa1a2c707eea64f0fb5e9c2d29587c55d03c7e51ebad49cc8b1e7d168aa2c07e7c63425f633fe273403268ecd2c8e62cc4e03ea557959ef84b317f1a538b705c599a42ad2e494324279ad9d5575502cdcafa50348387eb2b8d782f0bf06e087a9f71a3154d0f1f8ae3844e4a25f8f4a56c644df03bea5bfcbde0134857e2a8ac6da72de9d76b5518e5c721fa2c4ee373831b469c7033bba205fd242ee77ede4fea44f7d79b2870e5c89aa328bca822d0489214f9455032ee9a05fef1181f50b86b7e47d57ac81f5e45e9c3d2822efc579eaa64090d5f4035e86ead669ac54f424ceb043b954b86d022a97dfa3e6870a98c9bccd7491f3b100581f02f199d6f9c38c53fca05f26762b9160b8ae8b568614f390981cc6fae07f6548fde663bf698d7400039895fbc7f28428d1e21ed597aa4fd4b10ed23a605b2a8c7f577ca4a573b88f8900581f035863c564d9dabeec1273a780e6017ff0d8712845fa2715d697ca15fb6a7049f005daa67850b8826300581f036509a8e96c79f3cd1fdb8d18e46955a319a1ddaee81d56c838c92dc20b905820ffffffffffffffffffffffffffffffffffffffffffffffcb1cb48f7f7ded7fff00581f03efb5c466e9b080e8cf517c47ef6deefa9285ea3690ccb988a08ca3f35540493c184cd2670a2df6e502190424039b3d288cd68397b62228fb2fca1e60d4c1079592472c7aff1a7df78455f794b5033e5a5eac14d4082edc08dc91683b08a0aaa0283f76ddfca6113c93165f2d19b4034840e7b226fa2625564cc06386e3aa4a360686fa93ceb8f1c5a8ffac4fbce98d03f85ad2e9c7eddf3b5ec6712b3f9908bb62e5283d461d28d6c47ecccd0c3bce860350b834513827b17563ba35d721b902072f7f10586bc262ed182ace6b79ec8f51037b98079a39bdcea57e3c2a102e89a427d2e8d897cb0ec7b17a01e230e15793030345ea4a1c7383a6c6cfd306ae5ac5ae1e2bc514c67c15476934b9c922264b9001039aae4e3d2a3044f386565a4a280d2f2902f87e24d0d3fefb11187e40894a45060219ffba03abe41ea80f99072cbe6b330213e50a589f9d83d3647d2dec01b55b4f7d4e1122031be1bf636305bebbd54105ec330d2ec88ff726539fc9d809ba288d04796b307b0309c71d01cf5da220fabb3e792c1cd39f5d45575513f922ffbfe0aabffdb4041803e2cceb51bf605359611afb118262785009330c3bae168c1976e1529bcb859d3a0219ffff03639b2ff6d42ceef40088f97b4bee6a5a08f2462b0653073ba6e5b676929fddee03ec1b33c97f656cf07bcb948dd8909ecadc52d24d22026162313f4d792871b1c003656a4b87f5c56c3e5f1ceb84a55d42c6e2dbfaba0b7860423955bc2a7ae22b980358c0cb1395ec5dfb79af2c97833befb505475c0f7ba4d733c0f261a7372558b10399151b82b1a05279730cb31fd096f406e48fc4ec35a600fef873ee16f4e7345803f3c9613319935d5177968617ebac439addaba143875b1f81d33602d3bdb0e9e003162e56dd2e3c97b90d507350d2483e68d2256e9096a3b683edd76084b93199fe03ce1d4d8c61fe720c5f0173d6356a34e8e990dbdc26406e40bb925e7494939d1e03afc77b310c531e7b7f903acfcdd62d11ba180ccb1d7c7a8dc427f51eca65b7cf036359d9093cb24f30403d715b084d7731cda47974cd71478c61983a23949676dd037a40021f1a67831a666eb6a830face88ad3e6281d0ae83dec88a39f05920fcc703cdb827142f3d245261b9cb2a15feea259cf458026d9016b2a013437b4a0b9b410322a5d03d7783fa57967fb1002f9557cdbea3a8860db0ded0c3b4997b4da8558700581f02b298e083628d90b18edf83585dfa6c13b5e7224e58a957284b8fe3963c47490572b355eb94826800030f74a6919e987efdbe0a7c96b71a71197cb3e7e50098fe5df96bd54ba81cda5500581f02720022e501e9d371995fef7112a20c679d23c17f64866386d2db8d9d19f749199b6dc217ef14e55103d084c11e5de1ee13fc7ca1e63efbac31e12e73aedba9526dc579082169f8af6e00581f028e9c3b38a34c67fe4ca99f6c678376ecbc783b71a99e8998ff02570fe9b15820fffffffffffffffffffffffffffffffffffffffffffffe4e51b291d10b000ff7030f4a6f2b7d1394066a96d36c3e8d62ebcef3d7ad2d75358d9f1012cffa1865cc00581f02a5105795d537edf296105da4f34ff60d319878cb30eb56792d9d4564442c5820ffffffffffffffffffffffffffffffffffffffffffffffb0c26bd593d442ffff0318e88ae2df895a100cce568954eb649238a25734ef0ae53a40d3b7aed5a7311800581f026a1d02291a3b0511756051518a58821c6a175ac2e725f4daff83aa024da55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b515e4d0fa3cf82b61f03e2a14d9bce4b1dcaee8f8bf85286d5c12b74dd49e620381150780ca2908d58b914405b7bbcf58f11845fb487c37cfa91984b4157a30f103173a9592b89b81b086546a601705105f36c14a2c41ed3ae12a9719fdcf956f070219dffe031733a346306c11b512eca3ab1313302eb9ef35ab62b00d9b623a8b23eab24b100311a92ebf558ff0e15ed4cb01f8e115930a86e20774fb32983523636771e7913c03f231a90d3fb8c27cd95c60b19942006be21c4f8c15c5c4eb8da4d65a94f8d68003ebc89e810531b79d5100a9739678e33a68a2f92457bb9003f2d58449b365c7500340484fad7056e677ce0136fdf4826e65733836ded945b0edcb22dd139dcd4db1034f2049a5163a05d9e61e17b37c4fb8cc04b19b19f254e11227c62238d85e8c5a03cf03f7ac6c7065a7330f07500849da89ed94f5895b2958f9ac1336e03a95d54b0219ffff03e1b7ee099673cfe7cf9d61b4032eb873f343f25d8c596d99096c97a70509bafa033e085f7e915613d6a56482ce7e24cc15129a5f9b3e4da7bcf97c3e1d56809d37034cff3f93f04d2783597640ff1b441a3b99aacea439346003a705230a1b09eb4e03f08d010bfbbacac9cb7b47cbbd48797e0b5b6893e665764fd21edb08a7d9016903e4455201735e15f7e8aeb28067e98bcddda040806b69249bc754ed79a7b5a36d0358c147a78e9a3d89ffe80cfe922a2709477ffd9d5efa92f7ba9ffe36dae67452036cad2396b84b2ff2671d6fafcbcbdaa63b20d07d42db058b8d5f97112ecbe44a0219ffff030ce3e2d53a96a1b210a55405187600e9d6de17a2366ea7733d0e32dbcdacf1bc03261d2e1aa85a7e8e78394b7c02db9d47bb58d7b8723aba72bcf49182b6cf4da5038e1171ef893b35fe3bc51020a28b0884c59d36a641e4c9910cdc926ddd65b8fd03c016b6923f0c4da0a3d7dfb37234d2623ff5e36aa4633f7b7e31cf0abddcca9403cc259798eddb6225bfdd16074af6beec438de48141893a2580a923beb5e8b3650367b7e1f4bc6783b6374157ac8691f9e385e031401148fa425d77f293cf5f2d8b0342d792f91d30980b0cef9e5e9472adcb53d0cc35d283a56896238489bd578746031d9c6dc92563b0d42700a73078a1269a7addf527b883112bdd7b7076298dfcd80389fe2e5a6781f9b1e36b489913abab8fd0e7a8d1e15aa058f9bab70bb3207a2d035dc3a6bc3333ba399f71d6d72d42f09a2fed420f0db071e2ce7ab4ca7a4407e103fa396efd056c088c4d24b7d11af87c097446f1502c063e41e8bbd3ebe08b461c030a4dc7dbd54fd81ef45af447f8336facf40059392fc145e0154dfafcc593906a03649695f9856b5726300eeb019c0f4883ea64f58fcca80fe03f300251f702214b034a616fb6ee2dd1b040aece1bfe127b0975c2d2200ce17dfcfa4f66c970c196f3033bd06e96c57de8dc6a9e7cd60dc15fbaf7176362c7538eca3cbf708fe3a9d7e70219ffff05581d02a5b8fec96905cda88da042118ea97c0a96992f05453ee17831a3355907011910dd021902080312caab88c5f331540b2683c8071b66a8add3563a57a1c606bc6b39ac872ca0b205581e03b94a220b5d16be8adf52bef37a55dde4bf81998b625036f5a6085366b00c0446a5c2c823600005581e03d1aa00c1293893194cfdca181606cf6d456fdc5dcf996ebf27f46a17a00c0247108d5b248f041805581e03d0085ee7c380a6d786ad129e6342d933f55617400d760ae59fba6bedb00c0a47e6ad8dfd975c0005581e034b29a1ba2981a95669aa4f134e089b8ab8c1925d9e9fc8181be9f5b9f00c0146842e0db52b7805581e032e7e9e684d464fe4961c87c6913c9b5db90f4771896a45c52db950aa200c01470114c7057f7fff05581e0331836ad101ffdc42cc52028ff94a9237381f8685fff6751022cd7d5d400c0147628517c59d6d580219be2f039c777e0e515f996eb96a5d86d41bbe8ebe5b36b7cbf5195c142a7946901bfa64034dcd4b40564af03bee5f3120ab6925962f49d43519bfb0f5226ab73cc644a8ce035cce08bd1c852e2de75c41d4c602176135c581e0b0c6b86c08843d50e4cdec5903e7ede3d51cfd915920ad4f8b8b7c091579c8d752f55d9e91518858a3d7387798034123269d170444636b05786e26582a120351a3c94c7e661b40927f5f3f8f0bff03ee317ef0a5e8dea2ac3bdc90a9edb80cbf1f29df7bd78c9b3bb508720e64209803395c50f8431aca4d80197ff7661f9d34fcf124885180bc8e2362c2ddbbd4ebff03679d6572b98ee1a6b937f52439e552ac9d59d367ab013784482baadc74016ca5039489ff00028b2f4964229b78b67ed8a6810a3c0dae65e6475fd4428f75a0841b035491ac8b609a42e64ea973aabe640113b48bdeaaf2a2f97cd5dd5c7036cab412038d5b9e7a0912f761228acef7b20bc55d87b69cfa7be5bc23ed93ce0544dcee9e035ef490e71e3648176b2f343dba2dbb018dc55f61510deab1919abb4f9a5bd5b803f712078ba76d1bdd52b954d6e0f2d918d637873949c060160e868667846b17cc037312a67084c251bcd9f3d4f444782dd7d250334c887cd8c2674ee00ac30a95020219ffff03a3824f8e934d60ac8383a0a46059380da2d996fc300454bd2409aacc2167f6b8032a3c6488dd48f53c41974170ae4a36a894edba48f562c847cfff6828be23c6d803396f03422924cb3b771cfd59aae7dab5cd395d9a1dce17238f2a1fc8f31ab0a003f9074d2c40f729b915ecf7ca12f76b773c6f92690ec7f59884265cd441bf079a03030722c63f67c42758f4b5363ae40114627bbeb3c1ab963b8297b6c70d4824e6037320bf3d94562c17b90ca088d16bcfad7c5660b5b591f1a4a1b18fa5172d0d890219ffff03f834705caa68b6feacdff00ebb9c0d62ef6daaf30b620c410527650c6a4f742a036eac78017bd5ec22f8c71a8d9842f0c5ddea392c7d385c461c077371c3277a380390e9509282667b3485a024fb6af6baeae35cfa65efdc8e807675befed64cb3ec036fb60d8cfd018a90bf70cce8341c0d5d0e7491c508d6e67efde82f0230b70b02033aee2e54892bf2b599ab3a0ba834dca57c741e8cc3e4afc5049b636313388251030ff1037dc8e0cebea6e4c044cb68aaf901a6dbe309147ba6745b9855d4f89177038d1b595a4f10196ec2fa98dee2b99d948cb047434ba998070c94d2f5837fda7f03a226e791506598db8d4d8fbe1f268253ce3a227d9bbf8de409538fcd558226f70219ffff03da3c9b22aa15aa1e088a5bd541fd1307811e31733459a03f7d1d165efee6cf3f03cc0e51949e02eb77d8ad897a16d6e479a9eb5ff2132fa4e9760abae3b3e35f6a031fbb347524d41fe7b91a942a8c598078f5f71ffdc9694aa59a2f6b5e21e730d9036b661e2ff45f275cc219355f504c9cd53b368ff100dc580a5980df5eaa80837c03455e6aedb421fd4f7b05a3cb588a7393fda70c1b2fe940c0eacbc4ff7b9847070383ba4ac63d24badcf207fcec8de2653188d9e255aa7289ff4d849affac2f437303c483cdbe8b07b959f4a5e89ca81253c2bb715491aaf3a21e75e398631fd747b40320788c5183fe1ccdd33111c92e28b6b864afcc96f9fa93d5522546788f9d3d9d03942f8825b197eab7df2a8f997d09f032eebec2414057ec6d858a8ed4d3a9bdad03709485591bf1c39338d98b7aa9a4392f3d2268cf53de5ac81eff58002b25c9a0032bc4b97e48c1196baf202e8097450ffcd4c06fd4b4c67a4604f5d9d5e1eac5ee0323a959c02d59fa5d20747c3ad9d1f73e46f190b30921dc339235c0caf5aa323d0321840b80660846f9bae4a8704c0a77a8d3014255689fca1f2c4aa2b7cad154bb031dd717cda42b5f6e9abec697c5e14347d5f7186ed93b2ebcb15ae4ebf4e5f7fb035ee55b7379e8f11ee544925e484f70a4df9f3bfa6c3e07ab8af67f2258b7ee3f03f3438103744b3b0b3518239cd67e8af2a730387028f93c947505f614cfd6f1ac0320158be1d596b4388e6ac1129c7e5edb1e463c942bf2dfada4df095955b3d96c031c54ef511740968d82fe1e16d74ad78810539cec75945766081834723eac0c2d034e4d6386db9305e22d1fd6e61715d96f18c36ee5543b93aad6f953938d2699a103e133e4122d206c65d6abdda4e97abcaf405e2090ada3e8b39677105d21854176035754b02f5d7f75748516fc66668812df253ebff04a2bf0c9ac4118393508ffb1038b0107421023d41c29e5dd9078bafd43c20a13cc91e1d23887fe3b4318956d5a03e7f9c41a173d3da93a9354b1c4b25f46f413595822f01a59c72a9183066ce98a03d65206602f0b2b7f23c1394d89f63de3753176032acfd6d8d3853fed5c407e2503db23db1ac035b67fe6f28cdeafb4cd592d12d14d4a0bb188717d6fa45f288347037ad9360980d623af0ce884abe01b5701afcd8a0f284b370fadb657917e0e886b03d0b57656a7561153fa9934902dc3b9dfb280e6b672511882f3f1d2d22342083605581e0320bf1dbfa9cd2df0f6e3063407cd1c57a0c39be6e475e3060639df06800c01470c99b70146a60005581e03988d4a06a3c23010c8c4d7526ab32b19a875742e76a7bd8e0bdd462b800c0247018d292f182e00039dadd84b70b6cef28e4ded452540ba1792ca4c605f45c4a38c83b1d9e71131710605581e033b58c7f28620208f7cc5208643f097dc8df8ae0dfd7998297cae39b3d007011bffffffffffffffff05581e03bd4de42d75a7d998a7c6b8c6a406e0810d8d40f036bb3532a3d9c401e0040105581d02ec0a4ea1f8d3d24bfbfc5f335253349709841b58574e2f2dd4788a420401045942ff6080604052600436106101a15760003560e01c806376e04bbc116100e1578063c5ae0fe61161008a578063e30c397811610064578063e30c397814610487578063e8bd0564146104b4578063f2fde38b146104d4578063fc1ebe3e146104f457600080fd5b8063c5ae0fe61461043f578063c5e04e3014610454578063cda5f3241461046757600080fd5b8063ad6607ff116100bb578063ad6607ff146103df578063bd6d15ca146103ff578063c18fa2451461041f57600080fd5b806376e04bbc1461035e5780637cccba6d1461037e5780638da5cb5b146103b257600080fd5b806333619a2d1161014e5780634bd751a8116101285780634bd751a8146102b357806354de26d9146102e75780636c225efe146103155780637200b8291461034957600080fd5b806333619a2d1461026b5780633c580fed146102735780634b06e05f1461029357600080fd5b80631a0b79bf1161017f5780631a0b79bf146101cb57806323452b9c1461022957806326a931351461023e57600080fd5b806304c5aa34146101a65780631223354c146101bb578063161be542146101c3575b600080fd5b6101b96101b4366004613aa9565b610514565b005b6101b961062f565b6101b9610800565b3480156101d757600080fd5b506101ff7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561023557600080fd5b506101b9610b56565b34801561024a57600080fd5b5061025e610259366004613b23565b610c20565b6040516102209190613c0a565b6101b9610f0a565b34801561027f57600080fd5b506101b961028e366004613c62565b611121565b34801561029f57600080fd5b506101b96102ae366004613cce565b61120f565b3480156102bf57600080fd5b506101ff7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102f357600080fd5b50610307610302366004613d64565b611365565b604051610220929190613dd6565b34801561032157600080fd5b506101ff7f000000000000000000000000000000000000000000000000000000000000000081565b34801561035557600080fd5b506101b9611655565b34801561036a57600080fd5b506101b9610379366004613f2c565b61173b565b34801561038a57600080fd5b506101ff7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103be57600080fd5b506000546101ff9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103eb57600080fd5b5061025e6103fa366004613fc4565b611871565b34801561040b57600080fd5b5061030761041a366004613d64565b611d49565b34801561042b57600080fd5b5061030761043a366004613d64565b6120b3565b34801561044b57600080fd5b506101b96123c3565b6101b9610462366004613b23565b61279c565b34801561047357600080fd5b5061025e610482366004613ff6565b6128d5565b34801561049357600080fd5b506001546101ff9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104c057600080fd5b5061025e6104cf366004613cce565b612baa565b3480156104e057600080fd5b506101b96104ef366004614045565b612f41565b34801561050057600080fd5b5061030761050f366004613d64565b61309f565b6040517feea0d7b20000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff8881166024830152346044830181905260648301889052608483018790524260a484015260c4830186905260e483018590529083169163eea0d7b29190610104016000604051808303818588803b1580156105b057600080fd5b505af11580156105c4573d6000803e3d6000fd5b50506040517fffffffffffffffff0000000000000000000000000000000000000000000000008c1681527fad635460888489be07731050101b47548c6a3831f2dc51f2b3545696d0b8afd79350602001915061061d9050565b60405180910390a15050505050505050565b61063e606c6058366000614062565b6106479161408c565b60601c63deace8f53461065f60246020366000614062565b610668916140d4565b60e01c61067a6020600c366000614062565b6106839161408c565b60601c3461069660346024366000614062565b61069f9161411a565b60801c6106af4262093a8061418f565b6106be60486034366000614062565b6106c79161408c565b60601c6106d960586048366000614062565b6106e29161411a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e08b901b168152600481019790975273ffffffffffffffffffffffffffffffffffffffff958616602488015260448701949094526064860192909252608485015290911660a483015260801c60c482015260e4016000604051808303818588803b15801561077457600080fd5b505af1158015610788573d6000803e3d6000fd5b507fad635460888489be07731050101b47548c6a3831f2dc51f2b3545696d0b8afd793506107c19250600c915060049050366000614062565b6107ca916141a8565b6040517fffffffffffffffff000000000000000000000000000000000000000000000000909116815260200160405180910390a1565b6000610810602460203684614062565b610819916140d4565b60e01c9050600061082e604460343684614062565b6108379161411a565b60801c6fffffffffffffffffffffffffffffffff16905060008260011490507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108be57600080fd5b505af11580156108d2573d6000803e3d6000fd5b50506040517f91695586000000000000000000000000000000000000000000000000000000008152600060048201819052600160248301523460448301526064820187905242608483015293507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1692506391695586915060a4016020604051808303816000875af1158015610981573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a591906141ee565b905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663a6bd1b33856109f36020600c366000614062565b6109fc9161408c565b60601c84610a0f60346024366000614062565b610a189161411a565b60801c87610a265788610a29565b60005b88610a4057610a3b4262093a8061418f565b610a43565b60005b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168152600481019690965273ffffffffffffffffffffffffffffffffffffffff909416602486015260448501929092526064840152608483015260a482015260c401600060405180830381600087803b158015610ac857600080fd5b505af1158015610adc573d6000803e3d6000fd5b507fad635460888489be07731050101b47548c6a3831f2dc51f2b3545696d0b8afd79250610b139150600c90506004366000614062565b610b1c916141a8565b6040517fffffffffffffffff000000000000000000000000000000000000000000000000909116815260200160405180910390a150505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ba7576040517fbe24598300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015473ffffffffffffffffffffffffffffffffffffffff16610bf6576040517f75cdea1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b606063ffffffff861115610cbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f64657374696e6174696f6e436861696e49642076616c7565207061737365642060448201527f746f6f2062696720746f2066697420696e2075696e743332000000000000000060648201526084015b60405180910390fd5b6fffffffffffffffffffffffffffffffff851115610d5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f64657374696e6174696f6e416d6f756e744f75744d696e2076616c756520706160448201527f7373656420746f6f2062696720746f2066697420696e2075696e7431323800006064820152608401610cb2565b6fffffffffffffffffffffffffffffffff831115610dfb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f72656c617965724665652076616c75652070617373656420746f6f206269672060448201527f746f2066697420696e2075696e743132380000000000000000000000000000006064820152608401610cb2565b50604080517f1223354c0000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffff000000000000000000000000000000000000000000000000989098166024890152606096871b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116602c8a015260e09690961b7fffffffff000000000000000000000000000000000000000000000000000000001688820152608094851b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000090811660448a015293871b861660548901529190931b9091166068860152921b1660788301528051606c818403018152608c909201905290565b6000610f1a604860383684614062565b610f239161411a565b60801c9050610f51333083610f3d60386024366000614062565b610f469161408c565b60601c92919061338a565b610f606090607c366000614062565b610f699161408c565b60601c63deace8f5610f8060246020366000614062565b610f89916140d4565b60e01c610f9b6020600c366000614062565b610fa49161408c565b60601c84610fb760586048366000614062565b610fc09161411a565b60801c610fd04262093a8061418f565b610fdf606c6058366000614062565b610fe89161408c565b60601c610ffa607c606c366000614062565b6110039161411a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e08a901b168152600481019790975273ffffffffffffffffffffffffffffffffffffffff958616602488015260448701949094526064860192909252608485015290911660a483015260801c60c482015260e401600060405180830381600087803b15801561109657600080fd5b505af11580156110aa573d6000803e3d6000fd5b507fad635460888489be07731050101b47548c6a3831f2dc51f2b3545696d0b8afd792506110e19150600c90506004366000614062565b6110ea916141a8565b6040517fffffffffffffffff000000000000000000000000000000000000000000000000909116815260200160405180910390a150565b60005473ffffffffffffffffffffffffffffffffffffffff163314611172576040517fbe24598300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260005b81811015611207576111f584848381811061119357611193614207565b90506020020160208101906111a89190614045565b8787848181106111ba576111ba614207565b90506020020160208101906111cf9190614045565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613450565b806111ff81614236565b915050611176565b505050505050565b61123173ffffffffffffffffffffffffffffffffffffffff871633308861338a565b73ffffffffffffffffffffffffffffffffffffffff811663deace8f5888a888861125e4262093a8061418f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b168152600481019590955273ffffffffffffffffffffffffffffffffffffffff9384166024860152604485019290925260648401526084830152861660a482015260c4810185905260e401600060405180830381600087803b1580156112ec57600080fd5b505af1158015611300573d6000803e3d6000fd5b50506040517fffffffffffffffff0000000000000000000000000000000000000000000000008c1681527fad635460888489be07731050101b47548c6a3831f2dc51f2b3545696d0b8afd79250602001905060405180910390a1505050505050505050565b604080516101408101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101919091526114326040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b606c8310156114c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f646174612070617373656420696e206973206e6f742074686520636f7272656360448201527f74206c656e6774680000000000000000000000000000000000000000000000006064820152608401610cb2565b604080516101408101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101919091526115906040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b61159e600c60048789614062565b6115a7916141a8565b7fffffffffffffffff0000000000000000000000000000000000000000000000001682526115d96020600c8789614062565b6115e29161408c565b60601c60a08301526115f8602460208789614062565b611601916140d4565b60e090811c90830152611618603460248789614062565b6116219161411a565b60801c6060820152611637606c60588789614062565b6116409161408c565b60601c60a082015290925090505b9250929050565b60015473ffffffffffffffffffffffffffffffffffffffff163381146116a7576040517f1853971c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179055600180549091169055565b61175d73ffffffffffffffffffffffffffffffffffffffff881633308961338a565b6040517feea0d7b20000000000000000000000000000000000000000000000000000000081526004810189905273ffffffffffffffffffffffffffffffffffffffff8a811660248301526044820188905260648201879052608482018690524260a483015260c4820185905260e4820184905282169063eea0d7b29061010401600060405180830381600087803b1580156117f757600080fd5b505af115801561180b573d6000803e3d6000fd5b50506040517fffffffffffffffff0000000000000000000000000000000000000000000000008d1681527fad635460888489be07731050101b47548c6a3831f2dc51f2b3545696d0b8afd79250602001905060405180910390a150505050505050505050565b606063ffffffff891115611907576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f64657374696e6174696f6e436861696e49642076616c7565207061737365642060448201527f746f6f2062696720746f2066697420696e2075696e74333200000000000000006064820152608401610cb2565b6fffffffffffffffffffffffffffffffff8711156119a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f616d6f756e742076616c75652070617373656420746f6f2062696720746f206660448201527f697420696e2075696e74313238000000000000000000000000000000000000006064820152608401610cb2565b6fffffffffffffffffffffffffffffffff861115611a47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f626f6e6465724665652076616c75652070617373656420746f6f20626967207460448201527f6f2066697420696e2075696e74313238000000000000000000000000000000006064820152608401610cb2565b6fffffffffffffffffffffffffffffffff851115611ae7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f616d6f756e744f75744d696e2076616c75652070617373656420746f6f20626960448201527f6720746f2066697420696e2075696e74313238000000000000000000000000006064820152608401610cb2565b6fffffffffffffffffffffffffffffffff841115611b87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f64657374696e6174696f6e416d6f756e744f75744d696e2076616c756520706160448201527f7373656420746f6f2062696720746f2066697420696e2075696e7431323800006064820152608401610cb2565b63ffffffff831115611c1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f64657374696e6174696f6e446561646c696e652076616c75652070617373656460448201527f20746f6f2062696720746f2066697420696e2075696e743332000000000000006064820152608401610cb2565b50604080517fc5ae0fe60000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffff0000000000000000000000000000000000000000000000009b909b1660248c01527fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060609a8b1b8116602c8d01527fffffffff0000000000000000000000000000000000000000000000000000000060e09a8b1b81168d840152988b1b811660448d01527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608098891b811660588e015296881b871660688d015294871b861660788c01529290951b90931660888901529190941b909216609886015290921b16609c8301528051808303609001815260b0909201905290565b604080516101408101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810191909152611e166040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b6090831015611ea7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f646174612070617373656420696e206973206e6f742074686520636f7272656360448201527f74206c656e6774680000000000000000000000000000000000000000000000006064820152608401610cb2565b604080516101408101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810191909152611f746040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b611f82600c60048789614062565b611f8b916141a8565b7fffffffffffffffff000000000000000000000000000000000000000000000000168252611fbd6020600c8789614062565b611fc69161408c565b60601c60a0830152611fdc602460208789614062565b611fe5916140d4565b60e090811c90830152611ffc603860248789614062565b6120059161408c565b60601c608083015261201b604860388789614062565b6120249161411a565b60801c60c083015261203a605860488789614062565b6120439161411a565b60801c8152612056606860588789614062565b61205f9161411a565b60801c6020820152612075607860688789614062565b61207e9161411a565b60801c6060820152612094607c60788789614062565b61209d916140d4565b60e01c60808201526116376090607c8789614062565b604080516101408101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101919091526121806040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b6090831015612211576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f646174612070617373656420696e206973206e6f742074686520636f7272656360448201527f74206c656e6774680000000000000000000000000000000000000000000000006064820152608401610cb2565b604080516101408101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101919091526122de6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b6122ec600c60048789614062565b6122f5916141a8565b7fffffffffffffffff0000000000000000000000000000000000000000000000001682526123276020600c8789614062565b6123309161408c565b60601c60a0830152612346602460208789614062565b61234f916140d4565b60e090811c90830152612366603860248789614062565b61236f9161408c565b60601c6080830152612385604860388789614062565b61238e9161411a565b60801c60c08301526123a4605860488789614062565b6123ad9161411a565b60801c60608201526116376090607c8789614062565b60006123d3602460203684614062565b6123dc916140d4565b60e01c905060006123f1604860383684614062565b6123fa9161411a565b60801c9050600061240f606860583684614062565b6124189161411a565b60801c90506001831460006124316090607c3684614062565b61243a9161408c565b60601c9050612454333086610f3d60386024366000614062565b60008173ffffffffffffffffffffffffffffffffffffffff16639cd016056040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c5919061426e565b6040517f916955860000000000000000000000000000000000000000000000000000000081526000600482015260016024820152604481018790526064810186905242608482015273ffffffffffffffffffffffffffffffffffffffff919091169063916955869060a4016020604051808303816000875af115801561254f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257391906141ee565b90508173ffffffffffffffffffffffffffffffffffffffff1663e78cea926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e4919061426e565b73ffffffffffffffffffffffffffffffffffffffff1663a6bd1b338761260f6020600c366000614062565b6126189161408c565b60601c8461262b60586048366000614062565b6126349161411a565b60801c8861265c5761264b60786068366000614062565b6126549161411a565b60801c61265f565b60005b8961268457612673607c6078366000614062565b61267c916140d4565b60e01c612687565b60005b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168152600481019690965273ffffffffffffffffffffffffffffffffffffffff909416602486015260448501929092526064840152608483015260a482015260c401600060405180830381600087803b15801561270c57600080fd5b505af1158015612720573d6000803e3d6000fd5b507fad635460888489be07731050101b47548c6a3831f2dc51f2b3545696d0b8afd792506127579150600c90506004366000614062565b612760916141a8565b6040517fffffffffffffffff000000000000000000000000000000000000000000000000909116815260200160405180910390a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff811663deace8f534878982896127ca4262093a8061418f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168152600481019590955273ffffffffffffffffffffffffffffffffffffffff9384166024860152604485019290925260648401526084830152871660a482015260c4810186905260e4016000604051808303818588803b15801561285757600080fd5b505af115801561286b573d6000803e3d6000fd5b50506040517fffffffffffffffff0000000000000000000000000000000000000000000000008b1681527fad635460888489be07731050101b47548c6a3831f2dc51f2b3545696d0b8afd7935060200191506128c49050565b60405180910390a150505050505050565b606063ffffffff84111561296b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f64657374696e6174696f6e436861696e49642076616c7565207061737365642060448201527f746f6f2062696720746f2066697420696e2075696e74333200000000000000006064820152608401610cb2565b6fffffffffffffffffffffffffffffffff831115612a0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f626f6e6465724665652076616c75652070617373656420746f6f20626967207460448201527f6f2066697420696e2075696e74313238000000000000000000000000000000006064820152608401610cb2565b6fffffffffffffffffffffffffffffffff821115612aab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603360248201527f616d6f756e744f75744d696e2076616c75652070617373656420746f6f20626960448201527f6720746f2066697420696e2075696e74313238000000000000000000000000006064820152608401610cb2565b604080517f161be5420000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffff000000000000000000000000000000000000000000000000881660248201527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088901b16602c8201527fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16918101919091527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085811b8216604484015284901b166054820152606401604051602081830303815290604052905095945050505050565b606063ffffffff881115612c40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f64657374696e6174696f6e436861696e49642076616c7565207061737365642060448201527f746f6f2062696720746f2066697420696e2075696e74333200000000000000006064820152608401610cb2565b6fffffffffffffffffffffffffffffffff861115612ce0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f616d6f756e742076616c75652070617373656420746f6f2062696720746f206660448201527f697420696e2075696e74313238000000000000000000000000000000000000006064820152608401610cb2565b6fffffffffffffffffffffffffffffffff851115612d80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f64657374696e6174696f6e416d6f756e744f75744d696e2076616c756520706160448201527f7373656420746f6f2062696720746f2066697420696e2075696e7431323800006064820152608401610cb2565b6fffffffffffffffffffffffffffffffff831115612e20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f72656c617965724665652076616c75652070617373656420746f6f206269672060448201527f746f2066697420696e2075696e743132380000000000000000000000000000006064820152608401610cb2565b50604080517f33619a2d0000000000000000000000000000000000000000000000000000000060208201527fffffffffffffffff0000000000000000000000000000000000000000000000009a909a1660248b0152606098891b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116602c8c015260e09890981b7fffffffff00000000000000000000000000000000000000000000000000000000168a82015295881b871660448a0152608094851b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000090811660588b015293851b841660688a015291871b8616607889015290921b16608c86015290921b16609c8301528051609081840301815260b0909201905290565b60005473ffffffffffffffffffffffffffffffffffffffff163314612f92576040517fbe24598300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116612fdf576040517f1beca37400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82160361302e576040517fbf1ea9fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127890600090a350565b604080516101408101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081019190915261316c6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60448310156131fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f646174612070617373656420696e206973206e6f742074686520636f7272656360448201527f74206c656e6774680000000000000000000000000000000000000000000000006064820152608401610cb2565b604080516101408101825260008082526060602083018190529282018390529181018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290526101208101919091526132ca6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b6132d8600c60048789614062565b6132e1916141a8565b7fffffffffffffffff0000000000000000000000000000000000000000000000001682526133136020600c8789614062565b61331c9161408c565b60601c60a0830152613332602460208789614062565b61333b916140d4565b60e090811c90830152613352603460248789614062565b61335b9161411a565b60801c815261336e604460348789614062565b6133779161411a565b60801c6020820152909590945092505050565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080613449576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152606401610cb2565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff831661347057505050565b73ffffffffffffffffffffffffffffffffffffffff82166134bd576040517f63ba9bff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015282919085169063dd62ed3e90604401602060405180830381865afa158015613532573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061355691906141ee565b10156135935761356883836000613598565b61359383837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613598565b505050565b80158061363857506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa158015613612573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061363691906141ee565b155b6136c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401610cb2565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526135939286929160009161378f91851690849061383c565b90508051600014806137b05750808060200190518101906137b0919061428b565b613593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610cb2565b606061384b8484600085613855565b90505b9392505050565b6060824710156138e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610cb2565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161391091906142ad565b60006040518083038185875af1925050503d806000811461394d576040519150601f19603f3d011682016040523d82523d6000602084013e613952565b606091505b509150915061396387838387613970565b925050505b949350505050565b60608315613a065782516000036139ff5773ffffffffffffffffffffffffffffffffffffffff85163b6139ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610cb2565b5081613968565b6139688383815115613a1b5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb29190613c0a565b80357fffffffffffffffff00000000000000000000000000000000000000000000000081168114613a7f57600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff81168114613aa657600080fd5b50565b600080600080600080600080610100898b031215613ac657600080fd5b613acf89613a4f565b97506020890135613adf81613a84565b965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135613b1281613a84565b809150509295985092959890939650565b600080600080600080600060e0888a031215613b3e57600080fd5b613b4788613a4f565b96506020880135613b5781613a84565b955060408801359450606088013593506080880135613b7581613a84565b925060a0880135915060c0880135613b8c81613a84565b8091505092959891949750929550565b60005b83811015613bb7578181015183820152602001613b9f565b50506000910152565b60008151808452613bd8816020860160208601613b9c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061384e6020830184613bc0565b60008083601f840112613c2f57600080fd5b50813567ffffffffffffffff811115613c4757600080fd5b6020830191508360208260051b850101111561164e57600080fd5b60008060008060408587031215613c7857600080fd5b843567ffffffffffffffff80821115613c9057600080fd5b613c9c88838901613c1d565b90965094506020870135915080821115613cb557600080fd5b50613cc287828801613c1d565b95989497509550505050565b60008060008060008060008060006101208a8c031215613ced57600080fd5b613cf68a613a4f565b985060208a0135613d0681613a84565b975060408a0135965060608a0135613d1d81613a84565b955060808a0135945060a08a0135935060c08a0135613d3b81613a84565b925060e08a013591506101008a0135613d5381613a84565b809150509295985092959850929598565b60008060208385031215613d7757600080fd5b823567ffffffffffffffff80821115613d8f57600080fd5b818501915085601f830112613da357600080fd5b813581811115613db257600080fd5b866020828501011115613dc457600080fd5b60209290920196919550909350505050565b6000610140808352845181840152602085015181610160850152613dfe610280850182613bc0565b91505060408501517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec084830301610180850152613e3b8282613bc0565b9150506060850151613e666101a085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060808581015173ffffffffffffffffffffffffffffffffffffffff9081166101c086015260a08088015182166101e087015260c08089015161020088015260e0808a0151610220890152610100808b015115156102408a0152610120808c015115156102608b01528a516020808c01919091528b01516040808c01919091528b01516060808c01919091528b01518a880152958a0151848a0152928901518416828901529088015190921682870152908601518186015285015190840152905061384e565b6000806000806000806000806000806101408b8d031215613f4c57600080fd5b613f558b613a4f565b995060208b0135613f6581613a84565b985060408b0135975060608b0135613f7c81613a84565b965060808b0135955060a08b0135945060c08b0135935060e08b013592506101008b013591506101208b0135613fb181613a84565b809150509295989b9194979a5092959850565b6000806000806000806000806000806101408b8d031215613fe457600080fd5b8a35995060208b0135613f6581613a84565b600080600080600060a0868803121561400e57600080fd5b61401786613a4f565b9450602086013561402781613a84565b94979496505050506040830135926060810135926080909101359150565b60006020828403121561405757600080fd5b813561384e81613a84565b6000808585111561407257600080fd5b8386111561407f57600080fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156140cc5780818660140360031b1b83161692505b505092915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156140cc5760049490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000081358181169160108510156140cc5760109490940360031b84901b1690921692915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156141a2576141a2614160565b92915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156140cc5760089490940360031b84901b1690921692915050565b60006020828403121561420057600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361426757614267614160565b5060010190565b60006020828403121561428057600080fd5b815161384e81613a84565b60006020828403121561429d57600080fd5b8151801515811461384e57600080fd5b600082516142bf818460208701613b9c565b919091019291505056fea264697066735822122089637cfe69860f8bf379a07a178fabdcc759ff28e08be269a1ed6e52ac52fd6764736f6c6343000811003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635411f11121df7256c40339393b0fb045321022ce4405581d03d2d2d5d28a6e8f60b7c5b51db18f88394277bf997c2f81561a90ef7007011942ff05581d032b476a1f7df4c2e6f00d78b8de1cce5480d75e617b31bf319a1b0d300c0142138802184405581d021f7fb12b92f820934a83be6b6ac01ed67ef95a4996fa827fe96a2a5b0c01470f5d2a169c20000219801405581e0325610d6bcbd92c844ebc33d8acb12cd2e300199fc70e2474a5b6c4aac00403034353666b08be99d917464092d954f6e955d2b5c52a3092e435a43d6383380e1e03d381707e21f3f51c601737d0bcd6846dedc7ef4d863e74091357d93dd67d11d003a25f0ccbe2c5ce3d80bbbbf4dcfc84fae4fab7cf563c31c6bea9803fb7303ca405581e03f925f3e176cf684b8d99c089d3471bdfdd883a10569b26d86a1d3dae400c014714b82c5054800002193bf80376de732f605ccfc65d1cba9a7f17f46cbeca6283985ba71697218fc9fec9e0cd03b650563f970529800f51678e1ac9050fb0197974ae2bc8bd35dc6da740b3a27f03ed17f7ac47fe93fbd6f79a1ab4d94745ba1e9014f7c8cc07fe66195e48a36eb90323b677102a99c4fe5a1f13dab115eca99be8ecab35f490916bc5c049bdb5b2df032ab7753ad5a39112d4dd704ab42e65d20e3fb806bf32875ed3de4dc3bc60a8c80378dffd0f8fd90d6687979d40a5a25519888dfbbb5ea418da455f19be814bfa1d03e6abbbddb34c61e91019c545584f1a4067c765c5053d60e8124fc3a55ee97608038378762296e89622518fd3a23acfa9aee11e3ad0aa2464534ab8b45e7b8a98cf0219ffff03cd88f7cb32ed5faa07aa09832f80ecfdb8eb03e9430445398564a51c3e1cef6e03e8b3dc295024207ba0b25b8413fa73e749dffe29cdfc2da52db5e330205857d203747eaa43da4cc876b81306a91037290e228c05fb053a789221b4015aa687a9d7031bd4b23bbe1d6801453041997a61bd26e57225bcaa88d37a1d2fff18282a7f6803f600825a05d8c59cf4d7a5b8dd9872687fd8e85ab761f239b98c093d45d3883c037cd040cb2934338bf09a022a9b5145f8d7055dea63c9daadd4cf66f6f048c24203edc3f6aa1ae86f69fc70decb5b3372f3c5b02b5156d0feb8a537b67abeee006a033e7d8328ad137dc5dfd8bb041bed0969f216530228816361b907007d3a58b891035dbb466057be2e079dd1d1208adf6198f06da154271805df5f7fb7512cd083030219ffff0398973607047b2e2db260f0779bcabfd652b7ac8d4bcee15bc9ecccd0f9d770ce03a73e09448c5a7734dd7d2c9bb9f84d68947dab6b3b706e9f44a74579062723a90219ffff031a11c6fb843ec761953c32843bba263ca27cd80a4e57e73e7c92b1947e54633803ef4c55eb1baf58c39eff44c40b6b9e55cb9d2abcb94c4df97440ebb46085b4f303c4262b867472e276ed5f07e55d641fdc38549405fabea5bcb222bc4448d281aa031a1e030b00f8fd1072a46c74539386c85979fef64c89d8a0d4a91d491210b6fa035f394630909ed1be7a95a76a8946b4b84416eb053335191563c133621bfec86f0338647200511d5c8de36ec104f4bb1c7b9eb9d1fe746a4ed36f72eaadb3f572b8037b0f0e76906b1b087143770ebbec6967f10f751d24b0270e38caab72a743c6d90324caccdb030a14a60006cffe48495e1e03d1c6565258720f394887ea9aa705160398374cbd2b6999c914b995ae926f478aa26e5c9c0826576686f07b545a0526fb03e405a243cd41058acd8b3f7f36447aa3f9b3d2bd7734f8395e1c3d4c0e9dabb4039fb3e3232c10fd1a6795970473c14c0dd11eab554d83f23f0331c1178c6b1447033df03d5f07184ff1ae4afbfb29307893895f0ade48639703ed7ad43ac0ab41b803076c846b855028095c3ed94b38f047466063b8d5a412c1548dc2ab735fe96c9603f3e153282d97e257cf973258960cac2063b65588783c36a50226ed3d5864e40903cb8f8c8b3281e1403cc800fe333e83dbddea03b740c599376217597e7083f4dc0345bad05053f340214514a122de7f41732b24d10b054dba9a8c6d20c72def074a03b7e81210306c68e0726803a3c81c30d138284f630c7fc06fa06c0b280a4122930364793082a425b7dba088f754bbac39ee7f8b56201db21c7b2e240c962a6ddf9b03d20e630a6ae3ea7da3be1c89ca9eaac4e7b3a0210710479649ade67ac6a120a804594b6e608060405234801561000f575f80fd5b506004361061020f575f3560e01c8063715018a611610123578063b88d4fde116100ab578063dd62ed3e1161007a578063dd62ed3e1461063a578063e0df5b6f1461066a578063e985e9c514610686578063f2fde38b146106b6578063f8328de8146106d25761020f565b8063b88d4fde146105c6578063b923b205146105e2578063c87b56dd146105ec578063d547cfb71461061c5761020f565b80639b19251a116100f25780639b19251a146104fc578063a22cb4651461052c578063a4193c4514610548578063a9059cbb14610566578063b8377644146105965761020f565b8063715018a61461049857806381456f48146104a25780638da5cb5b146104c057806395d89b41146104de5761020f565b80632f745c59116101a65780634f02c420116101755780634f02c420146103ce57806353d6fd59146103ec5780636352211e1461040857806366d7135e1461043857806370a08231146104685761020f565b80632f745c5914610348578063313ce5671461037857806342842e0e146103965780634d074865146103b25761020f565b8063095ea7b3116101e2578063095ea7b3146102ad57806318160ddd146102dd57806323b872dd146102fb5780632a55205a146103175761020f565b806301ffc9a71461021357806302fa7c471461024357806306fdde031461025f578063081812fc1461027d575b5f80fd5b61022d60048036038101906102289190613875565b610702565b60405161023a91906138ba565b60405180910390f35b61025d6004803603810190610258919061396e565b61077b565b005b6102676107ff565b6040516102749190613a36565b60405180910390f35b61029760048036038101906102929190613a89565b61088b565b6040516102a49190613ac3565b60405180910390f35b6102c760048036038101906102c29190613adc565b6108bb565b6040516102d491906138ba565b60405180910390f35b6102e5610ba4565b6040516102f29190613b29565b60405180910390f35b61031560048036038101906103109190613b42565b610bc8565b005b610331600480360381019061032c9190613b92565b611401565b60405161033f929190613bd0565b60405180910390f35b610362600480360381019061035d9190613adc565b6115dd565b60405161036f9190613b29565b60405180910390f35b6103806116a9565b60405161038d9190613c12565b60405180910390f35b6103b060048036038101906103ab9190613b42565b6116cd565b005b6103cc60048036038101906103c79190613a89565b6117fc565b005b6103d6611a83565b6040516103e39190613b29565b60405180910390f35b61040660048036038101906104019190613c55565b611a89565b005b610422600480360381019061041d9190613a89565b611ae9565b60405161042f9190613ac3565b60405180910390f35b610452600480360381019061044d9190613c93565b611b89565b60405161045f9190613b29565b60405180910390f35b610482600480360381019061047d9190613c93565b611cd8565b60405161048f9190613b29565b60405180910390f35b6104a0611ced565b005b6104aa611d00565b6040516104b79190613b29565b60405180910390f35b6104c8611d24565b6040516104d59190613ac3565b60405180910390f35b6104e6611d4b565b6040516104f39190613a36565b60405180910390f35b61051660048036038101906105119190613c93565b611dd7565b60405161052391906138ba565b60405180910390f35b61054660048036038101906105419190613c55565b611df4565b005b610550611eec565b60405161055d9190613b29565b60405180910390f35b610580600480360381019061057b9190613adc565b611ef8565b60405161058d91906138ba565b60405180910390f35b6105b060048036038101906105ab9190613c93565b611f0c565b6040516105bd9190613d75565b60405180910390f35b6105e060048036038101906105db9190613df6565b612025565b005b6105ea61215a565b005b61060660048036038101906106019190613a89565b6121f6565b6040516106139190613a36565b60405180910390f35b61062461222a565b6040516106319190613a36565b60405180910390f35b610654600480360381019061064f9190613e7a565b6122b6565b6040516106619190613b29565b60405180910390f35b610684600480360381019061067f9190613fe0565b6122d6565b005b6106a0600480360381019061069b9190613e7a565b6122f1565b6040516106ad91906138ba565b60405180910390f35b6106d060048036038101906106cb9190613c93565b61231b565b005b6106ec60048036038101906106e79190613c93565b61239f565b6040516106f99190613b29565b60405180910390f35b5f7f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061077457506107738261244c565b5b9050919050565b6107836124b5565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e890614071565b60405180910390fd5b6107fb828261253c565b5050565b6001805461080c906140bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610838906140bc565b80156108835780601f1061085a57610100808354040283529160200191610883565b820191905f5260205f20905b81548152906001019060200180831161086657829003601f168201915b505050505081565b6008602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60035482111580156108cd57505f82115b15610ab7575f60045f8481526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156109c6575060095f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156109fd576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8360085f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051610aa99190613b29565b60405180910390a350610b9a565b8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b919190613b29565b60405180910390a35b6001905092915050565b7f000000000000000000000000000000000000000000000015e6a0538429d0000081565b7f000000000000000000000000000000000000000000000000000000000000019481116112c25760045f8281526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610c86576040517fddb5de5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480610d065750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15610d3d576040517f9c8d2cd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610dfb575060095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015610e63575060085f8281526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15610e9a576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ea26126d7565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610eed9190614119565b92505081905550610efc6126d7565b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555060085f8281526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690558160045f8381526020019081526020015f205f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f60045f8481526020019081526020015f2090505f815f0160189054906101000a900463ffffffff1690505f83600185805490506110479190614119565b815481106110585761105761414c565b5b905f5260205f2090600891828204019190066004029054906101000a900463ffffffff16905080848363ffffffff16815481106110985761109761414c565b5b905f5260205f2090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055508160045f8363ffffffff1681526020019081526020015f205f0160186101000a81548163ffffffff021916908363ffffffff1602179055508380548061111257611111614179565b5b600190038181905f5260205f2090600891828204019190066004026101000a81549063ffffffff021916905590555f60055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090508080549050845f0160186101000a81548163ffffffff021916908363ffffffff1602179055508086908060018154018082558091505060019003905f5260205f2090600891828204019190066004029091909190916101000a81548163ffffffff021916908363ffffffff160217905550858773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e0314876112a36126d7565b6040516112b09190613b29565b60405180910390a350505050506113fc565b5f60075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146113ee5781816113719190614119565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6113f984848461270a565b50505b505050565b5f805f600e5f8681526020019081526020015f206040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505f73ffffffffffffffffffffffffffffffffffffffff16815f015173ffffffffffffffffffffffffffffffffffffffff160361158a57600d6040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b5f611593612a4e565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff16866115bf91906141a6565b6115c99190614214565b9050815f0151819350935050509250929050565b5f6115e78361239f565b8210611628576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161f9061428e565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082815481106116775761167661414c565b5b905f5260205f2090600891828204019190066004029054906101000a900463ffffffff1663ffffffff16905092915050565b7f000000000000000000000000000000000000000000000000000000000000001281565b6116d8838383610bc8565b5f8273ffffffffffffffffffffffffffffffffffffffff163b141580156117c0575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a023386856040518463ffffffff1660e01b815260040161175e939291906142df565b6020604051808303815f875af115801561177a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061179e919061433b565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b156117f7576040517f3da6393100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b3373ffffffffffffffffffffffffffffffffffffffff1661181c82611ae9565b73ffffffffffffffffffffffffffffffffffffffff1614611872576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611869906143b0565b60405180910390fd5b5f61187c33611b89565b90505f60045f8481526020019081526020015f2090505f60045f8481526020019081526020015f2090508360055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20825f0160189054906101000a900463ffffffff1663ffffffff168154811061190f5761190e61414c565b5b905f5260205f2090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055508260055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20835f0160189054906101000a900463ffffffff1663ffffffff16815481106119a9576119a861414c565b5b905f5260205f2090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff160217905550815f0160189054906101000a900463ffffffff16815f0160186101000a81548163ffffffff021916908363ffffffff160217905550600160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050611a5c9190614119565b825f0160186101000a81548163ffffffff021916908363ffffffff16021790555050505050565b60035481565b611a916124b5565b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60045f8381526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b84576040517fc5723b5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b5f8060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905011611c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0390614418565b60405180910390fd5b60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050611c969190614119565b81548110611ca757611ca661414c565b5b905f5260205f2090600891828204019190066004029054906101000a900463ffffffff1663ffffffff169050919050565b6006602052805f5260405f205f915090505481565b611cf56124b5565b611cfe5f612a57565b565b7f000000000000000000000000000000000000000000000000000000000000019481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60028054611d58906140bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611d84906140bc565b8015611dcf5780601f10611da657610100808354040283529160200191611dcf565b820191905f5260205f20905b815481529060010190602001808311611db257829003601f168201915b505050505081565b600a602052805f5260405f205f915054906101000a900460ff1681565b8060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611ee091906138ba565b60405180910390a35050565b5f600b80549050905090565b5f611f0433848461270a565b905092915050565b60605f611f188361239f565b90505f8167ffffffffffffffff811115611f3557611f34613ebc565b5b604051908082528060200260200182016040528015611f635781602001602082028036833780820191505090505b5090505f60055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f5b8381101561201957818181548110611fc357611fc261414c565b5b905f5260205f2090600891828204019190066004029054906101000a900463ffffffff1663ffffffff1683828151811061200057611fff61414c565b5b6020026020010181815250508080600101915050611fa8565b50819350505050919050565b612030858585610bc8565b5f8473ffffffffffffffffffffffffffffffffffffffff163b1415801561211c575063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663150b7a0233888787876040518663ffffffff1660e01b81526004016120ba959493929190614462565b6020604051808303815f875af11580156120d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120fa919061433b565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614155b15612153576040517f3da6393100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b5f60065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054036121f4576001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b565b6060600f61220383612b18565b6040516020016122149291906145a0565b6040516020818303038152906040529050919050565b600f8054612237906140bc565b80601f0160208091040260200160405190810160405280929190818152602001828054612263906140bc565b80156122ae5780601f10612285576101008083540402835291602001916122ae565b820191905f5260205f20905b81548152906001019060200180831161229157829003601f168201915b505050505081565b6007602052815f5260405f20602052805f5260405f205f91509150505481565b6122de6124b5565b80600f90816122ed919061475d565b5050565b6009602052815f5260405f20602052805f5260405f205f915091509054906101000a900460ff1681565b6123236124b5565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612393575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161238a9190613ac3565b60405180910390fd5b61239c81612a57565b50565b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612443576123f66126d7565b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461243e9190614214565b612445565b5f5b9050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6124bd612be2565b73ffffffffffffffffffffffffffffffffffffffff166124db611d24565b73ffffffffffffffffffffffffffffffffffffffff161461253a576124fe612be2565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016125319190613ac3565b60405180910390fd5b565b5f612545612a4e565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff1611156125aa5781816040517f6f483d090000000000000000000000000000000000000000000000000000000081526004016125a192919061485c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361261a575f6040517fb6d9900a0000000000000000000000000000000000000000000000000000000081526004016126119190613ac3565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff16815250600d5f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151815f0160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b5f7f0000000000000000000000000000000000000000000000000000000000000012600a61270591906149b2565b905090565b5f806127146126d7565b90505f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508460065f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546127e49190614119565b925050819055508460065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282540192505081905550600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612908575f8360065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546128cd9190614214565b84846128d99190614214565b6128e39190614119565b90505f5b81811015612905576128f889612be9565b80806001019150506128e7565b50505b600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166129db575f83826129639190614214565b8460065f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546129ac9190614214565b6129b69190614119565b90505f5b818110156129d8576129cb8861312b565b80806001019150506129ba565b50505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e03148787604051612a389190613b29565b60405180910390a3600193505050509392505050565b5f612710905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60605f6001612b26846135e7565b0190505f8167ffffffffffffffff811115612b4457612b43613ebc565b5b6040519080825280601f01601f191660200182016040528015612b765781602001600182028036833780820191505090505b5090505f82602001820190505b600115612bd7578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581612bcc57612bcb6141e7565b5b0494505f8503612b83575b819350505050919050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612c4e576040517fddb5de5e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20600160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080549050612cd99190614119565b81548110612cea57612ce961414c565b5b905f5260205f2090600891828204019190066004029054906101000a900463ffffffff1663ffffffff16905060085f8281526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555f60045f8381526020019081526020015f2090505f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f825f0160189054906101000a900463ffffffff1690505f8260018480549050612dc79190614119565b81548110612dd857612dd761414c565b5b905f5260205f2090600891828204019190066004029054906101000a900463ffffffff169050848163ffffffff1614612e8f5780838363ffffffff1681548110612e2557612e2461414c565b5b905f5260205f2090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055508160045f8363ffffffff1681526020019081526020015f205f0160186101000a81548163ffffffff021916908363ffffffff1602179055505b82805480612ea057612e9f614179565b5b600190038181905f5260205f2090600891828204019190066004026101000a81549063ffffffff021916905590555f600b6001600b80549050612ee39190614119565b81548110612ef457612ef361414c565b5b905f5260205f2090600891828204019190066004029054906101000a900463ffffffff1690505f855f0160149054906101000a900463ffffffff16905081600b8263ffffffff1681548110612f4c57612f4b61414c565b5b905f5260205f2090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055508060045f8463ffffffff1681526020019081526020015f205f0160146101000a81548163ffffffff021916908363ffffffff1602179055505f865f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f865f0160146101000a81548163ffffffff021916908363ffffffff1602179055505f865f0160186101000a81548163ffffffff021916908363ffffffff160217905550600c87908060018154018082558091505060019003905f5260205f2090600891828204019190066004029091909190916101000a81548163ffffffff021916908363ffffffff160217905550600b80548061309857613097614179565b5b600190038181905f5260205f2090600891828204019190066004026101000a81549063ffffffff02191690559055865f73ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603613190576040517f9c8d2cd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035f81548092919060010191905055505f60035490507f000000000000000000000000000000000000000000000000000000000000019481111561336a575f600c8054905011613216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161320d90614a6c565b60405180910390fd5b5f600c8054905060035443604051602001613232929190614aaa565b604051602081830303815290604052805190602001205f1c6132549190614ad5565b9050600c818154811061326a5761326961414c565b5b905f5260205f2090600891828204019190066004029054906101000a900463ffffffff1663ffffffff169150600c6001600c805490506132aa9190614119565b815481106132bb576132ba61414c565b5b905f5260205f2090600891828204019190066004029054906101000a900463ffffffff16600c82815481106132f3576132f261414c565b5b905f5260205f2090600891828204019190066004026101000a81548163ffffffff021916908363ffffffff160217905550600c80548061333657613335614179565b5b600190038181905f5260205f2090600891828204019190066004026101000a81549063ffffffff0219169055905550613376565b61337381613738565b90505b5f73ffffffffffffffffffffffffffffffffffffffff1660045f8381526020019081526020015f205f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461340d576040517f23369fa600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f60045f8481526020019081526020015f20905083815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508180549050815f0160186101000a81548163ffffffff021916908363ffffffff160217905550600b80549050815f0160146101000a81548163ffffffff021916908363ffffffff1602179055508183908060018154018082558091505060019003905f5260205f2090600891828204019190066004029091909190916101000a81548163ffffffff021916908363ffffffff160217905550600b83908060018154018082558091505060019003905f5260205f2090600891828204019190066004029091909190916101000a81548163ffffffff021916908363ffffffff160217905550828473ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a450505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613643577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381613639576136386141e7565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310613680576d04ee2d6d415b85acef81000000008381613676576136756141e7565b5b0492506020810190505b662386f26fc1000083106136af57662386f26fc1000083816136a5576136a46141e7565b5b0492506010810190505b6305f5e10083106136d8576305f5e10083816136ce576136cd6141e7565b5b0492506008810190505b61271083106136fd5761271083816136f3576136f26141e7565b5b0492506004810190505b606483106137205760648381613716576137156141e7565b5b0492506002810190505b600a831061372f576001810190505b80915050919050565b5f806011548343604051602001613750929190614aaa565b604051602081830303815290604052805190602001205f1c6137729190614ad5565b90505f60125f8381526020019081526020015f205490505f8103613794578190505b600160115f8282546137a69190614119565b925050819055505f60125f60115481526020019081526020015f2054146137e05760125f60115481526020019081526020015f20546137e4565b6011545b60125f8481526020019081526020015f20819055506001816138069190614b05565b92505050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61385481613820565b811461385e575f80fd5b50565b5f8135905061386f8161384b565b92915050565b5f6020828403121561388a57613889613818565b5b5f61389784828501613861565b91505092915050565b5f8115159050919050565b6138b4816138a0565b82525050565b5f6020820190506138cd5f8301846138ab565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6138fc826138d3565b9050919050565b61390c816138f2565b8114613916575f80fd5b50565b5f8135905061392781613903565b92915050565b5f6bffffffffffffffffffffffff82169050919050565b61394d8161392d565b8114613957575f80fd5b50565b5f8135905061396881613944565b92915050565b5f806040838503121561398457613983613818565b5b5f61399185828601613919565b92505060206139a28582860161395a565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156139e35780820151818401526020810190506139c8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613a08826139ac565b613a1281856139b6565b9350613a228185602086016139c6565b613a2b816139ee565b840191505092915050565b5f6020820190508181035f830152613a4e81846139fe565b905092915050565b5f819050919050565b613a6881613a56565b8114613a72575f80fd5b50565b5f81359050613a8381613a5f565b92915050565b5f60208284031215613a9e57613a9d613818565b5b5f613aab84828501613a75565b91505092915050565b613abd816138f2565b82525050565b5f602082019050613ad65f830184613ab4565b92915050565b5f8060408385031215613af257613af1613818565b5b5f613aff85828601613919565b9250506020613b1085828601613a75565b9150509250929050565b613b2381613a56565b82525050565b5f602082019050613b3c5f830184613b1a565b92915050565b5f805f60608486031215613b5957613b58613818565b5b5f613b6686828701613919565b9350506020613b7786828701613919565b9250506040613b8886828701613a75565b9150509250925092565b5f8060408385031215613ba857613ba7613818565b5b5f613bb585828601613a75565b9250506020613bc685828601613a75565b9150509250929050565b5f604082019050613be35f830185613ab4565b613bf06020830184613b1a565b9392505050565b5f60ff82169050919050565b613c0c81613bf7565b82525050565b5f602082019050613c255f830184613c03565b92915050565b613c34816138a0565b8114613c3e575f80fd5b50565b5f81359050613c4f81613c2b565b92915050565b5f8060408385031215613c6b57613c6a613818565b5b5f613c7885828601613919565b9250506020613c8985828601613c41565b9150509250929050565b5f60208284031215613ca857613ca7613818565b5b5f613cb584828501613919565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613cf081613a56565b82525050565b5f613d018383613ce7565b60208301905092915050565b5f602082019050919050565b5f613d2382613cbe565b613d2d8185613cc8565b9350613d3883613cd8565b805f5b83811015613d68578151613d4f8882613cf6565b9750613d5a83613d0d565b925050600181019050613d3b565b5085935050505092915050565b5f6020820190508181035f830152613d8d8184613d19565b905092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112613db657613db5613d95565b5b8235905067ffffffffffffffff811115613dd357613dd2613d99565b5b602083019150836001820283011115613def57613dee613d9d565b5b9250929050565b5f805f805f60808688031215613e0f57613e0e613818565b5b5f613e1c88828901613919565b9550506020613e2d88828901613919565b9450506040613e3e88828901613a75565b935050606086013567ffffffffffffffff811115613e5f57613e5e61381c565b5b613e6b88828901613da1565b92509250509295509295909350565b5f8060408385031215613e9057613e8f613818565b5b5f613e9d85828601613919565b9250506020613eae85828601613919565b9150509250929050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b613ef2826139ee565b810181811067ffffffffffffffff82111715613f1157613f10613ebc565b5b80604052505050565b5f613f2361380f565b9050613f2f8282613ee9565b919050565b5f67ffffffffffffffff821115613f4e57613f4d613ebc565b5b613f57826139ee565b9050602081019050919050565b828183375f83830152505050565b5f613f84613f7f84613f34565b613f1a565b905082815260208101848484011115613fa057613f9f613eb8565b5b613fab848285613f64565b509392505050565b5f82601f830112613fc757613fc6613d95565b5b8135613fd7848260208601613f72565b91505092915050565b5f60208284031215613ff557613ff4613818565b5b5f82013567ffffffffffffffff8111156140125761401161381c565b5b61401e84828501613fb3565b91505092915050565b7f4e6f7420746865207a65726f20616464726573730000000000000000000000005f82015250565b5f61405b6014836139b6565b915061406682614027565b602082019050919050565b5f6020820190508181035f8301526140888161404f565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806140d357607f821691505b6020821081036140e6576140e561408f565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61412382613a56565b915061412e83613a56565b9250828203905081811115614146576141456140ec565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f6141b082613a56565b91506141bb83613a56565b92508282026141c981613a56565b915082820484148315176141e0576141df6140ec565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61421e82613a56565b915061422983613a56565b925082614239576142386141e7565b5b828204905092915050565b7f4f776e657220696e646578206f7574206f6620626f756e6473000000000000005f82015250565b5f6142786019836139b6565b915061428382614244565b602082019050919050565b5f6020820190508181035f8301526142a58161426c565b9050919050565b5f82825260208201905092915050565b50565b5f6142ca5f836142ac565b91506142d5826142bc565b5f82019050919050565b5f6080820190506142f25f830186613ab4565b6142ff6020830185613ab4565b61430c6040830184613b1a565b818103606083015261431d816142bf565b9050949350505050565b5f815190506143358161384b565b92915050565b5f602082840312156143505761434f613818565b5b5f61435d84828501614327565b91505092915050565b7f546f6b656e20646f65736e6f742062656c6f6e6720746f2073656e64657200005f82015250565b5f61439a601e836139b6565b91506143a582614366565b602082019050919050565b5f6020820190508181035f8301526143c78161438e565b9050919050565b7f4f776e657220686173206e6f20746f6b656e73000000000000000000000000005f82015250565b5f6144026013836139b6565b915061440d826143ce565b602082019050919050565b5f6020820190508181035f83015261442f816143f6565b9050919050565b5f61444183856142ac565b935061444e838584613f64565b614457836139ee565b840190509392505050565b5f6080820190506144755f830188613ab4565b6144826020830187613ab4565b61448f6040830186613b1a565b81810360608301526144a2818486614436565b90509695505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f81546144d6816140bc565b6144e081866144ae565b9450600182165f81146144fa576001811461450f57614541565b60ff1983168652811515820286019350614541565b614518856144b8565b5f5b838110156145395781548189015260018201915060208101905061451a565b838801955050505b50505092915050565b5f614554826139ac565b61455e81856144ae565b935061456e8185602086016139c6565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000815250565b5f6145ab82856144ca565b91506145b7828461454a565b91506145c28261457a565b6005820191508190509392505050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261461c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826145e1565b61462686836145e1565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61466161465c61465784613a56565b61463e565b613a56565b9050919050565b5f819050919050565b61467a83614647565b61468e61468682614668565b8484546145ed565b825550505050565b5f90565b6146a2614696565b6146ad818484614671565b505050565b5b818110156146d0576146c55f8261469a565b6001810190506146b3565b5050565b601f821115614715576146e6816144b8565b6146ef846145d2565b810160208510156146fe578190505b61471261470a856145d2565b8301826146b2565b50505b505050565b5f82821c905092915050565b5f6147355f198460080261471a565b1980831691505092915050565b5f61474d8383614726565b9150826002028217905092915050565b614766826139ac565b67ffffffffffffffff81111561477f5761477e613ebc565b5b61478982546140bc565b6147948282856146d4565b5f60209050601f8311600181146147c5575f84156147b3578287015190505b6147bd8582614742565b865550614824565b601f1984166147d3866144b8565b5f5b828110156147fa578489015182556001820191506020850194506020810190506147d5565b868310156148175784890151614813601f891682614726565b8355505b6001600288020188555050505b505050505050565b5f61484661484161483c8461392d565b61463e565b613a56565b9050919050565b6148568161482c565b82525050565b5f60408201905061486f5f83018561484d565b61487c6020830184613b1a565b9392505050565b5f8160011c9050919050565b5f808291508390505b60018511156148d8578086048111156148b4576148b36140ec565b5b60018516156148c35780820291505b80810290506148d185614883565b9450614898565b94509492505050565b5f826148f057600190506149ab565b816148fd575f90506149ab565b8160018114614913576002811461491d5761494c565b60019150506149ab565b60ff84111561492f5761492e6140ec565b5b8360020a915084821115614946576149456140ec565b5b506149ab565b5060208310610133831016604e8410600b84101617156149815782820a90508381111561497c5761497b6140ec565b5b6149ab565b61498e848484600161488f565b925090508184048111156149a5576149a46140ec565b5b81810290505b9392505050565b5f6149bc82613a56565b91506149c783613bf7565b92506149f47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846148e1565b905092915050565b7f5468657265206973206e6f20617661696c61626c6520494420666f72206d696e5f8201527f74696e6700000000000000000000000000000000000000000000000000000000602082015250565b5f614a566024836139b6565b9150614a61826149fc565b604082019050919050565b5f6020820190508181035f830152614a8381614a4a565b9050919050565b5f819050919050565b614aa4614a9f82613a56565b614a8a565b82525050565b5f614ab58285614a93565b602082019150614ac58284614a93565b6020820191508190509392505050565b5f614adf82613a56565b9150614aea83613a56565b925082614afa57614af96141e7565b5b828206905092915050565b5f614b0f82613a56565b9150614b1a83613a56565b9250828201905080821115614b3257614b316140ec565b5b9291505056fea2646970667358221220401c45800110ff4e16d77ca4ac6803e68a3bb3ed6cd7e789bb0ef0fb043e7be064736f6c6343000818003303cd0447786fc9ca5c7128ed55d64635c9c5f0bd5baaad73d25490ff1362e47e9a0302bc550854d526954b8b9b49dc9243e7e1930cdc4c2541b641a7a91ff23833be0378f5d71a9c1d1b7284422a9c8a087f0f95561f279bad32fa1b7aa65d49980e440380d29b5a2c449615454786e88582a7a4d75bc74444204f7d1d1e0b2a9ea961b603c5cd4c5c4b546f865da724688a0c2a79787b787e578cdf5c76e02979350e751300582002834d8053bae19f46a7188af9e85cd5b0b467241cc977f40a50e1d72a88b7785819090000000b9d40f8cd6c6faa93c397e5e7c8e6d1a4f7396ce103758636b1ac034e415197060403512f5c3f2608148f0a8bc3bcab6f57b5cdaa1700582002c96227db11050339477042597e9e382d1859b6f2ba03d77c3fed6aada8f68e545aaf989f25b193ebbdcf15a0bba010e1c42981d900582002200c6538e63b592d9a1c8cf2bac8bdd5fa61271d6ed2a34f3e6bf9fc449eaa42017e005820029f7493e5a421a5891c0c026f54c6ffd9f860275816a72b3a7ca26b58a913bc48078d54e1fb436435021948830394800db2dbf4a6ea836940f23b6c1ad9975c4684a2c18151e1b391258639e10f03c763d8306d1712781f54ea6f5c49445b8733917b4573df95a6e84409f9a3f34003905a216d017a8eea888477152bff3138087db39049f900a5a64c8f73a64e7dd503b4707aec9b186f265920d50c1c3304a78113bfe8dc84c5f71c323a0e7cda43f00370813147ee204c5101d61f630888e650f31e235932e59e8b80b87247208124a003d80c3319fbb1487011e0e621df963ecc4a33a4e77309d37fc3015bfd204c77ec00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b411b00582002bef3e64c1b7ac7fbc001cc2c7cca69f31b11d72bf190b5d3e9b16eb278684c581901000000015aaf989f25b193ebbdcf15a0bba010e1c42981d9005820026289e3e16b98afe8d0eb0374b6c4e1c3ff8659c7710c95962fcde585df99ae480cd4def90210ceb000582002369ffbd1f80be43008dc05484e8942853612e3c2552bf6183320f397a3781842018703acd7eb69e45fc96a49e656c5e97ca4319069a21a105a0c5cf00dc83e90aa4de6005820029a00f5035d09f380947da901da995188d715cc5bfed7edffd6386df93c9da242018500582002f84a087de6865c732dbaa58e30446cabba6b7a4cf9df5063a2d5a38617376142018a00582002de03ef295d1f51220565be7832928eeebe7cb1765831f6104d687811db65a0410a00582002fda508b5d5eb711d87d47f95594da7dfba493263369b76a7a9c80dcd90e6cb4101005820025fb2250247fe1f06a4565ab962360fc52deb40847d7a390c042afcae5d3c5c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02193fcc039364862a310b67da3127ae5806f0243fa326c911469e267d9561296dabb5057d00582002785dc1fa4019f154951c43f486708792c8ae0ea866bf50c3d51aae8936337d581904000000069d40f8cd6c6faa93c397e5e7c8e6d1a4f7396ce100582002bbb7cdfd97b1f08b85c82f1a89d0739992d8d81e677cb40fa5a5ce4ba29fe048028d473ae83bfd5a0058200217ca2acd6b0f2efe4bb0fe1c4d6a88e2b1552c8e9801fe70bdd13cf4c4b1405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820023a0b972c470f18f842c35c712f9b9beaac1e8e838c1ba491d0d478900e81ca4101005820021146648b4b1aadbc54023636e927540cd5e6974606a5092382ecc80556a27442018d0058200215d79c96d3b82112e2fb6b80355c2503e4b00dc81cb1f6a2f006f8d6e4fa9a481a1a872894f969480219222703085daa1a5e72beead8c601855b0a9393568c06396337da9f1f25da3bdc6039060219ffff05581e03930c9c5b20964ec0cc8eb66137d606294f90a4a28bf1ef360bc32c36a00701194b6e05581e030c9a1042c158de99fd5fadd121028a89bc2610d037713176dc633decd00c01470229e1dcab100003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e030e6900e04a95f38740f3a50651a222106f24411508e93eebd72e1fd77007011bffffffffffffffff05581e03d694ce98c75cc2eec9d84b2f87afa572c1121bdc212da62795e83597c00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e038b0812a6c8315414dbccf77ecbf0451ff4e52de1766701645aebad1b1007011bffffffffffffffff05581e038d5c43a40b3bfad3cf363dac7b51d188044b276b6af2a358144bbed8b00c0147232773380d700005581e03811b7879106dfbeed73b6c48024e2ea1000a98d80ba1b9eee0197d6790040105581e035393048fbfa421e5c9e66a44d9365262ad498acbdc1714b208755ffd40040203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03eff92c9c96edebe3a353c1fef94402466416a31132e5b0cbc547b73c0007011bffffffffffffffff0219f693031b65c49720a691db11ede8776d4cdd526773da34d94e659919800e99c52c6de10331c4129ccc1106835efe273185ebe9e92d379a4e4f8b73e085abd058f988497a0372d9d2a4349ad4ee876fdce673f50b1bcb2fafed0a74ee5cfe5d8577660f3f0403f93852a411b07aeac2f0e0305230f57c4daa3ef9bd598e97455b284a63f144b8034bc68768bac2f7172b063c062b9cad1fe2b82129012a050518ad45cff73575530328864a3095f01d8e4e1588a5bc94363e0a398cb5b6f26c7d40c3f2d6aefef20d0371a1ab3919cdb40e8004637a8c32c244a7bb0fa94abbf0792ca57dd3d94b11c9033082ca43683a3788d00084bdf6505fbb03a891adebd42d1567c1766e4b6b7c1103ceb2bb6898d4b2dcc6fb1e72cfdff28d1bf6b22122253f38e79d58e529688b0e031f7e5d9f930cd1090dedf8eea7303131413feb8259c3ea8993cc977060f71d260219ffff03aa58816fe1ecf2aad3d0d4b00c707ef8b8584335ff53e355bcb7ace421a579200303e8e457aca0fc7f944e382989b9e50354b4d113bb1e7fc37b144e41dce54a55034b81686fc6ffd2bb89928fddb0832f05743e3a18105809c4a1151a37dfd0c798031ee6f55857216674caede3a521d97eeb198e1e308cbd0c473f1fc8994c4fde6d033131b05297c58ab6e6fc489eff966cebad1e5e7961a9bb17cb1cee4b2498d3a70373811921cbb675ff669262312c0297730a8b933a9b82104e6c5676ee27966819035038aa17d177962cdef06f075e4c92c6fdcae879c2a3e38a0c804b7cd02c945a032e8b5f8d3499250785a208d0be40996597c5e98291aeedb1d2dcc9de3652f78503056743dbe92dfb1784c9459d244a75a271abc77318cbe03c066b9ae3764aa4940353701833f0b7c331d7eadae7cdb92fd20ab545da515bda561b790ea813078ced0219ffff03323fc176d2757695f2f5a83db8ffeb39d9575968a71b18c1100e40bed519c15e0391a39406f961fa441f4b224da4e5dae4f16917ee6cdb0a128c27e29a68d797680336852d4a490c4bdc60b089ac8a29943ed1aa08e1ea0d1bce8e6ddd9e8c1085e00301c0ee0ddc569aeac443bf8500857505db66193b05b6151553e976720f46ec1003cee8c4c9e0b7e0602ff1940ee9980dbccc9bc417e84cc031aa0dd37fb09234be037389f5bb6b8d3eba29a43e7cef825daca8bd4bdfa60b1a07cc1800f65054054f038b95f69c30e327842608947cb55c0fe7a9108423f2be39d599d5b2bbbea00a2b0219ffff0219ffff03d959e41059507ae3530371dc5b6ee38a39ed31925aaf487c01a28f763785234e037d4e327ad585daa0931220eea3c8a0875d8b59d0291d7c8f39dd367a4b5e56e7030a82c55b2c7057fccd824b1dd8ac4686daef1686a527bfe05128042715690e1203d5ac6d64f7d92db0e2313b665bf534c7dedad2991e487347d6441fe4410b0d0b0368ea2418f9eb98a6f62b10941df0db1216ed9ff28ca35a37b1baa8a8cebc83a703d9ab4356af6e5e3c41b3c0d5afbecf19787c71ab8d4da298fe3b34bca85672fd030674b04571084c566b05a50fdbdd5e50eb0354744e175be14207879389a59b8d03b002becb7fcdd6ef5368a6f038d200d0101032fad6d2e141801505cdea9a477703ef59b446e11e92e2ec6bb6f77a95e4432dc28048aa49968405664af41019c1dc0322d39d4e1dccde1348bd7d7b30627741ba306df77675fd3552dac8e67f53f5ee03252014e91d7a1682122384fe5673159fa6ab7832045798ec7cb458386f59eebb03454b9e93d6126d88bfe7416a75c8ff1babcb37cc045a4a553b5c82f8846f67b6035abedddc41ea29729d5e75303a29063ec30ad7b6c7fa4ebe76309d8bb1add4be033b235b40dea6c4f889c3334bbc4d29ef3f3921b26876fb60b761a0f8b5f8d1e303c9e78ed9f11ee36c5232353e1c42830f907e1ff9a463a18cece5998b7a59e3c903ddf95ea4704f721fb15bd994e2499a09ca657d9aada800c447c780688773cf7003e3588b322d6a23f3197801495101899204dfc804f65e903c383afedd9cc4434c033b6bb2ec860202e516502397eee41654c65cbe2674014788a4bd7e630519745303adca602016ff49935385167f500538fe07ec3931f8a18a9196891c9f673611d0037a77ceefac35bbbfc2a2a2c7e73b883b359f333b3e165aefb1144509de4bd1bd03c2764dbc8c150837310e0b0bf74f53f81a5b517432efd2b79fd29f31b7f6b3f803ee67e856bf0a1301d496781d46c8e957dc736118d8031d06f1d4cef890adb8f8033bb1c59e1706f2396fac4b37714f88ecc0ef9acb05bd5b59d5cf1d7452b7cfa303a1d6e12d62b9ec8e4e13265c4356abb1f57c7bacb906e8506a5ce280f6e892b603220481d8a3741f30bf2760c787e9fd0cdc9be381d39929c3a5fe5230815299dd03a8993e5af69bfefbe74c8e51bd89c67735e7c895e9e47c79f4288f2e8ab27b120363ba283bf1fb31f9fea95bf30eae99155e980da70ce268df3a314b82e2811db60318a98c412341ddf740b6d3bfb747216be1bba4387afda5c027e760db4ee015b503043985c443f23f5ab29025e38d92500e11bc48e897d6588c5fdb1a100e2a422a03188905ef70c52e2848251139892b5ff178a0d150b6332289949cb27ff7ff72dd03fbc3de4c51e17960ecbd964d55dc5985faa8d1b8f43c855b82d96b9d6aa08d7403ca73d68c4ad054d87be6da8505d8a50de51eb893342a53045634e7f4410f57d905581e0374ffbb24b251328a04648879a1c9072578bd791ca29b046d9b3c70865007011bffffffffffffffff03a1f2da85344c8237bc2505862b867f99c9ebe49a8ee994b6fc3b11740290cdcf05581e038248b694b3ef6dee1571db37af606b51b7b6339ab37613378e1cc7d180040205581e037e69b497169c6bac5f81d1de831314fb17b580ea69a2c022b443983350040205581d0222ea15d34d38c9b2419cc158c0aec3e0186e7bb514253091c6eeea6f0c190527480eee53defcad901405581d024ca71038c10194a6eae9ba02f3c9a746dea9e6269325f927cd3262df04020219404005581e03aa14b8d49ba7f8d960cc0fb523fd70d5b9f7f1be42e4a1a4ba37e954f00c05465baa6fffe04003bd94326b28205855e1afc0b2dca5aa06389d065c0c97eb7cebfc0d7200363cdf05581e0392b4879ff9df34b98eade809d9fbc9f2f654e4a492f62e2bac7c1259b00c0345eb644bbe0005581e037bcd28054f654d88b38a8498f3b1fea13533a6ad792bc8e63c74c481200c02422ee005581e038ce28cb193973f5ee11f732b30d6bfa69f67085ea2e9f799f69aa105500c0846844f7e67237705581e03f796559abf702a83fadf583de7330b4f2aaf7c5ab5e06c35b77330e9e00c03461fda2d3fea1805581e0332a2d206d9d5b208364f8dc30434c9566a92aa7d21a65b3e12c49a787004090219dfec03d86047b8208ec2c92b865dd587703c3254be68c6b5d6e321b99b96105c6b802603327cb4a6fa684a7477c5470ba9bba08359439161ea1edc62b4fbf1a00bb846bd032247359862297604c26fda3af4012822cf0b54eaa4b1945fa77259837761a1a0034635a2bc3676353672e03f8971c581e8802a48358c7cc2f964281f698275ca1603c76190d860005a4ba262917bd78d48e8d86dec7c456f8fe08933268208c8809103b6445f1bae272f0473fd8f32d5ff9ba36c3de96f936a8e7f0564007a68be753d03024c3686e373a9ed31c31d1ea8afe168855bcebec3c3b3b6f868373261a79b6203ece91a81b97f1c947de4af5db8aaa510fe9a4592a08cf7345b9e0dee981ee281035fcd9189c3abea404969e59c352cc5c1dec10b667ccb1764c4babda1d56fb90503260e77fcacf58674716a1c090bd71359b44df6d7531f10b46455b81c3409d6560219ffff03c7ea53bca1efe2927d561da01a3b93d78680056bc7d3a0422f6a071e9c23b38603b5d2de00efad83ce36cdf1f79ad9682239a77ee4b40f92b90513634b82313a7003c4f02a95c147cf7181f1ff7eff2d0e3259b4623ffb2aace9d5bcebd46db47ade039948e14d6cfb81fdc92f26378f5de37cf37fe632b0a2e97ddc61e489dc9df8130379332eac3a98e19c2777f0bec10ea5aa06acb818b37cf8d5ddf3becfd19bc3a70354d726ae7982331f5b3adf509f38ca9284685ca2285e5cc841d3b83b4e81562a039f9ca0931685ec039035772987eac94be2977c73fd2fcf88ecb44222d37cd49c030a8140ebae8dc4cea40ff21ab0e632ec49d5391f0d88ffb13d0d153dd020e46c0345ea2cb20988097ad105b0bfcc0d9ca76a155b238dd120a50e3b1f6457709a6f031c762183cacb7c279303c73fae32cf48c150d2b6a0b527944d9ee1b9d73db9e00397488c2eff1d9c2a9c4fb8f993c1abe2e4e3ee1f95954a0c13a696bb593f25af03594cac3f57ca184ec2ded82cac573a9e8ec6966cd895046b20a69e3565973a700219ffff03bfd35ca431bf2a46b1fda9544358dd3d7700182444d90da827e8cc150fdda549036007fcd192bd9d74e33ca6b3152dc97ddca1979c7ef822999a9d8fcb0be55e9a0314416dc2057ad69fd698d56c35f79102bfe0b983933220dbd2085beb86f7eae503f0be61a80ffb74d16010b3f5910d151f90340cf2778357e09fd3390e91fce0ac03a2f66e3e0c0961de47ad0035f9f47fdee3058f7681be23f50fc05a7f294c9d36033560276ab39e022a35fc073067bc2c19ef95b8d9236f7c2776c2d3125668058503c395b5fc30ae197afb695c52f7c27cdcc9173ae3597fd371ec038d9c48b1c84e03bb01f178f4f6d401172868dcb05ea1c0a638b6036aeee3662a40c97d7b4086330219ffff0219ffff03afe9d0d8fa6e4747ad158ced6b55f01473e75f41d1e7d47adcce27132d7b025c03e62c907b8fe355d5b810576dc78239768c7bdc958df541f41049308417072638030b446e2b73d070b8f1a68dfa60a0be61c998f056aa2a9a6ccb6f59a2c849426803b19042da58abe4301d4059126ffbcee6e4320a2c395140e1d9890a0f5a4072da039875e014887b127c846f8d4d0f6fda252a0847f4f0d49e9539936ca47c674ba703171d94a35cf57941f7221ddc2cd869c605a9f1b989cc741ff111e88c7c823448030a86279429eba5bd7884c5f8801c32fe0044f8d0ec19737a9433fb8c09110a0503a31ae2653e4aab417819d41fdbbcc4759a53c203a1334e22273b305c216cfadf03e815826c6551d5b8d4b82375a37f2c008b204a6c40d2f84b945af7555772691a03ad827f842c9abfe4644a5cbe1bfb66cea4cc36b8bf7927f808401019e3d08542034852786bb496bb988ed9987e35a210daf6b9f77cc723a5a4cf78422800015ac2039f6bf7ffaf8c036c62b23b4295d47c6f7356bda3481859115b34fe9deb4b62d8038ae3e1dfd3ebf66784575c11b6360114b01ab0fa29a51cf398452558030341bb03600ed3d1535b56d9332e03ab47278070014a36299aed9040a96a47c58da10dcd030c992a7dfda86a788db1b53976f8e3b71f1fd57f3619dbae913aedf7f6ccbd27033977aceddf09d3db641c30da13e1e64ddfaf4f0f96433c0774ca67ee6d8face40384e3dfff554b9725e837d3601e4a491c215ec6bbac68f442d1a329b2fe83bdd4037cf66879ee8a09bf8b3d5b3ec699b29de7f5f7687041e6d9d9b9ed05ef4f486403210109f747c730c70f5a293ed4c5e02683005c79fc017278a41af67fe05dece503976648fc5ad465f696c25c1b10025384489886deaf1bbde323c8a875627c310c03b4320911cb2a4eccb217a7c6c4f7785195a36d1de6754776211590e6d20a473103f46ab86532a2e8e297824de684aca846b0ad198e988345c02d2acc0b3992951a03516e23d6bdd819a91ebdad758f9f07be7dce87b52e1b92e70fc0ee5f3087fa9e03ff9588bb1ab300d3a57a2f6c3e3e2f9cba864b8824f2dffc6334558b12b8a73a0351b0e834ea5887f02ef6a9e4df7b2325ff0be938737d05578327cfe093741d27034d33056d15a52ed55911b4ae0cea900b2990caca8ca9599720bc093fe0e389b403083be06239d2fb97235dd8c84a1316621b4efb55ba96b0677c928c199100383f03fb36a1293383bb59ddbeb1872d491e63c9f474cb88811702356c84b3a8b514f103309f68b074979a2a7e308824a1d7cee52470f0256383fd3900250fd0807bed1e03a2eb44164c31ca906a83964a4df98a21b614bb3759ade19fde3a5a2500438ea903f988680c5facd8ad73ee446b65e19446dbf03b93a38946bcebd65501e45c3ec0036951448633287c677afd1aea0adaa15c288926f9914ac3e81bc4bfb39700077c05581e03a3e74cb222cfa0255cb01fc2cf25d65c764e0763f3fbd66c39499cc360084710e07442cc129b031e9f4b288c5dc8cb9f9761a650ee2174c3e53130706257ebb1c08dde65e004ff05581e0380b9b330272a1a2fe2ca3dd27de656d7e37c00a4d371d332735931b0d0040105581e03cf86e62de5e64758477bd9d4b935cd854a476db3cc51f8e8a9384ecab0040105581e0339e76902d0732efea57a1d7d5ac49a31e2126e194212f20f49d3c4e010040105581d0333e468a12d4cd1f5de0364c9b0d0c47ea1ec3b2b94e08de68b0c57000c02471ed97e2e7e89010399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803d66570735f93e9e146e1f361eb21e6f49ef36ed729b117fbebd1f40b4fd4b07b05581d03dc13491e94c69e72e1680db5cc92b4a222a2701f8e7d59c07625075007011bffffffffffffffff0219808001410e03bbb73028b2611941c7588f3030986557daa71bf46a2104f36ccc8c53985db5f60388a32f188279f6a39473ebadeea24efc9317602e76fd8aa166ff0822f0f4ac1905581e03e4cd5af8b2bb70c9d66d6fc83e1e6f1bc7965069db7340f84eb987144004010344914ebd9680a8bfb2f82d9b5a05556202b82d023c7a676c840d1889d3c6005105581e0358d9397fe85f3792c989cde6ee09eac4957b29925b4c09e2c29e1358800c01460f478e08400002197f5903436aa20d50656adb89d7500458b74cdceb31c5b1988cdd14a3013f51bc511f1c035d7d9a9e8fca6f8dda3449feee15b66502b906e40bbaee993c8f95cb4b00255503771099a22cd29e55981767d9998c028740c8e17a5aa293174cf81dee81b6e9b303c8c4c791b1e9fd0ef87ae17f9e4149f86b2c039b35b7e6f7854d572d150b9b2d032a1f9cb87de8db37ea68d5b8871064f7b8cbe76c2127cec8a02e8ed83d13682203cfb2b8e277d1922ffa49b26e7db2999aa85efbd0833c077fcd14d20ab782d1bb03266dac18ba72118ac65c70b824e439d7eb3ca6c7656284695fd8a38f7d1376da036df16508c7daccf933640c3ff9a6cc2b721f989033187dfd874c459046c2dcd603b41f177f03ec281d608ffec634ddd06425adecdb217de6105b7116fec50e5a0f030b287e9d644b716db8d00e5fd121fa3362b2e57090acd75921073399139b4933033056da42f41f9089054817eb66c1d50e0bd4ac65d8f6a311e15bb3b0838b11e903acf5afbada97223270ddbaf9adcc65c53ad5f30c964087573c7dfaac6ab0c73003ff3a00e189c4ee2e3115372b589bafad43f3633b5a62636bc28a477234c07dc10303091cd1e1741002a6a1a42b99b7ba7ba38ce4826d20b4878badc476cea0b62e033ed798c119c3143b5b6a7dbe7b600fb11425593066954d738d52a1a22d65af940219ffff03c501a8e55a5b0d838af5372228d6215fa7f48c803fcb352c8dadb8ef10a78ae6035729a8c8a231b9673895a28de0bc5ce1d0a59a1c714b4c9bb163dc9c9d13bbc10219ffff03b34b3fb7fec1b33fea955a6564ae0cc21eeb1a049ae7523d6ae1e2e168b0476803aefaa242f8906e975f75987678ca7291c390dd74040a8b7a1d6a79a5bde7ef230219ffff031f8200280b11cc9c2b2542c249e5f892fb123093191b7f3247e887c9e1eb83930320c823215c0319a777de2f6e24e8802bee7eb048e070d52ee7f82f3fba9f940f039f1498b9609857f8ae5e589582bb5e2648a4137780afaf16a5751b9cb6e04b3d03b08e5a1dbdb86e162df07ab153bb288492ab280690daab028ded22901eb18d2803f4cebcefb6ac5069abd34475d781d40771d7ed9f2368b94d066be52fd7323705032425bbcee85ca8b17b25e7824ac87422a657d5c6566adf15c5f56fa875ad1be80370e2fe69fc2b14bb05b3e06e276b690b7e74665a1966b8a05c375d19262f2bd2032442b3f89784b3439840660179e1310ae56f4a55ca2c42c494279a9c4a6fe0e6030f954576d8db200e3e890bc020088971b5365bd183862dfe532a678f26a8247203e63ce4e139429779192b3475993514bff7455b22833d70bd41abffb7298a194403ee13d03a62e9e776963b399db9d386bc229c262ac5d6615360685696708a7fc10371756b9344f2d39ac25fe5ac588cfe5e113d122bdd260a5171d469857493665703e6f27522b962159196e16118ad1f96ff119a6969a0713ec291b3a98fa3f6a71e03ff2640d461d02ab1d10a61d9edda376fddebf46ffb9949ed8b7257722e7159b903de19aac6f43fd5ca34db5b7d7bf18a2bacddb1637377d555e3a8d17fcdf956bf03ce4f563d1ce9d7e6163dde677ca28fb4788f4b95f2951830308e29d1603da8fb03b2c213f237f80cc3474174c63f0007f30c9233a4e41b676662dcc063364ca2bf0361d2d641bfdb989e4fb5ea29e3bfc79e2373728ba08cb38e48d6e014a3b4706f0385ac42667b94a0ca066db4f2745647bd0bca789e9b892c19d52a0fc8fb9f9c5503d275edc4063dadf20540853bac367680d9b3cb954f676c682b3f1a2c8b3cf81e038803095f041a701546a07c780989f8e4103f791b3b2ca013161a57fc3fd19bf603c5e8466c4b5cd84832249a7b17ceaa479e110574340466647c452c51d142479f03df48d1dc1d291a183d959f1b08ad1e9f762c463046283f305e2b36ddf53bd84703e43d706d8e6bc171cb06d16a51c75910ca43e85ce319bd12df5c2ef12466ce4b05581e03c7cf2fc0f8f0460a44f5117f6b7732bdb9a2dbbf7d3992098818c6bef00c01464d1459a7020205581e034003d2256a862382590aa2ee190b901126f53ef0a42e34f09e49420e00040103dd6c7de6ebcd31d2657fc531d73f8ccc78ff875abbf89a78cf25c4c2733623b805581e03a01370ab43037b6c024347d65e31896d216c3035fd9198397a286273600c01470854ec31155a0003867af37fc3e29d80371450169fc40a4a2edd582696bbdb52185be5db18d6d1b10364abc06c241dc7668b6bcd5c93e330e7e085a711738c6334f32851cf1561673105581e034c84ab01783620a3b132ef7bfe691c152ec5c3c9c72506a8aed93712700c0a470cfc448f360dd805581e034b1b96845b1b27bf51826cb519e5fc9701879c6807a6289de8bb8334000c0147025152102a584005581e03e530d3dfdb8d0ad28ad012628139da2f8fcda162813084039bc3c9e3000c1a0038fdb44a03433ab33be988c432790336430befbdc69572b4fe23bce68acd421f4fa461f9f19d1d96858d7c392dc64701410a021969f703ac6cc31d0bde84d5229eaac57cd797f7307429bff228e943d6fb8ce374c53c2103bc75f0a9f1823d3a69f08e54df03b0f02dd32d3334c844bc76d0c4e949d71d3d0343c9b32c3dab947492ec426ec6e830070f93c7b9cfa34e04fbae05c13f9deea003e6f4b78555fa70abf058f3422d01fc7ca4bbb50d94e9370fbad850a55929c20e03ce450d881714fa2f94ddeb640f74e2e08f00121a0b60bd93951700a99cea8b95031a4ce2d89d37d2582f1ac19f008ef7f10b7dfeaa0ff4a4695d231410b7d34dc003f950dbf9380494c415abbe8d10fdc3ece30dea0308a36c3694b00c04f72a1c43039fc0ffccda2361543ef5e902128dc4ad2ea91f5cb8b633add28816885d7b61ff0312105bc2ec6468718cef8ecd4bba69f2639352c4d72969f227e4f45dcecd4311037db8b568c94db84c4e280089059d4088545a1f1a3871614492d78dc244b2644e03f50a7c55a56af15f358391085ecca00910a26e883da4227ac7b1011744d11f4503f3446587d112ebf35642f9efbee68fd7b70186789862c5eb6aa981fa1e1e908c0334dedcd3cafb806cbf744f445c8f561d93b00dfaf3d93efdb90a738ac1e5c9e90320a287f101acb6957456e9c5e46003459b5f19b97bc4edd9a60e26cc587a50e8039c8a7169056b50ead5d8fcfe19d911bf5c32b0a34926e4c8581c9c886d2bf2990219ffff038e11c96f90dae96f2d1aaa4eb7d3a3c0954606d89b4cd76278f67589a6d606e90388a6a65e12a3c34e5647328b085b7bc2efeadb74b2d2649dc3c1282ee09e05e4038dc8cd25dc439d0ac1aff94cbe4846b4261252cb363c34278163acaef3118e4e03d9ad8e0c916a49dececf1f6780b95c4edaed912536f6185dccbee1b523c06324033abdbe9a751809715ea27b63a176c9c8554d99becbab0c4bcbf4a03bfe36056b03f99d5ba2f141fa9fbcb747317c46e413cfc03b34a7e23a13b52986858362d4c303434f8504cc108d3b9127384b357685f10cb816cd41861c8e7b7c5342b496cbb6036884f29ec9f71773f020945d1ff854ee4a03f7aaf43114bf23ea80536c7447d303dcd4780a33fe7f3cb1f219ff5480102b4b37f3b8d49baa4e3b30ef880ca7f059035d6f593b6cff21ebf8b34cf9310c2d550c165bb4728fcf83dc44d1aea1159be60219ffff0219ffff032a1943da4b1471480cef5fbf0c1160f3c63d1149dd0a9d987975e65b5bf769a8039820cae80ea683aed3073557ced9503a674da6382061e13de74c7cf959e6d623031020333ca518522795cc7faa5ef5e3ef8c505c0bdd94000493886fe7830a6b9a0334e43f8067cf5e0abaaa0fc2e3b9ead2bc3c69c55cdf85fc766f270f7e5d1f1f0397ac92ef492398422e3ddfd3c7df09eae516d56768964539e9c17ca5254e22ef0219ffff03dda5255a30d8bb9ed0dbf699c5151fff100b33300bcfb30f9440b9fccece814e03431eb34c5de29c9a539e6601d76a24d2b23ba5006001314a4e14ad2c43f8c0d003e071a95293c6e4e540626f776c0e6a9679a196810a24b17a813d15883ca2b765034fd04ca0c7cd280ae0f6db22194fdd093089a6a088206b34c92cdcc9b83a732603f67eea22cd395eb85d310ac901d90528dd1d8fc04eff7b88c12f54df6bd49d4a03157485ec90b00ec5cfac5b036b8c1a8876358f0e6de980319459c0ed8d5cbeba0368d6455c9a1c8f587378189ea35443acd0623803675afc7bdea7b79106c8dfcf0369f7c6574ed8de46cc7c876c00a286654576bfcfa3fb855b07058253a970705f0351601b9b6e90db71474496714162736d99dcce8ee509f5a59b29641c9e154a1503e551adb7f3831a0a717434ccd276a5c16ecf33b2303e8236acc6ed927b3f76e803eecb4bd414b7e77a85963da995eb33dc80f814856c98c5eff3d1170ffc72b3d4035d80181f6ea55dc119060b0fa2d5b7c1628cc117eef7b57c490aaf443389d9680344459267cac983495a406f666bc6cb462755316beb4092166ac63414e7e5ca6a033a1480733a4d71ed6e3a5efff9afb72e8e7ee9cc7a14ade917d5a98f7a2ced3001410c03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03bea2ec5b709935a58011a621d89cdd7b844b5f417875ecee819eece28007011bffffffffffffffff031b9839ddde08f259eef71c9d2f4936a83297b5a8063282d302168df774c6d71105581e031af524fa997d290f75ca1d8ab11af561c56a6c8b653833b6a480094010040105581e0303450c18185a997158552cb60b9a0dedbbd70518f18ddacd57a8c1ab300c01470d2314d0677e0005581d02e9dbf45465f69215a9259301300e62cf7cdd56e9dc3f7b154ead51dd0c01476bd70a5beddc00045920a06080604052600436106101235760003560e01c8063813d31c9116100a0578063bc22e4bc11610064578063bc22e4bc14610461578063c314cdae1461048e578063c7f0da13146104c4578063d294f093146104e4578063f2fde38b146104f957610193565b8063813d31c9146103a25780638da5cb5b146103c2578063927dd240146103e05780639a8a059214610420578063b1d995dd1461044e57610193565b80634f64ca19116100e75780634f64ca19146102c9578063715018a6146102e957806372ee3f69146102fe5780637533d7881461034c5780637cf5744f1461038257610193565b8063074f8685146101d25780631375094614610225578063207bae8a1461024757806320d2837d146102755780633fe3da361461029557610193565b366101935760405162461bcd60e51b815260206004820152603560248201527f5a4b4272696467653a746865205a6b42726964676520636f6e747261637420646044820152746f6573206e6f74206163636570742061737365747360581b60648201526084015b60405180910390fd5b60405162461bcd60e51b81526020600482015260146024820152731692d09c9a5919d94e9d5b9cdd5c1c1bdc9d195960621b604482015260640161018a565b3480156101de57600080fd5b506102086101ed3660046119af565b6068602052600090815260409020546001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b34801561023157600080fd5b506102456102403660046119df565b610519565b005b34801561025357600080fd5b506102676102623660046119df565b61063d565b60405190815260200161021c565b34801561028157600080fd5b50610245610290366004611a0f565b610658565b3480156102a157600080fd5b506102677fb8abfd5c33667c7440a4fc1153ae39a24833dbe44f7eb19cbe5cd5f2583e494081565b3480156102d557600080fd5b506102456102e4366004611a46565b6106c4565b3480156102f557600080fd5b50610245610c2c565b34801561030a57600080fd5b506103346103193660046119df565b6067602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021c565b34801561035857600080fd5b506103346103673660046119df565b6069602052600090815260409020546001600160a01b031681565b34801561038e57600080fd5b5061024561039d366004611a0f565b610c40565b3480156103ae57600080fd5b506102456103bd366004611a0f565b610cfa565b3480156103ce57600080fd5b506033546001600160a01b0316610334565b3480156103ec57600080fd5b506104106103fb3660046119af565b606a6020526000908152604090205460ff1681565b604051901515815260200161021c565b34801561042c57600080fd5b5060655461043b9061ffff1681565b60405161ffff909116815260200161021c565b61020861045c366004611b46565b610db4565b34801561046d57600080fd5b5061026761047c3660046119df565b606b6020526000908152604090205481565b34801561049a57600080fd5b506103346104a93660046119df565b6066602052600090815260409020546001600160a01b031681565b3480156104d057600080fd5b506102456104df366004611be8565b610ee4565b3480156104f057600080fd5b50610245610f38565b34801561050557600080fd5b50610245610514366004611c12565b610fb4565b600054610100900460ff16158080156105395750600054600160ff909116105b806105535750303b158015610553575060005460ff166001145b6105b65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161018a565b6000805460ff1916600117905580156105d9576000805461ff0019166101001790555b6105e161102a565b6065805461ffff191661ffff84161790558015610639576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b5050565b61ffff81166000908152606b60205260408120545b92915050565b610660611059565b61ffff821660008181526069602090815260409182902080546001600160a01b0319166001600160a01b0386169081179091558251938452908301527ffaf6f43fc2c7c31da89dab02a8c756e6f9cb07101aac8268ce100037170d9cc59101610630565b61ffff85166000908152606660209081526040808320546067909252909120546001600160a01b0391821691168161073e5760405162461bcd60e51b815260206004820152601f60248201527f5a4b4272696467653a4d70745665726966696572206973206e6f742073657400604482015260640161018a565b6001600160a01b03811661079e5760405162461bcd60e51b815260206004820152602160248201527f5a4b4272696467653a426c6f636b2055706461746572206973206e6f742073656044820152601d60fa1b606482015260840161018a565b60405163057d916d60e11b81526000906001600160a01b03841690630afb22da906107cf9088908890600401611c2f565b600060405180830381865afa1580156107ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108149190810190611cc7565b9050806020015160011461087c5760405162461bcd60e51b815260206004820152602960248201527f5a4b4272696467653a536f7572636520436861696e205472616e73616374696f6044820152686e204661696c75726560b81b606482015260840161018a565b8051604051636e1ac47560e11b81526001600160a01b0384169163dc3588ea916108b3918b91600401918252602082015260400190565b602060405180830381865afa1580156108d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f49190611d5f565b6109405760405162461bcd60e51b815260206004820181905260248201527f5a4b4272696467653a426c6f636b20486561646572206973206e6f7420736574604482015260640161018a565b60006109508260400151886110b3565b61ffff8a1660009081526069602052604090205460808201519192506001600160a01b039182169116146109e25760405162461bcd60e51b815260206004820152603360248201527f5a4b4272696467653a44657374696e6174696f6e20636861696e206973206e6f604482015272742061207472757374656420736f757263656560681b606482015260840161018a565b606554815161ffff908116911614610a475760405162461bcd60e51b815260206004820152602260248201527f5a4b4272696467653a496e76616c69642064657374696e6174696f6e2063686160448201526134b760f11b606482015260840161018a565b600089826060015183604001518460200151604051602001610a9b949392919061ffff9490941684526001600160a01b039283166020850152911660408301526001600160401b0316606082015260800190565b60408051601f1981840301815291815281516020928301206000818152606a90935291205490915060ff1615610b1e5760405162461bcd60e51b815260206004820152602260248201527f5a4b4272696467653a4d65737361676520616c72656164792065786563757465604482015261321760f11b606482015260840161018a565b6001606a600083815260200190815260200160002060006101000a81548160ff02191690831515021790555081604001516001600160a01b0316632de9952a8b846060015185602001518660a001516040518563ffffffff1660e01b8152600401610b8c9493929190611dad565b600060405180830381600087803b158015610ba657600080fd5b505af1158015610bba573d6000803e3d6000fd5b5050505081602001516001600160401b03168a61ffff1683606001516001600160a01b03167f4a008ac830958ba6fe8a6e667e2ab53a530eb6cdf93e55b27fc42d7a54cf25b785604001518660a00151604051610c18929190611df4565b60405180910390a450505050505050505050565b610c34611059565b610c3e60006112ff565b565b610c48611059565b6001600160a01b038116610c965760405162461bcd60e51b81526020600482015260156024820152745a4b4272696467653a5a65726f206164647265737360581b604482015260640161018a565b61ffff821660008181526066602090815260409182902080546001600160a01b0319166001600160a01b0386169081179091558251938452908301527fed9c939d1df4ba98f2bed2c3925ea9a064ead1c18bee6cbd8872425e3beb97989101610630565b610d02611059565b6001600160a01b038116610d505760405162461bcd60e51b81526020600482015260156024820152745a4b4272696467653a5a65726f206164647265737360581b604482015260640161018a565b61ffff821660008181526067602090815260409182902080546001600160a01b0319166001600160a01b0386169081179091558251938452908301527fe3e6f58279db3007bfc2c2ede323a50a39329bc9d06e14a32d2def2181ecd2239101610630565b60655460009061ffff90811690851603610e1b5760405162461bcd60e51b815260206004820152602260248201527f5a4b4272696467653a43616e6e6f742073656e6420746f2073616d652063686160448201526134b760f11b606482015260840161018a565b61ffff84166000908152606b6020526040902054341015610e7e5760405162461bcd60e51b815260206004820152601960248201527f5a4b4272696467653a696e73756666696369656e742046656500000000000000604482015260640161018a565b610e89338585611351565b9050806001600160401b03168461ffff16336001600160a01b03167fb8abfd5c33667c7440a4fc1153ae39a24833dbe44f7eb19cbe5cd5f2583e49408686604051610ed5929190611df4565b60405180910390a49392505050565b610eec611059565b61ffff82166000818152606b6020908152604091829020849055815192835282018390527f47d9066e07019286c19790aa54f97c9830127e71edff41b453c7adeaa15d2fe89101610630565b610f40611059565b604080513381524760208201527ff40b9ca28516abde647ef8ed0e7b155e16347eb4d8dd6eb29989ed2c0c3d27e8910160405180910390a16033546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610fb1573d6000803e3d6000fd5b50565b610fbc611059565b6001600160a01b0381166110215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161018a565b610fb1816112ff565b600054610100900460ff166110515760405162461bcd60e51b815260040161018a90611e18565b610c3e6113ee565b6033546001600160a01b03163314610c3e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161018a565b6040805160c08101825260008082526020820181905291810182905260608082018390526080820183905260a0820152906110f56110f08561141e565b611487565b9050821561118a57611108836002611e79565b8151116111505760405162461bcd60e51b81526020600482015260166024820152752d25a13934b233b29d24b73b30b634b210383937b7b360511b604482015260640161018a565b6111876110f061118283611165876002611e79565b8151811061117557611175611e8c565b602002602001015161159c565b61141e565b90505b60006111a86110f06111828460018151811061117557611175611e8c565b905060006111cf826000815181106111c2576111c2611e8c565b602002602001015161161a565b90507f475402a3cc99838bbf5b03eeac51c65db7cc241bb0814e6341a32a0da7c1b6c081016112f65761121b8360008151811061120e5761120e611e8c565b6020026020010151611668565b6001600160a01b03166080850152815161124f908390600190811061124257611242611e8c565b6020026020010151611682565b8060200190518101906112629190611ea2565b6001600160a01b03166060850152815161128990839060029081106111c2576111c2611e8c565b61ffff16845281516112a890839060039081106111c2576111c2611e8c565b6001600160401b0316602085015282516112cf908490600290811061124257611242611e8c565b8060200190518101906112e29190611ebf565b60a08601526001600160a01b031660408501525b50505092915050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b03808616602083015261ffff8516928201929092529082166060820152600090819060800160408051601f1981840301815291815281516020928301206000818152606890935290822080546001600160401b0316945090925083916113c183611f0f565b91906101000a8154816001600160401b0302191690836001600160401b0316021790555050509392505050565b600054610100900460ff166114155760405162461bcd60e51b815260040161018a90611e18565b610c3e336112ff565b6040805180820190915260008082526020820152602082018051835160009190911a908015801590611453575060c060ff8316105b1561146b576001928301926114689082611f35565b90505b6040805180820190915290815260208101929092525092915050565b6060611492826116ff565b61149b57600080fd5b60006114a68361173a565b90506000816001600160401b038111156114c2576114c2611ad9565b60405190808252806020026020018201604052801561150757816020015b60408051808201909152600080825260208201528152602001906001900390816114e05790505b509050600061151985602001516117bf565b85602001516115289190611e79565b90506000805b848110156115915761153f83611841565b915060405180604001604052808381526020018481525084828151811061156857611568611e8c565b602090810291909101015261157d8284611e79565b92508061158981611f48565b91505061152e565b509195945050505050565b6060600082600001516001600160401b038111156115bc576115bc611ad9565b6040519080825280601f01601f1916602001820160405280156115e6576020820181803683370190505b50905080516000036115f85792915050565b600081602001905061161384602001518286600001516118e5565b5092915050565b80516000901580159061162f57508151602110155b61163857600080fd5b60008061164484611968565b8151919350915060208210156116605760208290036101000a90045b949350505050565b805160009060151461167957600080fd5b6106528261161a565b805160609061169057600080fd5b60008061169c84611968565b915091506000816001600160401b038111156116ba576116ba611ad9565b6040519080825280601f01601f1916602001820160405280156116e4576020820181803683370190505b509050602081016116f68482856118e5565b50949350505050565b8051600090810361171257506000919050565b6020820151805160001a9060c0821015611730575060009392505050565b5060019392505050565b8051600090810361174d57506000919050565b60008061175d84602001516117bf565b846020015161176c9190611e79565b90506000846000015185602001516117849190611e79565b90505b808210156117b65761179882611841565b6117a29083611e79565b9150826117ae81611f48565b935050611787565b50909392505050565b8051600090811a60808110156117d85750600092915050565b60b88110806117f3575060c081108015906117f3575060f881105b156118015750600192915050565b60c081101561183557611816600160b8611f61565b6118239060ff1682611f35565b61182e906001611e79565b9392505050565b611816600160f8611f61565b80516000908190811a608081101561185c5760019150611613565b60b881101561188257611870608082611f35565b61187b906001611e79565b9150611613565b60c08110156118af5760b78103600185019450806020036101000a85510460018201810193505050611613565b60f88110156118c35761187060c082611f35565b60019390930151602084900360f7016101000a900490920160f5190192915050565b806000036118f257505050565b6020811061192a5782518252611909602084611e79565b9250611916602083611e79565b9150611923602082611f35565b90506118f2565b8015611963576000600161193f836020611f35565b61194b9061010061205e565b6119559190611f35565b845184518216911916178352505b505050565b600080600061197a84602001516117bf565b9050600081856020015161198e9190611e79565b905060008286600001516119a29190611f35565b9196919550909350505050565b6000602082840312156119c157600080fd5b5035919050565b803561ffff811681146119da57600080fd5b919050565b6000602082840312156119f157600080fd5b61182e826119c8565b6001600160a01b0381168114610fb157600080fd5b60008060408385031215611a2257600080fd5b611a2b836119c8565b91506020830135611a3b816119fa565b809150509250929050565b600080600080600060808688031215611a5e57600080fd5b611a67866119c8565b9450602086013593506040860135925060608601356001600160401b0380821115611a9157600080fd5b818801915088601f830112611aa557600080fd5b813581811115611ab457600080fd5b896020828501011115611ac657600080fd5b9699959850939650602001949392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715611b1757611b17611ad9565b604052919050565b60006001600160401b03821115611b3857611b38611ad9565b50601f01601f191660200190565b600080600060608486031215611b5b57600080fd5b611b64846119c8565b92506020840135611b74816119fa565b915060408401356001600160401b03811115611b8f57600080fd5b8401601f81018613611ba057600080fd5b8035611bb3611bae82611b1f565b611aef565b818152876020838501011115611bc857600080fd5b816020840160208301376000602083830101528093505050509250925092565b60008060408385031215611bfb57600080fd5b611c04836119c8565b946020939093013593505050565b600060208284031215611c2457600080fd5b813561182e816119fa565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b60005b83811015611c79578181015183820152602001611c61565b50506000910152565b600082601f830112611c9357600080fd5b8151611ca1611bae82611b1f565b818152846020838601011115611cb657600080fd5b611660826020830160208701611c5e565b600060208284031215611cd957600080fd5b81516001600160401b0380821115611cf057600080fd5b9083019060608286031215611d0457600080fd5b604051606081018181108382111715611d1f57611d1f611ad9565b80604052508251815260208301516020820152604083015182811115611d4457600080fd5b611d5087828601611c82565b60408301525095945050505050565b600060208284031215611d7157600080fd5b8151801515811461182e57600080fd5b60008151808452611d99816020860160208601611c5e565b601f01601f19169290920160200192915050565b61ffff851681526001600160a01b03841660208201526001600160401b0383166040820152608060608201819052600090611dea90830184611d81565b9695505050505050565b6001600160a01b038316815260406020820181905260009061166090830184611d81565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561065257610652611e63565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611eb457600080fd5b815161182e816119fa565b60008060408385031215611ed257600080fd5b8251611edd816119fa565b60208401519092506001600160401b03811115611ef957600080fd5b611f0585828601611c82565b9150509250929050565b60006001600160401b03808316818103611f2b57611f2b611e63565b6001019392505050565b8181038181111561065257610652611e63565b600060018201611f5a57611f5a611e63565b5060010190565b60ff828116828216039081111561065257610652611e63565b600181815b80851115611fb5578160001904821115611f9b57611f9b611e63565b80851615611fa857918102915b93841c9390800290611f7f565b509250929050565b600082611fcc57506001610652565b81611fd957506000610652565b8160018114611fef5760028114611ff957612015565b6001915050610652565b60ff84111561200a5761200a611e63565b50506001821b610652565b5060208310610133831016604e8410600b8410161715612038575081810a610652565b6120428383611f7a565b806000190482111561205657612056611e63565b029392505050565b600061182e8383611fbd56fea2646970667358221220c0bf530925667a92a359929ef7143b5eeef4ef4aae4c777ab255f653581ae37064736f6c634300081300330605581d0223490a7a3bd47bfad6ba69379bbba4f72d227fe7ab7bca87a3ba55cc07011920a002182205581e03f8d3fbe20b99b4ccc8f96dfbb388db7bb0abafa06b8b4eb1eba0d2cfb0040105581e034c094df253016d25bcf55be194d5d7bd0b6df246f2819a811ddae21210040305581e032c272c10b1c0d43d15eb37f3b514bb462374bc49ccbd377466e7e0c6c0040103907114ad06ea1bed0a6e9f5b8e17150f8ec2ff98510e01fc3663d5bdd55d32f401410e03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03551ce6ae5b173d22b66f699d326f1cb388b9ee0598994cdbede45336f007011bffffffffffffffff03f264259b214dcf35da5a9960f12b00d4f39d32beadecfb39499103be9bbed225031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038352d31cf4fb67711ba2bb66fe5d255781da0eaa5ceeae690dcc47a00007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03d2ef509dcc58e06d927b62def4b3c7fe4a5757399aca1ceb1fd8e9805007011bffffffffffffffff0219f7f703afaaea219dbdd91b129f572265b3a6ee7d0eed8f15139a7b416bf196b3ae085b03189c19c37939ecb568694d23f36b688f2057be2b32c8115247c6e4f1337d3aa2032356ca1772d778018439412128cd46ef04b81182b8a1e418cfbd498447d9801003809adf6736ad6dbfc369dad3f53de59c3c7f9782db55a150a0f422a8d9392e4f030bc9545e90ded746d8337efe4a8878f8ea5e4b4802df3aafa350c5daf154c77d03f907e34e91d77461303bf15257a744fdefff2e1bd756aed4c032d810bdb4377c035e632c62f4256b113c6c08d65310ec3db6b2771e0b3190fdbc640585c9da4510038bdc1b20a016f1636dcbcecb0330b8bdd93c667f2aa67b21f3ef7c272cbefb05038637edd810810889be22d6998dd3f81ec5642883bb3a8d7baaa23edcc5a53c620325f058b01ae8a2ea8adad9528a56607e96feb1c9fb249fad635dfb3e4ded9c1d03afffc88dc6bdd58a27d70e6793327bb178bcb46f588ad1f07eb730caacbc49ad030cb835f7f90a78362982de80078887bf75b2dc89ba0b5ed526671f9e146cc0410319082ac4fedd6efa097c704657594254776e211b498d7c484e4caa0032925ae9031e69df062f79da8f4c2d37d621b010987dba2d1ad9ec8f9fbd5282863fab54e30332a8d28a651f7a1f39f044ff4d3465ffe656fe4cd0ba71f0165fdb6f9d603dc20219ffff030432a90ed724fc2c22c2ea0730148fc255f99487a676b3d186e585dc7efb423d03a35e1a50d867bd149839acca56f140b11b02804c9d477dcec914b5879788ed390395011ac873522c64ebc4d6f50d73a4d3d9985a5e2e12464df80234c83cd13d8a031b05e979117208a9d06bc7faeec3730f5f4f64789e665e4ef6f96bbbe398f43b0388e666eab5bfd4402a3f6437ae6bba36f12a7429a5be7cbfd636eca397caa4560390385dd4f31cada46688406b86708da82bb1240f89e2c590d1a65e823a10a01a03d645beab426b9668346f329af8a7a2c6a080334782392d089261f98d0b7ac8bc03e314b2b08e646ce3792fe2ce4807d8309e3ea6b64ee8bec503802f73cc621679039fef69d0ba902d402b76c002eb93698914d8b7e96f52bdb64c4966e7f381f1f40313c8fb41421ee745f29d09b5914923fd4046c8698710a08e7fec10c903f8892d0219ffff0338325fd0679a6b77bba0b7bf55154801416c7e40f2f6a0f97e837af613eae01703b2405e6f4a5664819a304a51f37cd018543c7c648cd7267e6d2a37f246612b360321845a26649023e875389804c4da32b4fd0b6e37443cc6823518d0b6c7658a1203d98bc382ee4451fad6130b6072962919e6f479a1eaac22ca8eca3b699cdeaa54037c869bd8bf0b2f9221b99870101346144e58173771f73b44502fa6556cd4649803917ee6e10a27e7455c24cdac8fb3b83bd71d5d449b3332074cb9f7b1b327bb0903c3872477f9a966a0e3d9380980b1077f7bde6e0f5d44d7cc5116bef5d92a88610392f63200c27225b40f69158d8d8012b9701256f0080e1f2aa12eb6d95057eef20399399b1b4fa5ca1600a4dfdfd3a60137686bf2dc56452be0d48555fd096016c9037638a51ae2e97b0945999afb09cf3ae93562e72b62f9027d3793a9638489228503770019ee5d39109bb23089308fe5b2573bd2842152b5a9535696c2dc2b97f2ac035199e3e1d7cede0e691bf45209ad984b84e4996bad95713a0540bb40c8fde4ae03bd79aa2830c5490ae700efe8ac582dd5fa4364f58f3a28b1748f82d54ae7f986034c4b989cb4d44aa4d27d85457a96fb39d2ca10d5cf6331e1430b2231c56f972003acf8a99f5e74771b91a8fda5f3a05cf4cc5a5ecb238b48dad22f499de877dd9b0219ffff03b2a1c9f7ae80ab75b4e8d929d2418776afd675b93cd5f634d0588241666869310315b4bb38be159b1c68eaaa9bcf2b1aac200184d33d29230656b8cb031c58280e03a54f9c3dcd09c010392451b8a8fdfdc5719ecc7c0755b85698fa7656b8d4746903165b4d957d6fe62326443040acd62aa20bff9d78ee7468668373a863979b7fdc0360f89c5fc724a5fee3dd109e7f51848f936bc94805661727244d1478c63c2d28030644e00fce66eb59ec18a86506a8edb805f6d56cbf41d4c9b04dffd1e4fd6750030d37ed394b3e96c652e4a944ccc4dcc79ca0bb8278e1db12989da3cb53a7d4aa037b8497f90ca5623e50ebe20fe548aef75b82fefa01e2a2abb1a3eba5a23cb08503c73c2e7d4d81ca0a1e7e2fd447d17c764c61f70e9026773e01f0ae65f9d2bb130219ffff03c2385174490af3e86fc7782e0ff59c491523f947fd02bf7eb38d5467ce04f9b5039c4ab2826f7e5a07ff199f53c556edcb756fc73963fa70fc437c7ae91852798c0311f5bf5ba4d93cc9c619a7bff17df9f802bb7c5364add85721e20876128691ba0346a08b43bcd30a66d28ea5bea23e3686315b0f58edf7b488f3db706d2744d656036c0984e5bfcb98153904a78d8c347826fe0749a939e714805a5a4c9ada287dcf03da8f9f15cd4bd8ca66f763c2592e2e45034adc9061abfe561ffc8c828adcf0b9037b3baee7609a473e6aca3e8e2491c4f2d61fb277aad986790c5990cbd74f093103d961ed74becf28f672007982201f35187c0797cbfc2eacaa7dbaf0a73c2c982f037a585efd68c3f9487bc6b886522959b83c048fb91802e4bfe80e9459ca21fed203fae8edd640c76f697b6ece21a36e484f23ebd7da00b8025a65cd7d6411b4c5b7035c192cf04252c3260ed0cf711803e9823c17dcd5e7393208be46bf645272d5fb037c3ae79818008a7a451c3c4921aa8ed5ef48b13098a23e0fbac9a43df22f629103c7e7ee256142c18de5ac9a4d196f6f3f3eb90a4ff8c184d35f244aeee7f9311e03f67d1b6de4d2168e3a0a55422e1ad2d826060a1e442b341a56551437818307eb039e1fdaa7d418d4847e130cf72f8c25d3ca874bbde20e5a452302a97d02c29592031a73142b7cfd0cd4e2c0b430f19db3a43128e7bbb12b53636d7459a18ec4d7b7030731c0c2a40b622af77eaa7556e7a6865f306ec9dc2a328ec68686cc4f16cd4b03f715c8df0cc6b8ea9520ebf4ab97e5f8f174c36ef8d48c2e44c4bc1a5538a37603980f509f127398359d28dccaf77e6baa43912d5dfeacc6d9e5904951b87c583b03aaa4061d53a996d9b646b19838db9c09b53b368a1936a3266e22bdf754cfe6ce038af33a085bfbb484ae4de4baf1d4205e72850254bafdb260beb34b10735fbe1a03f9c0ff91f44f3069bebcbf991e49ba398fe14da0a527208f671ad06e303ec5e703315c8e3a8722c696ef1359d4197ee982679b9536c9f31a9d57b0f0b3ccbb63ae03d9fdcc09d20705021a3f30978e64017d1da854350fc71dfb6377a9c07589faca0398c917ee6501a54b3c4616133717f7456291e02a4e93051d14247e698a93d425036d2a479a943d8e590d234b071238705e36c2bc484c2925809a6282977925c52c03abeb17df12cae5c438fc28b3517e7d0bbf469dc5b50f24d0d38360232689573a036284c47a5e1305fb91c5ebb9702946abfbd7df214b919e5ace2cb078c0e6dfca0393a01d3265bc269d01b8f64334623071a17f723da6056ccbff6bdd78338156630308935abf2333e9b3c8c3ac9f929694001108ecc4681b32af5e0b1bce1d87643f03bbaf12b302c83f3818127585bf721603f0b219bc11ca6500e72e3625a46142fc031f097c265888d5f95e8e664fe4927676fd4f733d1944eba49e73386f18dfd717039155f09d9f5ff43fc7892917da2421fb0a9c80912bbe2c1e98b8bb987888bef1038f16993a613cad29e9cbeb2ffccf3493c57a4b12f155d781e5a572ccb9386b6403c39485384e33199951d1e2a0e5011a7ad6636fcd1e39ecfc7cf2f6f11d928baf03a8c73bb3fad67ffc7731a8d111d7a908c63ccfb7312173d59b04b9dcc25a6a79030d9b03d13d96e0d1694189e0e3b93e682d5e08848b04858d525c15ce0deee86003e85394eebfc8ede3bb031f637db028345183e2a6d2b384201ab5c735123354ac05581d02e40f8f3163f60e66d6b495a055db75592d3e9ce2d011c7e6ac87b54a0c0147014a3e84968aed0459029c6080604081815230600090815260016020908152828220549082905291812063bf40fac160e01b909352916001600160a01b039091169063bf40fac19061004790608461017e565b60206040518083038186803b15801561005f57600080fd5b505afa158015610073573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100979190610226565b90506001600160a01b0381166100ff5760405162461bcd60e51b815260206004820152602360248201527f5461726765742061646472657373206d75737420626520696e697469616c697a60448201526232b21760e91b606482015260840160405180910390fd5b600080826001600160a01b031660003660405161011d929190610256565b600060405180830381855af49150503d8060008114610158576040519150601f19603f3d011682016040523d82523d6000602084013e61015d565b606091505b5090925090506001821515141561017657805160208201f35b805160208201fd5b600060208083526000845481600182811c9150808316806101a057607f831692505b8583108114156101be57634e487b7160e01b85526022600452602485fd5b8786018381526020018180156101db57600181146101ec57610217565b60ff19861682528782019650610217565b60008b81526020902060005b86811015610211578154848201529085019089016101f8565b83019750505b50949998505050505050505050565b60006020828403121561023857600080fd5b81516001600160a01b038116811461024f57600080fd5b9392505050565b818382376000910190815291905056fea2646970667358221220edb025fb8656bfe68e1f6fdcfa8ab0e0c6a5e51eccebff0b181072c10fc6096564736f6c63430008090033033f62fd6b6ef03c31fc32ad8157214436fb5ce4449febbba0029f057b9e5150a3039f9397f8bd8abd1a91c4dd8980a942dfbbcec6eff78993bd4938e865f28d445c03c553b336d03a057883b4411153740a97f190d877ead6f388949f7986d2cc494c038353de45da07c2779e8953319c1cb499e43213e89574b77d137d6fe9092f030a0365ecee0d86485d631173710e3b61855ce209db9df1f58dfa556ac739264d6666030be3f94d5041fe947c21c19a9d9a1d071f7b5c6a05611d8c9d1f6862e7abcba5035981383e73841afae3d97813a0217aa866b9dc9e2e33105aec2d00bb042c147c03667a96f45265109af41f49d28c07814aca1650ac6687048d558f486917feb33603f5f4013e4bb2053c259cabe2aed4a0fec7521e17102aaf148e558a39cae284d70352de6a2b160e44e9013c3a7afe84455872441f5e81e09e13f72a0beb44013204031ee054dccaeaddef6fb7aca2a24c87af3c7be3621de7298cccd4a78cc80966b800581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56355016968f3f16c3e64003f02e121cf0d5ccbf5625a4200581f0210c02d10b2798a8a1f2c516c2fe258fc6f2e1454ee3f8ec7a0588fd6fa2c410102196000005820032ec3dfacec5f0b27e876fc021eb78e2452ab842594825b2a00fbbd6b164240410103057bef6208be9bf968a00d1943449416a08b4f40c90b6a69c770f48a348ce06600582003deb1d57e66ef9301ee8e6b122ef2662b9a572c0ad518df4edb07e39e8908e0410103274642f7f730874f84c9984d0706ffd1ef1d8aaf84dd9c36ea56524c3e6d83b7032e5c9e89e35f906c47e340e73de1992084669eaf3e918e510f5e8e0caebba7f700582003a9514fca306f08bac8f345604bf8cae0aab852050c61b6213871fb976a82e0410100582003997356e7d0ca213bd8b1b162eed15bbb7b7ba9a454b79de2369bf60f1ea710410103c3a742435c029e4f5f7d81ad09e8570858caa94326e9476ad5fe1c0674c0355503f87d1002168372f231eee920c3d1a5dbc88b4bd2ebd98121c8027ec7da1b266a021967c703eb79245aedfa403cfc670ed8eb18b18dedeaab3442749599e130511fde77b58f03aa23c8aed01f5430c285a565e9d60df266101340b6bfc62d30de7fe8ef5d120603a953f489af724c70bacb3471a5190c9e1bc8ee67525cd93c8dee2ba093c2273b03c5a76e2c9aca14c610de4234cae731df60f13a6dabddc0c58b400b33e75631b003475d96ba6ffef5d669c7a5ccc072f08dd7517ada25327a866bb1fa629884e47c032f5d4f3fecbdcc0e59c915e8c8f73ab656182e5751a7a619c427378b3a4cae080219ffff03c46dab86ad696e7043adcead459f17a27edd957394321ed309ed24a08804bd5903d6bfb4a3425bb6638e04af365c00cf3d52b8ccc6923ff0e2d6dca44983e964ad030fd8a5f52f84f9182da18124079598881c6982c27a724c6f24fb5dd3fff6b009030a0202f68d7f5d9dd59bccc0d0155fc1c1e67e0798b5691ef320d0b800c0524803b2c365d0d485e5b59c90546106032e1cc8e4aab4162651901d04385b1399189103fc36239ce5e6de8522840534803c787e7f0d7cc9cff4842d2cfe14410dcd9ff2039f319e9b8b6f877dc0630c02573f2ecdd8bbfc14bde76431a77148e6752fd5b2036d2303280b8988be4de4d647fddfa8b161b8a51ddaa8d66c93a188a14d274f2f0340395823e7e05cd8937fbbd66c0b07144ab8960a11f14a2c8dc033ae20a417d2035135c9bb364cb944dedc2521fcdfdfd05386ff11cc83bad2da235c0ad66b99bf0382c1c4f62a1430b3273b147d387bc193f2928ce72f2588ba9bff0b7c891d978d03434ce3c81651525fac0e0b3a1a11e15a4f48310416b9551b2e4fb78696fcbaf103af59ee7c67e22830966025b16ab5bba7b9a11ee41c8e594402c39e0149d6e08f03705ea6fbe9657a0fa9321f3f52c5e7561a7845420a4ed78024a830f7ff73a8ed039a2b3b6a3aedcdbfe99758c43bd1ced68ee203eeda59a75776f5fd1ce1f3a08c032ca56972ef18767c3eb45fed2fafd934ae5cd48749f427c2cdbe3650fcc9d8a3005820033c522d394f81e775a7e47578c40a7a8c3e1118acbdd88a24eaafa418397000410103f8eb6bb1f9785c1053b77ae1ae3db3c7a27dc87a5b4649e34b5bad9a1b87d70600581f036e12ee8511ebfc410bbdb26aab31df236b969fc7b12ff2fdcea33aaa9e00410100581f032b2835808391ee5ad7bdd6888b621b17c2af5a1f21892cff5ee5c5a21730546968f3f16c3e64003f02e121cf0d5ccbf5625a420219402001410003f59930f7e191e43cf3dd0d5828f75f3eb9d5c8cd24bdc2b0881d34c93480a93e03fe205b7a6ca864c0b200c06344d788875f0e7e641eb910223db14976e18715a600582003df6a1a2ccc3bdb155af5851c9d0d5ec605024893648d14e0a5678c10a65050410102199229036dad2fc4b72acee75e9f2e186c2f4670d68695a9544f101479dc29d80ebec86003d6cdd1f1e3d61556fe1a2e00eb67b6145a55f7b1abfa070fbff5fc3aeb07438e038e9284597fdd0d9174607673ab66e3ad9da3f97627699225919af3283f8d641b0219ffff03e62729be16c7c7c4d1ab7ca91481babdbd7f99d0e27575e3669093cf6c4a998803fb637422260fd1a1158da034f5776b4a91f7330814dbe229703d672cda0254870364799c7a8be2d0c5b9bcaa995dd366fbdbe466ddc600cada4b139c064ffbb6a7034f7914d762453e4dcbc7ec35189525e53d7105af04a59a3c7210442b5765fd770375905f0c0f5b1831a5165edb2491b341f8a5ba76015cadacdbc5300810e347cc03696ebb1381a9048355e7d27e7e2e6b8bb9a6555b4392b53a485a8f39238e79d003c5dc194589a778157307170ae46d38ea011de3d34cc18010022cf75d434cf08e03a3a251244a120f85afb25fcefa2f3a8bd8d8b865f4f1bd08a184dfa8805551c803f2b7fc7f3ef554e49a43fa19cde43adec02b6399035f5a70b629713e1a93ac3703bbe921d3bea489dfa08aa1098cab6472e547b8a7a27bd2236c944162cb685aa0036ac27fe37648ae8d5e986888348aaa134281f45a0cde5dd3736061fd6357dd2a005820034d295f135c890a4c15fc0c11460ad22f978ba0a32abdc8f2a6c0de522fb4c0410100582003e5299130188f802a74b1e1fbc4e3c76b0df493e965bfc40e890814ff81ec4041010341d31b8f020ed1bbcccae4e290ec090a5fa1fa6b702cab75162bc3917f82210f0058200398011e1255c61a8aa288b6183ed3915ee0cafcb353d986b3b765e4b19799304101035cc20943510bd8ede4c4046870007cec03800d64b55aa7ace60799c7895a8c1e00582003b4fcfbe5ac7833cef9859bdbc56a7291d5ba7acae1ea22ddcb453236b88680410103636f3f4c2396e37695d72da5e31ad47a1b2a4b31c7ba5a1a5a6afcc94cf86ade0321876d55fdd3a76105e0ae0999819d48faebf5de28aadcf285de46d24935c3af0058200361d91b25c2ef3b0bd814f5b077753164b20ea9220a0b1eb340c84c67c10230582042564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000003403b09faf081a7498a0249f92c60cda9dfdf6bb43e32e5582a1e3675f9933b5e346014200fb033bbbee72dd812765eacf931d11a260d868e2b2569337a2d852fe2126d9d4fdc7005820036efc49ec22024e90db6876020b26b384bd2d2e824f9341b4b6d72501c5a7d041010219ffba03844f9ab6725845753a55d9578cfafddd50e6c320c68a9fd77b6f1ee3def2ab08030e2eae787c9e2a66ccce7cf30b9e9a2e03849b6e1bc936f606028d0ea15218ca0328a080c030614d6b781fe14d046344eaba8017db9fa3953ba46330387aab833103b77bdb8816fd3fc892910e8481e7c39560e77074d61fc83de4a0d16b3510e77103f41675fe4786618842e3995e008919d2c0f50af96ad8ee28f2fe9ef4dfa527f90219ffff0338be31ed6c40b46df91096ce89d485a4ad6820e66dfc4c48798752b91bbbd4ff032651e64afea11d0f71f2967fd0f77c05c9f46e895681cd6dcfd6303db57d780f0389e4a15c5981b4e9c3be69bb9ab72018656ba1b4b2bdd78c380e3ec6388ad689038db67c264e49b9468508267304992a6f4309fb439c15bfa4a2f7479ded8bcb91030d0853dc7a697eba178962d5e9d93a61e16fcbeac72e2f9a410b1ee4b32d9415036d8d1eaa446320b9e23b43ab6046bf8f3a12241b9d5c43e7c83f75eb42d904640391bf6fba2018a1b998d145fa832f9b5fca17ade1f995710c60b3e3b1ae75e41e0219ffff05581d020e1f344da514aa282f713a956c97a18c9bba53db74ffd05b07053eb3070119029c021990000345b63ca6de158b9d3125ce0bd75c08be814fc5cfdc0096d6a72f395af05020590320e582d0837dd999497dedf75f2bf287431bab8fd39c4359154e97790212c57c0321cf403f4d115c57bfc3f0e8cb5adc531305307cf66693c90524a6e93aae099e035cfd61c0a2cf0a0af410a5f829233f1f3eaf6a6c80cecbf429aa3985d067c52105581e037efa64f70791470e1189a63db45217a069c9d438ad58856f49b66a8f800c02478e1bc9bf04000005581e03648dd50083dc6edc6dde9fdc98c19472b8cb11c5b59989d1f0035085f00c054708548e5fc8abf005581e03a9eecabefca591428ffdf1bffa2b10cd2747f4789073b3a646da612ec004010399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803783f6789ac0f2a0baa1d8ad754289a6ddf20f55c8d839cda8ce03ce0882dee7405581e03d2d1741422d33f9762cec46c0b4c9616e6e0462c4ae531a9285da4dfe007011bffffffffffffffff0219d79e03a081d3cad40fe5b61baa96beac328c34b076f36a55c05a123e5475c5ba2400790320a8bb76037258452dcc058202fafe8088a4cd94c718146edfcd38e381207167031f14775ff24e6361fcfe0084456ca5a06d17eb056490bb65ff0a3b081e2c35ee0359d7531a66cd21ac59afdfd163ee666d323b81173d01d0663d6f8a381397dcd9037b6fe87ff4613d1feb20f552249b0c460ab0322f1eb8a9a5c7377b2bc1bbc798038086e1827180cc2dd22e80762fb3cd2a0664d3d5dcd44277a141c0abfec4d9dd03855e63a82e0616bd020d188cf5749f1d4b22230cf52312414f4844e8ddb73a99033e31b811e3ca94f2c5e4656030f31d52b9758ecfcd25b9cb09783f3566635ecb034ae7b717e601cbad23eb1ccd41db53dc96036beb9e8c5779b63d43aeaa99dcb5036abb2cb9af490ee59f07c7fcc119f9b740038f597fd59e70e2976f9b1bffd71f037c89057a082ed1bca8b647ff1d06c528148cbc42899082df511c06153447309c03998f492a9a2821767dfdba9ac1529240b150b8b3a36b9f0d3653ad705d1550880344ff7e7e3283fd2d3dfec115ab593155bbfe4a27ddaa80ccfdab7120f2fa32090219ffff03757cb25e94f3b623273352dfa304ce9fa8d9e2744cf9c525c585deccdcd0340d039691bb03320d83b6f91a249892cd768e45377e5a2449b93d59e8e59c036b2d0303c071d2972eb36eb6894c4fae275bd6937e37d614aba7a7fac7787e5cb6c2ddd4036aaf6a5ffb096baf9a7dbd780263c8f19057caf6b1c08f2e894cad2dbcc88d2103bfec46fb700ed8486e2538e1312306348a171a92698c1e7672611487ae324b480219ffff03d85076e924fd5292f068ccf81ffc1937d21e7b9b7136035ee6fcc1956bae6fe403cfeab46ecfabd0ba02eef4de4698caa44bf6092c4bc731a5561a35baf2665fa203396c788cfa5a71db4c051d8dd01e8db37d25a796efd6906bc778d37e46e4888e0219ffff03ecb8efa1d0db2185728ce9779b8bc611fac65df2d058bb7f70ee7c44a0b9a45403e6ba7e2b77bf074875da9748c5c5211ecf90f126ea8c47a26bbe275fdb90e222033aa57d1a4fbf381f012e93aa932c91c599ee988cce3dbca81d483d704aba4c8703ffb45677f1a75da417af5512dc89e8443d8c3faa5303d84dd128e1cb87cabd0d03807e28ad30193bbca0b55ecc82e90df8f136b8f4e03d4566c2588e48a19fa0f803885a23fbfc3f3f95266a575cfcbb173d302fda49ca85ea8fc1d37a9181f2651503d89270baee77a7e56dee5d91549d11a57fe6dc03cd9754f6142ae24549a86b4803a22d07022f74384b49b4ba9a26a5243c7b0905e37dfcb00cefa2028d9b4b4e190316b090fe025a4abf069ab937856c134c7ff1c349d0aaf6e97e217755644fcdc4038a08838096f802744ebf31ee62041fe17101eec41463e1d2aed81e74127c2a2903585ddb382c5a0f8ce5c77fa9504eebe006af069c418a12af568254bf1fee2fcd0312ab0680ca62f67c72f03e1bcfeb2b2de2eb6a806c2b37ec749a1ed3c7e7cb1603117a7a4799ff7f00ea42bf873c80e47181ff1114c7a644205273ecd52e12a9df034b4f9a0b0be1a52356bdf74a8c055b17e4b0ad49774124065643448e4e0b77d303951b0693570efc03b5694767c3fcd66ca20509c22382cd55d1851a1159ec0efb0308afccb994eaf94fec02ec4e1c28d2705bf35eda2f885b3b58e49af0cce47a6b03063bae653c2ae81484d9ed7bade1a38071149aa65f5dbe6cd4b0d2f9f12a04c50316363862ba1411444b5181bc09710bec26726de123de981ef5bd16ddaa6431e4033afa153b3c699762976b393f732dde99cd4494a4a6c05eabad20ec14955bd4ed030161cead72833e17adeffc58df971a758eef2cb7cc7eab05dd699241b39325910312b5b720f096a708858d7718775589659782e1cd01f00a640217f9b73bb5895303e9a1b8db1ebf948fecc23e14fdf20ab2a60c81c1d68b2a7ed40055dd241968cc039279c8ee0a1ece613305380179896fbd6e2b98c74ec9514b6327c56fa56d8ca505581e039b09a4fa80509a0b437660f929b065f602faccc7055c0ac571dc18def00c190261480152981b1dddf2fd05581e03af0717cfb04a38f69c7b25e9f830934e3301f776ea28a700a8732893700c02480aede9b1dc091d8605581e03b5082cb98fb9fbc4402035e0a781e03368ffc32758e470a99db0a9d06004010327c02a1a822222c2ad6a9a01021c98abf05dbe6d19540035756ef97697ed41d00317daf33fcd9ea8b9c880fa707b0225e0b07ac9a584fc91b1bb518b7ccd8df5db05581e03d484ee4855ae8a0b5b1ac915ed8326b7bce6ed795aac2ba8f179a9442007011bffffffffffffffff05581e03d3eb224fc924ce4cb06a31328b6f8f057e0fcdb6b4261077dd472659b004181905581e0325b59dd98cedb7d38243217c11ae2f3e9bae843ad88217498bdba4dc900c034701f4f03181dba803ba4d5b6777aa9222327e13750e422ac67882bdc9812d47128c30bc7ab4840601032ff8cca49bc08786d9a94725a9d80b02395884191e81038b28c1b6a53d4d0b2c05581e03e2b2fc9a7cb0c55baa9fb6a74d4779a10584348650d37453db9ce41ce007011bffffffffffffffff05581e0323acba1cba44f60787138fd9c7fe401b77a174a65102e9dc7adbb546700c014666cbe8323a00035abd34da3910a9c7b7bd466704a0e3218806ac0fb74d2c3ecc32ecdabc6d19c00219573e03358a12a03a9cf451854118eeb8bbcbc50ab94f64d016a7687cd6d72fa26ff2690350b580def1a497d50bb19cce858bd54c891f811a7255b4161d513b053b5a6d080219ffff037bc1957c8749f388e5156d6a31cdee63e193b2b6c6668cca8e3102eb60fbbf9103faffaa1aa57008b8e45ee5f3d7d6b934f1b3bbb24b397a11fed4499519a873a203fe254ad27cc2a7c8e8e7617d2ed714d6c2a72fb6ac73fc977d8da466184586ff0334453402dd8ebf100ade022994338b372f860a0ede317329bb01b72bbc37ad680310294bf1ad853cff25f93f43e66f398d303e7cc53372bb96cf5371f60cc9bf6a03f96d31d2edbc87ae1a8c57c1db930e3869046b1b020d87832b7a6cf8650ab06c03b409f43a32cf24063de22dd4612a5170a5bf255f1b669a09eed185a8be929a79034a37de16e601b919f71253f52454ab2bfa63b470152ccc3af53d65e79c54446403b73df40cc9c4d70b5ab9841859ea4472a6e7b92f35adc58e24f3029363ef2f0503fc9dc4f95def8c8431a30876529f1c07524f7fc589c1b5d0529f2d90b86c1cb60219ffff03c23b9a82d84d1fffaa62b9508043f5d92bdf697a8cff4a37701189ca549db57803dd045fbc96511d1931d1333d404c0e842fbc0ccca485c759a28d62806aceba1403f1be3f69c5a878d40e3a571b1d0a14fdb0c5aec5285bff5732f087f402c03dfe036e40212306d1b08f3b39abca6dc4307c6f37dbd44ecaf329ed3a5357b6c4324f0371933e74544434e110a4168643fd15b0a30d7f603bc75e4859200003d4a6601203a23e65c667525a8eb01de3e664e1c490ccc02702914829093326ebb4453d3ab50326ce07f5b78fc91c8d0d0f519389b8f364204ba2e3d64242922c994bd6f02ab703fb2b12f6a5f17d734c56b56cb139d3ef2346d0b92486c7080dc719ba308ac3a9031438cc7e20e6931826ba13db967e03b8945ed2a17b9845911520b922697bd5fa036d701c6e1fe0993dabc490b04253f2f0e45722477fd23eaf21543689bc8bcb580364ab445fbf930fe74e9bce38fe54afbf9c66f4998f9b821b380e9a09e5c44189036489b904d8f19ae6bc62bbd462451b32b4b6c55540b0cb182f3dde3d33a1f5bd0219ffff03c2abf630a0a45b0691ea5debae2770b8e7b4e2e730a0c9014cf724dec45f673203050729926cdcd767bfa1c55990e4b9d93274914764a6a6e5130d1c368bcd785403728b7d7a51b0a8fde932cc03063b2908ce6aa8615b21a59c8029cc0df187c67703893bad08e40904be2053f5f2ee779e4ab8c06634106816a07e282a324390ed3203a1ea7f8ee8ae95229df2f8589cbf69720bcd6ea7989333032e41e03070f10c2c031b107c2f1db0d6b0c981e6bd1a286b987bdbe871d5ca6bdde0cb3438ce47918f0340d2fa94eac7c7965fb7a1877e9d96a0d913932a52bdc42dc86fb7a9a1fbb79c035450165ff06520b4f0d1d80bde8cb3d69ef38dc178d47e72ae30c726a3afb7e5031ad974d5fda77163c4ed419dfe0c160466d830eb28b8ff850f7aa632707cc5c603dc9ffbfef2a1ea5ee81a2f32cc0e38f10df44b2aab4365b4747749cc42bb27f903a150fd2976a2af671bd5932b531588cc0b0353246b87d8704c6afc6c5adb768c03981c82264958a638eb373c87424a0c4337518014c6ff614e4229d1aaffca581403237d356b8f68b5a76c4b4976f6b51ce2ea82dcac220a33633a1d359539cd49ef03f59e0d0577020fbf54447ba5eb6741a7fe6135f3a81af39645fc35a9360ce156031c249eb0025161fd25fd29957016e6544cbec42a520865854d069e6742792e9f03041fe5cc9675e05deab717222c3da33b3b796e0172d3e9e7d1262b0c63515a1f036edd7da4439377449e4d32ebd1c029bfccac021ebb185377dac066b1545561de03e9b66fda226b4438e79cacda2d087ad161e22d9e09b9e0f4326108285dfafc0d03e8472e35a5b64d1dd409a1c6ff091975d4848ca79e6f1453ac53b96f8b844b6c0343fbc4b37f5694eeb843731d195e47b9f5574f7335ca3172ce5dd55d9cf61c39035d37b2583cae8a2249506f268c0c40aef3da455013a12efa34358600b9a1bc3a03dd13b0ba4ce1f818ab823b4c2bc616d8b98ad6f720bbb7fb12bd778b04195a450386d073bcad10716b51534b370d9596319f66beb95d85da0113600fff5bdbee51030f0a09a28542b2b5c3cbd965d628a71ea3171a2278db3d5461b0d870bcaa4ce1033b8e95555df81eab84b5e244851d4ea85e7fd7c5655bab41ce7fd908732df90903562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0396b2661f8304687809b0c2c01f56126deb89239e84a56736c36420235007011bffffffffffffffff03fa294625122941d3f4ca2567dc1a05dd31c8d8541f23e2c54cf82e319ff474ba05581e038677934a3db465410b9beefdf76328ee22ee92274d1ce7b094ce4020b0040203e68329a5813fc87f51b96d811ab0b165e5da5b6c1448680d75647726d427935505581d0240322fedb8ef02d624b120d90b10587835256a6e918a74755ac097270c0a471892af0e6cd00005581d0229f1707d392e4bcab1f3506205b76dd7ad85d18dc5c41538ee5558aa0c19874048038577deb30014f30219018003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03b7612d933706fcc7f47c1acbbd204eeed1c969fd866d3155f1979cc77cf0637a05581e03bd17d7d299d106e7c89980d7f92edc5d1d758bc0791754bea4fe45ad9007011bffffffffffffffff0322acb35c319d07cd33e574071f44fa96f5089bf711d06b2e6f85e6af42370d2305581e0309f7c4877e469080a5276c3094421da33535ed58d85363b8e7f16986900c186246d2f998aa7e80033b9d1fb6151e970de1295379e6c16fbd41c712e7d536fc3d6629faa237ee80ce03241c7014c6ce8d243a6709d5e9bf3fe7b258719b74cb79d18db58ebbe7e6b98005581e03ae23476bde80f31dfdd63f17a7b69df42951b5602aff7b1a653721f9a00c01472a77219329c3e80342ad951f60cae1621958c55ab53c761c511a82e910ed90e4ecd0ce7dbe93b5a20219fb5b03e8a59e28ce2d250971a111539c46f87a95570fefbbccf0573815a5951cb40270032d18fab696660be652156ad27dd7e94e352851774351aaf7f59f25fa2ac862440219ffff038dfca9b7930c50c28f5314e7d0d34606db6e87c23b1d643f999addbc9d17fb9703f6ff9958b7cbaa6ad4dbcbaf7b2efb1ee04662aaa5969fc277d2fd5769f5e3be03414a26ba099e96457205ef2fd6bb06b8a3c30ef1ad787c7bd065c133c2d771f90219ffff031b5303bd1213d48cac9c5f82cd88edb31b6f33270c4cc921b4edecfb5a5b242103cef271ea24eed3c3270656c2e6b21a709d2b6e14ca0edbf51e266ecf2b1c789d03ee234a060df42c62550e74f12615128258fb507768d9e2558a29cbbe369f2288032a6772ff42657f27d04b7c6e152868ff41ffc77d232f3f73f011cc3a5ba0c56c03ebcdddfd942b780a8c784c963c75a5aa3c483fb50b7bcf688b149c2697013fad03056e0abd05f83cc99541a1af84e4f6d698bb712f25d4cf52e9c830c6bc75cdfc034d77157a98499a5cd369517a6b1f3ee1b2558e18b16fc7edbf32eaddae45fb07035056dc149770d425e5142316e7fcbffa9208674659c7408b0df12fb5abe141a2032ab827c9823bc67510a06ed799580d7b8ceb34d68a279dee27135cf5269f09dc0373cfc868e7e87781f57660d10c73bc04999b8eca58357f4182e963e8739bb313038175df1295014eae18b205f97353ffef60cb3a465a66baa523d42f8429938f2f038de3ab34753786e2a2b29bfeaa8a7fc0b15c2a194de2c2f687f0bd7f96e1958b039104726e019624f4819b5279d1c5439699e8451a2567cc5b46f8956305d74240035b6b074cb379c5e831ea0618a027572c728a3d59eb0a4da07461a69a206df8fc0383fbff50131e130a110d4a762ca5b5837c85b22bb2dd1353e5a50a87ec0a20d50219ffff038c491a585d48a328c9e8b93e76afe0d505d8f9d845a57f23f6e39dbb4c5fcd0b0219ffff032af01f90f593f1bdea8e8afdd710d513e69fe9afc443f835d5377f147f7b812303d8d79d9599df7b546b1b6148715529ca27ada3a6932b34dfae5c95b64219dce003415f9a953b67cf4c1d01ac170fc041b39cd8515fe0bf6a600ce5801ec03c46cb037ce84e0ffc7c0fb1b01ee631636b992e10ccf7e05ec5f779b05db668c2705076035bf076ebac69273b4b3c81905e19e321b01658caa63bf03cc608a447b510d86d032fa0f574ae2831ff936b7db484c128de927f0e2116688d9ce7d99643c53e262303a3ae74aa74bceb700ecfac7d031c65848555e1b3561ec17d75fceaa8af2a475303616231ff8cbc53e1156c48b28946092b9967983c84ab5f16a9beda3a7f8345b9038bf22589d117fb461440cb910d497f50ebee1a1e71f4d26cbc818884c0ab37590342088a1e92895ec5fc178454e29df59f6f7be2bf0a7e1281e7eaeab541b5159a03075ca22b06e2e8624adcbe25487168fe952d9af3b7685759628dc9bbe0758e3d033a61f96ea99eae9f05e3fc5398116a3dbfec740c027b75c91932410b14224f2b03d40c8329fd6c48622404edd24f959a6b10d9947edba4aaa5041345d3bb8959c103bd620c35d96e2dce8a52cb4f558e247a5f844c8b810491eafe74c221f1574d58033ee06827583344536bef6883e63dc09929d001ac99b154331d9013520812f129037d371a8f80bfad0c5c1554e63291a67e283aae518597a9fb85ae2479ae7ddf1803e7a46a50b4e73f36fc72182eaa66ee9e13ac4e5d3d9b4db6c6847e82561cb9fd034d0fd4824da5dce407fa58432e5f504b6cc1d3c1d0b0b4dc1788ce952b16a46903742c1728e9256bcff52a21fc1de187d825642c5b91c4e6af35905a8f6896abce034b3d18390fdd4a954298a4ea671a5290c830bd26f1123922ead621033fc65e8403bf91c162478b3ba0f55acf1f1b4b3130e38854edba330eff757d8155c3380f05038ce93826df67ebfdec37b1eebf7c4f8dcccbb3a5712371e8c7e706dd5ae83bd903d83b8712dd1e0f70486dedc35952219610124ed797f1d911501b6feaea3fefaf036cb7bb74ec2ac3570dc12fff6cd07d288e0c079d7d427a7fb7d7ff0eb082eac5034ef953b0676f28d98690551d95cbaa2d56579df76dfa594503cd2dff913a83f803ed5678a1a590a7e43bcecb2ed65bfe11507b8b97ef00304f7cfd1cd575f7961005581d025ce43e6e9cb5b5c93b482a82ad0f42ba477621084ef0d44863b21755040105581d02d1d3560497a86360fe216963a78211bdbee127559d1a374620a8c07d0c1a000e042f4901aa0f25ad38b4fa3602190820030fb0325521e573a2a02b2c1cefaf6183af9be0d2ab661611792e4b4fac8263ba05581e03b4e919222c1e6d2262335ae06eb2887e3c374afbbb17d724ed092510a0040103a00032ee46e2f48aba38b65ae1a8d53e21f3ff09bd73a820e05867d0ca64652c03b60c93913644f412a76b9a09cf494c3766abc041e92b5350f1ce489f2784d52a03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03e0cb2122407a22761239d30a18255488a472d33dcde21557d1ab349e6007011bffffffffffffffff032988b541509e0b7693f0a2b709761c3178e0f5ce9eacd222bb5676dec569b9bd031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e037ed997f0dc8790796a05c24625ac05b0824907bdf3359c7952ae953e7007011bffffffffffffffff05581e03b50963facf4872d94654a5aed7dfb891d4c42720dd789da7c1d43319200c0a4701803d5be7f80005581e03358afa995d4898c3f04587de4fb64dec53616f5c876ec4a3caaf064fe00c044701170f14e073e80219afc303231bf25deb1f6623010f971e6a39431d1f991f9d56348eba0a3767450d6f647a03931f73d3240305dd5ad3c9c8c0bbefd8cd240ffa84fa14f8a6e9d018b6d1457a032197a35af0f8e44f83e3b4aebdb0f96a052e2d6b8107deb59027356ea2df423f036c537d8f247db3ee5744b698db22393edb9e27ac9164d901c2e69cff1d50456603e122f64c7205ce64ae70b112b905b59a383c86c3d36a6052a62d7616044ce2080373402c913e42a4c3318571f9f0aaa973e273952e04e5f3f6cbce03656a08447d030af02f1f11ea51fe093e753f7e4aec8fbcd061ba1d373617989f0d972fab9b330379ade93a1c71a231ea0f313599058a770e2f3a8acdc6755279e438c8b9561e5e03e9089490edcda9e8ebd164597416fc32e25f2485ab8db2a663b81ebc05b1fe4c037ad7672f541d408b304154e82bdd0be3dc709819e57ab85542d0a195100f20840219ffff0326d7c9fd2f17e2dfe920c5e7708da0a9a0538c0a0c73bf4f27159cbf4f367bb203022e04e7c86cd7117a706f87d41cdefc2a2d6218634c066161c04c4799213f1a03b69cdd2aa05996a1ac7367b3070ebbcd4ca3626076c2f1649e3ff789c572762003f35e55be432cb7eb67407962978fe19987a3035580b5835ca0f4d76ae658ead10392e6d21c7ee00253d760c5cf0aab3cd5d862ff7c4038745755c52a856b24bbc903290a7205655470ed9557efb761514258f506369bd59a4b560fec84c6a787cf0d03a91b7585c99bbb3eb4d600fbed47c0e04bf29ef210fa4130403753c96e43f10a03b0376520b0b360a4239166fc4fac388ad1328610146aa4478654b2f6c19a696e033a60d86b4f8182c7bb235b712bd12c709584df20bc6ec1747da446e23b0cefcb0219ffff03a917b0912cd0661d04f0df3b45b48ebd7869a75b18cbb64090df5bca066fe273036d1665aaad72367aee1ccbdb5a20c01987abe7155ce933da1e1cfbc011da36c903223260b66f452fda5a1e7f083b970e869f4096e7c686b998829eec61a051008d035f500fe8b5fbdea63eb147cb18460a136721d77ea2f07d15958aa697a80523b503ebc8e0ca0b3a15f7a42742c983b60fbc357185d5ffba71f3570d5912ff994411039ae766b21231deb3d05d262fe6e270d10a902c5dc409c22811d4cb6aeb2c7d3e036875533af3dbb4889f3f8f25d1b7057387459f260ae9d80792ed7064b2e176d103cb47b07ed434f30ff6c9b061b6af764cc8a3bebfb3c1d7af482ccb3da1e284330334828a8a801a69ba74cf9688f9dafcb38f0c49deff62ab8b704a5deb44d9e9ac0363b129eb4c5ba7afd9dc5c4fb1fb7c45cbce19e33b640b409222ddc5c8f75b2d0219ffff0388f2453720421a47e806dacee2d2e8c2162b1caebc082225822f0011cd14be75037a6feec50dd4ba9f1604f44958a78a4591a94b9204c94e2fe43a748ead037b44035435adbef56e042dc51abde7da49e73f9221c4c27704d4c70ad0a3de45c8805803305e42ab92fae303497c6dba17a873fa0eefd09dc2549665cfb8f6e61df744a303bc96ec207f93b8a6cca8c1dd3416c916314bccf890e1aff454ea211f933072c20219ffff03a725c7bf16fb7a3a2e657198590152f55a6df8411ff5f98d8e93f3c9d555c49603d7fa81ced11ba00e173cff9cb6900d16437952379b53424350e98769c2152383034d0a4cf0c6b0e9da52ac3251181cd8409d5ea046a8916613394d07bea0e713ca033d265ddc4a6448568bd64557c5c241ad5947d60ff70a5a0484d8dc9f9ff4768e0345d52c29652d8400ade228580bd2e15245ce64038d6eb906efbdb481c0afda3403bd71c0362ce448ece1f456849cedb87ba4c92f7792ec91a6c7d0cd3c75d54a8303015b247257f251176cb48b50e7718ebe2536109e171142181b14abfae88f0418030fdb36e153ad538311c3c325b3b9b2df6df064b46902a41cfd594b36313db96c03d4f4c64c5c41cbd43ae57a93f1a6145ada33e041d6a0c3998b553638b413f667031191e926153c437c568cbfe0774f65031daeae0b48fdecc7a8f215f6def1b17303d194ff02ccad744b5752e620f17a994903c77dcc3cdd65d4a8134bb950a5b97f030922783f29085477240d1bae8830f18d7bc9f88d4952fe05a117f4806f3b977403d57403dc04c761c8a6f57c5342ac30c9cd0d18c5990845e0f893ca5c6d95ba5103bce58ccc0a8371b27dc7e71013b6ebf7ad01c8e2070ed7da2dcc258b5b5b7fd40366c27da8187a18239af3c65cd57cf5ff7f4c4d2bcf756482eda9675bb2359e8003cacb821303f99e5824ef0abdd0d0f64878e58b1e391d7598daeb6b2ee8ce380903865d2297d1cbd9c5007ff44888c25bceab9d8a3c2265e90ddcd934a9c1a17791030b313e6fc69f0e42415ec429aa83f4b1720eef7811a500d0731e0876165b4e6705581e03d9bacddb3bc4fc89f99090589fa72accb6a0cf15b48897f63ce20c05c00401034274b4ad3012b728f37e13f8f2d738800d7554079bfd318c4e8ebe8bd4cf6a8e03a15e01308a0d5bef00b208eb1c58375f7608fde0aecd3276b5076ac957bc057605581e031e810d2ecc9658b2c821e01bfa4730d330b7ce329f0ff32ce840664cc007011bffffffffffffffff03ba47733ae69fc133b38e8479a4deebfe1f9159f7858994b5b76dafe14c9c4b4705581e03346ee00793b023840cc7435ae4b3e47c23262907ff66ca6629d533cf20040105581e03f03c94c81a1dc2926878119917f3555df4f071aaf2c153638bb89344d00c0145023ef6764c05581e035f0d200dee374048def25111c57102624257c7cd01f2d6885333a65c70040105581e03d294f2fdf747bfe17ef533aa5cd3b1ca243236c0693804ce1c37ff1f800c1a007df8224a02b62f70cc3b3fe989b305581e034a2d12e7961da343b2f1ca597d71e23466b4ba001c1195f9fb46464fc00c02465573d601280005581e0341c03158b993f5a3cfc507a67470dd681b7f4f62dcfd145b440d03c490040205581e03e69794186451c6f2473184d90f76a0d9aa4b53654d7b2dec91675ffb100c014743779d6ef68be003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e033a687893ee2d03d12b30ad932620f0ad2417cf1ab6df2a58e2eec7a42007011bffffffffffffffff0219d1df0324813050aced2956bb4c810ba0aab57d0ae4eb839cebbb8aa86cf07a1c3778cb03059c931d90fed26045f603bf9e37c5bab326e7c62a52720043ffbdad55352e77038cdcbdaa37c747512fc715ef63741859d73a2d7255ff49140daed8bceca9b3cc035fad8db80e7ae44ecd9c4c6ea67c6f136975c6f992ab3557231ef3b26e71843e035a14622d7c40527dea4e1334c6f990cb3e4f0a418a6b805afcbe53ee79f7b9bf03cbd6e73b232b3fa26bdbe6bf0cf333ff6288fa323296b9cf618a05922068dfbe0351dd32b8b5bc75510e53110a5640ce9735b259dce779617f0e6435db882a63c90328c5e9ddda0d0de43208856e4db67f524552ce9c18d50dbe072a1921e535589003d56f88cedbd9f80e029346c7843af53c5e6cb590e27c51191eae358bf5e6f6e803e7b5ec12846dcc6bda0f897deccf435dad690357911b4f8ae6fc1e6ec2c791450219ffff036e2aee94f6fec5df211bbfe8566d8f3bf6a2da492b79dac6e77a3f8d1588344703bf04b7045103e9582371cbdfe315458258040a743ec7a77f341304f969763cea031e914408ccebda2c7006740b8af7a2ed196ce744c248fe1ea5138343b357e22903b4f43c7a4af6a7ad71d18fdc0a124b7643f592cd0c1009bed02492ed6c938ac3039491da24c151c4ef2082a58bb0312bbb5796e0f52f33f83679e7f9b8946a6061034d93338eb2dfd527e753939a0c51ba72724d2d89f5b9c2ea166469c9ec47aedf035a739a6abf4a53ea667f4c83a15c8b4a56ef1102660e7325d7760abcaef4d7ed038672f09e3c7e6ba6bdec20163eabdf404959f0581002e4c7db3b12767a9c0cbc03f8e76244a4c3cddcb6cb13c4577250ffc2c69eba4f419d32937fff12c292592303130702b857ddc9689e26a47df010277e48b37914c23f4f88068a2c3d15dd35aa033d058c54f2c3fc813e72fd1fa037abe311119402bc3199e439b76a4b06111a220388b9e7c436e9d0f5b3a3c2c596fd9f16868f20306c1646b96ade13476fae0032039fc0671cfba921f3fe06cc095d3d5d5edba2fee7f9456d164eaf40cb589a8cf50219ffff03560162130881ac84ca65f1ff3c204b5ae6a847c237841bd0cc1b793003898a44036e7b637ce126b64c38e413817373e8755b7cbed2d932b957caa3795b28c69e1403f8a2736441e03b0107fb22d2deda460854cd23ae7e4482f6d2da116d8bcf1bd903c54f0bf5df80d03b66d440e6829f39ed1b7f76b7792ddb7c74296125fc6bb8490219ffff03c85f862b6857926d23ddaa6f778862a5d98cc5ede292cda85db27940c1c97e0603d73d51861d852461b894d91ea3abd7f5ddbb59c39e542110e414de7a0c018dfe03161ba8a802fc05e2699948348abaa596cf52a482b7713460a8ed065412ac42de03a27cce826348421226b7330896246d8baffdd5b61ee9e46656cc2ab228387cb20339f0d46e1a51c03334df36a2553b79d9498fd07d6f47b4b560239f6088de871a0395554c6d529922b41975dbcbb81cff3b301cb8b353747e6caefcb6ca2ee90dad032b33d97d98bc59040773de12b0e1f92ff503c13f4291be973a33c4c5710e35e7030a37cea005e4dfae801bfad1ced6fc2bac2310722e37ffadcff03fbf2ec34de2036d92508ed727707e7e57c3e8c99c1731888933f0164d9b329d6a75a1afe9261d03c3e14aaeba26b2a297441343e211568fbac0dfcf2862dfce35eb183d6a231d8d03595a4df853811c810bf1561c0b284cb367ba8fa0daac41046bcb3ba3a6979f3603e8297472ac940abb094cbc1f9a045590bdbbf584cb073ca9b0e699524d7824b803826e53475806383b27cbb116bcac37fdd925e9ed172c034d548018c9386bc6c60350fe304f02c8bdf9035fd98b3e1187b64060fe2a41c30935f2caeb1abe91db3e03f063883975e134c6e1e09290721e99a78bd735ece4774e0d0566212f38a4fff0034fa73be6abf10a4dddd6587a7d4b891ead12c2528f4d8065ceacee936e26ad2303f53e6827fd43bda29716a7699b8e8d514c329e9e8058950e7869206ec5dbaeb5034828d8fe315e9fb8736228f814efa16a1b667b752744c40aadd04af5e1f48322033b0b2101a3433bbfbc0aa58e678f06f160894c506d790a9683c952c435beb8480378df17cd73ebf897dbd6a2f4fe7b9087d1880df2ec800c77859845bf71aab6f203ae63df916edfb53fe2cfbe846d07d58e6c4f595e533c99ed71ccc476e67a24e603a638075af66954af701bb3dddd40fea8ffb3a61a3f61b6132f585730c5c5349805581e0305aee831767d119a328513e97289e085e9f86e4bf3c49f5e39838be280040305581e033d4ea9f8fc76d70111fb298a13a2e323c80bce66f8cd8195976c836410040203197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e034787e03548a40f48e8964c42e493bc340cc70a1295e959d3d8854cfc3007011bffffffffffffffff03078c00877d108ace356019920b6f3975ec71482b8b564f87f68fab8b765aaf9405581e03b7b706a10099a372c3b9a32a6044410f01168936866a2566f3c9eee8000c02471c11764b30512003f051fbee18905dac2861f15d650a6e1e1be98ee6f3ca28e9b7cc8aa04fedc2c40343a7c84a777834f1d58e7542561b4a76aceb6ae4d66de8dd8b876cca9fc13ad704594311608060405234801561000f575f80fd5b5060043610610184575f3560e01c80637f9d22fe116100dd578063bfec346c11610088578063dbe3352a11610063578063dbe3352a14610386578063f25cdfe314610399578063fee033bb146103ac575f80fd5b8063bfec346c1461034d578063cf2b5aa614610360578063cfc71c2b14610373575f80fd5b8063a008fd15116100b8578063a008fd1514610301578063acccdd5e14610314578063b590104e14610327575f80fd5b80637f9d22fe146102c857806399d76eb1146102db5780639ea428a6146102ee575f80fd5b8063331aaf9e1161013d5780635cdeece6116101185780635cdeece61461028f57806365c2cd91146102a25780637e32d241146102b5575f80fd5b8063331aaf9e14610243578063353ad881146102695780635599dfd71461027c575f80fd5b8063225cd1eb1161016d578063225cd1eb146101f5578063228b13181461020a57806323dc865814610230575f80fd5b80630a3ec799146101885780632059d9e2146101ae575b5f80fd5b61019b610196366004612ec4565b6103bf565b6040519081526020015b60405180910390f35b7f000000000000000000000000612e2daddc89d91409e40f946f9f7cfe422e777e5b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a5565b610208610203366004612f53565b610511565b005b7f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb76101d0565b61020861023e366004613153565b610521565b7f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f6101d0565b6102086102773660046131de565b610bb3565b6101d061028a36600461326e565b610cb4565b6101d061029d36600461330a565b610de1565b6101d06102b03660046133a5565b610e5f565b6102086102c336600461345c565b610f8e565b6102086102d63660046134dc565b6110bd565b6102086102e936600461352c565b6111b2565b6101d06102fc3660046135f5565b6111d4565b61020861030f366004613691565b61123f565b61019b61032236600461370b565b611267565b7f00000000000000000000000053f451165ba6fdbe39a134673d13948261b2334a6101d0565b6101d061035b366004613859565b6115d9565b6101d061036e3660046138ad565b6116f4565b6101d0610381366004613925565b611810565b61020861039436600461398c565b61188c565b6101d06103a73660046139b8565b6119a6565b6102086103ba366004613a30565b611afb565b5f606087156104f15760408051600180825281830190925290816020015b60408051606080820183525f8083526020830152918101919091528152602001906001900390816103dd57905050905060405180606001604052808981526020017f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb773ffffffffffffffffffffffffffffffffffffffff16638abf92c98b6040518263ffffffff1660e01b815260040161047991815260200190565b602060405180830381865afa158015610494573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104b89190613ad5565b61ffff16815260200160405180602001604052805f815250815250815f815181106104e5576104e5613af0565b60200260200101819052505b6105028b8b8b8a8a8a8a8a89611267565b9b9a5050505050505050505050565b61051c838383611b1b565b505050565b8315801561052e57508215155b15610565576040517f1a8a2c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83158015610571575085155b156105e7578051156105af576040517f099879b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81156105e7576040517f69a1d31600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b851580156105f457508415155b1561062b576040517fbf2c1df000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f2ab2b52b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8981166004830152602482018990525f917f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f90911690632ab2b52b90604401602060405180830381865afa1580156106c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e49190613b1d565b90505f81156107a2576040517f9e79b41f000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f73ffffffffffffffffffffffffffffffffffffffff1690639e79b41f9060240161010060405180830381865afa158015610777573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061079b9190613b3f565b60e0015190505b6040517f4635256e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b81166004830152602482018b90525f9182917f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f1690634635256e906044016040805180830381865afa158015610836573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061085a9190613be7565b91509150825f14801561086b575089155b8015610894575073ffffffffffffffffffffffffffffffffffffffff8216158015610894575087155b156108cb576040517f75ce98b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b89831480156109015750871580156108f7575073ffffffffffffffffffffffffffffffffffffffff8216155b8061090157508681145b15610a25575f6109128d8d88611bd2565b1561091b575060015b6040517f7e04379500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8e81166004830152602482018e90527f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f1690637e04379590604401602060405180830381865afa1580156109ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d09190613b1d565b91508682146109e8576109e48d8d89611cce565b5060015b80610a1f576040517f3c574a9800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50610ba5565b8915610a55578215610a4757898314610a4257610a42848b611da2565b610a55565b610a538c8c8c8c611e5a565b505b8715610a6d57868114610a6d57610a6d8c8c89611f59565b610a788c8c87611bd2565b508780610a8457508915155b15610b58576040517f7e04379500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8d81166004830152602482018d90525f917f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f90911690637e04379590604401602060405180830381865afa158015610b1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b429190613b1d565b9050868114610b5657610b568d8d89611cce565b505b89158015610b6557508215155b15610b7357610b738461202d565b87158015610b96575073ffffffffffffffffffffffffffffffffffffffff821615155b15610ba557610ba58c8c6120e6565b505050505050505050505050565b5f6040518060600160405280888152602001885f03610bd2575f610c7f565b6040517f8abf92c9000000000000000000000000000000000000000000000000000000008152600481018a90527f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb773ffffffffffffffffffffffffffffffffffffffff1690638abf92c990602401602060405180830381865afa158015610c5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7f9190613ad5565b61ffff1681526040805160208181019092525f81529101529050610ca98989888888888888610521565b505050505050505050565b5f610dd984604051806080016040528086602001358152602001866040013581526020018660600135815260200186608001358152506040518060600160405280875f01358152602001875f01355f03610d0e575f610dbb565b6040517f8abf92c9000000000000000000000000000000000000000000000000000000008152883560048201527f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb773ffffffffffffffffffffffffffffffffffffffff1690638abf92c990602401602060405180830381865afa158015610d97573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dbb9190613ad5565b61ffff1681526040805160208181019092525f8152910152856119a6565b949350505050565b5f818015801590610df65750610df681421190565b15610e2d576040517fbcb9700400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e3787876121b3565b9150610e4482865f6122ef565b835115610e5557610e5582856123dd565b5095945050505050565b5f610f858585604051806080016040528087602001358152602001876040013581526020018760600135815260200187608001358152506040518060600160405280885f01358152602001885f01355f03610eba575f610f67565b6040517f8abf92c9000000000000000000000000000000000000000000000000000000008152893560048201527f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb773ffffffffffffffffffffffffffffffffffffffff1690638abf92c990602401602060405180830381865afa158015610f43573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f679190613ad5565b61ffff1681526040805160208181019092525f8152910152866111d4565b95945050505050565b5f6040518060600160405280885f01358152602001885f01355f03610fb3575f611060565b6040517f8abf92c9000000000000000000000000000000000000000000000000000000008152893560048201527f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb773ffffffffffffffffffffffffffffffffffffffff1690638abf92c990602401602060405180830381865afa15801561103c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110609190613ad5565b61ffff16815260200160405180602001604052805f81525081525090506110b38860405180606001604052808a6020013581526020018a6040013581526020018a60600135815250888888888789611afb565b5050505050505050565b5f6040518060600160405280888152602001885f036110dc575f611189565b6040517f8abf92c9000000000000000000000000000000000000000000000000000000008152600481018a90527f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb773ffffffffffffffffffffffffffffffffffffffff1690638abf92c990602401602060405180830381865afa158015611165573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111899190613ad5565b61ffff1681526040805160208181019092525f815291015290506110b38887878787878761123f565b6111bd8484836122ef565b8151156111ce576111ce84836123dd565b50505050565b5f8180158015906111e957506111e981421190565b15611220576040517fbcb9700400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61122b8787876124a1565b845190925015610e5557610e5582856123dd565b61124d878787878787612591565b80511561125e5761125e87826123dd565b50505050505050565b5f8781036112a1576040517fa9d004a500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600182511180156112b3575081518814155b156112ea576040517fbee0394e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b841580156112f757508315155b1561132e576040517f1a8a2c1000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86156114e6576113588a8a8a5f81811061134a5761134a613af0565b905060200201358989611e5a565b90508415611383576113838a8a8a5f81811061137657611376613af0565b9050602002013586611f59565b6113f98a8a8a5f81811061139957611399613af0565b9050602002013584515f036113da5760405180606001604052805f81526020015f61ffff16815260200160405180602001604052805f815250815250611bd2565b845f815181106113ec576113ec613af0565b6020026020010151611bd2565b5060015b888110156114e0576114298b8b8b8481811061141b5761141b613af0565b905060200201358a8a611e5a565b508515611453576114538b8b8b8481811061144657611446613af0565b9050602002013587611f59565b6114d78b8b8b8481811061146957611469613af0565b9050602002013585515f036114aa5760405180606001604052805f81526020015f61ffff16815260200160405180602001604052805f815250815250611bd2565b85516001036114c557855f815181106113ec576113ec613af0565b8584815181106113ec576113ec613af0565b506001016113fd565b50611596565b851561151e576040517fbf2c1df000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84611555576040517f75ce98b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b88811015611594576115758b8b8b8481811061144657611446613af0565b61158b8b8b8b8481811061146957611469613af0565b50600101611557565b505b5f5b888110156115cb576115c38b8b8b848181106115b6576115b6613af0565b905060200201358661267a565b600101611598565b509998505050505050505050565b5f610dd9846040518060600160405280866020013581526020018660400135815260200186606001358152506040518060600160405280875f01358152602001875f01355f03611629575f6116d6565b6040517f8abf92c9000000000000000000000000000000000000000000000000000000008152883560048201527f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb773ffffffffffffffffffffffffffffffffffffffff1690638abf92c990602401602060405180830381865afa1580156116b2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116d69190613ad5565b61ffff1681526040805160208181019092525f815291015285611810565b5f610f8585856040518060600160405280876020013581526020018760400135815260200187606001358152506040518060600160405280885f01358152602001885f01355f03611745575f6117f2565b6040517f8abf92c9000000000000000000000000000000000000000000000000000000008152893560048201527f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb773ffffffffffffffffffffffffffffffffffffffff1690638abf92c990602401602060405180830381865afa1580156117ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117f29190613ad5565b61ffff1681526040805160208181019092525f815291015286610de1565b5f818015801590611825575061182581421190565b1561185c576040517fbcb9700400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611865866127c3565b915061187282865f6122ef565b8351156118835761188382856123dd565b50949350505050565b61051c836040518060600160405280856020013581526020018560400135815260200185606001358152506040518060600160405280865f01358152602001865f01355f036118db575f611988565b6040517f8abf92c9000000000000000000000000000000000000000000000000000000008152873560048201527f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb773ffffffffffffffffffffffffffffffffffffffff1690638abf92c990602401602060405180830381865afa158015611964573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119889190613ad5565b61ffff1681526040805160208181019092525f8152910152846111b2565b5f8180158015906119bb57506119bb81421190565b156119f2576040517fbcb9700400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84606001515f03611a2f576040517fa87860d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408501515f819003611a3f5750425b611aae611a4c8880613c13565b611a5960208b018b613c13565b611a6660408d018d613c13565b60608d0151611a759089613c74565b7f00000000000000000000000053f451165ba6fdbe39a134673d13948261b2334a8f6060016020810190611aa99190613cb2565b6128fa565b9250611ae0836040518060600160405280895f015181526020018960200151815260200189604001518152505f6122ef565b845115611af157611af183866123dd565b5050949350505050565b611b0a888888888888876129d5565b8151156110b3576110b388836123dd565b6111ce7f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb7848484604051602401611b5493929190613cdd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7a1b249000000000000000000000000000000000000000000000000000000000179052339190612a9c565b80515f9015611bee57611be6848484612abc565b506001611cc7565b6040517f8f40f37800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590523360448301525f917f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb790911690638f40f378906064016040805180830381865afa158015611c88573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cac9190613d57565b5090508015611cc557611cc0338686612b82565b600191505b505b9392505050565b60405173ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606481018290526111ce907f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f90608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4eb1231700000000000000000000000000000000000000000000000000000000179052339190612a9c565b604051602481018390526044810182905261051c907f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f90606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f03ec16d700000000000000000000000000000000000000000000000000000000179052339190612a9c565b60405173ffffffffffffffffffffffffffffffffffffffff851660248201526044810184905260648101839052608481018290525f908190611f39907f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f9060a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb3a4074e00000000000000000000000000000000000000000000000000000000179052339190612a9c565b905080806020019051810190611f4f9190613b1d565b9695505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606481018290526111ce907f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f90608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f798bac8d00000000000000000000000000000000000000000000000000000000179052339190612a9c565b6120e27f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f8260405160240161206491815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f21506fff00000000000000000000000000000000000000000000000000000000179052339190612a9c565b5050565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261051c907f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f90606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f2156193500000000000000000000000000000000000000000000000000000000179052339190612a9c565b5f806122d97f000000000000000000000000612e2daddc89d91409e40f946f9f7cfe422e777e6121e38680613c13565b6121f06020890189613c13565b6121fd60408b018b613c13565b61220d60808d0160608e01613d85565b7f00000000000000000000000053f451165ba6fdbe39a134673d13948261b2334a8d60800160208101906122419190613cb2565b8d60405160240161225b9a99989796959493929190613e87565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f5784803100000000000000000000000000000000000000000000000000000000179052339190612a9c565b905080806020019051810190610dd99190613f23565b81516020830151604080850151905173ffffffffffffffffffffffffffffffffffffffff8716602482015260448101939093526064830191909152608482015260a481018290526111ce907f00000000000000000000000053f451165ba6fdbe39a134673d13948261b2334a9060c401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f0853764a00000000000000000000000000000000000000000000000000000000179052339190612a9c565b61051c7f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb7825f015184846020015185604001516040516024016124239493929190613fa9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f2855aa4e00000000000000000000000000000000000000000000000000000000179052339190612a9c565b5f81606001515f036124df576040517fa87860d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408201515f8190036124ef5750425b61255f6124fc8680613c13565b6125096020890189613c13565b61251660408b018b613c13565b60608a01516125259089613c74565b7f00000000000000000000000053f451165ba6fdbe39a134673d13948261b2334a8d60600160208101906125599190613cb2565b8d612c65565b9150611cc5826040518060600160405280865f015181526020018660200151815260200186604001518152505f6122ef565b60405173ffffffffffffffffffffffffffffffffffffffff8716602482015260448101869052606481018590526084810184905260a4810183905260c4810182905261125e907f00000000000000000000000053f451165ba6fdbe39a134673d13948261b2334a9060e401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f62c4655200000000000000000000000000000000000000000000000000000000179052339190612a9c565b60405173ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052606481018290525f908190612752907f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f90608401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4eb1231700000000000000000000000000000000000000000000000000000000179052339190612d52565b91509150811580156127ae57507fe5c3f2630000000000000000000000000000000000000000000000000000000061278982613fe7565b7fffffffff000000000000000000000000000000000000000000000000000000001614155b156127bc576127bc81612e02565b5050505050565b5f806128e47f000000000000000000000000612e2daddc89d91409e40f946f9f7cfe422e777e6127f38580613c13565b6128006020880188613c13565b61280d60408a018a613c13565b61281d60808c0160608d01613d85565b7f00000000000000000000000053f451165ba6fdbe39a134673d13948261b2334a61284e60a08e0160808f01613cb2565b60405160240161286699989796959493929190614036565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd061a9f200000000000000000000000000000000000000000000000000000000179052339190612a9c565b905080806020019051810190611cc79190613f23565b5f806129bf7f000000000000000000000000612e2daddc89d91409e40f946f9f7cfe422e777e8c8c8c8c8c8c8c8c8c604051602401612941999897969594939291906140bd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f189267b200000000000000000000000000000000000000000000000000000000179052339190612a9c565b9050808060200190518101906105029190613f23565b8551602087015160408089015190516110b3937f00000000000000000000000053f451165ba6fdbe39a134673d13948261b2334a93612a22938d938c908c908c908c908c9060240161413e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff59488d9000000000000000000000000000000000000000000000000000000001790523391905b60605f612aaa858585612d52565b9250905080611cc557611cc582612e02565b6111ce7f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb7825f0151858585602001518660400151604051602401612b049594939291906141a3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f39fa3f4800000000000000000000000000000000000000000000000000000000179052339190612a9c565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526111ce907f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb790606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f93251fba0000000000000000000000000000000000000000000000000000000017905273ffffffffffffffffffffffffffffffffffffffff86169190612a9c565b5f80612d2c7f000000000000000000000000612e2daddc89d91409e40f946f9f7cfe422e777e8d8d8d8d8d8d8d8d8d8d604051602401612cae9a999897969594939291906141f2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa973d0e800000000000000000000000000000000000000000000000000000000179052339190612a9c565b905080806020019051810190612d429190613f23565b9c9b505050505050505050505050565b5f60608373ffffffffffffffffffffffffffffffffffffffff168386604051602001612d7f929190614277565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052612db7916142c0565b5f604051808303815f865af19150503d805f8114612df0576040519150601f19603f3d011682016040523d82523d5f602084013e612df5565b606091505b5090969095509350505050565b805115612e125780518082602001fd5b6040517f3cfe059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b73ffffffffffffffffffffffffffffffffffffffff81168114612e44575f80fd5b5f8083601f840112612e78575f80fd5b50813567ffffffffffffffff811115612e8f575f80fd5b6020830191508360208260051b8501011115612ea9575f80fd5b9250929050565b80358015158114612ebf575f80fd5b919050565b5f805f805f805f805f6101008a8c031215612edd575f80fd5b8935612ee881612e47565b985060208a013567ffffffffffffffff811115612f03575f80fd5b612f0f8c828d01612e68565b90995097505060408a0135955060608a0135945060808a01359350612f3660a08b01612eb0565b925060c08a0135915060e08a013590509295985092959850929598565b5f805f60408486031215612f65575f80fd5b83359250602084013567ffffffffffffffff80821115612f83575f80fd5b818601915086601f830112612f96575f80fd5b813581811115612fa4575f80fd5b8760208260061b8501011115612fb8575f80fd5b6020830194508093505050509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff8111828210171561301b5761301b612fcb565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561306857613068612fcb565b604052919050565b61ffff81168114612e44575f80fd5b5f6060828403121561308f575f80fd5b613097612ff8565b9050813581526020808301356130ac81613070565b82820152604083013567ffffffffffffffff808211156130ca575f80fd5b818501915085601f8301126130dd575f80fd5b8135818111156130ef576130ef612fcb565b61311f847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601613021565b91508082528684828501011115613134575f80fd5b80848401858401375f8482840101525080604085015250505092915050565b5f805f805f805f80610100898b03121561316b575f80fd5b883561317681612e47565b975060208901359650604089013595506060890135945061319960808a01612eb0565b935060a0890135925060c0890135915060e089013567ffffffffffffffff8111156131c2575f80fd5b6131ce8b828c0161307f565b9150509295985092959890939650565b5f805f805f805f80610100898b0312156131f6575f80fd5b883561320181612e47565b97506020890135965060408901359550606089013594506080890135935061322b60a08a01612eb0565b925060c0890135915060e089013590509295985092959890939650565b5f60808284031215613258575f80fd5b50919050565b5f60a08284031215613258575f80fd5b5f805f60e08486031215613280575f80fd5b833567ffffffffffffffff811115613296575f80fd5b6132a286828701613248565b9350506132b2856020860161325e565b915060c084013590509250925092565b5f60408284031215613258575f80fd5b5f606082840312156132e2575f80fd5b6132ea612ff8565b905081358152602082013560208201526040820135604082015292915050565b5f805f805f60e0868803121561331e575f80fd5b853567ffffffffffffffff80821115613335575f80fd5b61334189838a0161325e565b96506020880135915080821115613356575f80fd5b61336289838a016132c2565b95506133718960408a016132d2565b945060a0880135915080821115613386575f80fd5b506133938882890161307f565b9598949750929560c001359392505050565b5f805f8061010085870312156133b9575f80fd5b843567ffffffffffffffff808211156133d0575f80fd5b6133dc88838901613248565b955060208701359150808211156133f1575f80fd5b506133fe878288016132c2565b93505061340e866040870161325e565b9396929550929360e00135925050565b5f8083601f84011261342e575f80fd5b50813567ffffffffffffffff811115613445575f80fd5b602083019150836020828501011115612ea9575f80fd5b5f805f805f805f610120888a031215613473575f80fd5b873561347e81612e47565b965061348d8960208a01613248565b955060a0880135945060c0880135935060e088013567ffffffffffffffff8111156134b6575f80fd5b6134c28a828b0161341e565b989b979a5095989497959661010090950135949350505050565b5f805f805f805f60e0888a0312156134f2575f80fd5b87356134fd81612e47565b9960208901359950604089013598606081013598506080810135975060a0810135965060c00135945092505050565b5f805f8060c0858703121561353f575f80fd5b843561354a81612e47565b935061355986602087016132d2565b9250608085013567ffffffffffffffff811115613574575f80fd5b6135808782880161307f565b9497939650939460a0013593505050565b5f608082840312156135a1575f80fd5b6040516080810181811067ffffffffffffffff821117156135c4576135c4612fcb565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f805f805f610100868803121561360a575f80fd5b853567ffffffffffffffff80821115613621575f80fd5b61362d89838a01613248565b96506020880135915080821115613642575f80fd5b61364e89838a016132c2565b955061365d8960408a01613591565b945060c0880135915080821115613672575f80fd5b5061367f8882890161307f565b9598949750929560e001359392505050565b5f805f805f805f60e0888a0312156136a7575f80fd5b87356136b281612e47565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c088013567ffffffffffffffff8111156136f0575f80fd5b6136fc8a828b0161307f565b91505092959891949750929550565b5f805f805f805f805f6101008a8c031215613724575f80fd5b61372e8a35612e47565b8935985067ffffffffffffffff60208b0135111561374a575f80fd5b61375a8b60208c01358c01612e68565b909850965060408a0135955060608a0135945061377960808b01612eb0565b935060a08a0135925060c08a0135915067ffffffffffffffff60e08b013511156137a1575f80fd5b60e08a01358a018b601f8201126137b6575f80fd5b67ffffffffffffffff813511156137cf576137cf612fcb565b6137df6020823560051b01613021565b81358082526020808301929160051b8401018e10156137fc575f80fd5b602083015b6020843560051b8501018110156138455767ffffffffffffffff81351115613827575f80fd5b6138378f6020833587010161307f565b835260209283019201613801565b508093505050509295985092959850929598565b5f805f60c0848603121561386b575f80fd5b833567ffffffffffffffff811115613881575f80fd5b61388d8682870161325e565b93505061389d8560208601613248565b915060a084013590509250925092565b5f805f8060e085870312156138c0575f80fd5b843567ffffffffffffffff808211156138d7575f80fd5b6138e38883890161325e565b955060208701359150808211156138f8575f80fd5b50613905878288016132c2565b9350506139158660408701613248565b9396929550929360c00135925050565b5f805f8060c08587031215613938575f80fd5b843567ffffffffffffffff8082111561394f575f80fd5b61395b8883890161325e565b955061396a88602089016132d2565b9450608087013591508082111561397f575f80fd5b506135808782880161307f565b5f805f60c0848603121561399e575f80fd5b83356139a981612e47565b925061389d8560208601613248565b5f805f8060e085870312156139cb575f80fd5b843567ffffffffffffffff808211156139e2575f80fd5b6139ee88838901613248565b95506139fd8860208901613591565b945060a0870135915080821115613a12575f80fd5b50613a1f8782880161307f565b9497939650939460c0013593505050565b5f805f805f805f80610120898b031215613a48575f80fd5b8835613a5381612e47565b9750613a628a60208b016132d2565b96506080890135955060a0890135945060c089013567ffffffffffffffff80821115613a8c575f80fd5b613a988c838d0161341e565b909650945060e08b0135915080821115613ab0575f80fd5b50613abd8b828c0161307f565b92505061010089013590509295985092959890939650565b5f60208284031215613ae5575f80fd5b8151611cc781613070565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215613b2d575f80fd5b5051919050565b8051612ebf81612e47565b5f610100808385031215613b51575f80fd5b6040519081019067ffffffffffffffff82118183101715613b7457613b74612fcb565b8160405283519150613b8582612e47565b81815260208401516020820152613b9e60408501613b34565b6040820152606084015160608201526080840151608082015260a084015160a0820152613bcd60c08501613b34565b60c082015260e084015160e0820152809250505092915050565b5f8060408385031215613bf8575f80fd5b8251613c0381612e47565b6020939093015192949293505050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613c46575f80fd5b83018035915067ffffffffffffffff821115613c60575f80fd5b602001915036819003821315612ea9575f80fd5b80820180821115613cac577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b92915050565b5f60208284031215613cc2575f80fd5b81356bffffffffffffffffffffffff81168114611cc7575f80fd5b838152604060208083018290528282018490525f9190859060608501845b87811015613d4a578335613d0e81612e47565b73ffffffffffffffffffffffffffffffffffffffff1682528383013560038110613d36575f80fd5b828401529284019290840190600101613cfb565b5098975050505050505050565b5f8060408385031215613d68575f80fd5b825191506020830151613d7a81613070565b809150509250929050565b5f60208284031215613d95575f80fd5b813563ffffffff81168114611cc7575f80fd5b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b5f8135613dfb81612e47565b73ffffffffffffffffffffffffffffffffffffffff1683526020820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112613e48575f80fd5b820160208101903567ffffffffffffffff811115613e64575f80fd5b803603821315613e72575f80fd5b60406020860152610f85604086018284613da8565b60e081525f613e9a60e083018c8e613da8565b8281036020840152613ead818b8d613da8565b90508281036040840152613ec281898b613da8565b905063ffffffff8716606084015273ffffffffffffffffffffffffffffffffffffffff861660808401526bffffffffffffffffffffffff851660a084015282810360c0840152613f128185613def565b9d9c50505050505050505050505050565b5f60208284031215613f33575f80fd5b8151611cc781612e47565b5f5b83811015613f58578181015183820152602001613f40565b50505f910152565b5f8151808452613f77816020860160208601613f3e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b84815273ffffffffffffffffffffffffffffffffffffffff8416602082015261ffff83166040820152608060608201525f611f4f6080830184613f60565b5f815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561402e5780818460040360031b1b83161693505b505050919050565b60c081525f61404960c083018b8d613da8565b828103602084015261405c818a8c613da8565b9050828103604084015261407181888a613da8565b63ffffffff969096166060840152505073ffffffffffffffffffffffffffffffffffffffff9290921660808301526bffffffffffffffffffffffff1660a0909101529695505050505050565b60c081525f6140d060c083018b8d613da8565b82810360208401526140e3818a8c613da8565b905082810360408401526140f881888a613da8565b6060840196909652505073ffffffffffffffffffffffffffffffffffffffff9290921660808301526bffffffffffffffffffffffff1660a0909101529695505050505050565b5f61010073ffffffffffffffffffffffffffffffffffffffff8c1683528a60208401528960408401528860608401528760808401528660a08401528060c084015261418c8184018688613da8565b9150508260e08301529a9950505050505050505050565b85815273ffffffffffffffffffffffffffffffffffffffff8516602082015283604082015261ffff8316606082015260a060808201525f6141e760a0830184613f60565b979650505050505050565b60e081525f61420560e083018c8e613da8565b8281036020840152614218818b8d613da8565b9050828103604084015261422d81898b613da8565b905086606084015273ffffffffffffffffffffffffffffffffffffffff861660808401526bffffffffffffffffffffffff851660a084015282810360c0840152613f128185613def565b5f8351614288818460208801613f3e565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b5f82516142d1818460208701613f3e565b919091019291505056fea2646970667358221220ef823633c59944f9fda7d03be7077339ed1d5eed2fa96f09599e4d1b1a6ac3e364736f6c634300081700330605581d023563538bce079cbbd434dcdee24e67db4e8585ca936db11f43c64ddf070119431105581d020cf06bcd0d227634825f14810450967e67bc69c3f6777a02b91f37f20c014745bb1f0e66455805581d022139b07cc2c790406997b23f4107105af4a913e2c42f7a440d6c463d0401021960800219c5e403a948cd813efc6ac396b4a461fa7aaf2f05162f34f3bba9c334e29f1c4c12c9730336fa66f847d09cf2283f1fe987a8e612c5092f918f1e01eb713e55700e6cb47003ba937f0ef1611a4081bca27c0b2bacc261b7f94611ecff0f60a6b43f5992de850310802c356335a5ae3ff6c6806d9670b363279dc7282988d99bd3b3ed8c51d47f03cec9b471e0ec1ab561e18a50c52a1e0e20fc52f3e755100e352eb32b21e217b1035f76c2bd541f4859c9918c2f1f0fd674bbe4175aa059c8f84b22c30917d57b30036ef3d582d08fd812ef9b84a90241daa30c8b99f6b0a0657d87ec96fdd34bbecb03bb16cf6210b673c1c5037efa550157fd8b21dcc573419b3f5d674aa909d124f0033d2b2cecdcf0fac1763a043524b77f2412d5d23ac8c57a3a90acbac51e3ea98403283ad8456650e8eda52c90ae0ae9894146f20063c2cbc781f674294b07cb33ea030fd91717060b749a6cb24c935014f47af2fc60ffbcc9c61e911e76453d98e63303e60745294f82ae0b766be87959d8ceed0ad6bc0cd1c91c823ef9f17ba27a75710370352b273b14ce5e338f176547e8d3dae4f85bcba2a50ff047098d4a9466f46803e6e724f55f892f600a83185a781a0822381cf0bae7cc5fc7af475b876302d96803bc7e9c08dbf6d037cd8dd556ae23b9ce04a29e5df26ac848451c76510250a3770219ffff039194b94998e07d697a34c29cb5bd2614afa9645043bc0e9972f3b71a1688af5303945cec04e0365aa939b243f47925b83d71c4ccb0be36104a56827b084415b1a2035c23c7a1331406c6dd14e64742595be8a40c414c07d30b0afe02b1e9a478f153035b419fe242fb294cba01bc423f2d82482312be311fc508af881086b754a8c4ff0368420fcaf56d9cf2b2dd54b4573293a59a1cb0e7db5c133c96ea0b17f9d8b44e035e68692d9d094b475e55330940d09301f40469b5f56d6d10f3373035ffa6297c03d3c5d1e135c1de5242499ad665fec2e9741c9dba15b2b1ca2a237e80bde3a2aa03bcf78882b88c5cdcb34b9458e4a5d41dbabac2c879f30b7256876f7c6075378703a8ceb219952c62a06fd3ac2272c2cb4d9c609db811bd0a223ee5712ba2f35f730219ffff0219ffff034c03429bc48b3899d5c84dcbc6740993c233ab45f46934444b097b3aa9b228a60317b1528068612e15489f982d0e365612ece6163de6c736364712279032b35c03035216a54a9a4c6e8a89a47c0e636e9ddc88fbc318d0a4b329299faa509d3b1ad703345e11ef4e934ce6e04fcf3a6c804552092ae38521e1b5ab4a1293da7ecf0c880359dd899f65ed8abdae35005e843de4e0db247a66f297fadb00c34d5693329eeb035d1c0b90a6a7d92533f55b495d98f5e5f88fb422cd1ead3abc482222b98132d003b2351d15c10eccbdc575461a98a83bd3887291a21cd4daa09539325a470fd0bf03616c4fd0533da6129327f563ec6bbd5bb537a2310234f618134a9a80c322fbd40302b9f60fa389b7390278228b47255ca44bd5c7c17b9ac9ad76c03641a47c9f74039ca842a74e6efaab604d884765bd9bbfc4ce8bf2fc79862da06f1e8146d98dcf03f586c43fbc8f0b7f4795bc29684ab0a9f10ebff770f12921514df5d8b11cad020332e6e39fe88e75a356b0636f88e847058d71aa6e2e11c265afa5c59d0475f5c6037e207fdb89bb27a802cc346bcc0ab72ed3c4233b4b6539044fa891b6ffc3f57503d22f3e933116e9333d8ea8534d4cbaf2249e06ecfab727e64cdaf25b7b49451b0355e1ca12ebe380b9d34be27d4d9717b080f1b96e086ac5b8e75779773cff240403f99dd3f15aee43ac3d94358ab6f37a4db31fa565bc67f978a30b7dcc825de7110343c825de4c5c14a4903053208993624ec88f6a4c42d625270554ddeb9eb5b47e038c1aa8b454085fafb534e9ff6ff5dff7d0de0267c2871a89a1caeb57093f815003d3c4da71b530466ed231fb606b6a13f5c7e50f00ba92809a976ea3420993d90503c6283e041b93b948bd0c4c7ff17a23b9e8109e1b476f3ba851e0898ddada73fb03c2d98450dd2eca6bc120d4511e557f9dd11391237b8223fbb234b7caeb27c44703a3b7a31e7867e55ac447cac09196d87c387821f1b83a6dafb9072498005bbc3e03b9d44efea8e7997167bc282f1a859af0b86ff2ea4488b73689d123b1d957b15103f9f8bdad525c2ae5263c8c1ba51efefa959f4f5bac71ad33712fbe2ba629e61d03b691c4bf90a11633998ef6fb78cff0669e07f1ef2096ac48463076f26439c4cb036aad7d526436e3634476d6eca15ae368ed41a5f5565f65776ec28abfa87701dd03c4cc02b3de50df32d86ab7cc6a746a9c67d778feafb5569f7fac3c3acdb9c4550349beb348275d706879f820e7137676754f44b95bc7cf3c4235e11c941983643d03e0cc0664f194bdbc53f65979e43a25a52d06102264cab1f2000da4e5347db500030fae4c006c8648f1f8c58e3e69249221b7659d5353f27e9ec79cb810e9352656038ffe3cb9f93e506a45f3ba8334a24296716802cb4af5af99b7428a69e114ba1b032322b32d569d85591eacb90526cffcab3c0474b5b398ba87e77c50dd349c77c6037a9326d0b03c811fd54aec9ca49868b3509456e8daf42fc3c87a731d67b2df5c03a6b0ba791e0fee3dec3ee9aa075bab32ee8ba32a84b49580b8614f81118a0c02039d5a6be0af0c41afa854ecc5a49ee9e8e2e821e5b90ee13046be2056e51390a1038c6bba8e731e9ed23094a280a97d4ded38669dd1f1fdcdb93ac48dc2174a570b03585a1b01d51db97497068f617e08d46ed635b748a602cbb707e8860aa24cc0cc05581e039e4fdd57de623a4cd28c25dc373b892a3fd382624cc0d84ba78f4167200847378fec955c640005581e03a1fd6b018580c1a922a7453edb40262aeb6220713345a1ab9c7d04ac900c064706ba298ef5779505581e03148bc8bed07722d5945ef669880748e1ad56a88ae062d81e9615157af0040105581e03ed4a0d96e64965e3660a272c242c3ba5649c3aa4451e41d9a0a3ee9770040e05581d02e81dddb00056a2d84b4981b563a78c3a9da35f7ef4282cebb5af3ad40c014702aca6d29ebaf105581d0208254fa1f5d273e22547ee64b790ba71249a9d27e8e1d203718fac7a0c19017d4806734e30aaff0a330219040405581e0323f70c0f3a18e1d98723f6a15b87dae39149bb65eb3f0d66b0c6dd0ad0040205581e036eac34007704a43c006ed23b9d599037e8eb388ad41094f045b0752470040205581e03e9f295755a90c56bc33a807f3654b3195a41ea8e04e5185210ddf99dc0040205581e03fb832db69cb606578a86ca3bb549b1761a1c4c181fabf4c667a6ce91100c034661c6cecb35f8032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942031aa593b75e9badddf988da2b0652491a570f511942f8ee9bab55951b234e102a05581e03a633296eccced86c79cbf804d293b8dfbb40bb36865aa27750ce326b2007011bffffffffffffffff05581e03998ca057ba5ff45f8482f3871109b09afb6e730765a015a40da101cf1004020219dbbd0317d7552e41ce3b4bd958f899d465ad690614aaca07995095938b81950522d57d0377eb001e97939df47b53531abcafd7a55309a5ef30444a07f268cc3a6d18f9610310130a45d9a4c9067ccca75f14e7807a7a8c8c66c18a2702df30087e6dc4fffd03e06b97e401a937044dc79ca88450557eb25b6678d257f557dbec6b617a6195f303dba73a360f99c79e565d3752df569f0bb8647be11dd1c02f32925224028b1ea603d24e4ad047debb740856775c33b2991c9883b77e9543d092b907dbe3d1a67ab503cec546d772e0b1593c22e54f378d0c24fdbe706ac1f47837fedb1a990ab7860d03e973f87ff71425b525120634894f08e16c4e4a238bb3465811e29dca76b6714f0219ffff03e5f88c3b6fbccdf7e9f5c91c81ebe99a963abac0b19fe43eea937c4acd93f4e103fdcc66550c0420329d1fc1aabe3a66a4534d7b8049501583feaf98faf6cb7fcb031b43b02f47e92097879bc0a8290f19b269dc7325b5fa44e2ebf1297c03a1800803600bf2a1625815df6df63dcc845a62b55526561ace8f7efa9d6c9b01773245cf03ed23e23bc90b320a91554089dccfaf3471517310b1ccaae77569146ba5aff3e80219ffff0347c88047e784f33d28182d2662c250216c1d04cf8cd84e8910d29953c95896e80355ab393ec5b15f7af9a0d02e27ced0c09a30408512f7bf0d7c15010686eef2f503e256e5d981f5ce66b8c6e509f8101007cd0bed52835136eafd6b30d476f7948703606dba9b083d271799f394d392e18b01477e6186349ee91bd02d3deb42e8e66c0219ffff03523b4daa54bb61deb7d4345bcb63931737159c4c14b70bc6aac4781fd334fcea031d03692e6e952591382224f32ccb114a411e523a3fb162a8b859fdd40a9d174b035a4e28ee2692c62941bec6880eb812f8fc0bcc6da6f7630699f818c0d3ea32de0364c832aca33835a523fdc5e0b3297752a4e805027d898855113d976dcccffd2c03cd628c048dd9dcb485bc0c98f55e6ef3ec28ee1454fe4c948465ec6f5cbea61903fd9a026f463f26fe697d8ddd0a4d413d772805c35d8135c95b3d0492b992533f03050f4cacf7b23790c0386fff22168d6e681c9046fc52333a55ae02774ce4ba1603eb878ddcf1cd1c3f2bacb9f1538bcbe6c8cbe5f02d48ae596af163931bdeb95203a83a9450436b687cc69607ca5aa429aa7c04917b35ebc4b1cc603fe1a4418ce1037939dd71eeb589974d6e830b65a19ce8f4699a47a34e30b8fb194fef3747678a037f9cb69ec11bc6c9890cacd5b7bd3f258af44aec8091bc9a0c429e5e99342b29038f7bb269b21a2417793ba552f8c1bbaf65fe2c0e42655dc3d4cc14e153f7feba030f0a08adbaf20765406e27a9d0492ffb2556b9a3edbf437e997b8ff00446d16103e3ea2123e0997809e7edc88eef840b4a332b1f877216da712baa4030db1b159203b7dadab3d1afe7fdc63ded801fa5b75f5ce4e0e8480bfe1772fe9a0d04a30bb503609e3428002e3efea1ebb1f12f491d1d1f8151be7080c7d34431216291ab3168037c898f110f1e616c7b43e53722e55c89981c1ab6c6058f575397352e54db6fd703498115478a22eb4b895490a3a3417c59f2c2323e7f81c874ee12ccb25541dcb103c65e11326f786394fd2af7a5847bcee3e901d639e4052313377155023e82fa4503bc961a9ba392b23eb190277aa1a59a094cc45f46e58ea3bfdb839a58b76cd25b033391e63b6b3885553eca508a643f03445187a832b085801dcc274c68b57e8f2603c55346614fc7363ab1ca08390947a3ceba2655fac4421425c5602bdc67dfa08a030d8bf2ae6866eb196e4d45220df286f6a5d51f21b5a2726d1cea79486d8c169603dc6de4c36e70638812d0f088828804db2de1cec475064b1a253ae3b619fe0b5603811893a31982ac73fa67bc0172f862e64f6cd33f861cf9b73235100fe96a498103949c3f2ff880efbccc47c4ddd6c016954d9f64bdf80131c88b5249bbb652cef0037f4b2ae9a0a9e216cb4952beeba6fdc27624712d5074257c234c546450c0d7cb03fd3f8e6455bc756aee9e0d1c91969c52c40d84bfbdd12977323f04e8231965e603ea0c65cd1159e7180f63d7e6242784dd96689e2a7ead3b484a0d017087b1528d03103aef3fe73a71f2e91369a9855c8e48e3f773f55cba162e0906ad497583627e032ce17d681c4fb3e06044a21681f78163f5d53b2032145b731df22843f1167fdd03b57972e092cf0d0635713a531d8f057ba2d3ab30b14df3d187cb93b7dcb0389e05581e038a8e278279ebe3c3df7633a4f0312274adf216c528cc15f1b0a42a97200c0446390de7a14ffe05581d02ca8d1195f6ebea59cf4fab49d4e9f4ec11135e58e17dd7b36a2713180847d93da79a13480005581d025d790e93a3c916f235064bde2771e8d0cb7dbd414f2a518a92952a320c1903fd48043a8432ccaae9d10219810005581e033610123644cfdc3b375d3ed68f8e7ddebde7b9df9d64421090bd4358900c0246d248b7bd940805581e03da9d397d2d066fb5d4847e1b76aa6aeb61af84efd7b0157a01f9199ca00413038de521345c84caf8c67b1bcd8a1f31d8f56389a63ee6bc62167a415a2bf2757d035641f4673acde39777a41b28353232b00d771dc4597bce9ab451adbca2c400300305248fcef4260cd45f2b0072fd4800a286084d9ebc4adace72e901719df24576034093e01785af9bffabc7b8e6961d212e33975b335be7fb7914b793e366dbe68003e00d217ffcf898a2e79276245bf7cb0edb32abb2e3d79779c41038d12b8bd37a05581e0391360eac5c65914d2e3db6225aba0e393ba8a1beb972ffb5ebbdc140100c04470213db2e7d952802197ecf03b258c90078acd3c4fe8e95f6e2f1fe28fbc95d534e76f558ab2f91ff26d03072039610230e2c0de571da8c10772d522c541f9f21fe8735afb256306a5283909990032995301fda1752ff9bb37e277b22e949c026d97d065fb3e97acbcae69049f0300302a99cf1de450072b06d4be268bc173258342de538f92a5b4a203e0c9f647a27038f8dee58a61f601ada68d55dc4ae24c7adb156bf1fb5e0b3c386309e8f1b0dbc033bb0569c83461b1664f7c7ec7d9b9b5b679719f5612e544cb7bd5cda21e833c6032f03b318af450afb647bee5e63da5183672c34079c863a42b22bda736b2ad0770381b7676a0ee21508b39444c6a29fbe8f14ba4a5252ecbd5a6855aefe667bc005038525b63746fa83ca4155ddf86ff72a8d835807ee01cf00a697fdcd4e43cc420a0325f919ae5332445d258852dbcf10eab02061d4338c85c5cd03cf323f9e7b204603f79759dbbef033ffc64e2251dba70b739e1524eeb0251f0397bbf14b66842d0b0219ffff03e8234cb44caaf25606c7b4c728be67cd437dc135f1a08c6ca35cbd19b8ebe66403ef2d457829c43357ac7d9ebee76377b0142ba2b8d37b7c5b12b4ee1e51dabf810219ffff03fb693ae4a74309f06d610b5dfb03cef9e20f2b6574f2fc74198f03923d4454c003386581fc804d571998b3fe7927d021ab142de6735a6f1ddf0e83b9ec13084152038055740867f95e8b46e19c0bb43dd3c489e58a478f1bc5e85558a5630684ca270379f9c91f3c47f010c52cb6184daf8d1df81ba1cd0c27c359d44d8e36c3786f8f0219ffff03c5ac73cb81dd5f6277fb7628773bb9172143e8f4ac2ac75e6f6396f12f6c8d6a0219ffff03a57953c17b5a20b9661ec9a6a5fddce333ef9a329ad809465479a9ec03adb36003ebc9454e064478f0d13131c060264346cd3a0b5bb1f266e93b80c9eb46d299a10314587808e0d265816b392008a05b8dbd8d3d540f25b2210ada0c85c8d706e418034374135f9c77a088b9bdbc80b416384d130c26d3fed0c6ea8248e0efd5ee8c2d0383bd7cfbe6c0e4eef68ac58cc019b3c158fa2432606837f173e8e0e187a89e5b036b7c7e852592252b67a8191e2b6104063e9be47407b40157346b03588e21cb100305950f7a2a31401f504f47be4ab75144a4f8de7bdb535ffd5c3e16401ee29d74032a948f82bdb0bc650b9ef26b8a0c7b0f66602b7aa8235777984e8cc7a4bb0144033daa6eed2b91f9d6ac3b82803932a3f84c66333475607f9db425083ca68bd3d703df78bb1269183194df0b05d535680a139ebe091f0b3889a0a8cf4406f91efcfc03a79810f9cddd6224f011810a7e86b91c8cc9fa702a841e5231a0003bd353edfc03f8b584116860c5a20471a0718d375001097e26088327bd63526faf7a5b6e5a8703dcf94efc5f5d3e83402b2fbeb61e2fdbd8059d846028f68dc0dc4784d2b1c183033abd4734ad0b3ba761d87dfb753df22bd86b3db4df36709adbfb2bb5e0cb0f650396cbbc5b2f2b1c38e5e8414f4a949fee386852e012e4e6eb767280ceb03b0b56037b89c2735dc7baffcf2e917e1ead7804ba5d5044b84362d044ad06376771460403270d103108449ff03c13c86e6e0321f79fe31922e880ba43360bba72e8ab3497032dc55e49161f6e395302607692cc571a582af96bdd23d376a1da5957ed381fa403dcdeeac94af91207d349eace1f14020a90ef1c04607056703e5ca1515c8166420304b3cdff1f9ca3aefc72c284fd2e6a23fa81ed0073ccddcbc9f076e91f0efe0a03d3d3edb492868d62e2a62edec41dc872c83eb4ee1b2d8610be7c92a7a331244803a619c8167287b77832ddf479ad6fde6d41fcf12ee854dcf7e73bdc0da1de8605039015beaa3691635e4934dbe025b2d79d8ae207458b1e00d64566444cd06d55e003362021d1b653727a2c322f9a902be8bf2c5282e27b87e14c01ac3ee51985c1290300bf30bf9860f0cd9c6d65ece1a53476f5f7bb7915cc0d4cebbe5cd4aa55a77b03ab7c242218fb8d0231daafb147ae9e428b7cfc156feef9c0136574bd960ca19003943a600e1c9e74dc33605aa47c00262a67c2f3de01b8828b7f69c96b9b314ae803b39ec156d8f3ffb3ebf1c4389492ce6cae3837b3ac49fc1f0f1098705bbe332303b3005e6c3843f2477d5e23c02ec0bb6468ded9e20239dd06ff6fc7eec9d697bf03fc9a766b5e3a40e84a180f3074a8ef512fe73b5ebf42e6e821a30a4b7b3ddbf105581e0317f64fc62e55d34cd98f8ea9c9b397d8a922b5ba9af94a106ef49f79c008465af3107a400003cfa8185fb823172211d4622064c06d0cc2440db3e935c91ac83d9821f5308e4905581e038ebd51b2c0225b144246702ef3a26ece7f3fd24a830ecf94ef85b584a004050343c2ad828070d54e79a6d7f2957f729f65a3b9bcea618dcd0a586bda943ac6fc045910e0608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161101660289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2290919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161108760259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110636024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fce6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061103e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fab6023913960400191505060405180910390fd5b610d2381604051806060016040528060268152602001610ff0602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e629092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610db6816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2290919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f0f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ed4578082015181840152602081019050610eb9565b50505050905090810190601f168015610f015780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015610fa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b809150509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820e8503adc62fbf531b0b24853e9e38738696d55570d455c72b3caeef2c38048e664736f6c634300050f00320360efb9d324e9c8df0398e88274143b5aa5b98e0a599dbc9999edb31bb381678f031626d773385b839dc3f5a5756466cd99616cf21369002b9e6b5a92d5367edde003a438aae168ef8ae06bfa2f4b4454043b03ad9fbc819e4d470fa74ab80512502d03be7cda1218236362c052f57357b035cb2bee51f994228baa3d9cd0bf765784dc03061f0ae17deeaddbdb52470ee6d498f8c47c840eaec1433b639ee67038f56639039e19de15ed23d11285a3aaf53293fa8519bf96c09b19c0cefea9af7e12ba472f03fa7d3ce1e887acab456f94712028e29880bbf3a1fe5bdfdd8cd4962858d37a7203421deff858b9bb90b90ccfd9f386ae7fb4b13bfbe745407f62170246afeb701b036ea56e23d73d437dbf97fa62f7a652c410d78c3c0aabd41e7b776c04c13fed9e03924510e823921af4ee2cd5299b31d8ecaa1b9b6784e9fd73bad8959fd2b754920366a511a2b371fb7a9f201b6f4f51895737a5a5a9d78542dfd262643e6efbf9f9036c5fdbf240db1c7f499c94a0ef076dc49c1181b3c31d86b225b3a49965d67add00581f02a519010730b1081febc506046cc1da0aa6f2dea246ad61a7e5315784cdd15820fffffffffffffffffffffffffffffffffffffffffffc906f7784ea8d2f2914d200581f0278dffd3b1292896242c98739bb4d80215648729194d97c1fce8aa09797584b03ac3d8145c06247037a0000581f020c47117faa539216d5917a1cbc4fa4ba6969acd13e608d157287648231b54a09049b99b16e512d0562032fe42b52bef7087bb5ac518f211ee7e46715ffbce51c1cb2ba6e6278472dfded00581f02d087ad6adc8965f6db094b436e0cbbd82cf8c3682f22782c667fc1da57b44a077b610d303fa06a800000581f0238db470da05753c053638958e247d96e6f6c2457024074c048b7c582ab485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0224e6987e9eb39674caead0ebcd3f505962f970f6982264abe3700ebf28de49da15dea98caeb3340003582c07b351ca6646bbf34ddc17794e2e25d1836e1a2b40d277b4fc321f5200e300581f02f54442a57f4a2a79a11b381bc97d6b99c2aa95734262bd0b6fd3d6c4f9524a23a232cbc5d8d2f72bbf0323e1372354a5fffbe88a0f0551cb10422563e7f9ff99f909afa64fe8a28ed30400581f024536978441342fb6899b3d620cd23fd9ea81f50eceee851b9ea13c61c9b64a1cfd06098ad87c17a80000581f02c4b2d666c693e24c3371b52279e8f609787e0a5393477ae5477691be7e0d4a057c82e380904672e4000219f6b703b5009876b21a8a75b811e92f436dfa6bceeb0a86868cb140db6adda4dd3c5ac803dd21d65725c9f379f234db37a45e4c179cad0a8cc90e24749c1bb8d9e589e4fa035920c03b46c2b1fd7483466ffbd2c6db2cfedc19303d362f7f603a941d6fc5f5036a2960473805dec922120bc531900c33f910590caab73be0892425d77c1e87010326a6ce883e9309e39961a33909f5632156aa214043b4bb02c50722cb719dbf6903134cc9ce23438b687ed090c3a770b84303d0397674221a4c52b2463a553a72ac0367e9c6b949d89089c6971f4539a9d84ee7da17ee7ab4b89e6eb7f0bf5ff531e803376aa2f1c74be8d61219e1926eec3cc3c7d7f267db7b2e05a3186735120969020219ffff039718b47bfe93529db6f441352cebecdea62e2e76e50df903999cc3a755938c8303cd73239dce9fdc1c74df6bf0a245bca3f2a8528bd73cac9d7dc1d97f794a5550033caeacb839487bf9e9ff4856256f8e52e79cfa55081dfee3bdf43be90852a19903f55481772157483f4fbe8e85a2a5b2a7d2af87488e96ba338a539e34d66a020403fedc4726106997f022f3045de299f4c113b31d9d30b1e65b72211be0a5e8c9240341aa588c0b33fe6a94601141df97130d582e4c72fb47f20d8533b88a0a6a586703707f6c0b289d37ff39f05135ee8871c67f0ebbdb134df5f26cca5adfa022965903ec6fe8dec5bc962ec088b171cb1c2dab5cc8636d80618f0dbe54511c21ea0562036405d2aec73a7ac3232f7c2b5ba9d9b7f23d79a47505bab96480fd1bb262684903487bf53f5c8239dd7e81880d4f112394c7f2215f577ee58da5d9071890ace1570219ffff03d41eac38bc15c311e93351db2bd3ed2f159df86f7fd28d56b570fbff4b647745035b22b822e853deb102ed1c2509c1161bce2d4374030e6029c5c872e0584e092103155665651ff1da718d75d93cf50dc73853684f579fabb89d2ce3a0fe151265d603a3a1123f9313440a02b04f51e1f10059becbb05cf94aae860bb9329f60681d71033d8d2967f2954e169d251782e72675005f5038e15eabc6197b72823f509cbdc603b6ca7cfa3f8a83a5ad32d476929f6c309a5dbcef451ecd25a9c61f924cdd6d1503424e14801ac73a57e713fb9976b556a6f75ad8fe5262092c34b16f8e37e8f6fb0376bd30ed47ef9e13c10b9042b026ef9048de9270602768e65030df96ddcccf12039a43b32e06ded50411d7b3d71caf31f3cdc629dc37b0a3fcf1a35b80836a4bf2031020ba59d1a4613231b9567661790d554f451ac0a3a09a46f2f4808b2e25443f034c0f1fac1a98cc08bc52e6479998562421341521e78da3bb4361fbc00269ee8b03a903abd68fe1030a3eb539b52087ab6f274fdc34158d429e23bd2cc9be31d5ca0375e493ed072a479556bd0ccf3881d72b41f7049c26b6468e7f08fef334bb5c86037956e9c267817766d2eeb23358c1b17042e82ef799e482facb0d247db067996203d09a736869f943297c031d1462afd154c04e35c9c520a9542346829c245847f20317b5cf15a29694cac82a15a5e180cdbb8312aa389d41e2da9ea1cc929b927ccd00581f02a0b1949b57bdb485f7203c4be6290387ef982a73742e9676fb82328c2e6e4a04c8ea8eb53e02df0c000310de74306eee7045252c397c4fbedc77207f1eb085ae3c10e9461ae9573484d203198930808a9c97f9641e4093b59957f21d4091a435c63271d8e9923804bb88750330a7955453ae92d41e8b8855c3482b7f6a0b7f5905e63d2f44e3fbaba0eb9eca00581f020a2fa507b34b3de56b195968d252a55c46ec24b6ecf802898144d93c7ed75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a80488417d08e99757144b62baf0a7ccf835e51f350b2b6a94fab5fb11a1d3d4014200990358c2bb004ac7bc24b99251201598e173e07213a5e969b702fab17ac69586e55c03ed9731ee380b9b7e6d5f06f747fb62831d7c9fbcaae7bbaa998e236b5306f56903e15411c2692c1c6016d88ec818a3ab4a6a8f4c8ee89c29f2095a1d6af06ac7b200581f0399734da73f0dca54b9e234273717ddbc8d0e0be234ebbc3e0e7597aa5ae04a41a75a7fbc24a8fb7a4b00581f038cd72fa428fb420e304abd287174729da4392e87be6296afeeea7e0130b0495e5359cd15bbb0000002191100033a8bd9af11e846cc36e0ee9929cc18e3ee3925272e8123a5b1a7c5646011f27e03aef79cfb891f7b8fe1b5d9f3a02e779f077882236b9cb269947543c1701fb3a10391d2849f0d5e717f643fae01eff79b131e25df28f1e43addd3ad6e12c9fe1f6c0329bb4d8f420102b11b70bc67ffbee983427fa59b3864266273c337e02505172b0219fefb0340097148f3a22419845a62e73044615025c2e14b6ab85bbea5ffb8943563d53703d47b08a09875376ca1f318e17bd43a853a74f3a8127b99488f794f227fff938603142a30c6b85e019f7a91e12f4cd3b328d84e6c08a395eb20c34ccb49a45ffc9403a8fd8b034a6f35e8da2a757d5397b98aeb5a2adb670113e6eb21fba998a28c9d0219ffff03c3e12ed6e7e0d06494d8ad33810d872fe5cfdbe808ef1c49148638a9692be69d03ce72f5dc414b62419512c18f44db43ffedd86cf9144f628f221648f3d3d0e1910335be2f049b16857c37a5e82dd64fc3801913edd3301c3261a6b476a08ca5fa0e03a8fa3006fa8a6bb6b97db2b19e185743a87afd601cbd6a1199201262a653dfa003f5efd884bfe490fcaecc6fe8bcccc2319031a70d6073a69e718ac8ce0e45e08d03a9bd4f562395f2a5e0ded42cfd766eda9c6bc6559952a219b274b2fb333d461d03bb30451ba668eb867cdfdfbc4a3d81f07fcacaf6dcef847476f243aeb55b9d6d03a76334b7797c2b790e62619768ab25e2974729e241c51e2f66ea4e0780d80e27039fec71882289b69917875627127d47e605ab500e541e20d4d046d820b35c3b720379958ea7e7ce4a83cbdb47e31994f5f5e5bf428a5b6a45d08592fd6072735a3403fa695cd20a0d11674105687a3a6fbc97bbc471a63fa5dd44785777e9463c56e503074b8323f0eafe6fa64aa11e4837ed29b40ad4c47f54a22cc596f8d14a5809ee03d85a0ea5d51d61f3e44f52871c7e41d16beb29322e05bf240b8173c4898188e603cec68973c71db2846b6cae6caec3256fc18d8579f4f4e2943c0cbee7c091a1f60219ffff0328d819241d174b3fa561b9822e9a4c23b87746d9091d65ac1ad616a317c403fa031224b2c9ef6e4ec1a6abf1ed70d42d0314ef3bee6e592d06f46e22646325ed6c03ad162b269391c0f5f9cd61b6317f15f5960827e21197ef3c7d9d6f4867b58265034fe2f1b93db8af9a094b61c520bb25fe0f80391e5058143c0dd53ebe65ebbafc036f86050cccc3c84cee0b9eb2066cb96c9b1b3fd500f73a1fcb96283b9809a4260352a7fa3922abb7542ee17fb87dedebbb9110ba0bbb6662abefb78801fde443cd03018254e2c85143fe923051ee32bd4dc4253149efcc0617cbd58102763954866c03d913600b6d334c92da48018af147e7ccc109d4555d8d474a28085b79ad5c225103666a776535689c0a3edef69b15458b3ddb77b85b884f0e5bc54bacd4ad6f94c703017f2dde21f12fe6c132e65221a6a7c4964696733175c8e8fea450681a242c430219ffff05581e032dcf7a9e0ed05c8c0300001018641ba12b0a7afc33edb4088a1b2461b007011910e005581e03a4b57a9eb9059beed466ec9dc3d066373af5b89c21dd8769ae67cd20800c0a46f2e7bad4c74a05581e039cece980700eeb79ff899bd59fb35b31f73cdc9ebbab14b56feb21c0a00c03474524b50df8a21005581e038ea692d4414983a5712dd8c627534b94409168e1b55e9c96b2b1632110040103e8bd394c37a445e100d4aca29d729a81f306ce236a39930b8173540cc7e72dca0219b719036638a1ef79b07e683c032c95e308d1fbdc0c9485dca674c27f3a4f432d66fdef03986d2c3263fce688ca487536fc2cb088d38b9aaec7464f6ceaa84a46f9f65c380219ffff03901bf89e082036019ecb328075211bae26157cab4c200fb43f52044095019a21033cd31dbc5814c1c0a8d36cc3ccdd72c9e9c9a11786dfce7560c0ed602286d6d403b345a1e223a8f2880060dec0d2e8bf681678ec882f7447673e5516d1a1c40aa00377f97dc37e2171ecbba4641f9db5b22d72ba4b96596491b8baf12aa1cd82168c0310a5353b367c21760b868592f98afea8d78dbc828ec346f73924ea1d31f213c503472f43a33f915c666095849dc0a77afa8d5e0d56124cd94af533ab171fd3a2500321cb8c6c8edfed409d45b4a4d6e507d98ff23ae22d1fbcf35988fa0dc76e3b6e03e7d6362c4e76f7c91f81b75de4360d9357c912be1ceb6c47d5ea9fdb97939ed10334f21cd8165a18abe1353380fa84e4718e914d872005696b28212e9404c3a0ca035ef0d1488c721d88c9ea26538c68b020aeb466afcc6e48668e7047376ce16fa1036257865f2ebcc9520bc2b9cdbb0a69ef9bd1d50e5bc7451aeda29ecb48bf2d55031403e905808266910cc020df7ff1fbd2f857b82f43893f76819ebc65e804638f0317eb2ae7b679a3eca3e83b70d390baf65bce5194d651507b796c1ffbd03465570334a6967edd23b41c66cc29bbea014ae89c9210a114f7a48c3e9036b0d814df2f031b2ad0c47572e067632c25732d837fb952e4e95896572d3046928c8790051dce036626bd6bc29d5c03213bf50b9ee1877bafee6c0871a1d34f3a98bf9c28abe0b701410303647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03abb443cf7723360e846e1d239e7f9a84094d536cdae42cd6fb55ee7153f31fdf05581e03f89e961efcda371d30cf423dbb5f029b5a1278dc44e67deb2ab5a8e3f007011bffffffffffffffff05581e03e696e3d4c64e5a3359b7442ee8d5c2f3fc62392216f96ac99afdaba1800c0a47085731065672e405581e03e147b95767d69167ce6a97e9bb28cda517e894c453fdeac8af0b799250040304592aac608060405234801561001057600080fd5b50600436106102bb5760003560e01c806384b34a3111610182578063c0d6568d116100e9578063e62cac76116100a2578063eaeded5f1161007c578063eaeded5f146105ba578063f63c2f82146105cd578063f822d5aa146105d5578063fcc2c078146105e8576102bb565b8063e62cac76146105a2578063e7a324dc146105aa578063e98f5ba7146105b2576102bb565b8063c0d6568d14610539578063c5ff500c14610541578063c688d69314610549578063ce9517cf1461055c578063d5bb7f671461057c578063dd62ed3e1461058f576102bb565b8063a457c2d71161013b578063a457c2d7146104d2578063a9059cbb146104e5578063ae5b102e146104f8578063ae682e2e1461050b578063b88d4fde14610513578063bb4d443614610526576102bb565b806384b34a311461048c5780638a114e131461049f5780638d4e57e6146104a75780638f6fba8c146104af57806395d89b41146104b75780639dc29fac146104bf576102bb565b8063395093511161022657806363152a50116101df57806363152a501461040c57806370a082311461041f578063725f36261461043257806374d5e100146104455780637ecebe00146104585780637fd491b01461046b576102bb565b806339509351146103a55780633e9c5f7e146103b857806340c10f19146103c0578063523fba7f146103d357806359b961ef146103e65780635c19a95c146103f9576102bb565b80631e0fa234116102785780631e0fa2341461034557806320606b701461036557806323b872dd1461036d5780632b521416146103805780632d4c39ea14610388578063313ce56714610390576102bb565b806306fdde03146102c0578063095ea7b3146102de57806315d2c225146102fe57806318160ddd146103135780631993f554146103285780631a0b04ea1461033d575b600080fd5b6102c86105fb565b6040516102d591906122e4565b60405180910390f35b6102f16102ec366004612058565b61061f565b6040516102d5919061226a565b61031161030c3660046120b3565b61070f565b005b61031b610950565b6040516102d59190612275565b610330610956565b6040516102d5919061297e565b61033061095b565b610358610353366004611efc565b610960565b6040516102d591906121b7565b61031b61097b565b6102f161037b366004611f48565b61099f565b61031b610a0a565b610330610a37565b610398610a3c565b6040516102d591906129b2565b6102f16103b3366004612058565b610a41565b610330610aa3565b6103116103ce366004612058565b610aa8565b61031b6103e1366004611efc565b610c9d565b6103116103f4366004611f48565b610caf565b610311610407366004611efc565b6110e3565b61031b61041a366004611f16565b611116565b61031b61042d366004611efc565b611133565b6102f1610440366004612139565b611152565b61031b610453366004611efc565b611165565b61031b610466366004611efc565b611177565b61047e610479366004612058565b611189565b6040516102d592919061298f565b61031b61049a366004611efc565b6111d3565b61031b6111ee565b610330611212565b610330611219565b6102c861121e565b6103116104cd366004612058565b61123d565b6102f16104e0366004612058565b6115f6565b6102f16104f3366004612058565b611665565b610311610506366004612058565b611679565b61031b611717565b610311610521366004611f83565b61171f565b61031b610534366004611efc565b6117f9565b61033061187a565b61033061187f565b6102f1610557366004612058565b611886565b61056f61056a366004611efc565b6118a9565b6040516102d59190612208565b61031161058a366004612139565b61193c565b61031b61059d366004611f16565b611947565b610330611972565b61031b611979565b61033061199d565b61031b6105c8366004612058565b6119a4565b610330611ade565b61031b6105e3366004612081565b611ae3565b6102f16105f6366004612139565b611b0e565b60405180604001604052806008815260200167496c6c757669756d60c01b81525081565b60006001600160a01b0383166106505760405162461bcd60e51b8152600401610647906123de565b60405180910390fd5b3360008181526006602090815260408083206001600160a01b0388168085529252918290208054908690559151919290917f71594b34a69973da9bff6f72cc0aad2c51069b6b8e9c70c0648b58d10d7bd84b906106b09085908890612970565b60405180910390a3836001600160a01b0316336001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040516106fb9190612275565b60405180910390a360019150505b92915050565b6107196040611152565b6107355760405162461bcd60e51b815260040161064790612420565b6040805180820182526008815267496c6c757669756d60c01b60209182015290516000916107ab917f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866917f084f3cb87ea0c76a68af7707db457f95657fddc1db6e742f190166dbdd3d5b849146913091016122a2565b60405160208183030381529060405280519060200120905060007fff41620983935eb4d4a3c7384a066ca8c1d10cef9a5eca9eb97ca735cd14a7558888886040516020016107fc949392919061227e565b6040516020818303038152906040528051906020012090506000828260405160200161082992919061219c565b60405160208183030381529060405280519060200120905060006001828888886040516000815260200160405260405161086694939291906122c6565b6020604051602081039080840390855afa158015610888573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166108bb5760405162461bcd60e51b81526004016106479061233a565b6001600160a01b03811660009081526005602052604090205489146108f25760405162461bcd60e51b815260040161064790612531565b8742106109115760405162461bcd60e51b8152600401610647906128c9565b6001600160a01b038116600090815260056020526040812080549161093583612a0f565b9190505550610944818b611b1a565b50505050505050505050565b60015481565b600481565b600881565b6003602052600090815260409020546001600160a01b031681565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b60006109ab6004611152565b806109be57506109be8362040000611886565b806109d057506109d062080000611b0e565b156109e5576109e0848484610caf565b610a00565b610a008484846040518060200160405280600081525061171f565b5060019392505050565b60008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55490565b604081565b601281565b3360009081526006602090815260408083206001600160a01b038616845290915281205480610a7084826129c0565b11610a8d5760405162461bcd60e51b8152600401610647906125d6565b610a9b846102ec85846129c0565b949350505050565b602081565b610ab462010000611b0e565b610ad05760405162461bcd60e51b815260040161064790612558565b6001600160a01b038216610af65760405162461bcd60e51b815260040161064790612939565b600154610b0382826129c0565b11610b205760405162461bcd60e51b8152600401610647906126a8565b6001546001600160c01b0390610b379083906129c0565b1115610b555760405162461bcd60e51b8152600401610647906123a7565b8060016000828254610b6791906129c0565b90915550506001600160a01b03821660009081526002602052604081208054839290610b949084906129c0565b90915550506001600160a01b03808316600090815260036020526040812054610bbe921683611bb5565b816001600160a01b0316336001600160a01b03167f9d228d69b5fdb8d273a2336f8fb8612d039631024ea9bf09c424a9503aa078f083604051610c019190612275565b60405180910390a3816001600160a01b031660006001600160a01b0316336001600160a01b03167f769254a71d2f67d8ac6cb44f2803c0d05cfbcf9effadb6a984f10ff9de3df6c384604051610c579190612275565b60405180910390a4816001600160a01b031660006001600160a01b0316600080516020612a5783398151915283604051610c919190612275565b60405180910390a35050565b60026020526000908152604090205481565b6001600160a01b03831633148015610ccc5750610ccc6001611152565b80610cf057506001600160a01b0383163314801590610cf05750610cf06002611152565b6001600160a01b0384163314610d3b576040518060400160405280602081526020017f7472616e7366657273206f6e20626568616c66206172652064697361626c6564815250610d6b565b604051806040016040528060168152602001751d1c985b9cd9995c9cc8185c9948191a5cd8589b195960521b8152505b90610d895760405162461bcd60e51b815260040161064791906122e4565b506001600160a01b038316610db05760405162461bcd60e51b815260040161064790612773565b6001600160a01b038216610dd65760405162461bcd60e51b8152600401610647906122f7565b816001600160a01b0316836001600160a01b03161415610e085760405162461bcd60e51b81526004016106479061287a565b6001600160a01b038216301415610e315760405162461bcd60e51b815260040161064790612462565b80610e7457816001600160a01b0316836001600160a01b0316600080516020612a5783398151915283604051610e679190612275565b60405180910390a36110de565b6001600160a01b0383163314610f8b576001600160a01b038316600090815260066020908152604080832033845290915290205481811015610ec85760405162461bcd60e51b815260040161064790612660565b610ed282826129f8565b6001600160a01b03851660008181526006602090815260408083203380855292529091208390559192507f71594b34a69973da9bff6f72cc0aad2c51069b6b8e9c70c0648b58d10d7bd84b610f2785856129c0565b84604051610f36929190612970565b60405180910390a3336001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f819190612275565b60405180910390a3505b6001600160a01b038316600090815260026020526040902054811115610fc35760405162461bcd60e51b8152600401610647906124eb565b6001600160a01b03831660009081526002602052604081208054839290610feb9084906129f8565b90915550506001600160a01b038216600090815260026020526040812080548392906110189084906129c0565b90915550506001600160a01b0380841660009081526003602052604080822054858416835291205461104f92918216911683611bb5565b816001600160a01b0316836001600160a01b0316336001600160a01b03167f769254a71d2f67d8ac6cb44f2803c0d05cfbcf9effadb6a984f10ff9de3df6c38460405161109c9190612275565b60405180910390a4816001600160a01b0316836001600160a01b0316600080516020612a57833981519152836040516110d59190612275565b60405180910390a35b505050565b6110ed6020611152565b6111095760405162461bcd60e51b815260040161064790612843565b6111133382611b1a565b50565b600660209081526000928352604080842090915290825290205481565b6001600160a01b0381166000908152600260205260409020545b919050565b600061070961115f610a0a565b83611c4a565b60006020819052908152604090205481565b60056020526000908152604090205481565b600460205281600052604060002081815481106111a557600080fd5b60009182526020909120015467ffffffffffffffff81169250600160401b90046001600160c01b0316905082565b6001600160a01b031660009081526004602052604090205490565b7f83ecb176af7c4f35a45ff0018282e3a05a1018065da866182df12285866f5a2c81565b6201000081565b600281565b6040518060400160405280600381526020016224a62b60e91b81525081565b61124962020000611b0e565b61143c576001600160a01b0382163314801561126a575061126a6008611152565b8061128e57506001600160a01b038216331480159061128e575061128e6010611152565b6001600160a01b03831633146112d9576040518060400160405280601c81526020017f6275726e73206f6e20626568616c66206172652064697361626c656400000000815250611305565b60405180604001604052806012815260200171189d5c9b9cc8185c9948191a5cd8589b195960721b8152505b906113235760405162461bcd60e51b815260040161064791906122e4565b506001600160a01b038216331461143c576001600160a01b0382166000908152600660209081526040808320338452909152902054818110156113785760405162461bcd60e51b8152600401610647906126ee565b61138282826129f8565b6001600160a01b0384166000818152600660209081526040808320338085529252909120839055919250907f71594b34a69973da9bff6f72cc0aad2c51069b6b8e9c70c0648b58d10d7bd84b6113d885856129c0565b846040516113e7929190612970565b60405180910390a3336001600160a01b0316836001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114329190612275565b60405180910390a3505b806114595760405162461bcd60e51b8152600401610647906125ad565b6001600160a01b03821661147f5760405162461bcd60e51b815260040161064790612732565b6001600160a01b0382166000908152600260205260409020548111156114b75760405162461bcd60e51b815260040161064790612365565b6001600160a01b038216600090815260026020526040812080548392906114df9084906129f8565b9250508190555080600160008282546114f891906129f8565b90915550506001600160a01b0380831660009081526003602052604081205461152392169083611bb5565b816001600160a01b0316336001600160a01b03167fe8a89cc6e5096f9d9f43de82c077c1f4cfe707c0e0c2032176c68813b9ae6a5c836040516115669190612275565b60405180910390a360006001600160a01b0316826001600160a01b0316336001600160a01b03167f769254a71d2f67d8ac6cb44f2803c0d05cfbcf9effadb6a984f10ff9de3df6c3846040516115bc9190612275565b60405180910390a460006001600160a01b0316826001600160a01b0316600080516020612a5783398151915283604051610c919190612275565b3360009081526006602090815260408083206001600160a01b0386168452909152812054826116375760405162461bcd60e51b815260040161064790612629565b828110156116575760405162461bcd60e51b8152600401610647906128f4565b610a9b846102ec85846129f8565b600061167233848461099f565b9392505050565b611686600160ff1b611b0e565b6116a25760405162461bcd60e51b8152600401610647906127b8565b6001600160a01b0382166000908152602081905260409020546116c790339083611ae3565b6001600160a01b0383166000818152602081905260409081902083905551909133917f5a10526456f5116c0b7b80582c217d666243fd51b6a2d92c8011e601c2462e5f91610c9191869190612970565b600160ff1b81565b61172a848484610caf565b61173383611c51565b156117f357604051634fc3585960e01b81526000906001600160a01b03851690634fc358599061176d9033908990889088906004016121cb565b602060405180830381600087803b15801561178757600080fd5b505af115801561179b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bf9190612111565b90506001600160e01b03198116634fc3585960e01b146117f15760405162461bcd60e51b81526004016106479061280e565b505b50505050565b6001600160a01b03811660009081526004602052604081208054156118675780548190611828906001906129f8565b8154811061184657634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600160401b90046001600160c01b031661186a565b60005b6001600160c01b03169392505050565b600181565b6204000081565b6001600160a01b0382166000908152602081905260408120546116729083611c4a565b6001600160a01b0381166000908152600460209081526040808320805482518185028101850190935280835260609492939192909184015b82821015611931576000848152602090819020604080518082019091529084015467ffffffffffffffff81168252600160401b90046001600160c01b0316818301528252600190920191016118e1565b505050509050919050565b611113600082611679565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6202000081565b7fff41620983935eb4d4a3c7384a066ca8c1d10cef9a5eca9eb97ca735cd14a75581565b6208000081565b60004382106119c55760405162461bcd60e51b8152600401610647906124bf565b6001600160a01b038316600090815260046020526040902080546119ed576000915050610709565b8054839082906119ff906001906129f8565b81548110611a1d57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015467ffffffffffffffff1611611a4957611a41846117f9565b915050610709565b8281600081548110611a6b57634e487b7160e01b600052603260045260246000fd5b60009182526020909120015467ffffffffffffffff161115611a91576000915050610709565b80611a9c8585611c57565b81548110611aba57634e487b7160e01b600052603260045260246000fd5b600091825260209091200154600160401b90046001600160c01b0316949350505050565b601081565b6001600160a01b03929092166000908152602081905260409020546000198084188216189216171690565b60006107093383611886565b6001600160a01b0380831660009081526003602081815260408084208054600284529190942054929091528484166001600160a01b0319821617909255911690611b65828483611bb5565b826001600160a01b0316826001600160a01b0316856001600160a01b03167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a450505050565b816001600160a01b0316836001600160a01b03161480611bd3575080155b15611bdd576110de565b6001600160a01b03831615611c15576000611bf7846117f9565b90506000611c0583836129f8565b9050611c12858383611d5e565b50505b6001600160a01b038216156110de576000611c2f836117f9565b90506000611c3d83836129c0565b90506117f1848383611d5e565b9081161490565b3b151590565b6001600160a01b0382166000908152600460205260408120805482908190611c81906001906129f8565b90505b81811115611d555760006002611c9a84846129f8565b611ca491906129d8565b611cae90836129f8565b90506000848281548110611cd257634e487b7160e01b600052603260045260246000fd5b60009182526020918290206040805180820190915291015467ffffffffffffffff8116808352600160401b9091046001600160c01b0316928201929092529150871415611d255750935061070992505050565b805167ffffffffffffffff16871115611d4057819350611d4e565b611d4b6001836129f8565b92505b5050611c84565b50949350505050565b6001600160a01b0383166000908152600460205260409020805415801590611dc95750805443908290611d93906001906129f8565b81548110611db157634e487b7160e01b600052603260045260246000fd5b60009182526020909120015467ffffffffffffffff16145b15611e3457805482908290611de0906001906129f8565b81548110611dfe57634e487b7160e01b600052603260045260246000fd5b9060005260206000200160000160086101000a8154816001600160c01b0302191690836001600160c01b03160217905550611e9c565b6040805180820190915267ffffffffffffffff43811682526001600160c01b03808516602080850191825285546001810187556000878152919091209451940180549151909216600160401b0293831667ffffffffffffffff19909116179091169190911790555b836001600160a01b03167f53ed7954de66613e30dd29b46ab783aa594e6309d021d8854c76bb3325d03aa38484604051611ed7929190612970565b60405180910390a250505050565b80356001600160a01b038116811461114d57600080fd5b600060208284031215611f0d578081fd5b61167282611ee5565b60008060408385031215611f28578081fd5b611f3183611ee5565b9150611f3f60208401611ee5565b90509250929050565b600080600060608486031215611f5c578081fd5b611f6584611ee5565b9250611f7360208501611ee5565b9150604084013590509250925092565b60008060008060808587031215611f98578081fd5b611fa185611ee5565b9350611faf60208601611ee5565b925060408501359150606085013567ffffffffffffffff80821115611fd2578283fd5b818701915087601f830112611fe5578283fd5b813581811115611ff757611ff7612a40565b604051601f8201601f19908116603f0116810190838211818310171561201f5761201f612a40565b816040528281528a6020848701011115612037578586fd5b82602086016020830137918201602001949094529598949750929550505050565b6000806040838503121561206a578182fd5b61207383611ee5565b946020939093013593505050565b600080600060608486031215612095578283fd5b61209e84611ee5565b95602085013595506040909401359392505050565b60008060008060008060c087890312156120cb578182fd5b6120d487611ee5565b95506020870135945060408701359350606087013560ff811681146120f7578283fd5b9598949750929560808101359460a0909101359350915050565b600060208284031215612122578081fd5b81516001600160e01b031981168114611672578182fd5b60006020828403121561214a578081fd5b5035919050565b60008151808452815b818110156121765760208185018101518683018201520161215a565b818111156121875782602083870101525b50601f01601f19169290920160200192915050565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906121fe90830184612151565b9695505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561225d578151805167ffffffffffffffff1685528601516001600160c01b0316868501529284019290850190600101612225565b5091979650505050505050565b901515815260200190565b90815260200190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b938452602084019290925260408301526001600160a01b0316606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526116726020830184612151565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b602080825260119082015270696e76616c6964207369676e617475726560781b604082015260600190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b6020808252601f908201527f746f74616c20737570706c79206f766572666c6f77202875696e743139322900604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526022908201527f64656c65676174696f6e73206f6e20626568616c66206172652064697361626c604082015261195960f21b606082015260800190565b6020808252603f908201527f696e76616c696420726563697069656e7420287472616e7366657220746f207460408201527f686520746f6b656e20736d61727420636f6e747261637420697473656c662900606082015260800190565b6020808252601290820152711b9bdd081e595d0819195d195c9b5a5b995960721b604082015260600190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b6020808252600d908201526c696e76616c6964206e6f6e636560981b604082015260600190565b60208082526035908201527f696e73756666696369656e742070726976696c656765732028524f4c455f544f6040820152744b454e5f43524541544f522072657175697265642960581b606082015260800190565b6020808252600f908201526e3d32b937903b30b63ab290313ab93760891b604082015260600190565b60208082526033908201527f7a65726f2076616c756520617070726f76616c20696e637265617365206f722060408201527261726974686d65746963206f766572666c6f7760681b606082015260800190565b6020808252601c908201527f7a65726f2076616c756520617070726f76616c20646563726561736500000000604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b60208082526026908201527f7a65726f2076616c7565206d696e74206f722061726974686d65746963206f766040820152656572666c6f7760d01b606082015260800190565b60208082526024908201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604082015263616e636560e01b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526036908201527f696e73756666696369656e742070726976696c656765732028524f4c455f4143604082015275434553535f4d414e414745522072657175697265642960501b606082015260800190565b6020808252818101527f696e76616c6964206f6e4552433230526563656976656420726573706f6e7365604082015260600190565b60208082526018908201527f64656c65676174696f6e73206172652064697361626c65640000000000000000604082015260600190565b6020808252602f908201527f73656e64657220616e6420726563697069656e7420617265207468652073616d60408201526e6520285f66726f6d203d205f746f2960881b606082015260800190565b6020808252601190820152701cda59db985d1d5c9948195e1c1a5c9959607a1b604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b918252602082015260400190565b63ffffffff91909116815260200190565b67ffffffffffffffff9290921682526001600160c01b0316602082015260400190565b60ff91909116815260200190565b600082198211156129d3576129d3612a2a565b500190565b6000826129f357634e487b7160e01b81526012600452602481fd5b500490565b600082821015612a0a57612a0a612a2a565b500390565b6000600019821415612a2357612a23612a2a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220701652e56e5ffab9394a937aa8c35ffe5fb8928e3ef71e105a5e99193547509d64736f6c63430008010033035e8926efdb7867fd8bb4cc54095fc52ebddb26b0e138aa3fa5a145d3289414a703464e7653bcd18fac31df8dc1b15122cf2198ee2cdab2b95f03a3cb3640d9353e0326d13c96cc6eb07df3c2e08d05113a91728ea684011c9d68386e0e3efc56fae2031c57b3a3da11ec4295acb44bf749468febf72cdebb8d30acb37079c351fdfed003795c0ff91aca25590d1f0764d901eb2f4e58c5af16a1e12cdb736e63206d7c0503e47b57a87654f9ea15055a75b9320107aa49ba205bd6040c4c7df2ee0a53fa4203163d80a511d533a866b3b0e75bcb812c4c5ef83aa014635523aa86ca39e927e1039589a9954d38f5468bd8ed127713680ed37e8be8ebe1e14a02f41ba5ee796c2103487de3aee9e24116c51d687201e97a00e649a46ba435a1532def44f1547363a903013c5b1d5410cfbd003795aba3403884f78dfb156226557206ed3ef597851846038ea1e54a328404dbd82efcce44ae684b6b4f4cc5ec24fa120d92f30d1b922f5d032f776ef005010f21bbd8fe770554631237f30761a06b214f11c308a20094a57b03d41ca17f8c8e23630663701bd7f477ee13d89552ba633c9daffe960f9510635d036f9c8d22ebf4c876d219a77ff275ad52ffb23f2455670947ce29967f64a6c1d8038aa167b05ec579ddc57617ee217ea11e5633cf0bffb27b3977919f7920661819037c06208219dc2232c70c173ff984139d2218f8f704801bbf702fcd05021945ae0343ac6848d88819b9a6b4b214321e90015aa69c00df7d671be6d491517185844d03a4deb0fb03e2194a4191a4cafecf072e49b593cff18cdfe02dece881e7629df200581f028f2b6575d8223960124d63f2423c8bd8e92160a149e23b92f3f968acfc9d5820ffffffffffffffffffffffffffffffffffffffffffffffffe3f8797bdbce47ff0381424e1e43edefd4d1540271c930cef83fb4bd3be3b417887ab9ab2be75ba54700581f02f9068d578d84079cb40c3672230cc86e92acd84b458dfaa6ce5573cc55c54805b137269a09200000581f02837b2e6ab3f2ba607a805c0ffa1bce1bcb58ab2d4a40610d31d8661c03055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b4e82e2dd914ba955f3b4b1a0cd9714d88e83bf4d06b365052d5a2ee50559df803621ef1d80e8730f4b5960f8f0d7afc8ee047eac7e98dba6a6ad3ec4ff987e7c300581f025c35952012c6110c071ea27f5e58f2f0a4372d97f687f541ae3ae78e1a3a482a8ca926a1a53b2f00581f02450f0bceb15c2e30076abcb98c7bb640578b6667841c147f6a7b3114b8a55820ffffffffffffffffffffffffffffffffffffffffffffffffc63392f60b58814e00581f024bb990e2868739e867d73d07ef53b19b3c9a4a305dc6419484b1714dd6af5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0284244a92a5255261ecb305ab02e9b7b4de6a0232eb71ae1ae2682be0fd485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b139358d4983230adb11f9640f9267a24a25cbc21eedd6c1aadbb0a7fa4b48063eb89da4ed000003a152a086e0035a8f19c903ec2eccb9d06bda76c47b4fecdb393df7652492f0b1039c08521d3bbfd6a2b0ac2a397c1d32f1407781a29d27da475fa435cf1d2dc6790219fffb03bc70d5d9feb30ea53a8bd2b8afe3ca166fddb6395d83d8cb0b7fa13bcf9b534403b4c0e43d2c94191d1ba7c03d3a7a3ad960b25d18ac6cd52d1e525688c6ef84120350a8986601237b45e562b92e5fde4189354eee0c241bb30ffe61957d6a91d6250369df0282c600dcc7f45f1bb6de19ea6cab154c4e40fb339f2553b0f96be7f6c903a583af3f2cddeec1dac6d69c6441f9284c4aa30c3b9b0b3600e920cf964c38990333663c2f4a02420a3083a9ef6ba23b9085991ccc2a31eec6e3854607e6c2b3eb0336eed8049dcfe1c2f2baaa3a3c2a7eb9ac80c0a1de6de72b33a3326102ebc31d03ecce8ca26a14e0066fcb2d6e835712bcf2eee0ba32b1db0cc0d49181fbb0ca86035a3e33aaa256b01b528094ef988e563c8feb89e5e40a8e802585989f388f72a20219ffff035dd1f230b2bd482b556485d6cf6567e3e7f0e00666f69ef921f62101678152b7034a2bb771112aa45e309cd9192cfe0f4f2a60bb25df71b2ec37ee979f2de4bb0403f36c2a5ef20ca4edea4e5ad28edfa5f49c6dd6ec104bcf0cbec0788545ac2d1d03d40165a00e10a19d118a135a35fd85cc1c13061d6bf0f4adc126b8a9205b2aae03ffe8cd73f37f437cdc620679859be544639a97cfda9a9c4224f1647629fda5cf0391cff304078567ce5ed82a0826ecac56def2b041cc9f84656e95730eb0d4b02603ed3f692253c4807c8189cf2ed75c29c73b07a3a2091e73b99bac216a0c75f776038e7fe69b26a6f9e3630c812c687869bba2c747d0ab1cba38c2e0f968c058a789031713ed69aeb248bc7993a1501a34318cca8281b90ba44ce353662e4e6cf075c2034d170a3d196c386db10452ac55c12537749b4624d8b90757291bfd27a71bde35036ad1224c36a493df48b8370028c30ebab4efb727917af8048ff4ccd25a045fff03bb6da11b16f4ecbeb692756b9043be7af3488ab2fe7b10e67cd9d1e3d1584e860362c682b54e49f27b8307cc6bd79fb5cb7c132826de42d7af4b30210137bdfcae03dc27e199ac0459168ae7f9073cb9b7c8c6672ae7c1587233eebe149b24151fbb0219ffff03c5a6637d54db51d1cb8aa3537a81e18899134041aafd91cb165638a5e3905e9703ca7559859c8fe9d9cc626ba2fa7f23c98608a8d17b65d501026a6e373e395c8f0335c31ee8b063db1631f49effef18b514416f9b59b5175586e624531faf0c464e039849186542297c692a54a577ec16b8aafb313652e4198ae6a95c4dfadf1668b9030983e25f0450265cfae12db7b653e15380ba62c719be1a959546e8ed9a74b9df0385cd9301a73a7e9f017eff10ec3c039221ae627843db61b33e10156784fc6eb70219ffff05581e03cdf002ea87e40b81dd26c93c809a6e21ed96175c7f4b8f43193fe087d00701192aac05581e03c061e7b8824a972b89403450083534adff0de7d9d1da68af602c4f67300c0342a45705581e030a333767828da1c6a5fc9064e4733ce7084857801a28540746d2f5c650040105581e033798677d2965931848521356f0f9dd10fd0ee3ccae04dbcf0d1adace10040105581e036749eff4cfa14cf110ee085c4f834970a03554d5ee7b5882c8e88e78f00c0147434a5d8439a6ca0219df690371eab9dcb789f741b294f730cd076a183093fe90d35d359538f6c0e51679b1a903f111f88c011f58ae29b99d935d0fbc3b82da6de12c191335c36b8c3004a6145403be6e4c140e39d9d4f20189fcadde6b14ac37a85e5a19cc24ef46530a68b81eea033e31d75089c520d0cd898d8de4b23191c2b0601d5660ae1e9ca2a9f5a322bf5303f77446ec22cde93f0547b19c5e6f029e424ed300076c77608531125e7ae4217e0371e89ef4b697287a04b6dea640c89786c35e667c3e28ff4854e5f5622988993603bb7a16e183f2af0710aea4de266223f705fe893326dffea7e180ca198bb4f07a03e2e0ff305414482f8a192d88a6ed466d16a91cd31b9ca0954b1c2913ee344811039110c9b6ef5310b9ba086a0bd82ee11b1180554bd9f361b342becc2b4a702b950219ffff036dad3cfe66c193dbf7cad495f2352c1c85e550901302fb0cd98f640e439a65b30306175c85e7052783460188fce4f8ce567f716073f030539a4ea60cd64237e05a036efdd8d1d429922afc07a2354e135c45ec797fe1f09c3371f979194edb6cd446034820d3e3194357054744f5a93e1c5691afd9fc594df544b905fd90d8dbc716990219ffff038d09b9d634dc865ef61b79663ee58774d7632c87fbc29f6b1b79d21d7fea63360361f7183ed915409574db3e969167d1816a6513bf642d46f575f0c71567cb830f030b41b9ff9870a53cbda41c857d20024a8c8b8c5bc31a47db7a0c2c82cabfaf9103766ecec56fb5846eddaf925eeef3e5d730befec031c417caff42c29865f0faf90219ffff03d0c983dba1e6cf29b9efd663b8c572d515b6646cd73a846424a1850852d22d51035038498d7ea57a825e5de760a344cee24c4edc8669dbfcf465613835aed50ce603d9817d38efa31ce23ba9a9e10d64cc667b56bdf1c2cc50387ebc1f0c4a9c59d20387ead08ae3b4562d36c2b662e0aed46872d50d03523e6af9008e249885c6c3600317fbbd1142f976979b34a8076c013e0f413299a77b51cf3643b1a06570ed4621034fc648de70ca948716144fc6e319036e464c6f246939f68f6e677af040989e250343fbeb379f92dca540fc1bab850f50fd7fbba79c033650e05a012b212aea8c5b032a7098fe1545b4fc775ed2889bde0bade0a7d2de912b519063682cd5605a80850381cbf56fecfbd287bf85005ffa869e47ad201c4334d13a1f84bb1a443c959e75035fa5f7f010bed16c857e567b731ae63dace879c2b4132d0256399deb32208c0503e583ac8ac61b6c9c880fe2186b9c5ae70645f389fff6a1548ad5e7648ab72c0d035b534578b57347a26259d0bf254878b2f8185b8af4935a447986fe12936f8bb10219ffff031abdc3a98ef69156ec564471e96d1c196abcb558f4c44bae34eec4f8a9ab396803d8aaa6c2108b0a39fc69e7ad0a922b039ba7649d95864badb273e4c667deefff03dcb28ee368bbe0886f077c7b2e14855c856c11cec96acba2db99464d9b16746403ab0d4306b15eb3ae7129a522ad340019a7c11a5345737758e1ca33c61b51e7ef039a9e191b21bfd1b83b49dbf2ed91dc7daf37ab313fd2c6e68cb4a08d32aa6d5d035c5ec697c73f63e590395c458d5edd569a8aa7f47cf27c8ef2cbba4ea81c9cf003235a3d4d7594ee48bc84ed8a8d7de745f14e19a5191c9d9b2c8bc192b95d16bb03010b7931f41306f6b0b3e5c7756f63283bf603385d85e53766fd0feaca48b20703df8ac914d000c4d0098e7881660dd55c2c1817f74eb026e04f50612b982214a4032856209f85dfde289ac8b1f2161ec3583691b803791ddf3ed55f7ad6e2e9a3f9033e110fb3170bf8d693c68f6731eb96f5fe8f77da7d1fef2948886d33e76ea50c037891e316f3a55c233d0b371110eb6eb717ac2524dbb256f6686a921fc5611fe803646d408822ea6a32759281844c1c60075bea36ee7a29d6b2200aacf5df5e0e0c03ced112d23ccba88f31add6715e9cd035b44e7b047807f91c786c45708d66875a03c7baddd3500b4d2b3fbc6fe6f89de94024d1d93ba00605ea44786dcb8da3e04d03ea00c0d25c375c5664668669b05990f8fc932be798c4be28f43b9188a66ffe55033a002aa0d4cb2e120d38440374affe40c28d6737bbfe93e18313ab675502c5d70328f4ae15877821a1696f7e9aef2d75457fb28f68faf0c9af7c4d692fd0c5e24903e2d7c7e0812068edb2656fd56093a41600226275d36e0a4b13b7a28a57ff26ea032d2864ec068e0f9ea77cceda1658bf44604f2c70964f8c0a9821a2406c081f5f036d06f4d0a48bc632c45c620bb25db0265d3f61a1a7e4cc97d6cf68f3fa511d0803d4b7698b04c528f1fd77f6c781ec1fbce17c0698dfdd6df2a79f674fb5387768031b962f1ff5b82c6b7546124957964c747120df72875e672be03eb4f723d9bad0030c9f9439cd6c95a545f05a909917e518fde5df5cfdc2180e48d7258663f5d734037e0acccf35a6d23e74e844f801f64fbf39737408027b01f74c58b67a7cc9da3203b97ecc8555575bc9a1f70ee39aacbd87959236574cb632d0ab714855c33ef2e90332531869730ea3e1090a73aebd5b1d92933197887ad13ba51d41a02e834eba8005581e03a3b855d864c7f5036ee907001008e665ddeb0a81bceefc24f88cde57b00c024701d0acf29c0c4005581e03f949de0367bafdf44542e78a210eea587d86f48e62642a1ac6f451bc90084a014542ba12a337c0000005581e032c241250e11ff697070b789ab25009f6afab5c6c2d52e4d61e2e8a27e00c014720eaa9de10509f0368c332f85548112bc86491924770010f9f95edc7a191e0183c9d87e93bcaa10a05581d026d8071cd6a826ae4173013fffcfe864b41bcede6fff5fc284cf9226d0c0647521c5f2e02223a05581d02d5897f046e631d7e3f7bef34e28f2cc50ebd8d9b12af07447c31cc880c1a0088d04a4a16ba439a6365a21a7e910219081005581e03fd5b8921e72b1f4ec685270efdaad8427a005e3bf5d4390465f7f43bb0040305581e03c259821a7e1c4f404b4800fcb87a47abe770628eef633c459efb1025e0040405581e034b920ea8266b9524382be87b67ba2004bc8a68288d041517f649a34c500c014671c671b5764805581e036eb658b41b208fbde4e6c457423728d19c95ecd6241f231a3424589ca0040105581e0322529ad42b234ef9bcfb39e0355c1212937f148b5593648c0caa4f76d00c0147018d9f5be7412f05581e03d5000010fefe5ee1174b13c64b520fa76bd8895bf14781aaf5bc5bba000c01471b3b2773938a0003088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e033bc2752016ac4ff4730c22d998292af9ff70ca52b5768a60668fbd2b5007011bffffffffffffffff0219ebef03df9e9a063f23fad932700c82a9c5c9ef7802a8ec1462ad01656bed4c31f519b303e2ec0f46a093adfab608a02f28a48e670a42d7109bc2613eb3c4dc038ef04fdf038abd49f7345571c87abe4e53ded59ff64d725dde08a30b96fb8912bf5206453303988e6018e04756ff1bfef443cda4303a87379d730ea6493ec0a1c8b2b6660d5d03bd9ee87669193dc523c39e54a0c732c6d4cba636f5cfb26d16349129a17dae04038f50c09eaf9de04602a3578d2ccdd2bc1e1a87d5d251ffce0653f8c4d5d8af1a03ac4a91cb96ab9168ed759fd6a23f5cde9c2238b517ebae0d00b25864f1f8b5540315998bb093067e678d75ec778a8734bfacbcb8676c440d01a66978d57150685503612033325d7001351e84faf4dfdaad6ebf9bb3953e826ba4260528e3f15a7b4d03d3e558dca56d5ee9b281e0163f38a51a47269bbe4aebd2268666fa82c4b4427503df42eb550fbf68d6f8be08e32b96ba86b6f6dadaeb69f26d933e1256e4a079fd03f35abbe0f15076784eb384b1c58bba61d42a43b6128b64b124d214e3a859d3580219ffff03d0b78b73066189fae5cd571d43dd7002f002602fee98379b381825f1a29ab50503fdaa233e725f1787d867358830482a73e62fb6c829b8c95798675cee2fed5cbf038014ae6352b06e163245be9044f526c35b11caee8302c10498d3a6ad5aa3e27b03501982f85e0afb5cb8406b431f06e8a7fc683b69ed6a349c15c4a27a5d68f95a03bd661eb2d10c66e567e56e8651b6300e430e09173321311ccd040f3c8c171f090219ffff03154826760df8835df052dc778aa6855d4aacaffa989c93bbe0fc428c59c9b2d90338ddcb22767781a57704477f58026c42f0445682cee827eaa4acaa8b27032710036d255ea25c37760ec7cc4c3bc209d6be343c12154022509f24e0f854e058faae032e0dcbb24ce0c82ab373529582fa8808380a48d5f6cdd9eb9d66055861b3dfc90317ca65118e00d93aff693beef3ed7c4f4ae76271b596a41b31c87aba07c6cd4b030bffce33bed552894818634663dd084e4889ebec2cfbcb8002c1c9ef7942a12b03cd63b077521ea8e778dc35fdc95ac4a4df8e1fb42546c6f1508be6dc07b9c23a03ccc9a05ca460c694394a3ec838c630af9f8b2d2091906b4c2a1ff75592ab51f00389c38c726ec85115857130d535cc009a986e546e4bfa3af043358c52ac69434403bf305531e1ea7d22e16110041c3e811b7870fadfea23fa89ea34babe83f90b5903566b1e3f842b0f4569a03b33013065939c330a7ad89082c765b78f6acb1fba0f035639ba5126f6130c86bef22a7aca82d3c6b35b67a91ef038bdd6ac8b683b7aa60219ffff03dc93be2a893d633ab842a6eb478c5efb6271494b9035e2623e61e4fb445f444c0389750067832e3186d348de31883c146b53c5a404c1efb11a9566de46f6fce14503feb986c1cdac41b2eaff827fcdc249c5a08c8929c9832ee40ee48fa8bcf1dcc303d78029b1363164f5d815a775a0f79e51ad76fc26d6b5e7b05380445a139967f603db05cda61e225723b7ba22411209ead0f7fb299eed306425e66d07ee000ee523035f5268b6377869bdbfa93c3a7692e635c147d464266c5385c52621c5903456c803bbb4f819712a4cdac064563f63df90748ad0bbb64f462c05663122d4a7a3c79a030b0672c4ae936c45a68ff384808ad16b9766988e423e70284fbf065f2852111b03db8049f2d3b1997baff37231b084cc4667d794a47b9da778c858fed63db1fa0403cce477702f799e315a96eac3cd6316c795e31d8a9f8246cdcf94c81ad59e5120039fbde04cc0009634889c126da3b8aea248304c95790e7044dff4c9b41258223403cdcae121da80ff094ef8d2f04973e09423da05748b0e77c1e04403dee943b270037dcf53dcfccbf111def11efb53f0d45b895023bfcc56cd8944b4a9681db88374039e40dd6b82aff91c1440f65f97cc26066941b296dc752eba6ec4af78fcc1cb5603ffe1c62cfec9ef8e19adc96067a10d4cdc4025b67f54ef3efe9c83db96151dd9032a465a43b4f016f58c17f251b89434bb338033283662ae71644d88ee1a62a079034fdee8b02b359c33d0f289a8f8d3951a73e7710848c748bf46c975c4ff9f3d3503d18451b3e8e99a560ef4c126495764de875244bb008af17f5b7ffe779e949ddc030c8156c0b7839baa63eaea5b11665eee85b8fce0eab24adeb74c18e31e8c0c3603ed55457b10ee5dd5fb1cb538558ea9f55ee36689c9c6960f1453a0a57c6902e603a24a78d1d70475b826537f67b328bc276ca593e030905c92b5d65c335886997c0305567293afd84110ca834876d8bed122b27407e093427a7014defd04a63548310391bddad119ced8d55c5c20b51f4ef460ba5c71abc9bd139eae4ab12f489eaf4603ce56b15a03cd280a6b6b9ccd3e66d8eece762915d07fdb67e169c0cd8f8a65770396539db11d77fe1ad543f68d489744f5c8d2dcebcccb784a1049e86df81b2b0003e00467ac6ad98eb81f24c17ca294a11e4a1756a1603ab2f129d27d9a391c4a560371b74fd9adf543f58aafd4ea27c611a87e4979a86f920393f69a082ab70bbf9703882780532b3d70652f5afb6d06b9b5d1be88fc4a7043637b67efae8dbc78538203c88668426242bc62e85bff67238260ebfd5284c513deba81bc73dc76346b31a40363df8a036c8f6956f87a4aa2ff34852fa616e8041ed58331c83e557fa348434f05581e0357ae60126373787dd3963c8d57585f74abe00702d60f338676c5c9d3e00405030eec163b0140d0d5a0bcd43966dcb7afe645998d712d3595661b9ea5bce2fd7c03c987d9ebf917e07f6a5c925d4331e6ff6b17f65af5ab3b06600a3f32341c6f4e031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0347475e287bf8ea6e9eceb995f26e181d9135a891d15e9953a7cc5d395007011bffffffffffffffff05581e032e1312c5cca1ed32e821cf6aae3e56b094cc262537bea1be3c4443c0300c0147023c9d0253ce0005581d02ec2198de63b1722c57f49056274bf10df32244b223eeefeb5d2d6c6b08476d29525b8ab12005581d02bed16dbd3bc00157c35a7ddb1a164dbf02c0707397ad98bfe4b55d4f08470708ccaca7c00002190140031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03d067c0b4cd9b0c6970b2baa7b7f01909aea30a020a43a29884449f526007011bffffffffffffffff05581e03a377fb47fb04b46f8ad5ff21d282716ab62957af53747368db11cee6600c03410105581e03329019a1c26eea742c280ee202c4076fbdfe10d9add755c04ad6ce439008470e35fa931a000003ff07b0f54fbdec44b03711159813ff80fd7519331497b5fdb561111c4ebf99ca021960ff039fbf783288c0c6a2eed91b719afef5da8e8162f7a77706509b902bca585fca540385c7cac39844e45b990d4479e79b0f838fbe06341075d469d9fe508044005a1e0219ffff038e9d2968959a1e7711529cb9473afb6443cacc7b79ee17a2bf5b3e6abef409da0353749dd58e6306081f4fba5616b4f52e54e1cf76f5bb3d386d83a7de8d4ff6e40326a33e0b1d5131bcda4cad4b19b09c40a8fc83cd0267bedee6f46515110abc9a038f3b2c261abfed6efef76b51b6fbadf98e384b2ac2584eec8debfb6487d377fc03791bf7c62a7eebd0a68bb3651d3c99b1197998d4cbff5a480203c979437d6b4b03de46b2b2b67dc76c0b36e269bd0d65fd2805f378baf27d98b40c937ef9d6bbce03b5e84a7f72eaacb92217a888f7195757e226d8705e46c190edd351bf5f9bfc4c03a491cbace069926d9fbaad82932d74153535f523994e0d03b351a7be402f79010303a1584aa88c77b71b6ca7290e90bd448e45053ba1c5b162d3cb5292ff2d480703913947d066a68c77d7c978657246ea80c4339ced218790da4e1f27c303328ec003bff6c51b553dc086c09400296fff9787ef3b6c30490d4594e21d4e99c9f58a710219ffff0392e5e47f5753893a1027a27310e905e10e02c02765bc567ddf4c337fee78b23703700e812a8177afd2bb048a64f400a3faa39514285917603d545889da88e17fd203223e83f9a0d7be568c8ce22bb7211b90a43ac667db0ae6ac588689af53471bae03fbe89b232b47bf7db7471824627407e128fb84b685bb3b07b50016aaa87d29f403ed86f2df81f8c5412d3da2f0e10085a1100a3d0908d20e733e2c70d45be2848e0219ffff0363de8573246dd2a86829ae5cd68af261a9383a7c73e6a563fbb14a0fe49cee580219ffff038c35e167d19d42e3e2369f08d88b85e074712cbbb519faa7e4e41fbedcbc976b032b5b2a3a4ff891c297ae473ed97585bd7629fbbd0b7e8e50761143f96ea9a1a103e5cc03f74d19f2961c6ae2c16374b07c66751cf01dc26d8ce365cbbb65892cbd03d7fb79dd5a06aaf432513c0b2cf29b1baee1de586ac8fc6f7efbb7e67423c758037706467d06374985adb46ef97e4b259249af50096499bbb4c1ea7f3ffab054fa03a7d07c431550401c2e4199a2f44e095091e4dca5e155ef2ec5fd81698b403e1103a9a3d597ad556a4ab755619380e82f6f94a0632b2036ec52f02c9a541853bf330377144cf6e0a502cc87f8d8b00afaf156e2863f3c27e7b3dba76f62d58f51cae1034f604545f0812959bacd00eb074759f098a81fa21cc37414a56309bc450d0189031c25f2d540d016b698a4789f4c6d85a265f52e7252e32b206fe8d2eb23e1eda10376a295610bf3226a5bcd6f540ecb8326094e0a63a640edc7e3c250260604494c0356ecd79de4fcd134d94cb3ba12daade101cbce34efc1527f0045b0a78cfffcbf030d452c25cc7eed145569d22b677c7c47de29821ae2440f7cb77f84670c60474a03bf8876b154ef80b8ffe07302e9dd4f90b3c395b3260a202e4a1bdea9108ea95f03dba08600e1cf8b8231bf2337752700712f0512e772325d37da2d7a224ca0545e03cf71fda40f287146a22b6cfb08f5971fcf9af09d102ce69e39179036bb0e5f45030edef9b9fb43ddf7a3d88423e04f99bc49eaad7ab8d6b9ac12e8e3c167b3703f037e52a1eb786e561e76357ef3a0aba40bf215fdae29a383827d608d27a1bac3cf03445a454c525774ebe8d6b14de01307e2218bfe8121aefb5600cbd7e6f12ada6403ebcee1bba6bad95a9126b3d6b7735b6ddefdd820492793fbe59941b383570dba03e25171e3e6c7396cab7e3aa18ff2ecb8b6b879ed9f62b173bb1775ef6477e9d803da8069804998c1b1d3fa8d4c2158e0824ddd6761762d7e4d9d772f5c87b1ecd2032005267ec98ecf72a49e29f6fd1012a65df17e94590873ab41604c72ec71501f0385d8bbf80a40b81669e02b331352ed02d82066e4a9d69a8674cb12723ec227800327532c1b8074fcefcfebe36ceb564757a93a2a697c7e2839eee51125f61f4a59033357c68adf410265c6b9a2b1e2b6d5ea89eb05019e44b4c3fea676b445726ca8030e848b1442c40286c7a3d2f5a2fed1f4330e45ee59a9635c9ecc4b4267e5a2df03f533ff8e5d46d53e156272c2c8425806532e79b6932393b4c1b379f9d43c1081034c9d79de8ed788f02ebf9a7bbf887ca51e83c2bfc3e730deadddd6ef45a6233d035322e0feb1efa63909e5688c66b938981716bc093290e17df086180cde35627a03ce935d33c4fe39fcfe7183020bcebb881aee1b3d852fa665d9a155c1eca3211605581e03bc04bd485dcfb60fe22b4324bc0f3ba27e0cb06a3d9e1872b6dd2e32c0040305581e037d852a511d6b651fb7c167b1a2a22814dd80fb0d5251d81c989e529be0040105581e03182b55b8be3c7400a87f61ccba62ca0cc05c88a23dacabc792e04861500847038d7ea4c6800005581e03b821326449ed0977e0a8d93c0675c6a618d06994bbedce6608ae5aa1f00c0447030f176bf4c60005581d02acd32bf370aa994fad7d93b0421f771d5588ff73f15d3b043056e0e40c014706ed83c14fe00005581d02f2f2fb7e1e9f61587110fbc341d54cef552ecc1c1cc63858b55b4a620c014707f4448730080005581d024410512b0c0b19529388e9b4445f11386aa7f917f991f890829e200804010459086360806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610708565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b61020b565b3480156100f557600080fd5b506100ad610235565b61010661029b565b61011661011161033a565b610344565b565b610120610368565b6001600160a01b0316336001600160a01b03161415610157576101548160405180602001604052806000815250600061039b565b50565b6101546100fe565b610167610368565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061039b915050565b505050565b6101c36100fe565b60006101da610368565b6001600160a01b0316336001600160a01b03161415610200576101fb61033a565b905090565b6102086100fe565b90565b610213610368565b6001600160a01b0316336001600160a01b0316141561015757610154816103c6565b600061023f610368565b6001600160a01b0316336001600160a01b03161415610200576101fb610368565b606061028583836040518060600160405280602781526020016108076027913961041a565b9392505050565b6001600160a01b03163b151590565b6102a3610368565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb6104f5565b3660008037600080366000845af43d6000803e808015610363573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103a48361051d565b6000825111806103b15750805b156101c3576103c08383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103ef610368565b604080516001600160a01b03928316815291841660208301520160405180910390a16101548161055d565b60606104258461028c565b6104805760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610331565b600080856001600160a01b03168560405161049b91906107b7565b600060405180830381855af49150503d80600081146104d6576040519150601f19603f3d011682016040523d82523d6000602084013e6104db565b606091505b50915091506104eb828286610606565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61038c565b6105268161063f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105c25760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610331565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60608315610615575081610285565b8251156106255782518084602001fd5b8160405162461bcd60e51b815260040161033191906107d3565b6106488161028c565b6106aa5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610331565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105e5565b80356001600160a01b03811681146106e857600080fd5b919050565b6000602082840312156106ff57600080fd5b610285826106d1565b60008060006040848603121561071d57600080fd5b610726846106d1565b9250602084013567ffffffffffffffff8082111561074357600080fd5b818601915086601f83011261075757600080fd5b81358181111561076657600080fd5b87602082850101111561077857600080fd5b6020830194508093505050509250925092565b60005b838110156107a657818101518382015260200161078e565b838111156103c05750506000910152565b600082516107c981846020870161078b565b9190910192915050565b60208152600082518060208401526107f281604085016020870161078b565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220fb0d75414bd881ce16381528bf0b9b2c1bea4c3e27069fcb6981b67d1535643064736f6c6343000809003303be72dbe55a02b297db3fa7e57f6776be33274df2b04db86d5b65acfc22d1166003f992d784f333c5a9b63625c69becfc9b2ba2478e1075af9f059c41dd71d63b280398c823e2590e5913c2519d751793b06b429a6df0ff6c172c8d23188a0fb2f91f03d5e51f646905b598190016f63a36d21595398f37b88e7aeda56b4c12a55f4d080378f17205ed508f95a6747e9182ebaa5b6ae13d688ff38c7f00a5fe25ef2f4aa20396b1f855ab57444f8c371f2ec6683e3e836a42ca05f457522dc9c05924bc5b170381a3c79afcede0936dcebbdd75a607899c7d58a553606017e2289ad48fbbbd3803f06d8972bb3e2361c1bfee3d6878536e49ab786730a0ba2f6a9dc6eedafa7d8e03632f2bd203b38c30ffc1d5681852d58961fe76f20010cdeb71e028df5a41e8d203e25ad1423448191ce32b8637deceb1d91cccfb0e346b9ca3b9a32a10184cc4250359e92058e6b00aec57e24aa13ca7a37a00971336279cd284c03f8d7445af69c6037f56d0cccac0fac9359027421a4db202496b794b9904f5ea35cc41fa320edc780395375e3a3d9150a8ee0e8f24bac8c0a5698e211c7f32ad81135bbd68d8ed6bb70331adeeb7ed1dcf4618ce6ae4c258ed7a19d54cc89548e4b7b3db38bb54a93d2903aca92776d0e5393c4b099686def4608dd7f547d363ae274f2d324f4ea33f968203df36f4aa18b14bd89f5acc2c61425553e8a5cf966eb58f14f0ba3e6c5a1a2edf0390305a0064fac0eab8ac94e12c078c118c5701800b59548c124908230ae8bd4a0367b18289cef58c15099083208fc8ec8eede71d48cb825149889fbbfd0e87b0e303f1d36fc4babab9d142ad9e45667d2dded1ad1e8ffdf8d47d54e1dd9402513602034f09f290beedbb0ed88fb6fc089baaf0db0762ca70ce029b41b6fec10a857cd203e1b7f24857a3d9c038b458c6b9d77349e0137379fbbb6bef5956471d05b399290366b76b7a619e6cfdbf97e412e622a0edf623c96d784e5fc9f81867a64267f5e9036896de6bb9622409f2ab8948973cad3b82f189c40def93708c305c54e4ab9ad7035945450193c0447a9898de00f387502c867e23fa98d99049f97d249727803ed90389bd51343679221a7aeb8c8ae5ad986a37d1836b75935b9a887b756338dd688103d4085db5e92ccaa280932f9fc8ed57412eedc216da078f0cc49ae902e38fb58e03232c87e69a1ab13e8cfed958d62a46fcaaba15e0b558d6f31913b01c49c174cd0321dc57fc0406803869823945d6a35669c746f927764f378d0b3d7672148ca303030822cff69ee9fb71b8fe967df5ac68fcbf26df44a0f4f54377d85efa973b2aab03b78455ca3d5bf58f3e029f7a32000d217000efbad4c264039fdc5a81fc711c7f038f4410f6ee2c3c5abc455a0cc63ed9afd7647897bee6c09c124aa57ebaad6dc700581f03c85c9e9333fa49cc2f279ff3b0c31fb6a11157129b0bb5881c66963be3b05820fd1828190b01e210b012203c2bac1738cfb713d978d58718b5ac74f66223536b00581f03e35a3149fc3ce911c5dfa8548dbc28cf51a74038f8ca71c570b20b1e1af05820d991a054df141a36885d29282d7d2b16d5662f28390313a4a89407541f1b9a88038672d4552540e86fa42ab6e2334f026f458f0d4b8ddbe736229c68fb578f568703e22ca654fb2edcf4fe6fbcfee2ecd74732b9b14a45caf8f1ca7f10ae3b488f7c0366ae8f306e1d14fe414353bfb0e2f07805b30a6c5cc086ee654a23f555be335a03304eb390c8c9d77c18162ed4123377bbbd49133048eb7add2f1f6ecd23b0cda600581e0203e9f5620495875eaba32e43712c4027adf59c645991c7a74a85f18ac85820b319838938f294a83877a888ae3421d7c6546464e13063e06d4caab6232c7fd600581e027f05a9f9863d4dde849905aebc5c291752d9ef35b052d33403b367e3055820110474f0e33ee5dce299e12b36608046699c155299ceda2761602dc7fc1840f900581e02801fac37517ce8b5908e169a1a85d05a35e5fdefedd638643a9188f1d7582066a8fd0133e82ae4ae466f8fa13c381a8afeb992582f22577223241ef7ed698c0219802100581f034894a4a804119583c277c01198728aaf0f0999642c098f030693f70b4ca058204468275c0dcbeb687fcb66329f158a9b31edb25b5e0d86cc750d5a613b1e838400581f038b1024c62744e3f5633f73f7f630a6aef769f0c2f1cbf9f90018856899b05820b5b868d0411afbaaea623cf9a1243ddedc2e728b3d4ce9aa2426cea82c6d485c03b14f25158281624e1e9ce5cf5cdc80c98b8fde5fdc6db00d8ae98dd4f90e93620219ffd703f50a5298fd2f2666ddbeb7314d76c3b4d2c02b3f8ef9506f9d42c3a4592557bb03ebe3a02c5111d0d066758c0901ae3878982870ea72f47924fffdd5d501cd00de035a18d3bc78e71abec7fbe3294b50dd48c9e73a9e71941dd556d8e091564a722b03f2b911e77dc310de915b9105d0df46bd36492c533284fdeb4a863008ef24968f038b311d23b354a59ddd87d954a1cff56f2e2f9d661274c844017dad106e212f7a03b1480433945b2543addb967e8aab4be2dfdedb5c83b07681405110956f99984f03d17d73f0ca6f0c3f61ca11d3aa5b6c76da1872ce26866ed3381ac26e0a990ea503c3f69a9ffdaecd887ee61326172b727ac1f97cc13cd63b8f072508deb9146e4d036aa72d2f378b713b9526fdcf5b4ca043d1f97d449e12ed6a62b43b669873a4a80219ffff03daa379c39bb900ef5c68c28b25f0d0ee45789679add2c58395ccc477802a4028038fb5d59c7772b660680cc4aa190b288977d9968c13929035edeced235d6accc1031fc228ee99196ee065ebb0b7b9e4ea2785895a24312694a7ab0167e30f8aab080219ffff039a9738e887314ab1da503e9507bcaad8ec2720def753650d08ca10ad32aef38903d578475f54e3a25b2398799fb8c991c7755aedf73b7c155d5e9da0302190c3c10369b93a7d4f908f5f0e77d46d42e6ddfe3fc87c25876de689591e4609b435267403855821485221c4fb39ac35b5e39ddf5038ddf85f67bb3a76690e1802a186999d03627e96eebf500a492061d80ec74fb097dfa16faaa1225880fb5b86259112f585030994f84bdf7e87da3e4b114b6c67bfe616ccee50ee0ceed780d3c9c162922cf703875ad10362c3ace94eb80c4f4ca0b1c04c0abf1109e41f72a4f9ecf534da65450321b83565c24fa5dc7a91e7f414bd996c2197051b7e14cd9f686a152eadc2602303a6dde37abc2148df8934d72a2bad851894b1870ce00a606aecc8f558d7cc32470219ffff0329046e7ec78c7d6584dc22aca129259883dd4fbcbc1b302352e4553c744d4b9f0378989ef86069cf73ad58926d62e4b436db674a05cd9a475309443fcb8c7fcf9403e85340c0d0f50b43b0f333c164c505e191db19ec7cd9a206f439911197d8de1803d7da0321a839d561421a2f5e897e30848709b54d7a78c6f440e3492613c57d13030b32585980b2954ce1ea564fde287505ccab2efb2421456695deb01f5815300a033cd7ea234e29f2e22e242b60f6f3fcf1a2da2feaba8d031e5a6485b9a974c212033ffbbf0c460f0bbd2fecc1bbae9e75fcdbcc551efc156a02ea97aa78888c1c9b0392d46628bf854fa9495ae898beaf974446cc70530867f86f5eaf3c3fca5590a103d5863af0266f2c873ad525a52b76ecc21754b40f789ee0b1123f8f8b0b38372f03eac097b74789ad66df6a74d50d65339ca52d624abd206320959a3a88b989554f03cd5f732fcb2662d77c481fe32f78b9cd68c6d62c3f3009015d23dace13cab06803a58544ffc1f17e62cc35f6426ee2cf82c72065cf7a37d2bcab6be2dd99af24f40360ea6394a77cdf39461f37cd7008b425de071e91e551dbb303c9a773298fb34503f25c0a43f4e754237edb7b8c07b91133345a40673cf7edd13d040243fbd0a0bd032e57e9ad500ad1e07d4c0f3996eed68e2e1b11bd36fd9460de537d041bd7536d03cadc2bcc26d879238639615f6c66a406fd945ddd4316c059c73e97f1d634e83f03d4bbba7f4090250a557c361b2749e00bdb072dbc81503b8d1c26f9cb00f0f87903d55676ec0b3ef26bd347eb6ef2d8d1ee77848922f6e5cbee1efebe0c84708cb6035b77860b2cc24fb14c188143500e3e53552f0beb814fff23dd16b75be09bdff203fd1be545df7709009a41a804acdfe80a2a56e752d066c3528a552e0b8163c84303ce1bcc8560c3a9e787fe86ef3311b43c08b1eaea5ab249981aed652bdcff668b039a9b249da69d4c94b48b97fb69aa822fe61b055adfbc5253020b4948d8f102c3037ea324f3bdf1d29c699e71b650ab6279561401e9235a1dbec0072c6d11ea63ac035e46080b1d648145e1b222fa0bfd063aef8d190af0c5e6dfe21173d20ac929350327da04f75c1c0b6460a99b840c6428f85986368f0803360fe42e79a9cb70b09103e02cd7295579e7e054f6fd0ada572245a494d565a76e6f566885867e996a61b803cc70c2df9d42661a03cf77589bb4b2c832e15b05f1bcaf815c93911425906c1403f7a95e07cba15159eb115dd5e1dd0ad3ef13419ed42a7a3871a2e003b6c1bbba03b05643ef33fe4202551ea9b30c1b7d45cc213972e60617840d703729118f1cab033170e195c8f8d304d907ae27dcd015d53568bdb45a79c303368e44ac9560aff3038f687a79e1fedf9f2792dfb44fd234f0ef72b1f75fac38ca3f0c2be701301c8000581f03ab489b7c419b2b1c96ba2db5e05ecba67ce9d2b203e7a30e9fd45502704058202831594ecf834662c0366427ba2383f95b74317b2166c947a01696530f43b74903011966218688112603587249bd0d2e3cdffb4fe8757d96a5ec311bbbf50c3d07037f1ffdab7ae012862cff2b2c2340e558b6ffafa795b7c443279c365ba51e95fb00581e02006a9a0fdb7816b504a9447bbac55a1ab59b724f3508ed5f6647544dbd5820682eed4902af7cce5978664dcb313dacc6137843877e37ab4b408989055c5a0400581e024c6294d7f3fb62e6f4d45ecd5f7a8e8c0b93173022c0f1abf6fcca3be65820f554a90d52a93538539e75c3cceb28cec842fc3874936eedde81d08024a4352300581e028f3645f40574d0b82abcfe002768a3bacd5b95970512fc556444c18a8a5820f0e937d42f55c06f38aecfde42229563c2905492042507360e599633d4002308021942400370cdbe70ab94684798705ec0e8ff36746af76f59d9a54b76c8cc9bf1257b8ac703694d486fc2025b28984fc367687cd7e7eaba49e71510a1dd6f4bcb21e063eb7a03f9fb296459170ee886516156d08dff93bc682502cd3d37ba12f8cb8e2ea6ec6500581f03547ad3dcd1bbef954189838a5523d04d91eeaf460793d549fd6d78482f905820e00d0b350a6f3774812c4c691800a8490637ef3ab9cd76d791520f28f6585fe600581f0340dc9cde7480c1828a0768350fa0ea77956fd3dc00f2f1472e0ea82f83e058205470aea9b4459765ffcb5cb0877ace73695029e198598febc631fe4caca5c9f600581f03e7b89977032a0c80d0f76d5af4347c96f82bfb2ad53851e20ff95b25a93058209541821548bbf7e332c5241580dde8f347b0b0ba9689163ee06c892ced69a91f00581f032584e57d2ae202b16d330039f2d1ab44fa19ca5fddfa0cea0d8263b85fd058209f0e9ca95b2f96114fa89d085623bc747656b51fa047015efdbed4202632f86700581f03d2f988ae8d36b0a7fcf2c35157c3d5fb2a69997d1502d5ae829be5d43db05820681dd20cf17e9170d8eea6ead5e972da1ac88e320238e02b42acf92ea75a804e0219fbfd0369d3c079577bf4b969337f0f3661ddb13ce57e38db74f2d2e4b9100eff5b1f04031a724ccd13e848a049242326edab336e36ba6c359cbf90c7438d7157e84823f503fd60c107cfbe297f9870f8a81e2ff6b179fcabbc04af6efdf81cf57a7d73d24d03b6423db46289b79279f732ea281e093b0fea30f096e16f8249e89480187363b10355fe77621f927ab7f50feaa3fc9e0b8851c758a1571a8f57dfe2a6386bc1c9ca032e24dd39fa9c1f1cdcdc5fcf6d76d81444daa56aaf48a7209aa237eb84ab7eb90219ffff031a13b2699737a9af5db3ac920e274f895c7a2051f29197d9bc944187954a3edd038f4e3874b3023dfcccff3bb5353d3a41f4d56e6f099ceb9eb121763330a8448f0219ffff03b4bdf18e527f496f9cb52f0d1aa238746023bd045f4c46a11433c78d7439658c0369a8555e354dde458205c8fb5be6209231b3dd46d7a4283952ac5cf5c6cb5135030cf7b508496f89e0be35ba52f01ace6fe54eedfea8c92f2f20d0ea3e81b03b980354d1b2b8098f2584f108280ceafbdd20612b0c29c3f9d13d1ceafecbe7fa1ae403f4aadb802049a6e3b40cd1cad3c3fde35bfdb95cf5e89adee2343ea21793cf2c03ae1464856bd61fc9259bfc8e3ce91850f6dc81a007e457173b4c98bcff2d605b03bdd9a6063e3faf9de202e46b253dfa0631d2f2e1e36d9cf81852900782bea59103b80443cb0b979efb24cd68cb801f9437846502ea77527e8f194b32e6da10ce280219ffff03cde71f8a4a3bf34b1a21d40016e965cb2c111ae3e57194a531b1bbcd5b3b601d03cd69c7c0bddd640859904acd65886d780ecd1e84f91ad2574dfa529ffd06f58a03730a978e28728b1b0938db417401b4b46e45ca3c772ead789259893a4cf187fd039c36e07a959fae1a92153717b8a1ee2f3807e84b1875653a9ade10afb8db512b03420c982ef7d7390d40afbb0ddf9ac9766c9d6b6deced228b3004d80fb6e6962f032c6e1b452d8dd1d8a918be2bb4ee57db80f4e4bee6ba90cff634d360b60c32ef03dab90a27e4270c4cdcb854d52b49d2e6c80d723546ea88921dcf2cd5ffde98db036ac6bb94a9b8065de97ea0ff533f3c4520b8dc5f4013846039dd8cd7540ac4bb03e8232f589bf1475dd6da1d48d822733d5fcea1d8d0dd30eb24751c9631ce01bf03ad81167e26dcae62cd2aef4b5b0c6ce46ac1db3eb4b237ef63fb36f478c0155303d770ec5f92d2fc28d5e77eee99c40a843f0b937e504db38f73b2328cbc9c4d6b035c94142504362043e42ea694f826000503159ae69acf11c9e6f00455349f84cc03499587bce1b2364f48a3fd3ba960aeb6353ab0612900a87f01fd99234f28307403d57cd796cb678c73d3167fc2499f02c7c4db3bc8bde57cb171965f01d5cb05110313dc0192aab33ba7de0cdba08fc4e050c513892c7867a8dbed12f1ca1fce94e2037a1678cd825feddea4dc28a7afa61d38432b4b71967c2d1c11454ffe7548b65203d0408b3336cf4d81292e16e743b658d140bebe894621d6f5f07f4581faf4862f031ac094ea79122b5837dd3ea31d08aac4dc80dcbe8943a32aa5f9fb67093ba8e803bf350cb16407118c2a78682df600035f9b9eb132e02c2ca4d5e1db8736c9799c0334f82390745518cb54c208ec9f284e15212798382bd603df3696404702997a330304e1de14568db23cb8ff3f476b914c0d76f8d1d55e69e9c1302d4c10ab89b2d503c176f672ba92f0a3a36b42dffa9a22e43c80046150adc8adc8282f1acd8dfe1d03df3f275fa4e567c3577c91bca17c58eff68167da9600148e6363bb198a0f40c603e51287bb3f419676dd6d5ed9f0172a4f9fd448f47460f3d719293cdf117fd338035471b753454f51887a72f2eec54651c120af65e186e0753b1721d8e2add5101103abe7320a255ee1cd0e82f2daa496ed04f5cff1813f8864ad192b8bb4bbc4d13503040e297b9443eb335f35debf3208690fd925b42c70aebc05c9b74a69f2259d400365c9e0c70c3d435036552bfec7c91d26f4c18abb8e808dd2e2caa830d1fe6a15033d632cafc2eb8057794145c1bda7855c67f0daa088849ae12738903951cc435c03949e94fe16f5d2f080f3d0371530403ad1e4e800131935e0cbb614b955b7fa4300581e02c2d66d42a172896479b26a4d87ed12a4fa674895420b2a67be7e180afa58206cc8a15b3b976432700266d89a29f0c7da6385be15a3725e01dbcc3c3891aec200581e02df5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154554723262467f125ac9e1cdfa9ce15cc53822dbd0219080203fe4cf30daa9fd99b12d1c266e8b79be400824c102004b788b1b9e9f2381948ba03a180f179d069ea393d6520b814097b755576c1f7d4e35df68a8a8cb74571f42703f8adfda86ae4c71f012794013b2cc1589ce175324ce20689b09dc08b9212d10303d3b0935d0b4b4d57a6189707e09126d7695d090821637d38777f581e07219d36032a9b6da2f0c6e2b9052e6831480fe6ac471761c7a64aea8f06082ef4b8d564d1035815076ea526e46cf4fe95c243bae2dcee9476e42d3b52901d2f0ea324e36c9803341643b9ffd4eb62692423c5f3031d65f1483d2593409b9527024b474e40a50400581f03a8942a245f77a44968a909a7b455e0296bb5ec26a255e33b1eff6cf3196058201410a8770e257c6ec5b89d4a095972ed1200b8059ad2c378e60fd082285c07da00581f0363bb1c2b8d2f7da0c6b7a34a55275e97fb3ecf185d57ed90266ed615fbd05820ed66e5261dde7961e4c1a4ec144bc5d475efaa3784ad464262f558e472e5c60403c478880dea1ad3477eb7dc42f48fbfe2b32e42c6bd62c1f53de7aa02cc4b1bba03b6d56ec76486786172734428fd82cd221552aead714fb658f256d4ecb3b8686e00581f03828cdcd6a3b9d4a2086d383f0328fea616a680cbf86ed19b70590bc914b0582019e5aaa50b7a1da8f1e5fe5df2298c0b9003d35e63986cf39065a2a07611b0ff00581f03ac22af13cfb2f4c67eb456d44625de81e1fd038fd72fe6e6fafa4a63eb205820027d580fb36c2425945595f3dfeb2bfa72ba74ce1d7fd5d4cf5dd7c2216ff8ee03fb825ae28fafb153412c92e15828a36362e4672491126b727ca82d6e421a2a730219fffb0219ffff032f79af669eff69e3473c72071154b53cbd6393ceb41d5735cabc7c62c6ce5b310385a862efbf8074f5c664b4e0c18414fc20816ffb687ae0c0fa62e049d64070730219ffff032190ef46aca7e1c31f602f54204d2248e34e5c9abbe020b9c6f318d5c234f03c03e541a06925f180ccf64a546ab9cbced2ad9a987846a83e0560f5936a1f683f4e03c9562ceef366aebde4baefbe4b1bf8effd45833862d79d063cbf58b323e69a5b0311f1e278f6081d23ea979408c8e1eb291898bb1c80c3e7628a5bd8f7103865c1034cca8c34e3d21dcd2ef401c2ec532643b0403947dde47c5bb6e9c4609b03a6070394269214ca32c5519cc910f8539ae081c8a6813ed2962499a6f1d8e566a9ba9303fa67de09ba82e5e76f471b944fd2b2a0c66cf543418ecacad978d14b116ddcab03c23832ca8cc472e1552181451e3266659478575cbce879daaa0ef9c53bac4c3903baf570333095258ba914c511fc6fc3d754cf437d0eab8fbbcc96246f5bd692e803fddf8907d900a2d0ed1ba15a9c81231b2a5655c4af548a5cbebcc43ae5b479ab03252c3797ddc6825a82219e93fc0b3631a465a2d6df70301faa537a96d45cb7030336a3198226fdce8a5feef523f34ffe75322e7ca4897e871c4616b08f50939f1503c5737b0ee9b0240815293ce2baf01676944397232d10d0d7276a463d1e139e930219ffff03b64f8c6874c8944c64112b73db7523c74d86416a17d6f2892e53f9d6d5a5e3580398037592c8a96eed939dae0ef959e254188ff779af2066eba97e4c99c0bdffa003b59d371d9aa1af898ab39245e8a1976ed6186bd20f9fb68ffe1bf80c2c1a59a003ab46da2ff38e44c3be8c2f0682fcdc92026df0953056a6f5c9bb6fe70c0f3351039960d5f000ca0d68b4bd3f51880cb80c45edcd975faed94464a12e827e89627e03fb462272184e0c95eb56ce6fddb1f561f0000905f1a65ee9996ee8f73d020b1103f3b96f7134ce3a27ceee833b313b465d1065327c165d5b833e35f9be64bb669f03a3d8138d7901ac00ac88a867622fd63fdac9517e4f3e0872ee48611d40e9be0a034676944645c75dfabc5a13ec0804196f0445967803d3b993e0dd8812478a4731032033eb716dcfd3b8856a30a251d8e4e4e1d7b96f799811562b7fff6ca2d8183103ad5720173ff8623b59b2d7adfe8b7ddef8cd974503fc3fe4072bfdbab881b5340365e3c7303c2bf14524af216652419a19cd2f8413713b32d00abbd624c2986856036af25010a8bee0c5ddb4bfab17a77a3e93bdb7eee12687fad6c223d69084bf21038caed9f88bbb77556dff5dccf74c91593bc7658df91945cb3927bde497e10aae03df8a77cbb4bfd0c28f16903709f073b876f308f0e2d41b80d0ab2fa1469088a503259fa23692e9dffb4df0123cfc9749a530cb169f341d6bb7d76a7c913abe91fd03180a7ea06bfb01319986aa8a061f878bd648cdce1cd57d9f85cc131844fa8f2f0302ec6c2785425656b61d830435416fa6711ddc0e39b0539f068ab4d9e3f977a703d935291f69e5e6ed27e1c87c82621b28b1146d6bb88f5b2fb77a54694ade9fc000581e0277f347fbf3b0b9f70ac27203258fd36b565bdfbf06bfd9acf921a8eca65820aae72cecc9dcc843041b3f5d1f6537f23619f8ef7f82a3f9d34e7c18867373e700581e02ef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d541066cecc8880948fe55e427e94f1ff221d6265910219500000581f033c47e740ae17582d818d7a5e7ea8dfd300f1c44025b6e126f2537b815f3058203ab0b4962f091afc7a7138084f9acd1dab05de7ee642d201a7630305e8ae578403ab0007b15ef77f45a04d59d5b01e5f79b72efb860c9115bf8dc7f45fba0db4980373c23a6c2b3796091e86c696a50d5d3cb3b688a3f9e2bc32025a0116f798197200581f035aa436a85d93d75b95319d01a4034103e7708e171be5878d456ba8f3b0405820f2dafb43e5bfca402e21b912ba59a8635c42a4764b64079f2b2f5e748cd21168035f0be76a36d21dfa1147706aaba9d3031f96441a434efd444417159585dcfe18038e3e345847dcc3015a40e6bbb8c3de3a148cd1b93f4b01b241c5f96a50f3f1b600581f03db897f6220ad069d050a2046d3d2f7af3c8f0138872946c38ff0091be3205820762f8d0b14d3586595491e5736bb5e2e25accced8f206f8d2a3ef24d2a2e2f9c03ea808d9b84f17cf0d8ed3bdb0ccffd79e968d27f0f0648c93efb36f76a27f0210347a03db8216188d8fb646176de515e05c53d1818d0a497c834da894cef8ad6570336dbb54b4251e44319d056145eaf5b0fcc2c65da80060479758705c23c4b713c03494d25cad5f414dde50b6a8b05dbd2fe245cf840591ff6e04850c1a7a1c6327100581f0342c6810a8698dbc9aa301cbb2696d8a3e09056abb875c7231a2839a60d705820a2baaa5c23d94635b3720899d41dd264455d0311ed595ef4534fba740100d8f20376da785fbe4b112e654d7fc14f723b924fb4fd283179b2034a0ce8bed4407d8a0219fbfb03c6d426090df6bac58b84bba2fe05670e1339b7fc292809c7a051184527b79a6103e5637a467565f7f77134e63fdcb0148b4f8c2291419f86529fc966b29cd523d8033d98b4c6ca8332abdf3bb35613d443f7e7bcc341f42db89aa45bc0b8bedf45f903377a07935fa061a665376629c21a31eaefb975a37e3881d454786702abc70c1b03eacdcbb22b91adf259a19a70f1511696f881e9b893d961d1921f47dd874e75f8031e504e7f161a2db19a127c71856ce2c9378949e5a0ff5691178e4647da82dbd1031b7b3dbec793088f9e39d47d161e5680250a8e6e9b5605687fee7c92b32afd600331a3fd43c9da8f39fde525d0287e350d1a7647c7790635951be387c46f2a06eb03e489af2608759a93dfa3149e22c9c1771ce7d10b2e53c6907855a65fffa8bfe903c6e8af72e08d18e12496c293a1d22f33420a0b85043df7be8ccde3ea7e0387d403cdfebf4a1000142d2d22d554c66f3a9a50b2584aa0b293cf6b3ef13826c3171c03ceed3dc2d3ee633f6c3a0d6984bf913578c4544cbf0d5d2b590d9b70ef4cfb96033484a3ddeb00407c4b88df193a5460b2ed643f52e19f7b4664648c8bf352c4570219ffff036e1edef20d2e8003598c80f3ba56d69e697ffa7fca3f7bbf806a881e188057d3039a0e285ec1d57add5b2d82bd316d99dcdc3e14699c4c3c33faa59b038b6304f9030d66f29397939150458243b68f80f92c943dc82381cf731663fb2b0ecd3cb35b03653f6a4acba92d40f778b436f62364f08edc4178d947a667e6e27f2d30c8ebbe0219ffff038678bf8d6523ee43adf2937049482c0e5379e7c8c7f492afaf47a021ba4f2d1d0347295a5e29d10293b8be164617c395ea24993c952d47e79c24ef903589ccdf6b0392e33366d8df129fdd7719c2773e6e28f93054b65ee44f11d541fb3f0f3b333503fa8b1519b392bd48adead4881773248baf70a6f24fe79409d716e9c2f01b9b840366caa4faf99c8d250dca6b555239f2437232bd0b0543aca591c6aed648841ffc03a2501e8507adb8d1709e219bf1cbd3fcdde912c0ad29c0b88c88f79701654ebd030cbb21dc190c6b1a87d03ff0dba59b2f913d04a757277010df7ba5021aefdc76031babfa79bc7a7a3fc7fab3c2214d239c19884b20b660c1311e0c42f9d88636580387318d94705cb1067d627e677026a6df240a6c2af9877e6d20d92777a96b8f12033f3a0ddaa119e41881decd593924073d7cdad8fab10f907fcf75419b1725c1cf032c56531ccdd21f2c08b45795b2618399aa4ef66394a7ce41562d74fe86cb961103d14b3b7f2022af1946fc931cdd7e89b5f98052a7d1c0ccc04a11ed7b4b27829a039aa0892b511eb7d4c38d8c1356e603c50bb934d51d68df1d94128a9f4407e884037e822a3fd2027639a4ddf6b821aa399f9263161fe8f96363d64962ce43fd642c0345961d4cc224c080d0f8876a03016e57a13ef5872ca2a4c08abaf6a20528bf90030943a6e1cacceb3c59231bb01c0803fa80dde2b0c69605fe0f13319837d6582f00581f03f33d9d3ad21140a95d95e96f183611b34cdb93787b2da87d9dcd9e2368905820df6517f1eeb44c7d166cd7b9db391d559f5d43033d99312d4a448488378e38c900581f037dc417b85a3fed015184fa9ec739ec593ee9270b3a5b9b8d2dea8043ffe05820378a9e1e3c07a30badf46ddef275db39fe7e81e5a9a8e99853096d1fb3ab642803a3c061414e2e6b95f8e64eb380643104135694195a0e50cd0ea034526d742e0503322b81601504747bacc9a5d67c77b8911e0a4aa73807e1121e5c2eeeecba254c03a6405cfe46d19a726b9eb3b9a27fe4ed6d0a7fd9d3d4249f2a35e4a47b2bd4670367080bf9adaa9962572455d931b4c0fee0572afad48da640227d919c88d5a3e80386bb51a3f40a8d38bd5e0b0e613a2b4ef5487d5a1a076001535fa260451c3dd100581e027bdd4c7365f6581692d3468d810326026cabf02a7f299f45cb2bdae315582051475a544077f8616b1961bad665c23ac319d451f1e40fb8d677618420458cbc00581e024c535db0596ebd04a84c419d30a106c07fe3f29c23566f0ecbcf620ffd41010219800203af2608655aefe1a10f47f341ddda8879901b3a86be3aee10c418fee45572fbcd0219f7bf03879a8defd12f1639819437e0f5893435a4e02d60f1d735b96e3f2d1d5cf619a803fa502cab2cb38218711c6c17a6296373b142f1ae9b44a3f6fe692cd90d5e290303c2f0c2d8e028124b2d1baca55e7a3e4b1f0569e65ea08658bda22cfbf66ffdce035f2c868ccec3ab5b4dece66bba0f7b428062b9ac97d3982c226ef0a71a9addf303d0d82a98390ec6b59cba6576a3f758a61c2e0be6d1567fd2935d3cc566cc885d0351ed44d13df2ac1e4eecd63668edc341b02edef35509e83825ad4dcf477f0aa4033cb26476609966a56105cd71dc5a68ef071beea636deb2ad3544ffb075d728b70392585603bee30cec67beec18002bbf622b1532e6632e7d2bb7ac540f7abf9c2e03430216ca2c3c285d417c3bfbf7e8016c01d083fe799f05d81ea70e6f45d5abd703a7f6e3d3d61f2d36b364551db499d139375decb68990c1cef8382414d9b2572d032cd76c2c07a0f3945f042f336766137eb47746787a47e5fe56ca832210cb3ae203c13736aecebdbc661656651f831401db947be021f0314a5e115353f4871fd36d0219ffff03f413ac95ff02ec4172ba71205a10fbc89405f2578b486e049873caebb0bd1faf037560fe20db18e14e611e268c80d73594fce81c8ce48455906d649920e0f63cd803cb45ab354fdf61ec1bc453e328bb669f0b7f395732c522c6483cda4b04c5be4403cf505ea7875228af7092795b0c33b0a4a7efe1b00ed8b222e13a9751c13311f1036f5d0bb316d80f6d75f4718cd10a0816be6558eab3bfacf24e76296f28527bc203821e41f6bd36776d7d69a6d7df2e05faaae54806173f7b28a0329a6feedb0db8036e2e825b4b967df7b1f724f1ec2cfb5e224b56dd391552bff73c66ca41acbc6503f666b1d95b07ecf5726a777e66c2e1f6470b05936ade618671274e1a1f06f1bf0219ffff03207470852c6e50929a1519e43ab6f61d66fcd51af3878b6439abb4d4c747316803652a11a3a0853901342ef95268481e2230a738073145cc66a10c2556f74d9ff3036c648fc87f26b3005e1b9d43eb2924b207d45b5c86690c21f86b3b2a5a9521d403cf1a9b38c5279178689c3cf9f92a66396fb318d47c2bedcafb16e41a16c100c70337f77d7142d77232cebce3ac381993290c62472ab85512bac3ceb706c3cb840c0383572d917660aee7cfe6e8acdf2857496b007e08fffe5aa5e582b9eaba1b8e5f03e7cc9b65b27d2ebfe1ecf2b2debf821e91063b38f508a4b26cde3e64e97e71800337e3d6bdf0ead46fd4c665523aeae50efb989749ab07f458747a52d36bf2a2820219ffff03148b8bf089170ca1b0028162f370590da675e3509fade69dadd8633d8cb4ceb903300b7f1ab75e409117c8972023b0deada6c24bc97cea4a5f873995329f7d715503f92edc49e38bd1c103e1ff1b26588a5e654f46cc6a25991bfe8a89e32319ad9603bb16d9f920a069a0b8e0cfe55499df0559f39bc5a1ff9b1bca15d7799747d0b503911782ca361faa58e6ab413c8a75dae9e67781809788d1bf1b3915d67e4a7f94034ef63109e290982ef1f168f979485f29476c2ec9d64106412460a6cee89c1cd303aa13025d9b9f8112094ff5ee05e8b8fabbbbcd5a5b4321961d7d749d3ee9da19033f9c8431ac46451f6cf271ba2079a439c83c82bc645ec807c1395127e3a5a8d903f064a419033d670a49a8f1d24e158b908e6644897126c15c4852c910c2b3aeb403f4b0a531a2b00831d511cfd7614aa8562157d956d94c1dcb85d09b52d21a69fa03f8d01e53d6dee2afaa538d0b42daad123b3bb0bd5fb58ce801b836361af966db03cc87b8e2e460f72adfa952e8fac73a343c4332c96ff796cfdf7997327ff5f6b3033ba392b62c307b4287534e3a171f2eddeffe129c97dffff02703b5397b1d69ca03130c04893f3e89d2d60489666299ee5a440032a08440bc37c209bcc3748b210903507ba2788358130ea723b1588e1a069791c90047cf1e58421942b82146212a9b03906d2f9d762c6c278e339085753acd99f1bfd3e84895931a0a6a35be2254a0e003bc814c43f5352b02bcf3dfc0a07bd678154a7118dc22a489d1762972927c377b037989cd28921175c6e47e6e8b9822c689afba8568c7bf04fa1b6e06dfc9fd211603238a039ed2a079b3ac2368cf5bf4f10184b98e2db2bc4c9ee9cb4167336ed35203031ef733c9407daf885ca83373ccfac80d775068b4b06f617d76543ff25d3b2003421d45ffdf3580e5acf857881972e00637d1194b1ae6a2076a8086c097c27fab00581f03f732d7ffc6c95534cdfa38dc6c3c7a0e06664381d6877d545939667f98e058207fa6a1b16f3a8c4d450fe6a46049202e7365ef359948df2404498846507b603c00581e022313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f43153b1003f1fdaddb14c9c47c6027de35a7b11e96d446f94a7275fc7b4c9c5e1fcd156a1500581e025353b0ec684c04cafe2e71487e2b1ea268d64b789256587713868b6f7958206498ba3cdf3dbd3d4afe0e0958697895a90f4f34c7ecbf7a0688c1b000c2f040021906040368de84ad9f3f9004bb0dcd649d253bebbdaf3dc2ccd58b9c37d64417c50253e600581f03e1351db6da7e7964b79096e4e609be190444daabf98b97ff32df4a1ad0c058203335f33eb546fe5a930f0077d1905e3f9351e933e52cef858dbf4b0547fdd90a00581f0350f20e43141e5530ccff335398e470e6debb89d6d486251c9e7331f4209058203802f4b3df208e5e19ea0fcefe66cbddc46ca9fbf56e1a96d4f43b18e39799880366b6ff3b300627c5a7c5f7f9ac75605abb6758ae7952a64ccc2764086b010d9000581f03ad9fa0cccdf4fe9586f5fd5b6b9211ed90b6ab9cda36bde403fda3d94160582057bf5947a678209afc6a3a83e03a0aecc7947998dc927483401552b904568dc90353bd9913b9f1cfc63fa47df249f1c65709b2d1b8c9fe67a74f8069fd0cfbac1800581f0301660229c9dda17a549d89236379cfef7a167e4fffd9d8cb4f660484115058209eb26542f3858f3bf7ed739aee56d3e4bd46ed4850d392299476dbf572ea17ce00581f035d7de90b386b5f7130b9beba73be53ab8010ef44193f3935031e9ddcfbf0582072706f754be290a3880d5181b26e595f9526e14b9ab1989e60b381f51cf273e300581f03f55f612defa6e9be97447a6420b0d83c2ee8e68f8f99eed7c8b42e0650005820444b19404568ad79574bb1b01bead75ad86e8fcbc80bd699e76eed5fdfd56a530337ade4a0b3c6d489cc8bd21ced4fddb2e52de623c8733664cf481ec4086a36970219f5df0388a9dcfab2d84707562bce20d2b60c1765bb92f429cd1736feb924d418dbd4330385e4fb27c98710a70c33649b4dda40dfe1eba97027a84cbe49409600c2007e2f03e146e32bdceac4b342cabdc2ef997611b44c10767cc19f1a5c7975dfd826062f03d890f365eae5327575eec5daee12af4610fcfd8a458fdd503f443b8552f5378303bbbeeea0b016c838181949b7e1ee8db03173e9b49bd8d8bcc6c09427b83bb11e03808e4fd9877a589a270dc7cce8b90bc6417d169e4b7deb0a8d0c836359b548ac038aedf819e0cf6c6a583637132b3166dee24134cb9abc497d2273f109c4c2d8df031cb51982e813ef509998e78ee2f2aeeaf1ca27841815894023d756cf64c841740363c76b93a1710d96ba55153a614e1fe6a3cb9e6eba741e6ab3aade07cc8054a903ec01b1bcef54996f70a18fd811650a1bf0a873d1bf9a2430544a36ef3f38cd02033fc9f9f9752e98e21ca5509f3c031f609e18621c2b74d96cb30108602cf0551103bacf0c4f6b076f531f6521c360a34c8c83ffa6533de99eb80be453c20c51bb7d03713357c9c96fd48f3530ff9da737858a0f542ab9cdbcee72164efcef3f63a7490219ffff03ac61e4b613601a7aa91720d027b77a89e580fa85a461b334e185f227954ab3e50320827771516adee6f43cabb77d83f391f946e812b839f8c44f81bab7b91aa11e0390e56f3cbd647fe09be54f4171c797d8947787670c4e4ca99f09656ade88deaf037079d5760d77152fafa368fcc0c2d5934ee602f5da5ba4ea6f5fd2da6c9c799803fdbb3e5c89715bb7346a4c40b9ac4f31aa2cc92de341d3aba6d22e42bd040f3e038a78e6bfbd5f7fb652f81888f59fbf41ffd4a27ca76b8fdc6f6b7c03cfa68f9f03f91f96154acd123e853e7e12f25d7464c941c0b486d1fabcb1617a42b3b020d7035fe89536eb268bf8d8f1d1f9e592b6933e32c7ceba67d9ff366790cf50a167240345b9d9e572e67de96e48ede5c6ab0942cbc082a3e3ea152f132ecbd19f7e1e2103ce5cd19263d4d8fef0b1f6845cd2f7dcdebcd905ee99d5c7e90094874d22355b0219ffff031d2c7093babb34f2fd3e03a814420f0856e15c739c69a63817bf48812467e908037afcb6dacbcd49190e99b8d1864e75281d0acd572e6737d86a688e57b210ea74035933c12a2d7cfaf278041907f633d26f99f0297b4e77a71940cc7e402b6336b2032b25a4655d6db1dbd5bbec0098a3d1dc5927fe9bdd715ffd18fb40c2e20bcbae035f61ce7b0a76eca5e0387e9f0f45940548d46ad13c86a387e76639bc79961ff5031c134a75587ed22a1edb0c3d454dd67a4ad4b72bf37e31780a8aedb14afe0600039eceaca836019640861531f19eb6e6b21121331f83746ae955a654b889c6d1d703bf4d49e160ed6f790a4acb5e316ebf9489b7a5e4b18b9fe192b34725e25e32cf0385dbd27184b0c30f85a6efb55f9b3f4da496f6be80e9885c47e59fc1d6212fce03f01ceed99aa7ed978d83be542a244a87e26e24d8d1585d901aa80185402b2e9103a4d8ff8a0422492ad18cb59d0d75875b1699b964c2b63d7e1e75eeae9bead0e8035464b238203448d05ed83a2facf6ce84a6ec11ef54430c70ee407c305c00bd40036bab490cb87ed8d1824f648350687e42dc5ae452e1f1e303b8f368795d14586f0350a3e97d52b04cec0341898a27250dd7c4eab5fdb6f81f85e8c0fbc28cb69a7703e5db1f23a431b845c31fadad30d81697e0dd863c6c7d4bfc243b6b5ad0d3854703a176069d696cae702c5913a1a91dd3cd2b47dccbbb1b9b32b37feaed4f66720d0374d91bd34a51f15f966a60ab989ae8f2e2af2f9b7b48dcf2711b81ea114d478003c28b689ef9241aa953c4014e09088d629dc76cbe987013d615920fef683f9f6c035d698f959fcf5edbbc4824f47f2cddd343913d5b9a2a4d720eb683c7b22c3196031bd608f5d66dd7ff9b4b1e1b920e2615bbbd3543820cd3b4c534846ab6b95cb203d56ce57e53247095b171650182c8cb273a8dfd0e8071681514c19d901ee9c26503ae460cb634f3c641701eb4b076728c331e4769b6954e6cef09ebfea9695641db03ac54aa5a16f6721637f4941669e4cab80d274e04071725f0100d62e4ed8bb35403ac210eff53a371a299edeb78e8cf19f029dea7bee9cb7eaa7666f54bf034483c037ddb4f5509dcbca0543b549a4c2847e96370af2b1098804a8e390b74d72964a700581e02345cd94142289dabf5ed51171a09629b461c474f78396beb9992879f845820a06012046ac4cc394392f1b7da1b325d36fdafa54acf6eccd67192c9d1dc43c700581e0222dc1a67635571c47d0bac3e618fb7c112720f30eb93bc29cdb1ae6e2d5820333cf56b0cd7297d54b6179b8cbf10ec553daa13a575a0555e1dfbc0b4b66fb90219600000581f035bb2c59b5d01ca00d8fee66b5b111e9abc92bed221ab992e2371f8e30ff058206fc4950ff5ac930417a4d43949140a9233ec795f974cd19bb7de46379aee93a803acc471a928f345e9e39512cf96a59e883acfbde52734de404d1aa770d332fc9603b2e8dabc9580cfae895ffd1ac963a672c5e13b77193188ec9749c18c4183e2bc00581f0396ef2e26c5647def2c2e128e7fb3f660276278a236cc4345d760638b95c058200fdaf744d22046ef39869610716089f6b0d261fd21df3f39f6405d3faa2fba8703d60241ced4afda1b0537dc5b4a3eb634fcecf54e2362c4755b6068a90bd0c20a03a1a1195699d3eae1b9b84ce15183aa11f79be3568c5ff63b7318d39bf74eed5f03796e37d63945716ee8fb6e6d258a59b9d8314057d6a549cdcf6356abf902fecf0219ccf60219ffff030d18579220196c36f2dbf1c5d836d8b2fc8859cda76afea7c38131d08643d13c03e4c43bb2c86f02f96a667da8837c31f0ef0236632c9d3cd00adecf6216433a5c03341091921d51cb58e4c4f2332a9f180f371107df5d94270c69e621e36eb7400103b3c1bf21d7b8b444e10a2c64ff1c78a6e013104474c15d18f35476fe0c14229103c1dbfc1f237865c46195a6840a2036e03aead3ce461a8e254628d9b1b72e8231038cd56c9631de83795e8e26bd5e0b01967a8c11090b3bcba7b67006d49f9b10f60351624aa087616d2c1cdc977badc47d00b655253ddd83ce0a53f6597aa60884b603be5c80380bf8c7686e9e30d0b97a98921ea4529687444abc90270bc14f13529703e3c863abe706d04847cc47be9cf8a32e1dcbe24b2a86cc43a7a515ce7456b9580351ab0aa11dd876bef6a6c533e2e52405d01bfa99b50701471f30c8c4cf00774b0219ffff03db7c500b53a7a670d57ffddd776c934360e2f888bd67988ae050dbfd9da682120316bd6f2386f53d0adea44a97654b62c94e787a5a247d70476d2a369ccef22ffd03b8c97b6d44b0becae81c270da646e850a61a325c37cb834d465ecfa2897ae2e203383945b6c4dbcf003e8825c6621f67cf53a37be476b0ddcf45f2fef467090c0903bd1f480355bcdc209d1356659bee6bfede85141c34d237b9c5acf08a5bed56a30219ffff0219ffff05581d02c91b59130f9e21a8ef102b67c684f7ab30cc527e4085138c47f5e1440f014b013ca152b1148f7841616e1908630219188405581e03f39923e7d1c09e1fa7ea1ff00998b6e8b5e0e3fee97d32198bd6709440040505581e03c6bb0ada8a73009a69dded7209b20076d12e22bdc2a3dd4411cf2e5a600c064740dc31818135d805581e0349c4ce9f7f2cf18c6b7e35c1947c09eea6b3d5593ca80c3f2be47b5b60040205581e039e5623878aab558fe9ad327701275e60febeefce24ab93389de1894150040105581e0368415b54cd5a7b8a2650b53a791493babc677afdd08bff14aed9f7ba300c01463691d6afc00005581e03d7342d5edfc0b727e83de4b9148b7748930f985f01fa4fab20a69cfc8004020219aafd03bde0e992dd5558aa8cf68cdc6ffffffb776f8c7abc4a5d5e2afe95e85181913003155c116995d36dbc1bd9f699f3c982030d787ea6bab1528fcd6fd73e647d962e034d90da2d1e493f065dda347d85db35bd6fed4bef91f86a09d4f7f80702da307103f500c923295694874df3f4eeffd614efccd97c5fef429513e9cf09de76e516b80387f6a4287ecac844f6efdcc1ab19821a09935919bf846515c09dde232eee2fa503ee9ae764bfd39b48c82982dd189272b0738f887899260c2a6edc86eff600452d038a0b3f491124d61527af8e4da8bd9c1d83319c0e44d9d5f1f10259bac2aa31eb036c9c9df17936e4ea7a8d9f065dd0af79a28c5fc43a25ac3ab6f2169ef9d6a91603755fc1ade6943c345250eb73b69124c26ae468098036be47f5b51784408da4310219ffff03a3439437ec06a8b8521c951c35c09ec39cae94351c006cde6733a30bb45351fe03ad3014c3aa23217155df89a2e75168544908a7c43ae62cadb91bdef7b419da590219ffff037a27f31ee5aebd674def7d63d7a20855c7d4d3b6ff7359c72c1d5795d1a26521036eefbcd1f7a3f5450853de3c4e580f0eaaf7eb18e7877cbc24b386ec1aca49aa033868281f8a30543c02d65ded9875f2631897510a5fcb39063b4e017aedd2cfd203c5129ae4b27a796d36a3e3a4695a09e634810633451684fc1fdc320b47312b0f0219ffff03a116c4697d20f262ccd97b60a9ba0a7c1d2d4cb1bf5d06a492e00c1b672aa93c030e8656226c3077310ae5534eb5799edbb6c1f51f41f8f0b1e307cea766677b2e0353b22468a534f021eaf53087c51a6e22f4391f09f8710fe93941d98993b7a292033c060ef1c44bbdab2b31a0f83040203284eb6590a60bd5ed84716e547973ed7e032642af6ba38da5f7c3021b756b399141f13bb24217b0916a9c1e96d7eeda8f830387a6246b6d74dd04a4bb19444029dfe631b67c93a935ff93641bbce3ed3634a803ce088911704e98a516271371718ca0ed7d7ea2f3d8781db3cdd749149d26cd110375f138c31af3a6d8614165008bec347a1d66c5fcbcac18c8fa61df83e5add0bc03f44e111f736381be5ac2adb8a3ea17c4923d053fddb3e205dfba93c6b6a9f8d7037623e3ff7877ecfb244baab9f63590c56b9da388d5c1a54bf894b06f12bd33d003fc438f2310687eed9407542a54870ffbc500b8d7285bb708330b01d6fd65b7f3037c8f9c0b0235e839105233a0c30a9dd4c93d32d63eb631ddcf73949a531298d30311b6ae5a820f9e095b582beb2401fe5ca4bbf3d12d150728ca99ecd17b4a6598033a6829324c286ad6901e097c79e03373d097e987cb4d4f2d134a1d4b167b5158031bf4146efc4fb0d6d7703dad2d62e7913af24068aeb8ccef3f73cb1ab81f381b039d28f2f8771de0e9ccdbb2e16b280a15c830027d6c83ea6e237b19f77a5454a70313e09758d090e2443e0b76944ecee5986f9b18b58e2947dd8ccea8e5dd1f993f0344036dcb74f48163433dfa87c04b5888c7be4d1a5febdae49ab8d47901dc07270303b65196a8cf63075b5c7759679c4a0e6adcc16a841bc7900b0eee4782e5d41f033871342ab7e9ffce18737e8c3dc7258c0a2e17a75c780a5caf800cfafe2874ef05581e03520f1c1144b24c2ce87e7459e0bc768a2b327757bdee9be235cdfda630040105581e03adc92a3d57103e87d72eae67f3ea13a730225d0e1e8e0af52b59c2b6800c034655e9e86224d805581e0320dc1086e8876e02ff4f7cbb69e79bb49001d246469a012822f6b05d700401035e5a124859c816ceff28817fead2583da25fff3bb8bd08acf97cb99e5892036905581e0314055b1c9397f758dc84a39c23a8056b3bc19add63abac4f3ddca21570040105581e037e2a455dbb9216f5da64ca9338618bd59782bba0426a3a3ef68c0cff700401038a70a36b03df65c40adce9a36ad23eb646131d89372524efd60698ec88c1a3fc05581d0287d6e269b41b8c7406da2c48373f4c3dba68e9d6d0acfd71821198f4040204595ba8608060405234801561001057600080fd5b506004361061036d5760003560e01c80638456cb59116101d3578063b7b7289911610104578063e3ee160e116100a2578063ef55bec61161007c578063ef55bec614611122578063f2fde38b1461118e578063f9f92be4146111c1578063fe575a87146111f45761036d565b8063e3ee160e14611075578063e5a6b10f146110e1578063e94a0102146110e95761036d565b8063d505accf116100de578063d505accf14610f64578063d608ea6414610fc2578063d916948714611032578063dd62ed3e1461103a5761036d565b8063b7b7289914610db0578063bd10243014610e78578063cf09299514610e805761036d565b8063a0cc6a6811610171578063aa20e1e41161014b578063aa20e1e414610cd4578063aa271e1a14610d07578063ad38bf2214610d3a578063b2118a8d14610d6d5761036d565b8063a0cc6a6814610c5a578063a457c2d714610c62578063a9059cbb14610c9b5761036d565b80638da5cb5b116101ad5780638da5cb5b14610b6a57806395d89b4114610b725780639fd0506d14610b7a5780639fd5a6cf14610b825761036d565b80638456cb5914610a4b57806388b7ab6314610a535780638a6db9c314610b375761036d565b806338a63183116102ad57806354fd4d501161024b5780635c975abb116102255780635c975abb146109d557806370a08231146109dd5780637ecebe0014610a105780637f2eecc314610a435761036d565b806354fd4d501461094c578063554bab3c146109545780635a049a70146109875761036d565b806340c10f191161028757806340c10f19146107fb57806342966c6814610834578063430239b4146108515780634e44d956146109135761036d565b806338a63183146107b257806339509351146107ba5780633f4ba83a146107f35761036d565b80632fc81e091161031a578063313ce567116102f4578063313ce5671461056f5780633357162b1461058d57806335d99f35146107795780633644e515146107aa5761036d565b80632fc81e09146105015780633092afd51461053457806330adf81f146105675761036d565b80631a8952661161034b5780631a8952661461045657806323b872dd1461048b5780632ab60045146104ce5761036d565b806306fdde0314610372578063095ea7b3146103ef57806318160ddd1461043c575b600080fd5b61037a611227565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103b457818101518382015260200161039c565b50505050905090810190601f1680156103e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104286004803603604081101561040557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356112d3565b604080519115158252519081900360200190f35b610444611374565b60408051918252519081900360200190f35b6104896004803603602081101561046c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661137a565b005b610428600480360360608110156104a157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135611437565b610489600480360360208110156104e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116f2565b6104896004803603602081101561051757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611853565b6104286004803603602081101561054a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118bb565b6104446119b4565b6105776119d8565b6040805160ff9092168252519081900360200190f35b61048960048036036101008110156105a457600080fd5b8101906020810181356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460018302840111640100000000831117156105f357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561064657600080fd5b82018360208201111561065857600080fd5b8035906020019184600183028401116401000000008311171561067a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156106cd57600080fd5b8201836020820111156106df57600080fd5b8035906020019184600183028401116401000000008311171561070157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013573ffffffffffffffffffffffffffffffffffffffff908116916040810135821691606082013581169160800135166119e1565b610781611d23565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610444611d3f565b610781611d4e565b610428600480360360408110156107d057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d6a565b610489611e02565b6104286004803603604081101561081157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611ec5565b6104896004803603602081101561084a57600080fd5b5035612296565b6104896004803603604081101561086757600080fd5b81019060208101813564010000000081111561088257600080fd5b82018360208201111561089457600080fd5b803590602001918460208302840111640100000000831117156108b657600080fd5b9193909290916020810190356401000000008111156108d457600080fd5b8201836020820111156108e657600080fd5b8035906020019184600183028401116401000000008311171561090857600080fd5b509092509050612538565b6104286004803603604081101561092957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356126ef565b61037a612882565b6104896004803603602081101561096a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166128b9565b610489600480360360a081101561099d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060ff6040820135169060608101359060800135612a20565b610428612abe565b610444600480360360208110156109f357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612adf565b61044460048036036020811015610a2657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612af0565b610444612b18565b610489612b3c565b610489600480360360e0811015610a6957600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610ac257600080fd5b820183602082011115610ad457600080fd5b80359060200191846001830284011164010000000083111715610af657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612c16945050505050565b61044460048036036020811015610b4d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612d7a565b610781612da2565b61037a612dbe565b610781612e37565b610489600480360360a0811015610b9857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a081016080820135640100000000811115610be557600080fd5b820183602082011115610bf757600080fd5b80359060200191846001830284011164010000000083111715610c1957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612e53945050505050565b610444612eea565b61042860048036036040811015610c7857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612f0e565b61042860048036036040811015610cb157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612fa6565b61048960048036036020811015610cea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613109565b61042860048036036020811015610d1d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613270565b61048960048036036020811015610d5057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661329b565b61048960048036036060811015610d8357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135613402565b61048960048036036060811015610dc657600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591810190606081016040820135640100000000811115610e0357600080fd5b820183602082011115610e1557600080fd5b80359060200191846001830284011164010000000083111715610e3757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613498945050505050565b61078161352d565b610489600480360360e0811015610e9657600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610eef57600080fd5b820183602082011115610f0157600080fd5b80359060200191846001830284011164010000000083111715610f2357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613549945050505050565b610489600480360360e0811015610f7a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356136a2565b61048960048036036020811015610fd857600080fd5b810190602081018135640100000000811115610ff357600080fd5b82018360208201111561100557600080fd5b8035906020019184600183028401116401000000008311171561102757600080fd5b509092509050613744565b61044461382d565b6104446004803603604081101561105057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516613851565b610489600480360361012081101561108c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613889565b61037a6139f1565b610428600480360360408110156110ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135613a6a565b610489600480360361012081101561113957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613aa2565b610489600480360360208110156111a457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613bfd565b610489600480360360208110156111d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613d50565b6104286004803603602081101561120a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613e0d565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b820191906000526020600020905b8154815290600101906020018083116112ae57829003601f168201915b505050505081565b60015460009074010000000000000000000000000000000000000000900460ff161561136057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484613e18565b50600192915050565b600b5490565b60025473ffffffffffffffffffffffffffffffffffffffff1633146113ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b6113f381613f5f565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e90600090a250565b60015460009074010000000000000000000000000000000000000000900460ff16156114c457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336114ce81613f6a565b15611524576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461152e81613f6a565b15611584576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461158e81613f6a565b156115e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a6020908152604080832033845290915290205485111561166d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806159146028913960400191505060405180910390fd5b611678878787613f98565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a602090815260408083203384529091529020546116b39086614163565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600a60209081526040808320338452909152902055600193505050509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461177857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166117e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061575d602a913960400191505060405180910390fd5b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b60125460ff1660011461186557600080fd5b6000611870306141da565b9050801561188357611883308383613f98565b61188c30614224565b5050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002179055565b60085460009073ffffffffffffffffffffffffffffffffffffffff16331461192e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600d909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2506001919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60065460ff1681565b60085474010000000000000000000000000000000000000000900460ff1615611a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061598f602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416611ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316611b2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157346029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611b99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061593c602e913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615a7c6028913960400191505060405180910390fd5b8751611c189060049060208b01906154cd565b508651611c2c9060059060208a01906154cd565b508551611c409060079060208901906154cd565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8716179055600880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff8781169190911790925560018054821686841617905560028054909116918416919091179055611cda8161422f565b5050600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b6000611d49614276565b905090565b600e5473ffffffffffffffffffffffffffffffffffffffff1690565b60015460009074010000000000000000000000000000000000000000900460ff1615611df757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b33848461436b565b60015473ffffffffffffffffffffffffffffffffffffffff163314611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460009074010000000000000000000000000000000000000000900460ff1615611f5257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611fba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b33611fc481613f6a565b1561201a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361202481613f6a565b1561207a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85166120e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806156c96023913960400191505060405180910390fd5b6000841161213f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157ac6029913960400191505060405180910390fd5b336000908152600d6020526040902054808511156121a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615a02602e913960400191505060405180910390fd5b600b546121b590866143b5565b600b556121d4866121cf876121c9836141da565b906143b5565b614430565b6121de8186614163565b336000818152600d6020908152604091829020939093558051888152905173ffffffffffffffffffffffffffffffffffffffff8a16937fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8928290030190a360408051868152905173ffffffffffffffffffffffffffffffffffffffff8816916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600195945050505050565b60015474010000000000000000000000000000000000000000900460ff161561232057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16612388576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b3361239281613f6a565b156123e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b60006123f3336141da565b90506000831161244e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806156a06029913960400191505060405180910390fd5b828110156124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061587a6026913960400191505060405180910390fd5b600b546124b49084614163565b600b556124c5336121cf8386614163565b60408051848152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051848152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60125460ff1660021461254a57600080fd5b6125566005838361554b565b5060005b83811015612698576003600086868481811061257257fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff168352508101919091526040016000205460ff166125fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001806155ed603d913960400191505060405180910390fd5b61262b85858381811061260957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16614224565b6003600086868481811061263b57fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff1683525081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560010161255a565b506126a230614224565b505030600090815260036020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009081169091556012805490911690911790555050565b60015460009074010000000000000000000000000000000000000000900460ff161561277c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff1633146127ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600d825291829020859055815185815291517f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d209281900390910190a250600192915050565b60408051808201909152600181527f3200000000000000000000000000000000000000000000000000000000000000602082015290565b60005473ffffffffffffffffffffffffffffffffffffffff16331461293f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166129ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061564d6028913960400191505060405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015474010000000000000000000000000000000000000000900460ff1615612aaa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614531565b5050505050565b60015474010000000000000000000000000000000000000000900460ff1681565b6000612aea826141da565b92915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526011602052604090205490565b7fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de881565b60015473ffffffffffffffffffffffffffffffffffffffff163314612bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b60015474010000000000000000000000000000000000000000900460ff1615612ca057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b86612caa81613f6a565b15612d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b86612d0a81613f6a565b15612d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614571565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff1615612edd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614692565b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b60015460009074010000000000000000000000000000000000000000900460ff1615612f9b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484614956565b60015460009074010000000000000000000000000000000000000000900460ff161561303357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b3361303d81613f6a565b15613093576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361309d81613f6a565b156130f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6130fe338686613f98565b506001949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461318f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166131fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e690600090a250565b73ffffffffffffffffffffffffffffffffffffffff166000908152600c602052604090205460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461332157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661338d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180615ad26032913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b600e5473ffffffffffffffffffffffffffffffffffffffff163314613472576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806158f06024913960400191505060405180910390fd5b61349373ffffffffffffffffffffffffffffffffffffffff841683836149b2565b505050565b60015474010000000000000000000000000000000000000000900460ff161561352257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b613493838383614a3f565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff16156135d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b866135dd81613f6a565b15613633576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8661363d81613f6a565b15613693576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614b49565b60015474010000000000000000000000000000000000000000900460ff161561372c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61373b87878787878787614be7565b50505050505050565b60085474010000000000000000000000000000000000000000900460ff168015613771575060125460ff16155b61377a57600080fd5b6137866004838361554b565b506137fb82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600181527f320000000000000000000000000000000000000000000000000000000000000060208201529150614c299050565b600f555050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b7f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742981565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600a6020908152604080832093909416825291909152205490565b60015474010000000000000000000000000000000000000000900460ff161561391357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b8861391d81613f6a565b15613973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8861397d81613f6a565b156139d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c3f565b5050505050505050505050565b6007805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152601060209081526040808320938352929052205460ff1690565b60015474010000000000000000000000000000000000000000900460ff1615613b2c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b88613b3681613f6a565b15613b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b88613b9681613f6a565b15613bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c83565b60005473ffffffffffffffffffffffffffffffffffffffff163314613c8357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116613cef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806156ec6026913960400191505060405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff9283168152918316602083015280517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09281900390910190a1613d4d8161422f565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314613dc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b613dc981614224565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6000612aea82613f6a565b73ffffffffffffffffffffffffffffffffffffffff8316613e84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806159de6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216613ef0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806157126022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000818152600a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b613d4d816000614cc7565b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205460ff1c60011490565b73ffffffffffffffffffffffffffffffffffffffff8316614004576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806159b96025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216614070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061562a6023913960400191505060405180910390fd5b614079836141da565b8111156140d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806157d56026913960400191505060405180910390fd5b6140e8836121cf836140e2876141da565b90614163565b6140f9826121cf836121c9866141da565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000828211156141d457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff166000908152600960205260409020547f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b613d4d816001614cc7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152600093611d4993919290918301828280156143235780601f106142f857610100808354040283529160200191614323565b820191906000526020600020905b81548152906001019060200180831161430657829003601f168201915b50505050506040518060400160405280600181526020017f3200000000000000000000000000000000000000000000000000000000000000815250614366614d50565b614d54565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600a602090815260408083209386168352929052205461349390849084906143b090856143b5565b613e18565b60008282018381101561442957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156144a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615850602a913960400191505060405180910390fd5b6144b282613f6a565b15614508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806157876025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff909116600090815260096020526040902055565b612ab78585848487604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614a3f565b73ffffffffffffffffffffffffffffffffffffffff861633146145df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061596a6025913960400191505060405180910390fd5b6145eb87838686614dc8565b604080517fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de860208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b6146878783615006565b61373b878787613f98565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214806146c05750428210155b61472b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a207065726d697420697320657870697265640000604482015290519081900360640190fd5b60006147d3614738614276565b73ffffffffffffffffffffffffffffffffffffffff80891660008181526011602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938b166060840152608083018a905260a083019390935260c08083018990528151808403909101815260e09092019052805191012061508b565b905073800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea6528783856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614860578181015183820152602001614848565b50505050905090810190601f16801561488d5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b1580156148ac57600080fd5b505af41580156148c0573d6000803e3d6000fd5b505050506040513d60208110156148d657600080fd5b505161494357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f454950323631323a20696e76616c6964207369676e6174757265000000000000604482015290519081900360640190fd5b61494e868686613e18565b505050505050565b61349383836143b084604051806060016040528060258152602001615b4e6025913973ffffffffffffffffffffffffffffffffffffffff808a166000908152600a60209081526040808320938c168352929052205491906150c5565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613493908490615176565b614a49838361524e565b614ac3837f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960001b8585604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040516020818303038152906040528051906020012083614e88565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260106020908152604080832086845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b614b5587838686614dc8565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226760208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b61373b87878787868689604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614692565b600046614c37848483614d54565b949350505050565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614b49565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614571565b80614cda57614cd5826141da565b614d23565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600960205260409020547f8000000000000000000000000000000000000000000000000000000000000000175b73ffffffffffffffffffffffffffffffffffffffff90921660009081526009602052604090209190915550565b4690565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8187015280820194909452606084019190915260808301919091523060a0808401919091528151808403909101815260c09092019052805191012090565b814211614e20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615675602b913960400191505060405180910390fd5b804210614e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b296025913960400191505060405180910390fd5b614e82848461524e565b50505050565b73800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea65284614eb4614eae614276565b8661508b565b846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614f23578181015183820152602001614f0b565b50505050905090810190601f168015614f505780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015614f6f57600080fd5b505af4158015614f83573d6000803e3d6000fd5b505050506040513d6020811015614f9957600080fd5b505161349357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260106020908152604080832085845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000818484111561516e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561513357818101518382015260200161511b565b50505050905090810190601f1680156151605780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60606151d8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166152dc9092919063ffffffff16565b805190915015613493578080602001905160208110156151f757600080fd5b5051613493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615a52602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260106020908152604080832084845290915290205460ff16156152d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615aa4602e913960400191505060405180910390fd5b5050565b6060614c378484600085856152f085615447565b61535b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106153c557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101615388565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615427576040519150601f19603f3d011682016040523d82523d6000602084013e61542c565b606091505b509150915061543c82828661544d565b979650505050505050565b3b151590565b6060831561545c575081614429565b82511561546c5782518084602001fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181815284516024840152845185939192839260440191908501908083836000831561513357818101518382015260200161511b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061550e57805160ff191683800117855561553b565b8280016001018555821561553b579182015b8281111561553b578251825591602001919060010190615520565b506155479291506155d7565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106155aa578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082351617855561553b565b8280016001018555821561553b579182015b8281111561553b5782358255916020019190600101906155bc565b5b8082111561554757600081556001016155d856fe46696174546f6b656e56325f323a20426c61636b6c697374696e672070726576696f75736c7920756e626c61636b6c6973746564206163636f756e742145524332303a207472616e7366657220746f20746865207a65726f20616464726573735061757361626c653a206e65772070617573657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e206973206e6f74207965742076616c696446696174546f6b656e3a206275726e20616d6f756e74206e6f742067726561746572207468616e203046696174546f6b656e3a206d696e7420746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737346696174546f6b656e3a206e65772070617573657220697320746865207a65726f2061646472657373526573637561626c653a206e6577207265736375657220697320746865207a65726f206164647265737346696174546f6b656e56325f323a204163636f756e7420697320626c61636b6c697374656446696174546f6b656e3a206d696e7420616d6f756e74206e6f742067726561746572207468616e203045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d61737465724d696e746572426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c697374657246696174546f6b656e56325f323a2042616c616e636520657863656564732028325e323535202d20312946696174546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e74657246696174546f6b656e3a206e6577206d61737465724d696e74657220697320746865207a65726f2061646472657373526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636546696174546f6b656e3a206e657720626c61636b6c697374657220697320746865207a65726f206164647265737346696174546f6b656e56323a2063616c6c6572206d7573742062652074686520706179656546696174546f6b656e3a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d696e746572416c6c6f77616e63655061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656446696174546f6b656e3a206e6577206f776e657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e2069732075736564206f722063616e63656c6564426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c697374656446696174546f6b656e56323a20617574686f72697a6174696f6e206973206578706972656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122005677c3919f4b149e065a5983baa9e2fb099cab5463ccd06429f70b32d8d9bdf64736f6c634300060c00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041010058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0410100582103d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80205820ff1bba8c5962591285628e226cfe21a129312cfd293b407070da1d82f098460103b30d5e39bb2a266518592f8bf752ce6d25fcfd24908b3c862f5f487ddf9109610058210317fb9989707d00d29edf83f0ce78ffe6efc3e7e2f0a33e6a7370cf9390ae63c058208000000000000000000000000000000000000000000000000000000000000000005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30550100000000000000000000000000000000000000010219c91405581d020ab04938f26cadaf9df6fe1389ad0a110acc2ffd76feaa1dc72a138e0701195ba802182205581e035c0f632b2b143a27400257b92b6008ecc69a7ff00d34104f16bff667200c0147038e3c48e101c2021972da0322c88326fc3fba3a116b89bf228bd61572cf3de2bd5fc51f2755bb084e5f2a0c03b848e2a564126b626ce3cad8147d9732a3dcb838fddd8cd423101f666d4f5bb4039b617dfcdc2dc5aea5cf6c052a8ae308801747f0bb7e141baeef835768b7806903eddebb3d9c98cca8c716e36fcb1ca053ddd936471a00f8cbbdfd18edab81e54403fd6aeaae8798f0258a6ccee26583471aacf6b73c9ebc543b7a58e8ebb3e31e9e0362b12bf426cad5090f7cf1d808d3a2de02e21a680cad51bfc007489a1658330203f01a80379be3f8af69cf19e3fff1b8103ecdb2f8d86d35535d1d8c55ed313fe20393fba4b24677444331d035dca0bb5a72cd32ca6763e82c6ab222e08c1c6f6b3f03bc471ad3981dafd91645d7ba97eb027b62a24950db77f73bb5fe8fde0791584f03dff9acfa3119b59f2cbba9e37505d4c3bbcc84c642495f3abd8eb8fb6ad03dea0319a9ba3f2108048e07191495f1499e56c1a33a96d3f7e135d3410d10cb6e527d0376afc3bf5b27d160ed41d005ba5d67039dd2f6f8f874efb2ce15b84a89675a6603f984c38c2d5a6efa92af5a93f30139b77e3d9c5b0c6ada51b61c69068461cc250219ffff032069e0e434346abbeb290629cdac726d877757ab2d1f7ce4178cd4afd84f61e3032e65db7b17aab0a3bc6f5a167abe62a2e5b9b0724c8debc1cc9e2d82af25cc8d0349886718e61a131865c2cd6af3335334919686cb441ed7bed980dcb6614da18c03862da9fb73e33f09a6aea5e2f9a349b6eb39dc41dcd139561a582cbaa08597d203fee2a20fe296ccdb82dafa92712575fee930e58063802900c2965c0d0935064c030200a463d6a986f3f7dea04abb32aef261efdbe60b80aa59604d02b2624b5efc0386c537630ecba73c29d03de75146faa10f738e13f53bea48e332310de17524d803d2deb62d83a61daae697abdbdc29247ddd714c1b466a05e12fbb1e7a5b7a2b6703f15c6cfcf9fea344ad72fb73f3268a9a7767489af5aac935cb6e24793a9c28fd03490d77f30dd7af5c22f6138747b8f1bd20c144222ee58e2a6976e45274cd7c0a03ba5b27eca033ab6f0ba0f56d4b1d93e74822a840872cf79f2d8700d16a36a7fe0219ffff032759d1bc36b516b29af5ae8ec4c85fcdda5a6e9ad46728784d8e0771f2cf1c14039ac5c82c38162421feec6d2d55cb1b72d29cdd3aec635e7ed76a61051ca6c97203f2994b0de1c84674d5a084dfe82f4f349d6ffe6540b82e208319e8c5eea339b603eb20e5b7f68bf6a05377fb7757872aeec2df217dcbc3b1a3740557966f1e0afa0310b3a340582a869f4987b855261d65f57855f360d06ca4fb92ce4862eef4dc60036559247ef80a9cb05f545c37f474bc2be00c19a71012255702060daf31bc9daf037ace6590ed79e2758175ece70573de936da576f9222f0e8433e3cb8e3b7337f30219ffff0309867945ab0dbe41394c8eef0a6183f65a2689c8fb8a2d0c119916a0b961e5fa03f9326b2d73a7bd26fa30a9ff6eb190bcbc290f391c1f679f045ee15ba760f63103d16c3014c947673bc088722fb37c86534f69c81428971a11e1f0a2f34b788a4d0357fd3ca6f4b4a677c53ca16b018e05924356ff78e29e48455639a20e02080f53036a4f5263b85bbd2b220e5b6b4e1c7268d974ccb516ae1785f89473847ddb221d0347e325fc0c8fec00c8b58fe60a23a7951acaa48cc523a81675c747b64ecfe954034cb07228a192983ab315c88bdb4e2cb12cf781487e86be312115dd7acf26feea0219ffff03382fde5ef247cc216a9220a9e459b11e51e235a3f49f1105be38268177bab0c30346df6e48b751206da8fd3677c0cd0507738b06383f368d852148064ae4fe6da703c741f2215d20ea7adef2d05c51391ec542a672dc2c3aed676e1a8fc37fd7a9a6035faffc4881535408e7811336ed721af1fd27b7599641f89df7f774dd9bc16563031e26e45b4ac16368cd6f8df30b38ab6da199fc335c62336f650ed7b7e9dfabfb03c363905a26c7fbaf05644da576a3692347260c5c53c1c323fd1d1cf39ded524b03a737a2b7e5eb8b9c43478f3c1cba35919159813bfdbb055347718ebf60b85dce03449f823a3edeff5657f6422873ddf0e3f03c0553209a533822ef25d6ec05969a038fe917f66580460ebfdeca99cdafb8930afa15da95681e17fa6b3076f86a5c7d03bc4a24d60a2b868b9427097423790358695dfb1ddbcaa32878dd1e5eccac419803911de816431831962bd5fcda2aeac5e5401f5f20290be13ae78c5a86ea44738e03a6429e16cb296be0da5c1f84752ae07f58b51d43ec48cf347b20ac7c2b443c2603ae76c6523342e9d12134fbf4cdd637045716b0ec0df4876d45a4b3d2415330af03a12bf4e49cac24791d09c46b3c9167272d758068e58f8727159def3d5066b9e803dabf657ea559e041c03a05ce0e28631807a90ff8b932827b4bd6be58d1257aa80322636db4ab737d960c89273ed45749e2c1e4b970e1dfec5973f004bc462706a80367ae6921bb9db201d66ad3c614968f7db07d584d86d22d0e3383ebb4db939da303334bcead2e3a487619092b61f52054512923cdf37a5f34a6ffaf9549dbd08bc50330eefd9f09abc147d21ae42e9dc7a680b9fdc62f6c7aa1abdabc291c6e20368f035d76df4ed74c2128199c612a657807bf98deb3bc417e760d9bdcb4b03236ae5e03053ea96cb30707fc8a7b11212a88f24d07e0702699501473ab3c6c5fcc73f07403a3061642ec01fbe378b822a8f2cec50f78006c68fbe68a5d1e86efafccddb6db03dd28f027279878402026bd6718271b378f104b5c9d9f75ff1c1b7a6abcade73003a82344459fecb8bd3eb1e075fefc3e7e51699e416797c0aacf12fb9f4e461b53039e4276a5083aa62616bd8196171ed24c7c0a8b5856a5feb1bb5490dabb5a170105581e038ad3800b548cdf174a1197daa3b46ac1508d6cfd12887f4754db4f1760040105581e030124479d8c901ff22ac9f0c790b978e7a5a8c0a23919e9a6f1c2937e400403037a1eee6a30d5bf78a55ec34de89f774ee4f83fc6797034803368dd21813257800380b5b0d4c80a027055711c4c059939697f9d8d0ba89ff8c6bd3a279a2cc22a4a05581e03caf9c26a3e93a5d5c212777567aafd66210b1f69d644e6c6ae0400574007011bffffffffffffffff05581e03a0307a2d064039f02e1e4e91efc085627e433fcf3df4f271c69bf045900c05471111e51c330666033a34ecc281271d075ae3cbe3bdaa23e844a8cb1b7c27608214bc11766657524c03b5c827f862443609ec3d2cd1aa4108eabebb825bc2eeb253e870ae103744296c05581e0383689d7ec827a6951118dbfa886b0aefdbc2e4177c498f463e12aca2f0040605581e0332609415fb36d963983b2d8ece79bcc479d69109bbf86768a7e0d79aa0040205581d026dbce9112a28b326a1e32585a905aa8af634efa27b438636d0638b680c1827464e5ab6a65040045921cb608060405234801561001057600080fd5b50600436106101375760003560e01c806379cc6790116100b8578063986502751161007c57806398650275146106fe578063a2309ff814610708578063a457c2d714610726578063a9059cbb1461078c578063aa271e1a146107f2578063dd62ed3e1461084e57610137565b806379cc67901461043b5780637fd30df0146104895780638da5cb5b146105ed57806395d89b4114610637578063983b2d56146106ba57610137565b8063313ce567116100ff578063313ce5671461030d578063355274ea14610331578063395093511461034f57806342966c68146103b557806370a08231146103e357610137565b806306fdde031461013c578063095ea7b3146101bf57806318160ddd1461022557806323b872dd146102435780633092afd5146102c9575b600080fd5b6101446108c6565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610184578082015181840152602081019050610169565b50505050905090810190601f1680156101b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020b600480360360408110156101d557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610968565b604051808215151515815260200191505060405180910390f35b61022d610986565b6040518082815260200191505060405180910390f35b6102af6004803603606081101561025957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610990565b604051808215151515815260200191505060405180910390f35b61030b600480360360208110156102df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a69565b005b610315610b38565b604051808260ff1660ff16815260200191505060405180910390f35b610339610b4f565b6040518082815260200191505060405180910390f35b61039b6004803603604081101561036557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b59565b604051808215151515815260200191505060405180910390f35b6103e1600480360360208110156103cb57600080fd5b8101908080359060200190929190505050610c0c565b005b610425600480360360208110156103f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c20565b6040518082815260200191505060405180910390f35b6104876004803603604081101561045157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c68565b005b6105d36004803603604081101561049f57600080fd5b81019080803590602001906401000000008111156104bc57600080fd5b8201836020820111156104ce57600080fd5b803590602001918460208302840111640100000000831117156104f057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561055057600080fd5b82018360208201111561056257600080fd5b8035906020019184602083028401116401000000008311171561058457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610cca565b604051808215151515815260200191505060405180910390f35b6105f5610e9e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61063f610ec4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561067f578082015181840152602081019050610664565b50505050905090810190601f1680156106ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106fc600480360360208110156106d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f66565b005b610706611035565b005b610710611040565b6040518082815260200191505060405180910390f35b6107726004803603604081101561073c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061104a565b604051808215151515815260200191505060405180910390f35b6107d8600480360360408110156107a257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611117565b604051808215151515815260200191505060405180910390f35b6108346004803603602081101561080857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611135565b604051808215151515815260200191505060405180910390f35b6108b06004803603604081101561086457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611152565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561095e5780601f106109335761010080835404028352916020019161095e565b820191906000526020600020905b81548152906001019060200180831161094157829003601f168201915b5050505050905090565b600061097c6109756111d9565b84846111e1565b6001905092915050565b6000600254905090565b600061099d8484846113d8565b610a5e846109a96111d9565b610a598560405180606001604052806028815260200161209960289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a0f6111d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116999092919063ffffffff16565b6111e1565b600190509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f63616c6c6572206e6f74206f776e65720000000000000000000000000000000081525060200191505060405180910390fd5b610b3581611759565b50565b6000600560009054906101000a900460ff16905090565b6000600954905090565b6000610c02610b666111d9565b84610bfd8560016000610b776111d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b390919063ffffffff16565b6111e1565b6001905092915050565b610c1d610c176111d9565b8261183b565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610ca7826040518060600160405280602481526020016120e360249139610c9886610c936111d9565b611152565b6116999092919063ffffffff16565b9050610cbb83610cb56111d9565b836111e1565b610cc5838361183b565b505050565b6000610cd533611135565b610d47576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f63616c6c6572206973206e6f74204d696e74657200000000000000000000000081525060200191505060405180910390fd5b8151835114610dbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f617272617973206d75737420686176652073616d65206c656e6774680000000081525060200191505060405180910390fd5b60008090505b8351811015610e93576000838281518110610ddb57fe5b602002602001015111610e56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f616d6f756e74206d7573742062652067726561746572207468616e203000000081525060200191505060405180910390fd5b610e86848281518110610e6557fe5b6020026020010151848381518110610e7957fe5b60200260200101516119ff565b8080600101915050610dc4565b506001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f5c5780601f10610f3157610100808354040283529160200191610f5c565b820191906000526020600020905b815481529060010190602001808311610f3f57829003601f168201915b5050505050905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611029576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f63616c6c6572206e6f74206f776e65720000000000000000000000000000000081525060200191505060405180910390fd5b61103281611a28565b50565b61103e33611759565b565b6000600854905090565b600061110d6110576111d9565b846111088560405180606001604052806025815260200161217160259139600160006110816111d9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116999092919063ffffffff16565b6111e1565b6001905092915050565b600061112b6111246111d9565b84846113d8565b6001905092915050565b600061114b826006611a8290919063ffffffff16565b9050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611267576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061214d6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806120306022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561145e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806121286025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611feb6023913960400191505060405180910390fd5b6114ef838383611b60565b61155a81604051806060016040528060268152602001612052602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116999092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115ed816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611746576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561170b5780820151818401526020810190506116f0565b50505050905090810190601f1680156117385780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b61176d816006611c3c90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b600080828401905083811015611831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806121076021913960400191505060405180910390fd5b6118cd82600083611b60565b6119388160405180606001604052806022815260200161200e602291396000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116999092919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061198f81600254611cf990919063ffffffff16565b600281905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b611a098282611d43565b611a1e816008546117b390919063ffffffff16565b6008819055505050565b611a3c816006611f0a90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b09576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806120c16022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611b6b838383611fe5565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c3757611ba8610b4f565b611bc282611bb4611040565b6117b390919063ffffffff16565b1115611c36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f45524332304361707065643a206361702065786365656465640000000000000081525060200191505060405180910390fd5b5b505050565b611c468282611a82565b611c9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806120786021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000611d3b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611699565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611de6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b611df260008383611b60565b611e07816002546117b390919063ffffffff16565b600281905550611e5e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117b390919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b611f148282611a82565b15611f87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e18b52ba66965682c99eda01b40af03b60b0c81c7a0272ca850526ea48d7bb4964736f6c634300060200330302c70872beb4f86484568474c172f5b5cb99e2282e2a5c32cf122749d0199d0f03b4e2b364611d089a09e07f49684e4d81dae0a9a6bef0fb2b2e6bc807bf884abc03e14314538cf5b21be5698705d91e0b45ac552b0bd986deb1ff433a46f707afa10328c9d298d2b37bec4cb8dd307f6cb6abdcb82622998bba9edab861c19b90815b034624265721a548d2430e848fab3597f706de190e6c4da97796d5f6da8c10324403b94c92bb16d65980064f63a414e7024c857ef0f3a49aa898847cfd5a384be9a4031efd58a36c1af7b98845deb5ffbbe135364590cf41d830e68f16d9ebed4291b303dead8a732fb5d3ba8887cfd50f787aa48a358183c886073640b54fca3d490c92032845c7163672369a0d87629e810e5e9ef722d5a6fa155bd8906dc287861c517803415b112bd256786432473a71f7f6111e2cbc69d3a672fb218b36ee096dd2106903d23fcfac365aca4b16e85420329d598080b6ec6fd0ff6700c6f0dc8667345a6e038a41028015f16fc8ee6d81900c4d318357c934c6c37226e73770cbbadc1df8c303230d7c76647719bd2a3a03a6d33e1622c7d3bb0197d3363022b27aea8a067b8d039ed3add4879f5cdba30d8dc8a91a816bfee7316cc20532d835b40a24cf272bec03d10696c88fd3f60757c3586b23f7aee7e21a188101e1cc65fdf84816a0dcdb7d037e6af532af0d17666ef06cfea933b74cc60070b19dba4b35794d26ce8e82af66030717de522197a780a28abde325bc218f783e14ae56222d116030ba4f18d418e703770a24bb43e5bdad153765f3a1c9320061d568498239e398384f676def26625103be36549d8877be5d73856e1102428fa09e286921dc8b55ab00099a34dc9278b703c5d97add487b4faf132933e1948be09065fa41b051ebad752159372712a6f285034e7df350b945bad01754abf81ed0758fe8045df3ee4216bdf07dd69ca9d2ff25038ce43dee7bfe08b7e32c1506ea4bd203c2725923b0b5d4a50631a23014ae3591037b6067b4cc739fdca246e618aae9b7c54c92666e0ab5b750bdf0713430747fb503c7bd7d1cffe3c6fd24d4aac815db9f0a124aacf6b58e671bf531b8ab465c8c36036ac184c5c8dbb730def0f76bbb48334a27b3a51467bf6e14dd321c1c960e5ec500581f0359bcf5837947c9f01e10409c9948fa3686b492ad20304a26ed9f5c738cb046048e7b45340000581f03053a1fd7afac01e1b390da2e258c7b4aa12ad8b3d7cd683968a60c41ed004505b02b066100581f034dae0a337fe5385352c8ec263f701d191f595a0c9eddfc2063e914a597504517d72ad5f900581f03a951735dd60627acd65d4eff44aee2a22aeaaa01f5d41a7ffb6b17692ba05820ffffffffffffffffffffffffffffffffffffffffffffffffffffeec7d66e475c00581f03ee75e93bb0dcad0e6f2a62e3f5826650c24132f0a56ca91e3cc91e498250450153651c6000581f037bfc21901c3d02661ddcce672b3666b9671f3cef88ff22ce203e4db9d620450969e4ada00219d242036f2df7a742a0ef18e1995f50c67276844b112202368f7b5151c836df4cb0e215038b957730e629bd89dc6b3264b1688a180955d2c354b947c8107de8cdbff681cd03f70a9ea14581bed90488be4ac476b72014f587459d1503a0bcea09fb5d07715703fbb8e13ff9bff5a974bd3bdf29cd89099e69df65c70b370c7c4cab420eb48fa303a531f55fc71e25821df524b83ae25011c88e4f5961b12198a3a66241a52e0e3c038c0a2cb39d4e0b2f068611e174b85e8e7533828b1f49afec1e380d980d40fae303185e667a72a927cb1b716c8daf003694630827f9e344e9c04617b441bb601e420219ffff03630b3d95495def2b153ba14cfc1a587f0b96041c98f6004b8c6b7b12f0413fed034a9b08f2471a6ddec8b49d700dc27930366eab0b0d6b5d3172364741f7926c2303186b389f4c5ed6589df8c23d683fc2fa648797941346bae9873712747414a62203e2b88b013460e7c9c1cf0ea50cff88c00272985055e4e7e771057f41637c5e8803bbc314c18db46f29e74a90f8a41184aea96933a1d6452486ff7131d1c49a49870364670a1dde7509b648eb7892fc027821956e348a018eb544ee46836b13045c9e03bcd8e935348dec286e6e1bfc5566b0b8d9c91562df02d7e66142c5c719f9121403e295acb049440a9553d867023bcfec4f9297036266dffa8d16d8e0ae07ca91a4039a6a5e676a624523507c4b48398ae7c7cc9d0599d0bbfdf8eef351ac4a018c110219ffff03d52eb659fe6eb9ddad45b41dcb19fdea4bbdf9f879b4c6da692e0052b2b70f550340ae8ecddc7b133d5d122820de4ba6d61851ba93cd10c7e51256f75ab9000a75037297fadc2ae94233ee38afd586db53089c2d23cbc12f8ec2f85a2880b63be2d803fdea8d41a6eaa6324cb92ab21edcada624c03eef94b13825d6d1a676082ce019035d6cc70844fa4877437c1d3bbf4c2b8a8067ecf0f28b9a89125c398e3e72ccb10309402808b26efde4024b80e95dad4a4916a504f94faa509bf2673400a800a3a403f5ac3ea385a36336a8ef384cda4d75af10cf0bfcbef13960163ae51a949a763f03f0332df8e08d95e16b620a68480f073776c0ebf3ea2246232fafb0364d11a8480344905cd5d9eef7cff3ae7a1269d965f97df218fe61ea0a22255772ed95ebc45703f680b635e5439076259a2875364361f45777d6f224f81458d86521c922292d6003ced1cd367acbb29e1d2596764e06cbb24df4b97b7e87d3f372973466353694ca034a1762c785d0e28608ba084427ab93655b8cf8c14cf83f5ec64a118226b6d68a03dd6d80b584318d4950a5983b92c6317b3b6a92efec3c00d17a50d8e1f45afd7203a214dbcbae632bd0d50f78b7b797c19e36f0d2e40109fd147b275f72dbdd88f203bdc4cfe23addfbfbadb2f8cc09e65f0c96ab87590d770a61d2f2515bf594bc120219ffff038db2d8dd1f7809ac08f7107c86b7f54f7e402f2b676395c6b9a438ab04be1f8f03b6cd68ff49fe9fe31cca5376259eb195a3b7bf43aa4c260c4e733e2ec6628f0d03ecaf83f4ea29af1df29b443f573a9c204aec7955032fd0b864cc69e49b57086b037d76e59322b50f94eb4b3bffccd622aba1f7286279fb367df58ddd1fccccc14103f870f654ff743fbd93341977bcb457a7276eb8b6622d44571351a2d57afef4ac0396a07dce91f139165a2b2009d3cfaa14dac4ea4d0bcbff3c1b58257c7020ba0d03415631feaac51066fefd3df7c2a7aae1caf8d4a156ad35d6d8ccdc4a7cdeb9ba038f817df1f36dbbc751154a70745a79dc41709fa825b74221a0a5a4850c426cfc038d873303deb2b25cf2ad249a251a4b80376f524148979c29dff5477065a36089031408de303c01492f55644bd8ec564ceef0e2a248ac41b0b384f06101eeedf1a9036205a8754962b4b9e5072abec98e23c4f695c29aebb4e5454e0041b5bec26f3600581f039ebce15e491de996be852b010ffa77d1c78ebd5512628f460bfa871f180047011910f34d8b60038a16f442f623884c9c25a0a94517ddfb0ae766e60be27252be91694ea00906bf03cbef45b4f56935acb129aff83304b13b6068837df6491ec54f7514f5e1d7576c021940220337c2e7f9a0ceeddff0bdf9b95df841c2c91c7ec57f263c5d183645590fa9b2a7037ad7ea5440b15eb412991f458a21920ea0af362fa85629e7667e47107935e91c03e86b42ffc3358ce89c517f26b0347ab676048a27fbde2ac1b89b2a448bd2ff17031769050c72dd8ad4f688e330f502cb0d3a91b37ce6ef6f8620606338217b096b038fdc04514dfc8346c8d44a15970121f60a43ac3aef87ab3378a56f152458a07303d8f7f78650a0ac3d74f58a42eeeda70c065e11d6407a183e826257eee92b4ef2034af1bfc30439d79f1f82a3bda7409c51f51f58341f1ac48bfc90b61d46549ed60333848c4dc259874f83f6536f81d76dca9336c592378c275d77460d180b1ccf1203e389d144b1a4768873fa7df297364fa5c3335745204e6e58f3bb04135dc43d550219ffff03c77234c106ddb75098e82e22814ef1a2dced7b5d94001b9eb0679d94bf60951103a24ab24fa5e66a89143f9011aba4e3fb9ad5f26275e7d9a7ed972c4c83075e2203f04677c9b1f9a5b24fb8ad5bd26f4f0b0de4d8e5941cba7447115cd719d97f8903525898dc46277dfef6459c2c36e5274d84cef3b81e007dcda2dafeb14de988210336eb038441437efe6b9021caf16eade2c54262d5f01100082d501ff3d53ac76c03634462a161316aebce7d9d73fb4c0c93f0e0404517d5bb9f0fd88663d283a82003ca77c2db35b7a430ac8555fb9c2433218570cff2d78881a9cf343a1a14206ab70349f2a8316267e01286db79545ede64adf4c3f7e546c25aaf9ec6e7afab2a9deb032ac3678c690006961034710f047c1af2d50e2cb92543978bf2d73b43cd5283960342277e4f0516dfeb1845efb7694875b2871afaec8fb2e547b5d377d022c1c3660333b1fdd4cd5da46648c3c3db91538e7df2e22698f470160efc6589a0673f50490393ae9bc32917e7d6ee8ecd13b25021c6d2075d84a4e2d27b147a46388c83a1ef03dd032a9552b3dcb35a7279aefcdc76da2664e2a99e87b8e11fa00408f9593fb90219ffff03bfe39d016f2b50d31a4f5ec05248a0cdbeadea80a9d270f762b7c567a7d7af2703477f9c367192303a67e0bf019226342230182712a69b8b3fdc5c44e731813872030f5376c2d3791f75f43519a873daf7d0afe3aed6aa28e57e35f4a79388d153e103b31be77b7a70ae5501d8f3b892d54ee0e5f0f2c5dad4f57f4319ff6ecf9d8d60031834914a0b0f90ba741990881d3d4b74f12f8e530ca9d24837f59c114cf1771003e8ee9cb09b124101eaa089042ce481fc82a7c8f5b1677987b4fc9f86f62aa2190379732b0fb466078659b93e7a7f418f10b721e16ea9d8707c6b3d16be6af37581033764a50ff4a5a753841032a5e66e358839514bef00a4d5a737b216e668932178038849a80a5e65d506b5a4d72049a883b21de3cc698977ea10f4410428e3edc85503d1fb67bdbe0a0be5da65c5d2b5ee1b23dd76dbeac2b7060ac16b4ebf21f1301a031c938b9b874518823f117c5f7b01555af26ace5eeef4350989ca430c4ee43bb003eb25094283eea9c374ffaadad1c1f94a8be101bd28617738cebc3d4ad3397c5d03f848079554378df3720ecf0b47d5a3cf6c2684aeb0f8c358e9287179dfe54ed6031dae4457e852635949a75a2159ce2ae2730f222310692751c2f10d297982cc9b0219ffff037235096aa84af1ad139696274b8dee68a9261756ea161729c218d8bae12c179c0219ffff05581d02fb02a39f4a2cc17028178a77a183bc5c5369693988bfe347de88fe5e07011921cb0219400803599367be9d46f039d230de3724bd3070ab354b155e9e10026c1b4a109e0dad9d05581e03338781d1723ac296fbbb6dd33cbe32813365a332367c1d07833a71b3200c02469cddd957dec005581e03dd267c1db631fe73744fcf7630142b3040e067dd80e62d9ce6dd0611b0040202194f7f0306a6909e28da58f056151bba3dbf5d689b34c1478a438cb15812654f049cbf1103e28c82ae3044ac6f2a1346328031bd9693e23bbf80afb37389670144bf6629e90219ffff030f9dd1ff1403af9e134c703f23ad2ef165a0ef4bf2aab52038b8828b795ff6d3036df6405332a85ff317189ab34675b5a3d5906e709197213141d2e40eacebf89c03d8f529cd33a3d63e9635fb1167a054ef29cc7945f67ef781b2b563244a614221039b9c1c063cf856e9d4f08a4a749b99c2a49b6c61a570a45baa722135c2c0ea4203a117102e2c4b833c91881493eb593cc88dac5104fc0a6296876720fa96330a6903306522e6920b42950b595c483774499b261cf4f17366dd8a31d31535e4e256a003f545c66b96944c14db71381224e6cd0198634a4047464fd3dec3afd7e6d1dc140338b617de6bd22df35d919b55e356b984f194529feb8b4396cd7d3805230f0a0e038cb18ab96ec51692dd9df71395bbc4592f6b8cccec5b4e161ed436d309847cd403263b8ff804232f8271b837d5cb359b818aa6c26108b7e9f458b003c94dad795103175d766cf6082eb9775724e6acaef1473cae947a9c9a81f338a048bb9691d6f203ec25c502053a31b238dcf404e1c77fce3ba101e574a729a5d9c5443f23384212039ea54af950541dcd52b262ea7cb4c8cbd172c0c4bc0549d54fb30e2d96fe10ca03daca3d34d964052f7909f9dea345c516880e231db5f831a18b4ecf559ad8da14032c33d35df3eb6e88961571a8fa706ca49b0c19a3eb22be489304b728514c6b620219ffff03b8d80d2ac162a28f0a85509af4fbad61c891255ad9054ba59dd93cc7f47f8ec0032f033e057caa74d2d3c192a9f86d94d5e668ed791cbe03c1dd8c8edb9d89188d0391b1e01cb756bc20da68ccd5abf548a38664b50aa2eb9e21cc53eed382635f750219ffff0346e5d70a13b10209ef5033534d96455231fd0dc4ebf6a1c322d1a0e54e562fa003e715fb853dc05eb6be886846800fdcda32663e0df75d244b049df756572d639803387d13a0c3f7d1369ab65b51753b94100eec7e3ff8180bc69b6db0e3aaf7eb9603108c5ee2d4b6e4a2b32bca8c8edfef9aa9ae8dbcedf69cffefaad4b790247a33035ccfc867a912071bb26ee3328a4b8a62769d9a434efa375a1cf3a04792969b8f0304a86566359929e0bdb9be35be8abdcc708703b38888574a61ff91ebaa7de54703178740792f639a6b8a1f96da54a28b0da0deb1742d2ce3731ffde3361abe344003d0d305569a015a0ae753ef2e975664f7fa9e2e3ad3830199a56baf531f3546ca03da1b3aa7fba93aff829b1bcb7e650c680897860ec20fe76190fe77aa7f2cafa903c791e1f3cef6d7faee03f8552c38e0d020bea6bc628edc129ab57299e066774403391627a8551527d09c12b0c788c11a4ce1efe03d4a42b8b38f4d5d1e08274a2303cfd60c5a06c6f28a3c06e3ef23cf81d8dd95f5c92c1e9701e472c60c665732d50373662a500d958dd5832d24f17f45dc74ebb2667d59affb4c368684a0280fcac205581e033737e8c5ef9f405789c6c85c42ac2072cf68d7e4f8aa673e10d522b0500c0e46801c7af02c8005581e039e4f963e5d0b5c6576bc6f0937e40adec3978ea4051466e5eafad9a4b00c19011849118ef8f3322d5f8ad00316639304474c096f5b7d74943898fd1ab4f5765ab2db673a1b031205299471a903755c8469747896c47e5fe83463f536fe2f04b23ed433c1f44d5febeddd41e1c80219401a035572348d4909e6003cee520df64696fe1e86a11ab1ab19529ddad7e8c9402742038280a73559554f5cf436d68ca56eda20042889214214d37f75971a5d4b417dc903cec12813452026e321c950955934f5da9a1327a7ac7b696336049a1b21ef8a9f0382000dd2262b9dcad769045d3155e8160ef7c49645dd77345c9bd6a22ad015180387a4cc4bb0f80bf7db5b97672618f778107d7050e09f5a0d0ad476d869186b05035d0499c921c933da263690dc438578b52f95d109cdae7d38983d064f5fb207ea03bf6cd563080f2aba423f3b89a051b98dfe968b51127e7648ced455afee4a6a98033803c2198b1f86ec4cb57ea815335d8cffb32011a331937d0570b8b4be5808f603d185972552f7c2bdff3b9cc2b8147e41bacd5f1905fbb5036644b5e7beebc0ee03171f309d5479608d81600d30eae9071260a8f4355ff495e747be715ad7dffd280371b7adcda1213bd814479673903d5f3e7481a3ff0154bf24f66d69c389b4cf560219ffff033b68cdbdcc5de19b8e4172254fce73775a403f23f0a624c1b0ac3bae2fd8526f036a6cd0a71db5439b0586873bff551627659abd51ce05fafbcabdf22eb6c1e7a103a2ae7bcd0eedd766240fe537e0c93959decc27f8aaa99414eae505ef6e7ac7e803d4cb010c08eb4ad566052958e748eec491b9275081850675b8e81e8334582b7c0379fd8685046f3e8c2e73b7c372e7d8a25491bf351503ed1edf4bb7f4d60a2777032db7cbceed6433093971723b66ea6d75875179e87b3fdcc6eea9eab6f5d1366e032b8fc60b21888514f2045b74cc9e5b147c2a09285d1b4645b7de67f349161cec03160b67d9a55946d7a7fed52ad1b59b992df1cd27f150f5af523f88ccf04dce2903979e516fa7669bebdc6cde851f165ba6d305b582a145c7b54de44b46765e92c90219ffff03498f4c31179920cbacf2a9ec1f003f87c5f32446431900ec37b34649adc73c6603ea6f2d977c05b2d17c2c3427dce248d90eede62db71adc233dbe6f08c66b2576035f891794c04a57f70236f6a66639dfed17d0a6be22260737808af808295f305c038a961e3b2d45ac13ab4c8af9ece5cd0cd3c94e8b3f3d67ecf7bb775cb8e288a203f9d39c97e820d36577d02396240a43ac544d21a05903c99aec6f2810c146bd4103416164e4b25f249793c105dc5cef372cb37b749400f635cc940cec297268302c0308c3e34cf4cd2c13f0fe9120020719ca97211277cee02bd2564dc4d1f55c20310382928d34386b8cc7b6a42aa92c30b0dfdd06c87d021d0f6fa6eebcd91d83c8b6033703ed63ed32fd561fb26768c5120b528cf232ff694ec96550cf15c15ca9fca1036251910ee184cf6de3e3b6e9bb3d45f1b723ed71f4a68d0f253cbd4d459255b2034cdf36ae3958c5b5955510d1aee596cab690cc2227a85adc8080ce8fb346fbcc03b0ecaa397fdd34b526de221b8e3be658119e87ba2b72c705bdd9b76ce73842f9037c77784bae7280cc763a09cb6d9fa8dc69370c1add999251aabc7457f61e945d038a875975be727947cd5ace1707a810a695592f12407bad3d41a01834d4cb27120369140e8adb8f40cb02523134ea8c1cf523edfdf61cd5c2e92764cf12961b83c40219ffff03c41dff7c1ed576f874735c7ccbeda61dd2e4c6c290a32084e89ea184ba22cb6e036d289aed85d2efee899451e98a774dac8a5516e4e9aa1cce526f38a12d7e732c03ebd2c426293fd32e25a760e9d4983654fa12c84cf104ecb6db5020f9f975a28003f129ffa05836f16b4054ad977cc71bbf0ef99c0547670f0fca593aa9148eef0a032eacfcc9233bb7c48d48e7e7e42f2ce116ede48ba58f9f807ad3994383a5c05e0339e3c0b0ed983cbece7a8305370cc1b3c4081a46c4dacf30df3bd163f874bf6f037a5b5748fb2ad571f6daee49479da2a3fe82c3b561f2afbe4fb63d29a5c8b45a03f67a727c4d76d7424a666ec8d0cac69a1f9488752231fabbcad9e0dc26da19980328a9389a3e6d565d95b03a58c4740a2e11768427a7edfaf656338921366daabc03729045af27ea80052906a0a222382f8fee0c8dd316cc0011d0434b028160b21503d266f03f993ba6a4ce3ff73f3709764c6262bf78f78f472568e0418cb6334cf903c4ed3edbc50f0e476f23b8b1163d2006a55320e61ff75c7ce35badc308671d6b03ee48d0c9de945438050a9e35cedabe235049619188be7782bb67cde6367effc9033e1e5e24ab9c793444d1f75baf813da851c4c0ca2da84177a3eda061449ff78d0374c1c6fd9ae4e9e76e2cb5f25d499efdd5c754463f8808db6c5b0c684470bfd603a6e803528f107bbe90370750074e9383a9b6990664fc882a83451dc6d58e7aa203c44ab7f26d6f99efe851d83f8cd9a9bfb9474ea4d5e86ca6995d020e290082700345384e2f692dd81bc83a7d8afcf721cf7a29e9068cfb51a2fe35a48e64581e7803192ac350d60c57f2f2d11e19bd5590dcfebd6c7665d74b1a5e71be3465ff147703a0383d04c48d3ae7b4c4ff7fc99d8450d78169c30bcd02afd7b9a4a5fcd8804f03a79a89e464cb4191c1046a1db1b816ab314dd92476286008bdd6aa0581dc10710330074b5f7cbe367322981353adb326b2b2c23461578ddfffb2ea37bd11161acb03654f5e93f28c687148f0bddb4045a1020d07aff03064614e31218d14dc8cab55031a28acef1192ff202c5783fca9e4ac48e216204bcba01e32192fd655a588ff0b030857608b263a71b03724a5cbb986483756fb17da5323a3ae5c0147741f0c4c4e03de625d917c48961b96a03c989bbea5598bfe2c12ba824973cdc547e44c1fcf7203133d5ad1e31415ff90e770bf9a72d5260e28a6a70556f5c3641e62b885508b010381ad877e347178df9143231cc3b9015b3ae0b6f1a63896ccdd0c4dee3d30b5eb03500eb32695ff5f1be760adbc81887209e1d1170de4712b4d3ddb5cce9b2d83db03875bbf448ba51ba33bda381fdc5b7ce95e1d66350c1e4ae0077a388fe93488d9032d0dbbb1e8b43383f29567c237b718a6cfac19e79730ce9d61f056a351b0c1d1031f28626d541d0147e152937b6d750f7a6e570f39d086ea80bb26a4cd0e1df1f403dc15d5b5001bdded2e5e58b032abb3460b5e8ba1a541d81bc90bbbfe99f2e8c505581e038634c74bc6840ee8b58d8021ffcd941c50fdca3206614b144b70f74e300404032a990cf3dc711b2902d20542f908fc18171687bd4c17a2dea20b4a171ee6d68001410905581e03d136f751363a2807cd1f9733cc6ec723a398a893e18f9b5cc993daaf3004010305d28ce24c981fe0c449a1bb717fb90d4a97c8835a6cdecb06ac6b56b75a1ab303492769cad03aa647cbaa5c1a38a3589ef4ce2f69d242b053d05c9ee5194999e205581e0382a82dd3c29c9395402b7484cee51878fa097c9520588ea12b5018b360040c05581e034850a84c5de9e02dbfe103e7d37a08f969e7f450b9448b469a5a537aa004020459456260806040526004361061014f5760003560e01c80638803dbee116100b6578063c45a01551161006f578063c45a015514610a10578063d06ca61f14610a25578063ded9382a14610ada578063e8e3370014610b4d578063f305d71914610bcd578063fb3bdb4114610c1357610188565b80638803dbee146107df578063ad5c464814610875578063ad615dec146108a6578063af2979eb146108dc578063b6f9de951461092f578063baa2abde146109b357610188565b80634a25d94a116101085780634a25d94a146104f05780635b0d5984146105865780635c11d795146105f9578063791ac9471461068f5780637ff36ab51461072557806385f8c259146107a957610188565b806302751cec1461018d578063054d50d4146101f957806318cbafe5146102415780631f00ca74146103275780632195995c146103dc57806338ed17391461045a57610188565b3661018857336001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2161461018657fe5b005b600080fd5b34801561019957600080fd5b506101e0600480360360c08110156101b057600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135610c97565b6040805192835260208301919091528051918290030190f35b34801561020557600080fd5b5061022f6004803603606081101561021c57600080fd5b5080359060208101359060400135610db1565b60408051918252519081900360200190f35b34801561024d57600080fd5b506102d7600480360360a081101561026457600080fd5b813591602081013591810190606081016040820135600160201b81111561028a57600080fd5b82018360208201111561029c57600080fd5b803590602001918460208302840111600160201b831117156102bd57600080fd5b91935091506001600160a01b038135169060200135610dc6565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103135781810151838201526020016102fb565b505050509050019250505060405180910390f35b34801561033357600080fd5b506102d76004803603604081101561034a57600080fd5b81359190810190604081016020820135600160201b81111561036b57600080fd5b82018360208201111561037d57600080fd5b803590602001918460208302840111600160201b8311171561039e57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506110f3945050505050565b3480156103e857600080fd5b506101e0600480360361016081101561040057600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff6101008201351690610120810135906101400135611129565b34801561046657600080fd5b506102d7600480360360a081101561047d57600080fd5b813591602081013591810190606081016040820135600160201b8111156104a357600080fd5b8201836020820111156104b557600080fd5b803590602001918460208302840111600160201b831117156104d657600080fd5b91935091506001600160a01b038135169060200135611223565b3480156104fc57600080fd5b506102d7600480360360a081101561051357600080fd5b813591602081013591810190606081016040820135600160201b81111561053957600080fd5b82018360208201111561054b57600080fd5b803590602001918460208302840111600160201b8311171561056c57600080fd5b91935091506001600160a01b03813516906020013561136e565b34801561059257600080fd5b5061022f60048036036101408110156105aa57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356114fa565b34801561060557600080fd5b50610186600480360360a081101561061c57600080fd5b813591602081013591810190606081016040820135600160201b81111561064257600080fd5b82018360208201111561065457600080fd5b803590602001918460208302840111600160201b8311171561067557600080fd5b91935091506001600160a01b038135169060200135611608565b34801561069b57600080fd5b50610186600480360360a08110156106b257600080fd5b813591602081013591810190606081016040820135600160201b8111156106d857600080fd5b8201836020820111156106ea57600080fd5b803590602001918460208302840111600160201b8311171561070b57600080fd5b91935091506001600160a01b038135169060200135611885565b6102d76004803603608081101561073b57600080fd5b81359190810190604081016020820135600160201b81111561075c57600080fd5b82018360208201111561076e57600080fd5b803590602001918460208302840111600160201b8311171561078f57600080fd5b91935091506001600160a01b038135169060200135611b0e565b3480156107b557600080fd5b5061022f600480360360608110156107cc57600080fd5b5080359060208101359060400135611e58565b3480156107eb57600080fd5b506102d7600480360360a081101561080257600080fd5b813591602081013591810190606081016040820135600160201b81111561082857600080fd5b82018360208201111561083a57600080fd5b803590602001918460208302840111600160201b8311171561085b57600080fd5b91935091506001600160a01b038135169060200135611e65565b34801561088157600080fd5b5061088a611f5e565b604080516001600160a01b039092168252519081900360200190f35b3480156108b257600080fd5b5061022f600480360360608110156108c957600080fd5b5080359060208101359060400135611f82565b3480156108e857600080fd5b5061022f600480360360c08110156108ff57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135611f8f565b6101866004803603608081101561094557600080fd5b81359190810190604081016020820135600160201b81111561096657600080fd5b82018360208201111561097857600080fd5b803590602001918460208302840111600160201b8311171561099957600080fd5b91935091506001600160a01b038135169060200135612115565b3480156109bf57600080fd5b506101e0600480360360e08110156109d657600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135612486565b348015610a1c57600080fd5b5061088a6126ca565b348015610a3157600080fd5b506102d760048036036040811015610a4857600080fd5b81359190810190604081016020820135600160201b811115610a6957600080fd5b820183602082011115610a7b57600080fd5b803590602001918460208302840111600160201b83111715610a9c57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506126ee945050505050565b348015610ae657600080fd5b506101e06004803603610140811015610afe57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e0820135169061010081013590610120013561271b565b348015610b5957600080fd5b50610baf6004803603610100811015610b7157600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e0013561282f565b60408051938452602084019290925282820152519081900360600190f35b610baf600480360360c0811015610be357600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135612962565b6102d760048036036080811015610c2957600080fd5b81359190810190604081016020820135600160201b811115610c4a57600080fd5b820183602082011115610c5c57600080fd5b803590602001918460208302840111600160201b83111715610c7d57600080fd5b91935091506001600160a01b038135169060200135612bf5565b6000808242811015610cde576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b610d0d897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28a8a8a308a612486565b9093509150610d1d898685612f6e565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b50505050610da585836130d8565b50965096945050505050565b6000610dbe8484846131d0565b949350505050565b60608142811015610e0c576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686866000198101818110610e4657fe5b905060200201356001600160a01b03166001600160a01b031614610e9f576040805162461bcd60e51b815260206004820152601d602482015260008051602061442a833981519152604482015290519081900360640190fd5b610efd7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506132a892505050565b91508682600184510381518110610f1057fe5b60200260200101511015610f555760405162461bcd60e51b815260040180806020018281038252602b815260200180614493602b913960400191505060405180910390fd5b610ff386866000818110610f6557fe5b905060200201356001600160a01b031633610fd97f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8a8a6000818110610fa757fe5b905060200201356001600160a01b03168b8b6001818110610fc457fe5b905060200201356001600160a01b03166133f4565b85600081518110610fe657fe5b60200260200101516134b4565b61103282878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250613611915050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316632e1a7d4d8360018551038151811061107157fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156110af57600080fd5b505af11580156110c3573d6000803e3d6000fd5b505050506110e884836001855103815181106110db57fe5b60200260200101516130d8565b509695505050505050565b60606111207f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac848461384e565b90505b92915050565b60008060006111597f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8f8f6133f4565b9050600087611168578c61116c565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c4810188905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156111e257600080fd5b505af11580156111f6573d6000803e3d6000fd5b505050506112098f8f8f8f8f8f8f612486565b809450819550505050509b509b9950505050505050505050565b60608142811015611269576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b6112c77f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506132a892505050565b915086826001845103815181106112da57fe5b6020026020010151101561131f5760405162461bcd60e51b815260040180806020018281038252602b815260200180614493602b913960400191505060405180910390fd5b61132f86866000818110610f6557fe5b6110e882878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250613611915050565b606081428110156113b4576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216868660001981018181106113ee57fe5b905060200201356001600160a01b03166001600160a01b031614611447576040805162461bcd60e51b815260206004820152601d602482015260008051602061442a833981519152604482015290519081900360640190fd5b6114a57f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061384e92505050565b915086826000815181106114b557fe5b60200260200101511115610f555760405162461bcd60e51b81526004018080602001828103825260278152602001806144036027913960400191505060405180910390fd5b6000806115487f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8d7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26133f4565b9050600086611557578b61155b565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c4810187905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156115d157600080fd5b505af11580156115e5573d6000803e3d6000fd5b505050506115f78d8d8d8d8d8d611f8f565b9d9c50505050505050505050505050565b804281101561164c576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b6116c18585600081811061165c57fe5b905060200201356001600160a01b0316336116bb7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8989600081811061169e57fe5b905060200201356001600160a01b03168a8a6001818110610fc457fe5b8a6134b4565b6000858560001981018181106116d357fe5b905060200201356001600160a01b03166001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561172f57600080fd5b505afa158015611743573d6000803e3d6000fd5b505050506040513d602081101561175957600080fd5b5051604080516020888102828101820190935288825292935061179b929091899189918291850190849080828437600092019190915250889250613986915050565b8661183e82888860001981018181106117b057fe5b905060200201356001600160a01b03166001600160a01b03166370a08231886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561180c57600080fd5b505afa158015611820573d6000803e3d6000fd5b505050506040513d602081101561183657600080fd5b505190613c88565b101561187b5760405162461bcd60e51b815260040180806020018281038252602b815260200180614493602b913960400191505060405180910390fd5b5050505050505050565b80428110156118c9576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2168585600019810181811061190357fe5b905060200201356001600160a01b03166001600160a01b03161461195c576040805162461bcd60e51b815260206004820152601d602482015260008051602061442a833981519152604482015290519081900360640190fd5b61196c8585600081811061165c57fe5b6119aa858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250613986915050565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611a1957600080fd5b505afa158015611a2d573d6000803e3d6000fd5b505050506040513d6020811015611a4357600080fd5b5051905086811015611a865760405162461bcd60e51b815260040180806020018281038252602b815260200180614493602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611aec57600080fd5b505af1158015611b00573d6000803e3d6000fd5b5050505061187b84826130d8565b60608142811015611b54576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031686866000818110611b8b57fe5b905060200201356001600160a01b03166001600160a01b031614611be4576040805162461bcd60e51b815260206004820152601d602482015260008051602061442a833981519152604482015290519081900360640190fd5b611c427f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac348888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506132a892505050565b91508682600184510381518110611c5557fe5b60200260200101511015611c9a5760405162461bcd60e51b815260040180806020018281038252602b815260200180614493602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db083600081518110611cd657fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d0957600080fd5b505af1158015611d1d573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663a9059cbb611d827f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8989600081811061169e57fe5b84600081518110611d8f57fe5b60200260200101516040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015611ddd57600080fd5b505af1158015611df1573d6000803e3d6000fd5b505050506040513d6020811015611e0757600080fd5b5051611e0f57fe5b611e4e82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250613611915050565b5095945050505050565b6000610dbe848484613cd8565b60608142811015611eab576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b611f097f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061384e92505050565b91508682600081518110611f1957fe5b6020026020010151111561131f5760405162461bcd60e51b81526004018080602001828103825260278152602001806144036027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000610dbe848484613db0565b60008142811015611fd5576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b612004887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28989893089612486565b90508092505061208d88858a6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561205c57600080fd5b505afa158015612070573d6000803e3d6000fd5b505050506040513d602081101561208657600080fd5b5051612f6e565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120f357600080fd5b505af1158015612107573d6000803e3d6000fd5b505050506110e884836130d8565b8042811015612159576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03168585600081811061219057fe5b905060200201356001600160a01b03166001600160a01b0316146121e9576040805162461bcd60e51b815260206004820152601d602482015260008051602061442a833981519152604482015290519081900360640190fd5b60003490507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663a9059cbb6122c27f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8989600081811061169e57fe5b836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561230957600080fd5b505af115801561231d573d6000803e3d6000fd5b505050506040513d602081101561233357600080fd5b505161233b57fe5b60008686600019810181811061234d57fe5b905060200201356001600160a01b03166001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156123a957600080fd5b505afa1580156123bd573d6000803e3d6000fd5b505050506040513d60208110156123d357600080fd5b505160408051602089810282810182019093528982529293506124159290918a918a918291850190849080828437600092019190915250899250613986915050565b8761183e828989600019810181811061242a57fe5b905060200201356001600160a01b03166001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561180c57600080fd5b60008082428110156124cd576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b60006124fa7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8c8c6133f4565b604080516323b872dd60e01b81523360048201526001600160a01b03831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b15801561255557600080fd5b505af1158015612569573d6000803e3d6000fd5b505050506040513d602081101561257f57600080fd5b50506040805163226bf2d160e21b81526001600160a01b03888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b1580156125cc57600080fd5b505af11580156125e0573d6000803e3d6000fd5b505050506040513d60408110156125f657600080fd5b508051602090910151909250905060006126108e8e613e56565b509050806001600160a01b03168e6001600160a01b031614612633578183612636565b82825b90975095508a87101561267a5760405162461bcd60e51b815260040180806020018281038252602681526020018061444a6026913960400191505060405180910390fd5b898610156126b95760405162461bcd60e51b81526004018080602001828103825260268152602001806143906026913960400191505060405180910390fd5b505050505097509795505050505050565b7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac81565b60606111207f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac84846132a8565b600080600061276b7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26133f4565b905060008761277a578c61277e565b6000195b6040805163d505accf60e01b815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c4810188905290519192506001600160a01b0384169163d505accf9160e48082019260009290919082900301818387803b1580156127f457600080fd5b505af1158015612808573d6000803e3d6000fd5b5050505061281a8e8e8e8e8e8e610c97565b909f909e509c50505050505050505050505050565b60008060008342811015612878576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b6128868c8c8c8c8c8c613f34565b909450925060006128b87f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8e8e6133f4565b90506128c68d3383886134b4565b6128d28c3383876134b4565b806001600160a01b0316636a627842886040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561292157600080fd5b505af1158015612935573d6000803e3d6000fd5b505050506040513d602081101561294b57600080fd5b5051949d939c50939a509198505050505050505050565b600080600083428110156129ab576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b6129d98a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b348c8c613f34565b90945092506000612a2b7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26133f4565b9050612a398b3383886134b4565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b158015612a9457600080fd5b505af1158015612aa8573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663a9059cbb82866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612b2457600080fd5b505af1158015612b38573d6000803e3d6000fd5b505050506040513d6020811015612b4e57600080fd5b5051612b5657fe5b806001600160a01b0316636a627842886040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b158015612ba557600080fd5b505af1158015612bb9573d6000803e3d6000fd5b505050506040513d6020811015612bcf57600080fd5b5051925034841015612be757612be7338534036130d8565b505096509650969350505050565b60608142811015612c3b576040805162461bcd60e51b8152602060048201526018602482015260008051602061450d833981519152604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031686866000818110612c7257fe5b905060200201356001600160a01b03166001600160a01b031614612ccb576040805162461bcd60e51b815260206004820152601d602482015260008051602061442a833981519152604482015290519081900360640190fd5b612d297f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061384e92505050565b91503482600081518110612d3957fe5b60200260200101511115612d7e5760405162461bcd60e51b81526004018080602001828103825260278152602001806144036027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db083600081518110612dba57fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b158015612ded57600080fd5b505af1158015612e01573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663a9059cbb612e667f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8989600081811061169e57fe5b84600081518110612e7357fe5b60200260200101516040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612ec157600080fd5b505af1158015612ed5573d6000803e3d6000fd5b505050506040513d6020811015612eeb57600080fd5b5051612ef357fe5b612f3282878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250613611915050565b81600081518110612f3f57fe5b6020026020010151341115611e4e57611e4e3383600081518110612f5f57fe5b602002602001015134036130d8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310612feb5780518252601f199092019160209182019101612fcc565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461304d576040519150601f19603f3d011682016040523d82523d6000602084013e613052565b606091505b5091509150818015613080575080511580613080575080806020019051602081101561307d57600080fd5b50515b6130d1576040805162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b604080516000808252602082019092526001600160a01b0384169083906040518082805190602001908083835b602083106131245780518252601f199092019160209182019101613105565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613186576040519150601f19603f3d011682016040523d82523d6000602084013e61318b565b606091505b50509050806131cb5760405162461bcd60e51b81526004018080602001828103825260238152602001806144706023913960400191505060405180910390fd5b505050565b60008084116132105760405162461bcd60e51b815260040180806020018281038252602b8152602001806144e2602b913960400191505060405180910390fd5b6000831180156132205750600082115b61325b5760405162461bcd60e51b81526004018080602001828103825260288152602001806143b66028913960400191505060405180910390fd5b6000613269856103e56141c5565b9050600061327782856141c5565b905060006132918361328b886103e86141c5565b90614228565b905080828161329c57fe5b04979650505050505050565b6060600282511015613301576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561331957600080fd5b50604051908082528060200260200182016040528015613343578160200160208202803683370190505b509050828160008151811061335457fe5b60200260200101818152505060005b60018351038110156133ec576000806133a68786858151811061338257fe5b602002602001015187866001018151811061339957fe5b6020026020010151614277565b915091506133c88484815181106133b957fe5b602002602001015183836131d0565b8484600101815181106133d757fe5b60209081029190910101525050600101613363565b509392505050565b60008060006134038585613e56565b604080516bffffffffffffffffffffffff19606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501206001600160f81b031960688401529a90941b9093166069840152607d8301989098527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b602083106135395780518252601f19909201916020918201910161351a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461359b576040519150601f19603f3d011682016040523d82523d6000602084013e6135a0565b606091505b50915091508180156135ce5750805115806135ce57508080602001905160208110156135cb57600080fd5b50515b6136095760405162461bcd60e51b81526004018080602001828103825260248152602001806144be6024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156138485760008084838151811061362f57fe5b602002602001015185846001018151811061364657fe5b602002602001015191509150600061365e8383613e56565b509050600087856001018151811061367257fe5b60200260200101519050600080836001600160a01b0316866001600160a01b0316146136a0578260006136a4565b6000835b91509150600060028a510388106136bb57886136fc565b6136fc7f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac878c8b600201815181106136ef57fe5b60200260200101516133f4565b90506137297f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac88886133f4565b6001600160a01b031663022c0d9f84848460006040519080825280601f01601f191660200182016040528015613766576020820181803683370190505b506040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156137ce5781810151838201526020016137b6565b50505050905090810190601f1680156137fb5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561381d57600080fd5b505af1158015613831573d6000803e3d6000fd5b505060019099019850613614975050505050505050565b50505050565b60606002825110156138a7576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff811180156138bf57600080fd5b506040519080825280602002602001820160405280156138e9578160200160208202803683370190505b50905082816001835103815181106138fd57fe5b60209081029190910101528151600019015b80156133ec5760008061393f8786600186038151811061392b57fe5b602002602001015187868151811061339957fe5b9150915061396184848151811061395257fe5b60200260200101518383613cd8565b84600185038151811061397057fe5b602090810291909101015250506000190161390f565b60005b60018351038110156131cb576000808483815181106139a457fe5b60200260200101518584600101815181106139bb57fe5b60200260200101519150915060006139d38383613e56565b5090506000613a037f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac85856133f4565b9050600080600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015613a4457600080fd5b505afa158015613a58573d6000803e3d6000fd5b505050506040513d6060811015613a6e57600080fd5b5080516020909101516001600160701b0391821693501690506000806001600160a01b038a811690891614613aa4578284613aa7565b83835b91509150613afc828b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561180c57600080fd5b9550613b098683836131d0565b945050505050600080856001600160a01b0316886001600160a01b031614613b3357826000613b37565b6000835b91509150600060028c51038a10613b4e578a613b82565b613b827f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac898e8d600201815181106136ef57fe5b604080516000808252602082019283905263022c0d9f60e01b835260248201878152604483018790526001600160a01b038086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015613c0c578181015183820152602001613bf4565b50505050905090810190601f168015613c395780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613c5b57600080fd5b505af1158015613c6f573d6000803e3d6000fd5b50506001909b019a506139899950505050505050505050565b80820382811115611123576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6000808411613d185760405162461bcd60e51b815260040180806020018281038252602c81526020018061433f602c913960400191505060405180910390fd5b600083118015613d285750600082115b613d635760405162461bcd60e51b81526004018080602001828103825260288152602001806143b66028913960400191505060405180910390fd5b6000613d7b6103e8613d7586886141c5565b906141c5565b90506000613d8f6103e5613d758689613c88565b9050613da66001828481613d9f57fe5b0490614228565b9695505050505050565b6000808411613df05760405162461bcd60e51b81526004018080602001828103825260258152602001806143de6025913960400191505060405180910390fd5b600083118015613e005750600082115b613e3b5760405162461bcd60e51b81526004018080602001828103825260288152602001806143b66028913960400191505060405180910390fd5b82613e4685846141c5565b81613e4d57fe5b04949350505050565b600080826001600160a01b0316846001600160a01b03161415613eaa5760405162461bcd60e51b815260040180806020018281038252602581526020018061436b6025913960400191505060405180910390fd5b826001600160a01b0316846001600160a01b031610613eca578284613ecd565b83835b90925090506001600160a01b038216613f2d576040805162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b60008060006001600160a01b03167f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac6001600160a01b031663e6a439058a8a6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b158015613fc057600080fd5b505afa158015613fd4573d6000803e3d6000fd5b505050506040513d6020811015613fea57600080fd5b50516001600160a01b031614156140a8577f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac6001600160a01b031663c9c6539689896040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b15801561407b57600080fd5b505af115801561408f573d6000803e3d6000fd5b505050506040513d60208110156140a557600080fd5b50505b6000806140d67f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8b8b614277565b915091508160001480156140e8575080155b156140f8578793508692506141b8565b6000614105898484613db0565b9050878111614158578581101561414d5760405162461bcd60e51b81526004018080602001828103825260268152602001806143906026913960400191505060405180910390fd5b8894509250826141b6565b6000614165898486613db0565b90508981111561417157fe5b878110156141b05760405162461bcd60e51b815260040180806020018281038252602681526020018061444a6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b60008115806141e0575050808202828282816141dd57fe5b04145b611123576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820182811015611123576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fd5b60008060006142868585613e56565b5090506000806142978888886133f4565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156142cf57600080fd5b505afa1580156142e3573d6000803e3d6000fd5b505050506040513d60608110156142f957600080fd5b5080516020909101516001600160701b0391821693501690506001600160a01b038781169084161461432c57808261432f565b81815b9099909850965050505050505056fe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e56414c49445f50415448000000556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54556e69737761705632526f757465723a20455850495245440000000000000000a26469706673582212201a0e72eba857efceb7536b575054edf695c72ba17a7f5f982cae2177edf424ce64736f6c634300060c00330605581d02b9c18e30ed3920a98119e3bd016c7be24dd503caa15e9f6d9af70689070119456205581d0271bf4c6ce230e604dafe16182b4862287d6992873d751c02a60eb9750c034701dfaba7ff8870037a0822b834c55882ef78b3ce3accc7acf2ec37586cc797a5e7cbfc72efc464d903ff4500827af8ddc06fdd434c9ee90eb7cc71466f640f72a2419db45d41ad8a7a05581d02fd70532c4aab47761ba5b0063da6fb5fc754b45d35f7d1181382c35b07011bffffffffffffffff0219404203972c05046b7e7b85b4f7521a19969b1790e959b2bac0ff51c52c88a11b094bd20219f2d10363099aef3c0e58fdffdfe67dabe957dea989cb3b70a8249a68802ffc1074bdf903efd1cc4369b6fd58e9b4bdbfe031fb6f064b2c389848cc7ebc87e36ebd7abb9a03faed185f80c2957adb58915b5c735a0066bbc9c2487601b08d550aaf7e5650810361d9e1f437613a443405e5e03d07d52a42f100efd9179b3c6106723a19285a28037d26b9440f44585ef9bda6c594c973c609b3678f4a13623f0884dafb2e06417103ea053e372a1cdaf04a69a94d275d0de87d87267d88f96daac609b7ef958e2d570303ceafc6f769cda57393047d068dfeac3cbaad7609e56490a2310b988b6e8745038051a09e2a287810a78c7f807d978473f11b19372aee9d16e937675d46f0b2c10392a3cb658a22809bc137be24ff923a9f945b3e054e89971cb2a5020e85daea4d034348982b43f15ee762d71f88e0ebebe7470e805c77fd13c80e08c0c3f6e5bd6d0219ffff0341987af9202b7af919cd186dac1f39b4cd9624c7b96bed528a0901a10fcfca2f0316fc0a40b7b81958fe808fb0d6233159338200a177a592996ccbc67629c641160219ffff0219ffff036db028ac6897f023983f5295ad4f45ca5efb39e6432df66f7e05cbd0cf152f1003b93fdb3b9fbf7614608f864e98035b0334232364714213d8d975c61684df870d03aff50849bd000aec66682e00715f382f16fc9e2e0351149dc94c3ea036d36f75036855a974ea524a81cc7b8e7be40740961551f5131f5b55b85a3d6fb9c700a5dc03305f0def26a66bd5b2abdaad6c21fa8eaa8ad9aae55e9234e0c92f79503ce5f5039fc8eb15acb4cc94cb0785c5c01885aaa4468c06e735d90690fd9e8719a359ba034cc36a26d1a312850ba63a0ddaf9fbce3e2a1dda5725cf002c27f94b4bd04b4c03db21a83e8bcbcbaf1f59632890a44fcc363fa35c22d66cb485ddc2276e2846b303c3c0b079a57b9f56935c94e554d23c9f268394ee5e6f44c11dcd9e83f7e6814603b9705e27cb5fa017c82e4d73f5626023ab0b9e2c737d5358ae024ee55851423703dbff9476463d124b0a8b6f05bd7ffc9a4a5058c29ac64921004a5eeaadc70773032038da03272975ad59f978e36f1e9af0142d6387eaaffdd019695771fe8cc5610340c2406d80f64490036ea3815650b4dc41da0725a7b7ac1d6e531f6c9e83fbe70314099887d4a5aaf24bb919cb85e8835a278f05375496edf6d84438cfa59932c9030251b1a7844bbe84bce0cedf60bd5998aaced2c9842e03efec4580742c74b8a403e6f326454766440de14d2e5a7bf8de0c86fda60e821d6baaf89d1b66233d961603bf5dd11173fc8902926a1a24a134154d67949a81dd18793c22f6de6dd73b22e603618cb752a4fb0393a6c38c0df0ccc5ed3716deca773e801fcb74a6067cdf1dc503c55d0fe2cc3ed2296b81735532a837375b890225bc4b8336247e0af78886d45c03699c1dc8b2e74c440417d92277f57e0a051463f6e2d52acd65af68741010cb1703e089b152e8f4ca07733e0b942c3048d70cd75fc037433ea8b733ff27bb3ff001037211bba7f148b84b238c6b1584d2fd6e920a036d47f7260197dd8962cab0936b03e97c6e14369b349dbb79e40094b9dc08bd5dce20014e985b02d1d533e2ed97c8031141daf1eda5e02e0d067c53a4315f6ee1029dadd5a6e9a3948ee46b6daf476a0326b38838d4190c80c03ba9dc21656cfa36c38758cdcb3c788535fea47c7e490203698b1120be65b19e050d26279d3d737ce5b9f50c0f4d13b7cda4f426dc87faa70329802ef9f21b8c4d005e4dd4e289f1119ada7baf47d8e247fc46d8ceabb2a3e0038c3099498689f0578b4a717b12be7292dc065b3925e6c8bb18e77bd4c111ceec037d5fafd3d9c48a34416c13f14f8d481f35b3fd13df3341dc11cd45b78b65b65d035be5a1cce8b8b7374e6f4eb0d20f2409424c662d1719199db9e7a714904f81af038aea090cb8d29d988087899bca4746ba745bd160df3b333b80d270f2d72a25c5035aea8a2d7c49dd3f5c4f8ce9c7d2aa588ee2a39517032465a0a76b9528cdbbff035f0ed9ecc22f87e4ddbb72247fac2462916e31714db3b9dae19ea9150bb262ce0364e93b403a07ce9f8d90ab0cad10dc1998194573748a142fe7711e306303be05037f1c960af21e440434952f1a51c3a4008469a51e9624cf6f3725572bb4fb84fe05581e0303d4e2be6801865d5a7b4791114c031392ef74f8bc0bbfea304f8fb6c0040705581e03a41a3f118ad29a7caf348745141a5af888a080b5470ec5c3d14482e270084804af681a79eba000039b57615136b50d030b8c0174ee95c511d579e62dffb684f6cf354ab47b69bcc305581e033d1e43945c1d309e3d09175f7709eb127574ff2d03fc33f3fd6ef600200c034701f05b5c561c2005581e03574aecdde2726596cbcc67f0d0f907f8ef0757c79a21f9c755402816f00c014644205707378805581d026f170f6eadc9a25126dda9dae75c3eeac8f7b2ebddb9c084968e52000c19710a49010867078cf9faded705581d02c76a56f807709e4c215931421b7c46cd9345fe59947e064a02cbdedd0c1901b0471456d27c10bfbc0219240005581e03e514c372c749309b7ecc37b1abcf2017c0657be34d08cad0e8f61b22f00c0147106f7257ea28a80367945ff4857115d3a1984858efc41775f7c705a81c6b2a7c7dd97d7b903ebcaa03f0f301d94d5b08b52928572574b92b11e68d0f858603daf4daafb599c7472d1003d7b2dabb18d62555a1cbee01db0fb0936799c9227e2050e6240f471d95cbf26005581e03aa24e2ba8b31db0c6c38c10d2fb1496edbe8072bdca769b7852b87d82007011bffffffffffffffff037afeacb75e9a45af3943fbd57521a5c94bafa47a6cf0c1263f002c4bba06fce30219e5e603bd3694a3103279e7abe2bf1a80869aaee3df19dbd909d670074c88df89f447c80331ea2e2b2ce5d6ece886d7f066c51374cf5dabb64ffb06a3f7b9ffd90315b7b703fb308b69fe9eea72c1e2ad6c6d69fd5d5461853573f345079a8b5eca1ed02f4c03f3074316204681743a52ad6990931bf4f04d4c430c83cb555a70382f3c38978d03ed4ec3864b350bd75488d7c4c221de3fecd57ef592638a7de64668e7a262cccb0315837230b060936fea7946435e1d09966bceae01d01d8532de67ff12507db3ae0360e736998c2d24e197dd95d36eae1a913094092e5edf555c8c4d3a35241128cb038673b59677bb5f3813e9d2d89c337fb7e2ebfac0a86b36c6f427b0dadc5a2e3d036cf5afa2b2e647a005b734d15235598ef9a063229700dcaf6e83f822e49407d3031d2f112f655ec74a634d1bbfbf8ddec6bf4beb65da169712234a02d523ba77af038a1704765f99d897b257b2721ee6ad1a180f00a10000b7e9fef20f78fd18ff580340a5af8448e7c694229debb2bf704e80bbb92091730abd11562bef5883c8a55f036b02158563cb90645dc9f39a9f216bfc8a728a23b1d1168c29031ee0a5b5d32a03bf989bf728e5aa92311fa133fed0a25258a579463a6e681dd4ec8cf1d113fb910219ffff0219ffff03e68bce130c5ed26f81415b253927bbf5cc93b683e6264a172f69065a4a23d82b03608de6825b842e31b97a52cf8e2275b608508af5d5dc2486f07e3e4521ca1c1903cd85217b3d082ae84eda5a479ba2a49ee38a7de6dae780d5fd9e09d516e583f7037b6447b50e9727ac4eb2d97c330f12e550245dd0c6cbe2d77e17c2232c8359a30219ffff0355805c4721d7f00e34c52463f7b2f10db8f1aaa3df55604272dee57a6cb334ee0219ffff035782bf9adc3cf8de4c5f62971106fb98787baa70e1b63b7389e6f1ca39fae0ac035f59d0fce0545ffa5841b8ab8d445969e63b0f2a94e87bb005341175e619ed2a03808520e119cf761be3e36f37622df3d3e1e9fe2b72e299bf7c2c37c36ab5ecab03d8c8e6738541f5405b073bf5891e5195085eeb626adfa195364d04c5ff7894fb0323e995a844898dc11ab52457a11a768e153266074ec271e3d69b0f642b4b36240353c37f7d2b03c3afeab02525feec8ee9e85217e0f371630ac92a96bce5861b8a039ba781f6e58686d50dd5c79895093459ee432b58f5b5b1133e8954a16650b7cc0331558f0975bbb56319f16bd0b1db65b992e57c7abf67ea1ae7a38f9ca2cea8c6030808c319ca2edaf83c022d5b44aa1b7f2335cfad2e1bc9052538754b143b2757033ee488ac38d709c47f213835a2358efdf4f70034c6c8ea1a5ee3b72ed1050b6b032d8fc667fdffc6db4bc6db7434a63dd54003d4501ddff737c44a096e96ae695a039fe6268300944f061f03e54549e855a612abb2bb5592767ea8f9bfbbdd5d5ea4037744816049ac733ff2a3e449fe033696a50a003e1b223871d0932185201c87a30399bedab051e519ab0e606f55a0c941885024333ebbb221ce38d0049809c4b0fa03e0ff842a2314d94bbab209eec1767af1215b324f74eb496ae1e0a53cb8b790a703cf67554cb110d2c5c18e16323ec7ea7ff962bbf82fe89224aaa37d2dfb09b03a03a34cb27a796d85846bba3a80694ce5aa7e3d1818ad6af5b03d5f83f545fa4fe303024134e2d6413db1144fe360586b0d06668993f4ce73af8568a8dbf755aa057e031e3fb2634bb1050bff7c0576a5343c606470660ed66a5cf9bedb92e06c1a1a3f0352461a001e1963feee0d0a1ab261f901822c9c7342c0bd27615ad964464b98ce0303b431ace22ca8f10fdecabbd7452dc61df4c568bcc5b8f4c388c264fc0a109903ce4eeed9ceb84e2b5e2cdfcc1c175024b00e6b66286bbc5be18028346b760ae80327a1d07467efe0c31a3a5807d0ad81760d8913e8fa3735db1cd7dccf462c6c900363002e72efa5647fa8c02e20274484133ffeb9cf64c8aa95cd14b70fdfa5e93103de09a7e8e96075f88403c246313a40b7062ed61936f5ec946c9e65f7169c10e3035ae1e2b879fddb57cc355ae0c07e2e21adfc5d920e1a184f20cf2e66ccf6467b03ef4053ce56741e94eb2cc27a7802c853212200f1696cecefc437dda9560f18b10308b26356f2ea97ed84426e00894418df0dea9911ef0f97c08e616232a8dd0df103501861bee079bb6d891f6102511313de24a87d2a707a087dc399a351fbdf20fb034b186608be39aee9bab8fc37c48bc91186101b13c0bd36877921bc552eed65210393c78a8a974b5bac1b7f0987c6c9590e6a30a1cca3a2639afe2509c33aad3ec5038f53cf0f5c4d9c9a93e5bd9f8a2f371febf2a6d9ef6c0eeb7cf266e8482d66c80309d1fbaa06e0b51b8cf2a467550a72348e1d1c7ee35cc2f8043530919cb1cd8903c959dedcfe5e282be678d908a0bc15e75320e5b96af2639894c706191b47d5c9032c5a800170a04c50f417c92128b5277ba5faaf952e240e90ba935682b385954f03c441a9538d1e69c8a006a937547019f2e03564ff4c4592b8e5570adbd319e31203a92cdc3a745e0bd615a7582a1468cb6e6716ce693aa02287dfb7c0c990b064280354fac9f611cac35d6565592501982e5441768984d414b032a2e2ae801c3793ed03cb6023ff0efc4d08b9631f549d7e3a8211a02f7b547516aa2cca56fdd73dea800339136c80324d75fbf32e26fb28a7dc2717d9a955569415cf32767c817bc6a1110339d51ba94181d5358ab66302b1b166064f70bab43493205239f3d1924f51c9b503c7be70457b276a18fe6f807f14ce008c3cbc5e487c21e303892d23c2a89c9aa305581d0206f6e9f8b3a3412be55892cbdec526ff64d696730b8677014b7f9133040105581d027648a51d1dcbf8535b8bbb400d200e2acc004bc682be4f6226e8ead90c190e4648020c5fd7ecb660520219021005581e03dee1ab57680514cb84d4a36b9d463690ffe334aa59b3a206f6ab8a05100402038bf9ab6099def0e4d66f4de6457d7b638c58801f675f41dcc4b74662b758a14f05581e0381c807245478f78838a7ff1c66a9a51da08c7f49f9127ba5aebf9a03600c014703e113c7a1580003b468b4a75f147712e9e90f72bebf67ae57a027046bd8351e9ad9e861c3c3ad8605581e03c8e73535e9725ccf95628f001495c51431ebba0e971899a5cbb53fa3a00c01468cf8bff0b00003f021d4f8adede0b8a867b44198d374e37f765ddd2563e2969b262242c16162d305581e038c9c2ecf96676f7e929c6010d4fa00282852f4b606b26a11c6e2a563900c06461483f6452d40032cbe660a8291c54e102a6c6665b83f17c55e36584d132595965b2322ae5d2ca205581e03659ccc03cf6bc6f311d929d71fb8df01fb52b1e4865b08ec415abca2a00c014714f178a4f3700002196c6f0219ffff035d4a9490e522ba862dfc9e1bb647a699d9730f9b3ccfb57dc10d0fbcba8ba25d03ee68f5323477bccd55002c99addaa27a4c65e2b56cea64fa17b17999a6e82cb6030c6dc2415efe0870612b7a91920b1ecdfbeb22fae0c79dcc42ecc445fdb6500a031c39cf8900a465c74c4259f31f2321feb4104b923c4b18b9aca8b525b19ffb0e03e77f25e30f24e11cecb8aaccfd414357a59ddee09326584c53598229cb7883b80219ffff0219ffff03abc25568bbccd729dbfea9350241038d5a2b9172b7358df8be4abb49d2b00eb3035eb6d6b1bdf0aef2c13778bdb95e586c750c7c2f71ec50514a0232937bb6dccf032b8078d501833e874148ba7187c659f7bac3a787b66c8afb8df58ce9f7e1c79203e991625c4c70a77468d12108cf45be470805abb648ef1db1460839429ee5178a030dd30839ea36767e5f5f7f25a5b430cd6fcb006268a2bd2b342d4d4d86a44eb403d89e77bc1e7778b24df581081d2403abdae288ebaeed768fc8ee792f114bd46b032843b587fe9344f58b3be0141be3ed4438e01d14b2bd4d9ee1b159816aaacc9203a1789c89c981b1608fa9d64db379c2bcf3083a28d11f2124ce3d92dcb1e1530c03c61a0315a5e374c99e8e6be97ae0e6eb18569bc1b9641e3f32e9c6f0f926fc2e039220507d207bc29a90d4a9e75754b392621609c55ea2e271db2b246556122c790348bc0599558e7a49e0c5f419c776c854610df08a04969e85f6533f62cc1bc44003f4b967c049ce81c7f36cbdf37e67bc505c698401cd0bcbee9fb21e1d374c9fe10319a4776e4b22a5bff4d3838e444f4eef37b5bbab844633a7ef3e6b00d59c8ddf03805cddbf90c9e07b0bd3a1a52f9028cd0fddf0018aab1992a6e16f439ad4bd9503d00870d3a46cf9d801668f18e0c40e6df3b780e8c16b638b6a027c93e95ba64503a9bd7834c20737d1cf2d34c9f458034266bc9bee25594a0c2cc0c8151ec3877803dfdc0c1bfd25fb8d0a99332a81f75cb9adfe04214f8c4f34670a9718b906afa303f88f81ef0ae707f2330b07b02f6942a9f9288232ffccfad30aca06e8b1986eb7038ef88ddb7d0984d3b581e483f95f337f71290d17bf317d26a51c1916b8d595b503d3a24e0596d0c38c23b2698bcd996705937edd354868eba0e8508ee478089a2103db121161a4e669afa7aa641979577050de42a9b23d3fa690b254767e3265a4fb03ed3db1f7de3be91829a6f9ad86f07bf51a8b0c940a0e08b5d39250406005f50a03bcd9a00e2d84d7127785d77b1c9eeaa230a51cac25dc61eb4d9b9d98732dac8f0383edc686102c6879ceb83256031a7a6b44421cc5640315527c822f0b0675828f03bad14ce8e885908d21a831d1c94e9447303461d7e294d1ac5ca8ada96b5ad838038dbc8983fd5e12cfba0d14ee6f26070ae5699272ce16f6411b8ed3868a583135038b6b7b6f967d417b62c18d75e2abe1f4e82da43cd8893421a19f4c0256cea8f703b1978e819f833d5253cf06b48d77413c8e963acd257bb2ad3ae28c810f1b98f603313951b1b18835185329b4a043d207cc29749ab06be961fcd5caaae81f635e3203883b447acb1b2632fb9615047d897cd6d601fa0feafa609ddc499417d7eedfef039ec6fd54eb7277e1fc82c6f8be3aed20598a630e03f2348449370ad8502b670e031291bdca5dbe89fb9ef9623f6d51509a00a94ba0ac0480756a286624e293952503f50bd2c224a40f649906940a24bd70aec2379d6b74519443a09a08d1dbf1176103b268eddd8633a54cb83bf782e9f592defa16894ec6a0ced33281dd7fe705747f01410c05581d0272e7f9ff178465cba526175c1307f3eaf66539d8a51f3b1c043ca66b0c014702dfebf83518c805581d03d4ee9fb8b7bfa27a613d489fcf3334d700bd4c895faa0bb529737a2008470b2d30400b9c0005581d03213abed6a32eef1b67534867719441aaeea5f13c5a4c8b7db54ffb100c03470df3806b59e01f02090219050003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0317f98d4a84ea5ccf7bf80079bf912d03314dc75c53fdfbca7201dca76007011bffffffffffffffff0330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e0338328d7fa69635f929a12260b5b03166133b4b3637373971b288467e8007011bffffffffffffffff03b12a8d24febeb65d3cb8cc12718d7e81330b922a0543dffc630db4747458c8ea03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03b83216ab5907a48ae12b381b0f3c99f39d8f2687d0238417e812a0c18007011bffffffffffffffff033a5fe7926556d8833478aad1cc8d5b23b10c26f5ef017916e2685146997d1a8403647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0316b5769266b5d2582b7d46fc950e56e51fd13823b1dab65ef5116d91cac7606905581e03870a17d3243884ccdababaf4fed4382b52c1cdfe271d1185e428003e3007011bffffffffffffffff02193e3b0322db0e20116e08445866226158efda6326c04f7128d056266cb48a5e00c8fd13038def30cd28419b218b99e3a216de509835ef76e1235c037a314cddfaa3eb4ce90336fd97103781bd633b4bc91461a95e1f3f96c49e369eab7803946543ee18430203cce41e6c5375c70ec51e678f1ca51c35b2cec1b1d6459a6fffb867391bf409bf038be71311b9b8406205470bd47b9b4ea3ac089090a7964507f22955ceb53b7cf303f3edcdd953560ded6b6185e963a05a0789e30d4a803eeba8678d4827fc3b70090219ffff0219ffff03df1a3d4818ce267a676953d6b4f27406279d35dafafa29171802f9a8532d801903ebd5161abb2f4cc100c17d39d04e58709fd523270202cfe83194aa61af6b2b2e034b97cf18426e96b8751de82833e8783c723084a011488f727f184f565260854d0315b1dab6988bb65d01f08fda722807e77924578c8e483346f8f0a6b27db9700d035387b56fe50a67dcb9dfa50ef1f2e896494c70aa1e2f32fc95410f326104a4f903f78df08cce4dac18f1f3de9b165234b2ee4f39ae464fbad67dc5f48921778c85035babdbbecd11a98c588264ef05e531abd7d85b968a8c6e77ade48b66c352490503de926cdcc32346cddc1800658068a5997c62e600acd35f88fafc96bb08f415de0326ad2662a1120260d379fbfcdb30985fff5a46aadaabf4d1b121d1603677c8e90219ffff0366aafdbec04b04227f5893d6051cfc4b0cb38b24057c7be24b30fde9655d35cb031398115487f7bdf63c4f0c63ad6e7d55ee1a30a78fade0948470cc1cbd92425903a2d5493e4255fc94342fd3092e248ba59f68934751138edff5d4b85da13c5183038bf28d217b83810ffb40ef8bcee16145b4e50714793db11d81bb698f9f50227f032e1814dc6d0caa736fecffa9f7551b1b73fc444136bb6a9cdc7c9e214145b978038b40886f68596845cdacca4edce5f6392c6052fb67c1bfb788a3cd5846fc6fd303cef5078d8d0f815f41f1208606969fb93c3507ff192318c1ca2bff6366ec58bc037af5fb664161eee71d141060ed3c817fcc0f6a8145a1430bf6b9f2d0d0b64b41037f8cb6f22d7ddfd8e03b905328a3b87e8c4a6ceecedd1453a29d50f57f61dbc203e00a4216b1c95c3b7ee94977f57293588e989f1fb7f1cb2e36006649245902e903d35fca09167c49dce763a9ae1822f067bdc6acd161c2678ec7735ac9843a75cd030db6c079804cc7c64899dec5494c591ee3dd8a11934198cc17e6177d0320bdab038bb3710954228928d573e6aeb5e2465fe72d6022db9855dfaac9957671e0cadf03bffb9dfd6c7f15386ff2c56d989c0f9cfc37af240d161679442079868e0cbe5303b5e445a8032b83e157ab24da131501bdfb8a07bf5e42eb8cc34c260fa10df81303cdebf6a3fa96c671237cc721a985b50ed1dc356574c793da56c8346793cb71c80383f856492ec3ec2fa45b46a1468a35af159de1d85afc2962c487f6a91238d40b033feda6f09aad6cf569a769af323a4f9f8e42ee2adfd912bf1ca3f9682b4c51e203f3f5a13283440525c2c0bd6978bc105e5a34a386d12302b03f9ef15cf9d88c5803f889632d6de8e47fd5bbb289b57adf145f702075489df54ed2bf6102a05c3f66035b43c428a91681d136adb275f6c8e3972ad2ab4c0f997afde27147c3f07027de03e1de3055511e290f05b8fd60c20b484b7b2915ac812dbcb8316e73b0233a19b70344c66280a4bd963f4282539e521471ea764dde7ff18ea61e368d14b995229eb903cbe12a34dec835df09c38d2d360c55dcb79b83fc1641f1a64f0935e96feecaf005581e038b3f77336e281cc2c73d1922ff4aa929b31af0ee7e9837b24d86d25fd00c0346adb12777bc1805581e03ab6077f1858499c0fad2ef2ff7d19b4ce9a411ca6cbcd22f0d2dec52b00401035f1e0bcb9758e1668ac0ba7949621a5cea087ef2c9d00abe4f4130825d17420703f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903401eba93012ea1e1e64221df3814ba55c6e9188aed7c191ed87d8f2e0dd7a8b905581e0305350c4310ce779367851cec262c66a88fda882226dc7fde384d633bf007011bffffffffffffffff05581e0377332c709f96d1bf20784d8d1e009a47cad4b374e5090613acedef0ff00c0146783c5015e41005581e03c4d2ffa721ee2317a5e456210da9810bb83ec1c19112acaf9ffd640ec00847537fa068feac000399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803d7713528c6ce7b05ca41a4d62359768677543f9b97eb48e720bfc21be488780e05581e031d9f89675bcdaf1b1318d27a2b41c9333bd3c6ce9f02000e3382a6848007011bffffffffffffffff05581e0389295f6023c87a1b805cb78e4036cb7d95ed28bd1775c6d6adb8e8c7d00c1746797a8a965c290459131a6080604052600436106101025760003560e01c80636cef16e61161009557806397e5311c1161006457806397e5311c14610634578063a22cb4651461065f578063b88d4fde14610688578063c87b56dd146106b1578063e985e9c5146106ee57610109565b80636cef16e61461058a57806370a08231146105a15780638da5cb5b146105de57806395d89b411461060957610109565b806318160ddd116100d157806318160ddd146104dd57806323b872dd1461050857806342842e0e146105315780636352211e1461054d57610109565b806301ffc9a71461040f57806306fdde031461044c578063081812fc14610477578063095ea7b3146104b457610109565b3661010957005b600061011361072b565b9050600060e0610123600061073c565b901c905063263c69d6810361023f578160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101bb576040517f363cb31200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602036103d60003e6004356024018036103d60003e602081033560051b81018036103d60003e5b8082146102345781358060601c816001168260a01b60a81c811583028284027fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a45050508160200191506101e2565b600160005260206000f35b630f4599e5810361040d57600073ffffffffffffffffffffffffffffffffffffffff168260010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610335578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166102e7600461073c565b73ffffffffffffffffffffffffffffffffffffffff1614610334576040517fc59ec47a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103bf576040517fbf656a4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b338260000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160005260206000f35b005b34801561041b57600080fd5b5061043660048036038101906104319190610e61565b610747565b6040516104439190610ea9565b60405180910390f35b34801561045857600080fd5b5061046161076c565b60405161046e9190610f54565b60405180910390f35b34801561048357600080fd5b5061049e60048036038101906104999190610fac565b610782565b6040516104ab919061101a565b60405180910390f35b3480156104c057600080fd5b506104db60048036038101906104d69190611061565b61079b565b005b3480156104e957600080fd5b506104f2610821565b6040516104ff91906110b0565b60405180910390f35b34801561051457600080fd5b5061052f600480360381019061052a91906110cb565b610838565b005b61054b600480360381019061054691906110cb565b6108c7565b005b34801561055957600080fd5b50610574600480360381019061056f9190610fac565b610901565b604051610581919061101a565b60405180910390f35b34801561059657600080fd5b5061059f61091a565b005b3480156105ad57600080fd5b506105c860048036038101906105c3919061111e565b610a59565b6040516105d591906110b0565b60405180910390f35b3480156105ea57600080fd5b506105f3610a88565b604051610600919061101a565b60405180910390f35b34801561061557600080fd5b5061061e610abb565b60405161062b9190610f54565b60405180910390f35b34801561064057600080fd5b50610649610ad1565b604051610656919061101a565b60405180910390f35b34801561066b57600080fd5b5061068660048036038101906106819190611177565b610b6a565b005b34801561069457600080fd5b506106af60048036038101906106aa919061121c565b610bef565b005b3480156106bd57600080fd5b506106d860048036038101906106d39190610fac565b610c60565b6040516106e59190610f54565b60405180910390f35b3480156106fa57600080fd5b50610715600480360381019061071091906112a4565b610c77565b6040516107229190610ea9565b60405180910390f35b6000683602298b8c10b01230905090565b600081359050919050565b60008160e01c635b5e139f81146380ac58cd82146301ffc9a783141717915050919050565b606061077d6306fdde036000610cbf565b905090565b600061079463081812fc836000610d1c565b9050919050565b60006107a5610ad1565b90508260601b60601c925060405163d10b6e0c600052836020528260405233606052602060006064601c34865af1601f3d11166107e5573d6000823e3d81fd5b8060405260006060528284600c5160601c7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600038a450505050565b600061083363e2c79281600080610d1c565b905090565b6000610842610ad1565b90508360601b60601c93508260601b60601c925060405163e5eb36c881528460208201528360408201528260608201523360808201526020816084601c840134865af1600182511416610898573d6000823e3d81fd5b8284867fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600038a45050505050565b6108d2838383610838565b6108db82610d67565b156108fc576108fb83838360405180602001604052806000815250610d72565b5b505050565b6000610913636352211e836000610d1c565b9050919050565b600080610925610ad1565b9050638da5cb5b600052602060006004601c845afa601f3d11161561094d57600c5160601c91505b600061095761072b565b905060008160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a5357838260020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35b50505050565b6000610a8163f5b100ea8373ffffffffffffffffffffffffffffffffffffffff166000610d1c565b9050919050565b6000610a9261072b565b60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060610acc6395d89b416000610cbf565b905090565b6000610adb61072b565b60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b67576040517f5b2a47ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b90565b6000610b74610ad1565b90508260601b60601c925060405163813500fc6000528360205282151560405233606052602060006064601c34865af160016000511416610bb8573d6000823e3d81fd5b83337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206040a380604052600060605250505050565b610bfa858585610838565b610c0384610d67565b15610c5957610c5885858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610d72565b5b5050505050565b6060610c7063c87b56dd83610cbf565b9050919050565b600080610cb563e985e9c58573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16610d1c565b1415905092915050565b60606000610ccb610ad1565b9050604051915083600052826020526000806024601c845afa610cf1573d6000833e3d82fd5b60206000803e6020600051833e8151602060005101602084013e815160208301016040525092915050565b600080610d27610ad1565b9050604051856000528460205283604052602060006044601c855afa601f3d1116610d55573d6000823e3d81fd5b80604052600051925050509392505050565b6000813b9050919050565b60405163150b7a028082523360208301528560601b60601c604083015283606083015260808083015282518060a08401528015610db9578060c08401826020870160045afa505b60208360a48301601c860160008a5af1610ddd573d15610ddc573d6000843e3d83fd5b5b8160e01b835114610df65763d1a57ed66000526004601cfd5b50505050505050565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610e3e81610e09565b8114610e4957600080fd5b50565b600081359050610e5b81610e35565b92915050565b600060208284031215610e7757610e76610dff565b5b6000610e8584828501610e4c565b91505092915050565b60008115159050919050565b610ea381610e8e565b82525050565b6000602082019050610ebe6000830184610e9a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610efe578082015181840152602081019050610ee3565b60008484015250505050565b6000601f19601f8301169050919050565b6000610f2682610ec4565b610f308185610ecf565b9350610f40818560208601610ee0565b610f4981610f0a565b840191505092915050565b60006020820190508181036000830152610f6e8184610f1b565b905092915050565b6000819050919050565b610f8981610f76565b8114610f9457600080fd5b50565b600081359050610fa681610f80565b92915050565b600060208284031215610fc257610fc1610dff565b5b6000610fd084828501610f97565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061100482610fd9565b9050919050565b61101481610ff9565b82525050565b600060208201905061102f600083018461100b565b92915050565b61103e81610ff9565b811461104957600080fd5b50565b60008135905061105b81611035565b92915050565b6000806040838503121561107857611077610dff565b5b60006110868582860161104c565b925050602061109785828601610f97565b9150509250929050565b6110aa81610f76565b82525050565b60006020820190506110c560008301846110a1565b92915050565b6000806000606084860312156110e4576110e3610dff565b5b60006110f28682870161104c565b93505060206111038682870161104c565b925050604061111486828701610f97565b9150509250925092565b60006020828403121561113457611133610dff565b5b60006111428482850161104c565b91505092915050565b61115481610e8e565b811461115f57600080fd5b50565b6000813590506111718161114b565b92915050565b6000806040838503121561118e5761118d610dff565b5b600061119c8582860161104c565b92505060206111ad85828601611162565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f8401126111dc576111db6111b7565b5b8235905067ffffffffffffffff8111156111f9576111f86111bc565b5b602083019150836001820283011115611215576112146111c1565b5b9250929050565b60008060008060006080868803121561123857611237610dff565b5b60006112468882890161104c565b95505060206112578882890161104c565b945050604061126888828901610f97565b935050606086013567ffffffffffffffff81111561128957611288610e04565b5b611295888289016111c6565b92509250509295509295909350565b600080604083850312156112bb576112ba610dff565b5b60006112c98582860161104c565b92505060206112da8582860161104c565b915050925092905056fea2646970667358221220f464dfebfe8d90684d93c0c054886f27f3f5e7c7db67ea178d6c4b932692220864736f6c6343000816003300582103c278e442ac51b24ae7ee84edc2d8a324e0bf4cc8ea1461332550e30788dd81405437cacb3c1cb1dffab6b813353a2861997f250f4400582103cf96b1fa95b9e8763da2d97864b15cabc1508d5f90ae315443c00a489593b6f0543fc97c421de5d23e59b42d048857b149e2f1c08d0219022005581e0309dd83231f23b9da162048b87d4100864bfe64b795dc84cad579f1a200070119131a0219accd039e7986a9a5696352f95958c6ca9a23dceed48a358b35224a904e5299d53c087f038fa57cc6c827b6b477c2011b9d6dadf350c120b68c761acfca34808c69653cf30399ae4c6d5bc13a979dbab751b6e9b5d93848380df0989ea6b23b096ce48f458a03cd26e4f66f56c2d28026345b0afd69a4227605e073187266733f194635be365a03c600d7592f85ef571e7fbb727d2b5bdd2384550328e1a8cb953161357369d93a033e88671d464682674b8e6c2a3a30d93970b69b7ab402fa09fe79c84927bc6d95038a497fb0d78c2f0d50e948c4a64353ed5f2c884b2a6498b3e1ed7ea4bbe6879903423ccc9969a1bbd98b00ff99258db2cf54fd7552c5abf193acc6d9bec430b506036d2809cd3131d5c11c8310f740a9aadf95ad82f0515198f5ba8d13365e72afe10357e2786b4ca1f2da9ddcae950c90491725411504992a885f5f3cf1f733b6698203f8a5f8d1f6caaf2e2b240285fc793f4e82c0124465c0ba16702a68914db41fd803ccc01bdd89a104e97defbef00c66ac6ef14a362dab909d2c39f2297489802265036b2040befcd4d80fada571b34babdc77f9b0dac8208f45e321d209617b17bbbd0219ffff03abeef16d5a98d4fb19b96cbb92d9f63b699caa9df14e5c9968b1aa3f57c044ec0318e4196e77387e0464fc90b53d2148197751f7a30b59ed2e8d816c3e633d2de10372a6c7eb83e263c0c1d8525de26b4741c18db14cd41eb889ad00b325a94c42cb035ab3011861c44db6677b424ea8778c6943cbbddd32d8fcfdb5ae50d8f43732d9032905169a948c8b73ab5070e69578f0c9fba35c5b23e93d55e597fefd76c25e3003bffd4da3f2d88da7e2043a99bed1466ee0b24f46ce62599cd34a2527f51fcb4e032b4fdc70094daa9d723a958924d176b7352d658b6dec7abc33a28688a055aca803ec5f0eb3692c6dff8da3eb4a78609081c048f75dce8a78a337707bc43db4f44e0378b4688ac3d2042c2dfe1062e9a822ca2ef8baafbe44c98335534cb430d72050035ce62af9548b34468dc4660ecca7f762c92801b9a624b0fe5054c7f7d4354c9f0219ffff035a899a08505606434faa69e01e05a3860364003220e979233d94dafd7f29a2ea03f6a06ab377a252c464290a5273b6ac32d06949724fd9acea823224a703265c2803b7af24cc131e93727014afd6bebe2ca11e24c86c19a58aa06e121ead694d96fc03cf420c972a6af20f59228897c80f7404cd58b9d1e86dd50cd6f543ee183bb05f03716f8249457d96c4ae42e165a1a8091b8dba78228d90bd85d72b77db8468c1030376b343299717f1ae9c099080bbd02df5163f60f42e474510cd2fb7bebbf506f30219ffff03d8364b8b03e272bc9881529902825c481eaf39960b53a562ff8457c59133810a03a3b4f23f25539ee66612d2f53ef8a78d4935f5a4347e1522f6f6838f69415bca0219ffff03ae6174911df1a4727af18f0c24cf96f4b5627bd0c6f4d67b7130625f3ef152630219ffff03ddbe388d6321106d1cd4ff70f9e84b4de8927107f1f5be9d08b4226c530648a90351f3e9a260550f98726aaccc2b881afd40ae63400599a2eedc1f4195340756e903ff159d6fc3cc3449dce9cd69fecf69829ecc930f88cd3d91bed9c4b2b03fe542034eb0ddc337c31ad2ed74de50b62828006d6bd8155d3076297453a4f861e1dfa60325916464b55e8429d01595bd0314d33d864ccc388a7ba19728e296494ba639e3034083a5bf08819dfd16fd1e145b9299415d3d48128a1e997bfc9842387599b2e00324897ab418e5bf7c75d3d046ab3b61362ea7e5f5e1fae0833c4b467ac678b1b303e995e6b302d34d7cc8f4aaefd3b9aa8c958799b12cf85cef28e485a775fc626c039e1f642c8999f91ffd1e755b54bb94af304a80428c3bd51ea415ccc18a60054c03f3cb55c23c40b9c7e9d1641403cf480a257f3526eae045c96eb7ded86f0bbbff0327a783c0be637058374471d7e4732233e370170c81c37b998e140b377f861f5b03fb8deef41a95a5f4fcc8e5f051718e2105b7c5f9fc7e52e02593870b150c54c0037c5d258b96279809381249d70ca17b9fc51300a4290053a4df63a4baff085fd003374e89e3ff514c0dd624e8c22870f247cca6fa6d3560d632e6d03462502a2f3c0377d16894e8a3012aed072cf932dcd086accc4324da846b3f3eff1268dd58ce3c032cfbd7a0e6b5d6b31cf7e0ed56130f0fca9b35f723cd89002cd9b014671cf15603e06c0d51305dcd90e3e9df7129c9346b91dd283c854323e7be4647469459587d03fd3fcb5ef6caaa554b08e6439105bebb752769968364a9da5658bc7dd8772c9403bc1dd66d7c0b7b853f1a059d0d93a5827e2d5e51e5d2b046b708f728cb87c41303be7cc6e1c3ced3a9f0644f4a39c0c62dbe86c273ad4cf8588a9a85544c7a057903ef6c8cb4ebae7df5b436e0fef302470a5eda277648c78cb48f2b5b5e89553b72034b97dde950dd3f19d9bb02f33efbaa782a097883b7c7a38636b34100b4b45ac20339fbad1cc0063008150e6798b88bc3df4f3f3a9da39f3adbd2ed9981624bc1ba03d965544a4e9b4bddbb2b1703a8f37868a35b1e3fb88a49038159dd4836df16cd03b343d7c2056b240011e001818df0a5bf4b644e1987a9079853fbd1b191bcea1e03b01c21ba187f1f90278afe01fbd94bd49d12b189e6c9520a4cf89e9b28c1d00303a25919f086716bba1d7f9efae18770208c19b93f4a959a8505825f50a9f8f1e503c3132cdfa0d22e09021409ff00d3e4fb412c7f06ebc43b558191bb13d819ef1903ff4e30f1be07da20b656a0c193d196ca7581fabfa7ff5f736672f5ce1f1a69260388dc09ebc9abbf13ba211925c1435ab04cb8320090264957128e7be9d3f1d40005581e0393fb2d67cb964eea2a51b560f75df98c1b27d4b442ed6bacb181ce03200c064722c277ccbd0a000313a3439d21726fac58991727a50099eb5e0909aec3908b47136b29ea2cbf64e70605581e0347f2ca7c6651c8254275a8bb995bd9072bdb5a5ed3f24122b444ecda6007011bffffffffffffffff05581d02a23137446342709fdf2c5dc578112e34fc0f9ab2dec5f42614f2188a040105581d025e77b63a1bf448c816186bedca199a5036922cabd64e6bd42069e4420c1886474920f1aad7feb802188403e249d9c58d73d980e6965fe9f01c824bdfad4a1563213626362aa3ae3bf8410105581e03eb8b66e08c7ed4295f7693ae4a4d19b232094b513cee53e2108c8d91d00c0147010841dff5440003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e039375e77b85922f3f88bdaa4eef7d0cd91eae1c2bf6145fb288c4094b1007011bffffffffffffffff0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803b86017149e7736b4bc70db409c8de9579b95d248b7c03bcc2f4909dbadf0bed705581e03fcb62e04d53256017ba291339a2420e4b6c6c67870598eed3097bc4cc007011bffffffffffffffff03c359b93dece116ca5d0e3324e0444119cd6e7aa594d0329e942b2052f773eb9605581e03e4a6531da50fe2640ee3b6cebcbc515d073bdf94fd07cdf68bb05c20f00c0147470de3e81ac3b005581e036e93e4b31860280370566148902a5d7717d0f7684410feb5a24896a9b00c0f4717fe408bc2c5da0219b73903b03634804481e0069d4ebdd91ea826aec2264200bbd2dd271ecd0aa627d50fc803c19a633f259f13ca0cea081bef83c84849f02f0999fdd17efa2862dfb2153ee903c82f14a438dd9ff9c2fd9004c9f4f478a4071487d3f607d7b98bba9a7f28b3b60305f2397f6fdcf8117c8f881fea12e6683ccf41aef75f0d43fe057b407b87a010035c03424f1cd6da4da0c665ffd3b6835c608decb1d3a33b8a1aa7bc0f70837d160310072f83eeb659faf95f03b334235e5603cdbfc8890fa1f43fc3bcd3ed0def4a03c7c3316099ba6c92ce4da7be0ae2ef38184aab7e76767ab2a2e019ea65b1c8f70219ffff03e4bfaad48b2b8ad7f218efd566bdcc43c9824476fd887775fa83436444ecb64d030b91ed4c1b295e16934e2f724f7d95d158cbc42af9ef573c665c805a8489a8fd034adfbeee11665e1612de489d155a4c6595567a03d0d389c08efd3da167152fa503ec523ce0a61a4524eab8afdd3a1eb49b615735b20dc625a790e1dd3f9ebf5e7b03570b43342e89532585430063cdcdecfa382633afb4e13befb29297155f3397db0395fce5cd14d800d780c0658fc8e95a07b6c96e05c512df1417bb25585fa0316c0321316c01deb10d56d1e238529c2b8d82c21554870ba4395b43e7df9139aa5f5003ab6c6ee3254a5704c2d2472df9fa111633b79dabfaca4a2fe26dc9b13071fdba0219ffff0219ffff0331446c308ca1bbb93f87d25785c2fff5ec61a3f6a0c8c90db1e58ecdd14be29803a939ac54696fc6ac5a7e3e41044738aed1e8ab3f1fadba803a5d2276ea1fbe8303ed78f4f58b6d8e388b74e2a27deee1c5c18edac8deea72650b200eb3a1ad98bd03533964f66fc00b7c064657211a90fd76de5516f9324524e078c80cea1a36c6ed033aab7efef5deadf6b616cbad7b6322764d16fb5bd3a53b59707ad6e7ba42ee6803babe6b515cf2a449471a5015e761c78fbfc4b467e36aeac9e95687b130ee5f51036b9db22a9a878c2087fc8f038e0b56a66a78f83929717819640adb2a1e113fc10301356b8e73f6f10864216426aa7800399503eb342fcb04fc817f70692705f25403403396f7dd7f3cc25238dd9246416210db3016e0383d6ab8475438d96cfd0eb90319c17a4e9e05db09b907f7ff02ce4186871241f8e92943904c19f1c39c62136303e8d64f0bc3e1d783517e3cc01e7260d59fd565bae7c066abb7693bd4bd1f0f99031f554f877bab73dcbbabd6605afd942231a15f40c36eb9156338ac39213ac62703b71805b906ae90a65bf32bbd08de0d4212951ed9142f928639e1d1468004a49b03d7334a18e6c9bfeb84af056f646dbf040d6e0eb648b47f8a51268527e0ea846a0393882595fe8c622a0ab8d5ec0129f0176e8453148cec756dd42e31a592d23cbf0301021502fb05064f1d418784aca3fbea634ca76ef9690350608912185f1b649d03a679837ff39c724db3a4c1d14fb9af793ddaa14add7d8e90172fb72a840209ba034091e5b4268cf62dbbde6dad1ed47fbf452a5625b79773a0a21111c76b6d2322039a69800b49b6ee0065b60bf68ae65923677d4f9e5b92ad3184b6a2876bf35a5d0308d50d55b5bb0c9ab5905cf6a0823cbd997072dffcf53143ff10b65db982b5b603989d74594259fdb11fddde4c7f2baabcd02a90ab244e99e9e3bc8063b4bf9b3203e20c9b1642302f8438f5ac365a1516bf1990833c10a4fdadd6d43acb38a5a36003d4fb886c29639d0b9d3d90542c13d2f76ea9abef7ba4577bdfca5fa506e01d3e038c278cc09e8c3c6d01c3e76f1a6d9658e8776fafc4e3b8364656cb098c450f75035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503ded53dd5ae87abde1da8fafb62e0a7ab615663fbd25e739958ac6dbd5c0bf08005581e03a0c5aec6dd6bfa6b8b46be405509c3d7839b6036e1d1a507d482614d3007011bffffffffffffffff05581e03353ceb287973fa467886fe0ea50303ef11f4d5372574c517ab11be27e00c18a5474b77554f9931fc031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0385a468bc6d5d8152053ec25cced49145c3ec35886f150274e0c7dca6c007011bffffffffffffffff05581e03cdbec2228c708badb0892b674615a1294ef032ff090c343590210f78800c16478b4d3356d8e54403905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03cc98e9eae8d37f6ea8e0bb6103b643b2b1c5989c1b5ac4c4bcb728382007011bffffffffffffffff033e61511ef21580834ffd10c898f965337de8a80a5794e73e034b0c5a9ce7d3cf05581e03ca3b2cfbec068e5a8c19f9b41fc9508d36435564e425079748412b5d300c0246497a9f548838030576cf81c8d4c1ae907f3f3d439368bc9fb0bcb32820548f254d3cdfd149e01702199cce03161ad9e4b1b23a939123211fbe08c9bfedf6f4bac778450a0b1afd867001c5c9031f4a878d494ee2811a38d13e3d61bfc7e867917c00bbfbed7ace428868fc1bb30219ffff032150d75a8f185c71131056edd5b3b579bea3de501107ff70294f18d1c848d4d60310bab6d752d55acb0bb6733f72d4ac8f893736e2a497b9c941bd02307276eefd03180f8baa9bdd4bd884a1c8354290f38e92e91a9bf80e0bf7d8b4515597f05964032747230871e3f47bba68591bdb78f77fb3209b3cf3f8b1618d89089fc608c43803742cf30b2ae1cefb8b4060cd3b486793939618d37f7b3515de0c15a249938cd50358a6cc01ad5ea2d8a5443cc94d83f3173721be6c95db258abdae9e86b8d958130323a3c643dc6013b2d139c362e24f78f35cf8228c9f86a86d57d773c2988a1003037a1ec77626027754976f2f0a5fbae48f16435cd6f420c2fa99c5cbc03ed5b8fd034f82b5e53a96a2bf4a713ffd696b8cdcc2f199875aa386039008cc6281d8d6a003698612208f19cfb7ad6c944431b8b2307ec41e4a465e5578547d54cc314ccbef038aa0d2fb1f70346508fb5850c4f0e2ab8758b0ef31e324ecd7e8b3827eeb64ef03b1e2e2fa59c71b6f7489ff715ed68e21fb7881c3f548577f6b528c9c08fbfe09038d1d55c9ded08058858ce61c874d1616ad811701421679780a13c4da903bd4e70395bf3b3ecb2158732bb16ed1751983b3dd6674089139d2e54fe2d31eae54e2320219ffff039796021d0ccb731e7776caeebb92aa407621dc6eb11c362ef0a11b06bcb2f6f5033b75bdf083a3de27c5cf108866c969ebbb2f776bbcfcff50e2e7ea81ec0ab78703ab9e171d633b958d94621e86c2cc4a0456e0fd7b4197c78ef3f3588edb6cd6ba03d514cff84be7b7dbb00f5b49aeb642a6686f54c4e4c3d7ee9664302b2e8fb05c0325af78317f7e683ee23f12ba3f95a60be40b17d04abf34c983cc63b8de5b857b03d8023c06b485ff4f7f3d88aaefa9ad36cb2222e522a1689c84e19a27120c46aa03476457c6cd75f6028b46d107f452968682fda997d587c509c7b5c306c394063603f9475654e0a16be06ce2c0e245d00d8df359f15a21cebeacff7edde6b8ad665903ebedd986f08deb1c409b175dae113f1bee4fcef318de0dd608804057990a6c6e03128ee824d195a6036db4a98d6b686761f577e1e1b81964c4ec5bb321a00f55f0033bab3e381323fa137dfa05a91ef4c81d096584d841c5a7fcd4c713e160bd5ecb03aac5ce74085a260cf744490438c3d68335556f76732b623079f632ef970b14e003f849d2a24d39dabf08fd8418caf31ba6f332aa445dd1eba1372f657fa889c5d403dd5d2a102a20f6cf0183ae33e30fda1a2237f3a3995d4abbeca16cf4d9bc02100219ffff031abbc0912f7921326d5a7ffbe7467f563c2a779b232c5c14074b394fe75fb2ba0390385dd21c51fb54bcc04f3034348991eb14599d9e6dbef72adf3f3a0cc25b6503e34dc65c5890e69bbb32a9ef90c57d2ef46a142712ab577f53e3fc06b328f7ed03435b48ba7121298710b1fcbe9b1576e75a5d009e6e33d46ff26aa55bd7fc1188032a86478c9de9446820d8de46fd2a4809e3bc75a67a02b4b6fe1dda30b8d394c50326e8d3a5f003f20f9477cef320f4f554866a95a2e179743bea271ac491c101440219ffff038406f10e914625291da21a9b4743486733fef243b0b28f5e9fe9045c3e86450d03720a6b03047ff454305d629f002a3fa8f0b7cde80e5102e624a2b86a5fd46516031af26614caf94bb094a88bffce97425ff1526d20302485d5e8d48302462371fb0326774cfa1900482475cbf62ee2f140916bb649daed9a7213226f4ac1d2e1146e03114478c6ed1ad1792af25f304a2b76720ea7dd90b76db7321c49c749d7b6fc4f03b419a8c7c9bec84084da356cda7926836af36a1218d79fb23afae0c36be8784003e3100a492c9c8336d5ef5e3e2380fb584b21aa3af44fe476fb88caa7fab33b4b0369000c574cc6be84156c19eb841956a6f1c76c1a7d1a71fcc435a67db609afae0330f3b4b7603416bec688ff60535a6f0054b603dd434a6e2e630fd3d2edeee74103363faf9c2c5ee254f6b4a05251d9c983f5f226e6c58bbef84a7ae7b60649da17033aa7754b32ef36fec45dfb6b2b6ce392eb4335cd78fb7fa9e156059714b3febc03c995795076ba456c11fe1ebb26295409ab52aae0f89ba53ee5c717f211d64e2203be41a11451c486d49b28e82627ae38ddedc9da139ceec4fc8532edf6752d972303ff240b44a18867e4a8c001530a514d1291616449507ba2d93b8e64b489913434039d20b34e30058dd4b893681b24d434ee0f75ff14d479076257feb7abc3c8122103490c73318b333b7f9682a489d85920380fa1d5316231285ea9ec1734acc687280350b7b33c2ebe651b686ee140d564861ce9854034e91d1d9a1b7b4a4ebbe6d479033cb77e25fce00328f95fcda35285da61659ebe93b7824c2e54d257bf77c7397703bfa84a9dd3c479de0b5881d4a8b36e4f7e690f80535fa245619155aa216ece030392926d5f6b085ba45519bd0d916ede3b8f6951d06a33c59f3e8306871c3a3c9a03f662f06a5d9813b96df28dc18803319d52e24008e7976c3c4aad1442defbb70403b088a854863c8eee88e2516a70c8f8b89783dbeb3810283b95d160b440d94c8a0372b4bc5cb4a55bda6f0b1c544017a93dfc411b48ef37ff449429b0738052167d03f3f769c56b070096b5e9dca2af86f865ed125d8ec7a5fd5dbaa44a308848556603acf6c22c77b9ea1761e11f4e3d0412e626fc10f2b7213d4eaa5cdfd6218348f303523135104974474f2f79ef282a8b38c5569489a2578a1ca0628848748a850818037ebdfdca8e443232052223edc1e6a3ca3b1145d9fab4e434965153871f498757037cba1e3f81b42c9eadb138fb8b21fc321105aaf7197949fd245349c9ae394b7a0331e4220f8e5c69cf17ba257b131fc5ff11c30057d806f0d48b513be346dc59cb03453c8cc002f584fcc19957766e49f0f8444ab88fd676baf674cdd21886c41fe80311ce75f5c5114da6ea054cd921a23f56913efd38f036133046b3fb47b70a526d03280c01cbc20241dce132f260371016cfc955c9e008142b28373ffdfd5dcd696b0380f43f014ad50906ad6415155de0690f109371cd6f7ac1944af73e94ab3ea05e039a5c50ba543457ac291538d0c8fee56611c2b97af1c4a1811e7f85dcf6796d54035a7295e61f64d750c9360ee42bed3e020a60e227eed104af46c7bace444a185203d764f33e63c61a41a5deb11a6f2c5dc2b2a9c648e143ff5384fcfcf70d029abe03e5f19d8d9c907bbf6ff0007d919d412fdbd3e076d342aa216378b6575852555b0340fefe79f35f47fc2bb005b5ad0eef71065b4282c4366dbb9082a0f11d3ea536034309cf1fe1473e421f7d2fd96aec7e03b91a4aaacd499f93ac2fc7671085876a03969491d9de1050d426cbdf4c8fe87bc9d2f5627d04d53d84041bb9a837abb16501410305581e03567e3b7a112de3a15a34d414af2fd2820155ba7cff03ee2199b5a8a9900c01470268b4c2ad3bb003ac2256c2b4336ce6fe185d0d40ef84a4ccb89ca509aef271e6f02508bb8b8f0d045906f8608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063313ce56711610063578063313ce567146100fa57806370a082311461010957806395d89b4114610131578063a9059cbb14610139578063dd62ed3e1461014c575f80fd5b806306fdde0314610094578063095ea7b3146100b257806318160ddd146100d557806323b872dd146100e7575b5f80fd5b61009c610184565b6040516100a99190610553565b60405180910390f35b6100c56100c03660046105b9565b610214565b60405190151581526020016100a9565b6002545b6040519081526020016100a9565b6100c56100f53660046105e1565b61022d565b604051601281526020016100a9565b6100d961011736600461061a565b6001600160a01b03165f9081526020819052604090205490565b61009c610250565b6100c56101473660046105b9565b61025f565b6100d961015a36600461063a565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101939061066b565b80601f01602080910402602001604051908101604052809291908181526020018280546101bf9061066b565b801561020a5780601f106101e15761010080835404028352916020019161020a565b820191905f5260205f20905b8154815290600101906020018083116101ed57829003601f168201915b5050505050905090565b5f3361022181858561026c565b60019150505b92915050565b5f3361023a85828561027e565b6102458585856102fe565b506001949350505050565b6060600480546101939061066b565b5f336102218185856102fe565b610279838383600161035b565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f1981146102f857818110156102ea57604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6102f884848484035f61035b565b50505050565b6001600160a01b03831661032757604051634b637e8f60e11b81525f60048201526024016102e1565b6001600160a01b0382166103505760405163ec442f0560e01b81525f60048201526024016102e1565b61027983838361042d565b6001600160a01b0384166103845760405163e602df0560e01b81525f60048201526024016102e1565b6001600160a01b0383166103ad57604051634a1406b160e11b81525f60048201526024016102e1565b6001600160a01b038085165f90815260016020908152604080832093871683529290522082905580156102f857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161041f91815260200190565b60405180910390a350505050565b6001600160a01b038316610457578060025f82825461044c91906106a3565b909155506104c79050565b6001600160a01b0383165f90815260208190526040902054818110156104a95760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016102e1565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166104e357600280548290039055610501565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161054691815260200190565b60405180910390a3505050565b5f6020808352835180828501525f5b8181101561057e57858101830151858201604001528201610562565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146105b4575f80fd5b919050565b5f80604083850312156105ca575f80fd5b6105d38361059e565b946020939093013593505050565b5f805f606084860312156105f3575f80fd5b6105fc8461059e565b925061060a6020850161059e565b9150604084013590509250925092565b5f6020828403121561062a575f80fd5b6106338261059e565b9392505050565b5f806040838503121561064b575f80fd5b6106548361059e565b91506106626020840161059e565b90509250929050565b600181811c9082168061067f57607f821691505b60208210810361069d57634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561022757634e487b7160e01b5f52601160045260245ffdfea26469706673582212203d49c5df5a3c00805f65279191d9702636588c39f75686311c790c5d66ff2eff64736f6c63430008140033034455476b7e3515fe1fc987023c9a8eb2ce397ca26fec37eaeed3442b3f715cd40328bca6434347c999fb2160d11d64dfed0d58f4c7eed09614bc04329f342e74da03c9794fea7d2bc8df13cd4f8a11ec5dc08849318f3a10182d51f9aee0b6eb1bf6032eed9d52e40930acba08fb8cb59699c515fe6c1758167638d114f10dd2eccdd603004d791ccfc62c08c751f456e277fd8b940df8fc0044537703af10dbf6c4c4010309ce4f7d96beeea68a57a7b261aadb44b82171bed05630364544d2fcd3bdd89503f34f77b00984aac58a619c05dd13c48d19c5a85f6e1abd69d81620e199f51ee5038037a3b8293529c50e985add394f09179c64560738d7d0140065149ac240fe3c0300e80e75ee7c7a472db3c642ccd5a91581d779712a8252d0e95b9e460acf450c038010aac70e32c6c5d6d0056eae88e6b30cfad3e51dc9b1b46d368fafe11370a5005820036df05f09330e87461d0196cee19bafec30756a81aeb8b060766397fe17a660492c32a7556dce173c300058200397fcf5a08f78727245f0c17ab3dd868471a2a8b085e3f691310616c48e0dd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820034c0b7a116cc3734ffdf5b25c7d307bbe615bdf0e85352833f3e3e17aba0c404a019cb955eec2a4132d4203486e19efee2b8b59548d4b5533ef4ebb76d7780cdccf4fc885d51a0a075b20df0058200318c04b7ddb241b3ff24cc5848ea62b667463e11c6cd74ea424eb25f03e06504a081a6b5cea70ea11e880039e4b55d76196fd1a222e08ca2837a1fafc7f723e4557c8a746534f147c3d037403c9bcdf39f9c19f0925d53410e53ac1ccc45dbe83ad1a1f86cc8250524324838301410b036ff864484278df5aae4665a026af57bf2e6c22739ffecded4627b03cf62e62c700582003933594e4d8c0fcacd4478238c9d5b88842f3624f75597fd2c73d4817ebb4505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a5f4037e92a8de24cae0ccf2a6b2da48c548180c1c7f6d24527c4e46ec8e872cb474ae0307c4f9c5c827f0bb7565392143096570a1d6825e10cf04df32613eff06b8f50b03186c27b4973257d27071f1b2d2a1a9931e709f3e8e53635e433dcd8157a236f003eb160c17553eef12f4818a652188f40d4a05f9f85c8ba4475a6812c12bf97a5103a10c148ed41bfc6502d2b8485105137d2d57d1ef5bd9232e69b6d4f0ca0d3be40219ffff031c54711b7e40b20606a2ac503f4bbdee2ae6bb06b9ca7b58333c8d8063194656036fae5b5af9d55a9bd81b0cef09822f2b7a6b17cc1faa7012562af750982b999f03172a84f38e315bb3de77db7c8aa265ebca489242dbe99fa89d03e1ccbd6b3dcd00582003215dc5c76eda14382746ade3aaae4fce2d06267ab54e8ba555015e29decbd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030529375cf1bb5ed4e37843dc0c36eb8cb0ea97ce6a8a0cc84b7d08d63fe0f04a03a40cf9b3670b1abde0034f448cce2340bf996f399c245b76ed40dd6cef63b82658603f57a764366e87df00582003b8d48d3d1706773fb0fb683fa023270d9eeb50baefa5795a29d5a1225ae43049352869ce7def4e87b203f5bcb02b094ca55a2f653374811d2c769bd0d65f139039dd98e793990eda8b290336cc326fdb62d59dd1192557a768c4def22dd1e6449847b336354acc5eda5a2000581f02e2731ed92cf10862a0ceac540827ed8ac6a89f12745db0bc69d9c061e1c14a05fb8a1875beebf379f500581f03dbbcd56dbcf43d81c958faead4f461af2b7119da15c2897c9f6c72ec81405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f032abf49bf2178728dc90cf4b24e1df655d299dcb079a6b690e356b0f11ba04b0116814503060ce58875930219201000581f02ff592eb93020afff1baa0f52f2beeed9c34440d2c3ae84e8282feddab42349f989502ef30704874002184c03e5080e9ef98c24c9e41c43fa5c1083c647da430b4b30d4e48aa944a8549ed50803529cc2d4c1a23137b4f2bb6e3f360fa3870f34df9d739472058e39a33a650e710347f22e43dc1e7fc4dac03efd37e16c6c2fe2ac86370e4f805086120cb772da010304056bcafddc6ace53bfd3f4462d5e9c27a9530aa8c107c4a152e10307e9d5cb0219b7fe03b53b33044777ed14bd11ce22523c1fc43dec518a5e6f6785d2d67035c234da6c0327bf22e9c85b241ce08ab825580d30291477e4e2de49ff8f5aaeb77876acc9f003ab935ac912c3a558a21525c9ef7c627d7a5dfd693b297338888180e2ab03953a03e375224c796fae012070232c9e369820de81ec129889ce9702c586dcdf73b64a03f840201e35b2d7cf2a81a40ad765e7b5b8afab113c1f4e95477abafc3bc796ad03cac4fb6d0d310f8a5282056e83394c89d7ad97fcaa308f398dadaa1e0af2502a03230cc462efc39a899613ec6c3941acb48c2cac0d8b2396e4dd806f0d3838505803020617f9486ac2ff3bcc6ea5c64628a7ce563767bf581bc70a0d7f4e40ba3deb0365450890661ba4049d2991625b32ea5899b21ff4c2fcb98a785f85f60a595f66034f002c49e8356e4958b32b563a70ef9f8d793601e7974f7cc80c9661411843460335b5a866a9714f0116398e51477064053a5bb8af5e0ef544eb3319b7344f0a76038a6e70bf7c1e5e93c9a01a84b5d18473e073ca4ff8521ec89f22dc82ba1fceef038a3294674e428ebd03bb978c8ffb81a9f3721cf377c80229dd5834d0f6f2b5ee03d047bf8c0f41fa52d21aa1b5f731b62afbf2310315b0db62b01b1f939786a7eb0219ffff03b91c95c27c5775d93dc248036af249a1e597236a348e6a7ee97829c8c933006603b34ceb4f6d8b0f9336993df072c9dfc13128326c0c31f0d9026614aa9891ad390342e5ddcbe1af98a5f8ab5db56d23264d767c49e2de3449a422ba2fa28c1a9d4903811a724e9e489e8b71a120e2182799e2f5e718b4be08b555eb9d9daf0cabcd780368872118fc29c539e088577f72211ab01fdff82ce527d186cd1f95ce1f9d36950328a11f94b130eea83a7b6742f627926b271d1c6c62cd0391893aca62eab98e3b03bec418ababa26fa7ff80c502731ed572ccfec13f03c4df008299f979a03267e503c990372ec5ffbab8fc905ebdaf7933e93d5b920c8f1ac2d7695ced26fe35813003352ef0e7b35e3dc18be65e48352575f07a25ebc19c842c4eadc25bbda21a87ec030b426bc73dc7eaa2d9ac535172bd2fb51be0c425594b998ee890ddf49520a68d03fdb96240c9ee711a6d770753ca60ed8042e5d5ba4c7c309f25324e6956789879014101005820034e5e28ce7b62c51b9cd3149e16244b5d2bc76e1d9ff61fae0f13aa65e760205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200357347b463b885fbcc2f5a7c4530ec616c8c2e30393ff472a8661c041373b605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e188992cd7eba30193d2fb93b84b01383d8f4f97c8cfc7d58aaa7c482617e04a063d04587213d22894000058200362dd88bee71d7a2ff0b1bcd6be1cc7e1a28d6875c9fe4111fadb5ec61c966049543ecbe753283c9d90033e16fa84ad635d8b30df85ffdf289e6d1132b3b9ba52f55417b9f170bf3c1599005820036514aa522b84547b6783938bdeac056801f90dced8e799612a7bf6d4bbda204a0622d89f03b59b27b42000582003aa1d4d9e004d1599d9785972836fd935005d99102c79051055ca6c75020f904a09e2dc21a631156c5d1100582003b6290baf9645405780e6bdae2a3cbc887c22b153244e1ab8879bfc765f8c20490432f85c80e2a2438d03d9569e742dff16cc3b33392375014e45074404f65dfed2b62242815a115711be00582003250308ebd5450defe478e7b1650ae62ac5ddcf4bac3c2e4ea53f68efa254205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219cfe603c0036e8362220fbe392fc75c4e1ce3b183272af60db072d4eeaa9dc1c4df85c20350f3d038beda3d330c726680100632a71f803cab9e887c205fb64bd30549540803e77ca702a4f19160c5331e4479201da6b6a149b79b507304b2d3b11c55adc83b032ab73080c681bf888dc3a21999a7778ea899614b457790932b5fb7859d0a472703bc9d3e3ed404bbd7a835a8a2fd9e5c4c7fad869dffb55718d04052d584ae54540300a12774f75f449491e30b8cb35b8d1526f4d55839343ec48333fdca7e18e1c4035a19d2bc7056db9ae26671ada2f1da5c9caf11eca350a1ea5495a7c2701804240341223d6ab5103911a9575fd80277bd615a5e040e06afe5c240623956258fe3d003deecd3eb526088f517e620f28a8add26d61238ede50c08dbe40fe34a4bda9dae030ec112b0d436f3ee3c6c1e63450113e7aeac1911f97f61d355d89bd83fc8efc00391582c248647bcb23a094cb1fc3db2cc30119b1e64753c2fd349368dd41d6ee20058200356032ef317fea6b1f8a7c40547f24c2ddfb9e72a8900de21dfc9604c58ed3047167e930908d3200058200362a80aadcd55718f13208221abd3f206c3f19b343868fd99025d7cd63210b0480a55e6ddc1aebba0033a755e0adc4eb88ade0da7632fb3992d0546483028b341148c7bfb9737fea16203302f6c259a4fa4533f6f192781896d4c1ed8a9d9381d815e60ed60d8a3b218e300581f02b571f38ef5b8edeaa6d35cae0c358108331ee407c6f5f428a5c333a7a7e049e267b982111f4b973100581f0296b53b25331d795264197e1c507a7ed0175ce99256a47352ae995dbbe9474a03654d57b3681cf99e5e021904080058200310fc087f5abc79df686703ec28f07657fda0155bc9dc2acc00c858af0d26705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b0ef8187b2f879aedd3460f6c48e28e094736eb8a2370ade935620b9ee51a78302195d59030923b7d4b302d7fb26d72921180534127f6a27070add74c5d7adc034ed8b657e0370e34bd8d1e8653fcbabbe9a4f32765d18260fc2eeb6245f43f26a9858d49684033316d937e74217d6296e92d2901a12812a82bc14a1215e44eaf962ca1a76f3dd0219ffff0359cdeef7439bc1525b7e7d6ea5961688cac95ccab6806c38adfe89dc46d9ed5303eda47a68125c348488cd523559cb588a6c9dee5d47afca15adbdd2102d508f5a0381fd7a44646bc1d3f44c5cae77f2f317367354a0a89aca7658c755db85af18bc0321ad97876effd29c2fc4aee7e8d2e5f1be682df7a28cbb63aec8f8cfa0ca995803303d06897dd3609ddac4b910bce233d9aa4f17693a6e5edea009b1815179042e0219ffff05581d022d26f7e33657b915e9d9fb2ca2aa83f9adc7464dc1fcf0c075c3d0b407011906f805581d02c2ebdc4b493fd7167298a1c67764638a7ff0ef7e7c1d4bb4ac656a1204010219a000031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0373ff006d4fc2d2b1f560e2146bd8b90407c8d11c460bab988edce3018007011bffffffffffffffff03dc755047c7a4146cd5f386f26745c383bbca7c2e58519f6d8221c0ea74fe411d05581e03589507b60c34dfe5db1340cfab345947f05664c2536b15f1fdfce083f00c014706ceb06d162e000343994750ae357a13c89c9c00fe81821f6cd4696da6fbba4d2ea87cfe6a3c86370366a3781957e86c9062fb5637ed8ac9c8a8084ba366328cc1466be6d4c235ede20321a04deaecdabcc15282453698417d2bf4002b169d7d8ca9b9a82546d829336005581e03f21c3bfb35b85dd4444bd87c3fc234c171be8217f34b27a7d42fcae1a007011bffffffffffffffff035265808133661b46f2494fca90f1223bad2251910a8083fee74ec9bf53224fdc0219b6bc03a09988ac94ac9073034d179c2d3fa5e9acfc1382d5f5eb60b744e4dedcabd985039dfd652d4ffcd01d94883e103b05fee745625b44a6e44050bbddabbbc5382c500332a301845e4d0c8f8908bca1e5c9a1a548bb44475665de9f2d91f05bdaa496af039d87c0067cd80c9df46b740ab90fc6ad6ced9baf59e74c859c2d681b1aca13e203dcfb3df9c7a41430598f94391f4d091b8d9d69c670f633ad754b1b162dbcd32403c9196152a77d262409d9a5bbe75c55f2ee63249726c3be6070137576937d6acb0219ffff0219ffff03b7a76e121e1a1ef6425b5615c6bf7e8150df50092a9ecf4f47e1a8418796003d03ee0db0499d3c841579d0d1a308bc470711a67f7b99c6baab75bd1fd9c482b6f30316befee346b6500953086a9b597326850e94a0061f0750ffc6fcb9c91f88eb3d030a162ac8441950497ff94891746afa3e7ae5dc9a3ae45731c5db7cc45b1bc19c033adfe3cc2f080f11d1ba7113d4285e8f3be5d9c2fba866ccbcc7ef857dc682a003db716926b4d017c76b3ebebf11b75a039b4ba32ffefa4d6007c767ba8bb9343f033e267b04ecfffa9a270cf50fedb050fe6a4053acd9defc1f71eae64b176cd49303f3e0a95cb31d95aff45bd728fba49a4291ddbf637ca833192d73c0521f6c8a54030a2fd68f0d72035cc686413ef2710158a581f2fd92ec9388cb6e37f2151a468b03790f689c64a3b279dcdc5d89509d8c55892778be565389d4f180ab7c970c810d0390f2a2b51a1608a80f5fcacea95564046913495ce331b96723e4668544952b050219ffff036547d60fc27b641665c9b5e21242b73732b1f67341a528a6830c1a08028b4659032d3ae16d5337d2f2e295c078223d31cd7531b745fe31ae56065764e5c004f00f0311f7a374684b04e8a62fe34ec9f1e89fcac7a9138a06ebdf0a270aaec30d9fa60306e09894a310baa997e1218b5171fcde84ef2be115fb6bbf1e3efb001d57195f0219ffff030ffc135bed2f475fb05be6641e271d038f0017f51cb3d085182157912c2ad1dd03eee0f4cb81488142c4eb485294e249b70dd65467564197767858658e288bf1fa0381baf04fd20d1fb43147ee39fc8270662b37fcbbaf1cfe682cd541a2e899f1b203a090392c5155207426589c02156ca207a911d191191aed54566e3da5d9b2f66f039630557a2775537a4d6ded5d11ccfb406a8fda4b44e6f5ce1efe72c39ba28449031f4a6790c2e0121b98d7926a0f095a823c1d9ac1b40fda82e8544ad2c2f650ee03fad4a3133ac07313e1c98b67a35622cf02683716e75e069eaabe9c01d7765eb9030b68f8f630742a1cf0e69d69f5c8a973f4be62b5a20e801da33b5b342a8d6d0e030abba327d505d45c24cebbc4ee54eeec84e32f7adb0c7dfe84b37a84cf9b31c003373f7f4d01fa65f9e4ad413a0f6aaa83c3dcc9271b1482173bb7b14aeab7c59303ed85f67a609684da6e1bf844c52243d2ae7bf5f876282a4a7046cabf19347cfe03b41b1041805283864d0d830c2b1768da6216549a1260c6c30aa1053a3786bbf503aba27aa220d2f51b695ce74dfde0e4078a697c4fb5005fec08c6a608f027cc53037dd57fed2cd2c3a4a9bc1ffb60ed2a7285d9794c3ba4797cef5f43142cfb842803b56d9752a13ed74b6abdcc36713580dae7b0d157d967e4c0a52447e27aa382ab03e1ee35f45df5973a522e3ce3a702569a3d52ceda0dafa2d28a9bac8779b0669403421cbf2fae4356e926b1077633eaac944ec1b65eb4e0f19c379bfc28a0e05ff103310b7e772f61977b872d1ae6bafd79e3118f8de69c261b1d8d4715232b976a9603ec7163fb49bdb98111152dac643befd20795c5551318f855b5cbcd99065355e303170c641284ac5743642bbe802342f1baeb90075125dd1f15db3b63fa2a64c1a80387ae35b6d27a215a498f90923c4648b3d60d0901c26500685af4e5a8a03e9c2703868b75a4b4e778b5058b8a8c63f8bbdcf152ccd3a9a422eea9126e868b2a18c803a2e1c98f960c85f0e05227459541d27f240ac81366b8ef5baf5ad5c6cbd33b97037d60f80cf6c1989f01f32718656b0e045766a1a20708935b0c653d52f83f035803b6306a6a0ca8a5ad3d2619fece45db10e73356c02c8437f96895c542c835874b0382bf3469c9d6c6dafd92c9d0e4293d621477cd840c2f3917909f26304ce9543b033d7204345df796c6e4f3d3314ccb78068ac79c150b5ff35f419c5e6fbb8bb5ee03fdb54ac3b432971d6d68a1ab41a3d341d56510779ad0c7a8574d4c6ff4803f9e03d3138b14522518528a3e3d882e76438dcff831c53069bf2b23504f40aa00a483038f27b47d7e459c1964bad616fef68249381df5fc2d5cd71be5f78164d52b54c00339f6f13bbbf6f76f5eb5ff0d48cdd35c6fd70f99862e0ea6f0c83a311f42e7c0037206007dc3bf135b8adcf2a7562aef1de40a84b3c781e3b4d0ea6f6a16f51bf4038d982f81995ac2dd19b74c45e957b92f65b42500f06d4547b45b4024055b57e6038d8e98b87cae82ababdb58b911fea50c4c371d8de20a7a87cce5a8f1dc2f9c770366e6c696fd2ae18c653c223c78dfa4b72f8ae13299519dda4e8a77113b220d3e05581e038e26e9fd8f1865e607756740c2cf3e557c7a8a3db129e183115ab647c0040305581e03a89c0c03257ea073b9832df00f0c1607436e063183e1a8fdec18701eb0040303640ff8764401e798d4bb7febbb4c6a5f5e8442ae3647cae396ff90651804e47605581e03d9f65b8aea758362c4cd7762973e76b5b68026af348ef662489d5c88700c0547123ac6054eafa605581e034ecc1f087295029aed77237ff9632333fc281f5aef7571e149141027300c0a474019283c1179b405581e032ff0c1a59d4892bbe3010b5b5fff39b873d852d2548ae802c1208924d00c01472b92fae34e588003b97904dd85c91f431bcba7f54e18f20eac4a512ebda5913ea9c64c139812c8fd05581e036d5f8342964ebbbcfb8fb4c71fe4c11eecd8fbd46ce96905d056029d80040205581e03d28218b6baa820a966e1cb285be6358713491ccc7d4cbb802de96a0ea0040105581d0208a8e7dbaf6ef5c677c35663550758d43b221dec2c73c309f9e231c00c1903fc480764f56ca447b1eb05581d023619ddd6e9983e7053c75e70358834e138faffa36c5b6d623b4e173204010219400103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0331fbeee381c325e0476242b2e58c383d421c70785f36742efa0b265a2007011bffffffffffffffff031913de1c58f41a531802ccf8ea8ce874eebdcd8318fa7df6216315ffed2bd03403377431b8c0f08084bff03233121df70d91287dbff0445d521dab09cc632ef8fa0219dfeb0357ea6fba57414409bf6b91b64088311a94d0cc8733a13a1902a4883d5ba9315d039944a017697663acb2c8ce5f9ed7b1ff339a6f1a09b18efae8d1ab76699ca9980324563d064dcff5cbd40f6e41be734be19e0df4554e5d93ef242f5b2aa283d43b03ea1efc3e9f5c8cdcb1812a26ee905424201280ab0f4752111449717cd1c6bb420304800e0b2a00ebf775cc728f79287a19787427a1859d08622e33daffc63ea0130346c334e473d80e472e5e5a7390789a40094d74248adf0edf39d3c1b44881b3010371e8907ec03961de36c15937140b12db26791349807ab49e0e96e6e9cfc4fbe3036d555d972bd5371a0a45253545e617ad12fd3cb2bec2e84655ae8a4d6532047b0219ffff0389f4120b63ae2f49d065badda91de979e2b7aead15bc1c4bfadf1be022beb98e0300462fb3e342f0bdcce3abd49ac30e110185c922352656de48375c38cda1c2150364e20a5691e2328c5b9e4ad0c6dbe6aa0b42eb5a0ce4cd4c093816f320b0e0cf03882121ca5cd5ad2b91b66aca462e832a376295bd9fe6f202eabecc7b9a4cb3960219ffff0219ffff03dd7552e6ab34650f8d52e381a4ec588e31e6727cfcc5a77ced3792292bad2f780338a532ff67271e85280b81f8f46ef3246dd0f069d9cfbbd0fbe934533d45f1ef034f80ad1ad5c15bf2f5ca00d603c31ebba9f1b8c5d9e1eafa7f41a480eb20e91e035a374a670bd12eb1d192494a30289060505799f7db543fbb7cdb6e234237d4f70303723cc9fab36de58a90eb6de3d5875bbeab7f695c254b6c76709e387b76f7f20370219ad6e990ed39d130d7fe172a5f6d6eabd1c4c33f8172cb68b682c362c8e6035e3d73b41bdbb84eeca5373303686f912a8667acdb378ad85e0950785651dffc031940ca42c3ea8975eac652b02031152f2f76b213d158fd9b8fa69de547184465031c348e6a49de01c4e454cadcabb0e4b75caad5678d34e05b71fce8eb3bb93a8c0341193e7b22942406abd868884bb20f350d47b9f4c1891954987b779d0bb12dcc03df500d95070b14219330a1902b57a25a1cf8a8937e6733a8c613cfae154ec0ed031baa0805f05d3d728309f3620c53ae71a5cc4fc2b43fe220a2485aaec525e515039655aa3f47c650d1651b0fab895a1087ab3fbd4635a142a10f0c8ad5ab8c7ee1038043531950d6ad226e35f15400edae2f16394736b67c88b78a2c1f7285bafcb2030c558509a52da58cc89918e595d7f1491c0a36f91993aa445e5d8266b7d05b98039f92bcb4693f527fb96dfd59fba87cd95561aee72f3c4ffa17a5be1b432f477303c871700de66cd78c50390bf7ebff8b40d22e266ed146ef47daecd24b1d07b13c030cdb297b31896e42e00a0d197731610036da9eeaf43ce210109927e34100246b032f98ef1a50ba7798b64f28f79eb3cb334bc5ed8d056db21cef8a180943d0f3fd03c2e4bc9ece40b52188df0890325b681c3e79300c8e9d64bf0cb726579fd8dca303a2d54cb81c3d88d58a162a4ba52a24349d70d76a16cada0eef08e8106f94206403649865a0b752e27687be381a2f5d53f167174b29ce5e0d03e847c76cbe64ddeb03aebd9ecf55cbeb3088fccbb575355ac2cf6deea88332bf224e711979ad81bd36033e353b6fec34efe11b6841669ed54b28b83bc1e697b5d02195dab44cfa1d988e03360c852aec28fcaf286e6f092f478725da5943eb38bb3f861417298a0c844d0f0346a734c0bf714aa9abb61b12315a98491a9c3524c536a7ebb918f5edd4d9428803ae6d4f6bf2dcae22cf776ef5f6563efb86aa12beb987ddf6e54d273547f2e72b0310c488bb31054f49248306a6f49bfbfcce23150dbccf6290b74fa95bedff031f03709553ed564d622933cc0c1945c5b99b2126629040434583da200a22124f8f3d032d4c79a5aa448f77bf90f1e55a40cadeea1dcdcc59865934edebc7bf7e89aaa103fec129be031418f2ba74056624d72cbe5d60d5d6ed62efc8441c44970627c70d032d6be6874bf59bb5954210526e8e519350dc9f2eb17630b8f8e023e486d83b510313c76bc37cd4aea0d89fcac1daabc7f5ebfb013ef538be0aca48aecde391479c0324f3fe49d9fe194bd624ef9b2607656f73e030611f1ff029953c53375a10b49503669e5b19aa8bb6a788d02e3a34a8e688b6e45ab0aa359f822a9e8e714fd4d5d0033b7e28972b82a6b3d6f203d3eefcc5b749db2ef9d7f2753ff338f4678c8c6aac034bd2db3fba1f762aa1c2b12103c688894ee990ca4a2bcbddea9a2e4acfeaec8b05581e03d190b113a5f31a9485e611a1c63c12a9c93db7856508849f2eb210c7d00c024745818f401b233005581e03a5ad4a95fb95cfe1e514159c59bdc56d43309eebe0ae2ebb692318ffb00c02461bf3ada51c9005581e0375d7232edcb52ba30bc1e6e6819ef5d786c664c30881037b6c96b093900c024701b1de4293fae803381f0348f39aa5f970fca2bfc614aa86904b676cf93f987001d5c1ab6b44667103b184ddf07b2831e5b7fe27aa9ee8a2606376627a4a8632a3b28bf7867d0b63e205581d0293e2e127b606834c2cd6fed8eeeed897e5e96cb0f3c6678579533e5307011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02c2ea0a113e37291dcb6124a5d975e637daf32fb1556a766757af95bd07011bffffffffffffffff045911e660806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461014257806306fdde031461016b578063095ea7b3146101f557806317ffc3201461021957806318160ddd1461023c57806323b872dd14610263578063313ce5671461028d5780633f4ba83a146102b857806340c10f19146102cd57806342966c68146102f15780634e71e0c8146103095780635c975abb1461031e578063661884631461033357806370a0823114610357578063715018a6146103785780637d64bcb41461038d5780638456cb59146103a25780638da5cb5b146103b757806395d89b41146103e8578063a9059cbb146103fd578063d73dd62314610421578063dd62ed3e14610445578063e30c39781461046c578063f2fde38b14610481575b600080fd5b34801561014e57600080fd5b506101576104a2565b604080519115158252519081900360200190f35b34801561017757600080fd5b506101806104c4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020157600080fd5b50610157600160a060020a0360043516602435610552565b34801561022557600080fd5b5061023a600160a060020a036004351661057d565b005b34801561024857600080fd5b50610251610655565b60408051918252519081900360200190f35b34801561026f57600080fd5b50610157600160a060020a036004358116906024351660443561065b565b34801561029957600080fd5b506102a2610688565b6040805160ff9092168252519081900360200190f35b3480156102c457600080fd5b5061023a610691565b3480156102d957600080fd5b50610157600160a060020a0360043516602435610710565b3480156102fd57600080fd5b5061023a60043561081f565b34801561031557600080fd5b5061023a610847565b34801561032a57600080fd5b506101576108ef565b34801561033f57600080fd5b50610157600160a060020a03600435166024356108ff565b34801561036357600080fd5b50610251600160a060020a0360043516610923565b34801561038457600080fd5b5061023a61093e565b34801561039957600080fd5b506101576109c1565b3480156103ae57600080fd5b5061023a6109e6565b3480156103c357600080fd5b506103cc610a6a565b60408051600160a060020a039092168252519081900360200190f35b3480156103f457600080fd5b50610180610a7e565b34801561040957600080fd5b50610157600160a060020a0360043516602435610ad9565b34801561042d57600080fd5b50610157600160a060020a0360043516602435610afd565b34801561045157600080fd5b50610251600160a060020a0360043581169060243516610b21565b34801561047857600080fd5b506103cc610b4c565b34801561048d57600080fd5b5061023a600160a060020a0360043516610b5b565b6005547501000000000000000000000000000000000000000000900460ff1681565b6003805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561054a5780601f1061051f5761010080835404028352916020019161054a565b820191906000526020600020905b81548152906001019060200180831161052d57829003601f168201915b505050505081565b60055460009060b060020a900460ff161561056c57600080fd5b6105768383610ba6565b9392505050565b6005546000906101009004600160a060020a0316331461059c57600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156105fd57600080fd5b505af1158015610611573d6000803e3d6000fd5b505050506040513d602081101561062757600080fd5b505160055490915061065190600160a060020a03848116916101009004168363ffffffff610c0c16565b5050565b60015490565b60055460009060b060020a900460ff161561067557600080fd5b610680848484610cc4565b949350505050565b60055460ff1681565b6005546101009004600160a060020a031633146106ad57600080fd5b60055460b060020a900460ff1615156106c557600080fd5b6005805476ff00000000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6005546000906101009004600160a060020a0316331461072f57600080fd5b6005547501000000000000000000000000000000000000000000900460ff161561075857600080fd5b60015461076b908363ffffffff610e2716565b600155600160a060020a038316600090815260208190526040902054610797908363ffffffff610e2716565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a0385169160009160008051602061119b8339815191529181900360200190a350600192915050565b6005546101009004600160a060020a0316331461083b57600080fd5b61084481610e3a565b50565b600654600160a060020a0316331461085e57600080fd5b600654600554604051600160a060020a0392831692610100909204909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680546005805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0384160217905573ffffffffffffffffffffffffffffffffffffffff19169055565b60055460b060020a900460ff1681565b60055460009060b060020a900460ff161561091957600080fd5b6105768383610e44565b600160a060020a031660009081526020819052604090205490565b6005546101009004600160a060020a0316331461095a57600080fd5b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f72656e6f756e63696e67206f776e65727368697020697320626c6f636b656400604482015290519081900360640190fd5b6005546000906101009004600160a060020a031633146109e057600080fd5b50600090565b6005546101009004600160a060020a03163314610a0257600080fd5b60055460b060020a900460ff1615610a1957600080fd5b6005805476ff00000000000000000000000000000000000000000000191660b060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6005546101009004600160a060020a031681565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561054a5780601f1061051f5761010080835404028352916020019161054a565b60055460009060b060020a900460ff1615610af357600080fd5b6105768383610f33565b60055460009060b060020a900460ff1615610b1757600080fd5b6105768383611000565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600654600160a060020a031681565b6005546101009004600160a060020a03163314610b7757600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610c8857600080fd5b505af1158015610c9c573d6000803e3d6000fd5b505050506040513d6020811015610cb257600080fd5b50511515610cbf57600080fd5b505050565b600160a060020a038316600090815260208190526040812054821115610ce957600080fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054821115610d1957600080fd5b600160a060020a0383161515610d2e57600080fd5b600160a060020a038416600090815260208190526040902054610d57908363ffffffff61109916565b600160a060020a038086166000908152602081905260408082209390935590851681522054610d8c908363ffffffff610e2716565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610dce908363ffffffff61109916565b600160a060020a038086166000818152600260209081526040808320338452825291829020949094558051868152905192871693919260008051602061119b833981519152929181900390910190a35060019392505050565b81810182811015610e3457fe5b92915050565b61084433826110ab565b336000908152600260209081526040808320600160a060020a0386168452909152812054808310610e9857336000908152600260209081526040808320600160a060020a0388168452909152812055610ecd565b610ea8818463ffffffff61109916565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b33600090815260208190526040812054821115610f4f57600080fd5b600160a060020a0383161515610f6457600080fd5b33600090815260208190526040902054610f84908363ffffffff61109916565b3360009081526020819052604080822092909255600160a060020a03851681522054610fb6908363ffffffff610e2716565b600160a060020a0384166000818152602081815260409182902093909355805185815290519192339260008051602061119b8339815191529281900390910190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054611034908363ffffffff610e2716565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000828211156110a557fe5b50900390565b600160a060020a0382166000908152602081905260409020548111156110d057600080fd5b600160a060020a0382166000908152602081905260409020546110f9908263ffffffff61109916565b600160a060020a038316600090815260208190526040902055600154611125908263ffffffff61109916565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a0385169160008051602061119b8339815191529181900360200190a350505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820a1e0f5cdc96081f44eea73f352e7ef8fbfbacd306ec0f0b7275c9752d31fbe32002903e4299c7efef7897be2bb07e92b24b29a730c41f8c589b40cb9b374f0284673d003bb188eea0ffba706a24751e00a1aa60aa7c4ddeb597daf34c46891094d546dc303d43700839212677e0a6027ec7333802c9c8aafee3ba69c2c3eb13b39023ad08a03fd97c1a39c92741967f10e629cdfbb07c31eed52649f0ba5081c4d8aa298d3d7034758f20ec94010ed5760a18d6f20398ed4f96718a25215aa1b374fd1ec38a92a03918e6d26a2854bc290d04368adf64debbb70f58ca153946a91b6c2ebccd421e503ece4b48c78a8a582bfb5be4d4d7758ef340a0632e68f8cfff1f78611b4dea58303486342fce1697ed522db4b98124bc873e2dec51ff8823c2e27e7924c397b6dfb0365966a91497b9a762b8dde3abba19cb61847f474c3a97833e102290000859c5e036c4f3a51cde4d014ce3cebdc06a3c6aa00163a016cb068ce3292461d2bca911603eb15f2ea12da37dd65d3dc3fc18fbf8d029fea03e649894f98f45aa790e177940369be521d4e33c69c6e53284a3b3855f93bfdf1119e70cd3e3eb8b4ab3ed92c6103f7eb8037130519b553c0f3bc5cc6b405148290e7820ff742454aef8021fbb83f0362286ca69ad1f2b9a54cd99ed0690398364b2a46e55f87c0a1580088d5e8a760035e2ea6d160042fbb535ce7da758ca10cc69039ca7e0e245d8a547048451eaf3f03d763614437b10155236e1316a3c6de4ff4a466d8c32b52241880b881d8e3626603396c290432248249c56f114222834f81f11bbb8bcd258b14cd8653ebbb5511d703f172d73e753892007b63177ae10c235aee20869cdeceba172819d7d4c0675d0203b494132ea5bdc22e2e934cca49835591674f37e009b48d0049bf80da1b1e90170322ed1ce7de19aa2b30c5647db3a551dd267444cc37dfe33aac0ea595080a0f9f00581f03efde3270fc1ce2734c0f2e9e49837c9bf092965c36dfa8854a5d7dcc0ed05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffdaa95ff00581f0337531e3c0f409b2eb51ec563cdd464193aa27cb8c022ae3dfcaaeafcd50043021c4c00581e02fa23910e319b190a332e28bdf212cc13a5b04321001afef7a7f050ae605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3c600581e0284b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db055ca06411bd7a7296d7dbdd0050dfc846e95febeb708020a00581f03d8475854f71876137f919f4a5d52f3634d0164fc956284cc3d3860781b305820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8494400581f03f71c21d050f40dd3fe8bb29de5776d8fd00ec6719b628a3b71a9646d4ed05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe91660900581f030f00af664db23addb2c78a8d1502dcbedb7f63bba3baa5a52aeff31cfea04d0c9f2c9cd04674edea3d77595002196449037d9a038721d6a52c5f9c63da8cbfe14dc1abebb3b30b7866b2d0f03b1c0f176c03fe2b894ac64ce80bccbdd2f3d0ed37fcb09cfd9901aa5609990a50b0608784df03421610c221caa1f2301e6cd9da4d80f3a4051359c97327cbf18d130196d6e3c50350f6dc9c1b243d49fdd077aa8508588395702cb3cb422030c8ee76524a6057360219ffff03448c6ec4d8894dd31996b08a1fe609d705f42a15fdc239a03d4ee0d849fe9600039537301bfe497701dbdbd243df288eef8a6c8b38655c5d3e5a4ca7d0aed1e0e703bf560d942fa1b602a7b621e284c94833af4bd48e51443639aeabfc73cb3be1c403efe80e8f2d94ff7cd5b4a61c6acc4c8f298dd8c00ea2c996ec011a804ac557bc03582c7934ad11fbd8bb847ec382f6dce07c2c418060b1e4d5a0b174263fb52a87030625515eb6e58846d44506b1b91c95854a26687ba6ed3933cf5e4e1068f90de303dc2771f908c477788fce975d493bb328ea1feff61bd64551ff66eeb6458b198c034bd15ffdbd0a495489ddb274a36ceecc390fcb4248826a0bbff02f5e66f9fdf7038eb1c49e08e0dfc0117020b89645270cebb9de21146007aeeef210eade613e2a0219ffff037089fdfa1b8172a34f01f192453cb3218f137827efeb3c8da16af8e611169f67038b3b8b4a4b2956087af589ffcbc2d181b67b3e7d4b0987c69168af051af9faf9037df9b286acca83d6fcbef094d5629aee1bb8a3acff37daba578bfddc06a46de803acd0a674d28b306862ece594228dae028cb2f37f175389f5c901d9a20128a464030d9e781237a171dafb18d27e5c95a07c52f20c9a7c3edccf86cadc95024bfcb503887aa66243a25d4a806685f383411e9bc6138e1a2067fc77035f260fee32ab2c03d1844e5f9a17737d15d287afeed8f6b77f81a347f8cecec33e169d09e2820d3c03f1e54762118f514c478985bd347a21a92c86c9f52b0f7f5969dd02f5ed180852033e9c77c25b35406e768da631d688facc041186951fd8285b2938be0425996a850310618d00ab191bf0a325a641cbc6132cf2502271ddd41ca6cf6295210db3e1b50322b39a81ec0ab72b6ed3dae2f6b72b59288be76e823a3ba2d3c6af3a96aab1b1031df6db96d5e1197cdfb0b97eecc3c2d68e5eede03f91692d0891f6a53fceeccd0219ffff03f4b0318d1f0eff4df9c629b97fa188d1e06bf72102eb49e4b6e66ba1d9a1a19903bdca849aad22c27d46bcc545c289a753ecbffb54c0db562cc1f280a20b5be9400377dbf2ef89140b605cbf760962e9385dc990c7a4eb1847845a9f5924a5a7f9d103a372a76e9764bb3d3a631040ab67d733dcb9743025d48a0de93e62efe53d0ce2038acd8c19aeca02832a882029b2b96b20c1b66c1cd992f636fbc483b4a0ee728b036207d1f3e14b68601d40490791231c83f2e700441ea56a8b47aa0a02c61f3b6403cc28f7d1ef2666f8a0c5a069df2ec8f3e1688f3893f41715d1622cd82190855b0379a52c255eee730175455cf8c8bf2a1aa1420d381eefde70ed2f42d70aa990ff032109ffbac5f8a3115e0f2286b81164eba3bf7f30346ea38dfbef900dd5e49069034ec8da6132aa1dfaef430a4d9c5d82c5c6a6ecbef42baa12056ab276a7fc8733031b69349d6659b613b1025d49bc88c963d784cf9ff307b3412cca600786614e9a034ac876f20456d5ce7c00e0dc94fa188b01bac01e40e0d05d2637f8b71eb8d8b103fa4785e0c2d5248b1f278ccf208012da71aa67bc545092a1a89c6276325e413c03c80913908c1e39503f9edc433cfa8e27791785927bbf456eef2239ece6fa554503371e66e03f98b3693690e49419a1a6b6622535a24a70253a9c4e40af50865bc503644083b6a1b48c8da5b3d44e1cbcb029affbd3b13fd8a0a09db70b3a54092f1f037efa371edb683b9e50580b9a4f8ee279f4c14f451f5ca96b787842fb99f2eac203df92af3045014662c75f661ee8ad75e0ceeac72e1da978461731c7057b6bbfeb03ec0b94fe28d1f29eaacfe58b482932d26f65fb2e07b1a35c0583a59bbe281e6903d883e01b88a8afef3b4bedcbba0d6cc4b901a87b115aac9098b2eb33141f29f003495bea5d079b50838f622f04037bd4c1205d2b53b727c432fbb01c98743dbcb603bb8914711ff8890b0a633a0396ffe87de6cd4060560a969804eb13108c76575b03c0e4f99af7471cea6ba3faad6e4937908293b4c89aa373de9089709a3513909403ea4476377578d02ee73f35f6acbf80e66cb482dab57190de5b50188c0f48c7cd03329fc38a42631587337b9ddb85d4fb3dfedcc3121f9a2174e0a05f3fbd9ecb1003a1837cd9b17167685eb9d0db69a88b35fa252f21db7f2afbf5acef3e47a8a1bd030d510b96ad33329d1e19929aaafc1f72d02a8eb58d13c738610982c0620492e603839e5c936ed14bc7990135181099dd49c56b1d316fe6f43781c01d4d9cd97e5c0343c18d904d2470ed62b3e7b893eca6ccf1ce54a6203d18592ff36e9339f62ba50399330122338721ede067a667225252dc3b2f4e1e174fb2c79ea9c1c4c01bbecd035e9ba608e17e3e19e3a0f1d6fe3c928842aaf75774a9e337a5355dcd8e773c6000581f03485784025abdc0302b371696e9088df6f0361a4aeb488adc546ef0d862b05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff31b036e7c3bc6894d588fef90653d699ea1e5a967b8483d069d0809a32d29a93d0e2000581f03c6974cbc0979fdf256c52a1a3ee60b9980a19f4a24e879d02837ae9575f05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1915900581f0323292430b35693b8c9db196c5775ce52b286b2a3ce0747072ac26fe08e104307033603f01ab48f1a9befa7da2af2a34a14db3dfff5331afe96b231b04141b18ab78c5d0219161403810108b98d64c14df88795ae2d26a6690e28c338852d097d802ab623a719a33e03ce61a186b99d09d8d13351d40988acae3be0a9c4463991e9356d4f29717f99a403d1432f51c183e4f0114639d33102b8c5fc3528fbed670890c552c16fb99813770335b08ab7530444afa38e67ced0198851180965f40f2208a8953c49f91946e26f037133d2dd2e6702fc5b636e569e4cc64d204c723b7616c1f985a260be234cea8103b1801be4022991544a40acb27dec6e05a001acac6c495500d29bddb5f38707e10219ffff03184ea101f8f6794e9185fb7c0b1bffb65135b6213062cbc08a9f86298ad63ad503ddf83c62415de2cbe5b3ed231154ad7272cc83a30b15d7c903e16dd86e33d8780303fc94b6210106bdf37a5f2b99725bfc0f9e6d99507003cf9b39bb6ed469bbb1031fc3d17e04c7c9f83eab5477420c88857d7d7584868a469d41ed8b2aaaf8a5210219ffff030b1fab8f734751e1c5a5d4e9098eb74fc7fb7fa3daa1608bee5310b074793e740357b99fd9d45864003066d29cc3cd8e61a93cc2044f1301536c052a9f7bbb0b6d03ae5b458dde9575e515942ac4d6fa660fb010dc455915f70d9016073f4af2912d0353736d440b523dcbdd2cb4b29abc763c65fba31fea9a2ca675e111de947b585903bf38f2d994c8accb22ea71c4bdae4ed879534328df29987e8ffe1ebc5a20100d0313ec62e78e5271aff9189ae94b7ba88b892f1dd9031424060172e020ab6ef9bf036f1a02e89ff6db2d1f5a0eba20ecb7d6095090f86e42ca46099406091a9f8d1d03286881a44cc9b060bec0b922416014b33c8382904070d89c3e9f34a5a78660e203dc4d1df63a4f73c732aec0608a451bdc40e438813179a2297cd5f95d3fadd5e80219ffff03f4b6009020381c8d5bb8db9f2c0a030995c9e93f961285d388de9ad989aca655038557b82409927b10d37efee48ef08b422edda98395078295ab0cf96334b04b19032214ea9bf6e1404a067e6ce020e6f75c61d4e673686c0075e4d1daf3267c772403b2d76b3e3596b7eca828a69bf76bb4b56f45539e7b7f88dd39d358f12abfec3e03b44c8be42df550876182a1b2d767de03b26fecca70ee17145315ef7ad88bdd2103e30b8ca97c03f00171bbfbcc2997fd517d21a7960e15f0f243b006a0c3f0bb9f03227d45986fad9da28cab83a00d6c9ebcf68f72bac3a28e7733f1e262f9f6e9fc032f4fcfa17ffeac1ade497eaff7fe93a387cbad24f3262d9904fdb3dca9d64f2303d334cfc5648f08cb85b53c88fe9e219716c18a38f9a6c80e9b942bd5b3ee9dc50219ffff05581d0240759031b3b9352c1680bfe7f2d376c5eb1d3f71c79bde5d7b9e147107011911e605581d020c8c69a267d22f83f9a5c44d0fab0881877bbcf46a27ff36120aa6990c044719cc826f20c6000219130405581e0373f9a2fb2f2c5faa52e8f70219655e6dec2531c4d88936d8f48103757004020342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e0350b664c18e1b276ee3f6b4c793ba1b99b3cb0691a6f165c874ac6522b007011bffffffffffffffff05581e039f530c4ebcb4d338e2378149ebefcf30396102387a80dc69303c5ab2600c06470a4d0dce5e07b105581e03d865f0da1bbacb9d83ac7b0c19628c415c1ae7051c756a725bec95c0900c014702de0d30050dc003e402f98de73cfbbe1a8bbe6bc9b91b77aae75f03b7d64bf9ab2b6aa8041f88270219abb103a896834b3e0ff92c47eb433c6545a9f122173e067bcad93af5c18b158768b0170312d8128d147efb0dd76870fc761fa531667870872340e18019cbd4244f200c9503a54fe8fc37bf01fb2470542d9566c399ea6d01bfd0651c53724c9e16b1cceb9e03296e6fb3220ab7014b82ff74bfa872133ce187ae7561419a58c97ec77f64b0880342ae14eefa479988ecf9f0ad1089c43cb3012b0a8dacd87900b4115706651f4d0341a55304a2b454b5669ca28b6594725d1e8a56efdc27fd0d6be35db5fb260bf50328d2c3d1f7f51eb4b0ff2aebe7d5207b0bf5f8ac5350a380c1e5c169deabe5790333dee8a3b8f87ef494b0a167ee984b96a1f9d92f6a9e1db0dcf88ce12c888d45039f906cbfde43fc6c8c3c020662aa5842b583ebc32f730c8e6b469e24a69bdc9203b47a1c320a41551156094f00504d9a41a008be78a96007f4a517f79a30b9c179038668e10f34836d47e91206896792951efc10514d6fe4208d66c0e573a9e1bd4c0219ffff0348fffbb66fef9103873e3e972bf862b6e192ef5814cc5efdda780a3303816ed703416da4cd0c1c9e65acb6ed6a7ccef0b3088bdef88285144b393fa19f313bf9440219ffff0330cc6d3120738cda225a81856bf1237a09d351741869d05f5e18cce1c74050c6039c67d78e67cdb6f52a35c132029069bb75d25daf36b78897ec72873419e5297803d1693b25a2726fb008e52d42815315d38bf5e8ede352164bca9c6a4e87daf942031d0e701fe78905fc06c533ff3ae1e90cb7f177612955606e62f56891dcf08c1b03ac6fde14af8de146f6bc025c38e21740e29951481fc2bc6b1f13c89428c578db0312aa7ff88fa76992377fdf5b610268b75a90df2bfd92f9986065dab02856e1f6033e1895fb472b3d7439fab876f60d22aab4d7e02168fbf09083b85afd638ddde00219ffff0219ffff0379158da1bc35697e4b32eeba29d84881ec964d679c8a383798830dc62b36c93e032d5044fd8aeead3fb8fb8e423548a335db2f32f8ebbc7aabd6ce1dec9e66245a036d55ddbaa40b9133ea803995ad0eb296bfe8466c77cf9f09901f59c5793205660387cf50b125986b0069d31fae448d027b77c8b670179d14fbe22b4c015d176dc503404dfac517954bcd02eb99a204e3716deb7b0758bdcf2e8e2988ceadfbd1de7e038377ac072534ab492727fd16dce45e090d337c30ef3538b28577e6047ced5c82036e7e18e226a52024156f89b6a6065e1409e16b4dca21beedcc338da5c2391d90034641879fb75aae7f9fc422881aa39c8b2319a41a7babe377502761d2e31480ba0396664a5bac9eb6efb0e3ed59cc5a8dff81a37b350ee87744a8d9a2a330ddab5e03154674276ba60ee7073b9367c94f65a92526139c1fc5343e12b7098756e00a5003b8c817cb72778ff81f217ca11cfde5685dbd1a043d9557c061c9563939e2f154037dcd84cdb480c4c2f188b0bbbb98f5fd83f51425580fca3af698e19727d2d21a037249b16a3aaffd3ab70978600aa5aed7e57a8e478b69a215a1f2e2bb40e8875603a3ac41bb4be41d4a778d94e4dd44fae54e36144b4a29367950acd2f6611abd9a0308776c9b13ade3799879482996aab424ea94edf7680a8fe83efcd9a2e0bdefbb03e20cb26e99f275f0bcf2b08f4c83f89d1f58c44c340d40ad8f04d0727f7d634803592f1866ace49cb5a3258c7d04dd273f68b47af416bc0b86804b17ba03bae87b03794a72bf6e49fcf11f4ed9b9a012c1f6bba41b19fa9ad2da1ba30779f94f115a035f2b409635d0df40878afe2da347302cb3765695d97b5364a888a6a3170ca6c303a25409551c4df1743e39939b791359a7468084fdd15c7f0a24124090bc95ac2403cd2cd93174a6336849e92325bd0a228e43940abc004bb8c435ecda65de500d2603ba8ac3bfa7a33f5d711782f010d55b300c0291356ac7a5df0c7926bc6debb83903adfea25bac8862fb080a091f6e19a00bd137427f7a0886c8f50aeb4a3872c5a003b95778fea642042d9ac781ee30444e1f3664283ea5d080191a803a16da4adb0303e7b65518606a683373f137d1cfa141589c7586fef88f4fcabe90eb931461a49e03d808b7aecb70a7ed4be60459dce88d98f1befe7c11f263a09143132bf2c765ff03e2b138a12ce1b81f04de0f18c5cda2c1e6aedc3aa492a851f4d74d02fb8eb938033464dee21bd9b7f1712c25a7bf48517d93f6cd02bc5e069e85ca98eef103792b05581e03ea8431517e59f99fc03529e5e130e71f350dd1e5667df5a596525011b00c02466b82a4bd6c7005581e03d040d142166d82cf92e33219046c6998c01ec85633f14741fd570d1ea00c02471226ca5316200005581e03cebf64966ab0cc681833d78bd39f0183b290c96d8240d87c69b1808fe00c01473977c49cc5a00005581e03c332596dafc8a0d3de5335f6745f099760e46ab6bebc37737b51a55da00c0247419bba9070cab00340c3c8f7a9522d6df5c0028d90d360f73c5169b4cf434d95350beed43e16739005581d02bed19a2dbbf28d15e3dba40ac8d38fdac0baae648d93f2e0f0fb8f6e040605581d02ae81a58eb98d9c78de4a1fd7fd9535fc953ed2be602daaa41767312a084a02d3b98530af92d7da5402189005581e03f7a73d9495ec8f6eeae2df9cd01dec4ab0ba0bc3f290f838476f9f6a800c044623786497c27805581e03207acb1c81c525b9a80f29d10435a717de3199dd35a26d6b1d82392610040102193d1e03e169a4245b79aff36e180d5a5e31e98a546d0e9226fd169621b29f7fb74a08a003a148fb69fd472ea2e782043711dcf16a2081ab9b095c9b03f2456e78e7d117230324519d496ffa031ca89fc827150d86cafd3fee245c9429fc3c82dd981e1ae0af0303d4a79eaca9df5af3e4b9c1714d21f9e35c16f7f81a3b9eb7aa520b93878fea033b49edfda21d965ea0749955d038db7a04b8df660343a05fc418076ddb96622b03b6281907287d1d4c04c89c8aa99000e67a8ade25ea622339eb8f6b314ba0685903b9fa4d061ca7337fc40b84913e0517fcb3cb653d999905f3178bf3ef6ce9119703a3417d518bc88b9d83ff479f7f4244fa15be4909509c3ec804ec31aebd8381870219ffff034db80d22ea1fa6f294c072e51212fc1f8ed5427142f7ad274ecb3c96fd48d06d03f3270f926e5ff1c97fc9ee5bb44249f8f34bafd6908d757918f4e93a626063b10335db9f298ed4ae4d4c807dd8d333a586b5dc172b5dccf62353743b78e4e8b8f40219ffff030ddea34e5f0370d1427397a612e87048fe73fa230aeb7bb96f0eef0e221dae7403dc31faf9ab9e875fca0688f0c9e4528bd2ada8d63bf390cffe3749e9a99a91cb03e3f1839b664254714af58a20bf82641a2e71c84493459a65f80affe2e656066603fcd46c4f218b3a440fdb576de27b59041d937b3fc3da9a4a79a9c2808f7c46d603de59db71d5b9b241852f4e4568b0379b3607501e4360bc153425ad78dc7c0a2503a8ddb982de80746a493539e5ef8c737f421daf1202de1b74b7b2c2cfd1b5f65a03159d34a043ed37cd89adf8f6158e1632302302e73a860f28258b5545d0dce2610332f27ebf2c698a49a9e45d857fef414cadfb04f06d4db0065eb78ce30dadcc47034104f238b5768a3596bc56520c9ae6045c7440ad1869afa12c34068cb969d1680386052361ba45d482721c9822a049a9f6c384b7e7d95cbe7154e7b9acc230739e03097da24155bcb7a6060579e7958c557dc77f54e8701461a420d349990e6984a2035eede84534e9448914e292ce06c60198936e65392c240342308b22ed15df99cb03cbf74423c1a67255aa1903b8c304c2735b7ad75a884ab8ecc67e5d9d5f38887503a717284f7bf533454db5fb139ac095754cc7c6089ac91276bf7a0e9a2a06e3c6038a1859dac578142f000e3c34260b526a9ab170fcae315f5dfb4d641cb8992bdc0219ffff034a9d4fc2a1ff3a72168d77a6c71a684fa2cc9ba74be1d754c0712bffcccac1a003729b9afa86665ef499913674c0f19781b96b371bb3ea4418a4f5a8bf48831a7903ca67ed9af5e94c980cebf5ad5f1f7aa167000f04d6bdad455fad79a7a8130d3503915c2e2d28a3754ae929089c13ea05a5c3b7ca58b1be796db3b9d360cccdb41a03fa5f8c5b65268ebd71849b26f8d38e94c43ea4054e61357334e8d98ceced7a1903a98915c1b23ddd2f67a4f71c702ff8e2db6c708f2a18dd175b2e81fe4ef0128903f035a5dba50f89ca49c72737fa957408fdd8613ec85c103a9e17f515246fce40037c7f77ca65cb91ae40030f986eb6d74419e655c44d082927926141a197182eb70390c5bc3ccf49969fe50742cb431f1810c0ef4ca0a4722c4d083532aa7257eb5f03abbafe1921571404de42dac5b6eba5cf657147729baa3653567d3c3047165b6303e087e9a010fc6583b7077187e7bb4f9afe787ac964c1195db9107f1b3bd8054f03d18849577f10181fe02a41f4a432768e2c1514f1003143b31b5376110e40b32203a2d521c02ad4840b74184c89b1fb895f5e15c453ed4617bd3fab08123a8d01e403abdfd7082442673fe40d6a042adf6722f97930c10c839320b2c82aac5d11f51d03e43113c829167242b6dae3093bf6a53a319d300dcc066de656e06c3d2e4bdc7a03debf87b781e26b56542827e4c97ed0a54c5051c553f3606feb91dfec3d2fbdc0037d116afa519025b41fbe75098229ee77a3b7b773995a2989774ffd7d4d6a1b66034fe09349878ed36f213fb47644ea35b30c93103ec21060b3bcf8d1fdda1b4b8203339f06b51a9a41fd1cad1ed27b9a55af2d14515f913d951c99b15fa752713f2e03029135d81886e5442cf98a8db812ff51f92a1d3b357e021f66f75a42de9e5d7003f3e78131b328b7f4005959a7de5020e3863124ca9735d5efb2ac83ac57b24ca403e65842ac86b1e6c1800c1e38a34c5cc04fcb5465b5fcacfc32d139d095dc88df0381dee1a1829a92ab4b7ac28290ead3d77d4bc55c7047838527672725efb1066e035adf110b0ee8162034bcc278008c5bbdd7c9c2f8979ef5b1572f0a6c3a21f3b5037564fce04bc0f1333a5dc35976a578de85c9979a494c866f1a907ca9d23e96ce03860376a3ae4af757dff860fb3913bedfd66f64eb6d4367e3648e4e20982f27fb03e74ccced98bdcd4f6b4a16030b044bb684f661e2f39a23c8c87d7159c3f0f5110312fbfd785e2e79d70fd3e18d95f1bbe3f6626e16ab026722a842ba28269abe2103113e73476d739ce2d86821859e68db2436dae4feb372e9396355f444dbeb6f5103e04f78692869f67f8b1f4fa388cf06415aba89ee17997d82ab8b5c663c1578e103394170d4de2a25c0a35aa5c2a53db8f82eebeb79b5d417536f2d66e46813f14203c4985cc72daea0c87dacb6e708e8e287262cbcc219e480a6d3002c6e522889790352481f97a351030e4939a888f9687f43bbc9adbf1c67b7f9e5ed4d545109db98039cf4100dc54b4bd5e52ecde8ef8a513d1b824d836da0dc1cce7f34b3b722b7de039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581e03df06ca685c89128fbc6d50ce33c691804f906d57612f4cf9546a6b57f007011bffffffffffffffff05581e03439274b401e8702226517d501ac30906f06e55c44efe5828b5357bcdb00848023f044399e7000005581e035c5162a477263d9492b8299ba68a9d6db821bc18a05afe81dd06143a400403045919616080604052600436106101355760003560e01c80638c00ce73116100ab578063c52a3bbc1161006f578063c52a3bbc1461030f578063c676ad291461033d578063ce0b63ce1461035d578063ce8c3e0614610370578063f219fa6614610390578063f2fde38b146103a357600080fd5b80638c00ce731461029d5780638da5cb5b146102bd5780638eaac8a3146102db5780639f8420b3146102e9578063aac476f8146102fc57600080fd5b8063485cc955116100fd578063485cc955146101df5780635dfd5b9a146101ff578063635c86371461021f578063705b05b81461023f578063715018a61461027557806384bd13b01461028a57600080fd5b80630aea8c261461013a57806321425ee01461014f5780633a9a7b20146101625780633d1d31c71461019f57806343c66741146101bf575b600080fd5b61014d6101483660046112d1565b6103c3565b005b61014d61015d366004611345565b610532565b34801561016e57600080fd5b50606854610182906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ab57600080fd5b5061014d6101ba36600461137a565b610571565b3480156101cb57600080fd5b506101826101da36600461137a565b6105cb565b3480156101eb57600080fd5b5061014d6101fa366004611397565b610601565b34801561020b57600080fd5b5061014d61021a36600461137a565b6107c5565b34801561022b57600080fd5b5061014d61023a36600461144e565b61081f565b34801561024b57600080fd5b5061018261025a36600461137a565b6067602052600090815260409020546001600160a01b031681565b34801561028157600080fd5b5061014d6109d7565b61014d6102983660046114fb565b6109eb565b3480156102a957600080fd5b50606554610182906001600160a01b031681565b3480156102c957600080fd5b506033546001600160a01b0316610182565b61014d610298366004611593565b61014d6102f7366004611606565b610a2c565b61014d61030a366004611628565b610a69565b34801561031b57600080fd5b5061032f61032a366004611689565b610b9c565b604051908152602001610196565b34801561034957600080fd5b5061018261035836600461137a565b610d0d565b61014d61036b366004611345565b610da3565b34801561037c57600080fd5b50606654610182906001600160a01b031681565b61014d61039e3660046116ca565b610daf565b3480156103af57600080fd5b5061014d6103be36600461137a565b610dc2565b6068546001600160a01b0316156104175760405162461bcd60e51b815260206004820152601360248201527213db9b1e481b9bdd081a5b8818dbdb9d195e1d606a1b60448201526064015b60405180910390fd5b6000610422866105cb565b90506001600160a01b0381166104715760405162461bcd60e51b81526020600482015260146024820152736e6f206761746577617920617661696c61626c6560601b604482015260640161040e565b606880546001600160a01b0319166001600160a01b038316179055600033846040516020016104a1929190611760565b60408051601f1981840301815290829052630575461360e11b825291506001600160a01b03831690630aea8c269034906104e7908b908b908b9088908b90600401611784565b6000604051808303818588803b15801561050057600080fd5b505af1158015610514573d6000803e3d6000fd5b5050606880546001600160a01b031916905550505050505050505050565b61056c83338460005b6040519080825280601f01601f191660200182016040528015610565576020820181803683370190505b50856103c3565b505050565b610579610e3b565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fa1bfcc6dd729ad197a1180f44d5c12bcc630943df0874b9ed53da23165621b6a90600090a35050565b6001600160a01b03808216600090815260676020526040812054909116806105fb57506066546001600160a01b03165b92915050565b600054610100900460ff16158080156106215750600054600160ff909116105b8061063b5750303b15801561063b575060005460ff166001145b61069e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161040e565b6000805460ff1916600117905580156106c1576000805461ff0019166101001790555b6106c9610e95565b6001600160a01b0382161561072257606680546001600160a01b0319166001600160a01b0384169081179091556040516000907f2904fcae71038f87b116fd2875871e153722cabddd71de1b77473de263cd74d1908290a35b6001600160a01b0383161561077b57606580546001600160a01b0319166001600160a01b0385169081179091556040516000907fa1bfcc6dd729ad197a1180f44d5c12bcc630943df0874b9ed53da23165621b6a908290a35b801561056c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6107cd610e3b565b606680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f2904fcae71038f87b116fd2875871e153722cabddd71de1b77473de263cd74d190600090a35050565b610827610e3b565b805182511461086a5760405162461bcd60e51b815260206004820152600f60248201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b604482015260640161040e565b60005b825181101561056c5760006067600085848151811061088e5761088e6117c9565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b031690508282815181106108de576108de6117c9565b6020026020010151606760008685815181106108fc576108fc6117c9565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555082828151811061095a5761095a6117c9565b60200260200101516001600160a01b0316816001600160a01b0316858481518110610987576109876117c9565b60200260200101516001600160a01b03167f0ead4808404683f66d413d788a768219ea9785c97889221193103841a5841eaf60405160405180910390a450806109cf816117f5565b91505061086d565b6109df610e3b565b6109e96000610ec4565b565b60405162461bcd60e51b81526020600482015260166024820152751cda1bdd5b19081b995d995c8818994818d85b1b195960521b604482015260640161040e565b610a65338360005b6040519080825280601f01601f191660200182016040528015610a5e576020820181803683370190505b5084610a69565b5050565b6068546001600160a01b031615610ab85760405162461bcd60e51b815260206004820152601360248201527213db9b1e481b9bdd081a5b8818dbdb9d195e1d606a1b604482015260640161040e565b6065546001600160a01b031680610b095760405162461bcd60e51b8152602060048201526015602482015274657468206761746577617920617661696c61626c6560581b604482015260640161040e565b60003384604051602001610b1e929190611760565b60408051601f19818403018152908290526315588edf60e31b825291506001600160a01b0383169063aac476f8903490610b62908a908a9087908a9060040161180e565b6000604051808303818588803b158015610b7b57600080fd5b505af1158015610b8f573d6000803e3d6000fd5b5050505050505050505050565b6068546000906001600160a01b0316336001600160a01b031614610c025760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920696e206465706f73697420636f6e74657874000000000000000000604482015260640161040e565b6000336040516370a0823160e01b81526001600160a01b0380831660048301529192506000918616906370a0823190602401602060405180830381865afa158015610c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c759190611846565b9050610c8c6001600160a01b038616878487610f16565b6040516370a0823160e01b81526001600160a01b0383811660048301528291908716906370a0823190602401602060405180830381865afa158015610cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf99190611846565b610d03919061185f565b9695505050505050565b600080610d19836105cb565b90506001600160a01b038116610d325750600092915050565b60405163c676ad2960e01b81526001600160a01b03848116600483015282169063c676ad2990602401602060405180830381865afa158015610d78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9c9190611872565b9392505050565b61056c83836000610a34565b610dbc848484600061053b565b50505050565b610dca610e3b565b6001600160a01b038116610e2f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161040e565b610e3881610ec4565b50565b6033546001600160a01b031633146109e95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161040e565b600054610100900460ff16610ebc5760405162461bcd60e51b815260040161040e9061188f565b6109e9610f70565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610dbc908590610fa0565b600054610100900460ff16610f975760405162461bcd60e51b815260040161040e9061188f565b6109e933610ec4565b6000610ff5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110759092919063ffffffff16565b905080516000148061101657508080602001905181019061101691906118da565b61056c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161040e565b6060611084848460008561108c565b949350505050565b6060824710156110ed5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161040e565b600080866001600160a01b0316858760405161110991906118fc565b60006040518083038185875af1925050503d8060008114611146576040519150601f19603f3d011682016040523d82523d6000602084013e61114b565b606091505b509150915061115c87838387611167565b979650505050505050565b606083156111d65782516000036111cf576001600160a01b0385163b6111cf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161040e565b5081611084565b61108483838151156111eb5781518083602001fd5b8060405162461bcd60e51b815260040161040e9190611918565b6001600160a01b0381168114610e3857600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156112595761125961121a565b604052919050565b600082601f83011261127257600080fd5b813567ffffffffffffffff81111561128c5761128c61121a565b61129f601f8201601f1916602001611230565b8181528460208386010111156112b457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a086880312156112e957600080fd5b85356112f481611205565b9450602086013561130481611205565b935060408601359250606086013567ffffffffffffffff81111561132757600080fd5b61133388828901611261565b95989497509295608001359392505050565b60008060006060848603121561135a57600080fd5b833561136581611205565b95602085013595506040909401359392505050565b60006020828403121561138c57600080fd5b8135610d9c81611205565b600080604083850312156113aa57600080fd5b82356113b581611205565b915060208301356113c581611205565b809150509250929050565b600082601f8301126113e157600080fd5b8135602067ffffffffffffffff8211156113fd576113fd61121a565b8160051b61140c828201611230565b928352848101820192828101908785111561142657600080fd5b83870192505b8483101561115c57823561143f81611205565b8252918301919083019061142c565b6000806040838503121561146157600080fd5b823567ffffffffffffffff8082111561147957600080fd5b611485868387016113d0565b9350602085013591508082111561149b57600080fd5b506114a8858286016113d0565b9150509250929050565b60008083601f8401126114c457600080fd5b50813567ffffffffffffffff8111156114dc57600080fd5b6020830191508360208285010111156114f457600080fd5b9250929050565b600080600080600080600060c0888a03121561151657600080fd5b873561152181611205565b9650602088013561153181611205565b9550604088013561154181611205565b9450606088013561155181611205565b93506080880135925060a088013567ffffffffffffffff81111561157457600080fd5b6115808a828b016114b2565b989b979a50959850939692959293505050565b6000806000806000608086880312156115ab57600080fd5b85356115b681611205565b945060208601356115c681611205565b935060408601359250606086013567ffffffffffffffff8111156115e957600080fd5b6115f5888289016114b2565b969995985093965092949392505050565b6000806040838503121561161957600080fd5b50508035926020909101359150565b6000806000806080858703121561163e57600080fd5b843561164981611205565b935060208501359250604085013567ffffffffffffffff81111561166c57600080fd5b61167887828801611261565b949793965093946060013593505050565b60008060006060848603121561169e57600080fd5b83356116a981611205565b925060208401356116b981611205565b929592945050506040919091013590565b600080600080608085870312156116e057600080fd5b84356116eb81611205565b935060208501356116fb81611205565b93969395505050506040820135916060013590565b60005b8381101561172b578181015183820152602001611713565b50506000910152565b6000815180845261174c816020860160208601611710565b601f01601f19169290920160200192915050565b6001600160a01b038316815260406020820181905260009061108490830184611734565b6001600160a01b038681168252851660208201526040810184905260a0606082018190526000906117b790830185611734565b90508260808301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611807576118076117df565b5060010190565b60018060a01b03851681528360208201526080604082015260006118356080830185611734565b905082606083015295945050505050565b60006020828403121561185857600080fd5b5051919050565b818103818111156105fb576105fb6117df565b60006020828403121561188457600080fd5b8151610d9c81611205565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000602082840312156118ec57600080fd5b81518015158114610d9c57600080fd5b6000825161190e818460208701611710565b9190910192915050565b602081526000610d9c602083018461173456fea26469706673582212200c29eeed0573b5b28c76cb1711251f0a9b4583944ddfc5b20d4c1ea70c7a325064736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d0275270b4807f5d48aad4b2a0b205bf8aab8555200c795b470d8a1819e070119196105581d02c596f1533ac8978df8ae88175c36b4871dfacb9807dc8d2695a2810b0c0947048e102b11080005581d027ce60966cf91ab006575734ef26754df0bb1aae43c80d11b7fce45aa0c0d471aec4994c38ab60219045005581e0388629c67953ea7a36996794f447d814f574e554364c70bc10f9b33e3600c02449ef730c003e9127f08e4b50c770638c008f298be513e06c70b217b393134db2e07ef67013e038a0142498c46e360e5c791ba13c31b243687ec092715a050463fb735b647794905581e03be8139c91da184d20b11cc5d45f637d894d5d14a66e992da726df3c0900c0347063d708eb323000321698cefb7650b97894ae8ecefd2eabfa417d7f2009662a05f6b93b780940d2901410a05581e036d8966c4cd39ed31d27bf9f873bbd75bfeb3aa0553ad2a25ba8f6c43e00c02471038f8d4c38a000219df8e03cb87b321eede5bfdd6a279143f2aaa0f08eb65606d2816c4bdc1b0f238a134f703f1a9f0e2f275d9a2f2d6262e307b56b6cfdeaf0a56d38333c64885c03a80e21503a66b13eff142e2b843a15c17965b17bfb1e5e73a15522fcd82b1e86c0f72938403be8808c27bc685d5cb63ada4fe79c25505856450441e8be3baf4cb870a8693900383759c07cf6fce428ca80b290a3129877de510e45d582c478fd0e35824816b480219ffff03081b233b6c2ea96af5ef8dee11a8b247e1fbdf2c84c6e2a4b43d5ec588a0ca5d033654b33b101f769ca68aa4fa52014799c450de1de05d67686803d0ba66c2298a03fd82aa5914ace58804e6feeaf54b88db1f84aa96e31146776f00b9a89379942b03367e6d39d1841a69e5bab525efbc67fd986c67eb9349e3450a3ac9400d56eb99033987a5c8d7e2e78309ba95043e2ec75b1c61df39b2de8084554df8bf5bef48a0038eab82ab1dc89b077f850eac4d2ef1c0cf98ed93d862434a6f08fadb41dc546b033472027adba820ab75e4a161c93f68f5c89b3d6d7c014bc2a3bc80da1d6a6d520219ffff03fcf3bff4e29c35909d82a1fb08ba8d5a69338de6958445a551f83dfb23316636035456d2a88b642a221254062eed5c6a1854dad64785d5724772f6ac7d9e2a22da0316cda6e267170db58761ac6e40b9b4293c8999c8f7c7ddfda892e762a0d2d7b1039f373365d68d2683404d1a5fb7a46b1bdc5d3d5ca6b323adada6a2168843b9ce0219ffff037dbb8ce88fc801bddb1a826cd117daabc28e4dda58b68eb4c54b690c7d511a72038cbdfa4897d1b9b990f255614a1a44e4f088a5f8d23f0e46a4b50bd32940c32603fb84f8f31391a43be7af63a55a885c110b98934599176cce1b2d32e210cdcdcc0219ffff03518aa7bf7c475868f990151070c40a4665a13acf652cce56bbe3a06e653fce4803bf82018c050dd8791e4671dc80abf7a399f0862b6c4c7b1b287260d47d7ae2a3032a2625f880bb027af378fbd47eab4393d1903ceda716281c27203bfedf8c9c92038c18a30afbabd869c6f4870303d889d066f5755b53189a015b46b17b34aadea603b2b0991c64f592c291abf54cbde9df524acd869457fdb82fcf3ac78581094a1303f97b7360fedb0e8359c9790c89d878d767180ec45bb043caad351f711564e4a30392a26818e8f3bc2ae800455b7b5fe56da656a3f24e8ee6f6c39263351fd9e7b903c5eb3e2143ee07033027a460846a7cf786cbe023df4de45beb83032d2749b2f4038141a5b64c126b4b973bfd533c4a20b116ea5635ec1a43255d1043c3adead6c603b16592ab1ee572cd356700e5fb7462420f74d87c50687158d76c65543cf422f503af68c06dcdcfcfee28d7313792d54af8be874b38682a7927de6cab82390ce076032fbf655521388bf926b91ba8b1635e5f41c2a6d26581e314736be07cd8519d9f03edaf752685f167ae62708d0c72511a2dcb11edd9c464926541525dc3b7e00283035b558bc8890b02adf6192c145488d3710928b87d61c2b69e531e145695d17bea03ca7fd14a66cb5d9daea29e62a7a9434624b9f538c9b45592fcace732ab1bc818038f65f0904df99d67550fd2d42e18b4f91eb59d2daab68b089ce50d8c98afc735037c6f2a65f22a22adace9d1a9fa7964b3fa647bcd7513d7e9ce2d589bb9479fd403c9af306e3b5041264d448c97e3773338b6d5139f88e2e7930849d55000dc854f03fc2ca2164640a52780f897c492ff94cd02a4d45052c1aef0b5bf22ecb7abd8a403cae135e7c142cb2d0d00e026f74041f2b02416b6f3411383aebd1ffda883b942038e954b5f71f6953c217273cf89a5df5f1b5f381a4a25a9516abdea420e57de3803e4aa34cc714247a7e313062404dfbbfe0de03d7db786d12cd63f1b20e5f08d8103c9cfeda1ee5a130fa8581d7f00f7e8c8f2bd96667755155431aa462124a5874303db30c7eeeb77828f6d7ab43295251a728e4cb278c630f78a406201cf9a3220fa036357a546f562775235cc290b909fbde31539b7a2e70d849ceb592a725a4cfe9b031c32e26c656ea5d7f50c6594b4dcdeeada426ad5ef06eed0811889b4bae1dea2035a6d04bf10575557796b6892ce3fc235b5a41ae33dafc12baddcdaaa7b955cd2035edabf079a64cd8c7e93c8a5d5b2b2502dec2c682ac40098359fbc6954fdf86203f187dd6265777ad8ee8b407ff69f7e606e07ebe5ba6f2ebc91c701fb0141d66103aad9189120cf7410888d3d92f6bf76dfbac4c11665d0cf167c7d81410e2bcabb03fcae5a9b009636f76319c0413f35180056e86ab2e7dc485697e4b17e987072ac030da306ff8d5c70af7e48151cb13b7f68988ce7a17cc3f7102ab58c752e2c537c030c2e66f90cca71602e563357ea7139ae0f63babacf6b5650b583c03a482693bd03e6f48d4a000b876b82aa8ca091bd18ad9b104129b53805a8231b1c96c14695ab0303b8183a2fc83b295f206031a0aa71d7624504e70608c9afd89d049569e2a9f303251025bfa7f3add98531a763eff99835443dbad41181017511ca5840c2cba57b033462fd0de9705a7f6bb2178ef7ecc000b0f74ed80a02f2575cb288e34ed452f50388ac71783808648cd6c05bdb338e4a9b59fcb05ac3954140d1a227312d150c6105581e03307a7d4ec62b1e2b521f8934a4addd48353f738ad06a6f7ad4769a59200c0747037f1d2021d800032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203fe117ccf3dd9facd164a076436296b74a35c4e02e765b51024caae30cfc974c205581e0328cccadb046f83d790dac51d191d85ded0db2952030b24d3809ccdd45007011bffffffffffffffff05581e03480447ded22fea63982441f1b6e1e7733a5f72e760e90c4835a0c351c0040105581e03618e26b614acb0c817e8b04d5258c0d2f85f94402bee56bc9ae4795a400c0147c194728002b40005581e035e9fffa08714a74e0b23b745774a16a69f1d46249ae01bc494ca0f8380040103464a78a0d8cc58d3a09ded668629d5e56758459a7bc8619b1ebdc835f313a92b05581e03cad83683560befe7510ef2ccd7d2a7bac4672f2476e0b7755a577261b004020219609d03ab11182a3644509ebbfa8f098960a47cf58cdc068e8fc4127ad8da45255d2ae6032efdc47c5434b629696d56500907477a8e20cdcc9b2db7bd28d036001f92f8aa0348bf09d18d2fea0619a5309c1173028ba0cbdcf50045e487393e99250aa924a20324b8e8353ee991e32ead09e9de9045fcf56ee0f7d6f9c1c67abd6d8177ca29760349eea317d384a37974da3acdce541d8c1c3ca27a7b57f774a2f05bf1d5289b310219ffff0359e3e29c655ad71375ee081c8c338421079e10525027bd25e1a9aaf7805b063e03ae6481dc48208501b0f322eacd2ec970e1eb42eb0b2b0ff1c28befb1d5f5682a035e4352b2ebca420f27c0c4ddb68133c36a00567235fafa318289455c750bd47803505a68de608ed0cb6e24babc90b83bfe64c753a6e4bd4fadfdc08579d254694303f4f9d1d974bf93661efb20e5ee381825c066a8961527844617825712575f4f7a03713d2f8c26f40b7c741123b05c51522a0c5704440120542cb1d941f6d1c7b271032236399fd04450ccddbe9417fcb1e71288ae066d8d763054f3d8ca8456239c780301fcb4198e3864a542d168370cf49db019a24908b7198e00d2a1a84421f7122103e46f7240d9beda99d12403fe6336d8653169e95142220fabde72e9b53fde521d0380fa29a6bbab67ac1fdd0a45a04e2aa392ce7aaecdf8ff3ceddf7e0c3c092eb30318f927a8f275150d59195fd496b7dfb8649ae753e683b063d205fcbef7ed3bd10219ffff03cdd75eee82de18a8bb7c9d8014dd5c35156b192e430b077e8461708a1391f2f6038b488a0da5e42bf4bb1c66e11b8919ed4656281c759626810f5c9f3eaad5051b03ae786ac398d01e849fa14ad4764e05723d322d53cbcfe49e66436d5edb955caa0219ffff03314699f30c811385d71b771ac8a81b1c7611fc49f9fcb773f71590757439cc6b030091fb7b8e375ace36de3fc8cb5dc627ea6ed487c18633d69b998e9ebea9a96103d91b79f3adc71821b153ca19a88eebe65f3422a4af08aee00a6c9842cc5dab230219ffff036ed2647f4f727b33432ca1581d15732bc5ebbaea207123139f16aa2ff6f377690396c27109d2f1a7691d1545b9e4327be0fd86f48766cb678a3f07a91ca069972d03937ce710432d6d5d2a9b2a5abe09516ea3199a013f27013abc83cfa6ddc900b803723175de785b532c3f95e4860ef566575163b5bbfd341ef958a8f1d397601c6d037cdf24945e8f056c2126144bb8c0066721e81fef3dc9cf830e1b6c3d88af37680377c674ed3bc3a705a9c06bbfd82bda1ab6de420cca636ea412c4eba337fd312e0313a811677a1fdb0e8298b36c75b9bed5dc7b547ba6150063c37885332802588403883363641bc0dfa151c8247a99af7e004f5e56390397a154069a13d48fd70f35034e9e758bf77f9308f95e7aba27b17a3add5e87cbc052b069476a17c073b32aa203c2302330f9dd8daf9b1753c63ffd76a169cd7c9f02912eebeb2a7926580d88b9038130c5c95511c586ea069760d3b6afa657101537f9f51f8744786fc6fd15de9d034299febd051f6d1d04379f6358bb862f27f986f6ff69cffb82b554e7b69ad79403f006e861aab2e045b9e68c76a939dcf6ac03c680b37103c1c06aa0f244aa986e033c5352899943c626d445d73a3347097a10e0341faaf79748b88e7c06ca26d123038b4bb01111178e28984956144ffec1a92da25717775a08fc4ef24f6b61f898c8039b85d587b68f90598315f1371ac51093572a6d4eafa3b13502b4ed9edcecb4380374dc0321597012dcc1e572d7ab2ed10a21e5b0ef89ae9eb6d77542516ff5542903ea74ef8dec3aa4fce8ef8e8f4b74c8e82b08b66a10071fb03dca501a8072f71803a793d630d54018c6459401769490c0c2c0de6b7845a8802d715ce7d58e38ca160365bf7446367ef29863091ea3f30d0887dd0f5804dff4195e9a06d3fdc7a6a0920361c6e93e292b434f363e19194ca1d7702cc93ae319085f32de2a2fd69da24981038425ab33c6fac84465261d8fe798ff2c7e3b2f3a015830c1c3b197098dc3979503281e88cdb52ba905a9d22e221bb7a69402106d81adda29a187de38512fc47a7305581e03a9efda796b798adc52029029f2de8711ac41f34030504f0f5a02e814200c01470a133d80473ecf05581e035b9c4ad0872802e21e829bd942ee10f55728b3c860ccad8743c4e549d00c02469a062518c2c8033b05cee3cfbe2001ebd51430e341b47f64b484a13ffb1db0571c0aaa02ecb77d0459157b608060405234801561001057600080fd5b50600436106101da5760003560e01c806370a0823111610104578063a8af32e9116100a2578063cbf0b27611610071578063cbf0b276146103d3578063dd62ed3e146103db578063e5e808cb14610414578063f2fde38b1461044257600080fd5b8063a8af32e914610391578063a9059cbb146103a4578063becf7741146103b7578063c50b0fb0146103ca57600080fd5b8063878e7ea5116100de578063878e7ea5146103525780638da5cb5b1461036557806395d89b4114610376578063a457c2d71461037e57600080fd5b806370a0823114610318578063715018a614610341578063845f290d1461034957600080fd5b806332565c491161017c57806342e473151161014b57806342e47315146102d657806343f42802146102e95780634da7808a146102f257806362759f6c1461030557600080fd5b806332565c491461027257806332c882041461028557806335b48afd1461029857806339509351146102c357600080fd5b806318f510eb116101b857806318f510eb1461023257806323b872dd146102475780632a3890621461025a578063313ce5671461026357600080fd5b806306fdde03146101df578063095ea7b3146101fd57806318160ddd14610220575b600080fd5b6101e7610455565b6040516101f49190611315565b60405180910390f35b61021061020b366004611295565b6104e7565b60405190151581526020016101f4565b6003545b6040519081526020016101f4565b6102456102403660046112f3565b6104fe565b005b610210610255366004611254565b610547565b61022460095481565b604051601281526020016101f4565b6102456102803660046112c1565b6105f1565b6102456102933660046111da565b610637565b6007546102ab906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b6102106102d1366004611295565b61068d565b6102456102e43660046112c1565b6106c9565b610224600a5481565b6102456103003660046112f3565b6106f8565b6102456103133660046112c1565b61072d565b6102246103263660046111da565b6001600160a01b031660009081526001602052604090205490565b61024561078a565b61022460085481565b6102456103603660046112f3565b6107c0565b6000546001600160a01b03166102ab565b6101e7610990565b61021061038c366004611295565b61099f565b6006546102ab906001600160a01b031681565b6102106103b2366004611295565b610a38565b6102456103c53660046112c1565b610a45565b610224600b5481565b610245610b1f565b6102246103e936600461121b565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6102106104223660046112f3565b600c60209081526000928352604080842090915290825290205460ff1681565b6102456104503660046111da565b610c27565b606060048054610464906114c4565b80601f0160208091040260200160405190810160405280929190818152602001828054610490906114c4565b80156104dd5780601f106104b2576101008083540402835291602001916104dd565b820191906000526020600020905b8154815290600101906020018083116104c057829003601f168201915b5050505050905090565b60006104f4338484610cbf565b5060015b92915050565b6000546001600160a01b031633146105315760405162461bcd60e51b81526004016105289061136a565b60405180910390fd5b61053a826106c9565b610543816105f1565b5050565b6000610554848484610de3565b6001600160a01b0384166000908152600260209081526040808320338452909152902054828110156105d95760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610528565b6105e68533858403610cbf565b506001949350505050565b6000546001600160a01b0316331461061b5760405162461bcd60e51b81526004016105289061136a565b6106276012600a6113fa565b61063190826114a5565b60085550565b6000546001600160a01b031633146106615760405162461bcd60e51b81526004016105289061136a565b600680546001600160a01b039092166001600160a01b0319928316811790915560078054909216179055565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916104f49185906106c490869061139f565b610cbf565b6000546001600160a01b031633146106f35760405162461bcd60e51b81526004016105289061136a565b600b55565b6000546001600160a01b031633146107225760405162461bcd60e51b81526004016105289061136a565b600991909155600a55565b6000546001600160a01b031633146107575760405162461bcd60e51b81526004016105289061136a565b61078761076c6000546001600160a01b031690565b6107786012600a6113fa565b61078290846114a5565b610fb1565b50565b6000546001600160a01b031633146107b45760405162461bcd60e51b81526004016105289061136a565b6107be6000611090565b565b6007546000906001600160a01b03166370a08231336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561081457600080fd5b505afa158015610828573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061084c91906112da565b9050600081116108905760405162461bcd60e51b815260206004820152600f60248201526e1393d7d513d2d15394d7d3d5d39151608a1b6044820152606401610528565b8082106108d45760405162461bcd60e51b8152602060048201526012602482015271494e4445585f4f55545f4f465f52414e474560701b6044820152606401610528565b825b82811161098a57600754610978906001600160a01b0316632f745c59335b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201526024810185905260440160206040518083038186803b15801561093a57600080fd5b505afa15801561094e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097291906112da565b336110e0565b80610982816114ff565b9150506108d6565b50505050565b606060058054610464906114c4565b3360009081526002602090815260408083206001600160a01b038616845290915281205482811015610a215760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610528565b610a2e3385858403610cbf565b5060019392505050565b60006104f4338484610de3565b6007546040516331a9108f60e11b8152600481018390526001600160a01b0390911690636352211e9060240160206040518083038186803b158015610a8957600080fd5b505afa158015610a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac191906111fe565b6001600160a01b0316336001600160a01b031614610b155760405162461bcd60e51b8152602060048201526011602482015270135554d517d3d5d397d513d2d15397d251607a1b6044820152606401610528565b61078781336110e0565b6007546000906001600160a01b03166370a08231336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b158015610b7357600080fd5b505afa158015610b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bab91906112da565b905060008111610bef5760405162461bcd60e51b815260206004820152600f60248201526e1393d7d513d2d15394d7d3d5d39151608a1b6044820152606401610528565b60005b8181101561054357600754610c15906001600160a01b0316632f745c59336108f4565b80610c1f816114ff565b915050610bf2565b6000546001600160a01b03163314610c515760405162461bcd60e51b81526004016105289061136a565b6001600160a01b038116610cb65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610528565b61078781611090565b6001600160a01b038316610d215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610528565b6001600160a01b038216610d825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610528565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e475760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610528565b6001600160a01b038216610ea95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610528565b6001600160a01b03831660009081526001602052604090205481811015610f215760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610528565b6001600160a01b03808516600090815260016020526040808220858503905591851681529081208054849290610f5890849061139f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610fa491815260200190565b60405180910390a361098a565b6001600160a01b0382166110075760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610528565b8060036000828254611019919061139f565b90915550506001600160a01b0382166000908152600160205260408120805483929061104690849061139f565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60095482101580156110f45750600a548211155b6111385760405162461bcd60e51b8152602060048201526015602482015274544f4b454e5f49445f4f55545f4f465f52414e474560581b6044820152606401610528565b600b546000908152600c6020908152604080832085845290915290205460ff16156111a55760405162461bcd60e51b815260206004820152601960248201527f474f4c445f434c41494d45445f464f525f544f4b454e5f4944000000000000006044820152606401610528565b600b546000908152600c602090815260408083208584529091529020805460ff19166001179055600854610543908290610fb1565b6000602082840312156111ec57600080fd5b81356111f781611530565b9392505050565b60006020828403121561121057600080fd5b81516111f781611530565b6000806040838503121561122e57600080fd5b823561123981611530565b9150602083013561124981611530565b809150509250929050565b60008060006060848603121561126957600080fd5b833561127481611530565b9250602084013561128481611530565b929592945050506040919091013590565b600080604083850312156112a857600080fd5b82356112b381611530565b946020939093013593505050565b6000602082840312156112d357600080fd5b5035919050565b6000602082840312156112ec57600080fd5b5051919050565b6000806040838503121561130657600080fd5b50508035926020909101359150565b600060208083528351808285015260005b8181101561134257858101830151858201604001528201611326565b81811115611354576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156113b2576113b261151a565b500190565b600181815b808511156113f25781600019048211156113d8576113d861151a565b808516156113e557918102915b93841c93908002906113bc565b509250929050565b60006111f760ff841683600082611413575060016104f8565b81611420575060006104f8565b816001811461143657600281146114405761145c565b60019150506104f8565b60ff8411156114515761145161151a565b50506001821b6104f8565b5060208310610133831016604e8410600b841016171561147f575081810a6104f8565b61148983836113b7565b806000190482111561149d5761149d61151a565b029392505050565b60008160001904831182151516156114bf576114bf61151a565b500290565b600181811c908216806114d857607f821691505b602082108114156114f957634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156115135761151361151a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461078757600080fdfea264697066735822122018d345deda60bb8be6ec0c2ba2226db04e33cb88103206e8363649e23673249b64736f6c634300080700330361db8803d6809d6ad81493fffb9bcdec2462b91ebdd6d114e945b48c274828d70343063d53138fa78a2e84814648444137bd45225f75142c00d2184e57da3b0fbd034767123448adeb774feee06255b5f6a375e509889da303bd279d7f67f2dab5310383650910b2281379e337e07311a11e85459bcc3fb9e7e63032a7f10f7a2f8aa60335fa4d80594752d895a3503cc72b575de50806e9b7e19740234625eda626df990398e07d7ec13a7a1460c952df12812670175164ca083a671707d2077671cf023f03b6f2cc339741e2cec3db5110fa164cb387053e443946543b4a97a898eee938a503f18f2dfe62175452a4724dec6118429bdc7191a601bca05a7c7444948c0e2aba03351905ee5e2179055b819f97ed2790ab482c5f215878745fbeb79f529ec150c00347dde89a6d549b28d12081b871ca4c22bd35f2af91b4b6652c93806222a3f48003d019e5f89e12e1e4b730515abda288e835f0957085024c5a9a182c5f6fb25385031ddf39bfcda1aeec1f0a23c295f525f912ddb78d9414525497491e52a5612d4a03a1697e0b74f796b7abd3a3740015fa524889355475926c527517c66e203662d503582cc59b1a94efab67194906f6d8d94447f845596fa0ed8ad962291e682aa775036465049135bd624888a78b0c64731b22c5e37f7830e0619b4c8cc69065a26cc203db57f8e8a386969c8380ca161ec251c296ead13dbb508452033ed988f5215e47036dd17e7a9902cb957c3b9408f41108036d4a5da548a87a5d7a07835a05419a640382e715c5fe9bc1573c73853476392b19b6a7efd2b37103b40816534d83584ae400581f0214b5db3178eeabae688b86ead00e62943ddbcfb529083c0ea5b2a0c42ce9410100581f02e1beb74043daccba4fb818029606ce538746407ae4ac7f114a160f969aed410100581f028d486a94086ab5f3acc5e1689aaf783391d62ff811252889f9d382fa4f084808c5e94ac1945c0000581f023887dfdbc977c6eff56614f7c0fcef862d9506bc9a2e00a7e907eb46894948016345785d8a000000581f02d1112463f80ec78005c3aae3e53e739d08e9336d24bf014d948f257e010f410100581f02279734bf4590d610745db18898689894861690d908f96794d20d3b42e0355820fffffffffffffffffffffffffffffffffffffffffffffc9ca36523a215ffffff03a19eba5a59600f1d868a97512a56baaaacd5373d37494f8d0538cbd5fed9f31900581f027acccb5cfc179a3a2edf5307bc25510010bbe7e76aaa3daf828c592411884b13f815c40865489eba2a0300581f026dc9ea047b25d79442a772fe817722126e46e8c1e3fa71ce1fbac340f4b148329fc9574deb60000219fa25030ea793563d0df93915b814896454f87cf0fb990b56a8adec226d0f2b359f631503df13684cfd8ca51640373ce7222d20c947f238717d6e3e74c7adb3c5099f5c73034955ea0158f384493d50a84948444034e2add2481c3747498da53e9d8b074a66039c6dbed62532e6ae6b90d2b9e8d785545724d6ab77d011dd45fa175db7bc2be3034c989b3a51bc5211a29a89bdabdc119158c5ddb31139758ccaad179c0c1990ee034f39d90d7f0dcece5fe7f9fc427af684d87dfeff302df150c8172c26d2a4813d0380028652136be52b0b5538e6bdfd5a1474e78d561f6683de5531a281c314eb840219ffff03deed9e59f55082f17cf5e4742812ef020056e02859dfb1ea16bdeec4c974ce57033f3d9e55f90c73305bc545db249f97299a35274cf587296b797d828227dd55ce031b917f0528a6fb1d47d9c63d7f71bd31f71a538b81ce988f3c84e075c1d4d9d803b77dfdec4aef7385c907744118ec82d6f3f68a0bde9afc16a35a579cf01bd147036e3ed079356e6c8de45eebfeb12682b511465273bc1d9e132ff7202d75ef63a40219ffff0386a2768b4881213f2e89bf9e88c0c1c56fb02e0a2e33d9ef75663ff00247483f036d5ff7d669fedc0d7782c256a6243b262c17958ada133675cabcb19921468f0f03be6566e5e0e63e97f48e4e3730f6263b0c01cc3d4695ee264dc52fd47ce0b3cc03332b899319f96bb25c569b79561fad2ecb7ab0fd9fcf795d1324eea7c495b30f034b4945e9d74deabd05e55a1d54424f318329fcd6b7c4c95b2277ff3e7de27110039f86eb437bf8c18c1731e8ab1dffef5f455825746b4c3cd46a3d56e029d232ac032dd689f6f226ee2409aa8f0763441eb1f8e9423f717685b5ee902f24c143042b0322e0fc0a551dcb92b1819ed846bb3c4f446125e14b28e2171fddb7f163c7448a03c89effc1b80b04a97e59a7212c8af549d91fc8c3ffb84d96ef37e0274ce2369803b94f0203192cb57d53e5b0c31a80542a64ceae80f03bce6567da4569fddb82f70334d5c98dfd6a110480177eaed8c2ac044aa655575ffbed1ce15c7040e953c43103dd0db48c81f6a3a36dd91072a9aa2fc8dec58bb7eea933d8cb9932cc4d1c941403b78f9218937b73e1d829e7adca3b14f1ba20493d3deae9f9b6ec64983facb62703d355486213f19119acc4e7ec61c65125f19cf286e096183079a2a534c9d9997103ff433da98d15b04a7a8eede1b2fae7e4ba16e85159a9d9803f22a82c4aef167a0324cf408282892d7703927f76a447c80c4983d62bafa4910aa0ddd1561088c46e03cc45538460a37770e25b6ffc4104d95213d88124eb4692a7281f271beb58641f0353a99d3e19e8fd8fd279d0455b8b035be90114ae48e88f08b620d1d92a57cd7c03be2d7473dff3aef68338808b1a55891e3b028ac21b8474f1d4c542c14afb0e230330891cfcba2497e5430ff6f1026131ad2ecc783f9d847d7420aa81a5ef95748b0338c4a6d146da872dc332fc73897be09916f52da25df480eb44392bcc1b55383a00581f0228e1a152bbd485f46baede97141fafb2f3c7efd4c7a32a9a32a61e48134348016345785d8a000003491b8877f99aec15ca4154fd0f738351b630368e3aa32a8be1364ee26c9cb88300581f023b038546e1266a11af1a92ae54e3a62da5382af514936eadde81ba620bf441010321753c038a815d2607b8ec99ce6a550b1e593a73d9aae1ddaf3383b8810e364500581f02557a47e87f9a1bd5a43a70850a2af613dff32780ee63a857ccaf39125678491092c4878144b652dd00581f02344797b8c3d8923bbaa24e8f8aff7bcae652718cf8600f9c6b6338b6d87b5820fffffffffffffffffffffffffffffffffffffffffffff96f7c93f50a0a9fffff00581f027f43e977be06d2225966c66dd74ec6c2e323a6ceb3a15f33eedc11bc5e11410102192c4d03e6a20cf57e8469da353ed4a9c01b1b454d5b5bfb07c363b3b5c86910e108bb3a0376b7ae5b8d81cf94fb4e2b9a6eee3927c1628b852acfddf51eb0da3089d61f69037f321ff0060c1a638d2f6e8bb31c57318dfa39ec9743251d2acefb6c29d443e603a76a36373a5009f01d62dafa9e573b6186eb813ecdbc77798a2e08fe5f707e7b03046ab9ef292a38c695c5fc609913c81cd669d46107bd77683ed2a2342d127c1203b08d9a29ad60c68d1e0900fd025b69335ad3e41dc5c5655d8df147934d0765bb03e0dd557d14c245d3966a19b9d6be1b604e5933f3ae10d14c2db422baf4521f69039c1f3462f6ec2195543155223502711f390bd5d691260dee1dd3692eabae049703c5d087d76b9398bb455953e8c1bb9b7e9aa0fa84102fdabaccc991aa34e66a2c03b793e814251dc8e519d6b2ce7f7b5b1f523b7c16d6a527df807a41df8e45723c0219ffff0219ffff03e6d9b4ad3dac1cff84c63c3e87703c2a08aea79faaafa0f1a3f6f74d8432177e03766d7f0839ff7a65c02f6b0d058c426157fe1da86c4b4a8f8360a636f1c0937e03e979ec44ce4a53ed87f6c33ab394538373a303b38264bdc38287500f1e28864803af3c5c10ab581f167a45cb783373648ae7fa3a34c19e997f0fe522737b630b12037d5d444923599a572034c386a996c336de6f847e3e8de823baffbad3baf25ffe03a89009749212ea603805f66aa4643dd4acdde0383a2ce2be54049578e6392cbd03aa14574a7cbe1f769c509d2a6afbf97683f820f3786b661232d3e373c8dae62803cf5c5cf19ad4c1059df4bef3ea2b2931226ffd7a537bc9c2ecf8908e70f11238035ffb63f5134f87dfa6d3bbff22eb56efe5cfa36ed583da7d47728f38f398e211036c8f961c628b272eb38d227a5bc544ab5146303299a7314ca94349c34ed0c309035181703d71f028f1dce51aa5416807f05d763c49ecc029e71da6290cc558da4803d6b93c941df059d1d3947a2c394bd6bc379abaf70801173e75ab1f28f91084d003299d4424482403aa05e3c374778cfcfcb7f3f8bf25b2104a7b980c222d04b8360219ffff05581e0373ed3bd18d046adcc6283b3d4fad120d38911519ddaac786f941907220070119157b05581e03105efa95b1e77a3e0d9d07b8b03c620910e0b916358d881a7d488f09000401033eba1023f6000c321beca864457034b861e352cbef921ed141e26558894ed1df03cb46f359600b0ec7b7794e6e62b7ba3a25a6e69d050449ce31da4b5180d1309d01410805581e03899602a8e1bd0550bcc5f1589489f8394dbd686e216e38d711986f98f008470d0a8686f17113035565b69ed8de5738242c30b14744eb78913e92d123345b5901453b5c9d6b1b1603a3de886295a79c538762329f2ea10d9f553440cb146289fe9503e6cd365bd1a7035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce50361e1dedee683b36b7b9997427077151d7f1e650d6ea9a8093079006b1122562c05581e03962d65460dc78b00762d9d5ec8acd320d57300e8f7b5f06dbae1157b2007011bffffffffffffffff02194fed03ce46c067639c1189d4446eda57865e33f0e8c23d78bfc79682f29ea91fd1576f0369632e5e05593d28db9a3705dc82b8c258c8332e5e34e53626740ef5c06ae217031e45544126e4ac86b5d96ce162b82da5ee33af57579c25fe4150fd7c108172ae038177307d9b7fa1d1f8515dc369c410bb78ee5b188ec840713e1c35e824cd6a0b0364016b47c7b258dbfa1d818401a794e9cc32aab346df2d6f46028d847c3b5b6803a9f3fe046d14c2b6e84ce0a2c2dada43867b9549bb997dfd4e8126cd9a86d36d039c0addb1bba0b407482dce69dd863b2cf1a2d2f9586979ea937c4f9b38865fcb039bd854e2dbbb65c43df5625e4f2387a4609b762726475a84c67fb275806dc2300219ffff033a8d8af2484ec473796c7200410f05a8c07d25bbd29e6480a3c60366f8d1577e03d8548b08e395f00f9b16c3ab7ba59977adce1ac15d54a4a7fda12c24b3bcf89a030ceed1f86081303e3db9ab3de51cc3edad144dab68bd8679409f4056728213420391d770818742adcd8ff5c1021f96782ab114136ee97096bb7e500c7b288dd39703df7d0f7e6ee54c466e1e434af88eaa96b0e44f565e2b40733254a360d7bf7d4e030b06e5c5f93c12a41be1760bb1237987e28935980089c6ace9f01e12b9f08fa903294fb9b7ef4a4b7a2decba819ec4c046e14cb7eb11f7052e5c1f9d5dd1583af9030e0acaaab7ef01a0bc87728cb0285da08428f951d2ad4840133e8be437bf55fb03c1737ad326df560a2af39fae114b9e8d1816f20af2c0d2e471f1bdcfc7c824ec035d1ca2f50fc28fc248cad860cd85ac34a927623f446204cfae9a4e7cc25896c1031a33380d96b4a85eb0335a817921a9652b5a38fe7d908ad128eeb753ec30911603e7ff0c264a96f8384d604a54b88f4eafff57061d5d9e2ecc2a043e0c39f313b5031df46f0259a7738ddf3e2f337dc4120b94bafba52c08e0ce2913cc0eb9d3c2e9037b4979d83614b1aee170f7149377dbe74b38e4c43ee24235d6756e0ea4b3e3070339d5b456a0ffcf73abf9563f03ffe188b4038ddab6450bef330b45621dc0b9d70219ffff031b0960512335397d2c93400a9ededf9705806dafce4e380545406329a6e5b8280219ffff0376fe279c45ea482672e9bbc52323f29e0a7237e80ecb87082434ef749bf16bad03f6dfaf83f1d2eb668b9e3a3f55718fd4b3c834f48b6965a8a4cb3cd5b49ad35d03ddf7395632e80585cff7afd66d715a4d02e17fbb8d8eadfc7cb9f60cee9e7a68034f234f996412f72ede9e3d535abec66ebcab2784ad7ecc6310e0581190855df40345a02ca8fd9254c55a2eb87913efc31f53b0a8030f1d19862d857f8a763333af0303ec38350210218d268c804468f263f8b9a930936dab7a86e47393bc4d3d3e0303ca4b1f154b057f776d0b1c233a7b51f447e082b14eb2d6c4331d8c5ea2617b770385a60206666e91a6b93e9b0368a624416b991ef585c6f67b400afd2e534f835c0319273664fae3a585a0cc1a47cad6200db9502911fb3ccd7870df75ae4a652d9103447386601ca031e3b874d640c5673095c9bab03a3a692732d415a6a32b9062810320d318c831efe1762af46e8c956990d207d8fa543cb4af91dca52b0229976cf503c4ebf6d9b7ede3cc7598b625ee51d558dd859bad68bcaac7e9d720a9935b1d7c039d6c3f608e950fd40148ff3fee7ea19433da976c3cfd8de77342992e519da2f60300ae3a3d030c99553a1c779084e7aeeedae69d917d2ae9a619600baca5331c6d033e5951ec92d556a0cad2ef62115f441890cb569b9a3a85332d21456d2b4cd9800344e6601fdb80ef77798a0858a4099e7096594b8ee27f7ea1f37c4953c9d5fca0034fb31c6e8c206758e3f232182dba9d4339a1be7f0809a09610dbda381844c69603d6166c8ce8e86820196618ebe455e1162ac65caab759cad67abb59c76f9fb2cb032d640fb968bd2d227b9376f5ae5f64a250595b4bc6473569bf06e59a790dddc003cd60b4f41783d8cd780e5898118465f50a4f718aa3b8f4db1c2bd9d360795d5d03847e04f0badff1d11260963e6cbfadabe23a66c7d1dbbd9cb5a46794f3ef3b0903509f68a36da1050a87425264d9daadf6ed58ff18fcab70e770861f93d67e741303868675ab36408d204ac924de1d537dbe8bfb2c867bbf7202a510a1db439eba9203cfbda3e9c4931f07f8dcba79f0c6c80be752643652b56f54eba28e1be92f4f58036d479169151e5e25f97e9f35cdac082739890aac251dd78e224c2e9f506ab5b503569f0b1435e4493063df89d2ac69d2a2a62d0ceb44268e6527186c9305b1976503ad3cf35df9b8daa6d22e7fc7a2f8eab8e3658ab00a312cce42f55e09fd66bd52038e10db6db16735a6884dbe127ea854c5f90915aa99b529ca2e9837ecfbe188b0030e0055612d483190ca1d9c89346e5b13beda3a9028175a9e09857654008c4cdf03234e8aa704d1529fb7202cd2832256a7609b4f618d802049a4687fab5bd4c2020307b5dec5ace8f368bec324e4a63fe40482dea6a364a75680f313f3226def88f00316ba22ec1452754351f345d452a8d2bcd23f1b6350cc2d7bfa542c9c54afccea030c174e14cc7910bb45bf6293be8050c529d774749b9841ebf57a1c7a7caafac301410005581e034173ae6cc19657bac5e428bb0aabf8f40930142ec071c1a49724f57630040905581e03f657b19679f16291a581cc6a9cfbbb53a66461920dda68b17ac158f1f0040205581e03f40d24eeb91a6b9a5ce4a21c734a093062224b25358af8b15560a87700040103ce327b58da2ffc94a05d36b35bd71d8c20d5d752fc4d209044a2b080266c9c3003712135a8ea215f50d7453007e9732dc10c993747ba213268866e20c743c067250397ef34cc8cf23be0e05caef2e893e84c1d8a589153ef1ff08c86af5f5c130c2605581e039cd7381cec1e0c59e2b4bff7c124e8499a0088e593ffdca9a375077bb007011bffffffffffffffff0358bba7144f8b51e6ceab55e622ba2202c77a6393eb69af6052adf96fd68aff4901410703b358c9e0644a0f14d99b99a65a481096c4bcfda20542281449e56eb778060e82035aeab3f10a4d4d9d8857c15202eb77bd86d442bf7639c94f502eb524b38ed59903a5ea88fabc387694445d0c746a607c7bd0f752e2fb139b75b715281a93ab167c0219cdd30219ffff0355ea5542bd8c3530f19a69e995677655a0093d1ebd2deba02557e02b9f4ce7d1034a9b75a9bfa131c6cb68821784ca53dad4d69140a7dcfbacb11e54370941aa7e033a10e26387eefe45b76457f6eabd3e08f1e905e669747450ba5dfd7b168412f5033649ddc94e180d601d2693a4c51f7172c3f87592f52dcad84672f4708e333e7803e889c256c2d1d8f0bbcc4a9b7a636153e17f11161b866af95ce146e547feb15f031a69cddd1182a3c4ecd366040fc08cfa84ca8ce436f4b44b020b839ff8e90b2203609e968a41820780d82032dcbccf6ce5393651d7a1cdd489dc4a9877d675bb1003ac67d3c897e8ef033b3de40faa5153bb83a7af1d2b144e1c29dce4eb3f950379032b77708b79f8c925c478002bb79f93799561989b62be2bc597648e7ad889832803f5e8623240777b6fc7a7298eb1982b73433cdf0c961757c3e85abc812945c9a80379b47dde98b69e70aeb03717a957e416ba3ddd4a1cb58ebc7d0e7e196eee955303af9f27b30f83e03a078662aabd76bd04a8e8613624d4ce6ce7247f6318fc2b28037327ba6679a352c595ce4555a493aa929ffd4c7fac5409812de77cf5033b42710219ffff03d24190b5e4a03cb9a4322f8291c86d595cc234a9a6dc1f91d71b1f27a5313263032dc2f4d1fa83e56707db1eb7b9ec2f7de199b0945e1a072ac3dee332d40751c80382cf7ac91165157c9e4a7b8a4a52cd87628bc111b7c32d3f21119f99c9af0d4303e314c0957bb8b36abb770292c74ace29529789b9ea52f38f17610082bda46227036d82dc345a318355d5e6005b3ed350cdfe99bea977627bf4f11330824145fcf6035a2963006616b9798a117649b6ef9a0d72152c584a2109d665dcd5c6d06d0d3603e97b8a4130ca5fb384e627e4b83effde82113f809f6cab85a815e60b7fd33c320219ffff037b30b4ef07172c1f2b78b5e02554d86ba5524ca107f3b1f6a203a0c676abbd6e03687e011f01365a61d156b070a1c537c7fb52106191b8947a88a65b2a70d9f61b03d3865105f036b5e23987d2060cedd5b64eb47e513d46a9317f5804839722365903507ba1376da77052cb2c5e2a7f30eb044e4b51f9c8cd9c69665755d026353e6105581e034c9fbf0f7f155e5e19c736c03608073651b60ddf75c4d82e7f5b2a84300c0246432836f8600003735428be9e8a865baa7ed86efa87dc37b3b8abf5ad166c012afc9850dc4e7b9403c84e368082d7d72d5d6f8227582a5f5e364c6ed02a7b5e22fb6b1935a3f5420105581e03240d6d25a5741a4b4bc1e153b4172ffeb94183e1fa9570c463c4e9e6700401030aadffb454b4fccdc725e66d91c53e84b3cf6f7a626419925a8b411c0adce45f0301713350aa2b1e11495a6b2b63f5def46030fd7991b72159fc0a432c28ef575204591a8b608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b4b5ea5711610071578063b4b5ea571461025f578063c3cda52014610272578063dd62ed3e14610285578063e7a324dc14610298578063f1127ed8146102a057610121565b806370a08231146101fe578063782d6fe1146102115780637ecebe001461023157806395d89b4114610244578063a9059cbb1461024c57610121565b806323b872dd116100f457806323b872dd14610181578063313ce56714610194578063587cde1e146101a95780635c19a95c146101c95780636fcfff45146101de57610121565b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016457806320606b7014610179575b600080fd5b61012e6102c1565b60405161013b919061173c565b60405180910390f35b610157610152366004611205565b6102e5565b60405161013b9190611692565b61016c6103a2565b60405161013b91906116a0565b61016c6103b1565b61015761018f3660046111b8565b6103c8565b61019c61050d565b60405161013b91906117d6565b6101bc6101b7366004611158565b610512565b60405161013b9190611684565b6101dc6101d7366004611158565b61052d565b005b6101f16101ec366004611158565b61053a565b60405161013b91906117ad565b61016c61020c366004611158565b610552565b61022461021f366004611205565b610576565b60405161013b91906117f2565b61016c61023f366004611158565b61078d565b61012e61079f565b61015761025a366004611205565b6107bf565b61022461026d366004611158565b6107fb565b6101dc610280366004611235565b61086b565b61016c61029336600461117e565b610a55565b61016c610a87565b6102b36102ae3660046112bc565b610a93565b60405161013b9291906117bb565b6040518060400160405280600881526020016710dbdb5c1bdd5b9960c21b81525081565b6000806000198314156102fb5750600019610320565b61031d8360405180606001604052806025815260200161190e60259139610ac8565b90505b336000818152602081815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b03861617905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061038e9085906117e4565b60405180910390a360019150505b92915050565b6a084595161401484a00000081565b6040516103bd9061166e565b604051809103902081565b6001600160a01b0383166000908152602081815260408083203380855290835281842054825160608101909352602580845291936001600160601b0390911692859261041e928892919061190e90830139610ac8565b9050866001600160a01b0316836001600160a01b03161415801561044b57506001600160601b0382811614155b156104f357600061047583836040518060600160405280603d81526020016119e5603d9139610af7565b6001600160a01b03898116600081815260208181526040808320948a16808452949091529081902080546001600160601b0319166001600160601b0386161790555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104e99085906117e4565b60405180910390a3505b6104fe878783610b36565b600193505050505b9392505050565b601281565b6002602052600090815260409020546001600160a01b031681565b6105373382610ce1565b50565b60046020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600160205260409020546001600160601b031690565b60004382106105a05760405162461bcd60e51b81526004016105979061176d565b60405180910390fd5b6001600160a01b03831660009081526004602052604090205463ffffffff16806105ce57600091505061039c565b6001600160a01b038416600090815260036020908152604080832063ffffffff60001986018116855292529091205416831061064a576001600160a01b03841660009081526003602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b0316905061039c565b6001600160a01b038416600090815260036020908152604080832083805290915290205463ffffffff1683101561068557600091505061039c565b600060001982015b8163ffffffff168163ffffffff16111561074857600282820363ffffffff160481036106b7611115565b506001600160a01b038716600090815260036020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b031691810191909152908714156107235760200151945061039c9350505050565b805163ffffffff1687111561073a57819350610741565b6001820392505b505061068d565b506001600160a01b038516600090815260036020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b60056020526000908152604090205481565b604051806040016040528060048152602001630434f4d560e41b81525081565b6000806107e48360405180606001604052806026815260200161193360269139610ac8565b90506107f1338583610b36565b5060019392505050565b6001600160a01b03811660009081526004602052604081205463ffffffff1680610826576000610506565b6001600160a01b0383166000908152600360209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03169392505050565b60006040516108799061166e565b60408051918290038220828201909152600882526710dbdb5c1bdd5b9960c21b6020909201919091527f561ca898cce9f021c15a441ef41899706e923541cee724530075d1a1144761c76108cb610d6b565b306040516020016108df94939291906116ec565b604051602081830303815290604052805190602001209050600060405161090590611679565b604051908190038120610920918a908a908a906020016116ae565b6040516020818303038152906040528051906020012090506000828260405160200161094d92919061163d565b60405160208183030381529060405280519060200120905060006001828888886040516000815260200160405260405161098a9493929190611721565b6020604051602081039080840390855afa1580156109ac573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166109df5760405162461bcd60e51b81526004016105979061174d565b6001600160a01b03811660009081526005602052604090208054600181019091558914610a1e5760405162461bcd60e51b81526004016105979061177d565b87421115610a3e5760405162461bcd60e51b81526004016105979061175d565b610a48818b610ce1565b505050505b505050505050565b6001600160a01b039182166000908152602081815260408083209390941682529190915220546001600160601b031690565b6040516103bd90611679565b600360209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b600081600160601b8410610aef5760405162461bcd60e51b8152600401610597919061173c565b509192915050565b6000836001600160601b0316836001600160601b031611158290610b2e5760405162461bcd60e51b8152600401610597919061173c565b505050900390565b6001600160a01b038316610b5c5760405162461bcd60e51b81526004016105979061179d565b6001600160a01b038216610b825760405162461bcd60e51b81526004016105979061178d565b6001600160a01b038316600090815260016020908152604091829020548251606081019093526036808452610bcd936001600160601b0390921692859291906118d890830139610af7565b6001600160a01b03848116600090815260016020908152604080832080546001600160601b0319166001600160601b03968716179055928616825290829020548251606081019093526030808452610c3594919091169285929091906119b590830139610d6f565b6001600160a01b038381166000818152600160205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ca29085906117e4565b60405180910390a36001600160a01b03808416600090815260026020526040808220548584168352912054610cdc92918216911683610dab565b505050565b6001600160a01b03808316600081815260026020818152604080842080546001845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610d65828483610dab565b50505050565b4690565b6000838301826001600160601b038087169083161015610da25760405162461bcd60e51b8152600401610597919061173c565b50949350505050565b816001600160a01b0316836001600160a01b031614158015610dd657506000816001600160601b0316115b15610cdc576001600160a01b03831615610e8e576001600160a01b03831660009081526004602052604081205463ffffffff169081610e16576000610e55565b6001600160a01b0385166000908152600360209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b90506000610e7c828560405180606001604052806028815260200161198d60289139610af7565b9050610e8a86848484610f39565b5050505b6001600160a01b03821615610cdc576001600160a01b03821660009081526004602052604081205463ffffffff169081610ec9576000610f08565b6001600160a01b0384166000908152600360209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b90506000610f2f8285604051806060016040528060278152602001611a2260279139610d6f565b9050610a4d858484845b6000610f5d43604051806060016040528060348152602001611959603491396110ee565b905060008463ffffffff16118015610fa657506001600160a01b038516600090815260036020908152604080832063ffffffff6000198901811685529252909120548282169116145b15611005576001600160a01b0385166000908152600360209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b038516021790556110a4565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600383528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600490935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72484846040516110df929190611800565b60405180910390a25050505050565b600081600160201b8410610aef5760405162461bcd60e51b8152600401610597919061173c565b604080518082019091526000808252602082015290565b803561039c816118a8565b803561039c816118bc565b803561039c816118c5565b803561039c816118ce565b60006020828403121561116a57600080fd5b6000611176848461112c565b949350505050565b6000806040838503121561119157600080fd5b600061119d858561112c565b92505060206111ae8582860161112c565b9150509250929050565b6000806000606084860312156111cd57600080fd5b60006111d9868661112c565b93505060206111ea8682870161112c565b92505060406111fb86828701611137565b9150509250925092565b6000806040838503121561121857600080fd5b6000611224858561112c565b92505060206111ae85828601611137565b60008060008060008060c0878903121561124e57600080fd5b600061125a898961112c565b965050602061126b89828a01611137565b955050604061127c89828a01611137565b945050606061128d89828a0161114d565b935050608061129e89828a01611137565b92505060a06112af89828a01611137565b9150509295509295509295565b600080604083850312156112cf57600080fd5b60006112db858561112c565b92505060206111ae85828601611142565b6112f58161182d565b82525050565b6112f581611838565b6112f58161183d565b6112f56113198261183d565b61183d565b60006113298261181b565b611333818561181f565b9350611343818560208601611872565b61134c8161189e565b9093019392505050565b600061136360268361181f565b7f436f6d703a3a64656c656761746542795369673a20696e76616c6964207369678152656e617475726560d01b602082015260400192915050565b60006113ab60268361181f565b7f436f6d703a3a64656c656761746542795369673a207369676e617475726520658152651e1c1a5c995960d21b602082015260400192915050565b60006113f3600283611828565b61190160f01b815260020192915050565b600061141160278361181f565b7f436f6d703a3a6765745072696f72566f7465733a206e6f742079657420646574815266195c9b5a5b995960ca1b602082015260400192915050565b600061145a60228361181f565b7f436f6d703a3a64656c656761746542795369673a20696e76616c6964206e6f6e815261636560f01b602082015260400192915050565b600061149e603a8361181f565b7f436f6d703a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747281527f616e7366657220746f20746865207a65726f2061646472657373000000000000602082015260400192915050565b60006114fd604383611828565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430192915050565b6000611568603c8361181f565b7f436f6d703a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747281527f616e736665722066726f6d20746865207a65726f206164647265737300000000602082015260400192915050565b60006115c7603a83611828565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0192915050565b6112f58161184c565b6112f581611855565b6112f581611867565b6112f58161185b565b6000611648826113e6565b9150611654828561130d565b602082019150611664828461130d565b5060200192915050565b600061039c826114f0565b600061039c826115ba565b6020810161039c82846112ec565b6020810161039c82846112fb565b6020810161039c8284611304565b608081016116bc8287611304565b6116c960208301866112ec565b6116d66040830185611304565b6116e36060830184611304565b95945050505050565b608081016116fa8287611304565b6117076020830186611304565b6117146040830185611304565b6116e360608301846112ec565b6080810161172f8287611304565b6116c96020830186611622565b60208082528101610506818461131e565b6020808252810161039c81611356565b6020808252810161039c8161139e565b6020808252810161039c81611404565b6020808252810161039c8161144d565b6020808252810161039c81611491565b6020808252810161039c8161155b565b6020810161039c8284611619565b604081016117c98285611619565b6105066020830184611634565b6020810161039c8284611622565b6020810161039c828461162b565b6020810161039c8284611634565b6040810161180e828561162b565b610506602083018461162b565b5190565b90815260200190565b919050565b600061039c82611840565b151590565b90565b6001600160a01b031690565b63ffffffff1690565b60ff1690565b6001600160601b031690565b600061039c8261185b565b60005b8381101561188d578181015183820152602001611875565b83811115610d655750506000910152565b601f01601f191690565b6118b18161182d565b811461053757600080fd5b6118b18161183d565b6118b18161184c565b6118b18161185556fe436f6d703a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e6365436f6d703a3a617070726f76653a20616d6f756e7420657863656564732039362062697473436f6d703a3a7472616e736665723a20616d6f756e7420657863656564732039362062697473436f6d703a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d62657220657863656564732033322062697473436f6d703a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f7773436f6d703a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f7773436f6d703a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365436f6d703a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f7773a365627a7a723158206589d4ace0383947c7f0391417a2336732243d255d673f763411bc1dfffc84c96c6578706572696d656e74616cf564736f6c6343000510004003e2cb5a81ad849b41600d46cd2b399d04c5c2b4f4f222a09e7ed4ce73d122427403a4a3b0d433f59dc2b865c564a000002e773598f7423c502917e9c19d6eea1ebf03635687cef365503ef2d4a02dd06064a23c299bf0014d4de8c91eee124af7577303f6759ed3a4fa20c3d2ce8749938ab68bc60226eba1c6b1e8396abf398577987903a884062a89fc593702e8b6a640a7948a73ecb7bff035a8b28e25010ac437642b032cc836c693669a1a60bcc9d4e4b3bf5a814e87311f253e71a219e51906e3ce12036e6091873746ef68abbe71e4c53743b73dbb10bc6177b67ea4355713ddff8bb903672b9f56217c0672912f0d7db89ce86027c14a80a0a9385c70648eb15f55ab76033fa9027d3ffa9c4741fbdbdf521c0b72ffa3820c356de2a9a8cb074a34069753032438106927e7730a2f7fa1de59b3a403ba6f6549282f3b8fb278b69b22648ec703c1e5877b065a5dbdda55179de0f9dc969a38e5f0503ea24ac088e155cb8ca96b032f0d25e2e41aefbc8a9f43778bd5633429f2b0506ae1be952fe9d2236511fb3603aa2b559dbb2f9482df29cd0050869b5bed0b9823447c2f859d99ee8ba695bdcf03666ef4bd89434d55a8dc822552e03ac0da26cc07d012aa217a00a95ed4e032e403f82dbe6ace6b197bf18d36455e60ab4fe7cf9b75bc21dbc54e548712d97f273903f7e629a439d8c689b76bede26bb977b52ae85a958a00c5494f06b87a57a046cd03075fe365cd87c6c237ac12a8251d70857fabedb45c2142954e432908a3f7800103b16abdc1a591df833caedb189b44567839a52305d69308525806feca856147ec03c0b9e5a98da84ea2ba1eb8c44194a36d32acd391d961c78cc3dc00db798905d303aba2688a8876527796345f1a20ae7c3187a62f323acd9011b41a0ff846dfc4e40300d3d0b89edc13d502a6ff7a4db6f5e1b9410d2783d3780f40e73b13718fde3903bc886a28ba630edb01ee1058b8c3eeb0f3379ac5a0e4fd87442efb8168a897410387ec1cb3ca7b4ef8fd5cd65c606a464dc55c95e6ff8cd2da9a863f9ffa894c3103497160337bee5d98daf8e9f4f36e3a8b365b31c463c7375a6f08c641ec85fa7f03b820f9bc36b9b7e46d45af6fb7acd51bf577b41e138b1f9151b78c7602c7dda3030750f4de10c34d8f44ee8ad0135e25ac075f5253700212786a2be7eacf9ecfa803255fac288cb0ab6fabe5ae618b2344d3109e0de80a8d156af77343eed1afb6b903934ce324b09ec86fbcc67da358b8c636fb063c130ba0c6a18b7b1ae6017aba870347dac95cd65f2bdcc67ad41a5a9c0156f523042b884f29b25ce35bf1f57df64a03ef13ebcf8e2c125e9c2ef0249288867f4349c3c0f8850545c8321c865eaa154e0394a624333da3c09849b324542bdd6fdc4ca09eec8f3c94ff1d53a3c0a896cdcc0370244206b83b95e1a76c7266cf711688b99fda65d87c2b5d31dc7be55a3d754200581f030618e993ae015208b9f549800849f8928ef07926ddc599650fa3e3adc050482f53183a1d8edef103bd253da2dd1e07a625ded510f88329fc8fafb5176354267d6aa7ec06043115ed00581f031775f073ef63c99ddedc9904ce533f15dfd540a91a838dcea7dd6fd4353047c523e80ed1940000581f03e54cca3949eab5377fc987d1f85e94b893ebeddbfcc8eec40ab25a5ab5c04c0c1abb8044529330009d5bc200581f03acccb5cfc179a3a2edf5307bc25510010bbe7e76aaa3daf828c5924118804a2fc7fb5405d46eab0a5a03981f3f26aadd2ac0004379e973642882c0468b0d7839d3284349e08eeb20cf66036a9187f48d5e55d7b63a22443c6371efa64121b2e567f1e584db29161828bf580141060219a09b03eb15999db021f2fd5438d4b93b2b70eb0cc8cc43fb79f4f252d49d1a1c1bb8260219ffff03f756d374a07b510eae7f69410347096b28009b67b6e1d1ceb3d12030efd0d74203ec0081536df4467399a36b86be5bf799fbf52666ba89a70d386559d21b6f536d0315bf1de30a25acdf10dbcb4ca7ec2fd1d1737e63bb072222cf1b60f757f01466037868082ff0ba23f98330c2089777fe997c8765d8613ca1a5783f9c9fe88252ef032a7e24795f1b18466e3664f7cdc6b9ed40408695f76f928228711b5b9685c42d03e0eec3dc910c1c713f441093b314780bb08b6ec32413d51f2870b02d31e77b5f03eaff32e48d7b52f795f98c6c1a0833a80a516f3dc1d49377c0802b9473d714cd0219ffff039b6db789225a8bd0701c4cb6cc036d9e884961bb19ed2b60876d965729dd64bb036eb208dd62edf71c4e90dc2534b34e9689c96abeafc3e102bdd320e79a6681820326a076dbf739588e790a374b36efd5a0c3eb0c5775dd58f156b1d814f568724f030893e7465add2a0b70f9a3d692c6b585df9a776f928fea6dfc283803b0f98b360350ebb7b6b8d5130eb542f8f9c51b1da0828b138b9af3963146155d2615b58aa20219ffff03c8107ed5950f4aef0bfa2f3850874f7d4b76cf5580b4691a7acda6e77e1d503503f055cd2a06a104698d1cbd014b248a9c44d7666d632375bc705582097b8121da0334a4bc9168714523f71a7b7e43e959438bb7f9a1d2dff17f4d6b8b5101613ff2035559d9a2b6d83e52cb147064383dc3a8410333fba5bf0602bc5a8e11f92e5c94039bbb2ca5928bfd38d731a112bc89e9756df5ee11a719b819b5bbbbbd0fed98aa0342f109870a6404b178997e482c889b8669f388164e60749a9ec24bc62c95a44003ec3a2973d1871e193ad728406094ed154c89e9c9cb5705741ce01cb1df91bc6a03c205680be4fd86ec20d4f76131cc9063914c3be13fa24c74c0bef6fe7e9d28cd03642085966b6b2b042a2166ec78e0f8dd8d784969ef14015487be6ce64cda1d8103b8c7b7e8282ea9627665919b70b7143e2e2198e635811c3a4f88b21622e2fbbd03b94c79265aa9e2a7eaeb9f341e136a3f6e4a5311c69294d953f60d01fb7f80500314c4ad64697eb206f7823c6fb5fea1a6e90781d6392be873e326fcc3eaf4651503c92127ab1765b38e0273393448a1d1af3a2e796bf5a9a7717c730161ec1ac3b003bca7a20b8f0c7191d283db933c0450fb423075449b81ddee18047532b28c60f903ac39f1b588b38d2292e1fd848f641675db818f33c382f4e823fbe6b8e541dd1603c3b4f869c6ff4a5118737fb5e22081721bba3f900893ffc0f46d7045b881551c03233a9fe563e998341a8578de37afe031c3f4f7955977d9b7bbdc5188a2bacc1f03d56e2ac13420df7c50878193c7f271b7ae238a379bbf90d85375d0fe381991b6036d80ccdaf1d346f4449ed3ab3b3a1c3807e78f5d949ec81cb016c3eb54a8a91603f54509d0ee2053c8129b2a022320ca9523ffefea19879457807df00054c00f02036bd0af60edaf82bf0019142346c63718b8c7d3bcdd3c66d5f43a70a995a28aa10305503c6616f46ec302f5993ee706fce55196fbda7b41893354375a21cf6e4a1000581f03a7faa03dd76dc73cf122f1c1121a8b02bdbb81db900708a819e0a06b6e704b87bf75cb45c5f600aeaac000581f031c2be5f43c1510eb87c6fe6b0003b57f6de30d3f20b6e8689528c1816ac047ba5393d1014000034bc8e4a1be644bd2897ed4031772f53ffd46c11d63a738a7fdd398b691e1262a00581f033720574418149a98768353a0e54bc21acb059411c5f35d835d46bada69304cffffffffffffffffffffffff00581f03dea0cfb39c09e9b76c96d41524b18fef21f2cac5e161df90717b5e5fc2f0479cb1c3985f8c0000581f0331345fecfee6ceac91a403778bd3590bb6d100f8b5c9998d2392bce3f2804cffffffffffffffffffffffff00581f03c6b5a1101cfb4bdc4971cef08b2ccc5c3505845ec739ee9902667ca62bd047ee9da827817c0000581f03b8d9320658100d3c2548b20097c5f46f9350dc61548217223ace2b8d228048030243e32e3c2ea402193ca603fa9ab3162356ed37fd6af543b87ea5ec046c9e0d1ef1d7e3d3bf18150f5bf89b032ea21c5f2de7d0aaff212751857754786037e6e2aeee617a8bcb89144b6dfe2d031ea7c7d43ccd7a91f503bd6e4e009c546aef1f98cb8f75cabcf19ed2363f79a803bf60a211e9c5ba6e8296a56e5407b5153a47dec66b59b3afc9bf93d0b2b3d88703e2914cb40b0a5e9b1aa6988d6411611cb0de72f32eb19e75f87aaed52ef244cc0343169d58916400578b0d70968f50678ad68c229d5c6fb71c818890691cdd41560336687cdef7de110377f30b8615801b608bfb1aecacdb2bc757dbf7b13e41417f03394adf04ea242323d41c2619b61ffcd5bc5745a41cba1352490928dfa574cf8403706c295878d41a947c019e5b419a222379d6e0124be2d36d0a315c2191e32f220219ffff036e855808323342ddabe6c3a9f1aeeb9db2d9706e6e2d5404c46601b7338fe9d703ee9a109ff5b110ae24b6cf4efa6a3d326ba6f671ec3adc2c0fa7ab3a3cabb79f030fba9118f94a292e918f3b307e584a1f5c51a5f36f1878f68606b531f61118bb03094ef7b24319d99fc0719c4590362a4e4302a24ce60c3753d54ad1b653cfd2ec03f2c80c77a26dec9b92ed8fa87923f943729c74efaad5e0bb07cdd5b0b7bf903903465e31c0b327f745b7030cc5d4144219ebece57dd1cd5be2fe4f9d5aa3f634ec031626eda5a20dabc4d52417f9602cba175b262fae2c11e21415d70b771b3d679a03769a29e59f993ddf70e97cdf63e820dc28a72451a2b6d22a3dff15029872e6e503bcd37bbaa0c2ff31f3bbc8caa3a0898b2ff14c99001b41dc4a104219c376a34b0321a418e4e881a41886737281a99b0839c0690465a5b12f227350dff0484b82b60219ffff036a8d01ec810c4182f4921df176e5607a03e6782b22280aa06e25d1b74e371bd103467501f7162e2b646ad5ab16d1f79e47a6a58c517745769abdc585fbae03c1a1031827ff8ddbe11fc1c1001717b9ddf00fb2fd09b3b93e4ce27a6a5d71d3f5bb8c03127968dd636c7573e342f25b885b1fd6cc5249cc3131f6dac1ece33c6d63cfc6037d5f13be8a6a4fc8fd3d7ce6dfe4d43f357a1f2e6e5e69f6a6e2987269fe42190371d97e094cf8f62c448673ecc0a3bdae21c3665d0cca80692cc236d96469adec03ab4cba9b101eb1fe69279890f734ad3b73dfa6d1ff57841a53a41bfb204bde07039820ab0cdbd1d55560422fe8b459b386ba86f2d6205f66c1a95bc8cf0929126c03d4e6c802b0b14e6c1a61774f5294b6d59078dd68ca4347740a2a81899bc7569703f9577a9fb233afed05d356351f16bf4e3f4a861cd87be1741e50c03c3a35a330030072673469eeaa1d67d6fb69817b0ce4367371cabbef4d0108a180cdb765f5ba03678fb8db39cb37fa02d59961e25402f2aa409e1026a9b4ffd5119e510385cc150219ffff038b01bcb658b238fb8d5560688f5c8903e8f337cfeaef904852537c4ce342a0f2033176c10adb23e9d6b64f2057387d251e4fd45a3f3459fac3e20d446b6cf3a22803f983f9c0287837c8d93757490aefab066d97bd89601196ba953ad7c30442f2d4036125541ca005a202b3be8ee8dbee51915d3375e461049291d0c7a57601977a3c03f94d0cae67e50b94ef6fe1817b6bb1e6c7548ae27512c21be6cc2c6b72b06e2603f50e42408ed3264e62c337337ea32f3a4c1274b321e2a3d1c8d097bd39bb2cde0362bb366d5c75ac0171622d140b43b370a638d857378bb34b3f0fa52c89b0971c03524035cb93a3f54b3186a478be04c979b8466d0b84af41da1c52d7a140551979030df13549bab4813ffdb567700266fae5d0159c713b68134bb0f2749ecabaa67803d9171cd4e684a6af8875d810758c456f19af31dab519f42242855c517ed9086d0309c18c9a468963c250b45bcf231a678c524aad8dfc8dddf0028e216b77309202033edeca20812a28f425a2001292b6262de30f07bf01aeec7996a97b38660f8b19031307a27b324db34b971fe8f5906704b674b35d9a4e5264fd2e6d110d202ec72a03ca9a81723b2f3a39c36a289a9ec19f851db1ec44b0b986a6851e761e54f4be4903ab547f916b4d593616425b18ca1209e138514d739282d5aad483ec7ff438c46203305bef52801a3745b1cf17bc4886ae62b10db5f221d6315910e2e3b83ebebdab0351deb02b6bcc70c237f9f3a5b8a90d0a70c640ec21a0d26cc6d8c67fad7515cd033692848dc61361d794dd60d393c4ee802d64f33c2f1fa0f9baaa0d73d7a99a70030ff5807ff59efa2d2c195fdf72a7f4683d8dd13b342d66bf9f8125db075ce954032e485776c11f5b0eb616e608a7a66aafb69767a131d34d766fc82b2e084289c0037569d63c3f84a7c6b4987d514fafe7307a2cad68fc3023e888ffcde95047dcf30380e807bb18cdaf9b7d8c7152a1061d39d62dcae8e7cd01faaed56577acf4a81f035a5871b830ec6ab241b4804e375eb02f50d1fa94dead4ef541a91d9e7fcfcd5003c849a35e92ec7896fd554e7d09aafc9c12a9092325cc834483c424491829b9ec03311821da57608e31a748c4cb9d0b4b1f23970d18eadadf65c65e564640abcc660354530f656948e991eb53b3714951d0680670b07e5929e20eefd35090cd91fb38031a28e0b5ab333e904d9b3d8463da59a408b42af2951ecdde2c6ed44e77b10c1b0358e1676facc78408fdb72674d9d5bcbacc4bdf272d5fa47aaf0c81f553603a0303d9447232682150db3892978023a19938011b420a43bc89ad659362305ae5435c00581f0341ca1c6b8c89a31fbf9e8fd94ca67b1e3706336c579d1ec7bccb1fc7ff804cffffffffffffffffffffffff00581f037793a4f00fd2c3bce3a002a42aec23907d625d4c1433f0b1ee08fec1fc304cffffffffffffffffffffffff03ca7bc8d491302ce580f735cd21317e5bf1bcba1812eeeccab70e5c06be408d1d00581f03e9b5c6f7173244a9b4276ffaad9a90816fffd34ddc46f7025f8627e0d2d04e491084a0b6d7acb70799009d68b000581f03ef1c1d85c4c8525c83c45085af5e3b01713db076f9558c4a5a775f1ef6d0479f0443ac7a2400021902350306c6fecb48ee98657703cf1d80f03fe99875ea6f7107d1c7df89fc4fe89d7bfe0393fb512b5384bc0bb88b7797d657e87dd3a6f6ae124b0915e30c42ec3d1c155103e1b5f82c44c442f22b8dbefe4a4729c311409bfde19ec6b6559a17136ab0956103312a90110c852e5093230d53ed58daa1c9157a7c82a4b929ce59ca7ae6b9c93c037dffe9d6bb80e6140c988815d3e0947e8a245d8a2ccbbde521b8f3a431fa21290377d0af171ea867d25e18075a6fbb8fcac0ea74265c6b1badf1ec8a54c5d1c5b103dfb7b1521cf8880a117092cf258d71cb6086e42220b74df4f1fd7ac0d058a26d03c9f8f5013491d4219abc8b5a20d5645868431915bf59d784a76c65b261949ba60327577d4862c4a3a10f3f813c8787ab684ce19305b045c1d20e8dd2b4f679276d0381a2bba98877c90832a30730b13bb512f9099ad9019b25bee321ad279af210770364faeb78e77b15841a22727240300e4fb39ba2341f30a60a6b7a553507b11cfa03b248ca48a376d7513fbd048367056f03d423afa15e6657d218c54890baf1b06c03fad888d56ba88ea2db31fe9963a8daa368872d4d1fbb9c2eac83d7a6d67114a903b8ca5ad27b10375516b123c17d11f34003dd1c70451ddc5da537f7a358fe9d170219ffdf0219ffff0341e8b6b52483b2472629a1b61408c46a477b1a96f204718144c03a78acb1ef2203ae322719916090de88d5e278f640e7f17631965256b3984454b3bd11b45c7f7f039868bb8175f2df571130c4ba78a5a808fbd470c46501cb9fafa6180e33b74f580219ffff03f62f80a03a3b415e3766191ba126fa88e64dcc08008ded4fa12617dc08c688b503509b1e43144b3a7104d598be41c713f78e5de76f7df2451e005164bc46e60dd80340550e568b72e3876bd7cbcc5fd5fdeba0ca03fc5f1768c348c2cd2fa3365ae603ade74332cc68edaacbc82eecd6d38c59c428182097927107a9d0a5876a288f8303580a0b80c4974ceb388132bff7f9a9ace8c80f3d44a6a87f89101ca61498cb27037104b1657fb45880f252ed735eb1a03daf2d46de376edb263fa503f688d4ea3f03dbdee50fa8975d092ed3ae3c7097d152184aeae78d72bf5f563483918dbbdadf03611baa85f72612034908ee859054b6404b0cc3ba23f2150503395c105774018e03479391dc9cf887a92855f45f2aa685cf24370728ea813501467f8980d817fa5b03161aa7121134cb8e4ce33f6b151e708d4958e5f940d573e24976caa3e2e4ebcf03f447054f83ad150e62bfc14ebb0983cec4756e0071042880789c2f99989077830342c26bd731ce1d3226db9abb63fcfcd039038c40e0a2b40864a28f7d78a34b0703617ffa6354772d9895d27fda4e1f51c1f184c5c39d50dd7d2caf517563bf5ef003eb6c3bec344ac5e894daf20000925c0415ce64494b6476b8f2c86954bab512170393295c6493cf5e6fb4b0bcce404c773f856dd838db646e35c281316c038094330309f9140419cdae8a181cdfe300f8c2d12e31749557dee3d910a29dbc837880530395ecca71b95027a0c774284ad5027bd57e3a89cf104cc33560961e14d9e8ab8203b13873019b7955314d9be9312ec5857f809836918d1a846f1e2014397cebb181033cd87456a51f14318e7d5652189cdb0a21f5a997cb8b31ba5e0bf993b8a934e70326497658522e511040404d49446ae1d1140be95cca0e0381ea1e4a7c238d531703d606354a87acbd41265658c1b4ba02bc920f2409d71a7140666d671f83715f8503902747068513c999f9a6a92e4c7f786128fb8b5024607be90afb75e4cf643a4f03882ac576d0e8d17a1cf415e92903f1f7309174837ad629733aa65006a6f6d9af03fc7bb9c26c4949063d09d0da8a6243a543f7a719b1dbb6d321ad8165aab251ec0373e117fc5af13ff1f92e9c6a29819934ff34ee27e89717a90cf184fe9e5be281039d7104d26863b18505466e70ee32444f7b2d1df62b96a1da66b7dd2443433b7c03f6a44d59310aed38c2fb72bb7e0dc4e4f92a12c990996a0b90ca71b9a20ba32b039e7559b389f7480eacac843253e62eb7671b7fc9ffbf6efbeb6c9103f9b5f259031b0bb1e594ea9660fee50cbe1ec24374e509aacf00c67e7b182a515d7bae827d00581f03c5dea21a0d477464e54d47637233198cb51836182b6bcfbd2713ad6643104785d6387ca1ac0000581f03db02b15e76c62097a479ba2a7a20f1b0da698b2307a17feb8dd7a27acd904cffffffffffffffffffffffff00581e023b940931ee70d98f31cd386d5371b56d0efa22af029df86007b9276345472e49ecb961e40000581e02508e1d80dade33652f0e2a15042aac2fbc46e7b01f4c4f1b30feb0fe14491a17cbaccdeac500010219200100581f03bf4e5d38ce06a7d8735f6942839bfcb82a7c649702e6b563eda0e63d30604cffffffffffffffffffffffff00581f031a5dabcaf8ca70a20da29cbfe581c391b34d26f55ecf4e1f8359d73a59f04cffffffffffffffffffffffff021945280316a41fd7f44f3e5fda8d7fcc060bc17d4b6c21d5eb56d5d258c36705e2d5a70e035e2490e86bc4007e59780127f307fdef09625e8716c5df592d9a7e56262aa2880219ffff03cd4a80bbf8af6a55b7b1428147175561f236c170b6a3961853210c5583f2e61a03130354067f524a41deb6ec8c6099b752da06eef96aaf50d7487c6fcb54d647ff03696b2a2475f630729487f0360ba904917d7a4c7f238bdfb4752f7f52bd9c61ed03b485a2cb68f485faddb1f9455577748d3cd1bef38b3d948a935dba06c6785822039280f90f9032bf57eb9504fca8ca03a9b97ecf62c7d0bc2a113932f6eb1c7b9a035fe8be44b8880785e644f89364f00e88de2bed0457e86e6886db1140adab051603d00fa96add37c220ff91a6081f99c064826849eebde6e167a2c75e4ffbdc7e5403e374cca7389392fd6981445ad3fb095ec83229bba7de563c14ef4ada6a175a730219ffff03eee24ef4e248bc3e401040cec6467ac7fc392bd87ad3cfa77225e48a0af0f63b03a3f231622610f8988cfd1f9d93e00b229fbdc874d227a7461d4ce5a8e34991b60362d5a1f11c83d0c42b9558c57751c11e38341c57bf2331b42fd6172160bb159803f62eb7d9ca4743612b81faca3a90b143cfc661ec8a5cfbe5900222193d60d1ab03c3565b867b06342d10e620e86015f4d6473bdee318b0dde49369eeb99a1cc21a030d6105c1b4f1829005b01f509cb7f12036e0fdb9af970789600067c8b328707a03a1c35ebbee15c477007e7a76d8905f454765ea5f2cd68e0e5b1e6635c8c2cf1a0219ffff03d2646ba67864e09aaa25341bda33a8e97baee664e86d34ec401b40a4015b390c0219ffff05581e037268bb2ff59f9cea4b960267019af7101ac963a92f49ff35a603ca8c200701191a8b05581e03bb24db448fca24d28ee43edd95be1450ed518cb18d832053caae8e5ac00401038fa1675ea7e4948a5522708bfd371c9f04fc9492578ce7e8a902e5cbd9d25ed905581e034b0b89c0e30fd6986feafd80a79db421bf3e1a57b9b5f57e25c8a634b00c02460eb064500a000219d3b6037bea0ffeb3a2976d4b5e57b94ca727c5943bbf3119a5db148ad985fde5981b3503e65eb7dc9441dbe75ff6cecbbe940afdec6b881f5609465674a599250170abc503d59f790d85d6b689404ec1bd2fe3e0a5edd2758b2aab7b9329ee0bfd5913c6f30336c35694158ac953091bf61a221bf291f6052465c075d6b035bf7ce0cae471c103e51f35156b58803b959e2ee15fdc88e3d2a3e9b57f227ac9391a4bc66f4eaa93034633e82607de66a4983239e7cf8d3e6a1df0b069352f799269ea3265b7a230c603e7398a646b9ba963abd0d22ba4f3a15eee9118d1ec2314fe678f6033a38b6fe903ec4c480bb1b85921ac44af64e1ee3337ca71a32d0880ad8e1d713319db0cc6d303f97bcd401729c478de1a273e17296d25de507986a1cdc98400b98bb580600e5a03a6222b16d5092453564ee9090859a2187e0a48e493d643e7806990b14d6107b8039242a84d26e207b6576325b5961dd1e05f09312be6aa5a4773556e61ff596afe03d19783b173318d1d6f5372c1554829dab14d6be8c1bfd21c32128361f193f66e035b3f512e8e247ba95f8fd497ce128550f585f5f2942874343d0d60d04054ebc403f4aaabff2627e23b52d3423ee9fa0deb0e6dae91d2c67cb47bf1c35d2d9786af038e072769418db5205617da51de0fdb461734698195434270975bb30622dfb8f90219ffff030197aa8c9b0b5108e87436be3471da1be57a6462a3ef7a710994808579d2e65503d91016ca18cccccfd1b2793f3adf6159cf0544b98469983142d3d9b28a89bebc030f6d94e2dc144b84521271c9443a05612b38e7c86de4f8d1c56e56e2deac994303fac1ea968183a1611b3c98947ff8741869752f0e6dcb4eccf8abf868cc33224d0374f909ccb54d804bcd45bc747c9754a2b3f6b187e203455e830b15d744ad899d03ddb76cdda6cbf367b4dfc85a91df8376e28fb62afebe3f333911f3e321746ab703a5ac57a4272965b42864daa66feae68175f498ea150f0841ccf32b1561b945f703f12adaaebd094795db9d024f0157343f466fbe4cb64888a8377f41ed729d754a0360bbdbe19a643c5752844b0a239990e50848643b790c54dae4136ec373405c84038d78dbd865e3e339dea2cf5f60c1ca21063a3461cb7e9b1bed4cd352d2c737bb0333f6e5462f48994ac2b83bf1b44370c3ca66378b87bc18a4a9e576fe098ab49503780626aa475af5791bbe7e822978113254c2d3d11570b95ffc78417322234fb7032893e99f8511f7e1273dfaae788804a8006e1abfe6aa32b073c7be32c1c57bdd0219ffff0388be52836e9971912678b76720c647d59c9197c7f355e6a20e78caf53e0d84a203f50389ec8edb1e4b50bdc80489f7738716ef66b95077d955a72b96b9defe7c3c03947413a65361770f704387503460c7cfd9481f77cdc4768046cbd3a18c161bf70321667d2d49a876736d9a1ffd851c6dc26af68efa8de788681b450af3ac3b099403e405decd27db44d03b2972e922a7ea7cc22da70bf141ce1bfdc56e79e440428f039f1c9d39cca077a172329f39e08cf6a80f67261a1fc1b34379a847034fc9c041038903ee50dcd4c4e68624f796ca4ab2ba8f5dbea36cf8a5f3b98efca91e44fd170309f3b142f5fa66f803501b45aa6e1ae4c852bfd17f2e2e63cdabf70a6f99e88a0339e84a4293282411f5a9e2d34d994dd5bd07757d7778c8b21fc5d315505ce1ac03704e83c93db718adae7bcf157546068f66073f44584d30d03dd689efa36712f5037af5663eb2e1e4719a43e42d9e4ba1b16b86ee6300800b8a59dc9e94ea3bcdb203036fc5a15e0271f6810be60e5244379a3d782afb7f25b543839bbcdec8043e9803085b22887f5c6ed54494135a7c0572f63f7a35c28c127c5bad05029034d6f051032739d502fff6e8928444e6351b149da111dd9a563c45fe1de06d91c40d8fe19f0219ffff0374661d7b7872b14d23c6fbe3ff5850174ff4f4ad61a279cad03f636927b3e74903cae91f427479576845826eec365dec08286361552882190a06ff414573dbfca20321b2dac89355154d02c61368a59f3ae2c42d17b27c2097d64b330eb4444ac6c303fc7d1cdf3e6be8746b2d781a31a6577bbd360e56b09fdb8a5aa7c9c7117ed10a0372cb7a419796ce4f9afa02d28b2ea02daf8769062970431370c5de000beafa2d033d0ad97ee481943f8c5b5822097ee6aa70fe91069cfd22aba80ed5ce71b5f5b10365d1b2deaabbe5b4b1592eaa1a16c7f55389d882b11810cf654044e92881cf1a03d6fe9df377ce4809cf2a8ac3fa57baa04669ff4789b37760c6a4e6dfa8a2475f0371dd7224248fd06063c13c5c3d352b86aecb90c98048724df43a070825c0691003b0a5eb2ac4934efdf12572cda72b8d4531991a5812906768e4d226d1130571bd0305d5e7eb058838f49000acdc938ad6c17579aa88c88cc629ddcb8c54baebe48103a68659bd40312244a6fe6beb2787d66204cc78d2fb7b7cd9b0a1e1cdfbb2767703b86b79034766eca883760e9af17300b6bdd2889311a4037bd70028442186e704033749962e2236ba6737253602c7fdedb5dc4cf5994cf14d96802c8d5a2fe5b949036170686f268fcf1ce2e9362f4f9dc693945d68cd76148de7fdee0e2730f1eccd03d8bb17c005b6032589eb94d1e1b1be0b81d92c002a27b15508d9ccb13cc35171036770a1302d41aa5fd0b1664af566ef17acc5bdecda6c9b1eb64588733b6ea32303b80703daf98d00c721843da4f5dd17076ca8920a368abcead997fc52681406f503055114cc95bc1d2c7e4949e962975d296c536235f6bd28dab901d2ef7f6c7b660301ff49944971781496450481cae00e8b9847767cc3ff7065d7ddae836aa023f7035b7be1089303163309511cfbba4ad6669766038b61d481bf9805782f35d6cd1f035fe816f776a8e022114125fdbc20e85941ea7303d98062becf235185d181f86e033063cbdeb8b4776f035b01bc3f8332967dbe3ffd4acbac9e9ae2c17fdf04f46603405d393376d24b9094eff10653b7f05098605657a9f1c2971f431b84e3da45db038bf17408a7ec49e1939f86a9bbd74b0da312dd3d1a4b13259871668531a72a7f05581e03aa7eabdd325da9341750fd8fce119e5d753b49bcde981d51ea5b7174f00c014680c9b432a60005581e033afdc5a03bfc0ddafc6d646006cb6bb8028b5532f0f9ddd0c8874f16300c0147d443db3f2174c105581e03524c44f29be5f319631c4f3f45d8496821d09d307c65d9b6b4d08c2c400c024706b51b993a3a630399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908030733ec10d65c767106491f32d6e019ea809dac41e24e5e4ef72eae3c060d59cb05581e0345a84de08e50af256928e283feaad33face0ca9a82ac1592ba89c29aa007011bffffffffffffffff05581e038e13dee7da0dcdb0d6a1fd934c8f978505ce4f9e2732dc2aeeaadb5c900c190111470fcb4903fc3d7003a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03c06884e8064a3fb4ab4774eb43654119e7a837509193221f7aebea2e9007011bffffffffffffffff05581e03263997cd889d29d9d7bff49e1179a150ebba7569dfd47451cb5b9c5ea00c0b4741a504183a2d6b05581e0386459152eea1fc439e1e41330ab04446a891b27600908f557e1087ad10040205581e03928e52c7af33a527623481408b25011b0e2fb2605d5872621e4b3f03600c1a00020716498278762135845898a705581e03067939c0d46e8af44bf268cb1dc01d3b96b202a61e6c33b223dadb78b00c1147158d04cdc15a6a0219bf350219ffff03fa88422bf2362ca7464b5804ab4f9b9bb2d9a16895a41d3a1dd404dfa7b0684d032049b49d1da97f1152f496ae2e7c46362df1f3a2c8b7444d68c601ded80b03a00311afaa7a30752a3425acaef8b20aba61b329a5b40bd39bdedca4be80b278bcb60378de883cec24b362d164c95fb1fccbded2e33cfdffceded84e73dce8bf987a6d03f8b86d18e9b8e5787e28120904934e9b9b71e4c902dc8702e4b44f7c9942b7ce0305563f02f060d04d2e852cb9152b1f3b377d6c8c328ae5603d63da344c116932032ccef807636f889b547b7541a04b42ef26e419175aa995fc3a52ab36359510ca0380a48a0bde4c8f1fbe03785a23a3b6d82d756c73fe8f4a3c37f3b3832efd15ac03a21b301a43bd72dad95c40b7e942bea5cfb5f146f3ed92d938078d42022e4c140385ad934c8192f2c01fc75e3eb8955edeeb832d48a32f932c3db54855b4b1a7bb0380026d48d03c63dfe66bf430a01b242099dbef18bf4f948a4cad22eafb4dad610219ffff03a796ab00039222c4e2cac98d7f2df2a818822b8f4e6d02bac73e68f1d92d8a26039bd72e1965206bb7c8a81cdb7cb767aa0d57a2bcf568115d0ec92921db641b4803ab214664a9227bc7d3158e59f6b09e730e60ec7468a436a36969e00c992c6be803baa42bb9c4c79e1ab2d8cc2a77f1c841f3ac6da37a0958bb25bfe9b6502aaad6037a83690a5130a55b0a3ada4da910cfeab62cf17c37479b8ee1524132bf5be7a90363f16a2aea80dbdb623c8133674b60bd046505d26c08c271e2c06f20f906e3f503ea6ec679f828a74a9fc06df4481420c493362aba9faab332da1e6d93d0962c7b0313ddca193347a0ed9c7d337787b0b10b4dbc71a3f166d116ed3c71a54121d43003c411774732a43733976445b65bb558acc66692569ac19067cae6806fc4c67a7303e51552d389c5fe05cacd4c99d5f7b6668665e05260b69a8179c1535e75e8bbc903513cd150a9287fac55aac022ba133d7763f99d8aabb2d6e940dedd3aef863e970394517b9ba575b79a4ab46346d011c7c358aad31a163a1db434f9164583686ea20219ffff0219ffff0331301f9b7faa74cf20da7fdfebe869111ff139a5a6887406d9d75f55f8298be00397e8024a98bf72196ddb7c0569ee1cb2f1712741bdb223f3610b87f4aa5f664e03d41fbdf03c60bc3c90e7ae66e319a4f68b7209aae6bd4a40aa6e36960af8057c032f45c13c45d0008cc957d34a0be0bf99dc235202cb84ec2bc4fd52e24ff67f7603be49b64cfa7fdcd2f4b581759a2e0e1b9070c11a70e2ca855ad549bf358937e603398be613eaa4bcece3b924f25a736a044b4f6cf12370b45a145f579172c531b40338ff8c4aaac1cfda76a5bcce7eaf89e433a1a83d22b2d678cc3247b96d25f7a503d1391cfa10c1d54db70d268488d36e8592f4a1fe3600ff2753f064e38575c10c03462281c104540545c3434b625ae941dfd8ad427d44444ea26680027337f900d703406a4b64eb30165b4e562a10496488ee9ad65a3f3eaf1efd5ace223639430fa30359f16f4272ade5d01f4e6f3560718a3f6b04504af0659a00ff60dd4e4282127f03b7d473250312bb18a29380ed36bf8a2e0747fc50f7ebb4fce983617eb52d483b03a4f6478b1c1ac63243c677fcea121d9690a4935dac92f4aac3d3731faee884a303e92c3b42973b5943e1cbb104193352f413786dcbc381e1d38185307fb87aafc703f1b1ba08c195ee379884a4ed8a7310c043c321a009bfb10eb684f81bac1650b5031cf216ba94379e7c286e8a96627fcc2d0775accb3fa283cfb2d1bb942b4cfcdb03a0c34ba5f375b9c29d7439256cff28c443e5c37de858752d94cc271bdb2b8ccd03c99f4154a238d50c55f51b5b7a73caa89fdb020b113db0a7e8573701445183f2032cc6e6d5d8007996893224448a55bcc837368cdae3f7201a205979767c9717ed03a2e28da2edc55fe29461698395d5551f3a91365617006c1fa8ce565fa80d3fab03bd272709a8fb0519c36b75633ae9ae6186d3e19ac34a3ad889ce78496a5110eb03af34c90cc825352d4b710f4527d96683a08cc7ca16fc0c58d51ee807ea67487c03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03dd186db02be9f93d0537efc6e79f45e15e8c6ea3c5df0e96350de6c4b007011bffffffffffffffff031a1556618e8f6730ffe8b0f27b1a1162547ea307b836cb6e30df2dcb0d91e4c4031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0334d571a8b96f04f82eae7ed32464e73f7ec07e8fcd2dd24ec2072de85007011bffffffffffffffff05581e039b7097ebf61ae22a4ea9d6530c36c3244e0c13c810dc5da77744e65d600c06471936d3dd813c00034249e4c326e3926b31a2e7efc24e8e1f5041e1e34bb850faacefedb6046cfe2705581e03a5e5896341d8b81a8cacb79686edd4f78c4b2c31a1fc97eecd37055a90084708a3b7e336140005581d0263a5dceb1065e56438ea610bb0dea73e713f55210193f530d7b63ac00c0747e576ebde96dc0e05581d0244f0a3a6c68fde3b7ded98b6faec1a4021a977e3e3c3f392edad84a70c1913f24789e1cd753ad9980219010105581e03ba01c8bbe717ed86ecc1471bf37bbaf19ef7a8f27b2e2a19ea2be61320040205581e03b3f0c52ab0f6d4b9de1a59970618607f71c57adcae2b11200d0a140ea0040302195e1d03b18cefb0d04b6d446534be1a544ff258babd44e8211905a9a0d38e8caab848c5035ed5cc29d39910ab03ea71f2b08dc16e36390607b490558ab7245e1d2a5febef03f1a5178d09b7d77ef8617ada21f035998bd0d12e400e052861251cebc9f6e14a03850e15447383489a7d7d63665ae12026b90cb467c3ad85802cdee1bac36216db03c2b04082fa3ea1dc2bc70e5c8002a446cc5ace62ae773954be3fb87b8322d14803909eb7afcb8802c29524d61b64e0fc9b78ecc9a7a1d06af5e0a8c6a0aacb65fd03c6e94820042890309d2daf0998ef176a676866cc0a9ca3ecc49c6b1cde8f40980219ffff03978428dbb44ed833a0c27d889a96567fad67d1727d5008117a1d4f854975b38d039f8767fcb7749e117990f1879959af22325e2ceea55797d03c9c9423e7650ddb03900eabd65763bae400d972e5bfbf423d70b5ef3b16c64f0b2122d143e31549b803f4149e030205fe682734e3eb9b4f079c926438994211857dc287ffdc5eaa80fa03b3001baf2f760dfc5341e3adc5e7507fbd9a23c95264d95d5f0949bda2ac5a5f03e796219862dc014b8be957a636d75800cd783a1fa63c6ebc5ee8421a690edce1035d92078618474f94f7b89b1c989353c36304562fee4028ecb33acbc623bb217f0398e1aeb6b8f3d161d8339c7c4388db1a2c27e7dc98254310bee51b5425c47de50375716060c5204f139b40ba14f97be65278a805ce5e4d99a9cc63a6c30e6891f403f167e4b9ba1f29148fbad6d42381fa80a4c2abdbc1b5979294940885b09c9e4a03db0271a1dab8c29b5cc3025aaeb1229aed4ae11720cfa35436a367a713c05f1d0394ed0072da94355eccedd7e36cd2a6a9361e88ea4f3261e12a0f13b17e48ed140315f0adffc7b11d7e5e786277f7156cc1390ab2ac98aea3300fb807714403768a0219ffff0351cf7de8da50c0b59d3d1062510afd0e56a56d24d5426fb625c3e95e8f9e90a6036dbcddfac26402870b1ac4ded439cb2536fdd8fb2e1b08a7f2968f501c85665203f7e46596217863234068019841f70842e7005f517fee6249f5a7b2d20bafadc503cebc588e6e44e38fa90106445a70adf936bb34329cce3ce75f9590cc28d0fbaf035f0a7e64e0a406e9b5eef60888146c4455a819793a4082fcf374b11e3ce4560f03fae8c546e15e95f77ee08e24991248e312a4a6651cdf99ba26d25ff38a13162803585322812f0af697bd1d5553bf68e6f17a686a3758c928cc847630a798b8766c03aead0399d33f9217bd2a9316bebbaebaaeadca8024379e1c4c1adf3f944fdc0a03106f42acb17d4ed08d05f59da1ea6173e5616027e7e492e539078b9c12c39d5c037161897d43222ed239e117491758590d8534891aad0e4ca174cd64a9dca4a40b03e48738c7889c37e1a16cbdd8f0f9f43a15a640b5e01727476f223d716339b4b9030bfccf24fed97d20e33179d45e33ee8220e6e15e9f259ae2c2d116e26043cb220219ffff03fb8e84aae63fbd1b476484dda9dd0e4b3ceca96b5c1165174e32aeccb00a27410306164d3614103a52d535b79609601dba1e13bfa1ade8347172a5299f5aa01e85030e30a3192e6d0925ac3bb03cc0ce64e08f6572f74236ea3cd9ee776e7fca238503440f36196ca9d2551087059a687d74982ebb7676e35500e2c1d0f39db23de95a03dc70e6674898f354951209681668b2557c2ee14ccb9504eed0540aa0dfa2f12c039124b89f13b84c972220e804f4936464da65789dec9cb14b095c9558e2ff54bf03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03dd59883aa53fcf51526cdc8bcbee86e821a485fc27b5f7c93a62cd323007011bffffffffffffffff05581e03de137d881dbcfa91786aa3b585c092423c91a4efdce1f76472b405c820040103f2aa096162374d6ccad576ad2d5071499494af307869bb731a80be014cc4507405581e0399964bc1ea7542d253c33486efbaae07efe4406fa72aae6d6ee61da8000c054705f95872f8ede0032e2e9ff089c5c7a7a7b6f62f7413015843d6c035d30627193ae6028c51a8ef1a05581e03a99b30851cb5ac60a83e76e7af72b322176c9553b2d25055cfd6f65640040103cdfc1adf9046670a2eae69364158f7b9e2b7bbdfa5db7285865618dd97247d880219e02e03cd46f6479da9b64d16783104127ed4a5867012e9cc72683f6941bc9627350af4032693816abb3724d75e55fabfadf037ccf23323970ff72b65f94dd130217dd975031fb03922c4e1fe5a2574440350d88e5b34d92fee309dc01116a6c3c97c20d32a030289de118c98b5fef0df341de3d09eed39ec4ac51bb072a476e2c65b824dbbfe03325253db420ddd913bca02779c897bde98412c2f816dba7ffaafdf5e3f9eee5603a97e42894377258dc7dcdd466193fdbea55d943d99b8134a77fe33f2a0db6fde03a65c2e647751835031eb9b8a937f5986815ce65b087d4f7f2fccab8a41521eab037f667acf08b248eb8a9a3b5843905cc0daad73fbb1ce2fae2f22bd74be95cf2f03fbd0d95b10549e2a789343a21539a0a4344e43ee9fc1ee3b6a7e9ccbb9e091710381907d74a862cbe6835e9fb575ee43b6824c27012f6d216c7c233aecba6f220503d7da7c4baaa939f7514d6a313e51ae71a12cf203ba50c76182105f041481353c0384b8584977270a7c9dfd51bc242908dc4cdb7a87eb7a5d4e09164f749d9edc1703238b2aa5a2fb5442a9336e13f5a6670bd80a81687e13ad96ad89561187016fb20300c058cad117d1742601074b8676ac72aea8274d219c88e0c1073be1d0da2020038c8c71bac1691bd1ad08779e41ff9f50ec1c261589aff5fc016733edf222902a0219ffff0320943754572aa7ddaff33a34d261f653fdd62128590438951101c76fbf636aec0332491618d018b3e359c3c4dcebccec5444c1b286afc05049042b6fa61bdf369203ea2e0e19d79259834c56ca7c9191575c3841f89dfbe7fff77335bfb4cba48d250368c8bfc4e7d38ff486c948c5370d8f798f05f37bddaeb6218d199d7286d79ac5037c1ed26a8b8954878e826227a846e25db56bf78726b077d0cee62dc2989afc60035c3ba3b8b27a3379780c69414d2bd3da147818d63493f37c17f02ab42ed206fb0317d7ddc79cc4581ab54decb87addaa4f5f11416943b1dfa58f943b969595608203acd337553948efb9530ccb57a4bb9169d7831b49aa4567f5ca515855580293ea0379ce84f6b5af8a0fea42a4a912d169b2a9583f27287d7f6cbd57bb4f67a8431203ef3da15479359dfdf6aba8c2c98a32fbfa77deee24a1491605c4502fe029ac4303d14362fd5875a9d44c63d845b190886a173256fe35be95a138597efd535dad1a0372d4c138815434cd3d4a28062dd0f9bca6ef4cb142a6700420768c907cdf0e62033d17a76ecd046dd24fdbbf948a0115a3ee3d887461c18f201aae9ebf44f0f466035599fe16d4981f9846d8012e40658e904cb48170a6e6c30a2e5fd08a1c5f2cd40219ffff039686a3169fe14e89b4162baab1cb9f5e4bb2568b3f9e49531e74cb843955135303b16435f09c2f4fefe533f110a33e8bb68334a1825d51849f7ad068c7fccc360a03ed3b51a58868de0baed64af8e6bad8ee569d4fbf2ec80ce7ef7d24371664937b03d8778c135c978f147bb8ac7a40a83c6e076716726700dbe23d54e3b6729d5e2a03db06e6942ae3e2886fbbfa430f169ea268ffb00b6f2dc6fd4620a866bc43fc1f03f6e80c37bc8f7db64e80d32738b2669e1fad5444b8d3547df1e0587b28a033e2035352832cefb853efc33ff5a334c625354e8c669b22617d551b6bf5c51dff7ed103228dad4f434d22a7568dd2bd1d657b2291ea0c220666b2e165c72449e28914c60376a23bf26ebedca3cc3d4bc67013ec52552a910df293d51d2a50308af69fc6540346bb2df256c4e21cf0b01c8521f5bba5adf815b2eda20ba7088ba735d67269b30219ffff030145ddd475bec53d2465cfb897655594ffe58529a3f20ee79383958ccefafb1003f07ef04894c4b1d11e6577347cef86d54653f9d35c405779aa6f5c4c04346b1a03776d772f1346305796639feae08a0297619f1e8430531358d78e8b83b4b0be8f0324d842485986a913828cfaba39228ff520092396092795cab2575e37a02eb9ea03e80ffe5f150bbfb18f234ba2517c05f4f90e16793033d8ccc3a6fcb9f6ba60360219ffff0325959fa50d26557c397d128a5860d45885021ba2beaca95b0cb4da0b53124a2f039535dcf007f20536588f50ebf45e427c7336b91362ec41a8f384f48ecbe5f35c0304309de3f8f32fee91b1f6d65b369a02298191274c3ccf96f8434265f47698e30329834ec648df1818c7f8b44a4051e0b232aa0efc6c709842ee31a7b998919b8803d28b59efb457a78875d67a9fcf6c133a1f824339672946e6d63eb078a8e6633203f5572de92da310680fea3414e4269da00848948880249408c040f3c5504b338303802079ca790a8f3abdeaf142eba4e1aff017cd4dc3c02fd352e017ceccb0f35703b4a8a5f5db4b1dc29d28eca3f2a09505c28ed8d2867f74eb6bed35d1b820c82003c0ab329e540c6a4a678070c9b9d3692b1e8715cddc4b1e8ad0a507d53e89f3fc0357b56d4f1f2da91a498e93224192f21d2d9b28cbd846e90e1c18a0f1a3095daa03bc57287fac727a17733c05179bd912707b5260c44a2014a0565b5add80de501503e391d854353cea72276714e5f64805975d96f8f04065d885dff5fdd39fe3a31503d432564feb3bc7358101f650afec956e0f5919c2022cf18d1cc6b06363ac370d031559dfc3434429dcbbf5d6b939e82803dd0f2d9d62573019d203749b4196044d03b2aca910f1b50b6f24b4307502fbd38c4a0854accbcfe6cc348269c7072945a603b74e51bc36a26faa1cae87d3a25a0e4b49f69402772b636192a344a3fe50719f05581e03d29ad60bbae7294de9bf4182a8f9d214c68a04497b480bef292ac487a0040205581e03cd84cc3273c9b28c704fa919fdfe3b5bb43d52c6a4781ad5e928f3f6f00401032f34988ec76297df36b17f3919bef84b37556ac43e3e62258cb508a4e620c78405581e03eda95b86f67280e719e4310e50f3914541940f6edfcb0709da21a24c900c1a00019ac749df0447a65e458702da05581e03f44bae70ffd42c3a69c3243505ebc7db5d99ee4376628fef036bcee2500c024701353f8d12d8a80315098abe00a260caad058244d180be21b8dcfcb316898b98d7db5ae4199bb24703b2a6b1e5c3dbaf36da738fe122c9de5fce3fa85ea73aa3f964062991de6ef11d05581e03af9fb9dcba54d2fc3b2a7c92295b01bcbf46d12c78ddd1fde2b51fe05007011bffffffffffffffff03dd7899a1e3bf37b81e71fb40ab45eaa4932d22f3b80f281559f3022b810811ef038efc9e63cabb633bb20249e80269019b55642eadf040543f0c8bda35a9d3606605581e0385cdcf5c266262b8160166d2f6fd5cc5f5eeac707be02515e22f43053007011bffffffffffffffff05581e03098c0f647ff35459fdf314e42e87d2d7fe4bd45f3d843a7a92ada689f00403021965c5031a1ef6b9232d629450521d6605ab6f9fef98b39722ca7a93f37ebfb0e96baf2703115f6ab1e0012141cd116f9c0cfb20fc1a798e6c25676130fbd6c06103d1881c0327d03a1d3879983583a57c70bbc3fab9cb0ffdc6fd990677c8c66220cda9574f03ef0f5468f17d5ec4531cfa8a13cdb9449deb869812f9ccbc98519ca2274fa767039b609d0f5f8249a8ca7f6966724b344733040e1610cef4ddc3240182ceb39cfb0303fbbbc71b53c4cef7e13d8644a0ca23f5262cee268a0beb45f192e8e1bb8e8d0336d7a091bef2f6cb0e6fadcaf2d857c31906e8eaf7b3875d9dfc0db5e1bbd1e003c45a35b15d9340a31b981d00814a3852e5700e160eca246be628c01e1d0da21803ac123cbac28d7f857a346b7e335dc1fd68a45bea4e2e40dd574b7b3685f4498c0376879ce5fe2d246b086fc6837873d16ca4aae04157b92d242dd3fb5889f0a22e03239a8f4fc28e0afbaa2e255a9026ab83324458183699b6bd00711bff82278aae03440b231bcb9b6edc0a7f989854ce627c760870969afa6ef190363114d4987f72037f038512a67ff47f52237fe0a2c0c91874625363aac90bca9eb584dd00fdcbeb03dda78220a561308f64f74c65f56b681e7594e9258c5a6a4d3c90f679d6dec41a03a9ab6f34a3c0457e1863b94101a6358bb0b921040e9d39aed204ab1418f851260219ffff03b906e69017f53a37ad6cf67f7bd5e2d19cb1c6b294567f447b9784408dbbcbf003fd34fd5d8385d2d8d988399113160288a4b8a9ff6a648ce1230aaaf6f4d8f1bc035665b7220d836ba6b3e223589de7d9cc93ee843c770131bcc145be295cf6200603047ec9183afa924e3cc7f181bad7aea916d862a8eb5c7ba2c56257b1598c3ea403ff7f091ca6f448b87e7f89706c5f4e0a9d61fc8d4048d7c98c58c21b20f0dd9e037677cc88ef0397a0a58916ce9d7e1f071ebc5436cd7c1df09d6d9eb9b5619af1031de357bad427fec2c9691ca436d805caa62e5aecbdfde03c45a5d884baae7771039a7cc8e3f9ecdea3a68d9e898a6e2ae7fd9086be44a93143008c648e35c62a4a0219ffff03c1f464f9326825c8883049364cd8668a54ccfdac7efa2d4e07dd651d25e52f31038bd23f2e92bcf5688cf8f367b2618ece90eb141e47998910da302c92f72c39d10393ab4860b03bbbb3d6a8b15307e82d3e3f5a5fd2aa6e9f198b44710251ddfb4c03aae2747a7c1165849f5a2db2c3a02a8a905f025576636be31d2accc81af1f3cf03ce59249b3c4954ab582a3891883f5b5ea554509d194b22d100581bc26e73a9a103d9717be4c6ada17bd46a3785972a542a2e5c46302ffc8fc28e5657957296654203eb610ba2889a827cd38d891a114bf4ac75167350737b1f5140a0b3516bba381e03834132e2e39ee3c208e70cbe39fe45071b02d81c8cb259b2dcbf19d9d2e643a00316821456092fdc77bca6d53ce0c6fc5d5865d01633247b86fd9c0422fd68a5680219ffff0340400ff79dded0b6ff75bc5124f3a2d97fe0b3ae36d6cf2b290143a4986d8d8f034f540b0c6019a7ef943f8f2be852f0f44aa12b7d60c4edb79c60aab2d67d47eb037d51a8ed5edfe33d759d4a19d6c9a442fc271e03dba5c4df6479e695394ede06038208ca7ba319796af16b12e15e9e4be2352bfa46a9f0b6f7e90458053266aca30385edaf7d19b437ff28408f45974b7f0d887f5ced2d3f997c83ab3dccc29d47bb03a98c8a145899f746cf8d47b9622beda21878738d4e32d6e298f1059d313bafbf0313e4226da18c3d9c6f95513f9b9d2159f0e5e13a998d26eddfeb863ab301501e0306603b0803fb2b59b3e4907df93e282648a1a748449afdb94952edd1dd901cbe039747d529af62feb43023c18feee5d0765de709298d957448add4febbebe0fb0003c5076c93b4e1b5fac2b026fd730300daa66e1aacc7d64d232bd8c4917406c72c03b24ba764c89d7a2941a4899eaee391567bdc24496f0c94dab28f306299cbd9610359080d2ffae4f1d015371075be18ab08cf6bccf4889e71318dd55abd5bcad96f037fc1afe68d065df2b41c6c665503f6be0b1b9cefc8f8ba0c045a2a15977d955503cc00f477e54c379cb6ddb2a94d851f342a58944da0d596f818b20e7b76efe58903da0c0ef0f90efffb9292275aab53a11e47a32239b76fd73427d37d106831912b03a884353e80ce14ddaf60383433e1e0302b2354deb184b746046b5c502d1e83f90395bf7b3c747e26244f405e365bca78ece5007b72ad9be24de7892fec0b3de6f203115d924bb34b2b2710ff4d2aaa297b7c78f05b82bdf9c7e16412636b2f92cfb903f02a375e7859c8548b36afbf8f4bee30d083dada68738b1401a62eae07b3af47036294c0a4529210f6f865a9f6a3f5dcfb743b70e651126a20dc7ada10703cfeb7035fe24aa0e9f5f93cbaa16166b529a35bc8fe5fafceedaa6649a7c5b0edde698003ef2cee101e87441bf36e3f77863fdfc93c8e11bc05081a987ba6ce06eb5df7a203f5f27b2d771bbb408301f1e43a8225b14afed1760d3f97c2290031065bc17793033c58d2905119a5cfc5533408f47fef6c51c50014e26fb2dfdf3e6e85f01b9ad703910ded5341a6a341c512f539218212d677be7ca3edb854083e0b14a6ef26369403c326a6337a85d27fa371f8a3d0b347970ca68131799e47684941200bd5d089a703b17f678884a528add52e03d858b2c1a2e13f3d092488184f2ffcf2add2f1b0d503fe0aedfeb0b8de0118d4798265eabacfa75ce2a9d8f8d819dac0ba514d022ff203944e18d0cc8da217569a1f7cb4c142ce1850030f4f2ce2955fc6485fc8a7c894030a5492d0b61191add3499b3a4648473f198e017aef1e0f78219f78effae30e6303217aba5f12dac1aeedb4c3f9d206418798d9d0fe9af73d76dbea82ceb9512861034d78bfc37274a20c92fb1334f3245d33128c8e58d52ca240e911a5bc1f6b875e030a41bf3499b5341fcf209c32b2b918a210f46be3b576bb586c04024e34d29c7103ef588218653dfb97f8de38dcda968be598ace8784a45501dea2e7419239d41f1033a7b4a5455a0101eae70acc8cd921325a7efc1f95cf2f0ca472aabfc026378ff03f48498a9b2b77bbabe2188f33eb5ec26e9239aa153a879fbe4e35470c346e9330304162a1d975ec4fa50f509d90f7db63b7066698b5241e582efc6ab290cb31c8c03a32b75605f07e90ecf751808d53cc71c6762c3a8756d95369d13fbd90ce9e11e0327a03a61460f9ebd4877e6f1d82209644eef795ad18e16ff1fa0ea6bc0fba2bc03521ca07dd54dc8d5f5b6d4134409c46d0348fda7bbc908a6ce7751bc1e6a9db403fe681d0de431e57d61e51d819ba1dc06ec8e8b6b5e8af143c5db8025b686ef8503fba2100e724ef97fb5aa9659d0cd1f6e25350681706fd31290dea0798f41994503a4306201cbaa7458a700cd01a3deec65ce0d689c01b2438531a7aaae4766c1d503a1c04bcbfa2f9cf38731747f8fbb4b2ada20add5cde213673c24291eece2e2df03c1b6eb38f77b8af1518a7e02af658a3158384867a28701bf5164190e613cd6b605581e0368bb593370e8d4ec51d432fb5ca3cd2b3fa286bece2f39485fe83176500403039b304dfae55cd3fd5fb5f012883876a1c915c2087cbf402dd6cc6943f5db299f05581e038b01120ea1b3fbe0034e3ebcdcabac0c77b6e2062be1984436ae5baf40040205581e039b651166c399d8f5a1dd683614467596637c36c25245449351b51728900c181c46fd7b029ae2c805581e03a3b5e2200fc8e769e374d5d36906a680ea4132ec7af2ced4c93e921f000c181a471abc6ee7440aef0375c13a59520a27b5f06754ea2f9461c749ae22734462da0af1357a13d5f3575805581e0328559bca072809e17f397e0e8a93517908d1ac5acd94e42ab2a35792200c04472849ab7fc0c00003c76bca1fe088ff275f4d78076241562c9c246f58a43ac370a2835f9ee231d8b1021957ba03bba817d1183f358d57cd971d3ffbe0e20544f199d704e26f62a0456ccdf8fabb03e22d9a4b0c4ea611bde60e1577a23ea008c02394a0f567c5129ce5dfc48d6760032fc2f8c90e8dfdf66943d1d03e05ba94d89e387cc51c42586956406404f9b68303a94416df46ceb005beead69be0b92fd2e1098096d7c29ee41572114a73be1ff60219ffff0219ffff0219ffff03301a33ac1f4bd9bae4719bf7430c50d0692d312e390eaac66555e1316420298803b2f5c7a74c98349d7147935759b6afc398bed121e39890040b1b0ac7566ebd1c0314c526d107162f524b0df86f177bcafdb4f8b0dcb13047732b5b0a20157f2f150374261203ff1e8de6c761aacd8015eeb18c2ca79055522a2ab401859651fa76e30381541bcc2100cc7388b28cf21ea41fde61bc1375a0789831a51e6a06157a6a3103137df494e386a5f708c31fb0075d83788c5f8b3a0fee435e50f2bacb4f20bb130385ab2443adafa6fc05e687016f644adb7ec956517b0902f6e6a59ac38a59c23803a4c8f372dd64fe40b394dabdfda28469e5b1be9181ab3099b7347a09a28976710349404b7c91f64cf2a41b01982916ccc1ad125b2a9be2d206af1ae7cd9f8bf0b70219ffff0392a404ebec4fcee8a34a05cc92c26228f7c532bc43a73c8bb998086fc7ebe97b03db63dea260a0a3e2ba58acebb62f1b5579603c1a9bf82b927aaebe06dd4c2f0b0347dadfa79dab4403a365bfcad12a3d64f66fdbe2446a8ba0f945c4506a736a52038bec4a601866cf1fd655f68096c476f80c05c6298620bf721165ec899b3442d503c1d4d94e7d0bb4e47f35483d55518f34ee8cfe6c823152bc4649bb43dd6aab3303e9f89b75d8b8efd7564c467246bced4a38d51dd22255483635fff598da03cbdb039b797e5690eef7d1111d8503a6a7893309b561b81004a533117ef092c85d6eb3038bb4d25625d3f78ff1c73ae734d95a5bb146f3429a9c68234cbbaa9d80d5af18037d3a8feb324fc5ce45e3b34fbf734ec1822ee3adb98525c3c7f2455890d91298035a1fe48a7b073f37f7a0852a5f3d4bbb6705df614a7e5ee7bfbce69c7f84089a03af1cdfe246cd3e59b266af8b43b4c2f354528f0a8a8d84a55f31025cb32148a9031e0f7ad6f4f75f5db878ffb33207748aa91e9a3e68ff3f6ec2e28fcf4cb9a55f0321f90f0a9b5dd697c865daf3a9f3261ae0084765743870ce12334eb60493321803dea8477e7f186d27f48092b1015103cf7aa63ef2089506d2f7797fc652e174b203321ac4f1cc367a48b29c0bd80195563eddf019e1b9e0221be674570b1dae3f8103e484ade66ac3795854e455cc24122922b1fdb5d77c6760e9ef8f889b2dff2c7d0330af7ba1c5a5ec35343c7d9f8fdc609c03b21bdcd39f9430f0c749c913159376035fe9a7e5fd43836a63a937e09231b6103f9b99ce12ff28864f18fe29ba5cc1f203a603db5abbcdfd6db12724408e7632b24fc3507a574602506f403727e0847cde034c4b14f0661f8d0e0068632647cdc9f2a1c3a93cc93fb87a07da9a08de15548603d43585af9b0f312fde708ed94b252885d4aa6f3635ca267e9a20947496d390ae039dca018b7bdc885bec827fc27c8a1a3b3d43ea3e59289f8c5c0a519c649d8f8003269715194cf73a45b249d87a8e93c9102a7dcc43adea16071d63af245f6bde7d0305812d0ccacea9fd93025f44dbe84c79bc155b729558cc962f0080a0a5f3a9a6033611f06c48655b66bcc7e4a2fded352cb415e97269c0ab95b234142dfb1a71b003a1e926e33e62f1434227fcff0bba01354820a882746f9b06606b6a0a4c34546a03f90412ce14f5515c45386e501d5c445016fc89fb2ed4d8d6a2d62d6eed6bc79a03a08aa45d2c064b2a5704e2a566d6e2f05aac8126adcd798263a666622d76bc29031e69e91591e57b1348d6c6e350a656ad27438daa4351c48458bada8376431561039820b9f2825bdb24c581b8a603379e24bfe53c05aaea04c9fe20e9d868e97e2505581e03487c17d420346bc3dc49cb2ba67c25245ba1f9862b681d572c4f8feba00c014704bb526afb449805581e03c7dbd4fc20b694f5d6af63ec00f227b82e89bf0c9eef8f60b934ce38900c0147046339d84c300005581e038664d5216d5455d0a5ed3ef0004898f9b284072a81af72a509e7bc2c100401037b30c4b3d200d3d80c62f715a2299c6b934ccb30534df2d1f6a4ac933da1945e05581e03d6abad87664b3272482eb46ed6dbf1531af1843f2d18dc30474e7878c00847150c3a8599a80005581e03abac9b0a8fc76830931a6a110e228ce6ff5e9fbee14ae054992e12bbc00c181e47036a7de148871805581e030caa1b7a759004c89eff77649587553bbd9b9a3651c03ce60934a530000c0147065e6f12335a00037d7fa6b278f8f13572a496aa23f7fa52dc0bad80f4510c69416b39d2bcd4f89d0394d34221f57f814a2953e767c0144756f9828b9d167aa0dc44a0e5ae033e10590334c9944a8977e6791fe55ae558939fe527df7152db8c8d8977887eac9c60f3d101410105581e03944f87951a7c0b7daf8b4301b96d815c2d6860840d1ec536b7d423720004010307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e0307645c811faca758de45d4b81e591d3939b7cd752ce25964ad05a70de007011bffffffffffffffff0219cfbe031f1cccedc3cd829f7b37847b6428eeb8bd9ce1f8857533939db7c027d65c9dfe03a16a6bae192ac56c0f875de98cc608314446733ac5f1ebb5d69e9241360895980219ffff0302a2031058ba0c12d520819f570a7b91d6af3ad5e56d384b81bb9f75037808b2034359a2d97a7d22eaf2881662d912ef2bf80d6dd2ef803efcc17481f101feecf203df5c9f329fd8308ae1ebd73867c13d8dca3bc9b444e81e7844192b4299a596fd03ec1cce82d82b2d6c6a92b35af751a2c08a59b17cd9f568787b229313fb66118c0374b6fb5edb2250dbdb3fb6a0a8ba101e245c0a19ed6520ab47f78b0885153c860384f4a1d90620100fc4dcc1ee58b6373159e91f61bb7725f5a8ff75bedf0c758a03835704acf7ebc49c341484ca90e4eb9571a89623147b52624000cac01215ae8f03a89015d31082e8fd71b0621fc72334eed66d30897ec744aea31dbf3d7367676d03dc6589d3dc531c6315a3800d22916fbe071213d16573d8f45d7e3a979985886e0219ffff03c99662f818e24af05d04a1b54d8865c9c83fb72e5aa6172104cf9c5e45aefd33031d5c43a5ecb68e67ca435644a2e891e6b92a4a58939e1df089d33bd5eb71f0ad03299ac3788cf77154377e82f40d1e9844db82e3b50e4c26e3ae5b45c0316d9027033accb4e54094b8b600078ea2238527b366a9707722fb128c1221943500254f8903f1bc484d05351c77f04785815f70a83ee33949bf6db94948f7e39815fb24b63a0219ffff0352acb17cccf9f7dd121b13105dd68155ae0e42a56c2fb5a5b5d55e6b8ca79b37031826c41ded3666bfa14c6ea8b2960cfd64c00a8ad6c37bca5cfda085d333a74803575aaca85a56938ce2aaab53f93f5c2f1f180ade63328ab6383b4f635569d97403ce63f02e4dd8f2503b18cc126771bed93dadae77d45479c04d3f5932a8adb34703391ec57203d6904a096094a06229a93fc40060d4dd71c60be3539565bfbc41af0306793621dc192bf84b251cf2313b5a31a2f38ed386e0b5f79d294a366efebc8803ffb0229d67ee566192713734c2d6d85e28eacb73e144431d0ef73a842e30943b032468809ac840062d6989c82049f09349a7fc2eea2053647951ff13be58ca98be03334e11c96a0ad31b276fb9866e3416b701d76742db2a675d90dda83eba0b153d03b101685c3472fd0e55cce32c6b94fdb0de7753b415676e37b0312316c4fcde7c03558a90f98ff23dd115dc5ca5dcc67f43ede2a0670b5117c9708411b8fe5b414003a1a53f5d49a913d8472fa81ea9a8ab7443fb8070b75fb1d9a8284fd76806935903c9ec385840a7de33c92e5fa208a70f43095477b748361d941a0e77fdfbdd89d903744e422b5f5709bc399ac5ba7cda786c9031404b8ccd95f2de00f1e3e3d910580219ffff0336e197949f3cfddd827827ad35bc0cc5f5b55aae5ee04a3bc89f0c88af1cf571032caa924274219063f03e931aee622d921ec062d889611180db329b7e32beada103bff882f5b1ab3b1c4fbb2d0b058b3dd8fee21da3451a31b450886c60b10501c1030630d472949d2700b637155d0843112dd22cc0b2b338df74e4cc67b9767138c803dabb5e9ceb4b2fa3849bfc5496d617d00dbebc16923ff78812797e3d0793d0fa03ec9bff3fceeba1035e325d442b4086d124437e7dae5574dde4392d9ad42b03ed0371902eadb3c6e2407f61481a68ed0e3a906eef097a87094071958d5133a03f0803159f051ae06fcb4b38692175f073a40ddab4d7ee286e6e1c2ac3c2601513337203f26022975746472ac8a147c26846163f6ac39d24300c46a75a560ee00e34dd3403f40392cfc3f0bb9997d5549ebd0cf9825b171ce50200388d64d5e2163a398dfc033190a26c4ee3cc7c92901d68a44212d2ace49c9c45a9051071fa9d3f3d031eb1036fcf1ce944f7436303ca3359b185d332c98348dfa45195f70d02ce88ff4b9e69036b068e38e0492a4b12bb589d8f6f70d07b5a403d6d51a07a5b0e0af080a1022403a56a74e10487f42ae71799e78697a069f7b1022df6eeba1270d468b1c3c5c5e00392569a78fe15ebf6fb25ba27a38dd0b55dd9c9da7e9c5fae81979292a5d80e6103d12306d7b49175be98ed236b87958bdc2181272499a0f4bfc4a079e30b5e53d4030fb857094fc76d56bd29a0fd0640e507ff062dad63d84f61aaa658ea37228220031e735d49edec22cf3c0e91ed290dc394898ec8c58af6ef161022699136df9959037bff3bdbd74bbc6b2dcc34393c5326f637133a5a3bb1ad1ac8ce118b6758090d03fa4fe1d5f228e7fb5ab20e8c9f14e25934b540b19960521beee4e278a792dad303806c7ca411bd4c9fd05b07b7e8f05ce90447d1720c165d7cf0b0ed2398b5ec3603a9f8b230913b86ab49484077fd36d09e140f9871717688785d5098cf3c1a61d203ddc4328b32f262766850d1aba19f38e80e5fcc5fe054a816223e1e2f0b35dd2f03dced0b42142335aff3fccc567b99f7ca968d1a639c28f64d7ad2fee07ed4a54b03f6fbae5215ff69877be4d7bea7f279865281e0ffb8ed28553a1196672f0c69a803d2bb19e5736f708dbbad01d5ebc0214f51f4ed41ffcacd2563fe20ed36a6299b05581e03fa3d5b33a2c4bce8fc5df116fbbfe0f707e5740493913658b8cf59ed40040105581e03b048836f6e3dad0e9d7e4f755365630957fd94e67e16ca718b7d02c070040105581e03fc38a2c5760b43f67619e4b2b49a4411db8d1c8813646fdb4af1f69c300c014203e80458ab608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c634300070600330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00411800582103572ab7394b431c83e7e5c30337891f8c333964572e871e8f4088cdddba1ff59054fc31892c5500abe00974280b28907baa9190e3840058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d9db270c1b5e3bd161e8c8503c55ceabee709552005821039031a532dbb3adc186e27ef2d159f35f95d1ece2eee849fae3617477bda32e1054fcf1f182fc79047d99e5db0d7113c0efe2ec9402005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c0410100582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc530540c5cc5155b346453154059ad9d2ff695db92f77403f7743dd3ba0f172bc647c164d26e5bc58efd7d8773405cfd0ec6a1b91ad206f8005821036552f9043f7dbde1a3842eccf846aa02c647c3d99f9371aae3c93798f73f1ab054f48f2b2d2a534e402487b3ee7c18c33aec0fe5e4005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0410400582103c0376106780bbe6933d7ffd35f256b543f6e0376b3ebad26cbef11ff9e080fd04101021955d705581d02777ad2efd0ccdbbb5c10c0b80bba5fde32245904331b2cd2fc3198530f0149302468a49f55a9905718ab0330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581d02a0c9474abafa99540696f907b7317896f8ac6c5bd1bcd5172b3e361707011bffffffffffffffff020305581e0357e198d7adda26d9d8319695bc5d8193d2c1d844c7823f08aa485dd710040203905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e031ba06c7765235e41be5dd2ef17b0aaed63aaf834282c34ceb9207a39a007011bffffffffffffffff05581e0371612f6884764e3e287bef53c12cfab3193f1cc701c94335436475a4300c0247032a41d689448f0219ae9c0359a8b9082ab1866486bb428e3708df026ba77b8c01cb3d47ce84ddeaf2d783e303565436d68c9fb904ef9753c77bf62275e416ee6198fa0671479b29a7f5fef58e039c857d6d8a3ad6bb54254d887c67ee36fdfb2cd2ddf7d4169208751532af0ff6031038e6893d6425cb0e92ac9ea1e928d823623c0769f709f63597a7d49dcd710103f52475166361ce9c95427e092be2e86903210cc5975c28937cb977a584c1f8ac03df9c2e646434a24d4c4e9904f56ab0e9af1c17ce51906fa3ec139b6f008f898f0312a0006a1d148ff92de0dc69be585a6a93e12e89379832da025c5608e365ae4f0219ffff0389b02e6c659844efe7076244f74ad95f2dcb79df8333a7ba3095cf9cfd362908033b0b13932a7567b94e3fdc677d4c34ea658b70fdc033258f22ce33ed575d81ba0398a8493f9507152ff2f49e8500911363efbbe3a2c9110246977fe7b0bf8875af0323a371bbe54b2988ea5c3e5901861101605984561c2b512fff573fb6fa7324a103a8271796bb59565ac4fc447e173784e8158f2fa9c1ef868585889bd15cb9a3d503269655338446c2c93c7946222c7152d74b90f02803a07d803cac9a9da0d1a09403c2537d1fa1f0e4cf7c54931322f3e874b01ac61dee8cf8d6efb89993dd438f080305f25e623af3e6f694a84db6ca962f2e985514b872f2363eaab14da11c6703db032e29c95d9ad3ff6cde6157218c2e70c36c1afea214d85f8059bea44e378d6e6703b1abe34229ead360ae872929aa0d8e97a7419c760cd3946eb79c92605ffc54a003577549cc180b6d7a9cb8b7ec4eaaf1d3d5da4914b0439bd546b243f3bd24660c034b9bc2cbd400d4de91459e751eba637d5e6b8bb86038e6b122d566dc67d7f8dc03639aa96ad32c0722fa3bb7120a3adcf747925176f2b60e3ffcc1c4d4e4bec29c039bc5e1283e27b74a7bc2dc6235fe84967aff01aa2d34093b42235ad190a4d24f03a25a041f9cb70d47b7e86b4eea914a4d0c870534ec6ded6ec2e5ccaa56f8c52a0219ffff0358109de6845e4d8cfeb883ee459207d510795f7b50fcce001ac08dc8688667aa0219ffff031148fc556b0897e2d81441d337952b0d8627f296f85cb15824f65aadcd22060b03caaa6e7c5e0d9c0c53a85ded25c35f9644bbfce362a4d44dc1e6d81ff6fa31320329d70b0564ac5b169835dae09528589dc61bad68346de5b0001028bcdd53690a03698b834bec0f12d97310060cf2cfcc18326d0cdc77168087d25aafd6466caf56039557e4fb8e0105bf76e544ad46e38af625d26f472679fe06297907141af827110392ddcb9b0245a0be615ab70dbbf014e4b17112f8557b62fe45130e379fe0ce7b03bd78f2f5f59bf2851678ec897a93d521de7ca38d218d380751273eaa91cda7ac03fc4bdbc55a1ddfe35cd5041130d03f975c63fafad14f0e7c901ec468eedda35303c2cc5bd50621aca77f9a77039e602ff51ace44f4b05505c2d2ab661f1aee6aa3032183c9e87641710eaebfa91c22fdfb416f11a6048c176683a7536aa299ade4d30308b9f393c448cf331bd519e06db36618d3767d28fdb0a0405489fccfd800aae80377b94aca40eee101cba923f1e5ef15132656dabca84cf82ec07a07880b3c089e03be1a9d587468d651c99dd10017990592241c3bacbca2611b95589ddd3bf635fb0219ffff038515fd301cd74b97d6ba64b3b7a1810c87b547ff382e4be4e706136d0c7d2990036e2e1faeafb7c058bf0ccf3c4995f50baae506bd134b8622ca6efd701d096a13035c79c0a6701fa1c8ad4bd77d864ff805ffdcfca82b905f2517baf6c10f5f60f503fd9e1fe1016e023671b6cea8266e4048ddffafe70025f9359ed17af69891972d03d60292131fddaca0920c67fd484fd8289dad91fd062ee03c07f305c8b6fd6c460384df554ac10a9d7884584e7dc33ea83c81ad95398844affa079f5c2d6ef0ff8403801621dd04091df8875df3b996989b0e385ea659a91cef6869dca0e6273cbd380367d01e64695cb62c74ca7bc7a8a8d0ad8ed243fdc2724c859a1da5550116ad3f03cf6b5ad90fde2965d98fdb87b4bfb64cf6be23725d7ea4a3558e8c9dc2c3fb77031bf3cf1be396145cea17c9517c0d49d738422772d320c671bc7bd902a81c4b000389ed8dd6c4e542bd4f8c075494454471af4182e81dd46b1bb7c1f67a02e262700372271b2085f655825a3b6e6700cb1b38b88d3d57e0a801ca83f0c3bbc302166103b28cad1a64e9898f7758e7fc5129d6ab1142c423c3f3ae1f0879819d6ccfe1b30314960666b399be7989ce194a698b3cd2192a03f22b84dca323311ea64e479a6503f8051b9a427dfbcf6614628b9ab453ba1baa684a47f4b049b39ac7a901a524d0038e4d94cb954cfb379ea7f3929275ad3ab93e24e2d50327c419e3d3c0d9c5460903e5cfe4fc3f384e58374c8c183c90c373274751e9620172699155cd6967911ba9039eb769a06804c6bc75bc1adaa3288bbabd20124407bf706425d344f28507cca005581d026b32cd7c3f4f5172fed954a7463be737287606deab47ca8ef9c916fb0c0c4703b273f31ed800045904dd6080604052600436106100295760003560e01c80634cfee3261461002e5780634ed6ef1914610043575b600080fd5b61004161003c3660046102e7565b61006e565b005b34801561004f57600080fd5b50610058610178565b604051610065919061039b565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000439e60f02a8900a951603950d8d4527f400c3f116146100e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100dd9061040d565b60405180910390fd5b61017282828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601b81527f414441505445525f44454c454741544543414c4c5f4641494c45440000000000602082015273ffffffffffffffffffffffffffffffffffffffff8816939250905061019c565b50505050565b7f0000000000000000000000000439e60f02a8900a951603950d8d4527f400c3f181565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101c6919061037f565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b509150915061021786838387610221565b9695505050505050565b6060831561027557825161026e5761023885610287565b61026e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100dd90610444565b508161027f565b61027f83836102a3565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b8151156102b35781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100dd91906103bc565b6000806000604084860312156102fb578283fd5b833573ffffffffffffffffffffffffffffffffffffffff8116811461031e578384fd5b9250602084013567ffffffffffffffff8082111561033a578384fd5b818601915086601f83011261034d578384fd5b81358181111561035b578485fd5b87602082850101111561036c578485fd5b6020830194508093505050509250925092565b6000825161039181846020870161047b565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b60006020825282518060208401526103db81604085016020870161047b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60208082526009908201527f464f5242494444454e0000000000000000000000000000000000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60005b8381101561049657818101518382015260200161047e565b83811115610172575050600091015256fea2646970667358221220138681742300832e0f1ca47b71c96176e4c5db393aca45fc4aa154a2eed253ab64736f6c634300080100330605581d023a6ed155031d794bc2c3a123078dffc6b085dcca75b6c6a2a9714c4807011904dd020305581e0369e975c08eafaada3fe145043838ff3c2a2ec835e83fdf64cb5f642f300c02470348b2eabc3921035c545fdad31e0e3ae7cf20c784ce937ee8d36160fc6925813cece2eb5059960d05581e03ded46ee4a133f8c6916b9f9126d264095b6e9d522a8504e4cc4a8624e0040205581e03e2f8301e7f19463744946d074933bb1fefc7b71b053ab5bd726ce376800c02473993e5db096f8e030531da060e24b48111a8bafe3819bd2da35d0063614fbaa3dc9987ad29c4d1d305581e032140bbc9b4611f21defb9d83d2fbd2db2d061f8bc8ed4e17eae19513600c024654701913796805581e039b804d837b75d08b9fc082e7174c81eef0f60569298b9cb46c4e9c1f6008474b119f801aa00005581e0318ecbb1c02a9831ee5e9ee5430486ae9027bd1360cd9f4fd8e932cda600c02460584ffa5499a05581e03ad1e05d49e92d8fc983ac20c5b23f9fa11dd189ab44bbffdf8a6b6d0800c02470eccc39128ac0003197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e03753d495903d37762ed5d2be5d5b6cc3442dcbf9a8f65bbfae586890c8007011bffffffffffffffff05581e03c23b4165afec431669313289e662b017a3430840c1475aad9598ce57300c01470a926c9faaca000219efae034abd24ad79b8d459ac435999625aac8a7ea9e6bc02f0a0acb3f7260142d0a7820392d5a746f507cd8efe65ef4b2594f10e63e6b7f0cc2a3e24192fa093494494f7031da8df9384ebd99fa3dca6174ab53d27dc34e818798367aad2349dc07b9a1e580322f5d00f701525b6a79d88252df5a1fff6e373163260e35c670526a4eed52fde037dcae7667d5ad9cb7c2b537319a54893664515b298f7925cfdd56511aa38078403390b3c1ae9fb278bde7a3eb08c7291283a6bd7c7ea9062a72869074986067e820354e8154b30eb64b0cba453986cc86c65c677fec7d59d343bfe81ba502d113e1603c200d181358fdfbdeca8b8de73ad2ee0931d150fe8520fe860ebd1ea7b2b7c1003c8c398276e173592a493dc73db684569bd7e1f7f712ae5d4fe5b94fa386a0e6f0306c1e5d69ee0b883f6d223413ece2c4c198e444d196f16c3c3cc5c7dfe0b81890391378653b423b7aae76e14b7287b334089af7b3b9f51c08bfd4e36659d3937f803b57184c374fe0fae37a95c20b330a8237eedd205435bd25e3bd5ea940d29a60303b03bcad3b6fea2b958380b9591aa098dc40e3116eb14acdcffe67fcdb6435e25030ef9da30823db09051b5da5e5c4ae715b30ba29bfed5801df127c0cb841b5e0c0219ffff032043c346e0a3ea1489979ec96512531d5fee9bace0926e5e206bfdcca7d0106603099ec13ceacb97dd3f850eeda52cf11c6d5b75a14a32a5181db3aaa76bda9de0038d94631e98e5910ec3b7990f8ca10a35951f1895abc83be1bb0c5ed6aaa2555f036a94c0bf69b3f0b904f4954bd940119d84e136c7296513cb27919be210db7bc10335ed0aee4c6223d4d7508568455f22ee43a14b11c151fe96a13ab887e8962330031afdae0a9dcbe7d0444db2370b04c41d8d895127e8af3c40d6d354f6f1def6a203545571784a8a5af60f781cc662d72fcf2df1ba7de94b30e44ae734a547358530030742353c16078a0f9b85b113796091db726e2ca7f64e6a7c5b2b8b3805a10ad90396ec1f357f4388eb63b46573e477e75129390e04d70b83915dc5cff3582f0b890219ffff0314b9957789285515cfda2fa7ade61492306063247ef26d1b1be4d69caa58a4fb0367b4d5302e44e849126a82a28b868d240816c772b8db20fcbcc2ada1738f6fb503552bdc2a13b805c8c914d0e272e7038d1cac733ff5e7e095f9a368afb35c6c1203b6cf4ff441f3659aaefb3f6f8b269e0e7b4ddb0007a1f215578880d6ff75d7f10385a5cef96e21fcec5b37afa69940ccfdc3a95b038946d72d1aa866c522dfcc900219ffff03fcfe9514ba318c639571fe3a7a6f177a29caea11738a9ad6247281b2610e468d0300b80df9722b3404fc9e453dc868fa1d213370740bf9d79fff45a7f55849189003b7701090a1162eda954a75cd82b9aa862d0c1b005ffa838d0aa0c8ecc77129d403c75c0c6e3a919010fd44adaa6c86e30cb0fc9e464b67c1d41ecb15f38031da9003482129c8e482c3aec9ad638430a12e3b7224babeeaac5b92f01b7d3b0a04c7c1036370263dd734ad1c5fd7b7124d752c5eafff3f520044f5344b610a2553aacbc103c1eab0c73b2ac350a72349df337c41e5d047e57422a8c2d3909ffc2b053c787d035fa2bb5b6ff3bbe48c56fab008c89ae06831b43fa32fe20be5a5a9049396bb8103117e33e685332742d8f2dca56e541380ba5af716ea341885570a3de1a17eba830353b061864b2234959d69f8887ac5b61bc11620321a21bdc1f3d66af9602afb62037c644643282a72e230fa0d45dad49318b46d6054e83e75995c4fcddd87f5a16703dcd23f4d613350d0e59354e21cf411e1708e30437e92f950c5f95bfbfaeb0f2c03a7a532fb7b9201e9270202ba7384c7537f57ab1cdec5f6a7eb3018cdfbbcc0750343f5781a136fc77393b529f57656d65f3db80a218a5940baf189c235357796e90309f008cb24a1574dd54102e4f9f45b923b0ffc89725efb8a26cded934f13d2fd0351082d0444eafab0c51b920858af3812d83f74f85040bb7db8b7743b220c4eb603e0a7843d7966cebf9bd14669027f6551e16d3345aac5de6d302a4f5f3d176e36030b00d0d66ed84330c85e0552ac8a14a2682e04028a16deb6e1d419539ef9556f031427411388d488007e62c0bce1d7f5241066ef9d6cf414feb3e3814e36e189bb0335f3ac35c2d44c2ef395318570970860a4425783db4ef289ad8a5450f35dff5003cd1cf56587921f3de502aaaf666b73449da83ceeb9f5dcde2c9921504422cf30034880cb582d0922fc7fb55c86ead47d21402c5e69314d50ea94790bba8933a840033dee7e5e00444359ad9cbd2d7c1f4fdbefbe04a9a4bdf900d2a14dd21576c6550310777e09cc2ea6dcf76e52a4ec8a84c1d85756857c6a675df714f2637ae4340b037fdb6f11fbe68a8ec391b5435a30f6447f93b0a4efd1091f0c5675c04225711d0321794050e049ce6ad8ae645939a4f977ac776d0c0f8be0f96d943ed331b1163e03c120da3d79673a894d1430a92f8ca2593bf646d88b04a108d0495cdcff8b6912037ccda78fa790f045b6bd1c9a16943415937a81ddd169e9c4206652e43b2ac1ad0397ade6bc43310eb9b1de936e1a11f9aea6d0f2c68af78c3e60362168b96b2e8403a0ffef1719676bbf9c4f43c39c940ac2f03a0a7c24b0cb04cce17ff466a495530385fcd8c18b36de1acb02f186018b2c23fadb29bf7c0824a3e734f81e156af38b036fa63fba8b865120dbd690fd3329b9a8af6b1fd9549b182c954fffb0f67b912d03336457f5fe1fa4626034e5e71cec8c4aee503cce11e11a1182684bf5cfd53c1a037235f9412583cb947ffc1061be68556ec975aacc0a0314f6fa2b23f6f1e1dac6032e6c7bdb83590dd1938bebb079df608a7aa2957da61ade67ecf14f2982aa10f705581e033c77e755204bfca095da2f138e1141e5b904ed1450b46732c4b692f7600401031120b587811b00285f2ebaa7b4cf3fad6c69169800619792f463bb50f0f06d9f0459088c60806040523661001357610011610017565b005b6100115b61001f610169565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a5761005361019c565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a576100536101f3565b63070d7c6960e41b6001600160e01b031982160161009a57610053610239565b621eb96f60e61b6001600160e01b03198216016100b95761005361026a565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102aa565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102be565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101a66102ce565b60006101b53660048184610683565b8101906101c291906106c9565b90506101df816040518060200160405280600081525060006102d9565b505060408051602081019091526000815290565b60606000806102053660048184610683565b81019061021291906106fa565b91509150610222828260016102d9565b604051806020016040528060008152509250505090565b60606102436102ce565b60006102523660048184610683565b81019061025f91906106c9565b90506101df81610305565b60606102746102ce565b600061027e610169565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102b46102ce565b600061027e61035c565b6101676102c961035c565b61036b565b341561016757600080fd5b6102e28361038f565b6000825111806102ef5750805b15610300576102fe83836103cf565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61032e610169565b604080516001600160a01b03928316815291841660208301520160405180910390a1610359816103fb565b50565b60006103666104a4565b905090565b3660008037600080366000845af43d6000803e80801561038a573d6000f35b3d6000fd5b610398816104cc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606103f4838360405180606001604052806027815260200161083060279139610560565b9392505050565b6001600160a01b0381166104605760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61018d565b6001600160a01b0381163b6105395760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610483565b6060600080856001600160a01b03168560405161057d91906107e0565b600060405180830381855af49150503d80600081146105b8576040519150601f19603f3d011682016040523d82523d6000602084013e6105bd565b606091505b50915091506105ce868383876105d8565b9695505050505050565b60608315610647578251600003610640576001600160a01b0385163b6106405760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b5081610651565b6106518383610659565b949350505050565b8151156106695781518083602001fd5b8060405162461bcd60e51b815260040161014e91906107fc565b6000808585111561069357600080fd5b838611156106a057600080fd5b5050820193919092039150565b80356001600160a01b03811681146106c457600080fd5b919050565b6000602082840312156106db57600080fd5b6103f4826106ad565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561070d57600080fd5b610716836106ad565b9150602083013567ffffffffffffffff8082111561073357600080fd5b818501915085601f83011261074757600080fd5b813581811115610759576107596106e4565b604051601f8201601f19908116603f01168101908382118183101715610781576107816106e4565b8160405282815288602084870101111561079a57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107d75781810151838201526020016107bf565b50506000910152565b600082516107f28184602087016107bc565b9190910192915050565b602081526000825180602084015261081b8160408501602087016107bc565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f0e7e427fdce41485d5e890a3900fac3c891a61c8a0cb9f12beb5f90486122c364736f6c63430008130033035de73ab726f30eab8a985a3380160cdb8518beac202bdd3fc32d061fa980822403f7ee9e6496ffbe66420417341f7e9f5d4926a474fbcac12365c65ec526a84b8e037cd14a636bcef8485341d3c8bc780e435bd8b5d60f4f8894e91581b1a9fa5414030814df0d6e4020f6dc48af443599ee2a78ae3a85f5760bbf6f90ecc2ef42a0c4038c8dd6fd83b1e64a4b3e4372d3f46a27fdd60bf2965ee69bba989c43023274500058200297e113b4c3cf20cc12484fa72a7bc09f64c67aa7a20acae33cfa1d9d0acc4941010369e7402d1a60ab9879b53ec6e348364248134f5ff6dfd13cf5295b69ff3b64be0384863dc260c9402b3e228da95b643bfec22e9bddcc2bd2770bd88fc8d74ae1d3031dad92efe1979495d1fb4cf63671d27fd3984061da3f1d8b6b066e16a632e53903484f98c54e7f8b83d1016fce672b6ab165b7d6a2a967daca138f7c36029420fe031933d24e816708b690c9419278d1ee310fce0014fc1b20e9ab2a0d7a83b4d7e603590b4e91f1b70d65418e5b98f42ae1329957c89bd80429d9f3e74795ea0f9099032aef717eb96690467465b3c860666781a285cc3b33a876d11ae02320bb3864c5037fd145fd4a6e4ca21983c004c6f72b4444f9dbb0c0ca6e3b523d6b54af9fa99b005820039ac75852ce753190cbf4ef58bcd7f1e534ae8ef8ae391691bb7eeb688943d0410100582003a3a97a43ab747688fef7bffd32a438c46dab102fc5c2b4ea9b7b577e7cd42047038d7ea4c68000005820033523e32fdf1126773328172426bb5ea9fd234b8b164d2009eb5c05cb23cc60410102199010031f73ce93e55678aa4943e7ec908519c29fcbc7a2057a2851d85e048fbeae30c90219ffff03ef44bbf752e6d5a2e48ce05d2172cc1b6dd415bdf67e151054fc8a99e2162efe030937b4c1d68c84662a2fff69e689a0c560a1bfa886d08f7e39443782c7bf3375039920a2b405b137246a964829ea3ddbb23a36fa9eb8bf70c5b0bc351086eb0e1903a6c886a1408eb16b5de526a61b75c256e398ea045e54dff62e3e99a94d0bbee403a4d6f975ee0f8be6874d393997a699eef87e4b6ec139463b53e0b745a4058286039c1355ae14ede6ec44e13fee88dc785e9fabe8a562140815982abf5d66478d6100582003814039ddd568db7ceb7766b77a28cf0d51fdc82ac4ed1d7818fe1ef24e3fa04101036a1f39ab87ea5620b56858d51bedf7274208fec3575a9cfc9645ec5097754c4800582003db7d765f189355c49c54e3db30c46cbc408e405df81727e9cfbadb1099613041010058200319a63f72d3c575200e97328857870890121059bf258fa04b965e30b4c61560410100582003f004090b650f932895987c7374da89278112f01ebfe20f399681494d6520c0410100582003cba99c3ebbe22e65cf4536be8b97b6f03f59512c7eed6c5164fa5e3c9a8d20410100581f028d87ef22b829a1e24266e21f173405f2d7e82c3ccd5f1476c74e11343134410100581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154cb8c15889afa4126b80e10dc411148e455f36bfa02198040021934e4030bf4c234d79c473f851117afca4393425e5c3f4eff99010c404e5b3ffc4f595403d33287785340973397c265ac5c30c1a0a1a251d8f47077d692ca782e46cbf737032bfc6b8f59f9d90482bf0fd8d414a89d12229c1b3a9b842eab953b42d3136ba3035aad8b9c9160ddccdedf703bf8f0bf21f850f3272d720ca44c0c9031a2570ef0037047642d897f92144c1ae9daff732035d8ddb5170317819ffbea464adb0269820304277934d8cf53f4dd21dd0eb8a45cdff2330cce572e32dec4fccfd26bfd7a2b0392657a298be83b70fcea4c0ea4e69545518109539bde303b29fd1a97e48ba0c2030f800ecd1aed86da0d4e85fbfe6454e7004f91416378a29ce728fd257b350f8503073a5f83cc12af6ab2ba8c22a584982e1a86cda2751166045827a621c7f2f0de03f5a7c54630ae6183615e1821a473ee3400c56fa05138083aab29cefbb59627f703a52eec18424cde56d3b4f978fbd1d1da549fffdbfe249eaf888a64e0f00294e0037c71f21a304fd05bf7af8361168054ec29389ed5ae06df220261f0ac5a16ff3c030e9794d656cde2db36ac702bff5f716f43b33376f09f5851ffacab8863459b3f0219ffff03ad4b7a235a4ae74efdd6b4688d5627a8b85f83471d50b0be1c9e3e8481034f54033c4a5c78b845dbfea534b7eeaa987ace4688fdfef00a3901d5942deb2c5df46f032cba749cf51b0fb5be510864ddab09e8e229f6316fa1d9d5d0fc94471ed402ba03ee6765f7231cf6e40a7b9c364ed6e40815f1f5e7b63149123c64463dde1ac4be03e3a83a2c7efd5de433bb8d26bfe7f8ed1e336169f777b03d288ca31d089b193603fbda8a22ccfc9004023921394e1a9e6a1da8f0b5913a3fad62c69840542b7f1e00582003136bc46006709bc945efa336cd1841a512bc5ea37029658d1403b225058fc05404c04a6dde1ee721e6864579f52a0897c6f00a23005820034e57763e7ae1c78fc80c740e6f7db1b3891c10bec05398d9f52cf7430a2e0041010058200374a463ec453bb4606d9bf17c55c3a58a7edff3506944c45865eb4b0f1e50e041010058200321de0229796b648596145ba5ff35f13df17f9068733b564022c130a4e8c01041010058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0544c045482551d0ca3e6078261ef4debda3523647d0058200368b1fc466839b343d983f590872c4f3457aa807ea87cc944dd73d78b37b2d0410302191e060308bd78ffd269ef2e8e0159d168c7f6ee668f0c33cb634e1746135f6698356f80038882edf79deb235242e522e36835552e11989097d9a8d63236fe38753ef20d23037e9c498349564352ce72e0eaccbb6871d0269c7d1f89c0822328af4fa18a7f0303c4db10527732ae40a316fddee7b9fdff307121f65dd31b3c2ff4ad1f98884b240347e6068583e1acbb40711f1366942ce5e1095f849e480e99818012914dede2ef039579b39e0783c77484bb1655d4c0ba1b493bcf6b1b90a8934047c61cd5d2636f034a819b183074508bcc9ffd0d715ec561cbf00642746fd848a95b7528154f12bf03337ea84dc38790f3c0e11da0c4fdfa167b7a7d058688842aa4e19a467489ad73039da88c799d8a5573478fecb49b4bebc0f2d60ef75efac0ba87f9202ae1aecd53036a87fd001fd04bdbe82a7495e90fcccc5cc8b41b79217ee346b30cf018658bc40219ffff03c6a413834df4a38273b4efc9ea1179510a960982bedd2da0f02fe5eb85ef7b5503cce614f05b3440b309fdd8e2de4e0eb2bcc6c2111b824a27fbd3c7036e0ff1b20318f179fae9828d48c940e71f8618dbebbc3b06e532e54004f677361bdd9ae5a50304aa5873f81f927751d9c3430ed4b89cbf6cd12f0d88f37aa5b3fc40db44c65503ffdcb274c64cdeae44e83c2b7a44147cb0e2ae1fe8751fc5c71c410c74eb614b038b7e933c29b0661f76b6789184885eebd835c1565ed7a192c7e1766d8286278903abcbfc771635e309e0acef7ca2d758572058810987a3510483dadcbf393ea2f20396d3a6d0a42f7fd578c70ff25bfc6218353eb9e311c23fac209116f6dad7909803c86c8e3b2a88f54ed09a2b6440d0476b0625a9bc6d23b80c1855febc3674dff3032c46efc9e6079019529be29700f4817873c86b0a845d07d794b07bf75fa9da4b036d65a19f6a3de27819dfe77ba94a47066038695b444dda3082168ed4a9072dc0034256cc6ab0edc992132e32688c75f68cfb2add2bde52daf9e2132f6c2b227dc203577503362d49ea4cf603f1cc2773c21bebb11f443dc5b9e91639bd7e9506baa30383676c5c083ef4fbd622d2fd0db3903a790677b4dc7a8a0f2debf498bc1c1ebf039c9f0b0631e6b62f5ac2775736093ac411156c06ea4ae81e3b91e2dc29b2f522005820036bda572c02f81b3297582bc0b88e4e2cf295ea98aaac0cae5825d82ba761b0410100582003b6416b1c6dda4527f28750763f1ea5163137126e88ddda663a281868364eb041010391ec21fd96ef7eda4825ed62e217e126a6db9e573f33d16544a8868873f1ffa5005820030aea7742f8deaa6423be84f12acdcd648c8a8b4af7ce73696f9cacdfebfdc0410100582003fb28d7090e3ff8591fee5d780f4f7e737e51acba916dac9ec56be7fdcedf70410100581f02cdf5a2718bfc5ef12b82e9907f290835e05c807bfdd76ab22556ae2dcbc8410100581f027419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c74102021902020219d1880219ffff035b01e2fc3b911fbfc6bae40c570387c74eb0681d7ba520895648ed03b37d2deb0313504e721c6e83ef421a45e7490b6c52655471d9c5170862dfdd8ef9a7f42f070393329e31d5ca8b92ab36f47c75d6fd69b8b1a953200e0d32c253b2a57338e3a1034963cd9934761e155b410020aec46b130c498cc14ac4f25f83f3bd9992145e880302e6bd75da3b0525e1beb355140463c5bcb6f416b6d3d33ff85f7b2594806bbe03e67f90b8d6ba4799d4fb98a13d69ef2df9b77dd9a8c05467dddfea29ba57b833032e18ec29fca8ca0ad3e26089f42b01da5a7b8be61440c39dfd5074623fe5921d03b888dc8256b057aa01af7947d258d0ca6818e44d4d268bedb3ccafbb35f8449303b8939c9e5df95e73d4bf5e39c8085f7f5f89bb3c5e630f0e24128f29e2aced6c03795bd44781898d94f949ced5c16dc1ad181dd2d61fe0d2673e59ffca5250705a00582003bc3c597da8e786d2139a58a1097c788f7f0da8c2cd3d4d775910e49c561280410100582003911cc3b2a6eff9889d171ebaa66b8d76a454b4a343979872b76f972d14f4a04101005820037c2c86852c30fdb9f98c576ee7c9106f8c8003ec38b1af6e7d7c9ab3562ea04101038943b0a74e9afbb5642a18dfce3122d34be03443847c6196b6692ff1266b719101410900582003f333b67cb5b3cdaa1c9df1947d19056ab0fa6db96ab6882de5d4797d3f34d0410100581f02ff92932bfcfae099a82853c8bc723a35c4f456cd5651a986c1aa31df5a6b410100581f023ae0585af2f346cd997ab875358110616c8923cc1afa8815292fad9e71254209b9021921000219046b03a256c43a3fccca9287931c2d6f7754d6bd03f2b8308e066b6f2470c7325742f00325da6631e311e2cb1963b221ca852a1d26f422e5ec2aa39c4e02bd980aa8a83503538450b6448991f475f2154a48d1c1077e8be203ebb6f00bdff713d571fd6e6b03fe2b139536d8a91509d7003f6846f9412b770aa9ffbdd52e3d6ac37860c05789039a3d46e6e47553f1aea2f743685f6a8264cfe5935addb150ef23760b3b6d8f6a03ac360f793102dac7cb8de6e05ac5cfb16b10973c299b167e542e5f40b0744e670219ffff031ce90dabda4630b8fc44897620663248e4326cd1d5e91868b1c7373538290a7203ce54764aa5c02adf9b1c6daebe808b7476de97c57e22b748565e42b32cb648dd03a3850f273d798b43cdf893ccd7e27229282d61ddc187171be0db5d30f4f185d003ce53a312a1b1b79d62e7e4f08644bf5c112563200eeb1c074633f99396fbfe2203297613a2ae5a257a2fb093c23c5a9de1d01da351c7bd57796f5222f89758b3bc0219ffff05581e03a7db3a8a03a7acf69073aba4a959aea54bc296bfbaf0a6a758069a6cb00f014803b98c60c1b7000019088c05581e03b4b8d71a15932c3b77f5c7aa910bb9aa8074d0f45b4a43225f4a0b650004182003d89f1d4301580e6602c8b04b6cecd33334d79f260b2e2a4f8a61c50c5b55a89905581e03f3c48d3ecdcc82e290f1d1d87ae5dc91fa3b5d7a600eab0cc25fc7d0300c034686c7d1b9fd2805581e03e91ccad4ad85c9859da85162683f0bda4adbe9dd53552061ca80cd634004070219e24303058e608054821ce2dd43fc6ba56db5d6e7431f7dab491fce1640b6337c6d330f035412d9a5b8ea07526a65c8c8c9ea4e237e9258903644c6f5d6e7772c63534ecf03d7a8f48e57544d9e6f198519cc3bd8c7793039e9e5516b1967265d86f334e74803c19782d6a4db5101820219f6d04868663e3080e6b88623007825c36902ca48a703eebba96b80e9b744d2c72f59f66cfffabffbfdd253e2047267216270c4561b6e030bd93a249e8743e74e6a131fb5be4d3d02313b78cf5bc13846df2fe09cdc498503bf410288b10bc9eb9e7eb6fa614a4de1b273c7b2f1bffb9b05f9e76aff3e9a73031181aac0d2ea947a66575a819b832e2173e1547f06af27653a022c18c98f6685034f1f3a58d6084625bf78a320983c56b839f7efb51d9b80dcd12aedecc2d5412a0219ffff0315944a804f138b1e71e70efcd156ec84646885c7ae6146158aa39637a943c17803bb40a2f02225688423005603f356cb89021efc106adbe6db5c9f910b9eba2b3703886b81ba44bf9f47a7d031100e097d4306dc8b197969f4eaba697f9049b394d60368d0e63b3f5e6dde6ef17975bd093f98f0cfd13c5c9e110accf4a9e67d307c470391b26b63470ce1dcf7f8a753341919d0bb5413168b624fe4bd42097d0e68b242030f45b91c00c9c65f70127b6e4c2d87cbeebfdcd4e4a5400781bb00b4f07f9fd3037c1e0ceb364c0228d112e4aaf560db0160c7f83b902654940d00f49fb21b15af0219ffff034eed60beea3dcfbeb970409e4f5934b11bf0316185e971ad74423efe5b53023d0328031c3bb062ebb8d8eb28e40956270a0f67acd21d215b8b9dc99fb5cc2a36b5037f5044114fc0c676a2ce0d484dffe460fc7cbd0cc3f9b53ce91a1aa08fc8b77103927de44fc3aca69b532e250838688d71c8adf7142d7c1e123dd20e0a4de85b9a0219ffff03d690ebf1e448e4713cc7ce22a4d2fc78ba8f2f603bcf67f7e5c8ec63da39403803ad0a73873d870ab1c240e54b68ef7a681c8ad91a9ecfa7751e08095bfc612529034d5cfd85644e4249ebdd01d7ac907984a570ed30158ac787a3fd425cccbb6d7c0219ffff03486e830a25882691648eee1ae3e234aefc53eae784ab66b56ad73d6ca165b44603858f4a1a5f3924012fbd0a8b79293aa458978aa6a392a6fcb66a78752bb0964903cbda79b173cc0d62bf2b389097f9e4f595da3f45d4ba3180912ed221b2b96981034a8f374048c40bbb27900f655337d54964875bd4eece5212d58a4179e5583f0003a42c6f7c4649e27ef925fa95013b3a4b830770f6c48a1651f26eea7237b75d7e03e468e435d009727367a6e297208461c74708837ec3cc3d7193e87ccb18dfcd9103a91bdfd097632bfec820946304c351a2869bc00ac02ba903763d5aab7a6235d8036cf720a1836a1c88b83ccadfd1e332cd9d288ee36fd14999952a49ddaf9a098d03e1aeccfa9b3c2dc3484de4ca3e1880a7247cc7a7d2a321083d35c8fbd8139c710360b5d5d04afab1b310bd4226a759d1f18304467d61762f30e96b40ea87ddf23a035ac6c80aaf53a1ce4808a95ada9f05f807f4adc76c25abd7e7ccf1e55036ac02036b28f3c434a9b2066edffc86578a7a98f7c00a4315f43d653470da54c5ec3856033a863fc527ee5392f169dfb25c0228887879fee0fb21b008ae031975a8a6292703afa2770f37636afe4167a98222929e4e813b4eae8717df38e087a546906ae3000388bf8d7fd705b919b18ffe84a2ec7c40c50a1da152cb9d5f8d73c4107d2ed53e037fb215310613b4747997fca468641084d245a5cea764b36aadcb9765f3a2c7b2030fc82c530d1fc3eaa1284a9529283c12646fb5f7e002dab853e71ac0355e874903a015dca088cdcf79fb6aae611af67041d6e03002032652541635c61eea6b4068039f6219f08b5578e81feeafa005a92807712d2f55ee03d860a6ed794f7b84318303afcc21ecbdeb0df767eab1fc81e562487cb144e90359bb8fb49496eef5092a5e0391e0707c4d9fc7c14f82df4d9ffbff4fac10d790b04804c7d9a4f29a2ebf31d803748c5f42f3869b5067df02e4314ad8624e9c93def979a96933f8b60fb9e721a103f0fe69825f7ca78d8cc4ef7f842f0299293ee35f3cf87229a4064d90f4b2d6700364e9fd12dff337238c1d2216138d46d7bf6362303d4fdda1b6107d50c9e58d30037b0f519de58fb5b35ae55c0ca0ea7af77d66ff863d7526f6270af5c6b3d7e4300339d29fbd1748ebca2c02baa262796fd518a414f40d7b5fb75634eb9c2d002ae5035fe5148c89129663ad61aaa9a0ee149f5fd59804d558c932e511ff54d37eb6830347a7fe9daf804c9c3910d0d2d5699191e42e450f76d44c1da345c79fa54f6317037dcdf3f6b82f9bfdf0eabad568f6a261e419867ed55871202812fb7ac94de3c9036eddbf41d7aa5718894dcea5c4fc59a86996a610f3cde8ce373d822440317c56031e8f4f4e98759c47bf6927e3d3993c1d856613b578a8fe2b25d92faa6d9dd9510306f760adbbe069599a8112cb341ac37f57b647a860690b1bb5b2b7cbb5ff296b030a2e7262cdabdbbe2d941c4af6d55df47088b116f9d12fe019018bf2f053024303f445385ec046fd9ac870a04b05a8e1ac37b984b2fab8cbf0cfc8ae493a04e55303d7eb77dbb2978f4666e5245b879894d5cb4d38195ca916cfdd48347e091d67a105581e035b6dfd9b4f86e5894b2beee5d4c555e54a7bafe822895dbfe6a35f15900c0247043f833358464f05581e03be038d21c99d43493b14b6bceace6f5170333094e24c49e6088eb64060040204592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032033a76ce1c86836cd88bd487073102bafc6a0e1e28d6bb1a80c9b58af591b17db403b1ffcbdec1bd8bfb92f812b7f0254f70371521bed726884adf34b9c80bac3d96036d67c9602629724aaea1655c7db1eab95fbb9fc486bc7aecf549a7f36c6840240347808d882bc3f7026e6d82070004eb2ec62e9d5e815f5025abdbd3b25f0b31d4037ecd2fe03f983d403f7f7ae14e90d7b541c44d72d333d6a6f5819f3385f6edb1005821039d67df7326b9572c8e1a4a60b766c22fbff7b75bdc3b762a027ece816ff260d041020058200214b977430b47541a2cdfb12351b1fb6d5008a78e0171bd907bbcca269240124101005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af500a83eb454cfd033472ae7ae9d3c185c40219408000582103a7272abb3b9182be6d5397ccfe0a45f650003a90b8444e3410362fae9801b320410103aee03ef2e3d1fe28dee161576778327f3156b1ca894d7cd71e67387af80c2502030be0ad5cfe760b9ee3bfa25f1241b3830193ab0a0ed9987ae70749055fc9183c00582002c4c6e439a7a86ba91b4edc1ba2e0ae4f1c6e4ba8a192f2a93a3cd134a8f3454101005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218480334bac74d0789582efb8c07691d74e6cde24405e387eaeba9b5b85f4a7fe16e1900582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58205db856e4ddfd5f134c4618e49f57b333ba7faf7970358949c53785745c877b0b005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8530321df4810dfd9cdd27e1c4cb27c252616200c02184400582002e6800dc77f617f8a9a9d1a7043b89d1dc047f50a5da9f2fa94ce5f4c048f704101005820021707f548b1640482614053515b0d4c464c3fc6b494e34c9fbdd17aab13be3e410100582002f081ab73396a88781dc0ef9e1a5bebaec48f131f4c1eed45a2db2f0e811525410200582002c9b4c7bcdf6ac8ce5530549fea345069b53df237a540f9560c0953979811684101005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219904903c2b264573a7f4f6dde1d60c58d7d315e06379dd115b25f936d0e5887ce7ae5ca00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5d9300000000000e499e580b4d7f83c400000001df7cc3fcc1e0a6f1af8200582002e63328b4ec1b5a6a7cd393c79bc4ce524a98106986e1ffe8dd3a41e90d343e41010058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5412ef10a4fc6e1ea44b4ca9508760ff51c647bb7100582002875abdd880f5056bf9fc2eefee899e474e0130ec287cf83c340a2be5fee3c34101021904680219ffff05581e03ae24cdd764de687ba7faf42d79482f13974bc571333a329afc066e43b00701192c1d037236a62287cf0950a48fcfa0433e5f79defa79e3b3d4beb145edbb7623b6d48a039914a80f6ebcb59473ea060b7a5b6dd89c18ca56537cc19ca70f4a1da90ef4ef02198df603ec91c6b3c4b35d88458f39168a2cbac9a18442fe31efe0b87d77c24d59b18167035cf6c80c6cd2967bde16a018bbc4caf01b398f67ec79e85568a65e11c8bbe1d30376f6a05a293ef5535ca32f6a1b08d00233c5ce21970c18a12570a8bbbe07beda035d509ab5f6684721cfa2cb0218f87158bad8afa5bf44ec70fba0695d03a2decf03b4e3056bdfcaa6144cdbe40f0588e766f385bd8992387fc99e74c076bb0b76d00368567b039118a6bab67d81560837f32efdb8f500980485a8590a15d632a2875203c123e7fa9f5f1d21d4cc9e97e5eed76f0b4b3e6469960e4c5bbc2204e62146930321c4381e1e167923d41838fc5b120959ed56ae4b655f5c109bc95a67bb9d01010219ffff03348448acec8a4d98ffe1d29159d41673928e9523b4fae67f18ba370cd183cdb80374b761369f907f814455d3b32aebabae9c1697fb805fb21b6f2688c8d415b6ed0219ffff033a30e483b5a9893391954666efca108a6163ecd3c72c7d8c490fc3e0bea91f16035c7fdcc7b21e8ef6e90523c84cfecd4d12d3663d601673f8e72dfdf7407f8c3e0318ea1f7dd657aa045ba2c058fe1f642e85f956c16216774f8aa6f85698c6222b031517fc57183656207f19c88c1292605d311709d61611d2be1141db198b04570a03574d9af37bcc9d78d013e7db0bff1cc861203d8e81cb690a73036e5a2d56be1c03efa019003484277624c03146255ad2ed40f9abf415b277fa863a10144454fcd5031941aa03336e4b2a5867cc69263138e0476ba7dfcc62f85e20ce019dde2b8cd60219ffff0397dae3b619d08eafb739e98b627c3e112dad6bab0560a5ac0b8ca3a41306afa90310ee23141731ffa5e73c721a7e257b7c84ea31a1e6d0fdae46f154584608145103eda8e22551ba17b813f12504fdb959c99f1e158cbaeb75f6e2c2df9b0b1e5a9b033d8014381cda541d3bd0f0a77b72602165dccfcbf8c948fc18840a1dba532be7030be835cead0a9ce40ebbb9717a6de586de5f2638320a0e7271499379f4cb3c4803c0607ccc7a1858339186daee57087de4487e406743ed8951a379688aaa81f325037153497cf6cc81627a27b98a8a92c6000038012515cfb0c6810a35da843c4d6003770eaf9c68eaaf2f1a52b1cf8ebd11b5d2e9cfbcb98db0d0f5ad2d7bd1cf8cb303bf9b1982de5e0fd191d73ee0ba0f7f076e96bb59fb06412524dbaf6863b32ba5039c3aa62ce4e86b5cf5206ca69272bfdde57e7db05d5ca27ce483a231c51f913c033284216d364321c4467fdaae2202f66d75457658af8016df1683bc6aa899ec070385c58552d0a75b27c1a3d093839a2ddd7751be225c1a9361175ec479d3a310fc03d6eafced3945fb99e2694b2be0e928207dca93e4fb971cd18e060d1fc2cc46cd0374721660d7ca9199c647648efcb050eebf5a64789774c78561419cd97bac544203cf3697fc14daa3f7b22a37cacdd7275a9b3d2627f0f6cf29330dd39eb83373d00317e63ab664943283b1644af8447cc80a3ec9250ee58cb3b79b777b721bc10853030f3da0e6dbe9614f880ae72b508f417fbb92d9900a55fd17e20393572129bfe903b56eb9d099d4b562e03841bf79952609e49ec9b8d091f25f5a8ce6faf3c7c4bb03233f314505f4f1b8122913e683d716250f213981ab116828957d856f7a71a33e03d509ce3ffb488fe36f690faf1aeacd54bdf681e2f54e57ae08bfc75f126d20da03e0e6795a420c4ae90867a846d9435b64468c09f0e262f88d9bd78d2339bb5ff4034768790cbdfbe327579d97ec06f530a85cc913b206bcd0a74042a213c3e4877e03c4ac42646f8ab15f8aedf4c06cc473de612c2645e71c3b8191c2348f62d42b5503d03c77fd0dfb76e4b0bc1b04c8fa6f9265197bf8b8a1aff7d77d5d74e4eedb5c032d90f902ae18c12c905bb5ebe9f2124531a97df712f4e2f58a0ebe06a01a0ce6035fa5a4a6312c3ccea1939c56cb5655b083f4ef4e43d0ffada3d322235af5edab03e7644318b87735129dca296641fd7f0545e1db53180995ee5b66b6a3393f541403382df697c3a0c7d44c7bb29d26d3ca04ec39755f48f1374cd9dfe0c96dba586e036527e85a692e51c10a287c2867c20c1df5ab9e763e317117c10e82084d214fd90361adfeaa608470f2ce3e443ad5c348b7d194ba458a9a25aafb7b7cee78670f9103abe651be415b56018097452f4dfbd6c69f5409970dd1e465c1c8f9e6a0581d51035e9b2ab052f54e4ffadd1ea82f0f80ed6df58b7fa2368d9229b411b80c9fc6da039ec4fe1ab0e3245c39e8254f968dc84da8f5f6d860f92192af56e9cc7abed4d50342a4d63a6f0720a84fafa0e4a6500d345fd75da4753445436a3075c2892103d803bd1d49dbbf04127ffe917e9e47f069bb9c2d3b1d07886d72f3cce1d02a76acc1036a2cb0b85fc81953cf7a7e2a31957d919cce0ab1794486bd80fbd18aadeb16b203fe6b6b9e95794bbc3da24051f6b569726ed7a09f64447ce036c0bc879492fb4a036ecbb348eaf02be60cc4cdfcc07847699c08819508a0e4fb872a3d9a3a7f6dd203bae778847537c4d8a5935f93c726337e62c4c92e0c49878f7d06692cd26a676a05581e037127549c16dafc93c20b6b9cd7521f59786c994366c77b104559372890040105581d0211c07fe7eeadf576312836355b07c7c48101d209343f381a47f58bcd0c196cdc48cfa4dcd2be98aa7105581d028edef581b6d386b7ff32410d79b5ac2f6c784f12c15d30ae011b79400c024745c9fc2e5d056805581d02196dc88abba95289d93b6870a3eed82f28aa47bdadeaf6e3362192660c0e4731ea8616a9a13802191840031d8dc56b606a7f598c56bea747677059265bbf0f4b28f93ab5f466b9cc287a51032c58ddf2fe3fa47811b6988eebce1e42b8f0f1d6a13748ac6a6c07052af98c8f05581e0373003e8f64e9d39a6cfa1249a18d2a228848ce2aef89015cf01b9ebbe00c0146bd1f296ce4f305581e03cd3910046937888c7ea29a74484f81ec6743b602a7e9818a6dda8417500402034f51a88bbd3db931dc32c5f945d0820cdd439f5db72948d4e00b298f2d95dec305581e03e4874822d55ebbc8ac26b2be6eb5844dba098a82d4cc51b43ee2566170040205581e03586e1cf8df9b4004eb0eb4ef4a82047cf03c394aaecff0cc55567bc73004120219acae0219ffff03f9d49a79434612bc5f443d14dbb744651ec69ec018d58e460294663034e4ee1f03a948f092a37c6a7119bd93d783425b5a5a6196e5137b57bd3e54c72d19dc9aca03e61f2195858d2b9032e1d09c61f7912d19d0a0314a4f27e16bcfbbf1075a6f3d03a5ac3048d4e4704a5bb16aec3e3fd91a5f1dbca05d1712073dfaa3b77b57e919036ee07f4fc632a09836c547345898e19b818b0e61317ae301e3fa29a39b84cb700396d2f506c04e9371a979b579246153b8758ff0f9d7ddd90b4680857d245e9a150394f1aabfd1844c627094b0401f98a4840ef5baeff46f0dac9beda702ef1936ea039d84a6427b5f5460c41a039a49af1a759d9dedc7b62295864368df1e04b7b53403cd7e785bd4174dff992d06a8f77317a976791c185a0f3d163e3384f6fc68913d03f15da92058aec517494f551a79d98450748b87b0217ec5ebc36f1e414df76fc40219ffff034789b8829a16c42c8dc7878b854a6f825c4bf95dc3ad5adf9d0fdfd01bf2d063034e5cba37f3c4867a2e049ed260ea4af1e1ae7bfe119423e6cfd64743debe1b0903c4ad04aae5b8479a95cf1c1a8dbebf426448b5a8496c30dc58f12a2b3fb6d74603bf43053d5688f9e473b2ac6107f0b0c3ec6cd94cb050ba61ced341f4026943840219ffff0317eb0cc403ce1e488a87ff623f9b8d318f919bd3a8614214544f27c68d2c9082039731d7e2749d71bbc1ddf663a4fb4ecb3753e759677b1b5879e5a4a002223126031c58e5f6cd280d0a829b35497cad0b98548b35f157214cb6583422e6058cc075036ac50b7c46d0bfde48bb4226a4cfe1f8bb238d80c0460a6c4a166ae0f93a20f30219ffff030a1b6a13b5a17a272418d4ab5de7ca69d7f1bd096dce17936d7e57148abe1eab03c660d94604872629fb7e6916dac3caf7d79d9943e7fac1d4ccf4ec2a77cf151703f561cb7b843e464e44119db5610835fff99f672052e4e423f18cc8e324fd7dea0390a72b6d853843ad5adb3855eb2add56a31f4b6e06b7d74ba5d4133839dfc4d20397aabe8785af66996f58981e88b308aba9f3236df1cb2653ad9ad82f0ffd8bed0356fb5b9dbfb1c2c287a3fbf3f134c2fc5e959d18563a46a7d1d662436239dd16038a23b53748643f89d5ab66bc01f6e7b0fe84214dee8fa89044f4d42ce41061aa031f15c198b8aaa88389e4f75b4b07d2b0187dcb85a06c1c172295884f459449150337d6eea844a9592b062637ab44d2c3af954b2b383deab6221b52d176152ddf9d03df0a8af7cf72b5530ea92d70ca92d262ee021101964063f9d232af415761acce031b6ddaea04169b2a6f8d6914333127ebf721734556c99db3bd914b99610454e5034ddcaf6c41d5e8eecc70670a8f5bed4e2491d65369a2d49f870c034bd884b9ae03cce878c374276ff20ef75d5c038a54fd439de6453cca6131556925b041aae8a103e9a29bd105cd42248b20269415986642583ee2a1ab172b431234bf571161d70b03fd1d2ab4f3b452a6e25f763e31a7279d7f101706128049287269659f65a7932303be2a4a8bd8cfba41c93935bcb8cd6c90c244bf57bf1cc7bc28eb264ae99bc3fc03d929731053a400408d3453f73d4107fc045812ce55b2d1aaf9f35d83188855be033af028fff8d8668888817c16f329d16fef054b3f5bcf6e2e1a3a22c10df995bb03caa7778467e229cbd75a3e8b288aa280a833c2f98528c4bfd1dad28ece0c4cce03af25c65fbceb0be121195bde41744b2bb95b8281dcd2c9a9830bb0e7712c49d0036d56ab18d3d39e2ddc814036aaa6fe4446d59f0f10b7bb2df9e4ddd3bbd03a8903bc0705365b1927884f1e7824dc61646050844a7e53664b69b2b4ab0f61b25d4a0333011c880c0fc978fb228a7405b205b9d9299b49870179474dd32e70c72ca12503b5216da70b1a12ffa7375308eace0bc7a3759ff11201921a6e8e6b6b41db624a0331345818f84b93d70bd1e79fe76f22feb20a8975ca1cdbbdf8e4373be8833714031440020b25a6ff9345f6e81d99188e6de435d7d61baa5ea861268408a995139903da667b5a0d6237740c72e071b826424a6f60a13ecfdd3e38bdfd9326dafd889c03c615663008a9d105a854e1c847d39612bab97c0868d5ac0cc62b7ad1d5e6953f03c5680c64f63600becf7197fd8d4064eba95986ba602ff78699de692cfbc7f8fa03ecb294ff5a5e0b90ae35ae11962ab5a65dd7529da19e0196897a757e7cd8377303736a9942c27e22ed8b2080eced4f7241378af71fabd72b8ef9935c0316d1a3f30381ad2bbed8bf7b280dcbd0dbfcafbdc89f3923d27864c05eb5dfd37ca031b7e203c17186f4685773f7f914235e7ebb847a853678fe83d2a24532bc08e27bb39fbf03eb034b454d4534cd02a6d6a1ce997cb3c73c177bf39d8a5eb042336c06ad491903ad885bfe3d29b54bc2b63a8d471132a9d01de68c099aa8fec757f109a826e5920313d53ab8f829df0a54b72069796b7af3401fbe1b8327594391963ad09bfa3e9a03bbbefd09fdcf14ba7eccd190da11e561247e1f9102e7352ca8ae5a1da2e46b36039cf4100dc54b4bd5e52ecde8ef8a513d1b824d836da0dc1cce7f34b3b722b7de039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581e03c65a629b76141c466e9883b08331eefac35e97b56fb7bdae4dc9721b9007011bffffffffffffffff05581e0354e3ba224c5350facb8167768ebdcfee3fb38f91705db8b0f6eb6161300c01461c62b546cda8036a68a9af0124be3ec6f39ca71b0f639153dbc573f4019677768282f8370f6b0505581e03f8b4caa08ef316c570f072053925d1bae76a156c7f205bae6644c850c00847eb8b7fac9bc00003470c2da0a5542d9628f43c0b6f1761a9c0f232446096eb51744e6e0a6c1b163b05581e03982dd88c7a91cc6f3fa2d20c2790fe50bb632f27fe620cecfbea107be0040305581e03bf7382c75051086d53fde63ecc6e61f2d1292ab4c739a12db1b8b8fa400c18a948034d506777a1e4fe0327b4f7368917e5efd7abefb5d5e7ec19c28e0184d4004b87fb29e756590cd1bc03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c033fb806512e1173aafae00820a8d0d1f4fb1c808869ff37f2474b0e6001dd957f05581e03f29175c0e1bf3c7773e5330f430db112841897c454af28c1a990c70d9007011bffffffffffffffff03e3581c0f6e59aa2d33272a43e2e72b7e1c0ded2853290b8b75fc80c95491d8cc0339036d12e3356c46b3cfc9a2daae309aceb89ad6c2ef7ecb053239509c20746c0219a67f03376919d09dbd82443efa03240bf8b6d8eb6d926754928e9580e9ce14629055180366e1cdcd4b6b18b89bec18531b6957e0fc44e2d64147891cc9236d378796ba0703b41c111acd03d1cdf23742399ae3e9e23785f7d9c287d8a87a1d93de224c149b03c5267ce2c92e302d820508cc34a6155967551b95e01693e39788fbd241da860e03b64c1d8e0c49789969fde3be6e5dd613ccd70a68f5eafd9032a73e57ca87e30203c2081e86f169f845d509483d840b37029554051ad3ec5c20bb1005409bb715730219ffff037cb996aec25f96a0a367911734709750555faca413ab2b241c81bd81b253b7cd03b728267476e37e6f8f41226ee5e861465030969808c2a7b221865b3697148723038dd7ea80ccdde97b8beaa75fba213a3f3af888650909b45a0f5c5e768d2f48ce03e769666810999b74067ae3f34b9521d24c2c98184df4328961a057aad89fa4ce03b1cd10e37b547828fb923f6671b930e59eebe9dd24e92f21d02246e3c002b0140219ffff037fe026bbe050bc591ff95d4c3a4ed3b12dec304f8b3209de3fb3ff75bdb76e530219ffff03827972e534d92d9071e29d3f5befa5048168d3950199562ca25621e6d9ddd9ee033fd3ad4625b09f11898497bffd0a0231641db061853ef71d3bb4183a15d243ca030a46c1d97e491f6233b93f70d5087ec2c2ce38764ff1f1f1badaad33d59f12dc0392b0690d5c0c448dab9ad18f8a20362787be5907e85f5116fff4db6f58ad8152034aba344fb938979756ebb2b8709b6abc35d4c91457a3f36b2250953017dd0c6b03c27a53e89c358dc8f4a941dee0f3d8903dc5759adf38e5b73e180d72c6c0757f031cde035042f7f26722afc41b10f1e44eea7ba9200ec35ae7d590bc86e521b78c037fe537343d3cd23239d94de2cbcd6418fcc1821aee36062104e1c795c352463e03782870cac4fd8a39710acf9b8fdeb8d28b3089bf4b54d0c7b7df9ad7fad82fce033eaab441e41c32eb22177bb5f35846e22cf9969493428e5014773d99c9195982031504be9854e86e1086bda3bef575ed41a5f7cb0a9d509e74265f778331fb66bb031ec70296889e36f4850e430d38e0115c26a7f2ce63c782f00d7d2e12a0d74e9603fd6c7a01ab3fc5571ef5244663d0d69809e143633cbad48ea2dded3700716e37033bb048ae42a786b8fbc79d61b763b9f2d5c551e7a263973a8fe12703bf7b49740314c69fee9a742a3cd3f4d914cd88cde184b8d35207b3473c4e9eecaa20b50b0303dbcade031fff001bf45597a50b26a8a0396d4d236d0bf90ead692a299c496ffe03c0d906315a3c80b8afcf2760382b6d669566f59862fdaf90c2e393bf36dfd62d03be45fcbedae4ad9c19a91dc44760052d84d6bdaa4e3dcc8645e9a0fd20ed1b4303ab0720fb492e1c9307f1c9c9eaefba6825fc0e9590c06711f281a3e1cd03d4dc03ff7edae3855746a4fa2e02509ceee1a1a644bce762ec64009afbd198d79f4001037d69334202640e551d25b29ebeeb67582bc2d24c96b2f8c9ef064190a4fbd91b03c1b857f60e7c0326b1f602e88b5a7186ed3788e74dc92d15cd9d81e5259975eb0354993e655348ff12aa90b4257927d0dcb2a66dee050b24a466763002351139a9038d6c23dba200eeb896721683b666745819e49a5656285f5d501ab1ee88b1d0a8039d3135b7ef933c6707f2d98e12f046d468a716a2f33707e21435cea70a789dee0366159acc5e8cedd9f82d6ad0f136aea5f2108c7ded5ae47a129fe563a1a87ac7033115b867c81468e73ff36aa1ec09fe4e65f93493d7720e0f7cb265ba6e0e6a1203433c23b2a2981361ac6409e713360f13689b786a12a1afc52b190f086bad4ea1035a100f6e4befc5c506e93fb550bd7622089d66e35fbcdffe8612e0933534fd5c05581e03292ba201b3e1d2d2ca90af51d373b993e8a70c9ba645cfdfbd181c98000c02450159b4fa0005581e03765305326f1c6c93e1d7baf40e5651e2bd8a1c4ee9fa22c64b946d2400040105581e037fdb1341b9ef4bc1703132d5268365ac1c12f91d65926c0c1f64e85fd0040105581e034446f46d712af48b8657c2188d72e4680d5a98a615a73be7a95792f480040305581d0272723796f15d24686813747e021a7e7c04b1a3356a94ddd68d3c44330402045916cb6080604052600436106100d65760003560e01c80638e58736f1161007f578063c5deebb311610059578063c5deebb3146101f0578063d6ae3cd514610205578063ed2b40ea14610227578063f2fde38b14610247576100dd565b80638e58736f1461019b578063934746a7146101bb57806399178dd8146101d0576100dd565b8063715018a6116100b0578063715018a61461015c5780638b034eb8146101715780638da5cb5b14610186576100dd565b80631aae9eed146100e2578063419cb550146101185780635ab2a5581461013a576100dd565b366100dd57005b600080fd5b3480156100ee57600080fd5b506101026100fd3660046112ae565b610267565b60405161010f91906113d1565b60405180910390f35b34801561012457600080fd5b5061013861013336600461127b565b6103cc565b005b34801561014657600080fd5b5061014f6105ef565b60405161010f91906112e8565b34801561016857600080fd5b50610138610613565b34801561017d57600080fd5b506101026106f9565b34801561019257600080fd5b5061014f610702565b3480156101a757600080fd5b506101386101b6366004611188565b610723565b3480156101c757600080fd5b5061014f610a96565b3480156101dc57600080fd5b506101386101eb3660046110d1565b610ab2565b3480156101fc57600080fd5b5061014f610d29565b34801561021157600080fd5b5061021a610d4d565b60405161010f91906113dc565b34801561023357600080fd5b506101386102423660046110a6565b610d71565b34801561025357600080fd5b50610138610262366004611067565b610e27565b6000808573ffffffffffffffffffffffffffffffffffffffff1663960a7afa86866040518363ffffffff1660e01b81526004016102a59291906113e5565b60206040518083038186803b1580156102bd57600080fd5b505afa1580156102d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f59190611263565b90506000808773ffffffffffffffffffffffffffffffffffffffff16635a7e1083846040518263ffffffff1660e01b815260040161033391906113dc565b60c06040518083038186803b15801561034b57600080fd5b505afa15801561035f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610383919061111f565b5092955093505050428390039050821580159061039e575081155b80156103a957508581115b156103bb5760019450505050506103c4565b60009450505050505b949350505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f1614610444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b90611519565b60405180910390fd5b80516040517fa66b327d00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f169163a66b327d916104bb9185906004016113e5565b602060405180830381600087803b1580156104d557600080fd5b505af11580156104e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050d9190611263565b6001546040517f6e6e8a6a00000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f811692636e6e8a6a92859261059892911690600090849082908190819081908d90600401611309565b6020604051808303818588803b1580156105b157600080fd5b505af11580156105c5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105ea9190611263565b505050565b7f000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f81565b61061b610f7e565b73ffffffffffffffffffffffffffffffffffffffff16610639610702565b73ffffffffffffffffffffffffffffffffffffffff1614610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b906114e4565b6000805460405161010090910473ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffff0000000000000000000000000000000000000000ff169055565b60005460ff1681565b600054610100900473ffffffffffffffffffffffffffffffffffffffff1690565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517fd5ef75510000000000000000000000000000000000000000000000000000000081527f000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f9073ffffffffffffffffffffffffffffffffffffffff82169063d5ef7551906107c29033906004016112e8565b60206040518083038186803b1580156107da57600080fd5b505afa1580156107ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108129190611247565b610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b90611608565b878414610881576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b9061154e565b60008173ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b815260040160206040518083038186803b1580156108c957600080fd5b505afa1580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109019190611263565b905060005b89811015610a61576000610940848d8d8581811061092057fe5b905060200201358a8a8681811061093357fe5b9050602002013586610267565b905080610979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b90611450565b8373ffffffffffffffffffffffffffffffffffffffff1663ef6ebe5e7f000000000000000000000000000000000000000000000000000000000000a4b18e8e868181106109c257fe5b905060200201358d8d878181106109d557fe5b905060200201358c8c888181106109e857fe5b905060200201358b8b898181106109fb57fe5b905060200201356040518663ffffffff1660e01b8152600401610a2295949392919061163f565b600060405180830381600087803b158015610a3c57600080fd5b505af1158015610a50573d6000803e3d6000fd5b505060019093019250610906915050565b5050600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60005460ff1615610ac257610d25565b60007f0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f73ffffffffffffffffffffffffffffffffffffffff1663e78cea926040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2a57600080fd5b505afa158015610b3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b62919061108a565b905060008173ffffffffffffffffffffffffffffffffffffffff1663ab5d89436040518163ffffffff1660e01b815260040160206040518083038186803b158015610bac57600080fd5b505afa158015610bc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be4919061108a565b905060008173ffffffffffffffffffffffffffffffffffffffff166380648b026040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2e57600080fd5b505afa158015610c42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c66919061108a565b90508273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610ccd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b906115ab565b60015473ffffffffffffffffffffffffffffffffffffffff828116911614610d21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b90611487565b5050505b5050565b7f0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f81565b7f000000000000000000000000000000000000000000000000000000000000a4b181565b610d79610f7e565b73ffffffffffffffffffffffffffffffffffffffff16610d97610702565b73ffffffffffffffffffffffffffffffffffffffff1614610de4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b906114e4565b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f193505050501580156105ea573d6000803e3d6000fd5b610e2f610f7e565b73ffffffffffffffffffffffffffffffffffffffff16610e4d610702565b73ffffffffffffffffffffffffffffffffffffffff1614610e9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b906114e4565b73ffffffffffffffffffffffffffffffffffffffff8116610ee7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043b906113f3565b6000805460405173ffffffffffffffffffffffffffffffffffffffff8085169361010090930416917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b3390565b60008083601f840112610f93578182fd5b50813567ffffffffffffffff811115610faa578182fd5b6020830191508360208083028501011115610fc457600080fd5b9250929050565b600082601f830112610fdb578081fd5b813567ffffffffffffffff80821115610ff2578283fd5b60405160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168201018181108382111715611030578485fd5b60405282815292508284830160200186101561104b57600080fd5b8260208601602083013760006020848301015250505092915050565b600060208284031215611078578081fd5b813561108381611662565b9392505050565b60006020828403121561109b578081fd5b815161108381611662565b600080604083850312156110b8578081fd5b82356110c381611662565b946020939093013593505050565b600080604083850312156110e3578182fd5b82356110ee81611662565b9150602083013567ffffffffffffffff811115611109578182fd5b61111585828601610fcb565b9150509250929050565b60008060008060008060c08789031215611137578182fd5b865161114281611662565b80965050602087015194506040870151935060608701519250608087015161116981611662565b60a088015190925061117a81611687565b809150509295509295509295565b6000806000806000806000806080898b0312156111a3578182fd5b883567ffffffffffffffff808211156111ba578384fd5b6111c68c838d01610f82565b909a50985060208b01359150808211156111de578384fd5b6111ea8c838d01610f82565b909850965060408b0135915080821115611202578384fd5b61120e8c838d01610f82565b909650945060608b0135915080821115611226578384fd5b506112338b828c01610f82565b999c989b5096995094979396929594505050565b600060208284031215611258578081fd5b815161108381611687565b600060208284031215611274578081fd5b5051919050565b60006020828403121561128c578081fd5b813567ffffffffffffffff8111156112a2578182fd5b6103c484828501610fcb565b600080600080608085870312156112c3578384fd5b84356112ce81611662565b966020860135965060408601359560600135945092505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600061010073ffffffffffffffffffffffffffffffffffffffff808c16845260208b818601528a6040860152818a16606086015281891660808601528760a08601528660c08601528260e08601528551915081838601528392505b8183101561138357858301810151858401610120015291820191611364565b5080821115611396578261012082860101525b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201610120019a9950505050505050505050565b901515815260200190565b90815260200190565b918252602082015260400190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601c908201527f4d573a20526f6f742063616e6e6f7420626520636f6e6669726d656400000000604082015260600190565b60208082526028908201527f4152425f4d53475f5750523a20496e76616c69642063726f73732d646f6d616960408201527f6e2073656e646572000000000000000000000000000000000000000000000000606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252818101527f4d573a2053656e646572206d75737420626520746865204c3120427269646765604082015260600190565b60208082526037908201527f4d573a20726f6f7448617368657320616e6420746f74616c416d6f756e74732060408201527f6d757374206265207468652073616d65206c656e677468000000000000000000606082015260800190565b60208082526025908201527f4152425f4d53475f5750523a2043616c6c6572206973206e6f7420746865206260408201527f7269646765000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f4d573a2053656e646572206d757374206265206120626f6e6465720000000000604082015260600190565b948552602085019390935260408401919091526060830152608082015260a00190565b73ffffffffffffffffffffffffffffffffffffffff8116811461168457600080fd5b50565b801515811461168457600080fdfea26469706673582212201fe95c7f2a1d3935c9808970f605d255e70a37928571f7e2212c4c09fdf5ccae64736f6c634300060c00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305522e3f828b3f47dacfacd875d20bd5cc0879c96e7000058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60543749c4f034022c39ecaffaba182555d4508caccc0219080405581d0213808923ed9b9205a6043eebe869c562b9689deef9fb885a9923a9430f01482e4539466a92ffd01916cb0219600005581e0360cc87ab0bc38df125879b09ce4c98deaa035fc5c7ecdc15e0f8dfb830040105581e03e8ed04e17585a008ddf259c9f8a88b08317978c4aadc6bc5dd9f8f7f10040105581e03c772dfd2bfe33203d278b5546ff84a35eda864af655273a8c2516d9f40040105581e0352fb75ba276cf76315d6ece34bc3e26e544303a9b700810c986d8ae86004030219ea7d031fa31e52f6f90e3e43ca02fba8a6b687a3cca194a06802b7cf201ebf335f852a036609eba7d58e5b0d6f699057d28b41ea22dddb8fc185e7af94d440a060a187eb03664789b546caf4dee66a0a59885bab2e414ccb36a76757f32906dc4b71b4bde9035b3cdc0ab8ba75e808200c419369976f3057b134d5196640e8030a8afa4beb6303da360f83dcb3479ef5803b0baf29406f9ae31c095f76da7045710e764ab09689036e329852ed9f7bd9251e680fe5705500f74e28d818df0f2d2974a74f2194314103f6792202141bd380f0fc81fd527173a37b019bb6ce5a05bf35a230f09947e54203254689bf5b2d259ce03d6ab287cd93feed647c65db9704a808c9cb0d94d9eac60219ffff035f8af392c34905556db8c3c2fdca1c08e9eabdfc38fc975fcc7f9889ccdab97403f8350b8fba817c52cae5f26979f89849ed0a749e00f10c3827ae1c15c26fc229032fa06f21135ebcbc8e648a3dd40d564e0fb62cfe75ed8be4195c1b8afee4772603df798dcf920bf338eabec12ece537b46727de6a77cafddfcf00ad47209d036e703b7b0c0d6d0430e4a7b3eed0fde0be0b1d4297c8fa6be111fe11e314ba491047703e51e87af7db4db1f37f5fe431234c24f35a0ffdf2808fadd86019730504f8a1403b8caca84fcb656868fd2ee6791e3f8de75a387e179d4f2b3c5a2a5a76d4118330308348b95a3906af2fac0bb6057dd26d3ce279c8194fb2e1ec72df861bb9a43b00314851802a203f5825f4e8e654f1cc62e49393cd8877fac1af89972d0ced608df0219ffff03b07ed589766bbfb64dc213738757a5523820c48e3c48b2ff9397c55ae7edf0400219ffff03e07dee9e9c5d993535600ec00e55052841a9a09afc4613a10864c364db8fe6e703c04772c0f7094a40265e067c50948f1bc7706541af48a656fd574054396f442a03e43c7c319c7d3aa8e8a3acae2e060591569f47d9511c4f5746442a9fa23bf629032a496fb0d9fc9d32d468a35c0cb0058848a9e70b7675d8f9bbabc4ece0b221aa0359d7b8ff9e2771481d6932aef89261a31e2a74cba9732a3fe7863983ab15f78603b36a3fd60bd366371c1981a48a4a2dcbd9e9a0888921e20cd3ef4537f2009cea032252102945f1b1a41a5aa7bb8ca5b0c3178773ecf8201d2e4c68ff1da0a5369803009fb5158781c22dcc42d082d51c9d49afeadd773851811825fd901d085933b2037524149b7c2077342e2ef44b5e55903be5c5dfb0c4c73ffb3214da8196c9d25a03caa5ade40142a82455b91a341acde321556f72c7ee955d2e124b8291ae9c55880219ffff03b59dbfeb02add020afbb73a97270caf4780ba426dbe73908317a1e5fc5a27e7e0358a84c25260f0df05e2c15ba374d89d8a34dc3a6fd63ec5cad626f9122960dd803851b5947b50319a63f297d02ab2801c0bc172a712ed49751a0af591a388a24cc036e29d66175af2cb37bb486de79180a46c642b022a44e65116d4b2929aa059d8203b5d6d5238905774ab8117aec8db2381adb96c7cc31f3c06bbefd088167041440034a1ef433ea7c4708307f6b46645480574b19afef26826f808061ce3d405c961803c76ef1fe70ec1d21bd21c5855304c079f76f187a5e076b1a5b68a5d81b0d369a0353d582409566d0113bb96d72541e318c218fc6e53d71827c7913cd517dfd7998039afc134b16529ad84ca4f97ab7273d49c61e0250263c22a687872faabf8b7ef703856840bc8ca492cc538a61e2522d848c0a691aac6db89d02fff54b20e66ca95a03f9137742a88b1ce36e891009a3781d2270cb559cdcf111c83112b91df4cc87a303a1fdd0f8df52c3be2214acbac3649438722f9a92f4da001e1d442c08bd54ba950321e7805d9f8f8d0ccb6ffe2ce53955cb2031953128158463bd730ac461d2116903c2d2a11f33b8a5a21691babd4f0676d358bd09427b5ece3b908208a95211bbc20367692b82218ffae32eea51201959393c373c47bac53d09246dd7858b80f8693d0340110c2d305147bee30d261e50e5b49653081b49d395865c7f6ea354b35f56a0030b84a0a6d45a21f95398888b4edbce597ebfe60b82e6f0a2ade803bb36cc708803119e9cabd77fc84fda638100ace04b32f88ef92467fa2fb9ca99f46617b590d50317c44875ba4eb31924d8e7f63cdeb8ccc2b4a10ec6a9de1fe5f2ce83e7753de8032db5188d7ab0f27e678df611f8c16d01762f5785c565cf06c775fb8df8d2ab50034ee22f71dc37f0bd6f022247406cda6400cad883c00aec27a4406c7e5ff9228203c8557f35dec11c9640e7c27f9c97d395e8912ba3b0a765675e1b5109010607ca034a167bfede43058abf270027caf1bc82028595b25bff1b414936bfe4a04e38040358e2feca06e24ea8b1154efb2710b6113cd6c11e9bbe70b7977c96c801ab390503986f8ef77c768fdeef0b75b7bfea07f2c44d7a2483719391ec84a9ba6991eda0035676a25461551440615bc6e14fe427e356bdfef02e19655e8a85494a8b9b5c2303ed54f7919cf4116bedcf385d01a6727db17f5f5f69bb257a0404f1364e01096f03abc1e80c36d88c9a632051be1288c1002d5bae7e887ac1fc584038c6d8eb293f03636da016009dcd248b1d66ef574315e5c7fd84577b1dbfaf1d659ab605024fb9038d0ef63921fd4b044ed2b9292a3b35223d3841e951eb0d0382dfead312b15700030cfcb06033c04a5892d0dcc84be7eab1d59bebe511d4c632171e14850a9a9e03032e299445c123558ed8d96e0ba69ee63e1c06394168a3a1245465d797384e7006031dfb033a2a81712a281ff360ec0b5712af9a1c9acfada60500fb734336f1653a03b7e68246b9913f74c9ffa7c989e4c3e314d39b2d5f3a54d57e38b1bfbfd245d903c172fff6cddf960dbd7f946c51b8bb07fd5753498c5a0174d960fd8411090fff03540d010afd3294484f9d5c05b42c4258337af68822618878fe1d891df89743e203c2af9ff9600fe1b0ddea2336f23f5dfc0ec9c1916a9e415d37c75dad6d4c30f405581e03be32a71361cb00a7c62f3bd6168145209c718cfaf16eced3dea67392e007011bffffffffffffffff05581e035cd4857596bbfbdfc42fb611cff5fc9b20c8cbc9df94c9110d93a9e4300c0846600aea7d000003bc0b037664073124ece02cd7e5f603da4ab50387ce6beca3210ad804eee2b3c403bff11bfca31f29ece60c927acec86b4b746b3450c42d3039639b08276766123e0326c95152aa8e5631ce914a93b3eeb0bc9a6c92528f2a82edc0521f295153469705581e038f41183b0755718a5a2e52ad3a37057b5520776a0fc14465fe1161aa20084702603f8bea100003e7fd1437510f0890103fddb6b1baa45c5c94a391d51ff9e57691ebb54840e82a03052d91b7f58be9b75bfbc5cf9072c8f313bff916377ca80e7752766f2d6bf74105581e03cd5211aa518ba54f3e39721ad6591b669e03318d718e8131798244f760040104591903608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f9578063a457c2d711610097578063d539139311610071578063d53913931461051f578063d547741f14610527578063dd62ed3e14610553578063e63ab1e914610581576101a9565b8063a457c2d7146104aa578063a9059cbb146104d6578063ca15c87314610502576101a9565b80639010d07c116100d35780639010d07c1461042f57806391d148541461046e57806395d89b411461049a578063a217fddf146104a2576101a9565b806370a08231146103d557806379cc6790146103fb5780638456cb5914610427576101a9565b8063313ce567116101665780633f4ba83a116101405780633f4ba83a1461037c57806340c10f191461038457806342966c68146103b05780635c975abb146103cd576101a9565b8063313ce5671461030657806336568abe146103245780633950935114610350576101a9565b806306fdde03146101ae578063095ea7b31461022b57806318160ddd1461026b57806323b872dd14610285578063248a9ca3146102bb5780632f2ff15d146102d8575b600080fd5b6101b6610589565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f05781810151838201526020016101d8565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102576004803603604081101561024157600080fd5b506001600160a01b03813516906020013561061f565b604080519115158252519081900360200190f35b61027361063d565b60408051918252519081900360200190f35b6102576004803603606081101561029b57600080fd5b506001600160a01b03813581169160208101359091169060400135610643565b610273600480360360208110156102d157600080fd5b50356106d0565b610304600480360360408110156102ee57600080fd5b50803590602001356001600160a01b03166106e5565b005b61030e610751565b6040805160ff9092168252519081900360200190f35b6103046004803603604081101561033a57600080fd5b50803590602001356001600160a01b031661075a565b6102576004803603604081101561036657600080fd5b506001600160a01b0381351690602001356107bb565b61030461080f565b6103046004803603604081101561039a57600080fd5b506001600160a01b038135169060200135610880565b610304600480360360208110156103c657600080fd5b50356108f1565b610257610905565b610273600480360360208110156103eb57600080fd5b50356001600160a01b0316610913565b6103046004803603604081101561041157600080fd5b506001600160a01b03813516906020013561092e565b61030461098e565b6104526004803603604081101561044557600080fd5b50803590602001356109fd565b604080516001600160a01b039092168252519081900360200190f35b6102576004803603604081101561048457600080fd5b50803590602001356001600160a01b0316610a22565b6101b6610a40565b610273610aa1565b610257600480360360408110156104c057600080fd5b506001600160a01b038135169060200135610aa6565b610257600480360360408110156104ec57600080fd5b506001600160a01b038135169060200135610b14565b6102736004803603602081101561051857600080fd5b5035610b28565b610273610b3f565b6103046004803603604081101561053d57600080fd5b50803590602001356001600160a01b0316610b62565b6102736004803603604081101561056957600080fd5b506001600160a01b0381358116916020013516610bbb565b610273610be6565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106155780601f106105ea57610100808354040283529160200191610615565b820191906000526020600020905b8154815290600101906020018083116105f857829003601f168201915b5050505050905090565b600061063361062c610c09565b8484610c0d565b5060015b92915050565b60035490565b6000610650848484610cf9565b6106c68461065c610c09565b6106c18560405180606001604052806028815260200161172d602891396001600160a01b038a1660009081526002602052604081209061069a610c09565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610e6216565b610c0d565b5060019392505050565b60009081526020819052604090206002015490565b60008281526020819052604090206002015461070890610703610c09565b610a22565b6107435760405162461bcd60e51b815260040180806020018281038252602f81526020018061162b602f913960400191505060405180910390fd5b61074d8282610ef9565b5050565b60065460ff1690565b610762610c09565b6001600160a01b0316816001600160a01b0316146107b15760405162461bcd60e51b815260040180806020018281038252602f815260200180611875602f913960400191505060405180910390fd5b61074d8282610f68565b60006106336107c8610c09565b846106c185600260006107d9610c09565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610fd716565b604080516a5041555345525f524f4c4560a81b8152905190819003600b01902061083b90610703610c09565b6108765760405162461bcd60e51b815260040180806020018281038252603981526020018061167c6039913960400191505060405180910390fd5b61087e611031565b565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b0190206108ac90610703610c09565b6108e75760405162461bcd60e51b81526004018080602001828103825260368152602001806117556036913960400191505060405180910390fd5b61074d82826110d5565b6109026108fc610c09565b826111d3565b50565b600654610100900460ff1690565b6001600160a01b031660009081526001602052604090205490565b600061096b8260405180606001604052806024815260200161178b6024913961095e86610959610c09565b610bbb565b919063ffffffff610e6216565b905061097f83610979610c09565b83610c0d565b61098983836111d3565b505050565b604080516a5041555345525f524f4c4560a81b8152905190819003600b0190206109ba90610703610c09565b6109f55760405162461bcd60e51b81526004018080602001828103825260378152602001806118196037913960400191505060405180910390fd5b61087e6112db565b6000828152602081905260408120610a1b908363ffffffff61136316565b9392505050565b6000828152602081905260408120610a1b908363ffffffff61136f16565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106155780601f106105ea57610100808354040283529160200191610615565b600081565b6000610633610ab3610c09565b846106c1856040518060600160405280602581526020016118506025913960026000610add610c09565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610e6216565b6000610633610b21610c09565b8484610cf9565b600081815260208190526040812061063790611384565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b01902081565b600082815260208190526040902060020154610b8090610703610c09565b6107b15760405162461bcd60e51b81526004018080602001828103825260308152602001806116fd6030913960400191505060405180910390fd5b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b604080516a5041555345525f524f4c4560a81b8152905190819003600b01902081565b3390565b6001600160a01b038316610c525760405162461bcd60e51b81526004018080602001828103825260248152602001806117f56024913960400191505060405180910390fd5b6001600160a01b038216610c975760405162461bcd60e51b81526004018080602001828103825260228152602001806116b56022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610d3e5760405162461bcd60e51b81526004018080602001828103825260258152602001806117d06025913960400191505060405180910390fd5b6001600160a01b038216610d835760405162461bcd60e51b81526004018080602001828103825260238152602001806116086023913960400191505060405180910390fd5b610d8e83838361138f565b610dd1816040518060600160405280602681526020016116d7602691396001600160a01b038616600090815260016020526040902054919063ffffffff610e6216565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610e06908263ffffffff610fd716565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610ef15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610eb6578181015183820152602001610e9e565b50505050905090810190601f168015610ee35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828152602081905260409020610f17908263ffffffff61139a16565b1561074d57610f24610c09565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081905260409020610f86908263ffffffff6113af16565b1561074d57610f93610c09565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b600082820183811015610a1b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600654610100900460ff16611084576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6006805461ff00191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6110b8610c09565b604080516001600160a01b039092168252519081900360200190a1565b6001600160a01b038216611130576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61113c6000838361138f565b60035461114f908263ffffffff610fd716565b6003556001600160a01b03821660009081526001602052604090205461117b908263ffffffff610fd716565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166112185760405162461bcd60e51b81526004018080602001828103825260218152602001806117af6021913960400191505060405180910390fd5b6112248260008361138f565b6112678160405180606001604052806022815260200161165a602291396001600160a01b038516600090815260016020526040902054919063ffffffff610e6216565b6001600160a01b038316600090815260016020526040902055600354611293908263ffffffff6113c416565b6003556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600654610100900460ff161561132b576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6006805461ff0019166101001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110b8610c09565b6000610a1b8383611406565b6000610a1b836001600160a01b03841661146a565b600061063782611482565b610989838383611486565b6000610a1b836001600160a01b0384166114d5565b6000610a1b836001600160a01b03841661151f565b6000610a1b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e62565b815460009082106114485760405162461bcd60e51b81526004018080602001828103825260228152602001806115e66022913960400191505060405180910390fd5b82600001828154811061145757fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b5490565b611491838383610989565b611499610905565b156109895760405162461bcd60e51b815260040180806020018281038252602a8152602001806118a4602a913960400191505060405180910390fd5b60006114e1838361146a565b61151757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610637565b506000610637565b600081815260018301602052604081205480156115db578354600019808301919081019060009087908390811061155257fe5b906000526020600020015490508087600001848154811061156f57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061159f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610637565b600091505061063756fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e7445524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332305072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f20756e706175736545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332305072657365744d696e7465725061757365723a206d7573742068617665206d696e74657220726f6c6520746f206d696e7445524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332305072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f20706175736545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c6645524332305061757361626c653a20746f6b656e207472616e73666572207768696c6520706175736564a26469706673582212206e15dde2dbd9513414f58305bc1fa8bee122abc8b78c5ff4bbe6dc2555054d4f64736f6c6343000602003303dfeef1ae34f803bb27f8bb6219db4d680088905f1c9bfda6a7a2c43a6573af310362102df41003923ea5596184eafbcaeaf68ae5dac12189554496fc5a4b07abd3032905b1dd00c4d645cf97f773aaa8c8f8b68d119bbb19ef5118916f2b066e680503c6229780e4ee4ccb02588689ebbf5126354d8f3150e7b0cd9f1633e1d86c510a030784eb5ab673037632fcd23d9910e581c5803770746cf4ba3c4809226317c25f03b512a842259ebcebf349c8001720e669a08e2c5fb7b8667ae6be529970d57b1603814df6d1779a8519caa68d27d31d1883178d07dd8860c3a1f8a1b45ca4a87f280304841c334117aaed577508fa6264236f0f35d17cf76cb8c11dcdadd3193607dc03dff666e6d8bb374bdc4dc8fdb1c47977fdc134c7f646c72f3bc82e9e99d5af2703735b7076c5c7b199a5e2c613662078e1d925387e292447d6614f88fe9358ef49033a7584148dbc75703d0eba6c3defde8355527547ff1048d7ce740f5c1722f742037e50315520b87477d82b5c8fb86504b79ca7c5ade5790e3b127b5b7b5728c9f403892ac88eba0db8c560172d8064f89a9bd5e86e268f71087d6688463ec14fd58d03e0407a03f7bace68a253f0af30f4459127495e7510045ddebc54d7da7b1e638f03ce864bb16f1e39330cb8b7fa2e3609ecdde8a324fc5b774e6b9d4d9417f26ad1032c54db75f0da355aaaf6ea1845e0df65efc41c2751c4e50af5580b2407b38c02030cb39c5331b1d35df45815498cedae5e7aaaf66830e37dc39ed8ab33ac8778d3039a9443da8245d91bbf1bf3dc4b8decb6e40778d704e51d3a0a7357e79e3c8073036d3091f4cb0c05e10cc8ef9aec2433e269ed0e49d9b606b3bf24781b8c461713038f272c8bd57e52e64a58339f502cd994dffdb16f75d0b20445e9b6e104dc36600309d82e0bd3a088d88cba626e6face2c106c12bbcc2ed7809b11e47029a03698700581f0258c00d3e1f7b01e8fe15548ee87b6d9e75a2d6922b0e6520557f29893b5a5820fffffffffffffffffffffffffffffffffffffffffffffffffffffff599adfa7f00581f027aee694c18d8cfa6a6a07388948b936f6fc18f760d1faedf344b427963c245021fd3aa600302ae73067e6558f42528139a67f0c00212e344207d957fca5daed6df869616a403db77264c5e4a31ebb146587a465697e2823107c251d3bceb8008afc16a0b51ba039f8c62d8389ae837a71182679700cb09278aae2fbb1c9d3223276bf9b309515900581f02e153bdec42d88a4dddd1cb89bbc9923d01b31f92d8475cf1715a66115649460616700aad8400581f02140d56178e0608ad895f43c26bfc78861048c9a309006ee8ab3c371d7e415820fffffffffffffffffffffffffffffffffffffffffffffffffffff5a42b65ebd403fbfad5f3d25eb4565a289f95c180064732969e4c34c079b24a527e9c4cfd9edc00581f02586468887b84a33406640c3af61332992624f55919ac9895005f9e76829745019f2cd49b0337a3d93fb3a9dd8ef39bb1447129a4bddb9238cedbfe38b8bc4bb74a86f73a0803740b723075acee41791a9321f87d704c7e74023b2524055b4a0bb876b95abcd500581f03bf311535caf80479b01e0c2ad0efd107bbbc1abcd1d08cff357904545d50469a7dceb8b14000581f0330b89ede45f15ad29f67eb1aceed7af39af065213a5393cf7ffda6710a105820ffffffffffffffffffffffffffffffffffffffffffffffffffffff4f30f23cf700581f03ac1c3e735ac3d57c5bce8a4bb09cfb87fb3f1a4bde09534ae64f38158f10450ba0904650021980c00219f3ff0358d027446820eef5f31b5831de6b83eae9016ecb05aa3f693547729c09b7f0ce03d4e8e023906e98c99a833319b70b4e5a020b9768b8bde4a57d7fa1683cd4c0aa038596265b426ea6ce074db655558bf4fbac7fdaf6e2449510fda5a44d2048a26403c19a415c2039f7101f6784537e409e78a610a4ebd0da7305ca936d5155047abf03f237fa5747ccb200e5caf205c527e6ff3b688edc07b82585506dec237daaad4b03aa41429dcf5e0c1ab308643c0f143b694325365235ee166ac08410412dd076ff033455c185b15427017677954a1fe6e6464df77796e656a8575df79a30a947ea3603329f4e127af7691deb5db3c3b60fadf5794cb6f7b1dc62db82194022c1e30fef03dcbc960543573bbfc9b23bb3d91555d023b2bea2a07f69decd12a79cb43fd263031417a3da48f969496fabcb4dedab37e657387a486f54d5cbc0ef4909841a55bd03bb149b57bfb39929a7f957b9153abb5f8afb8245c08533720722d2a949ad747a03080033ad538116cf66ecdc265fdd8a42a6aed6a552a14bd819e602e9e5b0cd2e032e8b965628beef102f559f8368885f63c2b60803f698c1451d0992f6858eacd20219ffff03826468b33e3d7736576180b85efaa9d30a5598ef6296dce4849ae371fbd430e60219ffff0352c2056bfd48fd4edf0dacdbddf97fd597ee70ac6b879948c67bb953e81990c4032fbb05d99b07ec207fe1899b919966a8f1ba31c70ba70f56b9c0b89dced79a910378fe308cd6e29b4db961ac30986bdb7a30689ba886cd1712f609b23d9bc930c203a59b0a7e0fc2adc6bedd2c0e80e4cb3f530ef7fa62a74c4d7e82f57010536ece03842aaad17f73f9c8560aa95d11f00ad6b8913f81e415aa267c0ecd083094908b035a43ed1825984a4f8900ef092b561ec1be73c29c678d6e083dbfb67355cae3d80355fbfd357cf9b0cc50f1f38792a270a1f3ce4e85b6d5c92e2a7ec3b3bfbb1014039b76f44750cfd851154d208b6859c797b651bff92993a6cecda3b8b06847faf503ae538dc1e675dc869737eb4e498127de72927fda8e54d9d42c1bd50cd6dfc8fb0359c5d209f370d653ab1d0f2d2d422af8cd55bc775452215e0d0981ca755e3d5103ed2ad27e33809a20b30287f0dc1ef387ed3aca57fea37719baef55d95a5bd570037ac178773d2948a28f618620bc80813e2e247af05a38548b2fc9f29149be383903cb0ee54e49fa3b514494b9f75410fb2f4ee9f6cd82aeda1011459938f603030203f52d0ddbcac697972af9c096073156be5a51dfa9cad68ebaf68684d15c0bb9af030ae6938a1b5fde24ef49a2a09c7cda6fb0b8b7446e6b7e816419df40638b93950392513a92cda7ffacc1ce6af2ea682773112bd794c73013b839904b6afd73aaa003f0f3340b482566081da409682f35f8ae92f083e4043ac805d6e3dd827540d45703339accdceb9ea0d4741843d82c7e73d78c9b844cc7618085154f51600102ee5b03ae7a8be3da1675d711b5122011896318ef804a3a357af1a3ff6d56cd3e8e9607031cc680c5af265144b95eb7da0a40f6c7ce2c91cc8dc0ef2e99b6d9fdec03a6b5038dc54e912a79a59a439f76ed8e288ade1dd6688948bcfd5d2fe850b3405fdc9003d4ee920178454ade849b9ef56bb72726b650abe640d30e70ddda7a4d52adce240318fb427f01a66370e4b9ac334cd703b45defa288abdabe073170ba620a9a578d033e98e88875dee5939ec1b4fb5e10bdc29b19e548af64727965de7b20e71f36b50380eb534a2acca3eb25ef174469ad09f0e0fdba01cdcdf5d7182395c4d2d75207037bbf0c57724ce44fdc95d01727da0bc1106b83563106368d1e7107e2f12936ee035a57384ef56512d08192e92659e6d72906e43ac40fcdfc3460a57aad8e6bc92f00581f0256e786d9aaeba333c20c2993f85de61bdf3cbe84cbb925a113ab208b7b20447cd9466f0345f64c26e2cce9e50f33743ffad2fc923774c1b38de406db9a61f601367d4d1403bc05d878eca58bd370a7e6e8fbd677f14a36994ee746f8ad79584791c5a475e000581f0263841810a59beb934443b6132a6ecb1095240633c8019d529f87896ab5c55820fffffffffffffffffffffffffffffffffffffffffffffffffffffd8a21aba2df00581f020296ab2e6a80f880b188659df2729ea4adeef808fcbc1632842d3a6df1c14508b9496c300372262020cf5ec9ad6da14a853db403a09d459690016e470230ca6aebbe7b68b803e65a5ce38dc0abca12b50b340e2d44d0828d9686931fc451deacf38c0f5b5ba903d00aa7313fcc9002ec0d69add6d70a399cc3b6286aee0dc0dfaa27b3404dde3b0361e8a6629e782283e3adbf4c62adb7cd4e64de1a2121657dafc9fb18a00d957200581f03051023954136d6818282c4aee5c7616d8710b2d9d6eede7c5ae622a8e2a04517fc7c3a1c00581f034e118710aaa5b9270e421b24e573bb425fb23b061a9c937b4b891b5d71804504a61c739e0219804003eee956edf206e79ee20629b28a30c9978b4719bbd260b47beba5bce37a86e115034b14a52fbb393025f5e15461a59bcb76b105ffa1db2152e96e068155fb80033e03152dc61e35a60b934a6f93afc1b6b12dc4224132bdbd6f1e0c0386dbac4dc2b10336466a3fefad4777584a7432ba60cbdf5f72c11e19832bafe988866c6700f0330219fff703320a7fe17157948069c6b2e3185eb59187e53d941b79742b9586843bbbc70f180369759c3f7bb8959b723cb302abdd405cc18a31d5a3b70fe98faef6fa763b356d0303cdc9e3baed992adad045475c40f9deeb96b25d10534c065da934cd108512820219ffff036d871ae5d0ecc47a8916999d0708515ea57c044c14a99176cbabcefba21df4ea035236fec439d5b07cd9056bcc6feefb37ee96a4eb735ac53748add779c35ac6db03f9d5a72ded733524e6a2be856769395012a45a85f792fa655aa6ebfb73bf81b103a4d4f58c50b2da7a9b38b90df0f1846a398564f8387987ef238cb5e8d89727d703f2c488eafe557ed511d0a171af0ef9b90d3b829365fb65b0b3f3560d735657ca0219ffff03aa44a020be66a63608570bbbd545d8ea3706c7d00d357b508941031b2dbd3439030f0d9ed667c04e17f00434f71378f893b3fa2f37b6361113e29b9177e6fd3ecd03cf99ac531cf2d093a0dd218e2e6e3b8f64d6df831f300df671e4a9dc326e34e8035963cb720b5facdd773bcbe7227da6ff313d9cb5d0b4e923d4e6d650f45612e503980d57a5c2e418c560942fb0e7935932c142aac03f1b3b6e69d2bf0e07118ec903b871c40851fb4401be5e2d8e1f947bbc0b0b402be7a732baf6720aaa9267a7c3032d9b54a194eefd26ea6f2567f29212d9c29bcb0e8b0b17c5a12c3210f9d4f2da03088780e35f63833404bd976d6ddce32af653a384422b7f18e0678044589a2fd30390f57c33ee96cd451c0d63645fba99e25827af0cfaca8a88894adc16c10f35c6034fc1bb203b54bc96c263c217fc5652320cf98b2b2ecb4befb240f2e493d1a565034953ba26077ba804b2f22cdd451cab1303eb9fe9606e9185cdd72cf8c378913403a18167734f7a1adfa0c9a28df6573083a713a7540441f392c7a13158f2e2959e0354931878017a3d721fbd8a159fd6c2abc71570f2a1ea9620e4fd18e3c35d6e0f03e1a7ae3a1fde6bbd4fcfde3fd059bbc1c5824e217a0186601bc8d0b2f774beaa03d88f535f8894fbd2179579d7a60bfb53d0fd242a9c85967f91c0f98dd77a372403529f2aa8560d09f582e03f799c28805bb6970dc7865a1ad6514feed2f548ca8103343687d99aa1dd595479887135dc353894a11f7b84b615d606ffde7d0fde93fa03b329e0f69847534490136da627f1bfe70f03516799aa8d1e721736006ebabc7501410d03eb2242606394ae2da2f319b2cf8fca3ee00bd3b4f3888346e9b9b2416dce43d300581f0322313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0410800581f03fd6b3c317214e2bc8d834830af35ea78870e08a42020cf3061354a7c2ed04521fe473400021940040362231dbc99b3b066f4eb278a711c7dac413d60b1a73682441ac93663028a7e8300581f023f556c6eedcd234d4c0b0070e533c100ad10d41f6325ebc42a29f6ae7fa94406f5623100581f02e61c78e464eed00bb6c06b7b084092cb960013be7ead8d24b028803bae685820fffffffffffffffffffffffffffffffffffffffffffffffffffffff0974ceb45032e2877d717f91f52a22b8039e618e5cdfbcb34aeb22f4c556e309e5718b0770600581f02efa1de1aa6a8e012b2c9cceb2abff7e1b6e863bef4b91ca45c6b1c7e6344453fe383b80000581f02966c3fc24a1350a71307e0dc4d5c37c69aefa7991676a622a0eb5c478f9845021817b0410383f148752700f9a16324cf513a7cc67827c09c351ad0bbc9da7d37949203725f00581f02f6d74ddadc8d0422579b4ef30616a21b9742367b9a96909e4ffb1ad5d75b581912725dd1d243aba0e75fe645cc4873f9e65afe68535bd361b4038bbd3a816f59861e953e59f25ebd0461a4e76dff88033463a9c313b7dfbf133f03ef95c9152f52ced2f97a9f2684239bad136d5eccf91600ae25448db7f691400700581f02a3ec6ad4910c0fc9d247064676d0cc84e5f0a67349b02d40ed99670690835820fffffffffffffffffffffffffffffffffffffffffffffffffffffecf87018aff0219ffaf0303b2194628c13db361283c269a857349e1c4a75f3237644cbee06d33b9bc894303ca3bc0d1294555b9d089b4abca5051f5f260eacb321c36249c8b2da9bebeb2c403dd171e69af918d6ab6927292d7a6bca519154a1b523c1bf3c4f7567035068df9037f68b8829dda90c7a0efd3d0087fe26862bd6436b280fa843128df042d7d8a7103b497bf05769d36d2009e8851adfe4855150ef17648039b6ec000ec35ceed624a034ffd64dea984ca3f7ea0da40eb6a66e5d769c961f120fe9ebc18551a277dc2c9032abcbb8326cf7ae56ef2b6d82d04cbfe6f1614f7614ea3e1d566becc47cc6576034bae8dcad598e3039494066412611bc6b71283acf984c10a22cdc3501b53eaac03ab82af066075254528d196ab53f745e565877bfcd77ffe6a77de2e4c1149175e03542a625aabb370d4ff64607ee223ac72646746b1217c9e8b90fc5068a0f046b30219ffff03bbf617e24b674743443e44e7a116524749ea55bbf65abdd4d434f9c87ca7a6d803e164b59231e944e0eb63ae3e03721dc2c473799be15c5f8287290922ecb2394803f9444819c00d285b0732fdb8043ab4d46f84b1472fd00bfa9a4ba25ada9204f70332a2f8b4983ddb5a6c3fb69cbc1b19d66be9e14aa56ce17ce7ad5518d2d00d0203c3b4f4ccb881074d99d9941423afc914bbd7f34c82c8050c711c036a013526fb035795234a811db09bb7cb886f66150a24d29c9e8a963685c88f52466ce58e09b6036b6a8af7a0731fcb9c44058831e5a193b2f92485eb3401a9f73e74fb44f7cff6037c193faf38926e1265f717f3bdcfb6a5bce298ddb2aa90cb981bcdba461bb0e403ff00db8d17e3c2a98d00a1e4d3b32c8c107d4fd96a3c8ddb1f3d031d3bd58be80219ffff0219ffff05581d024d71f9d8270d02b9a0ea9dcf93e69efd9194da9a5399acdbc6af0dad070119190305581d02d8124c69015bca971f7cc8360fb3083210a0d63a7da54eea91eb29c40c01470135eaf85451db035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503f893401c710771d76dd98c8e9b7d79e3aabee12f01219c5dda4dcb09b61f58a205581d02623e4ea9268907782088117c1d8c7bb5a11eef481224d48c09ab400007011bffffffffffffffff021944100219caaf03cbd22e033b70b7c24550ce0b9714c543154dad1f2912137cf7d843914c87cfc30387fdee64ba31c0ae79dedae9dede8a401147c58aa17109fc89c135fe6cb0780d0219ffff037362354ca927bf8de876f9e908b168c80a5728dd6235e0901ba942e38317f34303aba57181ba2358ca41e9c71fd44e5ef1d35a072f1c5ecfd9117a296de7befd4003537fbccdc34b91c00fb2afa0efef1ef43d86e8be8b5332d37b62d3118980ae6a03bb2ec2b3153e911ba4e39155dad56828c9e2fb7b1cd9f3c0c77b90a9ba2a62d303a67807a1bf2eabee3f0fd7313b394c8a171160dcd2ea8d0ad9556ce4e15c71b303be6dd15866f2c3b6cbf2bebc6e5236173da288e092e6e9afa56e3418859495080219ffff032c551b3674873715c24b174281e81b2fafa314e4c9193c78565bfa6b23ac762a03aa2266aaf5bf5a15dfe8e93f8dd25b607dc966546a41ba0b78fc6681aa9cefc6032092ce7fb52ac4b4fa6df8be784af2448ae6d20982e31a4ea3665d9970f2359203419c0b84928500cc1b66c707bd8a1133b43d5509099846ba7cc5bcae584712d90389b907799a4625a2a1ec52a9633e7338d80722d68b7baac1cd3f9d93d07290af03fac8fcc0aa2dec9e2eabfdb45530ccc912fc02ebb6050eff283a7e9bbd86a83a03d20b0153755a0e0e3d1de1d5643c74ab00a0aedc683e3079e8f0622450537ced0319fda886bb0d39a46c40306180b22a9d78c98cc535c573d520722dd0b69431d50326417dd024507b08fcb66648bb164b76424e560b337b8d022423630488e9fe1d03b6fc57597c977abbde16f8516559451c61ed860fdc2bc69acf2532448cab1a4b0219ffff037b30fc45d75e5909617da4d10b969f7afb41a0cf7a687bdc757568adc342a3a0037a38dda24939da67bfb614acc6210bd4feceef9e1b4b4469d21daeaf7169ec6b03bb4c46b34dd064198863b06486ba9a07b9960be2242056053e79b05b338dd42303504bef72b313355ca00f5020f35b60a2c98cb351b83ee55a9edf9d99b1bfc310038f8ff4b5596815f3c1f49fdd41b66021335be8b8fc76475c16157d596d51cd1c03ccdfba495f12265264a476bb902e238f858665cd9973124703aac009c6b519d703d0c3fe31f5967718fd2f7b7106f7dbed73323af064f85d5b48c9daffafd034cb0219ffff0347797c0e5bef629482d184a811bb221079312161090ace45f0d197210b3dfffd036ac7185fa5bab177843e06d4dbebe45fbf8191a736b1ec7074a79471fc58f7e803c1826a13e27c3b4bef3d4d7db90cba84d01bea5036b921b57dec6ca1e02b21520371b0a5467625c0763d9988fc16920dfc2d6a238223f1afb5fff261745a37be880339e26cd12a7b38eaccb25b66e8f4c762d75d299ccdd707fcbddb021ab5ae3a3e036b3278647aba6f1240992e22c4f719b812a2a4b93f0a5f3c177bdd807c0eb6ef03c76a25753f92b3c454c9888f0497e7779b5be97e393070352ae7b9b89013bf1c0378683214e5c76292c64f62188206deaf4e54e59bdc780b05f47c4903fa0fe2d60325ec04b175eb210b4b4379814cbe3fee933fc7d00f09eaef1bdbd15fa15c944e03134348bd5d43261f223566e9a7c932057e415ac1da1aa24a2057735300365e4303ce8604088d9cffb9cdae04b07c3ad74fe9e523d2f5514a772e5f086e5970be9f03806939eec9533ffa5d78fdf04f110cc7ff48c96d48e0b6e1bd36e0da77dc97db03ec38ea21398d19d027161a78a3f2e6b48ea13710710c2c3c16126a6de07166230393855389e45594eb432f2d867c199a5a07abd47317b76d579237e2e191ef196e03529ffc5385478db9ece2878cdee53c0bd567c3e54f4b1af2e9d9626250dd753f03b2581b8f0f550e8285dafcfcb01b14c1ce08709b25ae6206aea7bddaf4003d1c032d9977bd95f64e16b12546e8524ae85dcdac97bce7139dd8a6b0fab54281ef5f036ca19d9e211fa39d3f419f326c794e07f1031b03d35ed3e9893f17cfbadad4470311c0a884e5a7f6e97ce1523b32b288779e9c2e7974469a48e8f960cd2da96981032f76eb89b89cec935a57210a80930b0280935557858c1bfac7770768c3371de303a01bd7fc57d188e70011e082088d9c0b42f975ceb4d2c02a406a68a2044c9a2003a9424c5ea880abc9ef4b14f79a9a7513e953cb8af2d995c77065fbdef8569aac03bd04967cbd915507c128a971af212794c5f63dc9c737735d53ac14f880fd787403f6fa0a34a3a7e720d6727bfb6fc062f4ced2d38b494cf466cdcea1fb3c24f95203cbd55bd09a911ff75f62c385d8930bf02081c90e44ada8519af368f8a533b814036bf4d6184f0fe3acf5fac0f0ec01741ff3f05ffaf5190b0265777657b1a3c59e05581d02a075fe4a396c2dacbf2ab06c8131fcd82b2b6355d715c9a6d0644c030c014610f5012c94b005581d02366fd0a570a290b76b7760320dfde2760d3421d80cdfcc45f19d1d120c18744818b0f291487783b8020c05581e03cd5f62007096c2c9fdf5f4e61fb82a9de818decf3495e670184e7214000c02470183add35da83005581e035ae73a1349821d7b186d8875490411e4c1407f79de33a03a2954d890200c014701ed69dd70d6f003f7d29201471708a3ab0eafb2fd40a762dfff7cff3f94dacae608eba666cb7ad105581e034214d996c0f372e78b6de2684d27c5e0ba950c7d0ca0926af92605c1e0040105581e033117e73bb23cd1410631926923a575bff9da1e747a5a586d268e39e7f00401032b2da4401ce583cd3365231ee487a72afd683d565718c83f527f2bcff168f18405581e03a26f28dc69d5b416f756ac5a9a48233aab0bedf58c2f1090836fc222a0040103cd2e103fb06ea3b555a06ff001b0d8492a470bc0f5f2ec06f0efb8b31016dfc1021958f90317706e04ed8d8e6adda5065ae1ba0fb17c119c11130d4b2118a122d8b421655a0369a3f6037bea04a3cbc029264882e128043ebf65a239132535a264177c302abf0219ffff03e5660b08a964ee7badcf3537be139bc4eb0ab2e7df5791a29e59df817c1c5ec5033c2a6bc862718d642de644f0510934b461427cb560c8011552d9cab0151d46730370ca75fa3fab00e0386c036a9d9601bc1c8d032b2231a0ca6baf3b49ba72711d03760ee2081ab18d3a29d24d4cf74532da4a44e178c323841cfd182a7fcf897f8103d3c5ce04d6bea122e5b1d9c96eb5e96a5e5fa78b637c2ec94b98ea8fcbdee04a038e9412e1b4c52f134c0a535d99dfe416220c14b7084f9ffd3bace552eb998322039747925bd051315a57110b111857d07320f4597439ce756a2fcc4fdbf531126a0373e44e625f346e03dee4892614cd7c2932407d0f4ba3e37359ba89d90145be6a0332639487cef34b24aaa411a8e05ce9f8762cf2657fac47d032646f09346332940324943c15f225899d6fe87da74c4efcd1f5495ad7012bce3507dcf7af8a29f6b403f2cf5ef525c62497b27108137a743fbf50664157d47777e8a36ec057a4a2e0620304c31e6b040e46364505f246688ce3282768c2ecdb916eb3e7799a55d161c9f7037e7cb94a4d0f6000fceaf0ff314e9691e20a150178342eb168735eb539c7cff503efae3edf04748e3c50f04da054559d2f34c0e8538163be05ec56d043d3b3582b03374b81483f9a573ed160a0ca1c4a5264e6d0eb5a8e3cd9fa67558679beda2eef0219ffff036dcf8bad423d6692fb9e944f2af7687d862edf430b63a93fb3d1f1627375421a0398a32f787a72338f3386598625ef68d4f0a4031c828e7f8b6491e53c0a2ae5f603bf85053bc2c07f5d7085702382df0ea8e67f633fb83102c85f9c173df043a6500343ded5f75aed5f75bec25da44317b33ac7c2ac5ef06e7e1d20b56bfe21947db50329c7c24f805763460ff4e31b680b8f08a321191085ff32b188082cc44178b7350387c2bbe57a5fc062d2f8227629cf53f35e06339ee8fd74bd47de65a5ca94674d03b981eb395736f71a58ed7081fb494c0f981c0ea234b45b57345ffa5b3bdb4c36030136a0bdfc89c90e7e70902657e8a98c61dc8a3f6ed857591578c79f07dcb6220219ffff03e1e7474240889988b0f6a2f46d5eacf772816cd0c78e40badb0763a08055973403d45a749b2a941e44b3ee472fcd525eabb1a822c4810f3fb540b533042b45a0cc036bfc59cb3410e145bb9f064046765d16420d6f0c3efa329389433a462e222c8a03b5b10c7ece86ea06482b690d91571fe1d1931bebfc6c26f8a272698dfe1d1b6d0320a30a07084279cc8d654844e73a735a0687bdd8175d11774f96e01ed9c11c2f030762c199562e2cb75b51ab890ef064e89c9f897b593b1cf1635e2ed94b2006a603b7dc0d2e689238186fd9a888e63d291f2ae1367b9aa22144b17bfcb30fea3f9a03b5d384b1d744f1aefbfab91bb5974fc99b3d878b291891c71f575a50792b7c4b0373b65caaedf3353efcf1d1a2c67a12a9d1107be57eeac6f5d464d67f9dc5f04d0219ffff03b890dbb0486f73944105dc96f4931e5345f599664e15a5e6aeb051080493fa1f038d5840ca6f6e3ba820658e9119537fc0ee9691d07ce3c9694ce988f21f67275b0354ee58ac36486e119cf4deda87089d045c655d0d266cd1049dae3e28130779ea03752a3a508f0044d2089399a94903558d3f1ca8e0870ac1996317c4050ac5a8ad03e103c79314d48c94b9c48b2e493fc7dba2c229c8eafb4d10b1a2b5788288354f031ef9a5b07cc6d3f2664acfc6a98b5dacd4cd791788b599289956ad7e6776e7d203c5dca8356ed27e1bed59ddc1dc0c006212c44529e83a1d22f49c2134763b697d036873cfae4c829eca6554ea9302802f16dd77fc50cfeae27c29e987d967621ac90366d673ba94324bb85012098b0f8e63e4ebc857187ae97429273168a284f7165103b5337826f5a48f0aa7659681640baec90aea8e228372f8c3a402d71a8fdbc15a0387a3c066d6e8e391854328cb67f74b0d3cfa0c71120147af6da668b9c04d22a003a5e6f0a008bde5ce37acf73f3ed37ef8ffde59abce4e055840f0b54748bd34ae038d233e57bbfe262ee78a93ca5c8384d079008464bd55ed0e2fa21b2ca595d5e103f081b2945ba005f0c46235863f6c1e54894265e1f0ce3e1359261ade6675a8e903528fe07f426544b9cf7ced77adf5db1990b3eb278656931b03f5a3997a5ee32103845fec438687878d8c784befb32e2fc42c923e3f5e96b3f951d6fb1c6c23659b03ae91fe0290c0550523e7adc5881a168fcfb453d7f10b3c6cb542b9018987a06f05581e03d605eb2b42f95ab12d0f63965e58323f3a4d65b3af3ebb8b847c986e70040103107e0c92d231cc05ae8a430260971041a411c426a955c913fef37a2c608d777005581e031bad35b70ee34fd9b39b4633eacdb96fd1a867fa77b248f26eccbe4bd00c183f473632482b44ad6903de57d363b0952b2e4fb4d238d25172f5f2f1d5880d3322a0057fde203be6346b05581e032ec5a5ed7adf4581c248d640cda58dba62baa83b18e6bfbb64787ef2e00c04462ca88302e971031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0393df11ec42cf6083a7cea2c7f4fae6086feec3698b8cb0bea03655014007011bffffffffffffffff03f8ae6bde0bfa4f4c6279a78570580f67ba234ac67a139ded7dc82440ce1d1d4d05581e030d2eab5223f4988908f654a32ca68b23ae848fb6726cdf3848addb95d00c01471eb337c8121fd205581e035474d173cc4618685603656b37f99f7cafd78afc4e66293444e5afb820040805581e03ad3c1c6bebe0cb6b4a113ba7dcb9f9cac01aeb212ebbdf5ed36c8e53000c0b475f50c2900d0b7e0219ee390365cc04ce18acd1d4565cb895130f432c50b3c3003ec022010bc735e22dedec4803236f0e6bc0d010bbac3ffeaaea5127af52666ddee94016fd2695000a9ecc788903398a3096543b58459cb9f1e056afefb112c91a580703f066ebe5d743dfecc642036e2a783fae11b8817a772b0d9c8948fab349ca2b250693bce30371a0fe65728503be5607a01d829e5be7d16252cf97389c994e8b9da361b5ab0aa34842e6f9712503cf028b025a7bffdec3b790870ba1fa849e263bc93c720100523f9c73b2a1e9fb03f0e44f1af08949496c9847da1491f575e4b62b6bcbfb6de258cadd1dbb492f74034732387355ee19ffba4f2ba23c0eaff7f911a132a152f5d61070beed04e5aa2d034b401131b02b98fcf779d7feb072992aabcc3d0d979d889292c5d00045064e700219ffff038f649c9bc8304be02cc33ed51e83684827bca8525bacea5bb7e2caf93c1d6eda03b7b3be344eeb7b035ec7527a9d295e895a02ea5c2a391d307c1971022707654c03f23cde18f9c401827de64166b78bb012dafbb39cf93253e0b02946516ee9e19a0354743ef2e2f9a2c4268aa9192429289edf44ada545a89ce4157d9b120c76586b03e14307cef32777da6cf3951703ed892cc0e3f72f667efa4d4e533969227e83d9033f4db9a049d61a4c68a7f60d9677b3123bf365e9f5d601c0e90e68c9b3aaad1c030a591d8566041a16f3a5c54b4a1c424f91bb3021c6afa9af1beea03b308f5e09032d96b7f10d01e966997eab7732333d22c14799eb86ac340ccad6dbc28cba83ad0219ffff0369dae717c766ff15a331e96f01626a8d14872769dbb51d4b5a4a9f14ab0be0cc03d8465dc30a508383af8a5ea35e9ad4b0ef8aa6bb4479b5967bc5d319e2d7712d031f39ad8ce2823a95653cbd99a315968cf04562c2f57cfa98f99cb3ef8510d62703c5c88f31f4a0dd99da5c4fe99d2466bd45a25d68a1816f37b04eb148cc539a6803e158c7f5c3651dc77c497254026eddfd512b75c435ddcf32b26e47c28044b948034ec8ec7abeaf2beaee3267cecfa18e38035952870815dfa30c2f88e73b3e21b0030efb0e2b0397af061e43e70ca54d2883a448e2731a80f0ae9d8eab283673226f03b0b13ff2f8a0f96de40eb3c1dcd6fd3c7cc1b1a54dd27aa92e31bc663ec2e76f0302a3143f886434ae884721c5b0d90a079bb5f7ac7e1f2ed50095bba8d165a1bd03928035fa8b8d2b5a9f3d9ecb0c22111b1b1730b62f5ea6f925deefc29a5f360d030f1d861b2e0198ac10efb03a14c63fb6de46403ae503e7790a33c646f69fa7a103dd7c4af13c5917e3936c0b8ae604caa03bf803d5b5ada05cf08c94cf29193583038c25c0df15639fef629fea888281fb388720bd7852397bb1d91adf968925ce1b0219ffff038399028b22e911d6892d9acd4fda10259b9a0ef233b1b1f3ba2c86c1c99bca4f033b176605c07568f8f84772334af714735a56088ee8662a244ec3e7739a30f17b0333ba6d267d7c35b57b3ab816a2357721d9917ae88f2f5e8084468b74a74019e6032dbd9a34b32d5ccde800681d15fefb4245b48b448ac7da6280c8e008ff6a906e03d41139dfcf94307143ae8d1d820e39358a68140cf141c86b86af7c400e07b97c037192cd819d16e4ce79f1c1e875c65e63c74e4dcf582c398e5f2995c81e2d292a0341d5befc24cdaac211c8bae13c13a6d657dc0dc812ff3d2ad643953e6b3d89e303fde38835ac4ff946ce8bc7a35db421fe464666b911bd53c5dc2712183739379303fdaf9ee375d918a26a580fefd6a0751872a173074577c5e0f3016ada436f86ae0358d16f400ad3c3339f0f99224012ce87ffb00e5b84b531a80bb47e0d97f1dc7903290f42be7b8786f6ce2966adadccf52e65ee1c0c6523a352665f52fae7376d09039406aa0804b5bc0c993a009b5d2604a636eabe05d10b1a9caccf899bf09229ce0318e4c074040c069b39b59c82ee821dc429c29c70b4cb9ad0b08e835634b7bf2d03687401c37f5805e4faf07c45e5d94e401d3ddfb3bf3c27a3e0a20834141c826603220c9c2ea8593121f27e3af0a2a49dbf85a157d46ea3279d9536b453867829fd038b56a6c3d83eebb54458d5316f3a7cc70e37a6bb396c324c92e500a7a2a1d50203b35635cc611c7daccae14399c4d0bce35ae2c10db2bedfc23b1737cf19dc1cc203db99ccaba0fe9c62dbf170a8708fb51f862bde6bbe066603db0085f577a7668b03e888f943807d2d5789519f1c29bd205941d71a552ed0f35bfc1020bb23aad1e903b8e204ae8dc45a0bebbd84619da1ede5f6384d1b30fc3179cda85fe8eec899b00368c847c1877f211d9d87f14030e7bdaece3ef4620f958965bc3c706c769e4f9b034a5310714d5e2ecfb401b1dbdd9b214f2d10c99c555413fed32ae9978d6ceee6033422dec82e4931f2f8764ae08c654b09236cf6ddd11778aa4eacbd7657e2ee7003d79b843a338393571892d2c2272f33697e9ee4023e9f20a962973797dfb8332c03872d1ea3acff20cae35b99731cd65e8ced0fe881230a390d52731eaf8ec59e2b038aff3e542434a32a39cc60a62462ff9448f62f91fde142468d53f75caca9d11005581e03fc8e350e537d96b471f8dacb7e91c6bdaa7d7a34c14f4a7dbf9c5b94400c1831470ba798b04f403605581e0317b8bee651ed145713019be1fac877d04787d7e540e397918e4f4f3ca00c06471395f4ee725da905581e03dc73940d4cc3d09e78b0da3268c20ee18a81b50110d6e34acbf3a692a008483782dace9d90000005581e038f5f9debf2022bdcb76fb399b53509a90d1c6eb70958036d2b6032d640040205581e0316709abef2d77bb84fa3a59fad1b93be2e169d6203bf2fb13728e751f00c09467f62428c180005581e032f7509aa28278a7eef5a88a78d8c72de6a15e237676e02cf1256da9ef0040205581e03cac5ebac76a2579d91648d50138bbd6ac2cf9ac4f718b057ce405ac8800c01444e6e6e2005581e03bc990419d5bf7ac99c4fcf0ee68f2948b57d88acde190d59fdf0a787800c014708207cfc9f0a0003072ab34c397272c8ea8bddfb2e9c99cf91c6fbcc7efd926188b8fd6bc28b225405581e03b08a18d1edac62ba490ab428b1f3ebcb276f2599cf80fb51eb4eba0d2004010219ee4e033b520a35613c3ce94ee60212924436054292785143a820884b4313f2b43b267303e85a4a58a2a32b5a35b67f6c29a0c41cab3795b2f0bf4f4acda7d4ca2f0a19de03f67e0272dd8606be0ad19fc0367cd336b88d4e4049e97735f32dfaa28493f30003ca8641eb18957dbc0555c6ff08a32562117b90edbdf3f71e682307077c17c7bc03df49691bf3ea0d3dcab0c4465951c790580321fa071825cc0d1fa0d2cab75b0e03b5f402b8fd52c80079ff7d44dc64c0257eb95096cb9620c38eebb1dba4007b090307a396ebf85a8ef71d1d933d14231c90f9f021ce682055e7a5bdeb98fbdaa6aa0343b559f98e80b404d1ebb7f4c34ea97aa91abd91827d0e7a55c097a828d79b540219ffff03d68d97c6b4a5fd6e60fa3079ecbee3c0d415b5d614f119ea5150f2ad925f8b8d034af9b481d5862539d3f750287b41293f945e7fbfb340ec3a1a17b746241db10d036b3302a353e22f08ffb6261eee24238694dfe3988d5750b5faabde8bd24bbddf0325b56d6e3301c65144b9bab46d3656bf540df2b3c932bdaf3b39767300da9bad03357277d99f58d22a467e2e0aa0a4885ccc710c17b3b0318c345bdbf4082282f703e0f42e1ce1b525c881c1278d939ad798bd722846d4f0cf286128e36d1d920fb9030315ae02791849601189fe2e2770639e28f0a0c57bcefaf702893303a94454c20219ffff03f20d572530093b17bafc106e9f1b62415d847cd2b5dc1d1ef75dc13aae170f7c035394a6153b1ed3920cdae64d73e516863f04b411173245b6f5d91d899fc33e3003a6a42f94c1ce33492f30827ff20f7b22b319f3c49ee0930c7a35fa961db43c7203cc7387e9f88e918973711dadb1a5c0333205727e9cf38b5a1e97a41783db2e8d0367ed427069347c17edef92d48959576583eb6cb211c0c5ff0c9a6477dbb6580803d88136d8c8e1609e6c105b0874f32d681a88a56eeb5d48a8e7fbb1e319ecd06e037d61761f04276216092272c71c6fed94669ab58344cb9916d27c28ac1c39d19a03a0b4debb44facc072d488f168916ab0f585dd33bb0698a5ab9c81bc6a88bf5a503e7f3c8ec0d4f5f35e61bfadfdc475d892cc8ec3f1b9e09f9c24f459c39789ced0390d4bad79a2b05ed56dbbe0679b74646fbc390f7cd3fa17852135f77998abde70384594519fea35b88013f3b971d750965255ec09b515be6f418d1c19e45cff746038e62e9abb5a010da96f218785524cfed2db1223e87028649aceaae5d1c434def036f42366f2f0a62dbed7afb7156f38ec77efeae202953cb84896a36d8c35d4ef20387be4e3b421f651f7fbea745ef18f71abfc78ddcaccb84f9fcf7549100b4ee7205581e0392ad57f39dae8184327d3e3216842d4937a08489eb93acd9299c85de200c01467a17f02d3cc8038ca400a57ca696ef350c97fc64a58cea5b83cdc7c3c462f198f9597e4ea5501c033ba9943af05a48f9f086f88aa206f13391bea1b744de014751ab106d539909690310a34d8dc9bc5d55f84c7cf00da5871f443f7ed1ede3c56b2729567413372f7505581e037a68f547be1c333552d8738aa27381dc3277a9b052994904a820508ee00c02466c29700d0380032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203c4e6ceaca51190db6ba9179e97c055167a77f73e2dcaf2a92fd7bca8d847849105581e03915d4f387bb83aa556fcc680001ccf6c195d224b4e4e761a8a236c3a7007011bffffffffffffffff03d501926049cbaa26e07c749cecc8c5a297d7be5aff456040a85c65ba165af39d0300e0c5a0180381a78f7b4d2fdbf73b106aef2a6ed29fbf0f73ba9a938421d92f05581e03444990aabc283ec4aaeef44833eb1301b2954f2d38a067986fb6c5e31007011bffffffffffffffff05581e038cd98a3a9cbf88778e442b12d9ff42057723f00171b378d0c41e9c1cd0040105581e03710434cb2b5acb7d93b0a54b586ea8d9b8c431fd2c23801c83b508de800c19bf0748ad6bb664efcaaa9903b38e2bb227134b8cc7f00f8904f64985f007443dcaefae74ee0f4541374747f903cb4ea8d9db354c640c71089374408851620e0a5da73c53033c5436b62579ea26035eb33faf1aae75866f5ac507b22aef1cea0ff5e38dc5eceb0d7c5c976cbadb140219ff8e03122f29be6040ff2f2150a642a2ced9e6f5e1023c9a34fd52f8b8cdeaaa7f71ba03c62dce421d879267f8fd661f44df1fa4d2b98255aebaf27cd70c2caf7c7570bb038709a68d3d18a5ec4418421d1f1c4d49f87d7404a58c3f07ecec041e52816d2703cbb97ade8441dcbb5eea8eeb11f89d588df03f07273c230c9b00e82c60bcd7a80377df05c5e76e290ee4b2aee94b6371b4652fa9e701b52d5ef451050f5626f4a403f860befd2f34aa7261539c71e062cc33a24cf526f78f045c93fcb5905279ae8f03c15b1c05d3058a2c5071f256265406415078ba8b4622fa4194a3cb544a5e604103b5caa8105d2d3f2b9edd302c3e1b3d5345f28b3e57e4a58775693561443c03460219ffff03fc660143c9312bf6bb26d70394380c1cc2e62c3df55485e89afdf001dba93b88038d766f5cc39451fd18c247a8f6f862c0ea8df5032dcab82238e8787c4661e8e6033f56f4300362aaa706b8bff8430726c2f8bf81056fa1b6e9506e737f07170051032db6d7a00fe42107ae3df5ede392cac16b857a6a2d57eee53cae98eca2826c39031c8645473a37b954d0090df18dfec9749db57a472b47c847158c9dd715425b9f0313874da09ebc485021de85e926be7e420f8788dbcb11c545841d8a72b205915c03be2b65d2b8e1371becb231484a42ee72b0c71f5bdec7f981ea19fa0df96c26fd033a987ad3ed86d01a2fb359dd8275500d8c52890230c0672a90f3aeaad101466d038c36389502931ca15ed9c884c9128d4bfcf8c959fc0963c07efd5aa0b5c59ee30337ecf8153317ef5c17a1a76ec03e0964b6b76de075458dac3d705a172472cd9c037f22422690962900bf8a36850f8e0c421df3d8162051fcdb802f0a5865be7902038890a6006f3bb0ad1a7cf59aa6ac7f9dabae3d6a84d701550e5ede58c5e5e13c03985a03a09452a9d02f85c250f955157b2058dc58c5ccf8f084446cfb5c475b7d037a5d3dc6996bcc12d7e36b0d4b1681ce2c50ed2e301946a358b700b4191e519405581e03d68527ddf9b25e4f10d2a52c9dcdab55d7cd2313cfe1dc42016c1b6ba00c014703394a9c7de06005581e033a7a6fc83daad91e2808a28fea597b9184baeca799fff9c4b1c36a30b00c0347012583bd6c894805581e0359e569e4021429563ed52690f034332b197422363db8808c3935c54b500847038d7ea4c6800005581e03f1034b8a7f6df5b6561c091ae7dc6413f483b3310d40b723b8d882d4f00c01462632e314a00005581d02221c91998420869daa572b539da041c54f68fc41c007a172dfd6d9e80c1952e34801ccd211596de30c05581d0291c6b663d1e15ec7ad442f8e4c0f839b2e79e0a22e0106e20ace7db80403021902020342b8c4db905f7281962aee707ad282df1607b34aec77c22f8f20a921f4b9521103c11a4d844d4a32d742c1e4ec1dee7710d496b6cc8bddde62ad64c5f4dc46b8ab05581e03765de190b8323d1d0fdecb7bbeefd6d1f32d576ac8d4a672d32633c3b007011bffffffffffffffff039a72c3410ac3235ab76a94d7449c9ec32344963fa2e057988cd659d2d04ebebf03f8eb2e36bad9a73017e88f9eeaec1c6e283d621a25961ff06b920062da24d86b0141020219a751036016bdad4d92a7bd0b8377c6a5f795f86916fcf5eb5fa1969a7fce1b329fb15f03d72bc96cee683adadee9c8ffe139d9d0fc94dcae966092bb24512a94f3ebe8270379320f52a318617af5a07bc6d09e8d4c766f9efd941caf2c3df3efe6c8cef64803835e1561e4efb454fceccedd3229cf74a0a273c6cc8fb56950a24d97dc21affa03e4cabfa4e6f96d897be6fbc5892f66f53ec47a373587606fc79126778b09819603682e4def6f13c5b522ff1310798abbdddcf8196ce2dea6ce2f2e616f3d32b9c7038826f10b4bf46bb6710ecbe6dc3b4dbcb0fc2f71d062dce49e1719c0ac02a7b403c080082f7946463023056cf0946fe6ab1c644bf293f278468816d15c01933b1803efdc19fc0c4d6b3dad2faa916e3907f41c51445f9a697e5de6ba5850414d3c4703e458c1d84241a51b34bbf7d1ed2c11c0357bb7a8fa40a47e90cb2a56d1e12ec00219ffff034cf2dc4dd8f4e3b5ab90bb129ed0abced1d4e2f293c4bddb2939cb8fa4f575b103a6edd434e002cb81647453f1bc21cbe36926d4203f5bf5261c921a2d19ef658c0219ffff03a11e388af8b0d1af288599b60dfaf5344f7b414d398a625b62fefd79493843530219ffff03d8379969d6e51c75f454e45a95b702da18d1b63bd2570538a03ce78fbf46ff13035b89b2c4169e6593ddc3b745db7f5635eaf5fa07be54c3414df7cea9b9cd355c037d0771871aedbe792065c8974ae23dad31ca0f96b9155d6ad73a0ae4d2786d2d038764e6b6718267785866b0591c67d5679bb214b0f316947570874f1a38bfafdc034fdd40236a8eb818a901c6916cbde539d8a48b973178a41e92fa50177d2cae2a03679264fc39ad41764bd65a79484f1a6d21a83c7adeb6eec29b0356c9dda7a8ed030744bc71e3e44c8d5a80495df298aa180caab485f109ae0ff936e9b82394fe80038bebab39897f3f0a14bdc2a6d1971a7f70292708d540ffab3f88546adbe99a3303a809b33c223a95d19c59390db371a4f95aac3bcaef6a10933f0826073cf83aa60349a0a514210083a8ee0d17e5f071460151965940d30ebf17bcf37d3c461a823c03dad9d39d1b2fcd3bc1d79516bbdd71b1ad34f94dc999a7c8091d234cdc39d166038f8a33d429848f122391d974f075fe470b76206c0666bff76164c767312595830312fd0f34f69c406100a4b839386ecf18f98c93ca2a0d20c280d07048d4bcff9103c8c78c5d8091c8b93d026c1abfeb41960629e7bb8bcab2915ce348ed80d7c9c6038f56821f96465a91da508b32da550d3fbd7e471202bfca1002ea2a1e88885f3603f4a611fd0301f70770228a5dda6278474597778afdc0ffb66056fb97efa41dc503148e180940a8a36854648ccfac48ac76af8df37dc5bd9eb2922d0213f135b6da03876618dd801089958f07b48dc242669f9eb95b33b25b1a36e6cb35f206b1ef4f035b349b714dcb407c0f51e5d5f351ca298ff9690ef5e49c99fb810c731a3946d503827757aa49f9d98bad787579f24be0fbae5e49b1879265a465aad70b9296b90d030ebf6150bfd9212cc8de405fa65c0c79ae33b3e51c5bff8b1a10a1a77bd522a1034c3e5ad4c5c2a183e3c72693dcd9a1878124994f4d85fec0cfddec1ee9016e7c03d9f689b9608701a629cbed04117fae055cc1e337b41c11d22fefd4ac9a356169033175ffbb969d884259a6c6c40f7751375f4fc5d3ed335182f5fa8c5283f6f2b2033f24fa904fcb81347161bc92ca053b477b0e85f63af88652004f7cccc3d9419f03d1ea32088488e29db824df68297b05750bfa6fee5f9a12846dd22061474f1fe2030a605ea14a06348b080e5f0b14b829fd5d28e3dd5679f6da31dec1e7e53eb61103df0802f76b52f371c3eea713948b6918b8a7915f7392dbf550a9beaa144097b705581e0388b903029bc7be03b16ddc09e905281dc69f48c5e81f87911e4999bc600c0347457b90d1955c6805581e035f153c51dca08e1b611be70386f0b2c608d392bd5d182f94622fe000600c02468c7a795c708005581e0355d88754126169ed6faa14d205b29288217834613678d372e974648a900c01471be8424be9ca8904590a2d608060405234801561001057600080fd5b50600436106100a95760003560e01c8063461a447811610071578063461a44781461012f5780634651d91e146101425780638da5cb5b146101555780639507d39a1461016a578063b298e36b1461017d578063ccf8f9691461019057600080fd5b8063167fd681146100ae5780631f7b6d32146100c35780632015276c146100de57806329061de2146100f1578063299ca47814610104575b600080fd5b6100c16100bc36600461077f565b6101af565b005b6100cb61028b565b6040519081526020015b60405180910390f35b6100c16100ec36600461077f565b6102a3565b6100c16100ff3660046107ab565b6102ef565b600054610117906001600160a01b031681565b6040516001600160a01b0390911681526020016100d5565b61011761013d3660046107e3565b61033d565b6100c1610150366004610894565b6103c4565b61015d61040f565b6040516100d591906108ad565b6100cb610178366004610894565b61049d565b6100c161018b366004610894565b6104b1565b6101986104fc565b60405164ffffffffff1990911681526020016100d5565b610242600180546101bf90610902565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610902565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b505050505061033d565b6001600160a01b0316336001600160a01b03161461027b5760405162461bcd60e51b81526004016102729061093d565b60405180910390fd5b6102876002838361050d565b5050565b6000610297600261059a565b64ffffffffff16905090565b6102b3600180546101bf90610902565b6001600160a01b0316336001600160a01b0316146102e35760405162461bcd60e51b81526004016102729061093d565b610287600283836105ae565b6102ff600180546101bf90610902565b6001600160a01b0316336001600160a01b03161461032f5760405162461bcd60e51b81526004016102729061093d565b61033a600282610606565b50565b6000805460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061036e9085906004016108ad565b60206040518083038186803b15801561038657600080fd5b505afa15801561039a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103be919061099b565b92915050565b6103d4600180546101bf90610902565b6001600160a01b0316336001600160a01b0316146104045760405162461bcd60e51b81526004016102729061093d565b61033a600282610630565b6001805461041c90610902565b80601f016020809104026020016040519081016040528092919081815260200182805461044890610902565b80156104955780601f1061046a57610100808354040283529160200191610495565b820191906000526020600020905b81548152906001019060200180831161047857829003601f168201915b505050505081565b60006103be600264ffffffffff8416610656565b6104c1600180546101bf90610902565b6001600160a01b0316336001600160a01b0316146104f15760405162461bcd60e51b81526004016102729061093d565b61033a6002826106cb565b600061050860026106f1565b905090565b600061051884610708565b9050806000015164ffffffffff168364ffffffffff16106105725760405162461bcd60e51b815260206004820152601460248201527324b73232bc1037baba1037b3103137bab732399760611b6044820152606401610272565b64ffffffffff8316815264ffffffffff19821660208201526105948482610744565b50505050565b6000806105a683610708565b519392505050565b60006105b984610708565b805164ffffffffff16600090815260018601602052604090208490558051909150816105e4826109c4565b64ffffffffff1690525064ffffffffff19821660208201526105948482610744565b600061061183610708565b64ffffffffff1983166020820152905061062b8382610744565b505050565b600061063b83610708565b905061062b8282602001518561050d9092919063ffffffff16565b60008061066284610708565b805190915064ffffffffff1683106106b35760405162461bcd60e51b815260206004820152601460248201527324b73232bc1037baba1037b3103137bab732399760611b6044820152606401610272565b50506000908152600191909101602052604090205490565b60006106d683610708565b905061062b828260200151856105ae9092919063ffffffff16565b6000806106fd83610708565b602001519392505050565b604080518082019091526000808252602082015250546040805180820190915264ffffffffff8216815264ffffffffff19909116602082015290565b805160208201518354818317929190831461075d578285555b5050505050565b803564ffffffffff198116811461077a57600080fd5b919050565b6000806040838503121561079257600080fd5b823591506107a260208401610764565b90509250929050565b6000602082840312156107bd57600080fd5b6107c682610764565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156107f557600080fd5b813567ffffffffffffffff8082111561080d57600080fd5b818401915084601f83011261082157600080fd5b813581811115610833576108336107cd565b604051601f8201601f19908116603f0116810190838211818310171561085b5761085b6107cd565b8160405282815287602084870101111561087457600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000602082840312156108a657600080fd5b5035919050565b600060208083528351808285015260005b818110156108da578581018301518582016040015282016108be565b818111156108ec576000604083870101525b50601f01601f1916929092016040019392505050565b600181811c9082168061091657607f821691505b6020821081141561093757634e487b7160e01b600052602260045260246000fd5b50919050565b602080825260409082018190527f436861696e53746f72616765436f6e7461696e65723a2046756e6374696f6e20908201527f63616e206f6e6c792062652063616c6c656420627920746865206f776e65722e606082015260800190565b6000602082840312156109ad57600080fd5b81516001600160a01b03811681146107c657600080fd5b600064ffffffffff808316818114156109ed57634e487b7160e01b600052601160045260246000fd5b600101939250505056fea26469706673582212203f93907b0eed4c7e0fcbb761dda4387c9f9f9de3202c7953b24792f8ad1de09064736f6c634300080900330382e16ecba7c5ab254af3009443704f73b7c60874dedf098d850e4ec64115c54f031d6e4baa8a0ed4808ab1b6ce6fc6ba10a86e60a3fef60c2215895a31d71669550386e9343f7ce1c0be5797f20a7f851ee87b991e425b6d37796d2ed36c335325b1030b81909342441b3264f44ac34a92f166972d3e3f8a1c464243057e202b1ace16036058e0e0525873399ce06d81ec01362dbabba3bb4314a6723cb754aaf46c23d9035fe554bd9db83019fdbde001863167d9bd395ec2f7a9ff68e8c62e25192d64840324025e9563204fa3c7eb684f85a4ed25e81703d746b22284ae38bc6ccf972062033e7cb66f40201db85a67e0a60be651aadb3c3491393a6549ad550ad0473b02970321b9217de77f02bb3018212f8b22e81a101ad963a0f340b945b7f65c91c20db300581f025b49e538f35135f4630960a54b82a2cc3f3c46e6c172bc255022349d0cea5820cc9b7d7ff627a3b1f168fc862362f89e55cf7e5826a0bf627e28d76e072784f500581f022e3c3da77e2c1dfb505a2da795408eeb3df7e692a6f80d3f70694cad084e5820860827f64b47611375684d021395cecb3c5e75258395ad220edd793ead1c37f300581f02833b3f25e3d57e12862797c001e4e940dc93165ded63f72357a8c12ee3855820b4aab0eea48d3bd4bbfaed3c0ed89cbcdfe2fd902246d79371b6b2788265523500581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5818012596350065cf56bb000000dc870003507005000000532900581f02c18aa26aa17cfc53a07e49febfac6027ca3b92206bf0e465a69b25dd8c125820f2f6d300780177aa0e01feb01e1f631c8f921c714e6ddc4e6a9cf0cca1d1725e021902a5039c842dae35bb4d41603cad2a4dc579318365d60010ba209b835955b33542db17034524555f38b226989adc010962f2e5dc365b39b59e98a4339dcd7723f8a9386303aeea69b316411d603c678949acc36d90ecfa0cf2c71013fdf2aae382736a676c039917d2eced3433606996dfcaf0d41812d4537f0e3201087b1098eb08719dbac303bfdea9cfe55e8baaf2ea1e756e0da2368212ccafa3abd5744b8c08d3a238a0fe03d730f4a9c8428f82cbdbf5cab185b92132c227409200d7f61b60122d6de2b551030ecede73573f60ba2d71edcbaacbf3a7b593176037ccd6cb67df0040f79352c903b66ad24dfdd4c440905fdb041f3ed9cd82f0a489ab226bfd4732d3311d02f5c80307d5aaee35430b5ebc8d638e803ee357c25d4546585bf0ed55dbbdcb0f6c80d40344932a5041a59b0c0567c3d9e9ceb2360ccc36f2bb20d959db731b8cd48c1b020219ffff03bf1d0953000a94eda88ae78f48eb7f7bc5d6eb02e6133c64308ee0a2fd38620803203ea03cb912d2b74708cdf400d8f86c06275d43f0689e9e2a15984488eadb4a03852fc536a33f26e137869b5a1c554320f95a6e73c0d765b6b2a42922a63c77a2034f2d45355beca41a93e632b1e62fc7d8aa86be7d36868cd52dc315deddfff51103054d278863d2390dc4d8ca4786a6dfcbd5e36dea3ed72d03099bbe1909c45831032690f612b07c74e824f7aaed7db0f8e5385f8bd1198f362e23d365348c1b4584035c321adaeb6b516deb18b127513807ca99efb9819e3798ab13adfeed4b612a7303510e5ce8a37fec4cf1ef47c5c488aba44e5c95c1daaf6208ef235ee28e59cb6d03ce04c42d359fcba3a40dd3f71aa76f928a931bceca9b9cfdb0d84cd03e5b3c530329179c72ff7f4a498b839bc68d8cc7d6705fb3f82f5ed2d18463c2e2d5511e170354bad83d2e9b36be18b9feb3a1ee9e146018e6ccf41ab534d139c474822bc6ec03cf0daaae61af4d7ec665d5f4cc5d47c97851d04cfbd5d3f17b2c493f677e1855038ac73676358073d6e79467fda1c4d7db2d2aad545255bbd930ac6588240685a303405d3690af381b0cc89e24c3b9d6ee3105c0fd87509fd815f18745c2411e8a4f03ef79bc49010dbfa74664aa8613d29924206cdf9e83dca6d11a0fbdf01f02f3820219ffff03a2d92f07d9764d5525c6742f9827e49c6eaca1b17c4822dcd782a2d6b3c441550399bee574a7f6890abd13f0d0e5432d39b1b396db551514ba840ceb0f56d422bd03f51a931f165d5eadca32d7ad0d2057139f5d4953be0774dfc1a28dc45ae12c580345a842203c6f480fe7b556cb274d25cb45c0cea8cd03a1c6b260e57a84e6e16003b3f03f59692817c5ccfb230e2e196160748fea2fe4d452ff92cb5e5d054d8cde0307ce0891c768d21a8ff687be3a9f01d583ffb6512f3f4671859fd4e0b0a4480c0351d115ad57e8fc1a6d5cd36496eb6ffcfdc3e53c1c36356a14a2d46a030b401b03f105c3b4112afbc53cc4f40806c3ee64c430cfdb700d7f77c20cd392f1d2cde603949056936899deda74add6660a67535d1c528a9cfaf8d526ca2cbfa85a270816035f9bb39961384288c9a26f7c3d5fba042e52d34da7707065517e5de78a4a153003f0e4093fbb689ead0831cfbbc50e1560acb54a40db9af98c97acfe4b5c7293420219ffff05581e03d7676ac77b3a6b9f41805bc3bc37c2becc5e73a2b948fe0b150b7410b00701190a2d05581e039e51deb29a7f0a7c84e3900696a13277f02b01ca843a1e3f7afc47ec600c01472fbffee2036df40319da0902a1d4cdc4106256047dfa0e14033cdee274e8dc553d4bff244d19debe03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e037f2f249ef3e518c4d8b8d2d08cb6026eec99caebd33ce04e929ed4780007011bffffffffffffffff021937460219ffff0348cd8f76a129bec822bce47d812340144ab7c7104677f3b542a2954ef6cbf2d8032bb964316b46a439b17f641bacd516a8c30eb2831b78cb00254888c88c86d6eb039c4e02c6e490e8e2378c2df1958a88e4a27f7cc20059a2f7bb36af9150c7dc78039a1f4dab775e3fc11f8395c4c3115e0e77fca032936f792cabf85891323918be0343cbf9631eacaf7beb52a7f614103ea05f83476d22370d60d582b76750ac955c0338f15d2a843deb73bd9d4fba09137ec0a0d8984095d461735697f70e83cfdddb036b3907e0b6aa78b36c83c75d7133dc52cc1cb89175c3c2d8829d1aaa837be2f503e42b7bd64cfd5fcdbfbb2b80232906544e584aec07e41e847798c5a33b97211f03d163436e585ca22f874345b94185cc5acbd5745fa4137c4f3614fd3f4269ed14030c01543cec8d2d0e00397b6fb54f1ac2ea8d11e8c80c7cbddf86914693b8796703f217c8ab50c70a14dfe8a4dcd5e80af0cee401803b9c1585babc969bb88d2c7103892d4494ecb0e09e49d89df13ffed62b46f797d0cd42b26f058481521456366d03ac566854d51925f6d03ce34e3c1e60af4d46d12ea4f3823cb6b7bf4f17f8da9c0396b59f2d84bbca270b3eebaa28731ba472d01b8d429892764796c61f7c40c8690328bf526f7b4930e868912d9d182833ec10e64e441c0742e6a87bbc3073aebe8f0219ffff03c6cdffba84cb92041ac9190d889ac19caa0fbe301fe32ab1e1fe79cacb4cc7a403f6fefe50d50f4d5ba335890d51cfa705f4e0e5f1378783dc78278b0ed1ca57ff03bbc39cc8910d927873eae4a384b8c98a045c8eaa8bf563723c9561a38b9dcfee0349a8a188473f2ce5cddf80d77a5e30125209c743828b2e485c10076531eed0840219ffff03d4f6737bc9ea3c43bf6dcbd29e3c3302f88a6d6726e7dc56fab6727c147bd3070337a3b3ae1c69ddf285e3195a42bfdab115e818ab0316e4cfa670b3e248aea0d303e45e829cd59ff7b598bc42cc05947a3b9952e8e21ccc46db419f8d959b34f9f5035f39d221b6b30ebef078b25a5f250562aa2ceb97924124690c60e567992c6510035fa4a6973e3f3e86a9496905d2d7f84f85983122b86ae9045d83a762b121d2d703d3830da9e2242798e0ba7635a15aaf0ab2be7d0b229aa36301c8ad9cca9df24a03539df69cbfa1ad332ac7bfaf71e37a923d16f8f766d14816881c7f199106c82303ab31913e213c37f18ead7826bdb89a10694709cbdd7f02650bd3095a5ae0d51c0219ffff0219ffff037e518914e7cf81969e69fc3f6f9bff670635c7949b138d1cbe05a10c1dffd49103a24e20f46a9e42a46fe8078361e5b8c24756b52f5f68321341888b84c6ad6028037fdf89974b5539c14fc008c249878c8022d06fa8de54d32ddc0d77cb43ce0e9303fb7e94bd85a525807d516158fca042c971e512ae41692c3f98e0b83b9ec7418f039cc7133b6a5079ef69fe93967982e638569fe4d1ce50f466ca595400be88a33003867d1429bc05e9769dd96aba14dbf65ff58650b4d1fc5bc5918db4afb68153df037eff9aada9fbda637a3790f383a60ec6d27a83bfb85920d53ccaf29ae5330c330314d9db2f7775825883dcc36dfd8a654e0e6eaf17355676926f3c3b1cda4891f4036adac55a1c31fea7a39a7aa28a642c63f6c51cef7aaadade58d94016580f2b8d03a74f343ce6a958a08d9c5272a16d95909776b4afc072635575b2407ffce1bf5a03e497dadf5ede78a3f57b0541ebeb8b4487e056468c3fc736c4b4943c15df4aff0326c32337b66a9b8bec432f3d679bdebd0ec508cb9e71c87ee37bedefe89fd31d03c6e400111ff678f40459d6cbbf6c18bead8d734e19ba23cc2173ee14f36cc3090312baac16e431d86016f03ae20f06431dbc6551a69b84255178024d344ee69cac03e57d4524e2903faba29847a97e12a1a0e9f67757160133a014cf159b6ae3fbef03c79046dc55b551fa00f972591ea420ef2a0e43d1d004e0e6b667d53cec5788de03838fb44dec2a8543c6a79bd409a5a271467c1bebbe0b976eaa216c93bf67d8f203aba60ac3b19db9bf9ddddf7d3bcf801fa25a22413f1fa0f5276a250546a49fa70376103e8afc5d86cef90c1a8ffb212b317555e9be102e5522de26b0070328251d03d0075ccfdb9c80e82c2c9ba42ea5f7ea2cfc76406ccda8637290490ed5db60fe0369244ad32dfe2cb300fbdc184fbb3e352bbfce34be54ccdceba5746357934d33036c311ece5ceab381239880213841aae1ad93ef59cb89eac281386975922cae4305581d025e77f2a5eacba8431a2feb1ff66436a5e28ca0ea21c9671c765143020c1896480140681d20a182ca05581d02cea6064167de0925e2aadd1399955456a384bcaa34933fd032e55316040105581d021883327ed2c54a0c71a17c235dc61037f7b1dea83db7a7df615214480c0142140002198a0005581e03c39e5889e35978e950f0edb26a342e56be22a73c153bbf5aa58ce423c0040105581e03841781ee204d135961a4751fe4c917cfa410d284818e2936b8d472e9400c0147b60bb87bed0bc005581e033f8e738eb50e33ae63ab97e46758edb5ce92eb2474a236c5c4feb31cc0040103262c810ce90518e1e08be462a275add35723b7634b26d3ca6b70fea5f41ae0e9039e4c2874e05f6d94c5f215b7785e2e36f4ef5ab903cb6074be6ed47c2c6be59705581e033fe66fb0f435e364e2fce8d5b28bf27c719241c66ab9caf092bfee6c700c01470429c1e7c7f36305581e034c7a952ce4f4c609e7d978bab0893fa2dbdcb1587653f0f39dc971ca7008477f1f08216945c005581e03712719b6f98635d300a02cbdf5475e37ec536aac74101ec73069c921b004010219b16e03018f394cab03f824598b379ffa0f46b425536c7d06322798e8c3eb898b1e5910039587da4977392b587fd6816f89b0fa2f471575e7205c91a961a4b1dbdda25d6703a294889a9fedfa7d5565d9b2a68e98d0eacdc3e2451afbdaf9841892df3b9e030322335afebb60baac717628bcb68dd00d15511182de7590ec0163d4af379fde8503110f8ff03d2af8967747c9e32eac118e5bfa37595739ea97800d0f6c251934b203e4c1b6a8032579962e022e4e62243eb753d5cfe387d55fea800afc1fbf95b444038960ef54bdcdb44066a6e90e125cf947f90551c6c58656945a94ada3a8553055030547d3d9a3dcc23fe1f31d33d3aadb25b0140db890d9a3d0cbf7a2836556964e03f3dbb662f53a4f465b78077ecf2f2ab05c7d68f2f53b93469ac670ac0ac7b7290393c1ed752a413ca7b20de3e1c04231ea930d2658c54d12e337b381e2899c810803e93758ce1ad8fe46890c2a63da2c53dcee3c3e8771f953276447b95194d54238035040bfe6819db20715f77fb813bf63aa09a0578952303c7503722573a37b56f203254a5adfaeaa072b33d5023538554503d76ae07e3762b25794fd6d4e4a5dd02003119dd3724706a1ac74269f7a6e9fc3d42b2e43581b01cff61e54c43d6688d372039f5025f75157056063604f7ed8617c54d9f8d4ce299f5778c149fffee11bd3950219ffff03b2213999e494bb9a0bfaf180730400ce84eb9c63a6ae03b980c942e4ebcaa5b303c7873207feea76402269bcf12975da7ec8a3c001a707bfeeef905ff21853ae2d031f8d0c66e3b5d3e1bc3cc62725b4fce735dd8340a4c18094b7fe3055eb866d89036ab31dde01df6aa7ecd12950edb2eb49a988f24bac328f24e5d380022f0ea204039522e38bbd0991c657f0ee3cc3bf26e9217129b8b8b548c32a00d15aede44cc60370543392a4e7f19c0e2503e24938061f1f79c287916f817244024dab7f06a9c70397002350afab8ac2e5c89584d84247fb2a27a25da315a56d128a1834ee6a0de00306bd8b9d47d09f87a83d26a09322646f99ee5d15203c9206b5b165e1cc7e9c3e039f6945e05d1fc45eb797a07ff819ece407ac14406d36566b0d1a8abeaa51337e031528af4e9896763d16a8a1ab234b1d38440b5dd7b3270e164afff9c0cecdf8d603a1b9a1ee06e7b6001b9d81714bfe33b8b817afd901093a1c410a1acbf2349516035f222307c43e3b383453a0fd6090d30f36605079413d18e4b0018b6ec35667890219ffff0306ce8e4b8fa2754e60e2af10d2c949370b21e2bf84bab3f5d50700b8c9f68c970309e7cdf7dde4e8cd3696b419fd0c0cdbd93ccbd5096022b2969c412837f1fc670300d8446f84ba69b2c64136807c0f0675bccee931773e4756a189b0546dd7b47f033b21f4e516a186eda5cb14a3dfc96779b227666a6090d9ea0c9c9b78066368fe03e0e833ebd0521ffbd8ff8a471b5be453082f4b1a9435518197a7193be590fbee0219ffff03f641dc3863027f582f167335b0bc092b92307b204440ea3b8c636e4eced5f40103c5de9c89ecbddf629140d69de1c8fd054fda58ca1648a0fdd315c3dc5a2eea5003436f580414a5c4063ba61fd1eb25c92f8f7276a178ce5a094d58773b0295d07203a2cb1eb94a30f4980898ef991ab0064173d5e91d9a9c4d89ae64d02707816072038905821dd956eb67cf8714b0c413ae18de5b2fb3c64726027ccb8510e905b0aa032949a37293d9a93a5af8152159c232d3c3fd10452f0c761094d085925b90cf9003e941b01e3bca30b7c62e01e194fb8d2de006f8d69739378883e82673892ef9fc03ea167280528c0e6d71d30e2989fab6b4c763b0a33157a6a47664d1e621aaec1203120047f7c8b1e477d8ed51a8729bbb64a4bc118aada741b2d6add93a3f286eec03c99eb2014ab04c1e23985c5c9f1fbf5c8c62ce7e2fa0f715427c053a34633ba0033a0bc290866f5eca56c1ba712bfdfed030551d6fc4573dd937db8bb308333fe00370f8cc6cc7a3124f8297d098f74557b21be919ddfcf43700b07335d556d73c61031bcc48be53e63bdc776e9e9426a5e26ab7d7a5c7c83cf8ea30c15cd3aa3519a3035ae4fdf87734ba8693f8a433f1aa6e971b3bcadca1641d59bde667d7dd9727aa03d28274198e9b0fe4b9648d5cd5f00faf27c882fd1f74f315def9ce35d0104061035aac9b6687bc305105e8ada51993565255668151aaec72e64b01dc3e135138cf035ea326c6738bf842e9008a1dfe7233c68e57ee28d271df21467d7fa2c1c1325603be46ec272c2e7b9a28c0b9cb21a0e94902b299433949a09cbd55910b0e7581870387e2bfc27e723ebeae6706fa782035d32d9faf2c86fa14ea86dda31a2f7d979f0300cd618ca5fddf3ac3474b70c5850ec59f5da4d44a131bc83ec4e9ef97435da00397c093561ab190d3b8a3000750134c1e56a6ade14a30191723fe3c94b7cd359c03a7576d6f4f44afec2545ca71fb5651d702d5382fa6a1a7be3a4f92a933a3f99003cd20a0e3041d01875688f9f744e6760f325cec9cb04512d77561b9a60e56cd8f038569349a9feaf6c216760517bc93866b8f9bfc465c66559b3119b21113196a4f032d6b4c532a181424ad48398a01100698d9c37a733bea5c2ba86bc23f444c89f60399bb25edef27356c06803cfb74f352737a36a12ddedf1ef5d6f7f41546643d6903c7f6867481921b56822e329cd82b36e217de5a22df45a50ddc3bdc2327177ba1037574489e4b0ac8cdfd890a8d46bd717a31b8e4c5397dd620a7130325e1aa170e039366eac405f991b5a66a7c30e2cbd29caf694ad7112feae4f1edb397a0dc5e610324221f310b84e7c2a4541bc03cafb42acee0fb67e48daeb90072501330219f6103fa8efb0c25af54443f8f83e7f8c4200c967be672e569cf99bb788c660457225503dcafbbc41f4cdac65171d4e43dc5e469640efe33b31813250e08a1c4f1944fef030e422fdfa4a342e38f8383dce8f3eea7190a79e2366859aa840b6a6d556339c3037e9357a2f40647de373af5ce0ba8c5447f20f83d3960146288f23d09f6274deb0320615eef3011a28ae3c7a310d003562fe469f100517f6e121ffae34d083ffe4a039890d09c2d4f4c1f8aa13c790a35a5db30dbff046cf2de45f51551f232703f0c0345e50cc93e139e7d3cfbd7a6cab9c0128182d7cd244bf9547939a95f51bceb4603cf795b6358c2ea8406a78dfebc9a3011b8b076eb43879041f4b34c59bf9323d505581e03b7a9a50e6f9c73b1babd36339020cfd9544730321162b0deb421526580040305581e03af509ebbe11afb3f5a7e9248f3083f83ef606536734e6f6ea28dcd32500c034648c27395000005581e031e5fda0e22b82eec7cb5f9b8f2c05751fa5bf024a2a20addcece9cc530040205581e03fb8b081efa73ea3b23333a9a948ffb1caf0272ee821a11d779a8eeedd0040305581e034cb129c5038103abdf8fa49be68fc60ab5d57042637519df97e50c0fa008476a7aeba2e2b80005581e030f71343ee4841bba15d622f8e91ed52e909caddf80494e388e49ed6cc00c014707734e3cb34700031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03b1d5a5a08d93ede531e0e0ee417c9a695a3ec104dcdeb22f69def743a007011bffffffffffffffff034dbb094043f1f1e92d0d7e61da2fe7dd7b19149d63b04b052d27ef341c0c240e05581d02f82d19b3bebc29c12435b01fa34901c30830b6dbd933091bb797d00a0c1a000156d249abec9a07cf896705b0038d91eb4bbf4df2f65fa01e5b22a66dd4df5e5804148188162cc96cf6adec9cd2021902400219abe6038c98aed84833f5b5806563fd84a0e2b9096aa3c2cdf931cdedf910bc6bce8406034ae22bb08d977cea7304bbee3669120802b965bc584c28017a3241b523e1601903c735ed2e250b9f48890b9c26a4a71d615610fa1a5ea957142872bc5a261c4c810219ffff03da77d90d800c6a50daf3471ddeae7544a505a93b342ec8b7da405e41293d31ff0219ffff03aafbce101eef36c8eb98e88000391617f43b8cfd5d7fa53978ba41d1bff8a365037d57364a38c47c6333ba770f49727a1772265d401d66eda4648dbc4fbfa88f18031b6e5761a3812565a26a5d08c0f7be95945dff8edbe1a94beec04a5c23b1eec503646a96190262cadd5ed7f89792e45982161b04470963fc14977c87cd0d31dfe803091ac4318d6ba48074fb4a03a51bee2f068c1ca50a478ff1f8966011531f3a7c0219ffff03727a3855100763695b4380828551b3004097f5d16a57a7162ce8269f6543ed3b03fa850f827ae9ab6c895227f5937825d39735481e5c4c5ce620bb4ae06750fe8503a447e99239578d9d62dd13377540268ab2b3d9c9fa777d2c6d9b9bc79bf7987503ccdbce976241187c7300a59243124257eedbfb37b6eaa9be5560b2018becc2130219ffff03a727b6f522f695e53b6729777f26150024697d5f01aa3a15676de3fb5d53d96203b675affa505a2ebb5a0cfbf907c1e94b905a6fd508c20e508956ffb92dcd28a6031363c99e037be77cfa0d45227d452da7e8da83a843162334a517d4921c4b735903ab242db40935194b12dc6aa8643432a35624a3542e4f3d2a5d7c82846fbc8e4b03faeb68130690ec13b583d2073187e472e711ed066859d0f8faf2aa6bab6fc6c20357528a0eadfd7eb7dad581a35a7f50e68056d634ec1f172a0ccb0fd933968b97033569dc93f84780d49f7d98fb87cdfed267f279c8b752805dd9d4b111e1c072df035a82f11314f86ffb640a09b3c6ab67eb7d9f07c80ff13fef1485ca75d5639ef5039172600577062d32de8f5548b3e60b603d6604ad664b7eebdd2fbf2b710759c9031545ad6ec1496103e7ef4768f4787b5ee7da05597b264638aa694a95baa2e3fa039973ab61d5c88157d3fbf4f89fa0421aeaea552c6f000e3000a17ada040c6748038b0043406a46359a353c001f0137b43a07b73757c5688344f73826d0cba7470903a8215e00761f940560e561b11afd9eb75e87bd7430cdf15951400adb5d2eaeb103c155b7eb18ba26d533053f33c6067f2148e5437d627015a61b612b1c1fb2de6f0304a3747592539e606f602f9daaf4f2af0c940404ff257f93e381a683ed42067b037bcd0320fe06a80c1585d769048be9fa451c452549fb8226a76b1fdbd398a0c503c515eb1071662c1c0a9cfb9a9d5c90f409fc783443f2f78f8cdee5067d8034e8036766d86b3f508ea82246d50c11175a0c99fa3d38ad7481e09724eed7aba26d7a03a51a0e01664c98935b9136fce1bffb4011d5947fa34287521fc299e3e47d19e503e7f618b2df93bda5372b7f212a7905c02bda58bff742cbfca20f66afe794620c032076bf006883af7c5be35f6248d4b75494ccf490a6060f330480e36a58aa04cd03ba7ec9946cdd03637fa21c74e395a1147039921d39a942816379021993f42e170369c6203887433390a8f870252f7feb4fcb455aa4db21ae35cbceefde98bcc5ab037cd0f76bff67aa03644b889f1c69f5516e42974f84480dfd90fbb5a569635a7003b8be072a8b3abb0eb16781c5c2d79005c33a397f9741ee7f019b9ffd31f2a1d40387a2a8af8142dc8cdf463bf7dfca36beb0cfd3ad43812bac8e243973c0755fae03bf3b3abd57697ea92922ce0399df372fa7c11cefe0c56289e58d3102ca3e59e403c2a9bebdc399475f67c438fa646cbc814eed9e45c2fc384f96e6f77753e6aace0309c56b0fd8f5e11530dc639abe1e077ca8c3ba883c13bfabf8a0d546c747ff9d03090668446ef67da219443a39d586618c267df47ed3197daf4661fbca2e398b1d037615a6aa0db123d04d505358dd46a274d31591d8fa96d0b17ab1e80ae47a0a640397f5276260859de9a61bc8ff635fe0f2b703b6db0d977c51beaf6b666cdf3337030e084879b07c92823d6cc06c279068f9be249db0dabe6784a0502f3ca1107ac4034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03a474b55883f19c7cedecd70f91e41075160f472e7f6c516ed06be9fe7007011bffffffffffffffff05581d021e683b383215fdd9493358b97bc14c294ebb9d258745ab6b4a22d9f80c01474998b3fb4ffb3005581d03bacb9912b98e5b636de84fb0472e9980019d88120f7d7bd52f7301900c1859470259de6ff8d9f305581d03b61f9c1c7c757b10d6840fe2a374efee19215725c0a9137936e0f1a0084702a8b3121ff57002188203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d020c72a0fa0d0e5f1c31501aaff7b9f945905cd66c093d8168bde5767e07011bffffffffffffffff02190a2005581e03c91275f475f5b26c7d7b103c1468d038e0d61a16b3833752a4d6ce1e700c01472c822f067cac7505581e03848d91b4ef4feed399a974cb115cfa5430c463bf436d2ca9fd711772700c0147042af5c118dd8905581e03f7c468f3590269208c21207ebd361d1e3f2dac6e9ec0d66a34613f7f000c084652b93a44930005581e03f793a9f870c97e40054c047c404d0360d1f1c3c0911000a9cdb5a79e100c014717fb30c830fa0003503bec9bca2eaf6a7210d4b1461f80666f4024d81068ec475d80ab46fd5df81e03ba469a33d41ffb5f17665b31e8a1d5a27332b7957a27da5afc5e2055a6c7f6a1021969ac03086a12b4ab51686602d147605aa0ffebc359426fdf9ac346c1647d74de93301603d8ecd1da5fe1bf78c76e93f2f42e401d18e2009dd81914ecfc96efafd837c36e0366b2c49692773cb4a049ce8535672f5b93cf3655433c19ec9e8076cd3272cee803786a465b6de21bf8bcb9bb1ac6b0ded9d6bd71fd394a5752443f5a6ed09e2fe403850aa8a6a48791b7ff85d6bf896d2d4e01a3a94c2c94bda38bb8e4f8dde22ce4037334abae9295627a18f359074b9b95b1b0f74133a9f25012f4765e3f07f5dce1037f843fc28f3e167205b34299b3a5af9d7174367783979c814b55a6b35dc7c4480383940528b045c6b986a701eb4a0a157963e9533c93e8eabe33d7bc89104a767e03c30ba4c51fc973d03561558c23f299df1fc9d3a40a1a88464b8fe95c0d151e6003531aa5d771665dc00ebae08f899e2550d6b3cf8669ef920ae2104a99502bc4b60348bb2e492ce3c8db80e00409808f9a3cef5fc6e36f329235844ec9a1d58c2d660300b98efb36a810e4591f93bfb749b63b0d65d1c4d92f620c3b5cb483b1137c6b0219ffff0219ffff0305a36b8602eef5caf5bcc4a2536c47bbef244e8d7b67b24307057f304bad7fff03a6d85ab2319d46d8767654c3930d188ee10317b8c4783bc606b5989301b003ee032f5d6e8848ddd49e0a46e7edef525f922ee493b0619c1e4b0224b0020909b03b039b3a8a5da3821a5a57b829ad8d457ad7cdf24bf1d7455045b232151715c219fd036b44080dfaef0eaa6daea6feb0fb0d6ff512d290bb9c59e0e701ccd1cecec9320219ffff033bfd9cefd5cc3a4226e24a188e6db4f3e7871b7320f7efee5f46dd57c44d7d71038a235eecb3892864940de9283ecbedb63b735587e84b0fc3c3a600e1c7edbc6c038665765b59a98538602989ae6bf70aaaaa22f3bff88853b8d20110434429e76a0352b1334db412bf8da824c1137d2adf3e2007b8f9726beffea83f4e489a6a194d036067c32f85b3245de5ab273f9e90f8bb6404da2f1753a52624e15188e14e55f303817cc15e2220d5ec25115ac34b2b2378d21dc4ec44a893f95e9c282c9d308a8003c682dadbb3a945d71baab981ae73705c41aff359e33d8dda6850a1d8be1f45360398135072b7ce4a1e7ebff71a94f2558c1636a3cd0b82bc7edca94bbba589898803f45e6cfc1f933950c79f0755ffb1a6e37fd2d98f0c440604a683a96f6d6cecb603a9b541d84b6102dead938cafc2e92c0edc812dc58a7c9823e4ba0ec2d5919e69036b8de7c665777e54102a01c6ba2d70f895e339f1bc551e5390cd233e6078845803d47377a1a3ed58866804b4d2b67ba84bb71c76684c592aa0644d1979ada6b57d03644a43c3be36431f3758cfe0f51d4913c551af0d81526bbf99896e8e01461ebd034a16d74c5ee822ad198ed0a83be952a9c8378822c6621674c52ea8488245b42403093b6ba8f17a20a6cb2a6bfcf1ae610a6c229a5cf3fc391bf5e8f5a9efecf7030337f68dfda85ba439c8398681a2655242e9afde2c3941768907f538d1469a7c68036bc1c3c3a34c4dd52ce62656dd7a2c4c2742355a4e3e23724c61ad0162cd188503709224b0e020d2d30b9a73ce3e381cc73125e25ca6fa7d153b4b2513e90e97cc0305bbe5e818de30c7910649c5cf7e36d9c27c77026896e82f1da182a25768c09403f49843e3c850dd967c8b686ef3d13d2354e7c66d276a73f43ce88fa7a73e3ada03bff9f4e7955346123442d8f70e42cda0f304d8cd0302056cd11e2e1a4bae0df503d1fad3cf3cdfe006a1ddc50a7c26a2a0d5faedb634ad094ece2272f47ca51cd103f0aceab80b1cbb453255c9750be1fa3de716cad27ad026b12121b70bcd2b9a4605581e03746d3fbb254073e70b475f95483c607aeb78a91bd1081029987ac6c0a00c0147013d1bc30333e805581e03622b270cfa53c83a2fade4a70de935d761be6c7b3f0efc19e806039b400c1843475b2f6c7e43885405581e03db654738e5732e737abd4647e47d0cb37ee6461a13414e590523f403a00c074704ecdb30237e8405581e03c303da93dc52de88b0ebb1f1b62fa6517767b3f89700727e35dd1fddf0040205581d020ed169029c976b46e32baf8d3235751781b866b78525833440c96bad0c181a47243bcc9b21679605581d026b19ec8953f1387be62376c67d65297a23c5ed11266226b729edb0400c024647b324a2616505581d02893dc6302e662262660b78775f15073ef31693f2b03d269307b29587040302192408038d997d6cbcb01d28862c94f72a0bc5964bfec7aebdced3c83d3c0c38a8f7285b03793483a77c22425662108740b22a8e588d59290626f3b523692e64cb5db3b7c50389900cf9aab2206345e1207178adc5bd9ceace744a0bc69260dd8d3679886a6c03da3b7ff805b0b2821631575c19fcea5408221ea8bd9fd8f250aa6a22ea208ece021972d903ea31420df718ef49f3c0444196a0d08b0ea888c79d4f2328e7311b821f20450d030dfc8b7ca7b68cce2d43bb17c487002ad442a71892754e48aba09aa171738129038dadeb3c47c5b363522e6dd91272b70138ce9a2d4cfc1c13bc671458b97921220388a1136bbc63b855af12dcf4cbc18f1224748c96dc9445b04a57615020b678b203977338a6b907086e1b122530025d2a50f78fb277f09e1537b3f60e61ee3deacd038922c033b4a82b0f1f6c753d809b241bd38b1551d857ba0ed11099ba68fe28a203c82fff28909b6e86de9607483e8731da1561b00b11590101afe6a01a2333585503cc5757a62c94e59616f6eb9910f30702eff171f288aa50330e0a9bd8017452bf03db102d0907c93c848392d067538351d1d8684ef65e5d5b4efaded1ed7d6f4adb0219ffff03211fbfa5e365c83352b8875c3bfc1e58b04f8bf15424663a90e5c363fa24c0c3035c4e221db51a02be038a334a5f1e3ae676d7b771b163cb0c14c382f288d4c49a03b7a66bf1dc0610e8bedc7600241561f1773186f1c62759fccabd6b7737dd017d030084a91c21ed2f2b2c52ac250911cec7e5c295c4da4c8af17693c4c96da5f5cc0219ffff03ebf0867fa60fd42d5722cc8b37cf7c9e980545a5444ceb27ad0188c303a5ad9f032d621f10148725abb0ab1c9bdaa878a65ebc7867b818c17f43862133c3128a6803f70538c153a23d20aa2e49fbc6c6b1ee097ae652cb5659f3ae46985433472c7503b19bf1115d10df66d25445341a06dacff7a2ade20af67925edb3c1c8c400971c03f7882b610351c102de66a25c5b6214fc15966b9417e8ea5299b6991bd7e1facc03dc8e1fcc85c8fd1d547c81511fa99d345cec08bc8a9a005cee6c9654ba4ce7bb031d6494ab56052fe09fbe04579d6bdf84dcaf1a23db21354d4e9d4f038fd770df0395283db413b334ba66b8296522d506ac265b726ffe28333c3b51443e9304d8ac03cbeac45d3993a864d9686419470009e210da4acc8b764f89f7c749074660cec003bc3c7b72e6e5f4092467893cba11da5360cc1424e5fe535bb614635269179ef903dbb9dbbd9be6de6b739ecc3f72e57ed03eab33b76ae2bf6555fd46194cf368c40219ffff03080fe43ecb7cf81667ce19b8ef88bdcc05c8d88428f27acdaaf6035ccc9f5c19035ad542ca514fd622cbd7ffbe866745741968cbf5acca53d3c86678f572c0c9ec037c360fc3a03a3b5ab01f629d3612b6bbeccc5a26cee3f72051c8b4a6f472607303320a5935993b3c7690ffe8b6fa6e219f3c33f992c92a537fd0fb8dabf1adc67c03fd00cf94379758d8fbdfbff7cc745eed482b0debb4c3a4d50b9a45ebae6a6ff0038ea2c798d7e24c05ed403ec042d0755c6f1b4b9bd45009653565d4abeb472872030285c7c7b9564bb3cd670e1a8d58e25b3b0eedee7458264a74fc715d99c260fd0219ffff035a4a3dcaa4a3b7198c3f2ae59e79fc4a492115e23e25869a50d4e7a6328f57280316e5616221e0f41071280d2f81ef5c685d140eb7d94a4f172fff4808fa0586dd03489094c3ab44d8a91eeec2756880d90a716ad973f6a5d8a02253a0fa60d6bb3003235f32b7e42d8df878d5faf75b8f6a06af0d27c8d0493dfd61ec93cbed54f3bb0303b5a1569a74a532f1e7782c4018c47acf12decb0d692d2804bb7ff72e4c3ac403f1b62ffc2b2fb6c42996e585ec71ab8bec78867df41f76a35a6f73b81009e4f303e8cdbd159993c629474a75d8844122ad418733c9d03c3a84e99254b4cdc154eb03214a08e5ef6402e5373969956f4811c0dad8036597ead6ac8d3455f42caab1b303abe9cc758540584973c710c5efa0f3ae5e818f95159d0ca337a96451bf2bee1e03ce85b2f2a3d7f208c7705d7f2c98059d4ae8a574b1407c2188a0384a05266ee6033ee7f7144299d20dec942a0498892f1e6d61728bc0921673b87722deaaaa1b0503a8ef3c72f68953956186572c1602953ce8b6a2c1368b2694a5351fee587cf44c03c3dfabf0f986b844ae2d2714308cc3cff6470eae244bed9c7d7aa31b5257352d036c4efb13e6bceafbf78eaf488573ecf4ffe7421c3ed4db1d9d7c759dc373c684037606fb18b0b42c6cb4f2969eac8cf4df6e246deac7d106be1f40b47f61093b8d030f57ac224750573710aeed0fff009fdb35cf5957240740abad8ee27aa37809f6030ad94682de44ac770b1be0df8f80d582b14ecbdf1125f4955a82d960c48baca303c3ec670c1198dabc15e15bb80437d85c7db0f331896677205a6c2be6304d09a603b9e9e761648c405d6bb602c0463ec1749cd6a8be079dbc8a99e53e65b61f5593038c7db37e87c8c5c7c40841db6cb870f7d724f59ccd40ef3f4377e598c05e66ac0320202d2f56b508123047651946d2bc5a3eb995837f2dcd6b3602b69fc569335f03bf798059b93b48e572f310a2a4d7b7960c38ad2b2c50eff29c7ce51c4e8409a003c30d9269d70b96cf75d16456d0c5f74d4b3f6827dea84ef4608434f1aeaff3bd031c9cf23cf6f3b08488fe74e967b11c9b184b465ceedccd4223bc3e4b5f5245a90384716aa24c7ee781005d71e76d1ffbcf8dd8bd43ace43f437e40c552540533c003336173e130f156b79bb0ba73f5fc5b3a8589ac5ef5c8796854e6115a27ad9941030e2f4e40a2c089dc3b4ca1fb9028f78e4e70c90606f2cc8e315f8e1ae8e299d5035bef45b08d1b19e0c90c686f51bfa391d6a4db4db084d7382a18c2a874d7b661039b564f6a3fa970ace80c680904e266a40f0676e13aa1ae1fea3d7aee2d927936039a4dc31c171ec9b70e6f93cd999232a3ad7b1ef373fd8be848fa5204d435ccef03328e1030d46cfa020af1871c678e72f009340bf1d751b5eed2c6ffdf881e887d05581e03ac8a2f24b625aba63cb48c56b9264a309c38801c78f64699ab49dd3dc004030360431210056210fba0779a7d2c135762cbffb156af256f4a7d31a81dbe4c9a19038c66a4bd3c9a510ba118c4c02ee8b397103d857654a1fa016cd894642f2dba2e03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e030cf0f1ca202c48115b496a12014fed4229063721de75c3144dd456812007011bffffffffffffffff05581e03ef4930f93ccd33425663fce7e22baa0a7627897f5bdab83c3e9a7a1de0040403a108d1373d5eff3f978c39b20b1b631a2a6496ba95189290f5e3d19d77b167c403d6d0bcc0fa0ae97a7b041b5e5703d703137a51587ab0dcf38ba7fa010a7d5bd905581e033e144ca3a25a8dd98adfd3a8da74097d2835658b590b6571a0cae57d2007011bffffffffffffffff05581e03393c3fccdcf1ad5bc8629c2fea5bbb7452c90ee0ce9b8c3c23c4db4d30040105581e03b3ef9f3155451b25a10245d6f1c1472c4e52ce4592b318041c88c9f6300c054683abab2578f005581e035ab805055315b119f3bf097b314bbb1ffb3c3782485717af193edffe10040105581e03c8c1c96c0d721646ad369eb24381e2df9c435fc007f40488f08aa9b5c00c18c548014e737b46be61c705581e03e43cc0efe5c0a00ca8931c5951e4dd86f34f14376c285ad3c2a6fac8f00c0347015d80eea56b300219f6bb03a4676b2fd6b5517b471b81a9eed89314d2a2b2a74409ddd50ade12adee23a1cf0315027d7638210645fb59d7894bf9d99fe409cdeee83ee219045467086c78385a03cc4b04e215cd0ec37ff8c8f92bd48a8df6d129e8fcb108b526b148a609ec21ed0219ffff03df7ecf2ff26ac5be970991fa74eb1c482d33d3bf57bbccbe25dce844b3c7ca1603d088854002c2f7282c1c59bac62246c178dd8f9386c9a7fdad31e7d45b9ea6f603213fb6b78053fd40139b7f5ecea6be752dd6f6b324a3446e1defbeaf0597d9ff038e5261aa10c94439310e4edddb88d60ed0ed493b7dd72e800cd302b4733bed9503ba1a3e7c271b22fddffcca1d61ea9765d52974670066e998160c9bf6fc06e466030d82be2666b2509fac30b09d1055524a67167563b06afab063a8de02426948c303e23fe967d0b062c88a9cb51260341cb67a7232cdd06dedebfc856790ce009ddc03325e446bb2a8c566dcd174b24bf2e62eb75033dcb7cfbc0a4d622f20d72d476803828e39697ef63852a480c69f54312c19251622259cd608d2e463c52d3ed1b48603c97de7d436bd89fe91e40cf4dfcb648ec089cd745c261d485fd6581aa1b63a340219ffff03e346d972e2a71ad9152e237b104c042eb911c05b16f8ac30010ad1ebafc0c077031d3174d02dc194d85bdf30cdad1cd7537d242cafd35c8a70dfe684bfb276d66b03c0128fb0c6bb7e02a08a14b8be24875ac183c0f16db549860b28445a9c3b3cb903f41d45517811c6dfdaf366c0060cf00f2fa7731c92e5ad4be14da0d1803f1771032327f39c34a2839cdc76a4895cfc36eb385eda1aad11c0757f49c2e8bd15a79c0219ffff03f901f2bc40490830b67519aa83a8a571df2eaa03c929c91d02e86a39dd1e6610039fb18b0d7bc5ad09f98a2b19d92d67f1bcba073b4df26ac039c2dce53ff3b76603c36448ebf6a1b7cac47131d6578bb1eb412b2f83106e33fd9eb975c6cc7e8e510310919c66c3ecdca1bf06be517e90388bb7564f835255547fbaf107361fccea6d03f84203981d662a502067e1ef0333f2e9f8e110092b89a60575eb92e9e17aa6950331cb6d489b3254fb520f33d70a84596fdbaff155b312d5f6727dcbccd37a06ac03837f5c73dfe97214fa0707496d2df13335307e250aba6c1d44b1327f25145df20389c2f0d463a5d26c4012b31d6dcfffebe0f0fba91fd7b464d1c5b7cb6e5b49ca03f2bc0766e43e1b28d5ad36f4ca9494d04486c45101ac137d5204e4f220534aa7033d73b2d9be16026393879762787073a23583b8f4413a204b8bb4f082bc295bc503182584c1b0eb583ea1a6ab0aba1b2f164470aed843aa118c4ad830343d960e9b03efa9fb9ec05d2aff9156c98d24e9c2bb19fcaf8d4c6a0f51c197d9945b097091030fb46ef68525a81f8e253d1aaf70e9d47e6e9fbe65858c68e0aa82a821c6470c0360def545546b86ebf009c792f66c354f6a6e2af30c56ad22579e90589f1c2f790351cebb58126d9cf9814287fff450086965028ce1545cb26db5f933fe23c287da03275a87979b170748d84b84bb4c620c2a71d250f785490a4f9f8124318a36528d03283aeafb5843136123ca92cb51fc21813592048476eab9428cacaea55064bab70367a6f95c91ef1c1cce3edf5e264f02778fd79ad113fa3cb311d398d6c00e2826033bd32031714dbc1afc90386cb458c9e70116a29daa38222217450cf052319c6803fa7882c887e014828d4ed9cbf3ba4b146575a75604fd85caa508204e8119cce403c395c876a39af7fe7550e171fd9ae82cf0af120158f6f9f9740740a82e426a2f034ba45c4de796217a2c0e47b8a334951cc83977dcdc17f2f9dc8e591446b69c3d034bbe3a0140e68e1ae795b37acebeef6bcdb1cd6ef6d55f1d85188cae3557772b03dfb048312d6b43b53e317947ded44b8d017a9e57ddaa25016c4b5dbbe2927bec0396d8b6cb955c41a670acc6c94a8fe967046d5fecc0c2e929f264dd424b7efaf5034747b3499e275820c24346b49b0eafb32dd86955e2576b6d6c47d9197b00c2000361610653fe996e04e51783e7a57b1eec3995ca145b650f44e8c628f29515308a0310821043712b3d5ceaf5865ffc189a3f53a6588078452275b8b3679d3f65237f03657d49c41183ef955a418abc930e3e0282b5e3a34908bf595f92ce117e3b267803ace232b27d2ee5f67272ab884ec8ed1cb6ea773bc553f9cf47eaf4fedafbf47b03dd704c36356035a7e416952a3f32e0f71faffe3497a21978456e79fd143e78f903783e4c501d23a4ffd6b151d61dd71b717602d7c376e1b2a2715a53fab2dbf27f05581d0203db2b8be0b9defbdb14a6fea907e42073a9bc26f07880f97dcfa3b30c181c4734860a9cdb662204591e796080604052600436106102085760003560e01c806370a0823111610118578063a9059cbb116100a0578063dd62ed3e1161006f578063dd62ed3e146105a7578063f0f44260146105c7578063f2fde38b146105e7578063f887ea4014610607578063fbfa77cf1461061c5761020f565b8063a9059cbb14610532578063b62496f514610552578063cc1776d314610572578063d505accf146105875761020f565b80638da5cb5b116100e75780638da5cb5b146104a857806395d89b41146104bd5780639a7a23d6146104d2578063a22b35ce146104f2578063a457c2d7146105125761020f565b806370a0823114610433578063715018a61461045357806379cc6790146104685780637ecebe00146104885761020f565b8063313ce5671161019b57806342966c681161016a57806342966c681461039c578063436d3340146103bc57806349bd5a5e146103dc5780634f7041a5146103fe5780636817031b146104135761020f565b8063313ce567146103255780633644e51514610347578063395093511461035c57806340c10f191461037c5761020f565b806318160ddd116101d757806318160ddd146102ae57806322603661146102d057806323b872dd146102f057806330adf81f146103105761020f565b806306fdde0314610214578063095ea7b31461023f5780631006ee0c1461026c57806312185a391461028e5761020f565b3661020f57005b600080fd5b34801561022057600080fd5b50610229610631565b6040516102369190611acf565b60405180910390f35b34801561024b57600080fd5b5061025f61025a366004611a45565b6106c7565b6040516102369190611abb565b34801561027857600080fd5b5061028c610287366004611a86565b6106de565b005b34801561029a57600080fd5b5061028c6102a9366004611a6e565b61076d565b3480156102ba57600080fd5b506102c36107e0565b6040516102369190611ac6565b3480156102dc57600080fd5b5061028c6102eb366004611a0b565b6107e6565b3480156102fc57600080fd5b5061025f61030b36600461195f565b61085e565b34801561031c57600080fd5b506102c36108c7565b34801561033157600080fd5b5061033a6108eb565b6040516102369190611c22565b34801561035357600080fd5b506102c36108f4565b34801561036857600080fd5b5061025f610377366004611a45565b6108fa565b34801561038857600080fd5b5061028c610397366004611a45565b610930565b3480156103a857600080fd5b5061028c6103b7366004611a6e565b610987565b3480156103c857600080fd5b5061028c6103d7366004611a6e565b610994565b3480156103e857600080fd5b506103f1610a07565b6040516102369190611aa7565b34801561040a57600080fd5b506102c3610a16565b34801561041f57600080fd5b5061025f61042e366004611913565b610a1c565b34801561043f57600080fd5b506102c361044e366004611913565b610a90565b34801561045f57600080fd5b5061028c610aab565b34801561047457600080fd5b5061028c610483366004611a45565b610b42565b34801561049457600080fd5b506102c36104a3366004611913565b610b4c565b3480156104b457600080fd5b506103f1610b6d565b3480156104c957600080fd5b50610229610b7c565b3480156104de57600080fd5b5061028c6104ed366004611a0b565b610bdd565b3480156104fe57600080fd5b5061028c61050d366004611a45565b610c34565b34801561051e57600080fd5b5061025f61052d366004611a45565b610c80565b34801561053e57600080fd5b5061025f61054d366004611a45565b610ccf565b34801561055e57600080fd5b5061025f61056d366004611913565b610cdc565b34801561057e57600080fd5b506102c3610cf1565b34801561059357600080fd5b5061028c6105a236600461199a565b610cf7565b3480156105b357600080fd5b506102c36105c236600461192d565b610f24565b3480156105d357600080fd5b5061028c6105e2366004611913565b610f4f565b3480156105f357600080fd5b5061028c610602366004611913565b610fbe565b34801561061357600080fd5b506103f16110ac565b34801561062857600080fd5b506103f16110bb565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106bd5780601f10610692576101008083540402835291602001916106bd565b820191906000526020600020905b8154815290600101906020018083116106a057829003601f168201915b5050505050905090565b60006106d433848461112b565b5060015b92915050565b6008546001600160a01b0316331461072b576040805162461bcd60e51b81526020600482018190526024820152600080516020611d71833981519152604482015290519081900360640190fd5b6064811115801561073d575060648211155b6107625760405162461bcd60e51b815260040161075990611b65565b60405180910390fd5b600d91909155600e55565b6008546001600160a01b031633146107ba576040805162461bcd60e51b81526020600482018190526024820152600080516020611d71833981519152604482015290519081900360640190fd5b60648111156107db5760405162461bcd60e51b815260040161075990611ba6565b600e55565b60025490565b6008546001600160a01b03163314610833576040805162461bcd60e51b81526020600482018190526024820152600080516020611d71833981519152604482015290519081900360640190fd5b6001600160a01b03919091166000908152600f60205260409020805460ff1916911515919091179055565b600061086b848484611217565b6108bd84336108b885604051806060016040528060288152602001611d26602891396001600160a01b038a16600090815260016020908152604080832033845290915290205491906113a4565b61112b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60055460ff1690565b60075481565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916106d49185906108b890866110ca565b6009546001600160a01b031633146109795760405162461bcd60e51b8152600401808060200182810382526023815260200180611d4e6023913960400191505060405180910390fd5b610983828261143b565b5050565b610991338261152b565b50565b6008546001600160a01b031633146109e1576040805162461bcd60e51b81526020600482018190526024820152600080516020611d71833981519152604482015290519081900360640190fd5b6064811115610a025760405162461bcd60e51b815260040161075990611ba6565b600d55565b600b546001600160a01b031681565b600d5481565b6008546000906001600160a01b03163314610a6c576040805162461bcd60e51b81526020600482018190526024820152600080516020611d71833981519152604482015290519081900360640190fd5b50600980546001600160a01b0319166001600160a01b03831617905560015b919050565b6001600160a01b031660009081526020819052604090205490565b6008546001600160a01b03163314610af8576040805162461bcd60e51b81526020600482018190526024820152600080516020611d71833981519152604482015290519081900360640190fd5b6008546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600880546001600160a01b0319169055565b6109838282610c34565b6001600160a01b03811660009081526006602052604081206106d890611627565b6008546001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106bd5780601f10610692576101008083540402835291602001916106bd565b6008546001600160a01b03163314610c2a576040805162461bcd60e51b81526020600482018190526024820152600080516020611d71833981519152604482015290519081900360640190fd5b610983828261162b565b6000610c6482604051806060016040528060248152602001611d9160249139610c5d8633610f24565b91906113a4565b9050610c7183338361112b565b610c7b838361152b565b505050565b60006106d433846108b885604051806060016040528060258152602001611e1f602591393360009081526001602090815260408083206001600160a01b038d16845290915290205491906113a4565b60006106d4338484611217565b60106020526000908152604090205460ff1681565b600e5481565b83421115610d4c576040805162461bcd60e51b815260206004820152601860248201527f5065726d69743a206578706972656420646561646c696e650000000000000000604482015290519081900360640190fd5b6001600160a01b03871660009081526006602052604081207f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990899089908990610d9590611627565b604080516020808201979097526001600160a01b0395861681830152939094166060840152608083019190915260a082015260c08082018990528251808303909101815260e08201835280519084012060075461190160f01b610100840152610102830152610122808301829052835180840390910181526101428301808552815191860191909120600091829052610162840180865281905260ff8a166101828501526101a284018990526101c28401889052935191955092936001926101e280820193601f1981019281900390910190855afa158015610e7b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610eb15750896001600160a01b0316816001600160a01b0316145b610eec5760405162461bcd60e51b8152600401808060200182810382526021815260200180611ce46021913960400191505060405180910390fd5b6001600160a01b038a166000908152600660205260409020610f0d90611656565b610f188a8a8a61112b565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6008546001600160a01b03163314610f9c576040805162461bcd60e51b81526020600482018190526024820152600080516020611d71833981519152604482015290519081900360640190fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6008546001600160a01b0316331461100b576040805162461bcd60e51b81526020600482018190526024820152600080516020611d71833981519152604482015290519081900360640190fd5b6001600160a01b0381166110505760405162461bcd60e51b8152600401808060200182810382526026815260200180611c766026913960400191505060405180910390fd5b6008546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b600a546001600160a01b031681565b6009546001600160a01b031690565b600082820183811015611124576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0383166111705760405162461bcd60e51b8152600401808060200182810382526024815260200180611dfb6024913960400191505060405180910390fd5b6001600160a01b0382166111b55760405162461bcd60e51b8152600401808060200182810382526022815260200180611c9c6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661123d5760405162461bcd60e51b815260040161075990611bdd565b6001600160a01b0382166112635760405162461bcd60e51b815260040161075990611b22565b80611279576112748383600061165f565b610c7b565b6001600160a01b0383166000908152600f602052604090205460019060ff16806112bb57506001600160a01b0383166000908152600f602052604090205460ff165b156112c4575060005b60008115611392576001600160a01b03841660009081526010602052604090205460ff1680156112f657506000600e54115b156113225761131b6064611315600e54866117ba90919063ffffffff16565b90611813565b905061136e565b6001600160a01b03851660009081526010602052604090205460ff16801561134c57506000600d54115b1561136e5761136b6064611315600d54866117ba90919063ffffffff16565b90505b801561138c57600c5461138c9086906001600160a01b03168361165f565b80830392505b61139d85858561165f565b5050505050565b600081848411156114335760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113f85781810151838201526020016113e0565b50505050905090810190601f1680156114255780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216611496576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6114a1308383610c7b565b6002546114ae90826110ca565b6002556001600160a01b0382166000908152602081905260409020546114d490826110ca565b6001600160a01b038316600081815260208181526040918290209390935580518481529051919230927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166115705760405162461bcd60e51b8152600401808060200182810382526021815260200180611db56021913960400191505060405180910390fd5b61157c82600083610c7b565b6115b981604051806060016040528060228152602001611c54602291396001600160a01b03851660009081526020819052604090205491906113a4565b6001600160a01b0383166000908152602081905260409020556002546115df9082611855565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b5490565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b80546001019055565b6001600160a01b0383166116a45760405162461bcd60e51b8152600401808060200182810382526025815260200180611dd66025913960400191505060405180910390fd5b6001600160a01b0382166116e95760405162461bcd60e51b8152600401808060200182810382526023815260200180611c316023913960400191505060405180910390fd5b6116f4838383610c7b565b61173181604051806060016040528060268152602001611cbe602691396001600160a01b03861660009081526020819052604090205491906113a4565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461176090826110ca565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000826117c9575060006106d8565b828202828482816117d657fe5b04146111245760405162461bcd60e51b8152600401808060200182810382526021815260200180611d056021913960400191505060405180910390fd5b600061112483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611897565b600061112483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113a4565b600081836118e65760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156113f85781810151838201526020016113e0565b5060008385816118f257fe5b0495945050505050565b80356001600160a01b0381168114610a8b57600080fd5b600060208284031215611924578081fd5b611124826118fc565b6000806040838503121561193f578081fd5b611948836118fc565b9150611956602084016118fc565b90509250929050565b600080600060608486031215611973578081fd5b61197c846118fc565b925061198a602085016118fc565b9150604084013590509250925092565b600080600080600080600060e0888a0312156119b4578283fd5b6119bd886118fc565b96506119cb602089016118fc565b95506040880135945060608801359350608088013560ff811681146119ee578384fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611a1d578182fd5b611a26836118fc565b915060208301358015158114611a3a578182fd5b809150509250929050565b60008060408385031215611a57578182fd5b611a60836118fc565b946020939093013593505050565b600060208284031215611a7f578081fd5b5035919050565b60008060408385031215611a98578182fd5b50508035926020909101359150565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015611afb57858101830151858201604001528201611adf565b81811115611b0c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526021908201527f43616e6e6f742073657420746178657320686967686572207468616e203130306040820152602560f81b606082015260800190565b6020808252601f908201527f43616e6e6f74207365742074617820686967686572207468616e203130302500604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60ff9190911681526020019056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655a65726f537761705065726d69743a20496e76616c6964207369676e6174757265536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744f776e65643a2063616c6c6572206973206e6f7420746865205661756c744f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a0eda175a4364696b5b6e5aabe0f07129dd948585857b643af1417838df389d064736f6c63430007050033039bb06eea23d1e611b2644e1ef7f50ee6a20267ce54ed35b5b7f8e766635078fe032bb7821bc8672cc6b465f11678427140d83b0ac9eddfa141ce3232056e86d27a031aab138ea2451bad9d60d342ef57fda440b40e516bddfd725702204209150f4803fdc4191e3054fe9f3bea0eb8c2f6467b5299308e5dc1d697af77b46c8fe2eac403efdbe55af32607d725a3840e078d104765b85bb4616806740b97ba20efd2ba850382d8d9bb355a1955efee467952ed9a549a45a6e537542617f64f53413f46650b03ed3bbd09028ff31611af7f02c22e056d435b808461b11baaa98d2073339a5e99036de566b6dc6e858fe9e44d1f3d1809f35cd60408d7d7feedb8c70ce7b317dae8005820030745b4bd0b717377cabf9db286a628a17da22294ed9652d0a543c71387c5c04612309ce540000342684153ee7a3d7f15de7a180299b10756f11d330531dd0e216188853ff02a02030ef8231f1b71ed36ce69df7b6385f452c3e7f7b9a36d4d407bac6e4afbf2eede03a7bc5886acaf3f54e7005fc873e2215c845ba64c34a03760d494e5d396ab1a2b03f4e6fa6ef73c3e8b7fa0f1920ac3420fe922ecf23b73ece9c9c54d6748bc13f7036a227a359bfb3681c3e1a077e0de4c76f34454d6b91fb95f708b323319953dea0310947e3cd7945a795e67b441ad95ef599df7a8936fd3e4e50ba204923b949f0603cc60cfbe51029be867e5472f8be49b780249fe96cdbe7b3b21b83fe53486ca7a031652aa52d7c846804b8f02afe25aa3c0564fc05fbe438cb3c7bca5812494ee560354418ef63e7f6803ec450ae68e7276b2c4dab2cc11093e1b420e9127a7da1f990356b327e8b02a463b6fcb811197301142598fa1dc28cc20e4ee532ba8e9b498d4034c6e1e6b782aa21200778d6726fc5bdea26b7005b53130c29686cada0d23836b038c0074a5cfcb53c544fe2a6b0699b0dd33bec49d43d64e562589ae53c09a6a9d005820031734f16de52a2bcf9aa961671cec382f3f48d66e7378fa0660eecd4bbe6e00410103c1b5817cd944fca49febd15e3f08140b6f8267833ddfb255d3eaaba53b1f23de0219ffff0366acf1cd143cd32cc8c5e82184bb6f8ca06b02a5ce2bb2d5dc0d0d863539cc030326440c433452773ea4cbb4308e7b01f887fc2f6b6e10b9bda633ff24cf3d181703ade8bd82af5c8fb3c9ff01a1def83d2dc1d3a89a9d03549f455faa509705535f030bddc8e9ce8aed332cb9bcfdef98161d3cd38c974378df2222b085582453933b03ce0949803bb4905fcb2ae02c4f77d6cc5f547dbfa9164498af417cf7111380c1037c3fe9bde05299e31182ac652c23a6923731ea1bc1e8084d755c36a1b445596e03d7adaa18ce9a6bba36006ef4c3660f7cab752783d28356924885570bf6db3ea9037e76bab46f1fd16feff6cb1d7da071cb28afbc74f22c85020a2608fe259e3dce0058200303dd6c5898584e9d0a2bbc727381b3a465e9bb91e19f3810a6a947248b18305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200354921107226dd975fb1ee8e426a17cce11747d7739fe2c9812a4a78c5d20605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033fdad4374e30d0058e2224246b76205469002ec9cf7cd49c0ef6d665331743c901410b03f15c5d0d7a4c4304ad6ab830e419626803a5c403a5ea8d48399c13a6101b3d4303190325c8467652a29f31edc3e06885a2604200f6ee11b0915196ab61e415eace0303de3b451e7cd6986f9dac6377e0135ee94478645566e73d3c0f28624b9c7d5803ea34cf16015a5636de6f81617faf4c3cb11f398143e4573a310be0031bdbd70d00582003519dca094f90f50cdf5ab4b85046baf545b8d92c84510f759f7aced6373ad05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03aa761c9954deca820fdb62f61d7df83fabda3734f809fb4badcd49be688c12ea00581f0217bfe3efbf40fcba14f6cd08d8b56a4b4fecd025fca2d89945ca82d841804603f8db41495400581f02128eb9ba06a9d7af2e1a0b425fd55c76d465ec9460adb1525587cfd43ae15820fffffffffffffffffffffffffffffffffffffffffffffffffffcad2771e5a30e00581f02910d5767d03c6dcf2c5b1e77a61623225d8fee69f74144d9036c127e024e5820fffffffffffffffffffffffffffffffffffffffffffffffffffe299b0f4db7ff021912080219fef7034b1fff82972d94dce63cc9cebdaa3bdc7bb07c2786264f0ffe984046de32871003e3074d0507b4eb4e7ba0d64e36072c97fda59b50afb6c298f7aad24afa6af5f603a3a1166acb99d12fa611ab295508cc410cda00e983be7fc27050f53d02078b2903d7b16db8171ee4dde321eb6bb48defbec6a6b1bd3d1127ef4cfaf0b35fb8a09d0392ff5921d92d8217890f612b223d056fbc21b3c497c32635d10804cb3b67da630219ffff034d72b81968e9ca954ce3b0b14df7fc5e1956d5ada24912ba80cc58d810346baa035c3f53b8fe041b077b4a15caef6d4b907e61ce04d07dafc21d6bfe8dc5803fb3039c0e19b07b8a6040b65a35cbc38bfcce67859e047fd9e51b9cd372e79b1c6aea031777900b7b2c26d5786a6c11a37dc44e990e19242d6ff4f7dc1d61af871382d5037274066335933a9f4e9702b2b88b97ffb4d39720cd172c3f7fa22106f9b19848031e0dcabd94fdf5fba674d53ecb507a46c14808f96c26efdf9beb23529f81731803ad912a1a4516d14070bd3cb819b3869c421cf0a73238f1a7733d71288da71c870372841454f3b2e31fcaa4c29d68b3b2d9d889250c812a62d69e67cb8e52ec01e2039e952b6c107d1829c5735a438da8915d7dcfecdf376c6cbbe2e2422dc6212a0501410b0302516898bc5460509d9c53fa98e3e6ea82fcb8c1a7342d00a1aa1c9549880fe5034b9daa8f8faaa54deadaa0f136370b084a575b76bd8b1a685c742e10b95fa04900581f02b997a32e4824e4c3c050045365b5529c0b7da4c94b072ee63d70964b85565820fffffffffffffffffffffffffffffffffffffffffffffffffffea2e6b09081a100581f024ef1818c7d4759486efb3cef57a3d6a95b180ed3d7af8c3b812d6cc64f8f470147453a43476502190201005820036384ebfd00a25c3ca5e499f9cad929a5cd182860bfd23ca7b260b2e0a238e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039353e6e19185f3f1a17ea87a62adb1266f300c4fad470f5740d707d4833e80ef03ecd3b6523bc7e91e686b44be48a3939027846aedf1aba5eec64c3950a1c3c6bf03aeaa51b6f5be36fdcb3b0a352d1455099417882cf0b9841b1ff4e21f7bc62a5703e03652c89dc165ba794f14a53a8591a04cfe4077f198ba39fcc0b9a272e4610101410d030f909d24a90468446e1bedaf1c69e7e4e1eef5fc73cdc1aa247ca8513f0243c503722bfcd2f7a0f1a67be4918632d3e3e972a0de858cc324856673ccca02b81a6e00582003594113f92a6efaaffa63cc570ceae837c7e01374ae756f7b7993891728b1904641199afb9a790219f7ff0306db047b6469f292a00464cf806a28688c9e9b247f6812bd96298d246bd658ac03a057cf4942723acc4b8dc2606e5167ca7618c45ba597358a32a0acebecfdee1203983a77b351522d5ce8ad7a4fe91e629f4be3439c7e30f1692abcbcd0dc55181503a5fdea99eab338d741ba91345ca5ea1bb87315aebeb7f9111932de3baabdb11703d5883683a21603ed2621aedbadabd4e11a131a1f4e252c255faa584d3db7ac5b03e012ae5c30bd81bd78366bc0d07e935e51cd2dbb78ccf2dedb7d363642dba65f0395ad9979a3bb41ab134a81e676d171e73c27b72c8cb43c719b59226f9488e84b035b395d2996442aac967371352147e3019ae66f262a60138242cbea1cb1cd51bf0364cb81fe8372e4b2cc8380c49a8a3bbdb8fc082cb71a4cde50744e21a332efe00322331a4c00bd4ed96061f769e0fd872127af67620ec65790a4ec31a147d849260350f83d916eddcd67b5dba8cef5cf60a94cb8a4e9bbd0b6f01885a7b3f6d58f4a0219ffff039a682094c144075b370c125498680af250b36fd99354733131baa967993ca1c40369671a4aa5a9c73b85cc0bf9c3ddb2981795c2a531a29c0029cd863df07c6ecf03c708f99e39665d711929094a0b0cbd462d8afba1a87dd5cb88a00b7520c7f52e03a5bc119308baa20ee458123da36b84c07cb46d3bc6ab885aeeab01dce03fd820031ade61a1f835609089d356fe3896b4435ed4a8b07a733931ed69eb7b7e1ed4770368bbdf7a9730efb728f3e62b03a8583532b6f867016730e8a08d7e9dd77c6d19031566e56795a2108c5c999ba4ba7ccd986173338f9fbafb90b86c673f0ef4344203b235cecf5c850cc6ff7c9f63f44d76e2d1aba9518a1a8896a02b63dba407a22b039d2b61b1e1e6373d3e657d1b78b921a437b6a2b62ce9f0602b290e5bd52ee93e00581f02a3ac4ad156991d67396b03f21b7207d98eb71c9ae17beb2e34b7be93b3e75820fffffffffffffffffffffffffffffffffffffffffffffffffffffb73d8c6afff00581f026686502c84ebdfc6c5caa2f8087df1136889ddd8ade574aa522eaeca56085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021902080374d9a69dd263eab969dd3ecc4bd911642aa38f972d2143328f37e59e0e37ad2403dcff9ce5f043ec18e7a965055d261cdec2589927f6a5c77abce49212142360470351d832c97b0a5475601bfdec882b362f94657e71ed66b08fde7419ee748759db0338f63753bf1cbc992e84abfe4d027a379461941570dae5ecd08d1c39ed29dcfc033ee06c69c4af4f64fa3790a3a37911cfdb14f90b2192c42007a5522b7a44097b005820034df335a2315c17818a41c15a289a0221ae323243ea29ff911be3949c11c0405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0337dfd61ead837aae074be166a31354b47aef99553e8c3773aa313deb1cc79bbe0366837d695cbae7792b26af9956626cace96fe47af80a4c9c78e968db89d1fdf70219ffef037cd2709221b4572ac98fc7dffa60ce97f839235276fb97803f463b704162b62f03aead01d2508d17e80d4c21d90c3c1e5bc868e7f3a7d50361953b0f45f16523aa03e2688aad263c42b69efaa6050b9b5ae6b4379244e1b5eddc83d3de5f36981ac003ca7df178b4196dd285d55926832fced1b23586262182267732249ef5bbb843cc03c16f6029435fd1d6c28076db690507aa1bee416aef17ee95d150c74f3dced4f303d109fd3fd9730fac21130d6290c629b32fe37ac9e786ff45ab1fe328ff23b5d900581f025e0cda21ecd091ee470a12bb21a47a6d8c2d693ca3c072728b9e74f5431b47210a4cfc69400000581f0288d077428b12f41ca7ecff986638adc2fbfd3f253b06f4eaf66b23c73059461ff4193634580219404003c61b6f9400f5b5e53bb7c6b0e695dc1e7657f1a2d1e7350a92b542b8c3c2ca33005820035d9ff5b8e77cac4dcb73efa434fd829b676f0e52ea305cac619f98491531f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffb43bd4d01fd803e3c9b3b6118c886e28ff81ada17c5e9f2d4ddc3b66f755873a6bd6e548afbe2b03854dc1512cea328bce44ee9b572ef5c2ff17f4b13f63c42b23771d448a491246038adec86d5ea46002328dc21e2ade96e80c0296de743e830b73e984bbcb40e7bc0058200321e756466b71ee8b4c0241b5e7de8f0e1f37ceb6be49ce8b689ee3b504fa20462e80e65638960312c8cbcfdc7bd69e93e8a107f377a65d18b39216181192cd44a92d4a15b1330f03f5799b645533341e960553ec8fd3c9ca296e145d582e373b9d53c636c170b8ee035abb584349a08974587e91ffe2d168e0363c9fba13d8ade2184f5c972aa99a3403c8f703ccb18dbf07032833b5147fbaece8726475b62d53b0d9440a9974451f3803d05936a382398200ee58a328cef5e8afa080373f0c277633eee2c51ca9691a24037b22740e22123e8fc8595a5da1d4229a8adb1a84dc960ab1242b9a20b0a80738038737739c5d8f5980a4246eb679022342bf973943dc28fc837240245c8a9c6e0103d7e8c63c8be3e6e6f4a598dd68dd014103b47cfc828e8baf6fe39e34f401bf0e034e0a21f8a222168dd95bcd7c93242ec2116bee509798f953a14759706808d7940219ffff03b3a02df621fc947eca060357c928f8a06776f86bd074b4c72439f7f27ee5a8cd03c1e4d7df13f1b2f463741d3f8c18c671ccb6e7682779fb48ffdf6ce63750cf0f03581406b793fa78b17bf970c98e953c41d3946427b44bb4249665e2c3ba55394f034804d84fe3ed2fb9f0b841437e0f558a5e454d710b5d1f932f8588025fe4602400582003a1377b6f177eccfeaf48a8083af01cf3974b81124924318c03e0a1449b000046513c17805bdc0362555b7076d8278eb7c77e8024a007e236cfe8675196412279bd8f90cd862aac03b6b5362109346a17687a4f2a6fd865969a80f8cb271d2637d229d7547e712c8100582003519dcd4c383ef44e3da71e124807e0f5b52c5c67a36f56148b2af0413da0a046085c39f1dcc10313a633af7312ebba1e11e0b5820ee79d5453c029ce76b802ebb25dd6c1d3133903c1f89cb878085afbfef0279c67d3d95de7f089c0408502c596ea6393b6e06a3a03dce481d1d3697d6fac85a6fa267bf917a75ef58c9b937d65a0043c00b4215a99030e3eacf05c394b94de324778a7429e8ebfef28f652fdeb3b71b54132c611d4ce036c92eb15b8f619b85a029fe84751950625bb34061ecd76291c4bf04b220aae250378b6c738746025f98fc1511efbe45310f51e30038941090abe0e2f6c85b2fd040366f4a9db1f01b9febba3aa0dcf5e4ee16b8bc23505a8d1a8eeaf4dd50fac5caf03519b14d15b85c0b170c2d9439a493de7274424a054a08ff771fe6ea98f4f84fa0325a9f8bd4fb4cb1f6fa5549409406a055dd288cf55f9dc7001d5a3adfab583de03323da57c338ef57301ca0ad9547a910d5e8475612e01ced9619879c206204b8000582003dbe1d53df578106df5d8d6adfb41d7028715910da442e9e3e3cf820adcfcd0460bfcc827971203a4e9188f7bf8982a6b06d1fbeb8f9ce7184be8b156b7b46e1648c2fa56f7084c0219ffff0219ffff031dafea54f304134320756379c6d1be02ed2d7d60e64ccace6b9ef0f40d38d64a037beb169a3384e4091c54fc74facc59171ca0c9bf4c3edb69b785e519e8fd2f6c03fa25aaebfcc24615170a6ce8f660db2ae4a93f8f833e969f7423f69b4f598a8a0344ae459206525a3367bae018a97eaa45b958095f497a2198fa656e90a46c5a5c03be5843ab8720a231a17206e8bf235a9e338794c1b29b222dc89654f1af1c5e9703e6e8146c447a3da386d7f736a260253835b0fb41e005a41beccee00815137b1a005820033b9a883b7a1728002213818f793bc2f8e5f1211a001683dafe834ff0d9ed405820fffffffffffffffffffffffffffffffffffffffffffffffffffba2092bbcf0aa005820031de85158e3b33d11c76957b8cf743646020c35e83c23a642ca7354039df8b05820ffffffffffffffffffffffffffffffffffffffffffffffffffb328b5f31cea32035bf477985ec654cd8c091880b221d15a29771af98e5ee5ab00e2e054d026d3d403a031f27ba07be58a3c219323913407c16b8d90e3715d6452e2bdb7773fe067390316b099787bd550eb486d9cf175d31e5cd9b46b3f991f9a8d9d8a5b86bea63f93031ae28c3a5471f4186c99220c58a3175147dc612bd9b041f2d7fdd3632c0657d80392e4ec7a52c15f6b462fb6edb39a3979d3a89cfea0fd850d32f1e747537c864c03886bd8e16f8604fc44d7d7e531a99ad5248a1991d4a17704d6802ad39369e26d03b29c179df5eb4b16dd2498b8c6270f86fd67f562a0d636dadda0ab01cd9c9b5f00581f026e64948a2e8f760f62ccf894f77e296818533c633402f66aeaad5fb2c9ad5820ffffffffffffffffffffffffffffffffffffffffffffffffffff9617d90667f100581f0291c4c4036884ab6a6bbf36093d2336d65d333cd869835198e10aa76de7e24633a84c25b9f50219800803dc463b35ba2747801b5906be97fa17cf535a8a76c4670033eeaa050e7087699303c8251d84124ba834fb12ebf17fbbf8e20b482c203dfa1d02bd7c314c6303e94e033dd73b74c68af568a3130eef3c9691f6b34403c7d4e9c54bb4aa422d64b229dc0386bf9e8c151270fcb4a64d5cfc2fe7b902c4e33496edec3e3e41e3a6b549c4b90337278343a7ba8cd7fdda786e376fbce7a4547d1fc23a186e2ef151bf6a30415c0219ffff0384552427c14b288e8f1ed5aaff5d7b861e216be7459474ba30474cc96e877126031215545a1c42399720c54c2580143fe89be34f54d96ec16f2c976134746e5276034f611bb0d7495c3ab0974bbe63dddb21011ed31f8e8f8a44ae641b601a0f944103fcf33b8ed3aa3d37d40891d77b8a98bb52e4950e1680dfd63393acdcaaa36191036d6f86ae93f6270a968188063a40477422dfc18fa8502fa23dd6d88533fdbc8a0349b997bca690a18f98ecfc72483d00f7baf0369c679a9fbbc8b6fc262360738d037d47369257154534c45d81e12bc10416ef7c4f4dd3bfb861b8f2e500178b516a039603b07ed1a0b33924be5ce3f3184b5e8e0c90655a87749e143ef2e2deea594803c1f48098ad57c80283a183b338c2e826a18640f72d89ea90f59037ae9cdbe1e00370bacb3a67d4f5f04315e5c09e22982d16ed392c946fd7a97688e7b0338f771c03585fed17757fa444657c085a6f9f3babc2cdd513ad8540c85bd5f1a0edf49e3d038a610821cc71f352647d08b707312a5d730c11d565d855c093f0ada77fc86c130219ffff030051b5b5cb039558a9295361f645d30e42d2bd8998f90903d750323369f4813900582003bbd0705ed57a53bafdac15cbaeaddc7cf39ca7d522ad52c98e9fc82b719dd0460b93805aee310358ad2db05cb611d15660f189c9ca605d901d4ed8826abb663ae8765f3173d9e7038394eedf1ba637ff171004bf25faaa48abb1d6d4ed81821cc57c43a2472929140328f08d57a7c666561e36a778a128cbf6a72809ccfd0b79f1c8fd466f4b7ba2aa03277af72962bb54f8be8b8195917c42fa5dedfe40cc2541c87e93befddf4a9d0903f26fe4699a6263a8bd061f370a223e690c650c4f6f78b4781e0a1c19e7dd8a2603fcfed22a0a8ac2bfb690084a8a99fa57b99a553572d2f0eeb77c51e4a49bb3e5033fa078493e25e44f6ce1ff4469b86ed19d676cfdd887eda6b39682f92fc010ee037502c6a21e64974e69f5b960d2328b047f295b97f46eba7d54e4ae9d13952484032832c9e421af1f41b9cb7ae710da90b6c7f65d4740621e14754fa8edb334200103e4ab4f1d2581ba9a5c4aad880e82ab3507976807d5f3c8b5037ffc36e83b52210325cffd7d8fd447af47bddf5ef41b64fe26dc41c991ea04e4ba27d6be6a13c12800582003cde8af61cebb114f68ab0ca64c535f3d2a5d8177e68d7d8ad9fb0edb8417a046110fa0601af800581f026f6df6d40bda5b9379b684ed385592761ef211b101f0890999a662505d634706966509dcea0000581f02393afda1dfef2bf8e3de4cb7e209ca6917e6790b62fba8ca5580e11d3deb4804cd3f874a1a09d600581f02e2527675ed3efabb2bc1c99333bdf0ac04ce51af213effd505b56929a60e4629fa1e4a6be30219940003c8b01f4b333d55515e59e97d6df29acc340eb058719c8acef228d541a8a85b4703c4af6d8266968d2a2dc01b09c1519d92b4681c7b785bcf6983fe4d3048ee34520219ffff030ff54b0deba3fe66ad68dfc17c4fad90cdfcc07ad44eb876d2c1c031b0180e5a0371a7ef918b5001f0f1294b1fee8f6782a3817f4c9850f9f0fec6c1293abdeac403f47a5b70a69fc2cc1c955bdfa4efd1b92a7bec40653de18dd85247b55afb244b0342880f3cffcacfdbd8f2cbac697a0097d991ec53da437b122c0e367f3b97e65303b505ef6cbb6e968e2a2ab1ed89508c0d85bf2097d9592ec2f81e64632b35ba2603b0ccee31ef6dbf15555ce77dc8f170e1668bcd33b805ea266e4ce8e7058f066903d516c49415c4a213f8a3061e114371ce6cd7c8c1b0a436ae30727cf0984185a0032c8f25aa8f58a7fc7e805a74e37ec8cf78f15239bc255703301d68149db28c83039bb3a1782743ef98e1e4511ca9e06d8039d233a60acc6a5cf0172c6c394bf47a03dff3463290bfa53dba4f79e6aba0280d447f7a7d03b8e6042f9e0c1cfcbe8ff903f3e1e8f58869d6771f1fb17f5a89146f7a05956e95faa36b3429a75d001cdbd1037045c3db207768e6242ded20a8accfa042043fbd697a08e4b262496315e99d4303076261eb91f30076b4aad47c37b98f77681d7b9cd9c6801fac029fe4b4f5d22a03f4859c919faa9beabfbbd162460d2f5db6465e6577f9785b779e17c33100c20803de7b6bdc828095268d9ac4e2b2c5b282b6a669499b0d9639f8620fd87d24d8840361580ab00fd02c47319c7947a94cbce9cb1032b41a0ac761b2880a9c2f79e1c50058200379c22a825d9662386a108aca93c2c4ac1655f33987957a16d795b73a727870410103c57a71ad3a4a2079b6baedb8fcb0776a5528582909c53d012d889fda64508cd5037f3dcb39bcc62feef9ff07dec00994b4b30ec8071aa9cd93a3360dcf3a1a5ce903b088da05dc975015a553c758f3496dcbb997d36925edbe9a0ded7578f4d6bc0d00582003646fadcb39457ea65ef177ae69ebf62ca70c792db39d49ad17a3c11bb1c8004609184e72a00000582003b959f0aa34e96af8653ae6b59841954ec38ee1c4fcfb79baf0d1329ae7015047026cfff826954303c2e1d448b3cb90fa43cccf1279564ebbcf9cabaedf821c47b9444ee560615c6403019b4d71cc6be7cadf5d06ce1647dd7d7e48ed8f9dc5844f2566ce83a067709803cd2bafea1f6352d03e7d8e6ac355274f132713b581e4b944b22ab3e5a4f3b35a035bf40704389b21da8b588830f189476ed83f655bb67878d1d9eaca1cf967744903d3f1778b0da35ae79662093b3cd9ba5259951f9f6c1cb82faa2d5ad9c300a1bd0141060219ffff03d3af6cbfb363e58893bcf4a190afc5adb3cbb3bf45b3492b3c211192288cd6c70361f7b5665da7f065b519a7dcfed65adb7615d389463325a40f31ba2e4711760103a28e7fc13ff0eb52d26981a4e03e58c834308d01d80d3b2a6b0fe8f1b6037d380219ffff0360d7a6dad5dfdc9923738a9599f762c66fe0821a0cf88cb98d794b97530c098803b7619596bdc72f0bd88b652277360c83c1b1078aa4de277a9b38022732cb4f7003fc65f673390dc8f7e9544dc3459d4e46b3973aa71891a6670630fd7899ab9791033a7048aca7b15cc754a046a094f882849dd616b123e246e0adb92a5120cce8d0037dd0c004924d7c1d00f1ce89a61d84c3fab37051ecd9e67518b5b6f672aa90d703f03a7b018110955b0082523b3beefcc180d450fedbfb39e18b1c45354811d751035cb3222d292e1c1126d5b78f52b348d9095869ac00cb09a489fa659e42a1598303089bd692c9992a31e93b136d69170c14dde36c250623b6ce49cf144ca7a3c2f403f5e86aeae0f1df15372d2ad1afce254efc9cd86b7b5f8aa846fdbbd3671be35b03f78d7baaccbe6c36c503ce1f4922390b244cd5d08ca35a405be6dc4a6b22598403cc72ae2cc182e2cfe10248b2149bf792491874fc9217c06d86264ae37071581e03b67cddec7e7ef5b243c4a61b63083fb774a44c3290d1284735f89f765d1506e800581f02549f64a2618fcca605130d16d22afdfb0d518399e39ee731d7ca988980c95820ffffffffffffffffffffffffffffffffffffffffffffffffffffd625785db41d00581f0255533f318dbebfffb75a90cf6bd9ac9d02a49d013e2c10fd97a4788fd3f0470300485132561d00581f02e495c7f0580ca659abe6bc242634b303b2d789fbfdc248d7b2dc9050d7d25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190a08036a0baf0fc1063c938c59e3f284aae94d4bd8b066944d91187cef7f8a7dd9677203f96baef6090f348b58f343572edc0822273815f946399d5f0fc2f7589d69ccc403d5d0cb511bc676c4a5768695e5bddba6b8516ac56642fd340988cec85b5121f3036616142d254c4a582791028f0b445bfab5f5c3ebfe1b314154936b5a5fa66b4d03bd5e32515f4473d0cf59e54666f05045bb961347b6d82fb1f0d5231038fa0e3b0058200331a9dea5fe0c6529480c421a47ca5d5532ceaa3908994ee90d19601be397005820fffffffffffffffffffffffffffffffffffffffffffffffffffb61a829cabfff0310832ab4a6a8fa29ab4f2eca2fbe0f991a63d35e9cd692b9a4ee9ebaf90d4f2103d78fdc592e1f71d4b9d54b89fccf1c61bb218a9af7f9ffbb998a7f61f62ea8de03a6fdbe0dec9b9d88656078f75043068957bcf2443713cfa0001e131e7123ead10219fbff0305c6ad6593c2ea9e54ec50360b12d7bce8dea5ac985bf19076c79f418937330203cb994e56377dc0b00bbd33104668e82461149fa53083c2b4c0aa8c89c5ca6e37005820031dab611281e0a5bd821c62205dd4fed86ad1635499a7a8c444434e3df771c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03827e2e8ad38ba71527c964cd87d89d32b56d5b9c1127bf92bd2a47a7226a27350352326b584a9d0bab2457b4e0846795353eff1646fbdfa68060ad5f565412bab603ae9d8ba74566a1a840f5f412075d24cac7768f9c30f347ecedc6fb7211ea357003329dbedf7449a6a56ffd934abea5f4a68c99ba83ae65086741b34cccc17b43610336317e13fbd9c1c53a0f9b71883b7854ba5525246f53ebe2bbbc671bdf7e438f03b044c0a21c77c7eef87c220b38232437a2af8fae2743e5e4f2e42adbe546999a03c8a6f9e03fbdb66521e7a42cd7dcd5ddc7b637b8d2200ed044644d9c8dcda48f00582003c0bc4f6235155fd261360ded18db9eb70e1be9287a51e4c8ced036d96776205820ffffffffffffffffffffffffffffffffffffffffffffffffffffc03c63aedb8d03764d98a444db406e9d98aa76303128ff4740b867fcd2cdbdb6ff51d03d7dad8c00581f02e913fd4576a4c3a5e60e6aafe8eea828a5148d17ade473ea1dd8584688c246030e0960356b00581f0247f26c1c0868843a4badbf387112ed2c030b0b6f95db564c21b241f96e8e5820fffffffffffffffffffffffffffffffffffffffffffffffffffc68452019008e00581f02661a86f7ca4b410daa9961b95fedbdffaae014140c56917a62e9c939f05e5820fffffffffffffffffffffffffffffffffffffffffffffffffffff314fa88df7000581f02a6699816c8a9a6270bc1c3be4af15b4d9128c3ccc6045a0d16f3067f4b705820ffffffffffffffffffffffffffffffffffffffffffffffffffc831c687fa3f3b00581f027a266b73334da5739442636ab4b9759964a92e6bbfaad1c265629e87be5b420f0300581f02208fd9ff1519ef4c5079533b5f65a7dd3dda0b603b6c3366a800af6be365470913c4c7ae42c000581f028924dc691d9fe8e9f6fd2edb37655817757c8b336e88841284442866423c46021a96539ffc00581f02d5ac58d697f6eefaaf2532d8db25b190b62c5d2fdd17a710b18802eefe9d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0293b068dafff8ef0329b6953854f5afd94f82784d942440d20a3879dbb54b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffe9433be16fff02191f6c00582003be43640facafa2e4fee5471481d56356d14e4a3826d8dd3dfe1c81e0857b405820fffffffffffffffffffffffffffffffffffffffffffffffffffe942a8bb528bf03c1270e57a9dcbb761633607059ac19cbce6ed3c1f6a2f30b85cd59ffd84d279e0058200318d9cd6a86ea23f01e82965744d21058dbfc7e29e934da6fc2e27bb5a596904601bdfa576ef30341bfe7121d5b57a3a55da50f64ef40b8617a31cdb4a6fa807bc0e18d56882fe60219ffff036bf24adf752a1519dbe6256a936fec5a91cd6f760ed4c696e95417d17edd5d2e0334121f9f88f63a71dc1a20b76fc278b16bf95b1f40d6b180014bec2f5c7729ae0329f7af99f444d00d1a1f0df755339bf788063766f3351263590c055fd2b95df803bd5acaec4a3dbd49f1ec2c7cf0e90fa48feedf4037c1c5bceb3c178eeeec9a8a035dc393088b00523f6d75ec760bcf9782ac422432473914dbcc587a363082efc603413b4bcbf05023a314975ca6722f1fbf9ce074f60f77cc3daff861292009489d03833d300ec42a819e7d0aebd26f2d64a43bcfbbb4b84b1468a6c89b087c674cfe0349198745d85f4147f1c6bb74af11591fed743ee6ae8e6498b5be8bfde48f080b0219ffff03685fb2ca65cfca5c0d72e987f52a63d9097ee94e36fdf8c5fd348c95f61149530328af129531bfcebb7bbc288a9b7408f19f5ee522a031d668564e7f2b6c9ab92203a5c5f9e9c4fa6984c6c2beb61cd9f0b9ab750fb1524188b92749f689b60f6d3f0362cd516980a7ad9734067223758b3028c0738de5ebfe6cd647e108783b4e347c03752065f2789a791d4f27af7d5ea3f351450cf2f450f81f431adcb58137864b2e03da21b9c723ac87e9f958b1c50d4e2a55e78ab2dc0bf340db25a8ea4fe4e0099f03ee1e4bdb7440479ca2521b92c1c7b5069f86b7379ebdfafe751f98f6b58f214c03a12e067b16458c05911befc9159f236378d600cab958bb8be198f9fe02f8d05203543f92138924b36f87b56489bb78baddfd5bafa64af6c6875bffb57c1b4b9998031d01b3a94e18a0094de3db072c1c25c770e4864d8a53ef746434c504ba9d28a70385fc2dbc6272ee9cdbbcf38bee62ed0f7673d605ede8e3d179bb1b27f1f3cdbe03c1d58c77d251c968e247f3859512a665db52590c86ad5fa2760b84769a713b2b038b5e4221057df120a86b70df91259a36900ad89c4e6a177046a904c3f265d2cf03eea27d5cea601daf76d0fe25e5ffc95b6ca5a969295a56f6b29e98ff4815de53005820037e78bd48f220e853ca61f25a06299a037180947e85edb346979a94640017005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03182e63f9cd517d27ae74d4d251dce0702b90ef1fec4fd42045ab4145e5b9225a03db3115e09462b7a754f723b44af3177f9ecf77a10b312b9356620dd3a0252c14037606d49dacd7a5f82e659a96272037c5b7ff58188c7731a5b12a1af115f0b25d03eb8ef97b117574bb640c6afb71856d1c2d6853bc1219e4a837d2e18cc9590b4700581f02539dfab6d6af7bf396ceafb7aad154be50b2d767a4f43017b04cb903d7f54610417c59e07700581f022984c5a2259ca6eda3f86b58ac58efaea6aee49a744dd61a3e757eb6c8b75820ffffffffffffffffffffffffffffffffffffffffffffffffffff390777e15e6a00581f023f5751edef0e4df632e8f71ef4a5bafb091ff7491cfff222fc78d0ccaa1f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffcc89068e773c0219022803e0a900018dd4d17474f19ac1a507b769d2c0779118aa63e2a558e4fa3267db6b0326b6c64ce305f88305763a3c9df2d41722d13e9b72230d3348628c950a5740eb03e62040fe236ac78b6663c4f8df2eb11754b909eb3a7179284159a3814053f0ae030d33920f67c00d39953c23a8929925520618a780f4f0d79f3d34b9d5c8fa4643005820037bcc3e5776890eff7c8a77964be31438e4f4cd4ba3dd573d2d2db6f0585b705820fffffffffffffffffffffffffffffffffffffffffffffffffffddbadd70857cd0302dd7549e4f248149e471f20d383ed0227aa68373b47f2701bd8d3217b4d368903cbb3f0e7feb4c187d0563232c81bed106f2e179ea7d6fea4845fec9dc7b7886e03126423eb099d4379fe3b06b266803a090e6919f34c4db752bbd77203fd5544c70219ffff037fe99fab787c8c24ea125eed5b3c75ce40bfdcbab38051fa8ee2e41e9026ac9a039979594d4d28a3e80f29c939c7b11a7e23b56e576db455644ed8e50e4b48257a03cc3fd5e86fc7d1bedf0c88502c9dfc5aaf2147f473d7007a9f6cd7a287ad74c7033acabc282abbc156b9cc413a931b8a0cb5dda95b30436d7ee7481ceefa21039503817593f168235f9a1b851b5efe0c1c74ec6b0d6c1b3176f777c2d1db8a8434d103afd8ee6d5a24e443fbe72900e5a412f6ac42464d5454e3211ccb0a4e75ed53cc03e41e4dab7a34cd8e06d5ee6e63012b6366843ced6dbe8db8b2dd2d72b5b3585900581f02db85b82dca17ec7cda00bb80eb9a409d305e7511ca87c9cca012933840835820ffffffffffffffffffffffffffffffffffffffffffffffffffbaa5d2095723b600581f022874d56079d1dc103ed29e77c6dc11635e378ff07d219d92e4ff1708d40c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b1396d2bd5ade6197752a94c1e4c3a289ec71cc3701d32456bbb2dd9b5d25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219140203f7194727105ea07a725966e0b6376eb5a131a4c5d724fa3edd895460d5344cab03b25877d8df2caf1d3498ec1495a82db3568c810326d46197ff8126fee3f18b530390052f08d7e2762cc407ced62ddeb86e5a26efe79fe1319bb2bf85a8a0bbe32d03e329da861766185a276f2dafbde1210260474ae3d0ef2d42e9f196a4f5fc5eda0317e81eb2bd30f5eb0ed21b011b3d52feaa8b468ec46b30b6bfe86543584f4b93035845de78f4a201c8ce9bf5b9c0e8836178f03ffbd62cea06249e4db5439ccaee031b0918b149274f8e0dd778fa9b7f61ec9bf4c05d7782641f5544d2d4043f9de1036b506c34fb3d7c5c63f15b03b674a9105d10d886b178e807038698e5b4e6857d031b79b008eb1d4d8a07a94f7ee324812cbb88a070ad474b1f75ea8ed378eb372203332f5f8c04a9e3845309b9cfacd3ccd6d0a294afbf5992d332fcb1deb9a4d7830219bfff0219ffff0219ffff05581d029d752feba4d1120c7962dc91ca332719e3bf722eaf65a536c494c0ac0f014804c2d30ebe691e29191e790219110005581e031956062e8d3c1c9d8abe730bd1e3b5a36ec27b78a8ad406d19ac20a5100c03471438a343a6260003cd29470e894e3e1ac842dcbf9d47b6b8c5b352cbc858a0e404ee67e51aedb4ee05581e03d1ebd54962e6f9e7ae5e0970f5ad12388859e2bdc763c099649266b4b0040305581e03720ddee831c4ef817e9a74b6ff2f11cd627d364e156c7a8afcdb1d1ee00c0147032dff6d12f00005581e030a568841394126075acb2d6c9ce10f439f85153c634656bb22affa26f00c03469fd253ce045805581e03eec245b770edcf49b5f2c0ede837e45471c2607b099b333fcc56729fa00c014715c4b177421a0005581e03dccd0c4a9a0b42d9e47925cae9cf524b467582d5b95e344ccbf5a375c00c02471ab81b1dea500003833b0aca44030f577683eb53e116efb2ba6d64d1e67b487b7179566b2ac8662c05581e03312ddf71a130f12b16e572c7868d63c73efebe940213b5c7bf4e288d200c0246e531527bc000031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e031b2c64328cce323d945758deb3dc63f59c7c09dff18b1d6b82eff95e1007011bffffffffffffffff0219f6d503ea6c786641b385f9af04d97d8274111cb9d25339ff7372d2903103f18f57e48b03a8eeadf7745149b2ab1e65bc95c0335bda0e732fb3ddfcdce61986eb3ff4e99303f558762356b720132101e1fef4a5e1e8e8b7f7d060dcc663a19cc6cfe01ea7b203c57f59b456b4c198df60f45231734daf75fb29b62aaf2a911932e8aed25c72570357dfa8ed6980cb34fe66dada14b5324ade1c32336bd542873103bd03be10cdad036da271dd33138378fe4d8c3d6dfa1af52c954506c6b5afbfbdc895b9595adc5e0219ffff033b957cd6b714a25b1f02b0e2dd50f485fa1386b222c1b9329920dca8fb13148f0219ffff03332aef708a01730619653ec8edeb8c3ecba10526f7f367e8924e9d7ead5de93503b702a5fd3cf7410e77cee2ffe766fd6f691b8b44d99fbd222161157e2d6e1a10035130e1989f338f1263e2b579ba8d0676e84c1cfd2e55f6842fac447adb5a604203c57e67d98fd7a92c84faba9b9b0f4b39af7469e92d320912cba7cfe79bc8172303ef232a4444047e411fae4cbd060fa645dabffca614fee781c2ca659df88131fd03eeda4f020925aa1a90c9c89ade5268740094fdd374d4e7f8537e2747199c8b0803697c199d8f05176bb436b525b78404dd6f84e4ca0466eb58cbd792330c7f3bad032f4d4f7330fc9f82d0e08b25b8c0fed2988215377245672fe5b319c93635279f03880ce4d37fbcd928e86bfea2539ad731e72071d9cb63dddfacc0c22df0b562c1036d902c905048746616d02da27bb5a36bdb91af576c206d2396852bd3e78235980219ffff034c58238c8c3f27499336abc61b0d0967b2256c04331aa7bd29886a6d4b6c9d57036bfa5ec82ad90f847ac7b1204d3722741e9b6fe1e5d627bb9f07245ce98ff12d0364889c57678439f414dad7f20b34e390507d7dfd771178f2b861afd07358973003f311510188e2ada3c74a8af101b9ead4bd3a0504f29daae9edefcfeb6d51a77f03a7f56da891bc477808aae1f3b105ab6c85d3b8b3330d1648bbbda120e74feec60356937b32f6446d7bbdca73ce8fe886b88704016e75de217db2c9ea59bea6b2d103d944e3fcf5b297e8202903666cdca1ae6b83eb59e7c811a3f28f4557c1aaad2803a90bbaf8d413fbcc2782380cda477819f26c553a80d396abfea934536d7d3d3d0316a462aa2f08942b6555be4219301e52573e458f67f1d85bff408b72bbb32ae303f6146fc9075e20f180b8750fa8de69045bdac590d4560f11bafaafedde36e79303b36aed5ea2dc0eb5753651918d41da70d607ddf8256d4d3d94f1bf265acf3b40031d44add9fe1567a119d8f9001719d4c15119e556a20202a1ede596e2fde6dbaf03ddb7d3f85ad992fab115e5bc1d990500b2919be21ef1a203fa54a06cd695296e03bd80995542dedaa5bb0188c836eea84c37c786e4ee96373a1d28f1fd08f38e40031676ce540c444d9e84389ed3a32d94fa8856f0f2f453b088d55d5be52d2156d303b5fd97547fa760824f6c91f256daa2726433aca49604cb404cf8bb457ef6589803fc3f1c5f70ac60dd51d62e6c04f8269293bcbe346ecc25ec9f7958f00e1c74a303dd32b20a1a2378a6c8e3d42c5feba1e9aa6f1cc1afa8735aee5b7fb71287453403e95eef03eef9357622956e3231188088b5e3add14d0c5529a49f33a14806da8603845a10be4af8ad2ecc7f4563971e226a2a28df490126d25622fa9214fb592c2803e9a72e57fcd6558161e2d21ddb721929e39e3bce5d4e4f376e5d05c6b5631a8d03e0f6ecedc5bff90a4d5fffc3c4ee2e943233696917e786158be6d1746e0eecf403e636bca40e8c059b367cb122cf63ab7fcd8ba7ff80aa692efd9de4c6b2373e1903fad53d103d4d129604bc9d96154de2dd56ad527e50e55adf81fc62b8dd3e044c03c8f6870f6cd0b67656bafc98564395c173a4d9ccce6a863db4535c128883dab003a589daaf166405481fc23d965c88899d7634738c3fae9468e46e3836c70ef06803c9966b098e0752f58aed49f502670312ddffdc19b841130290e078d1067f1e3303daafd4e12bcf1415ecec7ada3cacd8e34eafb5266da1703ccaffbc8cda12c5520375a566a0be69af00eea22b1afd3150ca07128edcc9eccf2e8a9854478592916305581e03af61cd4c3c5a13a4b7e7fcb890c6df9942b71a5cea9967b752b92f40200403045902c460806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e8383604051806060016040528060278152602001610268602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e09190610218565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101ac5782516101a5576001600160a01b0385163b6101a55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b6565b6101b683836101be565b949350505050565b8151156101ce5781518083602001fd5b8060405162461bcd60e51b815260040161019c9190610234565b60005b838110156102035781810151838201526020016101eb565b83811115610212576000848401525b50505050565b6000825161022a8184602087016101e8565b9190910192915050565b60208152600082518060208401526102538160408501602087016101e8565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ff8e6f2d761d58b3bd984933269e01a7ff1f70a460b808056daa4cff1ee8ab6964736f6c6343000809003303f0d03d732c5774d73b58ffa479bdf0bbd700f221f70b98c52ae1a88bacf10f3003bb011cffab60ac631c7cd2271138b9ac2bc22ae9985cfc12cbe14242a005457703e35c9c6bfb3dd6a530fa74f53783417df542fd9c2671b222c378969cb931b30c038f4721bb8bf4efebe6ad19d560b45eeec70757342a055d0d77655d4d6bf380900391afeede807c7289c9145e5e1442451146e5d655c86fd6fe1d975a06e944ff850363997a6e991ac8e22c6fbe1d366a2376b990dc012f14c9b8ea061f2032caf5c200581f02228df3e0e5d00ae4cc2af32577f011f2889ee9486f9c521c24a17ddcf5b24b01df7cc3fcc1e0a6f1af8200581f024ebc98a43b1ce571479e8c85a62ae492a4b815168d1d8bff340c8f18d4e449015b4a616c5061696d00581f0218a5efcae0be54fea59e2b50ba5f520be7063fedaa2f02270fead5368927490b6c9564596f4dfbaa00581f0252a3edf66df308a57a1a1eed2f464e1e4af886b9fcd1146fe0bfcca560ca5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219201c031078226fcdcf27aa5737813216ba42fd9f0016d37952307af793a007780e9f5e03103d2e47839d1824a2a95c3291573317306abad09c539ed3afd116379baff880034e9d4225b30a78f46f83732653913fd77888f9b02d73f09eb827f604d254b1b403586bc543e6554088d96e5a10e59ba370d479a72df0a4323d401a4a3945c09f460361ff27ee17f92ffb30556be26b1dc28b844d9b7ed09ac22c9f9c3ead63cd5434031175bfe68af048ef7f68ba67edacd6faa2f97db0d260b64993146f6f585d52030355b283528b7e043376d1145d026810b4cd2f272c4ef71b2314b7d843bc3d0b100058200360f7934cacedc23865bcd9dbbe4d50d1b7943195c946b654dbb8d65e97a0104905fd3344f57adeb9e10309dc8c00fb9c5f13aba0c87f5d3e22f985819e21d4763455115cf6e5bf05069703b459cf7adfc9c6328b65e7078684d3b9b1dacc7ee63371cba009fd78cdaa036c039ccd4ea6946d6e39849de18229142ace055c31cdc676a9c3f3d500d0518f287d037f508084e8739d6bfc0aeed16a24a8f9619fa4df428b625a5d16b7e84b2ab39c00582003b6da1974f4317f592836f1dea24efe3a662ab0e4b1a1f8a7d9413f14d9a560499b6929e683b50805de005820034aefa3480ce0da67ca6566d8e4e9c9bcbf9c4ec1fd5fc807206db606da472049e4bae90e9135ea3ea903e023b7771ea1651033690c452114e0c182f4b1695df5a14b0da5cbdf873181370219ffff03d6a2ba7b4f364b3a3b7b6c4209fcf3d1011531b139b71db84f2bb53ecffb1b8703a6acf00711f7dbef62cf381afe3720e87d0aec953072794fb5f814f6796646cc03313b65210ecf9374212a7cba2f665a483d8c5566a324b53db8ca8602b2d7fcf003afe63916205aed71b3222cc3b01f1ffc46d2ab9f50afdf6886a984122261f263031d153d39e38539dfa4dffefac006a58414cce22111d08f4e716433bc07056edc03b62d4f09e1303398e63b29c775482e3062192d5c15539add54969c3c04fd75ba0345e5dddb7822ea8d6a2bd67e6cde20321436489520ea03279d22f2f73760363c0324764e7531e0f9b6e6877e863314b90c70256227a8b94a4163396bfd25c5c84e0377da1461e42d3cb67d4045d76f0d7b5a42faee0aa91ee66658530711b8acfd6803001ef52f3f63449d66717e9df0235cdf768d1ec95156025cfc8f856a8174c44e034b3e06528a2f616880d2b1ad44da7db25e81da3c691aad9e3948d6e7a4e319e50219ffff0336ad84f9dfc5a1c801f83a2b742deb66551f984f1adf1cb53f731571ead9f9b703ce4ac24a8559bd6d6f9f51a4da14d46aacc9bcf17efa88958e6e2089f409abe20386d70dfe9ae049c4f5f3d1a3a59bc1f2c1b632b43aada907a9c035e31c4dad4a032b69321c1dbc2ba6f571e562c356fcf74dc00fb7aaf2482c388546a3a0578eba03d00ba8fe6345882557aca124737f20209f35db669fb5ebf110beaa93aecc0486032fb2dbea144d024679978699779e3f384ae03067bc2144358228b6a36df0dd8c035be1e59a3564a6509b2858ea224586348ed67e8b6faa25984ecd75d7889a5f4f031e2794846f9b628e19beb9ec646c1681a4ab9d6cef2999e7c0448cb20cd03f0c036e497b19e090670b69edb148ad017d0dfefcd2720c9efc41ff83dccefb6f9b4f039f79605df0b7a50ce68f2a9c54a2cd4e2050aae56f2fb9b44ea7280c9723805303857b9f93e0352dd85f7c30400db11bb28f26a5fc75085c17b7001e42571c0770036dfe7343242849840a345a5b88e74532645b4b520224661a88cbc9094b22e962034bc32db932fcb4f7999cedddef6212dfe40909d0937c9fddbbf74d15d33094400058200335c9b3bd698ff09de074957f158914180f755f499c7adf4bd208caebc5d5504905de2b6bab7dbd797d031f484cfd3d38d677d53727a9cc7209522d5a3902a811db465eabae4108b78ec203fb52d4b4f743010aafb8e849252bff7416a0d197516f701fc7bd543342275ab903353c6336a674b20be863400b46394d8196d4ee930bf5c9a7f88a3fc20946a10803ba4e8741dfe32e724f286e82e7bff0dea64c800a6032a5dba723df8eb1e3c498030be41a90b9aea72f7ff4583bf9ed18774d8582de635d1e23010e1fb37dab247100581f027fe836b45d60e55914d279b1ca92179a012f6cb73e48c35d8f7f17c8418a4507a07f967400581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54fc44f80c94cc129f618cb9c756000972e775cbd1020603cf76d307f43f5b047fea872e9d8ea4a8fe59897ccc52000f6b801507ad05db6e03847d7b236daa57cb37f079f617cb03b98b1a1fa49be7f2375383d75dd4c99d2203ecca668da9a6881ddb0a5f23e7c986663e474391abd3c20749965e9535c1872b03c4a254dd20e7fa4e785f71c59b827aecf70ec507004716db4ff13f73d94b055b0219feff030a48ec1b7d6513a7e77f51e833304c35cc4f2afb635e0c907ab3c95d98f2d42b03de484e025fd7abd6f505524b999a9e397611c2b774abf6fcdf4ffce162259359034395120e2165b6e6ac1898e259a584ead3927f73d651262b9e75f2cb1c41da8503081e67b4c360dff65ed369f468040d4223f90d2d9c563033f96fc868d0c3ed4d034bf27605effd27b57f51007c83898d63026b9041691b9226dac0dc19c1d3c48103fad2564a30ac6d554572e0c7472cc997cd331157703bd3fdb266463988c8908603c58f7d1b6f43e67d7d1f88015ec4f8dea686fae6b6a3caa4bf941426b1437ca003b96dfefb9cead0579bd6e6684235a961b5f3e3ec59f9c479334a2aa2cd4434f4036a982d1cdf5209e9ed80261e8e4cb7b900144d25746a4c04a70f11fa60b8ec5c031af96a5f6dfee3a7365f163a3d14ac197e5b2f47aa3b5d62195c54fe0dd269f00219ffff039d73c5ba4b7fabbf051e55dd92dbfa9336c304e5fecdd080656a53dc6eb358bd0363d7597db21bec581fc68debf404441061390fc367fbc77d42ec207c06fd912c03335ebf01ba612ec0bf108bc751677515fbed243f44e864bb93f21ffc42c491a4035481744a235f171e310151a71a9b5f5072c709c20efbeba3b3a9d792671f9570033fa39b01c79f75af8c5a5dea07f33572ecff22e017124e19b8a0ca33f3a0bd7f0303cafdd2749605a7aee8b2ec8c1c562c22193486c03de3075fd7527a4801aa39031e059eacfaab5393174d2aee90eb6c31b23f13f51cccfd0ca9e9dc85e19b29c903fb28324d65806f566222e127f0e46fcc51594e4cf1dcd6844c9c7201560d998003cbb7fdcad8e64339ed983589b6e56f43256f0b8c50ecfbfecee83948c19f60de035a59762a8f5db16c07dcf66da20dce5527913715247ade4d5d97e686dbd3a022031f9231f9d22be752522cac081c1f3999909493928b3147eb24ea4d6c1031e98503ef819fd6f1cd22c4648d847e25c969fbe93080f4613574f532256acca3add572034e49537f7e9dc5cc26e83f83b08480379a0885902744c186bfb5dfdee90ec7c603ba903f0195bf6ef1ea5bb1073abad714db950035c5ea85142d58c6a4b0cafae703a126d8ca7eab6c1aff238e8dffc1fdbb489e192be493ac399f5c0dcfda52525803cf937b2f47432e2b324afe85967ea385dbcabddfe75c740b3e103fcfff337d9203aa5172b5f21cab024a16c3d79eae7657403dd14faaddd28dcfa789435d6c9cd40317224ab943885ad01c01d501263983fa752a204fe0ba3ce3d023c1832ec26e72033125d43bbcd7973380bb47058f44e66e24e61c7de1181fcd301d97a32b6eacb903af790a99ff9a9b030faf6c6bf8ff425f1aa348c5185a3858122dada3be665c0700581f02a144c9dacd01eddbc6ccde6079b570980924e7c2bf755517527096f5ddfa4a11760568eb5dbcbdd72f03d25ab2079baa72a84d5206ea4dcdbe6d23d745cc84e9db4ca6f1057f7628442c02194001033470f909c9af44dd4817f67d30448f499e574002c83ce45917d822d010bb6e4b03bf4359bcd7ed0744f73abd788826d042a3157d3956b9016c82a8e2fb2f18ea5203c09bfb66953ffcbfe66da604b713cb1d0bc41364c7ef60bbc6bf41476b66f2800318c3b7f53fdb69d149674b1273dea453a253c7b44eebace78e002b3163a1e744031f888d5a5bbb45022794cee28adfae42b9f5655d0453b675984e100dba0ceb7103bc85309d4f18060b2a244dece95fe0983bcee7ed75dda50f048f1e09502c0ea6035b909fa3b47a94eaff2f780b7397ee9151cd833373e37ee5a3c9b6b7e73ba34200582003cc17e516a4644d320c60db1332e5cc64ebb223c8ee72413efebe013c36cb30490e04d9368a06a830e203037287fa0691af6e4dae6455d7466daa39664c4f5972da4d25d535c7129db2600366677e2c3c5d89d59b80b39023b1cc0fc8540f3481ed81734fe18bfe9b7b628903d23c4494bebac6774b4dbd0118b325fb75c6f13af5490e778da7122ae6c8a2bd030a5c7e9dc02cb876a298110115e4356a881bbba45e710038cbae6c97b986633f03c8b542b48003df15f52e81750c9d4ea73ddc675b9ed2e1d551538b39cc13847b032294f3c98d94b5d4fe55a8c6b057f56fbe11bed5bef0bdc3d5973c02c336d1050219ffff03d3ba1e319eb0de700da8d1a5e377832e40df2ab2c4686aa78e71ce941a5257d903733911a08880b4f02ad325ada11ea24e025f03bc69230a4abb4ba2da9ab511f0035f3bb9e5cb2d1ff24c677de71e79a82d9aac1ad04382e493a2570ca722333d120219ffff0219ffff05581e0370957eb689f52cf2425fac6137fcbcb90aa705e8af29fc2209dca9dfc007011902c405581e03008d4c66d087abaa2bf22afb60e0489df133d3cfa27ccce0d7c9b7b150084709d2279a9897c805581e0349044152344346a641b1842e8ce7071ea27de322e1ced42db9c6bd5fe00c0c4702912a7f03972805581e03d1bf47b352ed73f393f393fd62b1cb8cbf9fb8f0e5565399ed926dc3300c02470117d6b06be98803562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038d3d259bf2925e14c3d16fe3a597f7a3d9fdd0ed2d1da94a8d38dfb4e007011bffffffffffffffff03f49c337b811dccefeda07ed4fa979680f77ac635ed97e132e91d28d21374eca005581e033088baa0aa9f4d2052305fa31b589167026296f6911496aaccc8c64fc00403021953c503b8dfb9447ab29ead67f34c6cccf02be245b51dcd58675729d0e2121ced1856ea0219ffff031de4820a26c6e43ca01163ca1f2a8c06257439422df32ee47c84aad2dc40baaf03f442ca814e1d3e42a7d168059cc492d77538f1bda7b71eb803bd5363b64bd960031bbd5af8d2fcf17b86f2fd57b37233028a52ebd6dee1fa25a3e50dbafc0ba3fa03fe7f51269c7901457dc2a51f88d135afbacedd0aa56bdc9e89907f15158288d20219ffff03a2b288c3f489f99e9fbc68793de3dd5a602474bed5d41439d90ff45a6d00452c0333dcf0b3714cee6f2407bebc5ee3978d623f8a06c21112e3bf7ad4b1cd4f50dc03cbe73dd06a125feaab189d1c3fac24a9c20e51f27a43ea82d297a159b179aacc03abb4c0d6016205cbcfcefae5fb5ea50cd2d4b283a3a03c7919bc26329552287a037c2264be4993bf805a7e035a9220f894640846b5409f1a7b6ddac86d093dd12f03ba9b0a4fd0a60166b71ca888cdb209e144a10ea491396661b6d3e01db952d45f03c800fde1d87a58058d05e9a69d513f3ec61751988718de94daec4468d471c5f703334bf048147bc3c8d5eda628fa4e2b7da233137a09e9bd2d0968ae13b021891a03dc8479561c4b58e13eefd0fefae7a2b5943468036a14ecb43f433704645383260303071dbb5906fdd60e3f3793cd0f1c4612019151db0a430c21ba9d5a8ea4282d035aa3d5150785de378a065383c6e99fcaa54d34a18dbf48785bcb3e474161fca1031a6fc96f268cdf8409a5afd3d76950e04b629bd1c14ecdf9e514ce9c4fed6ec1033ed2d7fe66a7bb3d912ecd8e8ef51b79e550d1759f93152a1a8b28f1c647286703a33d3c3ed50965a874d739d252afe0069b6d8353ddf1d4e525967322b8f5a79903fbe4a701c0efe983660ad7caa7cee90a3c1b45ee16a2d5f75e667796f93b6f81038b89d95fcde74215b4cee473bf62ba977832e2ea3c99505e31d637c30694695e05581e0387aafd947848989648f2c48c38ab94d95be2615644b89c5b14cb7f6ae00c044727329e584eb3570314c1811cbbd2b3af2e2399efbbc145d5566e88644f8ad6b48f29b0de6335d3c4031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03a70a818564a13adb6652153ada0fdd5bf1f4f94da63b492dcaf9e428b007011bffffffffffffffff03e25d4f154acb2394ee6c18d64fb5635959ba063d57f83091ec9cf34be16224d703608a02f403f30892b8967da9ac469a8c36335336a69bfcb93089ae791d2c976f05581e035331503212364343f6be717d883932db5da5e03c0c6ce7823efe84e8100f01447807c1dc1bffffffffffffffff031bb9923cd5c240f934d10aa469719216b5085bad3872169ccced536edc22277b03da9a8dc62f6fe7e06cf36272a7824915f0fa67a577b587182bb8eb00ead29d6103ec549f9c6738e97fd8fe16864a50696530be736dbe5b3f828cc38c4201b2fae804592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c634300051000320300ee6158611a510f7de2df7a2c4767d987778493b8e3b80910c7fead461bbe3f0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304b0314681367c295c3ff27fc0058200238e9689977d526f580531775c606e5a07c1ff4f40a9ee98e4cca4fe145a2f44106005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4d1ee3c58a7621b24aae96ed610c021942000058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820215b786e4eba85d363599f0603a96206d9fe3a001a117bd4680bc44156f3ec7f005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85501f35caad949a520c0f4c9f9feebc726de77490aac02184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5ddb0000000000070559f0befd626c050001ae83e8d8cf3f7c0d940b5f490058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f546d7497751656618fc38cfb5478994a20f7e235df0218480219b44505581e038de1d31fd0732b069ae68190eee17c0c586049e31a87a9de9222e718a00701192c1d0219d3e603704520d9a7f1d0f5ab13beb574fa85de11eb7dcc7aa98226a9ccb5801f75c362034e9df35d5bc61b600725ff1e3b9edc93735eed90a4aab1d0ad00f3616160ad20031176eebd55a02d80dd05460759ea58b48d39d6536b0ac765748a7a44410fc12f039da3c4c4508ecd179fc818cfd6c02b6e5d3d1e3047f69ecd21c37da15cb7d95c03dd42b7dc543187733702e6833e939411b2197a65cb76db423d59b475efae383a0315eb189197451955857f5707b837d7f14410752a1f0df757c7cb5863a9c6693b031aad9b030037232530ffb8b896db838425e0920dc8cdab47a182e2fe28b962c10365767c107ae03dfe02656af65be9ea4c30a65e8f9dfdb46295a452d5d381cdc903849f47f6dc1cc96fbdf17126d21d912c231b751f006d336884ce515a2681f93a032727c37bcf8b59e47634a27e11ee38eff8a05f80189c6c3d26722bc37bba30ce038177696feb2dbf2967cb4103efa2d507430711a197c2a738717c5b5543008abe032508f1a148f02172830fd482ea79cac02271a388af04019d6e49921a8a889c5d03e3b6225311b88e9bb4e2e9fa7a8ca0d03d20ac765b5f7ecdb3b183f7d7cae19303ee1760c7bd18c667ed1ed1d2d7c9bf2fb21df6ec20e0ee2dc9728cce12e9fb1b03d670e0d87c493b8041d362698dafdccc6291b498bfa6d94e5dc5d570c404140f0219ffff039a5d2aa9f89477b40b38a663ee233af208c20c47eaa78bbbabc145f2904fe69103b90caeab462eef9191d70fedb72ccf5a33cfeb057ee0fd17bbc43924a95fd89b03c3311ed3314a1499699434304684b7d306fc6f1358e8cad611a2895ac6e4291803b606ff6b93ae409276455be3f976d773b4336fa3f48cebeec8e7d522e9ffc77d032b6813577f217f060dd7ddfa16d8fd1394f5ac92b0c1b82d1ce3ed2f6e7b54050345aac4665b1fe48e2030bf0b64fa6a30ae1ccafe3dc13205189dfb7f0bf87bc40219ffff03bd2694cb32c5b310f2d4aefb513da5ba5f275c0b27abf93d3bf882a711be69e0030d23013cf35ab6c493b4afe0a730271f0f060b47cd5fbf77c501601a0ee33c0e034fb730c95cb500750ebaaa3c8d558a90071672bcca746ed2947d120c748b257f03a040fa78512205ba6ff18eaa5abdf5ca13d3f9b4e4c429bcc2e21e2c53349e8b0366881b92ef17a38d30df1ac9838f627c98b1e8163b2e2a29b6acd3010a4219a503cc8caead566ef34cbb50ddfa940a73e65fb2fa76e866521de5f66c24db31c7fb0219ffff03d9b55519b797e5315c86a1d5e0016ad1e842ea70854cdc7a5ebbe42de23cbcc003b38eb34b3a786ee4b1017efc2fcf427c2d07c404fff0abf6741f6e49bb8046cd03c1c8421472d37f03793e38ef284bdf7c991240bdf558b337ffe0f08e6ce601a8036c9f1be308193b34b3ddd01e72bae54f8f6e51038bc5d84efab4f66f81881dff03efc271ea3d7457eefadbdf19248c497870a69ae82274b3d5a350c84f1a4f520d0347e116d845019b13b63c5aa50489814503be2ecd07c174a7da19c8680603856e0219ffff0302a36f628ab52e9d640e7cb391a3eff434cf0e4341d162f49bccd2b44c4bb0b103003587c617419bc12e302d3b16f937c55022a441fe4a30481c998a89a3916096035136e3e42622b613868cd96aa0c7e4323c98da1de1ed560546c7f2756617fd4d034ca12e7bac26b55935330af5a63df029c2dd40fbf4689b171439b80b90a8ca60037f33414016d9b13c4ac71e423c3e71cba79aa7caa082122986968e8f23b5365203a697b72a63a271966e9dfe2a23864ea270f540a2bab379cf39a3bd93aa410d87037e064c21fc88467bc3d98b2e207c5a9239caa44a6f716379df2e047b2a972344034040a2f0d2ecb276aa5162cbafcba1a97c183d69869835f38f6a7e44e040811503d513e437a103039a11c884991a5e286e0a4ba46a6c36ee97699f7a06b60a933603366e48ad963645d41aeb6bd2aa998af94a8ea2e34dc7da931dc7d78cce6f57260324f3834fa48f0c3c6200e795c5adcb7c015928e5c216ef5c0c66aaa726f9059103e1b7cc2779b0dcba1a0714f0168a8883c614bb2fe4d94b0627bffd1e34dfb4d303c775d1619faa8eaece8309fe0b16221b3780b0b235b3655173de3d982ac1406d03b6281bb5011b9df4f0cca91151b2f0c64912c51987f0968883dbc3098a6156d703e14a893a0ae43205ba96a517e7f39472f4ba17de9af0c8417c4a337dc5bf9a1903d477bbffc1e63c6cf00474a6d508ffeb82102107cb728347b630ef6bb59539b803e6c2f13f5f5b14c9bcd3986e6abb5353d392a44b407c8bcc356d3b8e5e48fec503ac2b910e2edcec914806742da30b4a07714c247d7e28829d737c3d2ee6780d4603c13a20485cadc18c852e784e0122aa43788020c971a1be305f72b24ff1108cd2038dc9d59c20ba92f83a268f59e91da7b8f3836e6612a3e398835f6a1792d8e228038717094955217b701a288daaeaeeca742f955477441f9d4d0c2a5d4bdd1f702e035cee59193caf9a94e6892acf835a689de0fa0381618a4e5c2db52801ada30d7c03232a5c206d73e02caa6061a499d213ca05c018b6d13269da8fab2b3fc22955ce05581e037a1f85c279c7f98561df4610a730b04cb988c111b1b04ed7261cccd1000c0146638c59f79cb805581e03c3ead12a87888bc22fea0ab0df64e92515d77b3d161b70bc09cc5f61000c0246a0f5c2b6f59005581e03046c9f3d4ae7497fbcd9c8436787e22d89f4470eb91e78eae3164859500c014701724621ff99b803a8056ebbaf6e66d7b2bf28fab0f01ae188645e048cc8978592e6c3074165230903f206c0c582f8899470e6bc71c4cd0d4aa84b9d0842ed51923916adb859e9c36803ca920e96aee288d1c06404d94d079b3600e7d1e225777cb2a19230cf8d777ba705581e0345282ce024e5a1f1cb80066b20b37773511f17c3d6752eb4ddfa0407c00c014739c4979582f20005581e0331a12155ea6f6915c60a80906e848584e720c383189b61164ad02d4ca00c014714d00380e2320005581e03c256e11838d383039f9b57482c6fa9fe1ab19da890a74c42683f750d90040205581d02b211c336002cb50805086a35c25a74a51e2bfb58e29d5390e725e7f50c02457592a8d9e804591792608060405234801561001057600080fd5b506004361061009e5760003560e01c8063aa61a9dd11610066578063aa61a9dd1461023d578063b1ea3309146102c0578063d0685e2914610339578063d4e390971461037d578063f2fde38b146103fd5761009e565b80634b3eac9a146100a3578063715018a6146100ed5780638719e226146100f75780638da5cb5b146101705780639190031b146101ba575b600080fd5b6100ab610441565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6100f5610467565b005b61016e6004803603602081101561010d57600080fd5b810190808035906020019064010000000081111561012a57600080fd5b82018360208201111561013c57600080fd5b8035906020019184602083028401116401000000008311171561015e57600080fd5b90919293919293905050506105ef565b005b6101786107a6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610223600480360360808110156101d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190803561ffff1690602001909291908035151590602001909291905050506107cf565b604051808215151515815260200191505060405180910390f35b61029f6004803603604081101561025357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b09565b60405180831515151581526020018281526020019250505060405180910390f35b610337600480360360208110156102d657600080fd5b81019080803590602001906401000000008111156102f357600080fd5b82018360208201111561030557600080fd5b8035906020019184602083028401116401000000008311171561032757600080fd5b9091929391929390505050610f4b565b005b61037b6004803603602081101561034f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611199565b005b6103bf6004803603602081101561039357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113f0565b6040518084600a8111156103cf57fe5b60ff1681526020018361ffff1661ffff16815260200182151515158152602001935050505060405180910390f35b61043f6004803603602081101561041357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506114ce565b005b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61046f6116db565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610530576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600160006105fd6116db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050600a8081111561065657fe5b81600a81111561066257fe5b148061068457506008600a81111561067657fe5b81600a81111561068257fe5b145b6106f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4c6f636b65723a204f6e6c792063616c6c2066726f6d20424c2061646d696e0081525060200191505060405180910390fd5b60008090505b838390508110156107a05760046001600086868581811061071957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083600a81111561078e57fe5b021790555080806001019150506106fc565b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006107d96116db565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461089a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561093d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4c6f636b65723a20696e76616c6964207461726765742061646472657373000081525060200191505060405180910390fd5b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160039054906101000a900460ff16156109e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061173c6021913960400191505060405180910390fd5b83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083600a811115610a4157fe5b021790555082600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160016101000a81548161ffff021916908361ffff16021790555081600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160036101000a81548160ff02191690831515021790555060019050949350505050565b600080610b146116e3565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060600160405290816000820160009054906101000a900460ff16600a811115610b7c57fe5b600a811115610b8757fe5b81526020016000820160019054906101000a900461ffff1661ffff1661ffff1681526020016000820160039054906101000a900460ff1615151515815250509050610bd06116e3565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060600160405290816000820160009054906101000a900460ff16600a811115610c3857fe5b600a811115610c4357fe5b81526020016000820160019054906101000a900461ffff1661ffff1661ffff1681526020016000820160039054906101000a900460ff16151515158152505090506003600a811115610c9157fe5b8260000151600a811115610ca157fe5b14158015610cca57506004600a811115610cb757fe5b8260000151600a811115610cc757fe5b14155b610d3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4c6f636b65723a206e6f7420616c6c6f77656420736f7572636500000000000081525060200191505060405180910390fd5b6002600a811115610d4957fe5b8160000151600a811115610d5957fe5b14158015610d8257506004600a811115610d6f57fe5b8160000151600a811115610d7f57fe5b14155b610df4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4c6f636b65723a206e6f7420616c6c6f7765642064657374696e6174696f6e0081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f3857600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f867a90787876040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015610f1f57600080fd5b505af1158015610f33573d6000803e3d6000fd5b505050505b6000808090509350935050509250929050565b600060016000610f596116db565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff169050600a80811115610fb257fe5b81600a811115610fbe57fe5b1480610fe057506008600a811115610fd257fe5b81600a811115610fde57fe5b145b611052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f4c6f636b65723a204f6e6c792063616c6c2066726f6d20424c2061646d696e0081525060200191505060405180910390fd5b60008090505b83839050811015611193576004600a81111561107057fe5b6001600086868581811061108057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16600a8111156110f357fe5b14156111865760006001600086868581811061110b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083600a81111561118057fe5b02179055505b8080600101915050611058565b50505050565b6111a16116db565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611262576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113ed578073ffffffffffffffffffffffffffffffffffffffff16638f3037ef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561133f57600080fd5b505afa158015611353573d6000803e3d6000fd5b505050506040513d602081101561136957600080fd5b81019080805190602001909291905050506113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f426164207361666574794c6f636b65720000000000000000000000000000000081525060200191505060405180910390fd5b5b50565b60008060006113fd6116e3565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060600160405290816000820160009054906101000a900460ff16600a81111561146557fe5b600a81111561147057fe5b81526020016000820160019054906101000a900461ffff1661ffff1661ffff1681526020016000820160039054906101000a900460ff1615151515815250509050806000015181602001518260400151935093509350509193909250565b6114d66116db565b73ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611597576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561161d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806117166026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b60405180606001604052806000600a8111156116fb57fe5b8152602001600061ffff168152602001600015158152509056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734c6f636b65723a2061646472657373206c6f636b206973207065726d616e656e74a2646970667358221220b769c5203a80e8e0c129cbe4b6ad8f075c580b14c47b8acf925152bff57607f064736f6c634300060600330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630544261d719869fe81341fba577c0e631c90595862000582103c7a2b0c5cb53d06e03a738013958eea359474ea09b697b4e45e34afea7d63360410400582103586467c05ecf4e8568df0cc402212db5b95e331f7cc69502164793cd36ee7580410400582103236ec89ddbac611adb30983b207aaa61340bacb0d6c6c5109108eef2e63c4140410a0219405405581d028e72da69c668c28b8ec8b0dd9bcf0f3356c27282ac2eca1827f2f5d30701191792021901080219a5be0334b96fa0327720575a2276964036bd86bb27a004ab1a9001a216fa0c0420af530351c4472f7c8f72a1fdee0299165e17f226c95824f247045c3726d0d95b4fe28c03c02c5a9d64b4d858673ec39b302dd25552de158ab41e9001cae44d27f1a844e80219ffff03ea167a5ccbde2525cbacfbcd832b14d70398ae8a11d7ab6920d2af5b23e7f1170336cbb7027d116e5743fa204be765e81db5743cf48b28be0a702b5b81e7d7215103c793b3fe68c99ec6338bffc27b04bd3ab2150aaa62597f5fc1d58fd617250ade03177405b2ce9042d4b1e8f14f1133bf56365d8b54667b2c6d7e3933497cdb8f850330784b44b31829a4aedd9f80e02d73b989622429a111c9c212a890780360d9110338d3da42161fb4436f2940974cdeadefc36d038bf328d3947e9c25bce001c0270342e73d691e27892d2f3de6cc1904e31381f4f7f073b5f343c01a9939e063b98a03489dd71237e1e57d338147cd9dabf215a9e3440e22bfd8fcdeccc8aff40251ed0307d240a1b13054393805f2963add78afd59b0e059ec15647b32813a1c98234fc0372567011a288a34f60500aeccdd5963aaf6859c9e7c72bf5543a6c72b4d81db4035340862d6781904a264bbe31e32ee8553e447583db52e5023f4c25d01b723e2403b833162f0255e27fc7ea38a163aaee1cc3ec4cb9182a706e96d63e07bd221d28034bd3e2e3c91c9d30b72fe78ff4610bee14d76e11afe9fa057e7204a983a36658036705d389b0d63d4fea6205e1b81b97e02843251a40228532a606bde387f63f76033a4acaab3e79bb15aa5915601a701f4c93151e68a2e8884f3a6a6ed1b25b54b90219ffff0368e14c0c33f521d995eb182c3e25bf89adfae6e63a6807ea8fd2981bc3b53dac03c9efd507884f2f3211dd605310141a6f2ec0e7a177a34008146088d3a591265d0393c05849d13b7b9e9749c931fd23cfc6cf8a1e42a65f58c0d648ecf8cd1c45ed03377ee9fea1469948935771af5d6cc5ca833a4ef706e4ba5d23966d50c502e4e303f0d489e75707d58a6754795c7199d84ed011f27a0fc32ab419a69b883af647b40300f990adbc7a52138c3561ae9006144fb3581c842204b2c6345eeac3603440ec0219ffff03359b30a04c8bb95af8399a0ee9c260cea3007df3fd9facb43eed03dae3f5990c03fc10a976fdfbb568decb8d4846ad10e75938cf469ee5e3ecba9419e7192475dc0376d121c422ceea85499ad30cbbcb0a83e5b6f1ce8ed1517e3541748c28c289e20328c99d3605c58101314e377322ca2335d59a7260b9c5907e8c7ddd1becc36f4a03c17a7ddfadcc561dfe8c513fdd5d300c208fa79962208254d291795955cf5d4a038727720c45c41ab8f32e5c104dc4541ed696ea884a801903ad06007efdfa24d103b9a1b637adce98dac733ea60c3489e7dd924bcb9070226dc05bc207ccc45d4ed0352029fd5e0ec05068597ca6dccff487067ba8a85d6a9f58050ac82fa45607b2203db4eed471e57ee90bcc4a919258df6ee455c488021a11311ca33d71d173a259903a944c1335d2102932a4f74fbca6204077a6811f72ac2537093b980e468b3560803a747a0d732677ea4f1efadc980861c1abddc60cacd5ba152cfbfdf0346d87e6c030de20b158fc06dc0d0eaec790c39efa6a956d61e595deed6ecfe08f5c1f5deea03779242e36e9e78324a67d6d32006227593c7f2ac02567a01e01a1c362cbb58d00219ffff03cccd77736756d04ca2463b7350ff6a1199cca7ea7e69a5f7b1e52b1596d126c803833b4a4e436dd268ccee5d02d6a3ee01697507c5651ad85ca12bf009bed7c5130365d574b466f2fb4ce2c34647b0e7fe6e988f72684359e5c02055d79f9fe4ed130397c8b1763fabee0eb6c75c0553f12d7a95f8eed7e91f78250ca6ab18fea6bd6f0383c468016fe9a11c2161447aac454e118f98c1bd848db11fdf92ab0b8ff40b4103dd01df9156c7ef0d38cbb701122dbd1bc007659573734c28f3bdcccbb786e6f903a0252ccef2c35787d05310e3e01b67ce2c86a5f5ee3e8a5b3b8a7407839074ea03fbf2fa4f9bf7fb3e5fd3390efd718a5612fb1862e8a2919ef7cbe2e3befe6f470304536679701c952d74d800c5779e99dfae846eda59e786d3d2db75d3ffb71d3203ece261737f9cc2c3785573495a7ed917d34edbc876c4423eee84df3a232285b503484935fb1d19cad248f0601bf1c7e418bbcf5cb3ed65e96fa10ac365df1b19e30347bf60443e97f453b0746af225e2fe773b0a3db5913fe9ca143ee678736d9632032d42a8c4279117caffc7969c5959ef1ff3c5477bc8b72b77401f98c258191daa039340a7c0d4a86e5790407a45697ba30ac795df105980519e50c5a45f16df5805038847c4cee238bc7224d819bc0b90f039441dd8b6c20e16ef4ba5d4a549d1bacc03659d9a55b739e9186baa52787e32a589b80561987e17321d6c9ded56098f17b8039a2e67294d0c0de65062c846ee13b097c89aa9ce9a9f4c0e8b76edf79de50475032d3a981e5fc1f74c751f0cdbbb3cd5b2456e707838c3fdf4f417707374dd75a503626f9ed5a4a8160c8064f49398bb89aa7dc09393273f5234798b15bccc1f5edd0347c36d927fd0360f7196f7c12a5cf6acfb117d79003e934204afda787adfeeb1032189dc55c8cd0547e17e4ed072f6c5d7bf4c221f296925369703baf7a9de41cd03a4d49ce1b5ec53438953751c54523e085164a7a0ae03e3c0e8d596b88c898a94036edafb7426751602a1553712ba463c6f08c7fa99f7e9421370af7a6254553d6b037ba2b504a7f37fe4fbb6a01a65a948ca1f2dc6af7d411b5b5719233a0a64e03a03b5545521799ca182c7873a21d7411c08c23a340fd356367750d2fb0f8d52f3cf036b6c945653abdf5871f6bcf008aa3234b5979a2bae400a4fc3992f9d384a66920360bd530e25d3fb0b09e40fc68905aef48bf856ee56432674e95a8039c9ade349032db5ad8d552709510a7c87b684a7ee2efc8a43908d784698155b5c84e2afaa3b0339abee83fc5af504b3fcec82b83cc0fc2674eb1a0ec39a85313bff1fde5ac47903d12bd4c5b73f8b55f098110f95b3a7ec69ec1707b33b725fe0fbcf3a1a7e4c85035d6e07e6feb9f396d073c36703bd8a41c39578162b528714b5aeccb4dde35da7034091dfa37a0ece696071ad8c0d7ecba6f9b71e7830bf56a10e1f231526c1f19503cbd5c6c65cdaa07a6c6ccd4b2203cc1a751e928f7161682214adbc65afedd165033ad4bd2e67cf8702ff4d7a47697168fd17291f98951b3ff1d5f155aa42a9d96c04592377608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610acb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610af9565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b23565b604080519115158252519081900360200190f35b610339610b3a565b604080516001600160a01b039092168252519081900360200190f35b61035d610b49565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b4f565b61035d610be3565b6103b5610c07565b6040805160ff9092168252519081900360200190f35b61035d610c0c565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c12565b61035d610c96565b61035d610c9c565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610ca2565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b031661111e565b61035d611130565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316611136565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316611148565b6040805192835260208301919091528051918290030190f35b6102446114dc565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356114fb565b61035d611508565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b031661150e565b610339611680565b61033961168f565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561169e565b61035d600480360360408110156105a357600080fd5b506001600160a01b03813581169160200135166118a0565b61023a6118bd565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806122886025913960400191505060405180910390fd5b600080610667610af9565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806122d16021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d611a1f565b891561077057610770818a8c611a1f565b861561082257886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561086857600080fd5b505afa15801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b5051925060009150506001600160701b0385168a9003831161092b57600061093a565b89856001600160701b03160383035b9050600089856001600160701b0316038311610957576000610966565b89856001600160701b03160383035b905060008211806109775750600081115b6109b25760405162461bcd60e51b81526004018080602001828103825260248152602001806122ad6024913960400191505060405180910390fd5b60006109d46109c2846003611bb9565b6109ce876103e8611bb9565b90611c1c565b905060006109e66109c2846003611bb9565b9050610a0b620f4240610a056001600160701b038b8116908b16611bb9565b90611bb9565b610a158383611bb9565b1015610a57576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a6584848888611c6c565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280601281526020017129bab9b434a9bbb0b8102628102a37b5b2b760711b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b30338484611e2b565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bce576001600160a01b0384166000908152600260209081526040808320338452909152902054610ba99083611c1c565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610bd9848484611e8d565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c68576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610cef576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610cff610af9565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d5357600080fd5b505afa158015610d67573d6000803e3d6000fd5b505050506040513d6020811015610d7d57600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d6020811015610dfa57600080fd5b505190506000610e13836001600160701b038716611c1c565b90506000610e2a836001600160701b038716611c1c565b90506000610e388787611f3b565b6000549091508061100f5760055460408051637cd07e4760e01b815290516000926001600160a01b031691637cd07e47916004808301926020929190829003018186803b158015610e8857600080fd5b505afa158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b50519050336001600160a01b0382161415610f8d57806001600160a01b03166340dc0e376040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0057600080fd5b505afa158015610f14573d6000803e3d6000fd5b505050506040513d6020811015610f2a57600080fd5b505199508915801590610f3f57506000198a14155b610f88576040805162461bcd60e51b81526020600482015260156024820152744261642064657369726564206c697175696469747960581b604482015290519081900360640190fd5b611009565b6001600160a01b03811615610fe2576040805162461bcd60e51b815260206004820152601660248201527526bab9ba103737ba103430bb329036b4b3b930ba37b960511b604482015290519081900360640190fd5b610ffa6103e86109ce610ff58888611bb9565b61207b565b995061100960006103e86120cd565b50611052565b61104f6001600160701b0389166110268684611bb9565b8161102d57fe5b046001600160701b0389166110428685611bb9565b8161104957fe5b04612157565b98505b600089116110915760405162461bcd60e51b815260040180806020018281038252602881526020018061231a6028913960400191505060405180910390fd5b61109b8a8a6120cd565b6110a786868a8a611c6c565b81156110d1576008546110cd906001600160701b0380821691600160701b900416611bb9565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c54600114611196576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c819055806111a6610af9565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d602081101561122c57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561127a57600080fd5b505afa15801561128e573d6000803e3d6000fd5b505050506040513d60208110156112a457600080fd5b5051306000908152600160205260408120549192506112c38888611f3b565b600054909150806112d48487611bb9565b816112db57fe5b049a50806112e98486611bb9565b816112f057fe5b04995060008b118015611303575060008a115b61133e5760405162461bcd60e51b81526004018080602001828103825260288152602001806122f26028913960400191505060405180910390fd5b611348308461216f565b611353878d8d611a1f565b61135e868d8c611a1f565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b1580156113a457600080fd5b505afa1580156113b8573d6000803e3d6000fd5b505050506040513d60208110156113ce57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561141a57600080fd5b505afa15801561142e573d6000803e3d6000fd5b505050506040513d602081101561144457600080fd5b5051935061145485858b8b611c6c565b811561147e5760085461147a906001600160701b0380821691600160701b900416611bb9565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060038152602001620534c560ec1b81525081565b6000610b30338484611e8d565b6103e881565b600c54600114611559576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b03948516949093169261160292859287926115fd926001600160701b03169185916370a0823191602480820192602092909190829003018186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d60208110156115f557600080fd5b505190611c1c565b611a1f565b61167681846115fd6008600e9054906101000a90046001600160701b03166001600160701b0316856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156115cb57600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156116e8576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611803573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906118395750886001600160a01b0316816001600160a01b0316145b61188a576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611895898989611e2b565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611908576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b81523060048201529051611a18926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b505050506040513d60208110156119fa57600080fd5b50516008546001600160701b0380821691600160701b900416611c6c565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b60208310611acc5780518252601f199092019160209182019101611aad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b2e576040519150601f19603f3d011682016040523d82523d6000602084013e611b33565b606091505b5091509150818015611b61575080511580611b615750808060200190516020811015611b5e57600080fd5b50515b611bb2576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611bd457505080820282828281611bd157fe5b04145b610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b34576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611c8a57506001600160701b038311155b611cd1576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611d0157506001600160701b03841615155b8015611d1557506001600160701b03831615155b15611d80578063ffffffff16611d3d85611d2e86612201565b6001600160e01b031690612213565b600980546001600160e01b03929092169290920201905563ffffffff8116611d6884611d2e87612201565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611eb09082611c1c565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611edf9082612238565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8c57600080fd5b505afa158015611fa0573d6000803e3d6000fd5b505050506040513d6020811015611fb657600080fd5b5051600b546001600160a01b038216158015945091925090612067578015612062576000611ff3610ff56001600160701b03888116908816611bb9565b905060006120008361207b565b90508082111561205f5760006120226120198484611c1c565b60005490611bb9565b9050600061203b83612035866005611bb9565b90612238565b9050600081838161204857fe5b049050801561205b5761205b87826120cd565b5050505b50505b612073565b8015612073576000600b555b505092915050565b600060038211156120be575080600160028204015b818110156120b8578091506002818285816120a757fe5b0401816120b057fe5b049050612090565b506120c8565b81156120c8575060015b919050565b6000546120da9082612238565b60009081556001600160a01b0383168152600160205260409020546120ff9082612238565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106121665781612168565b825b9392505050565b6001600160a01b0382166000908152600160205260409020546121929082611c1c565b6001600160a01b038316600090815260016020526040812091909155546121b99082611c1c565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161223057fe5b049392505050565b80820182811015610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a2646970667358221220713a8bf21df06433f34b5c9abf186abb737e72524583bdf420105a289791e24864736f6c634300060c003303be114ed438077a4d81b8569fb8137d220075effec913c90e44bdf63ac8f1f72b03033b4e5733f6702ad61bece05245a5ae2aa4eebad72d6fdef438a2d39be5511403fd8d1775622b24ef1777b78d18a45e71514abe89eab3e522f5a41d4a4cb5e4c9032c38ebd2f66c9c28a2e06db3ff097c01c88cf445d240d67bf5934f6f3651fa3c036d5af011d27cbb4c5312157a4092753402956476f43b5a2761a81f17c5a04fe203cbc2fedf620fb2dfed6c60a27507f8439df593edaf78af6cd00f96f634c879fd037b0b01b6dc7e05f12d3b2be1d43f95ee8d8fc78f3dda21c7d15f6237b1cb2fac03594633d250baf842da414e353a48acaa01550fd3f3952bad38dd33d177edf4e003e858c1961faff2be1f9a365b87779be671b72c2bc874fcbc7d8ac8011388f3a4034c58ce5ae75144437db155f0b188a5c66a59d2899317aa8d3ed2c7284c42e4650318c95785b8bd5cf46b59b158e920b304d1d419ee5f7e3e10dc769ca17f67f37e0335e843e4ff3531b82c440bf88a732b4069acc898a7939d6ca33759242555a712033aa8949db5d7021c6740ece953dcaa56cc11599a1aa6c0ced70fd33431708e530310c3a1432ef3d32653153012dc6ffd707f575e4aa8968cc29ccd231cf5f0ac2b03a61e0e0689660953bb94015c945622fce0c85db29bb9b56db341a586d15c6fb90317dabd55c2a1766ce364dae41d21e1db17e47d7c133025b825b3e6a3a68981f903040b0ad986930a0cb57846e3b17782c6d3f4bb91682cdca564673e01e46eaac203601e402f9bfc5add505ca1f5ba7603aee50ebee43639f685fdec2ad892e9942803cdcaf583861b5faa4266081985c0e78d4685ec534c98444e5965c6ad12b47d40036ce8e7883e7f7c65406528d8dd423b44c07f32fbd2d53494f92377fe6e8a4b6c03cf8e4fa2f49c6d582cbb09667ce20a6f40844badb79957bbe15749ad117aa2be00581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4e388ea9239d2432c8b77abf428d1300581f021c76e71c24a581b36e65eeb43886c3909fae850d706c35e826416cc719515820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02e9990b2bc2c92a5e109ce03d38c68c6772842d0653e95a17607c705243635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219206003bbc160da926e4832b11f093ec567562beafa3ec63f38be8d1b1ecc067422ae67031b908a9c886dc6c852d3f62718100e1d304464222b9c2b923d0184b13d2e8e7c014102036ce874a710d81815dd84db096de8d9e263fb4e9aef862b23ace01a37a60511c400582003ef7440dd401cd16583119d820f4ff3d083d8cac4bbd24197fefeb13340f6d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03439011762aa23e818cd3bb5a42234ad27b8fa195c3890c8125ccc4ee2d08b8c5035c850c8fc950d6e33f5ab37a6fa892ca0113e5db757f18218f29531c95b0c7f603fffba9ffb2d8ded5b6d052144adcd4753a14f63fa3ef5a34154b8614c5edff5603cca93b31014d6c572fc6c740d0b53eeca4c1a027b114845dd121e5158e5e5bba03e371883016946b9570d7c8c4726b4290e5bae25be511c186d3e759afadfbb76d0376a89d168f5161deef4fb916d99f92ee821a75a342f5217597ab5cc823747fe1039bff0712ecf1688d3e377b44c4b4981c32fb63d2b787314cba67ae44767118de0219ff3b0303e04dfb1502d67d424a117773114789804e55c1d26d9c41586ee31c5131d9560219ffff0343fd307fda871097633137553fb8baa8b247ca73e433f90c4f1be2f8de9dce3b031775085c0bd80f9eeeb5d431f6e6fd6689ad31f7ed23b94c5eb2f28e7ca868be038458bde7598f0a015d37628a27d02350fc83e02292f8470b550207dbb2c2010e03c06e6f026af2ea374aea555dbcd7db67a6fc27f692791f7f346001a7283ef1e703376b8edf3dbb9b2d244e9eb49b22051f6e763bda2cb12f7ede52519c3431979703858603ab3fb7418d57a5974a57c6f25de120ae5aad8e1b78a71ea1a1614183be036e532591f33211d3658041add9adaae21775cf5ea2ff075abe99c42d362c7b3403bc89ceb5526ce7b81ed3628f56bec5a2d860ab229af404411f5baded08852e5f03711bb1d1dac88fc355506944e305678a0c66b854e9b9bc3591b0bb5a8eae462500582003e607ac9faa9b642c750a65b55b5c89d90196dd2011fe358134696c830a56004101032d4aab688564c6788a5771fe3fee551e476a62f2f815b5a90f0ba8460a4ce7de03550ae93fb550258e65e7efc42d06449dbf7bc220aff593a7916cc388b849d93d03432e2676d8e5ce6be0a848d76fca5d659a443005267adbf093dba5f3b36c7a5701410103b9c95e744fbdd29ecc21e1e65adfc5774e496174d39cb381782d868a347bd32803d5fc206864f85c2b2ccb769ecf5b030cf6347e1bdb2133d3390bd20b8117f9b10330a95f150b206992ba80cc0569de06e50029af645597b8be0b50360aa93d05c301410600581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854dac17f958d2ee523a2206206994597c13d831ec702191040033a725fdd87c20d98fba78fd97d75b4684fd36f8ab1fe51ff9e62dee54b480b38038c86b89eebdeb6562013ae4e69c13306e1572bcfb67d20a5d30e116690d5f8ba034eeac19df79868691d25ab63fe728998818b85d85ac18839eb1ee396be4cb26203363e6d202ec3391bb405c06a3c582dc838284cad3b48f020b08b0d4e370984f3038d684318c48513543cf770c4a9de18bbac979664f731d2976cda4f1530d6a42600582003ae9cc56dd229ff32d332e8432b6645bd4b4c0109db4000d953ee8c0cbbeb505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ddb0d45e21f6471f686a15999391c5e47c3d2774fceb1f5317cdbc87de1e427700582003d943570dcf4783440409dcb9a03f39756928bc4626da8991da17d3cc0fe3705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219efff033653ccfae074d5195c451a21b071f5e317f9c45244fe70f3b433efdf2e69522503348a2095c3173b264cb191593bf77734b70ecaeccc9a09741eab011877ff54f203a1ff177ceabee10368e0fca51e19369edc8cd32de2ba009c211f41ae36e937fd033f5a4767e0678273d8c5c5c613b1db1dddf8469fc3cf2246f5be5cd24ab334d103315374b4420652d14b1b2544a9bb00b907d11b98bdd65c18d131af492df90df703b9eb532dfd4152738366090acfd057a34381b2dfec8f7c701aff6e785bb58ee2037a38436da6c9846f1536f121456cd4e6b434e4a028f9cb48b8a96cbde3f0a074032cefa3b6773c36d41d94e85d4da18c70fb7a48fefb1a24d6e689016ae8d501d2035a8ec5fe6368d3b294a74c8144bb9029f8a33c9677ab774e22934f151f6dadea0219ffff03c84988a6d066ea188f884c1c878ee4710857be33e69605464cee203a878fba5a0382ee2d9e2f2bb3279e7da81d8e0ee51a3b609478c29ec133dee361af9301e27603ccbda05a2ced60d0461b6898a32d1e43c017967af14a19e46fe91e1f86753c9603fb270601a93d99b51d7ad29b76e740da9b7a2097b57db553880e64ed1861c82a0304d1d24cfd4234700a4eaa75b6a8656d4e3e9138b4ee4ae6eafedc49a3a6d0f503d4dd2529efe50297c2565a31a305df60d6a061bff30c1c826453f047bb428e5203177ed0fc8fb429e17018cf178ae748e3a5cdf588269721d8c13f379cd6e6b93203cb0870763abf6c2e12c49a3d86090eb04fa5e6e2174ff978ca3b90c38b494b9b03c142d524208c3406fda0587bfd774152df3e1d56d9870ce761221054655c621100582003caf6e69de0503109ca87e3dbce1eda1b0794a8fb399ce54f818b4b67da1fd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036a5d5f455375bfa54f542afcf1dd7ce304522229e194df4a690147bd1315cb6200582003faff1d126ff9fb3c46b22d9f8efcb6f2e3dd4fa9ae6a92539e07403034e4005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b60953c57b62175847f6cab1fcb064e4c5c9a67c1f8a9348cc3b8798e9c45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f022adf39150ce2ad462d2115d63093ff4fa3fd01492863c467c622bd9152155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02144f5cfca916931dc6f6c8a44cb3e3aab9b157f9ca88f0b7ab507485cb1f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a856010436da97f78289173ea1c23ccaea49fb7266b52834032d17f245bd37e1bd7b5aa83ff15314f9fcaac51911de21e1494ef2d068a65ccf0219148603eb3e617e66f02596c478a2ec6d4704a427601412cf852655ff37803f11f94a8403555086b0a45b2558633cbf20deec33ffcaa806154f00332b8c249bee79d36d980058200368f157e437e37ff25daa42d2029d2376065138b77a50b2a9bf367fb76cb7d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e0fb8bbe81e11a9d54d668a0e44ab670d896e48beb54b2dbc3599a2b0932e0f50374e410cd49e6da816fbe69e0db45155bdd69ca1d927d5e48714d1ada9878f8e103d8490f85dd3ec9ab092a64b21d396eaaef8c529c1710dedc99aae61e195904f4005820030e551a78e3ff2e18ac20845db96d0d7750dd3d0b7f88af01e72a43b9dc50405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c0bb5eddf45c871f9ecafa1905e828b7907f0d79161f6f166c95b645679680410103272ee1ce51cefe90cdb2e8614b3483cb81ebb1a25c220f153454e1e6531fcecf0219fdff0349716eb7789f7439dfe2d29fa4ae5d63c90b7f290c30bf9965df45746c6ae44b03150e05186049cfe1e69fdd5e2c56f67d3ad8d53f2850dc0c2cae48e7aa80aeaf03307ffb9abcf670ab74d14142ac41b353fe84ed39cba5cef77616b90930c9913b032f3319c15e2657ebe7f2a60528d5a6f8697e10b3627a2efc7b50bdff8f2069bb03334236b3a6342eb8e92c38dd86566ccb22be82b26ecf89620ce6c180aab463e3034eca2bd14663b04cb5d2e180ee48fbf8708c2920a623a01aafcbaa89ac8a2cee030ada640a9b9c1402686ebe8246d673db5a2096f84d6bfd892f8d3d331c737e1803e832e39465fd0d40b8664c6cdb19c51906cb6472c7685973f211ffc7f10284f8036309f29f9a383f43ec6a57273d26ab0ee9bab93fd66a8c737ab80c6a5496db8b0219ffff03f7dd4e54a995a4314b375b579b229a0b7176c5f741d441a415fc89038147606203d1205bd6fdb67fc21c39c59acbe4817d1bc7c61ca8413407a35b9958927a401103344c2c3707288407823870d42d024ec3dd166fc65ff68c8cd274fc0717596ea203dc45737ed19280f5f859bd33c0df4b19a8adde04f875de484bf227d4abc8cfc203f87ad749470b9ce7d2fe8e00fc20491c12d1e16f2e494ba3860acf49e8cc294c0345393499fb1fbe877640a21673cc8fde1ce29e3c327a6f74f0bdf9ddd1c9b78103943b8b3e04581e33f3fae7174d8cf1c2f95c7944e1ef7b38cbb522c6115d7ecd0379a5dc94e04c99a90a00f64daf2333c8b93fa8b7f35096f94746d0a852aa23c903f943fda53d09ed2823622b3e0d48121bdba20adef312eaf5cb67e4099eef4644035130c872ce02fa72a49cb66a796037d5d3ed5b27b8d77c9d860379d121ac618c0352e1f8d6e7ad5e4bfe156b58f35bbf66761272147a0ebf94d5d60ab3c626647c0312516cd4ad256bca8343d5ea935af17fc98025d02f776d45af0717bcfd160ffc033d06c951a45376c39a8d0275c9f0b33a36eaa834a293e5d1459b09462695380703e1743d64c68a2c9f0e9a10b16adc2647a36cbec1c25bc7407492603e653ff0cc033e8c57c0a094a5b3f21a69bc59b961d7dda3f013187b50cc87d9e424302607e503cbe098a8d42d2f5bbfcfa0b371523601f44f4e8c2f3a66b4f1d66ff43856f85b0352b93844e444c824888367e0a1a8527798c043c815baff22243e51d0c530fe8903094b6c9a3010f8ccb2d0709bb547f4949069310f6167dc81958a0ca0dd8e28e403914a31e2d0e12728f1db1cac58bd6444f58a22c1abbe3937513b59b30501f2fc0058200365b8dede8bdcb456c09023d16d2df4780c17b1863b5dcfe9f5dba317196e60410103a11d185841fb9ea4a4910dd07eadd80877b899cc52c241abc69c389686590fe200581f026d4c7f1c610e28622549077b0fcd5efa6541ad7b336740d14092d9fb0a615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02eeb4ae38ce011365ffbba77cc0e18a4be8cf316f8167dd9359e60b16f9c35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410102190228005820030744e543f66e4d1b1a20dd892d01cea4cbfdae080efeebdf64ec79ff46a5f0410103152ee41472e89ee6d24fb6fd7154f311a211b9eb130241c773c9f9b0555dd39003ccba5fa3ab7631293a343931159387a8203ca20abecf15b218eb0d47da95630501410103f5bb8b41aac8d7112e2136af5f63a9d1fec0819e009e4bb225902c8784288bbe005820032b60dee99e5c22d32e29405ccad8b40921f445fafa3415d21db321bab29a104101032235aa5d375c56aafcb6ded117fa214a3b624f7366e39f409dbc1ebebee5af7200582003b578c648460a93a5e21b9c856f9941e40a6d002a13c7c5004033e2ff467f504101031e0ed8ce77184c2fefe046b545d2333973719ca5d54e4a76e9a4f8322b93a5700360acc804ddd93d45934d1e4e79f56b3450e93ad6ae79f474644b55e10446d5170141090219ffff0219ffff0333d4b8cdf6b36cc63aac634b3881d651b0050a4c7deeaadcb34eec397fad0c7c033ccf25e5fab3ed03f29f875bf6e32dd19c94ba03ef51ac7779470521b63660bb03177dd54ee75ad0a0d353d775296eb981e165f34ba46147fd94c70eff55774b8c037bf4698de38c1c4c743c17b66305e430eef21538986d6ea8633c760af069e67e00582003e0997c7c867d4b416049c36f1d7ac8277100425d4079c036b1e914f37bcac05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f19e59d1e7ba329198696dfb5aff8071d9944b97aa90c660ce30855babb45c5103460947a6cdcddf9cb9be6f0ed3ba6cbf5ed2a144a78c66b1dc977be322463708032453706c5c35efd7a585700325ab8b3009ff6d1e4ca01d76c7a75cea4e7ca83100582003ba1d5c51ee7a05ebca19b89db50171db3634ce0f83b97f35a46ed66c8279805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0303b27c906d7de8c2797868cc987579d911c4097606ce7fdc674e704c6f62ff00038e46400d995443d5b95744d0ff0d9d6b7e876ea253c20e3853e20f180118fd340322e1ec63ad3e95af26fb554616450ec75e505fba3a566efe3bf4c1ba2c21e161035819ca25484e8517831d6d4793f0802e9051b12feaeacdb081d6e8d4deafb54103ee91dbc86659f4b3faf8ea683976729ef2f4ab6bf9f424bca674c26108d11adf034db9fda4e48eb12bbde81e265d452def50079cb1220db7c6d1c8138e1d61cd7403871939f5833dc1d082a5c010b399e3fa8550e1d2906890cd24c64d6ee028b2eb036817d4bed0fb2b2334874c579c1fba973af5cfc0d31de845b382adc4780f14fc036e365567dcabea11c7a311bb6e2b3ec2b20103daff50b7164f077adecfa6109403e76dc73ddb20d5886fc20b11c0ee27336543d3724ae46132d316316a4c74359c00581f02f2d9055761045f3d07a26ea1609d847357b0c326b756d14acbb4cae2f5ac5407f8777d616d18748fa876dd30044407bf67ae4600581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5d030000000000000000080eb42280040000000000a9373032be3db0a05d00581f024e68bd24774c923b89b16620d6b6729e36891c6f3628896c91dd3b6ae1565820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021908880219ffff03f5105570c070b65312c35c6e339e3e17dba6d3e8b3d9f8ebeec1e370b863399d03ce0acfeead2ba56f62b19004ba860ff467847866052f0c81dddbeaae3034505903c895dcb4a10e736e07a7b0c2d8c17c50a4cce3b3563f141e3a483b3773b00ae0030e3d4f501d6f280b546114b948ce997d79e8043f8f188600d94e2e87753fc1d103bb4916bb6fca26b7f002b25e607e72eb1722380ae2b72d23236753f8409811f703fc3c88b9d8d299c0342ead1597098e45874bf48b5d01dea912ee53b2c052b8cf03a52354bd8fd527100391a36e32603046895f7420e0b312f17aa0846ba441a9ae00581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200581f029bd781c72a5d9baacdf1ad5e0904271c0ac9f18244a9a531c8463c2b2dbb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ddb474855b5ddec4a46f02d456356f336e15d44bea19df0f13e82671dd26410100581f0283a257cba2f1a77f0ec326a1af5dc2c99120a99b8c8a12643fff7b53a4ac41010219160403e9859550b3ee4dc96811a311c03eb070bdd6c8fd61b31d38837f45d4fe9a5af2037a44e691a7513984be0729c5e5de70f8c4ec2c7c239b261b80264699516b1f4c0362b721535183768cd9b3f40c3bbf1eef7001fdf2ad804d6156d844583c59ac3603b6ff6217238db97be2cdab219cdc0a523c18fe8838829560fbbdced32188f82e03e070830c62d716065907ad311e5364dc485363605dd64f81c4cde9c41ee964c000582003458aab4ac80577ef08065b34856b1544dcb49c9cb543baae04ac18424480f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200338c14291d5af307ae0bd5492dd70a356f4b7245d14f36a47615757c4c60f305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003bf482f5ac58e760a2ee6f7111a2db8c3467857415b736520c4c4bcd6eb80105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0323fd113d9ea4f7589dc781d01ed907d7eadd903d367416681c0908417375501f0141030219dfff030b2fb8dfe04cd10d7fa076af317d3dd5661fc39437f7e4cd7d334338172202840321104df9db10bbd3b4e4e6f45a1efdf79e785600af67b6ba731f13f9ff9325c1037c14dfa1629aca6e2aeff111ec8dbf5ab364460688d7060ca41e5144da951ab1036eb0766a5811e06ee9b877fdc8c69218690834b3bdcd880b0b31285c66ff2fdf039c6029d31d9b51cf98702894c26c4e1956328581bfbb0dba06654b6adcf08a310393c042ea65143e4c169ddc2a710bbf412dfe16c7f1ace41c277b443ed2515534034e1b343b9367b2b8963e0607a0346d15a8b9a583b814976443bad8a565203f7b03cb15c0920576c4eccf625c8bdb0055100a01d624a87560e4274cfda65f243f7303ed57a595ba489341f7fd5b7005e5a2d78668bc31176b7ec12e4af61f1c4a99640219ffff0219ffff05581d023526c3219af9133f3c181426dcbf6473055efc61afbbdbfde393278f070119237705581d02d71ec7a1963a3651b72f40d4aaf32c863c4222f277af9091534c4b3a0c1547619bb16103d4bd0219082003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03b56da127fc7dfdc3b5412ae63c9e20b5cdea6b6fc2df3776f0d3f2f09007011bffffffffffffffff039faf1103c8730d1d7d7c49243698b2cc948e9e92b2ca7be0f8cbd1e4530abdc30605581e0363db547b2a8de8adcb9abba124b4ca91ad7ed6edc953e0ecab1029a1d007011bffffffffffffffff05581e034d231ffff822778c6665688fa9ddca87e3c94cb9492a2e3d1ced75a4900c0947033937645e060003a8b5881fab370901f960f4211dba1112636e7d51e5490bcf6095fb3f8a2e43830605581e03270e99fed7db73fd1568ac6f09b639ebd6cc0bf5fb2897ea1e652bd95007011bffffffffffffffff03127b0f6850ca86ff354cc813cd24f41245fddc737e4847be67b30f677ccba0ce0312662ffd660cde78d360db1a3f22f198ddf5370fef36137849ac53cecc498e3b05581e03ca2c498b595cab9ca5e42952abff784ec65199a8a58f3730ce4b183b2008488ac39585e521800005581e033f54e9cdb397bb83b8dc4e624eeb21bd9bad176044c5c5f11d68b2bf4004010219c6da0375fdc85b93e667fad73ca4ec43ff6ed7ab63fd6bbda8f33309ba6d776058420c03f936a9a9ad3ba4271d55b4737655e2ebd7d970c6e3a8a13f7083660b04240641031e4c0ecf06b2bca5ccd9f4bc002724cf518f1349592e3fa68a3526e4092fa4cb03c1fc43a62ca6dc4107edafc9db83d826f17f76e2637e980a3d413614547d1183037611da72379587ab806246853affb03caf93001c70efe41f8b4fb7cd38f630f503833192dd15a55e1647b5abeb1a431a7cf72b5300426e2cb29bf1b701542bdde20219ffff030b23d9ac8053fd49fe9ea2bac7d4303635cf2495fef510df7fcac8581742d4a003e6a82ff226761a8c1b33703468745a6ffd27a76412fe0fe3b2a12ca40fe8efd70369f6d327dbc3c64942c564f58463199ee64dbe6af013f390258686c76e09ff3e030a6fdd3ff04901ca1050e0d8283b2158babe70defc4a0a955885b6ca36c2ef820219ffff03bf935bd78d194239bb052ec25e3dd799f7ee69e3da6d17934a81bd9b1b6ccc4c03e396277cc6c00035a5555041f7793e7ba5dd10baa8d8f838d86d95eee7632d0a03509d061f3e6701f9edee3f3bccc5cd206c9da40e5e4952cb6cd4c4dacf51e74003af2d4dd5d5ced84515b9e25c341bc070fa2cfe1fcc7862d19f49f9ce7da4b6ec0219ffff03be9b7c109a724edaa8ffd1de1daaa8416a4f932a1769bc0a65aca625f776e50803fbab2d80298671eccdc81dd6bf418a3593d1650ff8bc981abe830928b89ab5ca0323f7a38b481ab524f91f12bc44942b2780fec81b69cdcd59514658266ed423af034af65c9e0a40bd89207af5e91a5771f33dd5ab1c3712711fa0206227f90dd33303d31dfccf3993bf37d396bf45b3dea8635f5d5abc14b3a520c7bcfb1b3614152e034d4ba45050b19d4c032e5b1fe516d7ce485da139f436821645335b58054624d603625f487338347934d765774d5f893e541b40c5220cbad769f4359f3d592af57f032acdb83417825a61596d3129348d2ba7bb97392395f7deb253fd1de8a72dc979031d10b37c75afd6a19512ecf4ac06393ab872b19d982d9c6f3c4a4c0de8846be903471a5a0c8d310e4dd748956b49384e6f8f28fa241365228850f9d5006dd3616503d79c70dea5b65405fbc0699873990b9dab5486dceea37174466dbe3a6b493be903ad4489e2dac37ca58411c2b02b59c18cc77d3eaaefbdabaf1b130562e32313d103c5e8108a56b1b794e22e7d330f42a21b4604864010918b824e57ae913f29231203107a5a083cf0e2ba99cdce9cf50f9aad1827017d7d14e3fed0404f41592906aa03ad942797c35d1a83c2a19b4ec1bce5fb21b7ecd10180cc0c8f592e697df37c4103585751eb8eac89bc32f0d6ec15413f221dfb6214364f37338dbb09f4a781775805581e034a922c89bea3b064badddfee1266388a3e6578b122b4e3288c4e2741400c024709c372844e8b8005581e03e560f7363ace54a364488432a65d4404ab0adc5f8feee042a3afbb09c0040205581e03ee2776a837a20a03c52268c3e59f1e80ea1574c0aefd1757b9821fa140040105581e03617bf1951f47a27e3146aa414e2ed507d2d66f50f12271123e754617700c0447bfa0674476934a05581e03c71ea24c4f90c656d4d8c57278f57d8be1f188b4bf1f9b7a9e0f4fb7400c0246576f44fa943803334394c23864ce201272297b66a153bbcb30d5b164cd24d9d99fd002e666088705581d02f68cb3cb856ae06265f5a1aa1933308f8be7c0032d8b294f23394d4c0c0547cb4537c8618c0205581d02c8fa89d7b533069dcb34731bbf34f24575d28bbc0abfe13d230015400c094726420cc0d42a610459401f608060405260043610610228575f3560e01c8063715018a611610122578063ceacd9d9116100aa578063f2aa82181161006e578063f2aa8218146107c5578063f2fde38b14610801578063f3fef3a314610829578063f9020e3314610851578063fa09e6301461087b5761022f565b8063ceacd9d914610703578063d111d92f1461072d578063d2d272db14610769578063e36b0b3714610785578063e985e3671461079b5761022f565b80638da5cb5b116100f15780638da5cb5b146106335780638f6dd6c41461065d578063a8988ce214610687578063ace1741c146106c3578063b5b0763c146106ed5761022f565b8063715018a61461057d5780637a351a1d1461059357806380655eef146105bb5780638b382020146105f75761022f565b806333e364cb116101b057806354a9f1021161017457806354a9f102146104b95780636220aea8146104f757806363b20117146105015780636ade6e331461052b5780636bcedf9c146105535761022f565b806333e364cb146104015780633874e325146104175780633c00a36c1461043f5780633c76a1c8146104675780635413c1c8146104915761022f565b806329d429a8116101f757806329d429a81461030f5780632c4e722e146103375780632f0eab3a1461036157806330dbb4e41461039d5780633115329e146103d95761022f565b8063115ece4c14610231578063120f2eda1461026d5780631b926a5b14610297578063204120bc146102d35761022f565b3661022f57005b005b34801561023c575f80fd5b5061025760048036038101906102529190612d33565b6108a3565b6040516102649190612d80565b60405180910390f35b348015610278575f80fd5b506102816109ef565b60405161028e9190612da8565b60405180910390f35b3480156102a2575f80fd5b506102bd60048036038101906102b89190612dc1565b610a14565b6040516102ca9190612d80565b60405180910390f35b3480156102de575f80fd5b506102f960048036038101906102f49190612dc1565b610b21565b6040516103069190612d80565b60405180910390f35b34801561031a575f80fd5b5061033560048036038101906103309190612e21565b610b36565b005b348015610342575f80fd5b5061034b610c62565b6040516103589190612d80565b60405180910390f35b34801561036c575f80fd5b5061038760048036038101906103829190612e5f565b610c68565b6040516103949190612d80565b60405180910390f35b3480156103a8575f80fd5b506103c360048036038101906103be9190612d33565b610c81565b6040516103d09190612e99565b60405180910390f35b3480156103e4575f80fd5b506103ff60048036038101906103fa91906130c2565b610cb7565b005b34801561040c575f80fd5b50610415610eb9565b005b348015610422575f80fd5b5061043d6004803603810190610438919061314a565b610fbe565b005b34801561044a575f80fd5b5061046560048036038101906104609190612e5f565b611199565b005b348015610472575f80fd5b5061047b61125c565b6040516104889190613253565b60405180910390f35b34801561049c575f80fd5b506104b760048036038101906104b2919061326c565b6112a7565b005b3480156104c4575f80fd5b506104df60048036038101906104da9190612dc1565b61148e565b6040516104ee939291906132e2565b60405180910390f35b6104ff6114cd565b005b34801561050c575f80fd5b50610515611858565b6040516105229190612d80565b60405180910390f35b348015610536575f80fd5b50610551600480360381019061054c91906133c5565b61185e565b005b34801561055e575f80fd5b5061056761192a565b6040516105749190612d80565b60405180910390f35b348015610588575f80fd5b50610591611930565b005b34801561059e575f80fd5b506105b960048036038101906105b49190612dc1565b6119b7565b005b3480156105c6575f80fd5b506105e160048036038101906105dc9190612dc1565b611a76565b6040516105ee9190612e99565b60405180910390f35b348015610602575f80fd5b5061061d60048036038101906106189190612dc1565b611a93565b60405161062a9190612d80565b60405180910390f35b34801561063e575f80fd5b50610647611b57565b6040516106549190612da8565b60405180910390f35b348015610668575f80fd5b50610671611b7e565b60405161067e9190612e99565b60405180910390f35b348015610692575f80fd5b506106ad60048036038101906106a89190612dc1565b611b90565b6040516106ba9190612d80565b60405180910390f35b3480156106ce575f80fd5b506106d7611ba5565b6040516106e49190612d80565b60405180910390f35b3480156106f8575f80fd5b50610701611bab565b005b34801561070e575f80fd5b50610717611c97565b6040516107249190612d80565b60405180910390f35b348015610738575f80fd5b50610753600480360381019061074e9190612e5f565b611c9d565b6040516107609190612d80565b60405180910390f35b610783600480360381019061077e9190612d33565b611cb6565b005b348015610790575f80fd5b50610799611ff1565b005b3480156107a6575f80fd5b506107af6120dd565b6040516107bc9190612da8565b60405180910390f35b3480156107d0575f80fd5b506107eb60048036038101906107e69190612e5f565b612102565b6040516107f89190612da8565b60405180910390f35b34801561080c575f80fd5b5061082760048036038101906108229190612dc1565b61213d565b005b348015610834575f80fd5b5061084f600480360381019061084a9190612d33565b612233565b005b34801561085c575f80fd5b506108656122de565b6040516108729190612e99565b60405180910390f35b348015610886575f80fd5b506108a1600480360381019061089c9190612dc1565b6122f0565b005b5f805f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146109ad576001151560065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151514610931575f80fd5b5f60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490506109a581610997600454600a610988919061355f565b876123f590919063ffffffff16565b61240a90919063ffffffff16565b9150506109e5565b6109e26002546109d4600454600a6109c5919061355f565b866123f590919063ffffffff16565b61240a90919063ffffffff16565b90505b8091505092915050565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f90505f5b6004811015610b1757600f8160048110610a3857610a376135a9565b5b01544210158015610aab575060135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208160048110610a9357610a926135a9565b5b602091828204019190069054906101000a900460ff16155b15610b0a576004600a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0154610afc9190613603565b82610b079190613633565b91505b8080600101915050610a1b565b5080915050919050565b6007602052805f5260405f205f915090505481565b610b3e61241f565b73ffffffffffffffffffffffffffffffffffffffff16610b5c611b57565b73ffffffffffffffffffffffffffffffffffffffff1614610bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba9906136c0565b60405180910390fd5b80151560065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151503610c0a575f80fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60025481565b600f8160048110610c77575f80fd5b015f915090505481565b6013602052815f5260405f208160048110610c9a575f80fd5b60209182820401919006915091509054906101000a900460ff1681565b610cbf61241f565b73ffffffffffffffffffffffffffffffffffffffff16610cdd611b57565b73ffffffffffffffffffffffffffffffffffffffff1614610d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2a906136c0565b60405180910390fd5b8151835114610d77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6e9061374e565b60405180910390fd5b5f8114610d8657806002819055505b5f5b8351811015610eb3576001151560065f868481518110610dab57610daa6135a9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151514610e04575f80fd5b5f838281518110610e1857610e176135a9565b5b602002602001015103610e29575f80fd5b828181518110610e3c57610e3b6135a9565b5b602002602001015160075f868481518110610e5a57610e596135a9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600181610eac9190613633565b9050610d88565b50505050565b610ec161241f565b73ffffffffffffffffffffffffffffffffffffffff16610edf611b57565b73ffffffffffffffffffffffffffffffffffffffff1614610f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2c906136c0565b60405180910390fd5b5f151560085f9054906101000a900460ff16151514610f89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f80906137b6565b60405180910390fd5b600160085f6101000a81548160ff0219169083151502179055505f600d5f6101000a81548160ff021916908315150217905550565b610fc661241f565b73ffffffffffffffffffffffffffffffffffffffff16610fe4611b57565b73ffffffffffffffffffffffffffffffffffffffff161461103a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611031906136c0565b60405180910390fd5b5f8203611045575f80fd5b816002819055508360035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060085f6101000a81548160ff02191690831515021790555060035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561110f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611133919061380a565b60ff1660048190555082600581905550611193333060055460035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612426909392919063ffffffff16565b50505050565b6111a161241f565b73ffffffffffffffffffffffffffffffffffffffff166111bf611b57565b73ffffffffffffffffffffffffffffffffffffffff1614611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120c906136c0565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611258573d5f803e3d5ffd5b5050565b611264612b60565b600f60048060200260405190810160405280929190826004801561129d576020028201915b815481526020019060010190808311611289575b5050505050905090565b6112af61241f565b73ffffffffffffffffffffffffffffffffffffffff166112cd611b57565b73ffffffffffffffffffffffffffffffffffffffff1614611323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131a906136c0565b60405180910390fd5b8051825114611367576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135e9061374e565b60405180910390fd5b5f5b8251811015611489575f828281518110611386576113856135a9565b5b602002602001015103611397575f80fd5b600160065f8584815181106113af576113ae6135a9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550818181518110611419576114186135a9565b5b602002602001015160075f858481518110611437576114366135a9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508080600101915050611369565b505050565b600a602052805f5260405f205f91509050805f015490806001015f9054906101000a900460ff16908060010160019054906101000a900460ff16905083565b60011515600d5f9054906101000a900460ff16151514611522576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611519906138a5565b60405180910390fd5b5f600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f0154116115a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159a90613933565b60405180910390fd5b5f806115ad612b82565b5f5b60048110156116d957600f81600481106115cc576115cb6135a9565b5b015442106116cc5760018282600481106115e9576115e86135a9565b5b60200201901515908115158152505060135f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208160048110611647576116466135a9565b5b602091828204019190069054906101000a900460ff166116cb576004600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01546116ad9190613603565b846116b89190613633565b9350600e54836116c89190613633565b92505b5b80806001019150506115af565b505f831161171c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611713906139c1565b60405180910390fd5b8134101561175f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175690613a29565b60405180910390fd5b6117ab338460035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166124af9092919063ffffffff16565b6117b3612535565b8260145f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546117ff9190613633565b925050819055508060135f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20906004611852929190612ba4565b50505050565b600b5481565b61186661241f565b73ffffffffffffffffffffffffffffffffffffffff16611884611b57565b73ffffffffffffffffffffffffffffffffffffffff16146118da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d1906136c0565b60405180910390fd5b5f60085f6101000a81548160ff0219169083151502179055506001600d5f6101000a81548160ff02191690831515021790555081600e8190555080600f906004611925929190612c3a565b505050565b60055481565b61193861241f565b73ffffffffffffffffffffffffffffffffffffffff16611956611b57565b73ffffffffffffffffffffffffffffffffffffffff16146119ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a3906136c0565b60405180910390fd5b6119b55f612629565b565b6119bf61241f565b73ffffffffffffffffffffffffffffffffffffffff166119dd611b57565b73ffffffffffffffffffffffffffffffffffffffff1614611a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2a906136c0565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f805f90505f5b6004811015611b4d57600f8160048110611ab757611ab66135a9565b5b01544210158015611b2a575060135f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208160048110611b1257611b116135a9565b5b602091828204019190069054906101000a900460ff16155b15611b4057600e5482611b3d9190613633565b91505b8080600101915050611a9a565b5080915050919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5f9054906101000a900460ff1681565b6014602052805f5260405f205f915090505481565b60045481565b611bb361241f565b73ffffffffffffffffffffffffffffffffffffffff16611bd1611b57565b73ffffffffffffffffffffffffffffffffffffffff1614611c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1e906136c0565b60405180910390fd5b60011515600d5f9054906101000a900460ff16151514611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c73906138a5565b60405180910390fd5b5f600d5f6101000a81548160ff021916908315150217905550565b600e5481565b600c8160018110611cac575f80fd5b015f915090505481565b6001151560085f9054906101000a900460ff16151514611d0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0290613a91565b60405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611e46575f8211611d4a575f80fd5b6001151560065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16151514611dda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dd190613af9565b60405180910390fd5b611de483836108a3565b905060055481600b54611df79190613633565b10611e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2e90613b87565b60405180910390fd5b611e4183836126ea565b611e75565b611e505f346108a3565b905060055481600b54611e639190613633565b10611e6c575f80fd5b611e746127d3565b5b80600b5f828254611e869190613633565b92505081905550600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f9054906101000a900460ff16611f9757600933908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f6101000a81548160ff0219169083151502179055505b80600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f828254611fe59190613633565b92505081905550505050565b611ff961241f565b73ffffffffffffffffffffffffffffffffffffffff16612017611b57565b73ffffffffffffffffffffffffffffffffffffffff161461206d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612064906136c0565b60405180910390fd5b6001151560085f9054906101000a900460ff161515146120c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b990613a91565b60405180910390fd5b5f60085f6101000a81548160ff021916908315150217905550565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60098181548110612111575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61214561241f565b73ffffffffffffffffffffffffffffffffffffffff16612163611b57565b73ffffffffffffffffffffffffffffffffffffffff16146121b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b0906136c0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221e90613c15565b60405180910390fd5b61223081612629565b50565b61223b61241f565b73ffffffffffffffffffffffffffffffffffffffff16612259611b57565b73ffffffffffffffffffffffffffffffffffffffff16146122af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a6906136c0565b60405180910390fd5b6122da33828473ffffffffffffffffffffffffffffffffffffffff166124af9092919063ffffffff16565b5050565b60085f9054906101000a900460ff1681565b6122f861241f565b73ffffffffffffffffffffffffffffffffffffffff16612316611b57565b73ffffffffffffffffffffffffffffffffffffffff161461236c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612363906136c0565b60405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016123a69190612da8565b602060405180830381865afa1580156123c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123e59190613c47565b90506123f18282612233565b5050565b5f81836124029190613c72565b905092915050565b5f81836124179190613603565b905092915050565b5f33905090565b6124a9846323b872dd60e01b85858560405160240161244793929190613cb3565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506128e8565b50505050565b6125308363a9059cbb60e01b84846040516024016124ce929190613ce8565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506128e8565b505050565b5f61255d606461254f6032346123f590919063ffffffff16565b61240a90919063ffffffff16565b905060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156125c3573d5f803e3d5ffd5b505f6125d882346129ad90919063ffffffff16565b90506125e2611b57565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612624573d5f803e3d5ffd5b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f819050600c5f60018110612702576127016135a9565b5b015442111561279a575f6127336064612725600a866123f590919063ffffffff16565b61240a90919063ffffffff16565b905061274881846129ad90919063ffffffff16565b91506127983360015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838773ffffffffffffffffffffffffffffffffffffffff16612426909392919063ffffffff16565b505b6127ce336127a6611b57565b838673ffffffffffffffffffffffffffffffffffffffff16612426909392919063ffffffff16565b505050565b5f349050600c5f600181106127eb576127ea6135a9565b5b015442111561289a575f61281c606461280e600a346123f590919063ffffffff16565b61240a90919063ffffffff16565b905061283181346129ad90919063ffffffff16565b915060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612897573d5f803e3d5ffd5b50505b6128a2611b57565b73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156128e4573d5f803e3d5ffd5b5050565b5f612949826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166129c29092919063ffffffff16565b90505f815111156129a857808060200190518101906129689190613d23565b6129a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299e90613dbe565b60405180910390fd5b5b505050565b5f81836129ba9190613ddc565b905092915050565b60606129d084845f856129d9565b90509392505050565b606082471015612a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a1590613e7f565b60405180910390fd5b612a2785612ae9565b612a66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5d90613ee7565b60405180910390fd5b5f808673ffffffffffffffffffffffffffffffffffffffff168587604051612a8e9190613f71565b5f6040518083038185875af1925050503d805f8114612ac8576040519150601f19603f3d011682016040523d82523d5f602084013e612acd565b606091505b5091509150612add828286612afa565b92505050949350505050565b5f80823b90505f8111915050919050565b60608315612b0a57829050612b59565b5f83511115612b1c5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b509190613fc9565b60405180910390fd5b9392505050565b6040518060800160405280600490602082028036833780820191505090505090565b6040518060800160405280600490602082028036833780820191505090505090565b826004601f01602090048101928215612c29579160200282015f5b83821115612bfb57835183826101000a81548160ff02191690831515021790555092602001926001016020815f01049283019260010302612bbf565b8015612c275782816101000a81549060ff02191690556001016020815f01049283019260010302612bfb565b505b509050612c369190612c7a565b5090565b8260048101928215612c69579160200282015b82811115612c68578251825591602001919060010190612c4d565b5b509050612c769190612c7a565b5090565b5b80821115612c91575f815f905550600101612c7b565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612ccf82612ca6565b9050919050565b612cdf81612cc5565b8114612ce9575f80fd5b50565b5f81359050612cfa81612cd6565b92915050565b5f819050919050565b612d1281612d00565b8114612d1c575f80fd5b50565b5f81359050612d2d81612d09565b92915050565b5f8060408385031215612d4957612d48612c9e565b5b5f612d5685828601612cec565b9250506020612d6785828601612d1f565b9150509250929050565b612d7a81612d00565b82525050565b5f602082019050612d935f830184612d71565b92915050565b612da281612cc5565b82525050565b5f602082019050612dbb5f830184612d99565b92915050565b5f60208284031215612dd657612dd5612c9e565b5b5f612de384828501612cec565b91505092915050565b5f8115159050919050565b612e0081612dec565b8114612e0a575f80fd5b50565b5f81359050612e1b81612df7565b92915050565b5f8060408385031215612e3757612e36612c9e565b5b5f612e4485828601612cec565b9250506020612e5585828601612e0d565b9150509250929050565b5f60208284031215612e7457612e73612c9e565b5b5f612e8184828501612d1f565b91505092915050565b612e9381612dec565b82525050565b5f602082019050612eac5f830184612e8a565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612efc82612eb6565b810181811067ffffffffffffffff82111715612f1b57612f1a612ec6565b5b80604052505050565b5f612f2d612c95565b9050612f398282612ef3565b919050565b5f67ffffffffffffffff821115612f5857612f57612ec6565b5b602082029050602081019050919050565b5f80fd5b5f612f7f612f7a84612f3e565b612f24565b90508083825260208201905060208402830185811115612fa257612fa1612f69565b5b835b81811015612fcb5780612fb78882612cec565b845260208401935050602081019050612fa4565b5050509392505050565b5f82601f830112612fe957612fe8612eb2565b5b8135612ff9848260208601612f6d565b91505092915050565b5f67ffffffffffffffff82111561301c5761301b612ec6565b5b602082029050602081019050919050565b5f61303f61303a84613002565b612f24565b9050808382526020820190506020840283018581111561306257613061612f69565b5b835b8181101561308b57806130778882612d1f565b845260208401935050602081019050613064565b5050509392505050565b5f82601f8301126130a9576130a8612eb2565b5b81356130b984826020860161302d565b91505092915050565b5f805f606084860312156130d9576130d8612c9e565b5b5f84013567ffffffffffffffff8111156130f6576130f5612ca2565b5b61310286828701612fd5565b935050602084013567ffffffffffffffff81111561312357613122612ca2565b5b61312f86828701613095565b925050604061314086828701612d1f565b9150509250925092565b5f805f806080858703121561316257613161612c9e565b5b5f61316f87828801612cec565b945050602061318087828801612d1f565b935050604061319187828801612d1f565b92505060606131a287828801612e0d565b91505092959194509250565b5f60049050919050565b5f81905092915050565b5f819050919050565b6131d481612d00565b82525050565b5f6131e583836131cb565b60208301905092915050565b5f602082019050919050565b613206816131ae565b61321081846131b8565b925061321b826131c2565b805f5b8381101561324b57815161323287826131da565b965061323d836131f1565b92505060018101905061321e565b505050505050565b5f6080820190506132665f8301846131fd565b92915050565b5f806040838503121561328257613281612c9e565b5b5f83013567ffffffffffffffff81111561329f5761329e612ca2565b5b6132ab85828601612fd5565b925050602083013567ffffffffffffffff8111156132cc576132cb612ca2565b5b6132d885828601613095565b9150509250929050565b5f6060820190506132f55f830186612d71565b6133026020830185612e8a565b61330f6040830184612e8a565b949350505050565b5f67ffffffffffffffff82111561333157613330612ec6565b5b602082029050919050565b5f61334e61334984613317565b612f24565b9050806020840283018581111561336857613367612f69565b5b835b81811015613391578061337d8882612d1f565b84526020840193505060208101905061336a565b5050509392505050565b5f82601f8301126133af576133ae612eb2565b5b60046133bc84828561333c565b91505092915050565b5f8060a083850312156133db576133da612c9e565b5b5f6133e885828601612d1f565b92505060206133f98582860161339b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156134855780860481111561346157613460613403565b5b60018516156134705780820291505b808102905061347e85613430565b9450613445565b94509492505050565b5f8261349d5760019050613558565b816134aa575f9050613558565b81600181146134c057600281146134ca576134f9565b6001915050613558565b60ff8411156134dc576134db613403565b5b8360020a9150848211156134f3576134f2613403565b5b50613558565b5060208310610133831016604e8410600b841016171561352e5782820a90508381111561352957613528613403565b5b613558565b61353b848484600161343c565b9250905081840481111561355257613551613403565b5b81810290505b9392505050565b5f61356982612d00565b915061357483612d00565b92506135a17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461348e565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61360d82612d00565b915061361883612d00565b925082613628576136276135d6565b5b828204905092915050565b5f61363d82612d00565b915061364883612d00565b92508282019050808211156136605761365f613403565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6136aa602083613666565b91506136b582613676565b602082019050919050565b5f6020820190508181035f8301526136d78161369e565b9050919050565b7f50726573616c653a20746f6b656e7320262070726963657320617272617973205f8201527f6c656e677468206d69736d617463680000000000000000000000000000000000602082015250565b5f613738602f83613666565b9150613743826136de565b604082019050919050565b5f6020820190508181035f8301526137658161372c565b9050919050565b7f50726573616c653a206973206e6f742073746f707065640000000000000000005f82015250565b5f6137a0601783613666565b91506137ab8261376c565b602082019050919050565b5f6020820190508181035f8301526137cd81613794565b9050919050565b5f60ff82169050919050565b6137e9816137d4565b81146137f3575f80fd5b50565b5f81519050613804816137e0565b92915050565b5f6020828403121561381f5761381e612c9e565b5b5f61382c848285016137f6565b91505092915050565b7f50726573616c653a20756e6c6f636b696e6720746f6b656e206973206e6f74205f8201527f656e61626c656400000000000000000000000000000000000000000000000000602082015250565b5f61388f602783613666565b915061389a82613835565b604082019050919050565b5f6020820190508181035f8301526138bc81613883565b9050919050565b7f50726573616c653a20596f7520646f6e2774206861766520746f6b656e7320745f8201527f6f20636c61696d00000000000000000000000000000000000000000000000000602082015250565b5f61391d602783613666565b9150613928826138c3565b604082019050919050565b5f6020820190508181035f83015261394a81613911565b9050919050565b7f50726573616c653a20596f7520646f6e2774206861766520746f6b656e7320745f8201527f6f20756e6c6f636b000000000000000000000000000000000000000000000000602082015250565b5f6139ab602883613666565b91506139b682613951565b604082019050919050565b5f6020820190508181035f8301526139d88161399f565b9050919050565b7f50726573616c653a204e6f7420656e6f756768206665650000000000000000005f82015250565b5f613a13601783613666565b9150613a1e826139df565b602082019050919050565b5f6020820190508181035f830152613a4081613a07565b9050919050565b7f50726573616c653a206973206e6f7420656e61626c65640000000000000000005f82015250565b5f613a7b601783613666565b9150613a8682613a47565b602082019050919050565b5f6020820190508181035f830152613aa881613a6f565b9050919050565b7f50726573616c653a20546f6b656e206e6f7420616c6c6f7765640000000000005f82015250565b5f613ae3601a83613666565b9150613aee82613aaf565b602082019050919050565b5f6020820190508181035f830152613b1081613ad7565b9050919050565b7f50726573616c653a204e6f7420656e6f75676820746f6b656e7320746f2062655f8201527f2073616c65000000000000000000000000000000000000000000000000000000602082015250565b5f613b71602583613666565b9150613b7c82613b17565b604082019050919050565b5f6020820190508181035f830152613b9e81613b65565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613bff602683613666565b9150613c0a82613ba5565b604082019050919050565b5f6020820190508181035f830152613c2c81613bf3565b9050919050565b5f81519050613c4181612d09565b92915050565b5f60208284031215613c5c57613c5b612c9e565b5b5f613c6984828501613c33565b91505092915050565b5f613c7c82612d00565b9150613c8783612d00565b9250828202613c9581612d00565b91508282048414831517613cac57613cab613403565b5b5092915050565b5f606082019050613cc65f830186612d99565b613cd36020830185612d99565b613ce06040830184612d71565b949350505050565b5f604082019050613cfb5f830185612d99565b613d086020830184612d71565b9392505050565b5f81519050613d1d81612df7565b92915050565b5f60208284031215613d3857613d37612c9e565b5b5f613d4584828501613d0f565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b5f613da8602a83613666565b9150613db382613d4e565b604082019050919050565b5f6020820190508181035f830152613dd581613d9c565b9050919050565b5f613de682612d00565b9150613df183612d00565b9250828203905081811115613e0957613e08613403565b5b92915050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f5f8201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b5f613e69602683613666565b9150613e7482613e0f565b604082019050919050565b5f6020820190508181035f830152613e9681613e5d565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000005f82015250565b5f613ed1601d83613666565b9150613edc82613e9d565b602082019050919050565b5f6020820190508181035f830152613efe81613ec5565b9050919050565b5f81519050919050565b5f81905092915050565b5f5b83811015613f36578082015181840152602081019050613f1b565b5f8484015250505050565b5f613f4b82613f05565b613f558185613f0f565b9350613f65818560208601613f19565b80840191505092915050565b5f613f7c8284613f41565b915081905092915050565b5f81519050919050565b5f613f9b82613f87565b613fa58185613666565b9350613fb5818560208601613f19565b613fbe81612eb6565b840191505092915050565b5f6020820190508181035f830152613fe18184613f91565b90509291505056fea2646970667358221220616b873ba861b6b630d9de75e0ca701ce752aaea3a764754a859ebdaf637df1464736f6c634300081600330337b4511c20a367cf7a5dec6764960979814932f0da0795a2e97502859540a474030fefc396b6fd01da1f9d44410e758d3b57cc912540e83dc9c1be967fcd6abe5f03bf41498d4f46f960a012d0fcef1c4c05c57a65cfb91518f44d0024610044bafa0339e26b9a1d7b11b2fb0445d5f0670a96d4d37536d0966d83d73431ee62a672ac0393d1f1dbe9ba2884613e8875859ce30a59b01b6e6fda9938e9d89b812e5937340319203604f8c3e3cb814f8518c10bfd7770db5940a4e2146bd63d8b15372729950307d92630449454a94aa51236ecdfbb07e4a6d8a44e9ef34d574d409850cc692a03d836dbcfd8d13ba918f46b14c9da297903fb9ec52d3cfc45575f19c1c8f150c703a09a47152441af45eaec4e74f1b41418b97d70b18f673cf96beb3880e688f6bf00581f02ed1ba8016d8b5c2c6f0da302214a571e5f0ef6523a6bc46646cbc14310044a068935867a9c8b53959b00581f02316f5f7f6a07786bff90adc7313e75f8dedc94ed03dd4fbd1dbe0449d082410100581f02af6e79e5e2d729470b03d3b89c874e3a9c056f03e25c497db3f0971f907b410100581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db94c026d22c9546bad8983d0ea5900581f024d7d5f6fff303654f3fe8a848d0f995cb6a1f6312aabd08116878bd1f4f44a17763bcee99d3cbf45d100581f0221b488619ae15409a402cd98f2f24ac65ce8cc5ed5bc183621cc924352b054fd2a5e46f05b1cef9b15098991ded781ef10bb6a03939d26d14b2d0dcfabc53ff148cea6873af636ad8656be035b7f3ec4a0b3337e021908fb034836b0d19c9f95d47f33ff7de24a7742ffab35f83c1763eec1e63b2e2a2b14c1030878f063730cfc60cf931b198d5905672e3c47777aea6d4d737d5f30399b29110399b217aa9365a2c27af32a6504c5fd7529662032029a95ded78bd6c1bae090540355733cb37e55b6f36a44acc00eb0f0941cd180590443d2cf61b949b53367b5e103e2c9330467062216bf4a59fbdd25f51988829dd5552a299febf6e07b7e813b7803d3198630d610469f19ecda87de3e77ea5d1b9eb501204e03e9b0e9aaeda52a9003752d4b78ca5ff8249e4322495877ba304531d1f4cc0db5413d0bd919da7023cf0371e7ebdc1aec57e743a31610e7072dfffad9ad9eb20cd0acb40c953e4e9889b70219ffff0379401d6a685772d229d47474766e483b2cfa5b135eb81449c213242afcdc114b031f7b8107d4dbd29d730027555521c2c3097d0ab8576b7228851225048a16061e037bcb9434643aef7f57b1ef1e4bd1d7356709bd6ffb51a5ba4fecc569661456d703f00330f179c9c455d07adfc882c34f1e20d200bae3018bcbf1e9b8d375baf8b5034ee0b03914f540fb941d295db40c579085cb901517ae281293e59362b48f79b503f42a5ac89980223bcceb276c7c35182a8bb4600c7c29715b035a29061091d1ae037a4b434578cdc4de07f9154f8aa5447da586d96b2a7a4eff167f27a1a8c24fb6035cabb36c084b3c2ecd2ab036585c3e9f09d741d80bf1e8a21614934cfe14823800581f0231daae98444f28ef1801cb4f2007a88939021fe8f01456dea292657e4f0654cf7a61cb09c941b24e94a27b7722e96431e16df70313f99fa340588751dcd6e70edde1ca5105813c261ece0c9d6304d73cd1a26f2b00581f02c25110e0ebcf8997afd506da731116677efe1ab9bff9fdb701a2c76411e24a069e10de76676d08000000581f02ebbb317cc2b4d5c637426cb848bbe195064a1e747a69d1232c2614299c764101038c38cb6f60d0749412d3c8640c5d6806d5faa1f32a7d884ea3984e127acbeffd00581f026384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db04c033b2e3c9fd0803ce800000003ef2325e20058df486d15d6cb3f082f7581db3b876711e3f14c763c28081c15ba02194aa7037dd9dad0f3a18f7069f0fe75dbaace3a118646aa7628aeee6e9d3718cbd87b5d03400b9bc00da19c8031d7eb3aecdf7a39f2ec082632c425d321090071248cb0a903776dd8c1d9c3db257f855e63fdcdddfcfe7d707cf0406a2204fad157829662c0032cb8cb8bc2c430993505f3ee11114722949e652b2f10c60353a71305d432eecb03eb57553a031c5e29798e1af69c6225a02c1b98ba864f5c49b9ff14d8ed77097a03fd7a48a6543a273934356bc4b2cfd2a8bf27ec5d1441a4336f3c0bc2038bfaec032e1f593bc8e8c1fb4fa9ed2c7419317b0492ae7bc256494e971fa924d47ed9b303b4ee3e49ee6fdfd9751c5fbc1028c9de89f60fe2465cc56797a0683148a8223c03a480b120213278e78112c454db2b491abfdbd9ebfce7c92403ab1343c8a5543f0219ffff034556523c2f123510f8930bf02a977e97619543865246622bcb53084241c80bf203d25196b7c49f485fabf7b9e0df0a839c95eae2bef231520bf2bd95088287049b0377cbc2cec561f9e7e7f6c2ec2c891de7b5453a6212a44e085f52e41246f61596033eeddff2c4f42204683c77b03838d7aaa1e4d89e6f4f133ad8075f7dbdc8713003f7585aa4da3f05d798b2ac7bdcde6e8db74f9b5c4301cd83f971a11f859350ec031df8bf868e7f17e63dd791394ed59e1d0aab66d4a47e69591867faa6aaccbd7c0306bc842d4ac74bb7348db66a354b241fd360bac59ddcb3a1640dde334c72f9b503213338e46353c0d07fc03893d8676f37e41f0ae7967aa7865eaaafcdcac8a857036a9bd32bcf6d6f4e3ce610889b3fb3c9753068ac0e4d4114c1b1975afc9b30d303e196b538153ef8b09b96e8d71bbb34bd107f70de3fea14e189e45ada71ff4598030b539c17fd6abe3f5977e1d0cf00fc74520f97d1024f01539cddf1a60ec6d1e003eb0ea0c525c172553f6a5f16826a52ab1a30c113e828384ea8c180efc04352a70219ffff039d1caf2346c9464d632105709c4c81b271f4817fc2c63f570f6ed84a09f0399b03bd31f3b88597c97494b7bf926d2701ac4801286387264e71cb9b202f3255665503688d7a5ad00a177913f39142bdddd0496b7067ef8f451976b7d589c7e7bee4ec0321c57b9b9581371e363dcc91ef7fdfdc54521d2e156b9d28fe3608188db6a5790396fd46b4e1a4259aa6ca1925892b020b7e978fd5cb6a272c62323e4a70a6325e030a924b7617c610450e4be1f919cf3f2dcde845d2f5d1ba375c3b677cd5efcd4c030dfcd923c0641a6d1fa50bf11176e8d183826082eb4daa66b7f2fe354fa0fa1c03203344b02dc9eb480a502f8fba83fd6c0e29e9b49dd863a68813f988737f1f3003a8358a740adc8006e31c48acabce2221a6fc5241fc3bebe1b45698883528d1c603a62df4a0f3adada4de268410bf4473691b511232f48171cc2c38094de3fded6900581f026d2ef5d06b4911eca3c261897a9293a3f5482b80cd71c9936bc180eafe7a54351e345be462de478f382d40153d47be68678a7f00581f023d3508be1818f7126f0a9237620c0710d67169768f38130421295de169ae4a02c5e4ef8212f59cf3cf00581f027961f474faf233d11d4cf2fb72f6fd37c95f880b6ff085c2802aaaac272154d11be0fe2f2258de0532d9d87afef3cb53de614b0387191afcfedc7122de6e0598de8ab0b37355d1b11b65abfd2a7a5f0f5c3fd42b00581f02a2bad1a328925fbb3f579f7d74ae3d196cb9feb29fd54e6b904d5382b17b4a0da9d7bcb41c412f3cf300581f0265dd4a319b53de526ab5c2773ad9f24e838af5784ad062658e0babc8b3174a152d02c7e14af680000003c84eb7e4690c865e62194699057c53a2e284a712c75c125a82abf48c98387e750320431930153f90e5988d27704c68f4641ac027886e283011a968c9fd6bf71b6400581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354976a55c485a2836bd1305dccc4132890337bd46c02193f380331ee70bfb5ce08e3b554d443f9fb6f3a52608427e869198a5767343783036973034e65d3c931184b0442f21cf68a2ec82d2f816b424b2110243d0d7e489f4048d3030c67d9e051fbdc3068c3c8dd8726abe721b62cfc420d96afc11d5b82429c6a00031d65011acf074e07231e10c49ca590ed04aaff1accb1081eaa0fcb122356cb2703e7b7ecd6d59b0162982d5df21bc3a99a8f58466dc67a2099a32a2a39d066bd6d036457498e9cb2d4b36d8d087fc508537d41518088510082199783fbb35f2ee7b50387c927fcf1fcca8dffc02a45f3125a8480838edeea311aeb739c87da45e7d53403aedaa94788d9d0426a1e9e77d5ba385e1ac5f1ded5220d4ce1dd9f9219b11b0903400aea1201e6bb3f24f472eb311ff86d84a8db4fd314df994d34f197c53a8a42031560c17db96e430bdc9c0dae8b80bda4dd046513e2f52fef395c08f08467da2503672a1326516c240995e46496c0f109db7a40a6cb4ee5507b20068a71e2384c3e03e725e5a0cfcb2c2114fef6dd82756101e71cd1011833d921357112a5d86760cf0396372fa768839bcd20e7570f79a67a7ff59a7d638ac74a2292ce56d6af21b37b031aa47aa9db560e1f8c847ee0425709b4f703028c41962baddcea42f4b1b5f8460319d24cf6bb3c390c8de72f2a42bc36adef035420b0d85655a93feb1295bb812b0219ffff03f6e8d192c67914200e13fa12ef6c474ed7e2036165b5c7b8f866aee5cdbb798203496901bf65b16ad44fd06cb1a3d9ab4f42bc3612ae285c7e90648defb9df5b1903cd864f2333ba77d39aa631d8fc6aadc96362fb39ce6b5797c49c4bf353eedc2d03610fef2e109bfe79afd5163aa61b5fca00dca288567af0672ea24aff6558f4e30341531d10ecd0414e2662cafd4903f7b2d9a14a8defed5c7ee58e91302216f15f03ca50854e22be33ab3b98fbac4b725b34685383385bf40b7bdb7df4a8a01e3a9a0219ffff032e9c8972ed5399b6e0f3d134ce038a7f3c3be4d0e8a5b6ff5c82cf13968d996f03f3f91177b8094ac861ea66df5c72f7cdd02363568ab289159caebe6c916775460379b883ad6614b2d750d326939dcb8dd534aa2326433b681f6a3ed7b13a9c63f7031ffe7688a7655008524a5bdbb386645bbb072b08c7b05253722c1636cf2f8bb2039fb0ddc496039c56dda61c759ebf4d712c615f2bc378191e0c196b5d63f76eb703fc8019ab43b721b05081e978d26f94c58f017c6e218fdf9af317666a77a3aae20377f30f9afb3ccff0361882a7c5c1e037b65862739cf430fcf3b00db583361de300581f026bc965928296d763616de0ae0d831ff70e5675cb2415120317d248cceca74a03521cf1f687aecd174500581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace46034630b8a00000581f0258c748b361c39532b0b41e6b23d70e4e408c5b917c146b76b260d7cb2d3b410100581f024ee7ec1b60f8bdfbbfbcdd17c8f8a378037de24349bb86bca6c39537cfca410100581f02b86ed10d0a3fb79ac407ff5155bb54aadfad4aed2e82bd5ed4c2235db63354e475606d12dba404cb7b009da27567fcb74f077d00581f02e43f9d4bcfb42b043a3a61d81e8553a1c87f2fd97266d9aa8d688e29349954a8de8ca56ba6e3566cb2089cc77d583f36640c240219cca10333b8006a782907988ef91a8202989b18964dff5661b801e836da71ae1505de6d03e69600f013c9bc8858472bda5b37523d4524768c7991582975b13a6e8a6af8f303847cde72e089fbee6ce3b17ca7e3d5d257fd3f5854d3836c866e61c8b95f94700369296e6eeb7805eb7930978d06e9f6c1871beb01ac33d9817f0a0a38a1845f920348d7f07e5d2fd53d553e35b7fb8f911eda30e7a9f03c5d23c5ad4e15bd251c20038c59fff560be32a56f8eb41797d753cddff05576f3dee0a5909aac7ea178289103a79c3e26d83c72be9ff8fcf71c620ecdd8084efa6987e9a84b1bc61f7bd20ef703d2f64adfd308c37aaeaae867f9a2c478bb5f86795e0da0747c531d607906583c03611c2d31e6b0ef51a05a370193dc998e1072d8b7fd6f12baa5517a47a97a3f6a03616c6b12755c36bc691ecd05a360501dc267301e51e0ea0c5bace3a2641e26280219ffff03c5549a99ff27c3150b1f324126caafeca4e0b2f5b67ced3dc067220dcb6db4f503ba5ad8e3330d1a03169ece458599c680454f206e7a83bb9df6dbce8a97aad4af039bd1a82b8c12eef06c91c81b63d84533af6e48d5d063f83ccaf7235fa9efcda6033eb248d38cb37e2ac46ca654304a35123b473426bc94a90b5d4b9591dc4c2775036d47acd812c105d9657dd24d7267136a9442b215599f24a3f07ec88a154caade031fa213e0a90cfed2291e912a11713873bdcba79699880f0b3e5a2b7977783392038095ad4951aaeac451c51db4441ebea388f9e795eb0b7f980c55df024f7ac8ed03d3c100a85720ad0d99eca84d0c334095493bd29a04f04fd099f501e9d47ca51203049a1a1be1117258a13abc045bed551d5dcde126392c03e1c807fb3b874a5fac03b2a7846be199643fb69f5c9ea7cf5aceb7cd81b35a690c15d71cc855124f817203540f368cffa42f856252fd18f5a67a47a6d4921f4e67f8e8046c45778f2d5d1d039493f940e324f22d629e5e40d8b85d828c28a318ab83b5124595a58a1b4174c403ebb5066cc332a5afbecc49e06c579571200ea267cb9eb80116c7726f799baf7203b9b0f75a48a9adcb966bb6248a4d62ca648ab7a84f2e371470218f65505a09a70326a949e6d71f59069c1b745b80c7fbf3107a8e984c4553efa1529d1d48d538cd0219ffff0343d216167031a1e46b41f300cbd5bfe2f02120b60377dcd1d141fb9cf1b898bf0391159d8e47483fae6016cb470b68143e7b67e490adb77a9ff495bcb8b41740ed036fcd6ecfd3e7d3378d6963ded0ebd16bd57d319a39ad66b1c09f115b0e2f28cc03c614f2506a8d633659fe4236568077ac8a804493e63fc6d7f329b15926048c2a033737133958302356cd191784f332c59300f3ed9b23fe3b4e565573187ac012ef03c6955edd73a179c4d9f5bd28b4d18660f780c79d714a6bde39b46cec0fe718c903e3aa50e5bfb6ba51bdd1804c6f12893c1aef27470dd67f010ce65ec00fdeface037eb9d24a5ac70eb0f4ec9cd4e6fb48a1914bdba8f406e6ad75cb41fb7e69848503f68cf3f96d4ee049d226b47b25cb296d1a731b1b4902af20cb4f7fa9ffc472bc03de6ccf3df18b6433550071cc545d4a23d6c6cdb30608a0ba9b3ccc4ddc176faa038288d0505cd4bb08cc246aebe76189b227ffb62973a4bedc6222b6b69bee902a03e8028ab3325e9593e2e09bbe8f46c7627b1940f7b37b74badfbb33b956e0be2503bfd3dcf54300d64635027ffec5b15edbe4bc84639c5b094623e6f77a6f6df8d7036ee3f873b7128e514cea288650d6f6a73b833fd929b879091b4f804d2d9b3db90384e6d050a89c828ea568dd90ec665430090e28447ea6dd0c845ab41b9952c12c032bc308843d558c41b240d9c82f4c739946bc23b0277ff859f24d100c9a33d5b200581f026b95d0914cdb10edb60f448fed6029b65e7eb0cd2f93f030f4705732252d54d4819cd0c390ebcab745164c882adecd7bc86b8a00581f027dcbbfab5ca124e9befbaf03901eb5096216713b258aadf82edb66bc1e32493635c9adc5dea0000000581f03e1c48505a862584ceecc2aaaeddb8c5f92f3ff230c73aad9ac6c8fbab28054d6224320c4923235016d06843beaa783f00c282d00581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b041120219040400581f02a9b6bd6cdf181675afb1afc2bc0b29ce86364233bd4ec0c6456321aeb70e410100581f022f38df32719d55602e3901a40decb3dabda96915a84e8dae32673d9dbd9c54b7d098944f54201967509145ddc3427b268dfa13021941320376ef61f44f5d0a35f6ba9e87c5d60d338aad10bb00b73d12a981876323ba0f3103617b046d2a51333551061255a2270f8a9db58047ebcf457da53c7179886963d603fbe31d174f4030f1ec1e6d125bf4959801462c839a9893df69c42d28b6816fd603c41ae3ab123cd6a39ef8f1c8a020b67ddcfd1c944b0ea6e4bbee3be4048fa74103607be9dfe9fc63ac6a938aa3850c7a87aa310738ea029e3b6a56fc5dd853b455033955317918e0d2999095965f513cbad6ffc3640f22c301fe029f2c435f3479cf03ae9cfab3eeb706bb24942313cdfc05d24772fe43a32b3990483ac29d91fa5a5903902049760d3e0c9be33670f52657441c3a4318dc338faf2e15ae3ed68d32752d03001e1c7ed3f0ae377255f0ef8b3ec435bf54a4193dc411eabe3ddbaf271bad1b0378fab1e29fa57e4ff3a3ae3e3d03cd80dfa49628acd5c54fc2b4b30f0f8758da0397c016695b2bd7a1eea01f058a85fb94645323720465668d859264e7e7dc7bac03e9231a514f57ba60887bdf417a6e13d1af1e1735a518f504edb6ba0a45e58d860219ffff03d993185159fc2f212a2b1d3adbfe109dc31cdb6a4b8fb185f7dd7ba11fd392dc03da431dc04ac7a8030e81289bb2190f80a00b1268362c68ff6be549a48b6386e803051b7abacd76eb07fb3546821de43a0b92e7823be768330ebd35cff3c9e7597a03207cbf9e88894ddcded9c08f104f848336e69f9734e8f07d5ef6201781df37fe038955cbdb5ad071144ec108ad172d696ad9577408ab4e84aeb2b980a21e097cbf0219ffff0339d941607f4661eed76000fe007951b8ff7a7a50f03ee2a07e7ba8e97958a82003b2c3e2db6ceb085cd657b79d7eb582c5348b0976fee470e3bba2ca239344363503e83604ac16208189b28d2a4621ea559704376eb36b9ddc4bd0173036a15ceb910355b6491a1a41ddc20ce8f00f25786d8d2a0ab6feba6c7f6c81b3af89d1e3d55703811f8596d5d432a4754d5e752f224f4e34d0cbea0454c61fc32f5950c0ed325e037e7226d038742e06b9a705d6eb63b603bac892d3623a06bbdc4670ad462597ad036066325fe644323a9b9f7ebe2f6e3f5f84d85caf2ac4204e46159aa94894c41d031ba7664db02248d9d50c15e3fc3386d47e0bf612f1f28167642b07df9dfd08ea00581f021e3c1da882d35dcdef03f70d4a4a8f2e8aeae73158995061eeadafad5c24410103707b0b2fcaa95091fa57bc115f2b97763009285a8870b2b74ae89e2c877f171700581f028147b385e1d6741875b7d39557a17a5218a494768a4ab4fa96f189c2c35d4b01a9ff0bd0a10a197a1af2021989000350460d4b17decb8b73c4b3fd978519427bdb8411d608f8a8d01146f8a380eb110335875f7efc3efa23529c7ac0fa26689fd6d59801600d7cc8ed4bf238104d54d203fd1ec2a28995c727caff436ede9e1d6048a2d93ca3e47a0d8c58d4eafcf625f7032a88188ded15b2070966ea00174e1038dfbd373b05412e1cee6a35a474602680039a583133467acaf7d3872571330e306ce3888367dff7e05292f606dfe069052c03cc9c642a9ac115d8f600a03eabfab2b9c4a483eb00ee84606d052f0eadfef1e90340a88b57dd452d1929c47c65423ddfb0248f19627032e69d5c9cdb47e4d774da03ef1ee69028ca5c572c72ba76db90e8f2c622658e14f452a45a21e377fceef50303b453cf9efe78e9aa890290e4faaa4f38818b76f109296d4407013584659200f203711af2dd6bf3564ddd700b9da0243cb5e490db3a4bdb414afd505ca307338a9403bafcc3696b761aac0a4a0578e0eb04e76f506dcf1f0ede39946b1f33ee4863330396e9a77372ace86d97a8753ad428cab973bbf189b9dec6a15026fab5d515ada8031549eca4b74e229dbeb95eecd7dc6ed85486e14ce8e4cb61efd59ffc68f8f67703f9d986a75d91ae2bd1f9962a405381133bf229651f9f76b528e84998a3ee9bd603daf1af9b07afc383ccc881f03e3a8df97b23fd2fc6a3bd0a29ab036d093eff400219ffff0331e9529027494b015814d10848949bb3656387205fcbabfbb67cb95ec056611b03b2f7014742644feaf98ee6b99a79fef19673c0945cceb9375cdfe623a27a7239038f9363a8162b9d5e5475dcca3249525b118e82e0bd11a5520cf252f8709569c30392fceed3b1be5f7cd72f42966d1327c0376be0a4d5a76d419ace5f68c1c54acb0336357579f8c487ffa0cbc871d0d2b6de84e1950a5834d72b25cfe99f67da21ee038309e72e0ec894bfc614721bbdff9809fd4c58ee328d58baedacfd71ec31693803f9fca0df6ff08b81a7cdb2783e89e38fe980c6967e72361efb6af66fd430ae5c033b536b9eb798819df36f0c80458ec8fc336873061b0d1f1d68f8570fe0fa50010219ffff0335c5110bd73b1b5dfe7ed0a76c97ed0abd7cfaca098a13d90680d72806d4f37d03aca95aafae311b1e04dc9277bb766204befd92034d9808d529d2a7d076091a3b0381f37ba3df5d3a4eb65e75f6b8911366245194f39c9e834c7a1ef4d04f64afe803e41713247127090e5423d4fec49b5372fa144db9746784c285a74221d9740355032599bcd6ffdc2c175424e879bd349da3651a941697fdc9ecc102274ed82e7cab038b88dddd20d8f619ce56d92c85427a1841ee4a883cb05f05913edd5a85a95e0600581f02c031f019c35c7777401ec0bb0dc6d87ebaaa4167e129e23614044d602bbb410100581f026c117dd43761b1e5d65fb0066b76c529a8ecf6ffd7f84163874cf2d144204a054b40b1f852bda0000000581f02d9079ac18531e0915cff12b5809ffbd22ce89c28b6b24126e304048c99bb540872da561fe77c903fd9c5fe6a329a5c3bdabb8d00581f0243ca10bf42bdaa385003b1159ee89e10dc261a305a9332b4ee94ba7cc45e410100581f02bbf8427cbb069e59284589ef906860175def03b3c3c1dd140a4b8d67b3eb54e954d7750f16a30631becad497ef71c4302fa37b00581f0221f7b87b96c5d954077ab3a24ee3c6f16e47272e32cf4016dc29bdc34ba04101033676651355c16aaab26a813622a1a5b0747e7be52fcb844aff23e6abb8186af802190e1703d843b99ef2ab2aa747eebf0be390e8c18b6ab05b4c0dc0a6e49f0d19eacc52ab0349f292b8351df9352c2cd686a6c60f8dd3193bae05de5e8c139a539392527e3c0333568c49566698bd4e321f0115216f152671b41cc60e6dc5d790ad4cddf6875b0367580572b6cc17f7dd58f5bb3eb84f1a15594db2013a11b30c81fdd518ecd7be03e340a26ad2b9ac38e9c9266022618dc2a4120880c9e10117c01f856fc6778bb9037346ff1c2e30ef2bdb3bd9b57db5e02cea9e765bd479509dbcab20a85ff6bb93037b188be56f6a44903c053f3166b56f3485c0abf152e23cb9159cdea03a5e0d0c0353e29d1be5742651d2d64a138e99c6835d4cc3e49c6d7fb3e961a4fb6c7d8d5e03a93fa7fe1b30d75a3624013b6ff2166b63192d741190cc0ae9d34c000613006403c6667203304c5fd2d0156c1133b152760216f3013e044f78eadfd2d366b7b19e038ca2289f6efcb6a7ae36d65cd409b2fbb3211173beaabb41346953ad321313d90219ffff030a6d0d7b4308c2a15c8bab5a5046844b123b7b5f249c1b948a81e76c3e17ab880372dbc2e6b4d0ee2913e96fc7ec347c80c2b993e013c43c0f5a38a186b4d249560330b92b42601bfa657b5b736742d93be69501dbb1c5cbd72851b475e93a4fe65003d6e95ca3d73ad4d8d3d2cc83804d4f2bd93c7398002dc6483b2a3560258285820350e581ef711dfdeb3d994c6f16d9a6806b25403386ae44dcbc85e9635758a8290314df34001d1982d22c61d2165131ac0cab31c5eed3db40bb8b22e7c5f4e4b515032e4cb3f39bbd7f2303acb5dc5c819477d2868e5fc8944e0663b66e550a1577930395a86dad38f25deadd854395ffd446af21dfa51ccbcc43101c920141c7717dd103f17b723f146bd9db43454076c7875ba4e70f3d86da41eb483eb0c92f3a82bd1703acd2345d777b483649991d3e192d8eb0c9b59d4744d4a87f3d6915decf28fe0603d963a55fe027c82241d1402a0ebb72499c38fb455c219a5d1100d009cfa8b89003cc0058505064af9faabb424a16289a75f6238f2e18ed4a066a8cad16baeaf6cc03b6287b17d10c37dbaf62a4c4991ccb70248758ae6b137806570ee044c1a5aced03279bfd30ebd52c10c2e2d2f3a2cb67e930c372f61dfc4599b2849dfc5be3ac52038f40730e3f0078bd214cedeeca4114b9356357fe2d41191e137984b73a354ee8036f5507176e60d80fec56d6e8c90d1600218505bae528992fd026716b1c717ba80395504c36d28d9334a1a34e557586c8b03364dc39ad2098b8e0f8bf5f8bd007f803462d8c4510bb5bf595cae38fe334dafc53c98cc5c1ce1bd4200604558db8189103134f332d81887399a70fb2e69baa4c44a52caa156a9a9fef76f63e119d6d965b03d0bd88113c1e63379b264128a4df013016e8c3f4bc2019457634cfb98573b52f00581f02d8cd39ac365f0621c9fe82fa0b2349345a00eb13405d55e54c40a96e673754663f520a77d4f1c76babedb452096122ebe166c1033fe81cbe69ebd8292d900b7da12c69190ae3b63617284fd3cc478a3d59ca9e1c00581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c74467232a4b00581f02e0d849078abfdfc4ca62ac9913dfb3ffd95c3aab997653ee8fcf4860eac54a4f68ca6d8cd91c600000021906420365fab591029c38421d1c8db124751f35533d8067cb3bcaa7188b0e4b3b177eb903c3b3983e8458ba64068b3cbaf53b966dc492aaa2c6878f44dae56219b019147d03bc0c58639660a2c9119a9af316bb195d90050c0ce6cdea642fa0450cccd2ea6b03c0cc5310dfc4119212a456c696657e22935bf0052831260db7ffb1f503147ed30379f6f5f6825c4ebf8615210187e7ef08f8ece1759b9d03014ff6c2c4cdc8bcb2036bbf1c7d9587b1ce188c610a1be8506dd9d51e788f5f44738ead20180da5ca6003a90c2dcac38e1dd9505ce2ed1ba9674a0c67e387e07b341c5815b5bcb0635c30034497cd482bb097725fc75e8404171b0fe090a18b94853d07cf14243eff1a70da0398c0e9ced9ea5a5761c94b1b68dc6aa671bdf2bc0bea12eda756fd92d144da550219ffff0219ffff0391f92775a86682a1c893063711025b9b625e7fc060d5a3de176610ed364ac67b03ef41ccfe11265032bbf1d8ae98edb4c90184e320232c28b0474575c6f24ce6c803cc85be42f1aa390918b32ea1c7c40e8d7a8c4b43cf4da1081fdb17136f3db3a403d15d5bcd96264e5884da4dcbc1bd9351b055620575a2fc87c6432e1815ee4ba9038c900461ae6110160fed87645f1c43e9045f691d7945a077c908eb5df717c43c033423fbd7b6c1a780624a48e9f47b5a691e23b0cfb35f6b21142da9aee47ff702030005a76675b9346b4b6edd8760eef671a7603b3414f52535f976abf7dddafd6903bc0ceb6898fa940bc46b2091a638b6eb5b6c38ef04f464c80da9d3eef341cdc803805a661053c7a228b960ff9b69ba39cc1b159accf8569f589b3abf04a8de270a033691b0806223e22c4bc0142ff5144f310f102ba0edf41cf5c4dfeeeaff9a7ac20369975f810778d7b74ed7477f0eea6bfae52ed50b5b051b573d10ed2cab4d6cc703a83455af2c037f4d59092ee3aa8bf77ff24165d98d689c9eaac6a06e1aca52ca0360f32e02aaaab9234c51855d5197bb3ed8e7c0bf49a074b6cb7cd5231bc15ff903087d28195d0e553632b22ecfb67c9ecb36652bfe0d5052aa420d57db8981e98303885738f19c1a2bf595b812fe3fd9a89175aee90fdecb1fc0bf4f5d938b5bca0703c2c214af747a147667dcb1ff2e30c65aa0f3665180ae2abe5d9c30bd1364937103c22fd3ffebfaafa39e5fa81c6540e5a1e83d70ac714f336c7bb8dbcdff63e26b034ba8a8c605dd1644bc3efe7a0c80e7e8cf5a4c07b3b373f43464d2cd96f54533038dc20f79052d1c007e59f634c0751d9d0b6be461cf984273a6d60395b925dd3200581f02d3ad776d62447fbfe36b0bc06887611e17139ff684b92c6daa3e3a3b4dee54fea65d80b873464395a5b1dd8b1927f8d7e9c01d00581f02fd0dbfb521ca22836ec3d2421078eba0116218fa596e73410b333bf17820410100581f02f5cc6a24995065b09008f96b51e7d2b40ba878c7a1f0c44a3046a49ead6349a2a15d09519be0000000581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3410103b7119090acbe780a93fae385cf2f5b33390968d624b6be2eaf629fce78fb885001410c00581f02fefff70979a79087d443c02ec88680d599e80255035e680a5e535a1c3ee44a178edfe4c43cff08000003d14e578d2e70479a9c56709bab4812b252db1c0c514467c8131762b93abdd3a1038c7f39020b84df6490a7f3a21b79ece7039b7b78cf1751af47fc0ea162e0773e00581f02de70a1c1c8b92d45a59122e321dc0dca3ef295f0a1c3dc4321690d792cbb4a0790134762bf5809249202198faa0219ffff0361b532ab0ab9a0d291728942fa480ac0cbb6fc40aee230ce97ec82489b2a632b03bc21dcea5d15acf315173eec1e4b5f5a9464aefc1f7d689d82a9cb4e84e6174303fa6bd0d055333072f50465a2623a85c583f90fa7206dae7cc45eaf753c18da60036d8b9596b1c692f3ca608cae67ad5abadcb8bb67a4ce228307d9546605307921036e2e5a652b7d5fb96584b67906011fef11c9538e7db13b25e3363f1d6fdab924031a0ee393850069260bdee5884a36c4d7298bc09a405b2ef2317eaf033789eafc03a7ed695678ed376e207bbe7a5643bd83bbcbb345c80906f58daa7244cf2d591d0365120ac3f91660639b12f6e72690a1d61e699632b731fa7214de7463994c3ac70387e55287c3d5b3995ee1e21e0de6aa92719bec57924855a8dcc9c78c0033642d032549b52b1886bbfcabe9dd74b240338620acbb4b62eb130767316273e75ff45c037a1f14c3589395ce4cd19c1c867ff6df0e905ec4581903706de3e5f61c6ab1aa0313969e5f2679d404f1e3a4f68eb1ced103f9fe8ea98921a2b48b7f61f3fb5ddb0219ffff0219ffff05581d02d123d664f961c903228fef4da8f9b6119cd4833fee10e758404520d50f01480c5fa95d14b83d8b19401f021826031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e038935f4ddea56deb38cad988244cd33bbf5704a556001c1f5619b5299d007011bffffffffffffffff0219247b03d16ce63445063ea03b9b08476f4b9c52d78b529ade5589ef64700f8864d10c2103771cfaa0e94eb303898b49cdd08e0f472d9e3ae6ea9360a3356a9710362ae04d03f0fe4689cadd3aebcbb3c5addb4ffe383f9be0e5f7e083ba08c0d48260dbc8600328a1f83eb3d5e833fb4ea701b05bf9936814df60491aae444c92a4106fca898803b3f0345c851e49f05de7d435917a994f7883b598c62150ed55278bf4bad3bcbe03bafc939ac3245416309db76ecc87ead1463b18d1362f46f3a334bec614035a8e034fda9050d9fd3363612be7e2cdc53ab3555475ddd19a73f18c1bbc64a68d72fc032d34a22714d36878a457adba7523ba678e200ef931d4a5bf2cc59a32ba7926cd034e8d4629a95cedabc3f70059102a0041c60d31d37770d8f078535fb15d01751503db0bf64323993ec3814c73e918effa92bce470d31bc43ffab3d45b36e418262f03bc508b97a28cdae4fa26f7f206dbe08d03493061653e20c2b497d5950c302c2d03f638048d118276d7f6d027e7b3a1096170404e0f266aed97146ab28aefa99b6703d53a1b8ca4f87f04151c80b6be42b02897be78764283c0450c926f4ad2e015d303863ad5c701fb980d1b63e51945da79e74eeedfcc5ef558e8ef2acc6219fb971203f1e7aa2a68911c9bf58be8468b993d95dc8311a5544d1d01576376e8bae4c2d40219ffff0306909eb5c4910bfdfdf1387549663596fd7b59f0a9eacf8ed1c931685e1c4a3c03d7b16e1f36d8e3e37b0c29992d7ccbe6ed5de7a030b49b69495cff3091085c95033fc3f90d1bbf1222ae42a2f06abb47505c00afdc3adb26ff253a6b399249a6be0326316b933894def7699e085779c6568174a01538800fad5eb9f8a9ff413afe4403c3c6bcf4e7a0aa83704cee040fa3b835345ef3537bd13b62e850da26fa99ab510219ffff039f60be3452198007895c92c0b6167cdfbee6bf867430fe3f16ea749fbbb56f04038458810eb68a1f8b710244f48b6c14cf224ecd97ecea302d6b2a278d8e9fa89103040dfc19445701c41b062ec6f90d00d8dae310b4c4580c7566d83bdb4d29f5bd036de98c313175d0db1af992aef8edfff8bd80089bc25d286c96b8df8d1a3a66ce030c67e9451a11ccfa29a898bfa4a85af218c9efbdec1a2e4e63f658cb4546bc4f03367d3c849d723ffe34eeb6392da79ea9fb75e6aa3f5bc56e3633b141a2c3a7ea03b36fae97be198ba816cdfd4cd3b637f568e8677f34d03a72186691132c5f3c1303fddf2c3d8c15a37e8c475fa19a04cf4e4bacac49d86b5a71324956966ac3143203a600b3edb122e1762f120bb686a5a491f6108dbbe3e37066bfb3fecca7a3a8220219ffff03e9ee718b2e5e21f790ad4e87a798aca924fc91184498c82675b9ebd16feee4a6033ef407b4d23679243fb3c3f5e3412e79ea5a9ed7ba5d51ff3420709c8d6ef325036a9a7b2aeeda29b1ac9d55a302e351bc325985bd843cf35876909246ae15b6fb03dfab1f45382dd0a6373817d6df165142d6b946b32cf7e2ee9d268e9cd0ea71640396db0639d53d80a400a56b2b1b2bc65fd2b857048f98ce78f912e89845e59ee203cc89334f91286493cf5413957fe6bc2bd052676241bd533029de769dea1fe7f2038f589274ed33b112aa400dbc73267b568b52f6f8b9b3190e6d1db2c483b19da00303fc3c8ac0955b99992f31e3f937f095b1ca3104eb542fdde0e7d2a75380a58b0351d87a415d4844c9a83cb50466f738c12e2aef5d8120c0fb7ec3580ec36005d603e6ffab34ecbbc59c65d0193ff496b2421d97e4554bc37d3ae1518ea7a9e07d0d03cc806e3463aed775920352a446833e91105e25cdac56d4ecf620964d82cb4a840219ffff03674084f1c7fb45848d96576f79f8c54bf9616c8ef966f2491af1ff166dbef250039df186a6936e34fabd65a2210441a3fab0d1e84fd3291be62900dec2d0d5ec6e03b9205113443421472ba80955539a465c508131b40d1179514815c22e569a8dfc03b383b1fca9076026f3b06d5dac6fa146ed56f0274bf8a53b1f402a03d27cb6560364e73090822e4059f582632bdf642a832107984c31c7861f7cf9dbb49d328d4c032c560be6d6b28fffe39c815bcd74d62a01084ccd4a047dfa2e22257bf4b718c7037351140aac18a7d8041a16c7df0e6fed7343eec417352c7d5c42125cdd6bb71903bb55e04551d8fae299fd48094ca06af1980a2702e6ba7a2be2f16026f526160903f31cc54f8830f92033227cffdc0a90212f6f72bcba237ba7144f6e16810ff27e031954ee595d43374a498b188e88ca64308383eb35f12080d367d347d37c2d9a9f03d86407bb90bc9995a3614d5ff76575e244a001de3f3bd20ca0d8e08bf8f04f6203ab16707b83ac890f9ab25fdb5c7d96814e42c71a475593f1a45b284bc757d56f03f0a1c9d8675c222778a8ab25113270c42d219a932aa884406633ef20331134cb036ea077878ca1726f920351790caeb45560ab8c2dd64ccbad63dde7966272687a0339b77d45fbdba49ba06de97ad6d934c04213da210b6d9342b661e2770ab3ece903b82dffb1bd20e20b59efcbcfc674b83aaf557b1c11d4d610d5f2ebfbdd9f297f03cb6f70f7c38e3356997b665385754fa8a78e5545c7ab2adee0ce20d4e8bf0d1703519fc13b30324cffc1fe737ec0a9a7f39591acfca486f4ac3fc36ab25ee541f403f68392d4d253483b15a056ecbdec86d47a7a0c5d9d7858eb5c20a11c7298618a035dc2395f03f277417733f97c572e321e9c8d4aea0d7d6dffeeb15d7967c94ad203a6277581fdb66b1b95d0b19109ce53ed000d743e73a4378dc275a077005c90bc03d892f87263f8b26a9d989b2a812ccf1b0870fe5c674da550d0363000d6b530cf0352ac81c1eaa4ed1fc6cb65f29cd8c37ab6fbf08d46646df6bdc26ec9a366f70303624e93bf77550a408e5611af88e930110b9325897f0c7e98e91f80956ac1e04a037a9611500a3d521456986b091137dd8801d37a3b3f990aec800202bfe9e4c08d03df8e0e4612eaaa13417da2be1c2e85edd8b7b3dfe9aacc5c31379a0df39d01f303c47fe123359bc639d5401ad57fef83b43f48363b8412a6994f22229a7a3f3ec103d93bf258f5d1d49fda9f0715a6dc77f035e48588443a001e6359d680045fe3f403f2950434ff23b69fa17910db8510542895edd9cc6604776027490ba428b965df03d7c0878448a5dcd0f4ecd40612358d3f23baf066e15144e64f9b73d077f0b0650316f7e57e9b57eb41c7d5e8de660e980f54e52249a7180cffca863d4fc6963556035854c9a43d6e3b05286fa82751303cb720ba1f6bb23d5a2d314ae00627c91bfd036d9fb1a61ab39971b8d64618e98a82bbd9ca29aa2cdee31b4e810744a4de9bdc035a31b03834112ecf687df9fff17db7241040affe19fd10764e00ff4de8d878bb039e8ed5fa2d3c84bbb4e2ff4c30ab4dc298d7e22b12c93243777b57c2aeaaa19a0391bc0d441f6c7750100f6a37c0d95967be01cd93472334b9ee5626128ef890f0037090693c234d64eab2ce9b11382d5cd7693109e10cfa909888a854bb3dec1be9038ab01488ff9824226ba17e2fde7979cb8c01aeea2f4c7a3557e9f27e40078c25039176168cbc4f0ab57ff42dcca05852d94f6eb1045d73b9de0677dcf0653e2f7403437966896052f9f1c5d2e54af0ffba9b5b0d8c87a54348092e9f656ce4aeb93b038d004ce3ddb8b718da8769b0e03e80f5ec025af6d5d486537486ca3da1aadb5003c72b0afcc2609fb36d3208b5afc9b550eea052219eb75904f59277af62a036ba03bcac9c39744d7c4039ecc30de6b70f144276c9da33fe4c0416bdf9b4168e4eef0330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e0320caafeb5be85dbcfea0f8d7061492236df569249e15c82b9d93973f6007011bffffffffffffffff0381cbff6d091f34426370c99ba68f18c034b05161e027e877e606e8d933492bf105581e03af1cd701534782b1e6c99aea6662313867742c39c40134e456bca748000847242bd6967b6eb803cca7394264ed86655842848af794304c3f6d61a5e60abc771f73eae6ec242acb03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e03d56d2fc970cc4d82dc678052b9a482a328815cbdd0fe8f96f29b2b87b007011bffffffffffffffff05581e03df230ba9a498aaeb41d63ad018b3a005ff5f3c189acd46c41028b352b00c189e48067c81b374b12407031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e031d452ba88cc38fc71a83c39f4a66eaf5f19f9c556d68be29edb9d77d8007011bffffffffffffffff03979968c759439df6a6e80416c1a53bbb94a452a20549976e452c0f3946a0778c0219db1903785b58af16d59ffbe3bb963ca429d6497f6dafa3402d124ee2c88c1def522e790219ffff03ac1388ba68f5b164c978f52a5782e2f5c38c44ba613e1d086304cd3deebca67f0337f29b04aa47aec5dd12a67fe286f6e9a9534d21ed351b9fff13fbec5f40616f03d734aff8102c6438426a0bd9dd5adc96c9cb2e10e9ccbfe3208bd60d39fb5e630397394243201d42e848080be41eed73518200fd308da1dec14b20f2223d4fadf803ad6deda8d5e782fb9cce7c4f9110ce46d1711f97abc2bdbb5694d7d7dc75853e03fe75ad4b3f79943881d240bbca87e8c04476badd86ddf7d4c3ccc7b1f1001e6603a1638d69157b915fcf2eebc2b73b011d7897f60893bb463dc292cb329b253dec0383ff6b051109101c258e6df955daa507240f734ccfc627086879ba5ff59caf1d0219ffff0308422c97b4db906c67a74e987c38a7e8ea440c45cbe669b9d390c7966e176b2a035ac824a1ffacbab3e53da62e7c3856bbb3519bfca7a1ff5ed5b1e21e6144b3d103b78bdc2ad32ad0cfab8efe8d40bad2afc69cfdc40b3eaeef2685db451973086703012160624d86433b6d45db841b2bb3d57f5d80048c3a5869481afc3049da3042032223705a19d270f63c5266ddd2fb47bffbd794a7569b3b845682ca256407cd9b03e715b9ed638527674879765c51cf72a5d15433a789ba77a5b3b973348c6d11ac03e41457008786ae4f6a4e0605a39bcc5f58114195c6c8929a365cd5360f30c7b003b7af8d975f4b0ffbc47257b0e625c3d76c7281630c0173b94b877ecb6d028a2803c86c4a0bef33a63cc68e1d213faababba7af8cef22f348812903e54897db237d0219ffff0219ffff039e7bd4bd542d1894c35920c1875796847e317bbb5a673ace18686e1906be834503214b5c19f06ad126df1b84cd49105b1197bb943db34ef8efbeb26abc23fd93df035d2fc4591d9719f961b54807e204ecfda637ae228d9f653a8de11a49b7094f4d03a29bfb3a8ac33a8a079ed7f52bd58fa3571eb88baeb7eb1257e3a963935bf74b031c6274abe98a6664f1b8e0150c0be55a530c54ef7fb57d09f64d25dbf2d4c6d3032f47e76138ad40c5c631caf786c16f7c47e2deb90e12755ecb9dbd1e7f3eb55d03adfba645dda419b897e19c36c0fb806e62bc146d0deb9a56fe92152eaedf51b903feb1350e332fca0260fcff26e3cfe28ff7a7c6cd00cee5b417d982343631f967033509af0d1a0c4a8cde5ce8fbda8459ec5669ddc4d088df26c256dc7b7af99c3403f1d18184a6440a2c362ad2ea78ee6f1e963ce26b0b82ae039462a6820adcac060344924dfa01ffd9424fe89e33891a3909805454e4cb32961d88f080a87a799b0d03162765072b76aba8218486012c1b511844c257a18f6fde917efce7ffb69cd0f3038a406f73e7742f21755388f6cbbc160dcf489c5d53e2f7be11d6a7803161beb203200cf9bff9d4f02bfdec78fe273cb9a056e606b2a75b44886251bcd501250e22031cb1c0e0caa530797b7df2a54712b248a85d3a660afa84ef82a1edb40168e668037acf38af2f647bb488a2674ce3fa546889aebf11915a4e8abd747641b915dfb703c3834820f5c3d21d78ad3d27996bd96e3c2f61645d85a96736101055c8455b4503efcb8ffa886731a06166c76bcf0d7b9236e0696acaa59eba585d4c61f2f1bd4a0362e8931e54d3434f48bb5ab42e2a40cf71f922c0865dd321e0eba2fb6a4b94a10341f696d6933ee098b7b6a666e17af628d8746bbcd86dfc55a4b0cc2ca4083bc603af85ce8fbb77a5ce5714c408a5ff6ce3ce2d5f7dfddd9a647cd240243873551403ac0ccb71233a1fb792f75feb399535ad80eb3594bea8f2910f6d3b706266ac15032527947f19f358434d2001914fc8bbedaa4ccca0280493be101d788c1a918c7903b9e69ff320d51b9bf58f2159fd491d4ff99cd41e0b687d3233970a49c03fdc6a03fa96e48099289b55d4adfcb15d8ffbc3e5a9b2d0b0dd589d4876cc78a0dd255a032713c653ae53d7eafc4a094c374478b4f9d0a54412736f27729997b3bf7141b703fb759a1be421d9b114a96a46d7806054f824ca54786ac9e390dccbf50c0d90c40356d7c2d69f4c02f47c0e99e2507f93b04332a96258fade9d7191644defb11a7f03941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03e9a3d392e411898e63f06d94f38bbe721041dd7899c850350ab4301cf007011bffffffffffffffff05581e037c23f5c62a87aedc010ec172adfb2eae7448b79d4425c2e22e921eb4200c01470401145a1a968105581e0381107858becc4ac581bdc231bf54f5504f024d97ba411b73c79e7455500402033456ef258b619d989710a35e93b471b07c74d6cd5817f4bcf4c16a4dd40a070e03bb9f98e02f2e538dc47388d31ab3a7d7367368b4854b9a5dd8cac6a5945c92ca05581e03d8d3b72e0a543c7edc49d1bd40af55d7e8edfbd98b3dd9403cd1ba9e3007011bffffffffffffffff04590e086080604052600436106100345760003560e01c806392f5f03714610039578063bc17c2901461010a578063eb365adc14610148575b600080fd5b610108600480360361012081101561005057600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013582169260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156100a557600080fd5b8201836020820111156100b757600080fd5b803590602001918460018302840111640100000000831117156100d957600080fd5b919350915080359073ffffffffffffffffffffffffffffffffffffffff6020820135169060400135151561015d565b005b34801561011657600080fd5b5061011f6103ae565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561015457600080fd5b5061011f6103d2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614156101f857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f544f4b454e5f504149525f494e56414c49440000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff89161561023f5761023f897f0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582896103f6565b6102db85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505073ffffffffffffffffffffffffffffffffffffffff8b161561029b57600061029d565b885b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000001111111254eeb25477b68fb85ed929f73a9605821691906105ec565b506102f3816102ea57896102ec565b885b848461061c565b610306896103008b61068c565b8c61061c565b60006103118961068c565b9050868261031f5781610329565b6103298286610750565b101561039657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e53554646494349454e545f414d4f554e5400000000000000000000000000604482015290519081900360640190fd5b6103a189828d61061c565b5050505050505050505050565b7f0000000000000000000000001111111254eeb25477b68fb85ed929f73a96058281565b7f0000000000000000000000001111111254eeb25477b68fb85ed929f73a96058281565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d602081101561049757600080fd5b50519050818110156105e6576040805173ffffffffffffffffffffffffffffffffffffffff80861660248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6044808401919091528351808403909101815260649092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905260609161055891908716906107c4565b8051909150156105e45780806020019051602081101561057757600080fd5b50516105e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f415050524f56414c5f4641494c45440000000000000000000000000000000000604482015290519081900360640190fd5b505b50505050565b6060610612848484604051806060016040528060298152602001610d8060299139610806565b90505b9392505050565b8161062657610687565b73ffffffffffffffffffffffffffffffffffffffff83166106665761066173ffffffffffffffffffffffffffffffffffffffff8216836109c1565b610687565b61068773ffffffffffffffffffffffffffffffffffffffff84168284610ae7565b505050565b600073ffffffffffffffffffffffffffffffffffffffff82166106b057504761074b565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b15801561071c57600080fd5b505afa158015610730573d6000803e3d6000fd5b505050506040513d602081101561074657600080fd5b505190505b919050565b60008282018381101561061557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b606061061583836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250610b74565b606082471015610861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610d5a6026913960400191505060405180910390fd5b61086a85610b83565b6108d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061093f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610902565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146109a1576040519150601f19603f3d011682016040523d82523d6000602084013e6109a6565b606091505b50915091506109b6828286610b89565b979650505050505050565b80471015610a3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015290519081900360640190fd5b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d8060008114610a88576040519150601f19603f3d011682016040523d82523d6000602084013e610a8d565b606091505b5050905080610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610d20603a913960400191505060405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610687908490610c47565b60606106128484600085610806565b3b151590565b60608315610b98575081610615565b825115610ba85782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c0c578181015183820152602001610bf4565b50505050905090810190601f168015610c395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6060610ca9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b749092919063ffffffff16565b80519091501561068757808060200190516020811015610cc857600080fd5b5051610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610da9602a913960400191505060405180910390fdfe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122050397ee787fb1d58e3e903238c7d1718cd391327e4fcea9bc1beff8a1dd1012d64736f6c634300060c00330605581d02d2204a69e2cab0614ded273c14f6ed5507d3425b08ae058f277830550701190e0805581d027b02eda395acbcca1f278f117d8dc3881bf21ec746fb555f3be2bc6c0c01466aa6d003a45802194080038d712fe74b9ee69e7222ea2a85c0685b7df0374eadb16949ebd897c2463c6da405581e03c273b15c6227faa815818138aea127c617c45428feba3efe649162c2300c024616fd3a57bb08033997290701117991e651a2d16583488a31adfcc520f7b2b4b7ddf33e34d21c2303e376e6a774b34999207f4f5fef5fc6ee5f822ffb11b7ed3e10184561363f52a502199b5c030acccd5f9cca5be57556cc9c2549e2ab8c5429a802efc462cf6474ebbb63fcdd03d0eefaeed780a5b7a51a7be564762c33b48362d2a017e8e54431913c671fd26d0391fb34ca3d9cbd9a482f56693536807fd015222e6f11e65ef5db6a2d7e5c0095032709ad3b8548aefac7246f3c603048a585b67ad734d0defd49e3368e596af06603eb47188a845d4b12585d8d5af9f3ef0235fb71e9ea5bcaa12b293524864b1e9b03866c2e499fbaf810a7e793a79ec6ac6dca2f78233ec4f3b3337684d418104a1e031c742a4d485ce5012bffe5d8a33790b136662aad35beb4cdcf4b6826296886c5038a6235795c3038b9e710c3fe7851f2176c6736d2695426a203148a8e7f8f09c6031250f583531df799a3204a5c74feb047e9f5ea2d2740f495e3e7139e8b7a36f5031c98fe58e39f9e8588257a95eb7cafe45d62d2d2d3d456bc8c98e9260bf8a926033b1428e816015b5fc58bc1f3d4744611c03fd4c1d5f338e07995e3e7167c542003c875264b72cd11897bd83c44aaa67024ab99ed5f603a18e5da17ade9443e3c8b03afd3acc93e8e98695a22221940d3b4f66a65efe759b6e8bed9e206ee7aa835b103435813634a0fa56f1f60f99ad84120769a140aab27356082ecdc1fa8bf647d140219ffff03f5c8b9bdf9add94b76a6b6272a2fa758f4035b3fc28a0dcf0ea9ad35baa85ead03c9f36414bf3b2fd77a27e454a8e1ea418066774383cafbd337d56d74da1ce9910219ffff033b56e3a3037afb44e45e5c60d864ec872a8aa2925ad62857b93bed128144210203dfcf632496be870fba62591c47fc8fd46f8e6c3dca773e93e1de3b9079588401032b52fd5f54236907542544163625a958e70bc90bb0b2fe0e6bd2604a36d5515103cdf1865f8b17bf2a7049932ef6f957c7fa70459e25d80ee1e21ea6ff3b86db6c0329ef68e3744741b721256b494115168fe03aac80aa9901fc1a28f4994262be73034e44402869b6538dd9b32937b713a0c8d02f70fa2acda1d9fbd087c0f18998ee03e1b564eaddb0d4f18e1feeea68958b87a82c9dbd1621221be0f41d21077572f1032dabeda89f4dc03caadcb9b9b020f22b739027dd86695b110f02096b34074c5603a15f6d4fda6254cfb8ad7f4c2f6595f6f39647c2102bfce3b60a498534edebf2033a74f8cafb8d58343825f18ce8de235e474db32b86064cffe74c92c9044db7430367324118546699b4e35883aa35098c7a6ed78cfcec95aeb8711222dcc90a366103bbb2b015ec9f56c580260b06e20a45738a98cf6fd6693fbb6f1d14b634b5b28f0219ffff030b6061a6fc6c6cc0bf4e14182ac0f5ea60b3d7a0f934bff3827d57e8614f428f037e047dfc68610a02132d55cd94412e6bcc7dc41fc21c968fdeb48f02b5e875ee03e04b56ec145e3fd295edd187f2ff5904571442de6d88a272ce6ff69932e8128b03b61b179a6522694cb90a03ff84b3fda472f5cbe6e41b81aac6b6d4ab37d11bb103e8f72598afd1ac43823f7ae0abf50fc7bef7b9c9e4d81d655355b64aa20a10310219ffff035c74821ff95294f726e3d749ea74cd71e5d6d059b177f226c649058ea82c8f9603c2abcf67bdad3495dacaad0c6dc5332fc2f0ca16f81c6f5fad93552ba5ef5c1b03d53c593f12b08191895916410a3539afd4c69fac11d2aaf50593fe012e40828503208bc5f83513aa83b2e2bea32817b168bed8e5cdd9a9311273ae11a4c8b3866603266822228f0274397917c5f104c566926f748f95e65c37808e3cbfeaa359d57f03785600c880ac2bf37b1d61c803fda40dd1367d030ba0717b30b0592a161b561e03191f7ca9bf4a139cfc02caa12982237d164439fb143fe70c46484baf4de28be70359548768f8a3f1417ed61428ff3cf83ace8b77ada4c15b501f674837bf181fd503a25ecd0f04106e65150d7b1956901e1402f3ab5902c8767f8e7e29f0cf97893003f9f1685d6b3e2e8414e94289e1d5fd65e1a27b499b0bf69f0abc8226a278605f05581e03b3453c5ce7453e269eb1262fbad7551536fc515056369fa664c22ff7e00c014701754c2c6cc20005581e03507d65ac16798bf1de34521ff015e75d6c5662c3d57873b084ba8adb500412037a3a1fece4d5dc0f4135079e63f347d71943b2d5033ba22d27daa6337d2b7a070399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908039fe4389872191b26f61e2a8851bec9ed9bf5ee2de57a2382ada5664634e0bd6c05581e033015aeb999e2687ffa89bb38fc55f802878880f294cc3ed284a5cecde007011bffffffffffffffff05581e030104fc139d9db03d83c1475b7d337028652bf240486c9ce49f69f23cb00c024623671e59104803046283f006e1543c546437bf93cc4386f53b02a75eda454ba4d3a00c2814204305581e038a380f6aedf0fe4d5765951afff1b826ae49d1c13454f64331bf7753d0040204582d363d3d373d3d3d363d733e88c9b0e3be6817973a6e629211e702d12c577f5af43d82803e903d91602b57fd5bf30058210341d2cf6719a68866f97facc6e7f704fdc9b538ab5f34058667859da9ae747e30410103abd7530cff75a5b56a00bd1174e69b4187f7709f71e649ea28093376af99306300582002224ad9176c2824876305ca50e68144f2080fe98a874b328c249b1574d761934101005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341010058200213d2eb23e69b707943e8eabdfb040e8824e930d51f10f296cc80a1340e71074101021982010058210391eb3e163c3003ef492ebcb29cfab072cbcf1e9d054a87f364f38b59d1e8fb80410100582103960470c56a52d10e791b5723496c15dfa504b20c2d16f73d0cff48a1129735d0410100582002b1bd0ce058786fc4b2d1ba99ffc7e0140c3ff24f2f82fe5e512afa24bb341c410100582002f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec4754718de76816d8000005820022af596ae906b29b93c521e70ce0cc2d4cfaf4d6792cb168d90ee353684831b41010219022203667c90f9ea8eda16ee5c1b73bb486d75939a322ee4c3427d98c9e2b8ff24593c01410a00582002e0bb7a62cda03e9a429bc9da8330c353986d2b5e829de6183825399f37a6a7410100582002227675fc7918a27494cb10689864ed64330a93f9debbe2e0bc16eb7ddab6234101021100582002c66d1259ad2eb341b3831e1f253a5de0b7ed19f8d8a41460925fef96b099a441010058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b54e07300c13d49b8560f51bb30b45c22ca7cd08af80219042003b074ca3686ff72dac03ffbb0a83b5fb109e60dbd53a009ea87ba92e29b9e5968005820027c71998033d00736c1902456fdaf2cf24586fcdb80f1fdbbd85273b92c8dd341010058200261a9fd9c26e1af342cbf07f36fba50ce89078714b8e61a69ed7c5a84d1fc6f41010219402003c915ce5af1415859a5c4f17f64d060621f936775d74369c876ef67b20151a6f800582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b54a36caee7b277630890f8ef5f30bb712e9d15cd6b005820024f8c6a915ad7325265d39baddb07dd5f88271407aa104f641fee14c470434b410102184400582002722e0290e64b8f8a6e9557c6587f05f198936e63a9f2c1cf7fe785c75b054e410100582002b773cbb2d98f35e50979301553c3956cf7cb4bdc2fb1b4370c7015f55c9a3d4101021922000058200289e8fbbdb7983ffa2442fa600a841ab1c2d3a2a96c1a014f645b84be8cbe2b410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee354eb4af8a64070ef0dea6260e0bf2310748f014d88005820026ba7feb60662bec9a1372a32015939102db54a758c900ff70729fbb22ec548410100582002ba0cdfdfa52b296046c009bb71438ee02f06247af496e143cdb9a9879a54594101021903090219bfff05581e035046ac4ccfcb3a6327c01d8509f5c278ac4e31f6b31c3c678b31ab60a00f0147b3a23e19b63f04182d032c1b0ea9442cd5a20cb3b846e7d1b964eaa2994ec2f14576a05aa8127b65db40032d3911e656c8624cd977d3573b0cfabafe088fc8ec9b26eca8142d776b3b16b001410b05581e03b8197837785166317531b3e23606b0e3ef544830f088e609657cd387e004010219a7af03a970d4dc7d339d99cfb2d1c41d2ca2067741f33d7f60c31455f331478e7adddb03a39c2f6414a781ed043923fc14ffe0a8c6ef676adf9545ba714bf7990b29699d0340d282644ebedd728b8bb97f490e8063f690e5cd9b223f363b2feb74185175e903d74467da41599c94a2ecb554f41379c31d87dbc30b82c79eaa37fab410b7816a03b002bd9603371eba6d60bb3f0c5f635c971f64ef1fb6d8bbc462c6233432243f03fd13e72ceb4b7b747a095f7bd6503eba5253cddbfa59cb9d710578e823ed6f3e03d4044ed0281dbc692d43aca811faa4e7467a36d9bb42f2891cf06007003a9fdf03ecc52d40c3c14d796ea85bc8fe3bda18c1da018405b1b758585b6d4d2680776a03b7864721d5f4b97d637446a9aba70e66999940452a186c92f5daaa9ee3f81bb103f26210a8b2339693149883da6eff844ad2db512192decf176ba01479bcfa4a5b03a868614a02db7c4ada18898594d7706d1f0581da623dc42bc26e616949edcb41031fd3db450f2e3132cd1b2546611ffa93da6f2396b7635b107631eb3e0c9c8c0c039da43bd741dd79811b72fe04ca0dc00086a9b0af437b483e8761a2faf30ca088035b46861f85ab0b6987254802d9134df4118823e126f8d08b7c1b2772424e967e0219ffff03ebebcc739251197b3b08090de2633bfeb5bd4221efb91870847662763c94600103987768371db29e94aa640ff5b9ef72c02a0994242a21d90e0b61f62f434a8f260384f0f61fc450555e262ea002a34c5a5b4345fde8995dfc909773698c1d80ddaf03db80530326c8b110eec387541095c4161319c7f94ff3f71ee0a6575d26ce0a0d03817a7852f6f4f5f5bae01cf0f4b25cb492d00ef4094cdb9dff83c2fb91e489e003a6d9a92d454d00abcbf64216a6e6005241369df3386df97ef80d27822f006b6903e834aa44be98f95f02b9dd4dbfaa46568cdd22ea60d7984c790521eb23cb579a0395ea48ce4ed775c1bc29c0764b1c75dad24f38e779904b28c137ddb653647d7903a62561e7e3f6ddc51b58b7234c1443d08d0bdd8da1017e9b39d4a0dd1cbaf0650219ffff032ee506af43a09c644215d7b8bd0b803c00d91dfdee1c2a8a798122c9af4a2ca403090d5fb87b2fa47cd6a9dfb0eae881ec6aa3d2d001319cac38a9273b6b652c4d0313d6125a6335571541bd97d5783d7cfd3d01726fe97be52a300afbba11969731035f10de4befc24fc1e35ae7b8e01162d35c798efb196193f50adc502a318170cd03b5299f601ac46efce9c546ecc328bcd20dcac13e573167555b45644f8f8fba7103a8469fc48f12cc96d7c27d02954306a9d8fdd76b3486731119ddfab6b0057baa0370df288a76c55783b5569f8687001bd0449a2ef2da0cc424f84650db92cb23b203a54dbf198c4be22f8b9a38aecb3adbbc03245ed28558dce0f9eca18a3bbe5a0f036a4881f9c9b42bad53662e9a8b2bcabf765c61714762f4dc271785434e806cd5037b0f328fba72ccf793aa30af6189be6061b048e1405f2b908bef135ce0ed96ad03440c2a78a344676af47888fa8375a1722775ad61674703512785af3b610f73c90328ced3897adee179ad341917452da36918974f0896053f3ee71af6a6f95af5d0030cd40e9596e0f550050b116582332f067e7715257e3206e18e6180639c18c44403f344918b75490eb078def52117a83729f74967e82f4f0101e3099062f10371dc0219ffff03dcd03520ef6cdb737f6db64a695efa661cbcb74ced82a26e42f26cf6c85638ef0383991c0985445526f7db636600b8f78a026985b539aabbb1ef055d578bb3862003267160de4b41e2bccab1fa6bfca5f69c1907b1aac47d9e8bb712959b83ea659803630db0f1dbea36b455a71e2884e40ec35dbfbdecf276463452929e90cfb06eed0388a71c0bbd5dadf74626a2d151ee7fccc5c3eb14dbd4ac3432e1cdc57c38302d0391d2e9da8b6fab89dbb50aedbc342bb0cb5bc41021f0b27b0aa7aeece63fb73603019e89657469bdc8bef512636db8ee3b4b12acc37e79de856307dc32d70dbad0030cae5bd6c7e77dfd288e9037414471cf9f58c21f0d39403a27ecabc04d96f4cd03c45878a7563e8f1e4191e6ef602d0906d5d8194eb61d0eda80edb7e4ebcbe66c0392ccaaea3b8ae0fb2c6331685ced10fc7a1009208c95b2b9e1587626567da32b032a1e354862f7e4150917be07b280ecaf5ab380a8644d166cc42bced573ee6a35035aba5d5e0c306f567c2a5c9b5ffd981c7b1e70b25e6e533680391ffe537653dd03ace39c4c643041d0e403ae90c99c716da7127a794db79eb3c4beacae7067840503e01b910cdd8cc71d9bd4d8bca1a3978864d2bd5e5cf20379ecbdc6f74f0623b3037252fa630e930efa660273a206f31ab6b30820c6a325ba780cf96cac00a292ac038f97518895cd81089880ce0327c010f0222a1e7c4f3e9e77981ca00f12e6c2e7030c5f217c7f08deb218f5692eb16a10f98fdeb6c58d3f2cebaa5f93d2cde7495b038b3198e9d78679715316573baa8a1a7bf597311e13f9ac10503c05e5993b213203102a29322afed7dbb5f58dc25d10258efdeefa487544b6ae95b8e35ef649190903c537256a0de3f9345d9f2d7380f005c8cddfcc5d505c739a82565f565c1f058703a7c93f278f89b5dd6c2600d30eda6c73f57f49ea1378995f8e593b3235c313670363d98dad74ef32af140cbfe88ab35ff9c6be3e002c40c6f2ca018493eac86611036d4b0216408ccb1cc79c65dca0b5d589d6203ed0b1a964d6d71dc90f507eb22b0303a2323f66d2194c9718f2aa88f6b66b195e10b30471285c2aabef3cf66e548505581e03caa53edf3d335c2ac7964baa6c360a0077493fe5b7b2d001ab3294e1c0040205581e03c0d6ee25d28cb5524b2120882bac75e33338cc219e0f8de7f16c71e5d008470a169aa312d8cf05581e03315ec24e4b7cb3fa376e722b7c43d1cc7d48b52b996bfb2528911201600c01470319ec62707a1d05581e03b734dea6e9fec85e433c6a819172889acc47adf440cfba23a676bfd2b0040105581e038b469d9f0cb08419e6110b8b5bf15a9167030ce7a1ef83b7c1f12935300c02472edb3642aa447005581e03d8eba7b0ad53ab7ccaf9c725202c193b2014b2f83e091f0c4a30b75100040103899a45eceb0b06e2a5ba52b91ff0b88a20dcaec43325f13a2a95cfd21b95afcd05581e030a0c60466fc3fb70f6e69867efe05b9a7bc30a4a1f3224fee53257e2c0040104590bf9608060405234801561001057600080fd5b50600436106100b45760003560e01c8063accf9a6011610071578063accf9a601461018d578063d7704bae146101a0578063d99bc80e146101c1578063e172d3a1146101d4578063e3176bd5146101e7578063f2fde38b146101f057600080fd5b80633366ff72146100b95780633d0f963e146100ce57806364431a27146100e1578063715018a61461014d5780638da5cb5b1461015557806393e59dc11461017a575b600080fd5b6100cc6100c7366004610968565b610203565b005b6100cc6100dc3660046109bc565b610329565b6067546101149067ffffffffffffffff80821691600160401b8104821691600160801b8204811691600160c01b90041684565b6040805167ffffffffffffffff958616815293851660208501529184169183019190915290911660608201526080015b60405180910390f35b6100cc610393565b6033546001600160a01b03165b6040516001600160a01b039091168152602001610144565b606654610162906001600160a01b031681565b6100cc61019b366004610968565b6103a7565b6101b36101ae3660046109ec565b6103c1565b604051908152602001610144565b6100cc6101cf3660046109ec565b6103d7565b6101b36101e2366004610a1b565b6104d4565b6101b360655481565b6100cc6101fe3660046109bc565b61059c565b600054610100900460ff16158080156102235750600054600160ff909116105b8061023d5750303b15801561023d575060005460ff166001145b6102a55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156102c8576000805461ff0019166101001790555b6102d0610615565b6102dc85858585610644565b8015610322576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b61033161086f565b606680546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f22d1c35fe072d2e42c3c8f9bd4a0d34aa84a0101d020a62517b33fdb3174e5f791015b60405180910390a15050565b61039b61086f565b6103a560006108c9565b565b6103af61086f565b6103bb84848484610644565b50505050565b6000606554826103d19190610ae2565b92915050565b6066546001600160a01b031663efc78401336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa15801561042d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104519190610b01565b6104965760405162461bcd60e51b81526020600482015260166024820152752737ba103bb434ba32b634b9ba32b21039b2b73232b960511b604482015260640161029c565b606580549082905560408051828152602081018490527f230bc8094d790356a078817d156f95cc1068e9ff6485359f6a986170f567b63b9101610387565b606754815160009167ffffffffffffffff80821692600160801b8304821692600160c01b900490911690839015610593576000805b87518110156105585787818151811061052457610524610b23565b01602001516001600160f81b03191615610546578161054281610b39565b9250505b8061055081610b39565b915050610509565b50838188516105679190610b52565b6105719190610ae2565b61057b8483610ae2565b6105859190610b65565b61058f9083610b65565b9150505b95945050505050565b6105a461086f565b6001600160a01b0381166106095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161029c565b610612816108c9565b50565b600054610100900460ff1661063c5760405162461bcd60e51b815260040161029c90610b78565b6103a561091b565b60008467ffffffffffffffff161161068e5760405162461bcd60e51b815260206004820152600d60248201526c7478476173206973207a65726f60981b604482015260640161029c565b60008267ffffffffffffffff16116106da5760405162461bcd60e51b815260206004820152600f60248201526e7a65726f476173206973207a65726f60881b604482015260640161029c565b60008167ffffffffffffffff16116107295760405162461bcd60e51b81526020600482015260126024820152716e6f6e5a65726f476173206973207a65726f60701b604482015260640161029c565b8367ffffffffffffffff168367ffffffffffffffff161161079d5760405162461bcd60e51b815260206004820152602860248201527f7478476173436f6e74726163744372656174696f6e206973206c657373207468604482015267616e20747847617360c01b606482015260840161029c565b604080516080808201835267ffffffffffffffff87811680845287821660208086018290528884168688018190529388166060968701819052606780546fffffffffffffffffffffffffffffffff19168517600160401b8502176fffffffffffffffffffffffffffffffff16600160801b87026001600160c01b031617600160c01b830217905587519384529083019190915294810191909152918201929092527f92d8a3003262a4b8ea0d2818ec49eb874ebb871df18bdaf071a0c577fdbd6854910160405180910390a150505050565b6033546001600160a01b031633146103a55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161029c565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166109425760405162461bcd60e51b815260040161029c90610b78565b6103a5336108c9565b803567ffffffffffffffff8116811461096357600080fd5b919050565b6000806000806080858703121561097e57600080fd5b6109878561094b565b93506109956020860161094b565b92506109a36040860161094b565b91506109b16060860161094b565b905092959194509250565b6000602082840312156109ce57600080fd5b81356001600160a01b03811681146109e557600080fd5b9392505050565b6000602082840312156109fe57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610a2d57600080fd5b813567ffffffffffffffff80821115610a4557600080fd5b818401915084601f830112610a5957600080fd5b813581811115610a6b57610a6b610a05565b604051601f8201601f19908116603f01168101908382118183101715610a9357610a93610a05565b81604052828152876020848701011115610aac57600080fd5b826020860160208301376000928101602001929092525095945050505050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615610afc57610afc610acc565b500290565b600060208284031215610b1357600080fd5b815180151581146109e557600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201610b4b57610b4b610acc565b5060010190565b818103818111156103d1576103d1610acc565b808201808211156103d1576103d1610acc565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220a18f9c44358244a978de0615973980fdba649221e1efbe4a718ebccdcb95481a64736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02e2eaae8547ce8bc061fb74d12e0772f5747817c2cc64cda8c149a4880701190bf905581d029784807abf2dd5c4a0a218c33e77c2eeb43d067ff4f593e6cf1124da040205581d021cc0c95f3ffecf6d18525d75eaa8bb32cf455eb6e365a6e41ee0c256040203647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d035485a952b56c097ad744f45a0246568a89b2ab61847068f77b88c559436aac0b05581d02e64a7f23b1784c316bb8eda751e7b4c3a60aa250b7c4ed7ab301563607011bffffffffffffffff021911240219ba4b03b5fc10c88a4789f9b832d8e8bdae1447a313eb45262eaec58dee0b44016c80a703b07337d8d357fff72846b97db0b05dc8b72f1d6766103ea8af2340f872f4b2430219ffff03a3eff6bfe97cb23b920e013e5e74c5d83ab57f2f4b03d558a4cde426b1737a1403ddfa7e51f0d5386dd4230cf1427371fffb068d106d9377f23fd410c72fe2d89603a85d9ee34320b78aaed0034fc775b180eb321503097feeada1bdeb8d787e65d803490737a70fc678306d824d1fc3c8dc4164ffe93262cf96597f499451437598e303215b481d8f56edddc045a433bd8e3e9804779a8c57288bd44770fd0b4e972a9503b43d079df8148eda2a9c6fb5ab85b52568097f57e38424f7346e331996f27107038b89f46da92ffd364bac8363880a9982b1768f34c28ca48ea1b83a0f6204364b03d41eb0182268ab11ba3c63c09c8fd61216783881bbd5864aec2d84b6d43f237c03f02fc3b49e4f7ca5b57c1d6d4b79e58c927c59b1914c6cb346b648bc7bd7e2b0031ca5382cb4d10607a19047a1916e5409644520f47b53a875a2760730eb008988030d6b3901ccc541b3011ebd3915f64906ebd61f427dcdc75f73e1fc1082138d9803076b117cae93c819f3ebab4f6893e2df1a55c22b289592e2281ecceb6c681e920305288deb35cc4e142608475ec7592c5f13e63018bde9e93e1b6977b5413c859303d154ff577bb1b29801ed4e6eeb5f2c621866b871fe4f54d2f10cf6344b661b120317e2559544167cfde28379a2d10b97ce48e33a9b0aa3d79d1c91508dd6cb8a930219ffff03aa2574b1d232f755a5e1d683d73b985bdfd5e40f2d1e729a8d889ff93daaffce032538d8575966c04dfb821bfd19b67eef4cc2ad29beeebd5bb3f117e976b4053003dd2db7eaf257f47df77e588a1128ed18180a9447d2185b32b6a1805fd88b9f69038982e3b416e5c11f46860f77f4a7b07f8824ddde912ff822bc3b175ffafdb281035fb163d3dde504d8948c6253ecd66ddefbc1ea7f2856c409a9effc4c352bac9b0341bd00342ba832eee37ff203557078c0109296fd9164272912493bc2121a990003815995b1accab47cbe200091794ca75aed39b4c4d7af77130dde1c4963d4450b03884d85e50879b4f81294410e52d76349f5e140b4660caf28a2fcf2866e5a16800371af6ba61229a1c5bdaa384640ca4bd03e14f51a2ce67c4410e39fcc197e7d410219ffff038ed66dae919ef342e7441d395dcffa8aeccfc386094e4c1afd3b68a6b8fbfe350326682871f18a88a95a9b1e43f8a0b7c9a53a10efe67d5f68714eeaa6d2215a000341e147e1e83f52840e98ab8d8bcbe737ab4c9ab478fd14993f01653821d8d886036021e40774fdb9669283938c2d804375b2b0ec999e95cc127565decf03f75131037fa99edac2ce298ba0844e086c74c4735d5a78a05f53f29bd4882ab656eb066503c91016a26a466b380e0091605757cca4b24310f7261a932f660a537c9f4d667503d79aa97a5092329bb643cb066d59b89d241993e8db6d943582b1ae85d03b633f0219ffff03347140ca23785fa94e1124ca1c0513f661d6240f7d74c6c35ef762970e32616b0369fa00856017ecd00c4d115c8ffbd32f030a861575086f135ff0d8713296a78b03c44789b5f001af0f839fb423aa9c6161be9629cd6ede5e70d29d12aabdb1869e0365720e8f3e802691de51d40907ba0d3100c25224e6e7fdcf4f657f2819ada644038d5038a2369da5a84187f64808d4a2fffd118860a2faa2fba9bf7067cb67533003c05addfb0166db6c410c890e2208f22b9fe7d14ae3dd3fd9d3a86da66d040740039fbaeba1059f2685b3f7b3c2bd4a34dda738687e63ba46a4920ffa6c36a57211037866a3f287143f6c98e1a221f54fdfbb550ccf82628c550703ce0d0b9a674e1903739aa60a0687507a248bfde2eba6da10e946613798ded291f3bdb434b24168fa032d810aa482de6cd1aeef09f08d3f6de046c950311e8faa34e26e29dc27cb1bcd03d8c4f036bb1bb861aa2e0b47a84980b4f0cfab5dfd68bf5839bed8b6a8dfa21a039fe010c022fd8c96e6304911f519f9c3eca61eb53aecbb7cfb31a73fa30846040338a6ed3c1f3f27f8848745dfab709bb03ad24d9bcdaa1aefaa11c13c42120fc603dda2a4d8182eaa35fe4ed3d83a68d4d99650be9a5aef7116eaab6ccc2c024881032d959cd4baf5265e58ed8e0d25aa481c403c53979cda7ba3490c814385cee7460380018067e06883da48ec6279535c3d019bd2a839b0b8b2ff141048604bfb097a03cd101f1215baa3f3e93e229025d0f7011bcc6a80c556e98d3f665efa3a48eb2803d7c0ab03be8466df18fc6da94e4b71e33711c7e8c6d520444882b31adb90c0f2030cec370b26b35cd30586f1ada177252501c9c56992b86495c7a9964d6f65f93303c09335110218766009f89af7aadaf6190c635318db65c59a35076b14335e296a0323421f3a37d861e8cb5c3905e20952005d6c5c924afb925a057589f593db46f7033d2d5a0f50dceb937bd871289519d809b2a35a6c381de34edda9ab130f2630930336255059ef171432b5114fe4644abd1a5ce75f27e87921b5c26b8ac2de0d73eb03d71f9475d8314f835939a96da18e6c03b7e8fab460f8b2512f7cb6e9b797e25a037369f6266b1a2b778e200b83c34c340eac0e1b5b9670abe5d3952d998b76d2b203cefd9ac8994f771b87865852d2781feaf21dbb577be7f012263fae58dc1cd1660358ba23cde735a3400c2bc2d6f94a5e434688c7fe6e4469626d4758f69348257a03238f6e04b091e7e266f65c2891b2e212005c5c09d93dac2abbdc00c93a58fcea034157007db9edf6b2018c31972706241d85cc858fda788b89718c91ef41231fab05581e0388e82c069ec4163bad44d5bb19fac82b06cba461fb56d1b57af5442ef00c02473c312411b5b029031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03a9ba9b73f66f88c18557d1ae3ae45967a5fc942bf69d1f2f7d0331fa2007011bffffffffffffffff05581e034d24dfcacfcb78ce58f034760f0bc07ee272864787f5a5b70ee5531b000c034714daaff1d6137404592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210347362d02ef88b4dd52c360680fb50809df27bac8fa619920f09a33bb78e13f9041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304828d03d8b0467c8d00058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604828d03d8b0467c4e800582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05032c2eadb9784570b0cfd66eb071b69800058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820eef3e9f3869b1e13117466f391971c328b5060b47e927833b4e6667db225a0a9005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85003d8018425a38bb4581908fd840a25c402184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5dc30000000000004917091d8cb8e97c000000000000182a626ec68913370058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f545e37718cedad7cc99cc220c417f5095573b510c60218480219b45705581d028ef96d3bcde8bef9664f15f615dabc520b9a68f5eb9faf224b64231e0701192c1d05581d029317b7eda48783e7ea68816fcfdf5003adb8d219340cb76312cd8e8204020219024005581e032133c674facf913192ce09ef0a3494c167de23f32219dacbcf4bac81500c06474521278edfc8b802190d9503da0eaec77da6e03a4d864abc7cad0ff1e3e39ed24273b516c0b5e9ad23ec92c903e0ad68421945eb3dc72556b5f61c86804689f27d02240f19591526739593924503ccfdff0ab98014cd12727c6c420f9505c1342baf489b957358a30d5665d513e7031b8c15b3ead27c9f6bb46b5f70d6fb78abf7bf1c4d129aada24e7f4906795157037da7f4847619173f381ed62350577d4ae2c6f845c24862a82616fb94ce91448e035675098321e151b9111f0edcc03296ee1c08416e446135ccce54bf44d7f85e9b03a28d8b0129373c241d721cf01d61626144d5fb817142bc2c1cd3303b2d87d95203763b6c0afb46ce43dcc86a23686e2cf68c5f2087089854c17b48c67e85d6c908030e08814b5b59b21d3dbf7d5bb31c4b239c605c6ed24d8be67e3a62fb583726cd0395ff78199f44e2021de3eb3516bd6d33b41b32c174064d66e08a8aa23245b0e3036af080f242fbb24eaf3bcac183e0ed0e096090cf84425fd2343da57626b6aac503f1c84ead4323f648f6ba2671f24e91bed7d0bf4c3da636cae199b971105346860219ffff0302e92115130deb5ea08777637d47960e41fb4323b4f5d8a436f4b7524adb00fc0372304e1e345a3dfed41b8854e38d1daab6c193946563c979b609758856d10f14032ad5ba585f48b7d8665142ed2eaa9b05f5d9b35bb50bb8e7d5985e9484253955039c0c76a1219ceaf2482e2d094dfa89fe6055d17a57f8ebea3e29f03e2de8a6f503c980ba02e9ce2977fcc9354124065f4a80e0d8c28118e93555fd7e741ab1a59c03dbae2e156bcfcb004a9b47d281849257fc90b33040b91a0e09c4bb804e3e2a30033b038697250ff8390e701c77e157a415a53ba160fd6505df55ff877a320eaf5103e612893dbd2c94fcbb54d3bbb80ac72facb6505a415b7c11a753877e9e58f63803860bb33ae851efd418603e4e8f60aa1b7dcb20263a0ab69c62b1906750fa721003630612611ec09accaf1540b60d11fd6cc77b4913005131456f2178d3e041d9d1033c35b352359cbb8124797996287c5fa657cd55468d6d3c42d37c5d75a8b4518503e0315def3e0bf0e794f4f174618583335c1d6debaff757aa205faed6fc4b13a50300fc31bddce836be804d2dc17f63aa45e4ec9a3a759b8a16f184f7ef26d5f0ad038bd06b42c8514022a5cf18170c704c28f44a4e1c9f44b99e735f2b5a07f8805c0219ffff03065fab6eac1eb3fabfa9e61583b5a51c82d37cd6daf862ea4e8e39ee5050a53903aafc987c347237b73ae7d654b0b9de0691ea54d02af13e42a998b58ed82490d50390647b78e45e365f00cb94667350d79464d547ee78f2c70094d0cd4387438e7b03d1f1b4213e5c03560148affe1f1a9ac4c03dc8b80f25be30d085cd3fbee4930d0219ffff03755102fad36b685f02f3c5100a76f9f47afd1d4e60492fd7660a0467f7340002030c1b460abab4d01e4a7d8939ef06df9f0e2e613301ea4ed9d95b845eb44ea6a803335053f73bc938117b775a0136658cf035e3411c6e38450f824230f01ba90bb103ea106228c81b6045efe42c3cdb022567aef9103aad6fb4a2ca9de6ba9d54f54b0330b6abb80714c3fc6904b6b77c1629fed06f952ecee12ea643da91341c0e0ca70387b5892fc13677f71e7f7d249a9fc2c9947206ade8d2df596a12cb39d6b85638038e7560efce180bb51d2956bdf6c2a4faa4d1c712d1129fca701277658d6cad8203c52552c46bd3daaff3369cedbfb91565480675f13fa0402f219c117098e9e8ce03298486b6c49fb98830dfaa2e0b64d2f0f9ce150a62bbfd14d8facc9fcb79de0a03607d67219d4535a6a2fa2d166a262ee8b77668d4415e2536c7814a1f4f99ba73038598405e10aed42e1b786072f0034f3027acd5f4b13e07010655cf81438a2f5503162c5a279817aed6e83b224dde1684e0b5ad13352928eb7fa512f4ab6b0040610384b6c7296d58bc0347544598873dd745edda9ba38936057538cfb27207e1a377030edc528b89b3cb6e7b9e9a4fd594c6bfd02662f1189361cf570ba26d14de432c037cb6eba36f163648a9c013420a25dfd214e44fc319bf031f85858ab29b3b0e3e034ab25d13d8ef8627034e1a113f190424328e6e90b98a776eb10d3b4cfff96269032bd5f29e448a46c7fa0062d5fb2a861a0f2d90562027bb3cdeef25c26d2348db033ef812091d2e2dcee9b5d696d5d43f0d727daf018847790e5a81d4ec3ff56688034f01b63e6fa6a14d9be28e5629f4c1e1aed636059772d17d5b1da8fe894a646c03f290af5aa02274aa6293d0fd0c0bb44ac5a2c6cebcf95388e414145c54ea27e2030c297b0e96129b17955ba023fed0d98b5fab0ed6903b6f031f9336db6080f53d03f324b00acbdbb738be72d81fa14dbaaec1a3362e9e5d1b778c54d2f453b3c2e905581d02c1fcc9126dbf63d6753bafe196c5fd1415e11cb9888ddbe2fd1b70320c174707e777c80c760705581d026f21cb9a4b8844e6185de98185a570073202dab32eb4bd54747cb86f040105581d0256887afb2bd6dddb976f357787b238b612cfbb8c7fe33654e31992dc0c01470482f890d1a00005581d02690fc5f2ff1db3d14889096ced20236052ef787535538cbfca945d0d0c034707e10705f2c88f0219010d030dfa5d2934a9190f6dfad5cd01607c32ebb55067afdae3a4c515346027458e6f03f3aef328ed5d787d7d40a4484fc18473b73c0123e27e7c7e2a582eaa41cd86e90313a5715ed4a2abb42a870a44ca5ff3d41bc3f07fb7abf166f99bd66365fcc81005581e03ceecb79eddb2434174bb8d111f25db2a6ecd96c6c5f3e410419adbf5200c01461319718a500003f7b092b42e129d97dada0852dc024705f6824acf348045acbd2c24ff8ca31f3803647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0373c5dec0c39df458200472668fadaba3ba732e214eb245cb137876ede47c718605581e0383500f772389bd644f4bcd4dd81941b932a1f885fae2af9ffcfeedcb3007011bffffffffffffffff0365fb98c778fb2c414c4582f807b7dfa394fa8697e8a2528a9fae65685e621c5903337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba030876c215ec4b1a6fbf4faacbbbad9973604948db27dbee77454d2be4ff6588f005581e0398f77803a0c3584dbbae3d60ac646478a060d2b1d9b1f120b46b0c445007011bffffffffffffffff021993db0352acf89afaa4a48c0d1da23dde69f0c99ecd21ad756bc91e562900c1706a9f2403a7861f21fa2b648e9fde13cc274c65b397ec0a9b40e07eb0035ad92962269c9a03c2ca1ef7cc9474b1829f55558abb523ea6fa4a476801bfbce3b3bbca337a785103777fbef3679369a651a341a4c7972c27f09fc2cfb3772fef1e268fb9ebf53cf9030a4a0ef257486710bbc59a507ea9cf7504184498bd793f475e10e20c2643472f0219ffff032412f92e76b2ad2580640e197d09ed465d43b77b25cc3d34aef35bd5d619737f03793491899e4611ce9e4a9d95efbca3bb93d4e903a6b05a9f96a3b4cd66ffa09303983f2298383bacd95fb5870cede79abc450e0ab1cbac17c23e7bf109e7941d9303690ce784e2f92f7d4ad7544336bdaed7745f43f808bbda2ee1ce5b9cbd17b21903dd438ba17a8d4c6b4b0db688517973cd8ed0f803cd38aad03fc571aa8eee93b3036b39c94de6a538e553543d7c0870097540dd9a463f1d8b7c5c6fdb056f29187b03a5539734d331fff5fc305a990df143b27e467216f2e30b665a91c3062c511bfa0365e5a4205649020e03015a206d253ff07275f8270740acbfe5923ee0f7c0299e031c168112a6acf02546a21b0f7eb5ba64c35a604d7cd336524d25f1e95f0cdc5503710c2585bd808fb8f4258ac19dc7f0557cd3e7f88828921adae93860f0831036036cf8560e30210f95542b3f5254fd425160433279ecc2ffae60310c55d67791cf0219ffff031d5a9c14a236647c82a9ea97da707fce3caf8b23a2f15432a58614440a652ec503b1b3a2d1c16a7b02cab7f91ccb427f09574b53b365a224eed84dc18d6f3db3a80315f060c449f66ceb7ba5105b0aff83ff8aebed76b0be723a0163ce01f42536ca037e254bade6de9c88c14c14dca04c9b456ec873da9eacf5e4c6c66fa2dfe9a17d03fa64bb2efabd77df8d737f31520ace5caadedd54b8994f7fc1085d3fb6b8cf3203249ca8ba32a2bd3b71541588d584c2c4647208c32a1392df2cf56757b2077b7b03f86dd7a7ca5d4d3f3a98d34507b9a87f71b31f0b2d8ddad5b77308341dfd0071032c9bb22299ab67d7e8172a55cc9945f9c03e647f9c980df2485cc847bbeb1c330307fa6af4ef4000328cc71ee83d73066c2fe0a8ee98da3ba760ba2af39331f4010219ffff0354304dde54fe9e4fb6ae5d5e2ada4c5a68e97f89d1deba1a1e14450be7c5ad780219ffff03c7d8eff6cfd025636d617cf38a47cfbb3f29c5ed38203a10a45c70223c5020d503ed285e12ce727ce8c46d3b84f3cbb1a61481bcbb804c937fd4ac87f9a38caa870326ebfa0e8148341e5fe7801b9c4de59fcf5e56da73b802bebe041c9d733cb0c20359afadbd726673f234baebc14e0b6b43e434ebd8343b0b42f8ea15b9b2ec7db9030946535bfef4fbf79d5ea9790a4addfe92af5b1cf810951bfc755f3be298c2060366340967545433729a72c22dfb1fe9209b0868896c9871d52521754b895ebb2203addd203f8e606720e71376ac5a7efa8c1857dce12575c668fde627f31b7016df03b3130f1d1591e8bc6fd608b0ae8b34bc81b1c9ccbc7adeb7986f44f73f86fec2036a8a6f06c35e55205e7306c4ce27381f62e1669a765675dfd7315a4d2931e32d032808c718f74cef521b0dcdd7507d67b1a1485ce25537aba4e9c505402fb07b2b03557117052ace2f1f6cc7447dd982cfcb3e534eca69699d8e3b787bb08830980f0312c2de62caf59f522b2a8af1b3c189e3c673eec9429d09525a310aee63d6257d0307bb550239711ec9d30867f5c7cef807f356ca9f725a0a60c3b48bd17ec5a05103d06054b9ffa81f02dd3da300afefe3097d55ffa0074fe4e4cd448c563b27c234031d592ae6b8af75324a2c0ada6043ea0e4e6083ae72a916075ffca716b8e7655003e93e013a5f3795fefe74d407d1d56b1cdc37e1d2f425b42c2218646246c576f503394afe5990b88a46542bd9c87bcc43993c5a0ef3c9dc3259351a7996fe5436c1034f632ef803cf0046b586ba8bbf3adadfe1415c8523856bc0c6cd6c355710fd3403de06e877679e9f94059c00a4b4c07b2c9da2d85a0fbf6c1563e38e526288a2c105581e038cd2179a696037c0b231f3e93286b20abc9b2e9ea89f7181f9439193a00c014718c90338d67780030c3c8c7121ee34d6b5bcc968f5ac6bb5d0b2d38056f3bb0d8239a1b33145de440459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c634300081000330058200237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81454f8b1378579659d8f7ee5f3c929c2f3e332e41fd6005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5634101021902040058210354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff90546ea73e05adc79974b931123675ea8f78ffdacdf0005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054eb803eb3f501998126bf37bb823646ed3d59d07200582002a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d00546774bcbd5cecef1336b5300fb5186a12ddd8b36700582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d541fcbe079c4bbab37406dab7dfd35acae37d5c55d02182400582103ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c7054798576400f7d662961ba15c6b3f3d813447a26a60058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604101021909ac05581d02a49cced2b3d389c60795952cd3fd17641be3297768193b7199a17202070119089e03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02a08cc3f2f107bce0f3d72638fbe3af08e9ac0fec6955ca1546564cd807011bffffffffffffffff05581d02101958c2313651078fba8b8981ffebe3b031e9c16e1273da2f32f70904040219140203b88c6c83cf084bc173735eb7b89075bbf65e859088dfab33dfdf5ade671e2afa030c5e4ec875534f5168dd5953bd9f8709e5737e2ec0104d0a5525f6f7114924d005581e037cc8234a0dad8a59f2757fb462321ae3b70531c456c39aa17adcb9fde00c034738ba0b223d1545035c33adcab33da2bfb6389bca8c408b207d1bc0e503a995526272e79739b23d95036fb0f2384aba870b36aea8edaffb1715575de7e6390a75311e2ff84d7c086f420380cc5edf7ea4e2f27fffcd0d9c8a8b2b3fbf220a5712f7ccc1fca8ffac7ad0a805581e030bb35a9ce7c3c20bdf58cf5922d4b74a2c4a74c645c2d3944d0e1f374007011bffffffffffffffff021979ca032420f0f6a9856d1d63cd1c917a4bea7ae8b8a22a4d2830efab826d4770a7dd5f0331d749d2e2e177ad795901ea54ff2e7d0259e48bc88dd60115dc0c0c96ea8411039eec6007c13b996a4404f6bb1db47a7d3e08f68a4ba5cae3f1e0c0ba26f7373103a256dbb3ff72bd0cb1920682de4f214df8e45288e8a1aa61b7e080264bb9a2f203cb5cdf5a0bfb23e82ebfad09f263b1e2b45b80faa4b62d811fcc0b962f2a0f03036c4f78ba0afed65063777f3f6f6f9855d1a40e29a0ae6267bd10f40a310910660344fc5eb0d6702c723334948a755f033021c5b202ac476d523a418a7ffdbd5432032bfcba858a12698db1f727614da8be6c644968b5ff0b4a05ad4ee0b4e047b68903d6c904df8c9d58c2fb1e80d1e4605e2ad963d0611b961445b451163b36f675c7031ed79432f72febcc44eca37c9f4febc6414f79621b845c478e6e1314f6dfddb4034c0ba4cc66d953f2257e191b15f8d48db1797eac99b56b73b990f7afff7c2feb0219ffff03fe2f3df6f39f5532c05d1bdde1b9595242a7ffd247d71ee84dabb5f7a539166303eb815c2d9edf3bc951abf9431134eec58ca50e473b9be5359a49ecb85945aa750349ea28114e4a90c9e4640e6993070c29eb8ede7be13bacc828a7599b5fc24b2203efbd11a07745a13ae8187dd17b924d81196c05d6fcab890c95daeddd05c809ce038915bdfa03dfbc487451c780b7e29584f5462bccd69f8e0c539e353a442742850326cbdfe87945d968bc1a6b59fca35bff680dfa94a3786d8dde10d2740f7fc9cf03e2330d0b92712151e11226194badb2437c6e596c72fcb81bd0cc747127b15ab003ceb6dcfe4003c3ea85b4e82efc9cc46bc6035c77a63101883b6d6749c5b3a46d03846ce85c8fc802262784ca9dc57072fa376b2f494f76f0ed68ccc838c399636c036bae46078c3fc45745527af81c137d3d683ba2313e6e07162d8da55d6711782f0325213fa99a0463754a82959026b1bf6c8747bdd0a349ba850b09ee9e1c31fdcc03337e75ac7b833a2448caf4a295c5b3c35b6052adbefc408c27da1ce48b295d670219ffff03ae8aa9ec78e12fd01aa008bad4cea72ecb761a064999220e184ed31d94d9404d037e6a38bd6967809e5939d9c5f21bed01381ae2c2e13f7fe3baad186c8b19d76203d7dcea9360d4c59b93cd2704f0e729ac9ed2e8bb355fa952fb6f6ee7bc02e4fb0307ed3441a71113375515829e401b4c76013450ebb941dfb9d8c853008877cfff03b23f1b3bcc9f11733744b886cd067763dd25f46e0d19d59eedb5f771ab8ce8ad0219ffff03f4cfb4538922e47150ae1f2816844222613c29145d28afacdbedf3be2de97c46031e02502a6496aadb5b09df037d78c70ac665b8e7221a55579eded7cdde27cc3203e6c861bdccb6fab105104872751181658d8388660a3fa204757c6ed668f29ee003181e6a1cf096b96a2845b545a655ee7b43cd078c4915c4fa4915f166556aaa2003448681b409de7b2f80ee58d8cefd24d240eaca0010d6c4f7b57561c19d71f9c203c4ad4ecd71c30dd73385dbe027a6e77a8be2f692a0b07ce6ab9a45c768ce6ec80340c19bd0c63858e1bf4cd0640154e90828b1cc23d3b91a72c09662e633017ea80313889eab996c9f8ac38508fae8ae1d06e128cf36de71ed286f15048b5d2e853d037ca86bbbe7600dd6215cbe6531655765140a470c14e082db9fcd64eec4c10d6903428ee69a5764988626eedc9913aa743c72d3fbd1ff8b0e3ea552dac9e7c10062032f540c2f7ef07a501e319241273e3542bc61cf220d0e58d5ceadbd108307c5f403e7dbb215358e42713166caea16df4869ab1ccd00c8af93a968df44877df805630300dd94cc9d45efb8cd10e81dbff31d11ffe4c85db17e810ae9283269ab1fafc0030fda20cfadfe9ae8412e281d555b318f617a29ce73377e6168ecbef58d1d69e705581e030d5f5ae9bd8508282d1794d056137a05cbb8ee3692072873cd059f9bc00c0e4724df8a958780b003e354988cdf4a05cb9045a69151e398906cf2df10956c8a043b01c693e8a67ec5037dd0dc9873eb602bf80ce7df9fb0ec1e794346957525766927e5fb28caf5a78305581e0372afd661e916aea2c9662942aea0c48a268d22cc16bff5f36e5a6267e00c0247026ecaf964c0000359f9d4c8d806d38e3b7d58d25c6d71e0512b95948cfeebb0080d075f1d9670f505581e03b87211af8aff260ded1c76211da80e8c05a2f8c1ecafa891c5e4ba7190040205581e0369c6e80714bd4cb4e99d4559e4ca1ae79201ba8d875966abc9343b2e90084711c37937e0800005581e03adb1781074b137708516e8367d9a2869acd89a192d231859fa9e6bc1600c0646ace6eaf262680336fc966639f864387c269284248d5557042be1db6e82db4f61e9937656a097a905581e03a4eb5c30767340226fe2359f133a2daef28d9e7c8e8290d193d5dd78a00c0a475c1aca34fde321032d2b8272001ab0b9a7e29600fd09a846d149172b4a83cd836f77bb97f38270d10219f47f03c72a5b90e1ec03a9a10c59d0bf17ca205e47dba4a3ba1d2d7828457bf963d874030cc31382e5158d1464ef44216c3e5c715e8822d9e013c46b7722b1c67aa25f05034ae3dd75566fdb7e57b8304198f0f859c8760a80537aca0c15889335b2c90d6d03f07d83714675d2c8fa25cce851e33dec548ac66aba714fc27ec507756fc20a7703acfed811db202ee85e18dfcb1af9e620d1c88c9965e293948d1116659f90280a03acd9cc68edc115b6e5952d98c26f9cb77352471de1f6c5ec716e7f94a46acfba031a85ec5a3429f2cb1ae80d28f2c30eb17e87adf754b7ee14e86b22de9b75918003a09faf6de2078eb184fec3bc0069293e522eee82e794371dec7a4e4ceec1020403c7b85d739b75b6a8070aa8af7ba852dfbcdc36acd9654a6bf8a69cde8a101959030eb0eabf63d871a9016bae73acc2cfb0e85c7fc8339b3c136fb96d6698ea054e03636ac432e62caf06098f7a9c55b3caeadb87858be4fbf1716e52954574e5a5b6038e61958e44a963b3775ccf82ce8a222f80317edeb4d2b7fe2e720b49983e22e10219ffff03371be0e69a8d610a628a1cfe2e850f178c0f4d1cba3e32d303eceb3d78da3502036a6fef1edb6bcdc6a161a2279a5d385ac41c3d00ea0f6c4f5f79b06a2bc0ddf703a5c9aeb27d627b057fc01313b9849afdd5de4b630eebfba3b718aa839ed266e4034e156ba5ae5298fe340abdce4ad274bdb2e4aa8d38df4a9ddec5729158beca7903998f22ccb346bbfee12342209d331390c69f5c5d18705b617ffb07ed420618b20352e5c192286952c810abcf64a706eba6fe1ae2ff0999ed5c5555e87b478387a303c6baf44813c9eee7004f315b6a2e1adbf3340065ea868da2cc9e70b1580fe1b9035fc2fe2262d2d5315724d51cd04170146a2764831fa9d0a67cb01ff5e7c8e34903ef180638b820cec74046dadaf2b0d3b5c3669258df7e8eec91e49314467bf46f030a6dff801135e5769d35e312f6818f7e51f55fdd9672ff9e64026ca140badc02039b85e887d406b2099d60f8cc3d05f31a17ce8de69a8c58fc826bf797b35136200379cc8d644183751a362bbb1943cbd81824c0e3e03885619337cbb6855352c77203fb5a6fb6a736922dac8329a4b9e337ece57da87c3461ae1bb6df23835aa071df0219ffff03129146a7d29bac18e3ff53526f19815608772dcf6570f22814d9acf8a2d7dc2b03a1b456c4f049f655496151ff44c36cca50cdc525622ff97cbf1149233612f87503c77877cbb613ad82121a13cfe8ff29868ffd2fecfd3f4472417c73486851fa0503eb7ec96478ce281b9cd2fb4ccb05b0f235d725294ab1d3cb94ae8c2e4a05ae1e039911da44dbfb576607e7ac5c11278916f6908b80e7270c1486f3fa2e40ce4be10348a7f852f7d27a2e89a6ea7671b8afca680ee70fec4c2d4d04cc0a18ec8b8dfc031d8e5b0573428500b907a9285bf0504053502d8efb87b5769921407ec10b4b1203d9efa430d3593818a4fd28e346e4c7e606905fdbfbfdba2c9f7b9a80b6af382b038789f48c6e6379ee1cfcd202e08007f3f60d629beb69d4fc143d794d3bb3626f0341ae145b70e94b55f88b837f5e4c217febfdc79f40fdd18518c2aaecdcf1e929031b90b188a3f9288323fc73eb345a48385a8df89b1705a399179079fd97b869a303a26779d37cda7faece251c283328485980c3bf96c41998ac7e7f195842da27b30350643f248440d34f9bab61bab1bdf34c5f20450cc441e00420465335b3e138d4035f344e5b5160c8b729ac0bb391e5b14b2e9848e967f2dd5908e967df5248c2960315d1599ce975588ff5596f232c93932d47d5eefc9e63d79e2b20c6a9510da1c90219ffff0324a123f173b69f4a59c2197ef9935cefe54213abaf04308c162f211c6207be9c031359bdf46067b6cfdb127a8a9aee14e514e133555eb612177635bde10b7eb60d03b1d39216d1e571d3275a60e8ad79930592c8a02f89955afcb22ba622caff5f73033472bde6d734201c32b82f688068ab5a66e0e9aa552877e7ac720be18289b51a03fe040d8933c520e9cfe3bf5d3e519fe2b8cc38c63488f40d630be7a7b3c0b08403ab887c2f0665317f355d7dcd57a3b81f304fdd3056a7981e57f8ccf97cbd5d6603a63d8a3f97d4092ae60b27c12f38f369e8781eb0877223e6019e82630413961f03da418b8d6d44b0d5fc30cfae460eff18948377986d0436134bbe4549aa37129703a2a9dff1a917af0c8fd1540218944e9f579b107b94be2b97c8cd43c0ea94169c036d1c3ebde4a62efe6414f2334f4d940b7e83503a2641164bc74235126a054196033597ab8092021d408b3a6eba8210bd0bf74574560ff2e6ea1d3c31993162d62503ce1f3f796c021949671febf6c7d587fbaab22cc3728cb7c852ceee5d66fa77690388c478b17956fdf8c74b99f0be394b2bf06324ee56825e88b4e32189d189bc2505581e03ad2fa64a66f6d9dc2b7986b42ce8e52b6edd0543b19df86c8329fcf7a0040205581e03c359aa2ebd1aa355a4400ad3f4bdf9fc6cbe7a164bab9c1e4a12628c000402039e5fe2aa0d4a0d4dd61824c48612f32f4a2c5fa509542bb7a20eed9dcf71f8fa05581e039399cebf5711a12839111cfed8026c9978d432c261e22e826d544065200c05465ac851bc684805581d02d85f828d32008f7e42a315f999b0e568fe51e87fa6464095c567e889040104590b65608060405234801561001057600080fd5b506004361061010b5760003560e01c8063355274ea116100a2578063a457c2d711610071578063a457c2d7146102f0578063a9059cbb1461031c578063aa271e1a14610348578063b57603e51461036e578063dd62ed3e146103a05761010b565b8063355274ea1461028e578063395093511461029657806370a08231146102c257806395d89b41146102e85761010b565b806323b872dd116100de57806323b872dd1461020c5780632c4d4d18146102425780632e0f262514610268578063313ce567146102865761010b565b806306fdde0314610110578063095ea7b31461018d57806318160ddd146101cd5780631f35ec64146101e7575b600080fd5b6101186103ce565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015257818101518382015260200161013a565b50505050905090810190601f16801561017f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101b9600480360360408110156101a357600080fd5b506001600160a01b038135169060200135610464565b604080519115158252519081900360200190f35b6101d561047a565b60408051918252519081900360200190f35b61020a600480360360408110156101fd57600080fd5b5080359060200135610480565b005b6101b96004803603606081101561022257600080fd5b506001600160a01b038135811691602081013590911690604001356104c4565b61020a6004803603602081101561025857600080fd5b50356001600160a01b031661051b565b610270610584565b6040805160ff9092168252519081900360200190f35b610270610589565b6101d5610592565b6101b9600480360360408110156102ac57600080fd5b506001600160a01b038135169060200135610598565b6101d5600480360360208110156102d857600080fd5b50356001600160a01b03166105d4565b6101186105ef565b6101b96004803603604081101561030657600080fd5b506001600160a01b038135169060200135610650565b6101b96004803603604081101561033257600080fd5b506001600160a01b03813516906020013561068c565b6101b96004803603602081101561035e57600080fd5b50356001600160a01b0316610699565b6101b96004803603606081101561038457600080fd5b506001600160a01b0381351690602081013590604001356106b5565b6101d5600480360360408110156103b657600080fd5b506001600160a01b0381358116916020013516610768565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b820191906000526020600020905b81548152906001019060200180831161043d57829003601f168201915b5050505050905090565b6000610471338484610793565b50600192915050565b60025490565b61048a338261081b565b604080518281529051839133917ea52c5916d1c00eb8d52b3e40a75956fd2e15339be0d111c44eff45ad0f533e9181900360200190a35050565b60006104d18484846108c2565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461051191869161050c908663ffffffff61098d16565b610793565b5060019392505050565b61052433610699565b6105785760408051600160e51b62461bcd02815260206004820152601660248201527f63616c6c6572206973206e6f742061206d696e74657200000000000000000000604482015290519081900360640190fd5b610581816109a2565b50565b600681565b60055460ff1690565b60065490565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161047191859061050c908663ffffffff6109f416565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161047191859061050c908663ffffffff61098d16565b60006104713384846108c2565b60055461010090046001600160a01b0390811690821614919050565b60006106c033610699565b6107145760408051600160e51b62461bcd02815260206004820152601660248201527f63616c6c6572206973206e6f742061206d696e74657200000000000000000000604482015290519081900360640190fd5b61071e8484610a0d565b60408051848152905183916001600160a01b038716917f7b8b4d473e148a23a96bf4ff0dddf156a76854397f7b206c1ed0185f24f5598f9181900360200190a35060019392505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0382166107a657600080fd5b6001600160a01b0383166107b957600080fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03821661082e57600080fd5b600254610841908263ffffffff61098d16565b6002556001600160a01b03821660009081526020819052604090205461086d908263ffffffff61098d16565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b0382166108d557600080fd5b6001600160a01b0383166000908152602081905260409020546108fe908263ffffffff61098d16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610933908263ffffffff6109f416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561099c57600080fd5b50900390565b60058054610100600160a81b0319166101006001600160a01b038416908102919091179091556040517f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b600082820183811015610a0657600080fd5b9392505050565b610a15610592565b610a2d82610a2161047a565b9063ffffffff6109f416565b1115610a835760408051600160e51b62461bcd02815260206004820152601960248201527f45524332304361707065643a2063617020657863656564656400000000000000604482015290519081900360640190fd5b610a8d8282610a91565b5050565b6001600160a01b038216610aa457600080fd5b600254610ab7908263ffffffff6109f416565b6002556001600160a01b038216600090815260208190526040902054610ae3908263ffffffff6109f416565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505056fea165627a7a7230582050a1d6e08ee19b18063e8e283b2f39d2e3bd161a749b21a4469691e7e98413e90029039c8ddd1c5d24b8853b818f6de6b13ce3e5889266917493594e857db12dfcc1bf03b95c3a3866a095ef8d7ab434943818aef8b242ff2ea0336aa7f2ac206d4f51b6037ed298c24e1f4c4e182723c2558d8207a68f5e2e313755c37e85d25b284d9aec034f686d864dbe021fba856cfea802da51ddf5805b7e473bc30ecc9b06db47bcdc03ddfd1bdb58912ce1276684cb72008ee0ffec483f1823dacc0a04197e4ed7ad070368592360f893b0b51e2f434e8e22f8693cfcb469ed133e95b507606f101a23c6037950549ad34ef28c2c19543ee85976b9c24ea42588802d3484afb9d1d83e82f1035b999bd9e082e064a0f24a61ffbc327dc595959031bcd3b9ee5f7f94e6ff998b03a7f47b1668d74f5e2fa7671d3d3f00060934db911beedf6082fab6a5692282b2034058df96b833f08c9ae8cd9dca2c12a3a84bb936c4e7de486641ef2e91b4b0b7035ec5daa99ee29c90fd5392b9b07debd5e63cc579a7fe346dddb2216093526d9703f3c1af9d00836fb3d0d434ee0f68d39ab46038bccdcf9bbd0831c2164945e4b00386457d37923f82faaa41de18f7060e20693018ad2b68a56cf0bf29781d5bc738034d009aab5fe8bebdb4829a16e774034290edb41e5b69cb78ec76088bf65fc3ba0398c1668c324b89c1123e7b679313d9ea08b8cbbaefe6fe62ed86e2c00715844c0347c535a1f4eee77b9f1ceaac097c5b36561ebf992184625cd5ded18f34fdbe4a03444122f984ada7df7e0dbeddd5367583da33074d9e364aa797e975d4c62bed3b0319aef66d8fd934c19fc62c78282f235180755052d4fa53df9bffc8203dd7629203075ddb5a17c44cf076990be2ee133ea8eda64409f21146a832f2bac7d24d4aad0350f0ad6faab0eb91056251ba1e6315dac588f635b32b03831510b3184c4cb38b00582003605a021b61ead9309e2418ec86e18e83ad8cc8d2f3355e0057412444524c504505916128f800581f02438eadc0ad22470ab7096e57b4dd461842939c88cbf386b7fbf2b89324204403c656d000581f02b8a343aae598b314160ac1e2d11bea871d69884f34ccf65b1e1106bab4de443c283a5400581f0291a290edbec1b60e5473a4f6834705c5524b6a62f40f3879194c0cab23ef4426be36800219300203a417c5b7ab018f777ee32bf27d0b4ee974fd4bdb3040111df5e81f059aeacfba03aace8cf91737e3c7b32766b68175d6c64253d7131c53f69103e1a3084b19e64203ede367728d1e9d434a94537a8341585caa99078ae128b6be00fa87327c82dc370319d87d55e2963728365d62f1e77e4815d530348d51a1652710e8f2f900d11d74005820031282cf47c278b4eef0359eacd13c8068779f57863f56e0b3ef776669f8cdc04404a217bf03f6956bc13071a053bed54ac1adc50e869cfc6276bef291ce2a0440a9ce4148dd03545dbf6a1d05f9fbff1c4361be80e9d52b5806bb7e280cc793457fb595db79cc00582003aa33c2c2cf59bac1635a6a54ed9b39f926cc86819fa88b0ab0a5a8767aaba044058c97e003511cb4539a3bb339bb4ec68dabcbc97d8305ed39f5f849a2ab11cc5a3b4e8c1303407dc46648a46ac9c61f4a00502eccacd09e9f408344d1c29789ef62d9c65c17035d0ff14fead43283133a83516bd72d5f1eb734cf383fd506334d879238e3f76400582003567fa0f26dd589508791408313f2884766d5e5cc0e3b81dde1e5f0456f134044f5e8948c0219ffff03b101985d49c2dfe0b72e0effd78ff5137991608aa20554b1d9e6831c791f693a03073fd8fff49e667018d519a57c2d89c1623e52da1368fb1acf33396ac23766ce03ce9e416b643b63c4843253e978135d691bf6a7e14e4558f18c3f0900bf0343260331b61854b663b9bb554af52f5ad7066d6bab0ed7120f3945dd5c8943b7b351a203a3788ca15c6ffc58030cc97998c6b3266d0f13c2fa4a13462b1cd83db1386b5b03bbd30b62610c8d689e5301fac35d790839e1d76de1699d8d868d456a95c645a603999e18e0e3c648bfb0c2f8d100ce5d3baed32786f7bd697d81d880448f9e4d3f03072058ef51f5d0fbecf213012d2619c5a2a08c84b2b30a46f57be4b4e7e33d1c0302db9fd283c967d651ef983726e0b6a7b858dabdc8201532107d7dc3b26004830219ffff03fea361b4a541b59a1f613e42cf986a09e3ebb98ce839e72360743e25afe04452036d9aea51b9e9172e81f968ec62fc2c653df805794f9f43e627d12d0d4a6f10d403b758ff927ab65c953fe37e35f1e3861e2d994f9712437b1cadd8c4275e1dc03e03af596906c5cea54aff56bdcf5ea01941ec8fc9d258e2970d8407a0f6f8e43fbe0327b1f6ae03e3d8fca29f2531ae12141e63bf80c9eae5a5d46513f5fc369b364c03a847c27e7622f2722af4b4589dda53df2a420e7dc8be13ffc249580bc0e46574039d516eb6abb8bfc345283ab451d5062a43ae27124d6d0c6efde2a0477790db8803689d225802b9730b9c98f82335793c05936d2bb5f103b072d27f215c1a56a488034a16f1d7f510be5d7c6d06fc2376edb6b32be212c5948337560b92ecb241968e00582003f484a336cd7bc1a1169fe250962da1fbd800f88c5eaff0ae49ea3df65d7b30441982c30003d1c2554608d3ba0b5aef1c22fd77f3aba5c4fb188cb4707ba49928cc3f65a7ca032b236f99090428174388bc324185c565e2e62731b2b210fc77e4b4c96346af7a036770033963115dea178e914c50680cad220c9df0b5fea025d4145b34963e5a460345d6c8dad88d197a0101cb82226bc763078bea3ae4cf2a50709f80c1f3756c1f031cb45632bbfd3e0e66af06d02bc0c8c5aad85dec6c7eb0749760bace893a0b7b036d04b6b7579edd2488a9d813c7135e8db4258fb1ba405376b78be10c418f387c00581f02a753ae93d2a9d5dc6afa19b5bafb15f5c318ad1bb1c9ac55a0cc4c32da94440e8b250000581f0208263d5e90987ede7b3c8cf52c0bbc24c24876e2f5aa37d00f8c9d2901f944117684f80219210000582003b0cf99d509d7e1d5cdbc924faaf8f6f8a62055a18700d057555cd020d6cb10442423e7f6030fd068c24fcf5ed90e3d3378b8de099beabb108250e9eb174a24037298ae1db203881675b7dd81a3897e0b8361261727d25d1e747d4e0c0c0fdff362a8ded496040365fe0bebd80ada5ce61dd944c47b5e9f264a123b5844001d7ea13bba995f651a030e013572e25faf4ac939bb22a1ae8c47cd3d3b364eb2aae6bd440b688dd2e5ce0219fbbf0366ff84f6ccc813a72ca6ea2be39460bbf465b7610333754ddc013cc4630c9b2303f339a63b6b106ac30621a0d8b4a37c642255d4ad41d9a4f9a68456beac1924ef03da5749b8f19bff58f8b7ca7eca6c9b0b470b63d2da1ca666b4be52066baa20d20367f9b7067e52621189dc9abf48f0bc98c4ffb274c03f36757d2f31bea1e72ff4033b838161a67a308bbcf5d39ec777b208b9ad162db2f8fc03eb3e92a41cb3a3d103108e83dc95ba4d9be9c8b13c41168849dbbbd7795f8e7b4f803a7bef0f92d78f037049106486a46259ee74f8c62c5be96b23137dbb922341a060d4945fb166a0590219ffff033a6f61c908ab805a1c7f9b3aee3f5729fbe17a505cbd7b75f28fc6bec33e0dc40365a9ed8c071e20d39521a01b3b48ad0dab62dd5189063d5f971970b63c02c2730219ffff05581d02324f4425b1b0408dad80e9cb14ae61c0ed53f9ebfa3172b8316930380701190b6505581d02aa350c0e7379241771dcb1dd67ad0d405da88d5c7465e4c6dbb6a1cd0c054719d9526388e9db0219060405581e0316bc64e269e0314a471b39ff84bb281362948e002c2f73f41c4fc614700c0247629580b28cbe480371c3f8dad91df080654a68fd622a87481a214ce7897f95e5e4c90e3d2fb58dfa05581e0312e644a4a2953233c0b8e40673effa2aed1d1c5708bad1d126076d53f0040105581e039f360ef4a0d64dd7c78403f5678452945441e329bbfdbcfdba880581100c0446e796d4b8ee0002197b3e03e678b17bde689029b32b75dd7b8372f78e4650b68bc149224c5c3b0d51f5117b03ce055d698bc2f1be063a692501ccece823678564ae2dcb55aebddf8d325cf4480300d32786142cd2479c7e6b5abaf8c28bc2d7227d435ed7dc5850f0cdb4fe0a630304a4f343ebdb2666b7dc9af286c9a20442796c7cc48120619c5341254f8ba7510359de35a1b3adc3a21a3dabf0288959f411f42935562282e94aa27c8bea37798c03facd3c155ef42b5795de02a7ff5a7da33e8f65b84a9991a75576286e3a33bbf70354001239046a95d41b24ee604ac2f32468ecf3bc743250321b8945fd4bc1fdda0373ad1088612601c692297f8782c40a5e21cf37343757f4f06a068aab37def51603ce6256971edceec958eb55c9cb1e3d85fcf0d4f04df7498ec72b62a4ea48fb8303d85eba91e1036f3aad3540c6b13583a170dded5a2383c2c24479580751dd847703e680a2311937b88515fb06a7e271d41e442a09d0fb67b10aabe3e8bacb08e9fa03dc64cd6c1e02c058a3ffae39ee7e6794523900b762d1b5a309baee08b623858503a8baf0cc43cc04588724fb221f5b7f8a8fd6b4b8f75ec954e1932c4918400085035c21089c176607ef4f886cc79fa8ba76db5af532d8461b7ae80418992963c1690219ffff03ae2e89a4625d25075b6a9c970f8113fa64268f0e02f702a1e0d4fb146ec4054403e0f3f42ae162f24db397cec42570d770d6b284c089755fb58fc577286371fc6d038d052b9d972a17005660ff5edca1f1cc0cc4792f424a7ef3fde119388b68bc2a03b88f8081c9155caae9837cb854951875caeae15a5b3899961321247317704ac903a1047fe9141ffa5842c0d08482f9b7bdee34630cdecd10bb55f12234b1042fe20338348b90f60a72cc2cc55bc214f0ce9d322db0e6187528f19cd0210b033f5be703cfd257b6a7f6312afea5c556e0a07126d8ab5def4c4712575970d0d72e00681c03adbce134846ac1738e9dbe6739962d1a67e2ff2e932482cbde76152cfc76758903bbf20dd3be5301d91afb71e5d754a6b8394cf541cac5b17398ea5ca3a8fd16ab030da8ad3e04b7061105fb0b4b2106af6d2a4d8af6944a21bb7aa7815832884a7d0219ffff031707d1e19aa71f18ae913144093fffd7d33cde6945aee14e3e703bf2c8eb240703b70fd2f5aa3378f84f3ab2e05e7f658fd4a48404d563c55c55a8ded587b1e46203771fb9ae0f457d26edf5ddec99330e1113d5fd0620b1b261d2dff8fa3ced9e2c03bbafa4b23f11c309788d48a23dc31a2da46c70ba9a6e9f8de475abf81a0fbbe10355fa508de2218468fe70bbcecb81de8cb5a16caddb226304d061aea60969220f031ec909c94e6c53cdd091e68ac3dfe80acd12c966bac3073ffde3f0779ee08cec033385450c5cfa817af8f43a19846af0eb8d2a12d7eff559325af4526c635190ce034944e019d4c68ec8f3375b959787b19c30692db10791fd3780b2e348adbd858203c48c4566c25521470e7deea0605089e77a621cce50e8c8b58ebb4a890228189203442b23aa3511e886a41c23dbf2013c4b96f42b81407831762f712548adc31238031246fe2e35a0ff67228ad9a38396072383fd0965ea3700d089479af5bed1382203075068440af1ab330a075316d2edb616071ae348a480607ef04cb3e2227abea20219ffff03e63370b54665887f964b2207f233396452d08d4e7c406ee6c36988b16117d22e039b10451c134a1583e225217bbf252710f34ec68afae67049c3e0b6ad525acf3a0219ffff03cb05f3a9653fad34816d4a12e59e3701b984740a4221207d90d8c9be050bc71403a6a7d28b6fbba31f0bf0824058cc8a5181afc1d5b5ae9098c74c7ff50ecb0f0003bfb3a5544bdc508e1e3106ce2a5918aad4e8153d3f37733c34c1b9b7a190f90b03980e73af1d7946af705ab3ba1a76d54be991984a806b8d54d760b3421ea65a9d03e9c610dd878e5747bdef19db10b84342c1c233c638b58e211178ebf578174574032da290c98b0ef260c6767a9c9f5a05db0d674d7a8fdb53f79bf5b8263ecb8fd60318cbfaffa8f93ec990802f7fb395ef50bc71edca652c7a171e438c02de1857f203de3c66ffbb2eeb15b73c97139c0fcabc0a39b2f9589e1233b8617edecdeb29e5037a076876dd8c4cfc20474bf4a8a2f60beb322707d82b1fff23dfcc000d28b5410301e8b4c99dbbd9d8d2ad70fbaa6272583427a69fb4abe7fdecb86313e14833c703f9362867986763d9b19026d622f4c2546680e1783f28cce5cffa55d9b764247c031f3f6d22e1da467a1922fd86a5e3ef712ebb2d7f619067dee38f467ec45ee0e603cf2079d1e55dc35fe68c16ea5d7d631ffc16bb1dba3b67f8964a61a36ca1468603d7f5c27439f6f044a758a66670a49a00419ca30f4fa5026a4624a9ecd89d5fd503dcfc0c50b09ccb8ef7519f2672c97325380d1f9e02291f405dfc07cc4d17e80803483f0894d586025df73b0b2ed28bfd219d299fd29b2183769be0427ac9d7265103ce5aca8e8ad8e89ded9d87e88b9ab1a1f61a769f25b4c8332b445ae8f9ec73b203423d94d96ffc0c6d8f6eac47643958316a9e729eafb214faa55474303566a995030e214b2d57ad751a354e786e4975d9360b4b2edff2d9ce6e4e10a3f1b5554cd00338d9c6b1a9f4c8f9de3be896b1d3d7d1121d7fb38ca6755768f4e12190f3887903ce4fb412c2ee9bfeb521f6a6e4477e308df977ea2778ce3f10f952c3ffa9b2cb031785417b2d63c7ca91726a61b830c48c505ad8dbb07af2faec5c15315ea49511039a9ca4ba7dca78665f73e0ec969ca899cedfbfc8ff1f70eccfc488446540fc81038b2a44e173111076740ab8447bce1073ba106172a3575d8e0223b235d3b025e50325d01ffd95cc2bec68b31e77fca9507f800405358784c0030d5564906c49b5170358bf883ab49dfd4a9b17b86b2bb6668fb762f1cecb2bac533294d77d53090e6703405d2fdac3040b15594d75076051a4f7294fc436c72f229de0ef628091a731ee035f81af99d6d97a2e9acd3eab6782a84de7b2ee789b6049b5c2d8d6a48fe7f3f603ad3c287c966ea6144da2af83101c360af452a92681e92f089266b77c4943f0fc031c66688090d73382ebcb36f0f22b811ed441def127c486eae5ca73830ff38c9b0360f496eb7969c9f32fdeb908e8b355fea57b3ec078476b63bdf702e2587d710103aa706c5dd2e21f40f36bb82041339528e198635987a8620bd4473ac6a65e31c803743eed135b0dda5f427505ea577687131304d2848a5921a94f4a9b09593c1e0505581e030f1270eea3f601e62efe5f7cbdb19e00dc44e62dabf7f7f0a3a1c45b500c02443b9aca0005581e0371eb2cf5bc4e12aeac0ab7e91abd0162a93b110c3975f8d4d40ece4c800847470de4df82000005581e037fcfdf8d07aea0a2bf7e5b0e1c69a671be2e32d0535b6436ac6d8413b00c01460c866d5d930005581e03e357ab7a534e8d76e22c3324987b5f5db498814d5a33f2ff50a9957fa00c064633acaf437cb0037a6af29b27d87a7f9db09ad95e3fe9de32014e99dea9980f10e579a541e942ff03882a0f005c2584888f82cf56abbbcaac1508b0d80efe14b16e0a46ef8949855005581e03b028a84961c0b010dad7f67a888ee942b3ce679c9cfeb874ef87255dc00c024762785e90e1f65805581e03317ef9aaea312a070f4e89f1566e1118d29f1daa5136c08c208b72b6d00c181d4710c8e917247dd703337474887de13d58d763269333293b49cb432bbf0789eeeaf51cc86ae35d56be05581e03ba82826492427a8d4162a454b5699d306cd785f046ab831f12958d4bb0040805581e03065bd4a0b546f57b54626a1511e1626dec31a8eb1fc686c03178bb11200c1a0055fa6148d28919ba28dda98d031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e031a141a98d39adab5038449d584917e12326e1653a71e9f3de4ea77e61007011bffffffffffffffff0219dcdf0385f6daeb1c4d4f385ebb6a18e31d25b0619b516a4196783f282d9463e07bf93d03e16ce6ba6e51ab9b9a2086a13f29ad34462ae66ad9f772c35f5d5cbea19bcacc03c2f766912ca3f64f6d635522896ea84de6a551f79517071cff24ad3303562c0f03d8982561ed22971239d015ecae42596a2419edb1a93a1944fcdd5ffa6e5b25eb0390ab20f84e8cc102f5383780e4a24223d8d4230af97996377f715d5037e367ff035d8702fd651aa52efbaa52b5f8389a2383f3e5453562ea1bfda3134ff00c34160219ffff03e28175926472d9e201853bcb6a3dcd254c065f7585b4f9dcda03a77e48a3e59903bb11a805cd2022e8892160703ceb82c1a79d2a4087030376bf174babb25d655d03580e4136d4175ba08022ab05df8881d037c297df5d5261b6ed0edf70b7877b1003c6545e9141f858852c25efe48f556e7bbb6a5701869b0082b8fd83b274eef89a039fb2ad09dab7b4b3a06c1933aee9cc01af1e506d0cddf99f7a896361083faa230219ffff036d4f51b68c2c0d431144cd90ecf81ea4b84153528aba236e8d360c274ac00978039653d07fdb79d423b44b81748a0473cec63c852b189e526a74bdb1f87dbaade90219ffff03c8b9210fef82c08632c94375d63f0fb95aedd85fd59d8e967103bfd2a485e577031c303ec5f977dba2b37deeabb92ccb8465823bdbdedb9b4cb3f46e0096d846d50359fa2dd1de8547da8e2eca2d495be42dd5980d147710fac117ade2622ed4c0f70323aeed681a40456deefd61ce99c4363fe142c453b8705f04f59508932496a23503061ea537c63a997c2293aa7548217d49a0a2e4b2c2dfd2f015954034ec0270ed037e65284a64a0ff0418643a9f9a2614500c145aef214fd7ecfe089ea305f0abf203734f0abfdf0cd3962aafb56fae8677a35a989e2a7237723d696a2c1fb3f1b8f603f7c24dde35760983ffe29aa24fea3150efe04d848a58a6a20e39906074e47ec503c070aaef1f2c8553cfe5bc452cdd49c2ca077919906876994b2a6498aed6f9e503414e38a5e9edf43fcbd93d197b9190c41a230b0fa3aa947d698bd8f3007e88b603055445b97d8ebadb8036bb11aceb5cd12d93573595189407cbb26c6a427f7a2803ec71bef01698724e731905ce877ade0b08130f70fc906b40bb5de4506756189f031d764ff983d12dda382106616514f3a2d9782834b011d31751c246d9d94cc16a03b40afc415000d1deb539103614acedf8ee615fd012c9f69e4ab9d849e4fa9d01036c96938b602bd81244610392bd9e6fc3f5b46e5a60bc9c2beeab7d1d48a8ce3003ca22b4cd767cf5615c81bc8a88860d6e219499ac6c20181adbc37f43141f7b5a03b09dd6191159c618ff09e71140302c9327e13784b2bdf720088e1e068f206beb03cef8b9b88f71a2c5995ad498c743214b56c862a6cc1a14aaa0249846a10f69bf03304f29dd57f7108aaef30f63af5c73432d069fb2c817fb2b26d27f46844fcc5d0385fcc948665df225e5bb6a6d37e1f775860b32b55d216eb62869fe877f7a95ee03d959626f29e71f92f18e0763124f9630459705f233defa235a5d3d42e0b43dca037224d80fc53fc8b2b8dabb898cbffb3a1f66204d04bd2268daf4ecbd3c8e58d803a384867ed7764cc63f6d226b58804a41b2ff2e43944716705fb73c36394d1b5a03008d60f3288a0ab87576691fca6b534c7e429c9daf293c5eaf9c31ff48875019039ff0671f3d272a16032e91bc8dc35c8c406671d73dcd46ed77f6c7b0a3d3dba903d3a6c5f4cba83b46c8a4945505cf1ddbc6aca37bbce3098c01dcf33bd732710903da827fbf52d40371e3a45e7eeaa2bd9c634fe581776019f60392b480008e0c0a03129660b161692c2705fbe877a9800ba1c547f8e9a99afcd1264bd5c29f92b3c403f4a930a2628bc2958a357479a6d90c42890b1bfe135cc24b6b5006b3fe7e78c605581e032392b0a367329ed252319322779a17ea83091623699f99b93efa532120040105581e03a6d316994b0188961b6efd61ad2b36dea8f319113a9f11807b7b1c88e00c01470c0f2d13c2b40003b81383deacf62a25e911bc5cfb1f5864714b4d485f7aa6a7d94b817caa7779cc03a1f6dcbfd38ed20ac767360b0346b6d12097d4d87960536564cb5e4a52b16b8f05581e035705031e45cf60774600c5063cad35cb822dab76f66ec542a78f1b32000c01470bf140b757c20005581d02076caba8e6f2f9cb649787dfcf47ec14c4f2cab1d31a0e4c121389580c1901f5477f466e1bb1c5cd05581d02b69d70200c979071dfcef71b47f6a7281c7489b43947f268d03081b40c014703f779ae3189680219201003aa64e20d1ce62b1054370673002f0b57bafeb2398f21277e86bc94eecdbf293105581e039e8dc838d6365447e4fe933ceadfa4aefde2c0f14c9be2357142e11d7004040219c1f1032fbde689912459aa04b2f70f98e4fda72cbcac15678acfb2df1896564a1ac4a50219ffff03d70fd6dfce1a53bcf341a88985fb6ac26ba30fc294e335acf16e4fb0c279b7e303b29ce22f97c2268481005065605256eae72549f45ccdc1eea12fbff66d30edb90369eee23d52233c371bc98791cc3d259b0bc40b8fe77287bae2789fbd984181fe03ebb9e5afd015769545ef2d8d47ddfa2fdac6943c108a62ad9d17ed6c00d1a35e03c854d97b14135d22440c75bceedfec53e8131a7895596c0ac0cda45f6d89921d0326f9ae3aca8f90a6501f4eee1f97edb0e3110d6ef767c8741babbb876884d37a0307120029f6d625db8ea00ca1d9557a8042b29ba2a64139476fbdb139ca11c67b034f4d850e24ed928f565dfe2dec575b09fe39f9a44149da8d80b639214c636b5c0346c722eee10003f9b342470c41f9e7032e79faf992624825f6b161f49863672c03203061c0e7d8b13856810d4763ad23822e47057063c81e8dc8d86976fe91df89038969cdb3607c87b94597a705e7530ea85c4ee5c8c67c1e72082e2b54ce5eed95037b3b7b0f7ff8984193888b47c25f24d6e1df2d2525ab2714390bf053e6f92e460219ffff0391f5891b03ae8ed7f43eb9cc5ccacc311ddbf109c8ef837ae9db7d12bae9e774032bb0556bd20c5338803450ee0f10c2913760de215430d66f3c0b23140f1921350375449d4092b41499d058028d8a6002209419279a4b97eedd193ce5425628dc430315ea7f5e03a6a3c74b8f20b56e254472e8ca4cf72253dcb5f58c1cd9caba632f03b50b1ec49ccaffafb638e9f030b3d6d404deb4d3c92bade06c5bfb5cbd3fa6b10361894f85bdabf7e81bd09e1e09e8d0e7a8c48edc4f784a1be886514aaccac28b03939b7e8cbbd0c10ba8cdf9a57ebe0a46faf11c73f9ed56b5e82b2164e1ba8c4f0219ffff039087c5f3dc2cee2e82c23cacf9584e9aaf7f943866263418580a860299f726b2030200d94580624d6d199e649991b9bf6ddb791adec0287a7e46717bd6c7022484030cedeedd0066bf7ff362da1f0a0a84f78c867fcb490a3821a1400eec21adfb23035917f62445de3c5af6f36fd07560bc7221a7faf7334648c2320f14bc28848e9a03682c44a9a259e74ebb10ca7df5ff9f7cb289b16832ad1c57481059b45946e9ba03b671eec1bd2645536f083ead484f22109ec23a2ff99f16534bf4bd7cf81939410394c5d1bae2e5f6c32250a44b706a9ddb7dbe8aae4b620f7bfe3c3d3a18033ae9031ae0bf0cce4c38951d767cbe3fd745c11b9d739216a9160be7dd36a6a3bcf5060387581016bb35ea19de532216cbc3fc315b3d56ffc97729f31f785cbfa9386ef80219ffff031d2888ef7e9580624fbdde4efa2a7c118a00b6e250d19d658e9697e1a8009104035a636f7922ab9f0361b48cf9e969ea4b3398950935f959d576dfa36ad1b4c22203c16b00a5c896807d307d29bccf39cf60dcfc65876c1832db1157605388beb5a1030fb3ce100bbf7d7fcec0bebddf2fb9d4519ba7ec526b4c819f522560d1e17b4f03b387551ee0164ac4eba000d09db8cc576916e12d341b5ef9584feba40222262403e05a5683564ef7b178d39c12eb71eaade74346d9169fa935f1611da7a3e9e902038023740f63e817260e7f330d655ca0c336abde8d848c813be865b73a22d27004036390ee4fa0673f02313d96946e68ac576e290adf25e2adab190ee877a0e334dc03a96a32bd584215563223a28757a5c4eeafccf8f1c5a3d634651e085a3336bbbf03bf71886f82c09f93f1ea88bb929984204d363fd61de6b5b10595cd4f1f9a3e34032dad49d674b56e52ad2d9b0fe53483640492a80ef8c2865dbfe87986e331e89403bf458fa0b1eb7af94f41728f325f6e888ccdf570724150263c2c8b304f1f11c9031a9e3c3798ca3a5ebf1a209d4df4e4499b826c01c233641e0a580927fdafa3ef03197d398d7506864064face7b41b22efcd4adc0396f3f53fa15932c5a66ca80de03ea7cf7ac646b7590e700ad267823796c11cafe83cc1537bb7c9d4f15e32e0bcb03fb4849c4d84bec14c3edf823008743a7bf79df6ac503af5404577d6e3e24f4d101410b05581e0381459f9c1f4a5adc470a6936cd10717a09b36c985422214f460aa44050040105581e03ec6924bf88280788ec039745c643b400a493c41957e9dd557a82123380040305581e0340da3c0ade58c4ff4fa3ca59cfe96b53827413aacf61ab04c5c640d0900c0847a96348e70978cd0387f9c517dee24e5e35cc1c88dd9b02b677fc4fdee117d47204af0f15f1ea967a03197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e03e2494908622f1147cd91b59ad7b8901fdc330b386ebe6f5380ed0a9b6007011bffffffffffffffff045926ac6080604052600436106101fc5760003560e01c806370a082311161010d5780639e91c702116100a0578063d52c57e01161006f578063d52c57e0146105d4578063e07c4605146105f4578063e985e9c514610614578063f2fde38b1461065d578063fabd1d2d1461067d57600080fd5b80639e91c7021461055e578063a22cb46514610574578063b88d4fde14610594578063c87b56dd146105b457600080fd5b80638456cb59116100dc5780638456cb5914610501578063853828b6146105165780638da5cb5b1461052b57806395d89b411461054957600080fd5b806370a082311461048c578063715018a6146104ac5780637cb64759146104c15780637ec4a659146104e157600080fd5b806323f631231161019057806342842e0e1161015f57806342842e0e146104035780635503a0e8146104235780635c975abb1461043857806362b99ad4146104575780636352211e1461046c57600080fd5b806323f631231461037c5780632a55205a1461039c578063372f657c146103db5780633f4ba83a146103ee57600080fd5b8063095ea7b3116101cc578063095ea7b3146102f757806316ba10e01461031957806318160ddd1461033957806323b872dd1461035c57600080fd5b8062891bda1461024057806301ffc9a71461028557806306fdde03146102b5578063081812fc146102d757600080fd5b3661023b57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080fd5b34801561024c57600080fd5b5061026873fb4f09cefd99b2e27dfb381ae7ca07d4551e7b3a81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561029157600080fd5b506102a56102a036600461224f565b610697565b604051901515815260200161027c565b3480156102c157600080fd5b506102ca6106c2565b60405161027c919061243b565b3480156102e357600080fd5b506102686102f2366004612237565b610754565b34801561030357600080fd5b50610317610312366004612184565b6107ee565b005b34801561032557600080fd5b50610317610334366004612287565b610904565b34801561034557600080fd5b5061034e610945565b60405190815260200161027c565b34801561036857600080fd5b506103176103773660046120a7565b610955565b34801561038857600080fd5b5061031761039736600461221d565b610986565b3480156103a857600080fd5b506103bc6103b73660046122ef565b6109c3565b604080516001600160a01b03909316835260208301919091520161027c565b6103176103e93660046121ad565b610abb565b3480156103fa57600080fd5b50610317610d86565b34801561040f57600080fd5b5061031761041e3660046120a7565b610dba565b34801561042f57600080fd5b506102ca610dd5565b34801561044457600080fd5b50600654600160a01b900460ff166102a5565b34801561046357600080fd5b506102ca610e63565b34801561047857600080fd5b50610268610487366004612237565b610e70565b34801561049857600080fd5b5061034e6104a736600461205b565b610ee7565b3480156104b857600080fd5b50610317610f6e565b3480156104cd57600080fd5b506103176104dc366004612237565b610fa2565b3480156104ed57600080fd5b506103176104fc366004612287565b610fd1565b34801561050d57600080fd5b5061031761100e565b34801561052257600080fd5b50610317611040565b34801561053757600080fd5b506006546001600160a01b0316610268565b34801561055557600080fd5b506102ca611093565b34801561056a57600080fd5b5061034e600d5481565b34801561058057600080fd5b5061031761058f36600461215b565b6110a2565b3480156105a057600080fd5b506103176105af3660046120e2565b6110ad565b3480156105c057600080fd5b506102ca6105cf366004612237565b6110e5565b3480156105e057600080fd5b506103176105ef3660046122cd565b6111a7565b34801561060057600080fd5b5061031761060f366004612237565b611265565b34801561062057600080fd5b506102a561062f366004612075565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561066957600080fd5b5061031761067836600461205b565b611367565b34801561068957600080fd5b50600c546102a59060ff1681565b60006001600160e01b0319821663152a902d60e11b14806106bc57506106bc826113ff565b92915050565b6060600080546106d1906125b4565b80601f01602080910402602001604051908101604052809291908181526020018280546106fd906125b4565b801561074a5780601f1061071f5761010080835404028352916020019161074a565b820191906000526020600020905b81548152906001019060200180831161072d57829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166107d25760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006107f982610e70565b9050806001600160a01b0316836001600160a01b031614156108675760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016107c9565b336001600160a01b03821614806108835750610883813361062f565b6108f55760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016107c9565b6108ff838361144f565b505050565b6006546001600160a01b0316331461092e5760405162461bcd60e51b81526004016107c9906124a0565b805161094190600b906020840190611f20565b5050565b600061095060075490565b905090565b61095f33826114bd565b61097b5760405162461bcd60e51b81526004016107c9906124d5565b6108ff8383836115b4565b6006546001600160a01b031633146109b05760405162461bcd60e51b81526004016107c9906124a0565b600c805460ff1916911515919091179055565b60008281526002602052604081205481906001600160a01b0316610a255760405162461bcd60e51b81526020600482015260196024820152784e6f6e2d6578697374656e7420746f6b656e20676976656e2160381b60448201526064016107c9565b60008311610a805760405162461bcd60e51b815260206004820152602260248201527f53616c65207072696365206d7573742062652067726561746572207468616e20604482015261302160f01b60648201526084016107c9565b73fb4f09cefd99b2e27dfb381ae7ca07d4551e7b3a612710600d5485610aa69190612552565b610ab0919061253e565b915091509250929050565b333214610b0a5760405162461bcd60e51b815260206004820152601e60248201527f436f6e74726163742063616c6c7320617265206e6f7420616c6c6f776564000060448201526064016107c9565b600c54479060ff16610b5e5760405162461bcd60e51b815260206004820152601d60248201527f57686974656c697374206d696e74206973206e6f74206163746976652100000060448201526064016107c9565b662386f26fc10000811015610bab5760405162461bcd60e51b8152602060048201526013602482015272496e73756666696369656e742066756e64732160681b60448201526064016107c9565b33600090815260086020526040902054600190610bc9908290612526565b1115610c175760405162461bcd60e51b815260206004820152601f60248201527f45786365656473206d696e7420616d6f756e74207065722077616c6c6574210060448201526064016107c9565b611b396001610c2560075490565b610c2f9190612526565b1115610c745760405162461bcd60e51b81526020600482015260146024820152734d617820737570706c792065786365656465642160601b60448201526064016107c9565b610ce9838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506009546040516bffffffffffffffffffffffff193360601b16602082015290925060340190506040516020818303038152906040528051906020012061175b565b610d355760405162461bcd60e51b815260206004820152601860248201527f596f7520617265206e6f742077686974656c697374656421000000000000000060448201526064016107c9565b610d4633662386f26fc10000611771565b336000908152600860205260408120805460019290610d66908490612526565b90915550506007805460010190556108ff33610d8160075490565b611807565b6006546001600160a01b03163314610db05760405162461bcd60e51b81526004016107c9906124a0565b610db8611821565b565b6108ff838383604051806020016040528060008152506110ad565b600b8054610de2906125b4565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0e906125b4565b8015610e5b5780601f10610e3057610100808354040283529160200191610e5b565b820191906000526020600020905b815481529060010190602001808311610e3e57829003601f168201915b505050505081565b600a8054610de2906125b4565b6000818152600260205260408120546001600160a01b0316806106bc5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016107c9565b60006001600160a01b038216610f525760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016107c9565b506001600160a01b031660009081526003602052604090205490565b6006546001600160a01b03163314610f985760405162461bcd60e51b81526004016107c9906124a0565b610db860006118be565b6006546001600160a01b03163314610fcc5760405162461bcd60e51b81526004016107c9906124a0565b600955565b6006546001600160a01b03163314610ffb5760405162461bcd60e51b81526004016107c9906124a0565b805161094190600a906020840190611f20565b6006546001600160a01b031633146110385760405162461bcd60e51b81526004016107c9906124a0565b610db8611910565b6006546001600160a01b0316331461106a5760405162461bcd60e51b81526004016107c9906124a0565b478061107557600080fd5b61109061108a6006546001600160a01b031690565b47611771565b50565b6060600180546106d1906125b4565b610941338383611998565b6110b733836114bd565b6110d35760405162461bcd60e51b81526004016107c9906124d5565b6110df84848484611a67565b50505050565b6000818152600260205260409020546060906001600160a01b03166111485760405162461bcd60e51b81526020600482015260196024820152784e6f6e2d6578697374656e7420746f6b656e20676976656e2160381b60448201526064016107c9565b6000611152611a9a565b9050600081511161117257604051806020016040528060008152506111a0565b8061117c84611aa9565b600b6040516020016111909392919061233c565b6040516020818303038152906040525b9392505050565b6006546001600160a01b031633146111d15760405162461bcd60e51b81526004016107c9906124a0565b611b39826111de60075490565b6111e89190612526565b111561122d5760405162461bcd60e51b81526020600482015260146024820152734d617820737570706c792065786365656465642160601b60448201526064016107c9565b60005b828110156108ff57611246600780546001019055565b61125382610d8160075490565b8061125d816125ef565b915050611230565b6006546001600160a01b0316331461128f5760405162461bcd60e51b81526004016107c9906124a0565b600081116112f15760405162461bcd60e51b815260206004820152602960248201527f526f79616c746965732070657263656e74206d7573742062652067726561746560448201526872207468616e20302160b81b60648201526084016107c9565b6127108111156113625760405162461bcd60e51b815260206004820152603660248201527f526f79616c746965732070657263656e74206d757374206265206c657373207460448201527568616e206f7220657175616c20746f2031303030302160501b60648201526084016107c9565b600d55565b6006546001600160a01b031633146113915760405162461bcd60e51b81526004016107c9906124a0565b6001600160a01b0381166113f65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107c9565b611090816118be565b60006001600160e01b031982166380ac58cd60e01b148061143057506001600160e01b03198216635b5e139f60e01b145b806106bc57506301ffc9a760e01b6001600160e01b03198316146106bc565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061148482610e70565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b03166115365760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016107c9565b600061154183610e70565b9050806001600160a01b0316846001600160a01b0316148061158857506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b806115ac5750836001600160a01b03166115a184610754565b6001600160a01b0316145b949350505050565b826001600160a01b03166115c782610e70565b6001600160a01b03161461162b5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016107c9565b6001600160a01b03821661168d5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016107c9565b611698838383611bc3565b6116a360008261144f565b6001600160a01b03831660009081526003602052604081208054600192906116cc908490612571565b90915550506001600160a01b03821660009081526003602052604081208054600192906116fa908490612526565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6000826117688584611c10565b14949350505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146117be576040519150601f19603f3d011682016040523d82523d6000602084013e6117c3565b606091505b50509050806108ff5760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b60448201526064016107c9565b610941828260405180602001604052806000815250611c92565b600654600160a01b900460ff166118715760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107c9565b6006805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600654600160a01b900460ff161561195d5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107c9565b6006805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586118a13390565b816001600160a01b0316836001600160a01b031614156119fa5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016107c9565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611a728484846115b4565b611a7e84848484611cc5565b6110df5760405162461bcd60e51b81526004016107c99061244e565b6060600a80546106d1906125b4565b606081611acd5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611af75780611ae1816125ef565b9150611af09050600a8361253e565b9150611ad1565b60008167ffffffffffffffff811115611b2057634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611b4a576020820181803683370190505b5090505b84156115ac57611b5f600183612571565b9150611b6c600a8661260a565b611b77906030612526565b60f81b818381518110611b9a57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350611bbc600a8661253e565b9450611b4e565b600654600160a01b900460ff16156108ff5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107c9565b600081815b8451811015611c8a576000858281518110611c4057634e487b7160e01b600052603260045260246000fd5b60200260200101519050808311611c665760008381526020829052604090209250611c77565b600081815260208490526040902092505b5080611c82816125ef565b915050611c15565b509392505050565b611c9c8383611dd2565b611ca96000848484611cc5565b6108ff5760405162461bcd60e51b81526004016107c99061244e565b60006001600160a01b0384163b15611dc757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611d099033908990889088906004016123fe565b602060405180830381600087803b158015611d2357600080fd5b505af1925050508015611d53575060408051601f3d908101601f19168201909252611d509181019061226b565b60015b611dad573d808015611d81576040519150601f19603f3d011682016040523d82523d6000602084013e611d86565b606091505b508051611da55760405162461bcd60e51b81526004016107c99061244e565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506115ac565b506001949350505050565b6001600160a01b038216611e285760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016107c9565b6000818152600260205260409020546001600160a01b031615611e8d5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016107c9565b611e9960008383611bc3565b6001600160a01b0382166000908152600360205260408120805460019290611ec2908490612526565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b828054611f2c906125b4565b90600052602060002090601f016020900481019282611f4e5760008555611f94565b82601f10611f6757805160ff1916838001178555611f94565b82800160010185558215611f94579182015b82811115611f94578251825591602001919060010190611f79565b50611fa0929150611fa4565b5090565b5b80821115611fa05760008155600101611fa5565b600067ffffffffffffffff80841115611fd457611fd461264a565b604051601f8501601f19908116603f01168101908282118183101715611ffc57611ffc61264a565b8160405280935085815286868601111561201557600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461204657600080fd5b919050565b8035801515811461204657600080fd5b60006020828403121561206c578081fd5b6111a08261202f565b60008060408385031215612087578081fd5b6120908361202f565b915061209e6020840161202f565b90509250929050565b6000806000606084860312156120bb578081fd5b6120c48461202f565b92506120d26020850161202f565b9150604084013590509250925092565b600080600080608085870312156120f7578081fd5b6121008561202f565b935061210e6020860161202f565b925060408501359150606085013567ffffffffffffffff811115612130578182fd5b8501601f81018713612140578182fd5b61214f87823560208401611fb9565b91505092959194509250565b6000806040838503121561216d578182fd5b6121768361202f565b915061209e6020840161204b565b60008060408385031215612196578182fd5b61219f8361202f565b946020939093013593505050565b600080602083850312156121bf578182fd5b823567ffffffffffffffff808211156121d6578384fd5b818501915085601f8301126121e9578384fd5b8135818111156121f7578485fd5b8660208260051b850101111561220b578485fd5b60209290920196919550909350505050565b60006020828403121561222e578081fd5b6111a08261204b565b600060208284031215612248578081fd5b5035919050565b600060208284031215612260578081fd5b81356111a081612660565b60006020828403121561227c578081fd5b81516111a081612660565b600060208284031215612298578081fd5b813567ffffffffffffffff8111156122ae578182fd5b8201601f810184136122be578182fd5b6115ac84823560208401611fb9565b600080604083850312156122df578182fd5b8235915061209e6020840161202f565b60008060408385031215612301578182fd5b50508035926020909101359150565b60008151808452612328816020860160208601612588565b601f01601f19169290920160200192915050565b60008451602061234f8285838a01612588565b8551918401916123628184848a01612588565b85549201918390600181811c908083168061237e57607f831692505b85831081141561239c57634e487b7160e01b88526022600452602488fd5b8080156123b057600181146123c1576123ed565b60ff198516885283880195506123ed565b60008b815260209020895b858110156123e55781548a8201529084019088016123cc565b505083880195505b50939b9a5050505050505050505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061243190830184612310565b9695505050505050565b6020815260006111a06020830184612310565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b600082198211156125395761253961261e565b500190565b60008261254d5761254d612634565b500490565b600081600019048311821515161561256c5761256c61261e565b500290565b6000828210156125835761258361261e565b500390565b60005b838110156125a357818101518382015260200161258b565b838111156110df5750506000910152565b600181811c908216806125c857607f821691505b602082108114156125e957634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156126035761260361261e565b5060010190565b60008261261957612619612634565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461109057600080fdfea2646970667358221220413dada6a17fb8438b045d0928af4f07ea45793c6e6caab29b74c277253bea4b64736f6c63430008040033032187cf92b15b517abcba199d1827b18452bc9a4208af597ddfbfc09baee0080803fd56a2bb83c44b3ba0cc6c6cdda5a89524e038d8682075c14cb9d5ea0b0511f70394fd771fb5fa9e21b15f8874d11ccff9aee6e590142a4e9e7980f4e9642c35dc035f9ec720cf8b313cc8d5606c6fd97f7e84a75446ef10ad8c466f5465c8348eb10379ee0f39a809d0a1188c4439a2fba4fe3cf08ac26118c19a4764f9627bcd9798030e36f9e2e1a9e2eb56b8fed017fda5362de7fcc983bf564ffdb2fe1c21f1a6d0033281faf1028ca99b9f39ea912d26589782bade8a578104d1175cdc93efe3439a03f4ecc04338e1b338c3506301152a55ff8e92d412c13dcadb68794390bbeb2f6d0367f4072387599416a0c0548c3940faca43abe53d124779c47d1c02600dd3b1ff00581f026aa4f630cca49e55506036ae41157c336b74110d42bf9307011cabb1b54742dead00581f0221353cdd9d039a37093c622283ba50ab1a30ca87a12604bf33224139cfc1410100581f036ac353c5538c4c0f7942245958a65a2ccd531fbb9feeeaaf3bf7a26585305407006a4f8a5cdbc646a9c795f7b2c7b7dc1b702d00581f0301d7d3a9b199df9aa7dfc3c055f578286b36363d9af10ff7aa49f9d4f7b041010219220000581f02c5865f79758f5b8774555053762ada174cfe2c47214293073ca61b92dd5842dead00581f02fb91dacb7ebb6ee399f0bc6c08e3ee39d0f5e4f858f44236ab17ae24c91b410100581f025380aeda6037c3e46bbd57af930f4f54b9ed68ab81072c49787a76c66aa5410100581f02fd805a08eb82f87497de2da793b3f87acd1ba381dc2de0ba51b2d17f4264410100581f0223f06a4f896e2ff27b7fb01f64ee6529d5a8ac8426532fe1f287cf05ec72410100581f02629501497dc7281001361189ac92132ee22c9bc524b1adb6596b3ba65b6241010219d6a503592492a62f112f3ed534baee44aa15da4066e744f58a54484dc426de58ae76010317b6fb8d9d887938e8e53a99f29157527ad502470b1e7c05a54e66b33652b5bf03ad8190cce48dd0a17dc74ff8322a376a9e80287a118e6122b2868298e6497c53035b09206a0bf679b34c4dbc89d882d2e017e0a8728a511cc3d1286e4ad6b277250361600170963e904c02063134af214287476c34c9fa906e2f64a6522c1fec855c03872871f49e5281697b8a2e499e9461f4a482c47fdb086008aecb901beb749afe036fe99efc685ad9e52b5f14aa09bbd3c5013c5537a39f8777aa136406147da6cb03c02323467ffc9e276366d6877aa034f78ad6fbf5ed7a9e794b0b6d4b32e7cf000219ffff035492dc2eaf0cb30353153530a76061845b8e294a159b7f9ce7768ae075c08217036e8f4291af57ce928b1c4af51b5e2703dacdbab9e5ec91ecda5fa956edcb10340344ff318df57189bb04ad3f44b41771e96586d8c662856c46f26450da6c7438320302f5fc3996a75c997114e814308b539eb9fa82a69141ec28d37ce511bf5bf0c1036271ebd77106f517b27201a74e82b0dd5d28d79ede46ed203a75d693046d599403ec1814861f4ac7d95d66fb371659f8877c378c802af7f27b6a7f1c2d6d3e2c1f032adfaa1d55b8d9c361fe79abcc69d05c7bb6afa6da89653896db83bde2a6983a036e57c4755fd525ab07e814faa94d98cfb8d72acafe54125e05797f547b8680e4038d3d05639485dd718e405bffc460dcddac069347d70e935e4391dbe6bc0848cb0351888d2bdd2ebffdec7903f25cc1dfb9d1264666c5d64f960a32b35c91315a75031c0fef34677ad12a4d37c49a18974450e669ea863327f0fc9f9f543858b0f5f903c03f7869397e77de43f046ff7bd956840fb6d3f5f819474205a95154c62ec55703fdf4542eae0a49dcc22486086d5f02858d41f6b793e54308e66697245c5d186a03505f7b226064dba26c71ed2962625aa9b9b388a1e6b68267917da06c58af66600219ffff03b40b8423eec6bb00e2689cd61adbdd4ddec34616777e268782298e0ac2cee132037bc585c0c396b9b4fda8ba7a4f09711db1b2e538aa90c4e00ab78d3d64ba79c70343cd81fa69a926e96a6536be69b2e46d9495a8fdcc7bd7c8ac69a612fbfd8ae1034c89090d195514480e9deee39aadc979aa83bc21ffcf30863d236fb8d2a456f7039772bc62a8853ae7a2f692b2537774f7620afa50a195c00eea2fb8997d2e29ac03eb0fe4dcb065195acb52c11fe4fd40c38bc75a22b630812fa15449ae4730267d039626847e3063939a5f0fc1e0720126264be58e0a18abbcafcca25b671cd035d40322436dbc8b0271defc9ea47d4e596483f7266b30c0f401efa0156d9929e743be03dde9bcd6cddaa3e10782d771780a24ff628ce20b60a454aa2feab4bd3875968503900cf100e589e0566bf43afed50549adb1d1dfb1b7385e0760f307349c09c9780387b7c595fefff0281273c7fc6488692c2140f97cad5994cd43d05336a86ab8f503b1bf9a64340ea20db32cf55b9c4dce3f106fc86a51cbb8a3435206b9df93d36e03dc1d9eccc986348720ec55872f3599c28e42dbeef6d168289f708006825731fd03a22205ec99ddc39aed68d851f17e6238a10534ce36e04e24dc19e0e8ab4e27b103691fe407fe2ecc59efc0a6a42b702bae31a35937023b035c0a448072fa01609503e2dfd3d1ce7befb293bf6e12545ab7f747f0fa2e751d14a2534d7e5c048e207f00581f0207e8958d220bbfeac56d09f729e97e81054eeabd0c4f9e1d129cbe48136f410100581f02d5dee64ed029853d7bddcc641870e840b3316b5054372b2fcc443566a98c410100581f028b827bf4de396c0b8b700fc0fec52b44eb24e1a1693e0a3ad496ee74e601410100581f0245052709920e08fba047987925998402b7c47da16ac1dcb093a71ff22da3410100581f0398f1086c2f689ddd480b434dbd58d4360ab3574042b6e52644077b7dd320410100581f03bf9b3e9840e9238e6300efd6a58760f5e4120e3f6107e9ec3fd9b071d0a0410100581f030eedd2cb7e235cf00481ad0067e0e64f7464b21dca41fedbeeb8590dadf041010219222000581f026bc8973d36535cb36d9da3da8803ff0f6007bd982fcb9d66f54c01f0756f410102190b4303ae5a74970cd78b44a5288917bc8ce2abb440b93ebd9ec1f924ef2f7e375b34b203113e8ff6761bb3a8dcdb0031a4957a78e134afb0d77a6e6229054ba16ba40df003b01655186769cb9e924c2ec6da2e4c1c2f70df8933463b37a9eb4fe50da03f2f03df7e0dda886ae69295f3b5e5336d7d50c90228b351df75c4c9eba1bc545ed05b0347ff2fb76161ae51d5330d4d96fd1143c13bf96545fde42cbd97243cc1359aa503bbe4df1ac6b46c269f1356f5ba13a5eb02f19cd585b2a9c91594a050733f509c03b064f9c3c8d2da331ee11e653b4a31b4499b7fe3fb8ad2a201d4d0a8330b006203d3c4ea1b25b0787752b58d8af65bfc84b101f7391276c37ece2523eb4fdf218e03bcf767c5d778d096b089e4e33ce83c667c34ea6a7e701643467e3e6b2d0703c80380a773731596988e7c1179f0bab3c4fde283510a479ae19244b88303c39f3a74032e137909df3dd46be3a5a2fa45c9deac29a0ee8a7dffaa9d91a04e51a0335ab403fdc1d70cb3fcb8d0ff6b83309e141397ebceeee7c4e0ee50bc089c83fcb3c759030fe78b7a80adefa6b4e14ed098b92b4440f5b81eb999eaea4190d08b3fc4ba8c0219ffff038e8fdafdf3d23d4f2abad3c9cb31941dd4afdbe0f636c19867257531337165d80398ed23b8cbd9a5de74680c9375919b495ca5138ad28983cdfa1e761a0133bc35039caced744374c6c2c13ac3b29b61444799744b5e41d41fa90c8c40be7650954f03b9851f4db308e736a7d9eaa37b8b81e2f40001956a419032d91c4c2523a2d46803c16a55b5c830cd03341a8ff022d404fbaa48edd942323a85a34f21a2d32c25080351cfb263d04caecd1240dcaf5820f180b58f5ef0b830f286589404ffa70dc2bb03bbfb73f4e9975a3effab6027e1e8c5d056ab667fdcbbb2df813573c85610e3db0219ffff0366b5d3c5340e67d599429ebb585c38deaed7b4584f035933fcd99b8e07eb3c2600581f02bd2c6e6bab41aa8bb2407ad4da1cc67e7daab4ace6c6a013a2c213c9284f54dc56a3574f4db8cf9889525bf9951f49332d3bd000581f02923e3a10bb5c952cf4a85ed38025aa4a7af71a78ef8ff9ebdf126811b54b410403e4340da3c547df00a777a6ce80e0e7b60e8bce95df1e334f38c4d19f145acb2500581f021a09c3c5eb0cadacf78d67b428444411356197c78ac60f06ed7be670481d41010219120903309f0de546643612c65a189194d2b07ac6134e6b74fe524a4706ec3ebdd6c92203dedc17061d9a0395008c399f11bd57b444e8ce06a7db2ae2f59613fd15b1d6bf034f56e4d3aa5cdbf31eda0d74a6ac802e3247fa791b0439e81dd43d7bd86adc74031d899acf234fa831388f6ef3c1519e7227902a33df5e77081bfaf38f0f485b6c03ba4a2535caa15ec5376488cd2f83a398e19d8d005fe4a25a260291fa2dee88f603c9835f07e723a60ab3273bd14a996bb01c25bbdec7a7e3e9c1750a2080da964800582003dc1c0295e45d979c8c00a01001a84ec853b4232c8d1f933fed419177c3e7e04101039cc18dc1d084d317239d95a00bc46560b7c354263a94e7c29b3f76c80a078f7303c39bad86630ecb2d8aff34060f1fbab21b4bb8b3a9a6065bafe4e5f226af17a6030f1a16577f9484c48336e21911a9860353880c2c6bdc5a512c27444dd0839242039abec0afcf4b4c320ea0470f7ab67085bbdd9c1a820a812a189e0c69ca2a3f9303304b339dfb6049a7c5ca67cefdddc4797152dcf1a0ff54c87d75490024e4802d0382a6a4f5821edf3b25f8f51d029fc1c5c8a28551293763ab5d2eb8e0acc93fa303eef3e9d6f4b31f080aa23612d0aacb15e50d83f64523aa0c2abbb0ed3e16f7ce035ab6c9d06f690e5140cf5ad749fae285c53c4f62c846403463ea22bf87841c070219ffff03883ca0ed4a18119a6e510c74f3214d061ad28f566611b274feafbe68412aa91d032253a5d44c948e8f9e761b0fd4b58b5076770973864c398fc95fe46f0eaef01703eb9090f3659a27aaf68fa24bf2cfb0af39fbfc8344bbfc99b89d41665f13d95e03c2d8937d2f2cf988177095567afac51f72f9c26096e850c8fafc7142151ffab403a4f762b91772db3908de1b3a2a7e7d45f8ff2862367cfd519de1cb55b6538a1e038e6eec68bf350b69d7bfb9284a0effa2de32a638a3c2656af3148ac289fe9318031ffb79391fe03c233f60a055e24e18bc7c15ad2fcbcaeb1634116b66ac8a34f0038ead57b0276d1130da4013b59fecef847d57d6f361bb25bdaa1129f8cd9fa88c03def25662f0d36107f175ba999930c6ed03e14546508fa0f24f415da346819775033cee8ffa405426df81a5ab596fbe9c46207aa1fbad4553e1cfd113b317d8cab00353283e7401c89409c8c7381b232cbda868f924696b532e7df56236346e38d9cc0393d9e0723fc5f9eff61eb734034da87c0dc34aff060bea6a43bd158325ce391a03cbf029e3a9e9b5d8920475e40ac8c5e9075b41b978eb79a57273c9ddd66b916d03925dc8a616576d96aa4d04a593a11b3bd82d48166c791e3908e18e80fd49a33603ae79e57fc98e4bfb8504dad6bdad08f1df749a66063bb16d0f15f3055b13d8780219ffff033c570f519cc902c99dccea20898f0de5f17b2dbcdd25244c26235bf317b4b411037aa3bfda2dead6645775c5b7d50a88d837397063779296a4b1c50597e46dbd0603512bb30e5e555d28f831e97145031332ca8cb2e9afec34be7c8b61bbd05f037103053d9a3716be97fa875d7307fd7047a307bf709673c19acd45935e3dfda144c703bcd9b2a3a9c07da3af4a59ec5e42f132e08a9d5481cf85fc9697ad470a20006a030b2a3802d664b7fdde1411a3e36bfbf2095504b7b9fd3c7c60185f0845606a84032ba5dfbda9f03230023477e8a67ca10ce94b32afd53c64372142cb2c61f0b1ba03d1e3935e205891eaffc796ac2597aa81c2fce09cb05bc823c9ddbf69550c74a50361450b8a3a11f70e7f08ad7deead68e2b966b67e4d90f638f15be5df4134db0b00581f02184f5498564539963607cdd5b2e22b455d0f7e3735e67fcee7728bef0547410100581f02547749a66199baf95059d97e11f77c2ae1a7003f5313251791d91561c1d6410100581f02a7ecdbfd014b3e932792e18c9306e881dc2ace07a110fa45e05a123427d7410100581f03e5945789517b354e2b7cf725c39e41a0edf2c1347f96d3e3998331462eb0410100581f03fae0252b46d064bd3d24cdb0fcb704748a5d3a585d89ad9ef9c1b0e36d30410202184800581f02694655dbcbd7b5d757d7f6bb0717f8fe599d9551f7dbce35f6d22ac888e841010219844c03517268d418c47d8934ad6609ccd86b4510bb7a1a2f895214a9bc8c168c47dc2403c23a3eb8b074fe692aa50b972c9204c13b0b10460b27dde9fce15d272b09980f03f40583e033afff692882f00ac1e926f93d94f6e987bd4643bf9136942bc7e8f3031c519ee7890fa14f2a3b189b876fb5413140295f25dfc7960ec67d9c7ed427ec03d1e3668bb1ce1b8fda0965b5a571dc3d1856e89d2165a595faece2bda3952f6103fffff2e9d9d6c2647cf3cb78140b401954e8daa6b7fc96cdd1efa6cc4ef33f44039ccf4a08831076e434d7b85511a8fe51f31c7ac389c48d94fe3e6cce36acd58c03cace1134cf6b8b1891b062109db9ea464a9af9ca9a3260df5feba95120901fd60219ffff031273a216f157cd50adec2e68b327a0f41ca4016c142bc970e3d2d8493a02231c03bc4458c99a665e10e00191ee5cf8f440aedab225b9171a3c9cdffa67234c0df503fc226471dc665c9d7b1426a514f946858a4da1752c959fb9508d4808c063257003f6be0b428fd1fc1e541c44655a194791a14ccf985aec3ba5dbb175f79501ffd703b9f1a94acf597b06791819a9dd7140bea5d2a9ab032d976c9c4c0bdf18b414fe0377aedef37dfe29b815f5a17fdd4234e7b33fd015a4c70fe0bddb0b326ba35f3e03258024e5f22aad6de2be7080ceb0ad0130e4a3dfe39cb3a9755f1038925c10250389d1279de327c1387cf5d8721e50d63b5c037bb266ce392fe88c5b8366f15ee7033ec82419718b19137b71a0fc87dceda4d2e4ea18e41dc1abdd9dc3059a6ad17f03b8e7b0454ac6f8045261020d0ca4cdd1ad38b05d8f51218bc8afabaa40de7b150366f8841f9ccc067360c5f162fddf517ed4160a174ab9cb03bdbba36067fc624c03370fd1997b84f3ded48395fb35ed6554d34c3560fa889030d919b1572d4717d0037a8dffb0c0694a9484e51e9564bf114a21a5aafd2e8b5526f2b404be8d78e45e033f2b0e70f251ab366f3a47ecb7d391025242c59b1fae21e82c6eaa8cf8cd832f03ef59c01b4e6d6cf170e9de2756283841eb2a3036cedeb7498f2cea086b0f98860219ffff03558da32d6b49f1598d878a45aa3d27cbc3b11de45ff08efe49628026dd4acf9603767fef6765356e2f637c0b5b8d9447ba4aa4e77347d921d0b819644c7aa79f470312a5ca2180e79576f1ce7d0f00a6ca2cfc70227265def77bad88c9ec7a097fc600581f0229e185618b1d634df1a98005d2ffa799bb3c9fd15122be5edd890a4b5aa5410103da4e824f6d7c636c206707f7f1606f7cfa6ab3fc8e01fd4f9ac7da875b9fff5400581f0287948d338f1d1fa178d1ba14f9be674f31b85fccf547ef98274c0c1cf9ee410100581e02fcad1aa7d80b6f403c1a4c3f3a3c34bd15ffab377b55e87c71d70b5b44410100581e0296b34bedc91b4b0ed4168a0dde67933bec7eb89c8f1da29dc696cb13e3545c6423f1a5969ec0f20cce19d5f8c7744916ab8c0219080801410e00581f02a51a5f3ffa18f2c2f1c2535a3ba48cbe7a0e8e722422a00340e2b3a78dd442dead034d8818657b305a692d36a8010d8b5095406cb958ace10d322661db2a3e64cdda0219149603e67044e4cb66e26a3e314b1440ee6813d3a93cb8c1cc2a1597155c5bc4f2191f03bc68da9616dbb99194639a561d46b47864f63f0994a4299fad47c5592f358181032e80169eb2e298f96f8eb21cf1b53cfb99d2a2f23c90b83fa65d6c12fa23ca220309383c278e09fb2bf84397922f2d07143b2d27638a42b337e7814e8590b9455003fff437ec4ab7211a6f59a5ff107ef9bcfe8d00b340cbf9cd187c6acbaebaf6ad03704b57a3b3308ddff2124ccbf82ef9c6c101f9e8db159f0d1b11e3b6cfc47450039ec1bac2ead5ed79f4e2c5e8de2b2ce4153815262864c33c91f89b9ca9e412300392de8173cf5d0b28925dfdf87e8edd69517f0f0cf7b86964b04c8bc7914bf5f603acbb9e91b7f935065ce4afafb7431b92830c6b572086f5268cfce7197e0397f4038bd1dc783065cb1d0ce880d16458a6c78de040aba49420f8eaef4149098b52100371f9954600a93ad6e73b65467c01c0dc59af2c12e99bdb3d486384d8a403a06b0340163304a59d9e46143391e3c9db5350c5de021ae65c26747de1ec6f3bfb2f8303d8426e9a8779b97385423a95f267e9f521188ff1aa391c471b57a745285d56f203071e154a5399a2f6c8512e14db7d6d2cffc0191138f9d61bc64cd6e06eda1d78030c6729806c19c6051e8bf23fa2599c90a42dd4e9c4aabbdcd1a03eee236a885d0219ffff037d582be6f52f9df35a0d820a57e8af78941d11b7371376fb38e535e55afe473e034c0ccf3ce8e9619ecdde1902105a544575765b51d0e9b044e5108f053c8af95903ad2f6b50667917ef16f33e33c512c3322fe7f0b40a709eab2a153c8638c94a8c03fd1f7aad4ad892984534210262490f5bae1557087820e5692ec959da6a034e4b03f4356aff89daae38b3b46c74e8008aaef74af200b53928c8107e12a0a4fd4dbb03ebfc41b309647468541809d3ecdebc5b7473b3954ccbdb6543ee49f0e89d346103908c4ec7f9a6cd2348df23c81fdd31a8f57aec2c02851c2f50c65841532e1b5703c9b246f7bd02c603d08da9deeeee4c9e8631d058d8927a21a2c81c6a70d34ab70342f165a8b659e3f4f19d0d1c224d20ce7a63ff4b98115884a335fc7a462580130350432adeea670230254fd771995e57c73a68e83b7d6a6b2b49e50fcfa62c49d10379278d9b00b0eb3330feac5f285085abae9f3db368f21c48c477dfaa19317710034951b707b8d2cde1dde53d6aabca9bc4f54a9e307274f7c65489d607d94f2eae0219ffff032966ca930fe6aee16b1599ba2def8493eb41354c64183762a4471dd012e95e78034090f38d591b431f8ac05fd3891a066a3c512c9678b92c1e33ac196f1fd298d403a523d830abed50e3b0b72141bbb2ad25a1c7fe588e624facef9367df0b9dbc22032ed1c341482906d5fb79fca6bda5602d28d5828f82a4411f7667c6d15a78f3bf03d1192de12d7f887394bca7e293f401ce710b7689505477094f84a2293f3b700c0312c3d8d6e18f8bdf561ea38906f3d29f84c5b0d62eb993e13641a0b684ef431203fd783685109dfca1da5274f742f12732fe71495f1fc97384a75381eddcfd1e7c037e5f0e99b505e94006ce88bdce854a016e436eb999ff099289a54af7a9b80d88034d2115552f633965e4d4969aa055d5f0de2a757bf3457c80bf416be3d28afda4038e58b8e8e77a04b2c59392fad267397548c6fb3fdd9a7aa96ffcff433d4082b8038e81d6bf59285c1bcc6190edd4c2fdd3eaed8f92211a4f19834d81b97ea73ed900581f02e4faf81c418fdb3416cae4135cc3b580e6a98e3310b41e797b679c0b862642dead00581f0322313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0540334a9d51f6a7c51245799507ca35bbeaff4755f00581f0366f326cad43ebe9b51f3ae0276db429a4288349830459983bc8bd35fa7b0544fc2b8c41de2204978df738f97c209e9b858dcd102190104036c4f773aef96ddcac190653af5a8c5dae3145f7c049fb6ff5311d24d2c18e2ac01410900581f02fd6ee7db600bc4cbf312e71583bf712903773ffe450534b2446bd7c717f0410100581f022efb34adbe0c8d29ff85ec18ea3c7ea555aa2ba1fc7a0bf9094d0a06408f410100581f02e3d5a0135c5cd852a69fdfe3d5b7afa159824b53898a4ad9529e7db23999410100581f022839a7a8d3741680486316b6cd9beb90faea7554adaa9c2d6cd5d06d0472410102199a15036d91adede43f00962731a6d6f83a68f45c40a1ad0bd6241b466868251ed32afe03b80b6e472349b610fe93bbe00d5ae7e8afc7defb1bf5df941921ce9bcee359650309ca9edde5574b46663dacef4edd2a3c165bc2179c476f64ca8ed232906edba803a1066596c32867f8b069b4bf9010160e41298a1e9b7c772ce329f4d9324e8ea503873178a627e4ca7916c1349f99921d04e59cc3c3b7f98e0ab21dda08b8b977c403e1250c080afbc3a978f714dd43a45ccd9e13443d7cdbdced084cd7fa6a67ea32035a6eaa40b756964d0b56f5060c2e309d5674d25cf8c8c01a49a01b25c56a62b703de88a86f69819ab65a142db53228af653ae531c54ac4cc7b156f3ed8bc2e009703278c4fa21d97db48ead8ea167145baf5d9d70d4b9970e7c3380246c964bcd9b003d9ff78a2c98e9e159106ca33c2f15e672539ce61e9995ffaa854d702c446f47b0141060219ffff0316ee73fa718cf5c638a8ea3077f46b40ba12cf5c19e4043943d2e237f804f29f03928f06ef46c1716209003f54beecf663ac9ce693cabf7d20225bed3621866820038b5b862490c788cf90b83dd3d531e83aa46ccc1ea72616e37cd30bd32da42fd50329fcf5394313efa0738fed0403f765d08fc56bff7a9bc0346899b3aeb331001603f1a6bde79e6f3bd27bc5346a90a7ac08be4180ba7744f8cea4ca1f51696845e803cd4105d77623328ce312a5ce8003d6e7d64e448780dda636d91429cd048d892f03f699eb0708dfe311dcb6fd6aa77db4e115dbb89fbae439f71049f5ba545487af03325e590ac2259d3b1d22c31c970ce5903428c1185c60bfc3992e6e2be49a79d9038904f27eefc9b0d0b8c899e45514afed305db007aa503497ecd3157df2984d9b0219ffff0219ffff05581e03285711884a14ab860d505d178da00b3ff35a7f8b20f38ff5c11fd8ee9007011926ac05581e036691324db494183a85787c1fde4d5bb2b57096c66e46a2ef79badbe9f0084904f2e78c306f4258750219316e0362979d806e773677789ec13b62b1651b2adef392e3418f336d865817ac76d79403026a0532ff42bf6c0d0474861e34f93b2c852f60b2eb198d59498d8f0b4cfe8c03852da6371c782ad0dad01556cb10416513c87b1ffdfd96822ecdc4541625815d03d0e1ec60ef357003614da87fe598e565ee20f604fcc5e632d2ea325afeaf76e803b21e48e4c8234c81c78150b4ec7ba28863c510ffc20ceaee91283211206e751b03683d6f35807675084e1a9a2eb37e5619dc37f2c7b8f4d971cbd6781ddc245dea03252eccd35239948004d9fbe8de207c3093ef6d0ead92e84d35030be49e74d28a0219ffff032bad5240a1b6649b798258f1839793fb3f4d3b4996e9c57c4da258d123e7ea7c0357f92a3c9cb94415f9d32d8032a30d06de6d3b42e0f7736d6e38e07aa376d7a5034984d431c929df65bcd8854f680b98fb80a0022636b055f02339cd17e159b59b0328fe96d78fc1d6934bd70079e40d3bd8c9d55476742e6caa190183b73064af3203240f2187492ecddba061521c33aa1861d0137f22df314eafd39ba79c11f35bcd032cb0aaed27cedfb0192f8c50722101d36ca4a16d7de3b50a0db1b2064c3683c8033d95d2bc1daadfd4c99a6ba47e7eb2dfaa65b400a1a16dd83ed6441d984f87b503c87617577c90eae5cf88d9501cfe6e4a5e27aac8c1d370c3244d11582aa56e57039a60178c1e21dde5014205389c746dd218c07c5576b1eaa5df27d83da6d58b29036c7277acc3dbc18c36892d77211a3e521cb2641602629c05f6159ad51199aefd03ae0e27ecdb046d9df8a02b89f84611d7eeec5e076d2cc4512abcac377feed4c403b9c1547510dbc0d967a1ef6c36533a8fa562a0346aa3e2a877ec89cb9b5eee3b031ad09ceb1d185dc9602cc279958dce84b352188de63f38eceb4fb39a1e96d49603fc40ca1ce2f0a999d7febfa628b5ef4f0647f16f89c3c1a6fd6746528e4c8fd703209e2bd81a25a0c8ebbba690e37d16316a36768729e4da45c64d296281884fa60219ffff0392b718308de1e1c08c01c6e758f1414722443178b7b016c5cc8b2c3d71032016033a61ab376235b7ddcb77b271bf5dbc320e0b0b8409fbbfc79abff18e711eddb703e82cd30a40c2c30c1417c1e73c6eaf04cafe9cd0c1ff20fe28399f111d08f8f8030b8d9f38fb3b864ca3ba0cdee0fa07248bd5e58eba4030233b5de971bc832f5c03184a18cfb3edb53f1f40c623a5cabfd16062274f424ce073ef605c5536614b8303e71f6609f2bf5cc6d6589316c333afbd5f1430c1975a5505e4b0b255db86aaf40379ad0aa8c4e10c2bf8532d43e86a74c6eb15696573e084c90a6497a3be0419df03c85e63c278670b9f05f11914cc66021f7846ad1546fd2d02c7301c096f86eda803e507b718cc6eaa26c2fc2f4b3fe5c824ddb4d157eeab5a8270cd4bb709e9ccb403e791199be77dbf39a21872cf9641a81af050577a39190a9f03afffcf02a9fba10219ffff03ebdc5b6afeaabaed8725ecf7435d1056742f4b5f5d65c4673924cdfab1d8986f03870f15882d3571080909710c3d6d25e47c66beac4e9cfa8e45f18b6558ea5c94031ca2c8befe00d565b87354940d79cfcff0a69a00349e7c2f4fcf2e8709a6028903b9bfd231b834c771936317366688bd5dff6743b07696b103ab38d4baf7082fb00301ee351dd6e979e99c3777aa2114fd7af246debda1889b77342de89f107970e2037ce894e4cb7d90b6380f7e627a3b6ee2274b67a763f9e49e6d40bbc5e2aaabca03a5c08c80a2cba965f0968651028cf8f607267be7d364d10f4f3e97542d4b188f036cef4d6afe82b30ffe1475ac6476fa35176ad484611ce7591704fd87c1b85099036e948cb91ac1c2c0c1781eabfad53f219aa9141e538d4379d745bc24d7a4d6b0030ea29aa4c6b16c4384a8c57633ef4fc0a6512c829f956e5d3acfe9f1bcccb65c039859f39e453732438f2087506db9a9bfbcf9f4a701fd560a05d65bd14b1ea9ce036036f45c41eab6005f2678a4c9cfd24e8e2afd7817ab907382ad28805111ecaa03d98e4a9955813e07ce63679f2f7d652fe03a1cdd4694a844a58723911cc8486a036cb4eb8b7d900a8f608d8f41647543c41e2aa7434be0f5b533265481d7c8d5e103c0f3fc78603f195cc2c0042daf4b891f554167ec86fb80c8d0a4156e94cfe0c003ed7e3ddc1f4c807ad483b6099266525585f5814609b4b7d4f6da15e7a50711a30375c4c876508f73f1fe191429052b56bc79c55dc60040ac0d95d0bbc5e54a530503f91a1ec6a1305fbe8be0ba25c0c8a14721fc51e64227034bb1dd9725389aa15b03d034e220e9eb256ca20fb0496e125863fcb2b1f098569921e25a4693007614ff038fa3e2a621351c360673e92b604718dd64635f68620d739882312a3246324b5d031341f79bec3ed07db8af186e67af69482d503a3bfce51678f517a2c5a53ab95503849fd7c43a23e87a1b34043125ce0854cdd7c18c017e681a1ff1df27e0d96a790333c75effaeb97d83850fd30016ac407684a2dadf72971d255087de338350d5a503dfb02d9853fbc2fd06f080fe0cdea14f764d91f3a2df86ac3464516018899ebd035e4c64f266defb282a5df0e16f6059d06b5057f65c05a699be9a78048ad620d50375d3165bb9b1441a9f7f018959eaf1b9c8010a67bef9568f370c14836c34e4ce03b175c67a8d29cf54f6071553247932d338dac7035b79fc375d8dfe32a12ab4f0035587c1173be224244eaefb4de987c46f9bb8c4461d50f760d3932c307fdf5c8b0344234f40b657d6873ea4b18d27d22e13142d138d62db337ce13c7b8d578dc42e03c4ae7c3e30967551a21d734a4898c7f3b4d5db1b9ef2ef0920d2793ca8823a970346cdda0b756c16b263aaf9858652315aef2eb68ab5e17077ae192f3a9e950536036f75bd999c79bae2c0e4065c44aed1d25eb6928faf588413e4ff230fdaa8a2990309e8768d52d669acd818473bee6ab1e02ad49bb76224ba0cb55dfc193804aa9b03f002eb66e35c68f723a30c3d8e7e364effab16ef51a7a2d9faca5a39f19d550403ec598f8f5a43d5c41c26c61e58242d520ff62a21fdd665f237dc39ded9389c6e03b51d37abd5cb16f1394623863924d979f9483a7b7ca4f625ed37534bcd1f01e803054842e826ffd4510c8217ca02c6b959c4b51c91027803d0013a2ac17d64ab5b034ea4302d68c77197fc653858c636f4c7d5dd00c5b41de4b3cc108be427d37c8e032d79042054003dba1a0006f91d4b4ee3e6a07ff6e37e2a9720da6bc9486039fa03e305b136c8d9d4565898c384f41a98c870f63357e99b9dedd70b463130e34753036f19cffeb18647aa1217b3df30b81d5978e2f7d611de23699dd277022bf97d2105581e03879e5be2e9520932258166d232435f48e9596286cea628b03a5568e61007011bffffffffffffffff0351c520091833a226c8fb94c5fa52cf0f67f8e2dc7259b1e49d101b153711c5af05581e03c2d1886288ec2e82bff5307f9d9aa44a4279a7d406d73dbee44c3e8b400c0d47a1681bd528280003de3190e87a4a2e6c257ab3d25c7871c65ec1ad89838ba12b1389f2d2b8882bf805581e03267e50843e6d928657f187e11bce049e575919f6aa08c7b8a99ce0f3400c0146783663ec5600032e00ea20f10869083cf4091537ec7974a39ce1046b2a0eb0680da92c418b049905581e035f9a64ca75f6e41e4429c7e6ef5c9e079e60287470bf727f29d414ff80040105581d02290ae87fdf97cd87c5765deab38a5b68fc6d25cd3bab1441cb6d24880c19010e472f3b7e9ea63ca705581d024a92e3026a9983f29f638cb4d6949dde40370dd88d9e14773c46967d0c0147025823a0e6c800021910020219eb3003f81ab08b16183172a9b58a0b985a44f312aae2a58649e846b53449b865322b91037e1a688fc0c39220649816dd04317ac6ddbbbaf0406bc7b3d21ef216f630f2ff033a518133dd8ecd62a279a3c3f7011f4d71bce2ed4153451a6deccfea0c03cc4b033b47a4267bb698cc7f591a609c7e882e7be199bdf55b1e758781238ae1393d2b03beb9f52f126f202b2efb9c784382d01778e470d66c991001e96eebfe272bbd4103cf89fbf68ba4dc4bc317b699f0f0470379cf7e96d411c3e4d6662461cd36152b0219ffff0219ffff03fc0a9e4ccc452b7c21f2179df6a06a7a477e8d1c3048029c3922d3a46be3358b03842a404c8c205d645cca80f5c8e20de8530656ba01faeddb15ada7e3d7308ef80219ffff039244923d07ab97a1b91042f3fdadbfff7f8455cba83f3e7a24711d24d093d9c203cfe2e482a7bbcfa41479ac54a124158cd651fb4e9f175566c287ba6475a8bb93035dd4f8b2cc18630b6724cee5ae9a68938ecb0d9dcb2f48ba7c3b3a7dbc41f28303c02bd81c2cc2022909af69d53a9f249156a533bd1f33fbe0fbb0503a0641293603931b993f09605accdff42c2f6e11e0f98aa92b66ca694c888c4e4821c7dbba3c03cbd8e510897b0fe2f69108b0ccc51fffe90298c975249c13604d2663b16a8e970301dfcf94f2afb47307fa1a4e75b351d31a35aaaa7a284e4cdd61698a221ed0b40342a18394adcdee54a8707ae14f1e5e6c7730e9bb4f9b081298acfa6998fa5e4103aef3a3f0e23c1bf52b4a0399040343db94eb819913fcef625c70cf685c5fa1af030d291f7afdad43a4a8c78a03d607ae2b3191c78c241bb9ea6e858040a55ccca003044457d2c20eaa67f66ed5176f0c086f7cd6af257b75ed17d4a298b5e4d54d990301a8a4a19df99e9111b72e1e1863065e7e0b104c808e6ebad5e30b4cad889c8c0369382fc6ebc0f2f70b70d8410970efd6bbcf20d5785936adadec22c4046ca2af032d0f730e55fc8e6cc0a0fc10c91c94b22a971a8a9cb0b5afdf1c3ed84e41f48003caf446ae9707675d4c43f1152396b1361139c88711ada98f518169d04f677d11030117d5766052ff925c4d79cc221aba1527d48003c7a6776371e567aa01942be903d6a92e9bcc052472004f747d237b6f0257412718bcd3dd5408daac3b6eb4f8e6037b8fab878c5b4c8bc0e587c33947bbf6428b9dc5c60df0d40a2349557c0d594b03af52783b767084e453021e6f5833c2e69c4d063dfc124ec251c8d4469f7ff8cd03c54fc2616f2dabd4b5779999bd0557d824819f47ac64161eefffedbe0488f78a0335e1dd38589b8c69f1ff18a584cb4a91928d7822ffa00e6d32d5216649060bb403674e984f7297dcd45b694a26ad1ef6323aa660b0fa8dd4d03909346573032f1a03a0cfe9ff4cec658553ff53c1a1cb86f1021b0dee98b9000a612db7f3545cc38d035c8a614444f752ef567bebadc93ee0f96ab6e191ff8f3ecc7f41020479acc4d403470a1bd7d7b1a9c679edc3b217537f85f4e8d381ec3b04ca77894241bbaf769a03f002e762512271a60920dda194121a4f2d8d565ba849603e14d1fe84deae9fb20325fe731390b3b08f919eb82a4c5e8e61e7378636fe0a134dd71e9351f50509520343310e3f0bcbb510c554b7731aa3a771f2c0c9c86b21e4e5c3508df0f50cc4ae03d97b9e4039a15c21d7a028c7bf4e6514f4e7f5f37f9f963a9789e3ed42746ea60343b8d77517426fcbe1f88976b33707bae5b82fef2f39a3fe71c80bca8c76e51b0313ea7a70f9fce2142df64688e69e9a43f10f6b138353e76a9e4e506d388aaf8503d7030ba5ed64c3fbbf2f8232aaefb83f27e466e471cafef02cefb3e69aa6516e05581d028f27e018d5caeef2e8067dbcd49c7f453531809a30fe0813eaa47e5308471f3d18910ba80003affe208456e818f69a73122832d6db3a7b93175f3bf83dd7f080d11743c81ea90352b50106208b0dce3c80d2e9f04f9a259d491f21002b96e6e8bd8b57becf942605581d02da108727927b909d312166b86702ade212eb9759ddc66e7ba497db2d07011bffffffffffffffff0219040805581e03633d1aae03eb5de6d1516aafcce1cb3e2cc750579fa4b1c6c1dbbe2020040103f82e49afa3bbd9c17e8c1635e8038b412002b0d9fe01abe37c42bf14e653bf7605581e03ec5d13420b2423d9fe2da44ccb983e5404cf26651b867697af97e04d300c07462077dc0466a805581e03ba2d5cc187c121b811d76739ac2e1d239f6984ba33348f68f5c05c3e900c02465af6d46fac1805581e03fffc00b74b429c8050751f5160db0aac1413694d5226c50fe72d128c700402030d5dfd6aedb21345142e5d4134165c26b5396dd3308174fe6d3c4a3babcbbbe905581e03d8a855f1e506afa11dbc19b5c888931d682fe6d7e22838ad8f06344d90040105581e030e87069cdf06bc83dd9229435ef717edab88ff1e6ed301e751f729eec0040105581e035bcb73aa01665f68b618851e96af6f021e36dedaf3e85b8bbb1de95820040105581e0310af7d639b453573631ab564d10fc115cbf125c8d48eedf561b7d546e0084818f32fce7396f00005581e03c863e43b145b974122dc7bd0c7593b45db26da86ed658f2057d9e5d11004010219af770307e78ae862481660179d05003e2706dd8b0b0e30031a115aedb4340d7bf43b1103daf42d411e019526059b783febce138a7e283ae838b4f97de9e06296f38ecf990358ccd79099bdada080eaae511835907927fd3d24aaee9ea3965d60f46ef954ef0307238de0be5cf1e1ecf97b11df09bffcfca75daa5140a3b3b223a883d2f984190219ffff031a8354af9e48c380bcc98e55bac5ebd4ba6b1c739d6ce4bf603c7baece8a180b035040213f803f7a4f0afa4e8409d4ae36e538ac1cb604ddffcaedaf503c0160b20219ffff03b228b6f4b021ecb3d077f0eebe304eb7ad60fa4841ad6c5185dc5c086835a8d603399ec9ff03183c980cfd1a3d2661a0f4d64e93323b2441f2754714fa14746392037ef66d5fa914a1130a6cea83c18f11e328c733445370e1ab7b7ec836f2c88bba039346c71581c3ea0894811487f44d757b0e331d1d9e5d166832ffabb77368c7ee03d16fcf57df30002110b105af17b7bce79551256a2dc1085aa2917b44950b4a3a033a8f591560d81c71be39f99451c04eac0aa35468509ed083ce2740900f5a9398030c8ced1257eeed0912d4671e02338e61a12ad26584c0e82f83c51e04e92d961e0219ffff03d48a442e06cc2a9051d51e88f2a599ba9605e52330e165a560798458e32e86d8034bc8bf30e8afd62cb4bc03adf3383ec25e9dc24a2d860ce865ea580ce8ca1c4a03b74a6c5e407dfbe9159b2a61542b6fb741d653646413b093a25113b437c751d803ec50df5a4089de6680f1e4c0689a46f01e4655f65aae0243ecf42965a632c7b7036c40aba122b4f6a96843c23ca621c596e98dd1af17ea0a9d5dc0a5b99b45c4e603b57ef5b019868bf1cf4f21a73364fcd60ab7e94f0f3af94e5fd322ec34e7db7b0396f4824cb7877989ee828b734ee755c3aa2756cbb07dead46d483463ed17258a032d188aa0fc2fa8aae6133d87ae5c0baa3fbcc276a280bff9e957bbee7b24312e03cc94be2815470ba94aa4438380c97f842ac9071d66344412893cfc26c6c1856f030cd9259482566657e1e80c24713167b5b61e139d60c2112f4113556597d4af3b0340edc09994f23a80a7f84eb0731d77aafc98572527895f961593d8e70edf14f103a1b2201f2448e1e7e63c08ae1ce38158057a1682be16bd2b89febd0360258d0d039d39b6ee0de0b55bb9ca798a186d14ce4a41001c7a5a8fd1bfc4388f6fc188330327558890830512f38819b395d6fb7cd3554690c6555a99a07a7d936aa62a34b303dfa26b75db2bbafb74515a712ed4b167cbcd066929d1f06deb50182f8ae9f77e03d680a1867147e06f9579a618cdbfee0368f48001da07582903ec3f66d15f76d60312e99007e73a6aefbefa1a07d00416692bfd78692a3d809f2baefcc70f1ebe0003408fd8a6269b8e3579335f1f6a15f5783ddf81b4d4bf01cc9ef642fe0a389463030db9024447ae886c4505bd236c61a2d9a227891033e00512514a91c08ad9b4cd03cb3a9c6ad10f828b7730815ec1487c91234b2e12870dcd446619fbd83e02f79e03e8e4510e48ab5a5984640479ba2790b64da3b2449b60e9a0b1abcf85d6b3206903a33f9d3bd2c9fe8a1f6cc72a4137902e4403b7cc585651021339183e1faa867f033803f351f1edbd04251140f03f9bcef8f18153d44d31836fcae20bef8edd1d7f03b3d419e224db44723e3bd263939297aa4bae137a2b36e8cd6342484562ce5f8e039faa0a056f3b78c2566f7838f1bb16f8c1f6ef333abb6b0add75e9a9cd174a02032b8d9d08b25248068d5d957bff31309da2b25ef1297d0bcff2d5f061fddd8faa05581e0358828e63a88b93cef178dff0f5a6ea61d2dcda3459b3c0b7556f2be860040305581e03dc0f3f0b1e8e9090e7547c66abf03a04f61063c5a26b75b578cbc1fa500c014702d478c28de07e05581e03c9e7211a2657683409979c46be54f13ba7cce05f0c9865fb2d8ee40e900c0346272baf756d1205581e03266a85f4f71eb44186e0e67c5be14b4cbd65c262f3040e06316ba956700c15481c1f65958595b62203fc2a23392fb52c4c3854b848359067cbc31df60f92af467bb650b4d28e5187ee05581e0335de6bdf35d1f9e82fb8c09c7b37b37d99a92098a1dd3d30edc11c46d00c0546156401aa2df805581e03cba39b7364c0ed5ad410662f7d2cbe29e4e340598c7e4acfa15ffd49e00c034447868c0005581e0315465a8da7e96838a170def12b94354fa6fd9061f67f8273ba9d177d90040205581e037f78c94bc57ef60ab980efaead860b10d8c945aaeb5ed20712cf643470040105581e03eeb0acc6efe93bd75cdf77f44c9cd1b4f5e2938254fe78c17f440665000c014708ffa8bcc06800031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03aafc9dc348308b3b515190df0182dafb2a41638f2b566005fd923ab8b007011bffffffffffffffff0219cb5f03f58d3f115655abe99d8b430b3115602756ce33e2168dd6e460f4edf6ac5d04c8037bf7eb2cd8ee476edf6c2b8c2143e3c774d424dfeb815961c4760ed5f7843bd303443ca0490f507c3c20281a7a762038f1fc976a719c08ccf7b1c4568f701acbe20350e72cdf0492cd795459009b091450b58c4f720f686084f090109a28f62cab5d0219ffff036d776913c0b99d8692e1f95c46e3b379134ae53fbdb3f67c874b1752339c071303a9f2f3198b96724498a1a91544394ecb442dc1e4141b82b82d82ad61303b3a6503a293cf41ab1bb34f4718dd8a7687dff9166ef869a1d0d1a7be8c4e03553af8c50348099323636131d08556a3abfe5a88e1eb09c8d66f4f1e4e2ae785d43331824d03d0c3914609d2be86074e36bdd10ef068668f85f3e20a07cd799d102f74623a6f032c4a490889a3ce01867e0233b330b4380a1d643a42dae2d28a1bf5b8a9d2d04c0219ffff03bc203fdb2b62366be6d90bc456be7c6dd70565cad8cab33d863e65cd85660727039ac0e922bfd5873bb06eadb38d2be5971e7bda4a2e147a36113014925d5e7ee50354f446b1956ef43ffbd11a72ad404bd6a25acd29b3f2f3e4525cc8d8bd934c16036a7e3d705ffaeed97e516b6b7d44ea1ff5e4f57c3ea93ccc841c421f4fc957370306d79ceb4ebcd3602903eefdaacbbc747a708b138eca5e4b59684376a5c1dc48037c60be4de1a55114f15626d6c1a6b5e9ff8bb79fe43bc509cf013efd5e1e38a203a30d342d937486028f9c830afd258c260affcb94fc6d9871da45312b22a3812703c1ee92798373a80d202c37cdd809f9b715eb281afdfbb725885db4c6cd0f23fa030c0f0b049cb11a938aa6c5324cfa4c52b88290e05cb813993942b9ac7c993f01037ad6e7683d1abe38bcac1d7388367ffbfa88d916f77ad2328a3702e792182e26039efa4854802c99d8ddf00da4ef40ef8644c4d321cdaf677158e7e7a1aa58e3ed035b7054f67441d9c58e92f17b9fffd508e2538a1370c0307412d70dd8bcd8a7310219ffff0365984068dc6437c32e54816bc27df63c7e50b9435cb39103d3e1b260665f959a033d8cc76a99bd3807390c9007c41f787b0e14c024afb81b1d3fd19496e524928d0386eb7fdb37fe76a614a8dc48996030d271d121a6491a27aeda0771e943f670e90325fc7e5ace77d269eb7b3dd3941da311e8a699e4bee053ef77bcedb47aff92ac038d0946ae728e5746f9407a6152647d1fc8c601a1cba84b16bf4dc5f15a6a0528034176b0779256027df617e25ba79d47aecd5cc6539c40585148a7dd78869ac253038b603a9332399d21839b961ae190db2c557b3c434536ba763a635811c14eb88303059d23192ba74ceb7a7560bedec1fb584d0c0220f68ac4f474ce2d161c3acf120356e1f245a82bf3aa8b741f751e22230bd08e0354c9655159ee735057437ee34603ca96ac7124b00c98bf81fd358ff774a9749614b788657cc8ad9cf73b18b8376e0396c429d1a321fb49cbd9429ee25831a7316cc4c3744614c60d420ae5629d6b0e03e41e8f9e0d027e9693dfa8785ebd14d853d152e3ee53271b69242fee0b489f38038b0ed21ea9e8640dbe1c87db8962201ae0e461458be7d5104f616aba8012a8610331d94f9acb8389b921e4b5f7d72c90103fb479da6dac42d75ac5b1b61efdf97a030124c1766f0164935e83cde8d6905759afc4ff78a3ce1c577b417457ed727f370337e46ac7b5f85fdab3890063ba768d5193c08f793081c9c09455e62c70d5b80e035a33f2a9d6aef95127d02d7c889f85adeeeae01ad1f5476f3e8b5296d4309ebe0310213428393be49d8893749fbed25d7ed75f87e124a16b5fd63aeed24d5cf11a031cbb8da54704dc19376c9b5b2967e5b8e9046a05010ba2cf3517d326381aa639033d5db918e58714fe17ef7c5fa3135ceac9dbff4964784ef6aab71934570e52890396fa49e340c1e04b2dc6436e0b01e1727fb0f3ab3d936f3375cd5ef5cc167ce6038b5220700cd51068fbab978048592dcbdd2ee3c1b6faa44bb635d5e909a0ead00348436544a32d3ada738b212476646f9d019b513c6a132127dd97839065e6bbdc032fcefeff785dffdbdd706823b4d1a0e856e2cb70df7a83f7e3380b5bb3a8ffce03b8f677dc0f3119e800cf0827c01df8bb76a80d826318d29ee77b42c7089cb29103d8c8f0d796f1b31984008cb240982fa394b92127a39d217330be4bd8dcc54e3003509d6e022fa6828da9c53bc38ae05f17521137b731246ac6c507796da5c83443038c8204e42a4776f270bda3a4f1b51653bcdd4990a047e81b495b295a12bdbcb203232d3ec639d2a347c638cf9636912319c8bc54c95f86d4f8ea68bf951a4f40e2033bf14bc5be1a5446cbb6a38826d95fef512c04976a8c20f5c0e1476401665a1005581e03d9da506f353797263424ba1549fe0a12092747d49ff244625b2ed6966007011bffffffffffffffff03d9e04d31d45798f2833fd286b169c2dd45478c604c0abad99d8d45eed56ef9510399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908033b9b39f20dcaac9ce898a928d80cf5ec1b5a784131a7e570f44c9ef37087daf705581e0377c09f7fb661e65925714b0006c5d9c63ebb898af3b8ae83c3372b98a007011bffffffffffffffff03941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e036c4b17017497ce8c73a8324e9fd44226a8a4957fb6684f80f2e47a7b3007011bffffffffffffffff05581e03b8c57cf0c1b01f652ef9f25f543edf7a0d59a3730c55962866d2c88db008470227047209840005581e0342ce47cac6730e05e9f5d0e79f067a5520acb80941c6852cb6635518100401021982b503076174576a886d9beb0959f2ffe94ec78f683934f5aa858f76c341b24733401f037d19639805b1b83a9cb56840fd005d03e76c4c7a381eefc53517c7da24e750e9030b5cbf6ecd563cf225818672435eef86312d580265b4d341e32dca54d2c3f0df03864ee689037e761284c8c0499d0fc676415e679129518f50d3193a9be7228493034db2d5f84468e316ae1330c287b45c2ee10126e231584e2d965f928bb8c4e49703dafe92521d491071ee8a5fe030826924f3524dc2dcba6457e67e4b2d01bd2e39030fd3a552546a7602bca797fe9c6623a5c228bcfc330f6698261a3940e113a9f703dfb290155cb32afb0a2e3916138e3b2d4db3899aeeffaeb40a98d4c9f6e117a203d2d501cf93632f9535d50d648571f051eca2436cda066c3ee24cf6e1c2abaf9b030c2a41b6fd2516d4b1db72d226e3a8125a3794f174cd02f88c8501deb8fcd24f03e44618ce50a7ac50cd37cd9a78c6cb50e74d21b25e5cdded8127ec61398269060305770cf685a8628e0015aac374e5a53da719ab1920fdeac95ac382d297245af203c07cd3f8b563d2e395a50b442da9ed08df2803df58d5cfa4cc733a488f97b0a803108f77f48631fc1b68e21020237ba9c951faaa5255399a8cecf79c444509297f03757971cb7e42f7ec3bbc7b4a623f75df8137334a76f936e94ed57e5a1e8d7ec10219ffff0315aea65a0ba9f7bf4c67b9786b7ef8ab4d41ea5ba0a1f26ff756920f540f353803a0acd5990a5ff9a54685e1e09304787f310c3d446c2b40a643de262efffc907c03228e9b1c672999813bee8c9abc882bd1ab5f02420d28ea686589ecd385750ee7033148b685c273773f7348782042278aa34896a2d272963344c481f43e2b7987fe03c68fa8b83552bb96cc0d3b4b537e095e19ebdf4a29846b433f07822f1375770303168ee4845a88e1c048c75827214cbc11dd7aa499962ae522379dc2f7f4cb99880219ffff0219ffff0317c7f6a5a6c6a5bce4addd3327f0fcb7ac86fa592a916c8aaf10fd18250654bc0219ffff0380f7df8dd2bfda6696d75758e44fe82178ade72e1242b35441164c7bfa6b53df038e9d4197c06bc59ee6f35789073feee8aeade69366bd6ab03bd8971397adbbeb03a7cf5ddfeab5877761307e28cf38badf92c41ba3eb853595ceab9b2473e4db3e03c68996680f611823c69cfbf97c82a0847434dc273c27889397b0fe7033d1327f03e8b31fd185fe64a3860c38d40db5dfd811f2acdfcff88addd7eed262a2a54c3c03800a363ea5c49b1d138666128efd458526d5835b2eeae7c30ceb4452c7f1eff703c1da41e6ad80e690faf17df9bf1a5551429713bb30622163ce11865aa0078ced03530abee5cf22c7ede81ef207a1f1b3ede85905469ff8632bb4c9d7577d08b58903f28c58c22b6eab64bfc55d9aa4e3b790c47607b8f4555cd5062011ccf11e2bd403dfd39d706787f37d98a151c6aa38818a0fd4b4d7fa347e0cd2d1409681f01da103ae683a4d45fa906db8f27688eef6635f3e760fd4ed4e871ec56c2d2664f7b4f503cf22959149f7c5fefea18e2fcec5a1731f37f4f519ac4982077e33a147502e0c030ac61f6e48c36074013a54f3cd3e427f905e2c6598f02d3dbd3fa040cdc1d607035300da535b9542ce3d97449afbbbf1601248ad44b560ba5a11fa5b658d4e0d0903b607be384637f7c491f0ac554d95f79eb997209abf7d5a33450940704e5afb9703ec7955ddb3b6ceb6b9b34731c45f8a1280e6cc4b93fe748ad30b4f51720bd0fc037e461a01f6c6ff36f5216562e07daddaf1c9d27e9ae7fdd1c9fb199741d2645a03d486fe05222ff39223be7444b0469e5bc6c9bc7f63cfbe8a8288df46b7fdbbc305581e03ad117f0012b56ff07b7b33be4593e143f685a987b1413a1b2f399e9270084701f7cbff79aabe030111a6402d8531ba8e2acf37f5627652e28a970e9331db6b26cfd7690a857de703d76182dc910ed33cfdd3859dfe91c4836a9e8a395368252718e6cd605590a12a05581e034492af90ef678f721cf842e9af6b9200c2ecae560b5c98eb0a3577d8700c074684e53b25e36005581e03a6b90d0377f4de44e048f0b2e9bba429887578bc8a1bfd5de707e0ed00040105581e03e269245bb0437762a92e6ab85ba39ead6f812ea5ea5001d6255bae48f00404035a043ed4ae18650e7169c25ee5af258200d3282380ffbd6534a839ea936a901003ca1e2b4b40715919ac2805e58f8541ea86b1866a702f653cef2e593c07b5172b05581d025d405c163964448159723f4de373677244d47426fc8324799b9aea2e0c17475cc4f86a0ec77c05581d029a0016277674f060823c23d11f604ac7ec2c2b0b928b353f31e3a42a04010219014005581e037fc23f83f6c803b455603f237d74346199c27c7bb1a8aacdd71cd093e0040b05581e03a8a9e5b4491ffa392e11e6c3cb30c11b40d18a06fd44cdb259a1fe0a4004020219d8bf039259f536d0e209715dfbdbaa09939deb94cd7916a37cf8c19e960959fe465ea5033931a77a0fd7bd914761b59554130f7b8ecd2448e97bbe13cfc0ed70381f2bef038d84ac7e5b077ad7bdc14170516a2084958ccab0e955c5875e0eacc59013016c03fe3c6156983fe2884f57da05969a04a2494df968140ab452cb105cc48b0809730314fae5398693e8ffca595bb37255dcbd9539d195c82ef3d6ca64505da8cde257038c0ae06a6adaef996dc5a3f05a0c7c78c03153b78a25e698150a60b639c7c5de03a71cffae2cb4c8a96ce02ca684750a605949e54833726a15c353a241ed1a1c1103cac3bc668a4bdf613a5bd217260a8fbec2214af5e17d7651809c37bf52290108039ab1dea17b08ae46ffbd1e0b0d32d4d5e50bb1f0e2e8ceb54f71dd251e2babc8038ed31648c3f3f7866e36f2ea11b83b62ff7372d96ce6d9e1691736924d4fb04803e82198cdfdf1d217f7b3b03348fddf3c1031cecef4a22217dd561f3b6c9429870219ffff031092f04cda5e13418e177cbf6ca6057803be91a7d20c723f5274a8781689e03703364feee1c7b9ad8d8d868450f20bf00b7045ebd1d65f866a8adac30e8c8e9e2503ede8717eea5746a01196b5c43c810f930896173522c50b750310d5bc8f875248031bbf47d0b17263d0e2d954d5b2a9b60fd19696b04a206103bd91ca31e25b6967031ddd842362cd9c5989446ec10e5d52e8cc080163a6236c66421374273611c96503f88fd64047e42dcdf6b71b1e672877673aee43df304e82ae47d54f893a2db9ff0355463c387d7a647874343c32e93176981d231141dce1ef6da91955625d2b422c03597399e7b89bd1faa3c78dfbbcc7142749022afdb2d383b07838b63cd57bd749033cf5c93e618c7235f07710539f64dbfdcfccdf523d7a107ab304936089aa3e20031bec184d63c5997a79c4ca0fc9a45d785c8964b71e37bfbc48ea1f41eca4f287035238c1f39acfadcd8a3fb0713352acf45cf7c74df876d212c64d26b8176ddf0f0219ffff0397fd99aeddf69c672fa697c94098ca8364da98b65bbcfc4710150aab36e7d0b203ed8ad32cb321f6141d5123ff0a8417f19dcfa8929f7a2284498477d65c023f2b033a97b9445bc7eba72ed3bc6aa16056c1eae89362c85aa601663ec7ab1cadde1803fd747feed95833b884516e44e048d8a3f47fb54270901f1c79bf4eda0312e42903892173c9b5ece856259dfa1f79a44cd969e551d8430ed9a5bcac3f9a6e2712d603c178f0340eb8e2ddebbaddd44de84ed64c2b3381cc5b0fd89d750285cc28fcdd03fa8976f569e6639f76a809552386f2de512b451e441bba223b37f6f289f157c2038cd7a167973deda8493036aa2a72f65a605912a08dcbb35235f2a0d3a01229e30347e439396968be5b42c221b19b8cfff97876560c8532b1a8434169b9def16c51031b199520cfe8067219bff01daa94aedc888ba3651a9aa1227876499aa1ab923c035a0340648601328b882fbeec50a676afb50dd8f8232ac2dfcf6cc28e1c0b077a03dcb70d70b234da7b193ae994f7016a2e5a692043e1c870abab8a0bd9623ec13203bccf50d7b0b3493d367e5eaf10f4b62a060187456f4e7fe205692c843800dcaf0219ffff03f6bc44d8388c48077b1fbacd6f6f4a3cf16caaebaaf33e16ca75f1feaa3527790325fbeea71e2129793ece077ff91172734cc615c18ff8557987505fd4afdef74b03ccb8958deb2cb505ee2730b01e3973f03c4dea3dddb68cc6a66333d40bc6b80b03dfd5543aa02ae285a8c84785ec2e2bfe01690182eec138b7831ebaa3450df479036b613dd0a0a10d1d0613721dc656bb244fd54835acca3f3f9b2449f5e8f10c6d03532ce39d5a5fe6ca247a130f04c60a0b9b800abd77a8c8944f01434f063a43c5030417400f02890136af2856a0b9ed1fded8cc624e1a58ee2b367da76819d515140219ffff032bc8a0def3f428b024f1f47cc4c8cb2bfde204b2a5194e5a0f12f2a8e836539903c2399e9d9b099722ad2e4c837aa28a0b3d5399892e5b3f46a43e98d8372b90df0358941f60e1080c250f6f916f6751c892240e17b248330c579ee1bde47f2c915d0352fc2dd1b451a72afec8303f9ef79ed6b3a8c31bd4eb60f623f51af23fded76f038c9f098443813f52f68ae9a369cbcd605e72c6c19343636693cd94bc2efe230203b9e2f1278352bb1fc2e66bb78e4a281b4312c0ef5a62a228a4f016bedbca0254034a7f98943dfe44e3a9fbf226a5f768642b9f0130a15a2593db08b32afe4de5bd03a337614dc2702b85a41cb71ff40e6483a55780170500de50269ef6ed1bdee56103fb95833eec8b0105bebc38825d0fde5fde01b07ceae893be1c03fd14a0d64a68032f2b35bbbdcaf52145f62011080c8642ee59458606f8a66eb59a99b4528a00eb0344b3b39d60d6498850ff5c225cbf863ac4a0a41c20702e780555694eeaa2e6de03d6da52007f377bb3cf4b7408b74b0839532363565bee3620599b02afa91bd396031cda3cef9300a5edb74a7423aeb36af3311cf7e63cf2d59713c2e23f25933979035772ee9bd02cebf54bb468fc9864415123ff7728d50f89ec77dbf0411f899933030fefec37b4698ebea2368c7df72e585bce9f3c584937840a1ebdc9e06d43992f0307f9885ae3079ed011456a65a8fdfa1f5a8a1172294a3253b4a98cdb64b26f920323821d7e6db57db2e1e0d6e4d20ad50f3f41fe5f59866c86406817204acec66d03f7b7cf55687a4c8edf82b4e751599be379a3c1b1b4dde72c92dcec7c1d96f7bb03f8d9bbcf1f937386671303480510e0931ef9d26d033e9118abedb2efb7217ce603d65552996f84bd9237d2b1ae233539ee9c41e16ca8f3304a640c9ffa994f7f48031eabd995100be43076a70b3cce867b4ec492c83d12bac4b825c4a9567ef2b48903b15f149f863b8636fd26c75dde0703503424a92436fd7d49f2c7905e7558dc6a0301301ed5df837726bffb5ff838143039d3cf83e0a9cfef8f59f8bd7228ab5a6f032ee7a81d5170481f8bf886afc26a5f092d86900b35edf29e4b00f113435520e803e9707f5a5dfc39443640b31ea58b4690b52bb0edb73d897c529b17bdfb7e910e0302bab01b2068e85f95088b584bc6d6574754db4a2376ffe198e00db9469f3ee9036518be860da82aa0d17cd9a119829dd8633180b106db5e79b372144e1a6a01c903288c32da105b58bd478e808cf4dcd513ae9d64db7684fa26c6b2893e62efbbeb03053e1c3f7207cc585232cc4978a5613d3e3751dcba441d3fa35a2ae9847ef54e03d3dbe317bd1163fb876f8f64b7933473448fe9e7e2af43a796da20d8b9ff95d103ec441f8a6215107a1c178e17175ec1dd68717ae80607ab1fd0af55db5497472b0356c90e9d6f56a18e72458fb4250dd47e62379cc34814a5b40d9e693a15f51a340378652ac30ef790784864f929f8246854c32c79d321c4d176e9226c37c19abe9e03c956825133e76aa9d4d2123168c1ccaa83bc1ce7edb2251ed583862f4306eda50337fc85c6c37d7336f889da5864ec2d2386b7542bf7704e157690f02a17a27a9403f34932123b1d68e1837c19950da217de1cd823fb00f4476b6d8fd66321432ce50304c93ab57071b84dbbcba06f19c2f7860796a1f0b6669d52ac152c255841b80603a4b031db5d9648b1532411a2e697fc4a813ae50a7f1266cffda31984dd7b49c9032a74b204fe3be5a44878ea279098b42a3d5cb6251ef0c3e348918b934085102b030cf21173bde3eee7ab6f6c3515a88fbd598b09faa6b3187131cac6ba23778e4805581e03ea7fa263637bb1d0b8ef5500c7f5647e041e13d4087c381ba8e6cbaed00401035ca6644b9f9a86f73920e3959e16e01c733509676fc03fbf609616135fecdbe204590b83608060405234801561001057600080fd5b5060043610610128576000357c0100000000000000000000000000000000000000000000000000000000900480635c975abb116100bf5780638456cb591161008e5780638456cb591461031057806395d89b4114610318578063a457c2d714610320578063a9059cbb1461034c578063dd62ed3e1461037857610128565b80635c975abb146102b45780636ef8d66d146102bc57806370a08231146102c457806382dc1ec4146102ea57610128565b8063313ce567116100fb578063313ce5671461023a57806339509351146102585780633f4ba83a1461028457806346fbf68e1461028e57610128565b806306fdde031461012d578063095ea7b3146101aa57806318160ddd146101ea57806323b872dd14610204575b600080fd5b6101356103a6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561016f578181015183820152602001610157565b50505050905090810190601f16801561019c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d6600480360360408110156101c057600080fd5b50600160a060020a03813516906020013561043c565b604080519115158252519081900360200190f35b6101f2610460565b60408051918252519081900360200190f35b6101d66004803603606081101561021a57600080fd5b50600160a060020a03813581169160208101359091169060400135610466565b61024261048c565b6040805160ff9092168252519081900360200190f35b6101d66004803603604081101561026e57600080fd5b50600160a060020a038135169060200135610495565b61028c6104b2565b005b6101d6600480360360208110156102a457600080fd5b5035600160a060020a0316610516565b6101d661052f565b61028c610538565b6101f2600480360360208110156102da57600080fd5b5035600160a060020a0316610543565b61028c6004803603602081101561030057600080fd5b5035600160a060020a031661055e565b61028c61057e565b6101356105e4565b6101d66004803603604081101561033657600080fd5b50600160a060020a038135169060200135610645565b6101d66004803603604081101561036257600080fd5b50600160a060020a038135169060200135610662565b6101f26004803603604081101561038e57600080fd5b50600160a060020a038135811691602001351661067f565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104325780601f1061040757610100808354040283529160200191610432565b820191906000526020600020905b81548152906001019060200180831161041557829003601f168201915b5050505050905090565b60045460009060ff161561044f57600080fd5b61045983836106aa565b9392505050565b60025490565b60045460009060ff161561047957600080fd5b610484848484610728565b949350505050565b60075460ff1690565b60045460009060ff16156104a857600080fd5b61045983836107f1565b6104bb33610516565b15156104c657600080fd5b60045460ff1615156104d757600080fd5b6004805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061052960038363ffffffff6108a116565b92915050565b60045460ff1690565b610541336108d8565b565b600160a060020a031660009081526020819052604090205490565b61056733610516565b151561057257600080fd5b61057b81610920565b50565b61058733610516565b151561059257600080fd5b60045460ff16156105a257600080fd5b6004805460ff191660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104325780601f1061040757610100808354040283529160200191610432565b60045460009060ff161561065857600080fd5b6104598383610968565b60045460009060ff161561067557600080fd5b61045983836109b3565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b6000600160a060020a03831615156106c157600080fd5b336000818152600160209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b600160a060020a038316600090815260016020908152604080832033845290915281205461075c908363ffffffff6109c916565b600160a060020a038516600090815260016020908152604080832033845290915290205561078b8484846109de565b600160a060020a0384166000818152600160209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6000600160a060020a038316151561080857600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461083c908363ffffffff610aab16565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000600160a060020a03821615156108b857600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b6108e960038263ffffffff610abd16565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b61093160038263ffffffff610b0916565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6000600160a060020a038316151561097f57600080fd5b336000908152600160209081526040808320600160a060020a038716845290915290205461083c908363ffffffff6109c916565b60006109c03384846109de565b50600192915050565b6000828211156109d857600080fd5b50900390565b600160a060020a03821615156109f357600080fd5b600160a060020a038316600090815260208190526040902054610a1c908263ffffffff6109c916565b600160a060020a038085166000908152602081905260408082209390935590841681522054610a51908263ffffffff610aab16565b600160a060020a038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282018381101561045957600080fd5b600160a060020a0381161515610ad257600080fd5b610adc82826108a1565b1515610ae757600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a0381161515610b1e57600080fd5b610b2882826108a1565b15610b3257600080fd5b600160a060020a0316600090815260209190915260409020805460ff1916600117905556fea165627a7a72305820cce49a7abfc4bd1fcccf59df283bbf2975819bc0cd4e6f6755f46ea9411bdc6500290331f6415b653e48c7787116909b8cc6946d8beb8b4af70696b925b08c2b3d303e036da1de91c4e6645c835d29e86bb94940fe3dee7cb9dcdd51a965d71143fd63e0039caf923da1d3d32874c713ed13d76d70a18f819b58164a4d460396b81deb4a730396c2df84e0a4415ee1e1ec2bdfff1880d75133fa88ba2ac4693c5f272ba8ae5a037ffb3197cb8748c898caeaa6ca15bb3776c925d4f9c969bb9a83ac9ce4299d4c03f02475d0f7f61c314e6031c5247e5c9923c6c3a40beed174781255e6f7508b3c032769313201ca4eed16daf7bcc3a4912b0f573d75b12650b7bbfb4bfca44be4b80333c9d4e61d246b65ac59461bbf3b6330c5123e6db2daf46064791a340af63cb9030fbbaf76014388b5529eac7dedfab4ea1cc358f5ef8554421f8ae26327d7de8503538fe1661b5c199778e456ea2f6dadb5a95b5669482639c049aee76c8137872e03ee40a0c65a38e32bf67c375a63ae045708f798215c85e6dbd16e428c8db36ca70349ed362d1e3daa8416903f899a6484e69bf4d55e208256c4418529e2c7bab25a03e394ac51c25d33788a9b037fe782f5cd31f703653574e5718803c0b9771e0a3e03ccab10cf716654b00bec90d242575f257a6a95e1dee57189b751ff1b205b14e1034cbc5dab1fc857dcd7b50a507356d3e98c69a332014be3fa8fee3132151577c403be1edcabfadb894d52c499302d9e4614131892dffd0a0d97df1e224acbedec1d0373e07ede7ee8f6e847699ecb74bd70e54373f33db648115db0fce819927a4c22030b87aee56753e8fad9f24677d52aeb75212500188fb2af49a0c3eab2f910f399038274b7dcbb523fe04f489ed6b17e44cbe7a0fc9d36b710f8ab8af18c9a54db200315c881201ef55b5c8fc0c6b96a469860df0677b84764fd230161d582965c066003eb255e39ea190615b1742af35b266792c53675f7fd7fade874b9ac1fa06ead0703c5def145c152bb6c252f6855d71aa251dc04e573d129f69e6a1c179fd53f432803a7cbb411204a3f01f54019f61f03c3229e4428c5461ad815a80fe3a7d13bbf7103a11f42e8c5afc68e8d00d266a4cbb923883dd7f4b5d78b9016d39187376eb4880354a1660517e2c70c657e8f68b9e63d794cc2fe4f4173a4ca6c0d25d99a7bfb580351408507e1197f749697fc1ae2bcfc0e98399b42197d5853c166ea21de80accd00581f0307b4b57f7f0a4b220746d2c00f39a71c24ea98c7ab689cbc81c11eb919f04901f8556cf7df96a8000392f04cf7f7eeaa7183f65472c018a275e665484bc9a531c910cde45bdabe17ef00581f03c255ed84b6d513e9df47e20e62c5e40cc63d927995fe5cf23cf5a17d7d005820ffffffffffffffffffffffffffffffffffffffffffffffa4cc8daf487a5a57ff03df273c84a08552d904333ec66d334b4892b55a1d3847cb3c35d7202bf0db1c0400581f038210a59560cb544d6475e5bc4b78aaae5cb681ccf120be068817e4d81dd0491b3d969fa411ca000000581f033c9a3e58c2b289bb73de89e5b496ef933599b9e5b5b9d8497599c261b7805820ffffffffffffffffffffffffffffffffffffffffffffff827cd947726b6e2fff00581f03f17720909b105a58e728eddb17520d60fed056d5f261845c13e0f7d96370490be1df4fae7ddf000000581f0369c7456b7f7fa8c294ee95755c0df4dbbcb3270ade1df83124e73b5816c04a0207443368b4f147100003275ec66e121cc4eb8359d299dbf22f1b6e52f252fb313e36866bed5f7c5b7f9702196cbe0312bf339121635682405de2a4849ae4c3bb728f6b1e1cdb1460e497d318c685b503880a53be863a2cca3ddb65ec9173ba8e3df19a2c3dbdb3f3daf24548f0103884038085cc7bb0f45020e19481773f936551dcbe10625ef7d0a0008dc3ccb390164103b7480c8843acc6df7a395587020034d4b76a432c443dde6860d0d9a88e6932af0379da7dfcbce90bac60beb101f5e3e86649983f97596031fd9362c4ac5224f4980323721f6f8ed6cf0b6a9b7ef36a78b2ed828dc781b8503863033c5726be451e2b033c4095c3ab17bc095fabe4dd98c9d11dc2fff0cf0e6a5c7f375b42cffb7a742e036d6ba44da1f306bdcd68a162efa4c82f5775d15c61150f695e98db92d102ffc10219ffff03e7616f97ea17af64b42a225bb86a79fce0ac313777b2387f53e28eb1f49da1af03fb3c41509bbcb98cff0f4af12bee9ced6ba6c3d1bf6d32e663914df7e4291bcd0219ffff0311091d7700f545f076555828f2b716935ef1eaf94f6fcf8ad0ca24909e0599c10305ad4695450fd97cafef7aa778a10ca74809a2f07554cf936406ab06a8a2101e03ce83e29a2a171c8e569fa4b19b906ac28d45e101381bd6e4b85e30af53bc185103f1b5f2ffed4b65d26c85277e0f4b817f2c7f308dc4ee79c79550fb4179ca32c703bc933a600dd32c8562c96e887aa383e1a4a6ffe1ee9d40a09c87fd1dde16d6a1035f650338e3f72921961da7c8f1ad4efd9ec3c7bc50b418873939b966cd3dd531034a638edeab092e2a49465fde4d1d86c4beb4eaca8a83e374b372ad97aee7c47e0346fb3053523bc085e74609a60054db67a2da9a488b80984776b69545cdf324ba03521818d9dcd84b882451b3b82c3e90a2278a051314628cf91db6d6bc78ccd49303c6c33bb69b6c4a2255e1b095266ca2e1b4f1771e3421497c5caf694ff81e30d2035afa47eaefacf39dd68118e9eb51f9e6f48df057ba3716e84758a48cf94579a3035f8a154dff7f94f52629fca615f80bf875842ee08492720eeb212fdc753f3a8a03724ee036457799c46351b3644b44372438e7761c644a43d4eb29d16efbed5cf703058e3d62fd34e414e9ef4fe24247a0a86809e7bb285366b3e7f82fe7477750790219ffff03318c10b70e813d80c4cc5091ed95d5b8438951b6c151fe90b882f8370156f53d039b8080cedf689b7ceff6ff70d8f990d73c466293eb8f0fdf8cb508047f50f5d203df91657f972e180685b9ad571772a7130e62b83bd61a9a384c08a89f4e7a1c9a03ead46ea705775daaf10ff0679b2ec45ad058ac34e299bcfddfd9d83d9076a8e60381a697cc1ed0e677eeb6f2a23780ca11f6f13b6613d27d13b5c01e73f658f41303354cffc4e4397f51ad625e1627d520f05dd79e1da6a1f043c41981ee5850a3a6032df3e7bb6246615c486c06162ae2fa87cafc24adf28fc1e6bbfcbb24b32608a50352a3bb8f782f6bf500bde9f8ba1a46a032adaae7ca3fd03df56526e1ebd7bd11037978892c6ef36f3eef6ecaa5cfaf493faef2c49c79b94c67cd3318426e7f488d0355621f2674ee0249160c6cff573c3eff0b2390b1b5ddf5986b8af63be8923e1803cc074b379bef087ea7fc84fc589fdf1f5f6777132800a344df08013e0c06b6580398bb42250be6c49cc9f074f476326f56c6bd9c278aabea847dcb39362a63ef8503df4da5e92c5842f95de2ee5f526ac633d75c08b8b64f539e1c709fd5e44cf2e903c9276b51012f803df6c46d9dda2e2c0f0ad666b17396eb24f654fef9657f456503540406d8f979aba3b841ecaa484ccbcc77dfba15f2cf0e21c5f2ff17bfbc83ca035cb7a60e2bcb5486816c2475705294e4ed2692b9245338e3e373d416b792b8e203eb84d977f47c2eee5098531f87b4e681588355e93f6aef31a1103966035fef390328234834f1f631da55f4de6e506764ba18c2ef0cebf9a60355859e44592be22803aa0a34f89733ca551c5089a4a4b0225f6939dafd743601df3a53d0428d0013ea032724e27455c8bae9497846e0a0a2b5586bfdcd9ba8a7f9137c489d37eedaaa7b033ceade8eee7db1d0b6b47c52e1f7c01eaff837efee20dba9f15af4fa0befe845032d798d57778440493f2056caf947a27fd84d2aacf390fef03084a92d43b7222b03b7248f15954ecdbfaff68754820f2643a4e14496030a9c66ad6b61507c96db8503d93b440e88f1fb2bae1bb7397d75dade8ba561bbe0aa94f2e91525727f0bed880329333a34c9baaeff69979106c5543a66d439d7ba928f478fbd4b392a418799a2031d7b768c0b70be1a73011bcab6264d956fb9ddccad01f1696b5342a43344e82b034a054616935a6426b3773bae05f71632fd51b06379e9abf24993ced51fdf79220326873011abe1a40f4150d771c0759c7c948e49e0a8bbfa472d63af9f8570e74503e90dd9a7f09faae1682aa5149430f0e878a25f864cb8f7f1979d958784a0794200581f03d774a98c63d6a20d4e1498ceccd79aa1208b3559f24718e3899fcd931030497db697056952dc000003e78532c8437b98756ae10d2d481f94eab2b5bad953151d829d5e6e158a90d8db01410100581f03bfc8bbbcdf7372e5a50e678d2f3839c5313f82b9f0e0de5e6a7116a5e9204904940bb1df578c640000581e02437bd55a965003fe169f4cee0262d6dda91cb4437a0c6794cd7abc05ee4937339299202b11a80000581e023618300de7c3900e600ed23e259fa90bf0a5c30fa6a01a5dc21429bf384a054b40b4186f0919b8a40219040203e399c2d628f2d947b3debdfc3d463d568d20d7d50d1994c674a053cbdb9a418403b1f38fd3f34f2f59115a0b5b70ab983e8c109dc190814e259dcac90bd617b98e00581f0347d344371163199d5a676d453868c2df39a88fdc3aa5cf072afe40e0b78048d3ef7d30cdb90c0003f23b578e68f18ab6085d2eebbd9bc926482982ac1fbbdfa3a7933c62a7599c5b032d4f8968349903594f1e68f93e8328aefe2c320aafd7bfe1b826004c645063b7038be65956a8b7dbe9fc80a60c5de9db6cff68c9c365d4f1187fbdd3f44d971e7d02195f8f03fa85896b748dfe3dc5d77eb0ddd060fb4018af9b496f1fbdf5103a7e66ddc57703ba18eed8f779947b7f40ce00f91fbc4d4c136b874b73ab65d2332b0cd92b9b4703c9bfc8ab47975dcb7158605740ec78ef9497116ad14ca05ebb3ddb46b69ecf1c0369f5433d21c30fe3e1ee41827809368a182f5442763f59aa315795344cf380c903c284a41f1cce0b82ec148c2f11bf6bfc6d0af5e24d25f02e75c64e0cd75cce85036c016979fc1fda545b0bb75a95071066e2a92b0713eb5a7747c9bbadedfab130039618a79ba16523652d41c24f2f62ed7d58856eb6ec6373955c7c7212091966e803e691cb417d974cae0c8c4ef3baa62be1ed94f80663348d8992cdb0f586559f760387dd6f782b3044cf40687d8d897f48f5b86d604aa8ca7495dc4b7d33516ac4840219ffff03857beb81991111c12de2f662de4c59cebb915d409a2ca482eea0a90d5526774b0219ffff0324988c3d0949015d0bee1adef2c0bbd8b1a2f727c0fb45fb828f486a1182df5e030b06bc6565e4d666eb059de5a7790445641257670af3c5e599feebe9de52510203ca1c374dca5d43e12a3cf1d9c98bc7336483bd5ae540b1f9877f9383fbb98f5d0310d7b5b95b58f59cd93c7b1c1770ad4da8b740c3731b01b76a3f44c107842ce1037f23d9ffd6de5149138e6b6fbfddaa77f9f2e17c7aee4e0d1e9584285c7bfdfe03e6e7cd0ed17626caec18d402dfb1b0ca1850b093f7ed0953b12754877882a66b036b31fbe23ed9d05368593a3f11184bada6dd7b27c94a8b5770be64a4f2914dbb0320a3011a8215d5853a53f3cdd65f16d0a96099d34774e58d372e4a149656c32e0312888bd13f9e29de33a85556a2bc9b740d7a065aa4d3ef79c939f92694a963e3033ab90d0ffbf1cad1eeb2185d93131073ae150dcd4c09630c59d4ef35ba81a83f03d5f8487e0d9c1ba10fbb33cb91552a1747a768a71e89260acf96660ee51cb66f0382688c80be2fc542dfa6b8ff4081876cf833a73c60e06ef200e96f3ccbd73098033bdb0fb5c8e6e9200272b95ad83d07df68feeced5b0c555dc24b5365ce7ee09700581f03aa48f6448de940e9063ace0e664d71c2709aa79f7346fb22a14047391e80480c30453bb045d40000581f03b0ba1b0856a552ed84394159b2f219b0f5ee2023361c7be612690918802048508d57c30d129c0000581f0338e58a80e282a88b614343e506c0637b7ec6090cc08e009eade1f8f12b805820fffffffffffffffffffffffffffffffffffffffffffffffff289de23a7deffff0364a08f049fa37357c902180ae4978d1adf5b477a7b2f42851158c2a337047aed00581f038d4c53a927445b738a29e0025eede0baf4fd39e0f9e1b3b6442a640bd5f05820fffffffffffffffffffffffffffffffffffffffffffffe213760c9f105ffffff0315564396ae20246847e7dd8eb057a1559806291a7bc14fd0235c6800894e973100581e027ad047ea78e306455c91c222eb962d27bbf2f30311c4afc08b5b55e058480c83369412a3900000581e02e9c775844084fe7ae8cc35802fed36a974182ea3840729a678b2e935485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219101003f6d674bcecbe5c551a7a7defbbbc24eacbdbfc5bf194553005a7352cea7a2ed000581f03d18002c8c62b9d595ea84e88e46b9bf92ce6480608e7312003ee966db2204901236efcbcbb3400000348704331b31644725b703470b8db431adb0fac6a0857509165065c91b4cf22e802199f6b0303003b47032ecaf1f94fb20210f3b343f77694b149cc57c32e871194fee6064003ad63c5dfc86605675a1462fd7078b9404223882b310bd7c837f8268c8fe34c72030d04bb855189dbe17fe7a4274e0ca4a2795c2c96121019d3d20a88836831461a038eeb6bd64341104b7bfa82c494e2a9417422006e51defd69948f6f11381216f2037e18f7979a8251b6bfa894c975bdcf116d5975d56c0d89561b31b5427b0689af0335ce270d7e0b575d4892f1def1765f83e523ba847d0af77e4efebedf85e31659034aacf89232eeb3bc6afc4199fa55126f7b0451250596121f1d9cf4e5d016c67603105a3a46df3a5baa24003f342ca5197cf95ad8502af3198715a7efc27596660d03954ab09e16ed566e9356faebc6e1959f241403f7a4e60716e4b4993402e59ed2037588ff05ace81ad906f1b563a248f0d674244a0a67971a08623562ded908e8540219ffff035f650bf39f35e2a03d8b796552fd8a7813e6612252fe461e46cae26658598a8a0317b3da60b9456fc996c95650ef3c80a739c4240be68e02f4d84871600ac48c71033ec90da01c85f68899f0ebd8a2f8b852352ff6d85ee50814fb6f0bfd395c79b1035a520b73c05cb5451238f10cf04d9754688e4d4405eb4b1b80d4c1307abebc1a0343bcea19a20319c1e4f5e6538d6e5f2d9c9f9226d9a15e9792628cfb4dacd93803f2772cf4d1f644fe0b8edec019f51b82db1b4b33860ec3178275c1a7914be210036d6ea5a533e4ba9a698e6c3ef8760fd13f95d94ade204d1172ebdd140e9c35250395cd618b9597aae779d5e8ea89f7e3808117ef2c113846db571214138c0789100361c691bb6064e8b14252d591f8335fe9097c114f48d1c667cddbb3186ecaa84a03fbba744919669a2fbf380235fe9b6f6db7c2beeb45555e3dbf5456d52f62c04303b28a301e92b7336dc112a397ceaffadf3505f66c922c8cdf19d2cbd6e129e2870388d21d7759f8c410146166e36cb3bfd628ace7eb1516627c3f98c426654a3e0a0219ffff038eddba703b5d34cd4567105f88743478c8d43d346e77a487002777e1f95cb28203cd01fdfbe58a9adcabce88d3bb51bf6b9413744545abebca4ec14db24c4ef85a0395efd3336315858b4e9e1741ba5d3370d15f02619c50a4947d1ec2756d4079050377ac9e0ec1da061dcc8ee5ded013456d9d1e43ea66f8755e7ad5bfaedb944daa03b3f0d9853e40ed0550a1bca61518748f07f1d260aed4e1fef618fe0debdc51a2032051d6f8d553191e6dc525b04d73ca50e199dadb7f2029b2625ad4b04ed0fdd403c6213f9a6dfba6e55c9048bd7a0e854965f9ac5466a8a194cf52261d62ddf63603da741633590e1ac6413f4c11aa7e0297005fa4a19e63194acbac9b7580b7c54b03599dfbfca2e4748e9384080a958b3f847b2cb5578115a2e62423cc58cdb8c50603060883a38fcfc86be9a12c4bec6d2a9e00fb3fcbbb33dd7f834f1ab6e6ee42280340ce3da6f8ea50732d80c3f8de4802129da6b919be99f2834897dc1c27fe338503c5f16e17ddd67ef41b6dc110d155aca46b25f847b4f5c3276f4a47d0370a9e4a03cf8f140d6ac602fd8dec6f29bd487632e1cee4cf9c4b1a987314f9675526a7e403bbe822e91dcc3be32d8817162c931a5d29113290aa4de1f9911ec9202a174f3403ea9bb4e168f1f6ca76482069b10cc39d11669526871a2408e3e6793f79fad1060333f73aa4f125a1539c6a3054508580907fce56ed58c0b5e825312e627904081c03ef7a8f088948719a65ecd5d7a02edcad8fbb362bc66cb3268670f5ffb92e1f9903dc021e3ef19a4ad98a2f704f4099f58b16029b79d89907dd2606f266a61df2f703cb1631b1cf6485f04509912530c96b3eb7ffd9f88ac0e6cf6f915ec8b0f4c7a203c3592a8cdecff6549d13bbe24adfe585c2906afd57596197463aa7f71276b6da03f5589d60bf7c8677998ee95dcbaecfc16aeeff8dd04f285d415643721af0209303b5dc41b627e31333a46224bea568bf5b757c048a00e14e13aec1c3940c0f8ffd03ed0cc46c181005d3c7f1240cf85248188c6ff0aa21463f6f80d8012f80fe8b47036e64ca1686d0eb8f8859504d37111b8baeb0192c38966c0891977bb627f8dc6103459c4d23c0664d954dafe73cdefb83ab6f7269ba51429e01312d57ab24ddd3ad030b2a54995b5f0f6e60160fa14e36a035d844557f37dc8da581ed00bb6f797c7a034de05d7a9a0a520e1bfc2d3cf0267965af4da225cde856c37918470ca365fb24039bcba184205d7dc04827176f31dd014ab1be8c602ce97ba59763f4fddf7b108503f61bb9698dcec96cc1f521a77ab42231d49cba6ab2ca9dca06c5e5d0800a772900581f0347d8e91f16aee3236007f6ecab105dbaa107e40cd4d665c996ca1c9d0f2049027a1c8295f70138000399f5aadf21a086655c2b7aa5614e740d800f49361c8e9ddfb1d2628f09d66af4035fd3e73d8d87155e4f80c869623ffa2475ff779eebac12e650fdb5ef7dd2ce6f00581f033acdffd1b7fc63d9c962d3b5a15fdc6258de9bd71e586a071920e700ab50480e85f3e53ccf60730219c3440219ffff034239b16d6049331bf7eaa6f6eef2881cbbad57305d794f5bdcb1f00d352650b10375ac32dfefc2617eadf7148c1c4f372cb2d633c454b2082f063e97eacc54e02f03b2bfd1c3ca72ae2d510b7b6afdd116026ed6ef145a02ad3783a5a8e070f6d14d0219ffff03f0f93e012fb34003ef9835e40cffd8644ad5ae0365235078d9fb6758d8eb787b03234c5c6409f6b7f824bb36c5ed41343ce4b3781abbf9c149912211faaa32a5f303a718aa53b7cccdd35051660d5a389136549c47690ed46540aa6acecc69128447032195e5b327fee0dab87dd701a23cae56bbec2f3bac20056413868311da0fc37d0219ffff03cd10c5be7d975d4fc803b9f9a3f74f647df918513e19ff101943a8e9da4598be0370093279e1751f769397010a9d34567fef88c94f7e264b9b6db6f98ce04e40a603bc86a3211018a63fc947cba2ad83909609e2152fffe28b1569339721ed6784a403f2a979064e8b8c056bee7f0b455c890ea757cb9bbfc64630a64f499b0161990703a73520f4aa6f91f4ad718ecff05253f1798866f5c5b00c42e48b5593f890442803facab3452fb23f60ca7de7486e9eb47b7b16032307c72a7984aeb9b5bb180b8203ab414318ea18e2fafedf16ca8641fe9cac06121a348d43e3a4479a2cb0cd8b550315b8e2e9e8f5bf31c637f8dde21dbfa00ab899d234cbdec732ab2fa740a743eb03aa1a2b24b3222211443ad7ee08fcbeebed2147463ac578dfa15ceb8eeedd6a420311ceedc581fa0c9602ab31b136f98cc8bc8c12cae2b462744820bf5629ddb0cc033fa01c257d197e2a2b6350cb08be49bda54ab02fc6ce80d83228af5d15eb383903b80f92fe22b8b5bab48327cfec4cfdd4d8c5c1db9a632fb863749cf050b4f88803b84e6e7ced10f9ee2f636f37f0e1a7fd9bd1ba18cd2a3f12576e419a1984772003c5ec283cd538863537b1a1a9accf0755ec634459856452b7d1718e055c6832e603f9b191b8f462ec83ee88dadc3da402d38c4929fa9d8b38fe13e2abcee70f26fe0371241bc1e90515ad98328a1cec2585b20150f57c2f0b4de7a92998f12b873329034734e377229a318a866be5325011e7f298109d21ac2a2134f992a2cc0e52741f03b0bc2c6c5fd9efd820e24fb39aa8ad99a5262ba4dad2626d7f07c66de47b3d5d03d30b4d50a7c46b00b5a0d1f3221798f3b4c76c68cc42cb154427c6182ea29a250319f877efdcb4685cd1697c1b8c424b95b1cfae56f9c5cc2ed7a7df6f5c43c30b032492e7dfff278df6a502ac42d066fabc9d84ef4ea672f92591f9648b71119b9803be94bdcb9f421b133db3ee83237b7c6dece654cdf49cc0e13e760b15747ad42803c7808c490e0e30ec57b6447c8a4766a99b5b225e30b89c97b99331bd372d4934034d4b50631a3226712657db199852f5a57f0a48f2e115d7912530ce9cf4cc4764032e75c95e908ce2374633d7b517b91a048ed105f028ecba0e9a39d0bdad1be33803ca17dc7f0457dcc9d3e5b02da6955a32e9105968da3cb055b1aa1831528e7f1603c588dfa38eeee2823db3c1257886b210e42e4024abddd9abd5d8cc6232633d5c030d5cf0dbce8929953effe8f55beee38acd7e705031f4d7f2676b12b1443d9bd603198f2eff9a4d0c7b6f8161e1b28b6ba536b2716ecf78e4b35e73422fdbb5649300581e025d20a43b192d0fd74c8e99106e722c1094b7aa968e365532a0d8ab0d5c5820ffffffffffffffffffffffffffffffffffffffffffffffe87440b36e6bf83be000581e028988b1fac0ea4db93bae55780fb33a2cd1f378d1ac24975ec84c5aef464a0a94b376e3b4594dec7400581e02b244b5a23dd9890c6f2d46a679fa500237d8714d048939db8cbea2b24a48f9f366c967c26c0000581e024c9ef52a8dce5444bffa6d77923f5b6ed303f815b7e003d15e203795b84901ae3745d66aeb1dd203e468ef19cda08d8505ae0a95943113488681cf3660949719f03480184bb3970e0219c20a00581f034883125e1a1eaa90cb5e11defc3ce7287b4011169880f8c5292ab10ffc605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03565b26633ad2a2eae3279e9185ac672e95681f2779d747b9267eb6d8a28049028f824c8a9ab6000000581f03e515e7a30b19b0f58f0c76a241925498f9d37b2f32defdf82922e5c594d04825041a1d1cd1c9e5034b2a84ef5ee17921e7f48da6b54f8a519687e4076378f6fa0c335486c78c12c600581f03ddebd1478845eb6e19ee3dc8112214836179f0f79c5881382519052b84705820ffffffffffffffffffffffffffffffffffffffffffffe578b7e23fb4c4ffffff00581f03a8075cd8b870a0af30b50948d9707e105ded376f50bb2ef6a3236873568049031a4b64c139b4592e039270e0016b33da395abd53b9bb97804cbbf96ed7b2df1eb3b48bee74996503ff03e12809b08acd20660851b2fd904697c04f498146d1f51bc67a5c9efc7712dc8b00581f03528125886eb50d1c825cec23479c8c6fe90ba86a952390f886edc56f821048bddaa371341829e303bc3d6c02ce6972ee399f6fc8ff445cf9d6da1afbded96cdfe5e6a81ae11ab9e30219deda03df631f9124a7ad237f2a29bccd18453595b409f1c3d7cc6c6c081977561dd938032953f1d83b85c7a222c183ef66e4f5018c27bf1d2e4ca76a17953915f4f2ddc3039b4f332b5b920ad93ffe001292e6b7ae747009675def683dcb298adabbb06f07035d11c264f22fe4ea7ba85cfa0e7d84b0be50757c869c59e9ba54314d4a795ea003ccae2f684b9cd8acd6f7077dd9469fb74d4c430298b4ccdbc127d57d5b8e976c03d91bb1ec718258f3ffd12fe4257cdc18e1878420627bd57647693a5a6e949b450336e2ab7fac159d9d8e8bf6fe8bf28762a86620db7925863f7f321614522ee6c50219ffff032cd47686b4a73fa267ae0483651606415c40ec95884eea6f7ca5bfd36eaf30ab03c394c6416bf27c23c42e85ab8d67a0ea79036157bba1147e02e944256b0cbd5703a2aec5d112ca2a9c36df60ab4f9f7044a9d5ab493f5d0b7892d271da8ad8889303ce0431cb5d2a935d525c1898f73fcca5a7589dae9eda59509e2b2a6870b318c303d275bd116617d1a858d3c7715f0f625dc0b1a9fdd744bec7e3a8e4a0347fbaec03b3d5d1b0f06b7e5bfc32a34b3d830c813a702bc37351e607c04ce462e9912b0403875a26b60040b24e74e351c694fc66476d4edeca1eea6a9598fcf272cca48a6a033cc2bec85cac3fae735bcafc15b2652e8f7a0e814210a358141d56989b632e9f0219ffff033f82150b737e80e354a78fcb17fce38f1a23c2d47179136eeb7165fc932366d2038794966a752f6bf8e915a3a8af22a9d5e6bdb1e12561b1357e1a8526973799ef0395beaf3a094eac6bfc4276cdb153d5787b522d1d0e8fb65d569be49533aa27280219ffff0387345356f66e22b17be8f4738389fdd0e00bf3872a2f57c229be4ebfd74f21a103528a557076a36260e5a55a9cbd9349730215403605adb97db552131366e673c20382c18c0f4ae39ee3825dd9d41d7896cf1bf0644f8729156f296d04c802e0464303b6df8660d2a90788243ea95d81d6e4f11dd5df481e523b6d377b712004314ab40219ffff05581e0399bd9af4195043fa45983f89c979b195e29e30336c3f90c7e15db63e900701190b8305581e034298a86e3859bc430a4e1afef55920485e2177e76d1afe4632b95112500c01480103d0a71516ee0003f238f32102d4bf9b5d2672e91e7072ce95cac2193cebc2ee778e2aca90d90cfd05581e0320bc7cd93640eade104399dd85a7e97af58a4d4c77c83bc96ffadeee00040205581e03d501b9d811b5427e06b8ae15047404a477f5a9c04dbf226f0a2b377eb00c0147033fcf4108348e05581e038903225b7d277649777e570cb6d44d9fc49a7518e3e862165604fd2ed0040305581e0366b08e98fa59d2246eacb5d10e2f3c72a18c5d1d8901dd29fca4eb3c700c054701b0113c28d71d05581e035c898197a6133a3bfe6dc50c21887fc1a2bc3c604f1992dcf8715217000c01475066f5cb42680005581e03dcd1b73178bb6cb79a944b4c74a34942df6249bef6b023007cdf3428c00403021917ff0344f5308479dbbb44f99505657ebea785bf8b635a133e5d5e46b4638e26e300a90219ffff0340638804eff26bef0120b3b3d6631cb1ba4b6e8b7dd75363f01972360ba17cc50342ff01d513766bf688222835ef00b36bd3b235cd2079ae3087b01ae3a2722509038b2e735f6943b0f4982577d08648dcad3bc6e7a1a13d27c4bccca30f79fa34d803e9d3bb1dd920fb208db4981e9c413a880cfd177eb628fcc260fdd1e65d2f465603bbbf07ddbb5c707983478e801120d4130ed2ddb0ff166b42a7026146da8ade7903bea0cc315d1b353db8aab95b4a40d237fd69cd3a6297e8ad0f75538608679583035c8fc5f3c04c172c715b0c1257a73bccf87712f5705d43aa21a48f76fb0ce8790219ffff03a71ba315330f990c7aa5fc24080aa017481e4408d2e1d4395be4dbb5429d0bae03be715fad1fd35854399cff6fa5b1ed772b66f3422f741c0aeae446bd1c5afe270388b69d67c04c5805bc6eec4b25165a08351d5a0ec99f5d558d53dbfd6cd2bbce03aa9d0dd0bc5f26018ab5564d8b92635b8508894e65da429a9dcdd9c606e9b26e03086e4b38a6ce4b25417f63d3bdbab342902b7d42462f096567e40e4a9dbb4b6d03f901ee44dcf934eb25b6031dd415825b8afa460ecdef8daa1f227e5e9944132c0219ffff0369577ef1e0b14c20f75ccea972f35e544399291db060f74fc1de75e4fcfbd1c403c34b777a04aa80e7adb81f3a04e7fa7e7f8a61ab6383d258d4107aaa8304446e03aad44eaab1a3ab0c8ab465fc2ff21c75e18c86bc89c0cf11a6c1eb4cd692ac7f03dd5a5f0a8bf11ba87be3da9bd6b3b3eca79766cb47f68514c91d9ceb7826b50d03c76cc132cb3607f7176ce9ec40df644900cf6b81f70f36f017f0275b753dc5e003495f253a8482fdd09691354f5d779ed32e48494bcc6e5ac887b787d5eaf64688033f542a83e91337de33f6b1dfa9215de64c9338d581e1ad1b619f949e0457fde403bcb7f2d2e528452d0219024c1dd18783f59e5e01fbe2922bce749069f7df95610360dda86198331d918f5ac191f6c7557d0fea845e309bf46669964430531e4bae0399a7d72ed3ce18e941cdc83a82488483ffebbec007b89051bd362e83e43e62fa031745fc2382b3587a676d7db570f6b5779362371707f4844f8620835016c5f9d8038d8400826bd0ae1d6239e55d9e871e9ac44f4af24137a2bd8d120431c6222e10036836980a791097829e51b7c94589b243cf4bb147c8c51128bfa1a17ea5954f5103eb4c2fc739032fc1e25a3b29ccce66633ab9c6fce35ed4f0fe0bcba08203e5ce0334b59ce318516d8c315d5d873cb59c63adf85a25f3e562cc92224565cb3eee7203f0bb687d3cb1878a8adbb356758bf07b7da6eadf23f4e9a5b8a4149c9fa8c5c8033672fa1dc8bcec748e7543dd197070876b35f24409413c9e68360ff4c0b717060339a584ce5ec09b2983dfeef8405bc592f4c634783d8f7703d680e9ccd67c797f030d382fe457ff977c081fc040cc04a75cd16ad26b2909f000803035811d70b05503ec9b13d09ad0478ec30717549fd30ce4c562016ee8241b8cad134a38c0e5c07d0397cb204b0428126eb5551cb75b4437377d867f52ba8a9bbc6b0a8f3528366a30036a1806b618b1ce1b483254881723e805dea1b4ec484caf3ae96b33f3d0823b1203e043faf7ee298296c6e2898d7b3def2057e8e2fc433ab19b2c860b7a45d3878203d63c071f9ae554e3759b97c4ac5073ddcd0d8f4f54562dd99f4ed22b18f0b0a4031320f2238b869ee6969c843984f87fedeecaf8ac96f8fa263073ebbb9004a613034c92eb255bf1f9206188da0966d615ca84f4c1d83b5b7071038de928d359f88703974224800174b03a09f59e3c109331529ddf39c4e9c8ddd005acd9232d12929e032694ca0281db93f7ad66ead5af34c21eb1156ad93cd38d4b4f07e7b61c05095403dd8538254d86f22399099da50a28ef73d16d2fc1c757b3dc7ad28ed41d9e959603c4fe7ffef4895686dc041663e83d4d2bdc0958e48450aabd1a4b171838cb00cd0397e2dd6f98a84d6f69bb0944e4b6b7934ce8ffaefc65cf205d387ad46584eeaf05581e031abf270dc3e243941db14fedccbd6eb57a38f2efd97f45b7f89980d4800c014701882232cfd480031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0322a54f5093432991a0ea87979521faeff6e8dde3cfe68cea985a8c39e007011bffffffffffffffff05581e031d24dfb2bbf7e370054e4044f5db3641ebc54e9af439c5ad747aa8fa700c094730b2a8ac796c0003f2c8be50a10d9e0939854c17be18516fd293a1647a8a0b52b6fa117483e4e81005581e03adba3395f6f8bed1389f9b8fbe6a0133d982b61d6b95902d40db559d100c198284483d78c1c7bbe36eaf05581e0389e8ffd604e06873518d40fc308e48501db4977f3c7f851f09ce0837900401034486cecf72508b3d1fada16f64971f7c7525f095b2152ad75a8414f9e5559f0901410603b4f7089cdb32470d307569689f14f6c5d25c8155e36286cf271c90f95c05acb505581e033426d0c266d32ea383b9bd96408e23c4040a179501581b6770e942d1700c064801303cd2d82a77e00219c78703f34b854c6e9055364ad3b240e581738fe1ca577703d77c77a9a045c633d830220219ffff03eb33f985c6e4de8438bf059cc883e9c8c1d62adedbd33a122a73d04d2563a762037a56c3b16f73a40cd96c2328de4259a538e6e24674ebc7ec27b29342b411fb4a03587805848db7b0f78ae2dddcf6f973041ee2cf988514004d604d9e0f516fcbd603b1954af43aec41de4523f97e86b160f3b4ee97fcd61dfedc0c4e4f3eef289c95033a449b8ea54d451c563513ea6f0ded3885c2f34388c4408f1bc09f0e66367ec4035814a2adce5186879d929a6e5e7b672ab7e8d6422247fbe73eb9a04eaa5a948603579069f1d918ecb0470daad4d9b1db63eb63b461e93d3a540b790f4c9838d9fd03d3b0921bd4e03c1631006e59f5a785ddd9e88b5430e25904bda532aeb700cb98039c6681d7ec73df0d5b0d21eaa9f996d6fa0f649ace8fad8bd4bec5a268c48aad035f9a8cd21186b5b841269260fbfa5ac8e20bb4793947952d569b9a93c692ebae03df7763a2978bca15509ac91710c0571877cbbac6a97a663d01ed77f9bdfecb350219ffff039fcda63aa718fc6827e805591eacf669d148be1cdcd56a558e947d57d94d28380353a9c6ead96109ab71319162d037846a5c7bf1833ca0db1bb7e5aa3e913b7953031dc82b69ee6a9658dbe82c4dd4f699f0cdc6e64e334fabedab395c0700a6cff2039460473149a6e85b515b3c8cfabfbeda57e9a05c815f074a24fe652f770a5a7e039f6062217d1c8acc42ccad5fd0061dabd54d5f32f1132235f0f34f0f4302b36603c46ab0a0f818e32cb24f81593c2baccd31db66205a4477cfa84095473eaefa140219ffff03c13c82317ac2fa483d39a41fd7fb4900cb941533a151e3cc15c6b99e742bdda303a73b5f190890be59e03ba26dbdf3eda043ab4f7ba596df128a97fed32a84c58c0219ffff0219ffff03068b045524a56ad473aa4da30af699e2dc145a08488a79af829e012167915108039fa5fc2bdcb416799dcbb97cffaf2240261700eef27b7ef2a9c84981404ab59503de1b3e3968186cd152320bcb258f3fc2d619eb3605276e483bac03e35a9c5a9d037bcccf3cd4a962cbfe5387251469ffcb3c5916cc11de80bc271b3950fa569d6703b052dfd052c42b7a810fbee574dd4361ea8980da4cda2f08144d5b3c05508554038e70d905aedcd930236770753a67d58fe4439dfc689d0877ef71a9a90f7aba8603d1a3c0abd584636381bf4e0504fb0821d3885ae82412d5a129157877fe1eea91032ee3a52e46b5a4c56ed1fa0468a1d082295b64a612a70d27353776a6cc0071530334cf2824256ae6cdc25b2c17fd86e6ff061305aef291e8b540aa82e3c5159d5c03ec6dcc26d93b12f85a2e313460e6fe78ae9daf67fd3fe3dd0d9d472acade6f560322bba51a1e04230ae2237bebcf8b80ccab827795b11b5ac3a481850b534eadc503c4d1781cf3ccf2dea06f5af3847a5a42063653937c377fe6727fc5c6483001de038db40f8c642d967fd91f844bfcf68934c55d93bf13318daa24aa4d8085b4c7bc03a7e4827ad946d88c5658f28d973821016b5f62d3987e0aef2f6661635051f75303e5c512950c1a03aac3af0f5ffb188d3bb26dc8b7d8fafc31c0359c8e535d7a4503a5eb0f9054b34b170de3546698651737c62bef4d021b99b4a20f3a8b258d063203be6f576f318bc4874cc1fefeb95c67b7d3a242b82996709d70b2192d2f16134c039cb443fffa806d586d659aa2f273955937b3502caa7354cd5d80abe4289f5e7e0317eb5f34a62af7188f37167dd3b9fde3c41fe4c0606a70ca18a713f68902efa203a76ab849459957e2ef329095967cc069988948c36daecd43506c97eac87570900317f7dba26c9bc62decfccc545c5b01a749b01e5897de36fbc1c1668dd63860800349dea5d07cde316d8f40c48dd9ec20d85f7183b2a35f314765763063440529d7037ad006623df2f6d7f47d230cf12e085e42c3cf9f6d3873b1c64472c4f78014520390f4adf7183b0a7ea77f75de8e9e4a9aa1a4cb7a6429ebe62fc7e53146417b1503bc7ff842993372bb2433fa6525d749dc07643644243b285aa10ab75294fb14a0039643c4106a4a0ee0da9b42c441784719d355df9c4740c65094205231d4c0928f05581e033aaaaa69b4893459f24335076102ec81cbb9fd48ec3caa51e182023da0040505581e03cbb3b4a167de5497424898e20e0094095f22517a8b82ad8676ba1b08f00c04463c4322a14a1803cc91b143097caa45a0c68009af4d0a3401971d8b17072cbc90f1ed0aa9f92eaa05581e038f32f026c2ba3091ec03d42c6666aa905e111b8094e85aabf95eeedab0040304590328608060405234801561001057600080fd5b50600436106100415760003560e01c806302ad4d2a14610046578063299ca4781461006e578063461a447814610099575b600080fd5b610059610054366004610195565b6100ac565b60405190151581526020015b60405180910390f35b600054610081906001600160a01b031681565b6040516001600160a01b039091168152602001610065565b6100816100a73660046101cf565b6100f6565b60006100db6040518060400160405280600c81526020016b212b26afa83937b837b9b2b960a11b8152506100f6565b6001600160a01b0316826001600160a01b0316149050919050565b6000805460405163bf40fac160e01b81526001600160a01b039091169063bf40fac190610127908590600401610280565b60206040518083038186803b15801561013f57600080fd5b505afa158015610153573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017791906102d5565b92915050565b6001600160a01b038116811461019257600080fd5b50565b6000602082840312156101a757600080fd5b81356101b28161017d565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156101e157600080fd5b813567ffffffffffffffff808211156101f957600080fd5b818401915084601f83011261020d57600080fd5b81358181111561021f5761021f6101b9565b604051601f8201601f19908116603f01168101908382118183101715610247576102476101b9565b8160405282815287602084870101111561026057600080fd5b826020860160208301376000928101602001929092525095945050505050565b600060208083528351808285015260005b818110156102ad57858101830151858201604001528201610291565b818111156102bf576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156102e757600080fd5b81516101b28161017d56fea264697066735822122001b0fcd2fe35ea1c8769d40c0a1fbdfe16bff1d476980df598e6a0ccdf55e89564736f6c6343000809003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563546968f3f16c3e64003f02e121cf0d5ccbf5625a4205581e0330d802bc9bddb54a7a106b17c1e932c315f77f553eab44a6ddeed6e9d0070119032803a66d3296e8461147bc9ba436d995bb7ca4aede4ffb67635efa353fcc3ba6d5e90307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e037b5819ec020347ba5786feabb5bd952ee57368b6ab808f514a66d3dfc007011bffffffffffffffff05581e0358abb4187961b6ccbb231c628f90636ce7f20d0317ce8e13b7c910d8d0040305581e03a9540471328f4807944e7049146d9e74ebf1582016546e7768392090a00c0146526748f5d2f80219599b03f38c8d210fac09b960e1f27006d28c7ab713829513dd8805944c5bb6bfba0a7d037df8a95459bcb5a111ff81d0767190b0a0d01e979ae7d3d247469e3067ee40af035ee1ae6dde4adbd81a90a3ef2e1252de317169364e1c0cc7a5cb82bac2cf79880371d233eec7cd169ec5fe01a5a34b0e734bd1fa16bd112fbf1e3e76019a11b656030321f166789afc8ab300e25cee7a8aef412a5d1fef710a8fe0c1267419a724ed039e7f76e34166d30cacbb97e4f86f2380ad43a5dcc773ac01a968a7dc5260919c030740b22f9b8053ca664e6decf0bda3a4db24d689a2f0ec9b739794a66d575be503f883a895ea7d907e205dc661bdfb48fac7178ae85c85d1eb70314d371c35b67f037ea3858d85ec56bae2fa276fe193039851dce4f5ede2c9a0d8d41bfcfa193d2503579177fb8bab0d65e960bdc2294b8aef39fd75b3a642b6738648504571a93c9c03b9d35bdf0bbbedcc32642567c739b45ccbeb76dcf68fe6e01f96a8597947bc4e032cf5f1e1db4d43f561d6584a47c841c5a61ab317c124d9278caae5e871f429830219ffff0219ffff03e3b1d70f16b857701af8cb1e752b265f6af7cabfca4e58f095bdd179324a7adc0367712bcb3f7c78c30c6638ade7d643e7abf6de4df59b3cdeb03e925021484f0403251cea837ff9f061408214097f1615b9f4b10d01f55f269c1ccda0b45e8ee0a803154a1553a5830f4da15909bc981ae817b84db1eccd52657e368dcf3683f1fc1a03488be0e6dff3b67579c4b35074610a65e6550ddc251455ddab37adbde88f874c035fabf1870cb7b4d3874fb40a7aae760ac76aedc6434e4a46e72ab669f7748fa6034f1d87cf8bf75fe50f0735be613ffcf9494e6b6a76337c53343e93dba813a5f603466a62720bc7c863040a0f4b6170ca11eb8009235f522e27107749d35ce22b750219ffff0392a37dcdc01496229b1fe11d79da527fb760c902dac6d7c26d56b7db14b0123503465ec164422f68beade3c5ffb0bc6388f650ca63d167e5e103e77160e4e400f103571ef2ed1893ff2c12bd8a488fad8c72d377aacf80cf15da350ca6e7a4da94080388ff1db136ebe3001af59ff3778bc724d39e7bd5e59f66a1585a4ffbc2de536d03e5caccfcde1ed5768ad95f085e4b9542c0fc82baee1bf1ee25c7c9b996bf167c03275b65cc2a98ce82f23ca62ecce84e473d90608febcc3c117298deaf5c394f2f03c9036462044557bb76334643b2de9af081af30daaf1585103bc18a99be543437033519b6b2abd96e37bf6aeb8994c0eb02408d0de5b685470e30a8b47308ce2657036792ea8fb59a3f0eb4aaa2525dd946a83939112c518ac1fb46148a98d0d65bfc038a82f98fee9ce351fc375c1087ca046393175622057ddf78d5f4fc91c865e88003c6ebdd2ffa99dd8cf35819b70d6a97c5573b5865936ded3835307cc535b576250370f73a18a3a44982bef2594451a00eb1e59832fd22cc79a43d0df02925f761e6034eb14dd5ba06edb81ac72d6a5ab7c759e9c83071f6b8cb296fb2c8bceef5637f03775d0cef7c156aaa02b5743250425a37833404702ed24afc8c8cf2d2fbdff20f030f2b8e4cafa01da8d0398552d5fb6890488fa933a5a4ea4f5e9e94b737f049bb034363d33ad35ab219470ce10dcc0ce0d94c8fcc7d886000f0adf749e04cc52d4a03b95b41769ded2468b2cdab36bfcb85dfdc5d91b60832fadba38c255af0f044bb03eda333ca4c639846518e7eeee174609584200bcc40725d47ed5a7a2861b4ace605581e039becd4146d0a901fee22d05b85a9f46f491d9f247aa730f590f709cc700c01410105581e033ceea00273a70c6af879e79480464e2ef5fbcbc5ddb1aad9575f2ed5a0040105581e033256da1a9cc3a85f017ecb51cb39286c7dd81166a7bd3a6659d2719390040305581e033f1d8df3b642a1a0aed087e68cb79dd37b9880cd7e4029dd561a0112a00c0e468f9e4974dc0005581e0362cf8e90e6cec2c47ee34a8f4688db1bb51f58e9dbc997db9b155a2970040105581e036d45f4118e8983b68ae96734fad9022399bf65a9b9084535e96ac7dae00c181a480115405458498cf805581e0388a88291f2c0e8de594f47f83f57e40512a993d8689fd492591f4b52400c0347628c19d54ca7b003f93a4b245afd49ddadbf901823e536b6124e5bc442bf4624f53fc47caf2a588005581e032c431130f8e3348199db086cb6a47428cf9f488aec8ba824cb4cb335b00c07471612aa2e630bb305581e037bffa8559221269585fb4b1b46a39c089c837b2ef001efd33eb010ae1004010358b42dc15cfad806b168793c6f9b87c6b21a519ec3d91aa45742f42213ad26210310d8868c4c1e94301ba97a28b562ae6d868f7b6f452ab6820e26c1ae18c69aa40219ef3e039de6bbdb56b32f1869c7f3f95fbcc815b79c63fda5e54f5100a009b551f7c5a503c80079a09a89ca95b525d29be943e147d7bfca51f8fb9af6eef4bf7898e92c8803b6e1ff3a55fc367a29a57b965e45687d1c056b2ee0c05b21fb9317d4cd48ad8903154211867f7e7c5cc912a5191bd38360b8d918b3d059b459fddb8367c2275953036ebe9361fcd5fa7fd1363a6e12ed965ec3bd94e1d5e209019b27cb67002965a70355de3936486bbf85eb587409a0daf89cfc0ced6eab62195c3e4586d0b4ecb85803c51e74f76babbd5a1039a15649855646cc4e6adb32d4d5c643b4239b32b89852030e2058fad099e79ac9a5cb383ca06c8dcb6c1bff602eb8f21faa7ada291af06c03d5727fa0d643e4f48b22345cd5dc2dfb5ad2ee736699600b2d4e3407836a162d0307ecfd4fb2dcb64c5dbd4f1669aef3f5e47d1ad5aafc23407a906036ce38154903e2ea45c691698efd6a1be147a116f00345d7cc4ba729a92323b4ab4e1cfcb1a7033596f9bd115b58fb42c2a9f107849b33ee59baee264f0ce12b70b365b015f99403ad8503f065cf59539a8dd16ca129202f1ce3de645ece573b4d3c0dacf85d874903522146c2afc75c5c7718c951b7311eff043414b50b9d2aee51688e4c908e45b40219ffff03220848b303bc3da1a9c0ca627a9f911f4c173ecca5c51086b0f2b3bff075008903c38f126a7e0a93c8e051c97cb4049022e7a556aa843a7954e6043e03af2e16e503a550cae69e7243bad3ec1a91a4446b1de8d9fabc4aeab40a04070367c32f8d6303f9dfae4d6f19735de20b7db6a74ba9c76df4c7016d5542c91ace244a93abcf3a03b420e323ab3752536b3884b83f4bb6d1fa4617a36bf45bf3d829b98c5c2dc89d0219ffff037a7e58902f12af4ac7da5b54d9a80c9584090eccf20970d3a1959124a797d74b03457de098b6f7c8b093c967b08dbd4e375e42352a418a3883f70c06485ad77b5903bdee8288119c12cc783f920a0199115173d836b6e6ad5901d1ce854fc15e0b1003db585e9a54dce07913b248b551169c2c31347b2c2f06c6a63fd8637435f34dec0336993d55f5f7a9db5d11ca5566a3fdd0b1e61624adaf23403a4531b44206108b03c9309088ad77949dd3ce7ecf9d34a62b9fee5eacfb29c784eef702c47ca282750351134efe436fc1b34904345fd75e5919c8841d4e829151c1aa732ce022cc78cf03417c253d3a83b22ccb90ada2af516f63261f4d986b3b15c598ba515603909f4003788e21a328aba2a479e790efcbff00b7ca98f49db1a8df127534de08484dfd9003bd1d52dbd703ab38354379651cf1f6569318629c1c501c1e50432e50176c511903139e04f40775e2c3146a658b7844568cfe8aadb358adf5197faca1017cda36fc03e2243950f1b66931f40a61532e15794fcf3a97f850f83dad0876e1be16b3eb580219ffff03b2708caaf4d918e35a40d6d14506b709828a2eb4d70a053beb9cb09148e45ba903b318c8208b0561bc80d606cbeaae5fcd3fbfbfe6729f65e86ed7c0534e2af64d03a410002fe89850985736a38e8c69a4ed07c0ded11ea143fdace4a1c00068738403a231fd5a70779b530caee5a5bf244adcca5727ccf35be77504ea1831400f93db0310b4c69f2d2650e55bb938d437eec4a9a3068df5a262d336d955d0b70c9def8503ecfc0b388de207ba99aaaa4be6998b524ca575efef65afd4c197046e440df59f03d17044306661aa5e075c45a9bfec8792845163342621fb2071426aba9bfad70a03d33f396f2f0ee9aa772717d7b5c9acaa735d23ce5effc590969e8a7c9fc2274b03900e2cbe1f8868c5addf64184b0efc2404e2cfaa366f6e96359ecf3e66915ace0316d5a0ceddbd17e268ebb312b7058723584f121ac68c2cb0de142833e49c4b340219ffff03c59b6c472a8af60be021bef345eca97bcf6f2ada3f64e50c3ccc2c9d46a42bc103194e510dae9e861772ce435835db4b109ea200f6cb61ef488a9efccd8825667b0309b0daebcfd05208efbf59f8864369ff7a3ef29479b76e234ea0fdca962406af03f16df9fd8d02e388508f6353590a0ef689f537d8b02a77999ea07cc1836fe81603fd1796ee44c93e62a19272f24d7a9dbd99908253ace197898f894db567d8b3d8035782c9adc2232d2e59fa2cc733b2bdc24cedc51ac01214b67e90701d3819b9770346f846a8073afca5d6971f45be19f6382b7f6257db4bbe24c88bff74a444691b033e016348c0ac571b6fc18db9c38f0eb39b2e6fce68ba71ecb827573ae2ba96db0326164d0e3de6d80bffaf0abc3c1687800a01a579a7cded92cfab59ebee3a4cf0036c539c7154cb4551fa54399bf95182c2c50ad02e4ce001f5ad5ffa43c615279b035def8e3b646047e3c22af9587a4ffcaf06b30cabbc81128af77ee511d75bfe8303bd078180e10c26a413038fbdf4df11a151587c5d27bc391195a2773effea39c803e5ef0f86d1a1cab0d8cc529978f8e516b806da532d7980e003e7a5e46e14571e0358ec49123f3c7edc48837e7ae62d1ca3b6d9db7271de842f73293f976eee7e2303189a0a4ee6062aa20081b78c80035e1f028bba2adc3a22c0d62251a745b7ba8903c0f4e8f42e1d025d00aed25d3cf8295e9ee3d900183254568ee68fc063c8ec9103904094a6261d3aa31ebe4d11f589f0f208094729de951eb25719fc4bcb5c269e0331175a7a28fa23b887d20472a511f2e5230424a7c0c87ed2f795ebd436d63a0e03be33ffaba9888022a22b7c871ac9b9051962f0ea038f679da3fc466f8dd0830c03ff57e724234a26944956c6404c7b6c24a40f1ea478897f3a5f1a6fb4ff523ac30379e0e3a21dbeb2ae704118ba00d2f6782acfb2563fc6fc348bf02cb4c97b000403851093c2810d1a18fc7eb3d4eb9584bae9f053ea42344e88c61350d97a1077b603e213345285ef3c881e704263d8fba56821884c95baf1d7e56a2f9dad37565d9e0330ea24aae96483a38a8c6a4a2e459dac48f5f1509d4f664ee769d7e8c3973ea403fbbd9e2738436400a1884e0ae270483706e72c0c754608e1d038a2388b2ecd07038db751ebf1129375d404097e0ab3bcdad9ecd3952ad19a52a59deeaea2fcf7a50391841a20fe71daf3d18c979c34dd61184fcee8b512413bf5eb9cbb7db103426603eb3f6f8fc6d2fedd59f3330b43f3d71f74d6a1f9f4fc33294b7157be8dd115d80317bfc798e9916e7f1490914d4e648396b126ebe32fd1c66c7aa4b6a53ef9b6b203654e7f995b74fd7524de9de96288893ef7834ed7b24d35e5ae854786cd292129035bd9e6a377e9761895f7dea57202f1e0d979895dec37b9751688835952df838a03f3325a90e3e11fd5f789059f181e7bb5715333518bf43ef598bfbef038e72c0503df639822a03417901306d8fc792bd4c57300c84e8fc594bbfa5d4b9f18e1bfab030a7be27cfad361d2de169cb723859cb4fc68c2471523c3230074a16793d2262c05581e03305d182734396db04ca3519b5f3b6c75fe726dd1ca572ca82b73cf6060040105581e0318cbf544b126be5f3fef43d707956aed2ced3754396d5101625c8742200c014702ed372720598805581e03d7ac80e9b0ef5c8ec78e32c9d555a5db54cf079ef0fb09fea39f5ef070040105581e03493ef7b356ca5af7bc9fba896ebc41f93c80e1ba0c7b606abb3f6795700c014795d101144ce36e03c2df3f089a88829fb1c4b222ec34c0c15c8ff07ccf2ee868b6ae67f54eb25d1805581e03943b134b530229ad917daaddfa4655bbdf32ef6f8624ca8065f2f5e7300c124701b7dece91e81005581e03841b5f2aea686c1d65719a568e80a39e043c8e572dedc4b6fe0a1c6f500c03469b10d7c52ac805581e03ca4e77dbe0d326cfa5b6eb1181f75a5afb2b70c8060d4d6f8544b5a1800c024612528b85864005581d02e7fc9786e5b01aafcc53759b1cc1e4a44b61cf24544cfee64559df860c05470365ea1eb938a705581d02bf97b3e907871dff2f102e854dde2e98eee4f5b7897090402240254a040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563048082c35d6ca64a726005820024ef2b35db576249d2213af9a872aa4626f68eb88e28bb738f845d0144bed915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820022c1b8a99dd65003f036552ff7e9af63aa8686e30ef1e92f570fa2ec22b093e4101005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5301e6cfbd19462bfa87033860442ec24ed50b2002195040005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab04703bcc9e7d86f5802190140005821039e334f9a89f71f10a52cf77f9124610151ee90fb6b0ed09567e204d2d3e87090410100582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820504c24eeca0599efba78c09a1d6db27810d494de66c95f25cc1d63a09a1e55a6005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84f4b570ede5f57bf74ba04f338d1548c00582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba410200582002ffe43f96e801a2a1e6aeba410f6aa5b9177204660842c5095e55478d5ff5004802a1dc3e128a48ac0219114400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd004805869cced001eb3a00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5d6f000000000003d9470863332b3c8e000000000000001fc68a740c3d280058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5444face2e310e543f6d85867eb06fb251e3bfe1fc0218480219fc4505581d023387a596e4bace4fabada3492750409229892edcfd0d18c8dbb355730701192c1d0219900205581e0330a7957f24601a33a106cb41c769ea36f1f3cd75159ab34cadf6f83b90040103d7e8d133b9f9b7a8310665f51c3a0f4ce16c9bba81c3046862e7b39c1a54c25305581e0350a457b46e1b81d302409f8f17dc13aef2c227ea63cb78f3172b0100e00c014775197901b2cfb00358138a8079c3c5888099ca861f2a5ef985adc953fdfff503e00c4008d4422d490219fe7d0372aaa3bf0b209e43250acfb7a2ddd7e9957aad35ff0f6974f1d7a9de11039160031f1636a22c811cb695b0d874467a4d52effd262bc46dab5643c4f9832d0fb16603943081c95b3c5aec6b05ddec15b95942845c3c71eb51bf3ffe2152de46ac79ba0219ffff03e65388af01f6ddd0901ed168227feaf9ee672e360465191f2b411570a388a91103a56a4d2ec718c7feae7f194df78f183b8c078f183310a18a63f39635324c5a5e03b4f84635fe63e15e442388143ded0dc69853e1c8d66f3637b908f4551ffc9ea80219ffff03f4f791b8201ddafc4c0cace3f4f352cbe58a649afa3c96dc672ccccced178ae903c9c3cd1e01bbffd2ae262974aa8c272e354e54ca8479fc466935f6da27b1b0d90304afc739416abd2c900b06335964389ecaecfda1ced08b58c2e88182c568826e030a65dbbd6368d9cb027bec59b620235bec26ba78ab42b780ad653670da5abbe803d319b6dfb93c82597ff707d742c17c9172d078c6fe8f5e1ecd16cd304bdd3066037b291ccc4219d2c1cc21eeeb818ddcee7b23a9e66f76ee10c1dcf918bc120ec10219ffff0360b1d20ecf8d2325da0651abb7243a34ad668b75be77bba2942250059d13624303643c6a492a5edc825e9226b136fa725cc0d83f66bf10c6700816aa7decb9844b0373343976edebeaa956238be550c64d8bda378512c1260b8c7b73d26e7d9d8916037b0d30c98dc1a4fb1869a2f93ac516006b1424134d4b24d0465fc5fa90e7fe9b0397660a234f1edb4a9e26f6bbfebb63ce30da7a3c9b75798dbe629d1fb2edd6790344ce03419740eadde5f05fbadda0fab527372bf60da30bad1cc37e096aaf6be8031b06373416c5baac1290c0cccd8268337c3f50ec1ce254cb2f331915769698c8031ebd4464bc994fdb94c040e6827684ed6d373778780d363584201560fc46c2d80372b6678f5a4fe19211c8d3c641cc356a6d013b77e26f200ff393ffbed5b857af03f6dca88fff60a4f7b3901fa7a14c3a111a7e285fe58180e0d1b9d6b7b222b039032a1f6278348825181e87952616aacc7e509a79228abec423d372f98b05fecb8403da16e6a16d3727e99b4b1df8597b3538f90d33f9a170902b1614032ed0f63f7e03cfa7e4e5628410de9ded9a94a3bfc0efa92364a66c45364346572ad17e76c14c0330d537470c9f1ae6b601d4bd14dcd1cde91cbc61c948b56484bb08174925f46d0219ffff0325640de62bfc326f009e4a3ae6da1e9fff1f836aab898c16d238e0e69aff2a4e031767f87c1747bc72bf20749d1630b4d8a6a3f3ec2c5efb0397c8d2b1882f2b9f03568d4fbc406711b8ea2a16c1f4bf54f25b78747148843cd611ef5a60b28c38c20304689bd883d14a5bc9261a06f1ef5d5834de4a140d91ce3ae73e08aa5fb98e19030e1bde3d67486d3759adb588986b891403a90fd37fa0750cabc2d86e0d7493440346e26bfdc3d3d15b5e9ed530c28bfff2b2b25d38f39700193a97c34904da246b0363f9d62e4acbf0d5966d23299b4484126a4e81d628d3f26558cae91092941e4b034819b8cef5906135db7f4bbd2ae8bf0f6bebcf3e1ef911db25d95a5db7f25f6a0374afc751cb4457806162b05623b5aa533315a38822dc15ed1703a50406e5218e03aa302a835ac16825d9c13e4f04c7fb58d89e3691c936910d7bc6f4e8c5e0c9f00330d4de391956a2f699a913fa36c4b2cc5020c2350a55d1148090f858085189ef03a4bff0c639257c4956f7fd3098ccdf51810b493f0a64eb7dfac5af1d284bdb4d036b52b16fa06497a333ca615ef801efb03de089b7dcde2183c21b8c1dca192cb70392c82d84875389d53051472529112f0c054ff933246e7311e3aee95d38ac9d6703d49db6a7cc918323ff81c295fe6f712f349cb40dd769e83718b8e0ff01445eb803b19236a8f8da6df33d84534f01b012232a7aa9d1f373455ea8bb60ee1d09d8b303f1a61420ae0b8f2a1c5c4cf0b418190c55f5ea4098b6e44d691fbf67ea87f1fa03ba85aa3eae005a2962844c46628b7ecc02bc7f3c53c25d4f32ac4849d73435ba033a264a84f8224ace90ea33302345b81e7cdcfc3f38f5c875e6623d25482b2e0003b298f73878f4b7776881cac05b1ca125540f655bedb276071a4fb22bc59677df03172076d7465bd09795d12c9425fec116120742baa449b1b08d7e3467f121dbc70302f6c28dbb9c9687e404cdeecf9f66753180120caf6557f5621d593bc151bc970358126980a22dc4fb4dfe7fc3fe24184740fc753a7bc3cdeb3b2a62870cce17fa0349e137ce658a5636c47a2309735385ae5fd072d05c1ecc111580e5f3ec3863f60314b781c14cbf46ac8c675a429cbddee0687e9f8274517a777fddc40cbc080dfe03e8cc4ec0ad2bc2736308272db0d97400af9e1dbf44f4bf161a1f5b90a7127b5603f941451590e32fb69a4016466d989a1ff0db25a262302a3c0d4f65b6a03a4d3203a7afd22e878df371acd5fecbd1e2939e2398f668e47925520593deff882b1f7303aa6afe794f503bc780153712b10191409a7ac380157b688f5d12260bc38f14c803e7a0a695a7290bdfffaf20589b410eea47914fc270f1dc822b6c7d1ba575a43103dd7793de98023212ef86a368e7c0c05bdee4ed787c274c8a5668c1e727d27982032fc0e1bf45d89f232901123300a3a7fef12c2329be70f63d6454753f6565741403060c58173665c4220ee107a4c157732f5734cfa751d926f81be960a684e2417c03fbd302b2a3b081952f414da5cab58ae6bdc053422307ac7c13e9cbea12e2b78003fd3e8be1b1b7659ee230cd3d8fd9b10ed782b3babafe4398f08779a700646d1f03dcc07ebedd1a10c17fd92767b27101e84f6974a7313126af909853dd40466ba00369111e5af78924cbdf0083f8133f19c7e47312dca8c8d2eb2f086ce5fc01b6a703f92dc5b39c337dab0cb89140b41e2185ae83ee1db672d6e2399d94b1da59bb88030af814230a33ddcc5493069a9a5d3f9efb72764d3d50da3ada7f0546f20518b70354806e50e1d1302b676fea424139dd042c6c9a1ed7069fafddca32375d0b8b2003d8a5f1c9d7f6188156cea552553bfead6016b4dd43efa95bdfaa031d766c82a203cf96f807d426a96670c01975b44aadf7a9c980d6ce49fa1afbf64c09d2beec9d0387c51c05bf8324ae529fa978add187ac6d53518c5cae62509dba11c2bafe590303673134df1793bf9e5c0c891d9b288738f8d351b36bafdd7497b7030b54098b2a05581e03b9256cada2bc3756ff02b156744c7f32da7b819e46c1cc18f60e2164700c0347019593045ee65005581e03f97465d5ba9085a63303d0e09206115ed5af1b80fe1ea3a0934cca86400c04475779ebf476396805581e0390b93de896a5f599556aa7c3a0cd6809fd686812864b84cf0c182d26700c02470121d36cfa656e031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d0295be77e646fc30430d9812e3a19ebcf3b0ece0d130b4b2310f91dad507011bffffffffffffffff04590d6f60806040526004361061001e5760003560e01c8063ab13824014610023575b600080fd5b610036610031366004610862565b610038565b005b8746141561007b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610b96565b60405180910390fd5b6100868782846101ba565b7f6ded982279c8387ad8a63e73385031a3807c1862e633f06e09d11bcb6e282f608782846040516100b9939291906109b5565b60405180910390a173ffffffffffffffffffffffffffffffffffffffff8716156100e8576100e8878a8761022a565b61016b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505073ffffffffffffffffffffffffffffffffffffffff891615610143573461014d565b61014d8434610c79565b73ffffffffffffffffffffffffffffffffffffffff8d16919061032d565b507f831bac9533a2034226daa21109dbd4f887674f0fe4877e1a8b35b3ffe1bdce768b8b8a8a8a8a6040516101a5969594939291906109e6565b60405180910390a15050505050505050505050565b806101c457610225565b73ffffffffffffffffffffffffffffffffffffffff8316610204576101ff73ffffffffffffffffffffffffffffffffffffffff83168261035b565b610225565b61022573ffffffffffffffffffffffffffffffffffffffff84168383610438565b505050565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063dd62ed3e90610281903090879060040161098e565b60206040518083038186803b15801561029957600080fd5b505afa1580156102ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d19190610957565b9050818110156103275761032783610309837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610c79565b73ffffffffffffffffffffffffffffffffffffffff871691906104d9565b50505050565b6060610353848484604051806060016040528060298152602001610d11602991396105c3565b949350505050565b80471015610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610b02565b60008273ffffffffffffffffffffffffffffffffffffffff16826040516103bb9061098b565b60006040518083038185875af1925050503d80600081146103f8576040519150601f19603f3d011682016040523d82523d6000602084013e6103fd565b606091505b5050905080610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610aa5565b6102258363a9059cbb60e01b8484604051602401610457929190610a2e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610686565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063dd62ed3e90610530903090879060040161098e565b60206040518083038186803b15801561054857600080fd5b505afa15801561055c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105809190610957565b9050610327847f095ea7b300000000000000000000000000000000000000000000000000000000856105b28686610c61565b604051602401610457929190610a2e565b6060824710156105ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610b39565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610628919061096f565b60006040518083038185875af1925050503d8060008114610665576040519150601f19603f3d011682016040523d82523d6000602084013e61066a565b606091505b509150915061067b8783838761073f565b979650505050505050565b60006106e8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661079d9092919063ffffffff16565b90508051600014806107095750808060200190518101906107099190610930565b610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610c04565b6060831561079357825161078c57610756856107ac565b61078c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610bcd565b5081610353565b61035383836107cc565b606061035384846000856105c3565b73ffffffffffffffffffffffffffffffffffffffff81163b15155b919050565b8151156107dc5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100729190610a54565b80356107c781610ceb565b60008083601f84011261082c578182fd5b50813567ffffffffffffffff811115610843578182fd5b60208301915083602082850101111561085b57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215610883578687fd5b8b3561088e81610ceb565b9a5060208c013561089e81610ceb565b995060408c01356108ae81610ceb565b985060608c0135975060808c01356108c581610ceb565b965060a08c01356108d581610ceb565b955060c08c0135945060e08c013567ffffffffffffffff8111156108f7578485fd5b6109038e828f0161081b565b9095509350506101008c0135915061091e6101208d01610810565b90509295989b509295989b9093969950565b600060208284031215610941578081fd5b81518015158114610950578182fd5b9392505050565b600060208284031215610968578081fd5b5051919050565b60008251610981818460208701610c90565b9190910192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff9687168152948616602086015260408501939093529084166060840152909216608082015260a081019190915260c00190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6000602082528251806020840152610a73816040850160208701610c90565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6020808252603a908201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260408201527f6563697069656e74206d61792068617665207265766572746564000000000000606082015260800190565b6020808252601d908201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526012908201527f544f4b454e5f504149525f494e56414c49440000000000000000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60008219821115610c7457610c74610cbc565b500190565b600082821015610c8b57610c8b610cbc565b500390565b60005b83811015610cab578181015183820152602001610c93565b838111156103275750506000910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610d0d57600080fd5b5056fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a264697066735822122050ec4ea9f0f5a804469052ba5fca070042d70d217f98c7ad56a235a3ad5772ac64736f6c634300080100330605581d027298c6116238b952a7f03ca70e82a71366ffc06e7d2822d50855f5170701190d6f02182203ad095a68a7cf273bcda1eed1bf42f95a3f7ed7aeb3d0d02cbe9c8d611c7df6a201410605581e034074cdd64ae6428773309646b67c2f1cbfee84ba120b54a1df4a24c430040103e0c95a21263f1af879f6c8ce13eeea2300f442a0bacab21af7fb4a0a7cfa7dd705581e03a9fe33108e644d571a5eced6219aa559b556431b471b8968a7740c2e90040205581e03d03ab529725232d14b4f465698000d504c4996c3d1c1df8a20c55aacf0040105581e0320976d9781157098a8d17edb02699bc4d8bb360623393954a472c80dd00c03466e2fa61836b805581e03484d4015258ff2b00552102624a9c88085950fae13d396faa4921e18f0084718d55e32fae0000219e7570219ffff038cfbc36d0a85643d75017752dc1b22c6ad1879b13743430614ec87ec76de58240219ffff039753861a4aa7750a2665357952a71761f3bed3e2fe76958c3c3435e5baeacf7e0336bea240b598f32ef4cec7a24664150765661613b11fd2d4d47311059a85f7570219ffff0335227b2756b2208c5d09f26bfa673f3120bc5179a598271df09228c7218fd1c803c58976e4392c6dff11f2c995f5ede277943540a6a8b8604b59d0e642c4ae81af03a5fbd1ce1f683ca56be3dd0b9308be352366a671c796fe0a2de385d72cea153903b763ed303309f19c0bf145f44afbb4a39f047eeda31dc99cbeff69e45706722b03ba6b6bee4cfd9bbca78beab6bb25ef5303945ab799b07625b81ae9a1cab19c5d038737ebbdc8034d784fd6d62304d32cd7bfa49d28e1bf28a98a149af0853e52bc0384857c0fbb121b4f0fafa3c1ff5f75d20be304c0b3236be959e3f7e08e18f938037dc432190702d3507e12292d113a1dd30f5ab07448f9c1ac6a3772e48f6c29cf0343b2030eb617c162e903455b05bf25a4ede4b1bed12aaae735c85b5d098d6c1303bf5a883325a4662de1b70cc98a10b403d769c84ae4ef1e2edf57be721eaf45f40329c31a9bc01d1f678f91707190bf2ca24ef0d034f02bfa46c3f9d1e1beed0197031dc57aabd7b11090394f2b85f1cfec416938c8a6aa17a7fcc75b462eaa782be703500fc0322f4a86d336f2f2a89a321f390f2ce014d4438941096b8355d6597a71032926c5c1a8a5e08024b79e49d55654c27c833490c112c5d43779af3c989abc13037abde1fbf5ddbe41f9820563ac0588c5188ae48ab6d6d3bac455ebab6405f54003f12f4235d7f2b26801c6b33f5b3b0c858a83c6cc75e70b3e7ea4f79abbc31158045946ab6080604052600436106101a05760003560e01c8063715018a6116100ec578063a1db97821161008a578063c87b56dd11610064578063c87b56dd14610d6b578063dd62ed3e14610da8578063e43252d714610de5578063f2fde38b14610e0e576101a7565b8063a1db978214610cdc578063a9059cbb14610d05578063c6d69a3014610d42576101a7565b80638ab1d681116100c65780638ab1d68114610c205780638da5cb5b14610c4957806395d89b4114610c745780639b19251a14610c9f576101a7565b8063715018a614610bc75780637362377b14610bde578063771a3a1d14610bf5576101a7565b80632dc0562d116101595780634bd6ec39116101335780634bd6ec3914610b0d5780634ef41efc14610b3657806355f804b314610b6157806370a0823114610b8a576101a7565b80632dc0562d14610a8e578063313ce56714610ab957806340c10f1914610ae4576101a7565b806306fdde0314610958578063095ea7b31461098357806318160ddd146109c057806323b872dd146109eb578063274e430b14610a285780632a6a935d14610a65576101a7565b366101a757005b60006101b1610e37565b9050600060e06101c16000610e48565b901c905063e5eb36c881036102be578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610259576040517fce5a776b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60846000369050101561026b57600080fd5b60006102776004610e48565b905060006102856024610e48565b905060006102936044610e48565b905060006102a16064610e48565b90506102af84848484610e53565b6102b960016113da565b505050505b63813500fc81036103aa578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610352576040517fce5a776b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60646000369050101561036457600080fd5b60006103706004610e48565b905060008061037f6024610e48565b14159050600061038f6044610e48565b905061039c8383836113e4565b6103a660016113da565b5050505b63e985e9c5810361050b578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461043e576040517fce5a776b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60446000369050101561045057600080fd5b600061045c6004610e48565b9050600061046a6024610e48565b90506105086105038560030160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611486565b6113da565b50505b636352211e81036105e8578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461059f576040517fce5a776b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6024600036905010156105b157600080fd5b60006105bd6004610e48565b90506105e66105cb82611492565b73ffffffffffffffffffffffffffffffffffffffff166113da565b505b63d10b6e0c81036106e5578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461067c576040517fce5a776b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60646000369050101561068e57600080fd5b600061069a6004610e48565b905060006106a86024610e48565b905060006106b66044610e48565b90506106e16106c68484846114e3565b73ffffffffffffffffffffffffffffffffffffffff166113da565b5050505b63081812fc81036107c2578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610779576040517fce5a776b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60246000369050101561078b57600080fd5b60006107976004610e48565b90506107c06107a58261169a565b73ffffffffffffffffffffffffffffffffffffffff166113da565b505b63f5b100ea8103610889578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610856576040517fce5a776b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60246000369050101561086857600080fd5b60006108746004610e48565b90506108876108828261171f565b6113da565b505b63e2c792818103610940578160010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461091d576040517fce5a776b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60046000369050101561092f57600080fd5b61093f61093a61178a565b6113da565b5b63b7a94eb881036109565761095560016113da565b5b005b34801561096457600080fd5b5061096d6117b3565b60405161097a919061388b565b60405180910390f35b34801561098f57600080fd5b506109aa60048036038101906109a5919061394b565b611845565b6040516109b791906139a6565b60405180910390f35b3480156109cc57600080fd5b506109d561185c565b6040516109e291906139d0565b60405180910390f35b3480156109f757600080fd5b50610a126004803603810190610a0d91906139eb565b611895565b604051610a1f91906139a6565b60405180910390f35b348015610a3457600080fd5b50610a4f6004803603810190610a4a9190613a3e565b6119ad565b604051610a5c91906139a6565b60405180910390f35b348015610a7157600080fd5b50610a8c6004803603810190610a879190613a97565b611a4f565b005b348015610a9a57600080fd5b50610aa3611a5c565b604051610ab09190613ad3565b60405180910390f35b348015610ac557600080fd5b50610ace611a82565b604051610adb9190613b0a565b60405180910390f35b348015610af057600080fd5b50610b0b6004803603810190610b06919061394b565b611a8b565b005b348015610b1957600080fd5b50610b346004803603810190610b2f9190613a3e565b611aa1565b005b348015610b4257600080fd5b50610b4b611aed565b604051610b589190613ad3565b60405180910390f35b348015610b6d57600080fd5b50610b886004803603810190610b839190613b8a565b611b20565b005b348015610b9657600080fd5b50610bb16004803603810190610bac9190613a3e565b611b3e565b604051610bbe91906139d0565b60405180910390f35b348015610bd357600080fd5b50610bdc611bb9565b005b348015610bea57600080fd5b50610bf3611bcd565b005b348015610c0157600080fd5b50610c0a611ccd565b604051610c1791906139d0565b60405180910390f35b348015610c2c57600080fd5b50610c476004803603810190610c429190613a3e565b611cd3565b005b348015610c5557600080fd5b50610c5e611d36565b604051610c6b9190613ad3565b60405180910390f35b348015610c8057600080fd5b50610c89611d5f565b604051610c96919061388b565b60405180910390f35b348015610cab57600080fd5b50610cc66004803603810190610cc19190613a3e565b611df1565b604051610cd391906139a6565b60405180910390f35b348015610ce857600080fd5b50610d036004803603810190610cfe919061394b565b611e11565b005b348015610d1157600080fd5b50610d2c6004803603810190610d27919061394b565b612017565b604051610d3991906139a6565b60405180910390f35b348015610d4e57600080fd5b50610d696004803603810190610d649190613bd7565b61202e565b005b348015610d7757600080fd5b50610d926004803603810190610d8d9190613bd7565b612085565b604051610d9f919061388b565b60405180910390f35b348015610db457600080fd5b50610dcf6004803603810190610dca9190613c04565b6120d0565b604051610ddc91906139d0565b60405180910390f35b348015610df157600080fd5b50610e0c6004803603810190610e079190613a3e565b612163565b005b348015610e1a57600080fd5b50610e356004803603810190610e309190613a3e565b6121c6565b005b600068a20d6e21d0e5255308905090565b600081359050919050565b6000610e5d610e37565b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ec5576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816007019050816002016000610ee583610ee08861224c565b61225a565b63ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614610f84576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146110e3578160030160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166110e25781600401600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146110e1576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b5b60006110ee87612288565b905060006110fb87612288565b9050670de0b6b3a76400008260000160148282829054906101000a90046bffffffffffffffffffffffff166111309190613c8b565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550670de0b6b3a76400008160000160148282829054906101000a90046bffffffffffffffffffffffff160192506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550600084600601905060008160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061121c8561120d8a61224c565b611217868d612332565b61242e565b85600401600089815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600061129d8286600001601081819054906101000a900463ffffffff166001900391906101000a81548163ffffffff021916908363ffffffff160217905563ffffffff1661225a565b63ffffffff1690506112c7826112bb886112b68d612462565b61225a565b63ffffffff168361242e565b6112eb866112d483612462565b6112e6896112e18e612462565b61225a565b61242e565b600084600001601081819054906101000a900463ffffffff168092919060010191906101000a81548163ffffffff021916908363ffffffff16021790555063ffffffff1690506113798460008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828c61242e565b61138c876113868c612462565b8361242e565b50505050670de0b6b3a76400006000528660601b60601c8860601b60601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206000a35050505050505050565b8060005260206000f35b816113ed610e37565b60030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60008115159050919050565b600061149d82612472565b6114d3576040517fceea21b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114dc826124b3565b9050919050565b6000806114ee610e37565b905080600201600061150b836007016115068861224c565b61225a565b63ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461163e578060030160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661163d576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b8481600401600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550509392505050565b60006116a582612472565b6116db576040517fceea21b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116e3610e37565b600401600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000611729610e37565b60080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160109054906101000a900463ffffffff1663ffffffff169050919050565b6000611794610e37565b60000160089054906101000a900463ffffffff1663ffffffff16905090565b6060600180546117c290613cfa565b80601f01602080910402602001604051908101604052809291908181526020018280546117ee90613cfa565b801561183b5780601f106118105761010080835404028352916020019161183b565b820191906000526020600020905b81548152906001019060200180831161181e57829003601f168201915b5050505050905090565b600061185233848461251e565b6001905092915050565b6000611866610e37565b600001600c9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905090565b6000806118a0610e37565b60050160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000816000015490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146119955780841115611989576040517f13be252b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83810382600001819055505b6119a08686866125e8565b6001925050509392505050565b6000806119b8610e37565b60080160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000600182600001600b9054906101000a900460ff161660ff1603611a2a57611a22836127da565b915050611a4a565b6000600282600001600b9054906101000a900460ff161660ff1614159150505b919050565b611a5933826127e5565b50565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006012905090565b611a9361289c565b611a9d8282612923565b5050565b611aa961289c565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611af7610e37565b60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611b2861289c565b818160039182611b39929190613f11565b505050565b6000611b48610e37565b60080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b611bc161289c565b611bcb6000612d5a565b565b611bd561289c565b600047905060008111611c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c149061402d565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff1682604051611c439061407e565b60006040518083038185875af1925050503d8060008114611c80576040519150601f19603f3d011682016040523d82523d6000602084013e611c85565b606091505b5050905080611cc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cc0906140df565b60405180910390fd5b5050565b60055481565b611cdb61289c565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054611d6e90613cfa565b80601f0160208091040260200160405190810160405280929190818152602001828054611d9a90613cfa565b8015611de75780601f10611dbc57610100808354040283529160200191611de7565b820191906000526020600020905b815481529060010190602001808311611dca57829003601f168201915b5050505050905090565b60066020528060005260406000206000915054906101000a900460ff1681565b611e1961289c565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7f9061414b565b60405180910390fd5b600082905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611ec89190613ad3565b602060405180830381865afa158015611ee5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f099190614180565b905080831115611f4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f45906141f9565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33866040518363ffffffff1660e01b8152600401611f8b929190614219565b6020604051808303816000875af1158015611faa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fce9190614257565b905080612010576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612007906142d0565b60405180910390fd5b5050505050565b60006120243384846125e8565b6001905092915050565b61203661289c565b6103e881111561207b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120729061433c565b60405180910390fd5b8060058190555050565b606060006003805461209690613cfa565b9050146120cb5760036120a883612e1e565b6040516020016120b992919061441b565b60405160208183030381529060405290505b919050565b60006120da610e37565b60050160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154905092915050565b61216b61289c565b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6121ce61289c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036122405760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016122379190613ad3565b60405180910390fd5b61224981612d5a565b50565b6000600182901b9050919050565b6000600560078316901b836000016000600385901c815260200190815260200160002054901c905092915050565b6000612292610e37565b60080160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000600182600001600b9054906101000a900460ff161660ff160361232d57600060019050612302836127da565b1561230e576002811790505b8082600001600b6101000a81548160ff021916908360ff160217905550505b919050565b60008061233d610e37565b905083600001600c9054906101000a900463ffffffff16915060008263ffffffff16036124275780600001600081819054906101000a900463ffffffff166123849061444f565b91906101000a81548163ffffffff021916908363ffffffff160217905591508184600001600c6101000a81548163ffffffff021916908363ffffffff160217905550828160020160008463ffffffff1663ffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5092915050565b826020528160031c60005260406000206007831660051b815463ffffffff8482841c188116831b8218845550505050505050565b600060018083901b019050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16612494836124b3565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6000806124be610e37565b90508060020160006124db836007016124d68761224c565b61225a565b63ffffffff1663ffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16915050919050565b80612527610e37565b60050160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550806000528160601b60601c8360601b60601c7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560206000a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161264e906144ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126bd9061457f565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561276a5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561277857506000600554115b156127c957600061271060055483612790919061459f565b61279a9190614610565b9050600081836127aa9190614641565b90506127b7853084612eec565b6127c2858583612eec565b50506127d5565b6127d4838383612eec565b5b505050565b6000813b9050919050565b60006127f083612288565b90508115156000600283600001600b9054906101000a900460ff161660ff16141515151461284957600281600001600b8282829054906101000a900460ff161892506101000a81548160ff021916908360ff1602179055505b8273ffffffffffffffffffffffffffffffffffffffff167fb5a1de456fff688115a4f75380060c23c8532d14ff85f687cc871456d64203938360405161288f91906139a6565b60405180910390a2505050565b6128a4613571565b73ffffffffffffffffffffffffffffffffffffffff166128c2611d36565b73ffffffffffffffffffffffffffffffffffffffff1614612921576128e5613571565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016129189190613ad3565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612989576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612993610e37565b905060006129a084612288565b905060008383600001600c9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1601905060006129ec6b0de0b6b39983494c589bffff8311611486565b612a036b0de0b6b39983494c589bffff8711611486565b1714612a3b576040517fe5cfe95700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8083600001600c6101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506000848360000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16019050808360000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506000600284600001600b9054906101000a900460ff161660ff1603612d1f5760008460060160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008460000160109054906101000a900463ffffffff1663ffffffff1690506000670de0b6b3a76400008481612b6f57612b6e6145e1565b5b0490506000612b86612b818385613579565b61358a565b90506000886007019050600082602001515114612d19576000670de0b6b3a76400008881612bb757612bb66145e1565b5b0490506000612bc68a8e612332565b905060008b60000160049054906101000a900463ffffffff1663ffffffff1690508460200151518c60000160088282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff160217905550858b60000160106101000a81548163ffffffff021916908363ffffffff1602179055505b5b6000612c5d85612c588461224c565b61225a565b63ffffffff1614612c805782816001019150811115612c7b57600190505b612c49565b612c8b88888361242e565b612c9d8482848a806001019b506135b5565b612caa858f8360006135fb565b82816001019150811115612cbd57600190505b858703612c4857808c60000160046101000a81548163ffffffff021916908363ffffffff160217905550612d15858d60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613617565b5050505b50505050505b5050826000528360601b60601c60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206000a350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b606060006001612e2d84613658565b01905060008167ffffffffffffffff811115612e4c57612e4b613d36565b5b6040519080825280601f01601f191660200182016040528015612e7e5781602001600182028036833780820191505090505b509050600082602001820190505b600115612ee1578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581612ed557612ed46145e1565b5b04945060008503612e8c575b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612f52576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612f5c610e37565b90506000612f6985612288565b90506000612f7685612288565b9050612f806137ab565b8260000160109054906101000a900463ffffffff1663ffffffff168160800181815250508160000160109054906101000a900463ffffffff1663ffffffff168160a00181815250508260000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16816040018181525050806040015185111561303a576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8481604001818151039150818152505080604001518360000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550848260000160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff160181606001818152508260000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506131128160800151670de0b6b3a764000083604001518161310c5761310b6145e1565b5b04613579565b8160000181815250506000600283600001600b9054906101000a900460ff161660ff16036131b6578573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036131825780600001518160800151038160a00181815250505b6131ac670de0b6b3a76400008260600151816131a1576131a06145e1565b5b048260a00151613579565b8160200181815250505b60006131cb826020015183600001510161358a565b9050600085600701905060008360000151146133135760008660060160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600084608001519050600085600001518203905085600001518960000160088282829054906101000a900463ffffffff160392506101000a81548163ffffffff021916908363ffffffff160217905550808860000160106101000a81548163ffffffff021916908363ffffffff1602179055505b60006132ad84846001900394508461225a565b63ffffffff1690506132c285826000806135b5565b89600401600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055613307868e8360016135fb565b5080820361329a575050505b60008360200151146134f25760008660060160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008460a00151905060008560200151820190506000613384888d612332565b90506000670de0b6b3a76400008b600001600c9054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16816133ca576133c96145e1565b5b04905060008b60000160049054906101000a900463ffffffff1663ffffffff16905088602001518c60000160088282829054906101000a900463ffffffff160192506101000a81548163ffffffff021916908363ffffffff160217905550838a60000160106101000a81548163ffffffff021916908363ffffffff1602179055505b5b60006134618861345c8461224c565b61225a565b63ffffffff1614613484578181600101915081111561347f57600190505b61344d565b61348f86868361242e565b6134a1878285888060010199506135b5565b6134ae888f8360006135fb565b818160010191508111156134c157600190505b83850361344c57808c60000160046101000a81548163ffffffff021916908363ffffffff1602179055505050505050505b60008260200151511461352e5761352d828760010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16613617565b5b5050846000528560601b60601c8760601b60601c7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206000a350505050505050565b600033905090565b600081830382841102905092915050565b6135926137e1565b604051828152806020018360051b81016040528183602001528083525050919050565b8163ffffffff168160201b17846020528360021c60005260406000206003851660061b815467ffffffffffffffff8482841c188116831b82188455505050505050505050565b8351818360081b8560601b171781526020810185525050505050565b60208201516040810363263c69d68152602080820152815160051b60440160208282601c85016000885af160018351141661365157600082fd5b5050505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106136b6577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816136ac576136ab6145e1565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106136f3576d04ee2d6d415b85acef810000000083816136e9576136e86145e1565b5b0492506020810190505b662386f26fc10000831061372257662386f26fc100008381613718576137176145e1565b5b0492506010810190505b6305f5e100831061374b576305f5e1008381613741576137406145e1565b5b0492506008810190505b6127108310613770576127108381613766576137656145e1565b5b0492506004810190505b606483106137935760648381613789576137886145e1565b5b0492506002810190505b600a83106137a2576001810190505b80915050919050565b6040518060c001604052806000815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806040016040528060008152602001606081525090565b600081519050919050565b600082825260208201905092915050565b60005b8381101561383557808201518184015260208101905061381a565b60008484015250505050565b6000601f19601f8301169050919050565b600061385d826137fb565b6138678185613806565b9350613877818560208601613817565b61388081613841565b840191505092915050565b600060208201905081810360008301526138a58184613852565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006138e2826138b7565b9050919050565b6138f2816138d7565b81146138fd57600080fd5b50565b60008135905061390f816138e9565b92915050565b6000819050919050565b61392881613915565b811461393357600080fd5b50565b6000813590506139458161391f565b92915050565b60008060408385031215613962576139616138ad565b5b600061397085828601613900565b925050602061398185828601613936565b9150509250929050565b60008115159050919050565b6139a08161398b565b82525050565b60006020820190506139bb6000830184613997565b92915050565b6139ca81613915565b82525050565b60006020820190506139e560008301846139c1565b92915050565b600080600060608486031215613a0457613a036138ad565b5b6000613a1286828701613900565b9350506020613a2386828701613900565b9250506040613a3486828701613936565b9150509250925092565b600060208284031215613a5457613a536138ad565b5b6000613a6284828501613900565b91505092915050565b613a748161398b565b8114613a7f57600080fd5b50565b600081359050613a9181613a6b565b92915050565b600060208284031215613aad57613aac6138ad565b5b6000613abb84828501613a82565b91505092915050565b613acd816138d7565b82525050565b6000602082019050613ae86000830184613ac4565b92915050565b600060ff82169050919050565b613b0481613aee565b82525050565b6000602082019050613b1f6000830184613afb565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613b4a57613b49613b25565b5b8235905067ffffffffffffffff811115613b6757613b66613b2a565b5b602083019150836001820283011115613b8357613b82613b2f565b5b9250929050565b60008060208385031215613ba157613ba06138ad565b5b600083013567ffffffffffffffff811115613bbf57613bbe6138b2565b5b613bcb85828601613b34565b92509250509250929050565b600060208284031215613bed57613bec6138ad565b5b6000613bfb84828501613936565b91505092915050565b60008060408385031215613c1b57613c1a6138ad565b5b6000613c2985828601613900565b9250506020613c3a85828601613900565b9150509250929050565b60006bffffffffffffffffffffffff82169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613c9682613c44565b9150613ca183613c44565b925082820390506bffffffffffffffffffffffff811115613cc557613cc4613c5c565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613d1257607f821691505b602082108103613d2557613d24613ccb565b5b50919050565b600082905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613dc77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613d8a565b613dd18683613d8a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000613e0e613e09613e0484613915565b613de9565b613915565b9050919050565b6000819050919050565b613e2883613df3565b613e3c613e3482613e15565b848454613d97565b825550505050565b600090565b613e51613e44565b613e5c818484613e1f565b505050565b5b81811015613e8057613e75600082613e49565b600181019050613e62565b5050565b601f821115613ec557613e9681613d65565b613e9f84613d7a565b81016020851015613eae578190505b613ec2613eba85613d7a565b830182613e61565b50505b505050565b600082821c905092915050565b6000613ee860001984600802613eca565b1980831691505092915050565b6000613f018383613ed7565b9150826002028217905092915050565b613f1b8383613d2b565b67ffffffffffffffff811115613f3457613f33613d36565b5b613f3e8254613cfa565b613f49828285613e84565b6000601f831160018114613f785760008415613f66578287013590505b613f708582613ef5565b865550613fd8565b601f198416613f8686613d65565b60005b82811015613fae57848901358255600182019150602085019450602081019050613f89565b86831015613fcb5784890135613fc7601f891682613ed7565b8355505b6001600288020188555050505b50505050505050565b7f4e6f206574686572206c65667420746f20776974686472617700000000000000600082015250565b6000614017601983613806565b915061402282613fe1565b602082019050919050565b600060208201905081810360008301526140468161400a565b9050919050565b600081905092915050565b50565b600061406860008361404d565b915061407382614058565b600082019050919050565b60006140898261405b565b9150819050919050565b7f4574686572207769746864726177616c206661696c6564000000000000000000600082015250565b60006140c9601783613806565b91506140d482614093565b602082019050919050565b600060208201905081810360008301526140f8816140bc565b9050919050565b7f496e76616c696420746f6b656e20616464726573730000000000000000000000600082015250565b6000614135601583613806565b9150614140826140ff565b602082019050919050565b6000602082019050818103600083015261416481614128565b9050919050565b60008151905061417a8161391f565b92915050565b600060208284031215614196576141956138ad565b5b60006141a48482850161416b565b91505092915050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006141e3601483613806565b91506141ee826141ad565b602082019050919050565b60006020820190508181036000830152614212816141d6565b9050919050565b600060408201905061422e6000830185613ac4565b61423b60208301846139c1565b9392505050565b60008151905061425181613a6b565b92915050565b60006020828403121561426d5761426c6138ad565b5b600061427b84828501614242565b91505092915050565b7f546f6b656e207472616e73666572206661696c65640000000000000000000000600082015250565b60006142ba601583613806565b91506142c582614284565b602082019050919050565b600060208201905081810360008301526142e9816142ad565b9050919050565b7f54617820726174652063616e6e6f742065786365656420313025000000000000600082015250565b6000614326601a83613806565b9150614331826142f0565b602082019050919050565b6000602082019050818103600083015261435581614319565b9050919050565b600081905092915050565b6000815461437481613cfa565b61437e818661435c565b9450600182166000811461439957600181146143ae576143e1565b60ff19831686528115158202860193506143e1565b6143b785613d65565b60005b838110156143d9578154818901526001820191506020810190506143ba565b838801955050505b50505092915050565b60006143f5826137fb565b6143ff818561435c565b935061440f818560208601613817565b80840191505092915050565b60006144278285614367565b915061443382846143ea565b91508190509392505050565b600063ffffffff82169050919050565b600061445a8261443f565b915063ffffffff82036144705761446f613c5c565b5b600182019050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006144d7602583613806565b91506144e28261447b565b604082019050919050565b60006020820190508181036000830152614506816144ca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614569602383613806565b91506145748261450d565b604082019050919050565b600060208201905081810360008301526145988161455c565b9050919050565b60006145aa82613915565b91506145b583613915565b92508282026145c381613915565b915082820484148315176145da576145d9613c5c565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061461b82613915565b915061462683613915565b925082614636576146356145e1565b5b828204905092915050565b600061464c82613915565b915061465783613915565b925082820390508181111561466f5761466e613c5c565b5b9291505056fea264697066735822122074ca5450c0bce011c77379f0a22822ace22a635a8e0dc5013da2687f226bbd8d64736f6c6343000816003300582103a6a58217fc19a2ae1218d838e53e1583ee2d268c8832dc8bdc7b5413d73caed0581d015af1d78b58c40000000000190000000201000000000000000000000000582002344ff84d0c66a448e3cfd9321e0b76f2cd814ba559de72a73f3b808497ff0b581d02e9bd4169e5693db800000000000000000300000000000000000000000058200283549745f63709dcd85383cdc1a6478046f4ce39e606a970aa9ddb21ffbc96581d0d0000000c0000000b0000000a00000009000000080000000700000006005820021d267ea1a86dfdb3c46b45b174495d9d2a0eb5937172d25a0ddb440647b775582075642f697066732f516d557946716653617848684765565a436b78416865525a0219842003dac1db79fe254333bbe0eecff64ed9491abaf64a257e0c4dd9221e4c916e8bb400582002a5ec654a96591bcbc840fd96faa3beee1a62f4f302948234699bd7dacefef0581d1d0000001c0000001b0000001a00000019000000180000001700000016005820020a7cab1ecb3fd251b52752bacc4175082090b836074f140b2a22755813517f510500000004000000030000000200000001005820028a9ffd58db029f2bac46056dbc53052839d91105f501f2db6ecb9566ee6832582069534c3236375953787a754e346f4d6e4731375a32522f0000000000000000000219a002033abb0baa4f03e56ea5859083ef2513106b083f17d248e8b03a9f42d1453dd92e005820024d6749a66c0401948c5e87df29799e5714f0d5939adbe1a7639e8dca4fb61f553635c9adc5dea000000000001e0000001f00000002005820021dba348c6538ad28f3cb66a03fae42f34c982ad95cea4325620323a22d4aef41010219400200582103f91e8b3dbea3fec16b14238c9f0519ea7aefea6527f80886a37a6ab035f50c60581d010000000200000000000000020000000400000001000000030000000103427150de0ab237dd6bb8633b619d8bcafa8a8e42a9cd864729e82a83dc296fd200582103a56145461ac26792ac14ff69aacae2fec7629ec9199d3548580c5e5429234210548140856d02963e0a9fc4786115b5c00ab8e4c5ab0058210369baa287ad7e8819d63c8414b7e97b8c1bf628b2a0c351f9389f7344b1c61b9054af14c620e5c60082365eebdcdb0674eba5a94d8f005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65820484f4e4742414f0000000000000000000000000000000000000000000000000e005820025f8633eaee2ec550e1d560ed9098e6af24db5aff45ff602bf398a628079206581d31abb7034e5b7ec248000000000000000003000000000000000000000000582002641e802ce54288b86443a142e8ba0a18498d8df529c634bef61f269d7faac654f2645b9d6ff623f6064b7fa07f8546276341c44e00582002f3c7e60f9cc15c4f4e746097127026b681181cad23453e084ab6a5aac27e1b581d09000000020000000800000002000000070000000200000006000000020219182200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b41af005820024230236251918225386e422f54b9b2fdb5ec9bb458b59c159fdcb4fe9201785518000000020000001700000002000000160000000202190204037dae3414853583b301e8548d2dd1b3861715f2b112c84b792717b77cbcff735e00582103a4ddb158bbd494c0a5a4f69b2a9601f021a260f94ef71878d1a6e650f8102000581d020000000100000001000000010000000000000001000000000000000000582002c5e950eb62d2cedd77ace9c4517a872a4468799467d490ad8c7e0f63102bd3581d0d000000020000000c000000020000000b000000020000000a0000000200582002fb467f2544b19c9b1a232e372d7ce257cfa2ccb85964bf9863ec54c9ee4792411e00582002cc4af04e338d3b46ae4a660e1886e25e1e64d166d85a225c1f3f300836b85b581d110000000200000010000000020000000f000000020000000e000000020218190219ff7f05581e030c2290bc8e9c4aab211e5def2a5579d49826c01a6d47ca6a6cdbdb95a007021946ab05581e03728b9af86de668bddf7aa7c0f724100001198a8b3f5c343a32acf39910040205581e03fe1ff6c773edd0bd2928fe5e57b3a93538995ecace926932632a9923200c0146cac2197ba60003af0d0be23aae3be955c9facca3b862ee51bae58cc60718061844169af5f80d6805581e0393acc1e9afdef72ef671d981bc6e95054aed9ac93a69279fd04c74e6f0040205581e03c34497a59a24c30c166ee314a876eacf791bb574b66e78efe3e01a22b004030332ffc6c4cf72d1425e971adf43448fba6382763bc516fabf1957568a5a7978ab05581e034f91d5e89ed5a5756365083528e89b7cbbc4649c39ca22526812010f20040103d7d408ebcd99b2b70be43e20253d6d92a8ea8fab29bd3be7f55b10032331fb4c03be90f5291762f855e8e062e7fab4947b0fa2aa8fad6349c847f8bf1441d2124c05581e0398f040e144166685e22ad9ea520699a85115975c9a34ba03bfd36ab9b007011bffffffffffffffff03ed245e387af828638f497155db8aed8126247677ded7137d0d8de34fcbfc711802199f5703376ad9a94e74acf7ed329ceac565834d660b948edf59a9896725ca21ddbe7a65034c86bd2a102f123ef5af4d3885b0abfba60f7b9c09d367d47b2b416e7772d572035ba1fcf68b11ea2a5e4de9a43c78dfb47456c51ca6d3310b74e1e7e25b4c285903ca46f32426b729d104c69d812fea6110f7beee3b70d323ee0ddeaff950479c0a0346ed17b7696e52abbf30b3a1f78ccac6f5088cbec416ff3de2c97b90f59aa565038d3eccf9e02513bc0e4dd1e8397fbc45a36ab12d6705bf4354dd4a07762885b6033fc13ecf1a3ccb087e2923777dd146a0f379626d8086d074dab756942e286ec4035eb8cfa514b356ee1efc3ac66043377a04d0da75154b20908908c5dbdf47ecf803dc97a18f61b5b89404645322d0295b92b18c8edeb20bb775ff61476d51277b810366dfdab995c69bdee057011d9730c21e29a17aeb6efa2c35bd0cf104d777d6cb03f2097a6d30592fc1c9c0030b9aa6b0c92fcce1050391bd17a330b4ef8124bb1203b18cc5b49b0a4d1e2e9f0631a166ac9567292f6d4638f50e1b9c31bd5fbbefc00219ffff0351edd9fdd56a2ec356dafba68fd45a7755002874790da0071475318b9d0b4b52030725533e80bd19621677599759dd1b155fe5c382b3f10e24a7f0dde8b9c02835038d42d8ea14e41adaa118a65d89957edbcf4b3cb30e609c038cd0456f9196095d033302254790c48afb3ee9bea4588a9c10e5e9505722490a9582a4f7f503eb731c03160401bb34edbf0ac4de789194fdfc42aa79c2a3d5a6f02fa1f2f8fe03f5e6fd0301287ad9a5c4a2f4e39fae345b41a55399c5ad7e555f5dac121b35b4c3acae27034238fcf089c50a9426af0ede9b0637ddcb0f43a9038c228853cc87724c1e79140219ffff0347996398c82165013941dd2a7b1143f6804204a97c65cee8e08d3cadfd75ea9a03f899e366e4b1662a96caa19c2a10fb62745cb4ec7395148382b5e53430a3d1af035c1c3c7499cf580898f1ccb5fbbdbca98d1c57386a1eb2d3c8138af43fb18697038f90625f78e9732d129ebee161a57f2cb37d5a2fa0872d340bc043357567b15803f720b203d207432a721e0b05951872eb61ca77402f10916a009abd0d403dcaed03157835c7daaa08b60e14ec5243e5fe9db0bc5b99971f21e3f5fea26521ebd6da035ac8ae807a50e23bf7ff6d5d9d7157aeef6eace985a010f951baaa162c4d3c11038c80271ceefd2175d81305049b90545d3fb57a28378afa59aaaffa37ffe9658c03da8b5abd0d10712ffaa54976f34789dd222bf8facabb6d96a0233f855602f1c10393375ac68e90ab175103881d5fab4cc5a4ceb25cae5484451ab38c2392248a090353857604d563ce3b580252162df101abdbf73927263aa750ab8d630b3e8038060219ffff03a00810821e0f84af3ae8af47255f7d4fae9e1712bea063912e61dfdedea962fa0345c8413eee299a6913d6deabd8207c5d9173a8ceac16fd3e7432a16fbc20ffca0360b20ea5dcaa7c39b284dfe8f2ce75d3b09df7846123f697dfad87325994d925037f12c17a3e8177d77428d42c3af06f22bcbf91a475fd33263b4911ab79f37bc9036c86c3150f2a63ae06a8e65d8e7648c379bf78d54da28aa62f4d9b09c8124d710307903f47f2ce1c9121ad19dc0f8aa5d6f5170aa84d0f579b4bef8fd5ab92a36b033a4141d923ca395383574a50a90838afebeaf34d01112e15972f7ad6dc5c49ea03f86f808e5684432bd621d76f18f9a6bbe193d6a78947a43bea12188b0ffdbdef0300aaebe2e3ded634a73e62c9e3ad2c39d79fc832181dc3763bff7cf9faf5b89b035aeb45bfc1047c8a64b5602ff6eade9325593d123ef82a62098d4f63a56c4e5a036f798c7cf7db2f8a87162fb729f2108131b9528990e4074008898e3504bdf97903cadf1c973312d1ee7d179a0c742ab17b26adc3f950e737072c531719b927b4ff0219ffff03f711569129b5dc189612ea1009a5a06ab91a25fa493f984126782e28138221dd0338c6f2956aba04d5aa109e10a4f0018e6c23db222467e615c50593a20231e4b803a95b843ead53e968cf13e6cf68e941954433c3530fba862a265380a4d4961763034aad2b846687e60ef6ba445238956de928e94306b0d006fe719234a080156373033eaf0f908aecdd30438f72d591400270ef64f1fd23ccd545b7a3f07938cb9a3e033db8efc8c221fe1f24bca291900adef5d9b32346261bfa1769eea16da75d28b0032640b075d2b6c362828fbf9559d61151e84d2e05dde525cba9cdc7f9aede24ba038983169ef75068d460a0d2d0ec86d0639b2c72e0c77e56b0d5fa4d63161decab03ab3ad083e63a3a4af637e0b2f300120071339a46a093fb2af292338e0fccedc003a87f12207f8030b45d1c78b17d2d9a449ee2cc54d1189794ac8797ebdce8a2b50337d5f260ca675994a7f39492b6a62c9ee685e2c7c2dee1f326657bed34d039e2032ad03a5db7b1aa15164a1044c75059f51d79f8b83b7a591e9a8e604e9257d6ff037b952ad125c30efeb0990ec3e9bc65ae6f0eb422490d45d5fc4092d36a967ded03ee5641774d1aa19c0945643c8e828c1063c658cb214e71bdb0d5336d65774d13032fc920942582fe8200b5228d4968f835799c5824659abb316bbb9ea91a066cc003609bfd3984a82f25c2f4faac561f101a4a46ba4b8500e1b5f280c5c2281abc55035fbb8896e284b6215e15e66d7e8ad6d54f4210a7deb2a8a8ac62be969cb017570321b42fc3e00d3c6a7829e0bf6b7016347ee78ec9d7369f7049d4f1d8251c06810303b303ec83ef8a1cbb53c3f9f74c73fbf62405b70a9149b01cb15ecf6a9045f1038509ff8dac14e41b233e39fc3c0736657e20183c42f7744891c06abd8f0652190372276fe284394b92af71a521c89d95949582153046e0be2717fe63d1b27bb8f903be0091b83cce2b6d8d0bc358025ca6a0e07f426205e662490786da5a95ec32cc03d93234ed3a82b09d3cbafa02562b56faa216e786701ebcc09cbdf959bd8a467403b54f1b4131fc4f441424069d2e0cca3321755b5ad1faea1eec21f277541f3ab2034a5d87d6c9ffe713516b77770d4073b02ad7f206f5c426ff93fc9690c54968e603c70a8010104e670988536f7e591355ee3bbb074cd33e5edef03c2c59fd353bdc039580312c4e71785e78736943d44242b373ecacb33ee03677dfeb1bc4fd63006903dee5e17a9d94b4adec65d4c445f8603acfbd99ad4aa9ae8eddfc86144abe979203c484df6afe59c7ea1d3377964d84f771355b1d3301472a1b97044d479f620fb005581e03bd37fd152ca264eb62ca42c9762fe745c21220c74b28a045255cf6d5b00c014709faa779c79000045955b760806040526004361061018f5760003560e01c80638803dbee116100d6578063c45a01551161007f578063e8e3370011610059578063e8e3370014610c71578063f305d71914610cfe578063fb3bdb4114610d51576101d5565b8063c45a015514610b25578063d06ca61f14610b3a578063ded9382a14610bf1576101d5565b8063af2979eb116100b0578063af2979eb146109c8578063b6f9de9514610a28578063baa2abde14610abb576101d5565b80638803dbee146108af578063ad5c464814610954578063ad615dec14610992576101d5565b80634a25d94a11610138578063791ac94711610112578063791ac947146107415780637ff36ab5146107e657806385f8c25914610879576101d5565b80634a25d94a146105775780635b0d59841461061c5780635c11d7951461069c576101d5565b80631f00ca74116101695780631f00ca74146103905780632195995c1461044757806338ed1739146104d2576101d5565b806302751cec146101da578063054d50d41461025357806318cbafe51461029b576101d5565b366101d5573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216146101d357fe5b005b600080fd5b3480156101e657600080fd5b5061023a600480360360c08110156101fd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a00135610de4565b6040805192835260208301919091528051918290030190f35b34801561025f57600080fd5b506102896004803603606081101561027657600080fd5b5080359060208101359060400135610f37565b60408051918252519081900360200190f35b3480156102a757600080fd5b50610340600480360360a08110156102be57600080fd5b8135916020810135918101906060810160408201356401000000008111156102e557600080fd5b8201836020820111156102f757600080fd5b8035906020019184602083028401116401000000008311171561031957600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610f4c565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561037c578181015183820152602001610364565b505050509050019250505060405180910390f35b34801561039c57600080fd5b50610340600480360360408110156103b357600080fd5b813591908101906040810160208201356401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611364945050505050565b34801561045357600080fd5b5061023a600480360361016081101561046b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff610100820135169061012081013590610140013561139a565b3480156104de57600080fd5b50610340600480360360a08110156104f557600080fd5b81359160208101359181019060608101604082013564010000000081111561051c57600080fd5b82018360208201111561052e57600080fd5b8035906020019184602083028401116401000000008311171561055057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356114d8565b34801561058357600080fd5b50610340600480360360a081101561059a57600080fd5b8135916020810135918101906060810160408201356401000000008111156105c157600080fd5b8201836020820111156105d357600080fd5b803590602001918460208302840111640100000000831117156105f557600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611669565b34801561062857600080fd5b50610289600480360361014081101561064057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356118ac565b3480156106a857600080fd5b506101d3600480360360a08110156106bf57600080fd5b8135916020810135918101906060810160408201356401000000008111156106e657600080fd5b8201836020820111156106f857600080fd5b8035906020019184602083028401116401000000008311171561071a57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356119fe565b34801561074d57600080fd5b506101d3600480360360a081101561076457600080fd5b81359160208101359181019060608101604082013564010000000081111561078b57600080fd5b82018360208201111561079d57600080fd5b803590602001918460208302840111640100000000831117156107bf57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d97565b610340600480360360808110156107fc57600080fd5b8135919081019060408101602082013564010000000081111561081e57600080fd5b82018360208201111561083057600080fd5b8035906020019184602083028401116401000000008311171561085257600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612105565b34801561088557600080fd5b506102896004803603606081101561089c57600080fd5b5080359060208101359060400135612525565b3480156108bb57600080fd5b50610340600480360360a08110156108d257600080fd5b8135916020810135918101906060810160408201356401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184602083028401116401000000008311171561092d57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612532565b34801561096057600080fd5b50610969612671565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561099e57600080fd5b50610289600480360360608110156109b557600080fd5b5080359060208101359060400135612695565b3480156109d457600080fd5b50610289600480360360c08110156109eb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356126a2565b6101d360048036036080811015610a3e57600080fd5b81359190810190604081016020820135640100000000811115610a6057600080fd5b820183602082011115610a7257600080fd5b80359060200191846020830284011164010000000083111715610a9457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612882565b348015610ac757600080fd5b5061023a600480360360e0811015610ade57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135612d65565b348015610b3157600080fd5b5061096961306f565b348015610b4657600080fd5b5061034060048036036040811015610b5d57600080fd5b81359190810190604081016020820135640100000000811115610b7f57600080fd5b820183602082011115610b9157600080fd5b80359060200191846020830284011164010000000083111715610bb357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613093945050505050565b348015610bfd57600080fd5b5061023a6004803603610140811015610c1557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356130c0565b348015610c7d57600080fd5b50610ce06004803603610100811015610c9557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e00135613218565b60408051938452602084019290925282820152519081900360600190f35b610ce0600480360360c0811015610d1457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356133a7565b61034060048036036080811015610d6757600080fd5b81359190810190604081016020820135640100000000811115610d8957600080fd5b820183602082011115610d9b57600080fd5b80359060200191846020830284011164010000000083111715610dbd57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356136d3565b6000808242811015610e5757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b610e86897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28a8a8a308a612d65565b9093509150610e96898685613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f0957600080fd5b505af1158015610f1d573d6000803e3d6000fd5b50505050610f2b8583613cff565b50965096945050505050565b6000610f44848484613e3c565b949350505050565b60608142811015610fbe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061102357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6111207f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b9150868260018451038151811061113357fe5b60200260200101511015611192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b611257868660008181106111a257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff163361123d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8a8a60008181106111f157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168b8b600181811061121b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166140c6565b8560008151811061124a57fe5b60200260200101516141b1565b61129682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614381915050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836001855103815181106112e257fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561132057600080fd5b505af1158015611334573d6000803e3d6000fd5b50505050611359848360018551038151811061134c57fe5b6020026020010151613cff565b509695505050505050565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484614608565b90505b92915050565b60008060006113ca7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8f8f6140c6565b90506000876113d9578c6113fb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505050506114be8f8f8f8f8f8f8f612d65565b809450819550505050509b509b9950505050505050505050565b6060814281101561154a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6115a87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106115bb57fe5b6020026020010151101561161a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b61162a868660008181106111a257fe5b61135982878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b606081428110156116db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061174057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b61183d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061184d57fe5b60200260200101511115611192576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b6000806118fa7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8d7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b9050600086611909578b61192b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c48101879052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b505050506119ed8d8d8d8d8d8d6126a2565b9d9c50505050505050505050505050565b8042811015611a6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b611afd85856000818110611a7e57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1633611af77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168a8a600181811061121b57fe5b8a6141b1565b600085857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611b2d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611bc657600080fd5b505afa158015611bda573d6000803e3d6000fd5b505050506040513d6020811015611bf057600080fd5b50516040805160208881028281018201909352888252929350611c32929091899189918291850190849080828437600092019190915250889250614796915050565b86611d368288887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611c6557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b505afa158015611d12573d6000803e3d6000fd5b505050506040513d6020811015611d2857600080fd5b50519063ffffffff614b2916565b1015611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b5050505050505050565b8042811015611e0757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21685857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611e6c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f0b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b611f1b85856000818110611a7e57fe5b611f59858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614796915050565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216916370a0823191602480820192602092909190829003018186803b158015611fe957600080fd5b505afa158015611ffd573d6000803e3d6000fd5b505050506040513d602081101561201357600080fd5b5051905086811015612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120e357600080fd5b505af11580156120f7573d6000803e3d6000fd5b50505050611d8d8482613cff565b6060814281101561217757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16868660008181106121bb57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461225a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6122b87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f34888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106122cb57fe5b6020026020010151101561232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061237357fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b1580156123a657600080fd5b505af11580156123ba573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61242c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b8460008151811061243957fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156124aa57600080fd5b505af11580156124be573d6000803e3d6000fd5b505050506040513d60208110156124d457600080fd5b50516124dc57fe5b61251b82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b5095945050505050565b6000610f44848484614b9b565b606081428110156125a457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6126027f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061261257fe5b6020026020010151111561161a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000610f44848484614cbf565b6000814281101561271457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b612743887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28989893089612d65565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519194506127ed92508a91879173ffffffffffffffffffffffffffffffffffffffff8416916370a0823191602480820192602092909190829003018186803b1580156127bc57600080fd5b505afa1580156127d0573d6000803e3d6000fd5b505050506040513d60208110156127e657600080fd5b5051613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561286057600080fd5b505af1158015612874573d6000803e3d6000fd5b505050506113598483613cff565b80428110156128f257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168585600081811061293657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b60003490507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612a4257600080fd5b505af1158015612a56573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612ac87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612b3257600080fd5b505af1158015612b46573d6000803e3d6000fd5b505050506040513d6020811015612b5c57600080fd5b5051612b6457fe5b600086867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612b9457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c2d57600080fd5b505afa158015612c41573d6000803e3d6000fd5b505050506040513d6020811015612c5757600080fd5b50516040805160208981028281018201909352898252929350612c999290918a918a918291850190849080828437600092019190915250899250614796915050565b87611d368289897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612ccc57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b6000808242811015612dd857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6000612e057f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c8c6140c6565b604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b158015612e8657600080fd5b505af1158015612e9a573d6000803e3d6000fd5b505050506040513d6020811015612eb057600080fd5b5050604080517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b158015612f2357600080fd5b505af1158015612f37573d6000803e3d6000fd5b505050506040513d6040811015612f4d57600080fd5b50805160209091015190925090506000612f678e8e614d9f565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614612fa4578183612fa7565b82825b90975095508a871015613005576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b8986101561305e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b505050505097509795505050505050565b7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484613f60565b60008060006131107f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b905060008761311f578c613141565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156131dd57600080fd5b505af11580156131f1573d6000803e3d6000fd5b505050506132038e8e8e8e8e8e610de4565b909f909e509c50505050505050505050505050565b6000806000834281101561328d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61329b8c8c8c8c8c8c614ef2565b909450925060006132cd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e8e6140c6565b90506132db8d3383886141b1565b6132e78c3383876141b1565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561336657600080fd5b505af115801561337a573d6000803e3d6000fd5b505050506040513d602081101561339057600080fd5b5051949d939c50939a509198505050505050505050565b6000806000834281101561341c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61344a8a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b348c8c614ef2565b9094509250600061349c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b90506134aa8b3383886141b1565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561351257600080fd5b505af1158015613526573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156135d257600080fd5b505af11580156135e6573d6000803e3d6000fd5b505050506040513d60208110156135fc57600080fd5b505161360457fe5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561368357600080fd5b505af1158015613697573d6000803e3d6000fd5b505050506040513d60208110156136ad57600080fd5b50519250348410156136c5576136c533853403613cff565b505096509650969350505050565b6060814281101561374557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168686600081811061378957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461382857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6138867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150348260008151811061389657fe5b602002602001015111156138f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061393e57fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561397157600080fd5b505af1158015613985573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6139f77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b84600081518110613a0457fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613a7557600080fd5b505af1158015613a89573d6000803e3d6000fd5b505050506040513d6020811015613a9f57600080fd5b5051613aa757fe5b613ae682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b81600081518110613af357fe5b602002602001015134111561251b5761251b3383600081518110613b1357fe5b60200260200101513403613cff565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310613bf857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613bbb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c5a576040519150601f19603f3d011682016040523d82523d6000602084013e613c5f565b606091505b5091509150818015613c8d575080511580613c8d5750808060200190516020811015613c8a57600080fd5b50515b613cf857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310613d7657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613d39565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613dd8576040519150601f19603f3d011682016040523d82523d6000602084013e613ddd565b606091505b5050905080613e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806154e56023913960400191505060405180910390fd5b505050565b6000808411613e96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615557602b913960400191505060405180910390fd5b600083118015613ea65750600082115b613efb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000613f0f856103e563ffffffff6151f316565b90506000613f23828563ffffffff6151f316565b90506000613f4983613f3d886103e863ffffffff6151f316565b9063ffffffff61527916565b9050808281613f5457fe5b04979650505050505050565b6060600282511015613fd357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff81118015613feb57600080fd5b50604051908082528060200260200182016040528015614015578160200160208202803683370190505b509050828160008151811061402657fe5b60200260200101818152505060005b60018351038110156140be576000806140788786858151811061405457fe5b602002602001015187866001018151811061406b57fe5b60200260200101516152eb565b9150915061409a84848151811061408b57fe5b60200260200101518383613e3c565b8484600101815181106140a957fe5b60209081029190910101525050600101614035565b509392505050565b60008060006140d58585614d9f565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061428f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101614252565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146142f1576040519150601f19603f3d011682016040523d82523d6000602084013e6142f6565b606091505b5091509150818015614324575080511580614324575080806020019051602081101561432157600080fd5b50515b614379576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806155336024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156146025760008084838151811061439f57fe5b60200260200101518584600101815181106143b657fe5b60200260200101519150915060006143ce8383614d9f565b50905060008785600101815181106143e257fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461442a5782600061442e565b6000835b91509150600060028a510388106144455788614486565b6144867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f878c8b6002018151811061447957fe5b60200260200101516140c6565b90506144b37f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f88886140c6565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156144fd576020820181803683370190505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614588578181015183820152602001614570565b50505050905090810190601f1680156145b55780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156145d757600080fd5b505af11580156145eb573d6000803e3d6000fd5b505060019099019850614384975050505050505050565b50505050565b606060028251101561467b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561469357600080fd5b506040519080825280602002602001820160405280156146bd578160200160208202803683370190505b50905082816001835103815181106146d157fe5b602090810291909101015281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b80156140be576000806147318786600186038151811061471d57fe5b602002602001015187868151811061406b57fe5b9150915061475384848151811061474457fe5b60200260200101518383614b9b565b84600185038151811061476257fe5b602090810291909101015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01614701565b60005b6001835103811015613e37576000808483815181106147b457fe5b60200260200101518584600101815181106147cb57fe5b60200260200101519150915060006147e38383614d9f565b50905060006148137f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f85856140c6565b90506000806000808473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561486157600080fd5b505afa158015614875573d6000803e3d6000fd5b505050506040513d606081101561488b57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905060008073ffffffffffffffffffffffffffffffffffffffff8a8116908916146148d55782846148d8565b83835b9150915061495d828b73ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b955061496a868383613e3c565b9450505050506000808573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146149ae578260006149b2565b6000835b91509150600060028c51038a106149c9578a6149fd565b6149fd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f898e8d6002018151811061447957fe5b60408051600080825260208201928390527f022c0d9f000000000000000000000000000000000000000000000000000000008352602482018781526044830187905273ffffffffffffffffffffffffffffffffffffffff8086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015614aad578181015183820152602001614a95565b50505050905090810190601f168015614ada5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015614afc57600080fd5b505af1158015614b10573d6000803e3d6000fd5b50506001909b019a506147999950505050505050505050565b8082038281111561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6000808411614bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806153d4602c913960400191505060405180910390fd5b600083118015614c055750600082115b614c5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000614c7e6103e8614c72868863ffffffff6151f316565b9063ffffffff6151f316565b90506000614c986103e5614c72868963ffffffff614b2916565b9050614cb56001828481614ca857fe5b049063ffffffff61527916565b9695505050505050565b6000808411614d19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154736025913960400191505060405180910390fd5b600083118015614d295750600082115b614d7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b82614d8f858463ffffffff6151f316565b81614d9657fe5b04949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614e27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154006025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610614e61578284614e64565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216614eeb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b604080517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015287811660248301529151600092839283927f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163e6a4390591604480820192602092909190829003018186803b158015614f9257600080fd5b505afa158015614fa6573d6000803e3d6000fd5b505050506040513d6020811015614fbc57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614156150a257604080517fc9c6539600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152898116602483015291517f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163c9c65396916044808201926020929091908290030181600087803b15801561507557600080fd5b505af1158015615089573d6000803e3d6000fd5b505050506040513d602081101561509f57600080fd5b50505b6000806150d07f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8b8b6152eb565b915091508160001480156150e2575080155b156150f2578793508692506151e6565b60006150ff898484614cbf565b905087811161516c5785811015615161576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b8894509250826151e4565b6000615179898486614cbf565b90508981111561518557fe5b878110156151de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b600081158061520e5750508082028282828161520b57fe5b04145b61139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b8082018281101561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b60008060006152fa8585614d9f565b50905060008061530b8888886140c6565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561535057600080fd5b505afa158015615364573d6000803e3d6000fd5b505050506040513d606081101561537a57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff878116908416146153c15780826153c4565b81815b9099909850965050505050505056fe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a26469706673582212206dd6e03c4b2c0a8e55214926227ae9e2d6f9fec2ce74a6446d615afa355c84f364736f6c634300060600330605581d02a7e8b8234a7992da2173c0d9eb404853fe85a65a0881149522e12b2a0f014758d15e176280001955b705581d024ace4a9cf9849185c4b4cd9d2d43e5360f36d915f743ac51fcc9c7f80c02450135f1b4000219042005581e03dc8fc5260164a847b23d38a881b05ec9e601d397d1188021168d7c0da00c024701923a550aa0c803fe15c6a27562a27ae904cb1b828dd828705d1507183fdaa98bcdd0bb1025ee5305581e03f23857a9fa3d0da9ae7310c160afcf49158a232640406bae60c29650500c01472296500eeb160005581e037f46e0bb2789267d0a30b8d43a6d3e2a2e289f0fcb20ea1bc8ee7216a00c024744d7c56d940be603da1a91bd88ab16e57730db064e35880953edf7a3e2f40ec22e887166b95f4b18032be8a5093959bbacdaa2d02b061939a3a07681b5a5351eef8de8b286f8df80ba0399cc8746fb4acef4aa25ad53d2d12e8af29520040e86729cf0fe867839a233a005581e031d2088553eaa5823aa330be942a76137ea4d7416fda40c5c72917239f00c0147028114c7f49fc0034277b3bbc296a60f66b308aceaf2f9ad4e766e1984e39f2bb1256df0c51448a70219cbde03821c17b99606f4ef0404c1e66f9b5847282857f6d43c1d1e2282e3e20358c1a203db467c50e815cada5a92eff2a2eacd9ea814c7a9ef7e9360b114df767836e0da03454a7715e43a8f5665f3175574c0f374cd68bdd08d8d39beda757efe065a1d01031b6cddd0884a393f6d5bcfee003d6dc52eca04e3674b628c1218c9df32da11c00319e2bf440d2b4f680aaafa688da47d7a6bb06838e97a74e1417448325e4dc2160353551a267211a18f437178d0c23472dbe9821cf53390b4846f5824c4479362ee03bd0a711bff7996b670c2882e6431d8feede57819c03c580eaa092d1a8f5351940380cbe31fb0e2a43ba18c77d189091732df11cdeae4b9271100d3c69cdaf18eb40219ffff03b903cc550db702ad3a61ba3345dc7be08f65f036ca37eb75de4257af49f2a5b50310081833d47de439dc5ca64722ddbe5b89d19154c69209fc433bc3f9be784edf0219ffff03c301f7e0f176c7195b7002206d5d56acc1ea7e68616ea68c65345dfe325cda8a0398d864f93383e440938855e216914a7657f791096683dc5e1a95247526b21b7c030aa0afd682a694188ba1e959debc39df4164c06fb62c972b1efc58a37e5e34f30355696aeaa907d644a62566418115cff57fdbe7ea48ac28e27f4869a444b1dbe7036175a74384427131cd1f76af4f6acbaf7394eaf522902cc13990da252fce6c8c0309968c0b60d1a2dbc7fb50a199f6b0429722075e6b0899f82013e64c4990cf780367ea5b99fc8b8a0bc5441573d9f1e554e9ca7c73adbd4a0da858b344f296e887039bb8ef7a73bff7718ddfeec785fb40a054c0f139e1b4c27f9e005be644e7ae2503bb48e7ccccf38660763a13aee09fb1204a1d92f7eb889acd039aa2c639980e49031fb5d4a610ebf39ac6601faa07b0a46ff0f7eb5745730eb932c5c989eac5f6e003d1411b2200827453b7ecda10c407e4c2c75923be1eff4b5e2228c1a86027edbd0219ffff03ff7b8481f2fc26c985cb40f8104e8c78b5d86e7f230147abe486dcd938bd0b3c032b87626412ac48ac54a981e4c6a0c72d754e05e5640e5f5dabadb0d79c690c7c0355a5287bb3867eaa0911d53c3eab8e214d4639e29426b63643d9078f3d63c303033a2d574776878fd8a7d3cedf642e87014609a5b883014ad3281350b0fc35a7f0031ce00435ddea7b49c34df3d8cfc6161dddc7efa0928344638114c4a7488593c0037502225ce8e92b8d440908f6a2f38acfe64a5084145b122b7722a49c48029d9c0350bac67bcf422fe9e889006f6686dc8ea70363676cb4b20a252e2844a8f140e3037ed5d576dff9c30836d58757abc7a90bf348f659f3c9a297d9a9347793b0a15603876c628006c6655d5ea099e1d2e571fece1533f840ac74a42cd66769f13c04a0036cd14796eb0eb046c984bbc29f41977d545a25b0dbc81b4cea15f5712802924103cd0a723158f8462b4dc248934b3d8e4cee1f8d7e4bcd2a9862e13c3d2c1c1d4605581e03db0275e2110794053a6f22c4b67fe95943ec4abbab065b12a036e92af0040e05581e032957d4baa82b20aded2e7daea253bed35a30edfc4b167bd28bed6396b00c014701de4c20ad328805581e032285a19424765864cf23095ade996399ee247ba6114738d13c02ba81900c0346102f38a75e0005581e03df7aac71d0a38f2175a603f8b75578a4b9c3c92c3e48573a4ee934dfa0040105581e0320d04fed2a64388fe498e262a1ec89170f7696c70952b3b7d15d3e13500c1903cb472c2fec4c9d30ca05581e034b774867dfcbc54889d5ab4faba604ec4102c8424edbe693beef08c2e004030348b8c8656695e9968bb1841f7cc97b43fe43e053614b6407398dc6fd85e4889c0219ce0e0324d351acea9f7cf44cc4cd74556dbee8c8e95673163e793553d2227d23f3e9af032589f5a0ebdb4acab4447ba6bf09da323f9dbb15f33eaf8c2f04ed597c2cbdef038b064d88ecfef63a8523e0b714d3e141a2561741082835d0f36828328e0b435b0333506656bfa2e559896e136e2a1ce1a7b76b1b596acc4b7808313cfea4d2f84d03964c610b9de49308ddd458e1d071d3f4d4d2b2fab3f88287f35f93c7b25a1dfd0359f89c07fbdb6e37d2bf80cd1fbfa63f802f0ed8614fd3958b332ad90486a7fd0219ffff03702e1573a7552361640bae7e6581a97afe35cc4a5a3dbb4f76c7df6dbf9577a603ae86c8c999d8dc29520c1e4199f006d9905f7b9f403233cd0eb7bbd766809c290397e332aa3a477afb16a55e7b9bceccb2f09e4cd205dcc271f2b3744e1ed1d196036830505ebbac85b3dee22389d8a72bcf4891d1aadaf5347aa1bb55172d1ff3ee03c9f47178be18b85fa97c8b9c8c8f09db8a587a66abe7bba92195afbdb9d1947103f7c0ca1d208ce5ce28a4cdb39b195167786223b9904155384803bd080a2d9c5a03384be9b71f5d82f45231c0fe04af2224533a529f4d429b33b65565aa952428e203130b75135757b7d610c188993c7577691cf039f71e3aab8a4a1ab8296dc6bdac035fac2eceabb10af9844092808604d324924f18e328d827c40c7ff12b606a956c034ef21c1a06f2eefa03713e57100d2c02645b69e6b01616e37206a796cc60adeb039aec5906346ff842308b666cfcab72e3cfd0ac62c8858e23f516e3c7f8ec13d603833b4b0fca909cc191b0a1c28b7834ec671099f90e2c4f598ade8d4fc091a54103808255cb5c7cc70fae9427d3de1b55a2515fa3fb69eb69e1d5d48171804e7f01030028c7b240f6d1c9e3de837fea886b6a560b71dec3413f63f4658e21af81e9c40325b1bffd3fa3b6f29208be167971a462197da7130d8fd40c8f24352c5a359beb0219ffff0332faff280d08551a559ed03122b019f0cf3ce83d87cd484eade1d1bffd2ec1ac033b5d423353d237192a9c177f9f5480fa0f81e3a4a66348e528558fc6cc61eb5203a2901095aac59a67d3556b9508720daefcf766cf88142cc379b1243704d7470f03ea68030e9c4c8a2028fcea61c4eb564355a2ecfae28cbff339bae01ff536918803b066ddef6e8233549658168fe920891183712263ccc137f2095e61736bd1095803ee63d8cd162462dd311e4d33e0e563b4ceff0953550d4dd51f8a096530844f08031b1648c48e2dd08b0a280c98051f4b7fe51d84ef83b06288e8d1404437c3fb86033ba4cbfec3d47d80da869ff9e998e5bef28f25275852a562074af0eb75eafa2403ae7d408e28725c1212d951e5c71a6c5e44704b84a3e534b80c12c2d9afcf1a6303ce997d5240d816c022d9c33ecfaf4b75d376bde8920659a45891bcf5b1ad5d4d037f57702d437c3073a4f976c1138684455ab19b9d6b33eae48ee879f5955749a103bb4acc887bf716c060c3ee76c2037b0895a8d8a6a3d37ff8e9e0024c5bb59d7c034161299d7e113453659554fa6df9e7902833f21c7f464b9d0bda965e1bd636cb03a5804618c28c3469ff1b1b9c75ab44bb9ce4350cf04d5c550d3b43dda12760690219ffff033dfa49a7cc5e38455ed4373bede8377d45884d4ac7783ced157580dabc64b7da03c0236b1fc7a93263dd99fe4962250d0284ecdca59b3c7696a106d858f4ff96860303603cf0c5d577021890b5efa4ed8aabe65d8a3e2fc3d5f4f3115410752a51ad03d22aa7f8c8733f1ae64d532a392e428ec226b4f64af67a11b1770b4c79f6868d03f652ab84f78b66bbdc5213c0b26c1927eec4e2a9a4afb826c6a3583939d54f60031c87b80b34a6c0e8f900e049e4db3bd1cd96420f73bad878a56ca5b84ac428930302f498771c6a802e4c8dc8fa677c9e3d0ac6417b60e78d99fd24e2020956679703a76cd2d3be3fd1e7c6cf0af11622cbd402bc34007f8ce6e2d47501b2bff5d79b032852172ae17a8a7422db251762a7fdc542d2c025e7c7bee1f8df1efaadfab4f3030216361be5b7b6296bcedb338a6fc088e1050bf7242b2ef87fe5bbd994669ccb03229e53f7c64486c24d8d5d67bc5567448eac7326d16445d56ec91fdd82545cb5039d5d4eb9c2896ef4cde8ed320a77836a61b81c062730632406b04bc887487c5b0398cac2323dc349200efe189cba676ec2a48ed94a795ba5d6bcda9919abb42e64031b8fac91f14e4f203b653264574146cba4209c0e302740502e5aab7ebc453d20035b57f1b6f220f611357cd61f03ab321b5a88919fd3a6d01e8989fb83841603b903a551e440778e94b2488a22e0cf4a201846a13309507bfd83cd3cd1683ebf3a27030abf4a4afb797e2d08de472b16206ecad03753fce8f7931b8f40d001acf72fa903c088d2616fe69ea6496c3e0d15dc8d422e8e4285d8d750c994b079f57d311b7503a538fb2bb7e29e391f4144621e7da5f26bf6c0b5bc3ccced1d9a557d2f914e66031b40d115622674af9c263a40dc43ff0d010c01997d1faa4473fc760a54493f40031b0c70a914b580233a8954aa9600cb822d7248931a67e6d2b98a8f357d68c9d5033c68596e0b49dd67ce6b5ac10258667f694687d703637efaf3cf8ee529619a4b03d4dc3828ed5f2f9e4c696e78abefca2461d3024b277c5f2bf38ad783b362b7a103aa709e9d1ff66e1b2a877ae3f0901a836890366b2bad75912e9041f294c876b10323ac2706bfd67e21f31ed78f2c5922f5244b900b5f7cde8e5f64e85df5f51f2203cd4fa4da150331355f3cb1ba86b256befacb1c7aaeaff70a704668d0894a6cb10320b254de6c2de83c0b90eeafb161663d5a1f033e01f27c5f1d5d704256abb2ef0392dc5df1b9fc0d5606781e22d05ef9ed47fde45fd134f74e3c2623ce089626c105581e03986e3452fad5efd8e9a275357150b8e2b326cb09af2cfc098e189849e007011bffffffffffffffff03c111c161e34271ac43f7e7778c551c426fc98c666d7a91a0a829b7b06c6fb39505581d0260ce6cad4cb21af3aa11b78b3fdecb6526fa026cf3933dd9b38513d60c024702766d2bde52a003186b1b272962d4620476834f0474e1a67180547c7104d2f05f7a84efaaf402870605581d020f88595ebb76de39a7649e531da69f92be9cc71fd4914e3839054c6107011bffffffffffffffff045929d060806040526004361061016b5760003560e01c806367ef3ab8116100cc578063babcc5391161007a578063babcc53914610385578063c474d2c5146103b5578063e3de72a5146103d5578063e6bd12cf146103f5578063e78cea9214610408578063ee35f32714610435578063efeadb6d1461045557600080fd5b806367ef3ab8146102ca5780636e6e8a6a146102dd57806370665f14146102f05780638456cb59146103105780638a631aa614610325578063a66b327d14610345578063b75436bb1461036557600080fd5b80633f4ba83a116101295780633f4ba83a1461022d578063439370b114610244578063485cc9551461024c5780635075788b1461026c5780635c975abb1461028c5780635e916758146102a4578063679b6ded146102b757600080fd5b8062f72382146101705780630f4d14e9146101a35780631b871c8d146101b65780631cb763d2146101c95780631fe927cf146101dc57806322bd5c1c146101fc575b600080fd5b34801561017c57600080fd5b5061019061018b366004612090565b610475565b6040519081526020015b60405180910390f35b6101906101b136600461210c565b6105b6565b6101906101c4366004612125565b61063a565b6101906101d7366004612125565b6106cd565b3480156101e857600080fd5b506101906101f73660046121c9565b610982565b34801561020857600080fd5b5060665461021d90600160a01b900460ff1681565b604051901515815260200161019a565b34801561023957600080fd5b50610242610ac6565b005b610190610c06565b34801561025857600080fd5b5061024261026736600461220a565b610cdb565b34801561027857600080fd5b50610190610287366004612090565b610e24565b34801561029857600080fd5b5060335460ff1661021d565b6101906102b2366004612243565b610eef565b6101906102c5366004612125565b610fc2565b6101906102d83660046122ac565b6110af565b6101906102eb366004612125565b611185565b3480156102fc57600080fd5b5061019061030b36600461231e565b6112e6565b34801561031c57600080fd5b5061024261141f565b34801561033157600080fd5b5061019061034036600461236b565b61155c565b34801561035157600080fd5b506101906103603660046123bf565b611625565b34801561037157600080fd5b506101906103803660046121c9565b61165d565b34801561039157600080fd5b5061021d6103a03660046123e1565b60676020526000908152604090205460ff1681565b3480156103c157600080fd5b506102426103d03660046123e1565b611739565b3480156103e157600080fd5b506102426103f03660046124e9565b6117df565b6101906104033660046122ac565b611a5f565b34801561041457600080fd5b50606554610428906001600160a01b031681565b60405161019a91906125aa565b34801561044157600080fd5b50606654610428906001600160a01b031681565b34801561046157600080fd5b506102426104703660046125be565b611b77565b600061048360335460ff1690565b156104a95760405162461bcd60e51b81526004016104a0906125d9565b60405180910390fd5b606654600160a01b900460ff1680156104d257503260009081526067602052604090205460ff16155b156104f25732604051630f51ed7160e41b81526004016104a091906125aa565b6104fa611d56565b61051757604051635180dd8360e11b815260040160405180910390fd5b3332146105375760405163feb3d07160e01b815260040160405180910390fd5b6001600160401b0388111561055f5760405163107c527b60e01b815260040160405180910390fd5b6105aa600361056d33611d7d565b60008b8b8b8b6001600160a01b03168b8b8b604051602001610596989796959493929190612603565b604051602081830303815290604052611d8c565b98975050505050505050565b60006105c460335460ff1690565b156105e15760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff16801561060a57503260009081526067602052604090205460ff16155b1561062a5732604051630f51ed7160e41b81526004016104a091906125aa565b610632610c06565b90505b919050565b600061064860335460ff1690565b156106655760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff16801561068e57503260009081526067602052604090205460ff16155b156106ae5732604051630f51ed7160e41b81526004016104a091906125aa565b6106bf8a8a8a8a8a8a8a8a8a611185565b9a9950505050505050505050565b60006106db60335460ff1690565b156106f85760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff16801561072157503260009081526067602052604090205460ff16155b156107415732604051630f51ed7160e41b81526004016104a091906125aa565b33731a9c8182c09f50c8318d769245bea52c32be35bc1461079e5760405162461bcd60e51b81526020600482015260176024820152764e4f545f554e49535741505f4c315f54494d454c4f434b60481b60448201526064016104a0565b6001600160a01b038a16731f98431c8ad98523631ae4a59f267346ea31f984146108065760405162461bcd60e51b81526020600482015260196024820152784e4f545f544f5f554e49535741505f4c325f464143544f525960381b60448201526064016104a0565b610810848661265f565b61081a8a8a61267e565b610824919061267e565b34101561086c57610835848661265f565b61083f8a8a61267e565b610849919061267e565b604051631c102d6360e21b815260048101919091523460248201526044016104a0565b61087587611e18565b156108895761111161111160901b01870196505b61089286611e18565b156108a65761111161111160901b01860195505b84600114806108b55750836001145b156108e957338a8a348b8b8b8b8b8b8b6040516307c266e360e01b81526004016104a09b9a99989796959493929190612696565b60006108f58348611625565b90508089101561092257604051637d6f91c560e11b815260048101829052602481018a90526044016104a0565b610973600961093033611d7d565b8d6001600160a01b03168d348e8e6001600160a01b03168e6001600160a01b03168e8e8e8e90508f8f6040516020016105969b9a9998979695949392919061271f565b9b9a5050505050505050505050565b600061099060335460ff1690565b156109ad5760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff1680156109d657503260009081526067602052604090205460ff16155b156109f65732604051630f51ed7160e41b81526004016104a091906125aa565b6109fe611d56565b15610a1c5760405163c6ea680360e01b815260040160405180910390fd5b333214610a3c5760405163feb3d07160e01b815260040160405180910390fd5b6201cccc821115610a6c57604051634634691b60e01b8152600481018390526201cccc60248201526044016104a0565b6000610a916003338686604051610a84929190612779565b6040518091039020611e27565b60405190915081907fab532385be8f1005a4b6ba8fa20a2245facb346134ac739fe9a5198dc1580b9c90600090a29392505050565b6065546040805163cb23bcb560e01b815290516000926001600160a01b03169163cb23bcb5916004808301926020929190829003018186803b158015610b0b57600080fd5b505afa158015610b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b439190612789565b9050336001600160a01b03821614610bfb576000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9057600080fd5b505afa158015610ba4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc89190612789565b9050336001600160a01b03821614610bf957338282604051630739600760e01b81526004016104a0939291906127a6565b505b610c03611ed9565b50565b6000610c1460335460ff1690565b15610c315760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff168015610c5a57503260009081526067602052604090205460ff16155b15610c7a5732604051630f51ed7160e41b81526004016104a091906125aa565b33610c8481611e18565b80610c8f5750323314155b15610ca257503361111161111160901b01015b6040516bffffffffffffffffffffffff19606083901b166020820152346034820152610cd590600c903390605401610596565b91505090565b600054610100900460ff16610cf65760005460ff1615610cfe565b610cfe611f66565b610d615760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104a0565b600054610100900460ff16158015610d83576000805461ffff19166101011790555b306001600160a01b037f0000000000000000000000005aed5f8a1e3607476f1f81c3d8fe126deb0afe94161415610dcc5760405162461bcd60e51b81526004016104a0906127c9565b606580546001600160a01b038086166001600160a01b031990921691909117909155606680546001600160a81b031916918416919091179055610e0d611f77565b8015610e1f576000805461ff00191690555b505050565b6000610e3260335460ff1690565b15610e4f5760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff168015610e7857503260009081526067602052604090205460ff16155b15610e985732604051630f51ed7160e41b81526004016104a091906125aa565b6001600160401b03881115610ec05760405163107c527b60e01b815260040160405180910390fd5b6105aa60033360008b8b8b8b6001600160a01b03168b8b8b604051602001610596989796959493929190612603565b6000610efd60335460ff1690565b15610f1a5760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff168015610f4357503260009081526067602052604090205460ff16155b15610f635732604051630f51ed7160e41b81526004016104a091906125aa565b6001600160401b03861115610f8b5760405163107c527b60e01b815260040160405180910390fd5b610fb860073360018989896001600160a01b0316348a8a6040516020016105969796959493929190612815565b9695505050505050565b6000610fd060335460ff1690565b15610fed5760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff16801561101657503260009081526067602052604090205460ff16155b156110365732604051630f51ed7160e41b81526004016104a091906125aa565b611040848661265f565b61104a8a8a61267e565b611054919061267e565b34101561106557610835848661265f565b61106e87611e18565b156110825761111161111160901b01870196505b61108b86611e18565b156106ae5761111161111160901b01860195506106bf8a8a8a8a8a8a8a8a8a611185565b60006110bd60335460ff1690565b156110da5760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff16801561110357503260009081526067602052604090205460ff16155b156111235732604051630f51ed7160e41b81526004016104a091906125aa565b6001600160401b0387111561114b5760405163107c527b60e01b815260040160405180910390fd5b61117a60073360008a8a8a8a6001600160a01b0316348b8b604051602001610596989796959493929190612603565b979650505050505050565b600061119360335460ff1690565b156111b05760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff1680156111d957503260009081526067602052604090205460ff16155b156111f95732604051630f51ed7160e41b81526004016104a091906125aa565b84600114806112085750836001145b1561123c57338a8a348b8b8b8b8b8b8b6040516307c266e360e01b81526004016104a09b9a99989796959493929190612696565b6001600160401b038511156112645760405163107c527b60e01b815260040160405180910390fd5b60006112708348611625565b90508089101561129d57604051637d6f91c560e11b815260048101829052602481018a90526044016104a0565b6109736009338d6001600160a01b03168d348e8e6001600160a01b03168e6001600160a01b03168e8e8e8e90508f8f6040516020016105969b9a9998979695949392919061271f565b60006112f460335460ff1690565b156113115760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff16801561133a57503260009081526067602052604090205460ff16155b1561135a5732604051630f51ed7160e41b81526004016104a091906125aa565b611362611d56565b61137f57604051635180dd8360e11b815260040160405180910390fd5b33321461139f5760405163feb3d07160e01b815260040160405180910390fd5b6001600160401b038611156113c75760405163107c527b60e01b815260040160405180910390fd5b610fb860036113d533611d7d565b604080516325e1606360e01b60208201526001600160a01b0387168183015281518082038301815260608201909252610596916000918c918c918c916064918d9190608001612880565b6065546040805163cb23bcb560e01b815290516000926001600160a01b03169163cb23bcb5916004808301926020929190829003018186803b15801561146457600080fd5b505afa158015611478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061149c9190612789565b9050336001600160a01b03821614611554576000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156114e957600080fd5b505afa1580156114fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115219190612789565b9050336001600160a01b0382161461155257338282604051630739600760e01b81526004016104a0939291906127a6565b505b610c03611fa8565b600061156a60335460ff1690565b156115875760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff1680156115b057503260009081526067602052604090205460ff16155b156115d05732604051630f51ed7160e41b81526004016104a091906125aa565b6001600160401b038711156115f85760405163107c527b60e01b815260040160405180910390fd5b61117a60033360018a8a8a6001600160a01b03168a8a8a6040516020016105969796959493929190612815565b600081156116335781611635565b485b61164084600661265f565b61164c9061057861267e565b611656919061265f565b9392505050565b600061166b60335460ff1690565b156116885760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff1680156116b157503260009081526067602052604090205460ff16155b156116d15732604051630f51ed7160e41b81526004016104a091906125aa565b6116d9611d56565b156116f75760405163c6ea680360e01b815260040160405180910390fd5b61165660033385858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d8c92505050565b306001600160a01b037f0000000000000000000000005aed5f8a1e3607476f1f81c3d8fe126deb0afe941614156117825760405162461bcd60e51b81526004016104a0906127c9565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038054336001600160a01b03821614610e1f57604051631194af8760e11b81523360048201526001600160a01b03821660248201526044016104a0565b6065546040805163cb23bcb560e01b815290516000926001600160a01b03169163cb23bcb5916004808301926020929190829003018186803b15801561182457600080fd5b505afa158015611838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185c9190612789565b9050336001600160a01b03821614611914576000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118a957600080fd5b505afa1580156118bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e19190612789565b9050336001600160a01b0382161461191257338282604051630739600760e01b81526004016104a0939291906127a6565b505b81518351146119555760405162461bcd60e51b815260206004820152600d60248201526c1253959053125117d253941555609a1b60448201526064016104a0565b60005b8351811015611a5957828181518110611973576119736128d2565b602002602001015160676000868481518110611991576119916128d2565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508381815181106119e2576119e26128d2565b60200260200101516001600160a01b03167fd9739f45a01ce092c5cdb3d68f63d63d21676b1c6c0b4f9cbc6be4cf5449595a848381518110611a2657611a266128d2565b6020026020010151604051611a3f911515815260200190565b60405180910390a280611a51816128e8565b915050611958565b50505050565b6000611a6d60335460ff1690565b15611a8a5760405162461bcd60e51b81526004016104a0906125d9565b606654600160a01b900460ff168015611ab357503260009081526067602052604090205460ff16155b15611ad35732604051630f51ed7160e41b81526004016104a091906125aa565b611adb611d56565b611af857604051635180dd8360e11b815260040160405180910390fd5b333214611b185760405163feb3d07160e01b815260040160405180910390fd5b6001600160401b03871115611b405760405163107c527b60e01b815260040160405180910390fd5b61117a6007611b4e33611d7d565b60008a8a8a8a6001600160a01b0316348b8b604051602001610596989796959493929190612603565b6065546040805163cb23bcb560e01b815290516000926001600160a01b03169163cb23bcb5916004808301926020929190829003018186803b158015611bbc57600080fd5b505afa158015611bd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf49190612789565b9050336001600160a01b03821614611cac576000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c4157600080fd5b505afa158015611c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c799190612789565b9050336001600160a01b03821614611caa57338282604051630739600760e01b81526004016104a0939291906127a6565b505b606660149054906101000a900460ff1615158215151415611cfd5760405162461bcd60e51b815260206004820152600b60248201526a1053149150511657d4d15560aa1b60448201526064016104a0565b60668054831515600160a01b0260ff60a01b199091161790556040517f16435b45f7482047f839a6a19d291442627200f52cad2803c595150d0d440eb390611d4a90841515815260200190565b60405180910390a15050565b7f000000000000000000000000000000000000000000000000000000000000000146141590565b61111061111160901b01190190565b60006201cccc82511115611dc2578151604051634634691b60e01b815260048101919091526201cccc60248201526044016104a0565b6000611dd685858580519060200120611e27565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b84604051611e089190612903565b60405180910390a2949350505050565b6001600160a01b03163b151590565b6065546000906001600160a01b0316638db5993b348661111161111160901b0187016040516001600160e01b031960e086901b16815260ff90921660048301526001600160a01b03166024820152604481018690526064016020604051808303818588803b158015611e9857600080fd5b505af1158015611eac573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ed19190612936565b949350505050565b60335460ff16611f225760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016104a0565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051611f5c91906125aa565b60405180910390a1565b6000611f7130611e18565b15905090565b600054610100900460ff16611f9e5760405162461bcd60e51b81526004016104a09061294f565b611fa6612000565b565b60335460ff1615611fcb5760405162461bcd60e51b81526004016104a0906125d9565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611f4f3390565b600054610100900460ff166120275760405162461bcd60e51b81526004016104a09061294f565b6033805460ff19169055565b6001600160a01b0381168114610c0357600080fd5b60008083601f84011261205a57600080fd5b5081356001600160401b0381111561207157600080fd5b60208301915083602082850101111561208957600080fd5b9250929050565b600080600080600080600060c0888a0312156120ab57600080fd5b87359650602088013595506040880135945060608801356120cb81612033565b93506080880135925060a08801356001600160401b038111156120ed57600080fd5b6120f98a828b01612048565b989b979a50959850939692959293505050565b60006020828403121561211e57600080fd5b5035919050565b60008060008060008060008060006101008a8c03121561214457600080fd5b893561214f81612033565b985060208a0135975060408a0135965060608a013561216d81612033565b955060808a013561217d81612033565b945060a08a0135935060c08a0135925060e08a01356001600160401b038111156121a657600080fd5b6121b28c828d01612048565b915080935050809150509295985092959850929598565b600080602083850312156121dc57600080fd5b82356001600160401b038111156121f257600080fd5b6121fe85828601612048565b90969095509350505050565b6000806040838503121561221d57600080fd5b823561222881612033565b9150602083013561223881612033565b809150509250929050565b60008060008060006080868803121561225b57600080fd5b8535945060208601359350604086013561227481612033565b925060608601356001600160401b0381111561228f57600080fd5b61229b88828901612048565b969995985093965092949392505050565b60008060008060008060a087890312156122c557600080fd5b86359550602087013594506040870135935060608701356122e581612033565b925060808701356001600160401b0381111561230057600080fd5b61230c89828a01612048565b979a9699509497509295939492505050565b600080600080600060a0868803121561233657600080fd5b85359450602086013593506040860135925060608601359150608086013561235d81612033565b809150509295509295909350565b60008060008060008060a0878903121561238457600080fd5b8635955060208701359450604087013561239d81612033565b93506060870135925060808701356001600160401b0381111561230057600080fd5b600080604083850312156123d257600080fd5b50508035926020909101359150565b6000602082840312156123f357600080fd5b813561165681612033565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561243c5761243c6123fe565b604052919050565b60006001600160401b0382111561245d5761245d6123fe565b5060051b60200190565b8035801515811461063557600080fd5b600082601f83011261248857600080fd5b8135602061249d61249883612444565b612414565b82815260059290921b840181019181810190868411156124bc57600080fd5b8286015b848110156124de576124d181612467565b83529183019183016124c0565b509695505050505050565b600080604083850312156124fc57600080fd5b82356001600160401b038082111561251357600080fd5b818501915085601f83011261252757600080fd5b8135602061253761249883612444565b82815260059290921b8401810191818101908984111561255657600080fd5b948201945b8386101561257d57853561256e81612033565b8252948201949082019061255b565b9650508601359250508082111561259357600080fd5b506125a085828601612477565b9150509250929050565b6001600160a01b0391909116815260200190565b6000602082840312156125d057600080fd5b61165682612467565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60ff60f81b8960f81b168152876001820152866021820152856041820152846061820152836081820152818360a18301376000910160a101908152979650505050505050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561267957612679612649565b500290565b6000821982111561269157612691612649565b500190565b6001600160a01b038c811682528b81166020830152604082018b9052606082018a90526080820189905287811660a0830152861660c082015260e0810185905261010081018490526101406101208201819052810182905260006101608385828501376000838501820152601f909301601f19169091019091019b9a5050505050505050505050565b8b81528a60208201528960408201528860608201528760808201528660a08201528560c08201528460e08201528361010082015260006101208385828501376000929093019092019081529b9a5050505050505050505050565b8183823760009101908152919050565b60006020828403121561279b57600080fd5b815161165681612033565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b60ff60f81b8860f81b16815286600182015285602182015284604182015283606182015281836081830137600091016081019081529695505050505050565b60005b8381101561286f578181015183820152602001612857565b83811115611a595750506000910152565b60ff60f81b8860f81b168152866001820152856021820152846041820152836061820152826081820152600082516128bf8160a1850160208701612854565b9190910160a10198975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006000198214156128fc576128fc612649565b5060010190565b6020815260008251806020840152612922816040850160208701612854565b601f01601f19169190910160400192915050565b60006020828403121561294857600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212208ca6a1600bbc2b39ce529a65192a4554e4eb5e051b4bef02555617ea40195e3764736f6c634300080900330605581d02f115db1c4d3e14b328ad944c0dbba1d20a1c4217cd30ba6e5115aca907011929d00219424003fd9d776550785d424ace52ee5661139367a4ce7dabafdb04596cb51ddda7acd105581e0324c8ab0c2e9b12c629d6ad18aa1d87ddfbe9a5b56c9bca77237b690eb00c0346a4947d3a6cc003de4cadd1f6fb6f1944357b8731234aec63af19e5a18411c937a3eb43cf0d8f84039701a850a15c87e4714c5b7cd25dcf5a5386a83e3b7afe3c97715d4b09917d5c02193b1403b6ca4a282f21d8956b715506c61affc317a92d059150753fe88ecea3f6b657ab03b22804028baa34616743e0e820a205d270c67c44da5a0c8b7a3f4bc7acb497a903476c3211a52f6c12bd2c585e3dfea4d88241c24a1897037f18ae39f28d9b798303d4864486f6f5b73ebc32ea5615ed68c8a69f7d132c919b254a6ec87aa270959b03bb78047c8f068574baefb13e68b0a9bc66b944a91c1c3481f68c4435395474aa0395c14704504ab3e3ebda04ea33417651128d67ab75d60c6b56b05acf93fa35df0394c6f41f6586bd384c8a8286224cd06eccd4aea68c9274d5693bd07847f13e2e0335b77ea6ed492fe57162b956560b41024761939ee63c8e3c873c7a5e278f64130219ffff03e7a27863c576ea7228c19facf66bb5976920275a64d6285da29cf54e03cba60b03df8caeab7688c12c21a0e500ebe11bb290ad0282560b1b62b5890c07a37fc46e0219ffff03c70e4da6ed896bf10cbc5341f7a957a92d374a3d14651c3786efcc32371fcd23032df9fae5b904a94300337015a6600e43c874d27a2013999d806c976f78cf3f9403b6c108d299c33fbdcfe85b785e66e9e3f072cc26ba31f5eb5d008f502b4dd230038c9a1c1afe6a267a4a3482206da28fc859f45209d2a4f1c1d0e1dce9637a421a0399252d8d3b6c6a3301aa23646f10a055d4affb7e79bd36f2bf0cc9a73634b344038ea05720fae481f2406df89b8c22ae3d158625e1750b0ea21c3c7821bb5836bf03ffdf0348e7fc52563da9d6c08b3aae29a0120bf8604470cabfd42dcda92046a70305c70dc83f65512129dfb847c298371d9ff0c9cf1b99ffa816a02a9e26869726039d87a5d8c89e710c93b3d08b51bd79fb8d594f47739127490b8c94f911a01c330219ffff032f463fcb9196854a16088c924b51d7d987c5470adcab15a54b6cd54dd46fd44103e39f8527107fb457ab37b2b995f6bb14f3957e68d2000febaa254053f927f723033476d8d4959df026a252cb366547c0b9f63727e9dfbe74df4711a7e74dcd2baa0383e58b037dd200b6ecf9a97af26fd6438c872dd853f42a570d29e8a6f8efadaf03afd7275633d37ddd98fa5b1c6358b3f37c5acd5eea17d0c8e1a1f951292d517a03758cb8607d74dff414be1120abe05a5e79afc8553f1b11d0757674a1b58a44b503ddde895b05ff2395ebeb3b86bd5a182305fb09591d1f0b6437111b32e11fed5c030b4ac0c99896b998131d8a083abeeccc38d69e2b37dda293c225e4c637357def03153a4614f5bbbdf2dccd7909af87a35897a49a391e7e927a302ce4b8d1012ac80305e0c702c926ef87dd0f764bacee63b9894af5081be5ce960547acb3c7cd268503238c46de06ba24a884743fb58f5fa531f9be936ed746af995c41feee9d9bc659033a4769f0f493c08619262d55c6215b89274b6e538c176ff5c46123fc29e3ba88030f8d0177e59cec389eb6bd9e0b4c52e64fab0c1bde661c4c23a9bd7ae5a9ac9803de0835fe93f942b96fc4a0d08f02eb3925f09562490c1afcbdc02d4452ecce0f0340ec7b26b1c367a65e6ca59d3f9186b6cf5ca408356f414a48e8805700169c650304d6c28ded3ff4ae68173a05de3936a6fa90a3ccf50c0f8ab8e58d111ac4eccb0336df624bf0b400d7d5a7470c782dacb3036d32c0ada1d709ca7f0eaac5ab493703e94ce84b853bf10c4922fd10eca4957046c37b2c0b628395b69fc655028953b803125e41d49b9e28198a05403274f476be1465dac73d2cadc155e37bcdb73e4fb90364cd49def85620bbb71950a35b3a6ca96c066bfe1858fa2721c87855a538ecbc039361a7dc29456601eff7046fcaaa167d73fe10456f8e75408a280a80cec035c403622e0d2d594d6fe5aa1eec4a503fa014d9751cfa9c48dbc18522f99fec2e51e90339c6fdeae6576eb6d423098052089ecdd5b6e205158de151385b22e0e88b4ad60392d27a9e0b2821e6d84c0d961bea5f2bca4f5358e8d6cbc18083d2c44ab0a7d4031316add4c8f00b542e102dceaa3cbd4afef23da01b4421ac7dbe5b6135a023c40344602f5240e0c8474de4fa3ca5a4d339b687eed72178d5f1255f8274e69eab9905581e03fe027257581fdf024cbe2953be960fdbb84843b5dd0c3887b4c41b21a0040205581e039a0b03e53d2b531dbccd0b3d1f17f097c2204dea9a40931fe2986826b00c01470736b6417667ae033e98bd8a2185a013cb231ba841427a40511b5b63a1ded8520eda1b4e3187160f05581e03f62a5e9ed1e37cc2f31713fe9be80210fe021743ae8b4457fa89dae4900c1906fc4805929d0099400ceb05581e03d305a5788f5b78e45de83b8b8f0517e1946e3aefa5617fd6e70cf866b00c034704747c64a1815e03fde53d1373e2bc3106b0dd889ebfb7b6f4ee18bff1fdc48306e5116c167697fc05581e03c5befe1097de80f1b86c492c7508a1f408ae731c00f1de493f8579f64004030219396803854b37cea66867daacc849c06638a5e34489ac0b4ae15e78afa3c8d724d7453803baee147750e4f4c45e85de8b5c103d49ede4cb6eb07bddae475613491f94436103493b7e2547abd3712b61ff7754603ea73670c38a858ecc729c2103510dc14ef603ffb1f125718a92945e473f81621954cbbf637c673e1b763febb3a101689e53a90310cec6864b5d9a57a7e4ff571ac26a558df0aa1a394bc40f2d3def480dc6b58b03baac7fb3695332ed721e9f3ad213d9fdbf956f57042cd1cbe4f7d87cdb394b1e0219ffff0325cce2fbaf9ac276a06cbd9b1f8673d7b25769749a9e0869487c659e894cdad6034cfe8aafe669bd7b64d687448e097b2e159803d2c9fe7a97ff246127771875a20375bfa42216178dc18b8c7b7265845f2eb74a4c20beeadcd9f2118e9cb2cbd39103e81f326d66fb462ed66ef005d9ac9c1c3209bc40ec9b39eb4652207276759b9b035fbb4ea1e6912e4f936b59578c2551ef9206669dfe4f03654f011b178c513133031da20f80ea994aa8b8706f2fba4bb4f52da22b263e7acfda509282541bca7ffb0388af905af7c9a840e87f9eb599cc31a4ebc244a6d74d07220b19ee13d52eeeb60380ea6d26b986ac2f7ab2fd1e032bfc330856c8a6abebb45ea54883dfa6779ca90394db69789f75fa47ead82a13d94d2bfde55dd7c415a60c542e5fec6a5c4705da03cc9200089e6ac9ffa3a25c61570a411f66323292ea43ab06ad283dd04f285ffd0352aef9d8c50d2c0825d65b69734da71c18ab13012ce76adaa503b1a5e766db6a031c12def8e09a5e2418c4a48a86de3f2fee859d83c044a27487039dc67f45050a03e4330765b80a88c965b5ae5d185e55fdf83e76d4cd1331b37a1c3fed0bf4858f0219ffff03c3fb4848c4e53278a1673943cfdf78f7a3cb2f9d6c304265e6e7db22885f56970219ffff03a65942582c4aa1316a818a4f7ee700db90c2b92d4b101ea99c78847e59807e3203dcc6668ffa14eb5695e20e44f474f74c9fee8684b49905dbb121403881c28fdd03f603ac49e530f415744febbe7260d8447e39d3619d965328b3e707004fd2a3bf03c5c39da34c8d8cf2c48e49e9173a27e742ef3a6b6a3130ef3c00fc260311866a0303bf70ef08efd816b89e334e99060d66302e836ebdb122f2c80585c7efe4cd8203dae4f6257c9870f274c2266fc3378b1335876eaf8c33d10a25a77918ba5e454b0219ffff0316c0b0577839da07b37600ae7373efba2706f8912ec3a509afc87067507f65e903a012d4f05acbe210609627c79f8509f1bbdd06162efc1f1a4c01b4b273f32f2003726aa8d696829a127badfa0501c11fa096c8c6a077bfd604e056b10c7fea7fd10348d6bb0d88a1b5c3f4bddcb2ac850c52ac6d54c852af8b66f422b917e57b60e1033ef74472df6e7fd43252635c32d1d8b359c16eda7247883247784e9c9578127f033eecddce3a03e7a829bf3ddae846b35d805f1d89aa57122874c6bd08e2992a6a03547e5bef7744a0278f3f7f7b35a25a4126fecc397893318e18c35c5da02dfe1703e89b6cc11ba2844b7c1d6ebc66e27a5263d1655c066d0c26cfd24ee153066685038f6090a0e2a5d6af77fb5c852c571436da63811f50b0ca6d873950337a88f37d03468a65c68f937c7078f3e115ea3b3c541c86826b6328d194b4740fb6b448342c03b775ec699680ccf4c79ec89066c1eb26b4a01403ab71ae28bc930d656ba4f61f0395c17cd15365b35367de93e6364f7df9eddbc8d0689c928e8260474a943fea1003c82f96052b1aa872a0bf1b85f73cbacd5cc1aa3eb7fb7717d913ce0c9c7472f00392eb13607a8ff12f13bc8cc10ee61b0c11bf34895ba109bb24de260f1c47e7ce03314707e06962544caa077e5e3bee8477dc132d2d30a91db38db1b73a0f13382c0396ceb2d919f95a9b92af19356a528cdef253c33a10e563663d245d395356f149030ba764af32d6c227060f067173150d879fc032734724058235fbea5a0d82d27f0321d04dbf415bc733ebfd0d8f29800d921625fb40dddbb359894df5b3cd39aa2003acef44151a0ef707846358c7da5d479e1d37a90dfd88aaa619e1b1118a5bbf13037bfe3cc70b4793c932fdb813a657c84a147d0ee47d8d91b3e23cfc60e0010f0c033e0514702ba63bfadcbe7610db6cba4196ad5e14d81c4ebaaddb0f5019e06d62031cd4286046f56108e38b720c765f7cec104938d2723bb2db0409c15fa2c55a0003c021e914a6f41b089f53da46dd2dd613b1bd20161f82345e2558ba36adde61c90358c3c90c5951e0b69b7e31111509807bbef48b52ad9f5608c0dc124b6d45a7a503b600e2c585b17218dc7d4d458b2c12a8a9ba85a7d3fdb4e5970b2b34a1d9c2f20342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e03d6e9c41647ad85e56f8678c70dada0cf10dabe5ea7eacd9883935c693007011bffffffffffffffff05581e0343e664873426d004dc61b97bc3ae09240fd32b3e1f55df4fc328ff2a40040103fb6cebacf8f3746b785314cafbe416ad9d82a1cf05ce5a5b6a301c50f3d1255405581e037a5e060d7c42a14c8dc08e6272f30ca586464e5d6e4fe3b9169c7732f00c0247068b9c1e50450004591f41608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f9578063b4b5ea5711610097578063dd62ed3e11610071578063dd62ed3e14610366578063e7a324dc14610379578063ed2a2d6414610381578063f1127ed814610394576101a9565b8063b4b5ea5714610338578063c3cda5201461034b578063d7b96d4e1461035e576101a9565b80637ecebe00116100d35780637ecebe00146103025780638da5cb5b1461031557806395d89b411461031d578063a9059cbb14610325576101a9565b806370a08231146102c7578063782d6fe1146102da57806379ba5097146102fa576101a9565b806323b872dd1161016657806353a47bb71161014057806353a47bb71461026c578063587cde1e146102815780635c19a95c146102945780636fcfff45146102a7576101a9565b806323b872dd14610231578063313ce5671461024457806340c10f1914610259576101a9565b806306fdde03146101ae578063095ea7b3146101cc5780631627540c146101ec578063171060ec1461020157806318160ddd1461021457806320606b7014610229575b600080fd5b6101b66103b5565b6040516101c391906119b2565b60405180910390f35b6101df6101da366004611701565b6103e0565b6040516101c39190611938565b6101ff6101fa366004611672565b61049f565b005b6101ff61020f366004611672565b610531565b61021c610592565b6040516101c39190611943565b61021c610598565b6101df61023f3660046116c1565b6105af565b61024c6106f6565b6040516101c39190611cdb565b6101ff610267366004611701565b6106fb565b6102746108ab565b6040516101c3919061190a565b61027461028f366004611672565b6108ba565b6101ff6102a2366004611672565b6108d5565b6102ba6102b5366004611672565b6108e2565b6040516101c39190611cab565b61021c6102d5366004611672565b6108fa565b6102ed6102e8366004611701565b61091e565b6040516101c39190611ce9565b6101ff610b2c565b61021c610310366004611672565b610bba565b610274610bcc565b6101b6610bdb565b6101df610333366004611701565b610bfb565b6102ed610346366004611672565b610c37565b6101ff61035936600461172b565b610ca8565b610274610e99565b61021c61037436600461168d565b610ea8565b61021c610edc565b61021c61038f366004611672565b610ee8565b6103a76103a236600461178a565b610f03565b6040516101c3929190611cbc565b6040518060400160405280600f81526020016e53696e67756c61726974792044616f60881b81525081565b6000806000198314156103f6575060001961041b565b61041883604051806060016040528060258152602001611de460259139610f38565b90505b3360008181526004602090815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b03861617905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061048b908590611ce9565b60405180910390a360019150505b92915050565b6104a7610f67565b6001600160a01b03166104b8610bcc565b6001600160a01b0316146104e75760405162461bcd60e51b81526004016104de90611b20565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b610539610f67565b6001600160a01b031661054a610bcc565b6001600160a01b0316146105705760405162461bcd60e51b81526004016104de90611b20565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60025481565b6040516105a490611860565b604051809103902081565b6001600160a01b03831660009081526004602090815260408083203380855290835281842054825160608101909352602580845291936001600160601b039091169285926106079288929190611de490830139610f38565b9050866001600160a01b0316836001600160a01b03161415801561063457506001600160601b0382811614155b156106de57600061065e83836040518060600160405280603d8152602001611e56603d9139610f6b565b6001600160a01b038981166000818152600460209081526040808320948a16808452949091529081902080546001600160601b0319166001600160601b0386161790555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106d4908590611ce9565b60405180910390a3505b6106e9878783610faa565b5060019695505050505050565b601281565b610703610f67565b6001600160a01b0316610714610bcc565b6001600160a01b03161461073a5760405162461bcd60e51b81526004016104de90611b20565b6001600160a01b0382166107605760405162461bcd60e51b81526004016104de90611bb2565b600061078482604051806060016040528060228152602001611ec360229139610f38565b90506107bc61079e600254836001600160601b03166111e7565b604051806060016040528060278152602001611ee560279139610f38565b6001600160601b039081166002556001600160a01b03841660009081526005602090815260409182902054825160608101909352602580845261080f9491909116928592909190611e319083013961120c565b6001600160a01b03841660008181526005602052604080822080546001600160601b0319166001600160601b03959095169490941790935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610879908590611ce9565b60405180910390a36001600160a01b038084166000908152600660205260408120546108a6921683611248565b505050565b6001546001600160a01b031681565b6006602052600090815260409020546001600160a01b031681565b6108df33826113da565b50565b60086020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600560205260409020546001600160601b031690565b600043821061093f5760405162461bcd60e51b81526004016104de90611a93565b6001600160a01b03831660009081526008602052604090205463ffffffff168061096d576000915050610499565b6001600160a01b038416600090815260076020908152604080832063ffffffff6000198601811685529252909120541683106109e9576001600160a01b03841660009081526007602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b03169050610499565b6001600160a01b038416600090815260076020908152604080832083805290915290205463ffffffff16831015610a24576000915050610499565b600060001982015b8163ffffffff168163ffffffff161115610ae757600282820363ffffffff16048103610a56611644565b506001600160a01b038716600090815260076020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915290871415610ac2576020015194506104999350505050565b805163ffffffff16871115610ad957819350610ae0565b6001820392505b5050610a2c565b506001600160a01b038516600090815260076020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b6001546001600160a01b03163314610b565760405162461bcd60e51b81526004016104de906119c5565b600154600080546040516001600160a01b0393841693909116917fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60096020526000908152604090205481565b6000546001600160a01b031690565b604051806040016040528060048152602001635344414f60e01b81525081565b600080610c2083604051806060016040528060268152602001611dbe60269139610f38565b9050610c2d338583610faa565b5060019392505050565b6001600160a01b03811660009081526008602052604081205463ffffffff1680610c62576000610ca1565b6001600160a01b0383166000908152600760209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03165b9392505050565b6000604051610cb690611860565b60408051918290038220828201909152600f82526e53696e67756c61726974792044616f60881b6020909201919091527f7c9d3f21e68ea39f1cc093a5190b31effd6eb2d11fdda1da452d0ff7f90320d0610d0f611464565b30604051602001610d239493929190611970565b6040516020818303038152906040528051906020012090506000604051610d49906118bb565b604051908190038120610d64918a908a908a9060200161194c565b60405160208183030381529060405280519060200120905060008282604051602001610d91929190611845565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610dce9493929190611994565b6020604051602081039080840390855afa158015610df0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610e235760405162461bcd60e51b81526004016104de90611ada565b6001600160a01b03811660009081526009602052604090208054600181019091558914610e625760405162461bcd60e51b81526004016104de90611a1a565b87421115610e825760405162461bcd60e51b81526004016104de90611c65565b610e8c818b6113da565b505050505b505050505050565b6003546001600160a01b031681565b6001600160a01b0391821660009081526004602090815260408083209390941682529190915220546001600160601b031690565b6040516105a4906118bb565b6001600160a01b031660009081526009602052604090205490565b600760209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b600081600160601b8410610f5f5760405162461bcd60e51b81526004016104de91906119b2565b509192915050565b3390565b6000836001600160601b0316836001600160601b031611158290610fa25760405162461bcd60e51b81526004016104de91906119b2565b505050900390565b6001600160a01b038316610fd05760405162461bcd60e51b81526004016104de90611c08565b6001600160a01b038216610ff65760405162461bcd60e51b81526004016104de90611b55565b6003546001600160a01b03161561108d5760035460405163aa61a9dd60e01b81526001600160a01b039091169063aa61a9dd90611039908690869060040161191e565b6040805180830381600087803b15801561105257600080fd5b505af1158015611066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061108a91908101906117c9565b50505b6001600160a01b0383166000908152600560209081526040918290205482516060810190935260368084526110d8936001600160601b039092169285929190611d2d90830139610f6b565b6001600160a01b03848116600090815260056020908152604080832080546001600160601b0319166001600160601b039687161790559286168252908290205482516060810190935260308084526111409491909116928592909190611e939083013961120c565b6001600160a01b038381166000818152600560205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ad908590611ce9565b60405180910390a36001600160a01b038084166000908152600660205260408082205485841683529120546108a692918216911683611248565b600082820183811015610ca15760405162461bcd60e51b81526004016104de90611a5c565b6000838301826001600160601b03808716908316101561123f5760405162461bcd60e51b81526004016104de91906119b2565b50949350505050565b816001600160a01b0316836001600160a01b03161415801561127357506000816001600160601b0316115b156108a6576001600160a01b0383161561132b576001600160a01b03831660009081526008602052604081205463ffffffff1690816112b35760006112f2565b6001600160a01b0385166000908152600760209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b905060006113198285604051806060016040528060288152602001611e0960289139610f6b565b905061132786848484611468565b5050505b6001600160a01b038216156108a6576001600160a01b03821660009081526008602052604081205463ffffffff1690816113665760006113a5565b6001600160a01b0384166000908152600760209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b905060006113cc8285604051806060016040528060278152602001611d976027913961120c565b9050610e9185848484611468565b6001600160a01b03808316600081815260066020818152604080842080546005845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a461145e828483611248565b50505050565b4690565b600061148c43604051806060016040528060348152602001611d636034913961161d565b905060008463ffffffff161180156114d557506001600160a01b038516600090815260076020908152604080832063ffffffff6000198901811685529252909120548282169116145b15611534576001600160a01b0385166000908152600760209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b038516021790556115d3565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600783528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600890935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405161160e929190611cfd565b60405180910390a25050505050565b600081600160201b8410610f5f5760405162461bcd60e51b81526004016104de91906119b2565b604080518082019091526000808252602082015290565b80356001600160a01b038116811461049957600080fd5b600060208284031215611683578081fd5b610ca1838361165b565b6000806040838503121561169f578081fd5b6116a9848461165b565b91506116b8846020850161165b565b90509250929050565b6000806000606084860312156116d5578081fd5b83356116e081611d17565b925060208401356116f081611d17565b929592945050506040919091013590565b60008060408385031215611713578182fd5b61171d848461165b565b946020939093013593505050565b60008060008060008060c08789031215611743578182fd5b61174d888861165b565b95506020870135945060408701359350606087013560ff81168114611770578283fd5b9598949750929560808101359460a0909101359350915050565b6000806040838503121561179c578182fd5b6117a6848461165b565b9150602083013563ffffffff811681146117be578182fd5b809150509250929050565b600080604083850312156117db578182fd5b825180151581146117ea578283fd5b6020939093015192949293505050565b60008151808452815b8181101561181f57602081850181015186830182015201611803565b818111156118305782602083870101525b50601f01601f19169290920160200192915050565b61190160f01b81526002810192909252602282015260420190565b7f454950373132446f6d61696e28737472696e67206e616d652c75696e7432353681527f20636861696e49642c6164647265737320766572696679696e67436f6e74726160208201526263742960e81b604082015260430190565b7f44656c65676174696f6e28616464726573732064656c6567617465652c75696e81527f74323536206e6f6e63652c75696e7432353620657870697279290000000000006020820152603a0190565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b90815260200190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b938452602084019290925260408301526001600160a01b0316606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b600060208252610ca160208301846117fa565b60208082526035908201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560408201527402063616e20616363657074206f776e65727368697605c1b606082015260800190565b60208082526022908201527f7364616f3a3a64656c656761746542795369673a20696e76616c6964206e6f6e604082015261636560f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526027908201527f7364616f3a3a6765745072696f72566f7465733a206e6f742079657420646574604082015266195c9b5a5b995960ca1b606082015260800190565b60208082526026908201527f7364616f3a3a64656c656761746542795369673a20696e76616c6964207369676040820152656e617475726560d01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252603a908201527f7364616f3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260408201527f616e7366657220746f20746865207a65726f2061646472657373000000000000606082015260800190565b60208082526036908201527f5364616f3a3a5f7472616e73666572546f6b656e733a2063616e6e6f74206d696040820152756e7420746f20746865207a65726f206164647265737360501b606082015260800190565b6020808252603c908201527f7364616f3a3a5f7472616e73666572546f6b656e733a2063616e6e6f7420747260408201527f616e736665722066726f6d20746865207a65726f206164647265737300000000606082015260800190565b60208082526026908201527f7364616f3a3a64656c656761746542795369673a207369676e617475726520656040820152651e1c1a5c995960d21b606082015260800190565b63ffffffff91909116815260200190565b63ffffffff9290921682526001600160601b0316602082015260400190565b60ff91909116815260200190565b6001600160601b0391909116815260200190565b6001600160601b0392831681529116602082015260400190565b6001600160a01b03811681146108df57600080fdfe7364616f3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e63657364616f3a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d626572206578636565647320333220626974737364616f3a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f77735344414f3a3a7472616e736665723a20616d6f756e74206578636565647320393620626974735344414f3a3a617070726f76653a20616d6f756e74206578636565647320393620626974737364616f3a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f77735364616f3a3a6d696e743a207472616e7366657220616d6f756e74206f766572666c6f77735344414f3a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e63657364616f3a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f77735364616f3a3a6d696e743a20616d6f756e74206578636565647320393620626974735364616f3a3a6d696e743a20746f74616c537570706c7920657863656564732039362062697473a2646970667358221220fe2de58331df68a98f816db8b68c25a6f23fa220f10cd3daa8ff76fb1defbb5864736f6c63430006020033031abcc34311357bcfb2eac08bbc4583fdcf7ee6aebcf609408c1e2c057c34c2ff037f9154580765b4e3dc669dd56407efb8df1a29aab22f304b16428dff9697387a03c3b937c20bd06d107e176ba8997906d8efb2a227f8e49e91ea9dae5b628d7985030a42c6a8beeb7780dd9ac7a7139486bf2b14ec1a74cf42c975122bb2d4487fb203adf2dd445ed58dc8c2ba4ceaea75cda8c031c4fb029608c497f9e548ab8f07c70350fc5dc0a376bb9bf85fc31f9682356cd5a30a6abb2ae7adc917bb941e04e406035c12b5a2a1bab26293fb36241d19cae6c327aca78de1604a41ecf9611d3128a603d3e9d2627722a032722f5a9cb9ff0f750cac7b3dbea737d931440b7f05d3399a0355679dd6e107bd112a76f8e317f8a37df4627c81348ee0b7550db62d619599a500581f028bd5fe5a5e2fbab8ee2eaa473898d389cccb173efbd2ce0bd7a0882d8e71480a241a4ae6cbcb5200581f02587bc45fa9cf6c5f1eab6bd86b9135a1e853136b7b1e39e2242f5947555f49025761b42b691f000000581f029b2c0fe64e2941fe43b2b7325c3016ce89b9b6611ca604914336cd88a72c4a021e1ffbfb65e76c00000337b5c19284307153e1dd1ec429b73ff3a9aad40333374049e691a23bae07953d00581f02be91000ebe7f18135d1cd2fbe026703e5e4edb989a968d0cf846eba83c404cffffffffffffffffffffffff03ac6b12e1f87ea7039f5eaa87dd29ad486a42efdd49055d3a92d274bf95c9f97c0219a4c8038750ca88a2acff391f35e0c55868b341bbedddf9ece9818b5e7e2a98a932ba87031f3653aed41e5c3f0159608ac61d391003527a79cfa3e489b6142087ef95dae60317306aadceee353f6ab8e03ed166c577199b9eb1a15fe1954469e74baf27821203a1d9af10c2cf3cc32bed5fa341b503072978d84fe299c3278db7345e1eb8fa3303e2dc588ca29b5018bd3c5b305a73a8eb23dde2f5a5019cf56d187fd7fb5c21a3033b60ab01e8a8188bb3fff391bdff8e72d7637c036a23050a77b43400ed92b19203ecd43bd966e8d2bfd24f8a58a2f916a4bfae3d606fe54a661b996252666d7b240355ab9facf66552ffbd0381910bb3707908ac65c5d018b612c6d2d5ef28ece36703c6156f83a2c19d80b5fc63192af8bab66cad411988f771ad9756bb535c24aae003dcc5a54dbab882b2a6999643bff165d3c4f3670cda52f8d48704d633788e3e8b03ec21938f4d73bd8962f21ff597f26e5f69be2151b3290170b644d426db367c6003f48e63f32db0f503c180e3860a3ecad791cd6812464c9323e7a2cd039fd304660394d514397d8a08e5c4edb588c3d14e70253ae01cb8d74a1426ad063593fbba6003d6d176514f1ad0657d03d19577fabf6afdf89d4928996a86516e45bdb8a349380381780d8e37fb78c98eb1f0d647dec558d2fa5887b166b9f65dda34cc4a33f3c20219ffff037e9a21096ea424fee0728c3974fe5facbc242f9f4406c103d2ae7ca4979f6937031145e2ccbaf50ce82e7243dfd80e53ae8eec7361fe9a9e23b5568cb6d7c0b31a032c79c4a9ec6a59e0730f93b5b44a019d471d820454e9cf931ead01f9585c3b1f037a773521c31afd671d10ac9a80a194facc3cc36c940e9cb414af396266d34be4035a7c6c75804c6bff080dc8612153e949a3c1d3b8fe4102f2655a036fc53b635503d970226613e2a344a22c619c47440a81a1a129a06af7bb57b099e10f0bbc03450341ad24b4afc140831b927673d8c60f1d472252687b16e0f4870f760dcb90c762031dd208addaa5a05e787646c3722ac3134bc32a58c9e172e4cf9fcda2a70d493803bbea642a15daf488f4dd1b4a76ac0ca6d8f1336c15f40f132f3c763724d1f67300581f02bbf9c24c9f162df12a19d68545ab32292ddb6b31368b15b9c21e509d5f944b4a7ff8d3282ab9413fe6bd00581f026beb78fa27f2707aae5649c1c2b71720017ae6d11009611c18598aa2437f480bcd2f47ecc78b1c00581f0288269473f2063a18d0f0eba2af5fa382608a450b3c72b25e19fe2724a2484cffffffffffffffffffffffff00581f02b4e071d13b277aba32b85b469f3d53d20fa96d226fa0165106fd8bf9e0654cffffffffffffffffffffffff00581f02bbd9353f8ab5b18ebb15528d6768a8ce757e32c7b89d67c164406affd959410500581f028d1ac5cd6f983dc8388d5323aa382ec981708336bb4b1e481081d15ee8af4adbd4fe90af9d4fccefdf03b18fc840ce4f6d7cd5e7810b31320e0295d1920bbee10dd3afd7a335ec93e1bb0219726a0368d3113787a2e8ef7b0b50ac3e1e55f3a073e9b19b95880ac20490b7a2eaa36e03c142638ed186e5a56b225fd7270f6580e23c9c6145845f029f5544e487c7b66d0304780d82e17c9f38c8d88015eae9b83e4ac674f73e21b504715d023dbc0a4db103f2eca7da02fc0944057e46b167d8ac20e87cc17635fff83c4cfe231e4bff843803e1ca7c452f2dd0e7bb1c322cda3901f8f14da819dcff9d4a4e5fa7977062fb7b03bfc84058ce796c38baeec114097057ea9e971a33ba459347f7dbcbb46daad31e034a3652f73c15704294b2ac0f89f5c66b632b0861ff7b9d495301fb4ddcaf8558033834324dde127bd907560cdc620ae876ec77f751b06604f2e2bc7e97f61fa13e039da1fdfae02981841b266ab8ebf19de18ca5143eec000e6ce27faf9a99be1c7803b4fd436529aeb26aa413be4d478269d986e9420371dfb5dc10335fd0b50f7e1b030d231e45cb3094b6c11315fc071544e5f72015c222fd08e5c42c9731d3d6b1e303fa146f85693979c99f407f6ae92168028b353f19601dd14534602bd96a6066f30325b1ec28b355f3720131b2cb388d62d1af91cd52b2cf18460cfa695fda2a4173033ca8fc1f0003131ee62389d20f0290337fa242a39b907f6d2d09eba7256d9f0103dbaa1428744ce53920dd0e7bbf44ee67245ab05c25b36199a6ce2379ee984a540219ffff0219ffff03996a72854ad6fa8ccbd9fecdd28634fb6f473f1b1792890b81376ed040cbd9f303291ea8f0c17c4d560ace99140d5131d439cfa02ad1610440dbbd9af7727411270349cf5437dc31feb6ca6ca22fec5920075dd4cadbc23afbb230895a473f7883220334d989b836a7eead2de6137860ac9c082c66b399bf280ef2e75cb695e9ef016f03c5071884c77dc9b4bbfc0c15de5118c1acf2ea164a1320e87cd035aecccd75f503dafe920c07eab7371a9d37192b2694f3bb6c190088dd553388baadbda7f1a207038113764f3532481cd444cd523e4482163885ca05a05da3e20b4eaf775da1bbb10344824b130fd73e8de7ec85fd3f55c9b0770bc01006dab73cb3d0c0567bbb4093039ab9324b8d523368682d1cdd73ce9907dba463fbeb555f77e7336ff38efd674e03175e5fc04c9bff7dfdb5c35eeaaf771b90f4cf183903731cc56db319003233950300fd04b674c53b48cc54ed566fced6c11a027b0fd406a2c0c6766b38002e01c303246766a033a67cf2596420e0cfa06d8f3c0f41ad232e6a819226cf6310c11822039bbee122e7319ec496d99af4f675f513e28551ed11b3d3da582ada70ec010f06033f42f42d58d22791524fa4874992ce37230d9d0e376632d9353de4a8750f0b3d03210d8b2cb27d4b65121eb475097493f420a9647cb5360e4880b99adbdcbca0ed03bcf77343e61264d92c56d34dfd05a8619ee0b40d3cafe124ed61a89932c5127600581f023cf4e1f18ce9dcc17bcd38fa827aaf5c0164da443b23307de5d4b0e6043d4a04242007e2f14f89ff030372bd0b4973f828c34560fee3b05e1618ac48eccfe83a3c9bf1c5a2fa50f47bd403ae222856329d1895faf19753f113c12b7da0a500fe90133abb3c47ee663ec03000581f03923496c47cfef36d73e9ef5012c625b8cb6b5ad41c9a918113ea7e9f1cf0491914b9ce32b3e8000000581f0348f1038dc403a9cedf314dd564a0d0c06199d106350dbaad1668830a8730493638325a6c92333aba00581f0330b693259343e0cf1da143ef11865fe8789552f394bf9ae6158913dcd3704cffffffffffffffffffffffff0219090200581f022a8c201c8db18ffbaa3bc05b005c837a15bbd9cb781ebe7761be7c555e5a4cffffffffffffffffffffffff039389df716a904225c366d36c4aef63edf48af27e5c20693210e18e17a4c75b4a00581f020ddb20304751ccae87748a36f51ba8c1971ae9960aca9cc56caec535c4d24cffffffffffffffffffffffff00581f02563f87f64af8d61452dcb4da13c0dd71ffc71d7af09d3c62b4d96c4ce32b4cffffffffffffffffffffffff00581f0218156b5da4b976c7f23b1e590613896c9acd2fd405b44b15eda41ca5606049087e5a6c425e3c4ee300581f021cf637248870bfaf2b67556a35d729da6d66af16b9bf7b7a63b5b0be60884cffffffffffffffffffffffff0219967b03a306d1121170a028f9db4e099b64ac7abc940659406a9db5cee3a4feedf02e5c0219ffff030f0f70001d43c75937e82e0b47be1b287e1579b8c686aa2f519f5aea1a13828e0329c7e7a63db7dbd626692123179847ee59677b21c7310f5dbc975bf9d74243770353852cb78777a9b2296623cb6a625de822311c2316275abdea46b5694d907b93038431a81d57273a40cf747eb237986be7863d12c047d7526d404974ab9ad41c020339604c1334a31fa1a663a2ddb017ec4c8c5740819ef6b8637dfbab0b353429b603bb2c7e472fd194a42006e19621d1886b47ac9bcf18ab00fb39d378bb368e1c5803fca4b1ee1c507614134f2f516aed1bf1679cd3b4418b7d8debd0c1f30074b8320359fa45d154405f0259ad3f307d2e7fe3a0477d8f3fee28021ef8f181c1d7fed203a37fca64e450a725a18c93a200405ffd2bd99cab4db33fd408bf008e82ddd7d003ebb2c18c9c9e21ed5b93528f86ea6b9f61c2f54f1321f305efabdc62ea141f34036ab725f94fb70498dda666eda5f0a7c77c2d801349b98bdb55e1bc5cf4e4845e037d919b1b6db021ac9b3d01eaf53c5b37192e4fb4b59e1a564ad746acb2ef706e03d14042c5651dd60b8fd4a8654f1c515e81f2b8372b2dc74ce23fc06ddab19e830219ffff03a578de840d0e97e72a0f87acc2a5fcc24937e3592d8e0ac03c57a8380eeccf1603dd38ff872a42148e090cb6e819acb295f3a7cfcce72b044700ca167be8f51500036856bab0ec5d5b10b6dbeb3244c4181c1a5a4145cfa673925f7231f7bfd4ffad0338af1546a0676cb240df433a2df74fd82cb5bfdbbd9e479fa254633704b4ebb10305ba6e541af119ec43706c1828820c2799e387a6a549ae3943e597b093ec12c403cf27cfb394ff66e3e684225192ae0627406dd4173daae7db5e294cf6f2fcb31c036676f226bcaeb813c102b39921578bd60ff3fb114f7bac067f2a00e206cebb8e03396063cebb38e10895256536625fe20b26571d1bf408bf273f77f3737eb0b3b30310bbd2ae87a7552d90b352e9d5a0eb1a03fea7570f8bafe76238a96e9f24305f03fab74d416081c84253ca399071a05355921498fc05cfeea2cbd66fc5c5734a7e036174d1225f59186cf19a32888e5264cd68188dbff4c63dcd950d8ff7b1d06e3b0306010e0283b1116af0152afe39678254f9fd16dec5ccd5c0cc73717b0854b5c703e23fdaee66520a0416b725f7ec8630c709f8fc80e44b4e3f7890c62c25223a4f03e6701aaeb00384cc46c432c9c3f78fcd54cd0dbaaa47357b48a7a3066b45597c0398ff5bbcfb7a752b80cebae08d069c71a88ecff1bcf93ae5fe45f163c7c4826e030df6a0a91442c9f8be004464624659ebf235fb1c5cdabca18395be8a0f25d53e0324984ffe473b97ec2e253ccfd1ef61e2137f814b3d8a05b464507e01c79a97d6033b8a545115b55e55e86c733a60a40e670ec96b48778fc992431163b6d0cacf7603012d1a5405894557e27ac9435f610ce111dde26019cee6dff5eea9f6e8cc727a03846a722d670ef2a32b3f7e6c23996a454b731d0a0e916729e745cbc1e314817903fb2737097877eaa7947f2ef6f63b8506ee4d83a9912cd261b464a67cf00aa21303c1e6960599251791b7bab1f146d0cd50e134137fc60e08fc3bb3ad32cea34d1d03ca0a991167fcfa178b8520fa4beb9d59be82811970e1de446032a4fe34e6d898038a166d02559a3ee19718478d8047222c572cebf2edde3bad9ccfd53ae6ab2637038e4598ef68558a6fc001e214b3c4352c048cefba2d60ae2525fd96b4737bc9da03d3a20a8e5e4cadd394cf0550ba0b7d0af4c27e8da52334bcf2628450fa96b8b6030cdc9056ceba5016d8854bd25b7af6a8ef1abb339943d0d0b7a9cac4bb7ef25e030d554c047ae01f4e5f2e7cb21ac6d2f1344f862bbe68800c33995081b9d28cb103f03adb5dd7c1f6d5ecfa1e3fe2d9c7acaed0fc7c2382c6d453819066dea49d0d03749e511be2e8c57f788736b5973286566e69da07f8f34a65a94a90eef391eb4503156605fe36a09df088fb930f980b45dfc4a90ec60a07be3bc52dc5ed114fb81b00581f02a845da728a427c5efba251c6a2178975a5ed10c96ae03ac506baf073582f4cffffffffffffffffffffffff00581f02fbc91d057f7a8f72d4c7524990e5cd2385509a549675fc66c7014977c3784cffffffffffffffffffffffff00581f024f2b279deaaad091d077da96772130c5b108177d77ed3aa2e775711a81fc4cffffffffffffffffffffffff00581f02860b1db2a057597ad5d5dcc536e81fc515bd8597e472b07c852edc581b404cffffffffffffffffffffffff00581f0254be8db2e4ecf4bcf1594e2708bc1896d6d956cb73b19312f90e8094446f4936d35be2d59e58bf0403f678720e3ca849557bab91712bfc4a251e8e126056cc2321e900201a6ff0223300581f02cf2fb0496b1533729753b52fc84aabc23063b78e073428ae0cd8989dc0fc4cffffffffffffffffffffffff00581f020cf1c63f5cc0352e029f39fcea669238f4b016b1a42a9388edcd6925e3144cffffffffffffffffffffffff0219f6a80219ffff03bef1d473adc93208acd1dadef601dac39ec0416a823869f9d541957a62983c1e0306b8a00b0db29012a4a96f7fa7f6489c700a94680ddc634e98dec051292d251c03edf51e23f2ad8eaeefd28d72a7c813a25b02afba9b8b6c5c7ac4bf022df8c52d0219ffff03b180ec5c3a6253d257ef6a490fd18e81f962b8fe5e519095b3db181e8c753f6a03c1b9e53416390da3d37fa1c840fd4c3dc334b6d426a5adcaa27dae290acedae3039ef289879734cd4c631634ee495b4d705674b013376196cd3939faceb1e763fe03d3afc9b0e24f7bcbca21b4c2cd05bf6fff56fa4b101cd012fa397c4141a5b03e0316b7427bae025f8b800f686997c3268f87e17d1863e7be61070f250087c1852603dda4bf73f4b0fb62f3baf8eba2f90a5d06e2bbfd6b99984e6d8a2b30e47c20e503e0831ebf4b8cbfac039a0cbf496b28d9583ad75ae2490a0d7b3a956a492f478503c6e6fcc8f8557bfc873b270336188412b74ed9def8526a4d202e509f7cefe76f036d0ca1c277d9b7947235988cb98708d2587c6bbe3ac2ba54f93291efe75eb2ac03d7e12f1d99b5f26e3721d6478131197f0bd437fc1c5e4a7782a88993118e144100581f0216b8cb60354cbb4652ec19e24bf38accc547c58a14eda27ab7c2fa8c10f84cffffffffffffffffffffffff00581f02bd5aee6ec0d88343475cf6e5874826574bc2c9198b0290af7e58d8c4110b4cffffffffffffffffffffffff00581f02c14ec0cf97b0d0a597f6e5a35ebf978ee4ca9e2d407cf497d08f1dac45394cffffffffffffffffffffffff00581f025a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b549ce9704b1993ff308f1815e0fd44b0dffee2d0dc00581f0274d756b5da96f431736a92fd8a32178a45698cebb579a78978f56cfbf2064cffffffffffffffffffffffff00581f02fea41e1ed65f5245acd72a754544a97fba03f213edb8638be9b15d07323549087413bffe9b76cf2e038b1288a46ccb7b18639a237602cb0b5b78975eaf14c637df9e9b9939afd8edca03347514dec17a1b2be006fa74b83a28812cfeda7fa1632566b217e238b705fbec00581f02e3ed2af3a30e6a138a6fa7c11fd1e5894123ed2b90390087b4de3f6a1bf54cffffffffffffffffffffffff0219d6960321b70523b2a4668aee1be1a59de4ec3f4d0b6c4a45cd1d47835fd0850605c1c903be027fa28ce235efddf90a70f220943114fd4bc029f0033aab01e21268013e3803a8968bfb027d84202e19d525a724c94926f527f710e67149971aed4119465b560372b8af28ae59c78516828ba88cff22e75250f7e93eef7d109cf7ded9db1c728c039e6981d6f32fd74620ed6d08e7f17a07d4046045d751426a5d94220b71ae18c403d230c67d577d434356d0c833b01c4c00b5b6116a80d3f334b8ce249fe3d2ac6a03a7891455f4ac07475bc8e4159642edfd58268e550c1192f1f92b6e6e5673ae8303137a81d713f501a14ca234b344f0e02f90f52dd81d814e2f10b7746402d95f60039493739307350a189d8c5e2f998bc90fc9e75fc277b69bc661f53b58479a55cd036ee5e354247e3d28b5f1c43d94ab44a9305eb694025314e2bbab1ccba40fe8950219ffff037a2d00bf1c892d5b5383e09f5500f163d10bf37d26042ceac2ecaf4f17553bfd0323c521cf90d6e2e106e34dbe71619cabd884619cc667a838c8f993182be47c8d03a86e42f619387d0658a5d1b6c5d8acbb31cbd62ddb570453e0d3cdb822699ce603b40cc0f5e9b97618e562810a4c7f7c684764e08b5f8b3dfd270db07cecee61aa038111b27a652c9f4dd78626ed32d90f7a89dc0c0c6d722d54234cf8a2fa3ddd1203f882cbe0c613da4f197680375c790c4122abbee8c4ff74669e99179dceeba2460348d4ce70442af7a7d308b317aeb53b541fbe74be98da7cb0048fef37309b6e0503fc296d5af2cad6178b2ceeba19b02c4234714a887d57e789e40f409728882d9103161fa919fc12abe84a32120222b7072413981b0e55bf063b29b5dc99af5daa8f03009290d94e647ea59c0198d25a3697f110cdd73a90982b76f96e1123d1d7aced030ca522f84c80d2cee187a8a31090edfa75219ab04810c6dea1660741c33117c0038c7507d01e2f1d9682bbfee8c175a003e12543aee4498dd69b9e07174c1d27a503e39f1ef6c9c6b72934bdde5fcd435c89743c87d9239896e23fd38d3d61dac5290219ffff03e38ed110071912eb042795128b595b72f0c8c68eb603b015a9997b34c3fc4536032c2cfc254866f9241cc0d82b417b0b02324893639b3b24b1b12c4b3fb15e63d603d845011269172f226193a3298e4b2f6786803452f9fa21f246021fada0e6e9900219ffff05581e03f11abe488dbd81ad5b12d908a87ededffbce67053ec4744d3cb8bf52e00701191f4105581e039e6daa81d7601689ea9acd732ea29ee5b7c63910a76cacbd2ea67674b00c044603e1416a240005581e0398476779eb5e0fa60f7ef7d1ed299f6c26154b2f023ede0df2b4db19000c02470202b4b734d8a003b365a3961af6c381de81cd2057b86953be736a6a502c285515a32d37e381a77603c99331df1aff48f87b364632f11488f88a8b160d9d11e89435c727c944bb139d03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031ed73cf11933213795537a6697dbea6818d5cb5db76a23ddccfbb13a2007011bffffffffffffffff0219dd6603b59b792eac788a59a540dd27b63f9b5d9330dccea7bccbe32d06b28815b8788103107122b9f0f832e77417c7189cc427bc482d5cb09db599cf63431696a132faec035435252cbd2f2d50dd2519122ba2de285a6e251758e75769d8e98c33e054e8370336a37fc56578def9e89ea4e28dcad52236b85ce724c0656c64a01b272fc55a1303b322228e1e5d284e2ff2d5ed5a1613087922671031ae4260d8db86a1097c560c032d2e008214c8650fcd1e1b964f74d0be5119cc24ac28b304a7fba456aef5c07903d4de1de423db9d16936b5a55f88d2ec3fdb2d7ef6e236728bc508e582434f4c003559dcc363b60b870e3c740a159e9d25d6a2056e3e2291cef7b91bc8229bc41fc0301ad234788e9a46c39810b01236ef8bf1110a446f6abeeeaa42cbdcbec12fd58034a8c0060339eb47986d4e21e8fa68d1ba09f2ef35b7f0d7aff85131285e6665f036697534b4c367845294fc6012f17462acc8259d0fdaaee79c6ab403bbf09100003f91c4f72473f87bf87a9eb446af282767f90aa80fb8841641d4c3f387e8957fb0219ffff03eb8f1a79d3a7eda5f6c70b04119ac9f9c3dd4fdcb0ede149fe5232f563bdddf5034d696d73423751bad1fa56157b4ecd05f99df46b1e75b1e62927cdfb93e607b30357e3806c13e33d7b34e45cb2b84f0660427ee869b1ef0fbcae4b1cf9dacb3b450219ffff03762f1e90f19c2b9bb3cde172e1573105640f0f65c21bb1d63b0e9ea0f29ec2dd037b3370f6f8340da94a0bcc92393f4f773bab260392fd46ceee4462d5fb72169b037a6b1ea409341feed02ddecf56814b7a330149ebc44d4198641f2eaa202214e103457467e62d2c89f1d46c59e8f4cf398c10e068c443b4952e922fe6366a1eb26d0324e3e5fe4272cee26366fa0fa53b9936c49ad257d99c7d277f5f847066af94a003f6aabba929fcf2a9353b2021dfd5ac8b283e7217bb4f17658ca93242a996a38f03dd739679620b090727c7c28c59ff9a47a885ee7849779e84315340029c8f88040377daebafd130049ce9b98d05666f9fc8afd88da92165c3df85ba80eb86ffc28703ee37de110d58f830e4ec7778fa2efceee029e71237b400434edd9a398795859c0322a86a46410804e1617923650994387f780c954d3c50c9f814543d051d43e8800321dc3fe97a35a3c72626ad81d9ff373c806c66f0ff25b565597a703d912cc07b0219ffff03a27a9c513c06afc1e9b6ff44a56dd4ad6bfe8b039afa072b4be155260e3f823903193ee1370143edd57be354047288dd1b0230f57771755e6c7177e1edb6bf1846035f64715ecaa86a0dcc5c09630c3423a54fa5b9843829322a3ff6979a35694ef3038cbcdfc25b5b65f8ad77d3ceb8f8b81078c407c82051f6fa6510a258fdab91ab03dfad27db7c50027a063629afcafd53e2b1e40b9a68c7e057801db2286238387b03db8c5bbc56621ce170b3c1ab1656632175cb37eceb786d4de05ce59c860b32b303478fbf67c33febafff931700e6789ef2ead5c999d1b7c4ec59cae8ca2313520103498894aba37bb0223e0b4c28fa239a8ad2af5547a593f3a1c315f97cb31f29fd0340996adecb733c9655abd188b942f18bfca6b004066abd71cbbd40b98e118eb90219ffff03e74fe7ab530027e5059389b72676a33890192a0b37714e2fd5c78e80734fa8e10377a117a78ae0d116c780d8564901a8feba1104fb24804f00a4627eac6d57cdcf0370b8a7598bffd3fae488ff0ced0fdb689bfeb2e388556ae9f8bde3b481e5544203ff51465cc11fd51efc9a678fee7f4e4e9dd59a98331652ca905847f994babc190335e67f7595250502053a578b27349df0e8d5561453bc4f3655cc577063c7a6ec039c99e5a21bc8d22793effa39692e26fded7a8725d6871b462bf0c6a9435d161803612e02d6cccb55aa23b6c53d37a55651f41ff100e40f1f90728a593683ff0f2903edc46d8d2e4ca5270bb0480fb57daac65fb8bcda80a571ed727b4a8ded8972ed03ba858ce2130857d459d21e8ffaba9afc3d456bd404a77fe2abf5aa567f570c13037dc260c68e43368f232fac62988981c9fff73c72c84c0abed829e147aa8aa34503c32821ffabb3b3e2624c8aec742e7849828b681d0d47e48a422c23698738bdbb039d35beed2f15a9bc49f8f76deffa4d0fa6596c110cc9712b7a13302544ea131f03230bef8de9d8a2365e86118f1528a9e333ded247b2e2c5e519d97f48b5784e9f03bfd1bc29198a809209750076ee242b6c1cd1629fb71a77fb6be9e1a6b2e32d7e0381998920849fb65655ce22adbf3dc3cf84e1fe267655b47512e0a0d7940adb8b0323e6c95edcacbbee61ef3b1484978f15c7f43b7161c0efac5401006bb62f56580354aa659b94221a78bfeb92b4efccece00bca8273bda495d52741b3fd40eebd1805581e033b6951368ca4f425764de17ba08b55d90fc8ea917f1f386667f97dc1e0040105581e03ee14c2f4010cea936c310cfc11e68c610af44774a112db201a7454ea200c18184701ecf336306a8305581e038e703de5eb3a096df247b0a0316ab03dbae4782c60b4a1e84ca46cf7a00c0347170f51cdb05fd6035790cf4c4820ae4e3ed6492a1b848cf45a4dac260d0a83c15a28f423465883e505581d022630ad3d5bbaa5299a3a44a3163f84ffac8ea2fad1180ecc0f94dcf70c024801714e846325f14105581d02cebf3a7ff49901002c78e95139aad646643e2d0740267dfd8b36af720c014712ad18f773e5a205581d02ad22b6e6bc8ff82a14f53dc95ba0ee057e5ea068dc4800d1bbc683ae0c014775ca4a7a8388680219842003d8513e7508fae99d8c49d2d8cb860b7d992650fc6a255e41ec5f81840f0d8e9b03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0302657dff67e147fbd2c1e3c67320ed4fc158a4e8f71e718826f1d21e9007011bffffffffffffffff039927460439f774c1fa0ce1e0bc54e2e3168a000666b5b6e9af71d425bff45aae03a3e465a8d0e891be61f56a3e1ea7303e3b94f268d2729c793c34bdeab23bdd410219ac3d038ac8ba095bd61701bd037aa47e3c0280e835ccd7ea6ec783709a0441baaa631003fb26251354973a622ac37879977abae9fa703798c5c52a44502e135bbbce3b420329eba6af8b7fa862f10728e968049761bcfacb5f78ab9632b5a9cc0040d578610369d9bcbfb0e76e711f313edd1300ff18545410ee879ae19282f26a8bff4790e60219ffff0332a2228cb4b3a79887476635d11b8b314826cb3682535dd0ac842cb1cc6aa98303db0dabba8ce4c2420322ec3c36f39d14d4e825bf127aaa5f40265e41acf1fa0703e3f90148319205ee44f587eaa8fc1b5ed4be7c777b23ca9b6ab6c93b59f7c39b031ddab216a35026724c85108374b5af4f15022e4d0dd5bf13d928624e9965670003d7d5328ae044156dde361d17f20fcb806f22ac2fe4c292cf23397ad6f24599e003594aa455bf74cadf3d409af86840d3c3feae60409d3552ae8a7f7454ec1f2fc703ee590edb7d8f0fecc3777b589995d323329413c08d92a21caf0a9e56365ece35032d06d4c01742c8894a3e84915f7e4d1b69d94816cbabb5e33d41c8e6b4ff950c039e5e4b80dc0613c37ada7a2703480bca7f98147c285ee473d6e46439c0642e4603643fbf0607ddb46b0b382c2d63c82a71a86d0508270fd7f2fd28caf9a7934e2d037cbfdfee2740a06f18383d1a84fc69b8dc480934b9f69c38e79b5aeda12a9e9f0219ffff03ca2e4d78b3417131ccede8f44f31f6350b635a688c9df4de6abcbdef808276d803a69c4bc3d0b07c2cfdb6691504ee687628c5bbff4f27da25916077003756276403b8462f78c90b151f95f8ee20c296e985739e4256c7cd84b5868327a48e87a8b603b6ebb36d13e642cd287729215e5c7b517608e1a9b240c5456607deff81addc7403dc4d47ceaf6e1260f1532a1901be5af644d653c617d0848eb42c6a9f9b5199a1038b01e2b4012d2a6a25c6721f9e53b9c8e9dffa07bfc2f15bf0172349d1fbed1203cc852692ea82f21885f56516b9ec233602dcbbe02b604f5f07ee9f51399c48eb03128e45b3e434e1c3094d930eb5267f247c57dbbc61d5251dfd1c331894319b6903f9fbcc173ba598a6ac45f1bf31c956268e8d61c8c052512ebf36013d4bb973ce031df78fab687d0833e5b5d0db0ad3facbee3b877346b9852d27eaf10a67db7c86036c32767ea790d132e07991486bbaf08b3141400024a0e848b649318488560aff03b637034585f5e2351b07eb34c7d0ac439a98674d5b97b2f1b10940dad0767eb303536ccdfe523312b25da39c2b253e63c73fc82756fc5a038670deac7c6ef23ec503a9ea40e63dcbc41071562ee4e09805023028af03e39528fb0b2a54dd3530f035037e71d33502a88e3a4a29cf7702901ff66623640250b648fabb8a6426de6499730219ffff0304d08325c88d36decbde59812c7dddaf39fc797fd62331618913cb58833963570393cbc7c937fbb57b839d084f30d6ba21da8475054936e5c446fcf3a70e38baf803ed9e1237ceca7b0067b044c43508e7745bc5e70ad1a04b171e22027ac1a084d703c31c5cb42721a074cc948884f018b77dbccf09c6c701700e067237cbd888d65003b381fb7240453522ef7e31c8abce6f6968eb44f4e94f6f917cd0676dcf752a2103ac7e51db964d1a266560ea95bf49f27fb1d9d0fcab5255402009ac44e181b2dc03d61fc7c0a22996cd3c31e43fb21614d1d0142492a89e273c4cfb4f2325c7c4ca03628a94ab1052a70ab75960897a22a2c076d8a39cd2e2595f8245ce926f240e6e0321ca852c8bfa902e25d0581bc7cf78ee1a14fcd5ec2e985c8a223622756c6d1803ece89e699eec84ea7a76550fc0920fccf4d1bdef1c31e1d7c4d53fc42c42246f03a5d7308b3415f42b86d4875824ab9f6e2c9a157393c396acdef08953b15653ef03e7ce585b853143ed0653401538b5f0943e3960ada1ca6132acc285546558790603ded415a2a1f1e6d8ae891c6083c3080ab2c4d9402f715f60697367b6392a10f503a28014d96aec80d06be5fcfaa35a40d959cb600396c5be3295675ffc5221cdf20358f19dd244ceee5bb88b1370f7b3cfbd4f8a0586af8856afc36a926ba1dbbcd60393e3dc58c2417c93a4fcf2bdbe17985993925c99faed968a7f1ca69e6cefd485036ae9728ff9bbe6af0dbf49ee88e6a316ee95378f66f17129d19ddb44fe4dbca60362a07b19638fa70eccc8813a7e9bf11e36c96946604b174e22768a50ff276d9e03907495aa5d5a21d2f3acf466f4695d8060d1a85aa554e19d016c0ab53ddf066203803c886e9438aa011faaeb1a3d8086a873b774f11f65004b267bb809c5ea2130032f7f63ef4d79f5c5d1d6e22d48d2026ea3a8cecb2b09774a0d4c7d132afc8d3703dcac304751dc47f1927c8a61dbe5c6eb30fe5c2c1e8cfea015db2c619fa5a7670324b639700c4c0e8fe2cc2cdf4b43be43c2139467758fc01d3a5eea6adbfe488e03f1e1b0dd4e7fbd523943c3e35b2b7409d5f9fda6a1245bb23ebcb25bf3f646d003f507b8af0f631910afcda491955dda4b459463495c6447145fd52de2568ef4490387335ef28d25bd56c6ad3d0850180af7e2f0ea6cbf01b6f478bd7d6d0cceda08036f732d9faeff25ae0e9e851c73bf483623553e33607ce7e9de320fb654d77ca105581e0306b1fde61ae39bbcca64fb530619a9f53ca91d701b1bbbb25159d86d80040303bab4a63369b53d712872149b4d748e5ff09ae6ab38ea871465e0c18ef9a78ed0033bc6695b3fba5ecb154c29831dcca2d3b3c1d140aa330edb3115397be2a0cf1705581e03a152cbc908fca253fd69dd4a8b8e75185c59c3e46db752d3be95fcbf6008470bd88d945e17c005581e033fe16d5e6b4d70bb67372d5b88cafb1764865a6d0e61d4fecd4f9dc0700401031e8278d592274e4ed93a9f60ac669b6814fbe813d635560839c4ed265d9ae22e05581e0346aec5e6233facd215bd53da9ff785743ae9f523d7e7747eadc19e9dc0040103b9782cbb5db9088f13148d0b29dbbbab4d534f6c7e6756fc5032c25f75923bce01410d05581e0373aa2e2a2e7e5969004e31e805052af683abe77bd5d12c7b79d5a2b4f00c183e47016ccad6cbbb5e05581e03addb257c3de79863a8cb6bb8412b9d19b53a6326fc33bdf244ed2825300c18a547015de8f824163f03b4e36b5d088d457405b6856aa7efd8e7b3eb6e9ba63c36e7bbc00d881eaa966b02195f7a03f2b53f2e9f88bbcea31675fbbac0ad6c81a843b7f16f4601e6f6ae11c43e865f0219ffff03c83bcfa0db426f33cd8ab9e786fb5f3137858f835cbc419625088ff2934845e4038a9b956d84b21bc7a9405810dd6c0ef6a1d3a4dce60b64df45bd45a63fd3802503b6adf0bd4f2b9c830a2ed35591cd029dd6875999684b0a0c564af9ee934d418e038f9191ac635f2bd85f4974f133f030f6632eea9764b2baf477326233d0a921c60325c3c8563b48edfedc6f4c920e23b9368b6e370ae94328ef32c8dbe29a33d89e0383cf44be17d18f7838824fae9436537eef42410c886d976ad69c65483eb7445f0219ffff0305efa4acda0b399042ecafa564d92b65b61682ba0effb84d15638e8d5fb931d203626d7a4961e9d1748a5cf5959e9c2be312f34600e0c9e79f7941e1c08cc2c1ca03bff0b5276f4bda98ac4c1ae0aaaa5a52c8b53fb7cf222c67b057a9bba7fbfbc703808d29d3095e0741ede28f3a9fc9bc9e1f929448dfbdb452e436be00239dd2570359359576ea6fe1a512ba31c395ee49332c9c9a98fbfde1d8d6a9a77b5918765803c67f5c771483c100dd493002f8819d916b631bf389931022b4cf53405b18833b03e524bca0798e9e2407f245eb6b8aa574a47de99cc31cb40024d5a8fff93315c40383f78aa999562b8cb3470a86b3f64c3f34771658ff90220529c8ffab0805442a03497d9de66f20d901a76288894cc7854e72d7c1e99d5071256f9c1d5515b70784038d06993c5bcde3e5b7269bc4d51d6ce8af8dd26cf27173e1f767d5f5e08513b803547aaeb2212b54720c8606ad650b9ea1966f050bb1cb91197320308feef693ef0320dc722195ebde1baac5049069d7cef76d4e1f56eba0dc3bb553522e678166e50397dc28dc54fb87d7a07a82fcfac733d191d75c42edbce153f7bb13ab08115ae40219ffff031ddb53bd9c2008b95ea37c0fa9b447d10b8eb84bb3e6e2c628e23528d5dab6de0390c5a64769c8c6102398b7b0fbc297a087456953f508b7844253355d42a4241d03f58d064936f077a0025aa120b696cc4252ff39fecd6652085f38ac44b4215fba0380c2d2a2632544256f0f4270fd90032eebf115c352a67f671c23b3a5a0f6c916030821edcf5307ffc21aec43567febf0c52bf2236455a0c8f44410fd63b707083e03af042562e726e2d1938273562a2f01a89ab94d593434dceb0817f135e62a330503f0f368ff3bf4deb90e1415efc895b1d5d1a7d5bd1e2b0a772084f2b3b27e857b03844c8573ace59c734b36dbc11166676672405c8f5644f1ebee2c2fec1007d29c036c0ea9cd3fee83f04182966cffe8eac603ab6aba4ee58f6ff0048870350b0f6d0304312229feb56bba5efe967374d226d3a50be0594d08ce1822ab94f911c420c403e9f87c9141d6a7f995aae6bd86739aaffeb576c9757ab5e3e114d91f146c5111030271202071b35f6861cb81b5345edf590e0e7039a6a97bacbf9840441a1cf2d903cd0fe357050f6fd316061056b91a798f7866aca88159eb57faad522b7f782bcc03db2e65c66e1aa6ae0dd7e26166b1bd5a65f721586cbe06b486b77ee640a093ae034b5fc9038c5414efc134ef4e8fe2b712e47f008560902a92bb7a7d31568166cc030cf57565584de89956d42b641a27910bab9f9b12bccc539e2e05f78637917ab805581e03f2371fe5590a27bd406aee2b20bd07dd971122fa7607e4c2258726c5d00c014744e9a2362bfd9805581e031bf154d5b7e84ac8a6c290c9eaaf1b6d3bc9825c564c94369b752eb5900c014708646b4ff0a45e05581e03f4ceb0b5725353da0f46266b7f31276007e93ae86a105e115e122472000c01470371c632ceaa00039ca7f8e9ca56a9139bdf891c618cb286b6f499f973b6a101cafe799567ea76ea03a816f470505e2ead2305b0eb7ee6b23a104b177e7cbcc07c4914ee57057284be036859f151fefda07098bed2b866580fe00ff6314e1940df6a6b320bee46b0875105581e0377c9b739274ec99cd09ce009e94d8e4a893a0888ae93f22325c4e26a500c034702771fb3f0900003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03c7761e653cfd92d242a3f4874d016c876b2f4c825dc262647d466857d9745b8a05581d027e43c9d740e4d49c10a84fc2d254ce1d6c4515335fadbd17f173dddc07011bffffffffffffffff045903e5608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a1ccb98e14610030575b600080fd5b61004361003e3660046102a9565b610059565b6040516100509190610363565b60405180910390f35b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea516146100ca576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81831015610104576040517f947d5a8400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8167ffffffffffffffff81111561011d5761011d6103a9565b604051908082528060200260200182016040528015610146578160200160208202803683370190505b50905060005b8281101561029f5760405160a082028601608081013580801561017657600181146101f957600080fd5b7f42842e0e0000000000000000000000000000000000000000000000000000000084528980156101ad57600181146101c057600080fd5b602485018c9052833560048601526101cf565b600485018c9052833560248601525b506020830135604485015260608301356000806064876000855af160208088028901015250610290565b7ff242432a000000000000000000000000000000000000000000000000000000008452898015610230576001811461024357600080fd5b83356004860152602485018c9052610252565b83356024860152600485018c90525b5060a06084850152600060a48501526020830135604485015260408301356064850152606083013560008060c4876000855af1602080880289010152505b5050505080600101905061014c565b5095945050505050565b6000806000806000608086880312156102c157600080fd5b853573ffffffffffffffffffffffffffffffffffffffff811681146102e557600080fd5b94506020860135600281106102f957600080fd5b9350604086013567ffffffffffffffff8082111561031657600080fd5b818801915088601f83011261032a57600080fd5b81358181111561033957600080fd5b89602060a08302850101111561034e57600080fd5b96999598505060200195606001359392505050565b6020808252825182820181905260009190848201906040850190845b8181101561039d57835115158352928401929184019160010161037f565b50909695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea164736f6c6343000811000a0605581d028840ded3f68bc2ecc71052facb420bf6ad5a669fbbdeb9ec98befdce07011903e502183005581e03fe964c9635be400f3b747601635fa0e092bfb7ee5167dc02cdc514ce100c044609184e72a0000219e9b8035d18829790d72de50f0c973c2e2ddca18b22bd7a64b1e96de74703f81a5f2b83035b21c5b488c94a04a354d41e41d8d3961f47445613fcffd765d880bc8baecff203deb4c4b7170a700399a591ed9e7e2e29336f083cb823670635915c505cbef66d036fb154b0c824f04440e21fa9ec2d04b78925f68fd9f1ab30eae0561f75236a7f03a2dd12c45b92f416726bd4ad4e5cf997c2b2d559dceb81020e74ff857f0ab74c032cda11e0f93407b58c198e9b0dd466daebdbecb7bf4f98846caba8daf561344103f93737b590df56bc0bcaaec7889fbe55d20f6c2839f25ac815b2957ef0533044039f52a64334fd69e209af40f8e3a6ae71274016a5f71911b094145e5c6276a2810328e1bba67638d109b5c851b82006952e2f05fef5d4b8818c15950cf927d181f4030b5bb519be4b86af3e337e699c10cb631b625719c364501d9680b491618e86160219ffff03f9c2b270015b3351e305448fdaf2f57acad735959935e644df252ffba428fa9e03f14baadefa10348131c1da0b06d280f38a52d863b866e2783024871cda84c73603e118aa36de36f6d0ed399594bf1d74eaaba60fe0671476a51eefa8bbfaa2e1c4033340ee1c2de1e175d66946e2b4d558372b0bd56d9334fc574731dbeb652c060703bcb0c51475d798bde71ab705c35a04227d525e3905db7a822ab70f8d59e1f4d103691e1b4ffe87d4a72137298fef1b009e98d971283bfa65b47e9a11b213edad1c034cb475e61d1b98c6b88305c33a2faf4f373d91dd5fbfae2bd9072b5ad959ffec03a20d0417f0c4261ff6ef5d1dd6729ae97d627530ba67493144384b3e29ba270703256fad19d92a62dcc5b1d1f9829685af1bbae85f2455b87fc1f0acb67440623b03c17959b4211113feb93534300ed131af89e55e571cd8354f93646b1a0fec686b0300300e7a4c60796f00e65b51a8fcbaa0dad015dc41d05512d19ad4c0d296e6da0219ffff0320848890710f1b2321703b622d1d4b6143a49b7e72ea6433dcfbaa3bc37ffb56038ff1ba856ca121e2f788f2ac7d94c69c928d3f55a30ba9466524ef53c15638ba03013e2b7ffa0ffe8994f8f9e64456c27d5042a6ab1718d48b55f639f3aab73f0c03b4853632124dbf49d140e94eb001c883e064cf87f825f00d9c4f06f3ad74395903388067d2c733e90ef7cb0670192493ef8fb8bee50d3278eada275043cc70c2220321cb24a88257e4f7258db845704470b9c7fef67072eb89b5f373e017c57f36c503ecc8b1f34c3c8b610e79e5b8a95acb2606a7160e7cbb88982c5bddaee4c06bc4030e3b5aba18459e899e966d7a603800ad0e68f8f9bd48ae23a58ab4052b9919aa032e3c359877e9f8650f44559cded5dda11a56eea50c6b7c84b2579f1d4f1231910219ffff03c48d30290227aa201edda3c1fba291c4fbc3066db998daab8623b9d01ee2b97d033a676b420b96d838a6ab1c9631f12b95dac86384e5733b0d0553d26dc22cf25c03cf8499586d92b1a8f220f8db3b5d91109fa15dc68e4bc16579028ea095b98a9d0365d29332820a2f08bd170205f890b89238e61f70450ee9484df3c46854bd091403eb913bb9deabb5bbba52ca54387b61d85ebd4d791f0074bd41032945885c59e603aeb648cee378141d1371cca7da6493568b8286fc500bb4bef23685b06f5a720703439699bedc366820f3b166e8d5257b69ac3eef1cc829d6cd1b3a3a201f4657950314b772185637d4d824642a3be73e7b447b2fd426dfd80d2dbe69edc1967b705e03a9a2fcf3535c447f9fa717b5c2a46cccbda6b919155f8201d73ff84dc8ee7942033b79653115c4fa6bb2ab4027b4353917663c4444f5606f94cda919c2c52c8e2b03a076f4fe2cf09ec01188da3a383343b65efd7606a8c1b3b632dc430be099f9bf03b6905dff88de1a74d167a5500be3e86b6a9649ac45a07926cad67464df8e6aa203d9af73d0096d64b230aa1798b7b8a56869988de2a0b3092c269f52577ade1925035a4d5c916e4cc31dcbf5164c070aca2bc71985dffb87afe86bec49d77686a4310391e07e10e98ad3be6e9bf751130bbb62175ba6859e2f1a0bde300ff9e26dbe480398a72e2fb92f567b8a5d9ee1b00d47efa585dad098ad1ad24f8ea499d9997f50039a61446e6fe88e2580002987b12fb41daeef8ace0a22cfec18a8c1e690d420d8039b60489a1b77c7c68d9a3d699b0ceb1d0bd801db8f0880f10c9e9104b23a3cc703722da3595433988c97637a59aa0f708fdb16e18efd003472ded8ad93ac76af30035bf6bb89c8c20d787eb22a3db2882d64e17afcd252d7290057b31c877cf7bd75033463284c700f920308f5da50939551bfb58b009189e8f0740c7ea87c14d532030361682345c2962066b26d6c61fe03796eebdc91f96f89b5f0e66304d7ce8d195e03a23d83bf680f1361616c05e1f20bd1e9d3745ce838c447ccfb3c80c01747cfcd03a5a29331d811fbf4f53e0314b33abb55c3c75bd5cd3413e2fa5d85b9338866c0030600992ab1cd931dd17f41c82b2f094ee8604efd3beed83c9418adf656d036fa0350b3d500893ed76ea210688e60d09ea67ebaa20c9a91d87a51f67cdf40bcb31c0381649535fa24037ce3af7166a86aa2b0b7e50ac392407064d54224634960966e03e9c38f6c0f454665ce248fcc7cdcd4239ea345bdd54a5f349c1724f849bcf74d03caf858407691727cf9d45491022731c50742980dc6eebcb7f87d8010de5b0bbe036bc138122600b15552dc71f1a01fceb55023392c3da5b8f11cc4bfc02146052403bee096f1e824570ea2d1aaa4921eef3b383770fb316e2ec041f90e19ecd9d1e8037051a83d36ea08ae1edea1a8e8fa90b5fa48b02cab0962b5360b2e80631d9016031812b37f19ca135e0c76e21b66e2e29cb5431341007a5819f46280579103e2bf032ee85706e1ecf62c3c963b137eeb9df1177a9c38faca08e5f5d7979faac966a20328688596f0add936826090507e18253326e5f0ed6df65ff20ae857658d8f906a03044a52849708c20a9871f3e690900a6b3ce8f623a3277db59560e7a72b5160b203fa19602b347fdd5507ba7d55c8e406fdccc3e5e15dda781b8beedfb5eec5cdde03529a7c0c01748f8e5830f3a55718ab1ab0831a995200f4ce53f3d261dd814a8b03408a1c30061df4b979912c9872d857716c70652600c11f6c6498c22bdb20284203c0d8367488c001db4d6e0a29992233a06073de908699fd5e3602c7f8c1bfeb8e03ad09499dd6d4108e80c500cfa983501a8aa917375b8368c673f1e70cd77757ad037c850df37e97f51114c49640a0bacee1af3c1470b26c25a0f31a34bb48359c8103db6c3b9b9d64215248f8cdaa416ba81166648d34887226dc28490f00ed050f3803e3a4ce2e64acde1cd7451a6e888a1f831f4c9cf601d35dae347432f7575a51f203416a390d36dc00b9de22f5c99ef8442942b710ebf6e4748225098b79b69e0f5c03fafa1fd27db43a286384027340cf0d999d977f6c4e0403a2bb26e69996a1ce7105581e030597bd8d5b62c643227dd0330bf4c598d20ef53a7e8c8a3d135fa877700c1907d1474524175b7221c105581e032a38ede1c2a51528588d310397d42c058cb2270cf0a75dc915cc3e3dc00403033885b17a2a39ba918cbe27fb7b04a42c9350845a2d0ee9338f1ccf6d6bde89fe032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581d02f7ceffd220a9c3382dfed326d8a67519b3097bd0a05ac66d81c0383c07011bffffffffffffffff05581d02ad2c03909ff8cf561d6de66fb6ecacb5a4cbb44791066c64ef912cc90c17471bfe916bc2b51405581d02052277c64caa63f056c85de0ba1e88c2ab81599b981e5ee775cd13080c190228475d3f7254bb57d50219405005581e0358bd902f7aa9e19122fd0e8131fb5eeb302ea738df81c07792830dd620040105581e037353b27ab792acbe22e544b10579e541819b81b26fa6e3f7b4aceba6800c0147030ec19825e7f00348d0a5734bae68bb0667435d258c58ddd4e603a2be37c01f7921da3e4c9ec6c20334b592794fac6c242edb3cc3f01b256414df289e0f0da4554b0c623863248c6f030396890f8d763026e32c65d4a16e8737f32965b868e1f4a6ec8ff2cf56f110f705581e038944f86fe89d2052b047e405e9844f0d8874893195a9a86686353987900c014706b9b16efb68500335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03988fe5ae9db3721e0be7cc7d0fe0df99adaddbac088101ebecf0cbedd007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e033d6eefc0dd2d5f24429b8f10efc11fe98da1984e91dda052ab578b9ce007011bffffffffffffffff02199fed035616b8b51bb44db59889d944943351d6012e3eee4a7a12158056aa074fcf773c0219ffff032fcc8aab6956fc4222d8f9f3707b96d73250449fee8c3a3324598dbd3c0258fb036392782bb374c30980aea10eb8f8ec41e933c5c963937dfa09053f94c2030c32034d075e5a1b5ad90a6287ef665e29119d871839c4edd679b199f93f07bf0ce733033cff6e1c294d794e87a465f018e425654174f6db61e5ddb1c464d721f1df09f20219ffff03328c55e6994513b6ffacb5f7436af5ead9fab7fec6e7914dca11db2c61df14ac0219ffff0219ffff03c1a57e186a0f294c8ba29bc9671bdf0934b625fc84947cb766b31003f4c0111b0368002b6221268ecc22c74d3bb6733f27b4ee81213e2d01fedd1bdc4fdb1ebc5a03fd50202e175f774fb9d80e165c751df97702a69fbbcf8492007960e8e7cd83d0038dd49be1fc944f7867140fe15c8f4bf4f632719df7d23a9cb169d1b17364ca0503031dfc865435a04e18c4348b179550d7a944926d6d15e8a27bf190455133259f03283941ecc7135627c570b5546a41e7907b3073637eb1854078ffc99907b03a7c03261a2eecde304d973c0a012dec3f36e2026b6cf6fea41c5c3d69942bf6cc8e6e03038069945e2207a10f4e836717e1241116dd83254c2e60ba7d5ccc2be1521ebd03f3d0ba32aec8ec8fa6b8c3a299aa73bec4e8a8fe999d0ffeabdf1bd1e2346b8103169ab899991276881982e04abbf486ae17276053e016f6bdef09cc69cf115382038d2fa805933124a61226fddaa930ecb5cfc2a930a60108b86b6003787a9bd1cb03c6729683d760ad417ea30033a34994b78940dd98764df7d375771142283bec4403396e8895216955bc7c792c28d9281982242c9016840e72076c1c8ecefac78a96030d3ca69c8b07276f82a71d648b9e8e79bba71f9af7dfe1f20a3bbb51e101ddf803918e8c67f87babbedf4207ce28221f504ba11af58e116d9c9da553bd0273c996034dcdb1cedd81a5412c8bd09443e3ba57800d74545f17645df3f248175ecd32db039949a64961529ffb5f2222bd0c60adb6be281cdec0d661a4c9d41d4f6ae7ba3f05581e039ba19727a4db5e93da87de1420b20e9069489e9db1fc2967a51fc171d00c01472c185615a817ba05581e03f61270c64b4b8cd704119e8360f3432effd329c1545992ecf96bead9c00c0147042c02e0a25f680305e3e7a562bea121ba5a59a03955833fdc1210ba43e41bd040fe5b759f0f49a005581e0356bc4ded6f49c1b2c93ab18be0b8592dd143c1f244073d1f85d8e147c00c044645d72a65258805581e03afd7d8a069531b3eabe736382133a8e4b7dd914df0f9b9d6499af38560040105581d0266edb877ecdb9bbeb9a121d8854e2dbd3e302b66ec6b76e33a0382920c0147039efbbe7d620005581d025702f2895d23e36589822ac862bead02ee10800d38ae94cab7c40ac90c09472a79cd2d042b240219020205581e03c3763cd2468fdd86bd7df65c2c22430914a3ea5a16a293470ba27fa7500402033b15b2bb41732d9decbc99e80e545d93f783f6eaf05c12c8df2377d0b690cb7505581e03628da8b7853a3b7cacc1d19a95aee6a9e2771a70b1d3385484238d4d900c0247018689544eca9002198b7903d7c97b89584f48560b4cf871c3ac1327f88c3d9365fe5107cf4dd5614853ed5a03d08f44e6b54d92b799035d3d838b9c3cd43b895ecc40e3f96065d81b4c86e0c903636346782fc11421c8355d9f8722e84c89f2df7f1e22282eb275e88c2665b6ea0340e7e22baf5aa767b97d4c24ee304a8a0954aa447b87e2190558ddce5a0b68f303dbca7b1ca846feabf438d55afc54e904b2a8f9e392259ce7ed163758f0f4e845035379903c8ea8a25a841c32fa3a06caf0e9b2cd9ba5a34f479a1fc883fcfc7c9c03e1ffc18b4b9eb6a9e6dc307ee9d428685708235bf48e83219aeeeff46350257303cf1bcc9001e60bf39dcadbedf31e1a385fe5da80e16e2163055ba3a4eb97317e03559e3d6ee5dddb90a5e5cd44b78ec166a7ac71f38cbbc2926457c0df268fcc2d0370092ec51f2ae223ab65ab513038ea320197eb9ca334cb42f9ed13248a00d194039526b0b76a8cd296730bddf968f824bd05335b35d0f0a5a1ad276cb5b923c24803edc4657046f46e24167bbf494a0cb80be145acc8736c1c5c91b60d005ba54adb0219ffff032dc54c8066abf9793c3890f4dec5b81b01358f600455fe753e96004ea1aa9cc3037c5d1e5a75a32a5424bac1fa3e4d0bfee62a7aefa8436d1bd4184bcb56af71c9032009b7c301af8185ec90030658f68599ebfd31f6174ad2914db2de990510110203c249c6dbe8cea9a3515752c041dccc987a277ccc0bba37260c282e0788faad4003c2cf969cbc14d456abce238b558dedeb9200234cb362403d45af4a23ca5001e6034fd2c5c65b4c4a43578d01048f84f6ce9e9b599423b1d8759348243faca75e740345be7a5cdf09dbf3bfe66b7e27a3487670ac4eadc80ebe5ba83a5761d913a98b033534f09f8f3d837ba81f2520557c6a70f6d0e998427a9e07cc596d152b2243ee03542858bba3c394a32b3086e04607037c6da7a05ee81225aa9c5c6b9a42aaa93503fa05f83090a9d1d73e83d1b1e53b44c123e1d3b0424b0dec56eb967febecc9370320414d24e0c83595c3a4c839346ac439cb587916889327ed095966ec03b888900319395b7fc06176d8498470cfd75e5d6bf109c5f121de210b7d7bd620725456e9037e92499019ff474f8cf9d99397632b96b58d73695c39cd8359e9f0ca404ae1fd03f46850e7594d35d07468802541fb7a97db9e41347ae937007ba7c5860a9290f60219ffff03809412cff1c46a350dde6576df8fd24a5a103f6b730df0ec2cf9e9a9b51caf620332914a8a8607eb00b44ee40f73a839ad876c18721432eaa107c533e25a7584340374ecb62e6706a1bab3ad01cfaa127c3828adbadf408739fba2feff5a739790540380912a7fffa6bd786632a255930dbaafd6803afb51fb672c449fea8b77e6077403df6383b6379b4d327194a803b1a73c3a827f5c958d3e99ecc404be1cd7e0ad43036dd9d87129046fe523012cb5f2c39f660d0c96f2ebd34b0430a4d56787dd2d4003422198fa63a424fc40242fcdf514f087f3f2b669160c17c369ddaecc276143b903245564682530b92198c30fc0677a29adcbb95a51895d86b9545155b42dd5ac9c03445d11be2cc43eb830fe6bf05b74be46db64aa35160ce0057613b916939fc0fe0323c519ca7b091351c3f531efcd78340bf7c8e25436c190c8f3382e840ff253500219ffff03db1bc380d053d3f906e173f8df5be06b4d77d3c374e640fbdb9b3c7f3f6916c103b4f6fbc0c5b595c4bac00f37a3135e7c783ec8161df6e94b3c382b61b23f1d35034389620e2a8c748693ea10db932c62175f15e8a075686ea54f169af2c93eb54c032fe54e2c5c0cf6def8c490f385c38ca66cb5ab7dd5a26ccbb2f50ba5ffd1f34f037a7a35fead20bcc3317778b9baa5b5fd0c9f23b61cb88c1eda546101fe14511103f1cb9e09e780d02a34f86062c324b95df9bb9bed711fbda46a8efc2e60a959c30312ce2b02d70c8fee90340ee3f7e6eb6bb96382f9a2c5387e654727b5ec87d05b0219ffff03416b4f1f7fd8089b64cc6c73cf64d9639ea1d036606000f455f66602933c5afa0397fa5917285b7be0b0f0c4b66836a6b9616dc4fdbfa3965a8b16f9d66639668203a113dcc12cefbe301ccb5e090262df8cdf12b3fd0282cba9c864bfe4d4d1c6c0034ea728a5eec243577019ee7ee9edc80381f51b3efae32904b839ca209123f24303f35264db9d5d535004261992769f05d29f3c6cf0680fce6268068fb28f98951f032a0249045fbd7d7459ab1e4e77a120289ae4350cb15a88f7554a4f90ea3fd85503d46695ac77bb343f6985f70f220b970c93479efd8729a63edc81f3526af546fb03cca10aa0e3e583d9e38ecec38315cc6f4c31c7c907495acc050a243784b9c82003f43a31746b6a49bfdf91ceaf7d9ed06bfd072711d27285cdf42475dee1fc1e5b03594ef323077215788a0274f93b2ed6c6fce3eda0fb6b6779c3a2cbc96b40f55303dd9e5b14bb6403d4013ed15445997742c374eb8522bb2bb377275fb46608f4920331dbfd9d2a8c5c9442e561866afd26be03784f6789e5d50c7ef250c1e101e18803ef027dfdabcec2b2bce95e85c619a651fab64ae6991ead7dae88511282cd266803c7a1cd95bdd8f7d16955f7288ec1e4d49e1ba6ce3ee6ff91c2a626c4ee16abe9036667ed5f9d4c6898b3b5c5316fa3dd1683e211f7cfe2f53bdf864b90151aa33603ef2e264e27c9b38badc92dc9bc020e33710077517c38c9332188e08f5608ecdc03649d0b353ade3adee7ff94f062708331899d76ea7e7c4f2586f55f947baede7e0351fc8711fcd7fbc6717c2ff13a2c5e907d8e0d84f54b0dec33a55cb35604b9e503b25fcdda548db7917e15b86da1934b17ac1876575eea44e20c1a211d4d419b3e03c32292a7d9a477699a839cfa15fa8260d54618f03a817a624d4c518371457d3603c06b1e52d0622aaa5b78be16c77d0b7fb288bc2eeb1416210b38d0e9644cfbd3030271701a3cc6275befa837df5e1e726db3f6aa2fba434a1677f41c944cd451e003e1637874e9bf2631f0d0c16e6b8989ed2df4845644a6079e2ee39844c78e034403633551c52f1a545a91492813b4fe985fa05071e186a59e45634cefb099af8a18031786db5a3abb12e2dca6fb6349c4d351670a9e915956a715a0fddaf89341fcb30327d8e2b62f30cfdff641a494667c89fc68af07675957cfedfade9a2121623c5403562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03c78cf7910a54d596df36da85dffe0ac552d60d7395e048835ba1c5683007011bffffffffffffffff05581e030a15a16ca409708ebc105c3fa632dbe3eec043977ec679aeba1fce97600c181f4647e9a7c20f28036ee1f61f6a204bdab11d77a27ff30a58af6cb0b381cf04e21c4d641faa286bb105581e0322332c222d6f0ffd1b973cf1b87e55db33fe5def4306551f2553bc97400c18294734dcdbdfdab31205581e0340458973d9cf8ab6209ea226dc709d5f31299b244b60da6f63605387d0040a032f72473c9d67c1c4dbbec5d08a2981d20cbd9627b2fe96d9451afcdfc1555bd005581e03d713bdeb95a5e0c35fad5d15e530f5fa5520bd1d019f555c778830d0100c0146284facfe820005581e039bb672cfa49d4e520b2b737349b15963a84bce289c7974e4a705bba6e008470ba2074fdbe8a005581e030949259913e4635739e63224906b77d51887393b785299cc4f90d350200c0147461260234523c002195f9303137a86db16f29cbd9af96aaf821dcbbc1018926bf238a6428e6e5d47567ec0f10307cc298b9d19da235dd7825052db78941657aa71566fb36a9114f0c2b5059fc3039ab42b4187af0b957626c042767e27d6f2c70a8e88b444d59883e7594beb5281030a8b5065b51fba5edd7fbad3c46264d59216bfefcdc3f30e50f263135dcdcfe103bad07624640ef003de29ed78d2fbd433eba9ff26a714d062d2ff0ed76f3938400310d8eb7fa55e91c08a7aa2d550dba0d140c12bb11c99a4b02f2c0d6813e0d8be039925b81c343be4dcc9ecb9dbed61a00258d8df7ff5e8fc59fda665c6faf9ce8d03af4a0588802faafee29968843e8cf75b2e07c6e47381e2d9f0c46d0e7a494fe9036661f1c654e44fda15eaa44129dd104bed614d560165df261026977283881dc8039717bbaa8a87bfee706a5bae31ce706ffb95140be4ce7379dd2b1708b1416d34034e035b35e0ca3797bd674f684f17867bbac1227dde41cf4a48581fc69a1c76aa03cc76e61bfa5f4becf289f3ebc7fdcd0697b7df7d7f1d581698208c0457d80b1d034f9c7fe433ce79cc4be103dea197842df44b39ecb148d881b281fe29919014fe0219ffff03c68a3ff64e99a062f3148a5a5d7d5154204798fcbb63b84013f1f6dd65d034e603c96d50079d886202bc8f3d1ccd0d0b8c0ece1cc9a8588cca05ffb52821ea3e7903e5072c4174d9ea9f99ce670583a36747eb786086966ac105d50026d1de6b46b903bb4a304a64a1ca703b157a2d6502afaa4c60294e32689f50631fd4a6ceba21a80219ffff034c8b311a32e73bb7fdd692ef7bb7060631124549de1df38182fadc610a08a1ca033afd79dba5c6d21d876a23bc3c89dbf6df966e2ac5372f7ad70d8ff97a56440b03b28f09f3db7ed69b5eedf5364fcb9c5c32f6bbe073d4bc4f8928bd5bb95bf0a70346e76b4547dd853ad00984f5992c43d778cce4338f5e8ac07c511bf36b0f845b039fe7c7a11430302aadc6ff6a96be35e4d74fd0145514da19bf18b29ff43d6dd003f7a847548fd5ef1434ca1330eef17b13a651543da23fe4f8139bc82d977271e803db2550bdd45b99d713d3c65a92b0afdd5a691ed353e3fcc1f45661135ccdc78703b39c122a7678e601d575537517a05f8247cda3f4b8fd7eb881e2ad2e5b2f84f4030c8a24ca7df90762dfe2d58415b033d667705eeeb3332a15fc5a8bf4b416e53503d601021b899df36c69cbca205650be35158409a969e60ef8fa8c5c23e1efeeb7037e009030271eb05148b4fe7d302b2fadd64504b5f2ec28e257dc7fe4595fcaf603992298fff63d116d0f4d8065241855f67db88f521ad4bb445cb0300ed5b2d6a903f3ed125dc5bf1cb4f667578819ef557c06e1b114f4dba82cfc8017e0a08577df03278baad8d6a573b63fc05b538f15447741840c1423e46fbd63d5727500d6010d03b5ff5ebb19eef4dafd92b623de297af5d826d4edb4d812c6555513b7d52f72130340a37bb48283473f6c8f159cb564bce0f71e430d1a6fc655867d228bb57ae5ad03df4c2acb56fb56634b41c3857cb8d28afd56ad6ef09db7d38a5f69a8731fd175031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0313c46aaf3759c4fcc7995a4fbd0adcd85a056ab6ff657df66ed811588007011bffffffffffffffff03897801e90d9df97be6dc31cd5ded4c9e91f9271b5a23288fde140f6d8b09dc4e037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e038361db2b7a4570fb400e0c1ba110cb11f3ec72d72e400d04c2e8146ca007011bffffffffffffffff03685e3a5ea835d576547ad24c197ee14836f869b70dcc44bc8528e80cfe245f4b0325aec8b21279d3e04a1305a74aec01ba0900cf11017336f988986e6d2ec74fbe05581d026e1bd14d217857927d20edb8dfc5072fd05bc9b34685ca30dc944a970c01467af8cc6a5a0005581d0265232f2ed1c8d04e783b8b14be7d240da19baca2278e6acb4338ddcb0c1819471c42e38b082dbe02191800036bd2f6fd673bb1cac2934f93f94c2de4f98be4868e24ffeb6eaa388ce5dd025003bfcd56320225029b68c4e867535f02bb3c732ca2361014fad4959087f63c93f505581e037a9c08dbeae2883d55a6de372388ee6622a11e1d89e62c2194050f507007011bffffffffffffffff03e97950e1ad0fb2471b298cb20e7ea2a59e8475b16c46da529305495c13e54742033f0168fceab257c7a0c9308b8228161764cb13bc271af440c8b9c076e57cb97f05581e0336fa59b189f61eb850bf1b0ae921c51e8ec627da3adcd19ec0a32cd3d00404021947f503325680bae4c98d1e3dfcfe600803d7b709ab19ccb85081966eb2bf80ebd51e8c0396f3ca57e05f4136362439b94e4b49cd32b546d6ee78cffe8e99870c79094d0103d6907c62803c57029f5d8a3d33d5922e1d331d8ee862897cf58e05574244506c0313d633fc584138d944bb43d672ef27eec98434442ab5673902403d17fdce1ded03a57023a3571827aad95362f18f3ba98b6eb07651e8ae747e92de3c947c5a999c0219ffff03a7b28dde4527673ab8faa026c5b10460f98072e57c5c8c6e972be5b599a32d81038a04eb3f5639e968225fa45f17be017d64d73955b9897b1c9ae0c46fe88940aa03b6ea51975a03ee4954db51e8483bd2901fc35851f8ed8f73226d9d63497c12d703496440595af672f816626681187c581bd4de0df712554bd9295e635d18066d72032db4af8ad1cc657aefa13f89a0246d2a10c404e3008d4593a419058060bc3e810319b6b70830ffad2110d7105e47c4ca3b11cb27079e620a44593578638e1c3c470365892b416848f0a502f34e33c327df81ad56c39666e61e140994a6c13cce550303262fd219c453979f76b2b492c16f7aa83ad9bc001698f51d2c768542cc4cb643030998398d6cdafd889afd0c90efb9e5ea795689b8c7d83486411d37297026e674037e1bc853151eaf72ac38090e70807f1ac45cfef0adfb35f44d88b6c5a9ef3b0d03e5d6c06b1c32a5adc0e95ea12cb570a3d8f16b6c916e30a09acb2abcf63ddee403823f838951587924bfee3516931abd13c81f2df298f8d0a90edb96b74979b1bc03911533d0537f2a97a1fd0c10af1d2b500ea6db2f64123996ed76105612bea7b40219ffff0219ffff03ecb8595609ae04fdc119a130ac9aab7844e9febe4e766cff94ef1abf3918d9c90395c397ae3597fd49860b0483ab1e89727194a4209ad2790eb95c0c167e311a6f033961f7ba1e5d8727c5c1c66fc3057c39638b1bf1c4d8242f042206635eb988be03d2d2ba94b754d6c79c330f1c37406310f253e8063486d2ac371c1dc12e98041903f6d4331cdca73b5fd68867b9ea2d46768bb7d427ffde558106de18c0cc7b0a88032070d38e113d810e7c76cc7abd5d8d51067cfa8e0b532eb0c53fd9a1795ce4f6035f90c050daf3a12b127db3f5dbcd29787bed30a928188749bf143cc726d8d2810340408bc036f743497fcbbb58232e83424a9205d768a1552202d08015dc08184b03250acbdf7cde159216df124b6ae5f835b7b0b6dddee184308a9fd7299185c5dd0390a128278b9fa37d6c94f7ee952b6e2de92cfea313bcec30a1504a3b7882737e03a6a8b179f05c77c630237fdd4813b6607d3347f015c5aca2ffbff39567f77e2403cdf0693818717aa0834a1098fefe5d59a83f072f0cf4a3bc4cade7fcb35c9f7e0219ffff038c40fbd7e5457bfed4c1f5cc64c7a6775e9ab88a6b8a342ecd0e2de19b564b540319863537cdc034b85fa663ddd5582d3c1bc1cdfc7b8a404a315e39307f668f5a0396d159f14ea940613a3ab5f638a32b0e93927e65a097da44073ef4ad533c7f95035954d637e41fd0a4e12dc7396498e18e693768798c989f3c75552475168f830903fa75f75f045dcd63e16dcef5ccbb90e61772e80b0f42ccdd46103393967a8b9203df755c473fd8400215d7c0177a8a6e80c92926d16f0e93b53c794f3abeaa20c90349f62dcc4199476a7e33bda24464452a76e6edf6e878c0bbd10ce8afe1947ee5030588d6a171274e40d796a910a5ba97050ede68f3469d50e52a02acefad90d300033ee22f285cfa0492e2c38eb4ce4a9ba6cf05deb66fdf60a1a08560e7017816f503e2a9b13f2dd9bbb5f9dd87f0cc850b711822edefaafe7363c4cae23c4120d53003adfd1c8e42493d2929f4a027a132d89e1a94d7b7d19bc00432643258e0871b3903a3f21a59818801873377bc68264b33630e7704761e4ca38db2fc144d9a09af080384a9450b6b6d45b6b38bf9a19b8d37b4e73b7109a758459dd06e587101385553036a7873cddff1c3132d06c25f568aa588efed69ace15eb2e0ac5de580c8ad817d03ae5176240198863832e89447fdfe0dd4f69b409560c08db05385b68e225a37b603c5b4e1dd3529b4d2e7367f9b481cf1ae5cf10f4e3265a5c450f84f13479f152803e44cb0edefeb16d798938d26e1f10e50885c88885c750df77bdd78b8e5307d720364aeaa53d8e9693210ca8ffdac30906bf16b1489af82c73bdbd3756e412f291503b4150d02a68a6c00eb9d3369274aca8980abacfee30789fd5801b85b8328f81003dd5a79f93306a4fdbc1192b7552131c76a9bab2cb4cf5e937f726cc91727708a032e601015d1c31016e7d79fe4dfb9fe6a9b2ea0c6fb9de64a012dadc9e998bade03a930f0ccd6b6cfaa514977cdb6ce9f10cfca1339443d35a7b62fa80f3f89285005581e03792cb60851eb145d6b0773c4253b6bd7396c7c76d08a2acb17a93ef1b0040205581e03776e13f4c61ce31587d028e9b7c4c865246d4878f632b95be0cee5c330040105581e03f3638a72c0471198767b43cf407c89a5898f09a127cfcb17358ee2fca0040103650f27d51d8c85925499254bf1851151156874468991e2f9ec87b8155d0799830359d50c529e2b2b37833a4be3e46fab359b43264b43a7c0685a7941627b1c4eca05581e037c27b3ea7297c02da1db51b0df76bb90a3407ccb20364a171ccf46c31007011bffffffffffffffff05581e03ebd470d3fe14325a72db06e9640657e77c9effbcb5ae5df6fb970d26d00847b1a2bc2ec500000358900be63e8dc031ffdbd3ae05d92bf1502d189982ddc88b1730328084bde997031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03c285bc00da480112013dc5b15b3cf58519c78d6528d2cb3ebf31ec446007011bffffffffffffffff05581e032142609e274aef6e97cdef32f836a7e571bfbd6e800594f397cd02d5b00c19052e49011f028962cce65bfe0219624f0308dedcf770b72d389365c66bdc8d4b6a291a0868b5dcdcfb32f237293cdf5dc303941ea56f79410b8a2f6986ab88775eaba81822d053d8366382cae5da51ec4a910375ccbb1fa1b5520e55322ee1ce6a7c6ebc18395b87b18561235e1162ad75d1d4036ca84be85ca78d7ab8c6336cf10876db79a55c07e9b131d5489e5230183b31ec03fdf58a15b31e7f1dd2e2fb56df7918e6b852802565fad70571c81a51a30491b7030d2c48b72e222b82eb38a0a8e3ddfdf87d0ecee01ce69c4e3027d77fdb9aefc6037f5a7966f113aa1e583d57e15c32f4165b1bb0802f9d27ea6587c62db55a0c770219ffff038c146f60f3d26c8c188fe42ee7c2199071cd295f585f513dc3c7630d772f913e03a196eac06250fb197b6717b5face0b5dea5f0272476d9a1a2a5ac0abc2900af8030610a59533a544a50f7ac092f6bd1a32eab448ada4f43df7b28b4cd652ed48f203127157a023047eef5ef1157e49cb27728c638b9980e5eb196370b8016d61c22003285915a0fbf56a0b6ee22f2041607ca6ccabd19e567ec1003490b0b435d07cb703c1e3ff002a550cc3151bd8bccacf9c18284643a9a4b7711a23934333b3e2b5ad0303284a299bb6606febd1e99c9591dd29cc09697943c8099b871acd057eb5d78d0339d0a6c8a8184a9ea6a89249abcd56ca2f7765437a24ac0abbb09c93b2d9f82a03adb84c9775c3c7a36195092a8e53cd9735f66c9ecaa63beb32e9aae534027197034435ae455219f6870c359c03c6a61c6c35ce030cbd0c461d80e700e039a77e57038493486dbccdef92016e84f7d49ad789f7ed53f229d62b620708059f0d7e142003b6971c7c995d739022a145a684c8632625c04e9600fbf900c2a8640a8a1f9e2a03dcb2e2ad23ba921e611bdcc5a8cc5c9595460522f323b205558c0593b044aaac039c97ab1c51c43acda5b69f7f9da5e74b9b6ae6074d29b2e548ffb8ede9937294032a19340f02c8c0dd2103e8b0c9aba720eae011b71881fbedebc985e5b8d660ed0219ffff03042e911e214c1aead52a116e3b26bd9adfead97ecfb935a412834e6673ba0453038715be16d8d82213cfa82336ef860e18abbb21b1609487a2346f259f9a36c514033a699e6dc696e55a9e65c8b0050eb90127de15cdacf733c6ad2556865f7969c003ca6de57d48731bb8592f6c140e2ddd4ee5e30042ed5f7238a2e36ce641338b24035f93cc17b7ead6ed2572c4832750b434710b9c7228f497a741eb48bf266df5c80368ad645ad09fa94d5069e5603a40c6f34b4fc5a823e944073f6db511ad60b75b03826db879111ae7fea58326f2f19cadd5fcefd067699ca3880e1e5c258bdcd609031d16a101b5d98406691f7b9a242659247594cc227ab4d5922f9987adc188017e0219ffff03b867d5a39c12f884bee4b30d15e421ac3690842399b949e5cde10cc5fc6d0fb603e42b4f42ea2fc57cfd41885c38e3054a3a7395ddb5a6ee1a73ca8c08a4eac88703d7889c696a5e3f85271a5938ee760ffc8d9490cc2ce9f525dc5fa579ebc5b425038bb30b7ca8b45f8afe14dcf81eee36568025153a285ba104b3ac6d996ea6655103982c29f3f296fbacadd18f20c55d12786138089bea7b9eaa66abf1acf7f880fe038c4fc7118669962f62d94035f0adcc039d1a24f4a2def6bca0482b6350e110ee035155c241abd7fe7f288dd43bab6ae9033258448152bef889153ce7cf88cb4400034a77bed5f8c1f2f30d02bedb85561fd51152809b2d42a5a2c382a5f92ea562cb039be3619172e30ba3f78272e7db517cdba6988b791f131d399b7a50cbd10cc03e038439bd809ed7af3d3a3a75e4b347336405b3f7bdeaa314cf901d007979aaddcd03da1dba1603f5c8ba3a1bd55563300c5acbc73eda26bde697523e59f5d9015e2d03b3be330b82ee4eb3b8518a7d27a5d4d13548fe6ff6fcf5041827ac3d8172ed760301a34ec3edcd7dc078637de98bec40639f8d76b067ba1de9221aa0806618b712039b5fcb02a59dfb176c2179216014ece35c201ced969dbaece19db2ff7c7ac9f2030bf5448bf2b18ace0bb75bcc161ede4a1a393f5fd65887f6bdbf1257a63622ad0308194b7d614bd4cfffe24c5beae326cf6629d374065ec379fc4231f64be5a468030a2b37d7c542fa09135eceef4c541342886841b288d11fa927250ceb71c7056703c006431d76d54b66ed4513e09a1d4fee7f0b3dc20718b3dbceeb4607518ee03a05581e03cf0760402c4a34493cfe3a2a912ec524ec14a84b52e2406de336c9bb10040105581d020a1bb56641e129840b936742a5215853642e0d305fd81c060e26bcc20c19788e4903e85269825d46685505581d027f664c78e87075667a422722ccedbfd67e84f24aa2777921ef4c1fe004020219240003548f649b1a2583814fe34ace8822e4040001674ea6c4ade4316e7f52cb061c4005581e031012b8f16c51bd46bb39b5e88d4bb49782e217de34fef58dcd4396e6000c01470338855a72e7c0039643e5cf677f35fb4679a980cd13fc8a826992e24b5ba567a01025994301028003097c8f08371e76a9bb82c38eabc805131fbf6ef1077e9b98a98f47509e30546005581e03defb7371aee9610b3ef2709dfc37b235b7f5855b542f313692d084c7400c05460f3cc50908b00399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908034b80452f9ca99fb533451cd53db43c066c7f50b9c42dc6abb59c197a5bc3e42e05581e035654effd75f6f547c552cc854a852f405ce15695effecc94dac3dabd4007011bffffffffffffffff05581e03c4a353da619fb8293a8888293d099bf58602a44b5a0111d7776b6958000c014702e199a6e9b00005581e032507bb08ee86fe086559abd6fa3af80ca33016d4023509b7f459ed2f20040105581e03cc72de6824e6c4678a91153311c2667731e48ff38363c3ef3bf14cae300c01480dcb48671cb77b9c021939ef0328bdad1e1de56cddc40c0e7b27b5e4c1429ffa7731c406c359384419b016693c0317c49942b695931358f6e7733b58a44432fad9e67ec183ed77b042967b58a68b034243b4cc354da8cb8c778a6713e84ab9651e1c4446076fafd48736fecbd1214d038f7f9dfd30a155259419ebd0684a665686157d385d3264780a35fd63f153fb45031ff36a2c8ab486859ca0208b669fb626423a9da422baf451913d732996369520031a3e0f2ee093741fef0cdf3e29f31457cf906544509d2a6c02d7252db54eb0830392ec0d831d0161985df48b52db71741835d25be7bb52fd7bb8495145f035f5140219ffff030acb87892335ffdf544744cd9e5e05a386eb0954122ced60079588bb85ac27d8030f038dab69e0ad31f348dfb4f6a7ef53836528e4acea82ead081855ae25108d203d98b06f1fbf1f9f3c9b8c7fff650c1fa661ad0b3fd498a748977cacd16624dc5035d3a335ff91905abbcd79025b1c9a31437e5e9d6ec56f158ff105f3b3ddf1bd403f9e3be2c5c5871e7a85d399922a9c65662a2595c3aea187e6e5bcc607b92aa9f03440f59bac6ff17137ea52e97cf4fe4fb74adbd646b905412338f2df22bbdf009032b4784ef0f21a2c17b1fc51dfbc8254d3c4b16379f502126eeba7a4065f127b703f52f5fff34f5380d29149463fba5741e312f0990ca3ab4981f677396f3c99ecb034d2d4cbe28fbf364cacb1f9955d089cc16a6029fe746b79c78a465506cbd19fe037de9d8b7ce17457ead28ee7cc53e032f546393bbd2ef682ac4f07b59ef2eb82c03ad5c84ca923eec61691914ce4e6aa9cc8b112159187ba57fbc71214ac3284940039c5d864fd5df05e25dfcab38a6419a48efc6a090e0a8613ffd21834c540a18b30219ffff0306b1111e875796741776907ec4f72ce717638642fda074d968185da5923c825103531a912d574f7f486300a20345e6c6e2eab4b86b40cfe17e184c7ecab2b0bd3b033b633d1c4d236caee1d2335e047e32c1943c09590f71b68bbd6d2b31b45dc9f603bd21a45fdb18bc15902ac0d1bcf9739fb4ad2d03ef4639d47776590cf4de0f1003bf1d5d355d13e23b19cd3802bcd970e2d7d2017c8ab35dc4b2610de27c7f42ad03fc934197c187507a3f5a60537b2c50dc117882924b4074f502f92bc7858716e903105510bdd92d27e3c6237e2c7bcaf871f394d716ed227df0dd41aea6ab5dbf8e03eeae1095d87d6a981709d159159dbee3de4d5db37e0be911ada1e97022bd372d0219ffff039c14aa255fd83f1f244d9f81b1a00467c9868140529fcd9a97a387893f35a11f032bec95f4347f6156c7db5490fd9936e1bdb9f6d48da6510f4de31373ac21cdc103f10cdf4990bd2836c005b7432d6d4ddfd361404e6b638303d609e8d4bcfc40a3032e8b8697d3b41f158e5540db971620ec5b8dad05370de305049f52b3395785190394d0f4f156a6a27edf4bc25d97b25b27469d265c4521ec033c7ce72a73760bd703c1676fefc99db168d438fdc309d00ef4fb16c4af48408422c99b12a3d9f5e14c030514f0fc727bc7daa90993e35404cd5b1fa07fa1dbbf65e70fc54da6555fab000219ffff039836b41ea6b7f0e44338ef6f195b4cdcaebab9c6e8f4d21a970bbb0dfebc61a2031c6b25999375c533001009994f23d7fa9c940e2ddfd5abc07b3f1cb4bcbb5f050321b40500fbcee7c67e96939c7dc20fc192d39e4307e2319cddf91c3e9a5b584b038c1d5b2fa95ac5bc1ac586827bc95e25f55899b63d8e0fbbcb0d043e8671f69403afea4e55e2ce4420bb14c102c906cce3cbb219f7a9b7fccdc3cd8ddd2988c7b503fd00d5a82b5d10dbc352331887bbfada4e8f084faa40129543f050705a2875f003683ae77fbdbbfaf5d87c2a361f6e31775e4dfce9fec86a29446cd37db3281d3c03ee2c96c27e1ffe94bed4dfd5c089194e8e06b1f8cd98234fe5a68a7d26cdc4ee03173a704635794ed0bb59966e46969948c7065be5af3210f635d8624d43802c2103f9d841a47624ca63aa9bc046728010d0e96875d9710db13e488012d9f484c5cc031020cd8a8c2c5c2d6da6c87378e045a7bab2d0f31349127e147c48300e78f7c1037fee6c9907c0a7165f688a32aa3aa29ea424bf14d2f44889e6fb0390b77f92eb033af3d3ed6683c17889045c63d475b5a045dbd9789bb6d378e02c48f8e5e4f3e3030fb545fc4366d72807ad2d09908dcf36bef05e9deef716b76b608f21cbe50aea03988f895ed0d850d7ed58943323f6b8f91c7ad6e1cb64a4c20d76f043fff1aecf033d9bb715cca5295d2bdbf302ca43f376e0cc3220d09f917094e0ecd492e6054c033315f0d663fce0e6d2330f3f439b482f7e64068cbffb05c43ee87d7731c097d503c46eb8fba42aed6e851dbbd67281e2d99e9d39101af1346c107c45fb47279e8d035a44bd2475bab108f47feed7a57b20be0a4f85bdd562519b06b9e67c9829451b03aa0c5004758c12680b99665a205e37db7d051213a688d18ebec1ef34a34f4540039fc7fe06eaf4d45479e45cba9db0f2c35d141e4ee9035dcda5819d925551de0703a04d2c0c89f902e2bdea5b2d9e616816c34e11ab2c0d941be20f83ae91d076b3030858a7476c4d5eacff012caeffc4df88a1e66a18c2a9983abacea908d42ae6e80314476078d3489133b998be9fb501e98ff99866db2eaa168354c3e5f1c2fa1dcb030cbd4532beb5e5587431de514511783eb0ca244ca480b3b60ed9f741a7dd98b50308f3504b2625f129a7a6787b817ca292a39b305703f08430806b82692d43f179033864a1f2b32e57a73d45641d8c6b3494a5de0fd6e79630e5638e194fac7a5afb0317d8be72e32de8d523eb609353cee2bb9dbbe464727153f5316bf613723eaa0103330abdfdc88de170e38485f7d9c07b6235ab5ad8a5444da1dfc95e5d7ebfdda303a7edd998fcbcb936feed90a43b4be74f7840160f51aa92b7c4b86eedc3165a6603c1c50d00aec9099dc67a07a344a30bda8b91504cd7504fbee43abf699c3dd69805581d02c1f437926fc6057885d63eac8054bf36c6391533d71600495c8bfc270c014626ff3aabda2805581d02a04cc887f6217d6c79ef67e274f8518ea9f0a2d1a996cd63ee49789d0c1836478ccb8a3ad5ef450219180003918a31075b74f6bbbe808f8c2672336676d47a9529eddd4af1487b32a57c2d68031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03f2852d7e1fb6fc34c5eb61e4f71f821a23fc25ba489e6a83b25856fc9007011bffffffffffffffff03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03cb6c1b376ad67c1a259c82707a076fece088f1903e16641b0338b161c62bf95105581e03d7c7581c59c11a4dd357732aa7264e4d386fa7144981e133a2afdc31b007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0370d4149f6ba4cde32add70ae467b346f20491e59a2c42e9e1f8c6d946007011bffffffffffffffff03abedadfb06bc8651b2cd97c34db3f4ce39a83bb2159eacc862786e4de19a1bb305581e030e204cf9bdf81af4c3d7aa322d46f2be944e08175163eb5a27b9d528300c044648d2bfe83c0005581e0343687597cb0109b4e4c3fe6dbcfb8d8a24bf6eec712d5add67e4bdbd80040a02197b640322599a6c2bd2f0e6aae7c1947ca2ddfdc9275f78e51914baa31935b3f4435a3003d650c1df643a5f302bbbea446b1984751c35faac1a018830d2284b29ce17946f03a963208b12a07d186186340c9d8b408efbfff6bcf9fad8b75b67e0fc943fdd85030067bedd9906e26011f42b66f32439a1496f493816d63fc9690b6de933dd7b800355ff89060b363937a095c9a36236ced3b4c47bb8a6a40a9494b3b3767cec546b03003a6012153440d49dfef876ff0676111ae39d63e6e40354957b557633b0875b03487d7dcfa664281b60c0aec223688a70d49eb569bb9eff03bef2d91b72b07da80334cf750e6a9447fad98bc7f83fcfaf7bbf7a992433feab377a37b6b05e0bd07303ba5fef352d3979ca661b5386542de06be0e3598c8614cc45a17bb9e13c60b9de03163042f7d0579dd9a3d034cd6302a41b49059953527da3023989503abe671f68034fed5717b52aff1c43c4a18f300c56f4ced9fcf371fc78e3b16383034ef4d37803fadd30ea9b3ec30ce1e5d418dd1ef7d2e9340e1bad31b9c2eedb0564619225410219ffff039efa5b8abb621ff79710b3249f51b39c5afaa107465f486ffe0f0f19c8b137fb037301f87301ab4adeef5fad6be1bafeeb16a88250711c3f45909a9a8edbc87cae03b55df9eef5ab023e5ad332daef2da509424abd7ba4d3376d17ef14cdeb9286d90342d58d4ea75aa065511e5db5f3413ca49cfc429e0ab6c5b5bfd2349ee0f1f90b03f609f83a4c23469003447ff8963cab01159db3ef645d728e64e761757477e94c03f1d7eec4a992685508ebcc55dd721b5c2a1d62e67c0ab42ee8a73bdbc853b40c0219ffff03f8826a9fc195864c3261fc87e09fc8ed0b08cf730d9c02aaaf9c35e286dfb11103b011aa483e9426301b39723407201d1418788e8978466bfabe7047f74b1e4e35031481510b53c79c5039b755828f441dc3665a8be55037c2c6a61420ceb9bb91c9035f8561dcd2bd466f04893ee855aaf52fb125a26edd66b6cc05a54341049c7c250219ffff03a45f5f669ed9f95432d179cc8bc79de39af260c07f6838b778c782ed62d1f09303f9202ddb31d075bbbe674b9f3bbbbeadd1d44ed66d94a76978772b391c04cc2b03c5201618c5d9bc4bc79fdb4f8d1b1b0bde5eb5da1def1c53231229abc418d6fc03dc3a60a7fb01b77c90924099934a9e11097a5080d59aaa3e7da7b78456d3544003c29ae1a9721ffdd727c80027b48d06bc591d5de5f085c65319669516bb66ff350398a30e2f692c7cf0ccc4fe75949a98cb1550aa04c383cf7dd183fd501cdd9ea4035c6920ceeaf3d133887873a21cb0181d11d6925c8508c63d65b81ecb4aa10ad7035ee1dc6df833fea6f0fa0e9fbc5737e199b14bf707401244174257d3405b653b0219ffff03608d59abf64d1f2b4dfed88750a8c7460d728e06da1e0d6c9cbd317832917e660341125bb4e2860f24aa4762f2a2db96b57b65daa7e5a91faa72f000641eeadd8c03f4f9d55234dc2b2b3cd8cdf85bcd96a3f89b43c6c89cffd09bc3b7567ca65b84035a4064803c3b67e1b66a3b7100605a40af1fdfd97ba59c0fbf35bdd7fd79102703070688f52e4430ab751710c60b4594403efc1a675110b41bfd065f3eace13d3e038cc25684897bbbbd49fbc39829a2cce10a191857eb8abf9c21f4ed1818b1ff4503a50570f1367362c5d71d53339fc74e7f758134953c71ac80c1af75fa838735bd03d076d2954bbc13046258f3940f453f51a1c069a1333590edc6f127fabf522d46038635f44b50fc6b09c5cf8c6829714386c38afd8a245c5afcce44f96ab16a4f21032e7dc062b29206b788c354f6be75e617d8118a5c3a78419246b0444904093f8f0362ca74e9c481f9bb1ed71587d4b4ea3e4dcafdff581786c77f9925c1d49323ea03fcb24688d41e3284107ab462c7cb8baf26018ed03db6c5af93a59eb42f22410d030556ea3c88e50c35bb310f12f7c767867a77c6a9d74ab9d8f053156f2915bdb8039a6f5e14070cf21090a6f4f53e92a318a1202c05c36ebef6054325f40fbd0e6e0383a0d8ba95c14469922a98ae10f14e846c2e99c1ff4dbf68d252136765dfe1d203a668a402749984c4594e094a4a56871bbad8772b95b0c219ba3738bed04e4cca03c3644d4b15e45623ba921f082f701a099f7f0b57f88a3177070bbf074b25df020338852c730df436b1ba4ec82d3ff56f403abd7e28da3059e4afe3f09a9e11c56c030b0a35abdb3ce40d972a6ba9bd1fee22bca1b29b7dc348277a087cc9b6878fae0383dee0bfb3c2265416be55ccfdac542e527af397cb39a2454d918f1be2c7fcd70302e8b46337d7b80a39dc5dc6166fb5543d78b461e09185410eeb7679fd84bbc2038a102d63b62178c03fab60a5be0c114d69d899db140f064d2316f7dcd361ff8f03a42e2cd3e53d47b1358f6718d7d4cfb5c8856eb0271acef9ea770e95c78cc97403c0c9653f4d629331b0cc7bce2c65d85b0093a7b6ec49fc7c416bd8739fa253ea03518d31ae3e3a876b322bc32e8f28d1922aaeb464d63d3da62463b894c526cae203fc899b4245ca86172fddb3e8f335d8d9432b4edd6c5890b92285e7c8c9ea7c2203899c21d368dad7609f38d1768afdb02712a6da2c1c9a7192efb266579175d74d03a82ffb21d922603b8fb06aec7dfac01e744d2758657ef59bb3a47ed3a3c7229203fdfd087ee4a599f3cf28ef5f6eb934f58957bf28f14a90bdca3eea603d166a3503c9bfe3650c5c9ebe9857b2f6b58bad1e26142c51349f45f93fbc4a2a93e3824603be5fbcfe89cbf0a535f6448a562d3c36586ec2c64256660a3c319ad7990ce568034572ad640df1da2a3c9d7b2de095c56cf4cecec392ab92ed12f43029ab7e924603a11f5945ab92faf0e44eb1916ee2e8dfc0837c0864988219f123c1617848e03a032006f56c3f93d897117ab56a0db86671ecba0cf895a152af37afdc675d69911705581e0357c67ccc6c571467da08bc7bcacf4197adaecbae27a1b52a11951556d00c014702ce80355f5f38034b1fce88a7416f12d205e220d3259cac6cfdd2e83e34d5be3cc61f4934868c6503cd2f395546bf39a9e5db0000ea79deb5995ee626b5b5afb089068f785b617e9105581e039afb3444f7646d27d7ecde1c557080660c86fa9bfefc3544c4c2dc179007011bffffffffffffffff030342e4b3d2ee7cef6b38af3d90029b5b51d3ce04d926235cdbb48539c1dab080033c61bc411bc276f2dfa56280210e7976106e1f67a88ac608c7bd2b457d0ae48005581e03238574a8606f16fdbe4def9a9b40994cfbb3a754929686c07e959590e007011bffffffffffffffff035f81077447673d113a4d799ca5140047f48f5172b31d86a1e2a2b7ef07615ccc05581e034c276ce5aae61b4a967957e620043a12a6fd2886f07f0bc9260597f4f00c08476a63bed5332ffa05581e03c73b22b7759ec01717aa16657ff8c36b4e0313fec182a845598faa5cf00c01471254fe1f0a80000350b4e5bfc29737ef181393281cbae0600d35476da48eb1be04e7a22a1787fb43033632bf4ce2732bf33e5ea30e370b35a7e0ee975a3581e28b3190642472c2754f05581e030dbba9c9edab8e9caccfca6bfa729b0fe7af8e06a0d1145a68b4d362500c0147b011a5de6c700003a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03bc049764c0ac2436b9912a4a84b1e885940c535c4f8d409af8c37929e007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d0227fec7b884ad5afa68c7eadfeec2222e827603e4e8ddc3b9bf1bc73307011bffffffffffffffff05581d029c81ddcd2d990ae901f3eba4a40f738f7e02b6d0246eabd3ed6a47260c03470ca4f83e810469021988000219fcab038215c91b4a09fcd3afd577e49fc48f279cd9ab65a766e0dcfa71418b380c426203efb4a2c05ff7cf9380c75c7613d463a6d93d992bc87956274bece805d5d7af9d0327ab739f5192b2bd9ce4d87f5e31bc2b9917db0cdbc1e4cfdf9d4e79f67a3856038c4aea5cc86c6421a5e66800eea6cf2ae8b9072c1b380d2d1200ad051a4263c903a2e3d9b3069f5e662a658cd7c2c6f8ffe1042ef3699c1fc9ce207f758c471ab503e11a83aa7e9aab8f3cd24f94741281ece081c51d6b513e4c596af0ee8ac52f5503bddf2a7b26edc0d351989f650d11b9a94b2dfada8706ca2189170fb6e726d38c03815ab03d784a7c53345fe540e8c460987c94f23e31a68256b3b2a9ab9a1daf530219ffff03634e22e4b28a8a961c26f22f9b8c5856b166299dc983241f79e28d3ec158bf9603d09672d15a1cf773ba924738b786f55ef11475779cd0c7bcf6be07bca2ca3b630362587bc153edb6ab87a9d22eae61b8853f2f6f3c677a80cdbb7f4eadc42e774103a0ea6efd9beadadd7fda257e2911fd2ad123b76fb2c1c093859cbd39be5a84f50346ec89bd247d326525522f5d078f826dd758097a538fae9ac091e78112bcff990219ffff03a880f39cf2579bdf53529299a1506b93822e71f770f315944bdf3dc74a5218d10369b3d5ecf923932197af5ef86637bb76c4931ef056881f02bed5ee7c2302703e0219ffff0307ac92f2af35b8f87736b9fa6921abf3cb25e3121fcbece24cad66cb36c55f1103b38423d8c24cc2b15d9858a9fe9b5b360aba7ebf80d3e12183631d46c39312b203aadb6ea2b95690a9384b4261e805363a2c1d0380fea0c74b4a806ae07d1220d0032c35d18fb57c943954aa55ee2fa26ea615a366a00f1adb5f54dd56b967c989ba03b6074a77e2c70f7b69756da266f941333563bd3b37addc34f5bf153c506c7f6b03dbd001392d6bd2707ef3269ddb70452dd1f242afbd209fa72631e744d902caa8034b628e00520ba9ba8a30749cf7c37cc1839c1fde960d382ad638314e1055ca5f03360b70db9d7cac5ee219be6cb29e5abc6c6080d95b0df1fcfe31f900b352466a03d03e93eaf6ac55fc4c4e37ae22f02f8776c12367d80abe0679afddf8998d859c0354e25f8e24285af5a6d7b65b910cba5a31bd13aeece6a6444f4443d090d095c80344a84bb068b47c8571dceeb3d4ec5d5b34ddc219a2760c0908b2d268aea4c6af03be1bfc730603d7681bfeda176dedc4fa5a435acb06584e00dd6f2bf7e59da1ef03dd266e6e9b8c64a9892153c49e2ad41b4b81d8d82c919c04bc13d6faafd642b1033e1a3a6888bba34fd74c4f96e7d784e08a3927c99274767c8b45383243d181e7035a92bb6dcee1c9c9bd2ee3548044251374832475ed9d9e701e7c36cc21f00e4803a9c2664e6e250599e437fea69cc9569dc34e789f5f1b83f8addc5a8580575d4e03d992db617912f4efca1d5c6bc0e80e40d147983c4b48c3e16eef6644fd327f8003a839ba35f8a0df0db7338be1ab4037b68f47200bb63115cb87db40579f7aacd0037d337e717ecd4ce5f45c4ea8994e476ce38cf937a4f2924dc40cfa8fe5870fe905581e038e5a09e900731c937b9f9cf98dd46edd55614471018486770032d540d00c0447275e593373250003f8559abbbe0eba3bfeca91b590098c70a24bf7c768b130fde193fb5bcc98b88205581e035a76fba5f3ab8fe576d44c03683d3a2189211bafe0e5d16cb0630b5e00084780b6527a8c355805581e035653eb197c3fd399f1a5cd68d1de6f19edca5b60433ac2b56c7722f0700c054730ef6fc5c179d805581e0309a9efb64b9fc582cb3aa2de516620aca954f1cf2b57fa3c62a951f0e00c014750434de6c4000003ccb10237fbb545478774d6e858eb7a1327708de6c205c7195d3a5dacd596120903647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0309649ef5d0e27de54607a47f0520208f93df8363061237d10e681ecf3ddd9efe05581e03469667fcae85f0588263efb961720305bd89608714ea1d1d740c8f27e007011bffffffffffffffff05581d02d5cd67117eb060eb8283e6f3aaf1a31a9234b6478f940d7ca4cbc360040105581d0299652947601cf1972a660924be5f208f708f0e0e2bc9ac6a34afbe120c014702ce80355f63e80459088a60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820a4a547cfc7202c5acaaae74d428e988bc62ad5024eb0165532d3a8f91db4ed24002903a7d585ceedf126aba3eec2caf8485f93e631b4bdf27cfa52684d3ae1c2f83d320367b9fb7663a7622ae5c6ec0a1b089a3134aadf9248911402fd3f3a4a7ba1dd8b0375efaf624b78ee11e60b989787d8e4c003485ff84d1cc33a40b29991d319687403ed043576fa927e25d34cc502b196116f2769a3258ae72e2c9cf015ac06112e1d03c3fa1953ed3e0f54376f3939fb2228965fb9df7a554ca049ba58a4360cfd237b03bbb0b88d6e7b37145f2a05ceced3cd33da78a8479de386619f134f0f5deceb5003ca462a4a2f71b459aa9fb7473483dbc361703e5d8af1f69f6690087cafa96a6303a22a7617d3be7305fc8458dd29c2f697bb7e2bb7d441dfa0bbfee3cdefb26ea803bf3664399614505d48ef85de833a37d3e7fbf023e0e5f43992b6e9534063456903454d7219a9f6999a6d82bb5a9e4abf7b5511e960e4b936165e8e114e75ccdc0803146856118ed93883f000688a9399396d2b549b7dd6c56bf4f7a9f0b3e03635e603e69e1f486e22a208b044ecabd4b5b620a82617ff14f4e0ec720e30f3abf2cc420315723827153c6d9a5a478e537ee3debe72ddad0016f4ee5ce52819fa5c1b1cac032ea39463197d5d4533939eebed1585aa20639a9dd4100822e21564a22358d47a0319ad507c8b977cb53d3509b7cc3c0a3ec98e45d5e3a2232f837610192bfd49d700581f0310f6e6c7a8e43652b8ada198f9e97489b576f668d69726e13100011b7f605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037a640a0f91dfce92387e7ce319d7000ac9a5c6c03f050e908dc42a757ae588b40382c8203867ccd34be1c679725309443683ca73d6048fd052b30471cf771a2da7036fc4cf2ecde4f697ef5aef08c9d5a5e84b83674a2341a4b9f29666ee8085c35503ef348518c155eea64a49a08f8e9d331ba019f506972873b527576fec19d8cfeb0365abd47d2cbce35513b3af827724e350ff68e25f43b5a844000d18bc6d4043b0039960eb5c9f467c67c4813d16df750a188292bf50189e02e10b441f96eb30335a03af9f965c1d7652ee3d394a2b16f125061a2c6d449e854c97d82c3acac7271679035c539b1d5b60eb24186a42d805cc37982aa63adc0a0d9bb4c3a493e5c85c28b00390d2ac17bbadf70f57fcc942ae2f0fa80c418df3c437910f24c874c81c284a2400581e023079be1d29a692a9a3cba9dc40aa76155e90fd362cf9d6ab13fb98562c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021b7ad56d5c4271e11982577335593219b00bcc3b9528c7bdf14cd336425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2329aff00581e026f9bedda8d785768b389a5d2795c7c38ae8a4dd1f74c4d5304036ee0195820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e021aafc4eb7f27da6d90ca37da049de4340cb552058fd524f959e5e7734b5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffed49b1a3f0394b25aa751743e8ab31dd0092f7bdbbc9f651c0fbb68bf576677e92e7851528c00581e02b26958b4d50c9ddeefa8ed777a2dcfe0a5c6d2151c6124f3751999f1124407829b8000581e02b61201845c1d6f18de4bf1c3f978273fe173fd56293c8a92b2cc26a7184401240da000581e0224954b989dba9adcdb7b3974abb7fa0cb9200974827701d90bf0c69c385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02194fc103c22e201ca56f3c4cebb26ea84736a0fbced0e57d602cb37287984f137aca51bc0393fce50da26385bbf5a52505a28b85a25cac2dcc0ed8996112f2e4aeff8e43f30362427b0e35e19b6f3021bb671e0a42b5c2313ef0ba285e31341acb8870b585f80219ffff03de3728048a67332b16a021001e5f7dba1dfb8185672ffee10fb3dd35063d7671031970812c1a237d9dc42a1f5623831a99809041f9ecca8f0b6a8388c27b51b0b303071cff10c76a6ea25bbc8683ecab793865163c3d1f4bab219aef4439abd8ca7603185972c1483af7687495a3d5e5e067dd2827e6075dd2b7e428dde79eb7344aa703461f75be7d51830cd195f62e570b386a7b5e8c4eabe3982744e7cce3f441c58903dbdf027972b4a16f9e263149c12aafaa7ac7ee47a4e36f1424258257c9e7524d03c5d773c4f45457123147d17f34d1aeda9c43a38e425a6666db6c377439be272503b66a80710cb71c67a5b7ae09f65be7a8ab99122ea4134fe112ee6e13f6df07e9039f52c5d0c81b3b68f989453c227a36fdcc68b0fa427231217298a7e63541585a03a0a8c9876cf59c5760664d52ba583713e35cdeaf0d67be14c19e392ad20ce084031a65e2b72d8d11fb801dfd09682cf0fa9088633b59f5472e1498b5b8527593f903a82a7fe4f13ec4eaf1bd2f6d44354097d523f5c7a0a6684a3cc92f08473fbb3603b7ea7063235ac8b987a57a8c850ee6d555878604814b0e4ea0480a9ba3ebbe4f03bf616e0aa68fb1ed0d5eb8b3fa602290b69cf98828e86c0ff78b92bea03d85260219ffff033e3091857701ed84bfd4babef8f80ee41220c3d25030260f79d506f09cd4216f03d25d3bdb5cd7ce8b3c7040648f976f9217fcfd40146885ba41a6634f586d19d803c41375bac57fc65d5b3f902c5d81eaa5b1758a609321258876e24dec5bca79f0031ca017440e6367f1bc5f40df513fb7803ab0511f682d5e377f3ac768304da6b80322eb1f7007f40d38b934ee8a97f44f81704755551700219b6c6903db6a867871033c0416f13b22cc838ae559cb17ecd36eb8bbe5ecee911ee198c7cfbd1053c40403edb438cff46352fddd2081379e5ba1bb4cc49fa212596650b72b8adcb1abdc0a03227bbc80c96cd210207119db948f5a998ac8adaa327d7c04648ca51a5c832085034fd413e757a226c08ed1fce31c0020dfaa3b6a468314865d22ddacc3d6bc1ae70219ffff037243c486d80a3cb538ceb0d8c563b7d67180569f604e8ba892938c5cca1bcbd303fe610969d1f153cba36b7536747850ce613d5b373eec7cae885ef400186abe3e03022260f4594f3ae74cc51f3199ec039db7c1365f01f2f06a7d0c052f8ebc8aca0351716bab29e091b1c5a038765b4ed20b794c9e665a136036fbe75704f57974a3036d9532aff14fcf467d3cdadaad1ae18eb4b9972e16a6b3d608e2091773d9f40f03268194054f63f7628fb4bb70eaa25e642e95042dbf83cc3f1d597b2bd08d4d1803d6ce386bcb2c75c4cbb85aab63625a0a0f9cca598a28015820b9953496610cf10343d0a6c7680f5bf58d1569af2325129b7fd02d26fe3ba963b297439dcd155db8035f5856601b078eee065b8e97684f40c30929d406fab88682f24b3b19405991c303f05d69401dfbf5d49a08ea74c937d5d8029d0f2b90a40f560fe1dc7fada395c4039921f336ccb00a9fbd5cc918fc012850d3b32dd5f2088664484fcf79cdc8fa3003cf6f7ba411f52f7172e956b5fcb73131479efcf34cf14a6d6a24e5ce295802ba03c35508bf801b9283c653045a794d243484dfba659ea117fdd33a146db318747e03745574e69c64a7c20374b3b361d41c543aed0f84c8b35e1fbe8ab746df187da90382c65405ae3e8280b015f3a7cb7bb9fa01c29a4fcf022b0947869721c4a8a223032ecdbd9acb0698cd309bb337f618964c5d88e96554eb2843f82238c0d5ed712c032b73b27446442dea4813bbfa8176049176337d016383a8cb2cf8d84b7719ff7f036e04b1f72c7c2ab2ee33d33b9587dcc73bc0137cd20971977999d174b911d6ed0388423cc74df960b6b3afdf68b155eeff2195c45c9bb6264b3377b142257984dc03086d4dd8f2eee5eec8de05c94c6ecc21131f21af6158faacfddeeda69c2f45ae0351f887ce35e9531190c0675948091ce19319cefc8f45b0750062421039dffffb0362f672396240c0ee4d5f12b8f1198b156e7be93a9d6faf5bf2ad1e4e81db564403b08199cca9d9c584ab1f29e7186e252872529c6e8284d39de423d152ba25aa22034148149f1e546ebea182e7cc4cd1523c7852275bf87486e04c486d72a857f43d03299753fdd35358c6d2f319b1208f0a81b564a8c2679cf2b0b369afe3faf997c1035bbcfc4fba0f9324577b55dbdcc402bd4e45def541b4f489144ba8632b41dda503fa8eb0d5d7e196096df7aa028c808607ad3e5a5010db7487e448edd56dd14a1c03c0170493779ec092c574e976da762b94d26b76837df96ff2b72e9c120ab7bec103a8a9feac1895426672f3e8eabcb2d767f6277280d80dcb682bc7e2b4c1df12f5038cae0d86fcfe3184d9f868080553d0b53e398426acc98bb8dc2908cfac3c4dec03a7ba2eb6da9b0bf8ea61c978f0cf4158b3343895b5821cd673497084d7ee51d7032476823acd04d31390b61be84d9d4d7ee1077e6db4cf38b0fc820d73b94c07f000581e02a818348987efc21198638a43af425294e0cebbabe1f3c7676a812e34a654807a96288a1a408dbc13de2b1d087d10356395d200581e02abbad38fa3fc14dba397b83ac7e8a7bf4220ddd174389a427fd84435415820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc46535ff00581e0248b7e2ccdd56cee52699e9315c16e7f3f0dc33119ababa60cdfb8409284417d7840000581e02ec2e256dd7a246351e4b2aeeb0835725f8a68497b181b9542f1d7eaaad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6377579e021924600376b5db022a1e327ba14625dcf5cc39dabc7f83eb6954052c170fdaddeb516dd500581f03f54df75f9e00e8edc3d82f43bb15e9658039b147de3d96e980f9bdccff805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffdcdf1bae03398def5974c743e0f2687072842f3f0b88654a88fee9d446b459031efe6d9a95035cec8bc04e48d6815da71d69d016d9903d542ee96975155d8cc68c9eb1999ffc03b365e1710127f7adf4b5462712752a6bdb245c5c5c85e81134d95a91f26ca32d036965770c9ae2ba0f13e32cbceb3189c23ba602d6de52a16c8aa3094e8a900ad403c8f4c3ddaf59305a1c4e6ef0831cc2508e82bf3ed29f65f66462e453b81dd3a60219ffff034985ed615639be96e10df371e6a66c8684532be11902680ada559a3bb6be8fa5032919ed219ed57d94ed821b64c72fd7120112b24976ff536abad6baeedaea84cc0330048d7eea39d13072061299da2ec0c3b3e2f225257f602ab17e8ea324028dec0300a32212da1289e0e059f092502d824e5afec1a421e0307def37927d50e0343d0378d91f2878396c897f800b8976b4b8a53c92f8a1a2bced6c6f3da5f5c871410203ccf7870c2eb61d7b7b9826b26f22a59ce28f35b6134b2b6a17f8610ea03ccf0c03d9b74df4a357265b0bd37bcd52f8adbf201e8440cc880c7ee32048fc3f9174480219ffff0219ffff03f46defe70caa3ec2369f6acd8b555433bc03ac0309557ff18a4c2b46ae03bd7503c0a85666dd9f8ecd319290c7164f448ed9171d0a3bb4bd14f269d67380cead6c03fd7af21415f3b536362fe22c08ec174463fa6b76927a36ef238de3cb382a118203eb574f331b57bf540181275017eba84eebfdc558ae987fb35bb70dffa444b00e0386a694826f9b1fdca1bd708782fa5dcd90c362d98a511c8085a72ac319418f6e034602aee70736cd9058cc05f992ab559649b357aa489426d20c80794edb2e366203d4414b14fead8b651a164250003f86ac44e2c071c4d292c0d96b5ce1be2457440313706f2cc2b7feeb0d0281be6b49d571b335e3d88cdf0a2639729fcbcf7605ed033c72c6475cabe5256eff9a706ea2afcaf92c6a37df41ec89241cdbcb8da4df7b03a434650d9dccbc5b5fac4c6c63799210db3845ea094d5f2255c93787c471c1780372b8a1c6fa2c40596419c9debe087bc52359340536adb6102fe86ddd6917b7c1033ff1add5e593f3d51816c15c43b2b2466a7fbf6876ca26f1af5093f96f4a17ab03d595d448b662c821660a4d8b1fa007b8d4e0bb16a5e33820665e28376da2c68b03c1e2206dd010b62a12ab5b840b82b8a19ddc8ea0a6de0a5a04217e6f755867a6033bc0b17fe3f1a00369cc428db10c3fef6f91c7b50ff5a47b00670022dbd5618c00581f03f1a7d6580d5e30beac6d07524e5247a307fbc24e051f3158e47d69d2dbb043edd836038731284e4a9393f52366c7ad329eaf00463c91122a439a1b0d99c76d32b701f103bd6b44c19117b7ef01d33db91c05b68c05815ca8beef40456c651e008d719191038150af452a796bb047a69741bb110b6da38925a6f4567651a53cf9a3e7f3b0e600581e02f45a26a4406ebe933c7eaa4ba5323c1e44cd08e4b191fac36e8c126f915820fffffffffffffffffffffffffffffffffffffffffffffffffffffffaeabda52f00581e02ade093b00482e4b4956c21f37bea140d9b71554fb7bc7fbc56ff683c4846523f94ddb0fc00581e0266e857e75bf3041d351261b9a972e806d636c3a3cf2238a999c9fa87654b4a817c7ffffffd9a12790000581e0259423903f227a5467686d97510d252ab58e1365d9e9ac65b5e323c451e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffeafc61fe3f0219840a03f6a061d56143657329dd4912c3c25622ac562541438a1df764e07db3dcde8b0d0318e5bb54a6718e69b970d2f8dd0619b3caff87c00d7f1882aedb64e1bc5798a10338561c61ce9e61b6ab7128af313e4a4bbcdf0eb4c3b7d7730212bcef91ab972c030a54165d2fa45c94653ff6b278a2c7eb8bbc2c959823f0255c13c212c1d4a479030ecca0688d0762b4fd212cf3be7f73ff5710e03e9570acd94507b95d5b5acfb303d5fd3444416eec47183e0c12c62970d56b4a4d09605533ead508bd60e15f9f30033cf59bb1ac1532fea0e5ea5a034a0c70f19049f942494345493b674573996c7a031efb5f2de98eb9d1816045d0beae3b2bd3c1d973d593cdd6da3df3ff55c16ada037f9f14842cb4f513e3e5dea52773ecae61f453cafa4388efc464ffadfacef4230219ffff033c5345b807fcd78af138cb6e4f4e0d33a34d427117b4e38dae77c24915fa94f8037069d96ca67d1b377c89a550d155e2c87148bdec3cfaca415965f49381b201be0378b7796f92ae3cdd7d3b4f60aa137f45a0e2d44aa2b7ad7e9951929c194b5977030c136bb0fe687f1937817c8bf981a7073aff3eb89c9130fd4a0dae740a1d2bad0339f99a743866b9d1f07e7c44baadb2d3762e8afe057328cf87258e2766ee321f034026e53445f2d033e176f8fd179962547b4511b5d5d324e047fc26d84c51775e03e5538e8f8101eef8a4c2dba6e67d2b2f566aab8967cab0a1c3e533ac9d7f6a450219ffff03c3b8d610625d48872ffc25fedba817aa997a6bf1821951137466b6aa62a3132103e07858eb275dabc1eb1db3b68bb5a743216f9b51fbeb71397fe73368f61ce037030ff001511e3a713db2d0ab5715313281676c0e023e7b439bc39056930a1c1f6603d4cf91d8cb192c2f5398a113e891b74367e94f5a6f459f90eca03d15bfddfe5403ebd7523e106f5360c917da6e95b8511b6d880d97a3f0699e31467d26b55de70a03e55645a69d740ee8fa03593b7c80e1be627ff761b5b4b4aaf4d9850b358059160356c3b158f30031fde5921325173cf4662dbae3ccde90d8e793842d821e771b1a037ced3e4c5a3b5c4048f6fd0fca6d1cca4036cb6e973ff81dae1fbe215717782103c633040f05c5b6d350ee78ab903edf29ce951e9da8b437f4225213fbf7a6d05e0359c93b05dc69f8a9f6220fa107c41489ea6d050d7150012b97b6f328c3deb4730219ffff033b3c04df9a7d27619c6c8897d68760a7f7eead373f1e932a0fd90ea87b02d0cc0350caf5db6dea218ebc3b83e75807d95edf6acee281a9c7802a2f2fee07bbdd1f03079ab3d8a821f747e588f4e5fbeae83147ecd7d4c0d70757942615da1c2fe8be038ce79bde1ac1589853d3c30cdec1acae183a3aba388eef6126d2fc5578982e3d0312af9d46ac858c498c5e0ab3f8ef53214ce159bd56be5bc17a24be6774e66cfb0359fc41afdb960844faf193e75fced5f65b91db477fc7fb480cea8acc01c4765f03230d2b97e06e1905660334494b575c9f843aa908608451b24383bada0488a9e20301b1c5208edc3f0e805cae8710ba368f197a14d9ae3a867a78522bacec1fe3a603f11d6e8715d528cbfc91f50a0a1b38bdb8ac000f4f3fdb2e1ba477ccb130e4aa0366a946e7fc9850d1975a03d48ded5838076b804933fdc6b582318896abe8f3eb036c0151fe0a7de2eaf07709b30676cac952f0a9628c52e72ba0d6bb406823dd03039b6643a798eb343477b5446716c757f60748e9e310739c0ab10a80f5cfbc92ab0381c0f7bec5b8d27281f30b43742083a5977c10aa8a6fe9c70ed769280038061e03c9e0d40106dce942d1979fb162db7db94f0f6deca53c83e592a2e139e7c6963403ce95ff077762400e4b3d206c4a24bc0377b1990ea2ed364131330401f0cea2dc03f93dbf56e0cf09329b21f5fec94d1126abe3ddc1d5c87f6ddfcfd669c6c63c3603855e8c76dd96229972f94c6c68001cba1ef8f4abc48a6b1e814321c95f24959203f83019644c48dce42fc88166bc8becd953fde0cb9461e987e25d918635ed33c903397aaf7f03edb774a6c353343af45fa8f6479144ebdcf2b7e351c166f21f468e030d9c5cf878b4698022506a6b2f829ec9d46b9ff981a90e6e95ac34dbe2b9d5fb037a35428ccdb1f060a30ed3d30e923dd70f517126ddaef9c49d2ed54500ec1ae900581e024c7e0ef0e5392395ce7452d4e5eb01900919f7ea753570abc24763692d4664dfd8c004d303ce57e5edd483c9ec130333555cd60c9d3082ac31dc303830ada6b26902dc100b037abfed7573ad322f5d2171c142351733c704e3e57d3d2dd63cf21a8be9416a2300581e02260608623466482f88cd4120ffe69d5e8ae6875361c2028d7c5b6967b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e020d5ba211db4292cd0fafab9264dbdbd95376e3f2f2edb44a004868a096438b92780219d08803da5ed3127197e6de1f3273691d8e4403d1750b43c89eee0737fab3c6f66e573e03c8ceee3f94412ddc73a584b262fb065e5e4488cd4d75c01a5ff3a75e16a1e5f1031ae572fd780422acdf8e84c36a25dd3b033651d2aa3a5c0d8e2ad6c258abadfd0356b1507f4f284e0a38b2236ed687625684110b7ad2c11bb354da6c1e7d778f1b03ea40befec3ca69fe72c5d0f7f1bc494e9aa1def16cb57c2d2dab41d0320985960382b7515ed487a1d3c80b573290085152f1475a9b01bcb7ee9f911d448971871103992b96eaea2b9d4bbb535cb4c350ac84ed5d9280dc133d0c8aee14e18edfd6ce033ca334630a87bba2b41bb9eb9c4f4d2a28566c82ce3c18d1e7b3bf9adf9c226003fc28a661ea73822de39a545dce416aa7ae5a57d9c71bf86c473cf5fb867ff7870390092daee5c065cecbbb4a5ff361bc8eccdf70379c17c706a17f4ca23d9333f60329801babe50600652f9d924a99fe4c26cea3cb72abb004e1b0de13a7ea8e310f035f12e957aef9973cb13e95b3922140c3ad9e81ca5fd6e51a3e2261ea353ef9a8031e3813001307be53b78d8308e75d52ab271ed4d72bdf5a262462eea898d3c07a03977afa15094877cbd3b5cd660be5bbf09d4a680a94785b3019477d18307f2f6a03305a4c9d2751b3c4691d44dee0bd98a480c9324c2088b3f847909d758b16e6680219ffff03f430a99c4deea601bd9d87e98e970a85efa0603ca520c531a3692db02de2fd8b03da8ed28c6e127ad660ac5297c41b0a551eddc08136cd13619f09f3eef3fe4d5d032c4b9212966a96e7f8ff5183b2d470b6fd5e91e4517dce02ff689cd548f861da03f6bdc935a4d45f8a36e6f1c4ff09ebf3e84051f300b3dee4491495132bea7c3d032a39ffa2692882d5b034b03edecebbe6f5c5165fdb4dc75234cfa1f2e4c6d274036e5c5ccc6c4c891ad349d4eb307ca3ec35c2e95a85d180e838f48ecdb04ce3c903c35928bd1ed011dbc15aff12a3946839e004c11593fb96bdbee8a59ae42d3925032ea5ea234c241374bc8dc8da9cd2445ddb8587e6f8729f6eaecfa753763c34c4038915aae1f5efa85dd18f785d4d805673668af4c2efeb7a10d35e9d05b13d2310033ab00a9d80f4b25eddcc31c658ac3c7781eecd0ceb4b516d8e463e76cb978a950219ffff035f387c4941e58c0f920dd6f329d075d459db3dc55f6644acf19cb5281127d55a0219ffff030d9fc0af42f7606e965acf2c9db784c082ad9b876eeca11fe5de25bbe7851b970302daef960e2011ce2edad8f7914eb28f24033bf7b475165480a07ad0307dd29903385dd34393ffbaea6bb0ab6cb42c74c31f59b49513b070cf9ad796ea42b2bfc70219ffff039d649b9627c79cb1fa2216fdab7ff18c4b349cac425e8bcdb68f0181d5a4fe0403fd98e56eb17d1bafdd9a2e125b060f9d54962a6229d1c9b918ae8e19f00136a3038a659cff7a8b5f5d5d945a6677dcae201e95c488f4ecb14f0df088da7d47df9503b959aae610b5612718b0a8dab3d3d6f617e50ffaa13c7a784cb795d39ac9b2e403b0dcc74d78041a0b7abae585f5939b63fec1feec2d3028f7e41fdd6fc9971a7103c8d36e9e8a33a5f0f4291e725a1d35ba16214864de3806a48b26eddcb3e18dd4033fe5f2fbad5ffbd2328f636a0aab647ff69e5c35407259a898f8a860c377da1903e5e5b1fcf1c9927ae76740ad055bda0888b932aabcd309baf0bfc703f859b2d503446f2464e3db10e5cfa7c37888c2d9a5c1c28c341cd1d8683d7514815c1f69f50338b265e0d21d6c3314213396c2a90d7e1b2668a1773e84bc1a02fbade7ee8840035e33af420b468766b375044de2cf6f97bdb5b2c9d47ed1bf50b19cd82181d71a03b0ac9c09b8d9f716247099f2307b3ab8e90b0def132dbea5fa39c2a2243c61b703293ba08176bdf072847a9495d722bc70e330cfc66267590b6dbd6d04c012ffad0388ff5e6c6aa14d8f346f47431e9df87ad98062ee052e9f283c90cc50eec50dc203f2b477038edfaa5443e1caffa2eb3a27f594d15c4c0253d5d0fa4001410b69e3035bb383f55fc2e2ebda8ff6202d933aa450d895ec189707c99ccd961a0c422a0d03d5341e3b0c6deca6797873c88dacb6f69d622f05951564bb98eb99f50ba7ff900390ced3167f61a5acaa7fb36cdd2db0ca616357ef32bb31d4808c451d7494815f03560a28c34fd3ba566f52da1dd7a480a515c9e724931c574ab323fa51a7556c6803c41832089a2aa0ce670362e293893146232d719ca7c041c13edb1c107df0f36103af975b84769c930bfc057c7562fcee64c45e3aac58c93e56cabeb338402e9b9b03a4aeacd1dbf2a26d5696613d2a3207c476b821803036fea9a81a0c40c5525a2a034978d1f8c72ef9a0ce130713b4707ca8dc00a52aa18c0e83b276ac8c71ea11c603afe056b73e1ad844acc24eceb5e6881f503253829c51a0aa3364b942f4ebcca203d7b28f66daf834b1398fdab46a7117798ff4c0598de8016553f4e46d94feba2003bcd6851ef5caa4c5c57714ec0c6927556bd1aabaa77f84a67550f314a2e5bd0f03220bd51a41438b9b9568f72bb0a9ce75cac267d8c4bd7242a5919267fa0aafda03a95261339dbbed89c58117c2e8727f562036da500459ef0bc8d329c97da0828e00581e027abca8ed671ba1f0bfe61aa93038242cbded515173ca2fd2269e3014ae5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffb14784c73200581e024c6064e55718a2826b7baa66b86bc03935ab614dae4df3829779dbcc905820ffffffffffffffff6e5d2d49dbd61e236e98bdcba76f3b7697ffffff006e10f600581e025d80a2e9c0c00a0739e32bed4f53a42322cc238111140aa0d5826f08ee440639cf2300581e02e5546b840c7d624cf0bf21192e4f88d55ead6ac041a25863195d6abf4d5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff49a6fcf00581e030fe4172f74067bf9a31976088ae7979bb47ea481458ab977f39a0b46a0442662a90000581e038245edcc1353e7cdfa7180fd068c2f05e7b00fe9492a0a7f7d1cd7eb005820fffffffffffffffffffffffffffffffffffffffffffffffffffffffd4489948b021400581e02e0cf0197782815290d155088401af625c3c3436739d750e46a69d42773440525b67500581e02dca8c1e74f65f2e093f174289fff36c152753403a5be2e890a3f569db3440102e3bf00581e020daa42d39dc295292186ac07c5d95a27a51b562c19b6210f32b0972c515820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a6598cb0387120f5eb827c3796feaf392ac09babe2d3362a1dd814565e1b7d2f88e178c4c035605a4df81bca6f6403407a73fa0c97fcd135cb03821b39fa32f899c1b5615300219f65c0219ffff030cb7ccad7703ef238977521ef4962f2a2887b28565a11fceccc59c648024985203e4290f01560b06e9ae954fb7e976c0dc75dddea11f13168387c2623a30f06a4003b88be89244a420a54ff0e2d5fcd0346fd63db747b4dec97e1a1ea9a241a7bdd403060ec109e357f8f7fef74b26e1dcbd99ddd74526768ed4fb5c4e1cf13b053da00219ffff035ed32c0a894ec190c46f3a278e87f59b9caa7b2f05218f14f03fc6c274c240e0035c78df5d5d8d7fabdb188c76d4097eb5c0b31e72ff0e1dcfa6764c61b445d0aa0361bf8f87b6bf78bf1748990feed505d8d41b124448849cea990d585769e6f1a5032e87780cd64bdd1027711d4f2d3aed5ff981039d50609a4e9ba1133994bddcec03a4da1973737326b9306e9ba98e98fdda3b4b52544f4e85accfe862b615b1d80a038dded1d932dba5a98bf76880439521be95d5ddc77362afee18f84ece74724bba037f5525b4549a5a5229cd018043358fe3198cca9ce7117f13c914cec7a65b836f03a5f63b50efeb0b955ae5a92548d285b8ab62587d827563a78e09061b2b3332f603bcba606a8f403ad539b684c02efc1037d0b0aaa662949af2bd4345b1a8b4b6a203d498519acde230639f5807dde2db7671d6dc4d6b391f84b640a476b2092d00f703a1a3538ea994833e67f85c154724649ad3facb26b9942470fe50a0f9c1fb4b1a03753aede75796b9872f202e844284c286dcfc77f2e77b6dc3a1b1d0b5c8ef3be4034d74666beb3344258e3dd2d1f0f69a4f1b75144b21418209dccd7844e31161200219ffff038e3594fb847d149b606ffbdcde73b5280cdc76c960d0cb83d7affc80bb9f66d303dc939dead0aae9809700e4ae0284f678d77e102524bc71459117a93c4b5ba79203ec76ec7cc054b8d4b09c47519bfdb4317cccc20f4bf1d9f15a60ef9b4380e5e803950fc523ecca75bf01ae7e7e9230d95fcafffb2d88f825f200a9cf1c9193384703607a875c012bfed1610afb087a56c4eab3fdcc84a4654fc74a935434bf07725d0320f57888f8e9bad15637ebad372d2a4e3f3473460848f77e0e2b5095318ff5020320df82192f9fa0184f4d727b180aa8008ee9d0edb0ba00c2201abb2e323052560347b3792ee44a8a4020028f085b9e0dcbde70372a8eab0278d56c2969b3d423e7039b3487d720552ebd8ef259491d5e70cd0b990b583c17008b81f3274e994779f4036f535883141a400d5b44050560fdad64c14c503cbe4beba363cc6b512429289203ad3a8274cdecd572db77cc235b66963ffb6c69060e1a0f4f285387f6a3a19e510322f17b0ac05be0d4dd8522e2dff82cf8744beb2f37383dde79f4a2b383950326033ff98022aec666c924b05ed79b4cd216f942781db6dd61ac80a80e72193549f10304ebebea7010ec84dd0ba2612968af68d5e193e2ebe3328b7c84e3890946dabd03f64f63e53a76e50e2dcf47b91c002cdd7eb6189150a9b9f11fb7690164028fdf03b82dc08d0eee3148cc3358d44269bf7d3526f0a889fd13fc92dd16264edcd1f803b4013aa404f8d55e64b894d73b984faa3906d6c704e40bcdfd053853707582e6032e62dcf09e020e6092f536b7c83de9614b6bc36431305ecdc6e97002468686b8035ebf544cb01ea24a65d4671bdebf15adcb87699d8839525cd466d209dd1aa3eb03b646954f75b281ab7efa5322a6376f82fe29df4e00de069a1f85da53416f31210330d4d110cad2973424609312e42131636e908f00fc8d62dd171108b081caae6e0349b1124d15bf0cb777293b0a2cae393ad791aa828f57ffd7e815c82d701b8cbb03ccb523cf1dce361a105878421da657fbf2a5b9193451f2eb353a5fbfc64514fd03fd8b7cb5633a36ed0d7bbb1b6963413a50bbd8f3f001976c8a22f488582a12f000581e020fafe1e42e8e3440db523d40458b01f8ad94547773e8e7b23e0009a2545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfd040ff00581e022d3e2970be30167ec1761db36cca4ee8a18685fb033b6584e8907475a45820fffffffffffffffffffffffffffffffffffffffffffffffffffffffde88f791d0399dc45f3ea59e9e6fb920966829342c84a04e3fbdeefa0b50c85b7779ad6433b00581e021e7edb1b6cd15bf4d3249bccb269bdba0cf5b8f5c40b1ed4ebb270fc6a5820fffffffffffffffffffffffffffffffffffffffffffffffffffffff28e4e633a021988a003c112fa61ce47db4c0c32017484d09c88d45e838d269a14c31692e3f04d19b6250388e788f253d8a42dcf2b3e14b560e569a985798b60cd4df23ff28018b2e415d603a562c028a1d77c72171dc98fe0634bc8116af929a88134c1221fd7a02268e1a603288b0f010bb320f45c5bed981380c36d3acf2ecd6091da3d2d00e197dfa70136036953fb3a129ff29854ae38a2c630b1da42b1806501b8115a11337e67ddc326290301787cc2b81caeb75fb1695395d29de8cfe712fe4006cdbdfa6184242eae16fe03fa952bd50b1aa3cdacea2400ef415bbe8cc3157755230381d2a9bc5bc88ab84403d0d3300da1c65ee868a42f786ded3b939f9cf2fd89e5d3a5d25ccafd114b2ea003869fa8ffc5cd678ea5bd5f747e5f3b5992a388ecb61fcd1b1068c2e2feec0876033d32b4797232b03bf43f6a350ded2cc8f654d9f79da6828a74425921e0548a780219ffff0219ffff03638bdb3a5abaaf44326d0ee8f64248743baac5863b7a2b2dcc3163eeaa4779cd03efcd0dd79a02f8d253095a982217657dc891fa0558c45e8e765cb10b3a4046ec03d5172aa7bff638febacdc3a4b70ab0718b8da538eedf0ba2fb4bc19ce4bc162803f1aa3d80de68db0e6ba102c367338493f5b5f93596ce9d8551465b98d7f7c78e0388d9f5f61ea86eead9076e0ea23ecbabfc43037aadb61e61a24ef11367374ba1039989d2234b7b48cb2af7ea0e2876a11c5c636c9cc73bf1acdb59c1d5dfa89d640318aaa589b1aa9fe5b755c6e4ebb5b3dc38a53c16ebe31441af269106442bc5a1039a74f39dafdace802388f753bb4256e494c0f6320cf2c661f69c952424bb293603930629e086b4a7cef1c5c1937696cc7a71659ebc56565c4857a128004894a6b0035b00d7826453ff09f0ab889482afab4ff141036da4f2abf86a146e492ac0f4910396c018f773a95fd0a86e6d23f212ceba0be6827f94d6b9cb6634bdb0260a00a20219ffff03118f3032280c33af665f015e108a98db0689477e60f9e33f151ba4e9cee6e6440376fa5d93194363eabc8fb216035d6bbd0f47295c032751986bfafe4b9e080c6b0361909ac889517c451250a6b23667dfd2f1caeb001e0bd292c68668a0b4b91351039df86c6c8f45cb9832022887b939206df597af82e934445d5d2f1919ea75d7ae03844eb61012309db2c7ac2dad172b61107246629178b0caac5b23831d58edf10703b9f7a50fe0d1a1763d857ce43b69617292e0c8262a2e6f1d55403563428aec750310787f0fd0e1fe2763ec5f9b96c1733d4f0ace6b36dc0bf5988e2ea31970769403db58b4d22f81af458ae1e35aab1fdfbf339ee088e65a251727cb70e92981149603ca49832610be2aea98eb35d7797cbf3da4407edd1ea042f2868e6c7b3d80355203e6a80870d1d7bf0bf4d78e83bcef4cab5f0fb0d2bbcfe5e0da668c2e8c135af203f2bf860766a431824c3140054b95d34fbc74744aa71d35fe67de8aa713d035b3030f4172a632f42272bcf8d6c11f5fc380a92e77ea88a9682295535e41611b8bae030a9dabe2ba8cc1ab16d2fb41b0ab8b7fa212aea7cab09c5c72ddcffbbaf63d3903ece7eec65cdb9183e37b937892f3f4b416f49b3be8760ab470e386cee9d640e003fa0c9e6376ff6d8b1dc0d6389c141236989016da3f1fe4cfcf88d83c24f1398303a8730b0014f01f9b68fb8811fc437d6f4f618ed46d5591b1dc97942814157bed03e6ce06c6e739c23dae345330fb49cfa530a9d3ae72d324ad69a67cb05753532103f0e26947a53041bc9cff452e0c283af456649cf9d5df52a0c08b5a41c2c014ea03d06cdce90fca47fff520e2401bfd88753733cc2e7d596bc41bfef440f6a8084e03f72688eb52ac230686e0624db5380d1b3edde0d6de2247c40c8f95e7b9ede29903807ae2d7581d34fe443987af23970ba05e984766031146ba2332bddc3aa0d5fb0389ce556d5ff7c08814044f30e08754884d4a035ddb84578a39660e09a041d82703e7323cf6eabc523713ed5c773c539747a26e2771f2ea1a178c3df065e0bc776f00581e02cffacd40ad8126c3fee32d59b3921e10aacafca07cd96a6d58649207005820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffd04d71300581e02178ae26869326c107018130cd3203f5aea76b0a1a37e9183cb237d43b6451efce4cf7000581e0247a4b7eb169d50e389f9777f15b09f77f1c89c5935c10253343528982e4501edb207a300581e02d106655ac647f8aa71fddcacae92b2c0f27ca81942c2a22502ea1a4bdd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0c9d62100581e028ed6d2354350aefebbb189d0cd6a7cf43273e42595a7070a92d391a5fd432dc6c00350f579c5290589a681d761c7e8d09de4e9350cffefee8d2f5c04c40056ab391802191c4a033d09e009da9639f6531770258cb0d5615901f58cf5f6592d618407e42a954e4303e0716c67a7819a9d8764db5a01756767b6225acabcab0baad2969c299ecee2b203b8fb810f52df54c8bf7a21d3c4b2ea54689a305e563ac42c14f3a11e0e2808ad03c5d3e92e0e300f389fcf92c352d672f0bedaa8a9fbb2d5e8ac44df0a214e8c6903d06ede7a4c2687ef48a8b3bf4ca5b25db4983909b285327cad3ef52c5cd57de403d571aae8e6e94b0ff747a6b2a16c8c48966fede0ee6a4b41e4c8e593795b906a0332cf57625e2334d78bb21aa3c6c7a644ac9dc21aa495fddd284e618f6008181003f9c802b08d36def789c306b3967ce115f911890dcd92a38f3a2fd9b315ea297703ce3122b790dc3ebb79e26b60e1c2b32795d1cb711c5e33aab6bdb85ba6719c3603c75a23182694e0f0241be5da09fad63bbce0f296809b38064102a409a41144d103edb4e335da76ffc80aa75bba134ff7944dee45daec6bffa49bc44ed2a8854fab038611b7fa945e6d751363b1b4d71bbfa32bdc79280fc647dc642bc4fe3d92bc3903a2c46208ce4f74ebeb9f667a23f0bfcfa26a85104a1f5253f422915edb192c5c032fca93735f5cac3ea86b1c178f41d6f9aa3f815d8e5f5daaf31b743ea47c691203dd042e96e1270099345a147af9ab03897ad0a62d447a5de1d00bc104507490b70219ffff03af0d086350651dffaf4c6b80547d2341a66825642c3014ee76c9af54f36594d70332522c3107dbcb705be03ead477d409909f9a716ae21876abc15aa485cb5a49a03f8a4643190ca1eb8c1d8576c886052fb34a03be8bd2701cbeadaa10f07a6bdf3034b6ab51a062ed45a0e46f50b739d96ce375c7c5290114a2b3b80d2d3a68014630324dc652d8eba894ab6da69ae84b1f7d79d8af48f494107eed5487caf1c3025e503982bd5f60a2626846a3b0afa1ab904e975d3b72eaeec91e1b2b645d59f0ffecf03c69027c15d3230d73da1f49ac1042f96b92e22e13e50c26633be2601ec018ad003c78640262e9ffb614ad8b8bbe02ad02974f583cf413ee3b42c3e16ff15fc4a8203364e2e4f749ed56dd7655e9cbbdbfb471bbb9cfb4abb298af2ce1378519a218703f7f567ea6a1536d269dd7db3780f91b7e43187fd8de60a03630da6fd97b743f003b75aa6586a55201de5c18147f019f1e8c43123c7c667d093e9720ee121fc6e65032000f255964ebe89ab6de1bf936e8ccea73be1b302d63ce50a472c01e5665eb60219ffff03462ba8e47cc994d0deb06325ad6df180a5db3f2f0f25697fd1265126124e3f2503892d06849165b3212bebedc694d75fbe4a93acea893abd4587a767a7dc60c83703c4bd72c226fa00f04a5d3572ec51bf95da8aa75ef24c92470ec6760ea32da42d038f93f232edba3b5e77e086ad6f8f5a7b0c5be9f790318a2929cb66c5f76cad1903942900f3c1a155c2edec08e2d45428ceb127c564c0fa02685a8d77c31b502a9d03984118f56a169ffa0099f36ffe50b1814226412468804fd36d726bea5de87cb203cb5fda2b95e0216d0a53d43d128be6cd20670dd415434c2d7c1ec6363dae31ee0371826433c30595a4d1a51b06cdf05b3b10f976ae7e565b064f53e203850a48a80219ffff0219ffff03500c83ba071ce6e9e82337a6c4e942e55c6b17be3c7461905bfa01dfbfa26dc003c0e39390c8a7b3fc0d0d60556d4f0728eb0288bad116330509f5411704bb5287036bd25a9f5e020c2db84933a560608313483fe5713bd34264dcdc0172d1394f3003d7298f345f4486d466cca201d86df10c5a4c5382cb94c965d273c59c9e4987d103caf3c1739b625d7a8a17cef2193eb1b560361176ed75dc52b74102371ff12cd3036e87ade698687afb10a71545642ee481934295eb7a23db0384918c4a599298d203398ca1da9165c5b1f1bab0cd5e71f3d03592a803e09fe9d6c7b4c6ff90b90210030f063be4e37334faae89eaa76b229d7340547094b0cd9796ab9d8d8a4c595dc30367a7803f1ac97c587200e25d2576101c29f25f173b899bbb184deef2a8668d87036131a34bf06ca45ff6ffc3203b134129f6af5481366adae3f16beb836a5cdf3103427a88a2c3bdc62396ea8e2701748c59c806a48dfe18756c8d917e47d7c7746d030f299cff2abccfa5c25a3a3ef0ba4ec0a27cef7b983c4377df4aef85361cfae303f5f1c713617c44392ebf5c815dabe4e28ed14acfa7ed8acbe43b0f4039bfbaea0317d069d8a5041416a3fab9449fc32b901e20cb65071b8a9c8193d285452ef0a5039afffe97cc965cd330397ec615598854dae747e7046f908454caa5b7bb876745039481b6b41968b967b9b543daefb7fc11b2ba4c0895ad1128f42e296ba5318e35034d1b3c7a69822e4d736bf4f907624d753a6d0e5b43f09a189a9d407b00b026c103ead6f0cd70b00484ba3e0eba1a1cd743f2aae9cf4d34a7ba43e7d0f8773b73b803d4ca53c5b3d8b82dbb4d634c905c88fcf964fa8e5a840bd27ddf0f95fa504077039ac41f6e52494f3fcefc3b4428c65977681ee311a38d1b034a6ac5de45bcef0f032a2996e4f03017aaa624772bf15b9d6a63cfb25983e1fa4f0620c878e4721ba403331bc4d247a4e323aea55b71e910fdb245a194c2f400086e0cbefd2df320d9400390480af487724c398baa23a9ed4b4f15d94425289e0d8d914c4a3cbeef1e204c03140bfe785c49daee270f40c92750f52763f224c9b752ac41edecc46cf73fe64100581e020759bc4186de68861c75a1ab7c0d118dbc7a84155b947dc08895db6b115820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0375419b2e7e80aab85f775e3f651af510537baa357618d1af123f4eca004406505bca00581e037b3287ce6d2f8068a063edb303b7600c1790331656e2e20aa58753f280430baa970219240000581e02e52a923674b3b912fbf820fffc31f92fd8d5b40143f1fc937dd423546c440ff5698c021829037e806826fbce15608f0bd37e80b3e3d491774ada6cfd8bf621cfa880baa8eb3d032f599e6cd337317cddd0267ea69647076d15b7acd4b6bd850282a3a05750a5b0038ac34829dc6a0619b30404358745e8d97eed80558f191ef43dcfeacb258d061803a25f74c49b92d9e5fbf8611c1cf84f667c895930a08a34c19a8bd21b71b9041e0380baf534ba935b98724f637d0de0fdc68ce6be38efeaaec4f4026565fa7e58370381085795b6523984b32315e223630d020eea43482dce120856b4aec4ea1f1ce3031dcfe604f4f1b1c4d12d82927aa57f440e7ffe9a50141c8e22e5e8d26b732eaf0219ffff03d73f7627a1b01c89bb177876dcd9283e0a82006af7ffaeb5055d0896b71c136403455f78567e5f1968703f1e1995ab91f1eeabd6dbc2d45dbce7ee0f7e46b2250f0341f94be24abdaadaa5c06c3f2114d76fee3e45c0b04f36c93aa64d48fb8ff5b9039cb0bffbe5fc7bba1a3c7c1011d3e02405692728422845a608af92aba4d291f703b0bef312457a2ed5f02297ed4cff22b9c484247031165955c077e37be743c30d0384fce322b5fe4ecb1d7a2bd255f53fd66a6636740f2b92de09611a402ee041a6032b5f8abce8bc13f7aa9f4202963c56c35b5816fad33334d4aa955e813e7abacf037cd5440e1a82376dc5972fbedda33d1a36291868946cde756507231e834985a803a6f67213efd819fa56574534cb41cea4a698ed72b443b97f20e1e9cc64cfbfb603bd9127ff60fab5cad17131afdb9fc429e9912292ed0c087524a4f8c55177a99203df0518eebb331906e6722b84c640ae6679e36955367bd743f2cad4189e464d81036890d16ca8df8a7eca5adc533dd9ddb86bca8ba0b1674bf53f2128b59dfb1aa303196ebccb8bd7d8e2b226607e59be09753aa72b9e3246678e713ae9864babb6dd0219ffff036428b1932291b30a370d8c9c75bda76ab31b6131400f31a051f1f8e9ab4b75b403d50f077d6cebe6d8e630a8bf414042eea421b70b21274d31acc839b32d91ee6e0219ffff0394fa129fbe03337fef55c7819fecb7a86f11cd0fa6717d9b89047c275698aa9203893747c27c4fcb548a9f171f946904c5ecdc14e071b53060f2c192c79de398d10351408f079f36d165ed2bc6b22434aed67698e846aacd4bf1c93f6935910cadff03e149f1e9246ca6cdb62f2041b01150985ddcd4afa742efe0228b151e23f4c4440306453db1f5e4c54a31857304cef775efb2653c661ae7b96eb9af30218c23c7b203b7f1ba63929cf443f2f1cba80639c767ecd2c8a23250c49b7b103e74994e963d03003cfda2b7f9765a2f0c7440efe4b39c1dba9b8acc8f870b8b1492229a97d300033a1b8aa91b88539553010456e363ddc8b5b8477feae5d001a7cc8a560cc809a803c6cb18428254d2981dbdce21371d4cf38154e43735b498b4e7ae5a169e3e7be303c93c80de5a7ab58d23e97ee147f53fbf46507cf8c5cbf73ab5d9b6fe149ae7070369f26c265cfdb2944c44ca49e2dc70c35ed8c8c6c836acaf2e0e51ba0382b3b40364369fec0dc347cc4219abd1b0d5926378c805d3107605039aebcfe55e4d243303837b5c850e0ac74ca792be7a133753fc3acb9e2c7e9482797d20f620b3c8886203d9c51cd9ea4c0e8ffa223dd4196fc9943b8c0e18260ddcc5342b71df2be8cdf20355deb8348fa2410c4ffd6f5ad81bcc4612e5ebe7b3eade434610b9476f972ebe0311dfd945ea87132fe03495b73172e90169a6fada01321afa1cb46b23cb8a283103e475657e561c6d9f79e1555e58ab31a6c00af637d3b98b19fc044768dd69d5c2036a24749437462c630a4fe6ec5f9277e62bff67fbde2ecccac926684b74a4eaee031c11b722f8bb8cbd4b4bbbe77ef0310d4db1b904ec889dbb490e6bdb773bffcc03448c84e28ce9ff665052e9fb2ee6fc73ae563f8bdfd6c579de0454fe76d94f5f030f8b593089d987fb4c047befd4131855779cb87b93628639552d8513f77ddccc03342ceb75f0320672904e11b36ab56bc697c51d0249881be403336f301b145d7e030bd9d3319b446555569cc6dea8fa5e901d974a44d8236c7533131049671da1e703dcc19178036414e566a98e82d252d627945b99e1f25ccbc121fd76d577ea4d90037ea16af07efb8d4ec3d53db3052263d8504312178c188075a3914e1923116d350320cf392402c62866c4c4f1819f20b37bb8571694fe4966e151dafb2b36696fdd03ce1b0f04b94ee2e892c59e87c031e8770d7b3eef9cdda25a6daa8ac4b6e210ce03e73006158bd01c8c4842877fdbff77c97d3f01bcafd44850d58e6a7b847928e403119959d2e473883c01088877049881ca5737fc3fed938c01cdd46bc8568666b10396e6437293ddced3affbb0c0dfee1d8fc98acc62c8263a2bcbd244c9ddb88044037c1365853bc96281f01fde365ff69811814245539576404a3e64bca4dc2c6bbb034c9acce3eebf59e4cc878a9365cf8a033d9dc79716cf7ef3eb817d1c771631e7035b9865db96717fa271c9bd030a301652168c6070650a3e8eb3f50c1b7396d49f032731615c23ee45977b9287900515c566623d87c84c3a7f3f7e50c24a3c59d29c03839df58bccdd6f151a9e5d9ead857508d07b7362e66632d0421a684ed8afe92a03a8cd32ce04e5cf5fb698becac9a59246841e2149491cd2f6c39cb9990bff8fe003d5d429c862ff090a460db6af2c63a9a727b63640be15b77d527e55e780d21f6603c0588d228051ac522f4298564d4660ffa9ba450dbfa0624bb9a3ae549347b4050386737fa3ddc01d8e1260028cb174f70b601b48a0b20357d742158e0c0d340f24035fd6babc4169fdf022b23d5975b8c3339beb07a55f4ba9d1c170d643eb20e2b303332af2bc6d9c6ccde14a4a0522a5244cfc099b273c72e82ac520a4a7a8fab3590302e0ecd6b4e86569453e183a85333a9318b3d5322a49f3f7d3d5b4a6b62c205003cd8c7d1fa710b348dc222a1c2057d4622ff2a76ac2d3d2da36afffe2acc15dc103edb8e039c951be949d8bf65e0dd1e9408443adb7d054b24c49ad7253d21ff2cd00581e02c035970c88d610c3deadd44f18bf0724ef559e388fdb1dc17cb6fe61264313951700581e025e8e3cd4fc47d76c07d65185f5aa4b0487ab34808e29fc16226a352a0d44244678f70335f94c0fae6f31d5b33efe5a2cfb887d1766037641875f3e6bbd514c5cae931a0219092003331561de95dea4763d39d25035883a1fa9e12e6878b340a562eba00bb6e8306003963fe3ff32f49066b062dc76092abde87ff0931536251f08a7231904cc8f1c140387b7639025daa99661cba0009ce1d24bed869de86430fd3223955d00ad09fae5039e542d1df6bd5df69927b1072adec66e0c5bc9653238303e31b91be45563d52003555676a15092369e117807be9f6932757f2436598cd3dfafb2d4089af5d48d580219ffff0219ffff0396b35119e8e93cbb915ce3b076089f04f53682e30f397a8ec9bbb3af21ab55ac03e323001aa88666d63c403629793b4c8ff7be0c63aab113597e3b5e63c8801e790219ffff031b11b53e19a74c3e6b724bab77901014f08a7b1b7e89ca453ec25d7d59105df503df7eb26f659978ea5f95a2176ab13ddcff9ddcf874fec0a71a83beb83918961703efd319b6aac23ad60558cccf1c7589c2f1880fdc2bd1f515d16d182f7144c8270331278bc0fe06785818b886d6474347561848f1530e6ee2cd61d802df38861f5203c32ce9baa59df685c484d7594382951f34c0fcccef0f0de0db5459d47e27ff30032b6a6aa0f6263a30b0255986379ebbfab9cf87a954943452e0b12d49b569773403a534f4cd82314c23f425d866db03f9d054467b97cefce3823ee7c61a543f5eb4035864470f256487304be2f80500e9dd7974e82919e06448218620ab66261cd965037591eba285222b813dcf4e698a7dfcb0e37d040584f947aa871c74820201378f038b6be357574971b3214cb27c04e0d0babc071e7a3738afd2385da49a040aed9603b500fa90fdcc8473ff59ddaf53e1af88b9a227751c4fbcce1089ba9fbb961e6d03894f7c8c71d26fc6d8f1060a1bd577a216a8d1efa0e29c9f66a463c8b3b7d9fc03a9a8a4b1e28429c578dacab3718c03c57de3990b73ae55528b47450101fad50103356c0f59980e06b4dd189be890267f829b1e71efd9fb13a20cc9f5b1f1877bec037e7f883cfa04f69d0915474842282d1a24ec5c142bdf97773cd53cc01a9ccdfc0365ad68c7bc824615282b8f0423585841252e97cced0632a1ede6ac363511ddb703fe10a2303eb5dce9e8bb472e4e6f395ad7ba5541056e5155872fd284bde7c51d030199f3a7f3f035a78ad24d009b5521f5bf92805ca809e28d0714e9737aa4410303a8b156a380289565da0ef979b8161a3c16f4dcc014ae580cf9284c84eb8b28380352a1515b9e0b461fa369b3ae2f003b69b8fb8cab87b5ee17de2d4bca12d0fb6d00581e023e9edfe0972ff2c6d0da382f0db3d5eb6a897c60a4c173ad1a225180705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff09b681b800581e02466c0dcab700c8ffdf1818c4db7f67fb16b68580b759516554cac7ab125443506849d7c04f9138d1a2050bbf3a0c054402dd00581e025d12c224c54a6f8f2aa61e0649e0be7d377ecf7aa8797bf2ed54bc1c055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02280b6ef72746bf93b1bec6ef41cf206dad2afc0fcbbdc7a63fe97c3aa85820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff15d7b9402191046030230da90dbb296f36c6bca75969c68c0a93378d67cd3fc8d6ecbdb338f7fe3c40302312958ee3a4520be2986a19b7056e58da0e234d77e7dde63583644ab8ea2fe0391de9aa784be32dbeba3511a825e749d7f8fed9d842f12a301961e9e5afcef6c0365f9ad6d524d3b6cc405b6ba3b7fe6afffabd89baeac0d1c284a70b06ea8e2a803badba1e94da9d414ea991562508b88c93c4435a848a6cf87bfabc2667540b89003412aa50fd6e7cb1644342d982bc884f5194f25c2176d565d573ea2af9b7d88c000581f03fd79470793d024e6ce11fa4302b6c00dd3ed397b8968a99d837c45f9a8804398968003f2529f7dd28c690e44ba05686250da407c66e1296fb04eab25780b73d5e0a80b03ca688d8f1b676d94bbf63f856ed8ea8b9254f51fcdd30594114d1d620192fa1203615d0dcf330f01699694aecdbac9952bdd5612f1d632485274f6aba9d3a1549003c8c42b372357b4fb955ba3c4bf078a5e27fba10269e49212a8d0ef98fe90283f032b38480deac663ea5886af108c74109e76d4696ee5f29c0dbcf0a643ed14d64403e978d7c66f6bb42a0a3209bfc0ba5f9e567c7e0941d84a52194daea14bcf5a890219ffff03d835a2058f512244a82b6d16b0a047f9f54e5cf3ff6ae21c7829a2f71f854d4d03153271179929e06db0d6c49a41e9ddebebe3cf3add8695bf68bf8e9767448799035d921e73919e5f77a9c8b09f084b037a97ce21faf397ffc407087defe433a69a03d52212580a589e529bcf8d03d32c919077f830cb04b7e7c7a13389a519aee7830306b4908290d729f4866d72ba85bac27263c6472bf34a341daea5f9309f1f31cc0357ff1192034723f730e3c6b1366060c5e7c0b63cd1c2561975933dc10f90678903559790ff129db77543272a3fadf2fedd91b608bfc58dcb65857fe6bb3693db3c038c036e1c975279173acc41348615078b524193ef4fd7941685648762bcc326b1034ead8d9df740c0d3351962b84f4009b394f3604f31436fc2af9b929ab13c04cd033e8d93dea0fe5e0fc45e91afd1a2afceec6134ecf9e297ce9a8872f8123857620379debacf4536a68cff40915d690c473be5b341edfa7dea68f1fc673a206f76260219ffff03de130bcab3256b6dd6b88af6454022a11d931f35d3bcce5a8f6abe7111f3fbb90219ffff03bbb33c1e315c2a14d37ed854262241c4a1f4102b93ad3f9769f0143e2341a9810348fee10f424e950e717e8da734c03f21432df5221d046b8d8a5ea543569bf20a03da6be148c3e222aa9d6ff27822de8ccece04ddd704ec4bed210a1d422ba87816036420c46c0040d7032580167f45740b0fc8ffd5fa84dcd8e43257f833e05bccdb03837305a6c830c3fd70fdb3cc7eb93fe797d190c454acb1bb6bfd76faa3e1b1b303c9492b5b6e25aa37955acd5a924f39f5b176f165e90e16763418ae64a772a2760219ffff039c057a162daf7c57338f16d6b033a7ae9a893017f811fe6ec9ff03bd144df95a036ad29f536778db4792a3a4a08b0bb90aec6015aa28b1e39842fa6b2163dc903503da060497b9ae392361c8b987b0cbbde4eeb29824143d15e14720beaf7c6ebe8803b2bce04db76c2a782b38e79c2753165a5315251f618a1cc72027dbc96f7ccd9b0384519945b822a916a5dcc8ac8d465a5b19a00e4b0d6bd8ee2418441c739738bd0345efd17b27c6ad801f2f9fd43bc772d529fc994bf705fb5f06bd98e25ffd3e2603cafc1a4e3b76460268a7a78421cebae5df298d887e882f0103e038fc99351d56038a49c2b53e14d759bb51ee1195016d82f01e9342f96ec589acc13d59f955bf0603f53ace37cb45b8321be56cb454b6596bc9d2e7bb16e1d28b935f5997d176f37a03d3e80ec66ea07750606375091815bfa58041b24fd47e9cfcbbea796c162d61a303db79896c8ff518804860ae75b66fd5f44ef8b2a38dd386180f1c8ad7f5c5a1a303f3fb477c511efc4181aac59d34affad28d0461520b03dd2e10a2c0e0cb1e777d03ece19df06d8a49eb868733c5915679d01d0876608462f773c5b10ace3973e19603f851e6303f80145501e1bef58717071140b424f08ead4315996682afe12af3a2033d895f157cbea5d2dcae3566510f2fdc4ce1fd242b7f6420ee651cd4e053efa303eccbad6556c48172f08d8fdc1e0104362799dfdaccb0881bbe0b2ba74bcf66ae03ea907e6b85c945ca115ac81e35d7090d0bccde0bd2c83b73c2dbb3e2b8899b0403b0202a914c3250ce5a70fa94080cdf052b2a2ae92001e5420d1f51bde10da636034d40a3ea1c29cbb6b7227117da79ba6fa85e84720b2e2d9420d249502b5f0f43039d7ee71b41ac516b3252e5fd9e15c0a1d1a2faa7997d60ace588d0b9a461c8dc03b14424afbda2373f5adc027230d1bf6c3a4b2b1c4842ed9ba70edad42f7e8db6037af77281eff10480bbae299084f49d4f4c71934c9c0741b4a202362ad58c86ce03f0155152597fd030b8828f20ae4c9f8785f65afd64ee3aedd2d5bc26d3d45aa8037ac17fd1ca7b8f506850f30ec8ec29694ae89bceb4875415290bd0542733184303b2f4b4ce81fa715fd5383d5bab0e21aafb77ae0734eb1b0cf5c3e963f9066270030ed3b7ca576fef670789a27b8bdcafe7d5e45338afce8a9bee29527f7ee799b8038139ce8eec09b4889411b49e09d3d110250235e3bcd6a8bd9780cd21aa9a0e6403978194dd21df85514d22e7e5c780a31090364a4048c2cf582bc29ebda7c66c850383a98945d47c035e4b985aedce4e0c15add3d0aa31bfa55fa33ec7d6131c2148037387585296d62609138060d7f3338ddce68617f9bb456937e02e8de35a913d4103202c127adf7acfcb83f7e383e927f60de2c59117188ae2318519ba69f7ab8226032dfdc43d62955a7704bb51e17d532990557d2784b2e41b75e57a20ee9bc83fbf03ef49fa2b7cc64a6ec4cad2e8d882352d2a85de15b24b092b8ab507314a41886703b01c0671bfb006cdadfe13a9ad20711f559f4201464d70eaaaee47d655e2ce8200581e02dbba17f29be5d2d80a240ab8cfc2f03af8bd6618818db418a024a848a35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe42c780000581e02dcc5ffbf7ecb2dee4a7ec7a311692024585f5ae426f4da0bd33d42ba13410900581e02c731c8b07bb7c8bc562bad1965d7dc39e8c49bd75f13fa9f6a5926afaf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03c011b8a2b330c0e5b4574b2467e962ce60daef3906325fbcec8c18e040442887fa0000581e03172c9a6bf67abf6ae9374b6c35515f4ab895d84c0b22cb1346c9d91040450253d3c513021100581e0271f1a48d085e88cd8e79ea8563ae01eb11dbf56554af01ae4c98ded5df5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f0219b80200581f0331f27b663e9d188b6d5361877e630c3666a7137a534a4db5eb61afa47080433243c803137cfb667a4d2968c9300024a6597b11eadbfc0be6634d3214d58717cf77fe6503b2084b97104f9f87538f850b24c0da17d16d50a73067d3607257c809651aea06033b82db0e74d83131a0772e154917914032f8e5b0dbd346f09a79405d4ee691fd038efa2fa46b673c9c663a5639bdfdbc9866a4e4553d747401c102c5d96fa38d9e0302381021e7288c83a381ae27631e054f364b979ec6e5f97d9e2a38e7e075d86103ed475e5059283be7d93da2770bebc674c4be1a10f93c6bdb263477768fd7abea00581f03771ef6341ac2b9e5314157b871d5d7b7e8c774b3a8bcf827bab46c5b0fe05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff030c75f3cb13d17601e736d041080e2319e8f1aae973cf1ff95abea0b68e255e6e038af5742a672d42f2f1ea65c7e92f03769647b58bc181bbf6efa9792dccaec27203002b5e0de2c03e998d8ccff7b6b54de92b0f521b2641425f99d37a0e65735cd603a83a5aa6b1b05b82826176dc6b51fde35a698a339fd1bd4deb3d513a12da975f0219ffff03315a40d7ee6220f727509493d3c822741c92ca1b8cef447f88c6d086944ccecc0219ffff03f5cdb47c989843be5924f575af12ee3d622dcf8ff936b18be52f8c497109cb7403c54c5d43d077532e7f33d7548aee47370db1bcb7bc861bd0547465bcce6bdaf703351e62cebe3aaee2e73b87e278c8008c9e7f95116d71ffb185cfd63395fa052e0397a1d9efe616813e080407aade9caf14049737e90083db82c5ff18fa59496df80395e0ef239a7dadfe5b1498b3d395fb36f4a48908600a4e398905e81f6ae926ea00581e02500e8d73d190d98a4f41d6526ac0bcee9bfd314f46720fa0242828a6bc472386f10a1101c000581e027bbce4046fd4fc458a3b68f742b523fb4f5854c255b458146d30025aac410100581e02e9ec7f3a889e0263451e74ad6b2efd92bd5c947e6c1e5912627def60aa449502f90000581e02cb5455838701bf0601ccb8f5c19f0873bac6fbd2068368b9250e65e2805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6d02700581e022744835e022092bd2d79f7cff3ba9cc3bb18f057c4c176edaacfaa1eec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3d112ef00581e034297f513f228980790070d7a800654964ad74c4ecb0798b19d25d0d8c05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f4103f00581e03b20e608b0fb583ca44192d52e760ea4b6095ce6cff7d5b2843cef454205820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff02184100581e021bc8d7cdb960a4580194c6f9b8d5a84e8b2c797b20f8a4d2bae85787cf5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffede3528e800581e027f0a72d7677871145c90b52430fd5287d977b18612bf413056378d8fbd44127fbbeb02191b1703a53df36b5aeeadb42cde1784c0173419857231ad4edff2df09f910d09747d2f903f11469acf2520a1827ba681615b69ae01e717bfeba4fe4a0a2aa5c1b8e653d6503ce5f508a7371f147ffc8a6b9cc226193ed9ae0507279dda485909a19147c12c503a5f8f7fdd5f1608ef05091468b59bd3a1496340534faa3e40987f4123313f71403ab955fd34365617d027da4beeadcc1807cb509b7ce2827cd1409a210bd3549ff03ac6bbc45b8322d696393d8ff72e3f1d40a85a4fa7b955f93be9d00554a719b12030ac735a1a0b15c8c583952e74de2ea5cf4e8cc96e8bd18b107261675b7db98690303d892f734148205acac39a35a520e1c901e3b93455d783ba24e160ec1f19efe0308fa0ff397ed2ae22689c5ab956b8b83e92b1961d5fcd01439a54a2353ab2e2a03cf1fd7414f2e74317920f53f39b1b0edc0ce402b1a4c39602705752d5d3927b403a20b343ac557eaa602afe5d301fd80f81f3b1df783a9ca8feb754db95588d33603691a28bcc278ded7082637d6795fc2713ae7a3d2bbba8f893fb257d6cf8a91e800581f03b2def1c13f1925667da73f8b00e3091ae9a5a1c80f9867cf0c5af81351c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3294456038bd5850d297d76eddfd86a47acc14579615fb60758733edb185c3f7c0705277b0142003e0219ffff038f11131341c17a2fea7404563e720aee8d34d9afb163f764658a9285199c072403d11c27f74811a75536ad6af81bd4ce77b828f26b24a612fe475ddb84b48630f803f6d34d892faa4de092375c41fe56a7e1a6444b87ea2e99fecea715659a41dcda03376ba630bfd9b5bd4c35e1090b3b18cfc4d398afb43822bae157146f4197b6230318ecbee0c36156b2ec94094348ffb318e7e47f52a1b2262524837ee1dc96fd9e033db5df11461456e0eed356ec4bef7d0d31ca0ec81db040af6aa2ca7650d3a39d037711a93e4c97e6bc42b6a17ae1eaf24553b051eab5761031090a99846a6a2828030788c22fee91e77893f89152fbbe44a8b9e030543c01301832f9f49ee49c3a5e032be0979687ae9023f7b36ed15e36e0f3bd886ddf37ec84e200a3ef8423c4a27c0323340a13152ef218963a0bf1d5eec13c87ae36af63255d528d60b4c74e6154720340194d64dedb219159bb3d5ace4ee59c06bd35b4a3870d7f2d09a4513a7baf24030b3aab71b2798b2186f97eaf9ba8d2516ea46148011097633dec354ee2b9ce8e0383c38b79f45c333fb690f1d8060b4de0f2d471c8c88c568c4bcafa6d9555dde9035078deeec562e9fa61032ffe24521657847ae12992ed98953b7c7feeb29edb360219ffff03f73708ed10dae4c5b7d31b1b5fd6bce984808f390ed163a8c3c153bc3e757e8303ec46cfbe4285436f143944457a1d686bad99fe78700fceaebab2943258a6c18803f74a91cebee9f299ff9ad391e3041980a43231b9da2dd8bf2c0cafe7ff61e248033ee15ebb9efb93c25fce55dcf61865c41ee418c9253d0aaf550779c03bc36909037ee737f3b64f30bb8878a671a2dcf594bf5266c9c7844d4c211583b1d952ecac03fecc2cd1487d1cc3e1a351c12bae8ee527afa7fe6ce2866039acf4cf9b9d8dde03ab40d0c67da38c963ede0768f2882eb4e95e4868f667e472d52328764925a65003149d9e4b8221ae0e763dadf91ff04f2503ce4462dbca392c3428d35142c6f3d503f446069077477ff744f8d35937163c7ab411ea9907d82b7f86e7bbb1f8a43fe7034be06287a5db836519b15c8c68c28bc95cbd0cf5ad82f0614515869cff82f87b032c18d149e847f86bea3dafddd865c3c281947d5e25c5c30c4f2a0af049af7fc003f43b682893bf0a3a525d33447e2ce990f4f104ffac8aae95842ec56f873d0cb8033011de7931f5ed4ac2887dc9fb0b51b9a576780c4dc4b358cfbc6fb35b918b780219ffff032b9856b085d6c0781b2e6e423d9ca67ebe9409bf26d5de5034667a9e997b7aea03e612e30aa2daed0e8d253c217d4fdd89ca2d4fd2e53d71b4b2e8c80164b5954d03d467cf3a8ffcdc764364e602d21e78cbe60b1fbab7e19501da744dff755051d20350688fde5546e0359193e74f111ab2472169b4190a425ab7b864e02623edf55c03fe51ed65e9b872374563f949cc034c90940384419c8f4479cf99ea322a29621303e6b0f3727beb2b5a27f0fc4de4f31731d852c0ada10e37d1ecc2f2538c6e9e4803c5925073d30308ac9892a1326f1da1feae19317441dfd47e24f0f645c3b22c4103d92e8824b1f79f598a22b6ab03dc498b8f9f204dc3d5be7598a690fd73f498af033c61a3a6fe291ebddf5eeac1f44ab4c931598adc9df53bbcf241d631532c1ea703032acde0b8f31a769282c58d23623c8df90d329cd77d5bcc584c79db855e56b10373de7fc362c289f8a3ed07ae4aaafaf339d3e53a7076881d15296c6d71f177140219ffff0394e7f92a9e69b358c1a5f30a2d3417a5662ec39f8ddecc65fbf709b0c730bbc103970c9bb02bcb726031859a5f45d9fb38cd69aa5bd0eb9c5790e3a440f636874a031a291669df812dbf918eb23ec732b6101ab60d5b9e30b496df4f1c9aa59cb5e403ed9f966d21b766172c5702cb6a8f3f3834cd5cc3c4762fa1deae7497548bf1b7032be9f706923a6253876fb4ff703051d41d217b1bcd8a8284d7173ae7e024932d0308174a5133bf33a69ad67fb197d54e302b8984a613790c68e3e242fc0efbd99e0352668d5cfd9cae034957c2262a1024dd82ee9a19029781981944124604f6bf5f0395c9dcfe5ef20a40f47770989ee4ee5266295aaff9cd21841008c893e2c488da039eae9ea0c46bf0ab5aabd948f28c2062de67ae88c8439703c555407b0cb3d36b03b1cadb9b4b04e996acdb2113376fa13eb6c8a9add1f338f53c9204848e3dc43603c2be780a8e83f30f1faf2a1729d2662d9f5b818b5d2d294628f83c061015f11b0394714f2049bed26a7849a5b59a015c8c7ffefd4c97b88a0039e0634dbf9c9c4b03d37e3aff0e5a1cdf669e8327c04a32d74217e5cdcaddc2422819050d31d5846403b33bfac4c964a6920cdaeb0615ed57db5f0d7ca191539930cb243e81dd1af13703479b4517ebbcb698d3547f304e810a235a553c0528c4f209c2a069e2854b195c0301e35059fcefa0ce35c1b86a6d0d308e90034080f488ed7605cfa157fb39773003eb924c92e3007b65cf8bed29b7a8f4f9fb58326996a1183553e6c48edd06576d0346070565a43ab5f4d992d59eba6d954633da66f4426315826ff6157681ee2fea039dc34d97e730e18aa3a376c3a83cfdc1d1aac7bc436d2ec33aed1a27125180ca036b19ca0352a53e64f2be31d4db909d28b7ee27d69a6aa2a5a43faff46110e39b037ee0d458a15cacbdb7c423780e28d6ef20409845e5daee18105ec10668f885620329213357751bf02b3789769e38141602ddc21c67026e5cb525dd6aa902d958e203154c474f41192e2940ce868aeff9bd324cf722922df6e29b03161a1b50c2afff03318de7f8e7c89f9b4686d75c043b674618ba1b9d1ec9ad20126fa1145608fc5e03725684e0da08c5f42d209db5a2f0949a334a704490f49617ae7a5935cd8d23f403a1683e7a1da3da1596f319ec4985207f2c049122974468e54a2d777fec902ca603faa85c8a8623e5709aec534df4dba62a683ee9879a67332ca972e63aaac930ae038c73de7f18f6ca30b23e426b2f21f21fb6752345be45d1f84d6d9e817a562ae5039bb74003158127c242df7aaecba901299001405cb85734806812a6729f07b53b03720efbd19d76ff4edbeffb90d14600b2530ac295f57630fb154748c049fad4b500581e02ac686923fb7eaa253df32cc8f0d94a29ab963328227eec58a47e0864665820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037ed91a0d73739257d5be59ad15ddccb7210c0243fa6322a7d25a014cc065eb13014200350219925003e6e583c6c8c601f3216bd1f3de961a34e36d5e9127f2cbef9ad6104ed896f80c03f2b1e60aa0838a128f77dd448af074648ad8b8a4166ab222e1a7dbfe17bbbff703ec524068365876618a99d30ea58986270d7be6659f16fae48ed08c8dc7458cf303fa82e90cc1eebee417cfa6cfe1451f4d415e5728a6615a8cd27f7accfec1ee35033a18c72bac6e2132a70b113f3abd96e9684b7921c89843236d1f67ee4165fec00325e8dfea191d51d10a2c76fdc770cd9b4d994385a80526a24f629b3868bf918603db13b5d82d4eac5eca3ec2e0a33486a6ffba087b7b2f0dce0c305b766afb527203da0a2d31ff98491c616010cc96cb0e67821fed32a22b95a7ada175502e5dcdd6033e4f1023e611d3ef2a9e4fba5e1e8dd595b007b1ec6cd5e296aea68873dc97250317d3c3d087fe4fa9814f50902a10abf950e20068c2e0471553f418a74de3e5480219ffff03d82a5d5412c7896f1c196ced26897b912c516817f799520102fc7d3baa5f231303d3dcc2def118caf19d6c733c725399132a455727bda3e92c1264c09be8148e7003824ae28460f1215d5265dad8dfb84d5a8940dcc1e6c66fef68347764906e483f031b09e546433d20b38cb0edbf743b388722038864707634618670b7fd9977ed8a038b43e7a2d6cf82f3482e6b7bc6d4069f7f2c0fe6276dad3b19195881ae446ac90338950dfc8bedb98256a550f9b0290cb681c876487f9a7e1c1dd540ba25ce1ece038d07737820c6a66a3b694a055bcbd7219d708983ba0a860f125d96d4c1e1a54a03d779208e3e4b32fbcb50dd64507b04eace135dd2853554657c833e1dddc201f203a4b23ea5f44a148656be1b40f033166f8fbb59ac5efa06dc0e00a9c1536c9b92031e9c3e687efaecb7eeb1015fd8587f46091b3cbbd77c8ef919ca58eb504cf42003095353a92a3ce6e43a27894709f2ed209dd788d842776405e8c2be40a6c1d55a0219ffff0219ffff030c8908f0ced9675808be96d40be607aa254a72705890c78002df20e4f75aec8803ad160fb1b75d15d8c348213ce71bc84a99025498f8431e2fcbc8cbf5f35f513303af9621699892de56bd7b386c0bd1720e61cadd4d8e681edf8b7639542e79d370032e5bbbee5e292eff06d481a87100b796e322d34b50bb23c54f0e6160b5cb3db703c20b52ab208c26b98ecfe4070ed326c97289f675755e3a72b481e1478147016203964feb8b95787d39d3088f7a02e2863cd32e8b5428e9c71102a5ec2dfb378a890350a782e770929d3da818813254b922152e7158191391be00b6696214ab72488d03afbdb5485220af4534d2a3f34c16b756ea3029fc9b87ef14d86ceffcad0bc3c703b4873d3043253929f78b12df5d28f07040ef7836484c39953de6a7bfa3c770730303037fbee129d76165208c38ad591f0103b58730abdcdf066914d89fff332dad030f3ce2df71d2eb71b7fe747b7279854d49260a6cf30548c616136fbda7b912b2030511d51df36532fd0dbde2efda5081ca1094e29807a85508a06541bb426b7786031c2dc88cc59ba8de9db30cb05a303b9ba51f8afbc574f737daeac9168156a17b03616d8f38651c8fd516092139d6f75a0652d0ef74e071eac01fde5f08ff626be803f76f9c8f23b03de4132803161d599d3a3764ffb37e2cda8a15ecef3f12c52355035530f7f833605a8c9996eafce1e7bf53bbd2a028cd3c3720ad9579189f61c71a037c1d3f35e477276b3b5cbd8e5520c1c6bd35f827ee77d46334fbebaccf78fd460313d467ce74c4d5736ed313788e19b354eba968a0adec5a8b583a8558158542db036f41fbb391de2ca7edc871d6fd252707d0c205120f11aba2242f8d5c79386fce033dba50559ea829ed43f29f3610120412e7d93b0569090122717e709f3eae316203a8b6f333bdbedfc19809c7b9645fd468cf055f1e222261bd0e41d39e69e5cf4c03454b1206cada1719ca9af326b72570822eb9901ac327da88f06ee364100b3202031b9b54d243e67a0ae15dd9af427563d7bc51f66507d1ad58c475dd3f46e30b2503436b89124f7f0a431f5b73909be79c0dd9154e7b8cd34ac8830ac4495d4dafaf03d39f1d3a4d583c6f68647489dfa81508132b9875aa9c3f4a38e57bbf3bdaefde0371b63b09f53baa3b3e9457376dc51c702dbcfc8e2da86987fd73177826d4f60a0390625220d504860fd645ea277cd2699d150ee5990694bfdd2adce4f12592466003dd68576e57ff001a445538d323f3e387271fee7e7fcea1e5505d62076b30f2d6034076c11ebdd2c2f4ed219eaa476bd657641609023674375b23e343d45351898a03cde3a77848491b719da9d3990168a6b4a8fddaf2349b1ca2118790a1b9552ce203a1363184cacbf324f7fc26dcb5a210b930180ddc130501101bbfa9f48aa9ea4203564c62c5e9eea6f20d40df64515f728aae26bb34adb18a13ac5be3b4a68a2aa203a6bc42326e53c98c8d1b24c4ee7b09cd7b656dc4722326402bbe5350c0d0b04b0377bbcc879df2b8aa5a8c2fcd34f323bae9a6139d5176d06b66cf0c62e5749c3f0310232cb1e63988467c3b6c023eb2560e4c159f8e0f7b51250cd082f8e2de5a860364ba311cff339c4f6242695242164643cfeccaea84521083ec0f0bfab0978cd500581e02a61bca00301cd656094bb9a1017f9636b8431bae0cce0a3916524783e4447723b7be0322f361a8752b2c41ba8aa5993fd091f9f5acb013796f3763f76840553dd5c2c900581e02bf5ec30367a55139105658d08f0a2d34c21391120df724e275476f0d4543056f6d00581e026bc0e5e096ccf69c51f3c6c2945d648d6a87441462ef89cc0f1dcbd50b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffcf071e0e00581e0212dd77f3a0b95e1ab841eeb40abd7e26ec3d3cf546c4bd98624c705edb45044c6078e000581e022420ccc03c7e51bc92879c47edd212ebeb29958ebdda53ff2c9c279da25820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe528d2bd400581e02f4f0e7c3ba91c86d2cecc0d60e83b5f59a87939d00903bcb56184834c65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f0219d94403a64f3589be57607285ab1c399cfff085628f02375cb17e542e90a071f259ef29035868a8ec96ed3b2b0c1ae6ab4204c1347fc715aacfc9efc04182eb2eb3d4de2c0322b40bb0085928960d212920db584a8e4ba2303885e1c2d27a4e08244ece13ca0348576e68feca59fd06c57e464cdfd8275148774a043e60df46422708862e67a80219ffff0219ffff036ad3a9b251cf1e6084c62f849dcbbbc4fb36834e1c11662c46d6a771bfa1ee1c0372b3e1205e9321259f7e06f951a060795bafa4b09f22bdc4ae9867e188a892c2032e1c612d010198ac27ecaa9a2c306f1dcaa28aa0fb7982b8f5557cc4db56fedb035252fd13dcfba2be49c30af7f03cb84a17e2617dcd0f5c5c9c0c6e7430c311ae03a5824cc0e6a8558e4ed1f26014505bd5b531b9c2fdc549a854b9d5840bade4ea0311d88909332151b1715e8c9c2bb991e4b14a9cfcdd6572577344b5d7cf7fb71d0219ffff03167a814930a9cebb70e330bc93264c7bb3163a9285b539b83efad01c78ce34f3030e4c15daff6a3068ac859006e82333a36340ceeb304991eea944b4a219b1f7de0350585a7809998d3527ae8885dd2788eb7de765f26e08c32d89c1edfbb37671e203a9fed0a4e6d4f19c876e26b2fba277a26a8c42f3a6edf7a2a6b9f2d571df97b80331e798fb419618d3815d2d0059c78181a92790736a110428a01c2705cd14768f03ac1565d42234422437b6d4ea3b8bc427635c4609cccec7c09e2ac0bc30881f190356f114feb6318fe92b20f053206ff0d09fd61d72b63dc0a441cf2e221e87e55c0338f784f81f1d964cd751b536888abef7ac6e77ee2508e3b0ce19c50f8b7817e1036002a3827388380a8155e11d90ef80c50989fb12f5c12e7c08d28e6629d8c6f9037d96116e3b17b8947e6b905766e1ef67f480fa9b91632e1400db0f8670c832430219ffff03ee54c8f253526437424ba4843c956b4a9ecc61a0f861dba73a38525b56f72a7a03b136bc261adb11030c01587d8bfade1b4fd274afa11d3e2ae185d4ffc20c21ab0317dfa88116d1b46117095413bd835012fc26da6915694a82aa34bf775fdf5e5e035eb101144c5ffe402eac9499d95c3ca7d1fdd27ff977d0899b46b8daf1f1e217030d4a872c11ee68d188cbde9eb77d9b759ceab8245beabaad3186b2a39eb6e0f103247ab416528ee96cba6b9b35fd45d105deadbedde7f0395257d0e05059a6bcf403b85697d0215082229ececc2ae3006b92b575e5cd82e6174cbe2a8df7efac736803e9e3b70f9a0cb747938c2499d4735fc794f94098d2ac1a400096b4e4aa9bdea10306099746925c741ca3f324fd7c99fe0b72249de187eeba08f33b771f32d19dba03103c4411e7f80375af0fbfa3441870decab99fa901e720c14ff9fb69a3265d6b033680f000b0e32484b0567568481f321d112ad62780a2f553b2f34e66048eff2f03f935fb28f905ea87ed246f49e71fdcfc4174c4b3bfb2063eaea59e12c0a0e0e00372bd3d5ae4d9cd883a15cffdaf39a3b08d1d034e47a0ebd856104b8c8796bf5d037745cec6d454f4ef10ae3521ee6e91525fc001f07eba823b32d29a384a8cd1e90356db123bfa297ab380c273b3c4bf15716dcb10fb4db7b5405b32065a962c290c03421be002c602bc3ca9520d183a0178d400a6ef4fda060abfa0d113afc04f666603cece7079e2a884058f5e1dc786edab215d7682a68bf3937556d4bbcaf7e6e14103281cdb067e4945de9d81ab228d8171b3b6bc720bc7da31edededed607abf40ab03a591a4fd3e7a859fedfeb3b24bd11372abd1023add21756b9be49d2c7855714303fdf3ede2161aef4b2afe68da9939c98809695dd2a17e8519658c545cb9385ce203c6772ac6bf6d44ac04b78f54db56c9cab7650c9070aa0f03ed219a6f570ad61c03add91db72e171a61d257a3be32da730c2539f6f31dfc5c45582c31d9569eade303c6d99ca9c18faa6eead0a9503cccd24f030f60aeebf603d9fabdccadae990b41037128a0fcab5b3d97c68e69ed7b0dc78a27930331df6b3c897767ba6f28cacdd003969bd8f2ffcc33c177899381ad7cee8bdbf632acc20561e17de11a9d12d1ed8303aea8cfbf6043b3e0ab45cb4ea808cd4cfa3fddd54cd8ca2d2f81e5e559bc8add036da69226ba23c7106300d3255eb4987f39bd8fdddcd1f225d93145ac8d838f8503f981f34b5131bf47966d9e50d108ab7d9aed62683c922fc24ff70aee910a4c91037d3002c8ccabe605b5999aa66bffdee8760db60ff85d7ea0c8a972a475bf2451036318fa2764a325a9b5a24f25720b14288ba9e28c1b638a386810f5540bff085903a83cbc3e93d7a39e498aaa57b1a25032f8ad051a7fde12ebb64d53d77a9e7df703ab70daec732bd9ad46b65d73ba54c4b59ca212dd78ff205a63560330cc64787a03bc2d35bfb612d931582ed9ce7f433ea7214fd6b41abe643a9f66c9ea4c2786d703986b04ae550a3277eb48970c53d006a6d259004d22392e1b070e25f1df2149e903f7b57c695ccff6419e604137d536a041c8c5ea87f6e8db379538994b06029f5f0375ccecf16743a0e0cd4871696e322068234d981109db77d644e34069ddae13e9034c6b7c5ade8b45b6e66c4466a744ae6243feb97aecb3bdf3dac72850e848bf200335b07b11e42ac3c91ce407a9448c44e088b6edf69b9aa3abf547352733c565c700581e02e09338279ac1a9663ac9df68889ec1114b23f9b6f432d59916414f83b54436d0263e00581e02ed739c00028342e8977e5561d8520fd329855ba47d2c977f98df828f65444b9ea6fb00581e022eb879628fd1e7e1aaede1d21c09ee9752a091d8345a0cfdaee2764c935820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff599f3ee00581e02f84c78ebb77718d55af9cb852f4a1589d12669e5eef1508ec853ccac9e410102194301034fe3d3e8a2ac2d9dc6c2088515f72152cda47f8c768ea0c34f866543f032bb340394b9f2b5da41a4ac6f4299bd4585350ecd5f66b17075ac944b2c05ec2e46f3220393aad44ee8ffb6937b255606a57577f85da7300bea80b82824a4a09b40afcc5e0361209b7990098e7b0b2793c1973cbb2af25e7ae1690abca0dad97a2596f332f003694c2a2d940acf2f231aec1da69845f9456c3a5e2fcaef2c52c54321e64a91a5033ff300a27917d9712e0da068397cc7d7736941b94ac16f9380c9c88c8fffbb6f037fdf100ca94fd4014f1c19b31d97da4f1562452e33f9629689aadf1394da44970219ffff0364f6c54ebe1e05ca8b871a7cf754e0d2efbe93e73c237c212b1a64edebc773b10307bfa64d17bb512a786223db27e65ab85f554390927896dd39ea60a62d46936c03258ead723984b541605ea6b93aa6ddacc30647cf1a6cbda2dec0265a5f70196803d663f1dc4ae4e8b8efe6604aa824305f9c4f602467145747aba73eb2e5d45e7c030c5ca4d57d4dd3a48b91029f42f532d624894bb8c45a9569f1432dc9408017730219ffff035a29cd8cb961c9e30208fd935f7f7e5d6dbcfca3d5cc0832cfd2c52323be29950372da01e2c167403e2437416e9ae639dc245316b062f6f02d08f0f5e7e104dc240367a8401c4a9ae2ce2f9ae21db1f18e8d559b1620e1f3ab3aa91352c5fa7103c003ea805c0ee9cf9cc02e0ab2a7fc6818ec26c3f2529729bcbd70edcb8bc9cdb8ed0327f8d5ac290f5f0809e20537d7fb94fd2b6bb60deb9b9f6c6556d1f2b6b9ff3903d7532fa821b1dd5d4c4fc6476864b388543d3274ba6c959a68b227d093e30c4303448cd8c9ad79d4dc103e23278cad7d0dc824ce7944457aa6c979270ca7039f3603157b87183e5d766cbdfe2438ef28ed293e745d658b979632ca721170c5be71e503aa0cb6ace0828352ba6bebfcf3886dd4cca564fa7c7729f46c05377435dec9fe03db3cf084e479249d29918cb3a6e4788875682f6f411c635a58258f0d29d8868f0219ffff03f4297468823896f0159c1253b2156e98c6cdd7981b101ce1874250ca9f2207e60219ffff0383349763e96c76c7f4c78f74dae57ed0afa55f5e9456e36d8b7132a28b83cf800370826a2dcb21f7042f318c71e8f24386c4d53127d4402cfc7a737a79f503dc010316f18949b100597e433ff70f8e332dde8843c8aa58929457354e13bdc5ec2f15032630d112a1330b6884afb9a1c24ea26253df6ef0de845e90c7b2544d68348523034a2325a6427b83486c4fe3ef7f95a9bbe3ae0b4a1296c0d1093086f9ff39539f03cab697936520d776b44e63762d9e0417503a25e2aaad10d7a14290a959617eea03e3f89ef49fa2a84a9daaf4009c089e686557da9762df634910237cdd44ac9c77030504309027591ba36c7b3449beed768b002c6399887b1d4e23baac2f0b1e02cf0387302d195b3a49e2144b1b984900dcb9a2671fcaa3472ddb1f0f2a14fdb4605203859d08dbd231586bda72c4e498286552a985304bd08adf4bad5f783f93475f5403c264a02b50667d0dc5dd4a13df7287248911e4e8d1dc4af3d150dcf915e9437d03b7f21357376ecbb16ea39fae3ce7b19ac7a88b10b961f2669be471d6791928d703d0c3d97d653d33176ee3664a5cfc9036159294d06f8093febc00dceb54e65cd2033e0d96226a8e28301a56e67781bd4c72efb74e13fa0e21b3328dfb0127a2895503ea21af8c2059d742aee9bd235269e87cadab54ea0a3765d80175df427fc8fc0803614ee5d1d6cd7e37c9643d6b5497180578d9eebca771964b5297ef39b0b5cd71035b141ea16cabb198fb636e6995c39977c6d467b9a6570abf3b488dd033eb654703d9f8358de859c89e0914bedd3e6df18dd19dfb0ebad8b4b0c7771bb760a6528f034a0893588e71c3734e33c0af54bfe66005fc65e96fd97064d76256a36c0e478e03e69abd280b0a394b3d49746667d4fb925672300bdbf1e97717d96e22d361262b03f956a1cee47643cb7c8d9b9a4d2ccb3ee378b766cc687d1a69b3bd0be78a244503f13782f343e49c05190bd5d57808ff94d56b5e020fe48ae2a2ca076097252e9d036d488fb7b467a29e5218a5aa152d6bd2a7fcd8501a9dfdafc1ea1b0a7c7ee72703ecded337ff83a20fea7fad7588d98257d14889e277d77299f2fdbba4717230c20375740f899c503c517d9a44854191c2f2ecf678d1c23139fef68d844756035ecf0341ea1a98379716d21f5f47a9c8cd888664d0f40d9f28dcaf1916eff570115437037e9abcb67b73c8c38a01567a9c0ab524e521d0a75905cf4dbcf900830e0c8276014109036b3991e7db5811fed6dc2dc9c475a4099513d5a3b9b47f18be9797763c1fd2c4037a7b5b2e358aa29aa6e5befb934106b0855e3ab15969f257976043a7291fac4303715a717cec3938da98614a76ec4a5814949e13583ecace4310dfb06d0b25501700581e02a40954aa22a39eb78af76b298cc36e00474a16daa525c7e276a03a62265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb3b4bf00581e02cf69229f5ec2327b66e454f3e0b45e0171c6c73a11893cc9af8227c0055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe062205a00581e03f7a79fe701acf8068e8cf2f0d69e2808ee87ecf1f0a7ce60b6c51235404718d303cb17d1bc00581e032563198fa8126d7375e876de195ce9b0eb84e1d84cc24e9ae16ff91d104536f2dffec002184200581e0209f9b8ce3d6e8c31d78807deab8b11f52fdca9e5f2feefee68ec6eb904441f5d339400581e02eaad386ad3e53564d2b9bae37cd8608fad38730a017d7e6abf84c797825820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff2f623cff00581e02371ebd915ac327a86032a166a77b17da447aef7fdfae60c976a6d661fb410100581e02f994dd4d3396090c61aea0445980f076e2124d076764d5812ba869d9a043b6eafd0386a66ed821ce8a3dcdfb681b6bd2b8555ddab50eb101318b5baf86d00366d61c00581e0207ff26ef0840402ce0aacc099d3c668cfaba5e09ee2c829155fe60b50a5820fffffffffffffffffffffffffffffffffffffffffffffffffffffe1d65156f4e0219ed1903fb82ecc29ea18ffac042e35b2cf3726b54c5cf202965dfbfdd63df2e9d4106d703eae7b0309a321bc07a82b5f8ab6209fa742ac00936664bf3f0fecf366254ba1303eda9be193d553d7d4643529cde74bd6669a0ee27d9dbc1c070b25d0018e727eb03a12534f9ba58611071c1665137a612218e0b61cff32b0a14ba9fa8ce3b2fedc903f54964730b9a5bd2a4025714df4bf0e0a19ac53fc3fcac9dde0ee09714d6730b03ea94b1841463fe094ee88fd7d197e232ef6de76dfcd99160bfc116e9454bc26503909686a319dda30e6c1ffd90f47f17c4bf84f2c1d56a1a15abfc4ea1d39d927500581f0344df3b658fd6a0fef3466d7b1e27b68e307dafd695e335c5e79f87ef10c05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff740e0700393bfed994293f9becdf0e04cb7f4a13692feea264092e6d35b15670e210bea080322af796545601e06c48d230fde35827bc2dbd3ab97cc1d886d5e51266324204a0219ffff03fdb6c1e55a18a10381d0fdb7902cfca93cfbd72ba154478574e289ebc3b9306f03de9a1f97e440aec048ba1c8ec13c6fdc993c523fffd4f1bee95f93e9c3cf69920219ffff032d3feb98412c083fac4fe57a987c8cf1aabfd38e74ced94f2b1c7173844c71c80326a9b583fe9af530d14f81915b44014629d8263e65a9cf700cd5ee051610ef90033b91e242a603e741f7483c047387b23011a955372165bdb325357e4e7b915aa403c1c10dbbb8c4733a5b78983f4175d53abd83ae4ceed6560e54fe07ea6f8d668403760a14c4a59f326ac282aaa00f8acc3111ff6d96b99efc892eb290533fdbfd110366da746141220b75b14fcb54f6831d0499c486b5ed48e3fd279b07306d1b525d0219ffff035960a2103b1f2b77e9832da7a021650adff09c713e4ce19e4ad40496a0fd1c85031206b272413453b440895bc3c5d8114fa4d8788b6e0a863015a9f3f46b955bad03997467a3a2b1ba93023cc5416d1dc4e86ee8f2d09f2fa3c2b38489aebb71e095031688929229f57266d6893bc85b6a9adaf9e65c7ae6d7b1c665689717f1d975750360d64026fa33e67b55a9a3c964113b7eb9ae732a43d192b3e1a4b5e242af9a53031c47309e9db858478206331f35ba18e5149e6e6bf0285b9e1c65e3928671ae67030b5a238cba1427332c8e28163640370f44a9f6492b30cfd42d64e2d95a3ffe5103eeb5cd5c2b8ef0a84e0a16f2becc984702c3b5ef1be722eaf8f43474c55ddbba0345e9aa068a931a1f640ede469746bb619c2047a54ee76036eb183ca6da223582030b2e6a1c86cec942f79e1cbffee3035ffe905013916c9aab4828c4f928fd116203447c3da4d6f60500e277611aca93d19ff1c830d9933c600d5c53437d1224530c03ffe448f687bbd0b77bcff5002875a96603777604d2985a3a4007b448452efd360348f875bc2c31889cda2423f2414a5bfdc0599964871e5f5ebc9a438b80a0404403c721f7fa4946ba0c0e363661f5718e4410264543a52e3080d0b7a6b4185c74b103c9ff89dddd9d712e29422d69f954faecae8f131b4864fd32eca8906b7069ec020314cfdd3df8b011cdc70c75087d46af86795005b38613155af49cdeef2e4e4738038c3917406ab8f9bde5de881ad704e5032a5d46859094c06ed8fd734317897e600383a5b7fb658bb48ac61b1ae4013ce967dcbb7fc5186d53083e65e2f752e6123c03a7d2b9899b308b8438046ab8791c2b852f0935e5df36827e8e7eae9f3c2111b703746f585faa17753636294560b70ef8dfd18a26b4e3c44a533c847a67f55eddba036dfb5eca866af2de8876b079a6a5ff516728cf10b86b5c4b7aada5bc4762f5590362b2a8b4f46a616ec9c84cd505cd59a8fe372facd6af76ae17ad92ca72c90f7300581e020c0547590711c49dad506173b3fee393bd52fb740f7cbb1caf32899c8b440ce7872003724e8cd4643ef7f9dda1a5791fe1f42d511080cd8e07901f5179d90e31fdc14600581e025e8a5afd4246c48cb339e5dead666ee526aa93301022cca2e5d2825255432dc3dd00581e027a4b19dcc914c8c20bd953ede0b343b29ff19e667c0091cabd767fda224308461400581e02bfdef4c8344d4a904e771af044a93e8995bdf614e1bcca35e907d4840544080befc000581e0231d5fa486f2b61c52ad3d1417ef2b9b8563db555d195a2d969f55533555820ffffffffffffffffffffffffffffffffffffffffffffffffffffffee624b3574021910d603213a2a12c6fe143964d2d15dfd25b1bb65af54219a4f05d6e47cbf147d218de50332665332dd55d3745abc2047671c281bcf0ec7fdd2389f1ced25a6fb96710a1f03cf84ae72655f48c20d9aa090f2df518aeaf11d875fabd9b234a740a4160ba21103e71a33a5a1e34318697bc534bbf9dc6f6fefa17a986a6dfa941b3144406408e3039f12a314676aecc95bb2fa7a3cf6d484086bc53f2f1cd03592e1980759e5370503d911cb2bfb14f60a70905db7a255748ddeb2607352c4eb5f321da8cdef5a8f9f033f43de75a5886507eaa0a1f6a5a05fa73124b1757215a32839180d0e5cc8ef2a03928462feddd486e471e09a65241e6d48961de15886c5f3640f82db0c89ad50ed037e064b9aa48f9068410922aea9f3aea698dc24cc05cfe443fe90b02616282f4a034569e53a8ad8e2c6a5de637d8a863a5682239f66d29242175d36dfbae9605f9f03adb69c1d2d06b519bc29ae30dc2165f9e6570546f45a83721b6a7dda6cfe92560219ffff03775375fa6e921f40041a186fea60e3c7958afb61f500e7d04540ed86a9e533d90320d32901fef471ace8552ca056f3c135a9fcf283e9afd58ee28c3717ad31e12f03784b89093c396c7c43413a2de575412cbb98674e33283a6cfef5de12bb1a18d803db01913d476dd48dfd472cac6bbcedc042a340fd7b56e61cb82205925a4866c603b2fefeb6b64bcde9cfb9518f197b13f3ce619b70c92265f1a9388a65f34b790603130a25955d5009a4d8fa6c64ce108d173caf3227c309213951c6930845b2428603d8d8e7a77ce5189fbc3675db8458424c7c4e2aef624775eff60028d2c002bd7e036324175117d76853ad82334f70a85ddca414898cbe7f2d9370c6568a6f62e2250219ffff03f10cabafa51cc718673427ad641d0d2f3e63bfdc2c831033cefb7515d2a9731703cec4d0ec0400901ea54f628d828dc4d6323ad883b14cd9cdcafe5b8950c2854703713866df7a122b64ecacbe2e095fae0f9330bbaa136393dc4e20d1639b414602030d3e67f06b1d5523eec0867b916a81c13480af32f43463d2adae60ecf8925a45036915a4343a72f11b72b2dca3fcdaef0776cb6d9e46253bf74e28ef7ad07ee8a10303ccf3b9ea2ea119178e9154a7321c90189eae56d49f81187ab4d36017b9620903ce91c48e04db771ba9668b28a180ee19fb7f0f86d316905e0dd7905c4a2356a703d1b84d25906ee9d1eeecfbcc7bfa0b37e20e6099e693daa2516d3dd21c0518c603414513ed420279711408fd493a1c7a192f6a9429c07c03efd185d1bab79f30640319443195f0f18813aaa93f23e3cb9778a236b8b0cedc2fcb4b339ed898cb83b303f85f2a4931e4ddd6c9a3e1b693b61ee71443317b843ed500cf2e7caad564c1c003ac39070567095c624c5838f45b3eb5fc540d4cd933cc26fbd93f863a1c91769903ac7c0d52794bbcc85f345e33a751da958dcfff5e9627dd28b18da7fd3c03e1860219ffff033c697bca4106ce953527eea74678ef8098a4921aa5517bd819cbe509c051ec12031fc9a1d31971137f65ce04cc1b44f9cb64dbc23db6dcf64f1b0c6c97fcedb73403e459906c35506d95242afb1971a8b64287ba051e0a7c7866dbdc09b2f485562203e70458d5b81083f8da5df0eb5410ab449de7e66b2dacd1f2039a9115721a77fa03dd6cdd393647e084d4ddb4eb717ce9d362bfd39283f976c640f4d73659b0b0d103b6d335c69d5e14e3c9577e1d3ee6c2472b399240f0db1cf4fca11402f5aad2f10351f030e55acbe076fa7c9c7c2f79cdb2b71e5b0893cde00cc76121a02edd88fd0336331970abea6995b06ca25e477019b8c72e54678f43fb8239abb9e23f55c9d4039d3b6b1c1114fb019a4d988d660bdd1188b19c060dda1c30928b2b27281bf0f8033ae59179ce8c10bddf14b3c07d80cd650e2684435993af3f48d60001a3aaa97203d33c0191cf392277cbe997f97cccbcba9fda6dbf29427c06b2ab1b209104b2b903b7fa3c6034b0f16a7035afa8a1acde4492920f64ae2bf730ffb10b94320e866b0313b49543553fd8ec2b278d096df767df63523029621f619d25cae747ce89d7af03251c134d2352d4bb6ad354263ea1e7b97a91bec5ca760273fd30b45a16b2334803f9602b5fe10cde01e52a2aaa0f1d2504bb2c1567e236f3ec820e3b79119d555503ac0de751bcbb7102e6ae0790f4ddb00d774535d67764306de9b88da5f8970def00581e02d4a6e1157d5e99457baa24e236bca7a83823772b4cf80dcb6ed77b02a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe204d43f00581e02a54e9780ec872eecd605517bd27f8870f468f46d6d0a55658f01eca99a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff8ebbb91f00581e0319f2f8e65ef26248c3abfe7b31d1b1612cb0d47af74ebd88420f87c45043138a9a00581e03f567be78267ea46f7865fd5d42e2b09c515cc81744af3b273d36cc046044121eac000219100100581e02dbf993d31840a8fb070dabe721f6912469ce278275e7286b7747668a9d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e02acb7dde223bd88a9cf1c20767e21ae331c1f12ce8e4721bcd5a0f3d3a64303f09800581e021626fd96263e31abaf389607cd49d0efb70358b7bd2b0dfa1ab439f04341010219358103e3172c1810292eee2322b96e5965af80d41a63a2b63361ed21fa78efb6e2815103775051d93f14dcc0e0a8bdf3af76361865335571817f8edf851077b3e541154f03dd254c9419d4c26b980d6d072b69bef5f39b24137f8f4c4c4352b3636283b1ab034365811c90dec20424c441c166e8f62a7db4d16994f58f33627e6c0f367b7372032423c0308968aed3abe9a35aa8e97b62c4cf1e8cb9300d2c6f346eb076da57c2038674f3837f8734f91ede1febe60376944e1d2f459480924ecbef02e3b135fb79038940485a1029a60b1222ba5e12dea0504806571e1b9ef5c30f20fea51d87eb740219ffff034fa3d5628895582363ebbc34bfc9fb03f81b3df4b0363032bdd93b1fc8721232034f5642aea0dd0d418bc944067076cabae9ad00a1a77003216f27d85637cead15039d69116604ac308e233ee97f46b67550c59c102b9a59b63430aaefbf310fbdb50300b3635ad51b569bfe0a4c14adccf4e15c77ae1a65ff7eb417e3bcd746cff33d036a2c309765cceae2d887f771149bd2ff18846e43a9da13855f8d82fc09621d68034873ba5756be170b19bf3cfce8c089377fa3c1ce43ec022a542e60d93df2f517036d5c30637688f6162ea509f9607d484dd561ba6afdeee6938d7fa29e58936dcf0333cb2eb1bb20a625c136e67f494b990652d32c61298789fa1dc0cc6e77899683032b73820cf9b289d6c5a52fb20ae09412e7a617652972cd1d7e2ef8890045a0fe036e69e0b8a0ad610e45ed47c0963e9a8801623129274d07ab412da62ca6d5bd9f03db83162a8e41c3f31a344d624623332ad07560a36768a500230a3f566d61722e03cdc4838165db72269a4a6045cacdcb386a3a73a986513e09d1265a9c92c3b3c303a943dfe011efeb6fec122638fbb1959ac379aba370585d9787905636fb3c67bc0219ffff03236170797cddba2f454cdb08d59c293fc719b073cf8bce317f26bd4522b383c40376a9a0663e8178495b4e765ca5ea1d3a99f51dcde7694450c89830d9bb102250037498857303fb8809dfea805e3e28930386694b96a2a1f3883dc1b8ed425f47c703eaebb9a08160647ac3935e8c1ada49eda32e579f31380714302fd8af3469a86b03c48b6fe90eced0cbcba0368155c6f8df5c615906cfce76389ed3981b855bb13f036816356eac58bc0f6ed5a204137e2edb3b4c46c78c8cc4201b04aa4ed8b55e69038fd58aff66249dd35bdf22dcb620e8e16b4c74c09d016021d15cff3f9c4592ba0330f228cab7f00ad450167029336af4bb9067545efbcc1ceac0a8408668a26aec03a29b8dbffc0b9f314fb6d024d3450491fe6db7bbfdf6781232193e2ae0c3dc8e0219ffff03293fef819d988c7bfefbbd8990a3eeb7d60d4b9d0ef5c1285932e2eb919a7a900219ffff032f0d822b6314cec0ee679d31a76ac07f640bac8a4500b8208fe2853d2be116d10381d3f7caa5e0cfabf28e855b074aec1cc2ea8b2dfe9c4e93a7f7f9ff4c46f07c03cd515561f92853eb1304ef5cfef32e5efab8b5b24ed815394d9b2baf5c16add8037764f52349cd7c3094694b999b001ecc518b948b147ab8ffe4d3643667b9f5e203eeb513178371e3012742ab81789da23652b1b4872c653b5430f071dec125312f0339bc30bfa59da088be5b41cccc2317f146a311f60126abe39e803f88309bbc8403752a8c629b7ea06beda75d36ab535bd497adb70bbe40224498548371c3d449c4037e31f74bcf905f8faf72298ac53e0279869e515f5a4fafab7a24d988d6ca88500360e81232c8acf95495781b581cd87f1b952d51dcaa029fd599b74aa3bdccbd9e031753ca4bd4bf63c8c2f2d9291e121576326ebb95683eb8ce158d916cb538af7e033c36b7e6eacc26c39bd5e5ef4e378df3a3fa9c3eec5df4d44dc99b1778a6fb37039fed7ae2f72b84df5028e4f0da4e77edfd497abf25740a959a601e4c7410d09c030c4f4fd0cd4af0365576b8de24ee25e801e4bafeafd0f466414bf110eec1bf3a03bd0f26e0a28cc8a884ec7454039814b1ab30f0c2678d06e84c0a04317bc37b91030413e0092386151152eeb8bd66ad9a4ac8ea520f5bae8f7b32f6af479f1a18aa034aef509e96aa4aa16b6e26c40ae71b903cb2ce51f641527eed984b63c98116a3036d855bd08fb471aa0004177abceed1efcf105272ad1672fb57cc7d531ec33ea5031e5a9ccea3ca7c1b4220734bc76fd50980339b67fb903f942684ec8a94fc0ee203e3d9993ea0a9565112b746d76cada77886005c13f1106dc2873199805a765000038b9dca94fd5476cde0e8335325f3bfae975ec18dd8863fe47e892519c5ca412403adb06af8a7994e408f4d89eca1b0ecdb19437b1b7c90a4d0b74db7582722a1520387d7bfed3556312c9093ca3392eccd19d8bddcff37b09ebb3f7de3f700e119d103ced2c6814aea3fa98e649db33920a6efd8a53eafdac6d67a5201295cecf86ff203448f28d0147736e6e8ad6585a8ea4eaebe05b8f2c1031d99cf2b3886d89cfe7b03d13c5b6828afea2c357643c739c2c030d2ff891e1607bea372a4db78970f4bcd03a3a4163fe05f0cbe4d73cd0225b0d3f6ba9dba4a19c1dc55d43e0a9cd9856a6b039952a227919a821c8c122323d843b4929616da4878249a6e4f4eeb9d794accd400581e02d7b6a8f826b4d116ad0456c30c1d25b1045195dbc2d075db18191a4b364308b29a03e81a011842ebe47e88e713315976112cc6f8e13e90cda23aafbc47d99dfee77800581e02194eee7114f9d23e9d9db35039da555804ca8c4639239abd3a07ea22a64701a3ab08446a15030a0fa41980d57cad7263d4ce8c14e667dda1a060022141fb4f5e5a25cea83ce600581e02eab037388a3fd52f88c1fbe2e7cdd24a5fbdb5d29dbb85af0b610662a95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021915a00308912eaf774c0f9037e43f546f2f598ca983dc5f073b6e06e71f5eb2734d175103187865e8559c691c9e841e1bee07a1e3889a4931f7fdac87942e75742110d14503ab00450e74c55698b12a1e98e8ff8a016234cbd258058617171b2d6b0191339c03f631f1b2b00d30348fef6521120d9767614f637f8de6569ccf5f4bd76baae7be036953f7e709f8bf233c6f746142737f8ade4ac750bf7c23ff952fbafef0f922700394a536decd037638e255aaf7f5413133eb8b5067a82476f98bb82ff7ff86d76703a401ccb54f95cc368aa8f8608be7efc86e83736f720cdf4195753d8e778033fa03956313aeb10993c0558a819ea8a73cceb3b961d61d5e9cd961e5e28b36c4e54d03bd0c044e36a4b455197b9e448430e09f0e458503205e5f849e0baf7beb0d427503a0e9c5fcf0d174bdeb8229b62292e4b930c1775ee4d43dc7acfb80d5a6ce5e57034ad561bc9123c6c99881ebf71807bddbcf14288ba76e7b6ecb0c0f0740b396f803211c440cdfe673966f34124baf6b32000b91075821161056a2119246902863b3038056e0f56fcef86c5542c5a680a7334037624d7d1cc67ea830e913b01252a00f03af3a64bd02c7441dd29359b572152fddff04798e5634219a3dbe4c78a72e832703c03fb791b9f6d534b7b8c31916ed462fe14acf0418ab96c8fb57cb8ca4732d2e0219ffff03311fcfaca237763700a44f901aa9978fe0cb03a37a0f44eab2b452240bb4f2b40318ce6ef6957065e1e8226ffca621285d152728bb8e1d3cdb4236001c4711513d03080cf64fff02bb9d57da94934c3a82d73ac82cfdfe8eea358fc2c3c0ad6b2df60386a986ed9b68eef71610e82368ccb33a36ff05da2907bd7108964b337cde855403c1dcfed36b6931690b784ebd07459c5e94cea9c8b2164cdb97a75972d4ef32ae0362fc32f3ed64733e1ee27b2dda54fdf17bb1aa537357e274732bd03c81aa1c2103fcb6054de1724449d8ff2a17373fe5974a40ffa2c8bf7fea7a2b84ab3541d67d03d0cf917607db2389d47916fdb522196520f2a9ab7dcaaa4a9ff7985fbc791bc10342d0f04c3ddbc29e6b95eba87db8a2c0e7c9796b47c6ba528261554068687241034d608f45469360e20be0aff1633bfd8fab47d852af7b550b7e0e13327628654e0219ffff03a1329f8b6754bac562ef9f3fcf24cd66b48b7c8196466787212cba2100fa4a9103fef85e413226057c957a5e075664233a4392c3e909a8ddf4b6e366113e172186036aa1b92dd10a9344cf4afce88fe181b3d4f5aea2d2d3841e158d485ca7ecfada03ada9c316df25ca07221e4eb6d51bba428ec015ce8fce930a1cf6be80298cf8dd03ce9425f823bd87f39bddf9b1087bbc0a686df00e48ca4b93c1037780d56c710b0219ffff0370184e980eb3fb36cd16a4c3d85d8e2696c89974bd4419f13dc90b7a943f4659034723aa2096c8afaa5f2d0b2a3da75b834a29d87941106455ce8c64162a22049e032ed480654e8e53af46934007f5c1ec0a3e5ee0f090700e5e00cedd974f2567770219ffff03413ff7dd2543ce77e3e3fc0f50fa8e415ab4fe054e0e7632e2fe5a1413f98b64034ef971f2e62f1f63e1d0b209a499adc2cf76dc77ef63114ac26728f6167cb743033b07b0d1448e47535a3f0f00e96a3c694da0d902f4296c10f06716f9cdb43f1803aeed726650a47818f4c0d68110b9febbc8b638e9dca316a15718098a4d5c37fd03d03d31cac7751a1598ffd9601385759f17e14fb1f98dec8cdefd01d00a31eb02030d2db3c66cbebaa2de7238a27e3768a8e421e07a1021bb45cf8102c1540289c703a4ced820aa6e7eae9faaa2f795b7f50fe8a1aed296ef9cb33f6473f9f70c84c6036119a162debddcf7b06f49aaffa6681084d5af5c7a2fc312f51d039a228294c2037c8e781de147302af6e0e2b680b927bbc1136b89644c1ea86dab9e896d93d02003779b3ba64f90166b537f3aceb403068ab8869999f8cf450b249230406bd800cf03681e7bd857d8321d52759448717b3a6ead25af396016d4b8c9febedbe8d6bc37032d3750ad0e493148fc941d2d90afec0e325708b34bd8f5894d013f31e220151f03c410cab03a8fc134a7f7f355f15885faf7c29c0576dfaa838286017cd4da1e1b0302be3795a3c6d5da25c7fb22080ef7eea518564f11f141c4639316907ef6a83c0329eda8c277524bdeda191e58c221d348ce91b1ca213746f336966a73a77e6b5a031b8d746abba9c3b35577ff351b3b610dc6f65d0953108263e6bb60c0993de2160366836e67175108a88d4bfdb90a4a4d12b1d34478f7fa7596940b5e7e55f41b150382bde322d8cab41258d2d1711da44b352d9db3d7e63b16557f49b6a04b5ffe4203e653b35c4399f5abf70d622bc825e2dc906c47942119c43066e401930b3d53cb00581e0223f528c2c0174694ecc437f5f456628b7a7076ba71f7862662dd636d2a463235290e498900581e0219bfb4b5cd5bcc7282251c164129bb661045407daeaf050a01f18d2f424b52b7d2dcc80cd2e400000000581e025aa3199e83451226530d7982a49ed381a0458b3659affc609ce29896885820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe583e32cce00581e0232ea876583f013c6d170ff697ce605f60b585b1fa5c7f6afa0e8f09d4d441a7ab7900219884103e63df670bb883da6c19449cb58dbd71749c52202309794fe4c21f0383f3389cb031888d955d12ba265ccafc87d2056ad4b7aa8b051827f87f945dfcfb6b716c17c03e586efc6e294d0f4f714ab8f4048567c12c5f3108e72f219645618fbd094a913030852317bd95c60bb9b2637e1d8c5cdb571c7fe3e461482abee669d7b44e434dc0310e9983f0b427afb3047c7e50650075acbbb312f14ab5b6e6b0467be6881a9bf039e6ace835905a1806e65f4c29ba035725c620b881659e9cf8405eee18ef732560328076ef6512147ff5e606194ae9a92a33acc65e6b50fcc22afd338627b1c884d03226241424eea0e7edd9b2b10c4c4705208ca52fb690ff75754497c98e175a345033c6df234f7d90bbf14fd3e6f09c48e0470b729e8daef9e3e5867d9ff6b4a14ad03d141778b9c90dfe91944468063cbbb815810ea8a2cfaddc55279d0e737b2ac7d03b185e5a79e22403d1b022554b5ae53972fa742b05ed301d719376521e854242703971c71c9a4c5fdfc91426cdea496d3aa69b0cb278f4f2bd77279ef39d435fd22037a32d9da2cc3f5f681730414885d3d2aa1753102cf431ea4b1726c0c711395da03d341b26f12c337d8902b2c4ef6134545bd5f99fac8e70877fc0175dfbb8922fe0219ffff03ff42915292b280066931c2b4fb9b618b1be17cc60cee251e2c169d5f1caa340503bc1a6e0c85accd17bdba6c3401435daa8e3762b45880b3344d9077921ff6037e039fde4e9ffa16b6199c182a070ddbbb73a3a820984f5df61e6f057580971eeaa90340fbc782e9343206bb68b056be8171a169ddf7fd823015779122055727813b9803715708f7ec3cf9e7955770476e59f148b979ada089723b7e1c52e1279dc1a9880305a435465310ec1ab697d1aadc0a93e37c5dd48bfad292067c84f8d4953040d003c14042e67556aadbb2c3eef6ed52f8b5f40c1d62e5430351212c287210b3e2360346ff89557ef2019fa92bd2f6c01acd0c16a2d2d8bcac302a8feca946c45f5e760219ffff037fdc2e474588c649a3ae5f973677795575819fc48ad4eab1d0af0f7f4aeb17d80361f4983ff99d26ec51904c15dd4365ae3d1409a4f732ace39f1f1d4fad56fe8a038ad573dd5e114e8d5f7a30c7ff9334bb084c6532466364c6a7c2f9371409fdb1033c63c25b98626d08fc8d604dcbac6da0db6eb09c91703dc5af7da10ae95b93e0031576ffab2d32da381874f7ef6a70c928696be4f721caff893108048dc397773703ec60ca1732a1c784f2ae52b57e42682238bb113dca7548f86e126ff0f174227d0370e53fc14c3106c54cadc0e10deed8879dc5b82ea0eed1df55c7836ccdb7973003fef64c0c67dd526039f6ea32ea1ccebaf94ad92af3bb4530d291ef5c8014f27f031cec132fcfd968f53dd62fb08ac1eedbc7ec4e0a4ed02999c0b1108554664e280314cfe9cd64164abbda351816acb58651abd5cfc8d0fecf9a49fa67af0c119be90327e1dab172cd16b2cbc29ae183cb5d0ae4886ea4735b7127a732e806c7bdd76f0219ffff0328e985eaa89adf431d14a0aac6b3e8a0dddb17e7051b735137d9c69edef89a3803a860195941fd2845859df2acccbb30a9f40b504b4d4947fb3190d541fa85ced8038307e57d0a333a6e3542ac82fd2753f2430da1633b757a273acd2513ee6b571203acefe3a89ba19129b7e5db693f841be5175f78d43b7ab99a703dbd25e42ed1a80319df5ead19159efc24a6265aa9a85f0cc07b05fe7f9ce256ed415171e286e16403186c87cc495ffc43b90ab348ba311219a275337fd1177544b9ab28f10f2af3910301b47c57810364bbc2a4671432f0f97d577ccaf40e673f7d80cbe472e0a6032203b45f3b9260c67aece9b63226bbc52e0823976b94b6f9009821b5b64622510df503ce1204e524d5e1680b4565900a0201db4e829c5319cf1366812194b4460ffb3e0219ffff0308d6c1ca9a1c96360ec61713c98a73be0cea84fb13be0ba2376d09c4adbec5c2030cb5d30c202c31526cb3a064d1ee8b21d0b1a2bab80eb51f54b5fa1ab2b83853038b707b2a0380ff906bc88a798d8ee7aa6215a24ab88c800ae3262b299eb39ed403968a90b4eae14f4ac5e51f728b0a62be6b3da147c7d9245594ab1a79fa58bf150324b41da2e78aef6b2a83bee45570e5c73ae5c9b37a814c7bf31b9239fa11800b033d1ba0c95b5fb7aaa46a5f393748f9c97c45afd443bbe1c9d5e3ea88c39f4c71030fd2926df3f3f89404f5a538172aa1b53a4f5bdbcdbb65781d9db023e5eee97403cc2658945ce2eb440ff849844faa694f6ca5dba065c5ad08654b6010b34b3ab70309de18eeb2ae6234d979887bf774c47518e4df488003bfd0da11785d1818b4b703b24cee1ece1965d70a5007580a7d68bbcae7bbceb5ef7b2976c01cea2229d872037dfdc816f63c96c7cf91113d73d32de438c44a8608c94767d01c9853828e6c1403a7185f167180b381808f39ae9295615f2182bc89ae6bfaba9498b26b10b2539803c7f241f275db5f5e2165142e3ab5c9d7bf1ce78a03735fe92385f99bac49cc6d035655a64617c0bfb21c9a63f3802ae594fb4875274b279d07769845b9513a93bc03068ebcb29375842e1697b79710c0d4f0712e74ee4a56cd0bacb0ecb6b6d037ce03ae13e6a79d6abd65702f63cc5bd9b423d3e9dcd6b2a00852350e368963fffa1c031eb4640d5e3b5b650b8cee92850e34c73d3b3db309b82fcbbcebced850c333c400581e02812c5a10a56d26db280b70c0afd5e480044d135397aa6d5210b29ee61f4c204fce5e30444bad38fa535b00581e0256314af12aa1a62859483b57f6a460b4a8147494e90b2b46baf775255a43016bc600581e0228215899711e292069b2a3126138bf052b23c82af7b3f0b31bc7631a855820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0211a283bf1f3c72fddbb6685655680bfb71e21e3be1bf7b410292969e25422710038e64c4df426e92d53cae8145a5be45c1e3f0b26f9484b7aa0fcea250548f8c8d00581e02527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6544914f61d25e5c567143774b76edbf4d5109a856600581e026c5232a972abbeaca7064450c7b385ab511a2f17f27461fc4afa9cd4935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffed6614a38f02196d9000581f0324b32423619184f0f0fbcc857a2cb681e8ffeca0dbf31c292434286f03805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd96ef04803ce3484fc11cfe0a1f3a62751064a49dd0f0a1e1ac0500c909936347cfb47425d0327a3ca5a4bc3a4d2ac969803f550870602feec8b2f261077f9f112c737be929b03c536315ddcb55934136c59d370137f3736f0c56b531029facdda4a6dcbd556580336dd821befbd5b0b7d1a18b83c78999e69c0056608c961ec8e3e3c24d497e09e03f7c2cf0ce57ca8c5deee4efba1f46b5df6476da1f5905ca0a1d82654b32aa24a03192e78bb3b2e31f9ab736afd98deee29dd81e06cdad3940a37ad88b0361a48be030cdaedf1f014a2e1d547c4aacbfbf248a0412d1e293eaeedab411101212dd74e031ce258e1a3d5c8e3451fab1a73f0e78d9baa004811c75111d05d4c0b37545121030b76f7b2ef016b75916f53e192ffc30891bc8b373e024dfd46baef467553bd4c03a67457f425c4fc360a80333f5c2cdbc2054885a53b3fc6115058c335183609420330f279b3f1d5d2c2f4a393eb5c15ee6b7527c212d968b3f6ebe1b21d6b4f2f8103fc0930043a269842adf8fe2a649ddd3a903cef22ed065c4dd6de6859782dbef90219ffff030a431286a0537f3b9aa2c17b08215b7aff3afd085e3208fb79707f31f523cef70219ffff03705b82c51fd5e1f858d8e7e3c18b9b1c76bf3ae406a154d190ab2cd6ae01da5a0369859020aceee38dee2427458b92eeecf3c44867599570b7a26dcf6a72ffd84f03f35e37ea7b15a956761598b944c51028b61f786fd2d3e9f8343fbd681302b8ad03adb4b571da35bfa4c4d29bf0d8f35bba9381694fc30c780fab6261de66c9de0603a5c1a5b2e6aaf181555b143e669c55896b5ed7c51b86ce58e155027e33d2569003ad0bded8612f884c2973f44bc2a4dd720c435aa01e7d8e2d9a9d9d31b0d0a49e032c5783905fe0113357b53e294dafd0f6b60b52839a47bd6cd63bcef2144a592103c3174b6226f321ddc17469c752572b853c24bfc2bf0c5961a11ca186237d4e100329255004519511c589dd6e7ef76902d8d2ae52349657f88c594f7abeefb89c5c03184cd9f5bf5a3656ef072b4cf0182e55bab9abbbf3c3bf548c5bef89f1bb2b7503ef5b90f18b07be990e0664127603aa02c7cec9acc0c7a60583fc23cdb9e5696003d5f9dac2b9ef5bbf5014a43bb698b8bb147ef8b62ba466adc535a21c42f31c22036b474f4a8bc998b24b26885bb445fd91b50c18357c96f7312cdb513ed3554ff40346e728746883efc340c9ffc6a99754fa7e02c659d12a713f5f4cb604b6cc78f1031852191761b4c4c93be3c3ca3b1017254adea105f5c704fbbcaf290c9f81fffb0219ffff03fbd42f9419105daaf449557eae35bf4fefba650f77dcafd86dcf3cf6d825b41103b6e9b9842d47e055a62b88df871becdec8850ed7c21fa9c0e4460251bec44d47035f0bb80b812e6ba096511a4bcfb50d27201f7c8b90e7b647a2190871b8fbbb4a03977584bb47b2ecdb29205e7fdfe1df1dc0b27a7e3cd6c0da679c90b88e42add1033511a4422e9dfb043675899c9ba5c56fa40e1966ec7262acf5dda8a0ec26c3e4038374791ce1fc2f298aca778f7db8babd2f9517dad802cfae7c09ea6794937055033ef8cd3cd9704ce691958762aa651a2623e41ac46daa618c45a1213408606ff80303e5d658957d8ab8b821a5759eda07659a9e4b928cc31022623a283b185c348c03fba1470c67b03d4041b24fee0009169a9c6d04bc614214b06f475d48a1ccfefc03f70787c3a8734f514c6c0defac251b3c1c615916b0351ab72a260bc953dfae570357572b87387f2498961011b9a564151dd8a651e4427b0d5229cf043b94f4d8460328b5f0d316ade2686bc5604af7d02e60075b6b5b329dc9911e676f4e5c8facba032953e769808ffefb49efa290cd7ff65bd811175faa7969d2bc1c88d7ee4bc19203ab682359f9eb5c2a1ab3ec257d4ff450e615e377848a7b9f4e1b9f8ec2071d740219ffff03a6130309727fe5c29a5343630deea2d75fa85ba6a5417d83c15d2346b09d77c3030dbca33f928a5678a9278ab7a9220984fdea219ac2a8b7262709651a4d169c4a03d074b974a704873718f2a66942605dc651d0eabf63c0ce7008938f52252ad7b403efa72bb8aba465bdd7851f74d59bfa03ecd10a986582f7c83877d61dfc5ff37503343084523a57dac6d45a3847fbd7d5e219d6084a2b4f14c50c1fbd7fa3e88e3403c87c678204bb22c25cc69c7acf242c673de65d5ef3d928c18b0c4971ccfeff4c030838327e6dcbdd8e8337571909def00bceac1f46790eeb9707abd995c4a3dcfa03e2bd9e7cfb8654b344a9b258e3553e3a51cbcb5300c03c413ddbe394934f81720349286df06eacd82063a37c0d05b643a8d477d91ddf2d70012de86e209e44281a03aba6fcbf2f2765cb3b140c5af8b39876b78bb401693b3c3e98690f488423c20303db9d5a111ffb4a1f9526eaa6e5d86d0bdca98063262fe2dbdb0c6cc7e45a2c99035aaa43315c941fe883808479adfedf3102f10c32c111f03677e55e0eb75997a2039cb4e90b399b873782684fb84370aa1da94befc3090f14479a992b8c5f6b5d010330686b120526b8ba64966f24af5e1b27e60f1ae8d592a12250237fe2d633698c03d0bfd92c5e7e4414d668b302e36cb25e02782769ef93c1bbbc6cd4a787b23d8203286d6c11fa6ecaef8fe2d4674da88760c2040a9bacb333c5541e3afcceff8e3003d33662acf2d21a0863a755f810e242133d675ff7ed62dbb40b0e1916ddce5a7403ac987d82dcf27d2767c7a99efabe369f0e3a9777bf9e9e8103faee00679a40b5031558b72e6715bc6df1f2f34a218ce4af4c94a0f9155626920c7efef178b18547035757711b12c7b62ed1948dc385511d909b08b2f637efc3240f7ccbf6e191ef1503f9d5beecd5b177ce691e57ecef37838b16094713cf44f8a5b0ad339e330e9508032353ec98dc14f5c38cf251945d67ab96f4fe6bcabdddf8ca27ebb744a9d1e4550353212cbcac8a76a5548389102000e00b00cddfc6577265cc6105d9f61b8e012003f92743fab10c6c93b851c918444de45b9000f3076d2a32fde189f0e567d47361038ef9d9fb24605b5973b425c16d9656931b0fb2550f54d7c70e21aaa960409d0203b27cda4a41a1f9ccc296cec7f2cd40b283e46020c9c7fab7f682bf96ac37f2bb037da2a2e85ecbee6c3b58103ae456435cf95151b05778d41a00a63091b564b9a503905637c080fd9a6f519a9b09c0afed71395b7ef18fde9a09dc6f316d5de6647203ce23dc7201bd0f2d106d5661febc5b723fbca1ce5ae98774f6b412fa5ea13f2b038035acd51a76277b24a6a0f89ac5d77935b5c246f9db981e9810063dd10902d003c9e64ce19fa4f1eb2242ea761f11e58db26815a5ee9aa561604db8df988ab371033e5b1979c07503c33817324ecf71a16d242ad57ef2c0c921fafb38dfc2f23e76034c9eb3c9cae196e067afabef8a6fd0d90a06335b69fee7216e8e9d7a7498acc303615a2028ad9ca37c83681e6877002665350c91cb5dfbc8de7a6696bce58c8957039d14943e9bfb532284341e4782a9946ef3a85bc93b790a5b2ce764f399ae162d00581e02ed5f36da610d8cf644f73e0a6076f5ab84e45461324ada5fd7924c18cc5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffed5fa0dff00581e0273ae64753fe3200b01e293f2819107779d630db13d440696e28ac80b3844017d784000581e026c3d3bbb9457c83fcbb42e24feb26c77f4e09ae60d61153df095dc709e430f424000581e028110d7aac61f665b870a39be9988bf9042c1597658dcfc7755374e63c0448e48b19400581e0289ac74ee2c83fda404f465c717c0943f1355a8926386ebb989f1572be24359704500581e0245eb021716fbca7cd2b2e80fafa0108afff964b2457b78acfd0f0af4b4451741ab496900581e025b15d4e9d76eb538dbcedb842053d7ded098b432fe84d63c1b187a70b745039d8d87400219d234038a3006badeecb3b832db5283ce554ebcc90a96908e39e8400af0c024314eaca903516247854869c710bfbfcc33885562378fdbd1abe52c61a5ad3980a4809bb746036152ead285485ed26401ecae53ec8082bd30cc92fd5310b540f58d340a2853fe03a744befab9de26ab1219d3cd707653455e4ef1a34e1fbc91ce5c69f4c9f8041b03a353839951411239ac0d6ec6c3d652a74a51015563a73d1952c5d533dbb4dcb00219ffff03744502604d2cf2a5fb4ae0ee2d6d86d9db89aee677ed619f2ac21d19dd55c9fb0219ffff0328d5eacf317ba7d9974d11852770b2906b4d97afed17ffa4b8e33cc28a26c2ee03dd2db727e1006d92e0df6606609abdffb5227bfdb0ebb8220fbe02e57cadb174038721db4317b67ab6cf3def7b3852add39eab575a82e4e95a5d216371f7258ac403f13894fe9c3717e25063e2289f1ae86812a8c8af11036fe5d50258016dc265770313867b780756dd1cb3a07564025238c93e026ffdceec52b4fec5b1f92fd76f6603439b791166b1d1a50d59b8dff415a35c17eb6f1081d4b9cc7eb0cec4b2606f6b030cd22b83fb039ebef64cf5378d0e741d2848b2d1d66a901a6434482ca672920803b52e109f2e4e3b3f9f2517a40b8f7e9c0668301779cc4bbe5fd3001cdf61ad070219ffff0376731babbc984d4f8074ecc6fd9c804e6b52119e4de231be94404dace4d7d13503f81d2fad414c4eafaff6fe17edf19a3c0a8f5840ffd08ac4e480559547dec0c40310e57ee97545a41a12560def683d5fb3dc921001ddb0588fea6b13c40f31cfac038dd78bbfa3838baf8177796ab837d7a46b3ccb15b097fe95ab70b9929c62d32f03ecb67cc597597b4a8f315caefa96cb2da0198f5bc86c902921867643defaef9f03bfd6099611749373a2145d8e6da58c5da234b40e3ebb5b258bb7b53ad78749f903c8201a94f8dcfbdb483bb496532e7a5620d9695f2d9aeabdf67d4768a872e684035ed1901a3856603a5ce88940f0b2a9e8272bc488a1065258a6bff00babfae51a03253990cb3258fc85c7a00f48a04bb70d3c3929cccb3e32349f055067de8904c9036ad3f0b6ad19eca85c7c976f3cd616792dd7a582ff1ae8012f6183da7473b6cb03f1a5cc840b53d3bd2daecd92b93479d0993ab5eea69a4fc98b7d989a6c3603500219ffff0378ab3b018db9d6330004662e9c435d09216c13fdc8c9093c41bdc9db6234bf5d03c32012fae0f59cec080bf215e94ed42bfd285b5a640471d994af350df5a1bd5b032dd3e4584122776855d1d9ac8a9850b4a36578fffb9f9e7256568136e3735a0103f912fccfdd3c9ad5283e59751b9fa33511c3a28ef0e597a77d6a5f92141e670f0314d6d0249d3d6890142709e9abb1b3fad37acec8900ea71dd6b1669158ca44fa03e5ce5a7def3bba9962278a792e83950ea95ae2b2a49ebc7fed91d3aca4143a8603eb3a1ed25dea91587ddef42ba6d467bdbc2191d0716842172fdcf5395bf2d28b03f24e99afc055131804c085ccb5ead1bef11a508a897608141ddb144561179af6037c88248aa6d4a30d42bfb9fc54bfb212e33fe91cfafbc583825b320d81e175830371866df9274ebef4b4caabdfa7a5d956927e7ed3866fd0b2a91bcb7fa5829e100329bc1f3e972af15775b13638be847ca67222546bf29b57a3deabc69216641940038c3b8442054029a8e6854eda6c08aa1aa98de55e24f79e973730986faced2a0503b1bd9eb8fa5b05950d904ac17007cf74d67a462f922ed5ba5dbde4a78a426d5703348a9ec3d8aa61b093d3b04d4b0237ef993fabc0bc863eda83d4091b5761193303e1543bcbafd52e43933569b43d2c9de14867d89efd61645915a6d47ba77b1d3c033ba290274a19ecd94c6cd20f53fe01527b93343bef38e1d32518bcb107e2146c03d6a06735c04db98c7da27338d061b4b15a63138e9e8f8fc9adf5a5360cdbc2b5030e4b3a0873dd12c6794075be9d758024ec94ae03ecb39fc10f3d2714c7b0ace4036b488b5ed50d2a3a41401ecc73aa140c5e3bc54fc426379ed5688e7a402fa93f0391369053f7d2a924084992e3abcaa1ef126c2e85029498f3e07ab60f23b8e5f803276457432a0ed8b42518d927f6261fa486540b38cdf961ef6176f1fa885389a103d5df821bafcc1b7a75c7a5cf9d76fe22d83720f412c860e23f1ce60a5ef7b2e503687e6dc9454fb83e19b723d9e0566c915c7682b7158aa992e759818581a2c8da03345dfa92d1c277ca8a077349240cff2e0c666729c8b7025b5f95571614be1fd303763b0425787e250eaed1567682b211a5821777e066b1aab559312687d5d0a52c03633338c4e2fd86e70a18e1890462042dcc0c6c676a232b27f8c4317ff1136bef036430aaee2b694901a5ca18e2a085da96df7bbdb5809f02c9ad83420cc3d0b1e3033103fb4066579efd718ed13c678ac0f9a456fb33adf933506dcc8a7fc47ddc9c037fbf4403e798126a2f07dbdf3ce361e99b12b7e16eabc195ef76acf6fae9ec9b03baeaa8e2fc26407f9c1bb0785c83fac3b34cf7786468b97ff28640c5e326ac5703e8bf52dd75907f5c219d72eaaf5f85e8362db48e001ea76e4ea99a2147d320c9039270e9cbce922f5fd1b8e806a3181ae16fc65b28971e69509374d93ad45a050b033abb2649771aee8f0a6d978ad1dd5a9cc0bdadde3cb3be29b861d6ec799b6bba03cd3c54f8eba5977c863baf9f2cf4e1154a61bf5710aaab9b559d3115689400a200581e021503beb4a5013d22c0f4d18b9898691e28fb47753e4ccba5354d7442355820fffffffffffffffffffffffffffffffffffffffffffffffffffffff7b9061f6200581e02eb6ab0dcbcafea631e4a084763ce6778c6fff68615f08f1bb2668bd1e2410100581e027348982d201546f16b15d72a65a23291fa01ee28aaa488a95c32f926be464f9e67c574600219800303cb3a8ad54f892af71f0e34ef7a1732de9997d4ef337d8921168b16152748453d03ddcbb87bde6f60b348a23c6dadab7140b744e3e5523c3b73a375baa0e2e611f9030af64f7c262e979095b21e6d80f37b924ed923f992ec24b0ccc94799915ce41403405855caafa8a714275fcf8229dd2c7828ab44c8fe6fd76ad6e271dfb016e46503a255615bbc5e07c6dfea4a7a703945df8fe58089f040a611d7412e76002e670d035d62b697e194f58677b28999e0ab0949fa3d5609c8b5ec82cae5942b6443baa903e884c897eebb9b915da8f8a137bf8235eacebde7a7801637959453f95faff5dc03307988567247e334d6be3700e97f736413e3f6da9b1051bf7a27c2dc5e9c58d7030fdde304feee62589dc9c1cd070f27a5c35919099caa06ac69accac0c6de71b403524b5c062f16cffd9176d42c767c610c4656f4d5fe818897ee2f794d74da8a040219ffff03adeb0353be98f5b3859d5c9b9c719bc716c7ff83087064a22a300bb47b01dacd03d06aeb766723092d1de1ac052ec94cb395caa2a6c34b3e720400a2150a995e4d039da4b32bab30de0425f73e3df5c13dba815f51b27736fe52f68922c5227556da036a1010432fb3739266c1e813ad91108ace114ec69f65ab1cda6dd9849fa193eb0219ffff0219ffff0303873c9fdfda902da2a3b3ad1844f4da89176b6c557045e40777c5e8cbeceb630354a070b2d3588bd247cffc4598b43ee8d2201b3fb0b9c59ab450e46f128f319903d1f85017d236ed7b23040f2f7d8b9fc7a1fc208e5e8cb46051c1110fe299e05903ca3f8ff97f3d4cc50d03d2c733b6b7103e490001335a249163600fa7a2780d2c031f9965730005fbdc421ac18fa9678622d28a18c098f6630b9edd5a1be9728dcc0322d8a6fa76a6a49ac7ee7dd56aeee7e9ad12f9dc42714f4161655f17292c818303bbfe9ff32c2df4b3a8dd87452f5509edcc8066511acc187508814743b731c99f03da89303e50a0c2c3503fc8b2bfb72d34adb725fb0edaa57de6210686f485b33e034bbdc3f78cfe07005b88c3d1dcf480862dea5ca6d9a2ec185ee16276503b4c9103ebd7d7aedc6a8cc37cb5a2bf5326d2559234b1e58c6c0e59d315055aac781bf1031cac04f6ed5b94456b020ee28fe8be45f1c3acd3434d8ff9df1af528075f0e8f0361133bc299786c539791fb16d5ec5a84e68fc82c7d697523e4f2f676f65c7b13035fb9439018c6cd330c7816342720adcc80c0c1968e611b564f138e56a7ed3ada036093a45e344b60dc8864a430486320f65406a9ae2f8c5dbe4b55f89942e7b3c7036a54d28851afbc72e98322b1ff4d9be2da69a04b7132cf25577fddf72ff90e8a03e048dc65d44417249d7c9a8f193dd2c313fe4d1208ddae6e4bacc05124789fa003db72a73f570dc0a0db8382dc1b530b448c46213bfacfc4476e0e2d77189279e703a053635bf56a2b088370506b69f3156c2bf802b299ca24cda40d4f2f6f753fce037460f7bd4864b38c2e9ae7887cbff3761df7f0c630386f8b161ef92d39a13018031e5ccae951ce423cd8c4c14692eaf451f268a2151cad3f1755a5ed018a9dba6803832c3b6e7b927243c0c1de1b04b2cfebb56a7a2f56af56d0997315eb3d21822603eaa4de47ae9e5fee880537c56b98d75b08adce63e6fa181d4ba669c80ac7a070038faf6b26a0e8164b47452d6fb478c2db2ead456c1ec20ff002adcf05291ac82e03f853afd87f3a484b0a9ac9c43040f3ba26713bbe492069d7bccdebcdca83c0dd037fd7497fc47deee9b6c552c061e1af40481ac239488df8bb822b94f1c135618b03489841e91d4b11b9f8fb085c45910f3d8e82d9715e2a2f2ac461350035eaa059031db3c777b422d2713280017a011f55cfdc8079011bbd2195ef200b402839236203589616dcd85e8c1ebb532013828af014f165a61c94ec1c256793f607ac80515701410103deccdc53af43e3cee1d4dfcb2bb3ee374e35387295b006200abe4bc6d569d29b00581e027b6fef298d5b6b59a4ac41bd3b48e8629fad8be2109aaab5b2d2efca135820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff9e7222900581e023e278222592fc1b2f45d34bbda5153315e0e8cf0b10e52fbb9d8c39ddc5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff9e5ae5400581e0242f1e50470316cf22e6fbcf42580d45ec6063b714e458c8976354081e6472386f24e8ddac000581e02095f2716d7f781117df91736f2b7f6591fd2c14c794cb7fbbcbe4be8525820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028177614e9a3ad69b0745525fbe0227c220bb5e88f7ef6ef57c83bc563944328c1aa400581e025a5e41a6a72780d9dec4d9e2478504908d77d9d4ddf15a99bc6a242a2e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff8963027f0219ac180219ffff03b6a2c8d7baaea1232f0e28301d8fb5bcf7f095d2c1f83f7feff0505a2b6e88d003ee776be7a90db9105ad4a5d7a600056c4eb6f5dbfdfb3e5e8f8ff560a2b3666d03f9eecd1c2002cf253aa807779260c71c0aa70d25cf5133974e3e76db7862003203b90330521e3edadac5965f05cb27ebc80810b86f1f773e6e33bcdccb787a8097032ebf2ba37f5612e83b754263afa3144562eb8d8c185236ddfb7ef2c858f21c8803ef40863f56e190a1e267a8c4e563214fe1b3e153b9b65f80d6c7aeb014f4b85e03b78dcb30074a67f1130c948cb6507c5a14a9228f9d9767f770c990230592b3b203bde745c69ded73e10d739c20a480220990cc86f161a3f344ed51f4d262e87ba9037fe26c6abe5c1fbcbcbab99badb31227346d108b6c42a0d7c7975fffc7caa806038b60ccfb014d1a5bd38326c9e67f71dcf9f93c0e20e3f49fcde08bdf9f99854e03f59a083e82bb1233ea285f2eaf5fc7c848d8997a71048a62656f04d413daa64d03208ec49d17ccc7367c3f6020967204d777a2affad73cb65a020fd6bcb9a9ff970349594c1720a93c3d2b91832c706eb8c8da864e9a8657d3fd9a1af91440d914720219ffff03d212e92970323e2d24629ebd1904dfaba28d294922ed4bff7bc0484bbb29cd1303fb3a2b43bdeb1c97f7bddf2ebb5a6041690ea08f74f3c5007164f6b5a2c23bb4032113728c35e40ca55a1f2e450af5bda55f06bde2932f994b978f3b1fda833a3603b04e4e0867b0425a8d06d310a2f5adf06a7f88a8f768c512750fa55e3fe915d503c00133799a606513fc78c608291c7477676e4e52831f07b56fccf420e7690e290384ba74405048a0d56f6c14884d22ff1d894432ef915106dbefbda278a3ae2a5c03524637f3b181ec31230ace4f415d57d3f559b388169f9065e2175063964095db030418d8332021655c0464eb5d41ad11370bf302c97ecdf1747ed95683d0539f5d0332e5726aa8e4a125e8a825142419af74ba7f668beab561ece371b9da99fb59fb03eb9446775dde913cabcf8fe932c9cc11bf27ee3e56898f0f898d6a9642cd04fb0219ffff03af2ec18a86e18eb27968d73c40bcc3729556d8f9abb55fa65edb2cbb22a87a0c0325514273aea0b7e29e3639f8d0234ceb84a7ef9f61a1dc32e1f109589ddfb36a038fdb3037a0b142f12f38f87d391af0b385c9874eb0b8dda68a5b376fc60a604c036b6b23a502cca9f36bd6d352718fd36a094e40834cc88334ee370ab40d5cdd7703faf29ad217f67fe6ea98ee05985a504bf8faf02d60edecdfeede0d651b5bdb3a0324b1a6afc336bdac3b6ef723ba8121cf5cfde60eb34b1f2a82022972440359890219ffff0219ffff05581d0292cd7f3f78137497df02f6ccb9badda93d9782e0f230c807ba728be0070119088a02190a0205581e030864713ac2db5e9db0684a29a85b09f8e2455d445c5cf00aa58fcacae0040105581e0382cbe9e9e102d9cff9caf9f978abd0677de42e743578f991d9bdaeb2900c0b4705e5e4dc9af40002195ee7036e6d9c7811fc2024145ce5a190f8161790dcbd95d4512274e37fefdd49a72f1b0345c4f7dcfb76e8d7c20d3c0ad74fe1da1ff8cc6bfbe8a17153914ab4c3a06cc303aa58ee2f8bb070ced07a8f863d9ae4e0eca604202bbb43a111d46a03b686ddf603a0dc85504016b6838d58222a9398c483d3d575d0e3b8e429c871f0b9cb59f0eb0304fc7644d8abe69d5c754e754dc4bbea20bab618d50b57e640a83684673b19790388faf53a4a0f4131029dddc9b8727aafa80abb6cbd6e8438307cbf1fa7fe3e45039473a4d05d188f361aec6a06bda7434a1d61357b454f3e2ceed0fbb306ba4c1f03e5a25bd1c6dedb6d7eff3af7bf21a3235666180bb7900f1d29c9febeab7fea75033293cb98cec6f3b9fcbde6f417c168eeea5d9ddd98e1ce7f441e2bce94ce41dd0378a6818c13eb82b0af880762ca82ec9d6e2f7ca13f6d269acd6e565cb49356940219ffff0313360ffffafe945a367d7c110ef83e7e19022de868dd5bb9f61955297713cae9032501abf1a93e82bd1b41671b6c4cc94c1c75c457742ba963f88275cc168452dc03c9508fb03315b193f03a0ff91ccbd3322313dd5440745f5297c85c4773f95abb03b45d7e23c56857ebe8e5a7b3008625fac16c8609469899cc18bf5f3e6a33c5fd038c492443ee15db1d93a919c836665aa8cbe7a145828691deb06ec80c27a6085003fa4bbb05051a04d930652977a45914627777c9d12bc0f994516c33936a44142b03341d0104653c69311288fcd13f4c564c8376c5ad9baa85d6fd06ff8fd046f9aa03f34e251aa042aa7b7469dc6e905369c47c79fa41ee08b403b5e8694f166865ae0346baf6577d84b0da23d0be0dcbcc52472a7a820862bde20ee8023defb53bbca7038e4431d0e3c5665aa77dae567a22d651d097ea1e8b900b9d7596ed9daf9f807303509f93747f0b3338b140c67fa4fe4345888e934f321b495b0b393fa88274f55c036954e778a184fafb9e62e7d0ab6abd60d46856a6be9dbb9007ad36ba98e337f303e8a24e8a51158a76b3610b80636cca341cedfad03d91f9917bbd475f2f7b4e2505581e038a525d49cc4b882413035274c74c0616941d9aa137598fa52256d48ac00c014718ce01e696fe0005581e0342f0657f02cde88cf8c32168fee62863d121d70cc553c0b45246586d900c05480140a77e0e98740005581e03441eeffbad2da58c7de92287bd09e4b2eb56947c542b06b301082d4bb0040105581e030823dc6c7974d9adc999d4ca4cd6be3acdbefceee99b7a198abd7794900c02463e9db709fe2805581e03a387893f7d099919e4ce569527b2574b90634714d18c41ef867add3dc00c02470e6a58baf16e000384ff7f2208e098d4874e84fd055310a66cf43c8c98160258321ff99d71073519032374a98958e2c351cf02c7d2771c43a4c01bd95e5a0186564c6ad01cad823a2901410305581e039d4f69b5c06f73840529f2c97feb4df8e182c34b398b69fa0f8d0808500c0247017f4b9d638b20031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0344045bbc222078578ad2bb44fb98e123c8360a788d812bee7c5c6ff12007011bffffffffffffffff039229ae40d6ba19213a5f3d6113d65ed116b7afb80f6bd57dbced4180638256c70219fb1503dcb943c7a95f28c86f5c4982969f4386446b43110c0ce30f124256fa52326aa00347bd32a2941d85cd4100509c57aeb9ed91f045c655f8c9af1a984b9c5f66ea5203202126a413e313d746c0fd9ce391ede9022d4f968682e175d875d1215f0b17b60326fddc80bd4f7af61c6b33a16e96af75ea9c6d2bf1c97cd375ff538a07a2c60c0219ffff035960f604586d63549aa7ce29ad2f10ba25d63aade0e99e22918558b82e5776d603aefcd60f13e301aac9e8aa5e14f69c6e5fee9314cbb5b9e67b0ae9c6143b4c86030c8d8b247a39c3a3efce29221657611b63353ed2e5a91de82095f857451d915d03ebbea98de02a0a1197e64fdc6930d5c12d351fa24739e00123628b13fe8eb167035888349ab85df69757789183422fa23355b07566b13a923bac7913d024c7fbb00362d43f6b838b4d30d73ea5e6f769cf3f06226d78c0ccb61b3391416b62cfa5df03d6bf4016ca4f020d0240e8ceda5ae2d6f8d720f319dc9140bf349e2900def7360219ffff03b2e722a76928368dc2f83ce33300a9fd4912e64dd0a29c90ff1e1028931c2895038d954efc30b42943d75aeaeb5e8cc32958c7224c68bc23e1da402880db50488703e06fb42047906e4555235d83573b810e1c5302b846937beaeb20ae53f5a9dd9d03242f663c8293e60ac3ca22c634ab9758a9852de459018f00a8213530b295dc95037969725b8df8f6e209b5fbb1abfff8b65d857bbfe3067f5201b4ad5f681f4e360323480850b4c556a2b473b8ff476abf7d51d85d95b296e9e6b213ed357b63237e0376dd4352acc3c94fceb1c7173a08badd8fe27ab2ec80186dc571c70df322d5b50219ffff03d63794cb550db7c196a6b957a3a72f8d50b34365009643320b4b5e6f44049cae03e892c77e4aff78fcaf6a6644e4a295a5a4460ca160c573a7739a0e666985bf5f03cb4cc14148256cf4acb4c49e53cf32e7e473f5d49c817a9f7fc374e53697295003b90d0804db7859595a96ce2597ecdcb2610f4ae4abb8573ee851341f9c51057203f4d0eaba25909a44d4358ade6bd1990241db0ecbc91192e33dc7d1053805c5d6036e219618304824b417c0aa24ffa4106c498b2ebbbdd6a71d3848a91ca09e351e03babc6798fcb30a6219e2471413977240124680c4029f4bec5c7dead08211f247039d1ebbc3bbdb1c17ffb36ce310b4c9d72d3488174d58931bf990a046b12271ca0374116d065014058304d5beef94a46c963b8ce33742cda77d71dc79faa1d9ae4c038f0d322ee42eaf56e9bf77c281d4e73e3376cf3375432a0f9b3c6b48f34fae330359cad075ca51ef8c2db9cc2ee673eebde43cda234fc8a4c741fdd1ac33058c4e039cf4bf099c65d6a22a0eee2ea49ca10d33def656af50e182f33c0b2daa8426260343d8f6d328b14f76ffd7baaf418fc707facc7b8d922375a6cfed0ba48cb10b8e0381383643f2228de754aa10d87ac797a346823880c96c4862d43cf19abd4be3cd03c15180edbdf075bf6a21ab3df64578f4191bef1708e60933bf4e5843d9c6e87a031ff0bbc4066bc95977db08908977a8c002fdb796617a47e0d39daf8b1c1e898303b7a51d48ca5af8293b5521cc68ed1a26394b40d81e4090534ea92c439e9920c803b25313ee6a9fefba88fb15b2bc6cbe2ccd7bd8399dee99269b4e7847445e3f64033d7187496879743e35ff6dc0a8b433b0f2b468ef93c459e89ec042a10b9e89eb036b29ba87ec4b1ef9796a557d56c8aeef4552a586e88eed9094f03f4d56872a1e0314c342714065644dfa08e7f538cff94008997314e3b5dc14a39baa1f7ac7ac2903c64666511726a7497899ead19347c3d2a260517e9aff3c45338666f8d8a5880f037d9863d1e87b8a623f47b7677a6e7cb8b8b7e2ad47a07f811d30803cd1e0d8170368bcabb0f8a6cdc42b8b8165a8829d857234d19e7cfe91356464dd814416431703f027ac57c0fd16fea1561b1aaa6a1dd2eca4d1c8e1e59ec5e1622da3b859ff8805581e039273f6bd3e1c6adad5d35d7858a40f1508954630e314f51c0b52061d400401031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03ed48c7512adbbf63c4f0e475892660e762625fb5e090ae82f0ffbd869007011bffffffffffffffff05581d02239488649b4e56380fc11f7ccd1e8b1673de363c6fdd976103f8670f0c034801e7e3001052becf05581d0254bba0e242dea4dd37fef3094a1a441c48c35905b9ddb08ec1e19d410403020a0387225de56f80784220ad9c046e1e61cd2fd152becba4b5ae4cf8961281a17526036f0c93964028857da59d45efa05455550acad3ef86dafab46498100690c7232b03e4fe059c5b2f3f4cf21ef012c2429db65602366f4fcfb73a18adcdcf55ea39e60219ba11032f2c0dee15ebba559e91d188a25d1fa0bfb60e15174efaa78f88c1fefaba39db03a60cbb56639ccdbd4d203a73aaaf5007c2bfb02a18081e0bcbe09ed249af778103869012d89a32cd852b966554bc7cdd088021a3b0c9ac60c81d635e7b27edf03e03aba68f0a0a71b6adf59df276fed4a1c7a5085c3c86fd7b71f48c2acb45986c2b03709c4e55d8d390049ef14a5601f37c51436109c8d42d501adbdf31de4aef21c903a42555500eb80c71d1d88e5175a30a6227958656192ed0a322d5faea61e4990403319c5dc4cae0e9a0df0ac2c15fef168b85acd2cefa916f5fa78e99dd8027f787033584d277694cceeb16abf2769c5f81883b6a07812bc30567c484d90a10ab0d83037235e6cd6bd72d7165ad8430bc643ecf21aca46c8fa7f54419669f96405440b7032bd531fab9392f19f68e9570d02bfb58d097ebc0ee0dd0cd01a5cb26e09570d7034c970697c3a2f5a3b7fbe21c9557350a09eaf572202cf498251752cfe782a42403acdf3a22234bb575f5eff278a30e6cd1a40e929844813cf3a4e61fb634c82cc50346ae742706df3a736a6f49be46bd55a9f6328fed95eef68ff260e4c9107ae77b038265b6e4cfb4d1689a8a53b95806e6e7f0a95338aabcab84810a26d9014329b00219ffff0219ffff03a23a4e1a3ae5758558d73f196ee2e3c4d7d70db9ff0bca6d0b5899fc55bbe4500307089584fa314a1e13427c4ac850edb78dd9fa2c780e71760ce705993c30c23303648f345338d9d083183b87173f84cddb473d63d02c400162145fd8b7af7e9db803f9f44ff0ef1dfc77b353bfda58f2994cee8317be49ec26c5f7c42dacc5f8b93303216facf119e8e645acba5fba2edde8e105a14efa4f5de2d7fc4e9e7ca99ddca0036c356a027631c276b3a0184b83543e1503a0dbed294d48a797b529940e28c070035a94c6669df59e21b1ec4bb2e0b286955a6403f2a8747bcfad1260581c579ce0034129b83d22e764f20fb95f15edea73250be17697b29632ccec7351375fde95e5032f6160697c2ff0fb26734f9b73f2ef1583d819b288453c5b5717a14a5b9eb93a0219ffff03b31add5009ff3443ab7cae27028c3068ac750aa062e2afb987a2ccdac0f2848e034092add97987f7106e90aa5d0c18bb484e89a385585e4a0aa7f91799f13829a103eabecdd60a4b531bdf7a97cb99892b959d00714c5f4fcb40be9f57ff8249c80b038d01c572d15a78dabae0d0189f7dfea41c8aaa1c52c3836985e66f479b6cd82603d9169b203a1a0e2ddc47fb3b58f08d6e9c52b05a671be0f045a913c7ff02617403f8cc4a94947df424600caf6897b9fbf9d54cf97502a14f73027b601818ed92a803a87971ac82492519f2fe9ffc49e642f48db75558b8a3a420be22e8f6eabce0a50219ffff032cafc5dcae08d0994a637ac40361af42f4891f752f9fdcb193632dddcc0ffc82036952f1c4e462c86e238bfe4f2d51ff16012e6a28beda8636f54b703d7336847a03317f6420e293cdffb41c954445d5c2a2b92ecd5613474632515853ed8b112e310357fce22e8bda063f2aa279196d80a2228b1046471070bf2212ac3e277db8ca4c032d24c0793ee5f3b3d33402bc1927186e5484d1bea20ceb932ef49acd042251fe03bfa26880bfc9710db4698e88e19b08f350305334f14131e2823b6e48b518ad9e03229bf5134de0f6c2e56e56716c6c2c2cfd918a170a5488f89640d93f0b5ae68f03dbc3ab9d262ca5d3bb08c520234bee5063c456ee2b45b171627e3edf07c7791f033a7d7cf63bd98d291fb173fb528d2b95a4b6f71e73b8e69818f2a00eff09d1df0371eb121a0d0fe3a7955d6e0ba1730ac4f3a8870e286b3cd15427bb17715754f803d0f33461b53c31350ab060dbd76841155c42d11c1ce70eb666e2e0c943a8342903a339f51d8df7ebee80f1040d43db1ed45c32d3a8b2223ba1e19c9e9a2e3ee37f03cdb72e0d3a1e75ef914e07f044aeee030797e16a38e927162b233dd523f8c759037cba32c345d176941de12b021664a3f2e64bbff22805979ec321722af2349f110393c66273585cc4f47dbd5c8b5a3caffcee464a7014174218e5864ae7dbf671730380983031f4810b1e071ed24c340a5b93351fb72d23c46d7a6d03b1447f08efea03e8a5662de8b7ed47c4a69c33e02541cd187d8f5eb04358385c569b5e181c9744031f56c3dab5df65e4d4aca19e00e9b2131ba63f553ea0e5aa9212bb560bc1fc1b03ed471317ea612bedef79889d731ad87589c95c647f3a0eed6529478c5129cad4036c1704b6bfffeff436c179c02b48542a51bc646a57626a742f2eda7d3acfb29f03c9a6357d4beb069faa6610edce6727339a132eae8ef60fe0bce6dc5eccc933ad03394b1cca48323a550b1adcca89f9de40f35c73beb91e3297e54e12db9216ab0a031190e08beaca9f61e7bfd7fb265f09a0d533c0e62a629626686d6733d11433790360e06f5b177b9b0160e705970ae6bbeebe51d266a185f281647c22719299449b03ac60c7d44ad96c16f835cfe6acccca2fa8992b4131ee5d3e4f29b3fd8967440a03aceafd5eb7334b5070a431e25f1c97b0a83cd407b2c98654bfc13a63d829b30c0338dbd77fc34f570c0249ea1e4b6f18ee96d1a2966cb3e4396acade5a1a8908d403ffab680a2267d837229b0ac0f04a9da57d107dc85b2c8da476a027cb9dc410d203b123870ff833e31fd4ea6d01f9ac9c24c90c392ac8a386343b18eb932b0e0a59033795d7e87f8e9307d82a38e06d1edf38d8a25b6b47974147fdb5029f6539d97a033c5b28c9563edb88e2ca57e3b7cf9005b4426c4e152a06d56671d8c37c22c87403ad4bad0ee4cce9d6e7c8abef27478010bbb54828a1ea060e92e1fabdc1594a3103d402ef839f9f5c0eea8ba8f5a5dee353ac6bced3fd1b4de94f2ed1b30d0c7b90037ee8e21e97133a4af26564f09bb9dae2ee76a87c9b09fb954f8cd820b230772f038b76e5bf1ed717ca2746c514694243650f6681307e0043b04696c56addcc6cb103abcb16edac82e37251cd3668fe75dceb9de3c41b3a0d9f7a8ceb2e14581516bd0330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e03361579c1848ec6eedef7808a84338745486c9549c2b16179005d89530007011bffffffffffffffff03ce771d0f4c40e1acaa00d080c3b4673a5c3f8199c1b2459a71abc086262cbff505581e03678ed370a59993b1750d87b4d0d0c1be2b328cf5b330195243bed6c8700401035c438168cec3fdacf8ab92912a78a4efaab07e293df8494834e41bf280b043fc03ea362dadd6f6b2e84503d1a902483f65ddf188623cb985baba2185675b1f52f005581d0297474448d784917f1a25b450bfcd15bc1efc64bf65d4cae87bbf0762040104591354608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c35780638da5cb5b1161007c5780638da5cb5b146102aa57806395d89b41146102d3578063a9059cbb146102db578063d505accf146102ee578063dd62ed3e14610301578063f2fde38b1461033a57600080fd5b806370a0823114610230578063715018a61461025957806379cc6790146102615780637ecebe00146102745780638456cb591461028757806384b0196e1461028f57600080fd5b8063355274ea11610115578063355274ea146101c75780633644e515146101ed5780633f4ba83a146101f557806340c10f19146101ff57806342966c68146102125780635c975abb1461022557600080fd5b806306fdde0314610152578063095ea7b31461017057806318160ddd1461019357806323b872dd146101a5578063313ce567146101b8575b600080fd5b61015a61034d565b604051610167919061109e565b60405180910390f35b61018361017e3660046110d4565b6103df565b6040519015158152602001610167565b6002545b604051908152602001610167565b6101836101b33660046110fe565b6103f9565b60405160128152602001610167565b7f0000000000000000000000000000000000000000204fce5e3e25026110000000610197565b61019761041d565b6101fd61042c565b005b6101fd61020d3660046110d4565b61043e565b6101fd61022036600461113a565b610454565b60085460ff16610183565b61019761023e366004611153565b6001600160a01b031660009081526020819052604090205490565b6101fd610461565b6101fd61026f3660046110d4565b610473565b610197610282366004611153565b610488565b6101fd6104a6565b6102976104b6565b604051610167979695949392919061116e565b60085461010090046001600160a01b03166040516001600160a01b039091168152602001610167565b61015a6104fc565b6101836102e93660046110d4565b61050b565b6101fd6102fc366004611207565b610519565b61019761030f36600461127a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101fd610348366004611153565b610658565b60606003805461035c906112ad565b80601f0160208091040260200160405190810160405280929190818152602001828054610388906112ad565b80156103d55780601f106103aa576101008083540402835291602001916103d5565b820191906000526020600020905b8154815290600101906020018083116103b857829003601f168201915b5050505050905090565b6000336103ed818585610693565b60019150505b92915050565b6000336104078582856106a5565b610412858585610723565b506001949350505050565b6000610427610782565b905090565b6104346108ad565b61043c6108e0565b565b6104466108ad565b6104508282610932565b5050565b61045e3382610968565b50565b6104696108ad565b61043c600061099e565b61047e8233836106a5565b6104508282610968565b6001600160a01b0381166000908152600760205260408120546103f3565b6104ae6108ad565b61043c6109f8565b6000606080600080600060606104ca610a35565b6104d2610a62565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461035c906112ad565b6000336103ed818585610723565b834211156105425760405163313c898160e11b8152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861058f8c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006105ea82610a8f565b905060006105fa82878787610abc565b9050896001600160a01b0316816001600160a01b031614610641576040516325c0072360e11b81526001600160a01b0380831660048301528b166024820152604401610539565b61064c8a8a8a610693565b50505050505050505050565b6106606108ad565b6001600160a01b03811661068a57604051631e4fbdf760e01b815260006004820152602401610539565b61045e8161099e565b6106a08383836001610aea565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461071d578181101561070e57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610539565b61071d84848484036000610aea565b50505050565b6001600160a01b03831661074d57604051634b637e8f60e11b815260006004820152602401610539565b6001600160a01b0382166107775760405163ec442f0560e01b815260006004820152602401610539565b6106a0838383610bbf565b6000306001600160a01b037f0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb161480156107db57507f000000000000000000000000000000000000000000000000000000000000000146145b1561080557507fe14bb7bac71d1505cca6770614274ef3dac5acaeae4731265c769b64037ee82d90565b610427604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527ffe1fcac1e6680851f00fcb8eaa2491941de637bbd700197904911589bdc3f805918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6008546001600160a01b0361010090910416331461043c5760405163118cdaa760e01b8152336004820152602401610539565b6108e8610bca565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b03821661095c5760405163ec442f0560e01b815260006004820152602401610539565b61045060008383610bbf565b6001600160a01b03821661099257604051634b637e8f60e11b815260006004820152602401610539565b61045082600083610bbf565b600880546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a00610bed565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586109153390565b60606104277f416c744c6179657220546f6b656e00000000000000000000000000000000000e6005610c11565b60606104277f31000000000000000000000000000000000000000000000000000000000000016006610c11565b60006103f3610a9c610782565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610ace88888888610cbc565b925092509250610ade8282610d8b565b50909695505050505050565b6001600160a01b038416610b145760405163e602df0560e01b815260006004820152602401610539565b6001600160a01b038316610b3e57604051634a1406b160e11b815260006004820152602401610539565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561071d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bb191815260200190565b60405180910390a350505050565b6106a0838383610e44565b60085460ff1661043c57604051638dfc202b60e01b815260040160405180910390fd5b60085460ff161561043c5760405163d93c066560e01b815260040160405180910390fd5b606060ff8314610c2b57610c2483610e57565b90506103f3565b818054610c37906112ad565b80601f0160208091040260200160405190810160405280929190818152602001828054610c63906112ad565b8015610cb05780601f10610c8557610100808354040283529160200191610cb0565b820191906000526020600020905b815481529060010190602001808311610c9357829003601f168201915b505050505090506103f3565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610cf75750600091506003905082610d81565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610d4b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610d7757506000925060019150829050610d81565b9250600091508190505b9450945094915050565b6000826003811115610d9f57610d9f6112e7565b03610da8575050565b6001826003811115610dbc57610dbc6112e7565b03610dda5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610dee57610dee6112e7565b03610e0f5760405163fce698f760e01b815260048101829052602401610539565b6003826003811115610e2357610e236112e7565b03610450576040516335e2f38360e21b815260048101829052602401610539565b610e4c610bed565b6106a0838383610e96565b60606000610e6483610f06565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b610ea1838383610f2e565b6001600160a01b0383166106a0576002547f0000000000000000000000000000000000000000204fce5e3e250261100000009081811115610eff5760405163279e7e1560e21b81526004810182905260248101839052604401610539565b5050505050565b600060ff8216601f8111156103f357604051632cd44ac360e21b815260040160405180910390fd5b6001600160a01b038316610f59578060026000828254610f4e91906112fd565b90915550610fcb9050565b6001600160a01b03831660009081526020819052604090205481811015610fac5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610539565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610fe757600280548290039055611006565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161104b91815260200190565b60405180910390a3505050565b6000815180845260005b8181101561107e57602081850181015186830182015201611062565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006110b16020830184611058565b9392505050565b80356001600160a01b03811681146110cf57600080fd5b919050565b600080604083850312156110e757600080fd5b6110f0836110b8565b946020939093013593505050565b60008060006060848603121561111357600080fd5b61111c846110b8565b925061112a602085016110b8565b9150604084013590509250925092565b60006020828403121561114c57600080fd5b5035919050565b60006020828403121561116557600080fd5b6110b1826110b8565b60ff60f81b881681526000602060e0602084015261118f60e084018a611058565b83810360408501526111a1818a611058565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156111f5578351835292840192918401916001016111d9565b50909c9b505050505050505050505050565b600080600080600080600060e0888a03121561122257600080fd5b61122b886110b8565b9650611239602089016110b8565b95506040880135945060608801359350608088013560ff8116811461125d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561128d57600080fd5b611296836110b8565b91506112a4602084016110b8565b90509250929050565b600181811c908216806112c157607f821691505b6020821081036112e157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052602160045260246000fd5b808201808211156103f357634e487b7160e01b600052601160045260246000fdfea264697066735822122085ebeca760d366f1599f3ac828570ffb5ea7965b2f8b62cb5cece01b295d168764736f6c6343000817003303eb10707b64628b7e9c1b92e6fa4f77142724330cbea56f5f8bacee134ab0fb2403f7536723115a25b4ac8a35f4178a1fdd6bae7b26dad22dd3f834af329a8ee8f003d584764fff2a127be821fa7bce3479c1749a4c0043b1b626d6119efe9410a1ba03c349761592704b121f8cf2acc808761b4550d50b76c3ac260116a12ffbcd879103d9e920a685d547570b3ade3fb168d87b32c8ddf8538653411e6b4dc1af917653038554d90964748ceb5e8c0a5d762f0c52aa078c34647c55f46c66a1ca4165218703a691d4d67a6c6ad8ec8f14bfd4841ef6810e166e522fa8bd74a3d6e0eb65206303ad4339b9c37a8f4263927e126a7c0c85785e8a1346fdba6ca32d40bbd410bd2403d4a48aef656a9956ae2a1fa6df5866f7ea4723c8d0ca3512ca7d3c78f162a3f5036cda78e70618b19972a50b94535434a3e4d95ac774b5a2afc0e4d9e2239b4e8f03e43bf9215a5d0568ee1a78e51eb7e9e1151c266b730342751fe797fcc67fb658039fb5c1b429b50de35a6625c2269c5dd5c89beaa44c78ab0263e7b79cfe3906370375a9bcbd8e2ea3fa7f6ec959f8225f311f0813e2fb432b6d1031b22f52e39e4903d204d2e0cd8839cddb89b3cc9eebfa434a6a85b3aee2ae524c20cdfcd031ce07033e937363cfa119d281c2da4089d5e9e867f471a563cbd96b1b9f0c4f275b9d11037343e1d617d565a51323e57f47835db333adaa5b27abebf6d77ce290b2ca589500581f030e21520bba6f8d29df465a91dcdf2406169014890c561fabf54e06d5fc405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03c3922752be775d0cef6bd0e22cf88f9770367ba5df5df2f377da5c71e1a0493293f9dcc10f74000000581f03c79f5f0741e963d75b82140ca9b03508d68bb02445a81e545944a8572ea049410d586a20a4c0000000581f031466af59ec1757d16ce76059a7faf169d9d41b12c7876c797907b3202100490ad78ebc5ac6200000021940380377a64a8a394f1cfc26e8213bafd771171ac8c9e4f7f370f5a2a12f4484a8459303e50a88f9efbc294097f04b97b107d65bb26e2035283a61a45e92a68e90afe8a5036afdc3402634c31ea93a6e48f2495d9801a3cc97614b2bec9e3f2a12cda9798a0306dc0578391f8fcebbbe7d41a747ebaf91df88df14469f78b96bfd61aea7717a035462685b6e7142d15d4fdbef1d914010949b05a708bc0ee0a1c23a497e53f18e03f720da53c56555fbf5cf9d8ef24b80f4bdc0d514985b8fab767289c1ceff5f700366b5061a8ae612eadae1f9fe5cf169466b9d6f710315d182909097eabcaff2a4038a953900e8c1b627f0e03383f0cd6eab5f0b7ea22a530511fecc0d0baa2dedea034366259c5ee7bf25f0ccb2244f5df4188e49c7da8cb8a12632904444f7d0b13d03b0ff355161fbfde64fdf345a08a62092252303232654e8c3e2ca36c848beceb1035de79ddd9aceb66f701a67a6e3107d707d1aba4f8b5cc2b1f1227bf47b03848b01410b00581f02a1618eb42adaff2ca9130ddd3843b1ba2da8f7465d14e0bd1705c2941506490ad78ebc5ac620000003015cabe2a4ecf3e97709c50f597fa7415bf9079af1d01cf19d98e930288eebab02197fef03cfe55eb796d1542e0148727e862ebec05c3265b0d962a6ec971f1f4cc840f88c035be3ca1b06dce149e95ad9d7982c532fd01fc89d73eb30f53e6b862f6852fab603487e1fa9929adf55eeb1e53bd26e4facfebebf2358fe95e71d2281c1eb7c5fb0030cc9e77532c38e9c5f095e1bd0ee6a71dc77bf96d2908358893f6a1b911bae3903d1b779ef2e9b095f0adae4549452b8f59fb26335b2e9abb07b2698465148190303f431efd08f03b85e93aa47b8b2cca3704f6e5ac2989f468c5f24494ad251040c03dbde21e8d6b43ae785aa06a33847f4703b33aaf17e4b5d382c6e0003e0a9a365037e41a12167a9bd51c80c5e9e2021949991177d4bc5819976b45ecf210cc05755039e37feee960aa3c6b4ee4fba04fd65c82075c327877608057eeac9d14a599e6b03c01c1382d23be4bf57441e1961aa021f351ba0fc80980a985b4d5ff4ea85302103b06f860b18dc8c10a5e246ae4e75924f8fb031a609f3ee14a98ce4364176f24203b42e083041f39448c2408632a32669db7223f652a19bb5ad1d8486b5cc3cac260219ffff03d47866a9a83503e277be50a15d15f7254a062d7388f05bf7f7768117ed0181470398b662f37bd067d6b2a83bd347217d50f15ef7436513882531f332dbbd7daf73033e6004bb856f772a57a227e76041846ffb2fb8423ff6dff72621ffe422631d1e039b4fe975cd8c16e422bed383f1d7f2deddd4199e9abebaa6d1a45c21cf1983df030831e68acbc1b6e6b9a6e21d280a0a74b693adf6f1a9f2c906ae9dfc641c2b4303b30d1c9e24ce3d759e1a8ac0c8a31e2b4dccfa1e28d5d86219643862c706e63e03cdd3fca8b05b361eb002fbafc93ad141004d5fb6e308e0096e2ae39be1062a3903353c7127da5ad60c9013e382d2c96ad403aad9ae38e37d7d89c5c994f046d0e90320ffc7574c22c7203dc162b11b7f9a7d44bb4defa6753bbbb2e7cd42d78e03120377c3429a72c618217a0acc1869612be6325fa3f62c5b16de916f5eec078b504f037d5c3e820d708ace27f961265700a4b9e5754bb1d7e0e67f9d1323ab8d1b13170219ffff03b14dbce39b1720983f79e6d4e05cf346767cca85e551e92f564f8f5d1b57cab1037f019de24c080e42766d6e3a79b9c695c532d3826b3a057b836fc001a3f1ec4403f2a6ebc22cb0a50f4b3794ba0b046d6b0eeb13a0e9f2acc704919fac49e5edd6033274aa30707c3dae5e62b9f1fb228e5985058d44fac4128205f52e42f374517403e03c10423df4836d6dbfe5add27decbb4e1319d3642e785b45aee8daad0d1ba70354538755ab96f299b193103ceada0b60f8c9d52dd0908bf3317523d6649b8fbb0304e500c7e754f561b95a487a917b8e18e1870126d2d0e283a4d4e77ce8fd1eee03ad34b80ffa624b4488897548fff36eb625a36ae6e14b46eaeea60245a93ebd1e03960e30b4d7b4bc303d757f830c368afa305cd995e8d873c7f8eff6080500e92c03be16d0dba18fec455a3cce2b62be9d34e60a88bd711cf291751e5358a2eec2e703105a4377cf267ab3137d631893f95ebc4879c8b539c88a0a7388ba13659c92b9030f4497900fbf46059e51b4c1eb4509e8bf0eedfe73094160aa95bad095a220fe03d5db25f9c50278097a5538a3bb7703ff8ed81e28d512cf00c5cf4ca25e78f63203bfc551766c2746bf840450793c3899840b2a93c935380c1ec3f93ceed9b4f6b8037aa3b19b8fbc01e85158878a4250fe87bfc29cbf333d70c84f5bb0b82558cfc903c53f9a2352a2fe8936025d62d6f0bd8f0d5595474fd87e85f93db9d99c46ea23037453c6ae6f18ac79a29d866b9ecdac74c1339abe01c31985e5cca3605f828e3903a6981e5a63c99b396d1a06c38dbad120f9e5f189f6f1dd290c04547ef319cf7a03ac1e8b3c02d68fab08c0242621ab9772130a9f22c171c3a7a863b0f10c7896dc03aaf0c461a1773b19cc154fc0be07d7828423f0945c4d91d023812c46acfe925d03f843d3a38ae0274d729de84108cc5a80990abab65071b8b8b555d7e58f54c5c600581f025131424d257ac5a301cca2e718f03d3d98a642c5f4efe56fa157600a9918492086ac35105260000003cc63a678d439d0d7a3bc9f5eca3871c2b249b3aa69527107ec7cd38f7f0db7aa00581f03f1c0ae08fb4138f0613ea2b9875fb621ceb15a0c85aed45d5d0ee7a37010491ce4dc640b8334000000581f039c685c45acfc5504208c5fb83ef64582be79af9e2b8c4064247d1e5d3dd04924287c0615218c000000581f031dc0683250487b5f29ddd8ade67855e8d739ef4b98133413be89b3f6ad90490ad78ebc5ac62000000219840403186b29e3d8c430b2e10a15a41cfcc4901950ef392ee44579ba89ce5b6c06fc04036f654075f3ac47e1c792a2af4114cefce93414aa17886f13dc221f43189cb90101410103d68bc94347cbc59f4eb2b6949568bc9af2c0c2088b65b7dfef33875a545591580219ffff0367074f3bac0694a051f8e8b87def49df591986c74b16c8f4c902667b339bf84303a2efef56b6847939bc4194c3fea6b1af3de88202268ee63e8423334f0874b03d038ffe9fc322eb4b555d6da3cb250b497eee2cffc8c9f79078ce7b610a453b1bbe03bef319bfecbf2b7df850d53a993068230df4b68f1a8c7c6d8019769178d5478803e03174bcf6071abb44842a2e11c7a7f4dae891966cc7d4e3956ce11b909b5b7403ff92603d39809bc798eef354f874bec3086bbadb170dba57ac1390e059fd77ce031648a811fca6f911d52cc98decbfde9411e6af9d19ed24d88f5902e91d12478603d58d6ee32dfabb5715961a2ba9cb7f2012eaa147e1e7d7b8b97c377afb0e0f6e0219ffff0304985734ee7bf4bf907a7a0055ac0b50a008dbb6c096c45f4825f0c83561869d033b2e605207f7608241409e53ac72fbbde301c9b5bec58ca98abdcc44ed7e57f4039dcd49f9ff32c9a5742866cb9cc99ca71060f145f1d0136bb0aae4f02028f86f03c3e73c1438f76c03c212f13b400c078c72e884e16b532380bf3b8ce10c73fb8103be8b6a26222e80030bc700a8debfe9424bb9e721b470d856f1c498ac54039e2a032c6e139c9355b43fee4830eb21ef2e4085defe5d5a00f88ffc6ac0bf475964c9038756cbf904f324c8e24348e8b42411978bcac0f42e2727719012d93f717e1b24034ea20e1c8d23669f03445bea4037fb4eaf85049274de5ec499bd41c65ac8fe8c0312058e08eb9f89e5518f8c47d62635b2999512741c87372d6dd71d8a12f2005603cdc6ea5b6da6a198bb3ee966503204c4cb94d010c99a7811b4f67da6212ae1c203ecef61ca72db75190a0c1096bce3e0c14053927f77148ec54f4606187e4628a1034d979e0a814bfc2c2eab94ef03d8df5c5bb6fee8c9a590fecd609bdfa36732b1037b729ba1d4174c2da7a5d23249f826c36ac0e2f9782196f4115144a0eb67d810035bb4e61ab585bdcdc0b55062fe230e37feb0e634e631a03829fa503f9d3ed476032134450486675d4cf0c8eaf153bf1de58927d032b9de5031cff0c74ed8869b7d0219ffff034f9d59d40efa9263aef54a4c535311cae907a0cce99a6a2a5f291ff8e31b7d3003e4e7bd71150426749b6cb81a82f87586a42bad6fe3d754dbf9670fd93e4d26cd039c9071d87cebc1be6235a949233ee79bd8ef464b3ab3f9b41d9320da4934367f0380c5cd90a3eda67254cbba62bca777fc2c9db6c8f139f49ea49c89352f2021570335425d75ec09732bd578420d494c23f6519fc2939ae16c1602a1a4264d443d10035692fb4d0deb4d1f3e299f6c673e1d6383d8bd195a5829937bc4749736c0fd21030d7c5eba302d0dbd2d2429ff442f0da3ea57c1e6cf91209592bb4a385f45c2fd03ac3017e4b2a1056c8420fec5ffe4233ec6817892a031304cc8db1bc9898df78f03296b4f4e7ce364432f8e28a59491aa51fce3ca153b5cb313200e27ad909de6e503cf35ac1fbf9e55503449d22fd0b6fe64782c33fe124a1676173cf61e4b96aa6f03b88e47f5af1a253e82e3aef9a982ac763b1dcd50508d8898a8158f9e714cad52038d7d2cc0f75cde4115f1374edc619789c413b58b6faadd9112cf4822692adec303f48864b209f0e708b0abc7076044469f8094fc30ee82b03caace0f86aeb44071038475eb63e0052275c6fdfa3e1b23d80ac7a062a86e5b2b5003207f87fbccc32703827213721cd7567d74aee5d9aa01060890fb9ddf88ac38aa606e7e5b2d7d08b403f5663bef0bab1bea388bd2599e357d1b9aff899b95fb2db478ab71b9d746faad03dfdd6d28f83bff54b8be39ac78bb0cb4685bbd3439f51c9f2390123b2bc37ec7037613e556288dc4f8911ba1c8926f1775ed373863bb3093a93ee5c474fc864d50033306c3c0e5aea92e3469d4b5b21fc0ad287e3942231301ae39efaa95cc0a185b0333eaef2510d926fc3b29abdabcf44a1f79fb691dc4f0e7968504f465b96970ff0141050395a166c6ca3c961f6d68d6b52b134e0d9067505d8be1f74c178ee8a498a3fe1403d8d80ad99b49fd986919b6be90ee2eacfdca495685a7b6fda885cf79a287b52303a6a5af1cb8779c369c987e8180bf02a43b86ef9a01af33f31416f20c886e58bb0381482d2e873a4017befef27ea31237e8dd7e6fecec737ed49fb6710ff473bedf00581f0212053cce3670399cba0966329779bf03ca58bc6a53392ae5eca204134b8c4921b3deee65619f265400581f036dc6698278f1450b9d841597d69ca5d57923633a0291c1f9fff2e4ef6a40491ce4dc640b8334000000581f03ed43c3efa3fb3f6426ded24f1d4b3d5658ef5522391349c4f5b1ed179ae0491ce4dc640b8334000000581f030866ac35ce06607c3835e289b227b3ae2b70abd42f86983b00ca3bd067f0490ad78ebc5ac620000000581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305512a6bfb2f81267b847743c87767b3a45b897b1c00000581f03e3226e2274ac14f15737fb0147ea4a27a4ea48baa136191e140855e6b7705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f038ef5086e14875c0511e41292eb974f6ea5bac3eb23e8c745c4b4cbfaf2b0490ad78ebc5ac6200000034b0b984ef168de1d2519aa9d92af3354753e34e1ae9bb88d40f5a349ff22965b0219b4a10354c7281adf01439d10178ca6dde9df3a3f5f5355b5f73f3824f23fd36bb23e38035eeddd776acd22ce6975de96576e19ca147a9de7d7db1d8f73bb77931e97bb060306a282e7a647bd2c0e61b81abe33d2923f71b83d24d96f5c89228d19daf7426d01410e03ae3690fe2435d4d14a904466066ed1c3586e4fb2bac9d1e3e3576c689841a09503da65c589682975869abe4279684c6dd1efb5cfee9f1e86c6949556ed60495c2e032962b5d2ef5c0cdcc1e2420ed431388607bd6825c406d149d96055742e1c4e32030231576cbed9e6b154344cd3b5616514bf7a2890b8149baf75b1f8daea0a110f03c77a9b2db0b5a27fa8aa396f537eb05fd733af8e2d5bd60769ebc04c9ee6659f0219ffff0219ffff034ec5550ba8326790bbc4583191a7d62e3a4e7f5e5ec900f56ea4a1b0b83b667803b2e4e234da14c2aef6fb929df086388bf936d451fa97583ad4d1f29a923f4c19038271ee3f879d648d7a6cdde3e7e4152fea9bb3f2ce68905982fe9aabc2b8f54103bf463108a9fe947fda81210340f9850e3243c2eacdb15e917c34d230e40c3ae90391b30e7492cade3e063c79207a9b07a90d51f0c150a293354134fa1185e97c6a039ea5fc9b0877382e5da35930885e2fdf2093fe64a713ba59c14b884fa9f2397b0318582b7250317e9a7da20481750fbaf1c0094d1fddedd20cf4993d3ba4fbd0c9030872ca2497cf87de117dc0889f28f3b2263bfd071e77c78513e0f4a6e82c99990388a138f8905be21764ab817817adc522650e4f122f552521686618f45fa2980b037ecd1e693fb8bfdd0eb45926e86719197569983537c3c1958cfd28aa33a3e0a803ad0caf64306eac689e04a2a93fccf65d5cf5b1e54e14ea53c4165aa0b5f3f5840317a16f66eff3476e437c7d8363a07ae106ac2dd837ec86de962e35f7b9f161420219ffff0219ffff05581d0242c9c7751eab8a7274ffc46c1dba1316f7786d569aa14ee74343954607011913540219040103da6c1e5a4d9fc486b90a666c6a32e941b91d6f590ea3fcc33b6da2f5f605195c05581e03a8efe2a5426ef66da1f7f3588e59a0054ef1c7d3a544331f6bd0314550040105581e034c10e045f82963ac73a9c888eec756980b2fd0c9ed5d49c76d3c4a5a500c0146f9eddc62600005581e03fedb8e4f88063fa4c6a8de6a6e87ccbe989676492f31e7587b4c996e700c03460cd38004c8f00219eed803c9721165811d892ae78ce6917dd2bd6af14c9f2fb1b5aea889cd52e59b2ce2e603bc07fe29e9dbe6feb34fb890630ed297b4e3495c92a194228dc19e17c3413bcb03770cc5f77e576154ba9cd1af9050922bafdfa2eaf43e7332b6912b929e59f52503403d865434d6e6876b4ceff54b656e54ab2bfe6f82082e6a15105af88dc4b74e035bc7e7cc260509c03716cc7eee00767708a334c01381d502185465b9bbb528d103ff6d20d4f5750bd4c9b3d938490a7380892237e41cf35f7ac9f42bef67e00f8003c14c9139d1471fe26e424f6fa93acada174979f0a205e582c975fa3ab34ef08703484e8e8fa57e2e0f2415147a29a903ad9e98419af29cf742eb2eb83b78952d610351b48ed5a38d41fd6f155cef5ef5d7ae3361105e0370592321cd63de147bccd40219ffff034bfc57be0d1598c042c283513883d999980a124809d965cdf7c2c6267d8183e9034c93df4df41697512dc88dd1304037f617b0e8d7ce770259c7f146f27a0a293903a89cd61671170cf270ff4b8bf513118d97c74cc519f108260e726542dd04650a03215c874ccb61fedb5867f75f7039deda06c1bb0770d2e7c7703ef9b2500249b00219ffff0219ffff0373ff50c0f6c6a23a357fb594526f7b3edca89408a423b65512fdabdee6fff41d037407bb64c825c855daf2395d96eb4119ebffcc067cdcd31bb912020592d01ede032f406d08b000b64160f37637dd2ba2e4bf1f60b2512d5f5855e8767842841d8e034dc329b72fa1f4c7512eb15dd7abe3f72a8e136633ae7e8042c43dae75a31753035c80e292761d55d95ff287726219832928cb3a758c6a1c064f04d6a27d4f1b9d03a9b907066f9afe7548f1ea5af93e08e48fc94c9e60d1fd40340af2f6bc2ccc5e03bb309d4bfd140ac7799020c13619c3da8b7be3a4c0bd603e2a8af36f0183282903cf1dfc95e5c8411d59fa7999b0ed681746183f8a7372e69790a604979c350ace03ece701e710381b217d8d748196faa2df88932e8e52ae2737e739b1d12cfb6629039748dd56a457e5744d394d57cbbb72f80906325c3132b05fd4009fcf5e9692b203f3cc1924bb5a2749acdc811ef9f0fb99f321ffe59779ea9c95f610fc5c3a7c390219ffff0309391382b6326c61a0f6ac8329b02fc92df2ef1a7332beff86b57e5357e6a40b03ef421de9c15a4de8600da0509dd2a052ef31ca0e4ad1767527f339d9c2750f460361abd26c39f92c09e39c3b7a1ded266cf0aa4417b6ad08efb26d98e071867c04037242cfd80d39d9931fc3c55e0e1764be50789e6a9169d06c3a4e9d46e4395d8c03505609c72d0b7e968356cd61f242651d6a4881b8aa574550147955da6e6429b503ade0d8a5566feb03d3ec24fdad59f41bf3c89296aa7876ac88984ce104cc676103cccb44b9247d43439a2790212b19404b8984589197190663e48b4ae7f6c2f8c50393a012e115da7a8746e908be2b7852d1a5418292726f479aab7bb77e7646cede037478bb07ca2543a07000150c20b3bee7984ebc43a096e662913608affb5ad0fa03f857111468d1de0f1b8eee8f5251b46da95d58955e8e9ebb57bd3bc27c63a82b03ae420ee018c91fb8f6787b546ff270db0327cec3f07e17b3ad271e55542a5aa403e52440bd9e2969162d260b14cfcde6f8b2d032202adca8d3e014c9fbfde4c9e603267173e2574d6e329f61fa625b6c9a551b3ac1dc6cd251bdcf7c5eb737a002d903ed0d971d9805977b2b8bd34d5ec0d910b8c5fe12cc39a3f9159c4e4ebaafa30603162884a4594ac020b582d536d8d52b8394081bbc3aec1c134ba7e878fb78a7e30359f8f1e6905743a14fb8c995094ad90dccefe8371652a55c7e69de9e53ecb9d103d3e3135f0dff9cabcc08520d8a6fccd990c83b5f1cbe6b60925c9f44d2b24d6303504d6b2ff8107fda7b001c8be4285be53bd07fa9265768a490515493aa5e1e6a03609948d36345c5a7d840f0adafec8b781a91dd9fb9c7408c3cc65ee36d2d735603e41eb581ed600a71ba33d1951c519723fbf6e37ce510e8de33581cf9da48b8ae03afae9a56c47ad358c1543377d1c28755be64d0a973e7ce3dbeb8ebd1089eb2ae03fa26b32b2041372a849b9326a3ed960daa17b7fd989050daeacc36b42711038e05581e03c26245fb60d4134f73c786f0bfaf1ff57464c3d9bda1c544876bfd13400c044703de5b5dbe064603d4041e4d5a17cdea7514434dd6d41958332a02c7241ae4321a89e0c11417972e05581e032389f54ae8e9a052800468f7d88a60705e051934f978cc41d0bf683860040105581e0345f15767044ac1845a6fd65237999c94a6ff556e47d12e0a0ce1070b80040605581e03f1a7e3ce79fa041303f582493ee2f3de617f813d2050fc2585325b6800040105581e03292f46879084d1c9c4ce18e5143c45b3357fe15bad56e5301b2b9b81e004010352533ff9783c0abacfbc2035c3a1c7562c2f53f6d5267a5eee144575a411891f05581e03f63603562e49458ece30de1af16e6a6d37d246729bc3bdbaf47734b9800c0445048a4a630005581e03a6653243c418922c45e9213afb163cc8d70291bca23484b0471fe49460084703328b944c40000303f0aea3bb6c3a1521aa54df897a3d83e40aec94610ad58b57d6e68a5190e0d9034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581d02ed82a57a5e0196f044d086d271da0649f58346cbc64060fbea78fb1207011bffffffffffffffff05581d0227a4a72db904f9b7bae3b3a567bedffdb59907b5311d95e62c69c5550c054904520cd4b94a29f4d80219010805581e0306fdf6fb2d853fd396fa2aaa716828050e4f75d56410c07ebf428084500c0147012645d71950700219ddeb030cd5238b67f14ad91d3ca0d26211d92f68d2009e1d8e112778bc998dd4c4d1120344bb28eaceb1324de6205a864deb8c9e29d6db60a0e2cc8947c5bce892846a5d030332821d73b732fc987c7d2a6b2a709c6b7bb09d819c0f35a258c52198553572038a4643956b83db010bd8be73a7e4a2132679081f15135a77663c9ddda7b1873f0331784d3290cbb2dc0e602b2d4bf1c0f7126f6ff6773306d36a4b5bd6dc07e0390344c81d53856ba51b3d47a1dde4c4bf7072d1d39ed927923f6d2e62f57052c0980399f2c40e7e4645d757ed5efc87fd0e58cb6d07880518d13b78523a9fa00a9c500219ffff0342e37e02b989ab93d1eb8b9d59217c08468765643840e5653239ecd76ebd915603c6fbecfb6dc37767cb0a5802620a3c0520f4d0b28c8819c745f3557c8457d02a03d954b7b5798734506149ff53b464406b3fe06b7c61e30ae7a342535aaf126a2d03a35bed80f9f9688f71d0a7d1609fe18e207a96ebf72f26c7b6cde9674018524703499531a32d912c85606282073673e2496099ffe7d18203472b71df61cd46f68a03c2a46b018c76c14576b4154a177958b1f71c37991d56f62d96228ce34e3505ac0372a0ca3e25956ec667615b5cc68f84f20be8e4aeab70f18777a749a05e6bbeb603a3c9e1af6d8482389f4703f744e003cc3ae7bfd3c9f7438e048c45d820f41032032bda25c3409b77cddd0c4fa13c14d906af8040837f74deec071cdac224bdebab032597057214417c6fbc54202b44b219c3bc9af18039bd40151f0e98ed227caba2032dcdaac9566a66446d5ec9ee5f350c8672dd97878bc9b06c2cb529baf7e5effb0391cf7083cb1976bc4ce631dfe0158c6e948a5c77fe60b216801a96f62071540c038fef374f018ec0e32e18e6036cff026a022fcde02017e123011c0de40923f92703969339d4b6d29342e09a0e865d70eeb5684cde91c804a15b03382465c6992b7903db6b74ba1fb21f180dadbb27f3df00b3f19c82146fd794ac483ea87079b41df40219ffff031cfe3fdbcad369aa9715b1475f0edb5bfc1a45ac6c1271190907304bc910e3ee034aba9abaaf89f1e6222dcd97a3482f4081697a8647a7b0bb23dfa06b2302171203030a54d85b993fd2ab0bfb87e5b2b963157ddc5663728bf1096def4b40f3c4a503a3a258de4754f6dc4ed822a25104bca0576b822faf18422b6ce64a478dcfd10a03b9f8a20a46437d88aeb92170c11f2ba15de9a9e381126115425cf11222348a980360c2fb57c993be03b1dd582843353d16b2d2412f5f98f7174c918a784f2deff10219ffff0378628d4592d26db1eb12214955561f4858aa0ed6f536d9e551c53dcced1ec6b80395a9ff22328d081180fca8f3d4beb508b85ec049dcf3e43f275930c81146a60403fddd73fa65fe0f5a1228f19bf3fe5d5f314c02bdb2495db062b8c513aca1e910036e03f15c41526104f39d501099f64339f290594f4a20b7b9d9da89cbbd482f6103247be6e033edb4880b0c39c7d1475b01a3de1df60bb2764da7003a3f29dc6010039721ee67835d4619ea22d1a90091ad992c048a5738d54e88530b0a7c91fc55ca03915b7272ba709cadf2525ef7f296330a6853f6065e8e9d6bc400b2c506e9fe4603fcd0c4b0f75a26608a158c30319f2c41e5ca0d18d0f9c02eaaa1682b0c88919b03f6f75305ac321649e8f2b7ae32b0ef33ab478b7576bbb4691f0b2d5a13907fb303ac52be6ba3486f704b9558fdb541079aa2e3f6077c9c0b96e5bb6c8cb4271af60219ffff03ca74ae302c1ec48bd82ae259a2b166f81b5f5ab2afec9c5be5784af79fb6693c0372689f0f096dd2da62f77d2c332f2c434458c8aeffac89a136680eb517fb8bd703ff04adbceb75252ffa0b4a9870cd92c70a6e8b566ab0e9e13423aa02346e9e4103071795b6907aecb9192c1cd1cbdc5a38513a4e99e195491598658ace0c96c54a0394aab02b7c592620eb85d1c78770192dba63070b8edfc7cb9231e597f66f6e62035f131f2046a50e16124ee7a82e8bd400b780da480924e680d88589a47ba5995303746c60068bceb5e847b8d807399debf9e20ca096dd7616d83b6c9c76f7df624203196cdd63eb142a5e4a30941888ac1bfd4aa55f338e4e7fcae71c3b157dae6af303a03240d602e94981102988a51ac0ad251d33e4eb64a118f2f4d2c694de7aa00f03ad7a07f8be018dfd5eb8df17d03c9ef3072916ca605f87918767947719bde1c8033651da8546436e798d90172a8790352ad4307798ff02e03c45324088be0e125c0362a7c252230a7383cf1f9c416d9e2531c9b3e7f48a9d20278bbc35c175d4fa750363af997c519ec79aab78896c0fff438d0ac19f07f98b6b416f5fd40cdedb07fd03f784f40d20235a3f2a12f2ca7468fc3ef492973223bb14400321d256686b9da3035daadbbc20f1348650139be122db61e3e51785934a77b201a94ac930d68ad16603ec75c771a0e9f56ac875d8dd2f4838dd7251644e7431f9725e563992ca201a0e034c09ac2a11815e3fb42072b4508b313d3a9c5eab342833bbc9ba1848893a0fa1038388c5291c1969ccf1d6ff774ab9fec7286ec83b989a2e5d63d57e123c585d8403590cc9f8da2fead06f74d6d1bcd43b7a07ecfedbcf0d2a30124f575da1a586ed036018ecfb7ab41f5680184a29cf60f4107b11ffd7b5a7b99b7656c2dcb43c265903422610b6b652ab5dad44612a758aa7cd7b1109f8245293a66cb647f1143793380327817f61bd8fbae8cc0c6b912e9ccdefc11d1826a6180ee24271f3b712f44df003e3bfcdcd9f142fb6b051af72650b128b0b097d5a9bb6e61da36126933191296905581e036d484e86de5e03dcba47f4dc308188c37142acb756dab33ba0b59af050040a05581e03cb1c3c5d37502d0aa13d62b6424910ab952978d0b11fec6ccc3004c7e0040103d10c50a8f35a113076846ce372a64d64408d9bbc8a21f8c5de5b93a1ec720cb003eab6d090ba3fbe9d3b561c6f50e146a8465834dcc21748f143244185f48fc56003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031979e8fff074daaad04439623f1b536865bdfaac7f39c16055f50143c007011bffffffffffffffff03d8be73740597e0432b0d60ad70443a41237ea3e32666f8b7a16b7e242f10dee205581e0317bbf8ba657e39871ab5852bb5d8ace9de7fe3ac599410ee2d50d0a040040104590795608060405234801561001057600080fd5b50600436106100a95760003560e01c80638129fc1c116100715780638129fc1c1461014a5780638da5cb5b14610152578063be116c3b14610163578063cc5183a114610176578063ef921f8f14610189578063f2fde38b146101ac57600080fd5b80630a5ea466146100ae5780631c6eced5146100c357806323b11d8d146100f357806348a4f99314610106578063715018a614610142575b600080fd5b6100c16100bc366004610694565b6101bf565b005b6066546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c1610101366004610672565b61029f565b610132610114366004610672565b6001600160a01b031660009081526065602052604090205460ff1690565b60405190151581526020016100ea565b6100c1610324565b6100c161035a565b6033546001600160a01b03166100d6565b6100c1610171366004610672565b61041b565b6100c1610184366004610672565b610496565b610132610197366004610672565b60656020526000908152604090205460ff1681565b6100c16101ba366004610672565b6104e2565b3360009081526065602052604090205460ff166102235760405162461bcd60e51b815260206004820152601f60248201527f417070726f766550726f78793a2041636365737320726573747269637465640060448201526064015b60405180910390fd5b60665460405163052f523360e11b81526001600160a01b038681166004830152858116602483015284811660448301526064820184905290911690630a5ea46690608401600060405180830381600087803b15801561028157600080fd5b505af1158015610295573d6000803e3d6000fd5b5050505050505050565b6033546001600160a01b031633146102c95760405162461bcd60e51b815260040161021a906106df565b6001600160a01b038116600081815260656020908152604091829020805460ff1916600117905590519182527f102d162d8690811b17006e6e7529e0e7ec6c7f357d1d74d3d7ceff35fd75ce0f91015b60405180910390a150565b6033546001600160a01b0316331461034e5760405162461bcd60e51b815260040161021a906106df565b6103586000610576565b565b600054610100900460ff166103755760005460ff1615610379565b303b155b6103dc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161021a565b600054610100900460ff161580156103fe576000805461ffff19166101011790555b6104066105c8565b8015610418576000805461ff00191690555b50565b6033546001600160a01b031633146104455760405162461bcd60e51b815260040161021a906106df565b6001600160a01b038116600081815260656020908152604091829020805460ff1916905590519182527fb24cbb8005827c88afc2851884e834493cae4ef0d1302bf939281696bd6ae7599101610319565b6033546001600160a01b031633146104c05760405162461bcd60e51b815260040161021a906106df565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461050c5760405162461bcd60e51b815260040161021a906106df565b6001600160a01b0381166105715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161021a565b610418815b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166105ef5760405162461bcd60e51b815260040161021a90610714565b6105f76105ff565b610358610626565b600054610100900460ff166103585760405162461bcd60e51b815260040161021a90610714565b600054610100900460ff1661064d5760405162461bcd60e51b815260040161021a90610714565b61035833610576565b80356001600160a01b038116811461066d57600080fd5b919050565b60006020828403121561068457600080fd5b61068d82610656565b9392505050565b600080600080608085870312156106aa57600080fd5b6106b385610656565b93506106c160208601610656565b92506106cf60408601610656565b9396929550929360600135925050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220cef0361026d143789d3a650723c24c713525ee432d868f9508fc5fe410faf15464736f6c6343000806003300582103164135aff1c548a9982cce22ebb8a532443ff7b3b6e3a417c5234f7974c9c46041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582002501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943545440aa958dd87fc8305b97f2ba922cddca374bcd7f00582003e5af7989af34160053c740614b9ddb3802b3053daf83245a1bb265a8bcafe0410100582003b2639b17bef0515027b53aeaf7e6afe7d7e132e00c9abd9bbdd0f1be746cc0410102190420021901400058210345c78e6cce5cffdec145e73ecd97300c6fd3c324449c80fc66d92f4c6bfbad704101031dacac7dec919df3e6de7ac4aacd07fad0b2afb26a93a66596e35672d9e4ec20005821032a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82054f2f0829018452a00435edb9cf6fd5158d2e92bf500582103fd6c600593df7046d05407c1e5011ba9e7b831a4becdfc4e22a3f9c313d38a00410100582103a012d18e3ab1ec8e0601d9139d23395f6626362a923c5a7c2e6839fe7f5f18c04101021945b605581e03f4984e1d911878a0ddd7f3a4c56797a98c41c9e65626fb4ae0becc9cf0070119079505581e0321f22ad905c506331d7f77323648114d3988003fbbf8da25af93037a700c0245236fd3b2000360f9c8120dca62dd1c723fbfad26b16f48c0799c1bea1205b363df3d8802aefd03e341c22cc41099ee3c0f967a9d5e94af7bc906464204782df8baa1259de0a4b80219b56f03fc39247169d68387fe8f2d369c8e98607eb364efc82e1033596d18048b7527d203e2a45e68759e1dd926792be7bf83dcd856d4dd670f974ae206ee6a4d5627dcfa032abc13497d9fc711f804b073617b9d21a594d4d5a4deb876e540b80929ea18a7031f94b1d7576f2582eb0191ef837530d6d1feebda22f870d136988de0a07412a403694aa123047e9ad525f9cdbcbb674b941e25772c1134d00eff1caaf9b1392fa503ca626fc94f8c99d78e79d3ea497f11cded8aa614a1ecbda86f398e8b4848e94103edd82fef0870913fd1d73b5e14b6950a8e0bcbf06097f4b3f5c435f45537135903e81381385db7a7dc530dea9fbc6c59e9d3f51ec69a9c654302d8379db9738a2d03c562a9d42afccb384670f065e0287167d809b1e537db57badc0ca1fd6e12a872031dcaf274ffbd3cc4c5096eb427a1bac8e71053d33979ee4983374ac5674c99c8031b25881fe51e16803e7fbfcbac12d3b25fdba9d8c3b5c7cd658da84c4276bbc303486a41219b6cbf03e815837fc2ce7bc2bb3f0c65e8cad72ef944cb95715b6fc60219ffff030122934164aa33fe3986851a13a079c54fdb7da9a63e1a4e4bf3e8ec74a8214a03bd0a2e4e1439ab57fd37c24cd33ce6837d5e254d54c7e88062da31c446417a3c0372c7689d8cedf4a68726f7c43c731eae4eba6a89495ea932a7ff09d94949f1f30383bb030500655869f5f7af9b038c9470630b34936e655e29360fae48fc12cc9f034f2c8ba7ae6bf8f4d46a780ca64de3c373922d2de3d4e32435dfd4bb84d930d3038fd0f00991c5137af676688421187712405e0fe4b657dfbd5d36c41658ec5f2b035c880e7a33da2550cfab9b40c9084cf944cf023e58221c8b0dd07fa12bec108b038d0f10a1ff8bad2c3289702a41d7c15ef442880ecc11ec84636181148cde56d303ecc19cc255272f7651cce2a83b6d9f7c3188b41145c0113c32c2a42d6dfd113a031090949f42ac5df0b0288574e3cb2ebc34d436e05466670a8c673161764590840219ffff033b5ea417612b816eb2e27559a01f474d4dcea6c4c0137512737e10ca86e576dd03fe78149b5346621279469911874510ecb529124dc198a00e8f6dab4ab98827b8030a642e46989b438621e525efd2b5c91a131099482c267894b34ac282678d2de70219ffff03ccf4ab05c01160a6b5daea7da2d163b6da83f420cedd0f450584c2da37c0f2e003ba986c0af296dbdea175e6e3ecdb06a08693bacf4567f115ceac5b78a2e1cca203a49a3dbe658dfaba7dc828c99471e895c6ea50eacd28dac2d4c7aef0744b171103547601d6eed9e4ca979011a6273ca9ac26d0ad061ae6b38e0828db4a31ceb005034156988925ff012c6f376b3756da5daa47457af3601d78e0e11840e3e0308e7b03d4469397a530c434ce5486a17b3e8c67ad86f0f98353e1bcc2c784440c5fdac703c67f7e3759a21455989a5972982c3474a0d59bf59fb2f101e1d13099dd05ae6703cc089903abcd7cd7adf969f49c77f5e2131efa90f7af15a72709246cd00aace003530a12fb0557d8d6c952990141aedd2f37872be79c3993184cb02c420fabfb3e031b9cbfdfec697865d4a67eb2e9e477a73bd55bf717d4499dad5a57e0c1d36cd2031d789727ce7adc43e6c79c4f530d1b1ea32e501086d9345fdb621756d9674f4103f33e037bf3dcff0adf8043f70119fff0b7eae2a7db89173a63ecbd40f3c2a3f5032931167cecfe78d9e84f0fea373e5c61a554d16f469b6733d16e2e9e43a2661c0307e0cbdc364452a9122399007be5bd65e056b762b06f1a00828e0f3ed3cef82105581e03ca6531f3dc2b0d419ae61c369b0d98ab47e83d14988be127527e3b02800c0247151d9a6eec6b8505581e031f3463292abcad483c205d34073843bbcc440f22c99f3b0a45bea9c9d008472bba03c706ad500459084c60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106d6565b610118565b61005b6100933660046106f1565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106d6565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103bd565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107f060279139610411565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb6104e5565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b8361050d565b6000825111806103a85750805b156101c3576103b78383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e661035f565b604080516001600160a01b03928316815291841660208301520160405180910390a16101548161054d565b6060833b6104705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b03168560405161048b91906107a0565b600060405180830381855af49150503d80600081146104c6576040519150601f19603f3d011682016040523d82523d6000602084013e6104cb565b606091505b50915091506104db8282866105f6565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b6105168161062f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105b25760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60608315610605575081610285565b8251156106155782518084602001fd5b8160405162461bcd60e51b815260040161032891906107bc565b803b6106935760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105d5565b80356001600160a01b03811681146106d157600080fd5b919050565b6000602082840312156106e857600080fd5b610285826106ba565b60008060006040848603121561070657600080fd5b61070f846106ba565b9250602084013567ffffffffffffffff8082111561072c57600080fd5b818601915086601f83011261074057600080fd5b81358181111561074f57600080fd5b87602082850101111561076157600080fd5b6020830194508093505050509250925092565b60005b8381101561078f578181015183820152602001610777565b838111156103b75750506000910152565b600082516107b2818460208701610774565b9190910192915050565b60208152600082518060208401526107db816040850160208701610774565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204c42c8a05d38921bf3b9c46c2d6959383ec3cf89d820f0f9ee530ce0a4c93bba64736f6c6343000809003303678c6e8ae9c9a0e364cfc0a73642d9015f5ddbf3bd97c61536cc9978508bc7d00319ab431eaf014baa366add6fc0775fbbb4fc8fe03d71cfa64f1e40be761b68d303c60671e7fc8ae1cfe64cc4033db3b0e88d4d4040ca2ad0f460d437a2275b25bd0331b97b954765b0f324b2e9d87371ef6ea122d01bad4b6a8849911fe34e350bf703beadcd466e2ccd263a1b09b267752e0b3feeddd9261ff5896753b960c21c47c703c6aaef63c9dfb7b1156923e4bce0c5207d13b1c0b532b10cdff35b7fd48b17a803f38bf0b5ac4e522dc87b6e9c09a2355cb452fa74eaf421952fd987682829fa8e031bd8376c5590e321c174fb764d5d336eadfc1d9051ce2498610a0d906f14d73103df77a2fd6c0748cc9ade229057d21e273f0bb58658e1ff90d265b194922197dd00581f032960463885db475686708aba6863f851545bc644d2337ba0e900e8eaac60410100581f035db2748dd9c68a3647a555ddc1b38122fad15f6bef03c655649df60adcd0440110c5180219050003c64782022aad18b83ab4bee1e7defdb2f6163421f4c89a422132bcf6da0617df036ce93a4f4799e996f836241fd69530c4c53334c435265e1f80747a2b6c0c89b503ce1ebbccbaf910371201b18b052fc74dfcd2d5c03ad3363c99355f8a044bf7c3036356dfacc188f7da5f2a50ef0760fc01d75c9143bf397a1902f070af4f4f1255036d40cc6930b413b63eb4307ed096b610775b2e8979d14dc6b91ec09d3a907431039c3179348706435c8333869e5a73b7f3f18085c283d4e9d8e678c9bfaa7985b700581f0240af3b8c38ea848d8d31c422cde2c2d800b62807d279e073cee3f8c04e8944010f628a03f24943f10108a45be8ac98c89438382c81b4afc63a4b92d3508c839c7702b8f800581f0201067c156c1e8c555813d4bceccddac38a4adac1dcb3e1fb099f37a49de444029c7deb0383f5ef922ee790e5a3bb9e2500ba97ecf2aecd7beb19c9d98605662c3db4c60a03f74921c03b9e20798aee5e969cafe124d51ce3c26dd28f8a066eeb0abfddb03e03ade76df57dbe6af8ef04d1b55a51f14af12cc1e6c0c28e6e1b50c7bd7ba5ad2c03ba9550b3c24bc5cd4650688f202fe7f1096730efa8728f498840b481a0f3feb100581f0261960c7e7ba3bbcf08ed66869f1960eff972679deffc3ab526da39551be841010219ff7f03e702deb6110928761bf56bd7091b42a066af0e41bf9f9b9cd98bb53aab35d322031c1e79a4487585ef6c77a45de9f86922020b5a3714cdbdab6c2d5b02fca519fc036bf837b196f16f9fb6e510264bc78689c33c83976e44b0ebaa0e0e1b4f412e1a039000d90d1e8370dbca70d0d14bdb80e794112ea76911759a51db848c40e007590341e25a87525dc0aa79e7aa5a79397fd85d9cd6f35aaacdea80073e2a31fddc02039e2f5e31d13e244662ba6575b4b84838146fc054dda8b9e27c5c0286595d4e800330a8f7efdc52dd519a77e75f05bd53b5f1b5105940efd9f1d5b0764bb1c2ef8003138dfe411ec0781f742d1ebe8b87420fb40fa8e1dfe2d826c2cc51d01174a3e00376b3026c37c3ce267b327c59d6b0b3ca3eb34628b96ab95159eddf582b07103c039375be6b70077c672566df5596b8fda7ad9bdb6b535b38e4bd2b95b33011399d03047cb117f530e012bcd6bdcab2b29ee357377fc8487886bf50982dbbe6f23b1303ba5c23d89ea37e6fa010cc26855eec99e8ce72a293c61327ed3b1c83c5abc43a0219ffff038059901a116bc8d2fb8397a51d6c11fd91b151c5a65661dba6d3906ccc2141c203c81a09fea9a3ae8c1e3ea7d4e59b244273ea35a4c07406d4fe1a81653c2113c803f8d82966fcbb65e5b89d5adb19665da2f241320b5bef6d7780531b9e178c6c90030e7d573a7961303d6b2fb5bda743168571d6eddc965f25d0c1598d3d72aba3f903cd46c068a580a8361a67d1d95b84dba414dbd0737afdafc767a508c0c23ca01f03cb74ce50311a7e8579e70961aa5ba17e9f68b6cafb5c7c0a7f55e0ff484a9aae03197687f47c1387f361b12575fa8e79626d334855f7488bd4c789461e2e1c3e4f038b7067213ec01e895006b419d4bceb7ace5179c9acc6f0e23afba30029b9e4aa03fa342efbe0b800ff3cf6eabdc7e8ce0ca8c2782a19f9be2cef2746d1de7e97930219ffff0331a0d1ceb54ba4ba4db9819f0a60c39193a5d40dcbd72e2be60e6ab3fbb4aa92039aae0f022715a1994c2fa17bea7a4d433d0d35cb97470e05c4a15e8affddcba303baa37d9752822f784aa144d38ed903e49ad75d23eb9a7044a1e54cd9863b608e03bf53ace92370f72c844f0723ed3bba73ebb6714a113d59c3b102c556afa6915303ead1db130deadc88a8ed536c8951d90e00ff9672379bd840a1e5ea7955c6f28a03db86ff979c449d3e45b729aa8f578e651d291410694b5b07286ee080090eacbf03e5296366f569a1750fc4dcd48913ccd47e58032b116d2eb1e3f0a9ff58aae99b03d3d22f6b64937d4b04ece070611eace580008c1ebe36cffd5a1fec6fad70b94f03760c92b4db7d82395ca34442cd115f82813182de079580eb3ffbffadff6dfa1103f79cfb081f3423a3c7f2bf7f09769eac7da5f7936592335abfd8272a1ebe75e40367d9a962c12e3ee71d9b72677b5180664931fbdf8f031e410abddb87749b85d203ceafc76a79e4ad3f2d83ab0f5d65ea1eac4e2b4147a1ddcb051b9e82e109ba1703e89c1f20b557aaa0b127d4bf0c135230e4443ed6520ae4755484a50db3bdd401033b3e3d275a1ed7b7dfae58f8fd6e5851b69ca23db674559276e07670e9021cfa03a24cf4a80323547b7b4c5086fa4a50f5f3a8e6063aacb0654d241e2f3499e6380335c8b4395a3c2e8237e185123fd0d7f4e2110e592c4bed15820d3ca36d04781a030d68cf5778aa5dc0b1d7de13974294826f2afc6a2c36ae0e2ecf24195588470f03af2f3c1e19da9ee80f584880f185a8589000e4e151fce54c3ce2ef4607e06165039c740fb69e6f92af09e756f30b59fd198b90ed3a9fcc9a9f26e0d91f7a5ba07000581f02a901ae5c4b25b9c3cc18e2fb0b882ea575e639bc7974c0af1f25f159109743ffc31003ac224dbf1c7f486056dfb93daaf11180dbf48e836882b786303244a15f52b60503fcfc0ba5766c9ee3d04cb1f81788beec2af44d48e6ecff260bb63938501c99b900581f03f5b0773ab77484da8f64e98cbaad750e6d1688fb726b0fd6fe3e4f46ce5044011aae4600581f03ac1763f3aa496fe7328300d9a705a08b56784ddedc03e690b581c8ded79044011c821100581f03c9a8fdf14f6b107eeaa6fa66e43e1a50baecfd044198eadbdb8e40f7bfc0440112a75600581f03df57d4bfbda323e321114be426941e3f55e042c8b08564aa4e4b4d469a40440117d01200581f039cf52b8eb4e69f783d49fcf5dd5e6188dec91bd0c937e7281fcc2506177041010219f00203a86edd7efe65e97a4287aea43ff050c3c12e6239938341da70bf701aa9e5bfd6038237062e1dabef0ba0d6687d50b9e3386a2d6851baff9a925924eab42a000f5a036ef44d349b353ff7d39dd29bcb24e7d81470e246cedca0cfea8ba6f0c2d9c17f00581f02788637ea0aa06a7949392f408360301b4f0df4c464f14cc1fb4fa95734e7423f4100581f02c2c170e2988a2a5e657939f58c38aae6052382c4979e85ab14f7076a34ce4101036bef2f74fa1469568ed05b964f354f3e7ca4b2046db1dd80e3e7d416659b570c00581f02e1199af7136c1ee6eb01ca01b1863fa911560319efef6d544e416904419141010363a3ada8b058f4e0f371867a571a0665a49889d71fa216c886ae386e7fa2a37a00581f02a68b88bef7e0a6faf9104846ea768b5cd133325a0fab70678db8b03b268a4401ad2088031e84e0ce75040d8cae8ee1ebe0264d5152f80dad3b0a0d6777783d8e9e762498037df5d88872e45946504643fceaa97e2e12a6d4fd1f570765f2755466526f1a900219fdff03897a74e95ac7b1547db263838782ec34340a52978c3e67db8b4fb97c1cf11d07034f466bdc0c99e2250afdbae1d9c720b054e67050a55d031007b063d30dd7f64303c74e317bf95a5d35b6194f3780746fff7d118c5bdd8ad543dc146a542eef4b1503a99dbf6c81060f3a3962704f201d18676f12df1f07e5091249f23bedf4540ec703d1a7b18b5feb65f4a4b3ec25d7b7cd16a85638f7d5fdcbac93fbbdc3fffaaa4f03901c90cced366016761a9587ce803b321344eb80fd33393a4158714d4758ad9f0219ffff033b251e8e97c530bcd8e56e0537471582e48b27b94b28fb49b1e42253305b7bb103f95cc0a1956cf2cde9e238806a4647cb06863d58335cc0a1612365413f9c9ed3034d18d3c2dfd35b7971e2d0de0db385bf281a29f7d6bd8186cc3335df3c15be2403284147d56a86a07c66699eb7026befb036296945cba1d5e6a748b635dffe263903b03e285907acc38f81d2766e0c96e64096029d0ea04b024cb2b87569d47e10ef0219ffff036feb063eecee369c4f048a9853ccc2b804b76617ac6ef43f9d57c27e6c5beee603a2378358a8ba5afe2cac1dac11d42f13ea19994c21bbfef259e17f15bc52fdfc0345f353508104a0cc275201dd07457031245b8936507b8ee8793d18f48b8a8fc70349b0d685ef9d548ef5678b23e8931057c9b7c5cf0cb7d8e6bcc6050c2d8490190366ffd56952b23e84ce7d1ac36c26e518c1d863db5c623048d430101cb07415d8035da41dbdd732be6c2db832d7cb67796b69222e05e6b2ab2e07d6c2b3b180565403e374727ef2dcc4802de1a5dca46604896a8193b26feae741016bbefde21bf40d0341f3fab8de35da1bc155e672178f8abf4e21ea70cff4bfcf7170c83d72482aae0348f8080bc8fa1e1f539bf412bf09765a02c50c556e5b8f4c170c0c57e7801d56039299ddc5a095c417608ce34af0e24ac3754f6586dea317219ce6ec9fb3f1636003be6e9c2708f6de65757da891f021cad8c2a12a836afc18bfc2fba779c63bbb38039db49652c9d730b2997d2957a7204b67cd6c1016d528ef63d7176c764ce31a2b03262a1763ac440545b8c677ab382afe94647f82716951e6e3d5ce4c8cc4cf28af03e06a6f4f345982bef52cbeb1d1838f0d1b1db9342517125e5df85d9c6a81824603972887ce61ef9ff46c6d412b8a171e5534f4aaf5bd3c6d29c6c8c259c0b21fbc03db03e8e1cd8949b2dec9d471c42f4ed0b7e605ca46edda6c2e623f83968f0ced038ffed051125964bdf8af6e467b27901f91d350aae36eeede9ac93981b000213b03a84bbcbc98ce61cf8b99488734d2fe5fb7c996e595dc8ecae96fca1b6d771dd603c100aad930122781fc349d0077894ab4c1993a54799fd597022f6ed0bdfe102f03fad7a4ef668630ed5fffdf936691beaedbcf4be886b2f462dd23d8502c4a42ba03a7b7775011dd79e7482ff06580b5a9da2207abb760f66ab3c9ff45a17a02e3d203a4e39bd6c4bbad0c2b580f1390061da2bb7a9d1a56a59a3507765b6baf2b010803f1a23d02c110878dd3e569546396106488402747857ad0fc55e4d9db154c99f903e1fa3231df7f7d220a2646fb6172b6e533d2cf94a937ee910ac813f93779ad660325890c35655bd158af4664aa4f90bc4cb06f9c147604866a1ff5d21bbd168cf703ad3c8007db0ef7989b147aa7ad1b6406cd4e115eb976eabd5206372874af85bd030298eebbc5d748701ec6599530d87124bb92a35a2bd206651071ddce513babf300581f033fec0b24308ae29449260600291de4db16578475b8050030bcef694ee0e044017f82a200581f03f048f5201ee4b0986294a3663fca761c1ce074ea224fefdcb88dd27b0200440263c5280219014003dddf4a4dcb7149e03b3fdcc2f6b0179dfbb9281ebac266d7ae9ffdf6025f27d800581f02fb68d328d9002a4b94abbc10edb8e26c67ba6d7d14b809afbdcb094a0fcc4239c903d122d6b682074f9e064103daa5b780a52fe4a418fbd94f96dd791f98c250c93d03153ec27d78c3f99a26aba817ce8e9695f019e2a41281cb52bcd62a74f434df0c03f0be26fa3b488fb6a4aefbf19a18922da5f5c6e2c0233d093f7306793339bd9a03346f68883304c98e70acd3bb264bae652791137e43602001dfac8c6dfb16a58003849dcb48c802098392adabb87443f397ad9856adbb59a87dbabf3e08653ff072038d7b7c4eb9866a899f251dbba8cb60255aa503dc5d51497db7575c0e8b16aad000581f02ab71970524f02d8602529a9cdfc7e9f3f415a738ba00e792f8552657333d410103c37be63a117dbf25d8605d2cccab15dd06c00979a79d0206e8bf9bdbee258911035fbe43d61b3f417e6e60e305609d6ada8d80e119bfe1dc5aa024454794e4d80b03e2f6a3e2e75ef9d1c57b11037fe9c7d807f12aaa8c7f1610d67aa8ce4dcfcb1f0219fdff0383fcd0f24b48034aee093772fd410bd3cb9881ff0ad9ff09fb45c837666c0ac5030b07a0dbece6e23449514acd02365e7b1c1e9d07d19e739d39023a023dd46d2f03ff26e33e8b3f9391673bc8c01c13ca69a8a8439aca5d192c99b5c5fd6e0d53c80388d474105c5c395f45a05fa7b7b7db3a004f643f2d8703f7517b1e399c00a55e037770938431412702179182ab5ad83590b7d91646f4ff5b63c97dcfc5b9aafa1e03f40b04e265f2d77febdda31772da3559e185a8c390127e51659767f24598e28d0219ffff0219ffff03f5532ab82bd490c9233ab1514a5932f8d95ae84768492424fcaacae7c548aafd03b9aed8563469209240bcba2542bf5a980fb43947c875661c79ef52a21606293003b001b8012d580005798ec83e1086888b842b7622b3975a91be6d31ebacd7247a03005fefc0606f6deb8d61c1096541ee46bbb1c98c224a23a14e3907229fb2f8790391d49c76b204952f2bcac4a5c38b7979fa61e2c84c8f0b657806c0f184a75d1a03d7faf4105ed99ceeed2284933c8d7b581fee638377eeed1d9114b15d230d434a03bede4e689fd114af33b1df1794d3ee81342b0928b56fe7eadc97593e08e9ec450357fd538246731b34935256e5af1c7ea2afbfacd6119a45139cadf5002a2b173f03fdcecfe81d8d39262b2ecc89011d617177dbfd11dd1e54cd963320eaf56869e9037d773115ba8be958f29ee01692d8ed81618d04ef230edd90c4f5a0dc3599a7a903edde789bb9aa92efcb43f24bdfe9bb03ffb4c07e5796cbac62b256eb8610b55d03e2061150bc490e7288e6d85726119bd8e08f35ba916329aeb5b204522ac8754d033e1a0470176980fc4087ad0cfb0b6c9f409c84cb3321d4b085ae021a51e5d698032d31fc6d5ba690216b76f1b63c40430ec18f455716b27c72971839df9efcfa8e0314fafc26b5654a55071b63c5cba6a4756d9fd82d157bf8c4aec4b3d489584d5500581f02f53279467a8fa69524ce5cff367d432c52ea39b4aa04c90a8e82da02955d44011d006b03286c553b5f09cc49c8f119c15325fe1fbb330abc367865d20ff327163fa547cc00581f02f48e0016ddcd5292aae4024ce73f2ce1564e90292562c555c136f08006ac4386137003fed813225bc9194fbf0e32750f205b7a1c5ef9ca9ed18dfc8986c4498530fdaf00581f03cd0bf31dbdbed81bf48aea2edfd35357ca9703cdd96627aae8fc57048d204242f300581f0358d6103dff821ebda9cfaf5dbd70c259fd18d1f1308243dbf7d7e35c75a058201c8f9f160ab2c94c3ff7c2de5d0cf52631af2a3cc41378c017a1f3089b8552d300581f036909f766eae55a22ebcb848d78a2fc78b029a88ed43238ffcb2b3b6fa50058207a9f20f5deacd447a9bce3bab04d3158073a38d75d10a2935ab506fa827a262600581f03ff7049cb9ddb6f057959083364e637f2dfca21f50acfa48adddf763818e0410100581f03c9bbb444713fdd40a4167fb1cd80917d7916d11816d7ec3e36084e5a370043036a450219a04900581f02e59262bfe17976de1698f07ad54725aa43d70dbf406c1a1aa3186800870243fdb6aa03e2e261b310eb74a6349ff78d547e7a57bef24321e65d795dd7c1ad8bcbab8f78037716f1479035c07195d650fcf663d46d17b046290445513fdd3ae460db548b76036419c2621383ffd0d43fe5036d0af81df14700412f57a4c3e7c3edafe9bd77d503a73360c63a26ff39e12fd11ed139ff44c93900aea7e3b08a2d2cf1a6a6ebc019032101e61dfee482aec11188f6945c03482dc317612fe81d4cdc6eaa9fac5f1c0600581f02f46dd1b3c086c22f36400e7a82a68465994e7e1dd30946989b2d09e4474e440123bbb800581f02c93bb98c6116b8bf73e7051adeb3195a7ddddb65b1028f3e86e9780fa6f14314c7e1033645f33ac0a93fe303982d266e7d3029fd9da64d6ed44fce5d7ebe2d598aba370219fdff036327f3465537629c4ed092fc31796904e68154f6bcd397c76b5bedbcb69d9dd503b2d6b5a6d3032c9434d3815972c51c7a0432250fb75cc50ff48085b4a948d9e403b7655976bfcf7de93a78180383963a6c2659584ed0a5831ec8d2adb1108552470219ffff03bc1745a88ef19798a371c55f3e257e69d73b3c90ce4c4e5fda87f5959eafff5d0377d1be7ea2179e100d6311820ac6cce069f0c6db81b19a0142dc0b5a0df64216035fa62e005f859161d7efe120a124af513ad5cf6374cef05121657a658820d5f803f41224a486771bea4bacb141ca998212bdc4cf935ad655eef492bf6784c354480329651c2b6bf11b6ce72cbdf862f91c6008d3e39af1981644bc9ffddf93202dea034a81760e05911b176f29b029550aa006f3fc8758220cf99db8cfb87f1c6a854003650c8642f364bd8f24e1254982be9cf5f3ac9d4920e1205f37de2b568332d046038af1fcb8145a99e4f7a56b17cb2c8a814f2c464d3e1c909efd34995d758c73cc036424c79223c6c0361245a227be615edd0d29e38a7b68f5f47b3a60af9ecae80603efbc17985c3068b1a9a408f014e65c6a906a4f2dab62636169ce0668f9be10cb03e8749b3f2689adc8579f5653f666e4369f1cdb681332a1fd3bdd4fccc5033c7603a6be0f0e81838f8fed4ba6d2afaeb509d54cd8e7a1835cb5a98d8a268c71abb403b017d465a5036fcf872be2aaf3451d2ff61d30877126b03758375f4d01ecd42003ce9a7e42845bf6ccbb2f8811b18a1e049886ac5e8af666b42758717359d890a10382e00e3578db9fab46f12fe1fc32e45e2abd042d36e3b512a7862aa0f9a9a4ba035a854fb58e72f9ed6f66701e7ca80ba977b78813589d206d2b9a3c626eef78400397786df98929c75197e13ced07c1fad9a64dd21e6757e3f1fb47581473716e7b038768584e9a3b5a2acb18b2c143d26c7551e737ec4d964570a9bd8b72279add50033a3a80b742a66e1d20bd3d8ffe8c2a01409439b29531bc7ac9fe6ed3efbcaf2e03448535434e08e712afc8b1514131aaefb96cc913f29ea7f78cd52d5e9c80047003cbbe66b3f6a39273b846e82ec50ff7227d236dabd9e024796fdbc9d109683ad30303d02aef75e666f992810ea915e69afc962336b419e5a5eab0890be95ea19d9e039c192913438ef111842770dfdc0ee6d338fc51e221b887f7b3682fa3d25a29170329588bb9990d057f70542908dbe09c576bd91b598965ff9d7bbdd9be71337ad903b015c3b6f90c242723b5588bd81ce1860892fc11196018dc815a7a49e81d0ebf03eb830a5227ff8aef5f9d9ccbf33251282b127fc598ac010482f43d650eab18c100581f026aa1957cda3075b86476e2ad6bf96144503c28a3d6cb04446935e486b5c3440125063903fee3ee8d79a5fa7881cf91bb36b875fb1fc44ba000bd6d94aa936d057eac49dc038817d38b0f93565555ade61cfe0ce12366e7a7171615cfeaf15c873293b2475300581f027a7be5f866c86115f6bd82085dbab0bff6ca716e303f9f761617066bdef95820a66924380d529992b66222d646ab5a57dbd5b8c5c9bc6f693e0d1a0d0090b3f500581f02d6cd979152cefbfc54866ca39f7116d66c676370216c7c3cfce6eb781cc944011c8b8a03b62bcf760e3b0a3259b44755962a6b6d0023fffa2cf7d375cf2cefc5bf0dd292038fe5e80df38c22103365ec1f429d1641bec9a3de765459d02467b380cff7c74500581f029a07e86d8dc9fcc73c7316e2f1200d3ac17803eb3ab6230a0e1114dc28514403179b3e00581f021a8d7a653f50907dc2e70d9ac1ef02c1a87948d2679f90b8818bc16618c9410100581f03808246427f78cae552bc929856ad685f9dda219dbe02aa239a545a0c2b40410103fd541b809c8e99c01f4d1e1452b5253aa942b6be588b4acf2a2ee036b530809902183000581f0220628a58027dd421d9fe724bf30a36141644e5870a212aa4cb078630a3d444021983df031db56e1a0f5e7ed604d76eb5894053ac9ddec3d9987fa020977a7d1fb4275f3a00581f02629604c454866d4ded0e8d153a8ec9f7ebede70ea390bd348898f5ef431c432ca27f0219ffdb03cc95c0253dd9388fdc8c18c1a54cbd774daa9cd9d746878a9d442009aaf8aca60219ffff03d730202c6294a4fb34dcff78fca10bf15bac5fb23af5b7d8e6bbe07e745bbe930219ffff0367a4d3b03b08d02e1655751903f273ec0286722d8880ca4db01cb10fca24d8a903db162de8da5765eee309604b888f62382589b8ae85c033dd33acf20fa00682bd03f802d34367eba30931bd22da7d86b9f9c71b4cfbdd7fd3b75d81d67fc64904630347c46614fae2d10a2d944ed929e2b40a8a1e044b807bed434200227541a85e27030c9345bcbda529ba20ea53470caa2af8608633713013ebabf94c30bc3308ee8f03b94faefd56b6e35e98b0407c2d9aedd10d99875f7ffce0977056242fe327d68203a36d0f934463cfe455241b49bfdf5bcd89ce09414808aa0408d856b9c650ab2e03fe6669e04f3f01fd0af9836d3b9002720fffe31cd3e300f4108785e76deb3e9c038fcb0b93bcd472cddc64f2ab7e6ae735cc76bdc42ff3930534ac48dcdc8185d103276d4c326bc926db9e438cf52add83b811c78bf86f52464aa489e1e3c8c2e0a203f9fc8a1dfa982e3766e1954b83732e8955ee3f9e6dcf76d073839d88208601910322c84a029501063496cfae13a970782f76d51f79c5a0a6f762b4e052a64729a203d33b2b45c8cef140a8be9cc278c4704cf226f920f0444f574deb3a4f92b3162b030762ad12428d22572f0baba32bce32dc82c88950727016ef857fae3fd4d7a456030de8584abbb1749b213798d872400fdef664eeac127db3b9440fb8b099a7764003d5cb810971bdd89e308331413a128c6a8aa2bfc646ae0f46cb4713077796a73600581f027c54775d8936da2edb2203b9e5665bdce9f656f4a9c99d25cd7779559919410103ec7ce4d2d1112b38445484fe5cdd7759c44a7e2b981c4a01ab4fe24f102fecb503add7e9fd13aaa90a556975ce6211f5566156107e917b2027ed93f336cc13936b0376959046983ff5836be9ab4f0be75ab924d157eaaf0d532733b63ff5e05d2ce2036c9055a0600e19dd461df19f6d5a2738e432a3e87b26354522137911c3a529f100581f0211fd4bc32f2e27820cb1b000e55fef25fb44faf2d7dfc8ff1f912d5b2fb84101037052535f1068c44a0eaf5810b89470f41d6de59613f773465eb007c0451ec9d503463ef98550ff0775ac385000c4e77be821ee18b7e9d3c64a9a7a453ba300f5cc03e914757fcfc86fe933c5a1a03e64a1720a097b62e29ef9ac8409dab807000c7901410303c9f5a8f6aecbfe1099d7558f7e380c90bc2e7b51bc4a1e63a0955f7c63baf8d0033711ab3b8a84b8c8ac8504ad3e2743fd1888e99daa3c31e29c3712ebccf485410337478b25a0ff0d7e05d4fe6f9660e269de16a22f9e730de6cd3ad87aaf2e1175031997cf0544f66cdfa26ec6edd1ffb7f99f0ea90ce201891d2d8acd57b208bb2d01410800581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810544e59e778a0fb77fbb305637435c62faed9aed40f00581f0359ff87b96e6088c52fab5b22f409ffa945fa90a5ada90800cb36def193e04401164bdb00581f036a13d6e21103be35c16adf410e666db28a67ba4db51c026b97f233203bc04464fbd5fb00581f03847b82676c31049781db356c4af36be48d675c96144ba9aa257ea454a880440122dc4702190a210219fffb0300b385c2b408c4a26957897c9d6b1440cdd7c3d3109013585cd9320e6792b82903e0c2f83834ce82e53368e25fc0f5130f121ea3ac5eb5aaa77b255c713a5de1c30219ffff038ec3ea7a8aeca51ba62cb57a96a456ef91d13112a1c36bdb3ff7d74495c0881f03ccefa6ff6f2d35a8c31e5d79eefdcd60fe554f25bb87d6c086b8f3f353426e6c03b4c7fc0e0a641fec1a7fa99290c3e3d255e6c9c6510eb75ee1080e4c35b1877d03eaf89545749de4eb8077a2ab7b3ee14363b47448fb551d26ef65e3963ec36ead03f6fb571984c121cf69fc4c7aabe7c148c22b8e5096c02cfaf0f2603c0813cba503b3d85f963e8ece9e9af2fc2bd7376ab0c6187bc01bcfe5a16b80b9c6de365beb034bce28a2e877ba34120e19fa67b736dffdc7192a593f2af22544add1c85c641a032875dfc0d2e652eeca9951abe46d30977dd0e598a8f497e5aecdf66066a4a535032acbeabf84e1ee992f973cc4c0feb3b00abd38ec0fcf51b6cd6b92a624db0e2903aaeb97a7f25a1d713ab907f398d80bb36d2bd158b001beb6048586af73aa201f03600d682511db2ff23ca93f57f5380cc97b9b76dc75c03e1aeadea043678c2b5b03181a9e23c8710dc186b5911c9db585d0d8c7ecabf2f811a34e00550342716d6603f81efbfac8afc0e9d1c2b543e6f6692648fe508dadb4806e86916fc7d6174fd80219ffff03a235aaa0401ad4a15bec9d6af44e11b99180713ee8c75a575c3d7c1bf6bbf98003e9a29299755f6b6b150e90fc1d080398930075157b5996f5f87557dead51fae0033451cbfc7c1116817efb20f6f3f76e08113eee67aae2fdce14cd79ed6193839703d9e125a4c3c1a36ebef6525d88ed5d2389111bb28a4481a4579599065d09ddf403d6ba3ebab326c7dc2a964d3c0861d5be49daf8f9a4ef6a32c564b26b237f9d0c03fa94a2926a7af7a2b144c14ff7913ac589579aa59717119f10ed9ea5008d65e6037344db95ee5f200e22cd7454bd339375fadac1dec9f92b0c7e5a84fc8d4fd0d60351912ac9da41fc83b8dc74f6bd4c5838dad5a869d73cd2c1f4d62cd50b776ee503f216b74f9241bea4cf0a7bd2052ec43deb59c387c38163943367f809b8aa0c66037bd75581e63fde39865a1e974729df041804a802ea710391920f07a463cc74e603a0747d3335c6b4f9158fdd0841d1f003de1d990e65400a0cb87b51f52e02d22503c2d33f5fd3082603482bd767a29c31bfb884dd78510256140355616fdac4864203e7d9e0701269cd62c684f75e8adae14966e877e89ab685309523b91d0d800add0367273757d8121299ff15a02c577793c1efa934a9f202a9969c63372a215f65fe036ba5a5b8e9f978c50cb2f56960312d928cfd68e96d7aa00f34eaafe6b07839ce033a414b5c111df57ce199996da1de590e39ce81f51583309efb40ffb29d86c5e90311c004a7bc6aae8f19987cb9273e46f0298978ee2cbd019d078334627509507803da25566dc7267f941d1a500b2e7b89e1316d12a74081a9cb42e64b02e7fbeaf103f083b5f9e469b880139603694580ba2ab52d0d711fffbd54f4a8cb69caf6d40003ea8289a8ff28c9f81f42259bfdace45497812f45ca1caf46d4b5feaecd1509740363dcf4ee70f25fc500ed2f1c7e3491d30bff8705c9b32560d482fc687edfba9603832b2df277a91e51f056d770fb77bc8a7427cb8fd082706e42e76e76b631833300581f0221a3a4c44115a16d4c2adbfb5f2f0e090104c92e38c81cc8331057c2479742288c0392a775c84053bb32f7494327c3be5f296562ac85eebf439d27a450c403da49f600581f02a31505360cdc4c705c74b27898dfdc486601f161b9d729abfc1218668c5c5820a754bb412da7957045e5b17ea485e3bfa7b215bba7b501acbf8fa38fa83e045e00581f03b166f8164a3f11e9fe27454c1edbddcebe6fc32d21715fb6dfecd9786c004465098c3700581f034891a701dae8fb9f8dbbcc61042e2bc751d763c0c9e461179caa941ea8a042291b00581f0399a2359b497b38c13337fde00d59bf7804791e57269c661acaec2d31a400410100581f036f3ecfa52d091f8c43430afd61ce27bf5fa26f7344e5e72ce3800176579058202d2009bed01d94a130150e62c13c44f0c7a5272e65c610a20ca25b5b08152d410219c120032223d6f004ec85f6f8e2ecec16168a8967b1dfe49f3a5733334d78f42709525203116d7dec9a2dc88d59360bc1c0ec63ae75012409013a82027d1d255743caa135032181c977f8a2aa101447b67526664ddad1053aa0fdfc9a6c14ada652d350b0f703da04e5badb55f4b52e6f55534450eb27c103c77bce664f409c9a33ace0baf273031ccc7e671675271e8db66c04836c91bb07ef1a1b84695ebdeea447425bb5a4c503a0d6a7e96bfc8de2236c785a567dc8477042902580fd19a37ed45389d935ccc603b063d68c2dbe34fe932e0ee6046d7db4f0c89ca0f7755d31de5dbaaf3f5fe50803429a3b2f0b776cd2152b7c9d02c6692f38481f02798f2141f44c88a63606504e03a97b664c60ca9dd4edf09fdb71b260162a09408db65d0ba62e81e6b25dfa8ee600581f02403e5ec3cc782daac2777cc0aeae47a4048195e5348a376a0f2473b9fbfd41010219bfbf0219ffff03858209b5309b54bf45176316e0de592e575f20a87a82c349aefa2a83c0dddb1d0316db12cf23b69215022b7135e6c4e6e4d2306959f368230708116ceb141fa7f903698003ada01a3b198708265f81269143615ee838187fa622abfcfd2afb371a4003eef0a8dd8529820500d38ae59c9413dfa377aecf51019ea36ba5ad803781bb7903469154a005be5a465debf68c17d90a26624b9040b6c25d89ed1382b666e90d8303d14d582e5e5c1445fc08e7ae5be803f4a361477cb0407de83ac35df5964637970301ae81bdccdba2d2844ad87b869aec6664747efb65857b4c2c33b09dab0bef0e0358a6ca5588102fd524ee4e1af393d0b152063f434a9f1edfcb1022322b9025f30219ffff03a953ab542b3c65a3c442d5d0a4ddd2af2c354dc76a87dc1d90d3121a6a9ca2f103b2cd1050f8cb89d39c3b610f02c80f289ea2c1a0ebf4a8010f09497021e00b0d03063e5a494e871c699b2bf3faf391dae6c6bd1ddf305a31e2137815840e20064903e83cd57710ef73ab2d01f1413ef52815dbadb59796133b6193e43f4737e1d97803ceaffbe4549a0c5ad6890b5dc6287f287e67ff1467087c4ebc8141f97beed16303d2a2808a436f767209de3bd731e9c4c3d6c190be91090b0835a0a1abc62a867e03d2bc1748529ace4a75c5e18a20c9caf60b5c026ef663d5f4e2236f3b03dfc74a0357a9195b4d31e7699db5d062edba28d580ae66470a217ccb8d4a4c2da3a566e6037e02d619a12f95805af7661f433f50b497795f9ca6bb635412e4c7338e5ce4e503b68287abba386b585a5dc55546d1f3606bf66271c62bb8109c60cd4f9b81232c035673ed86b791ee25fb0ee1e804a2c6ee2c490520f61c7b8c142d6fd22b84c08403e2139ff1477b094b0c9363b9dadcc7d3a300dadcece71354f36c9963b1edebf900581f03f838dd49485706f58028cb19bf0004e1a3a0c3d403202b8ba1f25e5b733058202f8ac10d4834fbbb364a7085168722cdc6f529583a0825f8545df6252313054300581f03f8068b08230b0c9c19ebe7ded1e39df3df204c5984ed911891bd0bd912b044035053f50219802003be7d26e11572ecef4c4a078a5668a1c715d81a3b5f9d7ca2228ae7918ded396f03a3e46c51aa8660b1190fd43f33ba901a6630c37a4f88c2adfa01f4aa64348f90032ee8134dadd29965cbed0d3a269370045d8bc1af08b9fc9c74abc5b91e5b76bb038b23c56270acf5482b0cf718c8dc75974fc6fe91a99839b35ee078275de23f37031da7b247c60a98c892762ea8de8f1606ffa2ef5d7cdd2989c4f090c56ae91f18032dc9550fe941d8e8c171514dc91c8b0c00434e5803c51ae972076ff6e00e1252032587b484dda3ed6dd6442d38ff3b772151ce087cbfff692f1276312420640edc03ee8a5efdc039c61d92154a54811e8d8a71135fb821a43feae9e00d3680a11cc00369fbefb516a0613f0b71486dcfac321f329882ac413a9fa1d3e7fbdcecd70ebe03ff71254f950296d3897f5fe0ca56925560ef888cae57e6f4dec3b0aab7cdaf6d03a4ee118f903e70a6d9b1f38894e1937479e5d0ac2bd86f5c7148506ee2c8f93a0219fbff036f83ff72787e48847b4217a7f1b193eb4908c8a2798e411c66713ac413fd2d930394515e4cf097e5498b0fd8c15690d75af7531e7aaec70250132706937c72f8c303389a61eb5899a9e2038723663ba0c6e2b3929a8ac8a3ce41a00a9645739d670303760b8e7a6b782311f57f973d2330144edc88ba4f9d9f9e27a45042d82ae3bb10038a2cd6340a7ad0daf74e3757ed7d02b109513b9c22ed8e888aff7bd03be9b67a03a77bd27a81c8804e57a84192471de2672d9f068bac94272c203a9ce27ad659ba0219ffff0393ad18d0fd8c6369f0472c1bf6794cdc0ef22fa9d4f3b147873bcb806bee2dc303a1e5a15b2423f5d254b85a64c3effd84162b1646c7d463aca2c8af878787680b0307fcd233d51dc2c6363e6bc4a28f3bd79b14f5de63c0bd7789baf08171831446037eadefce06d0f90f3e134fbd22b879f7aadea59350cd04c2c11f725c8b0ed0f50393e1b81f533c2dab2561f50e9d5fced9c7dd1044142b9d4fd8d4a3d9fc2cdba303528b2c6e4a15c1ae55a3d22109ef42b5cf4c3bb1a3346f022bb9b254e28617b7039defe30e153bb9cd790fd39755d16e4619cccae1e4dbeac05e003c80fef903cc03f9b0b0f9f4a7f897a2fbea1895454e86b5f8dcc1456f6195bb309466da1d513703bd6ff4834635a5d14b471440d3cf4cb9cc2a8866cc13c833aa42c67fccd0a6e10324803a73847302d106eb144055c164971cb82adb3528ee5703b8c93c617f2b5203ee8ff52abe4fa4041762a338daf4799e9bee4199c486fc066fa608c70a60090703a486fb9017bb13e4b9ef75dcd6f5cac04bc4e9376a116f221296c892bbf26931038affdc60913a1efd78b676a9ec9200fa9c86e4c7fbd97d3b73dcc70f5fc567400316d2c4eef29d3eefb22f001ecf585b913e676766319d6cc125f5b02880e86687038004a19ed676398a1dc57d62638e0f38a6fdefc1ff216a4f9657d7eeea9b012e03c371824ee2b84facec0b77825b0ee395b0f2b41690c071c77fedc6bf005e92aa0371ec9acc1cdbf773102dda3f27cc834623ffbbcfdeac05a62765ffbd8dc6074b00581e02ef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d541872ce78a362c58d093ee107cadee2667b7bd99300581e0222faccdccb18ffe89d26696f6ef8c513b87047d2cfb83d7deeab49887c440315912a0219c00000581f03f1f9079b508278c5a6d25a73cd9d204a7c321b9009d4ac3044a114a3bc104401b337bc00581f031b6b1f66b47ab99084f9ab90b845c9406337d7dab16d3f6acacdaa958730422a4a00581f03e631da797345450519546bf6a227ff5a7198ebe3a139d121041440dfa6b04464e7c2fb00581f036d4cf5afda86f46a64978bf8b416fcadf978f789d8856822ac2a8fa609304288c200581f03e874e9e6122059adcfe5719a58707a1f05c61f344d37143c73e7288528f041010219282d00581f0242451e023ca4e464e7f3406d6e35fddbf7b8a500c82ac9626823d1a419824401176a7e030f1630fe022c8962b2d1eea2ebf4033a080a8eb3c1ca55d1e9ecfb2923731c4e03244f18e4bac37df93f659930a771d5728c6d65a1a625e6c3cee04be1ceee642303e8aebfd45a9436a18e7adeedff37a775e58c21ba0d0a972f787c386ede697671039c4951484c4bf554d257f3c6565e78b5b80979b12639021b2bc0ade83649090a00581f02dd73b3cc540bb6bf08f5f07ef8cd5407fe5941ebba3099e858595e7cc03f5820b9fd669de485b5af23052b9d145eea1cb4f7797cacfef6cfb21fa67f48548fd703dda7311a76493d0f89bd02137178ca412c954d2afaf3c422504779c86937183d0385bb0527044a758fad0c0df3fb83ae3d6bb16595bb0e7e21daca0e96d8e2a9ce03bc487fe021eef34570c2ec0cedebee8b1dc76cade9a8ab2717e79ff5dfa1021603cd39626b5c7d14e4d123d9edf25e6440badeeb70f91c560be1e0ab64bd0a727e0386b951832630cf13ce93ac488f86cc7bf74e8d29b0c1f751e7e0d03635cb23ad0219ff5f0354707c623a3fd5e1433e739a2a3caa9bbf851d04195169974849a12c3f15571103f339152652df15cee0c33bbc9b6d64311226652c66d39e9498e29c9f67c80ff4032ca8bae36b9ce5ef134ad289c821f89f45bfec345e502f3c3f968f99558af6a803050475ccf08165b1d0159d213fb43dd75223b0e0b33ed885a96c784c9798e5110219ffff0337d3a752844a1810beab98834710a600451b1a052b7dbe9e97df50aff4a0c6bc033cfcf6a5ac8a1569b5d2219381b0c367b72a356796c5f99684af33ed7c0f0af003cbc5ec924969a40ed2f901f7c3c3324ba334f1626a641eb6063c7837bca28c270371fab982ac7f10de4249be66a23ea6161b99226b4a64f88f88351e68dad2c78b03dd905978b6f114b719a01b14e732e93c424d1e145d2e37c88849271484b3adec03a30229d38b38dd9d80709671eb132afa7800f2f7186cee20d5d6e2e54be1aa3e03c7f5fb4e334318f48a6924f5e40b07049c55255509131d8a032b190b6b59b9370399b107228eb5dc1ea66d4fc085e33df34cb1d7ae71041d12f0e29d6625b525b803d2d12b525e4a1cb32e50df3ef05ab22e0f1ad407fed52ffef91a9cfb37c9bab203b27dc958432717143557a4c0f56062854cc93d4e9c251b25746b2d31daa677da0219ffff03ee14a1c8cc295e62f342c7e2f130a45366a9b88f8b4963e89722fd83c1b735ed034e31234b444b6f19731764ed2a48af8edc686bcbf2636b853cb503c8226dd9ed03e9cb8ed5badb10a817bc99e99c75686a67a5a8b11d9dcb02a662d0a3c3bb5ffb03daa192b0fd59f04d0438db869be9c29a2b578cfbef81e19add169fe14f618dc50399fa6f25dffa92ad600bf99414e0159d2e3c33243cef40d6f0e0ea5de479ce8a039d5f3f5119608322bab010b2abe0dfe166851d811a95ed73292c39c5f1548ce603627244ed15c732e548559c7525a061edd7e462a865c77a343c2f7064f8f9af9e039e26f60810aa217d0c282276b03eae762b76f2f61364352aaa5ffcc21c42adf70349eafb55305d27bc301c98d35bb596c5aec64778a532ec9e6a6f67ddc52564a9038a46f7588b3a0ce05cee6345ff71d35d3c477de7aed364889a231c7eeca3d21703bf987b69b5db24e79b83cd896fe755db9ee23a9a3e3283a9b97d84746ded78170378da6350c2a538ed5e929897fd0605c097f103cda40b2100f8d5fcee8c0dd4bc0385ac2c9b7dad13d35d75cc0af00970746e7633ed3a0c10091e44303694d7b16903ce2635eb4f7e080ed7a949f1bfc287735a42415b6953ae157d85dd8d9a851c80039ab2bfa0003cf59f9c36b5bddc27bda85c978ba0dca2677afee539f0291d711903e5f8b9dd22af310005375adad47aea718864aacb2334967063f4d4e8ef56686a038e497409443ccc0e769d33cdfa5e1ac9ab7e84c7d62e2bfd9083f2c041fa12bc035b279056445674e938ee2c4676a1a6288a4bc0cdf1421b77e3cc55cc9d3e88e8033245a4591740ab0233565af3b4dcf419a03594c0412a68c9be6ff3f732d17ed4031cd926ef8464f25c1ad632457ca9a5e85a13138fb7183fdc11dd12367b2888e803544b0425299e956eae01171699ff90770d68554ed55360efadd8cea62c4e3ef20301fd60211132bad381d9e06314b6a1b6d3c862f4618ffd3be44ad21b88a48adc00581f0270ddb2e747ec3bcfcbc38dbf1bf08a185cce05ea7a81eb022df487cf3083440115eb9b03550b2deb0c6cd9bce594298bc12ffdc2bc640af1674d374a4bc96f2175f162b003004ddf1ae5ce947c3179f58dfbd780b3a2869eb2db451d74c8f2a8e22be1152e0349509e0c07f082239db5cab67f4e880132fa72e9aeadf53c91eac5c74c7130b003b07970f5b2982b6a23dddaac4f443e07e99a8962510e003edcfb876a0b3c1a6403732fbd0d485771d29ba7c9d802422ceaa7ee2b69b681e794d0f7de99504ba0880348d6739a509e19b55bc0488c4e50b9e745818ed2d7f9f6f05794a05ca1c5e11f03bb8eff12d37059693b3aab516436ec9850c6a507dcf9614c4736e8d4ce41d0de00581e020d38ae69ed80917652ebee257b8d0c814e854d82275132d91ac3196d5a410100581e02d6cc9208e2e97eb41bafb7b72519433c03ce1b6e872c2f954cc06ce53444012596350219010400581f03589bcab6096c25f494840568f2770f1eff84d61aea27984b5c54ac9218004101021928000219fffd03dbc70dc8804091e698d8a67f5bbcaffc3f92996c5d13caa3269f3951b11e1a1d039461e1652942126bc916c1149f0448c96d62c72b12963ddab2d5ceaa4635958f03643ee6b0cbed98f62ea7c9e5806a15fa20b3432d9c380894b6020ceca78d9d7d03e2678520dd67001a70b5338342fe6f0df29d3648cc0e0e38bb4030733a07cd0d034e3e9de972141a14f4b99651ae271c4bbfad11f6511ab1ac22d0237af3c74d6103f9cceab31ee57fa57a5f03ff478e3bf51ee8fa907f58a0c3afebea1ea03e4dfe03b82d064cf62e3e48ad2eb6d230ece372804de60a1d34df3be91e4f29e3ae7c49038988547f6ba1dfe71951b4f42b94b4e6b90bc89f9d64f71da6db38b858e263740394066f88c704c5a92346769414c2ffa3295331ebdb8ac541f6edcca05a7bf3e303a2ca236771af18b4ccd4f7baf12aabc80b84482874c9e3385c1626e9d7ba99a30219ffff03c7a6a07a533bda54fabbc4bf972370433f020e9faf24991a47388a4ea78747b40397494736d843a42b18766709cab726cee38f2c06cd6ee5ebfe06b8dd50217381034bde310299f3155338b972edb8146da8d59defdbf7272887a5ae83d210db5b6e03d01c23cb9fcd3a08d67a3d6b8b6297f081efab941baa786fb14b8563befc94e90219ffff03904f891b0c633c13a771c81945d9a834f51450878bfff0c204778ff16e5968490357a659ab34b601b7ff6e914585aba61637a63dd2a1b0291323ad9540becc0a4403a057720162a8d206a02a696aeffc0551746c58664ef719df6a93d8ddfdab3d7003559933d40dec6cb768986f97e2dd0dbebd6cf73f0e1d53d45bdb42976237f8b903bfc557afebedca295e5c86e8b73c78a1f91386e1948d7fc20b6082891a2f519203bf17998e9b5191118a97fb17d6ce968a3cd6263d16edd3550c11e609bfd711d303d1814f85eb8509886dc33bd75b4a781189433fc54553fa1c0200430933c4640903bbedfe2b0398407f12dfa91d2ad2bdbe411677bc2c666c9cbeb30f763a7395f603a653ce5726387371310b5fe4ce6b25ed025611c24e84f9ffab4b1d2938d19f020374583fb020cb44c9078cb26d464d21dcf1205b87940dff5426838ad97025870a0359c2dfab1a8c80b000a833a0d9dd56f8e6c735856f50c0b8dc2f7c731d367f0f032d60e819f0443a9bdef23f5cedd75f6cb18c9f0a09c3abdb1c10e6a0450fcf3f03a621c8fc40a507f74bd96ec37741835ffe0dc3b74ca6189c0944c7a55e61368103c05a9c4314d3c6567e61f4620b4c4bab6eae8c0360fa0d3171a0073ee6f3b0b8030a65546675feca5b0989d7d55995128d1e2c65ee15b276609318b9dc6f8e97d500581f0290c73ef5fb528d84b19618d0f87a6122695c862c5e966be2adcc24a391814401168dbf038fe0591c0614cc3f971227df72443df3edfd541e005890a7ad5f1870e054a09b00581f02c2f0b2f257ef35f352829bb8b7c6d38e4b68d711e02c2354f393c94d5985410100581f03814cd2b3e03aee85f7e150f5096bee9055b87e69a113ea8b740a61881fb0446504e60f00581f0390a68710c9efb6ac3976270e7fc1c02806a2b6d7af5acd59e28f732288c0440121e99f021918000323af152ab724d7e2c911e6fd1b373633dc9bb36ecc533ff4b190790dfcf580d603b17ba741e00c817f86a72f4e28de4fa6d031db369c57f443fc0970d576cdb41a01410d03499d8522f2b76cdb2d3f0fe8289928a5ceea7dd568037df91ce939d2bc816bdd0353dbb642ef1510d4750f8480d3d3ad901e9053fb5b6bb7451e3d214e71244f6d03650b3040f9227b2676849cb9018c74f0c9141ca75bea55626a97a27d8b9ac30a03a4df8833a89be04349b0efd0208c7adffc838affa3aee9fef906778c9a1f3af0031f79d807fbef06fe49fc656cfb61d1875dea58b6f11822c3d3e52da660008d8a00581f0268a6b7f4e9f8f2d19310150dbcc059d9d6f5099b6bc17774b16f79622d32410100581f0206d58e50fd68c24a2b529be19901bf45446eea17fd32fe3c94f4bb170573410103a1ca0005220e5cccb038caa2d9b0a351b3bf582b72db7aca8dc37716c7b63b3a02197ffb03e08a0441010493a957a775e68241a987a5738e6fa2ddd4cf31594ac23a2ec8db03b0e5244f06de4c1ac863fe9a2ecb56be674f8373da6bd1ebb8c1bd1b2300ccc3037ee6d76104ea7b9e5aa0d19ed648a7f17a99a429901dc336875716c2352b80280219ffff038cbbf65fcf011b4be009a385911eb2bbb4fb10398b56e4c5aaed0bb9ac27c3fe03d3d7e0f645ac012b00a34e03916ac5083a89fcfee57ed6bd8068b279161675b20380a63d2cd0aac46826b863a7076f82cc9e05357af569c2c8b3265b5305cce640033f4b24f5a3e2dafc15c47dab683b53df72ec04a90a91bfc115d1878fd820648603a09d014bb035ae1723786fdf311849422e6a2a51d5e2817f3125971ff8c6f6300314ad4670e3b425d6891c3b6a9c863b46e30946d2bd0af567e6ae490d1f117bce03fb383ebc6a29bf914aeeb1d59cf9791111661b46b5daa93b7d444b4f99f4623e03811ccf08634a0523794511fa25c4e90f3f15129a164ace18eb9c05a4e1b7d4780353a716cc14de16f94af08e664896d4e1e69211ca50bc253d8dcd5286f91432d9039652fd0479eefe62bc608ef8b6f555264059eee5585646d3d31b72b32950f26a038ac3be63623c2ec0f88debef42da810c761aa33bf95c23e1429b2afe6a5723cb03ab56bd4118a8929ce166f4ba29e4f8f44e440167431c8967daa2daccabc055a90394e35fe0dd200f578730ec5aaf5ad0207886aa3c4556fb36a380e77e22f31e1a0219ffff035d1ead71550706320b1d3bf809ba1776ab31153694bff5765fb735dfb86f39a700581f0213565170bafd671742cfc38495617286c4b5fe30956415b36f93d089857c44656c100b03828538aeb18d47e3e608fcb32c2b4cebbab82680274f3f67794dc8e09149eaa003807c39d7e76be3f66928c9f695033670f1b2d76b09053f90b6175009359d719900581f022f9ddfb8ee9724ec05788663d0ceb56bf552655a9b379a06f920353fa1f8410100581f02605d39e45152a46e521bbe33d950bb32cd598dae7635f93b9aa012d3912942127203b1f5be78398c41a7bc0bac67c91cb7f44c096be93ee70d8a47010f6974dc81b203727ebf72d90340c8a89bc638c9b325d70cf965f9221f7e4a814343855fcd7df303029619134e9cce4692282eeca43c957831cae60da22ecb083f16f4c56e77153503d3b7ce354e4106cfd80ad4a63b86b7ba98fd6afb44ea2788717a879d001d134700581f02e6602f4b8018352d7f9d166e008377d675e9ea392c5dc8f9233632262e7f420c71030b689519292a096140f64cd2a98cedc06519103a12704c575d18cac750fd7fe900581f020fd3f315243651bdba2670c745d1b80bb25c7841be7fbbfed968b0ed5aba42151e033bae3b12b8ced89bf2ca0cbc1ae6611c8036801d4c9dcf5956e8e4209c1cd95303dc7e0aedf69eb452e50e7c3a45a6b1cb7b677048c573557f4d110e80fefba30d00581f0255dfc16a3b9fe3527ee03b26d2a1c953ca6e13f18c2a76c50dd6bdf94a54410100581f0359d3ddea25d68ce0e42680b18a66cb750fd4cc60b7cccd709a19676a3880410100581f03083c32d13b0e504f792e0904cd704b71fddd8aec9408124aa497d1474960410100581f03bf024d990db5875e5a999be64dad92f3f59dcb3628c218fdf5e58dbc8c904101021944100219ffff03796c68312cd1ccb443e4bb52dd14769a01d83d165179f46b2eef40fa641305e003c51b1e9f82f9f431b33caa599c848b09c7429d35cee85b1af513a7d1d192868303326e9e9c646f6d3fe36c640c0b9d5505d9b6f04ef46adaa2978179fb5367f161034198a1d3bd4d64a22cca30a2bce55a44ee6491a4a758411c6c6aec42f927d28203604e8a95ac6c7b8fcd26c177dff6e17ee37b182284bc590f7eec6a24140633090353c1c8c7ccb5a129db9d4a735625eb2504173823cdee1d5f81979ddb94c9a35f030d19f31f256de4c2296f113c5b04aa126e12e6cbd7a09a92c4567918a778576f03df724ba353e1dad2d9b242ec0f4e1612aed142187415970764c8a4f8cf9f34ef03e2172579079ecb4a3119a1e771a933ab60373802f3d0101774ec7a520b3494d603b4de4f6a9ddeb9ac4dc26b1d4a42823c794ef3f2f61f098e23926402065d271d03c4d27b9b90e0a778a3e22e50f15b034982949ad99ed82324adef5df3d1ac845f035da8095fd252c6062ce916b5b4b292a6eee7e016482e0d8f9456d241c59210260333b82472a5e8ba4537db4f74fb26413f425f20bc430cff0a1c7dbe69c8f791fe033adae7714d4af0bbfc1c4362233aafb088948c6057df273c27d7913977a12ccb0354f6180e933d7b267424c03a2f30ab3abe5208a53e9603e65b74a33dea76a60c0219ffff030f6fe679df4c3da79988cd3821d7ff84d3322c9398d64a5f9b2afe812de2bd3f03172368dd81a5f7e986872b09cac4296297102a0a5e96e9e3d8d7cac3b8764f5103730532a4e0431a7a4aa7a00128501e1d5a44a5e32c3c075ed31a95e044637bca03b9a01fd331b01c64977c703e5ba0158d88673e9c7ec4e4d861913480fb43a8cb0385e532c7e7421caa05487219c729f31051717dbd961a84478f41e5965648765a03c9b4b1c2e247cd4666d766da4dda25cb9b589d86a45e7c88dda2088b1ebe955403bdebd437348338f2ac7ed46c378097d370b8cbb9c4418a566b3028de2bf77e5b037046d666b8f4653ffe43361c73170fcc323198ffe10c60689ef2367f6c6df92603afd5c6fcf74e31d7b672da82fa9cead83e76ecb988929e89832d939cf4dd6e7f00581f02dbe105216ab7cbd1e13e5de0045ed7aa26e168b8289f5b5c1b569398350d44030fe233039fd83aff7f6a610081c82a73371d0c9c111f2c473bfeccfda07c720b336bc0d903007e9f87eb0c1c558e9299be761e90e3ce5906f658f400bd28969dab04c6f6f400581f0203e056e240fbd07211c60876b6c76af833805e6ba238a0a70cd77a1d5aec44010eaba900581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b054d1328c9167e0693b689b5aa5a024379d4e43785800581f03d770a05cb6db4a9db50540590266fab8b1f063373375a38c5e9c681b2790410102190420033a5fed8a043cab1ae892df80c29c146dbfc87527409093c9bc16d012881ba50c03ce00194bb7096117ff1984e1a9687c46c3ce01147b5ebac9cbbe13a754f765aa03946ad41228e83b1415d9bd45ea1db61102d03188f360ce49c6ca46b917603ff800581f027fccb19533786f1b23ddbe586306496bc5299b1ddc9dbd4d2e90a756fcc75820ff468efd0f7eb23f6c135e12970f51b78e48da6d36931ea4a694510525d2ccf303361ed8284c89ea63ad98728a7a0d7c442b93780883e1f9c5c93a381e4f9fbb6f03579638e10d275f9baa26882298452244b10ae3c576d8e30926da916aae2b0e2503cd24470537b7f297f623b61dcce179aa411f8ddf02c255da9480c38cfdf7055a00581f028f48e8d8e1f3c41ce2cffc2cc2ada40c0cad8fd18712ed29470357bd7f4a44653c9dfb0219ffff03aebe542f66da7d1e56340b0e93babac7a3f5043adba37e89e4f1bd3f42df866c0300c528178169bc70f41a8dfcf236497ae99a735de805d67f10d961ed0086cecb03720adebcef2a51c7a3df4ec5ff380d68fb3058f2ed707e9ef2d05e2f536e057203c2afcda95aac35c72130ffab3b29e1cd30bfc74d34fbed1ca40e55a20422408d03945f1c87271549d7729964de970b4d144bb3766c1d59264ec232eff4d7f593d9036bba0df3b2287c156658134a06d2b2603343c30fc85b90261cb2bcea13555b41039cc0ee5b7d642b5dc500e0b8704d034dc83f179c7ec116c89aa589f01a339b93036cc42430e4e002beee62046bae9047361fd96ffdb003ff362de3554c1801915f033d891bed5bc388756add37da4d07dd62bbfe23171bf9c46e6517adf47df7f53c03725e65df466d84414a24f25c309882b7f32d95de0d16c125a0520eb866f142880219ffff037e70b97a22eded6b9b95bf9c1a51c41ca8b058d97ee75b986dea430a31915bba03647d05da89606ff80b136c2f9e352fbd818a9d1d4ed542c45eda07b6c30b6ab503901f98b1548a2ea4ee9bd0a3d72f9345f7f567ee03ece37e96b838be518a8d4103445469c411781604772fe45df4ea3af13c0993f1f8c01f3c87e46d68dc80921e03e430a47a2fd9c969bc9dca07734ec4a898f973c256b06e1b00ac2af3f35db1c703c4e7751473c5923806e3fef7f1f740dcf957e57e09a7f9545d29b7711d0b706e0301f98cd63a2dd3a0d5d0228a98280ee7945051e3169d610b46af507a0177fa1a03d2bebeda6accc33ad3b9ab9a0831a658fea00c1f34e8444cde07c686f5583a7a03b5dc06288b0b1178ea1cf974f8d82ad485b86744c589bb9086961e288c9f20a903c7cad933e6f87a88e831aecf79464cdc208f2d539c483e279afcfc21efd4950903aaf2eab2dcf262c2f262056755164a43122c60cc28f7cddb871e7518ac6e74fc03cd1037ad76a9fe0fb07f417325886e10e08a2f9f531ad3b9d465eb9795f86f3803299e40e0d23df3e79ff3aaba5b6b32efee03512d395e2a6a4766cab5bd79b89e035a137b634ffe6d558ad2050369d4e29eacba5c174a2c67ffdf1c259fe80bb75603a659dd60bd189826a2afa7b1f82507cc4e77d69c8a1a47d79569ed3f0509ed77033acd8a5b05d5b6003e33d6cce7830e216e3c15419c5fa4325b0c1655b71ba183031d81bdada7b8ebdbc5e27baa3ece9f774b46b8d5d6b2d5f646bf00cf98bda414034434b3ca381bc6e2b6201c74530572bac3421af3089c74345ed5102c355d373e03f0388d98500702291698b8f0ecff7999c141d73066928bff93bf8e0a47f96c44033a47c8819b8d4bd6a516fda03e9616dd7e4e4a18774fd9fc9bc5d511f228b66b03d8f307e764e6eb37d79bc28bad87084f27c1a71507698d6354a003bdb7cea28103ff5e79bf1395e6e92ad8e08e49758ad04ea2b70c2fbf709462a7f2608978fd3903bcda0c5cd3692465f936087e16eb2804df9689f24c92f555627d949d3b467820037a280e086f941848bd45e820faf8476f6e7e29a70e6b9b463e16ce2286ddcad0038bb75373347262db4b5dcc43e634774a759078344f999816a7407a54a4c7346a038d02b22492c23c7e74e3d883429e3bfac9219b869fa163417f95bd106145bc8700581f02d4c5c54253a53e521d0cb1a7119d123498225be9ed6479e9c31ac4907c7a5820ba19d2650cec9a56be69e84fa98681aa7d4752ee30375e7084f8b9b943ba32bb035008a74f4c7b1bb21e10f0a05907020aa62902266331d00c39286fa5a01065f800581f03cef57671537694405c68dc0b4f932ea9c5cb19fd2dee5e887099f5b04010421e8100581f0356e4d7f4a2bfe102e4c97b6da1c4bc13700970377cb9d2907a24d58f0df0410100581f030b2a94067bbf022461ff81918b57f00ea2f6819667ee844d8355787c5e60446599121b0219111000581f0202424a141e8658c3ababee31725265a1b1d43aafd95b1034b235a3b114a144011ee95603d0ffa2270c7351801be3fedae036d50fed56253e1d815e5b18f54b29c2f767a900581f02adcd29b7807c7b2f564d8280f0f1f4a7544d9a7f4e442c3d5a93c247ec7e4207a503c697828fdcab09b9fc91ca4a25c72a56b7709c2ac9343f0901fd5aaecf372ef600581f02620ca3ca3c794764018fbf62e4e910d53f46f5b10facb9db63a2df96e211410100581f027f801bfc174cdb8f967bc67915c701e294b46b65769803af0cdddf276018446540369b033d8bfac24b3cf4aad5a1a706dfadc4a853f83c9675210de86f421f165335ca2f033000cb072ce2a5b640207e08fa39ce0693d40cb7ff79ce091b3a3e9fefcae25e00581f02dc6aa726cd856a0c23216adfe256e3bdf4fa05ee33ddfc22b0bafeafaa7d5820a01714e6ca087de5fe1d4b2471933ceec4c4285fd01ad4bd6cc3a0c175eb9d2c00581f02f87dc90fc24b47cb3575b1c5c9df47be8c3b1769a13b735e01d07b15191541010219ffff033277dda4f40a021ff8820b5ff4684eb74747ab750d75ca6ec3eae783f86dd6070341b13de590e2f538622b4fa33d2ccf4bdae89183db8983592c22f49524db7932032725adbb6bb2894b122b3c15a07356d0445366b294b10d66887df502a899cc4c03d7833fbdf2a1077c6cb6318bcd5c10f4eaaf535f53c5b03c0561f8bb771528e20219ffff0219ffff039b84c01cdce4121894d00e505f48dedfe4ef4c08622234e8f560107793a07fb503e15e69ce89f498e5bb7bac11cde3ad44bb2cab8db1b8f425f29dfbdb3369cf93034b2fb9b8a61d32cdbf77a6c6f1c5470050b928490771d7de7353f017a7c79ecf03d1c8152398bec2ee5bc31b004b20f7c269ae9ea6a081d4d10bab61e4e6c120be0306e3365b446767f96d6a2ebb4a99b01d09b742af909dca1d46f30e85512d0701039dd82e01c785cc59ec58255d21b4dc4d423a4e4f726ebadb784c73d17250a95503c76e8ee7bff155b89c4514972bd56d02b9a9303b1f41bafe255c0115e52c830a0384b64f13a8a04e3cb8df2e0af96dd70f1344aaba3f1ff932627e98b3a49d8f8e036c1f7ec3122044354b9858686daf7449ef8b2e61ef522d2136fa2f1801697f0a03d9fa8be4b8c556dd200f4110e90842f84fbe4f0bbb1d99f34b31709f3928387c03dc41f74913e6890020e6fa08fd66d0a61d3d0188bfe5407e36a39f8aac81263c038da2f914a59838d042b56eb2c7f528e503bb869c3a932544f939f1ffc3bdb2c903d244abd489f4324e96bffd6eaadd1998e6713c64fa9aefb8ea19bc48f695d83f03c602108326c0842253a21457a54a99eb10597bcce2d444f709c71cefef7fb15703e971b86fccde008cac60a50377090631a54d2835f18268798f361a5ddb810067037f37dc49d509924501d1b7488f4f555c08ed4443975268e15056491b0002371003ec99e14b831f5369d56abbab6eb507e36f3644a804f498f324a339f18f5db912033d25493b035745fde0c70cc9cfa5977b220631e8f414cf9db45786909f30deeb03d33864e537b979df1174582a276809c0973acf45faa23c545a7f7ae01e53848003c4443e1af3528f9b55fbcb67505378e591d6f16378702237c682622bb315900b031d0693a2d9276125fd15da46ba859ae761ab106b038ef03e410669f99829d9bc0336e19b08a48e5164168a693599ccd2658b821516c206cf5bc6080452e69dd37c03e0f91f4931ec1d40d57e2846ab27ed6e630a0a57f000cf8f70b4c3ed4f443c5f00581f025c34659b8709d688706a730edee342bc9aa5e183b28830791a322550df8044654e808b03360c4b63004184f99c3f0248ded341d4779b77b6fd8683759d151e36dbcb95550371798ed83b8385763e8e90e93ff5723bef2a3a96c86fc77998ce6f7088393ea300581f02cc4e52c3949114998e1077d45d9ee87409f9eddee7ad4c1752c37d912e9544010ee459038113aab7bb6f8faa293349c35e1f9367db6dcc9ef22a58eb1c0ad3be23310a2900581f0219f62657d5edeead649f0366cc9a825ba0085d129faf675e8f98f2bd0507410100581f0397c2464919b7dc38d77731a8d7fa586b1b04251f2bd5644f9c0cd0819f6044653cc7ef00581f037e27c1ac16b1a804bc1e751020233308c464e002a2c04940fe68ecd7a8f0440250f10b0219801000581f02e3fa4525f8c374bb966e2d5429e4e8569c436f4cac4f436da16595e712a5440121d76003885d2c3a846abf0102483c092909fd688d3305d960cd017ac6771e54a082fa6103f3e238f1db48a58031c0fb9a782979f342fe958eb5f26b7237f17a12f95edbc7037c98451a6d8d8ce1f2b4cc4fb627628e19605f702d819d4397030f8e85c97c250387e2d199da7f57ce6bf68c6b542fc43ce67d1c08b92db54589d2e12008f1788003b08e458ff1f76628b365cf61f368d68d5c517b4036b134e8e2d02b52d0832bcf01410503325fee5e456cdf49742e5a08c7bd05be299b489aad608112c657a77ad0bdb5ca030002cf3d5bdbc5ada19a343b9c5f0a83b7d97d691de20f1cfb154d620c67997c0339e8f09456767f280b55408f2f4c9c72449e88a3fc964ffffb5ea462d05e61930219ffff03fb3de6d0d57d262c531c021b9257fef4f43079867aec53a84424f709c7e7903c03abca170001c82f77bfcc073e5ea195857020626aba2f1dac497f6a00bc5128c303a08c36de96f1d0a885133ec759c936de67eaa096712e86c58ce5a13c5e1552ec0219ffff0344e42d07c90db51a3cf7c0d4b962c42dd705c81c2751d5ab9844ca3f574eb190034c2c9dd95c23f4ec42efc0e02b21f87dbe8d12121f7c4b4220b9604e81de941403a5a37baa4cdd023689f5bcd018583f0c42d0edab6da90d2abf0791df3730b84603795e05ada48485aa1e0115ea08afe3c54094686574b60788f860867b1c063454031be9ab6d686aabc718ca67dbd0ec6553892e8d58c2c919b8bf065987975ab28b0330d74a1501f67f9df372ce26e7f6c83505d95b89fb411f0c556405565383c4ba0219ffff0219ffff05581e0315b2193879f3ea4c73497a76641599f25b392cba6a7a4942f439876a80070119084c05581e03a1261f0b33ba82439e05b3585ade911ea9b258db550da25856b6ec68b00c02470b12da67f3840003c38e9b30e736f5effff68e0e9314230dbc90c36737d1a2709b761ac31ec59fc205581e039f418f37da04081fbd9eb7152938002e29861e74fe11063ec9453e2280040305581e03e35bd7a107f03925b135103781824f3b312f72786ba1d5403b1f35d6100c03464356c7e630000373bed1eae7c97226dedc488b4bd231cfeaa5214556454331ce2789741477ec9505581e0303170e0bdf1297103c236f558e9f6c991ec2ecdce72196c067431d5b900c0146befe6f67200005581e03df5f0a2578df0fd9164215e0d1cd6371a284fbe948f34d26098978589004010219dc8f03b9144d7473e3e70ee3b9207065e5ba41624a84f57caa103c5650825a9e6ec0a103dd888b898516affd8f79ebe781031d476e8bf78c73e5adf647e2132f667b1c5d03935c6e165c698aed38d19c5c9e56198f6950ddf92cf065251ebbaf5ae26c5463033cbdde7f979e13b5f783889a97553859b94f9295a0cb84eaeead7740df6f061a032327bef6db7edd33b5c793e8e09402d5084e677d7942c1059f7e17f389ff717403b4a74249fecc17f41af1a9fc57fae17481180e017bc9e1f7dd58953c0c7a82d603db079722558f609b947b681fa1bd1b7e416f7b412cb3e808dba0b4633c837158037b6de07699dc155d3b503454a10d8b0e12a97e9693141fa23e2b12f12e980a4a0386ead4997ece00fdfcdcf8877d6c3044e2430beca7bc83a6a891614883c53d45038ac851f4c3b826e87b272a67a1d9bf771acf7140e2ef58ed3ffd1153acb6c2bf03866f7007790acc28c89aa958bf23714955de1ce569f613448446681f4299cfec03725b9b39521b45e0fd2f2e2ccbc68e0c112cb3a21a0bda8bc609bca8035130d7035bff79a5d1a40b84182d3bb092e5776e67a03edd5e8c2ded885e726c91299fcc03c71599ff39a4b6c90ebfa87dd4b114b4fed5cf8878881cc27494d415ac2da7d703f329629820f2bbc9ade6cbc6472051497a4face05c832a62832b9cef6f3902ba0219ffff03345f17b29e6efeaf7d0af7c9d3fcc035cfb25b5232283cce0a97f60b1cb2da20033ede3a5cb6af9d50d1af3b83e27e361979850c631d0eafafc5f30bf7db54c759037589bef4d1c1ec3b7cf950e633527612325ede2477dd7cabffea6f5a1c12d0a3039f6c9500d01639d3dd1e2c95d059a70f54ded70adf7f50c1cece738d2702a817038bd823ac967e4a7658131370d0d16df2021d1c29ffe46588e17823e07ad81b00038958130c5af0aafe7091fdae65ceacb7d45fbda1c8e618f8e14f61a4c655597d033ed7fd8427e4810b9ae10afd8f27737aa0337d8321c3766b2ec5267fa35e63bc0309158093870fff6705831ccaa10eb33f4447d1952d92cbe4352b24055b83248903ccd7f0cf312760dcd617951e53c1b8075e98427a0dfbcc9e2ecc541052a7a9fd038768041ef2b4c2b4a823ad0c372b645e9b1da8fcfde0cc709b518bcb2c624985037a643a56202d9b0c3318d0a6008f2b4a953becf92ac0f4c0e96161b2e2a7946c03c079d1df652a457320f3830fd3374b0b570f134f7ef3a0a4faaa5dad0f4cc9550315fb6465b7559d503e52637be892e7d786b4dfeb1c3b909d6dcbb2f0517a47210219ffff03afa9dad756c3215c78119bc71f85edd3b34b9193a1dc07610c664a5a5f76118e038dbee1f55720a29c5c7465bc9131a61a61e017ad94bf0f164efd8b917fbaf4620313848be6c4befa5d52e993c6c3dc7161927c4578f36ecf0d4c15465fbc99719603d3172c4a682220e315fa51442751e30c490be600434cd496b9835e9de50ad7be0219ffff0324b030b12c3c689972a6563e413a79a3e587ad657207eaa20bda7edcfe908692030c1f30f385e6e7fadd3c080452bb1830f3fccb6d51943c7e3c39cbdaa3d900ad039b0a33545680a03e132c49b5199567c54ee3fe3d23664579b0a668e41f9f37010343ef3b6247e59d3cc0a625a299840c8edc808646d966cda9ade69d7440a62b6b03ec455728563e23bfeb846c9ff8e433611b6127256d48b889951548f6acf6535103f3b931b7b64f4e7affba1a379d348c24fe3ed6f37d5ab9c5a963905910eadb4803efc205323646135596ae279f2b6101edc4a37fc475c5cf808344b3010b9f966b03212476b1a349f30c6b0c1f78781038fc011045255b7c34c4c9e69607746236100374b04dcd926049c134c938a58a8932808e682045458b1cb76714bb30cc49f380031c2adf50d19f0b93d0a9b42492300a8d19549e684655b8041ecb6edce0b1cea603efd16dd381802096ae4c98696045f0d53781f460c3eee0d29e07564f7f9d21e7039ec0e554ed66edf0883eda5c07fa65ae83c7ec9f96df9ae6c64009aab6425f25036e7cd1a6cec3de009f1e8a0ed77e8a1b743b6d5fae296a72749fd2616279c71803a65a8725a0f2be29bc044c35ec7876a0feb6de86a534c9fb2e53fdb4f593f77e03030c8bfcbd0d285a7f4ca51dbbed8650d2bd80a3ceee02b6f6c65f7f0d6c62e503aa38864fc6abcc4a9ff1147b97292ec28a5ec34545bb003f3cb5f1a5bbd07ba4031b6c76964c8bc4095741a9fb3bf9238abf0cc494e08989d364ba463c72d2b65a033dda98f30396ddaa7406db382789edc79d8082e03195b6f1e04e3d48b0a22d2b03136a77bee9853e36f92bd8c280b27b90a46a824b234810c3ad017c982030117003257ec0d3cea7b572ccaf045e04391cb8af8fb52db284eee1f83df12bf166fe230303058877fed102032759dae87f8929379f95c89e95dea76cbfa21a5beeff179b034ab25541053812ee24d7b9f4aaac5f25efffc14fba6c864b9c58ef21e13ed10c0320a67da6f1bb128ff934ad66ce880382e98f6f4158dd2b25c3c113893eccc07f03bd247431e7bf0f5d12522fc680b47368b38b5b28ad88e8f0c6b973e8b957fbb403e09a80a13f3f04990f221622695b42eb669c4abe8a3eb06c153bfab4d90eb45b03c0bc2832c6e672b6f8e285331c9510e90ae603cb30f9a63c4da868a6626a4a8c039d2f69a941c253c6028b9b004ec82d8bdf0ac186f66fb27b1579c0a3b378c4e403010fedc56d71ce74b7c41b51ae10d8a9c4b7ff839125312d5201b0290348f5620388c316a456037856f2fd22cb7133dda4e139845c681cec3c05070aafc3e15f500317e689530c139b22ca0050e2d59215b03b9f9768c5b50064a1db70c27f567f1c0375b22353a1b2f624e2b842887845c29dc27e9dc1aed6857bcda3dae9661c0f2c036dfd84a485222cd03400783dea71fe73342bc016667d330f7ab387d93d4288ef0381bf1393e007270a73189abba9f5681cfe53fbaf555ac7fe4e79ff3e1607ebff0315bc1de91cc265e9476e2a8f546eb6ba6d063b86d2044d18c44228b330a62ad905581e03f3629f11c32f2b17e8ff129d98d877fbbe8855e4239a41f0544b785dc0040105581e0343697244f5883a72d9772ae5566c0058f29b6c30093ebb7eee8903ebc00c014701983a297cab8005581e03e2465e3860842f6dc475559128cb79d778c1bbe9b21a491964f4ee90400c19039948060c465e7032651205581e03a8389cc7f2a97dc2cfbfd6a8d166be29604b164cbecda89fa7e58e73000c02447735940005581e03b06bea22f0d23965f8014359df3a3f0b1124eb8abbac516af8b15d92800c014701eb719298580005581e03485fe452f803a3c3dde0b86fc00ba94f05fe8351ee3df831f7042743400c034702d79a6eb1425e05581e030da0f60c890fc37cf84307432ca7881d70da2030fe8564a39d42d92f500c182047028c67abad7d7303b6a905413e7f1e4afafe6f18cb38af4dc9a5e3bdfd06022fad7d5722e3c5ac7f05581e0326b4c3ed3e4caeabc275ed047eded0385c636e7212de43aaca071a2470040205581e039c475d76980d145edb01703615d5512ebe120c41d10ce5a9eec2ab58300c1346ded9fd94214802197fcd03a88ef4abafbd43eb226379ba29d9a4b1ce361ad6a7f5c91cbee6e2304f26aad80317b83841be470bd02694fc0d62ec70a7c51aee32f446eec719c14f32eeba75e7038dfe527a3f7078f86ba42fdcbd7883c8a715b786440eabdbf1971ca6ce52ce810219ffff038cc4975d077d7a33c051fd538951520b0e1c13f4e971416a8b6855790cb8d8040377f0a6ee35f8a1dd68c3ce9ca6efa2625bea324ac720a4688cedbc4ca401b8a903330c3c175d6dae882348adcac56795e4629688a4a362aa5593f14c242a9467fa03d859e19f97542bb8bfd13fca3331ff787bf9fdf05763c6bd5eaea3dc2ff00a950371ef641b3f23762275949b67197f7fca0cbc0ec0fd56b5ceed47c60bdd0690a503facecd5785c4104916d4ebc77fdc7f034a488e4db42c1e4eb030d7f5a415db0803cc9a0992b4c36310ea64aae7c48d13b9e0574d064d522fbd225a645a908b70f2034ed40057e92e375e5b1fc0780e77e0d4cdb3d5bb6059d431d99a02b5369e9f8a0219ffff032ec53d0e0e6a7351c0562f8f40980de6f1e0c7021a52b625235a5f7a0117b4b003ddaaaae1fe939afaa910090a6b6d839b4364e3053cbcdaa27b81e7ae68c8fd870385f3022a3de8104e66f969bc2ac2d2d073eddc1346c61bff6d8b422ab714a8f2033169aa51f62d14f458cca58156159b25273745f585d1ce47dd722bfbfed1d83c03a1b95d580013fa22f697a0391c0f32735d7186466c11d82767b51b70819337da03ef33cd7bfaeaf4abb07c59a4b3d3f70d2de6c98cfc8b5c7906255e14cb29bef503cd43a165290a83fc7bc5d1ae358fd6f6dae1aeb96ba18a3ae420b205411d115b03d6b8367d87af3f52c7d9c7e92c03613dd6b4b4dc5d5966bde5f4e14b466758fa03b8eadd9d6af712bfc7f8a5248fc9a92543c63e104338c06dfd85370854d6200c03ed7beb87f558c4d0d3af93ac8e106aafe297bae5ab9fc26b671d78756c1b533b0219ffff038967841656911cca2f95c75444b0c22d37429f25cc975c6f928ed5c80ed7247b0219ffff0314ed060b247a203545f7435e4b86c58fbd739a787c4147aa61678d0018287f060373dca44591ee40bfa416a9b4214eb756a74d65b498fc13e5a332a75d1e5fd41603b6ebbd4f6f85805dbd8e8172f611104d68b2677eee061dc16d38e6bbfd31a3ab035980a994358e2cdb8317cb6a67b8b15ac324de0626a5340c236815b6e1c787e903eb1aed182f3f2750978e6748a7db47f57efdf3cc689c8570522042129a2382570318eb54e18e5fdc272c4810ab6c79f443fd2081fbcaa2d007ef7d86caa946a1ca036b9b62d49b4c97e284388af069b9a006b2861179b9762a76e67de136a3ad89fc03f1794a5abae4d377049e566f01ebc2571eea8b3d0fc5b8b9bacd0cb6e948551a037a0e60e494448e6439707154f1d3de8febf17aa500c81c151cdf655eec44afd203754bbdfad02dc09f39a2eefabded192d972645ab01b2c86dfa2e36fb0f7fe9860312ef4e2e071de07bf937db571d4ce7899c959c72c31e9ec83c2bee64146c605a033b93eaab06e671b9e3189ea3a4bb0f89ae029f6daff1d7964b8839e3c11b5631039c99bcce717e810188f85bdb18259babb6e30db99c9ccf96f821d2922652f158038b66010e3198efc8b25e2de474d5db4c96c9bb0b8187ac0a6df3acf6def9448b037c4c83bd4881cfa71f93cc29bbef2cf7c76813144d38f6cf9749d381c586429f03130549c1981fc7194a59e17afd83476dc7858e8b9ee34a6caa204a93582e93e50339dfab79571aa6e2eb12f46f11da78c808eecd6d1318af8bf63e946f76ce5b99036fd46aa6ec9ff51cd6cbcfacb3a4d35347401c49258f1e275a59fe46cced0596038f4d9a30f731474d1ceb35406291f3a7e2593a8607db9364e58ad001aa51c6e003eb597dd061469ca59262b8f8247f9ffe32f80dd97c61a34a93c906f75ada5746038ac155e189e74e0abfd7813cbcec32ed62373f49b016d8dc32a278277278f9a10367897ba5c0c1705599ec115a9b9a255090bd7dabe8886405ee75e4351b8b58e1030b8f19d5cbc3205d3ec9f18606bec59482de06fee2ed6b1b5d57e73ade401c5603f5aecc495440ad2111f61217f26f126ec1a7f98bb0a6b7ad1db04f20e2c14ab6034c8926eb534ca9dbcfc6e3ec19c1eb9df3c2be3cbb8da3df69065d9f502c14f0032e73bf6632e0f7816475d4adedab26eae443b3ecd6c5dd635d1b8d827b054b8a038616bcc7a3556d4a06fcce676118496876199891e2eaa60928b5a75167bc42c403161301f2eed367fc1d6a3e419e0c355b68b2eb9d4f5a44d235406cda764dc0e4038da936101abef36cc385904d0a90c9aa3c9ce0a6beb789855b6e887dcd5d8b7d03e48a3f0fa8b6f818b7ce24733c59d08e759667899941b39518864327d9bc63b803cc4b9e3b903d9ddf32498f501bb12aa97dbc0f9e1da827ed9a1b86805a24f9ae03f1b76c3aa69713a8a7ad242c1985668e54bfb5ff7f9e1c26001ae6f63300ae8c03c4241f6dd20e890b06d89cdbe6c81f317cebb6a62901c6a6fa2963c1403b21f5036b4570866a1239513f6c3b3b2dd3e2642ebc7f33e6fd38fc0eb977f0a817eba0032dd2941c46091c2174e1e7d86455dfba426326429b706d19ce8d823b67ff882603d2c3b2cb233834089964a78f99e77fa09ebbf173032b270c735736e98308990803a5766ba0a346f58baf08ca03efe48a2e5b4e71d528eb6122633205172b185ff503c13bf2a7fd06a558bf07b1d5af52949ec928978400dfe911b829822ba166488703aaa3225c3113b1558add8851624e4f25a1acb0def0202d28bec6d5a3e813273603c9b2bcfa0edb1510d75b3c3617bc05c5d8be52930e71c6e89b2275257e9e4f530397a77ed91533b912e9695cfc4012e26d8f9f135b07215c1e37f888e4ff98efcf0344ed1c63b7f53a9379d92aab1e434003064357214bd20820af46e9654a842a8a038dccbd1aa762bd2705f3d9a7f8c57879203a9b5c2d3731b99838ce29f1591ae503721895e052048bce8013a08f687223e4003f4955a2335059827ba4b475c8dba7035b3c1fa9d22e53553997e2d34c3eaf268eb1c74ed63df7292928b61ac546392b0368154bf93585fbac8e87d9f39d9c17713cd666ce3e370265b931c8490f9cc0df03ff5b4708b0069321ed685c0f22e9622af153c45a98be72fdbffd04b19d0c8b89039c00d0e4f868842dee1a586f654889ee2863747e75e0070c726b0c070f3ac04905581e03150e39ed48d9c437095784b31bac5d07512c0d19b88b3b9ae0a95450500c0146f9a3034d120005581e0393d2e2de8aa462c07b9881180b173ffa5051e2428569298a587402df40040205581d027b340393a0f829b98b0711a1ebc951654ca01651e94527e6bbb4e4a90c01471af1fe3b3f0b8704592aa96080604052600436106101b55760003560e01c806301ffc9a7146101ba578063022d63fb146101ef57806306fdde031461020e578063095ea7b3146102305780630aa6220b1461025057806318160ddd1461026757806323b872dd1461028a578063248a9ca3146102aa5780632f2ff15d146102ca578063313ce567146102ea5780633644e5151461031157806336568abe1461032657806342966c68146103465780634f1ef2861461036657806352d1902d14610379578063634e93da1461038e578063649a5ec7146103ae57806370a08231146103ce57806379cc6790146103ee5780637ecebe001461040e57806384b0196e1461042e57806384ef8ffc146104565780638da5cb5b1461047857806391d148541461048d57806395d89b41146104ad578063a1eda53c146104c2578063a217fddf146104e5578063a9059cbb146104fa578063ad3cb1cc1461051a578063b3e363761461054b578063cc8463c81461056b578063cefc142914610580578063cf6eefb714610595578063d505accf146105d0578063d547741f146105f0578063d602b9fd14610610578063dd62ed3e14610625578063f72c0d8b14610645575b600080fd5b3480156101c657600080fd5b506101da6101d536600461225f565b610667565b60405190151581526020015b60405180910390f35b3480156101fb57600080fd5b50620697805b6040516101e69190612289565b34801561021a57600080fd5b50610223610692565b6040516101e691906122ec565b34801561023c57600080fd5b506101da61024b36600461231b565b610733565b34801561025c57600080fd5b5061026561074b565b005b34801561027357600080fd5b5061027c610761565b6040519081526020016101e6565b34801561029657600080fd5b506101da6102a5366004612345565b610776565b3480156102b657600080fd5b5061027c6102c5366004612381565b61079c565b3480156102d657600080fd5b506102656102e536600461239a565b6107bc565b3480156102f657600080fd5b506102ff6107e8565b60405160ff90911681526020016101e6565b34801561031d57600080fd5b5061027c6107fb565b34801561033257600080fd5b5061026561034136600461239a565b61080a565b34801561035257600080fd5b50610265610361366004612381565b6108ca565b610265610374366004612479565b6108d4565b34801561038557600080fd5b5061027c6108ef565b34801561039a57600080fd5b506102656103a93660046124da565b61090c565b3480156103ba57600080fd5b506102656103c936600461250b565b610920565b3480156103da57600080fd5b5061027c6103e93660046124da565b610934565b3480156103fa57600080fd5b5061026561040936600461231b565b61095f565b34801561041a57600080fd5b5061027c6104293660046124da565b610974565b34801561043a57600080fd5b5061044361097f565b6040516101e69796959493929190612526565b34801561046257600080fd5b5061046b610a28565b6040516101e691906125bc565b34801561048457600080fd5b5061046b610a46565b34801561049957600080fd5b506101da6104a836600461239a565b610a50565b3480156104b957600080fd5b50610223610a86565b3480156104ce57600080fd5b506104d7610aa3565b6040516101e69291906125d0565b3480156104f157600080fd5b5061027c600081565b34801561050657600080fd5b506101da61051536600461231b565b610b0e565b34801561052657600080fd5b50610223604051806040016040528060058152602001640352e302e360dc1b81525081565b34801561055757600080fd5b506102656105663660046126bf565b610b1c565b34801561057757600080fd5b50610201610c19565b34801561058c57600080fd5b50610265610c8a565b3480156105a157600080fd5b506105aa610cca565b604080516001600160a01b03909316835265ffffffffffff9091166020830152016101e6565b3480156105dc57600080fd5b506102656105eb366004612785565b610cfa565b3480156105fc57600080fd5b5061026561060b36600461239a565b610e16565b34801561061c57600080fd5b50610265610e3e565b34801561063157600080fd5b5061027c6106403660046127ef565b610e51565b34801561065157600080fd5b5061027c600080516020612a3483398151915281565b60006001600160e01b031982166318a4c3c360e11b148061068c575061068c82610e8d565b92915050565b6060600061069e610ec2565b90508060030180546106af90612819565b80601f01602080910402602001604051908101604052809291908181526020018280546106db90612819565b80156107285780601f106106fd57610100808354040283529160200191610728565b820191906000526020600020905b81548152906001019060200180831161070b57829003601f168201915b505050505091505090565b600033610741818585610ee6565b5060019392505050565b600061075681610ef3565b61075e610efd565b50565b60008061076c610ec2565b6002015492915050565b600033610784858285610f0a565b61078f858585610f5d565b60019150505b9392505050565b6000806107a7610fbc565b60009384526020525050604090206001015490565b816107da57604051631fe1e13d60e11b815260040160405180910390fd5b6107e48282610fe0565b5050565b60006107f2610ffc565b5460ff16919050565b6000610805611020565b905090565b600061081461102a565b90508215801561083c5750610827610a28565b6001600160a01b0316826001600160a01b0316145b156108bb5760008061084c610cca565b90925090506001600160a01b03821615158061086e575061086c8161104e565b155b8061087f575061087d8161105b565b155b156108a857806040516319ca5ebb60e01b815260040161089f9190612289565b60405180910390fd5b5050805465ffffffffffff60a01b191681555b6108c5838361106a565b505050565b61075e338261109d565b6108dc6110d3565b6108e582611178565b6107e48282611190565b60006108f9611244565b50600080516020612a5483398151915290565b600061091781610ef3565b6107e48261128d565b600061092b81610ef3565b6107e4826112fb565b60008061093f610ec2565b6001600160a01b0390931660009081526020939093525050604090205490565b61096a823383610f0a565b6107e4828261109d565b600061068c82611362565b600060608060008060006060600061099561136d565b80549091501580156109a957506001810154155b6109ed5760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b604482015260640161089f565b6109f5611391565b6109fd6113ae565b60408051600080825260208201909252600f60f81b9c939b5091995046985030975095509350915050565b600080610a3361102a565b600101546001600160a01b031692915050565b6000610805610a28565b600080610a5b610fbc565b6000948552602090815260408086206001600160a01b03959095168652939052505090205460ff1690565b60606000610a92610ec2565b90508060040180546106af90612819565b6000806000610ab061102a565b6001810154600160d01b900465ffffffffffff1692509050610ad18261104e565b8015610ae35750610ae18261105b565b155b610aef57600080610b05565b6001810154600160a01b900465ffffffffffff16825b92509250509091565b600033610741818585610f5d565b6000610b266113ba565b805490915060ff600160401b82041615906001600160401b0316600081158015610b4d5750825b90506000826001600160401b03166001148015610b695750303b155b905081158015610b77575080155b15610b955760405163f92ee8a960e01b815260040160405180910390fd5b84546001600160401b03191660011785558315610bbe57845460ff60401b1916600160401b1785555b610bc98888886113de565b8315610c0f57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b600080610c2461102a565b6001810154909150600160d01b900465ffffffffffff16610c448161104e565b8015610c545750610c548161105b565b610c6e578154600160d01b900465ffffffffffff16610c83565b6001820154600160a01b900465ffffffffffff165b9250505090565b6000610c94610cca565b509050336001600160a01b03821614610cc25733604051636116401160e11b815260040161089f91906125bc565b61075e611430565b6000806000610cd761102a565b546001600160a01b03811694600160a01b90910465ffffffffffff169350915050565b83421115610d1e5760405163313c898160e11b81526004810185905260240161089f565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d4d8c6114b8565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610da8826114eb565b90506000610db882878787611518565b9050896001600160a01b0316816001600160a01b031614610dff576040516325c0072360e11b81526001600160a01b0380831660048301528b16602482015260440161089f565b610e0a8a8a8a610ee6565b50505050505050505050565b81610e3457604051631fe1e13d60e11b815260040160405180910390fd5b6107e48282611546565b6000610e4981610ef3565b61075e611562565b600080610e5c610ec2565b6001600160a01b03948516600090815260019190910160209081526040808320959096168252939093525050205490565b60006001600160e01b03198216637965db0b60e01b148061068c57506301ffc9a760e01b6001600160e01b031983161461068c565b7f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0090565b6108c5838383600161156d565b61075e8133611652565b610f0860008061168b565b565b6000610f168484610e51565b90506000198114610f575781811015610f4857828183604051637dc7a0d960e11b815260040161089f93929190612853565b610f578484848403600061156d565b50505050565b6001600160a01b038316610f87576000604051634b637e8f60e11b815260040161089f91906125bc565b6001600160a01b038216610fb157600060405163ec442f0560e01b815260040161089f91906125bc565b6108c583838361175e565b7f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680090565b610fe98261079c565b610ff281610ef3565b610f578383611886565b7f2a568c158d9a566796b434ce4d84ce7a0cd037b2863172b20b519b53f5d5920090565b60006108056118f9565b7feef3dac4538c82c8ace4063ab0acd2d15cdb5883aa1dff7c2673abb3d869840090565b65ffffffffffff16151590565b4265ffffffffffff9091161090565b6001600160a01b03811633146110935760405163334bd91960e11b815260040160405180910390fd5b6108c5828261196d565b6001600160a01b0382166110c7576000604051634b637e8f60e11b815260040161089f91906125bc565b6107e48260008361175e565b306001600160a01b037f000000000000000000000000fc44f80c94cc129f618cb9c756000972e775cbd116148061115a57507f000000000000000000000000fc44f80c94cc129f618cb9c756000972e775cbd16001600160a01b031661114e600080516020612a54833981519152546001600160a01b031690565b6001600160a01b031614155b15610f085760405163703e46dd60e11b815260040160405180910390fd5b600080516020612a348339815191526107e481610ef3565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156111ea575060408051601f3d908101601f191682019092526111e791810190612874565b60015b6112095781604051634c9c8ce360e01b815260040161089f91906125bc565b600080516020612a54833981519152811461123a57604051632a87526960e21b81526004810182905260240161089f565b6108c583836119c2565b306001600160a01b037f000000000000000000000000fc44f80c94cc129f618cb9c756000972e775cbd11614610f085760405163703e46dd60e11b815260040160405180910390fd5b6000611297610c19565b6112a042611a18565b6112aa91906128a3565b90506112b68282611a4f565b816001600160a01b03167f3377dc44241e779dd06afab5b788a35ca5f3b778836e2990bdb26a2a4b2e5ed6826040516112ef9190612289565b60405180910390a25050565b600061130682611ad1565b61130f42611a18565b61131991906128a3565b9050611325828261168b565b7ff1038c18cf84a56e432fdbfaf746924b7ea511dfe03a6506a0ceba4888788d9b82826040516113569291906125d0565b60405180910390a15050565b60008061093f611b19565b7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10090565b6060600061139d61136d565b90508060020180546106af90612819565b6060600061069e61136d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0090565b6113e6611b3d565b6113f883600001518460200151611b62565b611400611b74565b825161140b90611b7c565b61141d81602001518260000151611ba7565b611425611b74565b6108c5838383611bb9565b600061143a61102a565b9050600080611447610cca565b915091506114548161104e565b158061146657506114648161105b565b155b1561148657806040516319ca5ebb60e01b815260040161089f9190612289565b6114986000611493610a28565b61196d565b506114a4600083611886565b505081546001600160d01b03191690915550565b6000806114c3611b19565b6001600160a01b03909316600090815260209390935250506040902080546001810190915590565b600061068c6114f8611020565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061152a88888888611c73565b92509250925061153a8282611d38565b50909695505050505050565b61154f8261079c565b61155881610ef3565b610f57838361196d565b610f08600080611a4f565b6000611577610ec2565b90506001600160a01b0385166115a357600060405163e602df0560e01b815260040161089f91906125bc565b6001600160a01b0384166115cd576000604051634a1406b160e11b815260040161089f91906125bc565b6001600160a01b0380861660009081526001830160209081526040808320938816835292905220839055811561164b57836001600160a01b0316856001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258560405161164291815260200190565b60405180910390a35b5050505050565b61165c8282610a50565b6107e45760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161089f565b600061169561102a565b6001810154909150600160d01b900465ffffffffffff166116b58161104e565b15611720576116c38161105b565b156116f657600182015482546001600160d01b0316600160a01b90910465ffffffffffff16600160d01b02178255611720565b6040517f2b1fa2edafe6f7b9e97c1a9e0c3660e645beb2dcaa2d45bdbf9beaf5472e1ec590600090a15b5060010180546001600160a01b0316600160a01b65ffffffffffff948516026001600160d01b031617600160d01b9290931691909102919091179055565b6000611768610ec2565b90506001600160a01b038416611797578181600201600082825461178c91906128c2565b909155506117f69050565b6001600160a01b038416600090815260208290526040902054828110156117d75784818460405163391434e360e21b815260040161089f93929190612853565b6001600160a01b03851660009081526020839052604090209083900390555b6001600160a01b038316611814576002810180548390039055611833565b6001600160a01b03831660009081526020829052604090208054830190555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161187891815260200190565b60405180910390a350505050565b60008061189161102a565b9050836118e75760006118a2610a28565b6001600160a01b0316146118c957604051631fe1e13d60e11b815260040160405180910390fd5b6001810180546001600160a01b0319166001600160a01b0385161790555b6118f18484611df1565b949350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611924611e99565b61192c611f00565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b60008061197861102a565b9050831580156119a0575061198b610a28565b6001600160a01b0316836001600160a01b0316145b156119b8576001810180546001600160a01b03191690555b6118f18484611f41565b6119cb82611fb9565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611a10576108c58282612015565b6107e461208b565b600065ffffffffffff821115611a4b576040516306dfcc6560e41b8152603060048201526024810183905260440161089f565b5090565b6000611a5961102a565b90506000611a65610cca565b835465ffffffffffff8616600160a01b026001600160d01b03199091166001600160a01b038816171784559150611a9d90508161104e565b15610f57576040517f8886ebfc4259abdbc16601dd8fb5678e54878f47b3c34836cfc51154a960510990600090a150505050565b600080611adc610c19565b90508065ffffffffffff168365ffffffffffff1611611b0457611aff83826128d5565b610795565b61079565ffffffffffff8416620697806120aa565b7f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0090565b611b456120c0565b610f0857604051631afcd79f60e31b815260040160405180910390fd5b611b6a611b3d565b6107e482826120da565b610f08611b3d565b611b84611b3d565b61075e81604051806040016040528060018152602001603160f81b81525061210b565b611baf611b3d565b6107e4828261214c565b611bc1611b3d565b6000611bcb610ffc565b604085810151825460ff191660ff9091161782558301519091506001600160a01b031615611c1157611c0f600080516020612a348339815191528360400151611886565b505b825115611c5a5760208301516001600160a01b0316611c4357604051635ef1969160e01b815260040160405180910390fd5b611c55836020015184600001516121b2565b610f57565b604051631057502760e31b815260040160405180910390fd5b600080806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03841115611ca45750600091506003905082611d2e565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611cf8573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611d2457506000925060019150829050611d2e565b9250600091508190505b9450945094915050565b6000826003811115611d4c57611d4c6128f4565b03611d55575050565b6001826003811115611d6957611d696128f4565b03611d875760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115611d9b57611d9b6128f4565b03611dbc5760405163fce698f760e01b81526004810182905260240161089f565b6003826003811115611dd057611dd06128f4565b036107e4576040516335e2f38360e21b81526004810182905260240161089f565b600080611dfc610fbc565b9050611e088484610a50565b611e88576000848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055611e3e3390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600191505061068c565b600091505061068c565b5092915050565b600080611ea461136d565b90506000611eb0611391565b805190915015611ec857805160209091012092915050565b81548015611ed7579392505050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470935050505090565b600080611f0b61136d565b90506000611f176113ae565b805190915015611f2f57805160209091012092915050565b60018201548015611ed7579392505050565b600080611f4c610fbc565b9050611f588484610a50565b15611e88576000848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4600191505061068c565b806001600160a01b03163b600003611fe65780604051634c9c8ce360e01b815260040161089f91906125bc565b600080516020612a5483398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051612032919061290a565b600060405180830381855af49150503d806000811461206d576040519150601f19603f3d011682016040523d82523d6000602084013e612072565b606091505b50915091506120828583836121e8565b95945050505050565b3415610f085760405163b398979f60e01b815260040160405180910390fd5b60008183106120b95781610795565b5090919050565b60006120ca6113ba565b54600160401b900460ff16919050565b6120e2611b3d565b60006120ec610ec2565b9050600381016120fc8482612974565b5060048101610f578382612974565b612113611b3d565b600061211d61136d565b90506002810161212d8482612974565b506003810161213c8382612974565b5060008082556001909101555050565b612154611b3d565b600061215e61102a565b90506001600160a01b03821661218a576000604051636116401160e11b815260040161089f91906125bc565b80546001600160d01b0316600160d01b65ffffffffffff851602178155610f57600083611886565b6001600160a01b0382166121dc57600060405163ec442f0560e01b815260040161089f91906125bc565b6107e46000838361175e565b6060826121f857611aff82612236565b815115801561220f57506001600160a01b0384163b155b1561222f5783604051639996b31560e01b815260040161089f91906125bc565b5080610795565b8051156122465780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006020828403121561227157600080fd5b81356001600160e01b03198116811461079557600080fd5b65ffffffffffff91909116815260200190565b60005b838110156122b757818101518382015260200161229f565b50506000910152565b600081518084526122d881602086016020860161229c565b601f01601f19169290920160200192915050565b60208152600061079560208301846122c0565b80356001600160a01b038116811461231657600080fd5b919050565b6000806040838503121561232e57600080fd5b612337836122ff565b946020939093013593505050565b60008060006060848603121561235a57600080fd5b612363846122ff565b9250612371602085016122ff565b9150604084013590509250925092565b60006020828403121561239357600080fd5b5035919050565b600080604083850312156123ad57600080fd5b823591506123bd602084016122ff565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156123fe576123fe6123c6565b60405290565b60006001600160401b038084111561241e5761241e6123c6565b604051601f8501601f19908116603f01168101908282118183101715612446576124466123c6565b8160405280935085815286868601111561245f57600080fd5b858560208301376000602087830101525050509392505050565b6000806040838503121561248c57600080fd5b612495836122ff565b915060208301356001600160401b038111156124b057600080fd5b8301601f810185136124c157600080fd5b6124d085823560208401612404565b9150509250929050565b6000602082840312156124ec57600080fd5b610795826122ff565b803565ffffffffffff8116811461231657600080fd5b60006020828403121561251d57600080fd5b610795826124f5565b60ff60f81b881681526000602060e08184015261254660e084018a6122c0565b8381036040850152612558818a6122c0565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156125aa5783518352928401929184019160010161258e565b50909c9b505050505050505050505050565b6001600160a01b0391909116815260200190565b65ffffffffffff92831681529116602082015260400190565b600082601f8301126125fa57600080fd5b61079583833560208501612404565b803560ff8116811461231657600080fd5b60006040828403121561262c57600080fd5b604080519081016001600160401b038111828210171561264e5761264e6123c6565b60405282358152905080612664602084016122ff565b60208201525092915050565b60006060828403121561268257600080fd5b61268a6123dc565b9050612695826122ff565b81526126a3602083016124f5565b60208201526126b4604083016122ff565b604082015292915050565b600080600060c084860312156126d457600080fd5b83356001600160401b03808211156126eb57600080fd5b90850190606082880312156126ff57600080fd5b6127076123dc565b82358281111561271657600080fd5b612722898286016125e9565b82525060208301358281111561273757600080fd5b612743898286016125e9565b60208301525061275560408401612609565b604082015280955050505061276d856020860161261a565b915061277c8560608601612670565b90509250925092565b600080600080600080600060e0888a0312156127a057600080fd5b6127a9886122ff565b96506127b7602089016122ff565b955060408801359450606088013593506127d360808901612609565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561280257600080fd5b61280b836122ff565b91506123bd602084016122ff565b600181811c9082168061282d57607f821691505b60208210810361284d57634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b039390931683526020830191909152604082015260600190565b60006020828403121561288657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b65ffffffffffff818116838216019080821115611e9257611e9261288d565b8082018082111561068c5761068c61288d565b65ffffffffffff828116828216039080821115611e9257611e9261288d565b634e487b7160e01b600052602160045260246000fd5b6000825161291c81846020870161229c565b9190910192915050565b601f8211156108c557600081815260208120601f850160051c8101602086101561294d5750805b601f850160051c820191505b8181101561296c57828155600101612959565b505050505050565b81516001600160401b0381111561298d5761298d6123c6565b6129a18161299b8454612819565b84612926565b602080601f8311600181146129d657600084156129be5750858301515b600019600386901b1c1916600185901b17855561296c565b600085815260208120601f198616915b82811015612a05578886015182559484019460019091019084016129e6565b5085821015612a235787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fe189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200e265477a67d343ae173540cf2367c137b4272becc164d4b32aacd16ba97b4f664736f6c6343000815003300582102e28a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c648ffffffffffffffff05581d02ed3b1f629de72d5d0bd66acf852d3ac54f1c5b679d63d3450ce7d0bc0701192aa90219204005581e039c71b341db401f0d9f62d996d4444d215c62032090f9e2bf41a87574800c0142189c031233fa02041e779ce08da140b6893ed75331a869ab1990a796c4708135241bf305581e03c7d17f50c6cced2c372f87e60652e0c8844ae54b977b055ae327d13a90084805fcef59e4f7f1150361f0e2b31dcba6badb340538bbb6071d2d0da90dce7e97f2151f20abc7d595ad05581e03ca104de9f7fcc002e85985670be401c3be64ec37deb346964e5e02b9c00c0346627c2190b37005581e030db92a4b41695e2e704788d5fe3a9235ed01d96898e897fd03ef8a5ed004020369a99b7747fe501afa59c170a81eb8ee3d11b2b1ea2f1d80b231b51b26fc60bf05581e03ba93c2ae5d36fe146ff87867c775e23d4467d7803797761c27161729e0040205581e030ab6de8c8a9f6f2809a31a83ba4f53d0604b3561b0c9b88d282760ab000c0247627c4118897b9005581e03572ac839d84c2cb670f3c77cfb9cd234e2e4520ee84f68fbbbf9fdb6300c014719607f7bee12000219d7f7036c9e47fd5db6ceb9864b803f5f60941e28c652259356c9d38b04d58476c99a1a0391cacdaef4f23150e8081bc7b3a8f665425b102f450501ff46430dc0daec926103a7497b21d4d1ab6b554097420ffce33c67b0d649742a26ac599db5d2f0c416500390d4b7605629f9d26355735b663443cc26582e588c7a48a4312a3549c839d0ea03739bcaaa39eee6c437a055a84093b704599ff1862596af2f57b2dafbd33291d703f23fd4d4a85efa28e87be80f15461a6188588ca4843f3f242823fb52b46ffc210219ffff03ad56090db46ee18bad38f6ffdd883d3042b5e1a43898b27e2addcf0f18dc438e03a6a0063a9b48c9c5ab36ab4d675c46280269c007e6f81f4a83f8b324e83b01840219ffff0317dfc7bad5080f1b1aa469544208234c3c82120e32b2813359adb39cebbd786b03971eaba1c8d7839f3da62e0aea3b29fa102e4b3d6bbc423733baa186e74e67040369eb5659a81085980b30da9415a782013c10f734529384c87c773efc5a04d1b6032fa15c9df51b7276984b86fc65924a6ec068df141e0f44dc31e0d2a8eb2ec45b0219ffff0219ffff0219ffff035c7be8c71b26760085d7d65fb32ac24884a8da9a5cbe364617b1e285a589fbbe03320677a8760e79d39956685184227dadc3629eb6221192c49a7eca08b112bddb03486ec97e79ed79e1832d76befe9077ed14ac8e51b60df0f3b7449bc618de4257034c85c8fe915c4830fdc7b40b20535c6929c54c995dc3cc336938ac0f8265146d03d26e9d039e446db808e605747aa38a4bf9bc198dcebd8d2d18f60fa8c442240f0304b23faf2eda399acb12be6f5ebe7382276e80afb3840ab06dc2fb32d6d9fc030352c42736d255da53d130f40ac7350d860d0e8d7cef264765e60d2bcc34cdcc0603b82cec9a33142aabed4d30c7b53c955ed6b32fe938b3638ea89bf7bae3d6803c03fab275417dc299627061a73d04b96429eb1cbfc6413830bf5f9e86d8e7df275903a85042c7abf8602aa90ab8759d276b8af729c70defb02c972a02ea23a7188180033bc3f75baff4ecb59a640723a6048fdbb7d8ea907785399613197381fbba8e43030fb85d8fe27cd5d9e663ac62782c68fe6472ef3c168bc260487c1247c71fa82103b6073a962dc64f332fb1011468ba2ec7fe05c103454c51fd7b52bf587038c3c903fba5bd9cdcf5d87be7b309ca0e252a17c08d3532c3432eace824660565d56fbc03ea2ca2c115582b380de0ffa25cab100efb7b04d03036bd8517733b7ffcc15d4403c45d2f69dd9ab9511a1c86f2da719a574561d1ccf515e6e72c5780f2b923e235033b57be5c5e749975c1dacb1adccc519afc0d633eff493f27b613a8fb2eebc178032679f774f28f8bbfb278174f3d28ca8ece0a0fcc38cd224f31dc2e12c9f22fdc034941c9e40d4667d678cb6fa534b1a3d15268f2d6a7b7331f8c3aded7da5f83d6035a98c084b6da84296b45c98c6a8c2940e9afb7d96f8e76112cfc60aec828d991032d89665944029154b2b0c5c42ba1ca472546e59f2097f240c316441dc2b725ad0303284557a210250c3aa873d803a9a26a16b610614a3f522d8cba7307a3c4ef780352bccb92c9e538fd36a6440ff278b35df045de848a2ab66b900cccca747a05650392ddc2c37e91bc79cfcbe87edc3178171ba50fc75818cfd7cc24542353fe9afd0310716b5d5f50cee940be1f269f48300c3a47eb86b8ab1dca69bdaccad80e2ae303c99082fb98b9dc320e2c129b635573d9f126d6f4f9aec00f4a0b433a16c83b9f05581e0361fbe347a36255b041590b358407a913dac4abd5b06d502481960938300c07470397ac9092780e03022a1d7f53e46c173d6fdb5f9998bd700aded3c07673015efba02f849317152d05581e031e5ce8f95757e3d474ad3f7d0f7bd054d7007b766316dda72bffa1c3c00c03468df6c0bf5d70035988b816f29e19334bc2cc6bf0e06d2d58faedd2d9f86ef8a7c110f54502171705581e03b44a972802e7d49c08bdd7b8052122d71e8643b18f9b7ab5825d075ed00404045909c8608060405234801561001057600080fd5b50600436106100a35760003560e01c80638340f549116100765780638da5cb5b1161005b5780638da5cb5b14610151578063c38c58131461017c578063e43252d71461018f57600080fd5b80638340f5491461012b5780638ab1d6811461013e57600080fd5b8063429b62e5146100a857806354d41bbd146100e057806369328dec146100f5578063753d756314610108575b600080fd5b6100cb6100b63660046108df565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6100f36100ee3660046108df565b6101a2565b005b6100f3610103366004610901565b610291565b6100cb6101163660046108df565b60026020526000908152604090205460ff1681565b6100f361013936600461093d565b610489565b6100f361014c3660046108df565b6105bf565b600054610164906001600160a01b031681565b6040516001600160a01b0390911681526020016100d7565b6100f361018a3660046108df565b6106be565b6100f361019d3660046108df565b6107c0565b6000546001600160a01b031633146101f15760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b60448201526064015b60405180910390fd5b6001600160a01b03811660009081526001602052604090205460ff166102485760405162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71030b236b4b760a11b60448201526064016101e8565b6001600160a01b038116600081815260016020526040808220805460ff19169055517fb85d00f8a70bee686672e4eeb72378458c2940f441bde964337c6ccd1fa386bf9190a250565b3360009081526001602052604090205460ff166102df5760405162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71030b236b4b760a11b60448201526064016101e8565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015282906001600160a01b038516906370a08231906024016020604051808303816000875af1158015610340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103649190610979565b10156103b25760405162461bcd60e51b815260206004820152601160248201527f4e6f7420656e6f75676820746f6b656e7300000000000000000000000000000060448201526064016101e8565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526024820184905284169063a9059cbb90604401600060405180830381600087803b15801561041557600080fd5b505af1158015610429573d6000803e3d6000fd5b50505050806001600160a01b0316836001600160a01b0316336001600160a01b03167f1e9eeaf1a9185f8b4c0c3394a8209f8c4bd7a41d93c23704144795f5b3d8bb888560405161047c91815260200190565b60405180910390a4505050565b6001600160a01b03821660009081526002602052604090205460ff166104f15760405162461bcd60e51b815260206004820152601560248201527f546f6b656e206e6f742077686974656c6973746564000000000000000000000060448201526064016101e8565b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018290526001600160a01b038316906323b872dd90606401600060405180830381600087803b15801561055857600080fd5b505af115801561056c573d6000803e3d6000fd5b50505050816001600160a01b0316836001600160a01b0316336001600160a01b03167f4a82d3f4fd2c64329f08a8da5d7b66f87ecfb87e7045120c538eb1f51eb1a1d38460405161047c91815260200190565b3360009081526001602052604090205460ff1661060d5760405162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71030b236b4b760a11b60448201526064016101e8565b6001600160a01b03811660009081526002602052604090205460ff166106755760405162461bcd60e51b815260206004820152601060248201527f4e6f7420696e2077686974656c6973740000000000000000000000000000000060448201526064016101e8565b6001600160a01b038116600081815260026020526040808220805460ff19169055517f75519c51f39873ec0e27dd3bbc09549e4865a113f505393fb9eab5898f6418b39190a250565b6000546001600160a01b031633146107085760405162461bcd60e51b815260206004820152600d60248201526c2737ba103a34329037bbb732b960991b60448201526064016101e8565b6001600160a01b03811660009081526001602052604090205460ff16156107715760405162461bcd60e51b815260206004820152601060248201527f416c726561647920616e2061646d696e0000000000000000000000000000000060448201526064016101e8565b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517fac0f15283d37631c15b481bc07dc402bcfc030956bcd94b5585f71d92e84c3da9190a250565b3360009081526001602052604090205460ff1661080e5760405162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71030b236b4b760a11b60448201526064016101e8565b6001600160a01b03811660009081526002602052604090205460ff16156108775760405162461bcd60e51b815260206004820152601360248201527f416c72656164792077686974656c69737465640000000000000000000000000060448201526064016101e8565b6001600160a01b038116600081815260026020526040808220805460ff19166001179055517f6a65f90b1a644d2faac467a21e07e50e3f8fa5846e26231d30ae79a417d3d2629190a250565b80356001600160a01b03811681146108da57600080fd5b919050565b6000602082840312156108f157600080fd5b6108fa826108c3565b9392505050565b60008060006060848603121561091657600080fd5b61091f846108c3565b925060208401359150610934604085016108c3565b90509250925092565b60008060006060848603121561095257600080fd5b61095b846108c3565b9250610969602085016108c3565b9150604084013590509250925092565b60006020828403121561098b57600080fd5b505191905056fea2646970667358221220de0db42a8502f5cbac0061f164cfb0af1329a67078a1354533b52716ca2527f964736f6c6343000812003300582103c677ab6cccb388453d4d631ecd2815f153c647bd4de926658993bc19bb3dbf0041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054fc5fa8b3998c5228e20d27c2763c83e975b968d500582103c36f785858fa02ae892a51a572376c499443409230835faea08b77372a6223f041010058210349595520e05691572f85aae3c1b84194860f443118585b83a7e41a4a10b54040410100582103bdf2e9ee0f16f18e61ef721b3bcbd2353c5f0dd734be72dcc14cb568eea57830410100582103a85d0d68f476996733150c9a9a2abfe817c474c238c5fc57e4da6ed40745bc1041010219c50505581d02933e8e8b204d3f61616c893a36523d05f6dd410d8cdd3f56a6ae51e807011909c805581d02de60f5afa997b7e3b2c1d5018e9cddeade1e584bb049f461ad4fc39e0401020605581e032a5a9d519d18583355fafcb2ca7f617a7dc8b9119d49f7496ab420acb00c024706cc86fcd8940003647d9d906260b951e8177b5014693cab95190f7c2d6f80310b7ac4c272e52144030f6779489a1ebd73950f58dd6edac22ac5716fdf0e4c511467c39d441bde690003a0ebdd3c466038fe4e8c28e2e90077dc108ee2ca120be1bed4ee89113d87007703df87c8e91b21f31946cdbae90d4567be55e557238cd4768c632baee9ba2f4a250219e93f03e46f7aab0516b5bfb74f6c726506638a8315acd6978db9a7d6b10697889fae0c03df3171d5518b71e7e1a7c11ad9a9e65bd7bd1c0911196645733ab068d55e4b3803dd2f15758fdd035cab91bf553b4bec528a5cf2bb4198b2f87a363fa987ed6f650345f7f0931e1fc46fc2c872ec809c0d4b5589260996fccec5e5e809e185c634ce033f6e98d88fa6c0e88c78caac704ee77dc6fe9cd86b84117f49ae2fb7b7b059c30219ffff0380894300925556c61b5cbe06569f6296c15662f552bddffd9a3a47716bbfe0f103da27b9f183290e055376010b0b204356d572c071ebde5a07a2cbdd58ee183f9103a70f2e07fcf04d3d402baeab743a234ea112d79743b37c29811bc4b81566509d03d531513ce1fd171f70c852f0943567eb105981836a04d03e0f443e88da1ca5a603c97fbb9f5d1df80092b2ebcb06768bf6c786c3996b9be60ac98badbe19eccbb903f0516081ec93aaf417016ac8b3f165f6494bbd2561b6a3170750d51ba67b9ec90307df576563e69f640c15526a0316459e840f9ed60870279432cd8cbdf93c1b63032f20ad005b6916c8d1bc6c4ed03b567d6f0575a54d5fd2eb691dfb7571d4e96c0362ef726045961839fcbf7c6bcb17fe6cd2d1e76a716432d848e08eac88b888510219ffff03523529f8c2409ebbb4186637771fcfce7ce807c15ed86b678313fbf3ddcb061303dd11102ad57b4de86aa58cb653b5148ffd1d68547c3d5c1735473067e46352220326b09d301e8ff2bc461dd7738fc7329aaa1e0f9cf90813b0291033b4fea7661f031cdf843163a704aed11e09b7b894f1ce75b0988924e2d6af2846aa2e93d8c03203111901345cf5ca1c61160b5eb1b60ccfbb7e31bf69846d3479ce38455f91c343038e93c6201bf832cc3053ed8c0a69d00116cb0ead4a460097ad2baa5ff37b1d8d03df0e13b565c4f8112fdb169d9e45869328b2272da7267e52e849882e9b188c880370f59ff3699738f45a8ed5c81dafd035acc2e5e8f1797527caba85f684938793036f6bd93219f5a8fb9bb572b4f51303ae8a296645ff7a3bc36215419bb2ad153803b34c12128ec1ef630d28848df7639dd15cb6ef85524551588c773df8e97e361e038f17ac6787dd1e07a2dd3c00ead8b4c90d174e1b96e858db68440c43b948098c03d8ad345b5fc7dd018b4afbf784458761556b8580ea1a5da36b1193d95c6be6810219ffff03baa627342858aeeb11c1655c8b31264cc7c2865cd7346326568d8593ed84353e03142888922c63642cdd4a1455a3edbc4759c42c4afb552612d83def02091393920302794894d53e7eb42bba4a46e58a1a388d07211b572225c24208bba097fdd653036cb4c69a5c482dab59db68b1ae148e487449534e694d0a3f9ee6b968e999775203cfca7e8396a765d14cf34c06930a03aa0d85ced746691964c91a23d75e4220af03abba11abc73ec997945dca4d91ee6cd678ac2289a1c303110be28729a32b7193035d0a8d7d66b7dccfe09311a334ea58e0a3ffe97cdc32edef41f7bdc2001e097f03ab4977ec2f5b921a6bef10529ddaeead424d3992d2dea3056f1860beb71d5a630219ffff036f2a2a0d98812542e5d4c415c122fc0f6a600d318a638c3701ca8a8f738e1a4d03367c863fa8c9483303fda77f5749ec15d1e31a4a418126d9f8ce6c0e0a91271c03613986a1092f42187805ac513e3992ee5a498aa8f94238a83a5365f87756b071032e18029d3b2a22538dd815e2e05cb4aeb6d2746302e08634cda8ef31b8d11fa7039172af1fe16fae6f25f9c39af08f16e08668f5c9ad25c0a0951740969e0e32ce03b295e101d84de514a1c59325ae6be47525bdfe7b61c45ea3dacfa622f8bff15503b9453e81c0e71d80da2b6ed34f1666dd19a30e3d1be9bb028b0ca5cf97b3ac2b03fe74aa22f64425343a7be23bff602f001dcb695ed9db97011d14142f40190b8903a9c305a9acf8354f36c81048277118e3de64ee56846af48439c4bd55295139b003332ccc5231cd4d464c092eab7f1ba7a354879cec0cce4ad1c6db84207c66cbf203dda131ca4b580e0f24b1800c20ac2fcf9497de2072066923cbcde662a6f04d6103c112f90bb465e56493b690b72f5cc6d9f58fe9ada023a6ea50be05d8eff7ae3e030b2ae3344cd087a682eba515a172b81ecf5c20ad8ae51f0dc33171f98999d74d03b47299e17613508e8ba67ab9e38cf99045fab090d9a04d8431a02fd86aa13c8803f865d94914b21a704fbe33cca6e910afd57e2e801ec8748d678d1784d2a3dbcb033bfdd8a7f7ce520d5f0a5fd1ff16b5c44245a46009f3300e16961a80cca4771303a2f28e900a615741f34105a2b62e3acf751fbc4723db05c03266a62e918c0eb903293df6d4ea35d28355941c78eb09e4e671b2627e50782dccd57d4cbed2960781036e6f046d7820570ee94284008458e1ebe92ee18eada908f9f1177fd99a20bb7605581e03291725a7681859669f5c7ccba0f59553452e970dad6f700a489d844010040105581e038ca32f27c0426b87ea54313fc3e0b4d1de17764a735a683fdfaf5d0a600c024722d6c4c89582ca0398b51fb245d60c0fff5e64eabf79c94f0aebec844671002745ae5fc8a8e943b4036a0b353364be8a9ebff4120f1db60f68b770f239528ba1d55a5f0472abc1db7a05581e0357c0a8b5f7fbf128a50caee1a446414d34d0aebd35b06846e1233311e00c0446c111cce3731805581d02ab50e6fb045e5177c253f7205c2f9ca8fc0295388d2a4b7d9221087504020459082c60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610262565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b031661029f565b34801561018857600080fd5b5061012d610359565b6101996103b6565b6101a96101a4610416565b61043b565b565b6101b361045f565b6001600160a01b0316336001600160a01b031614156101da576101d581610484565b6101e2565b6101e2610191565b50565b6101ed61045f565b6001600160a01b0316336001600160a01b031614156102555761020f83610484565b61024f8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061038492505050565b5061025d565b61025d610191565b505050565b600061026c61045f565b6001600160a01b0316336001600160a01b031614156102945761028d610416565b905061029c565b61029c610191565b90565b6102a761045f565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103055760405162461bcd60e51b815260040180806020018281038252603a8152602001806106f8603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61032e61045f565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c4565b600061036361045f565b6001600160a01b0316336001600160a01b031614156102945761028d61045f565b60606103a98383604051806060016040528060278152602001610732602791396104e8565b9392505050565b3b151590565b6103be61045f565b6001600160a01b0316336001600160a01b0316141561040e5760405162461bcd60e51b81526004018080602001828103825260428152602001806107b56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045a573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61048d816105eb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b60606104f3846103b0565b61052e5760405162461bcd60e51b815260040180806020018281038252602681526020018061078f6026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b6020831061056c5780518252601f19909201916020918201910161054d565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e1828286610653565b9695505050505050565b6105f4816103b0565b61062f5760405162461bcd60e51b81526004018080602001828103825260368152602001806107596036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b606083156106625750816103a9565b8251156106725782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156106bc5781810151838201526020016106a4565b50505050905090810190601f1680156106e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f2061646472657373416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65645570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a2646970667358221220175110956fa0a7ff1615f55e1422acff6edcec0099d7ea0bae101f4f6228c8bd64736f6c634300060b003300582002dacafd75af1200cc8e5b44aae21d30d13653727738d33c9fea866d200434dd54a3a7b6f88361f48403514059f1f16c8e78d60eec005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0543fffbadaf827559da092217e474760e2b2c3cedd00582002bf6d77dfa11bf8526f19f615342249ad994d4408d5fe9945703f928c9bd44d54bbce8aa77782f13d4202a230d978f361b011db270385f338e8efed8498fe8cf3de84c1573a0f7210ec8a866a5b9771e3376f356d6700582002820920ab0bd2f94a573835b9dda64a05f865edf8ac917d854f74b39e616b7d54a3a7b6f88361f48403514059f1f16c8e78d60eec005820024b437d73b0abcba15b77215c586be59e8140c556933efdfd57268423cc460f5401cdc91b0a9ba741903aa3699bf4ce31d6c5cc060219816c0319f8639f319da755161542cf376db4a535435cb671e1a78b856571bbd7453c74036ab230e62951ed1556ad2241e8c48122a4141c7f93a091afe4c9c74aefe0bf86031e25aec2400cd03d08870f229a932107fd193ea6106c1524a0376b69095b5733037d9550da7323713b45b44b741176c93937b25d448ec2b351e2194526d05243720058200221eca5b3a49d5c2c27c4d611cdb77d7e5c0eb098b8fc1837b9015c8e0ed43a54a3a7b6f88361f48403514059f1f16c8e78d60eec0058200372fb7a497787aae9eddff634efb90a699cb50080fe5a6038792972ed3a048054cee284f754e854890e311e3280b767f80797180d00582003f0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810549ad46fac0cf7f790e5be05a0f15223935a0c0ada0219300000582002d7fd06ef168d66328bdd7dfde79966a7e3bea7a33ae4794eb16e43e4fb9f4854a3a7b6f88361f48403514059f1f16c8e78d60eec00582002e9db8c11a17486c4e6963037e18cf10fc9b971de6c17764509ef99bfd645c654cee284f754e854890e311e3280b767f80797180d00582002b51bc452e2a0ef4e03dfa175f155735a449d1bdbf026a9d8e289e61572f72d54a3a7b6f88361f48403514059f1f16c8e78d60eec00582002857a6fb151736b6477142b7a48b2af0c8bfaf31393dfddb4a16c998921193a54a3a7b6f88361f48403514059f1f16c8e78d60eec0058200288ce5dda8e5ac992d22a8d0953ddd74f902f8cb96d3f5c75ec6792f6d7b70754a3a7b6f88361f48403514059f1f16c8e78d60eec0219485d03667321463213c2db89e85e68f4c353beafbe1e7d7754ff34cc3e429abab3572200582002aaaf4119c51c5606fab050cb26786e17e1d7879896911a81a851212c3769d354cee284f754e854890e311e3280b767f80797180d00582003db8a6ae292b57cd050db8fbfae14fc2104181e3b5bcbcd0f6a3f0f0786fb3054a3a7b6f88361f48403514059f1f16c8e78d60eec0058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05452595021fa01b3e14ec6c88953afc8e35dff423c0219080100582002c5ec65b2c3a686b11db6c376ba635ac2f567c322946dc39ea9a99a5400afef54a3a7b6f88361f48403514059f1f16c8e78d60eec0058200298b8f9b8fcfb715f0065171bea07b843bb9b2ffb3eef43d78b09e571a376cb410100582002ca06e7a2970849e745dc883c2f9d406d7be197c16cb50a2363e9852c4e237254cee284f754e854890e311e3280b767f80797180d00582002678948243d70ce0e53b9cfb9bfc70c908efd6e4bc3f71d65374de6a434375454a3a7b6f88361f48403514059f1f16c8e78d60eec00582002c57b730b94661f0aa5cb6adcecf73e0ce7fca8256f99a70af894e993f05ff354cee284f754e854890e311e3280b767f80797180d005820023beb2d583b24d12918c7889474f2d038510817e4d181e4e549b745b7e7cda954a3a7b6f88361f48403514059f1f16c8e78d60eec005820024992486b5de2ac677cca14494d932babb1fb47aef1f58d4d435b52c05a0b6154cee284f754e854890e311e3280b767f80797180d0219cf61034be9444fa1776ad436ac491aafe286095dd9e4eff3fe9217d9e9ed7a7016d191033396b2a5d1b9900d7caa222f3161c2ad41eb5828a74d1879fa7418e5d60cb3960348344434d7ffb3b5ead724b7e7ab6307788af696d098c93b28795529b23f253b036c9dd22f0c5df9909c69cf6bed02cebf27ba5543768246e757e6dd5785ae7d29033ac73df4e0b17abcc82390bb5e93b728a6cf33da12333f48655a383f46e2500e0309e1ba3a1f5d0d2e1f57c0468cb01193c8719c337e5db38740f15728a70fe071033728351dae0befcb0f7122b10f8ac96421fc581bfbf75d8be69f8c59f58407dd03a309dd1eef4a7ff5d6e9b758e0a3729f63b75c3ecd822f2b4cd6439e0055bb070219ffff05581d02658bff13056194e5593d3530fd52fa91d22e0462fd36f22b79ea4da6070119082c02188105581e03f240cb2037e8ce130288dec5b066cdad47f1b45c7dc6233d5d792fd5600c0246184ca91db6f003645c87a58870c203e7e48baa289f76e4565569058b0c3c9c29aa46f04afbfac205581e038a21018ed841139204137257ebb162d3d06695b1e7e456d173cc7e42600c014704a9acda706e2805581e033c05a2d9935452460df8677e68872cff9b9d04d3f7ee4b65f47a77e3d00c0c47054b72ebbd03bf037f6e82265d7716459b3c3bb4632289ab483c8c4e2ec2095c339bb271b33d80ff05581e03925c3cb8e90fd811258b74cfcf1ccef85ad4923b70a8acb665989d76e00c114801bb85901ad1a5c50219fecd03cd04b387db4e7a0b3bc33199ca17af8b5b475481df227b791fcb00bb305ddb760366d8daa9a356d301ca2b7e64845d1f59bd782de6791a20881aacdd03aee2c866030113528447bf318c3ef5e8ca61577de983adc7953a0f7884061867f6138b2b9c03f1fc41695a5bec7d1c0bf9f5b384ae8dfd51677dee0102703ff0c69173b2e2fc03067e7acb35499cc25ad1e4df78a677c3c4c2975a35f97c31c74101da076bb0ce038cb2b65d89c10e55e354735188c1c2f9de4ac2ff9ad61608acef42193514d66b03ea14db1057f7be82b2ba49c63e60f53580dfd625a6b0475b88114362698e868d0398495bca77363fd33edcbea7fde923c5d3c504d1a521c59e19a35119cffc120a03cef872fcc635f5589e0cfd8f39d8856778f9181a8ce6662f8f69f4c30aec8d710318a7ccfbd47dc8e260be353038ddf820061f33644394aab86dc377268882cbd00397976bdca30dbe75fb4a972c7cb51922be9df68753cf3822b4fb0d53ceb66c1b03adcdece001f2cb1079f3bdbb4d3158b1f8e9696b4f3c8e948d507fb8899f390d037fbc9274d73b54962b7f5083d68f865702ddac66819dcae04e1beb49ce3113d603dc8057ebd2566f21ca83763a3085793b2c2b97c328404d9fc8652874ae2f7a0f03ce081d9632d7654e8a6602e90458fbe04026bd2a00ff0ba8e42dc5af321e8cc60219ffff031189f04a4a91e1b84c3fe996ca33e9c64231f4a92b1692b76dab4bc59d5face80374e83fd9391b0780744c96e0c6b0561d114614982d491bb79577ac7d15d4a8f203b7accb2ac94566730934fb1ffecb92c1ae6d27ad4619afa7e4e1e2534ca681cb036c3f1a6add7eff2f5882c3a74dc39afc563b8dcc85feed3016ae79f6acffe963039baa60a427638ebca6c5e170395dc669efa8edb494277970e4057410677a404e033fb89d176065e2551f78f5c3e7043e97282189c0ca65ab5d9223df884aba71c50219ffff036dca3000861a607ea25969b794e975bae7f6182347d97918e518fc3a923b8c40034dbc40a9395a2c88042a6cfdf42db36af0cc068d6c415af8aa83ab3611bbff65035bb9f38bc287d7121e81e17a73179aad224403ffc73d9147948f8323fec602fc0385b03b743574d2a3b51b3df2e29df341a0ad2c4172f4e5ae07854539817f65e10399cfc63505a4fd5cf458313e06406d5de0c8fb685ad1f7b76e2a4a69c0195ad5033411607b4bc91ef2f812879bb9b0eb420590e09953af3afea1fedd422184a3d003d88204a3ac4e71156ead945611d58b0cf061a09124a9fbc14c2e768e8bca60ff03b186ad42888c49a6d617f1bb9e86b69e870d5842057c0ab6a1d354c674560c70033ca3889c2378e6917cbbceaf25a045a5424f77a17f32db4459069d5bd46b037f0219ffff03d48af70329aa4ba6f077a82c8ada90b7d9eb7fde70df1f4e4093cf84246f9ecf038635785ed725b1264e5cd8afb86bc6299c7a5ae8d0be31cf74fbfe66f2d158ab0330b8913fc9c0b434b8eebd282ca4c0195663f834f4485626b93b375c0d8b893c0325f8b7df0168d2bee730852b207f2b1e7f6dd01f7cf28ca4d8d3fb1a7779a05603fd684b5450cf93938906c3a15d5aed78ceb510166db95cd26eaedd7cd7758420033e1a98812f5efc9013de603566bda28b7c145581a7dbfbb27f0c6afae80961920316845d7dc91128d53cc0ebb261793b8668e6c1c01f41963bd17520bb722afd01038bea6e6089e004da2e7e5c439f03a8cb48e3d17d5847a528f9b9b503dc25789903aaf3a32b16cde4aebe73ac09c45263c4698c688e51840131b9f03af701efcf48035e3b3ee36997839b42b7e4040a56622700df98a637b0d07ece7d0fc763ab566103d898ff2ee3312a00a91e9bc7e290dc884b4c790998d70f5171c507884f2773e203c14f241e3959f5f85d5874695865584b57b5f88bd07be33c9cbbba54c8a778bd03191a232f04e1350b09bcc862bd7658b3f9efe6d6e0d2dd960dd6d28e52d77c90031cadea29b2559d89f09c1bd912d0e88e8bb657765c06ab1c0fe654ff4322efb20374f01f7aa1ad56769c06655a75ece81b8d9dd1d59cbe39a268587feaedb7e96303a40965811ebeafedccfba00999761557d92eaf1bccf3be2b56f999c8a6abff3c03fa3e49458de77063e5ac2bd31dcbb3c97c7e3e336237ef76746ac3b2da207a6503ca95ba2b5f99c46a4d3d11bd383ea9db2d5cabbefeb5c107fecf2503f3eb1ae10387136747298e39556997edf2b069fd6b4e8d078ee8a201d0c3a4d042e26ec7e80323de2173d1c83ecdf1fa2435e99671e2af5a7d26ae49115dcd2cc0935152073803b33c33487528dbd12005006a3d29a476b27a1ea2747d32af27bec768c809b0b303b5b1d7215c35240626620fbc69536e8cc7c7737f357fb0453f59a41b1493eedc033ae7fff0ae08d4f998a2467893a3e46394a2e66e0b42a160658a422a0c1be9e603895f7ff1c1ed945886ec8d0e2b42223832b4b55f3bb92afb844bd65437ebd5b203711f249d23c40a564959abf384cf70befb26924ce306fd0cfe62a0cb5f62d68603fcac7382a0952c51d3dba42e13cce433bab287e42bea5ac30edb3a60d909030b036a2507ee48cd3586b57f79d61302068e0583e42412ef4f761c77c31a54a9e74a03e18ecc4a2818ec1a3523ec9610119b2009ae678f3902f4e5207e42fd339a06270349cfae448266c583492a84a2c445f4eff0af3480f4bea3dcdf94df3ce45fa78a034ba93c9689cdb348b091efdcc2b26dccb3b6e1ccafa303ffc5b901ded7a80cc8039ea80ffc173a44c3afee3b8084f967d56a932f8824272937d9ce7d639f0a7e4d03e55feb12c59780834432eecb1050fc0d981be2cb895b7d4f5afcd687d1b6499705581e03b2243157797f0407a7786e8615890f96c37dc6823c3ca074893bd4ca00040c034674af9a4fb900a48cab25fcbab95aee4da8047d4f97369d555001f65ee18c32035544a7da32085775554867b2a0ab85084879b66aac510a18b9458cdd5c7e994b05581d0262b4a4c5fa23c4f3613d681c5422990482b0b8122363028230c3828407011bffffffffffffffff04595e82608060405234801561001057600080fd5b50600436106103af5760003560e01c80636d73e669116101f4578063b0fe87c91161011a578063d5a06d4c116100ad578063f0cdc4991161007c578063f0cdc499146108a6578063f2fde38b146108b9578063fe2e1f58146108cc578063ffa1ad74146108df57600080fd5b8063d5a06d4c146107ea578063e00aab4b14610844578063e92a89f614610857578063e985e9c51461086a57600080fd5b8063bb3bafd6116100e9578063bb3bafd6146107ea578063c87b56dd1461080b578063ce8aee9d1461081e578063d39737191461083157600080fd5b8063b0fe87c914610753578063b4b5b48f14610766578063b88d4fde146107b7578063b9c4d9fb146107ca57600080fd5b806383b7db6311610192578063a22cb46511610161578063a22cb46514610707578063aafb2d441461071a578063ac0c8cfa1461072d578063ad2d0ddd1461074057600080fd5b806383b7db63146106d35780638da5cb5b146106db57806395d89b41146106ec57806399e0dd7c146106f457600080fd5b806372ff03d3116101ce57806372ff03d3146106875780637884af441461069a5780637aa15f16146106ad57806382dcc0c8146106c057600080fd5b80636d73e6691461065957806370a082311461066c578063715018a61461067f57600080fd5b806330176e13116102d95780634278330e11610277578063596798ad11610246578063596798ad1461060d57806361e5bc6b146106205780636352211e1461063357806366d1e9d01461064657600080fd5b80634278330e146105c157806342842e0e146105d457806342966c68146105e75780634cd88b76146105fa57600080fd5b8063332dd1ae116102b3578063332dd1ae1461057557806338e52e78146105885780633e6134b81461059b5780633f0f37f6146105ae57600080fd5b806330176e131461053a5780633071a0f91461054d57806331ae450b1461056057600080fd5b806320e4afe21161035157806324d7806c1161032057806324d7806c146104c15780632928ca58146104d45780632a55205a146104f55780632d3456701461052757600080fd5b806320e4afe21461047757806322f374d01461048a578063239be3171461049b57806323b872dd146104ae57600080fd5b8063081812fc1161038d578063081812fc14610406578063095ea7b3146104315780630ebd4c7f14610444578063162094c41461046457600080fd5b806301ffc9a7146103b457806302e7afb7146103dc57806306fdde03146103f1575b600080fd5b6103c76103c2366004614ed4565b6108e7565b60405190151581526020015b60405180910390f35b6103ef6103ea366004614f06565b610916565b005b6103f961099b565b6040516103d39190614f73565b610419610414366004614f86565b610a2d565b6040516001600160a01b0390911681526020016103d3565b6103ef61043f366004614f9f565b610a54565b610457610452366004614f86565b610ba3565b6040516103d39190615006565b6103ef61047236600461505b565b610c07565b6103ef6104853660046150ec565b610c86565b606f546001600160a01b0316610419565b6104196104a9366004614f86565b610d66565b6103ef6104bc366004615166565b610e7c565b6103c76104cf366004614f06565b610ef3565b6104e76104e2366004614f06565b610f2c565b6040519081526020016103d3565b6105086105033660046151a7565b610f66565b604080516001600160a01b0390931683526020830191909152016103d3565b6103ef610535366004614f06565b610fd6565b6103ef6105483660046151c9565b611033565b6103ef61055b36600461520b565b6110b1565b61056861113b565b6040516103d39190615247565b6103ef610583366004615294565b6111ea565b610457610596366004615300565b611272565b6103ef6105a93660046151c9565b6113a7565b6103ef6105bc366004615356565b6113bb565b6104576105cf366004615300565b611444565b6103ef6105e2366004615166565b61153e565b6103ef6105f5366004614f86565b611559565b6103ef61060836600461548b565b6115f1565b6103ef61061b366004614f06565b61171c565b6103ef61062e366004615294565b611799565b610419610641366004614f86565b611838565b6103ef6106543660046151c9565b61189d565b6103ef610667366004614f06565b6118af565b6104e761067a366004614f06565b611907565b6103ef6119a1565b6104e7610695366004614f06565b6119b5565b6104e76106a836600461520b565b611a4e565b6104576106bb366004615300565b611b18565b6103ef6106ce3660046154ef565b611ca7565b610568611cba565b6033546001600160a01b0316610419565b6103f9611d5b565b6103ef6107023660046151c9565b611d6a565b6103ef610715366004615546565b611de8565b6103ef610728366004615294565b611df3565b6103ef61073b36600461557f565b611efe565b61045761074e36600461559c565b611f10565b6103ef6107613660046155d1565b612066565b61079c610774366004614f86565b6000908152606a6020526040902054600160a01b900460101c69ffffffffffffffffffff1690565b60405169ffffffffffffffffffff90911681526020016103d3565b6103ef6107c5366004615611565b6120e7565b6107dd6107d8366004614f86565b61215f565b6040516103d391906156ca565b6107fd6107f8366004614f86565b6121c3565b6040516103d39291906156dd565b6103f9610819366004614f86565b612239565b6103ef61082c366004614f06565b61229d565b6104e761083f366004615725565b61231a565b61045761085236600461559c565b612354565b6103ef61086536600461505b565b612434565b6103c761087836600461575a565b6001600160a01b039182166000908152606d6020908152604080832093909416825291909152205460ff1690565b6103ef6108b436600461575a565b612447565b6103ef6108c7366004614f06565b6124c5565b6104e76108da36600461520b565b612552565b6104e7600381565b60006108f2826125a6565b80610901575061090182612618565b80610910575061091082612685565b92915050565b336109296033546001600160a01b031690565b6001600160a01b0316148061094457506109446066336126d3565b61098f5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b60648201526084015b60405180910390fd5b610998816126f5565b50565b6060606880546109aa90615788565b80601f01602080910402602001604051908101604052809291908181526020018280546109d690615788565b8015610a235780601f106109f857610100808354040283529160200191610a23565b820191906000526020600020905b815481529060010190602001808311610a0657829003601f168201915b5050505050905090565b6000610a3882612805565b506000908152606c60205260409020546001600160a01b031690565b6000610a5f82611838565b9050806001600160a01b0316836001600160a01b031603610ae85760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610986565b336001600160a01b0382161480610b2257506001600160a01b0381166000908152606d6020908152604080832033845290915290205460ff165b610b945760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610986565b610b9e8383612869565b505050565b6000818152606a60205260409020546060906001600160a01b0316610bfe5760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b610910826128d7565b33610c1a6033546001600160a01b031690565b6001600160a01b03161480610c355750610c356066336126d3565b610c7b5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b610b9e8383836128e2565b33610c996033546001600160a01b031690565b6001600160a01b03161480610cb45750610cb46066336126d3565b610cfa5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b6000858152606a60205260409020546001600160a01b0316610d525760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b610d5f8585858585612966565b5050505050565b6000818152606a60205260408120546001600160a01b0316610dbe5760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b610dc7826129ed565b90506001600160a01b038116610e1f5760405162461bcd60e51b815260206004820152601660248201527f4e6f20657874656e73696f6e20666f7220746f6b656e000000000000000000006044820152606401610986565b610e2a6072826126d3565b15610e775760405162461bcd60e51b815260206004820152601560248201527f457874656e73696f6e20626c61636b6c697374656400000000000000000000006044820152606401610986565b919050565b610e863382612a48565b610ee85760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608401610986565b610b9e838383612ac7565b6000816001600160a01b0316610f116033546001600160a01b031690565b6001600160a01b0316148061091057506109106066836126d3565b6000610f36612c9c565b610f3e612cf5565b610f5a8260405180602001604052806000815250600080612d4c565b9050610e776001606555565b6000828152606a602052604081205481906001600160a01b0316610fc05760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b610fca8484612dd5565b915091505b9250929050565b610fde612eac565b610fe96066826126d3565b156109985760405133906001600160a01b038316907f7c0c3c84c67c85fcac635147348bfe374c24a1a93d0366d1cfe9d8853cbf89d590600090a361102f606682612f06565b5050565b336110466033546001600160a01b031690565b6001600160a01b0316148061106157506110616066336126d3565b6110a75760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61102f8282612f1b565b336110c46033546001600160a01b031690565b6001600160a01b031614806110df57506110df6066336126d3565b6111255760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61112e83612f50565b610b9e8383836000612fa8565b606061114760666130af565b67ffffffffffffffff81111561115f5761115f6153be565b604051908082528060200260200182016040528015611188578160200160208202803683370190505b50905060005b61119860666130af565b8110156111e6576111aa6066826130b9565b8282815181106111bc576111bc6157bc565b6001600160a01b0390921660209283029190910190910152806111de816157e8565b91505061118e565b5090565b336111fd6033546001600160a01b031690565b6001600160a01b0316148061121857506112186066336126d3565b61125e5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61126c6000858585856130c5565b50505050565b606061127c612c9c565b611284612cf5565b8167ffffffffffffffff81111561129d5761129d6153be565b6040519080825280602002602001820160405280156112c6578160200160208202803683370190505b5090506000606e5460016112da9190615801565b905083839050606e60008282546112f19190615801565b90915550600090505b838110156113945761136f86868684818110611318576113186157bc565b905060200281019061132a9190615814565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061136a915086905087615801565b612d4c565b838281518110611381576113816157bc565b60209081029190910101526001016112fa565b50506113a06001606555565b9392505050565b6113af612cf5565b61102f828260006131b2565b336113ce6033546001600160a01b031690565b6001600160a01b031614806113e957506113e96066336126d3565b61142f5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61143884612f50565b61126c84848484612fa8565b606061144e612c9c565b611456612cf5565b8167ffffffffffffffff81111561146f5761146f6153be565b604051908082528060200260200182016040528015611498578160200160208202803683370190505b5090506000606e5460016114ac9190615801565b905083839050606e60008282546114c39190615801565b90915550600090505b838110156113945761151986604051806020016040528060008152508787858181106114fa576114fa6157bc565b905060200201602081019061150f919061585b565b61136a8587615801565b83828151811061152b5761152b6157bc565b60209081029190910101526001016114cc565b610b9e838383604051806020016040528060008152506120e7565b611561612c9c565b61156b3382612a48565b6115b75760405162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206973206e6f74206f776e6572206f7220617070726f766564006044820152606401610986565b60006115c282611838565b905060006115cf836129ed565b90506115da836131ef565b6115e58284836132ae565b50506109986001606555565b600054610100900460ff16158080156116115750600054600160ff909116105b8061162b5750303b15801561162b575060005460ff166001145b61169d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610986565b6000805460ff1916600117905580156116c0576000805461ff0019166101001790555b6116ca838361336d565b6116d26133e2565b8015610b9e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b3361172f6033546001600160a01b031690565b6001600160a01b0316148061174a575061174a6066336126d3565b6117905760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61099881613455565b6117a1612cf5565b8281146117e05760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606401610986565b60005b83811015610d5f57611830858583818110611800576118006157bc565b90506020020135848484818110611819576118196157bc565b905060200281019061182b9190615814565b6134a9565b6001016117e3565b6000818152606a60205260408120546001600160a01b0316806109105760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610986565b6118a5612cf5565b61102f82826134b3565b6118b7612eac565b6118c26066826126d3565b6109985760405133906001600160a01b038316907f7e1a1a08d52e4ba0e21554733d66165fd5151f99460116223d9e3a608eec5cb190600090a361102f6066826134cd565b60006001600160a01b0382166119855760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610986565b506001600160a01b03166000908152606b602052604090205490565b6119a9612eac565b6119b360006134e2565b565b60006119bf612c9c565b336119d26033546001600160a01b031690565b6001600160a01b031614806119ed57506119ed6066336126d3565b611a335760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b610f5a82604051806020016040528060008152506000613534565b6000611a58612c9c565b33611a6b6033546001600160a01b031690565b6001600160a01b03161480611a865750611a866066336126d3565b611acc5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b611b0c8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250613534915050565b90506113a06001606555565b6060611b22612c9c565b33611b356033546001600160a01b031690565b6001600160a01b03161480611b505750611b506066336126d3565b611b965760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b8167ffffffffffffffff811115611baf57611baf6153be565b604051908082528060200260200182016040528015611bd8578160200160208202803683370190505b5090506000606e546001611bec9190615801565b905083839050606e6000828254611c039190615801565b90915550600090505b8381101561139457611c8286868684818110611c2a57611c2a6157bc565b9050602002810190611c3c9190615814565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c7d9250869150879050615801565b613534565b838281518110611c9457611c946157bc565b6020908102919091010152600101611c0c565b611caf612cf5565b610b9e8383836131b2565b6060611cc660706130af565b67ffffffffffffffff811115611cde57611cde6153be565b604051908082528060200260200182016040528015611d07578160200160208202803683370190505b50905060005b611d1760706130af565b8110156111e657611d296070826130b9565b828281518110611d3b57611d3b6157bc565b6001600160a01b0390921660209283029190910190910152600101611d0d565b6060606980546109aa90615788565b33611d7d6033546001600160a01b031690565b6001600160a01b03161480611d985750611d986066336126d3565b611dde5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61102f828261358b565b61102f3383836135c0565b33611e066033546001600160a01b031690565b6001600160a01b03161480611e215750611e216066336126d3565b611e675760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b828114611ea65760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606401610986565b60005b83811015610d5f57611ef6858583818110611ec657611ec66157bc565b90506020020135848484818110611edf57611edf6157bc565b9050602002810190611ef19190615814565b6128e2565b600101611ea9565b611f06612cf5565b610998338261368e565b6060611f1a612c9c565b33611f2d6033546001600160a01b031690565b6001600160a01b03161480611f485750611f486066336126d3565b611f8e5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b8161ffff1667ffffffffffffffff811115611fab57611fab6153be565b604051908082528060200260200182016040528015611fd4578160200160208202803683370190505b5090506000606e546001611fe89190615801565b90508261ffff16606e60008282546120009190615801565b90915550600090505b8361ffff1681101561205a5761203585604051806020016040528060008152508385611c7d9190615801565b838281518110612047576120476157bc565b6020908102919091010152600101612009565b50506109106001606555565b336120796033546001600160a01b031690565b6001600160a01b0316148061209457506120946066336126d3565b6120da5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b610d5f85858585856130c5565b6120f13383612a48565b6121535760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608401610986565b61126c8484848461371c565b6000818152606a60205260409020546060906001600160a01b03166121ba5760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b610910826137a5565b6060806121e7836000908152606a60205260409020546001600160a01b0316151590565b6122275760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b612230836137ac565b91509150915091565b6000818152606a60205260409020546060906001600160a01b03166122945760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b61091082613b5c565b336122b06033546001600160a01b031690565b6001600160a01b031614806122cb57506122cb6066336126d3565b6123115760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61099881613e48565b6000612324612c9c565b61232c612cf5565b6123488360405180602001604052806000815250846000612d4c565b90506109106001606555565b606061235e612c9c565b612366612cf5565b8161ffff1667ffffffffffffffff811115612383576123836153be565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b5090506000606e5460016123c09190615801565b90508261ffff16606e60008282546123d89190615801565b90915550600090505b8361ffff1681101561205a5761240f85604051806020016040528060008152506000848661136a9190615801565b838281518110612421576124216157bc565b60209081029190910101526001016123e1565b61243c612cf5565b610b9e8383836134a9565b3361245a6033546001600160a01b031690565b6001600160a01b0316148061247557506124756066336126d3565b6124bb5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61102f8282613e89565b6124cd612eac565b6001600160a01b0381166125495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610986565b610998816134e2565b600061255c612c9c565b612564612cf5565b611b0c8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250829150612d4c9050565b60006001600160e01b031982167fb5d2729f00000000000000000000000000000000000000000000000000000000148061260957506001600160e01b031982167f9088c20700000000000000000000000000000000000000000000000000000000145b80610910575061091082613fcc565b60006001600160e01b031982167f80ac58cd00000000000000000000000000000000000000000000000000000000148061090157506001600160e01b031982167f5b5e139f0000000000000000000000000000000000000000000000000000000014806109105750610910825b60006001600160e01b031982167f553e757e00000000000000000000000000000000000000000000000000000000148061091057506301ffc9a760e01b6001600160e01b0319831614610910565b6001600160a01b038116600090815260018301602052604081205415156113a0565b6001600160a01b0381161580159061271657506001600160a01b0381163014155b6127625760405162461bcd60e51b815260206004820152601960248201527f43616e6e6f7420626c61636b6c69737420796f757273656c66000000000000006044820152606401610986565b61276d6070826126d3565b156127b55760405133906001600160a01b038316907fd19cf84cf0fec6bec9ddfa29c63adf83a55707c712f32c8285d6180a7890147990600090a36127b3607082612f06565b505b6127c06072826126d3565b6109985760405133906001600160a01b038316907f05ac7bc5a606cd92a63365f9fda244499b9add0526b22d99937b6bd88181059c90600090a361102f6072826134cd565b6000818152606a60205260409020546001600160a01b03166109985760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610986565b6000818152606c6020526040902080546001600160a01b0319166001600160a01b038416908117909155819061289e82611838565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60606113a0826137ac565b6000831180156128f45750606e548311155b801561291157506000612906846129ed565b6001600160a01b0316145b61294d5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a37b5b2b760991b6044820152606401610986565b600083815260776020526040902061126c8284836158bc565b61297284848484614113565b600085815260796020526040812061298991614e23565b6129a884848484607960008b81526020019081526020016000206141de565b847fabb46fe0761d77584bde75697647804ffd8113abd4d8d06bc664150395eccdee858585856040516129de949392919061597c565b60405180910390a25050505050565b6000818152606a6020526040812054600160a01b90046bffffffffffffffffffffffff81169061ffff168203612a265750600092915050565b61ffff166000908152607e60205260409020546001600160a01b031692915050565b600080612a5483611838565b9050806001600160a01b0316846001600160a01b03161480612a9b57506001600160a01b038082166000908152606d602090815260408083209388168352929052205460ff165b80612abf5750836001600160a01b0316612ab484610a2d565b6001600160a01b0316145b949350505050565b6000818152606a60209081526040918290208251808401909352546001600160a01b03808216808552600160a01b9092046bffffffffffffffffffffffff16928401929092529085168114612b845760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610986565b6001600160a01b038416612bff5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610986565b6020820151612c10868686846142a8565b612c1b600085612869565b6001600160a01b038087166000818152606b60209081526040808320805460001901905593891680835284832080546001019055888352606a90915283822080546001600160a01b031916821790559251879392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a45b505050505050565b600260655403612cee5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610986565b6002606555565b612d006070336126d3565b6119b35760405162461bcd60e51b815260206004820152601c60248201527f4d757374206265207265676973746572656420657874656e73696f6e000000006044820152606401610986565b600081600003612d6f57606e60008154612d65906157e8565b90915550606e5491505b612d7985836142b4565b336000908152607d6020526040902054612dac908690849061ffff16601087901b69ffffffffffffffff00001617614348565b835115612dcd576000828152607760205260409020612dcb8582615a13565b505b509392505050565b600080600080612de4866137ac565b91509150600182511115612e3a5760405162461bcd60e51b815260206004820152601c60248201527f4d6f7265207468616e203120726f79616c7479207265636569766572000000006044820152606401610986565b8151600003612e5157306000935093505050610fcf565b81600081518110612e6457612e646157bc565b60200260200101516127108683600081518110612e8357612e836157bc565b6020026020010151612e959190615ad3565b612e9f9190615aea565b9350935050509250929050565b6033546001600160a01b031633146119b35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610986565b60006113a0836001600160a01b038416614363565b6000805260746020527fccdf39d850e26d5964b24c5391eecfa7a13a375488d6de2101d279419f39a537610b9e8284836158bc565b612f5b6072826126d3565b156109985760405162461bcd60e51b815260206004820152601560248201527f457874656e73696f6e20626c61636b6c697374656400000000000000000000006044820152606401610986565b607c5461ffff90811610612ffe5760405162461bcd60e51b815260206004820152601360248201527f546f6f206d616e7920657874656e73696f6e73000000000000000000000000006044820152606401610986565b6001600160a01b0384166000908152607d602052604081205461ffff1690036130a357607c80546000906130359061ffff16615b0c565b82546101009290920a61ffff818102199093169183160217909155607c80546001600160a01b0387166000818152607d60209081526040808320805495881661ffff199096169590951790945593549094168452607e90925290912080546001600160a01b03191690911790555b61126c84848484614456565b6000610910825490565b60006113a08383614559565b6130d184848484614113565b6001600160a01b03851660009081526078602052604081206130f291614e23565b61312384848484607860008b6001600160a01b03166001600160a01b031681526020019081526020016000206141de565b6001600160a01b038516613173577f2b6849d5976d799a5b0ca4dfd6b40a3d7afe9ea72c091fa01a958594f9a2659b84848484604051613166949392919061597c565b60405180910390a1610d5f565b846001600160a01b03167f535a93d2cb000582c0ebeaa9be4890ec6a287f98eb2df00c54c300612fd78d8f858585856040516129de949392919061597c565b3360009081526074602052604090206131cc8385836158bc565b50336000908152607560205260409020805460ff19169115159190911790555050565b6000818152606a602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046bffffffffffffffffffffffff16928201839052909290919061324490839086846142a8565b61324f600085612869565b6001600160a01b0382166000818152606b602090815260408083208054600019019055878352606a909152808220829055518692907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461126c565b6001600160a01b03811615613336576132ce816311686e4b60e21b614583565b15613336576040516311686e4b60e21b81526001600160a01b038481166004830152602482018490528216906345a1b92c90604401600060405180830381600087803b15801561331d57600080fd5b505af1158015613331573d6000803e3d6000fd5b505050505b6000828152607760205260409020805461334f90615788565b159050610b9e576000828152607760205260408120610b9e91614e41565b600054610100900460ff166133d85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610986565b61102f828261459f565b600054610100900460ff1661344d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610986565b6119b3614623565b606f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f959c0e47a2fe3cf01e237ba4892e2cc3194d77cbfb33e434e40873225d6b595f9060200160405180910390a150565b33612906846129ed565b336000908152607660205260409020610b9e8284836158bc565b60006113a0836001600160a01b038416614697565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008160000361355757606e6000815461354d906157e8565b90915550606e5491505b61356384836000614348565b8251156135845760008281526077602052604090206135828482615a13565b505b5092915050565b6000805260766020527fafbc767fed27552cbeceb3d11150dacedabc53b0cc52ac5aa6285a747a181958610b9e8284836158bc565b816001600160a01b0316836001600160a01b0316036136215760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610986565b6001600160a01b038381166000818152606d6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6136b8827f45ffcdad00000000000000000000000000000000000000000000000000000000614583565b1561102f576001600160a01b0382166000818152607a6020908152604091829020805460ff191685151590811790915591519182527f072a7592283e2c2d1d56d21517ff6013325e0f55483f4828373ff4d98b0a1a36910160405180910390a25050565b613727848484612ac7565b613733848484846146e6565b61126c5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610986565b6060613584825b606080600060796000858152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561382e57600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900461ffff16818301528252600190920191016137e4565b505050509050805160000361397b576000613848856129ed565b90506001600160a01b038116156139795761386a81634e53ee3d60e11b614583565b156138f557604051634e53ee3d60e11b8152306004820152602481018690526001600160a01b03821690639ca7dc7a90604401600060405180830381865afa1580156138ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526138e29190810190615bb7565b81519195509350156138f5575050915091565b6001600160a01b038116600090815260786020908152604080832080548251818502810185019093528083529193909284015b8282101561397257600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900461ffff1681830152825260019092019101613928565b5050505091505b505b8051600003613a1e576000808052607860209081527f081a134e404bb5bca49ef6b8477e647c1205f6d43d6a20bb692a968ac5aa71448054604080518285028101850190915281815293919290919084015b82821015613a1757600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900461ffff16818301528252600190920191016139cd565b5050505090505b805115613b5657805167ffffffffffffffff811115613a3f57613a3f6153be565b604051908082528060200260200182016040528015613a68578160200160208202803683370190505b509250805167ffffffffffffffff811115613a8557613a856153be565b604051908082528060200260200182016040528015613aae578160200160208202803683370190505b50915060005b8151811015613b5457818181518110613acf57613acf6157bc565b602002602001015160000151848281518110613aed57613aed6157bc565b60200260200101906001600160a01b031690816001600160a01b031681525050818181518110613b1f57613b1f6157bc565b60200260200101516020015161ffff16838281518110613b4157613b416157bc565b6020908102919091010152600101613ab4565b505b50915091565b6060600082118015613b705750606e548211155b613bac5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a37b5b2b760991b6044820152606401610986565b6000613bb7836129ed565b9050613bc46072826126d3565b15613c115760405162461bcd60e51b815260206004820152601560248201527f457874656e73696f6e20626c61636b6c697374656400000000000000000000006044820152606401610986565b60008381526077602052604090208054613c2a90615788565b159050613d44576001600160a01b03811660009081526076602052604090208054613c5490615788565b159050613ca5576001600160a01b038116600090815260766020908152604080832086845260778352928190209051613c8e939201615ce5565b604051602081830303815290604052915050919050565b60008381526077602052604090208054613cbe90615788565b80601f0160208091040260200160405190810160405280929190818152602001828054613cea90615788565b8015613d375780601f10613d0c57610100808354040283529160200191613d37565b820191906000526020600020905b815481529060010190602001808311613d1a57829003601f168201915b5050505050915050919050565b613d558163e9dc637560e01b614583565b15613dcd5760405163e9dc637560e01b8152306004820152602481018490526001600160a01b0382169063e9dc637590604401600060405180830381865afa158015613da5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113a09190810190615cfa565b6001600160a01b03811660009081526075602052604090205460ff16613e1f576001600160a01b0381166000908152607460205260409020613e0e8461483a565b604051602001613c8e929190615d68565b6001600160a01b03811660009081526074602052604090208054613cbe90615788565b50919050565b60405133906001600160a01b038316907fd19cf84cf0fec6bec9ddfa29c63adf83a55707c712f32c8285d6180a7890147990600090a361102f607082612f06565b613e946070836126d3565b613ee05760405162461bcd60e51b815260206004820152601e60248201527f43726561746f72436f72653a20496e76616c696420657874656e73696f6e00006044820152606401610986565b6001600160a01b0381161580613f025750613f0281631e05385b60e31b614583565b613f4e5760405162461bcd60e51b815260206004820152600f60248201527f496e76616c6964206164647265737300000000000000000000000000000000006044820152606401610986565b6001600160a01b038281166000908152607b602052604090205481169082161461102f576001600160a01b038281166000818152607b602052604080822080546001600160a01b031916948616948517905551339392917f6a835c4fcf7e0d398db3762332fdaa1471814ad39f1e2d6d0b3fdabf8efee3e091a45050565b60006001600160e01b031982167f5365e65c00000000000000000000000000000000000000000000000000000000148061402f57506001600160e01b031982167f28f10a2100000000000000000000000000000000000000000000000000000000145b8061403e575061403e82612618565b8061407257506001600160e01b031982167fbb3bafd600000000000000000000000000000000000000000000000000000000145b806140a657506001600160e01b031982167fb779958400000000000000000000000000000000000000000000000000000000145b806140da57506001600160e01b031982167fd5a06d4c00000000000000000000000000000000000000000000000000000000145b8061091057506001600160e01b031982167f2a55205a000000000000000000000000000000000000000000000000000000001492915050565b8281146141525760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606401610986565b6000805b8281101561418c57838382818110614170576141706157bc565b90506020020135826141829190615801565b9150600101614156565b506127108110610d5f5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420746f74616c20726f79616c746965730000000000000000006044820152606401610986565b60005b82811015612c9457816040518060400160405280888885818110614207576142076157bc565b905060200201602081019061421c9190614f06565b6001600160a01b0316815260200186868581811061423c5761423c6157bc565b61ffff602091820293909301358316909352508354600181810186556000958652948390208451910180549490930151909116600160a01b0275ffffffffffffffffffffffffffffffffffffffffffff199093166001600160a01b0390911617919091179055016141e1565b61126c848484846148da565b336000908152607b60205260409020546001600160a01b03161561102f57336000818152607b602052604090819020549051631e05385b60e31b815260048101929092526001600160a01b03848116602484015260448301849052169063f029c2d890606401600060405180830381600087803b15801561433457600080fd5b505af1158015612c94573d6000803e3d6000fd5b610b9e83838360405180602001604052806000815250614915565b6000818152600183016020526040812054801561444c576000614387600183615d8d565b855490915060009061439b90600190615d8d565b90508181146144005760008660000182815481106143bb576143bb6157bc565b90600052602060002001549050808760000184815481106143de576143de6157bc565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061441157614411615da0565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610910565b6000915050610910565b6001600160a01b038416301480159061447857506001600160a01b0384163b15155b6144c45760405162461bcd60e51b815260206004820152600760248201527f496e76616c6964000000000000000000000000000000000000000000000000006044820152606401610986565b60405133906001600160a01b038616907fd8cb8ba4086944eabf43c5535b7712015e4d4c714b24bf812c040ea5b7a3e42a90600090a36001600160a01b038416600090815260746020526040902061451d8385836158bc565b506001600160a01b0384166000908152607560205260409020805460ff191682151517905561454d6070856134cd565b5061126c84600161368e565b6000826000018281548110614570576145706157bc565b9060005260206000200154905092915050565b600061458e83614a78565b80156113a057506113a08383614aab565b600054610100900460ff1661460a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610986565b60686146168382615a13565b506069610b9e8282615a13565b600054610100900460ff1661468e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610986565b6119b3336134e2565b60008181526001830160205260408120546146de57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610910565b506000610910565b60006001600160a01b0384163b1561483257604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061472a903390899088908890600401615db6565b6020604051808303816000875af1925050508015614765575060408051601f3d908101601f1916820190925261476291810190615df2565b60015b614818573d808015614793576040519150601f19603f3d011682016040523d82523d6000602084013e614798565b606091505b5080516000036148105760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610986565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612abf565b506001612abf565b6060600061484783614b49565b600101905060008167ffffffffffffffff811115614867576148676153be565b6040519080825280601f01601f191660200182016040528015614891576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461489b57509392505050565b6001600160a01b0384161561126c5761ffff81166000908152607e602052604090205461126c908590859085906001600160a01b0316614c2b565b6001600160a01b03841661496b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610986565b6000838152606a60205260409020546001600160a01b0316156149d05760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610986565b6149dd60008585856142a8565b6001600160a01b038085166000818152606b6020908152604080832080546001019055805180820182528481526bffffffffffffffffffffffff8089168285019081528a8652606a9094528285209151935116600160a01b02929095169190911790935591518592907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461373360008585846146e6565b6000614a8b826301ffc9a760e01b614aab565b80156109105750614aa4826001600160e01b0319614aab565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015614b32575060208210155b8015614b3e5750600081115b979650505050505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310614b92577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614bbe576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310614bdc57662386f26fc10000830492506010015b6305f5e1008310614bf4576305f5e100830492506008015b6127108310614c0857612710830492506004015b60648310614c1a576064830492506002015b600a83106109105760010192915050565b6001600160a01b0384161561126c576001600160a01b03811615801590614c6a57506001600160a01b0381166000908152607a602052604090205460ff165b15614d4157604051632f3537c560e11b81523360048201526001600160a01b038581166024830152848116604483015260648201849052821690635e6a6f8a906084016020604051808303816000875af1158015614ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cf09190615e0f565b614d3c5760405162461bcd60e51b815260206004820152601a60248201527f457874656e73696f6e20617070726f76616c206661696c7572650000000000006044820152606401610986565b61126c565b606f546001600160a01b03161561126c57606f54604051632f3537c560e11b81523360048201526001600160a01b03868116602483015285811660448301526064820185905290911690635e6a6f8a906084016020604051808303816000875af1158015614db3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614dd79190615e0f565b61126c5760405162461bcd60e51b815260206004820152601a60248201527f457874656e73696f6e20617070726f76616c206661696c7572650000000000006044820152606401610986565b50805460008255906000526020600020908101906109989190614e7b565b508054614e4d90615788565b6000825580601f10614e5d575050565b601f0160209004906000526020600020908101906109989190614ea9565b5b808211156111e657805475ffffffffffffffffffffffffffffffffffffffffffff19168155600101614e7c565b5b808211156111e65760008155600101614eaa565b6001600160e01b03198116811461099857600080fd5b600060208284031215614ee657600080fd5b81356113a081614ebe565b6001600160a01b038116811461099857600080fd5b600060208284031215614f1857600080fd5b81356113a081614ef1565b60005b83811015614f3e578181015183820152602001614f26565b50506000910152565b60008151808452614f5f816020860160208601614f23565b601f01601f19169290920160200192915050565b6020815260006113a06020830184614f47565b600060208284031215614f9857600080fd5b5035919050565b60008060408385031215614fb257600080fd5b8235614fbd81614ef1565b946020939093013593505050565b600081518084526020808501945080840160005b83811015614ffb57815187529582019590820190600101614fdf565b509495945050505050565b6020815260006113a06020830184614fcb565b60008083601f84011261502b57600080fd5b50813567ffffffffffffffff81111561504357600080fd5b602083019150836020828501011115610fcf57600080fd5b60008060006040848603121561507057600080fd5b83359250602084013567ffffffffffffffff81111561508e57600080fd5b61509a86828701615019565b9497909650939450505050565b60008083601f8401126150b957600080fd5b50813567ffffffffffffffff8111156150d157600080fd5b6020830191508360208260051b8501011115610fcf57600080fd5b60008060008060006060868803121561510457600080fd5b85359450602086013567ffffffffffffffff8082111561512357600080fd5b61512f89838a016150a7565b9096509450604088013591508082111561514857600080fd5b50615155888289016150a7565b969995985093965092949392505050565b60008060006060848603121561517b57600080fd5b833561518681614ef1565b9250602084013561519681614ef1565b929592945050506040919091013590565b600080604083850312156151ba57600080fd5b50508035926020909101359150565b600080602083850312156151dc57600080fd5b823567ffffffffffffffff8111156151f357600080fd5b6151ff85828601615019565b90969095509350505050565b60008060006040848603121561522057600080fd5b833561522b81614ef1565b9250602084013567ffffffffffffffff81111561508e57600080fd5b6020808252825182820181905260009190848201906040850190845b818110156152885783516001600160a01b031683529284019291840191600101615263565b50909695505050505050565b600080600080604085870312156152aa57600080fd5b843567ffffffffffffffff808211156152c257600080fd5b6152ce888389016150a7565b909650945060208701359150808211156152e757600080fd5b506152f4878288016150a7565b95989497509550505050565b60008060006040848603121561531557600080fd5b833561532081614ef1565b9250602084013567ffffffffffffffff81111561533c57600080fd5b61509a868287016150a7565b801515811461099857600080fd5b6000806000806060858703121561536c57600080fd5b843561537781614ef1565b9350602085013567ffffffffffffffff81111561539357600080fd5b61539f87828801615019565b90945092505060408501356153b381615348565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156153fd576153fd6153be565b604052919050565b600067ffffffffffffffff82111561541f5761541f6153be565b50601f01601f191660200190565b600061544061543b84615405565b6153d4565b905082815283838301111561545457600080fd5b828260208301376000602084830101529392505050565b600082601f83011261547c57600080fd5b6113a08383356020850161542d565b6000806040838503121561549e57600080fd5b823567ffffffffffffffff808211156154b657600080fd5b6154c28683870161546b565b935060208501359150808211156154d857600080fd5b506154e58582860161546b565b9150509250929050565b60008060006040848603121561550457600080fd5b833567ffffffffffffffff81111561551b57600080fd5b61552786828701615019565b909450925050602084013561553b81615348565b809150509250925092565b6000806040838503121561555957600080fd5b823561556481614ef1565b9150602083013561557481615348565b809150509250929050565b60006020828403121561559157600080fd5b81356113a081615348565b600080604083850312156155af57600080fd5b82356155ba81614ef1565b9150602083013561ffff8116811461557457600080fd5b6000806000806000606086880312156155e957600080fd5b85356155f481614ef1565b9450602086013567ffffffffffffffff8082111561512357600080fd5b6000806000806080858703121561562757600080fd5b843561563281614ef1565b9350602085013561564281614ef1565b925060408501359150606085013567ffffffffffffffff81111561566557600080fd5b8501601f8101871361567657600080fd5b6156858782356020840161542d565b91505092959194509250565b600081518084526020808501945080840160005b83811015614ffb5781516001600160a01b0316875295820195908201906001016156a5565b6020815260006113a06020830184615691565b6040815260006156f06040830185615691565b82810360208401526157028185614fcb565b95945050505050565b803569ffffffffffffffffffff81168114610e7757600080fd5b6000806040838503121561573857600080fd5b823561574381614ef1565b91506157516020840161570b565b90509250929050565b6000806040838503121561576d57600080fd5b823561577881614ef1565b9150602083013561557481614ef1565b600181811c9082168061579c57607f821691505b602082108103613e4257634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016157fa576157fa6157d2565b5060010190565b80820180821115610910576109106157d2565b6000808335601e1984360301811261582b57600080fd5b83018035915067ffffffffffffffff82111561584657600080fd5b602001915036819003821315610fcf57600080fd5b60006020828403121561586d57600080fd5b6113a08261570b565b601f821115610b9e57600081815260208120601f850160051c8101602086101561589d5750805b601f850160051c820191505b81811015612c94578281556001016158a9565b67ffffffffffffffff8311156158d4576158d46153be565b6158e8836158e28354615788565b83615876565b6000601f84116001811461591c57600085156159045750838201355b600019600387901b1c1916600186901b178355610d5f565b600083815260209020601f19861690835b8281101561594d578685013582556020948501946001909201910161592d565b508682101561596a5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6040808252810184905260008560608301825b878110156159bf5782356159a281614ef1565b6001600160a01b031682526020928301929091019060010161598f565b5083810360208501528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8511156159f857600080fd5b8460051b915081866020830137016020019695505050505050565b815167ffffffffffffffff811115615a2d57615a2d6153be565b615a4181615a3b8454615788565b84615876565b602080601f831160018114615a765760008415615a5e5750858301515b600019600386901b1c1916600185901b178555612c94565b600085815260208120601f198616915b82811015615aa557888601518255948401946001909101908401615a86565b5085821015615ac35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082028115828204841417610910576109106157d2565b600082615b0757634e487b7160e01b600052601260045260246000fd5b500490565b600061ffff808316818103615b2357615b236157d2565b6001019392505050565b600067ffffffffffffffff821115615b4757615b476153be565b5060051b60200190565b600082601f830112615b6257600080fd5b81516020615b7261543b83615b2d565b82815260059290921b84018101918181019086841115615b9157600080fd5b8286015b84811015615bac5780518352918301918301615b95565b509695505050505050565b60008060408385031215615bca57600080fd5b825167ffffffffffffffff80821115615be257600080fd5b818501915085601f830112615bf657600080fd5b81516020615c0661543b83615b2d565b82815260059290921b84018101918181019089841115615c2557600080fd5b948201945b83861015615c4c578551615c3d81614ef1565b82529482019490820190615c2a565b91880151919650909350505080821115615c6557600080fd5b506154e585828601615b51565b60008154615c7f81615788565b60018281168015615c975760018114615cac57615cdb565b60ff1984168752821515830287019450615cdb565b8560005260208060002060005b85811015615cd25781548a820152908401908201615cb9565b50505082870194505b5050505092915050565b6000612abf615cf48386615c72565b84615c72565b600060208284031215615d0c57600080fd5b815167ffffffffffffffff811115615d2357600080fd5b8201601f81018413615d3457600080fd5b8051615d4261543b82615405565b818152856020838501011115615d5757600080fd5b615702826020830160208601614f23565b6000615d748285615c72565b8351615d84818360208801614f23565b01949350505050565b81810381811115610910576109106157d2565b634e487b7160e01b600052603160045260246000fd5b60006001600160a01b03808716835280861660208401525083604083015260806060830152615de86080830184614f47565b9695505050505050565b600060208284031215615e0457600080fd5b81516113a081614ebe565b600060208284031215615e2157600080fd5b81516113a08161534856fe41646d696e436f6e74726f6c3a204d757374206265206f776e6572206f722061a26469706673582212201a564c1f1cc1a0ca70730291d1f4ef3a90f2a63f760972faddfbc612d326740064736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041ff00582103ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c7041010219010405581d020e266b404302518ad43b315b06cdd85d8de8a5777f5abbb5d76d82c40701195e8205581d02b7b1582dd75619e25aafb784eb0a34d491616de04a206e61b9918de00c0546a934be17797805581d022d502e856a879ed646712d5fb3982a844383cc15263c697d29cf82c40401021910a1031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0307c3e09045939822c158d772d0015d39c8ac626d2682920f7a8d04de4007011bffffffffffffffff03f1e2d8e2f0f31371bd3b842c699fa75abfcbe0bdc576fabfbafda607c5a9429705581e037ed42338d02cdc853d937f5c93ec4acd206d66d7ae61160252a1e065100c0147016b2b852ab63003210a18a2accfbccab2d3993bc69a22431f30bd81687c2b9218c4341aca7f4f1a030e04d3a1b74dbdd904332738a6fbf7978a3be3d2aa2d7bd7a4a4cec497535ceb05581e03a1f893e3f6570ed46d3d27753b61fd282f3b40e324ab85cf9e147e78e007011bffffffffffffffff03dcf182706ef7caf1dfa3ff3529136ec4e3be7dcc63bc11da5930a45aa2e59b05031eb51ff3652baf1ec1824772c84ee11d47b0acb13721ac13a1d3a444c9e1cec805581e03711cb285e67f8d6662e102e550747f809e5b14bfa82c0bfc234d93c90007011bffffffffffffffff05581e037e6a12f6c36c1e8d8956eb68beba854b80502584449568b78ae23aba60040105581e03117a8e32f869bb994fca94d0e55b30195f251dac39b1ca7d3680d19810040105581e0398b126a5d6be5e0c0e1157cc92fca6a457b1fbeebaccdb2a43919e3d000402021989f7039e71bb24b92a1900c4d15aacdd60ebd924d88654ab14ddfae8c62e6b6f7cabbd03ce9eb48fcaf49186c0f209ba777116e14d5e3568e5f0f9c2fa4291aa28ee5f6a033a299f368d050d78e401019206d4cdb097e0ae3c81ba651d1f66c93b6164e6000376c95aff653a1932354f999b640ac4ada7d0eeb7d363b836eaaa6fd53523da0403c1bd1ea07567a377d79e539c031b58443dabe74438fdb536cf6e3067f781735c0336cb1bc9687d0843c2b61f54e9ed8ff1478345026d62209693d411799626eac403de350d46a920d0eff9479e04a6e689b3e677c9ca5073d81abba089d25cd688ac03f88488992bf8d5746a891415cec8c87ed3657c4c901f46f2f12d0dc1e5a0ff0c03a33269277d9104bab5fe7d898301a3f98a9e0fc7f3313f7847e241d8130ad70b03f6a5d508752aa0b80af97c80afa019677acc91eb81f7ebbdf4ae2555686be740031780a0e222baadbab342c9479571ceafb8ba685545d18562b005fdb0014eefee035cc36beb0e80065f8a05a227acb1ff1f00d7ed22d56641be102738a4b9cf31720219ffff03094fe27ebc2f4a4c38aebde8268fab3a89a1b65257b5348e87dac49ef839a3c70219ffff03fbb29c1b7356d4d8decd1a4ff6df9dc68071fb66addc167ce54eb5d57abcf44003f05ef63ef30b25d23e265e435db988b2889723b7299ece440a4833588d648f0e03832b0bfcfa45de50a6fd4303a455468838a416d4bff4dd8f0de7fb090942f1ad038539614da3bb2a4de541d6d688228e8f68b1e2acba20da8fadf5df51243990e503631f4f0c19f63f68bbccb476f0ebaa124db5e6e66056c8600dfe15f0a156df6b0344c75473598445ae8aafe4a79a0e7f54c7c59114ef852232c0ffe70c02b199850340a57c4364a1e1eeea074bd394c87e7dd721128efc1693825060a26b804237d7038b980a87103e5802d68d17440c934e3ccfada11a361fb8aff03ce535dc337998033cf2e205d101e8b131ffbd8f7c112365c71860e0e76fa6a6ce302583a5e9c6dc0219ffff03b7fa059d8bc3150caa276307d6fce7b5a65d4ed8ce99a726d687b13577c0cf7e0219ffff03d4a8a0542abc54896770519f3babec65dd670ef7179fde1c4e884c7233164938036923b3d9f56683b94b9ff73376f1eebc8a22c3c98eca223f2d30af34e9478a5003cf0bdda2a8783f57b2dad807899f2693c7c1baa9a3127aa63a038b6ed3d2f4670333a88894c943e6f82026dd0871219c6ac8bf1fb057a2d1ec5619acb9e9cf324703e188dfbac833a8d05a210734f922bfc821b8a87a17d0b4144fd8eb1657ea9c42030444bf260e2bb35c5701d91f602e107714361be44779bbdba4c3be4737725e0e033f58c1d791445ef32dd305ecd075fad82e432e2a3bf8472679f67ed10aeace9b03ae64f9bbd302de459610b2854299e2fc24f64133e478bf8206c0a97df349fba903b310a4166664e3d4e1ddb49480c87694b9db5b89b5589bec41bd56bf36bce52103c601420cccf805203ca4b4475873578b2e7a89f6108a8b83a7e637ca4f81e4e3032dbe0fd276c13ad1bfaa4b11d380c6717427cb2ccd8e2fe21b60102e7878a37803d77edb591ec816ad42242c4f0dccca61435a4955035df8b2d58b691a4795c976031436942255ac2c5aabe7195f079d07675f806e468304e50a75501cff94c8caa6035e48b8b652226dfaddfa73689e1a41a0039f5625c00438abe37c3324e88eade5033ab46622544124e80f9337a13efd4a2ceacbeea275b1cc9e4d6a4f63a4fc0bd003da9c19104c008ffa553d021039e99f5c234e061cf3747a9fc1cc15025f8b41da03c0f1858ed02aa8376bb247b48c487394c1eda60952f38421c0aabbe1999cca520384edd0e4058b847ad4718dd163cd4433c8a0e862c64e9b018ce44cb13a0869950375fcef316e6ac1f07b486d7b54411f278a8bbb73ff1d891ea88617bc138450e703cb6c960d560616643bdb9ae3d3dadbad37e1a60e5ef9faf005483512c4d4b94103d1dcc9d44db8274360fdc3d2c585bd0f59b86e140c917d160a72a12d2e80206f03f65a33e4dcdd4e2e6bf4fc86907c22c751c10cc5465a28bc24aa80fc1e8828dc05581e0371fd2f321355262586773a2b78366c07a0d87f16914e07572c9e81b1b00c0246994c4371fce005581e034490247940ea3cac102456b7e335a95e66b86674f44a9e97341d7e5740040105581e03fee64bbbd7416d43142f870fead28a08dcc84815ce58e084ff8dc166f0040303ed9825e86d8795f472169393c28610dc28658148fee688b51f02f2c23bc6a63605581e03b866edfb9c910a2e9d6063f6fae29f9fc069dcac5509984411ff977be0040205581e03a51435336431aa1dc3ba828aa134355af27f0f058e43ff9943170a2e700c0347192db7de7f5b0403613aad3f549db34d7a31f68ff42c4d32e3604a6e4f23012700d309eb75b5dc8502198ab603986d88c39820fcaf42791a2e5fa8041dcc92767f87602478b300909723af73ac03b4d2225dfe6b0264fdb84e232c51239e0db85a08107d92df17b3112048b9b813039fa341e184840a8639850279e2d95e9749da6058fd59fa16a3ffe55144b138eb031108345811ff4069c641ae55b36e0cb958fecf548ad85794248f1bfc69b2980d03f35e61c441ac6c8d257bc5816da1d7444eb6bf4d66d7023f220cd16f14c723d503cc81d89b9aebe562c9deb1571971f7b5475e34166fefd683eb598d6be3ac3902031c4950475b8aa993c07f4b09fce7445df0aa829db11310b29f6d269348304d7303a1087749793f20a0ae92e8902df689bef0f52d1cee2506c85eb856c7c9749a2303a948215c98ad214bb8f80bb2c71ca1478088cdd50d6912f64282fce93477586203a19dff13768a9ffcf057c099ab67a9a1092f7184f9805157bc45c55a4809cc3b0347d2a68afdd8b20f62eaafe71098e7ec2c63652e05e5d00ec0886b3e93612f950391c0e6985904833281b3bffb1d292a973aff0ab5e93f114566b92ca17542a37603a0465a15ce80e61dac41ffd741e232dbf0f02c4cb4b22ef42ccc23d541b778370219ffff038321ae6e07a24096e425d07067359e0ff6f9024222fa273a25ccd62f93deb55c036e9c2e71a8607cc527d3337ffeb8af9a6b4a28f7c417d11c5d04b44b53aee022038510b2a3881a7301728a4e4bc2f751b6c28843f4e4fc0f19bee5c59f746cef1d036c5a291f98f6d03b74b8e2d68f6fd5552dc558d099e10a79f9cafcd88d4e7d7703db549681a78963f8329218a0cbcb7379f32a4d660a4ce87ee64debb3b0606a8a03c58ac7e8d6fdc35d52d39de951a7e2f8e53761945f46ae691c76f4e63446c3660357bafb0e1abea0e20ba97cc304c54d9e035da1b5d466a26786d3f5223f8b0083033108e7903387a76ec71b9f3bba2387d59bf2c0869b0f04a88009d14c9fbe5dd40219ffff035d9fd2bc9386f82becab09d705c917049e52dbd312e42859d9b24459a68bde4503a28355585ee2d68408a7c007ffc8de4a2dec546f67a548f1f10730e2e05289e803095db214d77b51b0a0421b4c4c49b70c6d0fb34c743395aea83e7917e3aaabe003d94bbe53bafa2538711c293026a3e028adbc5fb8763fb92dd21dbb2b088900750346583953615951001a10ed082b912dc8e7a773c08a49e7b6d522500f7382d4150391f4aac89b9e0f6fb982e46d3fdc845ee65c61ab15a0f6e74a82d15ac8b4dc1a0369185b8b59354f447178f35ba9fbe89ecae9196e309a481a9eb1e800bd20c3cd0219ffff037428cb21f646780ec302ae7cf9c524468dbac2f37878e16cc25e7ad22ecba9c703fec9cdda1783142556f20c551c536f9bde0ce428dad22a2fb3ea5daee05870190399f31936b8544ae3909830b5ccb47e8e37e1f19487e3c1cc9d55f58ad38fa2d5035eb473c038a471d35663fabcc5ce1e866a424e74891a26dbfc7d08b21f35584803dada55552e6e52777f7f1ba6752856df775c348ce2fec08578f3456290163528031fd80c6ff0f1314e4401a34f26550cec8e4782106029be92b0f928bce41789f303e846b8a2d5aaa53e8631e5d345ae222a6e82074ef7a7ed8658e6856ad78a016a031e67916eff6e090d3b10697aafcda07186908cdbd9a5dd16bfc2b93d54833d8703824b7fa989552a8e9993932706b467d84d3644e8fd2ce6adaf1b6524dff44e7a0385337b775cf0bd0b0b2dfb1a8e3c53be654bd08476a656494cb905fd92805d65036ae8f5e41a58d161f5c04f40890dbac09eb44e68282032639c2e6cf2c9e05afd03cec884e37bce90ad75a2d0240673cdb8441ea7a70e46ca2b3cfb24ec99fbe22203613d1125b0724ac12291b34160096f63c181a0a875f000c8d48cf26acebe0f2b03992cf5593da98b845666411d71378f82df837e640367b9ff5d5ef1f05d86714e035e8911d6530d69c82f645ac251abfdafc899522862c28e947afc0adc03f12f5a035f633817c1d76a6993cd80132f7e2897b35e68a7de697d9305b9f1139a6bb562033132ff48908e4b16463ee563e8ddfbd8d1161a0293d1e8f56fd38fcbbc53bc5103e15237f973850378cbc74c32a05851b4e5c54bb2853dd4c8df4ec4ee840d5d4603bc8ecd8e38096d5ac7877859bccc3798a979f76724d3352bae561e02613217b7033ec94356f43f1510eb8a8a0c2901358048b6875356d15b667fa564fae228b65503b2a31c9e675ddd4b6c4653c022f502d562310a38dccadedc9a58e0325773680503f0532d04b019218d65f0ffa7054a54d789c7a157fc2c29de77774c9f55fb4ce103edad36513ae633b0065b64dc735a76570e0b461f114996447c1c3db0fb6ca95c035d0784cf5aaf052cad2524ac47ee94040285433556c4d9ac48fa7d4998cac25903202ed98aa0f9b033f4c02a0615f1dd1c660a2b715549762948c3c02d5f4def7703b4d2a11cf2e4b7ed37b1eb7333cd14f5c01336e2a09598ee82e7fb57a0f8f550032893bc5e4bcf1abccdcce0b33975a3dd3b8415ab9b2d6f5bf005bfa1835386750351fa24ae2c7c3dd4903c0ecda5a9047b0e5dc3dd5b40369a58ffe76e01ad1c0a03431d6165e9aa39c7eb25b83784b03e41eab3565d52eaad4ea63f965d596eadf304592c8d6080604052600436106101625760003560e01c806352d1902d116100c0578063bb6f2e0611610074578063c6c8788c11610059578063c6c8788c146103ea578063f340fa0114610425578063f4a120f71461043857600080fd5b8063bb6f2e061461039d578063c12327b8146103bd57600080fd5b8063b187bd26116100a5578063b187bd261461034d578063b6e2713614610367578063b78103e91461038757600080fd5b806352d1902d146102f4578063a0d99b1c1461031757600080fd5b806339cc123011610117578063485cc955116100fc578063485cc955146102a15780634922d481146102c15780634f1ef286146102e157600080fd5b806339cc123014610230578063401e68d41461025057600080fd5b80631b0c926f116101485780631b0c926f146101ae578063316be171146101ce5780633659cfe61461021057600080fd5b80625bc12e1461017b578063051d92bb1461018e57600080fd5b36610176576101746000333334610458565b005b600080fd5b61017461018936600461262b565b6106e6565b34801561019a57600080fd5b506101746101a93660046127e8565b6106f6565b3480156101ba57600080fd5b506101746101c93660046128ce565b610b8b565b3480156101da57600080fd5b506097546101f39061010090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561021c57600080fd5b5061017461022b3660046128e7565b610c67565b34801561023c57600080fd5b506098546101f3906001600160a01b031681565b34801561025c57600080fd5b5061029161026b366004612904565b609d60209081526000938452604080852082529284528284209052825290205460ff1681565b6040519015158152602001610207565b3480156102ad57600080fd5b506101746102bc36600461262b565b610e04565b3480156102cd57600080fd5b506101746102dc3660046128e7565b611011565b6101746102ef366004612946565b61118b565b34801561030057600080fd5b50610309611315565b604051908152602001610207565b34801561032357600080fd5b506101f36103323660046128e7565b609a602052600090815260409020546001600160a01b031681565b34801561035957600080fd5b506097546102919060ff1681565b34801561037357600080fd5b506101746103823660046129a4565b6113da565b34801561039357600080fd5b5061030960995481565b3480156103a957600080fd5b506101746103b83660046128e7565b6114e2565b3480156103c957600080fd5b506103096103d83660046128e7565b609b6020526000908152604090205481565b3480156103f657600080fd5b506102916104053660046129c1565b609c60209081526000928352604080842090915290825290205460ff1681565b6101746104333660046128e7565b6115f3565b34801561044457600080fd5b506101746104533660046128e7565b6115ff565b60975460ff16156104b05760405162461bcd60e51b815260206004820152600660248201527f506175736564000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6098546001600160a01b03166105085760405162461bcd60e51b815260206004820152600d60248201527f4e6f7420737570706f727465640000000000000000000000000000000000000060448201526064016104a7565b600081116105585760405162461bcd60e51b815260206004820152601160248201527f4e6f7420656e6f75676820616d6f756e7400000000000000000000000000000060448201526064016104a7565b6001600160a01b0382166105ae5760405162461bcd60e51b815260206004820152600f60248201527f496e76616c69642061646472657373000000000000000000000000000000000060448201526064016104a7565b6001600160a01b038481166000908152609a6020526040902054166106155760405162461bcd60e51b815260206004820152600d60248201527f4e6f7420737570706f727465640000000000000000000000000000000000000060448201526064016104a7565b6001600160a01b038381166000818152609b6020908152604080832054898616808552609a845293829020548251938401959095529082018190526060820192909252918316608083015291841660a082015260c081018390527f435881434a980001db54827793d55b4f3b751d216ed457d0f2a143220ae06d259060e00160408051601f19818403018152908290526106ae91612a3d565b60405180910390a16001600160a01b0384166000908152609b602052604081208054916106da83612a7f565b91905055505050505050565b6106f282338334610458565b5050565b6106fe6118db565b60975460ff16156107515760405162461bcd60e51b815260206004820152600660248201527f506175736564000000000000000000000000000000000000000000000000000060448201526064016104a7565b6000806000806000808680602001905181019061076e9190612ab7565b609854959b509399509197509550935091506001600160a01b03166107d55760405162461bcd60e51b815260206004820152600f60248201527f4e6f7420696d706c656d656e746564000000000000000000000000000000000060448201526064016104a7565b600081116108255760405162461bcd60e51b815260206004820152601160248201527f4e6f7420656e6f75676820616d6f756e7400000000000000000000000000000060448201526064016104a7565b6001600160a01b03821661087b5760405162461bcd60e51b815260206004820152600f60248201527f496e76616c69642061646472657373000000000000000000000000000000000060448201526064016104a7565b6001600160a01b0386166000908152609c6020908152604080832088845290915290205460ff16156108ef5760405162461bcd60e51b815260206004820152601660248201527f4f7264657220616c72656164792065786563757465640000000000000000000060448201526064016104a7565b87518951146109405760405162461bcd60e51b815260206004820152600e60248201527f496e707574206d69736d6174636800000000000000000000000000000000000060448201526064016104a7565b6001600160a01b038481166000908152609a60205260409020548116908416146109ac5760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420746f6b656e2067617465776179000000000000000000000060448201526064016104a7565b600046886040516020016109c1929190612b2a565b604051602081830303815290604052805190602001209050610a5d87878c8c85609760019054906101000a90046001600160a01b03166001600160a01b03166365ee35576040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a589190612b50565b611934565b6001600160a01b038781166000908152609c602090815260408083208a845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905551909185169084908381818185875af1925050503d8060008114610aeb576040519150601f19603f3d011682016040523d82523d6000602084013e610af0565b606091505b5050905080610b415760405162461bcd60e51b815260206004820152601360248201527f455448207472616e73666572206661696c65640000000000000000000000000060448201526064016104a7565b6040518281527fdb8766dc7a4cbe0b9d514534307d6ed0bc09c930e535e9c61badb099479e13b69060200160405180910390a15050505050505050610b866001606555565b505050565b609760019054906101000a90046001600160a01b03166001600160a01b0316633c81df216040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c029190612b69565b6001600160a01b0316336001600160a01b031614610c625760405162461bcd60e51b815260206004820152601160248201527f4d756c746973696720726571756972656400000000000000000000000000000060448201526064016104a7565b609955565b6001600160a01b037f000000000000000000000000468b89d930ca7974196d7195033600b658011756163003610d055760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a7565b7f000000000000000000000000468b89d930ca7974196d7195033600b6580117566001600160a01b0316610d607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610ddc5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a7565b610de581611d47565b60408051600080825260208201909252610e0191839190611e1e565b50565b600054610100900460ff1615808015610e245750600054600160ff909116105b80610e3e5750303b158015610e3e575060005460ff166001145b610eb05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f0e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610f16611fbe565b610faa8383609780546001600160a01b03938416610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff90911617905560988054919092167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790557fb9ae7ba14d826de669be54f7c79008181b430f21bd3ff90dac8cce1e60ae88a9609955565b8015610b8657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b609760019054906101000a90046001600160a01b03166001600160a01b0316633c81df216040518163ffffffff1660e01b8152600401602060405180830381865afa158015611064573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110889190612b69565b6001600160a01b0316336001600160a01b0316146110e85760405162461bcd60e51b815260206004820152601160248201527f4d756c746973696720726571756972656400000000000000000000000000000060448201526064016104a7565b60405147906000906001600160a01b0384169083908381818185875af1925050503d8060008114611135576040519150601f19603f3d011682016040523d82523d6000602084013e61113a565b606091505b5050905080610b865760405162461bcd60e51b815260206004820152601360248201527f455448207472616e73666572206661696c65640000000000000000000000000060448201526064016104a7565b6001600160a01b037f000000000000000000000000468b89d930ca7974196d7195033600b6580117561630036112295760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104a7565b7f000000000000000000000000468b89d930ca7974196d7195033600b6580117566001600160a01b03166112847f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146113005760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104a7565b61130982611d47565b6106f282826001611e1e565b6000306001600160a01b037f000000000000000000000000468b89d930ca7974196d7195033600b65801175616146113b55760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104a7565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b609760019054906101000a90046001600160a01b03166001600160a01b0316633c81df216040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114519190612b69565b6001600160a01b0316336001600160a01b0316146114b15760405162461bcd60e51b815260206004820152601160248201527f4d756c746973696720726571756972656400000000000000000000000000000060448201526064016104a7565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b609760019054906101000a90046001600160a01b03166001600160a01b0316633c81df216040518163ffffffff1660e01b8152600401602060405180830381865afa158015611535573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115599190612b69565b6001600160a01b0316336001600160a01b0316146115b95760405162461bcd60e51b815260206004820152601160248201527f4d756c746973696720726571756972656400000000000000000000000000000060448201526064016104a7565b609880547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b610e0181333334610458565b609760019054906101000a90046001600160a01b03166001600160a01b0316633c81df216040518163ffffffff1660e01b8152600401602060405180830381865afa158015611652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116769190612b69565b6001600160a01b0316336001600160a01b0316146116d65760405162461bcd60e51b815260206004820152601160248201527f4d756c746973696720726571756972656400000000000000000000000000000060448201526064016104a7565b6098546001600160a01b031661172e5760405162461bcd60e51b815260206004820152600f60248201527f496e76616c6964204c322070616972000000000000000000000000000000000060448201526064016104a7565b6001600160a01b038181166000908152609a602052604090205416156117965760405162461bcd60e51b815260206004820152600e60248201527f416c7265616479206d617070656400000000000000000000000000000000000060448201526064016104a7565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606083901b16602082015260009060340160408051601f1981840301815291905280516020909101206099546098549192506000916118039184916001600160a01b0316612045565b6001600160a01b038481166000818152609a6020908152604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169587169590951790945533808352609b825291849020548451918201929092529283015260608201529091507f1f6a77d013b627d23667409a96b7a68bff41621fe44b53ffc26b3b8da24fdb2f9060800160408051601f19818403018152908290526118ae91612a3d565b60405180910390a1336000908152609b602052604081208054916118d183612a7f565b9190505550505050565b60026065540361192d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104a7565b6002606555565b6000805b8551811015611cc05760006119bd86838151811061195857611958612b86565b60200260200101516119b7876040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9061206f565b90508682815181106119d1576119d1612b86565b60200260200101516001600160a01b0316816001600160a01b031614611a5f5760405162461bcd60e51b815260206004820152602360248201527f56616c696461746f72207369676e617475726520646f6573206e6f74206d617460448201527f63682e000000000000000000000000000000000000000000000000000000000060648201526084016104a7565b6097546040517f2a2e5e420000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015261010090920490911690632a2e5e4290602401602060405180830381865afa158015611ac8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aec9190612bb5565b611b385760405162461bcd60e51b815260206004820152601160248201527f496e76616c69642076616c696461746f7200000000000000000000000000000060448201526064016104a7565b6001600160a01b03808a166000908152609d602090815260408083208c845282528083209385168352929052205460ff1615611bb65760405162461bcd60e51b815260206004820152601660248201527f4e6f206475706c69636174652076616c696461746f720000000000000000000060448201526064016104a7565b6001600160a01b038981166000908152609d602090815260408083208c8452825280832085851680855292529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905560975491517f5dd9147c000000000000000000000000000000000000000000000000000000008152600481019190915261010090910490911690635dd9147c90602401602060405180830381865afa158015611c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c939190612b50565b611c9d9084612bd2565b925083831115611cad5750611cc0565b5080611cb881612a7f565b915050611938565b5081811015611d375760405162461bcd60e51b815260206004820152603c60248201527f5375626d69747465642076616c696461746f7220736574207369676e6174757260448201527f657320646f206e6f74206861766520656e6f75676820706f7765722e0000000060648201526084016104a7565b50505050505050565b6001606555565b609760019054906101000a90046001600160a01b03166001600160a01b0316633c81df216040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dbe9190612b69565b6001600160a01b0316336001600160a01b031614610e015760405162461bcd60e51b815260206004820152601160248201527f4d756c746973696720726571756972656400000000000000000000000000000060448201526064016104a7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611e5157610b8683612095565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611eab575060408051601f3d908101601f19168201909252611ea891810190612b50565b60015b611f1d5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104a7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611fb25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104a7565b50610b8683838361216b565b600054610100900460ff1661203b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a7565b612043612196565b565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b600080600061207e8585612213565b9150915061208b81612258565b5090505b92915050565b6001600160a01b0381163b6121125760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104a7565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b612174836123bd565b6000825111806121815750805b15610b865761219083836123fd565b50505050565b600054610100900460ff16611d405760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104a7565b60008082516041036122495760208301516040840151606085015160001a61223d87828585612508565b94509450505050612251565b506000905060025b9250929050565b600081600481111561226c5761226c612be5565b036122745750565b600181600481111561228857612288612be5565b036122d55760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016104a7565b60028160048111156122e9576122e9612be5565b036123365760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016104a7565b600381600481111561234a5761234a612be5565b03610e015760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016104a7565b6123c681612095565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61247c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104a7565b600080846001600160a01b0316846040516124979190612c14565b600060405180830381855af49150503d80600081146124d2576040519150601f19603f3d011682016040523d82523d6000602084013e6124d7565b606091505b50915091506124ff8282604051806060016040528060278152602001612c31602791396125cc565b95945050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561253f57506000905060036125c3565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612593573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166125bc576000600192509250506125c3565b9150600090505b94509492505050565b606083156125db5750816125e5565b6125e583836125ec565b9392505050565b8151156125fc5781518083602001fd5b8060405162461bcd60e51b81526004016104a79190612a3d565b6001600160a01b0381168114610e0157600080fd5b6000806040838503121561263e57600080fd5b823561264981612616565b9150602083013561265981612616565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156126bc576126bc612664565b604052919050565b600067ffffffffffffffff8211156126de576126de612664565b5060051b60200190565b600082601f8301126126f957600080fd5b813567ffffffffffffffff81111561271357612713612664565b6127266020601f19601f84011601612693565b81815284602083860101111561273b57600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f83011261276957600080fd5b8135602061277e612779836126c4565b612693565b82815260059290921b8401810191818101908684111561279d57600080fd5b8286015b848110156127dd57803567ffffffffffffffff8111156127c15760008081fd5b6127cf8986838b01016126e8565b8452509183019183016127a1565b509695505050505050565b6000806000606084860312156127fd57600080fd5b833567ffffffffffffffff8082111561281557600080fd5b818601915086601f83011261282957600080fd5b81356020612839612779836126c4565b82815260059290921b8401810191818101908a84111561285857600080fd5b948201945b8386101561287f57853561287081612616565b8252948201949082019061285d565b9750508701359250508082111561289557600080fd5b6128a187838801612758565b935060408601359150808211156128b757600080fd5b506128c4868287016126e8565b9150509250925092565b6000602082840312156128e057600080fd5b5035919050565b6000602082840312156128f957600080fd5b81356125e581612616565b60008060006060848603121561291957600080fd5b833561292481612616565b925060208401359150604084013561293b81612616565b809150509250925092565b6000806040838503121561295957600080fd5b823561296481612616565b9150602083013567ffffffffffffffff81111561298057600080fd5b61298c858286016126e8565b9150509250929050565b8015158114610e0157600080fd5b6000602082840312156129b657600080fd5b81356125e581612996565b600080604083850312156129d457600080fd5b82356129df81612616565b946020939093013593505050565b60005b83811015612a085781810151838201526020016129f0565b50506000910152565b60008151808452612a298160208601602086016129ed565b601f01601f19169290920160200192915050565b6020815260006125e56020830184612a11565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ab057612ab0612a50565b5060010190565b60008060008060008060c08789031215612ad057600080fd5b8651612adb81612616565b602088015160408901519197509550612af381612616565b6060880151909450612b0481612616565b6080880151909350612b1581612616565b8092505060a087015190509295509295509295565b82815260008251612b428160208501602087016129ed565b919091016020019392505050565b600060208284031215612b6257600080fd5b5051919050565b600060208284031215612b7b57600080fd5b81516125e581612616565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612bc757600080fd5b81516125e581612996565b8082018082111561208f5761208f612a50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008251612c268184602087016129ed565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a7704a2c285819af2681499792ffb9cce0d97ac099a9c815559b1d7ddb9dc6b364736f6c634300081300330605581e03808ed9a6622ed62b1b24fe5c2728b5c8b72b5c766e1cbd8345d6691c800701192c8d03ade28aaee7c07035394a31c263207c3c951edd52728a30446006a6c494d1ec0c036e0bfc17bba53dc3fca32d238f05f48e0636037f1425b6c90916e4e711c03d6405581e0349f0e7f7c2e3ec5df7c8fd1b8185b9a73e6d1fcbb22b97b7e3f39e8750040203ef705a474420f32cf88018be3b68708b3702cfd9805e179987c48e0b5a61081e03de8d377c822941afc3d8787af0f48f550b6f4b20358d80d626e047b4efadccd903797f99c75bf01e81cfee293c25c572f5ba9a5a3ed7bd0e9da89b415f04b582fd039e8dee7c839a11cb33018397abd928491e434193f5d5a3eee66300cf4b5998d202192c6b034258e54e1b2fed05c5aebad4c41992badba83afea1b2cd6fc2cfb93642827ad5031b0488281ded902786876eaa55ab8a07af23e199f48ed8e8b31ff03401615ef4038878f4562953f25db5059f81fb3e52971ce9f6647a046c297b074470b7cdd2410337322742388e3e51d272d283c8e7eb02add5543083b4762cc898355ebac1a4190219ffff03af72a0a06567e3915348e68080ca288e41a9c7ebe3758c1f5cbc866a73c8ac2403d8c242725c6897843d8ea6c843b422471b1990598cb4d2884834324c6f25af4f03ba13f6a2e6fa6a9a0a372302bc794bf436eea975328b4e9c1d270841745c2600030bd2fd8b41a3d948617c116183a4d8494f16339087f7e8d803b67ada793508970329a09122ad6cf86d1d5a8ebca8d36e4efeedc6e00b42ab6b203d71e1b306b9350219ffff03f21155ff889f6f8ecb9bbec0f2f13d75cab21a26cff4a1c3853003d0cf6dbfc9034f486810f0c39a038df76429dbf213c67ef8bf47fbbf8120066d64b44346543503deaf88fecdc0daa310ca557aecdd1fce2abad2da31bc0ad4d496001dd40083f6037f5581b0647756c8b220a5b20c5cc6dd5d74be9cb810ab031f98f8e2133148e903991872cd15b0dd782083f695aab51865043e57bb40ecde585e5a7f9bfd5addfb037653c8b750541eb6abd60db35e21bfc7ad4563ae9a08d613273e62373f7f4f16032c38e42d13fb54396ba6cc4c9e1a2d1df5c9534d209b97194f2a5a23ae6a581e031418878ce0fe57a4441363fadee6f89a6dce6cff82b84bd822fcab079f5a70b70219ffff03571f57752563b240c4a62e73c68d8fb0e5bd1127a6104662a93b2d9eb71377670319b36342f0fd4ae8275847896f737b5c1dddc4ae2cd4b04a24cdea348e7400980319a18cde233a1e529647b08dfab838e7b063c658820550aaa02651bc30b751f90369783943f3858397ec336374e534d8953e43b8ce7fd46b0a245bd8369a80401c039c1ea861897fea3deb5e4b2288ac00f610887fff805ba5a962e4eee3875b0fb103150b9c591e3ebbda31905673dc23cd928c03bd3bcf494c5115cadd6a169d97290378929870ca2bedea3805b2b9716f753340c0b2be9ce20c943f0a6d19c5fd913e039636685bb3e2ddb11767649c8ad2620643d9c6a2180aeb60a69545ebe43809920388c56780cf61cbba9708702cf2c4b130ef3dd82bcb82a18b11c9856daf1334a503b6a01c4330fb126ee0ac29572267360c6ceac3caaea52d7386d1669413cec35603c3807a2219c50a1c465aca047dfd276392a4178de7434c7311bedab2b06713cb03a045893816edfe302420c96febaa44371ea70daee34c5ccf1f23c915efefc53903438f76d3c1cd3f1837f90d03d050d3c10002350a42a58b8926eaa724a70c664303a1d33f4dfe976039b7ff202f0d8da53a98d01d05cfe08a44c3e7b43a9dd59af303adfb0d9a9207f9c1ca83290ceaa0235911b6d8ffeda432a4323b29d8b7c0d04c03e176ffe1a2c348368e2dedfdc7bf4ccc1122394424ab0a071b6dc8562435d72903fc8848f888a70823afb13d292c1f1011f81d931c9afc8caf127ff2de4036d80503c9ca9bfdd352b4670c3d5161eb5f250e290172d645a6d4e1006c654ad18e67d103741764f6fa33ba0ae92af4bb8f800c1fda7a5c872f232c9d2dabf93442514bca0351269ed7ff95f5646a15cda58814938dc08a6645e492c822b96c592b8975919403bb587687b2d5a35a06a895fdf324f431d008560bb22f2c9441cf67eb5e3afbaa032d4b8d54f77975fb9d05ce4ef3124e0814ed012e2360144e8f007814c7aed8690381ff84c22c1700fa5c07dcc39a792e436685dbe00c5530eeb0a1869c12707ac505581e0355c3c8e02b6a7839dff5d9655b3286e958c2ffff616a49ac9bf5551c700405038a16b86eaed9913b4c71ccb1ce532d01ccc5758b761da69d6ba1e0e5abc8b04e03deaa7bbe71e31ec7ccbd5e5c700aa0455d31ecd52142d25c81499ff891c43afc05581e03561999e9a47a86b74944424616ea9dabe3250ed1d9126e325d026364400404031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03deac32fb38fb6e56d11825de5481680ad4396acc9b80c91fbd875f8d6007011bffffffffffffffff0395ffc95afd1f8d9ea60744253901d3dd8abc9d938b074ef13c1807b16b77125a05581e03e1360024d2ce95f29b8f2615e369fc5227897c11ef2f1fa253d7cb19c0040105581e03f74badee08a4e70611b7abc2f4629fe22732e5e9b8b0ea026c4b53a4100c0146befe6f67200003f666050a140c3972b9bf8deb8cb993faa141918d978c38603d1fb42240edb19303acca5b43dae9d089c714347a0bb21b647d3243dc53d425b5383416aebb0cce5a05581e03e2c53d67669930069a5352164436a072e31396814f6aad19a0020ff3a00c0347032a1a7b5928e804590df46003361161000c57610ab0565b60003560e01c34610cc2576323b872dd81186100e55760643610610cc2576004358060a01c610cc25760c0526024358060a01c610cc25760e052600060c051602052600052604060002080336020526000526040600020905054610100527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010051146100be5760c0516040523360605261010051604435808203828111610cc257905090506080526100be610ab6565b60c05160405260e0516060526044356080526100d8610b7f565b6001610120526020610120f35b63a9059cbb81186101295760443610610cc2576004358060a01c610cc25760c0523360405260c05160605260243560805261011e610b7f565b600160e052602060e0f35b63095ea7b3811861016d5760443610610cc2576004358060a01c610cc25760c0523360405260c051606052602435608052610162610ab6565b600160e052602060e0f35b63d505accf811861049b5760e43610610cc2576004358060a01c610cc257610120526024358060a01c610cc257610140526084358060081c610cc2576101605261012051156101c1576064354211156101c4565b60005b15610cc25760036101205160205260005260406000205461018052600060026101c0527f19010000000000000000000000000000000000000000000000000000000000006101e0526101c0805160208201836103200181518152505080830192505050610232610200610c1b565b610200518161032001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c961024052610120516102605261014051610280526044356102a052610180516102c0526064356102e05260c061022052610220805160208201209050816103200152602081019050806103005261030090508051602082012090506101a052610120513b1561041c576000604060a46102603760406102405261024080516020820183610320018281848460045afa50505080830192505050610160516102a0526102a0601f810180516102e0525060016102c0526102c09050805160208201836103200181518152505080830192505050806103005261030090508051806101c05260208201816101e0838360045afa505050507f1626ba7e0000000000000000000000000000000000000000000000000000000061012051631626ba7e6102405260406101a05161026052806102805280610260016101c051808252602082018181836101e060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081015050602061024060c461025c845afa6103f4573d600060003e3d6000fd5b60203d10610cc257610240518060201b610cc2576103205261032090505118610cc25761044f565b610120516101a0516101c052610160516101e052604060a4610200376020600060806101c060015afa5060005118610cc2575b6101805160018101818110610cc2579050600361012051602052600052604060002055610120516040526101405160605260443560805261048e610ab6565b60016101c05260206101c0f35b6339509351811861054f5760443610610cc2576004358060a01c610cc25760c05260003360205260005260406000208060c051602052600052604060002090505460e05260243560e051016101005260e05161010051101561051d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100525b60e0516101005114610542573360405260c05160605261010051608052610542610ab6565b6001610120526020610120f35b63a457c2d781186105e45760443610610cc2576004358060a01c610cc25760c05260003360205260005260406000208060c051602052600052604060002090505460e05260243560e05103610100526101005160e05110156105b2576000610100525b60e05161010051146105d7573360405260c051606052610100516080526105d7610ab6565b6001610120526020610120f35b6379cc6790811861069b5760443610610cc2576004358060a01c610cc25760c052600060c05160205260005260406000208033602052600052604060002090505460e0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60e0511461067a5760c0516040523360605260e051602435808203828111610cc2579050905060805261067a610ab6565b60c05160405260243560605261068e610b0f565b6001610100526020610100f35b6342966c6881186106cb5760243610610cc257336040526004356060526106c0610b0f565b600160a052602060a0f35b6340c10f19811861078a5760443610610cc2576004358060a01c610cc2576040526004543318610cc2576040513081146107075780151561070a565b60005b905015610cc257600160405160205260005260406000208054602435808201828110610cc25790509050815550600254602435808201828110610cc2579050905060025560405160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60243560605260206060a3600160605260206060f35b631652e9fc81186107e55760243610610cc2576004358060a01c610cc2576040526004543318610cc2576040516004556040517fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c60006060a2005b633644e515811861080a5760043610610cc2576020610805610120610c1b565b610120f35b63313ce56781186108285760043610610cc257601260405260206040f35b6354fd4d5081186108b05760043610610cc25760208060805260066040527f76312e302e30000000000000000000000000000000000000000000000000000060605260408160800181518082526020830160208301815181525050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190506080f35b6306fdde0381186109115760043610610cc257602080604052806040016020610cd46000396000518082526020820181610cf4823950508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b6395d89b4181186109795760043610610cc257602080604052806040016020610d34600039600051808252602082016020610d54600039600051815250508051806020830101601f82600003163682375050601f19601f825160200101169050810190506040f35b63bfa0b13381186109a05760043610610cc2576020610d7460003960005160405260206040f35b63dd62ed3e81186109fa5760443610610cc2576004358060a01c610cc2576040526024358060a01c610cc2576060526000604051602052600052604060002080606051602052600052604060002090505460805260206080f35b6370a082318118610a355760243610610cc2576004358060a01c610cc257604052600160405160205260005260406000205460605260206060f35b6318160ddd8118610a545760043610610cc25760025460405260206040f35b637ecebe008118610a8f5760243610610cc2576004358060a01c610cc257604052600360405160205260005260406000205460605260206060f35b63075461728118610aae5760043610610cc25760045460405260206040f35b505b60006000fd5b608051600060405160205260005260406000208060605160205260005260406000209050556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560805160a052602060a0a3565b600160405160205260005260406000208054606051808203828111610cc25790509050815550600254606051808203828111610cc2579050905060025560006040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60605160805260206080a3565b606051308114610b9157801515610b94565b60005b905015610cc257600160405160205260005260406000208054608051808203828111610cc25790509050815550600160605160205260005260406000208054608051808201828110610cc257905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160a052602060a0a3565b6020610db46000396000514614610cb1577fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564726060526020610d946000396000516080527f15124d26d1272f8d4d5266a24ca397811f414b8cd05a53b26b745f63af5ae2fc60a0524660c0523060e0526020610d746000396000516101005260c06040526040805160208201209050815250610cc0565b6020610dd46000396000518152505b565b600080fda165767970657283000307000b000000000000000000000000000000000000000000000000000000000000001743757276652e46692055534420537461626c65636f696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066372765553440000000000000000000000000000000000000000000000000000b99ba1c24ff7f96081ccd1ad26ffc380e2cc4c73b87f99e7a0165fa980b3b9776b6d6c86c326770f6c25b6ef3f5528c1ce6dc99246faa6c29790347076961bba00000000000000000000000000000000000000000000000000000000000000017906987b5141f4b3a52bd45bf8cd1495b428ff72f3caefd1d670d9726103a7f003e37aa92f143407516e926e437d9361db7873a64f252f29729da47fdf40bac36403e28d2cbad69d594e46ed1f48c3c12e38ba586d1c60e97dfe4cbb7dda5e6b5330039b4d87bb8ce112fd7ec868bf6a6c3327f4cf5aa63955c5b06546ff1043fa906303f2f79323746238e136e16e48d8dfa819b633eb41ca61d555ab550a006cc319bf03d0613c90fc6c169f6e10beacc70b06440ba4c900dc9bc6d15462e0e1ea247965030807e5295e6200fa595e994114154098fb053cff0e2adb631fccbbadb8e36edf037c6a0a3392fe004dfc9a66c9a404805405f13521bbf638ff5543b7b5b945d2e5030a65cab520420c1cf937fd7bfd176f56ba081cebb4f6e05fcb6465efaa8d31d803a7a366e0b59dec1babb8421d2aec0091a6185828bf4a5b103f7d4eb2ea479f5203f36074e0fbb9984fc7fedd2ac9defbb9641213a9cdf1c3982bfbe89a24a47fb9039b49d29c03e014042510fa667f23a1dcb36e26b477f822048cdf109bbc9a95f6030612c0f21e4247fb894ee98eecb70912b7b9c7b850f6a30d8aa3073a83ae264f036155d56aa8fe3586d1340298501a121b30acfd5fb3597ab9b4f52533aee30d0d034d2517887d675c43e899733b47395c28f7905052446c5c0b3be1988d80cd6b1500582003de317c1470b691f442c7343ec69dee00f53bb6b43465e94777354a703bbfc0480853a0d2313c000000581f02d0d221919f9b0bb35d0abd6d72c4e2b693b87c76def8ac0e09af6167d55e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0278e25745f7dbb81f101e78d3b84a9773e9e4f5f2ccf5dcc5b6ebc4592e29480892d2fdffadcb9c00581f0214c468857ab4169059ad1b63eddc268cda25674e535d20cdc7855ac83ae65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02bf15925fee91666adce0cabcaceb97c0bdfb88541c41b5ffef11917e08ad4b0468a3c46ce1bcad322b580219441800582003d247c45f3dcb9ad6d58500dd61b88f6439a2d21d5f6da8c8526f9497d8e6905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030c1fa2f1cf2189d7219c83b98881a5cf2629d55fe9486ad81cac7a1432dec94e031136580c8be90d405c390b1f23a3c61fb192af841447c34ba080a0c863c4c8a90344d861470612fdb5393c7e7255307cab5b1165fe6de311690dd53cb29c96043a0058200358d697ce79a893e68246da891bd110310b565e9ef98e8eb5b8ed46762d2f804904e6cba83667c153b503bd2e576afb653990500e37f398f3b8685f5a54489390dfd3f7ded04a6130ee220392af427ba032fb3dcbe01ed4d4fa32793d1d15d00e917fbe452766d18a88b48100582003f2be64dc7ae62623b8424e5e8378500c164b53e591605b390b95c1175f17005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200321819cfa0b9e92a5d29d9979e983092203d521c7c626d85106afe626d5ba205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200377cef43cf7c0ded7ebed4c297e0d0430cc46a3a27a2d66d4b7ac2fa2aca6205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d49c7630800b2d850788d2cd56d137ec306fa4d3abbc409acc87693c2be3866b0141080219ffff034900dd4d07af9fcb88a2f18815b256dcbc35f531920353377a3611135e1abe0103bfd192fe22a375e79f9080a5af32346e8817bde25e060e5c97aa77b958b725290317cee4a5084615a381b542151a393883edc675c5fcafe1868059b75366f2ba350382cd793ef2455fe137b12f200684ae1c25901bfaa7e4b9c19155f024db9aab51031506d86cce13fa7f53ec5fdc4ea5f203ba56230552e8d786c021be3bf8cccad60331f9888fd55cb5f8b2272253b6cc9d22d7a6a36c49158188927d2588901b8110032d38d11c310a72b1c55862052a373c10792c50354daad5df92a5b99827bf47f90394c0979359d558a03f88a3728b2d666205bb0022b8516ed36c1f8bb53f868a1803162ff0e12b8e9a51a3929f1e3f8b981d72c4af78c6e0aa9ce5de1918c9f9dfae0219ffff03d13fc45e36f642a480abe5ede91d14ef20e9e45e5248868d034d8bf20ca28cdf03486be69459ef728427fb765c8a05979d0fc6b5b242397240acabcec6214679b903df83bb5d33aec7fcd791ddf1208951e20a452ffa7576adecb7423e00135ef2b403a8b473c413aa3ec0b9ed62e02b1f900184afd0abb57ca4c47054c55eb207331b0306c6156139b42757c2805f730694c1a566817ca05b02bf8e70a57e9ba24074cb03a6d56c97fabbcaf12fd0b8d7ae0c528545963f6830a1307b7b767a85287e31d503475890a1d474676c0946a77730c38b9369c51fb105e994903797c424a2bb7e9703bd0374f92aeaae7786a0be5a2240a6ddc22ee63f7e1732d4333bc946adb91a710334c5159297352176dab7c491b9f63dadccc3bc153c24e7ab2fb16777d04674a1031526b1f522a0dcabccd89e1dade564df512e68e726d06604e2acdb09bf70d9120357f57ce0fc340f23b55e8b9894578474ddaaccdf71c11168e20c07ec9b8c5ed1031cd7b042cf996f5f20e990d025da8d7a2c383c51c6c8e792a6b2e5d1a535495403bf635c7a99bc3e5d6dc130c838b4f543cc79825afb8a412b8f6e942db5abe5a3031a8e5c0170e6f5f2724f0c4b7ef6897bfd128ccf48ca8f97782fa4c727f80bd001410c033b2206271ad90abde08dcae7719a9622ca658347a0bdd88ef7e24c59b248774c01410b00582003feb7d425eea17b1118885dd2e27a5dccfbd78f9c9c27dbfdd0138d90870c705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037f27ceae784157484fad1ba45d44641af3ad8106e0325efcb87191351a8c8afc00581f021e3a9d29bdbbb0c90bfc6a52e48aeec4c0033f343c6533109a195e1c2633410100581f027e0ddbc6a49f0eabeaf472999f6c2c9a9ebfe6726a16d79857577df0453d493635c9adc5dea0000000581f020ab34139f8114ecf319aab45e14b5edcb1cdcb87ca8976da7bfd321202c54a01bc7a205f674c3f28a300581f0256da3211b65c28f87fcc784ff810a9eb9b5be8aa7a62c0dbadd0ef6fa1875820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f024d4b075fc3564b5c9195bd825fa009e525802fcdecf3e84b9d68deabb9ab4902b8af20046a2c074500581f02952e0a96d68b75730f5a898d8e2005129f4cc6ef22b23d77a5672a924f535820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a11a030dab4ebf82b71790e97e9d2172c326301e9041024d8d525a7542189a362849be03ec4330a0d68cca7ab1337ff999656f6b043534eda76503371831ec36c9be7e7f03045545e6a98cedd5cac1c160b061beda8acb4e9778acd19dbc3b31a27a6bfb1a03fb3ddca126cb22390b317c6bd6d97612465adbdca7bf3af8b3c764107d478abe032412340e0339fae45a872fbe098731b9c6ade4a70f432f52b1ce3aeaf4b87f4e036e538f94244c09c10413a727f9faf0b12be45bf7bd918d3e123b319dc49b1faa0219dfff03a5618a2efd2b499f1c5cc038f9e72e758f0b5e1998bd17b89e4420520e2edcef039f8e335e099d8b943514d6765f8c0861c705d7c8780a54541ea23cd9c4402f8e03f2c5607948113768256dbe6a196e6e02d25ac5fbe913c8c1277a46844e9b488103c3a2373b2e3082eb10b739893d2ee4690965f681c4c539b894e5e384e58a542b031687cfa8fe02591ce162fae31825c3a58ea384f5755d3e9f22d65039bbacc63303d86127b16c109e62d2a78104b6bfb380780a6f2fb3b00d5d76d5d8cbcd689a300219ffff03878cb6add200647a9278b735f73ad5eef7d1e7073e10f8ab3d4c5aeb0a763a0f0381c637d9e133df37d23ae3bc42911a8da72cd76135ae4103ae3afacccf903f360396a2823677b6214b48257775741be16d6f1e7d156373340b18f6655ee3650e4d0366bb637d45f032ebbd50141a16d98d8cfb5dbef6127b72acdbd3b134cf223e8603f40bafb166a8fd25282d87b41bb8cf6fe98865476bc53937af3848a083b8c4ca03476cf54bbad471a68684cf44a288f9955bc72db3d8c58e5f5dbfd4bdc1b85ab303f053f3326d39d30e412593a87143bb794a2aa8aa499991adfffd87f9d83132ce03b15546fbc89dcc7a597c2825d03982881ab744ff0beefcf1f13b2281185dda62005820035019924d8b8a41645dd2e536caa858b3670e789281d118749cb3e1da2da9c04b047d8526bad3ee0e7579580309ea1358f685fe18552c1ea49dcabdc11653b997e4e643425bcfcf8eab862a620058200380478be86c09ae8b458ea429f5cf24db2ca62408c2f190e6a2eac1d8b20ee05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037eb826a479b394b128693edea2e7eb269ca56349c53417ee06bdb8a5fbcb005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033625afb3ce1e9f7940f87e9e1feb48049d9e89a91647bf38829c92791ffbbe85032024a6dd84b2461148859e8a35a2890cb8ed7cdcc36b515835b2e62703237501038419d603a6b6df83b8f650ed4d38442319ddb4f1ab2e1cda7d2769bf81689a900141000058200377c1e4235784d8e3acbb2636a93e998e5672b9ae58da9faa6f1a2ec07c34204810b8762b379358240302ae6ea2fc5aaab48333b59dfc33c5084fd25e0931775e78084ac11c0ce9c50e03f31dd38f9818c41436380e95800fb75c3350516e9fdf836652bd33941b1cf06703969587c51cad4b89c282559d5798de4a1fac26a4c02efadc2fb12d0a14054f7d005820033b0e587e7d1b12cb5d65929144fb39b51f264dd65a6b33c05b95baff1210d04961ade154d4ebd4136b00581f027e1b8af8d0f015c477400afae9b09d50436cfab58f0d112bce3ce36e4c954902b8af20046a2c074500581f02d40220f3725c141bfe15470fb89fe8bb95c3f4e72b3b86deb371b2c4039d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020c03b88a53228e96227f37a5257f1bc31648f2c5af833b28944f42039569ddea4ea903a1ca5244b40ca39583a5a2fdd78de7906896c6d28f578b036d67ff8bbfabf78a0219fbff037d58ce1b8723b55b2f64a23e31ab8e33cc438c5481072d310cffd65816fd2905030671c44f465cf12c951d97828e686b16edd1da84440c098b47c296c945e8ddf6030bef643fab607ed81842aaf4d6ba92ef628c039f3f80fca0eeccffe9fb98eab903232e808425ae428ec38c5e199ba022a0b16b87e961bbb61724e0518dc123fd5a039332460b012abbddbda9699069a0388b33a84cb2f414bf3d8c53e41174b51ebb03264f67e0e514cdc84a7b440d4fe52f46372bfad4a710f7f6846274bd9e35af1303bf367c5db7b577ab4e1d82cb53901f67e0a0edcd8b2e164a8748107c5b7bf235034af66424983551f570d7d1d899a9ca6650cecfd8e81e03d71fb3779c6c7a115c03659c726fb9e2861c2f5c1d13f15dc9c8fbca54e0fa948a88e57ebf3f430806bd0219ffff0392242198dff59a59c099648e291a899656a4db7b5c1af9651c5e17f283e3300d03a60dcde6bba959d1959cb10787ce281777085d7aa3038c82e977f5d1982972a203adb7b19f6b7b37cfe369d37d3eec24a0b7a04f9da55d4089c3725a1d0dca870903e8dca752f35d75fd1f1fd21156ef8c618e74e1b62d4b0536f55fc122fb2bca3a03fc3a70fca8e497670830f1a746a9442ec8e64219402726e34ef4cafb23666991036e9dca5d9147b48bab73792125c652493188c0bbcfcc92f2e0526b680a19a3b00219ffff05581e03de9c50c6e393c5943c662fc726f1e9a25b2d6ad4d1c3a349af3aab38a00701190df40219d3fe0307a0bf8faa340c0204a5dfcbbc2250712ce810cbbbba95ab54d2bf73c4bc9f480338beccf9daf3e3ec20baf9d201e0b9cd57f752c555137d5c0cbaa0f9ee6dbbc4030d94e3bfb8bc487479db9d2696497d051a1d75ef2387b6164a9d8477728acf8903e032d0e8037adb1965403a15be52ebf18c5a97c4b1ef5f82eb7190077d1ac66403cd6b56ddc26323be0c64083ef54c7da1310cac3266f1c1666b64b8c19d203da703ba8b521038f5852df99912299f48f17a04f982f4bbbf91cfd903a4fc89f3121e038d1c5bbef79871014fca41dabd9f711e61105a349d5db36950ab455c731056990219ffff031f893ae28a4fe11db546b54c1f4ebfe377fa53e7dd0e5d20cb87c7b1f461ef7f03338ac1493f9fdb5cf36b58ea540b97f0ddbf74175506493e03a04684422b7a9703c7fbb1aba14985f74509623c550149f8bc63713c145e02fb288b902e1144f5b203beb38bc54c1f5011e8aba7e988d4cdd97c7a9ed29b944f0c7a15ca493319b10903671c966dd0c8baae88c24257ada9f24e77d21998e9dfb3afb67306c1b9b15ac803f22d25a312a6c296d93f423d23951237d8f29f5d6e1ed344e006bd2f3555105b03e2cb2c47e00700e521b7bf276c885a7a7e44c7ea1c387e4414a840e7c5bfc95a033a43aa40b310011fb437a339da702d48dcafa660da351d47ede7176c17bd92aa037cc7579b83789f6b4e10c2d8c953d9b2434284fdf084654892e47650977ebb530327587273574947697de60476741840a625d2ab67ec27e1adad8853aaf205cc3a033ea7e02fa0d202e385a74a42608c1acb74c445202d8e7274197c5424c96176de03a0ca517cc9d3868b6837c412e67983f81d1f44817f2f8cd03db9a6aa47427c4e0219ffff03035ebe61a30c4dd1fe3072447ed3b9d8e8557cb8330c4ff8033dc9e619ece2010391822533798af5cdbcb38553c37e09b6ed05b92d83e44ff66d9472d387ea6fd003a6d6a0ce8fe56975e0756902cbc0ebe2af72740807597e6c1a7e3dacd267072d0317464b4cff62e1c166908bda1d73348621bcb1cc355226b3389b4f91305842aa030368e6307bdbecc40fc3d637b110b9328d9caeb1b7744fd0c50b88daa7a5fe5703fd2e3bb94f0547e5043423820a6514afcab129e584cf39fad45cb099bcd18f6103932c1db57d766be77262a0b70aa747fe8c48935e19581a991ecf3282d54995d803f05de801cd65b2cada2fe985a617f9b595862a22564a6aee5dedf890d5ba43920219ffff0351319da3adee69f946432f0d8ca6e59b831487832983c38462185e9e1949e1ea03e5a6cda3b55e1d141f3914770b76db1bdb37224637f516872c323b5009e3fe0d036c9c9d72841528813daee4e4d8d3f8a7527e1bc3e01821afb5b9a395b0f75f93034b769ab5a77a4b046654db4fb9e6f3ab96842881e90e844f6d6aaa5c3b67fcb8035fa9fe855da485d6a177335e9a919557d8f4fd73572155b7b01b2d03b4734b750333cb7c3612e693c4e7551e8c6b69575daa1a4ac94a817c87fe5e8537b6a81f3b038f82dbe496518d1990f32b3ee3d498c19ed805ba36dc445ed00b56c71458d7f703fbd5ecc3c6ed2c84766fd9850ad78a80553b7d4cb549805345d0a9d8753512a303155c72e332e66cfc5d06e2d5a5dbe7a974140c1ed193ce1ca2561b438e0d984203373acc4a35a7eab7f1a47a9f4c4754f7b0838df92a17c2318bd25a1fb2a2bbdf031fba04744006216ad1fb5ee3dc5a3b171a57b616ec01ffb31627f199bb69a0f003b5c7c4641ed3eed30af9a130e7c58518828007ec33df4af3bbb8b9391b0763730377c6039c71cce172fef63b28dee0185c0cc4e081882c33f9f87406a8fffe899e0309c24a1f8130e7609d58b76a3c1ea7fa3e44591b4f7572367798289070702aad03a132acc74481133b3496720a479f48e33c8569a31673a84e3ca3cb4290cfb4f10383d1aaba66024260cc75c4f9123efce91cab31a692edb8629156449a08b92a5403eb8ac19e38226c0ed84bdee4f457f8021ba35853ce3282696c3f4db60dbaf03303118c2b8f0c52d2c090ad8bfa4df739b7e86febc6ecde883294c74734b84520a303fb5e4cd039c077c908e6a726c406ea357852a6c144377b26c80a072152f0048703bacbbdf8b023c07e1668485b22f038f280c584ccd702cac1a50b559c65f09340033419b903bc6723a6f1554a35ae5975c0f5f8ba41404eedbfd7a4b65adcd93a0003e2208c03fb9561c2f522bec7b375bc1f4e7efccf86d0032a341bd1700011869903f8485ad4779b3440e56cabe5d1b1b4d55fe05c1d236821e585c5a1c6008b3acd0392a10b9f78915ecb01ea5f1eb9326ae423fa5d9ce8dc6d3da6ecc865892a8ee303c22a9f1dbb82f6291d9eeb3dde5af32759261c40bea0713fa50ebf4e02595a3b03b49127cfd69b05a49a8e76f5812d3cef664802747cc5e86da580b53a9509c1e8036352defa10e0e39b7f32970e288dbaf85e74474538ea4044f62cf3f961529e9003723d47b33e2e6de37679c1f10a3ac57fdb3b0519da80657edbf9a714221fce8b03c759336e37ebc686bf41a5cc7babc876177bd805ec6905ea31b8b3b02e861dcc03aec998bf162e26e7bc2b98b5067089cb8712e9b8f73a502d2a7305016efa3085036939b924869ef810b58707ada2ea642e1bf62b623aeca0f9112930f4fd834a6d0365b00ad42ed3dc49fc3c23a654ba0f4929e3689f4f43a5290f8d95353bbccda70398f106922caa42c3a17accf645fb0f2f81d72b6a987141ac0be88d2bc982222c0314f015e1b7828a5c2c5b48789a41829433ef69296cf1e2d9e25f3540681d8a19032b3c92bfe0952d225d0e6243e567e6c09690ab8c012a71b493925d0af033495803937296b99064489b46b8583a65f8624a1e9f8bf8f15f5edf8d0880d0286a776f036a91ff1e9a0aa88a33a6e632baeab832a7b71d3a685d7c15f72f994e6efa9973030de22ca878e06cb22b26da399a54e9d8b260030f5dea8abf353e35689ba5b3840328cc947005eeaaabfbc5f2ab493c2520174f2efeb543fcde2d6f1eef9bc710e3037de090006d022861d5b831f2cc41ae33540220574ae81317ae3b1ec36aa0680d04591567608060405234801561001057600080fd5b50600436106101ae5760003560e01c80636e79265c116100ee578063a457c2d711610097578063b091dab311610071578063b091dab3146103e8578063d505accf146103f0578063dd62ed3e14610403578063f27c3bf61461042e57600080fd5b8063a457c2d7146103af578063a6f9dae1146103c2578063a9059cbb146103d557600080fd5b80638da5cb5b116100c85780638da5cb5b146103605780638e4a83791461038057806395d89b41146103a757600080fd5b80636e79265c1461030d57806370a08231146103205780637ecebe001461034057600080fd5b80632c4d4d181161015b578063395093511161013557806339509351146102cc57806340c10f19146102df57806342966c68146102f25780635ff99e9d1461030557600080fd5b80632c4d4d1814610276578063313ce5671461028b5780633644e515146102c457600080fd5b80630a8ded1d1161018c5780630a8ded1d1461023957806318160ddd1461025a57806323b872dd1461026357600080fd5b806306fdde03146101b357806307546172146101d1578063095ea7b314610216575b600080fd5b6101bb610439565b6040516101c89190611117565b60405180910390f35b6007546101f19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c8565b6102296102243660046111b3565b6104c7565b60405190151581526020016101c8565b61024c6b033b2e3c9fd0803ce800000081565b6040519081526020016101c8565b61024c60025481565b6102296102713660046111dd565b610540565b610289610284366004611219565b610684565b005b6102b27f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff90911681526020016101c8565b61024c6107b8565b6102296102da3660046111b3565b610813565b6102896102ed3660046111b3565b6108c2565b61028961030036600461123b565b610951565b61024c600281565b61022961031b36600461123b565b61095e565b61024c61032e366004611219565b60036020526000908152604090205481565b61024c61034e366004611219565b60056020526000908152604090205481565b6006546101f19073ffffffffffffffffffffffffffffffffffffffff1681565b61024c7f0000000000000000000000000000000000000000000000000000000062bd7a6781565b6101bb610973565b6102296103bd3660046111b3565b610980565b6102896103d0366004611219565b6109ec565b6102296103e33660046111b3565b610b1b565b61024c610ba0565b6102896103fe366004611254565b610c57565b61024c6104113660046112c7565b600460209081526000928352604080842090915290825290205481565b61024c6301e1338081565b60008054610446906112fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610472906112fa565b80156104bf5780601f10610494576101008083540402835291602001916104bf565b820191906000526020600020905b8154815290600101906020018083116104a257829003601f168201915b505050505081565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061052f9086815260200190565b60405180910390a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526004602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105d4576105a2838261137c565b73ffffffffffffffffffffffffffffffffffffffff861660009081526004602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff85166000908152600360205260408120805485929061060990849061137c565b909155505073ffffffffffffffffffffffffffffffffffffffff808516600081815260036020526040908190208054870190555190918716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906106719087815260200190565b60405180910390a3506001949350505050565b60065473ffffffffffffffffffffffffffffffffffffffff1633146106fc576006546040517f625a43fe00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff90911660248201526044015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116610749576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fad0f299ec81a386c98df0ac27dae11dd020ed1b56963c53a7292e7a3a314539a90600090a250565b60007f000000000000000000000000000000000000000000000000000000000000000146146107ee576107e9610f76565b905090565b507fcc88d6a52d0d804dfb8190af9a6e9b986b0ab82cc03960259053206463f7702090565b33600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205461084e8382611393565b33600081815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a16808552908352928190208590555184815293945090927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b60075473ffffffffffffffffffffffffffffffffffffffff163314610935576007546040517f625a43fe00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff90911660248201526044016106f3565b61093e8161095e565b1561094d5761094d8282611010565b5050565b61095b3382611089565b50565b600080610969610ba0565b9092111592915050565b60018054610446906112fa565b33600090815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109e25761084e838261137c565b5060019392505050565b60065473ffffffffffffffffffffffffffffffffffffffff163314610a5f576006546040517f625a43fe00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff90911660248201526044016106f3565b73ffffffffffffffffffffffffffffffffffffffff8116610aac576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b90600090a250565b33600090815260036020526040812080548391908390610b3c90849061137c565b909155505073ffffffffffffffffffffffffffffffffffffffff8316600081815260036020526040908190208054850190555133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061052f9086815260200190565b600254600090816301e13380610bd67f0000000000000000000000000000000000000000000000000000000062bd7a674261137c565b610be091906113ab565b90506b033b2e3c9fd0803ce80000006009821115610c4557610c0360098361137c565b915060005b82811015610c43576064610c1d6002846113e6565b610c2791906113ab565b610c319083611393565b9150610c3c81611423565b9050610c08565b505b610c4f838261137c565b935050505090565b42841015610cc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f5045524d49545f444541444c494e455f4558504952454400000000000000000060448201526064016106f3565b60006001610ccd6107b8565b73ffffffffffffffffffffffffffffffffffffffff8a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e0830190915280519201919091207f190100000000000000000000000000000000000000000000000000000000000061010083015261010282019290925261012281019190915261014201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610e1f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610e9a57508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f494e56414c49445f5349474e455200000000000000000000000000000000000060448201526064016106f3565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051610fa8919061145b565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b80600260008282546110229190611393565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152600360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260036020526040812080548392906110be90849061137c565b909155505060028054829003905560405181815260009073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161107d565b600060208083528351808285015260005b8181101561114457858101830151858201604001528201611128565b81811115611156576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146111ae57600080fd5b919050565b600080604083850312156111c657600080fd5b6111cf8361118a565b946020939093013593505050565b6000806000606084860312156111f257600080fd5b6111fb8461118a565b92506112096020850161118a565b9150604084013590509250925092565b60006020828403121561122b57600080fd5b6112348261118a565b9392505050565b60006020828403121561124d57600080fd5b5035919050565b600080600080600080600060e0888a03121561126f57600080fd5b6112788861118a565b96506112866020890161118a565b95506040880135945060608801359350608088013560ff811681146112aa57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156112da57600080fd5b6112e38361118a565b91506112f16020840161118a565b90509250929050565b600181811c9082168061130e57607f821691505b602082108103611347577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561138e5761138e61134d565b500390565b600082198211156113a6576113a661134d565b500190565b6000826113e1577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561141e5761141e61134d565b500290565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114545761145461134d565b5060010190565b600080835481600182811c91508083168061147757607f831692505b602080841082036114af577f4e487b710000000000000000000000000000000000000000000000000000000086526022600452602486fd5b8180156114c357600181146114f657611523565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0086168952841515850289019650611523565b60008a81526020902060005b8681101561151b5781548b820152908501908301611502565b505084890196505b50949897505050505050505056fea2646970667358221220c98a30972113e0d3de3d0251b915f91f6817c0880aa9ac6932e2dd2d6acd9ab964736f6c634300080f0033039d164ac1a2464649c83cf0b6f971200743e2b9ad63c6899ad6326f543466cb5a0317356fcc420bc2a75eb1de26f9b94fd94c63bf0788fe54b160e4daf04d21d3e203cd67fada919ac72df3637b104072d5d75a57eb56f1fdb674bb345c697a27980e03bcfeed109a23cbf31d914accfc73c325feb543ed015e6927ebcf681ca55065cb03498f6ef1e0509f2c029641dcab284646a2e07f0e257042b85f2a561d1025f94903b0543d9758c93b62ada63d5d7936dd4bd50ab9b0282e4342aa393776c4a8357903a657ed76196083521adddb103765f541f6f627914b6e8ff9286ee0cda1a39e8403bd8cf98bb604041313c980a95c013688e0a111cbd33526088b603e54ae229c03033ad998bde01b02ebb9b725f414560f85d76f9bc67003afdf83c33eacc75738ec0321d71478a5ad5ec3836e450a1674a7ffd3cee75ca941d133463d7f625daa5d3903b6e4cf1cd6fe1a95e7f3120e60720a7286fbbfe6c645eb4d86f2a833d764c1a1035b579c6a93fccb75913879fe136653c5b3ed603397bd13d21c6c5fb94c0a8eff039646fd1c2d2f794d6ebe94ce87b34349beed885c22732cb484af4c1c44fcfb1303809e7e0b039c464875a614cec4f805032672466cf513c0c457931bacaccc6f4b03c1cbcf655d9ccd1805b1725d1c578d3bccef37c4abef1bd9ab990f9bb796b6be0318e56bfec470c583d4b16f0d10e4e4a32179cdc4df6bb6b8760ccebb976ab420031bfd935cef5f5cbc2c8679936c48abd8e48f9663a82f557fc25c1d3dad926d6403fd52b7a1ca9f45d391eb2dd037ad4f1b187b0a455c0b40ba86ef3ed2ba67cee203b22e62ce31c2d0af576c7a6f2e1bbb52adf39c45c55c13aa841ce1b350108ec5032bc305d5ee7b2f32c9930a1d896502b3b6cda9cfacce6fe59fac29d6bee0798f038f6099d292ea2fc9907bf0ee93c898de5b40413c95350ddca7cda9446bcf2d4d032432d96849e11ed2fc7764cf58043c18da07db17a7858ac9aa384837eb9f0a0e036928781c37c4aad5ef2809bb791a43039a4ad268559fb91565c16e9761ece42003f7a1ab6451a065d5022820bf87f963edecc9239e941f47803e1505a29eace82303b8fedbc0298a614508170dd6647e1dcbcf14a8700237c22e1b43f7bd2396bdf3037bd5125c0948f3055f2540858ec2a470a99cf790f76263ca15ba8c9d6c23c3eb038f1921bb5d5b3ee0080234112101d72f1140015f1195cf52196e93a72ec6fe8900581f021ebf09deaf127d8c21681b44563b728150b587d23dfb2b5af4edac9ee9174902cada5de4e3bf48d600581f0291509508841d109f9fc77fb6a9f54d03c3b6f2cd2d243719e2012eddcbc7490bcba15a20753876fa00581f0208c96915c00dad700f5aec04e3833118efb81127013fc17752f42cda13fa46020ad263a77000581f0248485124a7b99a5976ffee2363b21fe1f31ff1231431b9d0accb61ed39f84b0161f77997cd9f6dc10eae00581f02207c3f95864b6a42feb5a52ed3beb4cc92dcf6d874b98fe4c9ebe4b3b4e44906d432b1e2d69ef9fb00581f021dd4080d4def52f5e789c0991d591ac2883a17e83fa7326da8345ebc7917492d99b7556472d6949c00581f02ef746278324f46ed870e8bb86a1e755915a8ebbc7fd27e19596fe322ebe7492949abd756b22baf42021994a90384d64be5dc3cb81180926c8ff702043b382f7d1530879af704153adeda9f7e780219ffff03ebdd438881bc4c816557070c5d72b68c7fa50a56536f357fedd5d97a1c8563f903e2750011e9f0bfc7b672b2833a9f615e6b9e3f16923dd32595d43f2db5df828c03a1b60e18084418bff26d6e7df95a12ce572615d8af89145f05c4ddb77df03e9803281277d7e4e20002744204e1108dd1eb81b2239f43ba630701b606e93415c94803d11b7d228273655911a9b6dd2877be099dbf841599254cd6768c04ca74befc94030f0ed05d15e1ed14a02859bbf6e9c7bbd15d47fc2148620edd9eaec806fe1e9e03cf9c3531946a939a6086e0a64f1780c25225fc6adb36f8b345b102ff0b3b002203384b5f0a5d5944d05a134aeaa16fb73f590ca03ce4c3c694a0384c65bfcd056a0301d783e9eeba33c3499105c75f98e7743b3647e75756903c0d63e10d7981d22e034d02ff733a9765b53417d13b73db6592a3e91c1cdef8dc95b3899e8b8d47669d0219ffff03de763e7606b25b649a2b8ac786722cdb2222c49159b165c59ea1df0ba7161d9e03b75bc7f71f285e4af3eebacf1278695f682632c9c248895b7b6fbfc6fb892cb503d2299ca59cba6c9f4573f980791f8082a6fbbcb42b329789ee057fbce939a02d03260e2029a2dff4ef9a311b760e2b7aee3c7917e80c767865e97bdd5704785772034e887aedd425214ee06722c918ecca5390f52be5cddcee2ec7d344aa8577ba1703ae451b75b94bc8d5504cf4e286c4d9adaf8845ba847143e46d02f48cf61058f503f01754f08ba0e2b1ef899cb5a968dac3138a1120d1cca20bb830572c5c20e4840392056d8ba4d948d4c2c76a81769a685a87d101af42feee78d6b7fab21dfa04a903ea4d39e8f519cd814532ce0552af030548a3aa027ce343b3f557db74a8faa59d031f9556b53003bf6d1bce62ed6fa085c1bc45358d13ffdd9293f25472b56784b30397c31ae78d44ae0f5d5b1966cf5f9f266998dff1e26ec6d4d86b0df4daf1b32b03a734cd822253ef2b9b80b4a0ca4856aedb5483cc466f9b08d7e4fdea5a96985603894571c325c53022a4ec2cd6ecfa72afad423f793a36d0dac4c602cf39a3e2db03b696950d2b19a765dfb1189439be76db981fa91f029b284ffeb0b9343964254203eae0ae787586da804cc5e664a28287fcd554fb38854944a4a5c412298c9982c4038235a69c17c2336e93280a47dcb0e96038a8499bc364c7b9d1898ce438a4dc2d03b8a9d63a0c86e87307c308c364638d1de190fd9c9d225ae7527d278346f2c7be033b96b57edda220b5f2c98543b31aa1b3a2b429c55cd299e34b4e92227281d650033157588c7da7c3be40785bcfbbab8fa6691d9337a1e79c756d14b0b5bfd4a262032bacffd2f7255eed5dad38a1bec044a54643514f97801f291bdcfa392459635f038ba9fcc7d583c1c18bdb19365cbf4847a19f507ad9af88495c7599326d7690f603b16e3cb6c689fa274b61964d6273e6f98396d363d82c9705425cbbccf85c927000581f024407c179c9f990517d243e9c3e78c2d73cf56413487578d39f8405a24dd65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039bf579be1360fa76ab4b5cf2fb079fdc912f3874c6c9ba69f8b4f323519bb16b00581f020b127f55a86bd51ad531e22e0714a960cd5febddae235aa2ab21266076305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b021d6f5f50626efe82fcba90d7e1c0598ef4630dd956c2dc45b2b020ebe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f022d06146d4f136c401ce7b16ba8db1faee3c2f7ba8e4032c188635d2fdeb45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d102036cef4ccec696e78fa8099152ee1200616670512bbbb7b8c3204cfef8064af49903e4d806984d3a07e69f42911c91a9ffe0c3951ab97ecf40da3813988d72e6f8160399addb48469e0c62368d79d0929decc1d71e8b1f1ddc229e1ea517b4e53c1b2a039928521d8de14107479968e9b5d239807cff8e7ff19d5f9ee9839fb23836dbc603d61853f643d2e93072e73c9fedb01154d8422f584697459691376f6861ccda4b0332c7d53f6857c3dd549a378908e266fba7e8c097e8088fe2106f041f0334340503f99b487ca431bfb16682289cb596feac647ec0d33e68035197029d973a5b2f4e0219ffff03d82cc748fa21d03c25569c63668e31cdddbdc3e9c4e20286068847d978e5140903eea505cea0444e7f7a2cb3b423415f760ac37a561668fdd9aa56d1a787f02128033ef6d019f432eea00045bf0d6234b185601ec8710c7e536b79a4607d77681813034a5c4e537b448ff7014d86df24bed733e2eedb1acc0622192cfbb7b6b70c68150219ffff039a1f9cee705cee3ff551390693b3e6fa91fb1459ab53943bee0bfc575af716cb03823cfbfa29179eb7b3761c166782dbf346af1ba6eb37848bf28f43b48d0f05fe035daea3ec8c82bf282da81950e594ac8450a823b83bebbf837c289107696ef3920360d47e901bce917be4482ee2af526404af1796a0cd64c46d1335127b22c2773e038034a3816d694f2d17f9ee563a2d44f51ae5a4eaf84506d36183dd016063bc4303208b0e701f66564b04fc7faa118c42ab5ec0129dd40994b46ad4174679f232430347cd81d5267f886bd87dd7566d636dad0a22adac5ff3e533a0edc7c1c045cc3203c5b019b6a54677ab73604be82ac5bf939c49a2cb62844a829d5c8212c301887e036ac5be644b01b163c520c60e18f0c1f658445544ddba5033e8b7e324ac1cf7f40303c7d742c921f2e65c7830701db52fd1545c302e0bb6bb0f45e5fcf0d221893403fb863aa35a2d7ce1785b45275f48b99d9a27f9cfbbc89c7f130cfb2bc1a471e403faf7c26b2eb05a24f2fc85b2ded033b40de107f29abbc7cec46261ddd6be637403722c6faddd027311204cdfff121f0e7e60e69beb857eb1b372877518860945d00302743528c7856f3d61f6f002b678ce1eaeeddea5535da6c4c94ad890a8e903cc03f6eee4706cc2f6e4baf8988b4234e213c8a6aa521a1927372995a4cdf10516fb036e6635fe97af7c4b0205aff29ec9171b4f4f4f76cf7e711213cc125af3628c9c03a0fedc9f298a54d93da2ef9f1465c91d0e0c3c600f832dbe429031725ae078000394f90593b53880f140c1c297f47b3121d9283a45634146a16562cb593ae9236c0356b52d4ff447e21eda29b4d4b8c561bb5c8f0df40dde49aa14622dac6eabd644032eb0c6d5e2d51bee0b3a8d79a56576af4579d144414a57652c7838b55ce802c7036d6af5441e53b4add3606f8f5ecc2dfb5ebabeef7e9cd5ee01e5d7b7b76645cf031096f9d9ebba26f18f6e01bf0823d1067987d87764f332e5472c4d67e8965ccf03e89779db4329f3b9ba8f71e0f6bc1321c0273fcf8bb7e7c2fd9ae289b90c5d7b03f0f7715bb798e9628f1fd4adc9fcae1bfd76bcba57245808379fb4188ddcb22303fd1b1d51ca3f79ba7a0df69d857aab869f3822d32aec21d04024b1d856dd4b2a038453ff793eab13ec185fd3e9fd6931ae16829097b91911f1033e05677613b7e703969028205ced45b94886a705a1da766072b170c07a5f896f38e567b15d39896b03b5de865f5e2c095d6c24f50b61586a0ba4240a6a8355b1e29202884c78011e8b03d1380f9f6b6468d97f8e5145c5123d8877e958c0fb7a619c51b2149adba498d103b93534b92c4cb8db0a556118580ff42b5c0250685a9a0dc9cfba45a4b89a986e03d7c95b8995838cc09ee2bfa38335b0d17adcd0d96731b838da49122d812c492600581f02763ce2c4ea831e766bec9178cc11da4fd1a3c57424aaafec0583638c3a545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02885428dc5a291ea21d13d385126c2cc16f058ae9b859dda3649ece459cc6496c6b935b8bbd4021e500581f029c2d167613c3d78bc71e90955dc15617f4856bcc9f6b3ecad27274b2696a430ad35000581f02d074bf2a9119c58983a224841c67097f7c3e54f07174f22ecb6bd7a31476497be30dabe80771f58900581f0263de4256964c446510c3864da6eeb5d446031a162317dda6dd697695d56e4a019b38d3614767f2b32e021920d20219fffe0219ffff0219ffff05581d02fda02820a7563c1832c0d1daebebf19d74d707b5bcbcc76f2981da89070119156705581d0267d0a931746aef0c4d4a4764aed564e349bac38dbed3c38bb09076200c181f480de82722ee29e7f405581d023d70f21a907eaeaa1e789eede874d398f7bceefb3a7860cd4e5442b70402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d029c8a2814555d98adf56e94a3b5b91251c093c6f5ff0851c4cb42dc7007011bffffffffffffffff0219900505581e0323c75507fce5bfec0b1ca8330ef9ed521c23984bc76e689f9f6831f9000846029e8d60800003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03bbf7855621e8a65e48c7a92b315b8f94f9fa5de291aaf40dba3cd92d6007011bffffffffffffffff036fd50b2f77b3a04935496270df421d689b24bd67caa304d3888e1d4984cedee903f99af0b81dc988ac8cd1fca36090f280110777e0d6f9304383921260e7ac232703852179c171385ffc76ff608b2e384b168f999cb82f80c2ba801d8468e6b07a7005581e0388dfd5793e57236d9badb1a0bb4b6b3e33de9c9416a6890985056d374007011bffffffffffffffff05581e035df1b38a4b21de167db6af4a57b13898e1990e6ddd63eedae5354c5d1004010390cd96a42263ca28fac9e2b6e216c478c160048c10af8a1c9b74280df7d4faa305581e031d7bbff349c7b0cfa12f76174442932b641ff5c6e6b7b7d8daed63ca200c0547011c75e54ae20003ce9eeffd543a63982fb36c06941dc5f1c6f0b8c0dd9a0bdb6589b0308e04330605581e03af9e80fcc1d31d469a2d9ad2b6550193ee34e6de7d2e187c4ede679f000c0247452cc0bb6f35fe02199df80312398db349883f028415dc0eff409644658bb2e05f192b7d85506dc8c9566d3f0356d15a1ba666c179bb4125c332dc8bb74d2c4d362a043037a1a2d111e9c8739d03bd5549898056b30e66e5d1bf251938aa2d9910157857f0d900c200e198faebd60219ffff0219ffff0301f14b5c34b7d9b6c70395650e0ac7ae0f03ce2104d54c3419bab0073c490cda0364fb6b1bfc506e1c1741e78e94bb20ab2fabfaefcdc6bdc7004b68e2d4e24e4b03d2481ed1e75ffa593690ee8c7ed09bc745a5910641d45f80eb9c34303343de640219ffff0341686eb8e1dc426b703098af7ca51efa6f255656e21e9409a57bebab97eff2120219ffff03cd0fe1caf119aa4d59387be0e21b95b44469c6f39c953783b3362dc549048d88032a4ee22d0e8eb8ac999a05005ebc96fa3f5064bab6e53f3f58382fb4ac87e42c0311150ce3b936fafb0a1d56183707b42bd17dd0267fac38697727c146e0b5fe7203a72ecc1e24f6b2d4e3fb977f8d88e1c1ea5d85e017d851d62d8c8b4340c60fb903b1c6cac4c5bd3d311b7935b3e1bafbe2c607251c978f20c85a74bb26ac5399450384fb7351514ebb2d85ce9d50c5d2de1907abbe67b71620dc963a7109be1fa7a7038786a05282487795fce173855a3cefacf85c383394ee0de7e85ad25e494809850329c24527ebdac8c7f971ef1a024d9e4eeff92f4088b6871c6dee894aa2c483fb0348b9455295376a847cf2b93f7c771e4ed761c7e9a6cc2e18e750f2c38a802d3503bd3db8e44da8ee6afbf407ad37a184d00dd3c40cec0b1f32f90e2fdaacdbbd90038ad9ff297ab8a9a8cc4b668d98abf9168807e85fba88333213141b23c0664967033f18f0034da13a2890fc94d60240a042b716770575c8b8daf7ce283dd05230e0036f69a4fa3f4f89784ce3877d439756af0c833cb9d3f0f6d3f170af48cf8792ae0342936d2a63dfbdda5e3d5c75530d7248bec6ed41dc393f5c60fd4a7839479501033759fedc15f532cb1553b325e573670ed6a6570069badfbef9495b034ae14a3403c3f1423f5ad134e8eeba9a64e1ff1fecc3b9dda3cad8eac723925f4ef0bc46890354838f56b8a3a9ec45f4db1490b16c05df120ad4635f3e4da8b42b4a196e996a03d885e79324f3b4d2ef575512455d0cfbe0ac3bfa34157f54626d737f74f74487038065cdc9e319dec6adb29529a6d68113a7df4aaec9f38241c1f6a7d12079caaf0355604033623601f9df41feeccc381d746b2aa48ce9ba5d85da8e8b2000189a230351b946cc06c9120786e666dc8bc1e31056c753bb4c3e32a5c20432e5754969920355b6882de9a8d48f5b936fc3528e5246d3b66939e923ba770cb095f811dde2c4033e1d0d44ab57621abf8e765ea571bd03ed2916aff38e8d56f68dded2dc0a90340390ff8a8402ee947fdbce2648087b84098f49ffcaa2c8b21c5ad13fb9705841c403647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03eb8594ba5b3314111518b584bbd3801fb3aed5970bd8b47fd9ff744505fe101c05581e03507387545ef073e2a36db006a3195367d76f502c6432bbe4fa9a83a7b007011bffffffffffffffff05581e03ab64ed7c8d6c05d7f39aaf00ec0c6b2e12f11aa8eed4d6a9a9fa7527e00c024702ed8b082803d605581e0301ba6df7642a9d6e9a7f867ec4d730c0e842cbd2d4b20049d30b6cfb800c034723b75188c94a0005581d0210aa60f2f472daebbf5a250c3674e810f9d34afc1d777d4424cc21310c1348050a1bc99cb7e1f605581d02a681a7eb26d68abdc8a7d08cc6adda7051af6c514533591ff7701a2e0c04476287937a78550802190108039e0a50083dabe3bf8e981fc662a08b1a4e7323aa7046424ad0fc4d43454bb67705581e03ffc333d8bc3d22d2d61aa5503dcc3c062b25394ff255e69a20d1b9c7000c0a4717990543e03b4405581e03138eb51bec36f3016f2931063bc18397d8db82db59a63846b93b52a2000c0248212f6db0f4408fa803ca1f88e02998b6b89a81e3c01f70476bfea551cc3bcb1b683bed8cd66d9c22ec05581e031ac277c392bbbd49b07be60f7db021ae16fd164c6687632a336f8442500c18244801176b31c7f2d82603b9a89deb60fed1a1bcc4cbcaa187884aebc85836f32fb7cdbe84d92a9b1ea284031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0316bb5fcfbfb6342b578c865f7cabb87629a22b75b23618c8ff8295823007011bffffffffffffffff0219f2f503506c4e7bb28eabf1d691b058cf1d5947a8c83ba35d9e445a70b330d0e20c46c90367e149868ac5710f4f781ac1bed70a3e42b9c3cbc7ada54ce2664d8941bf49f203a3c8d2712537a32badbc74c24214fe3ae35aed8508d07bf1c9c778cc97e2ec8e03851fd489306c1e2794b7549ae2575fde641c0d4bee3466e4d5911f6c52e90daa03f456724f0e5dbc2a32a12a1a67ab32736ad0b231b4cd139bef58c8fcaa4e1bfe03c481f1f3c861e8b95a3a73a6c285c34dbc118c77bc99824c40f99c40f4b406b403450c175b955e32fe7ae41d2f7addad8d38085473d1e20f94506220d19033593703eab88085c0b7ee412425ef1db1d9a61c287d2876ed50615b3d639bb9c9cd520b03c27c36b84d04ffae14fbc7b4acf9d9f7fd2e6e55ffb2695055e3caf68e36d2aa03eb3c9ec92dd0624d130857f5f9c0abf316c0cf6557df4029870fff14fea68a1403d844b07bb93259fe8ac1eeae73a8c9ad0669ba4a29630b93472992b1ec372d9c032c1ff4df299d003d80785135c5633285e4a6cf646e1b3735f9bf4f23a096b85c03f44fa6481789fbe7066ac08eafcad5a391c072e7b0872e83f5d1cfc78b0965dd03bd5b10840c8e5c724658f0ff8784ecfa6f649c9e600a5529825b860e70138a24035fb3fae503d4cca63beaf19c739bc06cc83bcb006fd97d5187c1244c1a8b47ed0219ffff0219ffff03f22ff17b037269b2810371d0675794bbc7809b4a3b436a30b6ae52b5a81eb99703e4f63ef8733b377391b37428e61de97ff53af4b4fe23347cb838797cc589f5ea039941aa375d22effc455d7186e777e4a8cdd2c68af67bb28675b152b596fa7a9a03427b302a7393cdd53c12086f0debf9f9c4fbbd4b3931338a2e9ef04fd8d6758e03afdbfe893c74b40ff98c0fc87ebe07a74a6d02fb291d9be0e94ff64c43083db203ffa9138d66e6cc6307fa7ede4d63c9ba9626fc4aeb424db6174cb1fbb6b1b98203c84ac336425a2620e9155693d73d899b66532df71715154e4f777f02d6a32c8b0349af7628b7b0a5be5e8ac7558da8e548065fff42d2c983e1df34169134b47ad903f61330fbd496050a6bfb98266f081ba21df40e215ea8e4cbe688ab3ff57c8e900329412f2184d9b3f4393b4b62cd2d217cc68e290c7415e2cfb77915391d6ae6db03bab3cf959c5237f330e62cd4ae8c6353aa9292b53f31702dd113abd34755c72c0219ffff03b2085d29f0736db6fff3eaccec6fabfafc415589121332e73e6878b4666dae7403cfe878ac540f0c2d1c949d5ebf9dfef6760b9b35a19eaaab4a2062a5a280d80f03ce348fae323a7e94fa150ac2713e71439f16e3ba5f0ef8632a88869b27a680fd0351dc270b140a8d9e3d1f301db32c80fc25de3b5c4e37bdd257fa87be796ce0a103e8aaf3834c2ada61b1e774341a7db527de109cf26f6caee53fb2c5ccb7aa32d00341bcc90f98365e885154d0b343b686bcf51836ace16b5630da867538c4f546d903e0b5b2eb9735a6d55b0f3e26325431c5acd5ddcf45f4c9c30432b74f5e00dbf7030cc354cb45c082b780ec322ea692a1a91dc06d2e48e188f5ce122bcd59bc51490360ffb9660620c234abc93d912f3c5c39d5001f71558d3722ff2c20698c1a85a703a8d7efaaee227945aec253e0f84c13bd2c026eacf0a39d4a49e1680c453bba4c0219ffff0339ea297b56c970133abb462b87e3265c3bc63ef39019a31ac4d64c219c165cc703d7c105cb77f1962e8e369b8c3265855dba35c2c89ceacf578dc9fa9fdade6b5c037e5494aacb69486ddb03f648632cefa216681b49975c336a6781e30a0669e23903175e8a303648153a9be1e72ee6e201f8e2e57c977b042d1cb4da1e63c6f25eb3039f3e6ce77f795ea897c52cfe260c970225ab25e267a0b92637fa675dd871c21703a34412589ccaed3d9a47bda1a0ea5e9c7d85726c8b09015d7ca54a26622a5314035a8b20fbe3b7c007335b56416f31c1b78d349bef76c4121ed759a68afb4aa52c0351f568ed957b25f238174064d99724aad8a7a7a5df805ee6d32ee08326bf131e03a87928cead5328856f01dbe6c33a662837cf878169ad7f972e7fdedb511803ff034fc3c6a21cbdb29e69a647b1f8ea5153e052bf3f82247775aaf256e83c966e5f032294e1089fe2f438659a3bf0038bf9930b8567c4013a233d8e8f9f3f77921e4e031b7ca6c1664b0872b26cf493c1538604f26bf4d3b4e726f610b9a141f922277203734461694bd23949ffb97c209d73ca043c40df11f132faf922b92358ee31336a03069be3fb2fc9ff5ccbdfc26751b6498f440e6023015a4bfcf5d875b58ab8486e03c94571f889dfa684d5d0c3f4602784dec2e5174e53e27aa993aa8b4f455e777703b6777e984a6ab5a18b04515d33b5e9bf7c7686f2314256f063beeafaa3cda5e0037fd96cf5c0270976921ac3e0e3836dc4068bc107e2e9c9939ccc9d41f236e7ec030e6bf733fe3329f2538d83bfa40e8ecd0e8ad149c436f2724bf4669581d84fdb0326e7d41ed0f303a36f88006a9c03715c13cfc62a8b72fd4323db143dc064aba0030505d04e632f50a144e7fdb60cc2586ecedacdbc47ca12a984b0be6e95685a9c03b226331975580e216bd44193b60e517bd819f64a65bbc532fc7af9777eacda8d0396dcd6293164e0c8b7f4ba777c80478f9d3460a251228b282c4bad001e986127038b07bde5abd04b7fe0cf4db5545897b7c301ba5851ac2462311e02ba00c95e36031f557b29b9227afa46d9c70eae11217915c0a85c82998f88d3d166421100600103adb62951e6d4a76cb5ea92378b7e4ea8bcb1ace57adf40db7e852d81179b660603820e0b117db92504a56155c8980ba6d654aa89cbf4ac44f799e9e219889847640375a9205640c38323ee06624d1bfd0377841279f584ac1a335d99fd7b91df025a034e1604d47c752602df79ecceba8bf33edef23a970ccb0a029f83de061cb2acbf03d3dc634686d3f32c7457a364197e9dfc8b718860b204c5cd7ea31d9f5e99cf61031f2c5ae68ae79aef9a3be641c8b1fe2e838e23b1b258ba6b19e61987101316d105581d02fd4676e3f492cc6e81fa95c697861724d62626d2d9c1e117864218c5040105581d0223c0c4da82bbda30829e9dc56d9f4b8a5f298b88e1f429a47fc00d3f0c0848011cf7ffd1c21a3a0219401005581e03e08b05cd11ae1e61f1cc92100b091a2434e36e460470d57e140b6832400c0346752905f4a4e005581e036932f1e9b27a0e1cf43d20f97a765587ccf21d7d74e59770af6f943720084802c0d592c7e64400032158f68e726b5a5112ead4e5125b327ba8c09b309a136cd098493e9f26b959a405581e032fbde08c4e4e5d8f9080db1551fbece1b8168fddb89f0fe072ebf183500c04470400174e04600005581e032a0211555236e63aed07bb486d0cb003389b4752b0c8d4650a529026c00c05471f1994d554c6a505581e0319fdc9029abea4b55133d8c8490df63a539daf8f3bb77ca38692ff6850040105581e037905a0055ff67ed98072bb3382a333ea3197754a3ad5e77e48026e1710040103fd4e35eb7af833e26c3bef1f57529dd566afa2b55258b383a2cfa097547e479003b32a6395c759cc0bebe6992002b7cc6334dbdba53f9db43ed20342e4d4521b5f05581e03ab7ec5f06886cfb57a12ef5d95df488a3e176c3f5dd42f0b89f59cc95007011bffffffffffffffff03b7ee810d98aa0dd2173c24aa990f662697d57259be3d5b1121959dff25c655a00605581e03f4337ee63f0654625eefbc541315f4a43fa769b80d45e7e1183ee5ccb007011bffffffffffffffff0219fbb803042b1f3ec9a31761e1c6f484981e93c4c690292aa84a2617e32481dd3c9d7d37030caa69070a82e75f3204ee51c25488188869527b5ff7b8eb86aa87843c8d14cc0307290e2d92598fb6355a108618c61d5df81a823efa18b26428f2f22f4020b2120219ffff03bc67b920fb91c2741584c27209409240bf4cba20c5eb35efa5cdcffe8741ca9503363afd9c91068d77e615611ebd7ebe56eaf988d295cd89684e1f41366b2e258b037059f53fca7dc9a338e53f9873758f983ef7b7e6daed5a40b031f7e5d98d19a003af7328517e467dbf5713f509cbc2b66b12f8911a95d6ff8d335f875319de549303bac92b95881b10a3e6f811d0f5cf44201df044a84566eff394a6aa0586cd9186039ffd8d7effb285c096ca547ee987258b4e6e40b472578b767636a3315fc4a8cc03abbdb946d113a2812de4e6e33045353f37cd41a3808b0b736e85c5ca49778c08039cd4ac4ce4261c3d3bb3d3d2af989b2d94d91840c0f26d655ec1d81ebb7fd675035bcf4c766a3fb90d3b849e1ce4fb738c329a1edba393ac047b8599b9e6dfe8eb030b220835b3169018169112dac7f3129e6f21abc06fb917e8e2659b9e85e18ffe03248533cf4f2fda1ef078477aca3970b2db861b70dc44a1edd01a7359511cc16c03e62ad1d3daab2f1bc2c0f8bb5555a79a3c8c24e27b3c4b96be4202b7b3669f410219ffff0369493f825356e3760e3fd5ce270df233991116293cd111dd41a8f832e37aa9f50219ffff03ba116164f88f882188381968223b2a30eac38dce9cb38d2b3e626102c9fec75b032ecd2cb9506264d9e326901f8df2d9c019ddccda62b93a96778b52323a21a71c033ef8ae4cd7a240131254d9907625ad2d3616109d08815fbbfd5aee912acab2b2036aa54ca1e4f12f7f0207d3e512b4ce190bc18ccae85dd73565d9242eb5e7c6c10367137298c3e4e2417ff68e4ebe4ffdb74ba5179dc3e13ad20120d4ced736f2880387fe8a188b4085e889117efb56147000df2584874e261ebd91a67b8730f243ca034696100dbd46fc1e479fee8b9180286612cb8e16b20b2c08ea3527d60f2eae45032b17a4245266c210343c6639b092de9000e424e0e9acf66a3b61d1ffe640dd3203920d5f46626d635f1d7a43cee042624a6c09709a8c14b89bb5ab2b146d6c0d5e030fab4487e48932cface5c6f8f7fd9442edb41baf855a77dacb2919048d7644f703cc77e1b4bd4e8199ddc2959dc1625fce0082b7b32a83d972e2fd0fbf6798d74c031fe6641f5189ff828322246a612cd83fda09e9f81fd742aa3e4b37286f665532037d1bc5db7b606f57861bb385f04db2ab62102239ff9ab6428b040d7cc6e5628703bf42ffcaee78f61eddebc270599e38c2e6d486351b070737c401e2b11e8059050380a5139576bbd12bcb97a0de71575eee762669e6c875a08a37e25d5d571515b00219ffff035dd504a82366de9e93e394035f4b0d2ed888653cfcdd808c117d1d7a6fd1392e03133f3957e280519678ae086253543cb4cee3042563bc4e0e68e194a0be9b158b0381c0b5113c2e875404f7f151a8d4d7f55fd2ddc69b596d7e5ccb62270f1dd1a803a95dbf47e006c65e31ba241262da8c93d091548163678bc833dabce83d101188035ffb0ee38cba203f4e224a52e949b945349f0c4a241bd2eaddeeff9fff21fae60309647c8ab3d5f23d3773f7919bf1687e8dc6ead5b1b297997887616c9dcb860c032f4506521b7a1698090e185354dd4aa38f27286ee4c4a59ba4a601206d1c34b903e810715fe86de4265b246533b4e58b1f9ebb649e0549ed5ece2d9baecd99bd72035a10a9d1f24410978c37f58e04b2da95461678564b4b6f91dd8ab2d7da44dddd03915954e34e6c698f2bf52214ddff741f305f45318f43d04935ce2549a82946fa038178be298d20c53d566c9ac11bc816244a924cd7db3865bf198d4c97802e342e03b9c267199ab13fb77211cfdc0181296fa9e9374771f191075f446b7fcb48fa4903e8671af24aa9d8470a2c70b2cd05bce65792d67ec18dfc6a19e6fe7926078aad030a2fec5566348c600f1f9c0c912f4c9d2ee9b420a686feecf1e62adff572c33d05581e03d59cf0e0aeee95f08234c79d68f62135bdded6cda296cbf4aa5002d860040305581e031db77c68d4f50b39719624f507c9c57cda53deca2d5eedba1288ccf8f008471a5c30b29783e2031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038d859be2d64d7f181c7a14eaca1d3f5a183f9b432e4bd16b20ad67383007011bffffffffffffffff03796d74dce7992442b1cabed6e46087ac871467282b153c08f1f87e5ee18b5a0d014109030400cc9e951c9886cd47b1ada3cdc5c5fe203c324137244bff2377ceac27de4a05581e03b79b71f4c9fcfc4f010da4ede0549734578c0166b4fae651b62c1f67e00847be8006458c3400039cfc0e80065f4f4a81d7d35be2db5e73b6cdfdfd4a036a51a3f861cffa10ced705581e03903a610e2a22001b9f2b2eee0acb98500355909eb537f34c96203455000c02470fa5c74972e000039daf0cc06e6165a9629c542b3f90f95c09ec09d6c0e74442064c65da02826c8f02192767037ad555e2bb682394a9f5bfe3f4863cd67dde70b4eacc387064fa698c28b1d5d503269197cea25dea0c1b5d8001d76b258fd340d1a4b1ab1e6ced9bb34999805e550310fc4d1d7dfc7eca1b429ff7e65e4925f3c1214ccd2efd276c86bf105139a3f003b4c0777a56737f4d90cd6564fc926bd39f6a9f7182a52e072e3ded9b5b658b5f034265e04659f8f90e785b0e964d0ce546cacc000ded1a130a358be3e7078c743e037c9b20daaef33f91307a521d7d71928df7f6cb375e6c97a4faecec1663602b8e030dcd63c21a180f8c69ee8e80e8f0c408f57faa54c2e7c935f6e788e6f0506a6b0359e75c5a668281f52450759631e519ca75d4fdbe63b821ea0551651aab981e0603cc6b01857f87f8344692abb74cbf30dd9ca188bf558cf77f44c99ca097da92cc0219ffff03b17581ae48dca8ae514116c06420939d34845a67521d7cd4a3defff9282b8966030d118e89d15b366e8fda6320078eedf8a6c4c61424869315b307c02fbb6bcb7303b943ded2380737668bc8df1cf093ac286ebd7daa19f00211991ec618678a7a20034707b964eb6cd7d634cfcc011112766a4bb8e3882540937e00ad410dd96201e103d6ab42afa8784d4f7d0b03b50548a004789ea5c01c701e3edc4fa8ea91da958d03f2a92a250018fd49c441c64b120d0033ebbc93c593a00c1fb8308bd264563d4c03d6021a04cd344f46a432095adac86e88b843948304b8743f6d3e8a49ad55fabf035adcbc6618676838b4ed400b06fc48d6376200a8659f987973ddc42712d616cf0219ffff03e6dfa196870242207c3773b7f99a2624aa557cd0fb562090b92142d8fa5e84a703b5c35bf2500b6241e413b7f28067edecc545cf0fc0908b39177e6bb535a11b8b037a791f294190d0873e07f2d15c656c6dac4a6d5ba237e2c268ac4b578baf4ff70376d78a382170707ba0945c922a0231b064f912629845c9709fbd972492c8fa2803757cbaf144b03157495925745103d908c25bf201fba8ed3574eb3bf7d216b02c0355b575a483df828241e40f3dcd6ae927f67349db7e5f1b9f6d6ed31a3b68194b0354499a7899a1e00dfb86eb5e4ad3bd7a9ee17a418c37f095ac74dcf5fbebe65803320047fddd1fdb882f46145453024ccced36ce8e7e57f58e6465e03f8dda40ae03fd07c6f62e5432bdeaf927e157c786b51e5baca8bb9f06fe07f55bedf33fc7a5038c49ed210f019d5ab1b93a9362bbf116d29d9047d9232b17518ad6b74801fd3c03fd528617c57e6b371f534e9c23b9bd72522799d11b26c6190916b5f6776231870389586cb59ba56cb280800f0cd69e21b9799fb02615721c802ecf12be7934ad8b03f58be70ee61c0286a499e6c11f4aab0160be4f155684e496f802904f9485468403b787b297e00f42cbe308a7e02e724680cdb3ee663b0b2c71b115bbd8688776f80219ffff0319a8807d6158f0c31b368125618a42661e07458f5bb468d4f7ca1e79c6b4501603fc02aa8dfec23ff506c36907d4ffdf4a374e4e7cb0b7d9184fe49d6440e0185d032fd1b9b1ba0f501054c3a9ae1cfb04881fc634b3e41c79d57b0ec5c05454330d03aea1a8833d51955c3829b4910a37a1d5096c504ec0e6640d2d9dffbc4791922c039f97bf8f911c1568803c3d67aa53f2b07daa1a69dd5bc2d9129f65cc8abf0ba203e7b0e1744f2680ed2b34f553c610890562d866b995b64c6c6fa6485b690e9c8c036c633fe2f66ec7676493d483d2a51f97bd0e85da43f9518a9ebfd1c163af9c3003cd6455dae0cdb2897605071cfb821bf6bc60c194b08f0ec33ff5e2a2ec874c0e03d795fab4f90d67c3ddf64b9fb058b9804e06ccd60890c797472b346f56e10d270324cab35f0053a15aa61387d5860adb13241d2b0a24f6ff7f3bdeb87e62acfc9103e4becddbc99c657c13122a0cdddec465834f67eaf20bd5b84e6aef0edd400944035063d42e910208a3681a58f4e93ef269676dc42e9e91816612496ce840c8a178039e1368bd5d36b6e9749fbf15db02d0c0d0c13c7d967ef9389e36699687ab31c6031d4556542716986e0fb674664212ce6db56e456fe8adb5a250a709fb7d473d2103111c1cb0ff74d041748cfe63f77eaeff39211105c09e408b2b8be9ed3770ff550315dd823230acb264cfed0de85ab43551ed6710dd9e0ab8a3c58a65a8ae8807e80343b6c52b87279225d11855e136249e41bbcd7ebfd95c43a02131d12b0476961203df1cb07c2b8e780ef75cffd84f7c2d638d43e619c08886a45fa637b59a8b8e900312ed50bcb59923332cb1d0792f11e1d6878b765e3cfd9127923743f2ebceb2bb03dbf2539b4f6ffe7791997a13afd768d75adfa7010b0aaad4997ad07fce9c1428033f7ce8563d0e7de3599c08290b1846da847cb08b2bddf4a9bab56e474b00ed6303df7b5fbda1fba8c345cdcc2d65f951254a819f80541694ddf0b89509132a4e5903692e7971929061444c2f9ab6a7cb19f484e4449cc75cd7d9c87a8cad150226b7039a04c4d0235ea0ac344d0acafcffa3936afb2691296592c17be84fde84711d88031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0306077214b0832f05511366c3e046a157d893007cb4ebdab7aa453b733007011bffffffffffffffff03f0e05269bbf791c5b19b9fbd4dfd3d4aac82bf7eac840e4ddeb4fd9af5414b5205581e03e09e5de634925e74a569714954c17a2a8b6d1903a00b13a9f2d3e3fb00040105581d0274737daf89d51148a5e881ebf366e828386bdb38848e3272fd361d790c044707233e722c9494045931e1608060405234801561001057600080fd5b50600436106102d35760003560e01c8063782d6fe111610186578063a457c2d7116100e3578063bdacb30311610097578063dc6663c711610071578063dc6663c71461058c578063dd62ed3e14610594578063f1127ed8146105a7576102d3565b8063bdacb30314610553578063ca15c87314610566578063d547741f14610579576102d3565b8063a9059cbb116100c8578063a9059cbb1461051a578063b4b5ea571461052d578063b4f56b2614610540576102d3565b8063a457c2d7146104f4578063a8a778ae14610507576102d3565b80639010d07c1161013a57806394ac91c61161011f57806394ac91c6146104dc57806395d89b41146104e4578063a217fddf146104ec576102d3565b80639010d07c146104b657806391d14854146104c9576102d3565b80637adbf9731161016b5780637adbf973146104865780637e0c17921461049957806380edef8e146104ae576102d3565b8063782d6fe11461045357806379cc679014610473576102d3565b806337a30bbc1161023457806345791d19116101e857806351e238e3116101cd57806351e238e3146104185780636fcfff451461042057806370a0823114610440576102d3565b806345791d19146103fd5780634b3161c214610405576102d3565b80633f22a488116102195780633f22a488146103cf57806340c10f19146103d757806342966c68146103ea576102d3565b806337a30bbc146103a957806339509351146103bc576102d3565b8063248a9ca31161028b5780632f2ff15d116102705780632f2ff15d1461036e578063313ce5671461038157806336568abe14610396576102d3565b8063248a9ca31461035357806328a4aeaa14610366576102d3565b806313af4035116102bc57806313af40351461031657806318160ddd1461032b57806323b872dd14610340576102d3565b806306fdde03146102d8578063095ea7b3146102f6575b600080fd5b6102e06105c8565b6040516102ed9190612a77565b60405180910390f35b61030961030436600461295c565b610674565b6040516102ed9190612a63565b6103296103243660046128cd565b610692565b005b610333610755565b6040516102ed9190612a6e565b61030961034e36600461291c565b61075b565b6103336103613660046129e5565b610831565b610309610846565b61032961037c3660046129fd565b610867565b6103896108c9565b6040516102ed9190612fe7565b6103296103a43660046129fd565b6108ce565b6103296103b73660046129e5565b610944565b6103096103ca36600461295c565b6109bc565b610333610a1d565b6103296103e536600461295c565b610a23565b6103296103f83660046129e5565b610b0e565b610329610b22565b6103296104133660046128cd565b610be2565b610333610c9c565b61043361042e3660046128cd565b610cab565b6040516102ed9190612fb2565b61033361044e3660046128cd565b610cc3565b61046661046136600461295c565b610ceb565b6040516102ed9190612ff5565b61032961048136600461295c565b610fcd565b6103296104943660046128cd565b611028565b6104a16110e2565b6040516102ed9190612a42565b6104a16110fe565b6104a16104c4366004612a21565b61111a565b6103096104d73660046129fd565b61113f565b6104a161115d565b6102e0611179565b6103336111f2565b61030961050236600461295c565b6111f7565b61032961051536600461295c565b611272565b61030961052836600461295c565b6114aa565b61046661053b3660046128cd565b6114f4565b61032961054e36600461295c565b6115a2565b6103296105613660046128cd565b6117eb565b6103336105743660046129e5565b6118a5565b6103296105873660046129fd565b6118bc565b6104a1611910565b6103336105a23660046128e8565b61192c565b6105ba6105b5366004612986565b611964565b6040516102ed929190612fc3565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561066c5780601f106106415761010080835404028352916020019161066c565b820191906000526020600020905b81548152906001019060200180831161064f57829003601f168201915b505050505081565b6000610688610681611a00565b8484611a04565b5060015b92915050565b60085473ffffffffffffffffffffffffffffffffffffffff163314806106cf5750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b60405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60025490565b600b5460009074010000000000000000000000000000000000000000900460ff161561078c5761078c848484611b13565b610797848484611d62565b610827846107a3611a00565b610822856040518060600160405280602881526020016130e16028913973ffffffffffffffffffffffffffffffffffffffff8a166000908152600160205260408120906107ee611a00565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002054919063ffffffff611ef816565b611a04565b5060019392505050565b60009081526003602052604090206002015490565b600b5474010000000000000000000000000000000000000000900460ff1681565b600082815260036020526040902060020154610885906104d7611a00565b6108bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ba2565b6108c58282611f3e565b5050565b601281565b6108d6611a00565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612f1e565b6108c58282611fc7565b60085473ffffffffffffffffffffffffffffffffffffffff163314806109815750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b6109b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b600755565b60006106886109c9611a00565b8461082285600160006109da611a00565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61199f16565b60075481565b600b546040517f5518948800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690635518948890610a79903390600401612a42565b60206040518083038186803b158015610a9157600080fd5b505afa158015610aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac991906129c5565b1515600114610b04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612cf0565b6108c58282612050565b610b1f610b19611a00565b82612151565b50565b60085473ffffffffffffffffffffffffffffffffffffffff16331480610b5f5750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b610b95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8116740100000000000000000000000000000000000000009182900460ff1615909102179055565b60085473ffffffffffffffffffffffffffffffffffffffff16331480610c1f5750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b610c55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6a52b7d2dcc80cd2e400000081565b600d6020526000908152604090205463ffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6000438210610d26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612d4d565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600d602052604090205463ffffffff1680610d6157600091505061068c565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600c6020908152604080832063ffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860181168552925290912054168310610e395773ffffffffffffffffffffffffffffffffffffffff84166000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9490940163ffffffff168352929052205464010000000090046bffffffffffffffffffffffff16905061068c565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600c6020908152604080832083805290915290205463ffffffff16831015610e8157600091505061068c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82015b8163ffffffff168163ffffffff161115610f7557600282820363ffffffff16048103610ed1612892565b5073ffffffffffffffffffffffffffffffffffffffff87166000908152600c6020908152604080832063ffffffff8581168552908352928190208151808301909252549283168082526401000000009093046bffffffffffffffffffffffff169181019190915290871415610f505760200151945061068c9350505050565b805163ffffffff16871115610f6757819350610f6e565b6001820392505b5050610ea7565b5073ffffffffffffffffffffffffffffffffffffffff85166000908152600c6020908152604080832063ffffffff909416835292905220546bffffffffffffffffffffffff6401000000009091041691505092915050565b60006110058260405180606001604052806024815260200161313060249139610ff8866105a2611a00565b919063ffffffff611ef816565b905061101983611013611a00565b83611a04565b6110238383612151565b505050565b60085473ffffffffffffffffffffffffffffffffffffffff163314806110655750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b61109b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60095473ffffffffffffffffffffffffffffffffffffffff1681565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b6000828152600360205260408120611138908363ffffffff61228116565b9392505050565b6000828152600360205260408120611138908363ffffffff61228d16565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561066c5780601f106106415761010080835404028352916020019161066c565b600081565b6000610688611204611a00565b8461082285604051806060016040528060258152602001613187602591396001600061122e611a00565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff611ef816565b600b546040517f5518948800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906355189488906112c8903390600401612a42565b60206040518083038186803b1580156112e057600080fd5b505afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131891906129c5565b1515600114611353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612cf0565b600b5474010000000000000000000000000000000000000000900460ff161561143757611381823083611b13565b306000908152600d602052604081205463ffffffff1690816113a45760006113fe565b306000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860163ffffffff16845290915290205464010000000090046bffffffffffffffffffffffff165b905060006114258285604051806060016040528060238152602001613072602391396122af565b90506114333084848461230a565b5050505b6114418282612574565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fed0632d0be8a77d1cd861e2e5f035c6684bad17c6bd6850e2d3621c6542d140d8360405161149e9190612a6e565b60405180910390a35050565b600b5460009074010000000000000000000000000000000000000000900460ff16156114e2576114e26114db611a00565b8484611b13565b6106886114ed611a00565b8484611d62565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600d602052604081205463ffffffff168061152c576000611138565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff850163ffffffff16845290915290205464010000000090046bffffffffffffffffffffffff169392505050565b600b546040517f5518948800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906355189488906115f8903390600401612a42565b60206040518083038186803b15801561161057600080fd5b505afa158015611624573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164891906129c5565b1515600114611683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612cf0565b600b5474010000000000000000000000000000000000000000900460ff161561178457306000908152600d602052604081205463ffffffff1690816116c9576000611723565b306000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860163ffffffff16845290915290205464010000000090046bffffffffffffffffffffffff165b9050600061176782856040518060400160405280601d81526020017f706f6f6c5f6d696e74206e657720766f746573206f766572666c6f77730000008152506125d5565b90506117753084848461230a565b611780308686611b13565b5050505b61178e8282612050565b8173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fbe70a233924923d3d70cfd3c5c22c22f0a43c6df422cc029140e80684f7b70eb8360405161149e9190612a6e565b60085473ffffffffffffffffffffffffffffffffffffffff163314806118285750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b61185e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600081815260036020526040812061068c90612630565b6000828152600360205260409020600201546118da906104d7611a00565b61093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612c93565b600a5473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600c60209081526000928352604080842090915290825290205463ffffffff81169064010000000090046bffffffffffffffffffffffff1682565b600082820183811015611138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612c5c565b60006111388373ffffffffffffffffffffffffffffffffffffffff841661263b565b3390565b73ffffffffffffffffffffffffffffffffffffffff8316611a51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612e64565b73ffffffffffffffffffffffffffffffffffffffff8216611a9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612bff565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590611b06908590612a6e565b60405180910390a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b5d57506000816bffffffffffffffffffffffff16115b156110235773ffffffffffffffffffffffffffffffffffffffff831615611c605773ffffffffffffffffffffffffffffffffffffffff83166000908152600d602052604081205463ffffffff169081611bb7576000611c27565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860163ffffffff16845290915290205464010000000090046bffffffffffffffffffffffff165b90506000611c4e8285604051806060016040528060278152602001613109602791396122af565b9050611c5c8684848461230a565b5050505b73ffffffffffffffffffffffffffffffffffffffff8216156110235773ffffffffffffffffffffffffffffffffffffffff82166000908152600d602052604081205463ffffffff169081611cb5576000611d25565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860163ffffffff16845290915290205464010000000090046bffffffffffffffffffffffff165b90506000611d4c82856040518060600160405280602681526020016130bb602691396125d5565b9050611d5a8584848461230a565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316611daf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612e07565b73ffffffffffffffffffffffffffffffffffffffff8216611dfc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612b45565b611e07838383611023565b611e57816040518060600160405280602681526020016130956026913973ffffffffffffffffffffffffffffffffffffffff8616600090815260208190526040902054919063ffffffff611ef816565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152602081905260408082209390935590841681522054611e99908263ffffffff61199f16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b06908590612a6e565b60008184841115611f36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107059190612a77565b505050900390565b6000828152600360205260409020611f5c908263ffffffff6119de16565b156108c557611f69611a00565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152600360205260409020611fe5908263ffffffff61268516565b156108c557611ff2611a00565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b73ffffffffffffffffffffffffffffffffffffffff821661209d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612f7b565b6120a960008383611023565b6002546120bc908263ffffffff61199f16565b60025573ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020546120f5908263ffffffff61199f16565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061149e908590612a6e565b73ffffffffffffffffffffffffffffffffffffffff821661219e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612daa565b6121aa82600083611023565b6121fa816040518060600160405280602281526020016130506022913973ffffffffffffffffffffffffffffffffffffffff8516600090815260208190526040902054919063ffffffff611ef816565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902055600254612233908263ffffffff6126a716565b60025560405160009073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061149e908590612a6e565b600061113883836126e9565b60006111388373ffffffffffffffffffffffffffffffffffffffff8416612748565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290611f36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107059190612a77565b600061232e4360405180606001604052806033815260200161315460339139612760565b905060008463ffffffff161180156123a2575073ffffffffffffffffffffffffffffffffffffffff85166000908152600c6020908152604080832063ffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8901811685529252909120548282169116145b156124415773ffffffffffffffffffffffffffffffffffffffff85166000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff880163ffffffff168452909152902080547fffffffffffffffffffffffffffffffff000000000000000000000000ffffffff166401000000006bffffffffffffffffffffffff85160217905561251d565b60408051808201825263ffffffff80841682526bffffffffffffffffffffffff808616602080850191825273ffffffffffffffffffffffffffffffffffffffff8b166000818152600c83528781208c871682528352878120965187549451909516640100000000027fffffffffffffffffffffffffffffffff000000000000000000000000ffffffff9587167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000958616179590951694909417909555938252600d90935292909220805460018801909316929091169190911790555b8473ffffffffffffffffffffffffffffffffffffffff167f3eaa1c4be29b4a4c60e00300b5a17a8ec6c982b5b0ad5870cc84ebdc3b24d68e848460405161256592919061300e565b60405180910390a25050505050565b61257e8282612151565b6108c58261258a611a00565b610822846040518060600160405280602481526020016131306024913973ffffffffffffffffffffffffffffffffffffffff88166000908152600160205260408120906107ee611a00565b6000838301826bffffffffffffffffffffffff8087169083161015612627576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107059190612a77565b50949350505050565b600061068c826127aa565b60006126478383612748565b61267d5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561068c565b50600061068c565b60006111388373ffffffffffffffffffffffffffffffffffffffff84166127ae565b600061113883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ef8565b81546000908210612726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ae8565b82600001828154811061273557fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b60008164010000000084106127a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107059190612a77565b509192915050565b5490565b600081815260018301602052604081205480156128885783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191908101906000908790839081106127ff57fe5b906000526020600020015490508087600001848154811061281c57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061284c57fe5b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061068c565b600091505061068c565b604080518082019091526000808252602082015290565b803573ffffffffffffffffffffffffffffffffffffffff8116811461068c57600080fd5b6000602082840312156128de578081fd5b61113883836128a9565b600080604083850312156128fa578081fd5b61290484846128a9565b915061291384602085016128a9565b90509250929050565b600080600060608486031215612930578081fd5b833561293b8161302d565b9250602084013561294b8161302d565b929592945050506040919091013590565b6000806040838503121561296e578182fd5b61297884846128a9565b946020939093013593505050565b60008060408385031215612998578182fd5b6129a284846128a9565b9150602083013563ffffffff811681146129ba578182fd5b809150509250929050565b6000602082840312156129d6578081fd5b81518015158114611138578182fd5b6000602082840312156129f6578081fd5b5035919050565b60008060408385031215612a0f578182fd5b8235915060208301356129ba8161302d565b60008060408385031215612a33578182fd5b50508035926020909101359150565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015612aa357858101830151858201604001528201612a87565b81811115612ab45783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60208082526022908201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60408201527f6473000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526021908201527f4f6e6c79206672617820706f6f6c732063616e206d696e74206e65772046524160408201527f5800000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f4658533a3a6765745072696f72566f7465733a206e6f7420796574206465746560408201527f726d696e65640000000000000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f596f7520617265206e6f7420616e206f776e6572206f722074686520676f766560408201527f726e616e63652074696d656c6f636b0000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b63ffffffff91909116815260200190565b63ffffffff9290921682526bffffffffffffffffffffffff16602082015260400190565b60ff91909116815260200190565b6bffffffffffffffffffffffff91909116815260200190565b6bffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff81168114610b1f57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365706f6f6c5f6275726e5f66726f6d206e657720766f74657320756e646572666c6f777345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654658533a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f777345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654658533a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f777345524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e63654658533a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122040b1d5732c99ad1b09fdae93eaa09ad2c9755c5608f20330fe589d176288ef0664736f6c634300060b003303c4d674825c9db8e6d2fbff35c731005e7b9d49c3bde7092e46a6ce58bb711fd6037678ae215d2749cd7a04c1161e2b17d25649406cfc57fa65b0c5055f46ee235b035da54a42cd9a98a0f83e525f16899f1115504f009295962ab4bed823ce8e0a41031045ad9fff9b7b20b03e1408d9944ba04ed871219a3b7ce2011b87831c1df1d503bb43c7277d509a3b144427ae9cca046ff0d72042e7deb51e89f0becdc41b257d03565bd2428c5e28d721957d67d7e316ec799b7198231806bcb443a10b2a3849fc036ef6148b144088224057c4a246d6c73529ec3c6b337b07f304e09a27d6fbee690371f1077c85d4fb364583357b1607526a4595dc26cb1d83e476f4371fc6fe54cf037b5d8be15b27f43a7787b8f207152f5e30c2ad73dc3d5a6ea57b89dc07ff5f3203aaaf088f99b281250902f67f76722d5b883f6ecd4dbb8fac41b2f348d860758e03c7bbfced57f7995e9c8032d92b5fbaa25c1b2ea5926f9f154308c726259acf490314ea85745219e5cd005497dfa25bcee53695b191a74480fd9cb38864b2e5558c0333f75b947282de2c762bff9c166ddc274ae89927835e12b988b94de69cabc0dc03482b16c239ada1809479fbbdacd19700a5a9de7533116d2bdbc2a03226625a3503e3ca5d6b4d45fd390655f539072f84cf5d7004df1bf360d0c8ed8e661c0b04bc03409b4ac4c2cce7f8d433914714d92c104297c8571e84446fbbb834ff4eba4acf00581f037d99781c0c52e1aef47ac7fe0a5612515657de8b7cb38d76c5c20a2fbd404d01cda892bfca250000011af4f5033538a42d883172c02d8093e37df12fedd7b9c70e4bea4cff274d7e1e541acf1c00581f034fb37bdbd64b3fb3320749b4655bae0a948eac7df7b87b55189461f22ff04d08e33072f9b69a000000e639b200581f035017e2b555394afd677d89f583cff488f488c928b787d1c50ca0a0bf1a3045010106b8d200581f03b290af37d9a415f0bae8533915977a6319a829127bd39cd949822e6822f04f020f42394cb4ec6d11b0110104c09900581f03f6a88960f3e7028c3728b36f73ee9109637db5d4376258882f5a7e446f704e2d3b4839d7018c687c8500e0f36003da98050108096de2564f4d7df451b12e18e3f97fe979cdc5e27ec92a18371d1000581f037a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db905501853d955acef822db058eb8505911ed77f175b99e03b6ef32a900b91e7792a705bc345602f944e1b5c863759daea42b13bf523186c4038aebb7d715143022117de62c92b59690631b9a78e4029e6a8ad078145aca7ae302195ffe034837f92960134af39416cfc3fb28dec04e0b7dbcf1d5b4ba41abdf5717c294eb039dfd14a69a8bbcc6b9c6869efdf5fb6d305c4d8d8d0db5d7b04c3fbb96440a630355deffb11d3c23f13611032695de68567a4cff28af10ced3e815da8f94718085039516b94f5d7404c5e55c602716b92bac9bbbc7bd586fd298e5ce84ed94e6e92103db9ef5f32392755b7f43d638780ba654861265ff62aa814f498c443307a56f0e03292cce26d83e84d389843233f93fd52081effc819956cb36626f5381eea164740319e26dec80fba23278b6e0424ff5a48f6879c94d364b1e8c6d4d7bf3fba2dc4303ef4912280deb328d8eaaeb518bf9dbbf68ed257cbbac9ccb682df76f81be8eaa03c3030aaa1693300d32f8238aa3bc76f152714ce08bae6910064e60fce2f0344f0305b75a56d9e3d050291f7f3d02b0daf4ab6b087ab6d6eee07fe71606470531b70219ffff03933036661c3b6caa37f6b94a30db392592973a39696f47523e90e578f6c585e703445101d512d3ef474fde983a9569bef149fee07307f05c66d484a698f7e05ce70329c5ea51715dcddc72efb5169ceec3a8abdb879d1614b4e10853702c7a6f074103aac457b01b52cb1b192bcd9381414bf3a532c63f17d326de1199895ecbaec3f703c3ee6b1f566f34ba69ca2ef59dc14938348f63ba33bcea7b6b469584b4903d4c03326cce00c2593e7ea4c76f7e9504ba1a6149fd486cb75d5c364020e63704177f034488f83e4954b42db0d207426fd109b871756c777a266029616d21ec0fe726e903358a3484b703d8e4a56f97dfe58f75caab199c75a9f603bd5b1027f7217937c10219ffff0351c1ac238099d0b241d00ae06a39c41c7d5dde714b57890d2e3cb9226bdf1d2303e3bebc420e0c9b396e723e9f63332f6a0a8f0e096eb81c79bb91ddfc86683441037287a92093f14795e5cccde6efa124be363bc0e426f3bb401a64ab223a442b330328fd95601a312c4136b61723e2afe87082ce0f3f312d20fcfd63654b6001ecb3031f4c5717110f7c122ab5bc04a04862e86db859a9db6dda3fecaeff6d6e705d4f03a281787e9cc5f2bdb11892c7a62ec6a43fe7fb0400881cfe77caddd5e54427b20330b6aecc7534acc71dd5e62475af7b42bd7548b44ef746af602e71269dedff2b0306435e1fc7e3f6e42ea30102c94057c2ed5ef7d0439312552efcbf36a1d7fffa03c2437bc86a11be26501354a16a6afb3615565d39538dbf4e8f8c1d96f99b8dad0368db9d49aa8a2569f525faff7f19ca84eb2ae433477e354d82b440c0c2af86ae0397703e86cb722f12e1fd0434691dceac5e95253da0ff6a95d7efcffe1f3e891603e2c00ba9a9ebebfd7e039f455d35647ce6388cabe264ff5709250274b75bff640321da4d1cb9240ad53918498d508e89457de9c7af3de51d4412254a776a88a035037be30fd776ecbc0ec693fe3c39d1a046b8b69792d2dd41c0000392901e7b005703b30887273e45552a9637462c5bdb46dba7998f4dd38dc49295c042a17a8829760321ff1554f361deb240c2ceb1b5e2f79ad82f3b655cafa5b0a6ec3e88247802780369eab88b73d5f244634406eccd5ce52794b762aefc6f3d5e8d85f76fc035887f0319576d91f72b7a202d4107b736d3a599c031888543710ee554db79f0d5b866e003a948b1508902d82f4f77ef57bb230547c1c16dd3e21df1ffc7be2004686f69de03d3423414dd6646b8076360ff35a544c3ba5924933ebfa13a42984fa37639827503bb8d50cda9f9863b8c070dbf422ff39d03f59eb83667773107cc19efd959d6bd03860f1608c6d2072b5238cd236dcdb5d129ec136b5a4fe95608aef33afe15ffab03b48eed07bca68551226d730117c72e8766c37f0179198e054c98f6b38ae2ab5f0373a5891b363a0cfa1c6622a231ee773fad1e38dfa130432d41965d8936575f43038c82f786576744496d0cf40dd9f19b85a3cb8fc651765090bfc59f1543b339fa03586e739e14d99d94da2bef0c9e4e4694179be0467eb2cfac5396d34db0c1e9a200581f0376abd68755fefd447b05aeac12c007291018c0ce05ac5bbe62447aa321704d0acf3d7a9110ffe000011738a600581f03380945375cf289646496a3a4be57ddf986f074bd0a6c567f6d2905e62a204dd7eb3a95295cdc000000fd367b00581e02e2d521a864e98a23c92af89ebdb912f9fd47b889610dcec591be3097fd4d0679399f6cc8b44792012312dc00581e02f9ed69c5308ad50cbdf95e160e9101a084c45e15cd6dd76077853f9f1f4510a867792c00581e02a6f71142363ee7e79ef0b7017cc17d96248cfd4beeb59434ea9dde395e4e25ee7248cd458844773d00faff6d021944080356df9d1095d1973166c45ca1e995b1e880bfe6c6b043b9fb37c7c0626400890403e94a7a7e111df40662a28ca9bbce6fce9eb6b39d1e9af83660926764f0bbe328035fc7460ebc91b987bdc75bf153e9f08f995dfdad779ea518732f83e89a169ab903c5024097deb4b304f21b87680d98c51f9076b6362f4b2929d16feb6c43d65619032c6f4ff65543a5715ee61746797c6a6207a5e06c0c6a9cd51c336017ea95477b033401c6fa8f0d9f17dc9464244a90939d08d981f19cf3ef2fddd69b417da087ce03a0f3f8f6b495eeae57a787f45a2a5c14e5ec0b8379e9be6ae52e3c43777ea2a000581f03b505d5602ca2b7a019de45957222d920ca741dd9f784abe087d4da59f0704f049e26c365aa9a518d603300e65770036643a582879156e3cf3c85b4485e9bc6d4466c318789f6e4cabb256b5eb119f003ee524667b9d524dda042fd05293d328e731ac58c07f1c967f53b4a3dfe1bb3eb0141070219fdfd03039ec6a8e62d769bc3cd097bbb3a75f1668df19e8b6777c94c565866e8c3c011038f1771bee8e4e8ea79e70f5353e9ed5e136d7a1777c5abd67c5932d9ef42a3b2031cde33a1ea4dd759cfcba2361d32e430b36a526cff76ee157f9981d155f7a9a403b13ca356eaab06c3ab6283275721c6ac2307266d667585be934eb784048498930356f1465c3c8f0c1264f8e706a2c6ff7b51a7d8335b57b57d8e5a0d6c35e65e10030ba6505946fe218df3c5f715b192aa9b319187ca55d9f16fd90d060f1b75482803723c92c80ef110950c6618718cdfc0bfd392d76076e0bae457ad27d2f479740403798406e633addb2fb61215784961362bb041a2562dc1edfdc34801b7f63bec8a03c0987df7c191842d23154189134e2b70af9a401400d67a36b60b5eb12ab5aadb03ace1ff18213f4443e477c4a0fa20191ad4681ae60183b96dbbb030de121701cb033e33343c7006d2fc8c16313087dde9ba8bd920e63b3ed48c4791b8a7e81d0ed503b17b9b2d4d90a7212013022d8e3d0f0948a90e6970e420da71e8037ba2bc935a0219ffff03ef952a7e9057e97c0b9c202d211aca52369c96aef23aca5303cd5482cb5d4e5d0219ffff03a872702126ac771c6e56ab3635b94e3957da4ab15d74b529e638fb9b999b89e503e72ea4d08e90afd796ebb84ec5ae5c69f9f146f4703e9d3d229af859af05748903e5d6beb0972d1e38b1b2fbdd566777a827e288ab1112bbc96f92c2583b18c22503ce3ba82b5d1fba4819be2e136d3657a7794b740164cd4e33c67e2560f43d6a20036ca7a4243761f21c7f2a605fe78f38346e0b41270ccd01ab51893272d5ca3f300300b662f3be9fba885ae3380807808a22a56c0a1a30bf4a357f3fe9207b1bfdf40315f929cb2032925b9376177d791ceb138fa3bdb810ef243473c8283ee43f01aa030cfe586a99e62eaaf8b718de44fff9b8362fad0008409bee283103dd7e78edb00377fbb3bc22bd0861ce2ed468203a23d3039c31710300ff60fc62c001098f403503af75a1d0d221cbc72fd70cf5fe68b9f729134aaad12988b7927940ba0149884603b810bd48a3a3d598ceb16d53e983a8d8df2f473b1c1f2793256657d44f705ef203195a3221ebd6e2c17eb9aa7e5099067e16a00c3efd02b68c3906f8708f3605c7033534d8ffca2e28b0f9e85ada2fd4a23b1b25c8a1c35ead610b11afc9fb4b87c603f65162d215c19549d5489a9c3e431beacef6c62f073bac0c73e15dddb8ed4c7b03d3d47bcd7436f2cb13fbebacb974691a165926382257362f56550135f4e359e10326de2e49178d77684be908e450d2c1089381edc1a67d2c715bcba8d0a9fdb9d20310a90d6924995258d019a60a87a8fa6cb41c74ffc11e8241a5141ee686e2224c038706d334201ef32514b82c7870ad3e89cacf423e3e663c1ac65102130c261a6303927499d161215b1415729a9ca6fc51d2c7358d207a0f98a3b26ace2bb9bb849503d8371a718d42aa5089b63538f0f6aaf7ead0ff57b1427d24da20a37ab6b5c09e03f7ae4d3302ba8d905b5b02b755c3635a47b49f029bba2f0e030020ac3e3a33bd03c61eb3fa254c0a809d3d68b1b3238a257acc48ea1362f926ab153f4bb6d245c5036280555e752948717a798672c1fa34af53783dc4e1fb01aa9a16094937fbc82000581f03ba896c5c99a6055ceb01817225b9b041ed53ac5a4eccf473803e887a58204e098b018c06da1b8d4ad300d599fa031318aca7ff7215e41ac25a045bff73704cc2ab10bac8584be5be4ed1cef9d07301410d030fb5a89ac602cbe5e86380c355cbc95b9654209f09ce3498cc91b87a527066bb03b0d1cf35cc9a1bee2bbfdab8643bf0a0e16f05b7340530bd1ab11379ce5d155400581f03260dcdf29c784220e20e14fbd0bb73cc5bb6d85b4b070dc1349cca3c7f704d1f28a6de61048ae9bc00b148fe030e725ebe2d6ee837aec2a5aa5652cbb0acaa750398a64f56296df5628b78a54f0318b0fdecedf910ec13d66488248d31bb747231433c8df93838ccb95698867b0600581f0397c67358dfaa31a2c5cbc75ff11d54e3abdcb54f4f16e4e54ac9992119a04d82d4e35c8fc4a7a03000dc8b4100581e02bfbcc5210f49b3dfb287ae40f1dc224965a2e7ab51712cedc65eeb5a9c4a0210fbc8c5698385ade600581e023cde76dc1a9fa747b8c83e3948c69152e69901c7994be2977feaa886a34e7513649ec1c1f845154900e51fe102190600033490998fa70ae5e5a8cf8afe0ff2c5960fe7fe7a6dbc8eb9641f0c0c8f84ae340355859264b27a5f3ff4685aad4595b0945d282c5ea3ecc7fe2584adfb6ce0383003da71cc846e79cce59b14be34e2ec94bc75d7ceb0745bf21ebc696e26d17c86a3021973f70339441159a4092b88a96250ee62d3f8dace811ac7cd50bc39001deca6b88acf3c03c6ae5a2366ecaca468c3ee114fa73be340d542e08b5d9b53a0b85e52beb45d0703220bb480b5fb92c38d34e81f8b0a3208a5d83637517c403a9a3aabc4e417f869039b1c502040d91b4d9b83a1fb409abd077c0b66dfc1def2ec9605480950b1161f03fe967adfd1dec72c9f090e1130a9886ec9e4bd3cec385edd8cbeda0b0a29c23c03cb90bb3f80e913b137b11492e4e82e0330269a7ab2eb33de27185a466b21e8960219ffff03bab25ef5c5b65937b717d8bd8c80c6a12b97180620a3175ce6b7cd970d4f29220219ffff034d45188046a4094789f74530a2e2082b6409c4731bc458cde73d2f0bc494d99503097f2ae16e35eb16b9b66dc1be336a3c1e97b30ac4fd19a7ce6f05fe112a72ba03674bf2010995f1d01bd9b19f0850afe34e4f983b4a6b66f9886d5a46d5acd31c034a0ae240add9d674269d4eebe095994b54035797fd6d186cf886f7b0bd6080a70383fd689c04280980326b4590c2e4fbc0ea4adbef329a7e2346f78f531ea1aeee03eaf0d48646e8bbdb062718c7b9c510dc7af0a252f3699fc54809d243d1a2be950345caa58a5c69cb3af11afd9642405c743c11fa5102de2caff71404ea52f6b6310318a51ab031f6201f13d7e0f87a783be96b4864b95447dae3f873c36f6608e28b0319dbb2a0c33f5199963cacf0f2e2a7d261169c4eb53b8abe967af03653148c3803f82f1b2f2d61f3fd15d5cd678e164f4a0196e534acb1b0fa52436a8769d0865003bccc85ce3c03b0695d688cc119513276687092bbfbb0ff9f563ed62281430538031576be5e7a6bd4cb4054f6efdab00c957c1a65633078bb646f1bfa7460c9200b03de7b7f3511be639e539ed0df39bb25687cd8119d9ad980acb4171ae660a20f0d03565c6c0e2d635911ef7dbb0d115986d829e08c5ef0d0c9a702ad3137942a85ab035a43d377ceae7764f1b1214e8faae0d3a219c3b6f7c270394f8e5365bcf4c7af030599c8de77771e11a8543d4c9b1bb824f5e6cf9130fca30764d019d373f39d8703c8b5a37b451dfddb1d9d9d0341bcf47859201b40291e603cd74bd4d260000eee03356017e4e5138ed625907d3e4f5bdce5eca207e2801b35cbd00a964ab9dc663a0395921b564757033810a6dcbed6a4ab6537a581744e3a18b896df9faa750115730302942ddd8a5f3280f0e7afb005acf6228badfb0174731aa0286a4bf5edffffc90334fe5a3d0a26d97dc278930d4d4ec1bc34fdb49ae89f6c29f60b6f6eaeeba86303c7041cf06068f992c0d15b0c2ae6ef37dcbc9d5494911afa4ed37a184b540720031eddccf09fb6c3dd796a34f5c11ef21f1b0085d2d2f413b0f5450d622245bd5203e386cf63fd4f8946e58e640242b5ffcf47176d7df2e72259b63ae4292f7ca40600581f035db8a554ffa0face78a5a7369e24fe8d430133a05a5704ae2e816cfe59604d19a1965982bf08534f00d119d903cade080d9853d7c940edf9fb1e781dd458df261712a93a34686d994b4963ce600328e4b63e287c34ddefbfe90a4f76b3ed6c03c8def98b10f1e20b7aa3536acc610322afc9b7bfe175ae7e54483562a74dd31ade6ff6d89eedd7b8b9d7fe382c1eba030f4637abdf5e979fb9c6a25cd9ae5ef2d9e90f1e91b37096cb809fd6eec3100603bc78134bda2d2b6739fc258170798d58dc42766330af878bdb48ae4979b27ff000581f03578afd6edcd3c4c0b3edbe6737087da7b8e8ddc7928e03176ebf177f7fc04102038bda0ac52568e86a0bf1d0a19795e0e4b2066f4bf1a5d6ef3c2a6a84f897120b03f0c99ba3f5a7ff25ed8b4b6d643c7c2bca8ed264de2df9c01a1a2cb662864d7e00581f031ef78d475071a476bb5cb5ce0bf496a2a08096e796018bb36c4edc6874904dec720cff50a8aa5aa4010f300d00581e02d16049d32725d71bd7abfc2563076a9681278568a324a968054f6d15f04d3635c9adc5dea0000000c324b800581e02acf36729d1fa465539512710cc1460020ea8f0a4274d3ccfbeff0811144802a303fe4b53000000581e02bc55b1d03748138e6cb314a3e7b9c2c832174490fd73e8cd0eb0d04b834e0210fbc8c5698385ade601256400037aff4deadbfbe0ff8c594d143477dd24e933c50a8707b9c2bc1d792da324bb6b00581e02ed4f44ed39e06704777a1687815a9774e13a71a19c980c8ba82e29ff4c4e555c247c0d93915b650300e6cb9602190364039585089572f2f6516f9618b1830db4cfa620476c308247d79b41976545d77fe40219fd3b038f57cd86d8154a7e4d060f774bfb5ab3023b044d06dd7e5862afc4250d6bc10403516c401b3cc9528b921298c2c38545b2f77501aa02e5edea3c804525dcd63d5003ee3c389ac55ebba01bcce512fbdfb4b527b8b1beefc02385b40a5689a94d153b031fa968cf362f423cd328144ffcae87ce6db8db4aeb8bd59f2a074deaae79ad6c034804627915ebc97b32008bec20d0d1364d956d9565c23dcb116d53005d6fdf7f03ff172ad18e2b89d20c78b428bba968fb8ebe58cd0fe39a2da33f7ac97b6881000219ffff03138bdcd807d2aafb37db64586043eff54bd6863b2b6e791073ba7a439e74dc23033bb95072390c6bb26e8c66e25cb21a043ee724ac836dca60fff517cf8431ab310219ffff03bc0ca859acebcc3f909d9dfa9f36d6bf2d19e7ce90c535c9aa670b34c88a03800219ffff03b5d1fe64b3789950e9cf1155a07a8108b6714fc75985fd17f16392f9e6ff03dc03e75a9fcf172d4597a0eb308759a9393496c3890a987c0b5b9bcc09d5b0b1a4ed032c9db99821bc8183fe2c1bfaf48e37576e1e5a5fbbfd0dab05a2be97a34490c403daea345b16ee8dd8258e189c1f5a7d7828178b5b53a5abcfc1cc5b2984b9400a03541778c5e8f285c94fbbc2877198bb70f51cb722ffba2151da7d93988e496ecb034a1a9bf2e32d364222ae2ee4dfe241612d4cc2d2747a6c571dda829111edf655031ec51b34f4da3093431a2e74b6ff1e494df4d9cb61b4b0a393ad922faf5068a003bf86efa9c58c1e2d46d93519a8ffaeabb7bf08fa97bad0e7bbd71226cc8fc6c303bff4cc428403d11d0f5bef258acb4c3d0501a75e4b91f6afdac4ae7e26ceb66e030b24074f1e35d26954d2a41c6750a3b29ae6a582e4e083bbca9c90c22725bbbc0375863d2fd6546b35010553d3bd2ac1a6c5ec4bf5d84dd7d315ecf109d460845803b4884e46c18c03379a0db5965dba26d7cec7ac1939ea317fc3a1fd5a5f5f3d01039df7f27306f74402dce253c905b621e2c8bc4be807de82b3751f9e428107856e00581f0389fbd427a52211f90bd382b00c5cac008dd50228733af5bb7d162a20470043f0377100581f03d594e4ca49a907594d1f9db6eeceb6a07c5a6e97b991b91d8867f97898a04e1faa8bc312b7f372db5d00def53d03027f90ba518f49a74c8784792f4e8913f557277a4bded997128aac5620f610a3039d1b475d5f744c3afeb61b1592d53cdfe5de2b831917ed50b9de13481743363a00581f03d7504d82ad3b41305eaaff51d18531457d96daa00f5ce74ab0d56e29e3f04d0a8cf8ab950dba789000f40012037d0120fd0adfbb15054ca88a713e31a3264e786b94cf4fe96925fe05bd11593f030722303fed137c7046dbfe224543d45d0126a39488d8128acb3e0e73f08841b700581f0318aecf9e192a1d22941caa7b7072153973a0c07b11fadc358c42190497004e09f21c242d1aefa8f4410116f21c00581f03b556e8f01bf6319775a86fa269aaa7bb4c06cdf9e145a19fbb53652a7cd04a29f3dc670eccd096370900581f03c0527f5aca6b67d663a9e6ac995a9fbc1d5555cb41804acab409671386f04e0253035d3526a1347b4200f29ccc037632347c0a17ea769bce90434d98138ed222c91c314d584d52ebfc85c69d2fa200581f037630c73e67a13cda52a1c91d447bd892d816c6da6a6182d38503143f2d804d06364bfd7f22ed08b700d914c802197f7d03ac0e5fb6cd7b6abc7abb2c4703a0e779362c0a892e132ec852a99a832c0909fb035eece1dfc084c85ee4d2ae391f27858dae480c498cf5f923f8e90c2a4ccf7b0b039bf93409065789c263fdcdba5ca099415407ae89492d9ea9a3326c0bc51d638f03ce8a6009338d869e1985f9c08d826ff532d594542d4248fad96366eec0ea1acb031bded597be0ac7e3db8181401e629cde61f63883a5338a6d10d6736dec3c6213031b99f334a76d4e038a1ef4565037989224fe044b670f15e5ac7f4ede6c625d1a0395c82b9d0cf4b9d9044ccb1ecc41c88b01b135ed327a8d40d67e1847c98d8ea40219ffff036f996a30c2c5837377ffaaea1595c47aa60ef9ee139467cbfc759c696898750b0319e01a3cce8de4abe9f4891deb2f6df69d9a675d1432b3de3a98ab6c19acbd91031ad0b0b8ded5a3df45a9beae40d961c192fb4493b046ece48226241fd267f55b033a814465b9fd73b77af2d068968ae572d87179dfafabaaf058eb75f8895f35610339e749eea21306f613d7f12c1c26a75bee86d9465875f1fcec5367ae82cf750e030627691ffc958fe51aeef5b0ee6a6769be19a0273d6f8975a40e633a14085b2a03798591e3d68357343d4cdb0dcebd9641d9cd44ed32511bdbbde2260e20aefe070354b3498438b7865d991ec1abbf76344677696de515766cd58e3ae62f3ef934ed0344cd51433e78fa38991eafbeec43d3333d351e0fb62f626254ac80d1368658d203cfe5808eed1a2da807206e01901e63ebe734e6eee50011f65c9085fe686758e403c86fee52c61f986995b4bba0f3160ced6463207310b1c6434e607a5c12953adc0219ffff038b34e0ab7271f867c9c2137526fbbda53f0a1b1a2939f6f6a49dad273406f9ed03ba3aae3748b7655546f6731b8e7f02048e4a7d1c1dde5e187b7d8ec0421aba650387b1100b35ac811a3e50b3a2ec1b00d6af439469c49ebaf63fc86692a28ca0c703389cf593f302965172645b8a7675768e6ed5c1933d5fd85edf49a131d9b1509303fa622bdb37addc15ecf88cef2b64c9bb9f16c645c6fce02461b29c239afe4a47039a1e07eab9dbbb523e46a599697ebc493d9e278c338d6d2e829afeb0585cb98e03bf0ba5ffc21eb5b3e09c7607df63e513341b91702bc09ab86fc323eba14e169c03b6e9e3ed1fc3b4fa5f183fb16d944191f1d44cbbba895b0d536c9312f0d579360317abbc1a46eb3100410d0043989a76e31b030d10440a0db3cbfbf32ef78bf22d0384c9f100bdab13436a85b1f2942ccf2dd69bf9e12abed5adba943862dec6c29b039b0473f0f209d026fa23fd80cdada2bc6a507379300201c331bcda349ac09c170372c738325d525383169dfbf31e9a8524ef8da4a2d7217868df446490cb89aeec03f4ffcfa03a3e5d3aed9ba0126b47d0d4a46d2f2968efac1cb49b809f5214316d0332788f448dce4d29a3f70f8a65885fb35d486abdf5cc40302da2f5b55f7487ed03f01339e0ca9b5879134b26c50d4315b05cc091164b2b40439010a44095b1356603c906fb5e56238074fd01f6dbad8c9052f84f0874d3e887f606ea164d992a98350329c41942ff958ebcdc811fe839c5bb8db728685fb4605415cb92a43b8abd0cf503c6d6af8a50e82f72463e71d05b833e4594e43c2ac429d822ef8a68eb6732ab8e03d2cd91f61506b68c89b7e3aec1b306e9af4c824547376c0ab51e16f46fed8ef4030da89815bae1d4d3d9791e0b706a980425f39c900b8d11fa31c7ef18e01588b103446ba23fcc39690abb50ee1bc84c9d238723bd67e90c3dfa84cb214c8f81ef7603af08ddc9e70b01a22b4c7bd6627beab8e9ffb5d2c0fee256d14089ffac5ef9eb03ea5d06fcfba34b0f971ff81da456af7f33d66a54883e6192259a2766093d2ef103ec12e55efbdff7dbebeb6654af2fa23fa5d1f4fcc66ef32afb69bcfa09f59ada039170f33a1f8f130b495760193dc959b7742faebc3cf35d5ad47610471eefee7e01410f00581f03aaea0cdc64d73aa831f32941377d27676d5cc7f8a58e57dac370f23087804f01fd3e8fda04e93cfee52a00d19bee00581f03d9487e50c912560cbb8c6e0e1140271c0aa34c95b8e13517e1392ee535b04e6b70b57a13625826ef11012555c00365aef53232097844e3df342f6ca3b181e97d17e8f381c60c2da88638c3bdafbc00581e02be8c333e621e8b4071979b567a889a39daac07793c9c68d77e8e97ac4d4f02e3174dbe7dd07a59b2ca00ee7f6900581e028011fc23c5900cdd70e89e83d281345b99672d1cbcd73b64cfe0f70b39413502194004037bd09864c0134f00ccb036797fe26d9ef5005d798af07abaff181d9d550e22a400581f03d13a11b9944b1cc3fd43d72b4d90a0226aae0de271780744fcc16b53a6504d6c5e86d942612b963800fac0c303c8f203a066fef263ff443e340c984e4f03405c7af1649067cf9eb34944b11a3400581f03e8c8ada73e347072c10969b68cab480c98715698a89f48f45ef02d493c00410200581f0398dadf73679dd6b7d2396298b8b0ef79f505fd337a77d1357092ec181d004d6c6b935b8bbd40000000ca4b1703b031de26764bd4f231fd34c133ee7c6d761456e64a9e1ce527656de37949214f00581f0378346a25b36421974520e9a59ea4661f0dd5cab450073ee9a4357bb0ca604f020fcd17c20d2adf20cb86011b5fb80384430e24f2ff209463654e8a47049496da7f248281c90654cce1fe18ea34bbda0219f3df0315972955003b756d2535c58e9a345feb83fc8a42f4267d30093955c19d61ea21030a541853d89b2dc4d00b04a63f3ac5374fa8de740498dba800040cae9f9b012d033a36e6f15691d94989021eea50f58604e5d90625d6e4b76fefa83f2b061504f903e5aa36b64eecb7a9adf18bf7ecd14782c8fd7b8f10b9237b820b33fd56f0df1c0342954138fbfc65bb05c0ee0431d38461862403fd2b799ff6af261f566617bfc1036ab4dab1bb9d9c8fbb0e86cb0ec75e355623b66a9eb1fba293a8d38fd5ed38860384e1648e48d2374f0c1f32d3a4a754712508c60da9ca93943675bfc27892f2a90219ffff037634d45f6788b24424df9ea7c63f29b928d8004188e0d1a32e07f6ce89e3af6303a409a53576704da0ef4d389512e1241eaac3b09ee67c126ee275834bea2b5633036f390081e6572becbc5b048817eee38ca59e3d69c247a2bbaa2f2199615d4a3903c85a98539802c3d5db576bc51f6145acc91147530d85fcb78ad2da03c8c1f7fb03316dfeaecd35da20cdc1efec5667ff2fe64b5055f5766297b0de683f50c7779303d34c41a34a5549b54dd8239f23c7db5b16f811f1e9bf0933b431f05ba0a7d84603052c3210a79fc1e2291ef19bef6594970ea7bab3a543f2f2c2ebcf3cc94ecd6f03709c7243a9b13b5c0f6fed8c612a194c6d56b8d0cbbe4c51ff24792d2f8713e30219ffff03ad639efaa0641b0c7fd6805c583d37b63df361aaee0598563773b12967ac1d1e03201fdcb77d0a3eedf370287124cf316e16aef39d2e87dc728e5ad42ecdfeccc903e8f61816837a21feb989de2273f0f5ab34af06ea90b479f36086421753b6b2cc03abc266d4d7f435fa541c1eb54d677bdfc6d1b9f04de652e4c866e1b90fb7006e03cb799bdab9f57676ae601d50d05ce592e7e1fe43d84db3853a58ed695c3d76ce0219ffff03fcd58bc761d1b2068eeae73006f3e7c3fb50ebb10370dc860c62494ea397874303dc0b5361174c0fae05337078cf6974c8205f063a93b893aaf87d2d7d93c82afb03e938ee9e783fc878f55887695d59b74303081b4b9817aa13fd19ed4966da91f3037817ca4d62f3dbe70a760fac10960fed3ea1c861abd1174df48bcdf89c92b06f03cf1b8a1a81f11a855e020b9a36856bf9b3851adfac5b1b5e8dfcea1c2247b0e40375e9299442ced3a9fcf37a766fbe5b8902146b50beb177a333a761506c1b592a0366f5486721dbfaa7071d9884511cf3327bee6482c8ade3427f58627221d810b9037eb17c8a5f537ba852d11cb4d39551e300c05c51536d98cbe1aa4d3e9903603103e6fe162b81fe241989f3a31c7b701624594de733be01119e46c28a068b3ff8b5036ba70e9e7e1990b9ded52632ffe667e701b9a0381099d3cea6f87008f6c27a95032aec2666fb077f22b52534407b1b4fba4b60086948c6e360cb64d252d77ca7c903a50f64264e11470759c9ca40a7ea3b13f2ddf59ca7a8c014af1af1b227b67604033d344a7b5c83336fa2c919e0b80f0bc225eac908ddad65fa0648e185fe66c1ef03d17633229f6d36e38a98551513d3f52a6f5bec7126395c4840d38e60ee17e6c2039d0ec15b59b140ab27c15141909c61d1a09d6bddea82248bfae12d9ff09bbaa103d109cfe663d4d4bdc162db28b57306c242afcdb2018f3f86855a9ea15622bb49033d02c2da2beb86e86f3d591566116140a9d7d23d0046ff674a22015136eff96203a9a0f5d03c81ba80ffe6e5bdc99bcbc9d80484b369f9578a648fdc551ae8598900581f030f744fbf7e5fafec6eafdd6105d3fa091fe4e6453b5b511b2fad7ea4b8904daf846348d737edc3490111e1a200581f0304878d7ee5108212d4d9c9319764d8016e7c84236e401216bcf9c20a00604d55a07fce18ce008c5e00f94dfe00581f03cd248066e9e1049b66f7c5b1ff9e7b7de364388250855e0604a52ff688f04f01f66ec35f71e9191d3ddb011fe809030e87506f982a12912af0e688e1228d2eca82f2bd76f4ca594e0aed28cba559f101410a00581f0391b833e6b7dce309274f586260a7d321b2c433580ddbe299c7059fa5c93044010ae24100581f0350af9c8d92625bdf1fed615741ee2923d61121bd4b6f98e79564c8ac58f04d0101764ca82186400000f4409f03499f45d5ea50aa11db88018363aaaa6a0adf33a6176e89718faa8290213c7f8b00581f0330e4a0913c2a6a3ce652fd0482b111edbf0e15198a6bd3b80d17817229c04e0ad3dcbfdce1bf164feb00b7ae0b03aae765bccd2f49ef15f79a033a93530e5adb05a0f3e768a9e1e059ffe0d19314034568c8d6c7a3de95a6837f9a71d425e3bd8ad62d12cf362fa9a0636c46ce36e700581f0373149e0a3fecce7a166c982fb393156aa6c78ece6a2a8ec37c41f9c383d04e0f81143a4c5d67aa32c700d1df5d033ed61d2913e536c0b5618d01ac27c962ac46d72e65fcd312d15dca4a19add9bc00581f03e44f8100339337353637036b8306963d8568ea736e2fdaa20e27b0f83ac04f029154b80cf58cf7818a2100ed6d630219ff3e0386f4daa72315b45117ba80b35eacebf21d4767fafe01badd5df68336dd7717d90358b3ea2426ff1d8b139a3fa19e5b22ecb66ce9cc27c41641ce57d89837a74e0703b823e4bcab5b38d372d7928ed169a79703e9cb580c5a2295b0060db9ea94cdb10326609c463f9297779184afd840e670163285dd40939b84689e1a91e2fa8820ac03851835f6915fba45188735475dc7b148e4c1d2f2a4a8397658e81bdc2cf0a5a203076cce9cc35f8281ff5b3bf494a5045fe3047d6b56ef97fbac4be1197670182903bc3657f01aa0969d18dcc12dd8ac8ff683dac86c31499af775f4ca0ff862381503611775c6cdada63927df27d7b51b29466f60c3c068b3c1844491827a2db7deb703783b56f82ba527ede96fe6f4a14826c8c4d0b45196ec82c31a469a4335ea81340219ffff030a323be5075c0a79a30544cef8e09af8acf168af877baaf79cfd64ed3d5d206c03b5c5f8331fe08bd540b8dc15a8973af3a644279aa0f3b5e0060f92eebc755cdf03114b05b4465fefb1c923b9a24d8494c5fa674d08c07a35c6cc292d226ef4e16a03d4a7c6ce60882319f49286e593b739602c58a27e61724fc2f261a8755b5c6925031b850a6b70092f550a8f43c6a9b928d8204cbf501d76dac923bb8826d8a87b5f03f5b96284090d49a9c3c7486c75c6f601f6fe95b2a740a7c72bee2d371377c740032f33aacdd6160fbc03ebcc84ba0d06775f9274aeaef4bc9eeae2103d5b6fe3a303978fd58a60cd7ac4d18252a4b2459e6860a79c8afc72d0e16799647511be01d60336212eb16664bcffeecca8a35ffbabc8ad430ffd95cfdd78cae3e33c5603b1bf03bbd169d222f9aa14c6e68770be9f03e11fe072176223191b5d31458412fc4670034af5ef290f281097f842e49952ceefe63de79d70b7cfc3997b15902d761ee541039a3b647d6e9e7d7a7d655fd58f8b279d8d4ac35a2e998ef58f77f01b490ef6fd03c0be78de634b61159bdadfd688c25e9580314b5c3b630b6db9b12f887e0b96740372d843f24d67cfee41aea69ade9affcc8c0d18db489cc6a0d5a0f51fa553cb9a0219ffff0348cf1ebe8caa6c321e94dc9d5b9b491e2998a60bbcb92a09c3e54c7754a869e503fc25d145b99eb18e5662d400aa1c2d3179f6ae1bc3a34af07937cf85d6e78c7403c3d5cf07d87f8a4e300554800cc37cfa3c4a6a16ce0c492cf94875cd4c0c65ff039c6e06fc4b05be04958f5f9442c144b0e46f7bd8adcd0abb7e8d04f4e04d3c3c0219ffff03ae4e81ac7bf101ed6edc0688eff31086e0d736f29fe9a6042fbd9833603065c4031164a785ec4011d167d51f6170b5e62aa7784dc00e99807cb54f46a1b756f3d503408b7df8772b6fac7eaed9ffb25e1b77400e1342d561db9efab4a48f295681f603a77aded05ca29732724e91061b2b418dc57ea070e5f9c623aa404809eb38702b03354827e00668d6be1a0a5ffff8aaeefdf5325c9d09148d749e7a54d0002f0c5b03721a2c16a1d27975a9c715b153d63e3d94e8133c46131b5ff8e87ea1e1a8ca020364317cc511b80ff377ce9a01a399fa4bf12fcf1e761c0262dc474e8a6f2dd57103fb12c086a81ceab43d72797407f4c1fc4b9728666a2b66b0a8f009592819cd6d037dae5b19bc7b18dd4ace726326ec76909ef6b1b0c43aefe5377185600275fdd003cc6bdd5ee798686978c2bcf20cb411480488ee942d634cd2b827dc72e44a71a5031c623694ea32b19a1dce60c51635a8823f208b26a91379854077a139d99f24cc03bc9a076e4d258363f8000407674f208336cbbf1c540b74016eea87c6876fd93403c139873fa6f2b724ee1effcfde29b32bbacf52e2912d4f0845088c3caa84f7f3039c731a739665163f8ec4faf0af4e14bfcd27204cd446eea00698219d5b498347030f5b534f62b58ebfb37df2958700c996d25f54267e110e54513e6abb83b4dc900328e8793715d551ebf62c232d995f40b34ba1e42330a2d4d0cb5a022c5277126103394c8fdb20802f3f1e6544f41068de1a47534b06f95fc61c011609102eb4ff5303675be0bf010c8963e2de75738e0af24dbd5b13619826bff240c272cad6919fbb03b8171b983297907884a3696f8a4cf056030479267e846540471143bcffb3d18c03dddd858d85e05ad4a5ab4cc156c04f387e6897a8d5a68e45e4bf4de00e5b8aeb034ea298b0f86868c9698e82aec5887c70d721771b7317294d4c6ea3cdd7dab73503f98ef10177cd1592a1c81acd68d270dee3ec673f5807712e999b5721fff5cb2c03ac929c418e288efdd64adf3fc754b50f95215d53204e0552cb82d4996fa8f54e03ec753b93f227a97fc4659503013c95000930ab40fc05275e4a468fcc7552e1040341db22e0a193875bf2cd279ef0ba030339e41fa1a2f7839ed99a1b3925636eaf03c0d9bac22e07a0e4f138bafdf5f99843eb7731212fe64128dcc6b30c24662663038e5777b5a307ea4a0eb016f307c91a3d173e7dc2ff74e8399663ace49249f4090365dbe4b163e6edfebcf2554a5b236d30fa37405780d8dd9449e2c983b8b2bf5203f461023970683166377ff7e144d1259fa519d928518421f51fcd4495a8240d9503f06781f2164efeec64b489ac022e5de63567dc2301e6650de00f4d321cdb7afa037a7bf82c12596a7dab8b434ae19f0277cf6ae67fcaf9ef1350e10b7a3fe320e703b52b6d265d73ab3ad93de3e613b2a8d51be5d406740a61763549190ee228626d0312b79d01c90e983b5e73e258e1cc962ef736c3ee863b9943b7b9929f122985fe00581f034f6e8b370edfb7618ebf311fb758c80fdca82e0c7f0e439037c904fa230043c23440035f51b863ddd44e9486506cc521783804c1ded6b624e063151e7f02881e9e20e6038a779e2f8154727be4a89f2115b2147864bb7f50429273db35e43340e6dc0b5c0351ba95f942f6041aaee6e1cb94eae7038a255473a1ef29994c28e1b6efc96e9b0338e59499c358b46e5f2ee6b32152377c3bc5b58ffdf70cddd9674ddfcaeb7a320305847b4cf36d2c1b34d0306861183b6526b3067c71c91ca094b946a8a64e221600581e020d1d0fc2a0241c820a9e51d4170bbb5174ee4d9ba9873546eb5fa4d89a4d99a3defffa0d180001010ef4ef00581e0254d2c38af108b0620da6adf4bf0691673b785fe6601fc2777b5c4444994e29f3dc670eccd0963709012594d80219028003fbda84c371d935ad8c2c9c01ce98c5b3a81fdca864027f9b85e00d536370194e00581f039bb4dea1baef6c51cc70ac229557391093652d9f74d68cc6a127e51202b04efa5861bd648acbd1bb53010ae98a00581f03d65a6f69d8c9432ea5f91d14a4adc63c7699e5f55dbcb2dcb5d1478897c04e09d9689c526ddb0e9ff100b1c9e503fd821b0a853aa627160ba1259d6fb948beb4b196130f7d20c033d91d9b89fcab0219e3fb0219ffff038c745018505326e451594b27ac4d1b32788efb1c2fe1c4d0da812d8a14631f94034050ecf1468b2e348dafce0dedf59dac4264faceb4ebed939e731a5b4104a6920322490774066bef9c586c12b0814af6e17c17106b4f73b2d65def99d86d4c745c0219ffff030ebdceb8e88968b5c7dbdab70ade5f27473c0e1108f5f80ab989e8b4aa35bdd403ca1f8c3578010b6f403ec77be32732e1d1b9468845eb0acd451c7ed8c3a5239803359e758f93df72a75d953d756b8aa01dcba247828e69b592944650edde1b0aea0355e229c7d5b47cfff41001dc7a1984fb92e7b882df0b33cc2f7fe1615c8ed9310345888779a8ed5b80da0719e669a0bdc915da519643d8b4e8836071708b38e59403f959cf824aac4073f3f620569da956e3732695954b116774302525653e5534d0030d888d336867ea2efad3adf9d6d7f656f8f8bb99539f33239697bdeffd92dca0031748ff7713ccd4dbe7c4d4dcfdcae0dbb6315e133c81795f1c0847824248dc3c03f2152744fc571fe0304d5fcbc674df1db6f04332c7493d794f6a634ffcef25dc034ed429a6d064c2a6505bcc913aca03d63115b1b8743c4b6e6408097fd9d8e4dc03c60c004ca1815f5241ded993fe3e0fc765a15a0e1daff5f5a611e0b96ecd6024033b5da01815d7e375e4a3372239b57904ddea6c6a0f1880890e2b5a4d34ba26f4035227480479a90251125dfe3d8b57bc3820198c636921a88a3d8b71cb19f6d9760219ffff03f2ec0d452ea461f774095257617b3479740e43aaf2b56d0640e5e53dfb1737e903aa47686ea731a16c51eabb4e873b134594279b001b9f512459a3e6dbc2aee0ad03ba7441650d45801fa49f91dd780424631c4460b2b8ad9f930db583a99670c3c503d1e59470e87342c97e9ffa6a98966eb2d54c502aca46b9b69af3ba8f1da969c703abac8e0295442dc68cc7e83358f10b88a0f3dfa2a476d92fb875e06df87b58d803464567841e179ef4d0bb7a59691ee97d3193ad927f1bfc6155d4b52222afe97703356f016159a910b57144676b36ad31d4eb9534c2bbf73c364b1e7325d0f504e10325b95623adf630dd3fb20403d10cbd51f3c6ba04c2660cc041648b9d7849c7a703371ea08848527420bbaba95079212d2192de2c2913d0f37452aca300b6a48a3a035361c43d3d914650caff23682b9d347f72b41a0caea92f7e4de2978ffb1fb041032b9d2fc735e9bf8dd6f00bb200bf2e67943d58ee4bd5df6a6f9ae6011f9aaae303a8088e025a58398387ac32add81d970a65c2b06febc2dfa8c0eaa7c6205c5341037fbc9be5372dbcb68cbfa7aa773cfe1bfa05bd3c24649713cfd706686d3d4d3a03fb4bc4a702b028a3693afbe584f20a73902c376d1b92155c9212ad816327d06a039fc20f59ffad75006a8ba0a8231a28a91433fe8a6b65ef409fa4722ff687f2f103015055fbe4789322ff303b342cc38b1977a32a094c5ad45e830e0bd2e6420c680318d1f3d0138916b9b26534a11465bbe056f3562361b304f9f497649b4294b8650360458ef657f7a51780370b69ccfd9320f2cd94892656a036b39bf6c858250b5a0378dcf5035b6101a4080651c7196688916d263f778555de8410e09ac488e611ad03e4a88bba55d0aa954694092fa08e3d33fbdcf9a1bcbd580fddf1335a7f39f16f0374235196cd154aa839963dcdbb3402710a64dd808c0010c7ee081401ef6bea3f03738d059bb577fb20412d00cf1fbfa50bfb8802e3e36b639d13de761ad0d164d0030cb497b3055a6b21b28c8759e35502a105d8d272794be0501ebc29d37421beef039b2a52c385ccd4bdfa66db6ea1437a2241d09d021772a9ee7d0388d73a76a9d20399ce98ae056543ab053ec6067dc8a9ebe49bed518e9e96af579b7a0692a1266203086e9f086ea3345c1f39b890e293009463aab9e9ae734ec142c270c1281c6cf600581f0366f4ca478601add83a2e26240126b64ed125491fc3e58bf4f50397d118004d2afbd7cb29de72480000affa3200581f03d0b2d7e00c8e8bf03792b46625c59b525259addfcc22716a36362e1b48204d3c41ac0f917691beaa00fa246e036a36b6910ea118c8dea120e87da842ad75bc194d4f9b6e3780912f1f3560b2f60323523a20f05d770a85ab8937e8a2f9e9615578a4d650647f6e84ad0732a4832000581f037f6d58402058788a446d07ba00682d481d112fd9b1f2b6725432dbb5e2804e256f5447cd2196aa241800fb059a00581f03b7a4f87f97464ea85c4d323f8b716b91a73d1254bbce1b0e580b9e055ba04d05f4ba327bf34cc00000d5f31900581f03403120e0228f17b42bc6fcc255dc2a05195eed4c6b93258024def156f4f04f02883f55cac5900a55fe3b00b91c22036af532ef0f11f877608902b33b68105da7ef1a6a55388e3987bbb6b2a76e30b60315665405b5f5dff6af33624bdd2f39a4581216c5ac1905c0e77ab5f97323570c03da0e823ed58ae27cbca93200227e37f95f96c8537db10fe28285676fdc8d98db00581e020ebc36128fcee8a84f2900a698342b59c43e05143ecb2faf8b4c3f37d84e0632ca78c4c5d95ce9410116ef6600581e02ab178a464f1b1ad72b0e73fa8e1a57b167d8611af665afd3a12601fe944208af0218220219f7af03e647b9779e784a2a30ddcb843a4215da493d2e3c0a1f1037484331df247cd1fa03d7b9d23c8c627ac71c74b4c4d72874c26ba974d0fb103adced0869443bd9b17203e505e7687e3685cb4077cdad0019543e43a00085f23862fa0504ec8479ffed83034fccfa31641b37015bb57364e95cfd226c389f46bd832bf19c5ae0dde4db85320219ffff03ba551411b406c8ae9c788f69ce93675ea61e3da5cda2241c91d7d2133d59348303b1cb0118de71172cf6a83c4103e7ebfa6e75072e8440fd3247596666fc5cc2ad033dae5fd0291a970646a0ec0f3f249b7bf72133ae9cbd5fc1befaba93903580b403566f57f51933304ddd4770568b9da3dfc4cf45cd8fc0ed74a8742f4a4ea46a370219ffff039f83fec043a17ed2a2f555d8bb5ff4a24fb95ae8192df95fb530d1998fdc7cfa03f06db946ac1d1d8149fb0b763b3f347a1bf2b84da9aff273520cf21ed3bdd2bc03e79bf1ff51c1152d322b14d719fe88433948327552266c0a74768454d789e35b0327b1036f8b3c46ae3c02a21b1e1c84e0976afffbf2e00b305b029bf4a92f37df03207b1930bfb3d7ebe66aef61cf9bb6bf5fb7f04f181c24787b849297fccf852f0373e8c4f50ccbde77124aa5324962858368cee056a0e6beca6ad699fae2065a11032bf0b9b249d464dbf682259962f1c8c7604b1a9b198f5c1f750d8a2a164616ae0381286c443bfdb709b481d5dc12891dbc33c0171de1153ba7a74546ccdcfc689b03d27619eb397068ca33f0e94b39260a14e241aad73bc73db90d504b5d102cca98031d841c01b49a92da02871a74021c56391b6b74b1322fa52802f145f9bac33d8003d02b4f26401a72c548d9344626e2749bec4b44e2cd7cf1e15b0245d079f83bcb032fab2c04c7e98e9fc4bedffcedfce2846278b31678b52557c402f2e1903217cf03d6fa9fdc36694ee5c7b2d3f7951cdbe3fa838dc34f41afc20c10c45c958f8aab03687412d74df9f38c9ec548d8760c64d426c256e73ffbbe4b7f9eac3169f3a5510341a526f488ce9bb5cc2b8063175cbf0c049cab07e90673be1e3be0cda27b7c7e0219ffff03c19440861eeeead5be53ca1abc5580605e3d0aabec7473dde0678ecdf9c5ee7503b21e3ef7570cb47f9a55754d3016f8423ce71ad1644efea3a9e010557235fb2503f898bc80281504f19350a2c588f0ab14124d3b51ae6a452034ed3546f0bcb9420319bda0b5fc515e6d5e77e45d7c40e2114b9a5f1eda0bb839fc15d4a567511c6e0351e1f72f84ac7fd4c056f981021c7818a7cc814f7f4462df55bb2dd8f7be820803a17cd8881bae7cdc70407a6c131626d96e6ed521b66df603a9d8d70c7c3dc8e9039cbcf7b3861f793eb555a3545f43b26d25f21dba1103183d783938c3f4a6059c03f8f4ee02aa03df7a4c942d73a6778fa4d5623e3415591574f423d67d5588382e03807e4b34ac4a069a163cd5cf0931608d473778c5f2f310386f11e1bcbfeec2b80343b995956cd8676b81668813768e4a8c49e618fd0babfa8e7545a6acff73c4a6037ff08ad2f5831623eac36ff07370ad958c5837fd7bf49e630ec364ba38130ea6035067c77573a48c36f64f36b0f9556bbd3902d1f61ffb52cc9533c476488a32cb03648bfcde7889d59acbc08984ffcdd67bc4876cf1f5b8347f9856c2de29bb70b80302e33e94fb0c57d8a999ae66a2feae0ea05932fd9a09289b6ef9f09a28657d1103beb79f6fe9cc98d0585a77980176f44ab5d75704e7ebc8303e2b03f108c9898e03f9772a11cbe103f661910bd03f4383c7c2d9bbd107d62bcad42140c6a012ad1400581f0384d0868e3926a64817d9ec8c23a1e7e9c721803d2c19be5effe52854ada04eaa34742319e5cd42e89100fb52b900581f03564bf88e7e149b7f1b0795e51093ed23eaf0a9e21e95f44aef56f3be97304d8586550ac23dfa2b0200cf8c5c03af3553d441e14e38fc0a2e824ece8c1186cf208043fb9db225d366f2964bdd3b00581f0301b6dcabaa99dcd387f3df67609100a645c6d1710001f0d6849f938713a04e478cc0f04ef2db06cbff0100a61503dbcbff426949bcbe64bcc24e792d96c71a915812c6b5d89c310cff985890baa003d8c3bfc29f49cbd049d77679927afdcddc7fb511a0569ce2a89db65679d1111800581f036bf088ad2bcaa26d9ef7eedba3a6316441181e8bb0dacbad8e1adf8abc205820ffffffffffffffffffffffffffffffffffffffffffffffffa9551adcf00519d903dd509dad18862d23747a059ef68319019c087025152c04508636f59e48749780035b6e44ad5cb7b2d47f8cc93ff2310446498b8751aa712089ecc40b276b7cd31e00581f03648f056503bb31781f5674965e2d27178251187defe5267785f05e162d004910a867792c0125886f038746ce35790b96435317f3e9710983e859a46889f57f44f2db0738b2af067df700581f03558413d50e43df57d11d0bad4f0f906983f1cee9d30db72656eb3be885904e045b88141896997bfe8b01041f8700581f034d7bfd630ce558cfa37f16da62572138aadbcc5ba7c3d675266fbcf741a04e0252754c0a0b8b45482f00fd78020219fbf7036a14c1599ff035c5e2914f23acafc7baa650816d98bf05fdaef3478d3c812f4e030b63fb4ca5d52b630e4ca88ef2e6ab30db725f6d74e02383a5b867cd4c60b3560350d13180fad09b54bbab47ebb47701d2256551fc3aec4ef14b05652df93542d503a28d746a54bd5bcde7e5b76fdea1266f88f4535545c29fb42d645099774705e10219ffff03ed3bbafb08cb5511b1dc6635bede31513c4fbd32197a642cca196ebf8bb2707e03c715ed41c38643853d6a01096d05d89e37229fcd0c730b76aae8048c7087e37a039cde310db4e8ed412aa0ee1b0c89344507c44ddc7b7817e1c62b2504f96439b803de09c723966284f1d5bb070be6be7995445a67bf0c6daca5a50adbc20c611360031b8c74ef5a20b6ae25dc88b712aeea688be0933739af1db4e0b232dbcae2dffa0352dfcb0198a6cdcd9aa3e314be38eac6c34464d29b2d8815af765073acaf26c603bc8efea28e8134b33a76da06eb0b08845099098a263a021e276706840e7d701803f66874d1adb34466e792ac6a54ed1e5a5b095c6bdce8b94f905a0ef860a88eaf0394cd035b7ce1df22cb6c3ea1ee5a4ebcdfaf2253dc434666ac7cecf31d57963303fdb21cec44a9789e03080ccbba175afa7ed8cb652332e2a2b013169e2faa0ef3035b59f80b16b2c9b9b97d20ec7906c9480f450d4da4d0950c6bf6cb44fb24046303e76888975f6fd810ff0fdd33292b7a7af9f187f779bd773f93b1b25575ed275a0219ffff030a622573930f66cc3451aacb3a07fd03c37940693128d3ddcc9794bcb23e9754031efe9209651de02950fe168da5a5b30cdd3513c4b72403de28e2a72d1a3bb04e039871f8e688af2a755b42baf69af68624bcbe135d2b7fa77a07ccf2e848528c1b03018bef98e0ca4b89228f24d7361f89fc16b7e041b6d00a99a131839d7cc001ac037d113a2629f48273c45357d4d8ac5c2e012899d2c03eceec8f5c03c4acd0e7ca03a837d7089b3c4944ab7b6ea3c77f0415c86184af36f88fe8f7749803128771dd03f460f7edbd8dbbc0838fc20c0ca95434b33fc5253caaf2fd425f593d10205e69038519cbc263ca300c440a9db5662f1a585e2833d405c64bbfd7ecfc5aab21efd3033ec55f6910a97674aa9dd2bb4d5d31f88c378bb24c08d9d81f5bcca445a3fd57031a3318e019bf44ac24ea275bcfd9acf2f4f35d274b652f62388ec24fc2163f35034e25cd072b25d54bdf82c7ea26025e75d463f9cd2a3230607677b93d5d26d7ab03d6dc931b5347e580c6cbfacd43424f7375a0764a26808cb4c0766c8d87f870cc03335756e7bc64b3a908fdb9d9712c317659d7a55563616da7d80fa3c37168c5af03a509b9a13fa6bc6cc6be31f60fd2d622c97c8421ca59593d8a33d549742e5aae036f5c6b446d000f1bbbdd5804aeca3b8d44ef2e801c08f030f1f22919f704a1ea036f8846887896fcccf7d2fa291782cf9fc97266951f34cdc3788f6a5d36b57c0003de2f640604862fe20402c1f6741fbf50700d35c024a76f058a4a400c267542b703add6112b081cd48644418ffff43f7da75b8cc4f057b2020a7e0a0177722f4db8037f17b4a479b050f26ff8df87a8e13d009425883b84364484e5fc572eb54fbc12038b12c436056cd21c0f8235589f2eb42d15894c8e25c92e5b665440c94585db0703eee6a1f8be7382c83cefc99942233562f6ced63bb99864dac68daf265e92685903ce18ccae3cfdab32849474bafab8fe0d9f2a17915d85552061611270b91edbfc00581f03b68aedf679e364bad35ec05f51cfdcde919220bf2aa12c32890cd2d8b56043e0f6fc03cb5f4672bbc8f4d9c5c74f9e8034831f55c12663a2eff0a48bc588650560622403418e847ae0428abb9cdb30b40c8c882ceb745d3be5e84e6bf706df3e5c165b980342fcef633300701ab7cdee4c49f4b17444b76f2a4ba006632100252ace46e16c00581f0302c6cbee3c2a3f0666de4e5af0e9241907f6fbec8f3f0b39e6e3a20e83204e6961bdb41feefb2de9af00d8d49100581f037d10aaa496725dc43fa17ca09f203ff5167f7e9529b5d080b1b51ca2f8b04e1b4006e94761dd90537a00d21f8f00581f033d04353a3d9df81917a3a02df4bd5ee1582c74fb5a893746e80cabdaa49043faa42e00581e0296e4fbc1f840311f461b8cb85665ae19168361fd23a5dc927d5bfbcf074e0154e82cfa60da93077b0107ef3200581e02331f9b428601d65789a32832b3f916afbe2f8d67adaabbdbe769963adf4da2b71cd56fc53e8a7400d180d80219030003607dc64ae10bf21f943d9b14664f16cd44b37012bbabc6606a4858250e8ab47a03f38526d0dfe70bc5056fd552b124eead6b5fd0ef2acb4d3657875909c73f370b00581f0359f845696d79b6952cc16fa1da83ca109e80747f9a395dc064ecb1df5f504f02271718f0fe299e65d420010b7e2d031b2744f4be8f60b786af578253dcfa2a64dad919e00e0a6eb1669e8306c4467d00581f0339747c35d60c636f0e4d591850b38703f634d7ace7d47c090662b28140104f01c21e15ea13ff7140024d00ec650d00581f038ddca0e577588f00480b4249d402e321202bf42d815129b0e76c37e5dd0043e10e630219ffbe03cd488462507f791c69a3732edc1ccea506aa4578120ba9f7e6df609a24397e2f03aaeace95ba37cdee89422bbb139199818d5c04da7bdb78420c297452b54d1184032d8e498fe465a615322272cfbb3149cbf19e7f5ada70ab2b4cae231553b2f7350219ffff0363ac5aa73cf3d5703996443c3a2cee4551d47d04225b1f7495f8689262d0381603ad1e8e78765d98e81cf8b3d7ff363ea4c4f9904093f83766fc9fc0e9b26104e003cb688b5a9036fe30b53c9683b09631c3f1cab0158803e6aecff7278b18f4af1203e26645fdbb2ef067dd835aef9b0f0c1dc7f41cfef36c28c98b6f160b177820b9037f19b00024aadb88c43ef2480720afdab36489623e25e67e0aa251bae4bb7a7f0219ffff033c7a66fe8ec39b84e1e3c282bf360525dacea559199db97065c9360bfdbf107f03e6ad4db69ba24fa5a632181786b1f4415077583394331443794b68906fbcb2d40321d0e5ca7d83ba99eea384502a1689e0d99a7026a1b0a396c7d972e547556b4a0380d0d33cb980d447fc77bfa3e2b440ff8c0219e94af0c8c88e6c1080a906aa030335b9aadc1293bd61efe671495b28fbef3b06196ccd71d9efcf0118700f808dbe03e3362604e28168779c4140893b6fd46404fcfe5a44d41525bc1a8f1a27e6058603e4a5f1882cf1420af43b9d8f10d1fb944e915f6a9e02227e8f53eaef5257e515039db75740ddbff88abbd072bdda6668fa6d0c5f2067b779c6163cf4f01d3c70070309d719468f479958d6ef0f079fbaa19bc49fb4308b80bcf9a01290b381a673540325915c5ae32c4189d4867f905db51618e076b420b9ed67b04bec35758cee308f03025e9f2d79865845ee011fa349f17fe9b35c0c769c59e5ba828edffa610eea6e03b8e02bf914e310ae9833986182495ae3b99ec03dc3a2c79c9da02e663976332903e245cef260c7d600b1e4ea0d84a516ef8edd6ff4d770d2cccdba8177b40dbf260219ffff03f9e3eec8518dc2339998d72fb920bce43f0ae7759eefef382fb5427c4277ca0703680e545ced0e5d641c0f78e8e6f2a273ffa3858cb8c0611708a3f5957100415f03ef15895c22d5f20e9749a1c6277d2d93c49f0cd54f3c3ccf4a9229b4225e0c30037cc7e3f35b1a01cade697fc948f7438dd16036b2ddeefb67e399760fbe391f3003a785aa05b5ea3dede50038f7b638ef6ee169f6681d7014110d0a22028b0104100306cfc05142602a9e617fd7505d127857aba4f33a8c2adf3575bf0f68fa4de9f403031c55e8002a5d58d42ed879628ddd381496716f8239561cfbd54650126ee026031d0ea8a07c3ad0a86e9d365a0d25b5c4854b76733fa417c7f9fbc0de8a54469d030ad3449b205d8509682f823b421ea6fb1a4829a6d3aa49dc528659b06c26d1a303005e7f4210db4a3f62e8d222f0f4ed7970ad5a88a9ef7bc4c6ac429045e0e66b0398878e6ac495739dab214647f1c79aa1b41d84a2133e0cf5bfece8524cc148cc03e0ef2a57e10f71ed213a34a872187fda7a7cc1c8b4fa3be3f01d9926c55bdc360391b7d83f2c73e39586fbd99967a7abb06a4a330af25dd0e5b5e2aaffbab5f5380334217b0dcadd0abaafc555e8229946b6ab6946d6593fb3fbe45c4c4b1b28915103f686f628314914494eff604d1e46875dd850d688ba45e464ca72340544bf35d903133d76f5b8331a1ed2758222ad20a172a85544d7312bd7f81e7a25d036b91a78031b1df892e51af2e2663d7336b0df49fd2b46709a1bca19fb96f4988043f0b39603dbe37fc832255c5fb65efdf416a41f77e40c6502ba04de1c253157dc6340520d039ab4661cfd05929fa00e1a12bbbd617b0b40e36025d42a27e0f5374ce374932f03fa3ae736d5da3f43deb195db557955c0f6b7b78c4f168a783f8364c01431f37303faff772a9f6b171d1e5889ae7f05331ebb595974d6d169aa462d0912b342f8d9039adcaa31c7d6c540379105fec573ced517d62053d5574a2849283e0792d8a8b6030da189f49f226292d9649dc516587ae6245d8661a551fea4aee941a79965919403973d831e2651c7853f80fbcafc22dcb884990ef42627272d8912b3f6cc69d2ca03b0e5eedc50924d4e9e5e93c3e515426d73dab504eab06533ab7797fd4649eeb403e433f85f04bde8fe26fd21fce42996c3428feb56917065043d89d3272961dea603838a2e4242c05ac019d36387408d8d4136116076ec35d03b4a2e8691c7ca93f30331240c6d3439f5a6170465ec770e931dc2b05e8f6ca8a3aa12a96688f88c08ca03161f525dc89f655fa5075c00aef0e1fdead9128c21615f19f8dc2b0edecd2ed503f9145ee705ef544ebf609727b4e558fe65284d3d6127170218d8e077d2ed5b4503e243112d35cc4df7c2928a6e54aa56b02ffbd46c0a05ead44cd9ae75484cbbb200581f030376f7877c5020f356782bd0ea32b4c1a7a2705445d3311b6664a928ab004d1e1d5494d9e4f1800000d9589800581f036964e9b4d332c443ad2bb18712f80dcde4a1e1ae958903ee0f315d9824804d2be21af09983c03c1400c7006c00581f031d5039f84230ed658e859d8ceadbbddd070a117aaccbcc827f9986bbf31042de18032046b27fa675479a3bf4322bcffe2c52e1dc5670e775eb010aef8aef929ca0ef03e14c7dc7a333f48a720ee0742febfe55c93eb135bda3334b81d436c33032eb3203c9478a4699e43013a6e07248d40dd45d820e3a783987a4872b3a225ed7343b510351c47d9ee8239997ba5e782b6c476f69bdd4ed4526f0e48170135401a13a5f3700581f033e99f407d8a1b262c0718ded60eb8ce2f623ab52ecec30e71467b3f87db04e05395b34bd73960614c50121a143036c35b20676758a0e1e8667f3691eccd2cbae3784fe3692aa0fe86bfc6e0cb60e030ac6514daadfceb6c321a294e1ed20a5565b218ccd1c0a4ba63d26c4fc6b21c8037a2faf03e4ac3fb557fd719113f22dbad4d6a3db428f704594450d0cc284bf7101410500581f035d84e6d26d8a1fdabb52f9e2a84c2c46aa3341e37697c1f1ba1e837ece204f022424efb15c1de6a9dc3f00dcaf480219fb8f03ba88c6c07ad84ddce03a0f1559eee6e6830adc654cc0fa090e48c6ae9c8c8fee0305ea78350359675e104df9026ea1ce85eb39ad74f0e57d0c675c8a2c8a0e7c6e03d123c111126223e68b414782dbe0d92a846149483259875e50ea625c04f1492203d8de25c045c01e5e705d27b4f2268b2693c6a4f8ac513a086584d04e2a4b13ef039e183e852cb4f988854d15e276bc85b3557b7144762b00d094f177919f67198403a436659e8e7cb3e971290326c25982cee21d08bf8f6fe9c38fb4b6b39fd8523103654ef72927105e986ec08a87dcafaf872cdff5f5f08888613cd6ac7bb00725490302ba776f7e472fc9e431f553b68c3f4cbc3e6ef5d170d011f6b031d22a19307c03a022a9aeda06ac3c7f987fae863037e76f93a130589539943765096023fab9cf0219ffff0319c92469ef3f56cc05e2343463568750d3651c6f843e88382dd50f767776c37e038e2050a539196d00189d162675d332ff59d88298990d4c6a7d05a4804ea08f1503fafa91685b8b3fdbe77e1cd9707692346b6ef1b7bf42d7a3e83ad2b5858cbc780219ffff037bfa30444548305bbda41c5744f8b9c9af966cb1e0a2fdf7d8c406aeedefe2bf03d1df523794e325a00b22da49b7ada6bbbe9d05ddcfb3a9269af200b24841581b03a3776915e40a62ccd1c2a9a4f98141032d38695ca0dbcec3973b5db76f9339230219ffff03e7949c181c0ba2961aee4aa209053a27de84196784981728dc999cd0b221b5670346ab05fcc795e68e131bbb8edc2753a2bfc7e2d4b951b41f7ed3790cba6c945403cb457fa7873a229927c253e3b5d064a92cc0c362b7c0dd4acae5ea9e0bb2ba580337d60d981a8010195b7d02f4acc1c04d1033adae57866d3b305835cc48e8e10103e292ca80235e2c0ee55cbb765c15c02004e319c3958f01aef22ec4b2f5f99e9c0332675b20505c2043344efca23e2e6ea9785bc5725ff9aeccd4a709c5cb20e27b03dfbc6e8508c51f4ca52518267b5f9ca1b8804b54f94201287a9e8f94dfa1792d03c46364d37100f94906b753e1b2609ba00a8892368effbd7404663dbc8541014403388fc4b0a4c0965ef0ddc6204454dca4d2bb5992dc59bf70ccbbbf4540b55eb203997357ab7611caebfe44b2bc86d24df47d3b997a8ef3464d11d84079122aada90370eec74add8d7efa4c36b391e3dd8616c88b7030c059fb563986a19ffda0df2b03461f0999068c81f0c0e18f94fc9c5482cf70280e5fe62a16ba7fae97100948ee0319dc5fb1f1dc28d69184f80cc14a84b4be2c7a59de20e99f81935fd42ab9ba330341c34ec42e918a0d702a23854cb35f89042f8a8ed552856a59969d173bba4e1600581f03297de675550774b011bfbe00e24726219bf3954f0f3fd42826017ca5c7f04e1c97076efc1319ee4de500dbd0f000581f039f62383ed08c708e95fcfe5a46f834bd00eb8dc5e7ef67d986b5476c61c04e080825f701258f89e6b700b54c1c00581f035e4d09e74e700ba72128703f519cabb5e71ef650da07a4f87198830cbaa04d0593c569bd7c7cc3e900d4506300581f0350c68fd1e66f7f7e3ec178aa19d1f7d69818637b49086854868a454537704e1a811566da3da385c00000eadc5003c097bfaf537bf634d5a97f7d0e35b71d254c769a46bea00cd5e88c375e96959800581f031f51d85b1d7f619a341bd53f409ef69868cf6bcf3f7caee63eb8af3278b0440115f81800581f03de0977ee2f804c203b49fbfa8b1a494f26d5a9cd80b157b22df39cdaf3004e094dbd549264b5045cc101003fbf03714938ac800acf70b446495032ba399f6b6adab3bbb4cb0286d4e2db916214fb00581f035cc49969552059b650f3e25b21e371f0b9a1c8552c77475a0abe94f571704e15e4ea0ff2b1b0a3d7b200b4ce7b0305a1e65a08399fe3e13dfb07e458c493b11aaa73e4da3a5fba7d91238bac67d000581e02b10991be23eff3e8dee7fc0eca6a472735b622864635fee2c0eb9a45c84df2660899f4804848c000fbe1b402190280031c77d4e3ed145a2c8df6c0e16d78d1d26c7b4102bbef2655f221d2bd2397c3950368f8d19a75a20f4dcf606f5909f129eadccaf2fd533b60859e55339161a8380103991de623ae37e2f10dec99a6a39d92b67e8bdf681671ecbeb490013b0b6864fd00581f03a8299f15599d6e4d0065182543df526ed04a1784318839bdd672e36e87704d016c3f0023a4467fb000d871e40219efef03cf56d56df4c81f65c52b0c570dc72d37310b2ca355f536c798ebf114e531c9e903f775b3a9a7407bcc6509463c8160707e29b041c405d5b107ff4e039342597b2f034ef8489d0db2f052e35014adcef1af591d3f28aff16b42fd5f2597e84087b24d03f3eb27ba4fd1cedb29899266f9b9afc08fc63e41e67ab46fe86e5efbe239b5ae039508337a424bf40c89979ec793d358e889dc0ac93df5e5f700fdb0abd3af61c0033b4f0d33b0bf904ca474aa06b8adba0aa2389c61d7ec57378bfc023ce3a8dc4c03a98f9564c6d22a096b52ece53c6dbc903acf03a8bdfc53600c47b35f6eb95dd203aff5ac7c195a3a04c9161513d1aa25d5e6d84d2717141ec13473cf6ad24c863c031515f8fe510fdaaf8cdaeb5e8dd9a26cda988b56291423c32f927751743d6d3b03ff9e2d53be688209c6d25b89113f836a118a1a22edde8c37b0233d5d0b2b2eb9035606c2fc5498e7ad02ddaa40e213989ef4ec69ce7f158e23df476505d618b0ed03a9055f2fe8850f86ed643c612982b65daa53f73d6cff3b2dd4e7a66c4516be3f036e63e0c0cb2b8e7cd8cca11fab49ec2a91acf680d323fbf643e1825b68734fc9031dbbb9124f9669ee973cef0df21c858fa4c86fe3fd7349f1da9f59dd505d00590219ffff03b5177e506cfbb33b64564c19a32eef41d0eb8c998477a29846bba297df3b215503d2c477a6c179cdc6eb6c6f0444245e4fb519bfff0f204391dceb5c3cdae1568903f9875c2ebda38a79638df1fbf6f8299bb77699eb84c3249446422c466a890c0f03502d29a276baf98294716335bc38ecd90064bc410f2d6929e94ec7a57ddc0b2603d5589729b9a11957f5730bbf0f58137f17a2d72907648ead41546adc8c80b1c00388a7e298ceaf0c045045920c7b921885bda34d1f4003e0d739cd3edfb3aaac9803a718f893712fa37baf4846198603649cf0b059a4d3961a38fd644767e4df7331034f358c8fce6a878a4d391cb047a5446014e0086279067a49d6a2e1f991e0dca903710074363d5b2584584b823f3ec9bc248eb50b9ff5cd8569a6f4557e304d0b7903bdecdbad00034f87d1c070ddea5a10ddb82f763e37e860126c2170eaf57e05b303a1ae557c4c02fe00d410be8405420f3728ff3fe45c67c15d7bcbb6a7e489eacb0219ffff039dd90ebb2c3afb5ed76fe1a6b1ac53ad27cdb07bc8b4e39212fb5f9ff629bade03b27890f18e35ffe8c7733f4465847eb9cfc0573efc2192a19b4a5d878e0690ce03cfac5fb5df68835d23d40bc8cead76bbb95005b47c76198a4d69fc206ae444c2039112bc9c0373c0c3727ff8ed98479cdd12b301ba37e49ae686c90003d822932b0329694b8b5904cc2ceb2b772ef8e0478c1375d907bb920345e00a335069bb131c039b7e31e4f97db284e49a228fe29b25012e9df8e2dcced3a0196f5014ee180eb203404cb1dce563ad93092c1b24868902484bd54488336dbaad9f84c79434782bc1038dcc485ae3ba1a301ab721d04d7a75454baafc84ec887b14c6371bc8c7feddb703e50e264aa1962b008dcb8ace4cb7041abc68f9177979440b24c941a029b2f916039c0685ac709f8807bee138114e12ce1d2fa0df1241bf0eab9c11c21bb5a38df303d2117e4f13b053031e12b7db89a961837d449af44d6fd54f054d7a712683885c032d0e348f9f7adb6a8ca85d8067c0a153211fb3d0ceabf6c16a13f757ba8cfa2a0395f0e9a24230c6892146b3179d0f174928db4f2c42710c6e9cca5aecdcf7c0ab03f1177f6d4a280f5b16d55d6bc4cf3e67a80c317c2cf36bafaa96131634af4dfc03d32a636e5d19263c3c2244e44a71a119a24ce599b2ec9de54d45c7ec6a35852b03d1427bc49c30f34f2f45e68feca7fdb2e88e8e0e35f32a68b447b818b5696c070372fc77855412f73932633288f936805246a7d735f5556a56607cc39f7b9a6f08038d19394fd475894d54a4e01fa470af5a06c32525c2fd92b518e69563362eaa93038eee8fe186b5007e37655a5bdd4aa580088c7fac54bcc8b60659866f03ab173a0342fd02c11d54e9df12acad1bff4115e674296e893f3c284d5763476594c5718d03e8774a36b9c4354db840854c6517791c7e49047dafddf12a9bc84a620a565b4203891a6fec916ec704abe2af12048054e31a4fb30cf8366481aa1e3c4547907ae203874098d8a257357703bdb4530ee6a455e40c79ac3211cf299b2492ddf943946603618baaf446e739ad0a5b0e0a2298236e9ea797da9b5fd59d8bb271668c13285203137d742d6e07293161ca93dba81722876a4dc074d31c9e29a364ee74742355d500581f03d4f37e053b306c025ac05d72684a011f6094e984487edafd0e63b1f80e204d115d31ffb8d582bc4d00f4b078033d4302aef4ba8c42c36d39af6d393f0233ec91689a3a5c9d1c4ab6aa793dcc9203be692be9de85b2e72fd8d48dbcb5d556fb3c61dcf3207b1fa0b395810866c39d00581f03c67de8fdbf7d8acb7cdf4b6cc9dc957a0a0d076b7275d303cf1a6dfbb3204f02c5e4d015e21f972ef9e200f391a203c7451e849a0cfcebda2109127189953ccc3449d9fd4b4e985fc55d3bd09d793a01410200581e027e222737a8f57d3d624dc5cd2e857524610b3a5142c9e0c56fd729a12c450100f6a91600581e022ee9b1d3dd26e2831e7e20caea9f8777f7206165c58de1c7f49541bd6e43f6452c0219808003f6b2905ae491788a780f568cb1d51b7cb8097315d2b34c82af3b5581408a056b0381df24b84990d8dd7cb2f5c79bf94f7dd5eaac3ab2186217568745983713da7b00581f03dec48b77d615c1983e1de226b142dcd3fa58cf316ad180b1bb9c344239704d5886abe429a5ca2c7000fa71a103c4ad2184aabbf3c4558939d6baa2812fdb46663992bc506c3477d65f7acce55e0339dfcbe3013cdc7ba49b276967d78beb673dbddac334b6376716a76137fdd13403c51329e4ae4986efde4ab2453abbb177d70c8f66ceef2935d825416794d05ab000581f03be804faaf06ea998cddf2f6672f8d04785a421c06a6374f056e92ea841804e325e5ed9cff6e975cba1011e414f0219fd5f0219ffff030932c3b039b15b21d153c9dab562ec09d439185976178d4e01fe8cd1eb1cdb7d03e37933f6b61eae3e03265ec9a3037e6d71b93b2bea6317c7af62a46db47bb66c03cb5cc502f6d2eed4e56e56d0f4ae181ee4915c64c953f2725fe6b74358f1c756039b421712191e158855a68fef04d5e7815f48428f54ed1ca3fb8173847a6bc15503359a3cb21bd81412a6dc4aa85d3e2914ecebed43f8b704d5e2094222d3ad3773033fb8d1ee682542c871d80fd53f94271ef012d8c29a9ae68abfd51c4d27325e3b03195473509b6b67ac55712ae0df40cdf1273183ddfdd7517eb56b72d5ec5bb2080219ffff03ae1027c746d8e1a06102cba16b8dbf033dace4e746e2822c7ba8f7e4ef43156703e1fa3fb88f33b7400da985ef6b9e2f1f96a3186146e023c3fbca36dba4eb176003f6c7aae4b6d4318fdcf0bb06f7644101faf0e569c73a6d970368adbb1706b14903a9236390903e49639e65793a4db2e5b1da4f51f68d36176ce7040dec9b052f1303272f47e06bec81893a260a69e036385eaf4eea0385b9c828ff2d5c8c01c1a3610219ffff0219ffff05581d02388a38e67904920127d61ba5d60e91749766c93679f6f2cff96ef57e07011931e105581d0291940e4ad649353c164914fdebbbc0aeca11477dbd06ed6f0e5e3e0d04050219508005581e03405efcc65c160b7dc6bffe2426e30a2ab34dd2a35265f5e17365deff100c0947010e935363d08e05581e03c41a428617fd3d54c3885536114a19f68dad60fc773b8327d01111e3700c01471d0fbd9897f4ed05581e039eaadb12a703852ddba353c5edfad316f25481635eaee840738a99e4600c07464de056fc62d0037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03e8d40f24c9a4bd36818e5c49a067aaae2f347c830d7c37ede2a3522cf007011bffffffffffffffff03734decc2529145b4e9ca77387cdd03fba4758a202894de8baad83bbffeae87a103686ffe0e0ef988db6601b5715d6c588d7a8d3bbd3ceb9ca00090c82ff9631460021976a703419b9bf700e759b6d14f99c5c36ca4e3f9c2483aa95c64d5c1ca338acfe7a13203a1e73791ac5812cbf49650388b6f2de8ef51e4ae8414dd29d7434d9da57652eb03b542648a65b4cb277e2a32d03dce0fdd0e7610086d5676a1b711af1319c6c6f303917a2d09d2d154d24c43005394d7ccc9845773f596d0cca89013443a77e4c3ce03fb1fbef190e0acf7956f5ade8cdf5111d34707e1758a73bcca393e256fd117510365811fd404c4e03aa5e81b6654ed49e1b821567cc7d1dfc2c7d02c3e1882a5290360c5eed1a79bbbd18975709deaedb41d2b224fa41f66b2a182e3c3de81c917100366aca7bfbdfc5f95cbb9487bc70b1f33e63f2a451a056aefe809817f30f8e240035782e1dd02190f5fda829f3df2e01e4dd2948c37f672b9cb024e25894036b5f403244e37bb3ffb4aef08e281cf7c99baa8affb2e0557081e02c80b34423ec957190328355f465bd337ec1ab48e262d35e8fa92b92d123356b3abf2f1e80d2c8b6aa3031e5f2bdbc3de4e375c7cc8d37dde4c55c7ec4b2df37494d1bd6b1caa8dc2f61d03404f7d139fa184fcfef41485ce95d247f5adceadfba5ab11f60f136281acad4203c8460f78a9c6a0ee6bc123866d06539177cd4472dfdfc1285040b7c2ed3187140219ffff037a8aeb322d17d46c553bc9edb242a6518292e6939fc4713e50c54579e991a79b03f407ff85ea8c34bff737be662a079b75c04b353066f1809a424a5b4682a15c2a0219ffff03d5529cb29a04f7596f6fd33aa5aff6d834130580ad6cd577bb5ce49868822252039da8ccfd5fc9858ea205840c54f2f8f8a4c057fa5d1651556e377d5b79960a7903c922a4d8453e2ff0298792037e3f5795459935030eb63bc9a1ec46853b1332290306e4f547dbf7869d2480ff0feec5b466e8a349d96b7333acea7943b19f0bab9e03d34cad6e51946829def86cd04af6541704ccb110400fb1fd15800e204be31ca203e2c68a9be6bac577b3020d2f2a9b7dc80e6a7c2737c2886462a1f6c0f4889ea70219ffff030d2bd967f58a9d950a2eeee29bb2a3980b42cc391c1ce3c781388448977177f00306e66acfad771eb1867d9f5e528d9eabee8059d62e498753c7f2e9579e63bf1a03591750c5508bb6b81f58fc08b35063f3c621cb342c625adc69c13e3eae0651ed0320790d8c658d3810ab37c8978e8a29bb98fbf8713c63b53366a8acfa8a2980870333011b447fa2c6fb1631c515f6fc907e0e82063934d3d5762cfae052bda0850003eb21dcfb9b687c91b54a954ce38de4ab9b7cb6291395cd3406914d3a7bcf5796037866d8653f0e8620b11e838248a49bcfb2457e60e1442f5c6c78414dc300d0a303e946880a1f8cb4b7a80742fdfcec97c065c158029311efcb7b02aad21b0a6ac303f4e5a4a7704467e61935fa47fb9a9797a5b0c136e8689b2f2764f2706ac5cb8d03073e965020795526b4d5898f2eadfde8890fdf88c2ca4960060c6654b13cc1c8038adfafa4ee6c1ae1ce3657ccef733e631f2573e08a0170c369690894f4c747c603642a2adbf83ddfde200bc32b71f6e0f3b6202fbd0d2cc052770e42f15dda2e3a031694391179c0c8678a6d1f8d34cd94ca69e01dc83a51630aab82a26db826fb4303a92b746e1158f58803617fce8f807f8dff86397462f832e471f4842f0889616205581e033f4800ed3c54b5ecdbb0d9b9ccc25cc193d8da956af76c24b0128f3a20040105581d02348cca152ec01d140b79ed8dc3a620a775f1f509b69f28b426517c7c040104594d666080604052600436106103345760003560e01c806376203b48116101ab578063a9059cbb116100f7578063df2a5b3b11610095578063eb8d72b71161006f578063eb8d72b714610a18578063f2fde38b14610a38578063f5ecbdbc14610a58578063fc0c546a14610a7857600080fd5b8063df2a5b3b146109c3578063e6a20ae6146109e3578063eaffd49a146109f857600080fd5b8063c4461834116100d1578063c446183414610934578063cbed8b9c1461094a578063d1deba1f1461096a578063dd62ed3e1461097d57600080fd5b8063a9059cbb146108b3578063b353aaa7146108d3578063baf3292d1461091457600080fd5b8063950c8a74116101645780639dd373b91161013e5780639dd373b9146108335780639f38369a14610853578063a4c51df514610873578063a6c3d1651461089357600080fd5b8063950c8a74146107ac57806395d89b41146107cc5780639bdb9812146107e157600080fd5b806376203b48146106d15780638309179e146106e4578063857749b0146107045780638cfd8f5c146107385780638da5cb5b146107705780639358928b1461079757600080fd5b806338682268116102855780636282cbbc1161022357806370a08231116101fd57806370a0823114610646578063715018a61461067c57806374991569146106915780637533d788146106b157600080fd5b80636282cbbc146105f357806366ad5c8a14610613578063695ef6bf1461063357600080fd5b806342d65a8d1161025f57806342d65a8d1461055a578063447705151461057a5780634c42899a1461058f5780635b8c41e6146105a457600080fd5b806338682268146104ed5780633d8b38f61461050d5780633f1f4fa41461052d57600080fd5b80630df37483116102f257806318160ddd116102cc57806318160ddd1461046d57806323b872dd14610482578063313ce567146104a2578063365260b4146104bf57600080fd5b80630df374831461041557806310ddb1371461043557806312097e551461045557600080fd5b80621d35671461033957806301ffc9a71461035b57806306fdde031461039157806307e0db17146103b3578063095ea7b3146103d35780630d9c8a7e146103f3575b600080fd5b34801561034557600080fd5b506103596103543660046130b5565b610a8b565b005b34801561036757600080fd5b5061037b610376366004613170565b610c51565b604051610388919061319b565b60405180910390f35b34801561039d57600080fd5b506103a6610c88565b6040516103889190613201565b3480156103bf57600080fd5b506103596103ce366004613212565b610d1a565b3480156103df57600080fd5b5061037b6103ee366004613269565b610da3565b3480156103ff57600080fd5b50610408610dbb565b60405161038891906132ac565b34801561042157600080fd5b506103596104303660046132ba565b610f18565b34801561044157600080fd5b50610359610450366004613212565b610f37565b34801561046157600080fd5b5061040863657e21db81565b34801561047957600080fd5b50600954610408565b34801561048e57600080fd5b5061037b61049d3660046132dc565b610f8b565b3480156104ae57600080fd5b5060125b6040516103889190613335565b3480156104cb57600080fd5b506104df6104da366004613356565b610fb1565b6040516103889291906133d0565b3480156104f957600080fd5b506103596105083660046133eb565b611006565b34801561051957600080fd5b5061037b61052836600461340c565b611013565b34801561053957600080fd5b50610408610548366004613212565b60036020526000908152604090205481565b34801561056657600080fd5b5061035961057536600461340c565b6110df565b34801561058657600080fd5b50610408600081565b34801561059b57600080fd5b506104b2600081565b3480156105b057600080fd5b506104086105bf366004613560565b6005602090815260009384526040808520845180860184018051928152908401958401959095209452929052825290205481565b3480156105ff57600080fd5b5061035961060e3660046133eb565b611165565b34801561061f57600080fd5b5061035961062e3660046130b5565b6111d1565b6103596106413660046135db565b61126e565b34801561065257600080fd5b5061040861066136600461366d565b6001600160a01b031660009081526007602052604090205490565b34801561068857600080fd5b506103596112d9565b34801561069d57600080fd5b506103596106ac36600461366d565b6112ed565b3480156106bd57600080fd5b506103a66106cc366004613212565b611317565b6103596106df36600461368e565b6113b1565b3480156106f057600080fd5b506103596106ff36600461377c565b611460565b34801561071057600080fd5b506104b27f000000000000000000000000000000000000000000000000000000000000000681565b34801561074457600080fd5b506104086107533660046137af565b600260209081526000928352604080842090915290825290205481565b34801561077c57600080fd5b506000546001600160a01b03165b60405161038891906137eb565b3480156107a357600080fd5b5061040861153d565b3480156107b857600080fd5b5060045461078a906001600160a01b031681565b3480156107d857600080fd5b506103a661154d565b3480156107ed57600080fd5b5061037b6107fc366004613560565b6006602090815260009384526040808520845180860184018051928152908401958401959095209452929052825290205460ff1681565b34801561083f57600080fd5b5061035961084e36600461366d565b61155c565b34801561085f57600080fd5b506103a661086e366004613212565b611586565b34801561087f57600080fd5b506104df61088e3660046137f9565b611665565b34801561089f57600080fd5b506103596108ae36600461340c565b6116f4565b3480156108bf57600080fd5b5061037b6108ce366004613269565b61177d565b3480156108df57600080fd5b506109077f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd67581565b6040516103889190613916565b34801561092057600080fd5b5061035961092f36600461366d565b61178b565b34801561094057600080fd5b5061040861271081565b34801561095657600080fd5b50610359610965366004613924565b6117e9565b6103596109783660046130b5565b611873565b34801561098957600080fd5b506104086109983660046139a7565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156109cf57600080fd5b506103596109de3660046139da565b611a13565b3480156109ef57600080fd5b506104b2600181565b348015610a0457600080fd5b50610359610a13366004613a0f565b611a72565b348015610a2457600080fd5b50610359610a3336600461340c565b611b5f565b348015610a4457600080fd5b50610359610a5336600461366d565b611bb9565b348015610a6457600080fd5b506103a6610a73366004613aff565b611bf7565b348015610a8457600080fd5b503061078a565b337f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b031614610adc5760405162461bcd60e51b8152600401610ad390613b9a565b60405180910390fd5b61ffff861660009081526001602052604081208054610afa90613bc0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2690613bc0565b8015610b735780601f10610b4857610100808354040283529160200191610b73565b820191906000526020600020905b815481529060010190602001808311610b5657829003601f168201915b50505050509050805186869050148015610b8e575060008151115b8015610bb6575080516020820120604051610bac9088908890613bf9565b6040518091039020145b610bd25760405162461bcd60e51b8152600401610ad390613c4c565b610c488787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250611c9c92505050565b50505050505050565b60006001600160e01b03198216631f7ecdf760e01b1480610c8257506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600a8054610c9790613bc0565b80601f0160208091040260200160405190810160405280929190818152602001828054610cc390613bc0565b8015610d105780601f10610ce557610100808354040283529160200191610d10565b820191906000526020600020905b815481529060010190602001808311610cf357829003601f168201915b5050505050905090565b610d22611d15565b6040516307e0db1760e01b81526001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd67516906307e0db1790610d6e908490600401613c66565b600060405180830381600087803b158015610d8857600080fd5b505af1158015610d9c573d6000803e3d6000fd5b5050505050565b600033610db1818585611d42565b5060019392505050565b60408051600380825260808201909252600091829190602082016060803683375050600c5482519293506001600160a01b031691839150600090610e0157610e01613c74565b6001600160a01b039283166020918202929092010152600d54825191169082906001908110610e3257610e32613c74565b6001600160a01b039283166020918202929092010152600e54825191169082906002908110610e6357610e63613c74565b6001600160a01b03928316602091820292909201015260125460405163d06ca61f60e01b8152600092919091169063d06ca61f90610eaf90670de0b6b3a7640000908690600401613cfc565b600060405180830381865afa158015610ecc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ef49190810190613dc9565b905080600281518110610f0957610f09613c74565b60200260200101519250505090565b610f20611d15565b61ffff909116600090815260036020526040902055565b610f3f611d15565b6040516310ddb13760e01b81526001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd67516906310ddb13790610d6e908490600401613c66565b600033610f99858285611d54565b610fa4858585611dbf565b60019150505b9392505050565b600080610ff78888888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e1e92505050565b91509150965096945050505050565b61100e611d15565b601155565b61ffff83166000908152600160205260408120805482919061103490613bc0565b80601f016020809104026020016040519081016040528092919081815260200182805461106090613bc0565b80156110ad5780601f10611082576101008083540402835291602001916110ad565b820191906000526020600020905b81548152906001019060200180831161109057829003601f168201915b5050505050905083836040516110c4929190613bf9565b60405180910390208180519060200120149150509392505050565b6110e7611d15565b6040516342d65a8d60e01b81526001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd67516906342d65a8d9061113790869086908690600401613e26565b600060405180830381600087803b15801561115157600080fd5b505af1158015610c48573d6000803e3d6000fd5b611170335b3b151590565b1561118d5760405162461bcd60e51b8152600401610ad390613e6e565b60008061119983611edb565b600f54604051636e0ecc0360e11b81529294509092506001600160a01b03169063dc1d98069061113790339086908690600401613e7e565b3330146111f05760405162461bcd60e51b8152600401610ad390613ee9565b6112668686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061209092505050565b505050505050565b61126685858585611282602087018761366d565b611292604088016020890161366d565b61129f6040890189613ef9565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506120e792505050565b6112e1611d15565b6112eb60006121a1565b565b6112f5611d15565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001602052600090815260409020805461133090613bc0565b80601f016020809104026020016040519081016040528092919081815260200182805461135c90613bc0565b80156113a95780601f1061137e576101008083540402835291602001916113a9565b820191906000526020600020905b81548152906001019060200180831161138c57829003601f168201915b505050505081565b6114558888888888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92506113fe915050602089018961366d565b61140e60408a0160208b0161366d565b61141b60408b018b613ef9565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506121f192505050565b505050505050505050565b605a8163ffffffff1610156114875760405162461bcd60e51b8152600401610ad390613f96565b6114903361116a565b156114ad5760405162461bcd60e51b8152600401610ad390613e6e565b6000806114b984611edb565b60105491935091506001600160a01b03166340f320bb336114da8486613fbc565b6114e78762015180613fcf565b6040518463ffffffff1660e01b815260040161150593929190613ffe565b600060405180830381600087803b15801561151f57600080fd5b505af1158015611533573d6000803e3d6000fd5b5050505050505050565b600061154860095490565b905090565b6060600b8054610c9790613bc0565b611564611d15565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b61ffff81166000908152600160205260408120805460609291906115a990613bc0565b80601f01602080910402602001604051908101604052809291908181526020018280546115d590613bc0565b80156116225780601f106115f757610100808354040283529160200191611622565b820191906000526020600020905b81548152906001019060200180831161160557829003601f168201915b50505050509050805160000361164a5760405162461bcd60e51b8152600401610ad39061405a565b610faa60006014835161165d919061406a565b8391906122bf565b6000806116e28b8b8b8b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b81528e93508d9250908c908c908190840183828082843760009201919091525061238792505050565b91509150995099975050505050505050565b6116fc611d15565b818130604051602001611711939291906140a5565b60408051601f1981840301815291815261ffff851660009081526001602052209061173c908261414e565b507f8c0400cfe2d1199b1a725c78960bcc2a344d869b80590d0f2bd005db15a572ce83838360405161177093929190613e26565b60405180910390a1505050565b600033610db1818585611dbf565b611793611d15565b600480546001600160a01b0319166001600160a01b0383161790556040517f5db758e995a17ec1ad84bdef7e8c3293a0bd6179bcce400dff5d4c3d87db726b906117de9083906137eb565b60405180910390a150565b6117f1611d15565b6040516332fb62e760e21b81526001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd675169063cbed8b9c906118459088908890889088908890600401614210565b600060405180830381600087803b15801561185f57600080fd5b505af1158015611455573d6000803e3d6000fd5b61ffff861660009081526005602052604080822090516118969088908890613bf9565b90815260408051602092819003830190206001600160401b038716600090815292529020549050806118da5760405162461bcd60e51b8152600401610ad390614296565b8083836040516118eb929190613bf9565b6040518091039020146119105760405162461bcd60e51b8152600401610ad3906142e4565b61ffff871660009081526005602052604080822090516119339089908990613bf9565b90815260408051602092819003830181206001600160401b038916600090815290845282902093909355601f880182900482028301820190528682526119cb918991899089908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881528a93509150889088908190840183828082843760009201919091525061209092505050565b7fc264d91f3adc5588250e1551f547752ca0cfa8f6b530d243b9f9f4cab10ea8e58787878785604051611a02959493929190614303565b60405180910390a150505050505050565b611a1b611d15565b61ffff80841660009081526002602090815260408083209386168352929052819020829055517f9d5c7c0b934da8fefa9c7760c98383778a12dfbfc0c3b3106518f43fb9508ac0906117709085908590859061434a565b333014611a915760405162461bcd60e51b8152600401610ad390614399565b611a9c308686612442565b9350846001600160a01b03168a61ffff167fbf551ec93859b170f9b2141bd9298bf3f64322c6f7beb2543a0cb669834118bf86604051611adc91906132ac565b60405180910390a3604051633fe79aed60e11b81526001600160a01b03861690637fcf35da908390611b20908e908e908e908e908e908d908d908d906004016143a9565b600060405180830381600088803b158015611b3a57600080fd5b5087f1158015611b4e573d6000803e3d6000fd5b505050505050505050505050505050565b611b67611d15565b61ffff83166000908152600160205260409020611b85828483614414565b507ffa41487ad5d6728f0b19276fa1eddc16558578f5109fc39d2dc33c3230470dab83838360405161177093929190613e26565b611bc1611d15565b6001600160a01b038116611beb576000604051631e4fbdf760e01b8152600401610ad391906137eb565b611bf4816121a1565b50565b604051633d7b2f6f60e21b81526060906001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd675169063f5ecbdbc90611c4c9088908890309088906004016144d6565b600060405180830381865afa158015611c69573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c919190810190614563565b90505b949350505050565b600080611cff5a60966366ad5c8a60e01b89898989604051602401611cc4949392919061459d565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915230929190612494565b915091508161126657611266868686868561251e565b6000546001600160a01b031633146112eb573360405163118cdaa760e01b8152600401610ad391906137eb565b611d4f83838360016125bb565b505050565b6001600160a01b038381166000908152600860209081526040808320938616835292905220546000198114611db95781811015611daa57828183604051637dc7a0d960e11b8152600401610ad393929190613e7e565b611db9848484840360006125bb565b50505050565b6001600160a01b038316611de9576000604051634b637e8f60e11b8152600401610ad391906137eb565b6001600160a01b038216611e1357600060405163ec442f0560e01b8152600401610ad391906137eb565b611d4f83838361268e565b6000806000611e3587611e30886127a3565b6127f9565b60405163040a7bb160e41b81529091506001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd67516906340a7bb1090611e8c908b90309086908b908b906004016145de565b6040805180830381865afa158015611ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ecc919061462c565b92509250509550959350505050565b600c5460009081906001600160a01b03166323b872dd3361dead866040518463ffffffff1660e01b8152600401611f149392919061465f565b6020604051808303816000875af1158015611f33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f579190614685565b506000611f62610dbb565b90506000670de0b6b3a7640000611f7983876146a6565b611f8391906146d4565b9050620186a0611f9a63657e21db624f1a00613fbc565b4210611fa9575061ea60611fc6565b611fba63657e21db62278d00613fbc565b4210611fc65750620138805b6000611fd963657e21db62ed4e00613fbc565b42101561200657670de0b6b3a764000060115488611ff791906146a6565b61200191906146d4565b612008565b825b9050611194620f42408161201c82856146a6565b61202691906146d4565b6120359064e8d4a510006146a6565b9750600096508483111561208557600061204f868561406a565b90508261205c83836146a6565b61206691906146d4565b6120759064e8d4a510006146a6565b9750612081888a61406a565b9850505b505050505050915091565b600061209c8282612828565b905060ff81166120b7576120b28585858561285e565b610d9c565b60001960ff8216016120cf576120b2858585856128ec565b60405162461bcd60e51b8152600401610ad39061471c565b60006120f587828481612af5565b6120fe85612b6a565b50905061210d88888884612baa565b90506000811161212f5760405162461bcd60e51b8152600401610ad390614760565b600061213e87611e30846127a3565b905061214e888287878734612bdc565b86896001600160a01b03168961ffff167fd81fc9b8523134ed613870ed029d6170cbb73aa6a6bc311b9a642689fb9df59a8560405161218d91906132ac565b60405180910390a450979650505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000612209896001846001600160401b038916612af5565b61221287612b6a565b5090506122218a8a8a84612baa565b9050600081116122435760405162461bcd60e51b8152600401610ad390614760565b600061225a338a612253856127a3565b8a8a612d38565b905061226a8a8287878734612bdc565b888b6001600160a01b03168b61ffff167fd81fc9b8523134ed613870ed029d6170cbb73aa6a6bc311b9a642689fb9df59a856040516122a991906132ac565b60405180910390a4509998505050505050505050565b6060816122cd81601f613fbc565b10156122eb5760405162461bcd60e51b8152600401610ad390614795565b6122f58284613fbc565b845110156123155760405162461bcd60e51b8152600401610ad3906147cd565b606082158015612334576040519150600082526020820160405261237e565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561236d578051835260209283019201612355565b5050858452601f01601f1916604052505b50949350505050565b600080600061239a338a6122538b6127a3565b60405163040a7bb160e41b81529091506001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd67516906340a7bb10906123f1908d90309086908b908b906004016145de565b6040805180830381865afa15801561240d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612431919061462c565b925092505097509795505050505050565b600033306001600160a01b038616148015906124705750806001600160a01b0316856001600160a01b031614155b1561248057612480858285611d54565b61248b858585611dbf565b50909392505050565b6000606060008060008661ffff166001600160401b038111156124b9576124b9613467565b6040519080825280601f01601f1916602001820160405280156124e3576020820181803683370190505b50905060008087516020890160008d8df191503d925086831115612505578692505b828152826000602083013e909890975095505050505050565b8180519060200120600560008761ffff1661ffff1681526020019081526020016000208560405161254f91906147ff565b9081526040805191829003602090810183206001600160401b0388166000908152915220919091557fe183f33de2837795525b4792ca4cd60535bd77c53b7e7030060bfcf5734d6b0c906125ac908790879087908790879061480b565b60405180910390a15050505050565b6001600160a01b0384166125e557600060405163e602df0560e01b8152600401610ad391906137eb565b6001600160a01b03831661260f576000604051634a1406b160e11b8152600401610ad391906137eb565b6001600160a01b0380851660009081526008602090815260408083209387168352929052208290558015611db957826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161268091906132ac565b60405180910390a350505050565b6001600160a01b0383166126b95780600960008282546126ae9190613fbc565b909155506127189050565b6001600160a01b038316600090815260076020526040902054818110156126f95783818360405163391434e360e21b8152600401610ad393929190613e7e565b6001600160a01b03841660009081526007602052604090209082900390555b6001600160a01b03821661273457600980548290039055612753565b6001600160a01b03821660009081526007602052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161279691906132ac565b60405180910390a3505050565b6000806127d07f000000000000000000000000000000000000000000000000000000e8d4a51000846146d4565b90506001600160401b03811115610c825760405162461bcd60e51b8152600401610ad390614894565b606060008383604051602001612811939291906148da565b604051602081830303815290604052905092915050565b6000612835826001613fbc565b835110156128555760405162461bcd60e51b8152600401610ad39061493b565b50016001015190565b60008061286a83612d7a565b90925090506001600160a01b0382166128835761dead91505b600061288e82612dd4565b905061289b878483612e09565b9050826001600160a01b03168761ffff167fbf551ec93859b170f9b2141bd9298bf3f64322c6f7beb2543a0cb669834118bf836040516128db91906132ac565b60405180910390a350505050505050565b60008060008060006128fd86612e1c565b945094509450945094506000600660008b61ffff1661ffff1681526020019081526020016000208960405161293291906147ff565b90815260408051602092819003830190206001600160401b038b166000908152925281205460ff16915061296585612dd4565b9050816129d3576129778b3083612e09565b61ffff8c1660009081526006602052604090819020905191925060019161299f908d906147ff565b90815260408051602092819003830190206001600160401b038d16600090815292529020805460ff19169115159190911790555b6001600160a01b0386163b612a25577f9aedf5fdba8716db3b6705ca00150643309995d4f818a249ed6dde6677e7792d86604051612a1191906137eb565b60405180910390a150505050505050611db9565b8a8a8a8a8a8a868a60008a612a43578b6001600160401b0316612a45565b5a5b9050600080612a775a609663eaffd49a60e01b8e8e8e8d8d8d8d8d604051602401611cc498979695949392919061494b565b915091508115612ad0578751602089012060405161ffff8d16907fb8890edbfc1c74692f527444645f95489c3703cc2df42e4a366f5d06fa6cd88490612ac2908e908e9086906149d0565b60405180910390a250612add565b612add8b8b8b8b8561251e565b50505050505050505050505050505050505050505050565b6000612b0083612ea8565b61ffff80871660009081526002602090815260408083209389168352929052205490915080612b415760405162461bcd60e51b8152600401610ad390614a24565b612b4b8382613fbc565b8210156112665760405162461bcd60e51b8152600401610ad390614a68565b600080612b977f000000000000000000000000000000000000000000000000000000e8d4a5100084614a78565b9050612ba3818461406a565b9150915091565b6000336001600160a01b0386168114612bc857612bc8868285611d54565b612bd28684612ed4565b5090949350505050565b61ffff861660009081526001602052604081208054612bfa90613bc0565b80601f0160208091040260200160405190810160405280929190818152602001828054612c2690613bc0565b8015612c735780601f10612c4857610100808354040283529160200191612c73565b820191906000526020600020905b815481529060010190602001808311612c5657829003601f168201915b505050505090508051600003612c9b5760405162461bcd60e51b8152600401610ad390614ad9565b612ca6878751612f0e565b60405162c5803160e81b81526001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd675169063c5803100908490612cfd908b9086908c908c908c908c90600401614ae9565b6000604051808303818588803b158015612d1657600080fd5b505af1158015612d2a573d6000803e3d6000fd5b505050505050505050505050565b6060600185856001600160a01b0389168587604051602001612d5f96959493929190614b57565b60405160208183030381529060405290505b95945050505050565b60008080612d888482612828565b60ff16148015612d99575082516029145b612db55760405162461bcd60e51b8152600401610ad390614be7565b612dc083600d612f4f565b9150612dcd836021612f8c565b9050915091565b6000610c827f000000000000000000000000000000000000000000000000000000e8d4a510006001600160401b0384166146a6565b6000612e158383612fc2565b5092915050565b600080806060816001612e2f8783612828565b60ff1614612e4f5760405162461bcd60e51b8152600401610ad390614be7565b612e5a86600d612f4f565b9350612e67866021612f8c565b9250612e74866029612ff8565b9450612e81866049612f8c565b9050612e9d6051808851612e95919061406a565b8891906122bf565b915091939590929450565b6000602282511015612ecc5760405162461bcd60e51b8152600401610ad390614c2b565b506022015190565b6001600160a01b038216612efe576000604051634b637e8f60e11b8152600401610ad391906137eb565b612f0a8260008361268e565b5050565b61ffff821660009081526003602052604081205490819003612f2f57506127105b80821115611d4f5760405162461bcd60e51b8152600401610ad390614c6d565b6000612f5c826014613fbc565b83511015612f7c5760405162461bcd60e51b8152600401610ad390614ca9565b500160200151600160601b900490565b6000612f99826008613fbc565b83511015612fb95760405162461bcd60e51b8152600401610ad390614ce4565b50016008015190565b6001600160a01b038216612fec57600060405163ec442f0560e01b8152600401610ad391906137eb565b612f0a6000838361268e565b6000613005826020613fbc565b835110156130255760405162461bcd60e51b8152600401610ad390614d20565b50016020015190565b61ffff81165b8114611bf457600080fd5b8035610c828161302e565b60008083601f84011261305f5761305f600080fd5b5081356001600160401b0381111561307957613079600080fd5b60208301915083600182028301111561309457613094600080fd5b9250929050565b6001600160401b038116613034565b8035610c828161309b565b600080600080600080608087890312156130d1576130d1600080fd5b60006130dd898961303f565b96505060208701356001600160401b038111156130fc576130fc600080fd5b61310889828a0161304a565b9550955050604061311b89828a016130aa565b93505060608701356001600160401b0381111561313a5761313a600080fd5b61314689828a0161304a565b92509250509295509295509295565b6001600160e01b03198116613034565b8035610c8281613155565b60006020828403121561318557613185600080fd5b6000611c948484613165565b8015155b82525050565b60208101610c828284613191565b60005b838110156131c45781810151838201526020016131ac565b50506000910152565b60006131d7825190565b8084526020840193506131ee8185602086016131a9565b601f19601f8201165b9093019392505050565b60208082528101610faa81846131cd565b60006020828403121561322757613227600080fd5b6000611c94848461303f565b60006001600160a01b038216610c82565b61303481613233565b8035610c8281613244565b80613034565b8035610c8281613258565b6000806040838503121561327f5761327f600080fd5b600061328b858561324d565b925050602061329c8582860161325e565b9150509250929050565b80613195565b60208101610c8282846132a6565b600080604083850312156132d0576132d0600080fd5b600061328b858561303f565b6000806000606084860312156132f4576132f4600080fd5b6000613300868661324d565b93505060206133118682870161324d565b92505060406133228682870161325e565b9150509250925092565b60ff8116613195565b60208101610c82828461332c565b801515613034565b8035610c8281613343565b60008060008060008060a0878903121561337257613372600080fd5b600061337e898961303f565b965050602061338f89828a0161325e565b95505060406133a089828a0161325e565b94505060606133b189828a0161334b565b93505060808701356001600160401b0381111561313a5761313a600080fd5b604081016133de82856132a6565b610faa60208301846132a6565b60006020828403121561340057613400600080fd5b6000611c94848461325e565b60008060006040848603121561342457613424600080fd5b6000613430868661303f565b93505060208401356001600160401b0381111561344f5761344f600080fd5b61345b8682870161304a565b92509250509250925092565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b03821117156134a2576134a2613467565b6040525050565b60006134b460405190565b90506134c0828261347d565b919050565b60006001600160401b038211156134de576134de613467565b601f19601f83011660200192915050565b82818337506000910152565b600061350e613509846134c5565b6134a9565b90508281526020810184848401111561352957613529600080fd5b6135348482856134ef565b509392505050565b600082601f83011261355057613550600080fd5b8135611c948482602086016134fb565b60008060006060848603121561357857613578600080fd5b6000613584868661303f565b93505060208401356001600160401b038111156135a3576135a3600080fd5b6135af8682870161353c565b9250506040613322868287016130aa565b6000606082840312156135d5576135d5600080fd5b50919050565b600080600080600060a086880312156135f6576135f6600080fd5b6000613602888861324d565b95505060206136138882890161303f565b94505060406136248882890161325e565b93505060606136358882890161325e565b92505060808601356001600160401b0381111561365457613654600080fd5b613660888289016135c0565b9150509295509295909350565b60006020828403121561368257613682600080fd5b6000611c94848461324d565b60008060008060008060008060e0898b0312156136ad576136ad600080fd5b60006136b98b8b61324d565b98505060206136ca8b828c0161303f565b97505060406136db8b828c0161325e565b96505060606136ec8b828c0161325e565b95505060808901356001600160401b0381111561370b5761370b600080fd5b6137178b828c0161304a565b945094505060a061372a8b828c016130aa565b92505060c08901356001600160401b0381111561374957613749600080fd5b6137558b828c016135c0565b9150509295985092959890939650565b63ffffffff8116613034565b8035610c8281613765565b6000806040838503121561379257613792600080fd5b600061379e858561325e565b925050602061329c85828601613771565b600080604083850312156137c5576137c5600080fd5b60006137d1858561303f565b925050602061329c8582860161303f565b61319581613233565b60208101610c8282846137e2565b600080600080600080600080600060e08a8c03121561381a5761381a600080fd5b60006138268c8c61303f565b99505060206138378c828d0161325e565b98505060406138488c828d0161325e565b97505060608a01356001600160401b0381111561386757613867600080fd5b6138738c828d0161304a565b965096505060806138868c828d016130aa565b94505060a06138978c828d0161334b565b93505060c08a01356001600160401b038111156138b6576138b6600080fd5b6138c28c828d0161304a565b92509250509295985092959850929598565b6000610c826001600160a01b0383166138eb565b90565b6001600160a01b031690565b6000610c82826138d4565b6000610c82826138f7565b61319581613902565b60208101610c82828461390d565b60008060008060006080868803121561393f5761393f600080fd5b600061394b888861303f565b955050602061395c8882890161303f565b945050604061396d8882890161325e565b93505060608601356001600160401b0381111561398c5761398c600080fd5b6139988882890161304a565b92509250509295509295909350565b600080604083850312156139bd576139bd600080fd5b60006139c9858561324d565b925050602061329c8582860161324d565b6000806000606084860312156139f2576139f2600080fd5b60006139fe868661303f565b93505060206133118682870161303f565b6000806000806000806000806000806101008b8d031215613a3257613a32600080fd5b6000613a3e8d8d61303f565b9a505060208b01356001600160401b03811115613a5d57613a5d600080fd5b613a698d828e0161304a565b99509950506040613a7c8d828e016130aa565b9750506060613a8d8d828e0161325e565b9650506080613a9e8d828e0161324d565b95505060a0613aaf8d828e0161325e565b94505060c08b01356001600160401b03811115613ace57613ace600080fd5b613ada8d828e0161304a565b935093505060e0613aed8d828e0161325e565b9150509295989b9194979a5092959850565b60008060008060808587031215613b1857613b18600080fd5b6000613b24878761303f565b9450506020613b358782880161303f565b9350506040613b468782880161324d565b9250506060613b578782880161325e565b91505092959194509250565b601e81526000602082017f4c7a4170703a20696e76616c696420656e64706f696e742063616c6c65720000815291505b5060200190565b60208082528101610c8281613b63565b634e487b7160e01b600052602260045260246000fd5b600281046001821680613bd457607f821691505b6020821081036135d5576135d5613baa565b6000613bf38385846134ef565b50500190565b6000611c94828486613be6565b602681526000602082017f4c7a4170703a20696e76616c696420736f757263652073656e64696e6720636f8152651b9d1c9858dd60d21b602082015291505b5060400190565b60208082528101610c8281613c06565b61ffff8116613195565b60208101610c828284613c5c565b634e487b7160e01b600052603260045260246000fd5b6000610c826138e88381565b61319581613c8a565b6000613cab83836137e2565b505060200190565b6000613cbd825190565b80845260209384019383018060005b83811015613cf1578151613ce08882613c9f565b975060208301925050600101613ccc565b509495945050505050565b60408101613d0a8285613c96565b8181036020830152611c948184613cb3565b60006001600160401b03821115613d3557613d35613467565b5060209081020190565b8051610c8281613258565b6000613d5861350984613d1c565b83815290506020808201908402830185811115613d7757613d77600080fd5b835b81811015613d9b5780613d8c8882613d3f565b84525060209283019201613d79565b5050509392505050565b600082601f830112613db957613db9600080fd5b8151611c94848260208601613d4a565b600060208284031215613dde57613dde600080fd5b81516001600160401b03811115613df757613df7600080fd5b611c9484828501613da5565b8183526000602084019350613e198385846134ef565b601f19601f8401166131f7565b60408101613e348286613c5c565b8181036020830152611c91818486613e03565b601081526000602082016f20a1a1a2a9a9afa327a92124a22222a760811b81529150613b93565b60208082528101610c8281613e47565b60608101613e8c82866137e2565b613e9960208301856132a6565b611c9460408301846132a6565b602681526000602082017f4e6f6e626c6f636b696e674c7a4170703a2063616c6c6572206d7573742062658152650204c7a4170760d41b60208201529150613c45565b60208082528101610c8281613ea6565b6000808335601e1936859003018112613f1457613f14600080fd5b8084019250823591506001600160401b03821115613f3457613f34600080fd5b602083019250600182023603831315613f4f57613f4f600080fd5b509250929050565b602281526000602082017f4d696e696d756d207374616b65206475726174696f6e2069732033206d6f6e74815261687360f01b60208201529150613c45565b60208082528101610c8281613f57565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c8257610c82613fa6565b63ffffffff918216919081169082820290811690818114612e1557612e15613fa6565b63ffffffff8116613195565b6060810161400c82866137e2565b61401960208301856132a6565b611c946040830184613ff2565b601d81526000602082017f4c7a4170703a206e6f20747275737465642070617468207265636f726400000081529150613b93565b60208082528101610c8281614026565b81810381811115610c8257610c82613fa6565b6000610c828260601b90565b6000610c828261407d565b6131956140a082613233565b614089565b60006140b2828587613be6565b91506140be8284614094565b506014019392505050565b6140d283613c8a565b815460001960089490940293841b1916921b91909117905550565b6000611d4f8184846140c9565b81811015612f0a5761410d6000826140ed565b6001016140fa565b601f821115611d4f576000818152602090206020601f8501048101602085101561413c5750805b610d9c6020601f8601048301826140fa565b81516001600160401b0381111561416757614167613467565b6141718254613bc0565b61417c828285614115565b6020601f8311600181146141b057600084156141985750858201515b600019600886021c1981166002860217865550611266565b600085815260208120601f198616915b828110156141e057888501518255602094850194600190920191016141c0565b868310156141fc5784890151600019601f89166008021c191682555b600160028802018855505050505050505050565b6080810161421e8288613c5c565b61422b6020830187613c5c565b61423860408301866132a6565b818103606083015261424b818486613e03565b979650505050505050565b602381526000602082017f4e6f6e626c6f636b696e674c7a4170703a206e6f2073746f726564206d65737381526261676560e81b60208201529150613c45565b60208082528101610c8281614256565b602181526000602082017f4e6f6e626c6f636b696e674c7a4170703a20696e76616c6964207061796c6f618152601960fa1b60208201529150613c45565b60208082528101610c82816142a6565b6001600160401b038116613195565b608081016143118288613c5c565b8181036020830152614324818688613e03565b905061433360408301856142f4565b61434060608301846132a6565b9695505050505050565b606081016143588286613c5c565b613e996020830185613c5c565b601f81526000602082017f4f4654436f72653a2063616c6c6572206d757374206265204f4654436f72650081529150613b93565b60208082528101610c8281614365565b60c081016143b7828b613c5c565b81810360208301526143ca81898b613e03565b90506143d960408301886142f4565b6143e660608301876132a6565b6143f360808301866132a6565b81810360a0830152614406818486613e03565b9a9950505050505050505050565b826001600160401b0381111561442c5761442c613467565b6144368254613bc0565b614441828285614115565b6000601f831160018114614475576000841561445d5750858201355b600019600886021c1981166002860217865550610c48565b600085815260208120601f198616915b828110156144a55788850135825560209485019460019092019101614485565b868310156144c157600019601f88166008021c19858a01351682555b60016002880201885550505050505050505050565b608081016144e48287613c5c565b6144f16020830186613c5c565b6144fe60408301856137e2565b612d7160608301846132a6565b6000614519613509846134c5565b90508281526020810184848401111561453457614534600080fd5b6135348482856131a9565b600082601f83011261455357614553600080fd5b8151611c9484826020860161450b565b60006020828403121561457857614578600080fd5b81516001600160401b0381111561459157614591600080fd5b611c948482850161453f565b608081016145ab8287613c5c565b81810360208301526145bd81866131cd565b90506145cc60408301856142f4565b818103606083015261434081846131cd565b60a081016145ec8288613c5c565b6145f960208301876137e2565b818103604083015261460b81866131cd565b905061461a6060830185613191565b818103608083015261424b81846131cd565b6000806040838503121561464257614642600080fd5b600061464e8585613d3f565b925050602061329c85828601613d3f565b6060810161466d82866137e2565b613e9960208301856137e2565b8051610c8281613343565b60006020828403121561469a5761469a600080fd5b6000611c94848461467a565b818102808215838204851417612e1557612e15613fa6565b634e487b7160e01b600052601260045260246000fd5b6000826146e3576146e36146be565b500490565b601c81526000602082017f4f4654436f72653a20756e6b6e6f776e207061636b657420747970650000000081529150613b93565b60208082528101610c82816146e8565b601981526000602082017f4f4654436f72653a20616d6f756e7420746f6f20736d616c6c0000000000000081529150613b93565b60208082528101610c828161472c565b600e81526000602082016d736c6963655f6f766572666c6f7760901b81529150613b93565b60208082528101610c8281614770565b6011815260006020820170736c6963655f6f75744f66426f756e647360781b81529150613b93565b60208082528101610c82816147a5565b60006147e7825190565b6147f58185602086016131a9565b9290920192915050565b6000610faa82846147dd565b60a081016148198288613c5c565b818103602083015261482b81876131cd565b905061483a60408301866142f4565b818103606083015261484c81856131cd565b9050818103608083015261424b81846131cd565b601a81526000602082017f4f4654436f72653a20616d6f756e745344206f766572666c6f7700000000000081529150613b93565b60208082528101610c8281614860565b6000610c828260f81b90565b61319560ff82166148a4565b6000610c828260c01b90565b6131956001600160401b0382166148bc565b60006148e682866148b0565b6001820191506148f682856132a6565b60208201915061490682846148c8565b506008019392505050565b6013815260006020820172746f55696e74385f6f75744f66426f756e647360681b81529150613b93565b60208082528101610c8281614911565b610100810161495a828b613c5c565b818103602083015261496c818a6131cd565b905061497b60408301896142f4565b61498860608301886132a6565b61499560808301876137e2565b6149a260a08301866132a6565b81810360c08301526149b481856131cd565b90506149c360e08301846132a6565b9998505050505050505050565b606080825281016149e181866131cd565b9050613e9960208301856142f4565b601a81526000602082017f4c7a4170703a206d696e4761734c696d6974206e6f742073657400000000000081529150613b93565b60208082528101610c82816149f0565b601b81526000602082017f4c7a4170703a20676173206c696d697420697320746f6f206c6f77000000000081529150613b93565b60208082528101610c8281614a34565b600082614a8757614a876146be565b500690565b603081526000602082017f4c7a4170703a2064657374696e6174696f6e20636861696e206973206e6f742081526f61207472757374656420736f7572636560801b60208201529150613c45565b60208082528101610c8281614a8c565b60c08101614af78289613c5c565b8181036020830152614b0981886131cd565b90508181036040830152614b1d81876131cd565b9050614b2c60608301866137e2565b614b3960808301856137e2565b81810360a0830152614b4b81846131cd565b98975050505050505050565b6000614b6382896148b0565b600182019150614b7382886132a6565b602082019150614b8382876148c8565b600882019150614b9382866132a6565b602082019150614ba382856148c8565b600882019150614b4b82846147dd565b601881526000602082017f4f4654436f72653a20696e76616c6964207061796c6f6164000000000000000081529150613b93565b60208082528101610c8281614bb3565b601c81526000602082017f4c7a4170703a20696e76616c69642061646170746572506172616d730000000081529150613b93565b60208082528101610c8281614bf7565b60208082527f4c7a4170703a207061796c6f61642073697a6520697320746f6f206c6172676591019081526000613b93565b60208082528101610c8281614c3b565b6015815260006020820174746f416464726573735f6f75744f66426f756e647360581b81529150613b93565b60208082528101610c8281614c7d565b6014815260006020820173746f55696e7436345f6f75744f66426f756e647360601b81529150613b93565b60208082528101610c8281614cb9565b6015815260006020820174746f427974657333325f6f75744f66426f756e647360581b81529150613b93565b60208082528101610c8281614cf456fea26469706673582212204591bd6d8068c4724c294e077a9d1db3a36c67ba8366e633acb452cb7e90332364736f6c63430008140033039c0414163275f43500bf8327a66da1a7efa8d75f2637ff68e63d180bc9dcf9f703b6a93c5458457f4ffccfcfeee36d6c8b69dc620951f90d644eab521b000b44c6039b8cce141a0031fc60b5c1b7636d21c6a938ac11fd9d9aba7255c4b0e97c13b203ad0e0d8bf6fa5546977b798de4515448cd0b99808471ccab0af366da2190a7e803edd646c5f7b8021b38391e58f32b980b3ece9593663473187836c255c82b57c6036c68047a3387a2e8e0e8568518df9c263ce724a7a521371aa3870e10a6f425d5039c0f130cb52033e353123b8e1a41dd354fcf815aa5c2718e77273c3e839b755703684fdf6ed12da3978dca9247c55f2053c4a6a82cbfe7bc25c447f8f7f25f22e803469ed8f1e476850a17e16a4348be3cbc333287514dbe128a90820be9f2ae1fe7031f69f7f558d14ce0088aa83249e348fbabe5d9a79d4cd35ae3a8b9f54781184403185c293d675cf7c3310c1b6d17e852ec828fbd5e3b75bbcb56c5f0af9fa60370030e3e72a5d73e1d940c6dcf1974b778c8ae59f96be526bc1df8f02f1f7a592b160058200318161e369ec291e906bf114d2d1e75c4391ac68f97354cbec689788cf879d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003445702ee6bce204e828df55f8740f58489b9f37a608cc3cfe327db3e5257904a122b3a31a41e03a0000002190600037278233b53b6a65ef0460ee85545a55ddd9169165919ac560a1bf3d9d99a3ea903975ad2baea0d19184f451886bddf0896215ac76b8c7516e2357d3436fb8749f60219ff7f03aed6145033c5ec975ce5e270847a3698d54e9fc3469af7e231da6229ce0dc99a03c8d500987200911aab93e76558d9729c245a4ea6ea6c722d97ed85c50aa086c6034c11be63455c1202c6d98d749bef5f88ee6127e4a657716c58015ca9f0d3aecd03475a045f2a4089ab271f1dbd598f961c7f6665dea304cb668227d16958cff02303c057dbb78426c20fdd372eeac3551e67ebd82bba47ac0f81868cd0340d52c43703016765f8d9b79016c70f473c334081bdcbc6981e144fa4f8b344d55fd5d988db0305971fe19654ead7d36bf1ec596ac0f7361ca72c5a284645686642ad6515861303aebaa52cf3d450ee33403899c4cbcfa605c90beed45ff34106d63161fc4e283d00581f02fcb5fd7a6ddb5d8ac6f043c2a203238997e188e1a9ed16ad4922b2b0282b4a065be55d471ce6cc4f9100581f02c9162dcefc74ef0fa0a4cf06b29d7a02a676661a65cd906eca784167f44a4b271b88ec613c103091e0aa00581f026d816267b1b7e0e2756a5941ea920df5f34bc7e1f18a59a8c676cfcd8a7a4a39e3853ab340c517d1dc0219884000582003a5c95fe1b06f086e45e804c4926dc071224972374449b563095a4b414f9f904a056d0e05c2ca7f9c4de602192100037a8d69ed66cec7b9dd34f5ff6f70e3c123c2aa61bd0218f22f0e5d04727b897c0361cc7890959cbe16fed4a554d417bd4c5345d44bfde2e5990fc82950a1f080b3037449703d2a51834bc03631397d7033a5336a89df04a057bee4fea6e85e90b538035eed87733aff61bfaad5a5a06f4f38615a3c310e627502b424c244dcb242c6e403045e94eeb7583f2b69265556ff76591f572f5710fc727a7693987c1c59b830f4034be900c818764a980f892554d52dd4083a93131fa0164c5383bcfb3ca0b1beed030a14a1020e76c02410b4b36f19304cad456afdee3ee091b02d1259c29e2a7c3b03940fea93e90333bece7c539e15609aa973fcf6f9f732b1f6f2516e87fff944350219ffff031ee055bb1b60dde368779c136c14ceab4ed793d3c31faf46ff8e05682bc31c13038629f38be793729a32aac5ad265aca2190c7069d68103fa4d56ef2e08f3d11c403d40102532fcac19899a7165e41c67464aeedfa087726dd3e341d60b6840afadf03879a91eb6ffea142a61731f425d92fe5a3b6eab6d05e3ada7d4ec4189aac00110330b14385534f925e4349bbde87f50250b7f1a7b4b623574a4916dac3e5e9c3c203c9e150a1ffeaf68f54a4f092744e64a2efd02f9c298d08d5f636ddd5f51d2d07033bc2f4f797fd2967196cac6b2e83f522568ea1fed42a384393035a26fd49f2a603e805fe2745cc877eb64d97049f4dee3c6f98be0cc14981e1fdd762d039e83cfd0305b14ebc9de92a308afd790f10ae50df04ec53d66aa94f6a0843405e4c67e4cc038f7f5c7414bbab1168b5715300f5efec2b0ad59b4831f708731e8cfaa074108503ad878162559f9c9fba6957c4593547c0c1b941c07d798810b53cc2c40486834903202e3333ccc64639eff2cc10a58963996bf806c1eb49d7bf6ee77fa3e8c0853503af29f35f7ae73b752c68dda2ad11926dfd344a017752e8f7c25a5d337b47c6820219ffff05581d028a5f04f778d8eba97b7feeee71d5648bf83349183f1a2f3fc0091bff0701194d66021910800344bf8d5676131193bce3b915448c19c0d7881b0e1d634166519cb8a7c34cff0705581e03584d0cd7aa19d022900a8dbff06bdbbb982a053bb47c2955bbef213fc00c0347023f2e4bef64a0037d5da2a837b3b5ecad4e8ba369bca33ac501d01642f0236700f8673bd0752d70021978c4034228b32193bab1176f4dfdfaa27a4c7d4be6b079f8da231e5468362160aad4db031a464be19ba7705da523acfd0fce7171a654e069b2ae9e86188a58d3e8fb3c090355401a3c12e3e0e029e2b78e31ce63a346dc43cf3c778ffe1f214e9e68acd26903cda00fe6ba5977eb7d2440ec43c62ee60f94b4e990b4074576c5fde3ed28af0003f04f6adb0415d1b3a36e5d4e172b0286e0e377db3964f87c21c037fee4f4619203c0ff3d54dba337430befab9d251d4ccf1a350b41c109a49f25ca2c5c31a8ebb503b655183a15781432d2cbdf71d380f33ac1c00880311a36202b463bfe2419ff4a030317b0fa5b6610d6e7de8e4775ac795e0069d19ed7cd7be728e7a0ebfba181f5036c7484673ff61b11bba12b27be15f3ac3aee002c9890a013d994a81b4f0f3fb903a8ba1177693ee8a095584ef2cd6a0063b8dc3b1cd48f99938927251762a8eea603003c56b1fd98260d0a1007ca75a911e2a0b1f4f74cac4b14f826a57c6cc93cba031b55bf1052548e4d732b99f13cc5e532998e05b12e3dfd050d976cc90a3f0e7003876e15404798e8a2db7a567d3f092b3576d5397760493fa50541ea1c041bc1760219ffff03f81d5ad9921566b4786a6dd84ad66742936afe37f1dacf5d65f5a518b5d65ef40378f2f7786cbae8cac948ecfe20cf37359eaf2c8aa6a69165ac35aaa44ce72eea03252e6032000d857d87b6e1f7738987cf4c87e1570a1fc571f3f2a372a8f648dd03288d9aa80b788bb9e92c213b89d4786a1072c60ea4dae9269d1a479dd8a04afc03ca4be7ebef38fc09c68c2303959013b83c1538fb084976429e936f152d9dcb56037bcc3996fb0266957cacc9988e1911bd20034320521fa633288d964c2bf80aa9034f62c743a93e83c54f2b2d2443cb6188255014c2414d706ad20d4cc9681eeb050219ffff03353f92c27a55194dc78bbf950dc31f8f52e4bc05aa47ba0293497b78935665c3038879d20def56b3c93724edc2be39722afa53c2c1017d217a41353a1cdd3d0bfc03ce1ac9ed393a721deaea23b401c1f027fa611e2b342b0de798e26557e2d46c300370f31de8e956a43e2338ba057230cf94c9b2dad85a87fadc38357b644a858a6003bfa0c7fdab117fedc61cefb656cba5b18942bfc0137f71be56d9b821d3ccc68c03a9cd3d29ca8369ee18cdb9180e57e4cb3743ea0e952e8fd6edda68bf10fb99c503c21f4838e75d3c27422b8ef10abbc99a1d6a7132b3e621c406e39826c8bbc04e039d7d2bbe3a83138d4cfd3cf981ee5853a9859911f1d22d42eaf469c020992137031e3a7a79c8a370053dcbecda6cbd3f91430175863e6318871c2177f462f11b47037f04c2a29861e27be28c95a8787afbc068050f7bcc1cc5360e4725125ba807f30399bd98c82f3f896ca724ca063fa9b70751fc21f8b65844f4e34dd7f852c29630034e4e93a3a8ef75134a215ce37e2719788d4298d8850478faa823f3b64d17a3e603edc302b04e12db9937c324dc3e3201d80a2305fccf049e080c14ce9a4fe7e43b03822e759f9fa552e9b871c5b891d7910495a4b12c3bbea03939cd1b966cbcf00d03c47e215ad0f330bca9a5dca9ee09890643337fde7067bfd1aaf59d3bd795a81f0219ffff033adbca898b8191e8d6e114d052775a5c94b4fe0661437de9f058eb9098bfec3c0343caba11512ac02209e954eba0b977995b2a9e59047348af8db0854fecf2ac100386edd2d859bf0039e67c302b8066c66bac1bdde6416068f1552ba214c465640003009aa52865e5023df342eec19f1391bd81df4c9426ab48a5a7e2d49c833ace44033af9e15c0239ec8c4a5bd50dcebf927e1bef0acc339a4efb346f83c3a0f9db0f03b775571f503924a99179fa9b6d964416e002dc44215f555c0ca60f933fc792a303f1edbbab32a65af3d264ef68878651501ab249720daedf6399ab0617d5c0e554031d45ec64be47d85fc4fcab791677ef6491da97d4f51b41d8e20326f371cb706503663fb7e65dcb9db157868c1407614d56fb0aed953b228a5db5e3d801e0d74238031c2fe0d5a94ec710cf364effac15b07692c3168dfd9b6d587d22b45777de19f60219ffff03ed3946114eb1a9309ef7e0e7acbbc20ee38247dbfe4936dc541710c595056d1a03e02e7a625c1d2b58c584c3faaa9d8d9a805a86cba7348de8f107045a566dfbe0031dc39ec7cdd41a7d8b57adc9cfe21c08d18f0a8fc43618f168f993fe08e3f9fa038e1633d37113519db8f5c889bec68115003f50a95d0a01ffa221c46cd3e612a00390a07de816163fa13216d5dfc9e90cc73d9f00878ad6c9cf6c2cea6c59a5a5c703657cda02381a4f900565e6f7b837746c343eb7e533cfe89784c4d33bdbe72508037736f03a8c14bfe932a4943bcdb270d70afa5d29735185f0fa4736392f26e34303b65efcb505f6da7cfca1ccc4547383e15462e2a415db205862d41658143a475e035fba676c58b437a5a5a64249fdb3fa7dbec751f54f167e240ded0a2324ce38880395973bb87b5d88ab4778580f0cd48d7698cb5bad10d3a72504e1fec61dd24da403e25dd8862c82163d6d2d3d34de9584c9989b9cc4051098c20760dcb1e95d0c3a03bb9920ebae59b43b3bccd50d7d160e8fb7f06ea9eff1c3c979f7c5a49153b43c03e5129ef9780100869a9faaf43d334c19b45707ef34c914834667d1ac03eece33031f359bfad93710c88f17c4170fdbcc623277b952dbd4d62748c6fc268f9047980381afdfa7774209fcb4bc07f91ec04ebfe1b89c69a9ae1ebe2bc43536e45d460303c90fe7433e07d5d3fc802204eb3e9a92a9cc53263710db50e29ca1b78c4971b403c76fc44ec84125b9611cfe7b65ae97a94e4c3be48cc6d956ab81073e3ed5d0fa030bbf75bf642c80da34b73dc943a30c7f1b3be348bcb6d1e2529fdd51449e08a103cf160104d02da84a41724719c27da09ceb1a51b00928fefcda317edcf309825903430344155e34189a33e11dc4c8ad6a9404df9870a2e18ad0865721f7c1f1147a03bce449afc50e44019e3aeb75e9f2d6c72042d0a20464b69d61eb2d3f2ad96843030531eb4a0afef3cb404d7675870c3c49efd29b9a4b859ddaae94c36310b7ae0603e752d314fe049bd7c6ed39c67d2f1f639c45eabfeb257b9147fdd57481857e3c03cb64018e30deabc41ab7512bd25329679bec782bc7628f4f0a116407316e648303894b6c455abd1c361917145aa5eec85d66b43da4327f92f9abe6b738ba9323c1037231449890315a74a2d29846f6c25d573b12d5c1222989c4588d400044406d2e0368ebaf5ceb22e2bc333432b76718d6c36166d1444ea4dbb2dd5d53b77494290c030207bd1b438590dc2ea4773092ff6840b379c1206859eb63b419a18280273513034c42088bd69508dc161cf6548f23a976f09ba9bec3c446d4a2cb7bdbc95a323203c286dab82a74c887eb5d2eb399eb414c81f1083efb4af7d185086646598e62fc035b9e9801cb4418702c6b8d3be24d9ee539bee1721f92fe233a0d95ba588e81db033661a6bd0c24511a05b40f8ae74c737f47d0df70bbf3c7a0816810ed90a8442603d6b82b5896be46433e7349f5005e0d5958dbc3747435483d956149bf9a41740b036af61ac19cd4496fb6d376dc38a8165a2561022866ce6fef41f8ade0fd2a407b031d942c5f793bd295e61894015b65c2a0b772da5420e868784603db7d45fc38ab034f96708c335dd6364f8c5b4fc62edf32f5fd9a7107a99be1e9f6914b4093b88c03e3981f17dbc1a00258432c0e34232f267d05e271590ee7a9783a51870f9873c8033a7c4e1b76aa60dc9d631272c2ce6a72e82914e0cd8ffc759889d5f24cdedeeb03ca06c2b4c97d9941e56c3c752abe4c2b0b2cd162e22a5d25f61774dc453deedf05581e03da7d3b581a6515e83a053ac10dee614e37c74397b0001f77359de74100040305581e03e08b15e58c41c3c9db35bc5268e123e5e61f633bd60f8dd66ce320d4d0040105581e03961ea71a2092ede541a5313d58a72b669c614b45d7c9e73ab7f40b85d0040105581e036be6c90bff6b129f08f2d3732f40a37dbc9a95e1c60843ed138e4969d00c1836470135ec955aed3303235db60b9fecfc721d53cb6624da22433e765569a8312e86a6f0b47faf4a2a2305581d024eee85039fc9d8260336899b904d35911f52859f57c1e664281186f20c0147a7a5422d062ab804590c346060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a002903220d6961dd6066b661c1c1a35c787da93ea488cfa3459a50352354dda4720446033f8e30b4dcd4a2371819c6de2e63b2f59022bb71214a09724681f1e66ffdb23c03fc4822e37de9c8c10252232a26df3f1b85f3d27ea824990ac09e0b3d6f95bf3403cccaeeccb8669dad3151520ea605c0df4fbd6505e492c94d51f16308d30e85b7032cfb46103b8995d2cb7b59a751223fa912aebc9af7ea080fcefe0b4175fa643403ef4e32e5172e494fc062b427fd0c7c49e0f35b8506ab55d3e4476c793d0f58a60310eb2383ac38bfab7523b2cfefe0ed28cbc1a008391cbf5d91eb04f40557bd92038a6f8414ee1721c7a2474296f308807e1a2603bc89a572bb97957b377d9cabdf038c47e1531d6bcac156fade456dc031f0ca6bf09e9cc349eb9d0af8f6ee0b17da0358388645a1667736be1b76b3c7c0e206ba02d59fa5390cc6bfe67842884cce52039c3f6f39c5224e40d4bfb380fc277cfccbf723e12d5dd8321d16e47a4f1db3d303031dce887a6c7fccf7596019942a1d020860c2948caf59341a8df1f4c3122c7903150997041f82ccdbe40f66a4aefd463bb7ea695a62d9bed2ea88629e8c19bef7033358a9dcb0b07f0265d3498a346e6c809bf5f4fa7f4f5addb44b0ab1fd26e2e4037d64add335a4b9e7d95e3a1cc840116779308fb9dab1464a5be7faf9647706e6034c2d455c80afd3660d0bf3f6c0044a35f66558e929a72befe4d970dc8b77811b0313ba3a1a09c043b823d112e2fb05f666ab3bafc39b1e28c187018723cf956f4803b1f799a44bc898df51e90f8f10e9e62052e8ce859b2de1133c57b527bc8c288b03263801c9fbaa6d7036dc2bc62e64d25343ddd18f0acdc8150661ab92e21d6fd603f3b35f1f608e919c61cf911c56a40958d410bd3405c4092a043a24868f1cf609031948fd4f0bdf0c92df54c4f4594f8a96fb2414e50f0afca38c2df1f7ee58b78803640e6574f9f3b994f02724f44bda7b17a2e704b890ec3f33975c3accdc17a08a038556819fdb87d4313b9918da7e42da25a9ce4940ef74fa209c5597dce4ade965033e5dc7c9d4bf6eb4597cc688f3a34e5697fb2403bfaefce7004f88bf82d0188d036bc95c88476f7a96509497d1b2a4b3f8f59de24d3ad3491c7972b18f41b25251030f2bcbde186d237af9022e97acb44269f231cb0f1530a80b7d2854e9f206b0450374ade6fb930c88c6dc90fda579523d06d8aab69296ddab92c1a15e9df39e6f0103e98a078b3201843b74c13b5be9ab43d2173799d915fd27ced30fa81fb0ab3bbd00581e0280f6b3ff3d9dc6aad5807e73885baac43cb9cd68771895e92e01c98bf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029a9df876d0ed376d061d38d644bd771969b2e529fb88e98cc0511cca95410100581e02b4ccbd537aa33d19baf587041fb80e9595dc18dbcb68e9f6b08b3e2ea45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03db18eb237a5f2e17e3af5d2b4a304cca30a4b8cf5fe1ad09943548f4904902c8451cf7c3840bbc00581e030236d57e1821c5f95bec5c2bfbd42604ad0662b49f1c651cf098311c605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219014000581e0264cb28948d34ebf58757ccb7984cd7670b46661d558641bc509d0919f45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bb77a5602878135e83296b4d91eed2ea8de0801906107d14790888a2865820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b1cd746b0b81b389c9774002c8b5113ece9a2bb7747de794046f01ed8e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021984e5035d9bd2f6d34baf9dad832ac25470cb37ef71992f967fe1378d611e85c72fafa303d723a11284905a09c4a361b0ee144e0634e6016b843b7d6404a5985cfec19c6900581f03035c4616307d3b63b583725adebe9a623f81a68930cd071b467f08c6c5704101036970aa017dae99af071ce9b4a453dac333acacd2cb0d9292015fa6a9acdb5fb603efacdd70531e8da5f0607262028c75b377801ed28c724f42be4ee5026e61f81803a337b2338a51793457c5d7864b836925ecd5d5764724f7d9deb93b47407d764003d3ffe3b0b9fb16460606616d027a3573c912c878d5e7b1132ae115b28fda2a76038c7b1af44769cd29561bf93dce0750f7fc1dc8fc57b886c29dbb786284f15ca703f7cb19b7495a95eed72b996a87ea32989a95a73cfc4674650f766ef26c48835d036d74238bac07430bb291908d4f1f558cad2ad4748ee31a2ef1b67ddf6213125503f6f013df7b68b7417bed5d9ef68ea1cc272199e07ab9a39d7ef59b621e41b6cb038dd853814c9d7faaa88b5b80c2be6d07d7d089faf7b1cf68b9f0a417b66bf67f00581f03f8a52cec45f2d090485a10881e243adc49767111f4687ae6073b2aee67605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff0330626cf192fc3956024097995b93dd3d3c4ebb439e9ea26d6b807aa53aad39740364941085b0b84fa8b339462c93ea570be661f645f5ec8b24d3eee09a9b5550860219ffff039c7605b3dd62c8934ed88a958af6597a266590bd0617b9ce8c72be5f0961e5e803ca1c010ece49166701461842f284982f19cc5c5605dfb73a450fa5ba854f84180310116f7d96c568f62b4e03de2a9b990cbc556854cf0d873cd4f4e77a1eb956930347f9a3e90212d14b22aa1a328323ff6d9a64302f6727679fbdfd29f6bfab6ce70372a30772bea132469e3e9d0c6b5087f17064fad8238dad25f4bd979a5deff55a03ca4ddd456bfffba0c603f3e813de968b5646924a8f190bce7d39e72febcb8f830219ffff0379e4228b68335df2618ca9b3732b84650de44f0b7d07b813da2d1eafeebceaaf03694af080fa20d3c3fb5653dde730c703f55fba65c9f4e2582a243dde5fb1609603e711b72238b8904af07bb11a69e298232cf89be61d5bbb30eb207f5653baee69035fec9db81d9b85c68ada8e2f2c65a2c8c78cbcebd3a0704bdcd90a4c3d5d3ed003b0e36e08f5853f9255eec0c94b9fc0d2d62f29f7f982e007fd6870935d6390bd00581e0276033d9679b1c65da6ef59ace2deefa114ea77a0614fed6abb3404f31b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fb182c1c2150fc34993649776ef21cdec103b7001dbf15bfe71571ce35421a1a00581e026f156c754e52eb41a6aef3dd31b92aeaa288cdd4dd33aba6428d850b444903ba0b3095dc8098f30399a0cb8184bf5dbb53ab15876c45adbea4c489861f44512d8eaafaf41fb8a4a100581e0279d715a1a9c38afcb03695c5f70899cb0e63a3bc79e07d54ef97c9c9684701c6bf5263400000581e02bfa05e9ca64d8f4f62bb0161b8ca03d8f93906c3a1f70befebbbd6c2275820070eb03fe78402b898ab801bf59334955a4d8e5b4b91e12f9b2d17b20b0904e60219045d03f76247d17ea01fe6b02e0cb98f37c31d69e0434b925dd96a99e03e2e202c97c60310a71f85225ddf80631bc2103ea16e1ef101289c43d246e6c2836a1dcf5a7ab1035a533de3672c1800e970b446c8922169bfa1419b85dd745dd4998a3a45bc053d03d8cf3e4b4ea820a3b413480ea89cd666c0320822e6a53d742866016ed0fa12d3030f915eb82c5d4ccbb268b3b77006fd54a66f30c9bc415e895b765c71f4c07e54035a1163813f9700bcf6be914cbca22c357ce247cfd8b81df47e0500adb53e388e0332d5dc0a4aa8cb305f9aff2da7f6bc41fd01a923e976da89664cee04006b898f00581f039300da12811446591f48c2c4874099974c7d02047f4bfac749f89c2612c0471828906079000000581f03ad82526a890817d7aaac678fddbb3f6152f861f1cca42ed92b4a6ac0fed05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035853306157fb2ff0a3eb2d7dda237cfbadacada8b2a52b3c2e43a27338f6aa40037787ed194cd0b947dcb6cc5633db26ba8b7b2e45ceefbedbcb1a08b5575e02140320d368721fc71d99149e7c56743f8c097b349ae224ec15088e88faa9e1df9747014101032aab0289664e07ab47cb8f7eedd3e079a06cb5628a25ff41dc51565e362f64c000581f03c613adb7f3c00af0cd25e04f81a52f3ad65ccd91ffdba08f49b4f5243c405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0375a122ac9c2e891fc2b61ed6b2f4f3263d804644320f5318428505156f6977560219ffff03cfe96cf861d450a2908b289db6cfb4c2dae44ebf0acad4ccf86d004827967ec103438e1cc2b5aa4036a170419a61ac84488998f87d01d674a8fcaef0cf09415d1403c34adc61284b05443cf1d57d31e8933f6838761c6d5e91a18fbd75558c8e2217038e2a2ef8f7cb3e34e5caa4c031663000c7500d73935ba1d9c771e8d8476acce1035403b76b4a039a8eb473092aa1ed94c47ff833e6eda6d711c07e94679e90355e03b9ae47ae28a4c1a17c72d511318accf68c7f07fb53732d53c8fef814751c888e03dc3fb58a3eee6957922de567319b18fef03babef8a89bed27da0e20a93a68e8f0379a702dd3ae5e5b6454a202641453d98983ea9510aceb0c03d44b0ebd2973b4703650337e5da1920c8c382630bef55d50624e30c561d558147efc2d04d560092cf03d501e1dac0966c4fe085608a93bdddbcfa6fe2abf27c46bc295555c7626eac870339072b07a8517754994cfae3fc55a084a974e58ce60bfe62ea2a5e5cb43b702d03b99d2e7fb31c77d32152a8875c54a6cd1d7de68d8af9b56eedee900320f896d603b374565df7332a73a61ac5c33e4398fcd34fe1cc7d8517ef1861efa899bf33cc0340537d22d6df108d966a2804e28f3aeae93762045df3fb9c2268c0c2e92b276703f6d0cccc71118d6b53365d376f68a4dca14178d4e10ab16347b46944f263c69c0219ffff0350c6b40fe4a40008285e5c8fa4c48f1406cc3f64768cf44e2d067475a4ab383403e6395dd41f46af217dfede5834067b78cc47b2788da6b3aa86117efe86b570bc0342574b128922ce8096497d36ab4d812ba1a0770b38f15d636368f53b509a74810315b60efb6f9b77d97475ebbc8b34b8c21c8d64fcf57b2a98f46429bf3dc9886d039b4acdd6bfbd5610c1164a6ee37f065796df2f718b77dc2026a03a1802d6f3bb032096d218190d4290ca5aa9e0f443ead1bf7105acceb6b080b6cc92f1efe43ca103ccdb28b882e799b3cb155aef001cd751f84d712afbb03942a71d5aecd234ed6a03dead95131df755a5160f4119e10a3604865230c435f7fef26ab911fbbb0d7c0d03ae1f9d953034b8c78d5cbe702e9fe8279f363fb77a3dd3834ff187b6a30783ca0360d631ae2b31b60d80ce6b28c5bc3546de1b88d86c986037a3977f4bf3ac25680219ffff03a2ff9c144202b297cc84340ba6d7782908ca5add54352028efefab05605bfc5403b7da6d63d1594c8f35744ea9b9b7106bcf9af541ff7d743313b08da580ed9bc403fd7fd473c9c60421543698a9b3a58fdb3ae8eb2acb3770c7bef5558882d9b21d03d831131e4b0f6c9dff9bc9a474114c81a0c468a14377b807dd8988e9230258b303c3585f464560a43016892a3bda002f81a8ef6f058220934cb2515d75e4b674700314c34fef34c8b1d5e28f6eb5489d79ab6f2751a6bccb518ad38b31e2b5bf0dfa03488062b42f7c5f78fb3c283080f351c7c961fc775ff49ea4cf0369091d3a561d0396998ff164436b5b641e339f03d66722b802d90eb81c23f56018c0e2f9e7dba303bfeb670631c9b71ae87bba2bba4772a56326e2d6ff42383d2fc7104e01fad8fd03b9d0cf10c6086dc431df26124d5bf6149a81370d45afe253da51ee850364d05803e14e6cea8da3786eb43d3eb5cc27cd6c0a00200efd6388552f4042d01db0fd670368024d644fa093c06cffbf9f78f25cc3288a08eaea492f4ea2f13da674f7960d032d1f2c5e60fa3ac21a2f0b4abf62267432f3771f267e4baa11b76527cdb0f3080324e1844b130a3f26a927cf5ede9b10d1bc3e0e903ddadcb5889ef8a9b5a0f06603cd551628002d419d4c3b20043b2b6757a0667ab07ac73489e5e66bf32ca779d20360fea6c84acfdc4015ff6f0d756d36184699252190fc98b8564a9f002924385b0385baaf2481e7c38b54cc1a2882b35d20b37a11e9b073af3db8d3771812dc18ed034fd421c0e77a9519b9d82a4e1b099c16db1a7a5fa8479772b4fb32b090c9406603ee6c56d6c2e9b6aab062593ba56f494702e7d62f8aa5ee36ea32899a86cff95e032244e267c5235b9e56029b7b710ed038248df27d2663f3fbdf78b484c35e1adf031ee617fff229e1fe9127b4a88c3f9cdcef449310a046eed64e8626ad6b0f4eec03084a7b471c6d1ea0d1502ead97afb1218dd8acc248a8c53471ac7a7276365b4203236716d2aa08e75ab10654ef92d725b12f4d2fe0224dc70a106288361db2283100581e024a6c7fcfd0b5a4cf5d5c52bc7550a75add015b288ac1cd966c9c927a4448063eb89da4ed000000581e02a11c6c0e344dda9e45ce40b9ab4f38f9b4400cdf791dfe4910bf97008b482e767c42f402000000581e02e950489e929b36b5ac836110f2c2e793e755a4fd3df33bf8583d1b42465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219824003ecf6f041e8c9ce954f0d8596660737048c08da04c9095e823070aded9268322b00581f0339fcf98b2193ae5dc4fdb9a55abdec3a1dd7c2bb78cd69c55ce93d5047105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033958ea87ca6ba16e77e187ba33a04436ee9a52d2616f08a3f36fd7c2bdc7122a03c0b1074df0e4ef13470fa2f97ae4bbcd77ad50be626e0a13725f4069413e9220033c314d29089e76353b825df2727908ab3a0ca527303ffa8cfa4cde9204973a350321f6c5a230128779f76383c4fee92da6c3480a86da4b340a3c5d70584056e58c00581f03f0cf4ded7255e684654c5873d0c73ec206a64bd364714579a64eb0cb90304829a2241af62c000003fe7b10d81699aabc77cd56c63b4b161abf3ccd0623ec18b659bf7ac0776db3090389a237b073258da44c18af0db97064354e66335a3cddbf6d312d771bcaa1b41f03d9501e9e010fb3dcca8db7515417907b10387836bf733e5c500fbd3ac6117ae90219ffff036809dbb19e0fc9275269b102b503bedf2255f62547888a0e5aaf9c500526da8e0325f9600d8cd26dcee1ad72bd35dc776cf865da90af9b738618af9fcab680d4950219ffff0385b774e31646d7fb7871ee9c499c5be80a5044be893219abee5a7490bd96968b03384f682c0557990c01b7ea62ec6621be9c6833ede1b088008f17045d78c1bb5603729dbcb930bd2d5e48fff6aaef1f37abe6bd479fa74039289430c832cdba70bf03fae7f3a55ceb5255924835c2829839dee8499c98270cfee74ef61f68974f6498032e69e106b1ef2cdd47ee817cb0de91b609c0fdc9edba388340e1d75827bd71f303cb0e93b0165f666117977dcbf6354a00fa39de83c87864b633566fc4c128bada03d2fe6e73c6e8122d2856827750e89a7a78edcde6a0eaa6416e1a0e8322f4c3e003b307120c82b59a21239a9b899d62480d225cc24eadf915d1ce306e854f8806ff03c9b0deb33c97b29f20650e04e7bb4c0ea31736a2eff40d00a018b67623e48c71031bc689304d644d61e81ef4568ef8632a63a1df8b1b42d8b5cfc147e7ace077a6038167cd81b0b2c4c13ef7a04b041f44d8fe366884ecc201e3437893296eef11610219ffff03b61f3947a67c9d82f21939875dd35c178859c58dea5dd1ba596ee98ab2f499e60370559ea3ff9ff00c62081df43b92ea1e33b8206f9e3ac7b1939989205888b2cf03b00c128d888a4f6736390dca4cebd685eb603fdf3a5c78e7f3794cee533589d303a280e76f91158f38d7a57c25c7e2b38ec9641027c8c637869907e6b2272bf8420344d048cd8e080c1a9f9f19643fa2d5ed860e4a22c30f6bd17febb6ca961305cb03b07fd63653f0f8c5a5cbeac40699b763b82e3f62d58f7940f1fc4d424569dcf6039fd896bb32c73c643a2a0e0ca0428059ae93ee2f66a7235d0264801f4200229803a3cbc45dacc6c8f8bd5be12302c08851e610d9e77c36ddcab8bf83e9a392f9e60219ffff0371be5192a84b40949de6b2864f06b9ba7035a4d8b285bc0d82f261b68fe9e566031af1b38aecf9b41fa6cf42e7ec2876602c27d2209b6c32532d627c514c8a5baf03d9770679aba22d1438724e34934225e474e9b1a28be50d0518c747f57fe2c08e035b1ab1e516c4679f18172d834d108b326c8d78e38e61ee4b54afdd7e68b3960f03041f4abde14fda1a77549ab33a46139f4a5f6c40177172887dfbd561b5d6101d033f4ab5633571a4a08dca6b09481ee5f7daf4da5edb1fbe67ed91754b2da3e4d00317b16d74514e1a434d7b52e01a58432c068c5e4b948995bb162c9ec31ba5661603bf316b78f265ae85dfcc593c719a3463a359040d719f152627864874c0d042360323cb1616eb56356e672136508da31f3bec3aadb8ea3489ea9a11198e158340ad032bdafaacf9eea97632cc82e7980933cea79ff160eaa4d7361e8c531197c365e803600a02402a6a065b757020c117c5d480187cae33bfe20def4b00bf8e29c1d8d10301b1c1fe5e6a50803cbd5c71bfd08c059b2a79dc4472e306f5f0a7800b28e642035ad28d5ec5be55a2aa41a9e4afce308e9b93deca135a7223ae127804b03872fc0393c320ccc6a43c89acc8b3c00f8f08bdf219341044a7d8fb4eebefcadcf067d50324686334fd30581c563c2a4ac87f22a6ec839d6a286b66e35949b16d4854942f035c553a5031fde4eb4639f49beeddd45cfd5f0a9030c3aac67751156f74177c8703064a6a8d43cfd68e883e567c342324a6e8b09bacaf8394bd473e15bf38038596036fc7dd2215a4ce890171c5818eb96b7ba70e6cef3ed5a3fdb23bad683aa2cc3e03a0fb7f04c67e2552649a61bbbda267c2eb625163cfda54c99cf158a191466f5200581e0266b5d2291dcaca0d93e5833bf4cd1a19c71dcdf7498a40bdfc0143582a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bdf9039727d3172c6b8081a2407edb911337e0157bfbcb91bfbe514cc6a351fa00581e02257aee6cef7006b189ebcd9ea5d26c047ed7d2b96fc91667bfa4ef0a614904b8ff39fcfd51003100581e021245dac2f801d1ec54899b7b6e26c9d85ec312e36e96f0fd8ba6293de35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e44498a8d2c22e9df729e9b1e4d055a098cdd9b94db9500d6086f571df5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021928980338b5f50fa4a33c459445b4cdac2d77c2fef154281b4cdcc1595a862fd4173ac5038a81af75d21fd5989955bb5b16410cfd81be5c99611b23e3285f7b6f9deb57c603ab3d5816c48c858cccd14a8b270b9cc83a5f88b8a01388cfdf511e65ea655b06032db59df4b97026cc6e5a9ca8cb5089992bb0786f1344a17108db0e53bdf75535030937bfdfee5f7fdd94b42a0f4ea3f48141b4810fbdb56b869185e337a55f2b0f03c57d08883807446588f222730ccb37b49123ba07f349132131bf6ce5561a8c6503d5df966d51b303baf4143290eb6f7aa867d44b55a4f2142edb8245635d4c210303b0913d8e07adffbd603bef902ab0218c06bd10c21e7c4de02b62a65e1f5c7c54036f8468b19ea28675361b9631c3679e52c8f57afd0c20993909402b601dd1798700581f03588ae998c65f4b1ce78d98c22516bf40ea4930d9b0a8c8f9fbb9315e48205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f039dd2ce20a7ddae6a6306503ad2e22ee3a7db2012efa56de8e888051878805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0308fbb9bea3d4749aff01ade6037e4d1c63ebde40e8e908f6d89f08563f28ba3603f415f527f16ad414f72515eab102bb36726974d23da3e312a6690a499a1e45d60219ffff03e9124f9d7dcfd6b0b8ca0e46f7e67278a31df082c0a152bc29e62efca9942ebd0389f37fe5b410a0cd3c4335a67ce0f73d85a1c2edd538c103d3bb70e69ab8a32a03072316c9f2202369ee5d95889f4867cdca24635b50130ed794061ca543b3f40c03b66e00ac409ba2ddc706734fa127a64d3b53e57fe0f5156b57300235029f169a035d173a3639c8207eb3411fa8a501b87d733f56ed7b481cdcf8b39bcc3c63eed10393c3ed0e2e1db8553402d3202e03228a166a2e81598fb11fd7a9e50eaf8b5d360219ffff0307f3ba628c278d0e7a01617a85d110a71a475b5b2d0afac3281e0f170f81038d03de0112550ffa09aeb6ee7ad5acb580303d814fb92ac543d6251786d4bdd059f303f62abab8ad3b8e6b638074424a8dc2256c311816f0e8d62004580ff11c3ec95203b543f95eea16e85952ce489e415ede5e5868ee85184c2d791e3db5aa985ad4dd03a7a0c0f0a2981a3cbc34cbc025cf2f5e8e389d170b0d6aab77e173db0e310ff103187f4b8f4e2b7f51a1b36446ff85746da173fbf4dc4a8394b93ec09e03e312d0035c670500253e0f7c212d6b45a5170c17df9e30e191ce3cbb4256572d311706d903ef488f138d856b347f2b17378a8d78bc92fd0414d7ccb2474c69ee1d9042c8120219ffff030d05efc800279ebe885eff8dab14d63301ebca85e91b7842eb32e220f2e68e1b03a50f4116bb4007bfd113399b2be27b4dc9b6349dc399be1ac193837d23a9471203767936a15f33f54147f2f766da44d5dc763a79a1b839f130d47e1721a94436050368a096e948b8d3584b872619967bed8fbdbbd3706f6a610ed6807853d4b0a89c03ae2b1c64d9028f18832aacca3ab1c69872c8d9201a6acf7de7906a215b44a012037035425af70b3490b41d5f6b91077fbbc21012316556db4021064869c7b03d7003d7fadfc006d49e594626d502695c8db23f288a96bdae1be9f987e6bf8ee179590373a5891cb30ae33cd0c0a9131856c75d11d95f7f1888bbe698f490ebda90822d035fc4f06030708d694abc5cccf90a1910778269f72e2a5ebaad3bf13733b23b440365f74d99462c3702826a754af1a6b47be94682cbea350e6db0f2f7a036c5c22403c310da0f88a2be8932958014e740dea3e94190c6a58c95ad35483584af5267d003f7278dd791776cd33432c4de01858591d86a380a79138bfc4b24149f4b3188ee031ed9596d34e78eda51ec9b7639f12c549e5af46d7a8c50bd20ff2c6578cd198f03b981e693b1efde387b13e67fe14f96783af9dfddb5d85f36d608b119efc3610903b8e611c6b2acf4ecd6305cda3a5a8c4aeb968055fc13257cb281713871fa4e9d0324edd1a73e88146dc7ea60bf5be76f543fb02c9262cecd8fef65b1db25c341910361b32d62b61f5577855adeb341cbe1e3223396f1faf76a3006e2ae662615ada903a100b29cb151868793e7f736fefd455de6dd1ce07488b58893d3b7bf9d88545103c83f966745295d5126b64458c5d0f48848b57828f7ea12d7dc5156aaf6a7c6a503c6566f2f3f9d03784667412d59bddd91795ad61d85e104e2c52e9fefc2b427f60348b10f759b3b92941618ac155bade8ee083812f83d2e76834da927aa6d1c7d1103916d53239a8557f2e19f264810040f5caaead6be88567461fca82b5cd7a69b6b0314047b20238a6e38c7d897ef59cc7f1614627b05e367f1568bddae3804b55f4203679e1d76f492e4b4ccdc5f57d57730e62538df5fd9790e0f4610328286728f45033a1fd0debb6d963e90b27bc826ce9aff02b1a42b6005380683de5d2f0d1a3f2303d5c664beedee2c461bdd3823424487a1d470727d3ce00c425564a5d421b5c185031a2e181f991148a73783feb4db4f57ce3fe066d3fba207d877e4b8339cec66780369e33061f9caf6f52f0f06ab3908216f9f8cce7cae0a8eee26f6c8da69e8689003b9b74b484edde1551ec6523d3e56627220acf237b1c2d2c3b4c13e758ba7df2403600f16e2c7cc3316ff3af636d06bd889ccf7f249b695e628040bbb7b58851a6103a0d93881cbf3ec45697efba3e7d94269f607fe50117ac3f7c30f0666636ad5e703fc479d36efe5926c6ad4f3bb802d9f9f23cbf2891325d0258f2781be10c079de00581e026b25687f971eda5d276ddfc5ce26c694fa0e7251f553d60b11618a3211490780728a85bc216b6e00581e026a9098dd47d4113fc03868b22b83060f900986dd59fd486b9f5c844da34573ae1d77c903bd75d7c0215306374c811962aa1ef43da7f698f14bd4acee3a2478295f9946f300581e0289bab2a2d95dd61bbc2d3a821cbe68728a440ba3fbe4906ff0b184bbf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a9b422a5b2722dfbe4bd902e5b39d5d90c4ceef9cc93bd81a2e09dd1aa420daf00581e025dc831445152e1e484aa8f4c90a996a2fe4e5c687eb4f2f57cd39f4d145820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b90103ed669ab58c9845ada58dd703dfc08957ffc8e86b5fb58facec5b5245fa1d03dd01410c0219ffff0331bc3aca2bfb97c45e3f10ac7777054d6cf2ebccdea44b42065970d403c7f0a4037e5c2dd7cce1559f0d802afd29b0d3bd211f78cd840d7b2c14b0c6fbcdcb5fbd03f569eb28b1d227504d8355468d347c4ac23153cfdfe08b5462807edef06a097b03464396c1f54a800dee52dbbd315c4d47bf80e399e1c01224083a1cb84eeb542b036f830e67db5c10c4b77548e2fd8f7db62312552d6118e4d9c46c86020d6929b0036c8ee4de545e10e520555b3b0435821cdc367cf1a5c1dba06f1d68f5e5cbac9403ccbda3819dac7b28f2262ecd457daa35b8714da22dfead34883297bf18eb7afa03903516543d6de6e2884f12607e9209bab64595e883f6725e2d225208e89d989703e9156c197e48f3a332d358213ba7e133769d3f608e056af5d9667fc034d24f1a03f967aee417cba37fd31bf5683633308735a2d4c43e87a351f727fcca211e690003ecff86a40b633718bd5a17638a7438ef9f5f20a28c7659d477879f7fad900a3f03e475a642b767ba4b42897aa959a074ce2b52b4142cd53bd9658f20fd2b76633603f72a89198b962af6fc6dbc9b4f5df48cde14be3176d39923be3e11dc8da035ee0219ffff03e013129fdf342abc34e591fc36798d96bedac3ca1d00bf3ff46deff89b45a78c0344b1cb37ac8b2f79074b09b5d325d2cd7ed7d65bfa919f8645e6c229bc065dce034bb88d2830f8ea263ff885104b4445ffad0ce131fd065231465c0ea353f219980388ca7792d965cb478ab22b26d11613b2bb99bd43363108ee01e1af701f9f7d59031e18e9083e48581fdaeb2bb418f7d972bcda712c7d390e571c218ba42650ea940356fe3eb5ec02055c9761867beb317d20a1a508d5cddcac5c4a4a1dd1dbc0f6270364e1320312c42d5ced23e308c5bbbeb0b8523c7a205e10fa099569dcd454bb4f0330ef8dacea5b7f50db4bab7ec6c7db5a6cba910c023b76ec64ed41b3624ae8d8036fb3fde44814a0285292158b21e575f30a8d07631dc2314f2d24c3aacad1a6b40364bd51f2df869917595f8339f3b887d418f0b03cb6385c516d463cc3032214900356b9d90b1213e6bb6a4a4760f25e38cb495de4fc64f73ba06d0640e0d70aaf3b0219ffff037b21952d2d3a3c58c576c2468451378dacf1b380a4c9b0afea71142411578acd0219ffff036e9de64f1d3664bd4b629a904182cc40ce0eacbf4858364a987bde10695545bc033c94bf941351f2a1b506767f5cbc2563420397c2cfb75a7cc45687098024d6b90337aba3ee9f76340d9172a1a73bb388d1fd6cc81ee6db945e0bd6d04fb74ea55003fd97507fd06e9d0efb0ee9a66569f0c9bcee6a9be6899dcb35a528b9cf5709a20323d73acacc33c63bb8360123a65aaa7be76e7f45937b55a2ab0a8df7e8a3ad4303be0ecca8afbc08f7b10f63cc49dd43b3f47ff70b502ebfb3d2145010f1ab7b980318c3cac92ce27ceb28bf9e7679a1d344bdf7108b41539690f0e14c5ed1ff2c0103cc4191467610178a6dad905a08dbf1fce9d8e6da99542fc9bf9e2f12ccaa206c039d8742a3b42d4d003139342411a54121a06828ba652041ede442f9744aaee770036981e2a925d30173ad6b6c4685f7fc6f36739cc150e59d675939b374b8c860df0348d1c58d7df8ad9b69c2510a3a82771b086a04563a63e16200c5832ef6b9866503dcd2437f2570311fbbf0b9a2bd3adc8ccb57e3bd0e329100f4aa63b2a0516f4403532e5fedac2caf12c859ceb6bff44be9c7a77c8caf1c60a758cf80010a50aa7203a2e2d36f5926555373a5340a4f49e169b8830a16fe9c92f6b1725b15d0a0a02303e7fef93a652617b04a4843dccdbd847f39a38dc9f7f4768a9796ee76d4498eb103610976954de3d373ae90488d1e02341071805a58f2b116d914ae2ea2b0e9d53503e97c03fba5b505291f0dd0c443538538964af841e92adb4c1fa51c46f87bdd2d03e9f8aa3024260493b07251c6ab5132be50121b31fe59ee468da66c7c5ea42bea00581e02950a43487d9c2fa5cd9100912af2528388668b3bb1876ff44743bc78db5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c473bfc8f2afe59839bf559ad98977fa483fc1917b178d248ad10ef16a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02199000036dcbd4b1f99631efa6ab55d4c5b71a9aae6e865dc725f7b0f54e9cbda8b0e34e039d5f2e613837a297e39af5878565a74cda2d5af98e50298665696c2b2b8b35f70302d533b4b5b8ea248e023f4778c3f2588a516874ab90e6b2ea0842f492290689014301af3003204dba06f0b3b99ab6942f3a78c68fdd91598fb6e5b2715e40a0b7a94b4438e7039a09d8da5bf7cad15d73027d8f7f69bb49446917a3d5e7161eddd4f2b821c21d00581f039455ee84d3c250a2d74f764aa00a323ecf7db02269f73a93ebd9707542c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0311d2aa453cad692b032ffa77c96cffa4b6383e8bbb7e0db06534b468f2c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffd7030f54450b1957fffe81aa456cb937c941dd69b57a887dfe559c8d21dae2fb61f703b21af3ce86447a4c8df881091e3f85c0e95b0d1efa0855a189d3920ea0b13cd903f4d1c421b8864ad410e8facbd0a6bb6b7781a1466675b47ffbb2e7dc05efc02a03526fa3fccd823c7365dc6a179aeb0c5862bc088625f1594c9bfc618d1064e3cd03792e0edc85dd5a6e07d368119965e1eb60478170a980ad61606e50518a37f10503c4480be66f7636313851063604f0dd8cf7015b22dad3362cc994139006cf467503745c362c73700d25a356909d1b4ffed40ed95b3cd214012deed446b9bf5edaab03a1e7506a0bb75cd8d84b726da11a03c11727666ea3c10a71afa4905e932e5ef903014745d9c7d13b130d9a20b22acbd1628acd478f24f7d42362607e598bcc5c4303a7b79310f890f917a39b50ee2e758710f6e25707f445beaeb8b3577f4dbe229c037f416bc6ee0c41ff3b94c52e0be9be007109ae6e3d3c12aeabf0b4b60b8bae180365b774528d98d3fb0a0bd7a552562be92283235362311f1456c26ea0cbaea494032430cb44c4607db152ad72341991e65828e391f3b4d7e1fc04b4b100e99a3d8a0219ffff03405a7696b944c02fbab0289bb664297fea240cceaea78fb2eff76714a8ebca3d033bd3ba7564c5a40badd8afea70487352954a45e740d7dc47540d95404255659f03b2be9a38ffd581150e2a7bf6289e729fa41aa3bafa6258b90b7f8fd4810fccf8030bfa41ff65970a2d7d157790e4fe6fc1d92aa6a8357c989f37b52f314e7e0bdb03e67e875ad946c1860b14d4e643a87d78bcb438a8d437f1a7e7ba3533c8cd6ff103564d3f65359502b0d5b5382520ea55fa8b347be246196ef91c43c33f1b25e6af0219ffff03eed87ce8a626ee78d326a44fff25c5fac856a93c5fa1b731d8591d09ec8f3bfe03fab6b35842e3bfda4d37e057b9ba6b4031c722f44338b1793cac1d1b2d21e37003a0f9f3c365366a879797e7f1f4bc0ead53bd164963caba36ccc26c0cb5e374c203f0e36ca4ee30ee993bae0648b69f264f6494db68deab34a00a870d55237bb96f037bde5648c2dcef203ec98e66315ba34939742f7547c5bd0f29b054cb58162ca7034db3f3c5daee1a077577228ece4312902451b3c3b6dd278823cad69d870046ec03e97496f1e7d1ff7ca1dbf245aa149b526d80632e43c315a107ee3a7da23efa0403f445a33a6bc4f8a1599ba431d63bb6ca7b65d32dee6a12e6346f65fd9e2452620354fd30288eb8a0d6ac389796cb7f28acc0554c27d54f91e229fce56e43f40039039b117ce24d681628e89531ac46110a43597c937e3ef04cbfee82326449bb002e0372f7de82e929e700e61d6df71117a1d0250f69af7a3c236e631fc277caf486af032198fb4968be44e306d647af15162abcaa573d8f34c7086b13c6f52e112dcf8003d3548935e84708f4a48bfeab02b0f81a14121817233008364bef7417c9050e300346d8dac5356787f36175bab248603e8989db86422555c187ae84e623f7eeddc9035e132d8c6cbc50d3115e504f3f75ae8b3803882f365eb326335460822f30a45e035bf64a0944848c019d70abb44ee0a9828c3ac237c33e2fa5f5b724b3ad7eb5f203f9d5105ed2b1aed44fb323df4aca1b685be09e18288c1a5000f0eb29dc7ea9a5034218e20510cfa849693ef360b0cc5fb2f6aa9bc8a7c4f7172abf095672b1b2c203492cd5287db2322e1c1d19ea28aed7428f4ff64bc4f0b2875b49b0adf1daef8103b6c014531f5be5876a735315a3dec3bba75829c8f24cb8841aabe7339ac12d0c037bb7a4409174288d82d029e6e0ff30c4b3626bfa0528eb3a158dfb2fb0e8fc46036281e2c45fb2111a9395535fe53442c4b4965345523d748e2cc325edca5c097d036bde1be6569dd4f2442be48c2de0f130ffcd3dc7b9c18ad2884023f1d6ee53a30311e9c265d4a58f014861ec71d1efbb577f3d638edf2610f407ace6dde28be48d03ad8c43623f9f29a5a218330137f38f26b546fa244aa5fb85880eeced49661e820331093f3be7050caee82592a5e72ae9da89e1d9057a0f9cbb14b62ca380879abd03edd8cda12e9a3faa1c296ed6d79d9c556976faf9a7ad78cd0cd931723de0236f03840d6e9db3da9814e7a47637a4622063ff4d16dbceb548d73b4baa6971311c47035a491d061f66924a4ffbea6a4d482dec54f88cebc459cc93c8f0b2e101c4d46f0325d8c13456060fc94fbf61b0d1bbd70af8fadd0ae589f22eb6492dbdabc09f4903eeec1bd9da44c54284a5130da42777e34f9952e672f88f536349521423f6b58d038d2406bc93bb85d943fdfff8b9dda464ad94673a2e4e870335c8f157e9abc25b03027cd11ea7208c88c3b548571cd7ff3583ba2781fb146af4933a06353c082a5603f234349e0f02ab095a4553dfdbb9f96d65718f0df693771866755fe9c90667df03a2d3e4615405ef04562dfee30e3384a413843f0536750a1b1addebe0ccbc0626014102035c18a809f93dcd61f82f215772032628b7f7f21ea05f55039a1e3a4645c1782003d75bb40b41f9113181b2c88151f1aba81f0509334eb369eb9e8cdbedaa1bb6e200581e02cea2623deac10420b5730fc055fb2ba4104d17f0432b67b802f79abb4b490435bb58a42e89cf3a00581e0241064bffef029a077ad5ff73497234ea8f6c2e846620b921d57d316d59481854f4919d6f57ea00581e022d53d28164ac3e21c86aa08cd35f3b3ed782876a927c86fbfdd3c34c45410800581e02a090ca1fa6c4edc86f6837e42b091ba005feae9d9cffbccff2519680575820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021922050398bca0229c9669238fee7da03ebccfc219ea991a33497ab69c0d511be66df29b0219ffff03ff8f64de1f175a51940ebcba2cdccdfc29cb8b9e0a984c036901b6b49b63eb0903ce4b0c74f00060c68c82a57c6ba5d673c2a67ddc04ca2bca0f427956b43005260219ffff03d85add7d8d551fc88c25ead37cb322e75004d20b2dcdb23f9c34897e7ca6b9b00305b743b0b0e809861b21009435e26a42bc4428fa6a69851f675213b3c59093c803d3025f643c014e7bfe764d77104d45e13ed8a82b25ceb1a7b13396a1864efdf303a03cd3c0b67dfde8e13ed9de109321f1c14e9a28855e2169c318afb18cde8cf0039fa36507f3b920e5db0686872c459933e43da6fa56cd8460020e8651d0471001031e65f882495c5ea2a6288af5e8ea61477e2fbd9819a3ebd894a31e3cd1ff9a4303d1b1d0db0f64a867766dd55e7f6b94854af8f69f1eb540b97a3c4a4cc7f1c0db032039ae06ba0ae565537733d9d9196237995e2f958d3ab6380dbb5c66f0f5374e03f8af200057394c12f750c4ac90ec269f04d027d7da578a3228d7e55f25dd35f203bcd9bd0cf719bfcea202ab00e5e5e8042b40fd23e8e6b7be5263f29625458e850219ffff030becc25fa8d2f50ae9617e202787afe26970d542849524bb1ba5302c366246c2039e96a9780183e2103b892cd2a56b5cbdcb3ac4c0e6c07455250db50ee273d26c032809d2c4b69d07e664fd9533274633e24096051e455044dd2da6bada465f005c03c7abf3b066d462ffc733f20f5545bc82000da92fb7c16393700131ad498877830394ec9006c5be45d729370855f01d314a8e9a6071bc730e74e4d4270a2d37b61e03c98cc053d95d700d1307ef423269f86e7c12a0382edd4eb7c3ca743b13c66eda03ad65a3bfa3bd8f6cbf2f4d794844b69fd823d109076b8e095cbfdb33c6b9b67d0308802ce2b2c63e1c37181ea4c488a6ae4f78660afd110424eb41d6ae91bdacae03596beca4c1af8939f589c4160f1ba5c249cb09b1726e70831bbe63ed7083fd2803046b207d47386a6cf369051aef470a921f5a5e89c3aac1922f83713897059228030f0ad74460b3157cc7dd8091929f113b0d29c27b60658d463bf0f238bb67f29b03e5204cb3f29dac8cc57298d166677d63d01341801258bd82a709d537106a449b03049bc1b87a3d007f6b6e5306feaa964351d3dd954d010aacb6ac558b9e43b72c03c41120d041cf8159fc05dae457e0db8f1549d75d21af0ee7347c00a5f4fb0a0303e5255c940e4b39ff3e1c1fadecd14155f399c8dbf6d3181c9f2c75ece3a902d703c2a6eea5519f036638b547653fabd9cf52e4a98ae041ddcb2271a3695381fc24032371a14683aa2ff62e9ea703a53d558b588523c284231b82417bb550c1ad1aa60373be2ba7f5ae2b11e273614faedc4b8e6b9b540db057ff33d3bec90b0fc4f30d00581f03d9534a97309161c35a7d34de3403bf7a8acbe70f253822b7f9995ca395305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d12e23bbb5e87c7ac392247215c954329e053c33725a6c2bc9ebe22ded95106e0364900b476f862da9c6dd6d47c861acb821a0a8ad673637a0f63507f8898e2a6200581e025aab50e2d80ec1038d5a1283282d924a19159afde44a20395aa7e8c5c8410103e0a53fdfdf8de51cb5853127a716ef7c92308b562eca09409ee3a5df02008ea600581e02df329e735ee48fd44b38cd0cee656c45f7a3e85e2de99fcaaa523fc7e45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219090200581f0353a9034ddc1266e7bbb51c81a983cf509282115b65694a4401800cf76b005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c4b1be4186d24bf593869ca7e7d46ed7745d83be4a4337e2fb49c1f1c5b8c1b800581f03f9537e1c10192a894bbc73aad25204ae3413b4c37c320dc92bef03f6c01048016345785d8a000003860d80780740f8e848d72def251f2918a6eda7c54f2fdda4503658416eb5773b03053cf917d47d6b4a5913c52408c28ec59df106049e18a83240517eb265b9785403fc9631b441a62e0050a714c3fd05f35fbc8ce8c0e8bf8399b4022d0addbbdceb035adca5bc6cfeb83fa9cf6e0fe19611f87e7c9b26fd09c01731809294f3ee011a039881c7ad624287de3fc0a7b65f15b091612a4537c2c5727e4500c183ca2df7fa039d8a00d8e676cd0ace065760eed66f9820cfb18fcaafa080203edc1a25decd6d03b506517dea7fa5715c22b64c654a6e0b50017203994d74597a8b9179912bc9480219efbf0386e98cb30bb05291a976e4d80b96b67c5dd797698d21e93bc9ac34b35d372a0f03ae2e50f7bd133f2a17d76d07cb0e279bb4fc38dcc193a6684529f964d38a4ccd03533663eb8fdcbb996727b6d5db84dff5a410e7b386937bb05b81fd96aaef6dd10219ffff03692fb3ca14ed17b5c0eaf62cd41d31d197815bbfc965881bfb519451a0d607eb0309898342425037cfd6d3d794eec3ccd1b1888870081e55f2abc0e4769720b79a03bc17e3793e33f0d5d82091a14c97a1b332cac5fbe6af8d662b07e5e2c3fd5f51030a14a86997031e7db2b0df3769d5869bcd15e179e0618117e370c9859e9e23bb039e4851972cecf5b834279560483e90e07924bd1077c53c2160ce6cc007263dea03583296ad84c1bcd08b3964ec17bbfd1d9bed98aed5fefd8d0e4ba026657192a703dad5d5a8caa0277cb4e8e8b83d4d3932679e10de006bc7ee025f526d4214d12903800d3962d6bb2a5699dd51a21240a2f10b614b38fba9dd81be16c4d7fbb985cc03d80d6e33543f386d81db77cfd3f663df51dcdfcbfb2fd3270e48e4eeda4e73dd03ce9dcafff67bec401c6fdb653f525ef5cfd9971dc472e0c16ee03046eaf262830219ffff03f36830502a431707d6ac0adeff5f5df2bb816ba59b81a2bee788c01326d20741036a2e9b507a1137b9b0d71a0e48d56a5dc0174c3466bc9848b705ca6c73f0a53003ef92f69b681211b603593bda6ecdbd30d03ccd0f7a215ab91440305d034a40080371dec8fc2f3e1b1744016407b069896563f25d7bd4f29d2a784d023e94ee20e303b99e2bee6e480d6bf4b1cd0d521b0e75027c9d409886a7a368d128c6281e1d0003c46f4f384c466931cb5aa8269dbea331bcb89e47f3c83cfaaecf561b164eea9f00581e02375b877f5f39d051d2e02777048d7f4eb7cde04a43ac5bd6a59881ce385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0262a80e4a8715138f246b3f0272b9adf29b7c68dafa343fa747473fb726452cbda7a8b600581e02e24b9c9c2630f1a704a3ae30a87061bf0d1dd127c2167c2166cb98d09b462f0fe15232ec00581e02553cb9c6b7246a67bbc213cb3124053896762505bc92b15c5f03937baf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0243d5af192aa43ff8fd0a76898df206f6428aebe3b918f12e67dd208996490e499e580b4d7f83c400581e02d24ddd0beca5d8a4093d43dbd4d425e52b752259421cd9be47a10a067e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021960a900581f036678077db12fa0ba6045b5e073bfb87adb930cfd5a379f3a7650f61be4a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035a7135fad31fe8adc79b9767d5c27ce3f02f127205b3b9c313ed52e5454da7e303a88f4c04bb0e2bc7b9f87ef5525cfbec4eed5a26c7fe06015f336eb7f87abba803142efb6b7d504af7184debfd5ef0c240b6e74b3ad802aab65f80eaadf1c90b5103fdd1ca9bf5fbb81cda0b79a4e05b5f1a8883c2c6a4c875f15d22fa38625638ec03c110d638c2d1c32f15cb4384dfa2aa1f6115767a3ad627fdd4b54871fc746c8103cff7beaeebbd5e238ae16dc95ba1198fd2327901341d17d17bb5cfffb50fd8320348caec0b5f656e89bf2da331176ff4abe065e76faf108c254b7c7beaa95580ee039180820bd6a3a3df68fcab82f930b8f39dd1f30d80b1d355ec097cb2c1e1296b03df978b866e793163c316d734ef803d3a41760208a66e899859513d0557da84a003b3b16060ba4877fe0968936369b8bac7214e9404ed35c9d2e31067b1925761f90357fea15cd35e5ae03e23c1a8182332b111c7db9ec9a850bfde937a817e4dfb6903a278ab647036e6255a7de822db4a5ba4d4c60ae488e57c073cdd5947f8e09c5c0219ffff035080c20b0581913850ebf3ad7c121bf9eab11f12a6153a9cfe52614e504a9630035a27980ca309d7ad3a2f6286ff45f43508e50330ed82512b9b42a7b07dcc3496033eab27ea79c4ef0e6904b16dc469429d2f10cc288c54d9012bcb3311b844f64503ddbfb4e0cc560efa1fcdc571af9eb8e3caeab755f216b0fbe380e842d36a80ee03c507f569656f6a0c510524e465d772786cf3215f3d0a4bc1ca83572ed032eec303c2e4d6d6bd062a58a801ca9390008431c733bc3f7431b5ea689f35d4fdbf5bb103c8081ab10c4a4612822db6b0226898aae6925a6da597803d2959a991fff0d0fc030fc517833c83800cb0a4f5c1587e5de769b5648172ec50e7cc6e6b7222a4b4ca03c1c790dc17466c672f6c74d310bb55ee7937c1551e99b586a75d94efa0ea776b0331bc253d17d21229d0ddd9f812246cf9e2576ccc1ef82e7200505b9d8fd088f003a4484f635f390f1184cfdef651a1a626de3a42995f527ad0fbc783ce262daec703aa93dc6c2c9b51d0ec7e9f015bd77c90b9d93316fcbbae48dbf0718ee3302b2f03d46371f55ab5f20382ab9a6902f60979450bab1b8ebcb776291eb5c9d773db00035cc120d4aaf4d9c947e4365d88e1ae3a3f1a533c39ad0887b005109976af07d20219ffff030dcac1342038da4c574d735443b2091bb1a994d417a43389ef6a522c7d34750203cfa8294e3d1fd3fdcaf3acff141c8d5d806f9621292e96d7719ba82618b8ba45038588cb930f200453b001ff7d6a62fef1c6983889f115ce9942c5249df1970d5d03b9ff9f9dea5c4d186a0eda8661aa8f112dbd59be56ccf3f90faa0cee32a79a32031a50934a35c5f7fd7abe1663c58dd21f49704e2718eb0bb9d60f758fbaf1e62903c68680040517d07e586fcb80606f9d0528abb48a97745ae9d37bb312a091887e0394bfa3ac0a83ccd69f715d418fb9b82124044fac4e52ff45a16edd8205b3ec5700581e02d66a4a0f0d8651d31380c894efb1161e34d1f59809adf72305963ecf405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d66853ebbacca749a50ff8c7bd0c34bb5ef5e1fad7991de50b7208a0f0472386f26fc1000000581e0208eea9a8cf4e86edb8b0c0aa62d6a04742117c85f063c27a25ca7081ae491907a9e5c2eebbbcc400581e02171b1c4df6631aa98cbdbc767ced4083fba45e421218f67a1c507c2c85476a94d74f43000000581e02b47491fb5cc06bb18bd60499b77815985231d5cc5d97fb19072a7c80005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02eee322bde390abc4f621f15d76463ad8d2f8903fba6611a332dc890d025820800000000000000000000000000000000000000000000000000000000000000000581e02c92c7d837edab9b7a7a64fde888abeb5706c5c45399f7958442500b095462d79883d200000581e020a75b4c2db87b1ffc87219177acb312c5e70df13de9d50d80fa1d4f13f464d6800ba601f00581e0245716733dd04168af3cdb05aa18265347c9a660eb49b5ca4aeb19a53885820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f76cc741866cfa1cdcc55e3374c29d8125fb67827db78a5de91f9bc85f47271471148780000219ec9b031b2881f21983792bf1fdcc8761e83ab0b175ec20e433277b717accc9af69b60203651b8dc0b2d626bff43b13d5d995baa8fcdc35068dbd810c83d08d5ec0c429f0035fdcfe47ab778a9e1720c9cec30b1bd8cb750963d13130c09f8896c777ddc64c00581f0312f7e71a3da1770cb0880c71f6e68925ade03d915869548b7236ca18ad505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03a2c029078019576710c7173afa45ae06aceddf21de72358b5cfede5ecc205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0358fc413667c1570aa5c875fb9bf0655e708e984b69518a896801e42988e8555903397a3cbe81caa20c77145bb6209d382fe534bba86fecd52af591eb728684f0c80377d5ffa4ed1e450d9766cff057c3bf89f6365ed6d903929b7aba6bf217417741037ae9e93aa85a8bfadff9d6fa0723114c18a6e464b6d5fbe85d96409b86d1d509033e8aaec390d6113932d685a5c8d683be79bee2dbf7c45e71af53f2355575b14403aca74f519410ebabb4e204fcd93f0f6669a29f3db69acafbaf56f4cd369389a403d73a14c2f31d017e6a9118f3ddb3ee3e9038736a1e7a39f8df2e1f2e7ed0fa560362861b5c3732b12cd06797fa73d3ff7081c11ffbf27e86b0ab32c0afd7b113c7037c7c2ae6a9e28d31e0f002d116344b061adefcaa2a4b97ca7ca9fca150035db803f7fd80594301c12f1a6c7bcc3a94af33e86993b6cdd4c5de796b7f88f74faf1d0219ffff032f885a5cb6c6849972e77e82f86e427eebd3d7f9a48062099483706fa649d062039d618bdf1c7b89736fd2f376ff554a34e8cd0a46f09d1fc4af5307994dadfa2e037a774e2829ad4cd011d95ba26790f91356c06d56ca8656bf4e5a06a9aa41710403e86b7ea36d6cfd16ad9c9be6552d206a465c1f03ff6b55b23bd948e0df8f08a503e230504ffeaae4278aa25eeffcfc75db1d72fac82c7e23adb15a443221179ccc03de9c4b3dfcce3b71532bc114ff855e6d0cc296cc4e7073e375618184aed8d704036c8a19899cd56b68f81bf7d5244dbb767867bc1822511a719d1b5c10c50d741a031546fe38e3b1f67c94d4126a9d4bd625bbdee9a16737348022d92fc5fde617ec0364319136441a2760fa80bce3c3038a8c167be6d7c301e9e77673cc4d6b36318e0322605b2dbdb41662fa39e809979bb4213755dabe027b969b8eb60ab1269060a7038a97d4b9e381c3fc06f16b03a49bda98658ce037f7f3380da4d7905f26eae60203dd8e907dd94a9928667a67ca6dfc6d377968e7aa241f5e1166cea3b9efa82b810370c54b09ab3babab0f7ab73e80345b0ac7ea53cb7cb9acab7b6fa48b7f77765d0219ffff03586c03ed622ad7b6782412ac9f045d724146a743978b09b4f8f07b89f9074e0303f7815132a39ef6efe7a5db75ef3408a48c6b40b39c415515b30985cbef93964203d71be7355955dcb21d5e15531062eeaf97c0b6df3947c148f4dd8b70be44a62f03239a743a29de5f8e133edfe447b09c8512efcf9aafaf6370c4aedc1d906b5e180332e7dbbb6d7090c6d8425c55c483c362b3e1b853c5ebb00dbf4b837936cc990f030a5e6360f2e199f63808bdbb6bfc832050e9efa2dd6c50987619e4a0416181370305e70e771d2bbd3b03f955029547acef6ad020cb4f2962ac1d28e54b967fa210033044f545511f45b823e9794d4d8dbb8ec249a42a32c5dce13b6f5566254599a10219ffff03aa9ed6060e99b2abf584a69d4d676ed370cfe24bc00f4969cffbb41e450bdc0f032bfe69cfe868b9ae486f5f74b5f1ef198cf85d0242d2e369b15da1324fff8dda03cfdc47b8bd3cf43eab192f364a5ebb5fd13354034bd8c47ebfa1d1d34b3c4f710219ffff0313bde381003c847c59fcdbd3e87dba8b7efcf6f9dd93e04724bd76802ca745c603c0690346ca6bbb681cc6dedfc54b4ba0fe9592362dda42f4ad6d7409e3f35bd703067c79b3802b6b3076f921a69b3e27da125f5a65a6328f071222dd0d752f40920397e1c57e7787c46ff9604625b2ee9380f4039d1d880c284f1fb012786e3ed98c038add229be95720d50f326030eebc21ea345748a1f1c4bda4cdd31f075d3a3235033c9ce9384b1306ecaf25eafd1ac442076e44ee9e517bb0309557f1dbbaebcdcd0328576b853caa8d80ad09ac66033fe649e788922bd67870e5c49856ae67cd670103be283e00c7caa1f82730b0070de1083e6ca361686f388a511c46ec92c82db6ee03882e13065f7023fb86efb4a9ffcdeefa2c9f6cb66542674bc89f65985fbe677b033cac0f0b8c7c86a1a42c1b327662ac2c5e5f01a7204e9ca4969dc696f9f11fc50365a4769fbd7f3192c030d4a6ac03e5f9bc995be9d10aa853dc15cf4088572e1303a950600fa3542436ea9facdf8ae0ed8ed617c4461ebe477f0c9d7224a64225a4039c982dbc888ecbb7e4fc66c21b694567c7652c7755aae824934ffa0fda7eaf23034771fb525b76055b3092296bc79792f2fe1e356bf1533119bcaac621b70433dc03e0fdf655385b79ef1c5193f47559bbb6909a195198aa7efbd9656cfc5ab4eb47035d55942d70eb5fbf5c6106b01776c4bcf6bfaa95b22848a6afd7212a093d799e030388eb7ef0e0ba9eb040fc4b0f2c8b7edcc158e11f50763d0834163e6869db4203db57d2f72b2816e86382f06893e771f9e14fe08def27bfbc7e4a52b3926f479c035a68e1fc95adb0b39b3bb50e4f8b61b5ca16803c9e13362ef893552edb467974036067f2111eb69d994ce340fb80bc1b6788958ec1d09a8a85fac348ae4334ca2803cd194a94125b0ff5af260def35410c2434a143f7f3c476f88cf1747a180156f103d6bd29561501a407ea6d28c392eba0bc421a8d597d93895a7f6068f261af0b28031125353cb89bfad7636ee81948267463760e4aac5252b98ae87840371cc8898d0338c2dbb1d90f829c26bb950f54431ec0466909bc44bc2ee1b8b66ebfdb88b18c00581f03a7f1a7572e54818386123b6226f284a26cd92cc9c8486890d85ed5c09e805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038a8fbc69f7d3db36d058e8f9c9671845248169245a7b9a3faeb6dce1102f82f400581e023884f33faf0e7baa53305c03e67065204f6e2358c34b37c0c24db69c164601d492b78c8c038583cd9995d84c587c912e1cfd871ef0c8dd6e06554b760462401a07633a7e1f00581e028423951c558c93cdb0968f49311a6f49c15626a82c1ee8bff5369dfeb94816229d3f0c874c2d021920500302e08671e72cb25655ecf791edaf836c0ce05d890efb1e79508019ffa8225128037c9984893a30b61fbfa1df0679b06129b632971852e36f9b849c44c2daf97a0703937eab1a377234c38569c9ec7efe9d03905db23b317ae1b96fc2b02cc32aaecc033d3ab8e5ee710b96f7a94d425b0941fe6bb1b0738d70b2511572f574c900d96e03fdf216a93982fbe968d657a831e8dcd43b3c20a9ca46d5066964152f364c0ed303f0f54c762a2c1d47e30f5a23777c7b85afede1c0e5b80df6040b0bdf7c38f87d0219ffff035194f727a1ee2f64df82f3e487efa58a6175245a100d66a502640be088239ef103fa1bad1177497eed42e6338b8bd143ca2039603dfa83a2720d5ecf51b9a962ff0305b571e5eeca00394453740690720bb080c7d32fe51669ba90c1c7e6219a7158037d31a2d3c677fee91f9a8a83ba837788800bda87831b9f4a629285d8ea13128e03aeaf0f0a6db056ede1ad3afd59873b662aad8d0e8e48f09e8809cb28f7634b40036225a6a5ffb08d20f97670338c527efcce8227c06ff316b3ed46bb85e689c1c503ece5dd082b9491f0fbf0e25fff50e8145b0a5b8cc97d7854b4725294688446530300d3f3ddb277693799c3592eadd13fcdff0f5ef6b15a25669ac828db266281eb034843f66a369297bb27155e74df28fe85f0e4ce9b93a3d8fff62792c0e12e54560219ffff03d07fcf3bacd59c863cfbb702ea81018d9bcf004d96ca1ab5947050bd1c7e90a903e7f0e00546272e97c0da5d5ff03fa3bd88fe94cf64dfee8f3128057061b22c190328bdaf8e6843724b16df7d5b7738495c3809ee94a3ba840de11c84d7950c5d16039e4751a7e41ea3517aa2a4267feee99fa5e087e7511dc52635fa740de647fa1603976f3ec291fcc1017fc24cf6ebc3d52a8e3ffc1b27a961a66d3d0f6e91044bb8037e2518f079531e9fcb4201669e478feaddd814e5bdb9050a28709453c26480b703e65b831e8bd79dff46d344470637102d01d36349c35ddefe381c46e18ac73038037fe384cd49b22b93497bd157c56bf77c1fb6ea64afff3acbdba2d7b49133097403e200ac3cd222907b754f3cb82065e8ebcf584db1d5c334c162e31edb98fdd88b03d7dcba86d917ad9c19606e84e296617ad44274b7777fc59c89b4aa211aeb2f4e03bf8cb5d5746fa849f795a2930b3f2a493a2aba33c6a1d52bba325f08d61d5d400219ffff03216148c1d6c8530dfcc1aec9a9648ad6eeea595dec022ce1e558046a9224c01b03e6d2a3cf8466027d8ce6c3fd8b8137fcb5d3dc34221837a3c0052493d6d6aea003bc60844ba0c0f950e431ba1ae8f48914bd3615b148b2be4f0b205c62218dd5e603a0ad1e2e5f67d5d490f8de1a408c30dca01085e318971df5c131e63df2a836e403cb985a6e5f969d91cd70fd13601a14e12389fd9838cc92d23bc36973e136359003b24bba13c7f0dd576eebbd075439e3c822e4f06a125e1d43b71197e098555374032daa3bb00175af3b8e2990396fff10297352bd5469719dc25d3919f285399978030b91957a4270f52c4bef2a9148d90d5d7ac07d2edf289a0bb1187768c942a92e0384c1c153254938bcf5833e3266c69d11863f01beebc2172ef140895ab5e8137f036c73c87058593f7a4c5f34ed7a844533bf2ae21f0dcc75be2305cb26502e27d803a7116b013767ee61d04cfc7ee0ef0fa6eb0c6e0b7d9b21b78302c7452509581003a0555fa89a6ac0d1f753c5bc430ca1bd74595c40928b8eb150567bdc1a85892403a2f2c2f85b117e77fbfee593bc7f1a87d965760ab4ceb77e2bdc085c22b2c46403e87a120a0a27451b6271d538a807bb0085c31bfcf491f46298bf79e07f1561b1039504a9cb5fc23525872531ecc2f65ab0bb5b29115c62bc024a8912f1fba1cc4c03202d28845054f6fe6a50978ee6537cc8f29ea9d08a2b9d1c560a3a044f9e8be603ab12089e9f6f349abbebe4f7498455ee8410c5cf24aa2586edea6446e9593ab3036d7c1259ed661bf224d1f6954d7a13a9112f7eac5ea9541142fc8327142c1185034302512bd497d6c6691c4c6d78fdf99b51252c4cf34b284987001796c063680d00581f031843a5260f50654be60454888c12e1df9a8f5beca305d3643235bb2410105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0314ac2a4037bb9c454b5ff1d341e61930d98f8bbf8d3879fb16bd9c75c9b180540391d0c3f554b53449edcce8701fb7941e35a59dc2ec26b8d30a92a204b5e6f6df03d3da91b634b1a7274b216a230bbcba5e24d92dcb0acdd9600e61d9d3e6a0e6ce034453e289c78c92dd80619ded94bf85359c38c30b8ccfbad693f38d7b6762751003a648a3a6eb8bd75eb1e2494b42f22a94eca6d6f608b5b7aa2ee9b5c0e9ca547d030feb2f389db71094872ccb0acb1ccff2f1aec23fe78ff388eccfd0000edba3ac0306c41f230bca0bff2ef0f2eee1e9f31dc74fdb942d2744b67227fac91ceee0ba03d05faf394c9234ac4e98e507310fdbd59c2580cd987c354cc84105e56caeaea5038101d8390f58e6e7da14d23c8005b95989c7ebde1a3c6982158464c2aaae60a5032e72b7f4dce792eaeeab1c5033624a348c0511b1cc58e47802ebc95995d428db038c233253a52c8d290c1cc6d7784cbcb618436a5b351f4d65c5ec53e05c7b2abb00581e02e45fa4a838b134c920a70c634c9ca44bca01a924b0040860770d1aed8947726d75c93f880000581e02920e6cbb93e03175c156b6576e7c589a7b95ec4418551adbe64a3944845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218280393d772a69697218f224549a9e49fe5d9bc8b9c7fd49e7ea79f9713960c9076380219fdff03125272869e4a25821c1cfbea8c449006295201c8a3b3dc92aa3406d39104c8a90349d115a4a345f8a268d6aee0628a37f606c4cd02adc99bee0d669911de16ff68031cac3ecf09fdfd75a2d143901f6954071b1174b117f8f904143cf0421911a13b0398a46da7dd993981a9a8dcaf22ade3299be2a26ef780714b027d49f654e022850219ffff038f29dc56cf16c0271f9cf207141f0c4d1dd90280b5a54d4e17b57a50b2648b1203132b10049085bc9411c024dcf21327de2162f0af350e374686035cd48fd66e540315d16c487ef535d0f173a49c98dee30280d70f178dcab63c169934921b6a88fb03bfc9f392d2655cc2f75b619b4587bea110d9283bd32c67f11d90cc4897a1b57f03ccab9c6c1f535a5c35a33a1cf64e366963750b0fca755702b3b5c1417dbb2dfa03cbb86d45dd9af8dbb00aceafcc979fc30e5aa0cd791c9d803edf2c899c3ffbae031285699058db64b8b3582b409e3336dbbfdc4d9c652586f8071df03934d17e790338377a242ee3aeb825a7189846b237f286d5100027b983108b234ee99a61b5140219ffff03148ce59153c3b6d3a51adff6fed05e04856b41a1b213cf618eb02a0464013c6003d62956a2f643f5da2998164be4f25ad8a9bbc1d54edfc2cccf9fa3de4c11534703efecedb6bf782967ef591da2a982fa98a12382238fff9c5633b753e29b55a3ab03b09d7d2ed0b0334a7752b7990568d0ef283c8ec7b505cd07b7a50a8f549de6eb03a74d7f55e005c91da0a477f4d11d8309cd561520e9766a3f2b8dcae971cd372503354d203e5ea5d2d914a1c149ba3e93aac6fd270ca0063217b5d1428df0dc7f5103ec922eb0dd7dddd163f9662050404d3f517b59359c4e488a1ade52b41beb8b290219ffff03dc474335b095a23f1ea9d960574dcf2d077207c6c2317088efa8a11b4a7c4fa303e8a44ae82a8257ddf5b6e951b7af578915600177ce9ad4f9db26693fc88d11c103874227e1bfc44f0e3cdf87ee4b5a591a165d238bafbdb65ca86189802a1e96a703f25e17aacc1a45096a5f254e020e54b3a56564ea9cf5d6696b27bfc6ca80d16d03613dd8d78c14d19779aa4ff95a71efa2880a29ea7b2e6b74e3f189694b638d1f036abd696627b587ffbbc16e506f07a0d0d396861010824e2cda62d700a9f66c2c03e850c70f9a94cba0c46768b96e7270c42c784eba7bbebe507def04b72ab8a26c03034160cb5f2da90bc390f9dbecb128a60e3cdc8787a452947709312d28d55d4d03a2cdd1d05b7a0522f6effa20d2bd7b9ae21dd9463b32df9dd3c160e814fcc88203faacb26568bee21e85a5ea2e959995e4443a41ec151cba874027cfc7532b4bec0393b8a2530bea45ef80879774a392ff2bb9f4b173d7bf379155771345f7bcb113032b10d5b8a294b21add868317b7ccd34a7af871f042f368612a0d5c2d8e4f3c9a0381b431fefafb7ff3847a1f006dd964ec0e3a0e6c1d3b7e651747d1eadf3dcda2033c45b46fa1888357bd89a5a140c5d6b0e33d5632c9899fa0be3a59088ece3cd203f5a16d0c20f85e1ea3fb94030bad0ef694d5890eacdebada60a51be3b84dd78a034c7c2e8ff6923390a6e4717b94ac78d4f1ae93f751315395e5535df3914306a9032a8ce2dfefde59f491c72dd4843528e05ed4c5005cf4f1c3b8b04a9ff8991d36039604a9236fa2be981519028cd013b90a4043cfbc46bca37d1bff73b59bcff4ca0315fea24b90d518dc2fb99753220ad5b9ae63f92132d27092473da24472343a5000581f03324b69ac0890449805e5dce7ffae45f8439d50a8912601940902eb75ca20463858c564e00000581f03ed207133689068903a30b165e19c8069a206e041545c97139038cca92db05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03fecd811c60ed90810c7121876d34777aa74700fedc0eedacc291b9ad11c64d7600581f033105a29d5cfb35f357647bf426a3066dcc9c8e0e93fb21090deef632f0804b52b7d2d9ba73fd496a000003eb91854e1d148afff890aa8e90ccd8d6db75c5d9aad745c1a377db3c467513330328f89981f7eb2f30b3d7226104372f858b0c356bc6a8794f271ea3cb2b6612e103014e86b36028b6efec9aacaeeda3f06e330c2e6380a3b291b9da08be559209d200581e02d81ce0460b6625cc72d15571b16e3d420a714a5e97458438977e7305ad5820ffffffffffffffffffffffffffffffffffffffffffffffee61b80dec7e0bfffe038fef687a63e0b9cf547a42ddb4150c18892f3f774a7de330cc62e9550a81adc400581e0255c039a315aaeca1eb04f522f84689b9b7b2479f42eb1e2ff69503ad8d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03282dd52e1b3170409d86dacbd9795bc7f178e76fac4078a16e4bb3ab205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03d2fcc03e0ec69b68e72db0819c2599b7c08d9c84423583188d222838905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020a021911140396b2effce5af3709a206f9db4502b49e517e904e95afcbf94da4246481f40c9203e52c757a69f59e13c9a63d6bd2f3c607e737dbbcca16178b5d430598b5b7f6240219ffff039dd53c3f612835dc62aff851925cf4a280a0a2737a88ffbb05c9b16f1a67425903f78f955b180b5224ed97d31c893b0847ae5256c3ed09e2198d2facc23484bb8503f2bf359ef7ac2a9431871304f833405ae2dfdb71c7facf3a995676b3795b42ab03667fc367a380fb60f749a8cf45a0127dcc51c54050746fcb618ad69cc2ad245a03d92cc2a2575f93de4e28662b706299b343957616f9416c88ca24e8fbf59808b2030a3eda20f60b444621f52a3ef1ecf2f5006b8d43cafd2d54457db1e1e9dff2270317354c2980540eb2adcb99efdaf0bc0d759f3a02b57caa027af887314408945f0219ffff035a0b64fda2bbb353677f9f1570ea021c6f46476142ca453e9242ae10b9bee69c036e62454ad550c464017a498dda4b50ca108d31fa0182338e08aa77293466a4ba03666e6a280eb67fce041cd5f5bb00a4b8a335bc016815d0e05297e4d61a027e2a037e293af1fa83cede0f8819c77bf47f47647b718688371540e7107e893ce517df03a80ec88afec00c5af5e3171349fed87226f5f7ff04cfae8f732d00395a33d25f03f47a0e66a369b760a183a89ca16bed70c4d6a2f9db07785ef480f4907585cbc203355c40e6d27bb1f07d2dbcd583e8cf2b2664c63e28b66868a3922edd3a269fef03c2b190631f3415e96d785c6ec4b15379b83f67122dd425d52c295409e29b703a03c277dde2cc375d9c22095fc646cc663e3fa0fe0a31ca46fa47504e9095df49e203601e18ded193053c2e4a29a69897c2902b458651f6b9832f4794e5b590ee4c04035c119573d1b062ad0b1ad0120ec26aeeda4c60ae3124091324d6c44573933eda037bb62f2353b37bb58a126419fdefc8334a683ebcfa9bd7f0780dbe82a8607be00219ffff03596b187ae198430afc549bcb6de5e3ad8e8108e55f07ec8a47d658e531d57a4f032eb99f0de93fa88a44099fc2b8ad88111844b073befab24ade917485d54b489303f4f3681b75078ad4863dd242435c3e0e9ea6d3744d47c3cf6c333b7ff7ce62c60320c345c7fb33ffc0e5b6161c45ebbea6fc0a26fa1221c4a895406912c39be7c7038b87c2d88480b94696ff10f549985a605f7e0057cb84546fcda12f38db0075ad03c9225c9093fc41eb1d052608d6624af5a3483f9f79e1d5786a360ea688840d4603967f55baad04d41af59625595137e2ad7fa18270e18f8026eafb90c10672c12903426aa580442bf5e918787f29202b55864446be2ab35e6f6113a129e2b2c9901c03cc3fe7e1688167b2b0eabf6ffc8095843c8c6e72fa98ed3e95e2e729edd6447503c147159eb65290b2ad283c8dbcc63461c36f91f4a03f5d34e8cd3a15364a96fc0356f07757605353b64acda891d12ec0763859f612b23404cfca92f84205f8ff2003676c900cd2cdf51d49cf20d2e565eee7a27502f80b944866de8d94128e54249103782ad2323af99a1216274698f4212d9a419bfdf36bc49764762710d1a353ce7f030603b54b22bf67e9cca60237056eccf541cbbda0514c73a4d3faa2e8629c1bbb03c3f5e8a5eb750dbfc9e4534f6ce5c7cad01116a23fe65f5a755d808ccf3dc96703a5c8fb8af336c36f19a7d5f90817876cf790e79b56e9c0f776127e3a646b9eb603ea9e18495676890c2b251da26e6ab596c32e2586e18fa8341ef960165d1b24920372b067aac298da3f0c86cc4feccb821af4bee71c7ff13d80b25d39771014fb18035feef4e8bee42eefd2d6ff280012293d135f642da1dd9c3956e021c583e6df650380e137e059f8c6ffcc856ceb0f944292975630841d269c7a7d2a2d43770b795f03d1bf92d3c1298bafbc2972205698ba9989ae88cd365ef1e0134498c9513d23b403ab69ac4fd40f59d85a8a1331c6c1a22d798742069d12fcbe605ccf2cff652dc10376f4c8ff07b7498123cd4039a1dbd86576a424a2d54042ae7e7d5014b7a23cad03f589fec7d6488c6acdcb511b447d1939b31bd44df8a5bf9fb4c6ffd3131a2ae4035fd4c4bed334e3947c65d184d01bedb0acc76cdbbbfa62c8553db4793297898c0342859e33d71ce2017d5c9c379f8819ace2544ae60455d2500b8bb115145ee9e90325f823dcb3bb31904318764157ec006a1e1854bf976bf6aeb648d513f5d5878a03f3df09322fe8c7737a944d814f411a8739347053e4b0009ee70a33cafbce545801410600581e03fe95081bd50ff7d47baf1c52410188fb8600a4388ad2ef940837958e204865ce6dc1d7b015f800581e0332ba7c316893c520f7f9a0a3e6721139cd169f3d76dbc79ae555e820705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219110000581e0243bdaae4e438c7a49078b73fbed3e578a18ac1ba009a0cc4a227fadc465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0226683ccefd5f7b68083b2da56bc7760f577af479ca820fbeb0a8eb35c8480237d940117e78f90219080c0386e61fec5c8e5f185d74ec59b2e33c81f2e86c8eaba65af558316da53c987a77039d12c03549c8eceef04f1bf62fa766a30f6d419c899f6706a5927db64c5acc0603ee2edb62a307e9f1faab17369d390ba36dacc34cf907c72ddd9cbc5d77f9e94403442f1a997a742fda899910cb8bc5c6dec322d2d4c9bd52d8c866391f1744cc180326bd1eeb37ab40cbc03dd87fc94565c047732f01c51b4bc4225c32e72a5c89f503ff2706e711ca45f2b17d05ca7a69c03b1001fb4d32ca2beea66eea60c5a3546e0219ffff0358b6b7980a944f3cd8c4df6a88b58a35f118887c3365dffd3c97dc489fe53132035a42da79feb2b4bc6c2c6cc53330a68d01e957ba02f73b407d6e14e8bcbadcaa0381e018f1e8e79e9aff81f6eb1e04afaafee7b8aea575c42a163ede830b338b1d033351952ef16718186fca6edd1e03d31d247e8a064288e4257bf8e17496bd6f860390f3985c44e6858bbe34974afd93d5cc6dc69600a5dcbc8b2d85601d2c3fca820344c1242660d8be148aa98c101192b59f76c11f893bff361c581a61eb284421b703a30927f028a9052ddfc02e4ca86804d0031475b2a6e04b44d36aa7ebc260970a0219ffff03b7eb37d812a938585c59d2bc63b094ef62e2ca2d19f3f16acb7e8dc39ec6d4c703340b3a67d00a8c8a6ce0f27f0692c10c7beccc73f914f21a440e4bf3c9531d78031a9ee433e93b17680ef4dcd22af1f946ad20d248f36e6252254de38185841a9703c4b390418a38051952c3019c2b19518c45b0276250281288f5fecdedf52d2ba503cb7f0298f88b1611d35ed949d73a691411c861ff09517b6c3a5f6af3abb5e327032c903116437601af4aa0b51cf6691ed127bb44961725b442bcdadb1f7289744f031bc974a384becb2801b92b18dc69ac61852146d6c0768feddc2d8b98b0ca863203ae44419a93c88184f5f737e1d40e3bedebecde94277dc08ac992281d5797ef4f03f06ab0071684b245bca03e87331aa4b2a4b063a9a8ecfbda24c51a7ee9ae6b4603e76d9c05c3353529068c7d705e8ab9c1866403ef24e614b71ed2c95f6bbc8c8a031df0acbe601bab89d4dd61a1a89cae090dbab0d3076930a2a320ab7e6a1a2ea00219ffff03f11e0035646b61001121cbad342aaec56a77412fa6e8047806a5d70dab1a54ad033df42fd3eb0d2b129a6b3a2bebeefd2eeea001adf5be955b1e150982bf6637b003ec4e297ab8b250e09683ce612c5fb45d5b8d4e78597529eca15b36a23de9f955033f7d2137f98c34e9e10f62350e7e60fe0dd77335ad46ef143b61af8d6620439d03b47e525c593d8d5e59fb1dc7766e6ab8f2d2d05b2c4560855ff5cfd550d8579d03d4e600f553d7c0b5aa3c150f5271bbd0dc9a21a9d537c5a923b9eb957924cf620219ffff0384a8814482ba88f1bbaafa1b7d4cb3ded475fc8296f66f4f03540efa3a9556460342b92a6a02d43f2969169120f474850868a376a6f3baeee2b8ef27d72d00d5a703c8c840e1767da837a81fe4e569e36a4519efd70f6d6f0f35dcf285b4854a0b1803ea961d16bcc636c69ab0dafcb8f5fd5e0bf2d4a795009d61cd2d0869e5548297034fc7c72f7244c4049a30ef5713ea6ebedae014f19cf9794e19ed48f534fcdf6f03ad3e19d1aa9816096bdcf237c4e8f1a65c342be8d4b71616e2ad514af973b255039ce3ae7defc31641fa91369b5593aa5bbf08cd542c2ce1821ad6c0e67b6a2ee9033cbda5f84858047c04989b3ba187f97039e2b0337899ef3175cb86533184b7a503863a5da367f5f565702086e0a67eb492a8e5adf18052a34b515154ecd90de8a30344efd512f92f34ec82d4626b7df108261218499003b80e48c9991794dc2b441e0336bad073a487bb2cf6ff468767606e855c319aa00976e213541dede9399f854d0358a4308cf408e529d678fe9943e3e570d6a1fe9cce2ac4ac595c62856fcb9abb0379d6f79f9fc8bba3c9a946f9689c57383fea43763ebbd07b3d1ac80c24030d520372a6a075a707a57196c3dad720491fe70312992d8de49c3d8faca78bc823502a00581e025821e7caeaff9b8eb593ebae44c64d49ee7a8bb30fec1746c1584964c85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028f84917ee6d91e0a4132d558f6a2500f1ef660db232c1e02db07efad5d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025022b7ec8830a3dee0eedefe42159d769371285661a534d8aa8d562dab5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e8b3e01396e7e7b3fc441390fa801af1f9d22e570f0b39498c112c2d645820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f41fb9699718c06319b4d93fbac750abeeeb30be0581806df340ab47485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0227c545d46d721d41774a59c3b1c428cd2bb0638787342205e706a4a18545e8d4a5100000581e021b785fb8b7183cbae19ba89a6e600d5e23947028694303477892bad666490255fde3b1163d952a0219911d033ce3b6aa3ae97528665752482626d59601818bbc9e63c187d681764b5a525fad0388b7e835c99108bce9abf0fefa9c5798246ee135153d71a603102e55d1d2c44c03a8d444ce141261db0407b6833b66941874c7c40b3fb9928b0cbcca7282f255f1036da25e77595da13616556b3983e4b5a2864626f6015ec04df87028391715dbaa03bebd824eab86721b1c7fff18718cf7d2644da3302e8544613b1d80a01245a04703eb54c8fb4560c7e5b8b5155fcc98ce0ab4e5d2b1514828f700acd4594b803d89032e02eb2828786494af31f0d63ff3c1e433d03298d698fc384b58a5b465a02b0503063e5a25ca8cd88ebb0f9f7ef8e6b5b23f9b811947127fdc902e89b3ca164f9200581f036cc3239fe3debf48b6fb4febe74968fecb3c7a704ca6eb4597fce4dd7c004407735940033f0e1a01690fd6dc11027fea7da4d247b78b8904fbf28644ae7044e6bfd639ef0348a2212daed4d725069aed4e0411b09da1847e988d40fdfbfd4109fe6f562e7b03736d3861bbf1ead65970c13df7059580fc133c8d230aba482ae348511ec87c3203db54015fc802ee3f941a9ddcbfc8cbf3d8eef6ecaad5f12e3e95b56f787f2ab303f227b91cce040727765a420c46f850928035edba85831e4a842e1f458d0587ad00581f030ae55361508ff01a315191364770365adf92d05d8b3c9f94c43fc18f9b904cfffffffffff096fb4da200000219ffff033699d463002615d7b681c162eb18c0312556f50f597347624a2fbdd5d813374703c77caef32659d86ef8f31dd0a929d5a339201fb2615a07987d3f2a7d931fe5bd03b3fddfe1ad928e96134c6c79bcd93331008b4d5c6ead4e460326fe3816beea64030b49bb6deb13d8f2d9272d1eb9f88a4c8df0c4e3cbe7f84e38a21a9fc7ee59b8031e94074758e6cc028fd0353444bc45927b70806598fe292952dbc180b8621da6036a1b90919be2ac6161f94b6906f87464e4f70d1e2f2e4023cf41939083a18ecd038b9adef048288a1ef8ea07f03e66e09605e90f74b7a2c7f7fb9e6699b5cb809003c9b7c5bf777813a20b1ef47308c7c973e54d230ac8b3d1a537770bcee78680d503e26bc69006c364dc471dfea9ab65c2197d274e412ef7377a454ccba32db906470316ee04acf764d6e03243d9cc6dfb18035c3ffcb1970bd3151196e22cbd9e927c03a63de3fcf88524a656e9a0ab6812ee3b1b7a18ea4ea57183e704735004dc301e0219ffff03a75416895c5be920369547d4fd0aa13c469d460cc92b4c70d455b68853d51f19037bbee9719351f06ba2c0e215401348918cc9f326e1ca859d53c9be794830f9ce03c70bac7e7a191ca8023b6fba99a99498dbf5f8837a72b4a47a6766d5f550d79b0362bfdd4417cdcbf8f599c6e257c735f621d35869893b9ab74298061ce422b2a203ee8ac01d376a3309a2f9ce059c343f187fbbac6170e83a34acf47528a8b65828039a9dab86541c54a6bfa2c655eaed996312e8199486c66bfcef0e9571deeb2acb03aeb21513cae09b172a4ddfe1880050af79d069466d0945d0fc5da6a84cdb22a1030631959b7d251271800cff50df2149cd75d97cdee4670e05af87bcdeefb3f8280341a7d8ac14ed50810a8d243b3ac2618a741aa7fdfe2490402a3bdbaad4d22de70350b3d4b24d5e720c0b41c6fdfa41bcd116624e5973c23822c87c32d6784113b1036204c26b49f2a85f592f5ac8626e5fd2856b4a65b51bd390716f50d0aa640a560343dd7719e1282945c2353534bf133fc6272f286625220352a39bbec21f4d08630219ffff03f0fc20d0fc0a4633e96820c831fd5a352426329d3230050a0ef01e83830f56fa03da02dc989e1d5b4b153399930e891fcd18ba4035dd9bd18f52510d5d1ea387110314b8f94d64bc4258d1c349769ffe30627d42ce030e947ec317beba829fffde270367987c58904fc58fe908a21a2c832bc113c76172fc95655ca544a3b8c0d1728003b27ed7b841364db4431c62b7dc2b9386b5737d6379a0b1862f82baa18fd0ada203c7d28b39a497c2b01b53e480754dd5dbca4467d88f290be551021237ef3fc3b403e94b589462ba3c224f2b23c997602242f62f9159b039d14f257318587de0a06b03b7ae29c28b0805245f49d1f2eb6110501cf38740b62f3dd4a2377ea4bd6048cf03c3192d2bf120d1612feabd044709134c68451d898b5fd634f0f9e9d6b790a0460321636946fe102e5e57f77d5360e12467429236237a7a406ab4885db0f24ac38f03e913eae17a6b4cb5b033ce1b1b3a0fab7e66d431b7045b550c600856295416b503bcdb34aac92a97e67cbc950399f4be14df430a0062b5544774cbde2278c44a61035076b8f2e753f2f2f86c66e1d69826d9c58d3627286da19744c4a3e35984e4be034c39d367256c58215468ea16e21d2ac747a8c07c2f54bf5e0a9f198df36785310345c4ac8a68dc6740cde84b374ed4d5ca0587777856360ba4ed581d6f2898425d03711ec730e111f11fd07378be72761f8eea64d05632c8a6da22a62e6adf77281103c587351abfd8e067ebd803c49a72a187a18660239654801f86656555f4a9ed5b037a3e51723fa9eadc27d81217d0edfb45edeb8fe745e6458662b30c1e6b997cb9033a960f64f6a256c3c2f8207f774d5f147fd1337c2e5bbc8b8f3703d79ed5dc8003d03c8abca5a5c484e26136e79b16c56bb01bf0877b1f27db600c12a15123731203b50cc58da0f4e3197eee9cc1691d6f010581908483e0a4567a8347ee65e7641603cbf826d4a60e31872e4af8c476045ea9fdc5f1e56d6b688b31a84daeeacf943d03c6261f38a16f2240c8f3d50db2cea9cedfac7ce6c39e24a552852371c94f0e7d031647d7e191527000168f4c57b69c5bb7a90f6472dc66de0ebdca5eaed324183203a03e59e43af8f86663b53a3f33d30d351d2cef69d70ad517969fc7cb914343fc038ac0275c5f6d65757ff51b2fba0640bbe078a56e470c14ae71929533637931b20344691c8ae8541b396458616da0ea305c39a55ed3444ef8e34e681cd27d77da9500581f03c820205ca1f8e5fdd6491692262d184b9820edb010d4e01ec1594f78f5105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03939dd862439b699222e14feb989ab4afededfd2e949f4cf487093bffab805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03648f1f1959c70b949271529a5aeb8096c21c0b2752a9b7a0eff49d87db44132e00581f0351c14f75628afe319e8a02595c07179523bae590383da5c9c9a90913a1105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033d87eba198fae3e802f3c38effa1345824bd5669f91c0ff1cb907f6f9ea6c2ed00581f039d37288c8ec6d47d0dba11519f0af35a75c99c480e73a71f74f3894cc1105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035a5edbe0d818f09ace37b952a22da983d4d1c68e1681d97fbed596a323e18aa8037c020de50e2e4c05beb2a7fb1636a02c319b0f728ef50c2f5ba8d4019b8817fb0365c28020d5728dae79ebde431fc6e4c97b9877c49c937be5751e031d2035119900581f033fbe3c49d09a193f71e7e06c723c07b6b1f07f06d3f6b88132194b28e3c04838252beafa65e63203aa7a5fcfe5b933e803d4aef89f48b662fa40c50be7fd04f9aeefc6efc5090bca0390e76fa33cf44f7eba8f752793ac69d35120aab7ce942eb656a6db0d4c8e1ad100581f03eb15edddcb2be1208231b8e1a662662ddbb664408e801160da988a5c0c7041010219ffff0219ffff03ed883b1209321b3a63fbf83b779ddc7bb146accc59bbd6d8e1751da5c69b9c9f032d6715186c74d7659f107898176671b527f594cb1d56f8a619ea3c6d7057777e03597292306f12fcaa13ce3fcbcebc399145a48d9f865df2b9d51834d10b788e5603bb4dbb84ec02ec134e68195ec0f06f8f95d032975e155d3e4563940aa867ba9b032115bae2bca5c4caf89f6b8e661cba2dda81fd563b75fb07da7d38ccb999e7430393532392b8a374e8c8ac959cc72d84181a0bc1db218b8f2635d90a580f76f12b038774ccd4a64723adc9f9176f023f2e4f360a460fedf48e553a1d32078705be27031cc6a4ec65f447be546863d08ac1663b28c49946935ddfdb52b598716c09f1f60346876f0c40d9f2dd26bd87806759511c2d101488ed766cffca36abf941aa1ce3037154fc47e47f670bbf18fb7bca02b6cec664e7cd9b5c78c4a9642112e05d7fcf0349679df84b60e3b8d9bf8f24042198a5d11387d47cca4d9ae14959f187754fa303e63d13f4c4ca9417a7d06daf15104ebf1e95ce71192200f44ab94de9304328c400581f03e8ca33c3bed2f9771f7512db861055e8068878fdecc04cf4692d4c99e2105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037aafa3972b3f707668bf49c53cc0a44b7300645741d2b9396110e7213adf12970332fb23ead0c95b4b1dd26a900b55a8e647b9108cce8afb326ee6186b32a6d06b03b793aa992f7ad64010e93bc7a418173f6a97f52f48ca99a68fed56d1348d85f7039e61fa3040a573d1b21a85226a3ce4cf214ee4e7cd91fe44dc768887e98398e300581f03989d6a2a98d956fc5d3a44e8788ef5f6bf11513c1b3d8d6d16d6598dfe405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03abcb4988507c316a1671ef9224474851e8f95dcad9392fb75210c1ba0d7facfa0398342c5ddfbe06f25c63755819e15fa06ca380c16324428971639778a3cd61fd03c10ed64a3999047a6aa5b7bfb9ab49910dd97378b02b30550df06cab86e83c4e03ad64bafd7ea36a36ec58bee571bf5f135a8784a84c5dc4af7be4d539cba58d1e03c465dbee9cb0a915779fa3aba6478c38be34163aa467aafadf9b6e53243948d100581d02e3f7dc93749ca55bd146cc1638ef33ec4c696543b01c1555da2c39ce480facadf3eab9be4500581d027e1347bc31854ea2415d5e8cf4de765869e4090d68108f0d58c9c3985820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219400101410100581e020c5253fcf1e8dfb101f913f8acbf75f18ce521346c47a2310b398a10984b4a817c726db66279facc0000581e028ca3fd6885f8071b3abb3d2674a1fed6f367a52ebdf7e34e09981412385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021908380353d680755c58228161e4d056abd099e83bb6bd660ce053656d5d0e07b7dcaedc038fc654caffff35b03e32afff729ffff8dbbe42aa2f8a9bf03cc6492fa359d164035abe9f4f6eb4e641a991660263a474e4a48691156ed1c0d2a0fc735cc2c030390219ffff03c076b7585e3c9c8c796b19b39928c45ced05e8cb73827663c10cdf8fbf4ebe14038ac05d9afc26390393600db2bcacc1d8dbf7fa55b809b40e0f9637acd993c73c0330f2b2c4ada995da037c915b9ae6b871a5c0c27555b698d1452e64fa8e6c071003420f3300184c1d4ea5dfe6f560ccd4c365a48baac1ef11c383abb24ea4f312e803b1033c32828abac80be3949026bbc77789ee0753c15169906d1d7c1a7a476493035f3c46879d9ce79377d47306201977bd379d75191800dc45937ee380ef18918d0219ffff0354e373a5a462855a7dda16dcdfff178ed36d441fd163c038f24e94d6b2736a5503871a04759045d143c642cce58fc52984b1f63229d9be5ce8545c06df4760168d03b9f33ecdc9782f687ba5a1008f952ea19129111e5cd3c79d98270d7218fb8a9a035244bf04c0c34bd96b3c59d9272531762f1b6a5acc6d7c15f2db13290eded494030d3b97aa2cb2740c80eaf60d8601d101466021d0d4c0eec13e913936a11e75dc03314022427f68aafd186813a74ccf8be4ac30428c0f8d067b7824e8f0b0ed2e9d0219ffff032c8ba5ad8980f672d6ad95467c3ce265cbe8851f9d259a0fd042c49f89d1b6c003ba5b4a1d909740cdbd5b7df64570f83f2663a119276b06015a9d63a8e1eda88b037637b4c26ca08f9283064762f7a24c76291c51281794c780359ead8256e56f3a032248c4b828b59a83edf7b87a6cb2ea109d551d236a0f0e0e1bcee52a60e08f63037a82899d1b21156b28a946ec75bc2f33803cae94c9dcf2ba6d2a9c839e50ff64030ba6235adc7f80c80cd42f76683454e9d1be2f8e7578e2e12b230f89f7526f39038b34209a63dfc99d915df1ae107e2b040ab44126d291167af0e90ecfb791f448038ca62ff5dcda8b6a765b67d46f8e142448af1baaca6890d0ece3adb47382478503e2d95c3543d19de05fa6797edc77b387c5f201a7fb70bb02321ade5221ad2a9803505534b0413c548be22bc726653b455aef9c0f074f153ad805c6a8c226b764ca03991624cf28c0bd9e8f2afadeabc8d8d23ac244cd6dc4e6dc4b204a1274ff831c034d53bcf4eb996b67427a6c289ce16518ffb9b23b25d835845dddf1d064c4c11303642f2dfd185ae8d0001b38bbd0d3983f7822f2d2b10ff705a73a1b19f4fa9e3e03163b5043119b993185efe8508dbc11f34b8edc7f0c3bf89581bc8fbab601ed02034e7e7cc3c1529e2677969fdbb162b6d3f570ebcd92537336fffaf7dd60f36e4e032ace46a79ab2191050854cb0b6bb78917682687fa82310f08e6705f8430e0887038e47779ec1ac3635b190abd690c869af2236c2a6cb8128c2ff9f86e5b76bfa7f03eb48cc0e3bb1f8188b35e22a961cbaded95e93e35694e1a4b8e05993f8f9d0b800581f0366ec98eb6eda7f72da4473e743c7ec483918be636a4f974414d50b8dbd10484563918244f4000003d1c7b54cccb5865dcfec6c6c3824431ec940d431fc5914549920b1b1a857f6da03ccd8ff22bb1ce2cf9761d404c6d960db99272141f9b8eda09485c68b1ca25827032afdb0f6952d2657be4e8891e8b1f42f8dd8e7e0a6b81ba1d4e799983598e7db03682e5f86424cea18c2c677a88e1272a045337f712ae48df683eb39dac685296e0396e206f8231678cfea67d860348e789c438014f7886616fad7dbbb179a9e55d6034e009082bd99c5efff570ce526b9c330f67fc3f2d42d627673748cbc93af3b5b03ac03f38c0d7068b690ee481295b94c13532d93bbc2310f51bf290003b31d198b03da9b3fdd2411d874183d2401cdadebc598e963dc57840abf82032bd7fb292027030cf340344288941eee6ac84b4ebd5b21fda3bf256faf699c48564e2e9ebf8af40362fc5ed9059bada0aacd32c1df187f10b5aaa6635c3406f67b0122fa1a3b33100351db1e40301ffe569cc0098251ded6c4f1148a50e8382a6ec65424fcf169569603f452e974e8117ea19be98f0b33e91a162908e099193e0ee167321e19854e17da00581e03464ab7da8269d06e5a483fe6d3366fe3a37111ac0a6790df530a1cccc04903d9470863332b3c8e00581e03ef737a219941831debfd8a9e7e94c2e3f57d70855f07c54e2b1600f5c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020500581e024199cf50d5c54111729c6d00ff677ded95b6894e0acfcca48f2cf373005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ea0c1fd7be99a87ecaaf7ad12fbd90b004e27081e6c16708322c4cee515820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f2859f4af597d8d8f57b68986cab15b18e9d7ae1834091dfe3dd38549e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219204903f7ccbcc99f16992168581abbbb5e926a618f0b8e3d39dc7a6f7faedd44f09c870219fffe036ba41f19c154ae631407fe10cfc733d87df18e6ac996e5ad576be8cf83a89245036b9aaa7a7753d1debca0be30c9d365fb718b996d0af8065a9efb8362c86b622e0374dc5c3ef1a6c5d1f056a69294b8a3cf7cc11cbc95d11756e356ed5fedc52e670219ffff03e9ed7af1d3ec6de6bddf01861c8091f14fb89ce6124e5ffd83b98d7b76a7ad10034d6ce47bed675e52dc49ad343e41f8457ff126591262eaa2538cebe8cd150dbc0316f53213d47031c8d8cd35f8db0adbd7d6a8533e8aa5fd000aa1b76c89198914030a92c7d200ce8b33b77b18dc67e09b8b36a05500ebaf023f6ca6dbbb6549cd6203108b3ecaa2e7eaaed5f180dd037fc13957a4ced2ef3ed02210ac01029325c20303625a62eb4acd5eeb8f61db782547a7d2313ff61b56fcbcdcd8ba129eb5333bd2032d26fa828e4d860b2114470ee96672fa31e785dcd62caf869c3f1fdb6e2df675039b46fab41f91f2aa089bef9393a1cf490117e71432dd292387fbf27d8b7c8de5037676ebe7e489aff3988646eb73312033413a88b8d6cee5683bf7127daa61011503150d14eb76d13c7893f77af4e194476d28d7c4a7cf1a1430ca4eb00e18b447bc0219ffff03d1b37c7e10f47e3c0e6cd710918ad726357d0b385656b824ac662c853fd24575033de5aef23480fa4dba1598035012b1979804c0f9c4605e192fe2ab662114db35035a157dca752f333f9bfe76fb009bbb840b36a34133b0f8e1bb71a5e0e022bdba0219ffff038bfffc610a05bf5e714c8099dabd8cd0d1681aa64fd2108336bb3c5f2521229e0367936a5cd1742eaf4d68d8ff0372a2ed909f46327cdc28f6a10ed6dcfb34a22c03145d3add34ffeabb5447917f60b43f90fa59f7e1cd1e426a7e5b60df67d1253b03eb31a62c9b9ba4b9160bedd0ef19d02992aeab8f8f77c258da877416846190c603ca320dd71942c091d7ebba46afbf59cc2b7fca6774ff5ae72feb588e780cc9d203bef86e3119534e7b19ceb87b6f929196fa81992de53f90eed132f5d1d8f37734035b6262ad5a7f9ec36efe0575b0e511af041ebb659d20a0048b67e73aa234f93c03a1c1b1c91a39bac20518f817a5c52388ff5c59f7d109b85718ddc64aceb0121f03ab908f56ed932a0a16bb023f1cde9ece453f72c3e684af4f0d5c6f274fc33045030842b091478958de3783b9f25818fbea0831a04af6c73c982d5cc900ca338871032c5d108995038d5d54c8f30c32fc856f1de616b4eb3425094ead7c677dc44a440362533b22d730376d133cb12e706efc92e8660c5a3bbe061e14c086193b70d2d503a27336d1a5dbd8c187d240d362eda8e1b940f544ade444091884b21d3f21a952032aed8227dc5e554c053f66d9e1694c076b2e562b3f8986ee8c74f8d49fb17b710368ba1d93e5ad6b617acd24e09808c16a05aca16a503979c0b0e6cb5cb936f05a0376c6af399166e966f270589e171adaccd8004a47aa8c8660d80559fac5da9f8b0388d0f5fb078f2e1a3d17398a67f14b0333ef1d0b2b68b9740e8816ac9a68be4b03d19e2e93d0d5f19c86e1e305c3a7123cf0216e42e8d0626575fc1384c125aba7036f670d8fd734ff4593ac304fd7a7fce37fac1284c30fedd26bc3851e849fffe0037d88844bf5025143d998a6be809bff3cd916b36b55183319c4ef992b50ef7ce503137fcb9626706786476671ace462650c1cfff5a3514db6c1787d0c5a4bb33141030f339c4e83255a848a3ada6e0e665d7c35b0d9b5ae43a8bd6595ce15fccf6e3b03e64cf5df32c4bd0511cd37d717997665bfb7cfd388540ae77a7de69586e2919703de2059c6fcdda0e590092de71c0dc2b3caf274c6fca5c101f0aea681988e28c0030aa115b6808946dc5830b1d4618fba35159d63c628c714dd94c80f94dfe4398d00581e02e00df8ea130ab1be8dcf823267f6b9cebbd327563ba366f5e3ef550a734a041e2e1d97d27cc521c200581e02c3249789556b45df0712821f843c21b94ac725823c55257dd5dc9cbc065820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bd1d9aa8c1fc8b4869dac4aee5d358e6b3fa588e5e4cd7a1d47768b1505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219420403fa96d8e03f6b1161b259069e1c950cc8378869b08e24ce12b8c31a49beb1339603df57dba9f17c1cb12563ede155db3b8830565c1e708220ffa40748972ab5775003130f4140986c2cd9bd6495a543b1986b04e5d419d70c6fab6c972921c94463dd03a824efa133578f6e2914b194a600968d7d3a66061d63714c73c12b0c9c69393203378dc1e3cb4db1de33e179034d5c2e2fed0bb636709c23376cd86f9f50fc5376033ae8340c351e2935aed423650a208adb7a6d42fded1de67f7baed1949b9757a903fd078e7bf138b205bd666e8e46ffc7a0706817499f31872d78b5cce8e3c0aef4030581d0d0b093bf5424ad6c3ae9e4b4d87d2fe7dbe30ecbefd9ff508cb449e66a00581f03921416fe37de14cacaa5763bfe236c1273d4dbb6feaed9caf17dfcc8ba905820199999999999999999999999999999999999999999999992540f9e4b0f0d41de030a4a8fcfeed3262b02ce51321c21e67642a28d9fd8880cc8db13d7f5984075bd03885eb511ce1e01f6e9cd04d4a12659059dd9df68e1933a0383b45a995b3987fb03f79a5f8d0e4470b96daeb0ddc7870053ab86aa8fe43ece0ba89a21fe84df1c6f00581f03598da8598133f225c08987821af6755b52c873163727277f63824440b9105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffdf03af758488a6c704945761bc4046783ffd23238b607631890f0c5fca228e96315003037e9a3e79474342fef9aeb0fbadb09d751ee5aaa5ff01e0cdfce0adeb08033503fae75afd0c4bc38505983bad20829d2e344beb06d2f955c9221418e4d2e2c32b03b65afb959bc2d15ff69cd95bbb4c90390a8c884a0d99540013c7f14fec4f0e9e032c35154476f953c8cf8ac63af25fc05a1ae28bcb6fecfd38f4b820b06d503bca03319ab932d38ff06957d9dbf2f28cd44abe75b21fd0ca5f50b8cae3b5bd4cfb2703c9b56d8ed97ecf7ab7754a693cde679acbdde4d4d2471964096187c9e63e3423034abfa8f6331858aef6f8ab48feedbdf7366555a083607a8a425252c949454fd503e81deb30a811c29795f0ed57016bc35e02428e7dc7734c7f3c89aa018ec7aa440335238c1e9b3c03ba45f2ff09a689b0163ec4d5a1929944d7aded46c695ecd2d60326b0ee685cbb6225950c96061c2bfdba3a7fb38183cc3f06a7238d700bf6e24f03f738d601cfba8bb0743d9630693390fc0f0af02fde6b1fedab8bd7f80137aff80219ffff0361a73544adde9605e22dcb38805648ca73235a4d88fc95cf3693cf2c2a25552203b7848cdab7882295447d4622d4c46d088e0ac3fa9e54a09218cda9eec9d6e02d0219ffff0331b877441ffd1f978f0b777ccc623500de4747bbffe5498183f7ecf88d0cced10310c1d6d60eaf244100f27a39d49930133dc409eb9258daa3ee72fb956ecfb57b03a4d1a937e8d5e7888de44b998e681e3667314efd941468dfeee27feadf9e59be032075c20ecbc13aa04a9b94b3d93d85b608e3e77230d45c4642c4016576cdf16c03870a65bdaf1c380bf07111b5d43c48a5061a5b533779e05eb920e209f278876803704dbb4a8cdd6935421e703519a0588c124aa4437be76c32326b06b8783274080357699d528308d817522c519b819b760dcf3ec1159393e9623bb8d78de2179b7803b0a9bf8c550ef987442c6b7d2683929000cff2ee1a45109e62834c46859fe49103236b38938da05b601eacb41aae8f1e957d96b8c3bec53014767b182d7b3c75320301c4a642021f3e885269e45ffb4458edd82def77c9458d9032764b96d0591b010386325a3892f15f7cd536ca8985905e8634788ecddf2634e357ff92e655debb5f035f6e6084220577193e6f66da09e2a1675802269877044391423d2b45009d7d5a03a245a6d8120acdb0fc885adbd535b0925a2a7a5c66148e4f6d9e719751f95e0e0376f3c20b7ac1072a9a82b321ab47601e3e613ab91ca9a6654462bc2d15343d00034c01d515d1cd8f422c35ff3e55923cb408feafdc81e2a420a90c7f3c70ccad6d03b6e8237ba0b1e9f8cd14e6c65dbd3519c4444199ff1c4ceade4a3160a86f438303ec7fa556fee99779ec26fb0965809e5a148b2d9b7745d49f43a4439f74173eb203ffd987b4b4ef55fa8cba422ac7334af1a66768ad5ba3458ba59a29176ac04fce03caf65cc225543a985e9672a409af92af9502244066cc24631af70825a4eaae33037b9c3c339a781796eaa7efa321f7f25bfc74d9e1f065402ad6f0d9e700c120f5035fd1bd3050f0ff1080fdb6cc2ad9e9df529e9c1655fa982ffd175598e6139cd80300593e0918dc78270e5878b772cfa9249f14b5166a8d313cd66f91184b69d25103c9110836e0ad71798f76f6915a352c6a8c1d04296ccddca68fe37869108a1ff8034d8e908f0aaab75773d76e7588324886367e83e431b36ab86968d1ac6b21c3b703878428f3087c2926cf4d3bd26ad12dc1b65a2330756e49f0ea59c763f45e1de80326b0ea48b27a768cb1826c83181c047a8e8d5b26ef0285d14948e26342a14bd900581f0384a6408ce7234852746bf12dbe7635152b10ee01a48f60cdfe8ea22e20a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0313dc7d4d88eb02c04f9ce3f369f4343f3147fa12112ccbbc84906fb888b63a6b00581f0318508b48270641caee74f3faca42f2102f723c23fd3b3a50c8616e880b305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03caf738035be4f9703fcd65a681763e3dc6b4b098d8ce5a6541850d2f850a3852037bcd95902681470c2876934ae910e0ed5af37c48dc2659525fe9704fdb74e16003ed4efbc90ca6eeca3a6437edc7d981d7de2d6bd5673199a0c3a7b3cfc71c658303c9a0435459adc71dfbd2b58c18afdbb6be27af15e238df8143d5c922eea488df03b9f605a857443815a18b177035dd486eeb63c65b4dfe430031bf3800114560a000581e0280f2ad0f3133a78421109c81e5933a5c898ab2aac6ba57ae54edb309d7488486a6f778d3e10100581e02a4415a6372449b321e8b4f70b791c6ee59e3aafeee53dfd4f85ea7f23a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027e716da8458eda4540c319d04c0cf35a07a9616007b33d3e9b8b5eb9745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039704e06df88ad9b70ede10f3174def614f5d4dfc3c4a334e7204081dfdf4309900581e02331ffe4c78839d2832eb7ceed73beb67a18c7f2a13a49e5afeff9b6d305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198138034bae1879a83c0257650971760b606097c2fc7ec0bb37dfc937e421b83da7e59700581f0390a2aa6f8f8e6748206f566f980ed58ebb0b080a9a82f65e248ce8bf6e2047074876d1ca20000321167c79546d7b8b9bf9061adff18ce29290b6a8542f7abde15341a496e45d4803972374a1828aab8281548cf33aa974942a3b10009838877303f8ccef5e55bda7037a30425669604aa45acda838114886fbdcba62ff2f11f00601291ed2ffdbbeb800581f03f02ce4eed744ab2cdf25d85db32b5e12ea9eb72631e5820e4b7a52168ca05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff0341c7cd3eea86fe9eac96a78c6252055fbd3d512c48ca4cce40e66e00b06e12ed0364020ad3be31fed6507e0b4cde5b7806618281bdc16d39625812643e86ff10f903882d47c4d0d96fb68f537b9c2ab617f8a2d4233c85b627c0fcdb0168c60f74c40302e88c8d3f6574104cf5688d3d89557fe215bc7f90d19577ed9c74d6066c6576038f36bb9db9a1669f9b436b47723cb693a186b3f68c61f0aef836330c39356ab9038f4bbfddc1f7b0346211574e81252264471e14d4c956fc593a59d7786def6281037667203088c09d6981b75a6eda669ff201c88c93b1389c8e9338471e5e495306035b2e7d6e760e6707a601c07b32a43b1de10d6e1407e31c5dea0871b821e6350603a71fdf2e1323633d2d72688edee5aaed04e2326d4d8ac3a07cc29fd49c404b760219ffff0363e72d1377d9baa5ae5ef2ae42932a12eafd2d7e5017673af94f348836e0b2a80219ffff03acfb78bb26351aeeee64649a525b61c13c71ba90b5d7ba133014c50a54d1e8910219ffff03d4d7adcfbdef824824c541b9f2b059b2fc1904cba9dd8597ec3a2b935c4ecd1303952c44ef92415ff8010a3be7d46d3404c6e8b653aed31b83c8de16f1f5b408ce03626621ae59a1ad1f4911e4a51a79d8a430a32b4e0c61ff74c2e7bb63640d8776039a3c7f81dda3ceb8f07c361d838aadb40e281bd1811fe98c749f748009ef96a103d8c9899a7ee7d92b73ff8d2c42e3bb397b53a0587056c53eae3858972f853f2503802bb0a6188191a05a7ce55624d38a2692acf779c29a5380157ff98270a7526a03de774711591a22eb48e8953b5399acbd9e7187aaa0cfb378ee19489ad4c61f0703db146c415b8d766c9e4a3643ce7c92da9158c1f58af4bc73a8d93998c580e1090301ec189d8ea219a45160b4190cc51eea09811005b0b9e45736b73d12ea69c05e03f292f62321848ae3c6affe9c17cacd1a7566e6ae727157ab9ec1643df4db3283032556ed7fc9bd39d086e012052936b2bea4eb459be9c477ffe7746ef3c79666fc03c6ea8b73bba0b9927ba4ddc805b8f262abc46d96939a9ac9c43c49ba5c24d82c00581e02e5ecf083a91acbfeb2754fdee5b9944641e275ef4804b1b87ec413ad5f410100581e02a90092bb43d6431192dca8187624c6f1c5ef25ba2f879dec9442941a7e49a9373032be3db0a05d00581e02c556705854f2eb62224b60293d2b01dea5e787d6cccbf92fa49ef58f295820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0260dd314ba5d2c541f23547e587cf926e6f30d566287873d8b9efa1da01460b329c62f00000581e02efba0bb6757fb353d9e41dabd68095481e4d08e8342f76b08c022c34d546136ca5db2c0000581e02dbf300abfa0c0ac0d8c856e82aea6117d845aedf642c158e8fcdc2c9005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219083b0325a4964e33b9af255ff4a37e80a6fb1d117d97e60da5cf0dbd17e9ee9346a33f03a99e61bf3946fc898801609fe51ca31f4df30d907f9e53b3da31e6327f46a22a03c8225d428eb5bc8b27f5ef0dea37c268439acc9e99a15609bfc6b93f49014c6603753209247d0195e226c5511fc16736179a0c0f4f1c87ebc2f127dd1a3909d58c035e7d47bfd684fa191f9323d41498cd98f70b2fb6f6ec2ac2f7fcaea6d369afdf03971b0eb080c6def9984d32acf50c5c172d08eb440b3dbfaf4a47633650da7b360331d43fcf3079aea18f25604890a0f1d0c66acf43c9274d2deb592e66073922ca03fb16fdb7ba999131a0af337b1a6cd3cba960804695d2b1670e3a79bfa082cb6f03ad62e8b2e33fa2737e8d1be1dfc9c3da767d261a44ee4950d97a5c05f99089b800581f0328937e5fc84eaf7ec5ae417c847ab0906ba9845caac124f3614ddbab9c105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0391af234f65127f4cee66209a7bf623b1b4f2adb761cd8e8544f8a5fc61b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff0333f121cc76647dd53e7f181f9ac2dbac887c1d2d828576c7ced6a24b367f2bb603b8afaf77730a910fb7db7d05930ae750422959621b131f6ec344f72d79c51bb7033e4d99e12e192ff7e3ebf03eaeaf5e51715e83c4212f5bb8304b61d5cc5e6660035c1339d65e2ec5ec554710c08e4d41b00587c28ae1cd0419c29c00800fd1374103beb12544c271839068ea72c48f85e8bf92d2987d43937a5609564a1598a9d69a0310c1e26f783c84934071e6a4084b98f6443df7684d5635c0754a6207ddd2308b031dd65a6c0219f68a4f39340e05d1fc9ea01ae58c56525e3c659a48c06937a7a0032460d154375b8892209b5bd182035675e84403961dbe879bb19134af82f0ee7503ba7e6091eac29b1b84cd5f85706f01c4592ff8ae2a1a8b1a169818abcf9574e103575eccae7d5f7fabb1e72348aa1f6e6cd15b8dbfe17422d30064bad0072a3fd60350e9bd2e28f831aa477bd0b9cd1ba7c6eaf4e33e880cfe6f7f994a96841360c603a5927ae96e337a2f690cba812c1be50935470ae6146a5a16d1a8814c73b1c2330219ffff033d89786ab004b550a7ce5f3ecc865416f63c84f12c46f3d85c79d97efcfe40c70337eb32e107bf75599f8678c2168d38d14cf76568f233ef5b878d4e7a588b0e25037894d72d2ab2030e80f370cf3f10ee79f8e82fdddf1919188a155cdbe5f5eb540374d323336578987532b8ff7773b206d35ec9731b8b24d8032abf9f1eb906111303f644b057b321fdde9291491309f76ad4a6ab9a59e82e406173ef6c36829c68f203c3af97a060baa4190a886e17a9210f201300692a27dde489dfbc6f152e32ddd5030a1f2886e006be6d42a033036c07ddc6c3c03d918d5377981c5fa9267b3f65ed03cfbe912edb1a6f48e66dca1945621adaed5adb27860a7680a42a52a0ff10f39b03c66f68f1713378245e5e9cf2f546c3f2e796c37eba85b7d2b66dae25ae4e0bdf03fe8bb653ca0f8454984d007abc24ec65c171387decd0ea4e1d9d60b4c853926303664f6d2fb3354b741ee78f51078bdbe0e976f9e4669e886782867bf5e6f1bddb032249ea5cb8f45f1d43f1e9c48817b642d189e2476a09317062ed5b643ddb1d0f0219ffff03a3012dd250935b886c35da6471692cf90b72ae61eae571d757ec9ae087cad2b10384ccaba9dcd3ea0f8780caac2895d384e02d9c5d2d31b1e0df983dde6cf67d1a03ab8a56cf44350b9a91840d9c371abc52f373f12d0b7ed4f44627f6b8115ab06303a08d2080e2525400a3dfabf043989466f4266c90daa0a0e3fb79503dab99ae3803cd4f467dc6389838114a88406ecb039bcb5af9ba35577b5cdb8424a04a4a6276030d42651f7e8941c851d3eaa8fbceb8838c3620724235dc86a3ff93fb825f6cbf03432ec5dcca81020a377a3415686bed745a27edff56cb516b00d8552dfa2c715103e9c16c0858a0e7a281cd85f620ddd84328f89c193a7ab8d14541dd9c9c104d3100581f034b2c64d372e60b3deb584c7a735e688064d5472dba43445fe883dc3a9d90423c500367fb8f58870b4d6c24034690ffae360e87fcaefe9c1c1ce7c256d06a488fe81803d9289f911d1bc2e8264e4e3e40e65d8d43a6d44f1fde2ba30b433fe83d9138f003df2ac15abb2ca236c9726b8a8faff24f104c8bd792efa47d757850864cd613fe03a29ceb75dbdb55aa60bec7a236d8e85f6f9673bf2013dfb6b1b141fdd787a687034db86cec4b566b614c14d223e622296d8c19b1d2077ba14c9457a7d8f5adc4a800581f034d1c8bfa4a97445926fd822a2ead1d6ec09cd234c58e3916929781163fd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036d6b75e482c8186329f886bc9c645571d31fc02c6ff4ab4ff4943c806915dc5903cdd938d4ed85d9bcb934431c98ab38acc2c9cf9d4652d7a3a34123d66e1644e700581e0270028ead38d9fd7f9171a618887d4f8576de72527b089b7a129b7affd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023ef8cdd718d82e58f2d37179323158c100e8815fb83d9a09270be655085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026659b8c90a58f0c6881882d50aa05277ce0d585fcf7750f0bdec8c7d155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b219247b01c8162aa97ca9dad7fe28fe9def6ea389cb95b204325054d74a0152aacacd6f6f3d77ba021941b003110e8f130fd89cb97b3e13939f082b6283c73ed04caaa1034fca2d180b5cbdad0219ffff0316e0c9e387cda3aec81acf8f6b973f5d5a37728286dfeb8c212795b9497e9f2c0329f3d990891d68abdc7d5aaf22940b4e799770efadfbf6264709bfc3f2cc47c903faf04f70b54330260507206aa1ee6b5eca0d2329b8c8f8083e91377db8f16bd503818a5dc13a0fd657d12efc67e8831b95ddbd992da759f1bd0f975c940b63728a0368b982aaee719007f25b8c4564f14b864289c58addacafdbf8a6966fe52b17e203120c7a9ac7553a287298ebbbb90fc444e39e518686e792e8794b7f47d6dffdf203b0cf0cc5b1c892882a2a5b65d0c4243707515cda66a64e15e87eb40bb61d924f03cfd49c3b7c964644e0f5bb7eb9bfa393b05879109a41ea2701be02548217001203d593db26e3f141e00244640c6695b1cf8709f613a5d7ecb151ded0cfc6320e0203aad2403e5f9cb24bb6c70ecf9e4030e7fef4e207347ebad22f64604cb5ba0d870375736c05252fd2a0e6470a408e7806aa0eb9aa7dd678d3fdc9ebe1b2913248f103c6a2bbc862d8cca59bd7c5711f9298a8790c15062f25b0fd963522783814c7e503b039ebdaaacc8b352687d3eb9b8ffa9fd418c22e366bc2622773ba8d39e928240219ffff03cc09e8c2d1ea03d9ba33263a30371663e1e90daa2c7aba93e5c07bfa2807308d0303763a85fcf769020dd76f32394bebc2df01813964be6a07308f9680ec500fc3036208ce2d042392b4cee6f2eac412570032691e4e8229576c32735af3e20509a20339ab1b358a3dc6dfa5e6d091ba0c20a210d532f47a3a32470b51e2feb6ab317e03416cd794e8c04695dd066ce0a75c5690e14e21c48c13b961995ec28ab380b48a0373448fb5c08006cdfcaeb8f85d775527f5904e7028821a7f536c581cbd4250a903cfd24d4c98cfa5f72167fd3678cf505b7d515b974333e88329e005876387ffc303e45a56e9b006f11b9de2ccb164e6294d74b758346ce246bc4548a4163659c44603c950c462bcd5312851805594e3af7b0c0828b75096930dcf8a927675bc7af986037ed2c22f240253d17a4c26ac5f549ee7752660de4d22c33977b6386200bdbcde03edca315f3d2ef93afbf553088b74f413c31f042b722a3875c82d59596016d747036bb357223f367dac39526ac9b78a49cefb30f91e914a567526b755d1acd80adb0365a934d2226b1e065fccecfc49962a4f49e2290c88ec4c1a5a0acf798e4c293503df70f1c4eb053116d8cdfd7674c316cb7315302e779a06d924e8c7ff11939ca9030582538b583a81607f25a3ab0b24c559843fd42e02a3419611b38a57f5bc49800219ffff038884c6419b0ac141a7b87e0af9d01fa747276e10e60f2431e3ffd821af10784d035f1feb3ff9aee8ad24f0d16ab2ea408f23abc9cd7bb4b8b63c467e3443d3428903a37dcd5adade11bbfaf90d9539bbc8b2357dc9b7be9b8c40ba44af2f4fb6e4e703fa62a0a54cb68719c5cdbc13ada257b2b15fb47f2decfdfe63a9b36032da34e30364932396bf1dda01518089382ac71486f40f8c9fa1acd4b25a0942fe9bae4bf4031347f36c41e31f6e2d089cb38d542fc35bf740f7d3158f5423f471db4f8a5d640378d7a1fa05652b0fb67e3dac09a9c661c368e7738c45cc6e3896c1c541a58ca7035cabcf7a8d1d8f280a643467b0fc9a4efa9644e28b3cca06a582cba1a14941fd036d6031702c51d13b99c9bfe718980f785a71a66120e5ec51fe5a3fecc434ecad03004334655ebfd12b3880ea589989c98d63cad761259729a237be383948413d0003e56a6a498b5b794e1730b0db259fe88501887d31a0443b00b28612867fcb948b03b5fd7cb2fc76ac47c828e59192ed770b451a4dbaaca5d76f61ef3c5fd2219275038a4ca0816260a0095dc833f11000daddb4938a8a1ee78d50e8c3b05bd8216fce0363f825be433ee68579064b47f543d114dcb4042c7b37ce79622de77c3c251a16035430ec86abff4ed31e543b2fde05549c8c804e6994bc67529bb512cd18e36a000366e019f5315327b6eacf7b8bf401dff40f4097309254c94fb1193486abea118b033e40faaa68d8ec3d9cef99e156cae30009f77805e921fe35ab6bf9c91a87e894030317a842a5f4c5a83a2e8fe471ddae6cedd3f0fb62792dd5cf1546054f68281e0350a15714c101685458224fd73000d4952489cc51ad9dc41fdb1731e3ee3af29f03ff907d76045e3ad6c2eeb540b4969d973d58db7d95ee88094fa56cb95e6c1bee0362bf9a8e2966eefe44832e20370d20f87038a3345884a99468d3761a1ce114090359874c88ae40c7075e846f5249952e2a41627ea7c7123db5a1ee24844a93685103bf92e35419e64e3e5787153934f7d9c2d51dbb9a061b6e17147513c558a089c203019b782b6088c171520758144f8679c1b3faf9eecd9a924992aaaf325e4210e9037f391e19fb0023e7e4e03f99243968c98234b68c29c4a6f21d6f0dbbbc13204303374b095c6b7f33a0edf11650fd5b8e94963da8dfdcced8447951bbe2982d310e039c182da9f2663df745fb638d119c50d0a8b88ed194b0e5b9725baa612f860ff903989b8f9f86f1af0c46bb59739ef0efd1f67704803ea7f62d647e764eca7fccd80356c6247d2ea75a28d323bd5de103a8a97f3f6901fa5c5088f26b99333436d24800581e02e3ae50adab786a795431192cc1106ccd19dab9dee7e0fc53a345b46c245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c283cb8bf18797f3ba57f47321c2375d615081885dad15c9381083841e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0246f747dfc335bd6864e4a8f66bf1d79d355b8daf46d7f143f0b26ecec2476576a4c9a087f400581e02154847ba56589a4639404ea80edc028ad8f1242b531885afb01da993015820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026de478faddc0122303679f763558bce96ae75d14bd2fb49cde6be3cde25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021727d9f088a48c8cf02e316e2dbce7e68b29f28a18d0de2280ec42d19947071afd498d0000021910b503e2a893eb7e8940d880b7a8597cbdd81b0549f3abd0f08c6266cd3e76cbf9879d0322dd13c06f09fb6aa640aaf3805e12d551c70fe1a1397b167651c59ebcd29625030c80ab98033563fcb07bcae04b2ab3f78e4a1a49a8177d2245d40a58b9e897cd039031946d5aa48859b801c02cbd8f84931d698f7554d7a1526239683cd4e3ad8d0374c46577906bc072f15abbcff1ede4310e46a3dfc5aa24d158da1efb6263c9cd0219afeb0397fd77f83c05853cda46e7c04edea749c0aaa573c6bdab0719aebd013ac8e6ae03db42eb25bd683829d95269b6fb26ed3c7c12de9b4036385b4fa366bb3312cc490398e996777c46699970fef860e150181aad278156ce55f1970b96e1f5cae3e3ce0219ffff033303265851686ed43a81d68179eaa23c79efb21392f36bff34490ea53cde281203852e208bc8ab9b43dbdadfbabcb408be43254bb3a34120ec216d68639ffd54a6036cace01230cb5607f0e70b4a939f2b887cac0f31b0f9b2ea7aee4881fa719cb0034305ad9ccf82a2780dc8f6146eb66ee5728fb21400444c69f8c65e1c9e1a62aa0219ffff036b084ee1026ef20416eb68736818d0e9abc8adf841cf9b2ad6a714a43a3285d8031e98d9990d2850fe4e5fcd8977f49bf6695077e9d1b3f8ccc74d22107fa1ae230361be00b178a5f32c096f6ee9a75514ac8ce8f76ecabc539d2679723aa01933cb033b18d169729a6669d92a56ed9cc370de0bc38c7d7a1d0be4aaab989cf1c6639703a423ff82c6518835559280e2c5aec2cb8cca8ed0f8af39aeb483dfa7d0fbb29003ec21d2aedfddc245a95596a81d604a23ae0b0318f559cc82ccb918f22320c2e3034065a025a77440b8387cfe5b3633775d6f42794669e71a8ca5c739d870c315f7038fdf1002dd1888dc742a8556c9c63616684eaade32e5f9e3b754cfa00337527003c8759d19705926cf94ac4a0554bcf91473eb7bfcff74d791209cbeff0a874c2b030d83c0f3211a9cdfe578d247d0b9e57bfe26efb00cde170ef7d9f70892107eec0343434a403ebe869a8efdca667ea8691219b630ed5f76a8d72ff23a60c3d63d1c03d5346c0d24e415b08f640f2b2c49accfdf9ba96a9f3652bb34f739bdf3ae70d50357c92e0a2e8f392e2b7dd8973fa40f042f1513e7c13bd975faad0cb2d37692b20369366915ad01a61c58cf996b5c63db226b8c52c8db4c36086f28f1b610018acf03692302b43d5a9f0ba307b23685e4df8a8e09dafe32a30fe82b924630818efbe103f3457f022411eee59ad99f73d758bbcce9bc58e78cf453f93b09eefe88d2820803f62e572807850ee644a3af9f12c4d5c5274d34327cae94a5678cd6c536fc314803218b6c99d65fd6bd3e563b4b526b247bce91349128738e6ae1d30fbd42f0b0c503a5d9c247addce12bb3c2994ecb9755edda7323a2e487e586999344e07e6a0bf203954db0ced37a76a9d8a35e9235b4092da685686040fdab4fe61ab7ceca14227703d16f8c648a5ba2b245050310cdccda3c1a82ac7ceded63a6fe76fed8f04c101e034e46c1f942bc418c72a08709439cb2bb50edaf3539ab3bea2ded1febd4dbb5b70323ecf8cecdc49ce0ab39e465577551064de320bf4972150ff0ca307d5e8a4e090365295545e01fe1367279aa657884d43bcb1b174cff9f2f8f2b2af44a22b7970b033483f89cc1274cde03d310b9ae8e836604de685442818b4a3e40f4de62f81f7500581e02485124a7b99a5976ffee2363b21fe1f31ff1231431b9d0accb61ed39f849bf43e72908277a673000581e02edccc965281499b391bee3de7210108b06c86ccd1a19dd06f0e667db395820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039494067067d0d3e49ec9811850a5793871d090b5a36025bf84118d827497779c021913000385833bec760a8daed7129f87d46d9f95e170b91b3a9d0b0c65c98882933727790392cbdc5ff4b001faafc986931756ceeacc2ee7d860b0c77d831a73bf754e552403c0a38c8db5fd5dc7dcd5af9d0f494ee1676958121d36d614a73f58b6a127766903871832bdae677196d4bbf1037a2d19d7ce93ffe93567df160e3aeb004e010cbd03d8bf73f87f75269283b32f637d26f0cdb1a5014a3bb115a0fecf6d5ec77b589b00581f037be9531506f8c4942951ebada3f2efb096a1a663d165c8b68f13b70f80d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0311297e50470a03dc7b1d1fd343be80e7eb65c996b82aa1a974ade15d240b7291031b67f60f2ec7306f7d4574dd63398fd56b10b70286219226294b180dafaca8ff03298f87ea8ba26e7750e0ec117b4fe84677f64ef37fc96bbda91b71e62716e7fe0370b3049489a4ad2141017f0497850ca8ac59271c118d650b83339701af8e93050219ffdf03675fdffd3808f2d7cc84ea70bc631b6824fa78638b2440d0a02c815eaa2ed0fe032cbabe26d109601586612668c21ea7445f562d29b1163edc9dd9d4af2230768f03439c94d197d316c55860ba72db8b26afb7690911076619ef073080ecf0d00bfa031c6be2d6cc44a9287dda5d1623e8ddd5d265242c3f603a275c6ab04f9bc45b3203a83bd75339c53d0ba2ffbf0f02196ae4411c0a85f9e0a0fc277bc959c1e8a96d034f18b83a51952de1016155f96499769222851a063a56de2da376ab5f0541935d034eb96540f8f1f4f093c2bb5367dfcb0f0821c874ee0f37c4d3930ea4f32b18e303e47755d230518ee32ddb9487863ef68aabea9e982a569e433b528c74adfc58d60219ffff0351bf7d7f487d09833a72482a8b79598a4872d11a07720ba426a5da657025a9f60219ffff0371736bca49f0d06b5a7486e34aa7c410055bfcec169661939d4453f90f6d7e90035eb4ac55e0841e45a61c1906ad213ae026ee2457df219dec82fa6f4080669cef033c12b0f46c3aa8d2d7494a8141249d04f885dae56aaee5b9d2a2d275d5bb09a8037ebd2bb1082f0e04c9b5caf2753cc4f83a533e569816777479b9140ced60810603d7e17f1ca6d561202d25b2265c7634a5f91fd158eee81b9b0c1725ff7fd68d650339dc59dc7159878ccdd3d8aa80968414804ab890f2c122c13e91c82ea23c0e8d0336168bb20856b57677ec5982ef122726b92491d75fc40ed7ecf0dd67a931484303af4319bdcb81b256fbf1fe2679273f47cc9b5c370590ef189e49e38b983ce53803c6b1426f753168c4230c7125c8996af02d6e05af77e327327ca7ac75223ee40f0340ebfa910df0a52a1a32eef4cb566eb9ea9f1f11adc4076fff2db944c4640179036e1f72597cef60d659d51649fa320ae2b6bca546f7344e3a03c66f94b11e41cb03f180142edcca7c5383f8289906101bca7d2a9387130b3bb795a13611003030df03aa9f5fbf3c42a34ac64b8d4c48cdd0a03f2f5f1c7e1627d133c3c98620b240e903e7474cd4c11da3336f8a4c21693c29044418e31f7f73e85d03cfdf992165911703d6e4595f35c579ff92691656acfc7b136214eb009789906852ae7aeea451f5f6039131d726066a3ca6de19c29b0e745dbd2d4d04ecdfe5d871946a35f30cb2991503170aff0946590c48bb78cb08e6750935ff3e97e20997037121441ba264f689d0038c1e028ee2e0c7b9d236deea8b79c3d1eb4c659d37daa5491c190879d8a686e503f8766f6a733cddb7b01094260432c4eea618888da653c22097bcd08c2cfd8ccc03c4a0d0a2824f3ed72a28a6c026aa8d205f5fc93a6014fd435855ed485438a8de0384ade7d579b25ad79bcc6d90381c1dc3173054ebe8a2c496d94dcdc41c1c23b703030638c8f7d913d70696c72cc9f17bfe78db4986780c2cabe2fd4995f2beef2103219b7bd3f827a8a2abed35cd124d700d5caf224b603b297f6ffa00f962ccf3e9031473b34f106c5ca6782a7699b1d754417b98f75684285c6b065034e3d5ac0a8b03edbae528cb5412d341c90a4a15265e9294ac6fb283e3e707155a8e7153e748e900581e02af5bebf118f89d2bf0a57baa772da9cca7f17c52a343ad0dc9cb162e5a46cdedf89d863e00581e0238faafa3187e14902c3a04d7f10f58badcba84045df6736062b9f8fcf4484017c68ab06486fb021928080374fd1bec9ff15719e3d09073ae1361d1bab0bf2cc9dba248ad7f1a6bbab75d90032ca7059374ff5165c23754968563466ed3dc62911549d2fcc75b633b2d4c20ae038c20f8005161ae11776fdc2590d7b204810b72f1290f94d5af631a445905f58e031a4131562a1aef1497dfe4edca556fb83dfbcb152f87bbcc0d87f68b9fbfb9e503356e31740d14f447ae8287787785a7844b076c3a3ff5ca19d832ebbb316b39f60305ae95f7d745efcc9d95d914739798268c922cd57baa8015bcacde20302eabf70361407949505a24acaeefe8230c7d6a03ace2bba1c0e197752b3e24337db30deb0336e1bba9efdb65d0b33ae6a0a5e55bb6d49adb133a206606d1357a5bf1c5f8d70337bcac223c943c2c52b3863de534c235de40a66af88ff0891a5abf80ff31c8600219ffff03260bb66c5c5ad2e8917efb19d5deeb5727d579c526b4343331854ca1393d71d5031ddf0e13a1ca3cb4b75719f3fbea6fbf5f4c5e88d161b88091230c43eabcbdaa03a89393d853ab3c4b11a5ae81e3b3503430c6bf83f456915af423a3b54ebd9c6c03fabb1efdce344b6c581a2025ce7301236c28e71eb795dafaf9b90642c291067f03e087c823c00bebb27a164b9c685e6aa9ffc4fcb10e6ca191b6c6ce20a5bfca66032ddac43f5784f797957313fb66b22546186f4ee5b7dec0db618c13dbe6f9bc1d03554f379d374561d8138488c95a97fdfb9ff9c24f557615fcf79866af49e7392a03ee4bd9fc0f57626a60da56d1293b3520a5b959ef67f5b725d0a542bd1e5bc414036e10c36d8a2d53728aecd5db3e30088feff6390bc173cad01b7e00c8c32cb1130219ffff0339f92efb414ba4b1dc05a35f909d69e3ea2fa8f13d967510d3912e3439185cd903ec8c7fa81de3ba890e5790af740ac27b076849e88248c9905ec4e30c3eea9a9703817936fd774ecd191191a4dcd3aafc3d83c1aa3ecdba1cb43633ee401bdb3153031b8dbaeac0981e0f2461ae52b951fcef65aa7dc83506fb5b7962218ee880befc03709062b0cd4832c16fc3f2f63e2dff7e1c1274f65ac896d8ffba2dc072f2d03a03a5ab9b34a3df541d0b041c5f4d650d4191cd901236064677a09eaad15c993b7a0317cecc1b0c63ef3a91f276f1f43f43358d48b1ecef4243a3a1b6eb192a2ef023030a893e53420f9fa97e93d07de591ddd6a9aae12a8a1662fcb6905294ae5a67c003c73bad0884869fb757e776b94bcbaa0dd6502621a47cb385a1b2e1a9b6273b510219ffff03b4a86c469b0897cfb1b3ba05b21fb64ea507625bef885ea3add0996ab91928050367ea7662cc1412693a15ecdfecdb907d7e537526abcfc91b4921c94407b753a0035b52db5f46402ed9723f84b93a52191374a142b676fbaf9252dfb2b08e36ff0a0219ffff03a666cf0f1160f2f61289c2180a2e556922c6d3a19c401b1ff2541ab43167364c031ecc5bb0ba630df25f3ac46fb185b2eae80bd717c3d1ad8430b296c159c936a503f1421e81986c61eb106a4e663673af48c1337bcfabf91b0c1f34e60c0d7d921f03abdc40a40d74c909d6c5969ca704a2c47de796e6eb989dbce5fb87abc8d48249035ee8b0b991f88d44584873b5c9a0ffaf19c6180a5ca78df3727b02f68e607af60378e5bd484c612f73df3244d1e17685757eef4f0bb0aa40b4a279402aafff4b3b03235710294be5154a4847099a4d1aee1e9cba34b6982499e8da1bbbae94a79ce003fc7dc547ae36f09f91fc5fc2dcf2595def354a94be5cfda0aede62a3ad36390d03fe76dbaf6168523cad91a05200e5450dc6df0919698dab920eb7d3633013d54303f604026ba2301be60367a3f6e6032a00b9e22ea96a493ac800210b9aa1335541031d63a13457b63d72759661eea4e9bcc346991770634aaa0c429ca89495da605c03313b940a13f64f2e4de2fb90b1ef6127b0cd8123cc064f65fdc4611830d3ab2003729e3c6d6fd93de4ea44d2f46b81bf144adccf38db37aa3bfab403e1d442613e033f1abcff275aa0036943bb1d0641cf668c788f9ce24a47df7b253a768648fe5103276077af52e6c42164477accbfc75fad2ebb4e4463fec06a3b215e0e884046af03c8ec1fe1b7a76ef6e0c32542932e6dc062f74cc4bcc7443b8ea7970c3783ca1a033ad4f2ef0650fda60957ffcace46f7ed6014153c66ff959881b73f1f331d4e9c038c60e13f27a0a7c75d40895fc488c2078c4c8f9dff5faea0bf8ba2301700b67a03ef19e755e7c94ff794000fd00f55fea5386d11e979117c19db8fc5aeed4cc5a703793995e2aee71c7c727e0672242afa213c23aaf414c66d53ee32669e0e58ae4e03836ac8e9d11d973fc321946a997ffbdf8f2fb864e3b359c255c392d94ea153e603b896ad1b4fa715a2460e252f654667296fb27d3b6abb03169f733dddd7f1513c03332114aea8bf3845c3d4e4e174d3e8a9589e76b7ca7719e908b33a2633daf26603703318a24bf54da4aa4ecb91fdb2c9923a1b618c5eb70ef9b689ba2862cd74a103c14951c2180b1f4f8bf3be69cc88463bca09bd5478849fd42a156c593107b4ee030e1712eb144cd7646102d493f9de17ddd5e94133223066b0954b2991157ecf3b03195a1dde055465d8b64e2dc33929871f3c01514bcea862950584330cf9f4ddff03309a95fb350e311df83ecca943c06704b7901039792b67bc0d3a796797e220a703097c1c626fe6dc74009c294d99bb1fbbfda94f6f13a4678bae9b31a2c9fc0192032ffdaf666fe71df82d4de4bb2e5188ee570d7355c32752edbf227c3bef6d61560333aa28dc11577aaf19355fc19ae906d4ba4302c8a73256b5198f761c4502239800581e0243961c15856da07ddfa7892eb43724179947fac896fc280d0ecb5266944828f112398f47a91300581e02140740f71daee7ca28a7f0deb17150961af3aa64e8d3a6a444c450ca9d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02181126384d850f8844baa0509ae763e5f85d1493fd5d56d2acac5f64a44705543df729c00000581e02b4b211e875fcc6823e0b2c1c89c08986bb57034275f51d2e1cf336aad84502540be4000219860100581f031de0bbc2a10fce6d9207f6edf2a433a1deb054cb01a15a2340e0b0d6f4105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031c2922efb27c928305496c564faa3ccab40df1372b08270383937073179d725a031b59e88efe41651e1a4c349615852508e54658ccd4d64149875ba577dab9c2430391e1e098b30a7432be3ed3692b64b106338b4098d49262e1843e21117bfa2a850305a48bd9f74aa45117107406bf5496d01b3a443542d260db9dffaa3b32c4de8b01410803c83b576185cade9e1c114bb9be53230d2c8d1c41349fb092504ec54c9b371f590219ffff0306ad11f1aa00af1cc28bf4f4c2ec2feb0df75f20c71a6d2c4c4ccfa9aaf4e3560308a5b18b75beec021a14e0f7bc58b9a70255b4b817cd5027beaaf9f55ca4c0900356711fa1f3c1c27391d06dfbbb017dce999a07c94a87a51f76bc8abb49aa672a03bc33f37297c5c6e76e33d2bd8a6a01d3f2a0e7f742982f9d228a879f451bad7e0219ffff03b248971ccde2f314c720a2f817d925524d339303b4a39a07c0079e1200e3471c03dbd93fd8200f6c6665fcc804e6eaeefac70f7a64d7cf3941f4b61db912776f950324bc0512c38d83c18356071b6c4720b6cc24796c3eb428a706ee5c4d8cef7d3e03c9fcdf68fa5d0c3db2ffcad8643e33d175209e07e0f9487fb5ff9752df6d975b03cb195d1202945ebf03c44330b8f69ddbc4750dcab774f5becd3207ad80dabd96033fcbc7038e23603fe7187d157e43ccd9794cede83edff1b5cfe572a8aa4693d3030abe0d767a76b451cdf7a0cbc268462905a54faf31c71047f214b9393f27ed2403223257eff9519843f2f98c3883c142ea26141d7a3cc5857b90493db5fe865d6f0219ffff039fce7d1d25a195c03b439e21ef638922d3bbb89f1e861c3d9fde61b5951b029403b393a660ba73c4e065e15dbe6467bd3b41d1b067a51851f34a8783e33638ce16037eebcc2a4474f13f8f725cbb0cb003fd90df264ed58d6ce0d894c7d5db3cb0e0037d54b4acc92f918c4a9880ed629cd12341070a87da5547c8070d5a0da8c45c5803aee55e71f676ddf053e98edf544a3673c49d258047c520b8f1267cbadf2a1f0b039be2b355058cb8d080f7293775e9f5754faef0a4736b8755e18adcd4c9f2454d03bfc36edcb785e90d29f0c934241e97ac6878cdfec546b272c9020e57bdd06949030896f78fb55f76209b2e60b8162bb49b3a02cd469689988853cb8f5e524022cb03625ed96debba376b3d49e882e0e06151f0399c86bc278744c048635713d65d300348cd17dee352416f1063a1cd0f22d0d35f383762040825bf4b6f0658ec3181c1039881580b1f0e38d45c2aa4e4867d67a7db34efa756a6f896513762c95e6af736030ff0c664d646feaa1dd95565e26d5e19d99ad08f8e35192f421425e7618bb8620368baf1dae99aa8533ae053ee2a04c38714f056391f7b4936b35e34900bfa0a6d00581e021b5cef3c479880bab1666df263ff375f1e93bac6410f46c1216a5189d1484917091d8cb8e97c00581e0267161368231c01ffb1a428b8aa53781890ca8a130f576242c62e3c76255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031fc4365a59701a2bc8fe9b276a9865e64d0afee8e4c1085969f4032ed16b2a700219202400581f03b8697ab36be1a301ea2a85a1f548bde87e700542adc2e8369924996abf205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03eafe514a5d5bb57a8d8ff7381b45d91cb1bb623efdb4180d3056f35bc3493ed1037be8fb58a2bda5cf972ecf1883101cd399882f7826fc462d8cf3c260ddd9d2ee03aaab1ef869fafd9b78271943c2a4d1e72d179915b0cd1c2cb802fd2079d1d1060357335af511c527f511b83b9dfebfddb8eb18b1d95e2c28c35f2dcb4ba3a6fa0a03ef90d684499b3a35b7f9b0ce214ec792046b019b9cecf92bdb86dd05e625f8a703b2b02c86d4be4d98bde4559787a6797ede13027ccf7e23e09be1ed82b42d717a03667814950b6e65c450989ab0abbd59f5f79b5ea19b95c59aca127baaa8d2bb340382a36ebb2138708e393d548e332766bde089b26ca190492aaff6a6a7e90ff60b0306661a49b466d3f411857c3841b0e65623e57ada3be7959f4ec7927e51c6cb940219ffdf036e15024a25d4b08e0e00e4fd8f0b1e6c8d63e36b191b56eb94b3f2634f7f327603f98047681c58adb64a97bd3442f36daf1ce218b642bc156fd41189b426edb51103ece2e8defd2c7466bce2af4c535ed759f5ef815038a1ba2997d2ab2825f7572e034614d5b69644650e10c3048e24e68df37ced484c6db55a739bfb99e703e796a0036955159e5a1052a91d5b11412fb18167c11af9d255d13a8c6ec93f4142f09c97035d8e84c8ebcdfce3814e52dc519c68b51bf491ec434dc34644421413ec45435b03b415c4adc433f9efd33670c87a144908171b8d0f9672734edbe7135417d7fe04038724cf9d5ad4d60a8a58a96fbc822e20919e13de85d920257961fb123d225afa03d86d4d9402d8aad620def20fd48a76ba2f5c4dd9eedc3714dd09fe5f5d1a676203fdb7634a5e3ff524f662ec92595d2953d89497615ad17674e6b244ea83a7c9cf0315ae75cb5fbd03c426d1dd83b7d3bcb451e65a08e108a266dbf4bcbb300543d0038a821ae4e02a06f355138e2e70f76e2ae6137ae8d70c625e7a70a5c12fb2049a03f14bf8705c98cb78b9d9ca5ad1a5bb94f711564454d01faa19c5e64d6b7c777e0219ffff0302b0f8e9e0e662f317b13c2e0b505beac7d1a05b069941307839e22dfc67f5e00343fe988ff6dfe78e4c5b88904babe9308dae07cd10e8430075ca1af45880aa7003fb745446c9806a02c113d876014d7e6485a305595e2d11c95ed549b3b2792fe403ece1a826e6f2372d2672c69bd65946968b338fd4fa2bb249605cc5d8d78c1ef2035bc3163ec0f5978b88aeba592da2b6b7b0993bee518b2b41d5e7299f47ff2ccc03d8f4db19f1789205f7f0de991386a8f65394a3ced3221bbe29793cd84374382c035bee06e522abd07dfc3d38b2d9835b1d233beb29c24c074f7383f69a3b6e337d03369c32eb1b3d5f5df4e2241591c37a33a5585eddb8a2407e7cd574a91114231f03b525d49480ea0e172c1fc7c57c66f7e773ee4377a6db9142f35d01577f8a828103f36e1522d15ec0adfaea745074ae1a1f9dbec122988ec1b2f51cdbab124fc86a0219ffff035be567ec4039bf2dc3b036ffa4737aab6be57645f36c819bb5a22a7d2c1a5d1103fc5ace0e510b45bd63146861cd14359751759a2351c6e7ffc8dbeef5a727404c03a7331aedcb6727ae273bbad280c74513722fb7487b259457c76a65fffca811fc030bde7c58b9c54fe9c97a961c47ee63cf6cb549f21abf5680e3ad85454181b3d803f9c7f00c6b78d05ce953ef23085febb5a7d29c91aceb899d8fead6114c16d88a03719f3e3ce6f632a888ac1ba23d01b9f8027cb150240eebab27aae0180533144c03ad6a54d4556dc80a5fb50e09812dbaa968c289bbdd90c82e9d9fe86f8f12240d03c706adff2d5e3d7389259777534b9cc87606c1f6664f84dc5fe24affcf4aad9d03704744c1456204fd46f794ccadce22ccb5cf2450fc0704e3bff864591b46862303f39ce1e89b6613009bbf32cefd37743fc7e16fbeb996e0c35373d1c189686fde03a494350e07f272ca7a2e2bbb3ac7f06b6f3fcd4b80f2549396e6f0be04de8fdd031f2362afd3d5534d4e453af636e25a15ae4157525509064a11b966a56b6b109f03b906764df450654ee8bd6ca303ed41e1734d9967e74513e343fa0e6bdd3e933a03e4abf14cc862171ac17c450555bb4c56176c4deaa5b374f1c51096a519977d5803c6adf0b2b30d110aee7bdaccd1f9a68f2680056785bad0640c2a6bbbf9d710a8038b4254277a325a30604664a5dc6c13152b9620fbe42fa23945a837f92b72ca8303c1f913c0759af4b22b5a2e9d74be7f06c4e3de5f220cf368e3efed7ad028e46e031d19d43d3ff6ca39c318175d001211b95b95a1cc608d86910cd75b3575d5c64e036328a5a0a96aa64a67004dcd45958cc3349c567bebf46c1b9be60c95ff43c89d036586a75f3ec7cff0cd6bb650ba70b7cf78fc4d2af2ee7e0a6606730aa149c79603762aff8a01469f1769e400216580e9cf7c787fe2ea190de6282a1a575325a66f03c213123fe1a8229aec8a739059e378aa27af0259577219ff5e8cb4ccbfbfd81103043392f04dacef2aae2cf0742132105a3ac5ca5c7d4ef2c8a0dc675574b025170316574bd2104b63750c39a9f258947cc7ebdedad59c3933ed6eeb52761737e18603af7a402701988ca4c5632d15075bf245e0b8321dd1e35a79863b96315c83e6c603784375342b56432a6452f14d99789bc3c2e7769cf8426ed4de8a239f3e9ffe950305fcb80f73bb11f428ff0ed309ce624763c3157907d6fed645ec06d7ecc4e9b503646e25ca7147d3c12d45749b5b3200ed31e54e494c2a2724c7aa84f5be30f18c030e85908b2855df13a6a78e98b0b670b1e2125299abb01eee716224a1fa2716dd00581f034df5e4df356105d539e845b69c451db4264625516d17dd29344f3d0a3bc0410203dc0342a26aae5517e7e6aea6d67221f64b7a5205c55786e6bd45dab3cf2bcd9103efc6d38ccfd73bfb467ac06ea0ae2f6972e8b82a191a79712bdf1fb42c6ee47700581e02e83ac47d38ba63ffbfbb848b31be68e637e1dfef376726d4a6cc1fd3f747071afd498d000000581e025c25668409bca85b9afed9543e0f401f07fbfea387c66e80a3e75faa434905bde58d054b05e50600581e02087bdc92a6d0ff6a9910f9e1e02c68ed2f4bf823c479e957d9b892b7755820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198180035fb199040ef8307561eab0a6c8d507179133cb4b8ca5777faacb333cd3937923038897a5d835bd990478462a856c39583e3eb5990c8c13f3344b9236fdf631d24c0307ae4c2ed9aac1f3d7b8e3214917fb411161c27eb3092b8b720341dcd22c0d18034f2dfcf2cb6049770765b39cdcc98beba5d87b72afcdf9becc43e1f9e5c3562c03ae291cfe593a18ae727192de87c46e22e9f587cd87a68508418ce1c0c295c41a00581f0366d9b8611e0f5e767fe6fe9c7e32d0dcd80ace11c1077e083c591bc421004a16c1c1e74108346c91a8036846d1c770e96c86fa13f78cc9df0e3218323a1a832c713e1c3df961c27d5bf1038dd197e68b6ec4302fec8d00ef87771766753a4b446ee75de9d0198c862a933f034acb9e7152216b2e6e008b7d68ba9959119e193ae26d402959ff1fedfc6a86fe0219fffe0320cc0766ed0ab5cffc33fb2df54c3ffa7c3208b70d74e7bea880801ee2ec8381030eca398ec1c3bf349298f4d618718ca3b2b1320f43ef5ed0ebe13e97b29e32f90219ffff03f7c0c5154c796abb8d4539d5fafef520bbc70e2d9d323fc89a98be86418781fc0219ffff038512ad0f4eed77717048b23312865b682fbc71667a9785c1195b471ae33f619f03517f323c53b0735a2f2ac640999d957cbc2280864a25f8839f2025573f98fc880337e1b77a241be41ddf0fd61d566557771dabe332726925808696e5aa662fac6a03dbb819fbf30b2cd5fa07d662e3788ba1cb019ceaf77cbaa7990b4aa3d4aef7f0035801cd162ea143592b26a372ba9f908fa166dd4f6f7aa9173a048214e3593533039a19b66c00bba1b5332dad1733e2ce761944864246ba1fc437c7c21c7479c056031b7cbc38449d57f3ee800bac535b62deba3659512e671dcf90c5debbb359a18803e203fe769800c7e17bb95056cde84b2130da3f075e4f9b1dafbf694c6fece5410386f09695002c827d7e41a43fa4d3f31f349d325fbd040708c420728eb2c28bfe03907065d32eab259501d7fded4cf5aee433da64e03163e97114b6bc9d20d7abe703cf42ca9e44fd42478da7abd69a90750ace654537f02c64bd9a7dcbcdc1ef74b5035a1b8c597a1cd421d5a27385bb5c86e685ab54317038c3292e106f31680d464e03cceec4f63944bc4c7b835c61fe709738fcfcf0889ab1a53307adb9e3738c9760031e8cd32e9afd634a7c453a5f38cfe8deb59bac068fb22492423499e083cd637e03dc65fdf723f2118cae5951a2d8e8d9c3b0d871cd892643ab40e35e19d2915bbb039c3f9bb08a53098b12b2fed4975e57d704cbdca4d47bc0e63f87f729799befd1033bb2efb7c42abcf00c5cad7fab31c8d85b4a16a4cffa0e0bdd6cf917d42a3084036087fb45cbb4e9e2009f8de2ca161a112e98f955e4fd24221760dc6b04f7adc603c32138e33937353e124c43d07b3272b50be89d2be1b2b7de06590eef0bd019ff0334378183161a1844a26db8283b06024f264a66404248d9ecc3adc9ef69a95a220332abfa3d43a2ba9f0328679dfb0d75921713c3c6aa22dd8dbbd01bde9a4b0bdf03d1a89e81b384e15d082477d2e6cef42e2e20f83ade04a0b6f4bf44143a0fc76003d605b1387bdb234db9e5645d78793a208a941db84c410a9f490157cc8ff6ca2103bcde355178c0d07fee7b8d0eb10c1547b5540ae28778d75aa4a6b83e3f585e9003d2e575610296b98cb1cf9073788690bc1fd0bcbd87f4eae2e76ecdf4d58f95eb0345d10c089359fe3b2f39cb05e13198b271704471173fa006346bce72929c3f55034e8966979bd0f90f5f550fdcf86498166688fd16b4de96d85f48762f6f9a6af50353d4a34c09cf6e037ba75a77acd99e1e14b716a44c479bf70bc786bc8f34477803fb45923bbb9458b6b02a0d51044a63e5335a71ff595c0ad385e65600888903e203b246c7d71810f9336ba9c07cf04ec7dcdca2716d543653c95d4c21cd8005b49d03f7317c0c97c280fbf62cee643edbf6190b3675a5d25236ebca04db88e513f84703e81a60da9aa48d7e4ba1b9f0d8f72ea15532872a967ae127ae10457eddaa34d4030357bb2d5de8b3b8659f980ad01ec221112d7370dbe285fefcfeb8707822bdc7036618e9aa08e0ea4295732e7a5e5ed26e135b4cdeb07cf37a3834c7055de4f31403773516a4c031b73d716d3b4f797e714f6c7076dbd8a99d0c15a45cd9931eda2f03216822f7d36120b07d3befb03cdb67e31c994b2d1d1f9f5a9c72541ec53aff4300581e03aca0393f4fcfd519bcb79d862602d1a1d7c31350b1d8efd8690a4d0c5049257e0112c4dbd45a8e00581e039dd02786abc28dd65692e74f557f2fc867befc7317bd2247a2389288805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219082000581e02ea16f772c86d73260688ce94dc942b5abdef5191e8cc67abe54353b2ce474c34a94e6ea0000219120003de89f58db7791d7a7b95d19a196b17d995d36296cb80f63ff4814b59850e51f0036ad3ae41aa5402eea8e42673a7cbd75327e7d226879703f3c50b3f872c4fac990359084dca73e4d840a5df06e7ac60336015a8fbb3ac842b586970668203714e0e0219ffef039b6b8cfebf4e8e2a40655fbf4509c9f96e0b44518dd983593b41cf1a690d06f803367e2629c7f483d55fb68a2c6550da900c61bbe338acb8ad2f55559a8cd08ffa03d55480551df83c9bfa0887063c4875d3333818434269cf47b64fbdf741489adb037c9b105ea229552ec644f9d0951c58a2d0fd5fb606ea8eb455760e5d47daf39c03b7b93c70fa1c539a80ff7eeb1350420441f154404457f584fd382e7aebc4c3d00322a270d7291036273204a533f2c47e0f4abfbe21cd3df1d0c29a039f20b0f35803a76d9796338c6cac15973d988802f5809e5fd61e83bd7f95dba426df0637f8cb03857fc6ce10f369bd545f3f3cd41cfee530dcb5b2d32fa3d772ec510f8992a8780219ffff03397a3f094d1131b1d57f361f6d85044cc3ef2a9d66094604ae0ede04ed40ce1b039aea0de13b9e9ed51660d60893ac7cefdc93ac52e6b1e672d262d027cba330c30219ffff0342346751f6e3da33637657399f21e36b01589b73c0892c5fa47d0cb8021bd7ea0219ffff03666149f329088dded92f58e7ac415abde163c4ab4376c95e18b5cba92aa9c0dd032cac2a24829b353773ed48630305f361398623dda70988310944477c00b8cc5a03832072c542e3881700fe02d00bef658fac441a06165d2cb23360cb521a7c8dbb035015a24f29a85fc80c797ba451f40ba83fcae670c0bb1abb137ec053c75cee2a033456f001ee2a9092d5110e8f9da45203342f402b368d22cceb499aedd35fe10b033efcebf721d30c4ccffd5e6f4523e88bd2c9faf30ec2636b85e19a2c3d8e7479038e5dc4cee2719f0ff12479753f2cb032bfe96eeed75edb399fa8aba6b32eef33036b085a429ae07a3324cb8a84c786b761d95206dd466ce3c8a9b24c03db04596703bc85b450a89aedd07d872bd64a380f41ac8c7d3b4b078b859e2ea6aeaa82338803539c4a0eb0d06a1e7265dd47029b1040de0df55af1c0d03203844500a09853dc03a0e6281ffffbd7766e60b73a34a873531b3283441ffacba28c3a600bacaed39603631710005e4c266415ae96480ed91265996ca3f9db83de0537a72740a12f6b0c0317f5d82c586888f62692345f5c0a19daa9d6282a2f7e5b70d5e6405d61cf6c9b03965d7be8ecec83fb96be522c9977c8bdba99bd3122184808e3a69d2327f668190360320d27bb5fa06d28e1a1444c3fc79127232fcf89751968d304b01afe50605d037eeba4a194af59c1a397969be20fca14151ccbe8671110426680268276f4475b035ffb6d83f9bf7a75de9a6f38fe280f849ae1d70570761cfb39555cc9c397e03b030ed56ef386ef1578fb45ff973ed7a74f3ebdacee075172b47271533620e5e391036fd3ef41defb086eec251560fe6d9be4c6a2c5d85c4acc43818bcae23678b3e1035ed6de086727742e57ba26839ced08bf2621ac8c435aeb506faca9d098a68fd4039e66c5e902e17b78fe7b364d3569f60a3f945d434e87b7198b4da0cd5c800a5903e290fb52d85bb0d6c70624ffa1679447b044a73bb5410b49dd9b9277142bd9cf0393d8a0dfef62f57ae8dee962c8255dcb8b03961816f09d84a82ec567c3f93e9c035eb82b9b74f71fab43a9dbd2a81996a5d2df0e9bb5893bdaa82ba6a3be76855f00581f03f1b1afd1346d2f026e4438c74efd18b426451be682441e6f08852c80ca605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e12bd676e22bb377cf91fad80061936adab0c26acf6998bd513a90a8900b24b203accae9024bd9bbd616842d99b8dfff78d78637374d624acb443be1cf322765a100581e02afeb4c104b5ae4fb7d2921f3dabeda457630e42dc32fdac4b58c72735848f9ccd8a1c508000000581e0292e192b7e4e038e6906bc2a13f5457630f6ebb5f1a25a71973a61e3ba1465af3107a400000581e02a6e27b50983364978943395c706103c257330ee3842e2161f8ea4ce2b347071afd498d000000581e02d78055ee4766f1889f3dd14379c1c2a326e078c2783001a03597743123470120e864e99193021906880313ec948168256123f36c6ec7bb98c7e76d900816405de67c1e3c8bb4d263c2800300e72dd4ae3c3dd9183a9ada073e221f908ce40243852c80436b80bbeedd2b1700581f03b614388796d31747349e093c4f0f2012dfa99e38ee1973e4d817acc3aca05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d0fa20289fc92c14796a1dfa571407bdbe821258da958c1893f77c97f77539940392e0844ac7409cd904dc18d07baeed3f666ce7b3cd1a22e656ff8e5133a622670385634824db2d00f47442e75e99dddb0addd6e624ddd0af585b5a74e49e1e7510035b8d2bc654be92205c9a27b112a827c1ce23815673f9b69849a914e72e62c4a80219ffff03f2d177adbbbbe481992420d4f793834b2e9d1d4a9738c7ddb9a1b7b6a4ac7d5303b5928a71de9cade3a54af6e9cfe9e21316dbb5c4e63c88f844b07b6700ee05e803fd7b3f3b9b5526053232529167115f496990223caa5a5ffffef14bc28a66293303c6edc112bd46c58e137192a10fcc6c10ae8c7b5f461f1cdbc66adddd4c7a06d20306397d41699ffc0b0b022a54429b660ebc1483b932693ec724b584a0cfcd374b0342a80a0595cf31fd2a347402d0ac48fbc7bbe5901633dcbba69d9830da41e0a9039bcfe67d8d118f051faeffc31d12deda4353e27a890ede18f10be8ab643bf7b4031ed8117d180e02087b634c183578b27b976f8a74a293ba2d1bd31d52d9d864db03b6b08eedc05cf3b020fc59e91748ded19af37a4f3485848852f78d27a122e380030ace3da4623ce1faa61c43f07f52ac5c55cf8b27dda0c2f70c32bd5c1e58e950038c46c0c5c06f04f962de291eb77c41d667d574dfc089466451b8906cbe0a0dad0330f954cd6f639a1b67e39a6c606e4de1226d329ea1867c5009404a3072e28445036a348211ed9329c85da6a9298f4822d09ca074502852e5564a158ef4e617e7d503eba5122b710411686956d43b0ea97f54d023030449d812e5299d52a237a7dafa0331d0bb4306887b8fb20018526d84207092942c229d6a1fe3951767d71521d6b40219ffff037746cda5e593d69d211fad2607a3701eb1b500a88b6e157f9ae8a43686e2bc00033703557f22f610e406e0318b6583bbd14417f65548ea1be65f199823892ce4bf0219ffff030c8946ae105b5a281936be0c563e55a2132b4cf200da090223cac1bf328a0adf0306b56e43eec239a9e51c0383d0862f74e379f437edbe1711e021dece3b101c76032e48ab5d19f621487d5aa22c8c3267c68284a97b8e631475d322d8e7b017789f03b2df841d181768846614ade1ced23ee1da3a820cb4950862d5d1883281a32c37030f610584c8d33201e59983875f6efc4b83531cd9df633c0b2e6a8ac20f9790e203c5ae38c7e72bb0d5d0b37e61e6608969ba0323a70bbf3ee8d78f5ad3c3531a6103161f940fa3be226289aa4c980589ed25620077f6f43de6c7ff780ef18edbd1bf039adee46b226a029846ead94999b4b8099f5e94fa01fbb5355ccdefb5efb14e090363aad0cd6d733050e6ef826628e409aab318080a66dfc998e1a0063d57b83be4032c55c2dc1036b12f076fa6b992ec236feca41f26b30b05bd0f5d3b2c010e7a8003caefafc905c6482552d526f390e7fd7614e59c2ee750f25c381909a60c58547203fe247c1a6b28cff79a5b68288d61f141fdac830f8a108b512276310d37bf720d0319cb78c3c056be4a2ee7714342e0c2802779aee2f99757f0de6eac341918695403c18f7a552ea135f4f2554039ada3c883666a490247390699969e59f2bfbf592603e64d8444d9e807adac51cce58f39114762f56b7ed5d30cb7421198055576e90a00581f038b4aa533fabde72e405fe4adbf787c0d19b3136008a570a3edd8fdce05c0412a031429e6c8bfc0bf939d05c76e4948bb5f5576e5e53d58f301b747d8474d62a2ea01410a03cfa54c9c989a9d371dd8c0bdbae19816d7962a56cf291e9f75bd2abbeb88d8a203087cd2d74d19cd5b71bbdad6da34ba1a9d6bf232d331debfeb8ee8d8048fa90800581e022a00d6dd8fbf187cdac84c31a747540b69c14d0dd18e2cbc14a7ddb8b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b530d6bb8fda542e57acc1c11c8ba1ed193508f93eb9e9da973e35c3245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02edb846397b821658f7d758560f1cae33066b31cf7fde36d3692a5d264349070559f0befd626c050219800603f1a4b63ad4ce62990d7e586e28918b0ae63876053e4a51a6e90c6519ad76dc160322fb464ca8582b6992a768ee706e9c97bbcd8ff9dc49e3811d34ea9925ce64fc032f0bcb70e1abe5ca44d6334625fed63282e90c091387b54cf011a0baecce7f7a03b699d748b04b3f8cd87ea98f4682176bc632756e1ce6df20d1c35ce77881ed97039fdfe7653b043f4a2b30896d98115586432b94c93c4d9058efd8797325dc91ce03e46ae2235f88f4559b28ebd9111d0544ed99e50570536a364d9be10063c2e4770374350f3cb77409d14b21070871db39e8bca8ce30fab0180e4edd2fe71e5771b9030c989f5f7329323ba31e737984c3ad1842b90acfcb292683abf228277a2d2e720219ffff03440341ebd49a41b3750e6fadad6b0111fd88987b5edf1c2a43701ece64995107038689b35440dbdf37d4c24931e4ee7f70729753d6d06fd72e286fd81e92b420ea034aa624ae3efe87cea4a0d70b5c994036de97c7a69c420085397af86c94c99a0503b103e0260c3aa0cb520906bbe7578e2a12201c715fa148b44d8499d3a47dd8fe03e466152c67b4fa77498bc599f85adacba8b17da66c9cb05e2bf7afc9b890588f0398c42f9ab9199b3acdf4d71d9315d5910366673e521a4b126c912f1fcabec6160219ffff034e6da7d288848fc9f0692e238c79442524c8629cc91db5e381dd2a3cc825dc6a0361148063305d338cec46c386cee21586e7a8cb92ecb65ce091f1636fecf40e77038b49c4fb5938072372edc3f07597e7625d0431c54927da065e66b6ece6d9bdf803f7f23f0b0dd52cb4ac90f64a78e7028d6f129c27f47a20f45315e57e2edb976b033ac46e89ed5ed4700af778961404aaa4f5fe9154a5969a42843ef43115a1be22037d7b19c5407b13bdd4a68aac42692f4be987058c240fe65beade562f0ad0e11f03058ec124a8ba88e15a4642e3d04f5c966eea80304cdc0064a04f87e5fde9de0c036b730d6a9bba27175f6bfe1c4f45da7cf79a5658efea4dbfdaeffc6de51f90de035b9c5728daa8e3034b4987036eea0b66b4cbc5155fe6beda6e7b61bc6347fb7e037eaef7433e560ded6e234b96831cb8a299f6bfe0aa1672eb3f98510e523e0bb40307b626f0dde902ca6f074828cdd814064deddf6b0d575edf91a288f6c9488aa3030442ad1cfed2b1e7fa1ea4ea9ad9c88131156fb8796c81f0e2adb309b5bfce3c03be7e31be9fdda6357c98c7f4853921cfaffbee74c23cfaafb375a05b1e15a9650219ffff03fc6908c34ccc856efd085aa9dab83f6a30ded6888f490f6b3115f74aec738baf03ce515f87f01eee0830a0de2bacba03d06697202a94323aaa904d4b8c0600144403f71f1fb2450f078a01e29bcf0c81e6e69d693d41164fbc031e3942f8b565333b036f072785c909a5c3588bdda7d58801e316b394faee3c3f93455169909d4bb875038bfa532645f3c3ad452a4b2a13ecd3f5ebd36d6f09870727f4629278e2ef194603265a3aa14d1054309e9de247c21d0ac6b4b5acb9126a49fbc0851df04aad0dce03155c69a987621e96e618f2c0cc055a0f98c29ed206839f7bbaab04fcfcaa2b1103b175b8f3873e92cdc6e142e6347ded3868b37b3279c959d8a5461c178f913e5503c2f6ae9040adff2d11019af07ac2c2b8e83ccfe2f578f45de0cf311ec8ac0e26032d05bfac9aa923a5146a3a7a997424918334f0087d854754509b1cc1c1e036af03dc92c91860ceda27bf888d5954b4ddc6a9cefb77f73cff057d30f35e89f746f1031e59cba5185cb96937d47779d846d7a7a802a1a5da56ceaeaf27cfb1c3308530031a4f8907f29598400356e5588d36dde23cb0159d6e39068aca623c4ca9813e6f034a1b94836981a20b78513ff62ab73bede91207a94faa0dfcce436dbd755e023303733dc0e7290306957af0889db35d2319d961c686253a782a026af29dfc3c9073033658f09fc63ca60ef84e89606ab4acd1a163b7ffcad39d793b5a49b7fe2e2f86031defd5148d4b1f70f8382505d7fe6fc4fb6e17eca8ac4dedc81f694be5fa20f403b49bec60b95b9040b156b494a10c5b13c998b7e19d3b6d86d7dcdadb6372dadc03c499768cf290d03847098b308553b9409d93a01f4c448c33bac91291bfec0b7703baf056266d005c6fe3b3f9edbca7b543f4121e0e63e37d30c91816b3454a349203c20b65fb1e91b3294dcd0cce265ad17d4c69307f85d56ee4bc2520f125407a17032cb0ca4932a56386916f65d177353f528493f97289cfce1529062a8c38755cf703c75cc24d31226e7682c72e2fd701371f4a9f79816d60943c7cabd65c6b43feb9032af969f680b3e2c370351c423a7715504007e5f1ed1f349c0cc1bbe8e3635efc0334291035ef8afe5c700e82c452d28356b89b67df1563316d77a508a15e857e34036d92d98ec43266f18990b842ff5d2aabb484097ce75b7a6851bf17226a4c61e500581f031669b635a74c25fe475a85fd380f7a60738a42cb8d55a89d0aba0fc5c0905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030cd340aedd31dc34918a38549e2f21c587912edc98b6246d6825bbefa9b9d93400581e0208faa7b8819a856b924ffe2ffb40b050f01baaee71fadeb5265bb62570410100581e0240a9a3a0dd65c43c0b1dbdcc9667c9eac22029c7705f6f4fff419023f24882c17c369e41cabb020a030d813290e04fb3200e8cf2c8d8b0348bf6cf27dc9af866218517de8bd713583a01410903b7de6592cabf2cdb6b01eb317abc474fecda35dc3ee50e85d05609b7000f5b8803c8162eb705446147acb6a1e24d42e49fe3425fa0b471ee08a14f7c6ee4675efa036ef83dcda0796f07aa7367e007ee8dc419a77cd595b437e1071bb663a3e49e4f00581f03614222d4c24944c558af19a59176877503703bcd5c2a190344510ef35850410103c148698df7a716ce204a91952863910b7aa904c0634968987c0d2262a510441b03c408779d2195039cd28ac412455409527e3cd91dc3babd6f9dda74bd4dbb2cca03fbcea0ddfeb65d22ff7e0d7b91b31a4d4d2e9b98b3b4faa0e976c3dc41eaadd6033e8224dc0ca844572fb20516d1be91e373e04ac9c291ad1e3bd8bf197e2b497600581f0309ce009d9e2274282138014262996680192cf83419c9c38724cfa21f8aa0479d795a47ab500003c3992c3758c76ad6c47ea76b41f5736f75584203183e22881268a9cb703168b80323e0cde534de3121263c63e141334986bb8e80b7f98ed9a71c14752867dccba20219dfff037771a2738f1bfb074a205f55b0210b752cd0f51c286bea2f0c1476b78ff9235e0219ffff03d2283d24271c2333c6a91b6ad6506711d344c5a2fa53a18decad22f01eb2d4610319ffc4c933f82fc698c09be9a2496066257fb1e188a32eedee05922ccd8f4f030308d4d2816ca467a05452f9183063e36abf6c3ecaaf3b44fc930c3d357065a5d303e3e6010d7c34cd1ed499b8b5f767f822cf846ae1ece25a97acc140e0d672be710219ffff03c2f5e4dda7d779a122413c511a70152e12cec18e41519953dad322d76acc9ea603f51b566de2b8062e8543eb2ca28c4649211d24a1b3572fc30690c4ad8455eb120314a8159e55f1165872281dd93d1569711017236b7cb94000a31ca2dbff0e515603f90c9dcbe2ffb4f7f5f48e6c8e418bf5fcda150ae54fc0b13010f0142067c54b030910e22f2be176650b2bc5001f762c898703bde4106059680e54c4d03593a0c5033bea2a4e7dba9fa7f152d92b029bc513cf8975ec218e26a7ebe74e00f728cd9a038017dd3e4124015d781af7323639409ee3305f6e2b7b5f72b46fa71a4c7b6d9603ef87801a1a97aefaae62fc378026e5f55e7d8a2cb829527101cd70617488f1ae038cdadd5db2a31644d8379dfdd4fbf71b5a1d08004dfa5acc00b1babda9ab26dc0386a4d4152c97826739bbeba954dab8cc700195398a9915d9d33515daa80aa4480382b990289f072d6a044d1e0ea1724fc9ea682f4f42c82f092341b174718d69a200581f03fb267751f3203d7a70ad141e10a36d6ff20f32ed23da90582a83995636105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03756c98daabff0bb33d548f2c84248c3515ae1984d226d65dab4c0b8416f6f53603d9fb7efa6b76074b168a413619038eddc0d5d7c763ab29b660cdf570a03d9b7f0354848236a099e59882cb0000b947f5d742e69fe52b9f3ac7386e118f5add1c2300581f03a10c981cdae5512da7abbae8b65e6fdcdf218c4dccf01449d70fb1039f404824609ffb30545e3800581e02fe29e0bf6cd82c350d80f743f2c3775e68e04be9e42c53523deac459165820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022dd566e0dce561f026ed4de7ac8451305b88efff84dbc4aa34ebff9b69490aabf35d943d74102400581e022b43eb31e4bdca1df01cf9971a459ebbcd939bda51f1d30342b35b27a7480241b622b25e841400581e02840538ae8997d7a6b2a238eb129ceb37faecb6417d983cbbcb83eaf0514705543df729c000021925100349ed9c91932694661a5ea27ecbf977b9b7c85597da71cf6a67133895b2729eb703ab68f9237d78dc573ddb6fd2562bd785bd975cebbef2e4cbbbe067e076be897203aaacd28359e6dcf420656d80c502b753313d3982eee0fc7e31491dd3c07c77c20398cc01d005d0fd44e2a8528109add8bf3f278feed71f2069a08bc84863be6273032c038344a710d20ac945cd0b88905a6f860c12250e4635be7b4a8c90ca10d382037eb078107afb62831d58d2b18de40a1a8c13aea623dd8ff596c7575fb742f302037e687b34c5034a44502ae5663bfb1f6d3a7bda857716dcba4e10618f87bbd09c034501b8d46f611e1edfb0cb540133b2ae6b63fd709c1f40399e56b15269bec4410306245725bd738e5d56f71b7d588fe64167a19fbc17d44fe9215004621db730250219ffff0315a2ecf0d5b73711d81b3dc3410ba3d4a8290da8bf9c56643e75d29a43f9419f039946ddca8b2c1287be5147110a50c9f79d8157319131255cc07337ca4360bb2803418480eccec4b91a19575ae78c6cc6c0e512204663aa95316718ffaaaf866d6f03659ba234650f6675d09d7511141f53b6f84f828ca6b51bf8c211acec9f6dc3690394929c09cc376172aee92f8d5c39b6e7a5e52b55959f98b8cd1a5d414dd8eeb903a510fc0749ae3c1cdc50720498bb61dbc058c14e5ec121ea85031a0930dec60903922a23d3f6d81ea9bc7ef601e7f888102df9bc852c584495444fe97d6d8471ea0300d020f9de822dd0459e825c237749352574e02f2cde572a0c057a7f2fdbe7440219ffff03548eea36ac7a08c46882fb8d62bd4d6d2df20ac663e33fb716d632abf94b0cba0376dd7983caf6c7a468f427590565100f2deccced26aa0cf3c509e0d4aec7b0bd035bfaccd3d11529aafd1ced406ed818be35b38e5687c6574339ef480a6c90bf1403bae59a36ceae92be0c498f6c0e58b98cc349b98ea0a100dfd15d63399748fe5503a8ef346d26a3f627266504d5ec84cb7d203134057d86b751e51ebbec66ab5b2503e9b8293bed0e316f93a877872d7219a2abc8f2ec71d503323765050bdf4ff12603c05f5963ed14df8b505f5d5f83a118d348d1e559467d376af06ebfa5999e688c039a99137c9f12bef2552cdf9797e7febce75d9cdd103f084b0858aeb69ee1d0f203269ea54bfdf99af96e52f932351e80475ec6c26bea2108e92e8a7866e0795fc903421976e3d5202abfae5285156ec204bd40b5a346ac1dcd94cd1ced8ad1f3317203b4ff5f46c977ff8402e879bc4bf3e892b9ea484bef6d0c0373ef5189c3c0ac3f03921246692de6ec043fd556c9e14727c17134a9a8b6c354cfd819c6ad780b3d960219ffff03e50c7c875271a67fa19726061d54edc8fdc1af5d4923743eb03d591e92d0409b03b574c524a95533bf426f30312f768f772c518a90f1e5da20398e1f489512644403140317dda5b39cd7e99665a0f7790e9d7aba5e243076187e7713df0e1dfd33a2038400ef2f89cd466ffe5dee59ae92eedb83074b9e55898859e96ba4a8a32ca89603f946faef6c81b32a5fc948f9d2720344f47992ae7eb811a80bd35424b20c093f037ab62e4162c466f36ddaf03c1529fc9dd37bb76c56921c94931efcdcb633507003361e30ea4b590fec4e15221fe71b1b34af8936d5603ea6015f8b5640ecf606cd03ed0fe04f2cb3f006f2fc649c5a2a8cf3596b5b2544cb5a5216473af86c20da8a034acb69802bc70cd6729093823bddafe013891773ac5fa86f59467d934e8639e10378308c40ee9e19a934e04afceda1fbfe133bf2ed652b4dbdf888e8402a94e165034173c8a810fd38977e5ba199446843021dd83f15c3e3871c3c00b7dddba9d35603b479919ff07fe2cd932fdf23c13168c8f27b1a896c5d9acde24221a0c476aa3703552f8ff4898b802e9f053378c06f1c6e1ffb2c951848df392fa8a80ae5ef32a100581f03b15fc342cf228ba6f5672f39575435ca82d484a8d2990c379c66843504c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036fe620f27dccb31ccb2e067389f00a274a3ca098f7d06ccfe4b9908fd811328c0387219181d0774eba4a4c6bf4c876f1927f1814532b436395563ba35297fef7aa0361d8b92688535bbd40d7dcf47fa904c1809cbcaf5c3b6e3ef99ae25b9273048f03b22b12b30a4227b0376ebaac25f59e42d045ed41c240961d47ba935c962bf850031fbfaca2a5f360096c7abc2de39760984b0f40cbfa52b3ad2bb8d833a5fca1bf03e2aec13014b30240ddadba9d95187d33a7bb4113cbfc0db91568d7d191ffd164036d70fe1b3a8178a3fd9ca00ac22732b3886ec19fa448576c82a0af2fddafa17003c3999e9e666942cfe9fc8f136b7995f67c6cf28c6e92c543c5a6053df46af99b00581e02557eb6c29512eb7035150db7d9ef8b93133857a2d65ca90a91aae2443349025e03441fbbdbd66a00581e0220bcc6b03c2c5c1fc76857c2454c133377d5fc331254763feb1bdae6635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ff2e11a3a453d3c80f84b75856b1ebb560b690a57b6e62d148b9f9b2a85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b8c986eb498583b27aafb5baf742a296b4e3a9994b44424a9938cba2bd48282d33f60bd22c9500581e02494ff9303c8e6d1dbec521e2c40322b9f102e04e0776a90419f46608325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025bbf59715811563f450b5291c6aeab31d3151739e10e18d4acf990499b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02197611038e2291630b1b379424ebad2b6ada13368c208e75d325805721b4eb8ccbf20d5f0334ca1ebdf4cb074818d6f46d29045cf04c6c5a4b628bfa0eb58a3f8f4b7bef53034a9dea0a9b197dcd6e99e7c4655aef7d8c8e5ba12fecd6a132f5b09857d8f24b03502093996d42593cc1fae4a7ea01584cda0369cc98e1065b7f38053a7d3d938700581f03091d520f036befc06cd12b72e44241da6da74d602ed065cb250897bf6540462d1371f4f0f403c730ec3affbff67cd97fd37cdb1271346076440c5a7b69d894cb92fbdc9739b400581f03b0a09edfeaedd762cc7ff3799ffb71047469b75ee37b2d3dd1d7b65991a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff0351c8424cc262c009a3a8b9eeb3f0367ad69d01f834f8224360b64a5cda4e1838033decfc967d503f3b3a8a78d64d68ef2c3ddb5df471949b4d52e1aece86a6db000343c420e12c8c5fe338a5fa8434d18a259413f607a34081e7cf8c50cf20bdfb1b03fa0cbef3967a76a8efc2708146082c47075b69b3c51fb487629ccadfac44614803cf3f9adbd09ad92492b0077eee4e1c303f17c54783d4bb9c80921b4e6bc15d48030e8b78120ff3de3c7fb6cddeedd3add2989f796ae5926554b11e2773311330360305ccb95e91a1982861cd4f2b4a264222ef0acd459a494c9230ec45a6978a7e4c03aa37aba2a684b7c63e79ee434783b74cd8b7b3dccdd98f9f111b4af542be760703b1cebd31e0358ce6afcd939d8f548179067a0556f0683e3bce24bcfefb10baf90379843a3c77decb751969d0bd764ba58ce51343255f98b6fd7702fd5cd6bab20e03881748fcdc41d197f42665409d014bd1d1ab449a9904d24961671ba457a00d510219ffff03e4663fdbcfc09affdb8853e4fb8c36756566d42955130d0d27a597250747ee5e035de1219047025b6e5fce5997ebffb24ff90401a9bee4a2fd173ba925c735b97d03af4340f1a153924ac4d6b6e5f957c8c26cd04f33e0d3f6677d48290ddd4e6dfa0358abf929dcad16ba92d6313021e685f9bea514d2bd7272324ef7c4c786a657d2033ac24873b14e5c89cc64ccbcd2900b977305447ad2db00b088757900b3b2e3ff03e8f51a9ccb4e5caba613d575f7200432c7b2ed9b483dc40a3181b5bac72506a803a09d494ce9f1f6588b1a6cd18ed47858bfa23955bc9d518751caef7145a394ff037dfa45304a7ecc2d751163b16d193d6542451919d8038cbfa68c464667202dda0219ffff03f3120ccf57b2ce1b7f3b40546c623cd661b779f107a4a98728dfd58ec03401ea0219ffff039d537f45dee13edc85f8f99963d25426e729f294500fcb09bbda56dc1d7df40303278bf058137f706b70082eadf03b70287a3af3d40bb12e32fd193a5a51342c0f03243cfa25590685b15577e3afd62bb7b90fce59b35fcec10767a7568f470eeabe03d9ddcd2745d0e8776c70859528f881bc6fb09aa184d62de82069c4f06aa2fc6603556f80b928c556621c9bd10731e4367ca6ca7a4de81672287a4f775b08780b1503cd0e33f37f0f55e07b6616c454b5e9d7703a106ebe297e55797801cf43fd0e7a0306f106fe80499ac29936ee61bf2930c828a3505a704deeeafa6c7fa1f12c3be60377ccd6cfddf2029bbf76f6bfdb1921b6e0dc59450c9d53dd0609d4500895fc8003895e9f3f80255150fc4033432a7781aed1c485b33419c06495623a8b675be5b103046863d209dc0d75fbe23e6fd2a67adf4abe7dea522413c4e6e10c007cdaf493033888ffc1977a12b44fba7500bcdbcba8ba4df3145d4460c7195a6ea0316174bc0382295e4e3659d1664af165c3d2463f2d2ec5cab6d5dd59d85422bb6cd6e397e8032aa6d98c5e295ba722ce9f6d860fda048a661464053c9852eecd68fb2366a40e03a5005a22bde0813f0132a672b74cb087b12c65f3827503a5a7648ff7c8ee41d403c7fabd5ba1249ae09c33cf184bef2b73553cd9f1ad6d7b62ce92446ebe1e6a050303aad5cd484800131c14e87a55599f143aa59929b8e45c5e944ab31de471632b03eae66a36bf16285866b3b58beab01e0c151dbb7ca83c5e5fdc9210f42ac971a903e37bffe00b889f53f88d1eada17a09fde85c34e621e90994f3c78fbe16634ecc0396b84ec25b1405cf08192c76a3be006b4be8e6ce243528ddf83482378bf2888503e6db2d899cc5670e47ee839c9fea02316a4b53adbbf8bda36f11c54348de307003ad8276bcb621122867be187357e4d2842bab8b1a33e7a1701a58a690c610fff40307ccbd9ccf5aa1a8f616600224c64e8ccd7c3bb4c81338808a2ff7868d0cd15a03fb9c472f73eeae286d0df3936ca6c5da88c6f1db3c9b606a9339ad9c1c22854c03b7a804c409608b4f977f15a2e620f7cf0b9a0c641b37184804be7dda92315363033dd6fcf710cbe92bd1228dbb69cd78b5a73dad4c65e491d6d3bd881f1a9b8e71032fc69694a8ee336b75c48bce3d855fd8bb94bfc18389222fd9994a8244cc4a6c03b542b2cbbbe20f002ae34377e359d6db807317967f0163dddf423bc795cfffdb03a51f3dd448348c85ae1549d7ef7db80cea3802dce55066ffaa09ce127eb342b200581f030ebb5779763b7afe18f7eac55e7458cf5c465bc434b8acbdfd631edbd1005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029d92f22e48c09939381adceb704a481e201bd0eef5069a317ffc693ce84653d8ddc91c1000581e02340d61d3e10db4fe323fd1a4ae1992880ffcae54037cb95b56c59fd5c64905715e26d65f8b8aae00581e02a07a3a7a31ddecaf9df6ee2e9833a54572b44661dcc6d23927d6c32a395820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02196004039755988d1017a373159a3774019d7fd9df32a2252e9dc921f4809be5d2a7991703c52589600041d22e4dc0a1a3f612185c89da4de4b1adca0d77c8f35725e6afcd0141090322470ed22423643ec4ad03d9ea87f5b6eecf676184a52bf750ccaac5464b0b6800581f0353c3fa21014d3770a48be2d9886d478ad0e2faac09860e7b9ba31c629bf04b52b7d237d47ecc6bb50000034860d426fd7b7a750240f92b5b63e03206a7d2ee2c83be146becb03263ffd4bb033b6ed9c88de0c0fc62de90fb4920c267807e4644dfaf14fbd03e23839f19c0e203c5d5b5aa01465ced3e6cdfa085fd73e5f944ae96ba29a8989592f8f9dc8c9c6303e09557e04638ef9f4b4303d3942df876e974c4adb7fb687468725ac81f57db910219ffff03b25ca602cf7015d81ce054c2a2dc4032258ecc7eeca4b16b224a62295b9615f903c36a59890564e93bf895d71cf708d71a787aa06b5a6ac77f8418a7faf609359f03c06edabafed00ea142172c5709d3519875a37b26ca346d90446a144ffeba31090219ffff032b37025569bcb035e894228a052ca371062798395496dbd0f4f5f11456d02424036952616db9ea4fd247925b82f9c5140a9bd5f61d8b9b4f1c416c9e3aecd11251031a6b45458f186584c4027a73ea7d2a9c76ff34601c7b195ce11b574448214e8c035f907713d2b7b7bc87394947179d3ba94d09faca959dc2fc76fd9cde1c820fa003b4d863304c4d27f820807f09d3fae625e04c5363d12eae59dba0d9ee7bdb50ab0219ffff0315cf47f0538aca517ea532be21790318a2497f25330fe1fc2a4c0510eb2763a1034418853e3ddbc30589b2324731e3bae91fd321df1e91b20cdf3254c53fa9698903f59a02bc676ac1c2895575b2d8c33b7e44b3411b1d09cbff3bf0b773e7995db203d0b840cefda1df833ee92e1ec1972a24a1e235458750521fd7b431ff4bcf671a030b5c7a4581d28f8600e058cf5f2895be1fe3478e4ab062b8a6fd0c4a3e28d3fe0310c0531639cdb3f602d56249969393121631a88333a4ee95f9ccf72fa5d421c203d022adc93741d00c251608ee0272d175029b2b89c2e6ed5b314478981d1a36fb0362ad1e5ed4caa1bbc5bc0c961a91b569f02cde897ca98d8f027c98dcaaeb56d3032064840aecb0fbe470af994724fd71e68177f1d33e157539d03b84a936e4a054039207644c88326e5bd20aa2303c497dcc4509f6a87a95e9c421e6d944ebdbcce303f9cbfcad8887d0262c6eaeff501cb80898cf49115c78dd7c4eb41edc568b2e7f030335c48ba29a49800262ea09943eef68461143812cee395db73fad94553ddb710302071a5cb0f3b2015c9118fcd1e813f1d417c2d48974cc46164b89c8107375df038d5391d68e22a81e365e0f7f9f2da0cf5051d4c1790c281297dff4992efb7ee3030c69a7299c91fa892632a3349790f27e7c3795ad8a865ceb6384a5a70115f3ab0306d4dc850f6d9e5492d611721a76b15cf42915ae7e69e83e6769ef7f556fdd770391cfc4e54e3c0c3d6be546b41d4f31e3271c2472c0b72129ac9a469736554ec50380871b9c2967ca82875e20dd40066ca6c677c688cda9def7f78901523c19226e03cc8623e7c4bf1a8d1b796310ae880eb8136c607b0040664bd8ae6d0d7f3656b003c9ad95ecf04c7ae220890ad838484a70ac09a794f3061ded0933afbd7d3f8713039f0339fca868f636bc2fc58392ed81b270a3d3b0a4ce2d88e39cef3381406c16037826d1a283cf2b3d1c0593285988dd270f6852a402602456fb5aeed4f53aa78503c75bccf07e76a4834ec65c8ac50fe899a31914cd4ead599ca58273be0bb312570306a7e1a01be8cb8731d520bcb3aa98b0c33294000d314e76fbb0fdee2565370303176ff5b999b4e793806b41a8df94cf64edf1ee11a0a9e2489b8a12ccfd6c5995037512d36b9306112f5a68f592d452cfbb4bfa0cb9a4cc2d8301900bd1d719498203674f3ae79f914ebe992c08c4a25d5c0aa14f9fd3e9201db32145a6ba06dc98190319d396b64ef95a9c95efee522158e4b4c74abf91a23b29634b0bffb00be0b6c3039ce9cba079fa7e66c7e892ddfa79a3f39eec3a9139696a23a09b724db706677a0362a1ffe1b7fe5038716f468e842884764774af4537ad5a2d498a6019e8504f0000581f0378afffa93a2a9481beef56db8a3f1e30e61cdfc20788932585bbe56d88904124036438b8d0d225c3cca9c270997d24c3a02e5f0ccb46d7b3ebb3acd113965ee79400581e026528ea5d53d47aa5d0d9c7d0f73b3e6fc8743feaded7acd4c9ba6d69ab5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021cf37d5d84d3fc085fd05c1a07a0ead5d16cf65ce6ac483615047b20954826d463bd5cb4927800581e02f7d2f3193119c98dc2206bd8a715436b9e796b6a67f58f95bdf60d67f54703797759a1bf0c00581e02a5e7db59765c8bf06ae83b44b44b7d51758c127aaa8fbac2b5bb610b545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022a3dac91b67f1587b8c3a9a5aa29691c0eabcbd55d3c32288d5574803148013fbe85edc9000000581e024661cbe3de4bbd4a43d371f2cc1a86997ae695814e46ff47cb35c783035820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219203b03d73ea108948bb1b8430047d5af00deeee2859248d69e44286f23a6f558117d0a00581f0354eca193b701ed9af66d4acefca189c7a3e116be7e3d2972092ee119b980470a9b76ee0de5e703c3f295898c1008ab819a65e979c96f09351eb5e51d187b0e9ec15e8c89c5d85e036bf86ebf00ed6b13c66955eaf89046495aff5f7ee311edbfc4f89c8ea034908f0334a0d3015554d771ee6e7a27152a01409b16bfa34b6c05ac5a7f024e25a1340b03331e18ecd320e87462ef3710aca44586ffa5519b851a885cfca725d711625c9603e52adc2aca30ea87f1c1fdb247f535610f8e23533eda0275d323b0ba30452dc8034c83621cc876dc2b1e7e56a0c51ecdb629aa7b30d075d88496316739d8aa553203c26c12d94a48cf08a12d726c9181ce5ec52ebf99fbb43307f66c13cc829a0caf03464e6348c802e4b5c89ef2adb8c3f2a01b5b4f1f19ca19c3221e8887648a853203dd29c1d1952e40378742ab68a7def421b5c9893c83d671103c49fe153190b17e03ed2e2385199f07d4c79dcaea6ed1ea85beca961903d8569a6a1cbff153861ba10141000219ffff03bdb174bd4526cd659d7e4f065afec7cfa3e85c756339ee2d476417476b3eb2540219ffff03625b073448b1278e28fc7bd0d43f89df0abc6a5f84e230f756dacce12d056fa90219ffff0383ca7a242cad6224483624ffa3ad9eb469576a0ecbed9f9c58b6849617e076b7030ace3d3fd8ee1d33a4f6717ed9bec545ece38d9207c3688fb47c91e9da5acb6e03464d5e73d424ab11772c2f74c884d9301d4c0c51e12d2cf6a18fa600c8aa4a3a03d57fcb951035e55ed714336a0bb58c1dc71798173a15bf9211e3b051a15f685703b9284afa5f001baf4c6829083ce0527f19c3875ed1b0b2cda94e4c62ec04bdb0035f4f3b66f94d1daec51651e5b9a33eb8dbc0ea90f0a88f23dfe36005236a47510305de4330bf407d7e333d22cb367cc9e40da789b71d74ebbb906ac5272e110c3403cffdd0c8306b3a794a3734b6ebae34752991819ff8189e5d42e8d0db1b30072403b35005e34eccc3d639b90785263ea33d9e02e8634c70b5d76f3f8f9c37b91cfa03f09490d56b9721f7e5cf1b817de0388ae73814bb8ad975cda7525f207c7ae0ff03e37becf225baa0d03f93ed39064421c7a69bf0194b7fee5da52f924dcfe678b803c8001cdff9bd8894ee91a640625391da349cb4fa0c051f4315fefb97afe7cc4b0305ca3ca38c0284ec765944174bc68bd5f748990c3186d39858adeecf649a5a0f039c640f6ce6021101e8f626311c7978d75eb32a83361f5424cf06461648e6828b0310c89213c275c675969b045a82d741fdb8d382bb2d171e8f623fea93d8bd3b8603b2dbd3d28892b7ccb739a71fdd6b2a23c5299c5044d0e20dcb4166d775630df203604b0a1c35a688a4bf4977979e608956637fdedc7e725c80ebd8abcf46ec9f5c0340799b95c1574aa21c0de82fcec09dc4a1ead43ecd1e900b98835a8b4d1b367a037e6933522504b6410bccbc61b5443bf6c532348a3a450842b7dabc57f60c5d6b03b9245316694325696440f2c46bad7d44ca8fb5f5498cb693be6ea235e7b2edf303ecc6857f0cba59a1b1389d9406faedd50c16791e57f7009eca4384bfc9924074039c852be5bafa6c9d731669e55a9159f6fbedde898a17aa65967b50d5ca38c38b0396c2558d9d225994df16f23c8e90737c3d903d0180758820850ed4b4a8fb564a035dadde88bd07012dcd9f3d08b622cc44e308d7b8028a82e5011b0ba5d6fd2223033c5830002220286f53f3e7ffbaec167bc6463e07eb6ce648c227af6b73235f5303f25d8652f8d37c1e18d949a38ffa70aecaa1134a77d9af0e7382dedc584e5d1a00581f03bc090bc73590bbcdfd06b7139b6444d8419b88df1713d9424504bdcd2910470672f7d642f338037496c5d1f7fc396b5bb521b439323fc0c3c3bad33698e42a41516ae6faece5c90375851078e8b785cf3c06bb44dc48c592a5651aaf6429c804b47a3e7ff0b9154303937e3ce6f15dde2be542418385924088e0a83ac44af96ce1243a233b80789d5100581e02c35c8e4e903165225a77c4dda0beccf7aa66bc471d7d7556630b02af505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02aaf7322f72065e030aa4270496382afc230e50126731ae06bdfc2345a14921b7e77b71075bb00a0322acd1f357eb618cf9e6fe587c8dba5b23f0b5cd125fd7468ce21bba4c5e100f00581e0224a8fa3bd3b3dcec43e798fbeaf3564ab67defcc41b7aa76904f43b20a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021980c8037e515792897daadddc586ac58482f7c4ab809d2c1b2ef51a0496d9d046d725a2032f2b4454f1dd28264e3e84f4df8b3cc8d774ae30a1df50dfa84ba301293780a7035d9f015f42eb3f9842766b65a288da48293056aa5dbb75d1c9b0c64506c81b7c037527fd4212bb93e213fe910299902e30bee3914e9fad5665db0eb1583955b9c703a89e340dc453587ad8232cc1323c886a852288eef9cfda7149c6118da5559018038209217c18562ca034bdc9219455a2ee6cc78d3add1c7856ba1e75373e7ce1be0219fffb03d4a7a511253a93c03b63d3ad4f506d1ce35d57b564576ccc5822f8c69d1724df032a04e9e998c112b72795f26036f450b864a3cc744ae3f9c6afd45442b882033603531438145478fd7480168690c0b8f945e81615255b343c11b2eda4a2b779169a0219ffff039b2b8e335cdde04f21804cb124b7a3269680fca8294e6fca53fa74b729b6efc50383fc3cab9e24b99e91b3e98105e29975ad7deb3712756c02a08cbcedb519f562030019d418897f88c1b72bbcfb3b156a2c5d9e9601a3fdd927241f2a20dd9a73fc03b4fb4ac48971e0c21a1e4e77602697b4c8add96964e4984cde5d0ed8cb2caf440301a7af6d4770b9591cdb9115fce837f1c32a6d1a1ac2df8ccb5fb634299fb7ac038122973066dbc6f3b8d5266f5b1e0d71c669f766e43d67dd021c53b2e81ab7d803512346813a9fab291dc9c87125b0b84c905ad7779f9e6b1fcc00ffa91a5e5bcd03c3964da07c5d9a5f441c5c4ea3fa85458a9de17a4377a733c0bf350ca313a1ca0302f48797c0b0df1a974a9aa027d4f5715c1d3f14d9a1f584d3d3b025a5ee5bae0333f8a1b6bb14d23cc94fc8dddb95e10002f1db6066132372a666406ab5e20f8103490e8879fc4f8a90265b865d5dd58f7fd5a5b8650793beeeee1d822fc9d7985803f2fe190efffb9379d26227926c6b843388580ada0b1ac97707073b8590ab9d1503197557c84c324d352229b51fc3490f858bc0118ed0333fbcd5dd23d1e4072f9103ca80b505aa62463c9182cfa3e9f0c28292112664d8fd3ea753896c79f6626d4203ef540ba75184e69b0cc004d495f23b89ee474939fee3f25b105c5b04f7a2127a03c75bf5c5e7fe7ca77a153124fbb30a4f0747251a934f89942b0b6007e7429e0703c83fe45ca5c6bbfae8e8f08f2dd2764fbc69afa3add4f1982b3e1b746963a21603cc7b26e623070ec97b3e645d4a4e32258bff6b0597b13923dba3450501a1e1ba03a72571c1a7548f7e4d279cb5673acc2ce560f0e49b4474e6fc250813a33df499034a589c1ff7c954c05f7551736df580c4e5c1813679fef8b09e13bc2028e6826b037c522072578d99241a8cc402e952bd4bf4e70dcf7f7a30d8eace2f084eac40e403a68d56d07484a77a04ffde6195121db303e2733c6296aad526784d1fb73d01db00581e023c8e0285cf1900e405e4bd465e219a261ce68dfc8bb46bae3a7ec61bb25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a8075e9efe61170e277642bc016106cb05fbbf530bb940c05351b2d9e95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02030340c3eaa78234b5a8d7b6984550b7aef4dcddf380f80fd41bdd8f57c7a34bccb903f066e73a5ab76f356582aeb52015e96dda876e378db9b82a07ee3c11c925852203d528008d14b0ea68d1459f570ef0f1e2e6cf1ae4fd51ef8249636dd9dc2b8cd6038f2e37593761dcd15cda6c816d6491084b2d00ad3c1fdf1deb2abab4522ce3ed0361d9e735c3026a7766ebf912d3aebee68b957be15a2ca91ef96781cd527d0a320219ffbf038435cac3808c37786c5115fa740d8f4559645332fb324bfcfa5a0a2eea6e64090327cf05b796df0db9d7d45f3b0170992c4fbd32069fe722cc894340ecae0280080346c6ca1fc27c397199c13cd957220a4d2617afebb773ff19d6f36486b76c0d5c0369c03bdc9c9541c21db422d9fe988e3bc61936555787ddfaef8dff6648b2bf220219ffff03e75c34280a1e1a0130e7aca3e8672d1a3bbcee1d77d44b1fd22a72974ca9e40703f0a73deab7990a4ef86a318cc01a26746704d936b0b0dc140ffb3e195bef06a703c4f3db34293882bbd4c735c48ac39a4e2585a61e323d8e6f71e4394ff863917103f6f723d8186b7ca6cd8f7b552bd18ca43b70dbffa812da9692845a9d484d833203f406e06e559bba217b95d19a281dad191745d1f36baed4c23c7ff8d4e82aade003871cad120c9f525378edf9a628a263c745a78bd4157a599beb30808a69bed50d0219ffff03d69a0c42b19f58806a372572fa388e8d21be56215ceb6ecdd4d871175cfc811e0318c27f03b5de4201fa2d97440786f5c07cfe7a0babe7fc1729170c5c7cb6c8e003e2751621ff7f2fc6f83663d16f0d96e7f408a6d3efe0fdae9ddb7d71bd78300103d81afaa386515490b622494d435aa38624f64e906a48fbf89d249edb4fafb0ca0325acd9222011ea2654fed428379e370f236d92e13b30437a5d6edb342af10bcd0395266ecd4c59ee370cc6666892e82e740b66300ab6db5bb99cba18eceeae32ed0305ae8d52b2143fb0779c335001cec5ac04d869088ade1a0c4a89bf07120dc77b03ac13c92b944de5e2691885d643edd821ab2c9cd7c7fcc949926d7a002bd911090219ffff030341cbcef22012f86345b2fa77dc8ed679f317f77bd2c8bb99faf25f05d8c08203a141c1de5f90e827487b261984da79bc580fe241acc2732bea9673ce6211056b038031b90d29c3335f462f89b42434a7f8e9ddb163ea054ed2b326db5cecfcb2c9035e4800362e1b88c062183d06d52124f7ca811e55d56a51833f838bba268aa8f303690e64e992f6f52d3e5612c277a46e35236f0d7134631e58f0d8b5c815ec5af80318c190096b242e0ec562f8aba9a3d34807fb074b161ecac70d214383b091000c0312cda8b33d3df3085d36e54c25c0e1e27461757a9d4f809293363cb1d142637303f8f2832c8ff72e02788604580f02c1f5d20c519027ebe50a171ff2be8749cb3a033d998a07504b3ad794a686ef075eff0088190ddabc6843fb8f0fe5c1eb40636b03567037e69b6f8be5af4538063d06d12c14e42da1688ef7741ac0067cbee18c4c03cffd6aa475d77ae86fc9299e4d70f5e14c2b97031259869d8db20d9233da719203c285e725b19f7dfa51feb186a9dfd6ef118f2b2b508f5102b09dbbae665ec32600581f03f139db7be9abdc5ec011ce9831c2ea30def8e778134ca99205c8a38d82e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0353da08a5fe740d150af975bee18a8507528e31399ecaba0f1cf48829b6527cfb00581f03499456fca2e64ac2ed78f3dc0a5ce33d99630d6723adb458292bf5fe7aa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03438744e64b0eba328226f76325417f4262b3a0c247f35265cf6b9ddd748cc31c00581e0205072cfe2ef1c898de5384389e20d285ed44e3f089ea10d089cc1c57c35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0212df585e3849936c182b14f98c22ec7ea4e6d7bd4fc719fc50fa93513f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023f94507548d0e7bcfd2dc09e28b852aea237a9da926637c9c5122079dd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0226b1e10e8ca6452b65d073c15aff4fed739eb500c2755bcc2a13e0e0a54922e1d65e9f281345e6021987000327355f449cbc51480dbfef197a40b90d3654ce045658d0ebb1b4eed6ad9f5a5203238c3c716e1cf018f5710ca1717cb094d79d023eaf349a9002adcd06a85f0fa2038b90f88b7206cf9ff7b0042fbb3c59ffef1c2bebd2871a42b67cf66614a3b47c03872e9f85d0010327e7bbda71c6054fe5d9bd5be4bdc747a184e71100b2fe38530219f7ff0364274b792c12c8e3416f5056138267a91aabb0e0a52a24615590de0e2135919b03b351b548007f9ccb3a237f6b1b918a5070bee74a3bc1e048a722ad0ff927fb9f036b9a81c700750acb0748d49f9adef85e200fc3d18c1d3553a9940c30d92d4b7103d8745cd841edb8b989db136d4cedb770f413ddf92fb2ec153881ca1c0f39292b03c716d4a784157658d77a3ec02ec4ac865393e850f834709d86e159cd37fb73a1036a0eca0082d2cd0391f7276c904c260c49554cf03b4bd3bff8cef185f8f4ad2a03e76eaf87e30c7708035befcbc02fe72b0b5643cb2764ca554d4d75066fba505c03a92acfb38c80d530ab31bf0e4e3652d0adae6789802952c7a8283b4d568099f203832d71cd6b0aa9118d1d36e90631201bf760cd6ebd302b28c4e436bcfc16fcc203e0c6c6a15a8a50878e848caed598a58b5fed7197e5c00ceffdf5c771e901172e0347b32f65578309527408a0aa8976fd91a7d52340798ea5b2a11d177350c5ab290219ffff03e6bb145438df925c26b68193f4ec9aecf3d0d4d38c47478692025ab6a7fed867030a4c5b1a29f4ffc10bf19d9b3088dc1c8990699c608628e90673b56dff011f1d037b5b5aa1d7cc50000bced94add2316cccb92aba084b9fe3183d8ff1af4e6bb58030e89c9bd400d8edaeafd1235624f80f36ace24ec8d2c612416b4d549cb420bcf0365fc72a447aaeea4c19f1b32f1135a2e2bf2886ee48c62ecd561cb2a44834037038b60faff8ab65cde8e220fc55118501a25faf0aaf180042141b856377840735003895752c2ffcb7fc0cc70318f0f6609908a7c021433ce26a7a1230f3cdabad9520365224be1dd8964212409528c634156e405ecb7ff824f8823372aad80a530915903329bd51169d19a9cca960a6a037d817e30abbc2ad2157e4c08ed0510ea8a565c032b2d7d3d258ad952d1d0978a64ec111765d2220307d6034512b25f8b75383e8303aa9cf7a9ca132d356ee5161168f3ca1c3c472c356a8cf0c652e862feba1b9f69037cef0997b2e2ce2b4867ae1577b8143cdef86d6bf744cd1b69dbf4ec196a44070309b8cfd4a1ef2599884c1397ed425ba9f238b8b560665cd206d263f147cc643003208db1d165023fe4fb58468fc93365883397dd00732f868422d2b5a616c8ab6e0219ffff03783641e8d4b5c19c37738455373283d81986bd4a821fc8132fd9871b4e00358f0387a34ccc7a808911c771e3c6e0f5ce337c532a15f33acb467e187759b488a9ab031684e7e6dd4d6dd7dda47d9d2ec3246a784df8eff83ba2f0df0ecec1212c430003a5e5608821359e2dd7899f2ccebc5996a15104708b6d0c176432961944d5d98a033a2a07a4149f7abcc62ccc216d108236eaa6ca25d8995492d3df2c9393e2464a0366cbf45c2030fc6292e3e3ff8d284ddf14dd52877d8b70e993377084239cb60d037d8d41815206c5f0cad4c7efa74b25b017fe4e5dbb78602a2ac33ec1f6506f830310bff45f08d6a3e5fd85c78e86f91ceed9e687c6b1caefba6c9822d98d37581b0359db3d9dcdd9dfc525c089f18e0ebdcd98dedb4edd16408fa8e8f40744d7349603cc0648cc2df55dd53ed03398acb4923e166980f59d08bc3883c9d469df551497030c525804db4234fb145b97a67a642baf504b089aa81524e58e6d59db7add5d2f03df6b4861504e5b5cdecd651b6499d5e2feeedbdf434607d488a037879838ea3303a001a13f987e7af56b2d6325012fff1352beaf9b0d5f45416689b65a93b1f2180324261fefe9dcee0721391df55f1f28468d2b2fcea124e6bdcb0b704d449460760327b269fba011ef623eb126b21854018468b8696311883efa71537baf3e54fbb4030946800913c4c8c6a2e905372fe64fbc88539ccfecb7f1d41ff59d34954fa15600581e0226a8bcd0edc4cefe63ad50fd4129c962e6e176e5b84fc3f2b7e5ec790142150c00581e02ac990c193b8f44f535979aa4ed31f7bffdf4eb14cb1cbe7c62284578b74c204fce4486bfefabe2d053fc00581e020def24c23b314c664db0ff70ad42e23ed283c49c1490548caaaa4b09e35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ae2a58ee2618c7db3bb7be005711a3b44a413745b2fc6d17c4faf3b8fe470334cb73f5c78700581e022c594aa87a7762f9f46445cb98ec448f26eaf2e10c052f4d129b133d165820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581d022285e96f06a030e5868649e9cef03f5e831cb7d6d9c2eeaacbf3015e490122e4a8374652e37400581d023b2ff95bd14c965582e4e502c4285949bb8a2e451ecb6b55c80f99aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219900001410902191a5800581f03a7cdf552053200120d0381bff4b17fdd01e2ca4a004a795513716dfed9f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031005b41cd2e3f8b2cdd56eca46d6ee8d4e2e9d7b915d1cb011b7329c40479d6c03f5c63ad566864c145a84da2512484a2e07b8e583573f036e80d323a88eb5f8d0039a65604c9fe620137c9d70a0a2e3b852cada8e2dc65c0f7ea0a6676888e79fe003c21dfb37091bcefdb8ca4e90280ef6b2c1679a14a05170c80199a416e6a842aa034a7e404bb7c6a4d412344615fb4167e92ca8a49b794dff8533305585e5c625c803d716c2ff91e92b960c1722890e49176742250f07da1ac5288d005a88e886f152033e3efc0359f60a440aae4544830b206aeca8b9466a41b52f3d6524f9997fff740324115bbc2ab99b897ee73f5d6368785b89dd699689ebd816bfdd9b8a7f0f96df03e466145cc4c21b4ad34096e634943b2d27455623e4545e1db8d16e8d0a1d419003ffc38241b2e96b38ec109c85c77608f1e5dc00bf29b88a40fa0dff89067fb37303d85de4ffee3152e7b96a26d1bb70a7e218b6a70c65f4d9e3646dd2a390d62733037707c417255a7fa5098e2acc9e838b930882c1c49f5098af6eda2f02196e2bdd03dd16b1522e66a7bcdeb905aad8e257c0c4e71f5ed94ef928b9a68b01d7171a7e0219ffff03b85208c12cc2e56d3fc73055c5ceaa115be8bad6e4d0b46ec39c10553567d15f035b2abd3b4b3a7f0cdc88c366fdcce7a78dadeb169da8a120e53a454b0c3eae7203687a35454fed5fb3c739db2eb8949872f23ecd8f999cb4fcb379e0e2422964fe0327bdf1e5b8ab7557b73c55baeb2cf6b8ca70f6da1d8e3c35356ee32e2e92fde903de4485f5901e7c16732c73e056571774637eef6f14385f0a4651726ac2af027903dd8cab3b9296de7c545af3d3661ca4b47b2fa3b80fad609aad6147eb518a4d6403c3c377bdd30868b054629191e1bbbe261b219cd890071b56c27c19e24dc2c07d031a607859dc4a89c1a41f0ac764e7dd40b46d64050a229111fb6acbc3ada5e0f80219ffff0319841636fd348885958e3098a09a95a190606045a882596044c74916b03cd757034b5ce9ea738066a055dfdb67fe913c40460dcbbad771a4c817de558bdb93693503ac86b5dd4c37b7cbb4174d27ae198c911eb843f2efaf8471d9c751bda4ca4e6a03fafb58f2da9159118ca12d3fa5e548ed08a3b97dddb0d0a23ca28abd9c825235039d01197a47fb946a137122d34dba1f2088bd3a645c0f25bea9d91f9979f451fa03af32d65d8776aa64f530b288a53827ad0a68b6b8157f1a823c6d23976baf863a031f6c3c8629190b2e0c674bc3526e5bc6ec2953df6d69b81276b88a5c6914949403c0d57044b0fcd1b905d766f8c4a370225a9c0cf1dbea99831bdaa530f0ef998c033defc27f194f93b0f2e22d737072cd144458c807b95e5623f49fd3aabf960b4f035ec2a3bdefc77a6e28a5a9c9e0cd2f44e4dad8541a45dd7b19eaabfd059da102039781c273b709f60c5e002faf2f2e575086140368fff0d5a78e55e875551e406b0219ffff03f6505eec45a3333e967dd07a2fca6c4c46022ce3ef7f1f8284c48c2b2f652af6036fec3b9b8e8424b1f5b734a10d70b5c57bf279903ae7d6fa809c9945f7384ad0030dab9bfa75821e67f2d346e5fef4f99c9ff4fb9ebd9f3a2fa96e54116c72ce03039d99969e57379077a76ac460eaf793d3ae5dca1a363d0fc6ae9943faed37aada03af2c278a9c2a5f9faad7fabb5118899aeba061c7496d5004b5f992d8ed99c4b70373f9e7ce8f604e3cfd98b6450327c48fc4e21e0723fe24cb36f307bfe1d6f7c403e9ce92ccebae7e91013a85b5f9e5d9c214b8b10458e506b444763e41888079d3034abc70ae670a98f36b74e3270a7d835d2062a8c808475c9556f6d587af86519d03ea39af5155a5e6756def4154244450d0b92db15ce575eb8a374e0c64d03d9e6203e0fb998c3862acdc676f1b2894ead0ac1c3806268a0223751c26aa528fbf7eff03f162f10c99b896604049cb0ccb2ea774a6c2f3076348a00166c18541fb8e851d03798160a5346fef9a5a70373c7f67f81224e0471e9b86ed337d38ede03bc6dd0f03a8a267999fcb620a60c89fc18cb70c8703e0ce206065f37dcc94e99d44d71f810337a13ff13fd898079357e9bfbfc3da1969b18da365c250fbccd565cb97ca34e700581f03ce7b1f7a132ac95b7202aabb486604ad8af10d8d747dcc1dce47302965105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c60801b4048bc95de2b37eff6b641d56a07b4ab863938759f922b53be9677be200581e02988ed9ca2b0ba1f0c0d9f294b947e56f4ee65613fa7c968917f01d51c448019e2e804b251b3a00581e026cc869e4f53917c40b9bc6711be7923f6b86e5538f1a6ac40f8b0e28a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028ea50b7964fc041a4159fa03658732c3b4a06d3b2aeeda165050c706655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cfda133e13b02bd74fbdd9dfde0c7f9494d88c6ab54613416b0ecaa9925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021908700219ffff0353e1e00ae1dd51e6ab3a5fde1ea00a8ff2b0994c2a745397ab9fcae937a1fd5903a30c74e204c070ca575e639e41212a182219513cd6dce7ad60874b5e6fad2b07033f0437d0ebb7a6a456fdd7db2df487a65c79e0c91ea0e7fb519b2ac25e204b49031cbd5a1a4732ef718f81684227017c2b4a7ce3ad3b2bd20fdd5091a7906d303503c93000deb024f09068d8a9463ed48ff7a096f648f1e62e2455cf16be94d3f75603f53525a2b0f99fc11945e3c1d81053b2d33c70f0e631877a8a52be10b348718a0348b75a5f195d3c23748bc35234850ba86d51e1def297fac3fae5605d05b891b9038aa1b95eb47dd925991ed5fd636394c36fcb697700a51b45ff314bb721d7de110310fddb29756d0105eafa0e69e6d351f111a5cfad8c16ec9f796e654cc01a32db03f0060441275f6fdd158cad5d7e817b4d02de140251b437260052a94854d41e3103dba02deea77fef3f1b7a6835c27cf1e3a81b573de948b52246f68577a16c889903fb6b7e10d8c011e0393959dff2c1abcfa3ffe6dc464f3b7a924176163010f01e03866aee14e2ad5db877be4c4351a929d4d9a5dfa6cb9c808c5f00c28268f5938e035c111587844d5280e8c28f1e91380e48707b766df0e2c7e4bcb5724d9e2020280219ffff03b562d57b698138248caad5fe7d788f137086bbb7e702f65f8cc0b6da6cf9f7f8032755de62193889d32cc8954bfe2d10e6f4703e08bd6d3cd51a3f162baa9fd01703e0033db505862409002f07627372b672d3b457dd4d86009318e2285f7f43280a036f6a677a6c0e41718528e36f72fd7b664921d5e5d22668156a67d31646da7c80036c3d735c842d0135fad8c3e1219ee373442eb6914893883715fa0522a9b3c759036b5838c406ae0ef2ff13983ef1deefa05bd67408bc8cc80ac33f2d82008cc16603faf0896b752e7bd97cef5bb7a06ee7b522d3feb7880c48a8cfb785476c47e1c9034efba55309c9c3002d965639e077fd37b9398b4e07637b6b490479279043167703f91e8b11ea7761c23ca9b96640f9981bf2b2dd055a1e8948d591b1d1b4b72b4f034cedb855c749a35ae794e2adc0defc755b377f9562ed9826fe753b8b96dcf76603102d61ef180da5d8db7935707a75cadad9201ad415eb3a6815d204736e6acab5035fc353e2cc24154b48ae2993ca7726fad24c813a0005b02d69bd49b622a95a2b03f755c3b5f5a853db34fe9a5c31d752203d9a644a76221de7f4e433edb1a77aab031fdcb4556e393069eb4f7aae10f491ee67a3c89958a49b5308ee1be3894174b8031096cbeb607394ec2434509c8b42e35ca9644f553924415077e307811c61850c0219ffff03ae1840a3e5fff316052784ba77eb1f40fecddb3b0ae75405fb203eacbaccd0980304dd5145b61bf1f675c1fc74aedfb1aae39d1830195aac4770d141a5fabe1b1b036b9a7ba274bd685ec8435652ffb43667b7bd710c3240e801acc99509a1cac60a03b90a6eca9ff5b24c7c0dfc060bbc47e1790f136af6df800fa9ca7c92ccab5ef903f1f151e108cfd634c138fd6f981555f46d74a8fe12ff26a7147b3cc02a13bc0703a172025bd09f4e5f8303e12f8d96f9eed80265bdfc322884ce212e2ae3851b72035191ae25e23d4de6345142ce1e195a474bbe11f9e31cf4a74c284a0f3c2ee233038ad125d0706137c066c450f6d4404f86f009b4d6f753a0e6d9e4e894e69c89d303d09c7a0985eeebf3f9027155156efa71aa0cdfed7ff11a35165cae6f75b14acb03f2857e59f442afec47ad0ceb9c4c69996a51fcc9d1d09cfc8a5ec657ee2c391503aec514ce3a070421c033c766cc1d89d0fca71194c5cb785aad2e88ac9ee7af4f03188b308f812d3f0672ebc7bc63c3f53bbec09a1dc319bee573194d3a543cbe150350db007108a5880682fd05bcbcd3af967afc8192c59cd2d4a96d7baa5149c3a10322ac04c0ff22460f8a6ef7d1b6604a53a2f688724023ba23ad882978f16cd6c9032e5faef295dfd37a99fd1b71078697e66a0b10d8c7cf7d4faf4dd81235315f6a0390043452ebec4718702e627de30bade7e35a106b5834c9de26de64ebcd41270a03ef86792dcac18b4e4c020bce4c0ea5987ed54d16bf66dc38196be5e8d95d6853034535f06eb1130ac507e8810ef9a9a092f4b9acfc52a67cd20d4579f19cc1bc6a038d2834e8e8a9cec36e516e62b90071707408df491f37e9244a28e2108c44db7c038e8bab0cbb727aa9b1d915ffdc70eaee31ba95b4f968c58e691cd9ed02880e5f038713b7a825a71321dcf7c292f2c40be7414c7ec024e286ea3d0d116ffc509e90030736740e39e719e21361c3c2e3f81dccbc4ecff17565a1bd66dd3ae483c3f8d2032c231475bbb652d4f007b0bee4293963a50a478924fee75be1d20f98697826a603acfd551c78ae25cc2fd9c455124950709a62368fe8f90081b4477ac83080cd6f03988162eeb7c20d15a4c8757ab1a942c89f19e600aaff9140e87f22bca2b0882d00581f03bd2e8969365b59e138a43bd6028aebb6e1ae6c1bf688b47f5690eca068405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cd2cdbdd277317f0879de0e587972741b1d5ea30cbdb41922dbebb8dcd8ca9ba0394fc8ddd4575c57ef2f26e86ddb0da30663f2e3f9439fd25edf36ebf1116522f03abd03e0c212f185e288982fede0707be506c43ed17f8025345c507b2456f9058037db57be4d023741d7ec4c9f988abcdfd47e9f7f71ee39f0658cfc508aef7c57e03a5b3a9fdeb39ca6dccf0273e45af7eb7b1702712feb305c26f1c8a6d3b387362033d4894abd5c32c34694f0bd84f6c73a35b96b8436241bacafb1c03a9fd998fc900581e0217e0c219b58f64a42415630cf12d88372e03bc059c78d09e53929164ce5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b4ca22451d6cebb0403e28af7e0d10f8e1a4c586cbf72b3aec3fb58e22ea5eb601410500581e0209c41b130d387db64e89c263f03fc31592b58296965f22926c6e65e7205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02477dfb476be7a7b7076f810f756bc4a4ca1428cb07b43fb00fc96b66225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02196801038a7f2ea0249ef9d9932004ca6ae817d60dcef0de7a5b779b5e18fa3b261fa64d031c5b9a77c3a56ea1a7c67fc85a6c459acc694e21f656a6ccfb4ae23aa93fabb9038cd47fc87a17d1053b17e8d16337624a8b4f7a365baca77e7c7e1a53ae000f2b03b2b714554ab9a03fe0ab43171830c8e70062ee9ea5afb293b930255ca075074003ee242a4525c914fd13a36f9f74cac20134639aee171169323ab143f8b50642ca0219ffff0366358a9127e5e31cbdcdb9728077c4745a895fd9ea393a1b61e977f963a8222b03f727cb9c56f63545e244a546199ccde51b1048210d2ee77ede7fb497f641d12e035795e1fa4a049bd2d272fae96e6ff6f62961bbe0a7f7001673602dafb20d454003e479f1b45a2243143459afcb42fad806c42ee7207bb69c6229cfc12d38b874a003dc27c605cf69616e2768afab44a8b68e8ce8e6b1e3664de3076be1a161c6e44703db17c079d690656965851ba06985243b71d9abb8f579b0c7dd489eb1694dc4fc0320c3042795c65620661ed9cb43b2e002222bd6f48d90002b24c6c093e5b8c8940303d55cbb7723636f728f64a3baccb17ed429b0f2f4fbb610a159f808e099a59803c0ac67952593fb4325ea46fe54e3b06624fe55f3aae0b301ee25fc22907fff1c031137dc6a2c2e4be039123610f21f16baf855c5d96b16da4cb61100bc5413593e03df213d5d4d8b5190cbc8b1f4b174c00d94687e58f1faaa75a75a29f71d293eb903746467d98eeee27c6b363904c85ed02406963503b32e2265976dac34ad03539703e69113cd7a565a6e46ace0d88d15d6d6893538bd734b909160ac6a6cc29223ea03df988bdb52b7ca0f8f22bac490b8e717a40eb6979cba13397401956ace3c85910219ffff0219ffff031be66ca9d7e7a2acb1e9e6e9e72df211ab6ce74acff2081a5b2d9e22a09af765034011cbbe9081b70d03d1b714f0e0fda92e86072f4adc20dfaa8bd4601ff7659103ee4a407521f44fbc79faee245a189a4d943b19c7aecc05c6fc81173623c0fbd403637a07101ac8741452907163da5eabdb2c90fd66bb8b733dbe625af4ef327daa03e998570c670385d940288921eb0247fe327580281ac38fc788c3cf66ea958bb70319e7febfcb673df78835106dee2d56189c68cd7ca81e5ad74695a25bb56efabb03f754d456601303944afc7a22c93d0f516c341eb51bc15ed8e8f862c4371f43460392c2bf9e721078d102c7d39db9cdbd5a767da0704b36d505128217613f17dc9403a45452e14f02429f4f7441d813d216f38f973b0f24b28c365720d24927b04e8c0383034b36b70340a6d65adf0806d322b3f695ebd45e8ad72268f99a5d8767984203dbeb3a16be6327cbd03d897cf39805226523ef860263101135b8bf7e6be66cf203ecd915e41e542ff4e7fe1634db35539a46366875856dbd54fca080cf0cfb2490038d4202cf83ffdcda3a242adf6838bfe036b7906f39f8bbdb014be4562d45d7ff036d5e4883a8e652d70557428a16c5de84359d0c7b63295b25ec430870786c02fd03878f3084333df78eca66956c99ab210500b9c56d60694115c9dfe6ac18f7c17b0364d2a3887d9baced695abb46418f487a02b67d1cbb215a1ecdb507ebf6536c8f03f86cc4ee2320cbcd08ba34760b4521e6ae32669da24c87499a9089af0eb39252038345aee8b35ddf3b3c874c43ae9e642cf58fb51f7714e55d6620dad4f4d0835600581f03f65a319aa9853533292b23075c1108ccec4281d7b890844bf2ecffc0c9a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039751fb04eab09b4f6819f06c83291da02f36d43a184fd86ecea55c279603648603736a5f0616ae846f4875fd4a0d2e089768a3a638f5c961e32c01c9a62594815f03cb40b76edbd7e297c2979af7322be13b02a62c91171371a0f4b129a6fe0ac46b00581e02d69c937ae781a56fda12db3a46a99163262c67c7bee298b2099b051058480114ba5c7ed8400000581e020190e95a7188a385cb40db5259512843a5db37b1f39be8fa57916a09234303dd7500581e021c69d08655768c6d6f5c68428920a6479bb299704b32c6ffcc164a9cae4905466997fb4db701c400581e02a50d554de2d25e0d2f399482016e47444660beea41e7987349eae2dab84809b6e64a8ec6000000581e02f9c1cd1b38d29d53739ae9188782019f0027ff5953adb8ff4d81f767095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c81103528ddbe72e4ee4d9c05cc448c3210ebecee5cf879b1e2e47415609d377c50bb30304af104f9b6a92628aaa51c03103b2d0d5abb70ab9d126009ed24c11fc64bba003fbdab450a17aab3e1702e9ccdac7a5bef9be721d9b5e9cee1d22bda81f01c4070219ffff03723e8eab5dfffe88a75118615484bd1dc3cf19157019f8c7e3ac4442aab17618037586b7314b1fe24b1c0d179bc106f580d8f9a64591278b352354737855eb4c4b03a6f6f0e5153fae38a16218a9b288591acd2c238b9fe89e027945c98eff2019df031d5cfda94175ef564068513d49d8dfe182b43732151699773e1d62f005e4c32b03ee5cfc525a919ab414f89d963a8d9787e71c77a1f3d8000a553573ebb0d4646303f95b817835e68856eb38e560716bdbdbe1c7ae48dd95da65de80fe0aea57f81e0329b7203fd8ae9e68ba03f4f893b1d0b4c2bef73387e080e38eb90917f7ae5d2f0219ffff03452f59f4be3979037156c276da283fce1d900372f34ac0ffb1b605c0c33793d9034ecaf0ca3ab66ac0cb2e8798b214b82ec317498b6abca55f269e10fcf843bc4403a173f1d826eba1b7c1ad523b538fb25ab1530ac090ee51b52832d3695bf2e34303c9f5a6e17cd22226fb309596de3f3ca5d3ac35aee305c6584dd9aafc499e364b0385161eaac7f7c2f9a7627f7d02703dc0124f07bf761e4e8f89e826c889ea49c60334812a1161f4bee47afab63520b3fddedf6757b792f382d845cf764e0258a956038edbcfa356dd6145f5473909e615f4d11b746dee717377bf774151267c8b426f03e1195d7c3c5117feeca94f6520a4035ec8f96e3fe86d6b55bb7bb9b80a7d70b6033bc4aa3f26b9fe0e96dc9d34467d156d29d8fe2a576c1a0f3c82bbf495bcc10d0398c52f4f48426127f9cbfc59358cad41041e8f88568e7978cb37c6810cfb90b803a99fc07a18e9597f93fd0241e3f09651e9b6842a1ed75aecc97c522ccd559b8e037dec352d56c1ad05c8dc822a8d2f45719c82023f6977708a4333c0bf4c795d0a03912d01cb999718046e7874b562333e0fd3411f92cd8f0024f99ff0b59954ffd4035392edfa77a7ab31854440b54c6662bfa51f54af9322c8cd1ea67caafc72b40b0219ffff0219ffff030e7eca1f25dc4996ad78ef00f45b83e5f48435c75e57ad2b051954b55cc0186003d4467e5aed6b9be8da472b53710151e59f8ee6d0fb89dbe2cf0369a7c7b6e9b40348de182ea2c070654bc20284b1f8444c8c521890e389e3d3cbd18f7849e1721c0389e7a6bca3cba67abcf573d394d98e7b7a854ae30a28cb3ab57f7aa611a0356303d8389a7c55e94c40782429c1eb1f233dcd9974c17b809cf8ea4b850fc78e28ff035bc900f5ae94420e9cfa583aa6baa555aa0e5f04905905f625936adba2497a3e03062f7073a323c95a37baad565493f6bdf809ebe72b11b9e48552a1eb0738fccf030e78ca90708bcd69efb3c822d7dffa9a02d0b66aee417a5c05e441874a2307520378e0baceaebdf2b11d212f273d1f31b4ea9a0db34276bc291915166e3a76f66f03b096515a642d0422bb3e675280674692800833ba308f6175a3c3a5f511a7c9660393a8b74d9af3c2eb2ba928c3f09ff0199f44274fe1b8bbf80e6b00bd2e0bb28303cef340e78e55fe909ab1cfc7a0392b09dd51f54c3d79e6194ad8880fef0541b603b72ff83fa705f04ec1b81dd4554f64a3e33f1d4004007d23b978466f9a36b4830364f72fa1c2622a567c0d3831526e42ded6c4a6f2344d604a5dba80d6a181fd4003cffed49459425b0d2da7f272441098c41282ee65b532143924353989cde8d1ea037e0be922c58d532e35b8cb330c97cd2c028be4cc65a66628df8f663dc5dbd81b03e0d4dc333d4ffea0224bc146974cebefd76edbe6ac28c2cff2e6367b936780d103240529d170cff5d9d4c54fe762757d24d0cb8aee37f756e31b7865f8ffd59588035b6f1e49eac2a2e0f25a23ceed3427eedd124ad8117e2a0508aef9b7138515f103b52155e3c1ea78517da7f0d3844e824db72df6e5a01e1d2518ff6a02845d55660379f983383f08c8dd59cd430952e40476e95ea6a23e19dc2fa9e81a397973718003172d0eda34b35f60a6d5395fea8760c024d2ae393f58cb782f67aa2d05bd4cb00371812d80ed0ea3f04f8f2843a0b140a15a8934864fd740bc0f8881ab77875e97034f7116037000ea9230be83925d5edb323c31b48868f9679d80c98bf6092a81d30385aa49c12cdad808fbd9a2d1692cced2e17984f731edee63ce7d6649c3cdf016033330cc1dff7e05f7b6ee23c730968fd49674c20d3982e99ad6be3f62c4fe1b0b034e77ce884ffc656c434d2299effd3e211499df5c963d9121c4dcab6a153285b900581e020b1755f3810eea0ab86fb07ec9cdb847e45e49803dc72c82a7d66f3afc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0342d061d07c0396c02cab4f74cd41f448c48c43434582c32fa002b229b105692400581e02ee713f4e03e4a0d7f2a90ae4834f72106e1e65e42f3b2ec4f517d6b367470e35fa931a006400581e0238d98e4c3b9cbcc40eef1ee76986b6877984a0e7b6956830dd2f3455af410100581e027ebfd882c0b8a8b5c05eef33dfd0345ca219820a3cd0af31450dc691f15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0238a5bda3c70246f0914c50983e21f20a805be98e6276310dee8b8495c14b4a817c7f2a2bf142ec876b0219160b03c8e521e04254386e003f7bbd99556ba574c609b0e200d359604b0cff7866af3103237f5a097edad31f1d89d2cbaafbf83169f6eeb404e7905b712930d926270bf803ecffbdae71e859f97752b3d56e3c39565782f8bc17b669aa3ed61efbfb5161d003b5022cdda3df9bc44253c9bad5ebb86c3e3160898cf0416a98136e59dc7f7c380219ffff03d5e1b77ddebb082898e4e23a96213d93e1eb466fc26a6fde217b80525b2dc1c1032112e772020f83d545a62ceec7a1168c695f36325b9c3039812afd53d43b5bba03f0368e6ab233f0e7ce6aa4cf462e55df6998b01f54015d2079dd8ede97bb816a03c0a8c690ec681fc2e26239bf1a1047f52326a3b8315dfa726039ef901a3cd074036d35208b96ff5be93018275342e980f6bbd89ccad3d048f824f5cdd625df1ffd033d865cc0f302bd91d0e0ce07d0af72c0e2e107bb2de7538216fa025e9d83e8b103c82c48fcabdc7541207d54fffbf2cc608a0fd984551c05c188651757081fbe0c0309e04c9e6909ad7dd039762f4e30c83f7f20e0dd5d98d9b9c91dc0cc984572c2032a62254e826db842766950715f6c93927e4b49d055802d6396f613c00091623c033778ef8d23a6da68967ac5470a395c4e26d3de8eb442f511693d302f4a3cacbf0219ffff03ce89a44639931f8f1fb8962782ad52d56c979306c090d5043e04192320888e5503f17e89d8d1202c099d84a67fa39c4fb07af2de100ba4e4ec1949532582b54c2b03724e93400753ee59606ec1f83c8b3838f76180391db0df52d98161e2ac91272603f88d0b294db35749d85d22b87eb83196b397db860043c32322680880cf0ee00c0219ffff034c10e7428499cc68c17a144106276c9f98e3853d04019bdd71d1dce4948627de0398cbb06ff100e9ea192dcb248c1e4e9cd44dda37370e9d94aa039cad5158a0ba0329448797cda854cb995383c454cc03bd18db16773fd32277f142494478bd29290347654edbd0dd14ce9767fd7f8e26698abf1887a021a32fde788f85777e4511fc0352ac79c448ce0dabe812f7ecca64cc71877cea03c2e6bdc1862b0111317ceded0309d4838fbdaee3d2b9601983f34bf988a954e4dd70191b6097419f4fbdb2de7a0305fc0a8612b7634be178f043c04d2a09a49cf1c35a38ed95f0a00ec94a175a9e03fd4f3b0e00aed0a3600b47cf3c37d1346639cc3481d64d91c5f1ad05183e0b1503222d81deb8d5524a3b0c22fd391c062a6b4fe20120d7d8001594df7f40a30a2b03c427c872e8da3698341d03e18758523839bc9734c77fe9318b71a00fd88fe4c703ba05d6d7f1bdc27b1b1b679693b539c3ab82ddfe5e19cd3820b5b5fae58bb7c903694a0329d97a3524725150aeaee81b88111f6cbd455c69930e5aba72328cac4f03089f7624f96e8fca0c995c193586fda14f2c903db650a5e33442d0615792198f03456fdeb69cbdc5ee8cf767659ac0a3d29340c24e9883dc81258e5bc47923b95303103968cab266aab7adc72d3b397519cd8369a5672ad24e6187a29129ab6af9cc03218ab8ca7682c83d1475e7f1f0759f052152867e7d68c1f2830a53d4397df0e7039106af8342cdb29385e6203a744cf8b2d7c45be73c9e8e40934fd447f01d2e9403bb85facd61162706cec8a623e1e7aedd53e9cfd9424a36e1451fc65a0e9b0a0a03ead9a1b9001a905e7fe3277a0f1fe9d69b80599fbdaeaf10e3d3d648a76257b7038b01c08421329509aeedff5c9066ee96871816e14d969604d25c57e56579660e036ee0a1c36659c3617b7d501a8702368220829c35d93739d21e3345421bf6dcc803ea153ddc698dfe203eb837cbe8197d040857780da7c588e30b1548a15baa36c703489d7749b87e346d36294e354147c82a1ca4edc2faa67d09d4dd9b361827f7f403e36bb776bde52471e52f3dd89e79d89774bdfb3b2aa01a983ab08aadd202399103aa759bccec62162d7ff0634dc498bd1c313d7d76d72b66b259c468c41c01efa2036a0cbf59022ce4f6e969d99e3d740d94051ad8a978b87c2583e9f567393a12780344450ccdf32ddd7e72af7cf5f77b9e2c7350d8da306718433ec0dcb51a302fe303da1873b73735b1bb9df5db799d7f1eb07276030a05492a1b4c27d0bfb18bfb3f035578b2b8b62bfd27b77f64ce6536034a445f2dac87ee61be10ed832290b2fcee030df5c0606bdfdfd901b4fed22e61c9ec6727f7814082d2afe9284d15847d819d00581e02444a0b6889f5f82fb75bc78bdb9344d77a52cdd0a533d116ea1c4470c247039189e8014c5b00581e0241fc284d2ddf88f8a84d995fa4e7ab43e79f3fcb5a3419686caebb8fa75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219300003047886f3b6fe5b07e6d9e473c386c101ef736e0136b2ab3f9302071cfa639d1403df9b2f0033172bf2c97971205f406a1b760639f03b6cb65a915b98ada850ae0003a7b8761e4a0a413a424eb7b7e43454d108ba0dd6cb46b860d3109264e53412c003f62f2e2d8b26e24e3f8e7795c0ab586d925438a261ef741ccd49bbde3110040e00581f03eed0d18cd68078f3cd32c46f61b349d1e9bfd99aac971133f233a1a65790465af3107a400000581f0302acee3f316216e3d0f4d4e25c1bdbe66f378591ccf485481c8c6bdd1de0410103258c75af2f95fe333e2b9a6c77cdd02412c3a8282ef53cda573a0ac93eafe42e030851593c9928e051f3aa5bcd40a685aef59542c295f4e8ad9d4daeb14d581a9d0219bfff0334ab47befeb9793ac1af94bd4d12b3a640e2425c201b342127f677142da2c8b403fc8df0f993f7794f086e8ba8866b4c186e078870ed354290563c0edffe43354103551e9e50bdf28c87a7c52b0e01db90ca9062b3b526f469baeabadbedfe8ab66703676572cf53cb2c487f6ae55305597bbec0f5125f4030e38616f91fd7205da42103456ff592541f3415c325e6b6a4a7d9273f1033307cf1d4aa071f8aba515571620393493b4c3ce5a45f05039a91e7ad7eec9d705142097ae4e9624f6982ab0079750337c761b6661203f3e231f08ec824b59b817249ee0090874c3b796650a1d7d7100354814713a3598c1f605cbb6fe25f2a3417e155c7ce0a109bc6404dd33f6f120803af477dad135731a43f836d92945e5aeed877a0dfa099134520aedbda6031a9e403e6a3d6f32ed3847dac22655c257b6062d63e68bdc873625a709f0123bf85dbb903a668ae6d410dc5cf26eeafea0ce052243c0fddbba977a6e930549922f98160f8039bce880266e74df5277c90d80693d5bf42db5650b85ce1319f40411e020dd6d30219ffff0376c97e5be7d9943eb02d13407563c65e129c6f60419081ad4add6b0f45ae5c0103447018c897a7f16f94ccb519b5ab9341075c26049163fa95cb9a4b4c1875cf4b03eef00b347bee9159ef03b3f98dea785cb3faf1a5ac691216e1ab92e309acd8cd0219ffff0366e76869ded716e307de145a671e3aaebe24dc61e2c432af8b96067fca2bfbc4039bf0f61a9386c453c76ea7c2d4a7fa02ac08c5d06ec3f680ab666461058ca7c203bdd4e9d439d198bacbf1bbb15bf14a4a4b769a7f36c5b145497aef599a75fb2d037dd2aee93fe1ea3ff94c63b40bcba959a7843ac960d7c4d2d76b56f2c1f62f9803b4a3c90d3e8da4536b786dabbe5dc5ff8114e8e77be18bb739bcab2d4e89ba810351471324c2bdc2e7b7488eb62af5decae05e9c9ed3263000d5e5a9a88f873742032ecef697977a4546f8b39315038c90102e66eef8d2fecf822c008c5851f336910300050a64b13fe940c9aba2ef89bea13d1cb0638cf57dedf2af7fbd7b9e69838a03ca9fb6936f782134c1c2a44097ea765deeecf39a302e5d0e5acd117d2b37bc9603a34f90faeaa36581dd147c48fb0a03106482d89a159c0ede940ec6d02196046403924cdd3cde27858937fe7ad8d3765fb4f5e552196b749de253f15ef5422e03c4034df6cfd51220a482e1b51fa698147681cb0763c48dc493dca6a0e53e828a6960030971c27cf5cee005f08a07a3fd9d5f0d82dc29faadedbf33be7c3e4f620d89e60395a6c6e84f927cd19230821ef248b5112668e1b28c2e5625f67c07765a4fc18a0326ed123682ec2efbf9915b6eca6c081a4faa5dad8fb000ade669413a528ba70803d35862144f3fa0b63250388c1b5e299dfff81a791f68e4559f068a40c086a4c903f8a8e6a8102eecb74079b209533a0fdea5203f75adf14b8266c42550802d1f33039bfe03ee4ccc962926b9ddb5743530c2ea882bb60ffc78b690e28d2abf0124eb03e92479de02b9f2dad4089fc3daea7b1723f90777489a5cf0c8cd4c3b907386da0311c528ff4b3b4bd5e4d75dd20d6cbc1ee4014934cf671eb098968ff790e5dc3503c24c98b8760920aaa136a8a88dfeb8157ebc759e648a7d79a6a707648de18a0503becdf2ac13e3ef309aecf35741903f2a2f86e3fac86757293a24b9d122ca0669038e6b8625cba6b85e84470312cd35f72c447dd6149044a3e99664d020e05c0742038c5c8d838a371b78a0998ae621447d48a203a96b06a20825bac4581611b35f7d03ee7c9cc129e2e229dc8b7b3d7c760e65877724afe20e79855e00ffbbc86ebe8d0331ba5e930d539b9fd0eca2836a2498896b11e1902f9dc1b2c0e31f7033bedc79036dd0b3b7330bc1176ff39a63d9ebef8e57d3e696c0fb0ba1328f2d55e932c43503c6c2f8a59eb5ee4f576f08c7a56b21ef1cc14f40f0604e621b0c5bbb24c9950703e26afa7968e59f1a2a6cb0433fdc2e77ecbcbb1728cea332f77ca52a7187e15203fc098ad939cfe574f52825f13a3ab3a13e1eaf186edb9f0bce97a3d87ceadcf003dc100212fea8799faf49241ae8a274e8b0a3e5f964d75ddb6d33248d1686de0c03458f8ccd38a4dd30dc8e32b942049c5e612ecfbfed974e779a775366e1326dc000581e02989637582f15784a2c5a9cf3f904f990b3023becb3df78160f26a8caa84802a303fe4b53000000581e024a156149731f91c005a85ec36db9cca14f3d4648fa4806b1b7686aa08246640b5eece00000581e029623d5de0d84cc230fb546743607ecaba10eb2523394acd142d9660452480378f041f7c337bf00581e0299c4b62c62c42b72e1b4c32934c34a120d4ee536a0ec2db747b1e2607b480143ce335aeb457e02190a2903743de27d7ccd837bea37c4e6f25dfa289cfe57471eb1e77d4583eaa15dc815b100581f0301c92d8792ed8887b6b4d29aad8a5b5cbd32340cc4026a1ecdc3eeb804905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037f368b9dafd3380724f39b4cfffb2060ed8613e9c5746f82ae4d6c2fc2aa64d9032897a4622618712ece207434974a93ab84620ca12ef86a98c091fde7519cbd4c03c027c63714622fb802e5271a671d8a4a5bf9b6071ef6081e5f261bca793b213e03e18b4fbe89f9ded76d56a335c4a70cca2d25de968034adc1179d2b95ecefb458038b5398692336bb9daacc7aa1fe37b508e7b76e1c5d12280efdb10e450131b2370371f27ef7d766b83b903a0aaa7f4525bd978c1db6f2d2d6eb0acd0649c12ae79f038422987979076c09f641b528da101033a818f83c85141af6422489ca1b3480e603d6270bc17f99014d592fddea015d08d845c9ddc5c0f43472a21777c134c5f11b035f8363d1a222a52c433f13b316ecd52ccd11d7cc0e2a3a409e7030dcdbbdc80603c4b3d663137fc0794681de90f2d79810888693fb1c3bdd9528ba4a3d05c177a30347556f82b9d6110682fe84919791c3ec263c48cf11f3198ecc2c8a2863547ef80331c87048aa1042840638c085d8ee215dcae5b5cdced302a3811123ea7e0c421c0219ffff034538515d84a701d82422592ec353ce587111010cfc8e9c4c34642d3a6531ab8c03d8e3f0067d58464301b32e7ed5e26cdac65ea1e52da7783325a684c7dc3f54c30219ffff03ca281a8899dd059e872c3e059c0e80cfe0462023d07b24742536b81d753280100219ffff03d280cb2df8f6efdfa7cf72b71f1c87c784c7d868d976be200d215db13a01a5850219ffff030fe8a8546334fb6bf4c9c8fd7dcc2116fa10159f5fa3666ef8eb298730fc4ec30310f7dccdcb19c3b644f6545f02b8e8ae9b08fbe9d75884c5932067ebdd81ac26032a0fcb746ad0938e68f2a49532110d59304bc2cb113196dee16af64842b528a003fe229d37ad1df8f94c963d2f143a5b9356c9e19717dd985d72bd85faff9d4d140316e6a5af66120c600b375fb059213401a200a39d0a89a82009f115e3b45f67b60352fd6a602c01ba338a66b3c5c200a104aad011a5edb99ca532d99d2ed592c7a403fa6ca7ce7ca620a89588b48f0ef4aafbf305f2c5640ef3510ab00243387ac3160370856d0fb3a21e52e781d6486201e961d21ccdb22b2546270258d4210faead6403f2d7a5db7bd4eef3b74c4f798d68e31991e7fa11fa48a30262aff49b6174bb1b038c2c095716fc85f4fb1d0e61bbf2a3c4d604f4549ac4a5bd7fe2fe26652621590319ef1320d5fc0cffae645d868a8fafe73d8a4a53f439f607ec78c0f7af39eb3a039b4c55c04ed41d9b224be23cc444de9eb208a36b563a211d491c5c892213787903540d46ae46173ea630c6f82db9edcc88a52c492f1dc15a5f2d2786e779e5ebde03621aedb40285d0e5bc06df630aee8b133cf80356118d5c9d9387cb9afcfe5c4203780681f4a2ee8998fe104f625103bdfb0d814afe55c169c4ebd7b1bd582113be03583d52c67948041d8a168bab6da6a65832cb72ef8e191ea1e0ab14570fb6bccb03082be52318d9568014f97cab7711fab7ac4f449cd6f26ae462b10e793fe73a2803c9b447491af2a94f109262333ba2016b36f7fedc5adeb463bc803296e5ebc9fd039e48f992428ab6ba4bb51174e4200b1b21b83f2f2d7a3a62e22850c4af76a4c10314a2dc9f7532faa7db6c9bca99db4640fe87435d847d4b9ca2bc5657dd8b92460302305217a79074960b530c7d9b7be3eda7dbb71ba71eb99afe639820b87a2972035ab8d33a18a33b60e6bf53277a555d55dc58af87533b813db4590cc49faec30a03b23e7b2e577516c993b2967e73679a9f13cfcff603844012e45a6e9b35257f5103bcb495402a5b2fce7af82cc89ff807e04659996f619a64f33fd960f4c27b5a510363e0d8cc5d2cc3e6534e91b4687d891aa8e5a5b8f5cee8bab0270300f2c100f303fadb149c5f8ba398adb72fc511563d69101c0c389d5698a21aa400368897bad4037b05b157e19799c402e574f4152c3ad5ca31d12c9c23c685813ae7b079e8211900581f03f49afda713f2c9b2f12b00ca0e2e14b5ccec6cf2d5fb20e144fa41935ba04701c6bf5263400003031541a1326389bbd823f71c4b951f1ea1d8c098c2194b48891491a433490db70396c3798a60e382dfb06c21cf529ee1bb87fca3731b594dfa3f601ba3f610541d00581e0234358326898eec940414184f7fdee09468cd3a4dee696bb0fdafc4ef1d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025be4cdc8a7af85cd1b9087d4f25ae1fe20c4d676463b4f9d4a9cf0d7a65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dc36daf836d27b441eca28c5b50686ec94def5bdc7e4e8ca585e68294d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02884027633f74814507d17a61bb63ff92782389f2803d5d3b8c96b859c1490102c9cef940297fb10219840c00581f03b1614e759ad1c40f14c1c4186718bf5be706591493df59a59613225fbff041030316a6bb499e7a259cd268d31822408d7e530fcad01afe1875cabbdc1b3471434f0219ffff0311666ec7b4d9a24d62288f314d697e1efbd2f3bd38af3eb11e07ff11e7263542032eed9064590a074e47f580af042f94995784b9711f3be147bd3e3000653a5f2303416c08bdee27d9bfe66e97e979e9d008df58155dca512278719701f453557e9903ea9ea8d33c174a726bf58e44a0c3d9d05bde350feea94af5445fb569eaab5ddb03c9615654eed06d8c1357f93f8688ce1d8537f189085a254536005630e407678303647b292f93404f20071cea463ff70ef4685bf783c175c03b4a691eab9765e7c503cb5357c69dbae02c696b2f838c51db4b3085b6e2eef83d89bca324ce9c63b477039885c0bab0dee8e855ad3308d2f2cd53ab4d4dbb7894491b451299b4d2d1ea4903ab1ab296a299a6f0f70d0060f74ac5cfa1dfa4b38373002239116ab561a8ed0903a22f62598f39723f47ca758fcd6759d0022b0cd8abcc8a5a0f656abf301f651603752beb91e1536328bfbbeee5cc9f4f4799103a730586e4965db08e0966dbbc58031680fcab6881e57943c2a80bb3220130b289265215cb59deaefee015e381322903c50c8ab8354d6ebad15b97ca494a2c5e9caf4f684cf12cb79cf7db701452a3da0219ffff032abd64d71b2148c7f28aef5e91398d96f99fd0ad7c2b59e088424df2fda6a68d0219ffff031b5b7a47beddf3734eac8dde141ec8051fe7223922779ee24f358bbc1185f3a003261a363a052dd20ff0055ec24819d25b7f8a11de20b5a8d44c7521b15b36400d03b6ffbd0508863780ee18689620d00286c68408e19b630f3ca8b9df81b403cf14035a8da803ef7c692c28c7ad60ea783c14ded90116bbf5eec6308190a1e3c66b8703b2d2b4bb90d86e24c64324f6f5038840602f5430ad3d9d5665f540e2b5962a2003ca668f2a34bb0564148ad761fc26e4930abc704379c98c4b63e61276ea8c48b7031f9fc7a00ad3a938e92682a27498cb0989ec6d2e60f53fead6c60257fa285c6b033e4a1121003fc287610e2db4c905ec357c5af5d3f6ba7d8f9321445bcad10133034874c2cf1f3e163c832e696252dad69a0382431d4536d58711a7da162a1d5b450319607b4f26829f603811a93d6133cbfc965cad3c00d25351609a2704f712ea3803ae6e517751e01eef8bf097a65d182cf23717b0301aa2b97f4fcbb46118971b6403d60c24cfe90ad24dc0d39b9abd9e380fe9c841883cad4cccec5319b86bf3518c03a16c1ffe8a6c750846b3ca0d3e871db7248c3a0a65f4809f1d0b0c546b1cb8df03346616f34002d31fcf9d33992154fc4d7c95c008ba3a704519f137669be09f0e0303ba1c35fd4e725ec026e7b3ff037dd86d71fd4f00f3504d8ed26123dcd4d5d603a37500082be98a760a095fd8861f7af20d85db7e76eb409f5d59f6562879312403357cd06637449bdb2e0799f1f3fa1b9dd6241f08ce9736b38c49fe8a4c24402103acf676d3b4b98ed4423e79a9cbacabf7d1ed0e0d8be85c2f50f7031856b2d4190379dc3da3666a1ce2a4cebf53febaae6e945917f27804a57d3ecb89c05134072803d678a032d2979218cfd22a9e71fe4228ba3cee9dbddf6677ca835f882395e433036e18cb4f17b3be608250ca9306fb57895510d32d4cd7c30fc6dd1d4e535218fb0312bb8f9d1ac639fd2e987d8f00e2b0eac49647faa017b335c2422d903bf45c9303dc373d4bfb706d2fdbf85d28746544cc28ada511c9853c9d4abef3a4a9593760035559f4618917001f247d99e0afee641cf15f52ee0b77f5afcc8816ebcd202c46032915960e57fc7c219914e055ab575a06f32a1845fe0e585fa4f97333f4117f4e039c5c6bba654df124b3f67c19e4c891ba0f30475cdfb7900441eef37857ecf4f203982d7bd51270de0f369cf14ea8632ea2e5cd73da3479639ed634a75d805595590300aa1bc6d68f9336ba7ef6dd8c7718849de35b115baae67147c204393d52b54403115d5e23cc652260a57890216aab0ab5f241b759f692a09876b93a6e75778b2f03bcbd8e28eff0ed9a29207ab48a09a3f82273a6374abfc845892e9bb0026ea02d03e810546f46c8df75ad2b35433cd41b5f285b3bb8b0a87c2428774c2ed52a5d530329738248c281249a4e1696a99a446f7f66a8844e6d6f61beff6636261d2267d200581f033c775f189f94ecec0125247dd6c0e8ba211578497e9ae56d2b4291666f805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b93ce55f8c9fe5e76d7c4f9674d40f121d9db2cd5134d84603f31ce1c1382cd0031e821cee932c765159a0ad69e127db97d9fd62579ea70749068b1d7efc37421f00581e02a1a02ed0ee67599d9eb8e1a76afb67d3fb57f11d424204ffcd1dd01ba3490198e0d69b9f22712000581e02d05a8b1d2650b30def0fc7d35bdb7a8e5c8aca1bd2743c14eb6116153a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ff2aee7f3f17585d554d1119e6be784d15f8c5306d77cebe6a2f71b42d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219440903cb2da7fbbc802fb12dc16bbe694b58208aa70a6290d28633755e7bbddf2497bd03db74cb50084008db132d285fb663d4d59d5afb67dbceb5b286454457a7ea048d0369c07b8b77cf79ffd35e7fac24532c95d66e18767444fffcbc97dd834e75d0c5038e7a9b789fcbe470d1e8e50ff16bb3a38260ea5c85be2cd7b656345e8aba91760219ffff0379922386df773c7c226f4657aafdea4790cb8d02e3fece628f96d8b9aec18ef903eda15e27846f95cf3f8db86da108cbdd5d07314c64609aa163802ce6e01ec6bf03f2427c717cc697fcf9710c4e919dc4130cdb10221ad800028e2023c3be7b374b03e6b17d2ace943a67c54e39a34ddeb4711bf7087f422cf42682e086fb430602fe03218f8712be618ff5bfe1bf6bf4033ed43bc105261da72896ff846469c68d2aff031e00a27bbcb79d6dcc36e4f3f4fef6129f08556d024e84e6a4cf3fdafd4b0b00034aa842cd551fedb87f990254af63138ee81a2d7bf79848ef9a8fb475617e1af403e5dcfe42f5ea7d2eda81cc5912df142261e7063085760a4caa8b64417b4261400376b3e7d621eb3f340370c86c931e5651969799ee0c844fcafee06c2c0f27a99f03090e5c87ddab8bca031a70b6dab343ef038b794f4ee472af99044a7de22a4e020219ffff0380b799bf7bcf5c5a56e27744f18460d8f68a94b4db113e09425a0fc84c46efac03edfadccdae5de469f0127a070948e0f4b808714a0d298324c64bb178fb7e170e03411f630a6476a5bc4c94f17cf95e6aa62a1a9c4dc96e2c5b4095c9b8f57b90b2039d36e4427dc66f3929a48c495f2761a972cc3e2d153f02fabff806f8fffeb7bd03289e220c2bbadc2ff296ce9fe8606fb53f1224ebe2a6a222eb57f2e5eacaf2220376dc2414ecbdebc9761f2c09d598620aed8a3a49f60b154dc5844f94cf6999220384e81fefe30c068f4b06db2ceed9f5b2c5d0ab63bc2a69b2c622eda97168c8e90219ffff03dd1c98ef2198f1928ede82794640fbf5444592a52501b6a8eefb51c7d0d9476a030226e8d54649047172ab8c428c7e64828f377ead094c4c35606a16b085a2aae403190b8ea1c6083216ee88fa60038ad952ebf07b52f6840e37f9d8cd9d4b8e1fca0219ffff0219ffff05581d02a65bd257638cf8cf09b8238888947cc3c0bea2aa2cc3f1c4ac7a30020f014b0298696f34f68579de79b8190c34021920020219702b03c07c4048481c07b118748b2a30e851cf5c6c87af6212257f8845eb9ce07a02e403012fab999f402d6b302a07d3f7973ee8c357d5db8c7991903bd54d54d507cc23035923155adc8cd3aceaf27c07858d290a3b85fc378fdd98e9f4f7f70d157f28ba03c55b2981a6fe08260cb6a076c76858d56aafdf255d0a12a2c50abe35d468c7e7037975ea5712162b9b7339943572a7180adc20238024a429eb2e0928128e39556d033909e6c87be78bf54588e521ebdded1d467e8104d18958f7dd079010ee22155703867f6119f66c88787520dc8899d07d0e49598fa8dde1f33e611871eff6cd04960219ffff033307aa27831bf49ba78f1d47a092c180664e709902579fa9b13f147523cb8d0b0219ffff0329d6f7d3c1260b8be12e0e506b6f090a20038b4006ff80babc6c798e50891df5035661d9261f141e5dc102e1559af5624bc8da056a4ee8ca15de268b38511b8f9a03c26d4fc6efabc1fa16b6b91e18f6ad576e156cc6506af88d5858488a5d4546eb0346df579e8e01b9f5eabcf5a8fb9ab122c02677630ebb8b718ce561efff51cf770375030fc96c9b2aaac9c3270ba8b807966d58e1033d6bc3636bdb330f148cd22e0395ca7850aa3c51492680ccc0d0847a4ef39d48df817e4e66b6fd64c35ca4485a0219ffff03a5bcfe41c7428806ed77b1efb5d5e9c18aa3b16b41051c6585d22754306ac60803a18c75fc998dfafb0af7b8409b8989895b612689bc80750abe006e146a10e9db03aaa6c2fca75e77bfe1fafe1fc54b24d2f32c464b8260749e6121cdf88cf1c3c90396d9b009db8f157a75ba6011a1145eec1c3900b72a97fb264dc3c8cb5828cc3d039466110148452b275836ade645ef6d7398807275b73169e11571d62779e13f4d035db768ebaf597cfd7bd8a21f279a6ab0ddb1d79abef9d2cd5dbfdd8bd597548d0309f8dd5226acced6594f0feda8f7d79e24af43c0dc4a088564f008694087a74f039b703368dffd0ba0e8b112663607b514a63fdd3a1f0d105834477d50dfdb8fd6034d4727bbb7f2b95b40b31a7c1c6fe51b2dc8b0834fd59be75c643de7cd0495ff03f75190a132dbcae52a69198c5ea3a52631c88d14b704f28bf34f85e04ad237fd035be287a3d4bada419880abe3fc2d6aee6288789d25cea9da54098016e7f3dc9503ef79004c4d9ca4e23221d091458cf5a5b5eafae97be0c4b904ae613dbdb55646038df3a37c23b20c361ad11111e6bc4aa3cb8ad974fd9b77fba1a39c990baaeb5c035135009419e3a13e143c19bfc490a255455aed77315a8bb0b98c99a588d151d603d359e43b49cd96a159c13d57611569b412da145f89078535bf8cf8acfe7e6b9a037e195e8b61bae5cc764fc4cdd56b0137107a68f85861552c3849eff71995d517034eeca52c44bb30073517d9ff7f0c9faef0b9840579902dc11b0902d72c5fd65a0375b54c79feb831d9b903ad8f33811696a58624a5b1247b9de7dba768edec029803e761672d4c737a4718e127a35f06c3716c5d046c3a9269bb7c3f0a7429ee6351036073e66082d55344b0cd7dc5295904aedb92741c871c7a48ff9ba1225f2919b90325ac81d30cf8dfec5e9a60efef396ea08e6a227f7a27b6b144dcf054de6a67fa03dcadd588932adc02487f1a7db00ea20fd8f1ff1f73fcac6f275e72cc02a14e4903f94c62cba859f40e88ddfebc534469fcc9268ccdfc1b0f4e8867f465c15cb275034affd5b8893c4c982311e765f4b66e5ecb10dec9688a35f72608a0a9a7314daa03880b691e05cf3b509e73cde597836b4efbbf50db66c181fb3aff462598b7f09403465b1bed36a6f3251654b07a849669804d89c57ff72554f74cc79f29d4289b9303e02e148f5fae0c5e182164ffe8732af56116fa8b6336877c000b582d132074fa035c6655fa8b9a6eb2844d56a5a44f7cd7ae5f99852cc703237c6b6ad2b9b7f30f03c7325c09fed19bef6d3a6e2bfaf4a3f169fe9cead20b3412b3c05d456b31cfd503bc954d1330207d8c78832ea09360d6fca70fd6db0d681150668b32168ed0208b03152ff072d8504c97dc03597d0c652095e31c7e4202feecbae04ddb5f6949749403f49e4e2ecf328dc6abedf8cbc4cb1f4655904a4a19c6ef9265bfd679715942b60336a6a0ef6941cb8efaef36406ce7da8803a10a26b79eb26a88bec6e9484f855005581e03e341696f2e21f0265fb4839aea9f086b67e24aacd3d4ad52db160b65c004010399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080345720dbf55efdef2be7646d2bcbd982af46c74b00673e3b5f5e9a05b70953e2205581e030ed8e57839eecc762fbdc4e133e713cb70182581c6138cfe1dea30219007011bffffffffffffffff05581e036dcb519c543aec9e062550eccb5820c2f13f14d2b6469e0faaa5473a40040403be91ab156f46d8f63aa120c0159d62da722a9bd140d609fa545ed9153472e5a60386e7ed7cea0c050951642c0e1709dd3a1e04a2f49cb6ab4384f0ccd25ddbcac305581d021cb7d6e9d36379624d5d0eb7027b15708d7895aeca46f00bef6a5489040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304906f6180655a4d56db600582103d103c921082be56be80e3c7b242971915c81ba1e7b915f5dc741cbdf1dca1f204906f6180655a4d569ce00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04e6bada8611f246bada8611f246ba00058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58206fafdcaee763207d9bd1f2e8f7a89d0b0532be941fd4eb119395150bd4e3ab02005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8500559696969696969696969696969696802184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5db7000000000000f9ccd8a1c5080000000000000031abb7034e5b7ec2480058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f543fc97c421de5d23e59b42d048857b149e2f1c08d0218480219b44d05581d02c0bc20787361f6ac4fd9486dc38af4ecb3fb457777017fb7002fbf960701192c1d05581d0250e5b5f0ea50403555440ad1bd68b1eaf3c8e7d305ddb372076cb5f704020219032002197c3c0219ffff035d0d9e3964d36bc3dbef523c621ed976f4419710bcf71f9d30aa1c0ea3a029aa030756f1ff95bca7dd224e99d9231afc7c0efc32a1edca3d6aa267d3619de7874a038f69334f0c073177a56a82c79a84643ffe6ce6de4dc79cafd37e90746a4f89f10313747ddcc0635974479016dcdeec1d75f82bc49e1a3181a0905ed2fbd2c6c2f303647a1638073e9946338f8b7d497dcdff9d6db9000c5a7824d50939de27f8d4cd0327eb5d06713e7fb1301b4248c281b4377561fb8357eae36d9b928d166426f319037c22951ff6a085d2c1e40d00727405e43a7a3deb4606bb1e6171843ce5f20f280382143b5b693918a1d4bf69322ab81b5b1a18d1065ccc9786ffee88f97ac0ba020375e35076e429790ef60e031d542e086c3110ff585ff26befcc8adccd2fd603ae035d5b48f87405999bd18b07586ad303129455e3d86c05235cc94c7c5068f6ddef0338c70865417b6187402e6f50f275681883730a557daa20f6563bad6f1bd3872a0372f7dd1cff9ae46d5b11196de87aa03f080dd599181122953b5140f619edfc100349d0beeb41e4041818b137c1392310932402e947a8cbbe710c739219a340c2f10219ffff030b9722a74e2a867c3dffb867ef606931e9253fd146847767c8fb44d5e7f62b8003aa1d61b80afe80ea95628c8045edb7d7af97c42507b949540db3d1edbd8700b70219ffff032bc1158f7f71ea4a961a2f8277d44309359c9659a2e4df8625851b797325b505039aa4ec189098b1243fa1aabea1dc68a1d0b4d391b2d4fabb7ef55c53a7317eb703acad1f62c17b4b4cf31f821a3be50f213dc2a88517eb2308f68a8541a876d9e303810556741db793f827f65715d5c56a90bd9dc2a9aa9eb2066e1bec36e3c9011a0389eca74a790ea70cbc90eb8cf44af9ff6323ffd498f4cb982704bd8f298e6b4603fcea9d738e60f4c2359d60bc8238574839883421cf3e79e91cade51d75d47b6503a627267375d88f30acd054858b1c6294bf1974d9f15b0bf38795aa3f3934c79d0219ffff03ca557fca2dad49b7d03c7d27be59625a0b3973f337c37b242e044cc7c66b074903e6669733d359ec1a15a3a9233135231088cd7180e905514f1604a98a8cd6190c03e9ea82dde2ca0125fc588cdf94d3c6bd8dd006cd593fa54ccbe400851044622403249ae75cf785268a5fb8f9ecfb322a0bd953b7ff38bff69faed71c2a0cd7fe8b03abe0cdf609d24abc82a82692a77a2f8f263d4c9d8b3ed6a0dbf7bf105bedca8703bac44e3d5013dbbd1b38ce11c0e21c13ded49f8bb05035aaebe630a8b21c73e203fe7e83bcdaf59747451ea22babfa068e736b4a43ed05b769ece71e5cf86d49ab03a04323c0ff06685a0ee90b93ebda57acd57f68791123029a3d9ef4e41ecb79e3034f3793764d92fb9e77f1ac1b72a13e603132344df40f49bd7604a139dab7be7d03c2bfe6be9a79bc53382b4962cebac78b6c9159842276a2f6cbb624c6327a9cfe03f9cd7170fac4b901cf445b1854bb5b8ed64b92c40bb79f27042bcf65305577e2031b63d31c234bc78af50ec6c148a050e8a01e6f9c6590df81f44acc266ad37e9703c03f8c9e069db39691d9dc89cc73bd4661b0832784f6bb9e64fd620bf37a605803e91e4ea2cff68a4376c0c3dbc13806985ecf720d2edb39fb378968a89ff50d2a0363cbd9284812aefb3c118748258c4e5b8d2412a5842dc4e3c8aa8fcf48fcca9e039983cc26da70ad5562ebbec7fa168fc2a3f93df40fec413e4a4b454bf938a23303867be31f40a2422d9dbca65b8ccd16016218ad92c868b262687075c49859194d03e3939497b2ccbe2eb74d6b6fd65947ab94a9301b906722a6703a8d788c9fb6f203e446d4825322b5bc4b0a95be7b8807d2ca16e26e108a268e6c0eb0e4788692fb035f6e141213fba90ddaab795751e337172e426693c5ce51e1f4bd7d2644cac4370346d4cdec9efb7ed27c2bfd352f95001f32c898fda8db3a7c5e707c3a10a978cd05581e037ae9a99811adefc0ae382deae5f30b20d2f7ec4a1856815787c33bd7800c06470fc9298c7d808805581e037869ce711e23ddbd63d6b80a46e51e7b7534dd6f3606f171cc984dfe300c0247012394cec18a6805581e039c3d9f69e6867a9e608bbd577d8346e3bc3e82f57a83d1cc98b47cd2500c074906abec6aceea863e180355b104bd08e30d7dceba4da3686f5d3bfebd247a730b9dbc8f6b6936bd465dcb05581e039386ce638977061af0cba992c78b879c568f5a670d18c664390740fc000c0347315611078dfa00035412b5e7769b59f4b0f18fecbe4750b50946ede491ae96d0c5e1a7c481f954a803ca5db9096f8d67156e22aebf0a3da992256f24b9a5423997591242c3c85f11d9031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0394b994bf80acfe1624da0252f8fa8a76efdbfec9627cc14f77f926b44007011bffffffffffffffff031e0af1581f1af38760943fa335a6f3b53a6f7a0f4e1f24f34d32c3894a123a6f02191be603545e2a2d68de004932b2ed370c824ab341969147581e0cb4bdbd52cafab70cfe03c01a0ef6ce77a4f600c0cf43dbb9c27f3f3b8177641dace1dcc2f0a3c7309a9b03da1886bc071722cb1c5f20b303fa47b5978ef7556903e306c2fc17d0b6d2d9fc03397d494f9db90d770ada08611b749733771390865c217a126a2d2a0bf7485de7036c95a3e7476f2a035d48d91e5de6bbd95eb2dfc1543169484c08bd65daa79a2e03d00fbf2612f099c19b3d368e5692d759702dafc6da91a936ec6bf840f85534b6038c34b36133f0c68b4ae36c81dc220f2a394ed536ca501d2acd49702a67aee7780219ffff03b0752d79677b7f3541997389cf260d4d8cf840d1f788b89dda157780dea902b00391d4f247e953a215186c85c622b5739ec2d1e23bac8ec5298047479eac5fa5b003f32865c30868fa04664852523457bc67ff25a4a9c733ebd64095be9ef316b2db033a5b5e2cbf1629e3b050e4c21bfc71297d46c2c26922273e9a41e8deac7049fa0339c817b1ec2a9fda9d6949dcd5ae294184de833d3e0822e8cb55dd495021a5d60322426633b759ab9b29247f4fc42ccb7df1038cd84ad36cdfcd4dfa738f5aa33b039109569e6a3e90b707eb8f1f63b37ec1fe5d7207fb974667a47c0cb3af45ea5f03a8e93fd434301fc659542a4f138ba094347b8f61cc2866b063d5108eb548120e0219ffff030ca50f469ee0dce4d2aee481fc73f97198339d342b081bf56defc8424561bbb303dd5853f1dc902d02723730739d6dc612f1c9b9323a252056bfd3386027466acc036c18c063461ef377ebdeab11eee9e81c14a938e279b6a9e3305a9bc4490db86403e02a3f2b0b1f6396d9db471fd1118db67f188dbbb556baa1abe25742e159121d0375d268504719ba9289c1e2b058762df81c4bfb9c38dab6ea0c0ed5ee920076d5035907cda9017339251184c74796a30cd9ecdf78603fcf776f949dee54ead1b0410384363484438975ea977bc3bfcca5fd5993b5b8554432a2858416e28239b7723d03eb4a16982eec7c420d55decba8ec9910a72a3b0e111edf62544cc7cb75b4ffc303849a4c93a28f7b1e27a7104810a14bc516ba121ec771818a0e69cf8ddec1dfb903a0bf00e647f53c859741f1964428ef366dd5f16deb8034ab370ba49dfa15998a03da8e84f2ad1144887d4bbd6c421192209a0adfe17fa80134a8bb3eab6f3e7d580219ffff03602a20d29ef2782a2bf867d6e2bb20b22cee8f60e10b8928bba154d2c2e58ea60381d0af660f11c3e06701dbb3d5ad3e38a2f1a7740ce6a890410dcfbe529ed1b6033eca31a0c398b95cd4bbdeb940310fb888dcbb4f8956733dfdd0167ceba429040357cdaaf322a6a0603cc218bf07dad32c5e91f642a52cce0f7ea9e7e053543b6a03a5806e2e341d46e0319def6816ac1a6a08e8a030778bf243bf41ebc67db74f7903a0d97b555f4126f00fe703772d9ece6f423929782ba78e62f6d17af13e8ae06a038d760c2a8e02cb0891a1a0c0856ad7d628b8999c0a89a5d196de8c8e08f4aea20388f78705db1d5a4bc80b6eb7da19271256b7ce93244a45a7b82e44a07601304903407af7de64dfd75d3c57414306359d3e5b4d462e50119242b3dabd59b4aa72170304a71ea1e29ab9a0e854b06750fcc3ca708c1ab6c84a88c9c07af21a9e4d927c0397b2225fe9446ce98e48ef2209eb69a7bacba10cec3fd49300216423ff64941e0344932928c385722aa85a1786d5aef4d4d2e064232ddb20e3d42b9969eab4b2b0031e0f82412aa7db6c7aa0635e29c56c75edf6e4be40c5fcf0b537500b7c0622c7037bb3f91dbbf362e761557689ef38322b175b62d6911c1d8103c94d3547dede9f030c0387cc2434a126ea23376d7d784c76fef4aef89d9a089d7a6d1f8a17bb4d4d03fa2f55935114745ab03b7dc0c50b68e47e0bcd6405802660ae2522334ba393f303e3e48e0b95a7a4fed210f7e677f8c77608f16ef1543e06ede97799490b850759033bf410bec7b93637c3c1f7f632c19d7b88bb4f7d5bdb4c76ce71dee7672fb490031f32ea670ae11d3881ce4e4314418603162ffd631c1e771b8ee6a5c1889e0c2803ff7ffda5cfc049aefee38e06cdd7990ec8c97c6979d4ba7ac3f3ffc305ad9bb803f4c3bafa309ced20c4b08e64e8bea460005aee46c2571e984fd5d090deb48274032d89fcef7b5d0de12c1d32c433dd23cbf25ca8b967bde5c5f9ee017c01f3d232036ba356ea767fcc6681ad16515d81105bb6adc4ee57f0a2c4529f1ba57d4490c6033d94456a1d399e7e37db152170bed0c925ad683be4154db3e443b5d1ddb1442c0317a9df4b1d2c9a2debbfd2ac89e7d4a2ce812f2f620c7b45ac75971ae2bf3430038447d7fb0c4348f7b8775e6ef7e0b7ef33ad6b9aaadb213fe92c690d15049a6403dd25af5361374fbb66af2d757765f2871b955c2842b642c592fc342982cfb54a03cc85f35922af44106281945c079eb88cefe80b140b70fde8fef30dbf09da0add0357970dc6f9027617f9d979c765ad4221cdbb99339da9ce9a4dba428f56d9722a03abf01bd0313c6cf67f9689212072ee23babd3bde02051dacd0e01dfce7c0b93f0366a36b048ca74ca12ff27be789f8dee12dc5b287f6a3b7db6e13648c62281c8803868c1502cbc91d67b6d9607f12d7abb405c8042c42e65ca98538a6b2d0afe2ec03fefcd37966fea4caebaf932f7c34e9ac97f27f91bc8f9b5d14b917872ecf409803e670a6137204b619b225b22d3f0696cb24659ac07053e8815d076e0211055653038203a20c4ab39e4c3cc1e7f6f44c25b7b175affcbd906d063194a074462317960358c24868bbcfb23d70826024cb92a77cbda555c0c4fe601e5882a7494186e9e705581e03e089e723364bbe72b02056e96d7421350eb6a8fdb15c0635db387a62000c01471e955df074c000030604e5dc2f6d327ad254e208eda0d4fc3127572340afdc51a076ad4981d74f350318ecc1947b16530d920881075a41292e46352a8abd1ff339ea1abff5c24bbb2b05581e031f7a2db81f7ada9d8e21de261ca3a8f326ba0ecae1e204d61321ace0f0040205581d02de2a2ab88bdf26e26ba840044af0fb44d84014636904aa0c92b8da9c0c184348012054681ec952cf05581d029dffa520cccd90134bcb1d44096c98608d28f421e92738f2839924db0c1047010a96800f05d80219a00005581e0383227a46c6dd0624f34f667e1792744495147e2f789716dd47918292f00c034681c82e2f20f805581e03988a75bed886c713d49a5d063a31abf8c57c9a8c4a2ac6a9596667e6b00c0246589abf26c93003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03507eccd422cf00e2440ad276d3c2d1346248244a36630dd6fa8092b73007011bffffffffffffffff0342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e0315dfb0514a8156d925fbe9fc747cc2967a181f25962e9985668f7de3e007011bffffffffffffffff03e526d077eb2147dd895071639c8a2f91ac53ed2b58cf3030dcd3518e316718270219c7f503c757a0e4784297dbebdfb599144f6b7b9c936a0f570759578f583b1acb00b94203aa80b057138b5a7159f69b914bf11a204eefca36bf26afefbb5c0547d53469e1037cd9b04db6208eb59e9e7bd8ae16671258ef7ac6bcb8d76ae1d36247348606ce03fc54ba16908d824b1c4322fed4175364dd5d294172071def0ce508f6496dab24039093b0a1fabc45e8879000f2e98d94a154edb91a3b860c3c44411834985734b803bb144187074781854a5d9516e8f08366e5fb9edf467e65464e17af726d491bb80337274178ad86252fde7161f9b17ffa2e2b63b531d258e28007dd0702c0376f87030dbd3eae2eee1b7322caab0a1130992cb7e73cf6277684d4ee818bf560564f58033b94b2ae4260df2889508b343b93a5d12972840a654c650e544ee835aabf20df03464f6921008dec005e418c5b99170d94e7ecabe2d28c5bb6fad9c26502b64f77037f088fbb92b1d6078f188498edbab71d78daa780aa6273aef4f309763c5f89c80219ffff0341d8d1a5d623959d7cdb24e09a2cd3cfe478c278c6997fd60bf08bbbf56f5941031012aae42d6c397eb0b686f07e2de434aad2e871767c693982f43c9f98986bfd0219ffff035ea060e063a5b77c65de3c0e0a528376a336aeb9ee387149b85e5683e499645c03571a901cee5806b550077e60a341cceef81409210efe60a56d69fd9cfc7dd3fa03411fb6ee31c1196ab62bcb15ee4d02a1050e32e28ec6903be0e29eff483ec90203e9ba4e9fffb7b2ccf8af2a2ea828c82531a1f727aa1880fe55adef968de4d1350219ffff03fd03899f8a4777d274bd83316b063121601ddfbd249be704ea5904155c1e9f4a03d71eac27ab4367e62e550e01a5051bd25abb37e7bb7cb65415447329c48d890d03abd47a3bcd3b913f006b68558db8ef0fb0d98746d8279ebf4cf95463c8c13dc803889013156456093a60c8e63b4fd5fb65777e392b355dd2a9a25f8b0b2e8e90830305cf69ffb4dbf188a49710fc24673f7a85b338f26ef8238d03d2869c4087e4910219ffff03b85b4327f140242b662cf82e50406a88d182050eabe16300463d5ba2550e5bff036d20dc697c3e5ae6af7d9bd8b900434ba42c20a82f0323eb20e32ccf9619c69e03d329dd7bdc409e457a0c3ef2ad74f62f5527b60a2bcbc73ff245f932c0a466bd03ddf0ee6f0cfbf7af8ceee05d43c2e280eec6edf23a749c1165bef659b899b26b0366ddac25dd38e0ca5110716ed16fa89115e86cb38517452de72f43482de7dd08032d411b7232b470baea871f98590a5497105a013ae23b3c60882acafbc9fcee1503dd6a40f44b96568d9f4d729709caa3914b98a3f83153b5c5e138c8f54af6a07803d8e8760bf819b998384b492a954ad48672b7dd3c496a1e6fe55f293c9d895f2f0332dfe3b28715997189d7dc3815b79a87a8f01d28601c92a8af48622d09c0e49c03d0c6a566c85f3e5341129949acecbaa13f60df4dc319447b52362e5575ad057803f73b498f35d7c6e8cac0e2af805bbb0f3f4ef5aeeef17beb0de96d4c94884b650356ff64783acf8e065b611097f08b74a80df0e186b054979826630850efc51173030f9a88a5c264d4b0e87086e20b8a903d1446c3af2aa0aa87d71dc1950087be81037b10ae4bf989893b505beae4d21ac31edbdc62f32f2f9808393444fd61a802f003dc9080789c7430cd3d4eeffa8a0fac89653a70fd5cf980201cd2708427d693b8034ad61f8483e7e3ddc39cdfed55afdc9b9b5f05f79b80f54ae4ad511401b9a545031a640a22a83a3a43267c14c52d2a02d98585f5040589bdd4cd7e917d23b2fe4505581e03cd82910354f8e48656d7987478bd86263c9e08c17474e9ca130cf65350040105581e03be765401c497fcfbdf096e9b43e4d49f4e548d8c5a19cbb5bf683084f00c1905cf4902094b82563412477a03bcbcda8f1aee7fe730b68e2f1c84cae36ba8fdabbbffd3a43e8944c45094dfbf05581e0312ac0915ea993be2921a289e175bd482456a6f5d15ddd25db9642dfa30040103ce23c56b0b593a426ee118c38ed056695632133e4b7095f6ccbbb24b4781f27d05581e035d79f0c41c0d78b7447dcb33fbf181a5366478af54c6d6c096ac8f2990040105581e036f24c88ff34068a2af7fdc8ae9db36413aaa79bb6d12adafe958f63760084705ebd312a02aaa021922b903dc2960dbc0cb088577013bf3ac2ffc09f888d0dfab1da8bed32bdfd0c330304303a2c8bdc74ddda966521e04a5ef7d9e7e51a04715c192b80903710f9948e5f0a903b032323036aee2c602693a9af06fe22c5b814ae87ec3f7419dee0a440ed333b503b5b95ef7cc74c2833c560a9fb8a08c8d8f0931e9c2f76fb3941ea8173d2eb90403c56ac0135909686082148de82649695d194ecf6e40845bc12252d9048a66c5670305e9fdbaa0509422ead4778d22c7963127e288d3a24bd34e4d527745bbd720a1033c883ca4c9f11ba850527c49ac7002820bef7a63e8544f4a618a0424fc90655b0385cbad39607cf7e3e61addbbed12d2b7501a53ae1f3f8c21e23a96b33b629f2703fcec3c2e43d5c7978588e69db0ea515a506d3098cb97cc4648d7adc4e5928d170304c1092bbdc6c1f1f772abb2a31042cf61ce4488ff55209a66bf25dba8cb93de0219ffff03721f3363d7069e4231f76cb145082bd98a63fdaeb636254fe94d3d609597476b03cd1b144a967d4b301198b741add9c0fe58819f0c20404de6a420172fd9ee7d050329b5a1a2c249d6fc049fee3ad6cc80f54c76eda8eee59353b95bfc91efccb03003fa75ecfaa89c265a964f48330c3fc62184b1265496ab13af4bab73e3c441ce9f03788f04ce8998664761e99d11db394751b69b97299b73423d6531d78c863fa70c033a53fcc005a3e4ad854c40838c174e7747c339dc7dc59edb60432b8f594f531a0321a67225cc814004300f20ab6371b9772ad8a3967447fd95a78c7ca01afa55660219ffff03b8d78d0456a083e4a06491107abdd56d16c1654d41aaef09d6ec10d174e99dbf03e920ae8a9a21f92ec737e1934bfa8591baac589facf751533660c8b8d1e4b6b803a23f8064b516359bd4170736b2308482fe896b8473234133134b12b3f04c9d90038be7dd1748c44b664175a51f88bf2f2f54787932e1c93b0b3194858581a7bea5035c0979279f9044e30ef18e48fedd1c030db070e8ee2d315279ccf0b039e5f330031ac7e89325f8a6f9d0997d3659c115c929dfdffa24687bfa034f5f93e6ace8d303643a74ad7e70c42ba276c51dac21aeecdfc0a4f2f4e06b7dd139a95ab2e5348d03c00ef051352eff352896362d6dc1c85a42fd49267dd98bb3c23cbf9e0b030cd703e2fb555eaffd0451b6719a415771716024c38aeff750b45e3901aaf58165c01403e00e63ceebc374c712340a66e72aa64abb82898f09f065a4663b2c31a7782f4d0359be3a78d910b484d514f9ff15dfd5febefcac9e90e16c76b1ce92e9612d350c03248a3f0f04485454cbffdf49a72b80c3a77feb2c907d5bb1bbaee5e8b00906f50219ffff034608712668feb80382978f5d67312a68a64fbab63a2801b8ee2788a39aa80a55036a99df51323d2c93762746fb7dd59bced8e01053b51673ee82209e82c3e049d503ab9bd2a85e8a805c44caaea24121518b5a21b2652bebe0451a3f963d5b8984ab038aafc33626efb4cbed9254392ea520f53a175ed6d5b2f74948cd9e56c3ff3bf80350bec14ab227fdccdc989b8226a24e1de5a110d1a27a14ecf222554ede2dd1ad03df632ad4abf3c5c3f8d47791eba46d849c48236e0354ed28e59c694894ef1e2803744491a8b5666a7b4101d19bfad325c1c7a00354d701d24058f2f8893bc8346c0369877be47d8acd30803a513a8dfceeef9d28838d3aafe6541ac25eb2eed8eade03c375bdaa04c22085cb756e344f36ece06d8029843a850bd738721ca142fe54e4036793c9fc8a2d3345e4fd6ebec9873e230115e98c3d949bd96943f05f707c7a1403320a112ead3fbbe58ad7952cf6aac61b8c4239c28fb333a690e9a9d618963d9303f405b610e51da9a9cdecc6a575416374bcfddf5d4bd510360bf2534a06d831f803e555c26c55877d20dbad9e05f3ba1b795d684a057d23a42fa12afc492f2222eb03dba489d75f9996b1d7f6afb5c10335d5f926b3130f5929fee804a433f101c5aa0304ef481faa02c474d4123b81a6f928c1ac50b0506ca6ed69aeb5b838b3f9ae8103538dbff278c43831ee58c3ca4d867aa14473ba0e1de15c285f2bbc4e7ee03a7903d329bc2bf1febb8d1996f1bd3d629673655eef86ec2056c6b409dd2dc7fddf0903652ce914a88f8faf034f856f26de4a64c8246ef70bb4f900b072c43225a2fe3a0330564cf28129777c298a99e37167b1f8cb1d9c67bf6108e2648ae0ba3122d29b0333b20a0eb3b910f5f7e9e0e0bdcc5e50fb2fbd15c7f51ced199ea4ed68bc8adc0312f7817ffa92ffacd812a00a2cf9bd4aba8fc7c6f8fee568dddcd4812a18c39f038c57a934716d9648721be1ac79617139c9c0fe231d2e4a8a2765120b7af61d6903d91049661e728cae6524a1c4016552e881e7d1bae433492f5907381bd889c919030a060322ee10f93184bc897ab000bebe59b2a8ad7938e529a582f6c4693a1af40345bde2c972c38d15fac44ce5bcf8ff90dcf54234d390dd47dfbe8f3df77e2782031a59870fb02ba32dfa40c64377883be405d187883f16df07c03bceafd7c3479e038aa3e76a51cebe50385d2d98c90104dc2a8927dd0c9f18e7bbe18f256e13ce3003898cab3dc68614d0d3ee91792504b258d7e5997a8476411fd3013c30756f14000393a30d99ea15fc7eae696f4ba980c321d3fbcb855c0e4c39ac9963b192c5e3c603ff86fe78ce17436dffe3c11e4f589dbb7bac99bde349230820f1ee5ab0de9c5405581e03118aca061e6b865477c11be6fb557fa013657e9f0e2b68a52381f3c7c00c014744bf9aa0480d70032765b99e67382a591586ef7c20b4f35ca4774c6cf88af3dc839a8b6cb8924b6b05581e0303aca7da0677b24fbbe10ce193e2c0abed98a1ec3f7d13241697a8f1b00c03460f4840d89e0005581e035ce46ee22da273a7a75d72cfc5fa5f9211cc3bbaca87d321768e36f0b0040105581e0328832ec6bfa29febd0e4e80251d395b4bf1ef6eed36a6140bd2bbff3900c0147108c3ece0a1a0003b70a16d1a8c4751b3a68e44a3890acd77a8b48cfd1f4668b22cb5d2b6f3523c105581e031455dd589e6664fd87120cd394aeecba837a9dc2fff9827dea8a442e400c0a472211215ab7c38303b8514757011476bd765146278570f2695d117890a8f4324a56b737112915859d03d81df2018723b79c382df2a1f59775afb41ef63362807706ae2359014da4a3f705581e03f34ec321b9f86cc99e92df337a874c55990cab6bc1ddf64758aea8d8900c014703844a7dd0df7802199e9e0327ad5593e673ea928fb6bfaed2f2a7fa9ceb7a5f0b13168c9875b2af0fffcbd90397726355222d40b4046c9ad5824e3acf56da9b5cfcf74430109f15f28d998eac03b7cb10cdb87c0f6b0cb37de7031f376b085701dc47726b742062e8ddc9bd5c2e0371822f96ec1f1760f5880dd86c72e38ad239f94830b82f90030e6052b2c7a151039d522543baf871a1c514e5267d29e879c484c480b52d87a0be690f82e0ae97cb0219ffff036de3a5884a0b948a371f5881437b090d4ff254ac7dc176fc268d13b68f3e25e603267c20e2bba0ee6e8d1298c24d2d6feb912f94ca929f1524c34ec9b7d081ca6603b2dea999a9c7751c89e02008813810b87c3077177c4ddf137c80c2cf97cc415603beafe974fbbe9ca5c7d5ec0d8d156bcdbcf4a376a74a916411ee8debd7b6ae5a03afd1c68f6b131d465bc79a8ca2dfceb54c0d4b326857d651e2ca3cc5f1c9a77803b185c8117d99e7d1fdf2f97d947704b14ea3d8495b895391da256118dd4908f80349caabee4de2149c8a23e6aa19985febc4f77153c86269eef218132d117be0ba03d47a02155cc7be71d63c644cb549a8c3f1dd1688b4075a407ce6043a1ab6f5eb032f09f98d8d0c236761f5febd483b013bd8303b6a4c9d4bcf1dc668d1b71835e603809842d9ef1dc49967b3f91257ad0d677e27e5a067333556bdbaa8908d35ffcc0219ffff0326290c02c72079b0ae417354daabe2a79242f3d03fa32a5b3486cfc46934d164036b508d7349e4f91032ef7e99c155f7cbac72d5b73c39eb69d60dc243b0e38c1c03f1f9e54e013f9570ed2d872b220790cf0d1d9a52732a2b99ed8522b59c900d5b033e84d4e76da3aeb8b150f8ebf63b5ad886e6c6dc6ed9a340ebbb7914a38c9eea0347afe4ebf9bac0bd44c9838611a639074d37532af142256a57a4c7a6ff51e5bf0394824507a9d9ef69215c95445909312e6a7f416bb6831d8706ce60feecc3012c03beb6cbeab03bafabc400ddc3d53f6b2a48674656614aaf27783699874b1ad6a703f1bc64eef018e58ca7d69aac73a55c1616dd0010ffd685b2edf5c6f6520e3c63039c83d89ce3a04c496f5135eecbbb90c6c5f0d3c18533621a40f022fdb61468e903d4d252b22b61b3b9d27cc7d5760c8cfe9645540896ccc71af1c694cc7ef295cf0219ffff037c8a4f4a430d81b7a2c169eeb439c88acb2568d178dc28a0066ea4f68c5de585035156e83bfddbac112d134898450f827c9ec5c44d9866e3461ff2e54a9b055fc103a25b67eaf8955bbda143ba59b933ed489dba044d672b19b14e405504c31d74160219ffff03bd104d4e8816baae1ae3fb739664e16782b38a2f60c93bcfe547cf78c4644de3038c9f8b5baa27a44578ddd7e6dc77e2d5bb4a9e64a5ca5c418d7fb1e0b916af74034e3eef2902a104899e7f12490bce6f07856cd800ceaa1ac79c0201599fe08776038de9225da5019f9397a35c6d911b47e6c86a17a3e33b0036a9a7ac0a6d843d9d03c7736454ba71b6ff496d15a840c310a028d50aa46d316da8831411194e016ca503491c41cddaf023604711a8b3c7df8ea616b59eaf6452bae8ee0992d0ce9cadf503c9d7a1c09bcd9086f52d8664502c412d7ec7d1d132367a76ba3ce00c10bb5010030e2e1136108a7b21c153fbc354c9cf40edd5235f9763bb861019b212d900624303910e5a9d21c0e36ee94aa15fa481fcacd4174c6057fe8e827bf16779fd2e927e033c3599196489acc3c3182c3eeecc410ab5d5efa67a3ffe61977b7972d9e072d503d3323ac4faaa446299822f011cfc13613c62989ede94300926076bf3fc1a5fca03e39be27984071ee7c2c8e6094f550535a5df9cb92587d11c0566a2e45a813ee7038f9592320c92565aa751e2e578c24c185d303689484342e2b584ed6b3e3615e50390a899b83cad1ff777825bca3dfed99ae87d7ceeeaeb38b6eafd92a44933151b03a0b46370f54894fca0e84ccd6f1db2b35240625a455837ed419449da9fef14a80374100cea18b663714df94300b21dc926ff437096ab2449818fa85f7b94bf291f037291b2ef2155fe0aced156ee33cd1b03bba7522128b0abffeb5448e96752ebe00356401f4cefd85c6ed8c820f239bb87653d565d476905e6f2f505087b0952a0c6037f1509ada07abc5b8ebe9777afbe0db1557cead6da4a7b339d46711aada55b0203dc00fca1bc1aec38f543ad7936721df3e4dd5ee3d53753f1e7f02eaaa7117b94033ef6c8e17a3fa839df086c855737359731f8b0dda08749849c81423029fbbe9a038a3b504d97936d6f52e6fa24f9952086ca0142da5bd369ab096fb8e7ef25d90b030f1d2c90551dcabf0eefc6eba104be5f1bfc26f918978e5b7b3499c2f2ff10040373c43d51bbea81d590a71ecf23476ef9665b3ce7adfa4067264e0fe45f7893a7036cdb1bb0277b07366151d49feda452794b2746340a03a60f3d4c9ee921423d5d05581e0355a51303768c307581ab2162e3b6a24cd64697228362b44cd6fe2354b008478968c5ab3b5c0003c77f697bf0df9430c6d7b15ecb146b507f61f0fcab6769d318e85e626da831fd0383df57965f6e9f83bec2da0fa0751872a70cb8a8058087d4c29c08caa5796d7b0605581e03c49359418cbc6664145fd2823dfc39d20d5ccb981533bc2441b73b422007011bffffffffffffffff05581e0399ef8a73cfa9af8a54205a1ef16ae436f15560b8b2db0f32815a7083500c0347237e7ace78b500032dbe5d3efad286c92ad09dfddb1145f39da2edd165482fcfc383c2625609817301410205581e03f5a3a0d6ecc77bfaf144dd2e2082af165a2377833c8b5cefaab13034a004020359f11df7c4bdd3090dba82237d06bfbfe076e4a7d57a69f94f7bdb0e2a4cf6f205581e03777923a56737852dd0dc6ed387b53f41968167ef0b162a8575817a19200c024701710f271c64b8030f06886cf79f98c2c569350e3bf74e16b7e5fc986190c8a135666002237db42305581e0313097dbd7925aae4e4c0a7b519c19ce974906f96a51c6320e8fb010e20040205581e034ec44a0b4fc1460976ede781931e7da93ab94775aef4b4641d51d335700c024701d84a5023b6c00301025cbf288535c91b2ba58cd3ffe6e5cb684012a5a27ed36bda627cd226ee0103ad593e61739fa597fc8b780cd78dff0e4f7ec3c885efb2fc11711214c97e8e460219dff503653e6f5d31ef878006fb8a7e0bf560beba6199267f4143c742ce7f17e9b093f703b3e09601a3d28624ad43c5d4e4579dc827c5cac16c5a254f58c9bee2616edde9033319bbce1f895833eb8142fa25ded827111fdf12cb4e7211c0f724594e7ecf420320b5346ed28f5d41e61acdda143eff6a1cf24e6c673fa880302ea2b05ff18c4503e1bb1ddab49e1fa9dc40d346ee7300572f4572d2b93994d968163f08daa9d18103d8474ea71dcaad05ac91e04765dd5eba4675ca625d2dd9396c849767ad2a2cfb035e8465cecf805c7e8fc5f597c6759a2e08529c538f7fe9b0dd9462d374fc969f03aa65a0fe316a8d62a08fd052cb86be52a47093422efcdce6d345026364a50a5d03ed53e52606405f8267a0c9afc82462f406260ab145a9e28d8c53e320f2fdc2690315fa5640af1608f67f0bdb5fefd03d103c12fdd7570ccf1116812f4ed03dea590366246ac141fe3d9bbca0c86f5ab9f2e2d0aae274bcfb6948bb21b67b54cf19a60219ffff03496c3cce884e88ef981d7838aaebf56e471cb8b687f21e04b3a27f1d7d1dc48a03d958378ff14cd317597b4c663007e37f7c135917072fcaa17dd84f0cdacb0dbc038ebab1eebcc650155d8a52475083d9d04b1d12c039e6a04c8052ce23419e4a070331b82c71c7986f7e4f6b8f5898a9396a548389d27bc868ff075b0f47e667d42e032b36110740d8ef6d68a15d7dc83b3a0898cac5eb1393f4766cc69464791514d503238f77b89cb1ea6ac6f455a1d6fd6bfee8b602068d3c5a31b05ef678d09e8da60367939da0f0b0a77f16ef29aa801bc4e5587684a94661ce805c07484c9fe2b11c0219ffff0366737d5ace9a0445059e025c50b5235c61691a87e798314964765f03c8ee784c03720c5ba39657b018ce734d5d00ceb92b487ebd1127c9bbd774d4d2fce35a0bd60219ffff03cdb60b5d5741db9ac19d9872655557efab43d9f7d16a9ef3c6d11eef708032d50393ba6d06621f4364922b0c9471933abe6497920faa84e5b6ef7a7e498369eb1a036c7f10e6ef586372cac399a370d09968af2fd732182c79b9dff6a8b87556fce403fe4006f53b8616186feac25e2ac256d92f3b7a6e0a307a0c20df53d270c4e79803fe3e88449d5b1d5b2214b93c4075a65fc3cdb0519e28ed0afb18ea0dc0f859a403c895a4fda48ef4d90e9b8b9a5aa8fe49cdbbdeae98e02c226fbe1c0a5054b2f303b59b7db031011c64c1c53f6452ea96168747f6af3c6a896542c267b202b0f77203b5bc813b37ff80b6a8a45bd3aa5f4f25cb37719c8faf541d91b5874033bac2f6034c895daab42d9d6fbb2f652e7d89c628069984a2c5c538a4bc910aa014adb7af03f644b59a2df8986b6fd7b0286af5c6a6fcd6d1af0599775729cfa21dd3a2c96403ec09f801b0792695115350fe876fd50eb3eaef391903e83126ed4d42333eb05703b885cb7ee6b07f8ed4f50e855db02171f2e10760fb1b47c6f46757ac77057f510304ac97afbf840172df39fa592da00ccf0ea6037bf49f2d62eaa8cbbd6b0acf360369257f3f59768d70678d101f2bae972b6112b227069e9080e314622fbc4464210381fe0ddd6a7ca8497dfd5553c96fbae5ea91fea4c77ff3d8b4f678c6bc2e066203a60ddf642e2a990b0e5a1c4ab7051dda9dfcf583db6647fbec9842adb68b7c9d03392dc95408488007c396628da76a8373a5fb9fc0f324de58104147e2897fd66b037d687487738186af7ba6f24bdeaf76df46ce981f5d7668ef40aaec45c56e6726033d0a57c421ad10e3dda83dd3670227d24ae41d9267bfd3154a31a5231fa066d40398d1ad2015fe0cc95aa91c7b3fe3c319ff94c46b04a96f93ab119e42ec713f170377c9f1693f6091bdfa6369dafcfe2a56f0e20e6782fe8784749fafffa423f2af031969e5cdc63ad16f90401713817e41ebc42b9effea8fd35eb261c77cb0495cf9036234059d7e3957dd2af524af6131efe1ed0159c0bef83511e3d239e4af34e298035796b46a6d97fed5531dcdab601ae236de65dde9fdbeb72a53614a01063e79e203413401f686477cab9e3ce5da9bcbf9f7e935df3ffa959d575fb0c930baca709e05581e03867d9740282390a4e6197b7eb97a338f616d2b169968f3247999e88b60040105581e03a36ba1760a5aa0f16a81d9ee4b793d1db70663fd57f271af23e7b4fa30040105581e03827020d505b720206556ccf949ba724ca2148629bfab76eacb0747c4a0084719cfef8a25a09f037152e643645f68788dc54b5c3748c7afcf5d689e50439f4f5f667576119041f305581e030a6b43432b2eb563f4f6eb969da4e0cf1428ff84f54941917b1b9907000c04479540e0569efe0005581e039f258bbc8cd6b2c5d9f39051d20c3b2d971eba81a13a5759616799d3100c034646639015272005581e0306d464e922c887795e18ee35fedfb8621b264df845f6a46f24b8c18700040405581e0305d18b89672300737108a4ba71e4e86cc849ffa64dfe3968dcfe3afc200c187f480ab4867c3f16117805581e0347fd92a6d972a35f4b9da51e1cf440606aac8876e67de10165c6df8e100c024702f3bffd9c3fc005581e03f5e327cc40d98f3322010e870d59b982854ec75db8836953ff6ed103c00404032d6841ed4a361c148259edaf33380c19ec0723cd69375aac9db7ff875509ef8b02192fee0330f69794592ea53bbfcdd73b92898c96da8c482cc5f076c7bb29f359c99f0a7e03f7a346f751091a7622711e25617df92647ed3b09949c3bce42bc71fc7253fee7034b33b80eab6673f6f1daf87d33b9b93a633280b0fe03d77745977ccd4251da79032713e3ad15d9b1f37706acf0e506189a0c9e31d5f80a34b34a2062595686ed51030a3350e4c62aa2a9b2c642bfdc473f1282686dfea3229b58bf5fe83963f601e50366ce8449e1f6756cd57bc29ce2d424500dc1ae7e2fed3f3cb1a21aad61483559039fedb9a6872162c22d57f65ab78fab97f57036faf74e68196060a37d86a4d947031bd6d4c86630ad017bde42f805614630e4b13f29a79bd1c5fecaf4a99ee68e4e03df1a3ca88168f8ed73bd5919bfcd0428d5a15d17883f103a8542289916f0e9be03ea7e9fa8647c6c5ea74defbb0812627b4209ef56132864d412934ce86e86f37003c1d96044629c14d0ec015ca84ebb59be96dc8b58d4f62cbf20e0844fc0f6defb034e0578ffb966243d37bb2eeb2f2d01317e40bafda971060771f64511b2118d3f039292630a6d2ea10391120251adbf5fa7073d3d2bee0bf0a8633deb6fd674176603663f9ce83d1a384d37788e41ae0b9ef81665211d51916c1575a611e106e1a57803cc1d1bedbbebb091bb635bc268d0d916d51003e747e6d48e777f4d2fe78313fa0219ffff03ff93d10300fdd9108e4848b23ccf8ae551e8542fd967d4da170a41eb9f6f9ad803d51679a8b5213cac945a9c0bd6a8faa0646ecbca42d3bc5049be65c85925871503fa5106c609b09ce6f94128654c10f36c9bbfe821caae9c4c9d2a677a6e1593d803c12bb63620ba975353ebd8cd52df3bb8191778b19acf261bb122ec51e7ae5a0c033be79f748aaf54a76cea9c70f3d0c4af9c273ffb0f2eaf5825da84f910f13525032d01475e4311ab0c7a2ac91d3194e5e62c2d0fb5378e5a35a484236f2e53755a03fb682ed4f0343d3c99d196fcfa6bcd30df43b62a2a2b32cfa32712b046e3ea4203787f8b3305dc396efc25dd833b5aeeea17f9e525b7479eff49a8e880a25217af03589c9b09a2f58e21e623e4755e0f6c584f48243009b864b4cca567ce8c83e1b20219ffff039465e228e8af35d6b9e6a55ab4f2641bfe1d36a85167a3cfd01d73fc3ca58fe203c52b135a2e8d3177fd4413a5b8b4db00f9c9b1fa3831f1efa5b59fd6a66d58c50359d714b700390379f822f006272607217876abc42ead1825b7dece7eea571b9103be0bc9c09a4c40ecf9b975f583e43f86bcde1272f76ad331f3c87e1ed81e11420324ddb22d7bc63c9e09fe33099f58efce0bdfcf676365ba02e7cf8a1f55296d3003b861118b2e466014a5c173a09f9e898acddc1de6301e0dec9cad3a83cadde2ab03a2262b48025f83f2b38d0e85f9ae30391108e66e60a4706b3f1800d7b9b2df6203987f2c204f3da4006121c963163584decf9f90ea5fd1fe3d3f266fc39f598b320219ffff03be65241d074ee7fea2b6be536e959e9daddead919244f5e08eed9724fdaf13e703e8e6ce9341ea345670f20468d500d2f517a843a3a41ecfb5af94e1f813ba337f0219ffff038e988d2ba4baf6216674c0e574207dc97503381774facd3ab8059cc5ada63935031476786ab6cef454b0b1fdcb87810db18ebcdd57742047785f82ed30821bc17c03eeb9615f5ef6af69c5f3d4ad3e6906b31d1d50eeb5321f5efdfe6cfb72caa284030ef9a48c0643be26f3b59c0e90f0e0f67eb3a5eba3998fba8bfe91bad9d6f882030cc3a843dd6a7ae2e5ffce646b4c639f20451b09088114b6bf3fdc33458ac3e3033d175559be2f227f2e26872a7d170c4c119c78ab66c3fbecdc3ce18c462f670c0362c837ab6922b77fe0cf80436dd7e8b6f4ddb8fb1283684c2ae47bad6184a0b603f2474aeab2c4f6af5734e4ab8a6b7cfbdc1afe2968ed730dcc1412915c1fc5fa03faac6170ae8c8b11039ee5bb4f82940272f35559245a096934bcaaf4b34fe16a032b52784a7a24cf468f24028018c629b0cc5c31b697940e7998ddbdede6828ea203869d1ca0bdcc185adaf90964681a9655cec47b377bb70199afb0e177b20cdf6e0325af19766f23f8a0fd51973087413e6c13c8e4bee2991eaee4c9252b4e1275fa037ba47ab9e002b6f06eaa57324a1737e816e6672a3e11d4105371635e0d18250f032a75af314ef49a3914db41f9d1f1ba329a9b561b39a177ec451343991aff8b9903e1fb21c98d4477be61d8752e70225e71c5cd7a97b407d1381e3577fae5182ee803b6ccb554712271cbbf0c7dd7d91f0e48f24c29a9ea4e5da23567f89e5967f56403f5c24ca826d3d5d3836e34ed9614c830aabed1304796b230d7721e016347b8ff0391f9841e43497b51c8099a7dfa5056ecaf761e59d5204a845d0ac1cffa59f67a03743d0eb99f0ecfde678955e31ba20a88e44926da3e868508a729b00cd848d92903861dce1602ad39a42071d7c64e45aebc74eebc25a2c14185739b34c1f263ce5003490aa7c3220dd0a8c1b5a99d9eded886e154b10e8a5b6426a51fb8519a95658d03424ed8de0878cbdc1254deeefbc5c4bc6b1ab7c05647eca10fed05a2625c044e032919e31ca3bbc9411efc408ae0191eea2582e98c1b7a25c4266a971bd95091cd03429f22ce9add95e9347196126e820b0530fc1d82380bad7a2f1aa9efe61ef95f035882abe367b8fe408cea0e8c561d2ae9f11aadfaedd45513f3e4b3044def8f3403f5f0f28ad72c7d11b700d4efdcdc2c472e18909a81a708d87bd8c6e061d1f3c9033f08e514292650ba2e7de06d6c545c67528b2ebc99a1bd11836bdde2fc341645037428f7b12425fbae7ba1fce5993198cde0d8063d2b5db1177e0da2fc5de87d2c03fa281f0d539c24b4a19d70aef7bda2c28b67d165702af1a2fd10d60419dffa9b033c87d57dc6650e4c2052ffbe4690a7ca682172296edb615e568dc0f0a44be19f037a22ff1f83421f4421480018044eada39f1c728bc60800ebcab1b0da15ffda4c03959054e17f1c5d901134df7c0647f7eae6aa6ce356d4d72b43ad671d3c41ad870377ae71991b7ed5ab1fcfa78a8cbaf1751b5276d45e43ea88699df39054e07175038c536b2b053e34b58587ed4bb6f89bc0458c90543f3c26c6847622b2658101f404590d626080604052600436106100f35760003560e01c80638da5cb5b1161008a578063a9059cbb11610059578063a9059cbb1461027d578063dd62ed3e1461029d578063f2fde38b146102bd578063fc792d8e146102dd57600080fd5b80638da5cb5b1461020b5780638e5f5ad11461023357806395d89b4114610248578063a457c2d71461025d57600080fd5b8063313ce567116100c6578063313ce5671461019257806339509351146101b457806370a08231146101d4578063715018a6146101f457600080fd5b806306fdde03146100f8578063095ea7b31461012357806318160ddd1461015357806323b872dd14610172575b600080fd5b34801561010457600080fd5b5061010d6102f0565b60405161011a9190610b1c565b60405180910390f35b34801561012f57600080fd5b5061014361013e366004610b86565b610382565b604051901515815260200161011a565b34801561015f57600080fd5b506003545b60405190815260200161011a565b34801561017e57600080fd5b5061014361018d366004610bb0565b61039c565b34801561019e57600080fd5b5060125b60405160ff909116815260200161011a565b3480156101c057600080fd5b506101436101cf366004610b86565b6103b1565b3480156101e057600080fd5b506101646101ef366004610bec565b6103d3565b34801561020057600080fd5b506102096103f1565b005b34801561021757600080fd5b506000546040516001600160a01b03909116815260200161011a565b34801561023f57600080fd5b506101a2610405565b34801561025457600080fd5b5061010d610460565b34801561026957600080fd5b50610143610278366004610b86565b61046f565b34801561028957600080fd5b50610143610298366004610b86565b6104f5565b3480156102a957600080fd5b506101646102b8366004610c0e565b610503565b3480156102c957600080fd5b506102096102d8366004610bec565b61052e565b6102096102eb366004610c41565b6105a7565b6060600480546102ff90610cb8565b80601f016020809104026020016040519081016040528092919081815260200182805461032b90610cb8565b80156103785780601f1061034d57610100808354040283529160200191610378565b820191906000526020600020905b81548152906001019060200180831161035b57829003601f168201915b5050505050905090565b600033610390818585610714565b60019150505b92915050565b60006103a9848484610838565b949350505050565b6000336103908185856103c48383610503565b6103ce9190610cf2565b610714565b6001600160a01b038116600090815260016020526040812054610396565b6103f9610851565b61040360006108ab565b565b600754600090600160a01b900460ff1661045a5760405162461bcd60e51b81526020600482015260116024820152701393d517d156141150d5115117d0d05313607a1b60448201526064015b60405180910390fd5b5060b190565b6060600580546102ff90610cb8565b6000338161047d8286610503565b9050838110156104dd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610451565b6104ea8286868403610714565b506001949350505050565b6000336103908185856108fb565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b610536610851565b6001600160a01b03811661059b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610451565b6105a4816108ab565b50565b6105af610851565b60078054600160a01b60ff60a01b198216811790925560065460405163651a36a560e11b81526001600160a01b038d81166004830152602482018b905260448201899052606482018d905285811660848301529390920460ff1692169063ca346d4a90869060a40160206040518083038185885af1158015610635573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061065a9190610d13565b50600754600654604051632d67b72d60e01b81526001600160a01b0391821660048201526024810189905260448101889052606481018b90528482166084820152911690632d67b72d90859060a40160206040518083038185885af11580156106c7573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106ec9190610d13565b5060078054911515600160a01b0260ff60a01b19909216919091179055505050505050505050565b6001600160a01b0383166107765760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610451565b6001600160a01b0382166107d75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610451565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600033610846858285610aa8565b6104ea8585856108fb565b6000546001600160a01b031633146104035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610451565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831661095f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610451565b6001600160a01b0382166109c15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610451565b6001600160a01b03831660009081526001602052604090205481811015610a395760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610451565b6001600160a01b0380851660008181526001602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a999086815260200190565b60405180910390a35b50505050565b6000610ab48484610503565b90506000198114610aa25781811015610b0f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610451565b610aa28484848403610714565b600060208083528351808285015260005b81811015610b4957858101830151858201604001528201610b2d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b8157600080fd5b919050565b60008060408385031215610b9957600080fd5b610ba283610b6a565b946020939093013593505050565b600080600060608486031215610bc557600080fd5b610bce84610b6a565b9250610bdc60208501610b6a565b9150604084013590509250925092565b600060208284031215610bfe57600080fd5b610c0782610b6a565b9392505050565b60008060408385031215610c2157600080fd5b610c2a83610b6a565b9150610c3860208401610b6a565b90509250929050565b60008060008060008060008060006101208a8c031215610c6057600080fd5b610c698a610b6a565b985060208a0135975060408a0135965060608a0135955060808a0135945060a08a0135935060c08a0135925060e08a01359150610ca96101008b01610b6a565b90509295985092959850929598565b600181811c90821680610ccc57607f821691505b602082108103610cec57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561039657634e487b7160e01b600052601160045260246000fd5b600060208284031215610d2557600080fd5b505191905056fea26469706673582212206e2744b2558713822d92db0a98776a756778231e4698f07452a85777c880650464736f6c6343000813003303ec88d0a92925f23184f46e6a188b7f8810d07f2cc89f4699b7d1584aa028f91c037eac2fe64d9832b030fb3dc61e0731028cf51f65fd573ea64a969780bfbf617e03b27949252c71626e48012512720500644c3ec5de5ff1caaf981374664f81b79f035d93bf208f4a3c3cd3ce73646e432048ee81b836cddd680d4e1a10623b5d4548030d0713c1e7b0006713ce3746311dba7e7ce6acfe0994e9eca8796729903fcd5d03ae7bab4c40b7ee85883fd67af88828f68372d10998215e99d1d06c2adbf8fff3039eaf408fd9681edf60bea4a03f8f9e80f407904de9abecf393ec962715f7b8e60300bad4510c577731157237c1c9614fa4a7e830a33181f09aaefcfdf08e4d2b3603b11d601dda383464c4aebdeca64175e208350e35c21645a1325ced0f616c20a5032a8e47d294c9cab84df5ddb15da5eb689526e6f5f09f55ebb0c86fe0f15d475903f6ac4f53dc44f5c410b49f114ec0220eccd49d119fd803def2e2d8dd6819fd750353706fcdaf704485035cc8c4d703fb88a04816677bd7829b790b96021ef0751103e0b5480551d73a69804712325b5ed7b8b7d779c2864b6544be4fcd7ad201131c03c9383945a02aba107cbc02df76b2a392ee3864336fbaf2690951f1a46b261bf003bdfb15295bf28c1c09c4932a26dbcf9e0ca4e768287316c8a234bf5d0f05088f03732eeb1091ba1575efb11367209b85b6499b08f2f621978df7dd407973eb1af5036c170fa353e474144804717d8655b03389d65d1a18f24080d7a758220b2d279d0307c7bb2da3d59f6e294747d455a32a53080e877d0b1033b0e9c4d0ec15a115d401410d00582003c44221b638794373c8c6c8fa10a486526f2377c29edffe1ad5c572380284905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03796217ba92c61de36c4447056175d52f04e3b89ee8019e0fe6f52d554ecff35603ba7dc44cd8f472e2377f5b3603db098b7e4cc553c8b048d3e1aa445326df9f4203a75eaa9f2464251c1cfe407c5264c92ed38313f4b994208aa03aeefb538faa4603eba28fdb90592c52ae3db24135befeb55e048c93efd99e51c497e5cfd0e7644e005820039982acd25e29d505836bea01b38de512791ed53a9be07afd7c5c250be521a048d212e61178aee5f800582003d73d98775834f1093b71c7cc6720642a77e5fedc6bf2c653053e260c453c60490586b2206036cc50c102196789033158056afa9a6bba5001d8d33b9de441a15bf9705445643efe97753049436da20219ffff03d632d29a2fc4bea7d28fe10679aeb14bc5addfadcd46e03fc34a7d3b03929c1203c467ce1a125e8e726fbea2379c71bc186a9289335d0b61ff98b3dcc39901f39303fd066f61bf6a40caa26ca277af28e89b9661ea5314e1e090f62e10153b1ad9cc03c11a8805cddacc8f66249a91b6163491ca79bce999a84078176dc917932c5a1003ee12e26fc8a24a01d0a1eb0476cbf3fe71b153c9d9b0d93e4e284f54e910ea2b030d00797dedd9366788234e3a62042a9f50e01fc1bba81b7c224a8c3275f8789703046da589b31f2834e25bf412f05323528488cf28f895947f1c0d0382caaa1e080058200354e9da7fe072cba86bf4141a06bff32f1f6d98096d24e57f7ccd490bd756d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a46ffe3e98c95e29e945d350ef61d2ca31df4b2cb40f5b29e763e453e229d04130035e64a168bcf192114be7e5ff845f35774542bf34ab2e7b0f7514e2e2b35fff4d03714ad23fb47ac9223d03e3dcd951bcb7bd54bbfc4e5f51c1bca376b3a8bf555903ce22414e75eef1b9f112b9790bed33932ca92fe0113c8b8470e1533a38ce131d00582003f055109b5f7bba6e4846b0f52b997825201a8aaf074466c8a501fa549af4104e314dc644633933319a45bc4a200000582003633d5d61818af4f0824c96b8c95a73e866fa572cc4675200058f0f5db1430048a86dd199f5cbb54500582003a669bcc7bfdb7ed9ac8067197b73dcc92effe9f8bb9808d243933fa132d0d0483d6c59ecc86a774b03627fe2ecfd3b0238bb2c2e126b2222146bd27d820659f5d1e9d93ead0cc199d702197b68031f8e6b516ee064c8632cfd4e1ba8169e2a79621d4e5ad7ea60de803ec193653b038fd78e88d9c0ac1f78385ed932d602a696be61dac8c856940fd2db0079108bc1038a47ac767e2fb76199d4b850104892b56b0f32e614ffeebc9178e2570e4559c303d70aa23ed99f80d49aa1727371c8e177cd4b2565b9159a37617877e7c646d5a1030d332dfdfd50394c8e5b4a3c8448f81441bb31e68f50d038c48fc39dd25f60c903aba2c66eb37c43d6d701348fc33c00dd10f17eb8f57f17d5561bcde69d4f249203186716d0971f5e1da40bb8533833b56ef5900081d877ce0eac98fe6a37e038fd033fcd7f90705c2b1c6272f8cdff89f0029c6c9253701821cd4f7bdec72e63f844035f2125165778d63493cea40c94fb9137e01c1e53e8ea08c15f00bef21c26d49b0399d9e858f440d1b64470f80831632238a0aaf02e6524f723d52a9d21891be60603ad31895566561557d689e53e604680188e3b9960c2b076f3aab16c10d8d28e4b039712ddddbc3082ebd777ef9d1511d4e8967c3b2de40fb399526d24f42fd7ec7c0219ffff034294cc7e6bdf2d759a29aeb8e448358c71cfeb3d27496949dc69c639b6f4d2ab03ce3d2a924aa500d7c1fceb859883a2f65e735c86fec0bc86dfcd862b9ec6f5b20333a15a876abc12e541c95607f779c9ff39cf17cc6469d8b1a36b0344e9b3fd13036606f3202cd40bfac7d598ee1d84383db9ca4dba441ba3d860951b7c71e02603031509539344931224b9216742ffd0f48c267bcc83db7302d62e018e050d564f77034e0e86ab001117d3977ce63db13535af5dbc261ce8f2fe71650b3f0dd016f72903bd60c325594580651f11866dec3a1dea1203ee5fc6884778c20cd0d2e57abeed0219ffff05581e03fa380d79069d6e660e4365b7e950ec06e813e6fea8800ecb9fca6e23900701190d6205581e0389d527a85fd4cd883c2cf53b94d5d887da58b47588f75407d9978a5290040203650f27d51d8c85925499254bf1851151156874468991e2f9ec87b8155d0799830359d50c529e2b2b37833a4be3e46fab359b43264b43a7c0685a7941627b1c4eca05581e032beb3731be371bbc01e4f52f7f7e8ed473dc071bad2157573921f979b007011bffffffffffffffff05581e03a17d7f1d2994a8404954b4c982372902092cff46f8540895d5e2b7daa00403032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e032eaca759e7e90b36e061e01080f56a04739d1920aeb38b988e17e2928007011bffffffffffffffff05581e034c03f393b658ba3d7eed94ae7d8accbf4def7cd5dbb5bab7ddc40d8a200402033d1f319fa176855d6c42af58fe57325c87d07857d9aae57edbc32dbb5fc3c93405581e03194ba3a56b4055fd158ae073665621d7c289b7bdab27be4e65af2cf7400847229e1e2a60d91c0219fd8003b680b38db4d8c9c32eb2a2f7fd59d2a94e9e17a98a77386883a6141467ed2df003941f28fb01df9e3a8ec2387145693bef719d1c38eac89c7c473bf701868a9279033bdc7848afaae921f41ffeb89c0fb92b5cf3c770ea25cfc954fb3b4d11ed7abf032a28d44089bc01022c9d8a73916ad740d1a4ac69c732d2ccd2d6d96b705d58890397487610ba4b4378118ae0101f00b0f8e036bb39b97b7f98527a4414f2e9f24a03c967c35e7d2c981a351cfe01c9c3b66e279230d06b04bff03fc6c1124869e17a03e327cd84addcbc7f16daa3c9e8bca8c189a4bf937e6d69e547e10283d26985e703f4528ece1e85fc6cd32f2327513590cd15b471a2b82b8f546b597c836e7607b00319b8a33fc630b6e52c5ca884e7d193b90f51bde4d8666ff96445e0c3de71bbe00219ffff03cac2eb4cafffbe8ee48310db33fd5d14b5c259e20a89ba29ce824d2f3c357ece0219ffff0396204b13688a9cf6a69a9a81f78eacc46190d5a685760172bc728bec839588670328273fbec649b51fb036d13a7eff2ad064b86b4a60af057faeae23114d85d75b038060fdcd1196f6dedba21d5c41a0c500409752c6757457e5b5580f59b4a519f403aaa023d2e101534d4dea20cdc13bc24af8a87ba5575db2f5b9e9083d8ef119e303a32f5df54300396ba11b2fa6ba08ce498e629182b8794e611be0001c21c5112f0219ffff03184b9afa1135a05ea26dcff279cb09df631f551ecc68bc5aa1d03fc42634a1e803a3be26d186dc085300fdeec07032ef41d867840e54f2fa8d94e83380db20bb5c0339dad23e7f0400e2370e9567608962d6f5f8eb0b16de76d86c7abfae3fb8eb9b03e106cc698909e406287e1f396860bf9bacf0560bc52223502319ed19f636343a0358d351d3621b5e230c1c481ab14f9782a08303d87f40756a5bb201efd74a89db03f535e721cf63e33f46f6c88592d68038eabef96bc97f850b9f297f8028774eeb0340462bf2e21b32ac7454a4e49ebab67d324850aabaae6495d340dbe40ad520110311308f7e56fd097d253115211e5e3c57698a10f53a89b2a2898b6d1fbf0499a603363615543a116d75f6210a7f9db7674f49013394fc1b797579641c0677ae6fcf039ede428835170274dd4fbbae7c1f53f0cd8401d84b34aa26370bd1adeb2ae7ab0382eba8bf78488a5a969cd6e3806e780d9c5f02bff62c20e51fb43cf238936a68030bc2551fcb93413829e5bac781008d8d153a6d956a028f4b2b68f01b74ab6dec03b8d6498ff6701fdd591ae8ce6112e05ea6e92cd7a965dbe89e2ed8a7d441e3650356e76e4dc2c29d53cac78a2d26897218e5a700c6b1b1b88eff124f6ab4f8f01b038f060f246fce804697152e3623ef6d40ba835bb8554e81a8f7116c1cda5c9bf30302d84f02982a822e3b6d789b80e1f767ff62186c3578cdc33a9561ff40c4f8b003ea0b91231562c14b678b4dae9fe941c2129efac0babddfef9ca3cab1ddaeb0e7035e21e13b0a2d362cfb941e5f470ed72702d5ff830a62dcd1a295de1027ea6fa1037d0ad33f6b8ac0119c1b70c88cc5bc5f8646b359ee83394fc0b63600d0f514e9037744a7c2a005451596736598d475254c7bb15d107dfd50f21a86982427187b44038465e29360cb5013fac0febda0eed782a23a1ab9d69854d5bb85fed91d022359034993a20ab6507051076b278bbfcdc3c7370aea7dd1a2f9819c6f1e2cde03b51e0391d884567ae0e2c4d5e711cbd9eeefd724927b0240229a989e92157fa8f4e5a705581e03ed187ce44c9997cb385750591ef7037d91cc2c23c2bd592d3a7189ae300c0c480627fbba3650dbc5031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03130151c3035b44b7d521b07c5acc416b338fc1d1cae9507a9522e2728007011bffffffffffffffff05581e03999e11878ec3279843bed50d173e45404236cb98f8a3d10449b08270f00c05472db79191a7b1e904592f266080604052600436106101125760003560e01c8063c04b8d59116100a5578063df2ab5bb11610074578063f28c049811610059578063f28c0498146102f5578063f3995c6714610308578063fa461e331461031b576101bd565b8063df2ab5bb146102cf578063e0e189a0146102e2576101bd565b8063c04b8d5914610281578063c2e3140a14610294578063c45a0155146102a7578063db3e2198146102bc576101bd565b80634aa4a4fc116100e15780634aa4a4fc146102195780639b2c0a371461023b578063a4a78f0c1461024e578063ac9650d814610261576101bd565b806312210e8a146101c2578063414bf389146101ca5780634659a494146101f357806349404b7c14610206576101bd565b366101bd573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216146101bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b6101bb61033b565b6101dd6101d83660046129f8565b61034d565b6040516101ea9190612df1565b60405180910390f35b6101bb610201366004612776565b6104bf565b6101bb610214366004612aff565b61057f565b34801561022557600080fd5b5061022e610745565b6040516101ea9190612c37565b6101bb610249366004612b2e565b610769565b6101bb61025c366004612776565b610981565b61027461026f3660046127d6565b610a56565b6040516101ea9190612caa565b6101dd61028f36600461294d565b610bb0565b6101bb6102a2366004612776565b610d0f565b3480156102b357600080fd5b5061022e610dc4565b6101dd6102ca3660046129f8565b610de8565b6101bb6102dd3660046126d7565b610f78565b6101bb6102f0366004612718565b611095565b6101dd610303366004612a14565b6111fb565b6101bb610316366004612776565b61132f565b34801561032757600080fd5b506101bb610336366004612868565b6113c7565b471561034b5761034b334761150e565b565b600081608001358061035d61165c565b11156103ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b61047060a08401356103e260808601606087016126b4565b6103f3610100870160e088016126b4565b604080518082019091528061040b60208a018a6126b4565b61041b60608b0160408c01612adc565b61042b60408c0160208d016126b4565b60405160200161043d93929190612bc1565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611660565b91508260c001358210156104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d72565b60405180910390fd5b50919050565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50519050828110156106a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610740577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561071e57600080fd5b505af1158015610732573d6000803e3d6000fd5b50505050610740828261150e565b505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b60008211801561077a575060648211155b61078357600080fd5b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d602081101561083657600080fd5b50519050848110156108a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b801561097a577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561092257600080fd5b505af1158015610936573d6000803e3d6000fd5b50505050600061271061095285846117e690919063ffffffff16565b8161095957fe5b049050801561096c5761096c838261150e565b6109788582840361150e565b505b5050505050565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b50511015610978576109788686868686866104bf565b60608167ffffffffffffffff81118015610a6f57600080fd5b50604051908082528060200260200182016040528015610aa357816020015b6060815260200190600190039081610a8e5790505b50905060005b82811015610ba95760008030868685818110610ac157fe5b9050602002810190610ad39190612dfa565b604051610ae1929190612c27565b600060405180830381855af49150503d8060008114610b1c576040519150601f19603f3d011682016040523d82523d6000602084013e610b21565b606091505b509150915081610b8757604481511015610b3a57600080fd5b60048101905080806020019051810190610b5491906128e3565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b09190612d28565b80848481518110610b9457fe5b60209081029190910101525050600101610aa9565b5092915050565b6000816040015180610bc061165c565b1115610c2d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b335b6000610c3e8560000151611810565b9050610c97856060015182610c57578660200151610c59565b305b60006040518060400160405280610c738b6000015161181c565b81526020018773ffffffffffffffffffffffffffffffffffffffff16815250611660565b60608601528015610cb7578451309250610cb09061182b565b8552610cc4565b8460600151935050610cca565b50610c2f565b8360800151831015610d08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d72565b5050919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b505110156109785761097886868686868661132f565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b6000816080013580610df861165c565b1115610e6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610f0e60a0840135610e7d60808601606087016126b4565b610e8e610100870160e088016126b4565b6040518060400160405280886020016020810190610eac91906126b4565b610ebc60608b0160408c01612adc565b610ec960208c018c6126b4565b604051602001610edb93929190612bc1565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611860565b91508260c00135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d3b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600055919050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610fe157600080fd5b505afa158015610ff5573d6000803e3d6000fd5b505050506040513d602081101561100b57600080fd5b505190508281101561107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b801561108f5761108f848383611a1c565b50505050565b6000821180156110a6575060648211155b6110af57600080fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b50519050848110156111b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b80156109785760006127106111ca83866117e6565b816111d157fe5b04905080156111e5576111e5878483611a1c565b6111f28786838503611a1c565b50505050505050565b600081604001358061120b61165c565b111561127857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b6112eb606084013561129060408601602087016126b4565b60408051808201909152600090806112a88980612dfa565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525033602090910152611860565b5060005491508260800135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d3b565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561055f57600080fd5b60008413806113d65750600083135b6113df57600080fd5b60006113ed82840184612a4c565b905060008060006114018460000151611bf1565b9250925092506114337f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984848484611c22565b5060008060008a13611474578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610896114a5565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b9150915081156114c4576114bf8587602001513384611c41565b610573565b85516114cf90611810565b156114f45785516114df9061182b565b86526114ee8133600089611860565b50610573565b806000819055508394506105738587602001513384611c41565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b6020831061158557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611548565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b505090508061074057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b600073ffffffffffffffffffffffffffffffffffffffff8416611681573093505b60008060006116938560000151611bf1565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808316908416106000806116c4868686611e1f565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856116ea8f611e5d565b73ffffffffffffffffffffffffffffffffffffffff8e161561170c578d611732565b8761172b5773fffd8963efd1fc6a506488495d951d5263988d25611732565b6401000276a45b8d6040516020016117439190612da9565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401611772959493929190612c58565b6040805180830381600087803b15801561178b57600080fd5b505af115801561179f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c39190612845565b91509150826117d257816117d4565b805b6000039b9a5050505050505050505050565b6000821580611801575050818102818382816117fe57fe5b04145b61180a57600080fd5b92915050565b8051604211155b919050565b606061180a826000602b611e8f565b805160609061180a9083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611e8f565b600073ffffffffffffffffffffffffffffffffffffffff8416611881573093505b60008060006118938560000151611bf1565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808416908316106000806118c4858786611e1f565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856118ea8f611e5d565b60000373ffffffffffffffffffffffffffffffffffffffff8e161561190f578d611935565b8761192e5773fffd8963efd1fc6a506488495d951d5263988d25611935565b6401000276a45b8d6040516020016119469190612da9565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401611975959493929190612c58565b6040805180830381600087803b15801561198e57600080fd5b505af11580156119a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c69190612845565b915091506000836119db5781836000036119e1565b82826000035b909850905073ffffffffffffffffffffffffffffffffffffffff8a16611a0d578b8114611a0d57600080fd5b50505050505050949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b60208310611af157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611ab4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b53576040519150601f19603f3d011682016040523d82523d6000602084013e611b58565b606091505b5091509150818015611b86575080511580611b865750808060200190516020811015611b8357600080fd5b50515b61097a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008080611bff8482612076565b9250611c0c846014612176565b9050611c19846017612076565b91509193909250565b6000611c3885611c33868686612266565b6122e3565b95945050505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c9c5750804710155b15611de5577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d0957600080fd5b505af1158015611d1d573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611db357600080fd5b505af1158015611dc7573d6000803e3d6000fd5b505050506040513d6020811015611ddd57600080fd5b5061108f9050565b73ffffffffffffffffffffffffffffffffffffffff8316301415611e1357611e0e848383611a1c565b61108f565b61108f84848484612313565b6000611e557f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984611e50868686612266565b6124f0565b949350505050565b60007f80000000000000000000000000000000000000000000000000000000000000008210611e8b57600080fd5b5090565b60608182601f011015611f0357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b828284011015611f7457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b81830184511015611fe657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b606082158015612005576040519150600082526020820160405261206d565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561203e578051835260209283019201612026565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000818260140110156120ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561215d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b6000818260030110156121ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b816003018351101561225d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b61226e612626565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1611156122a6579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b60006122ef83836124f0565b90503373ffffffffffffffffffffffffffffffffffffffff82161461180a57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b602083106123f057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016123b3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612452576040519150601f19603f3d011682016040523d82523d6000602084013e612457565b606091505b5091509150818015612485575080511580612485575080806020019051602081101561248257600080fd5b50515b61097857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161061253257600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b803561181781612ef4565b600082601f830112612661578081fd5b813561267461266f82612e88565b612e64565b818152846020838601011115612688578283fd5b816020850160208301379081016020019190915292915050565b600061010082840312156104b9578081fd5b6000602082840312156126c5578081fd5b81356126d081612ef4565b9392505050565b6000806000606084860312156126eb578182fd5b83356126f681612ef4565b925060208401359150604084013561270d81612ef4565b809150509250925092565b600080600080600060a0868803121561272f578081fd5b853561273a81612ef4565b945060208601359350604086013561275181612ef4565b925060608601359150608086013561276881612ef4565b809150509295509295909350565b60008060008060008060c0878903121561278e578081fd5b863561279981612ef4565b95506020870135945060408701359350606087013560ff811681146127bc578182fd5b9598949750929560808101359460a0909101359350915050565b600080602083850312156127e8578182fd5b823567ffffffffffffffff808211156127ff578384fd5b818501915085601f830112612812578384fd5b813581811115612820578485fd5b8660208083028501011115612833578485fd5b60209290920196919550909350505050565b60008060408385031215612857578182fd5b505080516020909101519092909150565b6000806000806060858703121561287d578182fd5b8435935060208501359250604085013567ffffffffffffffff808211156128a2578384fd5b818701915087601f8301126128b5578384fd5b8135818111156128c3578485fd5b8860208285010111156128d4578485fd5b95989497505060200194505050565b6000602082840312156128f4578081fd5b815167ffffffffffffffff81111561290a578182fd5b8201601f8101841361291a578182fd5b805161292861266f82612e88565b81815285602083850101111561293c578384fd5b611c38826020830160208601612ec8565b60006020828403121561295e578081fd5b813567ffffffffffffffff80821115612975578283fd5b9083019060a08286031215612988578283fd5b60405160a08101818110838211171561299d57fe5b6040528235828111156129ae578485fd5b6129ba87828601612651565b8252506129c960208401612646565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b60006101008284031215612a0a578081fd5b6126d083836126a2565b600060208284031215612a25578081fd5b813567ffffffffffffffff811115612a3b578182fd5b820160a081850312156126d0578182fd5b600060208284031215612a5d578081fd5b813567ffffffffffffffff80821115612a74578283fd5b9083019060408286031215612a87578283fd5b604051604081018181108382111715612a9c57fe5b604052823582811115612aad578485fd5b612ab987828601612651565b82525060208301359250612acc83612ef4565b6020810192909252509392505050565b600060208284031215612aed578081fd5b813562ffffff811681146126d0578182fd5b60008060408385031215612b11578182fd5b823591506020830135612b2381612ef4565b809150509250929050565b60008060008060808587031215612b43578182fd5b843593506020850135612b5581612ef4565b9250604085013591506060850135612b6c81612ef4565b939692955090935050565b60008151808452612b8f816020860160208601612ec8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b606093841b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116825260e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000166014820152921b166017820152602b0190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a06080830152612c9f60a0830184612b77565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015612d1b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d09858351612b77565b94509285019290850190600101612ccf565b5092979650505050505050565b6000602082526126d06020830184612b77565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612dc56060840182612b77565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612e2e578283fd5b83018035915067ffffffffffffffff821115612e48578283fd5b602001915036819003821315612e5d57600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715612e8057fe5b604052919050565b600067ffffffffffffffff821115612e9c57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612ee3578181015183820152602001612ecb565b8381111561108f5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612f1657600080fd5b5056fea164736f6c6343000706000a00582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05581e03d2b096184691ac1f4d2a3fa2fbeccc6ce1a97d0e02994ccbb80d0911c00701192f2603c5c6051942b8c49a5876622af3f304ef3ef5982d83c625522613238ffb97b2b403ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03bbcca46a459b8597226207550f9144d399bb323b5c987c170b0949584007011bffffffffffffffff05581e031a7bce4600931a1b1dd6ee054df8f9bf99aa424626b8b1e8778a8090f0040305581e03078c04a7d29e8a0f73dc3b0d2d1e776480eb82e7a56caa4b8dbad49d300c01478b24e9bdca786005581e033add88af6cca99a7c38e523b669715bc81a6e88bd797322ae4630015100c044702676b55ad3e800219da7603f283e3bba2fa214401a7ce80799c4116fcac9995148c89364e9e1f0e982b2443030b93915be0f12fbea1c6cc47065ecd0ae3ad21e1137bd5686f32ef3672bdd1a703b87d5e5b8944fcf976741c9a74a141fc869c24abe9b231280752a49d65eb564403d5acb246b6691b26b6dfc0f382e44aa8d677a28a84556c1c030c192af6be59ff03ebd07920ba134186e480237582d3235a1efd1a3805ea2b5021c5f20b5efbfec703331b80c57e50c91262059ee702a529e98636f567ae18b19d6241f0c6670fd5360315855e66375fb1c03bb63f595bb881c70555c37992d9f0dc4ae5394df08210b50393fb72a87e7542016348b43be80a4f4a134e2228fde2059ffbcc5d78625ee1c303567610e5bae8511293d0513617c00ec2d9884db6a5c248240ac78b0a7498b2ef0372d31df4e3b1501bb765127720e2a0d2ddf1ab6135fb15ad9daddc3d7b70788b039074b1b4f7c60edb1ec640c655d15d5e8d2676a9ce43400834deae605c3a1ed203469f0d2547369328e13d0074bf15d7a13e2d771cbef2fdac24fc4de0d33e6040032d46593d26db5545248d92f9d486528c84fd5bdbc2ed84dfae6b345a3a6108f90219ffff03ce1cc022be210c87fab62cd3a8c567be8e6e598e6306be5456d5a5a5356bc3f903ea7a76b946dfaf6264be7eb996fc7320c604dd70bd38a674d3e8485540e3747303a0d031ed3d73a5d180a5397647daf0435a6b925ade8132d13ce64bd9e5d65a5c036418b4bb84e9c49b477656db3425c089d8e60c221bbdcd1c5a5a5bb407ecb0e7035a1518eef659349a2c3b175771dc3d0a704a9da1c4827aa49967503ef2204aa7034c2446c050faabdfdf4a3b5b2ebbc132c342c20f9fa21e98a1a52797f99c4a9e0344f6a05905857820dc4f83011c0bdabdb9de270bd5cf20787be96b15053e16db0219ffff03d1eee1cda5b46153e460554de6f7c07c5ac52ed0dc86956f2c6fb33fa6a1890d03ba728b65df0b20dba6b34e4909ed13eb354738b61e52b95f2073c4e5edd189670352f23945e619762f1a9c0edacc92751c7e86dbb5d8764138854545c1650113fe03374f1e1d6b0d491b754b0601acfd9f0ae2dc9767f70c0c5ea2370ebf0eec848b03493e896f659e314eb5ad1b9d60398e5110606be802a5bb58eb4569093771ad9b0351d5aa3af981ddba570f0565ca4d7ad81c4998bf2fc6d72ccda878942b9d617603d2718584d35c1edcafc2e7c965c11ddcf895ac3ceef7a83aad6b7d011327f74a03cb033e7b26c268cc9135b5c2e03363a856b6041bdbf164dddddda4713c14fd9f0219ffff03968b5b229ae8bd240be8547286628ade3dbf0cb92c918a8762c476306ec79084035169868e02ee4faf2f71fce731269a534f324751fddb33e659a81215ea5f9f4103e916db3bf98c867d19b94c9502896406c191d7d9462b1014f098edcae303bb330307214936a3c27e3d59920737b517b3da108d19b339aebb9381fd2328ac80dbea03009a0f52de7617e9c678e92b86c9d6356168cdb7f758fb5a9cb19ad8c34f38e2038d844a38dbe7ffb9aa1706cc45f918128b8ffe02afeeacebfb24b92b5ba8c30f03bc9d9391bde8eb545ead1db5ba7401f788500bd7749673ea6fe4826bf83a4101030be272cedb53221cb535345760fab1fe9093d7a69347427a3d2ff1e89ae731e103ebd2681d77e8fffc904548e1a3349eaf20083516a17950fc6360a999c7a817810376b77ffdab734f22868ddbd1a5810d8f37e89fa110907ee67c895c5560dba0af03115597e8c37717cac7b929c5db8e44fe5227f117a1ca395f13fed33034b069c503cc7ffb6dc02f4776305b9ccafeceb5e92625a0c6ba2774cac6034cd9174f20bc03b5d0bafb27a16de82e416ce6a2bd7716891c794d2ec64d3f5af3fce94d49910703a12e406d34962af5c4a21eb87f959d998b5e5cc6cdc39777d62baad34bb2b54603715103e669569aab9f2ac2a4aa4541e4438734c2b29d22787c3653b738f5216d01410705581e0346b5191ce1564a47edb51f145622bec10f342cfe1f37934b2314f593b00402034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03304edf9585f1d01cacb9de0fe1632f558db71a3ac7e86bdf04f074f08007011bffffffffffffffff05581d02f64bfac58f889f5e3a5106292f63cbf1e4c33ca7bc6a9ee20e23a419040705581d0207d702ce9caad19dac6a3f4032647eebce7ca2579f332bf084add95d0c1818480bb822c0f8240cf905581d02344621eb63feafafd82540962794ad2e7384874526abf216de172d860c181a44052dfead0219204405581e03e438a3323b2ea98c175eea0aebb8aa52cace5c96c4aabf248ca2d3dcb0040205581e039a2247595c06ba8a801518c831b0e367b8e34831c78d0304d9cee526e00c01471501c01accd04505581e03c1aa264d7da438fd362797be95d094e4e858da9bcb17ae82cf8f814fc00402030414d45c5a3c05132744003360eb95089f6a03b2fbd6069f9cfda02cf14ea83d0333d41539ea485070c3bdb2c3e115a09f0dd161e15b1ac40831392037d58d178e05581e03011ec900b6056a5beca05258a20a4c3236a0281a8cf17a37778e729d2007011bffffffffffffffff05581e03b2639282342e4258ef14df06ff6fd867083e226ab0aa8f55a5813365200c014701f4bb1768125305581e03505051781a83738425b29238f1c3c2851565dc4a9fd2c838b949efe9600c0346c2aa3bd0cf2f0355fda1d4d20bcc498d9b6a3b1fd6f96eb62228d1641719ffe403f87c11ab9a5902197eea03873296f2f2ec50b7dd230bc1e79a68e3e3a7c38398d99951cdc99c5465c04f0c03ef6df5a4147aa781c24c4289a14ad960c0fc306e34c7ebef0753e55daa644fc2034d282cc0a5a911813ca31cd7baa5fe348bd45104c84db84e0ab65556fc9aa42b033c81a8caa34c5c1bf0de4242d1474fd95e800f29c93914ddac0fa5fd4bd213b003609f949c83e7cc958099b5e6d578d84c3e3f40d74c929c216a7293e5269dab79038d66e53f561572c3918c29c60460125e4cb9b2131a8c7dbd30f03821418757440307dce2cb032cf7f3b7ab1fa3cbc131b68eda673bc36d5308fda06ce063cbb26703d198a0903fe787067eb47988cfed6c069f5ba17dd339431d175370cdf68227cb03e6cd731970476a07f3a04ca868156283f324d97efaf8d51440ee8b17ae28181803d6e4c3473a1008f5a7ce12fa99149b4286e82c1f29fab7d14ba4be5de658922803695b9853f3a0f19b4d334ecb707a332cf161ccec1cd02202587655bd4b35cafe03887a5ee9a580d8005d3a1dc6d0026f5b59fd2bb291588bf137ee6dce5e8e1f76039f76b71ab93ce7814d7e6bbaa4b8faf25231404b8bea55b52e75258c7c91bf750348fc7a072614ab0f9ebe5a3c8b8186a82333877c0d5e7ecd92e97c0dff2dbfe60219ffff038eb73b7464e514c5a73d9181b741b07e2b8106250504fd913fc74f14ca074ab303965d3e9c848d676f5370f46179743aaf1c169346e83d001081c37020bde637050329002bff78717982a14209963153252e479a44ae55d95a703c4640baa3c01e750385896a4c206568c238bffe497bb0c0bddd6bda6ec1e9e76f69694ac4111be7390396662bad60aab465dc930b7342bc7e34e6897cf31a3b42245ff354f77ccd4929031cfb300d5d5824b7b473b48c1a5537d02edc1fc45dc97e3044640ffc3c5fc82803b42d2ae64dc94ab90b8bf46007224fd3a5a76eb635a82f8e2882521fb55e6447031641ced2d26dffc190bd8610e3982da07ec6ca2d16f7f4ece32f4c063a41bb5c033e6c52679d16f146ef4422adc59bf6e20105404ec3ff7896e40c1f926b604e060219ffff039c07a6fecc0d5a9830ff7931411e5993e10ac6c999e61b535c7821ea21a9909403405c186076a1347f164435ea64e15992fca29107d0d584ac77ff3b37cc7830150360567516a65f6b242d92e1d7de51e5351662824d2228f84d658ef1a92af16eef03d89671bad1f26661fcd32958a48a818854129e20607b380d6c929421e2b770f6032e923a7deb49347a1fc3c01e0e081594a772622457e0d19c76d9cde57a8d490803b7145446995f0bb76ac6c5bbbd083bd208b670042314e86cab53a89beab49fa003750a649b7260a86af308d6e358c2accea195e5f463304a5b53d931ea9356156003069cfc62542f2e62d9d7291c10f866b46f9ed67f3d9318e31db7ca3382dd6aee0370831250ceb849455f6f6639530c404cab2286f9bafcb79eb9ef849bae28f68d05581e03ca73fa8a0f7d1480679d608a1211cd467bb91dbe8d7a5c5f281530c370040105581e03af5e4da1e8ad9658fc6850150e4ac4f9bcf01b702ee3c7e5feab7bbad00c014708294963f46e0005581e037419dbf29ed4a28d2d1d38250aef44289170758f194f30aeee405dbac0040305581e03cd8c8e87e4b6facdd6426430c593a43d6876a2a9e9aa43c737812763400c034701ab7964f6d08003f38d36be00a8e4844bfac8921c92036e318b4268ae75654fe45e32d8b46bcede05581e034b14b3613b4ae5805ee5aca645b4c2c771c4e75d75a49c8f35a396e1f00c01461d1a94a2000005581e031c4a330135b63e087cab4ebcbf6c023ab007298fa92016c6e4d299eec00847039696f339200005581e03a630f94b97ec04851f54ed43c6711ce39671fdaed125362a43b8bb30f00c0647581b77f66e000005581e03ac248480cbabbef07b1a1f61a92fe127cddcc05965dae6b14253dcfd30040205581e030c2eb7e4079eced0ac9c2f0cb687d6cc921f1018e9de24e269cbefa640040105581e031d288540c726dd0739f111e1cfd7a414dd46697100285eb44a8a80abe004010219af5e03203ef01d566788b8bdc847ee0e81123b519a5396e9f62b4e38e65e951f97628503407cc8568481255951c9cecbac1236857fdb61fd32fea62ce1cdf51d8ae3147103ab1d9e8fe03b7567983e74bb6eacd44f14c382c5bbee5a809b7b245d5314a992039fe7303574acdb7be3296ee6a9a0018b970e6ed2c384e9fe775dab36ca9fe97f03eb08ac23b737e4393214a95e8799884a8962f166708880a69eb4a3e54a17786e039074498a86c94e0007ebe9b854867bb7241e4924066d6dc218c5bab6aee9e4a8038b67651aae37a6cc43aae7b3ea3f6fd1f5061ea379074744861d4a68213318dd034270100ffa8687ed71848d30d5eab602f31888bfade22e85966448995b3738fb0391cc163e07c62590dda121727a751b46f272c8e28d6f025247f9c7f798ec02e80219ffff03e03e9db230263876894e8ebf5b9e6bacc463ad7730d888fdd0657bb71bc73cd903f35c9a69774c5550906efc351d4374acfee6bd7c2af5ebdc4ed26f1670c92229032b4b9ecdc09db46ae21d217abac186d1f1d81c4d63e7d972e167ae58d5318cef03e0a7ab714cfd3747a2e813d73de257182e01d49ff7b8d53e739b25a706668bdb03ec1c71cff39e6dcf230af4afd80e61135145059fdf7e7479a1a3e348a0c7288d036ac2f14af16adcfc0f823fb7472e0cba25163dd16ac1c12f99550873dbe41b570384efe335895d81af2970e0b4d7236659eaffdad1e5bf90fcc6f74ddae2db4711037f288d657e0108c46a07a099003a18a3f69b5900ad4f07214abca644d0e3c41803bf978f1dd51c926cbd4fce2f262789394f11acd86e871f90abe0cae74cf9279c03d1d3a5cc427df2cf651d5901b25b1a6650185b474557d33d58c06f06448bded603feec9370b0379cc3f2b1b052ea6bb92829532ba03eadf83fc8355b27eb0a976903fa992607cd7858730b7df1c0b5d74b941c59d7d02d977c2c348190cc6497ac260219ffff031497d93731d7d44a22044ba96612a8c8b2474bb2b8fc4bf97ee43572f9f189f00315398c0a386825a49c40d6e86d7ce90dbea41782d6f4b17ad2531adaac94639403eb67c1f3691530dc8da5d24db0454560bd976376e81a2cb1bb526239ec6b9e46031b1fde96b0ebc028e46f145ebac28f0d8525373403de3e6c7fac83b839db21a2036bff1c20b7d8fa5a1fbd8e957c5120ae476fffb6ff78040ed2b73c262407edc8039f4215088dffede6ce94014e492579237a7d94042310a2e1be8025dbcd697fb703d28060c5bd69a5126a30fa5e1fd6408714c07819a3070323b71da62924865c75034f028c3675865d295a019123a5c751d0fe1876fac4f68d372c89e4f4b37a2b68039d9088c5a0bbff8fd4883ec8c81e1ca543226be62fb2bb3359f246d243e80e03038b0edd103e89f4bd0f6e40bf39bf2cafdd3699c4f36e84558aa3865b578fe8ba0219ffff03245602f2db0b946c76a19d5dcd9109eefce6354f7b02df5ea7b2a074d5f2a5990219ffff03dd977cb34362c9be9fd0113f770e0728e9362e5e3fc3842dd88155cedda457db031e300a2e881f667f72a4a1d6dfca6a6edcd99efee0de9818e7ccdad640fb8cdc030a500b16f981de460beb12ee6b1e83f0e75e2cef97f4d06141e5072cb3e8d07903b6712d4e0169aa0e0a98cfb1e4b140e5afbbdf74de2b8dffd59dbc0affb70d98034bc9c3bd879d9977a43e0d494b3a577f8c7c21eb12850d83e2094f2cbd503b4e03aac048d9e9bdafdbcff18c14bd751feb7cf55e19532f25f9f67b4cd32abe0901032459069bc77ff5829fafe00c890cfbce9d6684cc594ecfbe83edc0133a0da4b1038acc3e0e9934d6cdbebb99ed405b0590be8a5c984fd7f275992f1c4a7d3c5ae90346c685d4f2406a86072300143da1662731b3e47ba35c3cbc8e57ba4404ea555103666ae45b93fe023e91c7a9d1b6af7adc1399f8d6483df01bf128786930c3ee7903ee1b180a90739bbba5e1489c8f0143ac5f22d225b1d8873c8dbde8d57b266e9d03430797f2b9c2b129c42bf348dda11dcc9aeb8fc7615b603445ccad51f9acd2a603f0d1eb7bd12a6d20393b86620c9f953905c2f28698d8df76fdde1fd375c37f7903c2ec9738ec8e9577e58fd3d4e540a2dbcce9ef259df00e64f245b5285a7334e603bfd06edb3a5255f19d9ff6e8ab8155fcd5d16100fc9ebbf2a89c5bdf93d23cdd032977e5eb99954bc991c55f0150e51d0c8a9df867242f915ed1809ffdd99ba47d039685dacbbff044f93510834b328408eda2557e71988ae568ab8a4a76db92ace4036cf3b2a9f57c94d0c971a83d387fee877563cf1cbd1d983e6a78024dba08d110036c82734698165bdc75113b01553e69264ffc4a70a5faf04a1c4c2ffade09d79a0345637d6501625186df1bf5bb1cc52bd5e8ca58107c24e5476caccd63fce2af2e033e591337aa45790a65cdbc40045ee6c95378788b170a2304eb23e751d0ebe0e303a17743b4952d140a6a91bd460a1552d5fac941508a06fda98e7df0b071d6417b03774b4208ed2a0a0fe4b81f8838c0df5709e65ad21badb2b715ae1c77cedf111303a66006ad07b327f7f7b296163857045d2fb6ed7a2dd54e9499916b7b4219b7de033a871763e0b7c57352426ae921ccf0e9a9eb9fb585625ed2b013bfe8187d264d031f5fca3e6278e3160557f5dbcf035f015e36dee78887bebb16fcdc81d10e309e03154d1c4a4ea3d4744e4b84d46d0044e7e65e7078b60abb0883424ba5798ac96d03456fd41afadc1b4d01b49c345c9a1cf198cb81fd5efe1874d7ab0bcb2a5a32d405581e03ac088844da15be6891007b172255d4846554f1ee238ea835aee84e9bb00c02463914a374964005581e031448e389e073f3a3e357b7036352472a90c6b22c211f070eabbcfc90400c014733e73ccfcdd2b005581e0340a1c8b75e08ecc5c47d273d49a2e3bf8a89635f71e6e9592529ee20d00c024743a6e4202cd3e804591789608060405260043610610108575f3560e01c80637d1db4a511610092578063a9059cbb11610062578063a9059cbb146102cf578063bf474bed146102ee578063c876d0b914610303578063c9567bf91461031c578063dd62ed3e14610330575f80fd5b80637d1db4a5146102555780638da5cb5b1461026a5780638f9a55c01461029057806395d89b41146102a5575f80fd5b806323b872dd116100d857806323b872dd146101bd578063313ce567146101dc57806370a08231146101f7578063715018a61461022b578063751039fc14610241575f80fd5b806306fdde0314610113578063095ea7b3146101575780630faee56f1461018657806318160ddd146101a9575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5060408051808201909152600a81526902222a2ad10272aaa29960b51b60208201525b60405161014e9190611379565b60405180910390f35b348015610162575f80fd5b506101766101713660046113dc565b610374565b604051901515815260200161014e565b348015610191575f80fd5b5061019b60115481565b60405190815260200161014e565b3480156101b4575f80fd5b5061019b61038a565b3480156101c8575f80fd5b506101766101d7366004611406565b6103ab565b3480156101e7575f80fd5b506040516012815260200161014e565b348015610202575f80fd5b5061019b610211366004611444565b6001600160a01b03165f9081526001602052604090205490565b348015610236575f80fd5b5061023f610412565b005b34801561024c575f80fd5b5061023f61048c565b348015610260575f80fd5b5061019b600e5481565b348015610275575f80fd5b505f546040516001600160a01b03909116815260200161014e565b34801561029b575f80fd5b5061019b600f5481565b3480156102b0575f80fd5b50604080518082019091526002815261222760f11b6020820152610141565b3480156102da575f80fd5b506101766102e93660046113dc565b61054a565b3480156102f9575f80fd5b5061019b60105481565b34801561030e575f80fd5b506005546101769060ff1681565b348015610327575f80fd5b5061023f610556565b34801561033b575f80fd5b5061019b61034a36600461145f565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103803384846108ff565b5060015b92915050565b5f6103976012600a61158a565b6103a69064019b45a500611598565b905090565b5f6103b7848484610a22565b61040884336104038560405180606001604052806028815260200161172c602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610fed565b6108ff565b5060019392505050565b5f546001600160a01b031633146104445760405162461bcd60e51b815260040161043b906115af565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104b55760405162461bcd60e51b815260040161043b906115af565b6104c16012600a61158a565b6104d09064019b45a500611598565b600e556104df6012600a61158a565b6104ee9064019b45a500611598565b600f556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105286012600a61158a565b6105379064019b45a500611598565b60405190815260200160405180910390a1565b5f610380338484610a22565b5f546001600160a01b0316331461057f5760405162461bcd60e51b815260040161043b906115af565b601354600160a01b900460ff16156105d95760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161043b565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811782556106229130919061061390600a61158a565b6104039064019b45a500611598565b60125f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610672573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069691906115e4565b6001600160a01b031663c9c653963060125f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106f5573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071991906115e4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610763573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078791906115e4565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d71947306107ce816001600160a01b03165f9081526001602052604090205490565b5f806107e15f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610847573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061086c91906115ff565b505060135460125460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156108c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e5919061162a565b506013805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109615760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161043b565b6001600160a01b0382166109c25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161043b565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a865760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161043b565b6001600160a01b038216610ae85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161043b565b5f8111610b495760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161043b565b5f80546001600160a01b03858116911614801590610b7457505f546001600160a01b03848116911614155b15610eb057610ba56064610b9f600a54600d5411610b9457600654610b98565b6008545b8590611025565b906110aa565b60055490915060ff1615610c8b576012546001600160a01b03848116911614801590610bdf57506013546001600160a01b03848116911614155b15610c8b57325f908152600460205260409020544311610c795760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a40161043b565b325f9081526004602052604090204390555b6013546001600160a01b038581169116148015610cb657506012546001600160a01b03848116911614155b8015610cda57506001600160a01b0383165f9081526003602052604090205460ff16155b15610dc057600e54821115610d315760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161043b565b600f5482610d53856001600160a01b03165f9081526001602052604090205490565b610d5d9190611649565b1115610dab5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161043b565b600d8054905f610dba8361165c565b91905055505b6013546001600160a01b038481169116148015610de657506001600160a01b0384163014155b15610e1357610e106064610b9f600b54600d5411610e0657600754610b98565b6009548590611025565b90505b305f90815260016020526040902054601354600160a81b900460ff16158015610e4957506013546001600160a01b038581169116145b8015610e5e5750601354600160b01b900460ff165b8015610e6b575060105481115b8015610e7a5750600c54600d54115b15610eae57610e9c610e9784610e92846011546110eb565b6110eb565b6110ff565b478015610eac57610eac4761126f565b505b505b8015610f2857305f90815260016020526040902054610ecf90826112ae565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f1f9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610f4a908361130c565b6001600160a01b0385165f90815260016020526040902055610f8d610f6f838361130c565b6001600160a01b0385165f90815260016020526040902054906112ae565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fd6858561130c565b60405190815260200160405180910390a350505050565b5f81848411156110105760405162461bcd60e51b815260040161043b9190611379565b505f61101c8486611674565b95945050505050565b5f825f0361103457505f610384565b5f61103f8385611598565b90508261104c8583611687565b146110a35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161043b565b9392505050565b5f6110a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061134d565b5f8183116110f957826110a3565b50919050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611145576111456116a6565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561119c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111c091906115e4565b816001815181106111d3576111d36116a6565b6001600160a01b0392831660209182029290920101526012546111f991309116846108ff565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906112319085905f908690309042906004016116ba565b5f604051808303815f87803b158015611248575f80fd5b505af115801561125a573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f193505050501580156112aa573d5f803e3d5ffd5b5050565b5f806112ba8385611649565b9050838110156110a35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161043b565b5f6110a383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fed565b5f818361136d5760405162461bcd60e51b815260040161043b9190611379565b505f61101c8486611687565b5f602080835283518060208501525f5b818110156113a557858101830151858201604001528201611389565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113d9575f80fd5b50565b5f80604083850312156113ed575f80fd5b82356113f8816113c5565b946020939093013593505050565b5f805f60608486031215611418575f80fd5b8335611423816113c5565b92506020840135611433816113c5565b929592945050506040919091013590565b5f60208284031215611454575f80fd5b81356110a3816113c5565b5f8060408385031215611470575f80fd5b823561147b816113c5565b9150602083013561148b816113c5565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156114e457815f19048211156114ca576114ca611496565b808516156114d757918102915b93841c93908002906114af565b509250929050565b5f826114fa57506001610384565b8161150657505f610384565b816001811461151c576002811461152657611542565b6001915050610384565b60ff84111561153757611537611496565b50506001821b610384565b5060208310610133831016604e8410600b8410161715611565575081810a610384565b61156f83836114aa565b805f190482111561158257611582611496565b029392505050565b5f6110a360ff8416836114ec565b808202811582820484141761038457610384611496565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156115f4575f80fd5b81516110a3816113c5565b5f805f60608486031215611611575f80fd5b8351925060208401519150604084015190509250925092565b5f6020828403121561163a575f80fd5b815180151581146110a3575f80fd5b8082018082111561038457610384611496565b5f6001820161166d5761166d611496565b5060010190565b8181038181111561038457610384611496565b5f826116a157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561170a5784516001600160a01b0316835293830193918301916001016116e5565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e97ead81b18b5fd856e965f3047073674934cef50d84d2c7acedfb1ae2d2659664736f6c6343000817003303aa720111fefea4938199d78688ea2d6588b80439001a45731c99ce2020d6cde5005820025b32c860721345477baf3d7c10a168750223b0ade7c2fc6f4723f07e3d01f05820ffffffffffffffffffffffffffffffffffffffffff97900deacec3a6f1ab200a00582002d8589154f4818d3c8659b94c6cf94f7bb596e926b19b1f65bd1d53e34f40c45820ffffffffffffffffffffffffffffffffffffffffff86d1a9d887a3b7e0b7550c03792f03c6b3d47d9c49320db26e88a926c65d930b9504412ba46700edaedb6c02005820023692a65cff4c5ea2490a3f0226dac98731794541f57b94c7a71ab7fc1e91b85820ffffffffffffffffffffffffffffffffffffffffffd2d0405dcd25843121a2b5033932376de8686573c40601113d6fe3bdcabf780cee7cdf18af9b8b804ce34bb9035e5742be217a79651ecc8dc3294288d1ae657aaf68e2e5bc7963012c82fbbd8801410800582002eadcd3a35c0969cbaad9554a57045b3dfa83f741e0be315728dda1f383f85b4401252cba03e99c9722b3f1f210fbb5cec9c2013aeb3570b22e9b4164f031e41deccf7e04be0219ef10030741a31556ae58e41ce0e38505c675e0819070d76b8685debd3a18e73b6f753603cb9a1c5b309cef306bd3d87139f4f3f1f8d2e536e7526a345c5d005c0c84944e0392b23d0f636e551b72c87d15b7d8ca58ec3f582c761def689e85b72e369267c4032ccbc486c71d910ed55e9f1f64d38f464ea5b3ef312f593093ca7ab15a156e4b03fbc9989911bb91969849c86066d4a345aed07e0889375f2205ba74049e62308a039c97c491ff976e02fbdd1c8dfe9c5a0f599b4753ac7ee3f5f3b80d59c3d93e5103c5c93d60c1b1535a5c6fb50cf8471e1a35a9ec7b9171691fe5dd024db8d941d603077e74a4afcbeb15343a2c7fdfb91c96fb8f6556176eec0c292c299e76e73c7e030fa4a5cdf4afc2e97108de50620ae6ce9cd1b2beb6637aa7dd458faf6e23363e036dace35a63a8ee49b7b41c09e3b115e941addbe84aa49675821cb321c47c903703102f8fbf693b560fe659151856c937b8195a668d1d0ec158508654d6a7ffe7ca035c4a28beae195ea73686e5e8168cf5abed281dcb97c84653970a914811aa0d8c03f1bc1192fc8fc86b38a267f4410c617b64ec2d01a47418bf6cd49de2221ca7db03460f375e54d3b4549b893abd05a20fd9c4aa10b795e7efd19ea2b5e6b3e2b83f0219ffff05581e03a07c46657ea6520453925dae02aba13f76741e4539e2d8be00c93b2e80070119178905581e032b1a2d4b75d492d36cee18bb587e4214b3cd6c2ddc973c8a79782b8090040105581e0322a86f8b46938d5e596edf2af9f75782af2a5350bfcab88ccb1b673c300c014703190faa26b8000219153103a9e377596fe9e67723327ecb33e9ba6199b7ca5456e2d9a79a47fb90da8d627603a73949c0a11838fc21bbe57afc4c6c1e9f3787265b0cd977061b490c19c0a08603b57b03ca99041412aa481fe0f1b80ab6c6955e428589f599e4bb1190ed41c80f033beb2b2e01e9538c111fd614627e83f1bb89455b4287570e2e524104cd07cd14033d68cfaa7e273ee22a6287763530b04c4abda177ee77469aea9d7b72fc3376330329f4eef00df5b4e000c0b158f8f0fe163e5f90fe6ebe47015016fcd1a28b4e4303f3f17977e90b7a0d2eb70dea27f7cac9bd57b4769b3aa2d1a3dadd5493c6f7db034d4436ff3ed15012ac0da27f04c3e4e55714b69ba0ac83bdf1246fc0a9bdec91033210ca3e8d6b6fb5da130874509a28554f260aa060803ce320bbc12e4ea5cbee03998c759b91fc42342d7a6d02a95a0a70053c18cbbf2567b9de4d7ee485ce125d0219ffff0381595655b0ef898e76bc1df6e3e9347a51a79f0b4371f9c40d7dafe036b7933903f7a569b74bf04701497fa480352bb43dd4c976aba72aeedbd7e1fe2b031f71ee0219ffff035464e0f4a34df9ed212b59347cc958f5606062b2dedfb9bc46929f78d406fc9a03c6b7fb438e3b583cf0024fc65d843e05c81b73d4ebacd377c72c9838c48ef6fa03026138c02512ed785552fb348b6776514ec359712df0d5aadf87960b4939312d03279de5a29363631c81106c57d04aec4a8b2c9b783738ecf8d245113feb0b10f6039bf23b935d4937fc2afa48ee7b0155404165a0975b478f712cd24cf191fe7dba031fa25d7ad9e20e8a7802d7210e37739ddb28182cd4fef584305c291bb923a4440397012ce27217619ffbc7c410c8da0cbe5ce3a59e8e1cd74f6325cdd44e4e0ae5035f822171d0decbf54046d8bffe1c139ebfe1e71d8170a11755fbf6dbde9b0c8203fb8e5b477204757ed76a8eefc24b407d6bbcbda5fa2b9a04b68dfe8a655a768d033a2645e700bf56f56b56a570985c2cfd5572e2ecd35cb2e99414319235d82d3003752222107fc769087edd8a60e958514684f559ede0d2a78d44bee02f33bb979103e395e56bac30201b8559b13f166d4b181749250dbfeaef7161b6bc41dbe151e3032b0d8f8f0f05401fa1753c7964c94d4e73b3eab28b2e7ef4c3151c5edb57bc2a0219ffff036679f35b322213e2f364bd6de615e504ea3ecb429436ee4e75f3d4c057162e9203c68f68402edc500030ff5991667ca29e5b813d525f11357a14be2d0f6f2901f2030dfc3e19751fca5ce5a7104bf7947757d5f3dca77cca7fbc4b3c1be69b5bfc8b035547e92a289e81e23fd033fe66a5235f2ddb44aeb50970b67f188c96c2ed6e8003970d130a8ba8c74fc399a490946a69d4b480b3dd081c906ace37a700cf0dbe760331a609118492ec57ddb170ef9d873c9038621245328aa2566d1f75809330023d03ad749ccea50285dd209b46a1867d8ff1a5b6aae07f02e209b98a9b6db9f55d6703e7cac95e778ff37a566389ddf5c12cdbab55955a5375339c0c420d52bc07ed5e035ed55a9d25265c21fe86002cf522b6d62a44778dfd315b506d2bb04c5ab00285037e812563967c56f3558ecea3e0a848bc45be07e4caf40f9003be283d4cce3b7a03e2317a9bfb75a2fdba4940a08a10153aa0901a688efcf4cf4e969c8e0b29ef300370bf22c35e322bffaa0c26fdc74bda27fa721204dd6d04ea82d061a8189602cc030690f54182491d2ca152c2a54ef8fcd2f0820feef806960dff7eb9e78eee165803ce4ddfca14105da9576b602d6f8aed43aa5bdc7ab2776e7cbd19d9b19ccf6cbb0390ec8fbb7d7705ca31169d2a36e7ce4d10da3e34c24b723ad1b108321ea50317032835baf0196b90c55b693c16c93d64df443e7580886a72f3a77a2ad0e71f928d031ce18c4b3ee73a24ed9776cf3effb3db784cc4912bc77c77b4fd9b6cf5420c5c03d5188101b92bb12c3572447e4a95f04dff3524eba4afe01a9f4fdbe1c659e64b038b5eaebe7e0ef8a8a3bd4a3c73fb741049a9bde8daec14d146c71fadee45f50003bb41124af0f6b39eeb61073db28a644ac7eccefda9c419a967d077f8502c5ae00304d9107824ce6d7e9eb7111b472372917161d5e13df55432898a2242389dcd160320cdc1a12f2c717e86c2ec4a991f6adb951f2e9fdac907afec54598e002061e1036cb21d6bd25af92d8bea4858ecf75d05371694963ae57cdd35d2f7e7401ee01503e5a889db37af136ee62d8ad9fb874cacf077a1fef653f123e251c98e763af991034c03a63feae0d8b139ef08177c6590951d82b18a5f6a8b54c9461e13f2f8352c032782a16c69dfbcd2611fd14c70bbf5cc05562b6fe8b91923746dc679522df2020340e20a9407511e8969519d53d6d39bcfdd86c5f5da9dd34492c5e4b73ae8802c03b0c673b1e4712a1db89b4a7ef70a18f2389e71a508d34d94e64016e13a83162203106dc42bfd99d51e1b247ae34695754b15bf9c3ce363bfd013821954d600cae4033c928442bf91ef03715c457b62442416d8626c88687e86eb4b6f7f88cdb482440346693a38135337739196305addb7f76e8684fe99325481a834936c3619af90a8038859ff2e061e922ee7951c8216da30ca52f329d3bffdff99321b5bf9e73eb46503780ff98c2daf3dae95860e000494a43b56a498139af0e39acdf2cb17e8341aff03951222330a84f131d960949b4a5f76849742e9460ea861978c3ddaa0ad0bf7a2031f23ee2862c4d7e26ea84206d04952da1ca8c194b3877ee3401be5700459895f03bd7aa2d6ef68d06c450b758b9b46076d449bc4761ab79f37ce2247c6171f51b4037337a58f2b99d57b110f2ff414042023e0cb9fd945ac959273d69918be8fbc6f039643c50a8bd2186958809e276c404757edd7f18642e47a4cefe8d13e82c270f003b6a39791eb8e258d79197ecd323b07bd1603d22b86c77794ca7a913087a9b6e0037859a472d0bc51db34e022918045a1a2284e6cd344ca413d2665339328aa643605581e03721ec81b26a5fef6e5620ef5e56ab0f2106698605a43046c11e555c8c00c0c4763790ab5daf14305581e03357b8ad36151f1d81ab8958284a62eec7e63ab9846a042933067f156b00c18194703a2da676d084803ec4420ebb6d58ffda0fbc684469d2be7da85cb210bbdc0757dc76ee3d7abcdeb05581e03303c7b34852b8411ed6503c79ebb6b684b2c91319c7880c47317256dd0040f05581e03ef22dafedcf03d77e488703cff52a7eaa2ea68244e4b45fcbc047853b004130334fdca1e2788dc9bfe7d857b53d4615c9439c6d5d0893204795a9ea18a82daf50142005003d38220488983895f813b934c9bf4a37b69b425dc2f3835bf26271a881058196803d65a04cc8e333d46ee23a19cc6cb4b0f1ca6de427ee097353765a723105eb68605581e031be9da4da1451b1b752172cc219fc55682d98895c15a98a4784604835007011bffffffffffffffff05581d030781ea9f787b5148e96d030851cd6bca56edfac48c6ed113e01f04b0040805581d03d1db2b06ec9891da4a4bc74171f5a6031319316d671390ab4ece2d700c182947dce5304d102a970219880001410b031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03aabfdf72b412fb7855f58301d74f8b89883ead501478747a29a1e4ecc007011bffffffffffffffff0219179f03c96bdd996fa532e8ee0c2c6e86f2aa77c713958ed11d67693362c67cf037857f03bae933c1ae03a5e3284615e8e8c7c500869f82f8790741bb161c9adc34b2f1b2037c4d18ff372927754c4275490e0c7b253c7ed20369ac1230141f9d33837392100372285dd333180314a6e43450c5427d28b2039c4c71316149f6796106a717ce9f0219ffff034cd87fe0ce84e66f49d4de15bdb4475e5f1ebbdd2dca8eb3e0de46094af0016f03f44e2c710af6141dfa37ecf45ae2dee7fb82763468abba83a456a7fdb7d907960219ffff03568fde5f0d930391c10fdf94ac5635228fdd3e94fc643b5ad6beb51ae9a3ec3a0219ffff030d29139b89c544e6a804d0b4d72eed80685431548f0b93a483391e9ab0d1ceda031227f8c49cc6b8bb602b2ffa104c320da309c72b3df2c148c30cbac9bce5a56503e1877cebe24c0b3af4d0799f545401db88c98274309335dcbaa956f2069e560f03fff5f33e5cf8af590eafbb1463ff3b143fb45abda48d8afd39559d80babc8fa8039a6a3127d056b51c93586060e28244f5a649f653da9136680c5159aae0259043034b789f2c2cacc04596f55b61eecf9c361180c3c3873f57172234181e53a7eeb303a6ed161ce10b1c1724814184c7c857ff2363ec552148709608dfc8a6e606a76a03e5473dfa834a6eab33f2e6ea7bcb5a2aa9bda720704aad7527feb03c9cbc5053039415f2314832e054fbc2ab65552f192876ca5874f2b1b66f2837eafa319f0af503246d4a52cd0334dfe5a559352427cdbeed8d31e6f948cffc4b84e2a1f06aff4703088d6fcaf4eee43eb46049da48c7adf25d80253999e3924456988a3534f04a48039916ebaab9f113375701983fb97bc1f809095585054568a7db0e6793a603333c030a34438373d9c88226f4ae8e1d3785929b7c3146cc9ba08805de1f60065e983e0364bdb2ae98bc5f8fe1144ac515ef11b935716048d22953909091219f0210a1c703bdd8380a908137587310b8bc5823b7d724fc3f625cb9506d92cc4bcf2eaa816c031c5c4d2e91fb8cd514d67de657bb3e29964e762c52455379b8657634a2af615c035b2244ec309f2bf0e0e0d9a380a9153a4d77f16af8795642ef956b006b1bdc2403cfbbfbe13b2bc5bceb33983e2d424e34e97fe3e4cb3996604778c32224380c7703670e060de81c209a2e076d49a36c7d524342c7f2d141b350e2768ed702a2fdd90378325dfe99124a89f80c4a2e29af7100ab6c0ef625580e22197c3e91fda40ca803db1133c028a33a0146929343afb2440b3bc1e71d67affd865e77db295d37c2cb03206c95950c00c1be9e6dbaf5005d1c64bc131c316109061210b610757617a942039169e3f6e13572fd00bcc6a344551f0989f6b50fb483097d62eab7851d1f75c5032c423ebe122db30187000162468c34d2f81a59ff6851992bcd0095e5307dac7003e364568342155b7dd77a9bbad5e1656d3dc37d08b5862cfde86adf736f0e041103480369adad31fa7c173c48f5dcfdd8e655418f441ace109edb79b75db23850f103f1c63a49199629afe4bf6f67caecbd2bd00faaac9f11e82ce71b8e25e84b3b6903f6a4389b4f4a4b33423dac31c2290d7d9eefaef068a0e6034213609040b0f6f203dbf3830e36400dd2b58dafe37ec21d592ebe12471faa11a8c8bde74128be5450030e43ecbaa3670d6aa9e7e4fc7b5ead8e04bbc24bfb6aba526e558e691f4b0b7003febc5707b41f53f5a25becccb8fe5450d6977e7f3cb77f44333f126d6a18cd5c05581e0322b496ecff6edd9c7cf39fa512df430b75ac9f399ab9551f129d39d5f00c12470c8e8a71735f140458aa608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea265627a7a72315820d8a00dc4fe6bf675a9d7416fc2d00bb3433362aa8186b750f76c4027269667ff64736f6c634300050e0032038c16ce2f6068c652a695d4ed0358a0e0d0125af1f850808eb85dee2b6ea3220c0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d9db270c1b5e3bd161e8c8503c55ceabee70955200582103cbc312670fa8f95577d8e0705c59b8734d08d44ce8114cd6ecf9b5b7cfc1279054c7aa1b2cf8c7ab9ff354411320c4c4f3f9bf3550005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c054cfbfac74c26f8647cbdb8c5caf80bb5b32e4313400582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc53054235ce905973fd289ccdcf1f492ab01a4e45dad3b00582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0410303a0180ff68c81830d7408c32884f87584b01c7e1b1863b8d7d02a8c2214d7e32a00582103f0d4c00fdf73947578e40d4e4682d5b73b9bd82e54e2a2440bf240e46c80b65054cad56fae244546d0a53e8afe285acd37a49e2760038153f61b6cdc3a481aeb9a56575cd3d13ebdf041859211a53a79c9009aaa17740058210371a4ee84bc78b028133d4e79ab7c1efde80cfff19c617dcd42b43199e514792054f8c1c8b85ecb964650f127755a7394f1520183b10058210343c492b2e3265912b912c15c4d5e668a7aaa726ce4053792bfda2a6a65ca7d605424fcb9ed2bfa9264526bd675aaf392526abe19c100582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05820a3bcab7579c4a63648dd7dd4512ab721ffbde90c7cd9580e9b8bc369ae9b6d3c0219fdcd05581d0253e41783aaee5cd71dbf143fc7a620089b72728af4c5f782d3953cd50f01499b8cdf8a6bf530c99118aa05581d021bcaa0d371bcfc728cc48945c4a0581fce262d48977631ffa5f3b1220c014717ecb469ba3d7e0219c000036ca49428110f707d75c8bb6095df01e4908f1be66bacd27f8d17cb9b1cf6ffa303326f69fda2698664cc415caeabde2eaf0df181a0ad11a0e7853befc2b48f425005581e030c983369584dc7ad2827ac799045f0a500872ae07f3ed07a38b17236c00c02478146b17616400005581e0323f159691ef73ee831f51557dfb841dc5c64bfe7d4d5b0827cfe9c2f600401034a3a111c9009420a3f01067828cc28b7467836b228ee139fb94fe8bef15f17b305581e0358eaf8b7237da0b15c44b6f018df11ac13333a2c1bc10c3722bad519900401021927ce030e175ce6cc166496ce3ef63315258f0452abf2171a45569825c68d72add89f1f0399a6ed5905de0a862fc163f74f7f81962e5ddcc417fa725fb83dbeabf48cf3ce03e199cd5dcf856d6428882ea180b7f428a6f0bb39fcc11714b2f01146ed1f546f038f2ad2964de4eecbfaa8f38bdafaba123c3e6f7055c83d21ec018cb1dae0c6d40219ffff036a67ff939287d68c956576943ea7cd08875769bd0042b4a93e0066ae1d059c0f03022a90277fe1b6dd1a171c9e78f81b255f4b32e08a96ebe6286782b320e638fb034cec5dd806b419cac44f1018dbd3f81723c34bdab5b8466d956a3c727509d754030f26483b80903e0b516a662fa47cd62e5c1ee99d7de285db47b9f94b4117e4b703dc67c6bf2b0495663a204cac7c5e7b04536460eba05b14f579f5ebe645b52d0c032fdad901ca1e8bf8d7cfa45effaa2a673e676b718d054cd61544c802002a68e103c771cfd01ed0381b8586ab8d23d92b4c3f72b69c0153074e34259a3fe2747e6e03213eef9e6e1df651f103bb10dff4e26607371335c9aa174eada54b144c76e6450219ffff03557d1c305b9349cedf15d7a6d132e2627b4afbb2117c7a66fdaa1e07691cd49303db46845f00363f4161aa0fe557b6874615695f7e92e46030b2b1cf55ceea743f0348e8c5c5689b692d6839e6b9870f441dfc6fc4f0b11eda6673b8d6778298be5e03cb2140f136321a43631a53ec198dca4b5e692394b27bfc1f9177d05ead3d1f390352bc7c80e28f4ee6cb004bd2150b3e0dd151d05a4282b11a1d26da726a5c70af03b01a34b54090c1140185fabfcb5b2d94467b0803179dd72eca1933b923b15cb80219ffff03768fefc6fbea018c8c6e91b88ee846d03fdd3ee201dfc15e8c6d0478944a09b20219ffff03ff9936501c1a53fde89aac65fdeee9f603a75b914b902a0ab98442cfb80ea44603020dba4593a7f4cec7c0f5feec7ed5d63f553d516230d2dc443cee047e56803703a99bc9ace95965e8ebec91eaefa5f3e5f81e9888a7e6b513082b91f5441290280321758c88a1bbcc385853f70a10eaa9151f7311fcb0bd2bab536b64435d975e0a0339a4abe4cb3345602fcb1a40ac56edc2f5ab0f7e078d6a9d5b673651409e0906034ac0fded0fe685b8e4cb6949ca4ddcc2581b59962626c002e6455e52efc0fad303abb2c6d3347bd24e88e70bd5712f93f139d2dd32dcc8c3f83dcb1b1a3b90a991035f418bb08bb1f987041f8500d9df2c7385e8f40c4e0882672fb71c3028be0d7c03d4bedc4f5a5a8d828b6a610de6be0295ccd7d1637526f61539e2d93225ebce0803890589e4595ea115437c2e2c12a0a3911a19e37442b3a04d1f6aa67692cfea32030220e58972f9a7a13fe874984c54ed88d18d3b955a4aad08554a677184a318e003c8a1ab5a620fd1edd58f09f49dfe9df5671c2bd7911ff429365cb336e10156a703afeaca2d727ef38ce37709bfaaba503c7d0d67f59009f19e47f7b60bcb10097803fbc325284311023b8c7e66c52669bf4c01b0dd2c64d014e2ac8290280a3350fb0338752f8dc86227886b579715be3ac338f5a7f952f06969de65abced765a4d55103de8f8dab002a06b3bd74fb5b45292eb7d2c9946c450597dde79787a42a85b60603bf25c79fa7edcc66e4a679158b5ec9767e8f3eb578a9151ad52cecf61769e30b0355533ac62e9e8337f7fe84f9b65e94cb0e27c1306bc8ae9d1618e375cec8d47d03ddb97da23290c4788491b334daf55e4d400998daf27133a9cb992318b4ee4c87030c903476fbded60f5394eff7d331007eb7b6ee383d73366babb9746dceaf381a034dae975fdbdb7aab7390a3947950cfcba763ea5f093a9b359a1dde0bb14a3d2e03d6a445cfacbb339c794fc4bfd8d3749513fd6959bb5dfb2d55a03bf4d6b90b2003e0819d5a15ffd9142fe3ab2319726910c45265c4653f1e2755e7f68932375db00351b4026550737104550aa3b09e1770b24e66f4c1079da5e26842d404dd988f93030088c2d3923e7f0f42709840c4d6e93101db162d5ef3f718c426494821cf69b7038c30a2544bde3c64e09f04c6035b1d9b02e70be56c08f3d612ede48b29a1ca910334cab57cd88bf723f844272cb8dd3abc086033d59d2ad5a5dc682b86d76cb6e403d9feee156d6039fca6c57ec8e83ed704328b7a6ebfc2279e497d05ae5fa5844b0384401c5beb11a339ceb7a4b155683306e6b842cf1b2e1cee2436791a8b0abd9603752732584622bf146c48310f24d11eaa2a39d93d6445390d0035214cc975d45603ae0285c43c7fe64666c18eb11232eea534ca354eb0bf5fd2223bce47e14ec23603b45f58453e4fb604022ff1ab3e7e9b4eab4897a220e2a6b42882d4b5e5f18931038a3b60e33e926b2c25b5c0c1f1fb8534a8532f38a0db03460ddc867c16ada26b0392c486d739caf07b0eceba77b43992b1e0721e38ff87d0b5bf182b7d6d9110600338508864f52b721ff171d6669ca1da2d7661c2d8e0ab01eb01f8c00b77b61065037c7c0892614d44957caeb51c513ed30a9920c6dd4997fce9a0a18628d650107b03de3c37fc74fd5c28214b5aa3aa57c47f6744fcfead1a960e8b71fd345839358b03f15e322a2adf93b3fe22a2807a63958b464ff09d6727bf61248e3a0b89f48e3505581d0222d81954e760e1cb436ae1e229185e4abd05fc9cb965edce3b9263970c034713de6fb855218905581d022b8e1bb6344c54e470c1c08663f37ccd561a3b191a9b509837dbca900c0147116fcccc8ec00002193000030c315360c349f9f826329f3e855f31d7b2233f2534ea9331357a31190e4849f0034c3b9ec4a46459cff10f8565c4c6772236b1535deccce86e3d46476d1e9a8f2c0605581e03e9a69e89cdc645157ef74fa3ee52587e89b2920d7919c357e367da286007011bffffffffffffffff05581e032813b081fdeeb036b908498a648ea21ac229b837e2cd6f5997992d3040040205581e034aac8b05a445af18ab91f9d7e6dae28da34181906f8d5f3a21f289a5c0084738d7ea4c68000005581e03be559485cc677d7d70df94982ea05cca1bbc06632dd9db00f4e1f2e4500403031b4a6be6d34c4fbd566b9bf14bcd4370e20bed65e7c9b6bf63d26645a1e8d4ad031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0381e8c04aff42f27481a5da5fa0b2faef568b5c8ff112568f724e03a42007011bffffffffffffffff03168a73e354420215d793204e3976898ca291a8018669903687ce3b2575e815c605581e039c22cc59bb371ab5147cef652f2bd4cd67b34c6019006847bcddfcc9300c03450ba43b740005581e03d5d05f76947319cace04faadeac2850075e2946032346bc69d0cefb6900c09470272970ac916000219beb9033a43dada57d85603a8b93125b8bb347fc308cd18326b26a6793fb9e98606808b038c55deb7655ac60f8070253b450c2f278ec045ee419b7f4c5c41b33067c476fd0219ffff034fdd52a2459203541ebd72674cbae4123f1b18ed6d506b03e9b0305955930f3603151b164f512f563f5198277454072c5665b229c4e4e0b9d8d1b53fe03f2593b503eb2f42a2660b4e9503edae521218ba2c71896cfd2f9dcb2cde0032d7b538128e03866555e679e84ee319482c7b9aa38be91f1cc6dd5acbaa614577b203fa496c160309083b3ae8492de41fa583c3faf911171f7bf5054f1f2d72b46a461af55b0d1303cba2bb2ac82ec468fe8eeae4752bd31d2ffb7c18d785f9b8e113870b8afea8f303afda7b00383b6751318957299338b1e67f5b6d6cbaabeab93b40dd45538d45f903f3a6a3b79cfa08ebc9246efc5aa722d48384e1541a6310ce90cf4e907d72c15903d29c9c9d00d87ab43daf9893c336a0284b8b444d1f984bf7a84d4492e07c0f5c03f8e7b76ea885f40d6eb037f1ac9f677b60fa0e41c4a8a9d2259c4ae78e838bf70219ffff034eec56fbd7149a18084f9ea5110db830a4983e6a3915c996484c37f2211b541a0348172fc5b8427aac6c100eaf7d6732c816c372869b227a27df1d0bd599738afe039168a702ed918c0a965c945abfa5a3804d6c892393b622dbd4be0271047cc18a0219ffff034266843134861f4a7afb2b087ec1cf713e4e825f10be88cd2b82c86c8121dacc032ea591b41464da825fe02cd4ec4059447ecf33e67400e8b8d3a02bc2de0456fb035440606187764a5e12487514aeca18ec589701384f0ff558fc4f87ab4391562003da7e4d6e867da84947eeb98473934ab2556781fe2a438dcd112651f98de4c58e03d6e04cdaf838f3f15866169a8bb23fce474135127410049789f71a80737bb2ef03f24216a08915db77ab048b7b3b00ccbf527d584d3aca69e05c36157437d4eb7c03257a0c0218e76e7fcbc66a1d4cdda7d2f7b5d9f99aff3333cc8be366b1feee2c03730574a42777c01df0faec8ec68e2d2baccfc83eff6158255ad118f7705cf7e5037e4211a51ed523568402b54cc6ce39d4b006fc0db905b42b095be9a563e12c940364a235ba0b76b95a691c91303b7c6f4d5c165f01bf6af17751ef433721b41b4403938d361b8d4bc03958fb6d2ec6cac64e24c1355beafcc3167461dcee2a175aa103e11b79c444709109795c32939f414ddbec5a54fbbcc684a741738c460fb9018e0368d3963879035253ddcf6ffc1ca5e105cd69186bf08c8ecf0a34baa18bbd122003b8db28f57795a4f5e093b9c701e4ac296fe9e182c480f69756fc4779dfeb99fd05581e031aea639f131b5d6709d67a4b69e798902ef0b1d4030416161eaa9415100c09475f5ff945331b6803f27680f1374196b18104216303f8e4dd6a9643a9076f80e1b6189c9ae5d969e905581e038ace53164728a2ac028486bbad188d20ab46071f094f62a7e6addb64600c0147032d3b737546b00344200c83c3c6b680e6821e961a977625b2b287c973967443266ff648ba82800e05581e03ce74a1adf7de0dc5f85f9ce8723211c2004de37b630549a74b8b8b21200c014717ddb746bead0005581e03e99d11a6427ebe89f00cfc30a60767a2f6a73b830449875bf9263adfd0040305581e03dfdfc80302452ce24bef43b8ce8927c1310598dd9fc67035880ac0b100040205581d0287489bda689484d6f5c226e460bd79671d74187300dfe10db13d7f00040105581d029d07a9f665d9ab380480607dd856901d108e1ce88ddabbf28143c4b8084778cad1e25d000005581d02a44f8cfdaf998dd1e3b7cefed1099d9ceb62935c2a965a4e0c505d090c0246677cac379f2002191c0003469efa93fd1c02205b63a5855a3d5bbff4879337975b17bb6360c53633a494a2021989ee03b1447b03a2bd1227ae856d716112d8701a3bc9ac16b7f22e4303a94fa8431df703a5d5020011071999db3baa7706a421a562a00cee8bad680bda576abe18b7e6c3030e0eed8a106e77c397d02845661432bd82f1926dd3d690fa4636b1f767dc8cb7033b3271d7f132328fc1cbad91642ad7d9cf6bb9b1ee6b14458b5e7e748938699e03fd2dff65d0b5f086cc7f0fe92ff05d66b06c122e3b7caf138d97e5813c5528d0032f81bb34052b0ddb27bbc423f6d528feced0001c683265501ec1bccb4894ef960356fbe6f47aab3669ff4e218687210143b5d38948501cf1439a418564a9ea886203b25e7b39b949f3f2d4e533f9002ff5d8c054e03246c810f197cf52cde83fa0b603c1f73a875ea3f89343b54023e8c35cf3dfbd09a6556f05976a03e0a19a3da17703a723ba06fe74db34e841949a94c086bb11f5cd6ab86b7d4b8c531e5e35da4021038dadb0c87e0dbcf015f8384055ef9e927afe95b76aa2a95f653fd8b2566dfa0703fa06569ef64619606cbec69e9d140b0ae7780ff53be8c2230573c5de3953d2fc03d0e4a0433214b8af4fd186ef1ddbaa3589433fe1102bb698e2fa98e868b169c2033d09a7b7f20df3468c11a24ac19c6cf397c25b62a72e03b323a9ffdc49fdcadd0219ffff0306af0eb68607859d062982812aa0a559c9e300e9c1be10291a84fca9778af74103d9e72d00b308dbd89d4063a802c30c421044635461162b6f4bb1594ea2fe3639032df6740b5116ceb321500ae714fddf05b7f7824595886e3ebd96244fec31ccd6037b88ada6c02ea96e6b7163c0c0dd975c75d68d6892a535e55979ca111d0b1b6903e0819dcefb8d7afbe0686f16f34b8610a0e23de9d57463b25463a2482eba74bc0219ffff0378ad3312dc2bd5bdba861a64aacb91a8c7d314f5bf38b334881571154a2937b90385826fa275ce16bf7a535062481b20c0e77aeb541c794b883837cc230a01f64103edd9f5d30c95233d25f3e47f7b3e4abaf43d0addb1fd7cff6b650f8362a20275039b6ac97836679a8e1e88f45d5b22232357fb821b8afdee2b89d19efcc9e36218030ce924e3c44d43003c1ae61268bcde3be71e6894d94cd1836c0da1392d57ef6e03c27f925ee344fdb6760e37ca97c8378db41142696739dda857bcb6c9e66e70870376eacbd7de620b723532657025e568b2e66e4fc3b5f151e27e129208d8fcdd8c03ea578fa4b5077cca659f0c45a17396c0741d9be09483172d269c80eb44ed1bd203ee781d4a959718356f3b45d90ba5659c75db726b3d4ef73b827a63dc26ab879c0387d3f82e70c4236f0ba9f1d7b251ffe309b83aafdd1b39098440046d414ed14d03eee6a6186b073ae81ed28d3e160abe659996b6e93b4cceb56c6cb978ee31316403f55b4600161bf0408e19b0634f9a5ac24c2ae47b6615b8c0e4ff4c3800259cb8037262211e4f758d09a6ba1740ecafe611485bd8ad6f272b3dde39d0e17241af7b0219ffff03ead0685bf1a589936dfe045921e097b36dcbd73c9c0c32e2fbbe760ff11ed3e903d7d2c95a5b1d98bdcb2095a847e2123b9e2aa0abceec4a986805372fcd41ea1003e298f1cfefd7d3f48572d41e367d34d1e52ae304e41d412bd67f33925d11cb4903b927c8ed7bc943e513173ce214b2993b5a18ffc424c8a9fc9407c90d2437b9da03bf6b4b9a9dd08b4970a8f8718f92e135d6c2ee3762dbce3df64f2d4d5c35e3660219ffff03e1e92a2d4d1aac2dd1afd814f97c78d98a08c0cc8a9b809d543b155913bb30790386b18b91230d7f7fe0a87d695316a4e4907d814e9e9dc3264b4c0875a2fa6551034fa88d8b5caf467b0ed660c1cf30a489f774b7603327059f295e42d40f0086fe0342f6da1d70fcd5571a30c0d95b872fc305edd960459fb08798ea92aaff66ba5f03758379fa26b427b3fd8f951892602723aba293e61708aa25f6cfe203ab5dfe9a0356071e107d2316fe880bbb15eefab2b9613ee5e45e77e24b9bcda98be3b062fe03700bcc1ed210620c5598cbec6a0e18164c0ba0c9c34dba41a4f0f2d739ad047803601b8cf438fe0ddc4c6794e17d603f6250fbd1842dfd0762ac47e74121ebd68603b16983adcefeab843dc63b319208fcec1004a46a9b954720633e2db9b795c1c3033a24fe5e611bb7239c76c9b292efac65086bf54a204839b181fb062d329a740b037566c3e2b60cc547c2787e91c2d696ec9ae3913b2dba36f8ec60512f6b3563a303c2bc9e447e95044115241b590b68bd955d174f75aea1d7e4fa9e7058e617f0a4038b5dc22b824207e32bcdd1f6ba316efccf70b407d6bc492929b52bbba4ae4a6c03b8badafc53b5bc79c0a0723ef480cf46faf930874ad14e86f0fda86fe8e1c77a0340fc3bd5b138d0b84e39caa05f3d88349c08b91a438aa3127613442d3524a0830358238747bf53ae4f9aac9d4c78f64169ab6cb129129f11a6f5cbd63218526ce903e782af35a8fe9e7adbb95530b7a32c1791e2c6c767908a811128f99d9157d64d03cc2b8c8bca5f9dd4cbf6efd07b98aa2540e2de16e23eedd736da2bec3663c34803579b2d8e16a3ff2faf0c23f95516db596a8181dc99f4f6d7a95cb78d5e79e92b03c0beb6d5e5931519bf2af78bc016e1fa3153839d0852e78fc5d88d60ace76dd203f610add310d5e1aae608b623d0949038ffacab16312afb02a5d5ab62026192c70388bdc1ff874b90e28266574c58c1a437f20dfa9a97e6e8fdab1bd097c483084203888518e90c47f231fb26982f5ad3ea2751320c5c41b812c1baa6f4616cfe69fe0395b176726d7abf49f4dee4c6ffb1135a69a00be40eea4a8dc8c4176e3ceb808905581e035fc964f9487adacaf7ae0bb3bc18b12e67622c2423d88bbb586ce837900c024701929531f8b56005581e03fbe649074fa3522d0dd49f5885ec2d802bea35d7e7cb2be9638034ec400c04470599606d1cd0bc05581e035aac019ef274b5eea67e769c1f45d0f69a01f306dbcdcba0461992fc00040203c6a2c8dee3872c87a949c756de814c8ed67473892a500463d18ccfc37fb2b4ce05581d0275f6612158797ac0c304abd694d0b8151300d1c7ff1ace366907bcc80c1901184805c1361e2bc8afcd03aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581d02442da78814747a39ca9275bd8cf3a97006b63791fa5527effa4e05ec07011bffffffffffffffff0219030003e4ccdbf3cdda19bea0e3e830394ba1f9bcac864639be24253bd5877ae176ad56032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034ada1c367dc65d64eba80b0efbb04366c1b0bc722b6072c4feac97c6b978ca9405581e0392d1b28daf4874015664754a1e4459b2afac139b747b2f5f9c4171039007011bffffffffffffffff03eabad111292b443ea3277bb1bae88934dcde53e475e8dda98cc6597a7ba8ddab014200400219b1ac03d88b360453b252e4f7dc04e7f704707a04ab82e8367b6cf4fcdbb801127adbca035298185f2801d7c3eb6b2b368b69e3521fcb87bb19d1af9c48a8f2387dda93ce0368cd2466eba0898c9d6d6571a3af322759390a77fdba53223dcdea35b0f87e2b03ad65786425981e74e9b3a6740edfba81739cb2ce7b4818b083dc07cde6adbfcc03c47c7701a946db770abb053a049640879998e69b42f12b3fa79fe0ee2dc98db4036522f95f9612feb102d43e22c61534b95e2611e0661b6c37cc7838c1ed168f8103db122685749f20ed7c66d2d3dd99cec1c70d05bb0be776ce5e4f7b72ecf848ac03d521ab257282f1048fad08b30d06e58fe3e3827b5d73069567914e347bc2db21037985199a120ee7d801b05668bdcbd4c0cde71d0cec221835a7bebc8973fa273203c226bfcb095e63d0612a58be4128c0111d3037aa3bcc8c24454f66530ff6c24b03526e06f8c0929039012d44149abd8e8e121f32319c7e626a1301fc4b4f55d8ce03891380f6b8d03c45744ceab6534eafa3e975484b87e79da3d417b9c755458ade037b5089f63c5ff2a039c025013270da82e7fc1613462a9b6c64a93f8f32be8bab036b863115522341c22362937a926e2b41b532b418e96a3cf2d5373c6e7ccd41410382adda22ed49507e637ee3d9414138ce751a0b14bddc3148610b2599d7178cda0219ffff03c2a2f256755d300589cb3bd2bf78553ce81079e67019130f2365a19df3d2f3810391896879cd4589b7306cfed8afeda8da704220499d3da1afd92a2df4314bf367038a5e7ca597707c5f80544fb0abfed1c73630a6c7f0b98aec476cb7bd531be06c037c13462c8ce55162ab7ebe036a00d991045811e8f002e1b5114aba9fc8c186ba0306316eafd30291c2689ae9ea15fcee921626ad27562da9ffbd491a516d81fd2503296b00e62f74ffd7ab2bb3a59c5a30eb980ad57f8f22a79d6d73c0cdeceee0e90219ffff03f665a4046e251335a384ae1104f330dd34992605a7469559758788a6ac7aabc10219ffff0368a47ef83b20ba15b08cf586186395bb9b3d39b265b2af063b2e785ae333db6e034eba55c4fd153fc2dc869e951eda43b3bccee81db215bad492ffc9224d2455e003825d2a4a46da1defb71570e819834a7c1f7216dfa7ae67f6db2d6ff5cde94a4e030547405c14ea949e67c2f6443b30bd5f73bbc89e59478f1ff046f3a600f33cef03f473521405cece78433a1f7d9aadea553c57ebcb4b954b7b940e53698f77474803cb9ba55f19be61e4c1da425c262a82786b3589d51698ae41be2973faff3ed75a03086bc3c35da904a426597175769b1dc6d1313d5d44a16ef668c31d92cc41606f03fd4157b43f68a5a2a1e7e840f47304e08150001ce2d2454bfddb8a69e3c4211603cccf6a6ae7a7db9a8750d97b08945e709f34de0c42eba692210f94bd7cf770cf034a9e4be05ca5c8d37483cd269bc7efc02719313441d5f1baed9f41f453d3e288039999760e2f2b746a8f5bf69a82f0add4e238ee7d2977aba5dbc80c4a682017bd0366b4302d1a6181476a72e2ec3dbdac88d735b8eb84da5097c593291bb657b8d903adc7d63899392bec29af36d21a35910e85dd702d99cb46bdc1efffc41e82796003da576701dc7ff169250eaa5052c3597fe4b1de9c1a77ae2bc6f39ee284612183039cbd5093bd4257c4e3033e0ce184db9e7b1f8b1acf91a70528710dafe1adc94803cf7d07c122b2136b47dc542fea1da4f4ff59ec96b62be2562701327d95ccbb9c03202a4204ac3c05d42fb631de094a9f1134fe24b6aac39575257d0ac268786b3e0368950e932ac362933ee8585090085d3ac14c314407b840bc0a76564ba6982f1703e38d6b918951eed13069b7f142acd92be25725b77ed57d475cc26b369defdae4030b0696914b52dfbb9c04e79b0da1160da0f461b6bc00b68357387789d182b4a903c9544f21c21e5cb5ea38eaf91c73df0581d78cc20fc38238e6307a77c00ce88f0362f4b1328d66ebfc8a9e8afb10fb2e1b9e405fb652a9e103b006ac08482dd24b03d73d1048786b6849998634b6d9871057b1e203be6e497f5cee4fb0c3f59aa4c303f9233b7143797c41820df1d9797a62d481782ab93b178e8e3be85f3562002202031d5c54869ad2b846dc9342c3a83d586499a1e744d81c6cfc8125cd6df45ca1ff0346f679b90d046666e9ac1df74f65a7b461ee7d7a76e5b935fb54cc1c72a3230d03fc774fe2fb1ee4713ca35bbd4aec7cc3baf2ec0bdd135b49dd0f3f73a3cde28c030a61d19367d81e396cb4f84d2cfec640c6aae112f60af5c29de8dc0ae55a4348030d4e7b6593a3af2ad8117fe49d9968e18b07ee5ed81ba1d21c4209473028ef7c03448e2d247b50fbe64a0cc04ec92d6ff0e2a4c60368f1dad1d92de2b43bdf1d2603c22efe4967760047a503780c2e80d215329d3fc4d3c22562c938eb6991d3b25903cf5923019519a9adf08334f59b31ef1cab3f3b28c070a0b760338687e90cabfe05581e032dbc55563f7d350296983b066357820d38907c395834624843083e58900c0147035e55e8bc080005581e031d17c2c45698c9929afdeaa529e0b12f4396f08ce97df90a3846281e700c181e4665a6d09a80f805581d0254907fec154e1876b2c29968e66076f6a773b86b27b4bf274583b41d0c014701549505bf6400045920806080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063b84f5d1e11610059578063b84f5d1e14610595578063c92aecc414610703578063e8edc81614610718578063f2fde38b1461072d576100dd565b80638da5cb5b1461048f5780639804a380146104cd578063b5268389146104e2576100dd565b80635c975abb116100bb5780635c975abb146102895780635f575529146102b25780636b68764c14610396578063715018a61461047a576100dd565b80633ef11fd7146100e2578063459a39fb14610161578063558b7dd114610274575b600080fd5b3480156100ee57600080fd5b5061015f6004803603602081101561010557600080fd5b81019060208101813564010000000081111561012057600080fd5b82018360208201111561013257600080fd5b8035906020019184600183028401116401000000008311171561015457600080fd5b50909250905061076d565b005b34801561016d57600080fd5b5061015f6004803603608081101561018457600080fd5b81019060208101813564010000000081111561019f57600080fd5b8201836020820111156101b157600080fd5b803590602001918460018302840111640100000000831117156101d357600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff833516927fffffffff0000000000000000000000000000000000000000000000000000000060208201351692919060608101906040013564010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b5090925090506109bf565b34801561028057600080fd5b5061015f610d91565b34801561029557600080fd5b5061029e610e2c565b604080519115158252519081900360200190f35b61015f600480360360808110156102c857600080fd5b8101906020810181356401000000008111156102e357600080fd5b8201836020820111156102f557600080fd5b8035906020019184600183028401116401000000008311171561031757600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff83351692602081013592919060608101906040013564010000000081111561035757600080fd5b82018360208201111561036957600080fd5b8035906020019184600183028401116401000000008311171561038b57600080fd5b509092509050610e4d565b61015f600480360360808110156103ac57600080fd5b8101906020810181356401000000008111156103c757600080fd5b8201836020820111156103d957600080fd5b803590602001918460018302840111640100000000831117156103fb57600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff83351692602081013592919060608101906040013564010000000081111561043b57600080fd5b82018360208201111561044d57600080fd5b8035906020019184600183028401116401000000008311171561046f57600080fd5b509092509050610f68565b34801561048657600080fd5b5061015f611166565b34801561049b57600080fd5b506104a4611266565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156104d957600080fd5b5061015f611282565b3480156104ee57600080fd5b5061029e6004803603602081101561050557600080fd5b81019060208101813564010000000081111561052057600080fd5b82018360208201111561053257600080fd5b8035906020019184600183028401116401000000008311171561055457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061131b945050505050565b3480156105a157600080fd5b50610648600480360360208110156105b857600080fd5b8101906020810181356401000000008111156105d357600080fd5b8201836020820111156105e557600080fd5b8035906020019184600183028401116401000000008311171561060757600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061133b945050505050565b604051808473ffffffffffffffffffffffffffffffffffffffff168152602001837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106c65781810151838201526020016106ae565b50505050905090810190601f1680156106f35780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561070f57600080fd5b506104a4611442565b34801561072457600080fd5b506104a4611466565b34801561073957600080fd5b5061015f6004803603602081101561075057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661148a565b610775611614565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146107fe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600073ffffffffffffffffffffffffffffffffffffffff166002838360405180838380828437919091019485525050604051928390036020019092205473ffffffffffffffffffffffffffffffffffffffff16929092141591506108c5905057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f414441505445525f444f45535f4e4f545f455849535400000000000000000000604482015290519081900360640190fd5b60028282604051808383808284379190910194855250506040519283900360200190922080547fffffffffffffffff0000000000000000000000000000000000000000000000001681559150600090506109226001830182611f02565b50506001600383836040518083838082843791909101948552505060405192839003602001832080549415157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090951694909417909355508391508290808383808284376040519201829003822094507fb00061f7cc154fc23eb34671ab724fc7eb7b806abae871abae8f1eafce97213593506000925050a25050565b6109c7611614565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610a5057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610a6f8473ffffffffffffffffffffffffffffffffffffffff16611618565b610ada57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f414441505445525f49535f4e4f545f415f434f4e545241435400000000000000604482015290519081900360640190fd5b6003868660405180838380828437919091019485525050604051928390036020019092205460ff16159150610b72905057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f414441505445525f52454d4f5645440000000000000000000000000000000000604482015290519081900360640190fd5b6000600287876040518083838082843791909101948552505060405192839003602001909220805490935073ffffffffffffffffffffffffffffffffffffffff16159150610c23905057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f414441505445525f455849535453000000000000000000000000000000000000604482015290519081900360640190fd5b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616177fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000060e086901c02178155610cae600182018484611f49565b508473ffffffffffffffffffffffffffffffffffffffff16878760405180838380828437604080519190930181900381207fffffffff000000000000000000000000000000000000000000000000000000008c168252602082018481529382018a905295507f779d768d36d59231b0853572f8ee1997a2a762b871abf2c81f18f4bf2af3c72694508a9350899289925060608201848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201829003965090945050505050a350505050505050565b610d99611614565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610e2257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610e2a61161e565b565b60005474010000000000000000000000000000000000000000900460ff1690565b60005474010000000000000000000000000000000000000000900460ff1615610ed757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60026001541415610f4957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155610f5c86868686868661173a565b50506001805550505050565b60005474010000000000000000000000000000000000000000900460ff1615610ff257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b6002600154141561106457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260015560005a905061107c87878787878761173a565b6000601036025a8361520801030190507f0000000000000000000000000000000000004946c0e9f43f4dee607b0ef1fa1c73ffffffffffffffffffffffffffffffffffffffff1663079d229f3361a3db8461374a01816110d857fe5b046040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561112c57600080fd5b505af1158015611140573d6000803e3d6000fd5b505050506040513d602081101561115657600080fd5b5050600180555050505050505050565b61116e611614565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146111f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61128a611614565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161461131357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610e2a611a8f565b805160208183018101805160038252928201919093012091525460ff1681565b80516020818301810180516002808352938301948301949094209390528254600180850180546040805161010094831615949094027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911695909504601f810185900485028301850190955284825273ffffffffffffffffffffffffffffffffffffffff8316957401000000000000000000000000000000000000000090930460e01b949293919290918301828280156114385780601f1061140d57610100808354040283529160200191611438565b820191906000526020600020905b81548152906001019060200180831161141b57829003601f168201915b5050505050905083565b7f0000000000000000000000000000000000004946c0e9f43f4dee607b0ef1fa1c81565b7f00000000000000000000000074de5d4fcbf63e00296fd95d33236b979401663181565b611492611614565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161461151b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611587576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611ffb6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b3b151590565b60005474010000000000000000000000000000000000000000900460ff16156116a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611710611614565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190a1565b60006002878760405180838380828437919091019485525050604051928390036020019092209250505073ffffffffffffffffffffffffffffffffffffffff8516156117c2576117c273ffffffffffffffffffffffffffffffffffffffff8616337f00000000000000000000000074de5d4fcbf63e00296fd95d33236b979401663187611b69565b805460408051336020808301919091528251808303820181528284019093527fffffffff0000000000000000000000000000000000000000000000000000000074010000000000000000000000000000000000000000850460e01b90811660608401908152845173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000074de5d4fcbf63e00296fd95d33236b979401663181169763e35473359734979190921695919360018b01938d938d9360640191908701908083835b602083106118c357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611886565b6001836020036101000a0380198251168184511680821785525050505050509050018480546001816001161561010002031660029004801561193c5780601f1061191a57610100808354040283529182019161193c565b820191906000526020600020905b815481529060010190602001808311611928575b505083838082843780830192505050955050505050506040516020818303038152906040526040518463ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156119c95781810151838201526020016119b1565b50505050905090810190601f1680156119f65780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b158015611a1557600080fd5b505af1158015611a29573d6000803e3d6000fd5b50505050503373ffffffffffffffffffffffffffffffffffffffff168787604051808383808284376040519201829003822094507fbeee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630d93506000925050a350505050505050565b60005474010000000000000000000000000000000000000000900460ff16611b1857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611710611614565b6040805173ffffffffffffffffffffffffffffffffffffffff80861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611bfe908590611c04565b50505050565b6060611c66826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611ce19092919063ffffffff16565b805190915015611cdc57808060200190516020811015611c8557600080fd5b5051611cdc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612021602a913960400191505060405180910390fd5b505050565b6060611cf08484600085611cf8565b949350505050565b6060611d0385611618565b611d6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310611dd857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611d9b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611e3a576040519150601f19603f3d011682016040523d82523d6000602084013e611e3f565b606091505b50915091508115611e53579150611cf09050565b805115611e635780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ec7578181015183820152602001611eaf565b50505050905090810190601f168015611ef45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50805460018160011615610100020316600290046000825580601f10611f285750611f46565b601f016020900490600052602060002090810190611f469190611fe5565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611fa8578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555611fd5565b82800160010185558215611fd5579182015b82811115611fd5578235825591602001919060010190611fba565b50611fe1929150611fe5565b5090565b5b80821115611fe15760008155600101611fe656fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212204c84e3d1a47f4d4e4a44e54ba6a342bb93298db951016cc23468022fbeb4941764736f6c634300060c003303c7273e80156fbab619b5aaf0db75247e09200d0216775befd6acb3fe6890b3130376e3a772db17877b07198d35c4950304aa8f05404dbc238baa3909250553a343005820023228ca7f6b388dfb55171c46f5dc4e2bd6adda7d1bf87c11ce7deed757c67f581892f5f0373d1d55c23dfc759c5ae48500ca88ddf477b3c9e50058200206ab6051eefa55ab665c805f62a2e12b0ee6a5b544ed2c85b71ec0cdba79da54e4c9194962532feb467dce8b3d42419641c6ed2e005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354bc50cbd395314a43302e3bf56677755e5a543a8c0058200297c04b325844d174f8d8046a40e1f36a89cb90ca577fe85de7a27a37e83dde5818242fb09f3ca3b7ba4d6d424227f3638e970966359823e85c005820024beb1cdd15bb57ad7b51457a5ba1c18d8ffc16af3cf6d21bac2554f3e0bd165818242fb09f727fc6c510f5c5dcba136471b2451baff0be407800582002e030d628e7e82ffd056ff35e0d80002c0fa8451c9547c8cc7f080e4090a9e95818242fb09fe6d363f453bc656d79e81d53a598ded54d88be81021936a003836470c578c35ec5dfa847d0c4e3f3ac0242e3e80a371732561a715e2631d6be03b3b59aae62cf99c9944cba79692dadfd968ddc89f8b258c1970cd2c41d2946f703fc10771364cb979d397b8f3a401fe2d2b6a28000e2488dc5e5fcc64487d1fee700582002f09c02f4985eeb25c644ab75e3221c0bbb8b092c06fcea9bda051ca30ce3ef41c1032148943d1f0041662c4d3da425ecfe164ad256ab2ea9387363055e0f0b4a413e005820022a185453f3b037424002abdb9a62734581b05ab26068fcd16a70982d141cf05818907b673810e23f722a6767b39d2fdbaa19e8a3afe32c2f34005820027637efe763387ffef5ec55fa571dbe7eac4cc8ab69238d5cda1933e0ed5192582011a861a7000000000000000000000000000000000000000000000000000000000058200215910e6adab39800225c99f065ee5e499fbb48041ff77157d1395cadb077a754111111125434b319222cdbf8c261674adb56f3ae00582002beb330ff2d13d858a18531ccd0f5b368d361c7a81cb1510696ea19672c2f8441c1021992e003c514504d65f66b75461e15f9d7daff3bcb7f8603a57064507526ff957d9929d70058200254219e669939af32deed1cd33bc2f2798e77475ea724f3d9539a778e6623a1581892f5f0373d1d55c23dfc759c5ae48500ca88ddf477b3c9e50058200279a70ea5fe1b3b121a05278764aaa6b920a3278375035d25043af45f6ff4d1581892f5f0377cdf68ce9a05413cbb76cb7f80eaf415a826e31303944fe4aa4ffd1f69c958b1a35afa74909e4428bc1c7ebfd66857306cccc5287400582002e2e93bbf9008d6acc2341138c7eec70dad0a48ef889609695c762e7e60147058184495c0882a0008b677c980569f8ada7bed5353584171eda9005820028d9d297aac0d190d7948c8df6eb48705c85956b1214ac5106797b4f81c35d85474758acfce059f503a7e6b0fc2c8737600f9f2c4005820024993d5e717f5e320137f621c6c79c9e671c65c38fdaa3bf173ba82e6fb971358186917378bad5a42cebf80a8da36d488e1ef52a6387ca3c4d6021913a803167b5ac5f7539ba28090015631aad247254c9810f0a0d3511b57c0e98586c10b0391bcaed8e663f6de8ddac3d1133853a633b1b81772c77deb0f75ea3e4797b7a8005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6410100582002afe2f6b0797b10581b00c63935c83c5a1e1f0d6dd646b0a923d2f85b0fd4de54def1c0ded9bec7f1a1670819833240f027b25eff0366b221c7067a8866d6e78eecbe7978455fc4b8335cc1db3a8840a64b5e7c26ad00582002681c9bfcb0eb187b6f05a0022955011c096a21c6b500f4f752be5e406b298f41c10219031203cbc6c4166b7ab772c631cf98e61a4956abf70e209ca2288be4f5f6d7a41ee2bf0319315d4c08011517963064d036227878e4bc7fb6040f0e77c01ad3f0ee8c366d039839cbcef7247844c6595eee06ffb2497a4219ce2ec1de7a62b6aba0eab48e81034c2d14b66813e9a580b3aaaa7b2b6612b912f3aa8255ca1641e5490712b361880219ffff05581d0267bce79287a24c5e8453dee4b1c363dfccc5960e98b02dc0f56374bf07021920800219081003f04f7ffd5b21c59cb563398b2d75522320a99807f22cdd62f9b5d2b86b38749105581e037748e4798564f817c2ff8e7a5d3452ebaed26d00d4196e9205c12a7a900c0246d6ebd56585b8030fcb51bbe7429f2e242bd75a72e3687310192658ac056ec04332d4ca638a25d305581e037dee52dd23d59e35137618c6372783b31d98720503d0e0671553317bc00c02466a2392fd1f9105581e032324342d854a9f1e019a9721b24da01b0fd307fc4ce582d330704884f00847028ed6103d000005581e03a8d62b1af5d042aeb35dc923910abae6ac032b62d6076c036e732a48a00c01470337c1b2e9940005581e03463c12fabcd29d20dedaba96fdd3c666abf9f43846894ea8f1c9e342200402021947ff03808e378354ad99b3f08b469615cee5a4d761966a6131b8c624c64886ac45af6c0219ffff0309f15e0b9b87ed1b864a8c3c3425cacd993731fbfb35edd7cb3be259f758e49003b38e73a47e0fce40fa290bf0a02b7b6de282c8c55414fe4c02e21479b7f7eebe037682ee602ef3556ec5b108a94c05af129083ede591c80e5fb50eddffd669061d038f1368f5741dc4498cb7296b1a51383eaaf3e87e820f719f5549dfc194950167037de8d5a5070f200d9bd4eb7dfa5c10ec5a61731891fcd301a78ec33a235d7853035b6edee2802d53b12db8c0dfee737122f3c2d2d805e96057b1253ae3e8465b4c03b91d565960831fdb09ed5b17168c62d388af5f9319212926e79cc903f822f654039b09d8ae35c8d4e234e79271f9e1c47a2afa71108ae785eb416b57625a43e19303622628339a250f3098e337bc78bd3410b2cfa01f1cda94ae117f1a9e6488a6ba0219ffff031378a3031f191c7cf0050d461fd1db5193b8deba0df66439103bfaaa019649f903daf2ffc4c75139abc8b8ab227d270214935a75eeeae92bf9c2ab4ea300441210038c873bec1b42b18d33b22c72b41e81b98b71d9ff68b6a9d059d8a946463552f103333e57359902ce3855600ef65cc1ed9333d270d7398197b3e7b1213b66874ed403bf92633897f17becd3645b120270766cc70158d2c87adcfc40714027caad19b30219ffff0395b9bf01737eaf3db39c684fc3751810e8d3f04b8a1ddbade88dd5498f95a8ec038666b10cf7af48fb999cd2429d3bb6b0a31d62487283e8b4ae6f86e7a2e3156e0317abe31ddf3190f64451f601d27dbb029946fe2d24f5f2fc35a2ee4ad10d1d7803bb2723ab15eb6fa2b6e1dde8398872dcdce7c21c8d910da52765d9c651d5ba4c0305e3b14f6669018ee01d9afef9b34a57b08b0c5be3b08ebf275ba2db9f466bfb0309c693797d772a32e3c51fdb7408f6fb93b346e0f3b8e0bf4b9fc9e06992cc2a0396196429d9b344cebb5bfbaffd748c74e88b89f3db03b9ce4997c8b3139883e703eeb9b6988bfc81dfaf4c5705ebab7938b4faa5e03d2e83f34526677621243feb03c134d8a04fc957a945e60ff65c3ff5aaa85ffe64acbae3d0e6638deebdcaed28036016696d4151292f662a4ceef78e2b090e16cadfcdbbe950e2d435e09cedf63003739ea4733364c91bbfb59b8a087c945cbf026c73091ec32f8e924af308f464b60389b07b9db20f6f60ee9162b4d6ccaead7568b8f02127b3e503aada24ccab2f5e03f920ea835a019d25b46c96748611744403abbbde9ddaa4e375b59dbe8ad13fc50219ffff03d87bf6b41a42e038795d8837aab56f09beacb3841f2eed8f6c8c481988150ccf0363bed2bd982928b5a4373ce913ccf02eb9966b104ae2cfb21183af3e45ac6db50394180909312145c4817c380e9dc9baf85e6297cb430e5028261e9aec46fef690034dca1048a7b6d173714f97cd88e94113fbc538d0057147007de1ca09c61754c20334a9b6a8f95adea41d5ba3d91722d5e9f6d0881b7dcac67cb91b03b5edfa2c65033fa983bde683eab1ad71007f872f79845026af457169903765fc38dccafa3ab603ccc6546e963a943e8acd896c0f43a8c69c7552a9a74c0eb4b7ca9fe821c879eb03d3126bfcf9735b54bd7577eedf005a37b96bd9921ea491eb7744a0c269ed7d0e0397e3c97d113975a9a0dbc2389bfece00592168385d6e53ba2d9a49f7c6c78983031c7a15414baa8ebfd94550e21eecefc2b538ee8f3fe32444626a279bd62d354a03b563c9c12c31a519a6e112346080f3262d038836f304baa1e116a7b73e63da3b03947eb0debf3130df6c0ac5e28ffdd88302b09e012a188119c194d586ffe368cc0392ee4bd359f9321d2988f15ddfe6a439a5a6985cf33744e5fc2835ceb943444003892de289d8cba73fa7fec31c30eebf530fe3967ed993e0cc233b1e13a84ec12d039eef598dc199ac898171486a8c142e6c5e7188913926ed4fbb8d832f9ba83e51030ddbb973df7df64fcdac7a20800e5a25406c308db4bede53df2f3953d0a77cc4034021f2e8bc45bf429185bfbab1455da3051e6f2f6f00f191bb2795e77ebc4dd803b9d4dd96cbdc3e37cc118d5fed533eee4b43043fcc04c90075ea977e83f7e75c036927601cfac599f0642c53aa98110f1e708acb61931fa0c492153aa4e859ef5d030ac0dd0f7fdf04083ff77f178cc1710132d6f95c03abfcec65b104fe0e7c222c05581e03a5d37bc25d26962b3d78b98e94d4731665ec15d47692e73c2488d7771007011bffffffffffffffff03ef80a6a023c258015a5bc958ed3c86bd5eb756177e5ed66429e1da0a2c6afb560317d95ffedeea10218c22b8154a1ebe0cfba8445f696ca3e1a73b28c47baa5ab305581e0373a8b83b10d21ef5c80e34e95450031e325861b0f8b80d036514ed6cb00c1046bf6b99f1e60805581e03d6e4b8f1b651b4ac3b3ca5bff800fa3347a0494ec6175cdd6380c254d0040403e1d462f505ecdecdb92b10f6a8fe6eaabaa2b04dd0c64997aad33a8aa5c6b4fc05581d022b714e95aaee71b5120aeab3939935cb1c8e1511cc159008a15c26470c084803339560950159c404592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032039c7ef9ddf17b5c1769df656cc0a65c33bb115c5ed19a78575f3a9b532ff962510058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563048037554e96af5dfe500582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0501e0d32da33293ff102659161294d49080058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582056d20a73805a163e5c493745fd760b5a821459b34f91e614ccddc4ef524053f5005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84f1b6966ddfd431fe9c2baba05b2eb0802184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5db70000000000000facadf3eab9be4500000000000000c3767ed376a6ce0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54be3cd04f1aa40d8a4c157c378c6d3bc379e6aae20218480219b44505581d02f7b3c430be47d6f8bc791d563160f89d48440811d70eb8c7c461dd8c0701192c1d0219500005581e0397dcde96c43fd325ce18e938f8359db94a312ba85c066973466fd928300c01471d4406595199b9033235aefb650702718a5bf184f2f8b140782e14ef4371fb5d413713c01e91f93705581e030fec09edd67868c3fea5d92907e3960631324b3babbd062e272d8c0870040703b7016c110ee47a7e0223345f246ccc8c52c17cfe29a2530fa2302ff362c3454505581e03919e7c0b225d640ac52a8c80821ee7feb25829daf3512274a68a298bf004020219f4df03e8c2d73f1d1f391f0878e5427b960f216021bccd42b2df001d81025e7240a002035a5a80417d7798708635986751f781391203371e226e8420798abeb9fd333d3c032eb9d25027592a9e47d13a966c4685b606a242d58fff9ea7ae56b39438db9311033377e1145d85cc01a13f2cbf9aa330b376c37deb4bd7b020927ed0d4edb9578d0354d6171d323b4905238b5251c389eae240a68d298e8e2200e09cf69cdf4fec1d03c49a135eef6f66e25dc0307720f90318cd4784ebf1650427778b80d4e643bbb903dfece2fab13627cca2e10748f73bd458c43a79a102c9d7851527754c7ffc8bcb03c8ee3f0f3246285bbdb3e5a82a3e779434a825a4945b65376603db72519e70fb036cde063a8d431609f199f666d9a80cdf13e9b75bfc1e93e761aa7aa53c6dc27e031c5a200fb2d85fae7ec3cd7f13e8782a730c8ca5a4fc6e5ed0a4946e5b47aa7a03afa92ad86667145c8c54a29e40d79a64fbd4e3fce138b5087a304fea1a17a73b0219ffff03257d56185f7132d3b53ecc6b6e6401f6e89e82c42bab1b459e328458f201dd9c03981426cd24d98d08dbc8eea33e1e5ad2f674fce7ae04805171442cee4ffe7ce303685b0260d0ebb6c59381f4f8e70de9d2ca894f3a4b7ebab8bacae358d376d2e303a12625b8e1584a9084110af43207d80ff25aff2a25d3022c9cb5367126f53311035623d8ff157aff087c1a0132e303b86f2e731e33b105283f472dac45708b69eb037c293082be17233f0845905af1cbe3b83e872463538d6a481c0dd7f3938388e6039a8dd485c62552c4c1ca104aaa795eab8b59a949134d4865bb34daa56b22fab603364fdad416c9e35e1483cf2785071f79d2cbbda06a9696ef1fce93944a89feb003b99f6c3b17602cbdceffb35033112eab872490ca38af166e08603b1305ef8fa603fcbe3dc0b57625ec7b6f5c0ec6d090aaed925d11fb3df7408a6ef4d0451172b30219ffff039691c9168aeb80b2a3c0e0fb6a268ae6ef6952eff922c2df25558d319f4ebe340308dfd7961eb3faad94424e1d7ddf19eded79e4a68148fe5fd483471208e7c68d03eea5dd0bf210d7ae4de7ab53c3414e5eafc7f164eff432aa251ec6d444d0468603af5b38b6c3c0a325c2f13ddb785aed84c0ea6d13610e1740e86e4339f55e10f003541ea622c11d7594012bda4d997f8c4f21d139d49858931f5da75992ac340dcf0346e7f1161b6fbc7bf6513fa7c44d99be95dd1eaa503cf4df2a3ed547433626e903c58d43c5f3a837f911b8b8d7c330b5c8ee2fac5cc69d8ed2f71bedc700244ebe03511806a17f1f24bbaa1526a8ab811c3228399ccbf880a21d88de081540b518cc0219ffff030e08ff24ed62cd43082a37ba57808c66d729ad7f51c09344723ef70f993dd22203908f4f19de717d726fa8082210d0d6b668738d77c5172448b22056c2459539d003cecc35068fde6bca3cb34be29161ac3dfcac8cf6c528d92017792da172e94a7e030d6bd1e0b89ffc54168f8cea45193aa51279799a2ac9ff58917fdda65e71ff3803b2091aba4f213da33a192510c2d17984526962bb7ad1560b8dab9e3cd5eb1a8703ed5d97672d30b1a57c5ab7d7426ae10762d9a301115f959789b5fcea927239c10318042fba9b982936a7dd75cefc77ed6489c95c16265e00872b90edce5c283d090342c99c3ce5a97abb1f6d09b04346f9bc71fb5057dccb854b51a4acb16d94569503df79e6521383083c861e8ed4dbf5a8cd2fcf8fa3abad1867cac0d233391e4d2003b182b313e32df1c9edf131d0c3ad17496d6045679e601ac29d24b8dbace8ce2e033f5263c5c48b739741fa3b8a937ed7b72fc959681ec40ae393c071347bd7774203f6ed693fb86e935f868b70eef8e22f9de2a01f6e39b78d86724ce1e0052151d103be3b30c731a25d63f4389383d726cbd6b16ca0c8d5979fcfe6e0c258d2927d430219ffff038bd0771e814cf6f298959cd9fa0cb2044015e7f82a7313f34224c07d359df46f0219ffff03bc6e01253020c5396825cdfa2a75e78918d6cc8e6ef9bffff5ac66d17ca2e06c03f5e2f37199702f87b377c5d91ee8426a9a7a87b1788e19daf2e631d568e5c729035e5329133ad2bf35b41f01028caa530a7045c7b1d5118486e310c0200f2684a003db14c864effa69085336c53782670d96d9f43f959d0fef9299d5a0321cab873c035cd652292551c595bb5761ce6a11517c71c29dcbfdbff751a0cc1c1138ea0b6f033d496ddd99f000f622e5238875eaba3a65edaa3b1af55c4edcc5ba8400a6102203baeb1780c66a82fad3093a1c7007aa31cdacfd6fa95fb567d7adb33043319c3503e9231557b66838e09b1433bcdc764bc0e50175dc16bd13def865388b6230c5b7033cc68f7326b21b848073204585421857ecf9d8d8eeeb06630ea02285ff4945a003bec167677e03953456a1f72baed22f5cec00eea8694a194208d6743bc7b9df9b030341b9614d686ddc39fedbd4e04048533138bcb3dd364c917d523a9a036f6dcf03d2a64272726702a5e0f49496bffe0e5e0a2ede61ca7682620d16b6b6d7fa66820330419d13482218b417a15f4914e32e44b900dd7d2026ea735d1f44315614a44b03a09bba90296c9d9e37832230a6a719d27e857b6ab23de237c545a5b6010961640385f983c9e05d8b4b700e191dce3825caab00a70ff23d6282a52d1548a15f827d03e6b11f849fa280f3727bb7a0bb2610167fc0499c0b02ca0d09be760865518277037d41345322ff977fcb8a868b4a7fd4e47c8eef3dcc00de57862a2f2d5bc2038e05581e035fcabbf94087d9c59c2ec6f5dd813c9ec84b57fbbd64f1d37af7cc8030040103d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e03b07eacae321195ddcc9a1e350fd2ab79baebbe0dd2bc9df5231d693a9007011bffffffffffffffff05581e0345e20abacbc5de0c5be276f849971063ca703df3238960242847b4c2700c0246027d064ee00003112d9b94594c919166cd8dc00a831ada85598402d2df56d2031372aca4152a7f05581d02d738ec051def812bc856e36c265a520b19a0802125f0c9927430f0c20c1905ab4734954b7dd1b69005581d0235435d4de9a3c916e99d06ca6178e59a10748b47a5eaacd837bde03c0c154704f1974884f4c002184105581e038b405f6c0ca1b3772e26cfee699ffc2379c5d74885d0a0f279a90a52d00401033132de4390d245cc0d21ca894f22b578fe3d3934aeb201fc16ec2e334f43964105581e03c226b38bd5b90811f4907ed39b3ee98a23f9182d156e0d3f4af7f73040040102194d6e031d6f484400e94362f3376a9120722ca756a832c0a8fa44a793e2ea14f4f1fc9403c26db9127d64efade6548e7c958a3833b29efa7ffbf3fa9388f061304b3eecb5037bd2866a5b786873357705b0a4cdbc64e30a7cb2b5410e555c03b22b8c1e76ab0324695877cc520d57fcf3b03d41c7741ddaf6d7d390074a86753c59d35d8a50e60326bb86ef80fbdcf231f65fa6a5802dcee7b6f59cd05fdf435e292d22220cffe2034e031a98c2ec77257e958ba70b2cbae5ab3955153c9208e3538ccf89b02ec49a03465c9158c7072748bda9689cd44e19562833dfccf0f093f73d31f9d5e987771103dd5b8a266a3b4ffe34956e4fd4206f1d46c2823035f95dae973cce96dc28b3de037fc823f42bcec73d6ad2efb26fe21164bef803e64c48559b30f84319587d52f903579f5e160c967844f744058e65d79aad47077efb28d879c549621a0364ba270e03531bf815542a7726c40da08b4d25e9e45a4feac08e9d2971edc9eaba2563bba60219ffff03b9625c4a3600219d499ad7edc7ebad17aa35e4df3b913c273c2ed4f063883dff0354372427c67bc615aa3a7d072b0bb4d901ec8d11b6ad42ee9e043ea27e802a99033be5d1652b7eadc425be652b35aff3fef4d28361d8d46f3b638d2b31d9f5eed503b16717c75de14080f8b7d23395e544ef4cd4688e1ffacac81aa51310edd22dd3036bb10bf47f8a6759c7802335cec5bcf8c0d9514d9736f53bcc069831cd6b720f036c5806ea2395f42d0d7ba3b7bd0355a42d28e17a2f2212d8419550bf3ccd428b038f1a587658a4ebbf78abd2b94df4fd485231ea1635467b722e6647bd972f40ff037ac6499ce95bffe6dbe5f13ac058c36c0485977993bca91bd3be6ddaf1eb7f3e0304d5577968d6a312e6f36a9c0c7342ec44e759aedf21f883b708cbedea34ecce03d23baaf04682130439b2a6852d7c9359d4c89e9a288ef4ef48f3e9133832f80203ef44fb6152b4a5a08a84c385405c6c8f6eac5c20bcd6cdbee80dd260aa81380f03ada67c12ced42eebc0096efa6bc25b06fff5f3bcf3c3171895e9aa1d44c6b08503fdedcaf2a71689996dfb859ac2ba1bb1049b95c48b7633efd4e09555c834385503dc1e81946ad3936c0048a318366ab1df7f49f47a62379133240e4c26da4b1cb20219ffff033bc9a6472af29e7c75e8814a51b6563b1a8b858953c0360c52dde3054756216103fefaa745cb997eea49d073bca199e5bf6707281621a322704395be184095e5d3035d3867128fd0aea600ee3b1bbdea0071bdc3adec72014ce3e6b19dc5885ec429032077b7df4c34e832205f6eb89f1d76e54e441467832d7f025f34d009b0f2f4d10219ffff0391c4f2aa23b1ba64891373de16e7123cf3ede1df638b415ebae1957a52b11f9103f10f052d66b3494627a3c7c31138eba2e8aa2e16ea6ab0048a0ff9621938ce8703b7769a9ce2090649162c6e3fc0c3cbb3946a21b55e46af370955f1f5d795e9560366db8982ac850a59f54c91f3b778f979ab038718ec20676e593ad187ff9ad17303aebf222ed6f2f46cf8b9625aa97120b6be5d7584fc5cf3d81799cbaf39b0457f034de87f82fe0f58e17e97c5437f64e93a2a302566e496b5c0b02a6490a3041d2f038d26ce6030b8316b19b54c04c15aa289c5627a5a13f64e3c3db114c12692eec903ec7b7279193a4c0f57693bbbeaf2227e64116c745169e98c7951c68f50c43164030753b4ee5c7418d8f15c27b7fe873458a4d181fa2e960ec2d74c2faebf1a787e03ec58f0670a77b8e6bdb3cf1b7375375df9423efde076388c940df2bedfb95fc003cb357c9a31088b57904f3906483063c0dd348f79a6226fee1569a3b7eec445af03b7ecfe66392f4b704d8da032e1860b1afd5a556924c964b51ef146602c93c74a03741e36dbb9ec7aa5199a320b5be1761e28c948d5476cfe02b694d56a31445f55035db27f6f7546761a53c449493641834391ddae53fb44ceb9985abfc5b4caa0b1036ff3bb4bf7b8856434c97121b9b4370bbe242b7f79b92ece6fe3264177660244038c8d6590694ed3f9ae223f18408a8b29a189042f17e13cf6c54fc613fa084bcd03479db4a69806bc43894799504eb8e56889a1bb22c340934b9288068457b5304e03719f80fccafaf6f220b6dca167f8f8b4f52c06b108fff38d68d793e4fd57fc5f030d307d7a674494669dd07ecfc20725098ca16280ee21b77086e4614325f17e0103dbee00a3df1a1311f1a19ea4b5495b4a6cd0e0dc1c431601666cab8a932fe054030d74225192566561baa7a54ae3a5fb85f21dc04c7064e0489f392c4f1bcc18b003e78a06230f33c8a7b5b6af878a2af4ba4eac572a9dcd1cf73f548d44abd582bc03a2f29ddfd9e9cda5a3bf018e591707b767e7bcddce6d33af6dd49385466bb9c903f86a9b0aa33e44c86b8453ac237b60d0cacfd6cd5427c521852c7d1ba24b06a4034025a7dea8509918637690b61748539190970c19ac8619f92cba1b99ea34c00a03663caaaa64f1bf2a7004150a6c4e16f30943d82722c680e304256eee558188530323d456a0b88098465194a49369c73f0199aaf4f6a45f526da72ca615206ae731038325c19f2320c25301b62a31031cb5f1da22df4a99562b54952089ac09da64cc035240265254edaa07c94dc3914424701623461dfaf1a9e75e6569fbbb0d5aef340344b2102ccba9d05e93ae4316419da5411c771f75905f12f4d39d1eb5c8477c9e05581e03a0c4d7b01377bfea792564826a06ccf9c366d351d020e2953ab8bf7e100847071afd498d0000034172a5e12fab7b76d6dcacbc30987f73e93e375e5833d37effb920b48493267f05581e032685999f699c1eaeb0f2118811d86a82b20a4c5599c380308e903b3c200c034681f7e18fb5c80367b945fe4c8e98455770db710ff4502482cb401bc68c10b99772e289e4c311a103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e033bc117aeec49574d79d93d432e27efe8608f44d1ea69b0aec80c4776b007011bffffffffffffffff0305cfed66d309b4a2a33e1b467cb7cde34bbe914544b24c790c7e801ed284dfc405581d020358c1c40840b434c7a0c500e7ff07b21bb29c30edad0a3b60b6a4850c183849992231d7ba5301881005581d0250f6eaba75fd75e9307d664919dc601161ad2c1d3ed60db303eddc9d04010219201005581e03eb28f343d7457092bbfb92eff570fed2d58aef86dc17c7b88ef0b2a0800c02482eaf30607a46e10803949233fc8451f2a693dae8fb3d7e1d0dfa17d7b1fcb18441e795ab59f8bfc56b05581e038c01977f806d04beb01c5a78a7b70f769031ac7a7a01a2b214d7c1c6c0040105581e03c2972821b21417904b1a809f5b001ef81823bfe6b180918340d6f2eea00c054502540be400036080077715ba53c5fa41d967edc4d7e0a7a92f25c8a817e540661c546b0a8a4a021957fd031bd76f4724840deb63669947357c5e5250874f19012eb2337d6875d9b2c6625703ef6929f0bc3b1c1966b3bac05512547ff4c49a180c7a03cf8ad9fda282d4d11803340f4e326ca586221350062b7ae59842dcf55854db671997398cbeadad80fb890349ca9680d9bddbd02377dddaa3f7eb189e30622479938c995a0ca2b82d6ac98a036273ad7bd26db3c8d7239553509760e9c8ae5d63a1ed5c30cc666f10d7226e2403bf0c96339aa8dd48fd628abb2310bd55463daaed539bdd1f4cc49ec3eb18cf7e0369e075668080a0bd94fb85d44b4cfe76f259df6e5fd99a11b21916c8de7136c103b9a81ef8bd77c53ae74301cf9cfc169010d9a1b387b2fdf09736cd9d00c5772103a94570600af6fdd9b122b9b4e433407929c840d2007fafba162d92ba50328e1603720d87c8555937dd4ad9d4b1cf47bc1b7d74c9acc5a6b96d4aa3c6bb9073ea9803f9038e2bf4d99c0e1c4638b98c07a78ce908ffa63c620ef05db82cb0123eb95803c2429a84b078a442b7e603e479b3adab38ad577d18465feeef2e9697d1345f0e0219ffff03aa58d0d16da0f6477ccd1734b56d21ca4a7c6f26f517392c63161b9e719be7d103e378c00cbcf5e264e150e4ebaa3a3bdbc2c3d71aa81f27fc8c627a8de98870e9032bd673909b48528ccee34e4264c8aace43adda171a03734afe95cd030ea08c9003a2711601057786a5ebce59b94133e33ba35ada3d3bb57b666958793186d10a72031d18239e0a6f695ffe5633bfa673aaa692fce16f915115a00dec5cdf2e7fe70303b1c42341ba647cbf304ad3ee234576ab9ab3d7b53f4906da667a2c03024c20b1035241ff9fd330335f7b981bb0bf0b7c35f6e02b2bcc0c7608d6e6475befe22cfd03026590d63b34af674bf4b9e34fd8b74e8598840c89fc5bf9ce0d5cc7bd8650520219ffff03a40ed9068090afdc84bbcd61f6d6bb5225375dd7233455f75d4bf16bdb4dc7d70328a5ac00354eebe573e8e3b9937ca5b8e10a5172de01a9c9d6091224cadaba9503e62e22c7f727bfba496938856616adb983e80dfe9592188dbf968aceee2aec8603d56e5284547c3159aa76726684341f074edb106ad7f7050aa4d256d147d8e31b033c50c37c9111cece1717f7020f1c3c037f56c6ba09d1a8aa1aff0ab7edeaf6e10320cbd84154b74a519bcb35b105225f0d0dfa443ebc2b381dd52a4a1849f238e103c00cba888d209115859a3f2e784d5325f91f269b06b2889266acd125a250e7f4034cdb053ef2f31b041d8b083d63344906febb9c8dfc40fc0c596653ae7be3b65203e176de1122df6a8a8f9e9547c64fe6caf7b00866a1459f61deb8947010a5dfbe033cf65b30d21771dd7cdcfccd91095d26e652754e6985213d00b9bf87f48ba0d1031053b149f452cc7e93ad662553d957efbd51aae49e1341ef03eb2ec8f049e93803fbcdf71e7c560f75341082675e26e545c934182f5b732a73b6eec5e40bed78a0037a15ed737c563f3c8cb7e9609cf8ba21341a0d897521fb70d2dd92ab386abc490319b1043f25809419cc015ec7c07a4a460b80589bd4c9533f9369aa62d31c5dd105581e039200fffec76e539b8694fe3422e1a78c4810d5d7328694c4af4fb9da6004030392e2fc8d18fc59a7255126c750aca1e79b0bae58d8faf93f00a316ea08b37a5805581e03ed340dd86cd70c794e09dac5b6acabbaa894a755ec5b1056a18f74af10040105581d02991fa8fdd99e4975be915582ebf83a84bdfc5be2797fd426ebd72eec0c024645732e479a0004593848608060405234801561001057600080fd5b50600436106101985760003560e01c8063712fc00b116100e3578063b314d4141161008c578063c430880511610066578063c4308805146103d1578063c6171134146103e4578063e4aecb54146103f757600080fd5b8063b314d4141461035b578063bbd652c71461036e578063c3c5a5471461039657600080fd5b8063a14584c1116100bd578063a14584c114610314578063a2f367ab14610327578063a6529eb51461033a57600080fd5b8063712fc00b146102db5780637d3e3dbe146102ee578063a0af29031461030157600080fd5b80633f1cc5fa116101455780635745ae281161011f5780635745ae28146102855780635eae3173146102a55780636af0c315146102c857600080fd5b80633f1cc5fa1461024c5780634420e4861461025f57806355940e511461027257600080fd5b80632ec2c246116101765780632ec2c246146101ee57806334a0dc10146102015780633c5030bb1461021457600080fd5b8063063298b61461019d5780631e06b4b4146101b257806322fa2762146101c5575b600080fd5b6101b06101ab366004613484565b61040a565b005b6101b06101c03660046134eb565b610854565b6101d86101d3366004613524565b610b57565b6040516101e59190613541565b60405180910390f35b6101b06101fc366004613524565b610bec565b6101b061020f366004613585565b610eaa565b610227610222366004613524565b611168565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e5565b61022761025a3660046135ba565b61121b565b6101b061026d366004613524565b6112bc565b6102276102803660046135ba565b6114b7565b610298610293366004613524565b6114e6565b6040516101e591906135e6565b6102b86102b33660046134eb565b611517565b60405190151581526020016101e5565b6102b86102d63660046135ba565b6115be565b6101b06102e9366004613634565b61164d565b6101b06102fc3660046134eb565b6119cd565b6101b061030f3660046134eb565b611da3565b6101b0610322366004613484565b612081565b6101b0610335366004613672565b61244f565b61034d6103483660046135ba565b6127b6565b6040519081526020016101e5565b6101b06103693660046134eb565b612845565b61034d61037c366004613524565b73ffffffffffffffffffffffffffffffffffffffff163f90565b6102b86103a4366004613524565b73ffffffffffffffffffffffffffffffffffffffff90811660009081526002602052604090205416151590565b6102986103df366004613524565b612d63565b6102b86103f23660046134eb565b612df1565b6102b86104053660046134eb565b612f4c565b833373ffffffffffffffffffffffffffffffffffffffff821614610575578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104ad575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104aa918101906136b0565b60015b610524573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b606091505b50805160000361051c576040517fb2c1414000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b3373ffffffffffffffffffffffffffffffffffffffff821614610573576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b73ffffffffffffffffffffffffffffffffffffffff80861660009081526002602052604090205416806105f1576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871660048201526024015b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461066e576040517f04af4d6900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105e8565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260016020526040902084846107225760005b8181101561071c5760008888838181106106b8576106b86136cd565b90506020020135905060006106d68286612fdb90919063ffffffff16565b905080610712576040517f478730a8000000000000000000000000000000000000000000000000000000008152600481018390526024016105e8565b505060010161069c565b506107f7565b60005b818110156107f5576000888883818110610741576107416136cd565b9050602002013590507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081036107a3576040517ff575ead800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006107af8583612fe7565b9050806107eb576040517f186bea00000000000000000000000000000000000000000000000000000000008152600481018390526024016105e8565b5050600101610725565b505b8415158873ffffffffffffffffffffffffffffffffffffffff167f34e9f70c5a16a4df2a396cf0cbc4735eb3c7fb6ae40aaa0b34be7720121d1b9689896040516108429291906136fc565b60405180910390a35050505050505050565b813373ffffffffffffffffffffffffffffffffffffffff821614610976578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156108f7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526108f4918101906136b0565b60015b610925573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b3373ffffffffffffffffffffffffffffffffffffffff821614610974576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109db576040517f1acab6b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600260205260409020541680610a52576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105e8565b8373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610acf576040517f04af4d6900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105e8565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600260205260409020541680610b46576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105e8565b610b508585612ff3565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff80821660008181526002602052604090205460609216908114610bbe5773ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260409020610bb79061318d565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260409020610bb79061318d565b803373ffffffffffffffffffffffffffffffffffffffff821614610d0e578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610c8f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610c8c918101906136b0565b60015b610cbd573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b3373ffffffffffffffffffffffffffffffffffffffff821614610d0c576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600260205260409020541680610d85576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024016105e8565b8273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e305773ffffffffffffffffffffffffffffffffffffffff81166000908152600360205260409020610de7908461319a565b5060405160009073ffffffffffffffffffffffffffffffffffffffff80841691908616907e38c54977604f1a5c0a3604cbbecd0153c81e3131799ead95755e8bb5d5b9e8908490a45b73ffffffffffffffffffffffffffffffffffffffff831660008181526002602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055519091907f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb59908390a3505050565b813373ffffffffffffffffffffffffffffffffffffffff821614610fcc578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610f4d575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610f4a918101906136b0565b60015b610f7b573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b3373ffffffffffffffffffffffffffffffffffffffff821614610fca576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600260205260409020541680611043576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105e8565b8373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036110a8576040517f237e6c2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604090206110d7908561319a565b5073ffffffffffffffffffffffffffffffffffffffff80851660008181526002602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055519092841691907e38c54977604f1a5c0a3604cbbecd0153c81e3131799ead95755e8bb5d5b9e8908490a48215611162576111628482612ff3565b50505050565b73ffffffffffffffffffffffffffffffffffffffff80821660009081526002602052604090205416806111df576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105e8565b8173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611216575060005b919050565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600260205260408120549092169081146112835773ffffffffffffffffffffffffffffffffffffffff8116600090815260208190526040902061127b90846131bc565b9150506112b6565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090206112b290846131bc565b9150505b92915050565b803373ffffffffffffffffffffffffffffffffffffffff8216146113de578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561135f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261135c918101906136b0565b60015b61138d573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b3373ffffffffffffffffffffffffffffffffffffffff8216146113dc576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b73ffffffffffffffffffffffffffffffffffffffff828116600090815260026020526040902054161561143d576040517f3a81d6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660008181526002602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551600192917f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb5991a35050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260408120610bb790836131bc565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602052604090206060906112b69061318d565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526002602052604081205490928085163f9291169081146115865773ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040902061157d90836131c8565b925050506112b6565b73ffffffffffffffffffffffffffffffffffffffff851660009081526001602052604090206115b590836131c8565b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff80831660008181526002602052604081205490921690811461161e5773ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040902061127b90846131c8565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604090206112b290846131c8565b823373ffffffffffffffffffffffffffffffffffffffff82161461176f578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156116f0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526116ed918101906136b0565b60015b61171e573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b3373ffffffffffffffffffffffffffffffffffffffff82161461176d576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47083036117c8576040517ff575ead800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808516600090815260026020526040902054168061183f576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201526024016105e8565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146118bc576040517f04af4d6900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105e8565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600160205260409020836119345760006118f28287612fdb565b90508061192e576040517f478730a8000000000000000000000000000000000000000000000000000000008152600481018790526024016105e8565b5061197e565b60006119408287612fe7565b90508061197c576040517f186bea00000000000000000000000000000000000000000000000000000000008152600481018790526024016105e8565b505b831515858773ffffffffffffffffffffffffffffffffffffffff167fb8036058bafea884aabc446ca15619fd86f5464a4ad96f64164ad6f77444354d60405160405180910390a4505050505050565b813373ffffffffffffffffffffffffffffffffffffffff821614611aef578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611a70575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611a6d918101906136b0565b60015b611a9e573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b3373ffffffffffffffffffffffffffffffffffffffff821614611aed576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b73ffffffffffffffffffffffffffffffffffffffff808416600090815260026020526040902054168015611b4f576040517f3a81d6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611bb4576040517f347f118f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600260205260409020541680611c2b576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105e8565b8373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611ca8576040517f768e549c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105e8565b73ffffffffffffffffffffffffffffffffffffffff858116600090815260026020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001694891694851790559282526003905220611d0f90866131e0565b5060405160019073ffffffffffffffffffffffffffffffffffffffff8716907f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb5990600090a360405160019073ffffffffffffffffffffffffffffffffffffffff80871691908816907e38c54977604f1a5c0a3604cbbecd0153c81e3131799ead95755e8bb5d5b9e890600090a45050505050565b813373ffffffffffffffffffffffffffffffffffffffff821614611ec5578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611e46575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611e43918101906136b0565b60015b611e74573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b3373ffffffffffffffffffffffffffffffffffffffff821614611ec3576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f2a576040517f1acab6b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600090815260026020526040902054168015611f8a576040517f3a81d6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600260205260409020541680612001576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105e8565b73ffffffffffffffffffffffffffffffffffffffff851660008181526002602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551600192917f86d03f430c7616021073d7a71766f632f1ce19f289aa989534d9f4732253eb5991a3610b508585612ff3565b833373ffffffffffffffffffffffffffffffffffffffff8216146121a3578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612124575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612121918101906136b0565b60015b612152573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b3373ffffffffffffffffffffffffffffffffffffffff8216146121a1576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b73ffffffffffffffffffffffffffffffffffffffff808616600090815260026020526040902054168061221a576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871660048201526024016105e8565b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612297576040517f04af4d6900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105e8565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260208190526040902084846123655760005b8181101561235f5760008888838181106122e1576122e16136cd565b90506020020160208101906122f69190613524565b90506000612304858361319a565b905080612355576040517f45525c0e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105e8565b50506001016122c5565b50612404565b60005b81811015612402576000888883818110612384576123846136cd565b90506020020160208101906123999190613524565b905060006123a785836131e0565b9050806123f8576040517f0bb4423400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024016105e8565b5050600101612368565b505b8415158873ffffffffffffffffffffffffffffffffffffffff167f02b85afdacb82d5512c6f05566b3018677ffcbd7e5f75e498bc64081131cbd6c898960405161084292919061374e565b823373ffffffffffffffffffffffffffffffffffffffff821614612571578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156124f2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526124ef918101906136b0565b60015b612520573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b3373ffffffffffffffffffffffffffffffffffffffff82161461256f576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b73ffffffffffffffffffffffffffffffffffffffff80851660009081526002602052604090205416806125e8576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201526024016105e8565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612665576040517f04af4d6900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821660048201526024016105e8565b73ffffffffffffffffffffffffffffffffffffffff85166000908152602081905260409020836126f257600061269b828761319a565b9050806126ec576040517f45525c0e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871660048201526024016105e8565b50612751565b60006126fe82876131e0565b90508061274f576040517f0bb4423400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff871660048201526024016105e8565b505b8315158573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f2738289d9deecdc30eb8ffc42876633caecca1ffa166e4efa89f408e17373a1a60405160405180910390a4505050505050565b73ffffffffffffffffffffffffffffffffffffffff8083166000818152600260205260408120549092169081146128165773ffffffffffffffffffffffffffffffffffffffff8116600090815260016020526040902061127b90846131bc565b73ffffffffffffffffffffffffffffffffffffffff841660009081526001602052604090206112b290846131bc565b813373ffffffffffffffffffffffffffffffffffffffff821614612967578073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156128e8575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526128e5918101906136b0565b60015b612916573d8080156104db576040519150601f19603f3d011682016040523d82523d6000602084013e6104e0565b3373ffffffffffffffffffffffffffffffffffffffff821614612965576040517ffcf5eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036129cc576040517f347f118f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216612a19576040517fb05574d300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600260205260409020541680612a90576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105e8565b8273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612b0d576040517f73a4164900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024016105e8565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600260205260409020541680612b84576040517fbfc6c33700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105e8565b8373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612c01576040517f768e549c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105e8565b8473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612cac5773ffffffffffffffffffffffffffffffffffffffff82166000908152600360205260409020612c63908661319a565b5060405160009073ffffffffffffffffffffffffffffffffffffffff80851691908816907e38c54977604f1a5c0a3604cbbecd0153c81e3131799ead95755e8bb5d5b9e8908490a45b73ffffffffffffffffffffffffffffffffffffffff858116600090815260026020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001694891694851790559282526003905220612d1390866131e0565b5060405160019073ffffffffffffffffffffffffffffffffffffffff80871691908816907e38c54977604f1a5c0a3604cbbecd0153c81e3131799ead95755e8bb5d5b9e890600090a45050505050565b73ffffffffffffffffffffffffffffffffffffffff80821660008181526002602052604090205460609216908114612dc35773ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020610bb79061318d565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020610bb79061318d565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600260205260408120549091168015612f425773ffffffffffffffffffffffffffffffffffffffff81166000908152602081815260408083206001909252909120612e598286613202565b15612ea8576040517fa8cf495d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201526024016105e8565b73ffffffffffffffffffffffffffffffffffffffff85163b15612f3f5773ffffffffffffffffffffffffffffffffffffffff85163f612ee782826131c8565b15612f3d576040517f5f3853a900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87166004820152602481018290526044016105e8565b505b50505b5060019392505050565b73ffffffffffffffffffffffffffffffffffffffff808316600081815260026020526040812054909216908114612fac5773ffffffffffffffffffffffffffffffffffffffff8116600090815260208190526040902061127b9084613202565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090206112b29084613202565b6000610bb78383613231565b6000610bb78383613324565b73ffffffffffffffffffffffffffffffffffffffff811660009081526020818152604080832060019092528220909161302b83613373565b9050600061303883613373565b905060005b828110156130e057600061305186836131bc565b73ffffffffffffffffffffffffffffffffffffffff891660009081526020819052604081209192509061308490836131e0565b905080156130d65760405160019073ffffffffffffffffffffffffffffffffffffffff80851691908c16907f2738289d9deecdc30eb8ffc42876633caecca1ffa166e4efa89f408e17373a1a90600090a45b505060010161303d565b5060005b818110156131845760006130f885836131bc565b73ffffffffffffffffffffffffffffffffffffffff891660009081526001602052604081209192509061312b9083612fe7565b9050801561317a57604051600190839073ffffffffffffffffffffffffffffffffffffffff8c16907fb8036058bafea884aabc446ca15619fd86f5464a4ad96f64164ad6f77444354d90600090a45b50506001016130e4565b50505050505050565b60606000610bb78361337d565b6000610bb78373ffffffffffffffffffffffffffffffffffffffff8416613231565b6000610bb783836133d9565b60008181526001830160205260408120541515610bb7565b6000610bb78373ffffffffffffffffffffffffffffffffffffffff8416613324565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001830160205260408120541515610bb7565b6000818152600183016020526040812054801561331a5760006132556001836137a9565b8554909150600090613269906001906137a9565b90508181146132ce576000866000018281548110613289576132896136cd565b90600052602060002001549050808760000184815481106132ac576132ac6136cd565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806132df576132df6137e3565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506112b6565b60009150506112b6565b600081815260018301602052604081205461336b575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556112b6565b5060006112b6565b60006112b6825490565b6060816000018054806020026020016040519081016040528092919081815260200182805480156133cd57602002820191906000526020600020905b8154815260200190600101908083116133b9575b50505050509050919050565b60008260000182815481106133f0576133f06136cd565b9060005260206000200154905092915050565b73ffffffffffffffffffffffffffffffffffffffff8116811461342557600080fd5b50565b60008083601f84011261343a57600080fd5b50813567ffffffffffffffff81111561345257600080fd5b6020830191508360208260051b850101111561346d57600080fd5b9250929050565b8035801515811461121657600080fd5b6000806000806060858703121561349a57600080fd5b84356134a581613403565b9350602085013567ffffffffffffffff8111156134c157600080fd5b6134cd87828801613428565b90945092506134e0905060408601613474565b905092959194509250565b600080604083850312156134fe57600080fd5b823561350981613403565b9150602083013561351981613403565b809150509250929050565b60006020828403121561353657600080fd5b8135610bb781613403565b6020808252825182820181905260009190848201906040850190845b818110156135795783518352928401929184019160010161355d565b50909695505050505050565b6000806040838503121561359857600080fd5b82356135a381613403565b91506135b160208401613474565b90509250929050565b600080604083850312156135cd57600080fd5b82356135d881613403565b946020939093013593505050565b6020808252825182820181905260009190848201906040850190845b8181101561357957835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101613602565b60008060006060848603121561364957600080fd5b833561365481613403565b92506020840135915061366960408501613474565b90509250925092565b60008060006060848603121561368757600080fd5b833561369281613403565b925060208401356136a281613403565b915061366960408501613474565b6000602082840312156136c257600080fd5b8151610bb781613403565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020815281602082015260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561373557600080fd5b8260051b80856040850137919091016040019392505050565b60208082528181018390526000908460408401835b8681101561379e57823561377681613403565b73ffffffffffffffffffffffffffffffffffffffff1682529183019190830190600101613763565b509695505050505050565b818103818111156112b6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220d2eb4529f96412ccc09b0c0c04d7ff105932b0b691aea14b7aa158442949a08664736f6c63430008110033034a14e4c4642b8bd89f1f7591c1419a4cf93de4ff4ded682a0fdd52df7679893303769a3091bed57a20f87370d85b630f2eaca19e5f8ad06f937d0808a29c7bad3f03ca7309cf2f457935680b9bf1393186c6c1b31a3537298c859fe9958828f19fa003d48a6779aa71ee99a89493e1fbaecbd5e1d3961dcb4fdda7a44652757c8a39b80338da8c83aae8f02eed635813fa3ada29cc658d4b7a01ef6960e37ef6d05f37a00384d7f37410353757f2eebd35cfad44f3b250cf600337e217aa73bffaa19c80fe03bce82d490d094a42f31a8e1504161be5a09feed19f01d43caccfbf146b16383d0360033fb03df4e179b34e2b02c26e6d3af3dfd842fdf178b8f82010daa4ef42f90344f1a8c7063e4f06bf46b8f723055f67597cca06e17174e930b4a6344f6eacb000581f028f000a0515883ef9201073eaf4fdce5d1c1cebfc747a2271633d49584d63425a5000581f0230f6bf4e7b1770e03076d32967c98f0dd1928e3ad829a242a5d09c6c91dd5480adcffae448d9eac604d2cbcd9c14df019c4f1500581f02008460fd6228c4ccd56a5d3da9f9da3588bcce6c99e04acae6f5f7cb40a8427e92037aa7eb52cea48958864c125425ec3603e26651b404128b44d9783c3abe329f980390de2b8de00283ec106c597ac19c27b796830ab8af4dd07191a9d31a159c3c5f00581f02a7257d3f0a194d2afee4dac608e020bedc2e8ef82ebf76353e8dc8da324a549cce510a5ae9fde8dbd41c9d00de3396bdea84a903396adf830fb1e68b834719241ad03ba885144660bf5b0348e1b6599d7cb7c8d30368ffea08a8998c241b0849055a009149412d6294f37f65c2938d35116bcedb610362e97769d8dd1ea1a9c739615985bcc5808d5b9e3a0087e51bdadc8af2b80f9f00581f02846ac47819f96c32993b237859e89a06280cc9c318db5edd141ecf631de4424a0e0219df0e033afba30422840d4fb9d753c9479aead58e92ac784f2cd699d4071c4b9dd20e99030e210223cb9784b8a80203da452ec5b91c65f566733c97763a925f4b43ea5b3b03f2f55f0bc55f224404006ed9db361b89f8c7ae1ec772986dfb5f067f563a40c903a5b1a5642c023e6fad823906ec2cb1d6c343572b66ea0a014116c1f1c7b785260367ad66b392d04afbc445ae15f5da7f954eeb8a3dca02d9a3cd104e1672e1c43b031bea8408c9656a257aa73002f6c10662669ed5a96d4e7888c61fe8010cf10ec303ed2629771b8edbbb3c1ef8f2e2eb722920ac6ede28e9fb00915679c6ce0932c4035cc2364e6047a9134a4ffe2d7e430707602fb258e81ff54d9cac9749075e8e6a03dfb423ef5901bbb8a881e4457ac926bb729851c54bd56a575141a9716f8d774c0396da3fe1e8f1891cc1579a642a7fb89a104b45d7b097ddc0c9134f0eda1ebc09036132b4c6cb25a984276c70f3ae966eaed95a89531a5eb82a65d35e4d6bdcbf81034a3ab0cbe13bf3fbef54312aa6070a0932503aebfc5f37868fb097c9261496fe03105930a206194feeb9142ad27c4db632b8ff95b2ad45881dd5880bd554a78cc603727cd957aed998bf86951684f57c6e739c1c147fdb24f237b4236de41e48dfa80219ffff039fb8a57c43c8d2566d8f83435ca2ed61e1c50afe654db90157bb9d905e3c6246035efb36e119cad6c0250afcacf289f51a2db06449d615a14d7801a2dda45b4a4503fdc93e54e6334b8b97cd5dd26622d4d67cc950e38b4e4f843cd652b6ddd531e803f989310f6d190303b5c71aed2afcc18a5ce9bb3bffaab453e85fb2bcf5b27ec903158f1e71484a24a555ce6f7f53f44e3ec6896ce15406a6f3a6b41fdbe153505103689502baffeed06687d5a6a8ef7614c8f0490e9f04c59df93708038785cc0a7d0367cfe81c5b73bec4bf69a92e4cb97618f9bd99aa7a90e643b9d609a94c9b72ae03ea9e7598a4dbd62abca7d16dc97bf783c1f7822715860cf75837d345462282a10312fe6ba9cba64ff6e26c342b319efba1175c93b7c661652064a0fc8c7835c11e039166bb823871b5425e2204112b283a7a6fbc33c7f6f61509e936eef2774382e203fd31a9fb16ebfafe8cfcc17aa63dd9d8070a6e52322fe893169fc77c05ee2d540219ffff03725b9cf12f64fd67139f3fac056e85bfc76b6a2c31748399891a72e73528764c03910169b88231e865963751841368b5a02ed252eaf71fd93a7e580eee5bd38d860307866b6c3da9a2c12efcb48ecbaa9fdbd2854813c32d8567cecbcb48a233b23e0394eeed8d46c516133da38dadfdd5bed2813cf2695d65b75c6dbdee9d06dbabe2033ae57062469a56e9f6eb141056b4fc8faa98a78cc6f182e67f8b37ad4b8f529d03209719bdc80656debf247118bc9818c521ee12134af207d15bf9f3f1eb2713d1037ea908645240a06206d9c1682b2a6c17958a1011841c713fbd66f30592a0a92503e85c6268ad48f288de13555eb9c7f1fe373a74cd5f21bc27608c23ec5b601a5c03f98a639d394c2bc5c7412d6a1a97600c382db327e71cbd5008a05ebefeee970f03e136c0d6814c58fe7711945b9a20a93e0a5c55cd0ae64c83b2f643e70005c783032acecfdb9e8dccb83cbacff4973c1db5e3e0ff593d443886c6f9a669faf5b762036df0e202be7787382eab447ce563cf76cbd4e07afde7ffea840d6c70e473ee8d03e5e58459ee1344654631538df358f30f83bca7bf78251a1a032ae5392cd8289803cbca74900ae5cdb884b8bff9919ecca98aab196744466b349e33858548ff751203c5bc1746550e622622446813861dffa6560a16afca32ed9a7d3fa0fd9c931256035a6264b7a8f6f68b58f1d10f8abf127bb9cbc3a2e95ae24e25e6388cf26dd51903c851dbc028edc0e88baf318775190c8e557038ffc46b3ab4610e59d69827839c00581f0203f7d34b478f3908bb99f67ce56be707b0be68cbbe19c443aeb4308310c5543cc6cdda760b79bafa08df41ecfa224f810dceb600581f03528f45bd0f6edd9f48f53bb00d96ae9fa5e3fee50c0bafe19661df799d105412b28fb0eb7da77e967e5a8de8be1f8b94b38a8e00581f036bce57f30a58b0259997f09f8398f549cb82d47d77a30d53f91436493900541505401950b830f8f510a4f448eea29e97ad4bd703f44a8a88367a2dbca8c3cacb6d8016005232e0fb9e7ac1d97d872ae2b76536d002198084036335b4f7b6fb553f25b476a8d6e765477f8a9c62c853c01c64e74c157d0ad7580342e1030943ea4b20d3697ea2d6cd4f3d83919c20f244501845c94a7118dafa33034ce7ebdd495afe52ae1d8d06a323cd94888ca4e1f53e1cd1ce9ba1038e60cb8c00581f0261bd267e60f514692fe5ef1e64e29bb51703b2bce39b3ae6e64ef2608e255467bea0215384edde130c7d68e0a8eab7880160fb036f2ee99f44f621d87df0fa7d384852760a212e8fde21c662066a5a2f7b3c4abb0323078c28c5181022e811afd2e7ffe3ed3eeab30d8cff3e3ce62aeeedf0423ee8033d191826853081002d45b21c201d96a1b721ff5449cee4649f8bc4ada78f6f800362abfa8383bd81f6d7b35edc5d7aceaad351fc5648b0ae7faf70468e795e93c203f76685c0e8b7d19ce8b61a75f696d94a40139cac46f1de41244346c8dbdcd4c7033d2799cde2a6aa62053b0a4e2449ae8a6b704180fb4a9af96af8d2944b53e2710219b73f035568f7802941d5f2df9608136592811b498076d671dcb7a65a060a401452683c03cd4f8a6822a2d60b4893d0c6e853d028725ea17b8b49c1aa17fadd65bb825017030ff46f53ee88a811bf2fd1edaceb3b6575c59c215e209e76e4403229094aec0c031754f9a10d838bde54265ae37c7de8d4f293600bf2e93fc51971d9ab9454c6e9033de3e42142af29f27536803903f7834994eb019ab77a6c79e9f1e814a800f19003f49b99418b2903b15cd06008d8a998191fdcf00e56dd6cb00a4736978f524dac031a2017242798d6e631faf0710e16a475777c612309b9a11250e0d09c9c940c0f0357d10270d87356397c9806a44e72c3f72770a107f3613afab67b7aa2136b204403762694cc2626bd03c3ba918f97252733de3d630184803efa0469cf5dc307364b030b9ab24a90835f8b9a4d18aff103547e0f046cf18cf3dc220c7da06d42cc32ac037ca45de1c93cd3c8b62ca9c4cda77d915f7e446b161384c082e4f1d71f02825a039098129cc2b426cd3fef7dd2efc9f4fe8631d182a352a2e28bb1fb2f737b86c1035ed6e84bf939bd3278addee449d296c896fbbbfbb96649949a12ae034be2f05e0219ffff03e3c2c754bf424e237f56ea0f0a1023d772d57cfde9f231925cba8d4f0c0fec0e033c26b7bc2e58e5b09e50124e75c7a3ef45b38a24e36f2f149081b77becc9fe880219ffff0362f2d96c66e7645da0d0f4835ddc50530256c4fd3df5069a09adea933ced1b7f036ed6c6c84fb0e05e3678ff464eb3c6dde2c49d06b701ce17df51881a8773060b030f6aa5b60b4a126decbebdbbfd96eceb98c44bcbd8c59e3629b1adf9e2b24d10034e328749b3f3627959d5f5662c1b1a66b690849d9203df146369f1bdc811456503f5309f30548dfaee843ea9a3dee671699131997f6856cc5d80f54e8bd6aea436032601e4b6112909f66f5fa41259ad7609a39afab51db49d778383a6a6f9d6332203adc91d6801251a37a5f1fd73e1c861ea1f1bba3489ec55bc00a5e7620daa201103794cd534aa0e790bb3fc975ac7df751cd887be6578e334a3029aa7b8f91d141d030a42e21395c495b96f089c167e14c2d94d82d531218433b31ba56778c5c227420302b5b0591ca2af7820f63edc7ca608c0703c3d6047fadf738d8ab6afadb31b630314579d98be18a2f052734dd1b76d7252d55b5bf28e904b7c5acca067a66e33370380aa7312424a433294a065b617861624e3473b8d7baa98776cf0e4ad27ad9c7b038985e304c61e69cd70a9074efb21c0543deba2ca4abd65a17333d0a6458d539a03286ecb3653a2041c9e84c05b3548085a66fb446709b000d88fb7cc8a96c0c83303262e765ddd7a47847e36ca5009b9a89d6de902f18481f0244086c96c0bccd1b203034dddd589d0b99926627d8e694bce9229f97df92d6f48f2b222cf75efc58fcb03b8c6e5549e44c55bb69b31ee18ef73c1919453f8c82baf56c04d843f7802a5870340cf92509608567d6e20bbf080e5b38fbbaa5edfde22fb8acd4a2e2d9885093e03f30a70b99526e37c8d96cc0c6ebf9c99fb1e59a596280c8ebcfc2c29368de5dd03ff3945971c1c60f9b3888e7f8eb35484f9b9816a4702c998895ecc405ed370b50304671562e66115af1741486931107f2be1e14ac2c94a9eb88f94827fd6f6f9a900581f02a019400519ad396ac4009725157b6065f87274e248040efed3e1f3f41aef423dee00581f02fda0ec9157ca6d00972d71f99de1e970e3291f1e0d53a19274aa95c378e5543cc6cdda760b79bafa08df41ecfa224f810dceb600581f022eff23e643486b976b610f9ce15bcab60aa91615751e37bce3def14a70ae547f5f58e14405e7375eb62254f847a01fb335203800581f025c1ea37eb0d3083fac170e0d0a760e2f59f0f8a8609eea6b5969285c9448543cc6cdda760b79bafa08df41ecfa224f810dceb600581f0280369adeb56ab86f0844fa8c9316a6172766edd442bb21218ce389ff85fb543cc6cdda760b79bafa08df41ecfa224f810dceb60383f0bb859338c027ba032eb5674d5fffaf7ac7e55eb1ba16c1cc04decf9ff0fe00581f02b506a7c525de0b6d3112be7e667fbab7c6d2015ff9d783c6f67bfc6bfc11427c3a00581f02f438a1ea53642a54102f636653d2e130f6de5380621289a00b358c7668f4541c3fff5a86fdeb7214f1c6dad411f126373c622003933dc209c351e68a501d8b99d8983e4f92a439c9a702d4cf33641512c64bc99100581f0285e28be2822dfc8f5aacec7b468da8070f4fa62c5c1258e7b7f86f759fc4543cc6cdda760b79bafa08df41ecfa224f810dceb6035bb4e1ecec365ebbc448022f1fae0e222418f34c3c921447dcaa2cdd3fd6945202196fef032987f8aecab638d3d45bec67bbfea73bb29ec634232c71b610de645ffc502500031e6b4ad0163ebdd07accc3875142d116d42219e5f3aaaee050499803ed639051034202de55dd1f7916428e25f64e4206d7cb7d4cead1b320972eaf5c8bbfa132f90219ffff0348d8d49ef02aa13843e4d3292f8ea792dec56416b860c5d8f2d3cf496a25b9a9037bd2c121f9074ffc4a8b4479619a37ca1234c8266da9b7de83fb910cbc67113203cdd586dcfbc9d73b8b11cf745161f5b44dbf314ab9176fce20d496f3e8cfeed4033b6de10696604eead45be08941dadb05d5dbfdb8338e86c6e90988941b68a611038a8fb058c1335f40b23564245698ace1e8c02135fec9d707bed2f71fcdbeb24b03810af9ee7cd741088711e10d1a3e6fee5b1e33a8bea935ad975f1d7b7f9bd604030ee9dbcc35714ad3b071d8e593347e1beb838a629102437459560d8571b542cf03799ea90df28d93b145c2c97dcddd79ac63d675453944788c378e0c142bfe38e10219ffff0318c6ecaee1b4fa40b8a14001f5b4d79c0c0f86bfb363ee9cc0d94aa4113acf5203e7d8b929b4c02e6e8af9d2f687da060aa061ff66e2b8544ac73f9fdc70d807660335f08a68b44da4096b8cfea402db1b39a5fa4371e8bbb9be7bb336c1f9753b150384da8fa5ba2c3a913b628127bdadfc94f3a2bd52e35f38e9fa79089492d0d7f903da86c2bde0788231ce958286178706aacf194d2794c570645c43df2ff8665fe40363e8051e85615b25d87fee51247a1ba5d332a3167903ccb28a7e1eed809e09ce03a195e8c55cfd680517121b0a87e582d503974fadcfacc296f77ee9de3cc8ad07032973cc4c1110be69090e7a78af57649a58cc99fa78b084cc81715cda79a5aba003a46e6136239c7830a515ccb108c5a5095e917cf12f0a10f2f2ea51c6bfd95706037d0fdf1a6f636059b972762886a21489c51d7095b6504c069a5b9498f5c9bb7203a6732ad2d1f936fd53e01abb3402f4e3615f549e61db16ec2540b533554ca87800581f0229d400575b01ed5375bb16c89562ad41d1440f90097cb8575adca72b25a35463dd9be7210d9b9000960d96cb7dff9a431f0bd400581f02bc44f3fe8c51b845609dad7e6316120a523df053d7f81ebb727466007d31546ac3f84cb6a50c0fe8adde0370bcf29c196324c1038e643891929a24126aac4c0568f61f98835778f680307abc3c6ccc98355a74ac0344e9ef8506c2c1a0a90b05690c07fd13d2c5e93ef9dca3f5145d425615435bcf03565fee9730f8a3bd48ecdc9b10335a4a41f33e8a6f866f0e11929532b2e8ff8f00581f02528c4f5b8abd7394c90bd9ce719ada6fbcc1831fdc73019f9900c6f73653543cc6cdda760b79bafa08df41ecfa224f810dceb603d08fdd2b20f4e8f5e3e4c8a6ee0dddb5e61b5d7d62b51c72d38c20488288ce2e038ac16d53ccfb8c910988f5dba850e268aa218a1ca13c6cdbcc0b2ef0d8f9928703e2f619d18ebd3d92541428cf979fa3573e5da9dd82ddb83069915d27d0a593b300581f0237dcb0bb20159c064e4057b8346a8311e87e1abfdacdc0c7198451d7ca3954de6edcc919989d0061d7f6f47a05dea6b8546add00581f02aee62d5042d90aaa0f66cf94af5238a62b9e7931ba2d797a9eb8c2b9ec90543cc6cdda760b79bafa08df41ecfa224f810dceb6035bb2d45d84c2ec0b8f56e5adcc85052f634521bc567e91fc93d81bcf3feb8f080219dfdd03ddd3e91b64f9d503122d68d71940ebd7b9277a1e657ae4f4f1a3415ef7df757603532c7d72a853222e2e5d8e9cb149a5c3c902eb69951baa1a95eb459ce1f469cf03c70c59ac9f396098401a71ce65df27cc3fd6da3c75b5e1446275a852c08de84703c5b44ceb0aa22ead0694cafe923e589cded514ffe2f3fb9b2ff5e80c1309336e030df62355ab6c2f518fe922bcd1d562faca0694dcf0f2b337c17fe55da946b54303ef2a231e517d52b75646f8e2515d1a860cc70d87ea45360c553b9bf8f90012e8037ead8326400695b17dc3bf50f40c30514e574d68df5e6ab51c83eb7e486cf7910219ffff03c1a96e4512edc43d922c6bcdb2fb42863d30e69d9859bca8ffc902bc454d2bd703f1558b63594af378e07b84bcf114bda51ddcbd387517b2c3bb62a5f5b6eb9dd703684e0e5d5f3d130a4350618663f5d9837770bdae53089a0b321ed381d58a4a9d03eeabcb72f31f7b81580900bacacfb8e86a467c4c6a0523be7b5291777fff6f7303569df06047743bd03e5db35c5e2e70deadd684fed5408ba1b1bd75e79a59173203ed4bd2afa751a7844b62b654b8e1dd3e46958cb1b4e92a617a559c1e18d1270c0317bf50508f059a71b53c8a1736fc25ba53f3bd6c795dcdd0c34e4570aeb6b0ac036cd3f30f5d7edf727ff702f9648701507c9df37b193a59d8b3fc5e72ad9953b2037132c73e62c81a3267a3c1adee6ec045d42ae70778fc5ba2368be4fd1f6115b2037b1771c6fb9adb86e35cff6ef28f9f68d779bfeef6d4a7c908d1090775a6e4bd031d671cc2c769bc6c46444d8636a6b7e3044b35de1af2cf56ae4b6e042c0df3db0369009a0739b0763d747d5841fefa8ddbb71a51697d631496084a61c08b00d460033f26920f1cb720ed440cbfd6d4b33626ed1721baf81e0106c8c586c99cb4634c03744d622279ebb787c9f6ac75c4e810ce36e04d689ad753c297bed7a812f010ba0219ffff031cb75ae72ac86c8b80837c129b89e0cbffe78b57d59e2e822cf9ddc7cf506c8203e726efb24f2ee1a1173b8f6d5e0ffdf5f1970893afeb571925ebd7a0b16611a803f739417da23a1bd276dd92b9c76f81338be2bf8073d187072e446c7dbefacca1039ca00a21b1ffaf0f8e2fc4c7819155108a47de4586309a68d8b8bae9609a67a203d5881a645447a09720c295e6db62d2b2ef8ae8d715015fcaa5e47e5b9258282a03083b567c3d26242dbc2800523fa701eeebc8c78fe344678c3839f98c27ff61b70324f1e56e64358e43089e856c72c4a8c43d117836030be652678993ef43998bff03a8134f1965fba96f85e29114d238da80b0738d9e9010d0606ee7b3db236b879e031fdaf0e5a6c48422bfee0debbaaa18448d97062ddb0191e4e1d5430824b59985037ca006e65c122ecf9f0205e4e6352325b379d6ff418631c0c80354a2cf8b0a1b0311e1f2ef6f7b6299f2fae325276a176aab0828728c62fcec66c9d3a6e6ba1be000581f029cef4114c897fa8131bfa64428eb6b5557c420274a61d8c502347d575dd8543cc6cdda760b79bafa08df41ecfa224f810dceb600581f023de4ea861c2092219f2d422a4f1fc76c9b3cb4ddea3186958b6c2ccdb7ec4f0111abe46ff893f3b2fdf1f759a8a800581f02124536fb0fd864903ac27bd7234d0a1733ee9c23f648b6d10a8fc926fcec4210a700581f022ec57e1cafc6b2f60091c40d252deb5274e38d69dc0eeac526a73bd64f6b54e7baa18dcf9740438781be2c9b6be5d7ee74bf2c037fef8fbf116b4fae910debdf5e7b75adbb03bc0e8b0851ecd312d16b2c698c79033ee68a124fe3cf6e347149a1a6b13bc83200bcbf8769c8ea27ca7837ff4ddf0100581f025fc7b1346a8a1741b2d7d97fd450e90fec2e473543be80bd5bd9d585b462545d15bdca40b6c50784d862ab903be736d09dff3000581f02c8e2c85b84227698fc9693d36e80c3bb5829f9fe438c2b228f813094506054fda1e8b9df70feb192da467f1ba7c2b1692017130378ae1f2852ad98b3259f3a4297d242e8a59dd3a61f972def90e653d6423fc16600581f02231521e091feacfa104a82308d0265ee7f5fee9cbcd1633e6d2ec5427bb3543cc6cdda760b79bafa08df41ecfa224f810dceb60363b36515b8bcf5f7153d5aec063b381f733bbc56c29ad1c58b2c4ee93fba6c3d03c3938b1d246dc75b85de2afdbd8a7d8bb40e0fb075b9958f9e112013ea587d43031b49d26fe076bde3619fc36858aeebf7709fd36ad63584ccb7a7d960bdaa59e803714c2b7e23a2a6b40a95b0277e18985a3ed96f92790ac253e2509e3e040d16f600581f02b26ec6310ea65ef223c466ccb21999ec0e096c97df5ce1f660daf3e6c2c55430be59804e630e2b6243af58fa72bc84afe422b40219fffb033db50b3ba5f14e6df172895ad8ca5c5c3feaf62fa208e0d74dfbedbfa1b8d6f60380ec632b937e1d5d3135e878f0f2eec1e032405126ca67f87579f40fe131d4bf0315415c2f5788632afd112db28faeda49dea85ad0cd23f08edd69bcf0027cccde0337689b4c2121cad55def2d2c83b1c2477fd58aa810409cf30da3e58cf313ee0303f3f2c0ded345af53b62b17bd99a45be626e90c3619e25975e0a30840c8df03000309e80ff843e9d04284f9e193d59febb120e4332bb72a11ca063f693347f8e894030f25f2bd325dff1e3aa95273be73b4368d4b4b8bc4d6e086833b82885093dd0903f3261cfb4b7b699c393289d43c07d954ac864fce83274bbc7b093ca5a74253ac039d7d072f630da77df83ae2390417a140df085be22dab1c0abcc9f9c1de1bdd9e03058f4d40154629d8f34eb8953a5c6c106082228abddf799a3b47303c1474cbf203f12a48211121db10498e60f608b8eb4cbd16c820638e53b689d23b8599b603e1032e73345d9955f7de1d1e9253b24d38661b4d37f9d3159c474e8ba8ab23a5de17031c2e2a305d668a683e2fac5705d0c38776996a9ae301f5ef4b296902afceac7f03d84a56186cccffb99ed9fb5947bc9ecc988c6a56d229e423d63efc187ea76c650219ffff03624d6fa66177ed74270abf8eda7184c3b91ffae341af19045be8ff3aee02059103eb97534b3346819bad714d9a684d889de7a12909247e6feecb0ec1dc82190286037c4c9777f4e917e3e251438e93fb6901d2ac5e1c61d628c91c35b947988ea63303e60f63d155a5e6c4756fb6a975088c202a3085ddc6f7bc78d68b5e5a538d3d1d038879f930942289fc58614919dbf508c0a201d0d1d007dc9a8f6515e9623344db03786267728960df46824dcdc62f778b7e7abf1dc372e1bebcad3bd19aaebb29ae03c07fd2dd86374da6f05a6196fbd9220820e633b274376980b73c18eb084a023d03cf42f4f21464ec44d1eb14c261af4f5e3ca9db961d5eb7dae8e534bf0e14b84e03de0af17f8cdb22e663e9343eea174ad7b9f7d1c4dfa7273997061e556e33355b0219ffff0219ffff05581d02c5ef0876c00a496eb93018c00fd795ac80fc553d3b687f0d8e724d8207011938480219021005581e03260510f6e9c377099cc1d67bb23ca57ab189762c6686757a64e5cb7060040205581e03596ec69e50932923eca7ce7cba1c20b5cfbf2b186b272a927042d72c700c01472e7b8af08a780005581e03c921b9cfe28750a7839b08dced6086f6dae2bb14ae340fc7fd0f6268e00c0d47ba9ab7242e23da033b46a4790def3a5db3e8777e4ee3f76210645828bdae474104964162dd642abf02193d4d03e51cd238fb2410ce9d48b47d45352cb9f58155215533ddb3128677fc5a7e35d0032233de5b29a931d3658d9d5fd3040c7b378a58d8058bb47ba0b0ad4136abcac703156a33dd7dd10447dec2f670e8a45c685dc4d5b334287ec799a489ef3b3d8d2d0315b6785522829b119f31af043a157197ab5ca5fdde2f1f2731398392bf53599e0376fe8c6b33f286d8cf2cf05f3cd8ee98addda26cf68812d9995811656f795c6b03af41bfd089eb4636e0d881feb3921c559936eaf0932d00bc834d09423bd88077039ab81a1ab7fc07cc26387b43633954f97244ad9007737a57e8c0f69f604898b3037eb7eead899d78698a0814e1211f675e8c221e4733d07a5a596c0dc69f42605103f5d901b48e5fa780932a8f1f41aaa68fc9f2a18456843c4675ef0e667458f35403eaaaf48754c8e37081dedf641873999e17240685fb7747b85255ac145afec5e2039868d5781978f1bd3638c7b19540d7df648ceb923db06b156022677bdf94975603a93caa111a4fe072357f380a0ea38e689b4605fa5148ecbf0e71d7b622930075035ecc631bf661243b6935435e1be5f0c9ca7d21b22c0bdab042b88fb525232db303c541c717f14dfd7a36f6aa87be7830ada0db5f5a851cf5150922a51a1d8397460219ffff033d01dd500f225b1f141499eba67a2b9d2a9ebca2fbf67cc4b6e2bc98ca4a3fa9039f44f81080d73cc2b62c41afee999ede852319f161a1f5b8c0bd26b48e3a655703153b9474cc73df3105641245b98d270d214db16b5b7cf34fa3fcfd393ece75d603ab19d0e73602bea99bebdcb34d47b3e4831a852b68d3db87099d5c54543bd8d4030273c745e6ef431fc9be0a3d23f44da5417f074f66450a7d66f96ecd426f334503e8079d7921d02bc0a94d0db891584943911e45d234a01a4b516601b3ab9d13d90219ffff037047fb2349fd428f1184253b50f171234a80aceb2d85b000ac0b4b2715d4dc580339570e39beb50283efad00c9764012e324ee8bddcc51d9558722951bb19e69b5031fdd09b0bc01bd9234ce6a256955cefc9c25aa643dfb22fe79e9ab4f8bfd3a360359cc10fcf9befc06bae3a8383bcca8bba30b9683bf806080a6290699f97e8da20219ffff031457f9ddc1febaf95d31f4532f3104cd3a51173cdd21c17ac3931a5677f2dbda0390d7069ae8d5121198d7d2d788bbf44107d94716ce3d15711acdfa108bfc8c830381c5e1c5fc018a073c7c8a5b0fc5961d1eb2d6f64eba05469c9bedbb6d75686c03e9a3cfbf327a6ae6ac9a29608c27acddb8f6e7476bf419e97b502150928771ef034ccd1127ad7e0798bd417c7730e4a5c1ca390e51c7b1b7533897bf0d8eef98d003ad649bec710f36ce86d972031a83cd550b53dd9bd42d6ce9d59f2ded84579dfd0353510d26d1cbe2b370f3663b51ef31b0b9a0be512fa14d8f99cbc1ade863eea1036c6d91ee84a682735e4e4b4059c0a28fc056194d3292cb622abc9102ed67d9a103cc5e134899d7b9e68b3149e2e1fb3adaec18e4e4a3ee26455c30240360543bab0308e6d2cbc17ca50a73827bd8f31b8aa0ae9ef87a94b8f53cbee5eb7c633f860e03e7cf89b74f0e3d1b833c010e30bc9d1e1a84e38841e0a4e6f5294968b480cf2003202eada7c90d4cf304409758d5c765a3caf46ecf14ffedbabf0afb3f33faa29103560913f660a47823ecd36233f064424b83dab2977624463ae6840aec188810bd03d06cab28fb83a50af63602b7a51220ff277aa603d528904368f53d0b92c8c64b0365d7b9344c0eaff07d825102cf92bf48a38bcd60cb4ef2b185d0f538b5a0901703d935852b9c9a0738f496d26bb7b03f5711935dbadf9bb0a62c5014289f700968031ef8c9876aee613d864f413991af03e8bbf83bd212d9391c3d4c35d872705e4b03e975c35fd1ae9734192fea8856dba1001edc2726ecf730d36bac650acce315b40364dac17de56f4697cc45cf6d0032ddaa8b3b1f643afb71e0f1375a512737adba037314e71ff6b888e850442c8817296f7b766807a434f761ed258ba86e7d4ad1e303cec9f554ea9387127a72b5d246a3354103d467c8a98221b50f185479d2d05cff0326f0602c87f1133d6f1ef4b23c8b290f0c704d606285b088a65bc9b9f3ae0d4503e6d33d87404970475092154ef18ffaed38ec790e1c7884318bad853a56dd79bb038c87cabeae31b9dbba87b78c085ba3ecb3d99ef38e1dab5781464353707a64c803eb5e671593e4ddd3f6d14077f3cf015c91469d506919fcbd260304a9cb9c24b303e446f80aee7d931573535f173c8e23a62b7343c5f54fe524eeeb702c5c56a9c60369aee8a99bcac0e1523e27ef490956af0f05dce03aad00b21624a393fb1de387035e0b2180b85e0b79f57de49ccb978bfb1332a267595a8872a4c6f3a8eea1c6d103b3f13083e18a76be6a3bbe5ef78f43e7d7aa1654d25dc52b9db46c93cba9a60203b26c630f7134b014bfc18201018c5163f5bf1fb5ead2089fee9b6bd694b5bd2705581e035e88cc13b4ff6bed6f8846e6d3060c33864666bb42d109e1070d45c2400c0247012e4f46b0da0003eb309ef66db82b84566437a488ce0af5acd0d4c5a91ca9ab39f7e02d56ca843f01410905581e03a0e06d5f66c803f74c9e57bcfcf9e19dde6e69928d7ed420941e368210040105581e03e66bf521018000e7a2a9d686c22157efaba0d76f3eb92354bebe1e08800c10410a0458be608060405236601057600e6013565b005b600e5b601f601b6021565b6065565b565b600060607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156083573d6000f35b3d6000fdfea2646970667358221220274e2ed99d5cbf3b512cb6a2b443f367609dddc30d75aebd9734fa1abc8583d964736f6c63430008130033035a667de569339d23215950ea1e06acc0437f5c0d1583297425e434ddd425bcc603dae6227eac3b2f412bbc6cbedbb60512f52ad81023043cc40663eb5ca96eff86033af483b0a66944de16d8986223133c0410e74a829e873fe65fd2683ebfe229dd03c81d037b32e895af7ade0c09eaf6cd8d0df3f09832dc33e7b0b918b5014e31ea031a355a65f79a86cd50519fb5cafe7965413e3e040d9b8fe161693f1ac1948e2e03e9afe1cdb3b44c8051f801db46086421503e76ebea2e63dd9e2b915e52e5d45f00581f02a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d814547f17a74942c5b22b340688f099c99a79426447e100581f02985b83e7758e99a5c0f108f91ab103765a84ace8e3814b4cea01dc74958341010219108003d89a992e4289a064ba38841102388b9e4c04bda82dd8ef721c0b7bd46a645668034f3aece5b5003beb2792ed23eb3e31fabba6032400ef8259aa34a63afe0c0c920314e8875dcb7fec7dca1384b5291b26b4e47d81bc0979ad054b0d090e53d4b93b0369e4ce2ed87a088a6ecfb38a2067ff0f3809deef5b7708c46529cc4f27ab081e00582003651722882df8f175237c60d5b6c78deba243dddc4792833346ba9c86b42370410103960bae0250d70b57db7ea982c9c6fb9a0ff006f6e5aef6341a40608af755a6e60352e5de0ce4664cf11cb3588ad4a9c6897bc429b78dfb4175e2b3664effea4dc9005820036e58c0aff7dba9f7af772206e5448af09950a424f6d1c84f59ee01b0596040410103852b9e30f712ebc6d3a8050b6f184f61f578b23239bd33d2f7533269a028f4510357c34cdc4e2391d3539d4137c671c8eabee1cde4008124d940832331476a366400582003c8eea8a7be216834790e6dc0c256c47c883c9f619097e26b5b2ff2124bb9f04101038322f228fb6c127dc4a5e664a6260bce7cf863925408784e0a0cdd88c29792620219fffe0322517cd4f7baf19ab4c049ff11582d404404de287c1cef8384a98dc1b0e7e28103588c0ba58f53d2aff1c329cfbf26529b333e07bc68947c1a633733ed0e3daf8f037014b2a1c753623b028869e9fe91da9a64d31cebfdd2bb625b9b28c23f4d6a7f0370e5914bc0795b197ce06a5abdb965c5c3e6323dd210c1ce5890f3c92a4ec27303b0c9a279a12ee329d25c2a7b63d665418d69fcc421fa042b94b963341885a3280329f2d546fd3b926b865391e668de70141d1a1151ebe78a39b197fd447eb37e06036be000463636f1fc8214c83e4f5164a00d917bc342a2bcca58fbcc4506c0f76703af2c30e1bdfe78cd110d657b3bcf279ac6420443fcbcd8ee8a678e18b8e7f51c032aa12e3e1194bd76a00a43eb333dbfc2426fd6bc9efd11470d128a76ef9a9eb503d9e368326c6a477cf7b03eeb2d4e4958e6c60b520f453267e52e7de40426e59d03914eb328b288b7237c645560ac162bbe7c47542dab2457dfd87702d4b31651100359d054465375b5590169919fcc3b22567cd0458d23f9da96167f96a6bfd47ea003b218515c0b7d84afd54d6e7033506762bcbdf87aaec9a1fecda9c71189928d780219ffff031fe964b8d56678e019d470eca290d72353e40032bafa5a71c5930169f625996c035b692aad5e14513b5f7bffd1ee4e3a19cd5b93885f59e5e1916a019c80df69ae032b59be117839ceb6c24f23a0c1860e6954e4d22d233abdfc30b48f916589b9b603835ce150f6e0538e6bb7e2151afcc0bb801fc092604e3af16810a6519f7e1c30036c9afa2ac36ee80742f2d582a48c0419d7759ff9535fb938c0d3f48b93467263005820031df26bee16921b163a573a6e3a02e644e35ba95f9978864a243b01cf233920410103e8764eefbe0794b98d9185477ed62d0d1f11a44ca7309bde561b84b82cdc31df035b3ae5499213ed8c1b39f3378587afb2529fd90b25d09c8fb4b6b054a3de72b803573c262cc6eff5e941dfab90181515e619f883bb7778ac50d1320ce5a115164600581f02b0da8a2a5ad927992d7981b074d6029b9fb4bf39c09ee3380bae19977396410100581f0283ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff955624631881655a310adcf0d1336658cc977609b720002190410033b12fc2f30705a969547813b08e49682599b5a9a098cb91bf30fb9a8744a92e000582003ce0623f7a489bc34c053abf02e3be0cabaaf2af802d139a42884285870d8a0410100582003a231d4d589bb9fe923e1c8eae671a4b737145b3531da32c5263f4dbdbd49f041010338e895b4e44987e954abe3f45a48fe0c6dcb7275b634aeeb08f7a99aed50298f0320ca923fb99c259f551d40c9c871087fe840e122647ee495a63e31f6c419f5dd0058200344177318e4d0885ff7c6e082e3bce7f20817385e512c9c578913d46de3e2804102005820032516299ccbbdb9f9138cf33fa911148dfcfb417c7308e3e84d7bab37ad8b0041010219f35f0330e2b48cb5880a6ed94c8810e79b09f871050aa1f35636f26ee1457fa87885650365661d00c4bc11845f8c306d99bb024d3ab47d91babf0861b278977a0bb408ef03de4061d0b18fcb340d3e34272e577fd6a5e200ffebde97d9559492eace55de850348f4c2f69e6b786f19ba1c506c8aa5aaca6a8ef46163ff0752f518e7ec49b7b203f53db18e554a5a13d903961f8e951387d5893877a41698cbeef3eeb03dea755103629d3d7f7282ffb58ffdb60cf4a01a78e0006b87aac0f15d9939334baa4d312d03c09801bac55e5c36568f828d4cc0d3691becb6ea2fb968d5bc7194d61924796203b2dbd72edc3358e15f591181bedb69d36a16dab3394ed29c22f072a25d8387f1038970c16774259ed65e4d4aaa14d88b0ec997b9f214d52d4d9f9fd27348749ee3037fef353e268f6a2735f9e16ad9c3bfd3cb99f14d8b979a0c39ce75d0d36c709b0219ffff03833d4a25671d06eb531d17da906e65da11d340023705096c6676eb751351339803549fa8856e96f3429b83f5c75b5778a7ad306553fdd586979950b0b8d5175f750364a537dc2cb2c84e4837adc135d9f986a49e39e3a10df47fa5849e26a74103fd0342e31a9604caedbcea5910b5780fcc098b4f54adfd36d8d26167d11f57874c9803125c79198252e3319091ef1ca4a818b904dd5960a52b7322b773c31e3b0db5ab03778f178e2217166e3b74e3e59eff8834dc2be96c5a08279c8edd3f77716d99a303b3db60e53579856dd4ecd9bfdc470d1e191045063f9c6341f6c85cbe2ebfab8203186df8db7a0f6ed0da1f2f7cde604f257d55b9bde83f469a8df8a335084074e403ac07ba62d870f509f73f7652c9bb58b648d3a8258fc3c12ddfac17fee5599d50032e91df863accc98d6560ba6f812c6b6763da7bb4bdce0b7e440586a8ba56d5e10352858b64bdc39c1d907902886ce7d8d5f488d5306176386580b66a065acec24b0058200315a53425009e0288b512b443be406d921953b8583bc6bb229c6cb54c5ecaf0410103fe18b4ceeaf87380a3376fa2ba8003810c7571f6a3655609ce48b78c651751ef0391d40139d29ff532cdce28a98cde44ae9eae7bb67e097fb3de6a57f57a859da403e18176caca3633d459fd385fb73e3da6fc89f9d0e404699ca95e38589e35586c039810de8197ab525fce3591e75fa0d9cf2964cce57cd50391f9404dbabaca2a70030d9ceece895c8496acc9326a6decfbc3cb8187a0d9620b775ea473144e935aeb005820039679dfa725dabcf4e04264a30d471521283be3e2589c80013d3253d76b9c5041010356a2f83bda2da0973a4fec5c285e42a16b194039597767e09b59d6ad35d2e07403a577fa692d0fc9ded85fec1f944a9fd84f3d36cf0261f377255f348113204adb033ca6f605d8401e23b70fadc2db9336c8752f7085e2fc49dab19d1ed821580b3003ccaf34d99c67643721d05e5188e169d9fcc010568e3978aa504063bda3924b2101410a033cc140297bbccdc8829427c417ab140c58470d659d88d9814419d2a81702781602197d7b03fa4018675c9c6402441771eeb6dfe72ed87085412ba430b29db708b3fc1e57ac0386a35b5b13cdd47e464070be47d34913b99ee98994d21f78ce4ea873a23924d503be666bc7671d78b51efc89ef0cca87063342b6c1f87d19db5052aa8e286a0e8903cda3f741054ec74c1da0166ddaa3dbb8f9806f72f4b764fb135ffc2e489e59d70219ffff03b2d36b0bc660a07744317a1e63cbb012db45ab21234f269a32fb6714b3e6b4bf035b28794ceed3da6035e889b0ee29e77a8cd860301a89597962822631d13e07a90354991b81fa29dd22a3f487440832abe1ee64cf0e0acc2cc6f411acd6b162dd01032f12b6f769d57d13477ae50b56746e613631b6bcb63ad41f2fb10b0cc48b375f039dd8f8a3049a3842e964661501be8e775ee390de002d348359c7e2e045a2f81203221b2a9983be702a7114693799e2f363095a24252163be0f8c9172186c584ecb035ed2ae73f5f0bac3ab9def5185f4d0757490b0c5eeb8979a3eed07f1e14b094b033e946dc9c19b8925580b5b3411a9b9c55d2c3869867ec8b80ebcfed37bd8c57e039bcacf70358ec0831083885bc779fd9f95121ec8c9830669f7cb9be9d36d404500582003e303a00c468a26850095953ad4af1b8e25ebb3afc09fc839e0fe8a877e5e504101035f72a0ee6c7fc7e80eae3f9e6b520f6ec5f9b6f78ede6723435bb87daef9b177035c0538be94ad146093d1866a4b6d5adbcb042b85b83db2f5a5e1a5a5d5b3acaa031cbac2ab0bbf3e8f2c21b91c563f298bcd0af64b5bca31cf93997f49bc95794b0346667a1618a34dea6dd003ff7b20f2fb8122c44d837e88c6f8073bd2bb76486a00582003b7c3f3ddb2a3d4a14b9eaa854cc0b7550c4b66c0db097ca5353a5678a98ea0410100581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54468b89d930ca7974196d7195033600b65801175600581f024e1a344bb386151a0945f6c078f60a18cefe838e4d7f7622075ec624688b410100581f02c171931f028f82abd610d2a0199ad17755b64e14974c44ddb3f2c2b226d9410102183403cd0bbd6ad2257617ed6b8eba0dcbb97bacbce5aaac74e59d2bfaa688aa23ee2103665e06e8e167bdd8e9364fb0c8158ad313b26a5d29f8ef9a05f2525557a7447f03873f7dba6dda9080b52f952af8997b48bcd4ef413f7c68a82cdc7113f0a61621036f728736098a848942ddb16dba27c1174d40fd9d9382e0bdc245b292b72024b90219fbbb0377c3a563c242a6d7e49599994b0513bb6f4202027678586f6efb9ae982c630dc0360fd3c614e6c38e504d97030de29044a1278a8cf53aeb888d5ddcaf8c7137247039c39bfb424f02cec4eed55645811e30c0466e7db511ca65c27f13eeb39d15ae00305eb990d2665b5749e41ad71739b6348ccf38cb8f5c478222b67837287d9aadd0385035756ef3f6b4f8ba8fa87cb1fdb7189e20c7e352e80d103b2f45aadc64c20039e1f7f5f1d4126d46852fa4cf4ae4168e6edc2ce28277a722878ecf8bce5c2b8039b389a2727226fa2ad18910c307ab80ea84ab5694fdaffe3daf8da055af2232f03b75e641f46853ba5fbb1851508daafca2c973c55cb8f5f7433224be47479aad40304f9692e12b38cd4cb100c6604f8bf444e2a38b2f158ae90b586f19cf8cfe88703035cb57f3447b2afb3d94c60591e9edcc19dd4c87c4365a1ba8d571a0f665f1e0219ffff03702eee3c73e0768dcb3fff42e67437e1441f879bea86d1fbe50d82da07150e4503a2a3c53d707cacb762a5ae2ac673b2238efb3a70e4760124f975039753561f9603bc7bf19ced0063a6b4f20861317380a2f587b5012f7f8c5e438e39deb6e7869a033422c4a0f3f3c68cb0a874c99502d0f286ddeb68a61a77544a02af12b59e6c2903bd3008590a0f27d902af3ac3938b01c843db5dee1cc61251c60815eeab6c498703d35046b3617381af09ad957a86ad2f19ddd066d4d72947fa13fcbe6ccfb79bbb03813ae895b47dec5b8bc8685b77183ea9b276d1e0e46811cc5cd12b56344cb7880365e8fc765c9e5312478043b453248a8da377edc74bd3ee42780983c0d9bfd33f03ee1f0e6060e6ca2fa52a04848baad396271b84f8ec6359b8dc6b0f8757cd462703fea1065491cac9f7286c3fc93497e38bd22cbcacbeab655a6cec474b350b8948039da4f6601907bedd415c21158bcfd8e0bb6920b3307d65395ff005dea09f2203034de7c0bf4914115a8c4ac1ceadfe9f639560c76afce540d88a727070aa0431b903ab86a5abac0e19a0b90b28b2cc0f0b3096ece3b7aa09d95ca1c5fbfa17a82a6d03f97c68066554fb2ff6d6e62792cb42b46a3ad8024b565c42971e6c10f274e94203ecd74a6086027cf4fc459ab0e9552bca4417a316d95a54da88e5807988f954ac03aaa96c4850b5a4bd2a3f45471042b59aaa7a4b2ffdda8b72834584e0f139676a0335eeb63fd7448c6e8b2472cb0ec48cd73dbe2050c701528cb1236b22cc9f48bf033e7b097c0237189eab245a76c8b17ecf5efad4e43446adbbcad58146567f988a03dde77fd320087870dbaa28b0233b8e469731449b7b696eefa440b233ef85b30c0058200302d019092194ea15e7da90c2ac03a4124f6fe395c78baf7c2f8bcc08ecba4041010377bc39fb2b4a527b596cd3fb97d740e81384d1cbd8a5fbbf3adc96c5f516063b03b1673d558028766a92a1476d69c52e8a4b38051dd3734ef7fa4f03cafb5f987803738ebce0e70fe8c0de9512668e90d734768a2ec066a9f85991060e63c178f138005820031022b9fd7d7acd83d2a5367a21a3159a91b323e371dbb60aafa0c107327050410103688683b30921e59101ddc6c33ab55e2dd9eeac989720dec73348ab942af218b50329fb2ef6c850e9e0eea2b368b159257af641a6c084d7b488cb4b3aa3d6dc9354031d4ac58ec85817a3e93d3d394168cd2d4321911fb7d9d0f4e7f90f5902cdcbf600581f030a3184717bde4d837adc8cd93dd26eb63cd1d9b3cbb6a5872d568c6bb73054f99cebba649f375f1877a76112b109dc79fa04b800581f031c3ac8f18551e6b75bd5c5057cbd18e75d5bd636051349568b6111acb2a041010219020401410a03fb7238043115f4feba13ee7f05c2f5112e8f9c17837cffd8e0d7bf3d0a0b8a1500582003c0b80ef66c2d9b6c9869a89b6bc09727366d713ee47b709af324bc47b4e6a041010219fbf303ee2cfed33865348835cfa9e70c6485fcc3e7e7eb2712fa704c33592df06206680350370c333a73844ede7f987fe860ebcb2f3f6cd3bc29db0f6f498023604472bc03246d8c230dea009a93c5311e2e2607a049c77294fe8b4982c9b90a4af1a33625038002a62db5e07a0dc4f3468aea44111c0a2d1b4a7183097d38b1b1322525bfe90219ffff036b1366f52029ab1bbabb211cf91728badc04dc13d899e00bc34561f17e6b11a70219ffff05581e03456026977cda5ebc95cea8873e68dc2ab961752f180c853651991c28b00f014902d5f8f8aac4ce9d0018be031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03b5b3727e45b89e070bb3cae7644c78d5e5f5ac2e1266373d6382329cd007011bffffffffffffffff05581e0382ca777736bc03155a40af7fa4657cf850e95185f8cc7d420167adaa70040105581e034c16d34440ca315e7d104dd4bb5fb664f073e105c37ed676e3fdde50300847056ead52cc814802195764037c8f35dc48f61348f098a391df0996bd100a8d5d7f3515791827c0969578047d03b0e85999348edf51c44a9ce8c12f6505fc5cd91857255a0a09de6595d10becc303d456f3e5a0c48c516737b8f3686d67786b3ba3657cd5ae700f146868add30746032edf948acbf619e06a369ef677ba3af6860f54526b19b39481c264e24651b1940311a209ff1dbb6e48fd6e795b4269d0b60114b776181d5843a08022bc0663c0ff034a101ce4ce80403c955db5b51c81fef1215f227b6085b0d93c1d013f524d56d90368156e8302110f8853e8a17bacf01344305e286c5dc136a7d258e974945af7480219ffff038122666ffe383540bf3a592b472ef249df221469a777d1f7bda1c8f2b2b58e5f034520456618111236127c6791899f484b5e37fa4fe10f56b01d7cd0c1ba04a24503e30c7599f822c7135a22161b565f9ef26ac9ea480edc6cb188614a616a97e9eb03b4df74d89af4b200638427bdcdf129d6a1094f7da174819838e9d6673622357603580af46c07af6d60f2547cc8a0283a1d3b8abc419f5a589010052d2df9966e3b035db6e3788073b187f3c033c3b95d66ac02225570ae19304b441dcba326ed8ea903dee7cfca1369faad5fd347a9f37ea2eabb65f1ac5a92d90f496296200c155f82037a795e6f860eb1257d11fd819c0456e31900443aa8ba927ba99996df6f4a60420219ffff0219ffff0219ffff036763932611f6b46660e9ddfaf365646c7cb51564b2b6da424c049f9021a3fc40034c7031a29f763ffb062890844825312898325d24331fa45cdc130ccd6852665103024208f1c40a2aab44a9e47bd23621b498046fc43ef59b4c85046ca460a5a3b003e9ac60d71b36e44f251c0b375b9ef24f1fafe9fdebb1bc2311ca4474b24914f803890434c48a098ea42b84cb947d869ea3a09a91459e68d0f3a30e197b7b4b11bd036fb281b95ba470042effd6bb37c9d7921624d48fca55a831fed5872fc0e5143e030f82c8e2ec2297bbcd80d558cf23722247e9d0a88d18f07bb982c5acf1818d3f039abbe4a9af2a72d33112e027adbb69da27fc9ebf62cb0628c684e7dab1c5825f03473724123d09389dac4bb40104b325a1185b2b64e4a67f1716cb2720655727ac035f5ebe28def6c6333dd68a7b38892644c8d13d89941800276970ec341b9a0c2503b285d6fb07d52bec97779a6c7ac4f3afc09afbcc75cf04ce5a2bf81a13ea7ee9032f1611a73c6c55cfc668b5316c54967fd38bed3156ceb1dc411472511709c26703c95bab77ed8c273a97e87b3a35d34c989d8f500942bdd8a90c35181f727b6eea031eb092570f6385d1865126ab520fee52ce1d1dba2cf1f3c99a66240e8d7970e003b972807b167bf7f8c24385fa23a83f3885faabf8a74b42c47f4e5f4b87616f0705581e031779cb2d284527c16232e88170877303f1369c1c30006c21a8c6cb96e00c044758d55665a8c20003aac331007dd944143838834d845137a97dfa611361c71d0f318ef5c17d61b61505581e03a4eef7289f5328813af333459b837ccf25fe8e587f3fcf4335143a12700c024740d70c8ce9d4e005581e0314dba01b79ae6c72aef8b1ab1056e19502e585e254d7c88b411934d730040103c6f4673628c40dc8aed3813b0ea9cec3012092808350db34ac1a77452cdb11fe05581d02cf06c9a8d1ef7df1ee14a19a76d9ad1c588301a61c73e407e45207d7040305581d0290c5eeca5ee9303eda9407f9a842103b5a3700bc6d521398e9d5d03b040104591aed608060405234801561001057600080fd5b50600436106101a35760003560e01c80639010d07c116100ee578063d547741f11610097578063eea12ab611610071578063eea12ab6146103c7578063fb1bb9de146103da578063fcc9d86814610401578063fdcada5e1461041457600080fd5b8063d547741f1461037a578063d802070e1461038d578063e63ab1e9146103a057600080fd5b8063a217fddf116100c8578063a217fddf1461034b578063b4a5503714610353578063ca15c8731461036757600080fd5b80639010d07c146102df57806391d14854146102f257806395b95c681461033857600080fd5b806336568abe116101505780637dc0d1d01161012a5780637dc0d1d0146102775780638a2ddd03146102c55780638b61391a146102cd57600080fd5b806336568abe14610249578063481d369c1461025c578063595c6a671461026f57600080fd5b8063248a9ca311610181578063248a9ca3146101f25780632eed8795146102235780632f2ff15d1461023657600080fd5b806301ffc9a7146101a85780630415cc15146101d05780631ea7ca89146101e5575b600080fd5b6101bb6101b63660046116f6565b610429565b60405190151581526020015b60405180910390f35b6101e36101de366004611789565b610485565b005b60c9546101bb9060ff1681565b610215610200366004611835565b60009081526065602052604090206001015490565b6040519081526020016101c7565b6101e361023136600461184e565b6106da565b6101e3610244366004611870565b610741565b6101e3610257366004611870565b61076b565b6101e361026a36600461184e565b61081a565b6101e3610881565b60c9546102a09065010000000000900473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101c7565b6101e36108bd565b60c9546101bb90610100900460ff1681565b6102a06102ed3660046118a0565b61091c565b6101bb610300366004611870565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6101e361034636600461184e565b61093b565b610215600081565b60c9546101bb906301000000900460ff1681565b610215610375366004611835565b6109a2565b6101e3610388366004611870565b6109b9565b6101e361039b36600461184e565b6109de565b6102157f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b60c9546101bb9062010000900460ff1681565b6102157f427da25fe773164f88948d3e215c94b6554e2ed5e5f203a821c9f2f6131cf75a81565b6101e361040f36600461184e565b610a45565b60c9546101bb90640100000000900460ff1681565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f00000000000000000000000000000000000000000000000000000000148061047f575061047f82610aac565b92915050565b600054610100900460ff16158080156104a55750600054600160ff909116105b806104bf5750303b1580156104bf575060005460ff166001145b610550576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156105ae57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6105b6610b43565b81516105c490600090610bda565b6105f27f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a8360200151610bda565b6106207f427da25fe773164f88948d3e215c94b6554e2ed5e5f203a821c9f2f6131cf75a8360400151610bda565b606082015160c9805473ffffffffffffffffffffffffffffffffffffffff90921665010000000000027fffffffffffffff0000000000000000000000000000000000000000ffffffffff90921691909117905580156106d657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b80801561070f5761070a7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bfc565b610738565b6107387f427da25fe773164f88948d3e215c94b6554e2ed5e5f203a821c9f2f6131cf75a610bfc565b6106d682610c06565b60008281526065602052604090206001015461075c81610bfc565b6107668383610bda565b505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610810576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610547565b6106d68282610ccd565b80801561084f5761084a7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bfc565b610878565b6108787f427da25fe773164f88948d3e215c94b6554e2ed5e5f203a821c9f2f6131cf75a610bfc565b6106d682610cef565b610889610da9565b6108936001610e41565b61089d6001610ef3565b6108a76001610cef565b6108b16001610faa565b6108bb6001610c06565b565b7f427da25fe773164f88948d3e215c94b6554e2ed5e5f203a821c9f2f6131cf75a6108e781610bfc565b6108f16000610e41565b6108fb6000610ef3565b6109056000610cef565b61090f6000610faa565b6109196000610c06565b50565b60008281526097602052604081206109349083611065565b9392505050565b8080156109705761096b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bfc565b610999565b6109997f427da25fe773164f88948d3e215c94b6554e2ed5e5f203a821c9f2f6131cf75a610bfc565b6106d682610ef3565b600081815260976020526040812061047f90611071565b6000828152606560205260409020600101546109d481610bfc565b6107668383610ccd565b808015610a1357610a0e7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bfc565b610a3c565b610a3c7f427da25fe773164f88948d3e215c94b6554e2ed5e5f203a821c9f2f6131cf75a610bfc565b6106d682610faa565b808015610a7a57610a757f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610bfc565b610aa3565b610aa37f427da25fe773164f88948d3e215c94b6554e2ed5e5f203a821c9f2f6131cf75a610bfc565b6106d682610e41565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061047f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461047f565b600054610100900460ff166108bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610547565b610be4828261107b565b6000828152609760205260409020610766908261116f565b6109198133611191565b60c9805482151564010000000081027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff909216919091179091556040517ffdcada5e00000000000000000000000000000000000000000000000000000000907f8a3a9d8f1181b67c292c06a0fb9284581af58bc4284d19bb07bb153d65a4ee8090610cc29060208082526013908201527f6973416c6c6f6361746545544850617573656400000000000000000000000000604082015260600190565b60405180910390a350565b610cd7828261124b565b60008281526097602052604090206107669082611306565b60c980548215156201000081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179091556040517feea12ab600000000000000000000000000000000000000000000000000000000907f8a3a9d8f1181b67c292c06a0fb9284581af58bc4284d19bb07bb153d65a4ee8090610cc2906020808252601a908201527f6973496e69746961746556616c696461746f7273506175736564000000000000604082015260600190565b3360009081527fbfe93621c6aa2dbf737e9056c9b79e4d30ee4f6b28b18be2cb71aac8a7bf258e602052604090205460ff1680610e06575060c95465010000000000900473ffffffffffffffffffffffffffffffffffffffff1633145b15610e0d57565b6040517f1ba4f8ca000000000000000000000000000000000000000000000000000000008152336004820152602401610547565b60c980548215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090911681179091556040517f1ea7ca8900000000000000000000000000000000000000000000000000000000907f8a3a9d8f1181b67c292c06a0fb9284581af58bc4284d19bb07bb153d65a4ee8090610cc2906020808252600f908201527f69735374616b696e675061757365640000000000000000000000000000000000604082015260600190565b60c9805482151561010081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff909216919091179091556040517f8b61391a00000000000000000000000000000000000000000000000000000000907f8a3a9d8f1181b67c292c06a0fb9284581af58bc4284d19bb07bb153d65a4ee8090610cc2906020808252818101527f6973556e7374616b655265717565737473416e64436c61696d73506175736564604082015260600190565b60c98054821515630100000081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff909216919091179091556040517fb4a5503700000000000000000000000000000000000000000000000000000000907f8a3a9d8f1181b67c292c06a0fb9284581af58bc4284d19bb07bb153d65a4ee8090610cc2906020808252601b908201527f69735375626d69744f7261636c655265636f7264735061757365640000000000604082015260600190565b60006109348383611328565b600061047f825490565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166106d657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556111113390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006109348373ffffffffffffffffffffffffffffffffffffffff8416611352565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166106d6576111d1816113a1565b6111dc8360206113c0565b6040516020016111ed9291906118e6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261054791600401611967565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156106d657600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006109348373ffffffffffffffffffffffffffffffffffffffff8416611603565b600082600001828154811061133f5761133f6119b8565b9060005260206000200154905092915050565b60008181526001830160205260408120546113995750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561047f565b50600061047f565b606061047f73ffffffffffffffffffffffffffffffffffffffff831660145b606060006113cf836002611a16565b6113da906002611a2d565b67ffffffffffffffff8111156113f2576113f2611738565b6040519080825280601f01601f19166020018201604052801561141c576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611453576114536119b8565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106114b6576114b66119b8565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006114f2846002611a16565b6114fd906001611a2d565b90505b600181111561159a577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061153e5761153e6119b8565b1a60f81b828281518110611554576115546119b8565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361159381611a40565b9050611500565b508315610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610547565b600081815260018301602052604081205480156116ec576000611627600183611a75565b855490915060009061163b90600190611a75565b90508181146116a057600086600001828154811061165b5761165b6119b8565b906000526020600020015490508087600001848154811061167e5761167e6119b8565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806116b1576116b1611a88565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061047f565b600091505061047f565b60006020828403121561170857600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461093457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461091957600080fd5b60006080828403121561179b57600080fd5b6040516080810181811067ffffffffffffffff821117156117e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405282356117f381611767565b8152602083013561180381611767565b6020820152604083013561181681611767565b6040820152606083013561182981611767565b60608201529392505050565b60006020828403121561184757600080fd5b5035919050565b60006020828403121561186057600080fd5b8135801515811461093457600080fd5b6000806040838503121561188357600080fd5b82359150602083013561189581611767565b809150509250929050565b600080604083850312156118b357600080fd5b50508035926020909101359150565b60005b838110156118dd5781810151838201526020016118c5565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161191e8160178501602088016118c2565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161195b8160288401602088016118c2565b01602801949350505050565b60208152600082518060208401526119868160408501602087016118c2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761047f5761047f6119e7565b8082018082111561047f5761047f6119e7565b600081611a4f57611a4f6119e7565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b8181038181111561047f5761047f6119e7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220da989aa81c4560e24420b41321f74a240a14809346bbfbfa302453e5566ce64d64736f6c6343000814003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d0250ec4978acdf1a74570adcbd2a07be768d2621243e83269d501eeb610701191aed05581d02f9f2a40757e49091ca00278c14955f12eb26a2a7aa6a315cd51aea660c0746f16c5b9a3dc80219a04403a7be4e37ef1ccfd3b738229c6318606ffd8b4b8100b8c1bd255a7eb8f56380b105581e034a988c841f57a3ea83de8be5360c97da99c04ad7a5f49be14e8629fdd00c0246e6b9d90d65400219721703eb8ef913a9b236ee29411577ba813c5fcab88c547f767ffa4e59e97498d84bca031dd580e2edf8f2002861a4b1ac7c27c352c932d351e5c28f03fd725e7a8948170314d5d6e2886e8f161f03a0b7ddc383fa5237d6e09cd498c87f16655a4e99a7fc030cc7c0e7ba043121f263d15f0747dbfa35a9dc5fc5f05838c91fc7091a99588303695aaf4812337d919b67285491f8d7cb224f5a86a36fafc9e8b6bbfa5fd3814f031a20c4ae33df3eaead44d7a018bf278c42303c98008aa7ea2286cc6b61fc536e03e99354798362b7c8a15e1e1f65e8022b3de69a6595503ade9716646db42de8f103d6e657e88d5a5070432c8d468a5e49d9bb3f203b4685d6a6fed1a8112f743ce403722fee25a25b8fcc14bd1c204d1a9cd7fa50df456979134f7a1700d4e1a2974103895608ec3f3e1aa5762c9bc897cb0d97847b9c7543a622df2ce79c00b3cc4c6203ec10493910996cb99a11b018306ab9596523c20b01d3e3c1a022baf77724b51f0219ffff0346503a466b102d235b1c5fc041ce5073b5ac743378a40b788b84c0504e839e48038a540746c2cf4c4313a6d93ef6b8b82aef217ff67b9de4dc95f370dd42e98bea03d127c51af56dbeb0ac3935e7430577153a7cf1fb550170997118bfac9d27d8fa03f8a19c3b1af995f574b80f4762a38918d91a66869d087fe067bf88e49a00e96103e6d75b17e24b22d5c4d3009025728507a9596d1d53da73cbcc8c2a03869019dc03581ca9793a0a4ca42af64268cb3842b85a1243bfc61e5571fab3f0282ce49d3d03cfd4e08b92024a15ba31d0c6f9fdbb65f6c353b795670d1ead6055ef9acba71e03ced9aabdab50c46d6d43f2757aaba668e6d5b38cfe6299f6e8a4f760aeaedf1803cd624688c790171ee5a60274e0822daf6fd0d82083f61787df9fe496dd4c1c4703f5e9a4f1adc1e1e0b18bfabb60c4db2112909fd7e55ae66585a0c05207c2d890030da5b85aeecb449894f8405d1fdc0b383f54a7bdcb325d063394298d77f639b3038a22aa84ec59f5f22e0cdcdc6553fda512e2225dd0da7902e384bd01948a6819039b9e3d0b3a289369cb100f75e2d745eb84441d94cb24507c80fef702de35579403ccd3724183c77067da449aec70b00c4c8051ef679a5686819024baf142305b2303ed42afc386d472f94eabb59a90988356034b8830f6f8bedf562963e3d73fcf060219ffff038dee310ac383225d02039923eb6aa7f2d78c859ad78052ca1dedd32dac8e244a03a4a1bd2635dbf7e5f9d002448fbd83319048032544ee00637fdc4f7cdefb774b031e5cc927b0bac9b26b3389e89a107a72d6b92efd2ef3a1e004607aa71f981406035392b0ad075381046be4754293a20fbcbc9e271a78f51d2e5862eab39a191370033cb928e1c21818ab101eff63e9f3905e8e8d68192e6598a86a77399e1dc82c4503fb19bbf250c7d3d07fa5fcfcbe55b6d8252bda3e74b8577e00a634512c5ea1e003f5f8dcaf25124a8878fd0e0b1f4b05403a23f94a6a7522aaee4499dd2289488d03385ccf9c925b35c09ab142143c8b94c28941f45256e121215e3e1824dded7b4403a2054617079ab267af12318da2834664ada147ed1647301310fba82d56c9ed4703db4952262c6384db73045ecbee2821ac1a11fb814706ba251eb956e94d034e6503c1e4c4efeb18aca12020896704c05fb0bd778706624a4336ea65d8293147e0fc03db58c7ed102a8f944460b8934648779293cda60f2502e5817fdf8455beb4fa230219ffff0326bc0c5d9b6f5b386bbef931c0cb890f461ea1e94a9e4e7a782c78c03333ceec03ea239c45732573bee0d68b3ff68eabc5de55d9238631ad7bf23782c05cbe092a038b774e8315d36ec38b8d132034809a8ed127a7f3f6d2d7711d720f5d21bafcf00321485eeed50d47c59b171212b000c33d87f96a540544f372a6c11afa10965362031ecdc677e36814823c92dd54962c5d56378e82cd59c59802c98239094f3aaac903c2744b7ce72d5c6639f384c03181a18a3705ffcf7c8ca7241be7b52d1534cffb0345f312457dbb083c11fc21b9b3557e62f239cdb7f92d60019eae31f3964002810219ffff03b1115765aba61e2567e0e3043239912c6ce27c2d63f035d0302e672cfcb5ab3b0376865baf5f40af35fe962618f0b0717b13f6f2c6c2b57ccdf65427e74ff4bac20340a0f9536decfa377f002739fecc506db24a2342a31fba7e3a720baeae3d527b037106d34e4eaa60892b10372139d57889920b0dfb9b785861425ff9fe9e0ecafb035618770f52f2d670f5820cdcf84a49ac62d07f818785d728f4ccbb715c57649c0376ab6390cacc1a8a3e6db38ccc58c2e44a05621c70a74312e35217bb4433062c0378dcab53b8c73bfb4536ab2ad45d21ebc0fec4552d8c909cc4463bda58dd20bb0317eb2b4e6fc14ff8567fb01978050f965681fd5cae27b2d34892a88261e4f31103d3fc8dda0464ff4effc1790f67402aaa6f46d298a425bd7f0bdd7509b052dcb8034ec96db9ad290200d59daaa53ed2f71096e44a9d13792bac385162dfca263c3d03da021d89752c45aad367ebf0c38f412158c1bf851270d6a292c7b3189e62372f03101d2184430f1710efdd2dc74516b0f825c08b523acc4f44ce10b9f81d42add803a3da7c6e743c5c29097d6120170622877b9a895ed1b36e78ff4d7c56f552865603c33527bb63ff9208bbc8b618c26cfe1bfe38313d64a04cb5985dff758e7320ef03b10f99d3b108311d585bd20f8927dc739a41a2687f570b76b5ca60afe03643ec03a25d628491fbdabdd1ebb502cb21df7919d9a0b57fa08ee5fb072fdd2e0126e103ceee344ca434db1c0fc23d78931e23611f1213c725de9f59269d3a05460c57670379cfb3e5a0789dd58ffcdcdd8479f0275ad1386d241f1261a4455e3b6c3884a0039183caaf3b1dadde0e887ef7fef7f4fa7eef5c13f004f669f21bc66f7f9b35a905581e032aad453edc72c9d73acb93ff9289594f50f45d24d448e5df24232c36000c0246e7dcae1da600036b685681dc23956d5a9753c0ed04348fbc47f64e96ec453fd23ee471ddecc14b045902c460806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e8383604051806060016040528060278152602001610268602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e09190610218565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101ac5782516101a5576001600160a01b0385163b6101a55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b6565b6101b683836101be565b949350505050565b8151156101ce5781518083602001fd5b8060405162461bcd60e51b815260040161019c9190610234565b60005b838110156102035781810151838201526020016101eb565b83811115610212576000848401525b50505050565b6000825161022a8184602087016101e8565b9190910192915050565b60208152600082518060208401526102538160408501602087016101e8565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ff8e6f2d761d58b3bd984933269e01a7ff1f70a460b808056daa4cff1ee8ab6964736f6c6343000809003303bb18dc2692b07e35ed1fa36dd3e2fd68cc9049b647163bb89a2ce953ce8c24c7005821039a5e4a9de4f33e71406d9cbe6101f7acea24216c35c33f3c23d431506fb051f04101005820024912ef9c3d2e394bee03f7499d35bab9c6b31f6d18b62860fefb1890e432684101005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563410100582003fc4e067ee63d5ac4ab3b6ec2f269cd8ad359cc977d8a8c90e74117b2e76b204101005820036381c6d605bbc7b9279d27b865e486191e33ad943b6aa7e20cd97983c1fb1041010219080102190a20034bd648fff812e1c7a35efd495831d812711b263f64014ba3c1510b483b2446e4005821039a718556250ab6b7d22134dd883a9490bdeb4db670b229d494000a569e620f5041010300dccf3aa632c612c4b95af8df0b67d54f23dab46f52e7af6fe602bf5fa4c71200582002f2698103b2a3abbfd4f99f529d94fb1f1588c16f43ca618ae54af5271bb801410100582002b490a87928d9b525ed9e964341df3976704476a475576382a15a7be79750bd410800582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d5474ae836d6f949118b4e4d0af79924edd0d6fd16300582002912eae8801e5044f8e2cb6c4de4d8b0c71b273fc1c63804f2387f78bcc0fd0410402198025038010de2f96de80b9364fa47cc6a934416ec2627a451d3232d711349170795a16031e62befa78cc8ab76cd66d80fc56e75955103225bfcad2b468d44034656aac3d036347a22f9acc977a64188053effed271389469a684894eb06e671ee7205a9aaf0398404f2cd47b5c28bf8641a3510439935c3b02389ad2b76319f1e1585f898eaf00582103b12a6a28a9f88aa86b1f0ecdbfc007d68e62853c8d09877f9741cc7d0bab5a9054d89350284c7732163765b23338f2ff27449e0bf50219d6ef05581d020166b392a871db61ff9daf7847064346bd1942a6903723293a1c65520f014806799ca9953554501902c405581d026448688570aa8e7d25412f0a3d18ecd4ad690f7f6c41ea28b924ed2e040a03653f353eaec2292fd49f6ade591044dae4c25cf53288a64e4121ed85c6edabb60219041405581e039ca13fcc43d0ed833015e4e6259b5fee9ccfe9453c0ec87566f4a3db500c0b4528160a4c3f05581e03135dae1547018b7756e91fc3e4f25c04ae648425432b68ae2e253129200c02463e527cadb80005581e0350f39f7c30c3903751ec94534438815e260f10b99dcc1979f95ed5d2000c0147014cd6b3cd500003472ef294d4ebb3ce38e5e209a30689cfe88008f47bf487449a6f6b1fd86e2d90039c4461bd521b95238e78e9655af4e6774b4dfa22c33f4e2d0769804ca0c1310503ac9266de793b5294cb83325ac937a7c479197090584c8805b0401b5e1c3529710219dc2d032c23faf86dd135c31a46865a0d045e62d61b294265b14801f2405847fcc8f569039d051d2120aebc60ef8223a71926afab23c46f826400db119c58a3604a75c5f903ed58edf669daa6f3147fb8e564f9d55984737150773d8bb57c9bcf148b33937803ab7d541a6de3fc7e5f757357eb4cae2a6df1eef3a675f6033f7abffeabae34e903fe3c6f9854dd12b92bddb4e88fb581753ed00116e707c6ab12a8ff5b331eeb6303398941c72fede00d0c5e1130207474947f24dd36e565982fcecbd804804d6fea034c2618db21724b1ee3e404f71943eeede4a4734dcc018d00e4ed63138547b68703c67624ffc0704b199d5964f5cd37609fd190f3291d6dad584753e069811d31a6039ef62f4f2ed6b479dcc573555d708491da504da7bf5fa47b87698753e028915303f613c5afe3f6352623a2c44368b4df71b2acdbcc05e85ec9918d4de667362a9c0219ffff031263d8a6ad66b9a84f48e95e855a2663bbc7848f6b1afaf740040ea79651c7210360677a49641a01cc88cba28fbfad1233a7d5789cd56014e3fa075fd1aa430bab03fbf42937b374bac3f342ce46c2a02e0c69e73ebac560f41a6e232a027491a93c03a8ea62caaae1e90c59a772ca49be0ffbc41e41b43727e99a64096218f43b8f8903181ee3af09beaf180d04630019df867229e005caec16334e0dbffc848e38b9750390baa0d1fdf86853c42d78438721337c319fe511ccc03e4cc3bf819a3b1076a2030560933da89e824ec9374fe91bd70b337fc5f86c5e31f0a45c9b3268375452db03241812e09c3a2e2eecd7e9198b6cf6ec174ddcf6840d318109bcd2240301c0070383d1fec302ed559ea14ab3b02041864dbad52889e2010a252c33ec0b53dd66b40219ffff03d7dbabe070fd15fe5c7080297814bfd0315a3f94f5ac7b8d3c4b59f2f53170ff033019455bfc877d19b7998f5eff6384d7d3fa9268bf5f9d62d845e655228476db0305e72edb9a2972bab82f67eccf69ed40a3d613f89f6bacf5e78cad5072df155d03202412600483fecd785bf6f893f2ff36699d5770473de766b9fd842566ac324e0374978d6620e42a8bc1616bbaed80e74fea43ea4c802052b1e58a4274647e3cb203eda8c6eae85b8334ffe0c2e9e8aae554673e67c1fb931c93b34e2c5a5b934f7303cf99354a478131f0f252ca52ffeca8b19ace6b0bcd980217ff9badaa4886ce740219ffff03f1cfb8d83e1112c24c3c08a6cebc6fe48a99700b01f19df8709474a88e952ec7034c01069ee3d65c1027374dfb06f575fc855eb922bfeee30236ded914eb0d5dce03727a59070b3af25a948a5336a53d0a6495477819243a500fbeb1c5e6fb0e2683030d70ba26856edbec3aaebcaf3fba4ca89c973bb07a9ccc04bef0d8af3654282e03da05ecf9bdb0ff3ee99ff39b2978cd03317f9b3001920565004159492c2004c503cd234cc5e57915838d5871b8ae78c7fdefc2c5cc99d5a02004ef393137819ad203605d8a2caf6cfc3bd49ba746aa6d728823479e2e7f10f8e196c0b5f762e3ad4f03ed5e9e7e73262a0906d38596989bb0aa098370165bbaf8e18ebb79065d3eca200308878d449732ef6be5fab3ec4a91f053a4a5d6e2607605203caab929f1abb9b803266e9c98f379f5449dd03c0b2554d5f385e05c4d918770c1b5ae393dd887e81003e3609eb010c36a5ebe3e51836a0b95c36a0b0bc9c5ff40296fd1b1d891406f4803d6cf3989e0ff07a5fd689a82510942e2164c2893d148dcf5d064e8a37945747c03171036000a5dd15ce1c1410467df5c1743d319597cb1ad2ef46f80709fad061a03acc033f9cc4bbd9aea28b5a4058293dbe7bbf7f4a90997e5c19bc0a7e34c50d8032934080183bf0d04147ab277622a70ef58609b9774a5eb873963ed25da360e2803f2ca903d4383d609716b2e4fc2e0a2d42ffedc3477845094e24c4aae2fa1439a03d7ac96aa961962448cdfa29f16a323f6512c728a5c293577b8d1c1b6fe60431b03c5f2f5c320f0439425c9375d435aaa4e79f3ea7a3b3513003fd57e001e77fe1d032d0aea6142a91877acc07dca4e9c1bd4b65bd0296e6ac6d759977c48f13a913503dedf83cbb3b82a1ae5b3b620800122e241b7989faf95c9a2be0bde78e9d566240300983899c6cb37518f13b92a5426d270e91dd6d68a8d4072d1d942e23c2838b803cd87498bc7ba8f271a462dc8199a443cd327c5e10d343e62130115a126dc8ff203a175fd6af7eca2a29566beb4c895e0d94a087bf93a129906571996fff6ca104a03a3a325cbae2062af1f61f4e61ad79928b6a631a208a64fe180e723c9d9df9a720370bbe4a2fa89a7a1cbf9a04fd44834ab2102026d063dd621163aae37c9a830f603e9bfacc9a31f5112a9b419fc5346e82ebfe313b9b6bb25e593f96dfde5e22d14039ce051361d1d329d28e90a5c1e4050d0c9bd4ba3a2f43543c5be66d493246e7d03c3293abf3a367ed640d9dd9c9aa18e043d559ef70768ac272b35f347ab33a34d0335d18a81837d2038e95817e700783fe2ac9ab2f2ef985e1c41dfe55f6fd76cba03b35c7dba038d0f989700f2b407ca8927153d5d09603a4df4e1d5d68c2513847103f25b9874e8db1b05c44a1c13d9a83fabf87ba2b3ac7c572e2f2ff0c5923540f90307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e0381cb72f716f6c017fe44ba4517a8f942d1527620456ae4ee3ed579ef6007011bffffffffffffffff045920d96080604052600436106101355760003560e01c80638da5cb5b116100ab578063bda009fe1161006f578063bda009fe14610737578063d2ce7d651461076a578063dd61456914610804578063ed08fdc61461083c578063f887ea401461086f578063fb0e722b1461088457610135565b80638da5cb5b146105ec57806393e59dc11461060157806395fcea7814610616578063a0c76a961461062b578063a7e28d481461070457610135565b80632db09c1c116100fd5780632db09c1c146102915780632e567b36146102a657806347466f981461033c5780634fb1a07b1461036f5780635625a95214610486578063658b53f4146104be57610135565b806301ffc9a71461013a578063032958021461018257806313af4035146101b35780631459457a146101e85780632d67b72d1461023d575b600080fd5b34801561014657600080fd5b5061016e6004803603602081101561015d57600080fd5b50356001600160e01b031916610899565b604080519115158252519081900360200190f35b34801561018e57600080fd5b506101976108c6565b604080516001600160a01b039092168252519081900360200190f35b3480156101bf57600080fd5b506101e6600480360360208110156101d657600080fd5b50356001600160a01b03166108d5565b005b3480156101f457600080fd5b506101e6600480360360a081101561020b57600080fd5b506001600160a01b0381358116916020810135821691604082013581169160608101358216916080909101351661098e565b61027f600480360360a081101561025357600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608090910135166109d4565b60408051918252519081900360200190f35b34801561029d57600080fd5b50610197610c31565b6101e6600480360360a08110156102bc57600080fd5b6001600160a01b03823581169260208101358216926040820135909216916060820135919081019060a081016080820135600160201b8111156102fe57600080fd5b82018360208201111561031057600080fd5b803590602001918460018302840111600160201b8311171561033157600080fd5b509092509050610c40565b34801561034857600080fd5b506101e66004803603602081101561035f57600080fd5b50356001600160a01b0316610c84565b610411600480360360e081101561038557600080fd5b6001600160a01b038235811692602081013582169260408201359092169160608201359160808101359160a0820135919081019060e0810160c0820135600160201b8111156103d357600080fd5b8201836020820111156103e557600080fd5b803590602001918460018302840111600160201b8311171561040657600080fd5b509092509050610d27565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561044b578181015183820152602001610433565b50505050905090810190601f1680156104785780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027f6004803603608081101561049c57600080fd5b506001600160a01b038135169060208101359060408101359060600135610f97565b61027f600480360360a08110156104d457600080fd5b810190602081018135600160201b8111156104ee57600080fd5b82018360208201111561050057600080fd5b803590602001918460208302840111600160201b8311171561052157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561057057600080fd5b82018360208201111561058257600080fd5b803590602001918460208302840111600160201b831117156105a357600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505082359350505060208101359060400135611134565b3480156105f857600080fd5b5061019761119b565b34801561060d57600080fd5b506101976111aa565b34801561062257600080fd5b506101e66111b9565b34801561063757600080fd5b50610411600480360360a081101561064e57600080fd5b6001600160a01b03823581169260208101358216926040820135909216916060820135919081019060a081016080820135600160201b81111561069057600080fd5b8201836020820111156106a257600080fd5b803590602001918460018302840111600160201b831117156106c357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611216945050505050565b34801561071057600080fd5b506101976004803603602081101561072757600080fd5b50356001600160a01b0316611418565b34801561074357600080fd5b506101976004803603602081101561075a57600080fd5b50356001600160a01b03166114c7565b610411600480360360c081101561078057600080fd5b6001600160a01b0382358116926020810135909116916040820135916060810135916080820135919081019060c0810160a0820135600160201b8111156107c657600080fd5b8201836020820111156107d857600080fd5b803590602001918460018302840111600160201b831117156107f957600080fd5b509092509050611529565b61027f6004803603608081101561081a57600080fd5b506001600160a01b038135169060208101359060408101359060600135611546565b34801561084857600080fd5b506101976004803603602081101561085f57600080fd5b50356001600160a01b031661155e565b34801561087b57600080fd5b50610197611579565b34801561089057600080fd5b50610197611588565b60006001600160e01b03198216634fb1a07b60e01b14806108be57506108be82611597565b90505b919050565b6004546001600160a01b031681565b6005546001600160a01b03163314610921576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6001600160a01b03811661096c576040805162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22fa7aba722a960991b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b61099a826000866115b0565b600580546001600160a01b039687166001600160a01b03199182161790915560008054821690556006805492909616911617909355505050565b600061a4b160ff16336001600160a01b0316638e5f5ad16040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1557600080fd5b505afa158015610a29573d6000803e3d6000fd5b505050506040513d6020811015610a3f57600080fd5b505160ff1614610a88576040805162461bcd60e51b815260206004820152600f60248201526e1393d517d0549097d1539050931151608a1b604482015290519081900360640190fd5b610a9a866001600160a01b0316611627565b610add576040805162461bcd60e51b815260206004820152600f60248201526e1393d517d513d7d0d3d395149050d5608a1b604482015290519081900360640190fd5b6000610ae8336114c7565b90506001600160a01b03811615801590610b1057506004546001600160a01b03828116911614155b15610b7b57866001600160a01b0316816001600160a01b031614610b7b576040805162461bcd60e51b815260206004820152601b60248201527f4e4f5f5550444154455f544f5f444946464552454e545f414444520000000000604482015290519081900360640190fd5b604080516001808252818301909252606091602080830190803683370190505090503381600081518110610bab57fe5b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092526060918160200160208202803683370190505090508881600081518110610bf657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610c2482828a8a8a8a61162d565b9998505050505050505050565b6001546001600160a01b031681565b6040805162461bcd60e51b815260206004820152601460248201527327a7262cafa7aaaa2127aaa7222fa927aaaa22a960611b604482015290519081900360640190fd5b6000546001600160a01b03163314610cd3576040805162461bcd60e51b815260206004820152600d60248201526c1393d517d19493d357d31254d5609a1b604482015290519081900360640190fd5b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f37389c47920d5cc3229678a0205d0455002c07541a4139ebdce91ac2274657779181900360200190a150565b60606000610d348a6114c7565b90506060610d43338686611a9e565b604080516001600160a01b0385811682529151929350818c169233928f16917f85291dff2161a93c2f12c819d31889c96c63042116f5bc5a205aa701c2c429f5919081900360200190a4816001600160a01b0316634fb1a07b348d8d8d8d8d8d896040518963ffffffff1660e01b815260040180886001600160a01b03166001600160a01b03168152602001876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b0316815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e4a578181015183820152602001610e32565b50505050905090810190601f168015610e775780820380516001836020036101000a031916815260200191505b50985050505050505050506000604051808303818588803b158015610e9b57600080fd5b505af1158015610eaf573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526020811015610ed957600080fd5b8101908080516040519392919084600160201b821115610ef857600080fd5b908301906020820185811115610f0d57600080fd5b8251600160201b811182820188101715610f2657600080fd5b82525081516020918201929091019080838360005b83811015610f53578181015183820152602001610f3b565b50505050905090810190601f168015610f805780820380516001836020036101000a031916815260200191505b506040525050509250505098975050505050505050565b6005546000906001600160a01b03163314610fe6576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b600480546001600160a01b0387166001600160a01b0319909116811790915560408051918252517f3a8f8eb961383a94d41d193e16a3af73eaddfd5764a4c640257323a1603ac3319181900360200190a160006001600160a01b038616156110b057856001600160a01b0316632db09c1c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561108157600080fd5b505afa158015611095573d6000803e3d6000fd5b505050506040513d60208110156110ab57600080fd5b505190505b604080516001600160a01b038084166024808401919091528351808403909101815260449092018352602082810180516001600160e01b031663f7c9362f60e01b17905260065460015485516060810187528981529283018b905294820189905292936111299383169216903390349060009087611b08565b979650505050505050565b6005546000906001600160a01b03163314611183576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b61119186868686863361162d565b9695505050505050565b6005546001600160a01b031681565b6000546001600160a01b031681565b60006111c3611b27565b9050336001600160a01b03821614611213576040805162461bcd60e51b815260206004820152600e60248201526d2727aa2fa32927a6afa0a226a4a760911b604482015290519081900360640190fd5b50565b60606000611223876114c7565b9050806001600160a01b031663a0c76a9688888888886040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156112d35781810151838201526020016112bb565b50505050905090810190601f1680156113005780820380516001836020036101000a031916815260200191505b50965050505050505060006040518083038186803b15801561132157600080fd5b505afa158015611335573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561135e57600080fd5b8101908080516040519392919084600160201b82111561137d57600080fd5b90830190602082018581111561139257600080fd5b8251600160201b8111828201881017156113ab57600080fd5b82525081516020918201929091019080838360005b838110156113d85781810151838201526020016113c0565b50505050905090810190601f1680156114055780820380516001836020036101000a031916815260200191505b5060405250505091505095945050505050565b600080611424836114c7565b90506001600160a01b03811661143e5760009150506108c1565b806001600160a01b031663a7e28d48846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561149457600080fd5b505afa1580156114a8573d6000803e3d6000fd5b505050506040513d60208110156114be57600080fd5b50519392505050565b6001600160a01b0380821660009081526003602052604090205416806114f557506004546001600160a01b03165b6001600160a01b0381166001148061151c575061151a816001600160a01b0316611627565b155b156108c1575060006108c1565b606061153a88888888888888611b4c565b98975050505050505050565b600061155585858585336109d4565b95945050505050565b6003602052600090815260409020546001600160a01b031681565b6002546001600160a01b031681565b6006546001600160a01b031681565b6001600160e01b031981166301ffc9a760e01b14919050565b6001600160a01b038216156115f9576040805162461bcd60e51b815260206004820152600a6024820152692120a22fa927aaaa22a960b11b604482015290519081900360640190fd5b6116038383611da1565b600480546001600160a01b0319166001600160a01b03929092169190911790555050565b3b151590565b60008551875114611674576040805162461bcd60e51b815260206004820152600c60248201526b0aea49e9c8ebe988a9c8ea8960a31b604482015290519081900360640190fd5b60005b87518110156119755786818151811061168c57fe5b6020026020010151600360008a84815181106116a457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508681815181106116fc57fe5b60200260200101516001600160a01b031688828151811061171957fe5b60200260200101516001600160a01b03167f812ca95fe4492a9e2d1f2723c2c40c03a60a27b059581ae20ac4e4d73bfba35460405160405180910390a360006001600160a01b031687828151811061176d57fe5b60200260200101516001600160a01b0316141580156117b2575060016001600160a01b031687828151811061179e57fe5b60200260200101516001600160a01b031614155b1561196d5760006001600160a01b03168782815181106117ce57fe5b60200260200101516001600160a01b031663a7e28d488a84815181106117f057fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561183e57600080fd5b505afa158015611852573d6000803e3d6000fd5b505050506040513d602081101561186857600080fd5b50516001600160a01b031614156118c6576040805162461bcd60e51b815260206004820152601c60248201527f544f4b454e5f4e4f545f48414e444c45445f42595f4741544557415900000000604482015290519081900360640190fd5b8681815181106118d257fe5b60200260200101516001600160a01b0316632db09c1c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561191257600080fd5b505afa158015611926573d6000803e3d6000fd5b505050506040513d602081101561193c57600080fd5b5051875188908390811061194c57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b600101611677565b506060634201f98560e01b8888604051602401808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156119c95781810151838201526020016119b1565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611a085781810151838201526020016119f0565b50505050905001945050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050905061153a600660009054906101000a90046001600160a01b0316600160009054906101000a90046001600160a01b03168534600060405180606001604052808b81526020018d81526020018c81525087611b08565b606083838360405160200180846001600160a01b03166001600160a01b0316815260200180602001828103825284848281815260200192508082843760008184015260408051601f19601f9093018316909401848103909201845252509998505050505050505050565b600061153a8888888888886000015189602001518a604001518a611e6d565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b60606000611b59896114c7565b90506060611b68338686611a9e565b604080516001600160a01b0385811682529151929350818c169233928e16917f85291dff2161a93c2f12c819d31889c96c63042116f5bc5a205aa701c2c429f5919081900360200190a4816001600160a01b031663d2ce7d65348c8c8c8c8c886040518863ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b0316815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611c56578181015183820152602001611c3e565b50505050905090810190601f168015611c835780820380516001836020036101000a031916815260200191505b509750505050505050506000604051808303818588803b158015611ca657600080fd5b505af1158015611cba573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526020811015611ce457600080fd5b8101908080516040519392919084600160201b821115611d0357600080fd5b908301906020820185811115611d1857600080fd5b8251600160201b811182820188101715611d3157600080fd5b82525081516020918201929091019080838360005b83811015611d5e578181015183820152602001611d46565b50505050905090810190601f168015611d8b5780820380516001836020036101000a031916815260200191505b5060405250505092505050979650505050505050565b6001600160a01b038216611df2576040805162461bcd60e51b81526020600482015260136024820152721253959053125117d0d3d55395115494105495606a1b604482015290519081900360640190fd5b6001546001600160a01b031615611e3f576040805162461bcd60e51b815260206004820152600c60248201526b1053149150511657d253925560a21b604482015290519081900360640190fd5b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055565b6000611e818a8a8a8b8b8b8b8b8b8b611e8f565b9a9950505050505050505050565b6000808b6001600160a01b031663679b6ded898d8a8a8f8f8c8c8c6040518a63ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001888152602001878152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611f56578181015183820152602001611f3e565b50505050905090810190601f168015611f835780820380516001836020036101000a031916815260200191505b5099505050505050505050506020604051808303818588803b158015611fa857600080fd5b505af1158015611fbc573d6000803e3d6000fd5b50505050506040513d6020811015611fd357600080fd5b81019080805190602001909291905050509050808b6001600160a01b03168a6001600160a01b03167fc1d1490cf25c3b40d600dfb27c7680340ed1ab901b7e8f3551280968a3b372b0866040518080602001828103825283818151815260200191508051906020019080838360005b8381101561205a578181015183820152602001612042565b50505050905090810190601f1680156120875780820380516001836020036101000a031916815260200191505b509250505060405180910390a49b9a505050505050505050505056fea2646970667358221220c4a157f9a39440a0ea612bf7652aa5411a0f46a2320a00c81134f98dfb9f2fc664736f6c634300060b00330605581e039cf14dc4d9f4b3c3ae2989a1919caa91d2169e9eba0d9fdad4cd38dc3007011920d903fe3cca245616f2efa50db4cb628ab09c44b216fde788c0747d54cd6730ba9855030eb7d3bb7a34785e01f49a3d21296e19fdc8e28519e8d5b95f63fef3604f54cb03f2737c9ae758fc67361c8592a9377fa85241dc306aba2e4416421493bd365da705581e0341af4d71ad7d0f683c78d9b3b3bcb1850066a2c35a8a96d620e5b19ec007011bffffffffffffffff05581e03f389883886d39b77e85e9072a0bdfbd3e4a41d36aacba01e04b2badd40084807723cd2fa0e50ba05581e03311d758ac4e38690d7eb1962d9ccdc194dd16b42fbbaea7808878a4990040205581e036d2b2a64461aac445d9284200a14a3bbd4f056f864aa3aa450a20ebdf00c024694a7fa0c37d005581e035f6289f55573bb0fc84cd15b13436e16d0ad801223af9749b1883fa4000c0347656c2369a7400005581e039c565af8647aa9e9b92345663b5b11ec3ebbdac34765ac6cb5dbb087a00c01461147c840300005581e039c614e7c3d5c3cb82c459403c6f8329b123f240e48b3d1eace3c2ae1600c01460f761ef6100003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03841506892bc9eb385fd90ec103133c4228c790fe83be912bda4d2f4ee007011bffffffffffffffff0219d3b703a43387b45db0f81e16eb70cb328eac2dd21306d6ee753d083eb5bfcdf583dafe0370c282fc337585bbaca27262304d06b0b42d144498a9f8e293e7380262cb1b08035de319d96bf8486e34a53c19b01f0c95a7c460f8039e86c15d2f9b62f5bec7d20366f11bbddb454d5d9eaf2a60cb6fe86aade0c60a009003319665c2f872b6c08503e662a152e7be962d33e396206e94b56ef75ff5bb8c64e1778ebab769f519bc950359d875b0c6b0bc47a34dd108e916e242b64a8725c8a0be89bc54b46895527636037bf98ac1c362588b4502c39aa13713aade12b53de5dda95bec649793706bfc770354a877a99aee49ef1a7dc96c7324eccd60d70ac7281fd427e88443d96809859a0317a90a6b697a6549b312710559b622fa558d342318ee529346da6d640cf11e170219ffff033aea310386f16e52bac684a55e7aca2df87a2aaab9e7d2bc22ec47336be000c0038c8e79342450910283e4f7420a274ed3f4fe5a8a18e55a3cba9a6082ecbbca53031ccce546db4119e8a4313bd20f4c84eeedcd5c2011a3c1257e43a3d579d277910219ffff0390c2e2bf04e57f9dbedf9276267081d5662d24d99abdb8634995d095b29327710312a423af74c1d6dceb72f6bd4268455dbae1be378aa3b7cfb2a1bc65edd098ac0219ffff034a14534893ea10b5b8c2a8ee76022b6958b7954e7eff54aeba6b7e8939c9f9860310343d2a2658a3ecb3592f5ffeb786fe244b00c91b9615755d602a77c22def77032949bb04738893a97a7f6bdd867c7417cc2e2d4e8b22c0782d9faacfe3e4ce7303a94e50e4cea6b24313fd4fe6207ad0b47edfd0740dc387633e030e7c24ba457903694d556a24f789d5896137e51232f1cb2cb448de6f858db4255d814cd55ce3df03590dc8c3af171aabe786f945e5a2eec26260e0e0e8d181b532b6fa2c603e1ae30389a8b7951587db132212af12cd8cc2b654e15bdc53297ddcf6f9045d04c925ab03259dac092a261c35a7d43bd5d6dea1d8ba95c95920f80f53006812f87c480ad003aa2d023d68f82fe98247be28f675cf714a9a64907ce8a3fbc11eda622155505a038779258dd1129f456d974f8ce3c13d5a138c8b8c63362e2ea732475f24731e6603673bb8518b22267f7ff0918e3e2aabe0fc4054ac9e476fff5f04f1662157302e030f7c9ee0c04fa805042ffe4ff3e8c4407b1f005f1dccecb7d452636ef81ba37103bb5768a1ebd19fe8b8a84a648e5d6dcfe72e2e55af792131893e606e38f2a56c0300f4ebbce581008a6849549248b76e5a321a5854d29adcf2abe05eacec8bd7dd0334b7a20c430e22682af2e9d5eabedea5c540bb5bac43c0925d92fc4d0e7b0b3d033f2b34cf33ff2bbb137e633581eb1d63d39b7a59b7e5d95dc70b6bbdfce3bc8103e95774457c96434c4ec544dede37fe88d27a61bb5773264f6ac9f218bf0d775e03e5723de5faf4076670e1e103fc374579a89c95b2c34fdb7273714a32a541424703220d653add14c47e7e15c1543a5b42a58c7098119dd18a4711ab6d939b46291f039c63fdbb3cf1402e0dfc7fa5255160faf4999636c7ac91d08d9e4d14b8ab2ab4030c324accd7a0ab0793155172c20eaed211fd498639389d9dcd5c935d98e1c9b703b56604367ffa41252a9d85c75116f6ce093151a0e72748e43585863ec94b7cbb033ea4eebf8e491df96d16571510395b8f4e4a3c682bb262e737bcf52051da20cc034ea8e1890d72b97f4ecba4f2e9b287c8c0a5369b777c12a336428d83542eb93703be86a8dc77b9a5ba46da94feb202d11f1b6ec1abd8e822da78ea9451b6ee46f7030763a63470f4ceb1a324f07f7f72595a71e31cbf3e740a551503a18ea56edb9f035daad351b1d2b6fb9ddbe6e3817e6e088c4aa60655e17793f2f174068a1ed0e50300e3a51c27c69871ea5e19a076723130fb44b7b56c776bfc78cfac12befc1bed0353ab7043b24ee742dbee2e287648f431ecdcfef0dc6b9ef94f11835785b7fc8203f7c2febffc4b43989f42789c5463abba8270a8b07b9caa5fd0f0b2a1cd8f21d505581e0368379acf8f67b761074df081dae5e8a0037acb5b84184c4970b76038b0040203e14da48bc42020c9fc480bebb61e6b51e906177b27661b66323b4246e378cd5c0316a39033fbdd9f202d78f7535b6792d7fc66ef47e00d1926325670a0a5efb05d05581e035bba98ff4015d36bac677a961142de922c68596ed44377f5a8ae5a6d100c0246b8e5b6441a1005581e0376e90abc072c90ccb2bb99cd942d0182ae5ab674942ce414d8c2c186f00c02470119e62ef498e805581e035801d90fbbcd3379244f1fcccb5ff61e9b0619e85df05e12c93cc1a720040105581e0332ee767a03a88d06a5da7c29f6020785b00a7a8ad5cfc5e5e1f1517ec0040205581d022c6432e66befbc07372e0a0debd1fac4200f546578f557ce82265c990c1546819c045185b305581d0233dddeaa84b5de8028d3e62da021c59f713b8ea4e24f1e0c16bdba540c0147016e687b3d9c000218280389859ccbd42f72c13ea78b74273c275735f770681818995cf69cbb20185a96b505581e03ef123a82e5c69fba47824c2f0958261a1c4bc324cc1fc80e3736b9ddc004020339b2abcee24c128fc061dbfd33c0218a2f5013d8e0dfe8a84ea4035313f0227e03e2a8dc4348189117f14e30eb98ca8c3162e5c2614cac46d6db5ecbdea04ec71405581e03d74154cefbf552c31f537e9a533ccb86d749129ee09df5ec341a0018d007011bffffffffffffffff03c9a1658ce25424bab8075f3cb8ae9fb46c88d8575318d27c8d6eff663fa8b4cb021975ff03747ef7f19b765636f180bfe468beb06fb617ec1d5dcc34ebec36bcd2626a0afe03220be2105f64afe4688ed1900638729611481712aa6817f392dbba3a8dbf05ec03a0d21883d8fe6c11f9f65a2bb0e7f2802888a1103b69dfc01376c36d4b2e77a2032d20f14976f68a9a489685ea5d4c02713ae5da64a0720146af369fee7492938d032c2d8a5d2c0affc3f034c5faa1ef7b06b512f3cf0bb585b5a054f9377e9a749c032ee945b0c405e8b93b4c5c58b6623168be6de25449f95412c7cfa9ca071fcfb6033564dc7968045c0a14988b563839f8396769c55b132df2756890096ff4aa65a6038e817a517dfafbdd97f3853d8d050a5e087f4ebee4069e18777b12b792c2481b0333e31ca2e6a4e5a1098f17032f7ff9f2a6cd541ac67dece255d3d85d00994767031c11b8dae5683442d16bd2f139ccef3050e9fd1c6b3fb730645c7feaf2c00ea60219ffff038b7d0d9865100a07f052efeb46020fca8c6e1279aa6edd4b6ba26635639fd2960381cdd43aac75fbd2f2beb32cdc0899f63e6c9553433b4a7cc6b8f1232ab1e8c503449a9f5462ea866bca6b92703f5e176924963c5584d69f5fc86bbe6c18d33ed403c29bc951541722b908d3e270c66fce9e16fc950c39aacf53fd8c37b6fbe76d510219ffff03ce0d40b13e94287698391ca71be665052fe0fb9ef9bcbdfd0351843d48b54f0a03d0157cc50bf85890acbb47f6ca2587e7de2ee66b4c1ee86e692f631427666147031af1b08db68ce4e623cd946d3fced01e2c07ff4f68f6a90ef584d96cd3c88286037b086b701b4854a20241bb829e731816146e39b66c1871ecbb18e369b608160903b5583827a4fb10eae86a6860bb3c0e303ce040cae0dded6c6d844e06b90860050323e8bce837c66b2e7c3ebdb57594506244b8c39fe9501fdde971b7799e166c8f03f2a11f8bb466a53a5f7abd1df58f77aea8057254ca8a450f81686bdcbf811d3c0219ffff0312dfbb6f1b527074cc92d8442ee367dd47cf3d14e5e82427de6dc9a08514b009033ba4ceeae315199d77ecc8d7c4c35b9a55ba8e486f668ed002058da7608f502703f3f93cbcc09e548669ca679c40410e43c777f5ad810726a5a1c745cef2ba5c720311add9267fae0667bcf649c7ad2ab731e59ca8bf714c25d4ac85d8312543a39a035302dc5c299eb6f624933582762dc339a7463de95e0d04b0a9acba6494b2bd59030aca161cab771998cef0a38722974df878f1e6cb4505701c95f41b287f8e9ec7034bb8fde6e0f3350b2a733d8750b8ec692da332e68a79d3a6416f30a5cc8e2ae1031b50b293a56dbac9e5e7c95032d969197819ed75729961295535e85d13e4bdbc033afef371de76fbda44b1ec43d87cd029c6ae01ac1d6eadcd74f525957cd7f7c005581e03f24414f9ebee1b4e9f775463fb00ff820aa039b9845bbbc874447c23b00c0247015a01708fa19803ba6a7946943feab742e85207fdd089952d5bee87eb5d05735884dd2d6d7faefc031d9d3aa316f63ffdcd6d04e57add0d74a97dfc32ea63bb60ccea70ac5c3dd0e4036825495a12e4715e6a7a32212955d12137e519505f7cef1ac8517f06b7f1fbfd031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0303575c956dd981ab524be5fb6208db76c7cc42b247996f7ad6d87dceb007011bffffffffffffffff0383a718ae683d6d555d9835ee50f8f7f5fc02ce2849037a810b48a84d48591f4205581e039f2df4a635a966defcf7b46a123aae38960d2950e8ab827e10c65db130040105581e03e519cec7f73a00207c44eab11f3d7a51d01b937f8dce7760a97a9a7d30040305581d022d8209512a792e7d59b5dd4d085d68b4164ebc97a33224ed1dfc344f0c0544ed47df0f04592c40608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063972c49281161008c578063c0857ba011610066578063c0857ba014610236578063d6ae3cd514610256578063de9b771f1461027d578063f953cec71461029d57600080fd5b8063972c4928146101f057806399178dd814610210578063aea4e49e1461022357600080fd5b80635ab2a558116100c85780635ab2a55814610161578063607f2d42146101ad5780638b034eb8146101d05780638e58736f146101dd57600080fd5b80630e387de6146100ef5780631aae9eed14610129578063419cb5501461014c575b600080fd5b6101167f8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b03681565b6040519081526020015b60405180910390f35b61013c6101373660046123a4565b6102b0565b6040519015158152602001610120565b61015f61015a3660046124f9565b61043d565b005b6101887f000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f81565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610120565b61013c6101bb36600461252e565b60036020526000908152604090205460ff1681565b60045461013c9060ff1681565b61015f6101eb366004612593565b61046a565b6002546101889073ffffffffffffffffffffffffffffffffffffffff1681565b61015f61021e366004612657565b6108f2565b61015f6102313660046126a7565b6109aa565b6001546101889073ffffffffffffffffffffffffffffffffffffffff1681565b6101167f000000000000000000000000000000000000000000000000000000000000008981565b6000546101889073ffffffffffffffffffffffffffffffffffffffff1681565b61015f6102ab3660046124f9565b610a97565b6040517f960a7afa0000000000000000000000000000000000000000000000000000000081526004810184905260248101839052600090819073ffffffffffffffffffffffffffffffffffffffff87169063960a7afa9060440160206040518083038186803b15801561032257600080fd5b505afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a91906126c4565b90506000808773ffffffffffffffffffffffffffffffffffffffff16635a7e1083846040518263ffffffff1660e01b815260040161039a91815260200190565b60c06040518083038186803b1580156103b257600080fd5b505afa1580156103c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ea91906126f2565b5050935050925050600082426104009190612786565b9050821580159061040f575081155b801561041a57508581115b1561042c576001945050505050610435565b60009450505050505b949350505050565b61046733826040516020016104539291906127cd565b604051602081830303815290604052610aad565b50565b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781556040517fd5ef755100000000000000000000000000000000000000000000000000000000815233918101919091527f000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f9073ffffffffffffffffffffffffffffffffffffffff82169063d5ef75519060240160206040518083038186803b15801561051e57600080fd5b505afa158015610532573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610556919061283b565b6105c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4d573a2053656e646572206d757374206265206120626f6e646572000000000060448201526064015b60405180910390fd5b878414610650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4d573a20726f6f7448617368657320616e6420746f74616c416d6f756e74732060448201527f6d757374206265207468652073616d65206c656e67746800000000000000000060648201526084016105b8565b60008173ffffffffffffffffffffffffffffffffffffffff1663f3f480d96040518163ffffffff1660e01b815260040160206040518083038186803b15801561069857600080fd5b505afa1580156106ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d091906126c4565b905060005b898110156108bd57600061071b848d8d858181106106f5576106f5612856565b905060200201358a8a8681811061070e5761070e612856565b90506020020135866102b0565b905080610784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d573a20526f6f742063616e6e6f7420626520636f6e6669726d65640000000060448201526064016105b8565b8373ffffffffffffffffffffffffffffffffffffffff1663ef6ebe5e7f00000000000000000000000000000000000000000000000000000000000000898e8e868181106107d3576107d3612856565b905060200201358d8d878181106107ec576107ec612856565b905060200201358c8c8881811061080557610805612856565b905060200201358b8b8981811061081e5761081e612856565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e08a901b16815260048101979097526024870195909552506044850192909252606484015260209091020135608482015260a401600060405180830381600087803b15801561089157600080fd5b505af11580156108a5573d6000803e3d6000fd5b505050505080806108b590612885565b9150506106d5565b5050600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055505050505050505050565b60045460ff1615610901575050565b73ffffffffffffffffffffffffffffffffffffffff821630146109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4c315f504c474e5f5750523a2043616c6c6572206d757374206265207468697360448201527f20636f6e7472616374000000000000000000000000000000000000000000000060648201526084016105b8565b5050565b60025473ffffffffffffffffffffffffffffffffffffffff1615610a50576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f467842617365526f6f7454756e6e656c3a204348494c445f54554e4e454c5f4160448201527f4c52454144595f5345540000000000000000000000000000000000000000000060648201526084016105b8565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000610aa282610b3e565b90506109a681610f20565b6000546002546040517fb472047700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9283169263b472047792610b099291169085906004016127cd565b600060405180830381600087803b158015610b2357600080fd5b505af1158015610b37573d6000803e3d6000fd5b5050505050565b60606000610b4b8361103a565b90506000610b5882611099565b90506000610b65836110c8565b9050600081610b73846110f1565b610b7c866112df565b604051602001610b8e939291906128be565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815281516020928301206000818152600390935291205490915060ff1615610c63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4678526f6f7454756e6e656c3a20455849545f414c52454144595f50524f434560448201527f535345440000000000000000000000000000000000000000000000000000000060648201526084016105b8565b600081815260036020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610ca3856112fb565b90506000610cb082611445565b9050610cbb816114d5565b60025473ffffffffffffffffffffffffffffffffffffffff908116911614610d65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4678526f6f7454756e6e656c3a20494e56414c49445f46585f4348494c445f5460448201527f554e4e454c00000000000000000000000000000000000000000000000000000060648201526084016105b8565b6000610d70876114fe565b9050610d90610d80846020015190565b87610d8a8a61151a565b84611536565b610e1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4678526f6f7454756e6e656c3a20494e56414c49445f524543454950545f505260448201527f4f4f46000000000000000000000000000000000000000000000000000000000060648201526084016105b8565b610e4a85610e29896117ec565b610e328a611808565b84610e3c8c611824565b610e458d611840565b61185c565b506000610e56836119d1565b90507f8c5261668696ce22758910d05bab8f186d6eb247ceac2af2e82c7dc17669b036610e8c610e87836000611a0d565b611a45565b14610ef3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4678526f6f7454756e6e656c3a20494e56414c49445f5349474e41545552450060448201526064016105b8565b6000610efe84611ac0565b806020019051810190610f1191906128eb565b9b9a5050505050505050505050565b60007f000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f73ffffffffffffffffffffffffffffffffffffffff1682604051610f679190612962565b6000604051808303816000865af19150503d8060008114610fa4576040519150601f19603f3d011682016040523d82523d6000602084013e610fa9565b606091505b50509050806109a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4c315f504c474e5f5750523a2043616c6c20746f204c3120427269646765206660448201527f61696c656400000000000000000000000000000000000000000000000000000060648201526084016105b8565b604080516020810190915260608152600061108461107f8460408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b611adc565b60408051602081019091529081529392505050565b60606110c282600001516008815181106110b5576110b5612856565b6020026020010151611bf2565b92915050565b60006110c282600001516002815181106110e4576110e4612856565b6020026020010151611a45565b604080516020810190915260008152815160609190156110c257600080611119600086611c8f565b60f81c9050600181148061113057508060ff166003145b156111f057600185516002611145919061297e565b61114f9190612786565b67ffffffffffffffff811115611167576111676123df565b6040519080825280601f01601f191660200182016040528015611191576020820181803683370190505b50925060006111a1600187611c8f565b905080846000815181106111b7576111b7612856565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506001925050611254565b600285516002611200919061297e565b61120a9190612786565b67ffffffffffffffff811115611222576112226123df565b6040519080825280601f01601f19166020018201604052801561124c576020820181803683370190505b509250600091505b60ff82165b83518110156112d65761128361127260ff851683612786565b61127d9060026129bb565b87611c8f565b84828151811061129557611295612856565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806112ce81612885565b915050611259565b50505092915050565b60006110c282600001516009815181106110e4576110e4612856565b61131f60405180606001604052806060815260200160608152602001600081525090565b61133982600001516006815181106110b5576110b5612856565b60208281018290526040805180820182526000808252908301528051808201909152825181529181019082015261136f81611d10565b156113845761137d81611adc565b8252611431565b6020820151805160009061139a90600190612786565b67ffffffffffffffff8111156113b2576113b26123df565b6040519080825280601f01601f1916602001820160405280156113dc576020820181803683370190505b5090506000808360210191508260200190506113fa82828551611d49565b60408051808201825260008082526020918201528151808301909252845182528085019082015261142a90611adc565b8652505050505b61143a836112df565b604083015250919050565b604080516080810182526000918101828152606080830193909352815260208101919091526000611493836000015160038151811061148657611486612856565b6020026020010151611adc565b8360400151815181106114a8576114a8612856565b6020026020010151905060405180604001604052808281526020016114cc83611adc565b90529392505050565b60006110c282602001516000815181106114f1576114f1612856565b6020026020010151611dc4565b60006110c282600001516005815181106110e4576110e4612856565b60606110c282600001516007815181106110b5576110b5612856565b60008061156a8460408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b9050600061157782611adc565b9050606080856000806115898b6110f1565b90508051600014156115a5576000975050505050505050610435565b60005b86518110156117dc5781518311156115cb57600098505050505050505050610435565b6115ed8782815181106115e0576115e0612856565b6020026020010151611dde565b95508580519060200120841461160e57600098505050505050505050610435565b61162387828151811061148657611486612856565b94508451601114156116f8578151831415611685578c80519060200120611656866010815181106110b5576110b5612856565b80519060200120141561167457600198505050505050505050610435565b600098505050505050505050610435565b600082848151811061169957611699612856565b016020015160f81c905060108111156116be5760009950505050505050505050610435565b6116e3868260ff16815181106116d6576116d6612856565b6020026020010151611e5e565b94506116f06001856129bb565b9350506117ca565b84516002141561167457600061172461171d876000815181106110b5576110b5612856565b8486611e8c565b835190915061173382866129bb565b1415611788578d80519060200120611757876001815181106110b5576110b5612856565b8051906020012014156117765760019950505050505050505050610435565b60009950505050505050505050610435565b8061179f5760009950505050505050505050610435565b6117a981856129bb565b93506117c1866001815181106116d6576116d6612856565b94506117ca9050565b806117d481612885565b9150506115a8565b5050505050505050949350505050565b60006110c282600001516003815181106110e4576110e4612856565b60006110c282600001516004815181106110e4576110e4612856565b60006110c282600001516000815181106110e4576110e4612856565b60606110c282600001516001815181106110b5576110b5612856565b6001546040517f41539d4a0000000000000000000000000000000000000000000000000000000081526004810184905260009182918291829173ffffffffffffffffffffffffffffffffffffffff909116906341539d4a9060240160a06040518083038186803b1580156118cf57600080fd5b505afa1580156118e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190791906129d3565b509350509250925061195e828b61191e9190612786565b6040805160208082018f90528183018e9052606082018d905260808083018d90528351808403909101815260a09092019092528051910120908588611fc5565b6119c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4678526f6f7454756e6e656c3a20494e56414c49445f4845414445520000000060448201526064016105b8565b9998505050505050505050565b6040805160208101909152606081526040518060200160405280611a05846020015160018151811061148657611486612856565b905292915050565b60408051808201909152600080825260208201528251805183908110611a3557611a35612856565b6020026020010151905092915050565b805160009015801590611a5a57508151602110155b611a6357600080fd5b6000611a72836020015161216f565b90506000818460000151611a869190612786565b9050600080838660200151611a9b91906129bb565b9050805191506020831015611ab757826020036101000a820491505b50949350505050565b60606110c282602001516002815181106110b5576110b5612856565b6060611ae782611d10565b611af057600080fd5b6000611afb836121f1565b905060008167ffffffffffffffff811115611b1857611b186123df565b604051908082528060200260200182016040528015611b5d57816020015b6040805180820190915260008082526020820152815260200190600190039081611b365790505b5090506000611b6f856020015161216f565b8560200151611b7e91906129bb565b90506000805b84811015611be757611b9583612274565b9150604051806040016040528083815260200184815250848281518110611bbe57611bbe612856565b6020908102919091010152611bd382846129bb565b925080611bdf81612885565b915050611b84565b509195945050505050565b8051606090611c0057600080fd5b6000611c0f836020015161216f565b90506000818460000151611c239190612786565b905060008167ffffffffffffffff811115611c4057611c406123df565b6040519080825280601f01601f191660200182016040528015611c6a576020820181803683370190505b5090506000816020019050611ab7848760200151611c8891906129bb565b8285612336565b6000611c9c600284612a4f565b15611cd657601082611caf600286612a63565b81518110611cbf57611cbf612856565b0160200151611cd1919060f81c612a77565b611d06565b601082611ce4600286612a63565b81518110611cf457611cf4612856565b0160200151611d06919060f81c612a99565b60f81b9392505050565b8051600090611d2157506000919050565b6020820151805160001a9060c0821015611d3f575060009392505050565b5060019392505050565b80611d5357505050565b60208110611d8b5782518252611d6a6020846129bb565b9250611d776020836129bb565b9150611d84602082612786565b9050611d53565b60006001611d9a836020612786565b611da690610100612bdb565b611db09190612786565b935183518516941916939093179091525050565b8051600090601514611dd557600080fd5b6110c282611a45565b60606000826000015167ffffffffffffffff811115611dff57611dff6123df565b6040519080825280601f01601f191660200182016040528015611e29576020820181803683370190505b509050805160001415611e3c5792915050565b6000816020019050611e578460200151828660000151612336565b5092915050565b8051600090602114611e6f57600080fd5b60008083602001516001611e8391906129bb565b51949350505050565b60008080611e99866110f1565b90506000815167ffffffffffffffff811115611eb757611eb76123df565b6040519080825280601f01601f191660200182016040528015611ee1576020820181803683370190505b509050845b8251611ef290876129bb565b811015611f95576000878281518110611f0d57611f0d612856565b01602001517fff000000000000000000000000000000000000000000000000000000000000001690508083611f428985612786565b81518110611f5257611f52612856565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350508080611f8d90612885565b915050611ee6565b50808051906020012082805190602001201415611fb55781519250611fba565b600092505b509095945050505050565b600060208251611fd59190612a4f565b1561203c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642070726f6f66206c656e67746800000000000000000000000060448201526064016105b8565b60006020835161204c9190612a63565b9050612059816002612bdb565b85106120c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4c65616620696e64657820697320746f6f20626967000000000000000000000060448201526064016105b8565b60008660205b85518111612161578581015192506120e0600289612a4f565b612115576040805160208101849052908101849052606001604051602081830303815290604052805190602001209150612142565b60408051602081018590529081018390526060016040516020818303038152906040528051906020012091505b61214d600289612a63565b975061215a6020826129bb565b90506120c7565b509094149695505050505050565b8051600090811a60808110156121885750600092915050565b60b88110806121a3575060c081108015906121a3575060f881105b156121b15750600192915050565b60c08110156121e5576121c6600160b8612be7565b6121d39060ff1682612786565b6121de9060016129bb565b9392505050565b6121c6600160f8612be7565b805160009061220257506000919050565b600080612212846020015161216f565b846020015161222191906129bb565b905060008460000151856020015161223991906129bb565b90505b8082101561226b5761224d82612274565b61225790836129bb565b91508261226381612885565b93505061223c565b50909392505050565b80516000908190811a608081101561228f5760019150611e57565b60b88110156122b5576122a3608082612786565b6122ae9060016129bb565b9150611e57565b60c08110156122e25760b78103600185019450806020036101000a85510460018201810193505050611e57565b60f88110156122f6576122a360c082612786565b60019390930151602084900360f7016101000a90049092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a0192915050565b8061234057505050565b6020811061237857825182526123576020846129bb565b92506123646020836129bb565b9150612371602082612786565b9050612340565b80611d8b57505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461046757600080fd5b600080600080608085870312156123ba57600080fd5b84356123c581612382565b966020860135965060408601359560600135945092505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612455576124556123df565b604052919050565b600067ffffffffffffffff821115612477576124776123df565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f8301126124b457600080fd5b81356124c76124c28261245d565b61240e565b8181528460208386010111156124dc57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561250b57600080fd5b813567ffffffffffffffff81111561252257600080fd5b610435848285016124a3565b60006020828403121561254057600080fd5b5035919050565b60008083601f84011261255957600080fd5b50813567ffffffffffffffff81111561257157600080fd5b6020830191508360208260051b850101111561258c57600080fd5b9250929050565b6000806000806000806000806080898b0312156125af57600080fd5b883567ffffffffffffffff808211156125c757600080fd5b6125d38c838d01612547565b909a50985060208b01359150808211156125ec57600080fd5b6125f88c838d01612547565b909850965060408b013591508082111561261157600080fd5b61261d8c838d01612547565b909650945060608b013591508082111561263657600080fd5b506126438b828c01612547565b999c989b5096995094979396929594505050565b6000806040838503121561266a57600080fd5b823561267581612382565b9150602083013567ffffffffffffffff81111561269157600080fd5b61269d858286016124a3565b9150509250929050565b6000602082840312156126b957600080fd5b81356121de81612382565b6000602082840312156126d657600080fd5b5051919050565b805180151581146126ed57600080fd5b919050565b60008060008060008060c0878903121561270b57600080fd5b865161271681612382565b80965050602087015194506040870151935060608701519250608087015161273d81612382565b915061274b60a088016126dd565b90509295509295509295565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561279857612798612757565b500390565b60005b838110156127b85781810151838201526020016127a0565b838111156127c7576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000825180604084015261280881606085016020870161279d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b60006020828403121561284d57600080fd5b6121de826126dd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156128b7576128b7612757565b5060010190565b838152600083516128d681602085016020880161279d565b60209201918201929092526040019392505050565b6000602082840312156128fd57600080fd5b815167ffffffffffffffff81111561291457600080fd5b8201601f8101841361292557600080fd5b80516129336124c28261245d565b81815285602083850101111561294857600080fd5b61295982602083016020860161279d565b95945050505050565b6000825161297481846020870161279d565b9190910192915050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156129b6576129b6612757565b500290565b600082198211156129ce576129ce612757565b500190565b600080600080600060a086880312156129eb57600080fd5b855194506020860151935060408601519250606086015191506080860151612a1281612382565b809150509295509295909350565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082612a5e57612a5e612a20565b500690565b600082612a7257612a72612a20565b500490565b600060ff831680612a8a57612a8a612a20565b8060ff84160691505092915050565b600060ff831680612aac57612aac612a20565b8060ff84160491505092915050565b600181815b80851115612b1457817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612afa57612afa612757565b80851615612b0757918102915b93841c9390800290612ac0565b509250929050565b600082612b2b575060016110c2565b81612b38575060006110c2565b8160018114612b4e5760028114612b5857612b74565b60019150506110c2565b60ff841115612b6957612b69612757565b50506001821b6110c2565b5060208310610133831016604e8410600b8410161715612b97575081810a6110c2565b612ba18383612abb565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612bd357612bd3612757565b029392505050565b60006121de8383612b1c565b600060ff821660ff841680821015612c0157612c01612757565b9003939250505056fea26469706673582212204af704f8cf49d01eaed053f5af2f6c93da8d4992022c8ade7b711bdd27fff84864736f6c6343000809003303f0aba7fb9dfcfc7afda1605abf6f494a0fa646b9142f9c3dcb76580939e427b60347995393c779b75e0d2f861f88de2921e51877685ce838f35bbc72870b0194b900582002041abc543b9c31f33c9e1c59a4d67ea3f017a41ab05ac7f145347d26579ddf4101005820020ff8086559e54b0b709669248dae952cf9a06269baaa214c5fa4efe4bf13bb410103fb0c607c5a9d3670b33b3c8a7afd1f6cb772874f2065aaad476c32491a25a3a2032728934642c88b0adb38ca831247293503efab273f267cf9a3674cbb1de675ba0058200253e875c93f9ad29a70df1f7d6585c6a5212492b49bbbded37ef341c40270f84101005820027fcb4b9068eb320f2669bada8006d05c2d9374139012641f8417ac466468e9410100582002de3726ce84c99c2a76b768f58a02f7cc02c6c4b9ddb26641a38ad74333a06a4101005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354fe5e5d361b2ad62c541bab87c45a0b9b018389a20362fc0c5a9ecb641538ffaa18731e88a2a4fc68a64a88c3c665d1d6f7f9ad5174005820024f97ce2ea53c32bb147a9856f3459c65d3c67f074e4bce362bf4c7f01b1bb34101005820024c80eb67fda65ac4be0a00ddd9a11449fae7d1468b540f027c05057b76b00241010219e2fb03c408ee9813db4737ea4367d2cc43ff171ba10efd35e3eeec48a338d363e8d55b005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace54f2119c5aeb734590477eae272990773df722b49d03384911429f18eb11dc934a0799b2bccbe04d44dde77667acd5599022c9bee07400582002ccfd3c9d207f534732c55cd21c77081290dff9156eafa7248f8be30ce0fb32410100582002a5beb6f18a632c7c3e53f6fb5315d20c252c932c0000b172f9cff37b11b0e2410100582002d9de7de5d17a3909f8400bf969f6d3b7a1f6c17a6ad587518d6a94b6dcfc68410100582002bf9e746a54e78429d3aba4954ce977e06d4a6e7f30d3172b08f2a1c75f9841410100582002e62663a6d5664873dcbd4aedb9043fb3c8db5095fc7f257faf791ba6f8f49141010058200261e6dd06f1a782095e8c696554c5d018cdbfc4043702d26fe913a03cd54f4b410103ad193f7799ba3dde0600c2b0368b3956f0ba3bb872bc650e8dcd0bd6b8aacd1e00582002ff5b3e4967b52a92668f2aeeff74a0d046fc4bdcc4f5ee5af0e2a8b4d367e0410103331fa7469f921940b418c2f3d580a19d99d37fb907bee99d72ee90cd470fa39202190ffd036385ec9b5b5a006988188015c508f2931242ed4e1dabe29d82f0a50f34abef6b03b7808ba3aec758198c9ddee9643f27479738f0111b8e092e933e46721c51561003971ed0acbdfc67d89e3af854a14fd74a427757e35cc2ce161a1ce28219ee41cf03a326eab6bde83e02d03146cc732d27679bae02e233244b1badb6d42fa77c84e703291da38ebc87cabb9ef40b2281c2d396e58639d6170ad9814404f0e11a636da4035a1a88cc6960a5f0a7a224d5cc1820dabec387654b81335c722e6883cbe21fd20324618dc7a8377414a3022a69cebf1c9eb32648a60b0d7da8a5876a98db63399903c63717b16514c8129e894cfea212f1f07eb2815fcea717314d577b6e342c257403942f716675e36242be728b239035906644e8b9ba639ae8e5f44132092495417d03a27f0f37292ac2e2e456a91de5071362ae5a02a724d4b3dd4c184c65926a00ab0389a6f013ea41fc1d7db0c9262e12558df9d001adac91293a9921cdc04ed4d25f0219ffff05581d02f149356a89e2e661d57aef5be464f4bfc08b73b6329bc7019a50c95c0701192c400219102005581e034fdbbf37e37879986d969d5c7b271e1f6a78c4cd0017af53bbb48afe500c181e480b1b25b274eeae6305581e0331d24bbc346df599db17d6589be874fe2442fa260af3d7d0fe13ecd7400c0146266156350b000219ddcb03cf8d5df598663a9b4bc9f7e27151c541f66334093c159f0d1125e7280e35b6eb03d9625c1a2746085b3d0986bcf7203914912c8aad64af3d1bb43a046a7eed073e03e46796032bc673a5f2bf5010795107e689cd653a53ffd902d93043f3c156bdfd038e751fd415ab322b53d4635d2c6093e265ef4a8367468781aa91075fefaf42f80360946d7e68f1e7dd3df12e00998ede55d6a771b7480abe609847e0cd1761d11a037ef12575f1386b1191af4f3f6a541c3e3fdff1d0d22a154e70c4b20e220b3be8032f304a24478823b6146327f4527d67187fb471b194257d43975158dbb5e829b303b480efa6f2312808a4a013761166203027f7bf2a0f7013e813b26ddaa51f8e230344ba749c856082d19367557eb045324289061447b5f970135e80d7d1d9bc840803d21dd1f4e32b8f73bee722e4e8c3e669693a5722d4ce096790e3eda04ebdd01103aa180e830ff70dce87342d1d09c42e22820cadf519c79e7db2e2bb7cd2e9111e032fbd0c44616c913e18eec2761a8f2594f14eb0e136f61b4403363195e67c708d03873c9fbbfd2a95bef14044988e49098ed827ace517511401e8eeeed4e24f5a900358748a6afadefeb2f0f6cabd7c7621b7f64e528ac4d78fe32a2eae6b76d9f54b0219ffff03bc52055f013423ce66d1c65ca517c92713e1366d5da274c167efd72b3f6c16c403c2050624409183fb512ae0b3ebaba433ab0eba8562873e03e1639657701bd68f032407e95271536ae65773aedc4148719470a9e12e951bece7acbcb44731006d3d0350fac67492b4d90bca91b8e769ae9a5a5bcad48196e054e604c12b797de3224403d52a8503216ca6ca5ba43e9739b16084dc50130ad8e3e3512b74b46b166dec9a03263ed8c0b91496b7b6d22cec012bfe9df16bc06286fb58c9315584447cd80b59031d56bcbcd4f275a50cf4226c2b246f96720346cc223dbe7a8632f5a248a5b3f403480bdcaae4d8e0a0acbbf0ae3015566af26b970f85c011aa2b5824fe81dc5ce803921e2202f9f5ad6a02968bdf7aaa7ea24909626f1325b4836f482f44f3f90146030980ff68b436ab41f8bd76ee77da024a8c85db97c31da47a4ee6279fdbf7b0700363e5a320918c4a502e61e829c864a0b671024056f1d8fcd23b9c411a7604292103901b5f4a430c845e9338ea272566ca342579162a9f106b9923f0771695f36e9a03582d65c2b9de7c928d7dbbe40ddf0f99cffa42dd3ef80cefa90df2e36d9ccd41034cc46c6b72cf96df8d64e3eba07c8f3e74ad2fa3c1adc635662105900b83689b03c1b908ed8db6e32cb8c3736c68ccb21fdef98b01490b40a83aa7324963f838220219ffff0361915d519d0b4dc1e957351fe0075774b5be7c70b2fc10d1f381c0c7350608b003d5be887edc2594e6743146bf38fdd594143ccf80c94117e8ff806eb12c52ae6b03e68af021bdb415a93360786fda1ed15266f75faddda0680bc3d5b6063145fa330339bf3b08eb53d6e930a2b69da1267dde29d27718526a2fd672f352480424404b03cad4e2fe9f4500aef83e7fa77aa640ec1c45ce095f37c9d7f899e4396753b99903ad18105720bd15d3082ba111311ffb2ba854cdd106a9346afe5acaea8bfd0d0a03ecda79b2f73a5be4ced1aae6bf0cda9e4fd841d0d2d14436df3ea39cd2b4e12b030e2d4f070347b6c4f89aaa681fdb79b9c715fbb60e546dfff5db4731bce821500219ffff032b10293944bcce520d1385b3f8ace027d892949f08d86f5e3b908ee771e415b6033b92e964a1054682937cbd253bf3599dbdec72f8e0e3d34f2f8b2ca3bba629a303c99fdcf341553482082330d03745f872d3dc3c25d43304d853dc983cb1d6857003fa14156c3d5fb17f0cf82e1970cf756fc026d121988687bdb5f489cb8b76ac0103687c4172f84975299a07769cb331f26fce33a2c479feeee316460ae771252a30031d72b7ff32d5a048d57f6c95d85a8e9af0682afbe20551e383391ef7a3d244900219ffff0356e70102fa49795227213b21cd2b9b0f4d60da6a4ec99e10f00dac88ab8e2a5e03dadfbdbca74602dbd0e85bda5aec9a3940575ceb13866aaabadd70e0b71bd9c50372b7f6417f0dd6045dbf53fb7f9c0aabbda9ed92cfd2abe34cf23b6eba22671c0333e7d353df33b9ed6e9bcc31af3d154ba0be59dfa718b78111e60c0a5e79560c031f4be22101c08ac1845984d2f81cec7a7ce6633de4e463b3a5f19e203c109a7603efee70bd48cdd1a91414b9b7c2e947cad1468bb74584a1d5224272755e2eb9eb039206b99c53e158e3ccfed12ea3c3937d2852428fd613f2abc6458e52bb925b5703472e7462fed7bae63f0d1ca22e73ab7598950564b7e6d45f912853bf72ca00970342537adad9bb5bc1fff5058d5fa64f3b39d2db4236ec4286361bb4fe0a2aec1c0341da8a36fe86e9379048983f88a5649a82e2c4415841329546ba0773b4fbe85803477bcf8fcb87820923e5761b0e6193af1e2195ec7dd48e881d911a5f8c1dff7e03f6f1f6df61c2f4a4b67e85991a9c8be1d7509f5b9136ba268da801ad073a67dd033d2eae5f5b1c9318ee1376cd293f932c1ef4c3e7a5eb0556d3cc3ef0d793706b03c22d30057bc538a63c7788c878a65544cd29392ebcd6521a48d1b809ce38311103d24cc5832cf1bbee191176b6c3edd6d560b7b308e5a5fa3e6c82af27b1e649c9038484bebaeddad7676659f9e2e143892a9cb3968cce7716c43f6987d89393e845036decf4541e9685a0612a25bd89ecf43ec42d990f8ca93a08b847d792a603bcc20392fc717bc0c37f0ac914de42890301ad06ce19579737930817ac928bf325e58003274ce1c84e570be9adb99d4ad3a303f64189e8e1314805035af1443d71ef30bd0344b81800f3cc138108cbe4d680326253bd4493162b496baf4e9ebbcf5f48b38d037af40cdf29194d3286142a653a4307aca48d3ee1e285930f774f5f41a59a5c43032a30221f6e63e75c0817f0177c94c5a459afefe34883e00c92cff61f69d9423e038ebe6aa54d18028833be71b9e6e59782b469a5bc334f74b7fdab235d26c2fb6c03d2fb7d5272012e8555667257c904e4fcc36e5949e8ed18bc2ec5922c758ebadc033e5bf96fbcee4d767610eebad508f405f3da0ffaffc17704c66b295bceb88387033f94b228737c843f8a267a6fb0d2912e8ca1a395507aed49238a50c1fafea66e03653c5c7adf5b29b0c791252b5b733ca0d8a2bcfa6a3a305fc36a2897d4eea29603d688f3294dcefe946ff4f51baf6f7123e0b547e26a0be29c890ebe9338b1f66903db9c90b4b5330897b743602efd77cb038f993664cd145934d170294510ede80d037604beeee83190024fda27889c2676898c5da03533aa7d7a279634e4166b47390381d267fa011244e6787dbfa4b15d2736d02ea1d7400db32445ef0a045d1ff84e03ca54b394df018ee3e13dd4fe52f927e68480b1e4fcb612d343ef1502653542e303ab152bfb1fded9e0fc882db03c331dd69056a0f537b01f93ec139e633a53e07a03cd6018a8fc6cbd7e34684288b3053fb30b79fd75cf03926dc43ae6c1a6dbb33a03adf7248b84effd2ed0cf62d86799ab0d62bb047351f0dba73b633bc748690ac3032d73bcd3c63ab79987dcde0f43c9bb20cb6df5b9863dc15ab9e4486dfa0645f603f794783c41b3010815975dabaa8b83eb42c99a0a5a53cf7f4e84f9aaec12db3d0349be2773e8ecee846fdbcc3ab5cf5452acdd8f20cfef0e48b2f2ec5e1720488905581e0397b4f3bae7ce900e46fec158a338f8abaf2edf7204623fc9be5e990dc00c0347124494dda83f560369384748cc29b011306ca90fbd305b01050dab49c19e1c0f3aa25719d53151b004592d53608060405234801561001057600080fd5b50600436106101cf5760003560e01c806370a0823111610104578063a457c2d7116100a2578063d505accf11610071578063d505accf14610443578063d547741f14610456578063dd62ed3e14610469578063ee99205c146104af57600080fd5b8063a457c2d7146103f7578063a9059cbb1461040a578063ca15c8731461041d578063d26b3e261461043057600080fd5b80639010d07c116100de5780639010d07c1461038e57806391d14854146103a157806395d89b41146103e7578063a217fddf146103ef57600080fd5b806370a082311461032a5780637ecebe001461036057806384b0196e1461037357600080fd5b80632f2ff15d1161017157806336568abe1161014b57806336568abe146102de57806339509351146102f157806340c10f191461030457806342966c681461031757600080fd5b80632f2ff15d146102b2578063313ce567146102c75780633644e515146102d657600080fd5b80630bec0886116101ad5780630bec08861461022457806318160ddd1461026a57806323b872dd1461027c578063248a9ca31461028f57600080fd5b806301ffc9a7146101d457806306fdde03146101fc578063095ea7b314610211575b600080fd5b6101e76101e23660046125da565b6104d0565b60405190151581526020015b60405180910390f35b61020461052c565b6040516101f3919061268a565b6101e761021f3660046126bf565b6105be565b610163546102459073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101f3565b60cb545b6040519081526020016101f3565b6101e761028a3660046126eb565b6105d6565b61026e61029d36600461272c565b60009081526065602052604090206001015490565b6102c56102c0366004612745565b6105fa565b005b604051601281526020016101f3565b61026e610624565b6102c56102ec366004612745565b610633565b6101e76102ff3660046126bf565b6106eb565b6102c56103123660046126bf565b610737565b6102c561032536600461272c565b610793565b61026e610338366004612775565b73ffffffffffffffffffffffffffffffffffffffff16600090815260c9602052604090205490565b61026e61036e366004612775565b6107f2565b61037b6107fd565b6040516101f39796959493929190612792565b61024561039c366004612851565b6108d9565b6101e76103af366004612745565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6102046108f8565b61026e600081565b6101e76104053660046126bf565b610907565b6101e76104183660046126bf565b6109d8565b61026e61042b36600461272c565b6109e6565b6102c561043e3660046128a2565b6109fd565b6102c5610451366004612914565b610cac565b6102c5610464366004612745565b610e6b565b61026e61047736600461298b565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260ca6020908152604080832093909416825291909152205490565b610162546102459073ffffffffffffffffffffffffffffffffffffffff1681565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f000000000000000000000000000000000000000000000000000000001480610526575061052682610e90565b92915050565b606060cc805461053b906129b9565b80601f0160208091040260200160405190810160405280929190818152602001828054610567906129b9565b80156105b45780601f10610589576101008083540402835291602001916105b4565b820191906000526020600020905b81548152906001019060200180831161059757829003601f168201915b5050505050905090565b6000336105cc818585610f27565b5060019392505050565b6000336105e48582856110da565b6105ef8585856111b1565b506001949350505050565b60008281526065602052604090206001015461061581611427565b61061f8383611431565b505050565b600061062e611453565b905090565b73ffffffffffffffffffffffffffffffffffffffff811633146106dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6106e7828261145d565b5050565b33600081815260ca6020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906105cc9082908690610732908790612a35565b610f27565b6101625473ffffffffffffffffffffffffffffffffffffffff163314610789576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106e7828261147f565b6101635473ffffffffffffffffffffffffffffffffffffffff1633146107e5576040517f6b35c3a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107ef3382611574565b50565b60006105268261173a565b60006060806000806000606060fb546000801b14801561081d575060fc54155b610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a6564000000000000000000000060448201526064016106d4565b61088b611766565b610893611775565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60008281526097602052604081206108f19083611784565b9392505050565b606060cd805461053b906129b9565b33600081815260ca6020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190838110156109cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016106d4565b6105ef8286868403610f27565b6000336105cc8185856111b1565b600081815260976020526040812061052690611790565b600054610100900460ff1615808015610a1d5750600054600160ff909116105b80610a375750303b158015610a37575060005460ff166001145b610ac3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106d4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610b2157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610b2961179a565b610b9d6040518060400160405280600481526020017f6d455448000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f6d45544800000000000000000000000000000000000000000000000000000000815250611833565b610bdb6040518060400160405280600481526020017f6d455448000000000000000000000000000000000000000000000000000000008152506118d4565b8151610be990600090611431565b6020820151610162805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216179091556040840151610163805491909316911617905580156106e757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b83421115610d16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016106d4565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d458c6119aa565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610dad826119e0565b90506000610dbd82878787611a28565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016106d4565b610e5f8a8a8a610f27565b50505050505050505050565b600082815260656020526040902060010154610e8681611427565b61061f838361145d565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061052657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610526565b73ffffffffffffffffffffffffffffffffffffffff8316610fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016106d4565b73ffffffffffffffffffffffffffffffffffffffff821661106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016106d4565b73ffffffffffffffffffffffffffffffffffffffff838116600081815260ca602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff838116600090815260ca60209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146111ab578181101561119e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016106d4565b6111ab8484848403610f27565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316611254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016106d4565b73ffffffffffffffffffffffffffffffffffffffff82166112f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016106d4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c96020526040902054818110156113ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016106d4565b73ffffffffffffffffffffffffffffffffffffffff808516600081815260c9602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061141a9086815260200190565b60405180910390a36111ab565b6107ef8133611a50565b61143b8282611b0a565b600082815260976020526040902061061f9082611bfe565b600061062e611c20565b6114678282611c94565b600082815260976020526040902061061f9082611d4f565b73ffffffffffffffffffffffffffffffffffffffff82166114fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106d4565b8060cb600082825461150e9190612a35565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260c960209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016106d4565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260c96020526040902054818110156116cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016106d4565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260c960209081526040808320868603905560cb80548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012f6020526040812054610526565b606060fd805461053b906129b9565b606060fe805461053b906129b9565b60006108f18383611d71565b6000610526825490565b600054610100900460ff16611831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106d4565b565b600054610100900460ff166118ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106d4565b6106e78282611d9b565b600054610100900460ff1661196b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106d4565b6107ef816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250611e4b565b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012f602052604090208054600181018255905b50919050565b60006105266119ed611453565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000611a3987878787611f0a565b91509150611a4681611ff9565b5095945050505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166106e757611a90816121ac565b611a9b8360206121cb565b604051602001611aac929190612a48565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526106d49160040161268a565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166106e757600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611ba03390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006108f18373ffffffffffffffffffffffffffffffffffffffff841661240e565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611c4b61245d565b611c536124b6565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156106e757600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006108f18373ffffffffffffffffffffffffffffffffffffffff84166124e7565b6000826000018281548110611d8857611d88612ac9565b9060005260206000200154905092915050565b600054610100900460ff16611e32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106d4565b60cc611e3e8382612b46565b5060cd61061f8282612b46565b600054610100900460ff16611ee2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106d4565b60fd611eee8382612b46565b5060fe611efb8282612b46565b5050600060fb81905560fc5550565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611f415750600090506003611ff0565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f95573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611fe957600060019250925050611ff0565b9150600090505b94509492505050565b600081600481111561200d5761200d612c60565b036120155750565b600181600481111561202957612029612c60565b03612090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016106d4565b60028160048111156120a4576120a4612c60565b0361210b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106d4565b600381600481111561211f5761211f612c60565b036107ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016106d4565b606061052673ffffffffffffffffffffffffffffffffffffffff831660145b606060006121da836002612c8f565b6121e5906002612a35565b67ffffffffffffffff8111156121fd576121fd612873565b6040519080825280601f01601f191660200182016040528015612227576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061225e5761225e612ac9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106122c1576122c1612ac9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006122fd846002612c8f565b612308906001612a35565b90505b60018111156123a5577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061234957612349612ac9565b1a60f81b82828151811061235f5761235f612ac9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361239e81612ca6565b905061230b565b5083156108f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106d4565b600081815260018301602052604081205461245557508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610526565b506000610526565b600080612468611766565b80519091501561247f578051602090910120919050565b60fb54801561248e5792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b6000806124c1611775565b8051909150156124d8578051602090910120919050565b60fc54801561248e5792915050565b600081815260018301602052604081205480156125d057600061250b600183612cdb565b855490915060009061251f90600190612cdb565b905081811461258457600086600001828154811061253f5761253f612ac9565b906000526020600020015490508087600001848154811061256257612562612ac9565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061259557612595612cee565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610526565b6000915050610526565b6000602082840312156125ec57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146108f157600080fd5b60005b8381101561263757818101518382015260200161261f565b50506000910152565b6000815180845261265881602086016020860161261c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006108f16020830184612640565b73ffffffffffffffffffffffffffffffffffffffff811681146107ef57600080fd5b600080604083850312156126d257600080fd5b82356126dd8161269d565b946020939093013593505050565b60008060006060848603121561270057600080fd5b833561270b8161269d565b9250602084013561271b8161269d565b929592945050506040919091013590565b60006020828403121561273e57600080fd5b5035919050565b6000806040838503121561275857600080fd5b82359150602083013561276a8161269d565b809150509250929050565b60006020828403121561278757600080fd5b81356108f18161269d565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0818401526127ce60e084018a612640565b83810360408501526127e0818a612640565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561283f57835183529284019291840191600101612823565b50909c9b505050505050505050505050565b6000806040838503121561286457600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000606082840312156128b457600080fd5b6040516060810181811067ffffffffffffffff821117156128d7576128d7612873565b60405282356128e58161269d565b815260208301356128f58161269d565b602082015260408301356129088161269d565b60408201529392505050565b600080600080600080600060e0888a03121561292f57600080fd5b873561293a8161269d565b9650602088013561294a8161269d565b95506040880135945060608801359350608088013560ff8116811461296e57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561299e57600080fd5b82356129a98161269d565b9150602083013561276a8161269d565b600181811c908216806129cd57607f821691505b6020821081036119da577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561052657610526612a06565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612a8081601785016020880161261c565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351612abd81602884016020880161261c565b01602801949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b601f82111561061f57600081815260208120601f850160051c81016020861015612b1f5750805b601f850160051c820191505b81811015612b3e57828155600101612b2b565b505050505050565b815167ffffffffffffffff811115612b6057612b60612873565b612b7481612b6e84546129b9565b84612af8565b602080601f831160018114612bc75760008415612b915750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612b3e565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612c1457888601518255948401946001909101908401612bf5565b5085821015612c5057878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b808202811582820484141761052657610526612a06565b600081612cb557612cb5612a06565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b8181038181111561052657610526612a06565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212207328b32cbff565bc41d27624ecdc07a7b0fa37f737a7c8cc88ee1dd052c91db164736f6c6343000814003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d03e5b52aa57fff38e48baabfbae6b112e8625c7baa4ad66e3dafae18300701192d5305581d03d1e2a480eb6ee67009ae1a98251a77702415e9c5e6106c7eba2085400c024793001d33d33e000219081005581d02ccf2e4f19b826041ebeba30dbf573fa67d5011a03de03727cb10fd9b0c0347048f84b27f880005581d02b21015a710d6271715195c5c62c3a98bfae994ba60f2c377ec0046ab0c01470460fe42dd757d021902a003eaac986ad02331219595cd1bd300f773a10547c2af40286f974008e804bf99f705581e03609f1cc8008803d7f698de7b0095c3f2ace586443c97cc4886ebc8a130040103cf991db76896c91579ffd41c1e7f9e1e990d77738292fe12249da5122e47c121039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581e0347789f789b5fde0bffc219a58b6b762df9d1bbd26bf024407af0f8081007011bffffffffffffffff021911dd03669c20cdb8181139eab4e266f83832b620653b3b20f19daa250d8158d0de1f7e03325575e3aeb7f0cc84ccffc1bd712a2b26ac614a8eae004777daebcf77426cd3030e2f0a819f0b552c12d1d6abf975db4ebf5d1c531cc9274ee71a54adfd932ee90367a7b07ed3fa25790fedb7c5c7b14fa9c846775bb686216257f06a0ac7ce64fb0219ffff0361a5bd2120073badf73bff67665ecf3b2e1b36fceed282c6e496497aa4213df7031404918a1ea0e1c38346fac9db18b18e63ed352c44a19a7166ec17132dc6b86d03c4a437c61763edc4707c8b88798c1a5b264644977611a35f9cf17b37ef35e47903fb8a0baa06db09e89cdf3671b69ab5146352a25b92fc7405b0843893f57b6a57032e4388d77d2d77c32c1a09b8e645a62f47ba44dc018c69dd1dac1bd524df61920347338a078a4fc7ce86b3c2602d91abf7cd0ee204113fb83ecdacd8c864d830140371eaa50f317d53b9fa6a3840823f52e6d16a162f7fd40468d99ea49e19d51f28033ee0ca070a012858f50904cb537adfc5bdde4e208a8d78e5c53ab7d7c3b080f70347376ca8d69d7b7ff53e67be73bdd04ca095cb35e4536342e4a2c8ea984410110219ffff03444d260e1787313e12561629d1fcf63fea0314feb9c5b7f3d14539aa0eea7abc0219ffff03acb51c83cc7b899b88589edc1031f6dae15b18078f1fb786232b4b7af0ab312c039c8d78b19565620a27e4b84a614898e321fe29123d4b4131e8105e22bbd183070350e60322911faf89f8f5ce0dac2d3a65beeca9615e539ab419d93cfa391a22d2039c8997260be6b4e4113bc4e37c5e905edb980ec5b515c2147e01c5c9659827ff03089e51a8738e0ddff9c7b934fe762470b98b26d1343ae6dd0e89a453796c427003d3ada71b8ff60150f32e3bf9772c45861158883a30f499349dd0cf5e088c06c803ca2c2aba9d94be61cfc4c857faba7e7b2cb374e35ee0088ee709cad5262025bc03fb32ab939c78a1340eb441b385e70a939a09214fa6f2d3c9e4a261d35c8b2dad030e044d6339291ec7985123b78a181df85a396f36d58e1c8119cecfdf7651fca003b94d79f26fa1167abff93b703885816db393bddd161068507a076ce86f0164f80219ffff03dc4f1dde80f588d583fa977ca17e21979372b02db283406a46ece40659fb66a1031a740a9a4a87cdc1a1446b6563b25bdb3a69a64294507d004fa115712d0eb6b503d4a0029d794f6831d2fc3c7833b3783c8d06abb3e5749cf5437251d7fb94a990036b83c49f5e431b5e916774a7e5b15a953e7f8e9a99259f70df37fcd3646962e603f76fd2fc23036565fd981953bd8c0639387b68d69395bbfaeb2b29945347dabb0363a3cdc2c285d7ca466e94875eac6c988b8ebd8debebe48e10e374250ea7ecf603a3cc29fe18cd6eaef407bb991acc18296308e1d1eccd92c7eae7d9ba91ee863303d28447cc72458d2f779d3b9dd88c50d0c884042e8d891b7ccff130000b2988ba0358903c08bdd5a4dd382caa8dc7a5239fb97c659ea82f2e47c50fc4fa03d4ebcb038835e2fde31bdf9aa53b84f2e9307f8d3b1a77d8b4006d3fefeb9e4ecac1bd2203b5e8b5249e261e67b73e129ee780ad1152df516ea082bc0f150d7976a828759803d5b42221394bcb1194dc618199d7f08d9a0d7d20d1f7e83d02384dc7a7a28ad603c9429698b72313f0522dfc9bb729a7103bd1f5fc34e8fd09bd829b849d2f070a032ef38bbe8e478a0fd0b37653b5169f06e8f4c530d09a6080cb8d20e56a471b0f03ecf4c9947bbb57c613cfd7c9371efa28fbbab60a38b79a29c46f2bdf2b992ba103546a8dc3dfacc0d219cc2466d41dc4b2a5726126ea45e029026a3bd6821d097a03ac54ba7ddf2a9340925bb3d09a9ee500cc0bf0134ca0ea856f6d7376111b240d05581e0313c85a535d1ea6aa237f8dd0f3fbde9a6b074b4068e153dad822316de00401031314c52610b88ed35054d755ae97f4a9ae110ad0b2c0d6a7bd4b6145b474039a03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03b8ecd8f38995810e2d7d6d6a81a8fbd306ab1427ec3d6e57308995c07007011bffffffffffffffff05581e0300928e2cc4aa19b6d4ae8feb3dc8d2dfc1dd1fc736e3775101222a25d0040503f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e038186ae06d1093f916ae568b7155822a19530303961c804884ba390e08007011bffffffffffffffff05581e0363837abbf47f8a895fdfce7811920c801bbc483810fdd80fd19d1f23a00c0146f1e76bdc5e1105581e03baefdf13f2a4ba5a1882555a3288185f84f83040c58c41dd28c38187300c044701456b5a23b368045910e7608060405234801561001057600080fd5b506004361061010a5760003560e01c806340c10f19116100a25780639dc29fac116100715780639dc29fac14610266578063a457c2d714610279578063a9059cbb1461028c578063c4d66de81461029f578063dd62ed3e146102b257600080fd5b806340c10f19146101f55780635c975abb1461020857806370a082311461021c57806395d89b411461024557600080fd5b806318160ddd116100de57806318160ddd146101ae57806323b872dd146101c0578063313ce567146101d357806339509351146101e257600080fd5b8062435da51461010f57806306fdde031461013f578063095ea7b31461017657806316c38b3c14610199575b600080fd5b606554610122906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6040805180820190915260128152710a4cadcf4de40a4cae6e8c2d6cac8408aa8960731b60208201525b6040516101369190610d6f565b610189610184366004610dd5565b6102c5565b6040519015158152602001610136565b6101ac6101a7366004610e0f565b6102df565b005b6035545b604051908152602001610136565b6101896101ce366004610e33565b610386565b60405160128152602001610136565b6101896101f0366004610dd5565b6103aa565b6101ac610203366004610dd5565b6103cc565b60655461018990600160a01b900460ff1681565b6101b261022a366004610e74565b6001600160a01b031660009081526033602052604090205490565b6040805180820190915260058152640caf48aa8960db1b6020820152610169565b6101ac610274366004610dd5565b610463565b610189610287366004610dd5565b6104f6565b61018961029a366004610dd5565b610576565b6101ac6102ad366004610e74565b610584565b6101b26102c0366004610e91565b610720565b6000336102d381858561074b565b60019150505b92915050565b60655460405163a2bdde3d60e01b81523360048201526001600160a01b039091169063a2bdde3d90602401602060405180830381865afa158015610327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034b9190610eca565b610368576040516354e2bf5d60e01b815260040160405180910390fd5b60658054911515600160a01b0260ff60a01b19909216919091179055565b600033610394858285610870565b61039f8585856108ea565b506001949350505050565b6000336102d38185856103bd8383610720565b6103c79190610ee7565b61074b565b606554604051632d63d9b560e21b81523360048201526001600160a01b039091169063b58f66d490602401602060405180830381865afa158015610414573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104389190610eca565b610455576040516365f9c9cb60e11b815260040160405180910390fd5b61045f8282610aa0565b5050565b606554604051632d63d9b560e21b81523360048201526001600160a01b039091169063b58f66d490602401602060405180830381865afa1580156104ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cf9190610eca565b6104ec576040516365f9c9cb60e11b815260040160405180910390fd5b61045f8282610b6d565b600033816105048286610720565b9050838110156105695760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61039f828686840361074b565b6000336102d38185856108ea565b600054610100900460ff16158080156105a45750600054600160ff909116105b806105be5750303b1580156105be575060005460ff166001145b6106215760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610560565b6000805460ff191660011790558015610644576000805461ff0019166101001790555b6001600160a01b03821661066b5760405163862a606760e01b815260040160405180910390fd5b6106bc604051806040016040528060058152602001640caf48aa8960db1b815250604051806040016040528060128152602001710a4cadcf4de40a4cae6e8c2d6cac8408aa8960731b815250610caa565b606580546001600160a01b0319166001600160a01b038416179055801561045f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6001600160a01b0383166107ad5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610560565b6001600160a01b03821661080e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610560565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600061087c8484610720565b905060001981146108e457818110156108d75760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610560565b6108e4848484840361074b565b50505050565b6001600160a01b03831661094e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610560565b6001600160a01b0382166109b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610560565b6109bb838383610cdb565b6001600160a01b03831660009081526033602052604090205481811015610a335760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610560565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a939086815260200190565b60405180910390a36108e4565b6001600160a01b038216610af65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610560565b610b0260008383610cdb565b8060356000828254610b149190610ee7565b90915550506001600160a01b0382166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216610bcd5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610560565b610bd982600083610cdb565b6001600160a01b03821660009081526033602052604090205481811015610c4d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610560565b6001600160a01b03831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610863565b505050565b600054610100900460ff16610cd15760405162461bcd60e51b815260040161056090610f08565b61045f8282610d2f565b606554600160a01b900460ff16610cf157505050565b6001600160a01b03831615801590610d1157506001600160a01b03821615155b15610ca55760405163ab35696f60e01b815260040160405180910390fd5b600054610100900460ff16610d565760405162461bcd60e51b815260040161056090610f08565b6036610d628382610ff1565b506037610ca58282610ff1565b600060208083528351808285015260005b81811015610d9c57858101830151858201604001528201610d80565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610dd257600080fd5b50565b60008060408385031215610de857600080fd5b8235610df381610dbd565b946020939093013593505050565b8015158114610dd257600080fd5b600060208284031215610e2157600080fd5b8135610e2c81610e01565b9392505050565b600080600060608486031215610e4857600080fd5b8335610e5381610dbd565b92506020840135610e6381610dbd565b929592945050506040919091013590565b600060208284031215610e8657600080fd5b8135610e2c81610dbd565b60008060408385031215610ea457600080fd5b8235610eaf81610dbd565b91506020830135610ebf81610dbd565b809150509250929050565b600060208284031215610edc57600080fd5b8151610e2c81610e01565b808201808211156102d957634e487b7160e01b600052601160045260246000fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680610f7d57607f821691505b602082108103610f9d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610ca557600081815260208120601f850160051c81016020861015610fca5750805b601f850160051c820191505b81811015610fe957828155600101610fd6565b505050505050565b815167ffffffffffffffff81111561100b5761100b610f53565b61101f816110198454610f69565b84610fa3565b602080601f831160018114611054576000841561103c5750858301515b600019600386901b1c1916600185901b178555610fe9565b600085815260208120601f198616915b8281101561108357888601518255948401946001909101908401611064565b50858210156110a15787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea264697066735822122001bd67bf6eca0de3ced1c2dc7928fe609dd005f4295205a4fe8285f40ed4d0f764736f6c63430008130033005821032821f182a3423a64b24bbd7e9f2087d86b589a78214e5b79132284e1ba5c2c704ad3c21bcecceda10000000058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041ff020505581e038bf326a8cd69b179f053da1e5ce887c7d6386555dbfb5bcc9ba21685c007011910e705581e036e95a919bf3565f910bc3132db4f23fae7a77a5f7f3cce83d36fce5450040103381f0348f39aa5f970fca2bfc614aa86904b676cf93f987001d5c1ab6b44667103b184ddf07b2831e5b7fe27aa9ee8a2606376627a4a8632a3b28bf7867d0b63e205581e03c34d9e69990fe344bbcf953765e3b42c3dddc57ef77678378307f3794007011bffffffffffffffff05581e03e860baa49aac28ccd74c5f7a2c193a17d19d383a08ac822bd18d61dc40040105581e03eafd06806e5b2ecc33dcd9641136963db7f6b2caa6e0d0526c891fedc004020219e3fd0355e35cfb8cd50ce692a0d76530e8923252064c186cf4f5b7e4961217c1d46f4c03621d37e8f196032d6940aebe87e1705823c5edc8e19e9b432751fe011a205b55039135eef3b15c751da95df940a3aa9c9cb63268bff9c1992531fd047a1487d732038840cc1824195bdcb0920ff3ba8c45207cb4a4e7c7a649cc5494a74e4b6363ea0380ce7a923f8bc33387ffa1ed6853f3fb07ed8bd7729b0f8dca30cce6479457b1033e5a77f973f0b1dae73266c1739808d1daa3c97352a866a3aa28fdb0e6fe372003b23e79578bec9d12bfc758a819ad510d74cfada9194eac40b9cc9b6fe9e81e5303c554b4833fd914429bd671c420918c87d524d87de055375348e5fb0baca11e51036e552eadafcc6f7de1e2453bb5baece97649c545d82d35f199a4281b79efa5210219ffff03037097135d137a7f299745fbb2b4cd293fa277eed163ed85942dee8588605598035657fa847bc6c3bc8fe3275e3f7e2449ca461d8666fa01059884c7a85cbd8fdc03263f72a434089354d8c3ff8908f54bb8d8c21a2eb3909d0df7954ced52637a45034a2da7a20678697754416122701065e97a93e8c64cca960eb7b77175bad7eee903b391a398587910f0b73feb05f03f04eff0ada30d2501f582dc7f656ec3e1a3370351610227272cdbd33a615f3dcfd5ffa467621fb00aed529fcee804c175e8a4fa0307a1182173ea849642ae3f82994d334f47c58426d1572015492e24637bc1996c032cff28e52026fafeb1eb97da5e2feea7a2d644c1f41ef638fd15e919cab4f8b903cc00ff0885e0bed9b8dd8163d99dd067cc976229e527ca5dcaa00dec4a5f0f5203fd122edea2c9f83ee1a4c239338d42dc2138418daa14b8337ae94ee843ef361c036802cb313acc8e06a17a940b692d113cc4b5fcd4ef3e62d9d01dcccdf73ffbd003e8a7acd3bdd0aedb8964a98f489d2fe2c8fdaada848bdb6ec8f69a3cb9446b0b03d765395a5a8f4c399d04cb0d4b844ef746364f5b926cbdda642cbd4f88a1ab150219ffff0310d25eebd68ad9ea4992141c1896c79fa5fedbfde9dfa0d1338d22c5b71c76860385ee1d1bc1a3ef358b18b6f841e9e782dcb908fdd3b9f821ce540b2cae80ec8a0306ccee8ecd7eaf87792dbd7d97cb296acbd9a2dd6dd11e21550b66ea2afb56da0330f4cb53f36479515803f2813fa79dd50ff966ef9676226b7784e1a1d3da4172039788a20cd7baad852ee1d5764c148619b8d94ab919ce91def93028139244b4a90325b8ebcde43212c68eca7d5fbb7261c8c580067e30efbe7590429e1ab0babcf503150da79b22c79a311ba1abb7af0ae19ba4d7fd312a3e375740b6fd6b9948823803c4772faa96aa04b954dd01cbda6bc4a1bf6b4125690b7d10ec71c5d040baa85603f3cc0c9af9fd295494bb12aa252354eeba2f954fd611345844e6c9a9a33b5e1b033663a61622472edfecf45299c1ae23177cbad57faf74ee170f87a77426f7893203b23b07502787f3563d2455287373d7df67735f8bf2443bad9ea57b4d20b058dc03cbba03e0306436b86a9f892856cc18ddbf4ae3c1d474f18f06595f4a2c73c4cb0219ffff03e541ff149c3821117c13c19bc99b37f328a1d25d179470aebe09decbfb952e58037d65a7c349eb37c655c0925776d95dd5f0c6663afc8645d02fbb4e9ca46f1b8603fcd97e790ef82e0cb1a75efdf2410e74957507ff236e7ca10032d189c8a02d6b035430a618334d313184c6f3a2d499bdd612f9dbaac0f5761653b7421d612c020a03ff8d64d37a029eeb37a76a4306b670a63819ee6917678b83569baf2be3faa09d03dc194815f6d22cf0ba77425bddf4259fffb92c5801e90249fb833ffdf00bae5103bd92dbe09bd257b339440f07a0ff827546e6402ca152a9fc38b2f871a8652e7d033bd217dea5a41592a72c511bac28c0ec5846214e05dd0d18330af19aba067b4d038aa6239758091c9df09d3afa7af3adfdb3c39d85e99fe19bc680f10b474c33720318f9563305fb9ed27279b34d068f8a9bcf557895cccd3c8a61a8b3077fec99740325117ad1f37de8a2f85959655b16eed70d9b58735e22beeb113f192030258c90039c2a3950f0065d88a122be2a64186b3598fdf5927995c1185be74765a3c434b10315ce924bd41bec9366e0e121f751cc6986f3954d3146b667c6e9375d54c95e0d03d00ef616504882a2e0afa8d87b056cc18f658a799d3a62481b22a66a6f5d246903579be1a5816ff5940887ac3cc29986ccb9f46712b6b7d3894c137b8a4d80405e03e06f96fc5f9617497abe22fc13fc3f561521fb8c70be3100cf6a44b47e54f6d8031110c4a2cc01357891418fd9548aa4a1ec5ec1a46b26569cc7a2f8f6949e6039031e3f4c3898c6c6a72f51ba78478928b33799f08a33f4632e03b5ec16ebaf017a03c3ad48b1fd0bda8c5d6680bb2921da7fde7fa49b8ca2dbb556bfd50173ddaa410335f0ef42cd0a70dcdffe95b132101256a5c5f23c8d2118fcf8c6d07cb191327603040ea67430a4d66e71add4552c4582eca4ea957ec08e628cde7869041ab9b6ce0359b871c2c8f973525863f18c2f6f18a44eb2f8840fd6a1bb919905b4f01e421d03be833adcfeeb21b1c9649a72411a8f3433f3a15c6c4d9d1a0117cae337ba000603c56db9c25ca86dd976de4d2ac3ca14db6b8281bc197cbb57d8e487330fc885060354bbade28616422c37385e189a28fba5409bee41180fa08089d58145e9f4d7c20302b5f2df1cd36888b2cfa5ff5c19a2c210f0d1472073efc437fefe9493c2c9cc0313581fa11ad687397d4912c381a6dc0ea10ea7cdc13c29e29a0a1a0dce53bc9103dcffdc07401d5fadd7506f43499428f144476c02796d82fa09344dce86d660fe0332dafcd2dc2d255c7ca2c926ac6fbd0e91a7e9ed1e0822e8b285058d97a013e003264c9e0ff37d87df9a6155c0e1551697e3d3674db6cfb3ef341df887bc6d75a903696bdd89d8801a173361a0c73a96198e7c43ff939323719910dd788f2693597303f1d900423b5b8f5c83c62d8b7c5c8ac90337d4ca82a44e36151a42a391dd0a31033b89c27479ecffb8887c2b739e31b8723a3001b740bb2ffe7d26379e90be9a0404595a8860806040526004361061021e5760003560e01c80639871efa411610123578063d1b260d4116100ab578063f3dced3c1161006f578063f3dced3c1461061f578063f3e144b61461063f578063f6932b0d1461065f578063f851a4401461067f578063fa461e331461069f57600080fd5b8063d1b260d4146105a4578063d8837daf146105b7578063e0af3616146105ca578063e99bfa95146105ec578063f2fde38b146105ff57600080fd5b8063b07482d2116100f2578063b07482d214610528578063b3ab15fb1461053b578063b80c2f091461055b578063ca68d8f61461056e578063d13a35e61461058457600080fd5b80639871efa4146104ac5780639989d481146104bf5780639a09b285146104d25780639a307391146104f257600080fd5b80633ba7cadf116101a657806373679b6b1161017557806373679b6b146103f3578063779e45fc1461041b5780638575654f1461043b578063869c6b4b1461044e5780638da5cb5b1461048e57600080fd5b80633ba7cadf1461035257806341f4a9591461037e5780636aa476451461039e578063715018a6146103de57600080fd5b80630d5f0e3b116101ed5780630d5f0e3b146102e157806312a0ddc7146102f45780631afca626146103075780631bb943fd1461031d578063355b97181461033257600080fd5b806301617fab1461027557806303b87e5f1461028857806308298b5a146102ae5780630c00e013146102c157600080fd5b366102705732330361026e5760405162461bcd60e51b81526020600482015260146024820152731155120819195c1bdcda5d081c995a9958dd195960621b60448201526064015b60405180910390fd5b005b600080fd5b61026e610283366004614c00565b6106bf565b61029b610296366004614caa565b610a5c565b6040519081526020015b60405180910390f35b61029b6102bc366004614d76565b610b6d565b3480156102cd57600080fd5b5061026e6102dc366004614de8565b610c30565b61029b6102ef366004614e29565b610e5a565b61029b610302366004614e9c565b610eb4565b34801561031357600080fd5b5061029b60215481565b34801561032957600080fd5b5061026e610f01565b34801561033e57600080fd5b5061026e61034d366004614ef3565b610f35565b34801561035e57600080fd5b5061029b61036d366004614ef3565b602080526000908152604090205481565b34801561038a57600080fd5b5061026e610399366004614f0c565b610f49565b3480156103aa57600080fd5b506103c67370cbb871e8f30fc8ce23609e9e0ea87b6b222f5881565b6040516001600160a01b0390911681526020016102a5565b3480156103ea57600080fd5b5061026e611006565b3480156103ff57600080fd5b506103c6735703b683c7f928b721ca95da988d73a3299d475781565b34801561042757600080fd5b5061026e610436366004614f5d565b61101a565b61029b610449366004614e29565b6110d1565b34801561045a57600080fd5b5061047e610469366004614f92565b60046020526000908152604090205460ff1681565b60405190151581526020016102a5565b34801561049a57600080fd5b506000546001600160a01b03166103c6565b61029b6104ba366004614e29565b6111dd565b61029b6104cd366004614e9c565b611241565b3480156104de57600080fd5b5061026e6104ed366004614f92565b61132e565b3480156104fe57600080fd5b506103c661050d366004614f92565b601f602052600090815260409020546001600160a01b031681565b61029b610536366004615050565b6113d6565b34801561054757600080fd5b5061026e610556366004614f92565b6114e5565b61029b61056936600461507f565b611547565b34801561057a57600080fd5b5061029b61012c81565b34801561059057600080fd5b506003546103c6906001600160a01b031681565b61029b6105b236600461507f565b611611565b61029b6105c5366004614e29565b611784565b3480156105d657600080fd5b506103c66000805160206159f383398151915281565b61029b6105fa366004615135565b61187a565b34801561060b57600080fd5b5061026e61061a366004614f92565b611a9a565b34801561062b57600080fd5b506002546103c6906001600160a01b031681565b34801561064b57600080fd5b5061029b61065a366004615236565b611b10565b34801561066b57600080fd5b5061026e61067a366004614ef3565b611b5a565b34801561068b57600080fd5b506018546103c6906001600160a01b031681565b3480156106ab57600080fd5b5061026e6106ba3660046152c0565b611b6b565b600160ff1b81166001600160801b038216806107125760405162461bcd60e51b81526020600482015260126024820152710616d6f756e74206d757374206265203e20360741b6044820152606401610265565b81156108aa5760405163052f523360e11b81526000805160206159f383398151915260048201523360248201523060448201526001600160801b03821660648201527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690608401600060405180830381600087803b15801561078d57600080fd5b505af11580156107a1573d6000803e3d6000fd5b5050604051632e1a7d4d60e01b81526001600160801b03841660048201526000805160206159f38339815191529250632e1a7d4d9150602401600060405180830381600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b50506040516000925033915047908381818185875af1925050503d806000811461084e576040519150601f19603f3d011682016040523d82523d6000602084013e610853565b606091505b50509050806108a45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572206e617469766520746f6b656e206661696c6564000000006044820152606401610265565b50610988565b806001600160801b031634146108fb5760405162461bcd60e51b81526020600482015260166024820152751d985b1d59481b9bdd08195c5d585b08185b5bdd5b9d60521b6044820152606401610265565b6000805160206159f38339815191526001600160a01b031663d0e30db0826001600160801b03166040518263ffffffff1660e01b81526004016000604051808303818588803b15801561094d57600080fd5b505af1158015610961573d6000803e3d6000fd5b50505050506109886000805160206159f383398151915233836001600160801b0316611d53565b604051848152600080516020615a338339815191529060200160405180910390a1600080516020615a13833981519152826109d75773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6109e7565b6000805160206159f38339815191525b83610a00576000805160206159f3833981519152610a16565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5b604080516001600160a01b03938416815292909116602083015233908201526001600160801b03831660608201819052608082015260a00160405180910390a150505050565b6000876080013542811015610a835760405162461bcd60e51b815260040161026590615312565b610a8b611d83565b6040518b8152600080516020615a338339815191529060200160405180910390a16001600160a01b038a16610af05760405162461bcd60e51b815260206004820152600b60248201526a6e6f74206164647228302960a81b6044820152606401610265565b89610b44610b03368c90038c018c61533a565b8a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c92508b91508a9050893388611ddc565b9250610b5560408b01358b3561216a565b50610b5f60018055565b509998505050505050505050565b60405160a087901c8152600090600080516020615a338339815191529060200160405180910390a16001600160a01b038416610bd95760405162461bcd60e51b815260206004820152600b60248201526a6e6f74206164647228302960a81b6044820152606401610265565b610bf16001600160a01b03881687878686338a612390565b9050610c26866001600160a01b03891615610c0c578861216a565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61216a565b9695505050505050565b806000816001600160401b03811115610c4b57610c4b614faf565b604051908082528060200260200182016040528015610c74578160200160208202803683370190505b50905060005b82811015610e0e57601f6000868684818110610c9857610c986153c0565b9050602002810190610caa91906153d6565b610cbb906040810190602001614f92565b6001600160a01b039081168252602082019290925260400160002054163314801590610d2d5750848482818110610cf457610cf46153c0565b9050602002810190610d0691906153d6565b610d17906040810190602001614f92565b6001600160a01b0316336001600160a01b031614155b15610d4b5760405163203b1cdd60e21b815260040160405180910390fd5b6000610d81610d7c878785818110610d6557610d656153c0565b9050602002810190610d7791906153d6565b612b73565b612baf565b90506020600082815260200190815260200160002054838381518110610da957610da96153c0565b602002602001018181525050600160ff1b838381518110610dcc57610dcc6153c0565b602002602001015103610df2576040516311b18c4b60e11b815260040160405180910390fd5b60009081526020805260409020600160ff1b9055600101610c7a565b50336001600160a01b03167f2d978b051248279fa3127485450ca814a26b9b0938be9f714eda15eaec5ca881858584604051610e4c939291906154a0565b60405180910390a250505050565b60405160a086901c8152600090600080516020615a338339815191529060200160405180910390a16000610e9b336001600160a01b03891688888888612be2565b9092509050610eaa868261216a565b5095945050505050565b6000600080516020615a3383398151915284604051610ed591815260200190565b60405180910390a1610ef73380610ef1368790038701876155c4565b8561307b565b90505b9392505050565b610f096133f2565b6040517f0b3b40bc6027444e59029877c53be6734ca3724242753ffe5aa1a6066635211f90600090a132ff5b610f3d6133f2565b610f468161344c565b50565b610f516133f2565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610ff657600080836001600160a01b03168360405160006040518083038185875af1925050503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150818190610fee5760405162461bcd60e51b81526004016102659190615604565b505050505050565b611001838383611d53565b505050565b61100e6133f2565b61101860006134e4565b565b6018546001600160a01b031633148061103d57506000546001600160a01b031633145b61106e5760405162461bcd60e51b81526020600482015260026024820152616e6160f01b6044820152606401610265565b6001600160a01b038216600081815260046020908152604091829020805460ff19168515159081179091558251938452908301527fede97de789011d2becb9fba8441864c3b17f4a20f7ebf0a77e93f30adc30e207910160405180910390a15050565b3360009081526004602052604081205460ff1615156001146111055760405162461bcd60e51b815260040161026590615637565b60405160a087901c8152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa15801561116a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118e919061565e565b90925090506001600160a01b0381166111b95760405162461bcd60e51b815260040161026590615698565b6111d16001600160a01b038916888888888787612390565b98975050505050505050565b60405160a086901c8152600090600080516020615a338339815191529060200160405180910390a161121d6001600160a01b038716868686863333612390565b9050611238856001600160a01b03881615610c0c578761216a565b95945050505050565b3360009081526004602052604081205460ff1615156001146112755760405162461bcd60e51b815260040161026590615637565b61127d611d83565b604051848152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa1580156112de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611302919061565e565b9092509050611321828261131b368990038901896155c4565b8761307b565b92505050610efa60018055565b6018546001600160a01b031633148061135157506000546001600160a01b031633145b6113825760405162461bcd60e51b81526020600482015260026024820152616e6160f01b6044820152606401610265565b601880546001600160a01b0319166001600160a01b0383169081179091556040519081527f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c9060200160405180910390a150565b60006113e0611d83565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6114056060840160408501614f92565b6001600160a01b0316036114525760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21039b7bab931b2903a37b5b2b760611b6044820152606401610265565b6114626060830160408401614f92565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156114a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cc91906156c0565b83526114da3085858561307b565b9050610efa60018055565b336000818152601f602090815260409182902080546001600160a01b0319166001600160a01b03861690811790915591519182527fd58299b712891143e76310d5e664c4203c940a67db37cf856bdaa3c5c76a802c910160405180910390a250565b600087608001354281101561156e5760405162461bcd60e51b815260040161026590615312565b611576611d83565b6040518a8152600080516020615a338339815191529060200160405180910390a16115ea6115a9368b90038b018b61533a565b8989808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508b92508a9150899050883380611ddc565b91506115fb60408a01358a3561216a565b61160460018055565b5098975050505050505050565b60008760800135428110156116385760405162461bcd60e51b815260040161026590615312565b611640611d83565b3360009081526004602052604090205460ff1615156001146116745760405162461bcd60e51b815260040161026590615637565b6040518a8152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa1580156116d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f9919061565e565b90925090506001600160a01b0381166117245760405162461bcd60e51b815260040161026590615698565b611777611736368d90038d018d61533a565b8b8b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508d92508c91508b90508a8888611ddc565b9350505061160460018055565b3360009081526004602052604081205460ff1615156001146117b85760405162461bcd60e51b815260040161026590615637565b60405160a087901c8152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa15801561181d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611841919061565e565b90925090506001600160a01b03811661186c5760405162461bcd60e51b815260040161026590615698565b611604828289898989612be2565b60008860800135428110156118a15760405162461bcd60e51b815260040161026590615312565b6118a9611d83565b89356001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed19810161190f5760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21039b7bab931b2903a37b5b2b760611b6044820152606401610265565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197a91906156c0565b905060006040518060a001604052808e6000013581526020018e60200160208101906119a69190614f92565b6001600160a01b031681526020018381526020018e6060013581526020018e60800135815250905060008c8c90506001600160401b038111156119eb576119eb614faf565b604051908082528060200260200182016040528015611a14578160200160208202803683370190505b50905060005b8c811015611a7a578e60400135848f8f84818110611a3a57611a3a6153c0565b90506020020135611a4b91906156ef565b611a559190615706565b828281518110611a6757611a676153c0565b6020908102919091010152600101611a1a565b50611a8b82828d8d8d8d308e611ddc565b95505050505061160460018055565b611aa26133f2565b6001600160a01b038116611b075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610265565b610f46816134e4565b60405160a089901c8152600090600080516020615a338339815191529060200160405180910390a1611b43888484613534565b610b5f336001600160a01b038b1689898989612be2565b611b626133f2565b610f4681610f3d565b611baf565b3d6000803e3d6000fd5b80611b8757611b87611b70565b600160005114601f3d11163d151780611bab57633c9fd93960e21b60005260046000fd5b5050565b604051601581017306ff0b40e9091053eee51fa1d482ce5d852f523360611b825260206000600484335afa611be657611be6611b70565b6020806004808501335afa611bfd57611bfd611b70565b60206040600460088501335afa611c1657611c16611b70565b6000806000881360018114611c32576020519250879150611c3b565b60005192508891505b507fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000008452606060002083527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460208401526001600160a01b0360558520169250338314611cb357635960139160e11b60005260046000fd5b60843592507306ff0b40e9091053eee51fa1d482ce5d852f523360611b845230831460018114611d2557826014860152836034860152336054860152816074860152611d206020600060846010890160007370cbb871e8f30fc8ce23609e9e0ea87b6b222f585af1611b7a565b611d48565b336010860152816030860152611d48602060006044600c89016000885af1611b7a565b505050505050505050565b611d668363a9059cbb60e01b848461369a565b6110015760405163fb7f507960e01b815260040160405180910390fd5b600260015403611dd55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610265565b6002600155565b60408801516000908990611e3d5760405162461bcd60e51b815260206004820152602260248201527f526f7574653a2066726f6d546f6b656e416d6f756e74206d757374206265203e604482015261020360f41b6064820152608401610265565b805160208201516001600160a01b0391821691611e5b9116856136ed565b9250611e6681613778565b15611ed5576000805160206159f38339815191526001600160a01b031663d0e30db083604001516040518263ffffffff1660e01b81526004016000604051808303818588803b158015611eb857600080fd5b505af1158015611ecc573d6000803e3d6000fd5b50505050503094505b6000805b8b51811015611f11578b8181518110611ef457611ef46153c0565b602002602001015182611f079190615728565b9150600101611ed9565b508260400151811115611f845760405162461bcd60e51b815260206004820152603560248201527f526f7574653a206e756d626572206f6620626174636865732073686f756c64206044820152741899480f0f48199c9bdb551bdad95b905b5bdd5b9d605a1b6064820152608401610265565b508515611fd35760405162461bcd60e51b815260206004820152601b60248201527f74686520706172616d65746572206973206465707265636174656400000000006044820152606401610265565b895188146120155760405162461bcd60e51b815260206004820152600f60248201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b6044820152606401610265565b60005b888110156120865761207e868661203b86602001516001600160a01b0316613778565b8e858151811061204d5761204d6153c0565b60200260200101518e8e87818110612067576120676153c0565b9050602002810190612079919061573b565b61379a565b600101612018565b50612095826020015185613954565b602082015183906120af906001600160a01b0316866136ed565b6120b99190615784565b925081606001518310156121085760405162461bcd60e51b8152602060048201526016602482015275135a5b881c995d1d5c9b881b9bdd081c995858da195960521b6044820152606401610265565b60208083015160408085015181516001600160a01b038087168252909316938301939093523290820152606081019190915260808101849052600080516020615a138339815191529060a00160405180910390a1505098975050505050505050565b601f193601356561aefa81eaab60d11b6001600160d01b0319821601611001576001600160a01b03811665ffffffffffff60a083901c1661012c8111156121f35760405162461bcd60e51b815260206004820152601b60248201527f6572726f7220636f6d6d697373696f6e2072617465206c696d697400000000006044820152606401610265565b600061220182612710615784565b61220b83886156ef565b6122159190615706565b9050612229856001600160a01b0316613778565b156122d7576000836001600160a01b03168260405160006040518083038185875af1925050503d806000811461227b576040519150601f19603f3d011682016040523d82523d6000602084013e612280565b606091505b50509050806122d15760405162461bcd60e51b815260206004820152601b60248201527f636f6d6d697373696f6e2077697468206574686572206572726f7200000000006044820152606401610265565b50612347565b60405163052f523360e11b81527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690612314908890339088908790600401615797565b600060405180830381600087803b15801561232e57600080fd5b505af1158015612342573d6000803e3d6000fd5b505050505b604080518281526001600160a01b03851660208201527fffc60ee157a42f4d8edbd1897e6581a96d9ed04e44fb2ab53a47ce1eb8f2775b910160405180910390a1505050505050565b60006125dc565b62461bcd60e51b600052600160e51b6020528060405250806000fd5b828152600060206000600484600401865afa6123e8576123e86054700419d95d081d1bdad95b8819985a5b195960621b612397565b505060005192915050565b6770a082310dfe168160c01b815260008060206000600485600401875afa61243657612436605672049d1bdad95b8c0818d85b1b0819985a5b195960521b612397565b600051915083836004015260206000602485855afa6124775761247760597c1562616c616e63654f662063616c6c206661696c656400000000000000612397565b60005190509250929050565b6770a08231d21220a760c01b815260008060206000600485600401875afa61243657612436605672049d1bdad95b8c4818d85b1b0819985a5b195960521b612397565b668b0367c240bc6b60c21b8152600060406000600484600401875afa61250e5761250e60587c1472657365727665732063616c6c206661696c65640000000000000000612397565b60005160205186801561253a5789156125325761252b8786612483565b8390039650505b909190612551565b88156125515761254a87866123f3565b8490039650505b50668b0367c240bc6b60c21b8452898502633b9aca00929092028201910204905084801561258b5781600484015260006024840152612599565b600060048401528160248401525b50886044830152608060648301526000608483015260008060a4846000885af16111d1576111d1605470041cddd85c0818d85b1b0819985a5b195960621b612397565b84602085028101858061260357612603604e6b0b656d70747920706f6f6c7360901b612397565b5060405182358b15600181146126ad5734156126395761263960557111696e76616c6964206d73672e76616c756560581b612397565b63052f523360e11b83528c60048401528760248401526001600160a01b03821660448401528b606484015260008060848560007370cbb871e8f30fc8ce23609e9e0ea87b6b222f585af16126a8576126a86056720498db185a5b481d1bdad95b8819985a5b195960521b612397565b61277f565b60018c3410036126d7576126d760557111696e76616c6964206d73672e76616c756560581b612397565b670a9059cbbd0e30db60c41b835260008060048086018f6000805160206159f38339815191525af1612724576127246056720499195c1bdcda5d081155120819985a5b195960521b612397565b6001600160a01b03821683600401528b83602401526020600060448560006000805160206159f38339815191525af161277f5761277f60587c147472616e736665722057455448206661696c65640000000000000000612397565b508a9450602084015b838110156127de5780356127d26001600160a01b03821663ffffffff60a01b851660a01c600160fd1b8616600160fc1b8716600160ff1b88166001600160a01b0389168d8b6124c6565b96509150602001612788565b5060009350600160fe1b811680156128c2576000945061282b3063ffffffff60a01b841660a01c600160fd1b8516600160fc1b8616600160ff1b87166001600160a01b0388168c8a6124c6565b9550672e1a7d4da9059cbb60c01b83528560048401526020600060248560006000805160206159f38339815191525af16128875761288760577c13776974686472617720455448206661696c6564000000000000000000612397565b600080600080898b5af16128bd576128bd60577c137472616e7366657220455448206661696c6564000000000000000000612397565b612b05565b60009350600160ff1b8216801561297457600160fc1b83161561296f576770a082310dfe168160c01b8452602060006004866004016001600160a01b0387165afa61292857612928605672049d1bdad95b8c0818d85b1b0819985a5b195960521b612397565b600051955087846004015260206000602486895afa6129695761296960567c15746f6b656e302062616c616e6365206661696c656400000000000000612397565b60005194505b612a10565b600160fd1b831615612a10576770a08231d21220a760c01b8452602060006004866004016001600160a01b0387165afa6129c9576129c9605672049d1bdad95b8c4818d85b1b0819985a5b195960521b612397565b600051955087846004015260206000602486895afa612a0a57612a0a60597c15746f6b656e312062616c616e6365206661696c656400000000000000612397565b60005194505b50612a488763ffffffff60a01b841660a01c600160fd1b8516600160fc1b8616600160ff1b87166001600160a01b0388168c8a6124c6565b95508460001060018114612ab157600160ff1b83168015612a8957612a826770a082310dfe168160c01b6001600160a01b038616876123b3565b9650612aab565b612aa86770a08231d21220a760c01b6001600160a01b038616876123b3565b96505b50612b03565b6770a082310dfe168160c01b845287846004015260206000602486895afa612afb57612afb60587c146765742062616c616e63654f66206661696c65640000000000000000612397565b846000510396505b505b505088841015612b3757612b37605a7c164d696e2072657475726e206e6f742072656163686564000000000000612397565b8a8152826020820152326040820152896060820152836080820152600080516020615a1383398151915260a082a1505050979650505050505050565b60006040517f5d068ce469dcf41137bcb6c3e1894e076ad915392f28fda19ba41601d33c32a68152610120836020830137610140902092915050565b6000612bdc612bbc613b71565b8360405161190160f01b8152600281019290925260228201526042902090565b92915050565b600080612f7c565b6000846001600160ff1b031015612c0c57630b3f79fd60e41b60005260046000fd5b604051600160ff1b8516156001600160a01b0386168160018114612c9957630251596160e31b8452600484018681526000602082015289604082015273fffd8963efd1fc6a506488495d951d5263988d25606082015260a06080820152602060a08201528760c08201525060008060e4866000865af180612c8d5760206000fd5b5060206000803e612cf5565b630251596160e31b845260048401868152600160208201528960408201526401000276a4606082015260a06080820152602060a08201528760c08201525060008060e4866000865af180612ced5760206000fd5b5060208060003e5b505050506000519050600160ff1b811015612d1b576322323ba760e21b60005260046000fd5b19600101949350505050565b600181341003612d4257631841b4e160e01b60005260046000fd5b600080600080846000805160206159f38339815191525af180611bab57611bab60577c1357455448206465706f736974206661696c6564000000000000000000612397565b604051672e1a7d4da9059cbb60c01b815282600482015260008060248360006000805160206159f38339815191525af1905080612de657612de660587c1477697468647261772077657468206661696c65640000000000000000612397565b60008060008086865af190508061100157611001605571045cd95b9908195d1a195c8819985a5b1959605a1b612397565b60006040517306ff0b40e9091053eee51fa1d482ce5d852f523360611b8152600080600483865afa905080612e6657612e666055710459d95d081d1bdad95b8c0819985a5b1959605a1b612397565b5060206000803e505060005190565b60006040517306ff0b40e9091053eee51fa1d482ce5d852f523360611b81526000806004808401865afa905080612e6657612e666054710459d95d081d1bdad95b8c4819985a5b1959605a1b612397565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8085612f12578235600160ff1b81161560018114612f0357612efc82612e75565b9350612f0f565b612f0c82612e17565b93505b50505b86612f48578335600160ff1b81161560018114612f3957612f3282612e17565b9250612f45565b612f4282612e75565b92505b50505b60405182600052816020523260405285608052600080516020615a1383398151915260a06000a16040525095945050505050565b83601f19602085028201018480612f9e576333f3e07b60e11b60005260046000fd5b50600034118015612fb657612fb289612d27565b309a505b88606052825b82811015612fde57612fd18a82358e30612bea565b309c509950602001612fbc565b506000600160fd1b833516118060018114612ffe57801561301c5761302c565b61300b8b85358f30612bea565b9650613017878d612d87565b61302c565b6130298b85358f8f612bea565b96505b508886101561305d5761305d605a7c164d696e2072657475726e206e6f742072656163686564000000000000612397565b61306a8183888688612ec6565b945050505050965096945050505050565b8151600090810361309f576040516387741f3360e01b815260040160405180910390fd5b826060015180156130b1575082513414155b80156130e357506000805160206159f38339815191526130d76060840160408501614f92565b6001600160a01b031614155b15613101576040516387741f3360e01b815260040160405180910390fd5b8260800151801561313857506000805160206159f383398151915261312c6080840160608501614f92565b6001600160a01b031614155b156131565760405163591c75ef60e01b815260040160405180910390fd5b428360400151101561317b57604051632b32713d60e01b815260040160405180910390fd5b8260800151613205576131946080830160608401614f92565b6040516370a0823160e01b81526001600160a01b03868116600483015291909116906370a0823190602401602060405180830381865afa1580156131dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061320091906156c0565b613211565b836001600160a01b0316315b9050600061322f846000015187878688606001518960800151613c64565b905080156132535760405163f70b432d60e01b815260048101829052602401610265565b83608001516132e8578161326d6080850160608601614f92565b6040516370a0823160e01b81526001600160a01b03888116600483015291909116906370a0823190602401602060405180830381865afa1580156132b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d991906156c0565b6132e39190615784565b6132fc565b6132fc826001600160a01b03871631615784565b915083602001518210156133235760405163a7c6745960e01b815260040160405180910390fd5b6040805184358152610180850135602082018190529181018390527f5018f79d04d45a1d0ef7df4f8a02c44c1b0b59cd11983e44f1e9dfaf071db2199060600160405180910390a1600080516020615a1383398151915261338a6060860160408701614f92565b61339a6080870160608801614f92565b6133aa6040880160208901614f92565b8851604080516001600160a01b0395861681529385166020850152919093169082015260608101919091526080810185905260a00160405180910390a150505b949350505050565b6000546001600160a01b031633146110185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610265565b60f081901c6001600160a01b03821661271082111561347e57604051634bd934b560e01b815260040160405180910390fd5b6001600160a01b0381166134a557604051633480121760e21b815260040160405180910390fd5b602183905560405183815233907f04e0c6a722afc105ccf81d8792757f388d3dad9bc137b2e269cfd6ee99faba999060200160405180910390a2505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8015611001576000606060e08390036135d5576040516001600160a01b0386169061356e9063d505accf60e01b90879087906020016157c1565b60408051601f1981840301815290829052613588916157e5565b6000604051808303816000865af19150503d80600081146135c5576040519150601f19603f3d011682016040523d82523d6000602084013e6135ca565b606091505b509092509050613644565b610100839003613606576040516001600160a01b0386169061356e906323f2ebc360e21b90879087906020016157c1565b60405162461bcd60e51b81526020600482015260136024820152720aee4dedcce40e0cae4dad2e840d8cadccee8d606b1b6044820152606401610265565b816136935761367a816040518060400160405280600f81526020016e02832b936b4ba103330b4b632b21d1608d1b815250614102565b60405162461bcd60e51b81526004016102659190615604565b5050505050565b60006040518481528360048201528260248201526020600060448360008a5af191505080156133ea573d80156136dc57600160005114601f3d111691506136e4565b6000863b1191505b50949350505050565b60006136f883613778565b1561370e57506001600160a01b03811631612bdc565b6040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015613754573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efa91906156c0565b6001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1490565b60006137d4838360008181106137b2576137b26153c0565b90506020028101906137c491906157f7565b608001356001600160a01b031690565b905060008083815b8181101561394757801561381a576137ff8787838181106137b2576137b26153c0565b94506138146001600160a01b038616306136ed565b9750309a505b30613826600184615784565b82148015613832575089155b1561383e57508961390b565b613849600184615784565b821080156138945750878761385f846001615728565b81811061386e5761386e6153c0565b905060200281019061388091906157f7565b61388e90602081019061573b565b90506001145b156139065787876138a6846001615728565b8181106138b5576138b56153c0565b90506020028101906138c791906157f7565b6138d590602081019061573b565b60008181106138e6576138e66153c0565b90506020020160208101906138fb9190614f92565b90506001945061390b565b600094505b61393b8c828b8b8b87818110613923576139236153c0565b905060200281019061393591906157f7565b88614265565b508392506001016137dc565b5050505050505050505050565b613966826001600160a01b0316613778565b15613af3576040516370a0823160e01b81523060048201526000906000805160206159f3833981519152906370a0823190602401602060405180830381865afa1580156139b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139db91906156c0565b90508015613a4357604051632e1a7d4d60e01b8152600481018290526000805160206159f383398151915290632e1a7d4d90602401600060405180830381600087803b158015613a2a57600080fd5b505af1158015613a3e573d6000803e3d6000fd5b505050505b478015613aed576000836001600160a01b03168260405160006040518083038185875af1925050503d8060008114613a97576040519150601f19603f3d011682016040523d82523d6000602084013e613a9c565b606091505b50509050806136935760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572206e617469766520746f6b656e206661696c6564000000006044820152606401610265565b50505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015613b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5e91906156c0565b9050801561100157611001838383611d53565b600030733b3ae790df4f312e745d270119c6052904fb6790148015613b965750600146145b15613bc057507f568575351b1514757989de9c786c66097e2ae26e38a5fd1b885ac2dd02b8b0bc90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f9569cad29571f225e7f2c73ecd677d78be383da74efd13f4af2bade05dc1a8de828401527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000428460e001351015613c7a57506002610c26565b60006080850135613c8f60a08701358a6156ef565b613c999190615706565b90506102208501356000613ccd8a83613cb860608b0160408c01614f92565b613cc860808c0160608d01614f92565b6145a1565b905080831115613d1657604080518281526020810183905291935083917facd4baa7803154e33bc54ca36afe61420bf31d5f1bf3587746c146d2f3a76e50910160405180910390a15b6000613d24610d7c89612b73565b9050613d8281613d3a60408b0160208c01614f92565b613d486101208c018c61580d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506147cf92505050565b94508415613d935750505050610c26565b613da284828a60a0013561480c565b94508415613db35750505050610c26565b8515613efb577370cbb871e8f30fc8ce23609e9e0ea87b6b222f58630a5ea466613de360808b0160608c01614f92565b613df360408c0160208d01614f92565b735703b683c7f928b721ca95da988d73a3299d4757886040518563ffffffff1660e01b8152600401613e289493929190615797565b600060405180830381600087803b158015613e4257600080fd5b505af1158015613e56573d6000803e3d6000fd5b5050604051632e1a7d4d60e01b815260048101879052735703b683c7f928b721ca95da988d73a3299d47579250632e1a7d4d9150602401600060405180830381600087803b158015613ea757600080fd5b505af1158015613ebb573d6000803e3d6000fd5b50506040516001600160a01b038c16925086156108fc02915086906000818181858888f19350505050158015613ef5573d6000803e3d6000fd5b50613f89565b7370cbb871e8f30fc8ce23609e9e0ea87b6b222f58630a5ea466613f2560808b0160608c01614f92565b613f3560408c0160208d01614f92565b8c886040518563ffffffff1660e01b8152600401613f569493929190615797565b600060405180830381600087803b158015613f7057600080fd5b505af1158015613f84573d6000803e3d6000fd5b505050505b8615614022576000805160206159f38339815191526001600160a01b031663d0e30db08c6040518263ffffffff1660e01b81526004016000604051808303818588803b158015613fd857600080fd5b505af1158015613fec573d6000803e3d6000fd5b505050505061401d8860200160208101906140079190614f92565b6000805160206159f3833981519152908d611d53565b6140f4565b306001600160a01b038b16036140665761401d61404560408a0160208b01614f92565b8c61405660608c0160408d01614f92565b6001600160a01b03169190611d53565b7370cbb871e8f30fc8ce23609e9e0ea87b6b222f58630a5ea46661409060608b0160408c01614f92565b8c6140a160408d0160208e01614f92565b8f6040518563ffffffff1660e01b81526004016140c19493929190615797565b600060405180830381600087803b1580156140db57600080fd5b505af11580156140ef573d6000803e3d6000fd5b505050505b505050509695505050505050565b606060048351106142335760208301516001600160e01b0319811662461bcd60e51b14801561413357506044845110155b156141d357602484810151808601820180519192909190614155908490615728565b61415f9190615728565b865110156141a75760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b6044820152606401610265565b84816040516020016141ba929190615853565b6040516020818303038152906040529350505050612bdc565b6001600160e01b03198116634e487b7160e01b1480156141f4575083516024145b156142315760248401518361420882614899565b6040516020016142199291906158a2565b60405160208183030381529060405292505050612bdc565b505b8161423d846148c1565b60405160200161424e9291906158d7565b604051602081830303815290604052905092915050565b60808201356001600160a01b0316600080614280858061573b565b9050905060005b81811015611d4857600061429e604088018861573b565b838181106142ae576142ae6153c0565b60200291909101359150506001600160a01b038116600160ff1b821661ffff60a084901c1661271081111561431b5760405162461bcd60e51b8152602060048201526013602482015272776569676874206f7574206f662072616e676560681b6044820152606401610265565b6143258188615728565b9650614332600187615784565b8503614399576127108711156143995760405162461bcd60e51b815260206004820152602660248201527f746f74616c5765696768742063616e206e6f7420657863656564203130303030604482015265081b1a5b5a5d60d21b6064820152608401610265565b8861440857600081612710146143c5576127106143b6838e6156ef565b6143c09190615706565b6143c7565b8b5b90506144068e6143da60208e018e61573b565b898181106143ea576143ea6153c0565b90506020020160208101906143ff9190614f92565b8b84614aa8565b505b81156144d2576144188a8061573b565b86818110614428576144286153c0565b905060200201602081019061443d9190614f92565b6001600160a01b0316636f7929f28d8561445a60608f018f61573b565b8a81811061446a5761446a6153c0565b905060200281019061447c919061580d565b6040518563ffffffff1660e01b815260040161449b9493929190615928565b600060405180830381600087803b1580156144b557600080fd5b505af11580156144c9573d6000803e3d6000fd5b50505050614592565b6144dc8a8061573b565b868181106144ec576144ec6153c0565b90506020020160208101906145019190614f92565b6001600160a01b03166330e6ae318d8561451e60608f018f61573b565b8a81811061452e5761452e6153c0565b9050602002810190614540919061580d565b6040518563ffffffff1660e01b815260040161455f9493929190615928565b600060405180830381600087803b15801561457957600080fd5b505af115801561458d573d6000803e3d6000fd5b505050505b84600101945050505050614287565b600060f084901c6001600160a01b038516806146c35760405163e6a4390560e01b81526001600160a01b03808716600483015285166024820152735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9063e6a4390590604401602060405180830381865afa158015614617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061463b9190615955565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561467d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146a19190615955565b9050846001600160a01b0316816001600160a01b0316036146c157600192505b505b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614704573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147289190615989565b5091509150816001600160701b03166000148061474c57506001600160701b038116155b1561475f576000199450505050506133ea565b8360010361479757806001600160701b0316826001600160701b03168a61478691906156ef565b6147909190615706565b94506147c3565b816001600160701b0316816001600160701b03168a6147b691906156ef565b6147c09190615706565b94505b50505050949350505050565b60608101516080820151600091906147f1856147ec888585614b3d565b614bac565b61480057600192505050610efa565b60009695505050505050565b6000828152602080526040812054600160ff1b81016148305760035b915050610efa565b8015801561483e5750600083115b156148465750815b80851115614855576004614828565b8085036148755760008481526020805260409020600160ff1b905561488e565b61487f8582615784565b60008581526020805260409020555b600095945050505050565b6060612bdc826040516020016148b191815260200190565b6040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b906000906148e99060026156ef565b6148f4906002615728565b6001600160401b0381111561490b5761490b614faf565b6040519080825280601f01601f191660200182016040528015614935576020820181803683370190505b509050600360fc1b81600081518110614950576149506153c0565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061497f5761497f6153c0565b60200101906001600160f81b031916908160001a90535060005b8451811015614aa0578260048683815181106149b7576149b76153c0565b01602001516001600160f81b031916901c60f81c601081106149db576149db6153c0565b1a60f81b826149eb8360026156ef565b6149f6906002615728565b81518110614a0657614a066153c0565b60200101906001600160f81b031916908160001a90535082858281518110614a3057614a306153c0565b60209101015160f81c600f1660108110614a4c57614a4c6153c0565b1a60f81b82614a5c8360026156ef565b614a67906003615728565b81518110614a7757614a776153c0565b60200101906001600160f81b031916908160001a90535080614a98816159d9565b915050614999565b509392505050565b306001600160a01b03851603614ac857614ac3828483611d53565b613aed565b60405163052f523360e11b81527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690614b05908590889088908790600401615797565b600060405180830381600087803b158015614b1f57600080fd5b505af1158015614b33573d6000803e3d6000fd5b5050505050505050565b60006001600160ff1b0382167f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1811015614aa0576040518581528360ff1c601b016020820152846040820152816060820152600080526020600060808360015afa505060005195945050505050565b6000826001600160a01b0316826001600160a01b03161480614bea57506001600160a01b038084166000908152601f60205260409020548382169116145b15614bf757506001612bdc565b50600092915050565b60008060408385031215614c1357600080fd5b50508035926020909101359150565b6001600160a01b0381168114610f4657600080fd5b8035614c4281614c22565b919050565b600060a08284031215614c5957600080fd5b50919050565b60008083601f840112614c7157600080fd5b5081356001600160401b03811115614c8857600080fd5b6020830191508360208260051b8501011115614ca357600080fd5b9250929050565b60008060008060008060008060006101408a8c031215614cc957600080fd5b8935985060208a0135614cdb81614c22565b9750614cea8b60408c01614c47565b965060e08a01356001600160401b0380821115614d0657600080fd5b614d128d838e01614c5f565b90985096506101008c0135915080821115614d2c57600080fd5b614d388d838e01614c5f565b90965094506101208c0135915080821115614d5257600080fd5b50614d5f8c828d01614c5f565b915080935050809150509295985092959850929598565b60008060008060008060a08789031215614d8f57600080fd5b8635955060208701359450604087013593506060870135614daf81614c22565b925060808701356001600160401b03811115614dca57600080fd5b614dd689828a01614c5f565b979a9699509497509295939492505050565b60008060208385031215614dfb57600080fd5b82356001600160401b03811115614e1157600080fd5b614e1d85828601614c5f565b90969095509350505050565b600080600080600060808688031215614e4157600080fd5b85359450602086013593506040860135925060608601356001600160401b03811115614e6c57600080fd5b614e7888828901614c5f565b969995985093965092949392505050565b60006101408284031215614c5957600080fd5b600080600060e08486031215614eb157600080fd5b83359250614ec28560208601614c47565b915060c08401356001600160401b03811115614edd57600080fd5b614ee986828701614e89565b9150509250925092565b600060208284031215614f0557600080fd5b5035919050565b600080600060608486031215614f2157600080fd5b8335614f2c81614c22565b92506020840135614f3c81614c22565b929592945050506040919091013590565b80358015158114614c4257600080fd5b60008060408385031215614f7057600080fd5b8235614f7b81614c22565b9150614f8960208401614f4d565b90509250929050565b600060208284031215614fa457600080fd5b8135610efa81614c22565b634e487b7160e01b600052604160045260246000fd5b600060a08284031215614fd757600080fd5b60405160a081018181106001600160401b038211171561500757634e487b7160e01b600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015261503360608401614f4d565b606082015261504460808401614f4d565b60808201525092915050565b600080600060e0848603121561506557600080fd5b833561507081614c22565b9250614ec28560208601614fc5565b600080600080600080600080610120898b03121561509c57600080fd5b883597506150ad8a60208b01614c47565b965060c08901356001600160401b03808211156150c957600080fd5b6150d58c838d01614c5f565b909850965060e08b01359150808211156150ee57600080fd5b6150fa8c838d01614c5f565b90965094506101008b013591508082111561511457600080fd5b506151218b828c01614c5f565b999c989b5096995094979396929594505050565b600080600080600080600080610120898b03121561515257600080fd5b61515c8a8a614c47565b975060a08901356001600160401b038082111561517857600080fd5b6151848c838d01614c5f565b909950975060c08b013591508082111561519d57600080fd5b6151a98c838d01614c5f565b909750955060e08b01359150808211156151c257600080fd5b506151cf8b828c01614c5f565b9094509250506101008901356151e481614c22565b809150509295985092959890939650565b60008083601f84011261520757600080fd5b5081356001600160401b0381111561521e57600080fd5b602083019150836020828501011115614ca357600080fd5b60008060008060008060008060c0898b03121561525257600080fd5b88359750602089013561526481614c22565b9650604089013595506060890135945060808901356001600160401b038082111561528e57600080fd5b61529a8c838d01614c5f565b909650945060a08b01359150808211156152b357600080fd5b506151218b828c016151f5565b600080600080606085870312156152d657600080fd5b843593506020850135925060408501356001600160401b038111156152fa57600080fd5b615306878288016151f5565b95989497509550505050565b6020808252600e908201526d149bdd5d194e88195e1c1a5c995960921b604082015260600190565b600060a0828403121561534c57600080fd5b60405160a081018181106001600160401b038211171561537c57634e487b7160e01b600052604160045260246000fd5b60405282358152602083013561539181614c22565b806020830152506040830135604082015260608301356060820152608083013560808201528091505092915050565b634e487b7160e01b600052603260045260246000fd5b6000823561013e198336030181126153ed57600080fd5b9190910192915050565b6000808335601e1984360301811261540e57600080fd5b83016020810192503590506001600160401b0381111561542d57600080fd5b803603821315614ca357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600081518084526020808501945080840160005b8381101561549557815187529582019590820190600101615479565b509495945050505050565b60408082528181018490526000906060808401600587901b850182018885805b8a8110156155af57888403605f190185528235368d900361013e190181126154e6578283fd5b8c018035855261014060206154fc818401614c37565b6001600160a01b031681880152615514838b01614c37565b6001600160a01b03168a88015261552c838a01614c37565b6001600160a01b0316898801526080838101359088015260a0808401359088015260c0808401359088015260e0808401359088015261010061556f818501614f4d565b151590880152610120615584848201856153f7565b945083828a0152615598848a01868361543c565b9983019998505050949094019350506001016154c0565b50505085810360208701526147c08188615465565b600060a082840312156155d657600080fd5b610efa8383614fc5565b60005b838110156155fb5781810151838201526020016155e3565b50506000910152565b60208152600082518060208401526156238160408501602087016155e0565b601f01601f19169190910160400192915050565b6020808252600d908201526c6f6e6c79207072696f7269747960981b604082015260600190565b6000806040838503121561567157600080fd5b825161567c81614c22565b602084015190925061568d81614c22565b809150509250929050565b6020808252600e908201526d6e6f74206164647265737328302960901b604082015260600190565b6000602082840312156156d257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417612bdc57612bdc6156d9565b60008261572357634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115612bdc57612bdc6156d9565b6000808335601e1984360301811261575257600080fd5b8301803591506001600160401b0382111561576c57600080fd5b6020019150600581901b3603821315614ca357600080fd5b81810381811115612bdc57612bdc6156d9565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160e01b031984168152818360048301376000910160040190815292915050565b600082516153ed8184602087016155e0565b60008235609e198336030181126153ed57600080fd5b6000808335601e1984360301811261582457600080fd5b8301803591506001600160401b0382111561583e57600080fd5b602001915036819003821315614ca357600080fd5b600083516158658184602088016155e0565b6508ae4e4dee4560d31b90830190815283516158888160068401602088016155e0565b602960f81b60069290910191820152600701949350505050565b600083516158b48184602088016155e0565b650a0c2dcd2c6560d31b90830190815283516158888160068401602088016155e0565b600083516158e98184602088016155e0565b670aadcd6dcdeeedc560c31b908301908152835161590e8160088401602088016155e0565b602960f81b60089290910191820152600901949350505050565b6001600160a01b03858116825284166020820152606060408201819052600090610c26908301848661543c565b60006020828403121561596757600080fd5b8151610efa81614c22565b80516001600160701b0381168114614c4257600080fd5b60008060006060848603121561599e57600080fd5b6159a784615972565b92506159b560208501615972565b9150604084015163ffffffff811681146159ce57600080fd5b809150509250925092565b6000600182016159eb576159eb6156d9565b506001019056fe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21bb43f2da90e35f7b0cf38521ca95a49e68eb42fac49924930a5bd73cdf7576c7724394874fdd8ad13292ec739b441f85c6559f10dc4141b8d4c0fa4cbf55bdba264697066735822122086de79ead0fb270f5ba155e53602dfc8ed82c71fdd9d09db0688152e77f6d3ff64736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d01b673cfc6441b0ab383327afaf3ad1019455170058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6041010219080405581d0222a6136796a4543993032dac350fd03a38b21b9171733dc96a647ab90701195a8805581d02213db77e19bf46a10eac2cc934eb93da061b24922305d34507e19ee704010219040105581e03bba256d6d66ad6a711d3b9d82772be67a8ae407e1ef7a71ac166da7fe00c0147024d62d7fa523b03c29ba103680f2a5969c810900a54d65ba114eed252f3ae79dfc831b53274327b039e570bb9c762292ffd1b2f83ea25d6e68fe1bbb49af4b1150d02da3b75be4a5c03ccbc414f180ccbae836c4938ca3a85fbd0d4e397e809418d8f7cc83090b1293e0219e70e03602be9dd1fac2a83b31fba97e30e5b2a5a50938e05d7481aca2b31bc07b7892203709c2e28c97713ea6148c8e927c4722871ffd908dac25a47d178dafa57d663a3039b5ba9e59aa720b27edbc05b9fa3e64efbdb55af554492526bcda64782150e65030d51868fa67dee90cf565fa6c40af4d7158076f082e1bedf7e945875a6ee141903266159f6836de0ad1682089250b2bbc8e74dc1cf6cd35b400b4b1c9c62e76e5703cbc34d9bf51c51134a309f40826de0df7032c45eb8b284b0834c98b5f1d5bd450219ffff0392d8e422ecb7684fc0a26c8435b32b7ac8ddbbaf7fe98e791574fc0a903de0a203d6f67c08eb0c6a50267b76d5462de5a980dd1f3e2f57d19626b502a2ce0c2ef10219ffff03232c4dbea54b335fb249e78d8e339ee85b5b27e73593ebb863e5651b0e7bb755032ca38a9db335d0c2c4ed2548cd13f6c82ab82a3091244015576d92565b9f7cf203aa476c3c11097a9f3b1f966d4de9099ba3f12116d1c3ccd06de020aa1c2bae110329c2bdb46590464736286542b8ebc13d6f0bfa783e014cc0e5ea0f4d87790a4c03a3f3ec44330da199cc9aee219147025a467019432243870c18c5ee3a0a9da9a50391c7829d9771305fbfb77ece2bf188feaeffe9f6f198c7a4517f4636034e19190350e1a621487b30bb20f5e7bd90109c9157056e364528f3d1b16a315ed83ad6b20383dc8af67a6a9fb6f4c8c203391c79253cad71f068f42fde63ac37c162e5014c038081a43121e0d7b60a3152555f57f301c2c5f57656bace9338c310a2e86c78ae03574da74d6a833d7768a0699f1f2da04ef8d8719b3625097d1b78feab812d2f6a03f547d3c32ba3662ae6e98ba4c148ef9796f6086256b59d4536d2e3f3182249cd0352fccf30626acff42e3942ff6c08910f20d6e0c332bf16a59455a3c6f2bba4f40219ffff038b34ae7bc1f9d3536fb858aa08c6eab6111d3c36527949fc32fc90bd7a1db4fd03d17fc19dcad013539daba0207a796cc7e66ae0ca3a19ccccd5af0ff884305eeb03ec2bfa183317cac339687435a863219569610749fa7607b51ddf8a3c94e5226d03f05a9efab25e26a135094a0d105cf04efcae0e75bbc78840be08aa184399842f0219ffff0322c55604c8bedfbfe83e212fb8e021995ca70738c9208704e2037161ee9a37b403bf6d487d9be48e74deaaabae5dda38e181e1ffd6f675dce9a8d5f554f9cc5c7503847783eb27920d7dc74b399b3e4750f16a48a0745668f5a1e76d7d820a00e80303e3fe621a20b61a1aa4d6dbb9cdfed79dc1965eb1d05075d386eea9f239bfb19403a33555c928c91c9dfd1576b98b038ad660b294e5677b06c757e5aa92dc4d5fe903ae77288d94c407482b54078c19a37dffc973b037e64256600289da4118bc1c6103ff22f0f9f215d92b527f47d8c2a145d913d8fd3441a5f0ef0816d9359f71a708034240fb8103ce56fc4e0e92a9c2202dfa21140cba89f7525e6d576e16684ae95a03528bc580c31f606e92505eb1b25e1cd795f659bac671ee0465a62d04686ec52003661ab9f6d4d275535088f88c83b42badc340142e6cc55f3d4605526f43de12bd03046b62c58faa27c5113082e2fb46f781b827831c4e8f1e665c3161f1828068b10354306d0bb89f5c053ce8d851f02d77539b72034991f59b5a1727e76f1a2f9b5003968e787aa9bf028d15ea51e6baf8e04b970bd43fb1d5f8a25199a7f6e7c179b703d5763a7c22e7b1783d3aec1a344c18e8de35e6030b7afe6c8526a5108b5fe8b403a5f02d821c9dfdbed186128d6c4bb348be3a15a19678000ba2c397440767d7b803c55fc0446c291a52c0b4a48b4bd3c3bc72649bd75cd486092e7891240b1d8fdb038b7549e6d8929f71c337ed03c71953f011f4525145667bc88488522eb048398403a397e7d4e2e33722678279499281c920d95d61d18afad1f3990c0de31622164603e105d6908aafd143ba6a043905aa24e5ed87a950781a785bc6a44b9ebaa0110f03cbf103fe5fb822e2c4e9482277f901093b58ce68a19e74f746f05ee15c62e28103e80cf0a9a081dfb5cd6b7d9ab5d2f7055fecd4b1905e701c88313624e18f400f03694201bc63c842cf0753e517eb4985caf57ad84698235081cb8a6dc323c9537903f83a3ca4a8113c2caae99ccff9fe9f8501b3242d43274064e4cd908d34005d8f03ef3337c8d79562b9b53108d638a23515f2c23fcd820ed9b6bd4e3dcc535852b80399674f42ab969fa1083b64f3eda10e43040ed4f180f84a8f4d781703669f7e7703c95c1c2882bdf36a10db25060db1420fb80aced02b0c25ea771fb4a74eb32500035c9b63b1937fcf172db596911ed270768d708c9e8561503b975741e6039418f70373abff1363e653cf53576d85091335b5c99d8f1b6679a79f366b4e7c44c192e3038a4b7218229e718eb0a8333f4794f94c63d63bfa69f842307e5d63d9d09e0bd30390f648b6b7e0421aaeb5e41f7a468506a99f5e1b8ba614afe9d5c4c96f84092f03bb0ef8d9c0f25446408f52fc5c8f6f27b2695adf41b956ad1b65818dbdab7d5403371510709284a4891464d28ac50601415a963323ab0931fba8d3cb0bfbd2bbce05581e03786dff5711e4ec6a99a37413cd90755d8c2604478165c3ee11acd131500c02466304cc2d708805581e0350f76f0da4b8a60fe33269b2fbe2d18f17efe36dbdf4bcc8a76724b1700c064672da9dee38c003fa2be72bbc2357a2fa02daa9e797eb2a79e8dd13ba557e697503b3dd15b9d1af0366e9c5f734e57d1c9022e8625fe83123b1cee80482051960f5451517595df4b5031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d024981a16faba5a6235d251380dc7470c376a132afcddfecbe18c696e507011bffffffffffffffff05581d02f8a66f596c138882d074b7bd6ecd5924f9ab8e50c61a1b611195a9fe0c19056b4809f0ed3432eb71690219030002194462035adc683310ea8d6ddba560e0bef1287b83fc03f9a177b4b942347c03412fc1b703bdbc335f32c382627d4a82b0fdd5de846336df495cdc0bf3d9231fe669f4484a0219ffff033fbb23de747db2f4361b3983838d971d1df7376907a9960cabf6540c5b2950f703ffb3299038ccc8a91fc1b8ba154aca9c15933ae94744af3b290f35ebafff9ea2032c600219edd0ee23de8522e1cd788d5fa61369da6cb91d2b86eed2e08ae6490f03be3866cd7ca2ea58e280bf668ac9f24a1658912b780fe0eb11354507f5ef0a3503edc01f2434090f7297a36ef3485d8c964640a9b389da831a4f3bba79e5b11fe403f060773d893345c0b4eec71ff1f82aae48b0ac3613e3d7f2c8ac0d5572747f4703d273f2c0186482aaee1a6e9ce3c354f3b874710106bac0d7ebccfb2748b869d803c04cd0655b5647fba0214111fdeb5ca0b7399167cbbf1612c61b9e923ac4218f03b701aafaffe5512385163da613b816e115d71b531ed3bea2f1cf01d6985a883703223dcefeed0fd5d7b8a8c2473fa6c3fc8f72656e1d9ef76f387b1d4cba1e76c003ebbc54167dab5bcc28299fab2411b6d323ceafabb36d43e7b05e24a481f8e26b0219ffff03ce637fb538fdc8fef87cee0246dbf25784330aa80a6c7516fb687d0b3ef50ded0219ffff0314a1561f3441593745d8be8b73eb5876d1ef44c3c5eb9e7153a691a5f21d3a4903a1d4208050bcdfabe39803e73f1a24394d5de08d8a1621f710ef96dd4a064481030558cca4a9e2cad8420ca15df84e46606c2c910df08a9ba245c87702dc0c6b0c035b23e7e3adacb3f70f776452cc374f22d0574998c580bd91adcd098c1a93f9ba035ef6ec1e7f72b63e926c1d26a9e26c05ed3596593acdb201863bc1ed21dbd06903218c3d31c6e386887b184b55ca4da5bf7580bce4ee6332f2e23e6684441375720322110189ac90564c93cddff16f96ff3b2adc14e3055921961046666b4396bce0036ed85588db4e295c94702ca638be601228441d80b03f894f08c34a56ac957dbf03d98c3e8e0232399ddb8396e546f19ad2d60e6e468b760a92cafe0574c0fec93603a73f358c98c0b4230566247948a6ddb47e7de6b020e4d2bb456e22cf9bfda87f03bd06a7c78e14df162f7737867d93e4742df74aabe280710d7a19f8b4c4819541032caaca7065727ec5e3afbde58c428e8de2071c49853b4ffae0e383359945a42f0384ca6304944f32fab62738f2620e2844e805523c78d00640215e1c4da9c148330344e94402678d647eef52b931a1c55ac1c299eb1902f9d79256af9aaa0dd113c2034944ccb4e4fefdbb34423b9c97600d318a94bf83353973636de662bd816cbfa303ed45bd3836155bd133846bc83086a707b97ebc776ba861d4ebddd58192658a450304327576c66050babee2c8a5cc6b4305a691c3686b4fcb31c1ad2edbf2206abb0315f1250717136f317a2f682bebb644a2c61789989c6a35223fc8a84e056bdd540394adacd5cdd6d6c083acff8c54b874bb39cd804f4d0d0ce6826e792307bd6bf90352e4e6411dd2ee52c4e1fcc712cd9e54ff16ed71df4a27db669bb26181b3fa5803e37857852ff18454f5b3bcbf74fde153760501440debc5bbde2eeb877acb1f3003b62659886e1b4db79ab47124dfcf0741ac0cadb314ffe28d46177525044cb63d03c421d10796fadd53c9cae9f683d31b91a58d8a2a971e74dc0ad8dfbe3c869b360351824d5583976e860e4d5ee0c8b77f91b44b225ba9e7305cc60ba0b6c76c7d7b0395932efdb35d7df575be9b54b5f168d9e10c0967c7f29c14ea7aa312e36a8b41034c9a6304924122a1c35b6f51a72aced57f86a044ddf0eb5c49b04e19961661da0351164fea8172194a94ed28e1c7cecc44de36bf7cb2a2a87d4b5094e5984d4fd80302f7e3f60a8b6d2abef32ba4ff839faff695d1621f5e3af64dcf4b3ab981667503947821d005f1c8ac55e34b4c682e46dfa8c0901c433dfc2304bd0dbff3d9926603ab98dc177c75d419b113922110e7c4252400524f74bb898b4566af6fe6b1097103b6f32126fd9ac813001838d1edfc3bc41d9d931f6fb30a31801c7ef0236881d7031829a0f65cc5d2900091ef5196d1d50400d18c88a386f20a75f5248e97a4ef8d033eddf27664d106ecbaf88d8c736267ead6db855c7a90804b77b7603b487f748f03a6678a3305d413735839f88cbbb0307e198a1c25a287f7f1e867c2ab3cda981a0320185480dd38170cc60c16fc15380afdd5be20b09b5db973374e31d1b392f8d603d2f00cc433fd7941a9db9a4ae8f41254a37c9b26ac8cdaea82efe5a6abdaf9c50382f5d48f5bad2e7dd406604b1db0502cee417604c5e3df997fea979616c058ae03a9b9d8246fb387d56f6c314021342140640f48c64800e5f0220f6d6a752aa05603123f39a5a155011f114f318869809718c7fda8f70bc249b8d50ebe0acb74294e0353e8574f1decd755b65037a71930e51ab0a163f123984362caa49207a01a83a903953c2b0a8d33c261b132378b78ff19e1e261907fccb403ce81b1e628cf3a6046038468e870adf924f84518e5925c2121b89f8ea6b8e21321d1d54ccf16c62bc1be03445e93e4e89cfeb2daca56ab5a38d52b1289f00d8b9b3adf5fa1a7218fef0ca30316091e381ead08b6ae9708ea5af19445821b494605926098440b166a6877108703e08f6e27f2527795221ae8492a2a6a952c0e5e68d2292fa90172f3b454916fa003159c67ce2a7581c5ab045e0b62745cd83274edd7fa73d705e5d36fcc779adf1e03929fb2cab8a34afc1605532adf31ba0c8e3d4b806ee0c738a407002920711e2e05581e037e7a83bbcb63a325848f4f8f049fa039aa068a39350d92178718b35fb00c024734443b55a228e003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03af126acf228d55e859df665030a11405938527bf7894748cf7ad46a14007011bffffffffffffffff038882367a208807be36c803d7e98d21d715bc8d795f2e53574732c62641b5ad2903f7363f896cd6d85fcb2f36f99f890a88e262d5b95eb767d121d8235426231cfb05581e0382d0f1c40e30bda9ff6c45473c1da1d9947e05763e5b015aa4240bd7e0040105581e03b00aedae0fc6e64f664f84cd4db432822e130a81a4e61863136e9c93800c06461baff03e337805581e0305dd484da4b4139cd1703d35b9d6e7558aaf9d43f638a82b1b1d38cde00c014701045a49e2740005581e03d21197d03ed04336d65a3e0709ab824a218f9a75d17f368fffa3c2b040040104590b4260806040523661001357610011610017565b005b6100115b61001f6102a1565b73ffffffffffffffffffffffffffffffffffffffff1633036102975760607fffffffff00000000000000000000000000000000000000000000000000000000600035167fc9a6301a000000000000000000000000000000000000000000000000000000008101610098576100916102e1565b915061028f565b7fb0e10d7a000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016100e957610091610338565b7f70d7c690000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161013a5761009161037e565b7f07ae5bc0000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161018b576100916103af565b7fa39f25e5000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016101dc576100916103fc565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b815160208301f35b61029f610410565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60606102eb610420565b60006102fa36600481846108d7565b810190610307919061092a565b90506103248160405180602001604052806000815250600061042b565b505060408051602081019091526000815290565b606060008061034a36600481846108d7565b8101906103579190610974565b915091506103678282600161042b565b604051806020016040528060008152509250505090565b6060610388610420565b600061039736600481846108d7565b8101906103a4919061092a565b905061032481610457565b60606103b9610420565b60006103c36102a1565b6040805173ffffffffffffffffffffffffffffffffffffffff831660208201529192500160405160208183030381529060405291505090565b6060610406610420565b60006103c36104bb565b61029f61041b6104bb565b6104ca565b341561029f57600080fd5b610434836104ee565b6000825111806104415750805b1561045257610450838361053b565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104806102a1565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a16104b881610567565b50565b60006104c5610673565b905090565b3660008037600080366000845af43d6000803e8080156104e9573d6000f35b3d6000fd5b6104f78161069b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606105608383604051806060016040528060278152602001610ae660279139610766565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811661060a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610286565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6102c5565b73ffffffffffffffffffffffffffffffffffffffff81163b61073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610286565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61062d565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516107909190610a78565b600060405180830381855af49150503d80600081146107cb576040519150601f19603f3d011682016040523d82523d6000602084013e6107d0565b606091505b50915091506107e1868383876107eb565b9695505050505050565b6060831561088157825160000361087a5773ffffffffffffffffffffffffffffffffffffffff85163b61087a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610286565b508161088b565b61088b8383610893565b949350505050565b8151156108a35781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102869190610a94565b600080858511156108e757600080fd5b838611156108f457600080fd5b5050820193919092039150565b803573ffffffffffffffffffffffffffffffffffffffff8116811461092557600080fd5b919050565b60006020828403121561093c57600080fd5b61056082610901565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561098757600080fd5b61099083610901565b9150602083013567ffffffffffffffff808211156109ad57600080fd5b818501915085601f8301126109c157600080fd5b8135818111156109d3576109d3610945565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610a1957610a19610945565b81604052828152886020848701011115610a3257600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015610a6f578181015183820152602001610a57565b50506000910152565b60008251610a8a818460208701610a54565b9190910192915050565b6020815260008251806020840152610ab3816040850160208701610a54565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200b5100b6056e5ffc17e66039dcd723596f9fe3a99358830e95788eba2919cc0364736f6c634300081400330354d97a0268af28d0cce1b0227678160997c82c12cbc50f0f717a9c61a614c429034ba39ee2fb10aefe871eaa862a1c2a927de7bcfe3226ed84fa4490bc630b1e5f03ba9fe4cc523bb1975f9b89f5c10c2df01830649ab85bd555c4e6348084ea933b0342c6e6360e5967f25b0986879f42fe1f23c7fed840d14e172c0c61150e7e5097032b4254716014729789e65cf93124cce9a8d403d4bdfb8ba7dd356a4e236f73f4037a4fab2b17261220f9b79f4818cd15145e8c1c6d4c90c14d58f669adf81369d203727dea8c9194ff425d13d01e3e30b3a9a955e3ba19f7e2eaf2b411664a4ad2b403f0a4857432c1fca02a2c81972dd77468cf8bbffa69a88458d19d542130dc0759035c8d72691cd8af80eb24011b6259404cbb1cd955416b62b6e24dde4a47870f27032111c00eb5ca5ded8f6e3057df30c59c68a789ee7b670487f1f7605d999e1e3a00582003e6a35afab5bb2afdff495c5f703f04403a5811863ea64ccb722a21c3cb59e048017655ee7eb7a0fd035600305244ec97da225def03171eba3f60d0e941ee3627ba63033decb480060303e7c6087c7f798dd5876c8ea73e351668779f103a756b570d4dbe69632cbe8b0000582003f75b82fff2635b12ebe1a2d8f260151127dcf97fcc33ce7d6bcee0cb258ad046043e47929e9f03ebf917c1c130a9b50b2edbbaf03d74c5f90bd384e3c745fd23ff93ac8f7f042d00582003872ff4d40c4565cbbbe1f6c80c601798a4274e0d38e5b5986f28ef054c2400481be69d0f8f54c308005820036d377a4f770c372135f74581ffe14aac5c809b95d3aec5ed3e77781f570f905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0306bfbf07f8fd59282416440abfd24c9b3a48f765c4dd04a87db34488a7620e1600582003a366fd3ce95a642342bdac907f68200b60bbc38b7d28ae54c4102d3a1706e04a0156fe9368a1997e7f230336c8da5a7cbaa7dc159a936e015f806afe7d56a8a08af3221644f418c142a757033644de6bdfd83487d37c14b7b35b3023221370d25e23d81b135c9781c080bc2c0393cfa7d9dbc7b49842f43a515e9e959c15851ca9b4b682c178bb4109e2d220910219ef5e03b2386af23adef68f6c82320dd6ba1f0f8bf0ad354ffcf352a46218ece0c922cc039ede851143726eac587bcf8e1f6251adf3807d68c27401c72460b175cf142c6903f55d2326c1a7db1b5ee0b4ef614ea6bcabbecd14c17d1cf1b8056dfaaa4ccf4903f3dfdf55267f62dbada7c2ef047ba68d73e4586fd8206522acbdedcdfa8da68603812dbef5283366e78975c1d7642a50997961dcaf6bc0457ba662c391dd3e180d0381ec64c9e9bd5ff00e7d04d29999acd30f6480e1057dbfda0e439d77f01d2046036379b6e870b2f7b199fdf28968bd483c77b2bca828bf0f7ebd372f2dbe4ba2ce0219ffff039b4a4a5a4fdf33ab7f87b4ab7663afb0c2d3f3e61f5880827188e19c633e086e031862bb161f6b6d0156820b63568894884989d3b19f6860346817c344af508957005820032a82859ee0bae7ec64d6d4604e5cdf991b50cef26510d563f20bbd2f10aa404701476b081e800003a6ae75880229fca2ff35b9fd8b09a460da9242527dcd28ad39ea731c223d3be50142007b03a7ace1d6ade15ccec17bc85d3d817cd55925006c131fca0b55d7eb81bd22c60303b968ed3be45b464bebd955236eb7db918f415d54522f53a14b79f383cbb1173300582003fffa990391b3d70b2f9bae740fb0233eab052bd8a62f3fecb0900ac04a19805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ad82d5932237332ad494e8393f1f6c1ba2efcdb8b927ea46647ec083badfa047aff24c9feb55d00058200374568ece009e51f906aeb05662a65f1707cc9fe126d095b54a394705fc23c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c1158105f749ac639c1ae4cd4c12cd35c890b6aa7100777155edd90c4a79319800582003123cc3694ce8b859e8082281d52a6255b76c37bdddf01ee5fb164f234046305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200382bc5bb03c9b204e1c3157b84e51c129df3e5e2748008bec34b9b5314657a048019055aed0cc90000058200372d8e16731d2173972645688807c0665a2825754cd56423afce88b943cbee04801704e1a7f610380032f394d2b6ef15dc337832386d9814f75ee7e3e1c31f3f8bdf06ea7f0e1525f63005820031641528f00161fafa69af937d5eb6a77a99f78912c98f64193af8a8a52abe05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021977ef03655d11f7ed4e4a3029b97ee92c51d041f556eaa3edefffb14e956cd81ef9dfbe03844214c735e4164e64320ebc70696d24a4f9f749ab419449450858efb7098c3003ec328243235247420a92deb486c43455ef3df5ca5eac624b87c4584986978e0a03d968c654dd6383996bc357584561362685d7cbf1642c54d480e279ddc82e46b20376f8e3ffe677a387f9fac2e42b4191eeceb34a22014a5ff2d349142ba53229bd0367bf581218e27e07ef4326c5e0272aeeca981cc92bb4fb734363cfedd5119e8c03cf6bec80a179b17ae2ac7ea624d903caf7ed37601b441948d72c1e5a141da435039246a954e63a60b4e3d095b0d7f6bff0d79bae255bb5c99208ac6ea5388b56cc03f185d6e2f0c0058cbdc9d1d63589aaf2c8cfb36c62167135c94dbbc876d9b6c803005d593b755e754a6ef69d7bd997ebccd0e1b02b9abd9735c36f62dde2e9eea403d8eac4d9e8aca7e2bf88a887d5204f43f506fe95cba48a2e83028cb4c15b89560303903296e660db1d3b93cf85688288f2c18f3c2d452e44fbff2a99accb85619603fe8318fcaa3ce5bc8dc65cc6f0bc3a8e3ee9bce34d6a4e51617190cdf553f9360331d4ca9754262b26278a96c2e0b00ca6c405802de01ce82eb50c035d194bc1800219ffff005820030c9eafce221f37f335b59582aa2f278d84cd53df2693fe5f7c45daf24a060048039726920238bff1005820033a43b30dd463ba41d07a5f48288c2b2ef64f1d22eb43c7b98581910fd1a5a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03596d55f795b4d02e9daef9b6a60c011bc1f97e88a4acb42adaa0b5c948af710701420095039390ee3602f3fb99ea5bae9164a10a3ccf630493749d9b80af1abab9c172557900582003068f93b265f74421f59845455996248dd13b288e5033f2f400cb4ad73237d04894ca2f41fbf7d71d039d64eaffd387301dd155496d0bae524bde0097ebfca2fabeff840c3e001bd58500582003419847d4ebc3370cd1208c90c644d675407a1d04b11542c3b354352287e4f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0370635b3e85a6455107eaafea5fd611fd53fd6bf626cdec5d904648dcc95fba1103777ea229bd454697624724247770da4e39eb9c13a374d77bf83c1d56c835e1db02193f1903d8e2ddd22fde493931cf1f5397e6c17bf5b23463813c4c45c9b7da666b42b8cf00582003d58fe5d510ad4ea65ac92bd08318a27c0fc13162fe264c0edde10fb446a0e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035e5346c9af31e0da3e32fda19ff09993fda681c6bcbb76cbe6476d6ccd1e1d730329805710e0f464408a3b9ddf3031b4f06ff58dcb6224e61b5852f13c4791581600582003b3a2e64a4b219117996d026da2d2a6bd3ede3bfb11f3a2feb7c7f3ec10fa4048015ca8c2979d2a0500582003dca026629342712c8fcb9b0fa76064873a2cd7adf40dbca2d2c989b8288d005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820034389da2a150df0be1676a23765c3d4631b44bfcb712c2daee52538ecf561d0410100582003aa8197d1645ffe5b4241b96e7bc9fbb66c203fa8b3085cef959f2d67363b104605de056913680058200355d6de76298ce734d957341b4e5bb9e9edb43d668ee9d3ea8e17fd33a0b9e04719eea3b8a771ef00581f024c0dc62667e1ab7ba1afc0b02aa8b18d67a8b73200a1c2a57be063e14189482ae5eccdc7cbe21000581f02130d893cdd72eb11b1570f8a805ffba095e171df1c02a0a8d4b34dd4bf165820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154c26016f1166be7b6c5611aab104122e0f6c2ace20219888003b564f1be32239d761e82fe2074da2049bbccecec178880cb03c79f25b112830e005820039ae6d9ae08fe22bf659312c2c40e9ee70ba74a193d03edf2bfa6ec048cee80460116a8daa7140219fd33032dcca47ff132638ff0dc3d51de625f1ff235ea12390fc6a7f1171d2549dd1dea00581f025df80ec1ae6ac9100e1fd0ebf3246c17f5c933137af392011f4c5f61513a582031000000000000000000000000000000000000000000000000000000000000020346877756b05792975b7d4d37477bfa0a8c5260cd77af0c17416a805b00b471e400581f02f03ee25317bb76427576f746530e9ab444368a99ee83c86fc864c674b9cf58207fffffffffffffffffffffffffffffffffffffffffffffffbcb54eb379f279fd0219508003b81c45cc9c0564f1f7d3344a3fb19f947cce9d12a43c9b6c9d04fe9f0f846a6a005820033819bde326c05d95aa161ea15c1e19c77b1d2dcaca741aa92f376bb83011c04834177d1d5466b6ea0365a88daf1bcca185d173174a955621a45fcde9376fdff1e4e54d0f712760503800582003d5a49284f566902123f2cca32a9538fefa715289a7fd0249ed989e5d01d8a0480d220fafed5eee9f00582003c97914c1dffbffdfea29993415bc257e4a98f5ed9144e8bf83e7d12fe5d7405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c0e8990736d2fa2831a6f14f1cb0ff4cb4ad3a4b53eff92b850c9becb523304803c2720719849eb50315d62166e317207679b40a84e8f23eb44610c0333d570f998e289ca658a1e33a03320db150aa42a725a203a173da7597d8180e438df3935d0624b0c7afead61391036b633285d54e587e9af782d6894f76ea3967ba22431f2bb0200ee4287801692203c3506115478b145938e0805a09d5bb19e31490557dcdc1ee76cc54c5c5bbb547030db34aa630c040b330edf2a3eb5c6302e864e4deee8015545b7abb74525b7b5803cafe50d30a2763aceb13125393785910fee24ac99a55f9277a65825aac2d6f37005820034306179debf35323b7b12d3eb4b18471557df6fe1ee02e5e2119c0117b7af0472646e71126a3e10219fdef0330f07f5b90f1617329511c2cfa70b17b74fbbf2f0b16225d762fc5756c6a20fc0350ba5e235e4105b504beaf50ce3ea911646339a64031797cc379d733bc75d6a9037398cd1b6461922f030e651a4b7f288d5a3346cfe1ca1d4316a7388268de841a03cb0d44de0198a3a66c8d2a4e72f33d8f154c4f2219c1daab9b7a866057e8376e038b07caff35e24679a939ade841ed5131ac87fb81c81107b22a891b3f7ebaa9360355d7733a26b08519a0feae858d72023309e2590ff588d83555c0d60edd8d27f803226f48f7ab2509268d434395a456e4c5e837ffa6436220d02f4819033afc1e03038f46b82b644db629f35b32b60950b4c8311a656236c8c9ea62ae1f568cab13a103319efa74da708aa7985c8575076e9adb28d9a7dcc42cdcc27d33ef107781462f03fdc55a2e9bc83edd4eaba3b80e4b5f4e71196107ded27ffddc7427f2c9c96b360367f794d572ba78501cec4776fec4b9fd8312b2004e472a0721a33d06897f3d950219ffff03137c070cfdaeaf0c64fb4b77ec97cf3411e021ac52584dd467c756e2350f9a7603bfcf72c55339189f3a66d42c584145d663313e67711c9befaff30fb5eafada0a036ec9bbfd13bf9738411280acc5ad6b52bd2338d5c16705eaaeb19ed3cfcb510303acc24c690fb5fbfc9ffefd324f133dc67ef7027d1f0532779428464c0a71308703d73ebb13514435d5d18c4bb8cd1bfb074790332d3f45726829efebc1e2610bb203f0aba226eb384ea2cc3025e4ffb7df261c4526d41b658ece232be1b757f37abe034200d854f6c455cd679fcea75569efdca5071f64e5672097d9a84f9fb216adb1032d37dec4f798c7f3f528dd743cbe96184069cb9e7cdaa3ea510ff90ec7ba31210380e5658235f683bcecd8392a26978cddb9608e33eca9aba2c25f17285f222e7e039f20e2ef5a6e8ad407f141ea1cea1335b6976d06d2cf193d5666610de229b262039c501ea34f3d5e92b88f189ae3e2dbac3f6e44d18963b625fb7056a25b8644d003907962b1b4f168eacfce6baf843fb6decc34bacf8ab0e93fd19f4732cd2ab70803b3d75063ccf6c9363d3b1c1a720f4a9d65e9396d323976588bd912aa2d3785b8038ea2f248be01a20a7b764434e2958a8c44017be39e0a60d397f3059296c5a033038ea49f8be5b76f8333cfdcde097f1f5d832f4399ac65178e7d05343156d8de5e035775f6e7d34e7a8df3a7113e188da6f3b6a03a8da469cfdb7147dd122da36e4303357eca6d61a19a0165d7ede59aaadf8b72f55138b6849d30f00b44b7020eac8200582003e69e3d5d1631cc78c4641c82db32e007b7bbc20d9c6ef065b23682048ee07047aef3489ca48a1500582003260bafaba49a99bf4e1534429c7e8fd07938c81ebb471837082c30866137505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03986c26f52d03cbe90c038df79fcb02aeb010cac4da28e9c37dcd06e136d78c270325c762dfd4360b0167d8c9d4a7175275f90463cf25c32dfd467d15c48e63b6b500581f022504cea6c0d451b5227d1e737abda311dfd7de9bdae83678f54247002c71410100581f02f2b8f60da87a8e35f526435783a5e9a754416532a8aac439ea1310ea20934746206e6597107200581f0225e808ec5797d621fbb3b46e7690418f008a0c1bc4a4b790041f50353080490a34e16ac4627317f6021931000362155443f928e76ff0f692a700ea02579f4d1d408fea6b5ff9154c2cf32f3a0e00582003524cafbfde34e2c880127fdda7354b3442039ff4d2a6ba1c3c5a44d303edf04601c8c496153b00582003a36a2e7ed156f1808c97305829ccd524c444fc9be614ea1562e298e43ab4d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036d3afc1c2bd8cb623c0326c63509ae8480cc7ef7eaa39423ba56483ef87bf1ad0340f47dbe57ca2256f2739abc6d6248cd32c93e76c6f616a62fa409d89607608b037b48618388408e5c11d68798458e149edc815551bc313b38bca681251487df290219fb6f0219ffff038c9e2b01e1830197c9e5bdf389d403469423af20043ace6954a753c800fb26f5035866557f810770765ef16dc6daf30cbbabdbc42c78286411709b811d21df22be037746c64c3b124982a4ec6efde0924a68036d199ab8d3077ae41de30f16443a3003d9694ba92cfee646542d3262cd9ae925378adbb83b363d73dddbf74a2ac1efef036dc119cdf1ed742cf018de90fc628e771e7c07c85763c01683445287a3fde2050058200319595da3c8f77376b6ddb6f8fd21fb8415fb92fdc1c38da6d59a0bd2a80330480222e8cccb44f771005820033c5d44936b70b0bb06463ddf9c542d9fa8e9b38038babff9fec1c2ebd43340486f27194cc46928d3032a336431a62afb8aa61df45aaff51669866f745e4e934d64ff791ebdabb2f5720058200344f9ed45e96d5600884dfa1fb042683fd97534cfbdb86bc2c76070cbd730b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0371fe960bbce2802b00f626d0137c5ffeb9a9e2275415f9ddf7673832135243930336db583b5003f3b49f6947915e3ed382a2082cfe4fc3bea7eb03fe427e90cd64005820037d5e4d3df0bff49cab834eb9719e5b433c05f15609b0e64e3bd542cefaafd054fffffffffffffffffffffffe7046e6ea65b069b203192e55d6be0b856b2562d808c4f56e78550c4b1939a6a5659cf11536543a9a54034ed174c4f7ee5bcfc9e603cf96ae2da7ffb816b926b4b2524385bf3dc9268bdd03607d62fc5f79b31bfe25dccacdaf178a7b9f43db14dffbb571caa36bb25fc0b60058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054c9173bf8bd5c1b071b5cae4122202a347b7eefab0058200373cd1626d533ac63f73895fb70deedb50ba4b1938f18a372355eed319ab4105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ef24aa95ecd6837f668b713f3292d325cfe01420dfe83bba4fa3edc69622254703460a8a961ff891df86a16794ecc4870ed5519b03ad816a346ba891104892cf6e0219bffd037e91ff205169acc9c389fb35b06d971bbba3bc3daa06701cc932847e66e3e8710335d7035f2b1ffb9d1e87a60fe595fcba9f4c2434d584d71629514ae6d5f7ccd103b821c23d81f55dbc7c5ce4d30138e0f4386fa05a5fb0632e06778090f038d96903625d146300e1bb5f10ccdaf8a897ed01d825c402c4f30a165e1bed1564da1bf703b2fdf08c41d43e27a80623bda229f274318d0ca8043ecf5fff27d1414722d297037d416616fe59ae114a83459598b583fb5b65ea974066e74bc0b68b924c17dc3303f4177ac6b38117cbac170b9ed9da261ac8069ad7fb07c79918ff83b28c70777f03a1a7345328577651c54e00a1044297d5b14521e7acf5978ddd01929738d0094f03e64d44c50d82874ed7808873d0782cfb1b6850892fcc4da322be3621e0de11d103892544f0438d583029621882cfd3516f45fec0e6bbb8322d99fc8f3aac29c3d00219ffff0325d16bb5f602afa70394f008adb259e3ee206d77f9a602773e8a60eb26f726b603cfc4f4b86afe5d33532c76e5b17ee4d112c38d9dff4d054525ab47009995503b0379370a5bb06a03dc71060efc41a49eeebf12246599889532647b795a246aa79403453fe03a0975bcd0343be4338ec575ee06a87c061746c2d9b1faf0571d77bd880386bbf987af858e0de840c6f548f85296165c6ee4002b360a77b75b458be396e900581f02e5fab48215c780b09bb5f924a4048d59d06d3b93cf96983349abab5fa07e446de8fe6f00581f02ac6dd7de6b96975fec380d4d994c4c12e6a8897544f22915316cc6cca28058206d45544800000000000000000000000000000000000000000000000000000008021850038fc216b494068f0bef3f7b465e736d2cf0873a362606248560799130a26b6b840306fc35d6ca49ea17cd102b2ccd5650234a06e0088245d9119d6869b8797e300700582003ff8da4ce5675c46f857e14b3e947f495b4952e00e4b929802ced4e85385060470109060ae509c50058200327939a1a9eed5516e6e86b8186c3c5c95aeca7020fb0ba9289eb401387ae205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0356f668fce0b9b1458588c8c858a2f4366a5dc5d248db0492cd3667073b23162701410c00582003b265fcf28c873d82008de10741d10f7286fb1009422c0a13f242723b5f3ef04703306be0b3d22100582003e3384dcce56790f067b35248578ea4a085cbd75fe2a01b6d1fcb8829ad5da05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200387425365d1baa5c2e0ca6099fcaa7fc2062c31ebd36105e10b8617e22f38f048025706488f5c24d80399e0fb0667696408029792545906874dc940190be987993881a33ac31c292dc701410d03217611bd0cffb045cbd0f58624bc179ab78a6534c8c99a1255bfb3812710527f0219eff403ae41a0a7ac191c883a8d524439a1ff2c12e92b05805fa9e12b18837c7670807103337b2eff7c09883e60f42db090815af80893dc74a2da5f91d4aa59f7600a6de003359d5e519b49ee99b65132c2391e7008a7aeeb3fd82024829c28db8d3bc3067003b216f11a9ef727f7895ae173a5e59d802cbd77e42ab20ff4a3572f99e284493a03f31da9e307f2d0ba797e89a23f5c2874d6d34e19d98c8ce9446ee9b71f99aac903df0963cd02a1d023a2eb763ed2c06d6161eb8b51a38ec19672c49e558c00e14803b7f80f1b0af8bcca9db4e6fb15e46523cd254cfc8345de146ac717255ef30b8d03d8cda2a06cca66ab5b4a55544cbb685f5ecb4d27b96d5e761802ebd5f04be214032812a8a5800b9e73bfa20c43b0fcae72cdf287522d8ef201801ee9e9ca6641e9031f9195b3890f92e958b5f2e0062c137f435f07528c37fdfbf1381fcbc450228103bb76f3306ef7a65c8aad90afdd2d55fec836539d2f887d6f321295c518f2a9e403675e868a0a2d09d04c9c2bb6553232e07102d3ca795a80090236a5dcfab08bbd0219ffff03852618112a72d60ac32612a36bb0d8e71cdbf45fb3ca07d0c452ef6b0323b161039070d70d3ce34e29b7902c50a6fe32f215bf8b5a76e3d6bc39ab40caacd86ab603b12faa51932b6adab012ac40b0cec7a3fc4f9cd815be30fdbe49cc31fecdba9803968579f1889c953da57db356b2db746a840061b120700a001609e289afeaf4750346d51f2b060cb6b26bfe859bad702177c69c3b7378a833237637f24cfaba29c703829392f39a3e12f77e2d1956737e903c947983a42469b70f0ee3bc3e5ed442570362bbe7f6f39ba266ddd7c2faa48d9d0b52c7d0bea69691c16db4d4016f1dfbc400582003c93af124e8bd454684b581f342779dcbe6fbb8ebb06fd088a520e8c60eb61045023090ffde03fbe66539c465ac78bb4ff2cf24890c3ba01fd0b0d72c66b8531ebfcc40d391ef005820032baa89938a4c48f0d37417523f421c31f500d634743eb1bbf0c4e30aedeaa04902e3e60ae11ffe01e803a3a66b886565def4ce35a57f426f3d81c5e922768e2b8a6fe381ded11db540130058200369ca4a97357517b0285d9fba192e907dc8e3ce733382124437099d076c9fb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003cd60a14ecdf563803dfb526c941f1f6bcb9b51bd7c369c432b4e7faf2d82504802e24843680dbfdf03bb58b7c77c95127aaa6515d085a516086b943901c2fb6a1807c2298caeedc94900582003e94c02ed17201bbda07633f6b739306072414613e10beac429ef1d964900404101030d20e02971739f2dd22b41fbc7fe67d86848883bf868e6aed48dcf600b3b88e8005820031ddf3bba0293316563221e0174dac8152005987da494204fb41c639dca415048048436cf90c3b53b0058200341ea0e95f966b60f171cc707e1e66e4fb01332c80ab11a493cebb47c3489a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028e17d9f904c4b1dfce285d44ed47ab0c07a3763a0d28f01d5b38de13b7575820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb4a631cfdb3dca6be84699b0219400203cf9a90c3870235fec5bd1710364f4eb4319cae1802cf5b896e45654f935e2f290399978446905e3050835042aee59fdac856e4dbf3c77cbc65c50a52b7f4841f4c0219bfdf036d28baadcd08aa32b25f64a581b084d5c9c6fc84afd2589316610c8c97299f3c039384cf2fe4c6cb2ccd476c41f6320c2b33a28eb21ab071d1709b0df06d785b1c031845e30d72266bd993d84d60d2d77658551be8f3f716c81abc4cfec5e0a5ef2d035326998c49f73a0444a0840253e449059553ac39b22b96a2fcdb0c11a061c8610333f9b5fdb760e919578593d3f1d37307b514cd1a5b9204555aa2e6fd4564a0ac03278346f2fd3d29aaa3c00a990a8d00d8404f64afaccaa52bbf34e1a58fad4c130331a75db143a39e5c8e77dd1c2837faa830811740b18b494b5ab2da4077d4867e030f5919633c82b0159fb87e59639a6ef765c69dd2c1ba9325aecb194c3ceca1fc0219ffff033ee9a43c5e0941fe65859b48baff805d40e7996209919e684d677a1e1932047803a3a19ecacc1e0b5e6cae272c5fea0cc00be896f9e4433558fb98afbfabe6461103e0bb91d34741733b55b6f775dbebf14fdb59ec7e65296ba8690faf76adee910003525e14cc869812cdd6f6f18267d3f1a5a62d5fa38b20e15f184c6d5ea3be1f690341f9766b132217cd6802ac0880dc3af7ce48870ee23e586729b5eb526e9d6cb80219ffff05581e03917055442de8b9507bd4b1b61dc788b261d277f104cde0d62189a9cb100701190b4203be253d80bbb0b32090371657fa2a881be7e74355c1a7c9347ecc9af1b25f4659039bcf93abd61053a248c2fbeaeafc2d34aac8d230b36fa44c36ec367dfdac189703161179b7d968f5660188eaa494426093fcae6b978e413518d92d76142dd211e205581e03edeeced410035e58f2479b3b04892d3067f4d035f53709250f96719d400c01472fa0d2888e3c000219d7df030b7dfa3c2f3402d7d12f31a7c110a736016f578781aa09b878cdd7838221f0cf0219ffff037b4133241dacec98930e75dd9ac8e4b8ec24c7765c1cf5c58a732206f2f14014039ee8a252a388c159397fb741015c8a368aefc0feefc0521e36da20c952e8ca69037b70d19eabe900e2d5cc1e6d32636a532cf117406b0ae1b9801da614664da08a0219ffff0219ffff0369db589a74ae4c77526f1797defd759339925c1a6e518af5a8b17271088955da03929f4dd39e4306c3c4907570e752193954c9cf08139de0b78f2433bdb1e293a603c4ca8578b59dc0d368dbdb80f04735018445b89bb1950a60496b925f8b3866d10303cd01f2a93b44aa6d822734ce23bac9f98ec8deb32177483d1cf0f824a0a417039b50517e55ff88e5f847150dc743eb7cea28828784d348ea6525e623d0cd7422030f57306c172cba233bc780b7520ce15eceec854adea196429b57d391351ed42003506ebc140bb3bbd324e17040dc456bb99eddef6bca2caa5d9d7ed7e271105d0303926e9d16eaa36d0abf89ff543bff23e72dde4cb414893ba9f99633a7d99d04140371cc67793c7b8f6b7cb1218d5bc60a9038f682c73dfc0409bc2071da57a0eabd0386f222ab524dc93c206f7e97cf170a9977e7d820376c0d684be8a22d29181ef9037ecb0b2b754241660524cf292cd6d5a3236b10a996248112e871d8a99c1a9c3c0394db3593f3bacf5e111477837555a4e7635b616063dd2e13d4ca8155a69778100350dd1c3aa373f0814b250707cd984bdf9d1b5f649bf7e0e5a54fb7bc9576f57d0356b6ac8b0cba21d1d20f3718b53e283f8c624b9348a4e38d68c603b953e541a7035d5c82fca66b6bbbf0551671be84481388b209ff9f1dab44b540192099ce22ad0302dfe41e6bdcd9a8c20df2ce0bc96c2790d828a7e138cea21c5897e59e11f708037f9ffc37c7896ef96a11557f4b00e7ce5374ca476c182b6a878d50f1c9fd6ed603afb1163a1d795e1d695d0d139ea007fdd8f7b4c3c98831643e1a34c5e54ddbd003f9e63ef030854b02345c3d69316639ca71700ddecf6221d6d6ed1780be71d4700356dd42d410c03a6c70e9324824fafba6c2310f3efff14eeb9167de37f1e2136303cde55b4f571f00bdf485547d5219f5b0f5cbc57ffd73fa4305a58b0a7c94ba5c030af6fd910d1a9fcebcc9dbb173c4d6df5a7d39565a1912cf00f0efe8e2b3408b0371aa9d502ee81c9d3aa8c5bc2d807dd21876a2f3649c7115eddd98686d29d2a203ab2bb113247dd08bf7f0226fb0e14143ddea822589f26b9cc4ee2a231b88be4e03c0ec50f8b29138627f25a9889c82856363f0f893917033cffe55d1abea4295de030c6af76cfac411b9b6489cdb7d6f1c394b3738d7086c8067e7b06ac3fbfd4c9a03e94f9130bbf088522db3e9edff2d711a7b839e0723c0e82250f262f21bbf727e032125102a6f432460111f0ca2e9cae2fb4bb70848945cdb468646fdc9d6586f44039540c74aa074383d1794d6492d624edede9b9d9d5bb53e87ef46c82fdc05835e03cae41f84e7cba2bae2ffb82a4006e806cbe7affcacbb0921eccefd80fd9b2142037a6f76f0465bb874380666e9e73feb9f487ceba319fad99ffc35616a4aaf050b03b41d6080064f7ec0ca3fc87ae9d550fa61bf6141330be4b929998c3c50fb7ab903a70a0a69cceee2c1aa67fa204aac571af477b97ab636a9255a26636fe765beac038fded9976890826408f3c163c4de000e48c4a5d0fb72912c7216fef9a9c1518a036bf96891cdd40dd5db9540924aae8f0e7006d670a9908b828c857a0cb8d221eb0314bcd07f926d10ad6afd403a78e985fc4a68cfe4c4baba929feed1d6a1749a3305581e03e9b10c6c774800f694df64aeba6af4926b4fd5d76ef88649be65239ec0041203be702ee40983d023eee31c8c74ed98c462ab09d4dc28739f23f8de5d27076ca4039ac268cef94ccdf540f1fb8d11813e4502a947daa314d95cf93fed627d1ebdd401410605581e03dac0174219eb66b848692953806d328b1dd10710ffa89cd5277e563830040105581e03025d570b7d73ec468d98661d74163d4f30fb6f4f11dc7e75a2332477900c02466634938fb00005581d02680706c8f24c333db90b5c65d526582d10726e3b67e9a362f6e55611040105581d0314620babb1afd831fad772ac6621e9829fdf9f8c5fa7a664934c74b0040205581d03a41939b68556358af6ba54686688f40fc093b1fc3b498c5b960a01700c197061495062717abc5a21402c02192080021904020368bded5b127d5fb6fe9a7531d6d629135256a03ea7ecc18ce5bb68d6f0405db305581e0346062e8108cc253a9d8645773e00bf68cac7e5dc1dde00ef2960a188d00c0246816de564b2000219e84d0367f954f3aac9eea4fa8c658e7d01773b28614e2d96e764b9f19c64d7673d47e30219ffff03dc276ece5250aa72ea0280c0d021859b9094d11eec09cf896eacce875c44f09303cd523ba5633cbfd85122e026941fe0316aaf838f9fa5010a76ebee38d8c1879f0219ffff03ac3f0b1079ffefa873bed1f17616a2e8fb82830688091994ee3709d348df5ec103752a26f6dca84a2face863a9edaa2df7ba57604c1a322bf2cb597c7305d687b80360093abe0cb4bb9e1d0069b0bb4bf2973b7bd218da20b7cadc8e8b0b32a2b23d0313c0248e7027056ea8f0f6aa23e33c95c8f264d578d29428d839f904fc852b64033ec7fa5e448da70590f59255f1afb7a7ab5284422f9235a82d4be08b83f532ff032fc7e3462b1ea469efb940bf0a297e2dd025672487d2d0139f49682098c4518803d5c1b8e047125e6ebd12b9736fdb7caf22d38faf6034b2522d697036bc7446e903528c538a75a32f4022cf8d39598370fc1cf1c5a1059077c7aa8be2c4761901ab033223228cb24762155621e28e0448cc37de332a5856f17c55364874855d4cb8400381dc24f6154c365c3caf6ad0c0788e3ec4008ce806ccb420121aca5d4c6953c10219ffff03946cbe6d09ed94c7d5b75bda34293465b10002dda9beb983ce835aa6c7e935b803ffca1a2d5a82994bfefd6d8a043fa4dcbd0da2008bd69b89cb74d4437ec76fac03c33727ec911ef77cd5f7279fc46e2ca0a30893137c2417841ecaa89c627c4aca0219ffff036f2bfd7c9781e47c9cb4c0e0cbc4f2a07c92f3ba1fc7cdcda96950fb72938cb803a07858bf7296048c7ed1e53384631ece4a61765e2879ff399d04be12e847e1110349813a8b0926b190a80fbd52ecdcb5b637e695ccb60adecef70e90128908e05e034f932a2fd5a69c5d21aea4303bc1d4d3b1f2ffd012d0aad5cfbb62b29cdea82d03a17ed080486c66ebf8d7fe0ab6d619299da14685369d47ea1df83b9ec7cf867303072850183f2c64a9d1aae88bdd29cfb00a8bad69c5ccf1e97fde8fb0c48fa9ff03ba06e639486f91e7366ebc65a74cbd7267cb76b44d18b708a367de06c15ae252039aa326fa1f398a040762b7a3b75ca81d414f84eaf43a7d3438a3ecce0321c67c03156a3dd859698c08b399824a7c451a38f8e75980c34a036d269ab07236db973f031aefc8adc58c319cc8380080646452c45db92193fa505855326f25438a16cfb90323e34ccdb80ff5e956fb1fc53d4dff5d100e4ec0878c509360d8ab6a9f177ddb039f8d046cdeec61c0c9b33866a9e51055891098db9ae99e204e177d9d155265ac03d0d402898d75f017a6b097a4d1eadececd1e64699b0b01c15fefaa04ed77e7ce030f11f89646c858c1423045aa190089917e6c117c3f63af380cb0b025e3afaef603299b4c1f819ed3df5574a97b10d22931283cf2234a5c32f62966a289100eb0d303a6e2c83a9af2f5f4480bfddc25a51bc00d85f3a2eff9615ed9d3d91655e54dc403cae2ca2b54b229f2f20c33e6f8c900712d047658394c85a7eeaa541997542a2503a2c47be1018d766eb71da1a8115f81a353feaf15d19646a01d193ec39d7558620371154f3c53a04d21e71b7c19b747905d8bcbf4694933cb8db681d97ca0cb109c03cd3de03030d0072429c934ad79cb75c8d40da0ef59254e372cf274b92343289c03869664610730cedeb3ac1ecf15e22d3ce38ec3c153221db22ce2dc596d2d82fe039cff8186c750690c3ccd7ce7d624a1afb3954d6ac93e3bcbeabd4d8f1393be1203bed9731b716dd054c8f86f2f72b4f32fe7a4e3e5b3d0a4149469f2ea8f615c1c038ca0d5330c1d62492a42656096609e102d3ba03a1d5029d3efc2491baa58363903c2b29df66cdf11fa958899c94ae0d6aeabce09c8b8d69474fe61167d5322b783039a0d408a35d7d4e39e207dcf39e899e999a1d60304f0ea1d68abf6c4d677a50a0394b0d176a09b67a9845ac48b1f7a67620352b58b0cd430538ea4c82f65fe16fb033798eafd2fdcd456ba80ff9107e864a92b29b9ce8d4f3cbbd08081e6a01cb837036df0713ac6c0c87f53076765d446001a27c65dcd64cf79f7de1ae24ae2c9f10603c18f9fca00a6df7f15c31cee56535e1b57a151fcd0d3ed344c85c1a140f54df40322a1632b521cd58100e0c0cbf622fc3777b5c1df5d036dfe659d6a9661b46c8b03b93dc511257dc298ffab024ce2dec3259d298165859cdb44feb3ec3b4f6f84a403344507d1ca5a1fc52472bb801c069fc50c128fc8c04bb33710db028e697d6d5d03dbd3c0902bebe2d9fbdfd376d67b805daa393053d26a9093d206497d073cc270035231c7b47d71b66f9227f78d09260091368f3106130f13852621202334616f97039476bfaf0cbb752bfae62c225e3f3f15c798942ea42ea0c184c1db4eed51e8c0033a32514d61bccc167a3e8c567c837f22e31a1d41f6bcf7cf0dd8dcb4a20d248a0329daa001ecb4b72de423a58e2a54fabe694103b1b255728061a4d417fc01d86403a44f27f4e79e80d6de0cbaee6d0f1832bc794391c15ff406bcea52fb55c243e403c1eccf2ed763077831e952986486ceb1eca0ef1138862e58ee6219e9d58ae4ee03c1bc7dea9228a92ef8d779beb579cefa283ad1048feebe305dbda020510e76b105581d02bd04c67b98b150405806d85314be23302b6dbf9f72c66f39997424ec0c024713bfe18c4e700005581d02f87a24543e6ae39b685ec4b0e81ff44eb7e731f387f40f0b1cc93b2d0c0146081132e18a2004590596608060405234801561001057600080fd5b50600436106100885760003560e01c80638f32d59b1161005b5780638f32d59b14610155578063942e6bcf14610171578063aa67735414610197578063f2fde38b146101c557610088565b806316f198311461008d57806361bc221a1461010f578063715018a6146101295780638da5cb5b14610131575b600080fd5b61010d600480360360408110156100a357600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ce57600080fd5b8201836020820111156100e057600080fd5b8035906020019184600183028401116401000000008311171561010257600080fd5b5090925090506101eb565b005b6101176102d8565b60408051918252519081900360200190f35b61010d6102de565b610139610339565b604080516001600160a01b039092168252519081900360200190f35b61015d610348565b604080519115158252519081900360200190f35b6101396004803603602081101561018757600080fd5b50356001600160a01b0316610359565b61010d600480360360408110156101ad57600080fd5b506001600160a01b0381358116916020013516610374565b61010d600480360360208110156101db57600080fd5b50356001600160a01b031661048d565b6001600160a01b03808416600090815260026020526040902054849116331461024c576040805162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b21039b2b73232b960911b604482015290519081900360640190fd5b6001805461025f9163ffffffff6104aa16565b600181905550836001600160a01b03166001547f103fed9db65eac19c4d870f49ab7520fe03b99f1838e5996caf47e9e43308392858560405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a350505050565b60015481565b6102e6610348565b6102ef57600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6000546001600160a01b0316331490565b6002602052600090815260409020546001600160a01b031681565b61037c610348565b806103a057506001600160a01b038181166000908152600260205260409020541633145b6103db5760405162461bcd60e51b81526004018080602001828103825260308152602001806105326030913960400191505060405180910390fd5b6001600160a01b03818116600090815260026020526040902080546001600160a01b03191684831617908190551661044d576040516001600160a01b03808316919084169033907f3f4512aacd7a664fdb321a48e8340120d63253a91c6367a143abd19ecf68aedd90600090a4610489565b6040516001600160a01b03808316919084169033907fc51cb1a93ec91e927852b3445875ec77b148271953e5c0b43698c968ad6fc47d90600090a45b5050565b610495610348565b61049e57600080fd5b6104a7816104c3565b50565b6000828201838110156104bc57600080fd5b9392505050565b6001600160a01b0381166104d657600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe537461746553656e6465722e72656769737465723a204e6f7420617574686f72697a656420746f207265676973746572a265627a7a7231582035e06fdceb0867960c1e53f87349721699bd0bcfb7bb1dfe101fcbed115a20a664736f6c634300050b003203c5f9c5ba07131883379b5f65df57a598024a349b318b9cd7ba1b8c8aebd30eb2014109005820026e39f01992c3ea39ec080121ebb7e58e5a810fbd8acdc3ff77a1a1297ea33f540d29ada4c818a9f089107201eacc6300e56e0d5c00582002bbd2e03735a5328fa5a1d635318aface56cc16177fe434979b35da79a625e454401f6c983ea34274ec46f84d70b31c151321188b00582002411988044ea1edbdd42e6e9d26f4fbd14c5b135f82ccf925b0049eaa77500f54fe5e5d361b2ad62c541bab87c45a0b9b018389a20219c10000582103678cf1c3a56f348aa042e668070c69640de5490c3b68bcb68bd0093b8f9c4a00546566115bc9aa71f8dbc2004a656b5956c55726a700582002082ed0e6c9511b15b63d57a3520818ee63b221c0c4c4c00ab55628ea1936a954b6ec8b0a52c1bae5b6aa890cd0ec9704398d0d55005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6432bb44d00582002c255c4f7bde69e11a404c8c5fd541a0891f7a08efea73df58976e2d4d0e4d554b9516057dc40c92f91b6ebb2e3d04288cd0446f102182300582103b8ce17da5fcc7b0a14904adebbdfacf8d0ccee8fec3813de87d6eb723fbf4270548bedd90e52df8bb663b9ef5c2ca42e7adc27c9b50058210370aa6c4148ae0ce9f767aae632b0ca124eedc4ee709bba51935107b92d519a5054a0c68c638235ee32657e8f720a23cec1bfc77c770219994405581d0237015a8cba2fe6ef026704b4352229bacc91bda2e5c69243d78c4b3b0701190596031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d026d69c45f0ea664664f2f05665da864335a4e4dc28c08e0b24ba9823a07011bffffffffffffffff0219090a0395e73c3b71b0fbd862414ea6b45437c5ec199647392375a5c4b2bfb2dd7007d203337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba038efc238c443939cd7706222e5fadb03a477cad170fa99ed139ac5747506d5c9d05581e033e8babcc3454497435fb45013757565af6ffc3920b8402168bc19c6f4007011bffffffffffffffff0305b8695e1ea8bd6370c8dc39640fac2de0ffddf31d3346700eb47afd5706c68903717e488edca4cfa6296b3a6d7058311de7d29c7852ac93cf967979367b8b214305581e031b46d76205022095c9ef8f3e00531bdcd68d2b2e11f6456178ab9f0eb00401038b8ac9e333319d3463cf43a20b2f2e9d59bc228635b14acfbdeb748b13cac3eb05581e03f0f711677f3d00063d7291e3ed37f4154fd16efc7ee2e623ddeb5f5d20040103198df14e9d010a5d032a76dd984908e31628a6a38b3cf4ed73896397d0bf97cd0141030219f36f03e2a17b71d72359eebf545598256441d0024eb67e038fc7d852383ff64b291fe5035932a013e9e766e8d2a0c6e7f4e059a8404128119cbcdcac4b15518d57ccf11003bd3233ff539e1bca0b0a394e7578d149140d4d969f09f9a3b3ba00c97c1456d203d52a44cf5824cdf7ce33fe5bc8b9e7ea07e0d4186885e1b492fe7c8fa207172003f07b6d4e68782a4e3b04e03dfb5cd8ddb9b45d324faa3d3bde88922a0dd71f600219ffff035aa82825dde5cbadb38a9365471ba759e275762e89ba7009debf27c912f28cb7034e920609e09afbcfd8331545b0afb5909d4e9a671cbf3da380a037107c48d9e4037567e46e2567dbf5af6634b189f918bb628b931e958d80b07d6174d6ee895af70219ffff036bf3b23d6f6128eb76f31d7e410e0970ec794167a2ae6ff198e39a00fca67f8803557a7112378303e0037356cb8fd9b6fd0e98066427eb60bff9781d51dd496b2003d0111c3acb619c97f9de8d7c155113d1d1825da378b901c0d9fb1db9c75687bf031f4969715321f486f58fd8a47bc0a86e16f23e57e0f89e31bea6581bedb6eed9034a7ce29bd8b5302b704fc01e32f545db98536b0fc352ca1665c0c867bb4376f703e8a08957e3b4cfea3d40e56f430f24fbd831f3d381b2955bc02bc380396be61703e4366555c1b888fe94c73c6bb5b3a8689f4530ae0cda0c2b719366c7f3c4c41903f5a7abff1f293433c20393da44ac2d0926eddb8bb05a8fd634d3eb9396be52f6030ee20e5f4ada94390df2cc82590360b19bf5b0e26a48b1292be245f46c57a0e00219ffff034b0cb08d1dff48446c366c2671023449b46f3bc5f09085af7d6ebd318022ef860359f1fbca60c85a53fae440e20001a98680cd7f1daf2333a51d2daccddf002f1b03baf7b8fdff6f7db1d61fe2316e02a0dd9ea9e40d629ccb539fb58c30c4fe9aaf038ec56abc67cf618c11fddd04e430d6a1f6ee00980e851de814c2d43e94aadebe03f2aefa8a33c50f7a02ea251c93d5f685bfe0cc8d302eb4c400ee5cb72a30b83e038bef9d8c27d88e2caa4645e82b0cdf765eca5a6fc1983b614dd33e74b2e62a8c03dca51e37f42987a41e792daab09a2c05ab3f6a610d78b4072b50c2d509baf8fe03ca9c2a5e47c8f2d7340e1a4cce0d2d714412bd4f195aa507b02efff2be72d9470323ee30702e0c56a865eeb3850442f659ba5699e746b7cef3c345dea0774fb59903e40ff1e28a88fd80866f34450cb8d9c4ee8067871f335bb88682d1c71c334b4003f437cc0da7cd17c6ba676e3585d33f01980f3ae219d4af084bac585a59b9a69a0385b08d5edf4ed4b0d95d75e9364089440b133f0c3ba48c797b0ef10d99793e530305dcd279a09e4947919db51702f02f6cca305722f56a1f9fce399d9e97461960033df2f32212c19907365b562d83e035affe6ac4608f771107373341fc24074af403049131e20d86b715061b142fbc9ddbaa7e3b5727ac9f17ef19d83b6807e454de03419d128c5a97a34023c88d44c109bc08577875aceb8e91578a5a95326bc25828034b2e8b34f29b701a8b92abad0d310f069d7f359010af83e7ad56e7d7637d069403d48572de6cd05ffa63fd554297aaedbf3956ae1ce74742b8044b7ba29f1c0cc7032c5989c28a7006814df068d8b21d5c2d3f3a7322b3218dfb1d7d40c24e11dbc8033d824a3203cf711549d2497990211827c45a181f8e3168fb291a68fdb636c71405581e03e1db3cf14ba7cd75e895fbebbacb5ad43868aaf09ecb75c1998961ed400c0447049511a9a52e0005581e0368db383199966da70e07783ab37d17043d15db0fb254577ebb74979da00c014774a2e91583493c05581e0315802a75e7562dce382aa4c3170e743551dda407d873e9d6d6d6da31700c03410105581e035586dd59018ee029caa5b259d24594b6c1d817abc49304297b9352a250040205581e03624eeaf8f63be68e0659edfc669786a8050d10fa7ac30ee1165283bd50040103d45ff855863d0e73494786e1040a59539f36341a465e73b07ff47968135df78e05581e03de0ac59ac3a17d8c68578d8e9e4d700ad9685a611a23001bd9cf99c1b0040103c6c9d93117b62ff66350fba02b3f18c9c632b2d4b0ee5810eb3d19673ea6d37605581d024ae43aed58b3ea1164487be2ad92dd019a9fa20eee499500dfd541db040305581d024debbe152d682ea0d255b36ec5f1c8de1b04fbb45526ccf9129904190c024638b8f9bb67c3021403bb16cd523a878e98f035c6f8197c644f53cdbff674df6e3b057a3821502d83360219d3f50354e646eaa628a118b0be8cfd5773c61968ff55c54cd4a1497bb626f7c77244f403051e0bdf60b3bf0e86d0352893f7a96d2c46c7d02272721064a09ac83919575c03d5f822e5321d85626c7b512ba14cad62e047a3c695dcf3546036c89cb8e90c8a03120b2130cf3d69bc613719327f2f9903da03b5a5f511fb2614911bd3a38b591e032c0b1c4d39cf16baf3076f87144af1386711b364deadf69e82941e14e21a4b4a03dc4fa6e17e77828f6e3f93a3d4c1403007c08946c5607fe8cda5d8e7b75af3e503667d9fa503f5d635c0d1f64f90e57a8acc2b9be8c26d8eb1b52e4922af29eee603b2af79d07800f2f5c05c0d2e51534acf45c8b661967957eb1b226a5c2d2c42d203303128a03221f50a10539f944e3949aa585e7686340a9138c8a1dff7f1db365c0335122a5d047349dfc90369a68f2bbb14ed1d0169f96d781c4e48ab0fed0c5b710386caf49cc8046b06f412f16796210264277a8ed77cc492af3d23a3c6c84dc2c80387070b8c8396a21a74a1da468468917585980848c493234b53e19ab6861d4ba70219ffff0347277b75e28ed7838b9193b1839be550378d1a14220c309ba83866b4f390bc06030581efc48d8d1f221aebe46e792114eca6199ca8c650dd80bc555390c95da15903d8d006ecbf6fe941fbfaf068f7b6b1dedc49f7e346682140d76ec246ebd99e6603d8ab7595097e69855ec23199b2dd0200480de3ef071d487665af387e7e31d5a20347f6aea731e8c0d44ee0e34d24610c73f2d2645dfe42bf302f459bba13ae1cac033108cc4ba1e190ea4076119448b7e692b970f4cfd8183b4e6415d8abb95d35770371989f651a71df9158d1c71b9e37155f98e56a3c8764d514052c924246eb04d903c73142e5d6c6c96fea975533b33052e1ff69582a665d38c31b96696471e1959f0219ffff03a216ede6e460f4edb81cc3a0ec7538481074e2e3bcfd6a28f46011d078f0bbe90380d0d97d88c544315bac831daa71adbcfa66c307271eafbd0713cf57e7fc69c603754a9c71b002ba301010e2c7cbbbed3547c950b416b60daab1063365102a323903418f4766200c038234bb846fb4a0cc24a324f7627efb017285e4b8161efc765303d119c79c572b2c64a70825df230fc535c113d8981240ccf6b1d6bde23f08393e03fd564fecbfd78e085a8c438e2f5997d0307ea68febce4e13491fa33b97ef2f1c0219ffff0319228381e597c5ca8d948bf068469c9ea8781b7c1f24cde070095b513fb71a6d0307b67f289970903ad7e087b87599dc2186f5ee55bddc37b069ed788fa70013f4039369fb14e5025e6f59ecf237074fcd900383f6bd9c70858a21f0416024b80a8b035f03517b7a4c84fe10e7895b7c305e88f2c3af53b5dcf8f993d795cf8e24ae7f03c0c99c31fa9eb6ff0d86b3d54ff6b434b5e6575f0efcadecca49222ff10f0c1403d390721f24617ce1d734ceb5d03af120d22d3ca2978f753c7a4b4203915783ff0330c79b19f2fb557b2e8d6c91563946896c8666384abd5d4f0505a855882653d0033d67c09bb2d61d63b7245e0d8d99cfa57da5bbc11c9c59dfc3703e381785d21d0334b0e3194932f3928550fd2b5372905a38f4bffb6fd23e47ff2bf38024b99e7f0375cc9a5f73b809728940f8831f1a236edf1167619be9fa1441c2a2638a5f58cb03641f55388e6db37a532ad822e2767a03910e8e88592ccc52ecf1cdd228b56f62035e1dbfbb94431c2261b3f12e7e849250825d8d6bd183b06c77f2eb8f325040e60398f05c1bc5e8be0370bbeffc006a3e4a3ae0457bbac24ead38e84b880a39501a03fca91593c1b59cb6efadaf62ec01c6173319a051de0e99f897209834618a32f703c0ef29afd03ae8ac77ded403349c7034bf469c0f7fdf9ad857157dfda5a3d0f8039d5e685596bda18345ed60b8cd87dd7721412488ea1b3cea1ab256ded181081003f1d1adc8499a383f1ef4bc56c2dd59ca78a3810576394023b1a30c92bdb0eebc032f972637f449d8b900cd0c43caaad7909c7f592e4821a3bf6d76d690b2a8d0ff032a828df3d7a78a77676be15cbf800f0c8247d6687a138ff6f88ef250b6514b2c03bb4f33b880f26b983d39b37f544946f70453cd6e2da85208b223a1363a60129a033decf2e47270e56287f0da0411ef2f9068871395c3cb33780dd249d01459ae68038350eef1854ae5f7ba63d95f79cdf06c38da4a0ef24b55247b400d1047923b1e03bb159240dbf3133839f13396d8de6ab2a4fcbf42d34675e27b254d014449e2c90340cc573ec3a275709e8aeabb4765301ae55efbd58be7a8f02a5bc3e753a1968403eaeca14ce91bfc10c3a6e9b95026ff58841de3eaa0ac095507a5eb56a3806c9a03bf621266721df13883309288be1047f914b26cef36387a3d919f212d0e8a749903b9f015f8f9f3b570f5b8ffaee1150cd01ece375ef3f9bcb2a8157616d3dba6dd038c3162451e1a721792be65f12077e1a22bafbe18cd13b3f4d228c2dea6b023f70332096c2ec6f1ee53295420f59b0369b360a0ede85418635d82f989139803bc2d03e8bc71947bc6fb3a6c488fd87246de7bcd4b23370994d4f22b0a01b5e9220cf903185b82e122b70cd291f3c792702b7c9f4361bc40c18769c5493f147fc253470a03f311575685bde2b513c2daffdba3e5f4e25ae6599160139d294bffa9b8b4e65603c5f07c61afe9fb1037284880dd589b1e493ebd7d993421214a9fbd7a91620ffb03f8a35e2ea3dfb73e836054e41e063ae1b8683c2b4d7aa106f3861f8d392cf74003feeac3e9d66b3cfc0ba9910d19f04f8f6181cd34d321e40f1badc55eab0ee5f5034f014091630949e6bea2a1660c7027f66679aee54b65654434d8cf9b99db220103cb7c5dfe91dcf142ca6582f1237b5aca685dacb301817ab5c07e98d63840527005581e0390e1af1894e2f6174b59433ece5877d42de5da9fb7da85c1ccc42ffb700403035f3c29bfc03447cddd1822b6066b12b9632df581e7418ff3c5a6f89e13e816da05581e032bf3b86d2b5792ecd66e5a1b6dcddd0e058d116a0c34cc2cbb2c282e300c0148011a179b7bfdb80005581e03c7e3cc37c493e5d8885c74c5204874cfd0bb151ccf6132e14c7bb19e500c0147064693b0c3740005581e034811f368d4bb8671b5ece03f9c2ff2843a359eb48c089163473564e230040f03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e037350b174484f9e618253cebda6eef526dfd3a2aebf3f2cd37255b4c1e007011bffffffffffffffff035e26d782d5209a10aa6f4bbd7fa00311a0e12a95eb0a03d87375a4afd467f02904594c05608060405234801561001057600080fd5b50600436106102535760003560e01c80638da5cb5b11610146578063c87b56dd116100c3578063e670e41d11610087578063e670e41d146110f2578063e985e9c51461116a578063ea923bae146111e4578063ebfb412d14611267578063f785ef72146112ab578063ff5c1d62146112cc57610253565b8063c87b56dd14610e12578063d547cfb714610eb9578063dd62ed3e14610f3c578063e0df5b6f14610fb4578063e2b9e1861461106f57610253565b8063a9059cbb1161010a578063a9059cbb14610bac578063a9c6f4e714610c10578063af17dea614610c74578063b88d4fde14610cf7578063bda0278214610dba57610253565b80638da5cb5b146109e757806395d89b4114610a1b5780639b19251a14610a9e578063a22cb46514610af8578063a457c2d714610b4857610253565b8063324536eb116101d45780635765a5cc116101985780635765a5cc1461074f57806358a10259146107c75780636352211e146108c95780636b5e27ef1461092157806370a082311461098f57610253565b8063324536eb146105f1578063395093511461060f57806342842e0e146106735780634f02c420146106e157806353d6fd59146106ff57610253565b806323b872dd1161021b57806323b872dd1461040d5780632e953e7714610491578063313ce567146104e95780633158aa7f1461050a578063316d295f1461056e57610253565b806304ee65c01461025857806306fdde03146102b0578063081812fc14610333578063095ea7b31461038b57806318160ddd146103ef575b600080fd5b61029a6004803603602081101561026e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611324565b6040518082815260200191505060405180910390f35b6102b861133c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102f85780820151818401526020810190506102dd565b50505050905090810190601f1680156103255780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61035f6004803603602081101561034957600080fd5b81019080803590602001909291905050506113de565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103d7600480360360408110156103a157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611411565b60405180821515815260200191505060405180910390f35b6103f7611428565b6040518082815260200191505060405180910390f35b6104796004803603606081101561042357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611432565b60405180821515815260200191505060405180910390f35b6104d3600480360360208110156104a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611455565b6040518082815260200191505060405180910390f35b6104f161146d565b604051808260ff16815260200191505060405180910390f35b6105566004803603604081101561052057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061147e565b60405180821515815260200191505060405180910390f35b6105ef6004803603604081101561058457600080fd5b81019080803590602001906401000000008111156105a157600080fd5b8201836020820111156105b357600080fd5b803590602001918460208302840111640100000000831117156105d557600080fd5b909192939192939080359060200190929190505050611493565b005b6105f96115f6565b6040518082815260200191505060405180910390f35b61065b6004803603604081101561062557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061161a565b60405180821515815260200191505060405180910390f35b6106df6004803603606081101561068957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611641565b005b6106e961177c565b6040518082815260200191505060405180910390f35b61074d6004803603604081101561071557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611782565b005b6107b16004803603604081101561076557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117dd565b6040518082815260200191505060405180910390f35b6108b1600480360360808110156107dd57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561082e57600080fd5b82018360208201111561084057600080fd5b8035906020019184602083028401116401000000008311171561086257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611802565b60405180821515815260200191505060405180910390f35b6108f5600480360360208110156108df57600080fd5b810190808035906020019092919050505061190c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61098d6004803603606081101561093757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611983565b005b6109d1600480360360208110156109a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120a0565b6040518082815260200191505060405180910390f35b6109ef6120e9565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610a2361210f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a63578082015181840152602081019050610a48565b50505050905090810190601f168015610a905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610ae060048036036020811015610ab457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121b1565b60405180821515815260200191505060405180910390f35b610b4660048036036040811015610b0e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035151590602001909291905050506121d1565b005b610b9460048036036040811015610b5e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506122d0565b60405180821515815260200191505060405180910390f35b610bf860048036036040811015610bc257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612356565b60405180821515815260200191505060405180910390f35b610c5c60048036036040811015610c2657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061236d565b60405180821515815260200191505060405180910390f35b610c7c61256f565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610cbc578082015181840152602081019050610ca1565b50505050905090810190601f168015610ce95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610db860048036036080811015610d0d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190640100000000811115610d7457600080fd5b820183602082011115610d8657600080fd5b80359060200191846001830284011164010000000083111715610da857600080fd5b909192939192939050505061260d565b005b610dfc60048036036020811015610dd057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061276d565b6040518082815260200191505060405180910390f35b610e3e60048036036020811015610e2857600080fd5b8101908080359060200190929190505050612785565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610e7e578082015181840152602081019050610e63565b50505050905090810190601f168015610eab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610ec161279e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f01578082015181840152602081019050610ee6565b50505050905090810190601f168015610f2e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f9e60048036036040811015610f5257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061283c565b6040518082815260200191505060405180910390f35b61106d60048036036020811015610fca57600080fd5b8101908080359060200190640100000000811115610fe757600080fd5b820183602082011115610ff957600080fd5b8035906020019184600183028401116401000000008311171561101b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506128c3565b005b6110776129a0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156110b757808201518184015260208101905061109c565b50505050905090810190601f1680156110e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6111546004803603604081101561110857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a3e565b6040518082815260200191505060405180910390f35b6111cc6004803603604081101561118057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a63565b60405180821515815260200191505060405180910390f35b611265600480360360408110156111fa57600080fd5b810190808035906020019064010000000081111561121757600080fd5b82018360208201111561122957600080fd5b8035906020019184602083028401116401000000008311171561124b57600080fd5b909192939192939080359060200190929190505050612a92565b005b6112a96004803603602081101561127d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612bf5565b005b6112b3612da4565b604051808260ff16815260200191505060405180910390f35b61130e600480360360208110156112e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612dc8565b6040518082815260200191505060405180910390f35b600e6020528060005260406000206000915090505481565b606060118054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156113d45780601f106113a9576101008083540402835291602001916113d4565b820191906000526020600020905b8154815290600101906020018083116113b757829003601f168201915b5050505050905090565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061141e338484612de0565b6001905092915050565b6000601054905090565b600061143f843384612fd7565b61144a848484613096565b600190509392505050565b60036020528060005260406000206000915090505481565b60148054906101000a900460ff1681565b600061148b338484613460565b905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611556576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b60005b838390508110156115f057600060ff1673ffffffffffffffffffffffffffffffffffffffff164211156115e35760006115c360008060ff1661ffff1614156115ba5760608686858181106115a957fe5b9050602002013560001c901c6115bd565b60005b8461379c565b90506115e18585848181106115d457fe5b90506020020135826137ef565b505b8080600101915050611559565b50505050565b7f000000000000000000000000000000000000000000000000000000000000006481565b600080339050611636818585611630858961283c565b01612de0565b600191505092915050565b61164c838383611983565b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168273ffffffffffffffffffffffffffffffffffffffff1663150b7a023386856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200180602001828103825260008152602001945050505050602060405180830381600087803b15801561171357600080fd5b505af1158015611727573d6000803e3d6000fd5b505050506040513d602081101561173d57600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461177757600080fd5b505050565b60025481565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c602052816000526040600020602052806000526040600020600091509150505481565b60003373ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b60005b82518110156118ff576118f28382815181106118e257fe5b602002602001015187868861387a565b80806001019150506118ca565b5060019050949350505050565b60006007600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561197e57600080fd5b919050565b6002548111611f61576007600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119f757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a3157600080fd5b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611af45750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b5f57506005600082815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15611b6957600080fd5b611b71613a86565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550611bc5613a86565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816007600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490500381548110611d2a57fe5b9060005260206000200154905080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600960008581526020019081526020016000205481548110611d9557fe5b9060005260206000200181905550600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480611deb57fe5b6001900381819060005260206000200160009055905560096000838152602001908152602001600020546009600083815260200190815260200160002081905550600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208290806001815401808255809150506001900390600052602060002001600090919091909150556001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490500360096000848152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487611f46613a86565b6040518082815260200191505060405180910390a35061209b565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461208d57818103600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b612098848484613460565b50505b505050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060128054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156121a75780601f1061217c576101008083540402835291602001916121a7565b820191906000526020600020905b81548152906001019060200180831161218a57829003601f168201915b5050505050905090565b600a6020528060005260406000206000915054906101000a900460ff1681565b80600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b60008033905060006122e2828661283c565b90508381101561233d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180614b5f6026913960400191505060405180910390fd5b61234a8286868403612de0565b60019250505092915050565b6000612363338484613096565b6001905092915050565b600060025482111580156123815750600082115b156124e35760006007600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156124815750600660008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561248b57600080fd5b836005600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050612565565b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001905092915050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156126055780601f106125da57610100808354040283529160200191612605565b820191906000526020600020905b8154815290600101906020018083116125e857829003601f168201915b505050505081565b612618858585611983565b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168473ffffffffffffffffffffffffffffffffffffffff1663150b7a0233888787876040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050602060405180830381600087803b15801561270257600080fd5b505af1158015612716573d6000803e3d6000fd5b505050506040513d602081101561272c57600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461276657600080fd5b5050505050565b600d6020528060005260406000206000915090505481565b6060604051806020016040528060008152509050919050565b600b8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156128345780601f1061280957610100808354040283529160200191612834565b820191906000526020600020905b81548152906001019060200180831161281757829003601f168201915b505050505081565b6000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612986576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b80600b908051906020019061299c929190614a45565b5050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612a365780601f10612a0b57610100808354040283529160200191612a36565b820191906000526020600020905b815481529060010190602001808311612a1957829003601f168201915b505050505081565b6004602052816000526040600020602052806000526040600020600091509150505481565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b60005b83839050811015612bef57600060ff1673ffffffffffffffffffffffffffffffffffffffff16421115612be2576000612bc260008060ff1661ffff161415612bb9576060868685818110612ba857fe5b9050602002013560001c901c612bbc565b60005b8461379c565b9050612be0858584818110612bd357fe5b9050602002013582613ab4565b505b8080600101915050612b58565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff16600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612cb8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f43616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b6000620186a06201869f612d6d601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612d2d57600080fd5b505afa158015612d41573d6000803e3d6000fd5b505050506040513d6020811015612d5757600080fd5b8101908080519060200190929190505050613c75565b0281612d7557fe5b0490506000612d82613e3c565b90506000612d908383613fc2565b9050612d9e838284876140e6565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000a81565b60156020528060005260406000206000915090505481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180614b856025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612eec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180614af16023913960400191505060405180910390fd5b80600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b6000612fe3848461283c565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146130905781811015613082576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4552433430343a20696e73756666696369656e7420616c6c6f77616e6365000081525060200191505060405180910390fd5b61308f8484848403612de0565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561311c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180614baa6026913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156131a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180614b146024913960400191505060405180910390fd5b6000600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561323f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180614b386027913960400191505060405180910390fd5b6000600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561331c576000613311600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546141da565b1461331b57600080fd5b5b6133268183614262565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133b2600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054836141da565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050565b60008061346b613a86565b90506000600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905084600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555084600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661365c57600083600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548161362a57fe5b0484848161363457fe5b0403905060005b818110156136595761364c896142eb565b808060010191505061363b565b50505b600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166137295760008382816136b857fe5b0484600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548161370157fe5b0403905060005b8181101561372657613719886144a8565b8080600101915050613708565b50505b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487876040518082815260200191505060405180910390a3600193505050509392505050565b60006137e7600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483614680565b905092915050565b6137f881614694565b600e600080600014158061380e575060016104d6145b61381f5760608560001c901c613838565b60028063ffffffff1614613834576001613837565b60015b5b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b8073ffffffffffffffffffffffffffffffffffffffff166323b872dd85601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561392b57600080fd5b505af115801561393f573d6000803e3d6000fd5b505050506040513d602081101561395557600080fd5b8101908080519060200190929190505050508373ffffffffffffffffffffffffffffffffffffffff16601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82285600080876040518085815260200184815260200183815260200182815260200194505050505060405180910390a350505050565b60007f000000000000000000000000000000000000000000000000000000000000000a60ff16600a0a905090565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600080141580613aff575060016104d6145b613b105760608360001c901c613b13565b60005b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600d6000806000141580613b60575060016104d6145b613b715760608760001c901c613bb0565b3073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff1614613bac576001613baf565b60005b5b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3613c09816146a1565b600d6000806000141580613c1f575060016104d6145b613c305760608560001c901c613c33565b60005b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000806000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015613ce257600080fd5b505afa158015613cf6573d6000803e3d6000fd5b505050506040513d6060811015613d0c57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050915091508373ffffffffffffffffffffffffffffffffffffffff16601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b158015613db557600080fd5b505afa158015613dc9573d6000803e3d6000fd5b505050506040513d6020811015613ddf57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614613e2157806dffffffffffffffffffffffffffff16613e33565b816dffffffffffffffffffffffffffff165b92505050919050565b606080600267ffffffffffffffff81118015613e5757600080fd5b50604051908082528060200260200182016040528015613e865781602001602082028036833780820191505090505b5090503081600081518110613e9757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015613f3957600080fd5b505afa158015613f4d573d6000803e3d6000fd5b505050506040513d6020811015613f6357600080fd5b810190808051906020019092919050505081600181518110613f8157fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508091505090565b60006060600267ffffffffffffffff81118015613fde57600080fd5b5060405190808252806020026020018201604052801561400d5781602001602082028036833780820191505090505b50905061401a84846146b9565b90508060008151811061402957fe5b6020026020010151600d60006001421180614045575060016000115b80614066575042600173ffffffffffffffffffffffffffffffffffffffff16105b614071576000614081565b606061407b614854565b60001c901c5b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806000815181106140d557fe5b602002602001015191505092915050565b600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506141d484848484614879565b50505050565b600080828401905083811015614258576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000828211156142da576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561432557600080fd5b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905003815481106143b657fe5b90600052602060002001549050600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548061440b57fe5b6001900381819060005260206000200160009055905560096000828152602001908152602001600020600090556007600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156144e257600080fd5b60026000815480929190600101919050555060006002549050600073ffffffffffffffffffffffffffffffffffffffff166007600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461456757600080fd5b816007600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150556001600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490500360096000838152602001908152602001600020819055505050565b600081838161468b57fe5b04905092915050565b6000600a82019050919050565b6000620186a0808302816146b157fe5b049050919050565b6060601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f00ca7484846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015614753578082015181840152602081019050614738565b50505050905001935050505060006040518083038186803b15801561477757600080fd5b505afa15801561478b573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156147b557600080fd5b81019080805160405193929190846401000000008211156147d557600080fd5b838201915060208201858111156147eb57600080fd5b825186602082028301116401000000008211171561480857600080fd5b8083526020830192505050908051906020019060200280838360005b8381101561483f578082015181840152602081019050614824565b50505050905001604052505050905092915050565b600060603073ffffffffffffffffffffffffffffffffffffffff16901b60001b905090565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638803dbee858585856104b042016040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b83811015614940578082015181840152602081019050614925565b505050509050019650505050505050600060405180830381600087803b15801561496957600080fd5b505af115801561497d573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525060208110156149a757600080fd5b81019080805160405193929190846401000000008211156149c757600080fd5b838201915060208201858111156149dd57600080fd5b82518660208202830111640100000000821117156149fa57600080fd5b8083526020830192505050908051906020019060200280838360005b83811015614a31578082015181840152602081019050614a16565b505050509050016040525050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282614a7b5760008555614ac2565b82601f10614a9457805160ff1916838001178555614ac2565b82800160010185558215614ac2579182015b82811115614ac1578251825591602001919060010190614aa6565b5b509050614acf9190614ad3565b5090565b5b80821115614aec576000816000905550600101614ad4565b509056fe4552433430343a20617070726f766520746f20746865207a65726f20616464726573734552433430343a207472616e7366657220746f20746865207a65726f20616464726573734552433430343a207472616e7366657220616d6f756e7420657863656564732062616c616e63654552433430343a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f4552433430343a20617070726f76652066726f6d20746865207a65726f20616464726573734552433430343a207472616e736665722066726f6d20746865207a65726f2061646472657373a26469706673582212204517f37c99adea3321a666f9edb0833c9f5fc19559c5f632fad55a35dd28499864736f6c634300070600330367424921a1cfb5917b1db3fd4eeaecae8b0594f3f515058bedb9e8d7a650605f031e0b42817eac60ee47fcf8d78cbda9bc57d2d9ccfd9f3709c3a40a18d1faaf4f033479f44b3296315871ca3ff1d1007b20bcbcf989d34b0ea8d02648ce5d118dff03026c85dab352573f4fce042d2a71add6291d396d66fcf4fa7749c968e3b4a96403ac670a7799cdb0180d766c148f1eecf1dbd2abbaacf7907bc4bfab852fb8c47a00582002bb55989786982097c959ee82ab21aec7a148d58ff2968215ea23e4585540175820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820025f84aad7201cd7a4d7f00d787f549b68e17fb812b2d2d67db159e286d024104a20aecebc813e72d2de8b0398c2002873fb996ea16f9776d9fac58603ca7f66d93a3a98fdea1084d17953f80058200266b97cc329056d6838133d025c3f47216e31cc291a8839d3dd568452a030f55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002b3b07a006421e379a5b0cdc4ef316cda902a1e6d50054df55daadd1a755e964a0140620871ef1c677fd5005820027689687c7ce269267726e957f459e38d8dc15284fafe387196dbda07d7e7105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200386cd91b957e3262f263c0f3e7716c35ced4183a81d487ba0dac13fab6275204960b2eb9b20e64a0000005820037302ca4351ed02ff7502bc2f0a26f05735983559b02eb4182fb3705bad99705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a8c90c446d0435ef8dd8917f50c8ebcaeb582146ffa61587b32fba89e16a604af0af2e0b2bf27c86bb35021941400390fa147e1ab76127e1a497cee6af006dd11c7413ffd97e75c213e6f8bce231cc034453ab5f3bdd925d6016cadece64c2c08e4f0d410d7c89e42d3b82094ed8d79002199e74034f3fd3e1e179ebe67948e7dee3adcf227063d315735a3bdea27662f39dbe32580311596b1f74e061087044bbdee1dfbe52d7f4bd561a9c4d13eca714dcab649de00386b3e398dba7e531a5f48e95c704cb021e7c8393c5486adbd741bc9ad8d03208039210894a05d63f7cd33c83624fb8f32a2cd648bee2076ba008780e9742b6c230034f071e80f3dcf21809bd09c307b7a21cbfaab080fca3b8eaf0040bc68e68029503348779d7de88dc2e31658809b58df333516751c155142928bed83d1ec3883626039f1102946cd806c70b254c75c94c35b245b0a077078872c2b8f3398d23420db103c5ce9afc022421bc4fd72f7c2f7b451cb3aff4cb8806146430ec3b1a287b8e51032dd56e5cba63daa918d9b55519bb7a16507f989a16503165e9f6ea76c64b4e1203205ae1beb690a9f7334b598bc6eb21166f7a4424511da6f4dba8aa60bbee42850219ffff05581e03064ca4c189e067440ab24aa11962c0216bed7b9c13ea5970f047f0b6d00701194c0505581e033215103e55b0c57a71948311da0097fa7ed6877783d59c4cb083a459000c014701106a4906b2d90356703d2e2a2f9a2eacf64ed7113c61c5fab47cdf3dc0d3e8dbb1ba6e3270e1280219679b030adb8a62c8db69d1370ce6c51f6c38df54855625c58dacb7b2ebe49dcc61524d0352649051208f5a2055f18a37df19f7ed4c6cbcc2ebb183a2c0964b2d67a339d70219ffff0328dbb2cb02d73d46289d4ecfaea28b3dfbd87cbc39745ea959d66a10ad67a72403dd105ed79767689ba403273eb34bf61bf4f50ba9d7042142186d4e336c545dcf0219ffff035bc7da213202121a24ddcaedf51e5e5a36334575e83217348b67b805ac70b58e037a7245caee5f90fac60f431d7faee9ca097e111e840839eae762562803011eef032be69465c15e2e5a2b466ceca37eb48706dea2b9cba2b174821993f3c3da71630389c43fa8d474ad1018515d9e59c73930180a9276c7e44a6a7aa563fe962c85a6031577e77f3a796e8c21d42cdef40733284e39f6a6f9c471b233b70c2f054f273b03f521a7c7ce297ff7c63ae7e4e5a72c99ad300c28bfcfb9301b7a714974a25ed50219ffff03823844b604cca4adec712f5193eb11af25a3547bc6c1f4494fcac76aa359afb20219ffff0346d33762c19c5c8cd7022d63c4c1f30dd1eb85eb830490d218766b642503cbd0033b1a6234614bf238b3fc36d5adb2e7d4cdc4d82f8ca91dcf7131a80e0ac81c0503a49247e169d0368e4bcd4331d3a40905ef478f06cf9883e43be4db9790abc94e032d4544827ef98d823961deeb5ba16079afada81b2e5ecaf5bd35b66b5d1f9243035cec408116983d5eed3f9e96b363ba50d07c9af4c6e3cca8cd85375a4ae8dc8b031e70941cd29e43581710669d3d4f58eb293ddc43b738024b737bf7732ddaf87b038048a2645ad424127f3dbd131db54d27dd6fd0365fe4233d43aaa7b60a598e0803c9b4047f6cc99abc8c110f947a83490ed54d676b2c6eb4f73d28b65394ff2386039d4ddb71607bd13f40e672461dad102af0722e9011aa352408b27904873b502f0380a1f4e188aec12c2d01653e7928682e400ec91eebbc62aaac0a91af8546313203fee42a274dd3db3a1a8bef02f47bf7867077553cd86641b154b5977d5dbf3f02033ad392a68888f9cb21b73ba6e26c73db1fb978ff8599f143610fedf3bac2b7e603b9f6ffd229167c202b140f864c3157cc99cf2e13d4346517620a0a227765843e039a784f4d1ac5cb176f83b5c510e0cd99843e044a5c049ee205ad8d783ce96ae203be8e4cf4f94aa116e6be8a390b412368431806f981253f363e6448c0d197d69903546629b30feea624769d2922227f1bf7f7dc8ba6079557596ca13779b501da58030a0346b46a4d1fc27127afa2e7ec8dd48624bfe4266586c7d435fc6497a2c39b0355eebac0eb8b2c05337b91693369ac38f9ba58a8b688dbcd3210511d4cfef4f303ee74d9d15dd8e3bfd5fad5697a6ede4b3adba3b880fe7faf3a8f3c09470be911038ada4aecda77649f65cbf7725a96c3d1a905c006eac4791944ec8e71bb1cdc7c03837e04a6d3b9d1f656ef7b72e4ed6d0bbf7e7dcf4ae828f506c1ca31348838c803c5b9ac36c4a80f7ebf80fd16ca56188363b1a76f70b9d4bedb252275bdbe16ac036d6849b8d52b4f8ee38fc70aec9e9226599bd706f01206aa46838b9f0450ea0b039fbd709630f97a2fcc70b6b6a129d6d1e071ac452dc172035ed97cd288cef78d03ee5885c70781ea8c09e2516958c12d9972a4fecad2e68d99f04a8a2f2e8277df03c184f805c028439b80eaf7df388b96d9324636a38fde0ed1315b2e5736a1841603ea836b2eaca8236f44be3ddd8012400f2d065b9b55fa26ecf8f78fbc73ae654603df82dca1859f3fc0d481b0e29c7c3acea1751ddce3674cca0dd2326fcb6be204034ee13788ec40c51fb2daa7149052a901ab2fc02d7befafbf41059f01b8a9e50e0379e41e01ae16ca493b3bd9b92552133c7be78354dc81da2b305e11a1bae4d542037fe2daa72d58d800ff434f16625065c388ed216c4b08acaa43589cb682aa7789036eae093de2c70fa9fc544e6c6761b6a833cc72be010b88f62f2c0d44167b187805581d020c31ad35380e5dd4aff8c4d1f36a34c25ece313a66a380460476c72c040305581d0202a2ae97ed430a979699f9eaa0de0dbec696ccb45d4faf4359b668b10c0b4802414b745eac1ef203f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581d02644a77e0bd617a11c7f75c6c5fff6bb63c9bc7b381d4361a97524ef007011bffffffffffffffff05581d0248579370bae777eb41838250adc172b3f6ef0855641eead080f640980847470de4df8200000219180605581e0370d54e601dc2ece9f1a3b60eebb24237944918fb59508a1e64dbb8f350040105581e03f2d4df45719d7abd463eeeba55aa3b5d072c5399de86909bb6b192fe800c0a469429671c02f805581e03da4279c29da59ea680d824b72cf46eac4f12dec8d3bfe4362f818b7810040105581e039e11022f89493851e438cc6dc3461ebfe3ff2745214dd5f62342eba59008471dcc6521db8f1203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e030ca0630dba1cac18ae78070233e8250f41c872d7b146273ce5ef6b518007011bffffffffffffffff05581e03e06e05c2db28ed2ef31a3eadaae3b15c420b71c0a8a0ea79091fdafb100401034cc2a34b8af31d02480216bb7ddf34df5bf052e843c92507a97359a59ea106b505581e03a09e941b89174c09e767e2a7398451820c46eb17e7778b7e54c859a2c004070219cea50219ffff036ddbd58ced6d61374683c4520fb8d66ab9f8c83ebc8a90d915dfbf8be7673412035f1c75112f318658f7565faefc1a072f31cba7fdc0ed6a3b16bcbd43b5f9b0e903f19f6d3b211fe61610dfc0aee14c71d9a9afd9e8646dad44409269340c807aaf03387d34ff9240357d202a86141966f4ff28477c3d04dc121c7d7e6d96969539a4036774720d4dc7bdffa7ee1a91fd0bfd4eff6aca0de9109da59f87f2912bd62793034b4ed92c70896ac8bafcb63276b7e0a0a3a08e71d0a1fcfb70fa52f5adc564d803c575b5b5d4e3fd685a7712f233ab9a5152c70f83086c18c6e6bb9c952420b4e50383b1563ac1fad34ca62ce08f7ec78d38c084bd7379f193cbcc29eb3105d7993303619f81157cabc3101e245c12b0e8bb7815f4f170c15515bde2166cadcea12af30312ea72f6105bd98b5707f29da15511a4aa8b3583497169907207572a7fe5d3be03c3b249fc52868b23de1ea7ad119d31ae4b1052b14a6341563023daa2ff8aaabb03014e935075b5577baa4b351ef319b885a6666ef8fc8a07158ca463179a5bcbee033ce6bc26fef101d325693606fb12409c7f9786be1315fb9e94c515aa81f8ca8d0327e84934acef994642d0c614ce3520a22514bd9123179a0f5bb1378367eb432903717edf04fe37ea632e7bab2394dd5c13ae5729ea77a58b20982f41defa09fc400219ffff03eb357599689f6b44c01442b8625b69a083a2e4e28bb88e9bb2fd175da2d2b2730219ffff03d989358d2d5c61760abc1e34ed90b7ec38e861f31373b1179704797abf70b70003e196a75678bb4b70a6e9ccc8843be25079a4fffc5e04c829f6b755bedd627e52033e057125ec0776c0d14620dd48d293930b46b7c62111cda3d4f81dec077749ac034f1c691fd3cc25dd49a8fbf3c177d1fefb7c126c75b0b90bd5fe9326ca4b719a03b645103488b717ed3f3c4a13936dc979536966da431b9c1a386ae4c49801cbc503c063a7c1a565877fa2dca7ad3788afaf1a6fb0dd3851045c5f6d19173c98f0d303a7076e23b2ec2377c27095824476543340e0175c0753b386597cdae2fdcae7c103b4a2de16835db64e3a1cb2f1877de73119c327b2530f53d8061d7c62cd7100a003063052b0aa1eacf726b01b94acf48a2cd80d0c386925d260fdccad0c684a48cf033f974753bf5d2da7ade6641658d0db361828f5ea785e1bf82563296ed6634c92035768a6f24df6517827ebd851d72fb5b7c4a3706168a3279d2b0162ac7e2135e7030d138cd7d6e3ad448f318f8df1f124239d44871f8be0949744fff23ead2cfce803fa0dba744480dc451d45b47aa65481fbfe28da235dad5340882131deb436669c0339cbd1ade856eb0cf95c90600b59779fd7ab3a4f5b093bd116abba0dd230c8ef034c20be00399afac17de60de6010f5ed5d7b813f3f0285d10c6fea5eb8b9cc0ce03211382f065cc78944657b8225dc2e94678407cefd3313051239beb374c715bbc03476a7135098e1fbd4aeb5279dd2c3f772ad45585022d29eefc9e9e430455865b03202624fa0eacf3706490ca99f49195cdc10efab06e99b047e02d9b0392d2c488031530b9d7b3f4299bc7e9ffeb03d85cfc6343b07af433c7171c4243a3942e3bfd03af3a74845c5cfd8272da92444397abb9ada5a08dd9eca513e3e4ed02ec68d7dd03e31d5fcdf335f509653149c6be3a302b2e7f00fddb6865dc4d06eaecbc3e30df037fb0487dcd8a2dcb7d46685f57df85c6285d847ef1f28fa3b1337115b23c0e210391b3248f6e660184844f9475fc0f6e66a8feabeef58c258c986eeda89048a56c03672f6a36b45557434f1bb310785af28e437945a71e7ebe33358a62fdfdb2419403f9e7171f2d3968695ca225e891bc4f0807cd4d6671cff6773c6e34ea52a0c3030316dbb18388512a398c4340d864a64032ba39ae4e3906a7d4fb08299ab1387ceb03340afe3e48ae8ff8becdd3f5b786e84cabebdf9043f7492036c515eaad1306d303d2a4917cbc39ff3147d70ae9994bac9341a280488668e430a9654e00b8f399c3031f22e89df1e5f71b168c947e70095a33e42d635f3e22d3162936af37514c57df03890afe4f7d899147029d0c93c4dc859198f10584bba158b458b12f9ae6d3138a038206f1bd1da42aa83d7476af514631af88f5891d2dffaa5e842a8b7b24d2e1760375827d5220751d4c240cef14de7e9e7c3f39dc7bee5f650dc41a56d118bcfdd7038dd25ddb1c242e9651b8badacf3845ca13c5aa23f37de56e9b5ed128275ec48403da1201be54c9105c7914eea996352a09bebf5ec2489770d69d7a4b314b094c1c05581e033baedf6f8bef97105ffcd6b774ce4ce0af9905f31ee391c6060b665250040103ecc24fd7579a0950170a46802ab99012b4432b45ef212425137e35445271527403a2e159186f227adff126949905bc7150460274f82f43e5eaa6102be5d448837d0348636e36f25355868ff89e3975bff8594182a39a8be4de66df9aa2dbc4fc3a3603c280c38d7ebccd463834d6a1e8af4954627168f64df3d4896b11a8851a7eeede031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d03da347e6894218cc20fb345083381e24f84f30819490d235cf6cc4e5007011bffffffffffffffff04592377608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610acb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610af9565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b23565b604080519115158252519081900360200190f35b610339610b3a565b604080516001600160a01b039092168252519081900360200190f35b61035d610b49565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b4f565b61035d610be3565b6103b5610c07565b6040805160ff9092168252519081900360200190f35b61035d610c0c565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c12565b61035d610c96565b61035d610c9c565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610ca2565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b031661111e565b61035d611130565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316611136565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316611148565b6040805192835260208301919091528051918290030190f35b6102446114dc565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356114fb565b61035d611508565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b031661150e565b610339611680565b61033961168f565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561169e565b61035d600480360360408110156105a357600080fd5b506001600160a01b03813581169160200135166118a0565b61023a6118bd565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806122886025913960400191505060405180910390fd5b600080610667610af9565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806122d16021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d611a1f565b891561077057610770818a8c611a1f565b861561082257886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561086857600080fd5b505afa15801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b5051925060009150506001600160701b0385168a9003831161092b57600061093a565b89856001600160701b03160383035b9050600089856001600160701b0316038311610957576000610966565b89856001600160701b03160383035b905060008211806109775750600081115b6109b25760405162461bcd60e51b81526004018080602001828103825260248152602001806122ad6024913960400191505060405180910390fd5b60006109d46109c2846003611bb9565b6109ce876103e8611bb9565b90611c1c565b905060006109e66109c2846003611bb9565b9050610a0b620f4240610a056001600160701b038b8116908b16611bb9565b90611bb9565b610a158383611bb9565b1015610a57576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a6584848888611c6c565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280601281526020017129bab9b434a9bbb0b8102628102a37b5b2b760711b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b30338484611e2b565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bce576001600160a01b0384166000908152600260209081526040808320338452909152902054610ba99083611c1c565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610bd9848484611e8d565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c68576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610cef576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610cff610af9565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d5357600080fd5b505afa158015610d67573d6000803e3d6000fd5b505050506040513d6020811015610d7d57600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d6020811015610dfa57600080fd5b505190506000610e13836001600160701b038716611c1c565b90506000610e2a836001600160701b038716611c1c565b90506000610e388787611f3b565b6000549091508061100f5760055460408051637cd07e4760e01b815290516000926001600160a01b031691637cd07e47916004808301926020929190829003018186803b158015610e8857600080fd5b505afa158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b50519050336001600160a01b0382161415610f8d57806001600160a01b03166340dc0e376040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0057600080fd5b505afa158015610f14573d6000803e3d6000fd5b505050506040513d6020811015610f2a57600080fd5b505199508915801590610f3f57506000198a14155b610f88576040805162461bcd60e51b81526020600482015260156024820152744261642064657369726564206c697175696469747960581b604482015290519081900360640190fd5b611009565b6001600160a01b03811615610fe2576040805162461bcd60e51b815260206004820152601660248201527526bab9ba103737ba103430bb329036b4b3b930ba37b960511b604482015290519081900360640190fd5b610ffa6103e86109ce610ff58888611bb9565b61207b565b995061100960006103e86120cd565b50611052565b61104f6001600160701b0389166110268684611bb9565b8161102d57fe5b046001600160701b0389166110428685611bb9565b8161104957fe5b04612157565b98505b600089116110915760405162461bcd60e51b815260040180806020018281038252602881526020018061231a6028913960400191505060405180910390fd5b61109b8a8a6120cd565b6110a786868a8a611c6c565b81156110d1576008546110cd906001600160701b0380821691600160701b900416611bb9565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c54600114611196576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c819055806111a6610af9565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d602081101561122c57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561127a57600080fd5b505afa15801561128e573d6000803e3d6000fd5b505050506040513d60208110156112a457600080fd5b5051306000908152600160205260408120549192506112c38888611f3b565b600054909150806112d48487611bb9565b816112db57fe5b049a50806112e98486611bb9565b816112f057fe5b04995060008b118015611303575060008a115b61133e5760405162461bcd60e51b81526004018080602001828103825260288152602001806122f26028913960400191505060405180910390fd5b611348308461216f565b611353878d8d611a1f565b61135e868d8c611a1f565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b1580156113a457600080fd5b505afa1580156113b8573d6000803e3d6000fd5b505050506040513d60208110156113ce57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561141a57600080fd5b505afa15801561142e573d6000803e3d6000fd5b505050506040513d602081101561144457600080fd5b5051935061145485858b8b611c6c565b811561147e5760085461147a906001600160701b0380821691600160701b900416611bb9565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060038152602001620534c560ec1b81525081565b6000610b30338484611e8d565b6103e881565b600c54600114611559576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b03948516949093169261160292859287926115fd926001600160701b03169185916370a0823191602480820192602092909190829003018186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d60208110156115f557600080fd5b505190611c1c565b611a1f565b61167681846115fd6008600e9054906101000a90046001600160701b03166001600160701b0316856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156115cb57600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156116e8576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611803573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906118395750886001600160a01b0316816001600160a01b0316145b61188a576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611895898989611e2b565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611908576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b81523060048201529051611a18926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b505050506040513d60208110156119fa57600080fd5b50516008546001600160701b0380821691600160701b900416611c6c565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b60208310611acc5780518252601f199092019160209182019101611aad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b2e576040519150601f19603f3d011682016040523d82523d6000602084013e611b33565b606091505b5091509150818015611b61575080511580611b615750808060200190516020811015611b5e57600080fd5b50515b611bb2576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611bd457505080820282828281611bd157fe5b04145b610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b34576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611c8a57506001600160701b038311155b611cd1576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611d0157506001600160701b03841615155b8015611d1557506001600160701b03831615155b15611d80578063ffffffff16611d3d85611d2e86612201565b6001600160e01b031690612213565b600980546001600160e01b03929092169290920201905563ffffffff8116611d6884611d2e87612201565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611eb09082611c1c565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611edf9082612238565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8c57600080fd5b505afa158015611fa0573d6000803e3d6000fd5b505050506040513d6020811015611fb657600080fd5b5051600b546001600160a01b038216158015945091925090612067578015612062576000611ff3610ff56001600160701b03888116908816611bb9565b905060006120008361207b565b90508082111561205f5760006120226120198484611c1c565b60005490611bb9565b9050600061203b83612035866005611bb9565b90612238565b9050600081838161204857fe5b049050801561205b5761205b87826120cd565b5050505b50505b612073565b8015612073576000600b555b505092915050565b600060038211156120be575080600160028204015b818110156120b8578091506002818285816120a757fe5b0401816120b057fe5b049050612090565b506120c8565b81156120c8575060015b919050565b6000546120da9082612238565b60009081556001600160a01b0383168152600160205260409020546120ff9082612238565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106121665781612168565b825b9392505050565b6001600160a01b0382166000908152600160205260409020546121929082611c1c565b6001600160a01b038316600090815260016020526040812091909155546121b99082611c1c565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161223057fe5b049392505050565b80820182811015610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a2646970667358221220713a8bf21df06433f34b5c9abf186abb737e72524583bdf420105a289791e24864736f6c634300060c0033034eb78861a8f3b34bc49a4200cb4a9d35221577d320c64d3488903a95ca6b1f1103641e0ab92076c74c119e57d33583aebcb71042dd0d087bed979db0a0e752afd30347b8dee3d3a0f9f8cec400545606fa8c2dd610c9ee436976f5188e668b05dbaa03b0a4940b84b5ec5ba0c8800f2ee518a18109aed0cbde1a57ebb755024feb18be0388a3c2d6db1681a53d859d6d58d8303c7b1e147ba6b80287a571acb1bb8d4ed403224eee6fe0615915f6c4f9674f7a9f78d7591c537768010cd8b51fd961d5da770058200227b3a90e0c6b52fdd2215e533685e6340545feb92846441690b07aa094be6541010058200223a590c8decb343494333628b1ec0af2b950340c0cb30a14ef76fd589d5c244101005820022d12bccad61778592d3fa88e0d1aa1d933c32fabcc319b709ea38af828eb1c41010058200252e7e5470350cd16421f5223b780f5a271d87add76192fb489830beea75d075820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002231f683264584fd863ea64f3aa51a880833178fe667ac57823b7302c4a3403410100582002ac7efbf5914a244cfd4cd78d534e3263290995fe0836723f470f4edb76b21b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820022a1ecdfe8b5ce13826b4f1b856138ba8d77392892d9f8ea7e608aec584ff2646081d64c51ca0005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af541784817d6cdecad88fe1690b9759e9847b9887bc0361225f13529937b7dc9b76e276d7c10bf906144884f891e07d4a44117c614ac80219c6d6031d87497637290a75ed490224908ebc9edc7aa5b394a60801811e0fecbf2818d503f75abdf0517903d47415350d9796c0bf36cd46d41b14baa9762dd28979c668b903278b7a3db338236e98d8d10f1743a2de8e996bff59e4fd04d62b162080f287c400582002978b1b4de4fc4acfb1bc238ff6944e6c9dabad72ab9e37d1002fa824024cef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200219d28cc87583ee666e5a91a4a35dbec2451d5715d7587bdc3b3b9864a758f64101005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002542117fd6a33455db8110c6d2c6ed00b2a23e9a12b94aefbceb6ea7293b0e141010058200279e1f54f17380636393f0aa5834861f4e7b6d4f0df870cbd149fd181290fa74628c853ac5527037536be761f0e755c71c0fd7e36624c093c0cc45fcc7891e0d2c38be8984b71c7033896f524d30163b88abe39877783befe580ad226c081b0bc40439f329c8116f101410a0219ca6103b1a390c7d309779b0fc91f8b3fb3d391b67f722cdcb40b8464590de095b80ae800582002a9f685fe0342965cf5f227df1250ba650659d1aa94b10b36036a6c9c34dcec46efebcc3b12bf03b5a7d7cdfaaae06af17bf2c44573fd23aa1eb32cb67299e4e4bd76a0802985df036daf468c19a82e46eec413c4572ad6a1265a8e5030436358a25e3d92f63ca91c005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8501125bb55c1ea49969ff90489f8105fb10058200258ec11f066594df4fb6c4f62774dcf937482586d855001742655f6c9e2165d410100582002415e2702441a160ca6c409c9c0957aa20084c251d0e8cda45d548ceafa4a51410102194166005820023b5e2bdc402e9deb8423521521f7dbe097efc63a2a183f2f125f87990e4f265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200260df04be8c7909655ce881910dbfff130fadcd228ff1648b4f0fd039d6cb6c410100582002df9369790615084088066a657ba979989b844ec7abe0748aba7be9935a5cea46106279eb389c00582002771bfb447056b2990cf9d064f294959621207f1c5b9607361c1e21e94cf0514702c33cbba2069f00582002d498d3803a2d0e07d225374d412f672c83c1e971a98a7bd7d16ee2c2c86edc41010375d933f5ef4d4f51d1c134b98240f004ab6fbce0c0b61e91aa28648c6fbb2d5e00582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582003da2b5900fa2f70b0eb9f18cd006644ea6d7f5d532a782e113f9a1653f1a2e04101021902400219e29403e688dbcb2794d58f11935681a489bb45b155ba6b0869f31a92b676e713c89e0d005820025273f6c3e160f1cf7f91f27d1103a55816ff8db5ee53fc0d18acfc6286c7b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200303dcd16691ec0fc550bad50a173534e8dc1349d7b53533c3a73235241d03b04101005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30582065cf54db00000000000016229d3f0c874c2d00000000000000011910f34d8b600219c0000058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5415d4c048f83bd7e37d49ea4c83a07267ec4203da00582002ce6d0bea2b26d42e2b3116e2d58e042b524a9cd50cf29dccfa8e5c88b214664101005820020f1be922405b927d37115152f67ebc29cc38a2254edd61b9f8b7ed35036b67410100582002400c69e7f50d48e4b1303c03842eea64a6d5b5a6a63912727aa9ae54f933f94cffffffffffede6ede0e67e58005820021a0a806ad3d4a04084e681e24a01f6a635f00ceaa6021b67a85498b3c4c5fa4101021961cc0219ffff05581d03cbd34801413081f9f109a768c4e2fb1e03805bce11932a6757a0269007011923770219800801410202191e280326c06d9114daa2c3500074c4999517ea8b50d0c419e856151b534caa6f2d726d0219ffff0219ffff03efd61737ac460aa948c1e6cf057a8ddfde9cbde8b0841d1a4b478914ae3dc736031cb9f550620cd86a90c11e3769cca0375344a0aef125550d8d66f241ad2490c603e8078f2dca8b781ac8d7ae723c3f712211a4e176f463099ed0831b6ba960f225030e258e0eff521684e47310f092646104d0a7e811cd85e8e62e263c402db0fdd103240424c30aab25b6cb84be94c45a3dbe58b61b7389fb7caba746cc8b0f19c54603ca0abea61935320c7848abdbe58dd30b2b99de70db7b24bb72eeb787cbdd876403bce36a66277a49f797de5293a0b09da2fee4e2ae25b423a8f9a855d01d0e5d0703c9dd75db7638dd78505e469951b09a38ac18567117f3c45a0bac2da1c602bccf03a3f5a548336f18dff450f979f59785576e2bdc962b63a2a6d31e962896dee5150382222a837ebb748a275828544e0938fd75bc56e1246ee7d95ac84f0423c8109203f8a0dc4d96a0e1d03f68ee42556242e6b0a125298a23d607701730bff0249e62039eb71ec08a7d9c3db29678631580c0021e267b5ef95a452194e4e4ea0244442703bc58b115a288151d33557f49c6037ffce0507018e68aec915c5f673dc05b2b9803a52ebd11ceba38a9a5ecfe88b52236ecbce41f22dd45b20e04c8447f978f7f9e037f5ae35c7f97acbb0af946ae73cd536f3ec3185913d7d9ceccd5f551fec8ea470321e68a7619f1901b402e31f03dbfe383ee54c9a5d37a626784999e336da6c7fe05581e031f2e01360dcd3f6e8a86a414c75ae5c2241110393ad603130827c95dc00c074701a5c98a0fa0000332c54686f100db3d7a3f5ae80f685799e05fd072e5a8cffab723c8867404851f05581e03f865f7b1933a128d09734819dff40acfc5618107e428be97c29b369670040104590696608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100b2578063a638980c146100d2578063b1283e77146100e5578063f2fde38b1461011f57600080fd5b8063078e209714610082578063615fc1bb14610097578063715018a6146100aa575b600080fd5b6100956100903660046105a6565b610132565b005b6100956100a53660046105e2565b6101f0565b610095610289565b6000546040516001600160a01b0390911681526020015b60405180910390f35b6100956100e036600461060e565b6102ef565b6100f86100f3366004610638565b6103f1565b604080516001600160a01b03909416845291151560208401521515908201526060016100c9565b61009561012d366004610651565b610430565b6000546001600160a01b031633146101915760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6000600184815481106101a6576101a6610673565b60009182526020909120018054921515600160a01b0274ffffffffffffffffffffffffffffffffffffffffff199093166001600160a01b0390941693909317919091179091555050565b6000546001600160a01b0316331461024a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610188565b60006001838154811061025f5761025f610673565b60009182526020909120018054921515600160a81b0260ff60a81b19909316929092179091555050565b6000546001600160a01b031633146102e35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610188565b6102ed6000610512565b565b6000546001600160a01b031633146103495760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610188565b604080516060810182526001600160a01b0393841681529115156020830190815260019183018281528254808401845560009390935292517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf69092018054915193511515600160a81b0260ff60a81b19941515600160a01b0274ffffffffffffffffffffffffffffffffffffffffff1990931693909516929092171791909116919091179055565b6001818154811061040157600080fd5b6000918252602090912001546001600160a01b038116915060ff600160a01b8204811691600160a81b90041683565b6000546001600160a01b0316331461048a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610188565b6001600160a01b0381166105065760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610188565b61050f81610512565b50565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461059157600080fd5b919050565b8035801515811461059157600080fd5b6000806000606084860312156105bb57600080fd5b833592506105cb6020850161057a565b91506105d960408501610596565b90509250925092565b600080604083850312156105f557600080fd5b8235915061060560208401610596565b90509250929050565b6000806040838503121561062157600080fd5b61062a8361057a565b915061060560208401610596565b60006020828403121561064a57600080fd5b5035919050565b60006020828403121561066357600080fd5b61066c8261057a565b9392505050565b634e487b7160e01b600052603260045260246000fdfea164736f6c634300080d000a005820038d4c8459f4ad97d102f07bc01affa8d57ffbb0efea6c2cafb3ede9d1f67ca056010198661956ed6e2f5fc99c93d909ec28fdc3d48108005820030f346cde24a229e6350c15ac916ce091950e58cf25a3bb52ace5f29c4e6e905601014d75bcf874262050e7fb578ef44a97895d087732021920080141010351973a8930317cea985fc5390c9a25f074512d53d936bf94c689132eab3bd5530058210310c2fc0e775750a42658c82245eb4e6b2dde6c94551263ee167ff10e63925460560101bba48d1f0115cb4859a881ddf8c5afb410c3b39e00582002fae7d88d3202765861d3bf8af4fff3ab5293dab6070c6fa8f55d3c5e93a72c55011e7e05af7de55b69b72953e569bfe99bed8bb68a0058200231992c3e606a87d1a4ff13b2aa34048567de08e6dc4661e062dbbfc737bb1d560100b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea502194008005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6410d005820022787652f8eacc66cda8b4b73a1b9c31381474fe9e723b0ba866bfbd5dde02b560101561106a829b3148c044b642d25a730ebdb5bf5cd00582002d9d894133a730aa651ef62d26b0ffa846233c74177a591a4a896adfda97d225501545e06c1b43dc53a6520b5fdeab232002b478e6002182a005821030f1c97443847c789de7dfa956a43904c2a85104210919072378506a188b54eb055012fa4afc0dc9384c671535f1b91e89f9917747f0500582103c87d541e7563f7326faaad804b757103e4778479268dcf2932ef7d4addff3d5056010128f180f3fc7eb636164a51e7a0afeff16d90d0870351e86e0f3244e8d4bc3d9b510bac798e9ff1898c83f9fcc1285fb52b39a5338900582103bd70195d4d0e3f7083b9c3ff15c2ad7d887890ad62cfc5abf3723f4d8d1a5990560100f81f774782fc61ad0fd8eb8b179c15fb0771f85a0219f91505581e030192408c4937644614cea7ef83d622214770e452a6caf86d5f79cbc090070119069605581e03201efed1dfd2d134df4085d1c05f9ddf0b70d8f3b09759e3b7b13645f00c03465d2305a5f20005581e03dca0f09aeac9720e87de0b0979e5068506e59500062454ac179f2952300c1901a0470552e4e22514d3031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03a40fd32757e2ae58c694eaf4da3c4a825dbd184ff9b26584d776f28dc007011bffffffffffffffff05581e03e5abd841815bb7522cc97ab049b07cf85d9ccbe12dcd13ec05047794f00c024709fad4e0af6e0002198a5e033fd381aa5b78ba8c0b948ce0ba74b5e74d34e3cbf09f8f0d6847af9f77b70e3a030509049c229f19131a6bc49455129f7f838dfc17fe184e5ab8b5f09cbb7b938b031ac5cb6a7e00c4fe1ad850150bafbac94e4677a89aa7d64ce7fd05079d0b3b54034dbefc045a746b0472789f7c767e650c9fc33ea2c24b915d021a5baf3199aa240318d1a2bc11ddc83ebe0903ff78c6db5acf1577b34435a1c453a767f3f7cdf91403bb21ac79301f0d24e584a714a875c362f6c691c318f191c6082bbd70a63c9b16039dbe81e105c7bd3d2f8b9a9c9cb94e73beb8560e0ba69269186f711eeed299fd038f44eeb8065dee985350db76d0e127ad75feaa372325202233d1b5a7707387ae03aeb18a01ffd21df489500f186adb40b0ccc18c6d02618057cc870374b93b38b203676b5cb298623918105e0950e80a0a92fb40d74ffefa63e2d58affe75eff8725033fdd3f01e67602c3a7ff877a504ef02423c3d18342832715f5cf7712a0f85dbd034e8d8dccbb4864a1f9547648ee95a20c830b661bd0c427c993f56918a54a05a6033756b79214a381a898ff26eed913664cc1af0aadaad9bd9df6118e2e91629488037412901bb952fe3b20dd7fe8a296c6a0c7af4acb22775c655defcc63fd6c7de50384e2cf4cbf5303166173e05ac80599bcc134bca2b948123b927c53ea49dd219f0219ffff0219ffff03570420dc1afa2bbc213425a51f2d61df54e2682071dac4f530331819c5dcf22303dfc2444734167db3f627fc00f9d72df3f12bd6ea5bacc004845f2017aba0c44d03af1a88610416328a9e75bd4cfef8290b5b34ce74353e27f3faeb9e1dfa397c5403a867ea8e394442994b2bef1de4d089d75edbb13153f0c325e27e7c6dc5755b62030b65fbfa5f2ff6c58e9a671560fed737921d73557c8902740a80b951fb97be570350a829ad3b7d0d265ca83ab464dac9460c707854195f8011c824bdbc6db2b6c70375ba5d946f4fbba1f66377c175babf2ea36d20b4aa0c26df1025646b4a085ffa035ec6ba01ce74d229db09bd988614ca6cd2849fb9570f53129bf913b55d3cdc71034373d61499e5843bcc7f7394a56f9d27b77aa992749b5550d66b728c7261585f035b92014f3e35310178bf753967164f57daff917b8b45843033780a8a38735c780219ffff03d32293516bf2f47e35807c831b79cc8a744ee1556e827d1376f3da965eb32b9c039b713c7b2a81affafc1b58e5ce63996996ecb2144df774096532309c8bbcfc0f035278e60c48f30e37ab6901075d68d19d9797dbd4ef58ebd4512db40cd9f52c1a0352520857ac47c340fd3c3d51b9df32845084eec773fc28dd80408c6c052d98260309d9695d1907f7d4bbabb06bb1014772a87ccf4075b683c65eef9d206c37b7b003adebf82a44538617bf4f30c5350140b48c67c791b8c45c773bf75d61ce7aa940037bb25a323b0b69c7f0e321249b528012abba223496a309d769280403c4f74074033cd4f7c7c4ba87fefe3749f590d4c8fb2cf83896d7df391d7ecc5b98d9c4b75c03d6564a4cecb9088ce341e0882c82d0bc8aff46be6f780183a35a62e3825eca860219ffff034d4fafed62794c9b1a496b9648029ceeb8fa516dd4e2a3dae15ab040d1cfb4d7037318bfe5e32c1bb3c3c91c2f8ec793a93b0ff63e1d69fca33204c94d45ed5aca03207697a6c49061bfc3bc25acc526ffbb201fb3fc11eff24e66ac748e07c5091c0391a7baa69405bc2076446d7bb7e73a8724446d876e11d357e0f4b6e5f2a275c103aa59cf920a778e20fcaa5b1514e224ff6a024cd84649c2384befd1702efa305703bc2e314b897f4fad0beb12dffddb7a33958152c6c6055b3aab2173f63c241bbd035939b697b49114a6d775f27d182b331b9a24381b127c560a0520d49eafb307dc034a3772e8be533119432175bfb4d7a74d045ca353feeb1210683fa43f72c45ed00368ba4612209e122014aed1d09a608774017142b840f0b3d1d9252d0d6be797b403a41ee095e5a1977e71b33f8ab64f86c88983c10d63ce7ecafe3c45ce2515a91a03b0ed13d652ae2fc3d3f9ccbb5d51e31a7e1e43a5796276815ecaf6408bed723e03deebf4c644560042eb505f7e2ec96d265ea36abe58344efe11abb32391b3212a036c0dd41246073eec0057623a6ccda3e5fd5ddc8df57a334784513ca7eb7580f7035c2ed0ca890cb6787c96a8932dba8a4fe0c9dbf8cede065c63da16455fd6a98f05581e037774300bd3e2cb11c0bb3b770f8801d883637a430d4145d54ccaee877004010361ae0e0e8689bb86eb8608d27d9b160576590345489f271f5bddae62b130687903df9d50253b1425d47bcfb6df33b66d27e834b3a9903ab64ac836b9de082615ed05581e03fa5e37aa5fbb1c2a8143e6172aa8036ecf21bd9f0300485ae31ac4b8f007011bffffffffffffffff05581e03a23521ca0c020d8d7480d405fba23aaa3f3703455f1e1f08b77fa17c900c09471ca33b6e7d460003f2af9e7cd85616b04af969b625cbfaf7b4e26ed53032b3ac2aa7f626fa197cd003c83fd498ab88bb852ca77ddc8364e0f4703c5232a6fe66b1f812ed520b08f30005581e03b0dedeb04b08ace9ab832947991697f4ab13eddf5e6e06ebcfb512a9300c02466ff04045bf7805581d0278019b1996b1713ead30f02a25ee305d7fa751eaf0723fd548eab20d0c1935e84708282ec4ad336c0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803aac56103ea22f666ca033940c8d0720d6fd6a26396bfa5f992c2012781b996f005581d02679fd8ad2add6b410eacac83fa94d42d839c184fb322e1461dc6ed2807011bffffffffffffffff02190402021913d403fb6a6be124bba89be57e0b8babe4ecaec809052b78fbde5eb9481da0e618b7b703a3b4e69a8b1c33673f4b747e31be16c2fd1e73e69b3ba9225e26d9f7bed26f3a03cf63b79865ee64537b035330842fe732a7b28667e3d14bb4d2a7b418bc23c2ea034c36bddba19032f2b3055eeeaf38b6c948d7b9fa33f2d3b6e92dc59b2cb27f2803f8e2d64d7018efee9e2776cd4014551e45da9be76e18f079220b360a2293f4850378d1e9eb3c4364de4649742262d43cb405d36dc82703d00417c6152547d5c62e03a36d42ab8e93b36efa5eeaf8ac5ca6f6a37d3bde6b66e0809cba14773c3095bb0380444dcc5a4d95117fce55a42584ef3e81df07ee5f8a11e6d48edd6058578d8b031b14bad577c5674e1db2794f5bfac441d6dbc43c4dbed8a484348b125b01781403dfb2b71272f3e437b308cfdb9000ed471fd0f2c4f32aed146c5f1674274be068030f018f335bcb0e2068ce48bc8988f0fb4c175a519bd11d216194e322b7ff127303cc7e7e4774a232ce5a2c3659f2bca291ef4fd43bd5cddd8bcfb916cf2311709103d371cb4027a4c27df3635113736581c294c1492c75cb00ee2ef7cd48de106d02036f5289b4920cd01009d87470cc038a64f225dfc12a81a7c422733c748c209c9d0219ffff03cb898fa1b41607acbe9c0ec054311982c5561614f94da12a1fe0a6bbdc45c9ce037249a37864b4eba8c14e14761dcb05ad5667ffc1f8ab48cb45e46e9d2365d8be030faf314a2f8828ef391892326601283a6849633919d47480fd73afe784d686d8034e4485c09b67038fed8a3a16cd3d12445d1bab2cf6d7a004fe19399cf8fe8512030871f488ff167e896fc3a1db778c8e84149195ac2050487e81c1868e1b8847180385c8c197665aff68ab26fb4f3f67e16879334c23a1d23c268d9bf84b4cd8c54103c91c5b1a7d555a3fe299f4071a77a99dbdd53a41af472848f22ce545ff32a7c5039e19ba7c4285d69955bdc8869e55eead08c8602f37695d29e43a8baedda92d34036e40118b28f4f4308d82303558e6d7badb495081cd366d66678eb4735952a3b903cc8d041442521b217857e70264804fe35a371b97128da8c742cb92afda8bb99a033624f4b0ce2642baad2c80b278e69c49db9c7ed09e7df12db2e3e81f7191ec5b03b9e204878a6d7deef66a470f410178487b678fbd37f8fd82cf008cdd7d6789800219ffff03fcdb124a509a06489b345a505bf7b65392e7fc858ea69aaa21a39ccda3ce3ece037abcb5e9a87a521f4982abb9527c0c25cca8c449c7c1b5498bc48138de5fc79a03c60943a91b7ec5037ce873b57f1dcfc9af580884099f365f6db731047119db0203786e769f941be1bf000cd36d47e9d656eaae4f101b65a8af4e63207b1753145903f943ac690dfe4d9e4aa36c8260ebcd8f3c408c766884c504cdfcc8027d9d161b035a0af1716ba4949a2931803128baf51bc90484737f67ce19c9f6c56dc21c5a330316fa01a44bbb577eb060659edbcca667751967d287e298397daea2b8a37164600384e6ad340b71a8c05d59e3794b4fa5ebd4bdd344a8c1b2ce6f976bca95b8746403ff508b6a9210db7f7aa80df75714224dbb8b2032b249a6d07437aa7569e5ac4e032fe125cb7a92f27f00949d5bf73d60f8a89dba06552831ae42b4f3359dadd8ba03c6b656fd964ad5c9e1c3812b78aa863fa44ce01524e4d8c24420a58a6aeb89a605581d024eb76b84c6de9248515d4157d4589ce0c717f3f3358c40a98672004c0c104701b6c6abf9eeb005581d02ef906a3e054699036b6bfe9d60a973535020403d534385cb999eb8780c034838eab8a0198e616305581d024bd89334d7f080e2d77e3886d26daaa5903ea691ff87a27ac82392af04070219090805581e0324a8bc5c4fbc723356374147183e14225625feac966dbc024b7046e600040505581e03703a25c2af709afae27ed0b6c5d4b20277c979aae2cffe68d8d1d9b3c00c0946092c18f475480318ff997b67c7559f3432e9dbcbf2ce91bbc2bd1f549fdf3b1b4238475d1ef59205581e039b6ff47f6af8f06fc80413f7dd7b9140432a7cd781bd6aea2dd64c4be00c014670717534a60005581e03efeeb2a2a0e6d01073d72fb5baffa67c8b9224bdd92c5ac38c0df37220040205581e03e821ffa09e06441aa0bac4647d318d85de442ada5c18870d4393163c500c024701794ec560fb600322209ebf33a54e0e498bbad8195364d2719b57293ebb6a6965457b9cdf4ccc490366a8987c22096bce895a37e425ffb3a5a049f5501fe20b11b3acf630f632c6d405581e03762a562c8df7ace9bfd089e043642e2eb808b9178cb349d2d5a3dc14a00c0445012a05f2000219ce7703a76c7606c069f629853d0114821a04131acdc37d80f5f4d8ec2355c3335f5b670373e94dd80d7758048ffb2b2a38105f9e7bd7e057d9efd28ded84ab7a8a4f05b903eebe17b7425c5d0d534f904a253aa02af7050f1908a2aa3a17b95370afeb845b03f809b20cdd4b641f61c248c1bd3222285089b4c77abba6044613da49a536b10c03f74e96c530a70462f001489dc031bfddb186252636430f01d3a2c697b243d33503b5a383fe1b5de46c06bc475084c09ae0af5f056ad84a91427f42d64f0a604a41036b15bac0cf3d12f0b652ffca8e44f4d99c8863a6ff541b211c9018d092a3121403119e7752a9a81f97496aacd3449459de0a7155bd4f79e10c771f5444aebb3fb103b3ff28f4e90c38e702581b8390facb2de41f6ba006ec2117bb40545bd9ef196803ac75e0825149fe8268be7906fab302da67962693e12ae6da7b92ae5aca0e4a1a0346f530cec27e531f7f6caaba7e9168228c12010e5d519b04cacd185c623f98ef03078188f6ba3adf19f4e72a8d825a1df55c7081ade51dd1508e5e01462c9200c203c2963c74e47641a4074a26c3239cd5fe10ff8e56da8becb57e34611afa1eb47d03a94505ecd9cd4e9b7d74cf8ec31347e959db2faddce1e25e113929ead21833030219ffff03a80d4185add9c65c56df49a04163ba8b3f131f15292f709632f6213337e8661303a6390b57473196c9be4e24090518c2eaf315c783cb0f59aac164d2559164581d03669cce4f5e4bad108a744e263c239b2410e184822bb0998bc5301d1698bec9fe03120032357a41d1a452fc2aa1afc7f7e163c27d6e075b9965766078e7fd176fc703e9d85b37dbbca463ee0f6aa95417cdc1a65b4cb8d30da2a6d68bf272618c76ac0345d4ddcd1d9545ddd17e4f15f2959ae82ada3a3e1afe5ac937362314524b80660219ffff034610a0da1b9a74408919283d2bf2593903539000d76a112acadae461c8c04b0a03d54ddef7e5cb65311e3455328ca6f97b343eb66facece29b5c11410072acc68e039b7b7d3d045197fa968870d0a2b127112545d21f42916964815261b8f7f36472031373cd2fb357ce7c9df54767a38031fc553c6b37cbfdfc790a6eacf577d77b4e03c8378d69d6d59185c30d541caeccd29a2cbe5c63d347070b48d0680fa36fcb60037152c874164a763caff81c7d986c4d945df54e5f81093bb89b199321816f0dd903a81f59ae43f798df985ca440938c5885cf8a42aa4b98da1489ce304fb8b7110803e14406aa1efcd57efeba05e8b2c8f7c797feb9f6c005f7f4be476accd7e7c74a0341e196364dc5c711c981cb28470a5ab4e96d970a62d6bd2b530fa60506d058e403cd9c99723184ee610f7cf0fb54c80dbf53acfbae8b64bd88106c093e898f9e460396f99ed7a8d3357be1135ff401089ec9100e9a37dcb026845b7357302f72af5b03263286cb21704eba3de8a2ffb9886fc01ca171da7f50b45dc2b778cb0f2b67cf03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03651294162c8990fd475fe6170e23557e4e3154faeb9e60a0f0d273a97007011bffffffffffffffff03a0b62a9b2058c2fe8b17b551a2d35c1e2fbe4dc1fb2557805c48c432a78ed31805581d02ecdb1e84fc5943483acd48f61d0975d6bb39f264a9c88520e921b7e8040305581d028d3c0192b1e07772a40157aa40103253188a13a106e6be7d7148977e08471f3f5ea4a850000219044005581e03572904b2c971ad6f41b90146bf0e0800d4b9a375982d2a2ed8b2b8e020040305581e03f2fc35c6cdeb22ab3e52eaaa2cd2672ab36069308ec4d015ee052688d0040303aea7ad59258834c52abcc83978dc973058b800aa19f1ca6495e2a36dbdcf525a03b2be063c249e1545511be947cbdcc5e36a54d107c51cfb49439a197a2c6e133b021911e503b5572490a36539aa9914fae98c112b2c8709ac019d28b3162f009fdb176842e103429fde647abddd8cb12ef279228e23fad3a44e82216ea00c6dfa730b4ff17ca5030041e5112e0335a77814ee5ced260eac90af79e9528feeb0214fb8e4e3416e920374bc946c309e861f5e47e820f94d78b97ae0c472317b435d3bdf147b9c8952c703aa38f0d0ffb629672be5720ad7fff17a40634a05587236fb2fdfff2c6bdc859e034b78b1b71d145b69c7c1401cae4c962b83d84862458d02ee301833aed8794bdd036702f367b0173eaaff3bdc13b99158a85142b661541dbec8e2ae06bd595e198c03689d79700390ecd82c926f876422ae8780200c19250fb53c658bae3f6209df3f0303d8266aac848e98d6c1b037b5e28b37bfff08d2409d7c4cd7746c6811a43d6b03ed513fb25f893f3214abf4e20ecaabb721465863c91272d72271b8dcd9ae15a00372864cb462a66ea0fe0e6912e4b36b289a7b412bf07f2eeddf6665a5143bff0403b12a029bea850d6873dc7b6c842d7ad51d1c54e0fd2d3c0667a4b10e5afa82db03f18174e61f285a10cc4c907cc262bc8711dc0452300c4baae97668f02265209a03b61dd771322683f4cd3a908919335c3f698ddfd15202c081c8e42085b070648e0219ffff032d1111c748814061242442f3235973ddc8ef604dca788cb3e1b4ef36310ba93a03818a408c76ea3b63c6433f79cf7065df46c06bc4a05d02d2df10ac24d55625d703b61010dbe2be1fb5e875fe1eb5a1acf05e7d36a1bda3513e0273f6688db7a88f0394221a2a4011953b40cde1b55ab2b0c392a92140e6b794eee875abda9b2f97ad039b79401ecf37251da638000ce0b28dcac43f7278edb13ec52ff7ceab4c3b9e3503ae732c2863875a9ea47ec802a9433acc3cbe0ee3c16a895483e9d87a8a811d870303a27eeb254ce42ed79ed5cbc0c80284a4046978f54d22ebf8219552f0d1f2a003c1061c79a1ee3fcf4400b93797741b12ef91dfb15a4f375b3eaca6de75ae0b0b03db86049e7463be98e91102062d057cd13ec64c224b9546bfd914b738c1d3076303760de98cb2b01365ec069861f897492f7f5444a7fbf42296822d609e5b803458037128187a42fa6dfe6af252ae868e62fa0ae02a1c11abbc7197f2efca994ff9ec0328ad243a07f729089bdbc5f8bfa8d17858e76c348a9bc639f94909fc22b639cb03a339f2e31cff8bb5637d2fa1673c1ee851b01c8ccfbf803a1c98a8097ec9a1e203b44157447b8378240506ba67791ce90764e3223ad08cf2e77ea65bd6dec5a81a035bb90e96acd21fb6cfdbbd6f0e51b8c174b7a859a0817a9d8402b17a147139ee0219ffff03e6b8564d5434ef859d11fd3d3193220cefae3c602c1f0598edacdb7292b88288037dd0794786fe7b9efcc7a77ede2785a36eef267e093f75588383959e378b668b0219ffff037a0f8bb760ef150ca717dc6cc087fd6d65bd322ea0ac67dbf1c199afedbc4026039fd16207bc9a28592f8d592f0cb1f42e4061a1490e530b22cff684a0751154f3036a4eec2f235f44d90aceb60ec7d70c1552b446cb5be36a84611b1b039e69c8bd03247a6bcd5326c2b459ef1ca499ff432277c669cc7fb3d939c73eea2fa404a225031f510a378f0b3f5abcaaa05c81fab4c142f2e35a12505ee69493fca018502f8e03e4110b2152181cc94209857c927a167e37044a10e726cc9ae4fa5a4897245ea9038bf2d5a7449602b843b814e680d7ceccf21ac47b4e2d586f47dd4492e7eebe80030e0cb62d6e9a833488bb7ee9a9771f2b4e9aca329bbf8162d90c7864341195af03d8b070af18c310bd3519662128b7505b095287519aa52f4477e4be6d2b066e7503fbdb8beeb70a662698e140253df60918a8eb58643edf7e6a619251cd498f95cf0303e500a27a5a99319950b7bec3d9432b4bead3e9552ff3cea93315399822321403ec8187d0353b757d5b0e591b6f0d3c7579811c86e483aefc5a1538d8632f717b03e532d46686d1bcb9d1c7071e766dc763c56de250f18c31346f87550592b951cf039bfe3a15627db47dc2a88d2a0f9e3030102517b860bccc1fe29fa944f71a41ce03da9e94e738094cbda9d063393169d11ad96da857ce2afb383d4a2b92c431a9e003df8f858dcf4dc19294ccfced82f1d99ff94a7341a1e16da787c8712c9199818603059814a937da345eb7887022a93fa53c0b8774218c0a02dbf2308a4f25778e1103a7591d8ed36f59d67aeabeefe46a33152e9af6735ad50e1940cd914204b1035203a4c9f47c97730408f294685efb08d3fdf975df2578f5dda8b0dd126ea57be076033cfeb5ef685493b3630f6d788a7f6c1bc4089523b7371363c721f6544f14cef8031833bebfeb98a166bf5b8b32859f7a3c4a0ed8d6ca3e1774958c6c4c13d1a97f03ac48e03dec2fa04c6c2f40d197ee47ab116eb0cde5594ae2dacb19ae68205782035a3f1625fdd8979ca6c0e4de79f7c231e88b4a98c2ae8b5e98a6a6fc7b8c0e1e0341dc25f94402f2106640601f9aeeb1a27c448e0bb1907d177da4e973fbb9ed5b032a0048c846a3dc5fd86a82cb333cbfc3bc9b0ca20b4a0d43b24edb36d37be1cc031fdb69ce32876a9c35fd337806cd078c1acc6921d30c19213daef055fb245b85036eff375c66c5d6be4c1553525aa563b45dd8ce4dcd625e76de159edfb6ae79e4032a87541db8df920c91048b49aaa544300c6ad6e6f1566ff79c5ee77fc8d4c95b05581e032a70c0d19fc4a6c377e5c5dca11dee8e98a8004de6babdb1ea896524f0040105581e034f7c3c7b32803f79c2ee6ee105eea9d7930cd8a84ba2a949e856927ba0040203c7fba086a880801d411e6684843328c99e3169655001be522bff6f913ea15eea037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e031aa6f93911b24337be7ee11a955d0e6dfdfb2c97dbab54d6641f435c4007011bffffffffffffffff05581d02ed434dbdadf4f1902fb176996d7ccbb2f69a2196d41fded256248f250c184f48103a76ba2b71040305581d02a744243d3bf1a0b4631a345b1a182c8781250a273dfe2dcc36a5ae4d0c02465df48df83b780219800805581e03c327f18306f0b9c943dc9587ceeb4fc119752ebcd4161d566727a92550040605581e03368ab93fbdb4c3e00c31ee9bb76468f51f02bb0fcc99ef07d3c65e08e00c014703d6a5cf73e1790219bb280332877ebbec4e59e61c07db1cf25129db746bbe737c859cd74da60ac704cb49ef03c35dc894a9ff7a4b9d430876964e74cb76745b641ffbcc9f02f263ba02e8e7310349c2b6a466f8bde2eb0f490f35d8a3deb0948e6956159723c5577d3699b6e38c03452706f0233688ef83be88055e66872bb8b753d1572b1ff5d352db301a73a7f603268fe7462a01764f90578a58674d059226148dbe5f7bef5370117b3b640ae83003a6231cacdfe35560efd7c7349723812790dcccd760ff0de077ffa88ad023f21f03b587218135b96dcf7e1f6fa3954d1801091ae3f6aab35ae26dc3d60eb1053d5b0327888d7ff0ff87aa6698c2b74726c226bcd825cbc8bf2f106508cd557e2996400219ffff034f722c02e0e20e212e5ab298c04d24f190e550a12ff440dc63e2f50922674443032ecc0972d6d806fb66601fd06bd8e1542b9cd00f4ddfdce5f8af01c89f6c3b8b034b00271d6be15c77693dfd5a50b67ffc4823cabf21a0fab954268fd97af0184503f722a1cea3157d390f7f79b6901dad2c4f3d3621ace7978a27ea95dfb1710dc00219ffff03e433ac0301c5fb5629be8e0b29badd82062f1d7945b3db6185818aa6ced9477003f68a4b0e5416c46adf74724722dddf7b3ac3658cb5f1bb6914346844d6341e700362f6378c2404bc246a3e5fde19a9c527ca753f9a6d45242a5eabd1147259a74103a0cd5b29ebfd6963313530cb54ab15fcf4f68e00ad589cd27857e670594fcc2403be67c4047dc574c54761d07630166f334efe8449006c8e93c691a7d0c10c7537033ec65613afc9780c8e89b672e800c03611e5df95722e54bf89f13e09094a3bdd0219ffff030a0bc99a62010c733fba41cb641262a364d052633c721a293a02a77421cf7d9303644578e4f478b4dc393521f5d69602df0391bc99f330f4206709b4ae2b1b4fda039b2a3526a2f08b7b187cf111028d1f35c636d7c422f3d918e6779a5cc542b2de03545f180d37de198aa162db883a17ca8ba0435862f288c53242bc12883ff6b1730219ffff0355f8e37492d7c82bf5160ccf0221ec1fdb4ba0f5971f3b989d734ee5fbd97827033644785d320e9f25e83ef38bef9a28dc3e7e2326de3ac25879dd20017f00f99903d8a213d1430587a6abb3566b512cdbea589b7efcdc6fe2c8763a76bcfe167307031a35f93c02dc815615d1a40198f7bd1ea2ea552d77c01034237fad1980e7439703de5fe8049659dad51eecf02e9c74c26f1db69256002508e47a5f21f72f5fc38d03db6d646cb887bb4c9e3e46429990b92a4758f4412b394a4a9b1c14f351bbc3330328397a1a4e14f37ca4453e6a08068cda4c05c753a568fc98a14b026ad076ad1f03ee9e47ec214d7526a32627c6b3e7c793845fd954a1eeb07dc3e756c4b352b22903124c38239b63bd7da32d2ec716aec286d49322b379d5a90651e852936f6da9a00319864b294e46cb2fc4e15e0ecd00297d742ce4ce1c2e73abd1b3ebeafc38f4ea03ac33bf679ee9473306982e965d2c93ae8ea8db463507c6c70a218814181be53b038eb5709410854f63aaafe3d2eaa258d34c66af0d527b1b3d791e34d64762611b03da82125aa2fdbbf8e9cb1f1ea84bada108b940a85d4043d27d39008118295d60032198c762fba9c6f6d86beb5c97b6e8d144720eeb39cac90f1f882096905fa69503a7e15b30884266c728d0ac61034ba9315ca1c1c63a81e32e522c73dfe1ef35a103001523f923824cc033aadc187faf4ee8eed8886cbc8c10fe0367e33e01d07db70324a3c9ea9d599a1280723769a5b3792191c618519375518daed2f67408dcc3f90379fd56251dd3d01c6b5c611037e5d5fe40330ebd80b9ca4d591640d8505b69640370d77d4a48fe157c38e9980b49a4d3b8941c8d97548bd72879af2b8672509d5a031117b07e36be6a91aab74bb940d7a5a45979d3b80d0bb6678510382ddd4b77a3039b0b9e14a173b5bfed9eaeacbd687e610c7d10a3969fdbf13c188fc72269f7e803714a86de5f6c23d48589aefa3551095a6f1a68d47ead4aa43f2b37a71fb45a4f03dbf298eafd03841b9655f33ca03d7930296ac4784ee6873522c51c05309ac600035731ef5710a46702aeb8c2fc4bb41252f63356033f6a6d00555f2f8e93b036370305166117347b0816ba61209b8a6fbe260e431115673e7eba978b1947ef59716403987d6202c46529f26e7e33e43e4b2158c1a2cdb6e810e979d4da46e41a3c2a9503e32f1097054cfd154d69529623c5b06e3df301600ce22279d699467334d094dc03bd1be7f7ed8410eea86d6e100d519311619656a5ad89671496cbc67f9610569203ee5d73ba5d2751d7ba8c9fb148e69db3fdda452f2a0b42f84a00a2598173007a031266a56852040b0f28c045f571e7004b9f75a773094b86e801be90ad8f2c8e6103c4d91b11c72c8d3ca3ef98727bae239cfb2912a5c73407ec0b4d3155a6a3910205581e03534df3e1c62b794b428d885087468b5fd71137470cab622476aa8ecca00c0142140005581e03fea918c6b7939aa373192aeddcba507163b3925844c0dec4487ffdf8c0040105581e0353a85201df73c0b306f555baee9219226f3edd50ba95db7dd0a4e36fd0040204590477608060405234801561001057600080fd5b506004361061004c5760003560e01c8063450d11f014610051578063b472047714610085578063b86cfdcf1461011e578063cb10f94c14610162575b600080fd5b610059610196565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61011c6004803603604081101561009b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001906401000000008111156100d857600080fd5b8201836020820111156100ea57600080fd5b8035906020019184600183028401116401000000008311171561010c57600080fd5b90919293919293905050506101bc565b005b6101606004803603602081101561013457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061037e565b005b61016a61041d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606033848484604051602001808573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050604051602081830303815290604052905060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316f19831600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156103135780820151818401526020810190506102f8565b50505050905090810190601f1680156103405780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561036057600080fd5b505af1158015610374573d6000803e3d6000fd5b5050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103d957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea264697066735822122022e999dd4b0b9100cd51f853ab4e8e76e6a6f337f841fc2abc8cae88c9eff2d764736f6c634300070300330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305428e4f3a7f651294b9564800b2d01f35189a5bfbe0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60548397259c983751daf40400790063935a11afa28a0219080405581d020f85918febc248cb18c8093b1e01beac072d641b186b08b4cdee6f91070119047705581d02878da474cdf1106eea318c3dd687188eadf7842d734eea44b07eb8990c0b475b1dd7ce7ad4000218a005581e032b3937200381cb2b93c23a626b646fe67f4d3af9e4bf0b225520c3f5a00c0147064ab35839100005581e039bdf896bb2d15271e0e873409e660ce8ecd34902706f38cb2332a691300c1047014a8e847bcce0036f96578339bdba180c24143e00431cba4eef21c470f801548e5ca5897f3019c503337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba0316a296d9a093ad83bb17baf3d124e20cbabff0f40f9de0304c7ae814af46a0fd05581e03643e38568ff024040f4d77fa6e12e753d7e74607768d622ecc4dab9b4007011bffffffffffffffff05581e0318564b25acf350cc97208cda2c0658af042d84c7e38f4eba0ce2078fd00c154749503f1661ba0b0219ce71037103d6dc85740b371057ebe05414eca6c7471ff2283fafa10aa798a4b104db360359e13ffc82a5b147faf87ac7b9684074045e9488905316a22371fe4d6f406e8103ee75a8ec9f645fdb6b5d8af04c75b32ceb4919913be58f5dcc5ec48b94c13d0203d26d9f4f742fc0dcd96146ed62c6af4017007077e0ada3d1fb6890507d48ca650384d932c621efb177475fb8b015986cc367d7b53333ee5ff881bf3412398baedc0366e53981985809ef6d44e3c98f2d455134a154b72c211d0dd6b3783b27820f18030410bc142785c4f5fdf7fd5d12995c5a6dae2509d69cbc5de270cc0937452f7a03faf4fa24aebec553a3b5491463caabac488cae5c4d5275327727b0f483fbd6f8030fe3c678e74c8e7989df56e399f45ded2e0735baf9af92f63bfb8c980dc5f93603f93ed6948ca24b2289f3d7b000d4d29eafa9806edb0881940dc4e881692b6a2f03706d1f3ecc64178ae3e5c4e1f39343bcf080f44fb9604483684fc3c75e8159db030f8f30a5c11e5d311a8195d5f89315ef73496fa880c8fb4cc39c562d152497220328ea2e90213f21107be073ca593c15f2f9f16932c93a8f3e1ab8f43c8c3f86fb033c035a1f8ac203ab3858679938c22493b952b88681d528f0061d1da8990a47130219ffff0219ffff036236881da47c17b8169c7e7bad49a057cb439d617d0f1490b0e08313d6b4db1403146209e213c849f338a6bfe4f62a89edd8dba4415ca2cee4f3f6cf250f0296c103d2b45a7a3b98f634d1b9747bde3f0fb9fc31dfcfcc53ea8e2491bd0fe6b6ab5f032599c683f17c7018d5e28f351bfe77ff2b08cdd0c6d2bde24cad77e446d5c1980348572390aacfc6ace230836fdcc523cc69be73854436c0d68600643b296d35910390dd3444a8d8d86ec62a393e85225d621ede901063cb0573dcffacb740d2581f033a9c6f6486ab87aa7f169cb09c41791030e0101fc3ec5ecf6b87cde58d7b0cce037956c9f329e99eeec63c01dd4f609e295bd7ed911f978e1fdee6dab54ee46744032eb36e9fa82c4f4c4db60844ac19a4e4420831546035cf18fd566a9cd4806069034888627fc1f5afb807262e5a15e4abfd9dda25187ed216415dcc5e7ad17af1d603f0b1c7e254b6618639b4dfe179bdff5dfaa9c520a879ed7f3d50422d2fb9d7d6033e6129fcaf1a0b15b4017e2dac326c13d9befa05d4b498aa1b85b4c21244a6ad03b33879e37b75dca37ff96ea8ad98c198d43d21142714343fc7af2c49bc6e55b503eff62ae564291fe2ca1a0d60a0d7766b9630ae6675a7db5b3204f1ec3fc98c0c03e0fff4b5ff02fc9b769ee51d476b5309403783d7e8058bed2733c92920a38f8703aaf8bc463992964a2e0bb1e8d8a70b2039a2cb2df8ca75417408aa0b8f37abda032797ad4b29639994d2d589158566b82fc04a1e0f2e4cc1e2d38a6209a64844ba03fd0a6b57db5b98bdae4eab4f012bcb703398455cadc65d564ce22c58ccfc5bbc03bfbf3e06dc6a04165869f8beb1b032b8d73bfd7937a51899d0871248022fddee032b7006a3c962c2a93684875bb2debd40579cd237b0a0464fd585f42e6dfb9fde03e48d9e61c027702c62e23d09575145edf8822e0d4557e82337e0dffe19955fc2031531f9dd9f2305732d1a49853c5a88847669168eac2358a0abaccc07c2f467a205581e036212baa08eb6f5e494367f60f07c8147b5269bdae871ffce04cf58e5800848013fbe85edc9000005581e03e4d7d3794bb754c12f60fbebd64d9071ab215b376b863c849ed189f9e00c0147029abefb0fc60005581e032264ce9f92de0f4b5631568ed9c4ff1cf62c00e8fb22d1634d0c679d200402037b728c218edecea59c474e09abd9357e26e87682e96a98054577303cdb481cc805581e03b57576c2fcd7e04cbfe3ead7a1b3afc26c16c7f81a7eb9e2593ba3b6700c0247011bccf2f82650030cf8bd6fc11a6e9e9f6bb22e39a651895389a39cc2bf7a70e12b486435633c1705581d0269088b62ffcd66191d9a355afe5294c776f161ed20d74c332268adf60c197a0c49042de9ad3bf93c5e8705581d0258a196044d0b12bb384d3dddb2263df0832f62ac16d8a8232d53fcda040605581d0207173ba2a90d730f41feafe963051548e3d2fda0dd40daa9c4d74f2b04030219420405581e034708b0eab238be03ff767d7c537375e103108a641965c08b54b0fafe100401031aca9750e175d436b39914a1685b16c225ed546ad6533ecc8b503def197a1c3c031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03c4388631d993cf1152c4b4c4e08b1b7ccbaafb0e2017d8df076ebf8e0007011bffffffffffffffff0219f49d0302253031614ee557478f436176c0b9898a7414b085923a175e92a78a314832b903209a7c6ec901e018b59a91b0e73e1d532ccf6a31b8c1fadd9f41d29b5b497ed303d75a7af4d3e624358b9528113a0ab0a5685402a241d58f25a252e6c5f677180403988c1c0e60bfd29dbfadd729970270c91521818d0611c6fead9ac43b9bf79c1d03e44ab81f9486ec0c4b81c5f06e97c6154a264b0af852cd9abc53ed44dab018c003a826264bad5c6debc91ddc09812ce2b6b4ab3c0ea20723d54f64f9ae85b9b73a03d78fcf7c621405bb10a8b6163d15098c9f3e55536fdc82ed44784d3438ce4ab603d4b18937fbdb3cd76522dd3743e67f8f411d9ac35958fae0560413af52f6d14303bca6bea761deb4ef70ed59d4eae3d4645a30f484eac45fdcacbba7c9b7ceddb003874ba1038c7d3d3336be06dbaa5605d12414e4949f7d3c17ae14080e172c801d03ad042c0b454089643948570043030abe980af09463dfb41f10a97c2c7fe6ccd403e250842da9424238ec15044295fb0da797e46bfba1659ec399a78d4cc778482e030f25110544551b9b8acd58e4a5c7da6b0d38404956b0ed591333258d877f527503254de0a3608edbfd0befa8de1fa8b9a3c23017aaaf8257cb87e4e1d2203c65df03813f60b99413b77537dbf577f29ff9959e9c07d3663ffcc51cbe955df97c334a0219ffff03601e492cf407180eabe1c2a6a5dcf6eece9aa4fad76f80cb3e5fd1245274e10a03528614c7525ec6991512f9de33524f0aff50ac63f4bc175c199bb3ac255ba5b803eb95c78dc89f86d3b1f5c2d7c86f6f6706e1e79e51d78f084523e87fdb51d92e0361e4451bfd1f276ec789c8787e79cded94dbe6767e460d7b7ff66378bc638da90312a72d835ea32411a9b564abec9c8a4982eb2c18ff0c8e403313a6b073e133f503c7461e84670e5214e7d206631bf8af3527a4404697101eabe92ab301ca767ac7033d3bd0fd71abed5c47976d0d92775e1a12d9dbb635c9a3ebb2759305ab622ab50219ffff0219ffff0219ffff039d46303883159b41ceb6faaaa86da718d65c1afaab28f06950587e726f3d5ff1038976b7a7d84d694b3deff2141b1295c0c4453ee3bc710944a62931251746740003133966ffa4f5e694beabda54825d86381eaadd45c8cad74f3aaf492774907d2303637d0143a33a7581ffb38dd4c9b6349c43054ce2598d92d11ef6b1e9fb9ee7b403d65378456923df0a04ec0d772c858706859f19abb5d16d980d0a9c9910abd0ec035d8acde92e7163453e0bb363aba1f86cf6aa7d132b84bfbad8da69fdbb8cf7230316c5c058e269633952be2f9146f7c2fc8e255944e687903f1d80053da48fccd90378433ac5a9500c8ab7b68858970e9437d7381bb7a495aec04c503a64b0c5d21a0375076d18612e4aae4a3327fda0a80074d1c83c8e69d34f77e48777310affd4a2038ea4c9b41afd3a575aa1d4bb7a801cf4b21a86f418a812dc96c1b0eefd112aa1038596a4ccb3437fc2d0b8d786a676621ca83fc689f1d49313cc34a8890e4233ff037c86359e737ac7abf7724b008af5ba46762febde7e2666d5d7287a203a4039a905581e0316116e41836e9f88c86cd193207fe8125229041fe46eef8cd1aae7f0f00c014701f9add67ec00003f226c92193a0a2d2825aa049ddf222b5a646bfdee38661e670c9a2152278f1d201410705581e0356eeb3566770877b01269bc3cd0dbc0c04263cdd3b063dd53b91416e300c01465fb96cdcd40005581e0305edd191762e58dc43bcb168dad003ddea28da6a32f3bdb26b5c9ec0500c014603903e6dcb68038b306fba387d253593a4319f7f4bf9ed5fc0f68019ba05b83767999d22a7968801410805581e0353b389f260aff085da895d144dd71a33b7540d2286245d4fd2965fd7c00c181a4708f65420b36a0005581e0303852a738dc0a4876a31c08f752f6749cfb581e766e41df015d31859700409038495fb1f3c329e8b50f33dbf7788326a07e24736aff1270979f5d77e977f3afe05581e0396f0007849a885e358aad71f54bb417fe26a5eaf904c8a17a33d099eb00c034790c79e178afc4105581e03e72bee14c48843ec4657afc5db586c122253fd592aac5e0b02275d0f7004010219bd5d0342e1c81f5481b311e82c0372b136b1403c1339e885b1a2829e35a77d8405af5a03bc9523ede3d9a63536d673435551f64d58afd57b05723a8e18fe9550754096ff037cb526292c83e22191d30a84b9dfe82e156b4556f31a579894fa8b15f5aba61503b6ddd1c92193a97eb5c64ee6942ac3baa096767af99f0c38a5768953cd59207303fe8fc1751e3359184f3a36489fbd74f22f573602d3b66a7b9148f0c7f8a767b90352583b11833c665e3a68220164bc41bf2d3785350d1891c34aa7f99f3f19d7e803698f2a7aebc4c4d9d83079333a0d825b26d730d65e1ee2ad69b28698ccfacc090303dc14b234a4b57b758ccefd96cd510039efbbe37b2d4a2e32e73d474cde1a3203e396c0109f9d8b1278a5396d44fc8851474d3c3e73fcebcc2ff77d303c8b2e170219ffff0306e2d807dcd0fef80638bf1aa487f4f6f5ed11afe671bf6fb66cd2f59cd4374d03a68aa5ae07aaa1cf550f25f36c5ed7c6a0f019a73b9f7d605c5ee24b85e558d7030ef936115f99369427fbfd82eeaadd25b905e70648f3c0d44e4e568e468e71ac03d058726d40bc203a8b9fdb9ef58a71555bf8014a33398cc4a7e42632d909b3ab036b78df73d827ac2dfefa66367c3c03ff2b9920b1608f1b276e1786e1946783cc033a40c15e1521f19f86fd6296d5c320d5a8b01f210e48c2c321f52a92aca1da42031f9bf74d6372ec1953bda73903ae557dbaf383dc6bf7cde94a568787003e2fce035365e6b396b6065079f8cb8d8aed60e9b534b40ad81f93b51b0ecdfecf8ad06d03d2724ba9d6da7e01c36010a33c3d4967e8f0c0090ce533262d4b119efa8e4dd1036a3069c4d20948b333194eb5738ad03435f72fae037c82775f60ad5656f56c8703281203bdc1fb07076c19eb26516e250609b633ed1695dd3be650a17ace65312003e63936f3d7c699d7d1a87e10fd7aca5a462fb08948da88819e1a9232cc2a1783039fd10bd439da75d6d5d8b291ce85f8a60d10d02716c5a8874cc3ed2a22937e280219ffff03ba778f75c5b0b10bb9f602ca69cfcd548e48a3d6a04c235184e0397bc7e623c60335d57c8bed55bec65e8ec9ece13a56202669042d5849dc315cfa5ace83c3f9050330def08d514409c4d87ceec68a065c1b277bdd9b3c881f697ef9e7e5f61997df03d42b500661ba3d8165c3debaa44595b86c2597c8abba0a786f15b6e9dc18109803af8bd85c39f168780ec5dff152bba6cbbf4c69bb6e27b9afb70bcaa71d141110035d7bb8b0a29433544d1521e9e25ad19fa45ff13ff942d28daa51f026d6d2adb80392eeeb6a24713eb6b3b7e477b297aed1232bfa30a91d1861e90d338129789a0303249f76f52fc1cfbc5f28611aca54fa689fee79e04c41b0e10b95d751d22138b503488c8077dd17ca5a38a25bcfdf95ede33f86ea9e304572c1899146c5b6b9e7e70309e68c6597468fe1a0230c7d150aaccca5d6e641303116137fa79998098216f8035b0a744a93b60153f16b0b9bb98359abe5b9286fd28c201130cf7f20f63f909403e7228d7c86d33f3bba3ce815dd89a0056146e022dd8d606ad644942881dbedca030414780752314df61b29ab68bb0177e021f11100fe2bd63f1275f287c5e141d5039abc0028860bf8f93e3672616efd085e788c0c02a5e0492f81d676c7e1c8a1c003bf5a5095854e5f8636cadd81f9711e24a6a1b9db27ebc349c83bd1ff577307b90219ffff03e1ff76cee68f06ac04eef066ef4f3f059f82564754255cb9beb6e518882de75d037cb3cfe5e137fd2cced2af14a4c80e96daedfa5db9c4c33de7348a6421adfc8e03c122c2732597ff623e9e9d089ddb9356db79886cd500fc0b71dd610ce5115577035a13991f714029ce24f2c8bab60bfd866532bd73a1feb0f2bbb4f1150a6332120382f341085b9b3920a7f5e21d7d142607f9a4f81bb5950e1baf1e82b3f719040003966f8638b3e19d7e70bd3b71508cdcebec679f55a28129279a3d7423a44577cd0344b09c4b05e41cf843c7b4b3acca2052d7f586d6d86ad560ecfad5afad41faa303fcca22546ec7b039ecea33fff5410613447220c6233c3b21a8b7f10a8520d73d03775885fb176e9ac82f55c49aa09910aa2b73fb0e142d94bfe26c04673825386c038a448f43757fa5d960c005f2a5a452b840ed9f45a28773de2ae3483b7fe65c2703e88898e645374e117aee64445b365b8411db2686387a24d7168977e8a01581b603f8a6dc6fb33b1b29f3398d8a746ef0e74e3791a7a78d0d1b86d968f85720ca0e0219ffff033518bdda4d93085b97a8c5bb2a9e10797135fffee1594ee15febfacabd9d6eb703500131a4f224497bc780070a11b4c26b3f9cf35de4efe4415c58a5c8c132ec0b032fd23f4d8c40c5b812872fc95a55966a7f4f4482cf183afee668926ecc066f3c03f54dbde2b597bc893892bfea11a07fd5587f35765432c1fdc11267892592f277036682dc757c00799e79ad9bc5b84e9f6f29563dd2c8133059036606727fe8af2903ba5dce1b1f2fc91f3a1193d54b0b5594b447512a587bbed346627ddbc34843ab033269068237a32effd2d8b01f211b4405159881f38991b57c1e5ce8bd3d845cdc03fe516af7aedc289d16caa6881b2440b4336525113087e54ba85a59ce0ed4a4e503994f859fc2f81e82e5b442641b1a78ded5cbf1f82e236849e70498b47b88a06b0365c250935d4f58c484a1a608b081b7df94a66e989b56745a7af2d31705e78313036cdd40dde90979ae387676d737bcda1c7cef0451539e9e3ea3503d3359b2842c0306ec5cce94295227b3664bc53f33d794cbaf25ba6c6a54315a27b140f89cd331036ab5c05570766c9be08d1ec6dc467ff5c837992456ad3f2ab762e4afd45481810370ee6a1f9d200bdcfd5b7cbaee77fd68a044a622acf788bb4fd73dd5701cdb2c03fc6987e52dc8f642ced668f7c598f25ffa5f23b8513be9e558ca40c972f49d2203c9d266163816c606758fd9bc3f595f1c2b9e8b40b17be9a7485f034239b31aff03fd43fdf084b8415ca85f87b7cb282b18d90d46223407277e639176945faad57f03900cefe20e8bf11cc22bd9205ed99672d418cc04b79d0f8c6b5766b11e08b13e03122ea3d60630467e7bab3fa939a68507fa8c4d77ce75cf9e29e36a64617485ce03190d4d09470ee518fa7907e1c810e71c5b0bd33cf5cc2d94b623fddf7921a2d003cc3bf42a1da34d909d5be651e0c0974f5459721220ddb06f7a98cba4874e8d3103509861c1b2e279f73fcb031e688cc3d32c56edee8501568f929404e69e9718a70387e870af1b51ec1a1d712e7a0f8fdc93456fa0b33576c42404b4ad6d2456577103d30459ffe2069badfb14f7a70e88ecd95dec80dd38eb356f5a1564b46779bdbd039953c7bb301d3c8976347b2c0cc390b2beb507122ffc1abfa37dc81098a39a7c03b872e1347bee9cf3d9c34c9d3f4177fcd29707eb26f081133b7ef5fc206aaac003c8afda0b46f933a42c5ef2de7e6f9b18242608c36c8d015769ff0f78b4ceb679031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0319d4e7f3325c53b636279549088aab4e5fda26633737096a3dfd4f914007011bffffffffffffffff0335aa0a2a6feb5193277f84235bb624e6bf8ff34f08b2de31f72340fdeb70f9ac03d88336220791283fe9398508ffb6c70913ff9e8d2ac3c51db72b4e3a6b5f73c305581e0337d3c2441f542932d824a35317299f51da85dfb40f7640c4e76e826660040405581e031b741b61aadad2937c6c6934cc17e4b6e5a47d4914007f4507dc5759a00c182147d21ec1ab70ef5e0360155d7b8e6841f34a2608a4f5069a85510adf7ce0ba93161ef49448036eb3fe03ef46c1696822129674f982541201b71523990f04cdbdd6ed3643495df865935705581e03e184b9c0cd90a2894082f8d198ff841862fcf76e2e89383f4de458d8b007011bffffffffffffffff05581d0285de9f5d42e33e8605601b90dc14de670db75bd6002714c015022ad80c08475dd618e5614f2e05581d02a90c44496dc10dd9c8789f1a5c8e103753024878a4e6656b8eca14ff0402020905581e03e97938048ab01f1c39ad6905aea607c282cfae47edfd529f7a2baaa7000c0147048891df03180003e39ca7e92e80d4c452dda2c1c82e8ceb05e6b27703e171ec089d7e02681c58430307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e03493f8ce7187e91eaf6e28b66f36b1aa4a3d6ff5360e1c7f3e2ea56b42007011bffffffffffffffff0317e538c80df70d77a4e819f505cdff94150f981fe6d26037b9913414e8b1553105581e034043b0f852b01563ba254c649f715679c2d4051fbdb5fad058ec633d000c014446989ba703e13c06b80a48ad098afb1de4c7682633e1e6095593d09a1dcef1552f1336b6b9032ec6d6e1fe8caa4724695ed4838bbd674c258cffd4aa100999b522589d726a5d05581e03bfd1cdf819d510da5848f256b82e4edb013ff2e0b3517413671377650007011bffffffffffffffff02197eff03b422de42b174e39a14b427bfd1a9c2e612ba7c7e688855928a42ccf5473436f903f606bf832c8a79594d693967a747486eb24af0aab847e60f3a2617dd0a1871b00341b2d889a5e7c62c10afddc5c1a88bd227f4c645cad0c88177ddd534aca6e1eb031c1da6f8cce245d027c63cc2b10948891a637336f1d430a523f8dd3e17d84d7e03b7a46ccfa87608464e7b9d1d70893f06f12289436cbd0ffc9d4b031c3a06a4e703ce516dbc218472ec17be5cb16615b78741471d3d8aac3718e699088d5ff79a3803079aa5f619e49ab23bc1a0dd02223929c7cd53cd0074e9496716cc79587fd83003b72af83c416f100600558ec865aca201d2317edc8d5662c95e09705c0204178203b3e1dcfb40dc13bb53b80ccce040fc3477a2513e8496e294e55ba52ed0e8f351036dee7ef3fc1f06ee78d3ebafe9b55efd2154b9e36eedeb3e4bc205caf3f4fc2903aaaab1efcb069218231c22b2bcc1acb160398b254ef8b7e65771c3967ee876a3035d3e4a2edd29d069e048d53bf33a51a6a004e38f803b3af6d55c2d248c1bd08a03a469f910e1960c7b5d66deeb7f0e6566a6a3585a1ac62de0ab5a418cc7c92d1c0219ffff032664438b7a4584becc647cf632f5c61535a284d30d8177e4032ff0e47665058003c09f264fc7fccede889ca9424ab0f95e7aa224625e3e516bb770e137c04c44fb03cb6c19bab4a9883584f1d19e771475b54ab1711f49919f61d2caa0e9c15439e503ebc722b6c80c344802b16e5300c0446f84d6a979afdc1f07abf0c0c220e7aa1e03bc3da714c478cb9e3f2a21709f3058ece74bfd9b6d154e9c3e097d51a54b59c103a94b960456349beff9a9b4a8648e862d7a98794c4178a833d8e99a9fa01067c90339e3abbf3f59873e989dbd94cc614ceb31e93336d7e5ac2fe75f46c37e26e5f603e9476ce4d7a8cb768009a772a11cc664fe5adb1e93001a4e57b60c2158b1fd27030977eacdd23b2f3e5eee24dbfb71b436dec5c0e448404d65d29f562129af7ee50219ffff035222491a5ab4dec64adbbcf631029758e063cbf581346382de599c321098c08d0219ffff032f54de6c7ae2137ee4175d0efc119ac4448312d7e90586f5e43fae76dbbf887203d2379a2916c042143154f7587474d129dce3572f409f79828903d82dd8b14fd0032c165f0d506bfe1cc6cd067a11cc1112c09226b1bccbcdc69d6b4c494c92315d03939ae2312867f034ea7f4be06f370d725f6d1b4b71620623bb0e3f6eac8d82290335659db23479623fa727fd4fb77585833283bae7c4654c9a04738c63c9187cf8036a576212d832483c9bc05fb201d980e66150b49f2bdd06d5c25b84d2f85acdaa0374480baaa79cb1feab67234f2b92c9de36476094b5a44acb49c40f229f0624a4033a33ee33df09b0a1c3ae5f0603a69b8f0a47c413aee98769fdd80f77ccdc1fd10378942a95a3c43d6e1d2f68359490d988cd5fd27e3ce61f4086fd02cfa6fc07cd03ad5bc6d77edf1d9781d2c3665561344385b4860b0af72d69c20ed211be57f6b0039b24ef4b9cf9d134464d2bbd803e3ea8d670951fa7745e996fcc0402d74def49033ba896c1d0f8918466948c9b98bd64159db44c5fe10b07f92b6aec75cba35e12033b25252ed04d0d3e0418f20c7adf9a172b5165a218d3ec1899a8f0a1eb2aed270379ca0d14948e95156ef61eba9d7dfc26c2f9c61ebd65a5f5436fa8f1fea4b4f30365b880e68ed82bdea7e7fef236be1b21a61faa01fc41a834ace68574decc374c03ad81096940bee89a3ffdf7f9f9bda1988a4b345c32db5691cd6fcad0837cb1160394b20a011ef82e8d9ad22505448ef94ec99ebfe721f41aa40056141266f53ac303562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038447cbac6ef7cbc388b517bbe8293ab83d743c32c77ba61b1c38c1bb0007011bffffffffffffffff03e52b2452dac39a208d1f9e71c037e07dda327252fd476fc9491404d53cdbc37a035f5497081de9529a6fe1c670d702987e78196677f0cc3ab439e698d2dda192e605581e03298f8c81b506c62f8e701663bb69ac58613efb99cf1394fbf684c2eb7007011bffffffffffffffff03dc0b4392f2f0075ef4861e6850a34c8d1fc22ffe799cc8b7a74c01a00e7f8cd903562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02467f40ce0a9d1169d0d5d4ac35a9465236bee6429d09c8f53aca59e707011bffffffffffffffff039c4da409f7c4cfa1dc902d1613c1182b714a021d9095a7284e5d73bbb87e250303163b8d1bfc6064dc4df1a6127ea86345306d8d7fd2923ef42f41a8246408cbae05581d02009954db8aa6828de090e3714119eab751f85c5a56963ab12acbdad307011bffffffffffffffff0459141560806040526004361061007b5760003560e01c80634039fd4b1161004e5780634039fd4b1461012157806344bc937b14610134578063574da7171461014757806393e4eaa91461015a57600080fd5b806303b6a673146100805780631b738b32146100d95780631fece7b4146100fb5780632923e82e1461010e575b600080fd5b34801561008c57600080fd5b506100c661009b366004610da0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6040519081526020015b60405180910390f35b3480156100e557600080fd5b506100f96100f4366004610eb9565b610192565b005b6100f9610109366004610f38565b610248565b6100f961011c366004610fa4565b61049c565b6100f961012f366004610eb9565b610620565b6100f96101423660046110b7565b6107ac565b6100f9610155366004610f38565b61080e565b34801561016657600080fd5b5060005461017a906001600160a01b031681565b6040516001600160a01b0390911681526020016100d0565b60028054036101bc5760405162461bcd60e51b81526004016101b39061112b565b60405180910390fd5b60028055306001600160a01b0386160361022f576101db8484846109fd565b836001600160a01b0316336001600160a01b03167f05b90458f953d3fcb2d7fb25616a2fddeca749d0c47cc5c9832d0266b5346eea858585604051610222939291906111be565b60405180910390a361023c565b61023c8585858585610a76565b50506001600255505050565b60028054036102695760405162461bcd60e51b81526004016101b39061112b565b6002805560006001600160a01b0384166102b9575060405134906000906001600160a01b0387169083156108fc0290849084818181858888f193505050509050806102b357600080fd5b50610443565b34156103075760405162461bcd60e51b815260206004820181905260248201527f54484f52436861696e5f526f757465723a20756e65787065637465642065746860448201526064016101b3565b6000546001600160a01b03908116908516036103f757506000546040516302ccb1b360e41b81523060048201526024810184905283916001600160a01b031690632ccb1b30906044016020604051808303816000875af115801561036f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039391906111ee565b50600054604051630852cd8d60e31b8152600481018590526001600160a01b03909116906342966c6890602401600060405180830381600087803b1580156103da57600080fd5b505af11580156103ee573d6000803e3d6000fd5b50505050610443565b6104018484610bc7565b6001600160a01b03808716600090815260016020908152604080832093891683529290529081208054929350839290919061043d90849061122d565b90915550505b836001600160a01b0316856001600160a01b03167fef519b7eb82aaf6ac376a6df2d793843ebfd593de5f1a0601d3cc6ab49ebb3958385604051610488929190611245565b60405180910390a350506001600255505050565b60028054036104bd5760405162461bcd60e51b81526004016101b39061112b565b60028055306001600160a01b038516036105875760005b825181101561053457610522848483815181106104f3576104f3611266565b60200260200101516000015185848151811061051157610511611266565b6020026020010151602001516109fd565b8061052c8161127c565b9150506104d4565b50826001600160a01b0316336001600160a01b03167f281daef48d91e5cd3d32db0784f6af69cd8d8d2e8c612a3568dca51ded51e08f848460405161057a929190611295565b60405180910390a36105ee565b60005b82518110156105ec576105da85858584815181106105aa576105aa611266565b6020026020010151600001518685815181106105c8576105c8611266565b60200260200101516020015186610a76565b806105e48161127c565b91505061058a565b505b6040516000906001600160a01b038516903480156108fc029184818181858888f1935050505090508061023c57600080fd5b60028054036106415760405162461bcd60e51b81526004016101b39061112b565b600280556040516001600160a01b0385811660248301528481166044830152606482018490523491600091881690839060840160408051601f198184030181529181526020820180516001600160e01b0316631230c53d60e21b179052516106a99190611300565b60006040518083038185875af1925050503d80600081146106e6576040519150601f19603f3d011682016040523d82523d6000602084013e6106eb565b606091505b5050905080610753576040516000906001600160a01b0387169084156108fc0290859084818181858888f1935050505090508061075157604051339084156108fc029085906000818181858888f1935050505015801561074f573d6000803e3d6000fd5b505b505b336001600160a01b03167f8e5841bcd195b858d53b38bcf91b38d47f3bc800469b6812d35451ab619c6f6c8884898989896040516107969695949392919061131c565b60405180910390a2505060016002555050505050565b8042106107fb5760405162461bcd60e51b815260206004820152601960248201527f54484f52436861696e5f526f757465723a20657870697265640000000000000060448201526064016101b3565b61080785858585610248565b5050505050565b600280540361082f5760405162461bcd60e51b81526004016101b39061112b565b6002805560006001600160a01b0384166108a9575060405134906000906001600160a01b0387169083156108fc0290849084818181858888f193505050509050806108a357604051339083156108fc029084906000818181858888f193505050501580156108a1573d6000803e3d6000fd5b505b506109b6565b3360009081526001602090815260408083206001600160a01b0388168452909152812080548592906108dc90849061136a565b90915550506040516001600160a01b03868116602483015260448201859052600091829187169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b1790525161093b9190611300565b6000604051808303816000865af19150503d8060008114610978576040519150601f19603f3d011682016040523d82523d6000602084013e61097d565b606091505b50915091508180156109a75750805115806109a75750808060200190518101906109a791906111ee565b6109b057600080fd5b84925050505b846001600160a01b0316336001600160a01b03167fa9cd03aa3c1b4515114539cd53d22085129d495cb9e9f9af77864526240f1bf7868486604051610488939291906111be565b3360009081526001602090815260408083206001600160a01b038616845290915281208054839290610a3090849061136a565b90915550506001600160a01b03808416600090815260016020908152604080832093861683529290529081208054839290610a6c90849061122d565b9091555050505050565b3360009081526001602090815260408083206001600160a01b038716845290915281208054849290610aa990849061136a565b90915550506040516001600160a01b038681166024830152604482018490526000919085169060640160408051601f198184030181529181526020820180516001600160e01b031663095ea7b360e01b17905251610b079190611300565b6000604051808303816000865af19150503d8060008114610b44576040519150601f19603f3d011682016040523d82523d6000602084013e610b49565b606091505b5050905080610b5757600080fd5b6040516344bc937b60e01b81526001600160a01b038716906344bc937b90610b8d90889088908890889060001990600401611381565b600060405180830381600087803b158015610ba757600080fd5b505af1158015610bbb573d6000803e3d6000fd5b50505050505050505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015610c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3491906113c6565b6040513360248201523060448201526064810185905290915060009081906001600160a01b0387169060840160408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b17905251610c959190611300565b6000604051808303816000865af19150503d8060008114610cd2576040519150601f19603f3d011682016040523d82523d6000602084013e610cd7565b606091505b5091509150818015610d01575080511580610d01575080806020019051810190610d0191906111ee565b610d0a57600080fd5b6040516370a0823160e01b815230600482015283906001600160a01b038816906370a0823190602401602060405180830381865afa158015610d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7491906113c6565b610d7e919061136a565b9695505050505050565b6001600160a01b0381168114610d9d57600080fd5b50565b60008060408385031215610db357600080fd5b8235610dbe81610d88565b91506020830135610dce81610d88565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e1257610e12610dd9565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e4157610e41610dd9565b604052919050565b600082601f830112610e5a57600080fd5b813567ffffffffffffffff811115610e7457610e74610dd9565b610e87601f8201601f1916602001610e18565b818152846020838601011115610e9c57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610ed157600080fd5b8535610edc81610d88565b94506020860135610eec81610d88565b93506040860135610efc81610d88565b925060608601359150608086013567ffffffffffffffff811115610f1f57600080fd5b610f2b88828901610e49565b9150509295509295909350565b60008060008060808587031215610f4e57600080fd5b8435610f5981610d88565b93506020850135610f6981610d88565b925060408501359150606085013567ffffffffffffffff811115610f8c57600080fd5b610f9887828801610e49565b91505092959194509250565b60008060008060808587031215610fba57600080fd5b8435610fc581610d88565b9350602085810135610fd681610d88565b935060408681013567ffffffffffffffff80821115610ff457600080fd5b818901915089601f83011261100857600080fd5b81358181111561101a5761101a610dd9565b611028858260051b01610e18565b81815260069190911b8301850190858101908c83111561104757600080fd5b938601935b828510156110905785858e0312156110645760008081fd5b61106c610def565b853561107781610d88565b815285880135888201528252938501939086019061104c565b9750505060608901359350808411156110a857600080fd5b505050610f9887828801610e49565b600080600080600060a086880312156110cf57600080fd5b85356110da81610d88565b945060208601356110ea81610d88565b935060408601359250606086013567ffffffffffffffff81111561110d57600080fd5b61111988828901610e49565b95989497509295608001359392505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60005b8381101561117d578181015183820152602001611165565b8381111561118c576000848401525b50505050565b600081518084526111aa816020860160208601611162565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006111e56060830184611192565b95945050505050565b60006020828403121561120057600080fd5b8151801515811461121057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561124057611240611217565b500190565b82815260406020820152600061125e6040830184611192565b949350505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161128e5761128e611217565b5060010190565b60408082528351828201819052600091906020906060850190828801855b828110156112e157815180516001600160a01b031685528501518585015292850192908401906001016112b3565b505050848103828601526112f58187611192565b979650505050505050565b60008251611312818460208701611162565b9190910192915050565b6001600160a01b038781168252602082018790528581166040830152841660608201526080810183905260c060a0820181905260009061135e90830184611192565b98975050505050505050565b60008282101561137c5761137c611217565b500390565b6001600160a01b038681168252851660208201526040810184905260a0606082018190526000906113b490830185611192565b90508260808301529695505050505050565b6000602082840312156113d857600080fd5b505191905056fea26469706673582212202cfe991af8d38fa2ac1704297d010d8644417c5713ec84f255506fc12400514d64736f6c634300080d003303c75b27bc71a7a030f4c0775800d58feb9f51accf78c7b8d10a4f601109e4a27b03d67332b1d7380b779db8d77b68527077f201bf4675e1ec7681916edfab7bfc6a0360e290e947c6ddd2f3b4253abfb54d28698cfc8804075ed19404f732cc10c979035f9576ad06c485280a64c905166a29e5d3b9ad8e446408a14c9c854d26bce04e0058200311a9ce9f57db7b54b1fee779c190b446644d8aabcc479acc26dc43ccac324044c748f07b00582003c64c922e8ab1adca612939bf51a37d555ba68df3d5dfd7942f3fad407c8530490fb939659eb3b9633800581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace410100581f024ecaf489705e641260dfe5fd24bc6f8039aa8004922bcc3d24a0612cf88644940563210219208000582003707bac7f1c312140c6901309c6486e249aad5a635d9c486fcc326a14db6640450f00d3d7440058200385f4eef9ef478bf7967e6c133c61aeac87d4520a2fe8303058913bc215bad0450541153782005820038c74f2878fbd72802a940db5c668953b5a310e5dfb0cb86c33a1160f8c5cc045019c64ef9900582003458e63227d69d15f0443984458046331d223ae0e682ab97e8d6451aadc862045024195e78200582003ccc07f78667959de84345c529abc4d5cec199ddfdf6b2bf400d9749c8e7c40450467005f5502191d6a033ce4c5c63837ca41a1f9e4381765856c4ba6097d191222b7c65a35875d0daf25033bf73b73e3113d9906b863d29804f5b6b210e56e1e1d6a38f2ac9b13e886ce670395dfbc7f31182607bdf3d1288dbad6bd1cf9d1fc25bf7e478954b1ce270d583a03fd801b256798e14442e1b8ab8fee3e5cb0946a61ff2a354871f5193822d65d6d036659501263807b5edc49be400a250ed1ae8984e86bd593f2af102f8c532df3fc0367795f8b936e47ace1506b4f7e6106f7426e2996775772460feabaff1f1e7aaa03d9db251456f069acfe791d1473299b5f8c6d77f19b6576c2e82f1472b96bef9c038438a67cd30d86a7224e86978f5953d1d7051d687496bcb5e60a026b4267ead603fcd506bb8fb826c3870b35b3a5420587f5c8e541598d89d827cfb621e7bc006403ac5b5e7494126258f86e7e867da96b90df2487f7058d0929e489546a89175b3003d0eb29634cb280bfc7afdfddae57a62fa63da50bfcded32ab7687e16cb686bf8030185b500f8b3f5547a5e15d7c77145f978dcdc711478f51a0e3563580f29ea4c0341519f8bbca25fae72b923771428e900e6e049f042cb0565fa6aa196b8ca99ce03209176f5212a39a0a58938f87be09aa964f375b3050e488f3e0cfa7190b70f2f035b30f426d68275e2308e0f7e4051057bb85a30af1152e30323c2f5a6e726c2710219ffff036404668387eb74d6a85118e1ead26134d8f3b63e0bb3d0ea79b5f355f18d3c22035eb5b51f69f08a2aba91d82657d69e446ec59af79f3166959d0d580794eeffc903b0705dac55efb40fbcee1cdd1a9e003fb610a202286109891e86f2cb8c7a8a8703ba761a5bf375ef4a6f2385c8f61b1556c0b1bf1278c38409b1a86bc6da8dc1b803c2f4e8e8154648deebebedaf9ce93c8bf9dc4f2e7f6bca358c7b93d696b199a9030b743b6cb95562b5327fb6dc42a6984cb45a73958eab8042d394b421c740359103bb3974f93fa77110de6e20dd5dbe0db4f0b8b4224ee82f15350f9593c44c2e9f03d0e3401aa1e6736cef916b119a88969ad182f28ebf04e03087d8f2a54581f61003d2295365e09e62e7b9f17f3d544113fe57b6442f5d9660e0fd29a8f2bc021ed3038592ea1c48feba8e9e708517195ad54a3b1e9dda4c5140d5fa35bd5904ee898a0343e6fcc08d9cf21629039d9369f266b5442eb70ac7c95236555c06122af503c10219ffff05581d028fc0725d531bec6ffbd12f2d911bc10ff0693d1c752acb766316e3ff07011914150219400303c4b8776a489ec5e396307784431017fd3d66c7a2e1393848cf8843515ffa4ec305581e03c0986e128e3fab12273b3c75760e191025b5167c37088681955c17625004010368c1a5aecbf454d6231a6161f7570500489e80bdd44527195367008b1ebc19aa0219bcc00359f7e560008c0ddb2be64d489abaa310d3e7ff2db9a4fff2cf349cca60748d7903420d28275337095654ed0203269a1b6ecc35f66bf9e1a393c00797720b149d7e039657f2a8ecb2b8c5bbee92705d9fa41d16d79e632c19cb2b13049514074a77800327ca6b85b555a5db45413648c05bf0a56fa069ef056ec61a9da8cf8af58818c503bf41d19812e54b04efbd69186df8dc0eeb643a626939c6a2699a7cb81c179c8403f12bccc1d6cbd4eac51dbbc128d9fc1acf5cc0b35660730607448c4d1862fbda03b2eb3c9662a1e91890028c0f4a4a20cabbdecafd89e13876b08f76b4dacc43b703ed35abc4aeaa6977ddc6a233d225c6599ce1597fee6d59e64506f413da3ffb2003cffbda08e981360facc8df8ba9a1f8427a004af8e2718add575125a5e0ea75c4036008d57e48001718c96db49fe86de96d6ff88218b70e82e65bdb2a85d2bba5ff03160f7a0f8c77c3a6c4d713aae107def98d0a85b5cbb9a7306caad46fd1f32e780378b83525b0a6bb90f420b48dc6d4cf379c7f5fd4a7050af22d3142448ce4a022034a629cc9637af8a7f0a5008fabc6bf1b4d8f51c5f71bbe6b3a96744df219d282032994e3dba2c181338a1e711e9f721a8f78d20bad0748f14a290be39e16a6967a0219ffff030e9d258a82a460305d1f60fa7e04f2f78f89f5e031ed57cdcc0894321cc9c298035b8b6f38194a943cfd2b2d302613aab070300e34bc6a8b7d56216a556852b093031dbad70877d275486669f343e14a5bdd9bafab07aaa2561c6d5f0ec52f6c01ba03c0b283bdcacce55be669a17dc70eff91cadfcf81c81090c1ca644b60b3f482130355aa7b26f465684d4643e0f28adc8cbd5d5252841065321eae689d62d085e2c20219ffff0337d429de6910da4c312ce65b1186c700f953ab193b98cebaecb6edf50aca84f90344980d5a53144af8314954745dfad663cff0f3c43af572308b6dbd95cb82aac003598c3fd4fb453839ed0b7216f4ab3ed4cb26949b04fa6ca75c8a1208d191704e0327dbe6fb00cf920370a922fff53de8183f1208f6e368c3338281f93dd4a1687b03042ceffbd6adf11bf39c9d50884be5382f37bc3e90cfd97822eefade8896e8a7034972493ba8c801e7ad1beb382f9b5819d24f6df9833d3420ef09be8c536eeec4034d8c9bb90373d2d51a578327d725f7aa6df4385cf94c120a6081af55e84078d103a2b3f54bc9b9b51f59f70f49bdfb7d4eaed8181eed0b91e501c4cd2ec2ecfdea03c68f187fe0755ce29156627c40d6c8e73146b6f0afa94e902b334369463ddb750310881529c203ff603f4ac32366b4439f8b8f4ca2249ad4a963940c83a71cb8030351831ac057385875bde165479b4d2867d2a581b9dbc4fb2ea6aeee54517e29f70219ffff0388c10f11c3909951f95b3fd05e500e4c9a2082bc8fe7e6e3181603389e59b60f03613ec971243d50271a95ee8c2ab26a1a74806a33e711de4f9ec33761971c0aaa03841f3b3d767cec6d413056d0901b10f6e95e051cd7a67394bed74c1d6509f26c0346defd7186c1026c2aad6e5ccfa261bdbe8c3cb74ebdee90c2701e297780ff75034834244abb808d31f5223b7e3953b6e2c0d1c3596162c3dd35be18defface487033df152081616c22d25d9ca9f829dcdeb9e8f3fed5e5518ba267220af41d360b90325742a732486a84aac589154fc97790978e7f3bd22143ae4869f0785266179730345e32b69fb20001d3be7bf0867ad2e11fd7790fa36e0f240ab14c91b9886391b030e20ce2b1d7e223c460dc46998e09cdcdde7e293aa559e87157b2d1fb17acb84032b8d9ffa8dd3605b3ae7f09ee83d253b3716a0197edf518d2bd15919a363dc9103f8e6290efe4fca7cafbcb9c6bd62dcd8c13e84d8f8cf5bdacd9863acf0d28ffc033eb340fddb1230ec44577ac13251472c989aca2ed334c4887f88fa849cc8fc8b03c0cd63331d43d99f63c79aaa941a7375932bb1d6b0e45cc95272b0965e08a30e03a6e9f0c81503bcc6462c9fa127b161f4d95b734cdb9e8c8cc1a848e9e7d7c05a03b6ad32da7c4379ce5745a23ef3149c511f7c8ed0c44d0ef90a666f89f22b6f6e0351dfc9d04b1e60344d34b74459807db6a9c6196870e732dc6534ebc33a819ae1039a438d9cdbee858cfb022e7db65fba26ec991a212521d2cef23f56c73b940564031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03fbc910c5fb1cd9a8689d673df5b16291d2aa51690b723a3902af09232007011bffffffffffffffff05581e03dd7788e22b566b410e4b19994582732218b23f240e5d1e69fff35d8de0040105581e03883c15cc0918bc424c9f8a07b934ee722296fbe77178265c2ad01863f00c1979af490d40e56a070c27393103b00b0f83b2e15eb262805ddeb1da0b7420acb467c311de6e228e1d587314020b03f876b02dade9d823efa0b2a33dd50cee7bab515992b54843fdead812096644f903c64a9c02a2e139b9cc71467d2e284bf1317ba429616110fdcc7fca88c7bde66d03182fff386ba6fd28242314173721a13e8d244f52774a9736023d96a931a938b9014104033d8a002b98452549bb43dd1396e06591ee2e9c3f42cf60cb0ed83effbed132b20219b45c0353ee795e0ab0d3944f49ecfed547abe8ea00182758627139296003f82949917f03a7699714c0519cd0eb4ce4d1c851fc559f00ab0140d25d35d6e45f7ef313baf90364191045ca2f7c56b9ccec66177f8a8bc10b1d5802c286afe8707a7585bfe05f038cd726396cfd88c67196280e145f341bd983a2975ebc32e3b0a9e735d3b6e6e90387f2a57ec7c20b16d8fa798cef4190d5574c84fa8c296d6ce31083b9795289860219ffff032ce9469f7d070dbda17d0d8a5ff5f093f786233386456a8b1fd0f644b740d96403cfbe26f99c9c21a570065706445fbd240f743903f11d0420e28feef5a336a95103d629aadee3c22ae39df853672b7449fb8406cc237cc88886713f9b1fe17ba5ed03487bad3b7e1314d128fab5aaa502e9c30d5ebb840fc27792eabac1bf0ad9d262034e8fb506556045ccf4cf03a8b8e354bd08142e64b3b0463cceaca11f8dd10ce0036a9fc4d4272985b4eb3ef026c1ac70166e2d344890afcf3ed750cea0304fabf003d9c7a0d006067825de7aa8655ccd390690e2a4944bb07f1654a1a88a0b121e6a038aa3f7f942a9fb35b2bde48489cdde29a5f790181828dba64099a4909b666cd60335cb42b07a454be13b209b9150bdf50597ec47bab92c52775fa22a96d230147d033c64b49f7f4bee1cb2ef3856fa3cb766b2909989dec61424af450e3c9d635044037f3c35d900d8c8472a59d84a9d0c7405f2de02437b4c54148265ac5a2789389703943a709d120026f369f4ae88edd07c95de913bf0c844ba67199d6970a93e2a41035276ba30a1a64ac5d3c63b57c7334b3866e6fec403d04346cd58b0fe7fb7eacb0219ffff0358180a80116305bfc509eb47ec1a1ba44dce953ca69cd3f51a9b1ad58b24a19d03ca878dc5b3f4840f105455c0164d11d8940c5796a556c6e04e3e9c6e06aa2d3003b7c040ccdf65c0811dfc8b12c1ae6d093a7646a8ce894daaa7ddef854d37dff603d5b9c380ee26623c4492d428f8664aa6d3b26ee540f4d4a0769a74b5aa7ff4eb032597b96927aba2a935671c9dfabc20fdcadaac6481ff4ecb15c0989fe8d873f603ec2aa3be0178ebabfd195d87e21fac96b9a80e400b22d54d2de837f17f2b52bf031abf8f3cf89452a3e1bff3bc79aac12411c21a857be0143e01f5695d9fd1082e03ecc4c48fdeeee43fbb54a9ef7b71323e8b70cda0fa8c3fee454f40364ab3296d039216d9390d7209aca074b310ecc0b1604fdf1f0a2ffdb0eb5ec0e3578ae05d9e03cfb874aaaee5b2a8138d10ed2898408b5253b660376fe011af244c343814cc6f03729a5b0506110c9eac6f0a3c694ac868803ad4d89571653965609bef0f2e5e500219ffff03029d420573a3cc3aefbbf82f3010a6232c7600a7fc4ec73d4a057d6a652d6f1a031ae7429dfc2b80bb030500737556cf3452cd61e9920e430ad937690ceab68d23037323321838fb189306d6e0660657e170a6f03b7296a728b1c3a7e09a8c1ca224036517c98457f831b271e68834c269adce58e00108442327403f2becff91d68a0603b7b4200d3697319a238a76420e195bd14f24f9528f0dcb89aef51664c8d9bc53035e361cf2f4e933c2ddf61ab7b0450f9959b5b68fc70767862fa5ba845418dc730219ffff031289a6e1117b787f7f6e74d2fb67fffff29b51d9e24fe03499335b966f31147603187e99bb1682feaf3cbf4b186062d5ed7c94d7781b3fa692c19276443b9452e8035ce8cea4f5fadd02f04a97bea64d912f1e4bcd815a31e5c76304088028f42ca6032dadf3b0e8ebedd94f6f1d1d6bc392a7fdffd7b3060948eecd86931cda419d7903f89568eab9e9c88bb02b72a1d2cb9ea51d74f3e1cf31410856fa4a168a2db316037e88f1313b9114b7e88806409c20c6471f78e8cdbe8b09e90397d85dcd8088ee032f106424ca0d7aaccbe40beab308d0ea079e7b47c5b493c0a6cf27ea25a2ae3e03eca6df615c1dc69df750e41757b116141b6ad36f245cf5566561f2855d1d0ad603c4fb91acdb1687c4718152c5717337a6c7898e154785a99e3dccb769c28af4280399ec23f904770c6a6af421a22a16c21c29c47a2034fd2f5f4a83d9d68b72284e03241677041064b3dbddf56830171fb806dd62ddff1610f99d69cf0f146e5b3c0003283bc64181d52bbb75b533f7f5bfa5c344e375feaae4f93168158f64a7403eba0371d6e3e58bd43c7f927eb839689a908b7394d34ba81d0ef1a34950192713dd3d03ae2d416da33bd06164f5b3d062f033cdc1c2502939599122ff913062dd6792a903d0ec10bddb30ec4c8886306c5614cec9c8c89e57418309f6bf6f228f57a579a203cecf570222d6423872a7025dfd4969ab80ff80bb30900360e78245e841a7f1e003f6532ba61918cdedb31b7ff46d9e78bb96939b22fecadf48793a1f0d333b71020344acc64884f310b0d753fdebc12ce624c74a6a8c85c81c9a7936c3e6d9260f59033d4a5f8f9a4a35a39421ccc5852965f551284a66099e50063885223a2950394b031b2f2e392fb077bd8aba8685c6e0df7a138e424d1c14798eebf10c384a1589b403b24825ac047f91a876643f1ebab77182a448a003945ef696986405eff90ef643033b113b3e8b9ffe5717e2b4811e54655351f2ce6e8ee662a684def009e513d38b0318ef26d04578ab56c6916eeb27f91cbecd4c20ad69f30c10853b7cf79cabd4e903767278cb32e011d211e6005a5659043d9487ae129ace5b8050dc571b214ace9103df6a9f069369c99596d89ec9705ef57355bef76cebda770f8612eb30b960e3300381508086598c7268ab0a3ae9be7be831e150d25b8ace2f15e03338080a58c491030e3047e409d9efe3ecd145e654b0ba6f99d53908b5fad79f426be5cceb98d14203229f64036595c70e1b35867885010d446267dd8147b125471ba5c0a5fa5e152e05581e035d61d380f9a819a2045561a32ced03944783d88f5a7baf4183383748f00c024729f8acd17b5d5e03d246f207721c5e2df6f8b80ecce8dd2f131b1e1505638aa9c5519cdf5a0043f903cac3df3119aaa7b9c8c90856a930b9d1e6bd2bd0581c82a9b0e4cd7bb78f5df405581d029627cebb1499dde62b6dbd00cd41ad62fb1977c24e2a650a8ebb73600403031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02c8c057f068401ca0e3f4b3844c7393d218a6127b96d8045f68747b2707011bffffffffffffffff045917706080604052600436106100c75760003560e01c80638da5cb5b11610074578063b84f5d1e1161004e578063b84f5d1e146101cd578063e8edc816146101ed578063f2fde38b14610202576100c7565b80638da5cb5b14610176578063a82f143c14610198578063b5268389146101ad576100c7565b80635c975abb116100a55780635c975abb14610121578063715018a61461014c5780637dd0480f14610161576100c7565b806339122461146100cc5780633ce33bff146100ee5780633ef11fd714610101575b600080fd5b3480156100d857600080fd5b506100ec6100e7366004610f93565b610222565b005b6100ec6100fc366004610fe5565b610448565b34801561010d57600080fd5b506100ec61011c366004610f53565b61066d565b34801561012d57600080fd5b506101366107d1565b60405161014391906112ca565b60405180910390f35b34801561015857600080fd5b506100ec6107f2565b34801561016d57600080fd5b506100ec610806565b34801561018257600080fd5b5061018b610816565b6040516101439190611249565b3480156101a457600080fd5b506100ec610832565b3480156101b957600080fd5b506101366101c836600461106f565b610842565b3480156101d957600080fd5b5061018b6101e836600461106f565b610862565b3480156101f957600080fd5b5061018b610895565b34801561020e57600080fd5b506100ec61021d366004610f12565b6108b9565b61022a61091a565b6102498173ffffffffffffffffffffffffffffffffffffffff1661098d565b610288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f90611336565b60405180910390fd5b6003838360405161029a929190611239565b9081526040519081900360200190205460ff16156102e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f90611614565b600073ffffffffffffffffffffffffffffffffffffffff166002848460405161030e929190611239565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161461036b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f90611571565b816103a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f9061153a565b80600284846040516103b5929190611239565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff939093167fffffffffffffffffffffffff0000000000000000000000000000000000000000909316929092179091557ff9648cbc19f288e0f271f7e95311238912bf1ea8225e636a13bb1d25912600219061043b908590859085906112e9565b60405180910390a1505050565b6104506109ad565b6104586109ec565b60006002878760405161046c929190611239565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff169050806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f9061146f565b73ffffffffffffffffffffffffffffffffffffffff85161561052e5761052973ffffffffffffffffffffffffffffffffffffffff8616337f0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed1687610a30565b610567565b833414610567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906113a4565b7f0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed1673ffffffffffffffffffffffffffffffffffffffff16634cfee326348363ab13824060e01b336040516020016105be9190611249565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526105fe92918a908a906020016111c9565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161062a92919061129b565b6000604051808303818588803b15801561064357600080fd5b505af1158015610657573d6000803e3d6000fd5b505050505050610665610ad9565b505050505050565b61067561091a565b600073ffffffffffffffffffffffffffffffffffffffff166002838360405161069f929190611239565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1614156106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906113db565b6002828260405161070f929190611239565b90815260405190819003602001812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556001906003906107579085908590611239565b90815260405190819003602001812080549215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909316929092179091557fb00061f7cc154fc23eb34671ab724fc7eb7b806abae871abae8f1eafce972135906107c590849084906112d5565b60405180910390a15050565b60005474010000000000000000000000000000000000000000900460ff1690565b6107fa61091a565b6108046000610adf565b565b61080e61091a565b610804610b54565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61083a61091a565b610804610bdb565b805160208183018101805160038252928201919093012091525460ff1681565b805160208183018101805160028252928201919093012091525473ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed1681565b6108c161091a565b73ffffffffffffffffffffffffffffffffffffffff811661090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f90611412565b61091781610adf565b50565b610922610c30565b73ffffffffffffffffffffffffffffffffffffffff16610940610816565b73ffffffffffffffffffffffffffffffffffffffff1614610804576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906115a8565b73ffffffffffffffffffffffffffffffffffffffff81163b15155b919050565b6109b56107d1565b15610804576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f90611503565b60026001541415610a29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906116a8565b6002600155565b610ad3846323b872dd60e01b858585604051602401610a519392919061126a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610c34565b50505050565b60018055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610b5c6109ad565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610bc4610c30565b604051610bd19190611249565b60405180910390a1565b610be3610cf2565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610bc45b3390565b6000610c96826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610d309092919063ffffffff16565b9050805160001480610cb7575080806020019051810190610cb79190610f33565b610ced576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f9061164b565b505050565b610cfa6107d1565b610804576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f9061136d565b6060610d3f8484600085610d47565b949350505050565b606082471015610d83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906114a6565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610dac919061121d565b60006040518083038185875af1925050503d8060008114610de9576040519150601f19603f3d011682016040523d82523d6000602084013e610dee565b606091505b5091509150610dff87838387610e0a565b979650505050505050565b60608315610e5e578251610e5757610e218561098d565b610e57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906115dd565b5081610d3f565b610d3f8383815115610e735781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f9190611323565b803573ffffffffffffffffffffffffffffffffffffffff811681146109a857600080fd5b60008083601f840112610edc578081fd5b50813567ffffffffffffffff811115610ef3578182fd5b602083019150836020828501011115610f0b57600080fd5b9250929050565b600060208284031215610f23578081fd5b610f2c82610ea7565b9392505050565b600060208284031215610f44578081fd5b81518015158114610f2c578182fd5b60008060208385031215610f65578081fd5b823567ffffffffffffffff811115610f7b578182fd5b610f8785828601610ecb565b90969095509350505050565b600080600060408486031215610fa7578081fd5b833567ffffffffffffffff811115610fbd578182fd5b610fc986828701610ecb565b9094509250610fdc905060208501610ea7565b90509250925092565b60008060008060008060808789031215610ffd578182fd5b863567ffffffffffffffff80821115611014578384fd5b6110208a838b01610ecb565b909850965086915061103460208a01610ea7565b9550604089013594506060890135915080821115611050578384fd5b5061105d89828a01610ecb565b979a9699509497509295939492505050565b600060208284031215611080578081fd5b813567ffffffffffffffff80821115611097578283fd5b818401915084601f8301126110aa578283fd5b8135818111156110bc576110bc61170b565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156111025761110261170b565b8160405282815287602084870101111561111a578586fd5b826020860160208301379182016020019490945295945050505050565b6000815180845261114f8160208601602086016116df565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b60007fffffffff000000000000000000000000000000000000000000000000000000008616825284516112038160048501602089016116df565b820183856004830137909201600401918252509392505050565b6000825161122f8184602087016116df565b9190910192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff8416825260406020830152610d3f6040830184611137565b901515815260200190565b600060208252610d3f602083018486611181565b6000604082526112fd604083018587611181565b905073ffffffffffffffffffffffffffffffffffffffff83166020830152949350505050565b600060208252610f2c6020830184611137565b60208082526019908201527f414441505445525f49535f4e4f545f415f434f4e545241435400000000000000604082015260600190565b60208082526014908201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604082015260600190565b60208082526018908201527f4d534756414c55455f414d4f554e545f4d49534d415443480000000000000000604082015260600190565b60208082526016908201527f414441505445525f444f45535f4e4f545f455849535400000000000000000000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b60208082526011908201527f414441505445525f4e4f545f464f554e44000000000000000000000000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526010908201527f5061757361626c653a2070617573656400000000000000000000000000000000604082015260600190565b60208082526012908201527f494e56414c49445f414441505445445f49440000000000000000000000000000604082015260600190565b6020808252600e908201527f414441505445525f455849535453000000000000000000000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252600f908201527f414441505445525f52454d4f5645440000000000000000000000000000000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60005b838110156116fa5781810151838201526020016116e2565b83811115610ad35750506000910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220608714aa9d6fbcc9fb12a697d4193a8e6fa52f25acaa2ad1114662393eb8d79464736f6c634300080100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305432ed10824819fdaa52e7ff9c50cda6a5cf7a1b35005821034551603e686fd4eb9cb764097b7a6c029e0619fd051068de573a7421c153d150547ac070f096c6e20931c3dc54f927446be232618b0058210327e5392cf41d6addc73de8d105feb85df6f7bbe47f21665215c33caaddd79610547ac070f096c6e20931c3dc54f927446be232618b00582103c026337f1cadaf15b8024f31855e0ab7607c74c130d2923eeec42114d95e4420547ac070f096c6e20931c3dc54f927446be232618b0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60410102190d1405581d02809384bdc1192854564f4438cc3c4359e5aec53e51ab50b53aad57b007021917700219414003346341f6c892dad9a7ae66c4f8c3e6273ae6ae77b27d399b50cd369c14d3795603809ee0e9ba08453a3b6f63081659050710185962fb7358eeafae8324665d6fbb03e4480a5608f2195abd15f2270f46f032046669e0ab748f8003259b54c497bd290399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908031cc9a79bd9d7d12e2ba4bc7e2c358d68b79122e34db4ff2932b40bda29158ff105581e036904e7d7b417b2396b64a83ac8d57679c28f8b0ebe7051fbb2ce2eb20007011bffffffffffffffff05581e03e882d389d79f792bdc6b5c3ac18f82c82504f42a7249b7286f19ac2bc00c02468975bdc738e805581e037fb2b46d97d6763d70bc8b42814eb1d70930c98ff4522ab48ab3073cb008473eae2ea120f5160219937b0339827a6063ecdf8be31f3429e9d681c5ab40b5861396191682464987b9ec4ccd03288229faadfdac90d39cc2fb57c140e559485fd90a669de2870c3037c6f6f9120359a1625f0c2c887fa08df81621952628048c3279591545b0139e07f59d93508e039236fb84bbe8be712f058ca92058a50e0132960aea145112f7aff8132a63c64803e7327f69a6a08ad98536b7a9439bb564eb871c2c7b718fda1ce9427c6c38d7c6031dd23f5c7f0b410591abc378c2804cabe4a2cdb49c4e72fb262351f8e3da01470219ffff03b135ee6e253689f2f391150f7032598b78d0b58a161072b92744d26d238983ed0319ceb67773af737f918b8040e64de4d2e7d88df9cdd92b0c3254e3bf9583797d03315986af944047552d444a68360635924065e485628c945746509888bdbabee403c045b07371b494573aab2bd975ce2756ec9b52ec2d2a2d8742f07e34a020dcdc03b04c95105b2f850fa87e9654a887cacfe8b4de3a598de63d0bd657008af33d4e03bfa301e969d1f867166d2d9092e09ac0f3a1fce5e0de10616be119e14f89cba8035000cd7f027b752a6854c3fc17b2742e320ead5f7fb1dbba7e3ecd31e8ce4d6903e7939dc1033e119841c123e69ad1ffe3d66a9c169d9d27397f985538a6fa658b0219ffff030bc50898f0fc6bb2980c9d475e89a075a40173cbc966fa5a1cc90c1520ba71ad03dffaa10c30c5c4bf255be84fadd9bdd83766201eaa31475782b4466b48efb2100308568e08a639fec531bbf6a36cd81006befeefdc8b8325c210e805d833fe77bf03221a9222a2f8b463d0c163603873735f48f05bbbca7bd2462db4cde181bf87ad03beda81c9da869e9511a1fc27ec2b310db56a8ef91bb03114d70db3ff551e99ae03daf18361f690445129cce879f6f708eb5beae115bad23fa1e75556847d2a031503519ca8e79cdd8e8378889f1125099e9f9e252e17598c268024b3f08a40aa57a803b9f5f396fb591eae1bc3fc7a3d2696146d800cf406594adf868844235ed8c82803c6f3385dbed939bb6f56068709b47e34ed295e40ed92116f4276a5d9a945d64d033b0d9a5414081a5d914649961b3074f431aca235730c831147b997c297882d33037ae76e1fe855c8f33cbb2c125ecfca26e6f26a44936fd121cc8f3789d1683dae03a933b23c75d990bdca7fc5ed4b8ad1ccf9b94ab73a000e5529ba45aa9e6737af035a7045c3bd892ef65d7ae97250b83306ca70cc5d88fc5e226fe801af81894130035b538e6bbc9a80153beb9b53d0933b15b6a4f8cd026fafbae3ce6a56288b2c780325387a198c3a8213f15a94ae4f04c004b723a963417ec39f3713df6bcefe7995030f8e59dc41aeb4532b6271913c218515a5b6294436a926f5ca88b2983e418d5403acb321cf96b1ef401ac6d931586574f4d6009b58dfa8d9ef91e317e9de9d135f05581e03e7e95d617c2b249b9592913d626beea083473d04dc2c6ddff0e6c8b9200c014502540be40003d9fac41b32ef4145a8ef6e33176cbdf901d9541ce22ad7ed13280499c5295a8e05581d0254611ede08fffa551807e6bb6252b4ee316487ea6e73ffab0f5a15e70c184f4777d3cd7b91227905581d02fdeb50c3dafe7db718b831433ebb73b3b9c7b34c5f126394728200db0c1046a54429c649a005581d027cd3538dfbf124d24185e85da8f96ca01d574d709e5a5015ad833fd70c01469b0ab3c7c18002194021039946b0af0477ab89551370783cf52af16851ec8c4fe6e1b2527d281315c1831b0391f24c368be6ad7c27d74d0bcfe20b02f761605ca076d49841901001f036ed240330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e03de37b3bab3bcf93ece0ee69965acd5d4336cb3018d0d5518445114b1a007011bffffffffffffffff03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03c8eb12a6b232b0377c7674cf2510845a527a2904df2a5689b175361f785113db05581e03d799990648d7f383db68d868c80a7c556d0b32aab28dbc02f2b75e1d6007011bffffffffffffffff03ecdc81bf315ce7ee8473403440ba87e7a4d2f7f0187c558c61eab41b5c2e731002192bd803327dd811e89f6f023b8cc3fd1e2421ae36fcd7bde12b6b192c6ad081f83fef85031091c317e0074fc1599c4c5c04fe84590941f7d08ef41d4eb65ee92695456e7e0360374dc2549859cdf310a688f4d9562a36b0bfe86aadee91d2523e6559af678f03442371bc2f8afbe5e52badf07711e9dfd1685d87ede50288dc93f6e5a61b1f99032874b6bc60caaa332e7372fcca8e85b8b12a9ffa9c526524fed98d5932c95008037a18ce9b20e1f51bb153bfd31593a880889581df46f1db8541d07e3dbb138ff003ce3218877364b278ad935ee03914da2c9d1e4c713d3365f0fa297f624e6ded4503e55b50fb430aa8d42b796dcd27521a5c55e944ddebd64903c166019052732134031e613b65fd055f9f1da79b9d047cfd2010d2de2d5e329dc0cdcea73e773850130219ffff030c40d7b1cbb51ce08c2b76343930a897b89b00d4d12cb5abd681b8bf9521937303416648ba27fee4b0117af163fdb0a6959ae93f3914bc5292a63f6449c3d169210367b7c92c88756e13a584c8fc4c4a20db7a39cf2d7c8c2c75a42e2d007a4c99de037d7b984bdc93ce7634eb3acce0216c2310bb6ad07053194318941728f7daef770324c249cc2110dde8f566b568f5328d5eeecb15db20e169b204a15131fc4dceaa03b8bab601563a4a490c5766eda1b7f0c61d1b36fe70f365615e051b997ce0242f03feee35f48c6eca9c2fb671a9dde498c4c10b66bf5f3d1490f275780b4120cf94034b19462d5ef3080a70c6bf880965ff4a8c3a14865aadd654792c4682a26044ad033a62b6bd50be8e661af12af9bb1c5506cdcd4378edf747f6717f89cf53e7ac1d03860ec2117616df46460f0a8e2ceb1217de76c021f6e67216b191030a846c2dbd0219ffff03ae8e1102bca56c7043cf63771eed02ba7a5b69bf01bd4c8b7d30a1ddda9883300345d0d777094587e0120fc6b0df53c4dc624aac73790a3c21dbc478cc7f19ce30035d33e2b9dccda4d8d8f8adeaf670bd58f495179a55e001c5d19976a4e678807503df666c225fcd0c23636621191a489f213a1866469fdd8f814e8450e8a09399a7034baeb57eab5d0f14f230d91d1eff282741b3ff793d6b211d6af72702649a21a50334dbf03fc18dac4c0ad7ca601e8ad8c348bad61dd823b1414b108f93c7b7b98303f85f307f41d766382074ea5858a6489c66059968373385c78b782108854dfd2d0219ffff03a49dd14a5b11b033a28d20a6ad1cc20275445f414131b3b9fbc1ad91888064cc03827de6c70604accbdca5a8a8ac7be7b31ed7e71594a01074337732c8deff675d03c646760cbd8c8da0658cb655598dea95bb2302ca08d1379c5d98b1b6fc42b7d603c9851a34e986ee54504a62ef9740eac83c60be607f12d99030eb345e8eaec8aa0219ffff0338597565ae72e83688c47bd1337bf01c5b203473d642d0fd181c1d3081f62b2403530dc7374d767d8683ffef7f6c7223c7517a2a9738c9ce79753ef370f5913a620382317f25b5d1b2742ba500ae45cf34456ab9ac9b667ceb2b14bc0a6b019f59da03a35f763ed673fffdd7bbf4cd8f4aed0c0abd9f8cc59c80141caf5f96d62de3bc039b4e84de2412766c5b3d3d13a0626b2812297276653b0f74c1c8be4c3d34a3a003bf98c499af75e1f4912389d579afad2e1e221183a26cc334c1cbc1c8095b0985031a60031027d530b97599582c871eb41ee680a500c0a2a11b830823544ef583f103bbc583f2ffbf2f530dd5a11af389862f0fc90c161467bbc91ba91c9722de2e4303a6245bafdb1dadba48f273623891d9b77292746e89ae8fffc79e114765d5e889036023411b39961b884c6ac922313b364a526526b9f4c469e4ade78a3e60f166cd0391dc76d29fa8576c861a46ec2f7fe26607c2012685ac886044a7cf7a8b12f95c039adb98ec65cd438a83dd6037244b8efae5bde90f2773ad4885849991006602c90398c9929c70e5e5cefcc29e19381887635da19f7506cffc26ac04bcdbc76ad24d03a57b59066dd07319533871e37528dc1eb7eba2168e0a92ce085d587e21bb4a8003bdad4b66073659dc321af8e975b190ed64fc683774dd4428dad278272634715703e0bc889623c93419bb4ea7f55d5b2a54910f09d801f09e39d3215ac16acf7f4a032ad470470fc137aae5629b2ae5cedcf38eaaaff76b29d61be11451fecba855ed03bcb273c126d110a7ddac544e13023510d869da7b3324b518cac8b122d149a34d03d840c1653c0f5139266ea2d73940db14ce77026e9405241818210ff490876a7b034413daf5932fdf42dd9a6e2f1c14419c14b6402669012e615b8b8a3af7d347e403f4e5c80f71dece0c1f5d4edcbb3042f7efe5e9afe48ebaf50df2964c0987c7e1036df4d65fcddecbdd13662795c240f98c30eef0a2511d6e5eead5dda0ddf36e6a036c40674499da073fd67b11ef80f468f780e677ff5f1ae1c0f8f29e35b536109c03bf7efaca614fbaea4ea7cad7e161d60c81dc3224ba17884e79b92099e3e3c5e6035bc7eed0c5e83bfdee9629f643a645627a4450f4d5384826856ec5ee04c55bc103e38072ee9a92b2fa73d1b4bcbd44805985642ad854c97c6795d6821cc967663805581e03d55343fc5fab6d01b81ef18f446f652c66d710d0ea741c8093b008f110040103d6b03522e1678d980a9976d40eb6c0fa5586590763d783773ba03431e56f8d510321ea86089d7c2ebaecac08b964c7d1bc827c0ba8d326ff28b31b85383b23d560031e92e9581ee87859f96ef88ea4d5082ccdab419e5ef26c33f53700f07fb0d01a05581e03d364224ce90c4a6dce3994db4df346f3354a310189f5ec1ddb224d07700c0b461d8631955b5805581e03da86574fa4caf05320afab6b6f143e0fb52fb442979c48875071128b8008471550f7dca7000005581e03c73c41accbf6395223dd39eb1b758f9efc22c226e84e6e81ffcd73dec0040305581d02ef3721d1061d62b5ebd7454c1ba919caa6841d89d5c41bff42cf281c0c184c4810313e14ec405280032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034cdc1cd701e7cb71547c017312fddc178bc56e41f88a6f0311719f48cdfda42b05581d02e01894d137b631efa40f8b02e3989af4aeac029a43250adef5e9ee0a07011bffffffffffffffff0219040405581e03cd17e21a1be6fc15900b12c905f810168299af597e85ad6104788d54400c014712f1d19326200005581e03758ba0314c8b697382484b90d35496c699bdc7294fe77ab274c61b54c00c01470265e8af39300005581e0374bb731931c65be4fefc124f88bbaaa5899bee8108da5d22fd919ded1004020219f7da034aa6ba3ff6d0faa0a31f150a20b7b660658780c6eaf1c8fa2b3e3fd53b446f9403ec14df38107fe52fb067ee05681f15fe28788f80d826ae73c8db809f3dbb71f8036454a2cdc6fbf4db4478bde48f9869ee9219daa01aa6838b9046970b9943e8760325dec2715e11cff6f5f84e837b4682fd450542cf658b52cec04f2d05184f3aa303279c0a840663ea4f2af335d01b81e63c534373609d1c7e1ab842db15df598c630312ac8508bab48da31693c4d6a7d335212680269517787cd3439d60ea629f93de03b417f2a4e1526dff9346f9708be4be7aadcee16192b737c2a740c405bdfc74d703a945c4724d706eb8811f4c3796231f4905df1b636b497872c7c6e856f62f4f370394e4433ecad31422c312b4faa71ecea855e17df1185f74fc5b9cc628187cdafd0219ffff03b7efe9be97fa5d6d0198d93847812c4f1fa05bd17f37bbd96e2c5c690d7db24b036db04667a1822f88296fc5e83fb277aa46196946b3e9e6140c23a01d3b17219c03af46caf59f6f24680139dcfa8bea18af711569b870cdcfa09edc8f2c42d9e19c034b7ee32f592298a5befd6676c02b609f623bdd78cf9a1d470af43de3501c1adf03891ce2a7e25722d89e1b7a72986cc5368d08b6c8bb5b747317a590b53907ad63033a33445ce07b4f75fb0aa2b1b91fa235cfbe9f3e87e276938304ee8c39b621c6035b4d0f10047577efe73fb1e0364504b1500de14ff9988b940919175a60fbc92b0219ffff03ea98c6d4d8f49e2130444b5550f88ff03b57b7b0ad42d8622e377c7057e3e7f50317ae60a2d33e0c61c98dc872f74dd28ba25852dc2745542665370b1b6b434b6303d661a25bdf1e6a487c8c7c6acd3b9e76a64737c459fa85c9b93fb3dad0226f6903fce7410a70141799f3f7261dd2c5808946f91da0de2d7694aa0b240ce0d8380303671635c6e949ab06689b9969a967ce55b56898e388efefd31468ffbe4edd42e903a627861ea1efbbcb71eb4932b16b6d59de507cd9216cd20905f20481777073e40219ffff0305d84f632de572eb7722c7709d98911399e2a5ccb9c367b0ad30d47e059f38a70384b6bdbb15aaf33fd9470fd9fdd41e69a9c116178972208ce7f9ba76033e36da03c3779074a1e256ad9b664d15a7a59becb36cc3d6c80791d33d42b5c6a20835d8032d0e42db58ce64389e80923f0b7d54ebef53d705447350f7b48dfb604602893c03acbdda5900067a0a60e7fa068b6fabe75f8eece9f042a1544a49a1e9357199be033dfac37b505daa5cfc88ba2dc808b1e5e5847936a01fe1fe21826dc99e18cca203f550e2ca65391d116750c84d103074186c86457e18bf2805dc3aa7bb1713a4b703fcc676f06bcaf3e290d3ffa3d59fc1eb770c8217ac7733a8f11f206082fc81a603d73d121f810a2aa02c2c30ffcbd3af4fd4f30bb17a7c352f08fdd8577e9c02a7036efc004127f2f363ac49105a3304ad5ec4f98e1476ee60523b89853b38cdb50a0389f4f5f771a7155e199b57f0feaeca443c04bd4cc55418d5b592b8f0f1e6f8f2034ca088e7c0cddb3a27014d247468303ecc6c3e6b8ba475d92b0b6551a05d5bea03e52ee46266b91c62daa3c4c25efc0da6d813c131da5624613682475493fcffa703fe1ff25c340298ced068355ebedda89ad76fa35bd2d3f455672bf511e729a88103e453643c378f943416a00bc5175fc76d3223c4b29f3cbbea367b33a93e2481ae03b0629e25c35162afce12d2a260206fa003fc14eec2a79068fabf4512e5851d5a034c8893ac5fd8c4c4145da00743f35c6f75c1a43bcec74bcf7e1e70810d4f95d6031869368ca28e45a7fcd3e73b34433981dbea11ea7f03ae9d169309c5bbfe73ad03edd90a585dff5977d6d43b29ba9d3df1958c56a6774bf51a2fc7b27dd99bb29303f3181bfc1e2c7030bc97f37c3d8a822d7e709002a3bc1cf5194cc7994b19c0a003fbd9d2987731a2bde2e589eab8d677da6807926fa3915c28bccda8a4f36ff33f03d6ff824af75b41dced7b0ead5ad5772b42b0dfad22696afe3467ea255d838c2d03dc696a3e3c1305d83bf8610c97cae572eb421a4806bc5c4e0dcadaa93e7d8f5b03d00a53a5b70d9167761190cf4d544ad9512a38a3c33919d31f1b90038530bb6a03c24a6172322482f28094c2af2cb35a2a3e15e3d2c7df8ee4e9420687cdd957b105581e039fa2f2361d1ee2f975b406214b542235727ee8c9a104d4d4ea2888cb0008471474b9581b7eb005581e0399b9c5cc547c5d8f32c03bc40107e0db979bbdb625baae9edd661617800c064702672b9a9b558003aaf70b1a592e2f3aab2a0cfa25bf05ba0d1e966f03219340fafe917d0582b02905581e03d40dec6774d26470c4ea6b1d33d663348599dfe6d70140acdaafbbf8800c084740c18d44e6ae0005581e03e04ce427ea4f789db0a038cb859757754c2288706e902c5c918c9e6510040505581e034e522168ce2241083973261104c772119eaaaae16ff81f9f58d03e79d00c0147091cb251accfc603562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03ae736671819dd5cc1fcce01caaa37d1fecd84cd6f534ee00d1d2f81a6007011bffffffffffffffff033a027ef75b2f01775aaab8d32d38eae8ed29eac165b737d759fef3a8ffeb9adb05581d02f8e03eec726fe720a6ab898c8fbece982b6007c132c2f28ac00c29bb0c0c47230b3377862e7205581d028e22e9c9c23111372da009e379a6ebe851d39c127210df0999eb4c740401021909000312d6807d68086ebffc4994eb1167376775c2070796b9b8656d179d39527fcaaa0219ab9f03201f94596b2076338cb5d00d6f11223aa6bcf074ebdd51fdcf14598479874fbd03993bc2969312322592565f83f0889aa50a2a80e0532316af2fd23dd9ba18cb9c030f8145574ca637019cd36b1317e95339330ab9e1875c095bb11b394687bf68150219ffff03d837a6952ae56e6f85cd2acc95ee05de247409902951280cafcc3c77d69d710203c325fc18f06ff3f7547453a7b867394dc01070271525c61eabe40f5056a817f5032914a0eb66f423a4a1cb75dd40bda9b4c38a57a8d39728807cd776f3acf3727c0370ff129a225f28fb9707d6ab8babb3f464077525b00625ca8716fbab9c90d82f034c5d4c630653093bad16ba544acf7b3e731c31130c5e49d9f19b68912a58608e0372bc26d9763f9bcc0e2fc6c4393bef6d615e10add14e33ca4ca8be9d4f0ff7a803846c386a9cf0dd41002a72726c0dc4f9b0334aff43f3457f4eabed6b12ce7d420375bd83baa82f7b7ea92795804d426eaa62e903aab2a4f13a2ac5a8ce233781c9031b2c3620c3fdba3fd3432507a7946cbba0e58f0f83b5eaedf7465de9c49197520306a4673f36f281f4a5d6197230a7c3e61b4f1cd79f5c0ee26522e15dabbff9b7030075c0eb02f0d3f423ebf7368369d3b5c750afc49cc0cdc79ae7c86a3c086b8203b54f65f0ab814be1d4e4b3d530f87a792a58a0bbae1869cf998b857fd0c008cd0219ffff03947aa363dd3a85b9b135fac3ddaa2be24ec2372464d8967e106ce7478c2faa3403cecbe0defa9e5ce096c7c7005c9f17eac058db561b554f01c3269461d9ba2557032fcf16424c4a2f3b74ed6edd87828438bfe5d4145d66697f80591e26a597c6c803a9f1d0d6a6ce761e4a0451e262040646cbe3723b995617b2ca25375665aef7dd031382f5c654b0a9a8fcdefefd8bce3300fe51e74f7bbb8e9d37a6c3b490e4f89e037954d6415609fa0160fdabd65d0a8177d0b847d9369e4a0d6699eae0974375a30392d45df9324aa018da705ea7da7d9c5b786c4f68dee0368af6338db3f668cdc9037c6062e40b4abfd35e57074897fd24279eeab2106590be0510ef418a4b1dde0703a0e40a0dd592098c230e26aa90dfd79475ddee88f6d9df21bbac6aa9a0389f1b0219ffff0345be3215856a33b98ef85c50c46d91eb9f105d108a1445d35732376a5b05a02103f9ffeb835edaf82ae9d68187b65ec3a1cdc12a18fcdd49d984d1d575daac6a3e03cd3ac8e4daf01b3b1df744192c2a5f7e5ee6a83a5ee884aa639df6d3042e3ac103f9c88f9d888abba22c013c3fd458e16b2da98e2b107733b0f8fae61fc6393458034ab9307a5ecaa808f8b32de66ab03c29465f45c4e0d711a6e1664ec0caacfbc103e0fa8f83de47e3ffe2ae027b7400c4f824112d7d643f460d9f1a680bd5b7242003c3d0e7535e7356bfc22818ce7596f8a7b264159f6b9131f3a976ad117f5f99400387d0970241caf4e15d4bd2cae10badbdb4339f642225dd4e67aee68c4d4c09b6039beae0d8cf9535549da65e13480f6dadd418352ed602702a132077e78af9bcc003a03ebaa9b4e2fa9902835f8c2271584dd70e79f112905ab254f19d333bb56b6b0391ab93254043b7a875c41b7b962c2806adc2d43f7efdb111e85be29e282a82ee0392e98b9ab16b72a23c9e072fcb37fe608afe09af4083aafb4527ce5edcd6fbd0036810f18e2cedf62f5f457139e8e258244cb0d30210dfd2ebedf65f9004684faa0362368635f492806e9e5f64f969f9a021710a0796e06a3f9a0d9f7f13e4ab877a03cfed8e82a0627b9e8be94481e946c9b9fcf40532c743778cbfc4948599ca39ba0386dc6635e908d11b0c6d22992b4b05fe32ac432e917dbf8ff3d02989620aa9d003bb2c3bb653fc26a480cba720fe2a36523a0517fc71c81dae4edb9f854f3f6ef103fa3a913beb979dc7464bd268e1594a978108a6351ab27d274f424a43020ed8f40341e111581693f054c01519e082519298275f5330d0991456a3a8372f4728bcff0359041aba9341089df8935ae29b2927e39603f80bab2ed3fe588fac39300aaffb03968166901376900b1ecab1c9cfc94142dbedf864dfed3d3825b04c0a479ae0d70304cab57ac65fee1158a79a9ed1814ba6ab70bdc5200389aecc798a50165ffad503ddec1796c5584c7675852994cb655d874429cd66a7ca769770041834e277a26a030af8fd2898dca063dfc631146f6d0479da369d8f347c2c32439ec0576f470ee6038febd58317f0d6fbf48d0a2fb3c9b7ad8621dccee59736f930cda348211e6cd3035cc4a56aa41589c6185618a9fe9a3b08734b34438c1a3160bbaef16447654f2903960486fea562f6f647e1c02fa516f07f452dec166aa32870c8aab832aec38a9f03ec886081110fb52fa8abe340ff22684fd9746f6e9662f70108e8ef7ccad943e803b37803b1dab4f5d63fab6ac7acc1e69f0b49ba5f82d5257b7d5e153b0c161890030f8e28292e5f2efab29d9f07fbe43e88a42d2908bea1456de981a5088c24b0d203a34bbd7f69f2979bb943df6a825dfb831e3cb3f99228ce76c505cef423d2d806036716650eaf1a506b5f07f7e50bbec8cea2345fb641d3fc5728f4897948fc668603ead6bb203c31f3adfb93c4c7c2cbe59a9a36de3967e8d6cc1e7bf2c676c5e9ca03487849033cdd5a695221434487a9d4e122fb5eb953bfd4217c9678f78f39ab70032b903391222912dd747539c58c745090fd1d9e19e6abf4c849ded053f3e69e720347b91ac565a817c79693869079c4ff89033471ed7ebbfda5a830074cc15bbd3905581e03f7a9f7526ec401d758aa7af74ac0b61872981236e8940a4e846dbda7e0040203f828a686d95ef91a9ca912d877bc05f03c77eee8e72e5723f68a677853ae00f904591636608060405234801561001057600080fd5b50600436106101735760003560e01c80638da5cb5b116100de578063c94864e111610097578063e172d3a111610071578063e172d3a114610323578063f2fde38b14610336578063f7013ef614610349578063fd0ad31e1461035c57600080fd5b8063c94864e1146102ea578063d5ad4a97146102fd578063d7704bae1461031057600080fd5b80638da5cb5b1461028457806391652461146102955780639b159782146102a8578063a85006ca146102bb578063ae453cd5146102c4578063bdc6f0a0146102d757600080fd5b80635d62a8dd116101305780635d62a8dd146102275780635e45da231461023a57806370cee67f14610243578063715018a6146102565780637d82191a1461025e578063897630dd1461027157600080fd5b806329aa604b146101785780633cb747bf1461019e5780633e6dada1146101c95780633e83496c146101ec57806355f613ce146101ff5780635ad9945a14610214575b600080fd5b61018b61018636600461116d565b610364565b6040519081526020015b60405180910390f35b6065546101b1906001600160a01b031681565b6040516001600160a01b039091168152602001610195565b6101dc6101d736600461116d565b610385565b6040519015158152602001610195565b6067546101b1906001600160a01b031681565b61021261020d366004611186565b6103cf565b005b61018b610222366004611212565b610573565b6068546101b1906001600160a01b031681565b61018b606b5481565b610212610251366004611294565b610768565b6102126107c2565b6101dc61026c36600461116d565b6107d6565b6066546101b1906001600160a01b031681565b6033546001600160a01b03166101b1565b6102126102a336600461116d565b61080c565b6102126102b63660046112af565b6109b6565b61018b606a5481565b61018b6102d236600461116d565b610a56565b6102126102e5366004611309565b610a7d565b6102126102f8366004611294565b610b88565b61021261030b36600461116d565b610be2565b61018b61031e36600461116d565b610c2f565b61018b610331366004611397565b610cbd565b610212610344366004611294565b610d06565b610212610357366004611448565b610d7f565b60695461018b565b6069818154811061037457600080fd5b600091825260209091200154905081565b600881901c6000908152606d6020526040812054600160ff84161b16151580156103c95750600882901c6000908152606c6020526040902054600160ff84161b1615155b92915050565b6066546001600160a01b0316336001600160a01b0316146104375760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792063616c6c61626c6520627920746865205363726f6c6c436861696e60448201526064015b60405180910390fd5b6101008211156104815760405162461bcd60e51b8152602060048201526015602482015274706f7020746f6f206d616e79206d6573736167657360581b604482015260640161042e565b82606a54146104c95760405162461bcd60e51b81526020600482015260146024820152730e6e8c2e4e840d2dcc8caf040dad2e6dac2e8c6d60631b604482015260640161042e565b600883901c6000818152606d6020526040902080546001851b6000190193841660ff871681811b90921790925590929190610100818601111561052457600182016000908152606d6020526040902061010082900385901c90555b505050818301606a5560408051848152602081018490529081018290527fc77f792f838ae38399ac31acc3348389aeb110ce7bedf3cfdbdd5e66792679709060600160405180910390a1505050565b6000607e8161061f565b60008161058c57506001919050565b5b81156105a25760089190911c9060010161058d565b919050565b8060808310600181146105df576105bd8461057d565b60808101835360018301925084816020036008021b8352808301925050610600565b84841516600181146105f3578483536105f8565b608083535b506001820191505b509392505050565b806094815360609290921b60018301525060150190565b6005604051018061063260018c836105a7565b9050610640600189836105a7565b905061064c8982610608565b905061065a60018b836105a7565b905060018614600181146106c25760388710600181146106a75761067d8861057d565b8060b701845360018401935088816020036008021b845280840193505087898437918701916106bc565b87608001835360018301925087898437918701915b506106d5565b6106d26000893560001a846105a7565b91505b506106e08c82610608565b90508181036000806038831060018114610714576106fd8461057d565b60f78101600882021b85179350600101915061071f565b8360c0019250600191505b5086816008021b821791506001810190508060080292508451831c8284610100031b17915080850394505080845250508181038220925050508092505050979650505050505050565b610770610ee3565b606880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f9ed5ec28f252b3e7f62f1ace8e54c5ebabf4c61cc2a7c33a806365b2ff7ecc5e90600090a35050565b6107ca610ee3565b6107d46000610f3d565b565b6000606a5482106107e957506000919050565b600882901c6000908152606d6020526040902054600160ff84161b1615156103c9565b6065546001600160a01b0316336001600160a01b03161461083f5760405162461bcd60e51b815260040161042e906114a4565b606a5481106108905760405162461bcd60e51b815260206004820152601b60248201527f63616e6e6f742064726f702070656e64696e67206d6573736167650000000000604482015260640161042e565b600881901c6000908152606d6020526040902054600160ff83161b166108f85760405162461bcd60e51b815260206004820152601860248201527f64726f70206e6f6e2d736b6970706564206d6573736167650000000000000000604482015260640161042e565b600881901c6000908152606c6020526040902054600160ff83161b16156109615760405162461bcd60e51b815260206004820152601760248201527f6d65737361676520616c72656164792064726f70706564000000000000000000604482015260640161042e565b600881901c6000908152606c602052604090208054600160ff84161b1790556040518181527f43a375005206d20a83abc71722cba68c24434a8dc1f583775be7c3fde0396cbf9060200160405180910390a150565b6065546001600160a01b0316336001600160a01b0316146109e95760405162461bcd60e51b815260040161042e906114a4565b610a298383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f8f92505050565b3373111100000000000000000000000000000000111101610a4f8186600087878761106d565b5050505050565b600060698281548110610a6b57610a6b6114ea565b90600052602060002001549050919050565b6067546001600160a01b0316336001600160a01b031614610aef5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c792063616c6c61626c652062792074686520456e666f7263656454784760448201526561746577617960d01b606482015260840161042e565b6001600160a01b0386163b15610b325760405162461bcd60e51b81526020600482015260086024820152676f6e6c7920454f4160c01b604482015260640161042e565b610b728383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f8f92505050565b610b8086868686868661106d565b505050505050565b610b90610ee3565b606780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f5fd1d27c789fb50eafa108fba89345986a66d9d0aba85d48adee09f5e3307bbd90600090a35050565b610bea610ee3565b606b80549082905560408051828152602081018490527fa030881e03ff723954dd0d35500564afab9603555d09d4456a32436f2b2373c5910160405180910390a15050565b6068546000906001600160a01b031680610c4c5750600092915050565b604051636bb825d760e11b8152600481018490526001600160a01b0382169063d7704bae906024015b602060405180830381865afa158015610c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb69190611500565b9392505050565b6068546000906001600160a01b031680610cda5750600092915050565b60405163e172d3a160e01b81526001600160a01b0382169063e172d3a190610c75908690600401611519565b610d0e610ee3565b6001600160a01b038116610d735760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161042e565b610d7c81610f3d565b50565b600054610100900460ff1615808015610d9f5750600054600160ff909116105b80610db95750303b158015610db9575060005460ff166001145b610e1c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161042e565b6000805460ff191660011790558015610e3f576000805461ff0019166101001790555b610e47611113565b606580546001600160a01b038089166001600160a01b03199283161790925560668054888416908316179055606780548784169083161790556068805492861692909116919091179055606b8290558015610b80576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6033546001600160a01b031633146107d45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161042e565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606b54821115610fef5760405162461bcd60e51b815260206004820152602560248201527f476173206c696d6974206d757374206e6f7420657863656564206d6178476173604482015264131a5b5a5d60da1b606482015260840161042e565b6000610ffa82610cbd565b9050808310156110685760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420676173206c696d69742c206d7573742062652060448201527261626f766520696e7472696e7369632067617360681b606482015260840161042e565b505050565b60695460006110818883888a898989610573565b606980546001810182556000919091527f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308018190556040519091506001600160a01b0380891691908a16907f69cfcb8e6d4192b8aba9902243912587f37e550d75c1fa801491fce26717f37e90611101908a9087908b908b908b90611567565b60405180910390a35050505050505050565b600054610100900460ff1661113a5760405162461bcd60e51b815260040161042e906115b5565b6107d4600054610100900460ff166111645760405162461bcd60e51b815260040161042e906115b5565b6107d433610f3d565b60006020828403121561117f57600080fd5b5035919050565b60008060006060848603121561119b57600080fd5b505081359360208301359350604090920135919050565b80356001600160a01b03811681146105a257600080fd5b60008083601f8401126111db57600080fd5b50813567ffffffffffffffff8111156111f357600080fd5b60208301915083602082850101111561120b57600080fd5b9250929050565b600080600080600080600060c0888a03121561122d57600080fd5b611236886111b2565b96506020880135955060408801359450611252606089016111b2565b93506080880135925060a088013567ffffffffffffffff81111561127557600080fd5b6112818a828b016111c9565b989b979a50959850939692959293505050565b6000602082840312156112a657600080fd5b610cb6826111b2565b600080600080606085870312156112c557600080fd5b6112ce856111b2565b935060208501359250604085013567ffffffffffffffff8111156112f157600080fd5b6112fd878288016111c9565b95989497509550505050565b60008060008060008060a0878903121561132257600080fd5b61132b876111b2565b9550611339602088016111b2565b94506040870135935060608701359250608087013567ffffffffffffffff81111561136357600080fd5b61136f89828a016111c9565b979a9699509497509295939492505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156113a957600080fd5b813567ffffffffffffffff808211156113c157600080fd5b818401915084601f8301126113d557600080fd5b8135818111156113e7576113e7611381565b604051601f8201601f19908116603f0116810190838211818310171561140f5761140f611381565b8160405282815287602084870101111561142857600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080600080600060a0868803121561146057600080fd5b611469866111b2565b9450611477602087016111b2565b9350611485604087016111b2565b9250611493606087016111b2565b949793965091946080013592915050565b60208082526026908201527f4f6e6c792063616c6c61626c6520627920746865204c315363726f6c6c4d657360408201526539b2b733b2b960d11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561151257600080fd5b5051919050565b600060208083528351808285015260005b818110156115465785810183015185820160400152820161152a565b506000604082860101526040601f19601f8301168501019250505092915050565b85815267ffffffffffffffff8516602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212208bc4fb6526528c613d5db8c4d517afddaa3542d770ffb4696484d5e101b2ea3764736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e03527d0c703d5276fde68fbb11e5397a98bae90b5e8c7cbe9ec97af745e0070119163605581e039eb1d42d1a793058e7384131da0962674f2cfb52ab39920981d097b6d0040105581e03b9fe99953b518057e90d14bf071646cade65d05b33ac1d43afc491a9e0040303b630a3741c0b20c025eaf456653ed67f6fc78639d0d6fcaf99bc9a09b1f1b47505581e038ee075f6e013116566a62484ad4a3c27aa62ae2e4b9808003e001a41b00c04467f4336d871f8021938fc0374dff6f9d012371072682b29117548a4ecf683b54c2ec8fdfb4e8d27e345bd0f0219ffff035852a025cec02b030285ba352f5c1bd13e1437c28a2fe7ff524f00fbe4ffcd7c038e790f502ef148a50da44858359b74246d22cc9bed8e86ab88711bc0ac87fb0b033331478f1644d4f29d534f75d5dbd79baea7b15b323d7d2e7d3dd676b2acb32a0382fffc45307af48140655e5ad8f1e745e1a7446d8747c0fc4b37368ed90e68500349651fcfd9011a506cf6a4bacffb281cff29e20d3171e51efff03ba873453d5d0219ffff038645b84c9b60f93c427dcf3c5c1293a2b8c98fd2b5338485bb09f1264334c9fb032cb80136a9f9daaafca741c026f791b96171cf8b56c1d3c5e23d6617ef17f18703e963e44d2f69a93a58e3dbd98b22564810e72449e39412da698c100515f475e4035c643df3b4e57b03d53a6d621c2f1cf8a5e8839e92fdec289bf004dca83eb727038897b9d71d9d5d91c28058c5bd8d1e84c6c291ba37e0670f38ecfd39132c8a5a03984b57634326b449495d07ce5833ede071c9fdf99a023d48c33e29e7583ec6a603bb563c4d71561e32ffc70e2f6fa37ff5b76bac79c4995e225b488d69859abf2a0303c527304b8d7f9c059a8279bf031d3698cbe050164eef6500ee59aaa45de39a03c3a5578c1e1144e5c9b7a09f7556dc9f5042c93311d9d003fbcad36e173a13ba037a67e741acdb0d1e00dfbd068a0d8c5ff81ce3c057d1ce1f4ba2b766e0db9f6803c67ed5ff257f81ef9eb121817da4c192d29445081389d8434da0e45847fff8700349be4010402a830a6ac284c1b557262c22fad209cdf975cba00cd79fcc458bd603f7a5228c5f0aadc4e529c777474c2c1e1ec548aa7987c6875583087268152fd20323cc982d1e512e555c1e57c84e3094594c2426b8c2388e57e8b4ef428ca9b981035e5bb4eb4386c73884e93b63d3ee40107da9a17c0416796dbae2a9f29e3a384203f63bf210c83f233835104fd1ea3a4fba4c5b393d9fe3d2c204ada08b930a90890354be9918fc0e7982dd21973f0e24d37746337baf763e12c18600137b3379de17038a35548591488b760c8cf483b975500866c541381a532a6fd8eacdc20d2d0ab4034687aa87b9d18a8c872c99991c8319880d21ee0911ab43a541c6ac65be89172c03bda55f00e87dd2b6eb2e30d65522e637e86baaf64b529a2b4a4c5254631714e2032a5fc0a26e8e21c5081e1d6628b9a498b64ddb32399ec7627eac432e3858c2ff037cf254b9f20abb1357f803c8741b9a9ad16b86c09b1855727ac11709099f7f8103e5fe69c3c3ae0c8ce01d584d4b81f432377741bf0dc3fe1e93d08dc9d8e9a20305581e03e69654aa4143a1f2e1dd3b1eb9236dea19a6024a9d71c457e8f09a19a00c144705c390341436020359ab5e917a92351f2b650f377c59588c4aed5d79850dfe6564be3f4b07975aee05581e030914e12ebf2f8f13695a7cdb17228cc3f935f31e4ed1a662bb44050680040405581d0332dafca5ea13aa62d260acf7a9e49b4ec15eb0154ee96f48553ceb800c1046a011811697eb04590ab360806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b61009036600461091f565b610135565b61006b6100a336600461093a565b610196565b3480156100b457600080fd5b506100bd610221565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b61010136600461091f565b610276565b34801561011257600080fd5b506100bd6102ba565b610123610347565b61013361012e610435565b61043f565b565b61013d610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816040518060200160405280600081525060006104a3565b50565b61018b61011b565b61019e610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610219576102148383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506104a3915050565b505050565b61021461011b565b600061022b610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b57610266610435565b905090565b61027361011b565b90565b61027e610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816104ce565b60006102c4610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b57610266610463565b60606103248383604051806060016040528060278152602001610a576027913961052f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b61034f610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b6000610266610657565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6104ac8361067f565b6000825111806104b95750805b15610214576104c883836102ff565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104f7610463565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161018b816106cc565b606073ffffffffffffffffffffffffffffffffffffffff84163b6105d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e74726163740000000000000000000000000000000000000000000000000000606482015260840161042c565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516105fd91906109e9565b600060405180830381855af49150503d8060008114610638576040519150601f19603f3d011682016040523d82523d6000602084013e61063d565b606091505b509150915061064d8282866107d8565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610487565b6106888161082b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff811661076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161042c565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b606083156107e7575081610324565b8251156107f75782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042c9190610a05565b73ffffffffffffffffffffffffffffffffffffffff81163b6108cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161042c565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610792565b803573ffffffffffffffffffffffffffffffffffffffff8116811461091a57600080fd5b919050565b60006020828403121561093157600080fd5b610324826108f6565b60008060006040848603121561094f57600080fd5b610958846108f6565b9250602084013567ffffffffffffffff8082111561097557600080fd5b818601915086601f83011261098957600080fd5b81358181111561099857600080fd5b8760208285010111156109aa57600080fd5b6020830194508093505050509250925092565b60005b838110156109d85781810151838201526020016109c0565b838111156104c85750506000910152565b600082516109fb8184602087016109bd565b9190910192915050565b6020815260008251806020840152610a248160408501602087016109bd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b29caa54336b3ee836679675e9732ec5e526fb3f803cca2fe336cc3555aba62264736f6c634300080a003303a25e44a66a15397e665b587270ca01ec72a862a0222497cee0a113dab7ebbda203aaac360a29ea2b11779b6ff2d9fd88216ba830df9a3bef6c9344b37ac6e31d4903bc986be73f55a4209d840ca2c1e5d91ea30273ebca3df896b30e5113d26a866003039a5cb4cd9b0b00d5deefe81201adaccf8c07a6d20caa58647a4e15828ba0a703873bdb40062a15de4ef252b7e647fcd0e2cdf28671a93ea5dc11d39b8de5b57503a7e07935a3abb966944fd4967a0d7f3ce37b035cca9c2601a9c2d2ced93ecc10038dd4d09b499311084e74673292e9f625971ec90a19c17bc38851d2fc0a0c00c503af605ee439c340e6a8fe8fb107ce1463139414b8a0b3fa9337e46da8487b2b71038bd4adeef2427adc086689adfd65688e730715fcdb7fcfc81d29c79142cd45ea00582003760cc0913d18e63c04a35a1c3ddc0a1afc1826e0d5f692fced593ac21567c04801661b9943c0d294031dba1c5f8038a84f8757c868922f5ca36370484bf2149bedf695eee3ea71fc6503b80f6e3bc1220ce47edebd65defccdefd021d07f2b00568780754ab28e44e606039379879a3f99995fcbbef0134c359c044d06ef4e5b540b287b76f505aa04250003b552c9adbeb13282b3d21d15f5c6583987d0313e95969b3cb25c03ccd176209703aa9402fb6d9a186ca68f08355e97d993fd51047517bafb007abdcd3c4fe2fb9c03c102b479776e1be4df9cea02e8d96e3c7f71622e85badd2bccb4a358f3e3c1a9037ede6e9e59de887f430165ab4f7455ac074fed9e785506957d89b0bfcf1aba03030df36ec24b5101eebea296028f3abb5ab9e924f3f809a21acdb1a1b8f688dd4900581f024cd68dd12a2967f940f917784e447e49a7e1153cc9f0ce95c01c5706f16c48027dcc39835692fc00581f022d379b818cae0655ed86a9c595add8c6e49df2c806229824806c8e106d3d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039e126ec2d920ffc562d61e030d1a03f86922e2e185566de43349068d9d4fcf6900581f02f013d52ffe5e3b1c6c384aeabea6cff3b9b88cb8d9d846a928c064d00fa04802d600485590b1b200581f02a7214ca8001aa2675022017cb76143f22f001d641510d2ad3b9dc8c42b364746ff43f1e47deb00581f025fd777ff67e3309158c51f603932e7dbb76318bec5c6afabac56228afb6b480153f598df9e10850219a17003ab8ef0875099bbe44a8658f16e2a7786b0195438e02bcf7c7c35044382c4f42a034817a1471d9960b6e96db74820ae1341c69fa842617c5ee4954f3f9680b9bfd803d329a943cf4b4a52a6d7cd6c94221ac78c33a57f67d7cbf4817a5f1994236ae5034e3eb6828affa78111b84f5111ffb8319474e872d75026bcaba2a2a5a9fa4dff03f8fc145c8cd635a2296e932cbbbb7de37ec32de9a7a22ffaeb46dcc81deee7a90219ffff033c1594b906b6361828f6cca0770bee8d63562f97d7f751eebbc58c3c1d7d425e034e0b8c8d4df18642508f3733263c53cde5b7e77e111fe92f2de9bd0e54a860510328f6b25e61707e9f3203917b0fe7d5f54f02ad0b64218d8b9a6290eca42e0f7603e8d7f95995e14b839863ce808933894593a7fee66ef43fd3ec10622dcb709a340366276f298e7d7ca80eca42fd96430454d183af55424b6c025e8fb72c63df35740361c63169c12946891cd8f3a68ec8270d41ca36de1335302a1b8a018f2b9129c6032dc8be99a8cd9aa7248be844ba96549f79b933caa2780fd91ad44a0ecd9e51380219ffff030a985cf3d95771826b2c41982b419670d6332d698384694a2459cdee21e3b3c9033edf4bf80e0df4af74c6d74e83c35084c1e128dfb757f2b9cedee3d4eaf3487503746efdc7ecf399efd585f73f8613c802e25f5c41aa3d591359d98009aaa2239203d76e80233007949f80d53e4f8c009d5510b69939ff0eec55d74b6bf6d93a6b59034d33929546976978c7c8158fed16625e142788a1104e4e8e4827136c724b361b0372290074de5c11d266b426f24ac0724083338a37d9181ebfd1f30679f01394da03f489f66b1b8f25794ee5321758b87478c02f154d38da97e69d6f139ef44599280345442cb82941ceac0cef8ee975c659fd5dc7c940cd75686e29e5936219f9716c03907692c4886fbe4da7b34c4c8ee3f6367890d9d2bf6b025f0fd05fed461499d103a84d1243d53777225b1315ad96f4696406cf0f466e5a78773355d762effae20c036fd2191cd030177b737ee36426da623ac819969c158ea5714543fb7e27dd8fe6033bf04a1c2d8164c06ac9d0019f88e88ae6d9c3dbc4597404faa3c6f459a353e9033faf1784e5f320964aa91aec1482f4501b2b8d756ca13f1811562e3956e6e8d00058200368a3c52848131aa629db82acedf7a8e93bc30b654c299a010f3293f44ecfb0480dfb0d99df87e30d039f1ca9f2f4f6e2ab2841fbf6fe7887927492466dd000cdc8c4495ad3c422acd6031de9cceef3ba3a0ebebd0febc2322e24e6cc3d8436a89cacedb6b3b8e8626be60354cb6402cdc088d2e093e811bf50a3861c65c14be84dfaf437727c6c5ef7aa950311733fdc474ce846182fc3094dfc4884e6e5ea240b55ff7b7e731cc9d7c23b120318f670579f532f8a972b641a0255a3f79202882640d6b2d0d073facc24a886be00581f0297eb88b32acfbfb9c7b5a7cca52c157ca4b07bbfeb416da3eff07db59035490959419e6312a06a7f00581f02a4f0ab3c2ae5f387980caf9e2e1fad53e3a4d287f637922951687d2f7036480d24d379dd26a16000581f020f5ccbc4ae855ad3d091570f5c752704030965281d379d5228a592d58a4f474de9494121c06f00581f02c2ac5ee6cd5075a1d13e167ed34f4195466c4b8db9792dd87aad24bda80c4801858afaad48bcbf00581f029404c86ed0e383fc1f541da8ce0544ec393d03689fc6573f9aa48c2433e447cdb01b9a08a603021901d1039d74f9d6a17b9d08b4b8b762c224d9a1e13f242642220698677ab425178c1d4a0328a0362774e7ae3b2202ad95c4948b65ff5ee648ac522aaea9d75564fc5489ba03c782690e3c04c3f1430cfabe0be87317501c4efe657d2a08c2368983da1586ba0219ffff03247def69ddb09b8cdf8c93b3ee38b312a9903d79570084cbed905599a6490c3d031009ccc2b9d24471dcd76c3803c9e575f0f4a3d345dedf4e383f25f204a12b6a0353ffda8879ae3519077b8fc3f84e49c936038eb1fe1fa2dd8d2e048ad43949a9035fcc6d56653f63a5cd42fda6b55b27a6538d5fade05970d3f2319164d5bca20003082e28bbbd6a9df8a3b221c96b7deb5384b82e4a2a6cd0ee696b05a083c29f0603a5e88cace218a28fa89598c7691ee506b4437776567f5ff9b346b61a54fadc130326721f8c9df3839f9c1c8f5f74df57effe5d091a114c1b705a06c6e5ba7ea97d03018a711e5058ea1914f93f9a21c23fa5a3b630ed58c3c71715570a4d7b55631a03511e3c366d3ec406561f8e0f7d9c501564b7a63384b233081b78b5d28ac802060219ffff03840b8801ef049ded9aeed37ca6365345b7ebe6c862f8f1b5e54b73494b8706e7030e588530638104ec58254d1e6b65c9af2d992c344aedffb6b45b0d65ebc2d4b903dfc3567b8649bee39f67b8e99fd2198ca39ae53940b14a8f119c070c57beb98a03c359a377500826249bb9846ebbcc6768b0e4820ab968f8418830ca01df0b7bc103f28ba393f9593f26ce05f1229d1d94e7f5f1668141125004db2e940597d13b1b03a0bceaec46c783a52e1b7d73e94a7c5beec3b0e8402a5cb6dd5e47be55b73e4b037a5001b0cd14303e63e43212682b490b7697d63c3167b86bb4c7c3a0d3e64c5c03a7286fbf102a787b1c67155d816a812568da2480e01e8c820f80b99f4bf9a0c9032761c0b1b1e4266d96804af60a6800494b9aa7a1e4b777e6de4343af640b3e2e03c0dfb32c6f98fd2d85f67f022dacd14226af96fa03d0f353227885f45d7277a803ccd184823c9826450183c1c1fa0812c3e97529448c2f47348315da7e576f37c503a0ba990c0ca6b2109c81cb61cab831ad2e554663d4e06a4d88824842935851ed03ebfce655d78b422489621f6ebe8fd50ea842c8fe43ea06c460212b31e97327f303235e6bf932414ffea0e6980e9842b5a60235c0309c85c0a2a4e5656a7ab3efde03abaaf9e4cda6789ab33d56dbf92b5cd55286aa943b96f7de323538784b43bcb703e544184d05c7dd255b6c69ecd5b38b3e4bada8f0fa87944481aef7c6f89e6b87036fcf7b8e03e419cb3c1c75a0048dcb4aef93b725cb5bf8897364952f184154b703b98403658323723d62dae1399b4a6cd3805c9cd545e3ef1ca6e390220170708b00581f02aa7d96362913a79d8cce020d29c6a9b0e386e4e5ef001b14763a6f9c8328480185fe981ac7e38200581f0206b5831c853dc3fc41c22ae505dae334f50f3cc0a8614bece98cfb7e34f548016653a8b4e6818e00581f0205bcfdf7f53ed5bbb0e6463f2d24bfbcf0ae9bdcfb156f9cacb89eb51a26480378e1a64d314fb300581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48105491625601e2bbbeb7171c40c79fadbcfbff6a198200581f03f097263290ec937091be143d8b8ca6977d91b1cc648f6bece46c46132ba048aa72a6cb8ad5f171021980010219b114005820034a8419871214dab331839d2ab8fc67e71a46dc276f8b64246b4a9ac651daf0480dd79748f93f2d0a03339d738e0d48edb722b1412652ef4281409c65a9d1a235f774f5b37feeb8d64d0219fff703678163b0231f6e290fb14d25b1a6c639b1c30ec00c5e4623f6cd8d2923fd0d28037da9f1605b3ec8141590aaae7d34b6ecd5fb656d273d665ce5590c6e395e1c3d03f11d5a09ca1cdf622b952854ae3cd498875a903308cbfad647f0ed758d14423203a1fbca0370baa4a3fa417f4cd32c9f586bcc7b6331b8ed8031e41ba5e5c2c60303e80ac2e1d4a03c6354cb56b755c3c2a208edafc6ba34fc3e6b335001aea6a74b03eb502674326867cfd70ae0fd2ce2afc351d8ab0bf4f48c5df0ed845d13fccb320355b91e5721b3ced95be9f975171bea52b59b36b014ffe3f6a6f23d467ec0083a03254a0c8e16606d7278fa201350a08fa824abc922bab40c05030ff88be7bb44660374cb2c39d986b39fdc0ad4d626ada33564f537c6045ac6033e34972e4326bcb103cfd25521cda4f6ca9fddbf008ef434331fabf76e0b6ad4b1bf6cf59549eaf5ce030ced843c50dd35ddca2895fecd6439de9cfb47761efc9d5f992011e8a9e3e5ac0362c7e6745d1ecbd80246631b29f30de1fa395a7e614612d25e438b8323c9437b031814a2b5a2c4fead88810589ffae8c315b00cd78d214a0b91b04477a845b0edc0219ffff0378d6268931d8ad3136eee76b45820f1b36ed3d13300526a17d0e7e65793d6fca0314c254494553bb5454643f103c4c2a049af8b3d08c2731705acf55f4728dcc0003dab9a8fa15bc44a1ff524fe91c71c7662d5f5d58b367561a28141248d793429d034e1bf1c372d4a0d8d294fd9a6432b49a4571d39c7369046a08aba9b06089085503300c33a8393190193df29e7aa37807557ef107c07dd669da8e40ea3c75d4449a03ff3967e3a79b89ec8ea141f38dc0e0dec1967b8a44b538f70e6f5fdbf6a271e1039897406e2c5df4953e29550ddee91d8385d532ddae6e0cd273062006f70ada9203b4aa385564f2db6c4bc00ce4604f6caa9d0c5a4027b0b29426cef8a7268711630381893a5045c24328f8f9425216f4bdb759a7a0bc0cf82016a0bb0ceee81dfc4303e48d7bf894aff98444fb2aa02229bf48d46693d24d8b158ad451826444c59e8f0351d569a1ddff79d7978ee14d5985023d0a6ec621c68d8459f5a69ffd36634a660058200336d0c040fa8054acf0fd1c26f58675341acd0a83b0da171a7a2b502e3e3b60480162911964cbf17203119dd7f21168de7f1487679b78baa68a4b81097e9a83e19a4e28c4c1e02aabb40311c34a25606bf617bec78e5d638701198f7d8addcd4b2c6ed2cdd653ad4cccc603f9997e76a576c1f5113ae6ce44d6da1e61995b78b299a2cbde204dbbb7bb02960319b448970014f368afce2c93ef42f345ad4ea22f50947271ea8493f15c5df36a03f7ca1d0ce774bbcb702c00da862e6de6d596562d686d38f35f9fb5bfe3e1bcff00581f0290c729ebffeae95b79f6f3edad844ad5cc2669a7d7efa330ceff413897be48070f4935c9d8dbd600581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d541e756b7bcca7b26fb9d85344b3525f5559bbacb000581f021c78ac4fa9807908cf6aa79ba950026d057e771b13f6e9975d65718966a4480dd7abf42d3aeecf021885039c64dc74900ded37db1516c53ae4e9fb8046ca0127c8974edf5ff0a2dbd74586038f37ab84d9a6342e177dcb09f0aa0ccdba992fe7ce41dbc71b60b25da171f07503e60e6d1ce852eb2a2ffc13691997c449c69b3b48a7a8e808cb4542eceba81c9c037614f454dfb1c3ae649725067e9aaae79d109a0ed05b2046f2d90b62f98148820219ffff03f167af463d1a0c377e729818ff4e9a4fb0fa9543019b35f5c59174e413cb371c0330b459add7d49bf6227c047598b1229f563cdf678301ee291c7076784ba1a74b033b9a2ef0252489b8bebf95df3356d7fd4450f439341912ce83856dc0790cb6b9039b9132f44d836c395875d429b70a68fae140573771d7ead58de274895861e72f036347458c50f288a1073a39d2d85490df1ac2ee8f44ca91d527c7aa440d28138e03b0be799c6354ef9ee642f28c9d17af368f188972df8f10dc213e3389e83366c603158391458531841b039302a2b362d8e6f56b90a0e166eb9909839bfe4361e974031db377eb4837906b7b7b7dd7ab1b66f79a640f9223bf43883dd55f6fd6b21605034da3ff6c136b79fb357f72edc32480aacd6e22ab616ae55880d5616968faf9260368c1c4b43a3d29902fc01dfbad911295e76142f33cd0ff61d71be80576c1b10b0219ffff039eed954852cac6d048bdceafda642d1d43701619289d2cf7825a1283804721ad03d96834a7067864776a2c130033de1c2841131c331f450e1df5fa6956e028b05203c06cd8587ccd6c8b6a54e0cacc761db0f34cbfe86cd2d0cfcbcf88bbc26ae6860326eebfa8679f3775eeb44a91103f294dbb4db6df8d3e0c1b1de003696170b2f103830eac3f1666848398e656b71fab72716eb65224c0d5b5094fcef0213c8a3c0b03320d7816ec127d0fe780d122bc3e94953adbabf6934ba8c748a44197de8beead03fb35f4220008de3e67857034b1a183bb5590f056d21d2aebc22fbfbb5404c1cc031de9347b7a496a2642033ab44736da4b5cc66e399c6bb6cb659cb54c3a5f5a6103caa66c95a77750e10eab95c84f5af5876824d0fd4e999524aed6c5dd58df5b510393aa0100088bc74f13be163f86bb7d17676cc1d643fd69198036c4e40c94da7503836e5c143daccee5461972ef437d5ed102ba8d70bf82b333fca7d4fef62220160337e50d9f7c883046230f81d0e1f7b5cf0e4964971f4d2efc9ecf410dfd4e485a03cf6190179572dae9bd8cc2b7cd24977cb3a1146bdee7e30eaa0c72b24f4fc055033e15e03c1c92a33740b1bf1ab669de29ee73ce3a55aaa533e0d2e4bdc4a3a3ef03330ad3f52ce5f87312ba4e18186bd76d21276cc53840d8777f7f743b0e30edca03b56efa917674e3e19d9180a9b0d372b4335dd840ee600ab2fa79b8c365596888037695bc6a6497f303265933708816eb2506a406ef0d7ee09409b552b229fbc4fb038aea32eb5fe64a6ae2e98164fcf844fc3a3f9d07f997eb7e62708b1d6822659a03a33d71b433d8c516c1780ff56d69209d90d690bc68e7587b625f5460542db0c903e700b81947cf79011d9ca4223dcfa8fcb457d74dd7c38819062409c91273d988039222ed92d5e2843c1b2dbebfb217e362b3f71e1881651adfddff6196e2ba28900389e5048ee2d88a5d8a035fbe7371ac6776be4aae4904517d5c9bb65e261949b70058200369aac2b7085014589aefa8b216ab6f32b625be7a371f366215c4fbfc85846048454debd1fda7601d03d182cdad549c4fc90529dc02c008aa3cbbb6ebb181e4be51656ed775d57843fc038c28b5939783390ce7f3550a0ab786168e497dab0f19227bc56f30ca6f563bc000582003653423348dc84fa644d792c6a6508f23c0bc7b9d13c8d76a4df04d3e107090488a6b8f1c60b0317c03042a0478343bdc110041e2ce0c32361c96b96553f7f73e769aa99258f73672db038ef9aae5de719de403956d518ca426583f5498fd300c30df979ffa47911c7447038c7d5b1b7f35b8a8fee91c3e42d2a241e1cfebbba54b6cf28e239ec24bcb852703202e494b5bfc66b60474e049b6b98a622ca8119151c6265af9fb7ea54bab839100581f02ba0da04ea3dedb27f81f43b6a9c4a9d82397e5f3ea8fe488b3c627bfc4814822a9a7cb7e1626b900581f023183db69d9baa7eb14bff682523dd604c712012c7025e208dc975b4c2c154768ad7bc7c0214200581f033523c55281d6b3a6cd1a04d5d56cfcd174324cfee00ee7c2673d1e5e768047038a931905455500581f03419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c70544994efc62101a9e3f885d872514c2dc7b32358490218c000581f02e352d0df851f6150a2ee0fc1a48b6b42b330c0644520d39e8106a32c3524480dd79df11002aeea0219060c0219ffff0219ffff03542d5e47da8114a8304e0e90ab59006d90aebc76969666b023a3e905165273ef036406ba408ef6af07aa1eb3fcf1f41b77945ba751d227858a262bf147d65c81260369a6db863f04bd925b7f0ef4c2fa79204f07890928c259bac0b292dde751e26e03ea521c25eb774c6ef01b39610807ed3ade6c5db4032b5667eceb8a9639e1945d0394f7418f53bec16386c0d9de09d247b08eb2c05de327648ac016153b9e6db7ea033bb6cc6b0ae21c7d8226c408ac4a88f0cffb951aa84a1fa3c7b534c112071e9003d8c5907db305ecf96647c729143c9c9d6674739de778902a8a06e8115bfbdc63036b1a11b9b2bbe573158054669aea201a3a64a88706139b4b11c096e67dd9377903cef9fec2fdbec323c5b03f0755047cd7c6020c91dee1fda9ad687b7e501a2e880058200323acd1280ed7bfa63d66d076b26fff42673f018bf7e5a20f4253b2f247fff05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f080736aff0e1696ff79e218a444c4e831f7809281faf01394c2107f81770c5503c6af1f229dc6cc1b0a13c9a3b1deeacc0a71046bbc6f88f95d1c5bb8770a402b0360db4c9ea67067f1486505d33f78b52c0e1e09ecda40dc000360e6984ad2dbaa0379ed0bb00b61865e6297aa4e55aab07af8aa77e0dde62829911a9d66f2808713032ffa717f5db39487bb73484383ad4daf4cc3e4bb81aa01bb2c36cc1d52d5d59303d1a31d2ab372bedcf8048c184f1c005c4f6d76d85e67cd21371d01f957e9164703cecae230ca20d9395012682710dbf3ef244060df7fe32044231916aaf458b2de03661f88ff504f44c1d0b4de6b309e1ed5e1bb2b86e415907593970ff9e6d3552803401c4f12ec4e3e6d13bdb9fefc6bd02d70ce79dfbcac0a075d98548bb4f035b803c77b36b1f903d15faf6b3253134489a161a9f05428676732d7280a364170409f038cfa6efafbbd0da41e698c799b3597eb966fb0ddf7725228a8a83151f7c8e23700581f02317215ceadaf0a9f9c9e1cf1afb90f0d3749b2894a35592ebc000c9ee4c648376c474aa7517aea00581f02c52bf5c0d65572f04eb54e1d191fd3a697fe4bf6d3c1e23a3b61c72f87a648018641c469c5dba50219900000582003f84a7d55a5b4be218e27afb6aa1d6ed8c84695f406e263d9f1f39a5d99be304801a8f9ebe728d3b503337ba35e06540b01c0bf6edb65cab426476ff6680604703585da8dbd7375c4f5030d5799711a536ea4c6f39b0d99113eb19319a5187961cae343e2206ba593edcd0219ffff03069dfd6f9de5f9a4e0fa190700bc03ffe3c734365f72b1cf475453eb5c0fa8ac03b78a2a613dbf5604fd7eea8fa366f2d3554b3861d02dcc3930886eee6126b39903e639d4096937973d611890bd2b0af3a23ec21dec03728d0010d956a5403247c30344a21d992872c39b05e4203853b16ec7f72340e625e31ebbff38fa9475b0ea4703429cb36278af94111c7820a0b50861a739bbd99fa7b41a00dcada7e3bcc2a5700332ee558f4c0a9bc22aee2659d4bd54e0389a199724b8b8711d6f25faa57e17be0219ffff03b321daa832f9386630d42a1caed2fce2b6a6eaadfa73c11283d6d87ae25a4a550331379cb6cbab0ae1e3747d64154b8e5d5b4321f3dd9d392adf0815a614b20a9503a4cd21cae2050b542899910fad692d9ee3885be7ab3d2dc5fac9ed5671a25fc203f4051133fb8cfdb179c4de33b0b7524854876ac9fa09bdf2089615b2b89522c2034673d486490fc80b5a9075ff3d0c32e728a7d1dec906ccd4619c587dd82590b903c33fba39fbed4044aa0d7462b3459e456b8c9dc88963fdb4abdf7f845f92a08a03e749eb8a5e271327d48c21a764d83233bf47e9f658f360d9044d3866c9297240038f766a580968605ca96b16cf4ecc2e5ab2de410c4716171f369d3bffb721645f03c243846268492621bee7c935bd060a17cf00781c954c65fd8ad135c76315741503b177dd0a497a2ce3c4f66022998c26033a1214f7cbf90033658d3a430b3f331403a7d5d8b1f532f48ef63c77b994e306f0d69d754fb7e3ae7ce616f4dea5bd80a400582003b34f2d6670597301337ab498286e6ca85622bf2f5c3de0465fa51b9fc14e704801628ade0596a74500582003e1ef315470a1fffe3216dcf415820156fdd52445ea2c86c54e9ad2ada89ac0481baf3be22005d19d03b21d83ca5fc820f0c6a76a7936364b04c1c2d556b7454908356772441dc7ec9003a241f46462ced03506f604800bbd2a88dde0652983fe2b9f70651193d105baca036652148cb102254586977c39bec2cd36ac01086b62d2f508f146eeb8edcff61700581f0262bd5aafb4d8acd4487796f82a635a20cac18665aed29de1e6760cc3b9535820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02780044138bbdc4366578362b18d8d5d07ae51eccc7944a2313117189009b4802c51fd6c8111b6200581f0223435254a46f7eca6317790e8ea53eb05b92706d977cbc2507374a289f6e4711b7cbe285ccd803eb8478d6cc7b6f3e3a69b3c1c2a3c3a2c1b7fd26cccfb086db4042c79502bea200581f02e52f557121c5533d292ea7a53de373c4299f41b46de824ce6a2d5203cf875820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190a5203cf7e9f59ec7f3c19c429d8d5102691a243247f1f0c68cb64d8bd7309a1946add03decf45b14764e75ee1ef3567b3af127fdae7196a27f363ff0c6f83badeb2314c03149eaf4d0538bcfc58af6bd81e0a244364a682615a889e4cee352d63f2b1b43a0321dfdfe34d21e039a7d2d6d4e746f4e15b8f781689c038af64e57568a2bf571c037221cd3c72c0a6e4a2c0048e34de7fb8fe935d15b5ba6c18953c717291b710520219ffff03a586bc9e78f89939aa2762704ee4f5a134d781f87d42db8e3eebe58b44773e9a03a4a4168158df6b58d789341eb22bb42c74818f76b2912e1d59e40d0a2af36dd103b6da41ce9e7f6a13994b01130c62e7d4dd2416f4db58057579a6ba0d42fc787d03dd2f6e8c3593ab46a77f98c0f2e40858b4acb9d25b562c5ada9334191d12456403ee74528b482495fa64f5754cbbbd0f245f8ffced683cf55abe5da91f5430e3a903d521a0c844b038a2f0ce7c5a5d128ec3ba57a332caa581ae9a231bd0ed710cb703dd22c01e871f9cf7a19e02450d752faf344b3d6ab2e61c6a54bbdd46c4957ead03c12cf65aa5f230f4021ea13c3bdb77287e8cf87e6517c0f56cd45f903611120103458b33eab4fb25decc939c8f6aa8301923861c6bd097e2e2a11c7b564a2a20240219ffff03c607faea362973b535a4f3434f0424ae9f7380c5c9602033c965fe7e9fec6200033cfca0ec9108d18c644d70aadfade3cf69c0367ce83fe0cc825ca05227413e1c034f4437f6789704b7fff3fba188289d913bcf140c0a03813e5f9fc564c12f1c57032153bcbebcde1b6d35f22f676fda10ece1119b2223a0d2e10e881c3dc0454bd703ca3fcca77a8536a69a971f7ec04cbe526243d1809f7d673b2049e38674689d5f03e3d246ca3310c95bfe78f9c36293b65d8ef5f5b2deca539c216f974b5270b8d5034fe16aedf63eed27f40affac90eff24ced67e743dacf1e45effb75faa92869fb03745efe7f842cdf7dc901d603cedc1c2c0f69d3eb3eb146e9b57658f7f53030340355d1361396ba9de111b84f22b94a617d757a40ff03a5d793acabf9496b326cc4032c7a285afede377c422eff3f12d92c104cc5bb99d5a9daa92400d96b86360ec1032902891e309d7550d92f58c29c1e29e8d532963540c389afa74d0e35e79b4afc036ae6216c6ca302997232ff5179e9315528fc419a808d82a5ccb9fcac8485a77903a56a5d93e5bf8ead9abb7ccf12cf6767186eaf049f8234d6009ab213612a92ed0329fa5c7845ee2265d0f33106cb7251815eb7bf985e6559cad874a700a1f7903603a36f01c0cef2f6cbb7312de54f4e197a956edf69749faaf6f7e4df5142625286039c967a928fa1a17407e118c0b68979ceb5cdc4847d87d768487a73a95026c3b103c737c7757dea479d43736762eee425d01afe70636a189d5bd20a53070084ce6a0305a4961e07feda14ccbcb7c8eaaa7a038d733caf5f4b3e8f5ac47afe83f9451803d59abe8231a169ff152d43ebcce55e42264c4912c490189232c66340c60a9ab000581f02a7fc4a0491626a500f80950bf393e2e0a6e40435af2757351147a5e5192b480339b0a739bd2dc700581f02d1763a80924847187c102cbe777394df37794fd5dfb9fbb844c4670c67e25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020e8198a926ef2acbfd3145af5621113eff76001b41bcaab67e344f4cc1bd480b162db01a9bbb1d02192880039bd0b213e1fa027952851d3d5f96d88b08f850a5f0dffa5be53a5419ec090ee003e19db532498a4b1fb455fc370ce6ede027df2bec9ff4278156766face62d454903d0f0f5d6a052b4c8d9760ee63f976edf89cd6c4a78874b9da996983b54a6e686031c4055f2207e9a3ad56d49a58db9aa72e16dacd0af005409461f62b79703a53b03d9591271273eef0d3e4c3bf01dc95c2f7925de167a7256b282789b68a7ecc98d0371d1b4c838d406b76dd8c5a77db92ffc42fcb07bebf6a145d10df0fe34b7ed320219ffff03a2eddb94ad60a308b0ddceb91b3a1b970541ded6c91deedf51f53b141824726203b2d3a9705ca4df52b1103bc1f40f92eb27369fb4e876a808e13c876b75b2d14503e3a7ae5e8ccc956c0f12d0d917bf2578a67722b167dc8e04be75a854d4be3b5303caf426f6478bb781a91584238f03c0f45f311a79bb6c09bbaa14d5b5131975260307af7ba829eabfa7b0a14844f55643d4690ef3a22e164c81f8e36b0e6a5f759d03fd5a0684488778418fee38b7b14571e87fa7d56cc1dca6f72f3a79130d0d907803e6d2bd1e568410a16be585daca4be369c17a54ec4c8f0e55337ba216c9b935bb0356812d1c3cca4ce25971f5e94a5062c06c648e6ee7eefef125783b1a2980977003d351a47080da06867aa94f93e1250856999a2ebd00d893d42ef72beb80be5f8c0219ffff0219ffff05581d03f2bca51cc5dd63ca4a368953fd499940ef2ef0f8b1ccbc6ca8b527b00701190ab302188801410005581e03f4255ed52a55c08853274957deb126bfb9eb70f5b2e3fcae7d07edfd0004010341ac73b26a825e2835bdd2e1762ffe15796587834aea32956893c6835a88641e03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0364945d2f9edb61921d492a3ea8c0c3f1991c3ea6c89b9eade5e2c66fe007011bffffffffffffffff05581e03e3ea0e76adb853e9fdf02982b8716d6ebf4658e1245f8c356bc48d1aa008473ee3e00dd0600005581e038059f2ec2db1a105bae469600d6cfb543afbe578fb57870950eb3200900c0846940a8f694e380219df2603bfbbf453ca99d6f1171400a46290c1ec2105decb788c83cd6b3729bf5aa2ec1903ef0c3acbfcefe5d4504223337302f987e219b5a0fa7e9d4ccf913413eb72a0f7033686636f1f2130fc8f2a83df5c1094bdebbbd11b17b6a0a4a46afa4f369c738203f9b8787bdb1c5ac50fd8453bd7aa4c5b71302ff900da3babae3b954004ce957f032e3d0b6a30e05347aa2a4c533f234aea1e66bf19de366a797e0075e4970c1904034a88841e4cb45379147396c69fc205350185447d7bd6c8f11389ffa7ac742fb1030c5366d3df5fc7d380dd2319ac64e0cf95daa4a51940b5d2df5a82f7188029d003e53bf7b435b5ce1721bd8657e26ecfe3fa1844fe8621304d75d79ddfc9b405be0219ffff038e27b4ebf61b86bda28eb6edae85a078046d8782e9832e84fa68751972b9fbf803e21f1d88fb51f80c6ecf83aa22d18fa98a55dacf64c0e15987874bdbf6182c5d03d23b6366eb1895cc41f8526c4cefc85bdf4e2bb2d4f3295db5494ad40b603ef70315090acc03c2e8b86596532262b06a0d06a3a79cdee77557928e2c1e90d7a06b0219ffff0375451dbf82e6edc3a1c0ec253fa4e8f7dccb7d380868fb2ab7eb27c3ba044f5403128a28aba86f2d0d16c9fe368ceb35f029aceb9c3eb2f91a7cc93afaebd6a57d03e0066f38e737c56a089336033ec26ef77b089d53373a0d6ae9dd39b37d5572ba03262a36c5c7fe63128fd8deb1a8136c6d3e5bdfb364fc5cf46a2c787e8d2a4b7603f88e207732b234f81536a9036206b85c3b110c6db8bf1404b74188bd2c34309c03018f3b53c671968826de4cad902425a2480774fd3d4e2967bede7ed18ba1ff940352e9606268c406627caeef73c965456cb8403bdbdc6ca9a604f014db3282ddf103a0c4ec69c777c0df8cc87bfce3bc21c70ad5722a9cb660954c0840937f4f05600219ffff0219ffff03a59deaa8774fb54d3b53c071f18a2a0a40daabec3febe5c1635b66f935bd4ac303834d23d746254694554528534ea708f816bfdbe8ef353973d42db89940d82f9d03eacd3625eee872a8a68afdcb6dc3850cc5d03a3a574a044ff0757b865699ac31036b6c68174724047e133cdaa650b8bf413555d5cceb5964a051e2f77ee7bee606035bd5ae6fa0c657ce727b0c8a26bf800319440ddcfd7490107e41744f8025612d03a4ce62d9f544fadf8c29b2cc592e36f2f3df962d3cf9bd7978d9d6311ce63ea603fb2fcc73b152918d08b071e84711bcf26162225ee9d56cb476a8c12c6c3e27bd0369fec1ec264433c2f90efaa5ac3c2d51e6cb118b0ecd34050c235a545b488f8f033c047af7ae34797d4c11861f8e1eedde1608e7bf1d77442813e71cb6a0ad4110036951be3a029c12811c8cf4a5c435d0ca0cb751fbe98c1ad35d31fff00c41a68303a3ec37b4a2dc67eca51f9bfacc72c3cbb979cf4188bd86d72067a406a625b9e70398a997d18df1acebee55253a724c5e99f20a773b809797854911237be15ef7ad03eab01cbbf3f9d5e6489bf61e62e25bccadccd7cad7c64dc8138d420332dc26cb03dc0bf8d2d6878d48d138e32f4c709bea7c13c9d4039dbe2682cf60899f31014003e2f87c14211dd668bfd081c9fe79156f70fc654c04fd7ebb4d037aadbe7dad6103f9992ca9ef97c4155322f0839779277c4634e3af8f17dff78c98c4b43c34d87d031478dd122ef46aa12949c6da3122a9c3fc22c24ca9e2a698bffe809460adbaf1039219c750c6df89228403c2cefb18d088e9ecd5dd7bb486996c03bedad82c734f03a916f132c69aca7f97a99dadd85f0bcd7670c0706ceeece7c3ffd4551d7e60b10364f60280c486643cdc856c2f0cf315784840638a2489ad6d575bddb97ffd92ee039f53c1811491ef73d666eed999807eff7d2c4b34f2611c3374a8401dec93d4d9033163c858793f86e68883bf5786600f063246ea12a780530c39f5d5332066da9a034d12e291370e75addea978ebbb80d4f841c6e16e9e8f1e0034946b21b573051703f1d690296ff838f8dc54d12f81ca4981a144f3ad3b61596e9581a2079ca91c15037dbf015da19965499fc7338081e731ce5fa6d8d6b605405021203c062cbbae960340682188fde716f2c7b60fbd37e730e282a50a076ca7df8bd616b3566bf73eac03a4a83622e980a093d1de3c41707f5f35d585e083d60b0dd790b25bde6c3f535703abd1461964416c388581d122df78f30853779cbaf26ec42726fa2b0d1fac90a4030dc867d544a9c00108ceebf38da04f5ba526f2eab611fd3cb744faaac03f87c50357783af744b77cd3907167bb231a33ab4cc5f3697b7f50b646ee2824f3dbe7ee0396c971805226ed30c211bc42c26135cea55d3a70595a5e2de80c4d132f0ebe03037b33759d9528a5262c8b76941976f45cbfe03249e6d9d4ce21d733cbc8a0fb0f03e78e32e4e2ce00ea5568b9b734cb24132aadae9acee736ee2bc8d46a0af69adc03b4e1e3ed7d801dd8a28be254d230dad1ddead2cef36e97a2c95a5a01a5650c990361c1e8291e24386b94dc8a9fd3ca7ba692fac0514e342544e6c56b4db1332366037058fa4690e6690319fb01d5d672e9cfd543ef3cd7ec41b1469a5c725a2c43a5036f9e9a5c404d3741c0bd558330735f7e9e78100d1c2430537db9c833b20227ec038b1389e131116226c4cbbb8a0df4334cfd4a3cdfd9a7e9d7ac195c7d1164719e034527aa29854eae696fed469024d124113872b2875bf3666331b02aefb4380b3d034a0bda6946a8a0bc20f468016c36b1c102e697c8a4980529e484c13e08bccac303ee05be42ad368e940735d89ee49f2f332f29f85605c944a872948333ce3afeb5039cabddf45983ae46b3e59ca7789efd4f0de2ec1f968d6f5fbfd51b7d25014af2035a8f19baf2b780794afaa7a2d48f21fa14997f6ce1f602256c458203b4aceef0031438a13b456802f6e6f00182123f5be129b408bc5f0a4b650be19c6564c5510c03038a00c405209b918a9f4501e75631cef8854f6d6dddb9624853d3b47028717803c2607bde30cd4d86400fa39f76cb026de9a5d7044ab376385be631cc5355257b05581e03876f1fcd80c2b351f77a8e29682aec81d02a096ac4af2b5d11e534b5d007011bffffffffffffffff05581e032a0ca01dccaec9003e5bab290985df284a524d233da21de41c0178c3f0040105581d022ba7afae7976b0536042f2e96e9fa1d9fe643779a4791a97b674f9f50c014731cbff1224085b0459012a608060405260043610601f5760003560e01c80635c60da1b14603157602b565b36602b576029605f565b005b6029605f565b348015603c57600080fd5b5060436097565b6040516001600160a01b03909116815260200160405180910390f35b609560917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b60d1565b565b600060c97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b90565b3660008037600080366000845af43d6000803e80801560ef573d6000f35b3d6000fdfea2646970667358221220057eb0563048c09083c6a0bbd7deb129e4dc3db2932ea2d88d29de89fb37937764736f6c6343000811003303c1b1c3c04b20eab336115fe7db33fe47e817a81e50f4e2c2f7be45ce14fbfb9f03242cb60677c4563de26d1f3536071200eb891908e516c8a76ac31fe6462fc53d0365c58579c6019b54ec3b1776742c045cda9a980da4c8c4b0ce3bb7512ec1f4cd037e40ca5aeda6c55437c7a52009fbb01eb66c1d2782035d726610e5146d33055d038b6f9a9e85b05682d1a4c7c658d1dd21bfd2d2b37a5804cf346a4e4737a02d4603de6706144dfe76ab8653aae9011913eff21a34e4d4a17101a24176e45d14b5ea034d5e5aa0da218130edce4d91dbd65a5e4eeced572c968a89911b0a24f4e1219a03f1b6d9969380b6b6146989a2fb6da9c0cc4a69c22dcf92bfbf5c268ebe701a1b0310217127942ae2d6c9df527b724167fcb04c1eede42e4a98394379820ce71285030430a5e0e0b834089ed87a44f59f031abfa50b004586f94d86b8b5ff1130b2d903c95aadc8d3af2f79d7003c69602dc870b3573d869fbabe79066a0c729a027b9b03eb193cb13753aa0e1e4467fef20ef3ca54e46c0d9e2d0f01526c89ae7f72675c00582003024b6e2869ecc5f03f43d52bec1275d5a9c8f507e542932c102aef47b8a600581d3e30c0f000027100016612f42a4f391fdfd2c50e6d6886282b2fa1b11c00582003ae9b7cdecb8aff84c5a8ab750ee794b79ca5c12433771aeca1086a9fe79900581d3e30c0f0000807000146d43db499b97e4933d43989d619fc4e193b67af031160b46e2700308eb70c122e71f18d02954e4615d12083589f0626bc15f78235037d48080532b18cf8d825dd064861384baa1aff0b20749e71161220a3e7c616f600582003b35b3b6d9d64b1392c6cfe5d6dd682c13f9c118a7277fa6de031acd38f0720581d3e30c0f000073a000118bc5c3a3b48c785446b3e9e7ca16aa0007b9a9f03eb094971fb07a948c706e8fcdf81726df1caebf88b77be5a168e26e2ee8cffe600582003ee62f9168c29c27d1b677fb0c642ea7d6bafa0a93c706e47cc3a63fd2950304101036594153d58ef49aab3495f472919fe00b9a29e5181346d0082a2899dfc66a31c035c925d871705d01283a45c39bfc30ea7413c206f4531821997ee1e7cc565c10500581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d545133522ea5a0494ecb83f26311a095ddd7a9d4b600581f02c399a5c0fa7cb358c7ef2ba4a43f83de082fc5af79a54f88ad2a2553508a41140219800400582003632981d438938a1a97587e4042211fcd8d286898b6450b0d841fc37e180210581d3e30c0f0000bc000013fb8ca11460b4167ba6c9acd435dcc8a900c41450058200300921b1c9b594118edbb6353ffe6e92b45200de27a358d31e5656a10790650581d3e30c0f0000fea0001593fb9d088202c7ac2b8d777e9229cad23b2ac0203d83a5e696bf9fcc573ce6a00e8073e8458250abe47a969d5b92753d280f154a10219edef03c989fb633288dc946b8c552be8d1f106cc54cbb60f102b7949b4ee19201ee583033cc87133b7f979da06cbce247e1264a43ee996da772840d8706d7dda54e387ab032e402beda12e591259c0619ca497cab3492cb0147e3467686026791422a91c84034caeba95b28fe03a70bdf7bd01a7be0a69bef75ed8b9edb47779b5b82ddadc0203a1760e552e16e4c39fef855915f3fd58f8a810b5060ce1f7efa4bb5040bb53b40396a7eb54731e7d67c809327a83b07b10bd0f6e7488655d63761fdd66c54abc0303028290774daea2ba576cf82f83019bcafa9c4712bab6bbf663c84cc1492ec8cc030c3cf3d878538a91fc853939a4feaa6d37dc78009207779fd90c99152eb4c2300306c8d2a102fb32d4752cb242c99f41180942dabe8f0f7d29e6d533ec40d70d1203687d88fa3348823e104f85afc0c4ebc051c4bbbcb7310f3d21d4ef4c919787680219ffff03d4f7e4940a750340c8acce0256b1b018f27df5542b512b3b425376408643c452030bab3a593afa858a9a7d72d3a59facd8fb07ae9dfe8c1b53f43a833a7aa406cb0394bbbee3fb0298d2a0ab58a8be6a9505038fff09869181a058d23f62ace1f57a034c8a651e8e24d706ca542b5f335c6477402cbe5b2939ee36638d0a92feee84b00341b635c741a1635c5ac4a9a2ccc9611df23425d2b34a09be05770b70ac331d9b03945b1b7902a7fff686ec2b1d60cd621ebe330a144899b0e5300e764fcd0b6aea03b51afb384a350c8e108f25aa5661edfbcbfc188be7db7767778cfcbd322067a103f19f502486e7b6b4625778bdf68c367975982d03823886d6b50797279ee0f242039fb868ff2d5e708c25a6a16078359be868c767bd163f991be3f6c4d34e3ab10e038eaf806375fa58bbb7a6726ff493e6e068f5d692f96928f7324f218303ae01a103da33851bbbdd3ea764de7c217990b61a6928c91d8ec734e196aa30731bddd54003ee3d5e624032c50136deb340a3739bcd9d91c0ae4d96fe19f62ea6d0a929e4e503f11d0bacfc286e0ef95f422bc9df4540b0082483b8e3c1cd89e7755b9f5b871803c98cb4eb6f6c4ef3668c810a2a78871a9c61ae6c61f762febfbe3ae0d3dccefb03e740c1166a050558d6c003ae552974bb4d3537865a282d2ba0332d05405feca1039775e57b6c9e24065ff2a81243d83c4d49c4782c60f803cb305c6c53e1b35f0e0311f58e7fba8e7de22b485ee9772146e4166a2d2b0fab1843f2d140b585f9d7920313275c59b70e94f0a5a40866d932820b197f0d58407c1475a68a41d85182bf1900582003400edb39077bb89eeeb73699af97ed13f2f3015cf7fd94afb8938b21c00420581d3e30c0f00001ef0001e8f201e92fa8a8f11c3d086be017189792a7b25903aeec88c94c421777f2192afeaf8161e7ca97d62360c2c6929464876b0ddb55b503ee67c7d7d5b9d63d3dcee7c4257ea5572459973ac8454d4c21c252badc13038300582003c570981aa70f4acff02e7561e6ef9c85b06ad1574da5ed89c659b3cbf1b1a04101005820038074552d7d2eff9970eb877f69ac3eaa3e13cf12685508b51b96837d4a0f70410103bc12945dd5901f097279d4b89eee3f7e467c3fa97238895dbd95d89636b510cb0058200306caba1b61a2b5193ad35e715e160bbca2f0093dd9f23f14070fe58be99810581d3e30c0f00001a00001cdf46a2591f48c25013483f0bb89119ac103f8510350d0692b7712a508548f50f9df9d4d31b2685a1d720f880fbf9296786181d8990219ffe603b6398141f19292cbf0cce31c1a53212c5133a297b1c79dcab8ac96e67e05776e033ebed859eb1076d59f6923dad4fb7e780a7e6557c6b9bb580f002e21406b1aaa03169f473e0454d28ef6a9c15bd2fd591699aaa33d842587a46783a83f721bea83034d88cc12506bbfdb32e3531a46dc13a326594a74b0e36cfc345ab85f6c8a169103043bb68b78bd213d5539f5eb21e40c5f903d09e3c3b03d35d6aa585ec6cdcc700383e29f4c6497a0506ed0e947b9fcdbb4c371e5166817b3bb6578831df7c34ed10365ddb9b8f1a133907d32128fe552060c9f55f220f632babb5c7bcdd120d90c600219ffff032df4031994570b0447cb3f3761378996af40c0d20a51336b01c46f28751df40e034869b2559719f4a8b9bfe2a16b3c82a977f48f3b6f885efeb469960d2e6b3d8003c060b70f1a46d581ede3e40f823e62aab3ad417d8050d77dd8c7acec01dc97cb031e39c24f07c76736192997391a9344a793e3ad0a4ae931d7e5b73ae720382fbe030a35dfbe8970e123aece503c9af450f1a0459b8d007ec164c1e80693c66945ea039cf2fd4f3e9da17fc548f6ca82a0f58f3bd565698fac67e092ecf9fc9106d26803ff8401213e45d689cffb2a514f77209572957897b99f7360de03a581986c3ed6032e5aa081f0a245da91d47306f975270e918d91d491c0966fc5d85873cfe3e9b6038ba87e2db983e58836120d4a8de24dcb2a852e5f29160faf3bfd012ad41ef2f703d63216bd50fb817aea54dc1c5113f62abf0fcddd1c2b2d8c5d457a2e8df8c12d03a0c05cfbad9f68783f86cd6a0ff3c005e4d9ad45fbbeb6f43854ae4c4c6c5ffe031d1f195ab9c6112b802d295a55e91bb1afde1095dd960718eff11f60f2b089d40377c086d8d49846fe1bed50f021aa001f7a2dcce4cf4234aae0c64a7dd74b7faa03f6ab4f7ddeab72bce2328789c14b4d9a030b0b69fba8f6e7554cbfc8ea1746ba03fd3f338d9014204568b35e6193102cf6ec57a352a2db960b41cd2031f04b746803e95b54ce792a1fe045699cc05a81e69da62b15d353ca672520f821f27dd8686603f7e4fe732774e935423d5f334b13816d4479430946bede736e50222fce23231400582003a7b0a220e65ce19e5971d17d045c6a58066c37868956b61f15401015cdee70581d3e30c0f00010a30001593fb9d088202c7ac2b8d777e9229cad23b2ac02005820036f4cec30db985b24a292437c0b895c5e34ff3c73c30413ec4ac22c02b0c9c0410100582003b2e27da1fbcb59b1cb7bad2b37cd698ae11ae64045e103d38f27db490c7410581d3e30c0f0000163000191215d71a00b0907ca67b25401172ab18d4b18f90311d25cbc16e877b2985b6cfab81b12ec3ef241d8b78d6cf0acb927a9f629cba0005820030558c6fac00527c70dc58e477da8f67b197029fd8ae258c0ad6cc1017d2bb0581d3e30c0f0000db70001b7ef0882c7fa99a9fdfe841ed49bfba4501988a000581f0271622a7b1d6f91d57c5ba70dd1b377341c78774fca10382b3b62c2c581f8581d3e30c0f0000b7300011d10b0166a761f269adf864ebdaca9be445ca63700581f0247f67933709beac1ab610f6f02d0c0ce9433915561618954fea62d659dcd410102191080032081b97bad917eb2db94e63090da580facedf0f5bf325fafc9a4a26892ec423601410e03b085da49908e001302a6f0bc16ca70d7d88dce83b98eb52a615f4821fea4fe6603f5c6423956048c961c1aca18ae8fe935df333acf2c7a25519a663e177fbc12680219dee30219ffff03cf1307de0dd59271de23ecbb6181c8586606182b16f7d1aed83dfff725bb29b10219ffff05581d020b0a78e0cb8da7919a3a0311f3d319a751e44cfc40ec28af08b21e1a070119012a021910010349354e87634d6b1d0229ca24f356aa58966147bd386b91c4262ac6f6ed453b0e05581e03009f6bc4abaa39ce554e4ea0e75713205b104ab938476e15bba674b5f00c014601a6966e260005581e039e5c442fc3508a35d02f861f950375ef6c3fccb208323aa12b9c56c5f00c03471606c59d71334005581e0386af8cefd15cd7bb8924edc685e7ba47deab98df32eadbcbc6d3bad4100c014706a3cdfee04e0005581e03ec8b12989f255d30e28ccf74783c1ffded0771f7f6a4ca14367597fe2004020219537a037c552592439e7cdb42ff25a0df983d239b8d2bb5553b0ca20d15cf1476e8acf203d1389605fc37b7fec37842e2cd941abf47be04cc6a8951fe5834fb52492de04b036ef38967a4e9ac1a41380b232676290bdede554801f392255b6b9a2c56f403dc0219ffff036ff559595dcb4dd306863bb7217500ed36db1c659de8e2f95acd878405426ed5037981acebbe2fd01c46b1e26b4f6cf68602680ba5c1056cbdd7d814dff284361403dd722ab3a0bbddde36361f143de8956fa87317ed6ba0eafe9fb7fe39486f4892036880a778dc18006be64d7f22e2556a058999753740a94d560440aa5e0bea576a03f4250a8c82381926c57cc0b75c34942fd81f49bb81bbc98c9566b4d7177fc1fa03ea23f9f6af1d15df6db22432ed35448af0cfeb4370ab07717988ee85d700bbb00366742ea86b98e7d6e66c0b5f48fbaea89e86d13daeb04f47bfc59066eca2a79003c2addcb9b64489e00ae82254313178d9cf14e13584f107c6bf1a10c429b6e64a032a3410238230efb9f93e0edf299a5ed278dd462bb816735b1145990b3b705ea603cdb31f318c6001336b93d877fe1b5bddfdf0df554acbcf87cfcce7d4d874441903f02cf755fe6db29e832e885eea655f52628a3437c56e272442bef25a158eba30031e4fb9652d4538a462b7bf8716448f11717cbd0cc28bb6a0d6a1591d64fc905e0219ffff0219ffff03a5444862502a49c811fa1c03bdea8b3c16a4329d4986c4d8c85d17598dedfdfb03c0f8b6bd89642aec9345e316685f94bdfad9539eb1d03fed218b9a818230c4630219ffff0219ffff034d1204ff2d25b722eb2767f78438b91aa4154b483683ec49aa5c5cc6d9d7319d0356ebf7ef3625ae6998ec666698dc871471630ffad7c8c37e0d9e41653e7e5e420364b511b5b40fbabadce5c635631983543b78c9ef859d242595392e6483c9ac19036bdbc8b8bc63e0ababb7fd363b763f460d37883243858ab551e905c9c17f021b03eef4bc408b1ddfcac8fd161912146e0a42b4ac0e6fe4c7ca9058ee6fd3e1649703c8c2910e38132cf76f61d519a41356ebb4938717d7ff119bd3f0459e8fb000c2034a50ca9eaf808306977290bab7ba2c8c27ce60ca73eb8aaafcea4173f1da8a5603559d2bae149e37a1907c7788dc17a0044e90e833697fb09eec43aacc541d89fb034c88b1bf407c7a23be2e8520a9cf9044d7d4ccbd29a7e268192f508026c05b7b0335ec6a3982b79321d428e2dc6f127cf60ce19c9125456c5782ae5cb2b43772b903580ae8e27d0e71ca55b27ac87a1692994cf7c5c1f19e93b5d31a3cdb840de594039f4a9a20afdb6b77f9b1e9692f3b3c774687fefbd42f2b38863163d77575648f03dd320aa580df1a560d46dc641373f5a6e75da09982a9a63703ec2e20018be11603139ffb3f2248acdc0c82312d6015154e9a3020e80cdc5f25ef98b6fa18094ad2039c0fcbf0f67e57324149fd2b822862d7434f41b9ab6806a4abd92db40605003d039d10200955ffc3b2d6c6115e613eabfaba2c7a01715af83fd97055c207a1e4ed03f88adb5ea12a5d0058b5b17f1b34fff5cdc7eae048f557d5447e678046c1a16b03a8967fedb12ae7cd329e856e109f8e6717318ed391194dacb462b662dae2cfc10357a4eaaece898d614ac4edbe5387f6cdeb963949d8565eb146dfee38872af98103e66c26ddd40da6f1618d8f771469b0ff0887690d839a6ce7b281c0d9118ee56b03dced098fa61a3e8ef397e07c24290e53d820e6dbcb757de5e2c823cea03db35303cd4580322b37713a0ca935fbe046065b209da1c2f5e22b4a3cf9b0dba7139787037c48b610ff22f02cf6e9c0ed81985f893c0d6685343c2831d97883ac55bc263003a00874dc23c716022b116049ec028e47e5ea68cb2a509ff2f3b9798395aa3df905581e037209eeda31c1c296cbbc321863fc53a6e23e73f7be5e4c208a0fc74930040105581d0285ffeaddf64bb418fe1cde9d4a2822e9d823cc9e154460d5447a647e0c014672800ebc56dc05581d0252d090253a8d37d735bce4b0f981e2a00b51a6ca7b04ae76299171d70c18264798ab9f52230e570218a003de380695087ff2d9271ac38d457470f3d08b650276a805e261d4a9b4828f3ccc03eff9b5a1a40e16e790a697531c7ccbf67d28173053f3bcac7db5260168d938bc05581e034a51175bd0b6ff2ff751dcfe1f56a5065c2097b2f6e3e89301c49232300c024713d2fafdd8c00005581e030049d3b2122473075bf88c18e730ca0280b05cbe1445592790a582c9900c034776e44dc9bbcc00039cf4100dc54b4bd5e52ecde8ef8a513d1b824d836da0dc1cce7f34b3b722b7de039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581e03fad1a4b49b29561e8bab190ca074d3e7eca2db02d714b1a13bc929e26007011bffffffffffffffff0219ce9603d2ea1f9639025ac1e56d18e778459ef7340d72a3140a03f57e7c4058c253a94103be24b870532c86cdbb056db8abec0a0ca7e8b2c8deb3b820f165278aea27b139031d1f13a4b2966ab9af76804fb9ceebbff87342c166d1d5e774f8c9f59e50774a035eb4a760c10bd7c90a40e8767614c423a50e98d4b179246f745fc2fd82056ef10358c5c601cfbc82f99107bbbb8d77426ae946dc7475650162934f2f00736c751503282b12819ebbdc30148772b8c4acb4e312a7ae6d9e68be4c9f4574a55e475ba203c79f00df060be5ac1e9537a3e3ed63975d6fd7ceaaa8c086f2a6fd228a92649e036e760fb2236f87eb9478ab40748766209d436372eac4907929bb7e1f0f16e72603f5b315a2017d2e1ec955963ad89be7eb929beec07fbb6380af1b77d5483b423f0219ffff038dfaa6770a5688b87d46d28f1873573ad334ca60073428cd8ff614394ce7c997039a6c1797f605325eac6a7a68d467b61e049236dde5c5e7ba5f7afde9a2efe1060311207a59ad1e544edc85e0c76a4a2f7ecbbda1055c6e81c852a3fbd00ee79477034078ce79de816aa40f33116f16ebdf9c9e30d15542c49969e6b94031d1f9acad037f605f3dcaea0e553070b7d0d6677d869ef972812bc18a3c7c644e45b9f03e9103588777bc44bb6541ab7c5c51055f38c039db2e679b431a25498d5a37cb46340c039b581aa67372f488d79f5f6351213df245e23e5e7202a71f3e2d622ac571a2960219ffff035be14e451a765497c792212faaf18cce27eec9b42184e32ffe70d5f5a2e7ca0803150bd4edba9b5019f4bc9339dd8c85f367498e97db34003a99a9ba6efb225d3903bf6d143356295d91b9e9849a8e6a67cec7834fefde3aeec566637a4ec9aae3e60329b9ab2b9bbd0664037e5595e43870115a7189e6b8eef6454769bba71be6188f03b20d146a1689e7dc5cb268fc1e04219e8c7e29850ffc6ada86bbc651b8454ee6036a52f0361f44ec3eeb1de3c24e0982ef49ef5564c675ede377eb7cd5ea92ed1903117c373a88304c49a78327f452a2bbff0906fe0b6378628cc9ed94ea571894ac03f5fb6a0bd7ab7dfd8fed43a7abb4b328a5a3c61a2a7671f594446207ffaf8ae403d8f1fbec6a8dc560c5eb6a6624902429f75e5d4858f5a31d381609a94d891076035d50533bf175c676137cba28c461c160e227386f8b023c98afabe52f09763c2b03ab048a41198c845088687834e226b7d8d3c1044a9726beadd1164919111d65f60219ffff03346be2b6d7b07353f1baa49c08b6c53c31a0341bafbe00163bce04b161506a11036e310d74e5aca96fcd4f8492f73281ef983cdc1176f3dd1e9cda5f4b28d21c78033ea2bd7c33b2aecb2c874a70ff70d2999f8ab1eb15c24cc067fe47c3496b1d850320d368de9098c9b7f06c1c8747482f1eeed5e55c6fc7a66bc085597c622ca90b039fd8c0acede0ef038a1f9c75dcc784108f194dd3ba4301151bd852275022b924030ec2a000673474d78b4c2109cf9d556088eb87332b1cc03b34619b4b312cf2d003dcbd1f76b8baf47193b36a8fee5284b21eb2a68e5de32435231d1ab985056a6603b134dd043ef2a8e56724b8f0e7da3f31f54962aa86a51a322881cb7c0627075f037996ec291ef93fde57fdaa6844740fa78b8b57283bd9ee81cacc3a3d6d6a609503dab58ea57cabb57a00ebfee16ad57f42252e1b9e3528c4b9c6d81d68d4ed516803de47146ec0f9d15a37dc74a05748fa5a93f67e052b281088cc3b3144034d9b3503a74167ffe08106965c856b13cbec417f8eeaa61a952a7368b3f563f2e8f1c15303f13519d7edbcb662be93bd092be0615d12718c13601d5bf0ed57ab0908fa922a031ef433ed8dc823aa42b8c87140102768ad5d9f5d07e4b052ddd52bf0cbeed3d603c5ca2eac4ba94241f7a212bb1457aba3db85359b9e6429155829ccaca82d63990323d9701c7482d7ce6baa4ed9e59bd272f60fbe345e3b1fba6d10069c074d550503df09c3fe05c8f89b90ebf243631764c1053b319dfd113729530ed51f1f084bbe038433223b8f6ab37669ded6c438e56f7200c0ecd08f53de69f4e962fde0eca7690358ea4830c52b6834ec8b54d58bc2dc75a9f49062b25ba7cbca8274b7a38f442003582bf95bf6bf08c84418660abcef6a84e34416dc569ce2e322495a864fb353620340ef21256407dac7e70fe44914a929ded31ff1d22ff88f0e7e994697f2d0fb3103dc2c6ed37e64f280f5001222d0fea38e1786f55dc40b011a3dd23fa4b8a65a99037925466f9bd554bdbe84d3338de7debc27165f31a03c5b1ba99b92c5e883437b031a6fde8d49171a2013cd531e4fd373457cae17a596fb15d215801e728b6edf4803199011737042fa984b05d9724813213ab4d4adbc9352f7e739dd6bbbe5e051380387facd41dbdc222e054a64803d47041cc92b1fb1fcc5c3097b3ab1c175398ba60388f21f407a73cc00ceab4208546399636fa6cde51659f59758a15df09aed33a3039dfba3bd5084178b907691c92369f68fc5f1776bab457cfcc9c435698a341fd9031fdf80bcdeeaf58c2711b99a7df2564b4ba1b3c4e72428fcc2c06374527c162f03a25907cf5e86384447a808ae3f9129c006f3429c2f7106d82ccce8a1afb0b2a403775d68f88b1080f35a61bf0b6868ad951f46cb3fae508a0a54e0fd48870f2db603a7a2fa12cb576156595cdcabb3b3103a0615134846e33e2fda6aa67b2f728ae903cbc7c451f0c143f161e4016a901d730b890551c1869a4680c88e4ee8621c956e037e67ae142620ab9eee9a0dadaa4d9d090bb3a81257243fbedca42d8d10263ea30315e535bcabc380c163ca9a804e527f204391254207ae50bd6f31d52d358eff8605581e035d67ce522b7e45dcbdd33823f4212897e3cde61e34777d4adcdb6002f0040105581e030e416f1cb51608f5da3d20a0af3077353ba818c9c8746b34815335aab008478e5ff6bb30200005581d0248cfc3a656b01620f4292d6efe2a6451a993d0322f5e7c2854d19a11084805e111ed1a8e6c0005581d021668139644becd8d642d6392bf93cba573554e9d9baebe36a819aea404010219200205581e039440628265e21d01d8efdfca11b88d48aec47a31b6241724a1f61625600c01471afa5a139f2d2705581e03bea0ec7de989874de751b4c3424a6a9c73bb400c787a92e5b74c8720e00c024684086e120ae80219ed3103fe8b04e4df7696c978d5ac6b9aa0955bb8953e2c1f3458568bb051e850097bad030a1b7bee6ae0088020243fb820cfbdb86f2e2962030609e08686f6845ef983a60318854c0e2e8eb471c7d9a8c82c6d0a7f7bcf1b2c16f0c9f9f448a36796abc83603d03790d6a0101f44e253042430bacb98a2bd15126e330b2e287f54081b3c9e9b0359ed29dfbf4886eab91117bbd5604694ba9e169a3f1c606ef36a46789ed5145a032738f1961cf933f323409cd93f61df8c0aa2302db3d8e978fcc864409ab3834b03ff09164c3d5fd0e02810f89d3f10fa04a2a7ebf54a6a925f4f2d6df291184258031585d393d7ceec649bae75eedc0e7563cc01542856ceb1a5ff0c9ac7e38e893a0349fa6d0496681f474f364b49c977642c6d7eb2c36d60199e672f97c987336a1c0311f5fb125c7a86d35b9d2c88acf9b21b846b0f59f2539e211f78169e52fb467203c9392c3de68fe9ab03701461e74c79a5a224a613b8328c1794716ff307e60fcb039d92c6afc29459511d2aa871a4e9a7367c288fc288133b49a89f57af444962a9032f00e072c84fcd2be24fb321d9aaa02cbdd25df0ae274cbf750fbf0aa9dbff76039767a82b68041b2d3fe1fa6e49156630679b45fecc5e791771687ba7175702800219ffff03a2c03f2301eb709ab9fd73642def28325858d9af045d6c3cd5e230b1f4b52be903d79eec20db21b18e1fa8d63fd57bd79dbd436c7bdffa8362a4a08ea1d52ed30703002e8b6f2857786f3356222f6f5d45e19fe8b4d505cdc3e053433382c7b4dc270219ffff0219ffff0308563c904f2ad231f3fa35c576df4888b8c5f8f4c8d289d9e817d48f6b2e347b0331f7723d3cbe7b1bb764794ca6daf8278d32805e908d272db8a897fda4c7e31d038e1b39e2924e75f5336d5bfe7a12d8fc7e16a9e93ac1f70df25363287133bf9f03d29a4b47d0c73410cbadf804cdd8a7cf74d2429b213f5623d34b560613b2a1880311f5fb968c17fc983d742dd607f728f44dba11c32fbfa269f6cb08e5813ccbbe03bbd01968e40d33cf927638b298f32ab92deefaf1dd28ac749d7a906bb181ef8d03dc2c8c9be9acb303250085f2028e29136b80f0a769c953ac9c50a3476fbadcdd038c6893fe0dc62ec6caa41e871a8b7caa5c7d761a8271a7a406cc7efca0211024030fa83d78b17971bcc68193f28cdf4879444da1d797dbafdd7b3ddb30a6dbba4e033340b025d7eb5555f3ca1db75eaeabc1b22e51cb85ced5e090ba973a92ecb02c03737ed55e0450091f7386710b6371edd7d240cfacb5ee09922d167b72ae15e086033cb271c0c6c713036cc37c57dd40a7867f2247ce395a8467c2c4b4774ce9f119033c77a2cc903c74dc59c906fde4f7391b51d1249833c8eb4503f493db3068577703a5ce03ceb906c3656bca7879f9171f957025adb576c71e9e5ac32dba68b72bc703f6b8439512a164755a1e533331badd0ffba7ede8c5c5459da844c8ca2b89c3f703da01c4eb7be5098ee24489318aace87fd63ba127f1963a2d30f3825e6ea7937c03dc57dcaac05e8eecbd97b44f8b6508dc536fd9aeb78ab8887b378ca20efee34603495c42b2a0c15b8853f41b542b7e7d8a4e0009691a485ea38549b62bf632f072031f3c6ba9833d766ae1756efe643053b8da235631836c6de0248d114635b73a3f0322e8a9c1f52eadf02aef44c6bfb5b629f868e2eb69866537684a667a3d6147c303ebbc7004d92d8b840fb021bc903dcb9f728051c4723e6c09856d4c43f33155b903726a766f26b4e9150e536d5ddcf94f29a497d6b1bb0d4ba799b1b6e1a42cd7620351a113a4697324da53ac3c44b1ffc0bd64f512dbb462a05cb06d1cae23e617f3037058c8c28303b8d90d2662c381158aafecb2f3c529b81c83940c7f4353ad5fe703b816031f750ad0126ef6c31184f3ce5415614c4ae90f9c203eda115c0e5e779203294bda3d7ea235af7b53c67c397138537a1ee254278b0df3f6b28f214ac9d0e20352b5c33fe1168a16d53460a89e0dbb9b1279beef0527a164bd292c3552c4822d03c50519f87bcbf8cd4468f41658819ecd137b3d3143b92b26e3f96f31eee3c53c0317fbe768a283caa690f4e63c7900adf4a0cb9edd7cae35ee552db6436e9c74cb038f9e14116c13a5f84819f5779894513af09346b223bf15050be50e44796fe5db0309daa9070fc98dcb0ca824d7b96f27264ceb3c7e31e8f676a4b5f815f7b7479d03bf34c8033a91372708d571c207f9631f0e2e3b236b796696565c11ecd2ba03aa031bac6df79f75fb0ec49d38136b6252693a4e4c639e3ad7042638476c894e94190375ca8891b3868d61dda2e7612a740907893511c47df70f8f1054620240480dd803922d976cc103a5a4d9941749898091499699ed2a113031b57257570f53155e90033a8c652d615f374d42b5a883572748d7317c033ee364384dd140747f243070f00381e40ad18f01924ea9732e78dc55f2a39fe31b5fa8d1839e452d847d88ba01e805581e0339944b4619e7be4cb70b9f1eff98eb1f9ee5d04609b60b184c7b56ec10040303fcaf2994e7f2665b14193c0ce4c663383aa43f086e4ba2490944e75aa4b8ad3605581e034b127c11120fef98ce0635c7796a902581ebb50224e8259ad53b8f47e00c01473887e133aa800005581d029c88219c34d37a84fc2bee81a88ceb1f022ff6090f9b9481794a179e0c18874704c3e57e23d32403515d96e89bfe9b04931b18618275a45f7ff87e98d855773d77454b9497cde10b0605581d025b81885342a45bf692276916b7e1a8228b35e540301733a33bc0e27607011bffffffffffffffff05581d0247599419b9c6fe9b045061baab0503abd1e600a3ab165e13db9c4de50c183c4625fabe5744d004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b5700582103dc2a1f89ffde244d97cdc8170abe780a7dd2ff167d62d8e6808e79f0f9f040304a0b9935be393f250de9380058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a0b9935be393f250ded2000582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04c063ef8a22e18397da1c152700058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820379785c3dfa15ec22a2dfd1b879f0f0e9cedb7457c6d5688c2f85fed9ef44524005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85309079bf0f01f2caa88e8c2c8c64e0ab3706ffc02184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5dcf0000000000002e767c42f4020000000002e5711e1e15913c3389b21b0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f543bac404dcf868cb3261196d7f9a34866ecbf0db90218480219b44705581d0266dd4b742cadb0208c468c54fb683023b68b478425ed47a67fa300400701192c1d02182b05581e0389741e6976948fd04a1a30dbcdf3c2f4bd5c182394a3bbb203acf3e850040105581e039c0a0b04c18d812e8dfb086c365fa16f6bd652022beef4b35a0abe01400c01463d182a687c0005581e0346b88c735eadcfd96a9986bff4e3e8f4cdb8623889397dfde1a7db34b0040103c73d933ca3e4dfb2abe108d2f8c1227dc9ed60300d06cb9667bd8ed2aefb389a02193a3e03daa35331197d3f3db0093206c75748dada19b73a0a6cddc3da3f09889271ac7103d12d47a8405b841b2414f029d64a84049204508289490ec85596edb41a3ef6c00219ffff03713912121bc11c8a4b8c1bf236c57953ef1f91caced3585d043a6e6628908b9f034dc87e911dfb914b03e411d06a1cb8a52825399ac4502ce985f62adc99f5811b031941d628d7ebd6029b8c2de015e4d66270686de15318876807c0904c9fc4b101035c46498ab2bf924f65d0cde789540ef77ff04f4f0c603e59068c9b5b411aa76303b60ea64debdf957916b4b6e114cfea292880cb830e24ff338f8edbf9e7cded870219ffff03b03b077033220a90b92eab3ba602abe71d0f91200f2e53bbef54c05dba06cce7030349816d68cdfb5e303bb643a791ec35b032278275748adfa536a17b6665ee3d0337cec3c4fdc56815d6face120f2c84de56edc8ec8807114edc39595cf36a598103c01f950a4865b598052dc75e651cb8cd1ef69bc7495807b5f62f7afe32421fd20219ffff037c92f86f02bf69fbc6159069b08f463f18e7b998dee21b57d8e2fc73cb5b25f50376e428688d17380dd54258a1fd9fd508a6bd8e18ecd28012fa0600ed62972e11035717d585016bd81043282d3dd6aaaedd3892e34e5ba2a7000f944bf56f6d68f003895abeeba8937e3e1edd2150afdae283b9a4a60abc9c34b5038c80dd8107dd530219ffff0323040bd44214c6e8e87ca05763309ce6fe106a0000b959c6c85bf2634b1871ab03864cfc64c1676dcc11517ee50d0ce7d3066372d022d50d7bdaa920ebfa747ed5034c4c0056729843ce9db69243b3b5d7dfe79112a4f8db9f9ee6a2ecfba98814ec0321786df8391fbc0105cae1b1bea6e8d57d7631e87ab87ceacf6cf8ad8818c24c033118970f4683fd8f56034a17c4d89531695324c0cefc4fea6fdf7c0e4f230523032812e6fa011b6a340731d9f045bfe3926a1b6b14715a5a1de0f65b7f8fb7655603c917386ed37f5fd7612707a475bd44fb1e93dd58e44e832574d2b8c48e79aa2c03cf447e0f848bd7b5c1c9389c2968b6f59972f3e646a6a944078352115dae7aa5030b9f0abed4902895026dcb54b4b056f8845d3818667dc37543841d7956ed8a0703b8c2bc0a98fc76fa4605eaf39c1297ef3229f957d49ece20bd58724789ff57ae032c28915b8bc9af66c7ac778b85ec27d69bd4ee1e52d98f7dec2bac3bb79a6bf503c2bba78e0bc4a309b9c5b43b707ebcf6188a1a3532e6276efdc4d02a503348b30350260b74b621fba167985868074cc0742b3a90663d33ac61813a898cf0183a1403743666d66dfb4e9756b401ec15702ba260b445904fd42b84d364ad24d6532255037da41821c56985ee1c0d9e88f17345f9bde4e07c9dff0d514269d7ba9f30ee1f0353806ce8bb7f52271afbe0b1b7a8020655b4239bbe37f7f92e189ef1fdd19ddc03044f14c3e292b6afbab7343c4f4b0c6df56e0a17e5fac6132e7f068e0df93bf30344d5a1d752bf60ce597b8778f6d8a515b96c2abbb4d07d8276a7496d510577ff0381b633ab987db860eb2400ada1d7ee5ac92d39e37819ed4f50a426df4791d8510303a057b36a5455eeffa44c26dcfaaa4e999db79c12b0db9d20831bcad7c9cd38039852b8665d2a1e54578448c498eacccd15209b3ad8502c5160ae6655a4e4dd3a03f979a240acd281a7d1b3fa8c270ca3e196b307d6ef5d7340e73d6594e9ca79c30365e5952232f1399cd5f18a2a5863994ad529a0781b96eb41910c554ad021b666030fe28cc9031498cfe367d9e4a5337390ddc9815242bcfcad7494e5101443de010391d46d87a15aa9288ca0299d65048b2a752523a5146cc1f10195dced776620b803625b2c5a8f0e05e2123897ece5a951f8a5fe4e8afa822e935d265982cb09958a03855a93f294bd1325d5bf38f68a9bfb9a651f2749cc54b3fdd9bb58e0095d9936032b13b5d4b69480325b9d0358b71d027767816ca0b64354a271b1778bf43f806303fcc90e4ae3d374e2b9311e2ea551c2f610d26d1f3897694d16e81aeff5301edb037f8c9057fc832a2298bd992b22b7f5ef238b46d521751b81de5fb3105dbd58250355f1996e75df98cfb8ab9c4505a49944be23d45c3e4f9e2621285f3debbe96cf032f9a959730ce118a9ca97f8f98ce9d1b5f125dd13a332d3166911a48906f0f7803248cf22050293cd74a31cd77bcbc615fc48780e5127e4db90f561c2fe5ade88c036f5c0728eda9f97cbbc16a6115586eaed85dbcbed48390c4f2c607b1946133e803f930756eab0a581728fcaf851943828e16798fc52107aa6407e16ee43509d2d0034e31bbf7855bacb924329ec5e58c715559ba6aa408702a73ac850a2e9410c7d205581e0312036d9faa424ceab1ca58eb6d82293145300d480bd295e609f9d40000040105581e030d144d1690a0587d192755c76f7226e0c103d0d777191cdb9d68233c200c02477cdd42821dc0d105581e03537c5035b8dc527f66b8c82f050460805b210bf9637652831df5f70f700c01468a4f3539580005581e03565b4df2c5957476d2006aac2d1c5c41e343b98ef339abc02c4098fcd0040a0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908039188efad72c6747c1e7f1e19036c430f6c4291fece213788dcd97857028c1b5e05581e039c512f91e21f13ebca1e24419617e8054943a56245eb3ee3ba050d533007011bffffffffffffffff05581e03058602b1552e19ad96578f935466a24f25fc14b8709982b7e8cc1e09700402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03f69d4cd590481a229ffea933ae23c87ffd52e58dab86e024a8beb852d007011bffffffffffffffff03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03fa7069cd405b5b8c7800fff1718aa9a388c02157288dfba2776a26ab1007011bffffffffffffffff03224ac66d1d1839d1b253d6323595fe5dedb6dc1cee7e965d8d5a6e0ecc207fcf045904cd6080604052600436106100225760003560e01c8063972fdd261461013e57610029565b3661002957005b6000610075600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff610174169050565b90506000610082826101c0565b905073ffffffffffffffffffffffffffffffffffffffff81166100b0576100b06100ab83610219565b6102c4565b600060608273ffffffffffffffffffffffffffffffffffffffff166000366040516100dc9291906103ee565b600060405180830381855af49150503d8060008114610117576040519150601f19603f3d011682016040523d82523d6000602084013e61011c565b606091505b50915091508161012f5761012f816102c4565b610138816102cc565b50505050005b34801561014a57600080fd5b5061015e6101593660046103a7565b6101c0565b60405161016b9190610427565b60405180910390f35b60008160040183511015610195576101956100ab6003855185600401610302565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b60006101ca6102d4565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216600090815260209290925250604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6060604051610227906103fe565b6040518091039020826040516024016102409190610448565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b805160208201f35b6000806102e160006102e7565b92915050565b600060808260048111156102f757fe5b600101901b92915050565b6060632800659560e01b84848460405160240161032193929190610475565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6000602082840312156103b8578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146103e7578182fd5b9392505050565b6000828483379101908152919050565b7f4e6f74496d706c656d656e7465644572726f72286279746573342900000000008152601b0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b606081016008851061048357fe5b93815260208101929092526040909101529056fea2646970667358221220266f45dcc0f640b86b617d19d2affc31f4b5547fd56bc2761d8eddc74675491564736f6c634300060800330360400f5c8071a551483bee88b6865b3708a99289b0a403a401af48feec6ea1a3035d585285e57dd654141b200556fb0e37dd12f3ebea14c395e1eef705ecd9c18503cb45c75f6cd3834111e3157484ff1283f6f43d16c0192aa525cb2a5755a0fcfc0354d8ea20e7f8625078c913933b67a1649108145d71c41822067b47f9821ed6a4030207f380855663a5db6e53dc0a6351102c62cfe07c273a7b3d597a83f3e5df9c036495028af84272cb5eb2944edd3188b62788d3cde06c7b4bc0ff28b1c1daea300335d7ea8887e681b2dca7ccf7ba1ddb1010463d3c14a27a0cd3d72a9a48fc510a03e9f46d26ca651ac19944af07cdb97f0d7118d3615f274ff6a16b60726ae3998e03116bb96e30166d10821556e69711ac31a0a672ef46db4e9b697756280a6b99c90389ab5858f77dcfb8a4a9b26b16e00bce5fef43e277f955352953465c9ded5ee503eec1125736cfef8453f91421baa8ff73349014cae629f939069b7e12efafdd3c035f759389549145736c6356c7ec422f665379cad1fa71a92dafe4caca0db3807b03502ac6d7aac75984e454b561f1019aa0e0f5d47f1da970c44f0edb54278aeb9403a09237faf21c1298b4d72f07af8facdcf1f26d3907c487856c180fae30abbee203714417e8be59ed35be74aabb9831a737b526def1b170b8f78a5265777866a0b103bf6600b3b085163f58314a15da975b4aa5d3a64ca285afd3dc920f15f5a5523203f4d0d1f9d8ccdc715a1b57fc3220217bad409ce0ea5fd1ad4c2c0348c9edac7a035f646bbbf4b8391defb07bf02e0ece996927b45de8938a99027a6aa5843f1cde03864243013040f2a4b19fed89d26057d14938bd6ea60bc1ab8a12e689918f6fab03e2abadea1e8404bfcfcabdf131d588a38b468762e5844efd7375ac88a310b3da03d18f05bfda6381441cb890a6ff7853f69a25b136989039c41bc6590ce33c789f0302d2a4522ca9d3948e33fbdfd370071e1781d6561c5eec547be27a6b6b8ef7060345130d11e3a690b71acb494aea070703d28f1391c56e8c98810dec4544dcd052034ac9ce890c33b20548e037d9d44264293bc9474c7eae1f172efeaf4484259847038732b54b984bd7949a62f87b3cc0b4738423ded9e61a09b384f15e9142faae1e00581f03cc562f513ee655c6aa319e481a04713a4311079e43cb392d3953ad1af6d0490159037ea65a12007000581f03b2c3b63f458092fad5203460af45d4a54b88a9892553b317558f2c5b96a047f6ab0922ef880000581f03b9e72539ade428d807fb45bb8c52a3c8582a26a1fd6a932e1c2de4b361d054f9b30557afcf76ea82c04015d80057fa2147dfa9035a499afa228ffc4046c75b6e0ce7009203bc4305a2d7660ea2170f58c7cfb88f00581f034df5068d72f1763885756feb3c05ac9183065d81a63b199be3a8ba9fda60486806b5de20d75e1e00581f0303a79c4cfb0e6a8eb5e797ea9d8c59ebd184d1fd67c04f4802c79a074600483bce7720dfb31ad200581f0302851ebf53f92506321ffb7087962802cf0f9ccd39d53994da266752c7b0442160ec0000581f03498822235d14775cb7642b35b77cbe925e09579bb59892bca6448a0a3b0048370f520a1577800000581f03f304e9c33f1ac941fcff26989e0a6b99486665dc568beca08f7be980fe604801509f96b9f7597c00581f034cebb936e0b049249badd47c8717f9dfdf35128e2b62312c75b26ef4a050410103215745146acdbbf40a5c0e8675b51e217d4859cf92ae5caae71b77591c47a4ba02197f9503fe7547fe64dfb1a078604c5b022485d2bb04e1be1bd6f299e65418304c5756bd034e6cdbc9285c15710216e3f627a45230716bc413b6f304b1afa6c98f3390cb350357005e20386aad293909baa31b9e843bda3256638b465f9620ff3fe9312b6610036ef9684888a1b4925f0b802653e8abcd4110bf3a6df41855d931a30c78cc4dbc03df61f24c92e19dc729a9a4b7bd0e2c9acb0b0a50e54bbe1f841f5048884b70ef03d0056c06b6601f10a27688e803baf9062de441695bfa9e3b5a63327cca9a12200341dbc5dac7e9fa9441123fa33aa2aaa9b6d56216f7297a9bf871fe94f70516180304dc39004f60a9edd3ff71df643d4e0c5f3068a7143481801483db43d5c561f603f2a49b986880a3c0027ec5a70e4809b53d00017de5456d8b7debc543ac73a7b103960115d87d51ca5475222ddf726463d76708f4997931dab65551ca3a06f247700219ffff0334cd788bd84f694e8512660df791d8eed9a80aa960445cc9a4f0363e5e40f04603e523ec74ba30281c2fae778c8f50f36a0fe8ca34002516f2a8278ce0eb7db84503fe6d51f1d2437579a20e0362466705609a6a703cbb6bb6fe0c82efdc02b3c2480219ffff035701f39be71d9c7db343985b8f4ebecce83920d147ed324470d63d29e3b9c840038c7ef458ad3671bf5486fff9946f9d0108165ae017b57c95f498501cd1b4080e0304ed35e84ada439ce1e1de914435db0921cee584fdc52febb331acd0689a880e032fca3bca470f59d5f72aabc05a1d496c4cc8f490d8f23ebf7d56656d1ff68f68036489255e7b6676d7dcb60bb1f5f91061ce317e5bc4e187588d9ec7afd2f0947003c55feea433678dd67bb9ff6aedf6365d14d05c809f121a8a5b7af134ef1a6dbe036b4b02b6b7cee97b66c10a49d7aaceff8c33e97c445d1a2da23d2a25c535641103d611bcb1929b66ec59a59e6ab133281b59a72db7d73c6485397613845fbc733d036c014ebb336321ff391e2adaf8e6db7053a90cd9b81d8632ddc4e9b51208f629032b5f96b626db024b6d59ce6ef4dc3156620f88e387eaca3143b6fbe126874d9e0219ffff034bcaf7d3bd2d04b233054154986fd0482b68e2eaf5ad4810acfd50c2812ed35703b93fde2a16c79a7fe5dbf046223c7caafc910141a697f8b8b0e79f34702f992603d00c88c877b8e6ee1a5bb46a23fa9e25aefe8ed5f77f33b7d5dd02bf375cc3e303ca4b784c21ec8ea78d95c07e063165aab1827c385003575330458c930835ffc8032fee87bb5bef0335bd9673be6a30c090c7809ddff527b63bf52b13bd7df762bf03932029e3ca525b71c6f316404d48d866e344d7536ef1d9ee55f066df5eb420cb03e8af93a99badcfb2193aa1e29e41d62ee1b6b4c0dbedb71d17bb7c8c2bbbddf103533fbeaf162fb2daa695e79f9bb7818aad5a6767b1aaed6465a28b698c006ca703e15b8b5b72cf356984fcbd809e8bcd4d29dd0f31a8b2edabc11c8285b5d8d7fc03d5c877386b0d44e00bebe3278fc3abeed7d70477cdbfb934181cbabd3292cff4034280f86a18d7817f12a92b03f07b9dbea2df9db995bc57b9f6297425f816b3d2037063292cbc30c2367c78c56f27ff163569fcbb0acb3c803f573cd988f61dea510219ffff05581e0376206f0ba778b536f8b5c5571b9cf6ee4279b8082d1545b9c5dc0b90700f044804d2f05f318bb64c1904cd0219f23e030356fb2ec062e1cac458b921fbccbb3f4d3e48c2378b52e2e7ad0bb69b841d93039db634b3587d75d5bcedd67164e02fb80e249876ee8ccb7d819da510daa8800d03dbbd8a3f5b6df75b02b6cfa04c5f3244530dfc6108c90878f96cf44d6b3d133303fb497226c81384cb04f0cec78c93195a3cda400a7fefb13d310fbcfee70e2989036ed959e1743ae41cc34259baae5586176885e7eedf1452848f99b8f3b2fb52e903f33c1db47d18c2ab2e22b62c88f06c74359cf0a56ca85f0ed7103ba68be169da035900fb625ae3519ac78bd5a805103fe7b33e5537e0fb38d1683425cd4343a1a603584688d03e2cfa0fb39b152f4f085d1db6c95a8ecf981c3750e1127330aa0996035e46e1a0c95d09e927c89cbf8f2489a2c6dcb777b20101704498ff1b0f70fe6f03aedb26cca64ee7b46ec7072a40ecd4947cc1d0bd92e66d90132c00a3dc5f6280036a0e3bbbf243120a51a4e87edc44dce0840fb7b6c272229677afe82b6f407b8b03409d731e3a813ab450dbb4cd3850c51edd88b2e4eb46028f46b597b4aec15a0b0388cbd79e3594bbdef0a0b565d3b67c7f3e6bddf6f55c325d1f409e3ae535b1020219ffff0353ac907a52ca6c934573ee1a5179fb1cb6220924f8949d3717dda710b231eddd032050a42120acda39c75a857eae5651522f6ede8b78ddebc63fadd2c32ac06ca9036eb058f6f920d9f4874b30ad114b3be2de4dfc24913f2fc5c04cf8942fc8335c03e997ed41248d3d0de834819f6ebf42fc5bfa3dbeb9ed9675ea3fa6d0366e4cf40219ffff036ad4a1b0a179bfde73a46b859902c41f8c3506f2a6ec6c9155649b0cde9afb0603a564bd6f99d5026abd352578955062d995caa6e17d2e47b5e901bb685b9c03f303d66d49257915128eea087bda816dad21b6a61e4cc02ccb41c94f4833319fb38b03c5920674fcd25a5f40660771ed3af1e3ae4a28e72cee0349c066b746abd0495d0333e02285b0a8892e1293f692f145153fd14403540a655428cdc960f9c45913f1038567acaef04ab488fc6b5b3c50758b3b4670b11541b31cc1899807d3ac203fe203476e59c93870ce4c4d81602fb7439cedcedd1ab457ca62a20a86b18ca0bb12740219ffff0219ffff0325b90f1e5d33281524c4a53c99e368759a5fa658b3804fd4c216ed0a324d95dc031f0109a2cf4f5ccbc03b7fdea40dfd7dffd3411c5f992266e69383a9c895d55c033302bb2d0bb051c9061541e43214c88983ac9b5fec8b1803253c9a86815924f60325ff90c1558cd7c9b45ea5d7f1b7309b692b819135c03e8e76de305051c02dd803346f3dc4e32624231f6bb91da842304daf550442c6e09f2fa64618188034d3c803ba0d4a452c74e86a77e1f2466445c5d8dda5c8104481e18215c4faf04d7dcc47032759f364fb59fe831aa426bf7962cc8fc2fba26f96d26223de54ba79c4dd0ccc0321c6407ecf3ef28ffe5fcb5f49f10ae15ae911adf3bfd189540eacfe03d77b9a03e5a1d4ce698252b31f26b89ebec6166ef16b9a386581324d6ce5e5411ab48a9d03ff6ea3f2ad38b682913d37b0f749710692351604b795e9f308e9e2f963f7a91d03d792d66033e3c72ad032b8270544c7e8c979d467998fd401be35242efe5d340c031d10f8c909669a1ed7fd86bd887b7ac511fb14808c6d569861f63290d493848303dbbbbdaec1d22d2bc04282db791aa271b0635a119e8abd7f7d0fda12f3aa81bc03aa7917e4c303d6e13f49c38b1247a51ce5aa23162949c2d4fd2e15129ae1250a03f59c0307f96277bced981d22d6888712b58a76531b9c39f972669030c79428ca03e18bc1437ae3a74611f45abd3fc9d34d36345a7796c12dd293488bfbbbd0e03903074846981b79fba367bbc1e46fcc08348c382b30acff533fbe91e91ee4a45f1f037e93281a32f0bdcfcd423cded3d88ef9c43923c6af1466b6b773763c33fbf0a8033194e2564d7a090f0ac5c200cec78265ea5e8908a50c7f36583f19c51a52244c03e35cb6e7738b4949c04342355ac29b664e544730311fdee883f462fad3cadfa10386ffc8ba6f3607c8e6bb125c4fe83e1a13af18364a663f0f23312d659e87559f03f6b41b23820df8ca70d7a04b20c51c933b7995d6ea0b293690f92d6f96a694bd03dd5937f609b68c540f6f7508e726d890a2f41a114c80828fa1790f61ec3788d203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e039146734ee422a29cdd1fdf758de487938b7404ac1abc3a94babacd1e8007011bffffffffffffffff05581e03d422aecbc787581ba98db131edd639d53ea7e5e06b8fc29680cce460b00c014721f5dc1f687000033d70f90e599423db509eef7585caf76d3b97cbce9d0d4a5f9d42329a250d851a03d5efce642f911bdfe12a4eaa6491982178cd0f50a8fd91132e2852b6d59820b503e50be108e79e07ec0b7444685c0f4462f2811275c114c4b74655f541f495abbf05581e037e40cf999d4587fddfe8b57a2ea970ca1200104d0888b4d7e12c7fe0800c08472060e5f346780005581e03fb4e8582180f727c8dc26f56aeeeb97e2b520d133aed91d3be0de3dcc00c01470e1dd7f2a4a60003eb14a52cc6eb4615dd20c86186b38c3fc7ba183c0aabdaa255363adbb78be48905581e0379cc23a01115d33645d1dd22dba6df39a176829e77b3b4e8f11ee84220084725bf20e0f93e1f03b72883aab4ec6bc8d5bcd68311f69d4c7025d0586f595ec5bd1cccff0e6c50f104591c4f608060405234801561000f575f80fd5b50600436106100e5575f3560e01c8063a4e47b6611610088578063cea9d26f11610063578063cea9d26f14610268578063e30c39781461027b578063e76c3f5514610299578063f2fde38b1461039e575f80fd5b8063a4e47b6614610196578063b3dd411d14610242578063b5a2e01b14610255575f80fd5b8063715018a6116100c3578063715018a614610124578063766718081461012c57806379ba5097146101505780638da5cb5b14610158575f80fd5b806317105417146100e957806321ec52b4146100fe5780636ab498a314610111575b5f80fd5b6100fc6100f73660046118e7565b6103b1565b005b6100fc61010c366004611969565b610517565b6100fc61011f366004611969565b6107ca565b6100fc610acf565b6003546101399060ff1681565b60405160ff90911681526020015b60405180910390f35b6100fc610b09565b5f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610147565b6102046101a43660046119af565b600460209081525f92835260408084209091529082529020805460019091015472ffffffffffffffffffffffffffffffffffffff81169073010000000000000000000000000000000000000090046cffffffffffffffffffffffffff1683565b6040805193845272ffffffffffffffffffffffffffffffffffffff90921660208401526cffffffffffffffffffffffffff1690820152606001610147565b6100fc610250366004611969565b610bc3565b6100fc6102633660046119e0565b610e40565b6100fc610276366004611a00565b610ef2565b60015473ffffffffffffffffffffffffffffffffffffffff16610171565b6103386102a7366004611a39565b60056020525f90815260409020805460019091015460ff82169161010090047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16906cffffffffffffffffffffffffff808216916d01000000000000000000000000008104909116907a010000000000000000000000000000000000000000000000000000900465ffffffffffff1685565b6040805160ff90961686527effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90941660208601526cffffffffffffffffffffffffff9283169385019390935216606083015265ffffffffffff16608082015260a001610147565b6100fc6103ac366004611a39565b611103565b6103b96111b2565b6276a70065ffffffffffff821611156103fe576040517f97e2d36d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff84165f81815260056020526040908190207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85166101000260ff8716908117825560018201805465ffffffffffff87167a0100000000000000000000000000000000000000000000000000000279ffffffffffffffffffffffffffffffffffffffffffffffffffff90911617905591519092907fe9ea56618d31afea8558726ec90e5fef0c46d19e0674b8462b208da51359ed799061050890879087907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216825265ffffffffffff16602082015260400190565b60405180910390a35050505050565b61051f611234565b806cffffffffffffffffffffffffff16805f03610568576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181526005602090815260408083203384526004835281842094845293909152902080546cffffffffffffffffffffffffff851611156105ec576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836cffffffffffffffffffffffffff16815f015f82825461060d9190611a7f565b90915550506001810180546cffffffffffffffffffffffffff861691905f9061064c90849072ffffffffffffffffffffffffffffffffffffff16611a98565b825472ffffffffffffffffffffffffffffffffffffff9182166101009390930a928302928202191691909117909155600183810180546cffffffffffffffffffffffffff42811673010000000000000000000000000000000000000002919094161790558401805487935090915f916106c791859116611acb565b92506101000a8154816cffffffffffffffffffffffffff02191690836cffffffffffffffffffffffffff1602179055508382600101600d8282829054906101000a90046cffffffffffffffffffffffffff166107239190611af1565b92506101000a8154816cffffffffffffffffffffffffff02191690836cffffffffffffffffffffffffff16021790555061075c856112a5565b6040516cffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff86169033907f390b1276974b9463e5d66ab10df69b6f3d7b930eb066a0e66df327edd2cc811c906020015b60405180910390a35050506107c66001600255565b5050565b6107d2611234565b806cffffffffffffffffffffffffff16805f0361081b576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181526005602090815260408083203384526004835281842094845293909152902060018101546cffffffffffffffffffffffffff851672ffffffffffffffffffffffffffffffffffffff90911610156108b9576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018281015490820154610919917a010000000000000000000000000000000000000000000000000000900465ffffffffffff169073010000000000000000000000000000000000000090046cffffffffffffffffffffffffff16611af1565b6cffffffffffffffffffffffffff16421015610961576040517fae04b1c700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180546cffffffffffffffffffffffffff861691905f9061099b90849072ffffffffffffffffffffffffffffffffffffff16611b17565b92506101000a81548172ffffffffffffffffffffffffffffffffffffff021916908372ffffffffffffffffffffffffffffffffffffff1602179055508382600101600d8282829054906101000a90046cffffffffffffffffffffffffff16610a039190611acb565b92506101000a8154816cffffffffffffffffffffffffff02191690836cffffffffffffffffffffffffff160217905550610a6d33856cffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff166113bc9092919063ffffffff16565b610a76856112a5565b6040516cffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff86169033907f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb906020016107b1565b610ad76111b2565b6040517f185b73b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600154339073ffffffffffffffffffffffffffffffffffffffff168114610bb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610bc081611490565b50565b610bcb611234565b806cffffffffffffffffffffffffff16805f03610c14576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f908152600560205260409020805460035460ff908116911614610c7b576040517fd5b25b6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460018201546101009091047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690610cc49085906cffffffffffffffffffffffffff16611af1565b6cffffffffffffffffffffffffff161115610d0b576040517ff897f62800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001810180548491905f90610d309084906cffffffffffffffffffffffffff16611af1565b82546101009290920a6cffffffffffffffffffffffffff818102199093169183160217909155335f90815260046020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a16845290915281208054928716935091610d98908490611b43565b90915550610dcf905073ffffffffffffffffffffffffffffffffffffffff851633306cffffffffffffffffffffffffff87166114c1565b610dd8846112a5565b6040516cffffffffffffffffffffffffff8416815273ffffffffffffffffffffffffffffffffffffffff85169033907f99039fcf0a98f484616c5196ee8b2ecfa971babf0b519848289ea4db381f85f79060200160405180910390a350506107c66001600255565b610e486111b2565b60035460ff90811690821603610e8a576040517fd5b25b6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035460405160ff918216918316907f168c41a8a7f5d81176dd8b849fe1dd8791803a3b75f63bd1987452a09385b90a905f90a3600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055565b610efa6111b2565b610f02611234565b80805f03610f3c576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316610f89576040517fb2335f2e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff851601611062575f8373ffffffffffffffffffffffffffffffffffffffff16836040515f6040518083038185875af1925050503d805f811461101c576040519150601f19603f3d011682016040523d82523d5f602084013e611021565b606091505b505090508061105c576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5061108c565b61108373ffffffffffffffffffffffffffffffffffffffff851684846113bc565b61108c846112a5565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f77023e19c7343ad491fd706c36335ca0e738340a91f29b1fd81e2673d44896c4846040516110eb91815260200190565b60405180910390a3506110fe6001600255565b505050565b61110b6111b2565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915561116d5f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b5f5473ffffffffffffffffffffffffffffffffffffffff163314611232576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bae565b565b600280540361129f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610bae565b60028055565b73ffffffffffffffffffffffffffffffffffffffff81165f8181526005602052604080822090517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529092906370a0823190602401602060405180830381865afa15801561131c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113409190611b56565b6001830154909150611374906cffffffffffffffffffffffffff6d0100000000000000000000000000820481169116611af1565b6cffffffffffffffffffffffffff168110156110fe576040517fb215190700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526110fe9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611525565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610bc081611632565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905261151f9085907f23b872dd000000000000000000000000000000000000000000000000000000009060840161140e565b50505050565b5f611586826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166116a69092919063ffffffff16565b905080515f14806115a65750808060200190518101906115a69190611b6d565b6110fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610bae565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60606116b484845f856116bc565b949350505050565b60608247101561174e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610bae565b5f808673ffffffffffffffffffffffffffffffffffffffff1685876040516117769190611bae565b5f6040518083038185875af1925050503d805f81146117b0576040519150601f19603f3d011682016040523d82523d5f602084013e6117b5565b606091505b50915091506117c6878383876117d1565b979650505050505050565b606083156118665782515f0361185f5773ffffffffffffffffffffffffffffffffffffffff85163b61185f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610bae565b50816116b4565b6116b4838381511561187b5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bae9190611bc9565b803573ffffffffffffffffffffffffffffffffffffffff811681146118d2575f80fd5b919050565b803560ff811681146118d2575f80fd5b5f805f80608085870312156118fa575f80fd5b611903856118af565b9350611911602086016118d7565b925060408501357effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81168114611944575f80fd5b9150606085013565ffffffffffff8116811461195e575f80fd5b939692955090935050565b5f806040838503121561197a575f80fd5b611983836118af565b915060208301356cffffffffffffffffffffffffff811681146119a4575f80fd5b809150509250929050565b5f80604083850312156119c0575f80fd5b6119c9836118af565b91506119d7602084016118af565b90509250929050565b5f602082840312156119f0575f80fd5b6119f9826118d7565b9392505050565b5f805f60608486031215611a12575f80fd5b611a1b846118af565b9250611a29602085016118af565b9150604084013590509250925092565b5f60208284031215611a49575f80fd5b6119f9826118af565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b81810381811115611a9257611a92611a52565b92915050565b72ffffffffffffffffffffffffffffffffffffff818116838216019080821115611ac457611ac4611a52565b5092915050565b6cffffffffffffffffffffffffff828116828216039080821115611ac457611ac4611a52565b6cffffffffffffffffffffffffff818116838216019080821115611ac457611ac4611a52565b72ffffffffffffffffffffffffffffffffffffff828116828216039080821115611ac457611ac4611a52565b80820180821115611a9257611a92611a52565b5f60208284031215611b66575f80fd5b5051919050565b5f60208284031215611b7d575f80fd5b815180151581146119f9575f80fd5b5f5b83811015611ba6578181015183820152602001611b8e565b50505f910152565b5f8251611bbf818460208701611b8c565b9190910192915050565b602081525f8251806020840152611be7816040850160208701611b8c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122067657973fc1ef5bedb641d3d4db5ea1ef0ec154f72e0744603d4381d862bbc3264736f6c6343000814003303b72b074416aad64227444f51bbb5aaf1e47153eb71f15f7734e0f05bd01a3e81031df5601061455d15d9af85ae74e64316e7f243a92916e558a7506cdf146dfb4003fb461e1b60d374d3ee9ef34766b3803290b28086bcd824d5ae375671d0424e5803046bd735af03a99fc1db1ae80f3795ab85bf9c8e0f150eb177cdc830b4d12c09005820036bdb4ef1a1f4bee96648f8711d533e9f884e36de70df8eaa51ba88578e86404998a3ae07bf2398d0f000582003ad35277d5e1394fec91136302f638bad1c877d231ac3830821c684b4f8f7e049a1875575e6c90ad6650369d8c3380de7070e6ccb57079c9dfa5c8ac0e22942a80841756ab8b7cfe6745a00582003505a7cf94a9500366cd858683ad5ae5a81bf9cfe8ba0d2556a07074c1dd000490433a39d8c4ae7fb9a00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0410103e3454b07102128943591b23ce6145f859a6e442b62cbcbd84699cfbca974d1b0005820037d647c226a2441e4119f23ce67f52fea17e0ca7289548a79c7328c402dd6a04a0a96af06e47bdcedb687005820032d7d9c539e629aa5427fbedef8373c9a812f9b3f730f46c5cc916b28d9fcb049414fe339d8be44b5ba00582003a6b63bff9eb6a9d05b257d6c09551158b4502fc32d6bc253f6b735e5f86220491ae93a3006c5dab2b90219c0ef0378cf6683ad63ce5896e6ccfd5eb6072882ffdf7a4b84c0b1e390f43c7c7935ec03a4a0b6dd50c180e51790ae24fb9971d426a64cd69dbec2d3d6dc00ed214f85a703b35e2ec0ad0fcb1cd50844bed6812e8f2111b924940410a7a870b3f652e5f7bb034b6c9630ae97af4312456dc6809dbf97db1f8d9eb1b2c3637b5715bab3390a4403baa017bf7ab398940f8af796ea1f3b403c0bd40b752b0f7eafa43c5c054f9735034c7bceeefed67ab641192e045c9788f313be374358bac1fb746fa7f28553d10a035ce2fef65a687d91016d2cc1311854189dd5ad577d00614a3bbfb2a894db6f6303da45dab44e797b20f4e35c736d99f99131c25252edf6d2213f7ef1ae4e34367f03bdafe9b77e512ddc88b3c619b677e19a3a0c94171498ffafc9ab3f963556b00d033638ecde107e63b40a8e240eab579d7ae67bf8edd563ea113df0fdced79edc4603568d97b862d59f827418c4c04fc2650650852878dd51c8a51760ad45757a1c700309de572982d9ba91297a09489119c0a5ae1b69fe88963d2d6b7e9eb40e3ea079036c58e833493b470ca5401bed6bc16f684fb6afe824f04d2ae12b3eb36cb62f0203e69c39242b959a5c48c8fd0064b047fbcf712d7c19aae0b9ad155d6d9e290f2703b920d6daf767fe60c0372c39c08c9cfe73597bbdb156f3a2afe400a99bb2747f0219ffff03b46f14257a6db78daf1e3c0d5dafe84a228dcbe8aa870f7c59a0b0c2c34295a403662213d0dfc6e5ae451631104306b9ac7f50d576c49cc8d7ab32886283f25f7c0369c192526f52e820eddb6717cd7f003ecfce5b34732b7392cc5c0b4e4b81e89d031738b5e7b13ce231ad7fb73003ac49ee77a820afcb7b8105eb77bbfa035930020377e25d08e27e07bddd2f31fc9b5ff87ea22cbd4b70ef24ceceacac24ad3369bc03e606d4ec5ffccc3b4cbb2788bfaaeda7ac9ae31e9aa60fa8fa8d0e8a67cda303032dd80694604e07fb3c537a9ff4fff95bb80cb3b832cec22eefa06ad429bb3b33032353eedb4de02b7ce799806dc48396925b51fdfd3f59d8d38884f187e3b6bcf400582003905c299ceac9d3b4ce22aba364cc2a54422dc5612bf1a87f699ac38d942c604a02d9cd60f7716a4578c60058200330b3af1c342c57bf2050b930f444d47334c4eeaeab2a3422c6a12e6cfad1604a054a05f6ef1c75b14a7e005820032b88ac2ff2eb3e21573d04da4e8fdc309f98671f373e5386151a965652b0e049df31e292913eb01d7b00582003343af9259657cee86c913a5e42abbc4a9ece444f0aaec38da0432cbe9ca570499c4f5333dd380e5552005820034adeabc871643a13b58ca4f865e466e6d065cd8f38c82160245b9b68cfb6704a032e34ac8c2a76118e63005820033a19ca99abe632bbb0d33bc13fc0391d249f21b074fbad41bd9e061d05c50049365434549a1287d44300582003f8d0341aaabeccdd21315c53bf1d812c30d21afc2096836402076dc9184f304923970dabff6beb0490033e0dfeb60e520a8ce3a6471a1bd6177929449fd18b0ed710ef71e48b3fd4374200582003dec5cff07bc5c5a91c5c9e800c08749f8edd6b4b3b744520aefac999917b1049613f5624353b9c69ba00582003b8bf0834d88e664e9b9c19c2f22935d07f340be914a3ac1be1244cd7d6b0e04910f8e1e7b64ce855ac03d2839efd98072cff0d791c132f47fb4a864ce5ff5adc08348805c1a3d3676236021955df03638afe4d1b5bc92cb934659d82e24c657dde99073918c3d8ec550d6d76c2c2210311650e77482a183c0b0d27d9712b8081a168e1f68a3a6f8002270b22b7e0928c031b0071192dc583f5f6dd4b7d9addbe245a4ed8feb153c34179c0c6e4b14b766d03297f25e2c4de5b0eef9bd57a0f082211a407f35a4dccdc6f90cf62a37dab8b83035ea47a13add41c7fb141fa3c3194dfb5af1a9b56a3c02c5d367b7c1a33a898db03c610bd04a569a6087401a5554112aa78bfcf1d537130086b8276f03a6a1994f1030b4b67ad931a87454038137fd3085f56a650984811332e8a523a774be23e3a73035f544a40912ffe66d18f3146465165f3bc61de7a457affcc371333d1fd001e040219ffff03a5132bbb61162c3eb6fe6f562fce0c750669f7b9f1fd92de969c97b4a250d669038dbca58fac98b48a85d7b5f7fd84297a3e08762dd137a5bc18a19895d4b899b10326c026d989832cbd67a0c4a1d4499ec2456e2f6c8143044bb0f604d9adf752f90340a63baa9ea9d71b684d1a28267827be7f765ff87b3839e80d608f911dc4462803735e3f835014714bb2db72804013474b4f2a891590adb795c2372891ce7af6040366921a722c93abd94626640e572562b33b83e1868d3474f1213d941675d6350f035bba77f4f2c895a279ff76ecbbc80f3bdedc12f1d676aea8cfc174b69d5e02ac03fad702ee0b1b5220dc7c8466b0a3496dbff6a87a01f9b05b2f1412d409a16c0e0058200309d6d003414ba459695a2ad06e4b80bcafe8d8ad51849759f4a3aec7ef80804935d9d1f90d256b9b7e005820039aca71b04b9bf3413e7eee6c3c3c44cedbab6168094ba989ef6d869ee3e92049460fc3ae8c7bea8ad7005820039c58b3fbf15ecd190042a9e52043ba9805401c9d9e0c1eca1cb0a477a70f1049342ce092b7eadf561e00582003c32105f0368098ebe907a1cd7ef62ed8c3e477bf8141a8b26f1bae4c58f8b04908296e210912c9b7540364f6673150d9ae0785da3594affde4bda1eb5aae5bd052e94e2470038435977400582003d0573ae30a6603daa867f44cbb9dd22d13cc0ccff997425397c2e33dec4e204a152c45c99b782f25d0f103e8147bb6e4bcb83874d1b243148094d099f31aaea9af10c6e7b02e5f5710d80e0219436c03a764231f4b8ae676df8550a91a77179941cdad14d4ffdd90b9063bcf475d66fc030b87f400856e3de541d5b617abc5c99d41a2aea5afccdbab93bae84f0fbadb760383f938b3320146613d187906466c105209755fdf9d80b171826c9fd68f0dcfff03a48450b0e7a7a4fc9669e38d604a7d540e564da54146cd108737dbe847e5755403bf3e7ed15b826bd5f8a08a909118499391697a77adab403eaa4108d13b18932103465a17bdeaba3f89fe05067716d65937fdb930dc98b4c2324b307490976f68ab03f7e69009e1bb77cc5f1b543693669535de632355582c5bc9076756169612aeef0219ffff0361a3e3bcffa6a446e3fe70ed11681f0191c46abf8fd9a964c897bc83f666c1df036d2ffb5c434ba788e9416d97a227ac8585ebe9839e890fb0c5e6b2d029ba00aa03a6584d4bfa8d28ee49b59a2614880fbf676c314459945fe44d78f1c2fc9734f40348c3fdd8afa07f90d6e7a2d432ac4fa0f35a3fe948fe3e3f517f19f393b65d5303e22e06fd519c46ef11d9b98d77c0405188cad71215ffb341b256f4933ae3ee32036ddce056368a5320c0184b95c801a19987778e9b9f70d1af6ef597f5f7ec349f03e77ca9e3023abc491988bdbf03578e51b1b80a9d300d5c89e5d4f554a298f0a80328a707d2e761902ae9e61a821039311cd31f515e9c980b6d309b82276c1721cb03b4ab38e19411bc6888aefc4bda9f8670da75fbf1ad4a1990b4f0df8a2835d47503e68d5e28df2bc5ec020ef74b985c247fa3a00ff679f06c128a0904110a39e81403d9f70e4ac1ce2053c86a28e76e0e7d743143b44c0d30cc10126c66b3d7444ac003fee23148eb3e9a2139cbc3af6e98f5fbd3609f5c854f5f3afd71a4b9223baf9103b9205e56a2788121984d626f0eaa35cc6599240fb2cbbe5a486591ce8473e18f033ab03de9da988750f48ca2f3cddc5eeb632f17514516de70228ef6fc668dba83033d498664bd6307ad3e1bd93a3ca05b7871b83a4de42ab4e0d5f40e5788ee63aa0058200354d4eaac2e7850c699f5736b91d6b87ca99fdb50ea45d0ddb4c5e3e03445e0493b5f7a95108ff0d882035a976285836a04ad74daf4b2025d5176de23e83c7af23953ba9a42cc50e85902005820039e0ce1fae55d1359cf70168b716c6b312e31dcb0f0423ee3f3800324488df04c084595161401484a0000000103639d54ef896e9e52067e28e6e7019c422d6759c7c31453f2ed1ac3cb018bb98700582003f484eadfe859a531ead7df14e8f53581e9c4dba418fb5a73f5b4c0eae316004938519dba36613a91f60324cb1181b67ecee305f7ba5392a5343927cbeafc0134a640286db5e873b684060219c6030321d202987699dc1f7ae1461c25aa516925722e99a675316604cfd03acc341309038459ef280d972fc58c9474bcdbf76a0b5780f00ea90ce5067ed2adb2c8e958680219ffff032934bd9ee302b1be111f2a438bb9982387dfc48881a343f25f4991c45ed6bde003eaf6b7a4ebea0d47a2a21513dc8bffe6ff993b2180c8e517430e90c3cffdec5f0357e6d2cb10bbbde68a4ffee2e2456f25545a58f044c5cfcc9af0e590a26a78a503d482f48d5445aabd32ee2df0b9b69d334e3e8bb3065474aa317b634fb0ca8eed03b45c652d834e16d34cde00ee24266fe5855a95af7780e84e75f15e1d50c27bd10340f734fefaf55936c2af765fd74b514735de696c8445ae28964f47fd0955208203d43ce3848d4e708cf5b7504694a5c937e6acad08fceb553b4bf92ec6a78156ba032e2b45913a3092727b1b85754a49d722d1cedb639b2f58d2c8b32d65ac4760cb038d8e92c3f7f4876092c8175aa1c65c7f816306bba8ec185632dcb00abec62de50317fecd788b6a4acb0d7356d7e8a0dcf24dac8369d33ca92a98304711df0b37560370a908ecfca3e2f61606c6a99b0a8e4e53cc71acfd6f0e8538619f80e009aba803cfc42081e58d1405c2d67b4cd6932b699075df3f77df35b0c014faa6e6f53abf03fda1d51bed9afdb7e458f31fb0c2df1376319e66599f2eb71dd8b8682b142437034e9f5f27ebdac6c1c296705d03993f6129cdc9582e56aeb043fdc346831a301400582003f2d6030eee4bed7d8c3ee66406204c1594a69df17b88df0368d2f57a8bd750491b20aa8e14bf14bc9d005820038f52231bee1de899af26ddf8362cb573a96edb32fe796c97105b8824cfceb0499a3a39c8c6b6758b8f005820034b361f6fc2b09fabe60cac094a7ac01f8254541f0cefd55f0e832563927c50581d1baf800000000002b5e3af16b1880000000005e1dbffaed9c105b6be38005820030eabff19e14a31e8757d3341d561f0747ddf22b3b32c5a963975b4dc73d10049edfb0154ba9b7e5ef30058200305cc3718679b6fd85af0ce2ae94dd724b4a3430d6b17dfd91915dfe28074c04903cf97f1a38ab4a0640058200350d6ad4a16104dc010c7ab8a95db09a79cc4f059668142ac284383e5afd2504ad3f65cd63b11a380ce770058200333a796e82690f67fc5dd4d2c39ecd7bcbfa09345514ce54e77c07153b5b39049a254cfaa65af7cfc9902194d7003d8db5adf9f5ca230e91e2fc92d166eeae757ecc80b5eac61917075d81832ca1e0219ffff03a320199e2a58b2454d62e78f8beccb9fff001f2b9f0004f3d7f6f413d9abdd24030e061862611f79c0b6c81facd882561dde9d1cf1cc00e677224a4f2356fcae6600582003a7a3ad5f657750868fdebebc540ddbb0e088c5cd9b6bf9dc7db6ec9d5e1ca04c084595161401484a000000010058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b04101033fd436018f67d2915842a48509cd62297e7d3e92f8e32077fb51471e506d029803d60e5dd7b1a16983253f73c85f9257f701c1f0e2253551b64e241fcd629dd107005820034e1f90b877d63fb2a685f87b78ecf731e4b944d0b2b9577bc5be66fc9c9a9049365704bab1aaab01ca0058200318f7f8a477bf56262da56612a96fed6a60dc6e75d2a38212b043db97b652d0490ad31482c0d164e4d603b7ff54d7ffff8194675b984b9abc1ad668ebf3ecb207b4baea95c39549ed7dd500582003496cba696fff41c4cc24a6df7fa9f3d26ad200aefbd460a05058b064f37e404988210a8d14dc107fc200582003f2a3c20b19740aaa58bc9bd418d4b90c335ff89f81a53520049fa599037a2049377446c24a473c59c20219fa7003c513bf24d363c79db5638d57a6186cca40c5b91d12391723eb1688de83b89dd003abe3fcf8c0dcac3bce38a4f9844efa136dfda4ff576ebf2464da057068d8207603bb66659f96ce6b2459e25e4d7d9dcb390836148c5999ffaccd3b2e0ba8cdb66603696f4c37348dfa5e6b2b128c4e5a1eba3287b619a0bbd58745c134c7c22e5f08034c4f0c10bc36f65327203817632ecd20bc37fe9232e0866d272bf91217b443cf038e26141661b06ea30d92064b224352f7f0a6b324be45a2d243ad2b801392421603bc8a3085033ceb950cce84690a87e6f2eda2b429f3d5aeec502bfa049a0f875703813bfabf1367a2231916ab8bb7439742fbf51f90ade86be97839fbe8e9cab04e0399f5a7d62b13fc943be0e5c554bbfa0b7213da6a3c5b19240af8b7af1cc003d603abffc65d7575d09dcb0ab5ec413cc6ab0ffd77124cec86002c1871d7ec9737d003c5bff82ddb72c3db0a1329cbe9ce27f1885971afafd5f881f25c2465a37de6de038214b698686208710dad8ad9ee6dfc9afc7cb1eca8e58d759789169fb7e62401036327a04f9f5f0f04ebe442cff3ae30ea277f9a2343be070d9833b2b56b79d1d60219ffff03924150c8d699ed482c858f47e9b6625746432fe963f5b3a6f112fa6e9d867001030614fb1dac7f23ecbf9de9e4ab95a730937e7475f9b5e7931f36e93507c1f66303f0cdee302b971c5c04f277b154acaedfeac85a670803cb1eab4135d73fae89aa0219ffff05581e03c2d8ee644298a05c5d5b62fb8a9aa407a889907442d617944c649e9be00701191c4f0219bf63030947085a39293feb11481f47131b80f369dfbf88c6be5031667328f08621929903e56316ddd0a14b82dccbc0b629af024f58a0083296060ee183597dfb1c63f5000219ffff0315573a9e6ba7f725e0a228f1a7bc8392bfc2c8a97d6b7d094b81b4f1b7ae2f1203e5d621b93c44f1ace58bc99e86c2446fd89ecd71348773f88ef774513872f9520375b726cc3d630b80ea3f80479dda46eb4931602f98dd92cadd3bb73d2e485a5503c10e2bd18f971981ca093933d0c228ff9a2d3e07197033c8efc9d00203a6863a03242bc079a0d12ef4cd160698e4f844244dc5aa57b7d7c589a62809f326491e8d03c86fea6d890f7b2aadf6ca29f15dbb4c9843f660f03c8b1bd280f3ceda2ed43603e4da3446b091533255aef42897b211effb59329d2020e4901f83cf9f276218fc0343a0595ed753595578b8243f81d120550c4b9b25bc8ea3c165b0201b47a8eed403dbd1e3905bfda34e808acc6529166f7b73aec0883a7e001edfe58c8b6a1e58650351e90ffbe1485fd4272c7faef33f2c7182b14215ea24c6b9f9bc60288224fc91035513bfb022280fa4ae3d6587ad5d145ba46d4e99d551ad138454583acd930046037efdfb741bf14d30019f8dc26267b32dc834ea12c7a990a2656745495bcc4cd303eb33e4f019b349cd344fe04c3c3e1d3076ad1f071084410c8aee19a0574c58840219ffff0381f946eee6a7febb25931cbdf9a484ef4f1879a7e8a12f69029375c2f5bd4e74038b083a1331695e460d6705f1b3ae4f30ead67e3c90adbf71c170109cdcae42a003f56d3c5b2bda4567f37fef984daa9420ddd173f52812ed3765e44e485ef85831036fb792905fac464059ccafa52d495daea83b02909661814c41725417752c0ef1034355f901bbfe2f01c89890a13618e0cb6e1c16cfdbe395d73e8611ff74f47521038987a79ad35289ae60d66d7248a6dd4079d050e0eac2aa07de05eaf78b7fbafe0330d3f9911515a8198db8c849273a42272f8552df66d38299b539798a5f7a8072030e13d5c14ebf07f6ca2dfa3f90147ec8832a651e76f13c80728f965dca832cd30219ffff039ce1aa6f9597e184fce655a4eb4abe1c203544f6ef0de5bffb7bbb40df28cc480334b88678aff023e4c0362efd7ff5663a0baeb2c5b53792caac0e623daa417be203cb7fa4fb3c6f8a68062b5a6e194dd64df622ea11a344e426c273af0c2e8636eb036c796698e2d8f676586e39aacbbb0b943f9c329a7fe68d78d24d79ccfff83e6803d0d5928defa99680156e69e7c6f87fa72ec72d134657327d91ba554aa8e28e6803d1bcc1a8d01aa29c87c9f52cd3a5f5a35d0156f3e153472a70039caf511051530311637cbc5e19b2b5634bc1707621d75ec8556929cda42417feca3b297ac442b5033c61d82b4ef5f8fa7719e3339af2f07a2010f85832f21143a42c73be8f246c0f0313ba70e0c145bbc07c6f9d8b7727e5f9b6219da079b061c0af556cfb25ff0c2703fb9987955b00d9c71b402d5d93f4e8ed26738904774425913ca1ed6ac1fe787d036773eca99bdff9c97b90e909bdf462e82867ff8fd54e19466ded77bc78dd1c2a034e0815738afd324a27019e63ca58ec8dcee79176918cc0b7957468a362cedefc03d94b86c83f5b1b5867c7ea7262ffe5e71528113a4f895c43dc1f518095a79d70031ff76c01ede7b117e6823077d2793ca18a6d384132b772dde1c65d3cbeca212f03124a191b06e3be3c36a5e46123b3356aa64ebf71a88f627d51141998b47036bf03d5d02f5aa1822b73742153af12b983b97bc85e903a3d352d6ebf721915a6983a034aa84b928c697f2281aa25a21427b6914e9f97987757cc44c7a10b2a27077af6037eb6cbea713c315f98e8a574ab6e821768f5d0e10f46ee9cda1107e34c81b5000399d0f1078b3f6f0f5fd0782d7046c4ef45bc3fb247fd1f4d5d184a2ebcafe0e40373b37f6d14b95160828be81acacd2ccd443cde4289c4c751c09933be958ea39e03357c9123ad0869377d3f15f709aac1c42c01a795cf8c6a8111f3f540383e236e05581e03dce0c5a02ba0097b4afd976d142036672d5cdf3145cfe1339ba53d53d00c044701be7b4cc12ed80391e4880a8e5f1f1a9d6716399b3083b914ea331b7a8462bda164d0ef9f8359ff0141030364444732445f2af0236d0f4fc584a0ef3f4ecf2be9ebbefdc1b4994b70ff37ba05581e030eab44e80928f4e0aed750d9ea93254a551113c5b8b3dffa25571077500c014744373c136ba09505581e03ec479152cdb1b04b948d71fc16bff76eca95dad2d1c24137f4ae4619100c014701707b8a5fc00905581d02e2707a794f52d58d418639f4ffa5d1bf96522c5b85db40a02124d59f0c190857473d77d78856406d032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581d0226f6dd60e485245f942f53836ab4f1b662c43bf84043b9328adc0ea507011bffffffffffffffff05581d02f6395bada9719caf0c052e0f3979e823e0ecbd89fd7edd2c6b7d4a7d04010219480805581e03c54aa631288946f39f78e82c6629d0552b645c70049d19a9d0c81a93100404031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0352d3cfb552dab1700a7e051b8717ff28b71827e9177e7c31640354e38007011bffffffffffffffff0219585d031558c60fff55a73f619e2d671540a0267413f468cd956b8904ca873f81cb648e0391f15e618bdf8627f646a78792e5c4caff6cf1b3e1ab4b511829d7da576055790318e0c81318ee09aa6fcd252ac113b69a87ebdef6d5806176f951d9aeb7809ec903d1f09b536850e8f7528041974d4fc55499caced83c3b0813602e6019d47e0aa5030323ba7faa9c86c5a925e1b57d8befea98293dc4030ab0348c1c3581d3f960100219ffff035ff818b47120cb89df128ad8dbfd1f19d9e9e2b226bcfe785bc25bc16e4ddecf038bdad5cb00cf96f016044774ba724e99d4f71aae0655061682eb7a737f68975003d2f499a26a9ca277db6c9dbf78a0a3b8f2c5c9e5b128b42909614fcd7f49449d031c55b61ace6594b58526c828a60bf838e6e610b97ada8b07e269bcee9c9b013b0397230aa2ca0e0fa43e6859b32ab3559c73a702c61fb5362078e242e790c0e18a034fe0640a9cf70d2862862212f2e1758f3283ac667f853aa34859440b99e8d087033c65cfb503f57cf40ed2b67ae42cc69903d3ca118c3d5fce2f9e8740126ece57031bf2d36b3950103dc81bee9b32ee35d2c3858ec01c54dc84cb1723f489938f5d0387c65c6866464aac7ee383d6010c8a1fc8aa6b8494da5a9f2f6e564cf6ba952b031dffa09d701879593247afd73b69b7d09cf7e0e0f52c6d0ecacac42e8898459103754b5abdbca5f1c3c4dd9c092bb755ee4b3c76e16145783b8b47fca76fb6430203ac4eb93952ec0809aba3751a55521d4709a928a952ed30a2ab70c56220ea0dcc0219ffff0328e2f3a71049f02f8762108f8976c4645948a9bf934d8d91f039306484ba2204037e07dbce8bc6527809b4568a29320cf60b6655aae8e0ae8609e62e96c893896f031ad990c9bb73172f4b5843c42714f7b96c3400497662e244c623c481d201ccec033e6f06640778865eaf3571c6df71cae7961d60cec1e33e8a9ee9ff312128f285035d54c16266cb3b6041a950cb3b91ddcdfbdefcfb25bb2281780301f8f954d2dc0313216a5238c172413cfead4287716a280d104e713be4dcd2b3a80d432c55f99703c7fc5b78f1237b67d1c9a951a6df24c1484d3954f9b346c61cac22bcc3c7c1a503a04b19133bc26bb3a91c9e5a1bfcb6a952390d533e5d9c6375b2f91c1eba009603bc6570627df7b36ccc8b6946384c1ca5cafa96053649f1277f6254d6d370f3f603209fff3a091b186680784e2baa8e1f9e96534c502a037a69de7537d6e297bf44030c884f888b28973b2559b688cc9ab31d1bf3fcd9549dd5d80304bc26f387d6be03c2d5e4296cf4f4d991988c1035d2c35a09d870ed8cf4a28d1bfc7406b5d1c3ea0219ffff03d1b6086a6b3640fe39e4b47041c787a90d0e6eedc0736279b105596a528c073f031fdf068a919da2cd25983e0aefd2d9404bb46f5389ecac51296e9b47dc04676303075199d884f8143691cd3983010ca626c21a9bcb928d2d7a0d54d0895e2ba2130380b97db8dda908c8f77fed77050d1dbb0de7cf4f37501d04aec459f73ae0742b03ec551cd2782e9bbd91604f7d2d4c27704381841e6cfa33bc01cf7229c735821103abfed92c8480d28fcd1998e486b4cc713538621af3fa80faa53fcd3e647a83250348c4e8aac9345c2ce74d9c1eabdbec80f714a8c598b5d256d9b0dc2e6ceb6f7b038b35d849997a79902e1fa01b85b317940484e11d75250c6a16a6b85993407bbf0219ffff03f91610b683d1c953171159f365d3ac41ec8d97a461e86979adf3ede2c890244d033eb2fc819f05d1608a0e1d2d9527b8d0aa73688b874b71a460b52ec304a0f80a0306031d8562669b1f7dd6a91e5ea6ee757a365722cbe3739e4043edc487062f500392cb79f7498ebc6be73a185e7c114eee886b414333f98fb6c8f83b455bbd1b46037985dbe1f373efc90da5735391670a86188de9a56b238fca4bfb27d27de5d4d0039f30765e52206ebb422b7776c9b6711564885c5f2fcd69a4145190d617d139ca03513e1bc455e371b3a81290fd8249c09ad210b99dd10ab32703d19a2606d6fab90362170a8dc8bc2c47e2f62af0d2e991317d42cc7dfee0d03db06a59906a7f405003dfb311dd375114ab02d4815ce99374c687dfab7d69de242f9f78d01b415b23b1037a4bce15f5ff53ffd586e089527d2d23d2d9f7af83f8ca3c3070f23a85a3cecb034605fa21ec93934135ada8d4153dcb9b2b296156646a74b0b1b1a0c083f5465a035cbe06863f750651078181f48e8716a002d7ce2cd2eaa8e0d404e11721e9d3d4039dfc9ea2e678ca5c3161d965ccd1dc2d4726e50e77d4214bd002ca51e541a500036231049ed63d0fb0476f416cf198d2e5bc5dfc5f67ca98fae49196c749178b430383690cf76e3e84a325d635ae7a3e3cea05c30e805fa8874ecdddbe4334e0674203f58e92c008a54c8e6e3123541c2c50e00e4066ec4f5706028924284505cc62db03aa7d5acafa7ceb6434b44997a36d7dd2a854cf6cc6c44d716ac624a69e3fd1b503877e595ed7f67f62d5356ab258233b15f59889ae802b3505091acf51d0e4d9ee033fa9b93925eb171cada0445e998fd8892c8ebe75924601481d1833770df7e5ad0397d493192614938b2652541b99cc6a675f95652e152b348acbd811a6c245bf8b03b3c0836818f71cb5be72bec043e8f8e525049ac3df461f7b0e0778027600bb1603c77a2139be0c509f37f2301f66b3b13af4eaa833209f8d088b19045bdb2ae1b203e1ee287d72ddc64e4d9d6b003a32e1adb5ea071dddea96be510ac22db07edc5d03a903dfcc63775cc518756b0c49b35e4b3b4d0308d5e6c63c2574607ca6b4392d03472aace4bd7c970dcfd6402babe90f74c36d21f2557bbc11b692e11d7a7e42c5034319a8b354067368bb230257f7bd5da6c4e8a3005a6623ab47b4add99164b42e03ad7f1928928e04559952e8bb842f54197ff07fbcbbf8738cd8da2c2b904c421b039b3ef85908f603c5054d66950460ab227de84211426e97d478d54d619c7c41df032763176441c5fbda3110efef38e42565e752981a2933755e82e3a818f1de826d031691d0dae3950b4a087ad7d99e316afa1dd349f62803d172a05ec9260599f20a033c66a651794508b76ecd212fbb82702032cb83543d20a968a9e168b681c2836203b7299a22913c5cb1742759223f97c03ae6fe9421372d2697b88c8ad04c7ee08303677313bf4288eed8684d4bad6e1ff659254d239a8785dbea1398135f3841cce403b05a5a76dd98d74ae6d0a77e5f01ab994f5f50047661a5249ce91d46a7fbc6160319e5bc5087fa6d26f4b732c22356a8526dba461e62557ca75aa09958b575cf9603e0bd40096a54dbd890f9c9a4cf4bb06e0f4fa960676d5db2e7f601f81341700303b55f69f5f8d4ac52ad4ad2afaa19d2bed1ac88309474894f8b34023ed69467d7038f8c659a832d8ee6121bac7388e5877590d368c90d36efdf4a461a314941981f03f6adf19bd6cf826ca15707f1f70541501855f48cab184155f5aeaacd87609c1f03664f60619a96b840681ac483c7846a5f9a3aa4ab0567cfb4c7e60331b2faa06a05581e03d93aac1412f22d76bbad5dd38f89f405117e29eac41d7620b52eb834700c0245b82b46260005581e0360a790a99ad83fbc7ef78a36b399459417f9303aea86115ac63ac30850040205581e03f97dfbf09c53f062c580273f4511c81e434436f3a8992e39f5596ab3d0084703a08a1e097800045959ae6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033005821028a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b410105581e03a2f4a4cbb1b67aa687f36aa61d0631958879d58861d3dea13daecfa6f00f0147dfd22a90762e1d1959ae030d8329487da35d8659e539b873e49a33cf3313fa1c19bd69d0a3e977aabaab0c05581e035547497eab9a72da4aa1aab6d3969904b40c60b1e87ea3c2e5e811fca0040405581e03c5d0f11268cd65335d623dd7e5e2bb1dcc90db4e6689bd66bbbcda3a40040205581e03854a5402ee10b25856de85f60ad0442f88de4cf0cf694b708a3c9b50b0040205581e03e3f6dc65e4447e6a86ddb7c9c96877b095b09b5634d01e3566c83a77e00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03fd36dedfa3a6ad18222ea91870b9d2e2da28a043b5c8e10dc17e88ef1007011bffffffffffffffff0219b9f103004ed5e0a028dc92526454d9335bb5dae020ec9903b913a045df183f0329206e03e7c3087443e5e9feed69d364c776586eaaef2f68f9b0a583f0db0e3960aa17ef0219ffff033a5c5e3118e05e0569de8ec53efa24f9db28bdc01954fec2a6439ff715e5df1903201508a4a56648d1b21a4e4dec82a35db3bcc5b38d217c03e29c3a71033eb5e2030b91472239eb3b851e45eca46060845bb96d12fb69db702c7fda1335b6ebab370374d78773e2d9d04a5632fcf49cd607373a00ee5a52d73008004b86cf6d2650050374b1c0c4a70f44125634b112943750532dc7d624625f3589dc05a3736e586ded0219ffff03660a1c101c70914c5339596999d834580419f73bad28633729f4c4ab0eae71350219ffff03132963a97f0407bdd328d39dd9630e2c5ee60c99f6a616c04d66a86550c25d8f03a0f31adeb8ec10105697d5e131de239deb903e40096cdee1a2eb905217bacfa303bb6937f68faa4f1655aad81872949206f02d835f2ad711a55d79eea8fe552ad40364a75590436a54632e02f7c1e957f2d421ff30bb3169dd7df5154e093bc7f62803b4afea0b11ba4fc1b072723e6d1524b20c810082d379e9f516a2800d103622460337f2b0d48efffa5ee07805b36ae00f303d7d733b689d94b57ebf5a549731289f03fe25d52c1c69a9921a8fb733268eed66ee4c117e6456906d450b8bf45e6a1e4203addd3348f3bfb48918774a6292f2849eeaa6d9cccb5cb0fcc4ead40342cfb33003360d70a8c2f3d19eb886827a94e14d2e0fb61f923c2ad48070c06658b615565403e2b6989696eca188b2c8d6864ad190ba03e031aa0533cfacd4b18cc78901f98803993741b583d063de0b616b9c920d773762cd0687a6522cd375665e06a29aa2a9037e72d0b2925079fee15d1123a14d11d701e0fd67b8c50cbef908b48c2959f2db039eb03468ad91edee4e9045d619225f0e1c5c0f4728c08c7f27baa3b545fc292703c86848378e6702f77fbff2c72f86ce7afd0d7fe1b36aa537374815fdc91bf9d103a54f7e603147f631c9fda221af8c6dccb7e779426106355aae344f823241f99e0387e56545f25e0108be617fc86753a719d67c22c067dbd73005aae352ca8807c0030bcc49a91a110ba428956d1d628fa767f5a2b651d8e7249ec5fe339e3181ab0c036d790bf3be4f64e13ff88dda3134975b7980278851590d32457f7b89fcb23668035b27d8065caf2542fafaacd95073cbdf2e6214d322efd71033c6342ba61f4bfa0380508373e59f16e54d9ecd555e14bb44bb73609243e83971aabe5991c494416303c76bca48687403bca79381d53238adcac50af92fe15112cf6844ecf70e95d575037ffeb11d9cbda1b66d2af1aab1afa8bc5e5ddc0044148ee0b44421bc4ba4bd4e03e26989cf74bd4873d24eced20cce94e0308e045694eeceb26de3d4043016d49503b9b2b2c21021fb7e0b634ab25e2e3b83275c74d2384c642920d3110d21ff094c03782e6d908f1b076c71019bdd818bf8b1bc122e2a110e3943e9b03bb3aaadc480039b546ac1aee65f52f3d153127b17e99960b5a23394478abaf78fa154d0fe4aba03ddfe845d47c377e9cfa9e2187c698f76a802161bb3f42cfbf8ed0febb4a6f956035774f1fc435893c448d5fe018c80ae6996377929bacbc50b1d23fc33e12c235e03d8b3e513eaa136ab7feadb9a153995b0f421a0a364a0f416feb6402f5856217203a812aa0a90d8dbe124172185f9c305a0f9fe5b067001cbbac74d62a194e93dbd030466bb6434638e3601c4840f4b7373ced2a22b6bade1a68706ace14a4afd1f2d0380b155e133453b70b4ab6d42a9c094f56ff4ab9040b2204b7bbeb8e69a78adb5039afc1e6b6080903add242c438e61ab2c7894c20ca514c6c482e17e8042c4a05003844fea85154023e42effbb9fa5305924efd745b47a5447bbbe88785b92f847840386645c304aff70b12c503395ea59f87ccab97a025073028e6ba658790ae87aa603d08b1ef6a8a1592d093bd336d381f626a2adc8e88c49e72a87a05fc4191185bc03f02fda2c46476f7c34bad85b77afcb7309c0c33445ce9acf1ed3f2bfde892bb403e300efdf76b150c1ed4fb63faff11276dd99de69de5c346909a4449d8f4326f703ec52bcb262b565d0dcf6fe93f3e4a8301056fa69690c9f40a4c89f2cde2bcf710375e776360f21abbee70d76d3428d96feeaf626f99fce98b5a55f3dd32120e43c032dff75f85c7eabfd7160762a43e6dfa465e31f1b2f9edef25e775e472a5c2a5f033025352304dd923ba987ee6116c11a63e6a0f183bf0fe058f4f9b241f425cc1103cd15b9a0da894f89fe6724f75d2c9bd8dadcfe907c06182982af2ba68e1d809003f99366ec7c32fa666d98664d415069ba3e7885eb942619859ba4609c72e774a10388097f0f375a04b44f762080f0e88e346e6b031772500247286cdbd63e1b4fc603d81597f66d4bfa4898bce568ff07b7b8fbfb766e2d8e4b0d33464d79c779e6410357b167d35071fa4302eb90e112aeaedf2831affcaf58bf9e70f1847da8e1e9ab045908b360806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122012bb4f564f73959a03513dc74fc3c6e40e8386e6f02c16b78d6db00ce0aa16af64736f6c634300080900330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305437aab97476ba8dc785476611006fd5dda4eed66b005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810546e38d4999fdb6fac24973e508cde9397e369c5af005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054bcd3a47e4d0000cf170e25d1bd3d53f7c08be0a60058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6049011b05361f2bd38baa0058210328a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c604101021948a405581d02beea506e63d9311b0eb23c6ed86e7ddc2248d7bbe9d3d02bc17219010f0149011b05361f2bd38bab1908b305581d022f5dce6d993107338134f4048a0ef5d2430bef1a1a61f0a9ab5c5fa60c01450572bfaa000219a0000334160b2b3414a1b448458100361c64bdccf5936cc939e8b2d592200ed19105df03da3cc90ef62d3ad9e255dff552fa7525c31d06eb64d5df5045e56a7bcd3538fe05581e037013a88a4a324f330a934552003c0ea9bf3bbae161c26003b4f849c0800c024701383b84a9a17005581e038a68ca0de222757ad180dfe2910996104dbdf45e510d8b7f8ce0c729700c01470cc8aa441de58003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0334748c9b864c1a7503fc03dd1016d10f8275d447ebcd45d257d242560007011bffffffffffffffff05581e0349a7d5dc763a3e1a8fff885943cd752edfd2814de2560f113870c7f4400c03480c2d8c1449f7162e02191ce403f1f0fc1c77adf0e1cb5abf0749989e5eb140c12723125ae612d53b5e650713530219ffff03ee5a53f74f94eed211b1550315db61e61ec4bbcbf88d691d9ba75d007b0415540219ffff0326d411259dd7a816b3e4416eccc5f9f3f8797f60e9181cb62c60f59668bb20890323172268bd2a09f78c3552b2e5469c6b05c29a7d95b51d92028cc3bbaab691340219ffff03a0fc6bf62efbb553457c8dd4d3691ec02f4a7421a16194c81bb82438bb5b399503481b82ca6d82804f4e9a750f67f6b54e6be42f2e948d9d44b89c177360910f6803a89e185238d216c1241a3d915e772029d7b638ecd55adec99814c693947a4c060364958e0d7d3c2aebb50fb54dddb25e94eaaee0915a72c1cb2759f538a9bcabd8035327ac387fa6542fe4b91dbaff5a38d741db5790d80d187bc2746fca795c2257036bccbc482ff275d6eb3376ab60d49d2c8b0e2212183b5edbc9bf27114de5363803edc3032532ace0446b7438d2ad25a69abb78d5b5d4d9a6c86f3cdef3da2934230390bd771d377f58819d16ba7f4fb447847f109db1775286e75429dec55261e995033dd46655c6a530605386f8a007b97ffc41d11efa1da43ac6df01cf140d2db6eb03bb749bc81a350dd73d0b5032cd39dc01d4a26dbea23bf5c79a027f02d0cc0edf0359d2192e558e3b913a53df2436387350239b1706ea2195672495100a29c6ec3f0300c84628c633a585bbd2891c3193e63dc9b42051c30175a5d7bf5acfb2129b9c03e0099b36fce101e80bf8573f29d89f3b8a7f20ec303f85e7dbf84408c407de77030b527f2a4c50fb1f85cc6ebcf4e4c8eab2f9e69697e12dd41a2216883586698a03cf92449075bf914fa054da8b992675a1f4133f3f63d532a684e04f29b93d8d93033f2fe4980aab2ac1fcca6832c46c06e1a41d631191fdecf6df3f8756e37f95c40384e87e3346d1a940b130af5a9887aea28b9698bb76114bb99de141f8d41383ff03a97dfcbe2ea276b20a8925b0b1b2e3e1544e0d8c4fdad3483f7546793eeab6cf03e9acd670f0490f608bc1cec210970ea69a8dff2ba043a6c13e2501ce2d5730e0034ceeb336e8946b4f13029e186c348e18eb210430ea0cfcd3da5622c1a38d9d7903f1e269bb2ba0795f8854fe528f8316fd010d98a1ba3b2de287ae81061adb28490309605662800eb77d58cda5790b870ae2aaf1ea67278a5d94b26df803dfcc04c003af4e843e8548a7a0f778b1163f502c4467e52874cb70953b899912f07eb0aacc03d7d43082ac2e9ca30d960da60cefc696394313d04fae467fbe3693fea6a78771032846bd46670bdd318fb24716a37e2c9cd532c60e94ddff9818da0d1ff396f819035abfb27964147afa3a887aa9f27db6a6d8ae66c29830dcf49a6277577c818307034cd4542d83c840e0216597ff2659415abddd68b7b26b8d4d2693723cddedfc44031207734600f08e55c762178529a571c9ca62563146231d7f54c906bedbeb52f703c38a054ce6ce7291505d939395ee7305bf384782851a090a2cc6a725289e1b0503292d3e6568c5ee43b9101720fabef09df3023a2e6ae4723c8cacfa7222e9ee31034f24704b6603eeadee8a5970a8d1a3c984b5184e530f5400e5a75208b580cb4f032a087181e6d748cf3efbc5d09ae5a6570769f79263a0f716cf3a29a9fc874c25039742b8e2bb1537db2c3ff03dcce2d16d1088f846ef25b457ce958af4d6a1d81d030ced1691469e0176714686f1821d790a3d9f2a945574c80c584843209493edd0032268192303e9cb92075064d094e70e79d6c909973862e06549f4297d6569acf9035c049a4aab88a8b5c522d646bd6bb9d6da3f82483bf54e98030badd15ed8f75503f2d6f383ab43d3f0ad88d9b2b5e70e4dc0fe4a371549ca186c2eaab8d830874903647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e037b91040323814def5fe1e5885970bf7336ebe296ba41f2f87b6bd0716007011bffffffffffffffff03618e728e08d6c75fceee5df5a6a26d717c72a1c286a8e5a305cada656108824601410f05581e036c5bf8336032604418507e76e774c9eaf8510bdf009eabbc831e9236d00c024701b8a58bfe334203be929853508151223046115a06c068fb4a2f6e20021049a980f87e7a54bbc0180368f89b6e2b92827b22832b3e8e220718449282dbaca1926c6612b59053034bc305581e0368bb1c2d0dc0a9475ab3907ae4af4f6a7d7001cbceb31e55f6f3a085300c0347013e4310efbae0031dcfe45d2971467cde0e563f20532a221e93d0a67971b43dd6ced67951dbe64e0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803abc1666ceaf37ed7850c81916fd30b8851ab0e89914925217822acaa716cc71605581d027b18ec0511d0ad48f90fbfd020c013ab8d42996e854b46d2dd29c4a207011bffffffffffffffff04590b4260806040523661001357610011610017565b005b6100115b61001f6102a1565b73ffffffffffffffffffffffffffffffffffffffff1633036102975760607fffffffff00000000000000000000000000000000000000000000000000000000600035167fc9a6301a000000000000000000000000000000000000000000000000000000008101610098576100916102e1565b915061028f565b7fb0e10d7a000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016100e957610091610338565b7f70d7c690000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161013a5761009161037e565b7f07ae5bc0000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161018b576100916103af565b7fa39f25e5000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016101dc576100916103fc565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b815160208301f35b61029f610410565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60606102eb610420565b60006102fa36600481846108d7565b810190610307919061092a565b90506103248160405180602001604052806000815250600061042b565b505060408051602081019091526000815290565b606060008061034a36600481846108d7565b8101906103579190610974565b915091506103678282600161042b565b604051806020016040528060008152509250505090565b6060610388610420565b600061039736600481846108d7565b8101906103a4919061092a565b905061032481610457565b60606103b9610420565b60006103c36102a1565b6040805173ffffffffffffffffffffffffffffffffffffffff831660208201529192500160405160208183030381529060405291505090565b6060610406610420565b60006103c36104bb565b61029f61041b6104bb565b6104ca565b341561029f57600080fd5b610434836104ee565b6000825111806104415750805b1561045257610450838361053b565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104806102a1565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a16104b881610567565b50565b60006104c5610673565b905090565b3660008037600080366000845af43d6000803e8080156104e9573d6000f35b3d6000fd5b6104f78161069b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606105608383604051806060016040528060278152602001610ae660279139610766565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811661060a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610286565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6102c5565b73ffffffffffffffffffffffffffffffffffffffff81163b61073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610286565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61062d565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516107909190610a78565b600060405180830381855af49150503d80600081146107cb576040519150601f19603f3d011682016040523d82523d6000602084013e6107d0565b606091505b50915091506107e1868383876107eb565b9695505050505050565b6060831561088157825160000361087a5773ffffffffffffffffffffffffffffffffffffffff85163b61087a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610286565b508161088b565b61088b8383610893565b949350505050565b8151156108a35781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102869190610a94565b600080858511156108e757600080fd5b838611156108f457600080fd5b5050820193919092039150565b803573ffffffffffffffffffffffffffffffffffffffff8116811461092557600080fd5b919050565b60006020828403121561093c57600080fd5b61056082610901565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561098757600080fd5b61099083610901565b9150602083013567ffffffffffffffff808211156109ad57600080fd5b818501915085601f8301126109c157600080fd5b8135818111156109d3576109d3610945565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610a1957610a19610945565b81604052828152886020848701011115610a3257600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015610a6f578181015183820152602001610a57565b50506000910152565b60008251610a8a818460208701610a54565b9190910192915050565b6020815260008251806020840152610ab3816040850160208701610a54565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200b5100b6056e5ffc17e66039dcd723596f9fe3a99358830e95788eba2919cc0364736f6c634300081400330395d87be5c410bd5505d92895a0c94a4a6a34c4012e3d112d182f9cfb6e86343c039bbe989cc7c43267e9fac82338875fb5038f4fabd9417378145709fbd130fa4e03eb130d4b00ba6390240276ba63719a8a2809128a8db0221064491b49d409599d03a57aecc5dcad4e18cbc79709633a008be4d1dbc257de884aa01f14cb251a61190311ca38e5f4e57ff1d7d7d398b5f965fb2e87da13a1c82505edba80c95ddc216f034470268cdcdfb89733d32721a1006c10098b947fe23ff90baadc8b7c14219b52035584a50fa0bd28b10176ba8b8b6d8e3ba6ff7037fd5eb153356b40384cb8280c00582003333cdb0d15a6f87d7d99ecc52119db055efd2d77a3fedd335ab11850f988c05819015548b6e71d305200000000000000000000000000000000000058200369aa289903c9800f499b6c92f7775aa8a0c9a3882ccb7e60b66afbabdd516058191e00000000000013760000000001203f940000000001203635005820038f55932c2d83837457acf5511e8c88244a48508ad5422ddcee924f6fee83d0581a35e285658ff248000000000000000000359a4d0bba4515098c0000581f027cdae4e2662914b811e9fe16a88ae741f61dd194d682c6a5ab35a5f147c6581a673ffb4a5d405e80000000000000000064c22b03de55d73b720000581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154c26016f1166be7b6c5611aab104122e0f6c2ace20219a00002192a1003540ca848aa91b7fae9d847f6f8250f1c245b3b2b473bc075dd817eebd16c86700366c3d17d32d10d2aa3e893df51e465c70687db155dbd9b8719e903269fe1adab0058200287b7dccb4c029a3b4167a7cd671b186918e317780216edd2008df3aa26c277581a01043561a8829300000000000000000000da98b181abc0da3000037bfdfad5a9134e248e063c19787ab920defa96952d809cf73a3d3ddc6566f704039c35e208b0088d2d57e67704c4846687888edfed816b1a4eba8de57776cf681103bf387c1f0d1d2fd8490fc55e94a407facae39807bed90018dd814d85333ed3be031d26c6c9a0021a00dbdddee9c82483b6d6ad29ded9164e281063ccdb68e25a9600582002d326e4443ce55673f829715cdefe1aa966aef97ebd0ec55186f987360b78395104000000000117dcb4000000000117d35500582002be02fa529336aa18f7795df08da4795895c33323964f57349516c6392062194c011791b40000000001178855032d1c7fb5cb447767f68b0b82e1d2be084c8442263b3281c7105e6e5180b379e500582002f06e3801dd38b4d6061ddaaf604fab671ec3ae4f746f6253857a1e44d155fd57b8bebfa3267c000000000000000000000000000000000003e96c7fc1b3e447e16f80569a5023c9866209c647a0873e843e9be56f802d0cc9032b87520b5210ad0938df50964ccc843f337ec8dfb8dd94eecaadf41b54de85a50219ffff035f3908346baf30f54b416ea6092b87a4a1c504abb99801c76d4fd72007cb94dc037f266ded09425224c88296e1037435563143d5ae206c7d17ea77066cea6d623403dda7609a34750efc67f93de213b2d302454327d6f9c43f2ebc1d9db235280756036c161f66fdc277237e460895e23500abb263877194ca0f7ac0c1e4aeed1b4fea00582002515de963533f32e04a1dc7e1e232eec5d2bfc5daf8e492122f1c07db379a7a581914d1120d7b16000000000000000000000de0de270412e2cc000340571a7eca3dbd2275008e69169893d4f66bd1cb6369124ddf878c531ea89dee00582003e4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d28042018c033378300afc33d7d5e08c57b8e4374b9c7e139ec30b141f7faae991bc56b0181a0219880003584a4413560dda370a7f4a59b0481dd1f8f41e9280bea0846a37b605a9037d8a03365f28b90fdd5902467fa5b0312baf6c816e0ffe41d54b2506d43e38ebb2b35703bd38c4d5b0f98481c912122c976bf32f70d43cd212707bddd32352b5914947d100582002f9d25797956b4c83e9f340205f3250aed3ea96b395412cfe2939983b223dd24c011775940000000001176c3500582002a423cf2567b148dbc15e4cb988458e5d7ec767ae2c3029eb895e733f08170558191e000000000000138500000000012093f40000000001208a95005820026699b684d285132722bc2c5c3ca45c99ac5c8232dbb1b3f6bce2a61f1c44f7581802563e8f01896800000000000000000000000000000000000328899b6812f005b91cb744c1c3101b5548e7990292a7b448c74b81bfa939b29e03db5d9520b0fb0717330b29b5b2e34fdb6539f47aa3060f5ed54083cb07e9441703ee63a39e224f9a3d15f23f5c6e8b90ce5e1c2177e800a38d95748b84cd7269670219ffff00582002ede591a88a6e953f754c4049f33904194115d3c1f5cf948c9a6ed80147c532581a5785b03c032c2a0000000000000000005627bc2762a99ca348000324883501d65eb654d42ba4a2913b2eac0285efe735dd897061990227342c9c95034106a9c65eadb4f59922893a19a432a52c1082afe05b4001f214328b19701d380332fa15492cee4adbc286ef3143517d5ad4b98e2a920a6dedc447ce32be8bd46700582002e933842e5d8510148c1d02690cc22248298a6d4676354dbfa69aef056e89df58192700000000000014710000000001210dd40000000001210475005820033901ed2fc224ce445b3baa4b627895bc854f429f61afbf9371c1baf749c56058192b0000000000001ee600000000012227140000000001221db500582003b981de2276eb8f5f28575373cbe6b13197db369a854d0c55747edd27804a10581a015779a9de6eeb00000000000000000001238e071765ded68c0000581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d547a6c874db238d7fdc84516cd940e97032271af6900581f0244122ff1e793e0e5fc623f3ebd0ace1b40bc31d65e63fae27ee2c7b6a352581927000000000000143f0000000001210474000000000120fb1502184402190882039fb52c8e6c423facb1b57c0330c0f4d60fb04cd05f98d6cb47d5b9c5e5592941014103037084243fd992f087989d2cef7bfc6589240b004e5b53d4f4a19e6aa65e8a0dc9031c0d5732770a1498caeb2418258d60395b78965ce3038d9beacc436e851275b70313cb1a8fdf68b1cc7ff6a692fb1b804242961fcf0d2a7930931b0167b21d408603daea655a1503afb6f5444419c49b81706cddf64be0fbbb482f66931dfd08a07a00582002a36dafebaf5e978f9ad07068b39414d4595a5bb74049142878f2b959abdaf65104000000000117ef74000000000117e615035ef11fa81a0ceafd02fb90c794ac9cf7306864c9dcb0965b06160f780186136203c3f52d33283d7c98b92bb2dcfd6fd5139a7d0bdecba51de7b687601fd105375d03a5efda344672bbae850cb32ee46b39ebe3a513f658a7b851aeb7269c4db4fd20033b2d9d05173a5087af1e259399c363e361e011db187eb2f67e1e42e127bfd7360219ffff034debc2831cdbf248719371b86426df46368a5bcb735854a9992c614622e692e403e6f4becbeea15c21e774763ea334715c041eb780b6587ee42d416aecbd1d191603fc73935ad91a7934cc2510ca2acfd8e1b33a3fe91c5265f617533103e18c267303f4c92ee179909afc0c5991d99e6660ae17923c0fa44c5962a7544176026188df036e45ea126f64b8d5bfdd4aecb55ad3e58207f0e212a4daf7bbd11bff4cfbc5d3005820037c124f1843eb7099ec7a0966dd16f83f03df25ee65638b0c8c7cc39090cf20581a46ef15d94516a200000000000000000045db6ffc90905f3a940000582003397087e82f3ea19ffb74c4d9f7000357dc3d8da887a0a524f855ea4ee93aa058191a055690d9db8000000000000000000013172337c901fce00003cc89f12362aa2c5780b1e46610e55fc8f743cdd80d79bf4be82444518f97657f03cbfba9fcac87c251c5e64879d25667187a7fce3557df2aa566378a3ed6e42c830058200311e8a82acf13d0b0f8ce121af3ef9d63200846bbd3973d71fefc337cd7d530581a01043561a8829300000000000000000000daa4ed83b6e90ba400005820034a496881d94c9a36722afdbb493bb89e0b07f13047bb1f81ae346077f7d590581a675f34e57178ff80000000000000000064dcf06a266ab4e42a00005820035568bd533ef0bd47daea0748fc6dfa9da9d952feea6f189846e565a30f9b30581a20bfeb26b564dc800000000000000000208cc00f3d6a5fcd36000219d4a2005820020e417903440d86bf8a590b26caf39fd10419778390f9a8dde1cc9548bf097558191e000000000000013500000000011cce5400000000011cc4f503a63fca8893fbcea02006ffb129be8f65419c0321140a7118e521c06a7e72009b0357bfb18825e2c0e5ad13274a646b9aaa9238d29dc334dbf5a371398108a7becf03308a595f93ea73e1d2097882fa92257fc1ea5a03c89c496fbccb74f38b7bf32103273fa1a3d4fc73b6b0957efda945143cd15b2b34dd9234e6476dd3d1aa267cac03fcd3be7ff326e5626b8b39797841cfd4a3f26f7fed363586372b8d0c35aeef8d005820028844c54d3c502b568e57fcc583d9c4677ef5c855a9496baec8cbeeb52be85a581a2111735814dc4800000000000000000020dfaac432c12b837a00036681611d81f41fad1dc9df80b199361d806485b77dd4771b7dd6ebcfb9948cf9032c0bee1f13caf84f11d8cff4c0e828bd75b4fb4c9bcd55010ce4bf5170b9f65a03f55e2aa60be879345c780ac8c134678caddc75837e106b0ab537f433a20e55b30397470d82d766e2e8b2d01687975385e2bc51da8d1c5b38e3597ac93590d815af0219ffff0343fc6219cd55f79e66f8833a89802d63f085dec2d300f713df94c5192780c4ed035a170b8b19e4a88320c8df0d9395c3c34c901082eea2a146dd9ddd334ee64f600338a453b5e4eed2394d8e73a270d95cea489223a334f518200fc940d6d024ddbc037339873d9dd3ed9f9c2c4cfba6c568e116316c101eb14654bfd18bf4cec64da9031782ab42afabe4022edb2ba1a3422b4be9f790c0a1652d361c4b286f6cc5c0a0030fb572d967542afa34a9aabc51872be7df0bd259ee15186eae735c399a3040a603aacecbd812e034edf58de8ece3a15ef11c1a756f254db57b7985dcd892d80bbb031090aee042ae805916c4216da1034823571f1b449ef0d68df5cf1943b79553d700582003383f94c1d6854656ce990617ac079edf146064ab1b4c3a62d45119764cb850581a01043561a8829300000000000000000000dab75362af5c74b400005820038d1ee3998ffeee130f4331c6141c5736da851ab78aea934150bcf152efae10581a0dd64e2aa0a6750000000000000000000da33aa2e24be12ec000005820037f6d96ac962ef746dbde7e60e5edea560c6609fa2ab4fa2ea28d43ff847ec058192700000000000018b90000000001217e5400000000012174f500582003b4f9273a09523c735b49f2ab3f88bd7e01e6cd40a5a6e0b9d7568264c459e0581904000000000000000b00000000011982940000000001197935005820030d2a24228bdf344bb39cb253559b2236c8f49b9c2293b0d2d44174979dc5b0581a018c0000000000003a0b0000000001258ef40000000001258595005820032a70f6efadcd2e66f3bb89a1d24aad396e556cd3af819bbd6d18f1fbd65a005818180b3d8712d64800000000000000000000000000000000000219660903913d89164b74418213e3cb4e0a257dac934697a2f09c283575a1563f4885da2903a228e67f80be6e5145e2b56a0d49e0123e9a242385b3dcfa70c30defa39088820367a4a3ea864e17f47645fc4993c4c733ba1b00f2629044d1b4b4b9c9808cabfa03b46ac4774034c088fb7df31e1993d919671b852994b74abef4465f29c6f3a16300582002e11ee78ea3687af53fc6446244f22a6bf675a617d77b4c223fa985af20ea83581a48bac97d441f7280000000000000000047a88ec0a3cfd79cec0003e3f7365f12167a1107c171bfd0fa1efaa4f2208cc65af74b6e907c7ff7f5c7f003b7a4411f748f522a354bcb97dc34ff9ccfe8f316cad9a842959c5f95d6f26828034cb5c8d45c1267cd81682e3a0405b927b1ab3af442092e9b96166a8ee98d6aa30219fffe03f5d7b6a174ce7f7de374c8af4818559fef39a27d6157f7abf02dc3522f6a717f035a6427661ee5b143cbe063f72a0fc0d5a8282810f50eedd4f53d8d23b8e33c9e0058200221bbd26df3d6637eca909a747e249043aa0d2cedba2f2f05e200f37cbf7da158191e00000000000011c000000000011f2fb400000000011f26550358e7e808b8b17e20bb13ecbc1a8e5b294f7128400f3b68385da7701cf30b93ce0317a70ea25ddf9c20539f7adb6a8a1e13e14a1908a67b053bcafb2fdde8e90ca603df10ea410d390e7be1d6761d05e2ccdcb2e10a289d51bf59a16c0034431a7764031abdb85872135e096bad87b1926dc28cd1a03cb97ad55b2d6c2e3e3b6cc5d0430368d8b3e11e62cf2f9c34d0e8b226ae8ad1d028137b8cf6c1b564f904474a627c03f2c61c95879a04f9e2bb41352f33a1fd6953347d6ff664b3b261595808c6161603ea396c83cecb525899e9b53aa27d02e58926b527b7ec23b9f90c0fa3ea91a77400582003b84b88e23b6385819ea6aabafd4ad7ef4312734da4605703ab87cc976a26c058191a055690d9db800000000000000000001317054a1311bfe80000582003d44c8fd6a9bac8af33ce47f56337617d449bf7ff3956b618c646de829cbcb05429ab878aed032e2e2c86ff4a9a9b05e3276cf1f800582003f042dfc9c86b19d757bcf10fab2d32b8b0f87d1804b331319ef6fef0075810581902d878f30db4303a000000000000000003782dace9d900000002190a0603505baed826e37ea3249f2e02ab4c1c6dc6a0e8aa4467b11eea0eb76f34bfcf3a0388e272f1b8d548ac9ac6bc58288deae6a022257748fcac9bfbddaace99e9116603c96af0dc2a8ee114f34745783acd69f627b92548d50c79e1deb0be000aed4e5f005820025741c93d30d5536c44fb13c6612fe0377c6ddc2ceb13bdb21054b45d0659af581904000000000000001d00000000011a0f3400000000011a05d503bb04f1351b0a622c368307e8a0336ef7ce4ad5ece9aba64eb23995bdfc67a67303be5a19caeeaf4aae08bc2b700d3f484c13f824244164ec158ddefbbe563919f503bf194a7a6b4981606025a1505f0d40987fa177c845979842d0f1e33366d61ced0219ffff03f08600a2c4a9e79c2c8f0d5b0d0a6278e0af5aac46c53132aef766a281eaaef80219ffff05581d02f8888315c6e4911a7fb3e34f245633aafadf73c0aa639eec6ac13d3c0701190b420219480005581e03325d83a3edcdc88397bea9dac65c855583d06705371005ca7c5fceb880040102198eab0396272631622b42c702d330f92ce6691d1ee940a6e362effdba6562e652cc692203a41b142d67bd230dfc0057800c5541a6ff0027d977988c2900eee0ebf0b18fd303a6373bdb5e0ee40d2e9b525e16444a2286d7985dabe6443fbee32afa9432af230219ffff033c0e2243cd29af46ae3d8f00211b807d42237a922dff29c363214924d781dd2103482927638d33ade9e0b2f523ec1dd00e177a37748252fc4baff7e1de2501b2cc03781d5f1498d58864e2a9d1e89d5ca23171d330f1d9bb68899b8ced29a51a6c0b0390bc06c1afbd040108d17016d1abd12204a21eb5c11717c1d78704248a34b0ef0219ffff037b5f138b06d6f002963f9937f1ffdeda65fbf5674957bd4ce12c3610cd4202b60219ffff03a4f52bd67e66196f73f10b74da504b5bdfa403f024461026280514b589d99e7303904f822f17a2685d5613284579b5cf0a5689fe1085c3e07cf6d89c0e876d5ec10374ecd81b707e84000a1637f6b7330df92bf1907c36ce9a023a22dbb784db011d034ebd4a376a2edb82cc2ddad312403e5665f5d2af52367cb74512252b2605f2dd0219ffff03d52652be62684a6daa69936c502a84048b4006b3a80b95aae1f4a38966877b1a03d6c860d4ef66611a51cce8526c59f120dc64b7f38d4cea23823d50055f62428003bf81b2757a1192bfdf6643dcdedbe08a214b3df8457a2513294107f5059bd9f803b61c7f2413206ee44939a5f878ef17e6dbeab13f9c9c0eda7a0685044e99a32f03b0f54899cfcfe1a0c8c14a8a7d767d2724771504d9bc9d3b41ad8e9deb1d0fc303893e2f51770dd7f4c33a634e7e4f1f7828ec82a3bddca5bd88e4dfc73949d12f03145626b5bc8d802bbff5bc9ee5efe55578d945d0adb528dbc8c5fd4ae85eae1b038f272fde8c4dc320c4736c50ca726f24d26cd28cb7d86354ad5a6eaba695e949033592db7b8c412de70127ac40f843f8b3c3e3b0eaf795767afcd9b89451575f7d036f8152540367a24cd0388d156f005e1ba770230a30d751f29bf07c9aa83abbf303aeb1ea7e3bc3033e944eec7f34c80fc54eb288417135111e39ce30e78993f411035cde3cf25acde61b584c481fd6363cd3c9322002333f8fb64e89fdd3d06d32870305e18c0365919f44903739ffd08d212342fb90f3845a2553d3083f6ab93c4b0003a1bcc68f6813eeea8ba58c52fbfcda1ffb746c09dff46b00b150575b3515cb9203a15f2f5d8678425d1c47991a14f9b32a4adae7cdba786cd941f80007a9cd510703296e90eb0d954bc514a75ca656a9e20416372f18aacf384e8bd67a92663b95f403aa3d624e7572ca3c19ed65a62b5c4cabeddcc94466fd81aa2151aedc7d43847403f9ea10c5e0af26e0e2fc6e1410f97db8d38d33dc79a452716b234e489cbc9759033d455ded3b4e19ccad178cd3009a1bbb6a5491211f40a243f3a37fd7e0c7eba2033a44c23aacfca058e1fab33881460cc5681c1d15b0329ab75cca430b32336c6303af265450113bd573e8bdac34822a64bd6d7ec7eedd204d48c6e788d559f7764c0304471a0970fb4bd36313d877accbf270ea9f15fc8c169af2b3e918ee986c44ad03d69ed957db19f1569faff6aa6ded66f5b1d6cced79f043bf5456e227b356185d037ae34403dfc0fc6bfa09156d1459c1673551b223bb124c6a96ce57a969f746e0033a734d69bbe6057aefa0393d89b1ea57ec0d5910c5063fa458f6646d3478b07903840ae47bf1f4743e0674739b417c47a91637a17ed358f06b781dde261d44e0d503d5ccb9d14b7ca347886b332b05506263cac8f45e464d21f62d6b584b42652f6b03c1e84f878f0731f3044c6c650a7af810c3cfb4a48b0b20f951831bb613505ee803cde5dbd8e13a43c343c49cabc8530733246537bcc2e9f993c2bbe3274154bcb603f73c8e3c4cf9dd46a044575b562bd298440805362fb581573963b5648eeff39c03c9cbcc8125c16be25882f12287f279eeb64b27aeeb5d5221d985d71a6cb28312032c94b2c6f620728317afba5ade5dd719ee2f3fe0ff7b62dde42db4e27f2f09ae03bfd29fe206ab8fdd96f5fdf5c1522bf34f2ae2c5b00698079797f25f6b71ae80033dad9e7ac7e21a36a5272832d1cf1bb6bc066ca3a3c0e3bbb9ec8448ced8891e05581e0325e985fadde25638c4096ea1a1e94c18d9879791b81086772c55ba1cb00c01461319718a500005581e0374f36a65196e6d8918ef23ec0d66542592a8b080912e26f0d164701650040305581e030c48ecf3cd2cee55c6f744667490dce55d1ebad21eeb90f74176e2ab100c014702ce80355f5f3805581e03f129cb2313cdb328683d0ff1219a0a963318d5e19fdd656d0b19a8a8400c02470156e312d19280032263dc8f8ded5ab1ea94238e574ffc09b772cae0f610aaccb860e65f29b4be990459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000dd66781d0e9a08d4fbb5ec7bac80b691be27f21d8d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613b86565b8715611aab57611aab7f000000000000000000000000dd66781d0e9a08d4fbb5ec7bac80b691be27f21d8b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000dd66781d0e9a08d4fbb5ec7bac80b691be27f21d908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000dd66781d0e9a08d4fbb5ec7bac80b691be27f21d9087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000dd66781d0e9a08d4fbb5ec7bac80b691be27f21d81565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000007b3ed3a3444144ff526554d5f4aa463d1759f51a1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000dd66781d0e9a08d4fbb5ec7bac80b691be27f21d16939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a037a838692b60b0190bc75fdee77c60de1c3acdbc20d78e972e4e00d12571a65e203bf4db45ae94373e9fb96d1eea8bee4f1e9899ec3466119a4d4996cbe2d56b0a700582002c85d8e52239290cf46a1b1bd481570fa0e84808144cd11e44ab80af7533f634d45964c52d2aa9a3c8cf600fa8a005820026db2986438a5f561896bceaa5f5504e79bb91cc9c9e0d7402ac155f44e749758200100017a0000000000000000000000004cc3c93b5c0abc7eeb000002b21d9490005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f010000010001000001b3d50000000000000108a69021430d04931aba8b7bca005820028c370613153d4d54935ae2aa31bb433a8c5d86ced947326a4049f0f46a0282513dee5d585b6136102ce72d0bc3f539a3d400582002e00ef7c8248f77a343e181ba463e45cca19b2a64ea12c475b5799d109aeccf58200165cf418b0000000000000000000000cdbb086d25438d3ec700000702bcd1500219622203a1acf9548a250ed02669e8e3f8586363d6861a6fb2f2f90acefbcd5f5970b7fa032cbf9d00fd5b7893cf0e730e9f30e574db66c14804afbeaf27a741c0f724bb20032398b199e8a6ffae43c9ca1771e38de0dc006e0e076eedd7b13f476e595446cd0319fd52f423f98568e23cd9efa25b882be1f077ef4e26a6704597681af211585103c17c7535faf8b4d81f8b8eeb3250e9ecc945fbf105b81b6f4c2cbccbad29a63a00582002497882cf9008f7f796a89e5514a7b55bd96eab88ecb66aee4fb0a6fd34811c58190800000000000000000000000000200000000000000000000000582002d298df602a4905ec6467d38325b95f3090bb038e99255ab71751e7c89b48ae4d0255df30b73e08c42b7a15e1540058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4a071829fcdd734411090700582002123e47dfbdf897f79e4590001f58fc740a0502a0129fc3082cd9fa000593de4d73b7a773d7ef4b5069bf1d0ef10219841103128a8459294ae653e5ba239b714aa66ee9d74c55dbe4556bdf4e4d663c2f39db03a324547ee72d15e32768562c711b41ac9db497562464e71d994f7a187752d84b00582002bbc738c64867d9db7614f771b0b7548abc23f0ce1bc11db5584ffdfe573b044f0add7e47221e44b2d32f3156d6701800582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604f136e8a9303b675ac7038c7bb24ec4600582003e9a891e675528f264f6d54f4e08512d7a61a592482d3f27b447885801381e05820fffffffffffffffaef43e5cfc8a63113000000000000000510bc1a303759ceed0205005820027e0a8c65f6cf2ef88cfba6ea561d1c11d552f1636da3d844267fda43ac5742500275af7bc18c1249e1f906adf681a94e005820023e2b43f932839eff15f7148620545161ad7cf128d406f4e14446e887669a5a4a02ade7c6001876d61fdf03931e988241dc9be25d63335edb190528c539fb2fdbb4bd62c7514676b96d431f0219141303630179527f0abde013b976cd311b0a90042833fee0121bf54060c98bdb1a1c1903739ceaa575185d1a365b83b68864ceb1e477c0bab892f8279c7c9939da76d75d03ef53110911002601fbbee2c9d3d520aac6ccad1a6af734906b61cb5fc2c5a30e00582002fa8918b123edf3b00166521b362453ce960be7645524dbbf0fff49de7ce1b85820fffffffffffffffffffffffffffffff54c5c0234a5ca945b2f36e18c85eeacdd00582002f39b7b0c37cf87dd1e4587bea300d940d33139fdadbd4ccf283a52b47fc253490577b5989920a448d800581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820010000000000000000000000d1b6fe607a5ad99dd100000732e5863c65cf5dcf00581f02bc03e826095f6622dded4e2d3205545eaa0bf914d3ff5bbae624981a79db5820fffffffffffffd521839ffe78929e02100000000000002ade7c6001876d61fdf0219028001410f00582002c9906f00400cd8011256368849abf5d045cb493cf4841c92ea0271eae73bbd4f010100001000040000020000008000005820021622d5070f8c9a72d1b55c6cc8cec8cde591ec8a21700ff6afa6536a19e7e24b10000000000000000000000219084b0219ffff05581e0364a320c4e17220773f9bfedf91501401cb07c9d504d99d91dd3012f820070119567e032ed569ae4935db7bd05d9ab17356fa34813b577ed3aa31994e6346b2287c257105581e0397ee968efe5e833dfa63820411db7768f309203085c7b04796cafb2d80040203d990d1130eb8b9dcfac12124d5eb29d3bb7692ea2ed881c5482e27b0f6161b2f0219b38b033805c06403ef8c758b06181db78ccbb67b06222866988ccf6dd519ca2f792f5c0375634dee74e2add2abe937b6510479ece134be96f635ebbf5992daedd0a75b6c03402e76e1f78bc93032de7573f43cbfa9f130b2881d2230879dc5b16a1452214103f64f84e49ce6b8c28a6ba6777e249684778bef01aeff6e771a646d12500ef9ee03bf98d0b2dd71d1bdd352d6f92e6b99b6e1de2b23e7594c487655cc2b44df96ad0219ffff033bd16dcb86595f4a7cf22e733902f75d814fb97398ca86115644a357166a99dd0219ffff03e54811d2952c7d7a52adba76818dddeb2e5516be30bf8886d1f970cd8e159c9a037d0da417f847788fb374ec9d973558896afab4000aaf5bea9daab4ccec706e0f03296c4462e36b6d985b406af5ae59606b4305bb225bf86b96ff65ee57fad8cae10348dffe7e683c7f7fa9afb15975807b6314e484bd3d4a96e58d9d60684753ef78039b6fef9cc6720a1656d270b9ae1b683e960d913be0b06038a15c6dbff64b5ce4038cb4000ab227a5ce4c524ce5930048af483555f65e6595419ae70fe6179debe70219ffff03a7382a7b33c19dfa9050b1124a13420ed4cfa660fe43509d583037baca604cbf036ae7484b8e3c621355e5c674960c8103d55b07a867f06fbc89da8eaa61bcd94b03f0c595966f97acfb368463e0572442a09929decdaadf7310848bc83c169eaba303ac4eec45edf3a0f405152e335746a3f92959d80427f33e2ebc1af4f00076304d030ac6a27ce30e4deb64a2f1651926ca2dd66b2c852680f487a3ed2c2faa010a5f03b1a5713f7465a06f9592b94aeaa7546c8bdd04bfcf00ae6d26b1e64cc17edfde03e59e19a2fc1b9191ea75fe30c8c94f96b789ec7439617c3e13dfe5225b31fb9003f2ce9a6dbeef0995516af9e3cd76c157366d014f916c9595dc114f9858cacd8e0379eca4a0b1fc5e7f6085e82113d35d24173d17c106b55098ca6c834f5ec64c7e03b22b4944657dc1a269879cc712fb392c7e3a249b683ca35751d61b1594db893e0323458ada667086eade0410180c17788968be5cbe250eedc7452eb64d753c9a3a03c72e3db84ac61df3519a2858591d633d64a50792085b88f7960b1adf62b5e72a03cf1a5048be01b7c9c09734663c091893c3748982dd6363d88214ec1fc067c97803b088cb2ad31649a8ee3e126810ba60e1c308476f143846d0830430684928be4903e11f9da2cc70bc839f926c9bde50a89baed9005ca1bca0a42a48bf95ab60299c037f161b047b5d50acdee87805a80852ca80ddda0e379d4d61bcff656d3fb42af503b34e4f13884e153276b96d2b3b03cb9604aebce8c4750a8132ed6c16747a70b203ca53a36630d6b5d60f5eacf5e412cd32f497a25d725c878ee85cb53274d54df00357cd79e0d468277674fad490b771db497bc5d72ecce5d185ea38118237bdce5f03310a66f98440d853afd283f548ffff9f5f0fb33983f2a7ad8a0cadd32d2f68be03d16625110731fa105b7d6e281963538ce1cccbaa3b1f5fc4e7252f0a43b75cce05581e033847c530ad8cf75e407d436b34380c70320b31138a3f558ab7214a65600c14471359a586ab3f8905581d022da4953a82dd56c89341aced4e132286a070bfc908ddabe6f61698f60c0146de3815f655000459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208e345f925ec9141ac4c3081ccdcae590fd45b9f16fdd13292f84dbde1bdb5b7f64736f6c6343000812003300582002c8948a23fd951a8c7bf4e7661bc8ee87fc0674409dec3088a7cc01d1d1e9ca540493e0000000000000000000000000000000000100582002bf02baa2d2f5622d379b01ed48b2e87ee38a7529d2d0f08eba20ed348ab9c554104bc711530554f18936a12542192f8bd36166b10058200289c1e5e968864663f340ed2dba71fc12b58bcc2a79f2b1ce3f4469bf1f6e57447735940000582002963a2013d422c8dfd3fde7dae58e19fc0de4d5d0416cc63a6217868ac63e6741010219104c0372b0c426f03406cbfd22ac6ce77d4435925947d9047cb6368f3c7806f085b7ac035cf21fabf8cfeb023c2c090de1f701167bd799bce704310fadbab74990da6aac00582103a0e174cdf6e6ebcecc881e74268ba084f4a54ebba7f0564379202232badd205057886c98b76000000000000000000000000000000000000103b77ed826db151c0998838dcd26287d686fd6fbf202d3d29fd0b908519a2ef44c00582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481548f5e39f234f8265e1db6bbb0fb961e4ffa7738d403b46410771a8108de09ab4f1f0877f7a3dc0c03880ba88bf73547a5e9e1d075df00582002047bbf768ba37356b36b57749133f52fc71f17699c9ee212a4d90768a635c35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200241d97a732a1644d1e767cfecd43f3e1a8279db7fc859c90e2a58fc6b79e54654254010e880e04a27c98cbb8d241f8c3554d3784d005820024099967fb3ca0558d046e7b3db1c4326d6f06b73cfbd3b5e80acf4f5e7e63b5424bbc063def30ae81aecc659b97a8b2562b2afcd00582002000becc1446df1282baa22cb810ff42167097d20b1877868b9577cefd4df5d4899ca50c4c1c19feb0219542c0396e975faf48fed3190e6b65da2599155d467cbd89b632851c4b540ac61ba48ba005820024178b8ca98be2fb3e765b9534c1080ada798fe646f13b15f82d0b90ac5c1e254e69f676b2142fa05a3dc51a0e51d68a685ae739103ff121025c3793be83aad9e9e28194828c873eaa820deb49021614f854da87b9d00582002429031e6bf1beaaf0b7ff5525d0c665677faa551964824fdef1c8db4da7e95447735940000582002a08f52f7f05d65ffef6383f1cc3ff71fd521ad6a72e82fd73a6a00e6ae52d7447735940000582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54e47a951f3bc6faf65a7a7074b9ad745f17084f9800582002d30ad1a65e84c16277a75d057555ed14a6cd465db804fcb6e4532a8f2c480f5451187757342914e7d94fffd95ccca4f440fe0e060058200285abc04d42df9f7ced829d1825fbca9de81187ea26f3595d272057b043bea754953a578c7ce8f3a1bf625d182a8caf7181fd4beb00582002121c6184420c27a06d18a5f14bc1e887ffb29eb468f0d6a6d0e39f42d1beee5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021912bb035d9d26bd2849ae1487a126b40fb52905ef636f871d09e2d11135dec2761125f103f899767234416dd4a0c1fa7f5a7ddb5023ef17a397686f9fda17bdc98689c042034fd00c7d040bb546d9199a338ae45010a21c1d792b23ea7b02d80108ead023e9005820021d047575b386ff1d5ad0080978a973fc3aeaf167d0da04b8d656aa54bc66eb4477359400005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf641010058200278c931d8a4458a295cf12c4639ef1441b816d46d7f699110f351f5a44060a7540493e00000000000000000000000000000000001005820023086531848806cd212f949e8a54915c6714ab034e1029323116f8e61589aa3481bc16d674ec8000000582002539ac74c93ed003ec079ebb08c6b48a19abe93e14b82f59eb2ebd3e2a7283e481bc16d674ec80000021998030301c342507a28b46216cb524fc0570889dc44db6579dd278119b290132aecbea6032373f0a6193c777d669fc3c21d43ca5dbf949e1fa7e9efb9e8f7b8155904747f03eb44ace9944136c161ac36103616e547bf4ca2e06d50519185c9ae0c8e2a0ac80219dfff05581d0257e26931082e626df322734c21a26e4dfa9c431155313dc49e3c0d0e0f01489e20505d9e7520d019089e02182805581e0362538f74bebdfadb16d69edad2a74930d08a1c604bd729e2ebdcbb2f700c024707e4a2e07c737605581e03b46391abf6291bad9361e1a7b1bfd1f68c5f266ea9b0b58ce52e4e2420040105581e03082231893ca4fe10cc4a56105597653f76a350971a85f7dcb762a91630040105581e03d7442a2be2186926636079b25b1e793cccbd8e3ec0df5f6e0be10959800c02472f5c0f62f1118505581e03e7debfbe8c127854b0871afcbe852a55067dec3f574bb95fc8edcd37a0040105581e031d86c9f5900443f250bf4eeaf53b103a5ace00204feea642077bbee9b0040303f8ad58af7e01a4c1ba41b0c67d9c4d7144c277649dedb9f6a9034920698dbb9f05581e03f75d8f2d386a14cca04a8f535bbf9ed94c6f9c898668dc34128a9e2a000c02470260ce8d26ab5605581e032191dae8be706d6e8bc972d78c781057679f85792cfcf4d42a02b802f0040203ad82799a5bf55598cfccac8d6c9d5a8e172ad49d8cf6033caf3644a0ec300f5b0219ddbd039af717107b71b1b79264090d2b6c54fc83c0bd681e572e1bfbf77b23baee67da033804436c62c540c78b6d05e6a1e4e5a55c0b09c8603e6b03c2b1b4d65eb3c22e0337a2ff62c2c252c54cec5e61bab6a6d28445203dd0e79e5f433f4ab9ab3eab5e039698997ff54e26fd9f03c21545d2efa96bddb8ef05bf171e0b3d7ec752cd578a03899095c48e0426ad0a99355ff4ba98638d07ce36816c0ecff85a3968b50ec7040219ffff03cacf9e99a52b6ea014a8825a3f9ce4e51b20754785f52a48d90dbe129d7c1dd00392159782d771a8895414aa97cf68b14af3bb11730add79dbbcbced9a9351b2bd03a1c39f2bc9b25d22aff35e0581a3ffeecd7797cea754ecd21a113b60d7c9285d03fcd01f6dd40a642ee064057d0a5d948a02f078ba208cd011e2cb40acb5abf7540392e76f460d466d4af87c43bedc1d9d6d7b471e62f7992f5eb96354d87acea9f003c2fb69aa2e6d4e8d43d8e098afe8fe72838d2a342aeff3e91c48d62b71d35fe80333014c3ad79de32d9e8549df141f17fb0bbb7992b72994879a18b588d3fbfa4903dd8f9879e99323b3b6cd1cb93725841372c650637de4aa3184f912c9001c400e03aca4b986e320477be445f8454d757a80ff141117fc90558aa93740bc394af68e03d631c2256001742f9db5524d10d7e7137e2afdacc9a70d6257f819067f7b5beb0219ffff0342fe334caad51c8246936245f08c976a4d4fcad0a0feea33c703e44814a43bb603832ebca7a0ba9a3d281208dd7dea082256c09efab35a9abdd6b0b0ae8051c761030e1e993311d967bb1e64666f3a9d201b7f29b2ad48f2670d720fde002c96067503bc576543c8b63c5c77d1afd9960977d40daab0263ec0ccc77f1358b8ebce14af03f87ca0be54b9fbfadc1e984ebda16bf301ad3b970afd9168c3117709a41d062803b7e1f14dd92f81054497167c1dba9565b1313ed62cf1d691f8c04c46e2f178d703aed2125ebfbead64dc2ff068e810b860557a384fc4d46247f1db3bb454e38ae4033187e52a35634329890bcb39cdd997ee86c7aadf2e2ab2aa9dff23d0451ba63703953d1517ddb537de71bd00c2b7f4c289a54c8dc202d081d501e12de0e089352e035cc1242456138362084fa340b221147942ea9a99faa869a9d1fac05b9ee44da603ab9b997a52d130ad5d50bbccee6ae6c09d1ba396be268a7ee0dbeac1b7cfc5b9033e6874da7869147cc6a01665a65ee77834f3ec61135841b9fed2fd2a1234cd2203bcb465dd305900b3f2224cc84747ac3e9f8fe9359b16be7fad6cd7ac97db08b803bb1ef17a3510bcac8b5ace1c2fea2dbf0d467168474044239d1e1e8841cbb0e60219ffff03c7b143ff3845e7239b592375439e08eda59fda705090a915b58a3383c76d1c4e030e962df515a78564b6384f4723d4e72749773909609412ae8152a67fec8da38403f07f6cf22efaed8457101013d6f60569d3569820f379d4c5e4b5ef666c833e6a03adbee44cd665ccb87e930eab491a162e4ad41898c10a6a6ffdafc4ca405d0c42038a39f0d10ab44429bdf89fa570120384b01eb9e4e28fa9e48861c0240de9ce97036238eac2b82beffb40fd74c82940f7b04174190e5a7f055adb06fb8ceddb2be503b7b893b346731645aa70d06ef9ebeb16c254b60cf96060bfef1ae239a3e0386f03ebe48af8b9751527ddeb34c47a47cde048af23d078574e6e06a8bcb5e877a248037081ff6ab9a1158e42b17e87a730eee5868bac95420f926ae6170165c2cf3790033b9c0b94960485a147163d47dd0fb162c063b2edce23b527d6c0dcfcd3df4cca036ef1a67d3094d1c4be6e92e5120e2d6f250938ba5a9b0a847298eff37aa5e93a03ad6d12abcb29f3473fe7b29c4f429e0805818888932cac244f917ab7cea2d14803f74aebf58b9a7c42ce9ed2c8b9010e52ce8b5c4dc6e9b8a8f2fa7e5e3436bd99038022880289624f5716b5809ec1e2c1bc4750fe18b3abbdc6fee85d97bef8417403d1f3a00ca23967d69583337448d07e8a761eda5219a196036398bb03342f0195031f6f9143e638637cde263c2b0f508556324d6bde8bbbfb95e2ca23867e84f3a4033f3a1d7e292bbd6d788ee37ee846a1908f2d1fcc2b70de4ef883c118614f815403f76fd2c5d33c9090e13c80dbb8779aa065aade692e190864ca5be4742738e24f03f0617161ea1f4f291be8e25fac1ea7189691b595db8c45fab352397372c04659035f752aa899aff3444e79a00d7509c668611ffe501fe3c38a800961a4ae27bdd003958308b01197cefbc605f43b943a8663ff8292ace0a1df911f7beef5a0f335b8030bd6615477e1f8fffcecf2ff67b9e28d85cdb1ecb76b40a96439c7e25fe53d4903f6eb8dd31889f51c71b2f9018ea78203026629a3d9f022e1e7bed831c78abd9103ebd7ab25cdebe4cb52705bb1883523afad362469d92ac06b3780511c82f3f99f03c573a7c1714ae2ee669c483bdddb5e23dffabc47f65e244bd9554fc6990b98e6033657e180615f0a1ff09b8db81964f2ead75a6799df23f0f5406046f49fa8b78d05581e03b48b500c6bc81906a80a3251b3e23ce019e4d0f54bda8511a6580008900401034f191e4ed43ae2d5dea9cf6e4451b5432359f14035c0103c4bc2ecce736e264705581e035e4dbef9dd0715646c1d228076d00f76ffaf5a77c7726afce42f0b8be00c01462271acc1544005581e0398f8afbdbbbb702d39e572ab2d453f58cddd9397813382e994c2bd46600c01450195f2d4ab05581e03befd162aa37a5598dbfa8551e341b78042cba90f89ebd5d6ee69be02a00c04465d3ffa5cfd68033f765bd3edce7a77269ba6af7fbc7755e8894af39f97f01969b4817a3a02b83405581e03fa87c1fc235e3ad1085c8bcf4c078ed369f1c5af247681ba5e6b82b250040205581e031cc75cbb95ff8ee3915ffa02d55e8cc8ef29cc19fac682ec271d7614c00c014620f5d68a925005581e0390775d72c618b4efe8389b443d668710a3930ab6feac1e8275314d78c00c0146319537bd413005581e033c3833d746b37f456d7977bfbaa8a172bd962441a697b2f552665c68800c1a002026994951589c2e0215037efd0308ea6f8f1e4715a5f2a077055634e69509046ce80ca1ed33eeb2d6ed6e2a3f0205581e03be2a649f91a0bc91edfc8b766f6444bac02adafeb957d136cd1f1a288004070219d6ff03a8a50ebac26f5faf63bf3e6633e33d410433fc2b1797adb0396934aa7b0e08c9033c43ea17475ef52c57dbd1a78939edd04c5dd592c18f38936c2a217dca065a47037785f0a58e292e3de38cccb1840dab8f8a1c704362d1c32547adc35a3aa233ba03287fc8a90def0806a2cfbd3380fb9530bb4faae97a4829f6a95011d836d504c703be49546883425eb6bdf1ff75444cffc3a1c80198bb591893cd2e71050ec1202c03042044ae6135626d2b2f33688af7daaf37da3e121e9e6a58cf1a6b9b9da5d64d039a67c06f48ebd6294539a4d07e05350cd89a7d59cfb26cc8c944984d76ac630b03943a27e2c596538ad2e190c2b6b2775dfb2a57f52e0cfcf326cee68ada4dd93e0219ffff0359880616df6c6111740695a337831587c067eda41a732e910db16d7d472bc237030550f028668c922767130226c560b7fcc52f339f8280d1251ed788ffc9cf6f7a03380a989b09ed13b840787197ba0d958a6699910aa87b4a543d84cf4030459bac03b284143913429f7ef50b6c2f3a1c54f8a95ddcfd351f34dec2f1d7ba5569b93503297cae1ada1baac365f99f86b9405840febbc867b476aed32ef79cecce49680a0331d02b7605582be63ca29f29ecba39c6e152e5a11b13abb067b3aab0f58fcf6a03824a84066a15ffe1cc8fc547a30eebacb1193d3c18cdc162dbe9468ebcc4e6cc035af16f3135fd1630a91b56c1e56523e22060996b46f3c890b474b411b694c0c70219ffff03d4aee529a967aa54cbb0e31ffad4dea196f51de04eb20af9e16b83a44a55894f037b637099f3f3656ef50b37c1e286fd8aa1d3ee7edf79982514b8a7c6bc6e92cd03e891f80b17b6d426be01e5d10f967ff55a458bf6a52926a2ea20ddb6e97537510330da687408e34f23d463a0c1bda592fa45336b68d015af89384c8f0615bf10720315f1658eb8b9fd1881d766eeb61c67bcda1f7ea462bbcddf3c78065bbfa1f33403f477ae8d64c6ff526eaf2de2862977cf7b62a35ca56cfad6880def25f3e611770329dd37b56d3a8573cdb1d563f428478153a1f5fd48012018b8dd974a7fbf32c103412be24b1455345189e6e386711f8a6287aa1bb04a14b9b0a7f49d8589f7c8eb0219ffff03ab35599973ddd975d0432801863e803e58fd03898b7ad98f7f4c4f94d97dae9503c5383d800be17d0e8f49d34f9c7b4c6d9e85c63467a9ab4f7bd44d773024d598036396b96c4670ab1ffddfa9532b5234dbed664bf8feecc9a9f9b9727aac32b81b03e291b2e16912820fd52b2d645609c887ca4626a8f69da5653cc70afcd291ad370327bd87aee33081149fdd3e23c37c230c555bd351929ea22c328a1f32263c3c5d03b4fc254aa4fa6b32a63244cb9d76a4c96e6db8dc6155602992301fc8ac766bac0303d4f1d45bdb154fa454719110698ab32c34d0240dc12192927629c22b549a2f0339d15fe64fbd6e65ead4a316103f59307c6b885b7f76bfb58ccf418281a319cc03c502f6227f7a6ac735ebbffcb37646340e6723f1c2f43e1e223c6ae4ea1a6c0603cc16aa6437c943b6c7d86176eae6010988554aff7d866cd92e3a732c48bae68203757df83dc1bd6bc6e55aa97ad230d4fa91a587e80a0a8d1cb241580238a4ab9f0392fa44491bf4716d9004246d625af73c284faa130dcc7cca61c10c5a8cc33817031c356ba25ca75b0c1958ca94c3eee081c274809f5b43a7f253aeae6e74b09b7403040caab0f4fa86d5e9e71e4d04146e1de00efa581c1c78f776235a9fbc6c27b6037be038205db5d3fbf84acbe1fc380ffceededf73d80189d546e412fa8136118605581e032115661d55ccddbbeaa93f574f52552b4e594e07c13675472b2066d9c00c024704ee818799380005581e0338da3b2570222e334b1ef3f42b372c0fd18368aca86197043f897fdc400c014744b1b422579f5003be356560e368ae20ae372f74795882e219672beb997779be76f340d8e6f9263c03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c0372cfb42e75ec2a05dd43793aebb84139728f1671bbd2a135d72b9e9f32b7d33105581e03b68e3c10c58ab422940bcd14681883d152106428ccaafcbe8c9f3b0b2007011bffffffffffffffff0318ccdad8f0f9d1e32bd12728ac45de26945100277b97d1763b6646b4c69f816c03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e032d41016cb87c09c34a7a736d66afe21441044abda7d8e5f3a0b609807007011bffffffffffffffff05581e0396a1b7cfa12ab44fabf53c95ccfb3896993ecd85e4e88bfaf7844413e00c0246d304e84a766004593b366080604052600436106102935760003560e01c806377f5c01b1161015a578063abca4a92116100c1578063e10bd0cf1161007a578063e10bd0cf146108f7578063e7747ce3146108ff578063ed9953071461091f578063f9085b4514610927578063fb04c9e014610947578063ff440f691461097b57600080fd5b8063abca4a921461084f578063b2ce808914610862578063bbc4078414610882578063cfe60a90146108a2578063d294f093146108c2578063dc4c90d3146108d757600080fd5b806398f6b77c1161011357806398f6b77c146107545780639a06ce27146107675780639cd441da146107875780639d7de6b3146107a75780639e5b7105146107c7578063a94a1706146107e757600080fd5b806377f5c01b146106805780638129fc1c146106a057806386b9f6cb146106b55780638e3b5d6a146106ca57806395ce2f5f14610700578063969b53da1461072057600080fd5b80633b3edf68116101fe57806350bce91b116101b757806350bce91b146105de5780635226dc5a146105f357806355ce196814610613578063587f5ed71461062b5780635ea54543146106405780637216a5d71461066057600080fd5b80633b3edf681461051e5780633b824d6a1461053e5780633cf6b3f51461055e5780633ef07ff21461057e5780634e6cbad11461059e5780634ffb1bd9146105be57600080fd5b80631f034ac6116102505780631f034ac61461047957806321e0694a1461048c5780632b4dbf08146104b65780632de9952a146104d65780632fb22868146104f6578063363b2eb21461050b57600080fd5b806301d16b14146102985780630f76c9fe146102dc57806310c38ef31461030f57806314cc01a01461035157806314d9e096146103715780631526fe2714610386575b600080fd5b3480156102a457600080fd5b506098546102bf90630100000090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102e857600080fd5b506098546102fc90610100900461ffff1681565b60405161ffff90911681526020016102d3565b34801561031b57600080fd5b506103437f000000000000000000000000000000000000000000000000000000000000000181565b6040519081526020016102d3565b34801561035d57600080fd5b506034546102bf906001600160a01b031681565b61038461037f36600461328d565b61099b565b005b34801561039257600080fd5b5061042e6103a13660046132cd565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915250600090815260666020908152604091829020825160a081018452815460ff8082161515835261010082041693820193909352620100009092046001600160a01b03169282019290925260018201546060820152600290910154608082015290565b6040516102d3919081511515815260208083015160ff16908201526040808301516001600160a01b031690820152606080830151908201526080918201519181019190915260a00190565b6103846104873660046132cd565b610a11565b34801561049857600080fd5b506098546104a69060ff1681565b60405190151581526020016102d3565b3480156104c257600080fd5b506103846104d13660046132e6565b610a46565b3480156104e257600080fd5b506103846104f136600461331e565b610b26565b34801561050257600080fd5b50610384610d20565b6103846105193660046133c4565b610da5565b34801561052a57600080fd5b506036546102bf906001600160a01b031681565b34801561054a57600080fd5b5061038461055936600461340c565b610e33565b34801561056a57600080fd5b50610343610579366004613430565b610ea9565b34801561058a57600080fd5b506103846105993660046132e6565b610f13565b3480156105aa57600080fd5b506103846105b936600461340c565b610f96565b3480156105ca57600080fd5b506103846105d936600461340c565b61100c565b3480156105ea57600080fd5b50610384611082565b3480156105ff57600080fd5b506035546102bf906001600160a01b031681565b34801561061f57600080fd5b50610343633b9aca0081565b34801561063757600080fd5b50610343611107565b34801561064c57600080fd5b5061038461065b366004613465565b611149565b34801561066c57600080fd5b5061034361067b366004613430565b61115d565b34801561068c57600080fd5b506037546102bf906001600160a01b031681565b3480156106ac57600080fd5b5061038461125f565b3480156106c157600080fd5b50610384611377565b3480156106d657600080fd5b506102bf6106e5366004613491565b6097602052600090815260409020546001600160a01b031681565b34801561070c57600080fd5b5061038461071b3660046134ac565b6113fc565b34801561072c57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b6103846107623660046133c4565b611565565b34801561077357600080fd5b506103846107823660046134e3565b6118f0565b34801561079357600080fd5b506103846107a23660046132e6565b6119cb565b3480156107b357600080fd5b506103846107c23660046132e6565b611a06565b3480156107d357600080fd5b506103436107e2366004613430565b611b20565b3480156107f357600080fd5b5061080761080236600461351e565b611bd7565b6040516102d391908151151581526020808301516001600160801b03169082015260408083015167ffffffffffffffff16908201526060918201519181019190915260800190565b61038461085d36600461328d565b611c6c565b34801561086e57600080fd5b5061038461087d366004613430565b611f4c565b34801561088e57600080fd5b5061038461089d366004613558565b611fe8565b3480156108ae57600080fd5b506038546102bf906001600160a01b031681565b3480156108ce57600080fd5b50610384612109565b3480156108e357600080fd5b506033546102bf906001600160a01b031681565b610384612196565b34801561090b57600080fd5b5061038461091a3660046134ac565b612269565b6103846123ec565b34801561093357600080fd5b5061038461094236600461358d565b612448565b34801561095357600080fd5b506102bf7f000000000000000000000000b20f0105f3598652a3be569132f7b3f341106ddc81565b34801561098757600080fd5b506103436109963660046132cd565b612634565b6109a3612656565b813410156109cc5760405162461bcd60e51b81526004016109c3906135ca565b60405180910390fd5b610a02837f000000000000000000000000000000000000000000000000000000000000000184846109fd8234613617565b6126af565b50610a0c60018055565b505050565b610a196123ec565b610a437f000000000000000000000000000000000000000000000000000000000000000182610f13565b50565b610a4e612656565b610a578261297a565b60008281526066602052604090206002015460001914610a895760405162461bcd60e51b81526004016109c39061362a565b610a9382826129d8565b600082815260666020526040902054610abd906201000090046001600160a01b0316333084612a4f565b60008281526066602052604081206001018054839290610ade908490613693565b909155505060405181815282907fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb4906020015b60405180910390a2610b2260018055565b5050565b610b2e612656565b336001600160a01b037f000000000000000000000000b20f0105f3598652a3be569132f7b3f341106ddc1614610bb05760405162461bcd60e51b815260206004820152602160248201527f4272696467653a204e6f742066726f6d207a6b427269646765456e64706f696e6044820152601d60fa1b60648201526084016109c3565b6001600160a01b03841615801590610be6575061ffff85166000908152609760205260409020546001600160a01b038581169116145b610c325760405162461bcd60e51b815260206004820152601760248201527f4272696467653a20496e76616c696420656d697474657200000000000000000060448201526064016109c3565b60008080610c42848601866136a6565b9250925092506000610c55848a85612aba565b90507f00000000000000000000000000000000000000000000000000000000000000018403610c8d57610c888282612b6e565b610cb6565b600084815260666020526040902054610cb6906201000090046001600160a01b03168383612c87565b604080516001600160a01b038416815260208101859052859161ffff8c169167ffffffffffffffff8b16917f302b3ebcd58d43753be6657117391b4a3b8dc310ae7054a9905486dd23241676910160405180910390a450505050610d1960018055565b5050505050565b6037546001600160a01b03163314610d4a5760405162461bcd60e51b81526004016109c3906136d4565b603780546001600160a01b0319908116909155603480543392811683179091556040516001600160a01b03909116919082907fd2201da7c443ffc780844bb92267eecd254053cee6183556572d891f029db87d90600090a350565b610dad612656565b7f00000000000000000000000000000000000000000000000000000000000000018303610dec5760405162461bcd60e51b81526004016109c390613716565b600083815260666020526040902054610e16906201000090046001600160a01b0316333085612a4f565b610e2384848484346126af565b50610e2d60018055565b50505050565b6033546001600160a01b03163314610e5d5760405162461bcd60e51b81526004016109c390613773565b603680546001600160a01b0319166001600160a01b03831690811790915560405133907f224c573cdb8950a1cf5382cbdc4c6fbb5a94c2a07579e014482d20c77d7c8ee490600090a350565b600083815260656020908152604080832061ffff8616845290915281205461010081046001600160801b031690633b9aca0090610ef790600160881b900467ffffffffffffffff16856137a8565b610f0191906137d5565b610f0b9190613693565b949350505050565b6033546001600160a01b03163314610f3d5760405162461bcd60e51b81526004016109c390613773565b610f45612656565b610f4e8261297a565b600082815260666020526040908190206002018290555182907fffc60309bc0541f9cc67841ccfe5f8600c078153f74509d2c439ec1e40e8b3c090610b119084815260200190565b6034546001600160a01b03163314610fc05760405162461bcd60e51b81526004016109c3906137e9565b603780546001600160a01b0319166001600160a01b03831690811790915560405133907f52eae2ba1561aaf57acd728abc519e08906e6c49b9ec8ba4209bae7fecbcee6f90600090a350565b6035546001600160a01b031633146110365760405162461bcd60e51b81526004016109c39061382b565b603880546001600160a01b0319166001600160a01b03831690811790915560405133907f788d10307525180759bacde6500c4c7159d8e09bd79209dea881e3b43e27547290600090a350565b6036546001600160a01b031633146110ac5760405162461bcd60e51b81526004016109c3906136d4565b603680546001600160a01b0319908116909155603380543392811683179091556040516001600160a01b03909116919082907f12887552f8810a293cba3d436e02a0b49397e811c9b41187c89d7290d9bd192690600090a350565b7f00000000000000000000000000000000000000000000000000000000000000016000908152606660205260408120600101546111449047613617565b905090565b61115383836119cb565b610a0c8382610f13565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111a55760405162461bcd60e51b81526004016109c39061386e565b60006111b2858585611b20565b604051632f08b92f60e21b815261ffff861660048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bc22e4bc90602401602060405180830381865afa158015611220573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061124491906138a5565b90508082116112535780611255565b815b9695505050505050565b600054610100900460ff161580801561127f5750600054600160ff909116105b806112995750303b158015611299575060005460ff166001145b6112fc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016109c3565b6000805460ff19166001179055801561131f576000805461ff0019166101001790555b611327612cb7565b61132f612ce6565b8015610a43576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6038546001600160a01b031633146113a15760405162461bcd60e51b81526004016109c3906136d4565b603880546001600160a01b0319908116909155603580543392811683179091556040516001600160a01b03909116919082907f5c4b9e5621878f91d14b060afe833a3597e6e5edbdd74b6161973f747c712ad490600090a350565b6034546001600160a01b031633146114265760405162461bcd60e51b81526004016109c3906137e9565b61142e612656565b6035546034546001600160a01b039081169116146114d3576098805460ff196001600160a01b038416630100000081026301000000600160b81b031961ffff8816610100810291909116610100600160b81b03199095169490941717919091166001179092556040805191825260208201929092527f375b189bc53525ca31c6fc74f38c76b308773d66c780a57fbb0b9ac94f1d2285910160405180910390a161155c565b61ffff8216600090815260976020526040902080546001600160a01b0319166001600160a01b03831617905560985460ff1615611515576098805460ff191690555b6040805161ffff841681526001600160a01b03831660208201527f543c07f3f8ff9852dd72fe83bc9f1462fd99575d6a23f6b3f523eab3654b03b191015b60405180910390a15b610b2260018055565b61156d612656565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166115b35760405162461bcd60e51b81526004016109c39061386e565b7f000000000000000000000000000000000000000000000000000000000000000183036115f25760405162461bcd60e51b81526004016109c390613716565b6000838152606660205260409020546201000090046001600160a01b0316806116565760405162461bcd60e51b8152602060048201526016602482015275109c9a5919d94e881c1bdbdb081b9bdd08199bdd5b9960521b60448201526064016109c3565b61166b6001600160a01b038216333086612a4f565b6000848152606660205260408120600281015460019091015461168f908690613693565b111580156116bd5750600085815260656020908152604080832061ffff8a1684529091529020600101548411155b156116e55760006116d187878787346126af565b90506116dd8134613617565b9150506118d5565b604051632f08b92f60e21b815261ffff871660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bc22e4bc90602401602060405180830381865afa158015611750573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177491906138a5565b9050803410156117c65760405162461bcd60e51b815260206004820152601860248201527f4272696467653a20496e73756666696369656e7420666565000000000000000060448201526064016109c3565b6117fa6001600160a01b0384167f000000000000000000000000000000000000000000000000000000000000000087612d3b565b60405163f6ea14a760e01b815261ffff881660048201526001600160a01b0384811660248301526044820187905285811660648301527f0000000000000000000000000000000000000000000000000000000000000000169063f6ea14a79083906084016000604051808303818588803b15801561187757600080fd5b505af115801561188b573d6000803e3d6000fd5b506118c7935050506001600160a01b03851690507f00000000000000000000000000000000000000000000000000000000000000006000612d3b565b6118d18134613617565b9150505b80156118e5576118e53382612b6e565b5050610e2d60018055565b6033546001600160a01b0316331461191a5760405162461bcd60e51b81526004016109c390613773565b611922612656565b61192c8484612e50565b600084815260656020908152604080832061ffff8716808552908352928190208054610100600160c81b0319166101006001600160801b0388160267ffffffffffffffff60881b191617600160881b67ffffffffffffffff871602179055805185815291820184905286917f69a58b4f1bc0b96ad7ed7c6519275c08221919b7a912310afb48f9f46c15bc10910160405180910390a3610e2d60018055565b6033546001600160a01b031633146119f55760405162461bcd60e51b81526004016109c390613773565b6119fd612656565b610a898261297a565b6033546001600160a01b03163314611a305760405162461bcd60e51b81526004016109c390613773565b611a38612656565b611a418261297a565b611a4b82826129d8565b600082815260666020526040902060010154811115611a6957600080fd5b7f00000000000000000000000000000000000000000000000000000000000000018203611a9f57611a9a3382612b6e565b611ac8565b600082815260666020526040902054611ac8906201000090046001600160a01b03163383612c87565b60008281526066602052604081206001018054839290611ae9908490613617565b909155505060405181815282907f9101fb4cb96b608de64eae79af26fc5fbe69904c5e3b6108204eefd9212f477090602001610b11565b6000611b2c8484612e50565b6000611b39858585610ea9565b60405163103dd74560e11b815261ffff861660048201529091506000906001600160a01b037f000000000000000000000000b20f0105f3598652a3be569132f7b3f341106ddc169063207bae8a90602401602060405180830381865afa158015611ba7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bcb91906138a5565b90506112558183613693565b60408051608081018252600080825260208201819052918101829052606081019190915250600082815260656020908152604080832061ffff851684528252918290208251608081018452815460ff81161515825261010081046001600160801b031693820193909352600160881b90920467ffffffffffffffff169282019290925260019091015460608201525b92915050565b611c74612656565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611cba5760405162461bcd60e51b81526004016109c39061386e565b7f000000000000000000000000000000000000000000000000000000000000000160009081526066602052604081206002810154600190910154611cff908590613693565b11158015611d4e57507f0000000000000000000000000000000000000000000000000000000000000001600090815260656020908152604080832061ffff881684529091529020600101548311155b15611dc55782341015611d735760405162461bcd60e51b81526004016109c3906135ca565b6000611da6857f000000000000000000000000000000000000000000000000000000000000000186866109fd8234613617565b905080611db38534613617565b611dbd9190613617565b915050611f3c565b604051632f08b92f60e21b815261ffff851660048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063bc22e4bc90602401602060405180830381865afa158015611e30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5491906138a5565b9050611e608185613693565b341015611e7f5760405162461bcd60e51b81526004016109c3906135ca565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166314d9e096611eb88387613693565b6040516001600160e01b031960e084901b16815261ffff89166004820152602481018890526001600160a01b03871660448201526064016000604051808303818588803b158015611f0857600080fd5b505af1158015611f1c573d6000803e3d6000fd5b5050505050808434611f2e9190613617565b611f389190613617565b9150505b8015610a0257610a023382612b6e565b6033546001600160a01b03163314611f765760405162461bcd60e51b81526004016109c390613773565b611f7e612656565b611f888383612e50565b600083815260656020908152604080832061ffff8616808552908352928190206001018490555183815285917f09cf37f97f4dae874e7cb6b93f49e96cdbe942556630d0c1c446f9de9b5682f3910160405180910390a3610a0c60018055565b6033546001600160a01b031633146120125760405162461bcd60e51b81526004016109c390613773565b61201a612656565b6120238361297a565b600083815260656020908152604080832061ffff8616845290915290205481151560ff9091161515036120a95760405162461bcd60e51b815260206004820152602860248201527f506f6f6c3a2064737420636861696e20616c726561647920656e61626c65642f604482015267191a5cd8589b195960c21b60648201526084016109c3565b600083815260656020908152604080832061ffff86168085529252808320805460ff19168515159081179091559051909286917f188e2234f6d184edf99d8c78e1fa948bb86c9ba285dc3059bdbe5704e48181aa9190a4610a0c60018055565b6033546001600160a01b031633146121335760405162461bcd60e51b81526004016109c390613773565b61213b612656565b6000612145611107565b90506121513382612b6e565b60408051338152602081018390527f0bd19e112d63748ab3d987993abf5208a9a80e2a5615aebf45188a1d1cc59be5910160405180910390a15061219460018055565b565b61219e612656565b7f00000000000000000000000000000000000000000000000000000000000000016121c88161297a565b600081815260666020526040902060020154600019146121fa5760405162461bcd60e51b81526004016109c39061362a565b61220481346129d8565b60008181526066602052604081206001018054349290612225908490613693565b909155505060405134815281907fcb1652de9aeec38545fc281847b3dbfc89aab56dfa907b1ab68466f602c36fb49060200160405180910390a25061219460018055565b6035546001600160a01b031633146122935760405162461bcd60e51b81526004016109c39061382b565b61229b612656565b60985460ff166122ed5760405162461bcd60e51b815260206004820152601960248201527f4272696467653a206e6f2070656e64696e67206272696467650000000000000060448201526064016109c3565b60985461ffff8381166101009092041614801561231e57506098546001600160a01b03828116630100000090920416145b61237e5760405162461bcd60e51b815260206004820152602b60248201527f4272696467653a20647374436861696e4964206f722062726964676520646f6560448201526a0e640dcdee840dac2e8c6d60ab1b60648201526084016109c3565b61ffff821660008181526097602090815260409182902080546001600160a01b0319166001600160a01b0386169081179091556098805460ff191690558251938452908301527f543c07f3f8ff9852dd72fe83bc9f1462fd99575d6a23f6b3f523eab3654b03b19101611553565b6033546001600160a01b031633146124165760405162461bcd60e51b81526004016109c390613773565b61241e612656565b7f00000000000000000000000000000000000000000000000000000000000000016121fa8161297a565b6034546001600160a01b031633146124725760405162461bcd60e51b81526004016109c3906137e9565b61247a612656565b60008381526066602052604090205460ff16156124d95760405162461bcd60e51b815260206004820152601a60248201527f506f6f6c3a20706f6f6c20616c7265616479206372656174656400000000000060448201526064016109c3565b7f0000000000000000000000000000000000000000000000000000000000000001830361257a576001600160a01b038216156125755760405162461bcd60e51b815260206004820152603560248201527f506f6f6c3a206e617469766520746f6b656e20706f6f6c2073686f756c64206e6044820152746f74206861766520746f6b656e206164647265737360581b60648201526084016109c3565b6125df565b6001600160a01b0382166125df5760405162461bcd60e51b815260206004820152602660248201527f506f6f6c3a20746f6b656e20616464726573732073686f756c64206e6f74206260448201526565207a65726f60d01b60648201526084016109c3565b60008381526066602052604090208054600161ffff1990911661010060ff85160217811762010000600160b01b031916620100006001600160a01b038616021782556000196002909201919091558055505050565b600081815260666020526040812054611c6690610100900460ff16600a6139a2565b6002600154036126a85760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016109c3565b6002600155565b61ffff85166000908152609760205260408120546001600160a01b0316806127235760405162461bcd60e51b815260206004820152602160248201527f4272696467653a20647374436861696e496420646f6573206e6f7420657869736044820152601d60fa1b60648201526084016109c3565b6000612730878988610ea9565b60405163103dd74560e11b815261ffff8a1660048201529091506000906001600160a01b037f000000000000000000000000b20f0105f3598652a3be569132f7b3f341106ddc169063207bae8a90602401602060405180830381865afa15801561279e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c291906138a5565b90506127ce8183613693565b85101561281d5760405162461bcd60e51b815260206004820152601860248201527f4272696467653a20496e73756666696369656e7420466565000000000000000060448201526064016109c3565b600061282a898b8a612ed8565b60408051602081018c90529081018290526001600160a01b0389166060820152909150600090608001604051602081830303815290604052905060007f000000000000000000000000b20f0105f3598652a3be569132f7b3f341106ddc6001600160a01b031663b1d995dd858e89866040518563ffffffff1660e01b81526004016128b793929190613a01565b60206040518083038185885af11580156128d5573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128fa9190613a38565b604080513381526001600160a01b038c1660208201529081018590529091508b9061ffff8e169067ffffffffffffffff8416907fe0442d4e58b97ff2055e08df9305389520a00ac06c83a83131ef3d0e1572068c9060600160405180910390a46129648486613693565b9c9b505050505050505050505050565b60018055565b60008181526066602052604090205460ff16610a435760405162461bcd60e51b815260206004820152601960248201527f506f6f6c3a20706f6f6c204944206e6f7420656e61626c65640000000000000060448201526064016109c3565b6129e182612634565b6129eb9082613a55565b15610b225760405162461bcd60e51b815260206004820152602e60248201527f506f6f6c3a20616d6f756e74206973206e6f742061206d756c7469706c65206f60448201526d6620636f6e76657274207261746560901b60648201526084016109c3565b6040516001600160a01b0380851660248301528316604482015260648101829052610e2d9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613042565b6000612ac68484612e50565b6000612ad185612634565b612adb90846137a8565b600086815260666020526040902060010154909150811115612b3f5760405162461bcd60e51b815260206004820152601860248201527f506f6f6c3a204c69717569646974792073686f7274616765000000000000000060448201526064016109c3565b60008581526066602052604081206001018054839290612b60908490613617565b909155509095945050505050565b80471015612bbe5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016109c3565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612c0b576040519150601f19603f3d011682016040523d82523d6000602084013e612c10565b606091505b5050905080610a0c5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016109c3565b6040516001600160a01b038316602482015260448101829052610a0c90849063a9059cbb60e01b90606401612a83565b600054610100900460ff16612cde5760405162461bcd60e51b81526004016109c390613a69565b612194613117565b600054610100900460ff16612d0d5760405162461bcd60e51b81526004016109c390613a69565b60338054336001600160a01b0319918216811790925560348054821683179055603580549091169091179055565b801580612db55750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015612d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db391906138a5565b155b612e205760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016109c3565b6040516001600160a01b038316602482015260448101829052610a0c90849063095ea7b360e01b90606401612a83565b612e598261297a565b600082815260656020908152604080832061ffff8516845290915290205460ff16610b225760405162461bcd60e51b815260206004820152602960248201527f506f6f6c3a20706f6f6c204944206f722064737420636861696e204944206e6f6044820152681d08195b98589b195960ba1b60648201526084016109c3565b6000612ee48484612e50565b612eee84836129d8565b60008481526066602052604090206002810154600190910154612f12908490613693565b1115612f795760405162461bcd60e51b815260206004820152603060248201527f506f6f6c3a20496e73756666696369656e74206c6971756964697479206f6e2060448201526f3a3432903a30b933b2ba1031b430b4b760811b60648201526084016109c3565b600084815260656020908152604080832061ffff871684529091529020600101548211156130085760405162461bcd60e51b815260206004820152603660248201527f506f6f6c3a20457863656564696e6720746865206d6178696d756d206c696d696044820152753a1037b310309039b4b733b632903a3930b739b332b960511b60648201526084016109c3565b60008481526066602052604081206001018054849290613029908490613693565b90915550613038905084612634565b610f0b90836137d5565b6000613097826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661313e9092919063ffffffff16565b90508051600014806130b85750808060200190518101906130b89190613ab4565b610a0c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016109c3565b600054610100900460ff166129745760405162461bcd60e51b81526004016109c390613a69565b6060610f0b848460008585600080866001600160a01b031685876040516131659190613ad1565b60006040518083038185875af1925050503d80600081146131a2576040519150601f19603f3d011682016040523d82523d6000602084013e6131a7565b606091505b50915091506131b8878383876131c3565b979650505050505050565b6060831561323257825160000361322b576001600160a01b0385163b61322b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109c3565b5081610f0b565b610f0b83838151156132475781518083602001fd5b8060405162461bcd60e51b81526004016109c39190613aed565b803561ffff8116811461327357600080fd5b919050565b6001600160a01b0381168114610a4357600080fd5b6000806000606084860312156132a257600080fd5b6132ab84613261565b92506020840135915060408401356132c281613278565b809150509250925092565b6000602082840312156132df57600080fd5b5035919050565b600080604083850312156132f957600080fd5b50508035926020909101359150565b67ffffffffffffffff81168114610a4357600080fd5b60008060008060006080868803121561333657600080fd5b61333f86613261565b9450602086013561334f81613278565b9350604086013561335f81613308565b9250606086013567ffffffffffffffff8082111561337c57600080fd5b818801915088601f83011261339057600080fd5b81358181111561339f57600080fd5b8960208285010111156133b157600080fd5b9699959850939650602001949392505050565b600080600080608085870312156133da57600080fd5b6133e385613261565b93506020850135925060408501359150606085013561340181613278565b939692955090935050565b60006020828403121561341e57600080fd5b813561342981613278565b9392505050565b60008060006060848603121561344557600080fd5b8335925061345560208501613261565b9150604084013590509250925092565b60008060006060848603121561347a57600080fd5b505081359360208301359350604090920135919050565b6000602082840312156134a357600080fd5b61342982613261565b600080604083850312156134bf57600080fd5b6134c883613261565b915060208301356134d881613278565b809150509250929050565b600080600080608085870312156134f957600080fd5b8435935061350960208601613261565b93969395505050506040820135916060013590565b6000806040838503121561353157600080fd5b8235915061354160208401613261565b90509250929050565b8015158114610a4357600080fd5b60008060006060848603121561356d57600080fd5b8335925061357d60208501613261565b915060408401356132c28161354a565b6000806000606084860312156135a257600080fd5b8335925060208401356135b481613278565b9150604084013560ff811681146132c257600080fd5b60208082526018908201527f4272696467653a20496e73756666696369656e74204554480000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115611c6657611c66613601565b60208082526043908201527f506f6f6c3a206164644c69717569646974795075626c6963206f6e6c7920776f60408201527f726b207768656e206d61784c6971756964697479206973206e6f74206c696d696060820152621d195960ea1b608082015260a00190565b80820180821115611c6657611c66613601565b6000806000606084860312156136bb57600080fd5b833592506020840135915060408401356132c281613278565b60208082526022908201527f41646d696e3a2063616c6c6572206973206e6f7420746865206e6577206f776e60408201526132b960f11b606082015260800190565b60208082526037908201527f4272696467653a2043616e2774207472616e7366657220746f6b656e2075736960408201527f6e67206e617469766520746f6b656e20706f6f6c204944000000000000000000606082015260800190565b6020808252818101527f41646d696e3a2063616c6c6572206973206e6f7420706f6f6c4d616e61676572604082015260600190565b8082028115828204841417611c6657611c66613601565b634e487b7160e01b600052601260045260246000fd5b6000826137e4576137e46137bf565b500490565b60208082526022908201527f41646d696e3a2063616c6c6572206973206e6f74206272696467654d616e616760408201526132b960f11b606082015260800190565b60208082526023908201527f41646d696e3a2063616c6c6572206973206e6f742062726964676552657669656040820152623bb2b960e91b606082015260800190565b6020808252601e908201527f4272696467653a206c31427269646765206e6f7420617661696c61626c650000604082015260600190565b6000602082840312156138b757600080fd5b5051919050565b600181815b808511156138f95781600019048211156138df576138df613601565b808516156138ec57918102915b93841c93908002906138c3565b509250929050565b60008261391057506001611c66565b8161391d57506000611c66565b8160018114613933576002811461393d57613959565b6001915050611c66565b60ff84111561394e5761394e613601565b50506001821b611c66565b5060208310610133831016604e8410600b841016171561397c575081810a611c66565b61398683836138be565b806000190482111561399a5761399a613601565b029392505050565b600061342960ff841683613901565b60005b838110156139cc5781810151838201526020016139b4565b50506000910152565b600081518084526139ed8160208601602086016139b1565b601f01601f19169290920160200192915050565b61ffff841681526001600160a01b0383166020820152606060408201819052600090613a2f908301846139d5565b95945050505050565b600060208284031215613a4a57600080fd5b815161342981613308565b600082613a6457613a646137bf565b500690565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215613ac657600080fd5b81516134298161354a565b60008251613ae38184602087016139b1565b9190910192915050565b60208152600061342960208301846139d556fea264697066735822122055778d3e9990eb0e943db2a6514cb0a6f3cab95c6dbf8e545e19eda36367338164736f6c634300081200330605581e038f772282adf24307a73dd0d61835bf652dd5a1b34251475553a06301600701193b3602192c8f03af72b467407b1213edaf7e0cc12f803075b023810df8bcb6f25e90502d33cb2403f28252bd949736ee92775db4fd2dc1a254a35b1eefd0bd143a7a6ea8b1b7e3e90354e7c0f90c10b5550fd7b8d19f6e124a8ec69de8fc1be8a6f09b6aa7d75c521a03e566ca4d3dad2938a86e0ad71216b80c880a4203d3723c227afd597cda6059c603640e353a015b5f2c88603257ac2f85a46ed4a0df6e4bbefa917b515770aed5e103d6d7e1b2fbd6141858c16c332b99b304e1d7d74e9a69e7b42b4ed30ed37e87a503444e4e1d5b6008096252e7c54711e9fdabab3d9ec3c8761e05d6156fe577d6eb039d39c6620c6e08863d0f1fa970b62654cadf042bd18db8655db11c5fc68f23160219ffff03ec25b66661f525a8c42a8718c126045f965372d2e7a91a072d2a0100e6c6df0b0381d72413b034f0b76dd81d74832a6c625e658285bbc71ed71b1d6df3f1818fe003c161f2d54e1f00c968556cfeaab03c77f101b6c780f631682411d505d886ffa503633d32bcdaf1a05e1b545062393d7c06336a1fd456ae9b5c8161fa74aa76af75032589e76b3302e3ee5c1dca7858c31b6df0000a85a8a4ccf841397cb57cdc7415039ae231fa87682ddc1cde9c5ef69f80af0d4a4ff0fb928353321d1fcd2593dd970322603708742e2c28de5721adfe1041d1ca31c408272af558373b15f408fcad6203b74f7f17a52f20079ca1a1046e02ae0aa0544cda71f1a3704abab06a925af7ed03374790c7726bdce0bdbce4f3b95003a0a74c6e9eb4cbb350aeeaebd3b65a8df803b164f7f7b5913b443776c5bcf8abfc3be73132e677b42c874d3e3d86249a5ad7033af900bba82099982f34f039d96d261f2d07fed4434bf859e11cf0b5c1d30a3f030fcbe2c89e9df20637b2b7989165d00ff480a16b4ea32eb7886f620492650851037b4804ade045479f0aad3137fd29f10feb6f6f55917d30ac744c99aa5e7c0a0b0219ffff03251874c5a09658266f76211cf9904bc46eb23bc929811d7e8524f0e82dab94c50308f257511e2b9826338bd85f17f16a07430288785cb50e106f6133ac82dc3b6b03ffe80ae73d80991e026c87cc809f482bd5ff2febc4aa326149a45f7b0bb1ef7d03dbae204858e5822af4b226d8a5c66048e6057bc3abb3107db9c697274cfecaaf03b5be1e36cd03a582e52555d405e2a6558a8782d073e3f72b285a04b1156d2f6d03089ad6a16e1339185e01eadf7cbc53f28249b02d29b9ce61931ad792da13f5400351ae1f22625d6d83cc536b85649b631dcbddf5c5d1f712d188c9cfc8da026114032d443522a6bf40eca51ba1db57dfbb361e911e65ead96b7c412592f9499b773c03de46a9f6226c75a67a65ba71f4cba93b8ad604495ff2dee648194b3a71165de30306950424dea346af7e7e7cc685e2081969fc689d68a2020186edd4d400b0309f037407a70f40b5c8c804c9e8f4d1a4fdbcab8a1bbb00122f7803070e2a5c0dab2903734e8dbd67731e770533cf86059481e1fe10064abfed7b4da6d1d20334d4dd2003bded69664f20a3c8d620fb42eaaa3e1cbbba9fe0788ec4361ddbcbed4b026c7f03eeeb7ab27751efde4c722b6181e7cb65e7fdb6eff742b8d4572b83828b08192d033ec56de7a8250e00bdec5b94a2f0cb311f019df5a40ed1cda7d2e6c418aeb5bf05581e03cd85dae66dae15a4f3f64111988e70f310f4e396d611ac3b973b3a35d00c18184703e8f587fa2d9805581e0304dd29da83b4274ce806d8ba0fcd7660618f4c0a20c6e8a724786917500c01462bbf2769e80005581e0345f86dcb15fcc5f8a5e2aacaae2b28e8f74b7cbb9f73afe30df76901300c024671152da98fb80353384402abb71b9f5ae7cb3dff526d408983433fde7e4e56852a1905e6a5dec405581e031a37163756bb4dc8570a825b7f19ae4e02596fb977f02216ec9345a1c0040105581e0357fec90537977ac9adbf44ab7f4074829cf5b387a0f0dca08fdf3807b00c014605774fea440005581e038089f7b74655edca0f447ac84b0954be56dd84de6e3b32c8766303cc60040105581e031aaaeb099c949073f5f0eb4e5615f578d9ff719f5cffc493296bced670084703e871b540c00005581d02230b202e02623b79e8caa4582591f5a862e9fde6172ab2da8348a3820c024701fc3c46e7a85805581d029a4ec3c37dbb403f47afb64f637d82e32026fd2f5342ca3f078e6ab70c18774842cb2470144fe926021203a3f849b66a64d0697bb0c761b6fe997e7236a76b3d809109a50840db7793abe102196f4703822040ef063c91617c6082a57bf81ab932bfdee69586608473cac1a8f023d762039c4ca4f6de6b0378a51ca80f4387b80676275bdda6480683b022dcc7c53512020361ec36e0103472d45edb33ab48a9bbaacea4919ae3a166f4ca85bbee943e0ce8037fab0f517cb88643416e73dc11434e1a87fb00a620aa78b405dd48ce805d9f0c03824400147fe89db57b569bb739492db12e0eafbd743915f989e716374ea1100103586f45bbcbe396522bbbf6e5d46188a27acff4e81ff873b4acc9d202b9d626c6033c17cfecb498005b7a281de6306220aba1576cc35c8e78b4056b8f1f09f1b40403f256f4b0453fa349b77243d696e2802596ed370dbe896e3dfc3d587698a839c303a1fc3ad574c86aa2520c9924db9fec2d7d4f49119c1b21583f229acae9945cfb036bb30c37efa0bdbabbf6503f1ed1265d57cfef4cfae2ead31138369834da44f6033a71abf2dcb3b4f7cce867c63fe5133c9393eaa3ba457a7fc57ee64dd5abc5df0347e7593d8948705612e52c9dd8aef52d4822c6785ce8520eba62bc6b08a2b34503296ebc34f4d577913396ff85deed01cc5aaa1861c273dcd2905c7cf18920189003146c62c906af2b9edb0d999ed467f44dbe93ffa542b6d11841fb89a3fa2116b80219ffff030ee4c1f1c4597cf947b8825c8b26600078c3be52af1cfeb6c7a9e5e095ea054e0219ffff0353918aede00c9fddec1771dc1e172098d88ce0216adcc3391821cee1ca5bf3e4033d4a4a3e0c438c7ba817aea6210f50455ceae12ced0456995a6fb7eecb6a9141034adb767130d5c396756f3d55d64bd051a1f77a089300e43f4bd3e2e12b4d330b035870d6c4947140897faff5d8ba5410c2a62e948ad99c3e2d2eb69b63c2c7cc6f03158c5e9e8bf9d79ab041cb95f79a15ebe3e69a20debe3623a0957e4f35320f8603935a765a2169ebacc19bb51bb0e9ff37ef50c2f40ac4767b9476246962877f4d0346d057bf49b76e6346c41d96556c44417c3ec98df1ef9f4540bf372d8f5a4440036e7c737266cc0dfc5f91c19324b38134277d4e699f30a5ba6419e9a4be283e610219ffff03c9e12aa4781da4e60b40b8476ba33ec5b36c1381ad09fe29f7fbd606012dfd5a0300972ad14c5a501e29c645647bd73160e6549e30feb4ce01664440375c9eebd30219ffff031084dc5740a861ab9a49784bcc02d3917940928fa99fe409a1f261f89a21830503e22dbc8d589453579e8276c7bd1b70d5a5916a5b77d480d75f9e8ffb117549ff0353b3140718dc0cce44a03cae17aa276b2849674bb2b32bbc889e0e9d54934449033d35fa727b2ec9df007fd79c4595cfe0b3c83dee44f1041e81d83433a2282c4d0354814216849a0e71974758d7b5d8d6c3baebfc3d21abc17e03ef571c674a93a9034456976cb7bb0ba304619024eeaa2e5eea10f5905ae4b00c5ae557a3d625dc3503f24c1fb816804f8871d3670b83b7d6fd59187fc3635306674fe472cdfa3e1d63031f2a4b17de34c3f73585ac017ca8827c88b161f273218c108276db32ccaf7695030ef642bbdf4bb70baa0ac90fe96a1857b2904f695eaeb1e464c5198ec0c1d80f03000c0487df5da49e6e64f955709991f23cc18784542b3431c925cc3e4dd7c78b034bb82b2e0a4aabbc63e049b0acfa646ea4b70d59bcbfbad5e33fd385d86b4af4033c99910c015190ff26e99cbd207584369d6674b6ec2595d2886d0eab4bcbb913033b92a9392adfefaa133973a2c64e5ad74c77e6a9b4590575fe59def262aef61503e0ae19fb19e78f48b78bae6e753249b8213ff20b3f8dcc301fc1d99da3e5bc87039a2a53698232740bc384699381f35e560ff4192afebcca616c222cabaeec7b4d03d55b0f253617e6d8e33e7ddb3e40159b4955bf506bfca5f6f7ec3fe734ad40a203bc334860414877da54af1bb49f09f77d170e9377471357ab080ffd1f435496b0031184456a27921ea95cfb8ec08e8b203be54d0770dd8684fd80de2de2622a254003bea6fbaf4d29d6d7ed7d92ba0de391116989d648ab4ada8971604af57bb402210355f28d4cfc6cc6a3cabcf32dab152bd69a9cbebca4ea73ca982c70304b54c28e03f0117670963b201cdb614ad3849d934b32b98df6cc3abcdd97b0b7fe84348c370375220ea8fafe6420ffd572a9f5613c6d02bf28949abd081843ba5555abee90930332c3849c8809978e0fcf6c7e90721397df9694e5ee389ff8d2d0ab4e366267ed035c830dba91474921d90659b2d5b1b51e48d11e6476406a8f5d0f8c6cd8e48f9803444b5333162933dd7f7921d853f89757d603658b1bc0031adf040ad8f647c08703c2034a4d0f36db070f2de6ef1d9b995eddd16bf32ad69c72a7927a0ec23148a00388ac62c4f3cc68c016a4b7f3f570fde97f71294cebe88446a2d894f243f9575703b22bbd269e283776ac704b9e987f3b554255a721ecf2c340e6ca10c8736f4f6203f1ca78dfecd5b3ecf47bcc249370a0e56974e1351044e01e1f6d0c967b38784903d2cf43286d6d9ac545a3fc049d8bbd912b5e0208c34a9ce0975cf038349a036d05581e03b97606f67594a269540fe86054c261175c772c19087e1fc665995ae97008461b48eb57e00005581e03fcce60b83369f57989618aceb2ce2353242a8fbb8147d49d491b79c8200c0a46010e8c98e40005581e03a9b335805742e001def3aa45e64387f2a31f3f7c12f932760425b34b000c02470395e853bd540003d475a5b50fd5068a32a5199bf3d5b6ccc92b53154aec53a00f15c8485de10b24036029ae493970d839df1c07de4bf66356806c5dd29b9a0eef770de5f8e57c8daa05581e03f5ad816563d881c9c07a65e0a95be43258accf45ec3a0c8ac6240849e00c0447238fa5733928b805581e038ab0a45775a1f9ea738c902ad8817b0c773ffc7ea10cf9397b32b8d200040103905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e0326350508cd2b5a49d9ddace0cc45d9e9c140b87951d62910439ac40bc007011bffffffffffffffff05581d02c9d86689b4f3e322e6d51f8649a80725dd333b0c5c5d3c700789896a0c04477362d43afd21b004590b4260806040523661001357610011610017565b005b6100115b61001f6102a1565b73ffffffffffffffffffffffffffffffffffffffff1633036102975760607fffffffff00000000000000000000000000000000000000000000000000000000600035167fc9a6301a000000000000000000000000000000000000000000000000000000008101610098576100916102e1565b915061028f565b7fb0e10d7a000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016100e957610091610338565b7f70d7c690000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161013a5761009161037e565b7f07ae5bc0000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161018b576100916103af565b7fa39f25e5000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016101dc576100916103fc565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b815160208301f35b61029f610410565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60606102eb610420565b60006102fa36600481846108d7565b810190610307919061092a565b90506103248160405180602001604052806000815250600061042b565b505060408051602081019091526000815290565b606060008061034a36600481846108d7565b8101906103579190610974565b915091506103678282600161042b565b604051806020016040528060008152509250505090565b6060610388610420565b600061039736600481846108d7565b8101906103a4919061092a565b905061032481610457565b60606103b9610420565b60006103c36102a1565b6040805173ffffffffffffffffffffffffffffffffffffffff831660208201529192500160405160208183030381529060405291505090565b6060610406610420565b60006103c36104bb565b61029f61041b6104bb565b6104ca565b341561029f57600080fd5b610434836104ee565b6000825111806104415750805b1561045257610450838361053b565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104806102a1565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a16104b881610567565b50565b60006104c5610673565b905090565b3660008037600080366000845af43d6000803e8080156104e9573d6000f35b3d6000fd5b6104f78161069b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606105608383604051806060016040528060278152602001610ae660279139610766565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811661060a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610286565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6102c5565b73ffffffffffffffffffffffffffffffffffffffff81163b61073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610286565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61062d565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516107909190610a78565b600060405180830381855af49150503d80600081146107cb576040519150601f19603f3d011682016040523d82523d6000602084013e6107d0565b606091505b50915091506107e1868383876107eb565b9695505050505050565b6060831561088157825160000361087a5773ffffffffffffffffffffffffffffffffffffffff85163b61087a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610286565b508161088b565b61088b8383610893565b949350505050565b8151156108a35781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102869190610a94565b600080858511156108e757600080fd5b838611156108f457600080fd5b5050820193919092039150565b803573ffffffffffffffffffffffffffffffffffffffff8116811461092557600080fd5b919050565b60006020828403121561093c57600080fd5b61056082610901565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561098757600080fd5b61099083610901565b9150602083013567ffffffffffffffff808211156109ad57600080fd5b818501915085601f8301126109c157600080fd5b8135818111156109d3576109d3610945565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610a1957610a19610945565b81604052828152886020848701011115610a3257600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015610a6f578181015183820152602001610a57565b50506000910152565b60008251610a8a818460208701610a54565b9190910192915050565b6020815260008251806020840152610ab3816040850160208701610a54565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200b5100b6056e5ffc17e66039dcd723596f9fe3a99358830e95788eba2919cc0364736f6c63430008140033036a53e1f954e944949ce072d08f2b863f4af8b35f23fb2702bbb6adfcf8d2802503414efbccb83009971dd902e0680fd285d2cfb50aa9b9ec52d328e6af8a36290203dfbce560296d04a75fde7d87689aaa707043696d15caf126418bd8c6ebeaffe9033d363c27dbb1570281bb3fad2c8c836983ce81f679f1423f536d8ebdb390bcc203071946abff11332135527c456e4814da3a962541849db93b80e815e83fb0db0203dadc92c0c1c7766a2bc95c4ef4ed58ef79e7ba6fb9e5f3830e05b4690d3e83c903e5fde9157aeb01d9f9f508a9676719d8fb2da95688885d53d82d120eca7caed1035432c25ff183ae8baf9e26609ac426af276651c70591c885b2de313854cb6fbc0325f568831fb9c78c3dc6b55e77b157eb23879281c0ef69cd4b921fd0f54d1ca803034ece7e97d1275629fbca905711a7e6db5badb233c08efd067f06492fc5ca520370e856fef1511f3b0bce3d946ddedda17583f6b0c5697871345cd9e6521d8cea039b010facd48e38155c4d3465d9104769dda2d80ac6f60282c1e420e4f21d873d005820036360640725eafff2354af4e45fb4f4ef7247d38ac2d97e611603ccea69e630410103fba45f1b0771b9e404f6953a65072cf06f6178fec6316ae424dc841dfc3b32ae0343b34093ddcf55a948baef7415e2f6df4e0a38020027d0db7ff481afc78ef65703c06a21689c7cb46225ca521c07921f8f25da380e2b7ed998f3d8fc15b6b404a8034ba3cabc47b22bf10604aab326f8dacd05d084c5378a9c4161c535d6f2be27c8030be0405e1e85bf3f7f98384ac4de5c6ec445c222b523d7b8d5b1591bedcf07bc034e006697cd52d8fe73bf45681123cbf314a8e39aceeae7ca8d1ef91b583ab9cd00581f022674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee14a678c4f373959048000000218c0037fcf3bc5824f199258319ef65b81f9095ab414091c0cd2d496d800d7c0107f5703d9e24d35ca43c584d8b2f470dd9a0f6f371e125a111b08e1157a152ba83d77870219f7ff03ac7e092e351e6816214817c9480fb65478a6056e236ca1eab0aead0b8e75d02503199fd39d847512c8ea23839d6370346b032335b4c21fd1de9a2dea6f16708ba30377576e180faf01ee44c9ba4bbdf9bc84e2d48948d530b53bcb6c6dd02064660603485cd2d7c7fba0438cc53ed8e24f4d73e178c94e3712264841d536b42ee3251b032fc1aeac3e27a2045f9d6a7426fae61cbfd8781e42dcd4d0d738270ce9ce8a8f00581f03a600029e854e9b03b010a118ddabadc743ccafbcbd1450a9a6710c53eca0410100581f03230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe04852da00b1e0efc0fd02189000581f021ee9df6dacb1652de7d28b1da5b44b4ca450e45fd7dc5347a31ac4ffb92241010219120000582003402b7e83a402350b964302cec96e94bb8ee4dcc8dfea835225b3c0ab92d280410103040272b1db46c2bc9ea039308648855ae9527b5365616293b838dc47a5bbaaad037c327683bab617eb80999e7efa1cad5763e26726f6e623152cd6909579032130030f573d56aecf3757537c10fa7798b72629a9e399486c14afc8660c51e069b1d603a5716238742bbdd67877a1289a0e127b56af2e1949b1c0483fec749b0cfdfeff037667ece4d83f21db6a6331d998392eeb2bc7e02fc1383d8e3263a634ae1be0160359f5913f7322506062ad7599900965ac3c850aff82752aaf51e5f2de5cee4d710313b60ed7459d59ef4a29c46182c8a048c0f0b8eff63f996060a9247cfe8bd73403565b0c40393faddc94e2b12886cec360344e5f87462efa9fceb44237a6def0970394de436999f5aead37fd858f002f7c3cf071eeeff3a97dccbac53c9d74dad608005820032eb30a44afb69bc497fff6b66e8f78aa12737dae50edfb093373922775e60041010376176593ff373f40659176d587556936b736937f17fbfc0625b56f2d4cc279d300582003d9eab42eb0d1e2d86c0ca2b3156961e24b50d7aeeb94a41f27a7b468a16dc0410103106eab0e2073dacbb616ebc9a51fd02077792faed91e26475c012801578a66400219ffff032dfda5a58ce805068b87562c296190300bf9f07afff4f7b77d454d02a2dc185b03bdf9f1d1851c5f7ca727d5ea59273d1e21fbcd694abe5ac8dd5e2299194e46b703cf8a71da3426383a1ac7a83bbd87da13ae645cc593a4af3851b94219a8b17b7a0369e523ee552d381ad227628d7fbf8ed4276ce885cfb0550384e6a19c02503b0c031a226e73e4fcf5856db8a6ac614bbfeeca24cc5d94ac5730376b9a5cf3f7a642034cfad8d3c2e7d14875b8707b78fe2c8c69db51ba0125d999e39efa9ceee3035203117a616e6d3721bd38aeedcdcc89010a54269a270a6ccecc01807392992185aa03ac3ea2e4a9e4cf5ab03a1d9b35e4865364b7c5d28b17f028fd3b8df3fc4938be0219ffff0302057889904a0a1fea6ac7f51ebc99eb89c2fe357ef5f282ee5de7307c73ffa30366427c57f0d07844661f72e9b39c37201f2579b00257382293ad207c3dcc38d1033005a17a62033bea315d9a7a620761d73f20b79b1e82aac9f7f4b3f7702a076b03f10ec67a55041e15f762bd8575b0028a3ae9aef1d11ea9ccb7090f020e57794203ed3c28e62722204700783988fcdf996bc0f95d3cbeabaac415ddb7010ddc19ce03a55aecb0c4e576288aa1f98359f3c2aaf134cfbccee38351813d12b0c4b322fc032b17c279e1526885647ed1f477f8c0f56d4819ae602d2474e2c8b4f76e90b59e03c2312e31b753e336d819aabc2b985b515c21aee12b355ef19d21e2b216b1288203e86603150edb02915a5c5c2530277ca8830e46a2960cf46bddb16ad94eb530f300581f02a8dfd68431e33477056497f09169692a889300592cf3ab57b8297c7b37f9410100581f028de9989bf7441865ebdadbf7382c8838edbf830f5d86a9a51ac773676dd6548735049f496727f824cc0f2b174d826f5c40819200581f028e9a18b8f0ea60ce006b7806d2b8c760c67e96c81e9e47673f7fb1c4480741010219043003054ff1cb077575450fab5ea41e0748d58626a7d4ed8eea37832e666b292f474103ce5ccb86df59c0da1fc375f5758b99b9c72561b535c6afd52504b913d8ea125703fa50abae2eb9fc828d8013575f6de1d0945b86ad6149cfab49a1d9ddd70faf08030165c4c9c9a119776ef9574dd705233869e747d95ae94dc30a2d4a16f7244fe90391f5e78ccba51149050ba38cf5d05d2e40bead5041e84387e8ce9cee049c49de03c2248137732438941b3efb97b4230225f39cf3f70e5a63fc537358be54a86dbe03038f6bc15325ffd9afb9f23a83ed37314cd79a4fca42e70433bf74ef62922d8a0219ffff0386b104ba4a044bfddac39f1e8d1e8a4b2d2501bd18f47dfe139ac2b1a5270c9f038c762aba0b3b053c0dd29125e167d335039512aa53d79e6c4cc43075be33a664037308e8bbce832a6871ac0c155bd96f7ed64f9b7c0edb778eb88258ec444947a70141040334f0e3ae5055690f8c7e2b313260dba3c429f45b61853d51ed04b3d17afa586603ee6b33e05534e058cd01cb543a1761c274f46741f5b80a15f4d1f16b6854e61403954b24e1eaecf64c441f608b4400ddaf4b3c4a3982dc7147fdf4f694021d319303871b1b2c0016b0efc3d910a094567f7ccb4851cded7d1bdf84c1dfcbe5f8a9a803827fac3c348db7823af16d044764853e6d73c4e4c4fb9bae915f299ebaab4efd03873fbf95438d99c49930af66164368a1829e12153e6be8b8b1c235e7bb62f34b03942ae77d56d5c1380b87000f284b4b3c9d269abf7e546a8a193742f3ea7c969403c9b5a799f47e8cfb39da948f269ce0533795491c6a93b6080c699031c9d6421d031401fc9e7caee741c5453fd537b3a2aea37cbbe782f8195096046d70ea494b5203f3d392b56682bcda56985173d83fc455ab6cf9b2be96f6b96c208aac3e16fa3d00581f021e3fb75a4bdd8df4ac22c15f6d783190c2a7f39e249c21ac715e44f715d7410100581f026c5d584b339567d35b12a430f375c972a779a7e0d4ef40210b6837ccbb7f410100581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154c26016f1166be7b6c5611aab104122e0f6c2ace20219c00403537afccbcb111e52aa645d1263047791fd7f81bb56e60823e5e0dec4edaebb4c03625c7342e8bd369ef9e8f0d811130f8520f3e214f14b0a078e6b922887d7708d0219ffff0353c7bee198b7f5f8e7c33c05000c76edf0b41c6ef07379e6725fdff24a0a7853030c15ec2ecb7d8fc18d0cf5697485c0794cc9115f990098a314ccd846eb24ff0e03c2e4538cf417c28b19d878d0e0f61f426e8c03c7cc0a7eea2b0a6b7c7925d9ed03b218fe377af03bf8c0c3a33cdd164a689654f2ce200589a61e4c226311b9433a03e29aeb993579f0f0855871c5b54e8ad0c05ed701833d3759ebc0ad4f9509e7a2037b7065264719f7a13feb4096523122c283cfdabe9f7910e79231d6526452d8700308ebaef1329503dd98e1f36132790ea22cd19e8877fbb39f7e7b89bdafc50c2003f74baa66ce2203008297f4b9864e7ae9271aeb28699fad4b07386b16afc8e94f03f5cab6c99d3012dabc4bb54b1a75c82686bebe9b7714cd305d5c332702342f4b037715907703b8a51cacecb86c2d32f52a05c498fe4d285974174b42180b60859903f5594c5561d75a8dccd76840a991bd05d4ce1d060233360906dd970995415007036657504e50160ddd61105a65897a00b89cc1244f09671186ec84663907b0589603f2685e5cb1b8bd1ca0c556272237f567b8abd006087e6fe387b80d9043bebad30219ffff03878a99112ff7df7329506d14e0e1e1be0e998125e992953eae1890b8c462025203ae39136324d4e8c770e9a09095d4388d3499888e4ea625054c153b2ec23661840360f3539b6d4c8178cfbead7fa9948812f80e6d3d42ca8f362afa4fb7e168c53203aac9195d161d64afbfca9015fb6b1f3a898cf2ee061d86ea7fcdbf24d863e1fa03f4a7f29bc4d9b76216e0cad410ef4156ff2bd7cc8bb212a0297ada47c4b053f903adf0e36b63b71e1cd837472a3b0e7415bc6c612c6ed9c53b95f1ecce23e0fb3403a822e7d649c0795e974773023b38be3c0e11b232189c7858f8c42ff8c81b0916037bbcc45d8e0a9657e571cc994254aa209e51f50c097b3866cdbcbf292063948f0356e36d389e8fa0679bcb07e797b77ca07c73c74d1f069c05aeb9a57572c6864e03d0c2d07657e1f5c3dc113ac6d86accdb69f55e7f7190b52708bcf4f62f98c52503db56a3c1d0f09f12a4ba988bbd3ee37b9d7ecb2c2413017954c38756ab4a5132038ca98c7c479d01bf025e4096ee991e2f10f49577fca3043a8ec4f67de94186ef00582003ff11fa346168edf4425d50f56aafdba5155eb6228f5c0d22fff180871230204101033aa8de711eb50e77780d936ab723928fbf53792d52a0a1e5687a1cd9c6d20cfe03f66ba69eba1b246be8d31ff64813d923edc76a5727ae870b8f529792bf6b0490039ba8e62e25d793dda80def484fe23b30ba7831b4a685db6e26386fff2d4dd1d200581f02928c65d42bdb0be8e11fc1873a8b2d65afeed7612d191482fe91e627d948410100581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054decacc56fc347274d3df2b709602632845611d3900581f0328291d1db1570ba85a5fdc66490c9de206df82e8df389298e8c02c480f804101020900581f02dd8b8c5cf24ca87b127874f6e46cda2b51509aa96131727aed9e218430d1410100581f021d29a66b5df7d542f4e53dbfc0dee739f36e9a9e1461d926dde6eb8fbf56410100581f02352237f186b9dfa4df1b484e0771f6e47272ee15490d8d8a44fb3851fcef410100581f029ac5f84552a3b599641be6d58f8e41b12884c27f015d9e410b33e6e86a8e41010219e04603e2600f5b7e1dd6d77a51479d79ffd4dc3c7edfa2c369bae7a48744151e3e270e005820032d81050adb7f98f7f8ed1173c058178ef1f6c1337a816c732c58015e29e69041010319715be8f6e1c93872c1107138c9fc9911a064181080c7bf110da037962d6d39005820034f60d091c8e6223564674472e3b96f43401b3e32305fbbf0a31f50e58e8c9041010219feff035132c9175150c0762072098e14975fd0f7b8c86f128b5e62f833517fe140212903363f01dd2a070b2e9a8862d00f2c017a4fa3ec75560c2bb0257c70d2923784520326464aec3a292ca7aa75de78ead1a4c81509cefc3317d6af27d08b2665ffccb003d9f06db859a33f5ecce1d6a856bac366f57ce408e934d7c89fd87ce9360f570c03148e7577e82f381f20ac79d890227f27202c882e3663b9d2c4b27ff8b105899003f74cb3a97066527300a9399beef16618d77533711342c125923d03d5c7bed0a003889a1adff6718a8413440acc124e4fae7383969fba5f12befed30ceeed83013203eabcc02a3596b65d6228abdba4e2756d65e8f692d1dda079fed31c97429166f003b21f5c7b81c4656a8b813f77e6eb8e313ecabd7e1cbb2a89129914cc93d98a18035489c7c081b6c17d14cd930caeb4ead073aa74cc8268bad7587d6e19907bc8e30219ffff035df84837d3dafd641ebf4989e3238d8a0e92abb00bba35922400e8479b5d16a70383f616f46723cdf95d62ef239461db6c5643700a928949c89d74ec7d4206097603db6656e67b185f5f9e81a8336a3f1f3b3c77876c227f9673901716812e73145e037901199458939470fd85940e039e4c147234931183cd4dc373b3041d610854e503882d105d1efa92e1ff1aba11a345a77a285bf233801d715fb1ab12a8baff908803e8fb2ce42a62aa7a70ba82d573631ff06a3b767144ef65a018c181d7a642ba7c03bbb632ce498f167ccacb70ca51434eba3d2de7c6493701b97cf1db84d9825e5103e382566925b65660565ad21af532e89355ae05f602fe303f6565c17086630dfc00582003e8a9a31728def91300fa5d930aa1491d584d72999d2e29564eb75545740c1041010368c32e7c677614376480091d241d8b07e82e13b395bb8c278ad8f1ddb7955c2c033ce158b2dbe53b48b30d862aa67616e8e23729c6597d1c7ccfda6742d6084cd3032f82345f20e7a9ef04850af02e36f806a7ad649fad6ca1caf0922cccb80ef6c500581f022aac6c9add880d00fa61dd54043166910dec690e33f24416279a0976d500410100581f02306b5af1453266bb2ad607191cd9e0d53b1f8f5814694b61f4f1219cbf4c410100581f027e12e2276710c601298e216d5a93a103c85fd605921d6e2d69df7a2d5c34410100581f02f0280750faf52dd937b3f65bb30a40a72f865ecf7f26eaa9b76f81aa3dcc41010219148403157e04261c8fe80a38f0fb6456fc195252c2bebf5452d34894d9ffa0b071bbc50308f294c861cf523488c502b8f423e56c88924142edc1809a10ef64c8be779f8303054801561014e856c2ac3284cc8dc912b71ef4616813efbe1561f0ca570dd077035f3946ea792b7d4773888d59d5ef22668f6fe8b5fa5f11c56d6e56058f66f86a03999ef4351f01f6ba6d0068173b9593d0946161cb9f24fc2cf351bbb4200ac34203d3aa52ea7894447ab88b460154b32f3a09cf2257f0edffbc0da59655467a23e90219ffff03cd52c121426ef3c75f77aad4e07b61ab2f168de949990fe2eaba8797ce3b427f0301d5b5ab8f9dea26dfca6f8f9cc8371c7d4d03ba7ba25e59fdeb914ac5e552fb038e3a8bc1c118c969d7ceeb25d68659ac6859ac23b629bbbd654581be288c7ace03951730ec553a9b0ef5de6eeb3c26ec1cdda677b36284fed1a66d7c62e042863203247120510fac0a240851435df2c5fa373ce3872ba38e717614ab07c3233d2f3b03e50adb8261825634f8bd666dc6ba9668103fd7b81dbfbffed56474f73eb3fa6d00581f022a6de2943a5aa4d77acf5e695d4456760a3f1f30a5d6dc2079599187a0715438fdf7b489316e03ed8754ad339cb5c4483fdcf900581f02852163413b8015c9d2cdf74a70a16f83fc0f7eab6a21c26dbfa103aee0fb410100581f02593b170182cc3c1a0d8a6c1067cc0eeac55473d42fb13c761925962e281941010219800603f905bc7cdef0d185b5148d2629c43167c1e1472da92fcddc0c6b3c214dfb9ac003c002b41772a421a53e65a651ef13fe52c324f8ea00a3a603672c95e8b10628620327a1af2b1ed1653d9572be4baa93a3ff5fd8b24f674de0e232a562dca69b2d1a03e94a117d2904737f5203fade6f3c19f9b0944ae89ab16f3ac8e9072b5067b49b030c72643f917861325796d6ae30b5dfce9b8a3fa207afb91956a5a458b2da8a6a031d0a6562045597cca746a950f88a920ff7e34b543c5729038fd216f27f7e023c00582003c4abbfd99ef0e735f0e483cfb018b00e9cbb767ccf43fbf8fd06e9bccebf90410103d0595a8d55b9cd138605c6bec246ad505f8ed126117b936c8ae0d28d7f889cc603a2b7843e039faeee53b935bc6c3126f5d9b1ee129b0a87d42f27c8e9ddef45ad01410d036b3cfe3ec8e46753787a54156169b3d25d06fdfc2e01dd9cca3ccf2fae8e16c8034ff3557b0af083a3f380d67f823b056a17525364f2b07cd9663950a3b6ec149703e0847cdfa3eb1f1a0e52932696927862f6e0c6724b0ffcbb7391f8f1f495a1bb0321f2071ddb33fe0715c48de4a9839e1d846e339cefa234665e1ee1514f2e16df03c43c997f427ff5a8251491ca97f41dbd99aa859948b67332a6509162d98ab2b00390a605458ddbf5ce88b2a7f351f8ef7c6e1c6d210c696e4f52a6313623cb21990219ffff035f65a4798cca2f783e82abbff806d44e1a72984644cd3130aa95a763a0374f9203222aa86d8146afeb34e906da07a7fc8d1aaed49883e310104e99cc40047fa8de0325a437fdf464b7197c76cf6d50e82ad0bb1bd4f8e1ae46ce026b77bf0805a45e030a01f7c2aa70e4322623c92cbdd63027a65973767429955b901c406025e64e1e03556cd42abe0f7fbe7e1fc95b481c4d5a0794e74c8f6d973d5f38543a28841c5d0219ffff03d51972b2c7ed5933f9f41d0710206bd6987b08502e7c0211d2ff43b184116e2e0341fa9174df83867fe3ec371c849d9b7edec242cb5218d0b1d1deadbdb592418d03c718830f6520d414b8fb6f0b454333690369f6212f4fcbd20dcca6dae18552980336de3cfb285ffabcabeab4363f029cb07c8b1875e9a0f186133c1d9d3a3eb8e5033510fdd7678cc722b31bc1282108ed45ba1cb8475e454424a85b8ce73aba012f0371aacd45a50fe56d852ed47f0573e45f8611d86e893905a41a91f769f8914791034ef4b58c85356262c1d0a67eaf85aa196e95a4af7d3b2afcc496a328bbd2f18e03814cae706416f48d95620dfb1cb2fdeea5ab75c3f784706d567ebe1f90fd10c003ef8c80e7703747bbd86d1244ffc8bcb14a0960a6f37f764b262e2869592b8d98033609c36d29c02b439df6621ef1f8ca4c803d45b74d6dff8717c7e6b45a3fe9e503cca0406948ce3e0d894bb76196f3c57c6f703b2a69158fd62b93cb515e2e7dca03eeb344b85b5ce5f30bfd60e8c98a161ed4190dee8a64012956964c3ceb0c53e3030f1fb45438ce543475639bcee45b2ae40876c23c6221c6f437c8971be4ac55a900581f02e26d96b1f2a9a18ef8fc72d589dbf03ef788137b64f43897e83a91e7feec54d5f7838f5c461feff7fe49ea5ebaf7728bb0adfa00581f022413c0864581b3df12d6c9d117c3386ce46964ec7737d3cc91298ed54670410100581f024a04b9d1546fc2146e2d9976bf1d65536a2c8c4ede66336df480d6e5afae41010219012103d094535eff950a9290a253e37955215d317cee7b1ba5b8c020887c771c745e9703427293ab7ea88066779be79ebf6a9d65dd363eae2a678b9fa1ab73ba1a0f0bac030b959f4923b980b28cd8ce80c7f3c54780694c9f821ad69b71f70938731a2ae1005820039a64c4bcf856ffc0565933557e6a176085e51dc4d6400586255360052d66d041010335c5364964991880e2407f1ccf65ee54de02bfc73bb2cfc1f23e77b4103f130b037b5e002f843a4e0419a9b987005d24cd09dace2d61ad1dc14c6b8000fc76b58e03cc45d6cea83ea81c8921b8f24ee9049a3e47690b1bcbceb12235cd66a921a6fa0219ffd703f95d34d1555a95a28c271dfdfa728f1afc36d2deb4fa379e42e3d54622efdf27037a87e7d20d581b9215a8c228c1c529663975d8bd3015c82853e1e6b8f691078d037a139ede74c6301d7ab7e48e266feb3c58afc90524bf5195779fa27f7d8b23080343c151464ad32973233c9073bfd46999f187850c229168d41632dfd63b1aef0f031700b14689c176247694d75fada69e32a48e3ded113aa2e19524972aacbdaa7003769ebaa61afb0e414a8e857d6e4cb2001653dc80bb4bcdf112a6b0fc97948a7e0314c25ba5e8c54c7e2d77416a074e1c264bd94f481c7efe0bba3588cb4ccc947903eb96085c8b578df39458d79a3848f4137e4795fd4dffd515a18d00efcab0c8ba0219ffff0311869d099cf2efc7e24d2a9aed504fe02ab8fba254bb67c8663ef3ecdcfa0fc403b9fc5eef49806d43a6e8503593804f3545a088ce4906ebb6a13c38e1a3c18bf503006bc686ce4b8f681d13f5d26d993c37b94fe83c505add9444bfa957e540c3a10337989870db27eda6c7e6fab72382efe12f408c11f5e50d05a56fea23d958fd5203206433744cb0c962c94209e8b283a5fcf445628b6ab2b5315051853efd37e6470357d2cac71499c3f89ded4546e3ba70a7ef26155173d2c849fc85fa4e6adae4d60316f6f890599a58fd2ad26f089c5decc0cf7b4e2707d0cfe7ad1c39f27bf2593403cd1b1babd9ed4dbf167075225b724a1327cb5a7a9e7f5e64cca9764331ffd1ab030091ada8b16a2e6dc71deb2cf4c143cc91c6f3eaefc6624f9bd66c40169a9db50318b7c901671751fc7b780ebcee202fea77b22798e73aee1d6aa9108468db53a3035430c1367f4f92dac961af9af6331663a8c8a8e5f74a726ce30694e8ffda33bd03303758989eeb9a99bb6d5d2e299eceb213687129a5c23b37b8461028d691d8cb036c8f59f77d3a88248f73e2a0813dd04b1e61915d4cca93065ffbbe4176afc69f038dab1b0d48a135ec17762839dd10d2b6def9301e85dff5f48d4c7c174a8b77f80354f7c12ca893a5d58bea6066d8e01831340aa9f293871e036d4b2b6469778cb903dac8d959ad82f7f90038096cc38651773b18d09133f1c52ba8c554719a5a774c033de0a85c65eb1cc075b6091de95fca7c2f151a7d8a7752936b4dd2871316c4ae036bdb774e0f25348bf7ca3b05aaf6d8b983f5a6aa7068dcdd446e0230de808649038703bb88ce01c854c2c5453506e04b2494f2ce4cc01ed54b8fa589e9571e9d650316a380fa05f55790790ce8c781b46eab4521158aeb897b088b763781d2587ca903e0afbd2093de66aa27359a7eb4f188bef76f44c4779b2cf35d2e9ee3305d4813031ce92bfcd71af2bda75d3cda8f6b87de2b590c6c9654c1dbaaf5c2babd6bf19803dd44303137dc47f91371bfc2e40160f87439de6dfb03e485c564edd938b98e1500581f02d954e2cfef495862221e91bd7523613cf8808827cb33edfe4904cc51bf29472386f26fc1000002190104038fb1bd4e544b8072a5a9fef839fa346a06a35a60267851c959e80cb8f53c9061034670fa99aedadc4628eef995e7cfc3ade3bb96e6d749982a179d481ad76d55fb039b5e9d37d268407911e39747884f7f73e5549e685c979616cf10e243cec33c290219bffd036acb5da41e4439cd7951779d088c5b538207c2813a61241fcddc53ca61bf61c60333141b504c17f2af5fdedb342b5201a03121c62357c0b18a0ea9ea3ed4c0a873032562bc08134dd243fe4214b00d797e699cc8dc03ce2edcb1924dfa93b330a4ab0219ffff03614608dd94533240a24cb2122c16e16faa365d7014ca0afe9af9f8351924891603ce7e12f6b76df802b0140c399baf11c21f97c7839bfb30219d1e69e7c60e840303b7282c5722412673b805a3e074e4cc536aba5715cbedd4cc608aa2fc85981e7c036c8c27249af3e18dd7630c1cde976a8e05a485907c13f81f3215f20499a93c0603b2d5954b1d5ee1704d54aa364a14fe04b16d8c706ebd8a9701c00136f134459f0312d5a4b52a03c6a9a43164d4b7ccb85c0ae468119a68985f7a1dfbed0cf5b95f03fca8ba2033cded521cc71f07c7d44a53a82e1a133b7f6192f73ec88291db2561035a24771ad86054ae6a7e50d2b0da173cb0137e9c6e0ef37ecb3d51640bb3d245030a04915b3d77104ab20ae10fd5ffd15a8875c87172789c6ac8ac833819e4818803389f1492a52c6856431fa5919529eb32e3cefc99e12003f0c530c568d39d3f9103c19d07358b06606d1b1f7d743985945141876435fbdcc00a405d279acd33101503d3f8a3052261cb24c5b1c048ef4a88a21a53c2898ea59d4c004307188964699203c7e86d2b106db810e3f779523d841996abe0b2ae5dd318eeab69e87027ed0c5a03d90001a72c0ba14613595461c0ecce1437ac296b695d7da6cb52b05daa077aa5005820031c00e98d39ac5ede9678a416a6b0a29f34756d8e0e9da839f17160859001e04101035760b823c2797697578bb81b09dc90faa739e7eb6c12596ffbea3be4b3c70c9100581f0276f7b74d6294d7ea05a53b7cdd4f1dd1ba525f26b7bada86747d4ed110cc410100581f02e615dedb369a4dbf575f4f99c777bf2efa3c6eab5e13dc1f0809d8f51783410100581f02803f8ecf1dee6bb0345811f7312cda556058b19db6389ad9ae3568643ddd5429ab878aed032e2e2c86ff4a9a9b05e3276cf1f803b7b2f44df7a541a336f69b504e23e5d494e85fd1ce29b338230ca2d9e789b856021904920373d374796ab055b4c526c6ed7cf9112f69aa7b9457c80a4dce62b77d6922c2b8033807f7eb33e862d7ae05d22a7fea3b3e21d2b72f489d6f3ac6d7fcf20165bccc0378e32378c02082815ac17f803210b473a6003085c79d014edbda0ba6522fbd080058200307e55778325aef8b6a66ac970409b71e48d5eafdf4ca2682f7017fe94579c0410103dd12894551c30a2d720c37e260cbde8d98fde26c13d3abfcd36e56a938c7436f03a465a9bd98226cad72a69d624ff2defdfe88a57b423a9ad6917a3373dc3d8f4a03926715e9ee5a5d4c64582f6e01dd8f73a1bd3a9742563a0f7f62bbc7c01a49b303caf0c94f32a24d08a6ce62bf3bc351e755ef23ade0ff2c1ba47dc4871eb7ee3203c571266c5d3c93a43c32ad3484fab6f3b9a92e0964cfef6aa0fd010c7fb801f50219ffff03562c3aa8351545b7db5b35f5cbcf187140fd987eb2681d29a3f93ab4133aa394036fe4354d646a83b1879bdb4785cd80dca94a70f7f6c3677397ba52470686b0b603fe9445555c2ce461e1d4d4fe18ee5e6e5470c6c0a69861b57fcfe1e032cdbba9036d6aac25d0435f4a3a96b3dbc7762639e965937942f0e26eecaa440ff7aed79203f91d34133b372584ba089bbc44a9e601897dc6ad52cc342455561ef0106d32e103df3c5c7f4169365e1a3be07f02b3ffc783ad939c94a8ceffd50a0dc59047e05b03557d1a5e2597853f566b5b160bddb74db282c4cb0bddaf2248b3a9d9b87528970334337f47eccec1cefbc96a14c225ac001a86dbf71521e4c03002d92128ab94ab0219ffff0382d4e10c1586d8c00fef729b59d8392e1bf8da60973791add5c7e48267c3225b0219ffff05581d0293d89a21bf1eaf96d56ffee36345ee5d76ff0b68b4e19dd24187b40e0f014852da00b1e0efc0fd190b420219020405581e03290ad6671028016055bcfc05aa3fd4587148ba49b4735afaa7b4ec0d200c0647072e8fcd81a0000219e3eb03f2ace4a3014c93383f01bea7575e2bc1eada45a41592f160382e11d886135c120219ffff0393909c294e407b6e2f777550508a30c6ab9ff7a952beea4424ff7e3631b557790353ba67ab64c39edd5f4fe89db7575cd05b4a460d013e5be964b542a311df0970036812ae5d44cbb2c25b5ecd841028eb599b175b8c94cab4c8e86be1e3a0a48ed0030b2e17c7bbe9250c18d8d3eb885949573f810f9839d6e526077f37876de43636034d340348740ab378b929b8138647c89fa4235d588374d4e811b4ecd302083cb403be9122f3b0ebbfe21f4197f096665967187d0072d151fc3aba045d3c51efa0910333d742ae404c7c06cb373eabc6461f3bdf98c86a9a62234f224dbd52cde851da03f0ee82dddf1107aef2fab1e5f066b0c0a27ddc800788eeab3ce303ed0290c13003c6cc757289415a68a6ffa9ea3d3ce29d51bd700a09e64852d20f48a3d321335d0377a967b9b78abacf7f15b71dd61047695fdb8cdfcf98ec84a6bb24e3de9828b603e7b0bc29b18ed8d145ee204a7f324980f5c61624d324b65de9bc096e90aceeef03ecb53301c295a448041377a2e43cfaa490c16b186a9e8a901d6355723e9876d40342ff8dbd1f5fbd901f1d8870d2cdb0134d350048f8b797b7bb1c6fe2815ad03b03a76eccd9b04eb5594a90968a5f902b789d4575d5b8d2f7f44952099de58169a3037d5a275c34d72bd9dc7d230d793de871adcd1bd5f2469ec57b81502a15d43ce90219ffff0333bf2d6af98b35394ff717f0043f4d821e6da9e5d35d7c521f99e806688bb68203884dedd5085b87c95352e0362dd5e65f64a357173a622dcc5400520ecf8db09803927ff7dc915be294182d8783721cdb285a221b60f2d2a767253749abfc20ad4903dd7b59bc6232e44a4fe7cfdc51555e4e96466a61da1f21ee5a8c2d62cc77ab6003fe7c1c4b710c7b44b6acf1c119b730a15421be73ecfd0861825c1bbc60c6813b032db87591c8720ff4a083fa1cd388419b21734b78912f3198318e0b0078dfb0390347ad912caac9ccdd77ebcff4946884ac89189236e29c7692d65dc515e20375bb0389b5b9f2b469572330fee8ceaf8afbe60ff30883a3a5197f0bf6ded843acdf2d03a71b5855e260f94af07b8f2d7fc551327842a38cfe36ffc5f38513ce406e37f20381c0ef20abd848f6c1e97531ce48061e76f607a1466016f442b4036c95ad78cc03287f810231ff7a571b1f1cb7990b1aeb20424b6d247dd092a5d6b8a359dba8b103a4ebd9b3594f7b60d183c302aba477cca14cc4ef7ab8b7f333018edcd65723b80310b50104b1b8046adf99bcc31bc3dbaefe8aeb8ebfd7fb8c49c2b3ed1d4305cf03f0b36c314eb658ab9af8258bb4fbc3a6ef51bf8a3b000544e3bcca34bd96a9880342b6631c85e315d9818db4c35d2434432ec2c9666f93020832192d02f945c354039027c90f5dab9ac1aaaed39ad9eebc4539a5365bd89700a4ab8a4b9b8d0f1f7a0383650354aa6c726a5322e6cf03eef5946a23e91c62ba736a9aa2286002009a9303a9135b92cb97263ba98d576487788cfdb6532c64a110e110edbfcae532e47e8a0343f2a4cf68c1d2d7dc062c744b9c5dd547f3e6558c1e05f02993a846db2e461e039cf139cd8e5ed1dadf98ce12697cd6af8497be22ad8cf8bda7360f1b8f06b2bb05581e03db432a2b633180e70918a7a1a4cbd155473bc5c6213ab18531ad75cd90040105581e03a749a1c50654c35220a193b18fad067346fa7425cdb1f17701f09194f00c0346abe4fddcd0000459545a6080604052600436106102d55760003560e01c80639003afee11610179578063c415b95c116100d6578063d9972b961161008a578063ea8148a611610064578063ea8148a6146108f8578063eea5c1ea14610918578063fee415f814610938576102dc565b8063d9972b9614610884578063e2a81602146108a4578063e941fa78146108c4576102dc565b8063c56924ba116100bb578063c56924ba14610817578063c9fd86ac14610837578063cc58002c14610857576102dc565b8063c415b95c146107d7578063c4d66de8146107f7576102dc565b8063ac41865a1161012d578063ba03e93f11610112578063ba03e93f14610777578063baa82a3414610797578063bb1757cf146107b7576102dc565b8063ac41865a14610737578063b413148e14610757576102dc565b80639907dcf61161015e5780639907dcf6146106d75780639f0514ad146106f7578063a42dce8014610717576102dc565b80639003afee14610697578063933f0f3c146106b7576102dc565b8063530e784f1161023257806367a1d5ab116101e65780637b103999116101c05780637b103999146105fb57806382b12dd71461062f5780638778878214610663576102dc565b806367a1d5ab1461057b57806367c1def91461059b5780636d9a76a9146105db576102dc565b806354cf2aeb1161021757806354cf2aeb146104cc5780635af547e61461053b5780636646a4361461055b576102dc565b8063530e784f1461047f578063543b92351461049f576102dc565b80632630c12f116102895780633f81a1921161026e5780633f81a1921461041057806344ba1fca1461042b5780634ed310901461045f576102dc565b80632630c12f146103d057806337e0ac02146103f0576102dc565b806317fcb39b116102ba57806317fcb39b1461033657806318f51fea146103825780631facc5d6146103a2576102dc565b806307223781146102e1578063109b3c8314610303576102dc565b366102dc57005b600080fd5b3480156102ed57600080fd5b506103016102fc366004614d16565b610958565b005b34801561030f57600080fd5b5061032361031e366004614ce7565b6109ee565b6040519081526020015b60405180910390f35b34801561034257600080fd5b5061036a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6040516001600160a01b03909116815260200161032d565b34801561038e57600080fd5b5060045461036a906001600160a01b031681565b3480156103ae57600080fd5b506103c26103bd3660046148a1565b610cb3565b60405161032d929190614f64565b3480156103dc57600080fd5b5060035461036a906001600160a01b031681565b3480156103fc57600080fd5b5061032361040b366004614d54565b610ef6565b34801561041c57600080fd5b5061036a6001600160a01b0381565b34801561043757600080fd5b506103237fdd327ba0ba6e7bb0e0099273577340e52e9e071b1b87834b866bafccdc4c14cb81565b34801561046b57600080fd5b5061030161047a366004614b2c565b6114b9565b34801561048b57600080fd5b5061030161049a366004614799565b6115f5565b3480156104ab57600080fd5b506103236104ba366004614799565b60076020526000908152604090205481565b3480156104d857600080fd5b50601554601654601754601854601954601a546105009594936001600160a01b031692919086565b6040805196875260208701959095526001600160a01b03909316938501939093526060840152608083019190915260a082015260c00161032d565b34801561054757600080fd5b50610323610556366004614837565b61162f565b34801561056757600080fd5b506103016105763660046149ca565b611851565b34801561058757600080fd5b506103016105963660046147ed565b61188d565b3480156105a757600080fd5b506105cb6105b6366004614799565b60066020526000908152604090205460ff1681565b604051901515815260200161032d565b3480156105e757600080fd5b506103016105f6366004614d16565b6118cb565b34801561060757600080fd5b5061036a7f000000000000000000000000de6d4872c0c8167fb4f405c7854fd2fed7edca2181565b34801561063b57600080fd5b50601b54601c54601d54601e54601f546020546105009594936001600160a01b031692919086565b34801561066f57600080fd5b50600f546010546011546012546013546014546105009594936001600160a01b031692919086565b3480156106a357600080fd5b506103236106b2366004614ada565b611957565b3480156106c357600080fd5b506103016106d23660046149ca565b611aca565b3480156106e357600080fd5b506103016106f2366004614d16565b611b02565b34801561070357600080fd5b5061036a6107123660046147b5565b611b8e565b34801561072357600080fd5b50610301610732366004614799565b611bbd565b34801561074357600080fd5b506103236107523660046147b5565b611bf4565b34801561076357600080fd5b50610323610772366004614ce7565b611ca0565b34801561078357600080fd5b50610323610792366004614799565b611e08565b3480156107a357600080fd5b506103016107b236600461499d565b611ea3565b3480156107c357600080fd5b506103c26107d2366004614a1b565b611edb565b3480156107e357600080fd5b5060085461036a906001600160a01b031681565b34801561080357600080fd5b50610301610812366004614799565b611fda565b34801561082357600080fd5b5060055461036a906001600160a01b031681565b34801561084357600080fd5b50610301610852366004614799565b612153565b34801561086357600080fd5b50610877610872366004614a69565b61218a565b60405161032d9190615113565b34801561089057600080fd5b506105cb61089f3660046149ca565b61224c565b3480156108b057600080fd5b506103236108bf366004614deb565b6122f5565b3480156108d057600080fd5b50600954600a54600b54600c54600d54600e546105009594936001600160a01b031692919086565b34801561090457600080fd5b506103c26109133660046148a1565b612752565b34801561092457600080fd5b50610301610933366004614d16565b612c48565b34801561094457600080fd5b50610301610953366004614799565b612cd4565b610986336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b610994601b85858585612d61565b60408051858152602081018590526001600160a01b03841691810191909152606081018290527f4b49194a7fb724cb00f6dad71cf91c6da804179096aa90273c6664b59a5acea4906080015b60405180910390a150505050565b6000610a1e336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b60008311610a735760405162461bcd60e51b815260206004820152601060248201527f575241505f414d4f554e545f5a45524f0000000000000000000000000000000060448201526064015b60405180910390fd5b82471015610ac35760405162461bcd60e51b815260206004820152601860248201527f575241505f494e53554646494349454e545f414d4f554e5400000000000000006044820152606401610a6a565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2906000906001600160a01b038316906370a082319060240160206040518083038186803b158015610b4057600080fd5b505afa158015610b54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b789190614ccf565b9050816001600160a01b031663d0e30db0866040518263ffffffff1660e01b81526004016000604051808303818588803b158015610bb557600080fd5b505af1158015610bc9573d6000803e3d6000fd5b50506040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600093506001600160a01b03861692506370a08231915060240160206040518083038186803b158015610c2957600080fd5b505afa158015610c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c619190614ccf565b9050610c6d8282615385565b93507f26b89b7c87cfae6e0c27cb572c5b1eaa577f2223fe8dca0d76a62034579b7a1e868587604051610ca29392919061517e565b60405180910390a150505092915050565b606080610ce4336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b6001600160a01b03871660009081526006602052604090205460ff16610d4c5760405162461bcd60e51b815260206004820152601460248201527f53545241544547595f4e4f545f414c4c4f5745440000000000000000000000006044820152606401610a6a565b670de0b6b3a7640000841115610da45760405162461bcd60e51b815260206004820152601760248201527f4a4f494e5f534c4950504147455f41424f56455f4f4e450000000000000000006044820152606401610a6a565b8451865114610df55760405162461bcd60e51b815260206004820152601960248201527f4a4f494e5f494e5055545f494e56414c49445f4c454e475448000000000000006044820152606401610a6a565b6000610e0d6001600160a01b03891688888888612f83565b81518351939650919450925014610e665760405162461bcd60e51b815260206004820152601a60248201527f4a4f494e5f4f55545055545f494e56414c49445f4c454e4754480000000000006044820152606401610a6a565b6001600160a01b038816600090815260076020526040902054610e8a908290615310565b6001600160a01b038916600081815260076020526040908190209290925590517f6be300d66e65741e7cc134f5e6b6815e65361424ab43526b3f51742a2b2ea95290610ee3908a908a908890889088908d908d90615016565b60405180910390a2509550959350505050565b6000610f26336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b856001600160a01b0316876001600160a01b03161415610f885760405162461bcd60e51b815260206004820152600f60248201527f535741505f53414d455f544f4b454e00000000000000000000000000000000006044820152606401610a6a565b6004546001600160a01b0316610fe05760405162461bcd60e51b815260206004820152601660248201527f535741505f434f4e4e4543544f525f4e4f545f534554000000000000000000006044820152606401610a6a565b6000600185600181111561100457634e487b7160e01b600052602160045260246000fd5b141561101157508261110e565b600085600181111561103357634e487b7160e01b600052602160045260246000fd5b14156110c657670de0b6b3a76400008411156110915760405162461bcd60e51b815260206004820152601760248201527f535741505f534c4950504147455f41424f56455f4f4e450000000000000000006044820152606401610a6a565b600061109d8989611bf4565b90506110be670de0b6b3a76400008690036110b889846130d5565b906130d5565b91505061110e565b60405162461bcd60e51b815260206004820152601760248201527f535741505f494e56414c49445f4c494d49545f545950450000000000000000006044820152606401610a6a565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038a16906370a082319060240160206040518083038186803b15801561116957600080fd5b505afa15801561117d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a19190614ccf565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529091506000906001600160a01b038a16906370a082319060240160206040518083038186803b1580156111ff57600080fd5b505afa158015611213573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112379190614ccf565b600454909150611255906001600160a01b03168c8c8c8c888b613195565b506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038c16906370a082319060240160206040518083038186803b1580156112b157600080fd5b505afa1580156112c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e99190614ccf565b90506112f58984615385565b8110156113445760405162461bcd60e51b815260206004820152601960248201527f535741505f4241445f544f4b454e5f494e5f42414c414e4345000000000000006044820152606401610a6a565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009083906001600160a01b038d16906370a082319060240160206040518083038186803b1580156113a157600080fd5b505afa1580156113b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d99190614ccf565b6113e39190615385565b9050848110156114355760405162461bcd60e51b815260206004820152600f60248201527f535741505f4d494e5f414d4f554e5400000000000000000000000000000000006044820152606401610a6a565b60006114438c8360156132de565b905061144f8183615385565b96508b6001600160a01b03168d6001600160a01b03168f60ff167ffc431937278b84c6fa5b23bcc58f673c647fea974d3656e766b22d8c1412e5448e8b8b878f6040516114a09594939291906151d1565b60405180910390a4505050505050979650505050505050565b815183511461150a5760405162461bcd60e51b815260206004820152601f60248201527f5345545f46454544535f494e56414c49445f51554f5445535f4c454e475448006044820152606401610a6a565b805183511461155b5760405162461bcd60e51b815260206004820152601e60248201527f5345545f46454544535f494e56414c49445f46454544535f4c454e47544800006044820152606401610a6a565b60005b83518110156115ef576115e784828151811061158a57634e487b7160e01b600052603260045260246000fd5b60200260200101518483815181106115b257634e487b7160e01b600052603260045260246000fd5b60200260200101518484815181106115da57634e487b7160e01b600052603260045260246000fd5b602002602001015161188d565b60010161155e565b50505050565b611623336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b61162c8161344c565b50565b600061165f336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b600083116116af5760405162461bcd60e51b815260206004820152601360248201527f434f4c4c4543545f414d4f554e545f5a45524f000000000000000000000000006044820152606401610a6a565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038716906370a082319060240160206040518083038186803b15801561170a57600080fd5b505afa15801561171e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117429190614ccf565b90506117596001600160a01b0387168630876134b7565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038816906370a082319060240160206040518083038186803b1580156117b457600080fd5b505afa1580156117c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ec9190614ccf565b90506117f88282615385565b9250856001600160a01b0316876001600160a01b03167f42bd73ea702d7cf4505c06a7ac02a171536177d9cc2c7665443151ec91cc43fc858760405161183f929190615165565b60405180910390a35050949350505050565b61187f336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b6118898282613586565b5050565b6118bb336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b6118c6838383613628565b505050565b6118f9336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b611907601585858585612d61565b60408051858152602081018590526001600160a01b03841691810191909152606081018290527f4374e92441315a747b6c3e2c80e356b78d580bde720326dc3a9b45055414041b906080016109e0565b6000611987336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b600084116119d75760405162461bcd60e51b815260206004820152601460248201527f57495448445241575f414d4f554e545f5a45524f0000000000000000000000006044820152606401610a6a565b6001600160a01b038316611a2d5760405162461bcd60e51b815260206004820152600e60248201527f524543495049454e545f5a45524f0000000000000000000000000000000000006044820152606401610a6a565b6008546000906001600160a01b03858116911614611a5657611a51868660096132de565b611a59565b60005b9050611a658186615385565b9150611a728685846136b3565b836001600160a01b0316866001600160a01b03167f33be7eabd8ed368ca1aa14ce2ad1e90a0c9bf21edbb3820d5591546e4eb84157848487604051611ab99392919061517e565b60405180910390a350949350505050565b611af8336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b6118898282613705565b611b30336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b611b3e600f85858585612d61565b60408051858152602081018590526001600160a01b03841691810191909152606081018290527f8db23ab1f209b6252f45cba9848d0a1ebbb63e50328a308fa3aa01cdf151f75d906080016109e0565b6001600160a01b0380831660009081526001602090815260408083208585168452909152902054165b92915050565b611beb336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b61162c816137a2565b6003546040517f7100d05c0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03848116602483015283811660448301526000921690637100d05c9060640160206040518083038186803b158015611c6157600080fd5b505afa158015611c75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c999190614ccf565b9392505050565b6000611cd0336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b60008311611d205760405162461bcd60e51b815260206004820152601260248201527f554e575241505f414d4f554e545f5a45524f00000000000000000000000000006044820152606401610a6a565b6040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810184905247907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015611d9d57600080fd5b505af1158015611db1573d6000803e3d6000fd5b50479250611dc3915083905082615385565b92507fb4d99315c288c112a1d49da08c3fa85f78e2c83392f63f0a8964418f96aa24ed858486604051611df89392919061517e565b60405180910390a1505092915050565b6040517fba03e93f0000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b0383169063ba03e93f9060240160206040518083038186803b158015611e6357600080fd5b505afa158015611e77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9b9190614ccf565b90505b919050565b611ed1336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b611889828261385a565b606080611f0c336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b6001600160a01b03841660009081526006602052604090205460ff16611f745760405162461bcd60e51b815260206004820152601460248201527f53545241544547595f4e4f545f414c4c4f5745440000000000000000000000006044820152606401610a6a565b611f876001600160a01b038516846138df565b60405191935091506001600160a01b038516907fb28d414fdc0dd1ebae12befebefd04f6ae5f8dec2a2fdbed9191be3c4d13715a90611fcb90859085908890615091565b60405180910390a29250929050565b600054610100900460ff1615808015611ffa5750600054600160ff909116105b806120145750303b158015612014575060005460ff166001145b6120865760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a6a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156120e457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6120ed82613a1f565b801561188957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b612181336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b61162c81613af8565b60606121ba336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b6121fb8585856040518060400160405280601f81526020017f534d4152545f5641554c545f4152424954524152595f43414c4c5f4641494c00815250613b63565b9050846001600160a01b03167f76c91e1f3e02d952ab790867a8364513b69ada16ed33a67dbcd80de0e8cbfde98585848660405161223c9493929190615126565b60405180910390a2949350505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081527f86cf984b44bed1f7f8b143f6052803e8b74964b2ee297832a77790be6d6308f1602052604081205460ff1680611c995750506001600160a01b039190911660009081526002602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009094168352929052205460ff1690565b6000612325336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b874614156123755760405162461bcd60e51b815260206004820152601160248201527f4252494447455f53414d455f434841494e0000000000000000000000000000006044820152606401610a6a565b6001600160a01b0383166123cb5760405162461bcd60e51b815260206004820152601560248201527f4252494447455f524543495049454e545f5a45524f00000000000000000000006044820152606401610a6a565b6005546001600160a01b03166124235760405162461bcd60e51b815260206004820152601860248201527f4252494447455f434f4e4e4543544f525f4e4f545f53455400000000000000006044820152606401610a6a565b60006124318888601b6132de565b905061243d8188615385565b91506000600187600181111561246357634e487b7160e01b600052602160045260246000fd5b1415612470575084612554565b600087600181111561249257634e487b7160e01b600052602160045260246000fd5b141561250c57670de0b6b3a76400008611156124f05760405162461bcd60e51b815260206004820152601960248201527f4252494447455f534c4950504147455f41424f56455f4f4e45000000000000006044820152606401610a6a565b61250583670de0b6b3a76400008890036130d5565b9050612554565b60405162461bcd60e51b815260206004820152601960248201527f4252494447455f494e56414c49445f4c494d49545f54595045000000000000006044820152606401610a6a565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038b16906370a082319060240160206040518083038186803b1580156125af57600080fd5b505afa1580156125c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125e79190614ccf565b600554909150612606906001600160a01b03168d8d8d88878c8c613cab565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038c16906370a082319060240160206040518083038186803b15801561266157600080fd5b505afa158015612675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126999190614ccf565b90506126a58583615385565b8110156126f45760405162461bcd60e51b815260206004820152601b60248201527f4252494447455f4241445f544f4b454e5f494e5f42414c414e434500000000006044820152606401610a6a565b8a6001600160a01b03168c8e60ff167fa167c1255bafc7104c4249fd3b9e751bfc085a4865d00431b1184a2d0b71cebc8887898d8d60405161273a95949392919061519d565b60405180910390a45050505098975050505050505050565b606080612783336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b6001600160a01b03871660009081526006602052604090205460ff166127eb5760405162461bcd60e51b815260206004820152601460248201527f53545241544547595f4e4f545f414c4c4f5745440000000000000000000000006044820152606401610a6a565b6001600160a01b0387166000908152600760205260409020546128505760405162461bcd60e51b815260206004820152601660248201527f455849545f4e4f5f494e5645535445445f56414c5545000000000000000000006044820152606401610a6a565b670de0b6b3a76400008411156128a85760405162461bcd60e51b815260206004820152601760248201527f455849545f534c4950504147455f41424f56455f4f4e450000000000000000006044820152606401610a6a565b84518651146128f95760405162461bcd60e51b815260206004820152601960248201527f455849545f494e5055545f494e56414c49445f4c454e475448000000000000006044820152606401610a6a565b60006129116001600160a01b03891688888888613ddf565b8151835193965091945092501461296a5760405162461bcd60e51b815260206004820152601a60248201527f455849545f4f55545055545f494e56414c49445f4c454e4754480000000000006044820152606401610a6a565b6000825167ffffffffffffffff81111561299457634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156129bd578160200160208202803683370190505b5090506000826129cc8b611e08565b6129d69190615310565b6001600160a01b038b166000908152600760205260409020549091508111612a5a576001600160a01b038a16600090815260076020526040902054612a27908290612a2190866130d5565b90613f03565b6001600160a01b038b1660009081526007602052604081208054909190612a4f908490615385565b90915550612bec9050565b6001600160a01b038a16600090815260076020526040812054820390848210159081612a8857828603612a8b565b60005b6001600160a01b038e16600090815260076020526040902054909150612ab2908290615385565b6001600160a01b038e166000908152600760205260408120919091555b8851811015612be7576000898281518110612afa57634e487b7160e01b600052603260045260246000fd5b602002602001015190506000898381518110612b2657634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085612b515789612b428884615348565b612b4c9190615328565b612b53565b815b90506000612b638483600f6132de565b9050612b6f8184615385565b8c8681518110612b8f57634e487b7160e01b600052603260045260246000fd5b602002602001018181525050808a8681518110612bbc57634e487b7160e01b600052603260045260246000fd5b60200260200101818152505050505050612be060018261344890919063ffffffff16565b9050612acf565b505050505b896001600160a01b03167f93d8f30ee317e072a8ef28fa15d7b971a88f92a36f75dbf70b6465b6773a3a418a8a888888888e8e604051612c33989796959493929190614f92565b60405180910390a25050509550959350505050565b612c76336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b612c84600985858585612d61565b60408051858152602081018590526001600160a01b03841691810191909152606081018290527fe5978c2a23ccc9af802b0a59f3e9d95ec28487eea5c5fa85557a26854e263f67906080016109e0565b612d02336000357fffffffff0000000000000000000000000000000000000000000000000000000016612d0b565b61162c81614004565b612d15828261224c565b6118895760405162461bcd60e51b815260206004820152601760248201527f415554485f53454e4445525f4e4f545f414c4c4f5745440000000000000000006044820152606401610a6a565b670de0b6b3a7640000841115612db95760405162461bcd60e51b815260206004820152601160248201527f4645455f5043545f41424f56455f4f4e450000000000000000000000000000006044820152606401610a6a565b60006001600160a01b038316158015612dd0575083155b8015612dda575081155b905084151580612de75750805b612e335760405162461bcd60e51b815260206004820152601960248201527f494e56414c49445f4341505f574954485f4645455f5a45524f000000000000006044820152606401610a6a565b60006001600160a01b03841615801590612e4c57508415155b8015612e5757508215155b90508180612e625750805b612eae5760405162461bcd60e51b815260206004820152601760248201527f494e434f4e53495354454e545f4341505f56414c5545530000000000000000006044820152606401610a6a565b85875560018701859055600387018390558115612ed8576000600488018190556005880155612f40565b6005870154612ef557612eeb8342615310565b6005880155612f40565b60028701546001600160a01b03858116911614612f40576002870154600090612f27906001600160a01b031686611bf4565b6004890154909150612f39908261406f565b6004890155505b50505060029390930180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03909416939093179092555050565b60608060008063cfede73460e01b88888888604051602401612fa894939291906150d4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808a6001600160a01b0316836040516130229190614f48565b600060405180830381855af49150503d806000811461305d576040519150601f19603f3d011682016040523d82523d6000602084013e613062565b606091505b50915091506130a782826040518060400160405280601281526020017f4a4f494e5f43414c4c5f524556455254454400000000000000000000000000008152506140fb565b50808060200190518101906130bc9190614c07565b955095509550505050955095509592505050565b900390565b600082820283158061310357508284828161310057634e487b7160e01b600052601260045260246000fd5b04145b61314f5760405162461bcd60e51b815260206004820152600c60248201527f4d554c5f4f564552464c4f5700000000000000000000000000000000000000006044820152606401610a6a565b801561318a57670de0b6b3a76400007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82010460010161318d565b60005b949350505050565b60008063a231a78060e01b8888888888886040516024016131bb969594939291906151fc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808a6001600160a01b0316836040516132359190614f48565b600060405180830381855af49150503d8060008114613270576040519150601f19603f3d011682016040523d82523d6000602084013e613275565b606091505b50915091506132ba82826040518060400160405280601281526020017f535741505f43414c4c5f524556455254454400000000000000000000000000008152506140fb565b50808060200190518101906132cf9190614ccf565b9b9a5050505050505050505050565b805460009081906132f090859061406f565b60028401549091506001600160a01b0316158061330f57506001830154155b8061331c57506003830154155b15613340576008546133399086906001600160a01b0316836136b3565b9050611c99565b82600501544210613367576000600484015560038301546133619042615310565b60058401555b60028301546000906133839087906001600160a01b0316611bf4565b90506000613391838361406f565b905084600101548186600401546133a89190615310565b116133cf57829350808560040160008282546133c49190615310565b909155506134269050565b8460010154856004015410156134215780836133fc876004015488600101546130d090919063ffffffff16565b6134069190615348565b6134109190615328565b600186015460048701559350613426565b600093505b60085461343e9088906001600160a01b0316866136b3565b5050509392505050565b0190565b61345581614134565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f6536690106168bdf4ba72c128a053d817999b1db90cae23f139b293bf862cb7590600090a250565b6040516001600160a01b03808516602483015283166044820152606481018290526115ef9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152614189565b6001600160a01b03821660008181526002602090815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055519182527fa2e97b9eea8d1168700e334304edd057dff89c0384ca6f920c73cc3e48c8e52391015b60405180910390a25050565b6001600160a01b0383811660008181526001602090815260408083208786168085529083529281902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001695871695861790555193845290927f519169f85e741141647fddd20ce1d573843e55c1ca650e85a3f82f3410ee5d04910160405180910390a3505050565b806136bd576118c6565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b03841614156136f1576136ec828261426e565b6118c6565b6118c66001600160a01b0384168383614387565b6001600160a01b03821660008181526002602090815260408083207fffffffff0000000000000000000000000000000000000000000000000000000086168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055519182527f7f06c1c34ad47198873da9dcde2e40904035d41b23da3a9132df674a75022df7910161361c565b6001600160a01b0381166137f85760405162461bcd60e51b815260206004820152601260248201527f4645455f434f4c4c4543544f525f5a45524f00000000000000000000000000006044820152606401610a6a565b600880547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f12e1d17016b94668449f97876f4a8d5cc2c19f314db337418894734037cc19d490600090a250565b80156138695761386982614134565b6001600160a01b03821660008181526006602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f0b9ad240c35681e1d7a33b6b271c4aba6024a102ba32e826ae4f2e2010330756910161361c565b606080600063c63ff8dd60e01b846040516024016138fd9190615113565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050600080866001600160a01b0316836040516139779190614f48565b600060405180830381855af49150503d80600081146139b2576040519150601f19603f3d011682016040523d82523d6000602084013e6139b7565b606091505b50915091506139fc82826040518060400160405280601381526020017f434c41494d5f43414c4c5f5245564552544544000000000000000000000000008152506140fb565b5080806020019051810190613a119190614bb0565b945094505050509250929050565b600054610100900460ff16613a9c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a6a565b613aa46143d0565b613ace817f933f0f3c00000000000000000000000000000000000000000000000000000000613705565b61162c817f6646a43600000000000000000000000000000000000000000000000000000000613705565b613b0181614134565b600580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517fd77cbc8d90692af17e598916f3d976ebb794bf776fe9a30fb64ad039c5d37f8190600090a250565b606082471015613bdb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610a6a565b6001600160a01b0385163b613c325760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a6a565b600080866001600160a01b03168587604051613c4e9190614f48565b60006040518083038185875af1925050503d8060008114613c8b576040519150601f19603f3d011682016040523d82523d6000602084013e613c90565b606091505b5091509150613ca08282866140fb565b979650505050505050565b600063f9cf051f60e01b88888888888888604051602401613cd29796959493929190615249565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808a6001600160a01b031683604051613d4c9190614f48565b600060405180830381855af49150503d8060008114613d87576040519150601f19603f3d011682016040523d82523d6000602084013e613d8c565b606091505b5091509150613dd182826040518060400160405280601481526020017f4252494447455f43414c4c5f52455645525445440000000000000000000000008152506140fb565b505050505050505050505050565b60608060008063a9a80d2660e01b88888888604051602401613e0494939291906150d4565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808a6001600160a01b031683604051613e7e9190614f48565b600060405180830381855af49150503d8060008114613eb9576040519150601f19603f3d011682016040523d82523d6000602084013e613ebe565b606091505b50915091506130a782826040518060400160405280601281526020017f455849545f43414c4c5f524556455254454400000000000000000000000000008152506140fb565b600081613f525760405162461bcd60e51b815260206004820152600d60248201527f5a45524f5f4449564953494f4e000000000000000000000000000000000000006044820152606401610a6a565b82613f5f57506000611bb7565b670de0b6b3a764000083810290848281613f8957634e487b7160e01b600052601260045260246000fd5b0414613fd75760405162461bcd60e51b815260206004820152600c60248201527f4449565f494e5445524e414c00000000000000000000000000000000000000006044820152606401610a6a565b826001820381613ff757634e487b7160e01b600052601260045260246000fd5b0460010191505092915050565b61400d81614134565b600480547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040517f68817df76a175ba84beeb646224c32929b792a33280e3f4bc3e8089552edaa6090600090a250565b600082820283158061409d57508284828161409a57634e487b7160e01b600052601260045260246000fd5b04145b6140e95760405162461bcd60e51b815260206004820152600c60248201527f4d554c5f4f564552464c4f5700000000000000000000000000000000000000006044820152606401610a6a565b670de0b6b3a764000090049392505050565b6060831561410a575081611c99565b82511561411a5782518084602001fd5b8160405162461bcd60e51b8152600401610a6a9190615113565b61413d8161444f565b61162c5760405162461bcd60e51b815260206004820152601860248201527f444550454e44454e43595f4e4f545f53544154454c45535300000000000000006044820152606401610a6a565b60006141de826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166145b59092919063ffffffff16565b8051909150156118c657808060200190518101906141fc9190614c71565b6118c65760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610a6a565b804710156142be5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610a6a565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461430b576040519150601f19603f3d011682016040523d82523d6000602084013e614310565b606091505b50509050806118c65760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610a6a565b6040516001600160a01b0383166024820152604481018290526118c69084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401613504565b600054610100900460ff1661444d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a6a565b565b6040517f9235dcf80000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526000918291829182917f000000000000000000000000de6d4872c0c8167fb4f405c7854fd2fed7edca211690639235dcf89060240160606040518083038186803b1580156144d257600080fd5b505afa1580156144e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061450a9190614c8d565b919450925090508061455e5760405162461bcd60e51b815260206004820152601960248201527f444550454e44454e43595f4e4f545f52454749535445524544000000000000006044820152606401610a6a565b81156145ac5760405162461bcd60e51b815260206004820152601560248201527f444550454e44454e43595f4445505245434154454400000000000000000000006044820152606401610a6a565b50909392505050565b606061318d8484600085613b63565b600082601f8301126145d4578081fd5b813560206145e96145e4836152ec565b61529d565b80838252828201915082860187848660051b8901011115614608578586fd5b855b8581101561462f57813561461d816153f4565b8452928401929084019060010161460a565b5090979650505050505050565b600082601f83011261464c578081fd5b8151602061465c6145e4836152ec565b80838252828201915082860187848660051b890101111561467b578586fd5b855b8581101561462f578151614690816153f4565b8452928401929084019060010161467d565b600082601f8301126146b2578081fd5b815160206146c26145e4836152ec565b80838252828201915082860187848660051b89010111156146e1578586fd5b855b8581101561462f578151845292840192908401906001016146e3565b600082601f83011261470f578081fd5b813567ffffffffffffffff811115614729576147296153de565b61475a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161529d565b81815284602083860101111561476e578283fd5b816020850160208301379081016020019190915292915050565b803560ff81168114611e9e57600080fd5b6000602082840312156147aa578081fd5b8135611c99816153f4565b600080604083850312156147c7578081fd5b82356147d2816153f4565b915060208301356147e2816153f4565b809150509250929050565b600080600060608486031215614801578081fd5b833561480c816153f4565b9250602084013561481c816153f4565b9150604084013561482c816153f4565b809150509250925092565b6000806000806080858703121561484c578081fd5b8435614857816153f4565b93506020850135614867816153f4565b925060408501359150606085013567ffffffffffffffff811115614889578182fd5b614895878288016146ff565b91505092959194509250565b600080600080600060a086880312156148b8578283fd5b85356148c3816153f4565b945060208681013567ffffffffffffffff808211156148e0578586fd5b6148ec8a838b016145c4565b96506040890135915080821115614901578586fd5b818901915089601f830112614914578586fd5b81356149226145e4826152ec565b8082825285820191508585018d878560051b880101111561494157898afd5b8995505b83861015614963578035835260019590950194918601918601614945565b5097505050606089013594506080890135925080831115614982578384fd5b5050614990888289016146ff565b9150509295509295909350565b600080604083850312156149af578182fd5b82356149ba816153f4565b915060208301356147e281615409565b600080604083850312156149dc578182fd5b82356149e7816153f4565b915060208301357fffffffff00000000000000000000000000000000000000000000000000000000811681146147e2578182fd5b60008060408385031215614a2d578182fd5b8235614a38816153f4565b9150602083013567ffffffffffffffff811115614a53578182fd5b614a5f858286016146ff565b9150509250929050565b60008060008060808587031215614a7e578182fd5b8435614a89816153f4565b9350602085013567ffffffffffffffff80821115614aa5578384fd5b614ab1888389016146ff565b9450604087013593506060870135915080821115614acd578283fd5b50614895878288016146ff565b60008060008060808587031215614aef578182fd5b8435614afa816153f4565b9350602085013592506040850135614b11816153f4565b9150606085013567ffffffffffffffff811115614889578182fd5b600080600060608486031215614b40578081fd5b833567ffffffffffffffff80821115614b57578283fd5b614b63878388016145c4565b94506020860135915080821115614b78578283fd5b614b84878388016145c4565b93506040860135915080821115614b99578283fd5b50614ba6868287016145c4565b9150509250925092565b60008060408385031215614bc2578182fd5b825167ffffffffffffffff80821115614bd9578384fd5b614be58683870161463c565b93506020850151915080821115614bfa578283fd5b50614a5f858286016146a2565b600080600060608486031215614c1b578081fd5b835167ffffffffffffffff80821115614c32578283fd5b614c3e8783880161463c565b94506020860151915080821115614c53578283fd5b50614c60868287016146a2565b925050604084015190509250925092565b600060208284031215614c82578081fd5b8151611c9981615409565b600080600060608486031215614ca1578081fd5b8351614cac81615409565b6020850151909350614cbd81615409565b80925050604084015190509250925092565b600060208284031215614ce0578081fd5b5051919050565b60008060408385031215614cf9578182fd5b82359150602083013567ffffffffffffffff811115614a53578182fd5b60008060008060808587031215614d2b578182fd5b84359350602085013592506040850135614d44816153f4565b9396929550929360600135925050565b600080600080600080600060e0888a031215614d6e578485fd5b614d7788614788565b96506020880135614d87816153f4565b95506040880135614d97816153f4565b9450606088013593506080880135614dae81615417565b925060a0880135915060c088013567ffffffffffffffff811115614dd0578182fd5b614ddc8a828b016146ff565b91505092959891949750929550565b600080600080600080600080610100898b031215614e07578182fd5b614e1089614788565b9750602089013596506040890135614e27816153f4565b9550606089013594506080890135614e3e81615417565b935060a0890135925060c0890135614e55816153f4565b915060e089013567ffffffffffffffff811115614e70578182fd5b614e7c8b828c016146ff565b9150509295985092959890939650565b6000815180845260208085019450808401835b83811015614ec45781516001600160a01b031687529582019590820190600101614e9f565b509495945050505050565b6000815180845260208085019450808401835b83811015614ec457815187529582019590820190600101614ee2565b60008151808452614f1681602086016020860161539c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251614f5a81846020870161539c565b9190910192915050565b600060408252614f776040830185614e8c565b8281036020840152614f898185614ecf565b95945050505050565b6000610100808352614fa68184018c614e8c565b90508281036020840152614fba818b614ecf565b90508281036040840152614fce818a614e8c565b90508281036060840152614fe28189614ecf565b905086608084015282810360a0840152614ffc8187614ecf565b90508460c084015282810360e08401526132cf8185614efe565b600060e0825261502960e083018a614e8c565b828103602084015261503b818a614ecf565b9050828103604084015261504f8189614e8c565b905082810360608401526150638188614ecf565b90508560808401528460a084015282810360c08401526150838185614efe565b9a9950505050505050505050565b6000606082526150a46060830186614e8c565b82810360208401526150b68186614ecf565b905082810360408401526150ca8185614efe565b9695505050505050565b6000608082526150e76080830187614e8c565b82810360208401526150f98187614ecf565b90508460408401528281036060840152613ca08185614efe565b600060208252611c996020830184614efe565b6000608082526151396080830187614efe565b85602084015282810360408401526151518186614efe565b90508281036060840152613ca08185614efe565b60008382526040602083015261318d6040830184614efe565b600084825283602083015260606040830152614f896060830184614efe565b60008682528560208301528460408301526001600160a01b038416606083015260a06080830152613ca060a0830184614efe565b600086825285602083015284604083015283606083015260a06080830152613ca060a0830184614efe565b600060ff881682526001600160a01b03808816602084015280871660408401525084606083015283608083015260c060a083015261523d60c0830184614efe565b98975050505050505050565b600060ff891682528760208301526001600160a01b03808816604084015286606084015285608084015280851660a08401525060e060c083015261529060e0830184614efe565b9998505050505050505050565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156152e4576152e46153de565b604052919050565b600067ffffffffffffffff821115615306576153066153de565b5060051b60200190565b60008219821115615323576153236153c8565b500190565b60008261534357634e487b7160e01b81526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615380576153806153c8565b500290565b600082821015615397576153976153c8565b500390565b60005b838110156153b757818101518382015260200161539f565b838111156115ef5750506000910152565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461162c57600080fd5b801515811461162c57600080fd5b6002811061162c57600080fdfea2646970667358221220aebe3178f463767e86bfaa581a1cd71612c613330b00bb8d3df1940874637def64736f6c6343000803003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e0307f06559b91740050b5b2126a7f7a71e04840df267b57ad871b1874b50070119545a03ab661fe7c7a97901564518a44200779b4baddaeb358276643d70e13587a7df1f032b4d1a65813e6a19838f5674eb766427bfcebf6c924095ac783b87824f81ffef05581e03f7cbcf56279c6114097589e22a20908eb63b6b88ebf081d7c2c81b1c900c014702170695916e0005581e03644ab4bb6928d157ec0ea89fe221d302123e29fde21598f74e8569b620040405581e0310847ac5df21c6d247197c16cd7b74b7b58a4d087bab30aa08bad156400c02463d7b5363eb680313e96c11aab829417c5c8e8b50aac10d6b2698aef59c676fa35d32b5752fe0bf0350868d89949b3397599e505d75df4b631ace30b6084957c24dfa52ef722e30d105581e039cb88f22ae408a97ae8a78a50e97682096b4c1efa5d0d1edba56c0d680040f02195cfe0359a57afa163978ab3d098307a970a49d8e17abf6f070f33c4240e3ac8b7115b8038bcc67f61aba8f33ea59efec14050bc312eca03114bd373fb073f97dd512ee7f0219ffff03e79e4dd05d9e45dd82252532319214469547866d2414d782ca075b0811a4fb2e03fe66317a0361902ff3f85346e33133b0c986f62e5178f9eceb9cc445012e81980365a3b2c792dadbd7eace0e3624fb2681d57be2a3414bd9c30d574ec13fdd8216034e09c2ba36de8499e4754080967094daec33863393eb5ba77b970359569bc76a034b7e4ffd7b9c94c21ed51fb55f0b9e0108ff2ef12199121ba1937c6a74fe4573037251ebdb3c6f639c98cbe1c2cd564b8942805118e0a7644aa4597cc039e580af03aa416103ee1fe27c11a80e7355a673efcb4f517d1e8c6487a9a9e4394fbf2a2a03745f27aa308c4717064f9e34aec57185ec4b15e50b135519e473e9acad58afea03457dde6551008ae4f3ec0c9fb8e3dcc0f509985268dcd36479970934f485afc10354152f1d5fea873370aae425ce9a1cd0ce16465438bfe42f8ee82bb94a03c8f00345060b0253e7e1eca05d006ccbcf64999db35ce056ce4784fe04c35882922d790219ffff033854a664d5d8c3e34e871cc962e9b87b532a774e70417465ab34e0449b87f7860300d786060c78b392f49f0d5cd72455dcb4cf8ab2e97408636d72e71b45d3252203ac7dae165dd1a21011271a97a597314099e2b477e2597dffc690fa63826abe3a0367e8eabcefdf054dfb98b2c657f9185457de7e943bb8d0b289d4d3b33a08defd0219ffff038102a1bd1290f3613f3522659f19b5e4aae102b4f84910221722ee4e8663bb61038028a36476527be32fe8489858839202aafb9cf38f0c3f3a8a9f28546e7e4d1803f89eb9f61df6a8f0ca7743f0d911301fb24f8c73d11a169487da020a8d3b4ca9035fc51318352b7ba1af5bcafcb9aca15d03fb7a84a961be7064d98d4f685184af03196fd9d9afb1a7e5badffee29514abca36303cb746a1fc28c4431649a9f6a66e030ae4eac4ba55073367d2537c2b1aa566ca34e0623f44af6baa4c3b5eda042e9303d114ca686f198fcf0a9834061ff0146a66583209324655de6b094a109530a83f03152a0ff2ea5698ca107f71f3dc0cb430fb937c5580def2a4b75f80ed3467b4320219ffff03a6e736d2d4567b5c129c1849f0736085dd0959ee937938bdd1f43596c50bbf4803322dd36d722c443b905167d03dcc00889869b941cf521ba5b8abeaa3871ab5a1039461dc5d75cbdfcbd9a4db09cfd907e04e39b0d42ca7530fc266f7bac39edf4903f5d7bfa1113dddf754b80fb1b0ed3fbcdeca141dc91a499f8e12e65b8e54bee503dbf9e6606b5b9153aa2f5de8f5f8d47ea7d4d057f26d2a0a15cb7c06bda588a70304b6002ce21e08c4ac79f9205c98bc546ba1524fd1a34acdc8f56f57163d718d03dbb88392eaa8437485fc4a56b2286b49584638db667e74d77269f5270904598e034935143839ca15a871c04d4e3a3f6d218814cef3c52e4d0d5db83de0f6e0be320329196eb7a3263a441141c487e272b84f60086c9c274c16104968140c6746598203edc0cb1f8dec77077944f5b1280237ac4afec25031652398bb528e44bf69bbdf034953f955c4fc60dc113e1371fcdf4afd9f36eb5c2096a74662f0e1fb6d8b74a403c23fb91d20e224b870fbb9cdc84106c3ec1af28eb53ac41780c648294c3a6e0b0301a8b15af48e50f749bc17350a2f512c8ba19380993785a651dc7a79bfc1702003f47fc0b3cd6fa509d08a59f33109e8a2cfa0890bbe8b21019ab0a319b54d99a30364f6527a710391b85e9e312b9d7c15b96dc691ae4cfd2ec73e8d14793926afe003b6afefcb1264f97c96a413b23f927caa7d2a5669ca5230f9b83c3fa64eea580a037ef7907d9852280dba2699c086e7de2cffdcd47f96481ca57e269b453aefc83903225ff195d62385a4aac10681b409075b04be1731a2669498c6ca8c172618b4cd03edfa9cacda2642220b7c36baa001411a40eb9ce3616bb48ef12f0a7905f6a22e035db8b0b57958485dbaccee751eeecb90562b9663a7470e40569b4e93ba4a66d203b90c6d01a6f06589f6465f8ed5eee72d34f07120aa86d2028dc1805dac884d69035fb5fca1737dda986d539486f62fa61f783e57a8510aa19dbb1637774e71096905581e038b1415be2c4dd1ac5aa5c42aab3cd807cef79d324aca9de3d508766440040203e86211bf1f6273727d910464a214c23bbc5e02a5de07defde2aef29e86f9528105581d023f6dc82ae103e3ae27787603292fec7fce1dfa7dee7ad1a64910593c084703d1da31e0700003fec0c7a88cd89ba46041cc0f5d5267959d5aceb71cc098d185212b9a88ae7a180387d975bf6caf18315f67648e37f78acfdd0d1eb029c911c54a1c5d87d1e8b91d05581d02d0f6a2ea54f43cc626af2e74446fce874c20b8c307a1efb330dca5c207011bffffffffffffffff05581d025afa68ab788a74bfe433c4939638905e4288e8db73ca76f55dd314e40848018f0bb6d4ab6b1d05581d02ec76466ee1b6cfb30b4c8b7c10ced5c4279db435e2ae6f59109256020c01473b5044c9d360000219250203381922615a9b981702aee27b0815cc88c4391d5e3dc1680261c2c52d955b17ac05581e0392740f0fab2fefd748d488413388a075064611fc11d82b9e492112c8400c0847108794d96bca0005581e037ff29e8386148c85b8cfa625948de4cd16b3630e1c287d35c67d018b600403021951510398719d8cde74041133cfd2b0d3511aa70e459e00f8768c495ebda11ed874c673039dcd1e8b28b772814aaa065838d5611f0dc9d2df10f2c275197ffd8d3d39f73903643a291fdd8ee3e77cc0278d72e94a93b9e90c7fec50c2267834118338367ff9037cedd20b616d3eb52662183428ae5aa05870fa2e2e1cf30184162eb1a7b918e10399a52852e2817ef8fe54418b5daea68432dd027a76b9657bcba8539914ea0a7e03a876b446c5b63ce677e388620b17e4d062d78e744d0d2eb09bf330db2b7383e303aace6b9aa87f5e13fc113e320e582610d81fbba522f7f8ea7b6deb53bce313c10323630072ac97c8c263f72611f8f995586a9406407fa0063134f5336bde7ffbe90219ffff03ad52f4972619a13c1a4f4fcb98bf9b0049df47fe42c0dfdc26dec5008b2abcd603f8c5fd1f3676380807182af3bafb08af1b0ab9e453dc4c01b5d986139e081db303bf964f02511f4bde067a10302630a6e1e59f40dea840d4e52aed7e7e016f775003d7b1f94af48c28ae73468aea3368f3841e2b2b04ef83a7f67e5b8c365a791b1d03ec7cbc6fdcea4d59b5bffb4a719ad8a6e9301187d211a7b36fa0e67efbb5a2ff034ced9eedb0d34a1a16e6341d838e3556f44aeb9fac5bbcaa757c770f7dd66cc1035c47cb158a0213eede0429eb6ff9b4147e3a1f6f3df89ef25f42ff7f9341e7fb03c2b9157e3aa325e76fb6d909ad02764853949a3351c4952b15a0adfac0a24df103e82ef9c7f9df1bfe44acb4bd18c6240086d0b9a759d9ffceb3d67eb21994dc950369813ec938be1d4a32cdb69df5e8f0a472d87f59ac175eb066b5f846394248ca03c19f608faea887c3e3483541c9d5002a45b75666ef6ca14beaabd6342171f4c103e6dbb2df20f385f3c01d0b2b65f8343b0fa4702026165d7106542d097828d2b00314eb67c0ea6064326dfd9c5f1e1245957f27470b0bd162bbd326223e74d26e8a037ce01e92928441a4a30964016d2af4177bbf2a4f2e4f30049926521cb181d52a03a748c1fa7e18fd10e96714ed12bc9f3b3a8fd53410c2801648d6519b892032b20219ffff03f13b408f31f8d3f0d93b86ae19400004c93b1429279fc946952767dc0d709acb03cb617dad8ec57e5b47c86b51cc183c775f4884aed1726476e664fc4fab0dbf1903f6427499815073bafd54ced639ec7cbb4a49250b4045077353b2bb48537670ab034a51a0ebf2d4efc80a37d5c7c3bc70558e6837aa8405bb33539932986a871aec03f9a0ff21911c8c6a2a385c83d5498a6e71548b8425182583474bf0bdacb84e130339dc1cc41c26cb916d74a9ecc9d60820e05a3d90938799e3cdfa7c4f81419c1203661c3388f417552f63bc2c32a0f4a1ddd7f56ee9f838946b6757d0bfaea3571b0219ffff03dd1feb7ea0dbb50d7fe213b8faa04f4fea5ddae8c86ad798e3752995554ec8b3039a39bb860bebde6448a795d16a01d81965b27a0a984ed1cd694ed2e10267dc8803d645958e866c3a674cc45b46d275b1d1bac08a80c0abefb3885ce22efb750c3403da5cc75c16f8ac520a75f144779abb6e0880c99106af2647bff7512effc6336d03447a1ea5f5c56a6a39866f058ac5b30d6448d1cc198a54f05353b0f39d4a6e3c03149c921222f58fc19cb0d1d8fb3c13df39c80450b2be32a9e7808d1050debabe03a4f10aaf09c415e6d73f36e2a27d88539a665f1594488947be44eb6fef4cfedb03d54895b2d5c32445bd3ed2ace1175925e5c17140a744038780fce70811bb715d0219ffff03900c54a0633c3b3b4975dcf17eef0ba6fe8cacf124fc3b38dcc1db3374e8309a03fdd9f5f0d972e7dbc02a74673883951fb27188e5f4e2f2efe56efd6694fa416c0352dea7bc5cac7d43a8b63c5abfd3121841a566613d2b6d30ce5f9b1f6f53b351035daa03e2e5dcac4f7a66281b960246a41ea6293a2d81dd0f151b9492e80d10880366cfb7fddc41cb434111465d1a326c728a4443f5222112d09b94a5972347f00f031aefa147a8dd4647596c79c762c83c3589fe3152cdd41240e8b6de248c1e69cd038f06c6497c1161d1b0e3c56280079040d6f6852bd34b36938c625cbdb1e8918a0327652c32d15711a59b123dcb3fc6a2816fe0958c5c9e20107a1bd86699fea512030f541b0bb3443a35382fd974848167de9fc4bd69ead0b796293eae64a051b76803935b8af9069c7b1b57d33640f6a233c17633e94271471a32ed58981bc7202595034b6e1be24f52d90822c1ab2697ff1d3bfe7d9318c5525fbfd9aa9dd93aa942db034f0781e979adf6db9975fe3775f280912cb9e905de1a1a94d18e54d3f2436002035f15c94c5ab0a77ac9b65071348a7efb6df97cc492a6276cb4f483fa2bb5fc53030c2ffb2c75fe27b39f0a8cd6a03b0ca4724d5207b10a3fb90b36ecc4595e5f190343c31f906aff4915e4ff6c661b38b94a4e98130a79f0dd6373d1fa0def55cac20314ae9f9072f0d5fa9150c3a4bd4665a82c14fb65470424f8b7ffab8a9bc16b2f039378f80bec2a2a64e0964c46be73494800bb1e6b5272f44935ef046ea0e9d078039a20bf1362c2c3cc5ab01fcab675db62cdb20b23115d3d9ab6d4f92321698fda032d678c8c4658146841bde366213357dec5bc529f8b34af6813ca3be4a894fd6203d71952e45db47426a39cf4aa5cdca3a8acae50de7ec0e7d47d0c38d3eaf873b60371a12cfba07e545d54cb164e57fdc7b046daa7cb7b9091d04f34b857dac36a2003c30beba8d947dc0a445f69a5e3f9ee9fab2c34a7766ea82d1c79e5d3e1b49ecb03ad9543d690789fa5f76301d94e1a941f07c72e62a3b55164987196fe4ae9fd1e036b03aee525e55c421cca02a9be4d47368e285adf6dece72004ed971fe264cd12034e5c511ac8abb4c4da7940884af9152cd2a16cbedfc2d06a7071e61710c1938e034af6eaf254d2d0e45f6a40f9a01caaad536b3b15b0647eb727521a50f3523093037e797f53c152e86e9c237d536a58b2e72f52f5310097a7eb652c87ed3b30bcb403df104259b66add050ef34d16e4897ac99e95d2119aca976697db40e3553b863103a93c1f5a7fa42d1726163ce64b712cdf9e6550420854d0e9a0033e9e83db25f10305e159d63940b166a9108076f8e36306243dffaa699f655ddd4f5d67afc6b661034e0b2b1a46dc0fcb53fbfdcb3ac2af0aa187183b14db325f70bcb48765b57b3e05581e033c41ea2f7d02cb3468320d92ba200695161e6b1717768dd1086e699d900c0147034d0889f8e80005581e03cca10a9fb8eecf1afcd67d4c076d1892a540ccfb904b114fd3731439700401030f3563a00258093868dbd931571478eee2c69572ba70fcb80042c332e5432af1034d9ae27733a6e19aa1270734da507990d74d9fc3a2b524196d51b4d25439f41403a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c0332fa5f01dea0b274e25d6847fa47e3c1e36b51018e35e6dd03ad11d32b6fa9d905581e03a7bec9cc0b554cea4de666434905ec25d1b20f47e101fc30998338a47007011bffffffffffffffff037437a81bc58dd292f56efc59ecdabfe302a4f128da8fca7dfd3e937b23b4f89e03393fe9bb3baea0b275f2bfc3055f19b396b911de9a2f486d933c5d45d7a4b90105581e03f4d1d3c530fc3f6699ddc7583042d0019273c0d2243d424ac4c429446007011bffffffffffffffff05581e03599ea741b26b875e0882a055dcef43b4ce29a9779d9f7fbf6dc3f6772004010399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803d4ec60a074eaa9a882cec05fa6287ace503b524bd1a4bed9a30f2bb3b8adb95405581e03967b04da93e20d277283779cb4141259f1bb167132af5fa24a820d900007011bffffffffffffffff05581e0373836413f1933e3049912545b95161b5aea535ff0c5f4eb9642d8a57300c181a478be2e0e3de527802199e73036148e220307288c87bb5d6b18921a0635fc2f3e4e6230bd84f9b134e2d8448fd0219ffff0354d1a3a3fdd5ffc125beb9fe23edef2ad7ac86aab75c43bba6af16afe017a14403b653c499dad71053ab1bdc91821aa98566d3cb2867a0d69fe3773fd2b28f2e1903d1436238dd0c288da1a7e02c3a586716c9992c0ae9df19e07f3991afcddeb2340308201d90729a8ffe3d6d84cedbc40e45164c85533ea840b835c0ef2f9952e50a0219ffff032fc115de1d276283da386a77af607218e701686fb5637813476df107c2ae88810337cbaf566bfb914cf7b3b1950421a7dec31ee49a92ecd394e9d21182273224e803733f468c1b060439461560075985bf535227d934bbed62fcf144f98cb23b46ce03b53f032a4bb126e4aaac2b54910dc92b6cb22102dfcc3e8787515a39f368f519036cb36470ca723a39f7ee82bd679d5633b1b37abc25e6a26d022fae843f1d0492034db0a8e3e7e32a05b937d0d29851ab8378a9e9834bafae86b2b3c555267658670303a9d458461630823c7ae4ed588c3a4128cd1eb9185c357a6bff8ec8a6cc017a03a4e225fe3530a70c8b44f85c8933c9e5dee10a7f595e75633a91283c00b1514b031469fd19985d06634758b940baa92f08811a243e32d81030787d4a6301c92ebd030339cd473cef2497aae7f33b71b15506d31e51ba039132d9c5fb2db62d9f6621038174fabff4f0e7856ae17a07d00445b56d457f5977cdffeef83a00ac0705c25703b97bb09d148810f97aaaeb343d47deec75d6f7f83b706fba89336695459bb2940371f2a7b9e1f61ae6a7405b8d1cf72f69d51aaa1047b445afc58c754d1709f1bd0219ffff03148326c6d734680f8e84c7210eaa4d49e4819ad9578178f10cea807f7b533c530364205db74d0ddadf5648e9a20cf471ae0364b39dfd9f4e09b5d35f58a6ab38a0033538323b12bf9c9f2a3a3e87fb7f86ad24f45bc7235244e5075096fda018613603e13ec05548b43ebed01091a8b6b623fa4f5cf6dcd43a0fa733a96ce4caf9ffd903f79e5d6448e8b331f949293572e716cc36ae1a244dff2ed05ac104744b664c3f03a0f25b6ba2ba8f638c0ffe52d45e92beadb5d6bf4eddcb69ee9bda0faa6d2b5e0328abce403c1eaa4d96567137b9bfaac32f744b6d6114a5b7741a39ca5c133d7803837c7cd4b01f98413624a777d70e426d1635e9bdc5481dd1f16771680b9e6ef603efbf60b176d29e95300ab96942f80b1625b049d779a76e738e1876738a4f742303ef83768e14bfa473090eecf49b2f7f6056082fc185931413e89796c164959ccf03bd41ad7b13caf70835ee5e09acfe7dfc861a85624384112186bbee62189c31c003c2352e7fcfbf214ee1ace5c4f1835e8d2639475bffd22977d29dffa84140170403a23fcd007a9c81274379e88c532ccda36777d96b20f0a01d53443f4b71f93b66036094d11e5d874fbf6d1b18042d4f1ad2b90291958f8a00b06b4cf224e9f8ece2035fa91b85e5dadb0c86c0ad77217b8e88cfa7ee0010954bbcdbc6daebf3f3216c0353aa25a6258a7e4921eba6857c4c73635e65e50a229e9aa7692b1cfd1dd3cabd034fcdb90a97cae03c45d8d284e880928197b5fd53d6ec42ae2a5ce5cb5d5fc98103f91fa921bfe167a717b156f5f9a29135a16bcdf1c162f5ba5dea47c0167422d403de21957553f54c8ee511cf9c14ee4d9ee4706713fdf7bfd7c7ad90d3e05d2311035f059c381b43890901fc219ccdba91df6c1f8459997d8cd30cde041c291acb89036c91fe59eded5b2135450db83fca3a3b9e15b51c022e885618a76d6901cb9b0b03d00b66847f9f78dfec1b37f4e900400d5f52ef7b3c01b7a865a715b61b9bc6ac03c4a81f7f7a90d584004075a938c96479463c855f69fc85e9e4ae37606a2a94ba037605065e72ac8d97d552b18d7cc66cc1bcb2920df922df69af0d527fbdb45b410354eb2e6cd765137c3ebde36d30decd3a9461e9245ac510405740a1307f700f8f0309b3401df44a885d6ab901ba7b789b290f7c3fbbdb2739ab487e33ff48bb6f1303b124c2c227b22040df405b92eeeae70b28f9f59cb355220a0184c2d26aebf765035249149e436d90e5fb1dff83e2a9f3d32c341a569b995542e518376eb7d90d2c030007fd17fdc3326a80364d9e820ca33580fa9e4641c3d9864a653c90515e32550337cafe196e17b32e366ccffbc6c5de8e9847b1528cb8ae3588754b171c38bcc303d1a7c39603704486613fe6a83d8fff219e1b4d71cecd01b460703f4d0c4fee2603990eea9844173fdc8b52d180f6c5c50080c7e7fb6f10a81e9d360d4f3ce2d35705581e033337fe9c20b581fdd4878905ff1d32dc7c3c3d803a13115e8f3b26d2000401038c8749c75e158292e70ecf6defbd039c5b739733db1105430b065c3d40dbafbb05581e03dcb1e941663123c5041ebfc2dc3616af2bc998e212c79f209a5774d0800c0147104446d6f7dfaa03506041def617bb58afe7185e0a67ab2c386723fc291a75cdd55b97e659668ef001410505581e03394cdab05c0917af6f659a5810db5d0d3e07b5819fe8b30de14fb457d0040105581d03485d5fc562e4fa71975bf7752d4e805b0edc0b7d7f967bf4c64f98d0040105581d03a393dbd067dc72abfa08d475ed6447fca96d92ec3f9e7eba503ca61008481a5fd46f92e550700219010205581d0262f882aa495464a20eb02f177ab90c35878dd4746d27104f1c94ffe1040102060307e513f4512674cfc773e861e6a34250eae5508f5a24b1af07e62583eecfc67505581e03a46f8aa96c2b53f5df9ae061cb918b289e536ca6957ed2a88d3c31b6f00c0d472d6c7ce4cfae93031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0304e091cd4ec502ae6bd035fe8c3f021e65a908866af55cd8977ac6e1b007011bffffffffffffffff05581e0371fee7af551da07c4837d311d6edc69fdaf1efe175285514b77143bda0040103f2d6a5c820099a8212b3af56264bda3b519af5379f1a09f2a6e6dc412a1e656103c82e9f321649f50e95a89db8fbdec55babc1a552850ee7fff4d22d9aecb5710f05581e03304fd0b47e7e22cf19ede0e60934d781026ce61cd6e946f33e8942af8004010219b7bf03ac026666c540c02a02838e725f62a41356e6617ccf16a930db35ad4b253253c203519673795d36e820dc6a8240905973ec32a70bd160780a3d8d193c3bd6aff47e03e7753f6ea587dcf653ee9ce04642694d4b3f4257819e0cfd99f57e6a7293ceee034f77c5f515627072576b8f66230a12d367c5c207a468a43293e202cdad4e8b36037c0cb601b82f23ed17e4a1239e8f052954bdca7fe464b0f711643c79e027507d0219ffff03229109880d1ff51aedbcd8a9874fad59bdfe7c570536f411c3b681aa0695041303bfd569ed6c9df1f284fb079c66bc0a70a79771c093e0f7b7060300318f6999980219ffff036af55c5c58c0767bf22593094a6f0708207b951f5c812a08566641b4ec11ff0f0341a4947e116e68309a4e11e8cd142d06fc7951cdd81becb8745ac03e94aba09703ea60c40750286fb6262dae54a0275872f5a6a7a861eed79b260ff019f6c69feb03d4292cc45d8f7d76172371b1fe1d50f0b5f5313975bc1262358789562feacc92039c0111918900d783cfff46e07dafd7404c62248a1034582daf0b4111d3de6db3031abc88bcff2a327a7ffef60433be5a613e38c1d9641a18365014d4986b8f197c03ad52eda0293be9a94ed28f4945334df95eacf8ce6d0e191b51338698bc78c151031119c3e913c8271341096d6c04268eb0653a725ade020b21617c278499bfebed037f0168ea1a8d06a99ded9192d11cb8252d7dee767e4a85e8398b8cf81031345e0219ffff03c7dc1e8a3baf85f182f53e16931c75dd193b2760ed93d326782b11f11762d98b03f88b255a094f14a8ebab6a5607c1dcbac0002b5c7b120fbc323f0def79fa8d3e03801ac1565c0084f7355f307ed5e8cd09e21b56a84aad37d21399d06ee70925d103c1731bdfcf7bb1a76f697608f2d1a86d27e8ed973d20ffafbe7aefae0872721003c1512d81953ec998c6e41ca76e1191954d24ee722ea97ccaf691fa6e2713ede003c87d68aafa783679be9dcd843647aef759b30048bab54acb76949ffae417468b03d0a72d43726288f31fc8615bf086ef7d2e150f78086804dbc937cc48b462e65b03307ea6a97898d4d9895dffa79ec670bc7c7fcc905116b01724639c17ac9933030219ffff03a41a87a6593c8db00917c31d5b265fde3adcde38255a056df6f3046489438d31034d482d15a7c5948d80ebf56f1350bf33b3efb0b72281d7948781dfa412627c0e03ed95db40f452f5df41f476983c50441d5fc05db9d40fc600aabb7532cfc2c71903c3b967b3af18514a612ae9dae3958bdd7417c63a19a2e8fd18cf7b1c000f4d1903fbd42189e9d5ea0d8c7bed58fb841f4d62b1acf7a259ea4e72b001274d52880a03bd4ab9527711d374e5519a9f47cbe20cfd59837c1994d78f0fd3ab27f7b2665b03be5f00705dfe6d045fd6a94a8b2fd0782107c0d485d1cb1e350b4a0dc9ea6600031df686a098bf5e1d8bea6889adb83356cfc99fa44a6576c59a6e57236ce3b17f035c6aa697df198cebf87bd101795db24b39f1b68c63a51859f2331a7c98c987a4033874d7659356200b5c5cee6c50182545dc6eee90383790a992920641bd22d28103bd4c0c2ee9066fad9bd86195d58d69d1dc691ee21d0ebbeee087bc638907d91103704f70b5f82e896d110f1cb990ae9c2ea4f96600a372cfb6f6a7750a8b03c20903599497587eee8a2e50c3c70d2fe6c012941e54c87b39b2f0d0a30e8e67524f0003b99709ae002f09d7a7f9683ed6b86e290f16ff9dc0385d1e4a30fc736d0643fe03895538a9ed7380fda67df9e2827b6a39ad6c0ec62fa618941b2bafadbc1ca334037df00efe1997d801aa50f7cc1e6081f9155dd9eedebf1f05aaf93a5e7eeb0f7b03442686363f789331f6dd414c07b8d733dbcd68756c3efeef5d4446a07fa89df303e2d67a0566a423d589addf9aca29f6edee5f363a1e127eea8bf7ccfaa10539f30315c1cb8281b9c61c90bec2ba613034af4fd43841a63e207bd628dcca74704d4403cc4b03b5c1497c0ce5b843a60df32a2550f5735f4fa2f258d7c9699e294c378503dbf2b599076c8ccef27737813183b9d0ba3f132d0c1ba2544bd2d51edbef66df036290bef107f300ec54abf03150ddc1274d7c851c390225144d5541365051a842035ed77ec6d2e693b57f22b712077300d27d45c902cec86fd471828d3c0cb6fe1d032f9efd15c94c6d43882aebde4e14174ffde3826b631657065cb2b0e25259e058030214de05ff2a922e9805db1a2c0b9aa247ddfd856c6e7d7440e4cfde43344b0f0315878f67361b04c8b3d64cf8c2dbe5833bc8caaae6fb542ba11d60c84ae10071030bae1583287597dd684bb1f3dc1a634fee07b5971a3a6debf7789587b2cb1b810320ec3a2aa3a8d369d2dbf648410d1eb9f5f37be37b4a90e199b4b564bb2e120503a2a0cad9957f45b32c3c1c90ac14830a5943b5d4e8ea49c9466022dba95cc61c0142002903d691436525dc0a3f445114789317f2be94aac053f4d819bdb315467045679d040354059f0bef0ae7b82cf20be3e01f42bc515e5187a9c42ff5b7d2c1908bd3b9a1045902a860806040523661001357610011610017565b005b6100115b61002761002261005e565b610096565b565b606061004e838360405180606001604052806027815260200161024c602791396100ba565b9392505050565b3b151590565b90565b60006100917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100b5573d6000f35b3d6000fd5b6060833b61011e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b03168560405161013991906101cc565b600060405180830381855af49150503d8060008114610174576040519150601f19603f3d011682016040523d82523d6000602084013e610179565b606091505b5091509150610189828286610193565b9695505050505050565b606083156101a257508161004e565b8251156101b25782518084602001fd5b8160405162461bcd60e51b815260040161011591906101e8565b600082516101de81846020870161021b565b9190910192915050565b600060208252825180602084015261020781604085016020870161021b565b601f01601f19169190910160400192915050565b60005b8381101561023657818101518382015260200161021e565b83811115610245576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212209b8470f06e8a3960c912103fc2be177edaad69584ee3c7d2809ee737e79408e764736f6c63430008020033032d3d1298e229952932aa048161d291d0a04bac4b4843ab1bcab7156ad992a78303e50ae64b1a4012affc89d54b91d8b4153b89f4f8f432710cbff10240511e5722038d7aa09a0088077ffdfb074483ef5992aaf2cdfbc5fcba0ffc0627193d806fcc0366dc528d70cbeb901d6411a8be3712d65446a2aad596adf15fd99f3a7062926d03bd046587899246ec7d52d178673f6464a23a40ad67f96a0b66e2b698bbbd795503e76fe697388d5dc78205470b8965b2bce8447a175a2aa0111842d7043d04806e039c07515baff2e48b9308c5935696427e7106d08de27dc4b9dae250a624995f7e03105874851e451d10984b108c30cf150a5bdc1c6919d5992526b3cb614ff3cc5403abd657c851d34abebb7ebca7539625675ea7853919600a6d125d2b0ef36e344503aea077fe2a94c13ed86082519b23ad85df4ca0960909e360a01451dd04d8270b00582003f88d7e320bf5f3f800fb1f21cfe4d23a556e4f8b0680d6e2727c2e7f5067104a03be65609f61b0952ce300582003f5e20865aacfcd23d352d0d32704beb0aa851bcf0ff399a6bcea544c0b89d04ac915541f29dd2eab400000582003e1fda926d74c58d3a6b458f862506d18ff218ef2c9ec02a2105ea6240c94d04a022461f953149827b4e6031bef92623069531b016bb7261027ee2ea2249b9bb227735960a047cc278c131900582003ad1b415e1c95f814aa932639d6b9016e1f8d2a47faef3cc785c3bcf82196e04a0668c8fa016c47c3a000005820036706751cb8ac66760c43a7f5d6222896f4b5316db0f12187fa59089446b6d04a09033dd65381a620334d034f935462bfa6e1e01b15198395cedf08d56b64b5fab6f8400e352ef10b13eb77005820037ba8acd93bdbb00b2f525806f7e9d46d13b9aace219a267ef8d1b8fe8712304410b53dee038a70c63b371187a87aa75ac820e578100e0e5feb02a19f28c6441655598a635103d2af5301e36bf639219c8ad2b9c2d489aa2bd9d8711db7a365486444deb92fa603183aedfaa998d0b1ddd1bb42ffa8cba0a1dbf30d40bb36e9b2e9b1c198a149be02193d7b033efbfd95b249d7d77a649b8a74b151091c869fc641a024a4df64e4b040d304db031a324a6d7dd6b77e12ec9ea2e359a8e5ba91b054c75e0789f85c7a79f2296b8903094f74a2f0313a8d38684c62079ca9059965e406228e6e78f1e310213aa3302403e23b759e854aa5f0cb810b004592b1c1d4e42c57283bd67689ed7df088b5df2103821821407b07f40c52cec538a2c70595b40a5af09c6b9e9a14f3622982f675f503d2a6c4ce028644022a46ec17b86e4c491bc04dce7e2ea1b45bce910155fba1980219ffff036595838f4ce9df68e81a8d5467fa66fbe3e3395d1a1034e18eff250aba135f5203d0b317a78b8c7adb89782059685f699c0615dd717ec26874e5eb357e50d195b5038f0e55e5874b258f2c428f5205bd4abe041dd30138443921e6075b32c97ebc6b03045ab674144f7c12b6ceafcafac54f4008a786656c8df0a831a98338f9fbb0a1005820035f1e0c3956bb5d7205f9d0a6c2c641e564185222763bb53f4298c515fdc9404a3f3f0d9c27ca4aaf0000005820030e1509b1d134c93e838200e2acc090f9142f2132b435361d5b279f197f16f0495507013ed8ef230000005820031065f6a247bf8d46ebf99741871409b525f4ae4debbd817d8775531e5ba4704a049b14c57a758b600000038908e1de92976759c10ce07a54a108fadb617dcc1310a022814e04a9b704f89000581f02622c9e2b7a207f07ab69925f9e419e6f4eca743646b5640637623d8f427d4a05a952b925d8cb8c800000581f02892aedd1c59fc1bedcebd43afa8a1efa50fdf59e05c86586731034bb0d5e4c01705ba4a05e9dd64d73000002190210031e4b85d3d1f7b16cb21508f3db596862486254797d0e0a227f3b0fed0fe2e70601410700582003f6c2a4be8f4c58ebbd78da8d7f8becaba34f4cc6693bea05cb1370bd4a7eb04a038d7c1385faec8d800003c77a1106a29bc9625340364285d9a6d555f1871cc74286a699a8bfccd63f37150058200333cd800181a9e3d516d0eef22758caa6d8a14f2ff88fb0d1524ebf612945e04609184e72a0000219d31f03d05f4603b686f06cb2a7bb0fe33c7b1c7f6521bda39cb0f63641cb528426cd45036853e3f2bf90cad67301276878542ee9e9903d5821a7acdc85fe11830d32454a03a43daf34069e8c39af3ca65f056f7f11fd8f0199ebda72bd91a6c54a7b049c43037371a788fffab95695dc08aeb56542650b1ecf26cf22f3d08aec499a06f40c0503155dd190e6234babd72f260dac024a93c7fb46a31bd429b88b784560fe2f580a03499841b996dc749da25511afd3d86c76550736ddc37bddb407560ad4eef8dd8c033f1cda3eaf6c50dad6562c6708c2f0b7a74d8b8edf490c94e9bd485b6990b12c0331598ed8c373620ea32cb1d5d6bb157fb633cf3227014576907a963a278a939703ebff840e5ef3a9501877014245a62e7acab304c86f0e60d15ea072d8ebf029590314691bab85025765ad925dfd73668941339a60896f1ee51c13f245c6bc74f285039eef63a83f6920419713a1773af7c3a3428f0498d70e13212e4d80f9167bcbe1036a460e0dba677a4f1aa681ce5bb7c978114666276b73bf017e0b26bcfc12d3af03aafa17af7b4dae72205feb1c577c64fd473716675d91830ec3ba810d245f96f70219ffff03e696c1d0a7b71fa5e918544477b4aae92b6e64d09b60dfbc08f69f8bc76ae8aa03357dae389ac3f5ccdba61c7a22c83cfeba47971695c2b24cef591ea4c97667f90308ade91aff5fa16cb069b72af073a839ef248b2ba0e54b17c9851ea64c4081d10329f2e088df13ad41f38722a663579f0d2e65a5916353b8e07ef9f934d940d40503b57a102144c1908bd62f10b01b449e1769bf159bd9c6318395108c780e78d7560384c5a695ef2eee996beed628e84636a957fb982a2605c69b74c55c6ec4eaaedc033ff6a6c652315018a7107b87a281fefb6634c38a0d723585b0188380acde2d3a032896291d44b3f5a1b9934a4a2887f706f7768358506a291a5c509484afc6a4500325d708e6dcecf9140edfa3632654c63cc6a6ad7e588fd3d595f967df7d74a2d3038113613528553041a3118d336895ef940278635b45fc439e0a0b15c9bd8d92a1005820037d78a2cd04a380e15b031b1bb1d57672023fc55169d82a5415eba37bab6b404ac4f5886e3a9ee3d4800003d6b85561a1175695bb4f0ab935954da7ceced3d35f1da0b63b035cf30534a8a500582003ff6649599d96da515f7e59a9a1016214b3e27c96251ca194cba964a998cfe04a4b34c600fa8f7e14c40003da2dce8fe460d7a5a2f5dae720ecc60d9a6e3cacf0f7352faed518342f8766000318ffe7d189572c83ad14d74d7f93b086365c178615f9bb38215d6487181a2ed400581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d549c056dbba1db552c72d1bf852882142dc5ebb5b100581f02343ef2efaaf1e4d0a2ce011da5bce154fe676b73425bec0d05b11f3310b34a2716cbb5916e0690000000581f0221cfd542667daa055621b8270dff757acf6baa6d6831f428436ea63bd5de4a0b3163772d476d3ad9d00219044403fcc0c9a163c88c6b5c18e79a4697d8860c9b772090e731ee7c8a6ded5702db2d03f204eee33ea02693885b2e5b6af58278428c84292bf419587ff2e31958a781a1014109005820034a11c443744d31cbe0c9ec5a9c85afdbd0c04dfb71fffc041e5a16af949b504a0b55616904738e6b1800005820037982643e0e016f42388d0f298310d0e568ee87bdd3b3effabab3eddbab4b504a50eaba7925b355a529430219fab703fbb148f00bd99a8a3397b32e2bc8c3667cf9bc5d7adbc7eb400dab82e7229c7a0370e8fed30483d8994af99bf77dca5d4b2385647cc2b91328d0f8713ac4e3371f0346d8a82e95e23521053708e96556e17b2cd2c41eb96ca6375c441ff77d1ba50a03ea9060abe4984263661513d450f0d6cef2b2a2876257da2a45262834cb01ae2b03fe090252144c37d25d55231da0fe300ff8ab3f001e3f23de4be6c13d87644f3f038595becfff15eec43222bddfcb1253c0e1dc7df085fd8cf39557f3fc58eb9c050361bf6bc0252fcbf6fccf236afb94fa5c4afae22f2566ec493e08f4abca7e958903d180a05ce40a70ce86e2e6309bff94290d90c7897f2a9117b95b6daac37a19d903a47f8c1e240d4333c0e4e2f8be0b35fbe42fc52b527629954e528a9b4d9f3fc603e7f7a3ff1c687847f1679e6f6bfb1cc68e54f681db9b62523c1383e106a8ce200219ffff0347c8e4dab22511f5697cd19dfd6e6616b550a7f25c9c2271de8fbaa6463132de032c740a030cb996ef3f2b6a8449cc7a72927556d6f9797cd6475c5006bc1bd544034520d5894a3ec04f0bbb60c6dd0a323e6fc6fe46cf63cb7ea502ec4a554df2c703101c8807c70a04eda44ee5d6d6a214e4518b3275b92665b7f82e96aa8371b0470323c4df6ed82f5128328a77fcbc37cc36290626c3db18bbcdf08d33703403a7e0037da392c3a20e2f5647da004f611bb2b48c5fbc80c43a556b3dce2eda8a28f23103bf98a247fca3d90ad141a3423d6e14db67eb5e9bbc5d11b840f2a79b9a3c63bf03923e719cc9f2185449acf1afcb5f4da140c59a64074f1d0c1b68cba2c74b121903d138e2f98fe873a302c1555eee47c0a5585b18b4ebe3b69cada4c36506e3b87d034df5990bbb053a287d3dbda2b699af107398a31deb131a32bab223e1b2bd32a403103b00d1d7cdbf909ab2419a04418c40f4df90d1a9a8f658080af4fee0b29d5503174a11a4e6c4356c9e9780ac20f519a82dd9187e00a27519e106e19e61bbca9e03bd6306c033a06bd8d1c95c3b40b44be4d71f5357e4901e068b36eaef7b24d94f03a28ff97709a59598cbe2f6b9ef1e2d9d7eb19a688b56dc52d0a698447a9f049f030b70dc9d8c1311a7f3657f05d07c8ec82c1ba5a46673f9f878fcc60787d8db08005820032edbc91c24f944c3be5cb040106c24ee2917f6635664d9d75650307a7e1bb04a017b92cfed07028d1000038f00d5bd83274644d24fe6a880b3b3aedfa6b77c0e8d27be785aaff136d4cf5400582003b6ee7177d47327b383e8510240097a2b943ed0766ac56f78351a895d9cac004a01dcd158380243a4a80000582003d4e4f5a071aef2787fc795b92e3ddb7a27d5560b2f461ef4fd184686fe5f204a01752eb0f7013d1000000058200342f8123b8d8696957bad67213a65148839118b94f2d1078a34ad1cc724c7304a0f49b4263379e2678000005820034e076a64c0c3f9164ffbba6a26a7cfaf7194593cd9944433227b48df1b1a505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e4932a0b8e04a2bed3bf0d33c13f160accb21e58421d1a1ed235f127d194204a04026385268e3c868000031f6f480ceee233786d010fdc10b29b13daa9800fa1a82824348f2b1be3496fd10058200337f480202285785953034bd25219dd7da6f35712b25026a533024c521119b04a0cf94ff6bfdfa7b0340000582003dc71ac91863cbd802c529a1039f410143d392bead27f94ffacf4b23a505cd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021975bc0219ffff0337902149c5820cce133051842501d6c17877075447789fe812329a672eb1c84703dd4b861e9a6c0f47a67ed5718d4c24d669c2e4e808ec57db963ed8cfc76191430354ec12ff6acdfb9e18c22f5b0341c0ce331ce1b9243a21ccab54724b1f7cd2190378a7c8a483a4ef3a5b3d32e31a9c95ddb46225225416ea98d4b34c14e14383f5032c350dd48586f1ee2bbe0ae788d8ed0b09b147cd721b36479cfb8196dcfab6900300fc0f09fabdd3fcadff256fba8c4a27692e5f8a42fa929565e9d39356995a9b0353209bce77193644f06e94afc7fc1a91e057c1f854e385a18cbdb308a9c9efee0219ffff05581e030cb2dfe127bea72ae389d97907a164fe9525cf6dbf929b1285bd9c768007011902a8031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03b9ec2171752d6b5028f9b384625b131b39ffc808b88116755bf732542007011bffffffffffffffff05581e0398976afa3c0b049dcdcc8facba7032daa6189954d1abe1ca563f368f400c03465892fb5deff803b9bfdbd9b29aeeee4e217f5aedeabb4791d65c71e831a16f0b06df58180a2110031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0385d926b9e844c3df28be759d39f6d4e4e180e2aafd83afdeddd9a2179007011bffffffffffffffff03eab45e80c0800b6b061c2de6e30845f0a85c9456934902ab194417bbd7a481ea05581e03f1d633faced9431d45c3fb2ccb5068efd6b0fa97e917072e1e7e9a5330040103a2da9cf57ba90e7a8ef5a096c3e2b3e7fbd6a7b41cddc5bc054b3892dcd48920021927ef03ef35a3ac69b4d10a6b17f7dd9a8511792e31bbf34215e43a0f569e7ea777e5f8033d128fb0e6e96fd2c069311e8b299f6ada5d63fc416fe3c47586f0a0c9fc39e803d06d468488c0205065ea5528d38acb2fa806a01b77109e36bb3efada827d01fa0219ffff038a8aacb5f08a0b0ca461d98e7f20e7cb213d79f3d3909aa5cf02a82497bd3609038892806daf236a14b313f34f6546f39dc2024965138cfe5b6c1d0300a78dec8803193c106cb760ecf926e58c777365918ff84c0f3f8f68e7502d94872131d409560322d5b80e013bfa738602b16996a45d9a85b0788b0f73fa964b5fd6e5784811120328d278928c7d23f48d2a500a012bf4d486217136e969bb3158c548662ca4840203e40d4b3cb2f6d03ee0bcdf7c6597d1cfd4049181cfb4387b956bee1e139308bf039438d1ae769836fd3af8f538d021dbb67fff6dedbfedfb2724f5b1ebb5d51dd9033fcb08059faece2798360019ec4295f302b0ec7168c406e08d4a9e90c0f2c27f036acdba09d34396dc45c60ed0e0c9365487e71a0ccc4942d9f0eca82cdbc30fad0219ffff034f88117428c8f29078f44e4021ffb0e4ca9ebf6d98e30dfae9ada01240e8c67e03b11cbe3df568c16cc777e15138caeeaf434186dcba26c7f53b9b2c0e366fcb7b0384f6bf4d50feedc020aeca10235f50ca5bc2dcfb6471ca6ab56601a37b955741030698d99595e4e0d5a060a4315732d7d86c5af397eae52fac7a4b644fd0033afa03265cc004381fb822cadc2f8c9c3b68fb1ad61b81dfa0ae43189dc2f0fc91f85603a551a428c271d292c25c9b3810b725b2a90d2f5b923d5b3091bfaecfae6db0fa0219ffff03bbb6271751a2a99c7648f3bb36d9e98121dbefb54f7caec1f205d05c262ea7eb03f54f42ad4910983dc4cc25abec7fb70489e43f01eaf44b99e4d9f9f85dd6bbcd03880f8ae26afec79f649537c5d6663af1c1be9979e638b47320bb52096fe68cbb032e94954955631c1539ea9fa0c558a1d9be32a2666fced7986e74748d0f48cc7a036c1fc027f84bf028b90d7b8f7fd1ce8c9483285dcc057245726f4bd5d3b20829032d0e7e9fdf2acb0d7a8bc9f83dfbf2d44598cdd2045678f332a42eb055f2a9c903d8dcfdb118a60ca94e6e9bdf792f3807ad50bcc2f95acfd60b8e2525de32040703d11177d72d19bdca6ad7130f8f4c82dbf7a625cf77fef020a4e28e2032fd407f03f01eb7e1028be34fd10de9c3f6d33d5f75afd707e6357d1d65388423fb0023bb03b59cfbb384aa990b61a3483841daff2cfe1beb4e1b10b3d939babb5486754a9003d0c3b6e13d854bc135d0319adbb13ce12d514e7802b06451f769343c68142ee903e3201d66ea4d64155b7f646ac41532fee0381a0f6090e245aa6c84bdde6c1cd003767cd4048ee619c65af244acbf5c096f787c98d0882e30376dd594e68cf960d903865e8b7b6dec90ca0282e59eb97b463aba53905919913c887130a6451721b8ba03a8018b48de5cfd57d4eb1b9529ddc657e7701d5312ecfcd358a22e9821884f7803b2a25c1f1d75316e97954239178cc0858d49562ea01f78d8785333906184dffe0321a50a059775c4f8e4fb176f646d5b9d507f9988631fda4df70d296f1e4e29b803dae75b6751b64054d33aee7dc8c4e57e1410ae5a9815b66f5e14c191a3156c4a03b271d5c4ffa320bb50dafbd3ff424996b9cba493135f1f0eb440a1b69ef5395e03bee7a6c041d49983b848ac436aa47e7bd9102da90f655b8c44730d8b4128f51a036d284fdffb2599a6eb54bf2631acb83cfdb688bce510bd391f7a1481a65684c203066ed42549e69ec0e0f62a421766ddccd057814b609f3d8a7ce05ee3bfde919303f12d71b487986da0b9899ec9495714a32f42339d23a3f1f059afb268e111f22105581e0316ddfeaa89690c2100a972351709384cc496fc1784864f65f7f2c65ac0040403a39df382a09327fc9959eb7c077e2f2485aa0ab8301c6a56223dcf4dbfc7fd8d0371f85cc922714bb5ea1add781e766ee0d6ff88cf31cf2829e143aab2a7c6b52b05581e03548bf88bba96f66143ae15aa11d8091bb4db6a6e8720b08fed9c34383007011bffffffffffffffff05581e035314d1a2aae0a7ea5deac9065c593b15e109b4dce23e0fe87bf750e3c00c044739bb1bea56a4b403de7a51827e140dc5760c607234fa2cbb2d7d2fc1a70533a1389238e843322db50357c4d8918ed296e5dd59009f95b7498c3b5db3748e48659c85036a48bfa73e0205581d0240b159cf35590717ee3b8025116f1b514b14937eefc1073abb2327960402045925ad60806040526004361061014f5760003560e01c8063715018a6116100b6578063a217fddf1161006f578063a217fddf146103c2578063ca15c873146103d7578063d547741f146103f7578063e6930a2214610417578063eb14f53e14610437578063f2fde38b1461044a57600080fd5b8063715018a61461030457806377f050b0146103195780638129fc1c1461033b5780638da5cb5b146103505780639010d07c1461038257806391d14854146103a257600080fd5b806336568abe1161010857806336568abe1461025c5780633659cfe61461027c5780633bd8db241461029c5780634f1ef286146102bc57806352d1902d146102cf57806357a987a3146102e457600080fd5b806301ffc9a71461015b57806302cba7411461019057806305b1137b146101b2578063150b7a02146101c5578063248a9ca3146101fe5780632f2ff15d1461023c57600080fd5b3661015657005b600080fd5b34801561016757600080fd5b5061017b610176366004611e5b565b61046a565b60405190151581526020015b60405180910390f35b34801561019c57600080fd5b506101b06101ab366004611e9a565b610495565b005b6101b06101c0366004611edb565b6104be565b3480156101d157600080fd5b506101e56101e0366004611faa565b6104e5565b6040516001600160e01b03199091168152602001610187565b34801561020a57600080fd5b5061022e610219366004612016565b600090815260fb602052604090206001015490565b604051908152602001610187565b34801561024857600080fd5b506101b061025736600461202f565b6104f6565b34801561026857600080fd5b506101b061027736600461202f565b61051b565b34801561028857600080fd5b506101b061029736600461205f565b61059e565b3480156102a857600080fd5b506101b06102b7366004611e9a565b61067e565b6101b06102ca36600461207c565b6106a1565b3480156102db57600080fd5b5061022e61076e565b3480156102f057600080fd5b506101b06102ff366004612118565b610821565b34801561031057600080fd5b506101b0610a4c565b34801561032557600080fd5b5061022e60008051602061255883398151915281565b34801561034757600080fd5b506101b0610a60565b34801561035c57600080fd5b506097546001600160a01b03165b6040516001600160a01b039091168152602001610187565b34801561038e57600080fd5b5061036a61039d3660046121b2565b610b83565b3480156103ae57600080fd5b5061017b6103bd36600461202f565b610ba3565b3480156103ce57600080fd5b5061022e600081565b3480156103e357600080fd5b5061022e6103f2366004612016565b610bce565b34801561040357600080fd5b506101b061041236600461202f565b610be6565b34801561042357600080fd5b506101b0610432366004612118565b610c0b565b6101b06104453660046121d4565b610e1a565b34801561045657600080fd5b506101b061046536600461205f565b610f93565b60006001600160e01b03198216635a05180f60e01b148061048f575061048f82611018565b92915050565b6000805160206125588339815191526104ad8161104d565b6104b8848484611057565b50505050565b6000805160206125588339815191526104d68161104d565b6104e0838361106b565b505050565b630a85bd0160e11b5b949350505050565b600082815260fb60205260409020600101546105118161104d565b6104e08383611075565b6001600160a01b03811633146105905760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61059a8282611098565b5050565b306001600160a01b037f00000000000000000000000074ae836d6f949118b4e4d0af79924edd0d6fd1631614156105e75760405162461bcd60e51b815260040161058790612240565b7f00000000000000000000000074ae836d6f949118b4e4d0af79924edd0d6fd1636001600160a01b0316610630600080516020612511833981519152546001600160a01b031690565b6001600160a01b0316146106565760405162461bcd60e51b81526004016105879061228c565b61065f816110bb565b6040805160008082526020820190925261067b918391906110c3565b50565b6000805160206125588339815191526106968161104d565b6104b884848461123d565b306001600160a01b037f00000000000000000000000074ae836d6f949118b4e4d0af79924edd0d6fd1631614156106ea5760405162461bcd60e51b815260040161058790612240565b7f00000000000000000000000074ae836d6f949118b4e4d0af79924edd0d6fd1636001600160a01b0316610733600080516020612511833981519152546001600160a01b031690565b6001600160a01b0316146107595760405162461bcd60e51b81526004016105879061228c565b610762826110bb565b61059a828260016110c3565b6000306001600160a01b037f00000000000000000000000074ae836d6f949118b4e4d0af79924edd0d6fd163161461080e5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610587565b5060008051602061251183398151915290565b6000805160206125588339815191526108398161104d565b8584146108b85760405162461bcd60e51b815260206004820152604160248201527f4d756c74695472616e736665723a3a62617463685472616e736665724572633760448201527f32313a20746f6b656e732f706179656573206c656e677468206d69736d6174636064820152600d60fb1b608482015260a401610587565b8382146109395760405162461bcd60e51b815260206004820152604360248201527f4d756c74695472616e736665723a3a62617463685472616e736665724572633760448201527f32313a207061796565732f746f6b656e496473206c656e677468206d69736d616064820152620e8c6d60eb1b608482015260a401610587565b836109b65760405162461bcd60e51b815260206004820152604160248201527f4d756c74695472616e736665723a3a62617463685472616e736665724572633760448201527f32313a20706179656573206c656e677468206d757374206265206774207a65726064820152606f60f81b608482015260a401610587565b60005b84811015610a4257610a308888838181106109d6576109d66122d8565b90506020020160208101906109eb919061205f565b8787848181106109fd576109fd6122d8565b9050602002016020810190610a12919061205f565b868685818110610a2457610a246122d8565b9050602002013561123d565b80610a3a81612304565b9150506109b9565b5050505050505050565b610a546112aa565b610a5e6000611304565b565b600054610100900460ff1615808015610a805750600054600160ff909116105b80610a9a5750303b158015610a9a575060005460ff166001145b610afd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610587565b6000805460ff191660011790558015610b20576000805461ff0019166101001790555b610b28611356565b610b30611385565b610b3b6000336113ac565b801561067b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b600082815261012d60205260408120610b9c90836113b6565b9392505050565b600091825260fb602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600081815261012d6020526040812061048f906113c2565b600082815260fb6020526040902060010154610c018161104d565b6104e08383611098565b600080516020612558833981519152610c238161104d565b858414610c9a576040805162461bcd60e51b81526020600482015260248101919091527f4d756c74695472616e736665723a3a62617463685472616e736665724572633260448201527f303a20746f6b656e732f706179656573206c656e677468206d69736d617463686064820152608401610587565b838214610d195760405162461bcd60e51b815260206004820152604160248201527f4d756c74695472616e736665723a3a62617463685472616e736665724572633260448201527f303a207061796565732f616d6f756e7473206c656e677468206d69736d6174636064820152600d60fb1b608482015260a401610587565b83610d8e576040805162461bcd60e51b81526020600482015260248101919091527f4d756c74695472616e736665723a3a62617463685472616e736665724572633260448201527f303a20706179656573206c656e677468206d757374206265206774207a65726f6064820152608401610587565b60005b84811015610a4257610e08888883818110610dae57610dae6122d8565b9050602002016020810190610dc3919061205f565b878784818110610dd557610dd56122d8565b9050602002016020810190610dea919061205f565b868685818110610dfc57610dfc6122d8565b90506020020135611057565b80610e1281612304565b915050610d91565b600080516020612558833981519152610e328161104d565b838214610eb15760405162461bcd60e51b815260206004820152604160248201527f4d756c74695472616e736665723a3a62617463685472616e736665724574686560448201527f723a207061796565732f616d6f756e7473206c656e677468206d69736d6174636064820152600d60fb1b608482015260a401610587565b83610f26576040805162461bcd60e51b81526020600482015260248101919091527f4d756c74695472616e736665723a3a62617463685472616e736665724574686560448201527f723a20706179656573206c656e677468206d757374206265206774207a65726f6064820152608401610587565b60005b84811015610f8b57610f79868683818110610f4657610f466122d8565b9050602002016020810190610f5b919061205f565b858584818110610f6d57610f6d6122d8565b9050602002013561106b565b80610f8381612304565b915050610f29565b505050505050565b610f9b6112aa565b6001600160a01b0381166110005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610587565b61067b81611304565b6001600160a01b03163b151590565b60006001600160e01b03198216637965db0b60e01b148061048f57506301ffc9a760e01b6001600160e01b031983161461048f565b61067b81336113cc565b6104e06001600160a01b0384168383611425565b61059a8282611477565b61107f8282611590565b600082815261012d602052604090206104e09082611616565b6110a2828261162b565b600082815261012d602052604090206104e09082611692565b61067b6112aa565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156110f6576104e0836116a7565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561112f57600080fd5b505afa92505050801561115f575060408051601f3d908101601f1916820190925261115c9181019061231f565b60015b6111c25760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610587565b60008051602061251183398151915281146112315760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610587565b506104e0838383611743565b604051632142170760e11b81523060048201526001600160a01b038381166024830152604482018390528416906342842e0e90606401600060405180830381600087803b15801561128d57600080fd5b505af11580156112a1573d6000803e3d6000fd5b50505050505050565b6097546001600160a01b03163314610a5e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610587565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661137d5760405162461bcd60e51b815260040161058790612338565b610a5e611768565b600054610100900460ff16610a5e5760405162461bcd60e51b815260040161058790612338565b61059a8282611075565b6000610b9c8383611798565b600061048f825490565b6113d68282610ba3565b61059a576113e3816117c2565b6113ee8360206117d4565b6040516020016113ff9291906123af565b60408051601f198184030181529082905262461bcd60e51b825261058791600401612424565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526104e0908490611970565b804710156114c75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610587565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611514576040519150601f19603f3d011682016040523d82523d6000602084013e611519565b606091505b50509050806104e05760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610587565b61159a8282610ba3565b61059a57600082815260fb602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115d23390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610b9c836001600160a01b038416611a42565b6116358282610ba3565b1561059a57600082815260fb602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610b9c836001600160a01b038416611a91565b6001600160a01b0381163b6117145760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610587565b60008051602061251183398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61174c83611b84565b6000825111806117595750805b156104e0576104b88383611bc4565b600054610100900460ff1661178f5760405162461bcd60e51b815260040161058790612338565b610a5e33611304565b60008260000182815481106117af576117af6122d8565b9060005260206000200154905092915050565b606061048f6001600160a01b03831660145b606060006117e3836002612457565b6117ee906002612476565b67ffffffffffffffff81111561180657611806611f07565b6040519080825280601f01601f191660200182016040528015611830576020820181803683370190505b509050600360fc1b8160008151811061184b5761184b6122d8565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061187a5761187a6122d8565b60200101906001600160f81b031916908160001a905350600061189e846002612457565b6118a9906001612476565b90505b6001811115611921576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106118dd576118dd6122d8565b1a60f81b8282815181106118f3576118f36122d8565b60200101906001600160f81b031916908160001a90535060049490941c9361191a8161248e565b90506118ac565b508315610b9c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610587565b60006119c5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611cb89092919063ffffffff16565b8051909150156104e057808060200190518101906119e391906124a5565b6104e05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610587565b6000818152600183016020526040812054611a895750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561048f565b50600061048f565b60008181526001830160205260408120548015611b7a576000611ab56001836124c7565b8554909150600090611ac9906001906124c7565b9050818114611b2e576000866000018281548110611ae957611ae96122d8565b9060005260206000200154905080876000018481548110611b0c57611b0c6122d8565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611b3f57611b3f6124de565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061048f565b600091505061048f565b611b8d816116a7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b611c2c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610587565b600080846001600160a01b031684604051611c4791906124f4565b600060405180830381855af49150503d8060008114611c82576040519150601f19603f3d011682016040523d82523d6000602084013e611c87565b606091505b5091509150611caf828260405180606001604052806027815260200161253160279139611cc7565b95945050505050565b60606104ee8484600085611ce0565b60608315611cd6575081610b9c565b610b9c8383611dbb565b606082471015611d415760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610587565b600080866001600160a01b03168587604051611d5d91906124f4565b60006040518083038185875af1925050503d8060008114611d9a576040519150601f19603f3d011682016040523d82523d6000602084013e611d9f565b606091505b5091509150611db087838387611de5565b979650505050505050565b815115611dcb5781518083602001fd5b8060405162461bcd60e51b81526004016105879190612424565b60608315611e51578251611e4a576001600160a01b0385163b611e4a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610587565b50816104ee565b6104ee8383611dbb565b600060208284031215611e6d57600080fd5b81356001600160e01b031981168114610b9c57600080fd5b6001600160a01b038116811461067b57600080fd5b600080600060608486031215611eaf57600080fd5b8335611eba81611e85565b92506020840135611eca81611e85565b929592945050506040919091013590565b60008060408385031215611eee57600080fd5b8235611ef981611e85565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611f2e57600080fd5b813567ffffffffffffffff80821115611f4957611f49611f07565b604051601f8301601f19908116603f01168101908282118183101715611f7157611f71611f07565b81604052838152866020858801011115611f8a57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215611fc057600080fd5b8435611fcb81611e85565b93506020850135611fdb81611e85565b925060408501359150606085013567ffffffffffffffff811115611ffe57600080fd5b61200a87828801611f1d565b91505092959194509250565b60006020828403121561202857600080fd5b5035919050565b6000806040838503121561204257600080fd5b82359150602083013561205481611e85565b809150509250929050565b60006020828403121561207157600080fd5b8135610b9c81611e85565b6000806040838503121561208f57600080fd5b823561209a81611e85565b9150602083013567ffffffffffffffff8111156120b657600080fd5b6120c285828601611f1d565b9150509250929050565b60008083601f8401126120de57600080fd5b50813567ffffffffffffffff8111156120f657600080fd5b6020830191508360208260051b850101111561211157600080fd5b9250929050565b6000806000806000806060878903121561213157600080fd5b863567ffffffffffffffff8082111561214957600080fd5b6121558a838b016120cc565b9098509650602089013591508082111561216e57600080fd5b61217a8a838b016120cc565b9096509450604089013591508082111561219357600080fd5b506121a089828a016120cc565b979a9699509497509295939492505050565b600080604083850312156121c557600080fd5b50508035926020909101359150565b600080600080604085870312156121ea57600080fd5b843567ffffffffffffffff8082111561220257600080fd5b61220e888389016120cc565b9096509450602087013591508082111561222757600080fd5b50612234878288016120cc565b95989497509550505050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415612318576123186122ee565b5060010190565b60006020828403121561233157600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b8381101561239e578181015183820152602001612386565b838111156104b85750506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516123e7816017850160208801612383565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612418816028840160208801612383565b01602801949350505050565b6020815260008251806020840152612443816040850160208701612383565b601f01601f19169190910160400192915050565b6000816000190483118215151615612471576124716122ee565b500290565b60008219821115612489576124896122ee565b500190565b60008161249d5761249d6122ee565b506000190190565b6000602082840312156124b757600080fd5b81518015158114610b9c57600080fd5b6000828210156124d9576124d96122ee565b500390565b634e487b7160e01b600052603160045260246000fd5b60008251612506818460208701612383565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65648ec07e268e32cae7f300b49ad34f20106d088445cb9d9b2d62cbd864638308b2a2646970667358221220a409bd9e9574da254aba6b9a5d70db75eb61aad8eecdc8c6bd43cd7caf29999764736f6c6343000809003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563410105581d0203ba1df2af3e45cfd96a7f627ce7a5d7ae2a1883584ad2675adcddaa07011925ad02183003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d033f469ebfea9adcf3cf5994f94575a8d5359002ad23c5428dbc159d6080ab260b05581e0308fbac4788be6d2bd90ccb7424c82dbe8456149c081710dfdb7ea98d5007011bffffffffffffffff03616c7ccba688cfaa9acb8407dcdca012544524b829027ffb3b6d1b75abe1d91e0219a25b03e0f056eade9ee795455bb3eced2c22b7b1ec0b4381f316eecb4adc973b3b480c03e0233402a1480c381a89ced502f9351c42e35cbdc84cb4b26ed33223d058e5af037f87ed209fb2aec26b9a05859d5d0985c362739be4dac7f3603f50d647411fdf036718040e42a36505b19858496e5281975f3f3ae0b9c48ff044467823bd3bd8da0337502481a8e30d38c78c3c7c3328aca9c63162517ac4d5ca6021b9474cdac1c8036a02245ac3dba7d1262e5bf91049e52e638f43d869e8916665a5575ea06ff58403705560cc0b2ce7e80439054d8a93377485a4d8ff07c7e73555c842393f7a6a3f0219ffff038ca90bd612b719e637e6d6afe472ded9c8bb71bdf5a4ab5d814dbe195f1823f903295f5e079ca99685effa5a03adaa079586692bf1d86700b056672e4686d32b8a037906c756940f92f0731f3c4a4d5ecf47be68c7e67c6398e20375c211233790b60378e55da9b82a3bf9a829315593b89bfff04b3f6d3311a2e756ede5e85095fc0103960601cd516af46c794e2500ba164ed2c9523a4d26b616f0c001e604b7483f220219ffff03d1a0e5f9e0cdd6602890d1682b755dbedf0de869347a4ecc3aa80274433b8fc50383cc16a6a11933e647d318fabd410fcce23bc3e8db3c7a57fb7b58f575f1d6b103fe2d6079968355b528f2c87071ba5a3057c7efb73decb38d07f849dabaf9b19d03ae4461a2399b9758bdc404c50809ef94ecb380b38de6b475a9354e6c11415bad032a33a8e59b3989bd6e8718faf3c358c3e2545101b15156b974627fae97a29b010301600b408520939510d3cb7b9f90baf5919800b62a9bb5945da3207b478d85b7030b84d9642e0d6eb5e22be415a519f267a31a06f3808a8414eea3d8683ed14a6903de62d1757980d0fdfe2fbc49b2be7795ffad3a7f2dde1be977cf4e1c36e0d891034053187e44ea6ae04042d2ab960064226417d9c8152fd9f1dfe6db931cc6726303a6f550ddcc2507c3d8e7a3b8a7762c8a09472f97d132de38548f8f35ba59944e039c8c559c5fd07b02118685bf626c40a1a0171aeee842849f4ddabf5ac5f7d1d3036a380a4a24881f0c1c35e3f9e2a432ab56294b50ab1737aaa21686f301a6943503c8c4565c07eaf7a435557af5946eb196bd4b3a090f03911ea31397fcd16817ef03b7df6b769d8f166e4f1dea90f3f452e086c93a95cc3b9c563539452855b44dd9036b0979fad5496774bc52f36a499ca5f99448765bd530b1c683a6de1f1727c9670219ffff0322e44e7b601591a17254e0aa6c2ebe077eb86a7f9d8b1f4bb7e5de3d0ef36d31036e1bec13fcb13b299590efe3fe3a37994ae8e6ef82f820eaa607b84cfc6382b0038777d2f02f176235ccdf89cccf123e9a78e0378ed89e8248500bdde237af48b503902fb720bf74bbbf68219f688d382b03ded85d1d01038ba5c65827e6d9ae5c4103242aacb9962f6be46c2687afe946657e1a4c5b365553ff5e7b878729d0dc7978030b5ace9219797302064b1c05d6773c183fa842d935443eaeb310495b7f99e3a40393eb173faaa6d3f87ebff5055f4ca9e3a80e596a2ff4e9d96cab17c63f717fdd035017e33b431163aed77413892588b304cefae55b4f34f9c105baa361da9cdc9303f7bcc738d86deaaac1d5b3b2ef4998cdad28338d6829bd64e7cbe51264d7076f032d90024926eaf70203c88469e8bf7841a2356accbdc885c4bd43bb6a583f006f03e9792b228312d52c854ab196887566ef61ba35b7584e9cdc88e00cc9e40b12fe039a210af158456be4ea0ebc394ffdcf2ab488a38ea5ce46e6f1dc339eaa90e2aa030e5ebf436f4ece60b3c01a59fd4484b856345af2b327f8937061a5f34e1012880366f75615421133303ff8003ee7b2cb668bfa32fede14dc269c0d2545bc535324034c008ea2515c0e48f166b3b15564e3e9b6d3aa336fd38f48bbc90b8b0dc29a3003b20fa8ca6ff66b93a176acd047576eb1669475865c054da7a09327a1d55c0b2f03e9dac687a9bc099c5790f1f18389adb0c119232e5b3d15c36d8e1c269020260d036e93dfd3327cdbbdc731547989fec2ed3894fb5f3b848f931302194569b5d4d4036e1633bf06bce514bcad0129e7424e1ff5a715053ededaa7325cb81bb3f86be9036735077fca40d1dd9c55c443fcb32f731dad0abaf569a873f74bd4f19e69f49403ae9c2fc978a42bbb18c9500e454ee2cb5928635aa5faf560e157f6bd7bc45b7c03269195c24dff539e283ca4012ba601789e04ae1297ae047975683203b0a06bc803d5dcb1fe9a11ed50de3d5c34f0cbe40818f20f49bde6a7bb078ad7ea6026fb0d03ee9ca6289d38ac14d905fc505ce33468a231d25b8844b1e8b3bb22c435c7f3c2032a43d76d60e1da34762433d2c7ec1e688c9cc434c7fb875ff242091bed2d92b903a703e8dc6b1c6e754df48028cf900f98635c809190ad3ca637f71dc6ce285b5e0320af01d71af4cbaf8209f21b58d028d3824f9fcd049068fedb069daac433c82603ba61f28a9b67033ac977d121fc514ff00c42d71fd1761a0fc01391b036dcdd25034a4aac9a78511d5c5b0db496e0b3c786ca7f01360a8f4fcc2ea2855dc1742832037dc345bb14691d4da576b41f5d04f543c6d46dd082304eb241d2099a6ffc1cc303817d6a20dd6b4327cec985e3814ac2d4d67017b1bbe958b2034998395529767e033da029011e16c346b9ad3283a011e87b925e8651b2a5ffd977ef26023c0c18b10353cea0fe19d67cde61413cbb9cfac93191ea310d0fb703a4392304530253df5f0306b3920cc92ffed906888f76426c514a32506280c089407fd7bbb33f1c110a4703a8be68a078f43ec7cc312f74bc9b6554c9735a5cd777ee3f1c3750ae5dd3f08805581e03fa4718f538abf95406d3e8845210fa1228a789d9821fddd78783793180040105581e039e6ee778487e3d9a11d1d64a274968df1da41928bcd1d7ae760a17d4c008462af131251a0003a147134e2ac2d7ee7af677741e3b7da666ba7c0ab13974915dd83afc276d21ef05581e03cf8d4f00ad512f140c118fda8988481b801fb92aaa10322c8b5df60e500c09463fb3bac0840005581e03b5a1e4b1d1b66ab55a0af336cbd6844518fbd942adaaebff342b685870040105581e038a34c21bc4d63a834ce0cad52bdff2156c1063e53f4a1829b426e418d0040405581e0392fd66590a79f6a969a4e7bbc3f67a840e6c4cd7f82e423dff92290970040105581e03108820f04527aa0abcb63cf4d48c797d375622507d8f20a7063bda7bd0084702d0dfd628591e05581e03e44dd32b270f7ff05edbb56a96680d4a7926a2f28344a42ba28eb157d00c044655ba5a80dc1b03f5a9ab938789fa4f0cbebfeb2bf184441aa2e5cab2662274eee2f52ea5a151a80219adcd03fda61f8964a47b2ed86ab6c307b2504fdaa18914376e79f06123caabfae37d9f0302d3a27bdcfbad8e5ad176c09bb8fd64a0c62e3007554f0ee5200967bda3d7c303a22a00fe5be20387ed7c7ae9157fac0a01bf9d600ec7522bcbf1195d0e6770f703dd267ea61d6b17e59d5bdc737d152f3ca5cd7b34b785cef271be5799c98336db034586bb2e4e83c5fa2125f04df89f5c4063f8d877c798292482e85b578fef337e0219ffff0366d8263a2f135623d367d45b793f2765c375b6a7120f102b5f77f63b528f6072030d6acf437d45031349e0265741bdd718217cb5bb9697bb19ea4926e8ff8f735b035d0ccdbd40c5a6214599759dab6d596b35686c82f2c0aea6400079ab0088019503f9dc58236108da08b2ed5d9d0d69dbde33a88d72a8f962fcc4b59c3e2de16dea03e244d723cd968dc7599e750ca72b795fce6a25a760b94dc3bed37548fa994d0903396138f399a68e6d578d33936d14742f82de721d1c91b3f3fbafc01ef1bdd03003de19bcdbd7e54a1ccaedf3379df9a952509f80b44cc8e219e307af13fcf2c1a5035e68e444c6d61a7ebddcd4351b2f7774bf281ab7bd3ec07a746d12732cacf04903c10b9cde47822152274ace2b5a6adf422e12f660735e055f516f1ae275217f73036d0580c7823b4e73d6e0f31e438dbd8a5f09332438ab4e4018f9baf9d052a93f0219ffff0219ffff032b24fbbc885de578852725aaa981a8e44369f859f4ed8039ce2ee3a3f70eede803374603f3d74809e75787717697705fd7025376efb40f885acbb498ed552a0f950219ffff03fbd327102e5e3d57a6fe977b9afffa43fdf898ee8970cdd7009ed7a2e5011b89035829ca03c6dc20ff1003f855af206c191b4a78b9cfad2796c889680f287a1153033e58c8975d72d7934ae9c3864df15dd0e00f003a6c685e67ec4d439408431cac034c94e501991ff672a4af90dede7f5043c97880f44e29094c8b906d0c6b8e8fae03d3b97abd156f5a7597a1661ca12abf5cb27b42358c683032cf5e4fe31ae16eba03f291ce61bf7fa75bc89a93d0b0d8e624591f710919eca3040f05b68d1522caa10395662eb0031985fc2c9f584cddd282d0908fc64abd756c8efa106f2aab6c36e0037bd9700f363d0d336e1463bc8700440ae4a408cb9fc6354d2e5c0e43acb6e466036300ad7a54a19fc4133e38756a4d0af2f28e154e40fb3590cee962388ccd920e03da8b51057e5ac425fd01a9ce28ecd51db191b269ee9f172660c3b500193487c803f95de05b470394e6750cce5f3bcbe106b0c925bccf849e5c7285ccd59cd4931e03cb14184b92145b2894c8d54e5ee31b4cb764ddf46b4a6316a5cd549e30c76b500398d8521e25c810823a9bc3fc827c551c61d8b030a70d6185eefe48a7d58d45d1031128f9073fe2dcae2d233287c10ccb059c70afa1474fe436bc7a9392570f772303bc3ec0c9fb89d50352bace87e9abf5324a74da04dd0f3ebbb39dac802a11c860037bf1b236010ed628b900f113efa96d1230b528a6d407fa68419797cbebf6c915039cf13b4d98277098253a344af24cbe556dc9c2cb368f7ef64c93a54b2498a8fe039aa276304e1abcd87d5d06bed31ed5a8e20e5791b6e054d16ce5fcfda71ed59c0346e1340173362d492c284217174847f7def8e8a520785e5ed93d54da255b35f6032e5879d11305babdc05a2592a3b596881cf483057635afbb81c4aead0104007e033e2bdd21a50c9a0652585b0b06cb8a8f60c5e1bb203804c7de7840afcc923f73038641934f193e32d144e3a002d13e04e546a9a1350136245c235530fd9677056c03f038ab5f660e0257443f9fba624467181aac4430da8711947e8ee772f31ca5ad032669b3f05087e52e6387e0238cae193caffe9a9c982bb1446450bc306e18495503f2c806fee38fc950831f42f32febaf0eea8f0fd874e24119188f44a6e9116932030ad2cc8587c59b3756332511554ac233eedbfccbcdab5c9a9152c0cce22ed8d103f1464b55a3f19f4a744df5736f97de83ef026aa47e58ee377e80b1e7843cac9603758d5a763df05202dc1fd890b00cd19cdb48165d449cc04333bbb3950bffbfef037559f7ac0f22a906098bee37717543462b6d3a9b0c10d7044c7199c160dc3a6103a74415276740cd2f8e7adf9899552e67e645127ebd1b0aa6abf8743c17bca1a40398948390af316e7737e0d98ace0626dba03fdde852d21fa67cd04b800cb35702031298d77f9403b3512ed892b69055776658e892babac0fb66c8a52c83dffeedc505581e03d22043120f334e8f068cb5d71e08838f5c43a7e74ea24aca6720ac33300847349a370bc0880005581e03b7b404190c12ecb3593196b3637a03408b0cd8c2933721c589d5f0d74008474390064287980005581e03688e6d79343c6feb7e7d1d4974d6c0e8c66f5a9f8a8d349b1aa8840b600c03480383f9327627d5a10383f333322a3c4c77dbdf20293ec411d120a5349b9d4276583dc9a38d3a6d53e305581e0375e297eda395793d47537d156802c6eea4696012e91d456072456cdfd004020219131803a79425df37f2360dad986a9ae536980e795b613575fd1af42e6c64acbef6ef8c03c1208407708c02206cde1b8a146d488f9f3a17f393e9bcb6f32c64d706fa801003c04b44b7d43d64bfac23b3e72d7d6b748453c28a22caae79085e1443af75788503fbac7eaa3ddbe37aebf3beb6b5d48b468432e8d3b746ce1f7699d5da81a32ea003fb80892148ed8ad94dca264dd95d25d4d4dfa01438219a84686b60033cd0600c036a3847ced31dc902867c7b29a870ccfd0e03b420560cc7ce356e6f4bdb579360035ba7e5d18d8bbb42e2e7686b8df56a663e3267de0f8ab2c42fed8c190f2e1cbb03a77447c40f8423b0407103f194496dfa45dede22660a8bb7dc324afdb5c89a0f032c35c0c74f434c31bcff4dfa01e855f6827044ac0618ad8fcb0e0655427a39e503bc3f3a85c66c58e5137059ecb19023c89af2a696c70ceae626bf2ff68f8de3250350268ab3c50280fd439d53627d96ab0a45079408880de11d6693871a826ce92303c2bc0e5df0450dd2fa3d96f9f87e6421af5771f63fa0f7519b5392bd15bf70270219ffff034b64a5f7807d683ab17ae7b754ab5bb66640cb74c976c6acce131636497863370399f0b686b719aecaea90dc121d8966df6e660762cb9470434050527fee5ee7fb0219ffff0327d30a450bfa30c37b8fcdd66d8538bd05adfb882599fb4e031f9148ed62e75d031ea6939925ff86f9a308799b166bad40953edbd3bd94c657d37b2eb535b8c42e03c5747abd793bdb12bc42c8c7ca99e78cc79bfd2476ba0b06e0204fbcaa8aa62d03239a4ac22e39a85c0d7c89dc66fb5cd34b7d83eb124dbea1b6cecfb724cd50780326395a26d4c1bb78534718a5e3c6fb17f8b0efa6c5c50e7c71b1ecd1a2adaded034dbce25bf3a94efae11501182555f0b18d180fd20b39cd82983b54e9c8e3eeb6032eb362207857a70ca5cb5239542fdf405ec3274647cd7ac78a9946d0a1ddbbc4037132154927278c60229a6ffa5afdd2e53c1e086d13647a86248f0199d6532f1203ccae28c13dd1a75b5083ec57ff3cd2f05f10cb4149576cd0ef5b125eefceb58503a0b7d449810e724b9cc1207fe4baf27b78aeee3ffcb3ea57129eefb9b75f4ccf03f06b2e726568268c38100deaa1b0fc2c93403c722d9d55122e42b82727166594033907c59df352fa7ebb6f9e1569907e173f11b118806f269c625cd366995da28903b229f8e5b9512ab31800d451b695141027477ce015aaea5e6fd2742fbe21d7ca03c3e40c54e98bcaf45adc49f099112c9ec28469eca371357533c972d2cc33fb190219ffff0219ffff031dd02b5e0abdd6e6c17147281482e0ad252887ec13d1ed380167bf858e782f5703bb6ce166dec6e8c1fd9ce2e8ea5b8a7e4d0dfa2b433f495600c6b513c5f5d8a903ede0965acc973aaa4dd5dcba0c4a1d202e6f71e64057d3d6162217757bba54d003df3e90c512d3b8c4322f819d7aae114ae523769b129bb22ed7e193af24ca7ec203f4bbf54cbec419a1561c2464c6ac52ea282f5d17dbd5b3ceba314623f3836e70033edcb0d8430fd77283f02e651963561bdf36f47c910ca37e6db99cb1227fa47803d0a1bba6f188223866d05c3caddf24e1a46bff3d912f803597f2ac04dc7931c3031311c0f8f2bb9688f2bf83b08e07bb2cc899007893c4f986d30de453fd828bde03ec7f39ce2d8d6e995716de6c041b86b637209b3838113e814a8540005ebf020903366decbe506e7b2e019c627eda9bc23c633db2aa3d709089802917a4b798ce79032d177184d0420be7a8aaa66a57b4cfb80dd133869687ea94e27f9da2973cd0f4030668909791e3f7eb276a3ef7534d0d88c863164516baf320a677481b5e9947cb03457044ad9e90bf2b5b95f468b71f4029ddb9cf53af96dce4160d9c5c840c2fed037a36523de33a0bf2d380719afb4ae001374e159c5316d1244e940878204c581e03a120a94d2ed34c300d63017f8d42765de389459c51b5c7806dcef816a6cea1d2033edb845f9ec59d2a99d5372c9ce7746675d7492641c3709d63b7a9a3e3a1732d03207c48774bd02158a8a2402b6f143a9a8c633bc7893038d71c4ac4c37685646e031636d1fac37da0ca5f4265c6c1094491a9af0dda5c315d03f158fc46a483dba803e31b4c19fcc4fcb854b8e624b318ad21b022c57c58e30f80f27bcd9fe4e6164903950522557eb40bafbd082f0f5cc4be3bcdcb7f80c14eee43afd2bcd01f8d51370306344fc5ae8c6063578d0b997b0caebc50abb303fc195a9875c55a5d3e7566b40311a2f9312c3308640a0d6ceeae218747290f23806067456da1d444c65abae43703b3097a108bfce79af6699da4ae3003cd4929f0b4576aad655c31cb725bde84c7030975b2742460058745a4ee9f17d4c2cd50047b9831702204293a4648ea4e21d3030a7a0118e00981ab321049c9d340cd52c3a4781037540f7c48d0fdc27e899b32038537f2e248702a6ae2a57e9110a5740f5772c876389739ac90debd6a0692713e05581e03414b080fc727873288304fcbf831f5a62596fd36ec4ad76e1faf6163d0040305581e03b6535a3302779485a0479d8b1e380a306a541a1b5574e114de1f9a9d900401031e2a1ed3d1572b872bbf09ee44d2ed737da31f01de3c0f4b4e1f0467400664610364231d115790a3129ba68c7e94cb10bfb2b1fc3872f7738439b92510b06551be05581e031457658c1b1ea115fc593103711e849fee8e06131ecb6c1b2756559bf008480e648f084c05900004592b43606060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461019b5780630753c30c14610229578063095ea7b3146102625780630e136b19146102a45780630ecb93c0146102d157806318160ddd1461030a57806323b872dd1461033357806326976e3f1461039457806327e235e3146103e9578063313ce56714610436578063353907141461045f5780633eaaf86b146104885780633f4ba83a146104b157806359bf1abe146104c65780635c658165146105175780635c975abb1461058357806370a08231146105b05780638456cb59146105fd578063893d20e8146106125780638da5cb5b1461066757806395d89b41146106bc578063a9059cbb1461074a578063c0324c771461078c578063cc872b66146107b8578063db006a75146107db578063dd62ed3e146107fe578063dd644f721461086a578063e47d606014610893578063e4997dc5146108e4578063e5b5019a1461091d578063f2fde38b14610946578063f3bdc2281461097f575b600080fd5b34156101a657600080fd5b6101ae6109b8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023457600080fd5b610260600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a56565b005b341561026d57600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b73565b005b34156102af57600080fd5b6102b7610cc1565b604051808215151515815260200191505060405180910390f35b34156102dc57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cd4565b005b341561031557600080fd5b61031d610ded565b6040518082815260200191505060405180910390f35b341561033e57600080fd5b610392600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebd565b005b341561039f57600080fd5b6103a761109d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103f457600080fd5b610420600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c3565b6040518082815260200191505060405180910390f35b341561044157600080fd5b6104496110db565b6040518082815260200191505060405180910390f35b341561046a57600080fd5b6104726110e1565b6040518082815260200191505060405180910390f35b341561049357600080fd5b61049b6110e7565b6040518082815260200191505060405180910390f35b34156104bc57600080fd5b6104c46110ed565b005b34156104d157600080fd5b6104fd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111ab565b604051808215151515815260200191505060405180910390f35b341561052257600080fd5b61056d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611201565b6040518082815260200191505060405180910390f35b341561058e57600080fd5b610596611226565b604051808215151515815260200191505060405180910390f35b34156105bb57600080fd5b6105e7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611239565b6040518082815260200191505060405180910390f35b341561060857600080fd5b610610611348565b005b341561061d57600080fd5b610625611408565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067257600080fd5b61067a611431565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106c757600080fd5b6106cf611456565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561070f5780820151818401526020810190506106f4565b50505050905090810190601f16801561073c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561075557600080fd5b61078a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114f4565b005b341561079757600080fd5b6107b6600480803590602001909190803590602001909190505061169e565b005b34156107c357600080fd5b6107d96004808035906020019091905050611783565b005b34156107e657600080fd5b6107fc600480803590602001909190505061197a565b005b341561080957600080fd5b610854600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b0d565b6040518082815260200191505060405180910390f35b341561087557600080fd5b61087d611c52565b6040518082815260200191505060405180910390f35b341561089e57600080fd5b6108ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c58565b604051808215151515815260200191505060405180910390f35b34156108ef57600080fd5b61091b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c78565b005b341561092857600080fd5b610930611d91565b6040518082815260200191505060405180910390f35b341561095157600080fd5b61097d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611db5565b005b341561098a57600080fd5b6109b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e8a565b005b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a4e5780601f10610a2357610100808354040283529160200191610a4e565b820191906000526020600020905b815481529060010190602001808311610a3157829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ab157600080fd5b6001600a60146101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b604060048101600036905010151515610b8b57600080fd5b600a60149054906101000a900460ff1615610cb157600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1515610c9857600080fd5b6102c65a03f11515610ca957600080fd5b505050610cbc565b610cbb838361200e565b5b505050565b600a60149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d2f57600080fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600a60149054906101000a900460ff1615610eb457600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e9257600080fd5b6102c65a03f11515610ea357600080fd5b505050604051805190509050610eba565b60015490505b90565b600060149054906101000a900460ff16151515610ed957600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f3257600080fd5b600a60149054906101000a900460ff161561108c57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b151561107357600080fd5b6102c65a03f1151561108457600080fd5b505050611098565b6110978383836121ab565b5b505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090505481565b60095481565b60045481565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114857600080fd5b600060149054906101000a900460ff16151561116357600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600060149054906101000a900460ff1681565b6000600a60149054906101000a900460ff161561133757600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561131557600080fd5b6102c65a03f1151561132657600080fd5b505050604051805190509050611343565b61134082612652565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a357600080fd5b600060149054906101000a900460ff161515156113bf57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114ec5780601f106114c1576101008083540402835291602001916114ec565b820191906000526020600020905b8154815290600101906020018083116114cf57829003601f168201915b505050505081565b600060149054906101000a900460ff1615151561151057600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561156957600080fd5b600a60149054906101000a900460ff161561168f57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3384846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b151561167657600080fd5b6102c65a03f1151561168757600080fd5b50505061169a565b611699828261269b565b5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116f957600080fd5b60148210151561170857600080fd5b60328110151561171757600080fd5b81600381905550611736600954600a0a82612a0390919063ffffffff16565b6004819055507fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e600354600454604051808381526020018281526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117de57600080fd5b60015481600154011115156117f257600080fd5b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156118c257600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806001600082825401925050819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d557600080fd5b80600154101515156119e657600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611a5557600080fd5b8060016000828254039250508190555080600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44816040518082815260200191505060405180910390a150565b6000600a60149054906101000a900460ff1615611c3f57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1515611c1d57600080fd5b6102c65a03f11515611c2e57600080fd5b505050604051805190509050611c4c565b611c498383612a3e565b90505b92915050565b60035481565b60066020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cd357600080fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e1057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611e8757806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ee757600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f3f57600080fd5b611f4882611239565b90506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001600082825403925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b60406004810160003690501015151561202657600080fd5b600082141580156120b457506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1515156120c057600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3505050565b60008060006060600481016000369050101515156121c857600080fd5b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935061227061271061226260035488612a0390919063ffffffff16565b612ac590919063ffffffff16565b92506004548311156122825760045492505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84101561233e576122bd8585612ae090919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6123518386612ae090919063ffffffff16565b91506123a585600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae090919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061243a82600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008311156125e4576124f983600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806040600481016000369050101515156126b657600080fd5b6126df6127106126d160035487612a0390919063ffffffff16565b612ac590919063ffffffff16565b92506004548311156126f15760045492505b6127048385612ae090919063ffffffff16565b915061275884600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae090919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ed82600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000831115612997576128ac83600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b6000806000841415612a185760009150612a37565b8284029050828482811515612a2957fe5b04141515612a3357fe5b8091505b5092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808284811515612ad357fe5b0490508091505092915050565b6000828211151515612aee57fe5b818303905092915050565b6000808284019050838110151515612b0d57fe5b80915050929150505600a165627a7a72305820645ee12d73db47fd78ba77fa1f824c3c8f9184061b3b10386beb4dc9236abb28002903060c489c3f08828ee9227ceb5a3d3e6f4b6d9883a6ba8ee5b88b5b4c59f28dc10328c189632856ae40dcfeaa560f9448f1ce9814781d38652ba1c44b9ae6d79f8303a7547a90c61f23de92f9411cd053f77518b6403b95725896241b0fb8d4ca05a403fafeb5d5d1bf6e53283f661ae73d8f330187dfbe650b3e9c26650cedea8b982a0364d5ecb4e2ab231ace3183eb42b4b71a1619c4d4998701bd621fa74705f00ebe03db34f6b75590014afa9c501257e54322d50d6972106ae33b4f1681890a61f03f03b10e1844f635a49c341ae3faccc83fd900059ec788dc37e55fc71ad51536e42a03341196a560b07842a1a15126e79f29ce10fcead498a617d8a2afd44cbec35281031b9c7152871115d210db4edb3a16cfd0cd8abd511377ac683470c72c9936faec0344c0dfb831369dc2647048b4b9d51678a95a25e28cc86a45cf83c7d0a3699eef03ad62a7120444955db5228334caaa1d8801eb65586fa8d0368ab5c4fefe42ae4203523c06274aadbb7662da0d50ab371b797d74600d83a3bf5f5c58675c84f5ee8603156ff5ee580f467bf5b618463923caab7a7e2fbdf2011bca66daf9c2ccc371fd034abd58a8c0565a392baf26378ed4062d77a630e542eb0f8cf92a983c949aa75d03107af289e4de31d11ed428d726bd0ea37297722e0b5f7abc67dddd4639bf105903fb5feabbf6269a3155ef7540b1775de8e469f2b5c0f8f3cf2479a87c0894e6d3034071b868346e708739eba12e86d01464b5e38ca03c36d3c8e8bdaa9c8186b6df03cf1f44c571b7456492fc61d6db5b609bdfc12240ece6247bb3136bd70ec8b6c6035b50b916dc17b8fb0813ce015311d62c7702ad33032f83676c3c4ce40897ba940375cc10ff2be0d28fee8472f94a76f213915ca8f990caf7fae24395cdbf34935303a3e8380d74c5fc06da72bf8c341f9b7ed5a33a682bdf69151ff2927214af5ac803a7bc9242ee0b0acaf988076af80f876ef489229e29ffe7a0b36424ada0f4774f03bce2d65fec7a5df263241178b19fabbd531f28a31151e7ab2b151fe6e6cd9494037318a45931236e2337ef8de152bf411456ba827bd169754087f4cf2958caff7f0366bfdbcbb62601ea94d1907d3307dfa4aa43f63fa9c9076908f08df117c4629c03711b726ab5b2951c6b42983654e29d77a2409606d8ec5d680b9fa4c9a92150fe03792eccabcdf261707c2d67e024dcafdf90c2a559e6717fe60bda3862d9e7e836037d1382099deb4d23b58191e60ce5f246466fd3e7f91d3c7c773f164cb1eb380803e068ec0e6ab32429f0e9da1be45b85d0a115457f38ef415072adf4aa67e1685e03073b63698a67206dbf1539b922c1ee1788684c62b46fedc564c9ada8b95d7d7e00581e024d2c95525d3afb9a120888e53824a36befdd143a62d2f5948373179b9a581a031535a1146e4a4ba3f4b13555cd59267ca577ff76c214a3b82500581e0222d6f2cfa8b33f404048a77f8b6d0198586ba686c4ddc85f06881bf6c04306080100581e02a79888b463b9d423890b86e43258c9b847c7e53dab33a94cde45009f4e4404bf6d2000581d021a69dd17245dd09311f41cb86bc2b88c63439c5e767d561d1c6040d24537cdfd228000581d02040bf13080f9b4a8a113a29fcc2357f865113f7af454d7ca8970408c431dd3080219400101410300581e020c542fb2c77f01e15c803258272fcedf6d4a8e72c076d9c368bd817bd75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02682aa7aa73e8b62d303e63542d30863ef7f96fe07ff581fb5e57a4690b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ab54c8d372b29cb45b6d50b962e3693faa3f43b4507ecb9e61c099ede844051a005403c4bc23337693882b33add4122120399dce2eaa949ced4488558ea1e136fc465e0219fc0b0384522fb5ebce89429ac1765a60077829da9d02b4d395288d6c50b4f5669d27d8035bb35037df7f06215f200ca74f9edfff8ccbea789f12fe97731f057047fe3431034163f805988e06289437c67f5dd8fd497e1f66dcf9b8c6603389f86c1f55fd7f034495aa8b2c10c6d370db323e8380c398973227c8b525fbbb6bacbbd82e11ab2f035ec1946bd41bc930df0b7a57f91bc79e89df5769e3b06c5f35f2b297c3600bdc03bcf9f4bad561ff0f9dfab763f8ac6eaf6582c0b0450cf1615bd45704710164e9037fcbdc07c1b87e72cf0ed7ab66ec94c3f50924fef26ee4f7054be7b5355993df03729e3ee7c0088290c4aa7ff4dff7653afd67a0cff9876375ee28224fb76a9b0303c30a0c8a20fe4bc432d4a5602c092be26557740fe629036fa8fd239974cb89de031e918a123787748a11dadf0fbf22be9f574ea33e10b17c2d9f8bc488ce3993670343c7be1f3970d5f9fd3aeac63662dd17861db1a02a3d01a69872f7d85d6c5b4403e1f972a03d77670997598e0eeeadfc990e1a4109b28140aaaadab61d9cd6050e03c923a7c6afab19fcd1d3df02263454af8ed939efa3a7ba4a9915adb40e8a4a3a0219ffff0313f6e7c096b69c1e0374ef96c897cdf22245dc7bd0fd9673d476380271d324c303b1003e14266a5c5f8420963592d0e085e2ab50dcdf742030dd406e4e45431104036b74887daf1fd845b401e5af6f9085b72074727ef3903da1743f50679ac80aa603b6f65540fdbd5097bb52fd930b2198e211857295a5f3215c13dc75d3ed0ac0060219ffff03f2d1673b45a9d05c379b9ac7b517b9ab36b3d0ad5eed98226bdeacf978b642a803d24c9863c9f51d8211076df3ccf025a5ded450490b18ee266798d58a3da516e80219ffff0357463f1dc73e083c211c9b1a21b2ab8a7f3d6a6e9a923fc08f69b5a1390bc73f03c4df844833f07b97c1e4245c8e80cb5871be413e7a39b61dd527db9de8481e91033958cfde5b9d398c46e83ab6fe3d88b795714fa7662624cc24dd5b4aca0f1e2d03aea7edb5b978921cf61fa9a9295615664b1987a9328e389ffaf8e3d8de796fed03daca145309f5c4b3d4d841476e5d09765512cebd7b4ea7cb4cd84641f20a63b003e3e31da2c85b91d2eb50331915f2d4143b4c27c7022d611b2c2b65b727ec2b780303ce28f1a8cf12c8611d93150926bbf843ee1ed2ee0299e8ef6fdbb9d7ac459f0308af3c925b826b1394a762bec5148e1344779c6e9b3adbedbae5f26f7fc83055039b2710146a72d4f0128884f297ec5bab0ad9f87e91261b59d15014c7dfdc7f5d03137ca42a00baa58b97efe6fc754192443d243cf61af2c062d73136308240daf303f6d8a224ae3685c86e43d9064365dffc21a0b5efde22ca80a74e8f1c4017c5f503970301ea309579f236cdd0cc8c9ed64c00c15b11675babbe42d2dbd1ec465542034443f70354f40252be496ca452d91aea369767c820a01f0d2ca280f4c60a29a0039de92c7d64de0749b61ae633dac9b04cb4f8327ec8f66f35766ea6785aca9f29038d2e19651e278b6a0fe11361ede534c80a4d9a5da85e7e51c393ddc58f44f2560342f48f0f87085e5bd3a070e85b316b836f9c8b6520e52bf9955886f8bb3ab9f703a45962640373bc2ac22db73fdcbb501b8cb5cfbb4e4caf277eecbfe36932ceb403222e3f9e4a92b1552f1a0e93da03195d762ccc8f38be53f02f6a8680911da698035248f30b50124e96693ac82f2c8afc2791592cb59fee35308dda8a641a3495cf03de857382ca41d3d5089855d68d2b3fa4945e67f193f035126a852cc3c98b48ac036e44216e3617fb1def4419ff424d33412ad1653f52360983e7edd6bf45fe99d1014105035ceaf091ca51ba3624ce4c6b1173332ce5908bdab5a0dc62685e81ec5e4f0d7900581e02d7affc791b6ad24a91cb17af3036072499664e562493cb6231287fc71e4405f5e10000581e02b1251b8a46d3442342ded77ec2f40c5335af295867bd5d30a27cd7eae35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020d806214213b29104f1430f6e32c55f1d6b07a295d06c5fd2933f80e445820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bd6a0edb5ac99589ab37eeabfe1f2536d9c445db16303db6e13d96ac435820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219072a03833b1593039d510ac444314d05e85780e9920b51fc7a05aaca1361816b68840603b3d2ea377397bd4c938ba0650875fdec8f0c047510f16397f7b0e0b0d3061ca203e057423f75479ee24b09faab011125ea6dc9d83a7247f6f73563804663ae6f0103a1e2de2c8cb92bf24748849786c01914fc59f0f543e80a31961d4d0984c8417503be44d5932e5da5a9e58d0c2f6350a0a66458cf5a344cfa6408d69f6a0295f1830316a6e5e38973df152393ad55639f081ee1e0bb6594846cc0321fa17b018b0566034b1a856b79173c8b367fdf4f06373fe235531273b905f4c0c7a0d045d8afbc2a0368f5c634376502920f684433b090cb0e2d9599bf11e61a220b5047b07e8ab2c30385f8440cff9cbf522760be6988af575ce08c928974b004a313c42ca8f868ae6603f316721d387aa381f1e4a2522b7671679c1bc1a8b066506ae69289c7e02a4b4003e539cd11e31495991581b05b1dc63b0cce2c78a466960f6ca40e6a09c3e614f503f077cd506c0ec0a13113172c1b412af42ba66f6e17b3ee56e11fb97ae33ad66c0323f8bb32d3ef4eb24ec4add3e201163399fce872af1e69759e4f34a10884eedd037538380b9d3c41d5f9d5a31c217642bd173c3ee9da30339770d1795dde73055b0219ffff03a878755992cbd15a2b8fedea95fe5131d3d99778c22cbfdf972121c8406a2b3c038041ac6648e92e6a2521095cb24e8e3cace618cd0a90d03c71a1328d15caa287031d0a730b97d70bcd5e602cf2a6006548b5d69c0de8afd4c48240b4d9b77d212b0332aca8466b700d65c947c4cc9f29937a7dfddd8009cf519d5170832713b1b4fa032895c362c9d6f1b86af8c21db852875cd5c67594db1fedf6d95ea25edaec8d670219ffff0360c5fc89ffd46f91d7b4319f3f6794740cf5804a947d3cc3de67e6ea9a1a0f8f03a60fb50d27f87b9b2f59bfc85e268c7a5300579044579024b476ba6b02e3cdd503678fbfb02ea5d61456012859c596bb68d1f38fe1ec1e563d5efb5a2104d97dc903e846309188a92889344293faf70dd61f417b075dd5fa2638653926e76a59c1a00349ffcf49eb11bc2723de73800b32004cfd41a9b6ca9f8899cadcde5626a101130347306f2a7bdfffd384e52552da3910aacb2ec98b395d1eed6c10c59c0f2e201a034d3e7886f36aa5485333181ff42cfa82033ae1d03305acd57e2a8a7695baaa4e03ae8314c3911a7b60e72e29e6fd06b07a974e5bb0b0a92c0d42d2ae19cb45373d03f2de626f7e33120df895dafc06dd743380f20aa5b9e3fde098b7208c3e281a9a03c58a6e70daff6f018f35a0b32675a76f45ebefa86be193a218de185b0174cc180322168e00653558c601db53326389baa9bddb952709f37a9718b3177ee01eadf80219ffff0356c65aa0dd2cdb66925ae6c1ea1834c772ce5dfe04a92796cb39b30cf0ad6da0030269b9f590ef551ced148130ded31aa8cb98f0525c0b0a6d3d8c01af0d44320e03e4048fc6297c68391b88317b2a2cd6ace7f3402e7c91d4afeb74beb4bcfd62eb0315d077eb0674b157e54c71cb8812fc258123d09e28d3150895579fd8767113d20392dbc957678eb78944e8387b035c7464d03909f8a3917a6060c3f312f53befa90323cf7fb17e4f04a3f1b43806862baf8dd2109006111959db2c4acf933a67c55f03b51dfd3b4f8c1c7a73431e45591afafe0aa0931e430cfcf41e4e376cfb5ad64c0342451c93ac7c78501ef1f6f443f6b06264950efb39f2ce941451e40c13b9437503a7eb571eede0787a139863750a34dcb378ae925120bda112b2093e7c8110116603ea9846413164ca8b64bcc3d3d8804ec1cfb218b6dbdedcce7c1c0225c0c737ca03b84da3984e629e82f7356c2607dcf9ac8676c1978924e92d46c7f5c7c993a9b403abe3a34473cd07b72a22e56d7a3501dd090b4ed1d0c9a5f4e831e68fad54130803fdbfb7179166569d00adafdae41bc5589744b6071fd6e039a42aeadb3d4cce9703959eb6575f8fca1b9edd4ed58a67ec2a7b2195ff0de03386245151ad6a68fb8903d4974d3a3581dcbcf71fda1444116010d87f4ab038f77ec627b01e6762d1334d03bc8d8c2d98ca8d0997b7cbbc72c2452fa21530fd39f258323ad34321a89209ab039437e1ccb291b1e8ddb02098c7e87cf5a81e589cfca0a197b5223604f6e34806033404978b8671c29ea25686bd0a7102d2e623a574cbc4be26e5afd23f2e1df50303527f0007a808e83f0bf16b09069336ae671601798c735b983bc0f307d784c7c803fa178243647b761d9e8feef118dcb7bff8a88a72f03559a227955b7495583a01032cafe76dfbbb7e2ee35b893ded1a0c655616385c14573a267e77249a7ebc18fd03bed163d9d05e916135b623906d276a3c5126c31891f3cf23b46f778fd0ab8edb03b5201a13f1f7142aa0ab27370d53e6bb0aa437a3065cd5a1a76a4f600761afac036e3adf1004ee3f6f1a8642d5c8efc7c0bad468877a2e0402de9eeee9b57d637c03dc83be6bbd76956b16eb1137b63a0e57195abcc55d26ad0b8d502b7d674727a103502487738960dadde9797fe4ded0cbd179c52cc7dfd5ccf444d556cbaa5afe5f03ffdb73c348a5df01f2966bebb64b2594f234e911c272243f8bbd106e7237b7d3039dd2cd3240871edadc4b19167543118e339c4cc047b87513592d638c068c75ec03cc5dbdc95ca9a5d9b0884ac5a4fa4c25f4146657f019d23b0bb5f4b26e42cbb803edee9a5b7b4989dc438d2a917a2180eb430102e8902f04867e33aeae8904807e031929cb4199ac467fdb62204f06639ffbc513fc6b70497f6b37128d6a97320334030912acc7542b2012205a8ecf3d19232ca7963827283e0bb9cf44b77155bf0a78035f7127b85def0f341b29d3a34cc60e59979f61f568794acf1736d1587daf6f2800581e02bead32bac6aac30cc70de3cdcfb7276eaad80a99fb5aafb77ee51e4d39410200581e02b290fc8460ae110f66c400d767bfa2d84ec00d84af74c3ca2748a2c1c744019477ce0340d4237167dd5cf3840ccfb3fd3812ed38ac522890659bcbbe41a8bf0b65389b00581e026fc824d79a22162d35f9bfc505f258ead47627966d78a1df9603b0aab1430186a000581e0385291a559c0607756245d0d08e1eeaa32478b5fc9cd2f2166316d13dd04405f6491400581e03bc2af873f147c05a1ff49973adf3f0e87cf4d38a50593368e561c272e047018c71efc7510400581e031bc4ee00980dc80f4688af3e3738c2fbf169823ac729040be1438cf0005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192900033bb6ca87db3423d5a00ca3eafbcc7a96128175e5cc9361641da8e91a447e4d3300581e025ba710af76d2238862ac35a9f97e40117559ff503cf8f8407d5cfe986241c802191a870366dbd77be22511bb8b0594a952cce31f474bd62e1aa8a28f1800c776a8d0a194035b9bd8c622a04a064ef6cd827efef85ecb2e62104eca06caf556e6d8836847f503ad58cd9fcaa1309c09dcf13f500e4fefb746ba589fbad7d37359b95aa2bfb10a03165ce4cbf7d70041f487adbf538d1914a111bfd4ff5f3372bc0cbff87879a62c031fd065cdd9aa16d0e3daddb4c36aa245df60c655596e7491e8d174b7b20ccf7003fc096f13fe64c617aab3c175b02d1f3723b446f8342f1111e233ef478c640beb03654c5e67edee3d81a1a4268f210e7a186304c4b1925f487370e33d326c5064b0037ff046ee4b972abf89532526844b2a17cad8c7e4e0702c9bb925394d58b84175038be3a380f6453e6ae8ad0726a7d6fe1d97aadf8f88eccc455f4d4b917ed0753a0399916080edae7de5ac168cd0d2468a5939a48829377b241f6bfaa435be2f6e5c030ed8df2d88bb7b7c6f23b8f8abd32464368f392dde0df8a5f2fbf70e9889228f0317120da53403991bc70d51f39b8d95482d7c7fd6085de7774431d2774593e9120219ffff03ef6c92e8795db22dc07f5cf750131af8429236508a3f41e7da125512b1090974032d1a453242629d54208dbe7147ae6fe3c97db01af7e1588d2f492ab30ce70ab40219ffff0219ffff030f343dd1ac0eb8cdbadba24b3cdc6b8557107eb47af368ef97d0ce990c55c9cc03da553332ccf78e2d9cd1291a6e4b146c4e8558d37c293ee0abc318b5f46271da039cb8a4cdf123668dab6821d71687a290c14aaaf0077baed37db28cae42935c18038c160c3310514785a9de8358737fedda2067e21d2ec4d7751ea4fa22b3cef59b035111e1bc58bc16d82a0ac8003bb5b2bcd3c966d00208f28ea6d092b097a0a28c03595482a422baaeceb1f470234c7f2bcb9c24c5117bdf09d2a5338be32b45347900581e02e4519778a3bc9c4dcedc627652526843a8c654a336aca7a868b275483e415c00581e022fda439b64abb015992a02281c5328cbb82f15f595eb15b5c50a12bf5f410100581e02ccd2960408b5205810dcd862d2c7b7f7c05ce2bb66d6dcda86827388fc434a1558035d3b877bf4880b7701219f78ba72c0a0f2c6864ef85c7b29564e273935bd7c4700581e027ac5b30a50c1d39c7c3046cf9a064f42eb1393599254845a3f474e074d445c4dc2c000581e02f4f1b37c943ede727c07056570f2ee66744b3bf411e138aacf6569ed325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027e747d2bf500dc7a3a7dd5b1698926fb1aebbb9381f0b93aef72b0ccdb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a0dcb8f98f7c975bae239cbbba0123d6f0faf2dfe553a42c8a145b1af0ab578f00581e02bfbbadf477d9f5b56c58cbc418876c49a035b97a04c624125d708ee7ca41f90219b2c7031f3c65d0dd4295e663c9aa5ca7157593a08dc7d71647bebaf6c6880ec8145cd803b64844dda2b2a5ff82b449e06ba67f390cb9f7a91c2ffcb566684c84a2b4b0e003d464016cf3fdfe7a17666baca6f42fda938018252fcc86095d875ce144e2ce1003aae88983ef20fe9ee0174d57e076962d9e36a0cf15477cfe1e7335b5a003221003286d3dde0e07a7b97fc9d8e2a3b85d08be1991a2db37230fc6b6f09cf018c2fd03ea4acf518db00ab8ea683016c8f9fa407822ce2ce4be9afb0e285136b73eb4e803c77267f6ab9aa0acf59d1f011cd9484f7a71752df05383621238f8a29985f8c10399a9967c19e9baa49b7f9f09e8eadc17b0c869ed4c5a65658e9f771099fd268603aace0ad7a1e7bfd5d6c948fcee00fce45d63514d9cbe815891c158f6da74011d03b191b7985f4151953b116e4668a1373aad874a2fc17f3cbe5b8d55cd3b07ac7c03b4d7b8166a7842549696e17c6aac560d03277e668b3d94d7f86fb16db5cd654e0363f7c9ec17f90ee4219d783ac9f3e94dedb1cbc4420803ecded236203d8e3dad033f1a05603999623d7f1ab76b4c45603aa687cdf5d0e7afeb227bb930330bec6703c44bc91ab6f04ca7a72819494559c69e18a613e6b4e894104d859500b47c816d0219ffff03626d3071e734feee63a872e1d317bd67aa4c7262eb8d8c701578bf76209c933403273b04d36c0e6975a3ce80dcbf60c361ba8e493d10170f24bd634dd48a184e78031013cfa0ab76aae7aeee36785d3d77995cc6a6cb081b9c8db566bac9d59e3e0603cf75d452f95b647ce1eeef69007e477b3599c2bc56d2ae86ba5e4aeaff8dbd2e03ee107e73085378c3a28082ffab7aa1da5cfe8a56be8931de3b52b4d4c99bc898032cf29cc57ef1bcac76c9d97b115e509dc5e3b89ca89acccf5ddfc0d2ecbd203203cc4d05f76b65ec17a4f06da904167769762870eee617c7126c8ae7bfa5b63abe0332c9e058cfe65bdf2fc0a82626645b8b1f89b66c899e4cf588be7f18e4fb6c8c0362887d2665a6ce8732d0c89a725c99ee1322b491a09fd62a6f5adf04eb1b414f037c23b38da19eb99fea0db6d6cddb5cf362312074dc6d2a72140419baa7874d020219ffff03e8aa020b1084d75e9e3b03c29e4e1c87cf1deb5e1e31c7e82184fefe5709c9ff033fa865d9dc106360cb19e0def4384b83708cb704a2c70028791049031270ff6c031870d5c6fbd2e89d45ba97d0787f56348741666de94d3755c034c87d6cb6f55d038ade4f0497d3543bf2181e5106a27a9a0a2e28e5e8f42167ea1b673fab1e3d7b03f3c4ed4631938e729fd7f21a48bd9df8e21db734a9abf3c82e3248fdc62ae1da037aced9b97d3a51f7f373002c2e950ebc2ed7d40483bda521c08b021b1575599103c46e0a4f864b9ac6716332b3dfcf94d6bdda0baf47f37681cd2c0a766774803f03da61075afe27ed84c8386db065b2c02cba59b33656a7c3ac2be45c2ab1fc8f6b032b042a14c748b2515ac86ac652a47452ef1e7da03d2439f2ad9821b349626bb003b0522a445494229563f8433c1df218cb05815264250cf4cbb9bf0595e7260b8d0334d5d88a60b446f9fbe8e51280ea6c4c8cedbd7a9f0f312200aa0244048dabf903eb94211209b012d1066a7a3367112648004ee008914c80d1bad85b6e3d9bd92a03ffccabaf9db65b66257fd83de19cc75eeb700871baf4763d24ded8e8882052550385acaecd88348b8f2557d23328e922ee6a4ed43144d149a1d4aa1cbd6371074f03a76d28e5720dc0b34e75fd338427741f171675ed30b8ab68516e126b2673bc830219ffff0394c494dcfe0f14abc85740971e133e4067695de9e429e4783c0a989e3f19c89503c974811f35a990b9c84d5965883547079c07e72345906213efe87a5311e1ed880379b058f264773fb233da6be1bedc60f3827a175f513c03119cecc9ed7e50c2b203e3e8f78584b384495655f3893021b56fb1544aa5b6c27e2e68d8ab916c5aa7cd03ca4ea6100f3432d1aba9c8f0dd649b499a5d863366214b57a33f67ef9d98c72e0396ff1265ef7e2906c933a1721fbd8417220ffa31fcac682ddc9649378f7576a80363753273f78a5a0790b2189a425b1a150bd195b05dc5376d8124d2502731f480036149e1106c19c225d75dbd5acaa77a9bfbe80985311e42c524acaca687835aac032bce7932dd0b21bf61d4c547a6248541a88b04a6202fef3727b3f2d5c3fee458038c43a81c96d83ee49adebecc625b35d83c1fecbfb08aea6764e424458186fd1203323be3673a8124301da72d4ace98374d6db9537f05260266c8140340d1d5c0250365dfc1e407a59fb0dd66a953049bae14351cadeb9cbe0cdb0a67c9f748b4d37003845829cd71fd1cb6a56e543fa3f820acd751c361233d2939185e7a3d92a2890903b9cc98843b2361c55ca9d9ef1f21ac444a5fa26f0bf71d7a648f1d3c51fc41ea0350128e91aec76c8e272a592e925ce8eec1bf1f9201a79a09e5f637a12c9f5c87036febe056f4cd81b5a96ff514b129e410d12a245c2863c5875183655b01db1728030269e6699bc573f080a79128b45635ec00d2e2472bccca6f659a4e588df712550333a3c8a81a1868631ea0727bf571f42f86c4861e6de1b4c11108af416ea5ff4e0342f68afc082ca27ffb35f03956ced23d7097459b8906718d57e560e88a2ae6110311cb31fc48c9f10c48dd7e3765c878d45a717df2aa131c7b09e69133147633c5035c5dff1d2ef7aa7c84bc56d3bd379fdb8a4a471f015d271eaeece9c1cf0a27bc03c6a5ebe13eea9adbedfe2dd762f0d40563340dedad6da7d632a07c719239711c0345caba9744410f83d7da5d4b62eddda768109edb5f4b0aef4c95f3ae31b0336c00581e02faf263671440bb23023e38675eed7b8098b02bc6e82b696f1e77fbaff85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024324c6888bee4258f8b47314e0dadd7504990c026317c51df28108d618430927c000581e0230dbc96fc0e89685442284ac8225997fbc880c24092130b11a1d9b5c495820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a992ba9867741a760496cd18ace99dd1bb5e0b0bc5c47dcc66f32514024332fc8500581e02f027e7dcabe2ff36c001b3fd4594fc3dc774ceb02bc4a2e14d515d6d9e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035d625440623d43098cbe55856ce6ef5f32f9b2dff7a938bda7462cdb890a60b700581e0258aab785507ec589a18d14b8ccfc60ae531b8a8a9d93b16d2485dfb7084405f5e10002196f0a0219ffff03b61a657e13ac84f8ca1548d7179f3226dae26ba76013c5469e075a927d74313203b812598e08ffe75b46fd00cf8b9bbfe779c9ae377309afb57444972e6599cc4703a4abd9cb2da5d5eb1ff0518a947a9f3359abeddcda421655fdf1bb3fd6bade4f0323d803d86be6114c9a56be1e265b8d736fe704fcb28c9e3b023261358c100ca303789e8ffa035c84d6a3730196d8b11293c56b61577150ab7e5338d9620f76e87c03a502cd84dafc898bfda2a573138587e6111638645c01e821c98a735c005c7ca2039f9bfb329836f93945f9680c2c78a730a62698d1f83cf4cabea6c349b25d4738038e27b7adb6836c2edd963f5aa13fddb91f309e8f82ba9b900b7371ee03b7a5700341968ba7934a2ad3d18dec2add64358b7977974e2e4dffc0fa406463dd1425c0033761172102e9ea68d0ec338fd48b7b757ffb9ed2835be83774dbd58fe04a8944030abc664a5c9705171c5965397f8c4dcac13635abdbcb1d94fb7fea636b4c91600219ffff033ffafe7c8987bb545728c90509fd6af389fb8e7ca19b0c30a18937daa694d5bd0382c6c187a3b50f1da49279d8e88047bfa653f14573498da01a8139f5a679f98103bf33eb061ea82ff7f7732099a832864905fd4615fc39c540b2def82d59110b68033cc59f1daae10cf3f1f800e82c38d7c4e764fa47b5cff9dd4d2c18026fdbb53203536c316f65a931678d5d38e5947457b5a72587f188db5926f5678430a013093e039daa4c53ed4d613f838e1ec065aeaf8bdc3c36b6890d7ee9dea7f91bd04ee6f2033839ba97d2a185c42b898e06b9c40bb95b0a1418f59fe57fbea0d02347442d3503f0a7c85e2c427059858112222dd67304f3c468223c05d094ef055349bd5b8e590324f1e69b65ec9587ec0770255a37978f4784d8a6bd7684ec718ed7d00879b74903a7973552b1a5d96dad2a03209571d36cb277ca4b38e215000fbee5fa037d12cb03aab2cef19373d969bb3d749499fb641683417c51ebabea7a4c4fc549aad47c1a03d31d4cacb2978ef552d58076a3e0f16fcf6bddbe8cb68262007499a8413c5a5103151492ad5de09a13b254397c3aaac42b166e0e6129745f8dda8900fc90f132f3035f34733c15adc57a2a67c197b861317bfe982e40eea2ade2192fd227bf779c2a03160545a354d069f9ee9a9cc8349ad540c910205edbf1a3ef32b702435a61030c03c0c40aa81113e73acbd7bfa19bc523e1cc3531a34623b3fc04f176b29b9426e10340e453c6110c21919539918f8b9cf9b78ad18ac380e600132dbbc4d931ee3b9303a0ed25eafd3a64d73b3ebc001456d0130452d4de0835ca579d1a52c836790b48031f52ec63c935a082211014fe649e872765b54f86e150875b1e94bae3e0037d0f03740896fe231f9d78720adceb67f3a8219e153f565ed1584269e3a95926de4c14034a91d7b219b912c8b743c905078beaed927f22159ffa819dc60770a18bdf515a03e6797479e15d7802a01776e7b5afeb1d73f41a9c47fed917a16fcd45f84dfb4f039ae274223249fb7a739c9a4d35328e3d430ab7878b480dbda519a6ceaf2695ff031adf4fae1c68553db03332dd0c43092a1f2035dca93017a0f429fbc7b908128903e26d2b7b0d9fd2df0ab2afe339406ba58ee678ecd74879d53f44bcd5ae61e99103466b9bdea6139b993f5116e730e6ccf5f5245a5b3577eafd7b352c0b30aad76800581e02e8b74d96e71e8ec9e7cb2fb6009ca5aab80c37ae46bef55763cef157cd430c5c1000581e0211ba6e890b8360ca1ef779de58a1723a5324ec22be5fa51123e6da0c344402719c4003f655bfb54d88fbe3acce31b5fef44fd2eaac348737c8b63474645c65b4581f8b00581e025e62df1d9cdd867af259ed5d6e25b3b802006b5124f45c500e97964590440aba950000581e02ab83d5abc69b55ee0a4e994bf02587748d016804cbdee4f6e91f436f8e4402bde78000581e023566ac614f9b5c9fd888956205381ac14563b4e689c6714ee41c6c58f25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e62c24cb13078b551303b4b1e7f6fa4a185a1a3a4b43d159c1655cb2d5b7ea4100581e02bf361eaab99c8c6937979cc71ccbc02b3d8aceee655b9b40fa50767d745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026fcf9ab6dea7fa04ac8fe0d67921fbfdd56ad800323c5a32b258522acd430f424002199d0f035458443300597ff971fd9f1fa1b96d131469f7a6c90f0455d015a2f83dbc7877037b39db91e73bbccfb52f6128c66762c03662e8ab158b8a55f52460497ffd74010346a110894b961204e1ab1ca2af10d0a119f42646bfc31db5b9fdad877b156fc303f0ff54f7bedc80b5455d166721ea6e565b543f28c0170a17c493c344dd0c961e0387ec430bf15dad6e279136add826accb88d8bbfa94e710211a22a47413c39f5003e152e6c415a3a4030758b91741e060cb43775bd7449e0b6417599addb3b144ef03441f8dd4acdb3f0d89bad8c7f795ed2b20e9631cd396f9cd71ac1a665240d5f603a355bae630b65f8f65ca02b286d0182e6cf559e47a1b9f68df8ad25122f597be0378f1dcb6a327b695f467d6dab28073aa79ea1f2c597d0927850b95c77032c5f1038e3c3f009772e95788c0dedd1d585fa894318b784138539f479a75568521ea5c03743d82944a0876df122a60336af904cdba287e169442e2ac8fcb031f1c64e63a0219ffff037a77c5740d9889dfb0f463da0985480f1bc1621c3bd7f3e78e799b5a50985a7103d94be2fb0842ca7142c1748fa0445ff531226cfa4d627c4c89d62ee45699c8470219ffff035b9723c06c16f4d4e94558be9e4f7f6a10adff2d150a4cb98c5cea742589948d03bb32e4c23e08c69cb06f701a46621680a54050a9d157b773baa1b704d7d854500219ffff03a89d0955cbd811a9e9fc9d8bf104b2c5a9d489ed071af03de070c1060a0c05be0219ffff0368306bd1b15dde6867f6b87d57f81b1e86a7a61bac8291be34bbf59c8749269d03d776b7d728ed2a6c591c0a34f5de313238c5fe3d4940081e21b230cb1b9d788703e4200029e466cec76a0273f578303476f8a8fb0732a21424daca862f4c1222c003889c27bf86ee734561a51294110a7102f17d5cde72de3e1b8e2dd690ee9ea42303bd217a059c587c24e1dab362f49d03f94cb35cd1c14f21cdd66d87737c014f6a036841806814401c1f06bbee918c14973b6526c09f2bf4966bf9cdbad80af3a8d703ee44868f332a9b79f9746c8fd53fba84ae14a83c054ceed05f508153ff7c76d903e56ca3c2c00bf7b387931c0e062fe0533c010a63bacb5bccddd625ed94a024c00385b1722caec326f3aa0efe1fdf2e36efff8778f8598d57ff99e52d91b297a94603abd9b332e0589447f0f10b0ab6a44c5c671061f662215ed149ddda84452ada8d035f760734a7851c68bc4932dab4cfa54682aa2f67899e4ef9c835ac7901729109031900740d54d26e5b3a48f1e75c1ff5e4dd6f9c653bd410dbc582f36c425e123003b2d4602027bc7b990ba2f61df478fab9e0050c33df9a9e9d61a44e4c7ed72d210337395d0cf47cfcd437c41ec39f0a3c2a5a621ec07b4ab1c6a8672d4fba39aa4303bddb4815413a7aa28546a9eb54bd95930d5b3df0f32f9bffc92701c3616b1d0503449d96323b1aa33c2e219d32fd6d2270a29d42eee94dd70ecadefaa0782fb97f03919e4d03b7f08bb1a0dc8e7726db3a410afea0ce8b35ae45003fd09f94f5b5880382e008780ae222e3a41aa0ec55583b7b31068b9ab2e6842fe65db66b05b997aa03643326746a02e1772af5fd811969f042fb9780ef022750cdb50cf19012341919036ad6adcfe0892a29320d56289a5fb2f6400f1a9177d58ec30d7a307659e42c6e00581e0242bda55a82d4e80407713041d0227a6c38499f971b01a18f07a9f731f2432a730300581e029299d03f782e1274ac361bc0c5adcb8b006c48f3c32bb58f5aa2155bd1440620aae800581e0277cf7547b337805add03a0155e3dc6c80cf616b69f2ba54a2681d6e3485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02116abddd9fa092fa479be1f9c7dde8ec32137d0b4252ebde301b21d0315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0258932956875c62c8169167bb76341c89b27aa565ea4c865e727db864065820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022048d5803886acac58457552e5d37aaf4892d4492374d61f21979f57aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03e646cbfbcf0d4642f2647405ead1ecb0aa6f344d9f3981655a2ccb36c0450567d29b9c00581e036bd9e557128f907b9c5ec30ac8e34cf13ec7dd4d04e25181def19a37f04401aa8458021920800219045f03c9f3814bbbac7c780f17dec8a0c07be4ecacec06a0d72333e1bd333d36661eb603e8e93b9d3ca248027893824d885fa14d5011fa327cf8979d8419ef5068019f7403e7f212d855dd48370f9730be3b4afd3d3fdd2f3399a97a5aa254d25595a3148603a59dc65c09c888ef16b042e8cda5a79c59ec9a4c97596086631e3e5a8291db56033d68a488b200c3034181023bade166aa0c59e87dee926381a424a2790968675003e960fcd032810e3dde8cc2fc2d473a69997f651480693eea4b0cdbaf3954221e03d7c3eb730180946711a6ab13d32b8704ac847206645687ac305624a34dd2fa8203822f78c03a5dab13f70e347eecd63b81904f3e6bd36c3fa285595f81f4a4104003277d376fec6b927affc9ae2f06da0a92bac1e2c236b9ac7c6abfacbfa2f85f5703e1b86c4cef38245beeb1c31e507f530734f51a7e57dca1f15b06c19d9cc351b30311988476680a401995b4e4ff8230a878688ba8662de95782a09bcb42b8a13cf603022e67a132a25a8b472b85d9a3d6b577252d4089cad2865b0d6403b114103d03039ccafaa6ad7416ec083861096c1ccac3ad78f5040ba51a2323d8f61d1e1294d00304faf6b9feb322f91101c8ad1c967badc7378e82626f36481e184f3cac3f6d570219ffff0219ffff03ed2e49a929ff03b085c116bb5e912ab374557bafd54a3b3f296e0b4eed06baf103a87cc4aaafc214216dc7c9ede2a0a736f2fe310f0349d3056273346802df5e7503624f4afcb8416427f41a0f75276499254a95e7f508c142926d60c1798bc1160e03f48fc6976ccd0974f7935f8fcad60a386209f799d8f6e5862fb602c82b821f4f035866363d54a8aac4804dc8372a89397b0906991a036f358005327604a188a3b6031ea12f99a6402aa445c3ca70965b89a9845b93be4e61d461007addb4466af06f034d07f4d983c2ab5647f9a7ac9a41aeafd6494777d34becc37fef0c45cf8e8f1f031bbf7c171dc88108e8c44b782725f3a4c0877382d6c10f508f0a8d3ac637d2a80347e3c64e898c2007c7a5875b5497c73ea9b86fe17ea9b7c7c89b7f9cc253214303332852fc9fd2cc0aadca7ac979cb69e17ad8e903caabd4f4e27e70df3b1544a10325f55fd8942c1adad918f47c852b3c6030abbe859c007f432a4fb3fc8f870f1a0324c578ff4c28e6f8ef5898cd1ed93b7adc119f2c7f4b456f313e02329f281e84035c4be48d818b3a1b7ef3add97473d46c191106281ebe7b3a256533876f90e27a034c58d18138a75edbb53dcb3e892e638342b51e1f49bec6673a9426bed94c7589031392bf5286e7f45d60a071c3522d750210dfe049ec9a475b58aca59e6738dac203289b377a39e38031125fd09258106492c42be36a3b401c279163d605b402be91033ea78bcbe356c282e0ae5aa2f685e98834464c84c7b5f3796bf6acf939c8ad0903f0d3f43c4ece94d7ba78e3a9856c53421031f33ff11861dbe23f7052632cd33c03981d5bfb51b9f0ad235d69f7c356929d9106e23d481127d1798be7edbb7683ca03a3977bed79747822f0692a4e2a4491304d7ab9c00fbd0f493c15f39c161085c60388f3899c04c724446a14fcd14abb05bbb7e3e37d180efc51be28070926df409603ef4cb4c7199df1b10ebd6c5b90e0490ee2bd4486d0d8f2f231b5fe30ce0c57bc039ca99e084dfbc32e592bf46e0caf2552a2bc899fd9890b0da1529d42c58bd07303dc4ba6a50644b3c13a82fcd54c1d9ca52cf12555cedb1945ecc784c401b320420385c7c1be957de2869d4ab8ade8093c3bd197807133960a3a8d9cf0a95732ca980332f97c8354f2f3cb99a57c867702ea0976cc4ac957009b5c291b79941467d591030b6994676dcc22ed07a124ca6655ffaa870dee23c56384f00673c1750a88093f038d7461a3aaa9b0bf39d43f392515eca50ec9d4c63de6acbef37eacb817dcf73f032fa0fd49ec2f733ca9ab20b4f965e2d856571b5290b225597ec88579165b48a10382615047a289b4632f58ad0174035476c51fdc6e4229604fcb42317982efe40f00581e02c006573a6c7ef4633466e9d022eaa4fe9bdee78f4a37f12266016598015820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037745d5ac918e35993b7736f5f5e0d46ec422f86f6e75a13104165330e121816500581e029ba04c438d203a03418fa8efdfea78c34ff17ac7b37c7484f35fcea87b43ed10bf00581e02fd03c98bdb6403602b8498e362df14e0789e72c6a1fc5984a98fda73265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021966900367cb8ca1af7530f6411276359c5663b685271bf15f4785aa968696f23a2836610383a9a2fa9c1a24ce84b22dd2223982c4c9bb62f862849a51fe712bffba265f240381dbff8f3ef96e074be040b0ee7158296cb9a38022c731bf483b120df73d047b03783b7c5be8a4f43823f39fb91a01434167ea002e27a01ba4f99564f69382f7830219ffff037233213f5a087b09f8c6c9ce25dd64c8ce1b1c8f2e4f28829708e20b5e2f67760379460d1854abd0b3ef9f260c791df6ce95c390505605af345f44f49114b124c7031b47fd32a5e2a54bbad8498121aece312b5435395151e1acf934099c9770d4e00305487e89f9488a5ebf4e9c5d378923fb993e4727d1410ab18ecafa9050fafabb031e56e345220275aa7c70faed7d492428205fe9486f844cf670d311c6170fc3d9039bfadb625f4b16f67d16df0508838a791430e1e407fe27e8149c66e2715a08c10219ffff03f9ab1584b786c53b17bbe479f5b086806cde4b43aa2d0d99df4295b756e9519503d291edcd4ea6cd9f27e5d53ee34a38f9c7f88255e2537a9e05e9843d7934882503efce78c35189bf6b67a71995d156f82cbf79faf70ea80b855ccccde08a608bb00219ffff03a60f5e7563d765d13eeac17102c04d41ddabfb6e081e70e15825f3ef9700e5cf03edecfb9726dc8acc35457410c82a67dd53f2282aeaad0d357759045a2b85c513033f4f1afd1b04f318b4dd19006af0f4871fa0c08d999e5041ef2da83f895f4aef03b896b39fd8ec9ecbc83c44447138e8d19c2c44f361ed9a929df9cb843755d85203b48061bbf7b6039b978a773cd261dd3111a884ca9723331107d4da7977faac52030771e0fe7620a922c7fb04237ccb80a403b49e7fed2e2a9d70c748caa245414203778f9d979ef40a43dabb4f93007ce83b5962aab00b0ee80bf2bef838c137a24303eafdabe37516d76263112357d7e25b453df353e7e5b4c65e2a87a8802d6a2925034f725ddacd42102c4bc98f618b3a2e0fc33d90ffbb29333b05a05fddccc86d00032c776057c9735d8e9a6fc4d07bd95b98fd1f4e7ca7109ae729440d872121aba5031a4bbda596e77e177516fc2c45f6e55b77892342a19be40deac1c31c15e607de03f10bb70cd0e10bbaff67c02e06aa04eb5975953bb5573adaee3963901c7e9507033b7bdd677bf58763a2cd5434d27f9a1232beaa39dc3060f549ac4bd4c231700c033d409151d8fe428d2331164bb620dbcbf2c44986839ee9561fe59b0cf43e78b60351dfd5be3356daa804257991e41d649b20af48ea36de0e86d848526cee9bce650355f64847ca0f97140c95e0cfe9d544cf853eab0d633a6faba80961ffafc45e9403bd0d2ed98fa9aadf0065a728527b0b38e11c5701810f650dda6bce9df19cd5220308a3c15d6e6c9ec591974623f33cfbc61a0c5196af7d42d637a07f6e09abb6b20305b6ab1fee04cae860b05ae9f4aa8337395e15933e40060dd3ae2dba05d75c2903546fbd5156ab487ca843370321f8afe116898a0991472faf48ce9517972360c503de4db3d7f084b20169eb2fb528a8f324cde6c05c7897fba2ecd091c1771eb3fe03a5b2ef819ee9597c641350f5870d22057a870323d01091c67653f47b6ea0303503ae389dd079110678d7a57c26d79bdde2b4b99f50838caaa73e824f48baccc3bc031cd89db3f112695a38f06ab039a1d40256a3d57c053457b0474877d4b193bdb50328f277390ada366693641964943a3306b927e23dbdb8502790b79c1580f3fb1f031afd8fb722b8f2ba1e19a363acd119ccadfb2628d83ee16c8eca870a45d1e48303d5f6e6455c4975c4de6bb3ceb6db3571522a84eff15af1b842007800c8fdc32103cc63ea143cc577a66e3afd909d4246097581ef1292b776f798d7e27b328689c703ae78d37c76699082adb04c5416bb6dc4a4659932eda83b9683254825c1d832c403619c833227d94803232496d635e18e8e37406e37d091f8610f8e052447300bef03682ba9b504e2a39aa25726638de08f368da0d8e25c690b6eba45cbe782886a9d03edc41bc9839fd51c9eb401e52d6bfe0de8c805b56e66439b90f67efd8a0b7432030fb82cdfd953e88dec1c2c3fe2620ffe5b73b9797981760c9cd6fbd060e9362f038fff5d32ab0101882d1528a910e24c2a0de4a686fb844b3e78c4fe6b119318580349c9b8e72676abb1a6afebb23eff8f588e9a83f58b65b6f40fc2e9d0da6b9d5803f0986003e5696064b6db47b9acb0923c5b3b82279851c593ff719f7aec99e05a03069812a75378f35bb30b4d0ea446fae58bc22a326466ab690b6d05798c8f77c703630c164fc50c162ff620cffba4a1805d78975c5532133a288f90e4a10f42bc8e00581e031256024fe9f4b585135217ed1622e8bb6a459f8782ba823c8426c057004435fbc17a00581e03367a2778f9a2dc5118b41c5910c0504877b9c0f3372f512f792a61b140430f424000581e0390f79e888f448ae281494c0f7caba76e638575f8200f529c44c48962905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e032b2562f2825f196461ed9ea52c9c3fd5958230aaff4b7aa4ad7cf68ec0410102194a04021990100322cfb7521e2ff01cc0ae6a92b5f156f2f4237928f4706a1f4e3e73e85779497403fa69f1c9084ac85b487c300c3e1a5ed03a4956c802ac61004587ff1268a3279203ec3eaaea11624ab9bffd473ec0861136da5d42ce92077dc7fffaf92364ebb6560219ffff0373b1cc6f38c039733cc941a297be21bf96e5452b1062aff0d8922d0e5444ef0c0219ffff0389639dc942038f6ab57efcd00b8affbb5b0ecc49597aef3b99f7861b0cdf2b0803564765c69d9e9556c7635d4c7939e385b21da054d591b0259ede9d8803c38f9403e946a41675cecb0185f3dd03ad2e67dc5e0a250c46e95f040a8cb4d30c7a6f3903578a5235d51bf26b776ba500b6858d20b6832d855509332e21a971d578809c59037629de124c8eaeb74da3b675aa97ddab97084a8f53a48cd13744cf9cb8b194460377f924aad68de37a0146eee489d922cf1fa862e90068c48d7f58eeee63f9bd840311c6c563ebad23b606d357d394a81b96e86f527a80476b0dd0fb391621e46ec7034b5b19d1437774be054ce4139bb727a02850746e161847dd9f8558966e81b04403d56ab4cae85809f6ae69ab783a1ebb1fcb1011703e67773a8ac1f3c87033082f033c6ab35121f0e8bdc75cce23edfe20cf99fbd5ca01d0efb918d3b30d927e64b803c7922c2720a4bf865afffebb24c3ac8e2e759a265f718e688d170e7d46a86d1d03c1ed9953988ddc24af9ef5e048b285aebc45c213c8c3aaf5c32234fae5558d8d032faaf1b193fb5f7d42ea7057b88f0962ad1d4528d4873ef2602ff976f396c273033a7b4276182dde0ea096e6cadc4899fc380195e3b0e929c3882d8846bcfe2d8903b45156d348fbd6cfa8d34d1b492cc18eabab518eb28764265dde37caa0f40efe0219ffff035723591449ee000a1473cb2aac7284958fdfc8e3f7c8d02fb2b6a81836e3fd1903125458e7bb40aa8833d30174be4b7c1fec677ee2a22a0400b888dba9dcd2b06603913dbb74061e14021e484c64852d2576417c0dd2b9d95f656086cee732bae1a10219ffff033ed066b198fdbd7e52ded91885b3db55e048a766add42e4e7f90a1d01df55cd20309588c4c67447806bee53858f95177eb3ba1c296833a39c2fd0de4164cadb09a03fb3bb957f7f67b00a25fa81e40562f048e1e25f12cfc8644c225cd18480a805e03d2388be00a3758a35f942608844a78d7c83125d0669ec0ee874b58fb82f263df03107c34733a95609a5a1b56cf2797b6acd3d300e2293b2f6fb22ab9279d486c7903cf667151fad50cc1499000025500914955f69bf06ed7393ea9d6deebe7910ee0038c68461088f719e3a5ac7a428d711481c3c93fa09a46d0f0dfd7b51d7af2d76c03f80f6efdc4891c32f4d75a6fe996fa0e1c19e918b1d5a83923e1db5bb9941c5903471e0244998d8cd6dc421ff1670a001a95ea0192f869574baba885c254aad8250396f4f66eefd8608bbb723dee90f17bdb015716cfa3848e282a628a5c49472a5503507de30541ce6f9afa1a271c335eb3b2c00c562af089a85bc94fea0b415b81f50355f3725e2a018304f4c091959f3f99434c5acb413632b3956ac198c3913033c003f3e5973821fd097a50b33af75b146bf4d16333af01c73c2550a9409597eec76c035fe5e6f66787151db80500a3aed7b40caf405e84e68aa67cf78f9f68b47e825203eb36910cdcef5ba359c97bfc65c93903a4d1a6669ad32ff8069e17f21125853e03ccc848ee6c8e72085a7d6b6b80fde00ce224a00cd3aa0e427581ed15bba46ffa031c73a7ea6bf78886aa190e79b983b6eac0a74075f24e3e9fe8d1616d3d69ff7103e5720aa68149f00e837ed966e2e7e9a68451a5d210c4750882ea8e528f74746d03f2975cf37902d104c73c5d3e6577a4dfdb0a78d30265e3358e9a3131674f0ed303eb7fb983679935433be1a30c99ed3bc19a9cadb2089640321ca63ab18798038d038b0d6405094e681ffd552928f36265f7eb78d3249dfe935b954d1217e3f55b0503e8714df5de7a2dd65981fb6569a42fa927c0c330a69828a0af9025a2ac646df100581e023074bd0af50b7c12498d82cf2f765aa1aa90b547b4c1253510c8dbb5094402cd29c000581e026d133a9395ce56c9fa592377e58ad07c5549c172653076c6d3006cfeb1581affecee2142a7dea9314b809a0c42d3e9560b1408a9f378b3292e00581e035a3f7fb411989c703fefe272e21be3e18459f2313debcf91c3d3a78e604398968000581e03a28af5a6859297fdc93e1f60c70c4bbd94631bee7ce58ac6bdbdf15cf04503b7e6fb3002182400581e021762823b7b0d37d87c255256b2b8d21d3cd506b3822bf99306c0d4381c44032c143000581e025eda860316d0be02c1acc12fbce3e8034d291c082bb5016175b8e5971143cc29a000581e0271abbae0ce7c953d2792c7264233463ca1f5cf7fadaf7142892be92f465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03db87b64614bd77a66245fa92a2213ee16c4943615d046fdf97aad130d6b5b25600581e02eabc54d8f72aa7fe59322a9a0075c63097885bac5ad165ab6395d957d943596b1702190ab703af85fde54e8a3f8a31b26cbc2675d8424ee7905755fe4cfaae465ada51b8f47803f7de2b711c3f4250fb290a96882fb418dc74da263afa7aae5c2f8a16a8faf13a036065a7996e53183946a7549fac8220ba4eb558de1c1af6b88b4aac5f5ed1367903aedac8bf1f29b51f9c965dd5e3405e4f6fe4d725ce0e6b9c83f591f3453e03050361a06872b3073b63dc7c2d42cc53bceaa0d2eba935413db2ec340ceb8dfeb99e0219ffff03d681ce2df0a2ae9db1f4ebd501247dba577d33e588411b9738ad7998ea51119a033b1244e913b61df449a53b2843b6ca45ff6bf1d7f5a1e5e516e396051b82b695033678557522d4a06accefedcfb64adc52bb34e754cdfa7e209201462be93b0a970398512fd830b60f75c41822db07f4905252a36b2647c8a5462e4e68dd8b4dd31b0352bec573dc38f7b93439671c4368ca4276f4446c074204b6c6d4bef6ef37560b033857dad79574a0bba35f344c17aa4aecfb741e67d1402dee3d508f9f6828e064038ba0d25cfe0fa3f7f48199c2e45fcf10c9844757b0cc5cc74b04bea6801b112303ed005617bf3c2827086da86083d07d36cccc90bce0c4fb32f1523ce0917caae1039da6e513175219a72ff26a70fdf73fda5aa29106afea5958936d12966597748403e5ff3bfd643a4c10d12e33326a21f791d3da7b13ebc0d257e78f079f94f8d024031fecb46ce7637b668579bdc23e1909701683ff811c06ac93da504ae9cba3a8f10304e3fc84159109fbed2683e7eca64515ffb47e013eda6306926b6c3c81a7a3710219ffff03971b40758a33cc164564581fbe78898e3a1c48a61db45da83227212ad31acaa703de3ddc4148c75c2168093400e532c4e410633208a0e997d196e40bad47a15deb0317b352bebb28648d358c7334b17053a7b4af3667acf4494adc0f407bc1fc0bc803c65988f9814b20325424eeb31ee30b83301e16e987bf1f28b4e85925a1e7d369030caa4f6194c8647794b3045ccc367a0d69ad242b2ab27cb3c917fc173961226103bb0fa940d30c7e52bf929437c4acc00318839f6e08cf4ee9218822b6b11cdd29035605df085048ea57c7bd8407e8c7517f650e473dac28fa76ae4c8a19a76af604035fa64b0be94f062318f8fa0e8b55ca7cf8b9269c55f64c555da5fd91830a99eb038e17ba9fc6c71b2bcab30485175a4af4f5143069338dde01bd37b434862b3e1d03f145252f15573081a702108978951f8ed614ce3b2b34c8fc392fd24fad2488130369316d1122c45238d3ecdbc46ee6a0e98870b953fd103527295923236b749dc503447ccf8b82d968b1ea1d38cfa5fa890de049c8718ecca24ba85deeb3950b18b0039dcf122849eb06d34d7813b1f68c6e1a1cb719903a3ec4cd3c61e2f39e82da5d00581e02f7ba1e49f2f2c577c67d0018837db3eede49f00d793152eba567cf9923410100581e02fee9f52e3b0119f73f0dff094c13525a89446afcf7f84068018dddb93c44b2976d5b00581e021547c68de3e9640d3e269c522136cc682e49cf60f2e5cd36169d11f656488ac723044e4d360000581e02d0993fde7f3f15cf41c2cacc4f89f346913938a11081c48b7a7cbe171544031057c60218c9031a27c7d752cf735d47a910a8d40d428620c35100b72ed36330c446e8283d3df303b8df285e15df8bee6296ce9af0f7c159c81a36eee3fedd900760d2f7861ed87f036ae56f1078e894a715f070283d2b5eae5aa85f0c7cc39276f3af15631fe1312e0342ae14f14f65918e872dc2a81cbc4bd4c4b150865ffd93410bac68856e8bbded0329ab97ebb31e1cd83d700da747433a4748b4c19996baa82872c5c5386446c94e03b784df5b5c7926355113b5d3780f2fa9e4a4f41cd92808f859573046c06bf5aa03a948fef7c4f1f4c69039ecc17e769a18c16382e963a02a546014578d114e309a030bbec549f708bc194d690aadae0613ff70abba9bf6fd0c750b1cf4a814e0ce6203a8ba390f574bf2a3dbdedc961162885f935cebf707eb3bee6e0f37aa931f84680219ffff036e283303306420cb26baf144776a61ec2342f62b9c2d001cfd68f835c7d0a7a10390d6378675bece1b043b4723d03e014621c40268280758714cdfb2b0df5e1e4f034bb9724b0e3e28fc82b16813eca6fe9b1b8af3efa15e4356d106a4c6df79ac3d0384c31fbac91124accc759dd59709da562e1c0091fc1bc1e2080f539d08b82bea034d15b7f317e82dfe236ada26c19cbfa14cc1deec6b9f2fb9b34bcce6ef363e450360ce1674e90f80366dade703f8844230b084998be2b50ecf58e20464c3e63f1d0353ccd3c4b6fc573522e0ff17863c670e000ca133aea534d6c5f065fe83e94fc8036fc670cc34e02c2476a06d5efde9569fe207ceb3f1f06b7bf02982996a9a396303491e19ef0b0e3b3322e9e143564d77fcfb556adad0a1aac3481bd8b146707aeb036ee336788a39258fd3fc2547a21d801306d4731dcabfa52898c46e5f36d5857d033ec592ef51155519bfb614aa9adcf63f9743794fe0a20b7dbf16dd6b835c91a1034be883e713006305d7b0908cbedb17d6ff4979e1927b9354d2d35e80754a71040219ffff0307e1dc2b9db8aef2342a80d389b2af412e9458d5a328ab5bc17ac2576e332d3d0219ffff03a83c0c69baef99f5f822e539cad97ae47a4f8c65eb865866e3f996089ae5f4370384fe7e8255acc5cbd5f3af08347c6acf85de2c5624345f3975dfd02457a305490399774d9639d3c9496e349d78044195c46c5280d756452b65288ba759603b5c4603508c753040367d7e0b6207402831c043f1a70cbd2845ffcb08e01ddf47bfbe820388767260a0f618a4aea10a7763b7c90196a092f90c47e20664ec6519b121e04f03f08557d176d27df973de059d1fc821d3490f4d78553838a7e03279608d13087d03b85cb512fa5517ceb79e71a08e137c770a880706821e59e0567ddf9887fa47070333e6dd7a8982f30f138ac7fc08f33a7ba8d6ecc61b93b5c1707f904c8fe2867603b716e2be9e5176858484313b26a7e9399ca41e50e01ac53e3ac9b11cdb9c982f033e010a88d65327fa20aba162aaa4ced10d09642356626b557f20a3b40b7deec20395e90f3e37644ffd0fc1799cb80211ec753f221e9b1fb3c00fd044c7293240ee033a2f2d356e7aff4dae6007f15067b0c00961ea1338d753fb18a4cb917785cf8a03dbd45a79e0370a295d5bed9cf7c0ea6b20e5aafda760fa0bdea360523e0a2dae030cc3915de570d9d1c6496fc337d23052e1a0158a410bcb8c54cd6a31fb9297aa032fd9b109984b2046b4b80899c27f2eaded5bc028a27901b72a700e4f623a7c1903798fa9c8b9c2e7fc38f74a9186e676290b4c5868cf5adf30a32878064b8de93503c6db6c5cb4bcfd2b91e5f8ade2f4711e6e7f44e522378168cce7ac2115bb179b0364481c7e324be5564e7c3d455d8ae2c988a7bae068da60eeb5e55f83f76942a403aa80abb50fccfb569153418bb3c41ab6ce6bb232f431f3e3bf20ba0e43846f2c03d8646fdc65106d1f953b16ca0bc4c4bf61409b03c5cfebe23bd6c4b3acc55d5e0363bfaf920cab266bcb7e4b60301069e7eede3a0433143ef07daa536f078938e503ea593fad1f4367e33324b411b8a60aa081267fdb2d877596591b753c7c02841203e56c12a8a8cd9125b104f872addf05f477e415cb1cbaaab99b61bf276345a3c203d75a90073b369a63b20ad86c74809c0cf08218bc8cfeaec12256c2df97777d7c03d1e0472216f16c8a9c2a905d3f5904e4a6f45bec3ad37d80b8c35011998d1506031d53ace239389d63c99ca3794fc662fd4c4343536d65894d958ae2e55737ba1703f874d98f0dc9aecf5aa7b9409257ae829b2406ca399cad3ef4f47fa7e960e04b0304b1bbbf25a4630e17afea09148aca98c52a8285d81a054b7706b149bc1e868e03e739c972b31f238c1b133a786c3dee6c648d1dbab0d54bb53cc05ce53da30980033d376b97c0cda17fbe9aa9d04ec44bb7218e837cf6653aadf904c1eaf3ada3b0038532bb5a1708950cbf41bb60eaf39a0583199a50342524a775774482ad818448039f41dce965cb34ab6b42494a14a3fd14c77a651808dfd0c47707c39d0c87df62031b0e8d4c3c173127282ad35032c061ec9650d7abd92733ba4b24ec4a55c717e70335af70353c03527f5028e25aff86d5606fd4fe9ffb4b7121db3931b070fc34f0032d5c1c06d3a77c9f77a092608270ee7352b8817de0fbf2884a8afab04d6cb1810318022ca7cbc4665f49321614b66d1694922268983b456791e6594153a3e62a3803d91f00ece755f42bacceb7195a93b6c9bdb32887246f03428a497df0f12f4fb603b8cc8a84eedf7130a1a114897dcbbf723696ec4fccaa8f15aee54c26fde0ab0a031db986a9c62b64e355fc59930772e7a20320816382b424544d30f95354d7ce9b03736d7bfd085a5b16f3787aaa932385820edf9f393160af32ad3803fe80acf36203e41044d9559d507d79dc1a1ed90800634a80db39dfc368c32b90933ee110f4a900581e0221c279c4fc6321effddfc96a34bb8eae7ea4a956aa949399224cd3254d4410213458031ba5d9f8816b64dd57a50309f4efc5a141d683997359b820f8964a3cbdf44585034289538679434878f7c50d23b6f2962905c085cfd86cdd91e37d009c52509c7600581e025dc6645bbd8dff8a22a0058643135a342bd324f9fe03a1338271ddad6a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0279f178458e924b0866fd9a8cfeff1a61d6a2f840b857fbcb4e1c86a0325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035880f67f1d2bd1cec1981fac616d7709feaab2c2fe51c5a1e970d8ecf08e541601410c03189541c5eba4a30251ff36d6205b32969b5ce28863c49ca19ded91fb1f5cda86032ba896194eae5b9ca92ee80df0b4efff53609f78960f8a26bbc7962a4c9fc2d90219cd2f0219ffff03eb154237f031665524697bbe8e6ae1889f1ec4271eebcb216f744969c47c502103a562c3a7bbdb83dda27b1b87d720914bd83572e334698c39e31532b94191cfa20381b559bedd625820239f398460a5b5ebc0b8e5352c218a328ba03aa365fbbc4b030eba558b1067a9e55fa489cebedb1bb798659e2c11539993b20c5fa2d5ac810403b9c9cfae71ff2a6aedb871892bf78275ad55b9e9d5d63895d88e8ba29dc5de1f03058903002c576fb8bda82eab16305d1ef9a3736904b96c6e08fcd973ab6228ec03f81657889a61408ca11504da94623e9a904686affd367788c7249c45abc70e2d0219ffff0219ffff0326ffc16608c0b878fce899bd7a9f0bf4f1c1fc50d52238d80c9c5f12d59f659803fe602c66e35f84ea6494b09617941aae98cf649e624c45106b8bc3f6c78cf1f3034b0a805f75ab183204bc8f8c63e709240ddab38960fd720d6a24f47fce8411fe03e0b95eed2aed82612b1065a59644b5eab3ea3eadaacef3c85d448f32b840af680358c20fd130ded32bc77d5727a3113420de97c603c1690fab12c20a1d9555bc1b03c41bdd6596a79508739e9f917ad970217700cb77ecf730417dc75227529a6d500333d065f9c920e63e77c12ec6bedd96598ca5c8882809c1ee8b00144c92c2975b030ed3a512b68e3aaad4c8e3d74baa5a6828bf4620300a450172b442c643acd08703233dcaffa197639c51ccba40ee2aa61fc7f2f335298a7555add299dfadd5df1303239f6cebb2102d9fe98f4ae07320a01bf36987f5fb70be1015f7b373734d389703ef01cd4c0689f5efc4d78f3b56c2b0b7c9a49ae463618a5e3c55661ef09ba1560309627b70a7de2977036dd75fee9761fb2f1167bea741501d28cf0512636c5744038580f1a006163ad63c668548fe3af36b14f43d302b2cbeec70dbaf5b0d1416e503e5f29268dae5e6f0b2119e2bdd92e41d2985595d61026ae0ef8ce5aec4ee6594038586dd92adad44f1d67889a70d8af5c293a2046032bf0384bfed6e2781633cba03ab0bd2227a93254f77d074143a698f53d3379f1d059edcec8209d1be2d817e9900581e029123b8b7cd1e69bc6112c6751ee0842d6c7375e6516f4e7152c008464543018d3b00581e02a5747eef88dc1624919eef770523edbba49f75b3a9d4cb4df3c29c3659410500581e029c0ffeb1bf2d993dfba36d3ca1d6e7f2ccaa96135fca0f0a24bdd0d07e440605a326036bf310742d47a3e448a757ad1c88d32bca03439f6324943fe066f11815dfd3a000581e0315da2fe68f0afe2230fed8b62f2734e10d9536f92c7a73d64d8f68d3605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0357f492430f3be65f4191773e3b96943b5d48da707a58cc6d6e0044ee004501c8e4bd4800581e031898d7fe2056b4be05ac495937d8cbbe409df374667c8e65b4ac19ab004b52b7d2dcc80cd2da5813800219142000581e02ad5e09adf1539eda08396c897548e0bc935431646eefc0a60c4853aeed42a03a00581e02c6b0c2df030d0744de2444f9ec9dd1de2f8fe244f41c9ee1aadc9f53425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ab03b8f065754d9c536d122d01947f06e538a19cfe24f3e47c02dd7ff142036900581e02f748d605558636767284e4a092289cfffc9dde5a1eefe449f9d6797175440265d4d100581e0222d5b7e424fc0c1b5aaf3d01c6f4e0820aa398dc964d90d9cdd909d1b04402a5477800581e0258daf651c40e6f083c19135d7f0be4356eab5e5d056ebf9eeaeff73d145820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219bbab03e403c5f08a53d19b0158b701f003a911b412c4979c691d67e0c95a2e8cfc2cae0361a54c9ad66e93036fbb539fb5a79c390163ec1b211264cd29c47fa53d364d3d0383c1116c11acea5a43493165616de317b235727db51188db6ac5b78488cb031b0395a47f0611e11505a553eb000433b74b8d0d9bb6f72a8b9a6f47df3aefef89b20310ffccf265e08ce4ded6be580172281174f5b43e8f7df763e67c5ab42023510003b63a034c355d883614ae3c3ea4f1dfa691c7748a1f9397d0b0f888fe9f4da24303757d4b7f9ef46bd3ccb9cf6376aa162687286306d1534b1392d6fdd03e0e897a03794aec6751000709f290aea83a5ae08ddedbfddfe0d49780c08cd494ed214c89030f0f61aba6545171a08d114c606372de8fe25aef116f968bebc8c4b479b4ca0e0219ffff03ede1e8eff914b13a2d5fd1f15b0dfcb66ba006a5ce045a4e2e89bba456ddb58e039f6d5084ab34aa9da55f9d9083c5988f7372efd9bd9e9364d3b74aa2106b63ed032944335592b161f412c41bce0066c4b74516a304111bd9448150cae5f6969ed703211e4340cac1a5175531e03662e3634feec9b6e9a45c35eee9f9260b297ef72a0346d350357b074d929cf410eac15b469e51f6be45bae42865fa5048becd902a6103d63a4068cecf9006a5abc85a04a5a5bdcafeee8573c6a46f1973f4e7aeed27ed035095d5c1e0c7c256c2788cf4c9e8ab5d0e3663972fda55d83315cc3da64b9f61032af0ac00d5e7cce9f65473171c45306a1a4300ea491b39de9383ee25b26ec52003b48bafbc990c6c53f2834921e2044b8c2bc64b289b242e6694273d7601615e89033da52dd4bc3bf0cf52dbd8fb3d61b804d395b4b76afb7d1e6066416af2c18c08032f8137574f99469995353d98818aea60966041b876d6dc083a0581183bef13fe03f4a05d70f89f75cf5c5b499d4207c987c7433914628803c50314f5397b24026303b0420e53e4df47c9d2644fe164462d9e432fe7582c8428a29eb2741d017f3fe30219ffff03ebc553989012869d4ca7afb857cc5b65d4bcb4666f09435ee5c25e7200923d3103edac92c641627f399a10da683f11952712c01fd2dc2355468f6c23ac8e79caa7037f93ca57efbf16696d231a6e99fb4bc86b36da59147f088b624b7fce5c4aaa7d0303667a199075fb1428eff530923c4d16e8623675177d321929c27caa1120fe7b037aca1fc7d5998c79782a105e3bd6c26a81c79e2797637be4ffd34ada1ab7952c032e38ff804950563a8790b2568bf0ec3e89b0d9b0a94107b00ceeceddb847b3a603d026297acdc1610fb747796ae527915781f31c413bc9e9b7b2bb707ef130e6b50219ffff03351793502d4bc601c77409bc3586c2774177c2ebbf0c96ddc2d1a97eeaee210f030548c5902374cfc5983aabfec7e69c6516e5c8f34410f366dfb7a0dbdc23b1ab0317e09f5aa629273a21f5ebd9419bd77306e94cc7454216c2fefaf833c11b544903d0c5effb50a17d1b9e08114cdf5df93c870c3384f5a616b24edce335c0f4b4a203bdd2886737f475f7b2a98240c891c4eb8bc89db1ec854c4f861aae4622ba924203d1f9f19032eb0a592bd5cb00e6a40a527e958047ad6266de97a00f1e86225cd0036e3acf2813a00de395f23a705277aeca270f1751ebef77d02443a5ac1dae26340381b737d406fe1c476c5f68e5d33998180289ab3daf6a432d8309bdd1eab989e1039af04bfa010f4a00035f741237ece64d2abb2c1d881cb8b46ac7809b4554ea71032731b605c02aa36b6e26622029479405e59e61f0cf3e5d8935e51be936df815d035e116379fb24b419c472abc52853e75eedf6f8fcde0fc2627c71b3b949f89b1c036c4c5e28bd2c7f5d3e44103e1479f0490afe98341ed2c4ad87ced2cd4a40efe303fcff821574eff38a93185e6666dfacfca92a5ee264955674d83eea944988ad27032d2c7629f03c4e3ab405d0f5a2acfae113d94701715391ea5135d9431a93c0a40397cfc945b5c8b9fa2a8d8321191c5b9321a3cde64ba51cc09e6d7bbcb3b087ad0339fda941021d899837f8f754c45a4f7cdd0e4b8402d3941ab39006b4ad3a8cf603b26cacc9aec53bf1dade7b6f8a7010b006b28062b810461835c04ea7a58d84f303072c8244fd986a24bc3d59f1586d57e52eaef9f1d1901833f39af75e591431420325578fdd073703aa4168c7b8f56411bd4ac83767cbea84198adc78af0d8c03a703a8ccb537e89cb4e7f861eb3c961372703b4fa472fc93eb376d798e65e24f5a0d038feb2d9b0b66393177b0e61362225d7f223865df6eadd14d105581d688252a21036d16b5a2c47d016481021518e2588d7dd4d979738d9836feb3474a6d561da5fb0365b0a717238e79e658181b06f1c9138e25b2d6fe957a3269229b50e6dc0664640338ebb96b79f3b330e1c805b2a1ba5333a9d6f8b0ad9010ff641a174f5c45ba3d037f4005a1ee6171af9137460b2113f65bf10b7cff5ffc7c516105bf8b9ca18c720376bb7ffc464fde7f556423ac3743b11eb4a8ec06f80b0ff4e4268460621a05060321840742377ac4e6d3ba12eca89f736323647c285f0c4869f50857625ce788be039f9082cb60f99af6048000737e6c5d1d1cd46064a3dec0165c02402f3c6a5c3203e133f9ba22e3e15d3f4660e349b6331052d499cf39027b881af8bc0761bd8aa503950e9b6163ac0cba9ad5ee385c6c16f27a00fb29eda0dc73c903a6607f82bbe9034e41cf5c5c3acd7269ad6b4f3ea55b4788614a41d2831023a45b322a23d900b303144793ab42fa8c736f6ef9f3eb2a07358ad2ca9f2ee0103cf40d5426a93f831b03dbc6074eb55d697d0f6bda8cd89b7d099358600973c92f8808bb0d133ec301d3036a10c4e43bc5f3c6bbbcdc90c353de30e9be49b735c4ac1fa2b0f13b6c65491503cccebc107445d81a1521da50cb56a3fcef201ee76f6e7e22174c1bdedf410c8a035974ab2aa816b972dbcdcd70d06501c3aa581fa84207ed2b0edea317f34aef6e036dc3d55685e476d2ad2aa45bec8d25424c0e64e44d754d83e2c87414d5bfd04c036baf416df7225b66e0b309cf8a898edd6146d565e47eb77d5eabfd701aeb58ab03a9770c2a8aa74607fa9623a40cbbcd6ab9a9bce8f5600cdd937995fe5e7e80b300581e022e091aa12745143f03eab15c4d9e7f67cf47c733ecf774acbc4c80c3925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03c495456330dfa3c16bfd34c3b3d8aaa423fa47e9f6e470dbef866cda70440965654000581e032c9a10b66b5f5d3a355f1ff26fe852f531dfae4bbfc5bb2568bb0c44205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219210000581e02aff0b16f016f0cadeb5565cd19455eb9c43ecab4adfaae5af099e3f684410700581e029dda7234de5a6c3341bba8de163d6f6a6392cbbc9c2c2d03d1af9b23d14401312d0000581e02451279a5aa7099025b1f4fb4f2ce03f236f3eca90ab25d74787e5f16dd430186a003ba563c9d7370428951741c760de69240fce345beb9da66a6a7ed6b7a2a9e28e9030a5647d889919be84549bdb52c4e0e2b5013aaf7abe8a4ef97500c83804ce50002198c4b034be11a499de832e12a489b68e8078c9a5d152a0af1d1ad213515901c3ff55b430219ffff0320a0869602d0877e06f5a0fd415481cf3d7540ff92396bf047d8dbabf46faf2f03ac98e850e5f1a4ec8832f88fc53aa13bd71ee7c37377bd8824e342d5ad89304a034887f5687fde1122b5773db8f87ca5b140ea1d924d3fca95450d2d1a24e7058c0219ffff03c0a4a50fa4e564efedee8d059b053139cd73fc3f6db0d2a0dfb227b26a392e4b03416c062a527624ae12f3e71c06fe8b9ff40328d0b75f48d407ec72cbb7dd873c038542476333f73b9e01803e2e37b79e67fa5389d01a2da74e281aee0dde1708010219ffff036c0576edd3e228804093a6c1f93b7dd0c9413e4ad5c0e6f51abcf39439d0789f03e9d554889ed99b00a2a74708d06519562286ce676fce11aebcd10e0a9a256efb03797b9ce1c5242682561c5e0a0432947907976060b3326fbdb73c975c880f4a1c038b6926c66c5346ed8baf23b90c8960bc9e20185d55aec4295dd7a3fb171c122d0395edfb8b9cc9cc19c0e8532c8526aa8f3678fca5cda2b23c608a46064f2c0199036b46a28eed7816ace33d696f4d5a54eed82e185f2e57633895418b929cdfc1630319f70a2bd9715ac1aefba901d5be4219bae0bddcd919619bd8a162a5e6fce4ff031566494cb4a66c3208bdaf6b6777185202275242981994e6931a30e42782fc3303bff343eadaa7c6606a31a710effd095a33291ee990010088c297cb13b886960303ee79a09c591bb537f3782bcc9b0e1ec646254c2508b71185a5976007224fa91d03fbf3ca6b770013dd0621976aa30f5ee5ba7d0dd6a110a514f764d5bb47fcbeb403f8ce5a09bbb1d354b8016d9150676fcf25f05f50f79f2c0505f407c840bf60e903c887de38cf0f8c6b1dbf42204f8ac21b124d826e6e3cc64b67226570b28ad0af03e7de28ff1ec2e3a311d4eae0dc2d8061a777525cf8f9abe4b4173ea7578734a2039dff76cf2861994fac0377919fa941acbedf22353547d87013a7bb36cb6da0d0034aaee9445718978816fe6a4d28f1b92dbc88f1c39f966c33a5009152cd6be1fb03e18c81d5711f9acae3813e974d50479fbd51f59dded12beab63df89b2c776d6503e1335fca9ebe5589c1ee6bfdb1d4910b7203e5ac3477de2cbd50b1932213b58c03fe5cdc9e7b84b809b3681baf03230e5716113acd9e4ac4cf30a4ce96d1d880fb0334be4d0dae95c6cba67322950ff65bea47d066387120412192ddd4e13adf3d0903068dd815b2e3c7f875ea780b3aa10a8ae71cf545922a3bf3f2c57314824b070003fc8e4bdbcaad90122a7baedd7c890941ae42ee664255c142479847375791100200581e03d7137447bdab5aa0cc20af5587222b0fe108adeb2daf437b33979319d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03c4db4167d00a4c3def8612c322112f54328f580ec2b085c245a89499c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219800203454308e6c6449a0120432b43e458aee42c46e9c06195ead2e94fcd34a6a45dde00581e02567b841351990429f7579e63716d7a936a51244e54161100c419654c95495562504d33a46a65950219c584032465d96ac5b1a92d74d18d582a48636177bbe5f525c43330443c94a72fb45b4303f196b0c03a247a669a5f476d96ccd379cf15519b904e70ec7ff0199c025283d903aab54be6c7734b3becfd11a9640a34144480b12ae78366150439b391d1977b270334273ea4d81bd4e1ba280c8843ce1c765190667aec5c4af93ed7b9a172be698903a890c2810121d84aadb5562508d51faf8da0f574bfc9fff3701ae948ac5d770403e797ef71874e43cef2987f1d40aea3a4f964b0de9acec59d405b8489481d513003e378ec1d24e1cabb1b3bcc7fe27fb48a01cbd7ba0fdb1019bed61333d0a060f4037aaede9ab1d608e60833dd15885a12e5e1f9f9d74b244f882245d6f09bb2637a039a747ab57ab48f7465ffed3e8673c143680cb63e46544f548fda6028dbfbc5a303d3a32c5e368f69fca7340fce80f9764da581d0688d5763cf09f27d245f0ce21603f0a10b82edabe9d0d1ac51c7c9bbd03ef08ad0664cb3dcda937d27ab17ed4888037c647d6116b0cdbfe5bda01f63c73fc41864b041726f10107723c0f5e4a800a30219ffff03a387d3a4c211304c96f8574e59284b84fefd75e9820c14810563d99e04dc10a6035255ca715791d1f13e2dfe2d936858ddeef5b293d0cde6518f1b3022f44cc6c203e9e98d6bff5ad5b9b7de5550b994710e9ba2667941601805ed826769397a039103ad54b7ce288f5ff6702adac0b7d36f6dc0bd934d7c3814fbe484d1bb0f4f340703111f7cef7605d02824b49bffe74e1666f500ebb34544e0b60882ed96b11269a90315638f2590d10d0696bd942cf72d075cd34a79c8d2f308561999ba11373e6bd2033ed924b7b094d1b47a67dce312bf01d29413136045b04151104a89f7c1a0c9c00219ffff03e563701dad4fa06bc38b6e1ac72cde44c62ffb6ce5fe4fc617447f164e803c1c03e00e22edaf8adc7e7193622f0a2d1fb7d9249c96a28ec6160b6bb1f8dca85491031282332c48b96608b27c765a4c2217812f39d83575db95fa76cc45d6cf4c6eef03415bb7c40d2eac69cf71bf5a6fed25820acbd14d21b2103b775497b3e2d8c501031c68914a4ef99c45495d93cc2ef508d58cd32de096dbbbce0eee326b725071d60318a3f72c00fa0fad47f2317202c8fe4770f52ba44a7883620c29fe92367a4f5d03d16b7a2ec6de57017f36b81a91cddf6a1e9ae46165691f56f988986eaecd01ff0346bb42bab4dba8bbf56d634ebb23ee44380fa32e159a6d30ad590e538b6939f20219ffff034f976ba21ac22f1f8125e085192e14b31cd68add8e9365f515f8b4f31213d15e03bfc1efacc16b4cce070058a7a20d4683924cfcd50941be5bf196f99ec4738de303aac4f6358128e22e13b28a42ac8cec6948a47ddd47b99bc418a45842f716467c03708c4bc98297dca10302644c9206096b661afd9be1fb5093a425838d3b9b798903af942f08b3b0d45e1756a3075d8435c41a74c6e62337e7681cc72efce3f75c6703ddefacc16eb957a76f314363272d50e6a77add8b1405f2f2f3950077f01ca9b5039f0928f2c35e3f5c2eedb9c56036e3b28956984fe1e79d92591666f09312689203c42257a05f008eb54ca83ebdbc02f16345b8aad4ee8c674559ac4f49c3d837f103ad6260c8a58aea55842f00cd9c21d9fe56207c574a8d2e2c9dfd59c8ad3f0c8403abdc12f06a93c21550148bf428bed896437a6be0df39f88d09797f227991674603a8b38cf8633f21a2e77c1659852d8cf225e3b8733e5eab9c4d8e947a510d52a70362e3264560cdd0209ae906d2382adcf0a7f061ceddc620a65b50dd4ddc3b3fef031181efc30d5e981a369bb3ac198553de54633b0b7147d74d052fb6b510015062032d4e0cc1fc90ef06cced12ad95d76869c2feaa58e2415c2efcef5a6ad194518d0300ba8d94c9b1a49b25eaa9e916fd06df7501ba7aeee3e4ed44646c435e5212330394aebf8b1c18769baf1bd1b6e0e59180130b1280e8dca04a3d012ac31574140503a3312ae24368ad32ba0fd0d0b914ac629249a550c49a139155b0f088dd4f2e8e03984b146abcf5a51354940f293e4f4bbd80bb92c5bec5def402a29a61f3aab64c03ad0cd2baeb49f68c9890265fe4a42701df511769fac69a01dfe3dd3b6253e06603f95b3dd51d3aa68760ef9d6633380deec058c5b0c2c2792528bf73fa165b2d7803cb764458d937662dd6f069e5b4fcf108e7a6ba97f4ae71e632a1eca69846aa06038b1c20a1d78357d6ea01a961e4bb50f20c2fda4d6ff6a0986dec42b425240e2a03f4e4f91cb1d221d7507e0392a006d7de0d2cafdb1e205527d8418fbb8571854603d0661461482f093b61933c9cec31501d492abb707922f58e987455d733cefb88037b85b765803ab009edd730e1e4085f1a8ea1b0634c3d3f78226d646bd51f4c4e03bbfbb7d19c633c7121f52ed028ca708674d29dc8b6a4bf20259d5f7d157227d803b08c024a582f3a2ec5cb79ecdece83d2cd46f6fc66415bb394f47b4870dce0bc03958d0aca13e307a86e63940e29104c27af183e0c7a8ea3d461a4e2a92f9ce0a50322b9d68ec893e46a41c316bde1406b19b1b15e51f5c35f3dfbbaeff3e302661e00581e022771e84716f4d3332c6efc137d9fa979719e70e664fe27935ce455381547038d7d8a1803b000581e0267cf70b783f01af559be446bb18f69b9469dbbec1647d92c0229be2841434c725000581e0240136e67576449dfca3590dac08ce1264d0f094237272d49f48ebce751465af3107972ec036634703c405b8015855bb7bea0084457878c1b806f1db3997ed8889a82f85c9400581e0372bb378b990733ebf795b262429534ca16e6859101436d9cd13249b7405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03e4038824e8ce5ddaf0113254645e60a6b9d292cadf4d894837679803704408a08b4800581e039548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054c6cde7c39eb2f0f0095f41570af89efc2c1ea8280219280400581e0287cd34ed43f476f40ac5bb2778e4456f4fed830761aa182cc3eb27f1da410100581e02db4aba65e648cc05dcb2b9ee410c79b5fb0ffdfa38b5479f0607a9395858200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b2c5033a37bb0f39fe9df08358a2aa1f38fda7309ad628c7551bbc657d6f634eb7adc10219ffff032b82e3f135e402cb12e145e0512a7e8dc646c4d806eee7964a63967e7e6dd86503051050063ad9576f9f67492def029e7f1132e66d3df649c4c1b0d4d6b764ca690219ffff03d4cd8a4624fb18bbf00ac6db29e9a36532525d828c93ea2ee85fa15c454691b1034bd373255a510c289c703dc1e77fa354aaae6282dd0ff0ae417be20fcb39da390362852139fe7793d8249a56f1f0fe2ce1feed605c19f178f49346303e09f16b5f03f9f3de725eb312191b39a75dc0d8ea249a7a4048a8abedbd9cce206a5612dca1035a11a7e14bec39ab202e5edf5b5ee72131b83ade0c2e7a956f001cc44275c2cd0336d3d13c4f3333fd3a45e14e4ff6b7b727ed6bbb58084baeaa497f9b02c9becb03f557183b99bdb61e6258f4e6bf9e6b93d3ce80f4d359d32fe182440d07a1747d03498870a9b149283a86b702200bbf5aa5f65f56616866c899aeded758bbf874a803774b163217de1fabb7b83536efb61ccc03a5b173f10ec2e32c5d70438dac8df3030b0eb7836b88b005380983844d145e08043b5b59d70e73bec47891d4ed58b57f0350bc34b50e4f4ae055cda01611bde34d2147d78149a0b7742d66e19e8945d1da03ce57e4a9d3b647d836861b7f0a436753f0e3d8b549ddb29c0b2ffd135f64f7b403b3c5f8dc8cd53d549e08a03e84c28c13dcc3c9e01fbad4b7810d89f75f8eb970030bbd2d3083f714db43347810c84239c453967d338fbb03ffbf438d6fd9b1fd2b03287b053c44f163673ee5f45e276426a5f679e7539208ae18bbe690b67a83928c0219ffff030faf27245eecb5ef6ca9b1674de19bb077246dd9cdf8c41b4b866447283f802703a3686629b1287d03a6c69a6110591b4395e5aff771905e8c030b562057f3b5e303db5fc47ee42634662d9a9d6be6a68e77183a80d860849a6d24262201bf4268d203fb4f3cbde81fff19dad1620b1e06dbb3663e0ae6f668f3a338d1cc6392020bd803a77bfbae0fa8af7a59c398dd643fc39c2bb17560c22211ca8f23e5bcacd62f8c03dde6264db0d0dd014905e17573de39f6302f8ebac82e64d4a486d81ace332c650219ffff037186d6fb59f00f0d99823f69465c158e3ddc83ec5cfd4c7e1bf293c1337b066e03986d32268e7e9767cd1302986aacc41b0f8eeff9481785c08a0370271f74677603026475fc8b3117cc860176625d4fe4153032772beddebf2b899d48b6282d236503313c5b403ea0ab2f6f8030dafec4ea9743c6e933fe50039d3142ed768e06edc0034b0d9fecf50b3b667ba8c44d9a3cfdc792187197d3a9f8db9fb4894a9c56ee71032214713c48dbcd0e2eea56b8c1d090a41b3720adb07f69bfdd60e01e5d1b01320326d9db54e009f9f83f74cb7a85116d40b186df2e286e0525ba27060ccb4e3e1b03539489024f83a93754112571204527fb521c476e352d7816dd359c048f9d56fb038cecba79aa7de0ef105985478a9bb3031feeb2d075c27673d55731439d5063c503224852cf6c9ce8544602368ef380519be623ceda93e7306ff8352f1d42c94172036ee34ab94afc664db020484a53c26b1c299a2f9a2bd11e4dc20658fd762e8dbf0388ed5bbd244c1c805076124dc8199463e8d65b0ca4f8e986f239d6d06dd9f00103103dcaf64023468940e782f280083ed32f266a5417f0aacfd70107ab8db6468403945cc0ab98f2e071f98a6cda36dff782f2e9ea5aad05ac16d5e634dc24976b720323a357957192a5093b953a794b16dccb7127d7d20ff06eb0c4cf122d92c7a1cb033cf56f57a9e99c4fd72b35f5b9ea743308e5f2e74b13452b2f0fec3412c6788a037f8f065ad42cdbd80d1121b8d9d3a066b4d3d715a91c172ea09128772611126b03484bd238705a7e60f3e566388d7115601bf19dfacc6a0d9cea9143784872a142034a3ebd00737732ea26a38fa905ebf991b1327674d53f50dc5cde8b0d37de2ef603b74595130dbad4d949aa4d87a3735e10260e553c7e8f01c71a880dbdaa48e6660357cb697846016272513557f5eb067c44aa3df9122c43c8dde16c6affc302d1ab0308bd9e47abc50a02f296f1d98cde49bdd4e4c00baf6b6460a67596f4a594cefd033c4fc27940e7bdd1d34de4579feefc8424fb279bd2f752a19c4dd4309c3ff6470337f46ceed921f9b0cff72f6643d949b2a27c7bdcefcda971f0f0484b045301cb0387c9e9d524771dabd8f9fecc9286c488dfdc78a1a37a807a109a743e762ad92803f3a9773469496a8739d1c4c9effd0fe02712442baf8171e54fe321669bd5172703d1fe3b85f1a1919c7df875630695335dd93a15b4daa8d7d4364f278f81c7eb3f033ba7bee95e623a520bfe40705db88b98204acc98dab4e2f6a96ae24571c528ba037e1d4d8352c7fe7a3dae0fbec7273758233936d0e52343fc3ccb48eae1b701a80335f7736502ea1a196ef726b0a61c17bfe6c61c07aace2f5f88295e5000a3a95003487bacaab2dbeb5798c6f5cc92a6c63dcfab82d1689bc1e5cc7ce63c0dcab683034cd7efcc8daec81ee931799060ca2cb57cccf5c4cdbf5ead8add87a09a2c864e03af5b3ab374b82c11a1308e3d5b16bce20ecd6539ec715b0a6f12adf52fecd26400581e02d26a7860a03a7e5aacf19fc53659869769cb0a26741f9577d60fbb960742558200581e02dda6227f1d092d98e3717cccd1d8b5b1c644bdf3ac275e36760b5b24ad4302cd55034a5bb988f87891cc64efeded679dd880085714918d7f6adb9563af45ada265be00581e02cf24e2c5fc467e173f64fa03a58a7b42ebbdfed4bb2c9acb4a2d9f08a94402625a0000581e02d4e6e0e587dba80c04541da6ec968d8be274eac3505d7762324c26a2955820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0225fa5b9d60d91860c9e4a70692b7f82e91f8112949f8302386566d581b4492dd98500219283c0219ffff0353026edeeed1df48980b78dc520b8a4a08705e1048113652103ef3187e84147f039559e1f03389e654bc0388791a0c70f25656f50642741853cdeec2d7ab7aed59030e7cc9f14a20f854803bb2ff5b518ad4fb1e62919d51684a91bfbcd2b17873ae03a3d9ec18c2ed8a683b134ffa82c03cf8fdbccef295a2f3d88fb3d6d5281d31d40380acbec3817c7c82f73cdd828772775e96d8518699f6fb6dfcf8211825e8aea303e57d2a176ea95a6c98d8124f501eb35d3c37088f05fcb4f88d81ade79de3fc0303ed6c3f15413ffefa68153c1cb632bbe5af7426010698671a2772ca1bbc6b15fd038c9d3a553e72efcfedc254bc48f554e478a0e4fe64d19cee4df469aa6637ded603b8521dfaeebdd8cb76539158057e05bb09efa4cc8fe3f9ab4994329d7cfc55f70360273d39c6df911ec57f48e2d69083d69871d8d0da76c5323cf230d6db3ec6bf0219ffff032235bbbfd1e2c44a425ae85074c0daad6a74df7a3af33e742fb60518030f21af03d4fd3ceedbc425eb35f5c78243befbaf801cea93d621fd36839cd4997c54543203c244614572fa806a1db87fd946473f46f8f00b771e000b2e31b12c3c1475049e0219ffff0370443bd867926b87b325ae89980a7de3300780db6ae6530335e1912c033364e003034ca8679af76598f687280f1709f80434409728f78c3239de836e0ace6381be03e5baddb823976760a78dd48c8a072aed6309394a3899b8f5e359b25d19254e14034943edfbef98e0dec35a3e6cb3a6e13aa2bf95eb971392745e29a7910bd077ed0306f7f92672cc9aecf686a5e24d547a183053ca6733d6cd3e6ad3abdebd17f2d6039e4616cfec1d237ac1f288ae74a861b1ed22d08303d0ad07fe119d0ef60833f10316d68ae801287cefc1fa10a101833fe6a875c5950b2aa97f24fbc32b48251c3b030b5a9e5871b0ed674bee4900cbe30ba6cc759501ecd33a6e82203d749a47290703860aca31c837d98b7ab01df073feea9f0ea28a76f280194904e0824e053e5b3b03618d19a775e3f170bb60fc379dba09c1c70f0e78e6ee552e33659392193ce8cf0342968f49b8878aef15da0a2125a396ad8927927770d9afebb8755b18fe2add78037ae06e4c92bf4df9062d5a0a702b71e7eb9d7347689dcf10beda8ddb7780c137031323881f45b0fa3a3825f34fd2b03612e9ecac88bee740be94c94999b4eeedce03d817f0659e205870416cc4adb96ca63d446785216bac936cfdf6b2ec186dc0aa030994be173fec1fc251a262a9d8cecbdc56e62b01030427dd28570f515ea8dbc003483d098b8ebff5ef890b4a495c14581020cb5d023d34afcf022ae255a5aaa80c03a78e28ad49aee9a6fc53812fb671237f75b9fe6865ab857e9b3debb4a57bad710398912d7d2d50805fd20e310d15a25ca1d7176942fb9a069960876bc1d124c6c603ee9f2716b48cb209ae728e1f237d96a93bd8000d5534ff620e2a82bd549bd2ab03d5ece70f2b47cdeafe3caece24742d6389397eaefa62fc446d3575b78e1ceb2a03f99e73bff11cacb9eab75614bca56617b89f0f89045e63aded9c6229c54ae71c033f45fce475dff906722320f5305ca29decc25712a61c37c6bfdf8962bf199c330309787d33f24a70145a7156f9f0b173db57199c3a805e00f230caab35fa39e5a1031960b0f70198742f9ab1b2da7ba54a430c8efacd5fd95c4ad5128d58dcc382b20308c4550aed25daef2ff69543b2ec7b5f88a6163b9b227a0aa31a77dd876f27790383918779559237ca5c7f5e2f2a9b98b57a9d858846d1b6e4f737df3984c891cb03fc98b69fe89fcaee46a108fdc394ebd989dd335e4fb7f1cec7e883491d9862f803919c3b1a545d32eb604bdee0db6d5621051a46bfd5019765a3e6db3177014aa803d89bd784e91733022497ee62e99223c4cd27d0baec36a2bae1e48b93038bbf6303875172013bbefae010c8d5e5899dc05dceb3d88ca4bcfc1a0de4f00bf98f9874031ba5dfc436dc2b36883c0034ccfbe60cfd1696f4ac7f3e42649e499a1bc692c203e9fd947a495faa5c73989a3c4163ab12892ac740af25311abdbc37bf8795c356032f04ab92c7440d83533744d449b5fd7ef8f74a8560a00c73911bf0cd2778d64f03acdf57607ffc3b526e5cd3962ca68cb2e44297f6ae25f87d56d873d4ac0dba92035fb3b00c93c535d91416dbc5fec97f96020d08d98e1c2e8a8309e09e37c42211033bbc159d3f1a7d423dc939d24fd128c032d6c77c5ba46d53b4ef104eaa71116c03c0c64a49f6a34a6058135cfbeaab2eadc66cc236b3c7b8d0adf235281e6c60ce03dfea457baf6ad00d2da80945707fbe94bfbb677689df5ea012f85944d1cf72e70311d11947c272064c8658ef39f259306bd83537c40bf271b1f9b12fa9aca4feea039be4549ecd8802b2b6b357646bcdac4bcabc6f7a996f7dea204e58b1b5b541cd033d9d468be63f1e6e239a03f1755dda1bcec428b942f3dee4050d93e751e4b92900581e02d089ef97430691b34f8c403f72e60b72488a23d283319fb58adfa12fa65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023b6c86f0d91ff52e872d9ddf48e4a4767828cb12be981193e131ac599f4404dbbb0800581e0265560990fae83c5cdfacda7e21580aef53d3f6d4c50c853eef545f09624305e84400581e022f49648c037155c881a50ca349dcceeb2b49b255f55e332657f451893a4352ba4700581e02ebe976c49dcaa41da48a0dc82d45b3ad528917048d8f02fd18c9e4d7065820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fd777570ad62c8b21f06996c0a33a467085905789e00ad7bada02a03c85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021989510219ffff034fab91dad819e1b7342429561a510af33bbd0549166a76ed8b01fdce354837ad0311dbc6a414f9153523543be6d92e5ab904e98b9f8a28e1c687395f8e32c2fe10030b54a59d78ec5d6653427e78600fac8dfbb8e1a5a728ae336f83ece3804292cf0373633cebe118ab0ff36225d8b4b4530b575f8205d088f71742a18bfaf2ac45db0219ffff03235b77a367e869a4a2123b43e6657e688e247665c7793bf852fe3c239e2d2fb00219ffff03231151a2c0b3a64f6b6931894f182e699fd00b17e2085aaa90542005392c4016038248f0380019e8128db8faf8c69bdf8096bfe3e4bede0dbc19bdc98c327f35cf03a5c4e392b7ac4cf3f2263a68e3274c47ae0bb86ae132580ee58e9b3245cb09d403b674c34eadcc50a135c8d0ac544f3cddc56862640714232c85d68374519ba16d036425b675fbb57fd44bbd61ce3a990f4c920193bfdd634cf6195ae0fb911309770369f449b2bb28b7e43e2085f8ff367e6eed6bfb9ca7bc218e5d2e58c3ac52e72203a32c9ceb2045de27d63a8d8ec80e05a1b25c81647fc17ca7ee0f8941b673e0f9033e7e42b3ce39b6adbe6655fffe83619086c334f1a2f2e372b5b9b3380ae23806037547fb86b39a510bd328e10fbd1648938087da8ef5785e30ff48e7a7f2d9110e03a33c651eae0f9579c72bb4bd22570f51a2d13e0f7c854162dbb84e0edb3026bb031c75c3f4fbeab8bb408d16272c627f4ac3545ac23804e87fe52fcb6b7e8a151b03ac9409d73767bf746d2d4e120ff18788b1b958b9c9130f6c9c4d33f4906504760379bc5d996bad6b1da402fed105f432157d280b6c158d543b372351f0b1bc2e5c03e046685d341b111357ca56ce53818d5f2a7962226526572fc77f885bd4551231035b42609227349d91430e6097fc3ccbee328ec2ff67f1aebdda63e3e39a60289f0334472603ca01d4bd95514e250c74012950ead9d417a5700456de29849f15232503313908a31cb1d20035622519ed20f3001f41819a843a41bb47ccaeb825508f38030a381e54bd66f34dda441dd7557b0a2573a198b53a7e73a55340274fb31a73e5034bd227067312e0adc91a469f4e4b6dadb1eb2b5f24b797b291142c9e502dd4d203262dd41ca8c082998cc7c2e03f58ca1b3f72280c484f3558075975d356656c9403459c211ba5081735b77365bca2eff92b6010552dcaf647ab7a90b2f2d3de3e5f03687e06b6b001cda6a45c08c5af8615b09c3a1115b89f80e719f073a7aee0ed4f03158a3e7bd5a72f97844a11030d2eb39b930ab189b54d130bc4f52d1e648e161100581e02c64180c2c732c3c19501814840e14ff0405d8fcba1bcc2ce6b01432d685820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032108c417d7c899e986612303e139604dfb0a20191d3106a829eb46b3944c1e2a03a0d55f383df6eddddf0caab0aebab7a60bdb6be616796e21fab2f5e3f050b47401410f00581e025b401fd4564a374248e87a5a33e8e1099da4cced6983397aeca0d982254d0c9f2c9cd04674ede9c8ca6c0000581e03983d454f2cc85510052cd937b9444af962bb00b942e85655ee53001060452bf25f9a3000581e03e2d304abddff8bca0acad4879a90ff5a5e7f5fa42fb0613ff7f7a199b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020900581e022956677f9679dd6c7fd1a9695df18c64131f10cb9ebc5d3787336ee229465af3105df5d000581e02c2dbe044f122aba3e922de8e671e9f139e682f522f141d729bd0f53d52440a21fe8000581e020b2e206e37559cbf1587d5615a99509e7d8cc481327f3ab0de722b15d0458290694bf9030d2c53a31fcaf3ccc855f4f6801573a9756fe9dffe26c1bf3b0c79ac669f7e720322e6500283c55313b864af37cc1aeaea31ead02ab04defc465f0fd41600f845b02193e5f03587b118a37a80ea16536d6ad2f3e3929812b8130b4e7f7725c633a9a6fc4176303c358e4e8751b88d72585e3c2624f378bf3c8d207de48296442adcabd8f7b2562039a258ae5f5d01bf6ae5df6cfc5b58b4de027ca9d3fe26e5e33d7406567aa1f6403e8a413cc0755fe446ae23bda5b4b6e49edee5c4da8d25e4b8f8bc9bc899f61d803e9803fc8f42d0f7c92a7d3655d4f32af15fe7f5b0f6395ae456abcddea474fa203cdc0087ec3589d70ca0cbbc45ab6020a71baef81fdefd6033a18765051e1847d032b0f5b75c6b00f6186b85ce8693de9b5e543146849b2b2d2711f4f1602a85b940219ffff03dd3f3edad390ed72922adfdabd679891995e55c7f38e188675d04ebe5a80743b0219ffff0307691c63ab882be43a817128cb6eb0c1f2274bab576a5a802d219ba842d00d7503b810eeedec49eca7ebd3b4d5232f0984eea05903015f568b8cad50c7895dadfb0368b9f37f54c6253eaa887c37d1d96f186a0a24cc80427a3589351a86a26dc7ff03a26a7b5d42f59431e3d00cb709ffdbb2ee03af7e5163709fcad69ce7f6f7d1c50321d8d97535610578155eacd9b016d7ebf08ed542c848823aa0fbbb058b58f559038f07a8fc4a2b934ea523ebddae2a1ad6c427a717ef4b4ad9c0cdcf3464f0341d03699028a7f7fc1e427aface3894b79d9070e24345b54d5cb69d701fa71b3f3feb031199118b796c50073426f9e4dc27c29fbedc11adf8e07b2bcc12f37bb447f51b0355df0a86d94fb06fbdd652de1a65127098c42bec1f3b557aafe28e768803404303fc7dfa89dbcfb5aae94341c4f376a96708dba677293f3c62b8eefad7eb19991803c255ee285d23f0fb35a278be6363b3759c50456185c5058c4c6b94ab90a8efde0364d51d2e57f61c75f425c835424e29c207a0e1d2d597fc4e70f6a3baaf2aebb303d8ab36516c1d9cd72c287901f0ceb1fc85ebb81e80bfe83c75e540777570004703b98a87c7dcc1d1bba93d41f2fa2d1029d3c13705f869035c03b954defb28a546035143b084264609c087f4ac93afa75932fb158bf8ad63dccbd7bd262f980b243c0219ffff03d0f311c2785fa8481b07147051d60d9569fa543cd6e545bb4ee2bd609accb1da03f9df725fd4280d9576d67f80050deb51d59a3c03b9446ce15fd86ab2b3a43c72031eaee26fb0809485ea5a030143eeadc5ac57d8c2e0026ea248f03316da9362b203faf8e3b2e627ea1f8f66c924ba8da57c4da674dc061596bc76eced081e9da9d1035e84d735722e5d1328f543720b07ecea8a89cc322e6926e7a69b44b92ccf392b03e9681263a717c841b47a7c2441c8225c7697a5b4c0a5faeb9e8b58912c35209d0322a86a7c6883fcb4d83b3b7088690e75aada47d2f75ad6e92e449f8a748ff3d50382ac1e90813d9e4ca4c4c00ae063679cd4f24273f83a46c91fee4fab48e1a1e803e4602951e2ffd8db0723f94e6710990c90ecf63ee28074b3efdc05c069ae95a80309397ae0c2190aa78697a33325691d8891d3a6f4817c47175bd68764504ad20e036457bc1ab86e433778b98d09adb5938aa9a673cb9b2826439b4387a7c965c09f035a6f1d23b618c7ff3c869794ed31877949f27b592c187ce21969b4b4f30c8f5e03443aba9a89fd7df46c3d073be728f8c745663997c5f638e722750da885821aa5030cea32f9136092d1e4503a87c3bd49b53e730cb9223ebd448121e7ae3be35bf50320b12e954a3766a65c07542075d042b6c290de4b050f795dd8fc0b8548f157c6039cc290a8a9b5139afc0fac9623bc40d4461f2fa3d7dee991559ef57e99ddc10003807f7319e64762ef679f0230cf8b4cff2338c975963a374d419039b8a0a270d003dbc14e5b87b36c518558e9046836fc4d0c2160ad1c1bfa137a67aeeb2c6b5de300581e02c30196c44ea617cd0971079b1b7f5d95657f6c4c81eeb64a3c369e915f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0234cf4a037431f7aaad4545e61c990b1f327b2319acd6e8a78e7ab7752e45bb1024c07b00581e0217154c5c07b0276d2ac50fa4b2f4744b2d22cb1d100466b77e6de3468b495562504d333192249300581e02d7178363422c62a4b83e4f46c7446cb7cdfcbd9db2fef801860f506737465af1aacd804c00581e024897202b34c665a822e06e721b396dd70df222e1a3346610140fe584b1430bc7a0021982a203575cce37eeda938cf94c95ad1cc120f20b8c895a081c3bc746b143a2d0f8f833038ede1ebf97a04f00aecea1a7b2da23cc2bdd7e32bb99dd9260459858d5d158d703532432574edcf7c15c76d2531b93bb580a397782c82253588dfe04e239ee27040304c880b2896be829d9f7f10983e38921c0ce8d873c1960b09279aba406003f1503c61188b85e13b65aca642d9e8353f9a1b5c2ce1bb75258d41785631c442dc7c403cb7155916c37cd6a32817e2c57ff69f94291db874a02249cd6e7ed575459475a03a1a99c4458ee53360106a33df014d9c84cbb0cb2d6b33745e266ec627566163b03ecff5aa8fffb818180347de59328ea87067616a7b27688e8a9e9aa6ff66dcd6903379486b908415fae2cacc0f717e5bf34ce7d795653953bdab2011bbdc4a6b82503d4a39e1b0ff87c36b0d79fbcd17273b68de290919113cb2745addbc661393d070219ffff03f7d71bf67f1010ceaf519515147d067167081853ed1b399a4067bb1d7d7292b703f6a18dd8d04d2e431ca41dc2e2a5771700a892cf464608a6e236f0b86f48da95037dee580c8aee2a3c69f7b356aa7fc29289c3035b9212b7e445218939c840505303110909108d0d8107719d2b3e14c7a5316160dc21afddb686373a8efaa5c39d4f0370747f0af2d1013e85f2cbec7451d4cd0464f61be203327e43f18ae3f57ce7d8030c24b13b8ab78225252d80f0bb2bb140d9e5f1073ffe1445aecea6fcbe856d980326bdf7d0bf14a8e654e27f0f60dc4ff37b2f6ad3f3f2d157049f543d2546eff903b0220c537540895579795ac14fe1d604f3196af84f722fa6b9fb37415688635603801a7d44426b7f09c2c1b42937958a46b37c5946e08623e3fa61f69ab7288e5303d97deeeee11c9a4e8ee84172985200d896830c1d812af9cd66316d114fbd32380322a306d622b316cfd5f06ee6b1e452d015d6bd82005c7eceda81764612a654d10219ffff03aa4202122c6af8865787859a5330cf589107ef4913566951ef6a609cd49ee3e6035695c07c080fc8a527710b177b273c209b47883fd2452b925a5e2cce90b0e0e603398f197b40718561018fdd3681eacd4a61dde9f5620c85aa8f0551ed3c0451b40364fe407cff2788060e40ed1aa31588d08002ec7975af6d062cee15151198a530037b3700c9f4ff856197996192fa290a0e9ee419ee9ab18f8a1c8ad46a2bed0d0503f496e86ee4f4f78046e51fbfb7696eb38fb78bc80d65f3d40ed9809a76dcbab003ef671ca8e7c050b53af47483142bf1744cb6dfcacaa044a55597ed03c399d755037f26acfbd1f1c3b1e0e0d4c54c01094156a4580de1c24c8885ca8107ac72919e03be421e05728019ec6eb31608fcc883be56e25a895434799a3a041eca2c4981270219ffff03370295a15ade2874f4c07e6b8a8badfc955577dd86864a25ca9216a5719952190370016cccf3726028a80d2f3a0372bee3317b784db4089e0920baaa20fbc513d503d195ef84734286478b421dfbc6583ddc7ef72d1b1a5a38d46de9456cfcae0d18039dec3970a39df98cf435a6c4b645c248719557360d69d48ae4271996a10e342303c1b30fb16a790c019bd0de1438184151b3c32f772940bb25a23fd871d5a4ca8d03da6aae22e8d02ca9627c16ef92026914ce23cc9875c172ac497b5565db34e95603a71d5534ab79d002e917b820e66df68ff5157efe8405ab16529daef222bb4b4103d3d201980cad4c439cbb8dee371c6cf5b59e939afe4306aa26099e0419aac70c03443673fa57ee7f21617b2f5b80c6f5ca851621e02b0939c502dd62ef1097d0d303dbe08f2b3da7f4f1c9df6eae5fb46cf49a498935dfd3644b4968d6301db610bd03eb5245db9e42495b7d355103cd61c994c99111f555da901a68b8b2e6733c7a46035745be410440c977f2651e2cb840ffbd1cd5c3c5d5fa6fd86398144b45da006e03184fd7269679ed9663cad7443ffef2ee6b23ba8d25fab8ce4295b1c7f108271503d14e6e8443769ffe721358129b95a70d73f48cf18e04a5fac3af50a0618abe470353ec50acb47e36d767492ffb07f869405ab8d524768db2f6da467deceeacc29b03912628e719e7856126bdb275d6f954dd9e933ac4c5812210e24650a93e7d319003fc0109c5462b4a661d71ba587a3741119314e5308f311dd020cc25867b6a98ba035d429b5979532a87ce643755d020d5f79cd43aeb19bab8782c9a60de862285e903f677b72e968e06b4475f4eb50728de35e295369bfd4f106aeb4a457b6babe51e03a1956f76c03f07eafcee1ce784a140dd2230a185b825657a8984c0682855a26f00581e026561cc8132ea7e4b64a0ef51eb300465604a7dd2e9cc1407bd8684d3b1434074c700581e02be0fb64703e0c47320230e7d562da484e0f21adec8d7f7ad3cca3bf49b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0225cbe0f9b6217c5a56808a48f6d1f5b425197e29c847b919f4320e6c3e410900581e02e7a9803960466530baf186876a4e46e7e0c45b36dbe1250c7e7308c10a4401fcaf790335fbf054d325f80f26e696a97bb6ab8670fcc5ffc5893ffe80a1db7a2b9fbd6800581e02080696b45a677ba0d677137dcaf808fba86eecf34953c4c91b2f17c40d431db45c00581e02fab34313706bf2bdc5394dda5c6dd95aac4b67b012d9c0f654dc4980375820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ac59039ba1f96eb152c2ec1bc1ceceecdf07fa5781bd70431a2d1390e02352bf66b628038d237b04cbe2c3b0b8cb42f42423e605368df819224f8ec411126afde979cb7e0305f58fa7a1304fcc8762d2f63ce84078c9f936927bfeba7afd55577cd82f9281036036bd742538b478b7a71eac36300d1f2acfcb4a66a828c6cbfab765e81128fb034ced7e907cf8af623ed5e74e4b12fb761f3e9b2f9841ad7f8f3dffe115df3af503ca7e120a545ea77eddc0b43753bd484e88ba7a29892696c4839ba8708414fab303e1c00c9cde22f20e12ca5fe4c3216cbaeae95cc75cada1ac5eeb503ddd8f720703e3f01367d79125abe13ee9efa689f5c59cb2397ee185381c16487640ea5c1027034785c768b928e8eb7185e74b9efcd2f6044b5b8a5de01b0310e995b4600db5a60219ffff032ef5afc60ad5fef9b6db001134b43e702b1fc6b1c637c2936a451196e54b126c0373d0ba44abff4bf9ec5d65844be8e375c2c977d5cfb3ddf14d5a2d7c69f6d43703e4bbbdabd5a80dde432ca0acbf3f899fc4e3b39b02f44cd0d92fa6e217e501c0039333fc79d74b9a472907d53375e724f4934e34db96b489606368efde32c6bc220219ffff030e69cadbe57ee070c710032ac29bdcf5d717b3e5cc777bc16f3ce4b1d211acdb0388d632977352e62f9428b69a9708dbdd1745eef26c8bfa8f9fa6c0722a497fe703e4bee60970db22f9b9c6177f90e29010b4c2198de9a4e882d57520ff4bf2896903adcc3d1d60c8feac725692c35803730c5ab1c3dd0098309853b7a285dd4aaade039f4d016d6fcfb1930611afb4b2ac20b21a3b1804a5bc36d440c274de2be133a903985a666bab5532753c6f46028bfa13fc00c00b68aaba2fdfc6e035d2619b775c0375917dadcf310a61731a183f9e887a7a935338fbdfa4656a7a78754679341bef03ec42b27601795401398488f4411337e90b249b9988d325a64822522d250230c103ad8fc0cca6f0baf33bc02294989219035d26ed7a66f4e214b64f04c09541c21e03a527cd90bbb2cb312f7f0bd376f31270ad58cfbcac0e9fa3aa7661cb1eface9d0358aa0f38eb77f4f27808bb9183e98bf9dc8d2c431b10b05edc3453a420d1e89503ea9384f4dfde50c301deadb696d3024e6c2a94fbedcc8d64ea6250844e42bad60306a20ce1abd47d28b7711c06355084a541b96cc993ad561669f18d757c5c5e200219ffff03f57649c1ebf06a72439361f2812a53012ff938545ec425e94a5a87c7191de14e031a7b0547793da5db57087ce91b5969a994c132dbb01cecb7b912efd3e1b5bd6903744d8b042be12fca24a8cdb4976c39eefef3ba77073bb262f4e30b949a7ac5c903b0369dcb86388d13f3921e921e32e50b43ca79d6b37baa14994551a9def5538e033fcaf05db1c0ff81f7d2196ea2dd8bedb0da89890ca2ccb9b0a1bbe2e951bb1b03f5588cfabeb8dd73547c553f6e67439fee93d11e6a47fb13c76c37617e1af407036a96f1f601b81457c118c0cc27d21f8604ad1879d95379af3dcac888eda4649b03926adc165e3a3463b86ac54510257e0e676d0be4b9dfbb8d597e4d4ceb3b7e34035f0c2da83fab90086d059c6fb5f39aa8be8160e3c087622fc97e86c560abac45038e752a2d70a341a40184f09fab925c71424825038b44218a8672a68255a4c93c03931a8bc65974dd4b362081d7d21eade01c07dacb2dbd842ccb66672729ef8282038b49442f8ad6eaa76a4a0b8d3532d835b06e8750c9631b8ea87b4ca8d470f146030de827721de513766925bea8cebb5ce338a9729715d346d95617f8830ae703a303fe89cec0c67129ffb15c9f54f0b57d72bbfbd947c5277b1c04f7cfc9442988ab03258bd705d27f5d2a081360bca97892fd2e071988bb36ca7ebb13331d001ea1c90364a93070faeaaff5a0b3318275a51f9c3b2e7e27efa91eb9973fa7cf49283ff103c2ab7e64a046c567d7e4e6728a79cc24c5780a58bcfcef55ddddf8d238e1ff5703afe57db739eb960af222673ddf51d96523a2ff252ca7bc37902569700d2112d6039f7271948c23f1885ac4e60b49a199cc0e1dea01db33e1566c6e9b181bdd5658038fd0a0d9f227a52e725a0d0ea14de4d2dcee1d6a9bcdbb9d1677f116a2bcd7790334d489faa8cdc2b62973e64630c1f325c40f578bb434486107979d0c0d6936d403f3d64bdff7ab6b59df033ab8c0419968f43ff229841a9b8d85426e2127c05cf003de7703febbab40929d5bf491755f6e72f41c7a8d10ecb7f9a583464c280068760312a669cf5706c2ed9273e8fb8e796c19f3205e7e7746e38300bb869f8618d1b6032341a0f2c8550a424980d0f101263afde65754008708407fb6b3bba2d77b4348038ebf8f2726a64e4895b60fa4800500d2ec1ef8d255767a12ce25d6a63c411a0b00581e02a49fc4c83ce6d3a9b5ada618efe7e55a1996f8c56a4f9d8232a087e41e430283d100581e02c589e55a07310de0a0286f4917d06a53553ef3b5840e6ceb8322b3a1655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02899368f4622350fa907f639a18b1b7583cfb6775c7baa153fabbf6d0bf440764da1403487e23fa7c17c94812240c4b4b60d39f288f604304c00c44533cdfc654e31dfe0355dfebbfa0d01d3d90c8bb059f630d5669b99553ff9fc9b02910df8cf10cd44500581e02d39879158341933b640a12687e60e9a57456a07891792317d4139ebe6e420cf900581e02eb0993a2cb1b778d69a118966686d2a7420748b06fdbc078a29d8f9c344402bc43e200581e02407628f0fd72c403f7266885806492dd3a3475e7a137789d82478e5c48433d0900033d9d8a45553059ed09017f5506e332666e62b1523271d79dc317717a84cb61bd00581e02c3022269c1c46d807cbe914cdeecf0772cc25283a90a17c6266bafddee4101021976b303a296d7332c4d1075e8e53239af056a6f58e2eda9f35500877c6cc1e180b858cb0385f0cec72fde880d159e53fdfed7cec26b9280cafce9ea92e72adc5c2fefa4f4032b6d3964abcdfb5e10bffeeb8a45a91ae7ecc7a6f9d76a3384aa67188cc4606503530b9a7e43db7293508420f1c13874663c7713e91a31ac17af599f3ddb19a2470219ffff033366f5ac461e2ccc59e48eac4691ab0956a5327123dff02101158702917979e103d165b1f32e64a9940d055d5b30cb038a1b8252d53b4246b49cc5f9b1cead992703aea4d646e234b7c714b16a2b8e0f4fe74ea6b4dd2c6fb3e77735df111d4bedb4034017699133e9d65a7f415fb494cdaa2eb5c520dc6519dfec36a79db24b8349a503d6abb4f58a9d6435f14183423fa5d4702b200e55b4c46957a4a34630f344880e0326893bc19afffab9eed7226eb531f3f57e4845c03e1111dc48f2110cd9eceb79036eeb1eee7962c77f2d517cc796e1b5e8391cb0acbcbc96bad8e1417c664db9a5039f6b2688a24637b37d40eed69a608298ae65d1a7f73e426925e868e6df4acb67034c6d14f4b7877e7febdeecd9ab431749bdab07fbbdd599756f20bdae82d8e99c03158dfb9474dca0ee7c2ba5efeec90c02b0905e2d2f897c39f69db8276d95c2f703c4ee3c010fe152a6a1c24b769f6a0d5544d18226a19affa8f7e9e3664e5cc89603dd1c26b852d2abf3251313d110430b0600c3e29e62f24daa72fdf59b0a8f990f032290b62651feebee39f8c10e3497e1e0e1ebb6ad64f3ef18b502268e0c26040703f43941a28009793bef26270584313b9df32b92c793f15186235a038634ce06f40219ffff03ab79c1fb9d337b6ed0489c5f194088dd8710b2479b549fa512e7147ba62279c603cc465cb37ba1c6a6e7e3606d2c869ea7d299574d902f800e3ed397130949cf5b032237928c94162986819b956ad3a8a3f08fdc4c734b44c0f2a7f8bb728f09136f03ce8196e55246998702b660ff69ff46d332726787f0a94cb3c9aa0503eff806db03c89cb678894f8015171e9a26b1df20d0e8a2d4a9ec20ee0d170d88a1c554c0870308dec1070534605eedb482586809c6627ae40c69097bd2258a08431ae7c013ae0336d18aad366c8e08780eedc03e4938acd666e5aa2734d59b0c3076aa794fabd503bf6b1409f3bed4b6de1942ac9e1dafd4fe1afb57e26d9a9688752181959d4a0a03b2564e0a9cc4388c9fd3174e18eb7dd9e19df09c43983ef7dcca12fe734f05b4034311128623b99f49fec735537b399438c1c73c642acd4092e868ba2f4388532b03ff1f5e923db36e952fd73a90df0bfe8db02afbfd0cbabe1a515c01c564b4082203cf25e3e3ce64aac39dcb006e99cb580f2b11e1df941cc8fc9d04b7d5beb7677d033fc112d7b9347e711bafa8df8f7403ec5be1c3852a0433b353f58ac262f8918c0313fbfe06e3738a96177408f92d7850a9c2c565fb78a278ad93262d33569d57a803ff9c90702635f34f83119fc540012c378f42cb3d0564dd6ae16ce9481add611f039f329c01e51f2cb20e45c1a4e8b28a8c4dfce2d684d5d039664b7de137b7c26e03c8e808f404e5447b47a8db38c068b54c34ac9f2c3f2bb6fd2c4871cc002a529c03d9e3818c38b8db6ac123bc9673fab5f8f54e787aef56956e8315e9d6065d87d3039e50941e33996644ff043eabf68c6a817f0ff050e3ea1dd98150f755d88445320346479663a986f5ef4ee5818667bab4464199d432e812532e5f9894bd5e23d9d90308859a5792222333ed12e85f0d4878cf1fc0698bbe73ad46aca844bb7de7c9f403700554da7df1514e66e90d87a4419a2e9a604d69538acf2c9e907f9d45db539f00581e024948dc9b22b1ee9f99ecc9182b665fdc75aad860d7869c2297e667c64c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024c321354b18881cf2db488dfb9d70710c03355287331ce06860f20f595431e573d00581e0211ec98e8b6eb0a01ecb6eeed24e3ec13c59a50abd460bc43d02fb28956440634ef2500581e024cb9dd116b13bc96458995e62096bb2e1ebe5dd917b944f35542eb28dc440323fc5000581e02afc948883dd1d9def42e079af6f3cb298d70d56b462f9dbfa74e9959f55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02373f8aff5d3cebdd81298c4ff96c4784138189b6f2b128de1a3878820944015dbb4000581e02d2ee1c1f11e6f6f6e98e11624dcfc1f054c68eb939c03bcc1c0d227e3b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e036a734b2c0a9dbdb18dde7b9f3a420ebf98ab575497ec0b43752a6b94d04406f9474000581e03944198ad69a473048fe6949a2128be3881d8df81c94b6c23b120a8ce6044118615800218300219932d03247ead90ac538e463df05625a53d9210e1b240e684558dc6dfd56ca9b95d93c803677c71218cdbd74ebfbfd4a53fe994ba7f78130af9af9d2d955778a142dc2f7d0348b069b8644392a0f2f7c15d5e11c04801a0fbb6bd02a4bd9d7aff9bca194b020341b9c429b33af3268865ec2b999fc1de6719617cdfca81504bf8987d6a62c984039cab5a9d113e8c407dc3f656e05335ebde7bf6185334479dde918f30dae4f4f5031fdb618ca6c5545bb6c8d8c12c2807e7435ee239b24d91a55ecd3552654b9abd03ecaf1cd0985629ce56c82dbce4ec0187ccfa9e7bcb814dfb6a7aa5f30af29d7b0219ffff035d8c2b0d69247fddba342841006b67c89eee3494e73875ccb99512551c69c167031ebeebc36eea645fbb45fce2faa814678223b5b038835c4057b81de47587bd1303bd2a57d71c2d907fa8bad6cef03f60172572a2af1f02423a15ab1b1a9b5b8a500219ffff0219ffff03a7ba7861bf4293efb37a03a85aca8f44d0d7c6c15621f171beae46b4acd36ea4030cbc2b358ce5ee9dc5962084e4ca62eae2941fecb0f1bd81d161d967e5013e36035a9468ad8ea380fadb7dc5daad5488c2506f7ce6cddb750e064014ca394b635e03cc42aa40148d030d450358a3adad24aef5f5473e75077dfa029ba236ec08f53e03d2ab06a6ceb3596d5819c063bc9a9dc61862f63866d65ff74522ef772097b8d903a804e1e678e58954bbdc2de2b554f36e9c374660343f2c1e38c2e4abb3d42829037a3b66f891ea0cba0b940fe10f3ad6ac6bf74d770170defe2e0b0c7f417574f60355c13583e6ef0d9def030ca9ad95d3a56517aa693df8889d3e704ab2c07456a300581e0216b3e3d4d082272703d98db3cb04017bde498224c7160840935a6776f6440887886003507dba83083fc14e71b4d3cced71adb4bf43cc1141b694ba92d95a792ead74c300581e03c0f4425d21716779c217819dff62d0d96f0aea64b7c538fb3474bcc30045049239d10c00581e037ff7550913cb47a211531d0da06f9a281e4ad78e580a4bb25a9b31ccf043e7067502188200581e025324bf6a87232e03eef8e19f757f19e0b20fb6a33719c45bcad10c1797410100581e021233439edc43f64a00a19585aa471fe01cdd0b20e50e29e74868f9e3194416eb90d1038b1137738a07bce1342443939a8c9ee97801cf161b3cfca0df99ffec4d03cf8100581e0202dd22bb663af74a36eb48fcc62b05b4e18cfa604d8a05aeb4c81ac6485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192d0e03108412d9a7180a56b0a25854c9f53303725ed2645ed46884c2e3edf62e76b50f035ed9473689df46b66a3966722dc42c967551bd512bdb238f2c2708e9be3cb153036353fd9ea211ddfe29cc6efe293602d23165da71efc729875645a2faedaf2e2303bcf96ba1083bd38591334a51a4bfe2903aad31d901e04e3565435e5360f998ea033e92c5df60d6800d934fbbb20fcf2ba1a002ed3aca98ea2a05b288a07d62e0da03549778f31bc7ef31e107f80dc8dbd37073d0d06ed031a7c509cb561dec7851b503e504224600d5ee78f5c29d5282ffc8075d556a7764c6faa0946d4bf709772b72031bfc311bc3e131e1a021b313df1e618953b45071a9f26c40d542b3ce2558765a0219ffff032a5358d3348493a63e3f15d5bc33fbc8f449c9d34eeb7086d076c4300cfd86f5032ed18ed1c9ae38e309140899267b1fa59bd619c5dd6d6693c20f3256b0b8eab403ea4c22d8710bf921237b22d72c821c31c7fceb7cd52eb8fb7960448320e05e3f03a79fad0a8b33b0748b70e2c976e50bcf82fd6c6c56b19a2e77abeb6ab62e33360320200644a3f543ae5f3ae2ff2d9efd3cbb659c62e5d3fffa53b269cdbfe8efe803f4735d9bdc7db092bc7a866fb32cae202e762d0bf5a28df0b1e1c9951f54ff7a032342f8d1b71b2bb1b7f110c4b71fbd769e47f5921ca2b67c3d904a83335a587003f69d750dd84f6de6f395971c6e1e6444cd01505e5c6978deb7e0f92f5794df34032c356805449cff4864d2e71aae80c7ee75173f7a2b71a839cbbd948680db8ffb03580cfbbf32e98d774fab487f0474ebbbee90ccc29b7360ff001dc2bea0c2450a03cf99a3868b5df54625b60669835ebb962df3441b621fe49735a9bc5b700a8d7c036fb8a8e1f706d5aad54e03deab3513a7522f3603ce8b41a9238db69c4397f11d03418018bf3b13ec58a7b9edd56fad75f6266bfed81319b14403d80e5426cc3790030055ac6cc9090359bf6be178befb6aec203bb75b9a9fa7203c35af41693a7d3203e6dea28e7f218f8a5f8b4b57609e69d2b34151d52b8199cafc81a7f1c05dbed40219ffff03d24a009e29e3b59ec29958a0ee9d7fdd3356d0bf1c626b5b79cbae32b27cd32c0326f536b54d328d86e54d85add0806790ba82e9f98b1a4642ff6f9a6f8114cec103f227215e809952f9a342700fa0e2264ee8089b2e69493a23e05896a12a191a7d037018301c944bb9ba113074a65434a15baaa0d0e1c6798892d378c259c2d6d3b9032c93b622d07e605c8d98513ad42aafb8b55edc80110b5b83d8b784c23d5cb90703b8c0c663c7324c14459c34054149fd131062e54b180b39e136dd8e0f8112ddb703a8e5eec82de8751c2547207739e3c1baef4416c386be432970ae98775281bd97036e7fb069952a0455acb07cc3b41fe8034594cc169b815373c22019175f853a9503a029436f76ad2551b0058eaf00d1c9c0d5e89691a736bcd388efde516fb9b09903c274e4ee5f49a3a15cad4bcecddb3a2113bf05065a926b58c3c687db38454290036fe7c1dea743cebb0db2e4dab1f28561e9b9f01e9f99cd0d88fa608d0085cabf03481d0e2f44a4332ef01ec56448cb5ff5c9f5051e4f110d1967084986de5a93c903d65d8b6c88ffaa7ff9f3b8394c0d256f714ce530a381f3c90b48c7153c53120b03846c04078ed0dd49bff2467be53445a0a5447f8598d29bd28e52fa2dd19addcd0219ffff03c59e7f11a897e4db83fa9b83801d509a5d0d43718e4599ae8d07a756084073e703b5479a7ebb6cf7fbbeab95a7e5b2f4c2de911a11576316dd14a22dc0aa336c8903a322907f5074e9518325f8115452c0b0b2ca8310273ca0937542f7c47f4e7cf7030f12c5e4a4846ab4a18ac190c40b5bd2182abe314a9a5e3180a5c18c84120384031d5369305220c07fd3727aab79808c018874b1ad7ade1c1274c3cdf5163c90c403780c13ccfc21f95d9a7dd01435f6e18c14c19fad741f91e1d343adb7aaa45b7d038a693761eb576fed5f3c1f1c88a4082b7e266a5ee5927d2fb1d7a05b1f5ca6310342508155ef49a2b5a071dec5e966643997571bb1b7deff824b6a3ce1d18ea3c403251accb5967b98f52d62131ac32a158c279c5d26a3cf9bdfe995552e8622eff003eb93d42b192fa558dd50b2779219c54418850998cde1ee859995a75dfec307e0037deaacd9f32ed085f6a858595ee0556a9717646c3d996b90e6916b5788b1e35203b2eaa17cf8ee7858a3be6bc2d074e6f89124b665eebbccde7c17593cf0fb0eb50395e714a90127172665c4eb1101a89fa4b7f02e387bc79486026e7af290cec3e0039c23146d0c5aaf7e5b9624f461d79467222e28b6a09ce73afc44d2edd0b52fae03f225f67490e9cdeee9e6f046f57c615764b075f6879ea88f5eff78be2feb45b503025170a2df9712b2eed94babc174aa2e0d7bec5771569170681366c40eaa719603a8591c39dad0066b329adcf4e2e65ad3fc4dbe641f7b33668f8668982ef8f731034bcb680c220e51c937018b801786c358a13e99623ba4ad4e6b0535338007622f03da2f55f94158a7a1a556614c836396cfe5fdff2ca4333b73b3f7a3719c5275ea00581e028aaafa80385ef3379eeb55af4aebb267351edb99bd5d2a369fb290300e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025585687b0bc5b9720d6a49176cdbb4d5c4bd9957291592fa7871308ac1422710033253728dc4f04108be5c06906b43d70014218925c954814cd0438bdafb2524cf00581e0274710be89f9e09ee880f3784c70b372e359f5fc06a8ad1f872ca8ba750441dcd650000581e02634d3b9c41791b69b5c0734fdcbce335069a3b6bf3cafcdcabaa203982430dc37c00581e028141ce522eecfcf8ce9a83890260de643d56fc0d71700b0f37900b03684403ffbd5800581e02f788610740f68f2d3890e3cf185d2cc65b35ce9491aced015ace861f3744045da60200581e020aa5f16e4238a49a657e50d46cd60487513cfdd3a7786aac406f28135e44017d784002192aea03654cefcea54b6e702350c74cc8290cc934537b1a09063696fc64aeb985d08979035c3058f86d8223def4ae6828ca384bff660ef8c4d2a6b6e446e24df76c782889032811846b8c46cc2fc4b8f7b7e8fe44b39619adf27b9329edcd414d0d4c54de4a03979337f72b5f8ad67e9fc9f5f807e75240f925b09f679ae191c327600a5056d403c1c30cb92ab94402fd2e16fc11121c9ce90a5d775ed8836cf1aac1e7b0eab0fc03c2e55f37b95194e691ef5e7a6da3d846491bd7bbde8133dccecd6dd2b517341f036330fa034ed79cdab66f35a7c30876d7f3c128a9d70e3299c9d4148e76f1d732032636612ac968b97964547aad85fd672014bab43197660f829737f56d22671a1e0370ddfe17ba85c9a70db9e670108c18d234b05e9a1ea9ff4f165d6327714f8ae003f7ec3f3a1b8d85f569c9250ec46ade0d4cc58e77eff716909afccf0f9bf7913b03249b3a507fec3452c88791ae0d882c16a2bbc8cb18255b16b5eebccf3e095ff60219ffff03205d155c62aedd1c982d1623e4a09e93caabf4a3139fd1577deb9b645ef91ac60219ffff036a2d25e888f0e47cb1d5541a6d52bb81703ff656b9cbf8d6fe090a94a5e6b704035117322715f6e7f0d6bf38c07cf97678f20bd4230513c7473420facc32a6cef4032f254ad7fc49df4f181c864d582936a833b070653741e4f6ff757ad6390993d203503c5f258d6a2700f8727b2e7a87589ab508c04cabc682169939268c1fb3592a03e24b8430bb5ba830a87225f45b06ba4f78aca645875dd18d333e0042cfc7f53603397cdaea472867d071d12879aa6a8141a0d3000e1b67cfada6229d12a21b89c9033113cf0d194a824df5bd7711e70671780af8738ad65633ea6a7abe220fc560ef037337e3fa696728e4d8c0705d69571559ec99734d63c9af361ffdbe7ede72766f03ae669b5d873ea49ca01293419ce1e7536a87058473d78b6acf691181861ecca603fe36a44c8f0d7d930d4c854130e64987267a1a53e9c2af857635db0a60cced9903a5f7bbbf157c99801abcd356a589b6cc59e90b15c888580b887b8c498606288d03db7925e4be9dbd51dc02096992912e2b0d36a1c4e19969bce311b3b4dd3aca7603b0aa151ba72396ec889b86904f3366ed67ac445ee44c4dfa8c0f701672442a8a03f753fcbcb72303449d9a1c1ae52e25407d40e52e37fa74c262307d1231bd0d61039ce5b5e7aa720f3aec5ec4ef9809d7dd43a17bd11602a337dd824118698699a7037b54c02ffec4c0ecb1af313a289227aa1d0554ea02651a4401194b66174cc7b403fe9425d6cd438e3f02acf931cc152f540cf19ffbfbfb5176245b9f40796893190353552fe5a56e734089054364f7f1c6f609c6ba0ec6753a4ff65724724337647703bfe9139c67ae26e232a43cdf20ec65bfb82ec1274233728ffb91fa8ad247bf1703db13e836f37e15e8845a5808d253ba0a6e12fb7a25bd049ab122fd4578179d4d03aa8c3add242a4652485272469f5cfe47c9d677e3244bb649a674f2efebb8b608038bba2da52e8ed6cf60f5cca7df24902024b45b13c1faca983cec98aafdd64fcb037d557e000985431a8a4c181867de042df7a32c224ca87618b3bf72c17788891f03e25b300082f378dee199df75633ec3dfdf6e235d869ed3d371a2c06b4b9b692803b17067374fe1f1ffbc7bf0518e7560e143d17e5f8659582ba968082ec85edab403a2350281e30f041eb97fc38067c84683aef51b300ecabe1e8e70d931f37f017400581e0291266ea95d37b16c50147bf1a1b26044d16115818fb65312ee0540be18440a4b8e4e00581e020f146f3487bdc73383bbf07c1a930fe1e5448ee007de5f2e05879cc86d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0273222af90cd7dcb256a0869424b0429438a4854483c2e5a5988ae3aea04e314dc6448d9338c15b0893c18a4000581e025900499020fc82cf817f605a8344b711a2e3e56bd15c40d525620e6773416400581e02dce1a2c9d5ac1d3e21783436fb6776a76d21cba7aa5b2149b68b06ffdb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bb4531a80535e8dc49d543451c6940990055f08371b14408448e4a9c2402ac6e00581e02e1ea730ec2e439f8115a918e98431295ca9d9ed48fe488e99ed3fd917b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0276a3a04734bb0deccd3dc6bbf8e402488d0183166b9f68a4a3481375d9430814e300581e0222ad125a22089f78599592b42ea08dfee9146d85a6e23e337d717e20024402c05dae00581e023e683b378ff793203e5f5fdf2afb7468f640f8acd9e83908543213dac741010219eaed03c419d2fa07e6b49929f7fc03cb281d08ee23d4d5eea3bf67a86f91d64d4755550383763307a5807db13c3320880d1ef427ec0c9573ce86bb28bae2f1671241e996039e142a96575d1709da781c6b00b87321d5543fb6841f1112f650f983d48a45f4036192d6ab13b9f223ff661199a6afcecb0493e4e689d8a60ce2e3f2ef92be6b900219ffff03789f1ceef8969b92e2ffb1f05b44317b257d8ca5fa5a0bc857ce31d011fb7b05038a1e9fb107055a75c91780d886bbac2c5bd654ad359474e1bf7c5f9cbe245eee0219ffff031523fb0a662d474f107f8c8be785864813a7fc4913a35e64b03d9a7b30f3f134032fd986ae425555dc925de852c14ca5ab387ea1ad0b6361b44e52c1b0285f49e60352e36516ea06c06e0fe436a794c5a6c2b9fccacd83442ef7b30d485172b2cf6c03325361fef558a2e2f01ed30fa705ee82b45d97829c516faeb6d330c3b1f327c503d4947b33473734c6a814debac7e55009725088e367e91200d3cf7acb845b5477034486be571fa1e9a40aef5428879114ffd71367753c6a48b81b749358a8038f4e037ab7b73492870891113192093f3c71894aa88eb9814e243b025e662188df93be036c4aa49be3b699759e95ce1c2b52f26caa0f605777cb7d534b759769521ac7de03ddc40ccfd515c7d2fe621e65ad5afc24e91d5296a18000709c414d2c4a37938c03f84a5a3dc7bb1264e106ff5f2de514b1eb9ee99de4848b417a9f0179fe1ae2240362f42eeac25128eeee9165242c8698b3c702e75dc1c2d71b5a180faa16ca308d036718d5036403997094294b813d788caa3dec44257e986c377a71979ef9660af30219ffff03c8106359b8c395bdbd393103bb9b511ff3d39d1962df17539797c020f1d354020219ffff0391a5bc40a5552fe13bdf209c6a152f57d2934c8cef8c9adc37dbdede142abfc4030d05e693867d197b9235aada6ebbff9a1ef6d2f103b45b6fb7d73ce7cc5f577503508579b73516ffdf11902884659d416379315133787c2d73d1ee1dd99e1734f103b07eaa6cb5bd8774fb3c5f920677234ad6fc2b47b9f51a0930171fc6930e449103509cb40ca4649a3f61a596adc1a81a0a2e34620f3adea6553e46d23f7b7d54b3039865d760e72432474eeb0cc327f58771f9a7690a1d0a2d8aed4441acf29f91b80358ec082254172da01a6feda69cecac383af4dab1843ae17c834bc11560fcca84033e7c20cb2f8de74f061d3dd5ab6a6525e544039f811bf892f36051cea49ee81d038c8bbea0b2f0717057e6a7952a94041028c9dcff494fa27ac645204db606cc990388019725b84446fc84a8b97067e8f5963ff02a7d070d3e1b4bd8fb0ca1eeeefb03af36bd90ca2c07cc5cd1a7ccbcf315c823d6e47808c0630b68e4e69ba768a6420352739ea634a38cba343a394b3f0e4a9e8c3df3964200ea7ccf4b85f21f9f768f03c1e1a660fb028b5a489bc758154655ab8455cb177ec1bbffc8508a39230a9a76035230b9c21c5f11e829b3d1dcc2aff6e85eecd04d5c9a3a2a356327a2f28c3803032158a627f7eccf85ca1b2f2183748a36d9911a7c0d74985743f5b82d455f64cc03ff9846588ebad88908e05c4a9b426494b56a19ea479f973bff006bdfbb2f239d03a6b61f7ab4d13391405091f8fada3c96a0d6a6d9f7b6fe7b752728ad79e1f51100581e022edd9cf91362643590d190f7e20c4d0c329499c0862a44b94774fbbc014407c1d7c8036d84a5dcb9e4d558ec98ca49fcfc38bd89b342c9e12f14e7841dc83eb9ad85cf01410300581e02fe4a22f8675d644944e7c81011e8ffd15bcc6ffe58b8431185267eade14212fd00581e02eeee0d38f765fb31003ac224ffd74ae53c0edb5424fdb82475ad87d00044155849a300581e036945fd50a5b62a2f6b4f85d6f09244561513a077527266387b69b90e205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e034e7d29f0c1ae7eb73452944d45159260bae7dd94479884c83016a94c00430621c002190a0000581e02ba356e28e177517d887b290bfdb8bfa38554bf87eea9500d2429bf5605430f0bc200581e02441f9f963cf2df2d361c302b9b728a66226ee6392604d1e0195fa4c7465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0263dd44f4a6ac17a64d183de66559687e76fbe9c317fcd440a46479164543652443021987e103e0ab106a9cfa96354912f362a7dee4280043bb71b7bcb48e077ba62a69bceb21037497f2b2da314128bcbfc23039ec586dfe17a377d00db12c5dfbdb1f1bfe27e303cbefab9d04757ef8b5440dc760c4b0a00f62c5b870ecc857919c4b2a9ed7d96303143c340f5feb465f73017297706530fce9f3b530e38617cf95772a1836a0f12c033143249f2f5ac408ad4e429467410afb7c390c7348e37d02086e882aea5dc87d03b33e82e143d188914742cff015514bbfafaca7b6f5829959d0d6002a000d984903c7a2fca3dfbad64a913aed53860f50103d4a5c90704379adfdf2ff9a936d294d03eb79f4b70ff6ca7404e82c5ecd7f2b7afea32fbd0cc22bd92be407d9bb34be5203215fb004b099a365e718f76865513a955f3fc6bf98d705c681922a5064745c19035610d8b4be0aacd8a851cdb411ad5c69f22b7540e097a33dc2475d3344859ba003a835c3f5849bbd166f341ec334be65ccc9e954b1bc081bbc0f37fbc772bbf97503d2334ab57ceda2c83e9d1a4766d06a9c284381571f944974cf034d57d867a45b0219ffff03ee0e15ad1edbb36985c1dafd7da1d02dfecf0b91d6526c2c817bafa1f93d6c2c03efea8c26bf1e955b9950c0fbb79cc8a50b8d63ad106dce6fa5bdf304c90d2efc03f5c26df14306daae1be73ee27193a9e92a810a82579fe62ebfa7ed1425db83020346feb72d1acb61dd92715466464b93f9ac67f91bf0040eacb795c4019b9f846503f71544a84bbd24c72a99770c942f7c159e48c4624278b054fe537b2ac919a10a03c17bd28f1c19d0e6941b6332165ca2cf4fd9447027bc4e8e5f6b6af27aa272560312cf4575e468095044f189084aa513b4773c8c53c181cfd3def1005ae51c445103f25cfb8fbf8ed98e9f5759827a04f07257d766366b6653ca3e2aac46c237634003d72a9b4820e4b7b6758cf90947b022f96feda59a633fe180cc51661f8c6909b0034f4b098bc69153957f0f0eee080ad57785d128159f53cf2fda7e0fd43c843a8f038f0bffe2801613e794539c08d20b919aa69408af0a7966906666f65f0e5ca8dd03eb05f31899116b9f2640910569291d2740e2c645b46c5409e392984c2c5ba7130219ffff0309e98d80b3f84a1b33b9c98cb7253c0a3c3f2d8670e0a28191243dfd0d65ce1b03b79fcec7c182d4fb7776d185c0636bf4d9d2f28ef2fb452a343f49e607bdb69a031e3660eaaf0cf3358e5b140b9edb8b042de4a899eab21e7b071555b59dd6e8c0035cdf98dba7e87fa2415025953a2a9e1740fe225a8b38cfc84fc5a0b8636d1c7e03df73b238887c7b5c23718bb36d8f70b8edc2655c176b7eb117ac3fec26e4776a030e519e06f1853b7a45b227e699e790199f37fc28c47910a6be302b21114c13e703b0be207345fb1b8769940cc944b96a6a436c6e5ccc8cd064f16d26164fb14a4d0219ffff03bc879b0799615f705053a842899f99ad4026e87bb9f144bebc3bff2afdc2e6180317d3a1252b801b0c414ca15be6b7613668bd449db58ef24cbd927c618f50098a031b4e388b7030cea8a7f1dcaeceb6ddb2a589df112d414d83017e106170ad2414037f8e5cff60d3960e70e1e670f194fa7a09dce89d7496357762833c3d16faeca0038a958b3b614a8e0ca407fb98d6a2a841f10a9a78480e460bf08d237a8ce9625b03f60d08d56c8c9d337798db2a89844f5b3d4e9640c9968a2d78e4d6a5533adf9f03e4858d3e50157150819497369f4651e46ba6dba9880ef5c7181e24fc757f9360032a3fd76e055b30aab74967202fcc90c65d9153255cd826c02952ffdec94d803403ccbf6f9e12f307ef567094f14be3d1b2190995812d61d8a6513adb2aeacf284d0302bf50d2689b7d6d66ede1b4538af11f5b0bcab2edd1135c21564d91c1ace814031317572314f725974e697431ab388e2209692569c9047f18422aa7d45c44eb3e038f935410be96c6aea3d78f0909048e40b1c9e14836bb5c61012718ccc557517e037c20fd5df16d333cf7390c32af3efb77cbae85b80764a38ebbe5e343c50557cd039f7ddd4c2b64847bc1acf21e38aa1dec552dfa12311198e3718f1674851b64a3033df72e98b900b06db8d945fa2eb82fad796178614d35ae55cb2142ee7cb284e303ebb22b11ea66f1a14062994384ae6dbc7564b619fffae5b0f81de0b05b01ab310375bb8709f075e01efbe13fc06693f7bb93e8e337836cca01a817c38615ab7e3503ad07242899bcf9ef7a6d6db26e8e8e10df749a02921a6fb5584f370cc80effc303405e44d3c10891cc648be21fb92a05d0d046ebdfbd9cb82225170e5abb82582a03596d5b06cc546a73f446eb78ae460dd58ac148ab0b0bc468a314364646dcc34503a5cc0664f832793382eaab0e9f4f23aff90bc3e04aff9022006aa67299449c690380a52357914715aeccf223864b60a72d9ed3604e17be347c20db691d4829a44b03dd9555046950c1f74ab4103d8d9ce6cac0c89414b3371756cacfbca0b6019706038bb2c423ec628881c6b4cc51e972c8b5e5908a294108f49bf5a52559d0786b6603170ec3cdc0d8761c935d32e591cd47a29c7262ef40431e064e27af36f55975c40314d6b589a1998d56541b551407e77018e0ceeedc279711b56984ed11c1f7a7af036c7936fac6b47b31a9165fbea02881096d51fa033af6e4655be60098d18ead4803bfd2656365f83ef7a9a8afe9c6670642ebfa0bc536849ca2d4c787f142a1a678039665aa722257b26b05d5f8c33fbb6b154d080b5d17a312ecc08cc7c4b4dd275003c077cf09d2e83c3c858067d2d684872336a09ce6fb6f5010c71e485738d8fbc5034eae1e9aee72c868d06cfff4b8fe432d28ce878af191dab26404a0c894734041039fc93f4e90e0ff0f4151c51c5151ce583e422564b40d0877b82e3357a575b0210382f45f8a589da7715833af2a74aa627987d94b0b277988728d0713cb423d414d00581e027480ac10b09fcd881f77687dd90c5d0b1e4cbb1a5bf83f9b9fe173529e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02faa2ec09efaca42416dcf2ffccfa0cc47491e11ab9cf6f8b4c5fdb32ac5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bb063bf544e909d33a08cb6c46ea6021ceddf352b4fcc167aaab23ff1796918c00581e02787769d7d7d22d5d834450be2a6d4d93ddd5ea27946499f320c605cda85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0388cf7a5c6de15f7709d6f1c46aef5cf19796bdfbe6bae7df5b3125eb85dc01b801410403a36adadeefbb2d929b4e828f482b822439d79b1ccad5aee3e1c4b4303ef449ac00581e02d47d316fb3cb66d680f60dfccf017c7bc618a2c26bf99b6f9a5b3a8196451e20611e25034de4fc3d5e4cc684547bea8371b3a06f294598ea9a70f51609f086300c6fb64d0219a66503a25a5d68edf6b649ce23dc3444606d312d9d550fc82e622b085fe79d2526ba4a03c9cbc97758a1f0ac16be15e7678d5aa0c81c4de66dc9e49f8f1131bd9761b0480219ffff0398c856aedbcd1f5b560c7a299c5cbef74982894356a589647253b68fd429435e0219ffff03dbfa081c42c14d1ff9e02b099a9426f6b4e7c50c1634ceffdd1e0ce33c926cef0362567db4ccaaad762a13e77fcf925acadf592a43c57445c17a4de0b8d4a1dd6203d2cf80b1f01d1c2c59bb98fbc40392846131716d85f5a12317fce3ba88458e3503807a76266e6681d9467a2584bc1389fdda727f2fd6ca1c86e6651271288a670f0391f9549485a6e4e66a6fc90fec5ec0c57be7e3ae41da038b188ff535635e0837030578217911db4eb04bed83b51e2b21f68bd713d8e6b55a51d157269b95ac792003a2d454ca9dabcb7c10093e5cc1d0f7aad1536f9ddb6797998818e66259777f010371cb32450fdaa727f9a4cfd6482fc103ade55ac7e97b69739dc0b5df75391083034eb581b18a9cf6fa11e8ddf53f32fa1a0bc6c97a8b5102f9ba7a8f1ddb06c2ac03ec3b399297b78a8cbaa518cf01cf7a92418dd45f951f4847bdc6e24cd676c8940219ffff03d95996ebc434a19129939cce5a517fc9c39aeb8db88d9ea14367502482ac3a3103a4ed1a154e421c01e3135e8408f710b36b05ce8d1b5d3eece13c367fd99a8d7f031b64eb71ea916d40c8de28a562e1790f211678d4843b22f2e3aaac1c84c6a305033b58b11d1ad1d3e94146b142c888f2723c8be2f24f36bd2698bad3561bb6036f0344508474eb837b6e9cafa3aa7e497536734d3c7b5bd845a560ffbaedffe7790003aadd7977b1b79111942c1aa29eae97e47eaf584b6bd4302c7a09a9e2eedc161a036244fb54881970c3c7905d7bab7ab2b5743355c635c4499ee85bb615f556ce9703546bb5f9d23c71066187eef885f82950fd4072e9262fe678506bdd93f3e0e95e030136ab6a49a475cd8bda552cc8730b5ab5b6a408110a32011daefddb6b8182bd03bc2aa23baa172170b9cce440d7088e330f0e7800e072491bef39a8a2499a85fd03944cb02fdd768d1c4dee31ab44c9689218a8a5f5f94366c564bc19a240c36373030ef2d9f693a4af4c3d0cb8ec421653215c8c99cdd2359384b6a61dfb85448ad1039177ad24369861c482acc1d672a20c2da98b1bbbad1e5ba644b6b1969b91fb46031ecce5c6e50d02edff2782ea79803c03905d65962d39fd5785b17dc61723feae035e221f25b92ce4a444bfaa98d5cf240f8b525a1b2b6edb3796b773b39162a96b038f827b9c57c3eaf28677056e3601842f9fd1d767d59c14b6aadb9aec5d0120d6034ac4e9293d32294fccc5fc17f0511a25ca749083173207fed57b743fcc50d6530317857d44f09e6377b86b93479c2cc0e7169a79097a246219f0db50b9955fcfe9033575a25964cbee8125159747ab7e5451a27ed9ac95e0c1221ce6fe07b0731fe303f325ce3c8fe454a032a1ad02dde1f7b792b39c519039c2fd838fa821d4e6522d0355931eab705411c04ebc606c3c2e2ade8e1992dc1d6b11a285d9992eeb7ac8770300198434fe5cd48da2ce5f019552749955267c9155bd321a36b394bc8356c91603f05eb6ad4c34513a861c7712b497f8afbe4a9eda90cc4f395402df427f1ffbcb03cf773d93e80af696013a915c8f7be08268dc15601022664edd8a10b19f0d7dfb03d878f485acea96fd9df74f0d4828fd11fd131f9eb084573c2abe266d89c866c803b453cac3b551e5d474e8653a1bdca3b79ff68c41de598f24f4762900ffdbe3ff0355d7d741e91a4e7ef001aa8a1a0244a1a46eebff644a653bbb29bcf03623419a035030a8f85311872036c07ee5ef88404528b5e3c12ea7421a84a67fb94bd056f90389738d1c82f614d13f10ce558ed91a14c1bdf18771ea4891c030f1ce808666fa00581e02dca5019935e3401c1c490380aa63bb1474dcbdda445998c4808342be654401bfc28100581e0269aa5c42783a8cc58153a34a4875630bacf8a4821efcb449069fd29fe643a7cd4a00581e0233a045fab2782e4af42e89d8a636472a43b63fcd3f2b09701b3e077d7b4402faf08003dd9c817bd61b86a48acc944badbbf2dd14ae143b68a92ee1d1fabae5c43fb60000581e02e5e3c382355e04979640dd4b80e0b553f778ff374e7eb6388e4fd6aaef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039b3fe009617c48b20e71b7722f16b40a9b06c779218fe8e203e7f84f9eb2353a00581e0232a965a9993f36e7562fbefdedf15a653cb1a280dd79fae6c5a0e02fe64389544000581e02382b697a933c641134aff6b74e806f3ecd1445b4b2d50137085b80204f4405d75c80038dc1d3f4a6eeffac6b488e509cf7b1f03b00632d87bed414b55ed35062357b040219d2d60390acde54cd0e12191442f5b8fd91165793a34eaccca4ce5a770ea65cff162e3403710219b2022b8eb8e929fa8e23898d4f9710d00e48b7b022e2306321d8158c19031de2e0e6d5986c30ef28a6baf828e59a88133ccf1805018b3919eda4d9af21770337ae1fabae59f8de71d2096a4344e166a3eeab427ce4441ed5c90b1f476278fa037297658eb44908d6aae625a55805c8dd9a34fb3e8dadb8ce004bc285a5b1b84b0219ffff0219ffff038f63a66669cf805fd588bd60c9fd5cf8913e212a9febf724a8e781ff8c99db2b03f7683ecfbfe388ed86dd0e08b5c03204f14e7f2109860a4e25fc6df422a12d7803766b7a2294472293b11a39f59ad72cbf51c85df82d5553100c7b8b70404c2b8703d0b5f286a968df7dbf83aa99d1b0780e414b32ca429e61fa901ba3ba01ad6f1e03a79a9da6e36ca232be78b2b987cc5dd51c56bd491602fbe49de689ee8f27bd120336cdbd8819ebe13907b0b014ada613af4cc36fe678f9fce0fa301d74744dffaf0312c1dc81fec9e0fd1cd75fcf4af400c5db0fca06c4a0966fb960ed901964f729035b19a7de2b080323ee9f3a55eaa678cb56bfa8aec1e4469c07f513f8f8106d1603acec836b19f5d4503ece080d683ac64cfde26b5cfb2efbee424d126332dea779038942c057dd82686ea796fd5fde49852f01e3921e13cf1a9f6418d69819768c4a03820c272238f17c6844cdfeb9c39ca2ab7aa1523e4db30507d880507948cf12dd03042964cc89f8c28d8a11cb9b89bebec942b8d28c2d9c9aefd21fb566e90bf74a03d68fd1ffa325c0ff0f42511369fa50e092113012ba97b690fd67f6e444013bc103032621a42a1fafdbca27913a4f74daecb6736ea06fe7f6a51f3351994ac5cac003dd398bc30dbe1e3be845e4448e54ff0299a6ccd1c20566d4875ba4b10b573b2f030de9b4b62fb337e9e6e32dde28492706af847580e15a84dc002b7e16909828f403c108cc57f959fc0119d3a314383fbd7b3ae04524b9f9d406ce1ff0ba98d02b2203b9216061eebcdc4eb2bd2249501b23528de87f9ba5233a31ed7f854ad0838666036e91cd6cf22b2be554276ee40a93f03ccb9c60c013e64b6938c480644e1e5d7703eb9ecdddc387f30cf290f7735055059828fcdd500140d951b0f1707d5e1c4cad00581e020e6babed22e5a6266948db54a9035e5f91bb197dc80e1d40517a60f94b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b19bb19874da76a69115f0c4d8d8afd723239b0abba40dd85fd124a7c6581affecee2142a7dea9314b809a0c42d3e9560b1408a9f38d12950200581e02eafab861e82cb7c0dfe81287132e794b4a548b7e6307e521832f889bf94407545f9003e4022a378f0d6b1649f3b48fd329854a2ed797b64e24014ae6ba29febc68566501410d00581e02f324bf43fadbad5c46ee27fc9a23cc1f30f0bf76fc65f8bddd996abd385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b97939b55e8676433e810936c1fc309feade75f2d2a749cf8fcca65dbcb58af80219621c035fa79be528027ab7092f34d54d989774f7ae3e202cb66fb94d782e7c607311cd03b36fb2119d8c1931fe7bf1c59363e010a7913c521dcf0bc8da7cce770c7c1296036a0031e574953f4ed7f89b92dc13ec4b29451f5580eeb69fc7f138c28086627a0219ffff0307ad3dea8e069c463bd83a40a64fce1c4c9c1597ae85e0912c2386c3912910aa031e98b0a4ea440c85e0556ff4e766675bc110edc141ca272ba62b4d2c7f0bd17403735af6a38588bc8c10df65dc35cc527e5ff75895cb702fd70d5a5c7adb986a2c03236669f75747b4e2e9ea42a3823b6c5f49b678029a4a1d27af544f3fe80db4bc0313909c3889b9bc0f353fa82257c56d7d5f89aa0d500eedde384204a700925320037e11173508a9a6fcd75b25b9c69be6a998b945860cabe436d4a157884493789b03f2a9fd69e1f821090428ba14b905401dfdf8f8d554b31b86277535bbf84bb2830327866a2c449bdc84a34240e7d774dfb8b471a7d6dfdc524f73a859076dfbeac903054559bec57083fc9866cebd39593eaf344b5fda871463e2d8d56d2db22cf0ec03bc61a5d501d45d414a86723f99f353b53ba30af41c3c67a15a66eeff72ebc66903fa3cb0b88b7d522d07472aa11060960acfd033acadb4efd26f73e3cad3a750ef03227de260c7c5736da6bd4fa76553ac0c340fea5c85ab0a88540d0cb2c28ed62c03ee16a914486184cc1db04d1da404a616d9b8d8ec7a4fea60bf89f5687fb1dc25038951786e50ff59a18543cbb1dfbe59200ab92cb88211e89902f0b3cf94392f4d0219ffff0399b24d7973a924fc4bbf3912df64f582fbba0dfe7787189427aaec53634b93e5034071f0c589b3ac534bc35ad6e2366a006308f1c52ba2e921f1b1d159ac15b74b03279616fc79d5a3a86b63b6891daf4d35a6e48f8ccaf2300e5ddff300158398d603df3eb26ffd4b023f07fca412f35cf805c0f04682883ec2392cc90bc1fa4fce120219ffff03dc05d59aa8deb00ff511189c6e22172107b3a787b36b761b2dc78171cd75d4db0380234bff6341ead6428b6846049d4104b536be6ab7dfbb05c3ba498a50b214d7030ef18da025c7716f5247a04e05e472f74b80dd488aa27c2b90b41a0821b25778033f8dffce4f8f83b53b9f5a4bb116cf828b4a1127b1136a85c0c3bcccede5adcf00581e025e1d05e87fe6114d26f68ff5eb3131f5bbf8d3897bc451dde1880ea43b4383c91c00581e0286d62ef07cda51488a8d563fedfb60ba396f1dbf5aa6888c7b4987425b430df9e900581e022c866837a9e0d5dfa065bb8eb88382a1ad4909263790381ba13e3c880d4b4a817c7ffffffd475b66be00581e025b190aea2d23b75d6e563a77b7bc466690dd1933fbc1af20c299c82678443b9aca0003f7bea50fa5e7ab1a6a00d8ac7f3e6540aeaa0172eb5597cfc70bb97b854881700353fa12ed20b709065668e4be10fac7a1a2ce0b4a6911bf8dfa47ea333ca915c700581e02be1325e37b280c5bea88ecabc92eb17e17f0187433cfd86197b6778f6e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219845b036511ffe8cd679d926b7402ac56684a4a40d043a5f74a172e26ad57bd10efb3c5033ee9b90a3889ab14f96ad65af417830853e6894c412c2b35d26a28c284f2684f030ddc29df533e3b1772d3f9d53135d1a65ec04bc01f4ec3fb08d9dc78fc4d794d03395566382e78593b9eb4f038a094db854a95147790c415987e508acd0248a56603619c45ff587f51d6c83ac9fe59f9d2de6f6c0d6f4f580073e7ccfea918047cbe039615cd26696116672014ec17ed87d190a3305b3e723c45716c8a263a4dfd55440328dbe6928616eba0e26a9d3bdfe85d41fa4e633ed081ce99e8c68970739bc6790387b012a544f1305bf72605effa08df6fed73db8fac778b5e8952d6c793e0148c03be6e78134091ff81bb5ed71b358a9d2241c69881cfd912a721f2340e82720989035ace3495be0b36ed9478b7c3bc4dd5bd8ac2b6b549da8b9dc9ffc4efbf43fa1103bb942f7768b635126250410ba39bede44dfd930b00305852ca6cc89e28be8d8d03d9fd4d00632511d2aec1ef705c2c697e1b6345f22128e05c9363eba3ecf711ed03a2b05729ee994c31cc8ce9f7ffa38a2377e1f6cb8cdf1904c03c5fd05548ff2d033d6d9c02ec066a5a86e8dd0678fd0ec1aba4b77900ce9139f4cca9d43aa09b140219ffff0303bf7f695008a1ace28caaa4c272d956b2494e7453d089fe1277f1dc128cf6e903743721b6882729edea53157aeba34dc421a4837e0637ec7242c310160214cdfa03387a2d106e04235e881442534cb96c6b0dc3412655688a32e6a14cad77be55ed03380c1db4ab6e29e048b658f55fd50fb6c4359af498c6f9ac0ae05d40637e238903617661401dc743ee14718d04f5ac42de9d38640064847f35d9d4989313884df503bdddfb4aec8a8cbe7a2a513e99ed2f782ec2d7fc8c9af88b00292d12b060a099036050460fed8cab792f909c6b28ab7bb6cc9d4ef0682b026f5737d98add0b315b035f12a1764ad4343e1159df3ea89128c66694a186b8fdd3b8d8e89867fd7cb2a10377ada9c4bbb8b7783bffb2295eac3d9993650f39e12d5845b2aa05d255d833f3035c71c0112c7b6f8d90d4b3c72e58f07dd64ff2a85421f577365ad9edcf309913030ced3c7e116a0c6d337ad5981b38478976b83e33a5247371c97b959b2c21da9f03fbbbcf979afecc6cf72ab8c8fe0029145e9a420443a0ddcde5151d26597c7eb9039fb54fabefac23a6235ce17c69ac3008374f54bdb5d695aa41d2944d3d4a01280219ffff034f8d15df2a46337d991dd69b480c6db4af1abe404217c94cd82d5db8f2b5ae1103a77a97a19ff03f024b21727cda285c4c539d29ee69f7688ec4b540f51df32b7903395d91ec9ac426cc49d495195d1bbc5954cae05d7e22e00d11f9a9ef8bfc63b503a98236d73f3c513405bc2e3b778fbb585e25f5766ddd54592289621606d9d50303240479c65346b2c4e958589dafa68e82190d0440f5a23ebef1ef6d09ceb0818f034d8fad90ca8feb24b04e1b9923f0ef1715c074bbc638df1c82bd37cdb087346003f3c62e1fee7f5c6c8d6e229ba44f79d2976094d478e32ef722c4af89cb13d10d03c0819835fca8ed4cf0f5a018bbf3ddd03fa981b7d6aa4d94f2b0c504d8f034b7038e9417c24f9a477d92cc60cf957423ffdac292ba7af1bee6432e4dc8648f3b4000581e02c8a54d14d7c4887eb0654859c78b67d43bbbf9508b3d98f43b66aa030b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02588f6ca9df42af358038bfbcba3b88d3bd68e3fdd13bfd94dd37a72d095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026f698b65ad303784f83833b9eb74657aa279e79893339a8cc96443f9575820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0228fb0b96c14ae46162cf654f3957ee3ed99c4559c8f65374af988044a04301428400581e02476d434e0a3a8fa6ad13d7d425efcb0cd3e72125e9ac39d2ae0e75b6ea43e4e1c000581e02506d4361f47456dfafc44f439ef2c85d115789250c01daf824a89bf3d65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03d84c389c188c878fdecb86e9cd55825a3981788cd07d68a18fddf0b2205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e032886f97be3552cea56b84db63e04afe99ddeaec15a9647478e41b514d04404e5fc7102190a0000581e027ea28900e5737694a276f692f2c75e45f20a7bc403889c9b297775e14741010219e1aa03544a73b0e7d42cb8c4a839701e3688985ec32b23b39dc6b730c3149724081ed4033680562bf32b1f655d7685ad81cf43c273dea92ef60dd723c674095e6603084f0300264d8cd7609322233eacfaed51369af54b8f827548981a55d690540ef2c2100329293d76ecbb06281e3da9bffffa7ab7fb8a3a986bd6c6a1549de8991bcd6fd103a8a49a9fe5492a16307a5a7b18d8ac5bea592b04fee3763ccbda0dd660b712800391f40ef5a11511e16d55a5f3c0b7836cec1b1b30e1d537f863e42bc03ebaa84f030b362d5b5b27f924f71529d8dd6f0d10353f36415bd3c79b80313ee6fd58f378039517a027260f597f3264341f64b0780a3cc6d32cb2391fab401551920b0dec7a034ff9b7bd0e4cfc24116b0dd79fcfc6d8af65db54d78f2dff8c07a76d24c637b30219ffff0381155506f4cb55e1203bfa77fd8d4abda69be654b20b411a055dbdef23b57def0382add1e7d7745dd122c281b379d326f1209cd14e39900ac704478c3ca15ff90b0399c6b74cd1b2be87b402f51648e7dec9fbe32088485181fc2310687bd6fa835603d383b22e5a3fed42251dfecdc760baa01605dab0dd0a0b385a503a1bfa7568e903d81cab73e0d7cbc0c0e1ca5a5e98b3448ddac52907b5fb2766a72569a63903c0039c5f5e73ca7d5b31c05f09707ab67ebba03d895bf5c2383f2429dc17ba1e40f8033d5d67762c20b9bfc46246150ec6de9b4bfdd193b7ed92c779bada7d0f13f777035a6595cb4b8454d3f34c76f777e2d6b6cd33be16b92bfceae0c42c6584383afe0384a6db65058a7ae826b8fb8922d3d33bbc35551a7e40fbc2f77b750a406c32f1039277ce6db7f3d0f5b419d456a235783dd4f103c6a4b24e979c945a4b1030393b03b99aeb69ede591c1c06b192952e65a9eceddc2616ad64e7560eb91aadb15fe52039cdc6c83c4e16da481be4ee293c0c4b9834d1d87bb61bcdd886d57c99975f41803490bcf1d61bc78d2a058e856da4bec1c55135d048b6cab9775e01e0195baf8fa0370720255e810b05add876449088d5a9f0df8d8ad5b2ffffef07bc7d7ba7aa86f0219ffff0320bb164f5b3360c52001987a803d4e832192638da618386c683485a504f686e8036533d2dee54d14e5f2e001e12bde1c900b3074edb66984e807410025b1954a4603487c94fdb5015da51f17f7fcdb070e08745c3d890bcbe802a1a8af072d400dfe036c125b5af71c3e1d057adebbbadd7dbf8581b86df82007182bb723cd935155dd032e57132d69e37ba9d212a1fa844a9c8ba9a3f942f98a24c14b829095f744ebc5035db425e7d14233e838071ca79005ceffa56b93c1bfee4d5c4ba81afb6c2bd67e03e5c7c15cd412c352da84acb3ebfd6c635ade3a99102ab335f953d2eac1ab8c3a033d608e19cc9bc50235cea06fccf646d174d620763ebbb4351728242666981c15035c0e2c2085160d2cd37988a0a7eb907ffd94b4ecd2599bd3232bc877bcabc0890347736ebdfb813e26cd7c60086d291275a216095c6df7e22e56b33c362d4cb2a5038ed2c48ff529e1df7941fde7ac83ab91c0cfb9a3892b6b3da41952a85159bf0e0219ffff0362401ce989606d9f144d6d6d7fbfdda2b2dc3b28e62bfcfdde9bf010f618f201035a27c754310453cb92cecf5e76501a5522841f6892da27d2f859dc2017c6599e030a7f400c0f5278aa5a00b2f4e586e8a4d449132c35222edcac4d01c9c966a64203f405d1fef9ed5a419bb2f5140f1b89184547344ed2d74236b403f9cef9971981032beb4c0f66d38d49c3ec962ad56f77afa524442cd0145bbb8ba60a07902f4bc7039ccb90d1ece2c37e979d956b8b1f8d48501d870ab0d2d3958369b4c947801e1f03fc44419acc858da56ad73ef45620c633bd80cceab7c9175fa06268593161ec76033767d5a17e59bfd821e376df4a04cc88603e2ed89f98d40e99c2e7aeb5f5e47a03e13827c0ffc5c6a9a19d317fbcb63e7e28170f04f4dd8af195fbebc3b76d6689035333774c59fe1b341265e5c062cf386edf8873f6fdeb9db4458e06e09c189c52036c56ed8db6d95034c3e40245d7275e05d5c910ebcb97ddc52d58757dabd2477f033101ed40063a032b4f16d803ba7e7af5a31834c41e0abe635c35e18e514344f50371d99231db6dde042437aa8e138c467c316175ac1fc6875b3f2dabfe508f23270316a8047155f5574ec3d0dcaf9965e684f81352fd5bf0810f3fe520e561b0478f03f3243ddd66dc7ba285d72b8ec741ca2ddb1eba69e88863ab9f3a6d9250ea51b2033770c0874faa402cbb4ede9388745f2157b261302e96ddd1850849b7c3164ec3036399d7be4a800597aaf1fb35b6a72a1b526c5c0076b5b64277afebcc6aa635db034a2625255e9a836b43a1e4ac342e2aed09907d90c3dee221cba4ec65b1f2b17203de47ed65f35a7a507c6909ed2511c70176f58984045d9a96f3c5027ee87536ab0360282cdc1a550fb684258ef45d47485cd7ccc64a61677416aabb3d3b0674dd79035c734dabf1d3a07046d7005d9c4045144fc5355be396b33fa08b3dcc87f0124800581e021c18431b2b04f852fefe77130dbc7e3254d31011948084475f684f4ac243b71b0000581e025fde1955f408ce4350575d042859ed35d5fb3844ffb77b0f283b8078b8435b8d8000581e024fe87fcbbe249bfde4d8efe29dae618915279e09a37cee0f8e9ea19f07440210426000581e02ee5c1fa4fd9adf9572652965b56373250c8eea66a9ca779584c5a56946440111ed0000581e0236c392fc149df53e7189e8723f7fa48e3d789e0c30b5286c06feef671a440e778f7f00581e0253675322331109624187b899576954d0c69d8eab7cd7d74f2309e292564401ab3f00030c8a6fbe6960ca753a9760f21be525ab6d87b330ecc5f290b3891ec44f0ebbe2034660dfefcbbcb4f017f7064b7c2e2328c16da9d45dab58314b7a583efe22599102197e9003e61b73be0c595f58c33657893653f61de364b8a4d8aaec847e294a2694848ccc030eb912a8f7d2b5af31425e7727ce4c6779af425bece394f37f269f43876a1fd603cbfad3993a702b72f3b150911aa0c4fd5f476aed6b762d7d826923bbea36649e032631a26dbf45aaea27e957d4dc45a8b420944edab51e6246149a0e08ea641944038107fa9e47e723d18d67987e8f8c1bd87d0d6db2d9f9f148f06d66dfb9511c9903141d5f9a76737048a77e0f7e4858cc82c1bed547376b1aa2c38ed62e84fd00d003eb033b9f9b20b0ff052c33adb453ee75005ef786f5301d792ea38a518eb767b50372cd75e5faa0262308316a33db06bcb08f4943309ed72bec2574c84a2a40f01c03d09c0980f78b78739e42f80702cdcc726279017219512b6485d0834b2f253aeb03a5537f209d26aa390895d75914cee26a8a7def41c2a69ac424254ad1f33a610703a91736f66fd3b3ec6c0c44c161f617deee1ab62f4035766c73148f90ce19d72503a88479581eda742083e42b5965eda757c455799da8a87531e7e712af8908721c036f7532d670668fb84400e9e4b8822069a756afeb7c30f39586489168ab7c0c60034b716ab0246c036395df3c1e8d896dc79ff4db9f92552970ce745c6dde97e9c9038519b333493ceb9872ca6c503eda34b54a41297b3ea548c55d480138d7394ba20219ffff0317828b28cd14e55ede309b4fca1af04bd178be525f5f2b46607d67e7be1469f1035f8c4daae0044e40dfde3779e06ec4b50f0898b7c3f9e7461bbad0d3b968494f0219ffff03b95377cd87953f09aa1644d322a080cc8b334ef8c2a50f874d6cc9cd432bf024034b662ae1fe2fbf84342ca9d7f1d27a8182703e2a9dd1b5203a394bb4e5f85d66039c51506081afd00828105f741c0559208cabda974f8b7b3de3ed35136cf8d01c031d8dce5ddb0cebdac921b928cd4cb6982ee66fa31f4cea2a414452f719554130038ddbda4a053751a6f854dd93dfe608c15f5ffae97342138598883c0b5da6300903dee9eceeffb0ffc7673db498b1bec3c0c7bbe5445e77e0311dc0cb33e716d99403c2fefc8e1c6ef41c16c3dcd7de98fea97400ca6629a8119da640e0de3e4395a30373e51f2a072f8176ba4bfb27926fa39fb4a1ac5c25b47d8188794d4219c92c7803a0003e7f1dff6ead6ff925a5f12392082a0b9b365fbedd99fa73aae881be60e003e5d1e557d2a376cb68f621dead44ef2de11a1d2463aab6cbfcdb9f1aee5b5add03578af8e6e8f84a461ad16865b58f7fb091fc1852fcd67863090c471e188ee07803fb793e6d5d7b86ec963f4adc79ad56771803b771914a36f9c6d67575bc383d6e03002281bd74692e6e006a294a14956425a340b4203f3f0782a1c2c96c4203ccbb03abb66ee5cac6891140c1075f7b3a7306cbfff0e6dc774742e0bf297719f2859f031067d3a1adb079efbea8fe72f2c9764e5c5939ab025feeb7f51ea8fb2c25d06000581e02107ce453790c9853cfadefdc66175ca28030b8ec9291e85630ef9f9100495562504d3379b121800364cf5a84a4861340467df4d98329658b49d957761919892be661fe06a1e3cdfc00581e0232e4db262d74f0b3a3d0f666e0d4375ce345447181863f7bc6c6da3b795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03125a79537f8a5717095adff4f9b6bc7cee35e2b1ed178c4fac4e807579b4b07200581e027a4948480d9d6619bf5566cb2c81a5a75f71f324d4e1f3034beba79984440546b3880361af0fc52697c58f945e581d90a4111de8f456bf32a8a1e617cfc3c0e30225130219162303327c5fb7162562b24ce6cbb19415b46395ee8ed7a89983697042438040dbbad4035937d96679c284518e9523332203a9e548a8ffac718ced89273f910643a1f3cf034214671a68a8f82910a6e64cc80c800c0ab05d5519b68b4ce043cc7d53394d88035ded3e31a12c5e2c9d3b382e47f3c86041c92d25c9dd53d562ec530c41f18f89031b82af8ef665bd9968c5dffb61a9730ffc24308d178e054257914fbd1f7755cd037d4e6cbd50230c1c236facfd607b870c4b507d8f2be785b2be12ee518cc749ad03b59301cbfef7ae8c4ee3f60c9575bf1ba1d3843c06e03221bb112fb5ec765d5c0362703f2ced25cc7c6c8081429346aebed1d83435a82f7c6d62a2fd433273458d039c024f4f5d2a9e6630008929e456134d520ced0054c7a40deb3bc0a751677db80219ffff0388e01841e9180af9310f5f0127e4ea15908ab4214826353348c246abdc1f4d5c03fbb946ca06871384ddb2fb8f73906e88003c1b7d0ebaffcf29621ee3e419e4b0032e18a5c6bed6edef3a4afa7fbb32d041504b58839cb1ee3d3ba2fce45b7f1a5303d6f1a5fafaa0249cf8744d2fdf61854f10f502bd19c40ce612690575e066a3780374057adc0418686559924d083eb8887efb1de1a7b125dcaadf9e45943bdba10a03a204a9f669baedbc8afcd5470c3e02f9cf886375c9898ef0930ebb23b57ae072036241861843fbdeab6719e47237aea60b3571da76a7a25a2d29c09bdc4ed9017303ab9990b14a1a925f1722bb80498843383d8d768b0e692c93e4edf8a219e805140355e1936fc8e5110d2948a430d26d8b2d3cbdbfd5b765fcad5498138f06323df603ba015d05814dff0d4640ee820bd934f069fef148262ddb8e1dbd80667740038a03e3dd87787f57a69f2aa0765c4e9f88f7ca8acc9eb70c0f5f2c71022fd186593803a1d97caba59e2b4949b4c4732193645f4f2883276fa6fe7c6fb526b5d19db9eb03b5d10d9db79143c90fdf1a25225da21d5719c74e0e35b059ff7bb70918ae5e4303ebf72530232850809b4be03924aac856870650cb8985aad1aeab6dcd71c5011403223da053c03c89fddeb1d74afc088c92c0ef0ee2f428e576c42e82ab0f87a9a603b1f2f1f55c27910b47631d4f30814e0342e3f1d4de928b2890151ada433e866f00581e02f01be46576780bb2942c881902fb4580a58f1263e67eae4e888bb1e7da45070f06d63000581e02cef01a69bc2baca1dc8638601dc6480a0e692c71f58cb7490019c1763a430f2e58031f9ed4ec60c8d4ea589cd40808c8f48ae02494aa47bf1cce8411f42ac1fa442f00581e0202b1037ac6efa76aff974eef65e7aeadda28f4c4765e9d69f0b19f4465430ebd8a00581e027d0b278e994ddccd4458e161355b96492bf99794cc6c099596cc716f2c4405f5e1000219ac03034b14f71cda05c4b8074f86759b9565bf3311ce8da9550027d96425de9759ec8403bf8ba39317c844f4cafbdef4efeeba760980874f9af92cb9769932600bd253250356111cd78132ee714b0c1baf247fdceb2974fbdd458ddf3049ea1d0e46007299039daffc773fa3876b92b530558e285e38dc39fa531e41ec57e9dc3412a67f27db03fcddfeceac8f768f326d784b7ea38b9d29ab932ec35484ec00a65cfb91a90c7f030630c7e00b084af763541eaea9163335da03471b5b18be03a51c0752a719befd0302c213f9688b80846af6b5b37933eb5cec236ea9e5ea77de8c89bc75c2929cde0219ffff0219ffff03761327cdde00fbafc2be3976f1d9ad05b828b184485c56132ab709846f889b6b038df74591f437a969a0f8905017151517d90bc1f0d72b9e49b91a06c6cf34e83b03828096e1bb2e3d16ec193a1ff9cd68114104d87f80e5125ce3905bce2521955f037f99af1110fe2ea546ea5aa947e61d6b4eb643ce57a91b10fcd3e1a217afec570348bf279a76cf7751c40056ed208aace0dd8daf6e392b12f4aa49adcf0f26285f03dfa856911b48701c4c3671031c38c403f1c257c952288f4ec719d3cbbeef3ff703308891fc462cac9f66df83a64135572f60f1c84237ca74c3fe4ec3df73a36d5e03a94f4555d4051970af7e6d3798bf37a7a9ede6a860bcf8cc09efa1cb803aee0703c2042cd5f8f9b2a5321a44e94cf99e77bc73df710b17b3e1b0c60ea640e4023903ab28d393b97a8e9e7a46ed56730d4bf9a95dc03d6734758525bec1563561c71e039f0e6462c30b5558cf3d3a71f18e4c44f4f710bccd1e79de6504190016ea94760306e3b6eefef850ba1f0fe4fe29645f92fd61d57d10b90d18fe4ed45bfd05bba00376b64dd78e9fdab06c86522c5e62912d0029e1fffc02228a0ad45f6165d29ea203d3d520325dbfbec8d89679ac35600c1c9ba8505568156759a77bde03a03827cf03f0c18571682c2b2a56db6bb58be352978ad4884286359fe24b9b9c07a2b9ea190394d8026369b6c5074c15857f6f964ffd420f2168070c907dab5ea1f9a21fab8803a2725ee5e3613a2e12358a9f2c02f4340d7132fdb93ea85b775014600299480d0396b5a15bed8dacd61bdff46c413be1d67beecb69486bc90c0f2c17e2d105de5b03bb05a9b610373d1aed303dc12e22d2d74ac4d07a31114d1875193847e29c5d7903cb63ef3321686daa12d1f5d1ba04a976939f3e1015a589478d199f720b26fc25038c11f2547851ac4460d24536e494d33e062ce8e9f09eeec1946e65e4c892549703dedc1a496c705b567f9689b3776610ba91c178db42d1492ad6841a395893b91100581e02a618466839af6aff8921cc202f25c8f299451a9c372e47107fe3df3f805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0255dcc2f12a3dba2faa23ce7e448d209cf583e7e661bcb3121d67339b9a4404a62f8003b26d3100f96649239728d0218ea67b9f5a2a689598b4a0f9c8fafee677987ace0142007700581e03f53fb39f44999edebcbb9dd34aa84fdd2c54723c03b55e95cd43568d9045267192d49d00581e039b1b41907681f016199b16d1f10a319df99b4023901d87c37c04a074705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02186000581e02d1578d71f1ee66d298b6b1028f451e8a946da6ad4ed22832c1001031f3436439cf00581e02b1f9502cb8724ff1e53c01cd991faeeff9440a38721fe20e4553dc413b4309fd0302198a52038768e395f3d4c3f7f0c9d42073486330c8b31e50c8b18af13a1ffa6c2af7431e031cfd47c29e5f01ce1beedcd2bad1955146d11a52cd6d076f6240fc0faa1b0119032e12dcbaeadafcd3eada9b857b7573dc0ea8ff5854e26efaea89a3e8e7dfd5e80308c24b916c06d1c103c0df3640e3bf78d236e3937f1bf8c8aa5bfd5d865f3f4203456cb8a3051fec931d4f569a5e0da900a15d68a9c86d23a96325110db7b7236403c144dfc836f1a2831f7560850e60c902a37e01e03896850da624b702dd971c2e035a73f68b6e71fb2ecae72cb3c9dbb196425d10db7470d192e98098bdad2963fe034286b9b0fa4db7a3ec9a1ecbdd1940bb121748ddd8681eede932738726550f9f03361e646b53bae1db379a8f29688cdc6afda12d668749f9bfe0d0d287a3d4c96503e3dd74e50c579bc8cdc7bdbced40a7e8d1692cb34843d930b184a21174201d440219ffff030abddc4055b8a72c65f81638924cf3986b0f41933cbc7bc76e6506d8fc9f989403199ddec4defc698000b3a7ea09fff4ddbb01ac57a6122d8b566a3f94cd0b888703d1da331f401cb8c8b0dd1ad9aa7af40a5e6a485b816bf8b1e9926d7504b3b4a70311a92bb9ada60785ad351fe5b00766ea95d2c05254e789b9aa96688b7f28e44b0371257bd61fad7071271e44d253c81d7fa00547dfa49ca6fe6f1557f2e29ffb4c03cd21ed00f798bacfc9b40e6e47bf90cae5263556fb012274cefbbae1f6d4b3b803fb98c9e51e71600416d9d353b8fdc01da4a39ff44340c402be71f22e1431a33903c279f95e3de88d0d34941b6985cd9ce1e7bdd6165e1b109b12bf597f06539d44034bea103ed8026d5a9ca2c8019f89f41a22c8808dc977d1c27a73fa716936c7b503b054c30e54b74997790000dcd1af59c77e4954636c5f04f31794dabfe918834000581e029a70d2a03d30c43b23569961630c85c4acfaf1995f064ccaf3746f356a440896b39300581e027afad9c79dc7dcb11d0caac3421173f9e3e2597b773b5d566466a7748443a1491000581e02c4de1797e111de47febc504fbd79bfabaa465e8fff7938c087cdf519cc4408f0d18000581e025c2424af725cf2402468e40c23ec03e10369dedac8e8f000d0a0ee0a8b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028fee8c75821b6945023c36661dba1e566149e2c194ba46ecb2665f0ed8470ed2c362041ffa03c3f507a9aada6630a07d268a888ff76bb31f6bff4b27b44e9bd347ab54646ab700581e02e4acf23acb3392d276524e57a7c987ca8ee4c3f890ec9336aadb58853f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020e45f5402eeff9d1f5d2bda56dac33d2b024fcd9dbff07e1020b1944345820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c9acaaf85c561689f059af1cfcee6bb194289e1ba2769592ffd4b6f5af4319d5ac0219b2da0396b4504edafc16d760f3572fdbbd6021324d9bc46d8717afc19f75a37896b9a70371f2319ee8f66b3dacfe0c13826521f779e5685cd3de6de575e3cba14341f3ec037da941acd877239f860c84d3cfa4b04b35fda290b66154a06316041dd5c77d6b03f4b59a29ee9254bcd87768e4d91553326845bf2bccd45c62b044a8ef23ceae6703ea95decf8ddf72c2907f3e3b0e438706d22b4957e597dec7000c45102448ec4a037914b81de8dad3242dfe23235e635f596c95e6b6207f993aed88ba9cb8d91c3e0219ffff0362ead60f5adacd60b721732c6e1d88cbca77a64daf57aa5c0c1c9b43474513bc03a70af1bd7f9b0ae6555ab6ba794f3920f5226e0eabaccafc386957b02ed28c820300003261560748b3b9e929724214fa4afcbc7c267f957928df529bb8cdfad3f803e860057c97374cbc938bb7fd07f6ccb7606a0e644287f61be238ec8a3241bf5c037033c9db70c2ed88bdb65a54929bc573bad097bb6eac08e261148bf53379e6c50219ffff0219ffff0219ffff03c8207e354cfa60c63c9b7801c198a495d9a019082434f1c699e46dc6ed5b702403a1d4a78dfaa1e1e3085312cdff23293450e2529e9504b3e7bf41ed5628ad2aa503975f414538a4a0a97926cd8172012c96181bb4aab244e1bffcde6483e01876b70325d75a9684c36963e07c97195d75c6f9eb34a509670f31463dbcbf314b588e7e03244184fb54f8d8d1844cffb3482a179c25f7d9f121ed9dc73e36ba0e2f160b380385a7bf0bebbfa2c8e0e10e61ea55a0dd7e6d73f7b1b7caa136805c903b01710f034b86f668e9209ef0a8d5692574c5af675459ddba9687745b667a0f1441b4b39e0380f8e7acedab9b8fce162f332244d6e1336a98be6682f5df9f80a70e8ea958f1033194ed68670dbe06a14b9b413b67c9b5e55d2dda81e171f943de0b4e60f13a1b03a5a1c9b422e2f1df953ddcfe4c47c25b29437839d2e52a7019ae5e09b23717530394a6639346be95e60c05bd403bbb67920cd0da650c03c41e9946bab88713f43a03f64ec9f8a9dd47b941f8bdb09634f3a530a19b1bc1348f1d7574f8e7f6a7653803ca68a0d21da4247c4a32d10aa24ee6d98e5ee6f2af77cab141ae9ed4aff6b2640302e7e04909bf11ee6ca80a8df50cf222f655a8c06b4f35971039375c396c0a6b03a82fa9226d4152bbff8a0af39f7d479de5813fc9e4570f44738a86db83de4c4d039a597d6bf97dc1d1453321ce71a0677ce42dda31c8d37ae088f3ad7f497b517a0387a8b85f17a1f9b7e11d91063974bca7a85a37a5ab98f3ef7615d9bf63f2e107034b3178ea91e95624431b66e9bd4b07d50d700e40f8695808cdf7384d6268abde0345ec158731e7244e354fd3b8fcf358a7dff94f56cbd84555755ef1a81d5bfa9900581e02f5b4403b8cdcb2c4c0144ed46772d709288c3fa17acadb179cab177ceb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0278a7efa1c842fedbd714317afdcd91df86b6602e4ae683b7e6eb637acd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02637231ce67a953dc2d280cf84d40c34a5d9ff9efb06e5ccc4f4f355e5b465af31079f1e000581e02348d23a5b14b800d35e3f3c25d2903626372515e706cb8918ce16c13745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039fa0587b57ccaadcb204eec1cae8267d5f4236cee5b7f45ef4119b9b3b43aa0400581e028c23d4a0fe04e5bf4cbf511e39b6e2b5443b90f8273d8c70de03988f29442f24603b00581e02605b77a083d005c6352dfa3b09956d4e88e7bc1b0b60348b19d094626b4401481060021958f4035d7e4a6632fd31dff8461ab3a74697837f09951becc85525c9fb31f38ed0dca7031fba6f8488d988608cf72b43d9f3031fa4902146049ac917e60f7ee51b556aaf034e10443cb3ed947705ce9a6bb5df6ae27be6fc723bab7266aeb8ba6e616ad631036b65d86e1061b680ac21e259ba27ec160c41627bfba4f4c231641a1cd689ddd4034804321d848b7ee1859f59ffaadfd3b2adb5af4e9450e70883e0b04e420bb1bf038d931daf9d5c7a2faee9143776eb4312ca6c3f988e84eb05fcac988974fe94980371729d22966eee23a81101d784773dac01171580d8ef883fcedcd917ec2af6f9039fedfa986a7852e7f880d7824817e4c329586c6a0ed1e1f94a9c3f4e819748830314e39881457497bba3e323818998d7132b88fc00d6119ff7de3cf3c742c5f58303b9a5d8d63f66fa5944907064f5a7f57a7ce2ff2e2144e6417c0f9752b808af0503ab5ba5e07d64432286a0e95164d4f62de5abca83489330a3a0226885c5a5b7ad037bbb68aad00f3ba16083f56a317de870fa33085067f75e8344963e4e96d7b35703db5fa9438b092f35be3053f5c3e2a9e2a25aaf4b3d7e18fe1d37482a4099055503e9914524b44d220da58ca8c5ecdf4fb294b76855443d54ffebbb3574558eae6f0383503d3a2f97bc8c582d7d28ab436e4a8e7e429fded70975ad70413a42a0ba140219ffff0219ffff035784dc73b17ee7ceb3b2c5caa275885fbf00ddbefa10e8598be93985aabe580d030aaf7c3d6c2c4bac6f222ce6a1021dc3305951769312bcd94ec18aed3cdc78a10342e91f8d6a1c76e7450b4b5971bc56cd2b1af354ce389eca5f3a8b72c4e7bbcc037bc4b5bf4afd3821e0bc6a1561ff14b58db6ccc649b79d3e950c4ad5b683877503559cbd00a9d4f247f48016de225bec42984cca6ab5b708505c210d042a9c1cd8033a8c5418098145f5540de0a7640a40f7b2122d5c229b03966f6952feb4631c9c03250f4204120ebe9a3a5b8df7012f23217dc250bffe561c038845af0d03c45a0b036edbef14d1bef7e01e487fc2663b9aa337bb40c919729d993253dd873ae4f318037b9cdac12e8a67b977099c2bc9a91e9d87d04f37b77d9f91b32197790e660566034551cf1cae9f0242de26203dfc1323fafff852a0a092a615c77ace08014cc2e903f223fb6839d248b88069b9f8527c38f33b711c224db1cdb6db05c90037b7ac5403b51c5a7c077535df6c76c0687f51246da75c09876717c50a3f3a9c29f1f8adf503d6e221d350923f3f2ae6b6f1e23d65bf45e4700ee8ff023dcf2bd3c12c3b01d80219ffff0326f3e43adc112dee38d5dbb72843339907d442ae009015470b12b4b6b9ff8c4503559db9c11a5d957d99162c9d9aaa7600a0fe9e309b73008e68f1e92afd78ea8703cc68e676261f83b5a4c18f5161cde3f0d62fbaf714f528ffb9aa9d3ec4f74aa7032ed861f3911612c4ec97bf24f2ab43bf9acf0f4387ed87bf722c37e11f2def0203b3a622ebd62f2710754e27c7e1010ac43053c4df731caac79bc2af1810bb8c1003649ad82a79c1cbaf3156ad253ef1ea1bde21128155390c5b22ca2e45dc44b7ce03922c4604afc4aed45b367f495b1596dfa38cf22ad424c7473ee21a15073d8b4e03fabe93063fc8be4530fd5d4a7bbd1a31e783467e11572741383d20a74a7d89d90336c6dc98a5a3705bef3bbbfa264f0f4a72cf1e8a4420ac8ec6b4302934dfca4b03199fdc057c6a5adbe8fdb6d1a0df4d8e7b239875999ef88b75b1ab002ad2c16703469cd00b059af7fcc8a7371beeef2bb65cc6bca10d56043209ce1d95fdedf4b103b15a4ba0e867fee264e002023e8e1e8d4721046491cc34a48b591241dace0b6b035f43275fa3d502774ce77cb1d7ff26c3e26a25c521ea9febbb214ba20c47effc037ba755d90f0e0a457533aed13f3b3d4e49351790136de1b4ce75dc7be3354fb50358ea3968954c70d8613a020497cf27e3f23458941036df7a193ad34c8a86ae9c03fa2d4541480f8de16a826ec6401b45aafa407ff6e106a0404fd915df6072f95b0352fac8b3b4f69ff817eabfaaeea716d08a18034bef7b2c77005ea7e011d2177503c6b527e014fa0c7ae5952a2937b5f999cca594092c8112fe8d69b98b1ca3d951036ac249e58b7dbb9a683fa54000761cde2cebcd35b1bb228e55fc168ed6b90952034b77a00e5b64bd124bea7548b37562f729b3456d2937905ea20b80ed6c122a09035a2de115ee66aeb03f273f0b6a81420d1437eb36d67ea8b638b689fea3885e6f03d66974f50892e5b92bedc90778c7d5ffbcd37aac45fd2b5c79c86bc9691cee6503d14469ad4168adca6a2067d1baeb8ddcf5782745eb94254df895aca567aea50a03e7408b6da965a8767eb26b09e1fee4093b29a1b45c3463205f5c46e3a7c811e700581e020cbcaf34c303e3b149af0b159cdeb2c093536edcb479734d60fda5bfcd440bebc20003565020d7f5a92f00891060e5b6a7e0313db523c6b00b6ece6987f0beb5635add00581e022a00ecff9e8c0e98874b55ee3ddc1973f2037ebda3f5820df2a7c932e15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02695f25d59242005fd70d4ae79f583a1254b7a6d71b0f68dd4613ae22ee5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c6779cec50c34acb0f6c7ce1a7f7cccb7fb01e50e5c6931c3acc440eed430f424000581e020fd42b8f5f4d6c628d9f54d9a4756ba12bdde894ca5e12f0312f70d1475820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02185ba98d78795ea5c669e2fd83f70aa9277374192887db1466462c8966410100581e0282948b44147f03faa2f7090086faf6310b10744eda42d6a34a23bfc6095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ea0b7f059d2027c44f111190f623f92bac34061688cd9872a7720417c8cc331c00581e022170932017b88bb23e337aa1eeaff6b206a9036fc218862771a9382b6a4307b0b10384e3d0431d1aa2626ef6161dd2788f9a078c7b57f6af75533e37492d5064863c00581e021f2a0a81a747f33c970479c8047b64323416ffbc765f4775028630e69d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021975fd03ba901e879dc67f54c91242d641260433aabaea60a5272558c58160ec7d7dad83038b61b54e940618ddfe4df1d019b767c3b1e7b62e7b43d7617aec29918d29e3680353e0e3afd868607da0537ac1d6c49015414b4fb1f953f5a2caedb66bec00512d030fc3567b569571037e8c01cc4903f7d650ec664dfcfb7e0ad9915c63c1fe98340398a58ecc5c41c2ddfbdf9971067b126c319bb68109444e74691a655b569755a403895d1bd60563d60d2bc1d2d2866691c0acae43384b6cf126d4d5a820335b3c83030d9aad2caf0a01359ee03f1269beeaf62bae2ad395d31fa6cd4ee5f6fc4f54f30219ffff03d7d99e3f53277cc4c3d197307036ed503aba308d3344ef47cfcc10ed7fca5b7103a97f660ee86bea01eb553a8e05891df63266c7eaf2f187e53627572e24a619f103b1824fee6a849e85ccc6b380fda228ec99f0c0e417e73451754522fbd99cc44603a974384ba4819d4dc290f1e9a7b63afaf9ee0cc792b77d8b2e038772885662710324976b93dc337230e695ab294921d208f66ca138fffb80e8ce7bc835e1075e7703dd3cc30f08321d6ebc995c51273a1d3b1cb8dc30bc10bf99deb6d45458582288030972b91d7a770852b0792626d860b1c6793bc1a39d5c5e4a096b0a9beeab148a036a1a08e36bbddf760a813f0b53a49e7109b6c706f607eb46f31e803c4ec23f930376933959d15247a51596c13b62f725470124e1d669d2fa43495f05b1cfed6249037a3b5493639378a048aabc512b242cfd583fb3e5f0c1c503da9ef47cc6b7392a03d8f65f68e95d4ecc2882fd55901205957c6d1e239f7040d501eda0de9527a7cc038d1bbd3704387c55c501e5a6439e30f2b5fda55967c44bd65fd39a95aea11a590219ffff03df0932eb8ce69c290afeda59ea6727e96fad20a85b6a528ad8ec3e24ea14fb17034e626c96e92a3ecaade50ce52cf8482028d537162f3b869678ba0a76d5d611350326ff44b29b9e8e5ffca09dacee5a3a35ec413f6e34f1a8aaf0d1f6f6fbfd5cf803d077fa6f0b564a5f25bd4f9789ca5cb2780f3da5dde12c1547fdd3d1b8b8dc390394a5836601c2e284379848ead52011cbae363745a83a8a96514e3374e3f3c2950325f54268cacee5c779012b64b4076979353ab6e902b10a728246c6dc0b9d51b903246cac3887914739f227a2a86d6269e973e140dd03f62859703a6f5940597e59037806268a89d37177af78a4241d64a7a0aa94d5dcdccdafe6a45779dd76b617ec03b55989e0980db8198fe46dda6b62d74ba815dcd4890cd2fd27cc65e6a45be6c003dcaeea681865d48b3fd0752a21ed6e24373f23d3b088d2f8e984e825789493a80389c48c2a135c91e7802ebece83c0adad25676d05176f53e594471f2f44c6d22b034c9dbd3880e0066a87eb8983d66722bafded2ec3d85796e1c4599b9a8d1f4c2303ab40fe1e48c6d25d45febfa27cfa3e9ea8637ae495993bfb20e6f7782680b3b700581e028a23764257d278e3513f6019a467f220da339aa921efac5d3c8bf8b87946080eb422800400581e02af951766cd3d282f3f7327eb5fef00ff7ea0d60c3ee2cd9d08e4b235c442183600581e02bcbf129f4714aa664481814a7871492a49e4f039e6ab375dd012e6bb8f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03df12896948d7b7bfc2ab721fccd7c1417da1aebf9f6e050c20e2c2e10a0c2caa03234a6693bb4efbcf3c9d1a20cc69f4e5718c418ea0e8565f62d39126057429b000581e02c8de89b64e7b7a35094a63168f84b44ff7f3dbd494c27c729c7ecfd039441f33797d00581e0250f62c29c798bc60fb119e91e2e0fa838ea1f3d02b168bb55e1e00f29544061501c000581e024e5e701fcc2086808873e7db4a144d1c4685de5e3cfd3d1b9026fb930f4a021e19e0c9b9ff7ee44003d6f96d607b82153c3674bf5645940c6fbc17dd4952d174bfbeff4df1898f85f203376acae45e104eeb5184ee48bad0559cf85b4abdc7886fda16d9a474b3c75a4802190bfb03cdc8b67023e71537224714cbb81d5d8ed3015bcb511239cca74e49f226a96de503c6e9617e7b8166f76655cca24ec9edf51f9f03880f3d61a9bff36694c0318467034082d3614f7b207a0d4b77f6bd2b19ffba856bafe20b98c3a500fbdb9e026439035e4c6bcee0f4cfcb28acf098cd771e0d5ac46251b61cfb05fd0c79323cfdad2d03f886d257527d0fea3cac0f72c470a6251f7bb0cf61f07cfa80536d76d1ec91a303c3ca3df8cc23686031f27e0b027fb2da5d216fdbf9e8ac047ec322c32ce4044d03aabd722a05510379a77b9773695ec8b0613b95d125c19814a2998437b9bcb9c403b66c28282c599245a4fe4ebde189a372de4f289a810f27cade3bd66c1d3f9ae803585d39f60e5a195e19fa1efe4133b988c88c137871cb5423c531b5e18ebc023a03c77abb4fdbc9bbbd69f2f3f62dc42a9af496751ed7c3fbfe213d073035ae45e9035b121ac183f1d33ab7d1b789bb5ebe6542c23ee6f10a6910d7412235fbb90343039f64bb16b7882e33a277c9371be6644945ebfae6eba1d05e2823b28b80b59e3703f90c3ff61e5c3089ebcec2125b769ef9fa1da82bafddb42abc9cc3e1b79c54cc0219ffff03d57cd9f09f2d66deebef7591794d14c1d1b53853e76bf68166495349e9bac6bf036da8d0350091b1b1da2c41dc61f63204ec7e61a925ae6773f184e8b2b705099e037b2c4bd08beb8af1a9f20d21cbc77b0138ebf9786f1536bbe5207e5ca8a0d0c003ef77c2823ce4a552f01eae3c23b231517a442b656e5cca79184c4f01ac18124d0376f7a6c0b5596234ee3265d8a66d55244d2e042f2bddecc59ecb335e9c90fdf80219ffff035bdadaaab4d94f52d0a8759fe334f38903ff646881af80a3febb496c47e4bd5d0380400fcf799b305f917a698350caae5a06e1ca7b8435235322a77a3f7858595f03cdf49b2a4f337794788aa4e0c020c677cd19106ae012da23db0c3de61a61a56b0219ffff03f8d6e4a61647072d24832e040bef2af9a0ce2b731e57237367852009fb614c190367e9ac27bca498d4c8bc6d01890bfdd5067a94891f38d21497614f5b50f4774503cfc6da440e8098264623dd647a4923fe486756f71d3e677bea7258871b0e9a8f03497e1624a33ba13127892879435259d0b7346a7df5ff2625ee39ba99d9d2d3b6030d87b4ec91aecd32d31b50086f23d02abfa69c6898ba8f7ec1e1dae542ce98b003a688e8bd4ebcebab6321487c999a5d2058176d6389cd8bc34103bde405d7142c0312c5635ab27134727d13b265b40ad364bd2ac2391dcdfc9ff5e75bf30e320a7c037afbdfc50d19617d14bedfa6c050c7b634338443bfba48c9eaa8aa524407a0bd03099de2107dcf1da5be8ffc3e1a10884774f7944d8affe40158965854d7cb7b1b0387c179fd2dee0889c5966a349ac39525b58fc5363229b8286a8f1774a9a547f903f1f41c1466c2b827d16ed6cea8bc850b1061f7fe87b6a78ca4088e1f371d78c9031df4ebb8dc3fc5a2325987d8ec08036416657137f603a4676f33b5369be5901603e15fc459b459983061ec452193aeee874ddff461839208baff7f59550db2be5c03c31140804715673e1e9892c0e686b742716ab89ba4278ba6b23a5f349251ce0a031dded9db491f3238c27823ab06d7672e625e9f5b28252f5e6fb311631a0f1a1200581e02d7bcaadff1d231c7ac4821e7fda032437126eb2d12e4318bc42bd66cef440280de8000581e0281f9abef6d2a42c55f87ae8e93c000851bebe71b297d2edf9e2007804a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ef5b7b31fc350ff7cafc5c96fc9d0e46ed359e4016817a2d84d4eef74d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0390cd8b80447a8e8b83d2f1f230dad52db5c7cc9abbd8cfee3cccdbc484d6cad100581e028e9ffcf576b6c74a57a9a0905f9c684af250b096f0f69509b0e736afc55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b3dcd251883de9f0540a9ff198aa23297cea91bcf3fb5bd063cbd0e45d43f6aa2300581e0271568db2349428431020428b7dc033d16815125722505d85490bf59544440754d4c003d4f3a1270f25d91628041e1d9363bb3860286db6b8a8b147b942a416b5c0968a00581e022714569c1532be7ec68fd4b34bd9ab76065b300078b7d731626642908d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021931cf0396aa2a934cde9eb165342ab37ff74bcbf808c41a8446b3d15478b7c03b01820303e21080fd77e8d1448899dce55b5700cb7040729cadd8bea3090553086a93af3603768b64d34fed84ddd6c2db228d8d66be1103d198adfa1f6f7669992a7540d68303e546450fb8eb35ee401bc9d1f37cf612ef63cf2fe8f3981a19e53cf40cea5b9703dcf274613e93b000690706fd0a3105637d3a491d5a27fed2f092934f16206d1503ce75c5cf0bf426d29ff9b4b37c75ffe80fc937741b37a9daba69c7ac0d57c23d03f2e0d073660b6b53bceb1af03ab6cbcf1b7058ac2ad337ca840f2985be2346ee0374214cfa452b711ac78fb76d5845eda0e26f01ac48d82c46f0a646be6f3cfefd03a6717d3ba0ebc93a6420176ce26fbf883851992e7fd2c2506e457ae9efb3a53a038185d3788f55d679e4ffa57bf463b7ff66e5e833413c166885c8b3e3245d2c870358540c63c9c0ec8ed30d4624bfe76eecf9dbffad5397470a8e4893ce926d224f03d5596fad61a75844d83aad201916561e13aef04d56d5cb33b6abbd152ace2139035f534d515b336b6b8ff5ea2aeb7fd991ca2eb705008896e7bb4b8b58614068ae03a3c65e7012385ca764d9c7b23d092f5790d30fab12c82e1de02f8badc7dc6fca0219ffff03de8c4fd20c1bcc98437862dbeaa9a45cd2d1318d3a24cdff3300057d80feb95103e08ca22c73a4b13cf9d368c9bb329041d0c0764eb05dee76755d87a22c510d4a03dec73aca5cbfdc0b0f7d16d01c5dbb0ea941cf7ce3e7e0cd4f55a82d4b6ebaab035969a976647f7333101aafae184e0eca4e14be0158ef8702c24aa87b7fedba0d0219ffff034da04eee2b9fe0ca1a1ccf67f446fc5407338e611ac3afd300f4f721e63e223603e56570d1a16343b7f041b561077c0a35738977f25f7c81cc282e43b26c0ae1a803aad923ebb14ce558a8b10f34e74a4c6c2b2a1348d31bc22e0621f4ee2b9ba4c5031c0df5420bbee090bba9528727cc1689e79bf51706a44617aae5095466a24b1e03c07ebb837852b6ff912cc04a31920d78de9cceed3d937a944c0137fd415a7126039e08647f125d6372e3ab95fb60feeaaa93745a65a71520c81c3002d609dfe9a403bbb27db846c727e5a8155704957804e5514df535bc87fc9ca18d33b7d72124a7030bc247189dbfb839fb5c7e330a8a235cf430c8e7320ff7045550138d4589700f03ecbfcf6353fe6fce885c27e3bd9b2d0a2b4202bc7bd9d09ddcdc0bebff66ef2403463268b1d6543e27223be266a2183575256cfb763148d6b3fc862f1329b9c39a03487b86e757ed2dd4fda3c4495c7cffbfafbcd885f6f978570e715701cca908ec036a1b4b43bbb44fc46fa1875e9e0c8b508779d887dbfe137e47ca9cd3648c2fe20219ffff03f11b62c17e621ad7b61e08e63464b98eb6a767299d632f4e82d3f2a982d3a26603f2daf3d6554840f319b09c2f9782f30f0930870da9303ff324e1406a62e94ffa03e507091b8c27126b3235ebf1676f7f6ab53511033e63e11f8c0d6ac616a45002030a486ad7f0d1cacd0bf543f2bbd84a0c14ce09d54301fbf080b337aed9359715032c5753f6e8cbaaead7324825b7cc0527fc86298a9e561f03736ff6b6421a72ce032f4d7cf7ce7b45644d38412edefb87a591491dcb148cc2749455b4b6805635bc037ee162725ae97f58db6959ea9292db9d7890ddd7c4a8d074c92780cafe006f270310bbe348bace7ac704f2d180a43f3ef941df8d0482e66987d1eb5d7f277ab59603fd7aaa568f33afe60c3e570139c7ed10fa810d414bd1e95cdbf4e1dad9f934da039f4cd61c8686ab6902dee4d5c83386af6902f61de41abbf8d21e63c29b8d780900581e023a12ecd133b1fe7eef5ca894eea417681f871b63501d4350f8dd9280b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0314b8be0d909689c0380a5c311d347118a9e9500ed2d22500f192fb8cc7619fff00581e02d6d2f1c93b9d8413689784a463bca74f6dbfbe2c88a5ad19f34b8f20755820d7890677fba7eaa11348953858da5508e9f5f38d07757bb90ce00249cab0e7f700581e020d0f44eb533c3602173a5353505a1c042f74dd5bc421c80f1a4a1771924435d2afc000581e02af40238bb5500e5aeda413abbf1f7422b1892f3f9ae7efe015cdda2fea5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023bf5b898085b20d5057015e048d961e36e8193f764ca18f15e7ea821094402625a00021981b903b5458c3330d995db24d3add81ce5821f895ddbfcf192a2210af0305b24f58155030a2eeb5804b935d5b8c2984b9ef880d3badbc441745e2f0cdceed830fed8e18b035cdf4daa237159583f8ba40d02fdd66eb06711890b8c5daf02c39e13c9d11889034839a82fbd65d1b55398df861368d7767f7d59cb0cd34b519649b5b317efaf8503f39e8087c3050cb7a1face2c096ae38557d1c101236a0d021c5ca52512ef07e5036bf3743923ab70ef078360d8b63bf7f1920c9a330208b24b4b08849cf9edee5a039b3ba158b5596c4d5bd20691649fb0dd19215b8e1d6e6a341331605aa610e480034217579cd087b5132403cdc97171c291d91f4d629e75951d39a06c8af1cc2a830219ffff0378399954d8b2d4f7ffdbbf7ba4db2c8d086e73a66de6b8d9042f8a97743956af034ece9aff1cd7ddcac04beb6daab1720f461a18dcaad5d1388bad9f359a94b3f3039651328d4d0c2a92d39cc999fe9c0caa924197aea610bfc429e8f720cc98afdd03aa1f65273f76e976f8f2e1c2df73fe2acea335266631ae8f46521fda8134922803ba1d40af69732540ebc81db1752097713415c7b33072e136892aeee78a0071bb03d337b77ef4eb4e9a7c6b01bfeb1877055c691d57becd0dbad0929e526704a25103e0033dbf7d4771a7cc1bffb5f1707a5fd716d282039bb7d757d231b18b6420c6038a8c94a8331d8a7bd13331073ce93a83a59a2c2dbe7536afe82a97edf41ed0ef0303cdc9d25b1f2710fc65f2055e053f4dbbe9cd1117cf6a23405a4b3a5645847a03473d2b55b9b5dabef6dd27fabf2dd0119e2a828d2848b197ab9d9c06d3b6e67e03aeb295a07e1f9707481382c7add781f41f9579a197287ae21d2f6d41b38d4286037ceac132e5553efc1a46d36e5e6721f910f5ccdf061a0c9018ee22e2f5aa2c97037c3afb64fc29656422a67d909dfd830f4f101563229216c8e52fa139c5dd1fdc0219ffff033f3aa91e04a69e55a4cdc2e02728b1b30b86ad76a0e3d389c1a52593d20ef78e03a6d6ca38e13042f1236693d56d86d0affeb7379a35a1bb542250aa17ae1eba8903b4a42d8f67251b32efabd4170bd91bdb9ff09c96d4c3fc78438e8bcd2d53addd03883cb2ba68fc8a721ad298e98d031281d16681bdd3c9d257fab658e57b38d4f40362d1b3b52851de3def702bbf3eee745bec3feaaf0fe2dd7b471e2265f7f855e403f5d483ecb14574b57c5884a434b0a55e4149630d85a83e28a08efdb5c02f6bb2036b103f06a8a00c44d6b5279a840288593937f9011da24f9fa71f5d1f5f3fe6b0033465193e3574c0c8d11d7511d1291fe698a303cc145478729e99385de184b092035fc658c5305a6222c2c8d138ef92822c9fb74f087616a5231228e13caccab64d030cb8e69f0a6170d0e5a4cb1706b7fae69f96af6587e9853f8d370bbafaa1b7ed0381d582c041fe6e97dc31c28f83a47bd6a97194e2cb4693147cad7ec53f2eecad03c5e1e2cd654385342efc2aaff1257a816c327a6c5afac7a12d3319d73cfbed3503fd2faaaec9ad31e895984f77e5b8fe8ee07102fc46643e58ef46bfac4c4dd99f038f0ce2a8d2668435b13fd8aae60abebab8f4679c363ad3b336e41bd6106fdb8903fe998a0d81c47a6e1b68d8cb2b49d0869a2d7e3144c8a7ac507078c0deb0a4f00219ffff031fea580da8c8ed0a1f5c6a66c855a660ea7c8bf6cefca94ce2b47aa872b7dab703d3013e6a7fbf1c915ed3e7b22b64d0382d664fbbf9919f92beba535c56fcb4d9038f2da9a8a6a756d56a2f45a75298d8c2ba56f064b1b66e3dcfa76d883a43249b034975cdae11fab9ae0a997bc3af88c59acbc828160c2eae7e4ff815a7ff2960c403c0bcb3dc44110c7440916c72e7f93275be9b907247732a3c7399ba559c2d20bd03de6dc126ee1b694f93d4ce02e0becddd4c78438b32524e8ab02e1f3233a4648e03278ca6b8d961b34f2c4908847a9cf5d60eea4db3a15b8bb87a7560213bf2f9770301a180c70a748ea47bf4c941605e904ce5b04d9c72d937d3f9c06a7ab974ccf8037e1384c76c4a1544cb1439f98e062b0d80e57d0c915fa3ea1535eaa2547c9d2103578c0726be9e9849e3705f03076a3ab62ef52a353c46068de6a026b02f0dc5d603a56e2c1b89eb30b6f2e38e38568d81bc617fabcee4b26305db9a3ae8684ea1dc03fa113db95ccdd21c83a6d439536972c84579828f6944f98a2ceb2f4ae6d8e4630363a78841ea36f4d5d6f2fea76d7fac20c9d17fa2e3566bd073a4abff8cefbfe10304ac20d299419c2f7a4840da5c9c84fa06d3eb533514474be1a801afd26aa8f3035d21ad64941a9ae46cd14766361bb9f527977580ef42e3d5366924d3e14faf1703d6bc1d570d260bc4401f2fca75b11dd66cf2ce7c32759a61b9ea1eab0af4615c03debc947581cec230f333bdd8df2d100fcf972a562ad559139e93ceb7d738706e0395d9991ea73d9949f35590daf34de5f39bc55851e8ec75a0cd3f9369f945c8a503c0fbbd004936b6028ece3c80aa9db47bcd883ae0173ba1a956f94e9566981d6703c9914e6945fd780a8ef12c0d21574f150ba1405960067f1bad271fde37a947c0035bc259a9255386159ec5e164b427bcde90780a5ab03dbdbcd465c0e6fc19863d030853a10aa26c9526c7c37f0a8427fbbc5a52f337bdbb0c031fdd99a7e24d7847035e5adb18a2479d05fc2e1490fd3ccf5649acaf2bea9655c334e3ad26ca21210f03110d8b9d3f4efb2ed8ce0c24c239f3cf539b5dad03c60b258d29ab9f31fea531036af88bd43addf9677bf62d7a4f42140f62af9932d719fe45cea0cb4977c868a00342a5dffc2a73ab09b8bfd857b95077664dda9dd2fdcd5fb86d4874e3786e7df703b3c506370fea6fcb3049b90734faf0bba6e909fc5464d31b0358998dd080b4d703a74557e99633cce975007a250367ecc7b124769d705536b9c8136b39ac46a458032e609d612925888132dc3feca84c05e4c404b7ded67ed43a02bea7939f987737036237c64470781e49baa8f36f3bb672c139bf75ed3f4e16189ebb82881bf9f60303a94ae2738d7138c48f91669391aed61ae6c6b59724bb18f0272cc2e7bd28a76f00581e02c0ac654ff0ea73fe00f1f575d462f7e82305a764b7fd98d7d003e143a25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02172f4fe1bfe1aaf1ac47007960703c26e27eb93255b1521dfd8ffe0d0e440378d5d500581e023e4991b94fc85f83e19f859268ceb851403dc3a0d0c02c05fcc0616f7d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0213e88de26395de49cad62763383e61a97350f9c7ed957153100945e9dc410100581e02407749c220d89d6395a1aac74598f31f676e700da22b1b346f09bf57dc4406422c400219b20b038d9493dcb7029e609c01adb3c7d59c7c6120169fe4214e56e58b14155d13a9e903d721d9587ac2a037c972e61999e0fbb41e04a36fec970fd005d2a00520864aae037cc61c486aa7feeb7f28bf5ea32da358622cb74388a68644cdb628059eb1206d0219ffff0305f5cc8fecf2ec2b348a0f2f1cd7ec416d454a5329de1fed99a49de1e76cdbb60219ffff031c5628b61a3206df944b9650f90f79bf53a5feff7fa24f37c9bcce40eeef4e5b03eeb4b94bc88016d00e04d013918cc961d7d43f5e9842d1b3eb89b526dbe14f99039b5b21d4bd8aa0edada505f44b6659617c538870529d1ab43990d90eb46ded40037408a44352d5a3455f54bf1c0700dbbf1561db9ff1ba8485a699a2203d237542037bf6ec4b84c20fc01ef1a63637a22efe5b5e69223d101d4f8db6879d9f849f4e030045116e6949af2a5a3597ee35202747f556921691a91027b1b4547ac81b36c8038925404030853bc0d7fc4ab1cec5a8246397d08a3af97b554d3419b136859b0303b9e98fdd1e12a8163f66e024d9e93074fcdcdf4c4e9b427d8bff014dd572309003fba43a2ce6ee92c5002f1323891607b5dedcde9bb27ac2fc81645111adb512d503bb49631a73309ef4cde4b6f4f72f094a54affcaed085dbd6f5ae294f3f999ea903a8e4f295dd8b1608d3ed799c16acf85c242295bac6c00a6e7c513c94704370c103ca9058009fb91cb7da94306892fc5e51768b000c6609e1b9b7b474aa9fd149d80305e037d8d3c10e5c1812cc69bf52b1336e292149715286317699a5d3e26da3ac0342962f06bb625d0874302291775590dfc09d1d5ca8906195b82eec0734e8feff0219ffff030bb0170d988327fee94b33e78f3cadaaceed35656c090e90be9f643a1b7f637a03cf017f0da69710de424428cbc411cc67f830ff770cc4dc3fdd2380f3175684ff03d50de5259ce0a8b157e6a6ed1da14788028ca11d58422cbebe83cfc9cbcbd5a303b04df73ec5c72199fd34784f7da1ca37f45c3ce9e93c55a2427fae440d1b45530305fbac809de1f71981e27e20ff4fd2f4f21edebbe7379c35965dd84baf346ef10304d4875d15889882441a2aca81b8fb8cdde6e0712f62096e815a3d6bf23eabcf036e665cee7ffc8f7de4b4d6f7f9e3483cc25399b0fcaa5d75416a0835340e6e4e03c3de742fec324deaf5db552f557c313cd290d8bb3490f8b6213ec7106aeaf9f803ede147b777dc4ffcc60673703efd537bec7812e437545e9d23140c8be35858a6039f442f6f39247948ef7614078da3c80f64f26bc41a115874415075f0701ce14903fe95b4c787c699f8fdf393f3b730a4de96d0c3baff10cf53ba756a9d1a94a877038a18917226ae92bf8095a935e3ffe062b570c504696a74cd483952d5d7ebce08031f4fb544630668a8f236e4bb3c7f5240d785ac3cc5cc93cf740a25909945c7690382dc1dcfc7fefdd47e0e14a43e304045c7741e7c9a97f712dac4b147131dc479038bbf11c01cb015a5a81eb556450207fa26469c3b959fdfbe9bcbdcbfd48a6cbe0312182e90afe09206218b90be2bd539616c11668cb90ad2e271464bac90929349031ac67abc3db6baf6635791ba1dc7869d060a1a30ac9bd1b835ff4a97906a855103b1302fd8eb0caf95f810ae946065f89f5fefa221fef0557c4c8f68e86e2a822a03b1edd485183b9151562b297798f969781c34fd8edde5802902310133d81d4915033eb3e50fb34b1182fb8cafff31a32001fbed153f95a0e00da01b418a20a05ca90353c8037a465f1fc24daa224dc7f9eb17797862aacb8f2402f8cb043c061ee70f0360e361a9ce945331628f957d0ab9cf170f524a87103abb9efcdc34d084ba2ed200581e02ba6135b7bde11748a54b61bfdc2a070776fc0f024b70e72729dc21e8f449056bc75e2d5a7abc0000581e023d248fa8e8dd7e5b204179351038aa7ac2330241e3efc03aee266321aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ed2511136713991185ccc8e9f0707777dd704a9fc60b6dce17df94f47d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0261acae44b25810ab0d9cb145492372aaf0a93253a3acd514dc038d1f3c416400581e023a505781b05d0c24bc964377c266d0b37583d82da0cfcb6432d06cb041431e848000581e0287168aacb3cbaba4a328be7ac3f5e06c4d856f0111b51d10d8390e7409434f3d000219ca8203e240eda9ad48af2c2fb1fc21d3da800cca7f3a9a6dc5d8b9e2f45a6ad1c8183a038dbcde3cb6575778f62e687a0d85d6b37307d0a07f656301065af7b81b664f5e030572af9036bcbc418abb11c1983547344ee2924b8f13e71f586bee7218a5e43c0398c6274d5947e8a8d2433ad5896d07c37374ea7c6dff42c1390100cf9f577551039ced3cc63cab92738d27dea818f197c5f35fd81681f289bf1c475f1b267bd3b403e89656b08dcbaf19e909e3d779480382ab988af9d545c90673481ea0e369331f0346b0e891af8485b5447768d0b60f638d83a156489c44cfae38aa80e641c295e503dbae80d004f26217f4b9127b404e1b88c840cf02899dcaed2169a75457cc64190358dd42c3487507dd5bb9f5ea718bc7b60ccae8bbac903547ef3b5600d798bee6035d6f93cdb218802c4aa0f1a9a298f30f942c6b548d5801286c2335446d14386e0378ee079f983885a2f200efa495c07ca3f9103eade3185a28ed362fd772b54a8c0219ffff0219ffff037e9341180cad2a240becb8888e90124053d3787565ffb68aeec709fff6240c0a03cf4faa354dd27fe385a8e4f3c6ffd261483c99144ecb9f3b211721bc576cc3b7033a11e3ec9627d9eaea86b02273319fe7e7e056b4561d4e96a7bfa13db878ea57034e8457cca5f4e55dbbe75a37cd4e5355fa93e367c68f31698007c5cac96ceb690344ea896220885fbaf1c86f4b7fc471e0f8f74621a1297449d0c9c7a4e87e366803aba3f6aabf3619a571711a7797b656ffc8c78d2c0dc3688a0d96088035d8debf03e99253f36f4041b8752db4e91a46edb77ff4fe2df0c0fe839b5c2c601d46050a03d241cf42cf662ec262b13e0fcd4d473e62ecbcb964d56e2804e39f2ead341b250363b76e291e675a190bd1950730ec439ad36c21586eb5421e5d38e7d898cd5248032227548d968f0e61e1bfe3bf82d5736a3d79caf1754758bdef45e83f6aeb38a90305b587ef1ba6ace05b45dd21e0585b4839239d672b6144d6d4b15c6b8ff46945030e541428ecb14c40a8f1ab3ae69339a33297339ccafb4759b9ffcd5bf9c7c8c003ccb6dfeb42265584c7fe748a7bf020c855be50c386762f60e61385bdf3c23c6c0368f445ad2b17f138cf9f2bf84c6a68d78bda69505591808ac5084be2fd172e2803d9f01bfa7a73049ef2539391d30e075aa3feca11a4ee121de4a9b266d08d70270219ffff0389ee27d00d23b5a72ffce2d40f343e3232f8520feb522f5b1f2ecaa25cd0e1570219ffff03922a96df8506985ed0375d48ffc6652a89fa6ec1ae305aa208b86f8f59f5f2b0034434db94f73eff57a14c71ddde9b00184b2dbd99ee7c12ebdd8c062b55d65ef803e9e4bea3022b8b14cd255106fff65ad9f418b5f1131b202ffd504e8b35454ca00307e50323ce6e380a71c9fdbb5620b3b064362715fda3d7449efbe77073af6b98034ea9f2bebbd18e11c374eb8efc1b7410ef22183717b1187eaf7c599a5a4ffcaf03ed3a296dc52f9f6189d9218596f8ba2cce12a3ecaa21facbc6fc2263639a3c0703b8a03bd426b2e17eba3b935fd609e5a2f39d77f935a37ad490d66d145446f7520346d2f88cb496c01dce77ea92d3aa1fc4cf979caac982246e06667a675275cec9037f9ce56403ce70a6508f044639d46f8284b6e6c7e814608008e77cffbfebd2ff032f1ef0ae883cf5a3a0050aec7934eb94fed25fc3c3bc4f8e43de4a8f788c75f703cbd4b026b1d123af3973993407693c54d8f786c3100a5d6cddeb8d188543a6b7032536aee535635bd2d01f1a646e6bba8016182d8898220a6e34c0923b00e08aa1034072b800dbaf55475f4316ce8525936bd59f81c72b01846a1d789dc3ebd4a09400581e02f388ca1aaffd1fd9a613d2423f3fb1f4bd537c7526ec2e3622a152fed8495562504d33a338105b00581e02d581fd2e5b1518cd69502f6c80396bca0473b45490fe77d5593b9203345820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a32c65ad6ca0bd0ef068ed5a19c7717d47910e8e59eb98bf8f067896ef43f8478c03f9f2da915978b1cec6dc91c683d34d02a3967f8677e922a27d2154fe5cd4394b00581e022d91193eb9309758f446756dfc9d241c779fd1a479b2480c84d3bec1a745012a05f20000581e025826df3e30e21844d52a873bf7839e23998f00ea50a995ebaef6e3e5af5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02070ff9774a66de998455dadb34eac77b7eaa1f1f0af066852d30c7341c4c033b2e3c9fd0803c77c90a7000581e028d8418b33b171f821ddbd6629629d0d3983d506da902b71adf6e36691b43a293af021952ba03aa58c2bcbc007e0e77802c81124e0266bac23762969de70466fa67b6550bb3da03d28abce2bad564e84f6cbd9743265db230cbdf7d3378bc6019ba98b7d54278b503eabde53958278cd1b4773cc82edfbf2119e98b6849ef3d5691e55df5d58a5ad703773400dc40dc3cc07c41fe066695212b97f306b7cb9d0372b1329d6774b09137038dad09b0841d912ee52c358c6aa4cc8f04a58ab96cd34a2ca9b3104e477b87a9039c2a528cf64f38e9d7d0321d67f6771db42e6440b4de90e120a2aae9672b281403d686b21256b1dc40ab64dd9ad4ce7bec9834fd05393bbc6f7b4be01fcaed5c6c031a66161e7fc9d5deb1d7b1f06284816faf9c9efdea83c4f2e749725d86081b6203342daf551cbe187d1b72ad890636418944c0e7fd401a86c1bb8b766516c53187037a4b9bee1854772cb8169941e45f18f551303a4f03b1d0d66c619546866cd04f03debcad05c103dce201fd9b41c9eff9672ed7b816f0eac0e2140b24c2943f59f703925f09c9fd2e7cb5da72ce423a3045fcdefa0d2c440c0c66ea56724e2f0874e00219ffff036ad507eb4805931ceadf1c42471c96780ea9d0f8e8a0bbbb2f209cffff8cd596035766b9ba9096bb9c250b2d8d994591e58b69cbb33bd45ef31c82306b914d377103c7310794e738b074b32b11060563573a7b3c59c7cb59452a97b38f50ce8d650a03a7efa89334b4207d510eafb4e47c0b6b287e925ae96a5b23492b7767b9caa7a60349842014a7a822e26493c78fd690b9ddfe904ffbeb73cbf1a8c92fedbf81110103e33079b24166e7cbe85d11a02031e0de2dedc105d5b336876b50980cae2723b90300b3c6ab2b384c8721cb28198a0e6564955e52aae7d34e953fff8802898f2a37031488ad415b62de84aa20d4749a2faff269e435915002e3b954b65db1d8d5f4f7036c4ab7679c4c0f0617de92481de74088e126616f0ceb97fd0d5692a6b1ed10060219ffff03627176e0d69f4061c90c088fad7347010f5a4f7a2dbd3f8874a4ae539ca32c28033cea40bcef941a179b8eb20d93c54888b7285b8c2d891d7537ca6fba138cbdd903e60d8f35038b0ab6fdcbca952b34ec560bcad22c93e33c780a562df9f1cb8d1d036f2013418f2e3af5f4a908e285002a25de0df3fede1e9a2b4858d35a52d324ee03d903e185586a9492c30c3782b4614f2ed553f7a26347a2c7c88ea361611e45dd03eb7203dd8d9640ade2b7e4fd487b9c5007d7010ba7c619d3894fe8cd05d8648c03ed5faa310ce555cf8ef459ef13db7bd5e92868416675fbe728f5b2b79372dcff03ddeba8807df3d36bc9a081fbbc81e23af16ba4386db5c23b91d9df4f6be28e8a03fac47e91db4decb94c0da19d1d333d5a5f94adbb3bb259f98747f122c6c53f4d03401278915969224d292a7082b48a3f54f642182fe43c358e343d6c0ca97c70f2038626befc094075204117d10b958912264f61bc47faf976b54165a607fa7900720219ffff036d2b7d215f966752864d7d7f8505f1fd31dc3435b6de365595cee27f52f48996037bc2fa235ccb8aa784ae00b2675f8713044732b74f1162fd807e173a3a6a83880350ea8b8988f3cad604d5e7ec444617273a3bbcafd564d76f9a26d70f1b07110b03b3accc7e747404e802b997f764632f005fb9c14b694b230f8fff470b5a7210960319a3353a0b0ef7e80892d63a6f7d21d0b887ad164718ab42cfece81a73dc07f503f36161856c78804350ac00733b2c2b3ec21f8f2c12011be0dc92b474a5b6543903b4bbd13de6e63d24bb145ef59eadc9c31ca5cde84ddd6ea9534b140e42a0f25e0398a5d4650e55219d78963fd65a91558d29acb51387719573a9439bf3f93d73e7037808857aae99bfc0f7a43bf2f2504a7c8c54741bfc41e19fef6ba86bb42943fa03eb54ab5167ca9d138717b2b92f844ca731d622b858dea48b82cb5fb31deca8e20370969f0bbf3a336b39f56f46c8d1cc244a8d182feb02755408d8fb370b7a91d8032b5ae360adc5c64fe9997b4dd5972c12ff0fa223c43436dc41bd8709b83c97b8039e8850703ac9e2412971e22ca5441a8407291486223fe835f387abd72ca2ee8c03aaf2354fee4c50d54a5bc1ef7db438050d8c16fd6fe12a5e029369fd93d9fd4d035a129020c1d009d7129c109b4aa780662f843b52ae19dbbe2249e49e787173b20382a0715f6ec533dc8df5d5f751ba229d0f9ac3d243efe5eb44e5c0be66103e1500581e02fb49dea449553290fc83bcb9b91d4b0009b5b9cb1ae8f53a5ae5bbab505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021619b8bf3e791fac74561d5e3fa0a37f4bba18e2f5a27bc0015d18f6b3410100581e024f4eecca4c1411bdaa5d2e228b627e1b7d14cbca16378d04913587eec45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b86f6ced59b6fc4e55803886f2532736cece43ced754399ecfd5ad5f105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026809573b7dccba7e1fca4e50ee80d12660407ed1bcce8075e716aab0825820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0250a6f20eb6128a8f146abc636b84945b2650822acd1629534ab4bac2d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0371a397daa6c014531f8a54b3c877569f647d932434335fcbebc22271f9d0c6a203e9c9ddfcded7407fdff8cf259450e49fe4f46fcfab3a2ce92111fb9a5b6e192800581e021c9311e5cef6e5f637d18a91974edc6961e5d4e63de45caf6fde894fce434c4b4000581e0298bb99f8885fd4d2e7df00503da723aa592b5614b69e318134dc3ff8a14402625a0000581e0285985aedf99b7b54bc7a28a938f4605721e3abf7e8d3303089f94301704305f3d802194bf70383681e2631479a858bf3ca104a067f24ba0a8ef0fcd6de09a20598935566387a036463b722fef7922b2f791b9464a10468815419e6065d1bcfdf617952521a77d703fd325a0a2688b97ac00c7d54403597d9eae23d874bfed1e40fbf042208ae68c303a25916694acdc3ecbad3273baf50401bb97ab2c354da9b6aeb5dd9c72cc1a18203f27d2e48174f4a61d1333316e43062ef3cb58ee446b355770ab316b17aa21e8f030ec792fb4da7a03dc0235b3846a253304e2f1ade377132d51c8d616b9028a2a803d0d9067421b34b672ec343272b54dbe192edff23f254df736a7f2fae37619fc103824cdbd0c9d3c0cda305767d00bf7bad16972a68ff8a60e845575cb88f500db80219ffff036d5940e3dc7ef150ef41cdd4b1278d1f3065e09dbbae6ea07d04adca5d9f79e0032407168bf73252e97fdb4414ffe0bd418e6eb4bc5486e0c83ae52ac930f6e6bf03abf97dbe42869639c666dcdbf90c0080649a2d70a6b687b4402da41a29de0cf30336b872d17fea502857cb60222c9921cf039c379b014267a85926171c6f1468e40383c93ed8c0129b7ed2cf187ae9c2330995ae0c410a54aa9b8d4d809ad9152aa9039f5eb5e7f3297f221ac60c6bf5894fe8dd9825ea668c2de5823ccf40a8c3257c0352990fe7bb963e68287e736c04d9082b54c6ad63e2945357cd61a803fe6ec0a90219ffff038bacf44e5ba13ea0579343a563981de6e85e3a3291f246554e5feedae3c7358e0332bce0a3b11be8ec32044f91e50d140a07031b35233c489377550f60192338680364d63b8608f781d17485d4e1608b4c1186f50f86f7ec30c2b5a4b418fb4d106803b86e3a4f540fa46cfdabbcabaaf28ce83b3211f2b3c427e097960f0a6c9871420324e02e9fb5f9eefc4435ee715f8c36f1d98b731828881205d8a5b7e3aa84e25a039c19d3dda5165a37b5cd3ad16a4bf968af60dd5d38e038f141657527e715e32e03547f027dcf89dd5c9a2031ee65d3b425b664bfbe799a69da5c261b9f699e87e50397006982448f7c5e20ec5105fc738169eed08081cb2db8df4c7bfbace8f4b98a03c85d12ddc7b112debef8f9ac5fba95ebd5d1d694e48b7d3d85e1b7e6979d6a23030e7ba4335f921fae0865f5211271785d121c96465c20fffe151344512a3a0f5c03feaa43bd014ab7dc77fa28814db894cfaa1de4ea05d79827395504422bf5c71003b527f2f586464ccadde74f7c1893dbd78f6fab411b9759db9e65280122dde04f030bec324ed6ccece182d5dcebd882b6ffa148f7c5e7a214d2d12cb3a0c7388e1c03016c1f14d710b0942ef0a31e2b6e1c791764a5c7514c7170c2b3f1ba86b599790219ffff030446bc855031d5a67be4578370c640052447a8fc0c9eeb9ec316a2077e1ec7100358d306ce7da1573c3d13e0ce20dcabdec85d8ae8817cc0532c7f1b90857f9cec03246a15a3216bbf1047739be6cfb1be5e7b3f98a8805f324e30e135005f4f486803796d489d0d3e3f84d373fb65f53c2fd2ddf9120786b1ef09f4962aefeb07989c03dff98f79c74567b9f1d7203da14a102b0854e4e86e4adcc17f607b577532ee00039f5fb1d501aad6cd2fdff2d9f1055ef8592189504d49ad30a5df93557e60ec7203de70683242c0a470a0318cb539b74b87ecc1a5be1efa85041a30d364f5ce1ceb03dff8d3c70bdd0e7ae5c28aa3bf49e04bc5f2aa6de39c82585162307d34dfa5fb03129de0c6f5e88afd255f0aa55c75b830319d442386cb2fa7e4a18597ce441737036f920917ae6df918dfa1758064652d209da84901e8b15799591429abacc736b6030433259f9365a77417ff3204be824bd00f3cca495e8b13cae445757857ee53770344f373509cde1f7e01f27432e2351f6827e84dac8a733a9cfb94285068c98ea603a423ac5e1c5ed620244650d46eb862958e248c5b627dbdc258b54ea1bd5b8c84035de32785ff2599fbbe8790c90ec38abb4cc75f6a0439d5794f0720ca40518c0b03e4906ece563c652859726cb3f9a814bf1d1b23458d0d7512362ce3a4b45acef70333b4e5be092976664d71a9b7e6024bd901d23d1742f1340578e2de368ad7e14503d26a30e8f3d3e0b6fbd106dd36ef37250e2c75f347bc1da2efab68a8b026ef4503f5bc46b4a521a6388b05a1c5d2a6f56bba7131e34d70444d1d10b326e59a00a4035bef9abbc85023bfea452095c2c9f9516d9c65b0e945835f0f3174ac3346d511034bec3cc680bd11ef9d905325e60688b9e5f3d90a10e221e571bfa64cd8c70d170365b307ebfe04bda5b0e91e3aed859c46c0b9092ba2a2914a33d1fb8e6a952bc603039c919e7dedfcf7822dbab06061f3a71837a6e3fea4564cbc99fa925da403ff0395205031e79b32ddce8e1d41f33e466ff6892097196078766d438f7055745b9b03c7f89a0ab8cb336744ded1fbc58208ecf92cbbf7d69219ae00f204e8d0e31bc8039e5c2c24724081950f9c1f846d449dd4e83d9e975ab15a34c758195c35dcf73603af076c2b0b7d02c6abe9dddd41309ad7ef4a8c1cfbd50ecbb1fab841513d26160353bf9aa3511afba41489efbc584563299e20a7a5f32faf89b9f2883b8dd2074e03595282dee1b8846be2295ba0b094ac0c017555078457fc2fba3193d0185afc5000581e0211110cfcd022ba91b57e32eaea2cd2d1f281222b9d308fa3597d14122a4405f5e10000581e02ae5ab13c9fcfd750a34f1efa29980c17a680e3f7b5156a2e98810df85c4526cbb0435c00581e02c1d3104c19f4ebd39cfc69ad5ce3c39a1ffcd7f41100fee6b1bda3ced4410200581e026200fdcd574bd07239cfbc39f116fd188925f866da8a89817c88f3b4c5440234934000581e02f00397d3012d04394260449b78cda248126ee78325084eb949d5e920c058200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02043e0a12783ac893527bbcec2cfc28f7b7b91629d42cc48e6a31944bb64405f5e100030b101b8f9e5660e3d067a70cc78bc511a6a144423eb797a44d3369a999bfada700581e025625a90712726ff7ed0997af059e993859a591a4a4c2092ee5fd48f8ec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028eb87471f5213d366c0586f118eb25dd644d0d72c111a899fb8d364cad412100581e021e580ff66d550c2a0321e69761c0f7c0f40dca950fde464b5353f6f3e84401eee83700581e02144b4b8f8554ffbcd5d4ac1b581b1e426c891ffac4cbe14a69fbabd1dd4d0c9bf16e93a6a46dad5800000002195cdf03e9354b6d9e82d12932a07517197c92c3724b3290eef5976ac01b247820366c77036dea98b143e6b0efc2f6d35e482cccf0ce427e20e7f9e95c54b1832cd54478eb0350b81a796c45db1bd58abc8bebe22e27a54e82df471706e64d982bd1561c17d90219ffff03d8ed1e94999b8b6f9d9a0dbbda57ee06d7e567788d8c4b116620bcf804fce2f2036c93338a437e8912cf97d5e206a343c796592d7a12e2024f08f07720293e3c400380b742c467446531e1f4d1883449790c461dfbcabf66feb0487548a0da3ae12103775e1d6a7474561d7af212b7df33a0fafc354439fb43043fd7a7db67afca443603d777598517a4bc45b32273c013cc6fd8f46995e8c9fde2e02d61e47b8129834a0301d094d46c35e693a117fecd759ab2b788fb9caad51ece8a38a8e2ea6a80d7d8036fd3f670d961557bcc0c2375fc407b8da5d4cd260ea0a44ed3ac122034c93c9803869fbdc6213627474a4d18efdbe30c12f4a982a50f03bb913dfe4ede01029bf203d1ce85191235a9bf909ff606771fdd10aef537f36793b213531273d0c951c073033844238178e1abb7541055a56be1a6e6aa01b2b5afa86096329eb28077b2b9f503e11118dbc4961e20e9bf8042c3a363054359f30f1833befcd5991e3f251bee7f03a84d1c647a25d6196008d1d2d3a897d3a1cd87c066591db1c44f819069ddfb940342ecbb9470e2faff4a49ed8e99c88645d1d48a142d128b7e01c79cca38ec9e220379ef762192a56ae5d0acdf43154e85d062ebf2e439875f8bd8e97c95237ec5b90219ffff0219ffff03ef492252039d61efbf238110fc9cd70b9ffbab15d5545051d0e0cc8a68f9fc780330f9dfbd24ba1b2a7a4fa18cdde07be2e01f5893120930a1f40e87e548e80f6a03980f6b74d07c3871e5935ec8985042015f2afd53ad9d3ff446fd3f41d3f62f8503551868be7182c0fd2704991ff6a53e84b5b5bd997d96b39515b91692d54eaca403cd8e5d7a9c1243a8aa4da0c509844d6b4a7f28451fc058c9f0cf8ac9eab1220403a6323f125399ba5ba25f16bebd08ed8956086590fcfb5eeb17934b5182f4281503ce1b40fcfac6ecda796cbe8557620c9f30c466848e94acd39bed66fb832f5361032701f98d03999ba6c7a55b107ea03c7a365efc9c1adbd92030623bc1a54b680d032e52f088f1f4cc3de90a7d0a7cbbc7570cfd3a8cd9ca06ea64c8170921d5d82e0300a9670da8b2df460600d2e36021d3dd65f92c32a17672690750f29e0b0cd5e4032875f36d3817b7d0033fefdf43a9d9105c379c768a347ecc64f39a8b0d392ad903a940807290292f8773eeeacbfb6ac2321e1c763bb53cebdc7a9bcb47b5bab70403fe927c09fec11a11869ad78f72959f8473237debebd00afcb4656838e66bf78a035ac11226841939572cb4e335161b0f8fdfae40248fb2ced02cc3f7b36917393e03650be19065b35ba12137c7cb34f4ab4c14c6ed91efd9c643665cf6d56f96ba3603adc312f0a829312efe39cef5c3f0dfdc72572075e96590e0cf5c2bbf1ecb534f03fb5bd1e8157ebbb29fd876a6d1a2204793f61c38ec48f875c60a9371cc3c885303daa5c8409cd10657eb9b74b25c5764dd0aca3bd7977f4117a1f8c65334c68c71037f82c394ca4035cf04610e3ee3f3550d071bf4bb5ff26dfc9537b6b5f616423a037b13fb5068e97c6d5bcdbbd7e5250e850d5e0fb3269fd852d4bfc2747871eef70343dd01e75965c056a7a8a4c46a3cf71714b540bce5dcb25eb36f47d2b70a560503a53c8cec73c280b5c8f27f57c4f2e60edc6dd63f0056206a202d743d5ed184b103339c23371b5c6fb74a68e97a00fca59eabbc9dbac9d1089b6565851ab7583adb00581e021cf40b88cbb9123f1876f955e5d2ba3ba4537cee5a928b48adfa0ba7044401d905c0039b3dc905389a64ca3a532d7686826067e8c06056c7e45ae58fe823ac7441b4fb00581e0276183c4aff588718bc0f00a99e13633177ee2a6bf7b25842ece6489798480de0b6b3a121d3c003b8753f6f6e862e579f7d6f0380a5a076bc8582295fb390f159ea211f45eadca700581e02b108fb887ae70fd1bd092ad85b14d5092669d581dbc443ca8ca449b5eb4583a6de58ac0219640d03f68c4e0661a77b8ee2a4492d951e08da0ee019490e9f3c1f25876a9492713b4b03b8fec39924c22125fb9e47e09d85eecd4a07aedebd3dd62a226ed0d52b85827303a5f61e6c6a9931739f174c57cffe96f933e7c1df245f8f88ab1f9053befab53e03e2af7054e8895cecb0f75f6946358f07f1982887bd6acaf9e7f74f65f713823f03a5f16c0fda086b75da6078e8d8ac9e8fcef52b72c727839b697040c1b3742a0303bfca02b7ba04faab3b9e783da662f148b0e6f54071668fb8548aef6fc09c75ad037e0b55fa5037e89301415aa2d2a7244baf1bad97c98521bace86eec9c24767a7030977e2ebfbb9e191906bc450d72605b5929518f8e82fb3ef189b8b038ba95c2f03f00f1a8ffbdc57c25d5e37dae61db8ab5b960596d8c240c34c42fcff025cd07203de497e606a468b2df4a299d13b49f4616afe58b7fc79978b90a2d4ceb926a1510219ffff0309d0e8443ec84c20c36fb0912504c5e2f43080a60a407496bd4a6db765a13bdb039bea55700a546303ffdaa478b177c099ab8c885793dea0fa0a2f6a635289dab603940e95ed1e310a7d189559305e2f22dcfad92dfe1a8c0c3a132e65de1d95cb8d036509b6b2e3a23c3f3183398941cb5a5659396d2c2a33f0cc2bd26f67097ee9cf03412c7a466f04f1b3a9a9d287a43c6229cea919374be258de838bebbc276c5fff0219ffff0316419f9ec448ffad8eac9f0041d9fba2683c89e860826c947391b2738df71fd50320a9533f2e94ac5d9cf61eb4dc9f4c9651d32851d6919a7848de5921c4dfb7b603684b61372fb628cc6342f891b63357c78efcedd212e84935390368f73d0d6aa403579923de48c4a042a2b0771e966958cd82bf51e10e19ae97e3ff3e1d09ddbe2c03f14f3be1c7eaf9e14508b3a335586de130ccc50f019018dfb680d614531a7d3d032e63a00a55e9e4386a857c070f86a26d522306cbef275ab0baeb1021bee7b03503475e7a0499f02bf11d711b393de72931d2d33867f24a97d78d2f4e717fc39c2803ce44fedd89545224bb2428e8d0981add7b107cac24daa2a64153af375347a53603a2e9d857195798a5b73f1e4cfa0cb7d97d25f580a35e525e3ef83d93d4c84f50036a1bb27c44c223e0f3fab4324f8d10a96c4e42fbeef655826f0c745f98304e8e0328c3ab3375e9907c59f0d03b1cc3097de66fa5501fc2def7547da889947a3f4a03bfba7cb6d2b82cc15d688d09a00f6c9654347528256b3a2dfb70cda02492d8ef0319bcef4cb881cf273644ea75ceac44944cc19fae2062601b2ab386ee06a543130352683f7962fdaae9f005e1125ad7c162d09703da72a2ad1e43b09a106e4811de030938e3ed45bd14bf6fc6dfa5a2ed071d001b206ba456485bf38533881be0eabf03d8bb05f67208ab918140b9ed51c6298398e976e18c0b5a69b2664262363408f403240d71d781b234d7b23f4a2099eeecbca15d051cadb04245f849249a2a48aa5603f37e8b8e2925c6afd06f988552bba1444f6ec8634828189800c52a0637e901170323db90dd337df67a5851c96d3faf1a081b9b670ae246310d214a9c81d75575f40349933837119a549b680279fbb4f79950f7c8d2f66574885a5b862aba10e9304e03d389638af93f149eca8b726d01f1b0cf941690ad1eec315e5b41c6c74bfe2fdc037580794296f81b60c60734ea05743440e19b959e1f498473b9744166a74345cc03cc43e500497bd89ebff1ffeac25d61f645bdae2aa43d5f3437dc27a65c0d0ff603c0f8ed6396229d851bff2fef23455c1eef3b1e70666821a4e93b75ada7321dfe0385b0f1165c6bf1ac4df7494d7ad8fa608bc959603d5de4ff8f6c4087c562eb1203f1dc75f6f974c41da436922a549703325b3fcf09dd3f9897b513b5e35be9946803638d7ba5f52661737e12f4699c2626b2792aa8d87fcc7bd58f2945a7d247485003928a742488f0727988297033cfd73d80eb0c551a73066bdbc27e491c4ae5f03803c55456e68d7454f1871c6bcf92507959bc3aabf273986fd508c3cc97ed77859f03cc8db1eee4ecf735d612208a6fa8275b84d66407a59e18231646a52c90fabf3600581e028ab3d3b10ab3ceac930788b50651cf303c1648c90941cf68832a987f1d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dc12d9fd808bebb2abf239fc241de9929571cbae3bfed78a6d973e6e89441ab9ba7500581e02d0d62d779dfc5893fb7d7210a590350d9f746b6ca7b788430f6f8a1385447735940003b0f4c0b5b427a837a66498e6722a63925192bd0477dd98c9613ff8b93c8cddcb00581e02c0b944a279a2f1414a46c3a2dead713770351fc308cfaa1e34ad4c066d433df2fb00581e026e2f0e79d9e85fd1ceae3dcf678573fe774e2467e899461e702675ff74581912725dd1d243aba0e75fe645cc4873f9e65afe688c1b588b2100581e031fa26315bc43798e9090b4d5de8c977692d2fc289fd5153f1a50a4444043310e1f00581e039560432fb37af4c5034b434aca004b9c48faaa4f9f4f9b823f2aa94a705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02188100581e0285039b387fb9a72c40267468a9420d89b5171babf0509412e6465985d841010219598d03a7a60064070080ebdbc4a7cd92aeb33151b97939835077252bd721f4f1cd2bd4038c0bf1c7ac82228c94b3095f7842a5c9942fdf9930a6ca4488142f377a267cf903ace5537993a75c1902d20afb42a92a1a7cc685e6ca7bc579f286840f7de5d5820219ffff0219ffff03fd915e98443e745913f81353fbf2d1bed165eefd3da52ca02db65f0e2c143bb903b7910c938d77fa47219eb7738d53232280d1503a450c2d11cbbdfe58aeac4f3a03095078a859cd86d9c6513c48fd493936f4ae5794a018f66d4e57ac111590da300345eed538207cfc8b59f43c0658ad5a90a0145d5c4375d5677150f9bfc0775f53031f8e438e2a8aed9ecd981e917a05dce38b5e0d3fc67aa9aec35d65ff0b5ecbd403c4c83f6f7acaeae6cd47d562b78501195b4bdeae71ab7e58478bb38e88116f7003a90d0a70022212d63012f6d53e072d8b7131eab7ceaa30c49b41befde871236b039cd1e9a59baf0e1e6de6f6c6a6762a451d6aa9dcda5a691dc5ec9c740a0a65c7036395ec2ecddd3579cc05e4821df66d0104ead88ef6a753a05e981915fd121f390219ffff03f730e22f33f5f3c19eb62821998b35eeec81d16c5740b62461f9c5ba2ee1e6fd03d865747e736cb4e1d6a27025a485ea25d6ead69818908d79848df75d9bd238860343b8c51696181d8440fe0c51589e6473573dc0c664400706ee16e1c9b554a57303bd144098c28517d151547221fd4a06a970c2c61917f7f9f9e079e49242e47fb303b442f531876e16260ee09e340363e4d294835545e4962f74107e5b629fac6aea03ab40e28bd461fd245f4bb0f605defffcc31bb42e4127cb49144dc02764415ee603402891216297ce3c95fc2be652ded95b9e6dd146bf39d127de6a2d50733f935603fea8645652b74deb54e8eee9d38ce998a6c2f05bee5ae8dacc18229d5e93ab24032a49ed786464052301c5753161546755763cbcabd0aa3eea0ebc8b948fb1d0e203fd2a56034b6eecf7875ce256a42ad357fa9284b3bb9cf32304a9c01d82fe0e760331d4f68a759e7705fc096ab48809b9fd2d663078d3b9b55fd1eee1f1962e031d03e2cfa6d56760b1c5ea9aecc40135575602997a496872a4d469e36075e46072bd03fd91d43154cd89e90574c99f44c9a978f02934b90bd771f50a292556ef79ed9d03f2cd21cff3f610ab038ec2dde418ea69f95f6e10ea2356dce719af886706818603324ef88f3dd1c77ab8410e6e7f6a8c714321262843e3aec63a047cfc29f6c40a033259b503c0c9dc608140480b2fc208d1d20f2f2609c4fa841120825ba46ee8230317b9d8c3e4a0f438c930eb84de00fce25bfa4bfc19b4c617146068d749de571603faaf3445f18e700f5166ecd595f863663668e1da0df3644e5734ad8e93d27ea000581e0233a2f63169a38ab9ba563f75dfd48b003a7c32abf8586425b4b6c4061d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02805f147c83f9caa24c336141933e6e559302b170d39b2c153e2f13f92c430d1f6000581e02c90abe6934d10efcac5ec8b865e5da861cee4d312d39eff7bd9249096144025317c003500ee4b6e41c523f80028049ac2e2945f85c4d93050bd57f614e22504f19f41800581e02e8998696ff8bfe95c78150909745af5d84deb66fb4132df8ff0af7c61f4407e00cb6037f14afe23501097ac5281e4b28c7b317064d808285ea1c4ef56a8188d1704ba1021963500381b16d841bcea0caf8e01418534633fc435ce654613cadd92d52eb212fd2a6d5033aab2b66b50b27e877c6d7536c06103814b931d440ff1199311aa6b9b03ce36f039d13aff15cff1705477353d801439fd466094686a7950235d1e1d6f66857b68f032be3c0767d371b9d5e95827fd30ddc9fc55c27830c3c60153fe0f44eafbda724033746cacef86c04c9d55fa6db63ec10933244c9b7f3e846e44cf2ccfd823cc99c0372368257bdb55f1324eb1aec7c0daab0643e8617662335a26249e9539af0198f03a83274e37e2a72df0dc929cd113da2bd9f8bee59df9489491d7d1946c3b3f4300219ffff033f8457bd1517c134ac4f5285893ab849250c5e76b41d67489ced4ab6713a9daf038411e9f3ecc14b4b90861a1766daf8169c4051faf2b927729c0df69daaba200203a40b46048687968bcf663c80c9e4a5f981d620a9ee5c18c9a350959365f663d803c59a914bc794dfa0f61e728380f9d1fd3b0b88ac70dd0da48e3f4c7dd85bafc603615075849a35a3ec066085b1e4da8945ad2ae6b5eb231d1729d7e7313efd0c0403a99c59dac6bce1c1fee24bd7905c339b1041e1e39584160afa6c1e4c90e060b80370324b3ee890dac94bb137698ca2be78a23d0273eb0630af3289c1e47f8d6e2903450c9d3b1196073d7325d0aa090aa9f96d34762f5f601ed100c66eea726522fc03b5f8cf5a1a17abbdb0ba268888de9385b06b439bf387072247f4089dfa9cfe2303f8f8ab05a2e98395b439ded2ceb14f704606d7d075a040028413066a5a62448d03448c1afd744bdc35aec23fb0483805b20da63beab0a61611faa0dcc21a52e4630357c2880da19afeea263555dac6fc9d92638b833a2ad64a9f8ff3bc318684abd40219ffff03d5c9183f11b131ba0f7f8c0d5e0253c946eefae2c92f4200ce7d8e4eb7fa4dd9033dfdb22123bca910e7ddde6af110616c42837c420575ed319d73b7291c91bce30363485b8540e5367f03b8978e185a87779546cefe867454860a410b268292a36203493472aca72d11284e36aa29e289e5278292cf038ab73c60885e27c000792f9e03402d6a7f538613924a45071fcb067f08dfe7da469ac1b1ab8c54ed48400bcc9b039bdb82c097ae561abbdbb2bf13581f770812d3c2514797aed0c44d4280e9a8a30306c8b9212792ad7e4e4d055e9fb7e71754447bb6c3d7382e5bf336b0067751cf0322020b20e55b2082d37e3a22f012597456570c6cd2c445cbce3e817bea6f99f80366b38b9e9f48380acd3a3c02d894fe2eca5f26d2ec08c06d493a82bf90af0257038150bfa54579c6ca829d131ea71db6e83e82eea5c95d878ed477d8e72f0d3a520219ffff03c1fa6c5228bd0abd91c438bf64148911466c55afe0c26bb91162f31ff23ed15203d75cd879a7fd5c91b1344fb4edf871466fe735a46509da54bcbf439955a8f2370362a07cce64e905b3f339b028f8bc575c2219cf09f69ca6b2eed31fc34f875a1d039ac4d3e3f0a4e4c1c6e121a6c8394c5e9ddb78548c5c4c55430883e267b155a303e02a5f993dfce8103c98940da3dbcc02af2bee9aeeab0d1d1ebd5fdad333f01b03638adf6059e5f572b9a59dd6f36bd4e89c797ae7d90e7c3863ca88b5ba2d4fc803ec8cc321f14dafe6b498e5caf527a6efd7b70bdf056b1f03d2fa0cba4055ba0203eab87bc6a3cb0bfead6763b534da31c6c63013f000beefa0d78963950bf7b11c03802971c2d582826a5f4a151601bdfb4af19c1149ca7260763076a2704323e343037c1c98c7654dc5378bebd023a3e01a41052f53e56c992633fad142cbdb99191a03b9b1d26c6856490a781509ea8665f0035846b35d79c16681a9e85e0116cad2d60348eaa83c21494aa551c84fbe0dcb1fec588113cd073c7519935116bbecd6bf1903801b1a68fe9239b2eee7888059b97d0b15e769e62a8f976533f4b74a09352522033395eb3e3daeabd08b046bcfbecc9ada7befa65dfde5dd79e3397bb7db2f766e03726fe2edfe88957c9e7180e92f7d2a52dc188feb1b663d725a0b23463f28371e0317943602e2aa84bfe3f1de80d8efd45a66d792f94fe57a3b9e77af865990cb8b03aa71dc9be3494c0545681c86ae43d728966bba11fcdecbed07ae64bdc1d7dbe4039361676253214f1676bff4444fd0fc5511a18a2c9bc7810e343aa67d0464859d0379d129346d0c37d87369f32102a16f733fca02845ebad43d4c704b24ec6450150321a55b88f7a96cadd08dcd4a03204b4591c96eeddb8c63b81c40971d4420e1ad037d47b5bbdaa01e6c7481aa92ec338005094b3ebfada84c811cbe1f1b92c3814d0342e1ae3b1fb6c71b25dfc624c0dcd99a16349ca32dc81a710b7a9defc4214f5b0391e61b342945d1acc4a3fe8b56c86e7bc67288d0c6a388e7cdaf33b7cb0a380901410d03a6012757b7327e6c965b9ceadbf1b56ba18c86d4ef8ac54e656875caae0d7f6d0301cf9c1d7481dcd126263767d4b1246af348228655aef886a2ee1ffe2400bbeb030bb149226a90e0b28f632515da4c3ced7f7ff8a626bce34eb265b8d4d759712a03c092f17c4ee2e90105e92a627ec20f9f0e9ec5324e2280f0a4c197d1405a3e3f0375ae7962935bc576b630ee6edec5d9dc6032a45e09109764bc242de3ea7129cc03d91f18eef12759ec5413a7ac5a30360c7dd1b5e2e5383e42f98f7589a66c7da203a1ef3c191d9bcf439a8287fcdc266454fba206d520f5e7b9f3c5610514f9ed35032774d95230b0bbb1f390ae9e94e637b9fc116706fa8c0960b7f047274826d0b503942c80f2ec03227cf57e62d92707da4b2e3a74e69af96cc36c049dfba3d6c29803f635e229ab88330f4132f9b55e44b7b87ea81a7239d46e2ca069bdcce2399e1a035d36999ec5bd0e48fc3d8d27b7f19b0597d32c461c950b3adc7bb4d835fa585503e7de71b01747ff136b5e4a486002463f9d449e4b16bb3be2573d3a8f74af2b960361aeb7352ff191f8b46668efa161db97cd7333b1feda6fec1979ee4a6ba2738000581e036c18c1cab4d7409e61b9003e3ce83135ae0091fb5b0f50b67648bd96605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0302c1683b3a20be13ecd82b38e28d04c6aad024385c47923440c06237a0451cd8952adc0219104003178450f724fb09a2b6ddd2147cdd4b3b05b23838fe001e6bf2f027ab2bc1cf7903b177abcf5073e97fb0bca461d221b1977082afbc14a0954758621768ec506fc300581e02019fa5ca429a30f0596ac16cb57d63207462369433076475d44eac362b465af3107a400000581e02e76597762512a7b66d8c8799b640d64a6e75ee070e7beb3b4e89f7f3c2440f95f1c800581e02f9763e4bc60f4d2cd4876a11e4405d28f02431ebc9844f922f9bc7654d4707a11fc4d005c000581e02e21dc1a34f286e3296876f39408334b163e0afbd97045b4e9f12297d415820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ac4903887cb24846e03190f969d898e69dcc08de51f015d038f97e127d5f0f4d38f20b0219ffff03843a071e69562021d0d5a05ee5b9445d7ee50a15cbc566e1b2447b4f363cb3d003ae11d77e175ffba5f2de7712295965cd36371f511ea40817ed4fcadbb3106df50324de79a615c73847028e1ff37b957353acf3df6ac7bf3ddb33ffa78dc859b62e0373c1c724055b71dc22f3f7718e4214d70c73bbb094231134f14a0bf047a16204034b959330f3ee5b7c52d3d2f64961a134d3b3257dff0010da5dbfcb39e0bf3c090386c26f2777de07cd6ee6e4051ebb93dd0bc8ce61c841fa465b26899e6de1fab503aa3a5d0c0afdc20e5f5896be649ba5e938b7ff30774c1c47b3818d47b74512480219ffff03acb4ae9558411ffcef421eddf5f1bc2ab9dec0f23f2fd0af72a748689b10335a0219ffff036fcffd213c334904b8b96f88ae9f75a454d324ab353a2e31c5be06c224696e95037ad2379996c0a9bcf2f6085f7608d008e8d4b20e25d477c5d34cae1eaa913ef303062a2188fda2c65ee5d3a7d6f636a72ec2039ddb03d3c16452fecb4139712e0e0219ffff038b3f975c4ba21c3142e7b8813fc8690c30a64b3080a608f877841e3c08102ef70386164565ca719c34f191c79db59130885b852fe021a10c01f4cb30a2d92063c303ba0bc950aac0faab6170718f70e9e0d0a07571d078697b66c6866b61cd3f8fc1036015fb35516e9c8b711590da132c159578856b3fbdf36315e9906ea03acca28b03a873e5a3e1a186127ea8dd21124e7217c71a44f658e9700df563b46e35748457031d7eabe7ccf1c593e5a771da11ef17dbc1f79ff2a0ef39985d14be1f6182a742038798efcaeca2f1e835ba18c60a8c60f06bda936d7bff7087259514c02bcfad7303bcea9acae3a8f7649d86386a6b18c2e72552e53c6e4b47b48b175410c2759a3c033631cff7989095f25df63b7710c274be02c4e18d4a3240944dceed715ecc3f38037b0c7e6cb63bada1772a334c48dc825fcb9860599272eb8da70db74a198380c300581e02b27035b3e7f02ba18ef1eb597e17112043eef4ac583fdada72e2b0da42465af3107a400000581e02126c47df4ce82f0550cb543a546a86c29eec8c9d3914a7419175999d564308b17a03b87ed218f732856ce2b61a8ed444e3915df1e8981f80fe3a57483bf5fa056d2c00581e0272cc0ba13d0f3660f6220a52296c35d012cbbdeb3b231e9e76c29eb4eb430f424000581e02d6a1a7025485eff1dbb8489802200e6815174fbd9c4c19179165bf11fd4cfffffffffc54e25bf4080000031ea336a08997d3e0ef1df61de4b83a6fecb80ba9c080c1ac7de71158b5a66457031955d62cf24e612acade91770d002963c9b440e79b868cbf7488c3a1d358d37c00581e0288066a56b3d75755baa4d19d75a19362737d024020f5a8688d3d8034334302528203ddffb44b60b3d83282af2dbe82b006337c5cc8dc515f0862e2d4a227bba05fbe00581e03808048d4b117525c81f0574938c8f20c4d21a768b75285c527305fa6f04422b8563700581e0377f83f4ca51448522748dd1f2c3fcd6a8e11de0b0c009670816eadac305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219400403c9ae6f0585da31c7cd16597f333e5bbb5caa8ea3230d3f3939c3b3b359deb28000581e02f3b3ee137d7353ee47746a94a2769c95f44262aa937cc42fb39a039c9a438168d400581e0266cbad2e8f3d177320a3668c3816bfd864aaf848a52e4368c39b39c0b9430e0afa0219fe6f03a95d9fd651b266628b8dc31dbca4805fa8cac62b547a6b6c85b3127e696d7d9d038f22e37216e42e18cce1394b9d0894521dfd12238e082baf94ed69c5793d39e103cc53e32003432d8641cdf6000a228b018039b68cb21791e302b895a461ffe8190378fa12978ed91827d747477cb7332929c9821945a6fda39640b84336df1974e003bd4acffeeba0f906dbd642acfc3d961cbae5837eb6a777a981ba24826082223903ec59f289c0af1cd746a7d8fe1985ee069d3b87d944ac919d52104122f7127708038410bb9914c392f91bec29a5f95c81ba3b8a4f181be790d997609c8e35a342f803acc9325a9e66105477ee2237baf8ef61f657577e70505f3bcc86b41509b270000219ffff033a5b1da9366206e385d14881bc8746df7ba88fdd43462375c30251fda95c6a8d03d1d14561254fbb263044aaef6f36fb2f86541585467a067917194f93ba9ddcc8039288dd805d516c4789125040f22308dc71d55390e20e6644bf82baf6e245b76b03f0ac46e761d280ec0abe818c487fd5603a8a6110e09a0c226ca7595358a46da703009870c98d8d97220a3dbbf68be3f972ce4a7afe63d0989a43f6a5d65348a0c003792c434c8bc3480014b93ba2c368070d94b2a58f3d402ab160e58b50b861632203a238d16cf6b6eded369452a8d73c0bb2df553b89a67d8ba5a9e839efabba530203e4c63457e794f03c73f48e1aef14d756da094e0b72af905fc90edd9707d80c9c033197dbeaf2603ecb453cea4a6cffe66ed8b4fe473c63a1f6d5675b43febc75da0308414c24788798afb309f5dbb321772ccbeaa3be83fb82c1f23ca4d7658a0895033dc1c8cba8ecdddbd7ac0afb6547de4b0d55b0c19ed6362d4c6cca216e3830d503efc21eda20f32760bb6b734c9b5ead5b4ecd834c26124784a979c2c4a71ee9310389b3c076e698365fe71679db9c83e649247add2408452c4dcdc0f0589f3edbfd03534afea3ebeffcd6826caa628a37089e9c289fed21ec46d01a6eb065b421fca603da30332f1c4e357f34621f45d9d006b92e2652d0ec6b288b2f78b21b162aca990219ffff03627e7478f79bc3fbb8627351cecb55a1891650e19d20926cbfb9f76bb4e2217b03a81f4164f1e117db8ef8fc825602bdedc92c45fbdd0454febc5c33998ddfb62e036a3c8ae7cc97932c674b8e212069cb594d401b6ea43ddbcf2db8482cecdb3e7a03e1261e0d02dea038c78e9428615c16c0d26d91fc93b9e74d5db84d4b1d791479033aa1ae6a6a8109be250611e6dcb3db5da217ed1a3c23bb456fc3fdcb03adf90f035edc06202dcffc88856931067a8ba424dd99986a498edb048dea776facc5892203a3fa9cab8b531f5d5a35c51c35d609d946b2d0b84cf9849dd7189114cc4d8b4b032b31b1fd514b76ad683113cd21d6832f064a2eb501c6dc3889dbfd430456a297032488150904c846c66a2914c83e8b91d2bad5e3ecf7fad0f9061fad14be32ac66031e85d51181d6fd610ddcf74364c9e8d50be3c603583cfa7a78440b7c5d63f7a800581e0221662a8c3f245b6810d191819f98cf4b41949aa3df54ee182ef3ef8c485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025e100d599a318486412dc996c7f1a0d1a3c5c235a947c80e29d2a4a66c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027fde71aaa5271fa80087508c2143312569d87225df0446226f0143e7a15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02db776a5950b37920d5645639ed16d5d933fb52a10807b9f7a55462e390430f424000581e0232945f90694875d0ad6d597f8cb8de1a1a724e869d775c1a364856dddf440101901100581e024381f24a9ed3317d0d743b9f0206c371f52722a630388bb58e46d500224334f85302193ba40316af10d8a82747619b047f5a8620610ed036f878bf594a56cc178155ec759af5035c6f5d32ee4c913a45c5e5857f5c961d6adf295d62ff9f099f7829f86a7e6732038a8e44f75dd75152b13f52cd729d471c7126f394ea6198f3fbcbc6ce62606f42032ac9c513424711c8f2c819659374e430050f3cbffdcb9fca5a99b0b7a67cb5b103b6f286667b001bcb0f4ccb081da3e5eb4225352971de3af57092044198e0218d03cdf6474b16fbd3723cd553dcdf883a84baeb3651389bf9357ee2ff07aaf92fa303d646b1986e81489e669a74ba1a83f081a2a25babd190c11ad28eeb518b1f1a9303186f47dba833bd61a8a73db9a4c1d7ed4a2dec4a45400c16245fab86d7ef22e503f3c680b636b036c7604806d6088c562bb6d3fc9b8ecae1c4591b36bae443a6f703f03da3965744eadfd033b3b81df4a0f8dd9bd973daac817757a5dc31ca329430032963da8af87c855b42e434be68710a246b9933e0c8a3fa0dc09a3516e60605a70342171016956f759604d1ff458182ec61ccbe7dabce8f3568c402f4ad8442e31803d41182ce471ae8ac0ebe7ecba6a651c942f0950402a921d45ddba345b179af5d0219ffff03f4104a2c5063e99537159ff88dc8f0182984bf90f5f65934c3259f3bce1e58e503e6063d7ff610b3d75018f2b686ac181a8b51fc2e655f929bc2a9c769e4199b7f031350795a815a31b6ea269038c5af88cf8d6fc3ea2f84fc602b7b85a2941b427d03373ca142f0c9af0822458f0ccaa7d7a15ae9e10be650155e9146f88f94aaf7960306857ef1ed9d528f8d38c8a0beda1269509fca623ccfca3bd80c1ee12593e31c03e2309676a38354907e10e3e1ecbd40129a3d6d0b78bf9879479a264356fd321903cb2523e68fec00f3079f6f72548f0ef55fae1c1224feca460f9244c907afca3f03479ccf3c6005fe9e6e946311da7ab617179d5ba0c86156c4c8b1d9b39b2fe14f039f82653fc29e110840cc6b3af2ad17c1e9b21f5eb8bf62cd1a1b36066e1113d503c78374ec4728b34136b6bf3564efa3ec613ba7e51d1a718b95a47bfd251eb98c03a0d2dd0901b78f2711fbefea70187452bc50041f0d4f429b5d3f7a9f8a2574310355eca74b9ca2bcabbe1c71708b90f2f2b28c9a57f9d73e7b5675f742c126d61f0391e2d57c1349b69ae78c3995628e8729992f76881db3d3a03bafc7b2cabd21d4031c57f27bae1da5d4be80e6c41dfa2b3cc4cff94312d40e83b24dd65bd59c40ff0219ffff03ed9290ba2efc06ae6d5b0d7af3b70b1196451150a5271e0843cd7cfd2d4b5e0e0332c9fc94e75788580ef58e82d3eaef4406830ff7b1d14f80fea5bfda7263405403334f4013760776577cf6f2c4e08c0f2a57a43b4548cee5d98683ce906d7c369903bffaa6a91ca404c7c669a6cd1c5ff914654818aec74aed6baecff63e7f747c7403c1d1ac7b999a612ea07d21eb407ecb0344ed45cb6143fa620e2ae11dc6f19c61035419ccb7c06e29b1a6df337bf7ed47d5b45ec2054ce3bfbe767b1f1f30ecf9b30219ffff03e3f08b2d624d3d930b69b263e366164b9c4194d4ba790c1e521025eb24ae9df1032395bb429859dd035ac20def329d3a4eb19805342e343c2e2fb940d152fc2e3e031b4b1d744798e92447936111804e738b08c6761cf98340bfaa9dd757154148a403bce8fd0e2a9cb2bdf6f9732a9cf5e4abbc68b9b86218ba73fa027f68d571e19203d5c932cf6dbc69aaf7dcf1300e5bf7a2b701fa63d9edd65cf83150e5bb5455d903343591af22d9f92efb01b155699790f655118cb387e154d13aa86930503efaa903eef966a5c9b40d75d43d180b448122de235a71c821d493faa22d58cb0ddbec0903d759db06b6c03d6e825940765ed9d7147dcdcf9a67878a6841319e9640660e0d03258fc23d44e3877baae731e2b458382470e5bf71c283a806a0a873d766c043f5039cfe7ddd3604ea4ef0201e54784e5b3857dad3c2cbae043f00abee1fc1e63fb803afb6b352fa5e8b4ed4fe3c9e73b336797a4435fc0ec8d5aa1936781501ea28ef03131e48c63b9e25d27146f5edb04e3b56dc7470ca6452e17f8e66ae56339c036700581e02eb107981154074079ed1a244daaedd3e7dc733ddd54533fb141ee7812644059a73da00581e0227799ccc27ab3713000d47df4edeaeecc8e66ee9541ff6b53833f33ae25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03fc8f2547b4983dc9de87b04b4a0ea455c6035ffff1b601d602b8c3897b5d49e000581e02a07f87f170c4198abb6ffb9bfefb7cd63d90e3ca581d8b32ced6aced894427d45ca200581e02367fca5a1143abb41d64ec2fa1fdf52211ec25b9ac95fbae7e00d7770c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bdd163dd927bf06fdd4cebbc2c9155737d43732909da24d94631d3e5b1442ad6ef5702190da403139c6219de5afda3650e7c9da1b589385536d2e94a4d277686efe022ec363e9103ff9c8ae82c7824dd9efe48d2b9357ff5f670ec9004837274af7ab9c41402888603e2d612da3b07f8e4ec8c9dc1978a271e8251095d14ab2899ca1fb74b2d9a7021034f0d0bbc99de20b5aeca3d396ff007136827d21e22c5ca2d7de44304964db95a03e573c199edb39621f2116fecba0502fce1bd6a9902d09f6ce0fef0f994c26d4a03eb550a58dc6ce5ab1766a4f0448171cd8e69d68231a78da1a03a1cde481b211d03b053858d85c3f08c3ce062040217239cbf207856e4d4c33142d58aec3d6ca78c0322baa2a99c290152da4fbc42df3d57cd0eab84cda48bf74aab530eb18023d9d603d6d968bbd6914b935651387163f01b627f5c0a71416a5ddb6a6cdfd7315e03c303c7a7de4a3de9e71dfe1ec709f177138d9982c9e1088d625b9ca8003fd829b4cc0219ffff038cdffdc208db15df3b5c19c0aa7ee186a582239af88f11778d3e2dbe74f3b51903af4c8c480210340624ca6517a25ed2d8c54fe54e632ca23e237e8837832acc6c031b180a3d0a8b806c5fb05754881278f27a8ca21030c95ad33c534bd24e6086d803dc30195b33298cb636fb82c4123327f3c748cb4c271835049bd8c3da7d2afc0b031d3cf8a29963269355f2eb93e2cc90d995a8f0c0ae77d22537f7ba97bb52475603fc3d8465e2beb57841db67600d5795a986d4bd2397129d3094c2b3541bd47a250310427d0f246f48dcea2cbbf1f156c4c62c8342db2c2c3c82d5e08fb3ede883340337de608928e2fdc2a7c31aa0cd81c0ef7b2e8dccf5c3c17b2b6b2c71bb79c84d03f0ce48869f9fe4a59b4c3ec5e4988f31367004e5e598138b061f829dc3cd822903e5ffea4dd0210f82d04f38f84f3c2592ac5ddff605585a6ea3563cd221a0cd2103d192c7244879bd17a82bd69a93d203ab61d2eff475c120382abcd49da73ecc4d0219ffff033ea1e5a0dd163c271cf97f876823322e3b4802768b3c8331b650d719403cdd87038ba756d397d7039ceb4e96d826b5c21c0bc20d3380fccda6d72ca9ea9879bc200357b96c5c6303c04c2d486c573b0695154e9b308f15f108efb2c58419338ec9ad031b2dc50b9b3737961d497e7b79962b750f9eb9153233bb7e916d8af690a5340e03a63bd941e9ef3719492f85b8413a6b2bb7dd189236cf9a60d13f7d15334eeb580310c7bf96768cd5ab31b50c8f53faf3da5f3dcdc6bea63c3cb1d66a607c263da703764cdfab3088ee6585bbbed9a0727adac3014c9b16e2ca3de01a2bed7fd2dade0320fa2faa37c5310ad356c1a2ac3b512afda17adebac8af79d10d2a63d8fb3e0b03df21cccb52148cd34265ca84fde31e69b9dd69b15444f10080c0144d5cb3d5c003d3cc3aa9b01a5ce631a684b7d4b5caba24d4dee5ae6f2efb18b5356cfa76d8ef034021ef774c9e45642c89b4f50cb132cdcf38d77fe23b1b489b3e10aa1e79f86803248ec4c25239ff1bc0cf6dc525cc8930daf67bfd592175e8a16b6bbdc7c2a34803bf6ce7b950965926023199a08fe86a7054ef03785871855345922175c0696a1e034ae3e8e2090ce06940726ab242592899b3af7c68d1ffb4f89e1e2e37d4a189e103f1209ddf1071fd5a078f57b85523b1cfcff0b680b80be0c978cfbae802ac9f4303fbec8c877ef46b1c14545d000d72aff2291c7fc32b1a519c8984d97a653b767603c9e6d4979a39e2b22de18c4fe25c7851385fc5f9796ce69c120bca8096fee1e003bb6539d1adf2e0e5fb4739747bbede0ce439755c8293a36c8f26e407fca447b103911f666ba4b27a57f6ccd970a50c05f6bd2a4b51426844a995f4c897c1b278ec03f7f56871b40fff9086c6cf7530e1999532f333d34db45574f405a652adbb08e303ad0fd118ffb6e80f5047f4a91a4d6310660480951b85d2c6309f1b9d7f7eeaab036e6aa9180087431706f8f8cef6e65185cae22896f3fa54a85a213c43e365323903b5f29a0ca30d24699b03307d967e9ce314d790bdce3c6ff3fe39d83a1d5f63ff033e16696e680ac080a67b16103de5cf9f95c631b2e922d3e97923c6cc0fdb361903f5707075e9676f7ec0b92a238c18f10723991f09e84ebf0195ea7b6726ac567900581e02e23ec0470d752e40a3a939e942ed814f3f4facf93b6786c7fc4fb182784405f5e10000581e0213429c25688092ba59d556898236d165f0605ff64e58dc7e50c14677b24305146400581e02716ebd90fbdc982e51967767fe2b5c20a3ab19e638312f1efbc455923944047645e000581e026296df8196a61eb32928003673e5769fbdc95e6b4abc54be2c1e8e1c5e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02877f18deb79c9e992d08f0be4b1baccdc930d6351d59acdad61ef5e33b4408f0d18000581e0208052916b934e6c4b75ef0e34b8b8866b6482075a052453d0ef41a6f7e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022c151c81a384e8e6e1484d550f3910da8a962738227d66367aee1b849a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b14b4489dfc5f387f9c986128b74bbf5d55b736671c0a539805a5328384b4a817c7ffffffdabf41c0000581e02c886b604c60388f7325a92170a53a5d7c8322325f77dc86f3569ca4fe95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032aa0461a2c29e04f54078a706785004e6fb50b2da6b6495a25c8f4f0644468d4021978fa032bb04eca87563557d6b5dc085ad561477548b8e0b917b62242a71010830b153803915c12821a02d49785b8e210cd905b20000bd1ed4fc11ebd6cd486dbcd3aaa6d0349f0bcf27a177a0c62cb09fb59d3643971adabbc30a61c84401246e3cf4f36020219ffff03ddf673deca22b0093abf901532211c5c570921ff2c3192b9db1293dd4df29a680388fd1c32913cdec4a07cf3f8cd1f0e24eec7d9dbc8715079279627b08e96e114038fa54a1596f14683003e716ba7c6fc9b63738bfe1dbb327d158be81be64bd7040219ffff038f047b6608255a14d586118de74916a21d9bbd85b54a15610297f0c66807b402031aa9fe2d1f7f59b5b2a5522783e7f4d92161ccfd097547410cad951991e1cf5c03d0549b89200fa9ea49369b08c018c8fc34d2ba596390df4d5cbee1dc5fa0a132031434a2fe10be8766041b8b4facd5a35f2482ee6deee1348c9c61e6bf0d77bec803bb04402928ac4ccb44b87092b42977e24ea0a15354148d9b823e4b314eacb48703d0d512416f510c670dd672266181a368e7298504273780d90b90cd89daa3289b03829474ce0aad74e3093c23007ec2bd1119c609b441b525a166ff6539eb6f66da03708478803c29f9dba0054c7913d50bc5ec150e44e5f3fa446c7d1b840becd7e7032b7a4ee49e5d7ee58409e3ae9e7054f113fa3a00d2fbba6331435ea8212cc7ac03fe1fbba61ae604399565248d50c2378123655dd6bc46e604754ce90fa0b8c15d0219ffff03cf69df220d0489fd6cdf27f39eed5dd535140e81c7656dda6c5cdfba82dc2752034f982bb986149f0c9c2922c345ac834e5164c5bb0d2c490a374e092846c8c92e031e66a5128f03aaca06efc0d8d910a2d306ff3d0c8b64c1e75fbdfb5a6415fff703da7a163d36f29e93bc4235e798755f1721ab4725b203fca626e9a1fc64dfa31403d6b6d28c16df54ff8af4b81ac93d3a8952ec5b486c4198f38db439955e2ff3db037e22eaaf4f9b6a66849dc8b12946114aee4cea30ea0078aa75c5066f3091b80a0375bb33df0fb903f40b53c24423fe6564ce92f044e53d15b314c29b90f1dbd5cf03465eb981d3322eea97a610d562ab4b4bb0c00af832c5e04a5f6c56c09714e0ee0366d53d20d99d4d3fe82c01900a783aecfbc65393ddb7bd2cd858ec5a35524b0a03ad2a573a5ea32809a59801f166cfb91b7e5bcde32af58df3218408d8124486a403de3cf10ce6b60027c550679e5ff4b2972170e97bfb24d5d9f9aa5bc6e1b30dcd03faac76f902a83b78adb8af847fc31202892215621a194fdfcd126c40a8f0b8ee03782f8c349095c154ac443efa6de97bd92182d7fa2b6cb926524e142ab7ee71ef0372d9b6edd9e219ae031e58efaf5028790d6f28ec7b28b00bf9480d7035f4ce31033cf1e31c05e59dce1c4182e8e7c31eb658c93deb70e5b4dce0d5bfeb553bcfaf0348632c2b2b7c6d37db52fdeee03ef0b490cb054158467c5f92d2327e7a149a6103a2c4e26976351ca7f1f62795c8f7a6a2cf92f4eb6d1869dec1a612d0e5d1544c0349b5f6d416659a7d5d1b7eb55509c4c2fa20365d29b8af4f576880c7e2253ee503259112b6648c56f964a9aa08d355156600e06b5d5143d1ca4156e0ebcd63b11003cc92c9b09a362570b6f38ee5bacdfb0c9cce1c03b5d71d9aadd646b89827cfb403aa9b466f8914aee196b007a2a0c7661267a85ebf6b35425383f4009ad99c38e00381c16d993bbf92a29a88c9a3cce6087eb2e6367be7880b6c2e6f9685664e95f003050c78fc912ff8a4d3312b59d77c0b3bf37b297ebab6e12a9621ac47a6556c0b03a88849624314d455da3594de13c71dfc4eb5498a994d80ea6cbf48f0124ec41603e13445eb733a2bcd577971206389917c326f6957de8369242d668e4aaa007c03031807c7ccb2314488a9a79315e03c9e582363f6fc6723cf87451698485310d4360343c99fbffc920812134ee96393dd4d0ac3594a8f52bb53bd348bac5c0dd6eda80388e36fe743e81737ab34a045a6f2cdefa369b869dc14246099f59b2d2b3a7e6203fd6da95f74a27530f884e63f24ce554431338f8dcf53a4302dcd276e10cea14403e60835dda1eb6ad8a1532d23247dfa903adbacaa6d6345d1e1b0bdf48ad0e2bf03fa348b165e2e3530306caefc89466314340964445dac3caa5a812472b14f7fe8036358100c39e65b6ab815313b07744a5e2a3072cda4479fb129181711e39deedf0346fae0e9dcad1ea003d78869b9ea2c76de5219a9b0d5f4a5ec9f52696965560403f1886cc7e3e709e0a43f874324caf3dd2504ce57da15465ececce8f8ff84714303b74f92b08bb090ec817577f2a8f6ef12cb100632cae1768fbfce8e66ffc1b99903257f963cff3dc07767d4b8f0337771fb6fe72deebba338b778a67265ac6196c6030848085b78eb0d843ab828444318502634851c67086d5de086d6a44ab51756de03318d3c45f775c17e707f5098d7867f60ca89d42c6c0fcc5f1d4f02ed556b787d033a9109542de8d9286943daaf4bdb2f52628df80071bc02c21f30261d154aa841038a186609dac65d822b1482ba58a60dfe7c703a49f96301dc1b1e50ceb5be809603def5e318c0cb9273178b189650c4edcf8a00f9252f403743e033edec9fc90c030369d8b9984d2db8be9abefc3f95990b386890a8cffb5611c904d6a7e71bb8c74f0348df0de0d35b36406bc49f56369be8bd613e8948dc284b3b020bccf0a2205f5003212f5fec75c40b344c788fd31d3320993c76e45f04b7c813114877cc1772a44c03b279205d737c73eb960567235fd90b94b93af39545a85cad6bc9c2d0869c39620301762378089d2c488564024e1e5d8d333ed6a65f55e34856fa594e159e99806603db4c86f3045642cdb0cb99baeb5d6d5587a421090ef04cc885842a400476f1f703a7efcc080cc6b07483bb4c867be8a826e5c2aaa28241987dcb2da073f9423df400581e020beab26bd7c89d7ce888a9607d6703f9efb6eb9e3de443523739afac0044eec15e0a00581e02dc3466c5237b81d536c4701365a87aa5b566f4b917a8c2eaf0d38731465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022aef848d65819c28b9bd874bd3de03e0956070efa648890264a38f19445820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0296fff8c915025e1ac6f835aba761ae70e8833f1084c525d6443d737b8d43bcf9670305674b0bf0b14728c41c7d27139085b2b527b49739071d4c3fba949031ed7ace00581e027fa2b9c0baee35cff928c095ed8ca54f547554f3cf65f2bf503f0e0ec25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ae60031d2051ef48160412e8fa7770fb8e6aa15b36b1423aacacc4b50368ca0ca19f7b0219ffff03f27c59f99f52f536d65e701408aa1682fe5a2b7d039320fdb2a43ed4fc6dffd00219ffff03333351b3696eadf68659f2569b363026010639cd729b7336d2077d7b0a99cab00311fc2f5e444dcd55ebc4fd92877d9ee851936a1730fb5d31c537f32da9aae84303424b659ad6fd0fa064b4fd9f5a7b7d92176744a893a67d4f6359f13cb759f3ae0219ffff03c31e8427337a5df3e578e5b8f9628fa9e7c9acaa12076015f498af33d6d2f575033e52775b4a52906d09479fcc432efb03cbd5796d174991afdd3c72f95520e4ed0367e7b28f3d8fc7886de96c403cbd940801b78904021ff981814fb8dfb42492610363200a7ff75edf406fbefd7591eafd8f9641014236d78d892ec51f80b1b8c67e0310318cadc529949a9c2b0237fe2b7d29910248471cf6aecdf1a9c8ea9df2ce6f03b034fc7a4fea860b127b0031d376e113ae1eeed27fd7f872c5c4221b98438df60219ffff031d102b1e786acba2101552944ac5556aef318089a1e04cd809b6e1eeac9786c1036ef6298d7fcfda355537e5a020e18d2f07914f8f3dac7abe38c4d698a2e8e59a03f64488bdd7d4ce1225fb178f055dc8aaad1b1c97298ce403076f2730908f56bd0378c806600d20f66784b5097f292c892335274657b776582f35817d5608e5d8df032b1c222190a609e7846174ba089444044366ec77c14158b2827a45b6b55512b7032f38d9974e26404a08fd6f9a05f83d5ec280791841962053abf56620440499bb032e79b4515de33ab7915a0fc31cb0a047eeb135108bc4bedc1b602f306c293fe8039189e0f65a0d0a4ecd2c0ddb62633b741d8b94f9d98b939e7c8c5dd71dc9d632037587f17883aa3fa5b69c435aa586c1c96605e2902426b406605bcea8220a29b303e50dfd7b2fe73d362eb153d7f7f64e2b9c7e78e5476797a905db7ad8eeccdb5f035d79b18e291f808d6fb2952834d1b0d92dfb666719a6456e1ae02f5534c9aa0b03b0f282f33dc14c9c61931c37b5b47a4e6ca268f933b999f803fad3ec863e751a03b97eb94b1c41de8f7bbe624e0652b078a42ad7b2fd0c957b939a36eb429df92703ce23ccbfb5af9c138e92bf43bde8f949661adfedf43709d5a372a271bb1e054703757e98004ece3ac8f5b6d03713f754d823babab29921a553bccb09375e70555b03458c8c9f62a5f9c480bc169facd34c9ef847cae90139914e82100016be2880560373c81a52aaecdfb35eb060a08f5d6fea6a172dc3457dfe06b59c6733c2a6786f0335aff725f33d58cba2696c8c438cc8768484a9fc6458dd78c6e4ae765185de4a00581e0235591eab091edc5ff6f0d6887f3c1fa35240d9fcca12f07ccdbf36d7dd42084b00581e0205fc9a6c88ed4079faa7bd19c68b5c503c67446e67abab26a93ff4bf8544056aec7800581e03b60e7febdae62269b75533211f441810b0173655d144b34e7e0b76d7e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03d8ce17758fada27a27fbbf0422efc2e83768baafe24cc3a878897548c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03d2cf3e64087205920eac33115208e94d139a95f34312459c44e995d560441e0a6e000219810100581e02e57ef6319c3bf2f99d433734727d2d57bf79f0a60e3ed2d38cb361e3ea42a29200581e021ff8ef585d1e0d500ccbb916d4cbf1a4d343a9474954de0bfc20b1d4095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03921eb3bae3fb7dd4f9c0b337d68c6013e396f1f23e455ecdfeda9fb3c107303a00581e027405bde5a03cd36c40fd91b42100c6ef071e76b7b4df9b01e77ce771a9445bf6bf3802196b50037008bba73140a767f49574fbcd63847633e28890d690666163757ec6902b057c0383821749dde53f0e576def141e4a2481919b48ac9e005bdc55edff529006651b0346dcb941bf1c031ce40f70096c81bb95d684b96ae36c0fca5f3ee5130c3590fb0219ffff030ad8823d70f1998d137512ff8bdfeae4ea427dc24a55949fa43948afe8eec95003668ad616218fecd80dc2325e10e38768650f91f60663e4706ba456873225b10d0364deb35c88255778c821ea02a356bfd4657f044b72d4105a3d9ef8e01f65a61e034d86ae38a0bb76cb893059ceb6ad05c380337432d7038075ee354d191940f6ae03b9d084fb61d2b247a5beefc28985bcf2f5cb5bdbdf059e76decb8dbf0c3aed6a0346949e0c123203754486f33e2d3b2675e22ccd752407b365ab1db7ff6504e0d1039649b2a0a958474a11d6549e3ab9495c776bd1798a6b0f8cc21d5a4c886f052703654a4f2ecd74dc9248770049521cfdefdcb39058686a315ca25f7c9dae4ef7c103be3d75ce5ecd05d3240fbb75381d566d9d1613ba7aa7282eef0a2835024cfd8e0219ffff0359013253fa5dbedccc4801b2b6f0316b6a0edd32d715b67ec21945cd6c10e21703d4b6a72b95234549d187bef1fa09e9594811bad9d9972fabd22382ee93e8db95039f90779654519475414280765c6c5fb64bb2f3a309295660867d7b49863cac350371c105a028b860d4eea694f2a4a4c9ca6e36bb6af53a2c21e4fe26527b7e592103ce5414380219c4b37e8a33c089fac0bea4a8f97188338ef85997c6cfaf7ecae60352213407bbb4cd27bfbf4531cea335d3462057bdbde5bb159acae37d157778ee0344d23bb786c509cd785432f75b547cacfb5602cdf7babbcadb779c621f7016210389940ec1fb21172f7ea88d6aad1a920e8deb948df10985b51829633893a1e2bb03fb92dcb530c0f5ffec4f6e6a37b0364c3791646e28f1cdd4bbe89ac827073902034e5c13eb03b11ba479ddd5c593c8702dd9c8b6d25e2c703f30f0fc3d6e49e95b0310298e4bd0c6f3a0554a20bb6c831071f43c106bc84cfbf2484119a5dfcfc1360396af02a91b23a3c906e984ac304d6d747bff5294ae459321e5cf39267a387cee03520f370f0f5f5ef937599370d744f9a3bd30069197aef931cdb1f2f11eb86e9203538cdb00e0659e03f269c7a7e7cbf9970148f76d9fcdff3588db494bab8b0728037db78731c803568736b069f2ff0c8c955043965a4425cf1f096d22a1d5fa31e203a84fbd741383566165b0d3be5facc0affd060352207d65e151c91dd3eef957a9037f01bae74627f5e4dfeb875468c7b31c05cab2936ab28a5c2318c8242c33a9c20395e2c204f6629a666210c73c3be7ec6fc0adba79956f0a41547aab76c3ce0965033c9f2016cac3d9bd7e613fc019b8d0d3aa28baa5169bb248e85979b6fad697b403af53416b533571cdcbddc71cfbd7cd2f2bd520607b7c808b976d775f54cad55003ce11323c04da67d12486ad276b99009f8eebe201c1a14d719501e463aa42f4020370e236477e3bee5a8beed9cbc6639932425af495447fc453eca12cb49785aed60395d0588057389983689c83f67173ead802e3a7956fc9b2adc0e284f5cea7ffc3035bae1d94991bedc9aef418325d0af3f193d05b1e74f5b328fed8a99884dd414803cc7d990c6459a63ec3d29684dd16ce9428dcc90bb9f642b3fc02723448e24bdb00581e035ac6aaa52115a358929cc2bbddbfafe282173fcab4d227c28cabd339b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0352fb102ee644320670b8c4a2fb1ed65ac9db7d0c7d511c317d8b0b54d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219400400581e020c86b494cc1c6734e4c89029845bf48e525440773ea7e3cc47f0b9ad004407de290000581e0245c9cdd07bcb81e4b5338037c3cd44b52a98318ac0422c399f3ef49fcc442151a9c003f41e0debeeaf965078da0a83a74ef361e28ec2d4dd101725d317b5289fea96a100581e02a8fb6072a11317f4aaf416c81b5991261e2f3e05216a5e725241f0fb255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02193344034b0cea1c31696313deee47913447fa9622c175ab22222f47efb0f6aee0bfcb8a030d8bb8b841458eb40b4d5f21fe293218c5fe27b81d0d62b16d1983f6078a41dd03ddf562e4f06fe04a55ea5ab0fc5114c20775ec74844e160352709ed4f35b1d77035231acd5981c8b7cfd87ef0c282d4c2fd1cc45df8cfde41da34fc5b25d2089720394cee21184421d8a0dc6c03ae81b3e17ba1c275ce995da98cc80c0b7a08045bb03cf83de326f4247a25e0873fd8ff645a8ab353d4f1d7b46a6ddf3c829a182aa7f03eb1e2e8fda89e624aef026267b2b40e143da511dc8987d9acdb80422dae6fdbb0219ffff03d7e255fc6d3a9e9485c861079eb14e8eca069db3c3d33272aacdf5f4bf60b4e1032be2c5dae91cf5cde962c6f1397f707f4bba892902d5513425c4550c76e9ae360379aac1912dea2d82c1119bdea07d44e9db93586d7645900694c2076ca934d0ac039443fabde42a908c94e402334ee0bd9a64896d4bbbff3a2064b30273f3d614c4034f6401454e7c2e4c07cd9d665931bdcdf058428f06fb67356d76b5a938731e99038d7fb2554e8f09fbc5adc7fe3d196fc0b3bc9784c060fa2f0790683736dc5fdf03e64f37b4dfbfe51eb03654d50be509bcfe36429bd23eba2154665d523754e85503c9b1689bee33f6e899119e5fad5aeffa81e7683ebfde14149a5696ab837a56ee03a75188c767cbbf71e2f157d8cb997569f2b26d93efebd717590597bcb5463d9403aff35ffb1ac87d96ed1578cb7ab6d770c60d508d8376d7d8d92609f58d33548d0219ffff039af123f05ab5ca45ac90b15099d06eb34e3660168005c8525039bf3d94f7ffaf03af1a947d4f9206a2138e9446de9c9fc4c85f97aaf9b3287c1e81488df945749a03c316e9291d873c206bb5e6fa8dba933464ad7e9ec49f024824588e8ef9ca6c200219ffff03461981d4bc29a56054f0d25562b1e96bf7cf727a6165feac32c5be3af22959e403336ad6964ab1118a00038d248950d5836d138a4a44470297b5c9820f935ee49f0390645552500ccbc36fa45d80ccbb8f9e03272812762e92be7cf7895a2549cd6103ac92c7a97a8472182a69eacd5d91e6f2d35be4692e084d5350d5d76e3034ea7103791aea5cd9969518fe013b195c66d493562d1bcbd9a824a08bbea6f55747350803a576dd3538d6586be170a8d278c2853a60f861956af1ae90e193be0f136247e9031f781fca3f6ac87451a2f6afa914548d895ad30a1cec878afa96b0545ad1969b03e3e2b6db019a018a56fadaa878518ebf6506972c626e0e160db5a341e996ce2403f354eec79256674039542a3767e2585c76be64400cd674365427bb69cfefa17d03e54fd4b41fe78c74c24d5d5acbc82d7dd3ad261824b09a8612e06baeff178070032609ffddbbad6f7197f3cce57237e4fe4e5d2828c5c05d5b093278e67841902e0333fd9753769f16254be925f71ff007e347ce6369fc7b3581a9be5bff8c96f7cc0308900720e2e8e8ba1d2985771f01188a91dccd4b56fdcf427a6a1a62dfe62f8703d68940be3f85ccf2c212af05d65a3eab7f72dc7b47452a685eb89fac82c8936503b90be32a52cae9bab53ee121b16376036cbd45f03c6e2eeba3f5e72f967bb1f40372c6caf0b0ca9b00e7d544ad84111fcd25441b4627c2051de8a0af22d79aceb903f8d543ca9d4ef468f2ab5746c04e2cc9d405c7622cfeab6765d9d79e6e8be33b039f2434a5ef3207c5687db1bb56384f57c8a8c6ae59acc040ecb29be5265e8b06031e20ec778b628a786fb3d24a599079d9bf43988f0af8d83cfaa0bc6c20e1396e03477bbf31abdf522fbdbc8b47d8b02e59dad3db5aae822800523376b2dac3b22a03be941b8d2e29dc13b5fc3b03c10d2a860564ed5d4c24208b8e6f69500ea8035603a0d7a190ea5764a0344ff25282414d582b1f1d2fc1e02061f9147d6bfa2e523603b727e483289b39769917f1ef8da31a1af85902e28658c9dc7fe73005f45883730349b98ae3db10df9179450c54b01190b067d8c9f81cfdc07727088cfecc5b83a80307aef7d942383b39e3b7c619e27912c410abea948854caf5780a9645749f1bb50359c36334eadc11cebf2f37c66da97015b29e42752f416158cdd1ceb88b4984490343f5682f09424e9cab027d1652bcaae30e47c9948655bf449ea8d297f944001f03611860ba5c7ae525d334702d5dc33e899c5b2bdc0bc5698fff0df4fa543dcf9d03784106c79c2d04269d2ca52d0574affd99ef224ce0215f06367e6b749a89116000581e02f93ddbd216b126154a178a1c307a80c469d4b1a4975145c23d08f97aa54b0845951614012cd0a6e4000306ecc3127535e11299395be18ef1357a0666a2acd956df27f1caa92eaca0f4e203e33ffe76ebd3aecd5b07c7beee63d73d8adb49f71d4b56da65d1b2e8ba820ffb00581e02a39c5609a00d5b66bb5879d655cd7053b6ec39b0924c916ec41976bfb25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03d14322a360754c31de2139fe1fc087d48e72af96e4d659451e872b03e0430748aa00581e031d341ab6a4f8e66c82484ebec887e4f55fe55ea65874e0a24c849367b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219808000581e02b654c235acabe1e694b3b25f2ec52334f0d2d26cb45a875e5f419276474cfffffffffff096fac1cb4244021996440348ae2fe9d959977223d53362a1ef0280016fa9c6068f72a1b2e2de8027f3cae8038cff5a78841ad347926b0e3d2ba38136e6ec46cdcb314bd13336aa0fce0661220219ffff03ed2db939bc5767991216a15610b375c89a19243029df63546fb33b43bd24e43e0344b1b16ab3e3b0188c13d6bc6cd2dc962fb1208cf37ed9bb49f8aa8ef94fed1b038fdeeb86d4bc32253ddd29888b9cf1f7a21229fabb93d668edf759ca869066290219ffff031e4f5a34e37f8f4027a5412e6ba23802f15ac0a9adb1cf084dd2006e99af5e06033f8c5820dcf6cc4c7885099eecd044db245972d0af39798c1ff7bcf0cff31bab039e5a42334af846ca928ca94cfb328558a7f9042265c4956e4035bc93159260f2031391fdf974563818babb89b39ba1587daf7a177613fc8c051c154283071edabe030a8d6e2a6b577b0a4b8f4ec38815889646c49c221faf771ad4f87a025e9c27850388437188223cd8b85d4323c034adf87102e63b15aa9bd7f4efc402542fc6993403c8444564cdb9fd53b7e7f7075177f04c572892119d217d8a586246a0f235b3dc03e49e2eef577b44c6aed3fcc44641cffed3539655bb718ade84e115453e79f2fd037ce536defda13e9cebf811cde1415c4c89edcb81b18d2ab19d4624365b9fa36c0331143f84aa4d4a0dce3cb59097d4803980dd7a0446219e18c6b67d7b8ec9afcd03fd1dfb5a1bcecbb10500d56714599897189a815eeee7eff8df73464b6da0968b03969adb7e3a8955481a566cdff591a6a126746e45a470a661b10cb3d3df964b5a0365a4fcea1337c8d9ef5a8179240e85ec28ca28a00c3cadaa1cc516832be5577803c66ebfe913b1c18645f6a5f2ae414b11fe921cbaebd29a1db0666c9373ca3adc034135fac1fe90885b7cf94f59efb68c4f5831d3fc14da70a9350b4bba99d741fc0338e17d0c2172ed7af6a6396b544b2eab03484ed063a8cfee0c6799d948c03a1f034335f9cc48360b5fad8271b46fe32c822fe931039a82a8d29a16790df5c9336503b94c3e28f64cde838647f35e177ebd3fae9b1a4c9700a0d52d06cb33f979e38b0360aa9ea834fc7fb4ce52a465e9b807e5b5be5d44fef5fbd74d20276a8e7f4d7503679c97cd3395c8886d682508448e482edcd77a7862df04b1c6861d81a8dca9b80339b73317c43d02e47d307fbf9a45b6d4408e21274200a35b957aab7e004563a5039c8c4283f48865acb48614b4a9b546700267182020c138332980efb2907da06803a75fc5bc09b9f4c4cf4c65cabcedeeed0e94262dd92af316f4eba8a869b4c3d4037fdfa6657df2ca92e826445eafdece2d54b28a5a5995aa76f01b702983b1f447037854b92376adcf181f8733cc0ab79a0cd97fd4fa6af0d7d88ae93d97204e180403e6b02a0420cbf96df128dac8dff382ba07435434a8a96e109f853be6554efc38037393a9d9118edfedea43874462f9ca42b21cb5f1210d5133f256e6cb95807f1403531b2d5dfd648ab66072da119dcabe0c3036e775847853bf9b0c0e3e1a493566039a6a59a56427cd14fb382aacaea1269f8581451e0119952cf0a51179c213e26d00581e02aa3b8dc4d3c7729dd0468eaadde96566cc001b6aedce17fe4f556c6a8144034a9f3500581e026646fa97172e55c4a5fa1666e335c67446e33b5cf74f44fd4ff1d8bbf3488ac7230235ccd9c000581e02fc5cef9ccf3ccba6a341f7f0c655b659acfa3e8688623d9c85479f07e644031ac0a000581e029dfb43be78ef31d9c483e790441424ed17cb98f300fa896188da99c34c581a031535a1146e4a4ba3f4b13555cd59267ca577ff76c43377421400581e026f2ca48c0ebcc26a70d8290ff43cbb368f4f501e43a7435cd7f6a5602f44132d456b00581e021849a8a29d24fc9bd040cc4d80d5e5d30de38404c91f05ab2259c396b34321d21c0361e16bbc0aae65e2ddba26aade525efd12d48b85178a51eec9438d7444c65fc700581e020b9e9925edff8b2af8264d58edf47d882f71037db6c2fc645bb8e2f6325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e063dba3f8fd28b8f9c0a7e0a3a0441e09b205c27e782518fe1210af077b124a00581e0359fcc88b771c3811885d6e77011f80ec7703ee06c4ca02f309638fa9a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03597b876be39a1be448b1ed21e0ae672ca5f5d8f404dc8623a87ba6b6205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e033e5feba0a01244e2ebf447b94642f67b2b7c6265db966dc41d6d3b3fc04637a20ac17c3c0219218002195cfd0310fd6ccdd8704e0c2ba5463868cb74d290ef467ec8650ba3b9ed3f1444924f960364ae13a011893ca14924f9b86a897e94c0d5c7f974139ba08efa3b85a9c5cfa70325fb34ff3bb877e4e75c3079f6f51ee6ea626e955b672c29eb9723190a56a0c303e1c80ea2ee45208c3892a47d84f263851345870a52e8f08e845888143203e7c003b7f4afbc560746e872db339c24b67e01793f1ba84e93a1f442651beed5da034503b95312739f51687400374cecd8044c2c6577aacc626f44228eaeb1f64e2a72d3038135cc14f620956e58149d1ec64173932c9254b798066804783e49b5294f59d703a78bbdff35498a921c8516126751123711f7512ce8471159615a5ef42016d52003c7bd5230f3719469f6ae0f977b4b8e668ee812003f7671eaf64ff535b7428bda0219ffff0346748b76e14ccc7bf7b894871ef73319f3974b1ebbb39ea1eccc6fba0e47834c03064e0d85c15fa837a187a0bfced1a29625c29aa80c99cfc83968ea147ad2bd120219ffff03dd15ec1dcf3a0c2d0e56c45654fb2645b058f92a08bbcc98774be1302bd6cac503e1289c506e0b4e9cc45322430b6a5e4cd49d7ba6d163d4bed08fb492a4e54ff90219ffff039ff2f5125505c05523c77e5161d9b4499d18c6684dbfe13ff10dff702f6e477a03a2f4fc2c920a604e918faf2024bd24c763e7d0d63253dea138378198f353e3a60361927ba281bb8eed74144e199702029fed1e5b94d9999bce7e42f6e849629d2b03e8e1e02eb048ff8cef94cc01d6a2bf2cbaa88dccd5ce0dc80c1879460e5aaaac03e26050b8881ae06d27b57bd143e406ec20366f66fc11db953d578113448653f0033902b44fd3879e98ea11dcefc131c1ed9dcc747944b0d5464b40839a3b5988b103658a28d1a2c6c2133c49c4b6231ab68aa34911c220a0e3f338c0ea05b055d85b03a35361ea4129c76fee0f2f1caee06a81b125c1ddb2760a293ed8f30fb898454f03bd97dd777809850ab8a58d73d85b6f7e4e51bc69b74d1a71789e6ac4d608f8de032332d86ea2a9a3a74cd73b3ce4afd4531abb72030baee3109c65e8dc1311949b03cbf7db400f8615956a0c195984e17c9ef25e25a7b4b9a4b95f333d3378e1f9b7033c87d8f7bbd530a78e9a19dcba2bda8e45f4f8a3a6dda61937fbeb03d434bf6703e3ce98ad2134b31d378b8bba4e58e99aab3a9d5282d0edeaf1b7a26c62b533840350f4d4f97e8c365759c091628888c0df036704f6a910a105c47d8f23e45c50b003363a60c88609bc75b8157beafa6642c3c3e987a599487d90d99573d6b13a8dd403ef5b52eca412edf8a617f7b4d5475ca475fcec523bd37a9c4ad0f2e3ac2fb77b03d4ee556fe69603e9b156ee840910c1dd0cb649d0de1e329c7e4a12a252fb2beb03b94c6221e1321a9bc8cb40c3a46962014fe693ea26ceefeaf2782d2d27d43ceb03c385c5b1953f89146dd80fd7df885f1504d5a04191ae8ca402d96efbe91b28fb038f0e8ae9d3957e5caaf8ac02c0339467a10103a95848c9e97c97658b2380f83c03331c2dfb39f99bebeac05ec663f247a13ba764192f4b57de31f497fa877939280327c0209307cb44ab04bba8f2fd7e65550bb1796518df8c4ed51e336473c646120385f0cb9067a112b2696475d0b186b2465022218a139930817631003ca0caf78503305b7fcc6ef63f89d5ee485253be60da933decf21d978c6d04688c1f530e77be037406bc3913b9ec429526584cbbf1e004671040c45c5de7d2eb40eb0f97d62469034f042eac88df57ece5a33d720707c5e6d598ca213206f0584d410503bebf8713039c7e39d7fabc5b8aae417d916435c06a0807d73f641dafa3e79f015800b7176403367725ae34b5ecde9b46b95938ffc002838b2013b95a0f5574667e43e76ba37603ecf99ab38fe90d2b5d12f7751549a83672561dca5fb0c66ba2ace76ca01f532e039b943435a90ae52d7ec755a181dc6c1d852dbc67a17ec0f352af8625b8eb5d350316dd1ccf465ff8bb875614b4a9f840a0c950babbae70d15c54cac07ab4fbf4c5032f67aedf8b3933d28d82a7b2d2ca6607a627b28763665abaea85dae54ad512b5035322a19f4625c5f3a57260ae2b8bdfe6cd12ef06ff2f336275918ccfceae18ae03e0c0083ff0fe5d10db8575ee9a9b740708e4590e9501a757ca1442db26d3505d03a4080f05db5e09f25478a8a9a76234c61891b983819723f2a66504d5cc8ba94003537140822bd532a135dda2d7e7f0f332467d3a481886e113646a5456d11e61e700581e02172145c3b945270be1b6460c4cfd9fb2cfdadcbd8518314fdf581666a644075ad62300581e024c3402f1681e9ec52f176fc5a2ddcf2360e0df80d1a813ef67b06530ab44041cdb4000581e0277150f6ff9cd27c6b01e5d135f1086099116e8880012ca1aded4e904f3450264cf76d703059fcb7fc4b1c1f307f748dcf7e0f7801b8b0eba39605f204bfbca0a55f5f86900581e02dcc038b0d764ebe7e61a8257dcc15ed27da494140c7a0828af5c72b6e24403145ed000581e02e98ee21d8f5c015392305d8d275958d2739f67af79d1039dae66cf6a005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b41ce66b0f042bbd357d495a1d8952e2a8bb7f12e6964838b709f6f7c843d9990f00581e028c361cd06739655ea83c911a2a6116f498e72d4e9f8a7edb9ee9432835440121eac0021919370341ed7d146334237be8b42d81f924ea954c7701990a2c2c94a5ab78bd185becd3038668bcdab03ed0530f17a3b0885dafdab4f0f89c672d256c84ec2501866c011a03c93e10e3be87f8ba831e987fad315181ccc8985c6fb26cf6334b15b70d9fa8f00219ffff03ff001e4acb8ad46cfeb496dd8dd9cf284edf57eecccf0bda2db2ec75ba7443ba03ae1b7505b7712a97a8514b8bb6c98c07cd5d4c81052132dbb3adf4332fba1e3503dfafe3bbdaa45bfe2f30d5d0230ec7623bb94cfdf1a40ac85cde0a2cc23c51d30367a8385b9d6bb4d702c5ca120253b5ac1326442f3ec82ee2693ba4bc23025db80301b2ce13afb7e735f11a2a28c20ed8d2f69a8df23d1854e26074f0f769dfa5f403e92395f95eb0ba088d1a4e62efbffec608b714b8b8fae24e4b8e1148a90a58020219ffff03b51101703ddc5daf4119209d9989449d55931a215c38df9462a93d5d95140d910219ffff032fed810cdd4378a80749bedff6761d9b988abb1b00c99d06921804e7e5dbbd310350e6df2726eaa1604328f2cf2a33bd1718a263f1487e591a39836c39682b71f603b838e37ee1d7c9a7a36963cbf842f69510285cf36990c365c296d7d0f61fd541034b72dc53b4d8887ceeff5a44e52a65591a35443765fab4d7b20d2c1430f7dd3a0315042fd272f6a5bd52772c19dfe707914ff2f78ebb9a2b9b97a2440290d568ea03d684ae3bb96c21b7e69f1da02cdce9070ac0d23180f91331b0d56639f9bc8d5703b439f36ba0f2325d606410ff28d14498f1a64517a596bdffe019a5623046217b0347739f62690e8c0d5044a06ce436d16ee829d179fe04bd2bb75dd95c3a5d89570371694db76041363065536cbd8cbefe59b40e00b187b1a7360f7218a8b77cabfe033af241569372a4a00e9e2dc924c8047a046c7f2e41a07e4e8fdaebeecbf52f0703c9573211b7d82c0f063a716615a5ec90242f226625b42f49ffdc44defab775d3034d6538e18738d8236f7d9983d6300446fc99fe550e17f7742ef856d6b98c6e240375aeaeb9f6fbc88941f3d0f53cb341ed733982ae3f7cc19a1242fc2c740f7cad03235f6072f9665668cdc13b7a88ff5ffb8ec28034e3f77c12a0a39406239d0ee403c7d218f806ace74692750ad42cb05e7f2c713f2bb75c6c812e17ada4cd05f33703464de873ae4c10f013c6f60297454d2a029653c25ce8a6a32997e5e67b8b89a2030df9cb78763d91c4f3c7b9aaa65941749e0cf71b613889b12e4e67cc214d6aff00581e0222149c38e85bb74500b5e3a5d03ddcdc2981ae76eb326db1f84cffb8075820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022238b6106766c65a142c4a2780190b896339aabd731c1a7220afebfa2242271003ee08afc16234c5ae3d9510617d458283dff3104eb21230816b61721ae6b7eb9000581e029835c667d86cf27f860f56723ff36aa98a6e48cad8ec2eaaec4ee115f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f60530e8d5d0b634d1174d146b1d96f267300abb88c2029db94e190f88440aa7822e00581e02d49be8acfabf5e5ef3bc0d63184b2905774bef0f221acc11de4614ade7430ecd1002194674039016cd4aab3ad3e15c900af22d42a0c063086c23cdbaaa8932edf1ae400a51210301dd21684e5c36bf32ac5b59a232ed747981e21e81048e52b14c18b3b3c02eb403b71ec0ab48581dc942dbfc79481408bb0a4df1e90f02c08f6f7db0c75febd82c03bc984ea8030823afe3bcb9ecade05b37a1233a066681a74528e58ff320c6c6db0328c7a66bd751526dd8f5ed0027e1e6df91ae0499f5477e2059368c21b9bff509035f1615ae540d2ef66d0fe2b15e786570a9053af40a774ebd8d931f0d303aa6d203d2dc052c9ad4f1713c2b4e7656270aa123087f65bd431e686c1da9c150c5df3a0329622026c8ec0733bf9476b49578969aa39ec7c12b73547d3ac7b5449717035303142ce26e0c8af3220c9a631e505c696aaceb3919151572b3e298d17a14ca15a403503e18c83cb07453c295c65aeb816f1f58105057cf20526b1694c9f3ea77aa8a03f8d1bf4570295835485241f63c42b7c9aa0c1d93dd6a72a4e2c1bbd77a9a9a5b0219ffff03925265a06c6f959fd979f3a9cee14f1be01303cf2f305d25d0e4d5ba4e94fe8103d09caa41e15f6cc72114a05d74ab26e84c904685d98353f022d750c5551d4f69031bfd38621749a28580effa7bf83b6f36e32fbd240f9a30eb3ad5dec4c99e7f9b038edae3c228a168761f7503aa0da28eecd2dca1180c6dad93d51518c2378ac6450315812aaeb6126ef2c925366d01e25b986eb1a6c2a8216093f3a70b30d0f3ffa0036fe46ca86215951446daba935e5702a74cc26798a3c859a9cfd18bb383a7a53f03016123c5995e7b6aaf0e7f83c572bb13db1be62ed7aa11e3b166538b929976b603b17bc013e8bd2144e50e4d5bc3ec3db96c0da7da8f0809b5e068564f6cfdc38c03f363e59bd3102800a91a2ed6a2b0a2bdd1a97d2b9cda63095c688da706f80fd4034c2dd2b3d4d102a2ab54e15e8a98c05f13924f3635268d48623d02e638b353910219ffff033bd87d37b3a17d0159d5e43c112fc1f889bce9ab6e1ea6270de8aabea67bcc8603aafdd5d8df56befc0ed77b44f717403d3523702b12c3e722810d93d8caf86db203a66c840c9a004e609327f55af57331bb4ad3055f6e0d574edd9cdaad3e5191d303ea6539f39ef784807fc239be71c5aad943a557b8d27d4a072389c6df52a0a03403408211ca386f38a2fc84af191c793a438d5e146a4b342c6b04099ace6b93c34303b6df980c7e35afa0342fc83e2ff7308dabd93ff417d062b1477debe3dfa034c30374880e9bb4e815a3fee01d1ff4f6263efd100ab1863d80c59011ec5f79a45e4c03bb1170a64ec2a30e8c0844b979e33a82334efb10c8db53afbedf42271a900a560219ffff03926c72d15fefd658e4c9cdd2f177d52684d8e9806dc71f2ba0749c68b052b83503535dcc44a6e49512da7b73c73fa97f51526d06a6a8ed9182dbe5a47f297b5179032e1f423213fa845145d965e439e3ab2f3c0ae20090f38ec7c9c7404e765d78ad032d8a4f984366c5a75a96689e8e2e4426ec85b9272c7422c54f8e1f40ba71062c033981d9fda4387cafdfcae9104eaa2bd28309787f44f55196b5a6ca34c0f4f65703bcdc3f6a2406f66c2018ec1f6fadf7dbc98aa88f780a7057f3beca0671ef2e15036b25d6b8a24d2840b02094d5a715b9809ad60ca487316846da8259f6b734725e0337c3ed5568e850f9de5bb738b93f2b582bb2244256e9fecde950fb1bcf32988403a8973b1aa7ffc4c6ca3eb656022ad2dd8f9450df2c57229b09a27e305e0a78ed034ef51311195f6b85f902c99a298f5ea188f8a4c6f3a25bdf2848feea3fa863c10310f8d4d4ab8cde244698dfb0e8ff07191144dce0ba7cec36916a85fcaa4d93e20390f8e62b3fbe782f1bd6d158ef1d233fd0662085aecb0246cffb443489f352f9035b632e3a566a6bb19d3dd4091b4763db5fc78682f29f2f11da889ee4ca1e9be6033a708a602625a611589b1a936c4b801c099013b5d88ac06371ca16e8ce7f458803570243399cc607fb2784f45b94471809d002f27d6fa1d4638eb8ebb33db4a3370351ad5f06a756df5c13a369c1daaa785a54b4e7027361b1947187e7c4ff339cc0030e1e7990cb9b95ac8cb82551e4318947d0c3e7c1a78936f8c06615343a27ff2003aa5401d02338cc61d9b0657cf1c4792b94a5d3750cdaa80f01f5ef03c4e03f7e03d938c757979a41e4c971fd7c021119fb51aac875a07ee809ad6f0c03e79666e1030d6987e1d988a1395c23568a61638b7d5fbfe8a16d4527fded9d84079bf90a9a031c4426a5c930e57d08430af48103a5355bea13e55aa283e0ad94284bd2715b940363b9cdf29642e8638537d6d1738d6b1ed61f3f21ac755fe8376bf1c0bb26f28200581e02b3b29a59ee05d43b7c49aa934417a35c61c2693ba9c1e9f75745d636845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021ec2d5ccdd7d68f225bc23b7221d5e9573ab4e9ba15b6fe288679d802b4408913f2203fa60bc86d247f44a26985b46980ea63e5723d0b85a5401640ef668ae5090fff600581e021944bf70af64141e56ba75cb080dc964a577c4f9b2d2075c6372dffc615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028b53cf7a408a0451c5313a3b6e5bf6b2c65702e164f153275be5ec7ec543061a8000581e0221e132212ea311ab05abedab3c905e2394cf71c1b08fa75b7a4d3f520658200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020b047fd85141b5819a474faf9198cdff595d580afd94bebf35ad2abaa2449bb796200219713203248cac967a837aade7280dfec989e91b8b4549068ed79587347c26736842245b03d701b526a53a972c653fb93325dde288bcff88442e9426b6038b3f6d24370f2a03c16ac2aa52b6ec9002907eb6abacd6044435be59d6ad1f09ecf17f1a7b40f15c030f0c313f6c67ff74d1235ab8686079dfafdfd2df92d375391abe29e655f8e3ac032078d91a0afb5418649cb9d16448a57f4d3dbbf1c25caa18760ff2721d82dffc0219ffff03a79ad0aa19607cb9b34bc3e06222834cfd82d324af957e90522efa638aa44b6203957c57a6d5b54b93d78ad2006c4294de2f2ed31cb1c32ef0a2846ae92b3131ce03ac8e8c8a7e7da7326a751db70eca75b23198bcdaa1e82b6dc82754099e7ceb980314ec8fac7c67384876d0ecca9200f044bb09fe045bf2fd90504590cc8cd1a8a603be01aa6f681da62ca235bc27d4a9309eae898aa1b8ffc41681bd5545775fc3bc03a340aba37e024519df23f5f6875ae46201834328c8bc162664c28b5f91223f5203959b3fa2ae3e098323b2f60cb10347af08572423cf14a077afc7861d5b070b2c03b6789b6c5ca467bdd7a49401d0648aaa43b68900296f2c319f1b6ba6904c405903d54a473095cc00e010e2557f8fee280df732cd640cb48ca81cef58074944fcf3036384032b250ff8c7ce23324c911cec6a3731b51815be91ae0be694fa30473c920219ffff03e9738d99ffc6368dc7159126e29265fd9557087cb85a36a7488b64befd52a0da03a41d6e6bd173aecc8fee98a077feaa82e475e333ffbe706e585b364a5ce243ba03767f47e61f6383c21243477b61145026a13fe4876b754dff2b32c3fbef38a125034a8246af3a900b3c8dd40de2a5cd3438b7c66419d5411dc84704a8e474baa6d303c6fb033f46f54d3e47108fbd45869c036798ad85f46d80c8230b8abdc1beedc30359f1f30a3a79a01396c617f3745019b317e58840f2dd5abe0ee6c50b1763ee75037b33afb06aa84c3b021cc77fe8e288e96e55c97fbffb62aa60f2df8847cec2a003e36f8d6f4619a2cac2aa8712d53c55dde75a790b30265ab5981407d27c8a5619036ac60aa5d5a87df273d2f37996c0627b3c7792c9f47afe89bbb179adfd7b6f4703ea206441ff88dad43de887ed49b5ac384b40ad0a11b84fb8a4cfbff8a60f92b20327460a76c42a41686c18f2da2315fcbd931c3680ac43f3ba2eb6f371bd71f7c303625bf604d927e803191d8e8eddfe532b8eb7a034b709691472c295203188aa980219ffff03870b91937272b3931bdaad3eff706f558d229de52a46edbb9f30a019885c46a8035e7735084487e8718285ab394ac6ae9426ddc6b779a4232b917bf7aa8276f343031822018977006c4811f84e4c48366e36b257db57a8a60c7e39599654e6cd79e803e1009a9566fa28c8ddf6dd8cb7034de9128021923acdbd8b4820b0aaaf9f564203d3d700b5da07467f35fcdfb136dd8d70da86924ab28250334017c002c88044150219ffff03fcad4215202a61b621fef87b0314a5b9653750e3d409be55b1c6991abdaec7b60317193a9e572e7b9a699d1c14a09406c2646e9c3959bfbb77807733f1f3e14e6d031a790dff94ec59d534512060bf0e33d467266323bd31a5f692fb2284f72cea8503e5395220952378dc5a5dc74a9f1ee14be5af3557193e956a19df0a97ec92a6200363c2191b7384764e1a5cb095b702cdd246d4161b4fd18e906404e5d0ea52651103112a528c2e733a03f059a16d462525424809351a0609afe36642ce0e174e888c034d53aac430460e69087b1600018b0d3ddcc212998355f00046c5c57f3df02c1a03e8ee87dbe90215d231a19a06c921074affa209859949208030a4134fa9601c66033116325c63860a54df0faad487bc2acfbf08fa844f8e09eb57d0d98ed3bfe81703897e01aea791a2eeed583a12e0c2d51029e1d04ec3d2378ad29706a6b6cb884703e370541f96df2da6313d7125369d652f86e5156772af3951eb040410d60181a603151a5b1702cf0a9bb3ef2bbc571c5f013b6e015aa820f2519c1c19c63bc3fa5d030a9a609e7f0fbfcec75bd5aac73608effd61e1a55d7e5219a66e4ecfc7418f7903ce0ff42f5f8c8ce32d968df156b4cbf69b4eb3be1274476edc721252f7f7500c03dddf39c54cea7576a9871dd42bba74f2e00d1965e783c1c92950aa4306fb29dd03abb5b1637a57984eae05f34137fc4d37846d16c9217d71c56acf6e5bd2697f6003dcfd7a624b5fa0fb9182346daab6984daaefd9f8fb574523dd69090ac99a72b6033759cf18605ffcd3c6ec17978cd4f97ffbf477872955b712357d0517d554f953036ddd480eeba10c9e7e9def3a9169deed888711076f6845b738d841d284751a1d03764313128dc20d06d07bd00734b16993e93e92b05a2f393d453d686798acdd1f0389e885d7f58454eb8cfa4a55e6727ee32fca4bc81895df3e90f00200c7243739037b68f233a0b36dde15908e4f876ab6dcad59dfa200c8a28e12c46c121e5867b3030ac183e2df0b81d2df291caba10be54e6c4d4d599592b08323f5534c4d87e66c0379b030c1a409d058b04b1142d7f48ec6867c8ac1f445757d5e0c439c9c97790803b6674e870fb0328b0ad7ce616147da1e4ec3afa539ce8dbdfa9afdc900ad267903ee5054b051beecf69352dd00f89d1fdf65ac497a15ecc0019fa4b22eca835a5c03cede5e65a59aba09891bf71e62be6365a2cb36f292a03a7cba31e296a5dd05c801410a00581e027ff05304896c069a3730ecad2defe933ab65d4ba447fdd44aa092e7d2244062006d300581e0242f32e81eeb32b22f047fc2e2900c6777a2d5db4ee68d693c944d112c85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dd3dafd354fbabd33d5a67833a2e4ea56fa3d48fffcc598ba67d9d9b4b430f424003e7ea8f3c6eae37133dce65d2960f29cc8e9ddb33dd6793246380dac2eec8c30700581e03db3be71696422c80df078d7d8bf141b391de3a83a1653acc0cc8a44bc045015fc188f600581e03ffc300290043184a47faf21adaf2c01685c724d5d266b9acad8800cac04406422c410219014000581e02341e82bbf3aa2d2ae5d506c51d0b36705e1a360e2cb49ec1beec53569c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03887e30fc46be8b017a82aca0e0df5fd995b98eee9ef5a63bf66c7d4611088368039729ee8b09d7628c4f39a0a63991411f9300e78a03706c3a6968a3f0510e2f6800581e023422edaa29ccad3382d412d858f58e367907c4d67b44f5f49e3b65790a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ed8d03a362fa5cf148e725c1c534c3bed64753e36e6992c63118fd507ea099d7389268034681254cef31f75b98d43abf8d3f99a4ac7af3d282a2ceae989ff5ad84c93ab0036cbc11e0dde1aef91ec289df69507210755a14832177ab3abc0937b9cb75e788032b20a2333b4a840367c4d6bc0b79c94b6684a73cd4beac98725ab0cda9c0408a03fd5f2985407e6014ed85dc0c3176d10372421a6a00b8ecf54af09cb0827e89e403180f57c3dc3fd1627c987b5884902e47860996ef2d9d6486349b91f23e21a28603e95eda4e9f778d754e5ff1fa9e6089ec9d4d996095a67811357ec9b1d7c6f6880219ffff032f5f3790c5e1df8010310e3dcdcdb55f929c8b3e140c180797f9c30c4d9f8b85033fbd4262346e6795bb67f73af58885fad73ffe0acf5374408a2327fa1b5a83c50219ffff0359fb7cfe568deac18db739f7255a5d5d8b6aa65de8403538595caf4ceaf8d02103cac36fa6ef293c8bd25ddaff10816d36d5ee31d07324502d4d8e330475c8d0c60356620fdfe289f3d05c6325c696227177e9bc452d28ce3cf52d8e526dee61158c0386bac588eb7aa877ee282603c263a433a84309ad56c3b80fd5fbaaccac2d5d2c03d9464ad5e4c283c3cfb105ba44893b85469f37ba089bb14c736a5fea7e2fff8b03028dcc32a86e8f20e6e91b53c0f19bada7f1e5e545c2f5ed1ae88785a3abd7ad03605516453a2d031c48056af21c73e116e019db7dc58c5f9c381e2c7c1802e9cf035efe79438ba4decc86b71ccc4ec993468555f75ebde58131cfdc0e3d12427953031f9e4f1966b785650248d306b370c9693bae791d7e31021d48da69aff772895003bda59043edb9b8d7c759133fabc83e9808bd423258732c656615c9fe88df90f20303e93cbadf5bba3c3b142a8854549e443715fa9ff0b29af26e90ef06b7a419b50397ea409c70e2c1eed1a4d8f8a0b1eb234fefac0c9f98e501741266ed96bdc97103d00fdc298478251dfc01e01cb016900c78791ff8bda0a4c389340c454a8490a20219ffff031cf9a23dc8bdf5f82d158e5626ab51d5e4dedc416aca2ac914c60912504d4275037cfd40da0f784bb8a32539713cf960a2467102456a31e99a3e5fb9eabf867d0003fe1fa639d9beb15b62d0de0c0597eeba0b14a24bf7facc258782f64d9c34510d03e2dbdf7393ee84e298a74ef7d267cf50cd27ba6a533f88f10f5dadc86d94d213037e6e9ea854cd76e4f012cc2082848001eb62898310e4a710fd6f8795c14caa0e03b2002af846df5728162995b40c60b4fe7d73273deda99af46a894fe6c86adce4038944438ab2471e182f15c0bfbee9cdadc5aa40da85687c7a5f97b09aa54e49b603936a87d3a7c9f43c58d375ce4a686992a269bbacc11dc30b021ee2fb771a4c9300581e0299d5f090ed0e42cdc38c96b00b440a5ec8d8d05d77a28a649f170467ac4405f972ac00581e02b6403fa05822dfe718c1ceed59ef7921f9335403c937a7dc29d0604175430f424000581e027a0936eae00f5da1492584276199399895c3e7dfa29307a07f7aa58e915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cffa43fc80b85e502eb3be94acf672c3874e0b6102a8b77609f2490c2e43010ef000581e0219ca0847170839722cf81c2fbb977841101d8a3e57b37faa6d54f828564340865100581e023ea051eb926824325cb27373d29f1897900a12771a768cfa82d8869d6a441e0a6e0002191b2203bc9dc3fee7f061be74f024b4595799c8e1a24851b849baef0cc76ba2dab47c3203c607d2616e90aa9afbb78728f047cad7cb3cbdea108d6fd4152e0314c79fbf8d03a4e3c101ef7daa95b23c98d24972b73781d067aa2bf5f32d97fd02c70b86c20703615e5f52b88a7c6cc829a0b6fb6599136a72a11ae32528a0aeaf6863016c441603c690f88abaedc3afbcead77300172d84560e1246ca9157c5c05a34467330a2030330dcb87a8052f1e7d6f1dd912f26466d9f3b96f9e43df92e170276b01744334903e91b412d8f1492099a09385f402f124bd8ffffd41e57830149145453fd52e4aa03dc0de3648e6d4a59521ddd6abd989a5e3f41a68d830e491eeefae9ff162889cd0351e1f1c4ae4c61c155d70667f66edb898c0e650e422d9bea9f3549fa5c55253f03c11e2f7310702fc207a2b122b67ba7c8190082cefe0f7cff22d1cf6326c0548803e74ff32786a2c7db341723d0c183cc0d9d7e06e74255fc0f896b2c7e7cfce1c5034519ecf9907978b0b0d92ffe0d4a8b899860bf8453ebd5bc8b8fc7b673dc09780219ffff03d910d4031137d38ce00c474c37179118304f8e7059ce03e0a02730eb3eaf057403649eb45dc3ca24d153a149bf5f74ed488e1c64fb1e5c1bad642d1c7cac5380f503ce55f4005ffef7e7c283d3e3eb6828163e7b4d3b51129cd6b9845f8aa2da836a03744290d62070f1aab83661c98173dcfb574ddf2fec330eed15bfc10d7ec9943803789de4afa4663a1731fd62e77134ce950cf3dbe2d395baa807b69d7806f9644e03d15a387cbfd3ea1afb9f33c0545e5573a321857012e77a33cfb1d97d9f74e8cd03b934e6d37738ba278abfd737a79de205401a95033314e84e0f3239a81933c19c038ac97311cf3a567a0c960bf700154bc90d644d3b0bf19628a36e46418d92ddd70396a8f20a1090617bb0f05aea0a41936364c22bf4e116ec966f664a8fb43c7e790391dcffe3d42364408e3fc676c54283066f9d212c00e9a121b693e0a79e712ffe039eee93a727e73d2a72ae7a65545c7629116f86c303105758f0b0f4809dc03e19031b60e7f5287cdee226a897789019e96ac448cb76543ecccc48b6fae1e0a68e0d03e6be9afd2b1db46ae0eba17c0a68d5a5a274bae83efb0082465ed4a9786ab71b03f3be01013f4053950cbe52614bebc9879ead92e44c71c59c3efbf5983889a35e03a49ef81b2aa4599777b45a72c2df5a11b006992e79266cea7cbde683055725ca0219ffff0332a72773a1ddfc38f97ec86b145e54544e3c5acb97494db7ac7960a12a31ca19031a66d170316b0d15bc0e3d16e9b89a04b696dd544d587751f31c6a2c0b9c13350303ab39d710da388ac7f5d6a802f17a10c8f38026376412c22cd3448834489f4603381821f641e0d588dae051276afdb323e0cba1502b3a40702584a58860359f6f03f1f02f9f31c693ede0bddc3f7420b0d7bdcac8816dcf66bc1dc9f435f16388c7033dae0052d24a0ba4e8fb7e6e806577ebf21a807a310c15319a161d5ea964844b038a38f602da7a6ebbbc8c835fac69928bed465aa56d603d8d8b2f343d7489b1150320d5ae08e9081cd6872effdb37dd0560f0b2d84ee36d92d120e0c523e8480c8c0344d469326cd5695fb18b746cae5d925de7e9ed432124c993b90247dda139179803641de7210284316ac94d12eeb59da879d55bbb761c253930556cf9dfdcc976610219ffff03a2af6ba229eed0ffaef5b84a474b43fc239b707e00144a360c7cbd354fe7d0f30384f0a947d3369f6db8772794519947f7e0aa9ad0ace6bc28fc9dcba9f14b085303b9b36a28bafba5031bfc9435ae990e68cb7eb18724e54c67ef80c9ca6b01c6a20317375b9f3506151daad91a0cf359d17b130671d8dadb8c123d63959ba395aa3003b86de6c6b48c1c60f17cce7b94e120661e5dad91f4eb462eaa54c363ccbd70850321edab4924e25d2b451d4ac4d8294a563990e0effeb8ccbdde3e9335e51b035b03b73d9a596b066ef8a6118bc21735fda3aea1b4286a2671063b8a8a546cbf2fcd03d5d6388c1632798ef3523a4a220d09715613a43e30124b38bd6947ae7004d39103f2ad6e81083f73de522a0636a57d8982d1db98e215be570fb2acbf4358e4e2c103e96d5e259506e3ad2456e079aba78fc1f2c056f154830d8153397e63252554c70335ec70f95d055e46d88ba4d6f750b4649abe5534f86b54cbeca3ba773d98fdf003c3b19ffaf607c231262708db6bb4126a341e86e1fa946538c9c8af31b24d2b7d03bee152e596a8d473b7cda336e8b11d112fa700efe2e978ab47899e1523c0fd4e03ccd139c01eeb86beaac4df32411e45fc3b5a052793eff07d2039a9b5907ec4fb03c3f5b1fc470b0882b31d88bea62f52516fcbc45b05524586b051094b23691f0b030eedf11879a338f36de4bbabb6a4817a08e74b0636d4503070140187601c96ed031766f13481090e0ae42a9730d8852c36c47f44a25e3364dc0dfa3a64ffda29dd03ae660de8316d7af6dfe864f826f84d6d1b94bccaf6d27b0eb0a9d4155233b6df031f160fdbb310c0091e7a7c22f0d59a0932e06f72e0a6f3cf59968e2867e864d903e5bf0bc66858d15dd4f785e4c5883ddc206b6ad8fee41c114c61ad32bfce256f00581e02d37aaaa889d4b06133006c92920c11da4b6e31cddde037f557b2a82137410100581e02e9f6f59add5e4b22d34e1384e2a3c52ed10e2db948faff466a38935f6c5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe5108964100581e028cf705315bab6c5016d91748df5427e0450a9c75e13f987999a2d72247440199d85e00581e0259f65e6ddd1b166cab64aac1fb71d8e367210acb8b179aca852df0398c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581d02f9880e6b5194e104d23c9aa66841617d9385c5c403351258706d6b9542752700581d02c4a474fa2b3ed459ab67843e0c508438fd1f2f67418ed5f52fc1a9a6443211620002184401410c00581e029d316a45ddf7d44bfcafab996ea9a07cf8c2db2d342f2525ae861fd6565820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0266722c40f6dd3561cd35d51dbddde5c7c0641b0fd0bb6c218013059dc4442edd954000581e029b26f815f201c426d7e11df208d3722d5f611be979f259e027ae72c1ce5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b3847c263c51e239a76fe30e3e3816ed75ba1db987025879a8cb7cf9e3430f42400219cc6f032da25ac826711b72d76456a487d7171325c0e6842e1f68ef38188b42717cc68c03094f13c1f8ec1b72b19fb740b81f30733d01195278ddb48b5953c6d17d716e100339332b1c09debfc3027043883695189283cfd604244e644286b7976fd9b0eb4103d82b51e58407b329f0f8d1c0936162dd4f56151356e51b4e3ec914b9c7273a2d031ec441d5926c3cd03ec299c3b81a82f4664147503ce157b68abeaee995d3466f03783649bf3b78d2e9b7f8836f94fb977f5f12a046db460625f9989976a1598cd80398a5920945c6d2f8687d0b4febbc0ce35f5ad43b171a135ab5f98e45928bb1f10302154eff419f3a9e297bb1b7d9016b4af98e238b2f0b45311ddb47ee4eaa4aa5038daf2d9298964c396b5d575b7b9fb9b552b2b5140f7b4be7674795cc4e33e32d03c80e5c151caad097e4453b70d9d471d6c33d68207ab9fb23e2464b3ee16f655003aa40f6c9d79c78ceebb0d949cec3155e2cbcfe8cde6da962788ff94c0db6e1c703aa6d98ba91adb539067181991a061cca8be9e1fd7a142c8da99d4de7e07f725f0219ffff03f1cd680830bd48d58a195d650b034040215883634a4d660bc1a89fca0b925b3c03fa47451b87109d361f6d04a995a6df69c4edd1b1a95e0c4d0c7253623750f11803fc986848a6fce8f650781f8a7a1d29a078b2930a48944d097efc892b8c02b9f5032cc74bc78ed3f7572e3ec32bf4767df44188589074996ebeb2e3a20fd40162d9034ca0714fa4c6754994f7e04ccc7f8d6db61ae9bcef56cc75a9e8063c5077d61c03bdf6ac7d1c970a47c4f54fa13a35178f38470bdc8c61c95dbb7ddc653d00fa33036f993bc1a8d681080432c856d06b52e1eb534519e79d7a4332054b7321e2acae03e50187f5871f8c764ca7dd7600dcf808f15b92c719bff30032123863e01979a903c0996318c21ea9141507d891c9745c35d51239cd698928f813e53773e7bbea4c0219ffff03e4f093d3cb5f6eee3e6bb4b7d4ee606ce3fbb268a97daf0e53f218b10d33747b0312c9be45b4a4a96e6fbba5c99eadc9c05fa3d59d2b4c99de2301cd69f33f7ccb03ed623aa153e451ac9face45b12358fdf8f8603321d2f02cb70217d97e63659b10311430c5b1aa87e124b1dea28b2489c22e886f080d35c96236839f7fd25458b3803f9553493ba657c3e9a1306e9aa89a22656cdee8f26fc546f89ba2eb16495ec3e03d4c07f5c3054c7fe7c422222e4c678a65bf6d89e90d8809793d712452302f31303a820b41cebd55058a1af4b39713cdee29c827e288c812da1878827d05a9fbcc40307a30256d01ddf5ff2a30e0a294f4dece075f069960a88efb60c7eae65c1cd730219ffff0389e506b4893568f9a308edd2743311cdf8992b34785535b145f14f1ee1b89b9903c404fa84c5f1a6725b01058ea6c06160cc8267d932573d4f9a5b8555004f7e44035dab17df6149e2fa0a31719e28a817441ec38b34dcb2fbdca7f0fb8396283e1b039e76d811b926cf520d641ac7b242cd841cc8984ed208f40036055733c7edc35403d7ec0e78c5dda2a37fbd0661238aebe1660e1baa76a6938626c2bcb9a37cc146037e7aa11f047c7e8201bf4c3999c13ad47616104f894021757f483acdddd43d40036985f0a4fe04bce3a47bf93a556292ca1416ecec7687f5a4a9c33ca367a40af503ba88380361a912ec74f1ee2fd8c53cdead98f48950fbac7d68c9febc32204fbf032927fcd2f788204c55420d634a3f362088de518f46462d064f3d5834d34da7eb0369a471a603afd51aab831f6f022582cb35ced2d4945d74aaf48d38aae0c99480032ccf7c503b9bf4c9fcddf6cf06db821ae566e77e1debc292c0e61fa8fffb5e8e03fc5cd1f69288887d9a5f7fedaffb4defafc1f7f6658023acb056db64cc64593d03fa19d9ff81c092520cf7a70cba7fdfcbfd23babf6cab32d9d1d4d10ba5fc9bda03ad77b50f9968266ba9a9becacb7357c469e3a883ecd238386bcbc45adef2e20d036b3be4d809544a9bc43844afac8ea81952e35429b1b145749e68e8c7038bc19503e1943e33cbaa689306ea1824b13c8894661470f9d1a81f1a1fa3fb9825c01b1703bcbcf7b68ca36b01619461b3b4129bfc2c25d6414c56e0b93ed40354164f6d1e03426f95b9ad438bd6166b54f5849d29f8e3cfa024d6921a40ed81ea02532810ce031346f7053b40671486ca13bf538530794c040ecbda948cc61165380966ebce8d03b8993c5782df0e9e3e235344300a0b1a316188421d757487f7b15f9048a735ab033e29a3d67533d50c7dceab8ccc64fdc68a1c56b1f7aee7fdd557ecd963cac30f03bba99d06f60167257227434435d049e3208a12e70672464ce67c1e4fff2c3f780339abecfd9d199e2e4b34341d9475b2bd122853f12066b2a2392007210b02513d038c25bbea73c0dbb15ec68feb6116d974192410fd3cb28e563966411a964d457b0379ff4f0eb822e5237b92b2ede9dad814b2f4e05c2aa52f00cb82b9e97583379103996c0b6a3b7b2181b62d7156bd6a4422988a0364e1d79c4db7b4b713c4ff936e0301185101f3ab94db3dfabafdec2e0f7480cbb2831eba5e21f89cc0809b34ed6e03701867fd446a043e3b6cbe2557c8e030bec9e313586e5cf07d8dbad1d3342e2e03cb17f2f506fb543e46f4c6d8aea71001c1f7ed9cd2d7d7879af8c6f38c9e743303b06c1595dcc5fd140cd54ebd2de4bf022b75d504685bcb080b80683a11f2ff620381f240860f6623e082c185ecd9babec530e17bddd2d8ce0c03c8573d40c4e4f100581e03f5035376ce14b2cf9e298a3a04b74238be09e0cce845192c185aae68a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03adb5cd0ce0981c264ae5a5c0fab1a86e011fa8dc3d2406b0f69776b1f0432916e00219480000581e029b1d5937e1cdd7c277f423aa2014492baa365211ef0361efe03c1d400e414c03b57d294c2b76e54cdc794f65461a5deae91f2d684602027ecc97132aa67ea93100581e02ffa8139c67e4c08d1b5cc8298f405a50f4b58798367745a2e8a54879175820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038ca8728059772d268416f3f3029fe256e6ee252c7f8688f1b86e904b403c7ac103bc4ec1634ed88ae7c49592b7f4015033701a51dab45d0e3514d7c1ff7f555550032bd6675a8795d48ee4bfe02de1cf1b9ef91898ab79f8b7f1e63ba57f72f3c0920397324e5db4b4a1b0c4ea9e8a1171b3f3905223f0ea1c40bcdea21a75417eed3f0219d26603cd3049069384557476cf844c20e0818729a4de77bd28c3a0366683e87058df5c038cc7b6843e6d9e6a0d959815250d47a3e3e511a6ce8d575a7a2e7c00160e382603386607d530b8eb8a8bd6ca2714d3ff0de2b5a0f50c9a3c7eb4785858c0ac1b04038afb639044421412f2a70d925f30fa8217142ec2ed47128cb1c343e45d25d5ba03e2960d0cdf1142989a356c2483dc19d540cc2a0f5f33a92a22ac8a28cfadb6b803cc3a5929bc0132078f48f2a4b79a81ca5de1fd50bc0e53b4a4506b37a113c33c0219ffff038e8dbd587da784a5f51af88f91b334c2fcaa63db17fb5d620124c4e13a8e90ec03e9bc4158543c3e6f235e98c9fb9b9bc3c480f9c0aa61e2e65c4d29c74b61e2c503a8a044348329055837f13c0c5f556fb63dcd6e03df6f3c61ed445e04df6368cd03959317c4af7eabefd6c57e55f3d55048ce05444f362e230e499adb06a7ac76b9030f53cd73592e239278872e50dba92ca121e61bb08a0872f4371759184e04958103e2f8f133ff4410a811fdf3d286e7c55ebc2a5034c5e18e8b5a0ce9c59ad12d9c03982a10f7dfd550197cc6bd66c1fa1e7fa5ba522d05a17ae8986a0e3b8d3b970603b2cdefa9fa41acf94bc0af617d626878a3699ece8e251fb08acc88f82231ffb10378b47446b8d1d7db7873d77054e45dd96f69f6196c6a58397da65e57b4be548600581e02853f10fa24e10553f6d1bfb81245262c28e23e308275b13e87fc4b61ab443c04a7d4036d1e5f38ac01c57f65fe880314d7580a09575ffba2b7f584257453fd023a2e3100581e0287d948c451222475ff432368d30d25856c09e50ba7628255a8c70adbfb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ed6f3d1a9fe688c0d6e8019c4a7c53ba4366df848b466647f2b91894b78ab29e00581e0283d79094a525042e1704940b85a24e93d33395688a2b4edfa4151f80935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0218a5c23ea7fba033f384e2b9cee3dc574c7399abd6a98f993e6dd9b254465af2dacf109e00581e02deedad4d3f3c188dcf0a56d4976add8effb8155be983bd0664dfb10f2e4329294800581e027c6bd4c0ba6f62f626532c94b387b4c83a67d8b4eb593354b043ddde905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c514823b61e9d1d46798b7cfedcb15cfffc631dae771e48b1186da5bd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219785b035034664f46d5d3203eb18c82977062a3745f00a07e713bb1f156854340a0b90603de6b1babed3bcc7e98b261d55a971d40b43a451c192af6779d029fd7bd5ea21b0335bf485426b7980da32f33bb0c663c10d021af144a2e1f1c7788a01f7ef84a75034f3a5d18c1a38115bad46460fe2fcf40f8cb03de49838daf6aa4e4e8078c1645031bdad6807e263f21e4b6ee1b09ada33aac3facf131aef49ac7232233d6d010a903c0096c2c668f368fc6dbcce9e81a96cb033e194a8ec9213b62cef19fae3dab360373d32d3362d1b850c3b02f4d88c4b54b2945b1b29bb2e0fd6ccf38b903864375031da46f78d3359eb9e33ede2cb3cfd4622fad80af46b74ea16e32267cda5767bc0301019b68bf798d2710ba8b71afca593da6c647722ba9b981f969de94e0150da20219ffff033495959e41fa238bbe0e58b0727958d65937e5752f9646737efb7ec559285c8d03c024c304d0b47e41dabe1ffcc309c1ae556070004259ea0b9908d7a4bc7343b20305426c83c88f0c90767525c2c467326964ae03be02ef6195a5ffd86deff477ac0219ffff03fa63022b2a2c97754edde30ea4cb9f4993b3e47efae682a80b2cbf8a1548e9600332344ebfc2fcd5e522e5cfac113e8f590a288bf6d08908e02b7a1cdcf606b4e903e7747abedc76e3c0424a12921f4f87d34df737491aa3e8cd792772c61ff310860219ffff03da6a21eebda1b275dc0a1f15cbc5e2338217ebd6ff26f8aea2fe1e7ef4218435036b30406ae01b4d9fd23ccff223b76a175a2f380a5e7a0566e9560b7257a6fd2f03afa43c02e57c612490000178f31f3b773bbc90631751514f82edb3cd3ca7a830030625502dd6551c7282931cc06aa68c0d4ca362b99f2493589bee2d075416065f0329536610cdfd532d8ed2f82758c42b0d94b9668ecc1dd0dfb6c20d2db761a5b7038f2d8ffe04c76bcebe65165f261a5a62d79a58d0ff16f08ab51f5c116d6313f20392f9474aa308dda47ac8a68fd99d8919af8cfc3dc195f2c1e901c3dc052e41fb03935f8fab7dbab1eff3ea996d57941469db219fdad56f25ae547912a92d6202f2034e555ea0c20d419aa88845e3f015f4aa296490e591a4fed6f909d5229950a5ae0389cbcca1b93fe426002ec10ea39bb5e43a8a59f66bfeab40a52a0a979a00fc1a03bd59157f95e68e5f9eeb09155d2cfc067d6b488905bc507f6a59b77f21b2f89100581e0211f6463b62f057e301515ba815f6079a5afcba5fe1d61082ebeb9ae0d6439447ac00581e02b0ade0a24fa7c57ca3d3b5f464a7599e42282fa7d46402fc42a1e24bd15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035e325dc54d6f4451b6e2cb7b28d9732fdd3407281ddf6dd12c49e7440f90522400581e023881d7105d5fe3ae831a120c4b9d62bdaf7b39b0c626f8eacfdc6c9ad14406715d6500581e024a6c9682e54e4c54b163adb5cb173dff653e60eebf28ae481297fbb19a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03c636206ef3cdce7efa4c785f22a83fc9e0ccbdfb83fa2ef1f4ed42d4005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e035e0f9b242ab3e5df06f54aff5a9556402c9c23a27455e4b3117007a460444225be0900581e031c5124b288a96bf3b0e9cf74d46a315dbb31c17e9b100cf61ea222bd905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218460219891a03d8eaf48c7fb13c806945b7b245385de87c24b51679e679aa01d924acde358c9f034469035faf9b9aec417e62ed4d5d2dfc72d0e253550ff89ba9c2b36a307a3c1e0398b73639d42f708011a4fb62642e7af0d711a7974465011294405a708f238f1603a9a72cb236360425639d885c4a40fa4d4e91f49b25e5af72732580e834e22f9f03727f381dcad9402abf7239e9b2937517c80893363fdd409c63066604eb15a42e03135bf95b9e0541572517d796bf2e7d0b4ec6f7d62e1c2a8c6c621917b16809a803332d865f253098b6d53d50ae5abe34ed765c2d7166e454d1b7184803108c5f9f03d65223be5b48a267dcf3567126d34c65905e7f6fd22487074fbcbf1b79b273560325da0183744a4e81082d068e42320ea87737d1771dc077cf508033227aac90fb0321745091984072f6ae4ba25543cc87d359a378697173d8167449be81f75c184e03968d16c667cfafb926cf0f072fca89de73d9e1e2d865b9aa146d03765a12007f03d75b16f8a7670fa9e3dae87459a320ce267d3ed9def5d870d1c0f2c883551f2b0219ffff039a68596fc5987764e489117bad556f7f0c010faa88064c4350b9a3f8e9424aa90388ed07d9b61bf3f0765507ec781e74b8e4eae444282ea43a9dd4e735869598760369b5e1ad076bbf5c5bf08bfee52a8d9f43dba0a4a1948ddeb1f368dd51877041034e38516874dbbf306bd0b5c7e15ad42d018ac543995bb284a64220d5feb312a40368c3258293f5452d824aef092a681dad895df439c1939d99f8057d0c2b1fca50036c345f0ac520136f6474c44a60c255359aaa2003bb6b3a455be7af183d20106003eec902c8bf925a50d62aa39a6b4fb446282878375878642fb54fb940f8ae9a9b039b7949574fdb1d4afd0a5b6b039bcd5641cfb794f7074bbcfbaf256f156e342a035736c39836b7c76e8b94a94b76c997c3d71671938c8f2a22d09fccc1a8761c5e0310c9ac60b409c764f6480ba4f8d7cc74280d2b61204e5f962fcca779c89697a80335da9d99dfc18fd9b624b287f2ba2fdf8597ce827711277505d1ac08e8b11647032da9d556319052f751723ca7393e22b837a50ba099c7f945364d7c9437dc36ad0219ffff0301bea51356bf35b90e69067718dcc3f1e9549aaae3ed87a2ce4206ec3a48daa0032831d1331ba546ee271a659c6c89e1e4ed71c768dcd1dfc5bd5fe7c34e374abe032dbf6909ec9b790554c36916c8181ba74bc00b62dcd49b0f96354f9b6bcf626503662681119a328cfbe9abfcab48d20e017fda2009d63ffee1b52963e6e83be27a03a9e0264f92cfc76e12cb15d587d861aa85e27808893b995d649521ebfcb5b1ab03fceab41de64cfa1b43087df31973c2f7149e0e9296c98e3a860287e0e5d0cdbc03cd855381140eaf1f5f33d044980b9f12081621cfdf7d7d6ef8f5928f411aaac103deeed34b6d4ba34d9cc192d79d408cf06cef29f00f71005c13b4738cdc2a2e2403b21469bd0c63759ecbaf6c14f9e1b18f2c9d98e14b50afe4fddc1ba33ca1b08403cab579a2a7e9cbf5c561bb477fabbc39e5c71488eac67fa457de85cdc1377f5803a993e1865155590e33a6279edfe10c382c092a27878cd347204a7c6683151cdc0307a81ce7ab2b175ebf41972f3bb89f31eb464c9fb78d59e1a9e46f77d0fb012a0219ffff03f36dda4b23416a947f7d5fba406da63a2792cc085324594687125da45988410d036797294ce7e5985d327bc1c6fcfb4b7a674c4222b3824e8df7ecdf9e102503cc03cff2ed73022d682e4c584885d471391c82ff7ee0ee63968a48990c6a5f99f9d50302bda0635d4e9de2ca36ff1777d873dd768a74c712e85b5c8685b99ac4a9094003d7002e3644f63a492cf835bc598a9550a412c4d414f5f80651b81483b281dd1503e6083c6aa92e041c47fba858c04fff17fdcb28f1badf09317282f7bc97996cdc0308de4e9398be8f33d6ec712d3970a01f2e1e82a0ae019cc82d12d685f1d048070340086357d59b3ba6823941caa5886b94fa6bb61abb41e23604e6d39270d602c103f52c7f0be32415a0e191f9435ac9837f209f40d82946a967519a756c669103bd03457a148910a4c2d8938ea0a028e3c48187be42af974f121f07a0a5500f4085d00341aa9c0ea097deacc8ec48d1bcd87cb87b9a77e2f29cd207ffb98a66f3a88a18035b8b703927b18b59c6ddca33ee420653dc63dccfcb3e96f3f0d3b01201fe79a603b6641666c55ea41081fb33e6ca9592a6b10bc8c03a82b00b8b93459adfb211870371a91f22144c4d8813f6991b5b64b364559d1e83102f4609fac610918e195a0900581e02058d8488abf7ebe29a12343cfb798035a214c4074f6b19e8c7a1b9d5e14398968000581e02c6de484f183a24651d6836b7d03d57816fabe6a2c9ce56ebaef9b0e474448c9804b800581e028d47ef7577a06283b24606310a49069348de4c966280e844bafc54339b4501798a0ce600581e02dc5aba41b173b32a642c1603389db1ed2a7b0cb96976214cd0afbe4e095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027f0998825c737c0f489273a87c12cf16bbc78113fdc2f15e0ef806156e4b52b7d2dcc80cd2e0c9046803a1fdc8f11dc37717cb0a6bb863ed42230c190382fa62eb45ec0ef3ac3346a653021916c803c4524a73afdbb1c26edfe9c763d10c9446fa179b7ef0bb00869429504f2aa67403a7223225ba7229779635e4be1130fbb67163ede93c9781ed0ce2cd72e71324d603edb9cbdeaac1f0d02a8ebbefa0079f297d71a13554f436c3babfe8cd2f73509e03d8cbe9d9ee6ca40f8df0f70b1e6bed7becea4729c5d7cf997e69db82fd8a43390313b3c6b11ec9eadcd8f05efb40b968af4ee7918258493e3993d32fad8ed2942c0374957ac080bac6de1fb717be6fe7fc5214e7f31a4c812bc62ee77eb4e1f598a00324b52c7a467b48e0ebe40dca02b35f0ffe451afed6d8e7a10733ce7f6ee882f403b42bd0ed6e8d1aafce57346efbc583dff5b455951dd3455f1a2a99384c6d54a103f29381ee6a599567ba1121596f7f30ea271cb1b509e96999d55a8461f189be3803ac07a8a9074c6d5022ff70aa3f799fe9ff299ac9d39e686554aa7e49776cbbd40334182725921cdcd3b5386ab9929b14394ed5f1e5c65ead52712d2ad6bd568a86038781f196899b5d2cf87e605e80b3023a68823a01370cf2ad2da67e2d5539b45103e06fafaa9589bb39c9a605598da5ddf9e2fd594cd67f398a12c830426f8406670219ffff0338c68b0d1166153d353609ca481536cbdf569377e3352a845e272ad9c2a0493a0327eaa6a652d393b90276f54d8df6eccb13693ab1281d4413425f5ded36440bcd036ca2f610da5b8c18e670f9fcfb8a12c691ba101cb7f82c8724f113afec8e145803c3959798986ba67d5ad4e880142850632ac7a05a5b5ce7712ac67066ed2dd94803cf6db62715ec2d8b759d4e0d24711d6a90077306fe98ac84ed8037f572a541ae03e6a364f18f148de2039a1c9ca7d9fe06a71313eedeca8670a48ba02eb6c085f90219ffff03faff981c50b8eecab5edc9f9fb9c96ec3aa4c9aec6665908013f508d03ca24df033183f28d6833fcac232e53215fbb3b612756fb8669f4ebadafdc4dc1bca9f47f035a950ad7b2a289f4a554985812ab1b29e494a3e9fd3b9fa2f568b9aa58f23cf2035606e9cb1033e02357e285688446af20c3a6e18878d5071620558c97e2bcef130337f2d44c621d31e8db00ff3b10d0e56e2746c939c646e653864832947bf4c5aa0324160e401e06bf9f8c5defe899c49aed12625287b5ccbf41457d351475c7f6ab03b735496dc2de84954b5ae8cf3d34018334c522a4f2aa4d36b2d846fef076e9a60373fcf13f6aaa71dc2d7c7f0cd23bcd2b1a71fb53e63e1ba0f6512f620d1c8e5e03df7e0ac21001b53ad04bad8648fb1c8084d616815bf0b02f2e6285c45ba1c01003d49f5c06d452a868d1dfe8d9550d5ed45e70598be04487e9e0a45123ee6515f103d636c2cd18439bb09b8281992a4881fff2769b6eb1a4bb38107d6594254199c00377f21432acd3b0138ce1b8edcef1f8546f708ff7b7dfe63aeedbb40fdfafa9dd0219ffff0219ffff03f4018a15050f43c0dcdee0072f55e961823b16e726ac5c84529633e052c88d6b03135a3097af1207f8718a550cbfd1bae267c78405d47ab923c78a7128a852433c034c8d2b3ad80b5f04bd869df46cb9b42e34e32d6decf1847888989c48872102c4036f92df9611fdd6ce0899e965f4cb38601592df1de21192cb7db16fd82157382303a39a221d6160bc222f3906a958d3b769725bdf4aba6bfd797b186674032e8166036d1d719248b1b69be6850ff0689fb0632093e31d45c5c6fe4005b28f48ebfe1903d7792af32aa0d9fbc54b63cc0c202ac4e1748cdce7a6350255ab7f2b0c1d73210312e9892593475da42efbf3c153e44bc1bb57e8fe1da221a0c077ac750728ea5103beea27eeaf35cf1c65148da398e987ea59f8ac9ef58480a4464dec0ecb43fa3703bd7e2fbd313023da291a5ae5829a0ce7060f63928a3d1ca83b896e11ca84d5ff03dccbc09dd73a46581f45ef1d745972141c22a34aad6265c0fa11523545d7930703dd56897784eb1342cdb252edfb8d1c060dd78e13dd89c03c89477ea65e367f2403f7a524b2051fd33911ed756cca7a2b4fff9b97444bf2d0fb3b57c41709669cfc03d5f5af87f65577c0a00f43108f7c7f9eddbc18543e236c52fc3b59da3af55af4039ed18dd5237e8c02078722f5f93f33c537f202683f735ddbd5836191a21af6250314b3315abbb68f6398dac8b11e1c4aec4a0914e542849241272a22c4c46f1f2a03273847b7c3dad00a6e58fe5e736edbca970e19b1d2df975b9ee86408af562787032f51ca4969081a1a0ae94b3eb1d9ffd3bde865bc8f11238c891a9578d477501703153685822a8ae3370aa9fd1ec1ef85612580aa0df56c6c1929bd440c678f318003c589f6bc1ce731baff22b435b9c527d33b7b186f486710ca26257d00b4da850600581e02bd1930a868831a68ccee29b8196a573df30925bdb5a34013bd6e80c891441cb9d4dc00581e0254c1e4a0353157790bc804f8ec842a2646d87fc7154792b31149aaa9205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02437f8518ace9c0d72d6db2f5601c8bd131a6d7308b2ac95834de6521f35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02338b32ec501ed0d32bab9c57c78fb70f15e3e1cb57506c825d81be2a755820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0392220d6214b37fe7bfc42414e6e87a4e25c8abdde67be388031c3ccb0169f3bf036d3a20d3cb7459bee48cadfeeb5a34ca231327d30178fe35a4eac5db7174283000581e0231ef054aff849acbadde6abc351c257600508cc21e3eb032c3a9378d395820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022328fe90fbfc6a0d568b6408b4e0221f5f118f06687c9173cefb89faae5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0227a1ea2cc0b2e5f43f8fbee00eea560912c7d4f9dfda0663afec04f7f64402d225c700581e02e658adb99533ca2593962a3882fd28dc6e6b7376007f52d708039bc4015820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0298de05c5c225d1f2d39290ad79f78b6b95ce22f7588cbb34afdb44e5905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021ad00c5d5b57d3da4cf13183b614484cc1658d7103ed395e5d9efc396f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c627d35517633d8d2d9824c5695587454f6973370a8df1c49c705ac3d4581bf316271c7fc3908a8bef464e3945ef7a253609ffffffffd941c97f0219bfed035ded1b58d2362e916a113756914780c2b5d5790272e799e982cb430ad91137760366fb1fb72d407bf77471626892992b4990fb4749d297ed01bcfa3b64d23d15fa0354098d4737509b4e5ef41159f872a5b43129211247eb18a80ab8fd5749e5668203f9735a226e9b845d8fc3d4202a3b5022c54c82fef5b2e61754ea8c41d177d3ea033a7f56c77bc6d13630a58299071ef33fc9d49347d55ac0fce0a570db244f5efa03a5673307c5d45d5d3155f1002fa76b8c47762e1860e49f7010fb89dd5a3badbc036091abbc9a6689f2f89be87de8a8d4e39c423236bf05f7354a4b574876f76435038cc7629fb2c5d3c221a2e86370d1d5498c3d4813e838fa72c1ce2513296f04130339ab702c6ef1c645f82c06ff051e71711a26a802f5fc0742e6b6a90ee8e431490361030b76580cb011ee7452b7a7c1ccd0ad28f670da32b9dd787ee67adea47d6d03e0a1d7e6d104363708ee734867d64f3cb396214c186ab32506c3641319724e63035b119e5d65f94571aafd66d208d845ee946ea54a57b23c3b5e5da52c5b3d1bdf03f3094e53c733478b04fec46018044a9198678483c547565b6d24941ab5ba1a5303182e620d2be3c580415ccb46e5694df22ac44cab2a4872ecbef40d1af15e84dd0219ffff0318446c415b06b7b4bc21672308ff93f8e5d262a088b4bc6c993123aa489085020326d292157da02b3641628e0c67f0dcc66a4ad2b00c1ac5f6d715107ebb3ab66f03998f5b43e3fdd98b9e58cadd17c3b1c00fec94507d55ec7d9e59b96833b6f7990219ffff0390985a4be782bf3464076df522ec84f4c5935c4ca95276ff1760bbcc28560b56039a90a56b5a7fa1c6386db07dc50f854ba1ca5bd4dd6314e444435244b8d7ece50313cd73aeb770960cf5423f2e7e95adc76ce237df9efa77effb8fe11c7706f96c03f69e4563d84c1c567f7165e1c70f5ad598acd73de55e19966b31718873bfedca03bf103919d56b6cab7244cb4a95ea9ef2255af2a9343f9b5b08c3b2e3698689c0034e65cc37bf915d7734bc12fb8f6e0f1d30147dc483bf003152805c77becd96e803e10f8b5c71c70c0b81f418a342e6cbb11d2217df74f6cb7ccd52c8b9de2df3ea0329b9c87fd3d9513bba6378f73b9ddb1ef307198936cb679fe6c43d33de6c137b039ddbc9212c0e08a876e79c2116a37019d7bb6f5b8e6a95efdffa14e6628a8a47032394bf1af15eee4b39abab5fa4d2455c163c4fe6a0306989c6b09b236ac0a872033041a8a566bea3697e889ae108fdcb0fec92475435eb05d7699e3e115c132daf03f2dada0b13a81b757a33fbf8eca2912b25f371c65059a1e3d182e3296bf2c75e030105aaa77266ddc94a823818f2c2554667e311f1a1da59a7a9f40f53cc9b70e0034ed7e8859e4486e55693609862a9796f7c23d3fa9b29d905e8acae38fe75d13103d26a476566c41829e83d3b2c91bed39e0219f039112328a7c779be51f9e434e90219ffff03350c8f1c957d80b6d6620728d705acec3aebd2412d404f95efeb7f516702402e0375ea6b727294d842908b12aa7bebc4a1c97dacbd18db5ecd607efc541d41a42103e7f4e6c95e8a1b3295a708f9f1d90a88e3d3bf08857d8ce60f8b958175ae566d033a751cdc08d050edaa0d8f4e0bd48ea1b1075940eb175d0a3f8f3bab602d6979035977413f63a7b6915817f0b16b3508e7342ca0163e5572c555ff3e848a7e7f16036073d1e6b109aed619b00df61cf8964c5e7ebe5e10007941b9e7bd7e5cd2ad11031fd789ed2fe893f5a95867fe23a0f1f5c483cc62778a96584898239f23773d5a03e18db053d631cd3da75dd2b5e4dddade07cb6f5327f3b62b779751e644fc8fac0307247b8bb059f8f5fca3c3a7b158ca8fd83f5bc36cf71cf6652c8d92fdb5a10a037a6b278ccf43190fb8f6285acdcc83e93edce603712a208d6b7277ac48548dbe038a44cda888649fbbd599c449df4de62b94b927f889c76c1f996af2abe39f29ce036244ffbe027db2f1868d4286856a96e2d400890370e397df4fe65fd90f94a0b603821da3e54cf4e552d1aee35395b6f4ee72b10c3e0033dd10c28da4d290108e6403e48d2a77d169f6d48d08f7fc230cf211a4b3122a2056cad4f387666db397f9a903370d2efaaff4ca889d24954aba38ad30ea69cee44541ffbf49e2df3c28a3ce01036a7a4fd7b4a0fd3a83882bc9ea607dd6b69f81f5b3de2985dc40398435182d68034e25cca8c4dbe690987036481e903d5bc23fd0f955aea0289c73c911248c67a903e1adec4f7c7cfa8958efa81183947d6651a565c1d52ec9d42505a6f7773ecf7a034aec8a2c83f27a473ae0e0575694a78b553dea7cdf2e4e35beb318844cce94dc039e74fb8208d8c47230af2cdba447264cdcd596faf748fb63eb1a087b082433f103f2fba0c6ac4f5a07a89597c0d07eca9ac6db13d8e579b7e3c364f25b93a2ba0b03c5a82feaaf8731940d6ff38346e3a9add2c496ebe4325d1ce55664fbc8c2799303a1d8352afb3d0b9052f3dc9db076ece7ebc2f766bd5731e120afe220eb7677ec0378361865ecd8acfe69a149e16c27a159e6f62270d1974ced1d4e3a1bebdc443f03a5e505b2ad5d47eb25cf1db6eede15e6dd7046c5310412229ff25ddad8dc82a700581e02f2c041826fc1d6ba128fc50d6391785775fc92f3afc72c5a41837cabac440bebc20000581e038b45323fa9d5bf02191b021f9e5c6dbd6b2d5e9a4483f4fd685f40c50044d7c4d10000581e03c51c41182d9e2af7306e6584f252b69b0b9a2c5400b3b8029f82103a3043d59f800219140000581e024286bd815260d286864f001a88e764214273c0fd187003c1b793e038855820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02194b2003bbb0bda8c7f1476f9752dd79eba083840b5200189977bded99f46219f40d6e43039055e9b188680048a27e4a4f479bbe4ea60639f579abda35bf3210a8375803ad0321f1d47f43f40db2d09903d583d318ddcd848c3f1ee0d57c679b75d278b8f91703690f6ea3cf41a922979482c1a5662bf99b9f9045595e753f4f2f238a1ded1562030e1eba0d26908b7984162d44ba3b89d7d4c01a401b68c7dee9e262a9f66a355a0331a4d6051257403a4753d41f5238bd02fba516dd969ea1ae0daa9554908b9881038b291f3273b99f4ff38a55e10cea95a3c7c30d993b8249353ecd984362374409031c352c65b07eda1b38635628ce1a0f8c8759d92f3249b1e8355b9403f048a0020219ffff037c299023d46a20950104f511d353f330b8134294054a3be641089b2641bd202003738f757c0f30c67c6864ce07ed1f264d66b9c3f5580ba212b45b0109d9aa906103602cfc99a438cf235ce9f38ca461c276d0e2acd12e3875932b75f4c7f8553ca5033c925c3e42c10e9ac55810277cf6e1beb42b36be4b84d93a6ebacdf845d70c58033ea9cf2a1abcdf0bb646002a66f4209fd8ef3b9bff9702ff91e09f273c24b6ec0392e25a0e5caee5e07ac1d7716a83eeabdea2c3e8c33d1881bf496a5fc9a43d9d030010424d3c94e39b378821df75ed7217a3f2148ca725e1a8b242f206d2c4222c0318319bc71cba93c56623257b943e394aff25bcb5fb997e01c8c02723b71724a003effc62a779600694641f07bef8a8ac468260ad25af4b2e9328a2f9e10b36409a032632ec1302fef6082b691b93a6c755a964bc18f35c172874dc082c4df8bca13e0219ffff0329836410e6758106a8a438c571f845e70799a683a6d0e4f7863777f6cd30e95803eade95ba15d6d4819bdd98e7c47591564cf3e900daa262ddc2c783fb84d8247703b3770898395a1231db190d7213426480b1f528bf9d45ef6cddb6036a18a44890034ec36ecab020f0a1fdb44085907ec9ea4848b1fd9a2bb371989d627683af4a860219ffff03693db8f7b4d6f7f92e6e2150796d43086614b8a97575de670e2c1964f2bfff0003c6452cad98f9aaf4b15c707359ec5c7aeaaa7462379cf11494d96f340d109e0b0358e795c581c641fd58cb19518e10dfcf498ae34fb17bff92ead11a40dd70115a03312a4678e1383d78241e32c47ce6aa67a69ee98e588c477b4327d6de647c4a4a03a4565637661073243de18b769b186fbd7d785666fbb893275e3c3cf2811ba4cf03f8f53e42ad2fa339762e345c6b955b58f405f6561b81a89ee542311f2dfbd74a03e9d14fd073a0e8a20255c629dbf07dbfc28b21b242540bf36b79c9fcf65e3b5e03dfec7065a3a803e4a0f5a45bee7da642184f23e465c0a1a6b045b17b8ccd4375035e132c276695a99ffa859f086d57a438018507b0d2c69f69e7e92f3d29066c7b0316af81493426573ba47245cf4ca75f5d664f60425c6cc608757a917a6c6406e30381af3cdc64ec97a5384b37bff1a5a72629e4e030690cc57e88c69eac984fb1d903bd297c4369b87e7ce91dedc36c01e6f4a513392786d13a26d79516dbf2746ef103163866f17e00d8dccf57cf948c230955320c15f51fe226782d4db21831815cd3039186e2f2586620cafdd2ebb6045e1bca298bb5e11821aded9d885599c7380ec50371e9af8d3c3ada264de5408f52382e1925fa1aa0db6b4b9bcbd2d8a35df8b05f0385c85d58b6a7eb07bea599d380d82279ef054bd6542bd9f58764fdb38afc882f0352ae011ec931ded5a96605dd5ec4229ea31409d65c9d901c6fd3caaffde1225b03de05f9ba8bec15b2dae57b622e5cc6e90633d5ca879ed00db51ab24182e46b9f0374fefb4b1dada8bef4697c6e0f034fa793b1e8df7d9bfeb29552e30433d5dfb803dfa7a7bf57a37a2221c2115f36f7c0b9e8c36cbd6fcf46ea830de062a6f2f49e033aca8d6a418979061882397b7dbcdb53e0412cebba857a215d9ce257c73601580354360a47754c9f37a3f6880fe4dc62515e0bad1a5c1c81246c599077a28734f803ea0d0d96fbef57d973c56b64c6d71e905ac40dddde3d6fabd560db206c96963b00581e026001371b124c2b285aed26ce8acd4f5e0f02315068f002d836f3dc10b85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02582cad81346b21d7a6027f255a83f20a5a8709967c25f72b97f9a862265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024de49b4ad8b76adea63970828b0f58eb8fac6ff513d70fcfc5d325d9ff4c19d971e4fe8401e74000000000581e021cd72a1bdcd4eeadc415a01ecb6bb4b0889d7040f85ac904d678e0d9ad43030d40034ac6e124706c662b10ff25cd4d69042e85fe518eadff0d21e42a2b523c7d4d3800581e020455e6352749306b41aa30b2b1d75e0bf27826f9ef793288e04178e8115820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cf811b1fd0ea2dc92bbba388509e5d608946d74670432e640521da3a084503d517ab0002194d8c0331bf561499475de119e8c4e13c12a53605ee5c5958ffd031e22c03cde78473aa03cabf884c8b60c796fd9ebc5b6ba691b37c9bb99d6b0fff7164ab88f4fc3086a30353b1419d5298e2e611b4d2b164fd16d04fba2bc03948e809a18a14f937205ca80336b64a6f2fb4e5366af838a2ac2486c9dd72092ed8614043c01eb772c3c1a57b03f1410e0472c01ca8c4a2db60012168f888fa20d0f688b66d09e705068ec50a9903685997fe22e21534058dfc18c2a4fcdd027310efcd8cd0ca2b55c57a5722c07703152c9c25a1ed8c8f94bb87b102cb81e0b7e35013463725db7481218f781119cd030e25c50823fcd6a1584ac08bf640da9934002a96e43542f3ee3ba62e03382daf033c68b44091559b37ad7650325e4926986cba54c85a14b53711b7bb9d8aa41f220219ffff03155faf3e81ca2249adefc8a8705a83c8b9b52127852c1dd5dee1c0d91d97a65f03b22673fa7528ecfff114cad8876b85270c8713672b3332ad0133fb43cb4cd1c60219ffff03b24dbee66ad130edf3ed6b09d66639bf9e6170d31931fdc2e4f753fc4392fee903f2744999d78d9de98b661f0dea89c4177d1f318f378cb063cfaf3aba4686d68603ef8c22a9bcc07837ba3740aa7564c86793e0bade076a1de5436b9326e3015a7b035aaa6cdf62c27183324cd8fd82307fbd98e71042c0f081eb3b4390186b35857403edb4a3fc912996d9cbbabb5d5af8da60eeba3910ba46fd53574ad69723c6be280364ac97bc7be3989bc0c133569a7a8015d3f52da338982e61b71645ee2ca8fd310389dc72c2862012a970384f46e6df07627997498d67b53eaa21aaa61444c614c3032cda91957440735023a367a4d4db2466e3d9d94d5d1502977a4e3ae4b064447003a120a96010ede3dcd431a90312335330bf91e458661b10377ffad442d49ec7e8039ccc9c73929919ead8fa8c57436e58c0537bc538813cf2d3ccde7bf093e4c986035cc271817b0b41204c15489cddfb97aadf38f53e50eefba934c478506e857e2003c843941298e73b96559048fa0b8db5afa0972cb37292072659e3726f3c1cfd4303295fc79ab53090da283288022e0d662512c0a099d8d0eb9fd3c279bef61a948203a3d752fc426a2ce66f69f39c8fcef0266cd004a615b68643d4ae57b77ce202a40219ffff0314768a223521694af643718c4c32f29db436bef7639ab87339bb83fde44ac877033820844bea704cdf48ea2df975edcd06e65278608bfc5ba6867d4efe1775345703540760753b99dacb2e4405b51ab776010f68d65c5da33cfb8c17f406bee938a90219ffff03fa3e1ad9a807c063fa48486e374725ab920129a9c8497970ee68cd986ca85cdf03bdf94f0b7d708fa6e05395f90a3f665157ae95fbeb7c99e4a25f2c0b69b19b84038abbbfd8b08d7563bd7a34c590468070366dd64986b5b45c76998431a51b66e7032a6226114f88a2359a78e1deddf53f850996817f7fa210c6bf2e793a82e3c059030528f7ef6577784482aa7ce25eab0b14daab3094096a71603e9c2899922e90d403a3d27e0a6c2319a48186ee61496149fcc6cec7e49e2f7cd35e23aa6e72e387e3038c84e604a0059039758a4ac05ff1230a70a684f3ae834ffd45ee4ff5a00f963603f24be8c5ee0befa11fee76d8e0c7fd33952512c1c24cc9a795ad6172e2f4d55203cf98b6078418ebf021245e4de00f86a8733a3a4e9ece2441a001803aa0fc099603e5da1a44f588cfb6d5d3eac30c03333ae32ba67d7c1bbe60e346023fd15d7e1d039b7492cf5c2b13ce2a0c94a6675e165304ee81d9fab98b758dfebbf720ff03f0034390422cdd8cb504f16e80b20fb6bd2ac4343c4c53e1fbfbb3d65ddeba8c6748039b8cfb8560ff075de2ad372e9769993f909954c0ce23c84bf8a7419858ad6e65033ddaaa948f8afc317234b04dc12a5a98a2d92ef1ecadda111bc35088504aed73033cca29ac4e7b4dd6e90221912d78badac2ffbf77726935766d42859fe37a03be038f4751c28f5d5e3efa64af2b7b7ae342fbfbcf7dab030cecf9d33eadbf35ff3e032ed550b1fa790aafa9befe5c155fba21f488719b241c2d0e514f0b31d1f2abfc03a5aa373e6b4768f13e0a0f7202f86459c08253d82ba5b0f5789cd112a33930380338b9294ab3236ba5424032799fb5de792c4427347990a903157baac5679382db03ce7845170c4dc547d8344d6e2da4f8df3aad44ce6b85260b9b530d7714b56bb400581e02e9c23187bef2bb8d2023590dc649e45c4d292cf54bb34f20edd94ef13c45746a52880000581e023d40ec907b36fb3613e99a6fae032c45917b092e5bfcb4c426f808d3455820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02039f4f957147654b69a7504e7694f4c32417ed5cedd3e56f1441c3410b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f539af4f0c77ae0eac5932b1918ab6e16b7fcc1a6a3eae77cd8f28232bbbf34b00581e02e6163e95e0e418bc148e5be2715aec694434b6d97d5ab57b8b5f07554a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c04230306550ed118837875820d19523c5ddc2e6025534925a7e9dcf485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027d0c9c0a2e61cbc88ecebcb9bed36995f1bf8ddc121c1ddcc45852ba4a410700581e038025b2bd9252afbf8784f0155bce05900c47ba27e6ddbe3e6b99713c205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e035e2580f793b6152bde3a4db24f3f15a51e67f05e61fe024c9157163750443b9aca00021980020219cf0c0393075b1efe837a8e58ee7cfdc1aac889eef58191d735446e043c16de2b6ff3d703591b0367566e20733b6b11e3bc27f6dc692cd8d8ae8d19e216393d4cfddcc6e203ec3357b3e9c512552e751cbaba367d2557ca4a6853c468c4fa9b9d2bcc410439031e1ad2750a0ca9c0fc20989a798b287a1a93cd1206b984235fb1cd13b7b161a0031b377428b15fc6bbe6ae4b80e4a153b216840bb93c4ca105afc18be620aceea4037427718791923e19f1bed32b1118ed2eb57b7fb82d04b7e74b02daa51431e6fa037dbb3ca606ac579e58182e025bc3a7a7cde9e3d51bb49463d341d4cfe450e7dc038e5658a19c92cfed8be30b058703c4325b504b5f3f9575135d882dda4ee1277d03769bc9c7fbe574dae5a1501b392407d007c4cae34df594ded3a6dfc54048fd85039cf44075c4b21383dec8d006f3a760fadd5f0801e6009c677cebce833c1c2663037bb496b5585a332cfb97f4f2581a611568d2d85ca84a81bd944cd7d7cbae90960219ffff034abf9c82a0da57021ecbf498dcf3e15f02aaa967d22a5d031d85e09ea1ef09f903f2b5211b080fc339efeda11495dd373559b9f259a8bd757f39b57cf9fba12f3b03a7a2797602761a28eb4e310d48e1dcc2d9cf437358982f72b2a4ff6792b2614903b2b2726c9f413630584ca199ab4c65c86b5e340ab9f56590c4fb2e2bde8161d8037495a0fd9d30e50d8adf5c6d7fef2b2730e4f58c98463066330b99dc3bd3e3b6039f5ab0a0c8422ed64e1a9fa7170500f21b5feb30c63283ce15f8b2533b48cab703561d244137c34ccf5576b3b8e6db5285c01f7327785db0c60c922cbaf2b60bfe03ec38dcd71ab100a0bbd502554b67cb7f19842e07ab0b2a6cd1ab9940f03a67960219ffff035bac59646771b5305fc272532000419089c9ede21d5e3d4a2acd1d44108e28ec039a2f67fdd46eb942c64901312cd020e699d701d9b090d3d4150d29980c9a5203030ebe3da50c008351b3639d1177907a9314329553f5737e324f339213d049385e034fd1ab5951c04b52eed7552d8baba43c24a6d9dcbe155d76a8bfe0bd036d579c03db9ca3e593793110631d09a1c228b0b71fbefc2cf0550b9332a54a99f0e9ea83036c3ef5e86c6c674f29abe33dcb00bc763c1301a08b4f1d5dcfac0833e639bc770219ffff03331849c4cce049fadcb1d45e82667a85498385f54f57cdf49fbf43426c0ca0ac038b60e3b1be5a857d21b126624809ad0d3154b39bc8b0113adaa04bde9f160b20032cfeab21f94879f45074d14e909f392067caa18b74df95785f2f6bc63185a9b3034e51e58c633e0807696f26045f131135dcdb52c168dffc407c1bf7519fda8b5e03e67d8ee703ce6ac6e76ce955599b9248d30cbcf5431a45827ea7fa36f871bf8003cf7f74ce1796f3c06d4bc663270045de09fc82bc33a3d3ea1f7eae54a4100308038ffab9d13a99e8020d0517f8539d2221a857820a8a70ee99df7995941cea3974036361d9eb49ac7e28d1c404f82f0786215b4c8de926298261fa0207630b2fe5f803d48dea5cb69182bbb663acfc02dc2c85848a700bd756b39271aaf3c353d1e6da03dba4b10564b72104296b69481688e221862f75026a5cd41b5523fef52c290422039efebc085bbd49ba3524846aa5bbf96b5ac05d744841e725a3d395539e35edc503ad93dffd9f4172d7b7c209f047bd279b9896b68de583ca6ae7b518e21ec00b7e035052297ed3450593beb11ab69ced747b7aa2e1a33fbacc6488eb2bcdb45d724203fa53ff48fc0c2a3c7319c4701d5c240bd9ba2e60acdca41295f9559048c8846e037de8e51fbb76f5a402ad13ba045c4bc5b5d9fa51c87ffc6382c5793d023f9bde03bc400cbb6bbe1deebe07ccaf84acbc99bed9aa6b71fdf34474301c975c6bad8f03ed6ad7f1e9cad9a5e26e3ad2a14a62a734b4dc4133d035363699157f6ab19fa703f14c883f4981cddb4404ee42fd77745159cbf23c73313723af8b1664b67865af03bf0102a9bf5624bdb65b035b7640bb8af9b25ce9e1f3127892ee4ca9404aae2e03f21c80b09aacf7971f4fa3f71f75a8f3ca784451651ec45208e32481e1dc1e4200581e026982cd352f5356375372db656a5d1482eb74198b8a80ce33e1310b98f243e4e1c000581e028a4aa8adc919ab4c606a9da7bd070a7354d5c9c29eb6a87327d44677864304e14100581e0280eac48a9ef3ffce8c4ed63952f9abcb66891078628055db86889aa3405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b510fa0dea179f8100c00e7aaff0a5f51782838690832720d2ad7be2660fbbfa00581e0266112ffbeaafa651f035fc13c934b957063eb934405d16f10f67d30f7a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a89d20e17fb6170ea8cdb0aa75a964c54704277f439965c47eca7e6e7c59611500581e02c0cd436fec34ba9e7aec2ff1a297ebdf613b49b39cb405fbacea77b7165820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b4be28c455ac6370fabe6c0efb327321d997c70b61028c0f2c7ad3abb6742b3703a2a79167abeadc767deab0d9ff3960a9743fcb7c412c63aec3a31da3b64cca7f0219f985034dea112047cf51d78ddff4d189d65f6f6be93fef0b934f68635b0f9a02836af703d6340d7e9522444482f71a3a6efc3cff5e5e0cbaaaa13b8c73e06fef8c68b2ef0362ce3e99d8677b95923be35e2a069dd27ce385cefea017fdd3790ad0e6583248038879619ca242dcfafb6ded43fbee89ab3dd5c806fc47c5e7141cd382aa0d3ca7039b60c68470c05aa5c858290d467ef6e66ed3b7d5aca620df0055f16979c1c103037608dc843b83a910595fb71591ba53789b6ee99b9c433ff42fc9d0fdac5f55e6030de8ee41fe5ed7f506756f0c8043aaa99528faac1b5ccd4f2e1e997a328b57c903da05452051bf26c72e52c5ef46f8fafba41137c178e81cc0ff30555acd59380b031e41d9c77778462e2f5a70af61994d583f2e43da5108e80ffe082bbf30849485030c1770e36c188727747e67ce47ef39cd0179e91ba835417c4f24ab728c9f66e80337584703a6c8ae51d05f9dba027bd6c990ac68843b316adf1eb8cd1d4dc6d4b8031f59b7fc6032d6f48f1d9b7d3f9f10fde472bff7afbb44cc3c9dc2fee2854e4303dd755f55b0a943f7a4f4ba5e4d736876a68e7eaecfa3f6ae1673a202368ccaed03f0a3fe9396824a407c86699b84720e5f3db3ee3a9f833e5cebee7d8192f854750219ffff03625173663e3fdcb4448ef487fe44b129a6aa9b8273e2a6badab6988957d632ac0339846267033755a7aa7055364306249e440cc8f26a3f0dcab220f3ee902483e803315c00f3f1d4e77eaf1bff30a712d1d97eb85cd6b4aee158d366157a69da47830353a4030f8684e06aa5289bbdd89604f73c563da32f1e54e634c750f90b4f463b0351b0eabe4b5c693555d36aa764c3ef39591692863d273d3ebf75398d9395278b03a2aaa0c1f20676d1151f2b143fc1a398941cad76d49a41f33ff50a9d2d54841503586115aaefb51b4cc6d42794bc6a6f7c22735ae59872c7fc5f795f8539b73d9f0219ffff03e0b829bcc3d6b64ce8c357a97c105ca949de0f2d45658e154974fed030c6e240036a9576de65258e82b8fa8a47d7d40ffe039f66ec5ee3ed90a6a658430edc344b03db8f4bdd52f69f0dc6cf2c316f5e60dc7fc1eea596eb72faf787cd23e7de7d4d038996f68953dd5bff8a5576b5608a8e0fb15ab49a627ce436e72c68c17072352a0219ffff0341638b8b2040912073f8d06f81879905455d57cc711860898ca93472303f6e7e035841e68f99f521103550e039be613a9ad21aa101147d696f4a2f18a06425cd0d030a21027bd2fd36cc8a259fc241bd32b60e8aed2343af57724781ca68e84898e103473841da21711eed40c9b42e1269d6d447329f7de138261765903ad4e54f12b8030ec46dbb66937413d3b0b60aae9d4275f9637907f1240ade0b3b2a3cd4317a5003986079c6384ff93c97fc48fe77a3e91c8d099833826887210f323379353a9e160316ea9e4e63f26924349b622b910ef953bfab80a9f4dd038c91fea852c9d9201a037c3d7b3332fb261311ce627940448e0557d6893ee13bf1b5198aca2f047f14b403ff96fbd05fc5f6235dd809ce896ad5c760eecbff8d574d6392884ee87ac75996033404185114e3496b2490047bd18969267529b8133fe2354277aacbfa241deb7703070180cad1082e867e0a7375f8e452a42cb7016b6216d6068fd4e5530ddecc28036a95b9f00771b62f4dfe8f49c775ae5d46e792bd81f9bc5758a6f15a7c8bd6060398c1e7e17c3bf90841eb859a6065d0e5e48fc4a0fe71c04cae8d0756493810af0346b6553769ab18a0049d9bd158894b515b8331e4dd1af049ed0028fdb832131f034bfc1491ffe2489645fa42178363cf96de3c40729c90f1e35340fe8545cf47e003912afdd49d5cd8b746f1672873518830f3d24bb4f01f0f9acf708a0d4c1b76a403d61e1dc58c89e5f9aa12914e2480351ef7ee96367c0810a414701357e6c0159403969458c47ce4fcbb78da374c6ece8fb424051d26e93c9293c354131bbfb02da300581e023cb30f2184c08837d8b1f8b7eae74dfb3133f80d2ff8a87e60db8937e34402c9a75000581e0233427d04eb11b3790ee4060793040d36b284e7996d211c5f369caf10d14398968003e598c96dd077860b4ab1ca4b72e4edb3f2df3745a5387fda6130857dde6d4fe70354e0616258c2d800e1fe4982dec24e1be4c2921e15668145e2938a909207770e00581e02ed072ac18bebc3482c1f951a08ad196aab617d83807b5de7c79d68e50f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cca9c11aa7a17b7ee32a47c2b56dfc015bc9f2c9ab0a40868be0a4cba4cfebf40219718503ab939a8d77ffb805543a32875aa3a40e5e7fa648a65c6eebdcd9a266e76f6882037fc890b0f75a91233ba42a5aaa7b59030e9b35ae179a87d1242b6416f2d1cc0a03ff89aa34af20b829da5a30c319e8bafebe2a95cd9bc7c1675815164eaf9062c70219ffff0396851ef5edbf901befa57b7e0e8691e5ad0ba69b20d2ea23ab85b2a2008bd0660315a51ad8e3a827f46a6955109c5f43678aef9433cb8918548c9f2217642b896003e9caacc0f492e165dc503a05f32902b3d00c094326017af2e92e5c22b136e13003796383eb1dcfd445da27b32853fd9334145da79a8a3c62bd381c4dd7bc447443031a987f9fb89172b7c665bc48d3b375b587cecc983b8d83b6582b9860010acfd50367aec6b249df6ddfeda9a6b285569133a5a22f8141edfb004b01e257bdb74a4c033f5f847e16fce70e4b8ce0b4bfe80c76283efb41f954e2cb8eec2d1a806dd16c035d3af82efcb199aa4077c09efc0070b44f0ac6fff73125eebf456e9a94ba21880315a5042888d4e8e062b16b1da81f160ff5ec5fccd2a3dc9573ead5ae237618e903d0d16055452c93c75f8a378697415a3265ea6287c8917bd389b2153e0b5508a003128794ff0fbaa07f98463f42aa97af111ec8db16adf6c09e9501bfa09a442c9903f84ba7638956656eb96bb1cb66aa13e9ebd2c613404704f94e6db0399ec8a1a103a72f57aef9eab873b440ee9ccb130ec1069fa8a83b9aad72fffa8e9f6dd198ca03243f3b20584f31ebed27ba4339fd356fc677aa608d8ce054504fb03bc96ea0da03e13ba4bb4194182bc8148ff20f31007f2b3c7d33ceb5e3040c4f3b7ae7169bb40219ffff0376abcb098a5b583a08dbb8f5c695053531a96b5b2bc4dbdb2cc4a66e4db8d844031e2093d99564a122642ecdcb568a184104f88b7289f7e318e3bf6f0ae61075ef035834d531da14ed02a1c9488e45633bd30c9ce94dc0d4e3ab478048473f4c2909031bb95f7e6633299e0c286072825cfd0991d4bdd504f2683f35e371eaf1608ab20370d35ec24a8230aaf8ed33455753a289758c33b8d7ee8ea6aba57b8430d3dcc10361c73583210ef1e8161c77913f159e4ae32ca6213465d7d8516e60dda7bd155f035cc67b72c23d73c49fefb94961671561ca6d67e9e96126785061b03dbde4831b036805ea0b6a67a216219851116212ced0148f4c1a58ee8d1eb6838ccc00a4fcc703f5c38d3bfbea208ad10f3b003459d8224f24f886d83b27bd840b6544711164c403ff1a2377bf00862a6dfc24811bb1dad7db8f83e46b7a05a1f1416eff4147077503e373a53bd1c8c02b8261aaa6eb7d0c9abc1319cfe8ee4061c73a878f47961be903e6479c154a8376684db4201df877467c44aa48707d3384fc33d843d47de63cee0219ffff037fe8b4f1275376a354480c4d7cbbd5a5b3dc8cecad4ce8d7d580ccb894a8c91f03298c97ed0a38e06e0286e27e909c356d578263d0e9db04008afeb1ddc67e5fd10339816b0060ee704664ccfb0a55625025fa78084fcb35b5c2d26f5a6fdc2c63f00325cec408ba0d73eab544da758a584f8d89fa5d378af6eb32dfb6f70388b54d6303ed8acf06a1201f66083265dbd69e25d10b08d7078d5af74ecaea2dbafb2e48e203de55f3454791a27cc0359328f22156b106dd70b3d8d0e809c119181b713ab2e603d56bebf09e0fd084f11fb3e9fdd89887d99ed49df06fc1418c7922826b417f69037f9a8b18fd0ff5969882cdb8a787779d2a2a1733d61fa6e20698d8f701e75c3c03c7d25e4d956259f1a31082bc3b2c238bc6802031efeed026e891d4707d9852c7038df8b344d6faac753de3480c89439102818d9a981213b0173a212a5cff37b7ab0360a8b09f0d7edd0ba6f3def4b164bcbbf4a06fde59f29d55aa33cd66cdf91fea034087edb0298abc842f75c64636ae13af6c340e4a307462458545a637a4caa78d039d5591e65a910910d6863bef03259daec97e182120f8e3054d5ed7bbfe453c1b0350e61200e2d1b7f34be23326ced53208f0c19e7c1c99192def1984377c49170203a76001725a9915db84eb9cf5065a3cb845729560d27964f6125f6e859c78d46a03281341f5761fb7e9b926348d14208131e258fcad3ddd9a64ba84a621f2c5d93b034ec5071e4a3bbb126397831dfdf3b1b512f5aa10a66427c114a205777f694d8700581e02ee080f39ec9962e24ba013ebc5dd6efea5ff28a918bcb0d341f60f3a7c4405f767a00331e1febaf10847d0eb5a6f84a3c9175eb49c2a795961964f0c594fca9e71ab9f035ee2f051ad93facbc9d63a5484e156d39a1b887eb3a2f5767ad1a3aff78d265300581e023618b4a7cedef569c50443e9b7520ca78324c0734ec21a8b7f345697015820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029b2558675fc117696d6ac1fd693cea55105831511ed56ea2c8bb037ccb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0397e7e5ecbe97b31bce0771503538f02caaa2c2712bb046f926d137684b1a017300581e02113fc11fcfb2b30cc3f6a71af0f892e87fc24a4a6d29e970da2f604abb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036d433a0584ab2aba54a6534e4f82354fbca6d9ce502a12ad346324b9713d0db70219793103f53cc0c1376477d3b2360d7352d3f19644f794804817a2cc4196967852d6e7bc0392c5786e788418590ef8820359106df615666a3c7d192406e58d11ff2defbe9a03474ccb490aada2d0e86331917c9d319761c5f013b1e5b5d2b148134edbcb439503b0b46ec8f1d39398f45e8694601ee4e3ec656bfab70a95626e433f0f2a360d0903e99e958212539340bf35fa44c373a689e6e6b3952cba4a8de67b64934c3dbcc7033fd027e3bd816823a6f2b7c74d1def9727aea9e79d6308abea54ccc6e17c96330357bdbeb3251469977290f7a37f4979898eb8917ab45d5afdcf64be0bb208671503d4c149b3714e117a3e682bc823da55c3e70e07939fa2c7fa23fa8e3913d81b9003464f3b4462bfe29b7e7f4abfe7488663c63a81cd7796fb65ab116613a499b81a0219ffff0349cdb08b851aa5192ecf585b1be75b1aebd75952db3fd9db4cfdd345a63d8f59036bef1d15e12ad07df94308ad90d2460316663c99e7cefe4e738f39ac5692c0700353b883b76c3ed97c25fb5708bbd2e34de3e8258fae0270edc18230ec9a69336203345163557ae1ddef2893994cbf5a9fea8b3092cb54767d637564ee105dc132e903cfd2e871a29d9ebd6a959b993468967fc0f178da31fcaea3e73829d5b3c858e5030ed64a304d1f3f82423203640b8da7578294c264ceb0c3babab0e369cf3f3b5f03ace07015d0bbedcdcd753c6dc7bc8f8bd20ab835c820cd189755a8d066df0f7903071ba171cd56efcb23d619c7d0c89ccc3ffc50adf834eaf980d13c7ca4a096f803d927a143038bbca020124f676175169154acb9ec84fee45a2d6a5ad95ed8878303b16b2705a275a4bf8989ab8bc45a5d10aeaf546547a174fedb19ef5552838365033947a5732673b1aa54eacd09cf94160542b7a3fd33893f188be8fb1e4626bd88036fa1891d838f67ba5759462669a5689cae598561fff9ba0bfc2550203c2d45870379f5b37daae30c31f7bc5b2ddf04ec277d7281a752c96bbf9bc320eebe6d5a2c0219ffff03ad43e5c7aac9f61e28f5a78ff9c99b01e52b7005f966c05fb80aba44a317f73403b01cdfe1f4e86859d8e55dbd0844c045f749328b785bfe1b792bc9f16ada64a3037d3543e795318df1b215a2126705860580ee460f4aca8e8e4490b21cf5887a7b03044c7e6d41becc81e87342a11164d5c3e4af5fe37b7246d90f3a8bb0c9037efe03edcf3a3f6cf0687e28a2933160c2005a39e3ecb83f4af51796e13a32743a903a034225af9ff5c68587cd764903bf173089e9ba16dc96d744f377043c98f7fb202703f24de2e431847772087700f51a85d9388913eeb34b3224d43dc3053126051f0203a6272d12bd3f588794006999062377c7dc65a9e2d1a1d941eed6ddcd01d7879003b2689f2f688b0a2f0c26733c7de4b2bbbf3e8778b166e2ef925b13b06c67248203780fa7bb304f7f5ef5bb8a08d0300e09e61c1d665603f00e04d58be0e1bd018a00581e023414aec581a99bed3d6b6db116023f3f92753de3cc5f1afa5698b926fb4405f5e10003369e901c3703b81992ff4b66f2a70f5051300ba90b1bfe834aa097fbaf58864b00581e029f39b8e734c1eb49b58c8450072bb222579063e0b98b138a11614c7ea4430d6d8000581e02354358b86281b3407497343a9bc54afef2a73abd130f60989063afb2b8410100581e02dd97f0db52f4ff2a8c1de6ca94195c738436baf754701799be5f0a4ff55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02102b7bed7281a687516a7f6f8fcfcde62d5f6e1e5b1472b0cda56e81b34f01bc16d674ec7ff21f494bcf84c90000581e02a6e2f1c68fc65839e2a5d48d4a4d2c1c744f5496a599b4e56d7318929b43e4e1cf031b4c6068984949e50ea8cccc0dc0d2ee04bb1fdf34819491c4d5db3cbb8300910219a33903b03679151a88396564059f5af49347cb908315cbd100fa2306ab96f878a640bb03cd626a02d81d70b203f8f87da779f57e93917aa8491925177fd14addd653b92f03209a1a393ff56d6752a44666069d51ddfa15f254fa6fa54723e01ed0e1ffe8ec03ec8a5f6e0b4cb2caa331a464a1f900a345fe21f03a8d4435b379d9df3258b1e403547428b2bfa693e2f97176ed89c05d7020c76246ba69bbaaa880a2b7df04fbaf03ccd15be230d245843dfd805ff2133c804e8bd02853ff207a97a98ebb36ad8b41033cd8209543bab35d0b636c140e78fc8911d812749b79c3935f0d6cffcb04e5f303dbb3255c840ddbe84ae7580b638da2658bac7d88513b0cbae220afd21656abbe03e9002f8e41647c3b791b833496bb780ec5c3b53745611574f7cf116b8dd48f5303e8cf1bcb735b0217ba692f200a7265390802d7ad0a8233024889e0dda3c3053f0219ffff03c17261a7944c2500c183dbd4d9dce093f69f0ceb3e5fe19d9f43248b1fcdf60903c0fcee67c569f1521b59bac8ce31b157e98d538fd8051b6309a2d57d9b367930037e886d8b1c99e8dfdf16f511acb18b9d60734ee474e18370da4cfbc16c85a3570356d32879bfe8a20ace3cb548264cf7de349212afa67206166e66baf1082beccf031799b078ba735fbe762f2223ae13b4f59ad80f96651dca2defad073332f6971003a48661e6e59ee89d696b20913f8620fd17f5bb4ffa31b4eeaca03c3839a4651a033e0a0390db5eeb6536c3a0220be8fdc8d3739c23a37dfceb653cae4629dfb3ab037b6656ca1782f9e8159079ce7c5cc902b9fc03880373fb7970ec8bd3c47c8b0f033db016698397f061a0ee22e9f12ab79b428504297250ea7731374647f8a1154903838c6b8efacd2c0f42aa091322072ef4dc365c7f9e8f5cd2113c85f73473af2c0219ffff0389498ce884811872aa3bb58826fbc5625c41c76278b3511ad94338f4179ec221034c83e481edaf69f35c5d50506e7f2c3ff722a3c364b5dfe7f19db7048fad673903c3740438365490f14666cbb798789db4bfa80bf61b4678fb4b7d714ba3cf8b4d03877a05b1c5054391aaffb09491f6e04c620ebb14fd31ade72472658cdb8bb777033f7f2ed755632de5d54b184806a0a08f11495e6c413678843cafde443723480b0219ffff03694b09c9aae78f97e48c6eecb6f5ebee00aafda3351e88ba44c4018d2891e186031dfa137390c8318cf49eadbea4ed821617b10f07933d86a2c168499cccb37a3603999485108685414c55b24856c924f0b1fba39a784c7ede7b5c0c2b2b38dc125403db6b5585c9579458f12537e3daa3018aac35d98939d9afab136c41067c09d7c3035624b38265f8e6877bc7678459b9c50d108ec6ea7e6e5f097643d00b1839c65c0301094fa09e33a6c9741957931d60177c90e8ac0310d70dc6fbb0fb7c60a192e903872c6e0b3d8cca0fb53c1e940b0e8e3ba30861273eefdab4e06dc691e9020063031ecfd66ecd95d9421ebfc4e0a106851435cffbdea873fee0fb22659dd966722a03dd624f8dd24b83b8de806521351583cae6e871b9a20abccdee057b4f73438be20328b8371478e656f2ddd535e8600e694e0d0e0214a660ba7f6f313106c8ffef2f03fbe1c9bb7e5c4322bf600d339e59cfe83c640c7435393ee354819e604855b7810378cac4bb0ae283a8183a31eeb17d5acd9e5f41282531528fc4ea83cf9e650ae1032f2f581438f7463a096daab494c303894ccd898ddbadc092f1c3c68fee8a01c803e3b523cf64d3aac61d1467bdc3dd8d1d92285294044c3b5122ef45969245bbed03a427e384be0217589a5480a927834a74de3d552999963608823de84eaaac42ca03b2d3e1f8fd784eff37901a2d275e8116b5edf3cf61581e398eb3401fcc6ed07303ad211c3e09f44e93cc5014200c3f8d777783f988a48568c2c021d3cf06680d9a038af150b8fe873c7764e0aecfefa3c5859f930a866ec78d8ba1a903979cb0522c03193faf15f1ce1e5dde22fb35c10607e5dcf3db3c709f7b3b4f34c4cced5aab1303512214b60414b71f97e8087ff371b9d03690b64f388b7ae9c125ddfdd9d63d4e03c77caea97534d820771cd63c67542d5ff48a024e1fbbb69f36bdf900db83506a03dafcc287491c36bedfa071fc86ddf52cfb27c19973d6aaf4e70219eed91358fc03b0ddbd3593afa1ced0f9896fc80f90fa2bd0e9c5ff2095a4724471567f5c1b4d03b381421265f1a16a7b5885e8d8c502bd120225c3afd8a51fd9b0e1722da620ef035aeb5830570b9947285d967e6571047c9ae6481a4f899f1042e2b5fed7493f1803b723f9730b82f223229102f9d6963775270d0f8f9733e21be4cd79a4439d5a5b00581e02ac4af55e48db4d01420887cfd9cb4fa8ae80aab91b104e8038f7c4751f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0298f426ca8ba3ceb0b414098f7c222b553cfef11dae538e4b3215b6482a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f28a6a0be5503d88cda28a2a41faf48e56db89f427921b0b78c68b2294d70d3300581e024fbe77f5e5eff410370363b8831b1061a5eb68195eb35d82be613053045820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029e3016c58922ff7d76a256749b0193116e2df2f571f4d7370e57ffa3044405f5e10000581e023347563106dcedabe17c6fccabc8b5ca150b75bb801e0f8f9b2db342cb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026cb353937bdb8d2ea37f3c709cb29dc0ce0ad34d6a64c08ff5306a30fe47038d7e7efc6d8000581e02f3e1cbd46d921d1017611b4eff15e68a8721878ae899c936d15a2be9d45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192ea7038b47a71f44287bc36735a92f6f07fb0d0364bc24f3a6ada691374c4863f5a1c4032627060c67df8532350e42ff04fa7a493899f5882ce4c9d5fabb45d1dbfa5f1103740768e495dd23a2ac768c57192b2bc61c2485b0a5e91c2a75ac67904fab6fc10219ffff03e41cb234515b2fbfec5364ab8dc4b7f8ff209a269bfc9beb1f6fa4b36d4232d803cde256c6b103f6b40541f08d5006fa11f0ede0a427c57847ec121d360cc99de003af68557a679e0c7d97fa44044efb00172f879fa39f3228458abb432650754e490304f7fd7e98784fb52674fedd680abdcdec1b9f8497c3870bb8b6e5a7eaa88bf103f521dd278401e4488df65dd16887a5bffe0f062212645493e7de9c27e750ad520219ffff038fe20437ab0b382ac566cafd7a9541a9e641e0fb7443ae2c6ca51ede9647078203f038b6ef21a0f09025b7de10ea3568ec797cfd811296903188c6a2bd7d7264a9037191accaf65f5ed35c146567211092d18e70320f8780445b65bbd485f658dc6f03c6e64135324847bdd0d0831aef63405044a23bd93c8f68116ef6d7aaed2b1cb0038f95b54d11ac33118ea0595a82e25751ab52419d51fcbe230f6db5ed04cd050d03002c80e49b308a8f52775cd38f5fbc8725236f419247c151e3bc36979f520f4d03bf73d65f52766339ca14cbec4d130388f6f5fd99cf7bcdad33773494499d751e034744f27b8039c13830bc8881ee06aeacf4da839892022460807a7bac5dbec199038172bf2c37516ac61cf242f46bc22d5f6f8f429955f63bddb7c0b3affd67591003b03ceb165acd46fd2e48c53ddec3e8b0d68437983549d8c268a241be8c6de43e03a54bf72e770c1f811fcdfda1a4aa74e4ef6835755fc549faf0652a5cd3a30694036364438662748aab9a9cb7d5b22bf172a5f847acedb406f0e2449edda899f6c80219ffff03513f7bcd4dfd5bb4ff2fabb29d94d46104252d27a60aa111b85a6801b0f341fa03d2bfe6ccd76fd38e98fa594d2f587b4bcd4e1f9e1b1bcc1b42b3948afa0bfe84038eec6d09abab5a3b0fa1bb2f3b8192ac579060a628016da3b39b5216fd83a2a4031012c55b8a363d68e7c33ccdbe9ca7e3b2485b64c017d0d534e24985dd7c69be03dc32525f0e020af7f5146cfd24d61f8906ed03e227fe9acd50e54313b300d0b9037a5b6f55e7f4e05a4b50273ee0af06d6332dbf691d73169b2bf7d2199ff97fe103cdf5520feb80d4eca20de50656050a4d889f5719dc4458d0729a2c6aae72620c0391b36516d1f81699865b126e9728dd684480cac4c2e13d2400080e5c80c562d00395ee3a19ddb6579d525e2f930d3537aa432c8f80381e3d4d7ddcf232138c84f2030975fe6352c64f38263ed22bbf23e51e97ac75bda1f8bcc85dffd96a8eede10b037e106d56545cf12137f64ce0281c9707bd0bf650731201f718d1911969f61fce035d2cb9bf6223d5489bb8d9f16b9e186d1bc478f76414116231999d75b7375c6603119edbb27fd1966f858b95c3f6aedba4606a97519b9e999b054c41262ca06bd9035b4c6a41d98a4e7934057b7526e2e0179327e3d6cd1de8abd684f987de6e599c034f683055fc8f463514bd980e0d66f456c26a3e0e00a74709915bdfb798ef18f9038da01b3b4177b2e73b9711b92e2339631fd642f264fcd34cd8325b26fd9b1a450314787643e11d030826e4c95c1d0ab3c6e4e029a579f69feb683c5945f0a0aac703565b68fd8c5a99f9d018e07402fcf3200bb2f2a80baeeaf6dbce8df3af25e366035a8a4b375aeb7d99973b2c75538961a60c407ab7182af99fc57507348e24dace03d577d536e790b499d6884c2a6db38d0554cd6f06ee0bffa0ac0fd2522dff458403f4e5172f1253f568a7ec2a7203bf5264fbeb3c4b27fa30c62b909e7cee4e2c80033b42814041a523f8042fead1943c5054e7566081527a321270846f5b71168fbc037c4069664d44eb64f39ecd6e2ef535a5519ecc6dd6a2e8f1b7474d186882fb9403526f566d820f4ecf7c3560962cf74ae62e2262e343ebae75b5ab157509a04a660359419332cd5bd18cc278b93d64c7ebcc49e2ebc3e3121680525a7ee0896d1cc000581e02fea120fae8b6d4b6027d4f47da8f5ee0e156930eb721f2c99f1ff9fa37442faf080000581e022589fb15964b055ddb98f9c155df5426441c263e7738c0989f4589cbfe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0280de754f3f25f9deb11eeb57c7aa4b9cc847b4936abd87c42c7ae3e58c450412ee4cbb00581e0298173eaf8a0e25cebf121fd280689616aa5246d4acf32470fe0325e6114315fa9000581e02f47723786388587da54ed01251ed185f047aa043adf35d4d24552a98c5443cdc0d700331c37b8deeb52d130d18b347aa665f879f253f1c6a0b8c7cf6627f13210f649300581e02c4a8f79db847b253237822e4f78007991f967946ea5bd5316105870abd410300581e02a386281bb82188a7c5b032f6da28593dafc378f027ade5467502857ed743496ed40219ce4d03e2fb62178853241ddb7bfacf06ef082d61054a813708f5184a0543242275f4dc03bedaa67026b29da357a6429477b7c8896cc2c46b9dc04600a1ba32819a8ddb5903a5052fee76951d35d0672ec7e9f352a68637a244f191c2ce98884473ddb1428b03bccf4f847852fe1f5c0e6748fcb40f4d20378d2f4210755e5d76a0070c83c18603fa5c2a89cec722d147ca194de91fee2de3210659e8d9b02a15c27482dfec7c3903076bf03b7a3e02564fe9ef648181a1aa6207c368dd0ecdfe6b9f66940d0e144d0379a1cb16ecc6edb0633d26fd018a923b74ae8e1098e9e71376a5cf85181ece5103e958f9b65026cec4ba6121d908d2f7973f17e287e808261019a31861719a8afd03d22e39a49bb9e01cf0dc3c3ec38c028978671a48b0d72fda47675d728da169a8039a735780ca4dc53837c131fec7c18fb75af23725158cdf852c13c8fb0a74f0d40219ffff03c4fb03a3de8852353b75f982198fb021523a09fcf68f7184bf1fcb08adcbbc0203d412be1c311e8f7fe1f1341d968350008852b15cf0209d973150af7c2dd65a5503f48904fcfccb6c2c577022fb16fad1d184ad8191e952e159994611173576a06403e0d5b4b58541674c857e31f0d1c3204375ee8ecfbc7803ddff07dd26b65a0188030a2f29cba53423c350083c1b30011a3e5ea72bdfaedcb730036559c101e79c9303b4870197e3a99ac3b5ee6bd6e5fb47b6bad75e8cacb12c2d0aeba3a19a16340b0219ffff03aefd1eeb3f17c063047643490426ab9f29ec3e9d987ec62c6b8e66cd0a079615036b6e166d87f8db54aa4e6ec45ad55a71b8d5997a0153b17e39c897419bd2e430033d197210c2f829159f9c45ebe36b65fbde8a2dc5d35ea4769e114bfbd6c7052e03f466a4f32366347c2632bce4a89e0624613691828244cc7c0c217070e06b0dc203ad665b2131e5bd8be1d8e952aca8232ef12f57f5d88d7602353ceba5bfb63d3d030e5199bed1c3da3fd6d7877b65ceeeb6ca5262e4ac9585fa13a84d0c348a4a990219ffff03bad5bd0d27adcf675210eab35a15ab2eecfe51a394fdea67d15c30e118d197d103aa99affb1b913ca6a261299e06b2effdaf722bff6fa11ea14344e74e3bf2f5920333592e398393a11df314693a954707f11c30e6074b70a441606320d9f4e26d040372fa844e60d744b5a351887ff662536a910cc32c599df0dcaa4ed818fc9672860353d8898a911afca6e791fc01deb66f040dca8dbe197a87d9626dad4b1ad4bea9038ab417b9c6d553fb0953c1cfcf9f9a114f8f23c24ae38f34f9cbcf331698f64c03aba0369a2a436a441de7ab086581c5434f8740a03ad87081d51920c4d49f906503e12822ccce9fba4abefa573e412a4507104f126025b63f6a13298d96d8bc7e6a0363d184e1d63634bad7163274d5c6bb2ad0a318a97c55d5f7d680cc65cd6d6f6103b022d5c5600bf136f5ecbfd41482cfe62a6f41aef1d0956cadc19f714c016f00032056c582f89b6e88a42bf8f26d056b42fbf40b5161dda2fb839d7148c6ef7f4803eab7416a95b9eecf4dfbf0c8b4e1f61dd14a915da2c7499ddc3006928bfa26480339aa73289c50b7b34492b7995f3f54f649378c3f90a3ca4616be80ecdfdebae103bd044aac0b21350e28399df72031fa5427c2be571807c33d25a8bc5ba5460fef03fadaf9676dcfdc2dbc7de229b53b12ef53fb094a097989cf05ff24f7e73384c30396808a67cae218d3649517eb3412888c11a031d0a794782fb0e9a27d2ec5c107032c0ac499813fdf80e41a33470e03a312ab97b9c5db586862c27e14c451a5e31403596687954c40a8dde78d0d92a8b804895ae3e48837b3c377a4abcd5c992a1e1503514b480c4540829dedb1d1d59fbe36e2dbbef909dc5cfb7aeaa71adc16870e4a00581e0294694af6a8658b8f0c7bf790ad9db254a3dbb1b61066dea7a8a2fc4e5144048acbc803ed53edb55c209d75a0d35b8737d00b21d1bb65331d03cc947120e035d084122a00581e02f68d71bc07c923a0868f789fbe5f9cab0165589bcd4694d465a08179c25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02da82dc0ae2da433b70dafff6eb1dcc8b72c253a02883ed46bfcebfa6845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0250eb2fc76abe00d3018ff413a00c2476b701e2f5dc5a4c818cb008435e4401b7740000581e0276731c98925a25c0f0e5239a800b080461f048256712d752ea6f14a1504398968000581e02c695d423dd0d2cc594e7e3c16c609c01a23ecec998a0fe02a3ddcdf3cd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0220b9dff47a767639465c3cc9033ac765fa5feec8961499ddce8177b9c3443e53769600581e0204cc03614bf54b2a5b53861f7741cafad77cc6ded1ef2faef821b2cb8a581affecee2142a7dea9314b809a0c42d3e9560b1408a9e7d0ea518e033bbc76d278cccebe6012616da440b7faaa807b68c9a94f76707f96d995aa99cf00581e03e5222523bbe2a780202299801e5b89d20fb57b74d40983121c9cd0c4c043e619f000581e031dfe2f67a6b4c01a55201ad2dd0de1782d5c4e532882c1b7852d66bee0440bcd3d8000581e03fcb27a7a5aedea3345cd31cb32ea3759d64ded9a0ec8a8a2e817aa7390410500581e03cc733513ab7b45c13e3d46a3f199fcbe314b60bf32f74dbb4319339140581affecee2142a7dea9314b809a0c42d3e9560b1408a9f3b79347dd021980a2021979bb032067bf16619f101bbf26c5421bd7a41dcdf6b4d3e5bae5209ee40d73b5d4b11103147b1df80a5e2587c3e8bb662e15b323b00383b26bbb6da77e410c1fa200164a03c7bd0bbce16d9a8611fa9140de0c9a9b050f2a552613c1350a268e5f06f4f2a5037d1a816d867f804c06edd886ffbc906e7e8b7d26861aa33f1f3a56f392be141c03c2115b48e3d7bca6c4e7ded4e99ba27700b8ecf273445692756f2cf72bc6327b03fb133a0adfccc4b7dd4cf69caa24f3f0008a0b4c876a6ec5b7984a6c7b7e2d5503ad85271578560a5a2d15b32a21aa055d24cc02dc049d5fe0fb5a4faeed10c77103382e6bcde401becd3ab8101bc888bffb063f27c24908a1910750ae541c99c88303b0dadd1fc706fc78351ae360b6cf4eef604014e45ec66025b630dcec95621dc2035aa155acb858671cf964dca2ce9d8b97ed1bab689be7ed1f128bbeb495da67c003b83b79c560b8a0d6b654e145b26fcf93c1df873f652e0ee509a4462c3a39218f0219ffff03a4b52d9507716a91871eaae92dd12d0936398fd899577167e79baa7b04c34de803d0bfdd83d0d1fadf2589e21dd2f80080ff845e377ccc990ca28bec20076a1abb03a10c49ecfb973619dd963f11438f062bb82d349ae7e727b32a2d8d441e854697035bd4ef2a34436a1947fc0333fb3e6c414c6ec9676bec7c64b30d69bf36ce4c960344144525816d49dff3943b8860d63f51ccadd2f51b1d48ec93b28049ca0cb2b703ef9d8370fc8270a26eea593d89e8ddec737407cd6332790c32c19929a70fc3cc030515871efd6a4b24309761f9263891e864481dbb2a16a4d69778eeec30d768490219ffff03e005ce64aa0d2e3bc787c94a60fc6437656ba717c02e19a8628cf737528cc9b5033a3b2bbf4fc2d3a55d5c77e49c02a706c6950b766193cb7cf116dcba8171c5270380b56e1fb04f140d136de3288ecd597715c7f29c2641bddc4b70df20ac873ed703184162472a70b088369ce8ebdcc6cae2b0ef7fada0f81cde46f280c3e1a0764b03d36b345fbec837a500a5fdbfdfc8b4590e96791cff331e01d2183631d3dcae9b03bfaa352c9bab21993692cdc321d45f543256c2bd75e9422d003d66c5b15ffb1a032e27e16780499ea081917f7589f347abd7eba14e589b4f5b4c399f6b5632e2670313c58eb250c472a01307143e9fffcfc2e4ab9c716b31f824a5e1cbcf5d35941a03b9caf89a4b4f112ba7a5202c9f459562c08be88e985e2e24ced108d14c3b7235031f96886481c33cf0803a3b7aa18d727ce885d039118fafce2369cacfa70aff9f03ecb56f500a529e8ed6996e85c12589fdf2e6bc407bc00bd927901c58777d3dac030e852f620e1c38ff9868e082fe5d0ac1b549aee756ee29b9047efd5a34461b3e03f28401dec9f0e32c728a1ce507adb282b01f969cda19136a2ccd72ab528621c70219ffff0334d6b4406bec7108d02d004e58fec9da0e7d9f95159dca166bba2734d9516ead0219ffff03a06c0ee5826482e6faad7d5b9212f61fc9929c7f3c2b288282d011c6ad6a4da803a5c3bc395f33ec4d24777d2744d1a60f185a3b3b79f8439534e7be536cc8a8fa03c1968b3591ee85f3fcb99c881321dac255c0e15faa80f5ee9043e01eb3e2721603e3015fbb66f1ec1d61f3afe3c82c7555a2bff9558bde47f1ed0da5e110b653ab03b50fa961ecec0447f18b3146ba7b3c94728612ef0b20fbf0943eda6909d0b81303d4b4e17811753fb4ad9bd69948ce5a3c3b79eced8d7f1ef85633adc5d144e71303a8f7e1d2d96c2b147e054c2c688bb4b7f091d429f4ee7db4171574f36e6cabce03cce7f30cc94ca0e2f139adb12e980aec687f52c200152a01bfcbcfc0332ffd6c03e285bb9d81b6e2dea5140dc337cb1644ca977759ae50b92cef08f7bdcc2f1605038dab823c1baca0b8f2631f31b9417ed6c802f2d6a987217378abb7e167f5778703e1a887f4ec35c3419b1fe07b40b143b801d15c786ab179b4e74679c62e11c01b0362881a88676285da0f22582b9cc29c2fea6e23ef7f4adf733ae9c9c9b3594e3f03c9d3586d81ddb861af7826e696aa21baf2a5c5227e1f5064b9a05c4074d886590322e22cacc6b595692aea4a3d7251f3df9ec46f222f462a1d66ff6e0a13ba8e3203409ac745c81002e3c4785bcc3672cf7a57f0f915d64f4fd53e9a3ea600651525034ff636ab964b4929253d0791e4842631226fc4bf1a8cad6fb39aa9edbf63caa5031ff9f5c6761a24537338af8efcf98c1f6258355fdca718359e7cdaa9be2bf38903a022228b193e1c8667de6cb893b5840a267bc29838b0333985a26ab351043bd903ebefbe3b498d588a8aec62231bb13759cac637e91c20912fe3b14d503e8bdaac037f1b95e679a3d93dc05c01291bc3a04696c227c71aed56a84e6570126fa62dd403f749f2e674321a1f6be084bceea90715cd6fb16beb017c6c15cc7dbf83165c9603bf288a0fa4dfc11303cbd30fd9ea9c472dc5454b977fec061eba37cc5f6011a203c3af0ced655f9c586ba399db17f9241496f5f14f969d2a78dddee4669269d27403fc9d9db9d5951e9d53472b9f40ab716f05d8a10568fcb491ff5169809880270e037402e91012e0c7734ec9481db81cec36ff20ade20ce384c01ee2bbb0f6918e6c033158a71c31eedcedb5a31492b4e810893dced720d3a7086efae4db6f14eadb0f03c10929dadbec20142a8b850a90f4838f4e7cf8bc4124f5b1b31e2f94221d217d0368ee0b4eff9483c19cf8ef595ba77e0e7afcf2064773eb16a09fb0884b7be6bd03e574806f1d43f51bff022ca75b0dfcb673d526e9222d4fcb6c08d80148bc65f403ee48f8758644a52155d86fe3ff4a9dff0a857b9617662cce07ca6e039131487d036033ec23074569266645a4749eeb1c9d90a11a20faa724032da31109cbfaa7c5035aa0ec1f705f97fb52a5187519da4d264a26fa537342903665a5acd3a5c15af003970da3cda08c2242767b3b0822aa5ecfd340618146264fb57141cff213d92db00308c08a78aa89dbaa47d8ee2cd51dea8d3ab99d0511de03a93d8a47eea2ebeb0a03b2ece796da582bc689cb5292ca16563fb1eee45cad1447aac09a4d32772ea71600581e02933db8b3a9f9c2146c05dd234ecc30b7169141c52ce0ca1a9e83d24e4e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e40a0ce137a5c64cc393fada0dac4f1aaae42c817623b1283c134c2448410100581e03291a4bc4cb57092ce74696d7b95f3a0da219ba0d1bb456e58e4db29ee043b1460800581e03339b82ae452e3f706de3509e11e1f9e1c552040df3f65e63dbc3b03be04441668a6302190c000350b74cde4b85026d2d2df27815b2a3949a0afe11be449542d86b74ae41894a8600581e02e4f73ecd02c18c5cc7d0d21ba8946b54535f27224168d27593ba76470e4403016b900219ea0103690abdeb8bf88bdfeade24530bb3de8d6f84622663d6b41f43801ab481bfbd720219ffff03dd7111693ada5f7b3df3b75492eb3286a9eec3fe65e57e5feadf330e84036a0903241e50ea9add13f028cb5b3671cc052fe7d477e7262dafb30c2fd87313c54d5803ff45f63a283db71808c763a2a03fe9e322318e641ecdd64d7a9629fed7353daa03b77ba6e4bc7738517c6c45713d25b792e6503c041f90467d9d12cf4ee103d98603c0f373bd940c771cb45c071bc889afbfd649580b5a9ebb07e20defbbc734d92103cf59ad7d36ff1426df38b434edacbbc3552c5e771307f359e33f622d6778db1103f4541582be971e77b29d21b6718a389cadd8648c62584f8cf7e2251197a63c44031fd865c3a65a23e0580571e032bc3fe07205eb9df711caea72e0a3eaa1debe310219ffff032ae1571b727580e243c7aaf7f69dbaf4c10a38c7d36b9a2066dff76dc538a421034a97c755fb308599a3f509078bb539a9e2beb5747f66badcffca4be325c1e5210304bf413ce773b5b9426c8f92bcb519ca0102896f5013234c0000459faf6c8e5a03cb44b39980acc0547e8ccd39effc0e7dc596cd4ff6c7de426c93f4819caa83b1034f2457bc613166cbaf0c6a4bc30c6c54fa36f9c694082db2b3457f094fd216c60385550ae1c9dc0a586853a69f109de897f8cbc5964b887686770f1a33939f89150399afd3509dcaab367f43d802d545df6c052a0ed33a393238bfff1fd1bab64d650360c0855ef6ab9278c1324fa9a67594e5a7339c072ee67f76a3715a61c39eb86b03ecb08016a060696d260e1b139d77590704aa9311e4856e396c1a5a8bab5d7efa03635c75f1ef6009dc8c7d3f206b915467686b43967e24c1b87fccb38785462100036d71c40579878bd7dbfc95073a1a4e3dd5cc43f68db2ac3bb09a7aa20851a423037be1cedbb587b34d4073f84af6cd5e0e2d4db741ff9c7c6f3a02e1e15fca975803dfdc60de730ac1ea1b503feac10be9a8fbe407ace1f80d75fe0065bb6c4d047a0345c8d86020be54caa72e65b56aa507ced0644864191489f89159a55e846d1d44036420eb0c7831c5179983e9936cf10f4e6ba97b54828f898bad2ded4b5f50bbc803a34fce4d0be7a6808f109b3d88b53d01e51ee9a4a702464cf9e2cb89cbd70dfd03b49a0c236ba421663a5f67419475fc76e5403721386ce278cbf34f266a5245e4037855789124d7b4425d9ccf9d217ff19494f4f0a5d7b4b17e3b729e7709caae8603e1e6d539868a13d507c941e603f6d16e8778b9ff2a85e7772578580f1cfc79e200581e030477779c63917e35385a96575f9750c234ed79adad63fefa5b3c15d9604401c9c38000581e03d2fa9e508f337560e355ba29935b70bfece06612b38ac17db3a19f2630450e2841a2b902191004031a6768bd19737004d743fc24ea20edef5a1b2ee46a06db361a9b83897f588e2500581e02e7cb309004fdaccea2e37818d14c06c15de28a7bca6d9b417a2e6316664401748e8900581e021db27848c07ea53d6f3b8fdc57f7493ea58f9adced05dc1dec531c3c78430e03d0034d200113c4d6350fca1271247258e6769ad323d7d3cdf1b274d79ebfee8c639200581e027ee542d766a19f8a06c278a516d31030c3972e54669f8879abe67556b8430f424000581e02b5232042c3a1876c31733cc45aa2a72ae8bdf6bf2370dd2eebfc868bd25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b6373da968a0c1c649dd839e7450cba8c7ace78ed1b57252893b2d7d3c441fc404e000581e02812a3eb60f5f9f2f6544757beb2d9a6f58c825c10cdef567fb36f4f71e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029c4d3df4443b44a4eea7ece9a62df79292408914fbd962e56e1662b315412200581e020e2d80213a657ce8d4ac315f4fb4077f00641fb432a9998f353baf01d75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ae7703666f7b9aaa471ea244e0018ee23cc21eca467e820ce0bb0826aeef4bf04b47f6034caa69506c486ef88d833ee35e6ed5185db5ff83ba5f10b999f3875a2e84d5f80331796632d1bfb098ccef3a18f5d65bd31a9d5c475303b9f8f9dada1bb85c19d1034b4dbae661ffd2ee4300e0553ef6a6d8f1d86b6a18cb381bb7d16314e6c9548203e90825fe7faf4f155f463e73822b0042c434d48ad70397533f2df8bac5dcda6c03c27c75e23b088091282ad959dd2a6f641084d16de0ec2727d5f9ae6820f179c70389d4a1d80cd7962c2f2beb6eeb7a5deef506a60b1fe08f2ba9e981218592ea6e03a3264d2104cedcd57fa79da739861fb2227690876c220129e7704add25ce21aa03b81ef64a03d99d85ceca356bb358f3749dc3deecbb54e35db82f83dac58c27370371cf4a57ac22c08ba973574603161e8b781ebef17f35aef8c9e3329d8c96b01c039ee7c886cef9a737bd65455974242bb2232eb3854570570578311084fd08adcc03cabb5b03f29bf9903d4f7b014821171d81a76040081268cb6b740032eb5336a80219ffff0219ffff0219ffff035ede262dcfb60f068635766ba46cecbcedb2df942ad3087237f4c4eaa7b1f2dd03dfcdd3df7f248873a1c25c34a73bda300df1931ef82f35b5efe792b42f4e2822034e7f4c7c3828dd10201e6e1e441ba10ccbe9cdb465b5885087db67b10aab72ae03b7662698f55a5bb2b388b0b1588106a9b2ee430648cc1de1bd92c1427dbb1d6e03bb4fe0ad1167e78dd087b441cee00b2a744f08214be509db66f1312a0bf63942039d6f264631e6d64b9e63cf881102c54e90077fac60bf883bd7cb340912558cc70336b0cb02316ba8d997ff76aa1eaa0db61f74159365179e55c3d83ac93526702a03ab12fcdbd752fa676b40fbcc6c2b2a59ae81ea1b47e55aeb7c2d01470dbb98eb0376ad4ccb8c1c4dc810b8fb03e4d485cd135239a61bf854184a7ee177850b76dd0340aa16e5132799d268db21dc9f9f5019aa49cec6577bacdc51334a92c528cc3403a7855f8f2570755073b1b6807b719ed1e685fc58f024c560ee00f2ae89e913350328889aabbfe62203279d4c6182abc5abe5de6b08c65deb28d4f593c840983fb10306b59d5760ffc72512baed24e7394516a61d4ba329d76ccda901240954c7059303083d1ee19617ff03aacdbe0986ab8d3092b7ca95e39e6fdbc19b8d5c18bca32a031c0bb8ff4cc6c41db8148e2e6196b93992e4cc70e02605b407e5a1ebb6bf4827031647a452a530eb13186e87d9db7b5d66ce97754887459c3231159b16a758b33e037fdafe5b70d91149f9e6ab6be7036b9ab93611d721bddf8701378481bf5178cc037cbc79d95021b6bf4cb65816a86f236d15d8a77099f2791a70d8c06bd274fbd900581e023ff0381478b5f690ff8bd4b329b56c01b69b83efb9d9fee9238ec3588d4b4a817c7ffffffd6aa07a0000581e0251acb55355675577d22118be87a8f921610866e11e3004c5d03751836744073712fd00581e02e12371e58c1a593359275d2d51ea7b9940c1051801fc041fa08c2fc5404398968000581e02a9cfe56304aca2ecdda55f3c90c4065be155f705088110ac4b2614b8805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0254b632f778a226214521af90162b7d410aa0fb190164f39d71622d63a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c8df6c6f33a37eab13a3d3077139c8f9cbc936d456e0bda328a03d5ee25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219be00035078850bf27c76dd988d6599b97178fb2c4c6863b859acd4cc176a19a39ab79b030cb63fcf533299f6d883b851f7e5146395337b8da3d651ae21b41151a0f1615e0358adaf6670d26399638ca46ac5fd671b81915d2d578db745525a52e99b5b9b2803d129a5dcab1812db7637b4eb932cb5d5b8e26f3a7ef8fe2724e76482edf4818703a4a480a4a341af1ede39eacf816315067d918dbb98414b20b7decab20c9d5b4b037f9d2e0dd50a5536d40b710f4317535a3a7565fb4d9b4b5b5b605f139dbc298103c038c6f13d9b4254875531ff6602ee908a9e798759e06e1c852bcd2fb9e0991c0311390c3bca0904dc739babc331a24b22fcc451c585e005351effedafcd2b33de030b05d783edfb3e222cd24afdf4a606badb005f263b46a0c52032c240a62a3a82030cc63cae7bf1cb8ec0278e1d72a6ee06dacb7562d6afd0dc73617caee09286ee0219ffff03704e4923e71049dabb4300094698dd9b588f81482c42189c43ddd569e52178410321dfa152b41af781ab242bb7f289bd3e8e1205041185728927570650c3b49ac80391df497e8159b0699f001c729b8dfdce8f12eaf6f6f7057d3c6e2ac5b89646dc0385881d272bb7d640d4e276e63efd9435d4c45aaf11434a85afa601b7fa920aeb0333d25d7e6a42c28653b05042231ed8958e2f78ae0cce4e3071f95cebd1586155033224040202b6ba970e33407952c81e21e44614de0a62487d912caf0fb5a7ecb703419ae6c61d185932ec8a305999e3dcbccf2236b043bbea3ee55e326e6ea9487403398d1822e54ac0ff66eb18bb0f78ad949f5019d7e28a14cf625b2b148a09ebc20219ffff03b78543dcad752ffe7881703f585a7ee7b305d7c86bb2a66fff71eca8f9f7eca3037684c83e1eaf9bab2cde62a83bb33e7634090fff6b63a5362e290412c651bf2c03da82651a12228af1d69e324d24f2e5f95374e64ad165842225bba5bb9f0bd0e903fd2cc2b55599c5aa7c2508e97e2be64a71edc28e3cecce7873fa01ee39da5268039842bfc8a2b93d7fe5f731fbc7d2af7c31e1e1886ae73263c6b706fc2377ade60359afae276a1e072eb22afe2048a6ecb981ced1df7f15aaf25c37c5148e304f710394611c3062cf0bf01972a9af80696938a54a1df9a7b3ab32b138478699f16ece039fa8e0f49cf5b698d9bcb8c9dad79240315442fae04a74f0fff69c1ec4a4a01203b647c890d001ecb47f6f81b870dfea6eddb30b606b814fd10016302c8c559c37032a78137562ed8615c33847800c2c052120e039773078a04c86b8e2f252afcf510219ffff03a1ec39ac7284788b75af4e4153c5bdca96705e6176497fa0a94eef5b1a349ab703147eae50706722dd6f1b199dc0d04bddcf5df40993c6bfce5739d9dc8dc62b6203a121f6d3a5adb36c7ae295d551c3faaf96659e95cfc3f02e163a72a4a3b0b27503854745f7a0e34592d2e8595024144a04e30fe3977cdb5461906dc494f6dded1c03f6cd683d732c62325f4c9a9e2d7b1f2737caed4076909fe3e4a2c822273379fd03b77cdca3ea931ea7210b1d0a98f4f5d6ece57fedd72ecf5a3757283608cb70f603f313205f8dc85d6f346c1b80e15e6c8be1c4f8a5efc398696c56c728b0981b6e0339280547e886c2075d9c566138c5aa8929602497d6e1ae01e3dc04e56619ac2a03f2a93df8926a4fabd817f408066a8190084ba167bedca5f7ef46d24108b326570326f2502d9dec5016425cd5f53f4f93133a67617ccadc27a3206d6fafa8136ce6038e3966b4cc191dafc09c024b2969e87ac07be335c1656d302a2d783396abb7310311ff4f07eb0594a40dcbebfb036deec6362ac8d265192c598560e3efdbad180f038eba16106abc054a409165b54ab0a2fab33347aba62e164bb837a97e0c0d09a603de6ad477526ecc4c72e567f20f344710421a2a195ac464eb6befa41240502f4303a8521bfc5615075398fcbe93ab095d6931f6e68ae8c09fa725510f78a49a3f3103a4b407f62d3e9ee5cd7f3a4b3f6986b4eff1dfdf769e820372aa24442004131c0375e601e8c03ca07978ce6a53074b60876d3a9523ccf8874a588ae7024212619e03b2e260844da83f512a777afa6ee72a7c314a40978e62af4aa6ac2aead87be0a703514cd43b4fbf6bff9ee8887cce794b1b4ab5116e1f2fb6e3d8b2405278436dae03c100776891bcef9cb62b68391de56bbe068ba6e09a8979f8fa08caab983b450d03f7481edf806727cc8aa290f0d092802cd3c327648ba989d8e4cfc8f82b0929ea038a9b5fd4ef8ee6519b083f4f9835494dce4526994637ed4c4d142587aeb0be5c00581e02b08575008e4933efcd689ab8a5ff7619703c77e5c47a9d9a6660722d8f4303df2200581e0230d6d59a152cf79d6a1d81f2ed01d2d98cc92979d2b67d304dd46571a85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03266876557c2305ea08373f703d20f85438bef12e582d806685297bafaf06364c00581e02788fa29ca15e506ee102b252a45b7b650afac9fe553b2205c1fbfa3b044401c9c3800344a40f0f7fd9df8ea85ccc40a1477565a739c82c4b2a764f10a822e97047543a00581e02ffd536a4e76775adea604a01f61e9c63fa966885ccd7af296fca3904465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025c612794ac0e04dcb9272b33d469773397862c31bd0194e5c76da11cd6440708898000581e03a83282b06465238c8e88eed30ffb56fd670c515914478a64cad7a84cd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e033e2b1d2c9158c1f3462112d60790f17dfdd954269e8686bee940f458804501cc5ccba20219804002197c0e0307727525033edb0b33b0fd367735142b9f738fc3287d5951cb861cf9b0e17c7d03ef0de0f3b6d238aa2645483920c1bd822126b86c7961d42d1d9120b08f3d7a1a03a6e84e72662ff51cba4125567e7b71fa2799d19a911aa0029b6bcad51e6a9eee031c39f49a98a32c9d0176198827c9bc2f838dba7bbf769588eaed9e3c4f86b75c032f27be73a3a444c0a46467de84cda9e01f4be9f4f66ae3199492ff16dc10ef6d03eb77228015e252418985185a976249963266d81b4cc07b0c46a0c6915527b176033388ca2de93e4748811d0ddc0e5e2327ed337dc442f11297b4fdc9fc8a96c7eb03adb82c116987dcee0ed11e001664576ddef5345f66ff084a7cc4cc1f054a881903489d922f284adcafca5d4989ad684b2ca9f35f4b7dde89c587d34ebd4e8a176b035c3177dc4439c46431a9f3da272f52c6e285f7d0e89a5ec0e37ae37f86b01e7603dc6021b528a9eee5c533710f2ce9e268d641fd1c3538e7edfd4ce50e2a90e20e032f5c1adfe0dcdb2bd9cee9a3f8d6412eff5bad788f8dcce0073aad16b3dd499c0219ffff037114d62aeb68365270e16da1a6653302a7aacbda933abc581fbbd1e1dbf0341003c26ce7c662a234430e6daf6278fe8a811ce04dbeebc6219de1db47abf60c538a036b6dbfb899c0d778b6d33948419293ed6696374f3e7d7c3b45f116dbaf2e25b40385c0e075d8222bffd4883f67d0164d1a0b11d105a90d1ba2984a399b60091ef3037193a97b8ec41a73002d9d7f3fc52668559bf51ccbfab7ea6c59bf64668cbd2a0219ffff034f147ec7a94f241d0dc1bfea2d032b9db54d354101f6df98db63105e5eb9ab59039a97387cbb1c5a73890f587420ae0fb917abd860457cbb0e52f3b2545d24c1ce03101f608497f78c1d43cd7a5bea51509b444ef545fb6de297b081bd75620266e80316d2146278c56d6f0ebbe22053602f9db1b8bf416b908a82473f52fe6dd7877203ed8ba4482d9b6ebfcf7fb12ffb112e3c66482e554e70bef1a8003018a32ef60403f32cff37545b2d012b3c0083066da5256b75b16f8dbbbc5a147a9134c571fe6c0219ffff03bbd70d7e1737a461d3f785169cb85a5e9478448288bdc8ee5f2548c3e194b1d003835fa193d2ca2cd89b1234f95a8128696326abedffbf4f6a28ddc44ad0f8c36703ef4e346a0ab4c2857b2d892646c3c93f64ac9152292d66627253151c006e293e03e3eefeb7363a12d619fd37f5d7be8fc9a79cc4b9615b4a70dfe860c31798479c03186cf6bb819f883d1b94334eed394702a54a620fbcc643089b7a85de1e0ca8e803a19a540b9aaadfe641ad1ca79be0f01ce06f3becab7860635ca0caf9ebb31d4c0385e4b8811f69251f170ba14fad3f4f0dd5af04ab9e82e50cf3829ff1a0ed2b2003256afffcd8ad6bd9f1ebff0b6a8a36639d5bc7a62eaa1437a5d9375164b270020318a271b2c586d0bf9e47915c598b74a9986ad639a927e4bace50c95f644257ba03eda004d59409a13452d3166efd38cc54a76f040fff7ec02164db5c79b8ff08b503e90d8e9f2a8e6480e0f288b150b3ccb072808eef30f9dd6daaef7cbb414dcca403b511055f6560f8218352598ba668dd57b364108f388c36f5d99161f26bb10c0f039150bd57fedc70c0f5c10d12d826640393944ce2c6c39b9bf34a8b87e9eb730b035c3db9c814339cc180874ed4ff79bb792e6c35f49c183905c1ed9e1819fc298803183ee0c07801e22b86fa77e0ac0992dddbbf4937d8e387bdd552aec809d7bf4b038a8b4dd85ba68387caa1a929ca83b34b1dd1fa38d6940e52ff11a515acf8aac303c9d6a62ec0e32a263901445aed8d3220ff10feaee451332d03f7df9fe255dcbb036784563713b2af7b9dd3bffe14c9248c9b892e91f4849b0c866a1ffc3ce7a3b103ad41c5691be909f125fb0638966eaff7efed606885f9f334d7454dd27a6d4ff1036a75e44a55a5e545229309f41f300417a98ac5f3896dcbd2a967748b94341f03034c10fbfda46f12d4ff563a6d1b77d186f184265b67420d0756ddba087fa9a61d03f9bb8838f24f2101251631f32f2939704198b36d8cb4dfac2db76c0f74c271e403583d7b91d2208f95b69f523b5cd1b6fa35de18395b836e01d6184ebe6a998f4d03713ff5ee09dcda3db157a19f37d61b578c012967cfb177464dae382842014ffa00581e0299abc6d928b171273304cb80e1a1f154280ef885ab075d00aadec26f454398968000581e026a8b39d15feaa36581f1c3288b0b0fd02b11105dcdb49229092f7be936440510ff4200581e0321500ba924979390167eeaf09d6125b1c4d8c7cb6d5b7c7d546846b9b045e8d4a5100000581e039f855b4d918ad036ea4fb4993126863938c1be7f48a3951698c0c537305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219044000581e02bc75fb3a138873c2c25d00a7084e15c1d9af521442febfed0eb58f11815820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219e6040398b64df677e062825a7c359df1cc2fe3b401271db95c41ada474fc133d28f37d0219ffff030e568ca0ba023bba4efe71fc7cc1b7ad4e72b6e93dec686ef2e031da05141185032685ffc90ed03f7fbf48f38192bbfe1a05582f7835128f8662fb61a75fa1bde6037f71d34b83832f52491465ea3692132b6a572d9d2975572d13345a1a36dd383b03c5e91df04a15db46cbba2b8ab07aa48bb14fccc73321ce198194304ea363a7f003af8f9b4e05783f256f68e3be63a866a198091e11e12d71eef86440aab788045c03e7cabce634c42e832e143406b163702351aa397f905db8e898699d9dc31dcf31037d761df6db299a9514b89b76d928aeee1c521a491351418c5db56f1b99ee0cb30309af1b0e756c4aafe133a46b6e3d88c6c3505825bf6ea3fb12fa09597c60d45b032c471043904e0a3e1148f4b6441642a3ddd33778030384791f1595c547c75c2f03fde2a6ec50b7b1fd41d10b9f775d6d307d0abb9ba6dd0b986c60d9914ac0f96d0219ffff031be2c77f431e99ac3725e99dccac8d8de8f3f021bb128878853ed0315511c6a203c1c4093dd95a654d815f021765fb9dc7ff31601919225f6ea02d1ce79c0fb87a03365a00670d9e4f82bbd8e890a3a4a4dd7f3e1f3161add90eef751637cf84ed56039e51d92ecfeb19b72ba16e4fddad5830e98b15341fdac12d03eb71f39dbb8847032290390da0295827688af3d8b2d9fcd8eaa7334a5f22f27905ba3e85dd8a76de03325e2899d2c9d9dd10ff809ca728f5bbe641b54f2a6fecc63994ccfb0ccf324b03b6e26fc2b674e2ba3d454f27d5c4015673d1f8bac92a626502d20671bedc4e2803e3d2e2cbb9f36364f139c45e9bece376a4f033774f9f5b0aa7f21af5a681bd7b036b7b6f32c9a1c314ba29d3c7371ad4957a737aea285aa7319374372d02a5b37e03d3dfb1a2a1e341079201ba9be57ee9ef3f315b1d4403422ea4a11c879150ca5303ddd1bb312731454e7ab6f39684fd64baa37dda8a1e65f59ca8cfd41538ec192603d56b7ab55f5b2180f6b8298b239dbb1a2fa897a696e713d3b6e201dfc7002bd80365c220e40e2163e8c55ddd86e114f7969cc2120f6a8be7747ee99f960db3f1bb039b6f413723da36aeb58a3adebcdab36239722eb05dd95b53635428b3525db581034810c4775f6084b51ba4bafae6536acf7bb5ad52d897ec32c445b2943123175e0350180c17c21d39f056b9c7828e61a84e3eec6a62c411464043de9d115877deb9035f25cc5bb9643378c47a5b01813a00461a4e308bb6810d1560350110761b897603acb530778d28c554a76a82ed4afa2aa99f04cad0c2347e4c55cdf2e287a06f7b03ad6fa3d9d91f68121296f342313fb04844d8b9f1e9fa1d125dc29a8e81d02d5603884fd506a8540793d07c5fc4eb143da6387ca58524dcd11103acfbf030a037ae00581e02338105914103f4c8f5c4bec5eb6369e351de9b38dd6cb26fbc50b5c6244306410500581e025c235f42f8e0c6b024de3486b1a093a7e24d2fd28381f1690c7dcc20c25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032f6255430890d5c26b7fae36e97d5604ca4275f8286068f86dd36f73da8c2bb100581e027f50d4997298f69af8de6953fdca7675a6dc64396de339b58fcd7f4bf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038d66e7ecb126f5a94a76224c8bf8c95e923b9b04447ea6bac6231eaaf016247700581e0259aa0ea1dcc914745001ebb4f7342c9a58226002ad80e74950be63abf84402dc9310031dc8b12dca2bf5991fb5c32228944884d05898d46fc1a8bca4afda2da07a31eb00581e0263df22a0e142a321099692a25f57671635492324bb2fdb852cbb7224524355970400581e02a6bbbe870b72af4316e14ac4f487d20b7ef714bdab786655685b89d36744055d4ac000581e02a785a770287a6bfe4b2b9b03e0c37998cbc386fcf83eb80526f7017b0745e7b094ff0002193e8f03d12c1d02016df13933af4a74b200512a58c9f4c853f8f8dc1d8137f665c96fc303a447ed0da224e1dc808b37c70b12005c5492c01a5592c0ff10137a6294e12eab03b805fdf7a64e54babd019ddab4311e4ceaf97866657ab1cad28916f5f795740703d89e3483058c3748b3bfa66aae527d707278b0a73229fd8d8cd73fed0790bd4403d551ce75f48a8242bb80f014d1e9dea6b3aca663d877972796f8f632a44b840703972a85f080061831f3c5d1672c3262b26a84c2ca9c28c6104a7c2073ce055f05035050a6b126d677215b719eb5576bb0f372a07138b03a30c96eaa5835cf4dc3a90310b2f3bd30fb2ff3f5a937fbffa474bcbaf73bf1e91b12bb3d44cda3c1a459d40219ffff03b964c647e531d29bd85f6d5fd2439a407cfd826d1596c1f225b112b946bfcb6f03ef862341437f987b816e90a5218e75201514af57fe6d1f23b4c389fb289eee2d03f6e8795db0b2bd95c78bb91aed958623be938b8934515f158fca0dacecccf6e303c647072022fd801c99164b41142c6ac442c247ba34514b7116e9865d8c31d93203e12c487863a1585799bff6992d3d879fe27cac8f68312adc45eda9b7c51d0cb30219ffff0345069a10ea2fafa35a4e38542cbf0673b2babd4edf33b78a013283958e01f2f8031e2336e6b80585cd69014a09d86e954467cac164ad53150dc4a16f28d445796b035b7a7a4fc8d5531e00b52259de8020d57a373edaf9842bacbb867ab12e4db8fc03be6085bb0b23bc1cb501f0c167d70fae9372196685566923fd76c3793c24279403189650358bcc117171dbecd2cb20ff73ff6599e8a818fbc911b4deded86cafd803d453240f49f0ab62b276233986d82bd9b0a9d3b3990d359d9a50501d76b42b5003e0178c6d9dea7148c4202a6fb7ada16fc0598694bec9cecfbe8f475a083436e403090c707b0908d234aed2c58894f3a673f9f6f39816b0b3b4b7283d500a50e5a303c1bedbd80e95614449085905d532f343db77c67e78a7bb9279ec8db59ab116b303c064ce02190618d148bcf52144320cfd5a495fe9265247f0f56e8fa0b4bfae2f0219ffff03df52027467b608512b2e2ad07e4c1784b2858d0444c40b638a9fa34a07cf755103c83cc9f92b714c94358da052ca8413ff88c5c0bf00d8aef6d10a3b999e7ba2b303e71135ded58c71a808322d661246c534689d4f6258c8d18103916f9617addb1a03393417ab9d08950fd6632f94789fad670d9fa148be942dfac7cba3963067792403ecfc9267a0c1e3f64e8f0bcdb63c42648c5be7826ba0d60788dfba756678a1ae0380e26209c46af2b69f09533a5558f32feb1cc8e97c82235adc9c08ca9080588b03536317446ce32586dd0c349b23a831a70d7add3f9edc0f4dd160c51f0cc52f3103f59d67162fabbd5abd6d562095ef9cb6b81e5bc0e797ae37fe02cc11f2346d0e03bc4dd9e32b0d555c31d70cee81a07f6effd84e537d27ddb2de359872fadd507f0343e9acc3f8a46863bbdb37acbb0c5f548780b4574cd0cfa292ab686052c74b4803adc76ca6e769f6cb73e4efc3df37e7d865c6292fd79660b36caa9254a5c12151034b902ad23e94a31b9327b5cb83278972ff0964579d1e3b8ecdcf99cf90c80e8703a3b366bbdeb48972205017a7c1f7989dc73af822e51c17ba2dd0f696feedc5d103e952b18af84e2081a5fd7107f56ef3f7903ce6442a91f575e812e9ae121cb777033e33fe15983a3162531b9fc703cd10370553fec16a222349c087a1abe666d9a6036e6a58af88541d2c837591705d194512f9950a3bdc19af9237d2c8a2484fa901035536517137fc1d8765b4e9185a01b4d5cf0ac2498517b6fa13948d2ff86da14803c32d14c496e36fe8ee062cf028077fc618d60171b6ee95b7e93dab0c6f50032603d46110db5327bfb0e38cfa37144e9bf0b53ab1c3c85d11fb4984707ca76cdf4803d24ca3f6ec9a934a34c0a2e57df70fae53be001462a90d5e8ecf36f5eae69bae03d87d73223db6eca8672d099b8f4bea44d514e4d346b7baec1d18881d04c04261038f098512e685819d235dcfd511247ce9f33efa0b58085d61e3401f323b809ca1036ca06706ff652a610062993b3f4f15a036b28b52a0a3cfb9df958c6231d066d203caf9760be412593a771835f051f58703fe8ae80d07fb9ed5f8d2b2af6cab0022030f265d2c55d7fb86c591b5b4876e6028e814e84164ab578e23527955a20fe3c40336cf4756536df295d88466a3c3da96cc5dd8ae72b1a4a064fac9312a63caa35d03ebeba37e402383749fe46bd0b431efe0e235ebb57f1d1e2822f445a5d8a2cc9903e3394c69f5109c163f718f7261b3fef268e0b4f0a626296d4cef09344a46429403e5a308dfebc1ec5516e42c20f9d8fe026a883256729789cb78f82ef36733185f03f5d209c7be42b3f9ff9049df180a34ee79cfe287995c25cb7b34cdc11e932e60037bd3c2ce33e1992e6fa466779489b5d8ccc1d9bdeccf7e51acad3590b19fdb6100581e02d7b01b3c7c5ca8d895088ee832fcc1a011ff62804866a59fc6befec1df410100581e02e0401d03e80273453901275a1cedf55673f1a76b96a52c2eed4ce2e0624d0c9f2c9cd03894372e7e446fc400581e02594bffe58dc249db1dfeb07f0f2d4ca6465e2e77090001b0dae9cecbaf4601c4e52ef5b7021929880219ffff03665c6be671d44be2250dba559ff33af94b2553fd73a162f459ccae3c57ab6e5c03b86ad08f98976a0998dc1ec029b8fe6c49a5f0dc641f464fe1abc67644573fd70359a314c7ad76d633d7a245234daedb0e7d5d3b6e0218fe010c357cdc0c693bf103d30c2ec16666b51ef100e416e4e439d4c24a5133d4d2e3117b5d4ccb3dc427f4036d72e4a7a447c3fd65b8fa310821d13f9e73b3ff121b90690d59fbb31c3038a803a766cee64b1f5182b6fbbf56de720eed69e8ef8339e1655e77637e452572bddb03af2d7dd2a85279786d596fc24a913417fdcf15378f632c1342d78fed98e7dce6035209a933c8ac8efc639a2ac869eef890c5be80daa033db68b1f26551e37d991e0317a79425593f932e549b3dd3983e810542b0db936dfbdbd9d75da2b5ee40b83203c9168048471c351baa94b1c8592478ad37fa1ebca900c32a7751399cf42c00c80219ffff03e453917691048fec1b55004ec9dfa7b5d2c8ea4f1b94484c8f22f10319c5fdce03768e6d6765fe77179bde0e01fbaf0235b63df8336b1595ae8a785e0f86f5c22303361de90b90efa142b68936e0e859771cd4441c07187dd521883017b80c6ab1f503e62e9616d35c0afd2d0c3363bcd8702f7be0d0e3810321a4ecda3d33307ef05d039d6474d54a305b047482fe10ac2d22d24c7800aeca2d456c9915d343d00b80ea03e1cc9ef63ee28d88a12b1c415e55ade036d0068a2d47930c1b636304e2cd7e7103eaf17835a1aef9c9879b4ab9a3af0ce310aa57e0b1ac2ab61bbfdd6f9a2f9b6003fd0d750d717a14193f38591b4a97866f332c12ad37c34c09174dfdf56fb723970219ffff03a2519f9969255d2bf77f2959d202e4ef5cdbf23a8493dbaf556be3333f23159803c91386a81062dc14f3a876019318754c2d288733b913e60f29b5667e97aaf3920395d0643157c145a3268d14c0644448274dc2261819f9bb396bbd7f385440de1b03dd87e69148916f283242f273cf7406a13b43da626173a639ec9c05ed38ba67730385e50e58f78e51e5520dec1a247fdae393844193b47bc0a7e53691d29377b0f003679971efc396ad81c8cd205aaa2edbc98b030e00b530f893a8189e9230fb63f003cfd3c948c6ab60f8ff230b80aa433b901d5ee10f7b4eeaac55e18fafbaa5d56803974923096826f8db9ef28a8901f06fb0d4dafc16d2ef5a75b31b0fa28f7860dd033b2c2b9dbe7bf5b905d484db592f7c029601ec248b437f42fa488c1d9da2354a03fc7b1677de7c9f33cb2343093904ceb09abb9458baff8f338db9cc63b0332550033a72643cf1abf67b3613169efdf5ea59a82a0dc4abe5112d2a213ec1576bf63903899fedca505781066bab32e663eddf18f519de03647eee5b3250a3fcc402a634030df6c67706cc7a474a63ef1a4856594128e32a635190c977ece47ac1d634b2ec03faf2261cfa4466b81e466eb5dfbc8d242b2ef7112602048170f9a5877b997a890312aa59b3ea0b2fb24ec2abe7a21b42a94453c7697df0e8dddb6047cd0411ad1d00581e02ccc4e8c5a87ebc52905f4b3e75adc404e15ccb717b05384e845cc4b5285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027f98d5654d94cc89f664ae5704d2e5c8975f067ba6fc7ab4db20033c30410103fa547872ff9294f2244335415aa5475f95f9c1ce7f5210e94b24b6d1bf35bc0600581e02b1d7d61326a7dce6fe7d33c4a898dcede79dd0f7a4a687792f73202e814401459f6000581e0273542c18d49561f93e31cf8bc05e2f85604b8af06e7c6187a5085d0847430cdc1402190ce2035242fe260f6295bf16ce7d6f9c667fdab33314e3806231a09265bfe311e0edb0031e712348a04c1c74b1b83e7f3751e1d707b2f46bd324fd5bb431e36385486a4e03eaf4620506b1594aa447c2adc4498126414f14b57abc513a6f2ee00b143fb5fc0332d71d5c0fb5e90209eb6d2dbc8f140eb43e9a5435572345cc768c5256ca37f7039d77d86ba0c6f28e07e6b5ab8a57dc1d5fa233e3ab1f16b5b891e2d029c1208d0381b714769b32975dacf20c0cf3989ab773a0a901e04fcdd281b2d50a81b5ddf803c82a1226109636a1731f121744568644c2b07ee8b8fbaeeb7bd7c8e9f59eb14b03a956ad852907933449eb18632b30bcc7f551052e7510c105a1ba2089fc3f29e40219ffff03cd01fd5d0b71ef7cf351141c25cb95dcde190bf88255502b562ef87c5ee9ecd703d7cd3d6c0c7ea4d9bfe1fc1246bf9b6bbf140e231efb87474ef8f1c2a2cee87c03bc717af601903f2d90c46ce9e79d6ac2aa8475f1fba6721dc257dea26ee4fd3803fd1fafcfd5995620cee6ce0d861eca846c2a74372262f8c21faa067d2c9f4ff5032a2673b7e1202854dae061e74976d0edb4e0fb3b9320d3d5520188730d1478d40380da990de6c54534f510f494e10993c25de27ef8679ce6003493d51f44cfa006031589e2a0f19e5355484315c7b31b81e0611a2b3fb272223339104c9d9ec8ec2603046ddada1c591e5925f79e9af75ff5f78c05778feb679f48a51ffa41e034870c03b5343812a390d4555ccb3e41197982918fd9bc96e0fef99313b7ecb32753bca803a12f2617f96bf52bfe64b7df8458ac7d82321bd23669cb8bb14ae0a41c7b7bee030592e76adcc85a7823d9cb4ec403fc66c18d703b08d3edc9370372eee832285c0219ffff030b0dd2cc389331357a5a018f2ff864e7276680a35226ee2739b83444301bc83603a1ac45d5af90e77dd8bdd7bbfd39a65f669f13637dd595d096ec16e63909bdec032d27a7442a2af82cc37074af16b5114525fe258101ec0f0b47674989df590e9103b6dd0df3c787ec8f38bef39386f8e036ddb75605a5b576a7a50157cfe499ed7503eab8813736a0b543c7e8c5703843523b303f2f368fd74bc9beb416a1a5f3a5a7037913d4f4655576d0757e1390af8da81e74139b238fbac41b3e7b6a95a56f30e103b824e3ee4fc455a000ca51bb90ba43ffbd389d43fcec99b46da98b6c52c8629a0373916d50c3bc00d568f138fa09cffc99f2d6159e0e05badd7c4c0758aaeb4c7203b3feb538eee2ce7e9b74581f0d2843c901607bed34b0b746e982df6fedfb173d038cf31c0118a0545b2c9bb2aafa6d2d0bb548f7524a653734b6db12e61bf215b30371a384e6e264316486035ef21f8e93b0fa9183613fdf8b6c982a65bb637e9db203a7ea7d1de1ce71f2445f821dee86c0b6425862bb7bba64effc539019e802902c038bfcae78bf3bbba2a7828d72f441009307ad50026c2db6b16f668e348a616fc403a787ceac2a2981dc6a693871b06b64f74804af3c57235003c9ddffc46818862c03fc0929c7646dada9070544cc9dd26b6ee3bb6d202274148115fcd75a62c1b5340219ffff03456ef69f6f0472795eae62ed65db21e741a505b1e882507f16e6ad691e6f352c037895937ec89d519cf790832895600552efab3bfeb11258e7f698b2e3df3f46c30219ffff037fa9a6d1e3e7de2701c200a4d5e107fefe0a6771fa10091abf0292ff020bab2803db44b53073bd7161421d6078d32e6078aefb87138d880431a6a56406f11267f003d89c51e59b21e820e06b2b22dfbcb8b38ebbd5b468244ebf8ec27b6347feb6b0033ff22e2352ee11d92dc26f3a03fcdaa5f9cf4fa6c9c375ad352e6bb90e4f271d0320c2d99f31bc8b97d7f4d1140fdffda23795120efaa0a6239d9a59758878825403f024b107808d11e8e9078a9701477d255e4f6eb0cddfc97594379a337da1eca903399c039b6a4dc10b824683a07a703f8907d17d68b3977a13aa64e52f21f69d8203f86091678f2aa6d409ff2bd451e72194ae96b6bc929e3b8cf63097c297c16b55039e1d41923cbeb7f0b53f2a209d6f8f98a0498c09fec70de1b47c6d7fa3d9dcff038326fc4d8e8815a139f406bcf721931362fe57c9bc6f171bebd0e393b77d06bd03cf5ce50f631b57a60b05c954a3cec430127e5187f5114d21453b7c916f481b66034364b1324d061010847718e2fede2eb3ec5170c288c4f9934a45de8aa65a2a9103930a82b115cbc9a30f8c5b4db65954de6027d8dec9b3c222c7c946662c5c91470309c3ccb1e9efdeb7c3ed8853edff618f151a8432d274e82265993b2262f45f3a039cdd52d362eb5c293bcc3caceff1f778c7c70307b0e56ab23247078f17c71fa50375ef2958fc3194cad5798caf94fcff8f35af2a73f70347f661daeb52df74883a03c1a7af26cd590d518fb11c943295ba7b19196b3a315b88fea09d16a500bddd5403c962926069fce3f8be7419caf0cce40f93a21a2f17f099cb3eb4fc9ab90fbd900319b5f3f969fe42bf64bdc7b6eb6f84da3e0f66a893b26ff95b4248fede768786035def19d8fed7ab67f20e40903f30e07726f3d5ec7066c752127eb5851579cc5503054239baec0a0a65367afa2dea2247c3696f2ecd6d2fa629540384db9c75686200581e02786d302c4eebdf21eec98e19a892372b212af2b27ffd29a29a4157005f434ef31a00581e021ca7bb1917076b2637498f83bc6e09c48edca2287e7c9824b0f6357ccc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0202d7c99b4d074cc71dd0c1fdebfebc9b7a292a0f92f52fb6da3b77bb6558200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fde69f9442e2a2f4c654b6caf16fa03ffa8f85af9189726b7aa902a0095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021991180324ea4fd921812424b8027d4319b969bb2639fb25ee35a3cbdee5c603af306b2b030fbfd85802cf27078063318d8093322a440c7f7787a9c38ac9187334ab3ed55f03d27cdd507b0c46c88be920ac817ebca88af00f2ba96df86495b7c7c2251db4f20380707ae966ebeb560f27ea79774089392e93fc2a297afab48581e30dbc7544b103758c55fd300c99bc02ba4b7a61749395c212920e96e93b959de5f774e0a533b1030f187b27b5f14d6aba84366303ed376ee9f75bd975c7d1489488b61d905e096f038f8a144d75535f56ca312446cf823159aad7b46d5de54889f2899a4962296dbc0338cb26cfb11b1c6c113f985f187c90740f58f9be6e5c6b24dcb8fe342f3713c503e3d5006d747d67ab3a14ccaa97648ab0e2908f4c7609b2e7599ff4872d355336031d31670b4a2b59aac3f245d6083ac3da6a82b7d236ba651fc306600447db799503c91d277feda3921c04a8eebc21e0791574296305cb9fc0962264c91b784e96fb03c4c916add5436011dc9528d7e4c1bd2d4d2bfadaf08ab53d897df74b2e6552970317e1594bfefeef4648c9abd8f6b4842b018d631188b4918e900c68cb1cf9650a032675c99573eb21ee1e064a82e9783213a97131ffedb31f1762507590ddeb56d40219ffff0356feae3ef93ecda4d673a8a580c86b12bae6a73509bf05eaf19adca837721061030cdb59ce85b5ac54a8d671a3bdd5f38d939768184b6ae69547f63daf99b5796203770a770b451abba86c312e9508a7bff365184dc3b5a37b849db7b7f592c1b660032da038d508f1dce9389b3d655b12268677163a26efe6a929f024ee88e03a8cdf03a64e846a3da8440b5485c5f87af041bace902880c4a2771fafbd7e26f46ef858031d9afd712465547b7a538786f9ccc60082879c779ea7831ec5de5f34bbd6a49e03e93141107b7698a1dec4632a4c50a681d15d3fe12a214f0e55fdc6f95232eb6103cc2d0f46774dc6904cdcfcff1fcf500ff4fae54c9948dd1a4166b46c99ccd87b0338f81fdcdb65b950e40d78982293db04c7d5956228985b94da65d96b0292dbef03adfe29eaab5e2a39776964de10bcba41cbed6c94af322525a3a890f5d103e17c0318ac614b354b4ef672c69d4bcdb7a27ada4a7a6f77cbca48c37153b49aa6d5d10219ffff0304bf977dd07805db56865d8d2982e29a64f562210dca2dac35b78fcd812815d9032a94daf6f4056bc4f5736342bafc14424c3de41c8ea76e8954458c57bdc912dd03506d79625725e9223e38e2ce7a3859533d629dd64ff7d04332f5a5d38abe47430219ffff0310450a96bcf9771546498f67fa5a533d7eb6200d872442f6a2dce64671c1e9dd03c7c176914ebceaecc9abcddf1eb78efb49ed26773ffedcf2754dd8c4179743aa039d167f96ed72b99a1b8f8a8c0358a67ab181ca72c3bbd34f3b9484a4e0ce18a90363e5370d132fd16ffd7df6d4ac18093437424f0985fec6e229c0184261beb45003b7c848798a8ffa4abe4e5bce7bdb9015637fd24ecab4dd862dc40e692f0894c6036815471f59057ff7d36c0a91a3d7df22bd490be10aff203e847beef4095f9eff035db46e0f6fa985d80cc5a3c8600663f43c56f3ba15472910545afc0d62cf76d703495f7075034e33214e4d846ce2a6cc18edfb836a19fd1b9383651496cf8d6d320368fe16506e66cbfc649c3d74921d6e9f5e8c84615bbf0de936a81c8590f55ca603659dd9b1443b02bacae03fc14f2882b6fdc42dbba096051046fc70caf444d01003f013c59eda3712f2ea94ca5130f33c1f139a5720658497a915446eb447a2005a032634a7f9f342086e600010b827f01e7fdac48981e8fb5a5e1221d672f10e87fd034e61b21e19b85074b92caa3c7d4251bb086a4db328c95221925912e151f6837d03647b8b288c83139b562d72df961bdf1ffb14c897cb15fc0bb853f537e9651ef503ab3d05b0fc28b68372ce7a5d2b0effada493b040530e4a20e78286483fc717f403ce7601b9960c4dd29766b6ed2ea06523cbe7ff054bc2e8ff16502df2ec597ce403e74fecd301bd0c335985669fa0faa41c4e2b2822c5ba238725ec9afa50fcb98d0370b83d3f2f01e34e8767f04db08c3ac1ee094f2dfe7048e08c8fb22aa519ff0d03c176b4540c42b45d329a88d314ae641ed6e619d076f841466a865e1bec399dbf031483819872041b7091cb18915be8317b14aab62c48bf5f3efa979d27cdeca4fa032be4957261b58f7000c8f916b7a763a77104888219fcb772b1a8ba1f9b4ad320034a1ba377c36910cb25e1c2cfc167a9f970e1420f0db3b5082660ec732657fcc5030df1f1a0828503fdde83b4c7c5f458a94efdf5527e5eb97e0b0f84027c1e787803dab5a5be5f0e72b1fb9e735143ae6579e6889bded7941f01d656ba2d24e7a5e903384437e69e5dcca48872743108ea2cffa56d301c0814fb3a807f6461add78d360318559df8b2e8a4ca58886c49dbea64869ed555f50899bdd29ad068f4110f6e9303cca218e6a54b3380c891cea4d3fb6dda9b9b99df5d6b2de67605ee9a1ce823c500581e021c0777d211344082738291bc9db356a0cfbc118bfa74331eb03c60226d58200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe82875c00581e02e5d867bd22197a312a247b8c727e7c00ab7cf1113667c4698a8e43954145b56f45ac53031f07924ebb5c2ef9b06e71f9cf59ee8b6b5ce2b223296eed8e797b74aea0e92803d199dcb443c7ede79d6d0ac01ae39564b94c9bf259cbf09334ed126380cb8f9403fef6dff5e4cbd7d112d5ab1f356a0a8b33556ea4383835ee0c1131dd13177eac00581e02622608fb1f7236d099d8f544a76944b9d94fbd08ead35e7864b5d65d645820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192d0c0333e4c9237782d0e42c1e1466b606891232ad0d1c27c0cbf4c7d1d1f974d62c27036f9687886831b0d36cb52cc4146f8b78e9af81835825deb9ed764b465aceb01f0378758c8c796988b71e991d67d18ae013e80d627bb106fd2db2d9e4593e3beeae03cf53cf2393b0fd2dfa86d921bda8dccdb1b1a49a899911de814ff60efd0c267103c5f91d674fda8ac2107b8a3e3692d1821cdf042069259ce5cc71e75f2f19778b03f5dc67301bb47dc6611054bfa6fa0989f5cadf6d24d6cf6286dee1d1c46dbb4b0310b3ba9a32744b17b13175d4aa9b19c12487d8fa899da246f4d71b50616dabdd037be654d9265d63dd4b787789b8f858f339270ef1701aad440bef8288d3e0b4270381569cfa1d56980f3b8dc68c891327ea132d58767d56d3ad95d32ab0efe42f720219ffff03032d0f96151b5614a5ce6e688ae36e9ce9c5d713c48f10cfb3618b59a76c244003f984a50e4e3d3c75316c120fd75776d6bde6367eaf88621c72868aadd8f7a323039f76ebaefd973eb1ecc40e2ef2d6397a43504d0a15486ec4bb2681a31b3964b0037b1b00c9e12be9a5331eecc095b1bbd039a43033b83b65c110daede6280404e10219ffff03065083dd076c58dab9f171bc4e326a56339aaaedf2e03d361feababacd9c015003ab6b86b18f3947046016559aaf77bba470be312be70c773f4cf3ab04c803f61303ab7fb6aee741d6b5f65fa2edd3f098e81ae02d8ecc5ba2e9d243e5e0b15b7b9d03b937982d0b211b847d8a264c4b008010cb6cca1cc36b631bea5c1d0bb34e947f0360c86e8cbd74eaad4b18ebe0b2dafb74f33758a826794fa732c26936b204168503c42dcf325d3abe548d8a2533ddf9d92a0dea1a58b1a1868d53657b1386e04eeb0377aedcc1c25195aeaa4c99aa420cf583e40314af337a6bfddab0f9b8094a94ba0219ffff0394763c9e89917ceacfb11cbace1eacb0214a9fd6e8a8d9af2d9ab7e00fda4ac50346097082dae4a88d3f9ca23799b5c1a8c77b81f6731bba25581c9aee761677f303cc9b08af02f68d2bdc3654746d3f638bd82d2f9eca9bc3b45fc73c9659ce221e037ef4c44ab61d1d078c512343085a27af6d50268d6c8db93bafae3e39637c629003c3731445495985f3223df7b67ea5f5eddbc1e90b6cf62f605252974d83d409c20363d1f100a1480bab6c8c743c008b529f58082d8dd3728f1bb69cbd463e62b50e039068484a66ce7dbb96f128d5340a9153042cc1fed16d31f3b76c64a49a519a3d036cbc3848b3bab1f304702ab1b9325e823406821b34be138e52ce168a365b4052034880410983afb24d5cb788929917859c5be62dd403c1b09b8cb10ef630b65d480354088b6c53a090dc5f92fbf2e46bdededf89a6dcad80977c0a76b07f574a4384034b98e9375187152f3b108df90aa7dbc4d00f53479269ce6a04bc9671965576ce03ea5cae40f54a0cd6c3dcba7e3275ebf56f0ad908e7c1e9eb0cca742708aa435603d742505dda41918e2a040b587c591978d0faee0e1f0a90484b747c07618107a4034664586266f7bbbbf759801c417ca3cca90f7d212c8bae290635a90c064382d9038185c3566030fc839b216c13e7970f3c38111d3e6f5ef8d3cd9d25fbc6e5ff98037b7233fd2240a1624854fd79cd150fb8ddfff8d1d68d88b8a032a14cb0fde139037ac3d0a48d95db382bda3d61b5f18587d81a8299539a4abc86f88d34f309ee4203f9dabd08c498cb87670a62f29e92a9b2bbb304ef8d1fcffd276b867a3a69811b035f5c55bfbcc63f820c9210da6ece9c4849e41f44d0b7fa37f118521592f6a2f503e01029edd2bfc668b50c123619685ddd2584d32d2856502c1cc29680047a326a032167f7bceabe60e76d2cb481af1ced7015c1ba1abb3a71ec9f497b36002f571b03bd13578b6273ac35e700e4574e7d87df26bc7d67436d1b4f34cb8cd95a4c1fdf037ddbb64af01486e67962a29c4ae5982f9564a71c72d7a416b9bc05041bb49bb600581e02624a90cdd81708f2c606955c53efa0f56b11b969c6b753c3bdc2b9525a4398968000581e02fdec3b21ecf2734e687060fc5ab0b8b1cead39c7370ac54413a0ac635a4398968003e59d3c0e9f37ebb3bf83516fb8ee6b7653571c356a7908c5f4f75a18446ce6cc00581e0212e07c6e3eb7e915d009b60606e819937e60e48d14aa7b1c3221b6c5725820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0237af69c453fa7caf50428472930b90f2838bfb38999ac3f1c478a40404465af310792a76021991180312027e71beab10b8073a9d96b4d004a8ada8ee45dd9dc6119510d186fc055e840219ffff031cea71e73c00950a7e87f5b4f8e8e78b575e195ecb7f301482a742a2f1912e3603c5cb42fcc068ab3b3788b2268d09d8d50f252664b45f5754b0ed1d8c9a0aabab03250c120b22a831e2130a68b0c2fed83c930619c281d1fcb0ce043cb201e73b6203451f2af739274e7eaeca2805e6caecf4ba1d94034f6d2e11708cd58e8a2184b9032a95b87c7eedc4b9709a69dd757d86ded931549c139f10e609ffb95c858b743803a8df2091edf790622875551abb2f4688d727e63264050b61a20930727fb231890345bb86ce0b8f61d964c15fa1e2c8e6b7e42804c80dda2bcaebc47ed18e948ee003b235b4e327ca249e347619f9889484c506fb97a3e34f53089cd6a22448baa7220329767a5b0aed7bf673d3e5cf6c79aa959315a32a0b392e2d00a90c579f80e09c037bb292b5687b76109b30c0b04a88ecde2ad0577998416b122d5fedd58ee1827a0219ffff0333cf3b487b001b6c6e996b4a52e94886aaad6f4f931da33c0e9ffe8afc98a6c703d4cf492d467910c92d9470f4f2ba799ba64023bb3b1749a9638e339073bf1067032c0ad8f9bbdbe02b0a7553d921d5482e94badae6c2fd6b83c52876df6dce322103c0732fcce443f33d45ca3ba8116133021004fccb68a85d1041c4d2e88cb1e7630349ca347e859b7ba78dd23df0a751c7e4d8996e503c0f4782697f4fce4fdb36d803d7c4a7735ffb97cc5d4d298a93a768554d9053c664bbdc5b85864f3ba4de6d0f033e8bdb5b302c994dff5d404fd4d6c62363a942e31b96dd58a8844896fc8615e203fdb732c0a04747a47df33826cbcec304a351320f869413e16e219999e0bf0385031f80aa6dd0359aed0e5f6a768d47c91f75d8d3e50ef67ba43fd35c9b5e6c088203349a1ae6b4cb11f2564f60c3c3aa335236753e9085feb048bd6f9a4d2b8b1fe203dadbf151a19a30f943b6f37d93722600e6a3a4557b15720a84eba460f069606b03c7481bb5769a8ce4803889a3035205b088b4f928521e9aa872e8b1c70bc2e5160219ffff03e85cf56c7a553533a32b9452ba44cb88da69c5845f66572395faf00c06f0f8170340313e0c20747204a5ac11753b656cbbcf822cca7f9dde1c08572deca5452333030c57fdb61a1bd3c5e6d3176fd472aec121ef3f11dffa4100666c0284db2bcd0d03a5f6691c9c8035c716e151b6aadc29556287826a23436ba044fa44302433496303f90bc9fbb0fa74f0b5107de6648678b1421292b78bcfa1d2f958d8c8ce836bfe031723449cc823031cf77e196b0e9da24eed4e7e0ff623fec62faede5bd069ad9203fb64e24a008dd05d62623ddf0e13f1451cab636532d3fa16a642b9a6c49d3b8e0337ca0112f8cb39a756682fc6682ff3de47426172ec5b69bb73274187b48bdcdf03d943c87b24e70a03658a3378966f5d2fa8f5a39c7a98f1dec77005caf60ef5890375bb2194b3ba5b01994ea7032dadb4791785e6a09d627ff2e53de4971473223b03ca53716ae6455b294bd19d85b34a513faf0771c2d0820b88b99207e475feeec2039ffe005659bb62f6656e4a6f4eec52ff3bab31f56e6590b4a3e5abd943c34de603f74ee97bfc7bc75c40214c6f355c98cb1b757488731dbeec7d97eafde89aa8eb03644b614bc796077218d904bd5c3cecccbc381cc6d4fb85407c2740aa8b98a4de03a64e15ba3c0bbb874d95bb2db8c4f46e5e69b5ee32fde4d9d6993c4d62aa62820374d6ef85cc2ddbd201b49012b8681a43f5bb01034b70bf0786299e3eb21fe4130307969d4ad9e705dac374a6bc04eac141ecb09e82c00d8a3381de49cf1dc0f07e03c20ea17ae69534b6372ff2feed7608233dfc9410c742b305ed7cd1ca0a7a081103f01f7bc5d0419b08b41e73a04ba45f85b72e4ca4aeb4d73fecac7b1fcc6de9f903b2d475b9a72b6dc0530387f09aec1a968e8b924190ddd08082245e523df5a0da03b9ee81443734e4f0cbf951096c1f749dc077602779e356e3687fec7e310708f6035d16852e0d78e473c988dbb994dba9fbeb9f9c45c849460885fe91eefe76394003cee9a6bd807d46576bbc5f1cc3ea4f0f577efe19a742f2bd543628c164a6086500581e02510ff27cc3e65c329a0e82e0e8e74062beeea3dd52ca0b7a0469fa078a410200581e0262bb5034db33fc800cbbe07d38eb09aac04d0934e619879c2de20726695820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0297d6fea7a936ecc15140ece1b3d4ea5642b7dd1a40be1bd407bface4715820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e5e8b951f76275508fa1b7d5e05531873113204545153c4ba2aa7f706d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0246c0c7286228dcfb578bbe38bdb87ac35aeb5659ad7f37e6a6212fae19443d0263d800581e02ac646192f7c7e9b332a15e7ff2b264679466b500491a3dc25a4d326de75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034f78bace434317ff3d8954715aa2d2a02d5037a97f35dec4ad5963dd917df1c000581e02ccf916aea4d9f0d1a6865879410561020f713a1ab34002956277fb6a40440702961000581e02d6445ea196caea0fa5063410d8bc6b45f40c93ebdbbf98bad376ec6b185820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02baf4d9de532025fb3436c32a30f9d08a2e7dcaad27f1f20cd6ffd154ab4401295d6c02191ff80371d96c9e345b54ec00213b801d5f2b0a42b2a7f2a8ff03252ce16c88801025db03f13cb7edbe5a7dfdd73ad96694a4bc40e956e8424522660af73c4e824c233d87039fdab8ca5c8054a1aa5d327448d91717c80ef90fa4239a112e30dbe183d775d803a7a0f9f4eee6c895f45ef04dc3391b3bcdc940c3dba6622433771a76744d948a0382f97e76dc576dbcbe98fe59a3f333a226fd41256170da072f5c43982aad023503a680d35931a96f003f860e9ae5a9f0fedc2e0ae6c9e03806759df4f2752987190356097d073e9088826d92e7c980a3f1dfb9bd7393e105ea78cad3170cef65f75903740a686e0d6ee6def07a428c8890adba7462e8ec399da9510ba9d137e6edb41e03e1f671777a66f7b7f9a8988d7b6b1014ab3143a9a2e12c6a71e4433a3806d879031793f13cab22588c658d0cbe05e14efae07d85f91cfc0a4aa9a92e970f46cf9c03517b283204659e586b00fbfe1a3a5eed3c1f01ab53297ec29c97675c035b6e6c036abd2abac60101998678dab83bb37177cb71103f78ac79b8e958fcec79f1cd1b030cb853436a5aefb2a9c68e3f2cc02a64f8b544399111e2bed413732c12e695110219ffff0219ffff03c9e9c863b30fd091cfced72b1507bd6a49fce26548da8f784874bbe3238bffc5033d1aeae3c6fd824e18e8cd390464c7ef58e4d0ce760a17579ed4eaa2aafe1d0d034adeb65418712e1e13f60a7c407d1f68c939d510431f651fd25f8b115c7016b7030454f83fb4b83784ab0fb174f028c593784353b72b3e97faba83cb9663aaeeec033d920e5ebb1f43ec5ad7082f48feb2b13de59492b5958dac5a406ba009b237af03be046b8b9a10d0e15bc30c96f4f8dcd56a6555bbae0c168fbded67c348d062370376f493520de605574bdaa21b4d3665561d3cddbb2a019e800ebe8f8bcd692aa703bbfac646dd0d0fa248d6e5534a4b364817a76c9758fce0a5560b63ba9b39aade03448c2d314b8f2805ff9d30736cdcdabff3fcc87b622eb3df06e72569eec3cc8d0391d79aef07bbeb7befc0af007b67ddbb9fc3b734edc53a411d9de40302efdb450367f68061e4a8a5ce54e3e544a2ed5e179b867a09b7f65a0861a31d7a04a64c250219ffff036e72635e30afd8ef67fb464c8bc74404d8064cb5fe8e2b6e768cc7f65911a99e03f605273ceae47ad339ee9ae7485e2b984efa6ffeb5ca402014204f883d58d15403fb8e9bf682a8b544452e5f1948d317e66e00e719e7e34667e0ab80b75dda2c9a03dfc582b53c0d897465da7b2b93aef10d1c6b82ce9c770ee13053cd13ffd743840371c6856ae3fdae8cfdbe5022641945f591dcd30176e942f5f23f13c74116204503853af7382f02867a80c2307e6147f63de3228ef59eb59c9c331ad40d77834c0d03e5a423610d0cc7d310c74bafa842c965d30739f0e73b396337741282b401d3850322fda9226f26593df2712906ed1f8b9bcbc45d5d63b319c3b6e601f45fe12bce030fbfe144ff3991947a472b84153c04507ec7c6ff3bb0435dc7f5253f68a1767503530ffb61c47d16dd29ab711f43a5f7be8f0f9ec53954829480ce9ff806423e110390fd072f738457a0a14a91d1440a6f29dfd55731c5a8297bdd8de812e03f286003b450fd2233fade6c67d6e42c160798e380b5921b5aa3eca91ec00d69961de00703dd6a8a24d725ce485063ed87843425465bfc39b12da97f08aa726e3535f86782034b982c3a651a851140cbf3b3321dfe25a246441b63381bf85c39528ffcf2a1bd03757ac3498f6ea683cee6a5372123e4061071445a2b73eb89a0f445f69860588b03dca136d5db45b467c27cf5d883ef73822e08597120529b09d07b871df486ccd203c968d5062aabdf6eb1308b9f7001a426653dc03579815a66b6f69c5565ce6c8d034ac8769b0b6bfe79d956c6814d5532e0f130baffc643d5e103434bcf4ff3249303487a682a2fdaa22649169f833bf3e7cf489ea3c2688caf811934996517b3a92b034f6c8ffc08bfb0b2affeca0b0ce1f6918a69fe846a3170fbd9933d8ecbefe8130310c0519ad3319dd1962fc0ebbc37ccc049296f9e8359f4871250ede3ec2f96b3036529a0f67cdd24e17634f0a1e216b80e52091abe3c65520504049cce0b27781e03b68d274943e7678958eba9c0312e1e585d056eaae8b4d27239e22fc4597c1f0603959c380a030a6295907e55e354ab7fba36bfce4ee96adfddb9dd120ee524a2cb03af370a145340f7251cce124a4709a469659ffd99baffefa0a98880c4030b20c1031235580e6b4ec695239100d47330af217cd3b762f06995ed21ac3294f363c5a503f2e1f62ba9475b92cc122f7036393cd791b6c2c60ef8c322ef321cc90a38ab6a0358c0f592c3ff1ffe58b8797d75256e2069989fb0d16530e9d366f0289d8b056203db211f3b610f914513925fa7e20d40cd76031c1c5732a6c3a84b3bf0e216db0c035db550f5dbd7235c39e814ea446f1fb3a7189273785aabbc0107196257efe3bf00581e02608f428f38f2fffca89ea09d8ba93b49768f153444e2d26b417822c5445820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b445d6a446dbd0315526724d5ec34a2487beaca80840c4c706102975145820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d95925000869031087c044cf5dca8b93c5b8c71b0d97682926567ed37c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038a4607c16a02e477863ad00deea719587ce89c6486c86716e4098b9f7dfc1c5700581e02d82748d54e3067bffd76bbecee1952a91a74c1453c6ce928e619d54547430cd95900581e020de0b4e9e69f41a6bb5945f1d28938afc893210813849b03116a431e00410400581e02af47ae3f59123ab33cdf7e353c410ac5fb01ab60a596ebf689658171444203840219c447031f670ba2def6bd1db600be55a985d0e93219d92ace9db0e25d0a3ebf428f431203552f42ed9c04cfcd8ad623160b2a9984fffc92919c7cb03918f5e2360ecb37560219ffff03708aa336fed7e8316cc9b9724a1b2940c95832fb1cea320547d94d265ad31b1c03f420b572910b3dc2f30596e56c02664974d6834bbaaa29775f04ab921cb6f76f0371bddcefd1ad09e0b3e1c7b9c7cd49d8da3e15387a05e3a6ddb5f6759a9f92fb0219ffff032bacc595a3fd89ff645dee1e36baeaf2cb65f27330b46b433dc364ec030ac1b3034bdf57679c49a29e1f53c4f93bc574cc383f6dcf867eb52fc613fed69f8363e003ad64b9c5a23f7cd1cbe3962ea39d6635af49a918db6f62e0c95193b083e519ba031eb78854fbcd7ff0afe2fe49321922951da13bb21d28c4c728c4b59ec709853b036da832fa43988f607df47681935d9d98ffae18c0fb1f655e54341d06f357142e030b1822a9cec567b3ce430f445137f6ccac9727c752ca5e577cc518f209d86ced03736d3b56e040ade42d1ca38c8e8366975bcd56eac4093209b188307edf2878e503ebf33ad7f38fffcea549b6283ade61097442bc9c3b21ed945e776f308da312f00344ca5de5e2bb0e085c566b70956227b3b8c6c84c44c5696e01fefad52187519103aff1d233b9bf2c866d0e9d4e1deca72f64e12e4e3ab1ae27d318180634349c8c0219ffff03b9c42fceac4c1a237cc978dc771e4b808ade3e60ff9b865029f41d65bc724c8a03b30de84d17f9c1a4232ae4f8c2522f6e9baf8ff8e2e2edee01ff7adf3c567310035b4fd4aa330caae542bea9c7ba44d00d7ae927d3cd20f12a78702bd4aeec8e7e0385df4a29701e583e92bae9bed00ad0011ce758d018895a446f579c72a54455e603316c9452c8a77073341d442e85ff912b187f6ecae56f38154544048af5d9fa85037a062d174a0acf56cb4573ff3accbefd99b33c0b8a71b9f3abea7d0e52a5169c030d737e322c9cd3e94bc6ff58b0eeb38edd2fb6af8ed3bbbdd7d067050c5fc535033001c8d1f4035a4fef5cfa8f86931e5a743a6386c70c3a2a623a9b4572b69cae03e5c3cf41355a07f15ebe61749fa76d4d0f8cbe0648f8cca7720106afc1e46e3d037dd8eee1eb50a7007d687c6b6529cd1b1babfcc75e1329fb0fba9103c32b66bc03040010cba5c2867fefb407153873c1b5e4f527dd9023422cbd560bb1298bbc9b03a68bfcaa824324bf7fc0eda1ac25e2e5900746ba19e680880f6dcdf76f89810f03ca352c222bff9fd59ea04808f7e87af5a946db01b3c0e709db770f7d1ef85ba8036d3875bd663a0bd60422228c3ccc5db14ab1bbd0e8b7e18beb559902101e02e603a701ba84d4a4f11776294212822226d67300d8d09e3e4b7794319380c35846ba0349836c6b1b17e5e64e4fc58d2ed58855ee50db490983f54f89b78e99ea72dcbf0386ddcf1f7bb9aed9bc5905d9bd7f86871b82d55dc91057a76e7b87d7b196832c039027055fe982b0c4eaed97035cbe3da043f5abd375efce6335cdfa7f4b1a980a0347ffe6a5816866c10e313786b80e0dac8acc0f1c136235e723df804f030c618d039bb92870fa362e95929263d8c2a1b20bcd80402653b5f9b8ab613b62197a4ed103b4192ee651d386ecdef417bc9881e4cb2b47d829e92b8859699c854843c314990333bc10ef1ae565b1dcdb5ec57c33d789f03f4128c95dc995eeceba1a435a0050033ac7ed256bfa32212f71efa8206e0a040355c3d0d92a12eb2f6f4182598bd1b4034dd89b7530ed31e728331c9f935947727fb0778f344bf79fc7833cd477406735035bc941883a5100f6f0692fa8039af371f9efabd1158f5a9309898e849b6d14ab033fe47870d075f7f37acd3aa0028523dcbfba6912af4bcaa876b10a16e0f4907403b478208aaa69f5aeb522dee88750176216a5bac1fcbce0f08c9bd3177a014e6e035e2e1945e0883f9ab55b421a485524a23c2c867712b10de694c23fc25129155003cb230967e7d4675d7f2069db6f4fa3b874c04aecf6af8d27209a4ab3e5d46bc5031ce918fe3fb26d83ac19ae1a8f2d41c721cd780c1d87f41b4c2ce1bdad8b658003536f1d9d3d2e07b69d0fc0c9b107b70a30d5414026be874cdb616708a19395fc0398ddf3b20b2609bac9c2759bea3174cce6d9d8ec15ac9e285229ebb1b4bb0d4500581e02cf62597d6fd9c4d52ae2480945f2bdbce50245af7db5ff01cc76dd804d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bbd96b7e9f21e6d058346adde4dd18fcc99d4e7ded168899a829b408a943e7ef0003d3073b83816ce8ce55f9707c2a37b06063de01cd71b4b9a8f0d7774f1f256a9f00581e02d20ce74dff235fc96ca6bf4336d3074d33dca95cd383ba9f24ede2ec63430186a000581e02a77a82fd80779ef1d885fd9aef54c9d8ec57a1d7424efc3470d943f78a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03babb896d5af872e1dc87cc532f11a48b30b272b632354a7542ad19a3932239cf00581e0262131257cb098c2cbb51320bb5e75ad45cd56857e7ffc4b2d7d3018f37430f424000581e02f6648ef633614133f4e7ba8896971742863dba0c6a198ce361d5eaa0de410100581e02bf0bce5a0cfdb81278746e65b4af5df98e0af24cc27c7db804b5acf3c64406cdc2ad0219bab40219ffff0219ffff0355c8a4d41239dbb2ce944b409aa700755cd4ae597710486c986f0e03f6537f8d0327a8a8632af871108b0e706b2a841153d33714b4e682e7971afe4f732c4f2cde03b551ca8bc11f20190ffb68490044b70d9bbd648d985dc70b97daa65ea274d2b903b1e283829c86cef07972db5ed4a2450dd1206b84e82c67a7ae326449c64d8177039962dd4737e36746e423c07a77fb23deeccc788fee1e49288b5f3cff1b2c417c039f67a8d49c899033ea0a357d807f6f8aef0768f4bf1d964f32ee8e75d01bb71f03a0f569a0f5e2203855165cce1ce7d55aa8560f91229c358d9258ce715556f04703da23a514b7b56b4944188d637abba146c8997be0298e6db5426722be4bf019c0031957aa9fd72960ede95f0e6cd150c6feb7c5c03236ef0700835e1845eed9a1130310f6e04d85daa55054bf6930595ef425f97340a60968144045c51f3982e8ec40037502086eca749020cf2fdab020d9b0c844273f6ae9243e69e7bfdfff54172052035f1afddabd320903180c4d64735c79bf2bd1c11ccd15ee618ba7d32e14d8204c03e365733a64fd29bfca2f21a347d7506e341d0e4182c66a49439259e5e204397a0219ffff03a4f4968bb5eb732c0e3b8955c80881452ce2a9cd3de73ac16f0856aaacf7d15203710a83f8e8004c23f4aab0ff36b008522b348b16940573cec6f603dc7cd9106b0219ffff03ad2220e40566ae6a656e8b54460bda03b5e10a49ac699ba9b68c5ccdb4854a4b03dc53df039d5e962978e9b12a85a258ea3bc429daafa9db204fa85de6f3bfcc18031188e0115f8660132f822345dc7036beba29ea76b113a5ace3b9930b7a90b313039ee03c7909375f7fd54fb1c64dea1aa414a9e9b8e295895a988092cbfd7cd8ec03bba299f3f866095eb9ce841f7b233e9415710a1bc912d66eed16dc8d6a375781035ffeeef3968adf630f6e68b9a614c36e72403594804a91b839f0602546ea5d98038c402d38e7a8a77dd9ce62e7df2ab6f87b045fee89a2dfaf0b099cab2fa3738903194395c5088c56db0239ed12afcf056148e7f81172c1266859215fd2bc864f77032e557b484765bb8e67c4982ffff01ece3baa7b0620f165331dd0a9fc77a5e17c03a3d155468f11ec128e1be5cbf1958e6c94a0ead094137c89724fc42d03e1306e032f73bb8f512f3a0276264bcb1abbd5404b2e7c3444d4fefb91050dd42209faf100581e02935f173a722a2bddc15139fb6c889384d65612eb2d85cba2a7cbc1799f4502d7db6bbf00581e02ee0f776e29bc5765d2cdc8764df9bd5d996b78a343a990cd237fa5b2b1440723a61e00581e026741b51025404dc02f2b76918ae96b46d2909b299f63b2bbbe6f50587f430d7aaa00581e0200e0cb299d492a8732f056eaf90229dd04dc285ba3e3949e0d5d6d5f9742591500581e02a24cdb1ad8cdb633cbee7d1a860b523225f556dafcb21b81e72c139f5f4405f5e10000581e0207fe5edbac2582bfd8752c07ee55062cc7543f27ccc34d7ff5f6e3721c4402d5e04100581e02466c6cd6855d78dc4d77db08e4c332812965f39fe11cb23b1d7115a4df5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fd616b7f8de48cc438a7dde6e5a0c0f2d94faff74c33bde7aac7a285c4440164401a03d072d2a70f4899e8e0c597421aae924fb9263b2be9d11da5aec4a3a1cf656e180219a57c039a73a8a19c431eca3de022ec756ac593b3ec03ea3e9075e9126c30dd3cbc17ac035c38fc2f5226d7a9d437ef33146aaecfab9eee7190145447a3dfe8147f5d4f26030e46ac2872cb814fbe144539c4c641b3fd1f7886f3a9b9e705afc42ab1a4db5803ca31b85d9b19b7a4bcb74efdaf144c0629256685a854ac9fdaee56b68fe448270387f0f2532b65fb3d9a9cc190a378eceb9d0f9ffdb51ad088556a681357f513b103f0d92f0501749807cc0cc2461eb85c66d607b753b940c77898155c6ef118e1e60324b3cb38d1c17ee435183e391919f8e60ba545c1c259bf077e43f2bb0f012d8503a118eb3513b57609ff25e757ef35396729ba8adfed267b5b7b47d5491a459ef103dc9fac06595a00c199fef646d9bc5c5eb4fce2c9265049a7785ac7d96eca98490219ffff03bc00e8ad1367fcd21f50e747f03e0d9b690cad6eee05a6791e189448965fc7b203437963da073723f88a0d43991aceb3ecc05088a37963467defda742919ee8b1a03425b3d7a07dbe36fcec273995dea597659bc4f7ecda8c89727f3866f8b4f1e7603fc1b10c089b810d6f1caa2bb21f38d8ac27a7f4d383a68457a7792266c778805035f2ba026063c47ca57dd47d5a0a19fbefbbfd088937ccf3a2ccdc3612cee23b303e1e3ff1ad41ab32bf4e6528f54d6463ff322ad9e1c669d590c3fde7504ab12be034dac74d3b47b4921e78aed336ce5be74e556a637d7a243905279a5508b86ba3603ac97f97e9a0e6f1e1ab4c4de05caf6233a11243c7b7d17ca925ecdc1510327ae0343b7265a52f7db8c3148f86f516e161d05f7572e378fd8768a65beb37adf08140360cbfbb8d889e4a85e226395c747c4887fdc93d395cc6bf549a240bcad80449703287d2c119362b847ae7b4d90c6378945d6eab638675956d2279eb683b982317903584de49b13d1979c27581c24cdb1156a8eb9ff1ef53e3d605965cdb27242ce560219ffff03d28407a80b3689845811cb54ea677e08d59a199925f1d7faf089a01a11e0a97103e089c3e35efb0c2825800ec2be8b52bfc47c2d5f83415f69e171db44fb20fb14034eab5872ad1b8c4b4f2e46ea1cdb500cd43db736f451e9090e1149f9797259c00351523672af3c05dd0f82aecdac95e93cd2e1915fc7d82dec8db911d62798aaca03acd0c1ea0f98416a7bd6dc0b8a03369ac8334f071e99b48a1ebde9fc19fb160903196e47349e183adedb10dab8cc25981c0f9902061c9333bdbd0bd9a6a43948e403e382d730f56dce7dfdeaa0a847ea7921c3ddddb6002caf89894c464bce3922fe032de1a5ac49212fb4ac924f51d91481f58bd7da90af8c9b7328c719cd7e1acf3403f9e07426519ac66f21a49f2956ba1775e55e33d72520fed21222e0b6932d03be0315e2f7393516d56c59385e42285fd2a8c6ea69038b4ff0d964d5cab503944893038af19e937625bdf83274b3c64e10e6ca8df5fc62a5c55e05380baa9cf70b1a63039276f433cb42b4646109d2fbde9e7680b1b063f5ba6f2d38d3c33c1c66fd338703752a66ea202f6282b7b5df936d7dd3d7e4fff049b70566cede6896c89763cc3900581e02cc3610dcf3a9a1a16fbf6e53238fbf16be5504944c915e0b274c6bf4d75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028450571f447379de9939a853b7058365e9fad547aa5dbd3324c39dd1d0430479ca00581e02cb3d47423c5e86e729454fd4f250021fcc5d138a2044cfc4816b9eb03244047868c000581e039c468cf0e4e5521b57e5f89d3110b294198f76688d2537406174d9190044395bb97900581e03ae40f0c4ce9dcd5e3836f6398cd7c6e05973196e67e6bb470a91819c304b07a11ffffffffff894e58b00581e035f55cbb896d4308fd17183a5c945bc501cdf23f49531f00adebb5e4280493635c9adbfd64f9bf00219020300581e023d2a8aa4f95a9f98928291ec5890029c2ebada259c11bd2eceb40d13e94b52b7d2dcc80cd22678dd9000581e02017d25b9290f1beccbe9d74a2c8ef99241a73788d3c8e6dff17323675a44014fbdf6021919160311793e2aa24e8907377b7fb118b11e09d7d48769055cb8a47bcc97e91c0e051c0348b6df2115f4a39a2022431d55a1887e685b84c3ca0c273d80439ccc63931b9903a51f257fa69dc96735fedb83c19523a5824482466685bf0844f2894f2a8391be03067881b1c01612161e06390df231348dc26320398fb32cec76a552a577f8779c038cbdd5243755f719bea54bc1fd79b588cd1e7e908cdad38d06a435ba9e272f85035928e15f50ac3460eddabc51ef37c361db4139dba59584f5cdfa70aae281faa30372f11f5bff3bc0bef2d3e750a8f727f90a6c60399809cb1c22045a0890d7c3a00219ffff03d33fc6db7f24eb3dd67cc5a4301ec301423318246d4ba9b5ba014217f7251dba030f88d40edd0ef3a5094a86ac0e5bafe0fe159839f469d0bd7b4295b80090b21f0316d60a7949eed988416e563ea04adad7bd2de635cb304e342d968fd63a0361a0032d2fe870d6a37ca6278f2dfa168eb998bc9490f70dde443fe32605fda962a0a5031c7ea0cbe303ae4c31e133c484a9ecb027739f183ac60aea132f976ff2c9f1e403f024129058aefe33bc1cde6537d6af06b9102fd7a8aef523a8adcbff09fa503c03a43821d4fdb51b9d45e059195689018afee8b561d00017901da75279c4c053bf0332bc7c85a76626ac07bd8b440cfbabbf610f761d5121e8135a4093e475f30f6303263fd85382aa98bf8a1c3745e8c47a1548c7feebf9bef532f6fc6428e7da2d71038b5d9b9b08499759797fa1fd0220d6136ccf91849c37e42712c0343040e0cdc5038b3fc1a3f25083b0ac329bde1a17d8410863fa04ab8f51040e0028bb3b089da0035f5db2791b7dbdd9a2bd74a2e4e611039ad5a2e491cba1899c1024c9b98f26c503abef1c111edff5c34bb055b60b6881e52e455764f1403c664c8daeb73e0873390219ffff039fa556e1e17b9b3ebee281122847fd8c0cffa37ebcecb05844cc9174094710a603feac965d3dc3ea9c2dcf26369cb48d6e9693526c8b07f683ede9902dbf4fc25a0331c2e76d7d0046a8841b64815943aed162f420f4e03580c2abd202d04835b19d03849a68f286e57eb7fb784f1a535fe8e5adbfce810595bda68aa11c9f80c2ef7a0398ea82a44649c90b44592e7da12f9d114c8b3b9c03dd203e1832ba048f060da203bf36f5dafa9fafc6e0f72c92e2b636dcad0002e1ae6ff1ca74aa1db1d594aff30312ba18d53075cfaac2082ac7ab29ffbf3827fc0e5bc434e8b7e9c8bb9c8762dc0369e8dd5c5082f40e47b84144fede474ed0766ea2e67694429342c40e505db5e10352ecad13dfc2e897709dc49fafc5808b2f84c0238f044da0c1df66f4d5c7f1970219ffff037f74946dc094f40ec9fb9d9981b294f2394d4d14a423d2fcadc5de50bdb0c8f103f5491ecd5aa3c0dada2dc1f3ba889729fa971d3167204c5bf82733584912058d03df60bcd5d261505a06664184fa10f739be0c3e97f77c4bff7ada7ac99ba1e12c0343b34f6efae1dc9c150803192262aef65694c74e9711a9269256927aa8c50fb4034e03a48ec81c90dddec0fa9dafec886c2cbd0be35702c14cb977f58a4b61726603923e0526612d6b9233b43541df094831bf6e9c142178effbf2040146544360ad03074ac9ab5197900f0e8db8d9c1c508303ce09d4c5b52f36c3a171f48e04e56b603d5c61b593519e2a9f1f8a8c5a2f2411146c3a2fadc8167ceaec4550083dd62e103ba3d53c0fa51720102bf20407a671168d55755e79698615d74b6acfdf43cb14c03f064bbbbdfb124c8563088e236940bd0e5c203adf936001807440f7fc18a33720350fec42123ed784467042b03d750828a7e12be86effda4447550328107ff409d03bdaf8b4807eafbac0d62f05f98733eadcb9d5a2915238f9f7a8d45057e83751403fe7e7ee71ce3a7df89ca90d06d4d553bc37c33ba757d199d35cb82f328627a3003411f828ebd931f254caa5c6d0aa210e6482b57b6dfb4745bb5f069e98cf8f13603789e111a32f86b46f86737d8f5f420ec99c231756f23189531072002eca918b50321854bee790e126cd5cb4fd60a01effb28c2e638a9370c8fe55ba6c9df1f758c03921003ae638281fcbe7aed58e402e78838e3db1a85a1c90b434d47fc2dd504ef03f474f0b0032f1673f78351beb26dffdd52c9922bb3cf05c74ab0ea32bebf4cbf03fceb75d0a9963410e9dddb76010f49638bcca90b3db4c10f840692c2d27f02bd039109c9d62adbac5a94845f84686b3623f38a4f5181cebe9b76d4e4f5a795fa5a0379be149426c160c046ad7bf80e540aceb95d706b883191a421a78cdf6ffbaa88036ea36e7f74ac1d1ee6c9496281b9e09edd807c1c8c3139d8534716b651413197030211164f3fb5ff976e924f78f514bf5a1ce9fd0bc1bd3e188b3a7712638e69af03b90d0d656a1f4541bb2c41c1a38411900a1a63c842ae68c23c80e0cb51d73f0403e605b404f32c43153a01278e674d2e44b55ba7fe0eed6cb4ebce3196d7832648039adc166f3cd5ec345b7938fd7cdfba038b4288b72a1fb06352bb0d916258791800581e02773ca8e55046a71e5dcbdb6acf1540802ed0d6ffb9e359cbf7551d3d8a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02efa8c5e16c670a17f0f0f275bbe077ee0ff5dc0eddf0d845e80412cfaa495562504d33a2f0368000581e03ac975fd1bccceb98f15e09e0f77a5c57e2a437da330a0e09a5afdc1fc0495562504d33950acd6100581e033dc9154a92867e13793761760a4c316ab0a714097dee1361bffc88ceb0470189745a7f98760219240003239ab91287627c6356d680d6f30e66789d3a439b15df4d117fc2ef37a73d9eea03821d739e3404b559e8b7c9c6397cee7fe539bb51a970a5b8a95b0436a83cde0200581e02db0fd950d827395408e355a27b71835299c29a26bd01088b40e667e2374b4a817c7ffffff9c335a9570219dd4c03975eedd8db510d3509d8dbda07bc23469eca205056565701a67700f168d5f77c03c3e95c0b7787ae1ca3c9488844a41fa471809ec8f5978fe348124393ce29a8a403b046d0473f00599a4cd7df1b6bc32f95084682aae6256abb46c56f3165024ee40326c766db17ffd37c97d82543a2af5d2dd897b4e47112a7112bf39375ed7a13290317127187dcd0cafedcca768d0f1651ea32ebc26cee60649bdb79aadec758c166031cd3ea37da2e5586efc4df90c8988c777b131840a754e7ad29e0e2a5e7e950de03ff8b0215942ea400b1ad107a7dd6f41c7cece01c072a18b0fcfa136008a981040356d7b0512542f38edfb906ca92b869fbdf6dfd1d3a9c29c602ea62ced01ade47034ba57b88defd5646ff0f38cab0e93ea49bbd5395383d896f9e3da4250204d43d0375ed2c06fe6a939948fb76c3431e77bcba30042d8042b8db3eb06631a3195086038904e8bcab468c45dfb0c00f6959ff43b0e8b635ae1d01aacebe9063226f263a03e4fe126689fcdd0d8987fb144fb12297502b22ccbb2ca000ffa2f1b2dcfe0bec0375933498a6edaf3521bcd3ef57f3bf9f4724eea2239a0bf3a3733e93fcc7fc0503bad2eb257498e2668fdfc1a3830f29d8cedf8378081244e81e306dd7ab63cafb0219ffff039fb2be31a96035fc201f989b85434963fbcae4574df8e5866bbd95df4d3ef05a03a2fb28a5731319e8c6bc88f17580f40615755df52cacef36108c10bb809913ec035202046a3417e973db8b9d23254463e04f443746ec52c7a926e225fc9b4ccb1d037a1ed19a858c198a6b2ce7ca56eeef702dcef9fd49b32867c9984c9fc251efba03470a4c952c2ebf53f07d49bcaac488b2d6512c77fdb9132e4676f089157a598603047a68e7a5ff1e514d8cf5855344f7782e12a26c1e60b0fe4870081e5ace519103179ea7bc2daccbdc1be09127c1503655f997ed22ddb587db37e0b662112088f8038a0984f0413ab932e80bba9a4a73617c5e4ae4723a6dbdc1563baebf4f14c5c003ce87102ae7b1c9b9dc8c6469a2369bb7bfe4922819953a86e85ab84ad4357afb0219ffff03cf9ca87d7e6cc445cd7b0c0ae048ef12407802705662ae4dc478df6c56128c4c0310e832f57aa68fd5f1a8df479bf39018e1267bf77d8de5e30df294fd6511aa330219ffff0353ca7761fcec5908f27442a0d4e531a592b562d8b30cc70a2b4ab74c1f4868640376543f84844ed0985a8c9a5e836d14f6f310cfe533940edfbd8d63de65f2c68b037fb3acab4afa8fbda2151d7cacf56d7f188e908028f9f2f896ccebf31b827610030a4932e7023ae05293fed30f12cb4d18916a94bf4e2ddfeb5ca25383a6ebaffc035fc636fe7588aaad582460281a0a8387ed067167d0b5332f55c448eb466dfcb503ce84c9920428f03900a3e0bd5b8715812c5962d98f7469d93e4f13c3d987375103c40f9ba161fcf2a392760080386127bef79a1300c1c4171c1d7173fdb884298103912e7f04d35f72f3a91793dd2987800d4cd3ca800031f0fbdaeeb5f52dd0e1d4038d37af8966af2221dcbac4ea74b40ba34129f2e98c2ca4f53810892db95dd9e2030bd3b982eefac2d82cfad55672e21bb2fa7c62c448baac1ea68216ef16273f0b03b3e5d81cbec53083e3befb595c6428c27a8b5a16af0e9ced7e50f23aa26a7f0c0319a09432881046f5fa13a152108ba927ff2407dd5ae81d67f3f425031cf6bc32038e001d7c5fb4bea1762de0da474a23f3bb26de0bda9088a16315f11fb406b98803a7f13ef98dadeaf09cc1600c12161038e7125905ad6202e4eebaf7e2ebb32f55038b4167c74cb655f5250a2c199c0f1f90810186c58d9c92f3780c157d931af5c003e70cd7beb1d278b79a7331a3495ee6db5f172677d2e95d2615b2e2d8dfacf367032e8c93fdd40160a875a5a3c1d8e7997564f3d7165dfed3a5108c5101fcfb758003f1dd76e450d66b0ea74a50fa9e66c622d9adc6c565f3b78947a35618d3761c2900581e020bf996c783f73098f048f0b4fe0111addccdd62ec80542079471413ff9465af31079f88400581e02f8a32ccf3ff4be9281582d6ba3bc151663ea0ffb94b9785e6da0137d6f430f4240039b777fc282e6b4eb373cf8399ec87622277c2bb40ca49e9a227f52896ee18da900581e02df2519b0153848b787f61c271d0c41e95ac0a950a189d85e790d7b16a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023f0f27ddbaeae4b043717a38a14bf5a5b3e32ee9d917a6293bcc7aa4cc44028f995700581e02a0d9c5bec30a3f0c42a6c2599263da8c630d9592f5aa831bd42f1991ca4b52b7d2dcc80cd2a6d87b800219d4a8038573c9744e4ec43b731a3547740744a6a1a031106fbda5e5874bb8b718002bce0344c71ad3c0d8962ba92e0d6812df8cf0e47318f615ae1a69d45a33dbe4a7e4150317fd311aa0d098614e3ebf1a0e0d25f0de2f76f059dd1f460b4e557bb9b4c94a035f9a2785520cef861aa9f2fe5c85f5905c6add841ff93aee71637031cda63bf10338c4426c93e6ab9a421bfaeab1dc7339378d07b65055410779ce3683c169060e03b921227f6dad54bcb9594274767889c8132ead7b669484ee9757c8fa83a4163503d6e8bb304f8fbe80a864a49154aff906dce8376e62b41003b373bf9d7d863afa030d1715e723705cdb1f6376e5c68807256e983bdf9f1f56af9005c73af8e74a0303a1a9deb1d9e0f483bf2821989e3451dbbdf8f5023b89b2257023da002c396a3a0369450fafafb06ba20d4322b3d6db5bd9c9931416fae7315c8485ff1edd8b73d50219ffff03fb56b3ea02bd6e503c7504af28c0a86e84b2805793a6463a7825f2e858ab797e03a6fd9e78150ff3f97b570453655bf2e9616aa04e763c5a041fc60dcb3ceadf2c0391b5c26071ea4375b5cbc23e18e309d6d14c4e2aa1f98a0e3e71a0b23bf9730103d0c9e03ef86ceac922594f286623b06ce7cacfea538a8f015f095b4151d1107b037ea5ea419d9f74ee2ed81a6612a15dc86ab87595741c2a053f693ab760ef694f035012f206ab1203db67188464da9d3ca81c92aa7170e52543706b8a695e372cb70219ffff033c4766bd72222227df7cad4dec502c767f4f47fab2a8e87a0dc96d29b86daacb0396b22af6990ddf3cb19d7588443dab4436a63f6b07c55792a457bec429c5152f03f539ba20bf7f451f74b435b4152efc40f26c101099d8286b804cac0eb88f719803225e7d596c7b81c9e790c566c6b58eb327221124b6a2200cc0ec41ad5af833e80312b7ca5d496756c0622c8fee2991fa345c1dd523ae8303a3d327424ec29c0638039798b378b4c3253aebe5dacabf9961d58830b54b1912558019b0c5455acdf3eb03a79260c267f13ff6d05c1788f344ee0ca762e410eb652e445ce1f38c91ed157f030667944c2a0ea5c482f2f006dfd40196f191fe79f3f5990049aefe813732d350036916272db0c841a15c3fa0dfd1736c19b04f3857efe0eebf86b769debe784fba03d9301fd954f922ad60912acadea741c18f609161e297ca9ce77b7856bc584c1903262a01503d2339e56f1edc8435ed508838e97ee9eb127afd61b60cc9c0f133b7034f0aa6bb6afa1d21b54382e424f1b0bb06b937d4ef9533f5777d53a82e15f71f03e43b5586479099f828aa34cffce93e3f4008e93a39d1bcfb9f12921928c3c81603861023a65c7e0ccc8e038c40ca8c31a5a4a1e125a274d9ef0c50c5d246850e7f0219ffff03da095ba4389da777acc91a7580baebcb1ab8e51966a4a7522aa7acd15d0742ce03840f32e9960f8e3433dc102659e180d288c01b521a4872471dd928eaf969907003b41871e3d756e653390439256e8d51f0add8e3141fe10f47646b96c0b3085d2203e35bcee2266545223ba288e0a5527f1fc7f49366e768e009e51793f972a2d35503a571c6e09065a45801354efe2c322bbc08c3d7d1959b116444690d2e7d3495ff035c38343b4d8f102f54e4854edbf056db94db0902058b901565ca36cf3569b40d03c4f0440b4b75529e9a5a3b0e75cd88eb0fd2dc708c7a82e392f6323ea223fc100308ed80ed07165753f90cf92e52de7e17452c04d4434f4dc4a8b3671a0b9c2d550329817536cae56ee32da0b32b9156bce6cf047965a9efa81d8c6862c977ba3f9003a4a0090ffd6ea96d4243b49afeecad62460977a1106e378902f4b6f0890746f90369bf0a6334f39496a1e2c98a74f368df463d57dc079a909a445460272788353503596cd4ddb1292641f517bcb623275d6c4f80faffb29089964f44196696bf1c1603d2259f37c1c7d8300453369500493273731bdd2744a323d3b3f2cb4cf0c9955d03265fc81b9fbfdf2c20903686543e045ab45ba38c013210f1cfa50c2c0879f967035493d532f8b84a87e1ed6aee76897f5ed9f685ae6536f7f43f5b40a82d703a780380d38108b74362869de17288ed16cac138bca95fb6b4830c7aa13b11cf10319803522b7c661b079340c36a0d052400960139286ddbf013e0f4116820fa7d40d2c3030ee06808ef05fc398e442950c25f95cfc49860e236068976f71ee02c23f8f66703ba2a33d7bdb5677138a1cabb485b2ab9044a1364ed557318859290bbb120210503b3c6702ee707aba3a39b358bf48308a8f92e60e5f4ff7b283e42b5c51ed30e92030a9a215a4461a0c9dad4d403f202e2229bd3a8247fab28b0849adfcbcc7f350f03a269334e53e5f988be3f75c3412feb8be5e7b045fa05d7d227c19225f48c2b9d03ed51cd7d884d50c4efe43e7ae73f3cb719d963403194ee5fd5826dfdf9c55d0e030241e002eb84a6208fa732669fc62c0c71e77596ff966250193dd06e69d6e9da03075c40ba49053d41b8b62b01d2223fbac8c064f0018cd6de67755674214cb1dc0390c38746ac40ae66198671f2d5d823604eff0d98bfa0e5f70f89e5c4d7fe175f039777d58c6b27c67408a7530fe37bde180868b055d27dadb1f94693bff5bbcdf303aeb5c4e00c10fb7386566c1dc8e72f2e2ae5c7d6825889990fcd7ec45aad6b1b039fb4cd9b593182d46be3b17d875f6dda7f1612455766f99466ba9bbdd9824dca03c749640de33500c7542fdefc349a1d11b6e3c58473b58d9e2cac1282cea3431100581e026b933efb876dd27151e6d87fcaed5df385df162d52ad1ce6d71a7b376f410500581e02b278076afbc71cdea79303cee0987663cf159099bbd92395e0839d50475820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023c2891df06db8a8e537666ffcc72c26b8fa56dc307fdcbaa4f63576d4f430ad2e000581e02a76fa2b4de48e1714924319615d08d664d9cd4250222496e7f534593635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0263f22a6ae50232cf1fdd8d4aa0c41283d3de9825ce16568315f02c352244400e79a500581e02513db1c4e054885b24e32e13bbfae313af723205a0990c8824ed4fff89430c04e00399250202193f932bbe591424fd5bbc675a23ed209aa647455616ce9ae39884460219944703e7b154739c40fb40af4d9bff58208710d1b6ddd5db31d74d4810a55bfae203150340f168e23117ac125e1770d38477d0371a3a78a139a1c2cec1434a551883456b03859b50beecc020746790fe141d3c68dbdbae4f21b8d69a8a5c8f18e706eb52ff033f9982929162c7db3b421d2e64e1a4963659eb9f65291353622fd9e786574860032878e2022462de6735a04770c118c6a9b01cf79f3a7d4181b84155bc82ef5dfa03147031276951ba944a8752e372b8cc86cd4de36764f620072dab1f456eacbe300219ffff03c4a448788aefdf5bd9ac3a7c143dad77af9c54a0f84673d4403f7afcd645d12703d3d2e5a49fc54c065c66d418b3a045b2b7f701d75a45c97d12be465be8e7f87503b91a495fec23f4f8b19ccf6c18296be58a0edb926da570ad837dd0cf4ede34a50305f1e414f6a08292bc2b6380f5944e20fd4b84696f4e176c4027325731e9a65003bbdf2e5ef6374803cbc0f273823765a11cbe5fdaae4f229386f187cfd3b7b1d203b5738d65bca66b968c1eae1c9865f7b8136dc4560d3049ac5b050bed95a1df4e03c6ea83bf1a1156576da3547a371085c39cb20f8ee045bd0b3b81bce2c395c0c703bfb43a48600ecd32c5a528bf762e315871d8a34290866b8db4d882f23aac905b03cca051c529a5f7bd818cd07a188b523ea9302cd05a5dd4dfe92577af80726f350219ffff03eed41626b1fc960eb3fac463d6f0a86f5ab02635af5ffc7cae16104a12aa1028032c1f999987e88f6c6ba46192b2b8504a9def3b34fe90a8ed0859d46716d4648303b21fe1dbd65a9d2f169e46ba6a85fd5e8130482a17c370e62d63c873fe3991fb03161ed64e4a1e2df4efeabd6336b2a6a827b5cce8b7020da49b2000cfbff0d2bd0219ffff03fc04df7aeaa680601dd82ade9b9dc40ba754234154b4a7e4920f8207e51b518303f02c42630c66817af206a2be1e15f34107135ca5414f88adb7bd1f53e4de87db03dc3653dfe39f54368cf691e1014f87590dbfaa34914cb0fa8344679f4ff88d4d035e948c3f191845cdd31f459dfad1dd86addbb3eff3ad91260d961cad9ab1b93a033e45d3dbba3a6474fafcc4f7ea9aefe77f48dbdcd462af2e81c2b7c66b22c14703aa58115e89540ee53bb16423ebf9e3b0667b0f1c62e9440ce0e56dea7be44abd0338fc143b09f56e9c6eb1618426fb0f849a11f32794e7e2c7075b955e07dd37cf030ca26785fee7555a04d0c2e785557fac562a0e915094cc4ed7584c278b93c0450343bb6d60eade3b3b8f76e4fadec3793a9c5e3c9e343ac3320559e1171128d0c6033982e6f03a0a9998d92da988692f4055f64da1304063286d0b1fc06c3cc447a2038509768a4eda77ee4a074f5cbeb3bebcb0a4fe667a9ee262571166c4929cf54a0354c9d005dbee88333cbfe9e3d89ee8cc2bd2b61a50e27b1d079b0efb99fe42bb03cb72625e88419609e5d2a8a6326eff5b73b5952e35bd350e0d55cea8097fe03c0347229bd9c14c65f62bbd640dfdaf7f5b65e241d35531aeddeef5e5ecdaa23ba80309a3ed1c94b103b1fef5a90563172857da90e5e102ab0d41ac7d279fe4312702034943cb6a54ca30681adf0e7a66186d1405a4b2126415f160614adab0e8190f950372f80ad870eea9eef3540de9ebb213a195ec403f0d7d6cc6053340ceb6c1c8410342e7db89ee7d6420d14509c3900ed747547908a5dc2184ea8cae53de39890505033eaf065f1a100e1a1f8efd2f141156ecfccc2bbdb313e779f9a2d80986e0eef300581e02d780cec8592f8ca1f9a8ec853b373eaa81e046fd4967784634758bb8c643f4240000581e025e43f1965826767df4c73fa320481755f478360f1ddcf0a2db68527b804e04ee2d6d415b85acef80fbfba5e500581e0264c809d482e866ca0a4139f5e223c6956b8137554a1a12fe93f488e36d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0300034867b928fc237defc350cd8a5f0ac5798c165589e3889d9c50a4ff9876ec00581e02199d872e31eb9178c072e8c930bc7accde065f94e785d981b62326453e431e8480030516fa0297ccbbf52e8d3440d0169968eddfad3ddf2d129250fd32ed29df28b700581e0219b4523efbc9a9ce323342ec05f613d839c746a42eb8d709250e8f6944431dcd7800581e02dd3b05efa32842f9316bc6e9bc5be3761ca1af2e6a7b7393ca867aa7ae465af310792db603ccbdd9f3d6ddc621e091b04ebe487913ae2c583d7a09ed80a27b111881d73493021997a3030f4b5f61732b9579f8b555769220cb4420a7bf5730458c3e80ad43e1972ee63f03bfd022a20a276a7b013b5afcf689ba3f05be1fa5a997acdbc217eddba0b6ec3703708f8451738d05df21103b9d9f9d7c6bf8a3404889129adbef3968a8f0d31ed8038bed666bc2f5f558eec11abf7a597b1331752d1ae427fd67e9e3e8a70788d85303ed21ece3e52702b02f9747945002a1caa7703b844f3543449772fdf3acf4a7e50219ffff039f7c414b214d021d6941793175cd955e74dead4bc3f0510e4bc52ed05320573603d646b96ebe2b5e35e03768d6f7f26695b6223d4d794b6a9964b7f2280f49a02b037304184261dc5152b40f3454bdf6b5abde73574596bf347b59cdec298963b3cd03cab0948943e87094d7536f55ee5e6a905626e43774c92d64c5047bdf988e909d03636f745854b3eff5c3b875ed15092ebfecca0ad70a470ee6b136c252dfd174c803881deef1f656fff952fecc000eddd46ff20b79360340120dfa27b9d76500e6c60219ffff03d8964391be1dde2123254c62dd3c115a521ead1c033d2f3a63a7aec44831dfb703ec9f888e0dfdb8c06df23a9af57e23125980096d7690887c56322af3c2e87f0d03256e506866ac76efbe2e04069b6bce1df2a329ebec39cb55c6b2ede70081707f03be4a18713bd0508d711e9c99d1f09aa4f7cad43f9f7bda16721e47b5332f83ad03ce2c28bbb45ae6f7997d803eab8155f4f988dbffaaa906f1cb12b0d8ff03876403ed10bf96fbe0f527f21b53bd2bd6ea68ff4a56cb5aca25bbec66f89e9f92574503c476106a597a5a45c4992e83eccc335a950e39a54447d1852acaf607b4385f630392dc3de34a2df5f0710c12ceb1dd15521a1d3443848b982db42e2433d290504c032fb8c67579f4a29c04b0d0399f587bad90158bc4f5cdc99bf1a7bd100bc083b803ef7543d1042099aaf8aca3afbbde0821809a62174852ed506a6d5531bcb524a203deb04ccd3e6d680e2da308fc3eec17fdb2f4325b85cbe285fe26f40b9c805cae0394e7853a8ad48c1e85e52b98c71fd778310f0d29869446142229edfc39beafb6034402b133c5736938f9cf254c283f66ed68b54e6d7efd3867368fb245d08a7c63034d672542a9e584570add95c6a2666e3378c117a8ddc80b1c01d79e41a4fd51360339d26b50f57e487bf02744435033001d6e9360631b76f2cf6d158ba4696429ad0219ffff03b981fa8988146cf44cbfd2e26246a9904369cf5cf355a69999f945eaf067193f0349a8cb087833cd5ca06cc8a9c1f4b56c8c3ec0111d480b98dc87d2fb4c20a7bb0219ffff037d011eaa9f8e08b49f406b05c647a728c671aff1142d252339e7b73b09ebfc7e039ccfedb57d9b0f80b0f742df21b001a5ae56e71a9460e73a4776d07a1caf86c70360241dd80519b834bfc15bdd6697c4887a13b8b7027916147c51026d8a0e565003b5a8134b6365e0118469fa73922cc3c7a220ab9b7220fd1697553035ad9884960382e915086f50aa6ad8e3490d82349c7b8a1ab651fad54df50abf8915164275bc0385a9ab60f5d11a18853b2839a356182ed84edc39bc2feafccd065aae169708f403af8f0c7016fdf8ccba2c67c14aa6d76d8acb9162b1a9576631d4777d8d94c25d0361af160c4df3085e0869b42013cb69a1311af5e305412829231ba4ee1f840aa403391bde829b93cc7556eaa64dc19852f631411b85d44e227b33ec6101c4dd6b4503cadb0f4992cc45876aaee7221ee3033a0dc2958f8ad510e71b85f2630d6407ee030351a377e3de6de63d26c038fe9fe0f8649aa3af0209236770f330c9debfc35f0372e5a7797860e2b36616e6ac2b29f874ea4a7657601c439c885725b84a57ce6103afa57f33f5d55f88c0fe5b6c8d1ec7a3e658b9ae4cf51b3024d7fb184b1b9a2603ea3b10e5a86b785a2b45dcaa65e380b1f922b5b495bde14eb2fb8c92a1471aa7038b7a83ccc89edb89d939a6cd46e14e735b70ae500ca99e8c556550160ef991ec03ecb1e8f22584779adf4657d8759c62dc9bb4727c224fcd3c68f079fdac753c1c036d3b3bbd6d607984a3213561177ae808b48ae600214cf2f6f735551458a6420b0372c354856626b8f76edfa91aba4ae77ee9623246864dc1e0aacbfa8ed824c37e035bc92f4e1b89c2f863dd9d7137e4da0eaac9bdbf8395ba71e89fd6d89ce6d1c303cc40dc0b48488fc02bfb1978c873ced4b66fb10739f276c19a98f2dd85937a9700581e02b730514226685217b1513e7760985ffabe1d4b95088d4c0ef121de40055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fde04122eebdcf9a5dcf439a9463bd9147624551e038c82200be881db44401a5dc3e00581e022694cc7d11547f600f7386927748c5bc634a0e8c2864a39971514fa2dd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03e21067c292ae63375612d6e3fb1ca53b96bdfe18baede298347af479704c033b2e3c9fd0803cca329b0000581e0324b4872b09a204fff0863837ecf48583cba06240fb99dbbe2ef02e0e104506fc23ac0002182400581e029e4318fa86b448bf1ade9792a278bf4499035c34405ee95f98fb7459d75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034c10fd56bbc3457b414223ff0165b2d691c39db44c7f7ba7022c2bf74e92e83500581e02c835c8526fb279ee9eef92f814bd44aec25c7f562aa3abd4606c3b15a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0216a58a0b4471388334ad3dc667675a689efdaf6ee0539a2809de9e35bf432783a002199cb8039ba3df1c867bffccd969923ca3a63a8377f780171ac6eeb7707229cc46e608fc030d444470e7e021f16e117710d0bd2de458c158b118b6a6a3335f02cbc5d30ba30371e019cdc3dfa54d5934c5b602e11ec282f5abaf4200fe87cdb012e02e1c77e403e80595302f386797e80c1b05496354105a9ffa71c0161392bdbb99023919d0b7032a97014478469d12cdbb3a91d644eac69f5ce6be829de4c8b240515b78c8e4b20219ffff036d828cf47ee92c2a33374ce1d15e172ba832efafdcd2581f39ef1d4e73703fc203c555979fb43dc10c9070ba6d06454f053f9229a2084a18d7d91cd0291fb92bfc0304c156c15f667a8a3f4b312f12e83482cd7bee0a9f22c7cbe1f28fc0848c699b031ab3d3611d8d5aee5c4a390467c2aa1b1a4b7d062f0023ef381d56b229a6352303f4dc3caf25eb4680d9d9f7378bff49642b638cbd3311750120a0221539e64b6e034528c0d0c06bda25537863a37d22a24b5cc543f25f0f2b8928d0ed4d4cfa7f340337206e00a39064ea10e5bca0f43fe34718e87ae937e5b198395a00330414cf16036b1ab0c9e17f69844dfcca49e85bdb835ba2a26c837ca429b72df465040db23b03ae36eca48fc9feccfef1320080f88259008f428ee684da7fc9f308f5bdad4e53034ca92d4144fb9f6441dd0635ab19d61eef25c8c674fa01a24ee6d2a58eb684f0035204ff9ea50cc0ae7784c9a22e3502d1f42b3b063165727121696d91d6b663bc0219ffff03d08a3e63c420c196a1ad4c3470c7733660146cc1a08c36f5db09432fc4ed8b2b0393dbd853c3ff6869d3fe790c838e9e36003343b31e2e762e7cea8b0640873bc2030d55545af3f5999b59df75848354a295af5fd39e77d17879de322333ae56298f0387cc79a940905d85b5e731da7b482f7a10bbeb80d8f1550be508bb03b0adf1d2035c599c2a76cdcaa39a4192d135a3a239de6433d148d5467931909a0d94ba236503fece370edc0da5a048c71976cb48c5439c870885fe8576584c1f28ae8f021d220348fb477e0320ff9ff3b01b914c7cd846d4350447ad48939e810b94e67d8a2f79036ab9fb3b6525042b76dcd13df578137adba58f53b25b9b11c85273f194327dc603cae2be0b40773ee1b18c6b3722a5560b07f44446449d6d9a99e1b64f5b93d8eb039e2330bb83cdcf65812708fc48447a1cf970e7c708e5e61393f77688d3dc881f03c7c6ad905eb97dbc1a3bf6852936fe6b0752d914541fca6c3925b970dcf3f4bd0219ffff03aabb360873461b65d6027e5cdb235e79a7522848cc9e5ef38291cc9844d7e82b030722e8741a95506b6ed675ad5c3eafd75dfc6de153ef89a4e92f189d91d7dbdb0393ffa3797e0b6c8a9c86b94401990a12f95d9fa032d338a93febf2ba6150fe070335342aa6b49e87f7056bbea787270491cfb474acd57dc00e151af5f2421d76e803cc75d189508b0a01eb9234cdeac5d33f364ff88e5f07405ab0eebced06883f7d036a1be0c7f4133fb6f912d0bb8b23384350aa8d811050ba760406b442371d43e303806733bfcd80baf5c8b2951ec97c8aad1fcdbf5d56b9013f018a71a7d6fb038f03d70f97dfc16b6aee4319118cbc09f5786d3ad5ccdbab70b381cdd09837a05d7603c0ee11431411cb0bd9f380894cc3357c27a5ddc52b6bab9a7376a3f08d9cd05403fb8374503c0858256526d8aeab77e56b335795a2c28071a3e91d38b0f758823d0309d8a6357ce15cbdef49b0e10e5fddd8bda0c5db6d02501c0921f1da902ff4a003f0111a528db279d62cf7905131679d451dbc8817ccf6266d567c453cefd027160370fafcce135e03371100bc01345acf5a5dc5d4c5db19bc578dc8456ee7351843031051cb00244573a977612298f7f9c6eefa29d875c558058f5b4a46d0d5a9cd91032321d378c9d731e22ee9494c5d50864345264c30d4d77d0f78b84ba932f9f96b03f23a6b4ac3ea13b7044a4e9fa98f9686717368114c03bee96c818f52f07dcc67039a37f5e5cccc08b747621925a62b0419aee95d3e395eb657a3b8a64dd26d5428030cfcc724f7c46d4872b58aa3a58e726c7496b33533b1c4fa73e4707c668fbaa203e09624632c5df39f8629c22d1b64498f1fb5b52c9b553aab22ae8878c4cc6cd303c9e12e62e5ad57c55d5cea82c882bda2da00127ddab715f871d114f140419ff40395b0680716b7bf5e24ee6a33e9a60691e76d59a4e2442d5c11ac2a8a4382c5e00350b5b9ee0dfa52067559fdd6d23843763288dbf9fd5872394c9f6a17974c140b03442a335945c74da838a42eb761d7eade2e62574423a1b7b355c0405c3aa5550503c32b87ecd3f31927f073345389ce4a5e93e4b0dcc2de6a9116b632615f2e230e03b0b8555a4c67aab55ac4c5d3ee31e657404da14ea5c1476c2371efb66212623d0327c25b0dab15158865b5f446bd8044693b6828d176b88928d44f9008eebb562c0395e90741561d21cbc8c8c2c5ed216aa546951769512b81f823cee97b8e94666703352b8e93716518cbbf4840452a7fb344ed3cdcf03737ae1427f47c92c529c6a303811883ed73f9b67b50b8c88603d5835ed8a173f2c27f6f1a03013852740748f603e9e05f1db89f640d464fa1576de87297f3b4b410b50146c1a0c05fe8217ef09300581e023f2658cff87c751130598d1f8be663793cfd48164f1b308cb083658ea15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e7f3e66d06c79627107e5819f6a69c00771e55c1522cecd53d9188456e43031f1400581e0212756d6b1814cdfe586df4b72443bdb7f3e580ff50d341df357f6e33b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219041803555eef7da761fdf084fd114f7790895f5ddaad88474dbfe08f91f386f0b489c103a2d76f1d5a61f73b5913421656f812eb84838c0febd0d05fca0c3af65cddf912035980be116ea4593c1abad4fb908998782005c04d8b8357ed65db4bef6d98db2803b69553636f77d9265fb8e3a1914e8bc63069865acb72fdecd3ef5ddff42bd63c03bde4a4ab2e204763a315322a486677419036161dab6c0add82a40301062d5c1b031ee5fa2ba65b25187f2d986db44877cd90db94c9a262e65e024fc5f1cd3ecdd403fb98116fa840f188ecff34a79b556e7448267421215f89cf55eef82c706f6fc2032fa938db7a19e11c8c008a304127a54e1d39ea4ad0cd650ff78fed5677524721038fce474175411b23f9f555d893da7299785743f30c8bd4ba44b56a2999e736ab03f34a95b4cf06e0435e33faf208ecf58dbc4016f2ec409bd1a256d07e14f79e97038d4bd1abb898fa9158b8f9e10a2b940cd019d61abfd8bc75bf46450c8d1acb690219ffff03072a175a30c52bcd994b8fe7f464dc17b48bbffb5e3ab30ddc5a17da340c25160370bb29b06ef953a2fa2b8bdf79f43b3fde2124bfff1c15644ba09266f235de570333187761ddd14496133e75349aea800a5a8d0181a829ee4165b0131c74286ddd03fbfffe5dea11b6484cd94ea97c94e557d4d4faf44fd0f7d60c8b5d5d894660b60219ffff0360ae6a7230a23bc55c01e1f4c8f3114624684a7205df93484eb67540679f77f80219ffff03ed67e4a73864b35cf5a1beb5a9e34cda7b8e0629cdd39754dd9438559b36692003b139c837067cff8d527745c94c36bf60e5b5b4f26789942f4226658fcab58a7c03096752bc327e5a18ec74c82724e4f369b102c1cec6b6576372308b0654a8314f03d87069614240261f07d0d50d27e1843bf194660ab48f3326659e3be445956edc0380a440c9d8294ba4a1ebfeb5ea7b36ba5062ea3ce1cfb4d4ad777e298254992f039098d22d4325253775c1d02076d5da98f65172098c0976e3ebcbf2ee836f957803e52547a96e545cf78f0af4a53f5dc315a7a5126a5d6497cfe76d16ad0d6c25a10360808f9cadff4a33df8febebb9be71b885f24b8bf48a7c560d8a0ec79049675b038cf5a24b65ea24ff8110c341a5c41357ea85a31db91373b72c8d2dc3b5c1d04c03c9acc952c22e311527d8157f94a3c5ca555783f492e92ea3dcbb476711e8831b00581e02b1ba2e01ce388d6eae6133f41f0c5bb69c133d9e0f02c32bf082c14ce1450eb1c5b7c500581e028b2d256ff38671033d0f6b85150cb188418896079bcae09d657ae5eacf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02014d4afe3b881d638e8bfe427419b6d493e4c682293ca99e40cf198a5744019a817e00581e02adc07933cba728287221d45e4844a576c7b344bafc9e465991f305c5295820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02154c7a1de4e6685270ca280b231368154d2f45de732e001b4ad8f5ce424345f62800581e026b1c5f7e195493ea5c394eb1e7255174c4ccc68ecc0f7468cef399580f441172535a00581e0203e2963f99e0095afdc518dc3fba97372872af470f2cd08a776b85ac7f4402f2882800581e029d845294c6c09f96c223931167b792ec4ea6a84a98c178c8572f124aa7410200581e0289948633feb57d8ade9bc019d2841f11ac572e3c9f11dd374cc852997b433d090002192f7803446a3f4326549bb4d0f7f74fbca6de7ac786db78e80706fbb48ffef7fb97318003e6fe6c74bf04f620fc79031331a0f8c7cb330c956f104a7166c21a409ee5faae03c47f5c30dd202b8674ed7bbda180aad2008e2b3b0ac6f46c722446b9d0180692039da44d6801f8dd88b5a410996594a4ac04f5a6b7c5d0568e08da5d890fa03d9c03ba46ccf794afaea87933d0357b2ba42f7791af3b7991326ae3ed282db33aa92803a31572c7b50e591ade767eae1e252796aa0fe18902a2f48c1d1dcfa31f08579803f656a7b22d94a318ad2fdb70d969d222583949168db97cdbc88539331ca709b80219ffff032e1369e21c84e673b47085247e25f0a475422fe7df11799b97de9ab10e6a79ac03e77a0005c95d366e2da5070449c2bd5bb8f9aac7b83760b6997dc3204179bc0303a196acc7ca31ea3b9d6661bf778aac0d11c4540146cdce9ff3500569a175c995039a299bb1e8368cf0b6298a5b150a8f0ea91f27ad8ccf3b7c635c947c4a4945940382de3e5ed7d8725c4f386ed19e5cd0e61f7f15031c4cd15b6319ce66f54be26103599a79368346954699d00bc72f7fab8e4d68084e4e40a895d2c51fdfd9227d3103d55257129023f2007d4204b5b90a519977e2c75e780617724a04e884bd8745fb031abecb731d4a25283b79316a079990a4c91e514d1cfe25dc3002e6e6f8a4d4b3036fbb5e10266f69e881f211fe367812e304e431e21d873a7b00d672b74e7b125f03a5ae5fe45c4c3aa29d1ba740e96777f2cf2f95d7f3cbdc23c18947ef9f5753c703cb78f199c5af968385999a276f72d4c6ae39387e3ae7a33b368228a43160f97f0351d57bd8d05d84c6868a6cad63ad3a0001739a03e905968cca3a7ebf271bc74003428375bb6eb23cb91dece6f0618c733cbc98398574f67ba2fa0119894094a9f703ee901dbd5c20f85a49165449a867f3ffa62f525f26ca986b8a3ce3d626b2e87103123963e0cf6c6793efd13471e84d1a0aeae344f1488a4b16529fb39c0708e0a20219ffff036c71dd65e2a770557f894aaeef0a26eda74e0d6bcbdff5770012e7a969c449b9035b96a5e21273d331699fb5bb65dbe620de46424197cfb42142fd399db85946f603f33c15156c9ee96dc5c1e18b5f3d409a345eec7a81df574d2a9706a1bbd4bdb20309c82d2d35e53d1122f1410545ee1697f6cec2c23d4ec1c271885a924b31bbbe03cb55c84d0ad0e31717c3e99e3454bb1c55d9faf3f6a69a738297ec4f0c9b175a03d718396c82587d138b222b29ab86d25087276f4cfd443c007fef0aabf6e319ee0310b57eee5c2d78f9fcab32dabb3e95f5c4bf75908785e8640d89d4a4f65fa193039ce281573a2c5e4403916fff86b5e0d659b7d566e4d884e2c2bf730f77416d5f031b93bb8288f961ce0ac1c74909a58fe8c075482d7d0000ca2c04fd72fd6127b303972c3967a7127460d58b0d2e5fda74ebe03c68901bc4645140e2f037b42539a303303bef4cfdce0bab70ed9afad0c156992abfb6ee63f033585e72cf98ae273b950391ad01dfc914ed82dd75f2a9e0ea0fe8093db879c6b525228c6f6f690e1b083d03096383e67477a9c0d8e357811f4212c6a142d47fdf6e87fcdd70fa371994ecb3032a7c01892df0b5df788c44424f015a4933bc064b4c22d3c067a1dae1c19b57c60350c0e5ec7a5d557b8af7bb62916e42c9a1c58f70b132f042e1fc2608dd5024610219ffff03a265c4029da11318a8209f2303ae5199167ca913bd0cd80ec6e786e454776742032ecc1825fa212976b07480ba6026608ba3e6eac51285f3b92dea786c8c48e1360360212fbad62bc0c75ae123ea650c3f0c492f9ca29df3986e6ea2d2714056e0f303c44d0a98dc73165f511ea9328c133bc15419cf7902fd90c5627ff46fce8bd56003680b1e7518c3600818fdaf211f0a8427ec2201bac10f6e588b660c4d0642e63a033d20dcffd3c18e05d5c4d04ad93b1e359d151a3b6365a027c5df20c145ecb07d03a9569effba9ffb0dfefef18b0840a7de223faec13a9d0a95d5d6501bc167b82403203b9cda3e5e93bdd61375555be6b47df538e63f8c3ad0b166ee3f220b0b5c68033b909e6c7fad9462c807d41d93b0fdc206826872b1b549305da9d61da83bfded033bf1cba9a9812dce2aa90a7a014816d05d90affadfdf35c9e2631bb5c93c09f703d789473527a8b09836abd86286941061c3fb800d4f2686233b19bf695efbc71203e635d08587c9d4a49b57069cce683c9750fe162bae6a0df4097e679f4c2b6b47037bbc15cbb9e2f10e98fb556699321fb1a9576a24dcfc0ff93fa99e245f7f25e803e88d7dfc336351733af8521eb25a82758245ac5fd0e34aa7527e1ba20ecd1e7203f3d6f86f2c3f29b6b7c48d751f5486c72da2efe49367940fd9a973195341a07c0343f7d4a9a729e4f07d8b1ee2802f7962162d3eb7077021e4dfddb1f9cc5d6cc003f4756b893ef5782cf5082ddf88ab9d816930a943479175167872f9b54a53078803162c2c60479ae02e073501cc2afa141390ef5a3b4f14bab710163528f71fd8ed03e355fc8cadec0d79136dde2ff17419e8de99da939548e9acee53ecc5bfbb1fc200581e0212f4fa2a9c4c91147b4c33114be58c066fc90c0815a8167a2a94614b94432a3dcb00581e03879b5128474e71f958a68ec528ebb93a05e427eed5bee6b45ee0461e1046059ea0fa542e00581e0368b89337d40441b7c8dfe1cfa4e68026b9d61f1b2e1335926702e1a880430186a00219042000581e025d58de6a65e7c8c8d1197e74debbbd284347db03f0e1eae9b6815958e65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f672e050d77bbf84153d305ce0940d72273d0861bf80681f6ff55fb11b437625b700581e02aadbdbaa5e681b9f76f20a45e7d6c552b997713de11249bbfbcf0e27495820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029202daa073a3901b4ac30c4b917a212b966da1ca0f82e79bba1f0f17e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02195283036522f874ede30235824b13f399cebed0f58dfe73b05343e0832e656613b96959031110724530dc3a955cdd6b2f362d3f70f23ac251a6827f257505e34fe9fe9d110376ceafc81087855ff044c595975e28d49f1b8a2c5e96e7c2693042b93b33257c030a09258649ddc03520329b0f01a1e7cbc33449e57e5640f693aed880526479c60219ffff0371e75f12c0f77e6dd33b99b8e65f8b208709369122a943ff402c014ef6252e350314c2339488164baea01b2754937e896a33715f955c3dde441354397708ac5ed603ed6a139d43b119dc96e8b50b2a4d154c0589f75511339d5c14f609777c3ed2ac03d1618f588ca1d756f5dde45f8d463c86b13dd1adfcf95b0e9dd47ffae028f12703996beecf69ab82d5b792eb4f92da15d281be672eecbc05ddae1d04d73972e53203cc4b343d87496633c8089b53cca28c08d8ecb69fc0213c9260002ad119587c8203200761dd73429df716cb0fe236505f3a8ea467bc3f4eccc6b7eef6cc5e8d773503197e099d02c51c61f921c6be15560f0629acef5fba9786de07e7cea4e1b6168603ee05b37613844bbdc1f309be69f01fd60317fe600d22979e9504ef3aa35c50ad032687265e1407299573a8cbcfedb1caba9850d8a34c905747656ffe978064c66403d75e3c6a14dec204a2170370aca8140592b4fee37ba284f94c5bc4887c318c9c03ffab6f30fece9f3035ab8ee2cf0578bb103f2e389d2a1d26da34109888be943d0219ffff036f203dd304807cf3c479df5888c8bbcd041e8ce0119c8b132360cc7cb88491c603672f77faf3cae2ac1c208eeab5e3a8ddb08c10766a8cf9775a6d41b7c44b61df03492bd4431f099f5ba97bd7cdf34dcb30211c148091e9e018ad887e1742bb7cd103e448f8942aa446dc8ec5e2cd98faf71e9fe5b0f35214ab142c819be3f2a93baa03017e4e381f106d53252f27e193f184b6cabb9355a1fec2a38829b8a07d2d1e9d03bf8cf7cde2c5b216ae4a9efdb31313fc42d0a37fa2984fc48060d7d8e2e4586a03c3218f394574bdfad9c50bd0f3072eec8fcbdf0a935bbd2bbc9a6b7ec467ce020382112c62c75b4cbcbf59ec89fd1871599e03cf3dc9bc616823bd671bda5023ec03cde782b73e085294e18a67e7e0b83fd1988292fffca453e1effc1dbac94aac6503aa9d9f11604deb6c49356928b85287f695394d41946460494e3a82f25ce9a8a40395fcc327f42bcd26a953bd92bbdaac29dc31ba938a12139e43c8aa283e35493b03e3bc9b5a91a81709827e291105d96d1c9fbf19297792e493a15c0b554a0c07c203876dff542af607a4b2aac3373da8ef730e024ca321f8b7dd957e62f693798ebf038d0d10d9385f0e7f0af1a453a32be02a56ea9bdc4079c12b333b8035ee6a963e0395936459d60c050674f430b5ba22af55986f3862f834a73aa01f48f3ad4eaf9a03348837e0a3c342190a044a421fcb3e70efbe43be8d8cc5405204106368da94110326171c8563397a3ee12e8d20a2c635b9adfeb57711e2dac4ed5fbcec94aa7fad038619010e0f4633b11197d569e5d91c3c323b368b29774a7d891b45b39b8948920358953d45ff86a7ff1fd746bfdab863cf46b42bac3779e822430b9b2cc0a19a7503cdaf9b05319635038e744071590538c699d9b76e80176c3e779fd04c140ae80203830224d6a1e790a402ba18e805c293b4b8a4c95065731617760e55d3c6d145ad036bb14670adba80382264500da6821425c3cea98ad2be2ab31e741c71a4bbb20d0302acee2056a18ec697782ce15a1c7ed65f4730500bc9e8a9cc94e3ea83de64bf0302f14498e89a2606f842f3edf5396d6728841c254ef0813d5affcb13d0a5f06e030b9f6209fa0a4dcfccf34e953b366a78645f48b2f8046c7bdc71ffcc938381200319902f9ca21b00b7e30bd838fabef387d04495f8fc5ca38188c76551ce48d52303765aa7c400dd52bd359ed17e353c6e354b3e9a628798409484fb960ccc762cf3031bc6f3ebc16be944ee60c155e29394ad0896f58a655405830a240d63cdbd111300581e036b116ce423ba814bcdc0d5e48f79b5f69e2a48cf0ac7e7032850801f7044086a4e3c00581e03a1492255ccf722ee11f175761fba32b1ac4b8dbaaf5438b38b6b4582105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219100403974fab13ced9884058f9e88d52f98d59937a2c09bebe119485dd44798ddd512d00581e02de345860d1afe15f749c215671440b65fd14be9139c78250dc5a00db8443799cd000581e027809757324970fd75c2f559630bb55c0658b86b990b05c84095c28c2fd431fb5f700581e02934af0060a3c366b5cd195dfa4db9ce7d29ae5a6c5a02111a0e32785125820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022ac6cbeed79a7076431b907852f279080719fc00f92be7d52ab87dc52c43f6e32000581e0257a5be16062c41bf9345310f2660e7aedbb80595b088cb8502179c11884402625a0000581e02f2bbc30322f24afe200dec6e1fca08642ebb4221e3e4b393bd84b40c195820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e03c1b9a14b0768dd83afe5693651d444b8352456ca6a55e19dd7a77154398968000581e02ca1fe55f6432c0237dbf119315e1c0388ff4e3fe27046b66813e773429410200581e021543b687ed506fa2f2229cd86005756ec52fd6983bcdf1026f5458de685820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219eaed0318c12a52a99ceb17de70b54a6c995a70d641c965161d52ddec30e332322c289c0351f9e9717f635948195016027718628fba415f2a8f858f6297fd69641b117b3103c4dfd830b459f066524204b71cea9327c89e8426624db2cf5ce0e2ea2b891d430367abe0ced4b48cafb9576ae1890d49201135aeef791adc68c5c184aabeb88cc1034eea06f92d595a0fc4bdedd91c992614766e2f869077f0843922f606096bc4fc0360e1ff5210960fab33102b840067eacd13b18c58a22348824b4803b15ad2d08f03ee1ef9d6b8c1e2fa4a7627c73c6375803d273b5651a3639b89194995c51ac89903c9fc107aa3d1e544195830815f74005ebbb21fa2ca62825ef1487eb70fd583de03eb0390093c50fc0b8980a6f194952efb78eee8bd2fb7a2ccaa6121972e226180031b6f7ff3b1afd50071411e9bae1ed7f3c921fcb1f74008cb1881176a9a1370f60353c8d3b08bfb7ededff2a94492d2fcf064d97e8430696211fdec377664826b3d0219ffff0219ffff0219ffff039007138188af8ba0393bf2cd3718daf13d9663cc5a25b044c7992e4da955e0bb03bf0e5cac5ba8ff86bbc6cd010b7db184a98d66b2605d8ff5bb713dd0d78e1e7c033ba667f3017f26fb3833680c0185dfe3adf2bf09f9273138dcb109838537f32303c441f7d50bbf93d7f52a71ff02949d9352d34f8c0018d6835f7c8940d6e21bef0350536cc749f2ea964eaf21d4540ee46901211d2de7670a5dd29c0401d23599c203758b314fe7b5181caeaea71a75c1a559ce49300dc8daffbb1554d814ba2f882f03a0e7b397b34bc9b9a4dfc23d8e83367a5766f41882aa03dfa12ea1d79e5e793803e01285945c53839c68541d3408c0f68af74301cdeda800bc2cce35cf13225d8c034da9db7d7810693c1d70270b461f819e0c2fd818c59e88e7b5684367de4f595603c095b62206d2dac6881a19ab97c98344205aadd28432e2745195edb12609673a030e6134e6db1c0f9aaaa49214dd1acbd343b95527cfb78438d6b434b799ae4f4403c4c91f7cf7685e8d601ae9efb1cc7fa1d5d13c33b11198760b2b84380cc5a799035e46a4520c2f41ae8bab122420da6b0370c93cd96746cc9c295abfbc61150cd50375726db597752d07307c51d8df10aa8ad9abb368c94c96de3b7a49367b41d1b903e6c6dd08d036518b586bb0f8e6a107fd2b5fc2330489b838c8c689d3e39dd7b20325bd50c71df2d564d114b1fcc770db28739ac55fe793d5e67ea8003e8c61ed3c036b83a1512f4387b13e7478475ac982a9c17d7484223dfa081c504c2aa3d6ae63035eef2fdd0c5aab062035d33f8cbde5f94e9da02193343017d2a1f3131a53de150381a6e0fbd56afe7e3ed391303c064e9a972918471a89cdbf320de656fda6a10b03abc2ee65c421d660223f2d494d61f2de526dc517127a8ac32262789bb90431f9033f91ab2b253f5dacd9d04377ea353aa42156665c8aa03865f4c8a8c204bfed17036d8b03d4da988a2678bab4982f6818972b33dc1cf9f03d666bd19377c03b825f034526eb67242ffc443cdee3297fb75b79d4d06dc6b2c1f2813ea6eebb61f1dde203bd4d192e50e11aebd4a9dec49adf47f9a19a638314289a5572f35c58bb8c04ff03168730347f2eb52f485f5283d204c8fa8ae9c89f8b4ca115c924d3b3281bde7b00581e02d46376772016629556267648d0a638a875473c3be452fcc9f18a498dd0430186a000581e023c3c524c966c82af3ee8d0ccffa23347e51cd7382dc4c56d5379f2f35f4429305be000581e0209e11d728936d2f17c9e23ab8faed169f140443504bd01b7351f217704457d3eded21400581e02d38dbabb39a70f13f81cdb08f1470863e004e8c1fe2d6575864266a18643e4e1c000581e0292636d334bdfba781283588530ac82f495dd69d3343b9476e60e183286440106738000581e027d8271393bc64e69c88f2fbc6414ce80d698d07ff4d1aa5a97d6e37e625820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027db29e9f0457d0c38702e274bf60cb63c0df557594ff26f3174e482d28450111ff47a203d2db25e1b072152197054ce9925d4e8ce7631265d1a022e557440c76a42ad68602196a56038f8dfe4c38dc869ef58b7be43a020909c8f26b665a8490e5d4ada34ebfbd17b603edca6bec5aa62cc91c8e0e3d20a35d51ed58870b7a46e577f2466ecadb4448050219ffff032c6d13cd14892ba34fd2df3f47c209a324734d476ccc022a95a06fbd42eb24c0039d4d092cb5e142765c075654dcb176d96422d5a222ef78b4a8871a53d2e61ff103ab4935358235756c9db3f65389bb4d139e512a8b8e7a4e5a5c3f69cd7e9aad48034fb45a59953c7aab6ac10eac935767b54353ff46ca5c434a31d097c50c6900b503a225a6ef0e441f978a1c3c4c5ce3612f0dae20498dc914432e1658209f3934000383596d7fa35106534406ce96a79662c8280b3e4546b176d5122c8e01179f97630319752a06e60527a18668bcd826a50a3501e45bf76ab39d7d7323c48d527d35cb03392b001c431752deb7efce1a175fb305ead2a069018810fbb439244a10ac991c0301d2cbd7bd6a19d23410e816d45d02cbd34e22075de41a77588238f82ca29b2e03c6b244f0201521984e83a487effc916560eeb2a4e09cf78f47427be28966717503e7ce1b711e5425716c93d70dd39e70488233e5ec0080c130a535714053ce7079032d749548a9fad9e85d8986e4a4bf1eba33743be460f9063b244bedeea6c4f06303fa7f4487a84d723992aece2763df26219794a011cd3bb36732aab61a77cbb80c0219ffff03649180e0ea42770d77849f55464310d1df3fe7555210b67e2440f34d8b8ce3bc03701605278b5022bc509d5fa889749372a55e0d93dc5398aac5cf46e33494a59e03817c6203ecb08c687b18f876a24a2695d92fd22a50459fa35fbb182ab6d0f55f03d492528eddd0e3ae1271158dddf81743313dbfaae7ad02bf8f7fa1c19a3aef3a03a41a4a834313cd5f689edb898bf86c1cf1971c927034e9311028f11ffef2008e03052288d3b5dd1c306949c0f2c441647bf084c4d48b0aec673dd5390b0040b2ea0219ffff0357f969a112426ce1d55e6e27bc0e8569e7c9b320049e933237cb97816e67e8ae03485efc8a9783db0378bfe016091b55e18cc9a86f512ea6e425666fecb74e80b503cc97064c282627206486b75f599c2d03aff72a4baa76149f9f1ce2f09ece522503dda0c5386ee70221eecf33f497fcc75f6e24539361a481349c222286c55223d003c13907290e7afaa97aa7f51ae77ffb37e0816fd1f48a7d33cd37742f2164e242038d4b84de91683784deba00b245110d4f1149792d574696158b3a36db14d8a47f03d115ff7d341df594ab9128e5073ba8cfc0f32b8dcc22d101ba231ae9e25bd333034deb44223f884d7286640bc7e26b662754ad41a7b77d852299d86b5d0197820803eb52625653a2ae8bfb73d0ce8f022001c001ce25f7c1c5c95ec90da0a5d543f203e6eb174f6b12b96f81fac80c94243f3e0f8080629553e8af12822b76b32c52fb03704dec41eae4337d67df9739eedc4b4bc050dea80391701b6ad5c4479ef00cf703ee5458ec78fe0faf4c4553111ebf0561e7f818aa9e660dedf01cd3e523f9b10800581e023a0049059c24717b3fe43fea3b7ea322145445cc5b5f13694d34a51c9a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023d2f8cfc242c276dd93035fed0fc4245edf68768229ab7a048862441204504f927bc0000581e02e5def6a78ba6ed981fe4c68410d4f3db947b170098ac39c17e9648298644041b1ecf0219049003b3f786b1bf531ab8db55a7477f64f12b43e2166296e1f889a8d2270c85122153035346f7fd957d788877baa3bd76fad7387d61e1002dec0171ecb6c97ed23a6bf10321ff5ca5bce6e117f93c118ab2f5712498232d3a490b783b3fae97f7a4abed7403962b9e3b9b24bb686e714b37438969ef9574c21872644521e0d16260024275ee03bb4a1883012442ee559876241e29f87def76bec3567610e690fd4084b7a463100399e70374f0f03609e22b48b85b91a06b6b1fd59ee0afa07bad31e9da02e02c64037013ad531b7731b083a77697f83b71ce567c4311bd6357d30ce1fd29fdf0db57039558e667cf7549c073383994fbeeb9da2de567dcdac40bfbb1e52003d4fac80403e0f2607944424941d6c18d71707b2df0fe62ecb4ab6b553cfb2dcd1ec230e39103c00585287870431c81b9fbbeb09df131999ba63a18201399193c8924516df83e03990803f8b8b2ce52121c01e0ad66fc83f841cf1fd700cb5afff2620ac4e5a0bd03a026344b1dd7cca7a5a9621078f712829b98ce6ec6d71f49f6672c554b3047dd03478d25a999068b30f34056cdfb768748ed1ea6d06e22bb5691c02a93104c1bc00219ffff0371018b1d75eb5d8a4e8b6ca1912d8ed2feb1d5fb2852ccc06942ec4294e8565703d57dcc34dd9efae53b32da9847d9cf1d744db8499c8c4593e3553d6421f4bc6603e215e73057bb51631a8e89811c088166607b268b7e811d53e9dc7618f7e6377e03315c0c9980161926963fc6152347c50a88de0866a26bc67852cc48766ffd7d0b03f0a828afa8007e08b37199dce7e91ff7aa9586261d9fd095b7da5492999d952d0219ffff03f30d71094ebeb92ceece6b47f22a07e96c806b2039f257440b135bfb94750020037e34a8dd972bfff9aeea19d9b9458921a3942031eafc5bdd03b5847ca59aa01d039ce8c29510f96e776eabc43b874bc5b828c5ba785c56f5653043dc8857ab81f703708f359bc85e2be5392c55d24f325deeea6b46909392671123b0d16d468c57550310711624a4a61103593e2770053cee52dc3c28c277f5352ec58eee66686c561703e981bb6598f0aa95c0fdd551e2af295e5ffcab9dcff00b301673eb18fca18b840399cb6ad1ff3d806eb8031d51672439379a8c49f30dd0c369751810993b2709fc037f64ad9b1d574b847f012ef96e0012625d44991c9a0f5041b5fbed7c24f929cf0327c57ab268d4f7fc433943d83678e39ad1f88f555392fd3b7e006b5b0bb6f769034636ddf1b0ed1d37494f4ffad640f897300b1bed9248514a416119d9a7042e4703c7c15d85fb655e1561004323a796e348db0eec353b90db3b56d2b7af2774d2fc03844a7834c063a6fcfb48a1638b99fbd70ac3e538a761dd4027098f3c30ea391303b6ed32b7a3b7fcfbdeff7303e15c5d2dc01ac57dae6a6bd01526abb35e0d67e70331c3dc6e95ad751899feb231581530a4af690ada3a477b705e5d983c265c629b03d6e08770233cca37dddc969eb1c48e56ec210abdaf1b4ee1b3da2a93bdec594c0219ffff036e602d9ef690a9edb39cf617c87621f1128811cfe7aa5dec4325578a6fdf1d0003ef64762ad46119ed7105201dada47a986c925b95e07278f03cb194d6988bfad6034167af05949044121259e76e6a77b5c84323efe893f9e84220a248db205420b703a118163ee7ad262b9752128c6965a4cc6ea2d259c55f84918cdb4821c5e084d503fab04529dd7b4b1a4b9d538a9c6cd335460e47d47d88ea0918703e1469aa51a103726a8f8d1001b603a53826dc8530af3a3c788914b0424b6e13a0c7abd5ff606203f044e48ccb07f4028c14781a9aefc5ab85697ed7bdc1205d271d167feaaa5a33032222247e3a192af2498c822766501cb088c6ae0751b3126cafeccc0e0831d12103eb73f7d87726af290e6eff513f5906ff95a18baa44980abaf86dfc5727b441a8038ecfc53802473ccd662eb33178787473d8351d08a4b0a863a98f6e58fd98b1fe03d2a846f1215b3f195cfd915482b23e6ba9825e77181f471a24d0558565fc58ed03c2faa73ed67c53f6de2b0c6f78bbe17044babf9dee78ae9a90ecce8f672cba55037dd3e1d0713fc5debba83e8efc287dc28ee8176447ec968b8f9c57ed2bb75cfd0383a0efc451593065fd8eb1b7992c5f10e6e206eb8e0830ec345c0e24eb553cdc03fe949fd0a1383587c75cf1e8e9ad9add758d5b7ffb0418467b3d4b4d5afa900c03746685016ff0d5048bd4ed4688c7d22f178131e431e6e2316d756e6ee2c124db03a2d883748d3db06cf984f16825f9eace949a65e13eee59501a3d6aa4fd5386b700581e02df47dc88b35072ee9db37fc88510d9fe29fb3629446857b82afd3fb14d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021198b6ec5505c384c7485a698fb47a2fac0208fc7c7eb6f3733a33b8f644168aa62500581e0203a8965a0472c34da6445286a6e6148425d01dca1a34ad3c9deaaacba6442faf080000581e022a67b99929e3181188e882e059a9c656d81e29e3c00c2b7a5ff34781c65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039c7b87324c91c2415e968483f31678b30a122b28f77597dd1ed7bdc5ffac36cc02191d10033709ed41f3e21a7495f37a2a419aaab4bd4272431e36f216186b78b538e6a52e03e6e098d0861669306096bf4fc599fa9a4ee4f85f29a960fb9478e6b70d77aece03e0be6abae345e932e6ae9280d227c18da3ee2ae5b1b3d2b62ccc9b90da0a090003b1c653b955f7c7e7a75e141079cfb393cdcd17956d4725135f7170fb2806f4cc035dfc60c850b0ac4bd9a94d8a08a08a417662c31f3b006f5d1125f9f54ddd682b0332bb9d0d55ff016134d81c3ff50f0d8923846959e24a999257f4e569573fc4d003ff3002e2432f11e4ec27b340819378edf863de4c5e8a50e890724609297c26180303a78c09f6d75b27fe841a488187c60cab10921f6bed738fc9a0efee48f43d00032e81b7561930f3d71643092e54ee0578db0555013266e708d1c12f86d0a045ac03488c80e70202ffaeb5e6ed902e80af437d989624382cba3f0ee8a8b8ad7854da0354ec57f714aafc28fbb0f0c4aa216123bc4c19acffbabc8d7bcfa3d6de431df40219ffff03ae6d9dfffcf785827160988045e87156e4bb44b0fb0f1e617e1ef65a8014d996034397053861ccc9f54920185836ef0faf30265cb07398a820c5c54713f6ecb7f1039bb30aa2a04ad176d5cb9d9d7fdc6ce7fbf46694ec0adf773191aba6357e84280305787b6305cc480c2f8bb497ab50b63cc198299b7f7c137ef9df9ceb1c8fc0e903fb0af8c85563ad64358f0b5f11a7e36c54b0b6a8ef1f93196c4111f405e1dec903cab6e7026f232ca7e7a0799c39fc71bae7a069e8bf02a5563e1537d75d05b849032e7b3cb83424901f86b18325b2b830d1596973e0fa8d1c9e205154419ef240ed032dce7d8fd612f60de8766dc6ac6d8baf227d790f28f38cabb96806d310156a8203e4e73234a77ad8d482799f160b44637360123c3356cd5737540ca8213dd027b10305dea83a18a1910136ce11230282337094218f62e019d95d082a7cadb62444ac0219ffff03dcaa29316e331986ab99d39b992fd5dd023d4ef2a69ea7666191a7d6d04f797f03ab347d806f3c411545f919b3caa7f947be8fbfda9da0babeaf4837b9e46dca070314121ecb27eb544719959581b12047c5de8f84c71e55b66598dbc085d155dd83038b1523709f4ee63afd59f8ec7189c4b3ca96bf8a6fcd496376c5247656cfc5a0032d9b43842a9934b43d72f6d87f2ff2cda914d3137b944dcf95235f5011c8310d039b23a9d087bb254b411de25488de11cdf0a53d4b3569549208d9ae37e6442784033e5ebfe3d4d8d030c3e88bb02e836f78043c431d73363eb9b9e1ef00504f08b50320be15291c613b445c35f9bd7af4cfa4ee9bd56d1ad80dd0a0728b18759c51800347391632c7bcff4d5645c75975f847197e724e8258d979b66dfe11373e723c6b032afc5a3f0c3b2082c4311a09ce72757e2e238cc6eab8fa2bec815577fe978a080219ffff0219ffff0219ffff05581e03802a763f7db875346d03fbf86f137de55814b191c069e721f4747473300f014101192b4305581e03ed41b02751507a69be5c8c241e3750749282f6640e4722cccc632c3b200c0246a9f3a93029c805581e03eaccb25c3b802599534e062dc2e93db54aba393318310c1577e1daa630040205581e03c5e948564ebf9b9a17980d6eaa6524d93aafb4fdd34166baf652cca1800c02450f5de81400031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038f8c3e9b5c4c6544d216c2e7a83776e591264e1c198f65049bfc74840007011bffffffffffffffff02193bfd03392e914c6ab5987bbcd8f5c9e23b4948ee28dcf45dd72273bf6cc106036f852a03a7bbe5c7d23562fa1577db79cf77c262d65862d50241de2b147a9b5b318aacb4037bff4eedea913e11c281bf9631984344780fcc3dbcda40cab7c25dadbf13c2ab030b3757b624f3e65e3cadbd9b61e092af2f6086fe846ac6ed51a2f0261d21b47503b7d528fc41c8fdc8ea18c6e7d0099270c777ec1403cf879d1f5134bdc12a6c6c034382be5d1766702f4ba15e120f3799421ca93e9fbd4e2f7d43216a9bb1c61d1903251c695862941c0ccb2313831b0f637e2b60301268ebbfb483afc5c821221e6203c5fa30673798625171fa89a7f413131bca535c09ff4d0b38350c0df769787d4e038bd2b242e992653fa60521d04209d0f948548de03ed9d063f6c847212da606f40219ffff03901e7b5631221adac5424d4a3a63f7a33ad01172f2a04d45a568db634e68d469033eb1e5040b38fd5517eb98729f74c5e294679784c22af0e26326cd7fd6de3d1a0219ffff0364b7e34ec6ad8063fb8da1714974fcf22d6df30944c0689b6a362f4006a756c603c8bf83535f9676667697fd5a668027e62c2e525b5a4da570aeb2fd254a606f37033a627fd712263a65999b294998569468e6f4c217447406bca09487d38fd862a703e5d20d7d05a68d4c1f3bc64526df1bd97bc739f794770dad57ea26456ad5c8780314f5f411616343dc631592a2ba7f6dbb51a29b624e32fc8b0171bdcd8c927338031d9035b623c5bea83ec4bdfe732d5ead8b5012e3bcf09dfc1909df65cdb9b03103bb52f2327be8bbad60b3057ee9c76f6e2f30b8d9c9d08a60bb4bb8275fe57fee0313254682dae97818162473362ef6e72ddb46466ff555ffe3ab034aabe07cb44a034b17f19a1b48c324092d3ef15781025fd21c401b8a85abd266ad78883c875ccf0366a2b76e49f4104a381abc6c40253b9e5310782e8baf5e201f31727efc189fe10389bf848127957341d09af13f0d69b288ec5f238c9886f805bab0024a8f4fd9c60219ffff033971ca6857d4399c447fbaca14d560405a1f366ba422ca20784054123cd37fe503e99eee41e122801d29b90924a91eaa6b23619b2fe45be8c9955720eee599b68c030781797bb2908de65cde4ca2bcebb1be8c96761ac0b9565c4c96e17ca8511dd3033be573e05d6accfcdd5fb77f358ed3eead9640a32432da166b666c4846081af503e2ee85dc3e3a44ecc64cc3123a02f1c461dfa764fc601ffe977193f83de651c503ce43376d8830011e0344c517a1a65d4ca6a8ef64f2c30f39325fe603d363b6c003ad46e48c4084d0a5479cba98c59975efa599c800667e7ec45ea932de0393917803713864197237b48b63b5f419fbc5aa13b1c44047028ae432a97f85b5f28bb24f03230561a8417fef9ef32f6be9ce15723464decd58dc5011a273627dbf4a0770ea0394fdaab3bfe41e1511b0cd10f9df159f9fece2001ba8aab3f2e86e7db4a2fdec037e8ce31eb7f2b3d015aff9f4db69e1417d3fd190d182e57431d61a035a87371103fecdc28ee7fdaddf54a46b82305c04bee3aa8988f0e008805cd18b896e48144c03b2bb519ffe602b34148383f84aa40d26bcaf5196a21b7f102f307273ce7696d703a6c292f5073b38ede32d6f1ef26f6ba31a7642d36068a37975df72aefb1fbc0a03c8dffffb85973186b2dad67f8207a40ccc0d715916b4052cba1461d5d493799f032aa2a638cad1d65a1dea3e87ef716d28640411e8317151bc1d0feca970c6e84603210062d57c6f0cab40575cb78e1d312e90d463f7e55ccc7272ddc912801903a4038c042a3400c54290072d53feaa35924dab56f2c95f1260ef98cef5c49c7c4ea703de31f588ec2bd84aad7d48c46799fbbe716a995721f9eea4aba1c8162dfb10e5035a7c0c548a38115896189c33941464ea035c56b35f3bef00a35ea125ff7d7a6903306375f8e2e281ece0096ff16ed92ada9a3eefb591979d2717ce2a1858f18fae033bd2fc5be2b98106111554e32ba7783ff7b12685eef8fc009a6d56da5533e81f0338b57ed0d350c1819a7e9fa15623bdf23c974896f8b86dcf160fbc74f476908103d91946dbd48a946d368969359837180eaef7f60dc8e20f9dbfcf066048d18daf035451e24cbbfa23b62f8e87b927fae4d011f5410bd23577e35fdb8eb814e171a00356cc53e6752472fc1b756f69cce889bf197a5f8a3ee47de1dac332dababaff2e03492d1527945923f5e9c71555d4d410261dbe9a2d3cbf4b65d362802c1d484896034dee82332102605284103641fb795e51383142b69f5a52d7602fdd12dd21ed0003541f09a5d03e39328af1d21bc43daec442cc6ccfb2f0d7d82851aa10d1f836e703649f2479d4960bc2b623c767f33ac32a6a0cf97d6f76effd618fd636875d73d503d7311dba57445232c565477fafaf1889629a743ee8789aef27a9a59687464239039c875a77f16ac93de510fad4d3cb89556260edb27cf85f048d1b437859a9168803edb6bb10cfbdf94bccbe927ba3e99d829c705908080398da062d52380c6c4c4703b5cd47580f0ffe471939a597e3351aa4634a8f33752216791238fa27be6f71ac0329b825b730c4ae0118857fb47461404fd2372c72649e94ae163ac7d4e292f166033030c39be305873a6301c7ad5648c60648dcfba90810f20d42c763012d6e5d6c0361a3b3eb283e47510ec7728a6684fbade3f07e376be7e5d295c81cf7106530cd0330c415127c153ba543ea7cf5320008d5a157790a65d4c090a020d05ec18a2a380312743f5f948e0f688a489f6f1e0010c988664096af36685cddc570c5d69f2e6b03f1fe1d4b6f7a39462cf8a28f4fc15caad5d9a7480cfec6bcaea090602406dca003bd32998458135423e208af06dbd5af58152c2d34c7dd8a24dcbf310c10a773cf045947306080604052600436106100745760003560e01c8063b61d27f61161004e578063b61d27f614610331578063d9caed1214610365578063dc4d776a14610385578063e4aed5da146103985761007b565b8063332cdf8f146102cf57806376ccd9f1146102f157806381660d8c146103115761007b565b3661007b57005b6000366060326001600160a01b037f0000000000000000000000000000000000ffe8b47b3e2130213b802212439497168114806100e957507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061012557507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061016157507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061019d57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806101d957507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061021557507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061025157507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b6102885760405162461bcd60e51b815260206004820152600360248201526234303160e81b60448201526064015b60405180910390fd5b60006102978460048188613d1b565b8101906102a49190613d45565b90503081036102ba576102b56103ab565b6102c2565b6102c2610664565b5050915050805190602001f35b3480156102db57600080fd5b506102ef6102ea366004613d45565b610e82565b005b3480156102fd57600080fd5b506102ef61030c366004613d45565b611155565b34801561031d57600080fd5b506102ef61032c366004613d81565b611428565b34801561033d57600080fd5b5061035161034c366004613dc7565b611734565b604051901515815260200160405180910390f35b34801561037157600080fd5b506102ef610380366004613e50565b6119a3565b6102ef610393366004613edd565b611c54565b6102ef6103a6366004613edd565b61243a565b6040516004606435018035602081018284376020818401016040525050600080828060200190518101906103df9190614044565b91509150816003036104be57600080600080600085806020019051810190610407919061410d565b60405163a9059cbb60e01b81526001600160a01b03858116600483015260248201849052959a50939850919650945092507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29091169063a9059cbb90604401600060405180830381600087803b15801561048057600080fd5b505af1158015610494573d6000803e3d6000fd5b505050506104b484868386604051806020016040528060008152506126d8565b5050505050505050565b8160070361059457600080600080848060200190518101906104e09190614168565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905294985092965090945092507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29091169063a9059cbb90604401600060405180830381600087803b15801561055757600080fd5b505af115801561056b573d6000803e3d6000fd5b5050505061058b83858333604051806020016040528060008152506126d8565b50505050505050565b81600a0361065f57600080828060200190518101906105b391906141ad565b6040516370a0823160e01b8152306004820152919350915060009082906001600160a01b038516906370a0823190602401602060405180830381865afa158015610601573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062591906141db565b61062f919061420a565b905060008160405160200161064691815260200190565b6040516020818303038152906040529050805160208201fd5b505050565b604051600080600460443501803560208101828637602081860101604052505060043591506024359050600080848060200190518101906106a59190614044565b9150915060008085126106c0576106bb8461421d565b6106c9565b6106c98561421d565b9050826000036107a6576000806000806000868060200190518101906106ef919061410d565b60405163a9059cbb60e01b81526001600160a01b03858116600483015260248201849052959a50939850919650945092507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29091169063a9059cbb90604401600060405180830381600087803b15801561076857600080fd5b505af115801561077c573d6000803e3d6000fd5b5050505061079c84868386604051806020016040528060008152506126d8565b5050505050610e7a565b8260010361093957600080600080600080878060200190518101906107cb9190614239565b60405163a9059cbb60e01b81526001600160a01b038087166004830152602482018f9052969c50949a50929850909650945092507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28216918816918211919063a9059cbb90604401600060405180830381600087803b15801561084d57600080fd5b505af1158015610861573d6000803e3d6000fd5b50505050600081156108805761087989868887612777565b905061088f565b61088c89878787612777565b90505b6108ac8783158330604051806020016040528060008152506126d8565b60405163a9059cbb60e01b8152336004820152602481018490527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03169063a9059cbb90604401600060405180830381600087803b15801561091457600080fd5b505af1158015610928573d6000803e3d6000fd5b505050505050505050505050610e7a565b82601403610a1a57600080838060200190518101906109589190614297565b915091506000826001600160a01b03167f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031610905060008089126109a457886109a6565b875b604080516001600160a01b0387811660208301523382840152861660608201526080810183905260a08082018990528251808303909101815260c082019092529192506000916109fb9160159160e0016142fd565b604051602081830303815290604052905061079c8484158830856128c7565b82601503610b3a57600080600080600086806020019051810190610a3e9190614321565b60405163a9059cbb60e01b81526001600160a01b03808516600483015260248201839052959a50939850919650945092509086169063a9059cbb90604401600060405180830381600087803b158015610a9657600080fd5b505af1158015610aaa573d6000803e3d6000fd5b505060405163a9059cbb60e01b81526001600160a01b038781166004830152602482018690527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216925063a9059cbb9150604401600060405180830381600087803b158015610b1857600080fd5b505af1158015610b2c573d6000803e3d6000fd5b505050505050505050610e7a565b82600403610b5e576000806000806000868060200190518101906106ef919061410d565b82600503610d0b57600080600080600080600088806020019051810190610b859190614355565b6040516370a0823160e01b81526001600160a01b038088166004830152979e50959c50939a509198509650945092508189167f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290921682119183916370a0823190602401602060405180830381865afa158015610c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2a91906141db565b610c34919061420a565b985060008115610c5157610c4a8a878988612777565b9050610c60565b610c5d8a888888612777565b90505b610c7d8883158330604051806020016040528060008152506126d8565b60405163a9059cbb60e01b8152336004820152602481018590527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03169063a9059cbb90604401600060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b50505050505050505050505050610e7a565b82603c03610dbe57600080600084806020019051810190610d2c91906143bc565b9250925092506000836001600160a01b03167f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03161090506000603d83604051602001610d8291815260200190565b60408051601f1981840301815290829052610da092916020016142fd565b604051602081830303815290604052905061079c84838533856128c7565b82603d03610e5b57600082806020019051810190610ddc91906141db565b60405163a9059cbb60e01b8152336004820152602481018290529091507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03169063a9059cbb90604401600060405180830381600087803b158015610e4757600080fd5b505af115801561079c573d6000803e3d6000fd5b82600a03610e7a57600080838060200190518101906105b391906141ad565b505050505050565b336001600160a01b037f0000000000000000000000000000000000ffe8b47b3e2130213b80221243949716811480610eeb57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80610f2757507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80610f6357507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80610f9f57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80610fdb57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061101757507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061105357507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b6110855760405162461bcd60e51b815260206004820152600360248201526234303160e81b604482015260640161027f565b604051632e1a7d4d60e01b8152600481018390527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156110e757600080fd5b505af11580156110fb573d6000803e3d6000fd5b50506040516001600160a01b037f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc16925084156108fc02915084906000818181858888f1935050505015801561065f573d6000803e3d6000fd5b336001600160a01b037f0000000000000000000000000000000000ffe8b47b3e2130213b802212439497168114806111be57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806111fa57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061123657507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061127257507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806112ae57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806112ea57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061132657507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b6113585760405162461bcd60e51b815260206004820152600360248201526234303160e81b604482015260640161027f565b604051632e1a7d4d60e01b8152600481018390527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156113ba57600080fd5b505af11580156113ce573d6000803e3d6000fd5b50506040516001600160a01b037f0000000000000000000000000000000000ffe8b47b3e2130213b80221243949716925084156108fc02915084906000818181858888f1935050505015801561065f573d6000803e3d6000fd5b326001600160a01b037f0000000000000000000000000000000000ffe8b47b3e2130213b8022124394971681148061149157507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806114cd57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061150957507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061154557507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061158157507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806115bd57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806115f957507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b61162b5760405162461bcd60e51b815260206004820152600360248201526234303160e81b604482015260640161027f565b6040516370a0823160e01b81523060048201526001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2811690871690811191600091906370a0823190602401602060405180830381865afa15801561169a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116be91906141db565b604080516001600160a01b038a166020820152808201839052815180820383018152606082019092529192506000916116fc91600a916080016142fd565b6040516020818303038152906040529050856002036117275761172287848730856126d8565b6104b4565b6104b487848730856128c7565b6000336001600160a01b037f0000000000000000000000000000000000ffe8b47b3e2130213b8022124394971681148061179f57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806117db57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061181757507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061185357507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061188f57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806118cb57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061190757507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b6119395760405162461bcd60e51b815260206004820152600360248201526234303160e81b604482015260640161027f565b856001600160a01b03168585856040516119549291906143ff565b60006040518083038185875af1925050503d8060008114611991576040519150601f19603f3d011682016040523d82523d6000602084013e611996565b606091505b5090979650505050505050565b336001600160a01b037f0000000000000000000000000000000000ffe8b47b3e2130213b80221243949716811480611a0c57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611a4857507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611a8457507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611ac057507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611afc57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611b3857507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611b7457507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b611ba65760405162461bcd60e51b815260206004820152600360248201526234303160e81b604482015260640161027f565b6001600160a01b038416611bf0576040516001600160a01b0384169083156108fc029084906000818181858888f19350505050158015611bea573d6000803e3d6000fd5b50611c4e565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526024820184905285169063a9059cbb90604401600060405180830381600087803b158015611c3a57600080fd5b505af11580156104b4573d6000803e3d6000fd5b50505050565b336001600160a01b037f0000000000000000000000000000000000ffe8b47b3e2130213b80221243949716811480611cbd57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611cf957507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611d3557507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611d7157507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611dad57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611de957507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b80611e2557507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b611e575760405162461bcd60e51b815260206004820152600360248201526234303160e81b604482015260640161027f565b60005a90506001600160a01b038e164114611eb45760405162461bcd60e51b815260206004820152601260248201527f6e6f7420746172676574206275696c6465720000000000000000000000000000604482015260640161027f565b8c8e6001600160a01b03163103611ef85760405141903480156108fc02916000818181858888f19350505050158015611ef1573d6000803e3d6000fd5b505061242b565b6040516370a0823160e01b81523060048201526000907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316906370a0823190602401602060405180830381865afa158015611f5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8391906141db565b905060008a67ffffffffffffffff811115611fa057611fa061400a565b604051908082528060200260200182016040528015611fd357816020015b6060815260200190600190039081611fbe5790505b50905060005b8b811015612072576120428d8d83818110611ff657611ff661440f565b905060200201602081019061200b9190614425565b8c8c8481811061201d5761201d61440f565b905060200201358b8b858181106120365761203661440f565b9050602002013561296a565b8282815181106120545761205461440f565b6020026020010181905250808061206a90614442565b915050611fd9565b506121778e8e60018181106120895761208961440f565b905060200201602081019061209e9190614425565b8d8d60008181106120b1576120b161440f565b90506020020160208101906120c69190614425565b8e8e60018181106120d9576120d961440f565b90506020020160208101906120ee9190614425565b8d8d60008181106121015761210161440f565b905060200201358e8e600181811061211b5761211b61440f565b90506020020135866000815181106121355761213561440f565b6020026020010151876001815181106121505761215061440f565b60200260200101518d8d600181811061216b5761216b61440f565b90506020020135612c86565b6040516370a0823160e01b81523060048201526000907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316906370a0823190602401602060405180830381865afa1580156121de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220291906141db565b9050600083821161221457600061221e565b61221e848361420a565b905060003415612246575a6122358761985861445b565b61223f919061420a565b9050612260565b5a6122538761791861445b565b61225d919061420a565b90505b600061226c823a61446e565b90508083116122bd5760405162461bcd60e51b815260206004820152601460248201527f726576656e756520696e73756666696369656e74000000000000000000000000604482015260640161027f565b3415612423576103e834106123145760405162461bcd60e51b815260206004820152601260248201527f696e76616c696420627269626520726174650000000000000000000000000000604482015260640161027f565b6000612320828561420a565b604051632e1a7d4d60e01b8152600481018690529091507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561238557600080fd5b505af1158015612399573d6000803e3d6000fd5b5050505060006103e834836123ae919061446e565b6123b8919061449b565b604051909150419082156108fc029083906000818181858888f193505050501580156123e8573d6000803e3d6000fd5b50336108fc6123f7838861420a565b6040518115909202916000818181858888f1935050505015801561241f573d6000803e3d6000fd5b5050505b505050505050505b50505050505050505050505050565b336001600160a01b037f0000000000000000000000000000000000ffe8b47b3e2130213b802212439497168114806124a357507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806124df57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061251b57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061255757507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061259357507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b806125cf57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b8061260b57507f000000000000000000000000ec2c5c305806dda5e2852571ae974dd38cb265dc6001600160a01b0316816001600160a01b0316145b61263d5760405162461bcd60e51b815260206004820152600360248201526234303160e81b604482015260640161027f565b6001600160a01b038d1641146126955760405162461bcd60e51b815260206004820152601260248201527f6e6f7420746172676574206275696c6465720000000000000000000000000000604482015260640161027f565b8b8d6001600160a01b0316310361242b5760405141903480156108fc02916000818181858888f193505050501580156126d2573d6000803e3d6000fd5b5061242b565b600080856126e8578460006126ec565b6000855b6040517f022c0d9f00000000000000000000000000000000000000000000000000000000815291935091506001600160a01b0388169063022c0d9f9061273c9085908590899089906004016144af565b600060405180830381600087803b15801561275657600080fd5b505af115801561276a573d6000803e3d6000fd5b5050505050505050505050565b60008085116127ee5760405162461bcd60e51b815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201527f4e5055545f414d4f554e54000000000000000000000000000000000000000000606482015260840161027f565b6000841180156127fe5750600083115b6128705760405162461bcd60e51b815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60448201527f4951554944495459000000000000000000000000000000000000000000000000606482015260840161027f565b6000612887612880600a8561449b565b8790612e81565b905060006128958286612e81565b905060006128af836128a9896103e8612e81565b90612ef7565b90506128bb818361449b565b98975050505050505050565b846001600160a01b031663128acb0883866128e187612f55565b886129005773fffd8963efd1fc6a506488495d951d5263988d25612907565b6401000276a45b866040518663ffffffff1660e01b81526004016129289594939291906144e7565b60408051808303816000875af1158015612946573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058b9190614521565b6040805160038082526080820190925260609160208201838036833701905050905082600203612a9c57600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156129d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f99190614577565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150600084600014612a2e5784612a32565b6126f25b90508284600081518110612a4857612a4861440f565b6020026020010181815250508184600181518110612a6857612a6861440f565b6020026020010181815250508084600281518110612a8857612a8861440f565b602002602001018181525050505050612c7f565b82600303612c7f576000846001600160a01b0316631a6865026040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ae4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b0891906145ba565b90506000856001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015612b4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b6e91906145fe565b5050505050509050600080612b838484612fae565b91509150600086600014612b975786612c17565b6064896001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bfb9190614690565b612c0591906146b5565b612c11906127106146d7565b62ffffff165b90508286600081518110612c2d57612c2d61440f565b6020026020010181815250508186600181518110612c4d57612c4d61440f565b6020026020010181815250508086600281518110612c6d57612c6d61440f565b60200260200101818152505050505050505b9392505050565b6001600160a01b038089167f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290911610612cc581898989898989613022565b949c50929a50909850965094509250600081612d8d57612d8685600181518110612cf157612cf161440f565b602002602001015186600081518110612d0c57612d0c61440f565b602002602001015187600281518110612d2757612d2761440f565b602002602001015187600181518110612d4257612d4261440f565b602002602001015188600081518110612d5d57612d5d61440f565b602002602001015189600281518110612d7857612d7861440f565b6020026020010151896130f6565b9050612e12565b612e0f85600081518110612da357612da361440f565b602002602001015186600181518110612dbe57612dbe61440f565b602002602001015187600281518110612dd957612dd961440f565b602002602001015187600081518110612df457612df461440f565b602002602001015188600181518110612d5d57612d5d61440f565b90505b60008111612e625760405162461bcd60e51b815260206004820152600760248201527f616d6f756e743000000000000000000000000000000000000000000000000000604482015260640161027f565b612e75831515828c8c8c8c8c8c8c6131e2565b50505050505050505050565b6000811580612ea557508282612e97818361446e565b9250612ea3908361449b565b145b612ef15760405162461bcd60e51b815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015260640161027f565b92915050565b600082612f04838261445b565b9150811015612ef15760405162461bcd60e51b815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015260640161027f565b6000600160ff1b8210612faa5760405162461bcd60e51b815260206004820152600760248201527f546f6f2062696700000000000000000000000000000000000000000000000000604482015260640161027f565b5090565b600080612fe4846fffffffffffffffffffffffffffffffff166c01000000000000000000000000856001600160a01b0316613b85565b9150613019846fffffffffffffffffffffffffffffffff16846001600160a01b03166c01000000000000000000000000613b85565b90509250929050565b6000806000806060806000876001815181106130405761304061440f565b60200260200101518960008151811061305b5761305b61440f565b602002602001015161306d919061446e565b896001815181106130805761308061440f565b60200260200101518960008151811061309b5761309b61440f565b60200260200101516130ad919061446e565b1190508d15158190036130d2578c8c8c8c8c8c965096509650965096509650506130e6565b8b8d8b8d8b8d965096509650965096509650505b9750975097509750975097915050565b600081156131045781613108565b6127105b915060006131168986612e81565b9050600061312e846131288a88612e81565b90612e81565b9050600061316d61316464e8d4a51000613155856131288f8e612e8190919063ffffffff16565b61315f919061449b565b613c37565b61312885613c37565b9050600061271061319a6305f5e1006131868e87612e81565b613190919061449b565b6128a98d8c612e81565b6131a4919061449b565b9050838210156131bb5760009450505050506131d7565b806131c68386613ca7565b6131d0919061449b565b9450505050505b979650505050505050565b6001600160a01b038088167f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29091161089613612578460021480156132275750836003145b1561334b57600081156132955761328e8a8560008151811061324b5761324b61440f565b6020026020010151866001815181106132665761326661440f565b6020026020010151876002815181106132815761328161440f565b6020026020010151612777565b90506132ca565b6132c78a856001815181106132ac576132ac61440f565b6020026020010151866000815181106132665761326661440f565b90505b6040805183151560208201526001600160a01b03808b16928201929092529088166060820152608081018b905260a08101829052600090819060c0015b60408051601f198184030181529082905261332592916020016142fd565b60405160208183030381529060405290506133448884158430856128c7565b5050612e75565b84600314801561335b5750836002145b1561344057600060018988856000815181106133795761337961440f565b6020026020010151866001815181106133945761339461440f565b6020026020010151876002815181106133af576133af61440f565b60200260200101518f6040516020016133fe969594939291906001600160a01b03968716815294909516602085015260408401929092526060830152608082015260a081019190915260c00190565b60408051601f198184030181529082905261341c92916020016142fd565b604051602081830303815290604052905061343a88838c30856128c7565b50612e75565b8460031480156134505750836003145b156134d2576000601489888560008151811061346e5761346e61440f565b6020026020010151866001815181106134895761348961440f565b60200260200101518e6040516020016133fe9594939291906001600160a01b03958616815293909416602084015260408301919091526060820152608081019190915260a00190565b6000808215613548576135288b866000815181106134f2576134f261440f565b60200260200101518760018151811061350d5761350d61440f565b6020026020010151886002815181106132815761328161440f565b915061354182856001815181106132ac576132ac61440f565b9050613596565b61357a8b8660018151811061355f5761355f61440f565b60200260200101518760008151811061350d5761350d61440f565b9150613593828560008151811061324b5761324b61440f565b90505b6040805184151560208201526001600160a01b038b8116828401528a166060820152608081018d905260a08082018590528251808303909101815260c082019092526000916135eb916003919060e0016142fd565b604051602081830303815290604052905061360a8985158430856126d8565b505050612e75565b8460021480156136225750836003145b1561378557600080821561364e576136478b866000815181106134f2576134f261440f565b9050613668565b6136658b8660018151811061355f5761355f61440f565b90505b604051632059836360e21b81526001600160a01b03808c1660048301528a166024820152604481018890526064810182905230906381660d8c90608401600060405180830381600087803b1580156136bf57600080fd5b505af19250505080156136d0575060015b613711573d8080156136fe576040519150601f19603f3d011682016040523d82523d6000602084013e613703565b606091505b5061370d81613d05565b9250505b6040805184151560208201526001600160a01b038b8116828401528a166060820152608081018d905260a08082018490528251808303909101815260c08201909252600091613766916004919060e0016142fd565b604051602081830303815290604052905061360a8985158530856128c7565b8460031480156137955750836002145b156138ec57600060058988856000815181106137b3576137b361440f565b6020026020010151866001815181106137ce576137ce61440f565b6020026020010151876002815181106137e9576137e961440f565b60200260200101518f8f6001600160a01b03166370a082318f6040518263ffffffff1660e01b815260040161382d91906001600160a01b0391909116815260200190565b602060405180830381865afa15801561384a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061386e91906141db565b604080516001600160a01b03988916602082015297909616958701959095526060860193909352608085019190915260a084015260c083015260e08201526101000160408051601f19818403018152908290526138ce92916020016142fd565b604051602081830303815290604052905061343a88838c8a856128c7565b8460031480156138fc5750836003145b156139df57604051632059836360e21b81526001600160a01b0389811660048301528816602482015260448101869052606481018a905260009030906381660d8c90608401600060405180830381600087803b15801561395b57600080fd5b505af192505050801561396c575060015b6139ad573d80801561399a576040519150601f19603f3d011682016040523d82523d6000602084013e61399f565b606091505b506139a981613d05565b9150505b604080516001600160a01b03808c1660208301528a1691810191909152606081018b9052600090603c90608001613307565b6000808215613a06576139ff8b866000815181106134f2576134f261440f565b9050613a20565b613a1d8b8660018151811061355f5761355f61440f565b90505b604051632059836360e21b81526001600160a01b03808c1660048301528a166024820152604481018890526064810182905230906381660d8c90608401600060405180830381600087803b158015613a7757600080fd5b505af1925050508015613a88575060015b613ac9573d808015613ab6576040519150601f19603f3d011682016040523d82523d6000602084013e613abb565b606091505b50613ac581613d05565b9250505b60008315613aef57613ae8838660018151811061355f5761355f61440f565b9050613b09565b613b0683866000815181106134f2576134f261440f565b90505b6040805185151560208201526001600160a01b038c1681830152606081018e905260808082018590528251808303909101815260a08201909252600091613b56916007919060c0016142fd565b6040516020818303038152906040529050613b758a86158430856126d8565b5050505050505050505050505050565b6000808060001985870985870292508281108382030391505080600003613bbe5760008411613bb357600080fd5b508290049050612c7f565b808411613bca57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b60006003821115613c985750806000613c5160028361449b565b613c5c90600161445b565b90505b81811015613c9257905080600281613c77818661449b565b613c81919061445b565b613c8b919061449b565b9050613c5f565b50919050565b8115613ca2575060015b919050565b600082613cb4838261420a565b9150811115612ef15760405162461bcd60e51b815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015260640161027f565b600081806020019051810190612ef191906141db565b60008085851115613d2b57600080fd5b83861115613d3857600080fd5b5050820193919092039150565b600060208284031215613d5757600080fd5b5035919050565b6001600160a01b0381168114613d7357600080fd5b50565b8035613ca281613d5e565b60008060008060808587031215613d9757600080fd5b8435613da281613d5e565b93506020850135613db281613d5e565b93969395505050506040820135916060013590565b60008060008060608587031215613ddd57600080fd5b8435613de881613d5e565b935060208501359250604085013567ffffffffffffffff80821115613e0c57600080fd5b818701915087601f830112613e2057600080fd5b813581811115613e2f57600080fd5b886020828501011115613e4157600080fd5b95989497505060200194505050565b600080600060608486031215613e6557600080fd5b8335613e7081613d5e565b92506020840135613e8081613d5e565b929592945050506040919091013590565b60008083601f840112613ea357600080fd5b50813567ffffffffffffffff811115613ebb57600080fd5b6020830191508360208260051b8501011115613ed657600080fd5b9250929050565b60008060008060008060008060008060008060e08d8f031215613eff57600080fd5b613f088d613d76565b9b5060208d01359a5067ffffffffffffffff60408e01351115613f2a57600080fd5b613f3a8e60408f01358f01613e91565b909a50985067ffffffffffffffff60608e01351115613f5857600080fd5b613f688e60608f01358f01613e91565b909850965067ffffffffffffffff60808e01351115613f8657600080fd5b613f968e60808f01358f01613e91565b909650945067ffffffffffffffff60a08e01351115613fb457600080fd5b613fc48e60a08f01358f01613e91565b909450925067ffffffffffffffff60c08e01351115613fe257600080fd5b613ff28e60c08f01358f01613e91565b81935080925050509295989b509295989b509295989b565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561403b578181015183820152602001614023565b50506000910152565b6000806040838503121561405757600080fd5b82519150602083015167ffffffffffffffff8082111561407657600080fd5b818501915085601f83011261408a57600080fd5b81518181111561409c5761409c61400a565b604051601f8201601f19908116603f011681019083821181831017156140c4576140c461400a565b816040528281528860208487010111156140dd57600080fd5b6140ee836020830160208801614020565b80955050505050509250929050565b80518015158114613ca257600080fd5b600080600080600060a0868803121561412557600080fd5b61412e866140fd565b9450602086015161413e81613d5e565b604087015190945061414f81613d5e565b6060870151608090970151959894975095949392505050565b6000806000806080858703121561417e57600080fd5b614187856140fd565b9350602085015161419781613d5e565b6040860151606090960151949790965092505050565b600080604083850312156141c057600080fd5b82516141cb81613d5e565b6020939093015192949293505050565b6000602082840312156141ed57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115612ef157612ef16141f4565b6000600160ff1b8203614232576142326141f4565b5060000390565b60008060008060008060c0878903121561425257600080fd5b865161425d81613d5e565b602088015190965061426e81613d5e565b6040880151606089015160808a015160a0909a0151989b929a5090989097909650945092505050565b600080604083850312156142aa57600080fd5b82516142b581613d5e565b60208401519092506142c681613d5e565b809150509250929050565b600081518084526142e9816020860160208601614020565b601f01601f19169290920160200192915050565b60ff8316815260406020820152600061431960408301846142d1565b949350505050565b600080600080600060a0868803121561433957600080fd5b855161434481613d5e565b602087015190955061413e81613d5e565b600080600080600080600060e0888a03121561437057600080fd5b875161437b81613d5e565b602089015190975061438c81613d5e565b604089015160608a015160808b015160a08c015160c0909c01519a9d939c50919a90999198509650945092505050565b6000806000606084860312156143d157600080fd5b83516143dc81613d5e565b60208501519093506143ed81613d5e565b80925050604084015190509250925092565b8183823760009101908152919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561443757600080fd5b8135612c7f81613d5e565b600060018201614454576144546141f4565b5060010190565b80820180821115612ef157612ef16141f4565b8082028115828204841417612ef157612ef16141f4565b634e487b7160e01b600052601260045260246000fd5b6000826144aa576144aa614485565b500490565b8481528360208201526001600160a01b03831660408201526080606082015260006144dd60808301846142d1565b9695505050505050565b60006001600160a01b038088168352861515602084015285604084015280851660608401525060a060808301526131d760a08301846142d1565b6000806040838503121561453457600080fd5b505080516020909101519092909150565b80516dffffffffffffffffffffffffffff81168114613ca257600080fd5b805163ffffffff81168114613ca257600080fd5b60008060006060848603121561458c57600080fd5b61459584614545565b92506145a360208501614545565b91506145b160408501614563565b90509250925092565b6000602082840312156145cc57600080fd5b81516fffffffffffffffffffffffffffffffff81168114612c7f57600080fd5b805161ffff81168114613ca257600080fd5b600080600080600080600060e0888a03121561461957600080fd5b875161462481613d5e565b8097505060208801518060020b811461463c57600080fd5b955061464a604089016145ec565b9450614658606089016145ec565b9350614666608089016145ec565b925061467460a08901614563565b915061468260c089016140fd565b905092959891949750929550565b6000602082840312156146a257600080fd5b815162ffffff81168114612c7f57600080fd5b600062ffffff808416806146cb576146cb614485565b92169190910492915050565b62ffffff8281168282160390808211156146f3576146f36141f4565b509291505056fea26469706673582212207297482c1160a9764960dc13eed91ff1f0b54e2b14dbec7d633a11d6d1b85fb964736f6c634300081100330605581d024780b016f673c28d72c2a0b25e3b1b34ea52d75f6bcab5568d2f75590f014307511e19473003e41647b124f4469799aa32fedc4939dd35c7e9a9803bd2792615b9efe4bbdadf035fa478d0ec01fe5889e2698ff84413375296646e9e8ccffc42deccca37b1501e05581d0258a0a9a121ce6f85398c8d418825c3489cea4a26c283f7671b065e7607011bffffffffffffffff0219810005581e037cc6cb3bad304e7cba2026e682aeb1d32bc79bd21ca0e37a9ddff99e8004020385a6d4395ccc68711e87b27ad47bf1e62223aa6f47ea001257fd12a0255c753d05581e034d0b4b88ede4590d20e92d56c0048699b7123f64d772ddb2c871b8e89004020325255de2572bf7cc340b0423033ec76a1f5360f59455e22b6f028463788b58f90315c9b0c449eb5f7c6c53d46b70c7abefc89446c9ae129b1c9bbcc9287d00356f05581e032b3288ed96f83f8f4b66f7e9fae2bd7990396661950d7570bc4779a500040203ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e0360ea973012cc928869fc6ba7fb3a96ea93662a9afb25d4117c26c5805007011bffffffffffffffff05581e0364c8f8aa07a81ab6a8489f3bd05500e81409f60771b3ce6a242832e3b00c024601001d1bf80003e8946f33b0aa21057f8bafdc6ca1c56bfe762de2909a2b6b0591af775188a07e05581e03a45e241205e275862b9ec636ea77005b94954808628462c6e28eea231004020219d9f703e1bdc0399f58ed0725334bdaa9827a1ca7b9b7eafc8779ee8bf3f8d9dc19401a03a7a00cd25a717a40556c25f6cb5e816ced2bb6acff3b50a02f69d0343d893db103c05e9f0d0a6e953add7c99892a3a393b93339ac9c323e3c823caf5ada66e2e030382066068d053c1b60bddaffe6ab2e8d48d22ff40971d5ec302583d2348fbf7820317de30a6c7d170f8d75bcd34709aeb104849f7f20d26152dba79d76097c69139037b0de7d4431fa725d70272183b5ac4437acdb5d1778a424929813bd877e3d1960219ffff03a9651848d03a67b954e499b3ee16ebe80f7c1221eaf24a8d907567521004d53a03bc9b8d26f7608e9b3ba5229ca7a72f7a250e64612e9b1d641c743bd9f2a8456b03a2bc247e4d85d749c456db870b57d96911d98389ce87a5bbf983c90769d307db0335d5fd4b589e04445d82cb4a06f1673cd102b74442ad831be63d091722e1cc300347b7b005a780fbc6e4283becaa77e36267ee47fafa987f4d6d02dddc80813e6a039282afc00115dead8a51239070769a2700e57777a70b6172fb68bf0d8ab14e680300a8bd847ee9db06cc62ec96430bb2bafc7f6de7672c6064b4157da5b7d2918703f992e31e6cca0c2509a7592ab2d407bc53cbbb5e7c586f20a5818519487661c703b9f4160b402243357ff82c43f531f616275b26fa34311bb2aa154d69bd66184203a53aa14ff81adc81d55c91736bd6542c62495d7b180265764687d5b50573552803a3b4dab63b7b6a3b12739fed87d0d2347397e59919296a4895b763449bf3cdf30219ffff0219ffff03588daa7123b5c599dcc11452419f9f6eadc9c47eb1472ed19a6c77de463cea8d0219ffff031654593080e822a000f28ba5fd49a2f21f4095719c0433ed5e5a73c65523e6cd03bf04e9961a3ab0b56e115c31b350cf9a916b65dfc90c1f1983c9864ba254493f03ddb3220f5970c730c2a41263f0291e1e534191822c4e9aa0bd193485c7378caa03649efe438e579b0168f46e89093ff2608e73fc554cf52dd597ff231251b68efb035631df65bb0aaa2f9868aa98731a0f37a5a47b822b4a88e6642a70d66e688109030004ec52512f3711c1200adbcd36712c9c9fa64947ae565b53cd82c598ca800e03f2f218f24c76b3619b1672722ea24b94a24b54c0e9b0362b0860d356cd6ac02103cce717324af845d3987abd840762692c09581afeb0967c47a5233fa019c12e4503e86e26c6d7acbe8dd15d23675c514eaa154552b43756b2cfdaf6d12697eafeba0325a6017d3d462ce20b57f28a14de0ca4e1907d2a3c164a2d54100a6fee48ba2c0397153aa22ec766dce8781c5062597c7814ca555c68fbc15eb58c9cd63225d3170387baa0660396bbb4c909b81907da50e6c813f1a4ae09e60a7123b289411ede3203c575c30565ab99275c2708599722e442768ee101f8c13d5cc7ec9d2e18e436d303b26903da0b523290b3c343b2c96ac6d8450491b744b8029783342cd413ae25d203a6bc70222b45ca0cec08a02f77459bd61645f4a2a9da6a77930cc0b9afe15a05037abfbf428ae0dd0b5fb8c167e964e4f7fc2e7dd2cfaf45f2a9b28adb456dac8303c2c5cd15ce25b7bb19b3dd4f3ba2c0b39a1d745268c9ac1df9cfdd99b0ba832203ab6b5c7d9be139afa48d27e9dcfd5ccedb758bdeeec35b04690eef45dfeb7fc203a8090c564f9d890628bb290dafcc2cdb9058267552fad2de58ff3d7fabc1fa9503561cd7fdc05e144557db5d04cf61cd5a56d608d168066f3eadb2aec31dd6e61c03b8fb904f7f620cc749cea450925ab1252c668bcea2c40d5d905b2f7d2ba0230a038107e9b32b10473e26af328bdd5ddc960e5085d00e3758142526e6a3429923570343feca1081e8798b29673073d8839a04c7e46c11a0068f2ab5a525bbc82ba6d603c154a69179256c22a2d22d5b69abb4b7e57e32363110a10c96e41e36ef5636ca039a05ed01630c6ca9894d35d47fb95bec5f3af6079d002f04ca2dfc1b883a0cc503507a46280ba92439226e7492dbb650ea8cbb6902cf10a6d71bda48c781af558c03141b7d614c9ef887555e6e4a31da77043232531f61894892d6a752636304d2f403db5839d2678e93bd23732e71688ec7c9644df3a0ea368bf88e342f82be188adc03289be04f8d30f863959795aa8ec36b54e05b6f98e48541cd469889e4b51fc59c0319f21168dcbadd9f2ef793f28ba6c7816da83faf18e2603c170d71b3c00a34c8039422b5b7dd5453a8d2cb33049a9f214da3c772f34a9beef61aa5bda9e45bfe6605581e03f061439ae8b0706b1e686a669a486f3564e2110fbd57002aaf23a8e1000c0346fff9594f0b6805581e035c171cb82d355e8ced53a356d86a019a55068c34e5cb628fe57beb35c00c014773e4b61473320005581e03f8e4551ef498f3aa088fd22f62c96eac64ac2a2bdf7f0ca4ef9c99124004010349c07081580fef2a366f5565c7ac0c105d3d698ccc9ca71f2c305ed88ebfbaa3038ca398b7bcb18dbb94adebc256f9c8ef828a8995bb2617b47ea3ef0e201778c805581e0398ddd927ccc3738ef875bc4d1d1d00cee7040f68aa2814583785113f100c0346e76c6e3fa120032b2f4da7bcb7314e94077cf64b6d58d79417d48b8cbc8139dab35c933abd198305581e03a654e65f68913c3c1824c5fb96afe9cdbe176a0a7b083633abfbf0e1500c01471f180321426c0005581e03ad631c122d028050d3f1ab31f23562fe40d49d4552b94923406e9139200c01471476c2ee2eed980397cd4651013a8fb31ad96ed42ba774dff528a78f7c7e244ed3cf92b9d805328805581d02375edf2928d4d6c3ae534a9fa4caad005ea32562e6c40139702775db0c094821702867a4a3ec1805581d02593b0fd1e6c3f6760fabc03d06a1a3a3496899ad4ff3af3a41bd509c040502192004021997de03d4190fb30573a8c147acb4d1a3abd61c3ba3d6220ad3defa5926a74b44ab75bc0331f94072300d4eef1e06b9f1a211f0a54b73c1be2767ae2a22444537ef81a77a034185f1d3079d94e04abf6057a8d843e92bea2ea0caef5f5b83efd2952753319d0383ca0626ea8a1a100eb01a58021d5b33932e3cb82749be430e16530ba4d646d603aed04338c7aca912251acd0d644447f42cbc084abab46915478e8ffe8b902bcd034cc349d9fc9cc15950a076a899409e9eb2af226c8358a83d9be588ea26332b1803412080c7f013e9120ee2b88432c24d43bc950eddb0c32e2a28dcdc521b8518c503cef9cffb6f2709a36836c76556034db785ec16f6632f0b9c10f278b3598f7d4a031e1e4ec945f7c937e43544df68e29b03d4ccc92c7ba14b155efe81b7b90c0f8d0367cfa8d704c1349487d288befea8003dbfd46d0b05cdda563b5f76a9f50d4a1f034826c172fcf1c8ac59085cc9701e6dc940f98ca4a8e583534d885f773090c35e0305efe86bb93d51dac33b4dee5b45aa1a82dbb225a5bc9f2f3dcb06d64aea0e3f0219ffff03dbf8979ea503d3953df15209574294522e7e55d50c97c3cc029dcc8b46e3e0b1037db07a64ec3f856dfe6ca35215f5774f4f45e5e3deb4ed796b008e8fb9847f1603f91f2fccfe5ac6eb631266fbc0d3005ff470753038a4435c139b05a8ac8171c3036caf0eb86c03ec2f8f164ee8258220e97e76a444bf8e09ad2a8cc363e3c3a4f1033ce4f0f95bbfd7f7d505b570c5aaceaf1040064c19e155858b648e05136dc896036f110def1da542ee662c815b5348a0b2691db7c7db0509915cde9b9fa39c35e2034ae536118150f5196db1015baa099b774f37f7cf6c190d9d09c5b4bd97bdf8d70326fec1bca038113e1248730a5fd79331b1ef8a1416b2ff55066a6d918a80f0a10219ffff03621de8be64e36da78b4393c23549c3308120e4382b11af5959b3a0acaeafdbf403ce9005222732db086f3aa1641ee2ca4084e5a408c1b7f4bcb735e17c9b2fcffa03ea3933e848f315e7c45487180c3f1404ae961c758174333dfcecd7c3da6ed35b039d08aabb519ebd18aac0dcb41752b5dd11e19ca859511de548680bee6dd7de8203135bd5ccf071b9b451b3c85bb9c5f189cf75086f2d835c9194da522151e44e17034511b788a4e74815a53bd7913cf8bea3b9bc212b95aab07328bb4bfd75e6036103debd09893d31e86f93adf12a1234bffec0c058c1d792715231aaf1595aee372603f5dc50adc19a9fe700c79f026783c9edee2769794600e10b4da58decaaec73f70219ffff03a05bed8d9a0834184144fef2a19ae37b9e7ec34ea18dc1b189bd77c8e8995b6d0219ffff035e3b9f22276a2cd8e6cf6341c7c93ec6aa2f35464b0ec8f4a9c33b43f47b6d9f038d19f15330f29c6f678999bbb9f300ab14c8a75a026b74d43734ff35ccf0899a03fdf78b621011510bfb478827deb471699d8aaf30d619357b9421ea033878c06803a1794476cda86644d09e2fb477c978f7c049ff94aca71db5b3da5253e5af518503efb79f4995c2ccc5091a9e86f830251b5e31ef81fbae1f4907d1ab7abbe55b830318aea6a25be40006ac8986c5dea939f85064df31b7778322e160c497d8cafe2b03a754a362945d49b2c215e4f8f521b4b474d3c5d7175a2e1748252202d8ef801c03335fbbd67eed801ba3cd66a05a9b885a2cdfd174e1be720fdbe69620857fd4cf03f26c4b5fe7156cb6b0192c1988161cb90845ddcfd2dc1e82bb4143da4db07de10328e3afc3f5fe77d97ad2196ad1b84f747da2246aca6dcb33aa2e6e53c473cf15032489b27b0d125a69639eab70adf02b41ec03ca891cff84a858c5068eb4c2045b034aa6d79e6cb8b918fa1a00860f780df616be498339e30052e953cc5a0f2dd0b103e5f8dd0555ffe87670128b63e0acad9434d64b71ead4b531e9a4a83320dbbc2903e0cacabb8158ea753b882bc963109be587cf346eb828b3f8b10332e629d0139903870463f7b7c4cf3d400e270ac6a432cca81427c310000f77e5e69c71c4323a070359ef20e3a150464576f3ef1c8b8d6a6b39fa4253bff3b71c831240b6c0b9469d038afb0eee761b0fa281c5f1f030ff32f47a5489f5813619b5d6db03d682098ea703c852cc8b1d1053fc5269108ea828624bfa9daf96b669d6626c1003002372334a03380e864a1e30b9f3786bd3ec9ecf529d94c312d3c9f70eaafa11f9a2cc43916f0390c4bac665f917932ea4b6517a7b7397ffb8a3df8b5914d23f8ced82f03c433e03d45316ca178fc0de4602f8d6912c3307540ac192cce9aa0733cd22879762548503adf1f5d3ec343cc834e542360dbe16e097daf42fe64c835c6208e0e21832943d03a01dcdaa7f0137233a5727f884201795ff9887fe59d8fbf04cff9a6cba53a7c803edd0e50005768db2cd700c02764a6eff7e8033d5551d616e1b757e0af74e3f1303832e6bbf67aa7a1849d07ada337b9361e65fa76284e878dd26c87a5f2028e08a0323bdc877bd8d1e738f97ec82f9f91260a0777ce2373a56410a0bd51f07ae88ed034f3a67a37f01b1d04b3b3e274b7f6927dacbfa89f0ba3568cc1741814548fe7b03e01767a2c23c6433759ff868bb86e9d9da00e5aeeba3dc66c0f31ec2f7dce1f703ab1a7cbda6a4a894683d64ed57f56046235b51d48ac00e4fc12e78ed6f12128f03d81d98dfdef492ca23c10102d44a0dbe8725f8dfc7d8c0e8f6658fca657c096a0372013159cfd44e88c5da7345d6864c4fa8e8a8227ff3a48c9416ee0980356b9205581e034e04f5120f3df9092783882d83d1216ff43c34196bd4a6c0fac67309a0040405581e0388c9dfb171b7d7c768605edca5b852d934b39ae9e8c5d59116db5979200c014705a5beb013a50005581e03b6011d280a2d896e06e004acbbe16c50fa852e6fd417f3ec85a9a5d3100c0245915fd60740035a62485b9d109e84dccfdd8c050b5a6d8cd3584684fa683f5bc9c12ee0bf031201410405581e030fe4648b11b20124883181106a6161245cacd74b647cabad8292a0c9f0040105581e034fb3e762f0b373e542cd910846b253d05c57abdb0e3c10cf9301bcfdc00c1819482a8df24949fb9da203d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e03370b14c878c2fc4f9a2d0ade93e8f0d2ad39de172cb1eba3bce4dc4c3007011bffffffffffffffff0366a4ff6309a49b7dbcf4a027c14095aba522a06005455c5bcd2ca794641992c203619e2d590fc3a1ded007b9664798d2b39b9f69ee085247d41743d8629ef8d7f605581e0325898714899fa216c8138ad0e9f2ea56bd555d516718f37423d9c7eb1007011bffffffffffffffff05581e03bffaa889a347cf308f5213f396255e44a0f8bb92d96ef8135a0a6c08800c02470f3486bfdf3c0005581d02d0395d57c388241ea96e5c7766519259015883379a21189f8dca116e040804591143608060405234801561001057600080fd5b50600436106100725760003560e01c806385eda2de1161005057806385eda2de146100e8578063af15d786146100fb578063ccee33d71461014757600080fd5b80630965d04b146100775780633ee5ef1f1461008c5780635886216f146100b2575b600080fd5b61008a610085366004610d52565b61015a565b005b61009f61009a366004610dbd565b61017d565b6040519081526020015b60405180910390f35b61009f6100c0366004610de7565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61009f6100f6366004610dbd565b61024f565b6101227f000000000000000000000000a0844e046a5b7db55bb8dcdffbf0bbf9c6dc654681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100a9565b61009f610155366004610e09565b6102f1565b60408051600080825260208201909252610179918491849133916106db565b5050565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a0844e046a5b7db55bb8dcdffbf0bbf9c6dc654616146101ee576040517fa454419900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205461021f8282610ecf565b73ffffffffffffffffffffffffffffffffffffffff90931660009081526020819052604090208390555090919050565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a0844e046a5b7db55bb8dcdffbf0bbf9c6dc654616146102c0576040517fa454419900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205461021f8282610ee8565b60008573ffffffffffffffffffffffffffffffffffffffff81163014610343576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000001111111254eeb25477b68fb85ed929f73a96058216146103b2576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8284017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081810135918290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40810192918101919060018801908881037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f01907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80810135906298968090610489907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0013582610ecf565b610493908d610efb565b61049d9190610f12565b97506000633b9aca006104bd63ffffffff60808a013560a01c168b610efb565b6104c79190610f12565b905060006104d6866040610ecf565b67ffffffffffffffff8111156104ee576104ee610e71565b6040519080825280601f01601f191660200182016040528015610518576020820181803683370190505b509050602081018688823786018381528a83016020909101527f01000000000000000000000000000000000000000000000000000000000000008c8c60008161056357610563610f4d565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19160361064b576105a3602089013589356108a3565b60006105af8587610f7c565b60601c90503660006105c4876014818b610fc4565b915091508273ffffffffffffffffffffffffffffffffffffffff16631944799f6105ef8d6020013590565b8685856040518563ffffffff1660e01b81526004016106119493929190610fee565b600060405180830381600087803b15801561062b57600080fd5b505af115801561063f573d6000803e3d6000fd5b5050505050505061065d565b61065d858560208b01358b35856106db565b81156106885761068873ffffffffffffffffffffffffffffffffffffffff841660808a013584610936565b6106c973ffffffffffffffffffffffffffffffffffffffff84167f0000000000000000000000001111111254eeb25477b68fb85ed929f73a9605828c61099d565b50505050505050505095945050505050565b843585016106e98185610a66565b61071f576040517f4b57606900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061072a82610b37565b905061074766038d7ea4c6800063ffffffff843560901c16610efb565b6107519085610ecf565b9350600061075e83610b70565b90506000845160a06107709190610ecf565b61077b906020610ecf565b90507f0000000000000000000000001111111254eeb25477b68fb85ed929f73a9605826107b1565b8281848460045afa50505050565b60408a013560208101818c0135818d013560601c308114156014831017156107fd577f5b34bf890000000000000000000000000000000000000000000000000000000060005260046000fd5b506040517fe5d7bde60000000000000000000000000000000000000000000000000000000081528c8e600483013785820160048583010152818382010193508a60048501528b60248501526040890135604485015286606485015287608485015289516108718160208d0160a488016107a3565b84810160a40152600081878f016004018183895af1610893573d6000823e3d81fd5b5050505050505050505050505050565b80156101795773ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610909576040517fa7fd379200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff92909216600090815260208190526040902091039055565b610962837fa9059cbb000000000000000000000000000000000000000000000000000000008484610cb5565b610998576040517ffb7f507900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6109c9837f095ea7b3000000000000000000000000000000000000000000000000000000008484610cb5565b610998576109fa837f095ea7b300000000000000000000000000000000000000000000000000000000846000610cb5565b1580610a2f5750610a2d837f095ea7b3000000000000000000000000000000000000000000000000000000008484610cb5565b155b15610998576040517f19be9a9000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003681610a786101208601866110a8565b91509150600181830103803560001a6004820391506080811615610a9d576020820391505b813560e01c4211945060031c600f16841915610b2d578060180282035b80831115610b2b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe88301927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec013560601c833560e01c888203610b24574210159650610b2b9050565b5050610aba565b505b5050505092915050565b60003681610b496101208501856110a8565b91509150600181830103803560001a60801615610b6857602081033593505b505050919050565b600062ffffff823560b081901c82169160e082901c918491610b969160c81c1683610ecf565b9050814211610ba85750909392505050565b804210610bba57506000949350505050565b366000610bcb6101208801886110a8565b915091506001818301036000813560001a6078811660031c6007821692506080821615610bf9576020840393505b6004816018020184039350505086868260050284035b80851115610c95577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb8501803560f01c9990990198947ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd013560e81c428a1115610c8b57828a03428481038302908c03860201049b5050610c95565b9250889150610c0f565b5089610ca75780870342880383020499505b505050505050505050919050565b60006040518481528360048201528260248201526020600060448360008a5af19150508015610d01573d8015610cf757600160005114601f3d11169150610cff565b6000863b1191505b505b949350505050565b60008083601f840112610d1b57600080fd5b50813567ffffffffffffffff811115610d3357600080fd5b602083019150836020828501011115610d4b57600080fd5b9250929050565b60008060208385031215610d6557600080fd5b823567ffffffffffffffff811115610d7c57600080fd5b610d8885828601610d09565b90969095509350505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610db857600080fd5b919050565b60008060408385031215610dd057600080fd5b610dd983610d94565b946020939093013593505050565b600060208284031215610df957600080fd5b610e0282610d94565b9392505050565b600080600080600060808688031215610e2157600080fd5b610e2a86610d94565b94506020860135935060408601359250606086013567ffffffffffffffff811115610e5457600080fd5b610e6088828901610d09565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610ee257610ee2610ea0565b92915050565b81810381811115610ee257610ee2610ea0565b8082028115828204841417610ee257610ee2610ea0565b600082610f48577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015610fbc5780818660140360031b1b83161692505b505092915050565b60008085851115610fd457600080fd5b83861115610fe157600080fd5b5050820193919092039150565b73ffffffffffffffffffffffffffffffffffffffff8516815260006020606081840152855180606085015260005b818110156110385787810183015185820160800152820161101c565b506000608082860101527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0915081601f820116840190506080848203016040850152846080820152848660a0830137600060a0868301015260a082601f8701168201019250505095945050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126110dd57600080fd5b83018035915067ffffffffffffffff8211156110f857600080fd5b602001915036819003821315610d4b57600080fdfea26469706673582212209c7fa27ec20c16ed309e2009a17458ca2682f2e05f31b135d716c14e5c5730f464736f6c634300081100330605581d028dbb57d09859f98d4ef1c12609c6dd81ab9cdf67a9ef0107ae88fd5d070219114305581d02367e83bdc5b2540dc7ff0e4f2c4834fdeb560e843f073e345332d47304020219844005581e03cca4043eafd1273cf1cd2a25d2ca7fdb91e43eb4996b837a13ae2361000c02473f828135eeb60002193abf03561e9a443a45c68b38a1fad181f3e7f854fe69b9cdaf541366bd9faf1b1302890352f99df969526d772bd8aa4eb4f078cf2c9254bc8b70c4996ba413d828edefcc03b3d60a0bca5c222214d5cf9d8fdc5c8b5a4373daf1572c0d7feba426570984c203b8cffd5fe4a33bc628ed73c1e8f2049db16065fbabbd0754623dd8b9d791205a0219ffff0314eaff90f275ae8f23c34e0ab323befdc34fd385e1d5be0fd9b7a12358f3216a0376359bac74abacb13a0b310476f0defa85bb36c989184411ef7a840d680d6a3c036095c9e07401b6c3c66acc2eebd4345ddbc666a945740a4cef6ddd51cca7fd3003900f8a48e8b3e8c5856c2836be92d70f7bad2892547bc03f5006ccae6889c6d103af978ad16333c422be237b0f9bce3931ea3b55749cb366953c73f92975e3315d03e096c4857db808e2aeffe298c3530f7fbaf09a61fbb6c44795ecc8920876a10b034a97f0296ef13f2461bffe215915928653b89e0cd819be406311bdfe8cc78dd103df7467eaf7c4c0caf5f7cdff0f52eba1ff1f4a142234e6783ec75cc4b9ca4c100357d4ad45dacd7a904a3f14e1b8f35cd7f56fa13ad666f8fb95a9fc0001b356c103575f31fb93261c8fc104d28f90f9ded3072f9ec8fa5ba2245f2bb03ad6f6577f032cacc79172235c3d0ef8ffd304fce38cea82bcc9e2d8cd32d0d828979c5e70ea03513b6df8e33b36dea29d8c1f84cf5fa22cffab0a565ab2a36f60ef7c9964ad5c03a6ecbfc2d6ae9a9cbab6645475e737785b2c1f1544d4d42f210245d86629ddeb039e513540038ce79417d5d5bb24a3ad2e42a5ba34e70157c34c13aec7cd970a5f0362207f5505fcd27e675523bb87b722981277562a6b7658ad5c5533305a28e49e0219ffff0377090fa538cf14a62917212e1ae8575b958cdc5bca8c87d330717c15afeaf535038841102bda775686fd9bdf43f301cd073ea59a4869580c5bf88f9a5a876f3d8e0219ffff03ebee6c87ce7de17a5ec4fcd3f083cfd21e58b6a97bae49c6fd37fc2ece6d8dd7033131de2b0e426f7ae88bd9e735566b8ea714fbc404545d3f10acf619c6d8aae7036db1e356bea189efdafb1d9cc72ecf16d0b2b356ebe56d73b5f4b1bfbd04b94003398fc12c0837ac4052c7c22bea2b6f1ccb2b48c7470d67db18e600c3ecfaccf903bd10bb6be0c2507fd852746354723f52f1aa0a1f004bd9aad4548ff453dc661e03750b2ce7394f296630cade5010ef98674ae103666b5b98ed98575ef58ad01d440396797fbd90c73658a345c8f2ed11fd1c93a64affea0dcbf1a9893fdc1dbb7ab303a4aa43ac6978097446b330f4da8eab8e6f528292c82a5143db465fad2474891d0310411cbdc5f6bad77d44eecc38079e4ee0affcb3e117f020734bd1773a08c4c1037d912357114de4b06e1adfaaff89c0802c8ef363519662df91bc18c6a56a1e1503004d96b2494162c4c7bc5019e246ec0170d72a83d4069b09d8afb125fc744f9f03b13093905ef0f4d8e919bc19a0d4d6ca5558edc35883cf2777c774969b492b8503fa1443c72230eb6f73fda30fc10621346418afbb249717953deb72441b3fa53e03755058b0e0e8d972c0b480e4ed45967642900bac76e2309f99091a95724ee5ba03ed84a494fcdd8e21a4c328a9708e1a54c6923898c126e076f8954db9d8980a9c03913d9f9b907ecd58396b1358a74279a72480209098b0885d1c41fd3548389d3503643b75e4cccc3e3b85ec6e9bc66832377f8e9d2961a472c60d13115b30ed30a003deb6c9a78aabbecaae127e413e596835b3ea6994bd13cde5c89faaa4dfa41bc405581e03bdea24d695aa98d70afd2c0fc1755ea29d5d3428fc4ab98384d8774620040803628390aa4f99ba0ce4cc06cc94697c84abd98649f0ba23eca032c4df1a9b640e014109039133a498aa2c822adb198e8a5244895b66e3992466d8f7f5f76bfe391180a42e03cb05ff78db8c0b1a2549378cfe07335d87f7e7622a607e241fd4e096c6c32024034b19192fa31da37f5fe22a2d59581cccb8bc3641aa05fe605cc37d9a8619e0d704595d036080604052600436106102385760003560e01c806370bce2d611610138578063abe3bb66116100b0578063cf6b0f521161007f578063e30c397811610064578063e30c3978146106ff578063f2fde38b1461072a578063f47b77401461074a57600080fd5b8063cf6b0f52146106c4578063da815cb5146106df57600080fd5b8063abe3bb66146105e0578063addd5099146105fb578063b0e21e8a14610629578063c42cf535146106a457600080fd5b80638129fc1c116101075780638da5cb5b116100ec5780638da5cb5b1461058357806391bea840146105ae578063a4b2c674146105c957600080fd5b80638129fc1c1461054e57806387cc694d1461056357600080fd5b806370bce2d6146104e3578063715018a6146104f657806379ba50971461050b5780637ecebe001461052057600080fd5b80634f1ef286116101cb578063627cdcb91161019a5780636992aa361161017f5780636992aa361461048e5780637034d120146104ae578063708ef9aa146104ce57600080fd5b8063627cdcb914610459578063653608431461046e57600080fd5b80634f1ef286146103f157806351114ffa1461040457806352d1902d14610424578063579077b81461043957600080fd5b80633925c3c3116102075780633925c3c3146103515780633a16b768146103645780633c2ab6bf146103845780633f8fc233146103d157600080fd5b80630c340a24146102b3578063133ba9a61461030b578063336d82061461031e5780633659cfe61461033157600080fd5b366102ae573373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac16146102ac576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b600080fd5b3480156102bf57600080fd5b506101c4546102e19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6102ac61031936600461520d565b6107b8565b6102ac61032c36600461531b565b6107d3565b34801561033d57600080fd5b506102ac61034c366004615355565b6107e8565b6102ac61035f366004615370565b6109f2565b34801561037057600080fd5b506102ac61037f3660046153d9565b610c29565b34801561039057600080fd5b506103c361039f36600461540c565b61016060209081526000938452604080852082529284528284209052825290205481565b604051908152602001610302565b3480156103dd57600080fd5b506102ac6103ec36600461543f565b610d5d565b6102ac6103ff3660046154fd565b610e26565b34801561041057600080fd5b506103c361041f36600461554b565b61101c565b34801561043057600080fd5b506103c36110d3565b34801561044557600080fd5b506103c3610454366004615585565b6111bf565b34801561046557600080fd5b506102ac6111f5565b34801561047a57600080fd5b506102ac6104893660046155ca565b61124b565b34801561049a57600080fd5b506102ac6104a93660046155fb565b611306565b3480156104ba57600080fd5b506102ac6104c93660046156ba565b61134b565b3480156104da57600080fd5b506102ac6114e9565b6102ac6104f13660046156f3565b61172a565b34801561050257600080fd5b506102ac611931565b34801561051757600080fd5b506102ac611945565b34801561052c57600080fd5b506103c361053b366004615355565b61012e6020526000908152604090205481565b34801561055a57600080fd5b506102ac6119f7565b34801561056f57600080fd5b506103c361057e36600461572c565b611b9c565b34801561058f57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166102e1565b3480156105ba57600080fd5b506103c36104543660046157c6565b3480156105d557600080fd5b506103c361012f5481565b3480156105ec57600080fd5b506103c36104543660046157fc565b34801561060757600080fd5b506103c3610616366004615355565b61012d6020526000908152604090205481565b34801561063557600080fd5b5061015f546106759073ffffffffffffffffffffffffffffffffffffffff81169074010000000000000000000000000000000000000000900461ffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835261ffff909116602083015201610302565b3480156106b057600080fd5b506102ac6106bf366004615355565b611bf8565b3480156106d057600080fd5b506103c3610454366004615832565b3480156106eb57600080fd5b506102ac6106fa366004615868565b611c70565b34801561070b57600080fd5b5060655473ffffffffffffffffffffffffffffffffffffffff166102e1565b34801561073657600080fd5b506102ac610745366004615355565b611e01565b34801561075657600080fd5b50604080518082018252600381527f312e3000000000000000000000000000000000000000000000000000000000006020820152905161030291907fdd526a4e59bb74d0e4e4ab849ded32647b3bcf1df3acc01f4c21e76a8018c7c99061590f565b6107c23382611eb1565b6107cd8484846109f2565b50505050565b6107dd3382611eb1565b6107cd84848461172a565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005fa60726e62c50af45ff2f6280c468da438a78371630036108b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f0000000000000000000000005fa60726e62c50af45ff2f6280c468da438a783773ffffffffffffffffffffffffffffffffffffffff166109277f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108a9565b6109d381611f54565b604080516000808252602082019092526109ef91839190611f5c565b50565b60fb54600114610a5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064016108a9565b600260fb556040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c904390610ac69084615960565b1015610afe576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003610b5d576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bc0818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012085888861215b565b610bf6576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c178b600001518c602001518d604001518e606001518f60800151612240565b5050600160fb55505050505050505050565b6101c45473ffffffffffffffffffffffffffffffffffffffff163314610c7b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fa8161ffff161115610cba576040517f499fddb100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051808201825273ffffffffffffffffffffffffffffffffffffffff841680825261ffff8416602090920182905261015f80547fffffffffffffffffffff0000000000000000000000000000000000000000000016821774010000000000000000000000000000000000000000840217905591519091907f1d9e390a0f55a4e3251a1de541b3da1cb012fd85d9b4f0098bcffb70c4f4032d90600090a35050565b805160005b81811015610e21576000838281518110610d7e57610d7e615973565b6020908102919091018101516040808201513360009081526101608552828120845182528552828120848601518252909452908320805492945090929091610dc7908490615960565b9091555050805160208083015160408085015181519485529284019190915282015233907ff4092a7c54e135dc5f273d6675327b7b7838392537d2f7b63f7acbec8c7cd2969060600160405180910390a250600101610d62565b505050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005fa60726e62c50af45ff2f6280c468da438a7837163003610eeb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016108a9565b7f0000000000000000000000005fa60726e62c50af45ff2f6280c468da438a783773ffffffffffffffffffffffffffffffffffffffff16610f607f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614611003576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016108a9565b61100c82611f54565b61101882826001611f5c565b5050565b60007faf92fd8295121c3ba2d0dc4f6af18edcd0b3aaeff05fc72c591de6d457ee0c05836000015184602001518560400151866060015187608001518860a0015161106a8a60c00151612418565b60e08b01518b5173ffffffffffffffffffffffffffffffffffffffff16600090815261012e60209081526040918290205491516110b49b9a99989796959493928e92909101615a15565b6040516020818303038152906040528051906020012090505b92915050565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005fa60726e62c50af45ff2f6280c468da438a7837161461119a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108a9565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6040518181527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0016080206000905b9392505050565b33600081815261012e6020526040812080547fa82a649bbd060c9099cd7b7326e2b0dc9e9af0836480e0f849dc9eaa79710b3b929061123390615a96565b918290555060405190815260200160405180910390a2565b61125361247f565b80156112885773ffffffffffffffffffffffffffffffffffffffff8216600090815261012d60205260409020600190556112b0565b73ffffffffffffffffffffffffffffffffffffffff8216600090815261012d60205260408120555b8173ffffffffffffffffffffffffffffffffffffffff167fcc852792b7afae13c99037685c90dd3be44073d4bc32aa8c1b72fd07a2ac537c826040516112fa911515815260200190565b60405180910390a25050565b61130e61247f565b61012f8190556040518181527f7706177c541ba1b858371bfc568aa77450b4713bbdbba62c730d4484ab6c1251906020015b60405180910390a150565b6040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c9043906113ae9084615960565b10156113e6576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003611445576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61148a818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6114c0576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114dc8b600001518c602001518d604001518e60600151612500565b5050505050505050505050565b604080517f454950373132446f6d61696e28000000000000000000000000000000000000006020808301919091527f737472696e67206e616d652c0000000000000000000000000000000000000000602d8301527f737472696e672076657273696f6e2c000000000000000000000000000000000060398301527f75696e7432353620636861696e49642c0000000000000000000000000000000060488301527f6164647265737320766572696679696e67436f6e74726163740000000000000060588301527f29000000000000000000000000000000000000000000000000000000000000006071830152825160528184030181526072830180855281519183019190912060b284018552600d9091527f426c75722045786368616e67650000000000000000000000000000000000000060929093019290925282518084018452600381527f312e3000000000000000000000000000000000000000000000000000000000009082015282518082018390527fa6bc598dcd11f5828a3f69fa224d3a8ef75a327fa851a1085f35a5213d2139ad818501527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608201524660808201523060a0808301919091528451808303909101815260c09091019093528251920191909120807fdd526a4e59bb74d0e4e4ab849ded32647b3bcf1df3acc01f4c21e76a8018c7c914611018576040517feb12798200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60fb54600114611796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f5245454e5452414e43590000000000000000000000000000000000000000000060448201526064016108a9565b600260fb556040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c9043906117fe9084615960565b1015611836576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003611895576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118da818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b611910576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c178b600001518c602001518d604001518e606001518f608001516126bd565b61193961247f565b61194360006128f0565b565b606554339073ffffffffffffffffffffffffffffffffffffffff1681146119ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084016108a9565b6109ef816128f0565b600054610100900460ff1615808015611a175750600054600160ff909116105b80611a315750303b158015611a31575060005460ff166001145b611abd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016108a9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611b1b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611b23612921565b611b2b6129b8565b611b35600160fb55565b611b3d6114e9565b80156109ef57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611340565b60008160000151826020015183604001518460600151604051602001611bdb949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b611c0061247f565b6101c480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f5425363a03f182281120f5919107c49c7a1a623acc1cbc6df468b6f0c11fcf8c90600090a250565b6040513381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa00160802061012f5483908390823590602084013590604085013560f81c90604186013560e01c90604587013560601c904390611cd39084615960565b1015611d0b576040517f58bd553e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815261012d60205260408120549003611d6a576040517fdb8d1fb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611daf818984604051602001610ba292919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b611de5576040517f2f58c7cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114dc8b600001518c602001518d604001518e60600151612a57565b611e0961247f565b6065805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611e6c60335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000807f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac90506040517f9555a9420000000000000000000000000000000000000000000000000000000081528460048201523060248201528360448201526000806064836000865af1925050816107cd576040517fbcfdca5900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109ef61247f565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f8f57610e2183612c86565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612014575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261201191810190615ace565b60015b6120a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016108a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc811461214f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016108a9565b50610e21838383612d90565b6040805160008082526020820180845287905260ff8616928201929092526060810184905260808101839052819060019060a0016020604051602081039080840390855afa1580156121b1573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81161580159061222c57508673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b1561223657600191505b5095945050505050565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff811692820192835274010000000000000000000000000000000000000000900461ffff166060820152908152602081018490526000806122a588828786612db5565b885191935091506000806122ba838289612f33565b91509150612315604080516101008101825260008082526020808301829052828401829052606083018290526080830182905260a0830182905283518085019094528184528301529060c08201908152602001600081525090565b61231d614ae8565b4760005b868110156123f0578d818151811061233b5761233b615973565b602002602001015192508e83600001518151811061235b5761235b615973565b60200260200101519350612373846000858c8c6131e5565b156123e8576000612388878787878f886132d2565b909350905080156123e657836060015160200151898560000151815181106123b2576123b2615973565b6020026020010151856040015160000151815181106123d3576123d3615973565b6020026020010181815101915081815250505b505b600101612321565b506123fe85858b600061338b565b61240833476138f8565b5050505050505050505050505050565b8051602080830151604051600093611bdb937fa192ca867b0af2744eab247871e1a6c69fcaeef80ace07b70395b60f43c0f4899391920192835273ffffffffffffffffffffffffffffffffffffffff91909116602083015261ffff16604082015260600190565b60335473ffffffffffffffffffffffffffffffffffffffff163314611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108a9565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff811692820192835274010000000000000000000000000000000000000000900461ffff166060820152908152602081018390526000806125668760018686612db5565b8751919350915060008061257c83600133612f33565b915091506125d7604080516101008101825260008082526020808301829052828401829052606083018290526080830182905260a0830182905283518085019094528184528301529060c08201908152602001600081525090565b6125df614ae8565b60005b858110156126a1578b81815181106125fc576125fc615973565b602002602001015191508c82600001518151811061261c5761261c615973565b60200260200101519250612634836001848b8b6131e5565b1561269957612646858585858d613943565b8160600151602001518783600001518151811061266557612665615973565b60200260200101518360400151600001518151811061268657612686615973565b6020026020010181815101915081815250505b6001016125e2565b506126af84848a600161338b565b505050505050505050505050565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff81168284019081527401000000000000000000000000000000000000000090910461ffff1660608084019190915290825260208083018790529287015190870151909201519091906127368860008988876139b6565b61276c576040517faf61069300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061278089600085602001518589613a4d565b895173ffffffffffffffffffffffffffffffffffffffff1660009081526101606020908152604080832060e08e0151845282528083208751845290915281208054850190559091506127d3826001613ae7565b9050806000815181106127e8576127e8615973565b6020026020010151612826576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000806000806128418760600151878f60c001518b613bac565b9350935093509350808401471015612885576040517f356680b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87515161289290846138f8565b6020880151516128a290826138f8565b60c08d0151516128b290836138f8565b6128c48d6000015184848703036138f8565b6128d7858e8960000151878c6000613c37565b6128e133476138f8565b50505050505050505050505050565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556109ef81613c93565b600054610100900460ff16611943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108a9565b600054610100900460ff16612a4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108a9565b611943613d0a565b6040805160808101825261015f5473ffffffffffffffffffffffffffffffffffffffff81168284019081527401000000000000000000000000000000000000000090910461ffff166060808401919091529082526020808301869052928601519086015190920151909190612ad08760018887876139b6565b612b06576040517faf61069300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612b1e8860018960600151600001518533613a4d565b90506000612b2d826001613ae7565b905080600081518110612b4257612b42615973565b6020026020010151612b80576040517f045c4b0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50600080600080612b9b8760600151878e60c001518b613bac565b935093509350935060008c600001519050612bbf818e60c001516000015185613daa565b612bd2818a602001516000015184613daa565b885151612be190829086613daa565b612bf081338685890303613daa565b8b606001516020015161016060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008f60e0015160001b815260200190815260200160002060008a600001518152602001908152602001600020600082825401925050819055506128e1868e8a60000151888d6001613c37565b73ffffffffffffffffffffffffffffffffffffffff81163b612d2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016108a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b612d9983613e53565b600082511180612da65750805b15610e21576107cd8383613ea0565b835160609081908067ffffffffffffffff811115612dd557612dd5614bd3565b604051908082528060200260200182016040528015612dfe578160200160208202803683370190505b5092508067ffffffffffffffff811115612e1a57612e1a614bd3565b604051908082528060200260200182016040528015612e4d57816020015b6060815260200190600190039081612e385790505b50915060005b81811015612f2857878181518110612e6d57612e6d615973565b60200260200101516060015167ffffffffffffffff811115612e9157612e91614bd3565b604051908082528060200260200182016040528015612eba578160200160208202803683370190505b50838281518110612ecd57612ecd615973565b6020026020010181905250612efe888281518110612eed57612eed615973565b602002602001015188888885613fdf565b848281518110612f1057612f10615973565b91151560209283029190910190910152600101612e53565b505094509492505050565b6060612f8b604051806101400160405280600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081526020016060815260200160608152602001606081525090565b60006020612f9a8760a0615ae7565b612fa49190615960565b90506000612fb38260a0615960565b90508067ffffffffffffffff811115612fce57612fce614bd3565b6040519080825280601f01601f191660200182016040528015612ff8576020820181803683370190505b50604081018690526060810187905260808082015260c08101889052935060008767ffffffffffffffff81111561303157613031614bd3565b60405190808252806020026020018201604052801561306a57816020015b613057614b53565b81526020019060019003908161304f5790505b50905060008867ffffffffffffffff81111561308857613088614bd3565b6040519080825280602002602001820160405280156130b1578160200160208202803683370190505b50905060008967ffffffffffffffff8111156130cf576130cf614bd3565b6040519080825280602002602001820160405280156130f8578160200160208202803683370190505b50905060008a67ffffffffffffffff81111561311657613116614bd3565b60405190808252806020026020018201604052801561313f578160200160208202803683370190505b50905060008b67ffffffffffffffff81111561315d5761315d614bd3565b604051908082528060200260200182016040528015613186578160200160208202803683370190505b509050604051806101400160405280600081526020016000815260200160008152602001600081526020016000815260200185815260200184815260200183815260200182815260200186815250975050505050505050935093915050565b6040808401518051875173ffffffffffffffffffffffffffffffffffffffff166000908152610160602090815284822060e08b0151835281528482208383529052928320548651855185918791811061324057613240615973565b6020026020010151838151811061325957613259615973565b60200260200101519050600088606001516020015190508789600001518151811061328657613286615973565b602002602001015180156132a057506132a08b8b8b614033565b80156132af5750821982820111155b80156132c357508460400151818385010111155b9b9a5050505050505050505050565b600080600085606001516020015190506000806000806133008a6040015160600151868d60c001518c613bac565b935093509350935080846133149190615960565b8810613373578084890303975061332b8c8c614123565b60006133418e8d8d604001516020015189614365565b90506133618d878d604001518f60e0015160001b858a8a8a8a60016143ce565b88600197509750505050505050613380565b8760009650965050505050505b965096945050505050565b60a084015180156138f15760006133a28683613ae7565b805190915060005b818110156136d1578281815181106133c4576133c4615973565b6020026020010151156136c957600087610120015182815181106133ea576133ea615973565b6020026020010151905061342b6040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600061ffff1681525090565b600080886001811115613440576134406159a2565b0361348b57602083015160e08b015184518151811061346157613461615973565b60200260200101818151019150818152505082606001518360a001518460200151010190506134e2565b8260200151836080015184606001518560a001510101018a60e001518460000151815181106134bc576134bc615973565b60200260200101818151019150818152505082608001518360a001518460200151010190505b602080840151908b018051909101905260a08301518a51018a5260808301516040808c01805190920190915260608401516101008c0151918501518251919291811061353057613530615973565b60200260200101818151019150818152505060405180604001604052808b60a0015185604001518151811061356757613567615973565b602002602001015173ffffffffffffffffffffffffffffffffffffffff16815260200182612710866060015102816135a1576135a1615afe565b0461ffff16815250915060008a610120015185815181106135c4576135c4615973565b60209081029190910181015160c0015180518183015160408084015173ffffffffffffffffffffffffffffffffffffffff841660009081526101608752828120848252875282812082825290965290852054606085015194965092949193909291906136309083615960565b90508560800151811161367e5773ffffffffffffffffffffffffffffffffffffffff8516600090815261016060209081526040808320878452825280832086845290915290208190556136b0565b6040517f56f1733f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050506136c48c83858d858e8b614599565b505050505b6001016133aa565b5060008460018111156136e6576136e66159a2565b036137e5576000866080015160016136fe9190615960565b905060005b818110156137575761374f8860c00151828151811061372457613724615973565b60200260200101518960e00151838151811061374257613742615973565b60200260200101516138f8565b600101613703565b5060008760600151600161376b9190615960565b905060005b818110156137b8576137b08960a00151828151811061379157613791615973565b60200260200101518a6101000151838151811061374257613742615973565b600101613770565b5086515188516137c891906138f8565b6137de87602001516000015189604001516138f8565b50506138ee565b6000866080015160016137f89190615960565b905060005b818110156138525761384a8860c00151828151811061381e5761381e615973565b6020026020010151308a60e00151848151811061383d5761383d615973565b6020026020010151613daa565b6001016137fd565b5061386230338960200151613daa565b6000876060015160016138759190615960565b905060005b818110156138c3576138bb308a60a00151838151811061389c5761389c615973565b60200260200101518b6101000151848151811061383d5761383d615973565b60010161387a565b5086515188516138d4913091613daa565b6138eb308860200151600001518a60400151613daa565b50505b50505b5050505050565b801561101857600080600080600085875af1905080610e21576040517fb12d13eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826060015160200151905060008060008061396e876040015160600151868a60c0015189613bac565b93509350935093506139808989614123565b60006139968b8a8a606001516000015189614365565b90506114dc8a878a604001518c60e0015160001b858a8a8a8a60006143ce565b60408301518051600091906139ce8888878787613fdf565b80156139e057506139e0888888614033565b8015613a41575060408083015160608801516020908101518b5173ffffffffffffffffffffffffffffffffffffffff166000908152610160835284812060e08e015182528352848120868252909252929020549091613a3e91615960565b11155b98975050505050505050565b60606000613a5d602060a0615960565b90506000613a6c8260a0615960565b90508067ffffffffffffffff811115613a8757613a87614bd3565b6040519080825280601f01601f191660200182016040528015613ab1576020820181803683370190505b506040810185905260608101889052608080820152600160c08201529250613adb83898888614365565b50505095945050505050565b60408051602081019091526060907f0000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfb9060008467ffffffffffffffff811115613b3257613b32614bd3565b604051908082528060200260200182016040528015613b5b578160200160208202803683370190505b5090508551602087017fa1ccb98e0000000000000000000000000000000000000000000000000000000060e01c81526020870260400184601c8403601c84016000895af15091979650505050505050565b6000808080613bbb8789615ae7565b9350612710866020015161ffff1685613bd49190615ae7565b613bde9190615b2d565b915061271085602001516020015161ffff1685613bfb9190615ae7565b613c059190615b2d565b85516020015190915061271090613c209061ffff1686615ae7565b613c2a9190615b2d565b9250945094509450949050565b613c666040805160a0810182526000808252602082018190529181018290526060810182905290608082015290565b604087016040810151602081018201925050506138ee818760e0015160001b87878a60c0015188886145ef565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16613da1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108a9565b611943336128f0565b8015610e21576000807f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac90506040517f23b872dd0000000000000000000000000000000000000000000000000000000081528560048201528460248201528360448201526000806064836000865af1925050816138f1576040517febf03b8300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613e5c81612c86565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b613f46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016108a9565b6000808473ffffffffffffffffffffffffffffffffffffffff1684604051613f6e9190615b68565b600060405180830381855af49150503d8060008114613fa9576040519150601f19603f3d011682016040523d82523d6000602084013e613fae565b606091505b5091509150613fd68282604051806060016040528060278152602001615cd0602791396148da565b95945050505050565b600080613fec878761101c565b60e088018190528751909150614004908287866148f3565b80156140135750608087015142105b801561402857506140288760c0015185614936565b979650505050505050565b600080826040015190506140588360200151866040015161405384611b9c565b614973565b60608401519092506000856001811115614074576140746159a2565b036140d25760008660a001516001811115614091576140916159a2565b036140ba578280156140a7575080602001516001145b80156140b7575081604001516001145b92505b8280156140cb575080516020830151145b925061411a565b60008660a0015160018111156140ea576140ea6159a2565b03614106578280156140cb57508060200151600114925061411a565b828015614117575080516020830151145b92505b50509392505050565b60c081015151606083015160a08401518051600091908390811061414957614149615973565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146142415773ffffffffffffffffffffffffffffffffffffffff81166141f757828560a0015183815181106141b8576141b8615973565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050614241565b828560a00151836001019350838151811061421457614214615973565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152606085018290525b8351608086015160c08701518051600091908390811061426357614263615973565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461435b5773ffffffffffffffffffffffffffffffffffffffff811661431157828860c0015183815181106142d2576142d2615973565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061435b565b828860c00151836001019350838151811061432e5761432e615973565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152608088018290525b5050505050505050565b60006040850160608101519150604081015160a08302602082018301019050600086015160008201528460208201526020860151606082015260a08601516080820152600183016060830152600160a0870151036143c4578360408201525b5050949350505050565b60008a608001519050808b610120015188815181106143ef576143ef615973565b60209081029190910101515260608b01516101208c015180518990811061441857614418615973565b602002602001015160400181815250506040518060a001604052808c60c00151838151811061444957614449615973565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1681526020018981526020018a6000015181526020018b81526020018a604001518152508b610120015188815181106144a1576144a1615973565b602002602001015160c0018190525081156144e75783858703038b610120015188815181106144d2576144d2615973565b60200260200101516020018181525050614514565b82858703038b6101200151888151811061450357614503615973565b602002602001015160200181815250505b838b6101200151888151811061452c5761452c615973565b60200260200101516060018181525050828b6101200151888151811061455457614554615973565b60200260200101516080018181525050848b6101200151888151811061457c5761457c615973565b602002602001015160a00181815250505050505050505050505050565b6145c86040805160a0810182526000808252602082018190529181018290526060810182905290608082015290565b5060808701516020840151604085015191890160a08402016060019161435b9183918a8a8a895b600087608001516001811115614607576146076159a2565b14801561461b575081516020015161ffff16155b801561463657506b0100000000000000000000008760200151105b8015614643575061010085105b801561465a57506b01000000000000000000000084105b1561488e57602083015161ffff1615801561467e5750602080830151015161ffff16155b1561470657602087015187517f1d5e12b51dee5e4d34434576c3fb99714a85f57b0fd546ada4b0bddd736d12b291889160a89190911b60a089901b1773ffffffffffffffffffffffffffffffffffffffff909116176146e284888c60600151614989565b604080519384526020840192909252908201526060015b60405180910390a16138ee565b826020015161ffff166000036147d857602087015187517f0fcf17fac114131b10f37b183c6a60f905911e52802caeeb3e6ea210398b81ab91889160a89190911b60a089901b1773ffffffffffffffffffffffffffffffffffffffff9091161761477584888c60600151614989565b602080870151805191015173ffffffffffffffffffffffffffffffffffffffff90911660a09190911b75ffff000000000000000000000000000000000000000016175b6040805194855260208501939093529183015260608201526080016146f9565b81602001516020015161ffff1660000361488e57602087015187517f7dc5c0699ac8dd5250cbe368a2fc3b4a2daadb120ad07f6cccea29f83482686e91889160a89190911b60a089901b1773ffffffffffffffffffffffffffffffffffffffff9091161761484b84888c60600151614989565b8651602088015173ffffffffffffffffffffffffffffffffffffffff90911660a09190911b75ffff000000000000000000000000000000000000000016176147b8565b7ff2f66294df6fae7ac681cbe2f6d91c6904485929679dce263e8f6539b7d5c559878787878787876040516148c99796959493929190615be4565b60405180910390a150505050505050565b606083156148e95750816111ee565b6111ee83836149c7565b6000806148ff85614a0b565b604184028501602081015160408201516060909201519293509160f81c614929898583868661215b565b9998505050505050505050565b6000612710826000015160200151836020015160200151856020015161495c9190615c9a565b6149669190615c9a565b61ffff1611159392505050565b6000826149808584614a6c565b14949350505050565b60008173ffffffffffffffffffffffffffffffffffffffff1660a084901b60f88660018111156149bb576149bb6159a2565b901b1717949350505050565b8151156149d75781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a99190615cbc565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201527fdd526a4e59bb74d0e4e4ab849ded32647b3bcf1df3acc01f4c21e76a8018c7c9602282015260428101829052600090606201611bdb565b600081815b8451811015614ab157614a9d82868381518110614a9057614a90615973565b6020026020010151614ab9565b915080614aa981615a96565b915050614a71565b509392505050565b6000818310614ad55760008281526020849052604090206111ee565b60008381526020839052604090206111ee565b60405180608001604052806000815260200160608152602001614b2c6040518060800160405280600081526020016000815260200160008152602001600081525090565b8152602001614b4e604051806040016040528060008152602001600081525090565b905290565b6040518060e00160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001614b4e6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600080191681526020016000815260200160008152602001600081525090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715614c2557614c25614bd3565b60405290565b604051610100810167ffffffffffffffff81118282101715614c2557614c25614bd3565b6040516080810167ffffffffffffffff81118282101715614c2557614c25614bd3565b60405160a0810167ffffffffffffffff81118282101715614c2557614c25614bd3565b6040516060810167ffffffffffffffff81118282101715614c2557614c25614bd3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614cff57614cff614bd3565b604052919050565b600067ffffffffffffffff821115614d2157614d21614bd3565b5060051b60200190565b803573ffffffffffffffffffffffffffffffffffffffff81168114614d4f57600080fd5b919050565b600281106109ef57600080fd5b803561ffff81168114614d4f57600080fd5b600060408284031215614d8557600080fd5b614d8d614c02565b9050614d9882614d2b565b8152614da660208301614d61565b602082015292915050565b60006101208284031215614dc457600080fd5b614dcc614c2b565b9050614dd782614d2b565b8152614de560208301614d2b565b602082015260408201356040820152606082013560608201526080820135608082015260a0820135614e1681614d54565b60a0820152614e288360c08401614d73565b60c082015261010082013560e082015292915050565b600082601f830112614e4f57600080fd5b81356020614e64614e5f83614d07565b614cb8565b8281526101209283028501820192828201919087851115614e8457600080fd5b8387015b85811015614ea757614e9a8982614db1565b8452928401928101614e88565b5090979650505050505050565b600060808284031215614ec657600080fd5b614ece614c4f565b90508135815260208201356020820152604082013560408201526060820135606082015292915050565b600060408284031215614f0a57600080fd5b614f12614c02565b9050813581526020820135602082015292915050565b60006101008284031215614f3b57600080fd5b614f43614c4f565b90508135815260208083013567ffffffffffffffff811115614f6457600080fd5b8301601f81018513614f7557600080fd5b8035614f83614e5f82614d07565b81815260059190911b82018301908381019087831115614fa257600080fd5b928401925b82841015614fc057833582529284019290840190614fa7565b80858701525050505050614fd78360408401614eb4565b6040820152614fe98360c08401614ef8565b606082015292915050565b600082601f83011261500557600080fd5b81356020615015614e5f83614d07565b82815260059290921b8401810191818101908684111561503457600080fd5b8286015b8481101561507457803567ffffffffffffffff8111156150585760008081fd5b6150668986838b0101614f28565b845250918301918301615038565b509695505050505050565b600082601f83011261509057600080fd5b813567ffffffffffffffff8111156150aa576150aa614bd3565b6150db60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614cb8565b8181528460208386010111156150f057600080fd5b816020850160208301376000918101602001919091529392505050565b600060c0828403121561511f57600080fd5b615127614c72565b9050813567ffffffffffffffff8082111561514157600080fd5b61514d85838601614e3e565b8352602084013591508082111561516357600080fd5b61516f85838601614ff4565b60208401526151818560408601614d73565b6040840152608084013591508082111561519a57600080fd5b506151a78482850161507f565b6060830152506151b960a08301614d2b565b608082015292915050565b60008083601f8401126151d657600080fd5b50813567ffffffffffffffff8111156151ee57600080fd5b60208301915083602082850101111561520657600080fd5b9250929050565b6000806000806060858703121561522357600080fd5b843567ffffffffffffffff8082111561523b57600080fd5b6152478883890161510d565b9550602087013591508082111561525d57600080fd5b5061526a878288016151c4565b9598909750949560400135949350505050565b60006101c0828403121561529057600080fd5b615298614c72565b90506152a48383614db1565b815261012082013567ffffffffffffffff808211156152c257600080fd5b6152ce85838601614f28565b60208401526152e1856101408601614d73565b60408401526101808401359150808211156152fb57600080fd5b506153088482850161507f565b6060830152506151b96101a08301614d2b565b6000806000806060858703121561533157600080fd5b843567ffffffffffffffff8082111561534957600080fd5b6152478883890161527d565b60006020828403121561536757600080fd5b6111ee82614d2b565b60008060006040848603121561538557600080fd5b833567ffffffffffffffff8082111561539d57600080fd5b6153a98783880161510d565b945060208601359150808211156153bf57600080fd5b506153cc868287016151c4565b9497909650939450505050565b600080604083850312156153ec57600080fd5b6153f583614d2b565b915061540360208401614d61565b90509250929050565b60008060006060848603121561542157600080fd5b61542a84614d2b565b95602085013595506040909401359392505050565b6000602080838503121561545257600080fd5b823567ffffffffffffffff81111561546957600080fd5b8301601f8101851361547a57600080fd5b8035615488614e5f82614d07565b818152606091820283018401918482019190888411156154a757600080fd5b938501935b838510156154f15780858a0312156154c45760008081fd5b6154cc614c95565b85358152868601358782015260408087013590820152835293840193918501916154ac565b50979650505050505050565b6000806040838503121561551057600080fd5b61551983614d2b565b9150602083013567ffffffffffffffff81111561553557600080fd5b6155418582860161507f565b9150509250929050565b600080610140838503121561555f57600080fd5b6155698484614db1565b915061012083013561557a81614d54565b809150509250929050565b6000806040838503121561559857600080fd5b823567ffffffffffffffff8111156155af57600080fd5b6155bb8582860161527d565b92505061540360208401614d2b565b600080604083850312156155dd57600080fd5b6155e683614d2b565b91506020830135801515811461557a57600080fd5b60006020828403121561560d57600080fd5b5035919050565b600060a0828403121561562657600080fd5b61562e614c4f565b9050813567ffffffffffffffff8082111561564857600080fd5b61565485838601614e3e565b8352602084013591508082111561566a57600080fd5b61567685838601614ff4565b60208401526156888560408601614d73565b604084015260808401359150808211156156a157600080fd5b506156ae8482850161507f565b60608301525092915050565b6000806000604084860312156156cf57600080fd5b833567ffffffffffffffff808211156156e757600080fd5b6153a987838801615614565b60008060006040848603121561570857600080fd5b833567ffffffffffffffff8082111561572057600080fd5b6153a98783880161527d565b60006080828403121561573e57600080fd5b6111ee8383614eb4565b60006101a0828403121561575b57600080fd5b615763614c4f565b905061576f8383614db1565b815261012082013567ffffffffffffffff8082111561578d57600080fd5b61579985838601614f28565b60208401526157ac856101408601614d73565b60408401526101808401359150808211156156a157600080fd5b600080604083850312156157d957600080fd5b823567ffffffffffffffff8111156157f057600080fd5b6155bb85828601615748565b6000806040838503121561580f57600080fd5b823567ffffffffffffffff81111561582657600080fd5b6155bb85828601615614565b6000806040838503121561584557600080fd5b823567ffffffffffffffff81111561585c57600080fd5b6155bb8582860161510d565b60008060006040848603121561587d57600080fd5b833567ffffffffffffffff8082111561589557600080fd5b6153a987838801615748565b60005b838110156158bc5781810151838201526020016158a4565b50506000910152565b600081518084526158dd8160208601602086016158a1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152600061592260408301856158c5565b90508260208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156110cd576110cd615931565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281106109ef577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b615a11816159d1565b9052565b8b815273ffffffffffffffffffffffffffffffffffffffff8b811660208301528a166040820152606081018990526080810188905260a081018790526101608101615a5f876159d1565b8660c08301528560e083015284610100830152615a7b846159d1565b61012082019390935261014001529998505050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615ac757615ac7615931565b5060010190565b600060208284031215615ae057600080fd5b5051919050565b80820281158282048414176110cd576110cd615931565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082615b63577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008251615b7a8184602087016158a1565b9190910192915050565b615bb3828251805173ffffffffffffffffffffffffffffffffffffffff16825260209081015161ffff16910152565b602090810151805173ffffffffffffffffffffffffffffffffffffffff166040840152015161ffff16606090910152565b60006101e08201905073ffffffffffffffffffffffffffffffffffffffff808a5116835260208a0151602084015260408a015160408401528060608b0151166060840152506080890151615c37816159d1565b608083015260a0820188905260c0820187905260e08201869052845173ffffffffffffffffffffffffffffffffffffffff16610100830152602085015161ffff16610120830152615c8c610140830185615b84565b613a416101c0830184615a08565b61ffff818116838216019080821115615cb557615cb5615931565b5092915050565b6020815260006111ee60208301846158c556fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000811000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041ff00582103dd54eb7c61a072ffc126a868cc90c59beab89ab79cef19f5005c40328b8e7e8041010219200405581e03c9328cf5f20d0b3b2b85cbea96f2ee5390df79522977c7065434c7d1600701195d0305581e03d8c18d5f0587d68b2f5bbbefa26a0773e2d8028fa16bb5ed4414feed00040303c405268e623543af8d6ca00f5b1f521cfec0b628afdf2e45ff90a48d521ee42d0219197303b40c49bd1a23b5c438d1df1bf34b7548e170078cb07a22a3dbfa28428d2e42e503ff765b53487f2440b9fed07b6f3a5f7fb640f0cef886c3db86f49a6057d327700324a1b19c41e2605e26c36a5871e88e2b1feaf6d6569a642a81f399e489968acf034b54993f8f0723ca661f9257f28645341f804c31ac0785aa3af494bc3f1fbea603dc98763315eb2071ad7306fd9eba01827257834fa1e26afcd6932a1f1bae45b60309c04ad7f89863645d2dbf19632515179232c500a664520a0cdf517691b9f5ce03e1a101ea2581de1aad6d5b702011f51af1fdb9e958ece0b3b2070336c5257d2d03a52c562242d291b1b3d4914e773346bf884974a8826714fe6f4c2656f1a9338c03989200fcee1601d2a69f0ceda6e257d44f1765946385a09c5d4e1a6b46839a3903278f3fc038976d51421d03141d451b7743352d779448ad0ba451808ae3b8344803bf7210b0f22771f9d8ebd9c2e00ea3f4bc28bcb60f70b91a11e07de18f8575cb036cba69402306098ec82d509959754e05d18e754ef8217bacbc75685be60d9df103cf331b0816733ecd0034e7bb3e4df918eda1de47b997acbc8d6e8e95ae044c920219ffff03ab737e55fb6e9cf3d794fa86caaa02e982baa0bd9fbe590c2178c3fb1e81a7a9035430e4b582139bcfef589e51a98c3754b3e4107bb073cfeb42dbb58c48c9b21a03d773f6c974bf9dc69d2f7866e4b7b3795b8ad7262614f74680178847c5a854340383b4e5c78dcfdd458c6abd11f263a7614ce6d800f516a1636e1714d7b7ad178703095c3e859e8666480d65cadff09d99668cb3714e6c789b4dd524dc21d3584994033e74faf9d930b8e6ae944d3cb102b89b83c441db1039f236da7b3f091c7c978b0219ffff031f3931e6b40b3ca7ff1a3906050f574c4215be4b7c29f5e32a4d3c9a1744e78803e6a8a0eb55cd05eea44ec7995c8cc160f1aa395f54108ed65f4b09589ace7677034887f31afb4ddace6445fd2f87be578ac98c6c4e7bd3d4e797cffbacc340049503da21d22360e81f912bfef490c8c0ce8d08209b9e0873b10440a1af004875ee6403f62e1d0c56ac39cf3586b70de29711e0440e7df66ff9c37fdf82ab19f662561103a75a9a5862f0aae50931fb228bcdd87af4e1512e1885fc174af82539c33d0d530377218190685bc948473669da94be16133ef492201eab99824f8f34c42b1fcbab0318058af21b33dfeb3f5a1b44089a928bcec938851303015681b0a9e8dd43d1a603ca9fb3190f92442a2629e0c01ba9eb47b070ea4bac003c429d2f3d97dff1be45036d430d2dbc5a1e2cb6ae6f98dca80b360f325f9c783a1884b3ecc763bdc906cc03c26719a2f4976ae1d274f600e81a574f93834d22b6545a36c407a410a969d43c0219ffff03340a8b00603d63870c00e6cbb8a4a7f8f133f7154d3e0e475837461576f5398e0321376e0b0039ed1f6c35fc6781be364eb98a53a8ae00cb260f75d9836671013d03c732d602a62fe04a5d968c890898ba4989901b3e02c9752268ca42df142d3d380324359cb048f51398393bd5262116f8327553b97cc7d0039c2611880912d2a66c0219ffff0381b9c164013efbb22b069dcbafe5b753cf9a72002609dab719a64ae813980374035ebcb071fcd9d37f93576bbda2020459b089bfd1823cc241d676f8ecbfda7fb3031b17722829643329e10a5da2461bc5aa67fcb59187e7886420a6f3888ec90e5003a1a8b087c19cc00feb207954520354b385009c885d4ced629edd64ce1b5091e9034a1828a48205ff711f2629c7d0f14292146fbc6ddc7802242a5fb0604eb061f003721bb68b27f3b252a9c5c57ffa11313213d748abc4f564bdd14841aa924d484503c4165f64c1232713e6416f6341e9dc82ac305091078fd0cc800aad0aeb02b748035b9f659423d7e914b2f96d33bb270d68ed6c7be52f7c53c1f697d7776632da0803492cdfe36ab69cf14110555d78a73f58100846e7b51dc30dcde1d19bb474de6503cced2923a90d6276ab31a34b64e5b43ead3c308efa5dc9c8e075ca537aeda34003c35ae85e73ec73598615018dc14cbbe19d24f0b8decf6e4769ddbf635b73d22703ef86f12b3095474979f07d9c2a042c7e06c573ff3e1050fb527610b3eb848e8903bc6349de12e9f1bbc8f37bae2e7874a941fb2fb304114b3039be76dceac385e1032a0adc09108dde8b1d7f6c9d051aeec53d02a3ac8d8c3d1df30c0d80b537cbcf03284eb71f7ea12b4aa2c59d01b6aa57416f8478068368db3d0639f33b07ac3a080357c827cbe3012cf9ae82fccc2ba2978a0f2d7e38e6d68be18eb723feb4c5b7f903b4fc2ade993890349ce0868c1af7430426a9ef0f48b3f1a09f3dc1ca8c43a21a037d0d44f45d466f4ff02bd0663eaede9361d91f832c630b3b4cf152920973ce2a03407b3068677a566336713dc9a7fcc083723750df14286c518ab6b923da98b12505581e03861498fc893f5be873c3d9941c5333fdb10e220d8e46c5a624798aa7f00c0246c7d2b0f0c64803fef330597d8dbb366369d17f80f904eb4f26d8cba92f8a76618298d59bf925a90345d1cfe17035c5ea8358145bd4a0c45ecc8494e2b366bd387393e88cc33e2fbb0370c007ccd8907e51bc2a62b691e57986ab5f98048e65f771977ec57518d0228305581e0326545743a7b81fca8d388380775091ed1083f4830891702594faddbd2007011bffffffffffffffff05581e03e577ab43eaa5596be3d70b39fa1180eea1771e4781752107eae45149000c0247053fed75d1400003c8980044610eb5fcd734ad473006168e8c9c7dcb62542c4565d59e80e3f9e16c03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e033e241cffcccc23354053adc7b8e734bcb3204ec40f7ed075e0bceec4d007011bffffffffffffffff05581d02daf5e74286033e700ef97c442c96f8beeff330c85345d815eed981260c1347c2809d687ea664045909045f358060e01c908163fa461e331461016f578163c89e4361146101225750631944799f1461002957005b6001483a03640277cf2a0048108060011461011057156100da575b506100d55773a88800cd213da5ae406ce248380802bd53b4764733036100d0576004358030036100c1575b5061007932610267565b604435601b19810135602482013560f081901c60ff169060f81c600581146100b3576006146100a457005b60266100b193019061046c565b005b5060266100b19301906105b6565b6100ca90610267565b5f61006f565b610246565b610225565b64183cd7f100481080600114610101575f036100445790506064604148029102115f610044565b509050489060011b115f610044565b5090506064604648029102115f610044565b5f80916101443373ad7149152a65e6ec97add7b1b1f917dcafcf9b21146101f9565b81601719360191826018833760401c6001600160a01b03165af43d5f803e1561016b573d5ff35b3d5ffd5b505061017a32610267565b610182610761565b909133036101f45760843560f81c915f918110806001146101e957156101df575b821590816001146101c15750156101b657005b6100b19133906103c6565b916100b193506101d391503383610368565b60b23560801c90610529565b60243591506101a3565b5060043591506101a3565b610204565b1561020057565b5f80fd5b62461bcd60e51b5f908152600160e51b60205261462760d31b604052604690fd5b62461bcd60e51b5f908152600160e51b60205261232960d41b604052604690fd5b62461bcd60e51b5f908152600160e51b60205261232360d41b604052604690fd5b73d267fda7ecbe322e64bf807de06e8e2284b72da98114730ff82acd0cd11bff58729e7dc9cdcdbe1fcf7a7482141773c47eff2d0b444001dfc2121aaf9b6d6db76af010821473c252ceec3ad24c47657638c323d96249a9f1b42a831417179073ad67d3a4fe6040ccb8ae703a443202ec6b9e4a0f811473d66570edcdade24edda902b28f2172e9ef8395dd8214179072d2f4eb459bd4f7b175fd0cec578229bfa3bde781149073ad7149152a65e6ec97add7b1b1f917dcafcf9b2173d1742b3c4fbb096990c8950fa635aec75b30781a82149114171717171561034757565b62461bcd60e51b5f908152600160e51b60205261231360d41b604052604690fd5b5f80604492602095829563a9059cbb60e01b84526004526024525af1156103be573d156103bc5760015f510361039a57565b62461bcd60e51b5f908152600160e51b6020526201189b60d11b604052604690fd5b565b3d5f803e3d5ffd5b905f8060d58194604096600160ff1b908103016103e16107e7565b9197630251596160e31b8752600452108060011461045457841461042f575b5060a0608452602d8102906011820160a45283190160f81b60c4526010810160b260c53701925af1156103be57565b8360245260445273fffd8963efd1fc6a506488495d951d5263988d256064525f610400565b5060016024526044526401000276a46064525f610400565b905f8060d58194604096600160ff1b908103019461048981610865565b630251596160e31b875273a88800cd213da5ae406ce248380802bd53b4764760045291979111600181146105115785146104ec575b5060a0608452602d8202916011830160a45284190160f81b60c452601082019060c53701925af1156103be57565b8460245260445273fffd8963efd1fc6a506488495d951d5263988d256064525f6104be565b5060016024526044526401000276a46064525f6104be565b6370a0823160e01b5f523060045260205f602481845afa15610594575f519182106102045760445f80809360209563a9059cbb60e01b835273d1742b3c4fbb096990c8950fa635aec75b30781a6004526024525af1156103be573d156103bc5760015f510361039a57565b62461bcd60e51b5f908152600160e51b6020526202313960d01b604052604690fd5b5f1993909284840192905b6105e760158502830135918260601c92818760051b610100015260581c60ff16836106f1565b9084156105f85750928501926105c1565b919350945092909260159161062f601582028501966014606098610624813560601c9360809785610368565b013560801c90610529565b5f5b8181106106415750505050509050565b5f8060a481808886028a0135818a600189018a8114806001146106d15785146106c2575b505063022c0d9f60e01b8352600160ff605884901c16146106ad578760051b6101000151600452826024525b60445288606452816084528c1c5af1156103be57600101610631565b826004528760051b6101000151602452610691565b028c01358e1c90508a5f610665565b5050505073a88800cd213da5ae406ce248380802bd53b476478a5f610665565b5f600481606093959495630240bc6b60e21b82525afa1561073f57600191821461072d576103e8602051916103e5815f515b0302920202040190565b6103e85f51916103e581602051610723565b62461bcd60e51b5f908152600160e51b6020526201189960d11b604052604690fd5b6085358060601c9063ffffffff609e3560601c918284106001146107e05783835b5f5260205260401c1660405260605f2060ff60f81b5f527f1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000006001526015525f805160206108e483398151915260355260555f2060018060a01b031692565b8284610782565b60b2358060601c9063ffffffff60cb3560601c918284106001146107e05783835f5260205260401c1660405260605f2060ff60f81b5f527f1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000006001526015525f805160206108e483398151915260355260555f2060018060a01b031692565b803563ffffffff60198260601c93013560601c918284106001146107e05783835f5260205260401c1660405260605f2060ff60f81b5f527f1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000006001526015525f805160206108e483398151915260355260555f2060018060a01b03169256fee34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b540605581d0212a74504d7dd026674c6c714968ec5970132171393f7c54f4d167c1707011909040219200405581e0389db36d2b71deb729df9a20124084f63a9b3041e13c7b6d62cae6536600c04476ab8fa4fcb49a60219ea530384e95f38f8676b94a1027c372ce95f05c6ab034a04195f5453b9bc58bf9edfa80356d76fb12d561e56b541b0fc35c8c102e0fc6762846988d7321d76ffcc05e47d03b5b1280460eb85c9033cb14dbff3fb0dfbee0c1295555357ef37f61ab63eab30031f991c967991c7a1e63285a198bc99b014ce3ecf336530ec142ff8bf1614d909035ba0c2cc0a9ede9fe6d382bdfa1bea8f143ca4e0fe0cd6443dd45fc76ef94ad103b7e2a816e7b7c8d436434dea2eec100ec78d5db4f3f82b55ac6ef81dafc9e5ac03a8c6319648a5bc2c59c53254d1b3fcd9e740949f1f7bbef3c242e0af703a89140331fac018636180affc24976e6d503b8cf12d6358f08c2a338ad66ceba7ae2beb038bad3a11ab007b2ac18b59594404ed9293e20084b0c785cb84fadc35a0121c510219ffff0320d1e790ecef0b910e9310583a58f238458ede7f983d0126942156df0a4d3c1003aa3405746ca90ac11d1af809305319bc35da80f7165e83a1ef76639c1eb6fc8d03cd912f48b7a73c91d1a3813e7393cfcea4cf1441a5f4d5d9144405636ef06498032df0b5cf5ffa7dc5ffe5c32913018b5b34ab548c1762869545d73c519807d7af0317977c8a262466f9e85a6daa982a8636af9a5049ef656d7daa28d6e980f67a5b0306ae7a4954462a63f000b98ef7bb0526e341838de6d325fd42d9b30c00011b9003d64db195674c55035dc4ebd373bbccd044990302e99468d8f718f2963828f0ec0361eb1272cf6a4ad3423e9d9cc1aa65cd1bf42c1de04684c359dbc6a4cdbb3ad50219ffff034059023ab99417fff5d8487f7d5dfb62dc0cf7242010feceb485e7dc8fad9ae80393e576226e9581fba5e09b1ce06348366625485a5a19c16317a14726e72dda27033e82c15d7e06501b25ad9c423fe13de0be48379bd1f5b132d9d2df97684bdb5203b55ba5eb967bcabbf1abdb4dddc7024dca15f8025884f95bb464a19543db055403bec08d2095b3513fbd553954c699b84bcbbfcbbbe38ef5de5d03209663a6efd103d5af622ae6cf30ce63de792fa6622fdf72bc894351540cc72bedafbfbbca654b035c1b395578be27ce6a8ad13253e9639384d4684b44e0ecdcc64c48c4115ad066031eadcae03c789dd1b86e4569ad2f8f63c89a9ba114f0a7a110b13ec16d6fed2303f3af806e0e6b3bfa1a0a13711473e6cfe135c2a7276d87243580eb127b14a6f003e83a27629bc47bf0377b87fe8e288805a6d748b69a96ac061b5702c54ff0f6c50219ffff03313a46bd184feeefe9a5cda82443b763f9da860978c46a0425ec343957b13a3a03b73ad08cc1ee9def17a3fb5c4e77dd45ff9085f22cb38c42d9cd4f83343155dc0346279aece39c8337b82e5850be4a8322b95e3b2d182e783ac2949b45093d87da036b5a7ad787790b4b55eb7321507d1b7d1909926a2a8498c3eb23a8c39d8651cf036cbae41527b04828d2fc1fe7e55f11517761b514fb280942dccd4d6bdce9bfc403c6da352acdc829c561e7260d4b2ff3f35678153245f01a44f4759fa972f497bb03151a039cca43c4228b21aea248c4596bdf4ca5b8d80784f07efd1e57a971c2b00318f1b50b795f18b991238a4c751f85d32433ee83b2dbc1af790a76da2edeb4c4034f677b2f5cc08d3f6de9288d67f0b81488d1d7b227b889e12a9d5dcd0921b469038c9dd652537b45880e2ab00f57a812f9c210d5be78b24120883746a192ef3584031c1a3cde0f6064a2864c954cb8a7661a18ec67164234745379d2962ef9725b5d03b8fa6e3d974b0a6e83c0d463f66d6143b18cdda041e10310ee25e402cfe8123603db30a12b4f53cffcfe4c19731d2c256b8243ace41b4e8113648b14eb69648bb90346e5584b3636788ea938e5aa5c20461c3612ec875a2c85c3c753cb3771bb403b03fcfe129123af7691fdc63ece66c707df8580ac408e9616dcc47598348980473403785b20ac723f35dae99fdac585240e4f802e0f8e04f7c8d60dbd344f90ebecd003354ec681635fd9420955bb67cfbf825118f8de55f92330cc674e284c4dc8286103f402fa51b6b3cdcf4756a9a1818f1dc3c7a443e94a637dd020e1c126da4a0ce503ed7291179d0d9bdacf187270deb02c0c2ce9b8ca7812e204ad9c493f748aa7f30345c5ced8fbd0a65e83dda299b61988fd8380da6339576607f58fdf9fe64dcfbd03cbcb476e55cf63afac56384ec13f6c53083bcfef04d88c1d369ba362efb95b2003c26d9434025b01bb01bd2b1475e30529281c5331bac174db621a2eb65a0ce6e803f4dfb65e97a20c35a35f0982e9403ef3e34203a78d96c8a4d8b8ca62b987515103f9c6a06a34215bd2906eeba363886cf995852312c69c3729afd21020f88ef5b1039b6024dbd9122b4289d741b34b60f219a9d7a1c7e8e2a56b18384f0913cd3120037dd768c1088fe83edacf82e8d314af9268724b42e3a1955ad0c7345fa608d19c03651a021e8aa8ddbd22fe0f1c28866974d89adf54b97f5089ca112b72d799a2ec039cfde0fc306ab97ddc258ffb530f774f6a0dfb54c54741d197858abd9a891e6603130e5fe1739eededf815c8c20887fc446d8fed09a00431e7808d0b7abfd16ba80336a6d9184d891ecd1eb9d1ebbdb23ec4966df21153bbec7eab46bf8acd66abef0330f1f3b73babadac65108743215a361bf494a2a7e29c24d45b090ce50a9207a003854facd3db225d43a480d786e1b66c6bc4bcb35f4e0c3e166c277beb213dbe0003f6ffe8296965d64be78378713a0018e690c9d706f7e959ba00dbbf712a6bd65b033b73041cd4b2fdb661636160f0f5ec1286ba7710d5db6dff54d66403cc8ec6da01410805581e03cad92bc71fe5ad8dd87622e80e4f2ab8f4fee20f4d3f888c9abe58e0b0040105581e0310622317060834a07097d6b7ab4c605dc40677c75f43ebd7e1b4b312f008470f38e5c7b73a0005581e03c50f175ebe487211306a6fa59cb2e8341fa686e1525ef5b328b1c5d32008472cd9c381546df505581e034dc515c315f4877b5ff0aff1ffc6874276e3cc977686133d0675e165c00c0147332734bed0d20705581e037bdb1ba4826695aa9072f624aa9fe9b59a0681ed449221859910d284f00c05474b23d87ec4480005581e03b5506ce4534bcdba265edd7c1562f4e731f917a8c5a24b3b20dd1e1d9004010339601d2f26e05b0ab2948e56bd9278f1b51094425c531bd1b5d620b47b16290f05581e035fa15d6e11818962f9a956fba2e436cc03d5f755066bfd31640e8767100c0b462dea344b826805581e03df7e2213e69f8c25545bda7f32abd9c7107938561a7ab3a85653bd16e0040102193f8d03b11e5e3cbd07fc83bc549b8a977d5eb03ab2b293068692f90329039702dc2ef20219ffff0376783a4e96f13d6440db46247a47f5aac1136e6dd22d504a9cffadc13944b10f033f80fba79e9971640606417df2c889076b322b5701557b920f4899cd7a7347b50382ac7936905b00ed0cff8d855115c777013ff8d6ab05665365ea75f89a3772a30389f228326c0efe8b73f5c89418e7275f18ca000fa4bdfd48021595ea9e1dd8e8030ae000291989b1b8e07156408d00985c4824556764963d6bc8def5a6ba60b71b030d01c5dd07a50eb264920e597fdded2a0d4c52310f4f6d882f92bda3f72ed6c003e814381fdd874a848572370535273cdf6bad60bcceb70e81d78ebd97e4377268031fb76e6c5fcb00c04a680fa3022b8b5bae329f3bf18c2d69bfe4064d157f734d03bf619e39b5b3a68fd774617f5b9d2d7268009f9a45ffbd3a72c8c3b13282556403c342eee7cb2c638d04e345f53a8dae0824fdfb401d6bb68ee70861bf0cebc81d03cbd5d383614a584dce1eca6d272017480fa8cfe55a33855ada3a74271064bd8403a9ab8fc2e7e189c266110ec040f4c29e77eaa7560e524de763f3c00d953dfaa60219ffff0219ffff03f93c1517385bbbda489b2220c61272f013808e4e5f313b9b85567ca5bd74a4a20350ffc11a762d18e74fb386a67daf8c115f197b7c9056370359464d9a8650561a036797aa11ba0c82de465d83e813b02f428d2472179b7c075c89965a58b743b55c034effde68ac6fa06b95a172bd7b2dd73cf1c96af937ccd7b8584d932801ea184b03696d27ed57f5fee8922b3bb3f93b4a9324adcf8926f0b08aba713ea7023364ca03c31fdc9719fb6e0f951da370fb249c56549d40f93c44bcb9d955eca4348b6cf6034173092638783eab42fbfb253c147fd4cbe852d29ce26c0342a31a70a82448980380135e7112a81427661823528cea8623816f9fa02afdb9f4b46c6ae4bf49b1f1039ccb81e468ee47b3a496e41bc76d386f81c44012e52301170479313273d4687303f4cd41f5fc3b5f848561d74d4563f92b753b5211afeb7cb2164bebf1017f5537031228337c58f5e847043f01b94fd9e8b6b9e08f1f5da0413f24a90c5c3919b48603d22131acd7ffcd3a370056409a5f91d966e9ff6e7f967a890d37db1ac436340f039b7a3f45ee063fcb1b83cc6f086887298db6ead0b770cd3d7ab5e3d6d4c9f8af0358e734796392ab36bcde583f8c2992c9151a18f4ea17875e6b9def2b27dd2baa03d7331660e0822a3c9e2df33dfe913a3f0d62c8076f49ccdef96b3db475aa5e9b03b3b638561df45a7e65a7758ae1799a594b6f1ecedc0efeecfd04b404181fd0ea03171cef6e8b6465c40921bc7d446cc95b030608b7159cf1ae46bf47a387f92b7d039f15de3d6f176c2aaacd108f005ac5538ddeffde8849406144fe977ae77c8ca4033264053f2007206f69426db23fa81b6f1357e882e21e23942630fd3df460d07b036babfa52526d10178d11be13f0a7e726326eafed842e9a734e33db7cf4068b770391e437285a56e4beaac7a8713d61617142f70d2af438b150f7703d85b41e99fe03c854be4af6dcc7ec27c7a7041f0fda0f3104ce976eb865eb13f1d36bf71ce4dc04594dce6080604052600436106103845760003560e01c806375796f76116101d1578063aab483d611610102578063ca15c873116100a0578063e55d6cc01161006f578063e55d6cc014610b57578063e94ad65b14610b8b578063ea452b6d14610bb8578063f1ec1e9714610bce576103bb565b8063ca15c87314610aef578063d547741f14610b0f578063d70a6f3114610b2f578063dc29f1de14610b4f576103bb565b8063b91590b2116100dc578063b91590b214610a9b578063bb635c6514610ab1578063bc3950c514610ac7578063c151aa7214610ae7576103bb565b8063aab483d614610a45578063b064d46114610a65578063b12de58614610a85576103bb565b806389e80ed31161016f57806399dd1deb1161014957806399dd1deb146109d05780639fd0506d146109f0578063a217fddf14610a1d578063a694fc3a14610a32576103bb565b806389e80ed3146109295780639010d07c1461095d57806391d148541461097d576103bb565b80637dfcdd29116101ab5780637dfcdd29146108be578063808d663f146108d4578063854a63f6146108dc578063891ef43e14610909576103bb565b806375796f761461085b57806378abb49b1461087b5780637dc0d1d014610891576103bb565b806335ead2a4116102b657806353e105fc1161025457806360a0f6281161022357806360a0f628146107d15780636daa01a2146107e75780636fce8ab214610807578063729d53341461083b576103bb565b806353e105fc1461074b5780635890c11c146107615780635915ded1146107815780635940d90b146107bc576103bb565b80633f550b3a116102905780633f550b3a1461069f57806342d3915d146106cc5780634461ff05146106fe5780634a7d80b31461071e576103bb565b806335ead2a41461063557806336568abe1461064b5780633937c0b31461066b576103bb565b806319efd5c71161032357806329e84867116102fd57806329e848671461056f5780632bf67650146105c15780632f2ff15d146105e15780633101d91014610601576103bb565b806319efd5c7146104eb578063248a9ca31461051f57806329d487041461054f576103bb565b806304f36cc21161035f57806304f36cc2146104645780630633af7614610484578063080c279a146104b25780631943190d146104d6576103bb565b80628db05b146103ed57806301ffc9a71461040f5780630208e4b514610444576103bb565b366103bb576040517f34352c7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f34352c7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3480156103f957600080fd5b5061040d61040836600461402e565b610c05565b005b34801561041b57600080fd5b5061042f61042a366004614047565b610cc7565b60405190151581526020015b60405180910390f35b34801561045057600080fd5b5061040d61045f366004614089565b610d23565b34801561047057600080fd5b5061040d61047f366004614112565b61128a565b34801561049057600080fd5b5060d05461049f9061ffff1681565b60405161ffff909116815260200161043b565b3480156104be57600080fd5b506104c860d15481565b60405190815260200161043b565b3480156104e257600080fd5b5061040d61138c565b3480156104f757600080fd5b506104c87fe30bb2df90b65284acd0e8b5ebe3483bb2bbe65a08e43f0f9e8300fd8607ee1181565b34801561052b57600080fd5b506104c861053a36600461402e565b60009081526065602052604090206001015490565b34801561055b57600080fd5b5061040d61056a36600461412f565b61143b565b34801561057b57600080fd5b5060d45461059c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161043b565b3480156105cd57600080fd5b5061040d6105dc36600461402e565b611583565b3480156105ed57600080fd5b5061040d6105fc366004614185565b6116ea565b34801561060d57600080fd5b506104c87fe6ef7125bfa79685f3bd2e4c4cea243c1e988ebbc0801ab7641ae36b9e2c529181565b34801561064157600080fd5b506104c860cf5481565b34801561065757600080fd5b5061040d610666366004614185565b611714565b34801561067757600080fd5b506104c87fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b81565b3480156106ab57600080fd5b5060d95461059c9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156106d857600080fd5b5060d95461042f9074010000000000000000000000000000000000000000900460ff1681565b34801561070a57600080fd5b506104c861071936600461402e565b6117c7565b34801561072a57600080fd5b5060d85461059c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561075757600080fd5b506104c860db5481565b34801561076d57600080fd5b506104c861077c36600461402e565b611938565b34801561078d57600080fd5b5061042f61079c36600461420e565b805160208183018101805160c98252928201919093012091525460ff1681565b3480156107c857600080fd5b506104c8611a74565b3480156107dd57600080fd5b506104c860ca5481565b3480156107f357600080fd5b5061040d6108023660046142dd565b611c23565b34801561081357600080fd5b506104c87f5e4bd437d29fad01c10cdcfff414f0d6b0e84b96d2dade88d780d45b5630696b81565b34801561084757600080fd5b5061040d61085636600461402e565b611e8c565b34801561086757600080fd5b5061040d6108763660046142ff565b611f43565b34801561088757600080fd5b506104c860d25481565b34801561089d57600080fd5b5060d55461059c9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156108ca57600080fd5b506104c860cc5481565b61040d612094565b3480156108e857600080fd5b5060d75461059c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561091557600080fd5b506104c861092436600461433a565b612131565b34801561093557600080fd5b506104c87fdec9d30de0821ad67aa5b141b13a539f584a19f99319e6041698a892b0e7955981565b34801561096957600080fd5b5061059c6109783660046142dd565b61213d565b34801561098957600080fd5b5061042f610998366004614185565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156109dc57600080fd5b5061040d6109eb36600461402e565b612155565b3480156109fc57600080fd5b5060d65461059c9073ffffffffffffffffffffffffffffffffffffffff1681565b348015610a2957600080fd5b506104c8600081565b61040d610a4036600461402e565b61220c565b348015610a5157600080fd5b5061040d610a6036600461402e565b612563565b348015610a7157600080fd5b506104c8610a80366004614368565b61261a565b348015610a9157600080fd5b506104c860ce5481565b348015610aa757600080fd5b506104c860da5481565b348015610abd57600080fd5b506104c860cb5481565b348015610ad357600080fd5b5061040d610ae23660046143d3565b61266d565b61040d612a62565b348015610afb57600080fd5b506104c8610b0a36600461402e565b612ac5565b348015610b1b57600080fd5b5061040d610b2a366004614185565b612adc565b348015610b3b57600080fd5b5061040d610b4a36600461402e565b612b01565b61040d612bb8565b348015610b6357600080fd5b506104c87f8ea5b4dbd68db0bf23bf4cda958b61a749f8c5aec6f2912d75a03246753ddd1681565b348015610b9757600080fd5b5060d35461059c9073ffffffffffffffffffffffffffffffffffffffff1681565b348015610bc457600080fd5b506104c860cd5481565b348015610bda57600080fd5b50610bee610be936600461402e565b612bfc565b60408051921515835260208301919091520161043b565b7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b610c2f81612c9c565b60ce82905560408051602081018490527e8db05b00000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610cbb9161451b565b60405180910390a25050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f000000000000000000000000000000000000000000000000000000001480610d1d5750610d1d82612ca9565b92915050565b7fe30bb2df90b65284acd0e8b5ebe3483bb2bbe65a08e43f0f9e8300fd8607ee11610d4d81612c9c565b60d660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eea12ab66040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190614562565b15610e15576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82156112845760d354604080517fc5f2892f000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163c5f2892f9160048083019260209291908290030181865afa158015610e8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eaf919061457f565b9050808314610ef2576040517f1497ae93000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b6000805b858110156111105736878783818110610f1157610f11614598565b9050602002810190610f2391906145c7565b905060c9610f346040830183614605565b604051610f42929190614671565b9081526040519081900360200190205460ff1615610f8c576040517f932c5b0d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d15481602001351015610fcc576040517f172b315400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d2548160200135111561100c576040517f184a72de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102161101c6060830183614605565b612d40565b600160c96110326040840184614605565b604051611040929190614671565b9081526040516020918190038201902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169215159290921790915561108b90820135846146b0565b9250803561109c6040830183614605565b6040516110aa929190614671565b60405180910390207f15f16c2e13e50235799a97b981bf4a66c8cd86051f06aca745c5ff26f39b330e8380604001906110e39190614605565b85602001356040516110f79392919061470c565b60405180910390a35061110981614730565b9050610ef6565b5060cd5481111561114d576040517f1eecaf5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060cd600082825461115f9190614768565b925050819055508060ca600082825461117891906146b0565b909155505060cb80548691906000906111929084906146b0565b90915550600090505b8581101561128057368787838181106111b6576111b6614598565b90506020028101906111c891906145c7565b60d35490915073ffffffffffffffffffffffffffffffffffffffff16632289511860208301356111fb6040850185614605565b6112086060870187614605565b6112156080890189614605565b8960a001356040518963ffffffff1660e01b815260040161123c979695949392919061477b565b6000604051808303818588803b15801561125557600080fd5b505af1158015611269573d6000803e3d6000fd5b5050505050508061127990614730565b905061119b565b5050505b50505050565b7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b6112b481612c9c565b60d9805483151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff9091161790556040517f04f36cc200000000000000000000000000000000000000000000000000000000907f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e7490611354908590602001901515815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610cbb916147cc565b7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b6113b681612c9c565b60d760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b2d42b466040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561142057600080fd5b505af1158015611434573d6000803e3d6000fd5b5050505050565b7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b61146581612c9c565b611472600a612710614842565b61ffff168261ffff1611156114b3576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61271061ffff831611156114c9576114c961488a565b60d080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff84169081179091556040805160208101929092527f29d4870400000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610cbb916148b9565b60d660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b61391a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116149190614562565b1561164b576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051339082907fbac6b2cb68f9205537fb1489571de5d98c9492cd5e1c7581b81cbb5932753aa890600090a360d7546040517fddd5e1b20000000000000000000000000000000000000000000000000000000081526004810183905233602482015273ffffffffffffffffffffffffffffffffffffffff9091169063ddd5e1b290604401600060405180830381600087803b15801561142057600080fd5b60008281526065602052604090206001015461170581612c9c565b61170f8383612ec0565b505050565b73ffffffffffffffffffffffffffffffffffffffff811633146117b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610ee9565b6117c38282612ee2565b5050565b60d454604080517f18160ddd000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916318160ddd9160048083019260209291908290030181865afa158015611837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185b919061457f565b600003611866575090565b60d054610d1d90839061187f9061ffff16612710614926565b61ffff1660d460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611914919061457f565b61191e9190614941565b612710611929611a74565b6119339190614941565b612f04565b60d454604080517f18160ddd000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916318160ddd9160048083019260209291908290030181865afa1580156119a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cc919061457f565b6000036119d7575090565b610d1d826119e3611a74565b60d460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611933919061457f565b60008060d560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f3a009a06040518163ffffffff1660e01b815260040161010060405180830381865afa158015611ae5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b09919061497b565b9050600060cc5481611b1b91906146b0565b905060cd5481611b2b91906146b0565b90508160e001516fffffffffffffffffffffffffffffffff1660ca54611b519190614768565b611b5b90826146b0565b90508160c001516fffffffffffffffffffffffffffffffff1681611b7f91906146b0565b905060d760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b69ef8a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c12919061457f565b611c1c90826146b0565b9392505050565b7fe6ef7125bfa79685f3bd2e4c4cea243c1e988ebbc0801ab7641ae36b9e2c5291611c4d81612c9c565b60d660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fdcada5e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cde9190614562565b15611d15576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cc54611d2283856146b0565b1115611d5a576040517f96b0c75100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d6482846146b0565b60cc6000828254611d759190614768565b90915550508115611dcb578160cd6000828254611d9291906146b0565b90915550506040518281527f9d04ecb465d2c8754acb798a22293dd26215a1c2f7a2a56607afa215c1aadc779060200160405180910390a15b821561170f576040518381527ffe89805cf5299ef9fbd1d1ddefb8dcc3fa9408064d2ea31e3fca6565768f52179060200160405180910390a160d760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634d13bfa6846040518263ffffffff1660e01b81526004016000604051808303818588803b158015611e6e57600080fd5b505af1158015611e82573d6000803e3d6000fd5b5050505050505050565b7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b611eb681612c9c565b60db82905560408051602081018490527f729d533400000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610cbb91614a45565b7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b611f6d81612c9c565b8173ffffffffffffffffffffffffffffffffffffffff8116611fbb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040805160208101929092527f75796f7600000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261208791614a8c565b60405180910390a2505050565b60d95473ffffffffffffffffffffffffffffffffffffffff1633146120e5576040517f031886f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040513481527f4cbb9d73b003a252cee3f2ee51d8d65a562af35eebb23730dd4a76d68127b3709060200160405180910390a13460cc600082825461212a91906146b0565b9091555050565b6000611c1c838361302d565b6000828152609760205260408120611c1c908361332d565b7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b61217f81612c9c565b60cf82905560408051602081018490527f99dd1deb00000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610cbb91614ad3565b60d660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631ea7ca896040518163ffffffff1660e01b8152600401602060405180830381865afa158015612279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061229d9190614562565b156122d4576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d95474010000000000000000000000000000000000000000900460ff1615612320576123207fdec9d30de0821ad67aa5b141b13a539f584a19f99319e6041698a892b0e79559612c9c565b60ce5434101561235c576040517f2c2843b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000612367346117c7565b905060db5460d460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123fd919061457f565b61240790836146b0565b111561243f576040517f273ad0e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81811015612483576040517fb5903eca0000000000000000000000000000000000000000000000000000000081526004810182905260248101839052604401610ee9565b3460cc600082825461249591906146b0565b9091555050604080513481526020810183905233917f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90910160405180910390a260d4546040517f40c10f190000000000000000000000000000000000000000000000000000000081523360048201526024810183905273ffffffffffffffffffffffffffffffffffffffff909116906340c10f1990604401600060405180830381600087803b15801561254757600080fd5b505af115801561255b573d6000803e3d6000fd5b505050505050565b7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b61258d81612c9c565b60d182905560408051602081018490527faab483d600000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610cbb91614b1a565b60d4546000906126589073ffffffffffffffffffffffffffffffffffffffff1633306fffffffffffffffffffffffffffffffff8b1689898989613339565b612662878761302d565b979650505050505050565b600054610100900460ff161580801561268d5750600054600160ff909116105b806126a75750303b1580156126a7575060005460ff166001145b612733576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ee9565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561279157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6127996135b9565b81516127a790600090612ec0565b6127d57fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b8360200151612ec0565b6128037fe6ef7125bfa79685f3bd2e4c4cea243c1e988ebbc0801ab7641ae36b9e2c52918360400151612ec0565b6128317fe30bb2df90b65284acd0e8b5ebe3483bb2bbe65a08e43f0f9e8300fd8607ee118360600151612ec0565b61287b7f8ea5b4dbd68db0bf23bf4cda958b61a749f8c5aec6f2912d75a03246753ddd167fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b613652565b6128c57fdec9d30de0821ad67aa5b141b13a539f584a19f99319e6041698a892b0e795597f8ea5b4dbd68db0bf23bf4cda958b61a749f8c5aec6f2912d75a03246753ddd16613652565b60c082015160d480547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560e084015160d38054831691841691909117905561010084015160d58054831691841691909117905561012084015160d680548316918416919091179055608084015160d9805461014087015160d78054861691871691909117905560a087015160d880549095169086161790935567016345785d8a000060ce55662386f26fc1000060cf556801bc16d674ec80000060d181905560d25574010000000000000000000000000000000000000000919093167fffffffffffffffffffffff000000000000000000000000000000000000000000909216919091171790554360da55683782dace9d9000000060db5580156117c357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60d75473ffffffffffffffffffffffffffffffffffffffff163314612ab3576040517f7154fc4300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3460cc600082825461212a91906146b0565b6000818152609760205260408120610d1d9061369d565b600082815260656020526040902060010154612af781612c9c565b61170f8383612ee2565b7fa6b5d83d32632203555cb9b2c2f68a8d94da48cadd9266ac0d17babedb52ea5b612b2b81612c9c565b60d282905560408051602081018490527fd70a6f3100000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610cbb91614b61565b7f5e4bd437d29fad01c10cdcfff414f0d6b0e84b96d2dade88d780d45b5630696b612be281612c9c565b3460cc6000828254612bf491906146b0565b909155505050565b60d7546040517f4f588bf100000000000000000000000000000000000000000000000000000000815260048101839052600091829173ffffffffffffffffffffffffffffffffffffffff90911690634f588bf1906024016040805180830381865afa158015612c6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c939190614ba8565b91509150915091565b612ca681336136a7565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610d1d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610d1d565b60208114612d7d576040517f9b0ec52700000000000000000000000000000000000000000000000000000000815260048101829052602401610ee9565b6000612d8c600c828486614bd6565b612d9591614c00565b90507f01000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffff0000000000000000000000000000000000000000821614612e36576040517f08ebf5650000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffff000000000000000000000000000000000000000082166004820152602401610ee9565b6000612e466020600c8587614bd6565b612e4f91614c48565b60d85460609190911c915073ffffffffffffffffffffffffffffffffffffffff168114611284576040517f1b4d561900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610ee9565b612eca8282613761565b600082815260976020526040902061170f9082613855565b612eec8282613877565b600082815260976020526040902061170f9082613932565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003612f5c57838281612f5257612f52614813565b0492505050611c1c565b808411612fc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610ee9565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b60d654604080517f8b61391a000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691638b61391a9160048083019260209291908290030181865afa15801561309d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130c19190614562565b156130f8576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cf54836fffffffffffffffffffffffffffffffff161015613146576040517f3b8dd38000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613163846fffffffffffffffffffffffffffffffff16611938565b9050826fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff1610156131df576040517f3aff96a90000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff808316600483015284166024820152604401610ee9565b60d7546040517fb5475cf60000000000000000000000000000000000000000000000000000000081523360048201526fffffffffffffffffffffffffffffffff80871660248301528316604482015260009173ffffffffffffffffffffffffffffffffffffffff169063b5475cf6906064016020604051808303816000875af1158015613270573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613294919061457f565b604080516fffffffffffffffffffffffffffffffff808616825288166020820152919250339183917fcbb10a3603d92dc1f9db6996b88539fbd521bb4144891e34c75b05c341c18379910160405180910390a360d45460d7546133259173ffffffffffffffffffffffffffffffffffffffff908116913391166fffffffffffffffffffffffffffffffff8916613954565b949350505050565b6000611c1c83836139e9565b6040517f7ecebe0000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152600091908a1690637ecebe0090602401602060405180830381865afa1580156133a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133cd919061457f565b6040517fd505accf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301528981166024830152604482018990526064820188905260ff8716608483015260a4820186905260c48201859052919250908a169063d505accf9060e401600060405180830381600087803b15801561346757600080fd5b505af115801561347b573d6000803e3d6000fd5b50506040517f7ecebe0000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b81166004830152600093508c169150637ecebe0090602401602060405180830381865afa1580156134ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613512919061457f565b905061351f8260016146b0565b81146135ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f5361666545524332303a207065726d697420646964206e6f742073756363656560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610ee9565b50505050505050505050565b600054610100900460ff16613650576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ee9565b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6000610d1d825490565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166117c3576136e781613a13565b6136f2836020613a32565b604051602001613703929190614c8e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610ee991600401614d0f565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166117c357600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556137f73390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000611c1c8373ffffffffffffffffffffffffffffffffffffffff8416613c75565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156117c357600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611c1c8373ffffffffffffffffffffffffffffffffffffffff8416613cc4565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611284908590613dbe565b6000826000018281548110613a0057613a00614598565b9060005260206000200154905092915050565b6060610d1d73ffffffffffffffffffffffffffffffffffffffff831660145b60606000613a41836002614941565b613a4c9060026146b0565b67ffffffffffffffff811115613a6457613a646141b5565b6040519080825280601f01601f191660200182016040528015613a8e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110613ac557613ac5614598565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110613b2857613b28614598565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000613b64846002614941565b613b6f9060016146b0565b90505b6001811115613c0c577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110613bb057613bb0614598565b1a60f81b828281518110613bc657613bc6614598565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93613c0581614d22565b9050613b72565b508315611c1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ee9565b6000818152600183016020526040812054613cbc57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610d1d565b506000610d1d565b60008181526001830160205260408120548015613dad576000613ce8600183614768565b8554909150600090613cfc90600190614768565b9050818114613d61576000866000018281548110613d1c57613d1c614598565b9060005260206000200154905080876000018481548110613d3f57613d3f614598565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080613d7257613d72614d57565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610d1d565b6000915050610d1d565b5092915050565b6000613e20826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16613ecd9092919063ffffffff16565b9050805160001480613e41575080806020019051810190613e419190614562565b61170f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610ee9565b60606133258484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051613f019190614d86565b60006040518083038185875af1925050503d8060008114613f3e576040519150601f19603f3d011682016040523d82523d6000602084013e613f43565b606091505b50915091506126628783838760608315613fe5578251600003613fde5773ffffffffffffffffffffffffffffffffffffffff85163b613fde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ee9565b5081613325565b6133258383815115613ffa5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee99190614d0f565b60006020828403121561404057600080fd5b5035919050565b60006020828403121561405957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611c1c57600080fd5b60008060006040848603121561409e57600080fd5b833567ffffffffffffffff808211156140b657600080fd5b818601915086601f8301126140ca57600080fd5b8135818111156140d957600080fd5b8760208260051b85010111156140ee57600080fd5b6020928301989097509590910135949350505050565b8015158114612ca657600080fd5b60006020828403121561412457600080fd5b8135611c1c81614104565b60006020828403121561414157600080fd5b813561ffff81168114611c1c57600080fd5b73ffffffffffffffffffffffffffffffffffffffff81168114612ca657600080fd5b803561418081614153565b919050565b6000806040838503121561419857600080fd5b8235915060208301356141aa81614153565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715614208576142086141b5565b60405290565b60006020828403121561422057600080fd5b813567ffffffffffffffff8082111561423857600080fd5b818401915084601f83011261424c57600080fd5b81358181111561425e5761425e6141b5565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156142a4576142a46141b5565b816040528281528760208487010111156142bd57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080604083850312156142f057600080fd5b50508035926020909101359150565b60006020828403121561431157600080fd5b8135611c1c81614153565b6fffffffffffffffffffffffffffffffff81168114612ca657600080fd5b6000806040838503121561434d57600080fd5b82356143588161431c565b915060208301356141aa8161431c565b60008060008060008060c0878903121561438157600080fd5b863561438c8161431c565b9550602087013561439c8161431c565b945060408701359350606087013560ff811681146143b957600080fd5b9598949750929560808101359460a0909101359350915050565b600061016082840312156143e657600080fd5b6143ee6141e4565b6143f783614175565b815261440560208401614175565b602082015261441660408401614175565b604082015261442760608401614175565b606082015261443860808401614175565b608082015261444960a08401614175565b60a082015261445a60c08401614175565b60c082015261446b60e08401614175565b60e082015261010061447e818501614175565b90820152610120614490848201614175565b908201526101406144a2848201614175565b908201529392505050565b60005b838110156144c85781810151838201526020016144b0565b50506000910152565b600081518084526144e98160208601602086016144ad565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152601d60408201527f7365744d696e696d756d5374616b65426f756e642875696e74323536290000006060820152608060208201526000611c1c60808301846144d1565b60006020828403121561457457600080fd5b8151611c1c81614104565b60006020828403121561459157600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff418336030181126145fb57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261463a57600080fd5b83018035915067ffffffffffffffff82111561465557600080fd5b60200191503681900382131561466a57600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610d1d57610d1d614681565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6040815260006147206040830185876146c3565b9050826020830152949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361476157614761614681565b5060010190565b81810381811115610d1d57610d1d614681565b60808152600061478f60808301898b6146c3565b82810360208401526147a281888a6146c3565b905082810360408401526147b78186886146c3565b91505082606083015298975050505050505050565b60408152601960408201527f7365745374616b696e67416c6c6f776c69737428626f6f6c29000000000000006060820152608060208201526000611c1c60808301846144d1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061ffff8084168061487e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60408152602160408201527f73657445786368616e676541646a7573746d656e74526174652875696e74313660608201527f2900000000000000000000000000000000000000000000000000000000000000608082015260a060208201526000611c1c60a08301846144d1565b61ffff828116828216039080821115613db757613db7614681565b8082028115828204841417610d1d57610d1d614681565b805167ffffffffffffffff8116811461418057600080fd5b80516141808161431c565b600061010080838503121561498f57600080fd5b6040519081019067ffffffffffffffff821181831017156149b2576149b26141b5565b816040526149bf84614958565b81526149cd60208501614958565b60208201526149de60408501614958565b60408201526149ef60608501614958565b606082015260808401519150614a048261431c565b816080820152614a1660a08501614970565b60a0820152614a2760c08501614970565b60c0820152614a3860e08501614970565b60e0820152949350505050565b60408152601d60408201527f7365744d6178696d756d4d455448537570706c792875696e74323536290000006060820152608060208201526000611c1c60808301846144d1565b60408152601c60408201527f7365745769746864726177616c57616c6c6574286164647265737329000000006060820152608060208201526000611c1c60808301846144d1565b60408152601f60408201527f7365744d696e696d756d556e7374616b65426f756e642875696e7432353629006060820152608060208201526000611c1c60808301846144d1565b60408152602060408201527f7365744d696e696d756d4465706f736974416d6f756e742875696e74323536296060820152608060208201526000611c1c60808301846144d1565b60408152602060408201527f7365744d6178696d756d4465706f736974416d6f756e742875696e74323536296060820152608060208201526000611c1c60808301846144d1565b60008060408385031215614bbb57600080fd5b8251614bc681614104565b6020939093015192949293505050565b60008085851115614be657600080fd5b83861115614bf357600080fd5b5050820193919092039150565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000813581811691600c851015614c4057808186600c0360031b1b83161692505b505092915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015614c405760149490940360031b84901b1690921692915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614cc68160178501602088016144ad565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614d038160288401602088016144ad565b01602801949350505050565b602081526000611c1c60208301846144d1565b600081614d3157614d31614681565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600082516145fb8184602087016144ad56fea2646970667358221220f4b835c80b0aa35d656bd65254e8b76ad80656e16868f7a6f1728135968b11a264736f6c6343000814003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e03afab172f5f95293bbb26f4716b6435250918edf01f43f1cb2ff3e124300701194dce038dbc6aa5f8355144df3d7863810f8c589c3a4d953f6f7e6e06ba6276fa3517be034ae9bcd83d8da1b77f20e0da7800c2ea32b7eff2bf20a3843344d54dfca7ccf205581e03b37cc519bf407ebe252fa522a1a74df99597fde6a01a10d529a6fe00a00401031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03d4918597b268ededc65b735ab17f72ad9f017eb732a26f4cb8b00fbac007011bffffffffffffffff05581e036078bd504d9281ac9800eb45268babf2920d46f6e838cad9bd55bc2400040b03843df43241fee5523d083bb34a41929ced48e457d956f61fcd2165414208b45d0219698b031a6e9602ef59c463eb69466baf23497bb420a357e3fa5b06db54fbf8089828260399a62ab8eed6a65a4d3630e3c89b5cde560351ecc3a9a5e11f7e94932aa7b48e03b0b865f4838186e0c60de06097443798b3738342ec0191df38fb14c5918011c7034e3bdb3e85c8d8144c631a1cbd0850861fb2383b72d935a4fc798b1f58ab8ec603aa47f5da571ce2ec3b1c82cb79ca03c249626d1b00b137cd4f97a9b92477bad90219ffff032f9eb56062a798c7ada1bb14f91857a84e9403ed5b8921682c1f45de9f9fe7080319aaa0995a0726db2bf88da30bd3e82abc4f4a8ab015b00af83ab764e7d60dae0367964977f822970f71cadfd64270061c193efab96680d57bfc4145a040695aa70362602fa6ec39bb39bec3e8a399987e7dfe08ba1cb5982e987fe946bd314216e503f6454833583f040bd23755118e085dd7a49bc93db7553e4ec4e811b4bd272a5e03690f11b0ee196446f41f28ec3dc852eb0695a8e5263f72a847679a66e38daef203ecb8ab2f29bfc2308531edc835886875ef4997fabd69fd8beb999d5e720e0ca303e7de45dd881f900017f234d518997c2201ecff7a3764dbe21bfcb6a742b9e4110371ba89e88adc0688404e61928a50953049453811bfe76f3e0b3f94a8d5233d9f0219ffff03d63ce98637d9afd11b4bef3c93c1cdccb1feff6c91fce2f06b52c69f22eb458903a81c5d6967b92107274534c197a5c2b3a4e36801db99267739b33c59c8a67fe60349227c0bb8fa27caf815c1b04f175b36913380623a827bc45fb1bc8bbe122db60339c57e90a15fe7cd412eb0587d5c7af6a1cf494f8407ef049961c0ca994e2bb4035cd46b8662706d37ca891b0f093f39dae9851df6a60e0ec26736be0a2175dc3b030031cf5f8d71c929c16611db52160a84824ca9e6beb1e77341f7631f3d04f00e03b5dbd5d07ad6256580d93db25defeadf6aceebbcb8bba2749c5e91540844ca3b0328fd6f4beca09e389ccd1b3d6648d533ba1fe3245580d6ba59a5d9b4ae2d2d5b033e8deede20777d8887f21ab6af7027b80e3256103894e28eed3e44574bacf7250322bae1b03f6527e675f1da459d5a9ac7229807b2b877703095deeef6dad8725b0300a569e5a0c87ca68727fb816ce7227c6973e8f09878570889bbc9011cb8069d0219ffff03ea5945cb2da33777fbaca97f5ecfb80ac1ffa8a076540e6791b663a22f747ebb03da744ca48a25a85701babb366c130934529107ad81c30a99334502490110d41a0322b73f3e53122b2659e7e0f7c43f192938e2129c98cfed379b05a580c4b10c200316c1c8a7afb21431ebc374c54653d0f245d337e29b72b47b408414c7821e1d3503953dfbf9a20abf298b17b675a090d0d9531b1e4a81504a8737d2583a6da29c34037781baeeee99b2a92defc26c6f03878cea627e81d2a0a25b7702e92c10ab7bbf038c04961376fa9a2df926aa16cff462f10f6fd9c1d9a36084b421de238b17fdd103ad4008840c6e9eb031e32b78efae92bb8be08d04b415a6e518e10bab83a0b78603cdd4dbcaae654f74b707e1a9af7b5cf180ca685341f0b3ddd447eb23d34ed8ca03ec20e6d8f97a16fd48da1dadb5c924cfe5a5ffeb74449a64c7f38d12adde487503f91a8d2113f8df4a0eb92f214453251c1c0cd308c85a8bde9ea4ed3e361b96d8038ad33b32a73949ce8eeb7ff065d224c2cf5498286cf6a42f2bc2b618742a924c031890e56a51edc71e63f0d8d104d67402ae969348a0baff75f19b2f591a3b43ec034105946e4f55ae207760615e2157396eb6e95950cd58780dda09f98361a33769031fc101d999caa607e1b8e689842c612035c83d736bfb2308f0212131578c59fa031e0d5e77b45513cc80f7920ce664a3f3d84f527fa8da61d5e3ac7a745b5123390325a11a651abac9ae574a67c0b02048576f02b8e6db5df7659067353a12180d2003b135c451dae9814848da539a984616ca45afa921812f96a3c2231ca8b55720540300582b3fcc94b874135f97e249e76c3859d2305346c3e1601df03c6498604e4f036ae94efc8fa4b0846ee5265c1d540f9e7f4f6cacae40bcaadd3995bc563752db03894677f3715a28fdeed39fa78549a69ed7853be7f034353007afaec9c84ad3150339ce478fcbde59779bdbb30f006426abccbe3f30e3be97162d8c1f96a8d4817405581e03c22020e1ab66911aa8f91d068dd1a6dcadd60c6cdffca4022b5c99f570040105581e03e09027b4cb1ac6ddfeebd946825a65baf569b6674897a3930df84148a0040305581e03f7bd6c0d883b0a24edcb352560bdb7ea62bb34882ac0213f557e3da4b00c0142138005581d02cd7dbdb83466d6dfdcccbab5346c5fea2b3795dec596f876d94b57ed0c014638bb2a0d8a7004592220608060405234801561001057600080fd5b50600436106101a95760003560e01c80633b70c18a116100f95780638da5cb5b11610097578063bedb86fb11610071578063bedb86fb146103eb578063ea5f084f146103fe578063ef6602ba1461041e578063f2fde38b1461042757600080fd5b80638da5cb5b146103b457806397fc007c146103c5578063b571d3dd146103d857600080fd5b80636989ca7c116100d35780636989ca7c146103635780636d46e98714610376578063715018a6146103995780638a336231146103a157600080fd5b80633b70c18a146103325780633fdeecb2146103455780635c975abb1461035857600080fd5b80631794bb3c116101665780632362f03e116101405780632362f03e146102b45780632571098d146102d45780632b7ac3f3146102f457806331fa742d1461031f57600080fd5b80631794bb3c1461027b5780631d49e4571461028e5780631e228302146102a157600080fd5b806303c7f4af146101ae578063059def61146101f35780630a2459241461020a57806310d445831461023d578063116a1f42146102525780631325aca014610268575b600080fd5b6101d57f000000000000000000000000000000000000000000000000000000000008275081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b6101fc609c5481565b6040519081526020016101ea565b61022d610218366004611d00565b609b6020526000908152604090205460ff1681565b60405190151581526020016101ea565b61025061024b366004611d6b565b61043a565b005b61022d610260366004611db7565b609c54101590565b610250610276366004611e17565b610643565b610250610289366004611faf565b610996565b61025061029c366004611d00565b610b42565b6102506102af366004611db7565b610ba8565b6101fc6102c2366004611db7565b609d6020526000908152604090205481565b6101fc6102e2366004611db7565b609e6020526000908152604090205481565b609954610307906001600160a01b031681565b6040516001600160a01b0390911681526020016101ea565b61025061032d366004611feb565b610bf5565b609854610307906001600160a01b031681565b610250610353366004611d6b565b6110a0565b60655460ff1661022d565b610250610371366004611d00565b611342565b61022d610384366004611d00565b609a6020526000908152604090205460ff1681565b610250611399565b6102506103af366004611d00565b6113ad565b6033546001600160a01b0316610307565b6102506103d3366004611d00565b61140c565b6102506103e6366004611d00565b611466565b6102506103f9366004612078565b6114bd565b6101fc61040c366004611db7565b609f6020526000908152604090205481565b6101fc60975481565b610250610435366004611d00565b6114de565b610442611554565b6000811161048f5760405162461bcd60e51b8152602060048201526015602482015274636f756e74206d757374206265206e6f6e7a65726f60581b60448201526064015b60405180910390fd5b60008061049c85856115ae565b9150915060006104b0836001015160c01c90565b6000818152609d602052604090205490915082146105075760405162461bcd60e51b81526020600482015260146024820152730d2dcc6dee4e4cac6e840c4c2e8c6d040d0c2e6d60631b6044820152606401610486565b6000609d8161051687856120b0565b8152602001908152602001600020541461057e5760405162461bcd60e51b8152602060048201526024808201527f726576657274696e67206d7573742073746172742066726f6d2074686520656e60448201526364696e6760e01b6064820152608401610486565b609c5481116105d95760405162461bcd60e51b815260206004820152602160248201527f63616e206f6e6c792072657665727420756e66696e616c697a656420626174636044820152600d60fb1b6064820152608401610486565b5b831561063b576000818152609d602052604080822082905551839183917ecae2739091badfd91c373f0a16cede691e0cd25bb80cff77dd5caeb47101469190a36001016000818152609d6020526040902054600019909401939150816105da575b505050505050565b336000908152609a602052604090205460ff166106995760405162461bcd60e51b815260206004820152601460248201527331b0b63632b9103737ba1039b2b8bab2b731b2b960611b6044820152606401610486565b6106a16115cb565b60ff8616156106e45760405162461bcd60e51b815260206004820152600f60248201526e34b73b30b634b2103b32b939b4b7b760891b6044820152606401610486565b8251806107245760405162461bcd60e51b815260206004820152600e60248201526d626174636820697320656d70747960901b6044820152606401610486565b60008061073188886115ae565b915091506000610745836001015160c01c90565b90506000610757846011015160c01c90565b6000838152609d602052604090205490915083146107b75760405162461bcd60e51b815260206004820152601b60248201527f696e636f727265637420706172656e74206261746368206861736800000000006044820152606401610486565b609d60006107c68460016120b0565b8152602081019190915260400160002054156108245760405162461bcd60e51b815260206004820152601760248201527f626174636820616c726561647920636f6d6d69747465640000000000000000006044820152606401610486565b604080516020870281019091526000805b87811015610889576000610866848d8481518110610855576108556120c3565b602002602001015185888f8f611611565b948501946020949094019392909201915080610881816120d9565b915050610835565b508761010060ff830104602002146108d95760405162461bcd60e51b81526020600482015260136024820152720eee4dedcce40c4d2e8dac2e040d8cadccee8d606b1b6044820152606401610486565b600060208802808185032091505060405196506001850194506108ff878f60ff16611872565b60c085811b600189015282811b600989015284901b60118801526019870181905260398701869052610932878b8b611879565b6000610948886109438c60596120b0565b902090565b6000878152609d602052604080822083905551919250829188917f2c32d4ae151744d0bf0b9464a3e897a1d17ed2f1af71f7c9a75f12ce0d28238f91a3505050505050505050505050505050565b600054610100900460ff16158080156109b65750600054600160ff909116105b806109d05750303b1580156109d0575060005460ff166001145b610a335760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610486565b6000805460ff191660011790558015610a56576000805461ff0019166101001790555b610a5e611885565b609880546001600160a01b038087166001600160a01b03199283161790925560998054928616929091168217905560978390556040516000907f728af3d16a5760405e27a082c98ab272e9f0a1d02f0085d41532a26093aedd96908290a36040805160008152602081018490527f6d0f49971e462a2f78a25906f145cb29cd5e7bd01ebf681ac8f58cb814e5877a910160405180910390a18015610b3c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b610b4a611554565b6001600160a01b0381166000818152609b6020908152604091829020805460ff1916600190811790915591519182527f967f99d5d403870e4356ff46556df3a6b6ba1f50146639aaedfb9f248eb8661e91015b60405180910390a250565b610bb0611554565b609780549082905560408051828152602081018490527f6d0f49971e462a2f78a25906f145cb29cd5e7bd01ebf681ac8f58cb814e5877a910160405180910390a15050565b336000908152609b602052604090205460ff16610c485760405162461bcd60e51b815260206004820152601160248201527031b0b63632b9103737ba10383937bb32b960791b6044820152606401610486565b610c506115cb565b84610c9d5760405162461bcd60e51b815260206004820152601b60248201527f70726576696f757320737461746520726f6f74206973207a65726f00000000006044820152606401610486565b83610ce35760405162461bcd60e51b81526020600482015260166024820152756e657720737461746520726f6f74206973207a65726f60501b6044820152606401610486565b600080610cf089896115ae565b915091506000610d01836019015190565b90506000610d13846001015160c01c90565b6000818152609d60205260409020549091508314610d6a5760405162461bcd60e51b81526020600482015260146024820152730d2dcc6dee4e4cac6e840c4c2e8c6d040d0c2e6d60631b6044820152606401610486565b88609e6000610d7a6001856120f2565b81526020019081526020016000205414610dd65760405162461bcd60e51b815260206004820152601d60248201527f696e636f72726563742070726576696f757320737461746520726f6f740000006044820152606401610486565b6000818152609e602052604090205415610e2b5760405162461bcd60e51b815260206004820152601660248201527518985d18da08185b1c9958591e481d995c9a599a595960521b6044820152606401610486565b6040516001600160c01b03197f000000000000000000000000000000000000000000000000000000000008275060c01b166020820152602881018a905260488101899052606881018890526088810183905260009060a80160408051601f1981840301815290829052805160209091012060995463cc780aa160e01b83529092506001600160a01b03169063cc780aa190610ed09085908b908b908790600401612105565b60006040518083038186803b158015610ee857600080fd5b505afa158015610efc573d6000803e3d6000fd5b5050505081609c5460010114610f4c5760405162461bcd60e51b81526020600482015260156024820152740d2dcc6dee4e4cac6e840c4c2e8c6d040d2dcc8caf605b1b6044820152606401610486565b609c8290556000828152609e602090815260408083208c9055609f9091529020889055600985015160c01c8015611054576098546001600160a01b0316600082610f9a896011015160c01c90565b03905060005b8381101561105057610100818503811115610fba57508084035b6000610fd08b6101008504602002016059015190565b604051632afb09e760e11b81526004810186905260248101849052604481018290529091506001600160a01b038616906355f613ce90606401600060405180830381600087803b15801561102357600080fd5b505af1158015611037573d6000803e3d6000fd5b5050505061010084019350505061010081019050610fa0565b5050505b604080518b8152602081018b9052869185917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a350505050505050505050505050565b806110df5760405162461bcd60e51b815260206004820152600f60248201526e1e995c9bc81cdd185d19481c9bdbdd608a1b6044820152606401610486565b60008052609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a9597854156111505760405162461bcd60e51b815260206004820152601660248201527511d95b995cda5cc818985d18da081a5b5c1bdc9d195960521b6044820152606401610486565b60008061115d85856115ae565b915091506000611171836011015160c01c90565b600984015160c01c600185015160c01c855160f81c010101905080156111d95760405162461bcd60e51b815260206004820152601760248201527f6e6f7420616c6c206669656c647320617265207a65726f0000000000000000006044820152606401610486565b5060006111e7836019015190565b036112255760405162461bcd60e51b815260206004820152600e60248201526d0f4cae4de40c8c2e8c240d0c2e6d60931b6044820152606401610486565b6000611232836039015190565b1461127f5760405162461bcd60e51b815260206004820152601960248201527f6e6f6e7a65726f20706172656e742062617463682068617368000000000000006044820152606401610486565b60008080527fc5dc36ae4e7617e4c4d23ddfcde33c79e9ed64c300aed766a9288a6b9b31f63d829055609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a959788490556040518291907f2c32d4ae151744d0bf0b9464a3e897a1d17ed2f1af71f7c9a75f12ce0d28238f908290a360408051848152600060208201819052839290917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a35050505050565b61134a611554565b6001600160a01b0381166000818152609a60209081526040808320805460ff19169055519182527f631cb110fbe6a87fba5414d6b2cff02264480535cd1f5abdbc4fa638bc0b56929101610b9d565b6113a1611554565b6113ab60006118b4565b565b6113b5611554565b6001600160a01b0381166000818152609a6020908152604091829020805460ff1916600190811790915591519182527f631cb110fbe6a87fba5414d6b2cff02264480535cd1f5abdbc4fa638bc0b56929101610b9d565b611414611554565b609980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f728af3d16a5760405e27a082c98ab272e9f0a1d02f0085d41532a26093aedd9690600090a35050565b61146e611554565b6001600160a01b0381166000818152609b60209081526040808320805460ff19169055519182527f967f99d5d403870e4356ff46556df3a6b6ba1f50146639aaedfb9f248eb8661e9101610b9d565b6114c5611554565b80156114d6576114d3611906565b50565b6114d3611960565b6114e6611554565b6001600160a01b03811661154b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610486565b6114d3816118b4565b6033546001600160a01b031633146113ab5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610486565b60008060006115bd8585611999565b812090969095509350505050565b60655460ff16156113ab5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610486565b60405185516000916020880191819060218a01908590611632908690611a68565b90506000805b8281101561169457603c81028701600181015186526021015165ffffffffffff19166020860152603a850194506000611675856038015160f01c90565b603c95909501949290920191508061168c816120d9565b915050611638565b5060200283016040526001850191508260006116b58784603c020160010190565b90505b821561179b5760006116ce85603a015160f01c90565b90506116de86828f8f8f8f611b1d565b955060006116f0866038015160f01c90565b9050818110156117425760405162461bcd60e51b815260206004820152601d60248201527f6e756d20747873206c657373207468616e206e756d204c31206d7367730000006044820152606401610486565b815b8181101561177957835160e01c60048086018290208a5260209099019894019093019280611771816120d9565b915050611744565b50509b8c019b9a8b019a9790970196603c9390930192600019909201916116b8565b60975460206117aa84886120f2565b6117b49190612145565b11156118025760405162461bcd60e51b815260206004820152601960248201527f746f6f206d616e792074787320696e206f6e65206368756e6b000000000000006044820152606401610486565b8c5161180e88836120f2565b1461185b5760405162461bcd60e51b815260206004820152601e60248201527f696e636f6d706c657465206c32207472616e73616374696f6e206461746100006044820152606401610486565b5050505081900390208852505b9695505050505050565b8082535050565b80826059850137505050565b600054610100900460ff166118ac5760405162461bcd60e51b815260040161048690612167565b6113ab611c6b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61190e6115cb565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119433390565b6040516001600160a01b03909116815260200160405180910390a1565b611968611c9b565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611943565b60008160598110156119ed5760405162461bcd60e51b815260206004820152601d60248201527f626174636820686561646572206c656e67746820746f6f20736d616c6c0000006044820152606401610486565b6040519150808483378082016040526000611a0c836009015160c01c90565b905061010060ff8201046020026059018214611a605760405162461bcd60e51b81526020600482015260136024820152720eee4dedcce40c4d2e8dac2e040d8cadccee8d606b1b6044820152606401610486565b509250929050565b6000611a75835160f81c90565b905060008111611abb5760405162461bcd60e51b81526020600482015260116024820152706e6f20626c6f636b20696e206368756e6b60781b6044820152606401610486565b611ac6603c826121b2565b611ad19060016120b0565b821015611b175760405162461bcd60e51b81526020600482015260146024820152730d2dcecc2d8d2c840c6d0eadcd640d8cadccee8d60631b6044820152606401610486565b92915050565b600085600003611b2e575085611868565b6098546001600160a01b0316600080805b89811015611c005760ff89169150600889901c811580611b5d575082155b15611b6c578060200288013593505b600184841c16600003611bef5760405163ae453cd560e01b8152600481018a90526000906001600160a01b0387169063ae453cd590602401602060405180830381865afa158015611bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be591906121d1565b8d52506020909b019a5b506001988901989788019701611b3f565b505060ff60001988011681811c60011615611c5d5760405162461bcd60e51b815260206004820152601b60248201527f63616e6e6f7420736b6970206c617374204c31206d65737361676500000000006044820152606401610486565b509798975050505050505050565b600054610100900460ff16611c925760405162461bcd60e51b815260040161048690612167565b6113ab336118b4565b60655460ff166113ab5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610486565b80356001600160a01b0381168114611cfb57600080fd5b919050565b600060208284031215611d1257600080fd5b611d1b82611ce4565b9392505050565b60008083601f840112611d3457600080fd5b50813567ffffffffffffffff811115611d4c57600080fd5b602083019150836020828501011115611d6457600080fd5b9250929050565b600080600060408486031215611d8057600080fd5b833567ffffffffffffffff811115611d9757600080fd5b611da386828701611d22565b909790965060209590950135949350505050565b600060208284031215611dc957600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611e0f57611e0f611dd0565b604052919050565b60008060008060008060808789031215611e3057600080fd5b863560ff811614611e4057600080fd5b8635955067ffffffffffffffff8060208901351115611e5e57600080fd5b611e6e8960208a01358a01611d22565b90965094506040880135811015611e8457600080fd5b6040880135880189601f820112611e9a57600080fd5b8181351115611eab57611eab611dd0565b611ebb6020823560051b01611de6565b81358082526020808301929160051b8401018c1015611ed957600080fd5b602083015b6020843560051b850101811015611f77578481351115611efd57600080fd5b803584018d603f820112611f1057600080fd5b602081013586811115611f2557611f25611dd0565b611f38601f8201601f1916602001611de6565b8181528f6040838501011115611f4d57600080fd5b81604084016020830137600060208383010152808652505050602083019250602081019050611ede565b50955050506060880135811015611f8d57600080fd5b50611f9e8860608901358901611d22565b969995985093965091949293915050565b600080600060608486031215611fc457600080fd5b611fcd84611ce4565b9250611fdb60208501611ce4565b9150604084013590509250925092565b600080600080600080600060a0888a03121561200657600080fd5b873567ffffffffffffffff8082111561201e57600080fd5b61202a8b838c01611d22565b909950975060208a0135965060408a0135955060608a0135945060808a013591508082111561205857600080fd5b506120658a828b01611d22565b989b979a50959850939692959293505050565b60006020828403121561208a57600080fd5b81358015158114611d1b57600080fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115611b1757611b1761209a565b634e487b7160e01b600052603260045260246000fd5b6000600182016120eb576120eb61209a565b5060010190565b81810381811115611b1757611b1761209a565b848152606060208201528260608201528284608083013760006080848301015260006080601f19601f860116830101905082604083015295945050505050565b60008261216257634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008160001904831182151516156121cc576121cc61209a565b500290565b6000602082840312156121e357600080fd5b505191905056fea26469706673582212205e9a5c17d13e5b042b73d7bb1391289157c1816b53fbc4880f0d2ae5860a92e064736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02ce212fc0aa5b1098a233032a1cfb4781fa8ccde94b9e8c7b50fc50fd070119222005581d02328250a95c0090fc9d9d955a4dd66334d33059b379f0ac58ce0dc67e04020219012203db7585331abb4269c878a97ed9dd0982a1ae106143a55be243ce0b9095b3a876035fb54783b3fe8121dde407b4ed35930f7b059e61753be042913af0de8976c7ee03b671726f4d9f7af2595ea6427ab8f49a16c20db9f536f1a8ed610abfa820a8cb021938c60328e8ab79d5efbb419bfae711d0420a4964913ebc48f82013c44092c18e7ca9a403b39cbf0cfa94fd454c4ea25f3bc562dae0e0b2f16848041065cab3b57b017372035365aa2bb077a74119bdcb9539e3eefe1886b30f22aa71857d5f2801fb14924c036e9d26bef86ca5df062f93676fdd3f69825c00e5cb97b8484637339e5f9d97f4032781b0225984064d8f4275fe83395ecf929e1f40ead806b06525833750247d5a03ba8d865206c7208acb715bcc6fa8abc9c5a3e75b64a731d10af41558f73ae2230328a18ad136bb2d916ce100823ba7cf5854028f2ab84308bcaf0c1dedef73d64c039119082228614db1f151622de4b783f38bc634363115b1456ac1018dff1c4e9103523362be5b052d6a28bf62c5bdda606558f0ff565d4f3e0a07fa264c4f61989e033bbda5a3844023ce2c2145df4c1697796b906df4e31414a9a0fef4529ad05b0b037da90f0185e03de3db3d5fdd61111078253677caef424a33a909f526218aa14903eb012122411a7514a84dbe441d5af7eee4bc4236622c3fa91078399f37a6dd840219ffff0337a8d8740b49369758e462c19a312472beb5e2d86354688f33fb061d9d42c13103e488f2dd834d174b8c81c98c026bba10889d8cfe4f2bd0e268a3f72ae781cdca037df2bf7921296ff26102ac49d05d3d04e9c2e848030704bc41c783e2a0a517610386cf045ad86132166456f065e583ac1dbba6e1d5cd1dda95306cb67e09af208a039c2773c488420b78c367f151963677f1f4db0ae9d455db02c3b59e1c389ca3de03a3f7160be3c21a09fe79338cd4710e9cc2f87dc46d7c14d4eaa0949a6881117e0219ffff0359ebc8041664b0f3e46eb04aa8b0db900cd824386e92c2130e03462969da387e030b6e82a8cd84d32f57cecf0e9ba5551fbb2495d130785d61f3eee9f765fc8b8a0303a8c87d7b22b9b86b91c148e5b116b7f5939742e6e490b730894e4d185fea83030eaa30aab2769362db9708aadaa66abc8b34e43330c0a77729c5243f95f2c28203ee162c958ae2fae1e481dda12ad64b11157ec12858bdb9099bb848ca75b2ac8d035ae46e7baac845337618e919793413680c7ff111e5fda489f1ef0efc92bb7a3d0354e0a8dc84ce60e294052fb93ea34175d3adb6687239b7a731602b5a989d430c0309ecc8a6fefb2704055ed36af234813b0fec0fc4beb7938412aba1acdc0685b903ab26f8ac6a721674b672fe5d14a38910e8ecf28b313d68d02d9bed876679b443034ad46c873986701d80381903f046d13b7bbeec9341da8865abb7e35bf604300a03ff945e394ad5b90b050feabe4ec27816981f06272da93a607c2925a70754e7de03b143b75324bb94fb17d96609d5ae001cf2b5eacc6c238381bddbe65cbeb9b8aa03e2c6c5a9adac5881e60ad69a86451c123414de2a18fc7f5e6bb3f0f91a45581b031a03c0c8d4b7e1fa03187d970c0edb135ab9677e266e9ce9e2933bacc16b52c50322c10fce67adefb6a7edfa16c2e8bba445923bcf5ae86848cee0f2e1f270147c0219ffff0219ffff03c90052c9fbf837e97ca39c17e7798ad865a7d97ce91eaf8c0b8b4a8c89cc00670319c91258b1e4649902f9f5ddf5c1ab7f24ad8fda8d166c7b956bd4199a784d3303c442b06476757c1f0e9eb0a6ba2d1600fbc47cc926d5e6d753e315d2253f2ad303e7c4c12b0dace2f45a324b7523227bc76fd4e405d869fe95aff05480696d7175033b9c7c10dbe54bf158dc0507c27413b09084b9c76ed484cefb518395dea44208035d374c38fdb9d6ceb85b89cb80a635fbcc81ff815bdc3a7c00b27d84468b809c0330bad5d9c93b56c841973827303146bb2d524b1631a7ad1e5b55384687b8393a03b298f7086c11164985ecae44f79cc4756e06a688169ab148728c318baedf017903d845315476fb2d17797a8297a6660622fe5ae5ab6facc856ba368eb49b19774203deb4016fd761fce9681365e50a400ba4271751d00191e8f4fe032953fa0ce1c603b35f2b639f18ef8825a3337bf5a94ecba00c90ad5cc8140d7d6d1b3e2e5357e503a662023ca816072bcbddfbdd94474aee2986e9c9ab46d73f79e00e9c893f4291038952ee3457fd1d2cfbad336da4c1a6d9da91ebcfc339552d58a2dde5e5ce148e03e9d5b2c77db9a9348291939ec3cff632c4ac517827696f47e1968ef702bc16d4031e3475af5fed402a058ead6f520537e565a8ddaffb6f09929fd60576f13793b0038fb4e5cf9a527a61120672441e6f7dfbc51a06901bb3293e096d2a957bb3cd1e0398c87e97b6b055f337f64ce78d61ca16b94b18e938ae4267b788d3f5637040df0392dd46c2c0c4390a65ca3945b053e262c71959049bbc0ab6cb621bce4da237d2030f0eace076cf13e2e315de3c8eb4b50749ab10b0a16945ed5bed8cabfef4e44f037c4cef46e49a129e3a82537ed2a15d75ffa4bcf8390b56f8b6b52177ed8aa96f0374a5f95b9a165e41e8fd89aa13ab51d73f5d3c2f10921800d67cb9334e307af503b556e589fa840959562ce68b3444aec7e040d6e89604a5df0cd2c836ce6c7a0903c055a71981886a63ae2bd849a357b24b4a3201f5e7191d5964065a068c1cd71d038ecea6278f7f121d952581885829b531b7bd8cf668867276fd37fd70fb9185ba03c8f27fc766e5c3b1a490f600c067fa6ef0bcef5f2077e665fe1fa186debbe8fa031837429b1fbe54f77d845d5d1e1eb900666d8f95a42bcfa03b8746dbc021ffb2033e3c149e4e25f69a74e72adbf199fbcf929e893bf75dc1cfd6b422a9ac1727ed038a24bc4033c3bb367726263069d2311aec95a9ae20f582481887020ad75483e803d724244ca8a18928b51d17d6f90f95493657a135487a670a6735a34b940fdca10345a64713a00a6baf5eb53308df7f48d573cbd2f65350096757e8b29f5274e8c4038040580872de051d0296a8d2b02c01c5ffa5460c7e460b039de25bbf038488c803e378f13e3918f3f3861ae117bcc02719b1e2b4db39b602278f26b0d279efc4b0039e8822f8c8cfcf77cf63d9bba80c8be65da794457ac6addc49bce73d37fcdb2d03a6cd272e25c886a9ebf700ee2a8a63b48aeccb73aa42e386c3f3da11324c04d603e360bd4270b4fb7ea06422d36d8feba8c236ce082d29b389707ba255a503988105581e03a3a1d181c945696934ed127581d34fc3557d9622de0a6cacec9fae7c00040405581e03087db2ba6fc13479fdf2ac5e5e07fe6803d8b200bd574cb55126ac9270040705581e03edfbbe5244862482ea805ec0ed03279a1d00a40fc0513794bf0b7e32c00c1818484266e90da39e40e605581d028c9f27e30e1a2cf1ca5a0d166a6da26ec4c17a9cd8518745dda414bf0c18714839ed02b9aabaaf4505581d02b47a26fb210002ce55b9a2c322c0d1cf9f0a5499897722e63609a7fc040205581d025e8e66eed05bb3de31e03e9b27737ea5d325e46db092f6ac958a8b730c03461738385e84b70219044103f9d9f91e15cd121ed07bc3f4345655bf935120fdf053ef0fbd60a8a020c27a0301410c0337c0119771231164f1bd6f0ad59ebb207301499b82411511dccb2889d924791405581e03ef5e6e069c3c6322436d7819d811d066e5e1a4c7e9bfea31e92076aa900c0144ee6b280003e83646646652f786de7199aa3767cb4deb096c776fb528fb6ea54a9858d2930e03f6bb5bf3981bc0ae028f5be28bf5eec36ca3185db69ad8aab560298431f740b605581e038ecfd8813a3b44ac410c04a8d0fd3642e567066500e67605e7ae8c40a007011bffffffffffffffff03dea687a7b345d5b28144d8260d681b176bbf52a0aec66ba196910c3eebdc4afa05581e036441d2382a462092fce7d81852a7fb36abfa4d9e0553519cce890c5b8008470b3d3211cb1c0005581e03df149fd6079c4dcddd5ca2dbd61c0fe55bd1a11058385917789b33d3a00c05471bb9429b4aea0605581e0319a520430faeae846576dbf11da466892396765390f84d0224e33e59f00c01474384347c9adb6402196efb03ddecc2f1b1f73fc8fd27ca21aa679659b54b7e123d4ad24bc188074fa4126df003443368a5d14828b185ba111cc947fda874ce5de81b3d2ca0f9eda5fb87daebc203936e78ff1899bfccc70b7334b6204b832d9ccd0bac92b04b725b07952a61c56b0345ca39fc813787c118043f14a203e5330e779ff0fe10983375f1e10dd5910cb403677acafd812a931b7823795962ba012581a967dfc775aaae4a301f1e114385c7039dd411d0db7367e551b283953c85f9fd075cac7d1ea4e89c152bd2a2d0800ff90313bb73b889a46c2eeecbf74ffa9512bd091612a95dd04ae876ee6ac24d226f9803e1bdafafe7455f2750d4e9ff748fda17b24183fd3ef0e4222bc607e32d5472250219ffff0219ffff03972407dd82bb5dc50688aff667e219140f82e4c02293421ff305ada3dc80a16503bc6c6efcc9820ce0d25202273abc727c34868898cb6418eeb8266764af87a15003b87dab694e24c9e53059269f4e17b6de6e116bacf61ec71496bbf0797991de520219ffff031bc463064da53170e10201513430d775d2fc4ec915bc68c9d382e42e4befac76030804d2711d4200e1b5696211178b2feea490def9b1194009f1d06fc09e3b820f03064d7198168b196058f77f969001fd8c3ea4164dc48118ff5875fe7862d85e8a03dac440c973a7dba2515211114bf26e6170c384d90ba50ee8f7feb6e0344c96dc03d11c5df0b890cc942419d84ad4a00ba85dfcc0b71483bf88e3905b19f20aead403fb1bccd1e48eacc2efd3b7838b4f6b76ed64454144fdc801a5b5ac53e3e0cfb403e7beb6046ae50e05c61a7c95993ca6021ea8aacd64acdf18aca81f4471ecd419030f22ef56c6b84e82db12020d61058ecb427dab669dc589ee0e237a01db2978d603062adcb0b480209229e933f0f03b2254e8e29c03dc17f0bdadfa58ba2411c55e03655dbcc616031384b449d3b121edc49985d041709c4028ba5a31381529401644035aaa19f8c7101267d11e6db99f02659ed980bcfd51ca777c7939b28613baa51e03da52ac0cb446f340f4863e0f0a6ed26f1613e1aeaa9b9bae1277ae323f15466603d160c38d19a2a4a3b3168388542c742437d9484761b6c5b3df0d248698d3080103c28a431e634c11ec1c03ed57bfeb5793217f57016a9745df8a9deca71c911ee7037822e2ffeb54ce303355f3c36ae90314a82f4db3c6f2ae403c07aee38e3fc66203b5572deb78fa2a89e442f0f8471c8d2b8bc13d7396ad912f3405900f27d8c5850387e15662cc9bdd3b2e2a6804bff8143f7d7ff879102c3ad037a5c1d89f9c5fc503144ae3fef8f3cb94f87ad33ad7a832308af8608a5d74ceec1bd1b51cafc18c76032e3092af8b7caafeb4d81cb298a59d508bff710033741daa5f7b479a05341aff037ecb8fd63f88fc8d75f79fa422c516c7947ac5ceb163f65c1fb8db889c80cd2f0375efe69ebbb6d2dab98fba60fce9a5c3ac516e1dc16a9952d20aa762b9f31abf0318a5ff403b56f28ce9e6523615236906b4fda6175885afd24fc2a4f76fd09b6003b23341392feb185b4be58f3ad994d02e8c8c1dd349e203cd5c1475e5819b947f037b4dc2c65142fa9c5f6949cbfb8fd6ed495ff21113ca3aa5dcd6b6840cb9cba203e08b005331d9a155b3a53e3af4947cb6cbab2e307110767ed00c4b110bbe675c03c63fcb369f52e844c813ed445f9ecd99b66ee4785f8afd7696eb64111d61e31f03f6b51de761fedb7ba1b61b42c52bde6bab333f557e19de0703523189eb58d647035c81fd90926b7640ecb60865934953fc9d05e30703ead9ab28704fdd624ac3a303f8382ae717e1ad23fb9df39a5b9a84467acfaaaf78081019e0ca827572cc885f03987a247c70c8c349875a86c78e91ec3275d4b99cc5582befe256f2b3a02e301503f210fec669d781cf7099154212027a7b3b30b8863fa1f0cef9fefb7372f971000363c9495af564be65650547f5dca35801c5cdc07497cf04284b608c67ab3752b7030400da4fe9be8f12d0969bed319e742fe4fbb92f3dc42877171712140c61b0d803bbea75f3f934f69a651e4d97c3df703d357ca64c47e6d3802b81b49f2d359a20034170526c2029bdcd0a951fc3c63d0581ce93a11609c6686767eaf71a477ea3ac033e55098bdd03922c18069d52051d5e9f8e4dff0f1407c9b92e50903e47629300034643205ba42f7236410f6dd185dc1776415f707851b9557c90692cd98d3ca99c03fb7fe9c4a2472684b7397c3965ae1c1f0223ab063a0e71a26c2114eb20f483d703a391c070b426670d56c31d19d609d0bf19b552ba51cbc354012b4f6eddd1477b0329976d9caa6bd8e413166ad103723fec00e0f61443498298c332416a6260d4c6036caf9fb16747b365d24930c07b0b3cfb4f0076a9653bfdd46933c27902653c500323a9ee77f0264a76ef7b7fc1aa65270b659c1d452f19fdf01114a1d5aa29062903c5cceb862c017fd1d027db617f6f6a1508de48712b7a8ff3ef45e47c453c4bce03fb210dec11d887314b0f455d762cd5389182d0a85b9129459f28e9b521e0bab003c7c3cda20ad22657c80d943a5416d6551a7de6562cea481a450e3098c97dc2fd03b572b6e06fd77d9866d6f573b51b1174586dd7a75942020b9210b7eceb1817c703299022ca8de45754776e3c4371e56c0801d037e317bfa2d20967916ee2ed418305581e035cdbd9b3de3ac09da9aacaf50cf750a8c114bdc5ab8f6fbe8bea5c62a00c04432e248005581e038686ef50b56cab2923d5b55dc00323499440ddbb9982662b9b66dd9b6004020330ca680e0667e4446d217d143a1255e355d9ffde5da0d3f474fb5d1ed01653e405581e03879dc477122f50292fce7c0e769de36903a0af13f823ca649b7b7fe5300c0146c7f8793f2c000315e5fc016662cf8aedaec5a7a8358f2c538b0c7c4f15cbd1b2921407893847b803ded0756f0d5d622860abac834730598af55ac514b97f8600b3075fc998e9702c05581e031e72df7e9411e125070c86b1aa8c5807fdaacfbce8e3d70e040be4006007011bffffffffffffffff032c0a7b2d338e1792ea583d0cc5903d5cc50cba2c923bf2d362e8a68a9c2a383105581e03ed50b02d0ff63b9b26d6385157c7901dca336fb834ed62bc3b3ae77fa00c014702504141ff875805581e03097aeb6c6d5cc0c5294ba9f5ac7ab8c69f392e9b6ba310774288777b000c01473e6c36fde9000005581e03f7462291fa6f0684e047385b2da5b08c359b6179fe222e354356b47bf00c01412e03388ab1a7a268c7974d1b53ea7140e2d8705ae6410d34132e2dbb89e48575a4340219faa703b978d3c818ca98a94ce803ec04a6bbe34718c31603e4e0639bd13c37b18f21fb0219ffff03de23850e5f4ace7c1394f9898d7c0f536128f01ea6b918198e8f8d736b58c1da035a209703b77b1edab49a38a840428ffb61cd67f25c84ae603d108e745dd3fb870304331a95f0e09b14f3def4a0aeecd9a65a41e6e702c5ed0ea1411f3de5da89aa0219ffff0366fd82d4c11d07767bb6a0c30eb2c6d1937119950bf2fe5c953a5a33d5a8e2d4031e5c5bf06807a7ff0342dfe376e5a0442e2bee05606120248ec4f5ce06fb4e1903b75dcac483c60f4b1b00cdc93dead3ee1f0fe015adf356f69dc36305bbad448e03dbd52ee91fcc99b442b2281fdf222272d5a0b007a3a8073f3358ac5fa62c3435039f942137b7ab8f0fcd8853fc1010cb51d27dda9d593330b2048f9a9e3f59e49f0219ffff034317504778f6f8c8d906b60db3c9b7ad692dc37c02683b92d7d899a1cd82c642031c7a5d37f23008aeb5740b427da1ab59830cc2dbfe2b87261b8ee29b9cdb043d0347ad37618dbd83a7b6d3e86662cad2496e13e778164e39d097a7bc6462e8297f03efae64149c416d21dec0986175b4c85aaa7b49b3b40ca55769d77d6227e3c54a0364f71ed58fe128df335d4979bdf747a1a8b02959b6d400ddb74167db84caca93036eb837d817e4ff6cdaa2d4cac7025c7028d05034be475ff7b058a3c33006cf5a031d7e1f634e16dead7f94f8c24cfb0b15f454d11dc0f9f587403f7afe746be89c03774578cf04fc739f39df2ae43513a836951a1d7e221c277fd6288b0628871fea03c6af577ab81abdcc0cb9d2d333db5f1245d8ff0ab48b2fdf37fc9ef78e48e1400331c75d1482dfc821fe571fdcd35e614087ff2cdc3d9a87fb888b47be6ac078d2034c708e7daff03a733888ea630e03be4813a24879f37008e9bc0007802d5a067c030522f1eea6be325491043a7bf96b437f79ee9d2641bc27020a6e15c3beec5f160307f885211eff55853d41b2cd5fbc87120b163d65670901c16a2768c6f128298f03ed473d3460ac7c4eb4b85b0750a3dbabd70b6b06465d2d300e7b66c7399c889f037f03363c24ac085623cbc176580836aa59cae92ba6fb7d0669883df2cedc8378031f93fed0f25bd2590a9652fcd5333bcbd22b7d22655848eb24f1182c063981b60362726175ba4bb75ef61aa423996b84c5e66e07a4e5b64c9f14ce95780c6bc8c303c5d38245ab991852c948fdce3a2236724466b31874c958909613972c332852a903c13470631aeb1d90828567bdeb558d73bb9206241f0d27335bf7ae9e81ea6c75037aae72f01631ecbef1184ead33dbad1bcc32e079ec90e7e3e40a35053b2e6b8f034d044d02ed14ddc5e9ab4ea40507350aaf2a9a770545cb1183c86181b8ffff550351679badfca74c46c4bcf6504ded42b6bd09539affd32ebb9d765559fa23c2e603e95ee6a35083708d40962a2a2bf4440e327d222c9557f2d179ebe834a32617b303a578421450e66ccd6faaba7c90c0255303e9839bc4a0359c165247676063d130033f8f89d5704514c06ad021a77a23aa93f56378094af719f388950d648823493c03cd290880d4cbfd8cb993d06a85bf0078ba4a8542757d14cf36c52740cd36707f038e083a2a096f322ee6202d88520436e1085fdd9e959f519ddc4dc07a0f875627034734656a863a368753eded67d4537866f50949ce5f47d0b428db1e246d6e67fd034ee25d85b71acb9bf5f5d27301df71c55fa1d09927c77bd0fc07481bc8db14a403fe7d1792a7b9fb3920c2fcda507027fce22aa429f6dea702e2e73ee07b391a1303b9697c3ede4ee6923403ea9e393e83b42a886de5a541e940e829a3d2b04b2f8b03c0d055f151258c430a7b792a96c60ad65c075400d4c8cfb7e471ef055013c550034cafe7f562f7e8003c3792e2f3a7ea227d89334819fa00c5d3365c6cd2c7e7c303f05d47888c746a89c6c7deea5f056c394e4d561c3eaabce6465d13f55046820603fd7d2ef2b976d20669a67e99a90bfe5b44f835a7c6612083070e9c3fbac346610376177886a2e580fd9895a7fe036f95c6651e9ef7fc29d883bad98d982f89d41b03ef2833ebf8fc07754cb32db78fa630cb02c2068c521fe61e4fead44ce693fbab0605581e03e7c33dc591a517216d87b46d13688190e93e7f52fec16c5b54a493ac9007011bffffffffffffffff05581e0388aeb1b75edd0b1307183e90de4445d25a112b99bdec7c1ae9d9b11b500c0247023f1d4ecef5e803baf1f38a32ded64b92b20e157c42689ea18384748b127c2343b2695fc428d21105581e03385192262948d97caa0215d413fa22ba5b81c2f621ad010e8cbde18f600c024701a8509f4a300003ff8d6616e632e4eaea26c0dcd74e49649ed420dc1cb1684589ffa5074c8f4d6f05581d031e5e0c90b595c26971794e85cb783852731e5d49454eec286baf93e00c1a0006f4a64913542cc95eeb3dda0605581d035c4867ea19144446d53d834072203b685d6fcb887a19ea4cd596374004010219200201410005581e03600117c319bf9863de3722d33c7db40a0eb01f8edd8da698477060c0100c01464c5ec0e4c94005581e03ecaa9ed54842f9e3030006e9bf599e8e7937e5bb836425eb85cb52d07004010219079f038fe4170cd8e1b5ea620103efb96c4475b6c31bf6e63fda0631e3914ad7aae47503bc83ba0b7a0dd0368157d8f393fd347cb06324fa58c5bd00679c60e15315764f030e60df3eee041138c2589dc63d21a172cfbaeb74f7ed8f613170808a474c8d170323e1eac4a6b66a3607b85ed199de55c1f49d672b36b5c0a9c1be96af6bb063930391cab3a9d1de363e621f32d388c9f59b9fac218b035f10acc07f2ed1a2adbbd60219ffff037596e497dc10c38b9f79eeed001672044803f468817fb1a205ce0e14d68c19ee0219ffff03f0cab9c036d845a30bc146c794055835bd96fb2c9e2c1cdc0e66f453314549ab033ba09dccdb823272f992390597f310346e633d84ce0b2da523ef2f340d7e247103e3ed1ebe0890ccc5f9b4162fd4e43a05448c71fd0ceeff29495545eea1034e6703c274e8acb80b1e05c9575b8e5b0e58950d5683a8390e327e4825270ea82c203c0219ffff03d9df9e53007c74665448e0c3b0f61fa6342d8c515d9e16c6b6c849768f55941903bab0686953ab4858bfc7c21732f94be00214caca75f18c9cac987aadb908da6c03c727296d78ef4e6b38384de94244c82c46147295985f6d113bfc26324dd34c56039d66e4c559eba320d855fcd1c5eb3e53cb02ba0a6d7063c90c075707bd9b0190036a60479b0e2c611305f2a5c09b8eda2942e63c5b1e28d2be38d70ec3dd0894fa03a0743b66408d94981f31a4da162e6abe5f37866c5eae08b904b0344c045289fe03675b25c62375d4b9fae01d63f989ef50419698fcf5d13a5121c755322bf4418b03ad12b89b42c5f1b0438919c45b15ab84772a19808cd21545a766dfb425a5f5ce039339f78707a80a5b68867e4028d3bb8ed4b0056f27503c5f9a2a77a50351b85703f7791b650f9c3cd4195e98f45b2fa6750d6949c47850cfaea4c8bb894476dd58035657a4d34cfa67a3c93db5c4c21ac6ae7ffc605ae9628c4ea3222ec29dbd3616035fe42e544f02d63365295bcc7ab8c3be7a1ce536462b165c0422121c3e8f53cb03db8d9b7fc161c199c34912d070c658083607b81b4fabd9fa5a706a784d4e74e903c38b368e8121d3e63a6bf59055a1d25d08127981cbf8fbfef20f269b3804ac60038379ba7e716944e4e8552ddfa4acc3d6de7385a23eb293122a53efaf3896f97d03bc9883dca6ac8973ddf8951552ed1afb7a1d5ae9d5375374b24cd8018c3242240305fc2242525131ca2a7affa5fbd71567b0d48b424fe37f6c630defe755f8823503907e62fd7cdc8b3556ff0d2888719bbd60fc966b6bb538353f10fabc7e4db7900303b9cf1e5711a379933b9300c02073052f618489cf9aff1794adf2caa71f80a503ebe55977997137a59ca07c4220ca9f3b321e314a7f1eee36c4f643e6b25bd95c038120e8ab6e16eb33d6f4adcbb6afa4070a64ada70702eba19f132b9b0c90a6d103e875ee7976c9fcfc8eaa5fbfe06eeb7c382011d805a6b2b49d381001552de4890331f988ec98dacbdbf2df1db04772badd61b6a28731aa9b341457e7c16336428d03d3188e553850824948b874c4ceba30c166e6604429e4da5baaf112ac1bb58bc203ea197661d97f44255aa95b3c4a738af6b4d209c496bc7defa6dc0cc2b1ac507b036a782e05d0db04af83377063285121d3cc6a1e54546f66af8cd808b946682fd203e8de0873386a280e03c63e039d37985c4af6014497758b2c8376e4f92a2d0ce3039564df52cdb7fb8c407bba601f70522ba539b9141a23d96d35486081cff179e7032d0eeee199614c210f4968c1361c6d10c2481288e81db8cc2eaf5e9db629ddb2030dfbc63aeee1df57d6a4c41d888ffa1d53d9e37e520694316b37a1475ffc179a05581d02cdbc40ff1bd5b1f310028c435e5675a4844f46e66b82ee87e93cb6840c0346c1fce86b00b005581d02c8d4226b8c5770ab693060067721f5b722a4543310aee2c9ed14fd8a0c0246485f1e98ea9805581d02f476f8434b82367522825b7a4a42c37b1ec252a18f1ee8b4b65c08bc0c19016d478b42b40142937405581d0276ba984835bad1f54653f496782c88602b19a3c2abb28c774695a36d04040219848805581e03f72aa9970ec8a577a8bf4631788184d9925102f76a6de17f1463509fe0084734af2922b8a40005581e030d9375484c49deab3568b3ca3e3382ad7da9f1c02f8c85ff16e854d2200c084703980cb19e54a003e208d1d09277c61a1482f63fef0db6ca24699dd1af788fbcf968fed3cf189e2b0311f1797a40aad498ff7163c18cae6a5fefb101bc9ea1303302d347560ca2436005581e037e2bb0b5ada51af45af33daef9682cdc07ff5f06b8aa6d7d65f75821800c0247587f032ef5600005581e03adbd5f315a3f602765a04fe99422a5e0f6e13b36e6c973235793ef1c300c084803e1eab3072f5c2005581e03519c89c4e9196e49f4a1306edec0d6b9090390284a8e7e9f29ceb7a6300c034699d77a928cb805581e03e32031b7e71ea864deebdcd34aa185e8bc7f2bcd37b20cabe58a0284b0040202199dff03ebb35f4f27f837e9869472b5a5f59f261364bb56768d8e7342e451a4313a4fa803982e5e7085fc7ca2344aed67cb9245906702e913241afba6e63c092086db672d03aadbf1f3890cc657db03830acfe7446ff3d5f6001d0b7c69a2c38a72974c6abf0219ffff03eb6c2b5dd4fbe87bb3bc3e6c358bfb2145d518dacb54e97355c6c3820444149903f206a5c293b5af68fa03f33e434436570f26a749037250ed6cbbb4d8cf3f0e9303ae5152d98a1774d28446e3687f1cd51ba6a9140431c7432924ad17b862dc42dc03a185efd0bf2ace2ad3a1ef3d204dc2f54eeb2e9bc982227520dd76352a0ac9d9030bf61c83800d841762210fbbdcea5caa4a21a2e8513fc69c1c040fb246c711f40219ffff03177bd8f4b97c47b02581b0b2e573c0310e016e0d09b7dff53fbb6cb8c49da62003efb92312a4c2010019529734bf6085762c558d2a7b68feed03dc587ef80c6dc1032764f50f5cc9e90754d6de6bef245041caa8a3cd8110f422952c8e28fa546025032d27eb0f45120d6b0a550b66a2595744c15ceef7c92d0ee0d91748dbdcc73f5103f33ed87eea59c355a19013af9d81da5c612684721c8946b22d7d0cbbc9d14a3d0361b5665c085d41f2a82c06fa57604e3a3d78056ec92c8e7be6d99697a9e0e16403f33d780eccc1f82b7823ae1252713d5303a4e9d2b6dfccd16f07b2204081276d032a904fc8cbdd253a811c0ff4bf7382654cf790fb140acdfe673fccc4040970ce038ce9368dca74dbc9ef0e806feefb3320d0bf870245f58f0ba021672dd632be3d032f7cef12512197d7adedf3b461a133b02a31971215013d883b7b397ad0990d5a031e0083b416d090847fc271bbb9ad722403147582436c281511e3d49af7e13d480219ffff03e54051b745823e5419cf836054691d73abd2e86894f95da483a9d6d2815203390219ffff0219ffff033b91857f7987d80e85ce185fc662dd2b91eab3841eb32339f1bcbe53729f3d9d037c980f1c33d67a86b619f0c06a3a88435c15d4e3ec158068ad0a80ec82bfccf403a41069de5d8cabb8b0ccfdeb3fd16559458b9e00d929e809f54541c8dd7b54eb038f6c8b0ac8bef1567e50d0e96888f9c15df32357bc86f5bffbd03315d6ddef4a03cbc9a74c39ce6c225937cf72fc5edd25c47ecf50f24f6f902bdf22d5d7ecdd6c03f76c9377008f4172f9f34b7d4c37da0f335b88515068ad378cc88e4d4b83e74d03943e3d0defbf1fb9d1451140259b47bd28f3719abe3827b8ef2108134d01974b03df7905a89f3062906cac28252829e7d9d81a5dca4404ead86dc3eda64aa1ef7d03ada60682f2eb4bc402e4c590615f4eb1320ab87f26e16751fe0a8be3f56cb3750346d3b7c8840678e1abf9cf346e3bdbf9aebce62ab0900e7e03c419d02c653272034a36616290f72b41fd7e1747863dea62797e8fc8e037f10cf99c64eab53ed300031b291f65bf15893ee59121af6db03c28505ed7754f16fea0395caae4eef0fa00033058fad1e336d6888e1ed8e922a4dfccf7910d0d888009bc02901930b9e32851034262b353691fcb0b1c43928298a718717295daea138d26b38d644556d85d92ea03268de19cc001cc2e5364e27474748f30d34953afca6c00beec8b1b930a3b81e903d053399c5c0347ad9deeb36b2e86e47833ed35c2f4f84b3999cd89610a4b4b7c039560da2febc3b9d243821c3d112ee7479e3c837b5501017a9e04393d734ca0d805581e03d06613f55e10d0a6302d6c6e13dce6019612668e8b6650e988f8a949c00c1826472aa41c257e9c9d05581e03e9b4922fa95e959d6d88a6380c2b603ebc1c9a6b1f8645e811c00f59100848686bde632d8eb00005581e03866f74b139b3c9007a0e9e08ee7372adb901b60e08dac7d36d3fa638500c024801f81ec086c25b0205581e03e533e9ef6f35cba7cc7beb0e1d6cbe25d05185cd56ad24dad5ad30e5b0040203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e036b1362069a11f5061f6f7a1c8fe8e7729604c07754f9d8ce88f856535007011bffffffffffffffff03a545a91d4c82f1dac7cc1764591379f34d6990e87f9c4a969eb2c3dc7ad5ad2a0303b1ea1a6ace258141aeadec51b863dffd5f573404d12068eddcb005250d68f605581d02242fd69a043f39b2942cc82887547cf5ebd8eb5745b351677cfdaf9d040204594bfb6080604052600436106102085760003560e01c806370a0823111610118578063a457c2d7116100a0578063cba0e9961161006f578063cba0e99614610776578063d9e2b9f6146107b3578063dd62ed3e146107dc578063e2f4560514610819578063f2fde38b146108445761020f565b8063a457c2d7146106aa578063a6f9dae1146106e7578063a9059cbb14610710578063b374e1c61461074d5761020f565b80638da5cb5b116100e75780638da5cb5b146105d557806395d89b411461060057806397b4e10a1461062b57806398118cb414610654578063a0be06f91461067f5761020f565b806370a082311461052d578063715018a61461056a57806373ece43514610581578063762bb282146105aa5761020f565b806327ea6f2b1161019b57806336b19cd71161016a57806336b19cd714610446578063395093511461047157806349bd5a5e146104ae5780636402511e146104d9578063664a1ad6146105025761020f565b806327ea6f2b1461039e578063313ce567146103c757806333abd028146103f2578063350829331461041d5761020f565b80631419841d116101d75780631419841d146102e25780631694505e1461030b57806318160ddd1461033657806323b872dd146103615761020f565b806306fdde0314610214578063095ea7b31461023f5780630996f4ea1461027c57806309c58ac1146102a55761020f565b3661020f57005b600080fd5b34801561022057600080fd5b5061022961086d565b6040516102369190613ea1565b60405180910390f35b34801561024b57600080fd5b5061026660048036038101906102619190613884565b6108ff565b6040516102739190613e6b565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e9190613757565b61091d565b005b3480156102b157600080fd5b506102cc60048036038101906102c79190613757565b610bb6565b6040516102d99190613e6b565b60405180910390f35b3480156102ee57600080fd5b5061030960048036038101906103049190613757565b610bd6565b005b34801561031757600080fd5b5061032061109c565b60405161032d9190613e86565b60405180910390f35b34801561034257600080fd5b5061034b6110c2565b60405161035891906141b5565b60405180910390f35b34801561036d57600080fd5b50610388600480360381019061038391906137f1565b6110cc565b6040516103959190613e6b565b60405180910390f35b3480156103aa57600080fd5b506103c560048036038101906103c09190613917565b6111cd565b005b3480156103d357600080fd5b506103dc61130b565b6040516103e9919061422a565b60405180910390f35b3480156103fe57600080fd5b50610407611314565b6040516104149190614163565b60405180910390f35b34801561042957600080fd5b50610444600480360381019061043f9190613757565b611328565b005b34801561045257600080fd5b5061045b6115c1565b6040516104689190613d9d565b60405180910390f35b34801561047d57600080fd5b5061049860048036038101906104939190613884565b6115e7565b6040516104a59190613e6b565b60405180910390f35b3480156104ba57600080fd5b506104c3611693565b6040516104d09190613d9d565b60405180910390f35b3480156104e557600080fd5b5061050060048036038101906104fb9190613917565b6116b9565b005b34801561050e57600080fd5b5061051761183b565b6040516105249190613d9d565b60405180910390f35b34801561053957600080fd5b50610554600480360381019061054f9190613757565b611861565b60405161056191906141b5565b60405180910390f35b34801561057657600080fd5b5061057f6118a9565b005b34801561058d57600080fd5b506105a860048036038101906105a391906138c4565b611a01565b005b3480156105b657600080fd5b506105bf611be3565b6040516105cc91906141b5565b60405180910390f35b3480156105e157600080fd5b506105ea611be9565b6040516105f79190613d9d565b60405180910390f35b34801561060c57600080fd5b50610615611c13565b6040516106229190613ea1565b60405180910390f35b34801561063757600080fd5b50610652600480360381019061064d9190613917565b611ca5565b005b34801561066057600080fd5b50610669611d50565b6040516106769190614163565b60405180910390f35b34801561068b57600080fd5b50610694611d64565b6040516106a19190614163565b60405180910390f35b3480156106b657600080fd5b506106d160048036038101906106cc9190613884565b611d78565b6040516106de9190613e6b565b60405180910390f35b3480156106f357600080fd5b5061070e60048036038101906107099190613757565b611e6c565b005b34801561071c57600080fd5b5061073760048036038101906107329190613884565b612075565b6040516107449190613e6b565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f9190613844565b612093565b005b34801561078257600080fd5b5061079d60048036038101906107989190613757565b612218565b6040516107aa9190613e6b565b60405180910390f35b3480156107bf57600080fd5b506107da60048036038101906107d59190613844565b612238565b005b3480156107e857600080fd5b5061080360048036038101906107fe91906137b1565b6123bd565b60405161081091906141b5565b60405180910390f35b34801561082557600080fd5b5061082e612444565b60405161083b91906141b5565b60405180910390f35b34801561085057600080fd5b5061086b60048036038101906108669190613757565b61244a565b005b60606003805461087c906144c5565b80601f01602080910402602001604051908101604052809291908181526020018280546108a8906144c5565b80156108f55780601f106108ca576101008083540402835291602001916108f5565b820191906000526020600020905b8154815290600101906020018083116108d857829003601f168201915b5050505050905090565b600061091361090c612611565b8484612619565b6001905092915050565b610925612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ab90614023565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610a3f57508073ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b610a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7590614063565b60405180910390fd5b6000600c6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600d6020528060005260406000206000915054906101000a900460ff1681565b610bde612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6490614023565b60405180910390fd5b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610cba57600080fd5b505afa158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf29190613784565b905060008173ffffffffffffffffffffffffffffffffffffffff1663e6a43905308573ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5957600080fd5b505afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d919190613784565b6040518363ffffffff1660e01b8152600401610dae929190613db8565b60206040518083038186803b158015610dc657600080fd5b505afa158015610dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfe9190613784565b905060008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f47578273ffffffffffffffffffffffffffffffffffffffff1663c9c65396308673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e9957600080fd5b505afa158015610ead573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed19190613784565b6040518363ffffffff1660e01b8152600401610eee929190613db8565b602060405180830381600087803b158015610f0857600080fd5b505af1158015610f1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f409190613784565b9050610f4b565b8190505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610fbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb290613f03565b60405180910390fd5b83600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600254905090565b60006110d98484846127e4565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611124612611565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156111a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119b90614003565b60405180910390fd5b6111c1856111b0612611565b85846111bc91906143b3565b612619565b60019150509392505050565b6111d5612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125b90614023565b60405180910390fd5b670de0b6b3a7640000620f424061127b9190614359565b8111801561128b57508060095414155b6112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c190613f23565b60405180910390fd5b806009819055507f479881bf41e329f328c21c2cbb11514b05a021cd33ea4e5a576ea6bc03874fd68160405161130091906141b5565b60405180910390a150565b60006012905090565b600b60189054906101000a900461ffff1681565b611330612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b690614023565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561144a57508073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b611489576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148090614063565b60405180910390fd5b6000600c6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600c6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006116896115f4612611565b848460016000611602612611565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461168491906142d2565b612619565b6001905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6116c1612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790614023565b60405180910390fd5b606461175a6110c2565b600a60ff166117699190614359565b6117739190614328565b8111156117b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ac90613fe3565b60405180910390fd5b8060085414156117fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117f190613fc3565b60405180910390fd5b806008819055507f52c7826ed27bfb18ed3130f9306befb9572f2333e36e104330587d66b2f0d6c68160405161183091906141b5565b60405180910390a150565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6118b1612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611940576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193790614023565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611a09612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8f90614023565b60405180910390fd5b808284611aa5919061429a565b611aaf919061429a565b61ffff166000108015611add57506109c4818385611acd919061429a565b611ad7919061429a565b61ffff16105b611b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1390613f43565b60405180910390fd5b82600b60146101000a81548161ffff021916908361ffff16021790555081600b60166101000a81548161ffff021916908361ffff16021790555080600b60186101000a81548161ffff021916908361ffff1602179055507f749c1e19e7730253c4c79e5dd6cf9f440f959897930d2d7afbb230284ec7711c600b60149054906101000a900461ffff16600b60169054906101000a900461ffff16600b60189054906101000a900461ffff16604051611bd69392919061417e565b60405180910390a1505050565b60095481565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054611c22906144c5565b80601f0160208091040260200160405190810160405280929190818152602001828054611c4e906144c5565b8015611c9b5780601f10611c7057610100808354040283529160200191611c9b565b820191906000526020600020905b815481529060010190602001808311611c7e57829003601f168201915b5050505050905090565b611cad612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3390614023565b60405180910390fd5b611d4d611d47611be9565b82612bba565b50565b600b60149054906101000a900461ffff1681565b600b60169054906101000a900461ffff1681565b60008060016000611d87612611565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3b90614143565b60405180910390fd5b611e61611e4f612611565b858584611e5c91906143b3565b612619565b600191505092915050565b611e74612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611efa90614023565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015611f7357508073ffffffffffffffffffffffffffffffffffffffff16611f5a611be9565b73ffffffffffffffffffffffffffffffffffffffff1614155b611fb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa990614063565b60405180910390fd5b6000600c6000611fc0611be9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061201a8161244a565b6001600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000612089612082612611565b84846127e4565b6001905092915050565b61209b612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461212a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212190614023565b60405180910390fd5b801515600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156121bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b4906140c3565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c6020528060005260406000206000915054906101000a900460ff1681565b612240612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c690614023565b60405180910390fd5b801515600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415612362576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612359906140e3565b60405180910390fd5b80600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b612452612611565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d890614023565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254890613f63565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612689576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268090614103565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156126f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f090613f83565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516127d791906141b5565b60405180910390a3505050565b60008114156127fe576127f983836000612d8e565b612bb5565b600061280930611861565b90506000600854821015905080801561282f5750600760149054906101000a900460ff16155b80156128895750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156128c85750612898611be9565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561290757506128d7611be9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612954576001600760146101000a81548160ff0219169083151502179055506129308261300d565b6129386130fe565b6000600760146101000a81548160ff0219169083151502179055505b600760149054906101000a900460ff16612afd576000600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612a695750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161480612a685750600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b5b15612a7357600190505b8015612afb576000612710600b60189054906101000a900461ffff16600b60169054906101000a900461ffff16600b60149054906101000a900461ffff16612abb919061429a565b612ac5919061429a565b61ffff1686612ad49190614359565b612ade9190614328565b90508085612aec91906143b3565b9450612af9873083612d8e565b505b505b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612ba75760095483612b5b86611861565b612b6591906142d2565b1115612ba6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b9d90614123565b60405180910390fd5b5b612bb2858585612d8e565b50505b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c2190614043565b60405180910390fd5b612c3682600083613376565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612cbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cb390613ee3565b60405180910390fd5b8181612cc891906143b3565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254612d1c91906143b3565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612d8191906141b5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612dfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612df5906140a3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e6590613ec3565b60405180910390fd5b612e79838383613376565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ef690613fa3565b60405180910390fd5b8181612f0b91906143b3565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f9b91906142d2565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612fff91906141b5565b60405180910390a350505050565b6000600b60169054906101000a900461ffff16600b60189054906101000a900461ffff16600b60149054906101000a900461ffff1661304c919061429a565b613056919061429a565b61ffff16600b60149054906101000a900461ffff1661ffff168361307a9190614359565b6130849190614328565b905060006002826130959190614328565b9050600081836130a591906143b3565b90506000479050600082866130ba91906143b3565b90506130c58161337b565b600082476130d391906143b3565b90506130f5848387846130e69190614359565b6130f09190614328565b6135d9565b50505050505050565b600560149054906101000a900460ff161561314e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161314590614083565b60405180910390fd5b6001600560146101000a81548160ff02191690831515021790555060004790506000600b60189054906101000a900461ffff16600b60169054906101000a900461ffff1661319c919061429a565b61ffff16600b60169054906101000a900461ffff1661ffff16836131c09190614359565b6131ca9190614328565b9050600081836131da91906143b3565b90506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505090506000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f193505050509050816132f3577f1c43b9761b3fba5321ca8212bfc231945f668ccc0c446f333999eea9ce8fda81600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16856040516132ea929190613de1565b60405180910390a15b80613354577f1c43b9761b3fba5321ca8212bfc231945f668ccc0c446f333999eea9ce8fda81600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460405161334b929190613de1565b60405180910390a15b50505050506000600560146101000a81548160ff021916908315150217905550565b505050565b6000600267ffffffffffffffff811115613398576133976145b3565b5b6040519080825280602002602001820160405280156133c65781602001602082028036833780820191505090505b50905030816000815181106133de576133dd614584565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561348057600080fd5b505afa158015613494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134b89190613784565b816001815181106134cc576134cb614584565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061353330600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612619565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947836000843060c84261358391906142d2565b6040518663ffffffff1660e01b81526004016135a39594939291906141d0565b600060405180830381600087803b1580156135bd57600080fd5b505af11580156135d1573d6000803e3d6000fd5b505050505050565b61360630600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612619565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080613652611be9565b60c84261365f91906142d2565b6040518863ffffffff1660e01b815260040161368096959493929190613e0a565b6060604051808303818588803b15801561369957600080fd5b505af11580156136ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906136d29190613944565b5050505050565b6000813590506136e881614b69565b92915050565b6000815190506136fd81614b69565b92915050565b60008135905061371281614b80565b92915050565b60008135905061372781614b97565b92915050565b60008135905061373c81614bae565b92915050565b60008151905061375181614bae565b92915050565b60006020828403121561376d5761376c6145e2565b5b600061377b848285016136d9565b91505092915050565b60006020828403121561379a576137996145e2565b5b60006137a8848285016136ee565b91505092915050565b600080604083850312156137c8576137c76145e2565b5b60006137d6858286016136d9565b92505060206137e7858286016136d9565b9150509250929050565b60008060006060848603121561380a576138096145e2565b5b6000613818868287016136d9565b9350506020613829868287016136d9565b925050604061383a8682870161372d565b9150509250925092565b6000806040838503121561385b5761385a6145e2565b5b6000613869858286016136d9565b925050602061387a85828601613703565b9150509250929050565b6000806040838503121561389b5761389a6145e2565b5b60006138a9858286016136d9565b92505060206138ba8582860161372d565b9150509250929050565b6000806000606084860312156138dd576138dc6145e2565b5b60006138eb86828701613718565b93505060206138fc86828701613718565b925050604061390d86828701613718565b9150509250925092565b60006020828403121561392d5761392c6145e2565b5b600061393b8482850161372d565b91505092915050565b60008060006060848603121561395d5761395c6145e2565b5b600061396b86828701613742565b935050602061397c86828701613742565b925050604061398d86828701613742565b9150509250925092565b60006139a383836139af565b60208301905092915050565b6139b8816143e7565b82525050565b6139c7816143e7565b82525050565b60006139d882614255565b6139e28185614278565b93506139ed83614245565b8060005b83811015613a1e578151613a058882613997565b9750613a108361426b565b9250506001810190506139f1565b5085935050505092915050565b613a34816143f9565b82525050565b613a438161444a565b82525050565b613a528161445c565b82525050565b6000613a6382614260565b613a6d8185614289565b9350613a7d818560208601614492565b613a86816145e7565b840191505092915050565b6000613a9e602383614289565b9150613aa9826145f8565b604082019050919050565b6000613ac1602283614289565b9150613acc82614647565b604082019050919050565b6000613ae4601883614289565b9150613aef82614696565b602082019050919050565b6000613b07602983614289565b9150613b12826146bf565b604082019050919050565b6000613b2a603183614289565b9150613b358261470e565b604082019050919050565b6000613b4d602683614289565b9150613b588261475d565b604082019050919050565b6000613b70602283614289565b9150613b7b826147ac565b604082019050919050565b6000613b93602683614289565b9150613b9e826147fb565b604082019050919050565b6000613bb6601383614289565b9150613bc18261484a565b602082019050919050565b6000613bd9602e83614289565b9150613be482614873565b604082019050919050565b6000613bfc602883614289565b9150613c07826148c2565b604082019050919050565b6000613c1f602083614289565b9150613c2a82614911565b602082019050919050565b6000613c42602183614289565b9150613c4d8261493a565b604082019050919050565b6000613c65602083614289565b9150613c7082614989565b602082019050919050565b6000613c88600e83614289565b9150613c93826149b2565b602082019050919050565b6000613cab602583614289565b9150613cb6826149db565b604082019050919050565b6000613cce602383614289565b9150613cd982614a2a565b604082019050919050565b6000613cf1601d83614289565b9150613cfc82614a79565b602082019050919050565b6000613d14602483614289565b9150613d1f82614aa2565b604082019050919050565b6000613d37600883614289565b9150613d4282614af1565b602082019050919050565b6000613d5a602583614289565b9150613d6582614b1a565b604082019050919050565b613d7981614405565b82525050565b613d8881614433565b82525050565b613d978161443d565b82525050565b6000602082019050613db260008301846139be565b92915050565b6000604082019050613dcd60008301856139be565b613dda60208301846139be565b9392505050565b6000604082019050613df660008301856139be565b613e036020830184613d7f565b9392505050565b600060c082019050613e1f60008301896139be565b613e2c6020830188613d7f565b613e396040830187613a49565b613e466060830186613a49565b613e5360808301856139be565b613e6060a0830184613d7f565b979650505050505050565b6000602082019050613e806000830184613a2b565b92915050565b6000602082019050613e9b6000830184613a3a565b92915050565b60006020820190508181036000830152613ebb8184613a58565b905092915050565b60006020820190508181036000830152613edc81613a91565b9050919050565b60006020820190508181036000830152613efc81613ab4565b9050919050565b60006020820190508181036000830152613f1c81613ad7565b9050919050565b60006020820190508181036000830152613f3c81613afa565b9050919050565b60006020820190508181036000830152613f5c81613b1d565b9050919050565b60006020820190508181036000830152613f7c81613b40565b9050919050565b60006020820190508181036000830152613f9c81613b63565b9050919050565b60006020820190508181036000830152613fbc81613b86565b9050919050565b60006020820190508181036000830152613fdc81613ba9565b9050919050565b60006020820190508181036000830152613ffc81613bcc565b9050919050565b6000602082019050818103600083015261401c81613bef565b9050919050565b6000602082019050818103600083015261403c81613c12565b9050919050565b6000602082019050818103600083015261405c81613c35565b9050919050565b6000602082019050818103600083015261407c81613c58565b9050919050565b6000602082019050818103600083015261409c81613c7b565b9050919050565b600060208201905081810360008301526140bc81613c9e565b9050919050565b600060208201905081810360008301526140dc81613cc1565b9050919050565b600060208201905081810360008301526140fc81613ce4565b9050919050565b6000602082019050818103600083015261411c81613d07565b9050919050565b6000602082019050818103600083015261413c81613d2a565b9050919050565b6000602082019050818103600083015261415c81613d4d565b9050919050565b60006020820190506141786000830184613d70565b92915050565b60006060820190506141936000830186613d70565b6141a06020830185613d70565b6141ad6040830184613d70565b949350505050565b60006020820190506141ca6000830184613d7f565b92915050565b600060a0820190506141e56000830188613d7f565b6141f26020830187613a49565b818103604083015261420481866139cd565b905061421360608301856139be565b6142206080830184613d7f565b9695505050505050565b600060208201905061423f6000830184613d8e565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006142a582614405565b91506142b083614405565b92508261ffff038211156142c7576142c66144f7565b5b828201905092915050565b60006142dd82614433565b91506142e883614433565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561431d5761431c6144f7565b5b828201905092915050565b600061433382614433565b915061433e83614433565b92508261434e5761434d614526565b5b828204905092915050565b600061436482614433565b915061436f83614433565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143a8576143a76144f7565b5b828202905092915050565b60006143be82614433565b91506143c983614433565b9250828210156143dc576143db6144f7565b5b828203905092915050565b60006143f282614413565b9050919050565b60008115159050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006144558261446e565b9050919050565b600061446782614433565b9050919050565b600061447982614480565b9050919050565b600061448b82614413565b9050919050565b60005b838110156144b0578082015181840152602081019050614495565b838111156144bf576000848401525b50505050565b600060028204905060018216806144dd57607f821691505b602082108114156144f1576144f0614555565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f5061697220616464726573732073657420746f207a65726f0000000000000000600082015250565b7f4c696d697420697320746f6f20736d616c6c206f722073616d652076616c756560008201527f2070726f76696465640000000000000000000000000000000000000000000000602082015250565b7f6e65656420746f206265207374726963746c7920706f73697469766520616e6460008201527f20736d616c6c6572207468616e20323525000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f53616d652076616c75652070726f766964656400000000000000000000000000600082015250565b7f416d6f756e742067726561746572207468616e206d617820616363756d756c6160008201527f7465642070657263656e74616765000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f496e76616c6964206f722073616d6520616464726573732070726f7669646564600082015250565b7f5265656e7472616e742063616c6c000000000000000000000000000000000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f53616d65206c696d6974206578636c7573696f6e2076616c75652070726f766960008201527f6465640000000000000000000000000000000000000000000000000000000000602082015250565b7f53616d65206578636c7573696f6e2076616c75652070726f7669646564000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f6d61786c696d6974000000000000000000000000000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b614b72816143e7565b8114614b7d57600080fd5b50565b614b89816143f9565b8114614b9457600080fd5b50565b614ba081614405565b8114614bab57600080fd5b50565b614bb781614433565b8114614bc257600080fd5b5056fea264697066735822122022658e99258a004215a9d5d1286f630e9c9f0af565d69c8374698cf8b782d22564736f6c63430008070033038b31cf37708a5bafb9b7ccba652f1a345a83a67e03d78732ca698a42aa683f520326d5664e81e344bf728658dcf1806bfe6de2ba7be00438238084792ce9fb691003de8e6d7a2b5569f2de9e0bca5f698d2ef32e12d75f58d9329fabe95b4996f7b5031fdae64311f16a51c5cee1da78a047e64092f9e23cc1281356d9fd9d9089d17503afb1ad5966a97478980edd0992f642ec7214a46bea994b1918382870a63ae9df035577c4135e871353c5a4ee598dc2e289c2f86a9051f420a630751fd5795aca18033657b4fcd7d04d8cec27581d717526f4782d53ba520be9f22686cc25855b2b9c03efcf810a6e18074c5ec1c21c13d817f417347378ac925582ef87f43f82e5239d03e6f688b2cd7e772ec3348b9b988aa5532844dbd258926b4064554a827b87bcd20340bd917e26d607908faf20210e92f7cf00440ad21f913f3e39801f48d5e21df1032e3548f89c4375722bc4fcab288e2e982d824211a13d3dad7c275629e4f8ae4b0300192e3f2752f86d2f3299143be35f8052acf2189ab0c38cb29bb4e20459461a030fcc81b890486ddd6caac936d7f58d2ac4c615dd9d5791aa3f70309aa10de543038ea481a45841621b321ea09c48cff196b1a92533d045ddf58d74693e4715007100582003674d47377d05f438821e139a4f7241b8ad151316c80c54b88a170b8904a3005820fffffffffffffffffffffffffffffffffffffffffffffdcfe98e04e98e2ffcf700582003e0fd4275d27eb807d12140b8802aec762e3d6619802773cd344e3ec4eb8f004a0300756f1c777359be4703056fd3188d64c478759ad45b84ab0e14ee8d6744b4a5942d071ea0a0a95fd89f03928187e77ca45dc9761618afb57845075f0b35383086ff9de9ec277933c23be9005820033e39548a83accdbd2ad4a32cda2699923a0ec37f4bbcd27b1019e8eec37db04a06216c6b7c0f805cf4a600582003b60466123d5e8e3bdfdcf0a96b47b7c0484753e72c7b6f421eccc7f3a4fc504a018b9b60d2319f5368d402193d2203ae6ad9e7fa1fb9c3fe391ac3e2f3d74655c17bcc3c6f1cca1641b79b210957410322dd23a18add903e40a4fdff289b9d4768488f69ca7cb6743019ded14fd972d00219ffff033915e885fb308bb9bbc84f5cd2826dffbb1627450b588f7410d641b3c03ac8be03af7b5f4754f4de8c89d071919daab5baf914730ce6f3d91c529f87fb405159e5034d41c0d06cafbd1cbf346057f77e31f32efe52340b3e6631b41d81d9e9ed9c7e03a92c6715cba908f4eff3af7262836a724151750c9c32fe80b7be9fe9973102c103d116d9f3b89a075fcfc763aa7566013604bb43dae550a1816eae6ed020f0d4c8035eeb7075bb5b356cc564bd05edd363cd85a1b53c2cad06a78208aba09e34c63f032a19f9847cf8ddfda0203ca56287a0508bed95412dcaf8a4b8ea07bedead0ca003a9a38b196c7fc02e7c6a49d68bab33b42b9cfd099e02dd8b29a452a00a8588cb03b5f702b554fc61094943ae2e8efc9ecc6dfadd213f71d38c8bb38bda05e65ffe037b24259980db8add12f7b516bfa6dbf273fe59a496e9bfdb4447bdf69cfdb46b03b263a0b942345b13cac4eb4ec06e989b75ece8258fab4ed86a7d2f08ffba1034036a845e83f1d4519ccbbe942b91a70670557dcfd5cda7df184d0d27aab01fe6700058200311ce579bba98f56100690ea6643b0fb3ee820a9d48f1513ba20a20322d54f05820fffffffffffffffffffffffffffffffffffffffffffffcd459a06e6b300e077000581f021aea60a559104d9ddf01cad98111b4dd644612132929f153d225d1bbe76c4a1b37dfe79e80abd4000000581f021fd1b83efb49eed5e76429add11a6f0b26cf948f39c1019ae8ed4cd154c35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021920080058200306f1263749edd31644b641dc2824523d6382de858dfc4e06eff68e86f7ecc049a2bb9301dadb730cab005820034b581a706c722c0718e0e6a961599a208473ef30381344106c6e78046784e04a02aa1d71cf0681f76964005820037732d8a1396dcdd64addc466b2b286e70f756ea99f0451a4b2e9827d5813005820ffffffffffffffffffffffffffffffffffffffffffffdf7ebf924ddb030fffff02190b0603b8ace1431ca6365ce8c80cb264b945fda610127800d39f943b34fbf0d89dfa6e038dc565e92e3faba15ede033ea12b3b9cc0773559d56c31d2ec6dc7579b74ae9f03f7329a50d410e5d766914ca20ad93fd6695be5ef4ffad068b8b29b07ce0c09a40358909f68d98dcde799a261d12d1ce300d782718dad21d63175b2462660d1bd79034bc9d9eca4b7dfae1e4c8b5350e6fa3bdfb4f24f004731fc4e63c28dd358bd1a03962d722a96d9f3224304d7be37c2bdfd4b6cf9e6ad0b235be4e203176fa9c7a60219ffff03360e55649d04ac404c486259382f340970a77fcd5386f99de55adbdf31d911ea03ee84392072777b9e1f9f761ac6b168aed190f3202f1e382380852f374cc35240039142bacb32e43495481cc0a31982b28ddce624948592581808a3eae4afbb208c03950acc2fc575186ac2b2f3b9b3e081c0865b075a2fde7832f13bdde13035406c03ab3d0ac4736e71c4db042666a49a5b0c5913eae7ff99b78d083cd4a46b205e86036166b924b23a78da97253066da0490beda351c1c35d0c2f0a100cd0de9907214034d1606addf64805aebced6ea6faa489c6a9f1c7098251b2abe371facbdfdcb080301e7464f5d01a6c5698c0b779330be4d8db55ea8a7ef06ef17d1c55d3aac9d1a0397a19aa8b8bce710860260adf62901f5d8ea6ae8c3b958369eadcb488faa7bf703e971fee19a94ed609af22853ebdfc0e678ad7d064d686d8dc14d20521dce5d3a03c5d1cfa3a63d23ae37125e1d0d68f22a44ad213e397b7459611014ec2c9d46e303f789dec46a5074ab585ceff2a9fc5ef5a49377c218195b4e803ab307568aef5003a4701a3705eea84541f6c627259fa6fcfc063f426a633dba2018626d20f3ef8003d85caebe526ecaf8eea55263bff0af7dfb76851304d2d80aac694699ff00746403582c44292bff3ddb908465577a33859790b90c25ad12b2164d6f679b038eab6200582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04b52b7d2dcc80cd2e4000000005820038b9817b70094d7a628cc0c3d00060c70df6b1548039223208c0d32074d67104b03dd89d58a243f01a59f5f035d6ce7c5413fdb3115c91fb426f1fc6ee5e2e223e884274e216e391fc427318d0219082203e32da7b42185b3715e42707f27d12c5e41b690306235b07c478dd857743bbe390219ffff03f975536c56ba2a26f24cfd3d9459d3ed2cdad77d85f6e9d14b9d856bc7b4cafc035e175c502275b031cc35ae3498a38a74b8cddaae77746cb4282d9537ad00960a0369ca45a2466b3af4cd0dce1ed989a5839b9ba75b5f3b737419d51b3b9a765486039729d12e6faefb36e5da8c2454a3a6aa1b458bfb793a35330c7cf1fca2093d1b0340d87608ec4a8ace7eafacf27449dbcd9fd8a3c1cfbf08be12773a6bf23e4390035bfad2494c07389f21eadce693ebb894b34c5c63666af9c2591175446f67656a034f9dac75d346fa8703ed1acb188949d871e787aa67675311b1f99eb73380ca6e035252a41299da8842af5f231edc376c3ad18a73850ddb64b0d9f595cdebe7fa4c037ca710a2f7f6fc88818557f66b250f7ed552a8ee87e8509dd0c611f6bae18cd303ea62789a025c0dcbbf134ef7901ae0ab5d952dc286a0125811f89f760a0e27f403410672dd17644ef610e7d354a5c12884a050a9466ab7e9fcc543e7e4e775f7a103e7d90094a4907158c9f4021283e824e63c36533067cd0d8acbf412d4eee7dc3503de34289ae70ab4f45531a4611142acedb052b0c6f07a9eb16342268324b9b4be03bb157649739110ebfbd7770f0c22555c9702af55cf95d05ad7abb84b5ca453c800582003511307eb70e0e48b7997f8cafeb0c64d29e925a44d6ca588163b59278f02905820fffffffffffffffffffffffffffffffffffffffffffffab4bf4e07ad425fffff00582003ce130825ab9eb34db0c0d7dbc2e282fb3207f850ec7e3056e94525636c0b105820fffffffffffffffffffffffffffffffffffffffffffff6e9eabf76747eebc2ed00582003efe450e5096c4c18c5da3c89d9549b7ddf4ecba0b248ab036063c780c3eb804a03dde6afbb3f50e9548b0219012803e992f48e06da96431eb62259690418bab362b8061e25c12bc4bd2fa06e2c244a0219ffff037a69046884b99455c0d7e4a63de663e70ad097383bae2efda0cc997d8de464ea03a9703e8185ef0f66a49a9c3051263d2ecda6af84f946bf9dd020e5770711c9d603e71876786460fb3ee84cd44e6c531f955e2450b933ff7c05634e3f9353d97f7203a18d5d3b76096ae3601ce8a694e41d4be6f8f03ffd89223883e3ff8c4440011200582003864f482cb66774b1f89a2cbde3ed07b0a919e3f06ff5c1ca7da4724c905e10493ba1910bf341b0000000582003067cd6d5d2b4d946dfb2c70ca1b90e0d2ff81b09e8f8d2b912b1291ee009c04a0252584b998deb138809005820035590abf3bc188a8e8040e47d4e6bbd2f0563c74cdc773421be84a8bdc26d904a0b010d6bb51ec6af504e00582003df4fe3903e7b011af13acb5c1a51fe38f1576bd450e3220de8e412c538eff04a043f355be78dc0af56b9005820037a4a69f41bea1051e74ab3eed24cc1399dac7e7906f0d27cdb39d26e2ddc504a017b7883c0691660000002191262035f45c835d885bc2edd776ebb2109747538115d7f48ff88c996adea8e673666c0036c4cd93dac92ff2f4649c3381e90914230902f5d8c2c8cd44bf3aa5acf1f1fe7038fbd284b67af1b3cb270877ae30c8da9e4bec70854a5edf9d11cebec1f94e669036c098f1b27d68c7f9fa2f680aa93eeead9b5ca818b6021496f1faeb17c36c5c5038dac4a998a6172b601205391d799d15749778a416b267680d3bda54ddfbd52560310470aa6ccbcc0f2cfa7ce9097a54aa05c0fc5beccfc85f139d4e34ced87702b03af134093c6752246de2b08f52a2349296d9a16366b3cad4342d5ea0110032f3e0399b536b110b25cc31e2783170ddfc5f219b37ad9f787ec7f22d4b112d990f33c036835fe27db831247419c5bbb9729247ef88d7f73ab3174782dcff5899c6f4a670311561c3d61d348eaa958a158d2dd2e9febf1b9f66b90d17eaa081626c4473e4b03e2f7cac54660de8a90ac44975fcfa3baebf29220f0c4113cf056dc918aa9650803cb79458dd145abe3f5334b400c125aa1984f07cc1248dfe722aee302da7e9d690219ffff0392c63c1b86492ba96057ab0baae478370817c64e916e2ebd6e314ea1f72dd7cc035a0c23c1059e96e7e7c5861304fbc8631077cb4f7b93ba755fe539dd6b4892a503d97f3bd2f3df81aaee4f1ed746f8cc634a4615c201d86930781f45295f99cdf103d658c0920b237f2573254f5fbe4b6b7687074aba823a94bd3b0086b79aa6679b03ef7921247b9c07617e6be9bb75ef33a8de41837f44b642e520ced8851eec814d038ba95122917f11fbb28a2816d3e41c733e18aa350a98c9217a23bbfbcebc56a3005820039f6ed5e36a324096fc5aa5a4544aa4d15ab703a07acae948ccf7228d503af049bc04ce59879280dbde0058200300fc3c93fae6bcb513376d3c44f19c32ebd311c87dc15075e7111c8da95550493fb2028981f3388c8200581f02da34a959eaaa8768f625475483a02d1a54eea567aecb59910cba33f951f84a01da2cb8adf27a3316ba00581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854aba189f517c594c4c1a49b361262511672ed222c021910040058200394b8b049face5a68158a59b76a46ebfc1e7cf465888a8a4b9744c962a9c8104a0a197be195ba7afbb6dd039aff875fc73f75e3215fba6eb86a5efd9ef465e865a2e8ab8a158ed0e689819b00581f02470a6349d002d4c006b704e9e6f3b2ac54f5db29a0b9a98c7d32f2b772c04a6e1d41a8f9ec3500000000581f0278500c2b5ae7b9bfdfcc3c64ccff056d604f9e5f79b7af930ccc57a5473d4b066cf17860aaa8cafa5e71021980040058200361210ac7ee3baf014f923044c0a3cf0014154c0d9d64e1488ec4f88004e4605820ffffffffffffffffffffffffffffffffffffffffffffed55ba60b09885ebffff0219a2e403b13d6d90baad71f0978f8fcce0cbc68f898f7e511531ae3361522067638203760364e988a96771aa058a512396bba85e8746c35bd6d4eec8777fccd0879f984f68038ccafed63bb39a5686d0bf0e1b578e272f7a71fe56fc0c0a95fd2204afa16e1d0396ad1fd7a913c4b08c952fb0b0cb266863bbbdd82561294ad805e269b8a0c6d40397b6b84029c8e41466db7649a361f4c5475f8f55e2159ce2bfe89f8727238e7803a0d8e748848949de40ff31d669eb95d7233f644ecbec75f382df2be05a6e739e036f7ddf579dd0f9c35a0664028c1d523e8c3f783dfe0f0a7f22fbde8c2f3ab56d036693636b6a748cfdd938a1047c45a87f3c2c1b3f4eadf2bd7818017bc12aba500362e35783067f1828d41f491be32cd20e730427f2328fcfb0e2901a2f6f498ebf0219ffff03f1b123ce61a7fe4e66f19842f08307bb1d822749cf495fa9c8364be1a41a4481037c07e49fcff56a86627ca16fb0e83880fe65d6033135aac28c836f1e94106792039fc0aa92b10cca58d992be9bd7ed58ac8318592014a4df65c80529d035a7164d0338efecfcad5bdb0d99147dd2a40f3e43c8fd3fdb229820ebd2bdeec8e8ced4890393e09081b1b7fc9b8e1f1c8527a8f33973a3f8886c8cd95251c80e623acdeb0303ca3cb9f93b3e946b50b002bde3fdd17cfbcd5f16df73a72b719c2d25ee451bf00307e9d3c66cc06d7b17a515382fc29c5c991883075ba9d9121562d5543733cff30397f3928265116e38d9ccfba515ef630947515b172a9c90fe6617c7bb23e34b6903255f5b5a7f9b0bee9f5e3eb45a7ac3d681eb724bf5a618c8a942274263abaa1203c1f77e05a92b1e4ad4a3a7b1ba2728dd2ddc23da9859af1f4c59abe6c948de94036ef02ad7869c1e3e520304a8224734cab482cdc831a6fcdacd79c7e75c1144b403544aa1e0e56185db315a4d6765f0a96a2fdbb8439b3937cbb71e804817a82af30388f9c9486ccb4031a3e6c5c7d5db2e166bcc94f721abf6fe168cb6c50c5fa47a032c278caceba27fcc92409b0a98ada5f247a0352bb849e42b718296b5341392ad033146bbdd7db4de8b515f4e33e3b406b3b5eccd5cf16b965007e4b7d17e65b8ac00582003af5fb6f01da88a270d78c939baa04944345a36a7bd75f66444b0fe85bfce405820ffffffffffffffffffffffffffffffffffffffffffffe172100ea5bdbf976ceb005820037e62e9e62e4613534d7918d0a18696a3039f5270ac54e13d0ed619676deb704a1e09beaec1bc7929aa390058200394f62954c302a5717c8c5f85d02181be66c2e91f3c2f23da734f68d48d20a04a02e9bc7e36faa056708c00582003f010c43fcaa2eafb843d48ffc82b05229f2f2a05be64d7f3ccfb74448be8704a0e7f7f69ecaa8f853f5a00582003c5347fd879aeb963fc411eb5fff5b4f71d1df51c006d41ecf584630276b5b04a018239746aabcdfeb47402190a580219ffff03b4cd87b89e1f431917aabfb644414bb26a67fe2ef095c8df3de0e0ba6d88bccb03537ad22a247e723a6c4a1306e6d625b9603b6bdf8d41208553d5c7d7a4f47730033a56e0f60aefb4f3f472dfdfd58d5a146bf32b3e0e208b1a1b20397fffc36dbe03aa4f94431d0a1eb19add65fe9c03c621259648895f192f2097dfd61280708907032d585755ca910a745276cf0292fdc0a2c94bfc72e4f5dd1c38d42127431aac22039ef93b3174dd4ef354262a91f788b236e197b1530d83792b027ef39d1829e7eb00582003fd659698101aeca7cd1456cf18f81fbb6ae69ec34492ff98e6573eb9062ab04a080c57f1506f8a2d45a100582003b3371312b1a4dd59a246649313c5419d393df9f647707df110bed9998b0ff04a039992648a23c8a00000030237b947d334a71df7f1dfa3b8b0b1e08b0d88f338d2f08d5748e02c3961859600581f020962d31ee2cd0acf9aef556f33ddca6b9a2e72952b42ecc751836f1595e44a011f5a1b4a96ebdcb2cc00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee34a152d02c7e14af68000000218820219a08103f5eac531be08f501ced40076648c821d86aa01c2b37a743c586d3acf1c957f39033dbd749d2245721ba3c1e18f6ba6ebac8ae7c5b0d03daee6adabac9ae1590bd903f75a364854c08aee2cd8f848aed695b85ecbcae7612eb0f6705a141da31ec6f9032bd970241acf8350304c5f8a6f2274a18b34a6a1994f070d85519b384ed512bf037f040c38f2bbcdc7d559d8d4dfd2283933f4cc7d67dbd8f91ae2cca133ccbfa903c13a4b4c60b7276698369ed5b684cd861b462d17949216d0a9cf3fe8b07382d2031fb3d9180a62c4c9dcb25eaa1e0dc7c40d1b0b7c581866f67a6b36131dcd6a23036a4d28ddee436fe1c93426f8d613785962e27639697fcbe6a340fd85a7b34818037cfd89e85565eb4c550f6c48e89751ed4a62464d4dfee551d89f41d74aa0d3bb03e466f93e806089b188427a7375a3edc79cb2cd971f82ef516d6dcfa2e90cc568035ab3f62c2ccbbab5de4a75bf367823fa96324a2d0ab476053597af8579ba2ea30304eb225e366b5b5e0124f0045ddd809f204ae076dcf3907160b906f4747c2c8d0219ffff0219ffff05581d023ceea1ae4dda1c0ca12a1b87dfb7f44f77af173a8fe8218565219f960f0147bfe606956362e7194bfb0219100403b7824d9e5701fa8e57230308698740d2903bcbf3dfe460538072048dd8d9834f05581e0327fa0ba0441ee39f7261820bb0f25e0a9ca255a7c0001d63303df99ed0084704dd84053abe000219a75d0358c5998d184ad72be478590448514aa8f06eae347977c324a9912dc11181ca12039d35c3113e97698396d56b059925a7b24e8e91d1d1f793d6715229fc8fc516e10387a2e719cfb9369ff585dd167993dc8915e04f783a417e05ce0e89ad97c3e1d103dde5ad066fa9010b4ccbfe54fae5beb0ce5f2a5625544a25a864456f4688f99903adb69829a908d7f26a6e013554dd4adaf8abf8eebf86458ac3442aae02e482d403307dd4d8fd889aa781db4718a4cb17ea714be84d7c1ffbb53f01651be66042e803e95e06c0fce22883aa4bf94be59beb86994075e02260a7f77def5aff2e10f8d0039340e84ffce699a80317e7618c112bff75207bc7b66a7c3b826d7a06af28f7e0038fec05e3991d618f0945e95eedad59217b050e00133a17835278f38b8494329703f4beb3164aa49d0a5c2803e7988e569477547a7b81787086953ffde35736521f038a0ce9e9999cd88b41dfd6771f981eb13099456281b4c3fe1c96e57885c7a352035b704e7d3dfa08ea7fa8d2547d3f158cfe69515eb79b764d5fa470643a5ee9d10219ffff03794999d6e8a55751eef77e471a1a73071e71344df8892f19d7d058f546838ddb03bd8460066e8fdbce34fbe90d6578c43a6c73d81cf41da52a7bd97320434ea873036d21efe8e503d61a3abe075d95249e9e7339a26a7e98f7319988db0daf80e1c90377d72598db3e70f5ae54584c4fdfd852891cb720764ede9bfe667c3f4245353603533edca5753a62bfaafd35b25bc896344f514d317f85619748ebf74f3d7c806b03a984389bcc41bad3ab6a5a9a932a50cd33e81a0cdcc689f5d7e820a03b4462fa0316686ccad6bf79df8278f8012d07bbd46680b2f176f0200ec7f6a9d958b1294003b861a00786d574712fbb4aabdd2877e6a4567fd8725960304819d84add1e442203b22c5c76f92c2f951fe1395dfdc634b1ba4f0be3aeb6f9329b4b308dab0874ad039d29486c92aaf032a6de29fdc356ac493795b538d583174815c460054b4d30e503c928e80dfbd2c817ff072ff0dfa8ae7e587e63427b0be72259d55b2b03a0c8d00219ffff030939f2e0c3ef8b0875e76c7b67b3781598230a7dc639f5df2754b11c204a1c16033af91f3111829c0afbfb1c0860fbd8508bf2f88ef944de82c423e8592b33151703cec0c0cc7f2d0f51aadda93cdbd5f9f6ca686fc995557298557d771790fb7c0e0322df8b31b953d9db42bea8e7d663ce0ea6178dc024c466ea9930cf9802eef238030d2bd8696fb25be60c6fe22362e6659e870486f1faf6ee582f3d15c8ba2773cc03b6ad16d46723db8c4acfecc6d83bb335113579d995639eda64bf71dffb7c6df303be4b23e14675506d08cfe17abb3f7e31d68540fe554638d9b940b06cd4ea69110346ed9f24b4f8d7e98bc736bec6325e50ccd8366783b5f82df87b71696e5c15d903a32fb0bceaf7a14e6b55f81187b7224460d833c9905264b1682b5660b8dd615d03402a5cfb71a0bd5cc1a1ff1f771f75550375a5198020ae5a74c15b83025fae96033e4f5216c3cb04ac958e15a3be98227d010667450d8643cd18d83a1042ff9f6c038534df22dd88e3ed849fcf805b84cd14612bb15bb6cf0c7fe161781a9f047f180219ffff036d5f3f628873afb39318cb0316bcaceeab5f3239ebeedc1304bd8c0d279f0b1a0329cf716000df60025d297e88ab053b0c9e57a732d09224214d9f8be0a8b2d30d03fdad29cde7ecd5bc661fe6dc5375f93536fd5dd237ade0d38affe5341a9c2a3b03ea6871dfaa78fde623ebde3043a5d665534ef0249fe891788f80a3b2843d8d610342c7a8a359cff4e7497af0a7d8f340de33763a30ffcf8e5358664d2768d7494b0316c8fc0442c313e57b2711181dfac1c1a36e935a7b57cb497e68c71b0618844b03b4df264690fb9f4444fa7ee10fd2f34383192904099dc392b0dfd7689e04520003cc8369ab3841f04fffb9f45cd42c7ba63da9dcbb93f961d0a5a45848f9dc472803231818d75f2337f9c3091214b96deb7481a7ae22ea7b3ef9480fdb2f403a80d0037a282d2c208c92da5ab7339c9d4e32cc01f11ebe9c42fea8eeda3063b9b7f2380380c36241ea5180470a98688a908231a496cb96616d6e9389a267c7494c27f4df036802db6563fdf77b1473cbd1d8ef7998625b615a6d7ef8a5d15c8f953d2b288f03de3a22a9d4482eda734132a4708ab1546aec31bed5f943fe26a8083f3ebf0dde03d0018a41f61792195642d2b1d07f6927fd3c5e82295615cf4c98248470ed83bc03fbd53b45538bfcae992572d316eddcbba1cd6c2e760782173d6af5cf387d859803f33f16659375a096c41cb597bcf82e716448c3238ce9a6d4bdd002b2d8e2823c03ae42af7968d06afb6841d40a990cd49ac2fcc1e289d2202bb10bea9493c3d82f03e2543010692e1632e867cbb077e328f5a4dde5a0e72f94066604d450fc48ce0305581e039732a9cfbc8eeef81d2219752fe6ff95b4b150d065ca950b40e44158400402035d4de6eb7ceafb8f8ed56951703784dd03acb9f0a0b5642c757f693525650d4301410005581e0349fec22d5674a7ca1f034c5129929143a5e3ffbeb6f5d0a10f714afb700c024682f052210e6005581e03bc22e0542fa5da7dd803a8da296a4fa5c413e34d51a98e0a49016784700c034704953f87c2a00005581d02c547286e9f5e80d6ba313a5b7ee7ddaa1fb0412524b598ecd1ca52eb0c181e48463bb92bff673e9805581d02d438fef62bc9e689445c1a9163111d0f0bc77e84d3f5932f644b2b4004010219880005581e03ba440761063cade39d077a894fd78f411c2a2172dc25a1d797a49583b004020368d82b1c679583b2b029c0e0a6790b0eabbd97cb1b738cf90541004118140811021989d803c4d8a7bd3b0edec812ee226e3c07d3d6c7bed725ad4876b1eb9f69da6d5409a40371abe4cc9155b3ab8a7ed151c31364143dd520147557ecac47783a16fceb32ee031404d4c41dcfb2d56335a336f49dba53666155455f8d2637c3ab2eaef9df2b95038ef2a7e71fd7c9ce57bce79c97031ff7987f493d6893adc3d2a0cad58c857b1a033d248621825537835fd5128a44b78eac40a53898babe587a4be891338e537eb30219ffff0304f9485bf849393eae9d72eaffbe8312a6ab6ce2d559baea1c16d292c3830f4803ae4c76cdb037cc2550b50ca65f1846dccd223e23d6ad703b5dbedde4f0b5c5c803cfcdbeb538785e16a942b596aa3d9a9875ddec67a20f10e80ee7cc33f7ba2013035274d36c96ae5d488a4022137b3c1eadb3a402acd2fb622fef6cba9576a99d2303003e9608f6dc4a78b80747a6242b7595b8a140a90370f82588b9221da6f938c30364681a0dc5e174f8752e14cbdc352faf531604bf0fcae218c6cbbecb2953adae03ae39c33c5887a8c02d0248661fc034f0191205e9eb8be44c46e0d0383603423703442aa58c2359264dd7cbec0d8ea4c5d62135f0e11cdc3727b0c543d0572d7f8d0391964d24a5282a98f8842963bb7a772d4d6c9552f79a08af916e8543669ba91d03e79bbd33a2c1082f8020b929afde91d136585c7b8b350ac0cabea93ae3c68b360322ec5d7b9bf2edcb4a02f27fd87729e50658832dd1f6a012f6461f54417bcf0c03ccb37909fc7cfa92db2b5b040f4de2adee7fa2c240fbacb48ca3946b21180b1b0302337abe1a86b88fc92555f556bdef1d003d13bc2cc5397dbb7188f0f5b5c2e00219ffff03f34a67dc90fd153f79b5e2112fa4c1dd822c962cb29b18a93fe89480572d0c1a0375f0505868f5dff36d73bc8f174f166052b2afb54178e0a24ca943532de6a47c03aba0e4c99c444a81394623f136613c70f2df17e3a302dbc264d98a9a07e9a5f30369279214558c710ec3ef426f68d6e8557beb652d56614f2c22750d20abc6b9f003454446e6e7b4d607b9e50657ff15f4703371edd51637223b5c136d18579693940399c082b6dd889c3b0782fe4269d52a428bee690404e9a644cc8a0ee665b08465039df70d7f42275e4a4a221deb8b9dfe9d1c847a332f6e6517fbef06073b1e620f0356add931f7cd3cda70895b3dc43b0af5d060a6c18b8281c3192001add305301f033249151cad04409a537296bab23efbfe5c3ced9ed0263ea57f9cfa61b1bd6f8e03812097d1f662a450924437bac26b3e22067d16cebcfd2eef3ee5a2526836490703256888209f9b63f5254c3509f25f62027f5e21a17f01ce06a742eaf91ac7e39c03820a1a97839e80865540dd651a32de84485fdf1c6ca5370a93edb3e34adb5ff30219ffff03efc649acd7a24317db0723497745e3f36cb15659a27b4d7893e709a48d5cd2e303d92e47d1084bea627005f87b43765e1d4779d4498c07a871635cac532191c97103efce599d2a15f306f10028f3c3b4c702a7e771f9bc2410176aa57eb336f615e503cc69ff22ac8dbaaac96ff887ec35cf692c6b5966299a8ffbb4d9662ffcd2f70903982c52807ee6c2c5c09330ce1986e4fcce90be2509c1d70c7c312cd6f3ed841003df54c4bd9ef483ff0531ced0a0cf88745a4d8934b57783db869c349ad4f317db03e1951dbdd4940518e41dc4be623fae1b7eb0017dddf1cf948378912fef2a6c50038a6f4f69ea7280812cda9d5eb9d8b3490a97d907862a3fc5ebda063d54e779c0034e667b1197af378c4c2b219c221e5cafaa5cbe4652455d0eb1b34057d84372d403fb1bbe8874298e7cc36025a8ac980d4dabd8b21c29a8f3a1329dd87c44f7b55c03d676a3dc50ccd772a4d82ab5eb071cec07bb22c64513af3c66174dbfe72fd82c0361593d327df8a4e61916f713be95be5d612a1ecfb4c1384b59405b5a8ddc91f203e1b5c7c70d5c1b98b4583e39e439d79a13d83e339ec2251a3fdd8596e508379003fb3b12ef2088a22e00c9bf607e3d6b9af006ac16dd425dea01e14b750c7c81970341edc092238cb5fe3253784229c00a839d3ab263eb3e732c3f42936d1e0c31b20392c01f5b510a7bcc6ed4775577e653a96f8fa81839952cb7fba69e5cbd4918c103b74eb2362b265aa433050c4b52d51e594d3804f2fc28b0b6b3fe877e0ef2fe1803e1cf8391461881147dc6f7adbcb88a5952755668e0508d228cfc930f347d1b8e03f04c60fdf7fb8aa30e660a612169a83fd377d4e104d514f2c80496fd9c05576203ec75b46c1190cf9ad35629e77d45bf93df25d8b46b7ebed6e89d820a7e40b1b2037a30a18e4f08c3018f9917e76246b2250ae056216ee21c84bd54290366e38ba5033a718adfdcf90f432fca61b354848e95f8a32bb206f73e7289ab4dc806e0348f036f8da0fd7a7faa71d4512932283ee52257013c870b794c59fa8193e7ee2f36ac03c79a31c9ff3cf71ba3b41d88f521c72bbaa4ed3acde1626891b9fc57ebbdb2c80357ad5c88d05e95e7b8c8b57a7bee998ac164b17c691efe77ef03f9219a05084903bafaa5cbc99310e870dbc80025f9ebb04af325aea21a8b94c68eb17c8b42440503df1573d7bd3b3b08f159f72b3a54c3a36c73280fb081e364bbf5bff85748fb000346bd12e3185af85f7fe11cd657c0315dca2dc63799f1118a0734b28af0247e750393da4a75fcb2120f6589e408c1428f5d6bfdfc5b8d3130fb773b521ff58d639e034ee1bc2b456549bdae04be2b9288a970f38be0114eee6923ccda322919692e460393b412d8bfd61d9fbf4d68e380b30e7dae0248f3f85b8a1eed07932107dc1d8c03e0c70b5673075b12a57cedb23847f9cb5581d6b3e044aaa9a83d8fcb1b34652a031d5fde42c0c3faf686a3612c3a502a7bf23d4f7ab5975e602121064ef32c49b9031dcd6efbfd8b655401fef582014aede03438f77e68f2f8afcc4dde7d93b1ae5e03168ac39784ee3835937266cdc6bbadd25c51b37aa94e8eb6e33f0790e5e2d43f03e97b2300bbd7d27a5b9994175adcc67dde5036024ac9467cd493971ef50c1bf503827ab68f846134b16671044655f23707f9ccad4e6bb60d5ede858d9820cc052303ecee4b34ce545f7efddaf665b72396cae753d21bb369843d44df37eedabb1ce005581e03f91a92c5ad29ac6e9d9f78185607569c9c3afdeeb0a29ab14cecd4d74007011bffffffffffffffff031619790310bbf082b3f78a77eaa7ab043dd8b38075b4c6b0b6a8e4f9015d0c8505581e03bb838dd86b18abaebc1f14f790fd106bca6e6e05ec5d53c5923f3bc5b00c0147017539f9de420805581e0394bf92b516c1b67a139f9f9f848f99b38eda1a042b644530a7df0a8ac0040205581e03465339cc9dc0869e0474aa491908d3b6d16263889449b3b025d0d2aa000848ea384f84b7458e0005581d026ee86edfd4443948883d6fa6aa15f9265fb3c05d8cb96d6add94b7f90c014701a85890dc3a3805581d020cffeb00d994cb71f539242363e842e0de5442b3b60d27baf0d3ceb40c0846537a8365d708031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02a464ec734989439847a2c9e27ea3a24a6961185fad70a76fc51a2c3207011bffffffffffffffff0219058003fd5384d9fa47d866e07fed259e2ac4f9522c0d7b76fd741a8704569199cf8d1802192f8503349900c75123f3d0b415f26d7e67794b91d62e830aad273d738031abade8a4ff035075b55d9b3c1e26a4f7918979d38db6bfa5ba860b1aa14f8fe4ddcc272c82c50219ffff0377942bf8fa1bb0e44d3f61ee11b0f816123e0e8f1892846fd6962a98f8046bab039f90a80719dbf55159cbb84eeba171139d706deea963393603319a6597efe29b034feaebc279066ffba0af82a58b801ea9178f1f89d5d867023c03a4cff373b71e03681c016594a61aa994d0e647813da335565dbb9ddc8d7c7138ebbe775c6fd092034cf1589b92b74fafd128d1ac7674a6760995958840682069e94818a1b8ef3c9b0219ffff03921b113e7a5485b9f5a03159cc4f936856b61b1fa22482629af5386a4f866e63032dbce92ff09af21bb3ea9125c979585f699b00df455972604f72347c98f9c43903489983fbe0da4f681dfcdef34c5f52145eb17913988990df5c6190856cb10b6203be578f5696467431641d206c1625bd85fce00f1c8b93c684fcc6e6606dd0f348038a1e78dd40d8032a33d317b8b73cea4dd8b6c74ed715648f2ff8ccbcd88d2dec0219ffff0391694b1c40e9af3601586e4c846dfbd2c1938a30ca0cd08ea406775909c9a0400219ffff031295496008693a5362e06dc085377c283f3ccdfbfd940590caf7660ef4dc73cb03059d5a93616017ac569cbd2c5ce78fa423dc0178204f10a76918c49e283d0b0a039388204ff0dbfcd02a82569f15b79e4b20a4ebf4e4a086dcb25ea770c4813b81039dc8fd0aab38fe2af06a7947f3c61361a4a86cba0433c84d0f24f69bbf06128f037892a6d0efc3032bc0673b82344ab49abdbfb98e03368a50167e8b759656069a031f2a3fb7bcaf1e2aad2b103dc62efbd0366976573b200cc6d61e0311baf3bd8e035dd05e6e90a103fbc536530d089c092845779fdb3acddf62a175415e2dd15279037e67d3705d081ebefd1af40e2a3508aa475692a30e4a6a5bf7399cb7acb3235c03a87d9c29838192908f3f84fe16bcfc24063f73839fdd84f4935357156009c50a0340859595c39924688bcbae956713f19449007630257c02a14c73c3305b2cb0a003567c40a0222f74bf4d15800804839d05ac819b7da8f6a4dcb6e88a2f03d30026030d03f2e00e9c013b634e7c31fa51784c640150b5e7af4d6dce1e5f310cabe34b03fb0e220feee895a8ea23c5205173cebcf821c18a3404b20f82c85aa8175efdd2034bfc6798c7e8500598a537ed3343b1c457654c8c0bfa91e2e639bffda891777c03bcfe153b303c85b010f46f7623d94ceb5e8e693dcd0ee603475866020664684f032bf6647a3a4347f2ac0275e5e930bd6c33ef5b1e2f0385e78353f3908ac68d400389ca396ecca04e2d0f75913b8dadc1cbf36d76bec0f42c5d94ee6a1e005db2a703502ccd3088f21597b6e17ef3daf6bcacfaddb998b1f42b8839b0b08d9d75763b03f4c6d5d70ad9bfd4e8c7d3af248e7c7468cb9b4aea866109a390f127a459757303c0beeae73f36167e66ec468c96a73ff3d7a38f9384ea6d9190ca82eab46d30d103ab3c347f9d8148c4fc0739ecd36877838e5e9b2d7deda657c7743204887f4cc103cdd6fa95e93a32593fb54943137d0fcc2ff105381e54971ac220b19ebd82c26d03187ea97ac8cc9a96d13ff237560c351150cf49522ccc3038d9b4cf75ebca7a0403575dea950a745cacb9b533b6a8f55ab3716b7dd5319596cd67d104cc8e429c2a05581e034b026e0ccb2886851b799fb2b5f10d3e77d5a087faefef0a6a45ede3300c01473cc974501b60000346800dbc1fb6ec0e2b1dfcef70ff839b2a015c7bdd007253c5cbbe9a4cce945103fcc4b66d8b1ce1a615475d63a6b3bb9ae3fa662c157980893623757b42262eaf03a42e1f8a55d7e1a02a312cc4b18dea5acf9d29efd701dbe71c1dd9370454150d05581e03ee12c750bae47089814604fafa3ca1f0ea6f9a832a0bcf7a0d13785120040105581e033e91cdc54d108b5a705fb0dedea4b38231d13d955a197dd11c0032ae6004020396b462bd510ea846da6a5acb9818ba3a024c32cb479fe540b7de60a13446df5105581e032e07157a071246d69789d6487b68a47e34cba8c7da20a324b16d9cd140040105581d020e423cb308b8d4088d3761da8aa432077d674ef7fc243d55031c138a0c1929fa47145bc31983787a05581d0208841532d59200c6fc16c9a393a46e1ea86d62879b645853276c98930401021940800219f27403130b943af1324d7710f68ff1fa630fb2c04eaf5bbb3a4026b031cfdf73475cb003b5bc3ec27e7577ff352b61ff8af10c03113599797265a1ada1d85655db31a21903959a4af2b73cc2e293ae3e71570d9398fef3fc18c7af935a6acc1af11601d0df03b61382ea4ae932604214a28d80cdfaca5286d11c6aaa41902520a44444360a490379e38872c49fd5d6368cd064f51835d7c87dfab44dc2a8e154190177a0ceebac03425b40e513d34cd2594a4dc3079cedba10fa67022f4880aad785a1589e1df2a503f7406911e8bb74608fc76c594dc7d3c6be5fce216c1d9573910c1c9e404ff81b03b76f497e1f73f03b83af36ae6135d82fd7b7a565e4447df340a6eacaedc4e5ea0325a91fd6d3756ea5171558a6569c34d1922321327541f865a34a080e08252a7a0375922bf3945954581426d9b61aea5469a6b31df867473dfb5971ddc3af99857603a0235c69e35b4aec6ec5ad2fae60ba0747e304ac8f4d14e39d305c52a2a581e50219ffff03d86c8def19f2ee37561c18cc8d6b60ac5fc7a3196351b502bb3da8fd8e7595e4034ac0860eb6f93e548e47aa260c13d2c19e9682f52d97b1cc1cfc7399bff6946603a97baea6718636a35df4016bffd4e124dc90d5610c7d984cc3f6d3aed9bb6c8303d07bcf6adb4c6d8cdb9ea038562cb14c0c71e84dd62c57fa75401601e73fee6c03b55cac79e9786a4e1e62459419f0631c0e8f3e0d374b37a6f6df16ca975bb5450363bd07471f5b799d921f5802db0a9be6f12bf14f20bc1ce91a5b136e831e476903c1332e3e84a5d666a01ca6aee44f0cc5ac0146cc3ffd8438840817b146cda9e203bcc4cbee38ab69452840c3497688df2e104b8821640b11efcd9242919667ce58033a936040618df4afbc0b00a086c0730ff49b5bfdaea6051b924a17c61c0e3a2d033f5002726fd03eee462a9e4d3f7969a4a5ed2ec1d3e4600d48158ba7b61ef8080325af8c698442089e569641868605c9197c9d885fabe17989b2c4140c069c83640219ffff0341f9834f0b874405f4218aa5e789fab8b4d827ef20071a438c408b159dea0191032daf69f29e59a71df73b7f7066758a6fb3a625089f561d472cd5374272e9869803ada55d27e2c35216885d0075dd2d3f75a31fc36fc0824e95bb74dd68e36d96b303b44fce8fd1d37ec861e81f5873eff6cd0c2e800423c6376930b441c4f66e8146037788925a12a1b97d547b5f981365b132c6ded9fe9abe072a04d020121a92de0a03f51a477811c3858165c46650dc6008afb981261781a8974a9b7ecd97208d83010386611a23a61ee0b03217ac2d6ab3cf7bed711e298f068fc6aa4ca648e7e5b4aa030f47e3618788357d539102379e8ca45afffe9c889ac0aedfa37d35b92709181a03880ec1cc508cb5923591168a0ee4535c548a539c3fa9489ed3f6199437bd83f103a155e26473f2630c7dd812a379374d6b75598eeb8657d7b97f73cee84cdbc2850219ffff035dbc02db5e62de6f832e816711e1ba2a47599448900d3fb22bf98c1bd83c9cad0339987e9993691afcd10c1181edc1b79420842f55b58b240a93f97998056b989d0354405d61fb0dfe0006db4d8a870aecd962ba89c7f2a449be68f61db4716b728103872fdba6f9fc7e4cc499df93285a4c717c709afb34e438672230c7adfc8560c90219ffff03a7e9fdd4e8cb76bf491b5e015a0945675b78b610bc47f63ca52cc08ac665508503dc8d210bda50f4b810a828809d99f9180aa7c528a1c1ae2f3d6d8279f36c8df5035f2075ca7144bcd565851a17175feb5a0bcb87dcc118b1409db0dcdc4f77701103aa109588b757ed8798464982fb2710a672559f18d9263dd3a9620821e92db612030706d2935f5576b6ba6e7b2db92de4fffb05d29de39f152951911cb43dbf9e3703ff144bf7b28f125e5bd53bd7aa1f67aeb6ca9ba4e2548e67112e1c4d7155970a03fbc982122ea113c84fcce8f1d62a0c71c9da9dd5143627ccf900e55807d8f3d503d7f3bf4f837acf6aaacf0e6dd933de4552a6a30acdb1e7af3ff75ca4251da0a903ec0cd0469a54dbbe19fe6d986ea574d7cd15e1ecb7586e357f229930400ab190034781ac32513bd27e5e685a0a3480cbe04fb5524015d3ee899f19d991a75168dd0305e73861fe72da2d240312857056a7cec82cf5bd049de36baa258cd27f384bbe03111619e0567902cb439beff7977a966ce77a1e12d3a18e6c6dacf175c8e17bc503cba7598b6d3aa2ba10af0800604aa61d03c11d71d99fb1caaace90d46dfe602903c85e87bc99c46a60698f02e61d1523d976dc5dd3cef6f97260ca01a4fe4473d203b40ea124644584d4b975d03de6afd87336ea67101bb179c5d408aac8889832a003c03a0ae24da493012e207909bc04bd24a86b36f6ef664050f91b345c80bc1eed038e22da616736964b1ff4d3eb7737890ee9379318cad0bcd76e592fe65991a9b803f3dc62dc20a237faa4f38bf81970276b8cec5954b21bc4914e321cb68357360803c271902cd9119bdda06cdc4ae78d98da418f374eb0b33e7689ebf9f4e9b695cd03e28658bbb2b290c59188e212fd023d69a7b0af55431ed205c1188c9662a8b0a70338df73db21a6632f2222191b51a2f9516a66a517925991a4143c8e15059d28b7032f99440b4c78904dd5e94f30f0090e20bebcbe5408f521655011d05a693a0e3d03188c0381462ff408ccba4a94ee9cd449e2eab21664cd9840c2c604c0a233671503cb2f3953cb1dfaf35dc0719b90e805b71b3f2abdc1cd0f18d193848aeb14e8da03750dd761657d6e7ce030c14774f463f7fd4380953e8f487c5ab1aa37b9f5a77703d8c216fdfc6662517a60f540cfac819d714526a0a377b80b3f3f98284db5dafe0314a3af7cacbd02e6b31eacd40092f51549db096ecec9e78c05178d7d95c3d9b905581e03adbac62da7e85fa3dbfeee08c58caae4f9be053cb83f5fb1c6b0b47d30084722243e7c4aa00005581e03b81a22b7a2841921a51c2c10888bce43d14349fe3cb406134b01ba4f800c0146135f74a82f0005581d022e9c01a0bb8b3d5aaa8ea6f8ba6ac1347b235e26821ea86c7b1d93df0419011c03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581d02a3d0221690b2d1426548d7681e4bdc429992a24e198cc8e194b2e6cc07011bffffffffffffffff0206037662d2b70c3e16c8ce58c023806fd2f5842f69ca8087a9f8e1afc3591667857703e457a7d448c66b50cdeebbcd35dfe9317da3373375f56d63e49111c26c6d112405581e0352098ec0d4a47b14108b2c1797d0bbec5a44bf408c8d647dc371eb4b400c01470160ee0b653c0005581e03240101d8cb9babe5e90dd977cc5cd82db58bf5a4695306936345fe64b00c181a46f4449e1da9d902197702035460926050397e2e5118257e735f0a2cfd3510884a8adb6c3118fbe8d542ceeb03e9f3401b75a739efa01bf147227582e7fcef05ab339db66fbb5a0a9af8e6b1870219ffff03722b1ceff6729733f72bf5b6be513e281cffcd434745c9209405359415469e98036d09819c65bc21a6ea1396230abd00cfb97b12b3a0f3cd4651b5deb6ead14f1103108b79651967fb272fdcb6764ae8be3ac694e8ec2fc3a3816c54b491d54aac9903f1cf2288d68379fe91ea6bb51e57152e97a7b886dae582b4d03a47e086593aa8035b3adc71089e0b4dea0da9dd167423c8d997c08979f1dfb537179d0d93c781c5032dc6e8a35bc5f7a4df5b6181a32b37dc9c38d915e5b0132f09c3a2a0da30cc390363582dd5ad799c5d5f1c5f262fda33e261115039ca94db3d68e4af96b417cf9603ecc386f163eb6725ec2d61893c636d5c62a9eea7f544cdf8569a29b5dca424530363e94484164c7d2543a795f65e210d5340b3ff803408dfc09d9f6dcf5533e49e0219ffff03755d109797c4d6545f3157e941698389ea67549f6e0ea2b4a6416a8a91044920037b727f12002e71105d143db605a76921769e32be21058217e4657f5f0d254de1034fe0fef26325d02af93044a7e0ecd65569770ded08f0024596e801929bb04515034b268cd276ef5397032cd09a9ca36858a0fa828c3a45179fc3128def0a7a4e0b0339594ce86d9d567d71ebcc7b9ef88d6a68cb8d78411e0ad9853fae4a7fe5ad54036bb37728c57a68df92606569755fbbeb0aa958fead58fc83f7a63654ea86bbbc03b69819fe88c0092d5d119552cec164b21841ecd37e0eb4efe057d2e61c2b142203ae5f87cc646c3d2261c1a9ec600810555e968296c980114f1659c89f6ce93ed303a7df5b15624276df1b96fc365a462dc5791e3500fddfe8982f0478a31109c6bc03ff1653d591da3c488de8b7c71fa6e4cb6b54684530bc0d430bfe246b7ec2dc0503d80775958b3a8355209f41d8b23a7d1abff8d06ca0673c26c95348bd7b1ce6fd0333bd8da457aa9f67f4ea26cf34057e0a4aea1efa271ee62845fa1f7d917aea330219ffff03c396c1be1ca21159072a2c954a292d16de9f78aa2860b7c964b76ce2cdc8cace031cd8bca8b90c36b3e5b2c395a35ca86e07c48feb1ff456df141f3f780a8b5e8a03c5114a8fbdf4f2a41254722ac94cfee4a770e7b64379fdbc13ef0ff19554fd3103d68624941a26ecb04da1646513eb73a3082a48bd5875b81eb90e35f364b977b603fe109cebec5584e4383314ef1152c7ddf938bf18870a4a749a4f6aec6d961a600387f92ec55eec2b63c3e10a2207bc8057b9e1d2385e56366db30c4d726f98b87c03f94a2d66f72d639b0c2af2e33daad62d0d516456c4de42674feaa83c4af17bee035e0ef69f2c874d71e4995793575547a4e8ed1927f8ad960ffa0e922828a0e8ac03bb2f7e4badea4e24d712869133f33b0fb05c4d7ea44889207e20a51f8e0ca595038ec917a03c78a53ac5f8ac9729baeb63a7e878def1864ef30f867dfc68745134035787d835c323d224f213f3611e5e3b89577f6dd71c83b227679619cdaf000ed7032b1114493d93104a5cb5dd502611e2fbcaa824490a63a2c0579f3ea6d1880703032d97c62a64368f4323e2d8f242dc22a7d8acf0b05e348d47763834863f9b2def039c29b6772fb2b7581fa20224a6284fe47df38ccee81a25809ded7b08508e259c031c6df08cc2b0e9311689ac7ce4bad8d562d51910f74fdf0bf181172f28ea3b9c03aa3b1f7da7946e482a8e6e3e0fa4977a5fe5491142133795ef5b7622b0be447e03336ecdc9605859ec19befafe0379cd8e7456cdc05fd8874dccef3666f2f531e503da8c147b6cfc6487d62f2ed3ecaf457c88a07c0d62a10ad121b4d94150831f1e0373619ad61dc429afdc097c04351078335287635532ad372ec7a14c5dfe5dc6ef03ea71d6efc5d0d25cc652bb90c3301a0fb7d18f054ec9ba9eccb066f40c709e070332695c40bc837352447ab4a972a3700f027d135043c90768519e7c5eff4c426903e151c2bd995b1cbe80fa3dc8564e97df63d24b23f1e4d2c78d7b7454eee66c69033b740f329608164819590b8ddbd829693a2b08be84e6afa34759f65c0115244603fd7b651690e06a6cc88fed603affbcee6d1822621697913371697da180bf0f73035e95c33254c5cc266c95541c71a765c25cccabe0640dfa08a23d3473faa6717f0303cadb9b180d11b60218bdd7c1e3229674a5a8b9762380a4c03d009730db573803fc078ab15b252ea6684744f191a20518c107c57947b83276eddd8d4d2a2db69803f9fe0fdefc1f2765940d6e05780acd76dfc5aae8c72c6ddd4930c27b9224fd46035b3c0280fbfb348dce26c7c18601c2e2e0c0836e48eef5419cffcd64fa290f0e03490d06ceed91773a3a4455189f43c2170b6457e928992d27c4c2a7a6fe28f2ff0350ee84b9d77258f9349cd7078cb1547cf98716b9a28cfa67cca2291e487c2c9f031b22031352e99d50dee73ed7802f0cf91e524289460124926763ea733406b5c30320891bdecfc40973554bad634622234afe02d67cdffb8d1df68302ce0931630003be96ef12200600ade7936ca6edceeb09e3e6a481e23dea421840c0549da43fab03e21d7569c406aa67f41e5cbb245552aff79688301214a5ce4e76188bda25e73d036d5767a3fc025ef9ffbb82564316d1f91e57b66ce39c42af32954dc2890e107403ebe29037f16368d171354f92863b18c82c049b85b29bbfb0ab3b4f2d5f5fdd6f0304e045a8496927e61f3bf19e0d990998723de09d17a1c04f58aa6e35a785f7a705581e03f08e9758d7d2fcb3a73a23ab4afeb9c27f706100e3781351760bdaa930040405581e03718774056b561f07097a923ee997933483bd621cb54822237a4d6505c00c014705c479bb89a400031c7a455cbb5a2a863020eab3d237f60203fddcf00284f854f273ffeaa699770f030ddd3383d9aad397feb109a02a50d8698efd83d16d7963872231a1201dedb9bd01410f03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c0347604f36d7923958465d2fbf6a20ad2289c8a7b99170a9eb4f8e929b1df79ba705581d02039f308a9b2ebbc252971f836ea844eb884b3936b34d25c4e919407007011bffffffffffffffff04592687608060405234801561001057600080fd5b50600436106101005760003560e01c80637ad168a011610097578063b768bb1711610066578063b768bb17146101f7578063c17b291b1461020a578063cfdf677e14610213578063e561dddc1461021b57600080fd5b80637ad168a0146101b057806381eb62ef146101b857806389a1d980146101c1578063ab59f7b8146101e457600080fd5b8063461a4478116100d3578063461a44781461017057806355a17f8a146101835780635b4d90e2146101955780637aa63a86146101a857600080fd5b80630bf3b5f2146101055780632169f79f1461011a578063299ca4781461012d5780633cb747bf1461015d575b600080fd5b610118610113366004611e24565b610223565b005b610118610128366004611f03565b610322565b600054610140906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b600154610140906001600160a01b031681565b61014061017e366004611f66565b610602565b6002545b604051908152602001610154565b6101186101a336600461204e565b610689565b6101876107ef565b610187610808565b61018760035481565b6101d46101cf36600461204e565b610821565b6040519015158152602001610154565b6101186101f2366004612083565b6108b1565b6101d461020536600461209c565b6109b0565b61018760025481565b610140610a4a565b610187610a72565b61022b6107ef565b82146102525760405162461bcd60e51b815260040161024990612159565b60405180910390fd5b61027e6040518060400160405280600b81526020016a2137b73226b0b730b3b2b960a91b815250610602565b604051630156a69560e11b81523360048201526001600160a01b0391909116906302ad4d2a9060240160206040518083038186803b1580156102bf57600080fd5b505afa1580156102d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f791906121b6565b6103135760405162461bcd60e51b8152600401610249906121d8565b61031d8382610aec565b505050565b61032a6107ef565b82146103485760405162461bcd60e51b815260040161024990612159565b6103746040518060400160405280600b81526020016a2137b73226b0b730b3b2b960a91b815250610602565b604051630156a69560e11b81523360048201526001600160a01b0391909116906302ad4d2a9060240160206040518083038186803b1580156103b557600080fd5b505afa1580156103c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ed91906121b6565b6104095760405162461bcd60e51b8152600401610249906121d8565b60008351116104665760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f74207375626d697420616e20656d7074792073746174652062617460448201526231b41760e91b6064820152608401610249565b6104a46040518060400160405280601981526020017f43616e6f6e6963616c5472616e73616374696f6e436861696e00000000000000815250610602565b6001600160a01b0316637aa63a866040518163ffffffff1660e01b815260040160206040518083038186803b1580156104dc57600080fd5b505afa1580156104f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105149190612227565b835161051e6107ef565b6105289190612256565b11156105ae5760405162461bcd60e51b815260206004820152604960248201527f4e756d626572206f6620737461746520726f6f74732063616e6e6f742065786360448201527f65656420746865206e756d626572206f662063616e6f6e6963616c207472616e60648201526839b0b1ba34b7b7399760b91b608482015260a401610249565b6105b9838383610ca4565b6105f7838242336040516020016105e39291909182526001600160a01b0316602082015260400190565b604051602081830303815290604052610dc9565b61031d835183611002565b6000805460405163bf40fac160e01b81526001600160a01b039091169063bf40fac1906106339085906004016122bb565b60206040518083038186803b15801561064b57600080fd5b505afa15801561065f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068391906122e3565b92915050565b6106bb60405180604001604052806011815260200170212b26afa33930bab22b32b934b334b2b960791b815250610602565b6001600160a01b0316336001600160a01b0316146107415760405162461bcd60e51b815260206004820152603b60248201527f537461746520626174636865732063616e206f6e6c792062652064656c65746560448201527f64206279207468652042564d5f467261756456657269666965722e00000000006064820152608401610249565b61074a816111b0565b6107665760405162461bcd60e51b815260040161024990612300565b61076f81610821565b6107e3576040805162461bcd60e51b81526020600482015260248101919091527f537461746520626174636865732063616e206f6e6c792062652064656c65746560448201527f642077697468696e207468652066726175642070726f6f662077696e646f772e6064820152608401610249565b6107ec8161124c565b50565b6000806107fa6113f8565b5064ffffffffff1692915050565b6000806108136113f8565b64ffffffffff169392505050565b6000808260a0015180602001905181019061083c919061232f565b5090508061089a5760405162461bcd60e51b815260206004820152602560248201527f4261746368206865616465722074696d657374616d702063616e6e6f74206265604482015264207a65726f60d81b6064820152608401610249565b42600254826108a99190612256565b119392505050565b60008054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108fd57600080fd5b505afa158015610911573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093591906122e3565b6001600160a01b0316336001600160a01b0316146109ab5760405162461bcd60e51b815260206004820152602d60248201527f4f6e6c792063616c6c61626c6520627920746865206c6962416464726573734d60448201526c30b730b3b2b91037bbb732b91760991b6064820152608401610249565b600255565b60006109bb836111b0565b6109d75760405162461bcd60e51b815260040161024990612300565b6109f483602001518584600001518560200151876040015161148f565b610a405760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420696e636c7573696f6e2070726f6f662e00000000000000006044820152606401610249565b5060019392505050565b6000610a6d60405180606001604052806021815260200161263160219139610602565b905090565b6000610a7c610a4a565b6001600160a01b0316631f7b6d326040518163ffffffff1660e01b815260040160206040518083038186803b158015610ab457600080fd5b505afa158015610ac8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190612227565b610b2460405180604001604052806017815260200176283937bc3cafafaa29a9afa3b937bab826b0b730b3b2b960491b815250610602565b6001600160a01b0316633231a7f083604051602001610b4591815260200190565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401610b7992919061235f565b602060405180830381600087803b158015610b9357600080fd5b505af1158015610ba7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcb91906121b6565b610c115760405162461bcd60e51b81526020600482015260176024820152761d995c9a599e481cda59db985d1d5c994819985a5b1959604a1b6044820152606401610249565b600082604051602401610c2691815260200190565b60408051601f198184030181529190526020810180516001600160e01b031663f523f40d60e01b1790529050610c7473deaddeaddeaddeaddeaddeaddeaddeaddead2222621e8480836116d4565b60405183907f8ef5d07412def056f6bfc680f359c8a0370cfacb2becaf67d01e2e372e08964a90600090a2505050565b610cdc60405180604001604052806017815260200176283937bc3cafafaa29a9afa3b937bab826b0b730b3b2b960491b815250610602565b6001600160a01b0316633231a7f08484604051602001610cfd929190612378565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401610d3192919061235f565b602060405180830381600087803b158015610d4b57600080fd5b505af1158015610d5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8391906121b6565b61031d5760405162461bcd60e51b81526020600482015260176024820152761d995c9a599e481cda59db985d1d5c994819985a5b1959604a1b6044820152606401610249565b6000610df86040518060400160405280600c81526020016b212b26afa83937b837b9b2b960a11b815250610602565b9050600080610e056113f8565b9092509050336001600160a01b0384161415610e22575042610eb7565b426003548264ffffffffff16610e389190612256565b10610eb75760405162461bcd60e51b815260206004820152604360248201527f43616e6e6f74207075626c69736820737461746520726f6f747320776974686960448201527f6e207468652073657175656e636572207075626c69636174696f6e2077696e6460648201526237bb9760e91b608482015260a401610249565b60006040518060c00160405280610ecc610a72565b8152602001610eda8961173f565b8152602001885181526020018464ffffffffff16815260200187815260200186815250905080600001517f9cf3ad24eae3fd6d461e2f566b35b95b6d671871d9fcb45f8ac8030e4a8d21b382602001518360400151846060015185608001518660a00151604051610f4f9594939291906123c0565b60405180910390a2610f5f610a4a565b6001600160a01b0316632015276c610f7683611c1a565b610f9b84604001518560600151610f8d9190612256565b602887811b91909117901b90565b6040516001600160e01b031960e085901b168152600481019290925264ffffffffff19166024820152604401600060405180830381600087803b158015610fe157600080fd5b505af1158015610ff5573d6000803e3d6000fd5b5050505050505050505050565b600061103c60405180604001604052806017815260200176283937bc3cafafaa29a9afa3b937bab826b0b730b3b2b960491b815250610602565b6001600160a01b0316632cd00d536040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107657600080fd5b505af115801561108a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b29190810190612403565b905060008151116111055760405162461bcd60e51b815260206004820152601860248201527f67657420747373206d656d6265727320696e206572726f7200000000000000006044820152606401610249565b6000630fae75d960e01b8385428560405160240161112694939291906124e1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905061116f6020602160991b01621e8480836116d4565b42837ff533ef50019763ee9d95ad46e28350b533c11edd472ae7be93e8fae83c1b6d9986856040516111a2929190612510565b60405180910390a350505050565b60006111ba610a4a565b8251604051634a83e9cd60e11b81526001600160a01b039290921691639507d39a916111ec9160040190815260200190565b60206040518083038186803b15801561120457600080fd5b505afa158015611218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123c9190612227565b61124583611c1a565b1492915050565b611254610a4a565b6001600160a01b0316631f7b6d326040518163ffffffff1660e01b815260040160206040518083038186803b15801561128c57600080fd5b505afa1580156112a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c49190612227565b81511061130a5760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b2103130ba31b41034b73232bc1760611b6044820152606401610249565b611313816111b0565b61132f5760405162461bcd60e51b815260040161024990612300565b611337610a4a565b815160608301516001600160a01b03929092169163167fd681919060281b6040516001600160e01b031960e085901b168152600481019290925264ffffffffff19166024820152604401600060405180830381600087803b15801561139b57600080fd5b505af11580156113af573d6000803e3d6000fd5b5050505080600001517f8747b69ce8fdb31c3b9b0a67bd8049ad8c1a69ea417b69b12174068abd9cbd6482602001516040516113ed91815260200190565b60405180910390a250565b6000806000611405610a4a565b6001600160a01b031663ccf8f9696040518163ffffffff1660e01b815260040160206040518083038186803b15801561143d57600080fd5b505afa158015611451573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114759190612529565b64ffffffffff602882901c169460509190911c9350915050565b60008082116115065760405162461bcd60e51b815260206004820152603760248201527f4c69625f4d65726b6c65547265653a20546f74616c206c6561766573206d757360448201527f742062652067726561746572207468616e207a65726f2e0000000000000000006064820152608401610249565b8184106115615760405162461bcd60e51b8152602060048201526024808201527f4c69625f4d65726b6c65547265653a20496e646578206f7574206f6620626f756044820152633732399760e11b6064820152608401610249565b61156a82611c63565b8351146115f55760405162461bcd60e51b815260206004820152604d60248201527f4c69625f4d65726b6c65547265653a20546f74616c207369626c696e6773206460448201527f6f6573206e6f7420636f72726563746c7920636f72726573706f6e6420746f2060648201526c3a37ba30b6103632b0bb32b99760991b608482015260a401610249565b8460005b84518110156116c75785600116600114156116605784818151811061162057611620612551565b602002602001015182604051602001611643929190918252602082015260400190565b6040516020818303038152906040528051906020012091506116ae565b8185828151811061167357611673612551565b6020026020010151604051602001611695929190918252602082015260400190565b6040516020818303038152906040528051906020012091505b60019590951c94806116bf81612567565b9150506115f9565b5090951495945050505050565b600154604051633dbb202b60e01b81526001600160a01b0390911690633dbb202b9061170890869085908790600401612582565b600060405180830381600087803b15801561172257600080fd5b505af1158015611736573d6000803e3d6000fd5b50505050505050565b6000808251116117ae5760405162461bcd60e51b815260206004820152603460248201527f4c69625f4d65726b6c65547265653a204d7573742070726f76696465206174206044820152733632b0b9ba1037b732903632b0b3103430b9b41760611b6064820152608401610249565b8151600114156117da57816000815181106117cb576117cb612551565b60200260200101519050919050565b60408051610200810182527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56381527f633dc4d7da7256660a892f8f1604a44b5432649cc8ec5cb3ced4c4e6ac94dd1d60208201527f890740a8eb06ce9be422cb8da5cdafc2b58c0a5e24036c578de2a433c828ff7d818301527f3b8ec09e026fdc305365dfc94e189a81b38c7597b3d941c279f042e8206e0bd86060808301919091527fecd50eee38e386bd62be9bedb990706951b65fe053bd9d8a521af753d139e2da60808301527fdefff6d330bb5403f63b14f33b578274160de3a50df4efecf0e0db73bcdd3da560a08301527f617bdd11f7c0a11f49db22f629387a12da7596f9d1704d7465177c63d88ec7d760c08301527f292c23a9aa1d8bea7e2435e555a4a60e379a5a35f3f452bae60121073fb6eead60e08301527fe1cea92ed99acdcb045a6726b2f87107e8a61620a232cf4d7d5b5766b3952e106101008301527f7ad66c0a68c72cb89e4fb4303841966e4062a76ab97451e3b9fb526a5ceb7f826101208301527fe026cc5a4aed3c22a58cbd3d2ac754c9352c5436f638042dca99034e836365166101408301527f3d04cffd8b46a874edf5cfae63077de85f849a660426697b06a829c70dd1409c6101608301527fad676aa337a485e4728a0b240d92b3ef7b3c372d06d189322bfd5f61f1e7203e6101808301527fa2fca4a49658f9fab7aa63289c91b7c7b6c832a6d0e69334ff5b0a3483d09dab6101a08301527f4ebfd9cd7bca2505f7bef59cc1c12ecc708fff26ae4af19abe852afe9e20c8626101c08301527f2def10d13dd169f550f578bda343d9717a138562e0093b380a1120789d53cf106101e083015282518381529081018352909160009190602082018180368337505085519192506000918291508180805b6001841115611bf057611a8b6002856125d2565b9150611a986002856125e6565b600114905060005b82811015611b44578a611ab48260026125fa565b81518110611ac457611ac4612551565b602002602001015196508a816002611adc91906125fa565b611ae7906001612256565b81518110611af757611af7612551565b6020026020010151955086602089015285604089015287805190602001208b8281518110611b2757611b27612551565b602090810291909101015280611b3c81612567565b915050611aa0565b508015611bc05789611b57600186612619565b81518110611b6757611b67612551565b60200260200101519550878360108110611b8357611b83612551565b602002015160001b945085602088015284604088015286805190602001208a8381518110611bb357611bb3612551565b6020026020010181815250505b80611bcc576000611bcf565b60015b611bdc9060ff1683612256565b935082611be881612567565b935050611a77565b89600081518110611c0357611c03612551565b602002602001015198505050505050505050919050565b6020808201516040808401516060850151608086015160a08701519351600096611c46969591016123c0565b604051602081830303815290604052805190602001209050919050565b6000808211611ccd5760405162461bcd60e51b815260206004820152603060248201527f4c69625f4d65726b6c65547265653a2043616e6e6f7420636f6d70757465206360448201526f32b4b6143637b3af99149037b310181760811b6064820152608401610249565b8160011415611cde57506000919050565b81600060805b60018110611d1c5780611cfa600180831b612619565b901b831615611d1457611d0d8183612256565b92811c9291505b60011c611ce4565b506001811b8414611d3557611d32600182612256565b90505b9392505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611d7557611d75611d3c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611da457611da4611d3c565b604052919050565b600067ffffffffffffffff831115611dc657611dc6611d3c565b611dd9601f8401601f1916602001611d7b565b9050828152838383011115611ded57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611e1557600080fd5b611d3583833560208501611dac565b600080600060608486031215611e3957600080fd5b8335925060208401359150604084013567ffffffffffffffff811115611e5e57600080fd5b611e6a86828701611e04565b9150509250925092565b600067ffffffffffffffff821115611e8e57611e8e611d3c565b5060051b60200190565b600082601f830112611ea957600080fd5b81356020611ebe611eb983611e74565b611d7b565b82815260059290921b84018101918181019086841115611edd57600080fd5b8286015b84811015611ef85780358352918301918301611ee1565b509695505050505050565b600080600060608486031215611f1857600080fd5b833567ffffffffffffffff80821115611f3057600080fd5b611f3c87838801611e98565b9450602086013593506040860135915080821115611f5957600080fd5b50611e6a86828701611e04565b600060208284031215611f7857600080fd5b813567ffffffffffffffff811115611f8f57600080fd5b8201601f81018413611fa057600080fd5b611faf84823560208401611dac565b949350505050565b600060c08284031215611fc957600080fd5b611fd1611d52565b905081358152602082013560208201526040820135604082015260608201356060820152608082013567ffffffffffffffff8082111561201057600080fd5b61201c85838601611e04565b608084015260a084013591508082111561203557600080fd5b5061204284828501611e04565b60a08301525092915050565b60006020828403121561206057600080fd5b813567ffffffffffffffff81111561207757600080fd5b611faf84828501611fb7565b60006020828403121561209557600080fd5b5035919050565b6000806000606084860312156120b157600080fd5b83359250602084013567ffffffffffffffff808211156120d057600080fd5b6120dc87838801611fb7565b935060408601359150808211156120f257600080fd5b908501906040828803121561210657600080fd5b60405160408101818110838211171561212157612121611d3c565b6040528235815260208301358281111561213a57600080fd5b61214689828601611e98565b6020830152508093505050509250925092565b6020808252603d908201527f41637475616c20626174636820737461727420696e64657820646f6573206e6f60408201527f74206d6174636820657870656374656420737461727420696e6465782e000000606082015260800190565b6000602082840312156121c857600080fd5b81518015158114611d3557600080fd5b6020808252602f908201527f50726f706f73657220646f6573206e6f74206861766520656e6f75676820636f60408201526e1b1b185d195c985b081c1bdcdd1959608a1b606082015260800190565b60006020828403121561223957600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561226957612269612240565b500190565b6000815180845260005b8181101561229457602081850181015186830182015201612278565b818111156122a6576000602083870101525b50601f01601f19169290920160200192915050565b602081526000611d35602083018461226e565b6001600160a01b03811681146107ec57600080fd5b6000602082840312156122f557600080fd5b8151611d35816122ce565b60208082526015908201527424b73b30b634b2103130ba31b4103432b0b232b91760591b604082015260600190565b6000806040838503121561234257600080fd5b825191506020830151612354816122ce565b809150509250929050565b828152604060208201526000611faf604083018461226e565b604080825283519082018190526000906020906060840190828701845b828110156123b157815184529284019290840190600101612395565b50505092019290925292915050565b85815284602082015283604082015260a0606082015260006123e560a083018561226e565b82810360808401526123f7818561226e565b98975050505050505050565b6000602080838503121561241657600080fd5b825167ffffffffffffffff81111561242d57600080fd5b8301601f8101851361243e57600080fd5b805161244c611eb982611e74565b81815260059190911b8201830190838101908783111561246b57600080fd5b928401925b82841015612492578351612483816122ce565b82529284019290840190612470565b979650505050505050565b600081518084526020808501945080840160005b838110156124d65781516001600160a01b0316875295820195908201906001016124b1565b509495945050505050565b848152836020820152826040820152608060608201526000612506608083018461249d565b9695505050505050565b828152604060208201526000611faf604083018461249d565b60006020828403121561253b57600080fd5b815164ffffffffff1981168114611d3557600080fd5b634e487b7160e01b600052603260045260246000fd5b600060001982141561257b5761257b612240565b5060010190565b6001600160a01b03841681526060602082018190526000906125a69083018561226e565b905063ffffffff83166040830152949350505050565b634e487b7160e01b600052601260045260246000fd5b6000826125e1576125e16125bc565b500490565b6000826125f5576125f56125bc565b500690565b600081600019048311821515161561261457612614612240565b500290565b60008282101561262b5761262b612240565b50039056fe436861696e53746f72616765436f6e7461696e65722d5343432d62617463686573a2646970667358221220a5535ff5cd353b344d35a54fa67fb2411baea65e6004476dc7c0b0750c418bc064736f6c634300080900330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630546968f3f16c3e64003f02e121cf0d5ccbf5625a420058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace043093a800058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054676a795fe6e43c17c668de16730c3f690feb7120005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b043c023800219181405581d0290266879d3c6bd25af6235b73732f326cfde050c9e8412b02f11b83d07011926870219440003337eaf318f6178c5ae2a9287ff3719ee7712ddc307d7703ffe79dbcd90cef75a05581e0350bfd395d9fe7e1f5bd7f171aaa6cce46b7040bc74ec12617b49cda69004030219d35003a2cb9357a221a1463816337d90a8d259427ff56146936083f92cccad099cdae30219ffff0341864b6e3ee6f51289da81c0556e6d8757e3562b9652be362be4309f40101b7f0219ffff03316a728426201e1c62ccdee837ca1464fd778e22a05d744ad60365151d796d780302f79ebb967d764c0234f3c00f9932665b70033b3c26a74b260751d27c4d3c7a03f04673bb07428df5718e23cfc47c2f5042aa1deb014a1f0f289f41e21962f963037c3829925e7e88d411637bfb4268f8af5520c043f9ad09919e5ed7715944ea3a03f593f068448863cf6d7150057c3dcca1c91d3c799f581c9194fe4465615362c403b597fb9e4c4e01b220f0f0869cf2f314bbd9fa389e68abaf99d4664317284e5103847702a76ab2e59560c85c4e86b39f825d04a4d31f4a3d05dd838eab3a822326035667e89a8acc1b1643a4fe3c1fe4cdf3bb3bd11d52c05fff22669814abfc79aa035adc02cdcceca38ac77fdd819979e47d99b9a30bfac6075527829b86e0105f3b03d90f6fb89e0d3bca55b19778cffe118fa160b703ff2edcd93760c4fe3438671903ad5a03f07a6a89ff7f749ecdcce4933814dfdde5b69cf8cacc1b3c9114bec60203cb8c53245177b437b9f999a636cd651766eab6af16a29684ff293da0f9d3c3b90341cdfcbaf16ee2623fec0c07214f377c6e50fab86d4fbe8c19a2da00b74c080a0219ffff0375b5ad70221754b71d28660ceba1bfd6e9b19b783fa650707d532da7d7b09ad603ea756de0c91581d5a3631079ad8e29e4f940e8f029e1d1e0b6613a431647d3d503e01e3741af99ba53ad770c600df58a71febe576a3b9df5a7595386af1cb9cda8038a21231c8886d3770928a25c73503ba86001889b073fc0751c28e490a4319002031a13057cdf5484b8f228f71e3c10ba9b4c7a1c2794c7be3d966bf2e637b0edfb03bd0432067b1347fff1e88dee7cb891f18d226ade6a7498f9952b74d4b0173c0603caa9278f2baa760ad172f6bf6039ab46ced6fe287c684d80d3779f20e138e276036aa82105ad512f12939f8d72f060827a3384d1eede9420b068a7c7abf9b7a0a603f71f079a17e2a557d444fff4fd274c50f78c02faf08caec3aa11078788da9a8c03f011b90f06da9cc71c4f133dd67297777bb7fbcc05ae066d9b3194b31d03be690326ee8d1cabc953d2dc33f130c4415f429da51edc52117a06685292de08de47b903e5f9f30c7fa6a4f345e9a20014a9f2f6adb369c3bb715bbefab9b832b2dbd131034bf278a57d60720dfd3e347eba7bdefe91d41219e951e3277e2c5df574f199be0306e9e73fbc31b359a9f65066fa150410b0af1409210ce7058274c6591b58cdd403e73cba4a6738fa48416c64d8cdfca1fbba079956caaddbef708078a2532da6cf03b5d70ad1100b7969c4972fdb1060d12bc29b1f0e12817e4565ac93f2cad65b37039c6c5dea2a68057eba499c01ed9f41406bed135f707650d3695bfacb6c5348b303ec23635f7f241dc48a89cc991217b44953df0f87ed8af37c2c492b1f24ee1560033e11aa97dc77d616d4e4ca286eb5f034825fd82383f31f3577a83d8bc566251c032bbc5ea9eee1ccfd8c66f76a5d4e51758532601b4b4cb3c3311e23e8a8e603e9034854d5f43a7b2004854c38b62e0ec9fc5f81b383dfe4b1466b28f3a1308c52a30397259fbaca69680791e9b089df05e97e71c92518aff5e9062b0640ddd3b3d76805581d028afac297786bad0b82ae253b8d202d6ba5ef1a4ac1fdd69c7487d5c8040805581d02604e439cdb3d2bea3db8b7d04fb6c085ad27f661836cae1f5d08dbb40c0147595e100f83500003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02acac4edcd170194ba21a10fcafe1e345be52a9a8f8d6072ab2414ea207011bffffffffffffffff0459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d9281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d928d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d928b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d92908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d929087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000019c1f6c7468ad4076b05a5f79e3ee80ce00647181614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d921693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a0355d48f8dd6b8a89c7c66268dbb3205132a7528d49b2fbb403f15aa117af96b5e0395b214d8420ebfa41ff187ea80690b4eb4daa86a4285cd10beda8f357dd53ec303fcc7e8146d4f28a5dc49275ad3f935d1598a85c513815c3016aa110f6f68ac13005820022d6f21785236a5deb6f08e71e529f97b2b8b54d0affa0b217c22bbaec51d4e501c07e53a2c77b9b7c55151e50aab092e0356fc8faf426d97d14c9912d4bf1f26a891609cbe8f0e6ecaef81b7becb2a1da50058200213253fca3b78cb92e4ce137a1bb9e3327d1e740739a6a0ae0a889b05c3621350fb2ca1fd502c49c7fa31b6c4e516b49f005820020c9f88488b9d14a7b9e360e432c341565b404b4f06a0278ef5fdbe5276869e5820ffffffffffffffffffffffffffffffffffff8975aa35c502682f1ec61f936a5e005820020aa3ea6c12e537ee82afa91e12b4de6cf3d6362d00e54dbe38db91a31d146c5820ffffffffffffffffffffffffffffffe9d75983ee7047452e68742f4176ae6e9400582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000fe0fe5000000000000000000727edce4c62aa01f28a1ef005820039622fc41d71f73e7b15fece71b3602f8ebf0674f0d86b1ce9b3b302171567051379b1ed119314af831584a7e87c8e611520058200382ae9f245b6015b9dccc2558d78bdae2a0f6590fcdbe53f933c61a699672904e1191a37fa71b64e3a9c62c83d949021885005820021eb962641358d2d297e97b8ac822c3ceaf7abfaad6b172f90ce87e3207edc458200165cef25f00000000000000000000002e9bb153d28a0e9edafffffed2cbcae00359c8d56597f224e8ab941aa6d52e1a815f324721cd8633dd6c79f8368e68e8f7014301e0c003575a015d45c292ca28b4e287cfeea0dedd7b18372ab2c550cb228d6567690bdd00582002553bd82d10219a202080f6d1824d101b122a5452cf8d3042f76fa183f48df749ea3405be1f96015e4702196f4f03c3083f0e16eef41aad731922959eb8d4fc6352cef68457ac7ba4c857272b1ac300582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04f23eb7b84a8e8484191abd38fc3fd0f005820036ca2fc91f5efc140250c375d5c3855ff7dcc3968cab052e84edc112f98a5805820fffffffffffffffffffffffffffffffffffe6404155705c49ffd615148d71ed70058200359c9bda206defa413c73c3736a85b8732297ee0774debaffe943be1eaab76051d4af8ac711c63f3b14ca1cd2933b2f2a3f021904a000582002fa686b9984faab0b9dce5bfdb568d0ec5bf6eed86f998fc816b4543ab740124f1476de7199c5814ed84c8c37ca57a4030738a0289da0f4e799686e370eb8c81c7e5489e7f7c9217e0495cd1451388d0a03e76dde3afe01a15072bd4fba29e1fcf122d87820fa1f7815fd30de8b0e10da1701410f00582003153a89da85ae01b3e6740f8ff25fbfbd2c7fddc300353f12f7b404ef3e95b05107626f9abc281d58c6274405db91ec3bf90058200340d2674d4a3b8fb8b8271c176ea98146ebebf0e584eb77239a3c5890ad17504d69b5193949237c1b89dc57586a005820033e1e06859b73e49492b3c27b75514574e4c70ac611a048f5a5ad3002862910581f0400000400c00c8870030009098310a840043a0280000018000000000000000219540003016eb7ea5b5fc3e912109e17d2c619f393654d76089e2711ff99bbd1a6698404032838969406066bceb8d6118da5f7c27917a314e649755ad135ec64773ec83a9603c968c6bca7a47577924be7bb32a49817484f22a77bed76aa3da5a60697385fa8005820021b426021667a30147518a05eafa19409158121134b9485f06cb56ac0a05e6f5820ffffffffffffffc4de0211876d3cc888000000000000003b21fdee7892c337780219fb81030cf0db67e86d348aa8237f1fc63d51a68c48225b099cf128f9c3a8fdfdca8010039b1096119d8005b59d44ff02e9db8f760af1ea71a9c708e2664009a11efb62ac03c9c06e6102ef73046c2304fdc6f3c1813f3c361ddcd4c2b4291bcc0cc3fad77c00582002a973ebf8140cfb5b9c69ae17d58233dfc11221f0904b2be392dd81332a4f1a57031c7f14665049000000000000000a795ec74f6269f8ec03fa7bfff370df986e011e605d75368b4c8c6dee75efd999818edf762ca1591b2800582002f4a721c7092e1dd10b40c45a6bea85faf08214c6695b2f4b8cee701d693e9b581923bc3108a2086e2aa90000000000000023bc3108a2086e2aa9005820024058e73fdd58f3fce7d93aabfffaeec5e814e05671fa26c4896079e32567b149b5501086770153ede8036c13b91b044511705ceeaf0074199db84f9bad809188bf5a0369c4225fe97d43005820028b2d09f510a2b922d7dea9ba1b326dcb21991b833d0e1eb824cea0352745b54f019bfbeaa8fa3b60029eaeb728e129038f88299e2d8932bede5e54525472d6ccc17c3778768f3392158dd9f6d63bf6e1005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a0d5323c032a1f933762d00582003174ba0dd3651a59c301825dce01ee21355e09cf35b24cef4c2b650baafc7a05101469dcf42e987c8b55168ed38de18696d00582003651355e6b636f2cabeb07e9a3cb999567819fc1a9db8c001a0e67b62a0a1a04f1cbe63c3f9000f95774fc4dca15a160219018803361761d7930087150cada3dc0010efab953dadaca5ee64bbe0ca451d43e89b900058200240e8dbbcde38d4a85a672c48ed76b9d4f28f2337e3a4dcb8d8fe18b0bf21b24a02fc533f5d1ca94f3cb30058200222682d226a7ea90015756451ac94b71197308a31580f644356bf65a4ae594b51d1df2d44843f614376eb16c0672a112ba30058200244252c5abc09ed7a3858c3bb97e25f95ff81417b002cae6904d986c3d8c5e25104279bf179171f133a8be510050bf763df0219efb5037a9445a50bd2d4029471d8e9c9594b9ebdec2773342afd4c17d1bf30a0c94fb60343f6a386528f06d4e3bdae1b3ecc4a20f0c7be726edbedfd3555a5b3eeb25bef0373cb4c0ecfa231235e163fb858070b6b4db409d5aa6a7617ea86a70c76862c0a00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6051ef3705659104e66ebeccde7221ed767a5600582003742c02df23a8c5a854e1a8fa3678fa7f3460e860a3df8c7f2a61bba101d5104f07fcde60b99b30e2821d8d75adf3b5021904010058200220b2a1a2219e9bd55e8a4228e54f616f93d2f1c2983f0a80d0dd132d9765845819e673be8b3b2339ff8400000000000000e673be8b3b2339ff84035d90663938f0fe929c5e2265827cdb81450caab874e789953dd021dcc874656200582002e105bbba5212cc9cd7c487c17f2c7a603ca7be185ea8ae00aa5bc1fe1c161c5820fffffffffffffffffffffffffffffff847d7cd54abdc2c3cee287f17486f9e04038fffc129383817597996103cd5c0f912f296c7eca40c5fe7398b40b54ffe7aba00582002b06dd19dba62b0703c18d86da3118519ad054b9b6279517aae527feac5dd584d01f3d7d7d2ac74fc9d9af6e488030e1ca6407f9be804b33f695cc1072a9fb1875a36d9927d106458beaabf03672803b96f88127a912b9547d4b25ffe69a17136ea246819e6e0e13c95c847bfc96931038718da57070817d6eb8d0752d0c55af2c0d820c6ec49d5b96c6f99c231fac3790058200213e5897fe792062c0c2e456813c68d706c574bd6263a1e5fed101c75e626cc50488db9a5362c236d071eb7b1583350f702196cf70359cf53ba9a731a243555facd836c736565d8e8ebb94943a42ccdebd8ae46f2b4031e784b340d0503d5c3a2485f670af0b166487a7d6736f79a7adb4209c7c2e57a03654d555595e86826c7797caf2e1b9fa6c977c8130267df0fac50b963b71383e40359da29b477444c8d9d1bf817586549ef2576a08c26338e47db33f8cfd299c7ac01410900582002aa1ba2efb657f3e9cc1937498b8d805416ba97918a177b45dd4ce7d9adf1e84f0ad8da5c2ea0c3d1a94d3a637f22ba00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358200100000000000000000000003464c548ce5311ce3bfffffe088243f465cf5ddb005820026c60d5e1544c1ff7b5c02bda11df5ba2fdf44dac4b16041df47b9b5afcf4964e453123a64f1a4615611f335feb09005820024ce3deb0cc89874ba4e040c091bb9455267793d0baf62b7a2c13ea0f70f9584e059f76b521d9e279ff8e5c9d22d3005820024f00c9b42716dc3811d791f08bef643190bca40f22adf513bf2d3f770bd9d149d2f3fee45e7d6fa7f200582002ae2b21fae2a47eb96ae85e05a29f69e57ac7a3bb20d15f8aaf2f09cd4643c44f015d53011b79f8b14922dd27b2ec920058200220bb282c3c0b794dcf8e8fc2d686f9e62890bf7755140074ac20080236f65549190c9862db56ef88e900582002b5b3e9402b9b0f5bebae5d2300382d5bf25d22d1c8e61a7a3f54fd9c1a96cd5819b5501086770153ede800000000000000b5501086770153ede803851dbca82400ee5e33704d2ecab63f21659e4af4cd28178e66994fe687dcf1ab00582002c902c5ab9f233cb9905e6dd79382490072ed2ddbbdc9976bb2bd57ad8349b8514dabb018bea714f956baf974f3ac1653910058200272da2f2cac6b5fb7282427aed65b8e37427a9737d24567b78d91eaaf067f145819248901c3dafe8f400d00000000000000248901c3dafe8f400d03a0112465fbffa9d91ed477fe56f5c9d734ae884a22c9ea551fd31bb4dd7c93ef02197f7b0219ffff05581d02ad0c86be73f4db53310cfdcc50958f91400e8eebab12532084fb7f99070119567e0219e80005581e03c24a1957b3fbe147938f5f7f5eb05d4e6d11c9efee992b8a4a5f8a9f80040205581e03dc941106efe640c584026f75de5192a0fcaf71201d0f909a54b676ca000c0646b5b45c0fad4005581e0355c1e539302bf026ce4892b7f1807569be6ff1941acca89dcbfae1f0b00401037874e1f01f8084c7324322c72e3204e3e41983bbc539514aec1cdb93c7d086e8032d8c5ce3c2bd7939946fce2ab0f89c0e1997fbcaab2ff41da0d7066c788beadc05581e03d474f03554b025cd09c91e9319a0fa7ae179c3e28340a2aa3860001f3007011bffffffffffffffff05581e0315b8816d734d92241a0609de13b2364623f36c722a5ff0bae719f3c9d0040203ff76a46668559ab9747729ba37dcceca096387242ec45225771b2dafa092ee1801410803b37787a9a7dc4cac686a0238234981788d9bcb2180cf6950b036f4e4969301b205581e03363c77f7b37681e4cbdcc18adcd49d12ecf02e9bf042558c855a58b9a00c024701cd9929d62c9805581e031870a107acfbac328185f18341e65ce3eb6f74381c150baffe8b586530040305581e03bb0b809d93963f9a90fe0dc9d1201a13b718ed7a573775b3af443ebb600c02443b9aca0002197db5034626d9667205194b69cae9fe2e93c45ec7ffdf9704595318ee9f6646500df50f03375d43f6ff4e222144c09744aff33131b345912d7f645fb1d18a9383665a21fa03e8b2f052ae7734cf2c7aeda80cb1a9a2421e985fb73773174011c6a6f2053d0703549ffbef1442ecece0c69f90e10b8262d702b52c585fd19c9f78a4e9f5fba6090396522d6a309709d8b60e810393a0ef8cb0d737a571158d6a59cb8b82d7bcb6ee030bf41c411246d96e0c4630a62c6a712ea2d9072dbada0ca0111e27a4ba53b06c03e8b0676ffadef50fb4b8515ab61444f74a797f987d9de9864150ac454a93be4903010711622b7c25db778a406c9f7f4d99fb9d6bd0434c005de061b3ce37a2bdaa0335027e13d796b810a1104060648ef459f1ec3c3faf3643ecc74268640e65bc23031bfe56299456e0929cbe7dc71335a22d979094e8fabe44f6ed25e98228af5ca20219ffff0219ffff0319371cbedacd6c3d11b154c0ac5621367e08470538b30341c8eee6804edd1167032574956114c7e26353e0139802ce7c3b43c7c8ca1cfa77e5f2662755a2611ca903adb44cbba4fbe2575eb3b4d33bfb5b6d8fac7be1f566790cca979da110c16dbc0360558eaa5e9cb7f5a9bb80bccdcfcae23507c7bbc72d69ffe4e55e0e5d2e8a77032ad981a423658e074f32deeb8e08e9d9874092b3ac7c147b97f7d33d96fb4f4f03d9a6b02bbb7f0754714ce2a802575631b1f45f8b4e48a4220f92dedb2aad0d00038a64cdfb289e3c348c27e3e9e2b4f1407b825bf8fd645ff66ce7326f5f5a5f7b03e6fe0520ed6009c2a02dbdb4648baa73ef058c57eaae6194620a732795df9d0e03d84c6a3a6423f587b290e5b6128e02d45de50fba9798d984ebd89550eadb34920397184b301d8b5fa8250dca6ae1448fe5b57a25af056635d4b40f07c6ef307b8b03c0756b29e8fbeb9e4a9c707740e9972d1981451434c8240631f012010f165ea003df078f0b8e57860ce59995b8f0ea460c70b3037357de63a154f7197038a5e68203c16e48794e68a9cff1ddb9eee86a8675ba78611bf6b59674cb9dc6c02407630e0350811b220a683fd9c0d0cff421136f2eddb84993f132ce8b163a4874ec8a531503af786f93f846139ba56420edc8cb1f6dcc15536ceb23fa2bfcad114c3f2701620219ffff038c935635169664731b3f8e0a0d5b426737c41d8fe1e305522de70789a918b1f80219ffff03aab814696b377c6b8731a213160fb69d4bb7b70498a4041656fb41800170ad1a031063ca3ae6b478819c51838e9916791a3cabde71d99921f1b6d6b923f1a50034035ed1e151a0a2ce48112afbb67b4d9d979e4e1a29349edc71899d4dee6d4ebb68038013198afdfc9f72406da3c9c788c131a518495b0024b974fc525b2e0558d795039b153181ef6d8ab9ce7c202e97f2428f6cb6ccca005f3af10357bd729f083556034a3acac18b69251b0658db6cb7799e9f7226968584470c257dc9d45895b9784103586b31132bb9d371b52263a7f8ec21a82f0a6747ff7beea5c9cc1a7451e92b270318b528360f198a1a4366e9d481c1b41336ccd4805b85184c3b31673afbf5f81603e2054394ac6d4fda06c18154ed48ae36b3aff3d82bb45084062c749687555af3032d13f22e33b02be3742acbe6a6aeb771e3a16337e4292e50f1fb99eb9df73672033215247769e96a7bd85db78e6a51edf2c52ba3fbb1aaf58255f2b47a386fb7ea03f8cf486fb2db515d1530443f84c0d927d2e273771644655dd8d51357ca87b1ed0390189be89c94291c40021656b21bffae95c696a6597eaad07646ea78fbb6c8db05581e03d469454a21ca6c76ffe58c4621ede8d3467835831e58ecfc9fceb8da60040105581e038e3a1c68ddbf98634baf5959cd67797d0d9c90b15cbd62738faed97b300c185048011c6b3b015d4dc205581e0370350c57a4aafbb33108095ccd1772733bb2404eaef280bb5ebd7c77c00c01471d70f1d22e86f805581d029241d7d19422ee01f476db1a37af00800cfca90a79e3ce1520039a900c0147052fde9a35900005581d02edd672d38a905ef72a0d91f50c305a03ec1358b7f3a9586322c993110c0247069aab17392ad805581d02947c62b078bf9a75b77ae14d04705024d211182f53b6f476ce341d2e04010219806005581e039246c491adacd5f419ac881b07171f98771fb92cd632db89a9af142ac0040105581e036e829366a6bbc19c09235324666371715074dc6f4e76e8692bbf454e7004010390ef25a93580cf7f4436b33bfe907579fdf54b50158894b436cad04edaf779700219b60303e6191eaaaa3a8dfcb42f68a31dcd9fb8c0d27e444443027a7cb134b0f03a3d1d0365d5462a8d59922a34b2cec4b0a9ffa742992f8eee71756c8d9d2bb0d618757403e6aaabcc5585f45ee94a0085dff44ff5956d0fa6cf5a41c9b36c93dc731c77800312cb2fa8fcc110307290c32d4399140e5c9b4978007a428e722dcdbe3c3d74100347a8ea62b5cd6efdeccfe97f0e464dd7e1cd63f6139330ae92d6ab371bd1600e038185d7d51faa905ec692443e05b333f4e4b0cb7a48063f6defc6c6baf50d0d9103c7f5ca80faaec9b238a1a8eb045bcbf0e45cc7e292fb801184e96778d24b4bac03724349591ecef99e72a749440cb57ac86e434e934430f83e511cd645a1288f2d0320210d95d7cae4921fe57fcd215eec8043eb961f31dc4b8279accaad9452852003455ab6a5bf2cbab9987935b792ae88d64e75b660b294eaed9bcb9f0d07e3d85f0370d374e4e3f0c8e5428006178eb0a6636c6cb0c734b206cb35c5e772d420d434039834a759938273a61bd6fc0805729ad7c40a21d52ccda91b0e3751c0653f813503efede111fa103c55e16386ebc694635197d80f31500cc4fac2e3796e1634b6ba03562e1d510e149f9579c6733a2f95245f42bca36514b7c63161656e60d060bfe0037658994c37dff9873d3be5a857acc42103d65c26c079effcdf644d1e3cffeae30219ffff039dba5e096636feb1632e6b2fc8aceddb14dca3115224858124248f001440b7c6034d0c86be3c6bdee008390929c494264ca297f7ff7a881a961db8571b66ca01f7034184f1f79ccbd1c6324ec3f8470bffc873ded337b7ead88f6ab625a39f4d146103fc3478c7c58cd45b418c8c8c6a8bddb52c9076cf27d5d368db7117758b5a9bd8039d536334d4a03f8f2c07e0a35774833ca9c6cb7c407581194aa47769fd6fb72503e956f2cf8158ae62bc5669cc5ac7c4b4084bdfae453ef055286a84bc60dcd43503a5c2645fb1e716dd5c3142266cb76ff64f61f5b23ed73c904bb9a05b01b60f5c03bcba23ff1a7057f4a43a2d8bc11377c3ce4ce514663770afe4b2451c5722beae0322f17033c6d25c51789d4c2148bd3bfa87d228d273a7689c21d37b9d2dce282f03741184cfcae9f28713358ea18ad953dd339f46ac9c1d77030e2b4df9bc70acf20219ffff03ce3eb27471529da8428b452c95a70ee912a3435679ff048d6e5465006c56acae031407cbf74c3509d8c49f2105abf3164106880ee62a6c6550ee981f9d90711475033c97d19af5599677fe651bd0f9c90beb3656ec50d071fa2fdc0657679851358703adf673d19396220a80e014768f5ad89ad03d5d6129576d5fff0339f431fbceee038e58457efe868437d7f4a0f89ac478e7f470a5f97762073cf40feded20326831032927a9eefdf7665f82d0f6dec32e6563fa3e287d0168ad89d915b0fea16487e903fd70ba84fd7e4ba04412a8fb24f7dbc9d0f27a630920acfd464a9f70ad09878f033bbcd21564d0397471f8ac03c039f0fd85c08ecc971e06a3ac5789dc71449ae3039de33c534cb7478eacd85472ae539370f09e7a57aefc190697296670f0e5134703966a36eab9926c187aaa6af27a7531e4cf2c931ba9c789f15a7cfc463857ba63035dac147bc11ee382c55567cece2fee3746c96e806f41f90ab329611568cb0460032338a645695cb1d3ae5e418aed53e50109f5afb2429625de631ed2b59e527a2b034ee59b02110ef6918ada370e2a3ca2cc9ec3461693507a5e0bd3883fc8d61bec038e0bd241fd3dcb2ffa453e63e9d8c42d3cb61ee91c74d79cef25ea334f61121d0395b9839ccce22cf816bc38af706459b32bed3ed488c36e922fcdbb3f7b12f1b80219ffff03546660ee51df518d72926e642f80adab211324a726defa6ecd6a7ed200de57720326f6755f85527e3cf28189fdcf4bcf2da7424edfce2f79fb873ec924baa2d1560346276e5e2e085bc23ad5020c965ada873eee9c8db8328ddddbd6d022e17d21ce030bc78144fad4bcf85d0c998eb908b961ae1f80ab04b1dc8d770b3d3fb61d454c034085736ce7c42d858794aa2a1cbf365201c5e738b74d4880ceabb482a0eaa8630392a8b5072d1b74c4117468ebf41c370317418d6cc47c4d7136f756354fef659d033b1129a17f7aea7d0e72bee2e740554df40757134b0cd099caefb454161d865d0219ffff037b589df5f46693143fb6f0459308ae8c40fe26fc548d4ef942dd5b0c43c4f9ba03a4f5d928f4cf8e61743c75a4fd76ac5211bfbb5c1e11d459e719df90675bc69a03959ad472963a4afa4bcbde5dc777bc55bf7cdf55e9ea171a231151c3f727936003d1dfdaed301ba0e6dde97924c4c3bc99a87c43aff7b02f1e235d5f999bf19b48034c6ef4fe8f791f317f1c4b184606632b46c69a252e4a29bf47bf2d4ad5120cae0339511feb15ed22e523483331be8ebddd2cb95c72d7f90dc185286bbb4274b742035e136f21101afe732a333afd77db90e4269df529997bda55c7a62e3af5fda53803f5ed581de7b9512889f10b89a7c935e7d29dcd04cf2204023b013fd62f28c4b1030fa5d32eb44c82074da93cbdf311f4ed158da8676e6b1af4855fe2daf3473b72037849cee41de5966d6286f7cf4421943554e6ea193d531cc1079f291e2691b7de03e9eec972b05c00f0ceb1b04f38d0cf22ed3340483f2e104faa8b71c751e1fd0f03fc2df3d3bfddd5eb63df98a9b8a2330d18235ef76f31eae2df6c06482b8b22bb03db7367fb182071351694b02d012534ccbb97235190b54fdd386d6dba590689fb031c99cd986be818f21f896b0dfc55055ed4d8c19615e596dc9e6aba24a4104141038cbdfb26d526b1a918387caf65077b287acdb8fa9e11d3b23e7076955fa8f4eb038691bef0664130704a2b8ef447f5066a599fe7d901fd4b1dd789ece30af275450332c27c049f757e88d8ccde0ebb59de0e9b7c981b7207c09d70eafb7fe635ab9d03d51d1e5f429c679d99c7896d949801b6c403d8f9e833b4e902373d1ddf01dd2b03f16aa4da3e3a5798dc6753d7df1be77dd01d3f8b6f3b9cded23122841f3a512c033c6b2819b69f420e535b1fd6e80064ddaed351437c180363d49a7247de0c7b2203dfa53cb6e512a2a7bf561bd0eb59466cf33393527ff2ed8864f3a42c2b5fbd560353b2c3274b16b695a882c2503b8069241fdab4c2293f2dd22923dbb3c9daab7303c9dc0dbb29f123d11aec12c476ac03206f793adf8337005f44eae55720e2a7a303e191ca3e31f2ce3cf7862778d73826c6b5c5d9ad0ec89ac3df0cd9557edbe52803861b298541a739eb76fd0b4e936baa357420215de9ec1b0082e40bd7f7827c8c03b270957e7fcd9f9af8c5b9f4b3593b5b58120feb77e1e2105403894f8417264c03356b395b2a079e7312195110daa146fff911383a81d153d525e6310aa803469003e21387bcc2bcd92a0028af92f5d0b0c2e41b787fc48cc9ae15078d77be6be41003880490b69ba5334ae3c805744ca26d1caa8afdacffd9e507c9b8af851bde6c7c0392d0ee4ca3f3fbc055585c3177af0a9a7ffdd7d6529bb31a607335ebf800a0ea0314475da9e8266431a484a2b2b04eab73f5f0a3c850ed66609e7804beb448e87703261ec7d2a89489498af125d8e4b9c501a904a87b0cf9874fc4b32e0e49f268140366f6f418d036d783c916c1e7bcadf5aee5c6272853b1b4cf3e6deb7c64536ebd03f5e1e5f761e890e3ed20ed1f006b2c450e35d7fd4b6a1dee3303427c438c680c03413a91d547dde66e5240ffa0ba83edfccae2e8a37cd6636b82a1987814b74a320356b3a2b36d511d9f11dfec61b746643788148030a503515627f4cc42c16c6b1103e74d5c5781d5fb5ae65d1d8b1e0cc125cc8c2ea625526b0a57cb621bcb923426032c3cc406cc9a65e2fdea120c55bc9e7234a70d0601467a373a625796dce6d4510301c3d9af69ddf6a246cb67edb57f5215a878a6c7c0cb9e2900901a14fab22b4903143244658cbd15b01c1ff8a4d7ceb85c6108b7a7496eb90ef7eda7612407611b037dad14556289dd648e3f98d8cff26d08f8da64f21b35761f1d9af4a1237f69a60371a2229e2b413c0d1ed8d74eb3cfddf0afc4f350594b7daf8321d24448fe2ee903263817a7288ccd67bc58e30fd8421a229b831f0d18fc5c12d7a0bc8daf0839e2038c502fea7204c84b59d892f26cdd4852a3a6ba22da9b2b38459d476b827b4ae5037c207cd854d7c6829ce153a321888bcbf12b7b1d17f7d87cd8cdecaf39c131ce03de3b0e458aaf1bed9adb8391b922f3e60ceb040a564ff5b48a31f624dd3dd7a003b34599068e7bba94132d8a5d0309a74a63fe7b91e481512c89b4d4ae588f870e038134689b4cdd488b161ef9a5068790a3e98c697ce2702c99491b32147f2ba78503364c8f3e4049c96784dc5e9cc6c65ad8aebfb727868631813c1b3d103724e87005581e030955a1b59981de4668e62b94f50396e415275ca57044bb2ab34471225008467e6b759fb0000327d524b72c0f23017e966a79f91e2879c60645a1d0320bfad63a662e215271280363e44f48f706c1de93d1f922f5dcb70bfe5fb986fcf5c4d5600d4fa1815c3c6605581e03565a4dccc3f0d30c69ec0cc987f85b07f5bfd4d0c300922957416bd6800401038a93e414a90a9747cff4087a463b650cebe36eb1552c180dc80b4e1fee48864b04595f2f60806040526004361015610023575b361561001957600080fd5b610021614f96565b005b60003560e01c80156100eb57806306fdde031461016957806346423aa7146101605780635b34b9661461015757806379df72bd1461014e57806387201b4114610145578063881477321461013c578063a817440414610133578063a900866b1461012a578063b3a34c4c14610121578063e7acab2414610118578063ed98a5741461010f578063f07ec37314610106578063f2d12b12146100fd578063f47b7740146100f4578063fb0f3ee1146100eb5763fd9f1e100361000e576100e6610f50565b61000e565b506100e66101c8565b506100e6610ec8565b506100e6610df2565b506100e6610d8a565b506100e6610cc2565b506100e6610c05565b506100e6610b81565b506100e6610b17565b506100e6610a60565b506100e66108d6565b506100e66107c6565b506100e661059d565b506100e66104f5565b506100e6610474565b506100e661042e565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc906020828201126101c3576004359167ffffffffffffffff83116101c35782610240920301126101c35760040190565b600080fd5b506101d236610172565b6101243590600382169160021c91600183119234158403610420575b60038111907f0203020301010000000000000000000000000000000000000000000000000000811a9061024c8260a0850260240135887d010102030000000000000000000000000000000000000000000000000000851a888a61121a565b928060051b6101c4013596610260816106a8565b6102b3575050604435602435176102a55761028b9461027e916115b5565b61028661166d565b6159cc565b6102956001600055565b60405160018152602090f35b0390f35b636ab37ce76000526004601cfd5b610286925061028b969161032a916102c96111a8565b9384836102d682956106a8565b6002810361032f5750610325918a6102f060a082016111bf565b6102fc606083016111bf565b60c060e08401359301359173ffffffffffffffffffffffffffffffffffffffff33921690611efe565b611738565b612105565b610338816106a8565b600381036103875750610325918a61035260a082016111bf565b61035e606083016111bf565b60c060e08401359301359173ffffffffffffffffffffffffffffffffffffffff33921690611fff565b806103936004926106a8565b036103dc57610325918a6103a6816111bf565b6103b2606083016111bf565b9073ffffffffffffffffffffffffffffffffffffffff602060408501359401359216903390611efe565b610325918a6103ea816111bf565b6103f6606083016111bf565b9073ffffffffffffffffffffffffffffffffffffffff602060408501359401359216903390611fff565b61042934611d42565b6101ee565b50346101c35760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c357602080526707536561706f727460475260606020f35b50346101c35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c357600435600052600260205260806040600020546040519060ff81161515825260ff8160081c16151560208301526effffffffffffffffffffffffffffff8160101c16604083015260881c6060820152f35b50346101c35760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c35761052d614f7c565b3360005260016020526020604060002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43014060801c018091556040518181527f721c20121297512b72821b97f5326877ea8ecf4bb9948fea5bfcb6453074d37f833392a2604051908152f35b50346101c3577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6020813601126101c3576004359067ffffffffffffffff82116101c3576101609082360301126101c35761061263ffffffff6020921661014461060982600401611cd6565b91013590612423565b604051908152f35b9181601f840112156101c35782359167ffffffffffffffff83116101c3576020808501948460051b0101116101c357565b73ffffffffffffffffffffffffffffffffffffffff8116036101c357565b60a435906106768261064b565b565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600611156106b257565b610676610678565b60809080516106c8816106a8565b83528173ffffffffffffffffffffffffffffffffffffffff918260208201511660208601526040810151604086015260608101516060860152015116910152565b90815180825260208080930193019160005b828110610729575050505090565b909192938260e0600192604088516107428382516106ba565b8085015173ffffffffffffffffffffffffffffffffffffffff1660a0840152015160c08201520195019392910161071b565b9092916040820191604081528451809352606081019260208096019060005b8181106107b0575050506107ad9394818403910152610709565b90565b8251151586529487019491870191600101610793565b5060e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c35767ffffffffffffffff6004358181116101c35761081290369060040161061a565b50506024358181116101c35761082c90369060040161061a565b50506044358181116101c35761084690369060040161061a565b50506064359081116101c35761086090369060040161061a565b505061087961086d610669565b60c43590608435611813565b906102a160405192839283610774565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126101c3576004359067ffffffffffffffff82116101c3576108d29160040161061a565b9091565b50346101c3576108e536610889565b505060046108fb63ffffffff8235168201611aba565b90610904614f7c565b81519060005b82811061091d5760405160018152602090f35b8061092a60019286612988565b51805184608082015161093c81612934565b61094581612934565b14610a4857805173ffffffffffffffffffffffffffffffffffffffff1661096b82614762565b90610980826000526002602052604060002090565b61098a81846158f0565b5061099d610999825460ff1690565b1590565b6109ae575b50505050505b0161090a565b6109f4610a1f928460207ff280791efe782edcf06ce15c8f4dff17601db3b88eb3805a0db7d77faf757f04986060890151516101408a015103610a3b575b015191615199565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b610a2e60405192839283614e56565b0390a138808080806109a2565b610a43614c68565b6109ec565b50506109a8565b9060206107ad928181520190610709565b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c35760043567ffffffffffffffff8082116101c357610aab368360040161061a565b50506024359081116101c3576102a191610b0391610acc368260040161061a565b5050610afb610ae463ffffffff809416600401615ec5565b92610aed6110db565b926000845216600401611c52565b903392613b96565b604051918291602083526020830190610709565b50346101c35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c35773ffffffffffffffffffffffffffffffffffffffff600435610b688161064b565b1660005260036020526020604060002054604051908152f35b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6040813601126101c3576004359067ffffffffffffffff82116101c35760409082360301126101c357610bfb610be363ffffffff602093166004016119cd565b610beb6110db565b9060008252339160243591613f10565b6040519015158152f35b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6080813601126101c3576004359067ffffffffffffffff908183116101c35760a09083360301126101c3576024359081116101c3576102a191610cb091610c71368260040161061a565b5050610ca060643592610c838461064b565b610c9663ffffffff80921660040161186c565b9216600401611a2d565b9133811502019160443591613f10565b60405190151581529081906020820190565b5060a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c357600467ffffffffffffffff81358181116101c357610d0d3682850161061a565b5050602435908282116101c357610d263683860161061a565b50506044359283116101c357610d7b61087994610d453686830161061a565b5050610d5963ffffffff8094168201615ec5565b92610d7381610d666110db565b9660008852168301611b44565b951601611b44565b608435933393606435936126d4565b50346101c35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c3576020610612600435610dcb8161064b565b73ffffffffffffffffffffffffffffffffffffffff16600052600160205260406000205490565b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c35767ffffffffffffffff600480358281116101c357610e3d3682840161061a565b5050602435908382116101c357610e563683850161061a565b50506044359384116101c3576102a193610eb0610ebc94610e793684830161061a565b5050610e9f610ea860643595610e8e8761064b565b63ffffffff92838092168501611bf5565b97168301611a2d565b931601611c52565b91338115020192613b96565b60405191829182610a4f565b50346101c35760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c357610f006125a7565b606060005260205273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000f9490004c11cef243f5400493c00ad63166040526303312e3560635260a06000f35b50346101c357610f5f36610889565b90610f68614f7c565b600091825b818110610f925783610f855760405160018152602090f35b610f8d614d23565b610295565b80610fa06001928486614cc8565b94610faa866111bf565b907f6bacc01dbe442496068f7d234edd811f1a5f833243e0aec824f86ab861f3c90d611075611006610fde60208b016111bf565b93610feb60808c01614d16565b60048633148833141715911417179961014061060982611cd6565b9261104a61101e856000526002602052604060002090565b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016610100179055565b60405193845273ffffffffffffffffffffffffffffffffffffffff9081169416929081906020820190565b0390a301610f6d565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519060a0820182811067ffffffffffffffff8211176110ce57604052565b6110d661107e565b604052565b604051906020820182811067ffffffffffffffff8211176110ce57604052565b604051906040820182811067ffffffffffffffff8211176110ce57604052565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff8211176110ce57604052565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209267ffffffffffffffff811161119b575b01160190565b6111a361107e565b611195565b6111b06110fb565b90602082526020828136910137565b356107ad8161064b565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101c3570180359067ffffffffffffffff82116101c3576020019181360383136101c357565b959392919094611228614f4e565b61123061155f565b6101643561014435428211154282111761154b57505061020435610264351061153d5793907f42d81c6929ffdc4eb27a0808e40e82516ad42296c166065de7f812492304ff6e6080528060a0526060602460c037604060646101203760e06080908120610160526001610264359081016102a060059290921b918201526102c081019283526024906102e00137610160948360a0528460c052600060e05260009260005b83610204358210156113315790604060019261010060a060208560061b9a818c610284018537858c61028401610120376102a48c0135179d019860e06080208a5201988a8a528b60c08401526102840191013701969392966112d4565b5096509192979690976001610204350160051b610160206060525b836102643588101561138957906102a460a060019301958787528860c082015260408a60061b91610100836102840191013701351796019561134c565b50925095945095925073ffffffffffffffffffffffffffffffffffffffff91501161152f576107ad91611528917fa66999307ad1bb4fde44d13a5d710bd7718e0c87c1eef68a571629fbf5b93d026080528060a052606060c460c03760206101046101203760c0608020600052602060002060e05260016102643560051b610200015261022090816102643560051b0152606060c46102406102643560051b013761036060843561145a8173ffffffffffffffffffffffffffffffffffffffff166000526001602052604060002090565b54967ffa445660b7e21515a59617fcd68910b487aa5808b8abda3d78bc85df364b2c2f6080526040608460a037606051610100526101205260a0610144610140376101e09687526101809687608020976102643560051b0191888352336101a06102643560051b015260806101c06102643560051b0152610120826102643560051b01527f9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f3160a06102643502938460a435940190a360006060526102643560051b01016040528101906111c9565b908361430d565b6339f3e3fd6000526004601cfd5b63466aa6166000526004601cfd5b6321ccfeb76000526020526040526044601cfd5b7401000000000000000000000000000000000000000060243560c4351760a43560843517171060186101243510166102643560061b61026001610244351461024061022435146020600435141616161561152f57565b608435916101043560e43560c4358315611627579461067695604051957f4ce34aa200000000000000000000000000000000000000000000000000000000875260206004880152600160248801526044870152606486015260848501523360a485015260c484015260e483015261223e565b925092806116366002926106a8565b0361166057928360016106769503611651575b503391614fab565b61165a90611d31565b38611649565b919061067693339161508a565b3460643560006102643560061b815b8181106116bd575050508181116116b0575b61169a81608435611d62565b8082116116a5575050565b610676910333611d62565b6116b8611d22565b61168e565b806102840135948086116116e657906116e08660409303966102a4830135611d62565b0161167c565b638ffff98084526004601cfd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b9190820391821161173057565b6106766116f3565b919082156117d95760843592610104353360c43560e4355b6117cc575b8360051b6101e40335936102643560061b9060005b82811061177f57505050956106769596611dae565b87876102848301358c856117ab575b918493916117a5936102a46040970135908a611dae565b0161176a565b9891816117bf60409695936117a595611723565b9a9193509193945061178e565b6117d4611d53565b611755565b3392606435608435602435604435611750565b60209067ffffffffffffffff8111611806575b60051b0190565b61180e61107e565b6117ff565b906108d2929163ffffffff9161182f8360043516600401611bf5565b926118408160243516600401611a2d565b6118606118538360443516600401611b44565b9260643516600401611b44565b923381150201946126d4565b90604051610200810160405260806118c68294604060208201602086013760a084018085526118a563ffffffff918284351684016118f5565b6118b68160608401351683016118cb565b60608601528382013516016118cb565b910152565b9060206040519263ffffffff813563ffffffe0601f82011692848401908737168452830101604052565b6118c660609161016081853763ffffffff611917816040840135168301611927565b604086015283820135160161197a565b90641fffffffe082359263ffffffff841660405194818652602093849160051b168601019283928160a0809402910185378086015b83811061196c5750505050604052565b84815293820193810161195c565b90641fffffffe082359263ffffffff841660405194818652602093849160051b168601019283928160c0809402910185378086015b8381106119bf5750505050604052565b8481529382019381016119af565b906040516102008101604052611a13819360a083018084526119f963ffffffff918284351684016118f5565b6001602085015260016040850152602082013516016118cb565b606082015260806040519160208301604052600083520152565b803591600592641fffffffe081851b16604080519060209384848401018252829663ffffffff809216845260005b858110611a6e5750505050505050909150565b8083888093850101351683018551908360a091828401895287608093848484018737820135160101908d60018884351601901b8851928184018a52833782015282828801015201611a5b565b908135641fffffffe08160051b166040805160209384848301018352819663ffffffff809216835260005b858110611af55750505050505050565b808388809385010135168301611b34838851928984016101a085018b52611b2581848b81860135168501016118f5565b8452878a8201351601016118cb565b8382015282828701015201611ae5565b90813591641fffffffe08360051b166040516020928383830101604052819563ffffffff809116835260005b848110611b7f57505050505050565b80611b9587848180958801013516860101611ba1565b82828701015201611b70565b90813591604080519363ffffffff81168552602080641fffffffe08360051b168701019381643fffffffc0869460061b16910185378086015b828110611be75750505052565b848152938301938101611bda565b90813591641fffffffe08360051b166040516020928383830101604052819563ffffffff809116835260005b848110611c3057505050505050565b80611c468784818095880101351686010161186c565b82828701015201611c21565b908135641fffffffe08160051b166040805160209384848301018352819663ffffffff809216835260005b858110611c8d5750505050505050565b808388809385010135168301611cc6838851928984018a52611cb782898184013516830101611ba1565b8452878a820135160101611ba1565b8382015282828701015201611c7d565b9060405161016081016040528092611d16610140918281853763ffffffff611d05816040840135168301611927565b60408601526060820135160161197a565b80606084015251910152565b50638ffff9806000526004601cfd5b6369f958276000526020526024601cfd5b63a61be9f06000526020526024601cfd5b50636ab37ce76000526004601cfd5b611d6b82611d99565b600080808085855af115611d7d575050565b611d85612681565b63bc806b966000526020526040526044601cfd5b15611da057565b6391b3e5146000526004601cfd5b929193949094611dbd83611d99565b611dc781836120f2565b80611ef0575050604051926000947f23b872dd00000000000000000000000000000000000000000000000000000000865280600452816024528260445260208660648180885af1803d15601f3d1160018a51141617163d1515811615611e36575b505050505050604052606052565b80863b151516611e2857908795969115611e5b5786635f15d67287526020526024601cfd5b959192939515611e80575063988919238594526020526040526060526080526084601cfd5b3d611ea3575b5063f486bc87845260205260405260605260805260a05260a4601cfd5b601f3d0160051c9060051c908060030291808211611ed7575b505060205a910110611ece5785611e86565b833d81803e3d90fd5b8080600392028380020360091c92030201018680611ebc565b906106769592949391612359565b919395909294611f0e81836120f2565b80611f375750508460016106769603611f28575b50614fab565b611f3190611d31565b38611f22565b815160649693959394929190602003611fec5760c0906001906040845260208401527f4ce34aa20000000000000000000000000000000000000000000000000000000060408401526020604484015280888401525b02019360027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc48601527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe48501526004840152602483015260448201520152565b5060c08682016001815101809152611f8c565b95909192939461200e86611d99565b61201881836120f2565b806120285750506106769461508a565b90606495969493929160208251146000146120df5760c0906001906040845260208401527f4ce34aa20000000000000000000000000000000000000000000000000000000060408401526020604484015280888401525b02019360037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc48601527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe48501526004840152602483015260448201520152565b5060c0868201600181510180915261207f565b906020820151036121005750565b610676905b90604082510361223a5760208201519160c06064820151026044019260405193602073ffffffffffffffffffffffffffffffffffffffff6000928184927f00000000000000000000000000000000f9490004c11cef243f5400493c00ad631674ff00000000000000000000000000000000000000001783528584527f023d904f2503c37127200ca07b976c3a53cc562623f67023115bf311f58050596040526055600b2016976040528180526040860182895af190805191156122215750937f4ce34aa2000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000060209596160361221557505052565b61221e91612345565b52565b63d13d53d48691612230612681565b526020526024601cfd5b9050565b9060405190602073ffffffffffffffffffffffffffffffffffffffff6101046000938285937f00000000000000000000000000000000f9490004c11cef243f5400493c00ad631674ff00000000000000000000000000000000000000001784528785527f023d904f2503c37127200ca07b976c3a53cc562623f67023115bf311f58050596040526055600b20169560405282805282865af1908051911561233657507fffffffff000000000000000000000000000000000000000000000000000000007f4ce34aa20000000000000000000000000000000000000000000000000000000091160361232d575050565b61067691612345565b63d13d53d49150612230612681565b631cf99b266000526020526040526044601cfd5b9060649492939160208251146000146124105760c0906001906040845260208401527f4ce34aa20000000000000000000000000000000000000000000000000000000060408401526020604484015280878401525b02019260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc48501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe484015260048301526024820152600060448201520152565b5060c085820160018151018091526123ae565b91909161014081018051917fa66999307ad1bb4fde44d13a5d710bd7718e0c87c1eef68a571629fbf5b93d02604051604083018051928351926020809501906000915b868684106125665750505050506040519160051b8220917f42d81c6929ffdc4eb27a0808e40e82516ad42296c166065de7f812492304ff6e9093606086019481865101906000915b8a83106125245750505050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08660051b604051209401978851907ffa445660b7e21515a59617fcd68910b487aa5808b8abda3d78bc85df364b2c2f8a5282519383528451958552865261018089209852525252565b8380827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0600194510180519089815260e08120875252019201920191906124ae565b80827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0600194510180519088815260c0812087525201920192019190612466565b6000467f0000000000000000000000000000000000000000000000000000000000000001036125f557507f0d725b53ccd7c23735755082eee9d43d3add450d3564ad51af0d29aa16eeab3c90565b60405190608051907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f32b5c112df393a49218d7552f96b2eeb829dfb4272f4f24eef510a586b85feef6020527f65f792c4319563f3a8f1ce154ef783f165de90334a87a1918514e159542a735a604052466060523060805260a081209260405260605260805290565b3d61268857565b601f3d0160051c60405160051c9080600302918082116126bb575b505060205a9101106126b157565b3d6000803e3d6000fd5b8080600392028380020360091c920302010138806126a3565b93959480939297956126e692866129aa565b93909187519681516127006126fb828b612e96565b613328565b9860009a8b905b8282106127cb5750506000925b8284106127575750505050509461273b949587829861274c575b5081511561273f576136dc565b9190565b61274761338b565b6136dc565b82510382523861272e565b909192939a8a6127738361276c8f8990612988565b5189613408565b61278c8180516080602082511515930151910151141690565b156127a65750506001809101945b019291909a939a612714565b86916127c5916127be85886001979b01038093612988565b528d612988565b5061279a565b90949b6127e7896127e0888598969798612988565b518961339a565b8c6128018280516080602082511515930151910151141690565b1561281d5750506001809101955b01909b949b93929193612707565b879161283a91846001959a03916128348383612988565b52612988565b5061280f565b6128486110ae565b90604051610160810181811067ffffffffffffffff8211176128c7575b604052600080825280602083015260609182604082015282808201528160808201528160a08201528160c08201528160e08201528161010082015281610120820152816101408201528452806020850152604084015280808401526080830152565b6128cf61107e565b612865565b6128dc6110fb565b600181529060203681840137565b906128fc6128f7836117ec565b61111b565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061292a82946117ec565b0190602036910137565b600511156106b257565b507f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60209080511561297c570190565b61298461293e565b0190565b602091815181101561299d575b60051b010190565b6129a561293e565b612995565b9391936000936129b8614f5d565b6000357c400000000000000000000000000000000000000000000000000000000016926129e3612840565b508251936129f0856128ea565b9760205b6001870160051b8110612ac6575050907c4000000000000000000000000000000000000000000000000000000001612a329214612ab9575b83612fb7565b60205b6001840160051b8110612a485750505050565b6020816001928901518015612ab357612aab90828701515186612a7f825173ffffffffffffffffffffffffffffffffffffffff1690565b8287015173ffffffffffffffffffffffffffffffffffffffff165b906060604085015194015194614232565b019050612a35565b50612aab565b612ac1612f94565b612a2c565b808601518215612c5557612ad981614668565b918d82969215612c42578501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019382519260a08401519360c08101519060408101519e8f519160800151612b2e81612934565b60048110600052600110179e60005b828110612bd757505050606080925101519485519560005b878110612b6e5750505050505050506020905b016129f4565b80878760a0612b7f60019587612988565b51612bb789898c6080850196612b9788518a83612f61565b9186019889519089518214600014612bc7575050508088525b8751612eef565b8094520190815190525201612b55565b612bd092612f61565b8852612bb0565b8087612be560019385612988565b519c8d600051905110179c612c28878c60808401938c6060612c0987518984612f61565b92019687519087518214600014612c32575050508086525b8551612ea3565b8092525201612b3d565b612c3b92612f61565b8652612c21565b5050935050906000602080930152612b68565b906000602080930152612b68565b939193600093612c71614f5d565b6000357c40000000000000000000000000000000000000000000000000000000001692612c9c612840565b50825193612ca9856128ea565b9760205b6001870160051b8110612d45575050907c4000000000000000000000000000000000000000000000000000000001612cea9214612ab95783612fb7565b60205b6001840160051b8110612d005750505050565b6020816001928901518015612d3f57612d3790828701515186612a7f825173ffffffffffffffffffffffffffffffffffffffff1690565b019050612ced565b50612d37565b808601518215612e7557612d5881614414565b918d82969215612e62578501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019382519260a08401519360c08101519060408101519e8f519160800151612dad81612934565b60048110600052600110179e60005b828110612e2657505050606080925101519485519560005b878110612ded5750505050505050506020905b01612cad565b80878760a0612dfe60019587612988565b51612e1689898c6080850196612b9788518a83612f61565b8094520190815190525201612dd4565b8087612e3460019385612988565b519c8d600051905110179c612e58878c60808401938c6060612c0987518984612f61565b8092525201612dbc565b5050935050906000602080930152612de7565b906000602080930152612de7565b8181029291811591840414171561173057565b9190820180921161173057565b929092838103612eb35750505090565b612ec983612ecf93039342039182850390612e83565b93612e83565b8201809211612ee2575b81049015150290565b612eea6116f3565b612ed9565b919092838303612eff5750505090565b600192612f1883612f1e93039342039182850390612e83565b94612e83565b8301809311612f54575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830104019015150290565b612f5c6116f3565b612f28565b919091828114612f8e5782818309612f8057612f7c91612e83565b0490565b63c63cf0896000526004601cfd5b50905090565b506312d3f5a36000526004601cfd5b600211156106b257565b516107ad816106a8565b815181519260005b8281106130c05750505060005b828110612fd857505050565b612fe28183612988565b5161301661300260208301516effffffffffffffffffffffffffffff1690565b6effffffffffffffffffffffffffffff1690565b156130b75751606081018051519060005b828110613089575050506040018051519060005b82811061304f575050506001905b01612fcc565b8061306f6130696130636001948651612988565b51612fad565b60031090565b61307a575b0161303b565b61308481866131ba565b613074565b8061309d6130696130636001948651612988565b6130a8575b01613027565b6130b281876131a6565b6130a2565b50600190613049565b6130ca8183612988565b516130df81518781101561317a575b86612988565b51602090613101613002838301516effffffffffffffffffffffffffffff1690565b1561316f57519060409081830151918401519263bfb3f8ce9185015161312681612fa3565b61312f81612fa3565b61315c575b50815183101561315357509161314d91600194936131d7565b01612fbf565b6000526004601cfd5b9050606091500151636088d7de38613134565b50505060019061314d565b613190602084015161318b81612fa3565b613195565b6130d9565b63133c37c66000526020526024601cfd5b63a8930e9a6000526020526040526044601cfd5b63d69293326000526020526040526044601cfd5b61221e826106a8565b906131e191612988565b518051916131ee836106a8565b600383111561324d5761322e8260046040606095019586518015156000146132345761322490878701519060808801519161326a565b14600303906131ce565b01519052565b50608085015151156132245761324861325b565b613224565b6394eb6af66000526004601cfd5b506309bde3396000526004601cfd5b916000928352602090818420918082019181815191600592831b0101905b8184106132a857505050500361329b5750565b6309bde33990526004601cfd5b8351808611821b95865294831894909452604086209392820192613288565b604051906060820182811067ffffffffffffffff82111761331b575b6040528160406132f16110ae565b91600092838152836020820152838382015283606082015283608082015281528260208201520152565b61332361107e565b6132e3565b906133356128f7836117ec565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061336382946117ec565b019060005b82811061337457505050565b60209061337f6132c7565b82828501015201613368565b5063d5da9a1b6000526004601cfd5b929190926133a66132c7565b938051156133f557846133d89181519373ffffffffffffffffffffffffffffffffffffffff608086019616865261348a565b6060810151156133e6575050565b60006001928160208701525252565b63375c24c160005260006020526024601cfd5b929190926134146132c7565b938051156134545784613429918151936135d1565b60208401913383526040850152606081015115613444575050565b6000600192526000608082015252565b63375c24c160005260016020526024601cfd5b50637fda72796000526004601cfd5b50634e487b7160005260116020526024601cfd5b9092919260009081928290828351905b8160051b850181106134c957505050505060608293945101526134ba5750565b600114611da057610676613476565b6020909695960190602082515184518110156135c4575b60051b8401015180519060208451015160206040840151920151158251821015176135b9579060209160051b0101519660609081890151998a81019a15908b1060011b171798976000828201528b51871560011461356c57502085189060408b0151610120820151189060208c0151905118171761355f575b9061349a565b613567613467565b613559565b929061012092949750806040915185526020810151602086015201516040840152805160208d0152015160408b01522092602085018281186135af575b50613559565b82519052386135a9565b505050959495613559565b6135cc613467565b6134e0565b9092919260009081928291808051600590811b82015b8084106136035750505050505060608293945101526134ba5750565b6020979697809401938085515187518110156136cf575b841b8701015190808651015191606092828483510151920151158251821015176136c3576000918391871b010151928301998a519b8c81019c15908d1060011b17179a99528b51881560011461368357505060a0902086146135e75761367e613467565b6135e7565b8251815281830151818301526040808401519082015260808084015191015260a0909120965083018481186136b9575b506135e7565b84519052386136b3565b505050509695966135e7565b6136d7613467565b61361a565b9092938151936136eb856128ea565b956136f46111a8565b9180519060005b8281106138ca5750505060005b86811061379a57505061371a90612105565b478061378a575b50613734575b5050506107ad6001600055565b60005b8381106137445750613727565b8061375a61375460019388612988565b51151590565b613765575b01613737565b6137856137728285612988565b518561377e8482612988565b5191615aab565b61375f565b6137949033611d62565b38613721565b6137a48186612988565b516137c461300260208301516effffffffffffffffffffffffffffff1690565b156138b4576137dc6137d6838b612988565b60019052565b51604081015180519060005b82811061384c575050506060809101519081519160005b83811061381457505050506001905b01613708565b8061382160019284612988565b5160a08582019182518061383b575b5001519052016137ff565b61384690858b613944565b38613830565b8061385960019284612988565b51608060608201918251613872575b01519052016137e8565b608081018051908b90526138ab8c61389e8b5173ffffffffffffffffffffffffffffffffffffffff1690565b6101208c0151908561395b565b82820152613868565b508060006138c46001938b612988565b5261380e565b80613925866138db60019486612988565b5180519081516138ea816106a8565b6138f3816106a8565b1561392b575b604061391c602083015173ffffffffffffffffffffffffffffffffffffffff1690565b9101519161395b565b016136fb565b47606083015111156138f95761393f611d22565b6138f9565b63a5f542086000526020526040526060526064601cfd5b9291908351613969816106a8565b613972816106a8565b613a1557505050806139ba6139a1602061067694015173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff6040830151911617613a08575b60606139ff608083015173ffffffffffffffffffffffffffffffffffffffff1690565b91015190611d62565b613a10611d53565b6139dc565b60018451613a22816106a8565b613a2b816106a8565b03613aab5792610676936040820151613a9e575b602082015173ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff6060613a93608086015173ffffffffffffffffffffffffffffffffffffffff1690565b940151931691611dae565b613aa6611d53565b613a3f565b60028451613ab8816106a8565b613ac1816106a8565b03613b2e5783613aeb602061067696015173ffffffffffffffffffffffffffffffffffffffff1690565b608082015173ffffffffffffffffffffffffffffffffffffffff169273ffffffffffffffffffffffffffffffffffffffff60606040850151940151941691611efe565b83613b53602061067696015173ffffffffffffffffffffffffffffffffffffffff1690565b608082015173ffffffffffffffffffffffffffffffffffffffff169273ffffffffffffffffffffffffffffffffffffffff60606040850151940151941691611fff565b9193929081613ba89184519085612c63565b9190805160051b604001937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082018051907f4b9f2d36e1b4c93de62cc077b00b1a91d84b6c31b4a14e012718dcca230689e760209788835282a152865196613c0f88613328565b9560009889915b818310613c44575050505093613c359487829798613c39575b506136dc565b5090565b825103825238613c2f565b9091929988613c6585613c57818f612988565b518581519101519089613cba565b613c7e8180516080602082511515930151910151141690565b15613c975750506001809101935b019190999299613c16565b8591613cb491613cad8560019699038093612988565b528b612988565b50613c8c565b909192613cc56132c7565b938351158015613eaf575b613ea2575b613cdd6132c7565b90613ce98282866135d1565b81519460609384870193845115613e82575092859288836107ad9996613d168360809a97613e199c61348a565b613d208351612fad565b613d29816106a8565b885190613d35826106a8565b613d3e826106a8565b60ff85519273ffffffffffffffffffffffffffffffffffffffff8c604080613d806139a160208a015173ffffffffffffffffffffffffffffffffffffffff1690565b613da46139a1602086015173ffffffffffffffffffffffffffffffffffffffff1690565b189701519101511894169218161717613e73575b50835182518601511015613e3957505090602083613ded613ddb613dfa9561296e565b5193518c518301518551910397612988565b5151015191015190612988565b5101525b015173ffffffffffffffffffffffffffffffffffffffff1690565b60808351019073ffffffffffffffffffffffffffffffffffffffff169052565b8495939492509060206040613ded85613e54613e659661296e565b519451015188518551910397612988565b510152519086510152613dfe565b613e7c90613eb8565b38613db8565b9750505050505050608060009182602085015201526107ad815160019052565b613eaa613ec9565b613cd5565b50805115613cd0565b63bced929d6000526020526024601cfd5b506398e9db6e6000526004601cfd5b613ee06110fb565b90600182528160005b60209081811015613f0b57602091613eff612840565b90828501015201613ee9565b505050565b92613faa613f7692613fe295613f4060046080835101516005811015613ff1575b613f3a81612934565b14614f6c565b613f8884613f4d83614414565b9098829a9296613f5b613ed8565b96613f658861296e565b52613f6f8761296e565b5086612fb7565b613f7f8561296e565b51519889613ffe565b613fa4613f936128d4565b9183613f9e8461296e565b5261296e565b51615aab565b815173ffffffffffffffffffffffffffffffffffffffff16602083015173ffffffffffffffffffffffffffffffffffffffff16612a9a565b613fec6001600055565b600190565b613ff9610678565b613f31565b60a08082015160c08301519796909593916140176111a8565b9689604086019384515190600095865b8c898d86841061411757505050505050505060809260048487015161404b81612934565b101661410a575b6060809501968751519760005b89811061408e575050505050505050505061407b919250612105565b47806140845750565b6106769033611d62565b806140ea8c8f8b8b8b8f936140bf908c8c6140ac60019c8e51612988565b51968701958651958801958651906141c0565b8092528b830151905281516140d3816106a8565b6140dc816106a8565b156140f0575b50339061395b565b0161405f565b47106140fd575b386140e2565b614105611d22565b6140f7565b614112612f94565b614052565b998561417e9392869798999c6141596141338860019a51612988565b51948551614140816106a8565b15179e8d60608701938451956080890196875190614189565b9052528c61012061391c825173ffffffffffffffffffffffffffffffffffffffff1690565b01908d939291614027565b90939084810361419f5750506107ad9350612f61565b93836141b46107ad97966141ba949686612f61565b93612f61565b90612ea3565b9093908481036141d65750506107ad9350612f61565b93836141b46107ad97966141eb949686612f61565b90612eef565b90815180825260208080930193019160005b828110614211575050505090565b909192938260a08261422660019489516106ba565b01950193929101614203565b929094939160409182519460809182870191875273ffffffffffffffffffffffffffffffffffffffff94856020921682890152838189015286518093528160a089019701936000915b8483106142c95750505050505082828594936142c493867f9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f319896036060870152169716956141f1565b0390a3565b90919293949784836001928b5180516142e1816106a8565b8252808401518c168483015285810151868301526060908101519082015201990195949301919061427b565b9092916000938285526002602052604085209283549260ff8460081c166143ef576effffffffffffffffffffffffffffff8460101c166143de5760ff841615614374575b505071010000000000000000000000000000010001909255509091506106769050565b6143806128f78261115f565b9281845236828201116143da579262010001949261067697986020846143d2957fffffffffffffffffffffffffffffff0000000000000000000000000000000000988387013784010152608435615199565b918594614351565b8780fd5b5063ee9e0e6386526020526024601cfd5b50631a51557486526020526024601cfd5b90805b61440b575090565b80910680614403565b80519061442d61099960a084015160c085015190615184565b61465b576effffffffffffffffffffffffffffff92602092848484015116938560408501511693608083016004815161446581612934565b61446e81612934565b146146285786158688111761461b575b519161448983612934565b6001809316158688101661460e575b6144a184614762565b976144b6896000526002602052604060002090565b946144c4610999878c6158f0565b6145ff578554938a60ff8616156145cb575b5050508260881c848115906144f8575b505050508460881b9060101b17179055565b98979893909192936145bb5760101c82168885146145a757818914614589578882910297029702958701968688118789030280910397039181871182841117614543575b80806144e6565b9095919661455a614554848a614400565b82614400565b80150180809204980492049580871190831117614577578061453c565b601190634e487b71600052526024601cfd5b925050508495940194848611858703028091039503388080806144e6565b9397509550505083039383388080806144e6565b50505050839493388080806144e6565b60606145ee6145f7945173ffffffffffffffffffffffffffffffffffffffff1690565b92015191615199565b38808a6144d6565b50600097508796505050505050565b6146166147ce565b614498565b6146236147bf565b61447e565b50919360809396506001915061464795021861464e575b0151906147dd565b9192909190565b6146566147bf565b61463f565b5050600090600090600090565b80519061468561099960a084015160c08501514210904210151690565b61465b576effffffffffffffffffffffffffffff9260209284848401511693856040850151169360808301600481516146bd81612934565b6146c681612934565b1461473657861586881117614729575b51916146e183612934565b6001809316158688101661471c575b6146f984614762565b9761470e896000526002602052604060002090565b946144c4610999878c615953565b6147246147ce565b6146f0565b6147316147bf565b6146d6565b509193608093965060019150614647950218614755575b01519061499c565b61475d6147bf565b61474d565b6060810151516101408201511161153d57806147b973ffffffffffffffffffffffffffffffffffffffff6107ad93511673ffffffffffffffffffffffffffffffffffffffff16600052600160205260406000205490565b90612423565b50635a052b326000526004601cfd5b5063a11b63ff6000526004601cfd5b60609060408282018051516101408401510361498f575b60008061481f614818865173ffffffffffffffffffffffffffffffffffffffff1690565b9786614b6b565b9082895af19361484f8673ffffffffffffffffffffffffffffffffffffffff166000526003602052604060002090565b958654906001978883019055821b189415614981575b61486d615dcd565b9490919586614973575b0180515182518111614965575b6000905b8981831061492f575050505281519083519180518311614921575b91906000925b888385106148ce575050505050526148c057918190565b6148c981614c57565b918190565b90919293966148dd8884612988565b516149156148eb8a8a612988565b518681015187840151106148ff8285614c77565b179260a080910151910151908091149015171590565b171796019291906148a9565b61492a87614c57565b6148a3565b90919761493d898551612988565b5161495b61494b8b88612988565b5188830151898201511092614c77565b1717970190614888565b61496e88614c57565b614884565b61497c88614c57565b614877565b61498a85614c57565b614865565b614997614c68565b6147f4565b60609081810180515161014083015103614b03575b6149d96149d2835173ffffffffffffffffffffffffffffffffffffffff1690565b9483614b6b565b9060008092819282895af193614a0f8673ffffffffffffffffffffffffffffffffffffffff166000526003602052604060002090565b958654906001978883019055821b189415614af9579060409291614a31615dcd565b9590919687614aeb575b0180515182518111614add575b84905b8a818310614ab75750505052825184519281518411614aa9575b9291905b88838510614a80575050505050526148c057918190565b9091929396614a8f8884612988565b51614a9d6148eb8a8a612988565b17179601929190614a69565b614ab288614c57565b614a65565b909198614ac58a8551612988565b51614ad361494b8c88612988565b1717980190614a4b565b614ae689614c57565b614a48565b614af489614c57565b614a3b565b5093505050918190565b614b0b614c68565b6149b1565b91909160408051936020928360e083028701018352818652839160010160051b92838701915b848410614b4557505050505050565b60c060a0879285878c01528460808083893e606083019088013e01930193019291614b36565b9190608490614bd2604051916398919765835260a0601c84019633602086015260806040860152614bbe6060614ba8604084015185890190614bfc565b9283608001828901520151838388010190614bfc565b018094608082016080820152010190614bd7565b010190565b8051603f0163ffffffe0169291610676918491905b829060045afa153d15176101c357565b9081519081815260209283808083019301918460051b0101915b84838210614c29575050505060071b0190565b8160809251805185528281015183860152604080820151908601526060809101519085015201910190614c16565b63939792856000526020526024601cfd5b50632165628a6000526004601cfd5b90815191604081015180156003851116614cb4575b6020809160608401516080850151149060408601511416948451149301519101511416161590565b506040820151600490931460030392614c8c565b9190811015614d09575b60051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea1813603018212156101c3570190565b614d1161293e565b614cd2565b3560058110156101c35790565b5063fed398fc6000526004601cfd5b90815180825260208080930193019160005b828110614d52575050505090565b909192938260a060019287518051614d69816106a8565b82528084015173ffffffffffffffffffffffffffffffffffffffff168483015260408082015190830152606080820151908301526080908101519082015201950193929101614d44565b90815180825260208080930193019160005b828110614dd3575050505090565b909192938260c060019287518051614dea816106a8565b82528084015173ffffffffffffffffffffffffffffffffffffffff9081168584015260408083015190840152606080830151908401526080808301519084015260a091820151169082015201950193929101614dc5565b906005821015614e4e5752565b61221e610678565b90815260406020820152614e8360408201835173ffffffffffffffffffffffffffffffffffffffff169052565b602082015173ffffffffffffffffffffffffffffffffffffffff1660608201526101806040830151614efa614ec6610160928360808701526101a0860190614d32565b60608601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08683030160a0870152614db3565b93614f0d608082015160c0860190614e41565b60a081015160e085015260c081015191610100928386015260e082015192610120938487015282015192610140938487015282015190850152015191015290565b614f56614f7c565b6002600055565b614f65614f7c565b6003600055565b614f74614f7c565b600201600055565b600160005403614f8857565b637fa8a9876000526004601cfd5b600360005403614fa257565b61067634611d42565b929091833b1561507857604051926000947f23b872dd000000000000000000000000000000000000000000000000000000008652816004528260245283604452858060648180855af1156150055750505050604052606052565b85853d61502c575b5063f486bc879052602052604052606052608052600160a05260a4601cfd5b601f3d0160051c9060051c90806003029180821161505f575b505060205a910110615057578561500d565b3d81803e3d90fd5b8080600392028380020360091c92030201018680615045565b83635f15d6726000526020526024601cfd5b9392919091843b1561517257604051936080519160a0519360c051956000987ff242432a000000000000000000000000000000000000000000000000000000008a528160045282602452836044528460645260a06084528960a452898060c48180855af11561510957505050505060805260a05260c052604052606052565b89893d61512e575b5063f486bc87905260205260405260605260805260a05260a4601cfd5b601f3d0160051c9060051c908060030291808211615159575b505060205a9101106150575786615111565b8080600392028380020360091c92030201018780615147565b84635f15d6726000526020526024601cfd5b9190428111428411151692831561154b575050565b92919033841461531a576151ab6125a7565b936151e882867f19010000000000000000000000000000000000000000000000000000000000006000526002526022526042600020906000602252565b908351926002601f601d860116106102e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d8601101660001461530c5760018085169081604103927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf600593880101831c93808952880160209384820151928560238560e81c94019460e31c1690815285845191185283925b8684106152ec575050505050966152e69161067697986152a5604060002092615514565b600052526040600020907f19010000000000000000000000000000000000000000000000000000000000006000526002526022526042600020906000602252565b90615320565b85859101938684821c841b16604060002081528786519118520192615281565b506106769495508190615320565b50509050565b909291926000948580528051957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820180519188604103908091600181119687156154aa575b50505085148515151697881561539c575b50505050505050501561538657565b61538e612681565b634f7fb80d6000526004601cfd5b909192939495809798508452604082527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc8401938451957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08201976020600060648b519c7f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8c528d520189845afa9a8b615448575b50505050505252523880808080808080615377565b600051036154565780615433565b3b61538e5761549c57606001906041640101000000835160001a1a159114166154875763815e1d646000526004601cfd5b631f003d0a6000525160001a6020526024601cfd5b638baa579f6000526004601cfd5b9091925060408601908151926060880151851a906154e2575b8752845260208360808660015afa508484528a86525251388080615366565b50601b8360ff1c017f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841683526154c3565b600981106157ac576011811061566857601581106155ca576017811061557f5760177f403be09941a31d05cfc2f896505811353d45d38743288b016630cce39435476a9114027f1d51df90cba8de7637ca3e8fe1e3511d1dc2f23487d05dbdecb781860c21ac1c1890565b60157fbb40bf8cea3a5a716e2b6eb08bbdac8ec159f82f380783db3c56904f15a43d049114027f3bd8cff538aba49a9c374c806d277181e9651624b3e31111bc0624574f8bca1d1890565b6013811061561d5760137f54b3212a178782f104e0d514b41a9a5c4ca9c980bf6597c3cecbf280917e202a9114027f5a4f867d3d458dabecad65f6201ceeaba0096df2d0c491cc32e6ea4e643500171890565b60117f2d7a3ed6dab270fdb8e054b2ad525f0ce2a8b89cc76c17f0965434740f673a559114027fc3939feff011e53ab8c35ca3370aad54c5df1fc2938cd62543174fa6e7d858771890565b600d811061570e57600f81106156c357600f7fcc4886e37eedd9aacd6c1c2c9247197a621a71282e87a7cbc673f3736d9aa1419114027f1da3eed3ecef6ebaa6e5023c057ec2c75150693fd0dac5c90f4a142f9879fde81890565b600d7f8df51df98847160517f5b1186b4bc3f418d98b8a7f17f1292f392d79d600d79e9114027f6b5b04cbae4fcb1a9d78e7b2dfc51a36933d023cf6e347e03d517b472a8525901890565b600b811061576157600b7f32f4e7485d6485f9f6c255929b9905c62ba919758bbe231f231eaeecf33d810c9114027fbb98d87cc12922b83759626c5f07d72266da9702d19ffad6a514c73a89002f5f1890565b60097f6f0ec38c21f6f583ab7f3c5413c773ffd5344c34fde1d390958e438bf667448f9114027fd1d97d1ef5eaa37a4ee5fbf234e6f6d64eb511eb562221cd7edfbdde0848da051890565b6005811061585257600781106158075760077fb58d772fb09b426b9dece637f61ca9065f2b994f1464b51e9207f55f7c8f59489114027f7ff98d9d4e55d876c5cfac10b43c04039522f3ddfb0ea9bfe70c68cfb5c7cc141890565b60057f25d02425402d882d211a7ab774c0ed6eca048c4d03d9af40132475744753b2a39114027f1c19f71958cdd8f081b4c31f7caf5c010b29d12950be2fa1c95070dc47e30b551890565b600381106158a55760037ff3e8417a785f980bdaf134fa0274a6bf891eeb8195cd94b09d2aa651046e28bc9114027fa02eb7ff164c884e5e2c336dc85f81c6a93329d8e9adf214b32729b894de2af11890565b60017f832c58a5b611aadcfa6a082ac9d04bace53d8278387f10040347b7e98eb5b3029114027fbf8e29b89f29ed9b529c154a63038ffca562f8d7cd1e2545dda53a1b582dde301890565b905460ff8160081c16615941576effffffffffffffffffffffffffffff8160101c169081615921575b505050600190565b60881c1115615932575b8080615919565b61593b906159bb565b3861592b565b50631a5155746000526020526024601cfd5b906000905460ff8160081c166159b2576effffffffffffffffffffffffffffff8160101c169081615988575b50505050600190565b60881c111561599857808061597f565b6159a3575b50600090565b6159ac906159bb565b3861599d565b50905050600090565b6310fda3e16000526020526024601cfd5b9190608082019081356159de8161064b565b33141590600460018211911016166159f557505050565b61067692615a236139a16060604051956317b1f94287526020808801528460408801523382880152016111bf565b6080840152606061014461012085013761014060a08401526101e060c0840152615aa6601c61032461026435615a6f60a08202918261016001906101808a019060051b61020001614bec565b6102a0810160e08801528461032082890160006102e08201526102c084016101008b015260016103008201520152019401926111bf565b615d11565b919082519060808201918251926005841015615b66575b615af3602083019473ffffffffffffffffffffffffffffffffffffffff865116331415906004600182119110161690565b15615b1b575090615b0d9160806106769601519085615bf7565b91519263fb5014fc93615d79565b60049194935051615b2b81612934565b615b3481612934565b03615b605761067693615b549184519460808660601b9301519085615b73565b91639397928593615d79565b50505050565b615b6e610678565b615ac2565b9493919260c060a494615be3614bd2946040519663f4dd92ce8852601c88019a1860a088015260a06020880152615bcd6060615bb66040840151878b0190614bfc565b928360a00160408b0152015185838a010190615cc9565b019160a083016060880152838388010190614bd7565b01809460a082016080820152010190615cad565b9392614bd2906101649392604051936317b1f9428552601c85019760208087015260408601523360608601528151608086015260a082015161012086015260c082015190610140918287015260e08301516101608701528160a0870152615c9d604084015193615c886060615c7261018097888c0190614bfc565b9283870160c08c0152015186838b010190615cc9565b019183830160e0890152848389010190614bd7565b0194859182016101008201520101905b612984602092839283815180845260051b948593019101614bec565b8051908183526020928380808401938560051b01019101915b818110615cf35750505060a0020190565b60a090818481835160045afa153d15176101c3578501920191615ce2565b6020909391937fffffffff00000000000000000000000000000000000000000000000000000000845116926000948580938180525af1908251149015615d6a5715615d5a575050565b63fb5014fc90526020526024601cfd5b5063fb5014fc90612230612681565b602090949391947fffffffff00000000000000000000000000000000000000000000000000000000845116926000948580938180525af1908251149015615dc4571561223057505050565b50612230612681565b60009081906080803d109060009081908280918515615e70575b8515615df8575b5050505050929190565b91939750919550602094939480920196604051918360c08302840101604052818352839160010160051b98898401905b8a8410615e4d5750505050615e4293949596509501614b10565b913880808080615dee565b60a083879284878901528181863e60608501518286015201920193019290615e28565b9450909150604081803e5190602051913d81113d8411179485615de75794508093506020915060003e60005191602082813e602051903d8260a0028560071b0186011161ffff83861711179460008052615de7565b908135641fffffffe08160051b169060405191602091828285010160405263ffffffff809116845260005b828110615f005750929450505050565b80615f1685848180958c010135168a01016119cd565b82828801015201615ef056fea164736f6c6343000811000a03701ee8dd6db4e7eff48eaac900dc895053b85dbff1db1be0401a4ef63ad6e8930356de618c6097fb43281765fdfa8a2478e75ab64be4ab1b2aef66f3002296db0a03776c97919019e01dfeec91e73158e95b202935cf2ea45ff98351869a04407453031d9d9708c3c3c6a8436e08a130f45b7b3a89a4a57ee3f201e291d7bfcb34905a03467c66cf32616fedf9611c3e340a6e8389d25058aa53c1ebabe7248900aa9956033bef189ceca4fac85968b676b2a7c2827c6cfe778390c2a38aa9fe327ac8dd50036cbf0fae34cb6d3bea40e12b6a4b86d5c7d9b016e365954f82532e6627138bf9033d22074ee36facb83587f7d75509b1e294f156a91f070dce00f50cae3f00521a03eb32b3df8a9a57eadb7cb6c168372b3952d1e46e85ed05f60c7d4e16f593be080398ed4b4d17487a7becf13857997f2c5ccbb999de686be738bad74d7786d6bcda039e6bb9d4ea2b181baeb00663fffb17319b026a64dc8b2be9421be050764d543e0365ccdd5a18b8290e510775d44c4f0e972662586a59288d728825a5eefb954237032073df29cd4ebcbbf683a14bbe5ca93c3b17bb8028a70f260b3d99797e5cfd5e03262146acb91627029eb0db1f2c88575e10c531fda801c7c3c85e7300a7d1ce6603d18af6a80a19e23eb616f195ae902522026f5580478a175f0df7930453374b8c03b92196d4ab02e44edf6c3bf9ed0d2952d260327b75107adfa5a71a8354e09bc503dc7a71fc8bb4b58555cfd53c40206bbc4c45dbfdb2efe0b49230248976c8355803cd43d4d7291f535b1266bd5a6af85f549749d9858ae855004807d87dfe2f483503e7226b376c0370438a38fdac2ea8108357c93fd071773df896ba768d794c9abb03745b8169cafd9c0abc4f8535243c8befa3bea3699b1adc7b7092a97ddfca243503dece284313a57447f955e8d186af8ad0be8891c86f281946648f6566d629d3ba030f8417d2969c0acfaafec0a2d9d4203897799be0bf571271149f8ec7ab1728cc037cfc1504f2e4f04a7358bb650a0ef7cee37d34318cd87fdc59574de78ceb7e1c03435f75d06666e299ac50ed4a5a0619e936f2291109819d1e734a38a22636e9f803095fe34ead9071026ab429875da05f91bd59acf2a42a27346967b0380f82009d0334be7ee34b5769be11336607aaf31b7492c5a40847965eb79357722177f03fcb032a12ef6c48fca858c60569700ddc78e6763d3b551c7fa144c1a62e56aa6bc8450314bce0d4bd601d79200e14e636dc57468134301ed1a190b87895f7c2b80cacc703d5f982b704ae670aa2b5a903e6df66bfd85109d8e88adffd975907f6756ab8d603eb0b90b37c6042ca351e3b48660b1e7206c06a3503e3ef381e918d7eed16bdcd00581e0254f71079d23840d1f2b421016b85c5e41ed812922c4cd0edbb4f58aa4452010000000000000000000000000000010001039d8954d1480899a749480d91ba74459de87e721e07832be8419cd0bdeb3ff10300581e021b32f3332a6110b683075ea80b0558a12499c525ad337cda18eeedb4b442010000581e02ceab8bfbe0bc2718ce80741b81e5ee2f0fbf7e8884d5b7919e5475ff94520100000000000000000000000000000100010219c00c037175275e671afa120cbebd01554cb01605190b6498bca8b4aa7fcf554192843b03f77d3bcb5bab08ad332c9b0cf2e96d709d02350c486988785ac3faf9f31cf05c0308a91665a5576ef09b3990dbe94352b88633f9d6a8853cfaedd60873810a5ef7035b145c5cb25c583b3e610391dc14e163806f8819ea6191e47389762e45856b3c0300d36fdfac7edd6a3034dc6563b8648884842d013221603dc8a1b76829f96c35031c50bbcf42d81438d01918adac0b3d27d1de2bdad8c5c2c86118e19ede1db7d9038c38574bdd8b4917d24563d3f67cf0a107debffd64de77d02cb4abfac7d20faf03236c78b44b63b519aa20c6ebc52d42eebd615fcf38dc1c2c1e5203a4f42d4d2d0219ffff03b7914dcd06a9ba5736be169fdba7bae70462dc4551b91992b722af6884372d2c03338377e08afb4712af10ee389d81f0c6998d9b5a9003bb330d0065038a9dde920336e091da3156d24504dcdca0e00f1d64aab910f6f12acf5041f1ecde650517bb034aef10999ff48db2273f22a824ed1fd609e17081c1a6dc9ac2e7a60a8b047429034de45a0421f85e7d1fd128cb114d38b4e0f24c9ed98fa0e39d151506fabcbbc60314d1059f688ca5c86607d48d148cbf372c40cacde113535d415d3a15af958f2903b6ecf0484a7cf916f0a724345c0062b2f1bd20c68181d1cc8419f39a1617057f03242ae5eef8805b612087b4fa5fad127ccec52ba67d4ec76bc21a364d77f6ef43032fc855f5d7a9d158c8d56ef91c33d8aa889e1cb159f91f25b31ae706cfedcff103482f84db1aa7c39b92c5508db6d40121dc00325e5e162c44e634ef4eb1f0e82c0219ffff0399fc2611083dd331e0856b300f978a40d1ee194fd671b10bfb7c3d47a53292860219ffff036d9fad70c12595cc737b2c586f1cc1a7612aeabaa3e7556fa3852b5d6472e1a203acfa3571e0bcbf5cf4cb7af046cdda04ca7baf978afe7d2eedeac332dd5d4d8a03a0c8e772b2b753a63ac86ae380301a4501af1cc5b1edd18dbe252f0eb04fb4af03122a554cc9fe9db81a2cc7886547e97dc0775f42b5312c0961f0e0fb74005d5c0383986a7c4ed2ec567f213f20b1df271b5c341a3e513b8b4159665428db829b2203b6a6dc837c0124658688ab6c367838504d491a4ab4e9051c34e586ca53e0e12f03cdff84b00cde3f474a47b96398604b382a7d5a54de19fcff0850fe9b7d0fbfde03a5a615810363a6f8df2b21ce58fdcc3de91bbd829d26aff1b9b578b6a5711dc70338599b4bcab6cdaaeffa9735a30ab5cff1349ab3a2ef0ac3a45f7ed1331a754d03051705c9387a8d996801bcd71198ca193f16a871dad855ea65c3f1b5f5e31d1d038a0d752b4f96d613c4dc855049df2f7d622708e9878b104dc8617040e383a5b2039c672194848cf31f77a42ec73d73644b1d7b4493470cff1511c936db58cbdd97033087adef0d0a478fb76e98d3768fcab713dd8e10b646cf96f3fba93dae3f109f0307031cf46d02e37f6a748fed48b46866133dfe03c1791eed2fa22a99faa59e1f031c771155bba9825546e4e16abc7d7abc5a2d4a840b5f9f51751d5336328ae90c03276386851076f81240763bfc0c9585f0c26065f6f956b99f2ec6b305e790d40a03a601d175ad600440919b530d7cc1afb72793c6ebfb3372f976a7f75da089589c03784ac55a3668fc3c8d366327374f6af4052ece077c1f8eee70fd233dba07a33c03a5417a0d0ef710fd70efeb67b3512f26bcd4c173cc22d4b19590eaeb2d49792a030b90518b5c9a3df6f0fd78ee4b15ecc4c3f3cae3cf355ca77cd6c5daaf15463b0323c0921f7261cdc17f5d918d542eaf52ee0777daa5a731d637bf3f15c319671a033ebdc9f8e51c53f8ae380a89bffdf5d0bdff130527fab620ef73a88571559aba038313e4a3528aaaf4c7ffc1e908711f9d931178c9a261140c37cdf61c2ba7432403ceb1c0038058ed138891207fd71ca03e48b9e3f42e4983d542c62127f51a9d45032b9df6510aa72c0fe82835ff7fd23e894d4753da5f753c208e0920a695e8a46a03c6a52d70007263dbb97552cf200e46c68d74190cb6aceabc333ca66758ab5b8103aeca39f2305b58c09a39905f1f475c9ee23f538366fb5a3cf105a4cd955e252c00581f030abe77de96f577bbee507ad86e77b03c87003a0aa392f5aa69d59c87762050b12a04f8f9c4c2609b0c162fc7ee3bbe0328990d80c5b693482ca9b2e28e6dc60e9dd0284ea07859d857f0dcf215b8cb500304b2ade47b12e0b53579b359b3179f45af72c8f0928978b2d98d5e1424b1c00f0335772ad9866aa048adfc39b4566c28820078dfb53a176254e54bc222b4fd641703c2472956ec4301ce877f9217127c97f8959733bb26990329124c9975257ed77f0312d332ead3009f01ded3c31774d8ab7b0430b946c1bce4a408af93862694820e03f34da8ce2ad00bbe23f9b51ce1009e34b40da0bcc8406d5037c142ab6354c50d0349815be2ff426a5fc837e2104dcab33826119ef036dd6c26ab095ff22ff88ab50389246844cd765a787cfc0dc2f3d53355536f8d7f3d4e8421ec01220f42cd302c0219ffff032ab703c8280f17b83891348716b000a4e84aac6174b8eceb5863ca3b64fb4fa703315631656c6709af4347d7303d996803245305115c3cdbdd826722f5148ebede039581faf535a8b7a39ee94c48aa9fff80c2ddbe919816e3a5d822b1995a3da0f7039b0ed292064c162790c6d19ccf8d4142c0fcb68605d4afe2b23e3bed8f3e86710323771e6a3aa15c4c884366b5cbb8e657a3c616213654ad1a5c81dfbaa7c73e4b039d56759667c99e92fcb6cead294d8047cd7582c7c3c40c2ff2b2bf86b8f79a6803404158e79decc88ad58ccb1a90e088e4fe8747ac3f49da25b47ac7fd1b4bc180039ea55a6d69339788d99aa8faeb26cc5fdcc43a0af7798e7ef2ae113f419ba9810324ac04dddb5766e3a2ec7f7a68dfcb09a369ecd942bd2cf59db192a279b92bd503ff7662bdea67ae5dd90f69b022ce651c754540993f531d4b7bcb06d09c6bddad034463c30e44d4b2dae81d23b9a90b3b4721f970ab2486f44f89800720ae9599fc03df9c7c0b50a2201be1af5c7587488659ee68c25e9fdb57135cf2f9dd89c7b39703b2ea62173ac92d3f86a76c98ce58a45a532d8726443454559b2b6dddcc86e4230219ffff039f0dea0f20f21cbfcc6bbe591c47978d230b0ba5aa1e7f391ba5a694ded6c5e103b7175b0c399d43e0ac47e696b0c527ab240e24eafa4e3c986e9e15ddd5da7bf60219ffff032c2d57570c41f5efb6f419dc082f75c5053bd9ad29fd9f159c407b54d58afbed034366a8ba149df6fb4e970e26600ce2f378f6cc0a2e3fc5cdc27350e5ae013c5903a910fb49e881cc56427a6ac2b9c81987223a9ff10a21cc6886c91901e1177e2f03969777443e2f41c98c3bbe894772809839d5ad00ec3e52fb7b62622b479ba5e603a7e47644f70b866c18b863584657065991fec240102dcaaf90d57f49e8fe6ddc039c34dd2916eab07581deebcfdf2c7d3011f790df4d0ec5930f6af135195ff5110219ffff03ca188a60500363855fc5bbb21354deb538e080594f715b872862fc99e798bf2803fd3787d9241629acb62c3735cb7afc0a7d74342693a21511e22eb0eb89c278d903ab62d6660460d3e59f193fe27ca6a8ff7d64bbb2dcf1c2047282c8343f9895ae039c673cd462967d087d5abd5825232a258d61b0599d396fef172f002bab4e445603e16d2b8011ef357ff70a483cc89996f515291f4922e6eab908c988027fb7cd75035334f4280601c67a4bc949f31d02ce7290516e6c0d8e517940db3e85151131da030ba2b225a1b32326e66c2227b86967a53a4b2e8e1da2837e3550878d4a25f994033d3cfac09848bd090d5a2d21454cfdbff22170831b6a53c905f541b806a844cf03cd129516778d0401308558a5f136c3cb6c934afc6a5bf8f60087c98a8797e9e603429bdf5f52998d25ed42bd9fb1e8f9cec2c919c3566f55ca325086c3f5070a00038bf6855cd98fe043d9a630f35ea2378e3ced7f1a03b2b42eef53b94f2079080103fd1d2fec6c2e7678f50e459ef0a87642cdda1f2c3e6dfd76081620c935655c5c0370c526d82bfb53b37f5a377aca9d02d202cebb84bcf0c57e9ed9c1d88f3aece903a1d8a80d2fbace8f37a5ee1aedf9751b72815c4e33e3d019553d3c200fe717d00344de591f827b5c5b246d0b78ae7e5316e592c32a61775ad8d8f8e38b38c0f76003a7ceeff0d89080fa816893e5b5f9a7e2ece705a83192d32c9366581eba97f61303c3e76fb53fe31a7c9389a014037c01ab7f3cc2bd13669446340d8ece3811e8b00302de76ea3a0915c5afe94e692078041a0a61d85cf59f06028c4bbe4e7e02f2e603b55af22b909c430e0c448df41428faa7478d60387eba77a22d749dad3ec4f3cf0375f401eb0fbd16fcc0c429d111f9cbe6388471125d83610554ed4a79e5fe215f03972125b540e0e2170ab7a813b9aacab7bd37a4f1f24e3d5a60ba3668c195f5dc03319e314d94b57acd5a5fb99f81f1a183568146ecb7ccd52dc2fc153f7f205bb90303022f88624d6eca507a2979d45e8983e0ff3fe350ebbce27b5ba97e6b08d5be0335837f17b851c5dfa5f4667fa3fdd4a5a0c903746e5beee5ef8f14bab1913b8003b076bf06723e199eeda1f465948f1b019d5b9cc7b7b85ee6d5870764201fe7a203ee112afd6ae70653e421331486c4df899bb49aa13648a0be105252935885030b03ecd72ed5b19a9177b12a93f1ee99c9be35ac8c8be5cf8124abe91a31579e5b0f033df78579a32b4ed930782164153597d14ce84fb817beedc78c380ecc9d2ac42603fa0531e8f2ff67dd66466819ef56c8968efe12eac8412fac513b91e5039fb55a034ac2de642ea7ba7a8543d03a41f7bdfcbdfa1fe03976786a601e0ffb6bd570070316632e44f0bdfaf1a5eff39073f5bbb300c88177906934bc38d835719a2b9e2b03e5dfdccc9964bbc59636c30fd065e602d4f9ae21d6bf52a214da6f77f11cb1fb03c4ba02827c7225332d8431e8c3bccd1cab12d03a407587d91397e5a0dbeb237d030c16df9d2ca2cb473e9c8db334742db9cffbd2ab310e14d091bcd78f41bf9fce032fbea971991aa9ed54be7a1a69183f512c9a88509b9aee8096182f5efbf94faf00581e02009ed213cd12c974865b4209eee79bad42865bbdf05f300ef9f0dd52a35201000000000000000000000000000001000100581e02d9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563410100581e023d8838d9684cfde6da05738b93b70115caca6e5e65da09b5a4f9088a76520100000000000000000000000000000100010219320003460198836166c4a65379b3591a6a25b2948e188886da6e8d39d15c920a7e73b30219fffe03f79ce8d9fa8d2f580abd3606d108f4df1821fad06ebc076bc47a6f4e9a2d6e71037d17b09ade02895c65b77ac7a3a65b0a7ec0b98926ba549b9689b0ed08fb95ec0219ffff0385a4d9be87acc3bc7e81747195a4d703ef602d3a234f73de8143b7287a48272103e77f2648cd33830db38a347e9e8ac8d72f30305b8fa02a1f5c41289317f7ab6a0369802797474fe469b3eac6bc110cd659ad5359c6bf353e621becb9a4a77353d5038f6741c1e956df98867806e5c26f93eb1690befcce1811e115393650e883dcad03ee6d8e6e75c18746261ca648f5296513a163e0276f8245338e6a3eefd72e6160031e4d8a0f7919ed28bd71ce342b8fb13eb093e1bc1b0a97f3c47882ac080bb174030e42660725bc3657a0ec6401551139f7faa40019501a41956ac20db290bea3d5030e4a09119c6a6ebf618d4425ab933a9c13ad03df687269d02df56a6345f464c403296eca936d2f448458dffa3086963a185aa4d6168f89b916be08a3cf052da03803cad95392482493aaea245f6afa2b2b604c3ce296b88ead638bb779afbd12d7010327b08518d4a431e42e0be18cf2aa04922ad87273b2c325775835871383a7983f034fc253eaad00e382e605bdb5f3d60f4328a9140078acbdb1ad8f6cc61476eaac03642f3882d314b3997a66da4b3bbc7c6c8ece7a1f3f9afe3eeed8820b36d80d5003b5a7945a5cdbdc0957288a14252e3ee9401273c8f9dd1067602b6ff9d992ca9503b67454950f75936111ab509dd2a5cea8624de7ce01107f44aa6e3252930c9f8b0219ffff03cba5653b687b09f18614187123ddd780eff70a21524cbb1c2f22d9a065aa7fad0345d8e931548e6e4c08c2d284883b09a9a234d0f8a94d95c723bfdb661d10d89603e1db2b6c98708aebef696cff57dab817727229313869d52c86d3ddec7d2af4eb0361e7af4092929f8251da9898180fb46d4071d92e23863475ed778172c3d10cb50357ccaf78c1f17a107d0329529383aee7d6dd3877fecb06256257e47547f20ed8033bf1685e1cfe333c01468bdd3edabe982fcae4fd6f5f21be4627f616eb8c8d420219ffff036161586f0be0f8fb062d717c99f9da5e04b3f91f41d93a89f8786a4743ea2613037f4bd6f25297b03cc1ae9fdc0c5c175be2afc9673d07f4d31e6b51d6146dfcc903530686e7b25e4a1cc2c8720d8dca0ad132df9a989c723f9b510ca048e8ba8856039776e8652af575f86bb94a4b889c29c83c66839bc695567f498c149ad0603e380307c0f193753e9eea0a1a6eee7aba91931b026605ff11117afef8456a99d75e03031e50f1533ebf237b6718c80accb28be193ef4f3ab6c4f7731f7d0eba4c15a5dc0335e37b26ca993516af1565411661fd11ad4c3e15b179ce74aab641ea24dba8d403049e5b77d1ec094d09cf78fa2c93d491a26a7834a3039a6e201d388ea560b31303a3a36a2c12292ccb17fcff01b2b604cccd2f2a7b9b28512d98acc390137d8a4b03632a996bcf121fbdb03c763e59cebb1e5bd8fc9b262df9e13d315f635bb42a190342370983de84115964f09c74cd27194e22bf0df4ec6965f6002704b76844c4010383a1b641461021cdd6c453e723b14eca3ecb69b182e068c91b28f055f9967a3b03aaac3164dd4b93d9f6e30becf49ce48938b674fef9976c3d9c9c3a441bcbeda203f97d36120700fc8f27c2275876b6845f9dac6d60cc3ca6e64679eb992368a3770333baf7dae98e546ad1c689211273c7eb88bb27e4073897579b8b4532e21463c1032612ff347a784ee53d634be39bca0e09249b9a5f16ff6f49c6a564c53f6cab4d03a90735ed51016104bca17bbb1a64e0696b7bb4c057b0158b434f19afd56655ed030b83bc7811a3f89779df88f90c5d17069e3796a9e3692559500a8d1be6ac34fc03b90840dca53eb332a74a24ca31541fe572ee71d1f15f2f48731d328e0f09e0c200581e02412ff4b2a2f668892e3731a6ee8effd0f847dc3fdbb28447f87e574bb15201000000000000000000000000000001000100581e0201460f415b774bfc02871de8d9723e326dd8561e2d8f286e6e0a8facd05201000000000000000000000000000001000100581e0257902c1bbe85e3e284b8013432d195f4bb95db2d4798ab8b0bf71920585201000000000000000000000000000001000100581e0214587fa40e766125e51f745229b4ee6785f3c9d688f3f211c93aef4d9d5201000000000000000000000000000001000100581e0213a897466162839dce91a60c566d5dcd6149f339079430e4a1630ffd245201000000000000000000000000000001000102193b0003d4cc840734793f05208997dcaf9d4fc47435376ef4356934c0ee14e57f82642a03ddce8e4bdf436f0d3a5ad5726b9d1b8f8d65aac860298b6eb8e9bf355f4026d403744fb56f790566784e7cf5a9454235c07725c82914d068f7046b6c71f681dea903e9ea7e86e92c487942d6ff7cba5f2932b151156a4eb4dc316dd554f77d094de1037819234c7923c77fcdbbc802f5eff8fe54b244ad1a122c8cd22a4d2a5281829c03be9e991ff152047ba630c7aa7860bf7c24473761f66178ae1ac33bb60643d08103a1a2bc483d3ef9d807169134cf23f6ad74686484ecd6bc0af85ad0072cc04fc3032756a8c572e10f30e401501e3910ac63ea52027f8c6d9fe732d5cef6ea99efd0039e1b9aa7925746fb451880732e1937d524c2c9168d5b8e3b972ffae00b616d9903c676a2818a3fed0e7c621b8a33b271b827da8ff6d07ac3108d68fea9b6fddbaf0359629678efee619b85de0fe72bd7c69126fafcefe3a238fb28052eab433e7d67037da11fedd13b61d64819ce75861dc6bef3ca5a9cb037264fe392a6d77d734b3403cf0acb82b054a06b5c95f3c1fbe8d77de8ebdeab133037593458e92715b66c230219dfff0384aac4916709cb3751a2a65832ef45973b8fb7a196f4b78640827ae0c728d31503c273996f2e33af1d05cfda8035be1df77efbb6cba923f492f29f51d4d8b8649c0334cb5efbbaf03124a2967f13d36b916a9a62354dbca584bfaf3b41203795d8b90327e71e1bce549c06566068acf00af7092d7ec7e797a5573544474c39798ae32b03de678e3329b963fd881fb5051b5416af645fbe3e897a60f9af45e19d5e0de3380324c13f485a66dcfba2b1120893a431edd7f90791e821112b5fb6cea5b06c2b3c03d8827c991adc4454be99c527cd8be2f827149161ffef0d4e7b57a2543d9d04380219ffff03ece8a5c0d33685ec6f90e43fbaf72ee4eaedd424a834a869ac8e09b9508f18aa033859aa76e03db4f67eb07f0d718235531cf7434f1d51d6625994299c54f9505403595faec962187528ed022e2c59e6f1f36d8dc2cc61cafc74c5bc66d79021769303507a0c9ef0e11ed22fcbaba9cb9e42653c0a027ace4cea548f3af8207c1188af0399af94354281ae94d31da8cbedd138c5833c677f0a5e1d78491a07e4f95cd512030074fabb73f63867a4df57bc0f0d5a8f5da537aa4f81782ce77010ea28546e3203dc5bd362634de0ddc5077541b0244270f963389713185d6d4ffc5b07ff8e92ac0380231d5c69a4261a5d4ab49afd982ffdad677591aff3b76d1db7e8e95e880a0f03bda1e899967aaab98a4deb33ff27e53a69784704de78a16d9724416a42bd98600219ffff034218700f6a233c9968a18dea0f58b345a9a757ae7d0be4254adeef3389a4a16b03c611c57bca79e685c73ab29b997f32e81724bc168fef162005b5a6d47094f3cb030a7a5cdff3f3b9234c31b8c652b22884a847c63e8712732bb4342fb5ec45519603a2444a55bc48f49f4432722cb96635242bd6412d1f7c0fcd34f490f8f1f0606503a945e63f52eba5af77d1cd6322cd2c95a29db1efeb3099e0126f1e0a13b041ba03b47a98ac5d3b0b469abaeb737720685110a0ac2ce5403ea31d7d7907c8353a50037c8fbb985a769184905afeb23b1c57d6e3c064e3ef6bbefd883ddf217d1cf66b036b51e03070db1ec88e32624bed33bbb31faa850475511bd2c3b4a3e35671b55e0350584ed4b0eff9462e116da195f5c101276355f953335fa83e62ff51c5e717ad0349301c3fce38d5bde145b92a6204e66c19ae93f138fd3383f3b46a078e078cc603722ff672c8b00c46231331725a063e0dec472ce1917b8e7305a3f4010615ab85033ec5414799c1dc67bbf874afff3adb68479e77cbe4dc52a42c520213b308d1a203033f8728ccc119add7253bee6266aa815d6115d5fc2147ef2c9649a558cf041f03c394aa4ac68da5e286ca80a4649b8f52702742cf898b502670dc7c729fe87eca0219ffff037a170cfb2c6d75eb37ae704625af78e1ddc88605eb02cfacc679553cdc95b17103a225597a26288167768ff3533ff8ca697517cb8b9dde1f1fd266aef68aa2d82303761b4d776b880afd35be7daa84aa1c72c02768045105a35fae95ffe1b01977920305853e867aa8530dc0fa2b18b4dd66ff5410876d984be9084e440e760d50cbd7038a9277344fcfe530c399a3ddc8c704fe00ddb95a412f10b511e7ff412d5717de0319d489a6d18d98a9425b279a8c570f0d71ad235dedb7470d2d2184bd1af0de9103c5c125d9382fb234cb86453128a9dcb6219753ba356671c4bb86d6f493d1f6d10302fe646060c2f6a364d8c551fa9a03744ebb58c6c37876b958148c66784fbcdf034795520cefd0bfbc8c532002a1ade8cd50c313299d2eeccb0713607cde17c3f103ba685f4596923b44686e132a3bc7b380adb6d9ec7abd4bf4c5d2839b3a9519700366c0c3551ad54ba3fee6e5c43beecfb6da2794250fcf707c965f1e4007de9e160335e9de985fbbe97bc2f5ec845003368d14f5d0f9b87fc09bb6e2265234bf857a03f5629ae23fac8dd1bcc3f1668f2e7cdd6d4c8a237a0f64c873c4b91f7b83832403d3a6d4871a9fd1a39d2be9fa8b3609ae5132c5c9ddb9f7013cc0d793fc6fd1c703d98a45e04d087f59dc3c0572ae395ecd02236e61750695f04b43652a392cf1d3037612ceab86d1e925b06f7a0cd2141b0d81b084fc6b441dedfc36d4da690fc60803bc9f2afd07918e589e77ee1c4c916bc3f43660e811cd5c6e5ddd37c96e3aeb2a03b2ed7e2525b984943cc6f184bc942ac33d6a2f440595a15cd1d3b1a43fbe405603fd89e8a99ca030f93efddc476cac001abbb678109c46e0fab1155ca58016bf730385b30e6543cb1928f8dbb132b224ef30f6e1f146275767e7add8c8aae59dc8c003885e2a932653ec713594028174075c4dd9e5f01dddefa0038b82c5b9691b81dd03f7126d662aaf2198b579ba455e7ac55adf7a47a49faf6cf6b7b0a5884fb3a3ab03152c13aaad189d8159e631719fd96a6a2023f03efcf845499088c9a764c619b603520ef7818be9128f7c0c8f663e8926a4d67d273a49ff77e35c07f254478bdfa603b24b1abe032b709004defcda1ce6f4be192a5a3cd69e6192d872aa78b8ea328a031ebc17b709baff0c1f97360be145e2fcf162fef0f2087816c6386fe8efc1218003f167fc15de356caa786b037d8598f47ed1c7cb0af15e26561fd232fd781ba8650362974aefa94fab9fa58ba1026e48d9aee98f522a89011c0028da5aaf2333861d00581e02f3bac9e938ec4f69625bcd564585200ecc52b0397400cf3e0d8bb5bb3e5201000000000000000000000000000001000103c2c63ebc63d7c6813fdb2d18d12e4f565928a72bef04a56f9736fb19d47a7c0300581e02cf151faca298e283357e503d262fac7b5bc6a8664a2365dc89b566053f420100032a922050e299144758739126046c9f870bcb42b8625bf31bc5a263dd24967ea100581e02e8d32ad6cec7a04f68d15ec5091c5ed157c22359b71bdcf2855c9e02875201000000000000000000000000000001000100581e02d76b8ad13824468b070f85b4b3af151bdf89954690a02dd17abfde837e520100000000000000000000000000000100010219204f0353d0c751cc0bfbe24ed0b65cbf801f37928a3b1977300601fd14a11b05217553031f0bba7f2320efdd57f5f8d80a4ea43f6abf91758434d96e36c32c3b945f8c6c03f3c0267653cb1e11242db90bb7b2bc91cb4336c252bc3a241ac7ff2fbff2a0a600581f03c362c7c8c51e7077ae6206801695ccaaa53907b410413fe5e1ed00a75f60520100000000000000000000000000000100010219ffbf03420c8666d03717e99249f730fb226ee2dcb9683e18c619a50f5f161185e7c4e803271aeebcc367496304818ed91fc9acdbb28f1f04c383dd3d0a2b3da672dd9b7603da42caffe85764d037c774b884463e0dadda4467348c7383fd36c206c7dc7a0d03bf2d61027a1052f3b7255394239727cc2cdf858ce57c1f1ed7c41fcf6103354d032e38bd59780b11471131b9c12b57433bf72fa09271b7a90bdaa653585c2cd85a03341013c12f2799361bfa28077141c20ad3a053556e2b66ed1c39b2a94135b5ce0342725757e7eef12bebd1df01b8eaa64e1e888cb147ea4cd2e394051e1d225de503197dc402dabd2a533f4fec38e15cd09ba0df4f58744f01bd9596c13c4badc24e0219ffff038ab1b91d0910f564085d639e4d0d5e26fc809b5594974d973b1925375021416803e6baf6a3d783fb55bd82928c11658476fd7cdacb65a702290352f17b5b1bcb300324840e87e7c330fedf36e8726c35e992b1cdb1074f6fddf62dd208cb612fa1bd03044e2e8ba106a2d8aa3b8a0fa9e53fbe397b5b67c86bc64a8a4e22356910f5cb039e3848a2549c297d134eb1e9945834fad25334723eaeab4c1435213091b0584203af946cb4eece4da01619cc8894e1dc48793df4fe2bb7d4a7d3e67d5d19636d15034726ba17a1dc2c4c79d5e36bee426bf761976009e899eb459efcd086ab730b95039b8b5d07857d69ca9d5d0bdb9144b66a54d10e39b2446d33780dd078da345504036a38c01e74dbc5452c8253394969fa071cc353bd3c23d4f08708c7287aa435430219ffff03006fa74d22e358ebcdbf4b94a7355f5b0c7d0cf0ea3fca02800dd3126bb028fc03c447eadb73b0d6973d22f57d6fceb30d8cf9412a0d65318029475045dc261b9d03ece4e15778a3dd95b784f8214c85b5bca2d1adde39acfc2354542bfb1d5a3240034960413cd738a7b3ae8daa68dbc9fa860d79d8cf68be6d4c99b5adf85c5ffdae0328bb80ac84ac1cdbca21432c4384d06d628e7344ebf0e42626ff241661405175037e5aebb0dfd1224166dc7cc5f08c2994dbeb57966aa02fcd3ec785baff0ad02b03d8ac232b8ee16512495268f0e58970d1e48bd0f637f131f00a4e40c348a42584037de82648cbd42fb05b46ceb1be0f15a137c11fd5f5e7fce3365171742dd305940336e58f4d3c76633ec14b39f6727f2863e3139cb758461286238611ca92a1c1bc031db50c6e70c6ecd2672e47c2099a942746270b34f436976d42cc3b2b181f0f000219ffff0355b15b5e3771a21978b04e328e555bcdcd2d1c67a1169de467e0426718a4581703d08c500701646dc129c46c38ebbedc9433fc56bb6027e47642df00c5ee4b6d2103e047e5f935daf4f37028365dba2f3f901cf612eff7162d9b9fa78adf8226747e03a9d621fec82e407710b4f198a7c6fb481b44485cd49eb573000692d414421ba8036ebe213cc791353d6dbee66484a28e299830fa61c97f70f72687d76d04d6b6b1031d9c68982628fbefad43242942ca67f0b03df425321986117ebfb6c206d60d43037e0bb2c7a6c45b17bb94167dba444fcaf82513f81e3b9dc949379a0e5f52059203a1ab8d32e07227c97109e98a7aaba2b5aec40db4b99070e1d108151afdc5ff0503bf6e0475e3cbd891c8e55fcd78693d96f2a37cbd5f9ed5c4df9587bcd4e5f8bc0375c7ca56687eabc1b21cc6e39a3aef1b4c6e1747a378884c8954eed631f4470503a254ff606d70cbe862a6d1c52a5ead65685772ff19c9a0a670446060c3ca16a60341bde99b591a078cf631456362443c15c820548922872be480d55803e6eb80b20320decd649ba8de784bd78a02632aee0ea2af3076223d5c97537b6c72b6ae772103fb944dd095345ef73a8fdc4a400b32c1ca9cd7cf9e52e48d6e8c265aae2a931903c8d22db9935ee4cb275353d937a38705cd11663dd24409e662a203241a29f47403fd006e43def3cfb413dccd984ad600b7d1269f7fed89dad7ac1301b7ddede96903cc0fdfa1965ab0e426e8859a2bb2325727a4386365bf488ec73552a8e70b6e5203c7b6ca4710aa074a4e0ee3bbae7a5062533bfedd60a736a242c1dfb75ea2ae3c03a141f26c38ae9cdea5eabe296e6784c75206484629b9f4d5a9e26d51e442c9e60360c33d2396bc4f620e2b15edfe581205aaba752ddc2f3132e25bff6ef14297cf03e1294c2b604ff8f619d54763cfbc6553da9d7e6b3c06595cbe2f8e9759e9090e03ab4b43dc09bd4e0b13aa7c8ca71820e9d7f6c0c49932d0c71965917e34af060803763a37787858bed2e2bb6d47038b77f1e33e42ce377b229fe20e61dbaad89e7103a764786ec82d028130955de8177356d0b77ced9f2b15eff2c77540d4b5a64d0e03ffba0f9b0fa9c116673597d1fa2ce2f012ea1a3ff6e085e483c7049d0dcff31603749cb98382b81e0ae562d4b8231fbe110a203ab65dfd17df31e36a63c6da3a8d03545971da274dd6cbcef9aa145e06f5213c26157e099d4970bad660ab6b285c0203ab1d9690f49e6fb230f9c9b1ad92e29c9788e2d5470aa822464592d8d2467fc003f552774c6b3fc78cdd47dff330ff9eb6301b509d4acd75388580dd4a345f45c30365f26a231ec09fe8dcce8d42f2d8d3d2098f09f6f137ea214b7372f7e50072d003f778091730ea60083e98705217492736cedd6f4a501f0a7703162e1cab57d6a403ecd8333201e56d9cbc32ac25aac6a9e97c63b3cc8076826f1d0f787aaefd625d00581f03ff58c240e7879deb05309cfd102a18ef8c2d9d1b7ba4032023021387a1a05201000000000000000000000000000001000103923e3a467a615c45f3486fa14f9b1f29f1d549d5577c1c0135c3b308c68f9648038f2337edc5e6049455ceddcc3cc5e038ddd8e442451ffa5a6a10eb1bb68fe182036c81abd6b616ac0810b88b82c0c0c4312987bfc7268080714e85daaf865d50ba03752ed7526bd4349628cdd6ba562bfb09f22fd2ccf77c2eba3c6686c9d5501e9203675909f4ade14f246cf54e81b577745a6b54cf2f43a8300b12fb01e798b335de03a4b8f7236b3620080471d21efa16e882fb63bf3599a4321777ab290cb448b27903dabcf7aa017c727f48663c21c6bf65e5aa055193057163f76a45674f881e0d02035ef9822afec639651b56965f2624189c2ee17f7e8aff030214d4c37dd1be527f00581e022059917fe5bf113d013a1d0655e71f8d8b36db7a3cc4f44eb4792a20445201000000000000000000000000000001000100581e02ee625064ca8054df5a7e4ff3a16eeb2d04073a1be86c27ea7bfcf96fd65201000000000000000000000000000001000100581e025c7ae5ffb27779a1a8011a4e71197a305af40e73c85031d0501df44635520100000000000000000000000000000100010219081103f886fc08f5b40cd60c9e3f8b8f202dfb2fa4fabafb9329757cb5831b61249cde03b4b1e06d12f52818f81ff8f06220d563ed5c114d20cf8bbbcf8b6796bc8731aa0219ffff03ee18ebbecda75db5de91f08dc5a8c2e27e2cd3953e7779d0fd4e6de46131a28e03318d9553bc276f7afa9867cd2b7ff37252219c40e612dab88603125ac43943740219ffff0315252d1b4a0f783ff88100862ebe8613ae44fc291e5409789ad297bd9914e5e903f9e541f1d1dd30d7faf3575fabffcda4dab0f781504684f7ef76242b87862d160385f6340e13bb19f9c445afa1a00943723c96acc17692d4ae6882bf261c43684c0352cd571ff44216a6733de083b28a61c6ca3528762542fd4c3bba7b5f4be521f403a93d8bd4b7024dc7b100f58cd521a43f39cddfa8ccf06dc2ce016389192a3e66032cc7f39ab88257e2980dbc1303144fdccde218f48f4c313be8c7fee85662648c03881f3bb75c41478abc4e467fdf2ba2d174a400b62c5a9065f7c0db49141df96803daec99206dd338999c7c4383d58108ad2b9531aa240eabee2db64a13adb09075037bdadf7f57d0805ef70d85965b989bd9b9a64230395bdb6131b3259ed432bf94033b8db446f70b3780849fccf73ac396f60584fb2ccf53897cf73b356c44df003403efe5bf2554bd3d736bc9cc679dd9d02c644051cd588d4c90614b63ee77e02de2038c9fb0990539ed4a35cc6d6cf048438b34dee7a141bf7fb02fc3acc4da2ba6a503b62240b1f616a17a191d2ff4739f4194ac4561696def15f524f3aa12ff391fa80219ffff039b0533161007a84e38f924e2796fc5fdc22febb91c7e91ac4f70360e482fa39003d124a06b8fc96013f29e7820d7a1871e8d2357f2a463414b11a9ec4188f2e7ec03b504687755ae367cfcc596319449fdd26a3664e0768b10ab2bb2f8f8a44401560219ffff03e2ad9243fc746d491eba69843b9f6f55ce3fb586ca4f503e957c241ac59fabbb039b2166c77291ccef6b3f2e8fb7517b8889105aa1f14b69debdc3ec063e052c7c03b0a2a88ee305d1f79564a25f953e3ba846372ce7bee9ebe7af1718f92eafb4bf03da62a515a0d5207a300224117da677c8d051095b6becff4f52c7ab6d06db7e4403e4f867ba01a90cda737f6e0e719805d83f04fada441890d0ee85f56581fc0deb03e9284a9962be2256313ce6ff273d3b4ef9b749a3353abb9e8a5e06edf073fe65039a94fe92dbee83945c20244a4a021113b984075dcef6ff9ebfc9082e5f7d8295032cc01e74670ae212774a8856a51219da17139ee1c02bad1b026c900a4e6a191903cb3bd15bb6e0439e9cb765822396efd92ca003819a80c9d3a851b276e8d30c5503ba0084f51f9a821f6ccccc41a441c5446d8b14910f887a59aab5ede02236d26103c53bd953955658d617e0c41556946df29c280902b29932eeedad0fe5380e217a0352551fb5333344578cf3b93de7f061f0e92ac91fc318aa4dfcc7ed4786a76c7f03010dbe8b0f358fcfc3135e4ac947025460f5d3d783d46a55eefbf66d156c0c8503e5dc91d59bcf48df74fb38cee8528cfe419c94df5b753af369e918320887f04a037d05ab06a84f60d8ca89f5ef734883da7a0f84bef2765f73f749fd982f621662031cc04189334aaa0ddf7b05e63a9286b5ac76b3ea72ae390f7f0dd9210cb2041d03cb35536f8e4d37ec13b898915ddf49fa737bb68498bc2db55a3e1411f67981eb03f4a0a9a17e7cad64a257e4286d254a00fbedd696b2690344ed1a1686f4f5031403466f089377103337544dbc7194a10e46f3ca4f11fcc5e6ea275b905b1c2a847803524c0e9f4bd670895340c8da8d30140c0d5f9ad43abf85ae303993ef4d64a2cb03c055e68179b31e4e2f5639b6eb296e0a3905df84cab90e48a9e0302a5bf48a6803a6189173062b5b9467c965abf32bf17c2883003e98b4391e87806890881a2b1a036b0472137e4b925ab57a77be85ee0c3ee43ffff04c904ba6f61677bc02bc960003215421ddbf11ff4b53cfcafb56466c5f63b03f3b1fd45b18a5e8917ae00d6bb7030aa8ff33ff0611ca3275a0e2199dc459deaf487bd6469bc901e2aa5860cf174103175a17ffb875272e1053e03e40124b43e4950977551b9fc4c30ce94d1c39e3ce039630771007d8098909a1caf6520805897370e1d669d792c2c2135e6ba65aff7d038d819e0b336d19af8c2a9611e09d0d7c8238aec9d4415074688aaad9c43c9c9c0324fac9462160faa6258e9372d723a7361ecd46c45b6b49ee6c90ea48eff30e1503a19fa76285d4a6b9780a94ad998bf85774f38d9b6892f45341437037b8b288bc00581f0378d54f2721b2ce82d37799bab11930919a9b5d666ec5abf0fd33b47283305201000000000000000000000000000001000103daa593fbbdeef84cd218fd751c8e55955fd566e5f170863555e55c475db5e6f30358337004f4f2233839b7776a9d54b5ec8c38584e8299197af363ab595d15827d032d3a90a98ca64a6daa14d6ea4b8741373470672f328509be854a716fcaca97f503e213e744e28cf5fee312e4abcadbe2a74081ddab558175eee466cc1d08cc79a40300c2e5be4362446e7955237667d0c38883184ad0f33bb53a12ede1f19c076c6303350cbb5a5caaf8957828313ff492723e1ea76c686ec098ee315bf1ab66b5662a03a7e77deb05291ccf73f7426a51156ab5502468662bb1fbd075baec352cba944a0219fffb038ec1758bde6d12c7bd1bd80d2a9c34b38efb04eb32830eb5b66515c4eaa3202e03c13309610fe39f96761e6a815afb4dc9f31bdfb3dfbb06c20fdf60c6570a0e5f038db3c27206758d0015a7da44615d5dc829a655cd7a0131f931ea7f66c6ae1d00030e18bb26c23d998226ad236b3a51fb52402e7fe5b4dd33e750f1abd6213c005c037c0ac0dc9060c29009d4fbe3a738ab890754f4e6ebe96b7ee8a2ac412b7e552f036b361adc1b728a0d76a80658753f12817e49c4532faa01940b720c920ba35903030057b8530ad46d548736cda2a56066e90e9c7da411c0107e6c18149fee911e0b03f67f7b550b6ac16b095c99a3205d20ee4703b1d9498746323244a2011ad0788c03444966cd7c12857379fa15db9bd437bb44e46e611e204178b4527b41d74c582f03cfe0ccbdae98eef3833606aca4aa21f9893d83e1dcc57403de2153587ac2de130219ffff03c984ed72d9b2a6988f2a62fba442e98043e19f0b539d34105ab2753975b11c060316f3636ae39ebf7105ac8d7b22e787e0a9cf3cc6d096ac499042cba96d679a9203803c384ed81775ad383890d9bc98b6bce9da48b5269494ac6c833fcbecf67ee803cadd3b0bae10e54a7a01459725736b38c56bdc27a547b4a8491b6b71afbfe30403a722fd3591d327f8113d32b10676ff29503ede7ae2a2ea33a8c9d0dc663ae99d03b4681f36e9b6ef9ad18eb13a8e894aa6864d536bbe1a7d8a576b5c308d9aa658036dc43d5a7fe851b64e4e250ced4d1acd50da03edad5ee5bd4631d70035028566031825228b56ca77238e698d9cd39220b39e7f607bd4c7d06ab018480fd580e8460383b0c68f1b27ff51cf6b207847716aa611e72078c0afe9bffa43c59292cc4e79032e7f23cf151038dca565e57526e005f3f71e580a80c4e0de66e1a6c8ccd0326103565b0e7657c845c8d5f14168de863a7606fe62e9ef7fcce706260ef4f3b5a70f0219ffff03ffc324879e7020321ff0bb2348503a3506ef06237cbc16cf68c874565ce98c570219ffff03d86258320240b8ba183b9d9c7b63cb7d2d6be56135e8c700eefd24bbe18a7a7703c5605bdbe4d83aa5627694b3c8505a87e682abb69f188989807bd1e9492461c103120d8406eab1b1aa87fa0755613a79c12a270fbbcad8d716e56a5d1e86bfa63b03ade4320eca21d7dd037ef9c952125c2a201a61a5bb53fb3fb040aa3fabe7277803fb9902799d9ec2139d7cd90dcbeb4f9fbbef784fa965f5d58356fb8ec9a2919b032993de45bfd3534df586d175316789ca288035e0f8dc49564d2d48928288e3ac0395c58c74c7571c21dd9d5869ab884bcfefaf1aa3ed8d2447a41fa1e3c35d96d40372c9632519fea8fb1d86d1239560bb3be75a397b4b33653b88f3f7416b56af5703e4d08d5f1fe3e43a64de1636e0d8fceed266d61fe3be80c7757a8e2d53cbe5e3033e9e2fb28d1f1aee8e6baafcc91f30908daa90fe71c2ef6f88ac7ceed01d4dca0313b92fc0c4209733fe40d534f4fe18c6bce5c1ef3e22a263321ab6dfb087f2d9032d377ca76266f875f005c227260316490a01c43aa9023c520b522f79bca43bc403a0aa718f11ea5802229ee4565b637572e7c4fce92f3647552b77836b52d2ff7903364ea30c0c421077893d98036c9490d2137538011907783d7b63e5102890070c03836f3f757054da89f08e8858fe58e6ec3a7010c251c2f6141e300f0fa2be6ce103cbffcdf7b26106bb20ca967e86478cb04d74dfed4648150dd99393a7e3ded1ad0361f6e608a992fc76803a7cdd354d5bb97715c5e23b3b8e9ec6766f6eba09e614038c6947e39e5652853dbc8f99487efb2ca4f1f683327ef4acb86ad8028cd07e0a03b1700777b51d8d52473f112d62259a61dbae2d1d39f7ecf05cc1e8e77df788d603e60fb58dd82cd567cca75c3404dcbceb2d5487af8f6c268e60a6fbcecb37dd8403c0f45822b7b62ff385cf5fc7bbb963ca11ff58a81b348d5ef81443a25278aec60321662975d3c09a96876590d6f6dc1aa385ee51f4301fcc3b68c3beca71fc7b7503c8ba406066b9cdb04bcfb622a6b6482310af9ad7f7e6c69b2da0d69bb004642203acbec0402bdc88bc40e4de26acde27dcd18527d7e9e5956151c35a2ee11e7e0d03c11a0f313bee131f6eff016e98e411bb6c1852c36a345938f4135d611ca3d73803e0113e4720430e87fc700058fdb450b90868299937f2d2babae000c1b66ec59a03884e82563f7955daef56b20ba1ebf8393a348f5131af2fde0fee6fb3cd8ff27c038567ae96ec2802272ad97ec9524c29c3cdcd9272ed4253dacd67c3c0cd3a45de03ee85f8e2b9db0a83ae5ddf29914bc417dc371847fedfa9e4d8c36cc51bebca7a0334bec8ba39ca9c83317b3214e41e92e08d03865b6dde6ca019c796c3713369f803021c942058b88d7a1dacb0c42fab85ca0607d03afd3309c57f6da253fd60cdd2038d7f606a83050ec6f616a48291ca72b75dbab43884182079aa0c117cbe4e652c039d47027dfc9e02bdc8be529e9b36f068249764eaaeb03b4f92a01e45f1f1ee1603cc090ca465179ce8919009ee9ba76090b8f3841a29eb63e08ad2fe3051f505d30396c085964b56f0fce7caea56367e1a96f8f1b55fc2f2548f1d1ae0a7d530855c0343867e23cc7557216e5b1728e3cdd8b300a4548f06f7cb12628215da88ef9ee20385d66c80230b6b75e27dd7fbbb535ae3228ecc69a228f654c610a83911226e5201410903468f0e4265b6d342141139fa159924380e3ff7ebcb8c0ee3d89b163093ae3d0803632e8cb54e2a698accf5d886b0f1e7342eb0e46369f30cc45ef5a52a1f874d870333dfb2e0206b0e6ee2b5584a4f654f29a81bf6e12b49ce4b326020150859b84a0307998c71a69e358fd6440bc93253cb4b498322d980d3a4fef95b8ee94ef78abd036126ea6d67bd91b0645c76abf9e9ebfca96f2f955be560333adb8dbce888598603703a3938045b3714a25799e6d743a8e60b1ff6539f0c642b4ee6b1eab8301a1100581f03c8ff9c6c609c2055eb8f4f88d74796dcbb612beeca71571d8855491070205201000000000000000000000000000001000100581e02ebb3d74b73cd5704c78f2409eb6287142f3c5548f02d210dafb96a17f05201000000000000000000000000000001000100581e02d86b09cd5da322c87d17d3c65041a04599e7287cb853b349071e88bb5f5201000000000000000000000000000001000100581e02050b3f157605ff946103b5ebe0afb904e66fde90dbf2960d70ccef0c2e50402a647c5ace1bbacd31d2918f0798ae00581e0209d094a050095ee857cd0c35a36f6436aa700808499736630c0826b8d5520100000000000000000000000000000100010219042c00581f036c945f355f45a7f8cbe019b34951e1cfa3681699a53b3098a0934ca40a80520100000000000000000000000000000100010219ffff039a121cf40e2b3ad8b707de94d8913bac703d86b9dacd93e0e44f41e5cf88f0000325fb5d8d53a824c54bc73282b1a0db5c0725aa37272b48e5a167f0d581e8beea03de78c63ebe5966265aa38dea562cb811822d73d0c1451d1ecff5198c5c25409d0398b4d8f2ae85b21260d3321c2c04363ac7f8fb7a5df465f6d4fbc8e6762958570219ffff0390629a7aa4548a2ab344101448addb91c6fb3532e1184451e9fc169730b308b103f0a18d5a7c721e89b70804dbe30f934ce89f8a8b331c9727866fe0db28f093db0332b5a911fbb58fed124b9964283ac590560bb63b370013b6dd8b81f561b83cec03f9ed02b42a7827a8d255e087fb34ba100835dcf4c1f8a2e94c4885b07b33064b0342d52e8cc53bc4818af0a2a9654642d32745863223afd3f4c82e820baadae58f03b4b79f1951ea4d22c73aa947f3ace315343501b55ce164357ff8b5ed0c57cb2803ce0d69862dae2c6bcc19a3049f62820647d34d1b3d520fc97cd7c999f109c34d03d05500ab02471ceb22ad4bf87ab67b7f2a260016d0c8c4c3b5a52c7a5ae755ce03ae289cfff5788456ea1cce53798677bdd77b164b157ed3e0f4927491dda464bd03f0c5ce233f586c34a4c406adf19a7f85abf0d56269273947771e53e4955249a20219ffff03a16e998ffb4a831baf526a642e0043a32a46297eb1f0f1bc9d43dcd6a91d9b3b0219ffff0321f02e05896edd0b1faa2ed97d1dbd9157da3b5b029da9e8336e6a62dff7e748039f32d5c4d8ceaa3eee40a104c8a3d61f88b0c6150a0a3fdd8be8cd6fccbff9ee0346e1ef84ae506843f20f99b31ca3376b85a228dcd9b8504f42fda8b29e42099e03d775161072a70be72134559610547fcbad40cbd2ce55a8246755dceebeb36a0e03315c1edb7ee8f2df23263d1d827b25d88e8f98aa2f68b671f5875a5d9682b41c03b98f44341b755d2a46c50be41dc6496885262c12da1ebd4471aa9369959f66570358d767f14f36ef495ed934ba19c66b7cffa33c95147fc1085593f203df046f050304aad862cd6a0393ca540d6a9ede83e211ffa726a59257f3277b9968f68f2787032dc09a18faf36f9f549db3ee724fba6faf0ddc53bbff5705aef3cc2cb593cfd9031f95ab27bf1cf78594966030ec558e66563fe0f5a1c092e7e4fcf608d4482ec70346527ff7fb7b6365f2dcb09f4f7d105e23a8609eff156f25b9cdbb8159094fe603ec542007fe5c092669f8b5aaa8aeb11da11ce061e46a33469974e6c9c96e0a4903265a956fd5882abebf1f9ecbed5029f33839a4893fb3ac97725b19da447b541203aee1b9ca518d30a8c20e6a1064a7d4423d526ac8938b90142d0d041efebd7867034e106be3cc3080e8087ce66edfe599af7c865b1970779fa70361af6b9ba91b1c039159650d02bb21aadedc2971164923e0aa0c30306a23a8767df5a39d9e92f858033c1b5819509594968665adcb8b7e2828f5facc6637dfc6e137ad8b44a0fc2cfa0349d2df82a069ffff41d024a400b855ffe1a381a48223675eb58966d0f7755527033599f2843cc528a27c6f82dfde5c441b4c20a2d80fb46778468eaab6070e69b70324aae2dcdf450d4037027731b934daf44a16e9dd42666c84149c9df869a26e4a03ad5da7ec3429909c9203725ee566288e29683fd5c54cdbb6f93fb2e3161c70c2030489ac2b4de00c7ea2267524317480191b19e19ed1085907a1b392cf6e98a1fe038d9bdae96d35707767221cfe7ad019f921854219715edf31dfa8893376a875f803bb0780a4229895d4e9f44a5f5a9a1091202e58316b7dff57186031a6ef29366f036f2fbee9cd21b85297ab28b110106286c5d79868269d3a7531c4e3fe120671a303d837eedaadfc8558b9d727078b8db2b861c389c3043a8111323aa13a982c1af5030b08ea37090d55b501dbc7d34d4a9e008654b8dd86719231ef32dd3168d1373b03cb27d0703a19f8dbfc674c928ae96ac79a131e636873acac3736d53c57b45f5903d3aa96d43bb1a736365b91867fcfc4a75126abeb5da5042813964a41a328b1b700581f03bfc720c9b200d7ee06f3016fe4307963493efa429cbf5cc90fe0c6800d105201000000000000000000000000000001000100581e02251170583e440c38aff7742bb19cd07d9c21b2824faead8b929c5d341c5202000000000000000000000000000002000103639281bf36e0922cb29d863458fc48ee76b091161a90bd5a4aa8067e8b7c9d9b0219080403bc5d1282107b3204e0ada338814e49ee9b32c562e2d4c8cc2633d60ee3ec48a103380d8d6d8b7f935721f1e110a48a0d7bd833f01f93c269accbd4eb86a4f8d0bb033bdff82b6625a9da06b0d9e5591794994c2b4cfddfa299233fd61a097a00148903db78fa2044de9bcd807f7cccceb90a92fe1bd8fd29997292d261cf2918f1fbe603adee51040d6f8bb2222fe30fab29088b2650cb2a09f64348a75b7cb099a23e51030770598d70d1c463dae41888cb288fcf5d7b809dad0d7d1e8ee69e30409e8e7b03c432f6ecb9241c31cc4a11c3a449d822594207af1944978a470d8adc2d3c4423032ad1b49f3b508a7429f965ac570d70be8dd25f48e96ffdc44baac7d8c841fd4f032a062fbb555332e35e7687999add3d860dfe747d5009f33f4797f66dcdeac55703e2518435064621eb24f6743e52568ad893de72ddf4109dda1b7e0a9fabbad8380219ffff03326658540a9fbe57b887dd16ce2d5a5389084f1ae26af147a120ede40703e545034edc8310de62a2bf7d31851046b4f39b161fa3d877045dcded26626eebb055ca0319b5ebdd3e28b164b6d7121f8ffb0baf46abd3cb8aa712c83a72aef466ede01a0219ffff03edbb48e6ca465175fb7de1ba6733ff6aad3202518f8b43c516fde66693576a530312be22d7fd3e65de3f935e64529fd7c51a7b242fef38b4076015a715978506d603bf9b7f53718a4d2579a092dde25797ad9bc0ed4fc877d5cf1d8c6dd5840ae9a50383da51c5a6940bc037ba3af7cb58f5ffd1d969ff1cda787a4df1867d5aa394130219ffff034c59b6b5b5041b3a33ab62c33b623d8f88889e805fcf421ce3a206127883366e0383ca3fff6a845b9f6997d7b9acf995171c8a68790ba7e0fe8f4faf45f5dca83803e008b10693c3c48d8891a4c930bcde640ebf48639b599a653629db20a303f69d03418a48564064188bca0bdea2e1ba3c8693c4b1cbbe63be6495ffc7163f99ceee03e1bcd56320597d5153a95a990280d35f3a9dc8529ac23bbf1574f88be76cf648034db0285754ef442b88b496bd393f1fe4a91d64e1e15ccea875bef0d0d7b7c4ee03ec4731076dfe6d937c10be67c506ed853c3f615f708e894d121691d44ecaef6103d43c7618da0624764da764e7b5fed201238541e5cc45c7e0587ce00e4aeb95b7038e0988338973e59e5343ecec3878c7fbf18cf3153dcfdd6bd3a4fc5ac94c57260380db45ea2e79e07fdadb141beb835f3897797397c574dd654f08a7322239c19303ae539a9422a70b6b776fa5c3ae769c9f646541406f018bcbcae116519c8730ed03d3ce7de547875f04027512f9245cf30542c0016ad2dd65b570aaae889dd467450313fd7001e8f10e6e2b1790e2e6cc2799a5f76483945d48049d3d548f51ccc9420344a83603513350c50d1ff38900ec2eff7e20c423cb51b9d8cfcbe60cc83608550219ffff03567d177f619e26af95121b333243d1eabb7ef3484e8d731eabb39e7540a551c9034f799e9b9bb2137fe56815576e3744989c12365bc7ce2b99468047ebe046c6fb0219ffff05581e03c5b5bb0687c0f6826873183c97b85ba3ff50c0a1d06565bf8453120dd00701195f2f03d949a88887bb4678e68afdb17e967b5f20c6d74a214a89260604944b6ec1a63305581e03541ef4634fdd29d8d6e2342aa40e49e500f0c13487e427c43d58304e900c0147020024318d4da003c918be2dbb8deb3debad2a1fc40a6c65d761dd86334c6008044ca8402950171f0219b33603d2cfa407b563480fdd154aaf6078bad51fcb33bae0baca88c17f71b02de422d1034846b5ae3d641101dc30ad41128b8b5842f7dd77103c9c0301f0d1709c844be00356656d2346a90143faa1c7bd0b8595441bc73e597779235f6ed7b960d85d97d1034f86e830bd9d3207acc5b14d8a3e1b6687d6097d5c17f969ff24b89af3bd6aaf03d867100860b1c6a305c1d5ef5a60736cea217691f93f23079b622577bc7145a90219ffff0330c902001fdf8b547083bb1d3ee2bc2f06c0024bd6208ef2f4fafa374256751a038b027e194f41977f639aac24eaf904ac291db90cf071c9e819761a13defe1b98033635e951b989e5ffdeb48c5e90ecb9534576545c20d01e2f971d72fcadefe55d0219ffff0323922c2b81b994032c5150ac2672cc9ea3e13fd8569b80ea67385a48cf2ad49003c75ff4471bef8af0e3864eeee5608885146edd52e9b0f52ba7f5b4bbb4542c3f034da8f5b24f793ec8bab0971c51a8b17504e2220cadb506ea267d634ae811b682032b2e7709aeafc515b5e432acd5b6e3d523824b29386a43dd8a24ca6b0cf5c60003eebf91de4c8e2a60fcbfbbbb82dd11e60e2183eadbb467d284f4d1bfa632c0a203d72737b0c157aa6e7cb7cace22b6b212e26d2da9c9db980790cbe3ca6a154c31036255bb156820686f533b0f2b0f3007278dd61c1c552b39c37f74b301040238220361420eec6f5eef626ce67085e16ddc6c9da25c9291c01692399df4384cc915a9033611fb734c6f7318ced8ae30bc09bbb0f7a36d8b022466aaa0f09d1d1ce4121b03b612c3ec39da7826244d1ff2d6cb83f7ff6ea49aa176ffa0f31547303e92049303e52fb68901101e2e68fad6948fd7ee81c962be2e959ae572cc0205e2bdd1b8a2036f2f2c4164454380277efa5a72169748145df4cef0255b713065f42d11f37d4f03b075bf0cf263456fca09d6d4aef57bd77752e73531cfb74ce59ea6e7d55558730315fc36db2107faa56e818f81a0b75906898ea80484173be5a0e2a3c92f1f003d030ff4c44efd84f13ce9fcddda74d3da63f3c97e89cea9cf13979b21eb9cbe4db903c26bc239ad209e85daae18469c5e10c7810e28c7727abc7a4706ab96e4a1184f03c25bfff3a14e7396df799e03867956b0bfbb08ff3673d460dc2d9d42166b4a5c03afb1e80cdc7659a004dedecc500c4d458f1b9e4fc299bc2db3968c0a0c65f14f03b4592bbc7795169096cf2abb42c6fb73c8de9c6c85ccc7d0fd30dcbc08d100ce03c6f1b738bc825b1fb513bc000f31a8e43bc6843f47aa7e9975163256f86f23100347ecb53492bece4559454b823a537411227b66c1bf22cbc393c0e7320fb33c3803f3388baa4464b7fe6dd47f14e0f3f9a691bc9cfca90cf47a7b7bbea61272ca03030d681b013fb14bdfb5e32ffab2ce0a514225b645ce394ff561a719f028784e0403572cca2d4fa5bdc2722f34bf75e8a9393ccee416d1a874bea5871f3e4730b83b03ea7f02ff7ea76b623890ca4a2d976fcfa7159db01e51351a6812fb7c0fb1ffc803157e1d35d95b46acb1af1b9b932240064fe219de88082164386f522787cc614b03547474aaaa8454f10d7325be17dc62682fe05c08cbac2ddfccbedafd04c2f78a05581d021f3ccfe74f6bcb56653100a4c94c1e138a676b11d509b79e8de9a3e407011bffffffffffffffff05581d02975782ee90afe0768e48a07852b659430e10370c77dab16b3f24d0a10c014504a817c7fe05581d02f2c6e47d91e228cd24619c636ffe21b7f475795d0f6b8d64d5161298040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032038f86061b59f86888664d88cef65aa3fa3700e52a6db5426897b08577d86e24190315b823c1634592585abd6c18feee8396c9a1af4709a7b99e9db986e5f30dcf9d03a381e1758f6ee342666920d681010d3261ba2eea143e07d9f936d0f0ee43061d038c8691f61b28c27da4a6e78aef11cbd2c0df34cf694e8af534a03503b89b298b037cf542cf1e0fe8c9e022f8565345274a016069d7f7d8721bf70a0f716f1a6a760398087f8f59026df026f944ead2b8a18a18f6480818279bfc206e7138d32a8a6b036c28bf507b1c198cd7496a7dd963a819c85e99ad68a1b7d75f13f14166a8133803794f16453fde6165383258c60d98167cc48c5ab3c905e749b613b248aa8869a2038c2a8f1009187516fc0bd781847de1f7d66b4479990068a36310fe6ce41901aa034fe8ff20d474fc2a43d827c266861c134a65e5d1289b9be9b4c9308adfa560c30322964185bb8eeaece4b4908719f1f2336042fd057f817ba2425afb572ac83ee1039a4fb5d98590c4c1629351aaefa00adff1c4836474282c8ad060b912a5ee36560330ae47a50b8622c1630c46de251afdb8729b4156d0cb8a92b0ca4a589b3de92a0361d8f40fe586627a137e058e181bee265319e43b9f20d90606764da2babb2b81039faedc3965f9e2cccbcc9904cc37bf390cbca57c10f0bd731c70feb04e109d3803c2045ed7d42c0e13d35e2f5a958e70ca147a1416ff5bc2d80145fcea6de96e3803854996540330e5d07c91799a53f327e26ea7ab227533da28e314b2b6453b16c70337fa7317b432ba547415f2571465bf5725adcd5b30bf3e301e706980b73b0b730329fbbba0ee8793960f5e05b43bc6f901656447449d251a647489077f22ded73b0383339304a2dc1356cfbaa4a13aff6537b3ad5f7a5bf0457bf4bbe7e93517ec3300581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5076a750b978c2c22cf8056a177f7f4a4300581f024f7a637a645ad90208b398ea2a22d1cd25916b6f69c0696798ee29f5e0a2481d3c86448fef6fce02190220005820038f84db18e8d6f2db55d6e47ce8e1672a17fc5b611ce25f1a663f9cfb9311305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f53e15d04f89389b7873468fcb4255680230ef15ff36cffee84c200844cb105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021950020350a4d037fbdd0c0fdfb49ab14c6bf966f93569f2628f153911a9615404411adf0219ffff03c33230f164ce97d081a61f5525d469d7ae1ab71a1521a3716cbf357b3f16eb3103f741aced1bc831503a2080428017cc1e641c821f2d894300c34212dcb3b5bedf03f40eec2adeaf09b296c90ce70ee0a945062093f0ef802ca06ff54d40d85139ae03760dbc3c2bd07474f79f389c14ea626ff9c4e033d82a0f2ae2944b00ca75ea59039822356bb06450d24a7e9d4c3d22b17add8a374916f388c2167e45b0212fc5da03915e4047413f2c4329ca9d65a285ccb438f0195240fb17565a8b207a0170a3840339a7bb160d02bcc3578b8c10b1238740ff1bd8a8955364a22c1f02ce14c330ca03e49bdef3f3507081f6b9e4248bd5204011c56658bcf9c49b51cac120cc7cb78403b06c5814a164c914e1db8a53d21ad9c34d486bd1eb367d04a9f643462b94650900582003626ee70efa382a46fab72feb1bbaf5e56bccafe45c27131e3d2511023ffb005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200352a9cc20aa1dc4ec54179637ec8d4de38afe53bb0344a2a0bd7dbe4a52e2404404d15e4a00582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20334d98810fb4ceb572e4a9dbeda5c73134c8c6cf678827584cff479d47819eb62005820034c0824bf06cb19078f44c3104e3d507eea84679608f18c29ca95cfd55869405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e58a5343d532e038472833cc73ffe02d5075ce4ae0318e6d55222835263820410102198361035cb388c962d19737771dda0bac31b45184ec9821bcb21dd54521d787989327a90392689ed9664a90fa687b08ff75867b1328044c173643c404bf77c36de4eafa810300377993c82adf5362830ad765c033ce6083a4fed78e295cc4cb2b383cbad67203b879851b07f83e4ec4cb1051ab59fb5596edb8e8763b8ba713c3dfb9f39daa3903e719e854486e66f531e6f94b5e28a4002de061a75d1931a7052a2f7516f259c4034958afeb0b71d22bc5a0e8d90301fb4bdb6eec0254fe6f6f6152439814e00f47034c5e60139b92fa3086389ef45d03c6b4661813e5cbaeb3dfef970f8688711ba303cca7ce65364afd8a225b4a1407cc77b2c5667d6bf1e42dcd7943be58d73e8d1803649fa00a61395c256e10d64bbbeb0596c7b0d386294f3754299e02c41c370bc50219ffff03e00d81303518b3cbf9e802ec8b10c55b49f34f0dfb63f54cc5908ff516894fca037a13d06ccc5ed019a9f7709431399a18d96369cf70a44f650a4c4ab6c60b93ac0314d65a52c3c7cf558fd6f9e8b3fb1fe29b636608419af6cbcec61b2c5e7c8e9d036a6f3324af3ef2661088d1f49c0aa4f8d3bfea97d0c86d8809ecb894a8ce0c6b03db7536afdfeed903aaba6caa3f29bd2977594f65a572b2018d76218727971f6803b2b23152e78cac7d250de725a928614075fc214213857f46d2ac61f96ada7c6003724408fa6f634f29a10bc0f0b632bb336f2047ec70d3232be66bd8187dfd08660058200322acc5fc9f9f5240f0bd16f9cb970058597e41a00f743ec36942be125523405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ff3abad47a4f83fe96236940ccc8c0b2511eec3ce0705d5031d96756e112a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f6e0233cd5effeabbe33e142aa571edf53b5b077127c91a56703c7d6092144a272d11c00581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85347d12562491778b357e42a8ef9c7275eac031f021904800354411b8ddf845f97d1e0298cc9e770b8d7b0a024a0c15fb78e314a8efe7d34560058200353504dd588833887a5004ddbfbd1f1a26ca7a0aac9f08adb2301f6125f27105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200329b845a5bebe99a877301b88ce80fb56cb114a45639838455ab4d2c79035b04423b99e12005820032d3395d308d298702f2e1b847687e385e2605e042ef5b62a566fecfb86e6d04102005820034c4002437669a916e8f9648fdca254341eccc009759393e0c61dc9f4c2fd10410100582003fcc67c2da855fd31dd8a1325d2f24f1d59c9ba39965824ab7fe72cebf6bac041010219736c03b7196e26d36a10381d7de9a33cc644424ade8cf090cc03926d0e42f73ed8b90a0321bfc9de20ab8d795c99d22ac8b0f45e0b766db2ab853d0fa68058f75b9079e70380a348b4788c54ef973da48c2d414e0d220c9c4dcdc9558e00c440c28b27653103f4edbd4efe332359475bc9344cee2d872b70c2e3fe4b064a322330b80fa6ae1c032f8a5a2f2aa77ec520994a26a7101f711fd90934ac43c9239401be60c1c803c4033c3477a5f49fd7d3f3ab425e711abdbcd534148e3e69be71580ebfd3abed26530343a77e23027ddc99003c08ccb1a8450ab7883e1f2ed1b0d4a3697a2cc783053203220834f9fad623d859ac4b4afb6b3fda738741d350986aa5be9e7da67a799fb80386f0cb9aaa324924847e60b67246a7c76cd8bd6a3181cd8e1915d1511c446b4e0219ffff031c9aac1708acde4d0367a1aa234ab07b27e30b005f34933d6e3771b184684f8a030ab08dddb45f9a9c0431d16d30c286c993d82553ad91b868f617e6becb91457103abb0d40190f24a74f942dd1bfa6aeadbd64d78bce91522621e014cc8ffb816f303dde2265e6daa62f9c3bf60a8c782540680160c93696a419590066e6dab64ade203970ebe103bb4b729e86889179f8e1bb10e6b54838e304964225335afa71052bc03ddbc49fad12f83deb971a8f807770646fb28127560a0712eb2ab298ab11a1f5503cf45de6ae1ab41bcc5ec80a0a5a2739861ff790462fdd17a0ffdb9e3748e6ccf03d9fbae604ce048dfc1c4b4dad965bf5e2447ee7be19cb56f5c2fbb191fa893df03f64a86ace7070f4bce35d87481185193415fa16b7863657ab7a711856c1c7b480375d0e483001443e51f12319ff9d9fe1af0784ed3cd5743d029746d8a236d6bc8030b6f16b52c050a3c348233ca376022922b74613288e5d48e42929809f6ddf65f03782ed4b687692b194c728d0e8266f33e6ddd08cdd5b2b3e8ea6b17f10e27488b035bc90ae5e4f520797cba256b391dd5e18ebb0657974f1998bdc9bba13762297f038a7e3a14fa2f35aac8a49a748278b4f93c91216c0b0b85100db4754351269f9003cac351a25d256ac9c33cf6aecaaf70718f8b38837071d4742063bc893156e69200582003f8a8b1f4770f92aa4757c489264004734add1a4d9ced96e622ba755d2772605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820038aad37fa830ead099733f854e7761e192274d57bed449adf150c9434d8c3c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031cce5a553f6e8456113f718c35812dcbd1b2f3c431b4b620d45fdfa2e7ee2a7c005820030bef416d4a7fe5a505d99471a3852981187eebd17b521d3b07e51999f5e4705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005820032b06354cb0516ebd6e200f90877e54b151c2a5d1b6b51eab2f8f97b868ac805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200351f30b274fc4278e37af7e819f1c664d007e73d86e76620ca6bb44254730f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a8584fbd49d585d477f7f6aee4a8c8b227e2eefab3a150d9b7ffa438428d605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219545e0219ffff0327a9766502712231c635ea957c482f4e7e4109f4357ac416f9ed7be11af6028b03bbbbf4f2c1e726419e6b171aa645d521ab80390a0e06e7541b0778a363836173034844c10c21cc2dc8dcd45f49590bb6296a4ee3d91235e67d6ec4f5a4eea4a150005820029ac88add30dff77a57100c9f804b968f4247d2c53607c2234010576c28bcb65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c566393cc9bb3835f572dd8def838d46bbb37fef3b9cb6e273a70722ee12905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200354fc1e293f548080ed52a8d3954611a88ce5f2ca5e3cd449ece32785bce9505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0323f0c4afb1b14e2e8d2cc21e34af783f79834e2b052a42192c215d822954c08200582003fb9639f22c3e09c5e603623e3e6d6e9ca547706348913deee731ef47ba28505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030bc5a0e47d7fedd40109cb80238439adb189cb4230a18bdb48da4dbc6e63905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ea93d66103a5d9c5a950a591158b8f0f15965e22df5cecb5a0034bdb60955820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5dab00000000000780728a85bc216b6e00000000dbd4fe90af9d4fccefdf00581f024016a2445d517c0a6caa3fce1b5416dcba9a782867fe9eab2bba407b77275820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021904900219845c03cada4c92302a44d94f6cfb140a9aea2151ad62b9246aec340c9b6274a64639e7035cb79dbc6c23d146a6032eb2f7b250a900e7c9a28f32a682febbec160472b857031bc71d290c3f6757809a11cd6c27eee2e11dbc76a29cf551bf192d12575d91cf005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f054993864e43caa7f7f12953ad6feb1d1ca635b875f005820039e3d3778666cde5a3d2fe8ce00d5b465621a5ff7045f4d2767b0233355a9f0489320911471b22e6f0219803003bfda99886a22fbe96b2add2b3cccef1eb9f6a7801b0b6067301a5e001ab0d3de03bc447fe726cda578e776fac1991bd2c61842ad359a6c5468bcbc736e3152d000036849903a5a8b57efe82a24069e9fa24d19e9b5c9a71df5c52485d3b2db9ad9bb0367830638bdc5a34a0737f70e13cfa74431f58ab8a7b815cb13a627ad644f0b6c00582002d54e10d240ea914fceb0352ff34287936a27c814d984f2478d8c60450a2a655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03aa0225a4a4e0f913d1ef860f47bae066220e95d56598050e5cfea3cea26b4a7d0366c7f10baf86c5d5220373168025264947f9fdabd40eadb9e50399846f03431103e2619f36a6b0c413ad85ef95d353e414c34903e706dac63a0fb51c9916732d5703854d3180bb64768e2ca0a48a018dbf09518f262c6f81811f7472b09ea5134ec80219ffff0219ffff05581d0244c6e97fdd9c625af630571e7ef24d6a21e56c8a8904ccb825857fa70701192c1d0219801505581e03a09621b44675ec8f4e0ee96c344647d5bef1700030da5b74000296b240040205581e03487638ce9838588b84a55394a347f3da51134473d7b9f86b7276461940041818031b0d2265061a823736e597e2c49e4f3c8630095c75384814457bcfe86ae51475036c667c9515ef02634aebfb7890d27ab9f1260f7c9b68924987f665850fa6f53205581e031fd2b863180ddbc981b63e335e31ffe54eb1b7e73a0f06b90a5c0e8680040205581e038e9ae6393ae2cded59b8cd1470e9f3b7d95c754d2d0b498536f6af57a00c01470262b4e344e60003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03f702523fbd17422827fbc42ca26f7270494f3a5f759d3f0fe40ec8932007011bffffffffffffffff05581e03306b506a0f567ccc82c38f87d92f4c73a8c801ce0788b00da01247b270040103742083c569dd0ae6fdd66d3a647ba35f5b9c02db17a3c49de16fc4c80f6502a103ee34157c5ee9fd4ebd9b920912d4bffb0eb8b89a8a0ed49957c0e3f1b0ebe08905581e03e9cee74eb81f370525243824e65c64e2483c791a45fa25da60ba73717007011bffffffffffffffff03677bc5d3b6795ffc0a38704395e348f017330e2ee9f2ac5a0cee410b9c9c004c02199f6703f8326302db79453f4610691568d41b2f676eadfcd140fbb285b386f20db7b5ef0219ffff03aeb49cc0bf2082b5e1224816b60d8b7ab0917eb87fa3d128a084d5bb80ab20c903604aa163a91eda0a211d55209b44a3ce4b40a97410ce50780faf1f2a75c2d2030377a1a9685381e3d1fcf6bf1e256eba9165cf231e0f83961d28a820ca27573b8c0357c986be8ab7bd1a688b75a9f189c2a3035af8fc922bab52548e7f4f856b71a90219ffff0219ffff0389869132fba5774e0cfdd71b9e357e9af2910f9c283bfa495f4c89ac9c968310031bfc42eab4af220728af2bed3ff00a85c739f25473b02676ec9db5537ba7b3340219ffff030fb7623b4777277a53b74ffa29c7f6959024d4091e368da434edcbb90798d2af03a85bc13d8049c4762f42a862f8168aa99f46557ab5eca52c546b8949ad46747e030f5c6d4b221db22b866fe223557e006bcaa8c70cac83eb7c04f6a720b2c47fbd0355a27277b19f797602d656b137f73248b219c6344bf89a201c954faf2001802803dc0f4bc35a1f2b1539422f08764dec5b678df700712a81053c03895261d7cf3c03f4db8088b20467c1f4947731b16eeb06f69f1966f862fcb0f5582c375d479d87032dfdde301d58a1d81d05bf06eb5c1bf10e4109c629f6d56216558477dcd901f403bee5756bb96ee4eb64965518ead6d638190a13b8d2821efa9441aaeee88bf0ca0363788f342d8d973a3f3d348981f532a4ffa42c526e53552783b63ea8d1443d20030077f5fcdb729a18655d8c247f6bd222d7d1cdaaf40f582da2de18096244649d0359e99c4cc0e8c93ac8102c83fd731b0b808018ea4568c12602666d76a35affe0032d8e3e016068ec71e551f97803535a4e2abb7496abd1a8763bb4eb6e205420f5039dad8d22730d6d2d81ed0878877f047b39c4403c0ec7da5d604c6a7472b16d2e037b10c71a85f51c5dc8c33eceeb8ae8f4e773131da0746fcd3bbc639bada91801031c527f1d2f33b16ebbf488174a93cfc6779273d88e202b2974a07fd23de72a050353b2d60ded3d546b17f032956421cf56b754ff08abf2343c1a2f2f24dc59ceb0033df2309463295cfb0b634199c27f8150063e799b7e4f4db848cb5a39fea8db8703a97b5f5ad33c99b803ac73cb273a276736b0adde557178c33a97705c7e1c7d1903274e41c14f941ec901a549de078db73558595d2e4d4c33e76756a3f32911922d03396265de463097f43e0ae5793d05dca10693a8bbe0b1e1ab7ce61b196a654a8703e670da78e44df3d72495ba17c8ec66701ac8ac9ed89b441a25513e25bbf7612503781d310cbf124dc708fff9931c51899f7ef4e90767c4a17bcda1f1a192a8e39003ada5557aa2a88cbbd7c9f36188952af48d4c5e38c224acfe7879f6be1ea6e726032631d3efe78e336ebf454b884c5f60683ffed7e7e286191781867d2463238e2003f07f4b462cb4d089013fcb3ae0cd4ddcc5625bd59553a93dc1651b4b3f5ccf2403f7d5c499919d5346defc21dd0fde2cb3d02b7321e0724405650b5dc220f8bd5f0319442f6df2fa68cb43ab5e836fa66df20133ccd721f14574fc9bbf97a0f0553c03681cc385f42cbb6c1ad85bb1b0976a3db0ca9bb581e92739c72123d9e897a4fe030ca87d23d9d962a449d0ac843ea58b14c6618f51764e5a0641046e3c744a875c0383f13a721a0f53b651b6ea131130e7cc9a5a929986e016841eac9a67198f7e2f03cd47d4096c3ab0ec02876c5f24f37c6ff6d6f2836445e3e6393cfe83af28daea038d1f000aabf7fb439c3fd69c2d8b41b50d8ea74e94f36a3f726bb3622218c63b031a969d207844c84f5270005a6a50c68c09e91125a93d99117ce10b8523a2db24037a4abec028abe512b32a327a85dfb11017d6fcd62cb841a4320308992c450ccd0316757b74b9404b4756c01767d06b563ad623fabeaae445139945fc9ca5bfc80103cefc0ba830189a5fe771048bc5dd493dca4300c62820fa979c235be06caa8c3103342f38333c151c42089e9fdb2db5cb23ee9a2ccdc0664801115fb2afa58544a8031e6385914b2a72c27d2ffe28f1a0dfcfd7c91dec841f4d8bd819a9617ecafeba03a2ade4a7735fb3af57b59bb71c506d26a6fb92ae192d8c58f8f64e06aac3b2a503d39cd0d9bf5818f8b2ccaa08a934cb58b0fb329db3a0232296b74546da2b3f15036657ab1f70a7e7da31316c3eedac95b08f449f1f9bbd7144ccdc020275684b6103cdea66e99ab1f6e581cef0b610a1e296a736d558604f808e63abcee9fd46ee69032a5779ce766dd1fe9d2962e90d9eebf847aed6cac58eed3b789025648d63b0de039d893306086ab2f3214643e7b3b7065ea52eaf7eee392a3c7f7a11b3f2c723b603fcc586e6d7c64d3c4e704b2bed6e42574460a1da8b79fcd8ebaba8875381377f032f2e028eb16e91358029b256824f0fd3d2ce5914422f0b21e7564ae277cf6fcb03a5f9cbde19780e46549bcd802be5743c57e8828b9a63605ebfad69b8ae1f26ce03762480d058368da2136b9c00271e8dd67312daf9876ee4d74b9bf6f590156d2c034841ee7858693c3a4c022c799aa00aad42fb8f34ee781efa5aa90a69ba80f24105581e03c48d48b9856010c9fc0f81d2c996d1f38306f1d4d3bab1a9d78cc7c8b00c0147029602dd47ea000310ded103920083d330b14d0143423a1a08181b96218665cb61325a6b82a01df105581e037756db131297bf060834404998ebea185a4da017584f5cc1ce9b48c4d0040105581e03f2510d5103560190a61967ba314cf0479e518fac36fc9bfe1f08d434b00c0247010f0499d32c7005581e035bef1dd2bd2bdb90da6c50ed1323731b4806bc37e15fb85d1282371e00040305581e030b95ef9f2ae1f83397b513598e29b466797aad696a33d456f3980e5f900c014703639b06357232038533f0c91772c98b8d82a8228f38aa04024141430bd0945987d24dd63f119c4a04593f5160806040526004361061010d5760003560e01c806395d89b4111610095578063b386eafc11610064578063b386eafc14610286578063bf123116146102a6578063d9caed12146102b9578063e06b94b8146102d9578063f2fde38b146102f957610114565b806395d89b411461021e5780639ddf93bb14610233578063a289dc1f14610253578063ab373a2f1461027357610114565b80636d1e4d6b116100dc5780636d1e4d6b14610194578063703ab0ee146101b4578063715018a6146101c75780638da5cb5b146101dc578063921e6709146101fe57610114565b806306fdde03146101165780630a7b09a4146101415780631888f4ab146101615780634782f7791461017457610114565b3661011457005b005b34801561012257600080fd5b5061012b610319565b6040516101389190613431565b60405180910390f35b34801561014d57600080fd5b5061011461015c366004612e52565b6103a7565b61011461016f36600461321e565b61073f565b34801561018057600080fd5b5061011461018f366004612e29565b6109e5565b3480156101a057600080fd5b506101146101af366004612ee9565b610ab3565b6101146101c2366004612f90565b610d31565b3480156101d357600080fd5b50610114610dbf565b3480156101e857600080fd5b506101f1610e0a565b60405161013891906132f9565b34801561020a57600080fd5b506101146102193660046130ef565b610e1a565b34801561022a57600080fd5b5061012b61118b565b34801561023f57600080fd5b5061011461024e366004612da6565b611198565b34801561025f57600080fd5b5061011461026e366004612ffa565b61138e565b6101146102813660046130ef565b61166d565b34801561029257600080fd5b506101146102a1366004612ffa565b6118e8565b6101146102b4366004612ffa565b611c70565b3480156102c557600080fd5b506101146102d4366004612d6b565b611f0f565b3480156102e557600080fd5b506101146102f43660046130ef565b612087565b34801561030557600080fd5b50610114610314366004612d51565b612328565b6002805461032690613eb4565b80601f016020809104026020016040519081016040528092919081815260200182805461035290613eb4565b801561039f5780601f106103745761010080835404028352916020019161039f565b820191906000526020600020905b81548152906001019060200180831161038257829003601f168201915b505050505081565b6103af612399565b6001600160a01b03166103c0610e0a565b6001600160a01b0316146103ef5760405162461bcd60e51b81526004016103e6906138ab565b60405180910390fd5b6001600160a01b0388166104155760405162461bcd60e51b81526004016103e690613b43565b6001600160a01b03831661043b5760405162461bcd60e51b81526004016103e690613a9e565b6001600160a01b0385166104615760405162461bcd60e51b81526004016103e690613874565b600084116104815760405162461bcd60e51b81526004016103e69061359c565b6040516370a0823160e01b81526000906001600160a01b038a16906370a08231906104b09030906004016132f9565b60206040518083038186803b1580156104c857600080fd5b505afa1580156104dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105009190613206565b9050808811156105225760405162461bcd60e51b81526004016103e6906137a4565b61052d89858a61239d565b6040516370a0823160e01b81526000906001600160a01b038916906370a082319061055c9030906004016132f9565b60206040518083038186803b15801561057457600080fd5b505afa158015610588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ac9190613206565b90506000856001600160a01b031685856040516105ca9291906132b2565b6000604051808303816000865af19150503d8060008114610607576040519150601f19603f3d011682016040523d82523d6000602084013e61060c565b606091505b505090508061062d5760405162461bcd60e51b81526004016103e690613687565b60006106b5838b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065f91906132f9565b60206040518083038186803b15801561067757600080fd5b505afa15801561068b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106af9190613206565b9061248a565b9050878110156106d75760405162461bcd60e51b81526004016103e6906137d0565b6001600160a01b03891630146106f2576106f28a8a8361249d565b7fb990db8edf38c10c19dfa3bda4a2ba7141712147ef8aaecf20e3b6c3276a3ea08b8d8a8d85604051610729959493929190613bde565b60405180910390a1505050505050505050505050565b610747612399565b6001600160a01b0316610758610e0a565b6001600160a01b03161461077e5760405162461bcd60e51b81526004016103e6906138ab565b6001600160a01b0383166107a45760405162461bcd60e51b81526004016103e690613a9e565b6001600160a01b0385166107ca5760405162461bcd60e51b81526004016103e690613874565b600084116107ea5760405162461bcd60e51b81526004016103e69061359c565b6000871161080a5760405162461bcd60e51b81526004016103e690613729565b478088111561082b5760405162461bcd60e51b81526004016103e6906137a4565b6040516370a0823160e01b81526000906001600160a01b038916906370a082319061085a9030906004016132f9565b60206040518083038186803b15801561087257600080fd5b505afa158015610886573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108aa9190613206565b90506000856001600160a01b03168a86866040516108c99291906132b2565b60006040518083038185875af1925050503d8060008114610906576040519150601f19603f3d011682016040523d82523d6000602084013e61090b565b606091505b505090508061092c5760405162461bcd60e51b81526004016103e690613687565b600061095e838b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065f91906132f9565b9050878110156109805760405162461bcd60e51b81526004016103e6906137d0565b6001600160a01b038916301461099b5761099b8a8a8361249d565b7fc8854de35570b6f6099dcb76f9222d8cc66e4a9663c16a11d9cb1c9fe1f80fe58b898c846040516109d09493929190613d54565b60405180910390a15050505050505050505050565b6109ed612399565b6001600160a01b03166109fe610e0a565b6001600160a01b031614610a245760405162461bcd60e51b81526004016103e6906138ab565b6001600160a01b038216610a4a5760405162461bcd60e51b81526004016103e690613874565b4781811015610a6b5760405162461bcd60e51b81526004016103e6906135d3565b610a758383612583565b7f566e45b1c8057e725bf62796a7f1d37ae294393cab069725a09daddd1af98b798383604051610aa6929190613331565b60405180910390a1505050565b610abb612399565b6001600160a01b0316610acc610e0a565b6001600160a01b031614610af25760405162461bcd60e51b81526004016103e6906138ab565b6001600160a01b038716610b185760405162461bcd60e51b81526004016103e690613b43565b6001600160a01b038316610b3e5760405162461bcd60e51b81526004016103e690613a9e565b6001600160a01b038516610b645760405162461bcd60e51b81526004016103e690613874565b60008411610b845760405162461bcd60e51b81526004016103e69061359c565b6040516370a0823160e01b81526000906001600160a01b038916906370a0823190610bb39030906004016132f9565b60206040518083038186803b158015610bcb57600080fd5b505afa158015610bdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c039190613206565b905080871115610c255760405162461bcd60e51b81526004016103e6906137a4565b610c3088858961239d565b60004790506000856001600160a01b03168585604051610c519291906132b2565b6000604051808303816000865af19150503d8060008114610c8e576040519150601f19603f3d011682016040523d82523d6000602084013e610c93565b606091505b5050905080610cb45760405162461bcd60e51b81526004016103e690613687565b6000610cc0478461248a565b905087811015610ce25760405162461bcd60e51b81526004016103e6906137d0565b6001600160a01b0389163014610cfc57610cfc8982612583565b7fa17db8f15af02c582aa3ecb40e93f5aea888c6fd35c67072b883723dd38a06f88a8c8a846040516109d09493929190613d02565b60026000541415610d545760405162461bcd60e51b81526004016103e690613b0c565b60026000553480610d775760405162461bcd60e51b81526004016103e69061383d565b7f4ff54f2cea3d4bf1bd0b862f9523caf146060016e04133efed42fd0cd461ef3c81838686604051610dac9493929190613d78565b60405180910390a1505060016000555050565b610dc7612399565b6001600160a01b0316610dd8610e0a565b6001600160a01b031614610dfe5760405162461bcd60e51b81526004016103e6906138ab565b610e086000612615565b565b6001546001600160a01b03165b90565b60026000541415610e3d5760405162461bcd60e51b81526004016103e690613b0c565b6002600055610e5d81610e57610e5285612667565b612704565b9061271d565b6001600160a01b0316610e6e610e0a565b6001600160a01b031614610e945760405162461bcd60e51b81526004016103e690613650565b6000826060015111610eb85760405162461bcd60e51b81526004016103e690613a1b565b81516040516370a0823160e01b81526000916001600160a01b0316906370a0823190610ee89030906004016132f9565b60206040518083038186803b158015610f0057600080fd5b505afa158015610f14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f389190613206565b9050610f4e836000015133308660600151612741565b8260600151610f878285600001516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065f91906132f9565b1015610fa55760405162461bcd60e51b81526004016103e6906138e0565b610fbc83600001518460e00151856060015161239d565b60a08301516040516370a0823160e01b81526000916001600160a01b0316906370a0823190610fef9030906004016132f9565b60206040518083038186803b15801561100757600080fd5b505afa15801561101b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103f9190613206565b905060008460e001516001600160a01b031685610100015160405161106491906132c2565b6000604051808303816000865af19150503d80600081146110a1576040519150601f19603f3d011682016040523d82523d6000602084013e6110a6565b606091505b50509050806110c75760405162461bcd60e51b81526004016103e690613687565b60006110fd838760a001516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065f91906132f9565b90508560c001518110156111235760405162461bcd60e51b81526004016103e69061395c565b7fcf42d78bc992c96220dfff0acd1dd10211a68fc1a55b9ac58a4ad18fab4d2a5d86606001518760000151886080015189602001518a604001518b60a00151876040516111769796959493929190613c57565b60405180910390a15050600160005550505050565b6003805461032690613eb4565b600260005414156111bb5760405162461bcd60e51b81526004016103e690613b0c565b60026000556001600160a01b0385166111e65760405162461bcd60e51b81526004016103e6906139a9565b600082116112065760405162461bcd60e51b81526004016103e690613520565b600080866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161123591906132f9565b60206040518083038186803b15801561124d57600080fd5b505afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112859190613206565b905061129387333087612741565b6040516370a0823160e01b81526000906001600160a01b038916906370a08231906112c29030906004016132f9565b60206040518083038186803b1580156112da57600080fd5b505afa1580156112ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113129190613206565b905061131e818361248a565b9250848310156113405760405162461bcd60e51b81526004016103e69061347b565b7fff04d689bf84fb889ac85790b7ca000076f5825d54cb01b6c030e6f55296a2ce8589868a8a604051611377959493929190613c0c565b60405180910390a150506001600055505050505050565b600260005414156113b15760405162461bcd60e51b81526004016103e690613b0c565b60026000556113c681610e57610e5285612831565b6001600160a01b03166113d7610e0a565b6001600160a01b0316146113fd5760405162461bcd60e51b81526004016103e690613650565b60008260800151116114215760405162461bcd60e51b81526004016103e690613a1b565b60208201516040516370a0823160e01b81526000916001600160a01b0316906370a08231906114549030906004016132f9565b60206040518083038186803b15801561146c57600080fd5b505afa158015611480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a49190613206565b90506114ba836020015133308660800151612741565b60006114f08285602001516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065f91906132f9565b905083608001518110156115165760405162461bcd60e51b81526004016103e6906138e0565b600061153c620f424061153687600001518561289b90919063ffffffff16565b906128a7565b602086015160c087015191925061155c91611557858561248a565b61239d565b600047905060008660c001516001600160a01b03168760e0015160405161158391906132c2565b6000604051808303816000865af19150503d80600081146115c0576040519150601f19603f3d011682016040523d82523d6000602084013e6115c5565b606091505b50509050806115e65760405162461bcd60e51b81526004016103e690613687565b60006115f2478461248a565b90508760a001518110156116185760405162461bcd60e51b81526004016103e6906134e9565b611626886060015182612583565b7fddafc3cde5a2fb54af3cc7d67ccd44874cf4c6129f9f90c822327a26ddb321f988608001518960200151838b606001518c60c00151604051611377959493929190613b7a565b600260005414156116905760405162461bcd60e51b81526004016103e690613b0c565b60026000556116a581610e57610e5285612667565b6001600160a01b03166116b6610e0a565b6001600160a01b0316146116dc5760405162461bcd60e51b81526004016103e690613650565b600034116116fc5760405162461bcd60e51b81526004016103e690613983565b8160600151341461171f5760405162461bcd60e51b81526004016103e690613760565b60a08201516040516370a0823160e01b81526000916001600160a01b0316906370a08231906117529030906004016132f9565b60206040518083038186803b15801561176a57600080fd5b505afa15801561177e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a29190613206565b905060008360e001516001600160a01b0316348561010001516040516117c891906132c2565b60006040518083038185875af1925050503d8060008114611805576040519150601f19603f3d011682016040523d82523d6000602084013e61180a565b606091505b505090508061182b5760405162461bcd60e51b81526004016103e690613687565b6000611861838660a001516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065f91906132f9565b90508460c001518110156118875760405162461bcd60e51b81526004016103e69061395c565b7f0c324eae1f3cfaf7111beaa969c3293dae7805cc567151a849ee30076053003b85606001518660800151876020015188604001518960a00151866040516118d496959493929190613db4565b60405180910390a150506001600055505050565b6002600054141561190b5760405162461bcd60e51b81526004016103e690613b0c565b600260005561192081610e57610e5285612831565b6001600160a01b0316611931610e0a565b6001600160a01b0316146119575760405162461bcd60e51b81526004016103e690613650565b600082608001511161197b5760405162461bcd60e51b81526004016103e690613a1b565b60208201516040516370a0823160e01b81526000916001600160a01b0316906370a08231906119ae9030906004016132f9565b60206040518083038186803b1580156119c657600080fd5b505afa1580156119da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119fe9190613206565b9050611a14836020015133308660800151612741565b6000611a4a8285602001516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065f91906132f9565b90508360800151811015611a705760405162461bcd60e51b81526004016103e690613a52565b6000611a90620f424061153687600001518561289b90919063ffffffff16565b602086015160c0870151919250611aab91611557858561248a565b600085604001516001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611add91906132f9565b60206040518083038186803b158015611af557600080fd5b505afa158015611b09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b2d9190613206565b905060008660c001516001600160a01b03168760e00151604051611b5191906132c2565b6000604051808303816000865af19150503d8060008114611b8e576040519150601f19603f3d011682016040523d82523d6000602084013e611b93565b606091505b5050905080611bb45760405162461bcd60e51b81526004016103e690613687565b6000611bea8389604001516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065f91906132f9565b90508760a00151811015611c105760405162461bcd60e51b81526004016103e6906134e9565b611c23886040015189606001518361249d565b7f3394026ba6bdafd66c468801a6b3896d0fdc2bd26c954eec3f215c43e42069d788608001518960200151838b604001518c606001518d60c0015160405161137796959493929190613ba8565b60026000541415611c935760405162461bcd60e51b81526004016103e690613b0c565b6002600055611ca881610e57610e5285612831565b6001600160a01b0316611cb9610e0a565b6001600160a01b031614611cdf5760405162461bcd60e51b81526004016103e690613650565b81608001513410158015611cf7575060008260800151115b611d135760405162461bcd60e51b81526004016103e6906138e0565b6000611d37620f42406115368560000151866080015161289b90919063ffffffff16565b9050600083604001516001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611d6b91906132f9565b60206040518083038186803b158015611d8357600080fd5b505afa158015611d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dbb9190613206565b905060008460c001516001600160a01b0316611de484876080015161248a90919063ffffffff16565b8660e00151604051611df691906132c2565b60006040518083038185875af1925050503d8060008114611e33576040519150601f19603f3d011682016040523d82523d6000602084013e611e38565b606091505b5050905080611e595760405162461bcd60e51b81526004016103e690613687565b6000611e8f8387604001516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065f91906132f9565b90508560a00151811015611eb55760405162461bcd60e51b81526004016103e6906134e9565b611ec8866040015187606001518361249d565b7f56bb812dc2ad56c7b5b59dec48dfdf339b352a6a19e36f82f9ee40a631d6ffbe866080015182886040015189606001518a60c00151604051611176959493929190613d26565b611f17612399565b6001600160a01b0316611f28610e0a565b6001600160a01b031614611f4e5760405162461bcd60e51b81526004016103e6906138ab565b6001600160a01b038216611f745760405162461bcd60e51b81526004016103e690613874565b6001600160a01b038316611f9a5760405162461bcd60e51b81526004016103e69061392f565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190611fc99030906004016132f9565b60206040518083038186803b158015611fe157600080fd5b505afa158015611ff5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120199190613206565b90508181101561203b5760405162461bcd60e51b81526004016103e6906135d3565b61204684848461249d565b7fc744dfbbb7893a3d0c97d117fecc1b571791b125732aeca513b0c760cf65f1fc8484846040516120799392919061330d565b60405180910390a150505050565b600260005414156120aa5760405162461bcd60e51b81526004016103e690613b0c565b60026000556120bf81610e57610e5285612667565b6001600160a01b03166120d0610e0a565b6001600160a01b0316146120f65760405162461bcd60e51b81526004016103e690613650565b600082606001511161211a5760405162461bcd60e51b81526004016103e690613a1b565b81516040516370a0823160e01b81526000916001600160a01b0316906370a082319061214a9030906004016132f9565b60206040518083038186803b15801561216257600080fd5b505afa158015612176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061219a9190613206565b90506121b0836000015133308660600151612741565b82606001516121e98285600001516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161065f91906132f9565b10156122075760405162461bcd60e51b81526004016103e6906138e0565b61221e83600001518460e00151856060015161239d565b600047905060008460e001516001600160a01b031685610100015160405161224691906132c2565b6000604051808303816000865af19150503d8060008114612283576040519150601f19603f3d011682016040523d82523d6000602084013e612288565b606091505b50509050806122a95760405162461bcd60e51b81526004016103e690613687565b60006122b5478461248a565b90508560c001518110156122db5760405162461bcd60e51b81526004016103e69061395c565b7f147a709b2272c3a4dd779df2e0d8e395f7043e8e36c4d4cfbc8a21f9736011fc86606001518760000151886080015189602001518a604001518660405161117696959493929190613caf565b612330612399565b6001600160a01b0316612341610e0a565b6001600160a01b0316146123675760405162461bcd60e51b81526004016103e6906138ab565b6001600160a01b03811661238d5760405162461bcd60e51b81526004016103e69061360a565b61239681612615565b50565b3390565b600080846001600160a01b031663095ea7b385856040516024016123c2929190613331565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516123fb91906132c2565b6000604051808303816000865af19150503d8060008114612438576040519150601f19603f3d011682016040523d82523d6000602084013e61243d565b606091505b50915091508180156124675750805115806124675750808060200190518101906124679190612f70565b6124835760405162461bcd60e51b81526004016103e6906136b0565b5050505050565b60006124968284613e6d565b9392505050565b600080846001600160a01b031663a9059cbb85856040516024016124c2929190613331565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516124fb91906132c2565b6000604051808303816000865af19150503d8060008114612538576040519150601f19603f3d011682016040523d82523d6000602084013e61253d565b606091505b50915091508180156125675750805115806125675750808060200190518101906125679190612f70565b6124835760405162461bcd60e51b81526004016103e6906134b2565b604080516000808252602082019092526001600160a01b0384169083906040516125ad91906132c2565b60006040518083038185875af1925050503d80600081146125ea576040519150601f19603f3d011682016040523d82523d6000602084013e6125ef565b606091505b50509050806126105760405162461bcd60e51b81526004016103e6906139d8565b505050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60007f74ab4fea15fda9e8fa75cda1e30aaa378d3ab31f019c9a0cd8e8e0b2135cd0858260000151836020015180519060200120846040015180519060200120856060015186608001518760a001518860c001518960e001518a6101000151805190602001206040516020016126e69a9998979695949392919061334a565b6040516020818303038152906040528051906020012090505b919050565b60006127176127116128b3565b83612976565b92915050565b600080600061272c85856129a9565b9150915061273981612a19565b509392505050565b600080856001600160a01b03166323b872dd8686866040516024016127689392919061330d565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516127a191906132c2565b6000604051808303816000865af19150503d80600081146127de576040519150601f19603f3d011682016040523d82523d6000602084013e6127e3565b606091505b509150915081801561280d57508051158061280d57508080602001905181019061280d9190612f70565b6128295760405162461bcd60e51b81526004016103e690613ac8565b505050505050565b60007f8381f2c9fede58a653c792ac5cb359514ac1059ebddc99f03817d7d43dd13050826000015183602001518460400151856060015186608001518760a001518860c001518960e00151805190602001206040516020016126e6999897969594939291906133cb565b60006124968284613e4e565b60006124968284613e2e565b60007f000000000000000000000000000000000000000000000000000000000000000146141561290457507fa2a5c78069edfda125b76590cc68193efd130e7db0e18b2b8ff22a90f46e6088610e17565b61296f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f867e3ea2df6cbfcf43f2a6624818423bf8d8116264a8cb9ad066c8da445c38b07fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6612b46565b9050610e17565b6000828260405160200161298b9291906132de565b60405160208183030381529060405280519060200120905092915050565b6000808251604114156129e05760208301516040840151606085015160001a6129d487828585612b80565b94509450505050612a12565b825160401415612a0a57602083015160408401516129ff868383612c60565b935093505050612a12565b506000905060025b9250929050565b6000816004811115612a3b57634e487b7160e01b600052602160045260246000fd5b1415612a4657612396565b6001816004811115612a6857634e487b7160e01b600052602160045260246000fd5b1415612a865760405162461bcd60e51b81526004016103e690613444565b6002816004811115612aa857634e487b7160e01b600052602160045260246000fd5b1415612ac65760405162461bcd60e51b81526004016103e690613565565b6003816004811115612ae857634e487b7160e01b600052602160045260246000fd5b1415612b065760405162461bcd60e51b81526004016103e6906136e7565b6004816004811115612b2857634e487b7160e01b600052602160045260246000fd5b14156123965760405162461bcd60e51b81526004016103e6906137fb565b60008383834630604051602001612b6195949392919061339f565b6040516020818303038152906040528051906020012090509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612bb75750600090506003612c57565b8460ff16601b14158015612bcf57508460ff16601c14155b15612be05750600090506004612c57565b600060018787878760405160008152602001604052604051612c059493929190613413565b6020604051602081039080840390855afa158015612c27573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612c5057600060019250925050612c57565b9150600090505b94509492505050565b6000806001600160ff1b03831660ff84901c601b01612c8187828885612b80565b935093505050935093915050565b80356001600160a01b03811681146126ff57600080fd5b60008083601f840112612cb7578182fd5b50813567ffffffffffffffff811115612cce578182fd5b602083019150836020828501011115612a1257600080fd5b600082601f830112612cf6578081fd5b813567ffffffffffffffff811115612d1057612d10613f05565b612d23601f8201601f1916602001613e04565b818152846020838601011115612d37578283fd5b816020850160208301379081016020019190915292915050565b600060208284031215612d62578081fd5b61249682612c8f565b600080600060608486031215612d7f578182fd5b612d8884612c8f565b9250612d9660208501612c8f565b9150604084013590509250925092565b600080600080600060a08688031215612dbd578081fd5b612dc686612c8f565b9450602086013567ffffffffffffffff80821115612de2578283fd5b612dee89838a01612ce6565b95506040880135915080821115612e03578283fd5b50612e1088828901612ce6565b9598949750949560608101359550608001359392505050565b60008060408385031215612e3b578182fd5b612e4483612c8f565b946020939093013593505050565b60008060008060008060008060e0898b031215612e6d578283fd5b612e7689612c8f565b975060208901359650612e8b60408a01612c8f565b9550612e9960608a01612c8f565b945060808901359350612eae60a08a01612c8f565b925060c089013567ffffffffffffffff811115612ec9578283fd5b612ed58b828c01612ca6565b999c989b5096995094979396929594505050565b600080600080600080600060c0888a031215612f03578283fd5b612f0c88612c8f565b965060208801359550612f2160408901612c8f565b945060608801359350612f3660808901612c8f565b925060a088013567ffffffffffffffff811115612f51578283fd5b612f5d8a828b01612ca6565b989b979a50959850939692959293505050565b600060208284031215612f81578081fd5b81518015158114612496578182fd5b600080600060608486031215612fa4578081fd5b833567ffffffffffffffff80821115612fbb578283fd5b612fc787838801612ce6565b94506020860135915080821115612fdc578283fd5b50612fe986828701612ce6565b925050604084013590509250925092565b6000806040838503121561300c578182fd5b823567ffffffffffffffff80821115613023578384fd5b8185019150610100808388031215613039578485fd5b61304281613e04565b90508235815261305460208401612c8f565b602082015261306560408401612c8f565b604082015261307660608401612c8f565b60608201526080830135608082015260a083013560a082015261309b60c08401612c8f565b60c082015260e0830135828111156130b1578586fd5b6130bd88828601612ce6565b60e083015250935060208501359150808211156130d8578283fd5b506130e585828601612ce6565b9150509250929050565b60008060408385031215613101578182fd5b823567ffffffffffffffff80821115613118578384fd5b818501915061012080838803121561312e578485fd5b61313781613e04565b905061314283612c8f565b8152602083013582811115613155578586fd5b61316188828601612ce6565b602083015250604083013582811115613178578586fd5b61318488828601612ce6565b60408301525060608301356060820152608083013560808201526131aa60a08401612c8f565b60a082015260c083013560c08201526131c560e08401612c8f565b60e082015261010080840135838111156131dd578687fd5b6131e989828701612ce6565b8284015250508094505060208501359150808211156130d8578283fd5b600060208284031215613217578081fd5b5051919050565b600080600080600080600060c0888a031215613238578081fd5b8735965061324860208901612c8f565b955061325660408901612c8f565b94506060880135935061326b60808901612c8f565b925060a088013567ffffffffffffffff811115612f51578182fd5b6000815180845261329e816020860160208601613e84565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b600082516132d4818460208701613e84565b9190910192915050565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b998a526001600160a01b0398891660208b015260408a01979097526060890195909552608088019390935260a0870191909152841660c086015260e08501529091166101008301526101208201526101400190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b98895260208901979097526001600160a01b0395861660408901529385166060880152918416608087015260a086015260c08501521660e08301526101008201526101200190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526124966020830184613286565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b6020808252601b908201527f5452414e534645525f4c4553535f5448414e5f46524f4d5f414d540000000000604082015260600190565b6020808252601f908201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604082015260600190565b6020808252601a908201527f4e4f5f454e4f5547485f544f544f4b454e5f46524f4d5f444558000000000000604082015260600190565b60208082526025908201527f46524f4d5f544f4b454e5f414d4f554e545f4d5553545f42455f4d4f52455f54604082015264048414e5f360dc1b606082015260800190565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b6020808252601e908201527f4d494e5f414d4f554e545f4d5553545f42455f4d4f52455f5448414e5f300000604082015260600190565b6020808252601e908201527f414d4f554e545f43414e4e545f4d4f52455f5448414e5f42414c414e43450000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601e908201527f43414c4c5f444154415f4d5553545f5349474e45445f42595f4f574e45520000604082015260600190565b6020808252600f908201526e11115617d4d5d05417d19052531151608a1b604082015260600190565b6020808252601e908201527f5472616e7366657248656c7065723a20415050524f56455f4641494c45440000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526019908201527f56414c55455f4d5553545f42455f4d4f52455f5448414e5f3000000000000000604082015260600190565b60208082526024908201527f4d53475f56414c55455f4d5553545f455155414c5f4445504f5349545f414d4d60408201526313d5539560e21b606082015260800190565b602080825260129082015271494e5355464649454e545f42414c414e434560701b604082015260600190565b602080825260119082015270131154d4d7d512105397d3525397d05355607a1b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b6020808252601e908201527f4554485f414d4f554e545f4d5553545f42455f4d4f52455f5448414e5f300000604082015260600190565b6020808252601e908201527f44455354494e4154494f4e5f43414e4e545f42455f305f414444524553530000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602f908201527f544f4b454e5f414d4f554e545f4d5553545f4e4f545f534d414c4c5f5448414e60408201526e17d1115413d4d25517d05353d55395608a1b606082015260800190565b6020808252601390820152720544f4b454e5f4d5553545f4e4f545f42455f3606c1b604082015260600190565b6020808252600d908201526c2622a9a9afaa2420a72fa6a4a760991b604082015260600190565b6020808252600c908201526b1393d7d1551217d25394155560a21b604082015260600190565b602080825260159082015274046524f4d544f4b454e5f43414e545f545f42455f3605c1b604082015260600190565b60208082526023908201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960408201526213115160ea1b606082015260800190565b6020808252601b908201527f4445504f5349545f414d4f554e545f43414e5f4e4f545f42455f300000000000604082015260600190565b6020808252602c908201527f544f4b454e5f414d4f554e545f4d5553545f4e4f545f534d414c4c5f5448414e60408201526b17d19493d357d05353d5539560a21b606082015260800190565b60208082526010908201526f04445585f43414e5f4e4f545f42455f360841b604082015260600190565b60208082526024908201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416040820152631253115160e21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252601f908201527f46524f4d5f544f4b454e5f43414e5f4e4f545f42455f305f4144445245535300604082015260600190565b9485526001600160a01b03938416602086015260408501929092528216606084015216608082015260a00190565b9586526001600160a01b03948516602087015260408601939093529083166060850152821660808401521660a082015260c00190565b9485526001600160a01b03938416602086015260408501929092529091166060830152608082015260a00190565b600086825260018060a01b038616602083015284604083015260a06060830152613c3960a0830185613286565b8281036080840152613c4b8185613286565b98975050505050505050565b600088825260018060a01b03808916602084015287604084015260e06060840152613c8560e0840188613286565b8381036080850152613c978188613286565b9590911660a0840152505060c0015295945050505050565b600087825260018060a01b038716602083015285604083015260c06060830152613cdc60c0830186613286565b8281036080840152613cee8186613286565b9150508260a0830152979650505050505050565b9384526001600160a01b039290921660208401526040830152606082015260800190565b94855260208501939093526001600160a01b0391821660408501528116606084015216608082015260a00190565b93845260208401929092526001600160a01b03166040830152606082015260800190565b600085825284602083015260806040830152613d976080830185613286565b8281036060840152613da98185613286565b979650505050505050565b600087825286602083015260c06040830152613dd360c0830187613286565b8281036060840152613de58187613286565b6001600160a01b03959095166080840152505060a00152949350505050565b60405181810167ffffffffffffffff81118282101715613e2657613e26613f05565b604052919050565b600082613e4957634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615613e6857613e68613eef565b500290565b600082821015613e7f57613e7f613eef565b500390565b60005b83811015613e9f578181015183820152602001613e87565b83811115613eae576000848401525b50505050565b600281046001821680613ec857607f821691505b60208210811415613ee957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220fd9a0eb8afd08bb67eb36621a7830aff21b3b5f2751eab56cefeb524fc347c2264736f6c634300080000330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041010058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0582041676772656761746f722056310000000000000000000000000000000000001a0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60542e0b3afb185bfb3ddf3b7c711955274fd6412666005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0582041474752454741544f522d56310000000000000000000000000000000000001a0219181405581d02f0ed47ad685ac2e5982376e7780e8f99e83d58618684cd4f49e799bb0f014810bb66247c2e3b00193f5105581d02b336093ff2566d670c36640b875c7e445e0e215b4dafed0c5228a78f0c0246c8b3b974c5f80219010105581e03d7645600cd85a5c1d5125c573c21ba396eca90b7f3cae08ba8cf7601a004020219dd260219ffff031fbee40ce132cf778f5902d250f2f735e3448eb72dcfc4650288884158a730d6031ce771247247fa9e33a730a404bbffb094d6b4ee8553b455580ccdae9060e68b037d8af1c7168d82b0361c01588ced6c62c0ab3b60363b97e114009172de0993820346635415f7b44b224a6b773d7b19181e16d410e44b668f8e9cd5ccb1b9f3225e03a33ee3dcb9a6581b0da0f5cb55958c40f7b638ca7f7b156bb932c5912a06afb7032eb8351252a16438695187853119a1cc130e0173b0c33c069646f50378d7893b03a7b4e453a6ab211e9bba8148e5d7bccb49cfb407c04e2142bc927fb9ef5c43ec03cdc7722d4afc43d2cb19b568e4fed1ea9923fcfd5ec5773e640209f63613b7cc0219ffff03ac6215cbaf73bc7c3dd07e9d618fd6ea603cf1fbebe1c85a84d168d076f2394103c9c45bc71b1b234d3f057e4b549059757b817a0794dae0dc30ac13a5d29f440803c795b3e8114eed60547a25022abff4e1645a84e31dfd63e544d1cd8cac5c2f9a0219ffff0219ffff03b9d715b420125cb314777ea13a43f049f0b73ac0944a2d0d687b9df2cbe2f99a03152560f2b734347d2be3fb0b4445fb71080b089452d4889369534f212cd9e8ee036df120f495625fede084d967bdc9dac54a5572498abb24f45fd5716245986ce00360eb41741b5819d55156c6a8f869a39f42dba69be2edff5718b4c8abec9c089a031b65e75d87999209ab86f91c7431113aac441a16c057e7a36189550fc6b91c57038802fb3e69447cec19e9c528f9590b72631229e00097e2fa18bb72c99ed256e303d5918f5c4e6ada431949295a0f4400d5cb9638f0ff571324a66b24593245ec2603f3b9719973eec4438719acb10ec7cf57d372e2dbc02665b464406f1464c989bd0348cf158fac328c0e41a353937fb591e7f3c5a12a1c15886e9755181422fc6c6b03a797e194880973cee9f8c919b7fa37a2d9f602fb5b6b1062736721aade6d54a60371370d35e9e59968fe5cfb2629f16e5c9052f9cd4ba751e58899f7bc17f02c2d03886ab3f404cb03c92fb0dcbd917119d196402dad325b0e3ec34c8ac8433c87de03c7680c89e4055c644bd265c7789ed64ca546a605d2d09b2120f7805ca2b01d450377468df4fc3aa7f65055396432114582c1214051dcc228a669a748bcb211495a03b13ff8d76eb008cff87a35c4725308e96c58b7d63996166f7bccd1ef2aae9a5f03cfcfd592d5e6dce26a6ac76111e812d5d6a509fd2725e35059781a5c9bbffbb003016ae3d785ddc9a8e4b902e2d7c2c604ded5abe3c5608298a851b5d23e12aed0039f5fb3e6b1fc6ff4a54cc99a3b696ac66d7c6b352cb3b40ae23618e59746bec003442334682a7e3a59a042020e5fe79c97bc93678b8f89ec4282681d1c5bab8e8103cae44bccc7fd655c94a2210c172a17a3b29ce2225b33631d6b99cdda80092fbc036c5221ad6de996227b1901cff4e6d1653de3956fd5a80bc70fdb577c175dc32c03c340449e5d66c260492f4b9f267b8ef5b88739f63d43cd256a24e6c053b8a420035ae9a524a3f3fd26b7b35ac0cb9bb065e74663702b6dd674a0c3cc665a6144e4035af70ae7e830a571b63bac64e35521a4555a3b9d2903b46236b17b2fb36fd5e105581e038baf90bb94d5237de253d04798bdbe9ed4a22ceb552e98fb8698c8673004020339d652c1351cfbdf41bb050ee73436ba00fc68a78d6e30ea196c9d63f1d8a66b03e0bdaea94c439eb7da1bfc537f0d047e55c1a888c6eb6722ac5651723cc55428039fa0a5c80495ab51a5867e322b4810677cc67e5c89b681273231b24128acfa9705581e03e34bb15d409009f380448bbd205362f2f1cff08f7c167095f96753df900c05465177d8ada62803941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581d023ba2a2575390805e45dca5b844119ab51f3f8bb533d59478687b51eb07011bffffffffffffffff0459527660806040526004361061031d575f3560e01c80638a8c523c116101aa578063b62496f5116100f6578063d85ba06311610094578063e6819ba71161006e578063e6819ba714610ba8578063e884f26014610be4578063f1b9ad6b14610c0e578063f2fde38b14610c3657610324565b8063d85ba06314610b18578063dd62ed3e14610b42578063e2f4560514610b7e57610324565b8063bbc0c742116100d0578063bbc0c74214610a60578063c024666814610a8a578063c876d0b914610ab2578063d257b34f14610adc57610324565b8063b62496f5146109d4578063b70143c914610a10578063b819a1a914610a3857610324565b80639c3b4fdc11610163578063a457c2d71161013d578063a457c2d71461090a578063a72f458614610946578063a9059cbb14610970578063a90eab8c146109ac57610324565b80639c3b4fdc1461088c5780639fccce32146108b6578063a0d82dc5146108e057610324565b80638a8c523c146107a85780638da5cb5b146107be57806392136913146107e8578063924de9b71461081257806395d89b411461083a5780639a7a23d61461086457610324565b806349bd5a5e116102695780636a486a8e11610222578063715018a6116101fc578063715018a6146107145780637437681e1461072a578063751039fc146107545780637bce5a041461077e57610324565b80636a486a8e146106845780636ddd1713146106ae57806370a08231146106d857610324565b806349bd5a5e1461057a5780634a62bb65146105a45780634fbee193146105ce57806361528e271461060a578063644130d81461063457806366ca9b831461065c57610324565b8063217580a2116102d657806330a136ad116102b057806330a136ad146104c05780633103b39e146104ea578063313ce56714610514578063395093511461053e57610324565b8063217580a21461043257806323b872dd1461045a57806327c8f8351461049657610324565b806302dbd8f81461032857806306fdde0314610350578063095ea7b31461037a5780631694505e146103b657806318160ddd146103e0578063203e727e1461040a57610324565b3661032457005b5f80fd5b348015610333575f80fd5b5061034e60048036038101906103499190613c1f565b610c5e565b005b34801561035b575f80fd5b50610364610d48565b6040516103719190613ce7565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190613d61565b610dd8565b6040516103ad9190613db9565b60405180910390f35b3480156103c1575f80fd5b506103ca610df5565b6040516103d79190613e2d565b60405180910390f35b3480156103eb575f80fd5b506103f4610e19565b6040516104019190613e55565b60405180910390f35b348015610415575f80fd5b50610430600480360381019061042b9190613e6e565b610e22565b005b34801561043d575f80fd5b5061045860048036038101906104539190613e6e565b610f31565b005b348015610465575f80fd5b50610480600480360381019061047b9190613e99565b611040565b60405161048d9190613db9565b60405180910390f35b3480156104a1575f80fd5b506104aa611132565b6040516104b79190613ef8565b60405180910390f35b3480156104cb575f80fd5b506104d4611138565b6040516104e19190613e55565b60405180910390f35b3480156104f5575f80fd5b506104fe61113e565b60405161050b9190613ef8565b60405180910390f35b34801561051f575f80fd5b50610528611163565b6040516105359190613f2c565b60405180910390f35b348015610549575f80fd5b50610564600480360381019061055f9190613d61565b61116b565b6040516105719190613db9565b60405180910390f35b348015610585575f80fd5b5061058e611212565b60405161059b9190613ef8565b60405180910390f35b3480156105af575f80fd5b506105b8611237565b6040516105c59190613db9565b60405180910390f35b3480156105d9575f80fd5b506105f460048036038101906105ef9190613f45565b611249565b6040516106019190613db9565b60405180910390f35b348015610615575f80fd5b5061061e61129b565b60405161062b9190613e55565b60405180910390f35b34801561063f575f80fd5b5061065a60048036038101906106559190613f9a565b6112a1565b005b348015610667575f80fd5b50610682600480360381019061067d9190613c1f565b611375565b005b34801561068f575f80fd5b5061069861145f565b6040516106a59190613e55565b60405180910390f35b3480156106b9575f80fd5b506106c2611465565b6040516106cf9190613db9565b60405180910390f35b3480156106e3575f80fd5b506106fe60048036038101906106f99190613f45565b611478565b60405161070b9190613e55565b60405180910390f35b34801561071f575f80fd5b506107286114bd565b005b348015610735575f80fd5b5061073e611544565b60405161074b9190613e55565b60405180910390f35b34801561075f575f80fd5b5061076861154a565b6040516107759190613db9565b60405180910390f35b348015610789575f80fd5b506107926115e7565b60405161079f9190613e55565b60405180910390f35b3480156107b3575f80fd5b506107bc6115ed565b005b3480156107c9575f80fd5b506107d26116a1565b6040516107df9190613ef8565b60405180910390f35b3480156107f3575f80fd5b506107fc6116c9565b6040516108099190613e55565b60405180910390f35b34801561081d575f80fd5b5061083860048036038101906108339190613fd8565b6116cf565b005b348015610845575f80fd5b5061084e611768565b60405161085b9190613ce7565b60405180910390f35b34801561086f575f80fd5b5061088a60048036038101906108859190613f9a565b6117f8565b005b348015610897575f80fd5b506108a0611911565b6040516108ad9190613e55565b60405180910390f35b3480156108c1575f80fd5b506108ca611917565b6040516108d79190613e55565b60405180910390f35b3480156108eb575f80fd5b506108f461191d565b6040516109019190613e55565b60405180910390f35b348015610915575f80fd5b50610930600480360381019061092b9190613d61565b611923565b60405161093d9190613db9565b60405180910390f35b348015610951575f80fd5b5061095a611a09565b6040516109679190613ef8565b60405180910390f35b34801561097b575f80fd5b5061099660048036038101906109919190613d61565b611a2e565b6040516109a39190613db9565b60405180910390f35b3480156109b7575f80fd5b506109d260048036038101906109cd9190614060565b611a4b565b005b3480156109df575f80fd5b506109fa60048036038101906109f59190613f45565b611cce565b604051610a079190613db9565b60405180910390f35b348015610a1b575f80fd5b50610a366004803603810190610a319190613e6e565b611ceb565b005b348015610a43575f80fd5b50610a5e6004803603810190610a599190613f45565b611dac565b005b348015610a6b575f80fd5b50610a74611ee6565b604051610a819190613db9565b60405180910390f35b348015610a95575f80fd5b50610ab06004803603810190610aab9190613f9a565b611ef9565b005b348015610abd575f80fd5b50610ac661201b565b604051610ad39190613db9565b60405180910390f35b348015610ae7575f80fd5b50610b026004803603810190610afd9190613e6e565b61202d565b604051610b0f9190613db9565b60405180910390f35b348015610b23575f80fd5b50610b2c612181565b604051610b399190613e55565b60405180910390f35b348015610b4d575f80fd5b50610b686004803603810190610b6391906140b0565b612187565b604051610b759190613e55565b60405180910390f35b348015610b89575f80fd5b50610b92612209565b604051610b9f9190613e55565b60405180910390f35b348015610bb3575f80fd5b50610bce6004803603810190610bc99190613f45565b61220f565b604051610bdb9190613db9565b60405180910390f35b348015610bef575f80fd5b50610bf861222c565b604051610c059190613db9565b60405180910390f35b348015610c19575f80fd5b50610c346004803603810190610c2f9190613f45565b6122c9565b005b348015610c41575f80fd5b50610c5c6004803603810190610c579190613f45565b612403565b005b610c666124f9565b73ffffffffffffffffffffffffffffffffffffffff16610c846116a1565b73ffffffffffffffffffffffffffffffffffffffff1614610cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd190614138565b60405180910390fd5b8160138190555080601481905550601454601354610cf89190614183565b601281905550604b6012541115610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b90614200565b60405180910390fd5b5050565b606060038054610d579061424b565b80601f0160208091040260200160405190810160405280929190818152602001828054610d839061424b565b8015610dce5780601f10610da557610100808354040283529160200191610dce565b820191905f5260205f20905b815481529060010190602001808311610db157829003601f168201915b5050505050905090565b5f610deb610de46124f9565b8484612500565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b610e2a6124f9565b73ffffffffffffffffffffffffffffffffffffffff16610e486116a1565b73ffffffffffffffffffffffffffffffffffffffff1614610e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9590614138565b60405180910390fd5b670de0b6b3a76400006103e86001610eb4610e19565b610ebe919061427b565b610ec891906142e9565b610ed291906142e9565b811015610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90614363565b60405180910390fd5b670de0b6b3a764000081610f28919061427b565b60098190555050565b610f396124f9565b73ffffffffffffffffffffffffffffffffffffffff16610f576116a1565b73ffffffffffffffffffffffffffffffffffffffff1614610fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa490614138565b60405180910390fd5b670de0b6b3a76400006103e86005610fc3610e19565b610fcd919061427b565b610fd791906142e9565b610fe191906142e9565b811015611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a906143f1565b60405180910390fd5b670de0b6b3a764000081611037919061427b565b600b8190555050565b5f61104c8484846126c3565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6110936124f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611112576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111099061447f565b60405180910390fd5b6111268561111e6124f9565b858403612500565b60019150509392505050565b61dead81565b600b5481565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012905090565b5f6112086111776124f9565b848460015f6111846124f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546112039190614183565b612500565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5f9054906101000a900460ff1681565b5f60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60155481565b6112a96124f9565b73ffffffffffffffffffffffffffffffffffffffff166112c76116a1565b73ffffffffffffffffffffffffffffffffffffffff161461131d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131490614138565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61137d6124f9565b73ffffffffffffffffffffffffffffffffffffffff1661139b6116a1565b73ffffffffffffffffffffffffffffffffffffffff16146113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e890614138565b60405180910390fd5b816010819055508060118190555060115460105461140f9190614183565b600f81905550604b600f54111561145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145290614200565b60405180910390fd5b5050565b60125481565b600c60029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6114c56124f9565b73ffffffffffffffffffffffffffffffffffffffff166114e36116a1565b73ffffffffffffffffffffffffffffffffffffffff1614611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090614138565b60405180910390fd5b6115425f6133c7565b565b60095481565b5f6115536124f9565b73ffffffffffffffffffffffffffffffffffffffff166115716116a1565b73ffffffffffffffffffffffffffffffffffffffff16146115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90614138565b60405180910390fd5b5f600c5f6101000a81548160ff0219169083151502179055506001905090565b60105481565b6115f56124f9565b73ffffffffffffffffffffffffffffffffffffffff166116136116a1565b73ffffffffffffffffffffffffffffffffffffffff1614611669576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166090614138565b60405180910390fd5b6001600c60016101000a81548160ff0219169083151502179055506001600c60026101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b6116d76124f9565b73ffffffffffffffffffffffffffffffffffffffff166116f56116a1565b73ffffffffffffffffffffffffffffffffffffffff161461174b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174290614138565b60405180910390fd5b80600c60026101000a81548160ff02191690831515021790555050565b6060600480546117779061424b565b80601f01602080910402602001604051908101604052809291908181526020018280546117a39061424b565b80156117ee5780601f106117c5576101008083540402835291602001916117ee565b820191905f5260205f20905b8154815290600101906020018083116117d157829003601f168201915b5050505050905090565b6118006124f9565b73ffffffffffffffffffffffffffffffffffffffff1661181e6116a1565b73ffffffffffffffffffffffffffffffffffffffff1614611874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186b90614138565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fa9061450d565b60405180910390fd5b61190d828261348a565b5050565b60115481565b60165481565b60145481565b5f8060015f6119306124f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e19061459b565b60405180910390fd5b6119fe6119f56124f9565b85858403612500565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f611a41611a3a6124f9565b84846126c3565b6001905092915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001611afd9594939291906145c8565b6040516020818303038152906040528051906020012090505f7f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e67000000000000000000000000000000000000815250805190602001205f604051602001611b8793929190614619565b6040516020818303038152906040528051906020012090505f8282604051602001611bb39291906146c2565b6040516020818303038152906040528051906020012090505f6001828888886040515f8152602001604052604051611bee94939291906146f8565b6020604051602081039080840390855afa158015611c0e573d5f803e3d5ffd5b505050602060405103519050611c226116a1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611c8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8690614785565b60405180910390fd5b6001600c60016101000a81548160ff0219169083151502179055506001600c60026101000a81548160ff02191690831515021790555050505050505050565b601a602052805f5260405f205f915054906101000a900460ff1681565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611d2b6124f9565b73ffffffffffffffffffffffffffffffffffffffff1614611d4a575f80fd5b611d5330611478565b8111158015611d6157505f81115b611da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d97906147ed565b60405180910390fd5b611da981613528565b50565b611db46124f9565b73ffffffffffffffffffffffffffffffffffffffff16611dd26116a1565b73ffffffffffffffffffffffffffffffffffffffff1614611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90614138565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f9e3da7e72199adc414f24e73d3985f288cce5edbc5c370e29af583afdd78c2c260405160405180910390a38060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c60019054906101000a900460ff1681565b611f016124f9565b73ffffffffffffffffffffffffffffffffffffffff16611f1f6116a1565b73ffffffffffffffffffffffffffffffffffffffff1614611f75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6c90614138565b60405180910390fd5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161200f9190613db9565b60405180910390a25050565b600e5f9054906101000a900460ff1681565b5f6120366124f9565b73ffffffffffffffffffffffffffffffffffffffff166120546116a1565b73ffffffffffffffffffffffffffffffffffffffff16146120aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a190614138565b60405180910390fd5b620186a060016120b8610e19565b6120c2919061427b565b6120cc91906142e9565b82101561210e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121059061487b565b60405180910390fd5b6103e8600561211b610e19565b612125919061427b565b61212f91906142e9565b821115612171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216890614909565b60405180910390fd5b81600a8190555060019050919050565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b6019602052805f5260405f205f915054906101000a900460ff1681565b5f6122356124f9565b73ffffffffffffffffffffffffffffffffffffffff166122536116a1565b73ffffffffffffffffffffffffffffffffffffffff16146122a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a090614138565b60405180910390fd5b5f600e5f6101000a81548160ff0219169083151502179055506001905090565b6122d16124f9565b73ffffffffffffffffffffffffffffffffffffffff166122ef6116a1565b73ffffffffffffffffffffffffffffffffffffffff1614612345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233c90614138565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f455cf943964d06e77e44126ecca5a66b2c9721f4576a31f8693127282c55700f60405160405180910390a38060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61240b6124f9565b73ffffffffffffffffffffffffffffffffffffffff166124296116a1565b73ffffffffffffffffffffffffffffffffffffffff161461247f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247690614138565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036124ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e490614997565b60405180910390fd5b6124f6816133c7565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361256e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256590614a25565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d390614ab3565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516126b69190613e55565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272890614b41565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361279f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279690614bcf565b60405180910390fd5b60175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282090614c37565b60405180910390fd5b60175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156128b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128aa90614c9f565b60405180910390fd5b5f81036128ca576128c583835f61375b565b6133c2565b600c5f9054906101000a900460ff1615612f72576128e66116a1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561295457506129246116a1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561298c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129c6575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129df5750600660149054906101000a900460ff16155b15612f7157600c60019054906101000a900460ff16612ad35760185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612a93575060185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac990614d07565b60405180910390fd5b5b600e5f9054906101000a900460ff1615612c9757612aef6116a1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612b7657507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612bcf575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612c965743600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c4a90614dbb565b60405180910390fd5b43600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612d34575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612ddb57600954811115612d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7590614e49565b60405180910390fd5b600b54612d8a83611478565b82612d959190614183565b1115612dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dcd90614eb1565b60405180910390fd5b612f70565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612e78575060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612ec757600954811115612ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb990614f3f565b60405180910390fd5b612f6f565b60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612f6e57600b54612f2183611478565b82612f2c9190614183565b1115612f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f6490614eb1565b60405180910390fd5b5b5b5b5b5b5f612f7c30611478565b90505f600a548210159050808015612fa05750600c60029054906101000a900460ff165b8015612fb95750600660149054906101000a900460ff16155b801561300c5750601a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561305f575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156130b2575060185f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156130f5576001600660146101000a81548160ff0219169083151502179055506130da6139d0565b5f600660146101000a81548160ff0219169083151502179055505b5f600660149054906101000a900460ff1615905060185f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806131a4575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156131ad575f90505b5f81156133b257601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561320b57505f601254115b156132a357613238606461322a60125488613b9f90919063ffffffff16565b613bb490919063ffffffff16565b90506012546014548261324b919061427b565b61325591906142e9565b60165f8282546132659190614183565b925050819055506012546013548261327d919061427b565b61328791906142e9565b60155f8282546132979190614183565b9250508190555061338f565b601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156132fa57505f600f54115b1561338e576133276064613319600f5488613b9f90919063ffffffff16565b613bb490919063ffffffff16565b9050600f546011548261333a919061427b565b61334491906142e9565b60165f8282546133549190614183565b92505081905550600f546010548261336c919061427b565b61337691906142e9565b60155f8282546133869190614183565b925050819055505b5b5f8111156133a3576133a287308361375b565b5b80856133af9190614f5d565b94505b6133bd87878761375b565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f600267ffffffffffffffff81111561354457613543614f90565b5b6040519080825280602002602001820160405280156135725781602001602082028036833780820191505090505b50905030815f8151811061358957613588614fbd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561362c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136509190614ffe565b8160018151811061366457613663614fbd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506136c9307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84612500565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161372a959493929190615119565b5f604051808303815f87803b158015613741575f80fd5b505af1158015613753573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036137c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137c090614b41565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161382e90614bcf565b60405180910390fd5b613842838383613bc9565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156138c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138bc906151e1565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546139539190614183565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516139b79190613e55565b60405180910390a36139ca848484613bce565b50505050565b5f6139da30611478565b90505f6016546015546139ed9190614183565b90505f8083036139ff57505050613b9d565b6014600a54613a0e919061427b565b831115613a27576014600a54613a24919061427b565b92505b5f479050613a3484613528565b5f613a488247613bd390919063ffffffff16565b90505f613a7285613a6460165485613b9f90919063ffffffff16565b613bb490919063ffffffff16565b90505f6015819055505f60168190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051613ac79061522c565b5f6040518083038185875af1925050503d805f8114613b01576040519150601f19603f3d011682016040523d82523d5f602084013e613b06565b606091505b50508094505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613b519061522c565b5f6040518083038185875af1925050503d805f8114613b8b576040519150601f19603f3d011682016040523d82523d5f602084013e613b90565b606091505b5050809450505050505050505b565b5f8183613bac919061427b565b905092915050565b5f8183613bc191906142e9565b905092915050565b505050565b505050565b5f8183613be09190614f5d565b905092915050565b5f80fd5b5f819050919050565b613bfe81613bec565b8114613c08575f80fd5b50565b5f81359050613c1981613bf5565b92915050565b5f8060408385031215613c3557613c34613be8565b5b5f613c4285828601613c0b565b9250506020613c5385828601613c0b565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613c94578082015181840152602081019050613c79565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613cb982613c5d565b613cc38185613c67565b9350613cd3818560208601613c77565b613cdc81613c9f565b840191505092915050565b5f6020820190508181035f830152613cff8184613caf565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613d3082613d07565b9050919050565b613d4081613d26565b8114613d4a575f80fd5b50565b5f81359050613d5b81613d37565b92915050565b5f8060408385031215613d7757613d76613be8565b5b5f613d8485828601613d4d565b9250506020613d9585828601613c0b565b9150509250929050565b5f8115159050919050565b613db381613d9f565b82525050565b5f602082019050613dcc5f830184613daa565b92915050565b5f819050919050565b5f613df5613df0613deb84613d07565b613dd2565b613d07565b9050919050565b5f613e0682613ddb565b9050919050565b5f613e1782613dfc565b9050919050565b613e2781613e0d565b82525050565b5f602082019050613e405f830184613e1e565b92915050565b613e4f81613bec565b82525050565b5f602082019050613e685f830184613e46565b92915050565b5f60208284031215613e8357613e82613be8565b5b5f613e9084828501613c0b565b91505092915050565b5f805f60608486031215613eb057613eaf613be8565b5b5f613ebd86828701613d4d565b9350506020613ece86828701613d4d565b9250506040613edf86828701613c0b565b9150509250925092565b613ef281613d26565b82525050565b5f602082019050613f0b5f830184613ee9565b92915050565b5f60ff82169050919050565b613f2681613f11565b82525050565b5f602082019050613f3f5f830184613f1d565b92915050565b5f60208284031215613f5a57613f59613be8565b5b5f613f6784828501613d4d565b91505092915050565b613f7981613d9f565b8114613f83575f80fd5b50565b5f81359050613f9481613f70565b92915050565b5f8060408385031215613fb057613faf613be8565b5b5f613fbd85828601613d4d565b9250506020613fce85828601613f86565b9150509250929050565b5f60208284031215613fed57613fec613be8565b5b5f613ffa84828501613f86565b91505092915050565b61400c81613f11565b8114614016575f80fd5b50565b5f8135905061402781614003565b92915050565b5f819050919050565b61403f8161402d565b8114614049575f80fd5b50565b5f8135905061405a81614036565b92915050565b5f805f6060848603121561407757614076613be8565b5b5f61408486828701614019565b93505060206140958682870161404c565b92505060406140a68682870161404c565b9150509250925092565b5f80604083850312156140c6576140c5613be8565b5b5f6140d385828601613d4d565b92505060206140e485828601613d4d565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f614122602083613c67565b915061412d826140ee565b602082019050919050565b5f6020820190508181035f83015261414f81614116565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61418d82613bec565b915061419883613bec565b92508282019050808211156141b0576141af614156565b5b92915050565b7f4d757374206b656570206665657320617420373525206f72206c6573730000005f82015250565b5f6141ea601d83613c67565b91506141f5826141b6565b602082019050919050565b5f6020820190508181035f830152614217816141de565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061426257607f821691505b6020821081036142755761427461421e565b5b50919050565b5f61428582613bec565b915061429083613bec565b925082820261429e81613bec565b915082820484148315176142b5576142b4614156565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6142f382613bec565b91506142fe83613bec565b92508261430e5761430d6142bc565b5b828204905092915050565b7f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e31255f82015250565b5f61434d602083613c67565b915061435882614319565b602082019050919050565b5f6020820190508181035f83015261437a81614341565b9050919050565b7f43616e6e6f7420736574206d617857616c6c657473206c6f776572207468616e5f8201527f20302e3525000000000000000000000000000000000000000000000000000000602082015250565b5f6143db602583613c67565b91506143e682614381565b604082019050919050565b5f6020820190508181035f830152614408816143cf565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f614469602883613c67565b91506144748261440f565b604082019050919050565b5f6020820190508181035f8301526144968161445d565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f6144f7603983613c67565b91506145028261449d565b604082019050919050565b5f6020820190508181035f830152614524816144eb565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f614585602583613c67565b91506145908261452b565b604082019050919050565b5f6020820190508181035f8301526145b281614579565b9050919050565b6145c28161402d565b82525050565b5f60a0820190506145db5f8301886145b9565b6145e860208301876145b9565b6145f560408301866145b9565b6146026060830185613e46565b61460f6080830184613ee9565b9695505050505050565b5f60608201905061462c5f8301866145b9565b61463960208301856145b9565b6146466040830184613e46565b949350505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f61468c60028361464e565b915061469782614658565b600282019050919050565b5f819050919050565b6146bc6146b78261402d565b6146a2565b82525050565b5f6146cc82614680565b91506146d882856146ab565b6020820191506146e882846146ab565b6020820191508190509392505050565b5f60808201905061470b5f8301876145b9565b6147186020830186613f1d565b61472560408301856145b9565b61473260608301846145b9565b95945050505050565b7f496e76616c6964207369676e61747572650000000000000000000000000000005f82015250565b5f61476f601183613c67565b915061477a8261473b565b602082019050919050565b5f6020820190508181035f83015261479c81614763565b9050919050565b7f57726f6e6720616d6f756e7400000000000000000000000000000000000000005f82015250565b5f6147d7600c83613c67565b91506147e2826147a3565b602082019050919050565b5f6020820190508181035f830152614804816147cb565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f614865603583613c67565b91506148708261480b565b604082019050919050565b5f6020820190508181035f83015261489281614859565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f6148f3603483613c67565b91506148fe82614899565b604082019050919050565b5f6020820190508181035f830152614920816148e7565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f614981602683613c67565b915061498c82614927565b604082019050919050565b5f6020820190508181035f8301526149ae81614975565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614a0f602483613c67565b9150614a1a826149b5565b604082019050919050565b5f6020820190508181035f830152614a3c81614a03565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614a9d602283613c67565b9150614aa882614a43565b604082019050919050565b5f6020820190508181035f830152614aca81614a91565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614b2b602583613c67565b9150614b3682614ad1565b604082019050919050565b5f6020820190508181035f830152614b5881614b1f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614bb9602383613c67565b9150614bc482614b5f565b604082019050919050565b5f6020820190508181035f830152614be681614bad565b9050919050565b7f5b66726f6d5d20626c61636b206c6973740000000000000000000000000000005f82015250565b5f614c21601183613c67565b9150614c2c82614bed565b602082019050919050565b5f6020820190508181035f830152614c4e81614c15565b9050919050565b7f5b746f5d20626c61636b206c69737400000000000000000000000000000000005f82015250565b5f614c89600f83613c67565b9150614c9482614c55565b602082019050919050565b5f6020820190508181035f830152614cb681614c7d565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f614cf1601683613c67565b9150614cfc82614cbd565b602082019050919050565b5f6020820190508181035f830152614d1e81614ce5565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f614da5604983613c67565b9150614db082614d25565b606082019050919050565b5f6020820190508181035f830152614dd281614d99565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b5f614e33602683613c67565b9150614e3e82614dd9565b604082019050919050565b5f6020820190508181035f830152614e6081614e27565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f614e9b601383613c67565b9150614ea682614e67565b602082019050919050565b5f6020820190508181035f830152614ec881614e8f565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b5f614f29602783613c67565b9150614f3482614ecf565b604082019050919050565b5f6020820190508181035f830152614f5681614f1d565b9050919050565b5f614f6782613bec565b9150614f7283613bec565b9250828203905081811115614f8a57614f89614156565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614ff881613d37565b92915050565b5f6020828403121561501357615012613be8565b5b5f61502084828501614fea565b91505092915050565b5f819050919050565b5f61504c61504761504284615029565b613dd2565b613bec565b9050919050565b61505c81615032565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61509481613d26565b82525050565b5f6150a5838361508b565b60208301905092915050565b5f602082019050919050565b5f6150c782615062565b6150d1818561506c565b93506150dc8361507c565b805f5b8381101561510c5781516150f3888261509a565b97506150fe836150b1565b9250506001810190506150df565b5085935050505092915050565b5f60a08201905061512c5f830188613e46565b6151396020830187615053565b818103604083015261514b81866150bd565b905061515a6060830185613ee9565b6151676080830184613e46565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6151cb602683613c67565b91506151d682615171565b604082019050919050565b5f6020820190508181035f8301526151f8816151bf565b9050919050565b5f81905092915050565b50565b5f6152175f836151ff565b915061522282615209565b5f82019050919050565b5f6152368261520c565b915081905091905056fea2646970667358221220a8e335bef26e0a1415aac7b75bc79c115ecf6c7df2ce86115f0bda3c689f6ed664736f6c63430008170033033a17824e2f2989452c64d1ca4c3486d98e3cf2b9509f95807c5eea73c9f3ece303d909f63efa187f7f0ae999382e58b55dd6968a91b1e894af2898773ca17c448e03a5510322981dd8ea0b07d8f9b62e84b2b1cca932256be08db1393c400de7dbf0033044723539f8aa09d2e88b727e580d63c97f12a675e57992f5c8c77c7e1cdfa503fbb1e0b68987e5191c5f71bad86033cc4e649d2dcc23cece8447d607f359ad7503d88c740fc7f4502ea0489d49fe647984b1cf367adaf4bed67fa15bdcded65d4103e6f5a12ad39e80f1d076663c28bb9663473f605305e89281d36e15388fabef0900581f0240fb78258dfbc7dd003782b8c046eb86c1c2281b726c37d3027a3261d4ec490b7fd77af7c148c72100581f02bfcba8182f0113097c31c8b8d3450aa99920bdecc2ea59a5157bab9c03245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028a9126a890e9deb13abbbf07f5ea0cb0ca57d15eb1104204d314f5f756104a0133787e4d1d00248e8300581f0245bdfc58d9bb99c78be88a5180407b0736b2310ea2326768ffe453ba9190491d06dc69af41334d8f00581f02eddf37f75442d423e1d841ed4687e2281a83dff086a5dfcf87e9d67a8d5f49081d961f2c80792c510219230703f77b2dc3bb7f151f7f1869ca9a0ca5b84997862e0ceecc26b78850fae63ed41e014107031c61fdb6415b790598ba97d007bc13bc29a0de15a7b95345286e21a99bb072cf03af0a2fe165cbe557bc52e259f0fac87b8224919fb212a1a0c84551b156eeb4ed03297409a516c7cb88f0085dcb0d43c8e7b80533f5794a2abb642aed67527d2c860058200331a7af3854413d84f7ff10db25484f5c9054750ef8e6c4a72b69c8d5016c105820ffffffffffffffffffffffffffffffffffffffffffffff80dea06c264b0bfc17035657a481e32d37157862c98079a6a7f468348c9dede08a39a7581dfe8a5b81eb0058200349e2721396f371ae5a9a64d198f6fa3ef8576b4794127c57b6ed7af2dcc1b04a0129b8c50a5138fa3e9d037bfbce893c6ba80e0c21d5ce8a2ae92621d09577ca7cb9b01ff6b2d0ba103cac03a3b60b2090953d8c5a8eacceb330b1d1a42624f553d4851654422d46e33edb96005820030ef7e1b056e16b5d914abff61e742671972224bc1f8b1da8efb5eb53e9be10491a8b85de1703ab659e00582003bf87fa841e14ad0e7a38e91eaea85786d856fdb908922a02a7b39c906fb5105820fffffffffffffffffffffffffffffffffffffffffffffca64ca8659a0d6555f90219ffff035192cbdeafee39a383a84785405a1a6b288c2fc210094900f11f5dbc6af1a4fb0376df7123d5bad54a3780177a86b002175e24a8f0c90a7af18594fcfe8f5ba74203c62c751570cc39fd0c0e38dc9a9fab7636315cf5144a1526674c28e584d9e74703af4dbf83d14c8d956c4f6dbe6f6f724b04bfb7fafff7e11d4b1544f92d0ad417032f4e658b089d9fb5430bad45c3902b1c8735adda70966b6640615211b2f0f8170312b38a6e1667222b53e41d59b2ec9bee582d3ce087742a09c6c495bf7309bb9c03e3004bccce9515e0832d0b879ee9c94304c58ec7a9365e74de2e0f6a6dfce56100582003ec224446f3c17755860eb5e4e77142eaca4b502bbd2b338fb42599d615acc04991998f8c1bdfead5ee03c14d5e562d00c73fac2db00abdcc2289815166f14a55630041aa84b0528fe67a0375e82f4a29977b466d950859680fafbe2bc33ccb07cb6e4f3c5ace0e28f18cc503c1c1ec21db0ab34f677700bef421f9a9d5891f9bec47ef8d4a1f2d4161a9f31003a66a2fe0a42c39dbaeaf1748a143553046485bf6a8a961d36002d54f7d47abd0033aa8838c1b80b8cd15cb6870172e0d063881e2879222b6d95a7e31ccb0659c6e00581f0215fc7558b472d1e5a8d08a36125d57353d6877e77e25e01d7a53ebe3b27c49a2a15d2d72e21a2b6300581f02e3e7f033c4501497cbfce183a9a14a36f5d1ef1135a0a3236bfbf948ec5f488ac7230489e80000020303b2d126d25d1364be78d8488a16a9baa0eb52db090c629fd1870d00922d260c8f032b272c986b32ae83242aa99a18f30c0d7e4bf8002e97adb4d28ef3e5131ee69c0353e82f328c72da35b59987f1f3dba59438864288d4720f74bbc0339e5eda214b00582003382de4bcde0cfb4bb2a88f4655616b372c2057def4bf210f9fe32846bd4030490770d96bfb875c8d94037c6158962abe2c6b432b338ddd11b8d0f0c696ab9085db3581e7cabfe8e87d8d00582003441b966d48345f5e38921a1505369935f8a9c0415bb1a331aefba3a1d2a0904a08d8184a4cb637506c300219ffff031ffc65cc34612965a58edd59fc4fa2ce167a75076291e8097811ed3bc879a12603966933a71590c7019f3b25bc9635f922a6739ceb810c4c0fa91bb4531356c8630350bb3268aac22a65e591ca1cc5066621e7ad6f8926e9161961d72371a3e804e6038116080fb3e96f4488888f57fae9efea046fe7339e70601e9e61b44fd590813c03cecb88c4c0662d9676f8e1d76e5af4e24846fc77f6f98203c7c6cdca788d89e60359a6c9ba791a375a333ac172d7520681483fa9ead9ad45b6a150fb6321bcab1b030c5048275d716bd6750fef6bbf3828d1977d4c85e49c98a7a4569159a81e757b031db236cd9e7c2dc0e3273a23fd23906b88bc6678a21f738218964000508ce48c03ae4f07b541fa166249352c6d32f302db23071a7f8f84cb35ea75df73aab6f1fe0219ffff033a581d7af6c28524a0b304c1aad42bd5a55af6d3a7e859eaf1cf256ac93b618a03f7e5cbaf269cbbd9a3fbc8e0d7282d801f920d6011922a3001c61f827d018f53039b31d3281b324443e62686ffdbad9540a20f94f7c910e019fba903d9f3847da203f4376c755a6f1ad5af753563cd3a72fd5f54f7d8180558f8166ad8b36471d42403f8ab8efac47d61b0d9ee5a568e287fabaf4aa2246cf93fe8a5c973da22334084038694a73df94f68e7d41f69eba97535e4764df796910a22b88a4cf7b141d626c20373e0c6c8c06eb81b71b30b01e7fd139f8e5b4a72d54c1011af006752a5deffe6031d23cbf642c75852c1d3fb72a343bd89a5dce722fce7f79002632a9452f8cb73035b35d7579e3242497b5ebf3337c91b868b0b2012340bdc08ae16170f20fb9a31037e09e77800f540f1c35c2dded7a7d776dcb3247e2f1aa58e4b1c7253af7427d403e4d3d69121c0eda5ee3a18e324669ca1449995908518f42f04e771fe46b3caad03e4c8b86aa235470d8a5b307c704ef4b3e7206ad1616c95122510b153789c9aa0031b7429757429d029d8335293a4a85f00743f306804b7744643d7a4029e160083035d91fa92e861519198df7fd26647b66b57498732496230190564e8fdd60483f1005820030c5e77d9df05132326eeeacb2ffeada230f11fb0723dc12ee9dac185c8c6305820fffffffffffffffffffffffffffffffffffffffffffff7ccb136702dd3a8a2d800581f026008eee6780cbd2c3647c0ff7fa24cc68d6277c5021497139a7d2057d4555820ffffffffffffffffffffffffffffffffffffffffffffc275b6a14f1dccc1407500581f028867c4a6e84090f91621da1c4e59291d7976a3c46ef64a3d6a231d90ec155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f024f16bd0960420cb41e0de70b1e0fa8702a3e003b8380a0970cf0cc289aa449822b516c5cdd5bb3f80219082203a9324a7c73c1a0343f80716d9ad6eb59885f17812aff5e8482a0d0b28d5bd58403fb1c7d9451833be458b8c2f469bdff588bdb141138a71fee7413f1840031a3af00582003163dd391b964fe9688846232e9cf111b730c565437c6e5a6843575515de060495e08ca471c3f1a1d45005820038d63fdd0877fc1183e674d80a69077d64b30d2b1b3547e6516b81cd38b3fb0499d393fc318da20518b03b0deccbd3f73f29436a6854538f9ec99546c97a2d945b7dda9c3964656192066038f1d9fda859080edba84373bff9dd8f921e83d9ddfae46a4fad5176f583139370351eb2715029054159301a0388ab9bb8aaefe3077a1a57248ddc2f0ee67e018570311322a0248cb7bb79698f26ee04da1e8f82f86be60516ff8a4e8250a5c7804ba03b43fd8bbf047529ea2b135d1da336a498da89052d70e68f503e5c8c6ca2ba70103ba0946884b778f6a54d066e902a313afea4706b6780763838a22d7cb689c0c1c0393db7bfd2f1dee96ac5688a60d0276210a817ec70e39224d0c48dea079c1b85900582003b6097caa59fe5d8ce75e62e811a1dc18134a8ea770db7886b631387d34cef05820ffffffffffffffffffffffffffffffffffffffffffffff5f6b6d6afed10af0bd03481acf9a7d47493c2f4e2dee8f1c92d3fe811070be5d65de2c525989a29108000219ffff03de556a0c3033dffddcf2a8a0a1ce1b92f8c45cc51add8b3ee9831e8b2838448303930cdcb1a3f2e8d12e9fc377a6ca41e7ee752cd16dfa767c0a9debd64b699a1403611bc9d91babe93fd4a039804a63d02c91248b2324231b955e58826429f72d7800582003edb7fff1dcdcb0ad4d40696a7fc9c2b31b4514c04b1d6b9cab53f21105a6005820fffffffffffffffffffffffffffffffffffffffffffffdfd6cea6572f9aed85403bbdc0679260c367df2648a4897f69a1a9f3821e6cddc242e0ac35d1d11bd9dfa005820037d877132573dc43a5b8151d74871df410a7a2eb07d8b94738d6a3e0c5556c05820ffffffffffffffffffffffffffffffffffffffffffffffa8a2ea6f5fea721bff0328d3502baeef05c30c87020485966439030ddc4f215441bb17fa64cf4aa4973203586f8064cf6e3e3c79c53641f0a304539c5eb8042475f33eea6ddce0a266fdd4031d3839eb161cb2befb6ed46b0ba9cc80d35a0260bf2b89698147583564aaad5b035032d63f7dbb2f7c1f45d94be3314031843a33a9247a9d0c11e990afaa2efa4803f23af3d9acc99419499ee1009138a1278ca2be7e23082e90ba9398a229274dbe03d1068a4c12072fa38dd48bff702f132c2707c5fd047be45be12c3de03893005000581f02574433f445e514e268265ba580b06b321bbe669b8e770fee0fecfc7ebe524a043e6badfea5525d95f400581f023271f52437c441949af76192ca80060a8588cc4ab737c4baf6001e82149b49219588f75fb4eb846c00581f023dab19ec30c26823779cf87369bf716c5f69c1916c854006e168156480904a01b1ae4d6e2ef500000000581f02eb24446f7f41c51a151851adc31e05da0a8500971a0c4521eb51f1747ca14a043c6812afc14a8f294402191a80037b4d74b08bbce7346017d033930ad9b274f6214c1b6af18d9cb86a9288edbb4b03287cffcbff58feb83e3beebf8a5d01ae9b6facf2b1abbe16f185f5ec55ede02b0326a1573f74a14406d1ce769d317bcfae8f66a0e4fbf5e33fec6f5bdbd12994ce038c8fcea6e957d2d05c0ab0da4a635f735b887c33759ba1fa82fe9de0894e5fdf03f729ea9647bb945e687937db5b563354004f2fc914d6a574dd960d730d148f190219fdff0219ffff032bf4340fd2fe75c9c8abf0bcbce0f52ae8931b96e6a2298dbcc7942682d943ae0058200316b19131fb1961a29b5fc673ad2c70ea5fae7ab5f04738bc647be7442d4c004966c92423f666cd6cdd032b43403442750bdcbe2320a2c21da5848d44661b79c14c68657f4badfdcfc789030f731f5ba40a897d94110287eae7520de30f5f63b785ec3d524441ccf53a5ddf03d00721720042c3e9cb8a7c93e5694fe4c6dabdb54499e3a1e58996baa4e1802103325068ec76fa176519a1acd9a3e99146957dd06f505ba911b1ca4c75a51b3af403297391b8b770ccde2120402e5fd7fa812487076d290b9c52f814d7198f32f2e803a66b154c330ce0ea856616b42b86cee57bbd4fe1502f2c2705079c1f1cca17d903e8fd2c1e6c56c6ef6a66066d41a3a98bf442c648d19b3e6f4ce2bbe86b07387e03a13f8577d11028d603969a4f66a2a45463b89888de170fc526623cb86f40a30f033a804e2f63f6bb5aa36c9bb04d7bf5c4b2cbe96bc037c20edb9b3e2753037b2c03572ff04fa9f742479156a3c589b6a6600629360ab45e57a6b0181b3e1ae0e6ef03de36c28624ea38d27ac9f1dbab7fa51dc0a89b0a28275df276427b7b3c0eec9803d7776a34fee17f2866b1d11a8113c1a9c1db8d5e8585a0d414641ad37a8266800219ffe7038879075c21793e59ce5dae2394920a2da732ef090ffadb465f04d0bb883bc54f03599fb4fd2b3fb6d157bf5e6e33f4917a1d32d54b257e6162cfa55e7ca03e889603c7c4bce684891b9fc34dd036ca1321dff6c34241cfb9465ca63fb9d89850ebea0342b55adabc772094b28c5c893a0ae0fe994cda31987f34dd18191f2ac070e04b032088991f9daed1cfbed3794e0ae67f23cbbbb72b64ebbe288335791e8b2b13f103196ff874a2abe270b4cb9be57f439f2c294e891e00b1e041e25dac2ae84a563e03e7ff57ba8aecdcdfd1317711563ec09e686d26542baaf2d8e6d70c5ad1d1e44003cdd8ffd681251d51da44920880822c6798883600991962f4448fd961b3109779032c79ba683f5af3dbb21b68694901169fccc4205cae145a0c580f160ae56b833a038bfdb09f95560bc254a2b0df68a3bfade4d808be0289f65c59f4c188478ea0af0319703742ef8a8d7e86dbfeba826d1cc4101bb16f082be6f8e838876adb244fe203d17a3b110a26d690427ec3e1acf5397de10d6b2149ea6788c16df06eee265a5f03ac5f2f695be4e7881e9a356cd2229e2e6163bc8f985beb299130102f650d019003ce4a1e1dc341753c5f7a959b5091c6bcfb02b9d14d8a4c0572316d7780889740038b9581c356355cbd4213a9d197c226955008ef5c2ec8a0c66f4ad9673fc6b081039e457773ebd22d4707e49c48472fbe47f32eb080e2c039d2789cdffe54566d1203ccb0cd40715c660dfe98b02a4b63a59996293d0ef65ff261dd578a218dc200eb03ce3ada872d5641d24981ac6298d04545c23241de3dcf67cbcd5ac6f103117e6900582003c40fbd5324b4aeacf4811a227acf2c88c8194d73fa75c091e4f4bb455a640049061a026b7c1bf23c2900581f0290d5985cc790a6c6eecb8dbeb1155824c0baf8b2ca83019f2d5d51f7fa525820ffffffffffffffffffffffffffffffffffffffffffffffd277bcd7dd157116e300581f02aa01ae5924bb16f1dc8c3558fe652638d8ccd5a7d620dbe6d85e0b5a8528520b7abc627050305adf14a3d9e40000000000021828005820034f21361f8875847ad87071fb13e89f27a3f1a88604f9b0e3d949ba20d7d7f04a01b8fad25a53285ea66803070decbe31257a64a1c7ea7d5162905e6638aeb4a450789823705b15a9b878e40219ffff037b909a9901acee9df5366697618931ce53a59d4b5c2c93e26d31176631b71aaf03d1a40a99d75558d27bf9b90e72e3826f6e43b2fc1d6cefec01d114cf1b363cd00324019f235ba1db52d9a4901f44fa1d1a9312444b066076a680cc670ecd4b802f034d7865ffa5459a7ba44428e3d5dfb1d103c43c19e9d88414b6632c8dd49d342103271703d6daa3119dc381a82e07572aff2808ecda53bf6b9ab308dcd848587ccd03fcfe1f6d7ed520e18225b7e773cfaeb4aa0014d0091d6e934b6e83f74b370bc2032ecaec1475c51d3fff18dc77a718cdcb7d3b8b97f7d9217c60363696bbfc384f03a6d9db319b0bc081edf4a58450414b84683b6b5e116ea9b36ed77dd9441acb8a0219ffff038a9cb48759afb9aff4767e20ef5f330c7e3934b26f00dd56572d3151ba1598c7031ea9b95e679233354e7584d4417a9e96c8fe46c5b178462277a098c630468204033ecd68b45baf31ec637ff20165436e7f211d42cd522a0c40a7ed67de651e8f100326f5086a6bf177efe4c5ce03f9dcec2a6cb534c409cce82d7a971cf45fed76cd036eb320d6bfd20a2aa672e1375bdd3f7d4ef5a28654f18bdebf7e7d684d8d71e703fb8636db9b29614762efd8b1c541c62ade4c168992dee0640f23df514e5505da0322e43788caae06df924b0ad2edda446b6350679bf37b6d8169fd277569b9d3a003800985daba667b3d822ab0d143de5218aa2cdce3a20afe70684599649c70cd310395a0428960e590084ff637a166c98ef2ef7e7da8957c018c5c4de53f1f882b450370f475a89d36d4e9aab9663028e47273957ca66c9d82d38ecc90ac3bd82984f503352e4fe296a27a9d0eeefc38c0ec4bbfb96797e015a02f56ecbf818df9313cd10383fa3c09ea0afbee465264d9581a07b9d6d4a0a8bb173ae7455c3ecc87b8696f03bf2d143cf43deb0b0534373bcb84c7ec092739ae80f96498f7899fd4335fac6900582003ffb9142e0ef71eae3b6ac0d6a5a282e4f01005ebc8648f2b36583dfa6c4f2049077d7d8fa882e5268a03577af3c69ce0403ab30ab82162d9de9ed71d41892489dfe6c165f4f925c8c651038371c8242439bf5f8828d511774b69f07c869097f6608d76f9aaa5e734da6a1100581f02d5e96b4ee31783b72953fd0ab2a1a1c7507bbfac203ea469bb0e8312a51e494275cabeacc8679e8d00581f0225a56c6358a6eefcbd71544f0eeceaa9ecf91ca476e51b096b2526f1e4a54920ee727ef2e46bc89b0219048003c87f1f4ded1b2bb8912415a7639d4ab13bc50664da5fce6f3338b5cb3c4ac3290349cdd1f8c93a66c61b7a1fd2e226b49cb22a248ddd5998f5255f24282af1e9d603e302b8c790e85de6c872d006cf7e3c6661b241a89deec348eaffd7ce187c7f1c00582003ca172956806cc2370489cb96a6e7d53ec08c20713ad5b956ee3249b737ef805820fffffffffffffffffffffffffffffffffffffffffffffff99f3eaa6b4eca891f0219ffff0380dd662be00e490d6362c18837fe093fb11833dd699a1ca1ac2c4af32ed0079503c2ef1e7a164f15af95eb98d6603e27b6407a834c5bfc94dcee7ec2ff7edb09f2035a3e3a64409cad54d369c02f52eef54d5d4a0f708b331ab96a888cf9f41cc9ae0334d3199e47bd37242f0a3af20553b390539da04d63054c4823bb4d125a38e72c038020f8bcac3618d689f670978c280967c6f2d056b66e3c3eda2eb7f41519c370031f9da9a1d027488ee7a5bf98ef3259e7ff09f435a43c6144ef2ea5c99bcead4503cb3b73e0932352d7fd050f07a85aa2333fce297444dcf7b4d82ec48f914bc541033c72a4a22a40fbf1d3612c16e12f4d686a8a135ff5185f02049c87a312e97cf103979d58f7e23c68d31fcf51e633ebd674c27777d9cd47f88b0fed45b558058c6b03cd078f088f0636ada60990c2021f595d73673e9078aeedd91b7593655000afdb0219ffff03c0443955d0473e5f703f9481fa47ddfcf72947ab99723bee0e9409c440cda4fd03238070cb67c2581a16c85a2601b13fee58def04216f07c1e63dfbb530b96126403f632639715deec7965bdd92768c9be386cdacefb041077401b8ec1da554c87e0032d2f4df3bc630cd4635f1d987debf975205675c3e0356f4d269ddb3caeb5fa03032e2ae474d5f68563fa93602750e3728f2401314d2a7a6ed5d54534a558dca48a03eea22bea6fa63bb3512729bce764c28b1f4a6edc9ce9288f5566136ef32e771303bc4cd0abbfd7ad244488a5290950e570b001842e6a1fb51261f4ec3a6d604e9603347a3ccae90722bd52e9d69bf5c066eca6b5619d5656c9a81c965c35c8121c990343d694ccd972ca906c894b3a632f3dae18738692bd804a9f2ae9dd1c35b2dc1503d906a5c1d2d5b68ac5f1101c5469c06091bcb0a6ea43212b93eab390601e51310307d2937d3b330bf1bd56a92291abdfc89e6620919a7addc9c66af9af4840b5e303d49204d7ead2d89028b404d1c5f5b861f838aefd4a52db348c43e6533d9cb83403af7cc177164d4f9cfcad9e8e265a45ab461d75f7a348fa484a0550b4d93d0c0d03870f007524ae7d7a819a0752ebd7fda830e9187828ff9c73a2d9b36b0ae4353203f67075878c0ece85b4d3bd275d727834cac7cefd856b6656b852e60492af9d3f00581f02b1efdfe53df83a4ed5ebd562699df9b8394e132c52559318332783838c9749c532fd957d52bebe4500581f02d7955397b38e7a92ea4ef5a28ef3a9acd8330526dddc621022beca507c3d49e26cc54b2ad774c51800581f02013b23c19f6a59211a6dfc1776c7e283de43867fd813443063607c8035024994f87feca3112942db020b03979c221b7caff211cb191cfcf6f64d0f82bd5ea09efd847b98de72015009ebec030ffb18c048a2230e0c93fa2cbb7c4f53b00d9487c818b9b91d671089d65b5c71033ef030b89abb174485c2f6a376712720f0b3b0779fb8298dfa798b8989118693005820033e2049c905bc6dbb173d5428d6a2473ee7e707740ac9d94144c5de4e922fc05820ffffffffffffffffffffffffffffffffffffffffffffee13d1ac5e0b6fabffff030dda0abc4c5b5da22986958d12ab5929ffacba8c84ee55ded6a5ccff7acc009c0367ae1e4435fb9320f7cc8dfe34eb6a9b94feb5f6664cf2ae29817d1aa2a0167a00582003445a4af475ddf29517e90e1c31ed5ac94f28cbaaba225706671ab08566a0204a010f0d06da4f717d242803758ec6c46bc2bd03b89cdc7105d1592c68f91ad85afc5cd6d7aedd6b8beb3b17039b9f1cea2acb1ec498e1467c14af0f3e75a1b725a20877cc6bcdfaf9612fdd47036cfc03b72f99a768c79076dc0eb95fb4ccc2d519740641088fc25e847a1c7db80058200389ee01239d95a2e6124d04a5c9455d736c95d870ab456df32983ef273b76c04a012666f29d690afbcc3a03d969b639a02bb38810dbcb9ae9c5409deb1df23406954b5a8e0eda6f2bd028b503b74d5cbbb1e3572fa95c5d3795e5a2f700de256be97c97ec2b1300a3e4602b1b00582003219edbdaf2387098a7bab1baa0b59d61c28907d8f64b95cc57ed5d904590b049756a5171dcd70d38680219fffe034665d89fa1a6158417edd25cebdba4f645e06979f7d3c0910bc7ffacf0f0e15a03765f93406fc1144d261f6f3e0ae28533c3f728af40b11aae82c3272b7d8ae6f50219ffff037adbb6385a7ea673a2edaf5b202c8fee6fcb877a28b794f6a9f4df95c32ebda403de0183abdd527ed039f75b90832be4f742eb147f1bbd136c497f3978c757481c030d65fb88e349173786471505b2b9c16ae2e2054939cf706060eacf3bb64102d4034f7974ef85fe18f325e6965976924da11615873908197c7930c718782446ef3b0334b8352721538f4e6008d935fc6ef7a108acabc36f4b8bd8e8dd54d291d5c37e0359e46a9c3f11cfcd34e3a5bfdd48f04d594c7330c966eb5e3e056a0933af53e603baf36fcfe192954904d2a6acb0ac1ff8f1d6db2087987eed3f4a35f0d5d72f2103292d86f714caacf6c32ada06b049b22bbc9da05d572ea0a531c2c8529663e9cd032023bde89e094061a9c385764c10f1054cce7864a68913093c4768eaf30db1ec0367d4187221e4d8544cdd27fcc68b3d345a7232bc5985f5a8b53e2f52a614fb71033c335d4f8d02e66586cc78b98259d668ed0fcf746cd2de79db32d5b5e397dced03410c4b6e3fd857c56f1163b3abba486ef22eb595acfd3b6beb6c515ef831738103a0cddbc96ffd87b663fdf7390b944abf9f173ada66fd87da92db3d4d1b8d8cee00582003b110b74c1e465f302fc4bf3214e3f2f76db57e41d052323f18a9086093dd004a01c6106445910de7186e03b418862dc07de65c867005feca8159fc1316ac7420e43f0da4748a391b812825031d9b6ef8ed9af85cc8e90692c78e5f7304fe4f63743b9607d4d421b40bde64a703cff64b08fcab288a65e16790fdf408d6257d3e94dfdc959b9b0be1ddcb205c9603d16b4b42b645daae0286f23cb9e1859bb572240bdbe741fcbf1230ce064d521303dd1cc2ee4ff4d2ccd2301261f2d1821f9acb27856aac508c9e40feef063124f400582003198f3db4a32a13dece4b0e8b2e224c6ac93c33dd17d8d533134f11df5146a0491fbdad6db1aa58f4e503c5c0bd08b67292f53b36c45c8d39a8d001c48c2f13c24a1d7c606b21500c646303acba1e2e2538805e2a5655ab1004fcc23e14a2413c19406c0b714bb7e57831ef03e0151393c2d179d61178a8367abf52e8f17cc43a8540df556a875d20bb89598c00582003ea4a0a5f447e8bec35274a8e6fa5898834bd73c4c0196b7322af9932ac09304a05654008ebaab773ac6b0219ffff03ccdefbf146c904535b57d9d42033da94962ba871dcff22ba22ff9efb4df6927203cf5e24640ab1185b83113c1974bd910bc8501c1c50f879b26d555a2e38de0f6b03dc1c2d4183f4487dd20b47ad6cd041f4cef3347c8e826ba1ed1d1ad2e1d69def03828d3ab42bf0ba1f89c8512e25749b27cd2f3ada6e9edce69680b77e1bd4367f039798995f62993fc6f917ab198951388d0772a16c9133a6ea2e0975116dc0265b0334dcc30a5b57faac9d05d5cc20020541d24c0112a4baf00108fd8edfda8a784203499c13503537c709e658d4caf39e8ae32ca5efbca698e2494ff61b68239978280219ffff0378b7bcb3189b8e89b15be5bc6b3d1b45107ff3e26cc093d7c7e1f1a47eb03f72037b93cf3f16a6938bb0b911f5e5bfe04ca16451c4272347c08b4fbc8ceb3411be03eb680b4d4cfe44d1522e7a44b0eaed4f7d2f990ea1bddc093a3accd8e00b327d0301f47b54b5ac28135f9a3a432d5f826212edc5ed6482e6dafe6c93952d52fe3b03b4259a75340902619d9ff8f5b2d5562724c447454a1aa7e9e9aaa27fa9d253a003a6172e52437523893a60482496d12cf3371b88ea00f49e6f1f276769593fd8f403daecdd6d6263ccac122d49c3e4455b0ba0eca5b94f33563d9e262ae6fd5bc7f4034e005576d95a9b15f99118241be1d94396486fc7d303ca69ec4a8dae3c796d3e03ba87c3d1475812ed6f65d7d67664b41a5d1491ff0d1fa7bab06cb813cb97bddb037937997933ca199a4881feac4fc6bdd4d651f7ef7e0e797f799be5d19086f64e03442890f7292925f21f43fb4ff2e2eb6790151c60f86969cdf1448d2e1388b66101410a0310d2575b85b6d0e30463eb4035ba780fdb0c9ed8cbcd3fdfa3fcc79b00a7936200581f027ea974bbf2a6587fc5bdc6a1c30c3a059266ff2bdcdf0b6a4a947b0023515820fffffffffffffffffffffffffffffffffffffffffffffc82e372244a7f73ffff00581f0266a083395eb473bf9a037f4b04a248cc88423f138c5083f3a086394445cf4a0878678326eac900000000581f029af002c7189c39d96507e9bbbbf0bdd36f8c97c2d0b19b08338408e28a74496194049f30f720000000581f02b5c9b116b2cea6cfe895d68b9c60f6db6101ba71f5197d7a5ce56635ec394915277ab4c8152e40f900581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84a0a968163f0a57b40000000581f0265e1fd78a7b4d00f340d8bac778d89459c414f83b9b8142fd21f7ff11f155820ffffffffffffffffffffffffffffffffffffffffffffff952b06fb4c95e3c6320219246503c0b3593ef94087cfdc08404e81d94ee4c1a0360973faae9c42c043d2d6150cc803fb377643c91fc1bbcb0c63e59e319ff1c9411ead45976c22e4ab197fd14765b0030c6188ae8f1705fee5033b4a0b5b5feed326e71a193ae2171ea70e3d3222f54e005820037892e20f5fddca3d767762f23641e5ad4f6572e9bd4e273e0045be66a4bd605820ffffffffffffffffffffffffffffffffffffffffffffff21a786cbc0931d5e5703720221b00ee5128022746c630e0c041be9fca64f29fa06ae088a28050be990a203972805906a5c27f184ecd7d0dbfa28043e2bc5672d434fac3e7bca33a1d3f2f200582003ed885bb73d1caa544507604c8c6770042e5b82e3d606a055fd1ade18b697605820ffffffffffffffffffffffffffffffffffffffffffffff1b22c1640e17dbfe1c037dba07414bbb85810267f287fc14c73956ee7d78e09b9b0a8e7c5a940c0b2a1a0058200377300f944a5fcf85663c59720aa0b420dd8a5dcc67ca5d3faca0066a50c510495a7c7d9cb67914ad20038eb17df80127782b3b813410546df6f3d12e4e5f5ff0feab509d491c519eafda0219ffff0376a2e2fa21c047022eb391902d3be26348ce69aaab27f79427b4331705099dfb03500d0fce70eed9fa46cccba812cf1cf28629795addac5c05d91f29de5bd7b52803f1c8d1d1d27ecb3978d020178f13f27c18dd55408afd5e8224fc9fa53eccc70c0364c33ccef42c73f4901d132c3fbc2d58624aae6cae94b926a435806eb9cda64303ff1c8301bff47982ab4456b8dfff5312bfb1662400429d531866b8dd60564ea9035671a7643d5070027aa0a0809caa9b4aafdb6c9d1b96e17fcd5fddbb4e50d147038872bdc54449bd2211ba53fb6b3a203742d6804443cf740e7b0a456adaf9d43d03f31cde65e01492b66028164a42afa2a89a912d70440e4f9844d0685d5543db8103a1f98235bf209f2ff33827e6e527af01aec69f9b1fc50e66c3b758cd938340390219ffff0346617e17761032e3d76f184228da2f8f1ac484bf972d061995a26d41e3719fa40398a152ead4ac45fa6304ce9b0ad7a2786d6f6639366d6a2245a554e4ea320c6a03bd41b046d39c8d4035134fcba08a05bdd683aabbc83c925a7482d833abd1d5cd03c0af100c336de86576110467484b249bec01ed6813ab842e00cc712da596053203252c0af149f461e534fa73ee847296d1649be4ee59a086d5acb958e73acf2f1703ca0a94af8ce6dc3e41590ce00abea5ab59cbe93e532a4744cefd9206ac7294d20327d77c665ad51e10fb68eccfbd635a9fceb20de10b2cb495d7bbfb4d5bb175a903fa0df7efd72e6442378173bf2a49b15276dae92590999edca29c85c8d40d7e5003e004713928b3a856b77a208c1d9d746b5114fa14596a1ce851049ec3ef5fda6d03e1951b60811eafa5e5d0c059351b6b6d7660b4cd5a8dea3030a737d50f5424ea03349ad6a0b8a3eeaa0da244cddb7e3e1f73d8eb30bce9fa8fc2530184768422ac03743e7703e0c443463a74f83b2691f783cc7d1ef7ffb67015983cc056808c043f039e053a22e22ccbe322eb55d330c89d673a25b17efa5beff058fe56cea39b6ad703cf76c64829701d4cf2248f93f5cb6921e3e1d652d1fe8faf99c6e3d527c0c2e703911d64f37796754c2581fe31374a291a8ee39e140e12babbed7d5576522f70bf005820037468316efc1f95e4f66f179a68103d2fbbe895880106ad15414bbd264c4e2049619b565ef5df117b90005820038701dc6c843f89539bcbd30802fceed4c0919ac1a33b219624c2178a620ea05820ffffffffffffffffffffffffffffffffffffffffffffe8ca1f2b7412af27b03a03862c6bf6d10eaf700a438025f036e2555ecc3c036a77174bd1052c3832ce7d8d03479e59853efb2d6c3c234c302803e85ddc1b73ac1b2902172ed68a2edce1093303a9780bf8b4e7247ea8525075cbd9a9f2c4815a5b5c2da17f14f36160d440e17a0058200364563659a85d72c9b772e631ac65e7977ad9920c3d6de4fa194cd2ac3f83504a03add1dcd921ba634e8f00581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c74301010000581f024923cd5dcad54455cf763f18426711d67419eaafddfbf55a9fcf9306fe9347663cec7db1f81f0219060003dd86b8d1b6c677f4971380735701c7763253d6358a209e073c5be0de62d339500338a0df6debdf82a512db406022714eb65f6ca2e87934a9399f341f178c89e45b039849cad2bd8678a35fa61f4dd49a17040db1fc47963708fc4a6b2686f3369b9f005820038b796748cfe3328dc4ccae1d8ebb8275f0cca97a2b18f8c5e15be4abe787505820ffffffffffffffffffffffffffffffffffffffffffffffb12281098a3ea264d503da006f1b55448d826f35e4720f00fbf8cb578e11ae672ca695c134de382e59c300582003281bf4fbe003d0173885d22ef07a6115691045b8c9793a8361a50a4c0bcca049120e3c6acb84f750ad039e31fdc416ad38efd424c5e0611a73a8a2551d6605b12891453e9584ba0654a103f2dd749a5e4e3c14449706b72b6b8502b45ef44e44f97464755eed2850a5d2810219efff0219ffff03f2c385bd300d2d76c9c3a14cd40fd4001fe7b647b20cde4aaac09474c61c8382038a3097030c50102a77d9778248dd13380de09e17bf83ab5cff0d1fd8a9dadd1903feffd07032650a56253fc70a08356976ffe2ee814a677b550c45f90b68db266e0331e6804b644af714f8b5e23d2654e5c9de66bab98a23284f722ce1aace8620a7034b3f54898692fd553f002438f2d4d2959eccde825180fa9a893d51f6fa7c710303f96b79447cae576f1eb81e0171c3782fa1446787063f71fa2b47620abe8236d003304f3a119e5e7ba77ccf6fd02d3171012923197d6bc91361e534e52897817cd8005820031e3be5d8cd06f441c24d234fec4e73d67a63f2a0ec676095d5c47629dc19f04a06c8e822db115605d5de0377eb6ba911df91e5cf26c882f36da3195bfaeaf5c9d29258c92d9c854fcf3969039188c3a689d0aefa5cf798f01710049197f0369b93a114cc19bb954763e29c1a03a3db2b5f451a6695eb18a083ac87017fe219e40e630debb42ac296b4e92eee4700582003038d5a6c33940f6c7a3554923a7a143c9903b40a5da17bb91272ee598d0090492bd8b8f954f0d178bc00581f02f665e53f77937026b53d0826e1a25d015faabfb0e20ec4151155dd3d2a245820fffffffffffffffffffffffffffffffffffffffffffffe33661cc4c8cfb023a500581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54515d459555f8c1fcf2791ded819b73b60a80b8e30205036af9f4a05ae34df55b3aca748a87d3d418ab980e3f0e7dcc11b921b72dac6d48030b17c4013714bdb3fc8885f9f5acf5efaf2f200c2437864c65802a309f50bbd7005820039ab55d172a8ef52264e29ca2ebbba72b5d2c4c32309d96f4396cfd9f2a9110490a797c074ad5e289dd0342f56e6e7ebb52cbb9027170d8eb29fa9c46d583b13a9455a73ff226abd41667034fdb3fbb7ba3bd3627e79e3e9417046668d260e8646ac06f48aad77ecf33d454034a3fe4deafe5c4864120fa04d576d0d2d64f1b7156b92b3d623404c31200e6cc038b25c141f6069799ec8c423c27b122672103f78ed099561e2ac640f9243febad030eaaa439f330801088f21311d8ba6fcbf42b0ed791dee126a7881d8e83ebff2203fafc118fadac197cc918403fbf8b25390d6ac63890ed9b1a92db551f0a151c8c0219f7ff03f5e25b00c400f8b1a382e09379f3d94f6b6355422c02e2b77f415d08c6c70e8c03ecdeecc0c8a0cb080f4a69903d9029cfb6d047da5f7172ed497e69412950088403e884cba361f3a328781ed6a0e6be9fa267d36e39dab66d700a84ca8680d90bde03328831a9f5e72bee6ebc5a14bf9e4496c5d232e18554759cbcc0fe80dc912c0c03cf59ae5b50b6e85b762b0d2d1bf5be1790f9a4f1293fb9d8e617ed855f795596036e28c8fdde50e7da7a9707607cbccd1747e17b3a8d59c3069ab0d2911f717ca903500e67a0afe18cdc4de2b71789526a09a94b1c3a2c98a525f81f85a88e96c59a035041b5043a41261bc2c030d0b002ca36a7627260fb0e72b00f82df91804bc5b5032433eed804fa9903bdb7120118a33fd2090cb6a2c762dde44838b15aa54288d40219ffff0219ffff05581d0340879b2d5b5e737f2a554d4136062a4bb26671f48961db0d91185f80070119527605581d0370bc9dc0343235c316cef8469130d1008dd9c69242405189dedd8ac00402021942000219208003716660ca66a92a6eba382b15b17d3f631bb2d877b7ed5e9870169bf2805d39950325cd133467e4093f0ff8838053bc2a3835d582f8a963826ab3411b475ea79da105581e036e3ffb9132dba319d68253401446acfe030c4a3398edd9370ccb827b7004020219f56503800c29703fa123a270169530e2c26fc0b3184f4eb6e7db987180dd307bbe0854032da5586ebe0292a1b1b0ca0fe99bf9398bbb1d849bda1ec323ceeadcfeb8006b037322061d1d7406caad244783b98121c33bb8a36700ddf39e18c55d420237b68603da90d96739a917088c62ca3ba173c65c78754c860f51fb694000565a9d5bf83f03805304a0456a2b69366b8299ea4a3a3cc645b8ecac4af38e710c7ed6b6dbeaf003cc88068457fc1aa2bba1446bd5073c09fcd6cf0c47deea1d8b4c302015243d55031c8c08ea2d41db6d24243f7f8922c3c96bb606e954ab969c308e9d69ac647acf03aa598dbd78adebb2c316b0bba3f197b63670bbb12bdd0189bc594afcd4c8d94903bd88c6cbbd28a4f8c0763005389f38cac7c6417fe5d77eeea197357708cf14f00219ffff0342d823b668529a39d598a8750409121fbcbff121e6400ac6304c81dcbd3e139703fdb191ef11db7340d691ee78ccac53219d113572687282525a48286d137d9f85031bc75ee94e216ec4692d2a772acece04866c062cd4b8396b31b7b894c955959a032ae847edde360b055399c8b8bb6614324a5cb3f8a3296ff726c6d3d37a8a91a003c01fc66c5612cf90dd1ec4c9433017c751fd58c1c6aefc4fb9714bb113abebc103e5516893cfb4f7981c1582d108bd974d05a0dddb3881827ad149a33b6d9f89f8030a2504c2ccaba940a246f11441924eb2dba32b249075550e85d2acba1271105e0219ffff03e1cf018d252f2fdb0c5283a9653bb0a61ee1d74790c9054d379afc014d54357a03e0e8a68cd47a25c9e13d3c994397430ecf0ecfbb2f9cf1e4d4997af852257a8a03e6c7bd338cc1e54bb58e7c7806805d6d895a1a2081b776f21d47c9d9f077d3b8034cd383cc6f30c6cab11e44ae1976f3d3a6ea962a7a30eff80c68c1122f4dfbe703407aed16d5c9ffe69b4e2eb48062ebb3e775fd316cc44d3114757af5c23ec6ac03add4ea69d606edf8f02b06438f99f84deb35a274c84b9f3249ccf3685286d8c5034a530e7f2dacd12e7d580205ab47b848e62ad57f3d4b148bfb7fffb878a880f20219ffff036d5fa69e873c6ce7f7cb8a87e90bd94e636941724e54813d9fe8cd3658ed69ad03504feee347250a2c6001929f47c7dbe9c5df6ef7d1721ed82ec71a6a05107355036719188ea3abec19c454cc9eedaeece72cb139a00907444e93a14d7125b0b81103ce8949b7b5b8571e8ec038ed51d5d3fa9155416fecd2ffbf2199ab2d6dabdaa603f7d8edde34a5727268123ab1f4897446cf76452290d74530acf8e8dbdddd5a3003a9bb6314ec89b2a46fde80ec9ecbcdafaa31eb0cb61e13f0af8468bccc0c957d033d31db3ddfccc38f86964c83f005252a5392d5a0a806b63cbe1f7ab31641fedf03e572db957d4b5db0bc016bbe67a0402090f84d8cff5ec83c201b5c62f5c7a522033bd2c5e8b26a0b0ec6a6c559d07cb4352889ecad2c811131d89fdd0c47ff694c03a58f13c4518828ac732e28822ecd8030895c1a49116f1140dfa30e0f97408a9403f5bf1acc34cfcce07210cfef99e674f7394db1e39cb79b68d80bef2113b8794603802b7b6f5e822fb3e403eb480dd66f7642b395437e27a45fe8440ab4e1b9eb11032cadd9bfac86b4bcd9d1a74c4f354dde54dc3bbc9937961106456a4b16dc884a03cf9c85f7e385d8d6248d0c59edbdfe0254d8042f649253428e8e57bab8b7170b03d2fc0d5c159b519bfc6119c5fafb421217f29517d31124c232d08e7c0ee422a6034c0a8e53fc6b1baafa230ce63cde626e53ea85dbf06e45d90ebe9a360f077e4a03218871c6ddf9c9eb0506cc6c1a859b2f8dc98d31dd36f7439ec7f22068909abd03c49d939a1eb9cb76416a57ed0492dd8dfa667df44823c4882d570c4ab75ee946030ab4b9efd9b1df9ed758bf79f9183089a5869fe58c9c401e0de2918c9af30d6705581e0310719485bda2e2b18e84557b1dcb182165d4bc6ae1bfddf855abb04f000c02467b0e0f079de0039806751c796d16ccf17046ff2b5433cf4b736ea335883ff3eedd0f774621958203e194085c5cdc4f7c024ecdc329bab538a571095275e2960236e97ab5db335b8503cd4300fe5ffe783c0d516087b20e235a8ec7046afa299430e39453e00ec7c44305581e03b7ef227fcc4aea7ba76149ac5a020c2338188906b4cef32edf5a5e09500402030bc41b437519b74f55e41c933ee08195b2cd07505a43d754b4f64fc4790b918d05581e035260dc5fbd7cf9a20348a2c4e4bd5fc9b1bdc0dd83791ff45ec11bba0008480ff56e1a8275e80003fb29904da24e2a77ee6f2d2c1180abc8978464d047d685388abfaccbbaafcda505581e035325e6c217135f6760a11f77019b766ddac682c1f7c12b817425ca12000c181a470fa1c6d503000005581e03ab78749dcdf820111b69c88d16ceece25232688e357f486f7487f1fe500419037805581e03be92fa1dbcb555d8b34868cd812e7b98c4955097e855f477c2cf79768004020219ebbe030a53bd03c8d5763590a0c7b0ac9419081741f14edb3302d824d1d3e28b33540f03239194cd0a8beb90c68cd4b27579f59b7d28bd5c80c62f491159f1741356d31403f285a071be687eef15dc04b8850d104dc46c5155175d937d6952788db27c95260305f2754c2311c6a5e9cfd1db83e2f099b692b1c9ba35504fda9b13fe2816367c035fc469f9e6c2b1c591bd3649eab4fe97e1ebc9fe68af91955b0556c137dd8b9d03686fd7ae3d5dcfc4be60dfc5b036d1e710755afd63d94193ecc950535a252f5b0349be6c8d5be4e8e6f63759769b1ae24dbaf1ef21f524a913a0355ff25b13bba6038e9f831d5330d3d0a171314120f8a5ac07ff104e274cac413d5e697ce60549a10356bc72cb1ec1f5813734f30680119b7b688ffa256a80053c2156460cbeebe95e03dcd4c762576d0434e1e73d2e4e24972232bbff6e98ba5175f3b7d4a02cd7536703c3cf2cc20aaf256f32db7c2a191b2661c6942df84ce4c93da244d7717b1bb114037c39e5b892fb620f6526a38bd170681557117ddea1324e14594d7c57c918662b03a1f4e1d6927157db16681d65157138013231cb062ba3cc01578569e5b49d3bb80219ffff036c1ef1809dce31f1b07954e77aca092ecdf7b5ee8a786134940bb958561e5aa803637e9968243554f9b35f12bb2d7228fe78b74b69c9e2d8879f0b08558772760a0365f5a4aea16b25558081d76cf13c1e82066f727fb298584fc355e6c96d325c4b0219ffff03b80ea9ac249b161cfb497d7f370f4a460441a280bfe74dcaef1f8968ab924542035b96c8f055c4a657be425d945a0d0b5870378c22abb77fed028465f2208c4e3a03476aa6167907b877d8764a0478709a9bbbf00eff6de7e20a4bf5d870e41ddfaa03992953300ba1a223cf3832818dd07655e6cdae9de961e86ca83b635126fb38ed0365bacfd5754c470f5fae5d1697260cac111d597dd6c6e40e0ab76e928f2197c903d6d97717f65f2bf26b0ab936c803ffe3731d4225f12d8de9c0c51240b1d64642033b73ae10df202f6d3d32b2a3475cfe6112a5c6f0cf2cb80033ba31bb74cbb05303b0ad58baed9ee5ec10535d436f2941d0deceb366d2ac4c2c6d64160a73e76da203d48f51e0805db58e7a65826e4c7ae487a8c09e9506f40621d39e8db04bb3d54e03541f87afaaceaf897a561e582df695f2ba1149e98dfbd7b0f6a8ad891403a13603a94fb90d432b8a15e70182e950c57ea42fcd7c12e4dc90bf6e5d89b82e86c41b039bc68ec78d40899bda5e0144561c324b9e62abebb2958749b2178cb747dc65fd03cb956384061c27c1021252a19a041797a5c08dd411c0ad69c73ce08154f9a8ae0219ffff03b8bab1c23c641762f0054ebc7e793e116c6da13ed9ddcc9d3a5e6c1f631ae8470311d12e9b9c8338a3606c3811ee5f06c5d488a9d08cd590be561d8c6095cca6e403f384f301c5d00cd615b43b224037cb3ad0052dda425873cfa89dd5f12575076103ce475d37b8916d7c505c832c9b7b4949075e16cf5311cc9a33d8e3a1f3bbb3fc03f6a8f683594132e74c02fdf0eb46fa6f50ecb0a40bfd3919107e8918bf46b1cf0351d4e5c68c1d422f0469db96391b027b75143bcd8a07cf64904e213589e3be09033b535cc8554c23b496dd2695116efc848e6dae7529259e2c7ba3a96f59bff9cd03fd98d055d3cc5180268289e22088d6a86bad7b30380adf4717fda308e8890ab4037c0484f66b73d5983f0d42491f5849a97ffb330f1713ba3d98ebe27199f2460b037c40d30985569e61c5d5c486d45b4edff7f44dc2128fb586cd13ff3ffa7dd82103de7b8ca7211c87991752673f88ddb7bfc6fdcd9b801cfcaa655c11608996323603120b0d4306b4dcbdba5cddf678c6e131e9e64da6b5218a8017755fd1257cb35403aba9925dd1d475a5aa568d15f985f477b95f81eeacd46b41791ac384ea233f19033f29a7bc1287572ac42daa97bf2d751f2edcda1780f20935aa268b5f64827f3203507baa7798adb3571096a7947b338f62b2a76132178ff2674b614bd2af0124c003c9da82013d6ffc1507ff336df8f531d29333b2e310e61ba420d0705ab4c8951a03c4d865e681886ef60a364d4d812d7c5e98c4dfa842ec55f917f695b4167404330350533d28e4bd2c1fdbd29ba2879727b8cbcca3a800909e2ede8d75a92e87fa7703c58e5f56fb4e94ec8aaf76db71210dd9967655741eb129b42c173deeb8b19fd803a1be9d8c8b82cad731d0f9e3fb1aab6aec5f2d01cdd9321eaba9d6b5b21ecf6d039d95126b70f4c17f50cbb61602ba4e6aed21c8e13d3cdc2d0a5e25cfbaabd94a039ee6ac3050783f38971a7b7f6e3f5ecf6f613fa9fbc2170eb76a2348e3b391be03debb05d0980f46ae691debd6fd5d620bfcf2aac5dde8eec089f8dff71a9a5bcd03a0d959e0c4c784a0193364479d039bc5fe0e4a1fe607e48a1c058a58583267dd03680bd909645c49e1e4057d6fe0b39686acb6be9df0099634512d025c19a272e90394836ed982e61b4f46daf028f7241a23cd14aa5d938eaa867e09ea3e613a621a036d19c3c27c6777d7efd08fe3d5727b98e86d729fc97219cd3f2ee8101a74156803c77863a89af9841a6a65a59aa1ac4007a289ff63c13c5c626a397ea01fb955260309ed7380b6508afaf48e48a51e51df726de96b526f047754c10895a5e4d3bdf903c60b7b9e533ff82ec3439977d7d236e71f33c409d6196a258096a5fbbb11707903432a5bd63817ead2c979d1da510537391e3d6c62f559ea3c18aba3444480b91103d5cb23822b6cee574a7ec1c84032a5899aa86350d373402bea15fd327b03668603c668f636ebd8cd97d6af4e0d668e9c6eda1aef3714baf317bd5d90caea9bbca105581e039fd11d1baa9beb1b1a06a80512b23a813dded1409c44a1ba8d57888430040405581d028be83679e7f4e0316d9c5557fb7a5cdea8d558bd8e7b99a08818c2510402045904cb608060405234801561001057600080fd5b506004361061007d5760003560e01c80639015d3711161005b5780639015d371146100bf578063a20527fc146100fb578063e6c09edf1461010e578063f2fde38b1461012157600080fd5b80635bfa1b6814610082578063715018a6146100975780638da5cb5b1461009f575b600080fd5b6100956100903660046103df565b610134565b005b61009561018e565b6000546040516001600160a01b0390911681526020015b60405180910390f35b6100eb6100cd3660046103df565b6001600160a01b031660009081526001602052604090205460ff1690565b60405190151581526020016100b6565b6100eb610109366004610401565b6101c4565b61009561011c3660046103df565b61028d565b61009561012f3660046103df565b6102d8565b6000546001600160a01b031633146101675760405162461bcd60e51b815260040161015e90610460565b60405180910390fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b031633146101b85760405162461bcd60e51b815260040161015e90610460565b6101c26000610373565b565b3360009081526001602052604081205460ff166102115760405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b604482015260640161015e565b600093508392508291506001600160a01b038716331480156102445750846001600160a01b0316866001600160a01b0316145b1561027f57326000908152600260205260409020544311156102775732600090815260026020526040902043905561027f565b506000610283565b5060015b9695505050505050565b6000546001600160a01b031633146102b75760405162461bcd60e51b815260040161015e90610460565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146103025760405162461bcd60e51b815260040161015e90610460565b6001600160a01b0381166103675760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b61037081610373565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146103da57600080fd5b919050565b6000602082840312156103f157600080fd5b6103fa826103c3565b9392505050565b60008060008060008060c0878903121561041a57600080fd5b610423876103c3565b9550610431602088016103c3565b945061043f604088016103c3565b9350606087013592506080870135915060a087013590509295509295509295565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220103dcafe2c1ab4188249fc5484e0e70c346bbce3909234a1dc9453afc30f03a164736f6c634300080a00330338482e0a7cd0a7906290bf914831766af1d2c58dd71e959723658be680a7cd090392446bdb2ecff1dd5271f30fa0755b7bedb0c24dd4e2cc1586035c0c4a7c6d1703e0d6b7bde3036f501610a618be3dcbe18e5475909629903d169ac73cf0b48e5d03e10445746471e9bb0a34e6b596845b41b14a72c4a85b836d7756848b98bea462037e1f4a5d13818428ce075339478494fbc223c9821ce5b4e36e26a6d9bf4ba91603486555b0736047466efef1613cb037f58780ab67cf28a49142124e55c36c1a55005820028b81ebd6607f2d555c6a6b3c9f45aab8a74e67623d98296bc03470958541b144012552f70058200202487d749ab63d74c3005ea030c022879576ef0390c4788a7b00ae81355dab440125689e03010ac0a6d116d3710711896a993c878dea41dd36247dd0dbdf1f0b71291854c60058200237a96c66fa855617b06102e33768ba25cc2f66606f5a3e894cb1e79c2575f3440124a8710310b86e3d70f2b626b96bc9f4ed481d0a089e844b369b0e601b8ea8f107688abc00582002eb8c3430d4b0740ea1c3fc2fac907c914809dec3fdac493f230c6760d326874401257d6f005820028294f25378ca72915d52dd502f50da3d574b30a113311630e3c96f71a9fd4b4101039fbd954bad5bdfd462b21315db293ef1cf857ee7f62ed665bdd94cd1b78a96c2021974ad03b850a2757e3d844986a816539c6996b24e528937f81dbac3a6eb5666a9adaae20363b516a71be58168b8793f9706a7b6f78e73ba096946c37b7e9157cf2aa05294035e86829444f206e3afdd48b4f687359876b8750c16bfbd7eaba8df968f5da649032734e2da849a97aa68b37d55b204e5a42942115e60850008e0ed0917a444ba59035fd24c0062ea0515a963b89598588fe5af370acbfd8adfbe363b3269ae765cae03a2399d897268e450935dd5e8a936c35d20513aed379aa69a8b79dd81219ceaf503342397610afa9eadac0c78f7a6a7c0a0eaae70928bae507f29fa80072355171503a9df0779041c70e3ef0a5227771c95c1b6a1b640f5169c4764388b5f66b142e003e380d31999d0b40c3422949cf7bd51419273737301cf63c1f10e8a7512e881060336f050f410b2f98af90560c3cf5e8a5d514c8d20be83fc9b99e7ef3f00a639bb0219ffff05581d020ffdb6f4f44a755a7b6e06f01d805040489836dd9ab6b6115b5c200007011904cb05581d02bdf88ee150988c5cd14514fd99095aff5e7cede614bd802756ea598c04010219301005581e03b11aafb46e020a3677d05569b3ea053edac9ab1d1f992015b34786e7300c18a84672d54184f10005581e0311ac90d60413aecb695d19bbf034d2ae06cd0f140d81fa626fc2a735f00401033bb11cc08570a05d067bceab7de1585749b664eb4622f67ebe9d0a85ff1a1a9d05581e03e3a9669398ce0550e738be5b57f409f0408ea6eb8f4d669e67f07ecdd00c0f472e6aeaa61e3c2505581e031ce86332c3043bd95e8f8edf4c38416ff71838b9073747c54bca45b2300c03471b3f6b6f2386bc05581e03b471d4b96769ddcc5b55d394d04775d4915d1df74a3b648683e381cc000c181d4649c1d1563e7005581e038cf2f37d35e7261564041209aa3cbe7b2299e096d4a58947926981afa00401038f096757438292d1e45e01a38510cc95960fe65eb1a617c81e501d4538f178b005581e036c913d59cf751f1e93eb354988e274999e82e1038186fffad6680491800c104702788db670f80005581e03dc95ca18aa08d40b52c45160345ccf206a97bf734c812af0676293bf400c181b4701bc0fd71124f80219dcdf039de4571e8b922a16ffd64cde1f84bdf468134f4333599f6e560d11eef18f6bb603fbcaee9abe5af18c8e1112f758105c6c4daf224cc063ba583d481f3127fe998403bd335e61d68ee34cf9cbbff4d54607e736e644b21e1802e58f48d1bef507ce3b0368e4649e441d9c563349a910518d21f4fcf01dc4ca54320b8b76a57da0f39cb803766bc18056b4a481d499bf1eb721dbdbd7e05bf8cf40d5f7c2d10891ff6ce1ff0399f376db734cae67d1d7ba49bfb92607239df7534873cfd6ec78830565c2d05b03c8a8059315e2456c999ce9ee620b020202c7f3489c78ac5e65995652a28237f903f417234ced24a70c3d1a56cf3ed84a908f5f947d8e1890f693f9b9df2d42bf7f0219ffff0219ffff03726fc4a77956fc1dd84b1ab3e6d4df446947ea933af22d2b434ab5444f49eba60382c0e2516d570a44169ad23b0921cfd22f8b88b5552611937b418b12e06e718e03e1658e0e1f3aa85037d34654f93284d1677ef8a2cc89b2f3237018a0ad0a4c22038756ec80394b86090f7cea808d4c8d8d7a98c2f6a2813f6966a994b3722083290345020a966e48b3a4168f370a411eb4a384f198fc27bcee590a7d095ab66df97a039ee5f45a0eb2731b7cad122c3d3901570113b589e75815c5ba273e7a1d934ca9038e226eeb103a471238a00116918f9dc5fbd3d426b9fcac729f2ed7f613d265d603e28b090ab3cfb0134091c37def1bf2e6af9b6eee94d525f395b1f7ee46bafcb903e1afd39e5617253d6dc4384aa3e726a6b0d4ff55d096126c61a8d27374671201032aafdb14e157e54d64c2589a319eeea4f6d2080b1f8c588fd56c72e5010a5b6c03068589075f8cf5fe481e7d37cd62ee4f67cfa34edf4b1f5cb6d600957bf09ded03f6186105600c743a294f6e19a9397a8f18cba6cf840b567d40db43d66460531b03b31ccd0e4987672e85651e2e8d85333042b67ae4d8dfb380e87d47e695b8d6440219ffff0331c101ed6b4e59f4708268833b6b455fcb3741067fe97210c92f75e2e33a4fd40219ffff03974f915ac0621d2251d4fbc3d67e8e32543495ac6dc0e1543e6bc7fea5ad7082032918c5322d574a419508f59de28e173701a00960d2de62c3c5c65ec687e292b4032ed099b50f08727bfbe96cf2342e0946d850a424025c3ff6c37e5ac8b6a5bebd03f5ba720c9000bb008e8f2ab59c94b5c7b72ad533ca461508e3e8c830766786ec0315df0a5411117e2f26faff6d94364dbb64d7f4ca7bcac23279149b76667044750381eaa67c1d4c32814e19ec022dc81b909f6b44cc9fd47afb4505de1159363c4c03be203597fc81f7275338abdd1877feeeaed9b7aa39d9758f2af025219a60c19303770c5861d79a6d056f6366a3c72fb81a70ce45a05e5da261ad991f31d9543de40365d4aeb72c1bdd125e1e7c17fb29e2cf8b54b2ae03ccdfd4aa141b4354766953038ad7152cdeb451539d6ddc34efca68d33c61663c38741723085cbe799e256f28038abc53ac189904cf43b05d70a872cfdc669e8bfa8903f064826e3e5f4c4ec891037c8c01d8a29f2a4b22adad122d14a704bffe71ddeb6800ac9c75c7a645a08c9d03d86c0a8f5d1011a273f2137b79fa395ac7a13abcd0795378644eba450cb4450503b019ccbb5f121f1cbe24b3187d5c8eeb783d9cb1f1ec20ae7bbd04a35c8dbbe4032bb03e5aa30780999b4a6953034eea464f8088c7407c321784a25659b118e06c03a76fbbda8099d038878c0a8460651beb4d0e130ccf89e367be546ff44507c826034285c17476d431ce1489d750112038abc33929525345f1e767df721476e2d62603ae5af259152511f953f8526bf3b5a01fe3d5563432656b142b035470646b3978038a699e9a48b79be2734682f4fe9ddf91443c6b4eea3d24ddea83e3a8b4644ba303d40f3b3f1ae435a483906909b02c1597b326d434a1b907d31e00ddc7f2fa52420370abb791310319587c42f9c8636e82cb231807a9ac67a20a8f7efd958fdded3d0325baaf5af998f577e2ee87cebeee88d89324a87050e6b53289a277547d0725f803af267636c6b38b39042eb71c04840eef4c67e38fde1ccdeab3d081641ce0ac970332655acde5ebc8ed46ac76ba668c6f3c3642755d7483a42e4941c8f7d8c522be038a9798a74786b03afafb2eb8d7e0a1204d01626a6faad5227330b1f60746b63403887fdceb4eab82e0334dd04dfc3334085f967fa35e025b761767916b18d3afa503a6f56b69d6b49b48e93da96b7c4f625ff078f249a450d6373d96f6853ac18c71031fd6242e2bbdfe759fc9354a7b80dab63c1358c4ec0fd5abbaf71399f9bc40f4035dd53d890a827581c994cf22859c7d6e013f49c889ef4a8d3bcd3db9a53c0c6d030c2186522bf9f4fa2ae4eb525dc2d90dcdc0af345ea146824587d6c9bd02be33037b4af6f0b8b7baa1340ab430d810286610a54b1b847741d3f29a60b59dbe176503c0f1568ed2f8ba3d71ac17732d54597bfce92d4d30ed05060b5465f47901ddf503d838d459103f57d94739bc2cf263cc176c983713a409755756aa53b78ebec6a503f52566be39533ac750ece1a750dd72e908b3b1df7ff036aa7ec29be1ff8c42f705581e03294d72419c8129d34c46cdd908dc329b8c3175612f7efc4680b9e904300c024636f3be42d5e003975605c654f3f24e28616e7d49daf15b343673ac97f6d7d63a0e688e6df8004f036645a7f99acc2a2204874ac8434f3de00bb2cdcc03eb09ecf1ce7c2dea42e72503e85e2ba81e7ee871fd13fb41081b86bbdf8dd1af20e8c493891b9e2c73f6beb205581e0357e53d84dfb3b63e0230c01ae61b7c79f7eeec621d7c6842f2c8e344200401045948af608060405234801561001057600080fd5b50600436106102745760003560e01c80636605bfda11610151578063a328f135116100c3578063c5f956af11610087578063c5f956af14610771578063d1efebfe1461078f578063d547741f146107ad578063d8427cce146107c9578063dd62ed3e146107f9578063e8738c9e1461082957610274565b8063a328f135146106bd578063a457c2d7146106d9578063a9059cbb14610709578063adc557d414610739578063bc949df81461075557610274565b80638456cb59116101155780638456cb591461060f5780638705fcd41461061957806391d148541461063557806395d89b41146106655780639f4e14b014610683578063a217fddf1461069f57610274565b80636605bfda14610569578063691e44091461058557806370a08231146105a3578063769ac726146105d3578063826e14a0146105f157610274565b8063313ce567116101ea57806341275358116101ae57806341275358146104a557806342966c68146104c35780634c67fedd146104df5780635600f04f1461050f5780635c1161761461052d5780635c975abb1461054b57610274565b8063313ce5671461040157806336568abe1461041f578063395093511461043b5780633f4ba83a1461046b57806340c10f191461047557610274565b806323b872dd1161023c57806323b872dd14610331578063248a9ca314610361578063252498a21461039157806325daa8f9146103ad57806329012777146103c95780632f2ff15d146103e557610274565b806301ffc9a7146102795780630369795d146102a957806306fdde03146102c5578063095ea7b3146102e357806318160ddd14610313575b600080fd5b610293600480360381019061028e9190613552565b610847565b6040516102a09190613af5565b60405180910390f35b6102c360048036038101906102be9190613369565b6108c1565b005b6102cd6109df565b6040516102da9190613b4f565b60405180910390f35b6102fd60048036038101906102f89190613459565b610a71565b60405161030a9190613af5565b60405180910390f35b61031b610b2b565b6040516103289190613ea7565b60405180910390f35b61034b600480360381019061034691906133ce565b610b35565b6040516103589190613af5565b60405180910390f35b61037b600480360381019061037691906134ed565b610b93565b6040516103889190613b10565b60405180910390f35b6103ab60048036038101906103a6919061357b565b610bb3565b005b6103c760048036038101906103c291906135c0565b610c35565b005b6103e360048036038101906103de9190613495565b610cbf565b005b6103ff60048036038101906103fa9190613516565b610e04565b005b610409610e2d565b6040516104169190613ec2565b60405180910390f35b61043960048036038101906104349190613516565b610e36565b005b61045560048036038101906104509190613459565b610eb9565b6040516104629190613af5565b60405180910390f35b610473610f15565b005b61048f600480360381019061048a9190613459565b610f52565b60405161049c9190613af5565b60405180910390f35b6104ad610fe3565b6040516104ba9190613ada565b60405180910390f35b6104dd60048036038101906104d891906135e9565b611009565b005b6104f960048036038101906104f49190613369565b61111e565b6040516105069190613af5565b60405180910390f35b610517611174565b6040516105249190613b4f565b60405180910390f35b610535611202565b6040516105429190613b10565b60405180910390f35b610553611226565b6040516105609190613af5565b60405180910390f35b610583600480360381019061057e9190613369565b61123d565b005b61058d61135b565b60405161059a9190613e71565b60405180910390f35b6105bd60048036038101906105b89190613369565b61136f565b6040516105ca9190613ea7565b60405180910390f35b6105db6113b7565b6040516105e89190613b10565b60405180910390f35b6105f96113db565b6040516106069190613e71565b60405180910390f35b6106176113ef565b005b610633600480360381019061062e9190613369565b61142c565b005b61064f600480360381019061064a9190613516565b61154a565b60405161065c9190613af5565b60405180910390f35b61066d6115b5565b60405161067a9190613b4f565b60405180910390f35b61069d60048036038101906106989190613495565b611647565b005b6106a761178c565b6040516106b49190613b10565b60405180910390f35b6106d760048036038101906106d291906135c0565b611793565b005b6106f360048036038101906106ee9190613459565b61181d565b6040516107009190613af5565b60405180910390f35b610723600480360381019061071e9190613459565b611879565b6040516107309190613af5565b60405180910390f35b610753600480360381019061074e919061341d565b6118df565b005b61076f600480360381019061076a919061341d565b6119bb565b005b610779611a97565b6040516107869190613ada565b60405180910390f35b610797611abd565b6040516107a49190613b10565b60405180910390f35b6107c760048036038101906107c29190613516565b611ae1565b005b6107e360048036038101906107de9190613369565b611b9b565b6040516107f09190613af5565b60405180910390f35b610813600480360381019061080e9190613392565b611bf1565b6040516108209190613ea7565b60405180910390f35b610831611c78565b60405161083e9190613ada565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108ba57506108b982611c9e565b5b9050919050565b7f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d8776108f3816108ee611d08565b611d10565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610963576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095a90613cf1565b60405180910390fd5b81600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff969c24a8a0595d2bcb85bd09a812f6187445db55920ea0fc903af6b6d290b19826040516109d39190613ada565b60405180910390a15050565b6060600380546109ee90614130565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1a90614130565b8015610a675780601f10610a3c57610100808354040283529160200191610a67565b820191906000526020600020905b815481529060010190602001808311610a4a57829003601f168201915b5050505050905090565b6000610a7b611226565b15610abb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab290613c71565b60405180910390fd5b6000821480610ada57506000610ad8610ad2611d08565b85611bf1565b145b610b19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1090613c11565b60405180910390fd5b610b238383611dad565b905092915050565b6000600254905090565b6000610b3f611226565b15610b7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7690613c71565b60405180910390fd5b610b8a848484611dcb565b90509392505050565b600060066000838152602001908152602001600020600101549050919050565b7f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d877610be581610be0611d08565b611d10565b8282600a9190610bf69291906131b4565b507fa526605fac7f1dc4850009685abed44eab6662a9e27088bbbf0f04c64a3510ff8383604051610c28929190613b2b565b60405180910390a1505050565b7f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d877610c6781610c62611d08565b611d10565b81600d60146101000a81548161ffff021916908361ffff1602179055507f041d550054b18d2619c4d3ec3b68c38bde809d82df4014821bf9c550b161adf582604051610cb39190613e8c565b60405180910390a15050565b7f7100d427dec4d84128633ececd9e234641183788c2749fc3a4aa24ea8f5cfaf1610cf181610cec611d08565b611d10565b60c8848490501115610d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2f90613cb1565b60405180910390fd5b60005b84849050811015610dfd578260096000878785818110610d84577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9050602002016020810190610d999190613369565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610df590614162565b915050610d3b565b5050505050565b610e0d82610b93565b610e1e81610e19611d08565b611d10565b610e288383611ec3565b505050565b60006004905090565b610e3e611d08565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610eab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea290613e31565b60405180910390fd5b610eb58282611fa4565b5050565b6000610ec3611226565b15610f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efa90613c71565b60405180910390fd5b610f0d8383612086565b905092915050565b7f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d877610f4781610f42611d08565b611d10565b610f4f612132565b50565b60007f27f406f19fd1b378cfb619bc553f0cd86d17e85e38ecad46997fb68ad17b7307610f8681610f81611d08565b611d10565b610f8e611226565b15610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc590613c71565b60405180910390fd5b610fd884846121d4565b600191505092915050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f27f406f19fd1b378cfb619bc553f0cd86d17e85e38ecad46997fb68ad17b730761103b81611036611d08565b611d10565b611043611226565b15611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107a90613c71565b60405180910390fd5b6110ae600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661111e565b156110ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e590613c91565b60405180910390fd5b61111a600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361222b565b5050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600a805461118190614130565b80601f01602080910402602001604051908101604052809291908181526020018280546111ad90614130565b80156111fa5780601f106111cf576101008083540402835291602001916111fa565b820191906000526020600020905b8154815290600101906020018083116111dd57829003601f168201915b505050505081565b7f7100d427dec4d84128633ececd9e234641183788c2749fc3a4aa24ea8f5cfaf181565b6000600560009054906101000a900460ff16905090565b7f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d87761126f8161126a611d08565b611d10565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d690613d11565b60405180910390fd5b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2da35e50a3bb076634a9153a1c564dc96f7f0c271659aba48da4d64a345862a08260405161134f9190613ada565b60405180910390a15050565b600d60169054906101000a900461ffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b7f27f406f19fd1b378cfb619bc553f0cd86d17e85e38ecad46997fb68ad17b730781565b600d60149054906101000a900461ffff1681565b7f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d8776114218161141c611d08565b611d10565b611429612402565b50565b7f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d87761145e81611459611d08565b611d10565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c590613cd1565b60405180910390fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2eec4955c60aed203f2c6110d271447fa13486ce3cc790d2babb1f430333f8b68260405161153e9190613ada565b60405180910390a15050565b60006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060600480546115c490614130565b80601f01602080910402602001604051908101604052809291908181526020018280546115f090614130565b801561163d5780601f106116125761010080835404028352916020019161163d565b820191906000526020600020905b81548152906001019060200180831161162057829003601f168201915b5050505050905090565b7f7100d427dec4d84128633ececd9e234641183788c2749fc3a4aa24ea8f5cfaf161167981611674611d08565b611d10565b60c88484905011156116c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b790613cb1565b60405180910390fd5b60005b8484905081101561178557826008600087878581811061170c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906117219190613369565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061177d90614162565b9150506116c3565b5050505050565b6000801b81565b7f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d8776117c5816117c0611d08565b611d10565b81600d60166101000a81548161ffff021916908361ffff1602179055507f5a1a778683f8d6b7d9ecf2c638978defe0e5be8eb3c7e8b44ef5739af7a263ec826040516118119190613e8c565b60405180910390a15050565b6000611827611226565b15611867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185e90613c71565b60405180910390fd5b61187183836124a5565b905092915050565b6000611883611226565b156118c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ba90613c71565b60405180910390fd5b6118d56118ce611d08565b8484612590565b6001905092915050565b7f7100d427dec4d84128633ececd9e234641183788c2749fc3a4aa24ea8f5cfaf16119118161190c611d08565b611d10565b81600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167fcfe46c62af295af2b77073f8acd67671940bbc7233cf706c8c3121a4b433d6ab836040516119ae9190613af5565b60405180910390a2505050565b7f7100d427dec4d84128633ececd9e234641183788c2749fc3a4aa24ea8f5cfaf16119ed816119e8611d08565b611d10565b81600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff167f47854abc7d67450d5880b73dc960fdfcd0384600ed3c6d699087db79f44ae70683604051611a8a9190613af5565b60405180910390a2505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d87781565b611aea82610b93565b611afb81611af6611d08565b611d10565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8390613d91565b60405180910390fd5b611b968383612883565b505050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b611d1a828261154a565b611da957611d3f8173ffffffffffffffffffffffffffffffffffffffff1660146128ac565b611d4d8360001c60206128ac565b604051602001611d5e929190613aa0565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da09190613b4f565b60405180910390fd5b5050565b6000611dc1611dba611d08565b8484612ba6565b6001905092915050565b6000611dd8848484612590565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000611e23611d08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611ea3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9a90613d31565b60405180910390fd5b611eb785611eaf611d08565b858403612ba6565b60019150509392505050565b611ecd828261154a565b611fa05760016006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f45611d08565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611fae828261154a565b156120825760006006600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612027611d08565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000612128612093611d08565b8484600160006120a1611d08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121239190613f04565b612ba6565b6001905092915050565b61213a611226565b612179576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217090613bb1565b60405180910390fd5b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6121bd611d08565b6040516121ca9190613ada565b60405180910390a1565b6121dd82611b9b565b1561221d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221490613df1565b60405180910390fd5b6122278282612d71565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561229b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161229290613d51565b60405180910390fd5b6122a782600083612ed1565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561232d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161232490613bd1565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282546123849190613fe5565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123e99190613ea7565b60405180910390a36123fd83600084612ed6565b505050565b61240a611226565b1561244a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244190613c71565b60405180910390fd5b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861248e611d08565b60405161249b9190613ada565b60405180910390a1565b600080600160006124b4611d08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015612571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256890613e11565b60405180910390fd5b61258561257c611d08565b85858403612ba6565b600191505092915050565b6125998361111e565b156125d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d090613c51565b60405180910390fd5b6125e282611b9b565b15612622576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261990613d71565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806126cb5750600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156126e0576126db838383612edb565b61287e565b600061271090506000600d60149054906101000a900461ffff1661ffff1690506000600d60169054906101000a900461ffff1661ffff169050600061272e828461315c90919063ffffffff16565b9050600061277d600a61276f600561276189612753888d61317290919063ffffffff16565b61318890919063ffffffff16565b61315c90919063ffffffff16565b61318890919063ffffffff16565b905060006127cc600a6127be60056127b08a6127a28a8e61317290919063ffffffff16565b61318890919063ffffffff16565b61315c90919063ffffffff16565b61318890919063ffffffff16565b905060006127e3828461319e90919063ffffffff16565b905060006127fa848a61319e90919063ffffffff16565b90506128078b8b83612edb565b600082111561283e5761283d8b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612edb565b5b6000831115612875576128748b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685612edb565b5b50505050505050505b505050565b61288c82610b93565b61289d81612898611d08565b611d10565b6128a78383611fa4565b505050565b6060600060028360026128bf9190613f8b565b6128c99190613f04565b67ffffffffffffffff811115612908577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561293a5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612998577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612a22577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612a629190613f8b565b612a6c9190613f04565b90505b6001811115612b58577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612ad4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110612b11577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612b5190614106565b9050612a6f565b5060008414612b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b9390613b71565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0d90613dd1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c7d90613bf1565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612d649190613ea7565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612de1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd890613e51565b60405180910390fd5b612ded60008383612ed1565b8060026000828254612dff9190613f04565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e549190613f04565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612eb99190613ea7565b60405180910390a3612ecd60008383612ed6565b5050565b505050565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4290613db1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612fbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fb290613b91565b60405180910390fd5b612fc6838383612ed1565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561304c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161304390613c31565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546130df9190613f04565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516131439190613ea7565b60405180910390a3613156848484612ed6565b50505050565b6000818361316a9190613f04565b905092915050565b600081836131809190613f8b565b905092915050565b600081836131969190613f5a565b905092915050565b600081836131ac9190613fe5565b905092915050565b8280546131c090614130565b90600052602060002090601f0160209004810192826131e25760008555613229565b82601f106131fb57803560ff1916838001178555613229565b82800160010185558215613229579182015b8281111561322857823582559160200191906001019061320d565b5b509050613236919061323a565b5090565b5b8082111561325357600081600090555060010161323b565b5090565b600081359050613266816147ef565b92915050565b60008083601f84011261327e57600080fd5b8235905067ffffffffffffffff81111561329757600080fd5b6020830191508360208202830111156132af57600080fd5b9250929050565b6000813590506132c581614806565b92915050565b6000813590506132da8161481d565b92915050565b6000813590506132ef81614834565b92915050565b60008083601f84011261330757600080fd5b8235905067ffffffffffffffff81111561332057600080fd5b60208301915083600182028301111561333857600080fd5b9250929050565b60008135905061334e8161484b565b92915050565b60008135905061336381614862565b92915050565b60006020828403121561337b57600080fd5b600061338984828501613257565b91505092915050565b600080604083850312156133a557600080fd5b60006133b385828601613257565b92505060206133c485828601613257565b9150509250929050565b6000806000606084860312156133e357600080fd5b60006133f186828701613257565b935050602061340286828701613257565b925050604061341386828701613354565b9150509250925092565b6000806040838503121561343057600080fd5b600061343e85828601613257565b925050602061344f858286016132b6565b9150509250929050565b6000806040838503121561346c57600080fd5b600061347a85828601613257565b925050602061348b85828601613354565b9150509250929050565b6000806000604084860312156134aa57600080fd5b600084013567ffffffffffffffff8111156134c457600080fd5b6134d08682870161326c565b935093505060206134e3868287016132b6565b9150509250925092565b6000602082840312156134ff57600080fd5b600061350d848285016132cb565b91505092915050565b6000806040838503121561352957600080fd5b6000613537858286016132cb565b925050602061354885828601613257565b9150509250929050565b60006020828403121561356457600080fd5b6000613572848285016132e0565b91505092915050565b6000806020838503121561358e57600080fd5b600083013567ffffffffffffffff8111156135a857600080fd5b6135b4858286016132f5565b92509250509250929050565b6000602082840312156135d257600080fd5b60006135e08482850161333f565b91505092915050565b6000602082840312156135fb57600080fd5b600061360984828501613354565b91505092915050565b61361b81614019565b82525050565b61362a8161402b565b82525050565b61363981614037565b82525050565b600061364b8385613ee8565b93506136588385846140c4565b61366183614238565b840190509392505050565b600061367782613edd565b6136818185613ee8565b93506136918185602086016140d3565b61369a81614238565b840191505092915050565b60006136b082613edd565b6136ba8185613ef9565b93506136ca8185602086016140d3565b80840191505092915050565b60006136e3602083613ee8565b91506136ee82614249565b602082019050919050565b6000613706602383613ee8565b915061371182614272565b604082019050919050565b6000613729601483613ee8565b9150613734826142c1565b602082019050919050565b600061374c602283613ee8565b9150613757826142ea565b604082019050919050565b600061376f602283613ee8565b915061377a82614339565b604082019050919050565b6000613792601383613ee8565b915061379d82614388565b602082019050919050565b60006137b5602683613ee8565b91506137c0826143b1565b604082019050919050565b60006137d8601183613ee8565b91506137e382614400565b602082019050919050565b60006137fb601083613ee8565b915061380682614429565b602082019050919050565b600061381e601383613ee8565b915061382982614452565b602082019050919050565b6000613841601983613ee8565b915061384c8261447b565b602082019050919050565b6000613864601783613ee8565b915061386f826144a4565b602082019050919050565b6000613887601c83613ee8565b9150613892826144cd565b602082019050919050565b60006138aa601c83613ee8565b91506138b5826144f6565b602082019050919050565b60006138cd602883613ee8565b91506138d88261451f565b604082019050919050565b60006138f0602183613ee8565b91506138fb8261456e565b604082019050919050565b6000613913601483613ee8565b915061391e826145bd565b602082019050919050565b6000613936601d83613ee8565b9150613941826145e6565b602082019050919050565b6000613959602583613ee8565b91506139648261460f565b604082019050919050565b600061397c602483613ee8565b91506139878261465e565b604082019050919050565b600061399f601783613ef9565b91506139aa826146ad565b601782019050919050565b60006139c2601183613ee8565b91506139cd826146d6565b602082019050919050565b60006139e5602583613ee8565b91506139f0826146ff565b604082019050919050565b6000613a08601183613ef9565b9150613a138261474e565b601182019050919050565b6000613a2b602f83613ee8565b9150613a3682614777565b604082019050919050565b6000613a4e601f83613ee8565b9150613a59826147c6565b602082019050919050565b613a6d8161406d565b82525050565b613a7c816140b2565b82525050565b613a8b8161409b565b82525050565b613a9a816140a5565b82525050565b6000613aab82613992565b9150613ab782856136a5565b9150613ac2826139fb565b9150613ace82846136a5565b91508190509392505050565b6000602082019050613aef6000830184613612565b92915050565b6000602082019050613b0a6000830184613621565b92915050565b6000602082019050613b256000830184613630565b92915050565b60006020820190508181036000830152613b4681848661363f565b90509392505050565b60006020820190508181036000830152613b69818461366c565b905092915050565b60006020820190508181036000830152613b8a816136d6565b9050919050565b60006020820190508181036000830152613baa816136f9565b9050919050565b60006020820190508181036000830152613bca8161371c565b9050919050565b60006020820190508181036000830152613bea8161373f565b9050919050565b60006020820190508181036000830152613c0a81613762565b9050919050565b60006020820190508181036000830152613c2a81613785565b9050919050565b60006020820190508181036000830152613c4a816137a8565b9050919050565b60006020820190508181036000830152613c6a816137cb565b9050919050565b60006020820190508181036000830152613c8a816137ee565b9050919050565b60006020820190508181036000830152613caa81613811565b9050919050565b60006020820190508181036000830152613cca81613834565b9050919050565b60006020820190508181036000830152613cea81613857565b9050919050565b60006020820190508181036000830152613d0a8161387a565b9050919050565b60006020820190508181036000830152613d2a8161389d565b9050919050565b60006020820190508181036000830152613d4a816138c0565b9050919050565b60006020820190508181036000830152613d6a816138e3565b9050919050565b60006020820190508181036000830152613d8a81613906565b9050919050565b60006020820190508181036000830152613daa81613929565b9050919050565b60006020820190508181036000830152613dca8161394c565b9050919050565b60006020820190508181036000830152613dea8161396f565b9050919050565b60006020820190508181036000830152613e0a816139b5565b9050919050565b60006020820190508181036000830152613e2a816139d8565b9050919050565b60006020820190508181036000830152613e4a81613a1e565b9050919050565b60006020820190508181036000830152613e6a81613a41565b9050919050565b6000602082019050613e866000830184613a64565b92915050565b6000602082019050613ea16000830184613a73565b92915050565b6000602082019050613ebc6000830184613a82565b92915050565b6000602082019050613ed76000830184613a91565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000613f0f8261409b565b9150613f1a8361409b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613f4f57613f4e6141ab565b5b828201905092915050565b6000613f658261409b565b9150613f708361409b565b925082613f8057613f7f6141da565b5b828204905092915050565b6000613f968261409b565b9150613fa18361409b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613fda57613fd96141ab565b5b828202905092915050565b6000613ff08261409b565b9150613ffb8361409b565b92508282101561400e5761400d6141ab565b5b828203905092915050565b60006140248261407b565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006140bd8261406d565b9050919050565b82818337600083830152505050565b60005b838110156140f15780820151818401526020810190506140d6565b83811115614100576000848401525b50505050565b60006141118261409b565b91506000821415614125576141246141ab565b5b600182039050919050565b6000600282049050600182168061414857607f821691505b6020821081141561415c5761415b614209565b5b50919050565b600061416d8261409b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156141a05761419f6141ab565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f417070726f76653a207a65726f20666972737400000000000000000000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f426c61636b6c6973743a2073656e646572000000000000000000000000000000600082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f426c61636b6c6973743a20747265617375727900000000000000000000000000600082015250565b7f42617463683a20746f6f206d616e792061646472657373657300000000000000600082015250565b7f66656520616464726573732063616e6e6f742062652030000000000000000000600082015250565b7f62736f20706f6f6c20616464726573732063616e6e6f74206265203000000000600082015250565b7f747265617375727920616464726573732063616e6e6f74206265203000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f426c61636b6c6973743a20726563697069656e74000000000000000000000000600082015250565b7f737570657261646d696e2063616e206e6f74206265206368616e676564000000600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f426c61636b6c6973743a20746172676574000000000000000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6147f881614019565b811461480357600080fd5b50565b61480f8161402b565b811461481a57600080fd5b50565b61482681614037565b811461483157600080fd5b50565b61483d81614041565b811461484857600080fd5b50565b6148548161406d565b811461485f57600080fd5b50565b61486b8161409b565b811461487657600080fd5b5056fea2646970667358221220a49323b2f8c8b27cbf9dd2346b5a7df5b9032f55ed4b9ce73edcd7f6b226aaa764736f6c6343000804003303dfecd36b901abc7127d03be11b14027fca3c623a65674050db9f032f9e53117f03ea9a7ef84ae5ea38618f37955ffd71c12b4253e199c7c394e5ec65c31f99930503d13f82873759aaadc16abb9bd7c4f8c364ca57153dc92da06102f4b9e8ac08fc00582003d70b148d11f17b6effb97e3dc611449506ca624d5f8fc11c29896eddf45bf04458b1d75000582003642ffcd042ab49d1ede000e2fa96d6043fb442a833f38953d9c925320b5f30447188f1000058200302b5ce7a88ba3615b5806be6af0e34ae93c194a3d1e5dd9f01626fd809e0a04408583b0000582003ba175a41ce5b28c537867a2026d4b27c3eb06e03f0f26ea1206e190d4eed80440e4e1c0000582003db9d63e0cd5c3ea3d878ae4c2fbcbdfb3985d6637add29acf0bb5c4fd85f80410100582003ebf90460e25eae4753191661526ca56a6a9ae7840dbe42d6d204690f4cf52045017b9d65800219544603d90f32137e53fc265c5ab133ed9474579c295c6ced92ef167b9cad614be4349403a4ab8a9c059a8741f8124fd7a359ae22012ff955276a920fd37ae182a41b16210332a23eeb032459f6d26184e6a7a6d770bf2e8ac47294c7bfb2d7c8d9682505ed03900f5c15328211e625a68adbf6f4b06307005ad9fc97e0180baafd3ce45dab8603422c93832a58c25432ad5e02b18f10f859ee2c9d28a79343b0fe425e81c493e303262ad0c9392963145c17929c16a11d38417a542ad58f300261b713bfa832624b0354a8235392f52c48aff4483d0724ce9598c02df01fd143b1b93146baf21d9537038248220b06c195bda181715d15f08d920283b123e6a8019f622c2184a6fcca39014100038deafbdbd32ca06c265c37ab58947c09e93398cded1ce65f4187cd2716838a3b03c8056b8e318babf072c7c9bc474fc3fba42291aa8a8eafbac93b1eb745e0067e03462db3d886dd76538e7c499b2578e48f16525a906c1708f93d67dab78b727018032bde24bfe5a191d3a71ecb6f26cd169e816d2d3cf3c348639e52a2b1736d0a710219ffff03e987546fac4f3b0cab2e0a2e22b175c8e1e9aee2ddd9936b21f81a3b7d12048503bd6eeb22f7fa73fcd7e1657f3e5fad483cb064d028002dfe717a7c2b29e7a86d005820029976019a81d81a1f8f1f9e67bb5597e9f7a3ae152436185711db0c1e3cb07c44086f431803996ce713a7fa79eef586ad87bc56ff89ab7d4cbd55ebfe3a465cf18eba60f5ba032b5511195e6d37ca6214e034a995ded34f4641847da484424b9530a1dfcf242400582003ed796869aa8890bf65fee3fe6f87da446e3c34c15332fdf71def68d6011cd0442cb4178000582003f3c8a27b080496a29d94877c87ab9023254dc07a70314e2bf930e6998b13c044042c1d800219108403db885404c2d8190524a464285ee6554a1e0526e04e24ff59c3542fcf95d209480305e1f13719620b9327c3337064fbdb8afe9f427ffaec5a272ca1fe70cb067ed903d461f5e9fdc98887dea670575f5a1f0ad15fad29b616a9f6f6530624be4b98c4039f48352505568472829699fc788cd88302f5923db1ae807b450b2e50788a939203d3de666c422459d3d0e2d99f967a8f24a4a8921286d83ac0fb6e4a60027bb1e7031535802e0b648145d1c5e5244773fbaf0a5d419a550ae31474c2cd99b8267abe039d8e9810d3ecc40ad4efcaab591a5026ecc7a035f7b4d0d3933a7a71c199407703d228b1b87f40df8fe7bea61c055671fbeafc0f1f3d401d67fc115ec616e24b11039d874fbec0f317544dbfde624275fe02de1af8f354c7d76d6a971d0eb5db9634036eda774d8af3a136a0540c0dac3bc85c3a5d3d7e666d6dcb23fee766be87ee23032d95e53c90dbdacc71e4b99b054f179acbc1b5a7fe3553e8829c783e9833d9ff03e63f0268086f45c6fb7366affcb4909302c54457f5e24f4a5b3305bbd36c916c034b90a48041be18982cb967087a7efe3478c1c7027ca7a08396b8a0431218a8360219ffff005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace457d38a2bdee037137598dcdcef1d0bde494978467b14753fdda8fbaba5702f1ecd168b1cbe8db03d37ff30b5922b6a9a4baef80b32215ad72466b2da44bd7039eb7b812aed08f5303d9eaae683dedd6ba46c543fde11e0d40f69f2ab8d382f6201410ae97db14caa30339f92b83705cb8b385ff5bd808d8a2ccd76e44f7d33e85597da0e985cbd0b43d032302cc4b8c52030e98cd1a37a2d8c1794644b54805c25fef9adce3109e85c439030192f56fbbb8e714648a07903c2990cc9f6492a98ae6d563e930eb4f5137369700582002c0866069173943da205dd7f8b8ae04501624817de4e1b82b28cdab08bbd2754101038a768569c68e16d941797f361d274fb151353c1eae179f3ac9c46d92ec5d5af003d050a2d4197ffd5a992fe53912d4a751f96d13f8dd80fb094236f76a9249b80700582002d858399ef383d9f2ad4597aa00b5a28028dd8710dee54ab789b0d2cd155e204101005820024ba4259ea772f607a30753e2c821353b70b88a2ea3303a19ff3b53ac1a0a4b4101033641cbcc0d5794bc281271bc4cb5a2b91b5b9e02a3af1c4cb70df1495148ed6e03c8162c7938dbac10a266079be19c86c963e2d8516b02a4ec40b10cb8a659def603389540f8b353e906e444a01ef8e7e740ae05eb1ce6d8b5ecd65ea9d3651d355c0219ff7f036ead6fe8e2a4cc1eb326c137c31fa6f3c43945acaf3fa4e83d72a7088699fee703d7742ff74141c1283d5f64b17339d5802494c9231d4ec8d33fc696a99fd74cf603816c6395bd4ba1294c7f684ae81bca0ad071d6288219c71806cc3653008df70003733bb322b38a5f4bd5e01bd9da42af57131103a0a20021d6e6f093bbdd49752c03d272f416f8245ad14dab2950a728c34bdb449b9b38c7ae447b812dfabf563df103663efaa3f4206649cb4760a1da32fe5d644f5b635b4bd94867fe6a52d90c291d03b0dd75c34f0e37963d883c66b6429b9e6c5ba1e53d60f7c3a9c762b2b9068591035609417dafa740a6a8d55cf5c87f19da01a6aa9dedb2f0f05fb60e961dee45d3005820035a79d921150051bb3d0533b0e32b03d9fe3552449b95d4062eeabd5a674560440c79e82b005820032d8b255ab155a340d5a0f8d1a31c658938e2f59d34f7a3c2113af14f6a6a00410100582003aba4545a4ea5f0f45476cf2f03b5dd0abc4d174f99a0e3a1d5a2409cd9bc7041010219818000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582045426c6f636b53746f636b00000000000000000000000000000000000000001603c850e5114a43ab8f87e61604dd75d3ccc74bf257282539207cf9a34df90d685d03d4cf23807e40670249f62d39353b72cad80b7e48ed06e89931d2f351c40bd8530348d96d851f1ced5001218757179461277bbea32b41eaa1e588c737d3ea07abc203c967bf025e891805f5db8d63802489c2010234d109ab3f5822fd89ebac19883f036492a4026be8a2536bbef1fbcb55fc359e1f56de2f636b3250527ba510418187032d66a1781018b00886979cf47e857b66eaa00d19722d58199f1d11703858f8120347a28368c98d7f79cfe5ab1babb1530e2fbd814987634b0524def111d1d148b303401d36b82b093979be4b5ada088281988694eb5ce090aa207c2f2350d6c5a8110341fffc413bb9f063f43d0f0034b7a7745a73883005145184f399e2c08131177503cf27a52f6153546860e54cfcc89691eef6767d0ada67ab1559c0f18eb291a8780303a4a2d4447c63578d5398724a5fd2441bd4ae711143ab0bbb7f74316a5a040b03f93f2633938a72d799d01ee111ab6219465b53f433949e3772ed3ab2ff24e86103394ce2aa247480f4e43e18cc1ac3253e4f31a7f6dcb68a83baf5c2d990812a000219ffff030ae1f9bcfa5a3e74131d09fd7f6bb75d3b13d3fb8481aa5c814e062e3474f49d03131edce79111961a50a61bf3078c54e2ed14f364d55efe412aea4a4c1e7fb01e035348cc12e23780994930300d17dab7259890104d9717aac6cc626e4b139233930219ffff05581d02d40b57f909aab74710a9bb94989193a1ffc7d92d3e35db6d8e098b4407011948af0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908035fdb415623e63e910dc0849559ccffbd40bb8bb5d9e3f5e9392b097a564da2b205581d02466b13545c3f614ac9a82de41a11614909dcd3fd7b386eb55a9d07ba07011bffffffffffffffff0218480219109d0219ffff03e8183cd7a0229961bbfe870cf4ffb9198daad5d773ddcf9b7df5044410fb0c5f03cb4cd06f125f7517835247f4e97860b53393bcd303945a06ddcede106889cf82030bc376b699aeedd3f4de332a1d8b9ba671020e1c0ac40110d6f59d0d5e0019bf03a3fc6d4ca069284a1af372f2f60d192509d21cbe72b275e556db129ccdc5c42f038ad6e798dfa1a652976b217aa72c283f8f7578efbe2f00742639ccbec4b95127032f4830c4cafd803f8216c6c18d7513d19f04d9087917a58a80ebd19f35a13f15033041ac236dfeac06d2e772c5c13bc35340cdeeac70cd977c10d1b32f0c3f74fa03c98984b43638bd493397c540c2d8fc40d8d571df5be88414db829fc64eb1c4b7037a0a836618770acfdfd6d3e9e1246f2586b6de76d127a75b320e8bf650faed98034b117f7844de3a41b9b4e8c30129608e05f18f709b3a4ce8e387ec3882549ffa03134aef4a2713501aec64872043d0a7a4d49e93a509f55d907f0f736c4c0ac0d2036b820ffff5f67526bc8175c1721b3c9ee3a68e94fcca4e15c39d44efc7a68a260219ffff03f4809eee5565c7c57598a7a043f6144f7e1f40ced00eb0224c95ecfadf0bc62003063e0cc95e41c6aa907e7ce0a3b1f51b825c2aa25058505a571823e6c9cd2e9e03148f6608811c2550e4e237749aba6d4ca249e0583bb3de4e6c9ad2a1f1e85c7203ab1c0b97fc829514faab7bc2f17e7ae1fcbee7f8940cfa6a87ed249dc32c005b0345ee71e0adef8a644f4ccd03fcb092157be64be34c06261554c8ac02e5ccb6900219ffff03bf811b53a97cfc4eb4d919be88596d3e8f1719eacb5529b68563f7b1ea9566f203fd14467506270a23e7bafce24670ad50256d479911f63d5696fcd3ff0a831e3703f8297c588dbec88b56b8613904fed917a798fd618b0c4a5bd91aaebc2cb3855d032a1d83c68dbb524716a82b4db240ac235446606504d0db459d45391ece5006a903341200a63107c9d7cbe14087ca663d9a5ac7d1e37385b260b5ca57b1500a8d7a03595adcec0db25164758fcb0f10e1e06e11de5c90562b39c53e6dde7e568699cf0363266175e729323703f6e78d095b43b46ea1f5e88a37791ce558b656bb411a6303735621e69d1236d13e229ba3cb3e558d27f6929b44f2c0ce9b31b4731b51b9e7038f998a6c811cb41bfff9a3b79cd4f0fab29e1927b11d1915c2301b011cb4a05c0219ffff0317ce904c13b01ba7cf8d376bb94a0b9fa59748c0b70993f92822f0bb6703fd7b03350001b6f3411cd1f7075610916f2bbb6f236deb293b0a5a1ec77b709de9400003ed44d834517115d3139f655bf90843350bfa037c17a59c570aa7daedf8e85c0d038a9aa01473b667988aa3e32de289076456ba21c9e69f6709e4b6be1f4f7ef49b035e17c8bb2bfaa43bae668b09bb1b5239f8300812511bd2139cbb72391b8a51fe036d64222ed67b9bbb9745ef7f80abaac27ad7bdab52b963f991c00f2ff3b1e093039edf06b202a9814e55308f7ba10f170f45e0bd5bbfa2fcba54c8c0e10b62df570371615744f6402cf030c21839d26ca079971a716b9efca577460cf46e097154ad031e62b90d6c96b4945eddb72ebc0b16fca6e57d80d6d8b4896f72824f692e8085036f5562455c54a2d98ed4e28f8c6d1a837577a2a965bd01f00e4fef4743fbaf1003f4ad9a51e587d7df8bb929584ccce00f87c83339ade21abbbe429c770e413e3c03805592c9b6b769e3e165512d7e43b2f9984338fa14d364fcaf56a94646dc480603c7b74ba25d1f4eb7ac2f22129b6a9ad640637d27beddc9f4fffefa335de3c5070300321cea87000d0c18c8666f66fcc872ba66e404da23534f7c8ff98f8b7546260328923f083610d707af9714e586993fc4e3966d3b25d2cd0f3f56ca5e0a2dd4e80352fef6f893fc44f395c20c97da1dd10b564f7ed31951e772213697396a3f6a110372779dd171e3f680083a6d99919ad7c72de0f4819098ce825e196f3802420eb503e20747c9565b3850b31c93ca2e7cdb0c9a43836d44e6fd679a5f24cae743bc8f03222faa8c3092bec862a89ce8313dc91c3da2c42d615a281543c6459ead64de1703a0bac49616c7f00e021f72a663feb83fa5e205d27001762ea79bdf68fc17919305581e03a500211d7b0d852d6ddad7543d929474651f71688390fac77eb9ca93700c01472ffe36ec35358005581e03897c7cd6bf1b0a976fdf50f1f2d55dbdf3d5df0b81c98affcf2826b5a0040105581d029c382a8460cd0c3cfb47e6633957c9ecfbd58bff55e9108d0799093c0c184547318491fe0fa6b805581d02f068eebb5fb8f482ba64796c7a100eeb291c3e9182bf93c9294b56d604010219410005581e03e064dc6ef3313a8028d5019ebdc905a2af4937b5f91722103d4e9310700c01470415c9f3b4b61805581e036ffe3f9014452a8fd200626e5fa4b33fe5341a4ef78f469f33896dd3000c02460ae430b83d9003c7888858a3c654785bd36c9f7290ffb80d36c166382df1c614a681bdccbd43e80219761703505274411cde98fede1eb464c8106e711ba856ad525b8bb91bf9191813b7d52603b80b693bacca068c7f65be0749d70776fbaf5861d807d21e1c8081676661209303eccd79750209b689d28845ea8a9023a24ef9b0a119f71eaff00395b324c00a6a039a583d57658e2e869496f29de18de6fdd5ff22d580552e15270dcb51a38c480403da940ac6e6bd8d8805177424aac1e3a545b735f8983b50b235b1baeab54ca0b7039b930d0aaaa182f7279cd44abad7df8dba8d249bb7b2dd3cf4700eb8de87393d03ab27965c833b0c934c1725cdce4727d58c398725aef5ca1c155b5d6ca9b45a0f030b991dd8addc9105dbf26f62f32d4891e82aef2fc898609092e445ad09b38fa203dc87ac332b6e550d399191262e0f95752d49efdab4da1647fce4499c4081fd0903e8ebd7091504cf7baf224bcd7ca1e386fd48a48e344f859815f13779c1e134e903f32a4a291df12d68ad84a10ee877a99f9270553ce33d10edf0551cbd807c14f103aeb40bc498065d640bb20219d544f8aa34def3bb54b1b5a743195f34ab157ec003cb1d0b51219594f02df025a89cd988e65b18dbeadc9fa2f8011851392ace863b0219ffff039b37b3b22831bed86db038e9cb4c9d738b13fe98453fa2518269468ae50ed61d037d95713db305a8bedd0589d82f4231aa3af3c432df3e4d5ab4146c4cfbb13771035ca2b9f31e43f7e11ff62cdaf8cb6a9f876ec98c2beff9371bfac8807e58de6103d57f771536d0230e3bb0ba1879968dc39eaab95f176b1d222de7055a84e4a3cf0219ffff0364e4fba07d9ef992eaeb21114cd60967b72fbd5892bb1f8fc14fe4e0369d937d032c8cbd8527702993f3986cf811b0a6473e0b104fbefd0d954ab04833bc2fb3a60341cc8a8b751d4809567355fe8931cb9d314b5f81cb769c2d8b7a5c3c22d490a203338fbf79c419c8ee085334581ff9ac1ac3ab8e630968c394ffcbd54560a43fc803e660260ffd093181fb4232032a53d99c61620956f85efae9f8c7e49a49fcb0c7039d83c41a388f5806fb8b55d81a289a2306d36e791bb5f3ddf95f14ebe4a005c703a738ce31a72e691f8ef753750820c3a583f4fa41b7eb95f4e528a339d782f7fd030d2c7f54343c380e8ab90dc66f6c60354171e9b2e5b106a10dde4209c29f71f9039d2ddb500d68348cdd72a30e4cc270b801469f228f521d8d4132a8c982771f4803b266fc3a474ed8b1a13a9a533d9f4679c11517907b746c372fa33a9c464d139103e75c89b21433d25b5d6eefb3f401c4f62261245da79171df9d121bed73eb3c670219ffff033b58a778a94565046b239ab9315f8d6ccf62c6cb10d6f4ccd3ca9cc92ed5374803125d017bdfd5ec17d62c13c0e41262a0e09319d5694cf325e40506d008f5fbf9037d68e8c47ae8ced7e9f7d0a748540abe23b69e41284d9b8b90f82875336d00a7032f7826f63e4ec118b56cb785740293ae33e1162d262926466677501ab047cf3d0360efa9f479d7cbfe673ec7a0d42163c6d0f1a5126518f4c486892e491b40ea6103dea31f154bbf1ce2b2568af0b08cc6a9e1593e36e381d11200897d941cf5a0440387ae566e7b18118d02d0bac4809b8356c93aff12dc6fb5d0aaecc328515738d903b3a54f89d7014641ac37d3b3394a74ad30898300427adb7abd7bf65dd1aebf8e03e2cb713690d6fa1e4069481a81699db801d169758b7bc07a45d45c8c57a5f46c039ad4ea75af5d20fb01a8e8dc1c2fb1a6017ac79f99fdf72fd27160f6876999ae03d39eda48e80db8780569f0d7c8e6839b04de1f802e02fd52af75196f7a9cf1ad03926ed1a6dc9362d8b3571b61fee9ece72bcfd25e4f8771e9050dea396ec5d4bb0367e5c79ce2bcf6bcd02da6cb69c1ebd2353f78244a692e81e9a61be4f60a98bc031d1ddf10e9c192ac4977a471932cc30ccab77d304a9c04b9c3f722f81759d08703a1bc1d7a21272ad7f122f6d31a27b90cbdb6721d7172d8c296f72a52044b80e1033663ae9e9dc39d3bce12f9173880897655bd643eea62902cc91900b649e4365403ee100d1630a1e29f1112856dd48521f36738ddbfef83ac18bd733329aa2bec4a0394e5a0ca0090d968057234f54a6b7e00e2b10f9d96e631eeb5c356b1fae85a9103ec33daeb00f65fae73f19db36244a0f139422b274565080ce966550b2d17b52f03984b31d8b382a01cbfc6d2d7b4119505883661ed4708c732adb178517a76b84c035180481ac4643422f7ec0e44f04cd1155fcc19056d657c45a849b9b743df3fe5039e765d343aff35bd5bba25dc89dc39e876309c8d99579aa427e84dbc84ac0ac003ef66812d9a9ae6b7ae0c47a89eeec5085c894c43aa9203136885612ef44e7c3905581d028f6b1e95d1af422a18d5c0dfe1917f5f0b5402b440d9e18dc569675d0c18f64733b85864c77ad805581d02d1bf237054c445a68483778236d9dfa01d32550815c9612a2239a95b08472bfa0fdabf94000219800103a08e97a712053c63c909b881fce48e9902efa760c0cbd5690fa707c4914dbd6305581e0363a8f5e4341b8dc4be04301c18e2160ff3be99c624294f9dec02b32900040105581e03d01a29001ee7208d9a46f9ffbdf383cb1cbf60539028f62ba10236aa300c1247163ccc6a61017b038573ffefc54f7ea93c6579eff29975c9661d76135ad2e3ea33c4acd0fbb4246d038fd87505ec5fb7c7476dda4a4a2d8250b1e6b8e4c59c31e70cad6672a4ce5cfc05581e033685ebffa2ff836cc5bc64d16b89f96cbee8718eff6e24935fe60741c007011bffffffffffffffff0386c0f74e056b7eb8c7a4a6143e0c1087a04788ddce99c53b9a617fd6452ebaa205581e0373d92eb5144ef53f1fe0e5ed6a96858a1bc1eb4d9c3c6a31de79739b30040205581e0330cede8dc2866f33e31ca753df416ca7a70a71eb1bd1a65d2eb637baf00c014708d013ff81dcec021945b6032c0e9c3e6bccfe5551fad7f127105e038a75126b889c6331bab7b4fca21b8f6a03516a43e73713df87910eb2acced9594d3732dd01400566c67a316741d596ebc10393156d75b51918e612e8458c90dcf512d8d18c08d3ddea1880d0c6ca9bd78ff90344f8012a54f42efc8623ff3ba5aaec17777a0b494ad4ef0414c31ac0bb79a58c0349f1bb434eb9f496711ca1cd24c8bdbf125f5132b29acc890bdfe4f07fd00a050319396e65c3a6fe64064d542a710b91328cf0873348b8e620fc5d2ddc51f3cbec03761afd745fed0aa0050aae12a5071d222b68087d5e42ef33157390b64e29606703cec321d24951d5b7798f29c49ff6dfccbadd4283a63613b7f2eb3ceafa947ce0038d01d913df5e9e0a32628d4b00cd21949dee6061735925acfeffeb99c6fd309603f139d9122f9b8cf2538279911cd3fdbfb6fb8c3fad86765077c241fee4cd20e00370d572257d2b43e69dc024a77e40a9dded202c25f65ba540dfaa43652307fe4f033e0be30b536723fbf6768cbcf5770d912f4088f92fa93e4f09cf59936c6221bf03f84b5bfa69dff4f121e948f5152c68a8b3fd0bba2a024327d29b1f2e4171fc360322d5fc1c0186ae5b9a488ee52db6726e300130568952ab378544797fb4d2d88103de6cc980dad5b24fffd60b7e66076127be0d9b2eae6ff3617d6122463496d9940219ffff03c29134715ae11a28a3c6c885c19d103030634f111e9533f99be8bb6f3ba4eff1039e87d6f502aa06c9bcd9c38a086fc9bf8623803ebfe3a9252b0195597f609133037a614535c7c5d03ceb4645d24516ff7c02897c8cfbeb1be3067d5260a8ded08103d1c01d6d4cb76d29b9f987f68bca83df8a3f2a5f4c9af633d18c5f567f9df94b0312f713aba71585eba7d663e3ccaf4909c39b38a38fdd5a598b09817ff6afa1da036e396c6a33064f995a7b2b013e26dc6b95115d5895c576bc206816bc81290514031b5ea7b4d72b4f6e50444a27c7610f36444385c70b628d2ce0fca7b916a988e90356c7d73b2833e047ca863ddfcefaa6a807c655fdc478065ddf84d24d168dadff036e5147a0dbc80b6d72fe5855ec0b2ab8192ecba0f058308eb813b8e09f535059032e0c5bd247678aa3b45f503d757936aa1445f143a866ab2125f47017bd8bdc370355908caf0b8d19f7e62ef27b903cb4f761c1cdca8d7dcc0752910b53128c432a03c817180f81451d171aca921500cbb495bca202cd3c68d30d1fdf4175b82ed80a039163bd98304e6d860da03f98cc83abed76926547ed14aad08015c9ec13d12d180219ffff0219ffff038f5a8e97270ca6a2bb35ef2d5a77af9cd7b2a4e35c9f105756f53d43ad27ee7a036f9c2b03f187351a5ea4000d6f6ec9249d095eb4cac168004b7a176e88d5f45f03ffad1bb5cbd38b0e4e0ce0e66f8d237c2c21dc483b7cbe9532d2fd9da830f1a8033b8e1957019a34b38d1d1cbf0efdfcdab6ca8518357148caab508a8decc8ea77038346ff53a73e7f30390d4e5b24cd23c3f7ccbd2667afc9f0d474dacc1bdfb87e03ae94bb745d0f28ef6c2f302959ba5bbce7aa790ff3d5ad426a040acd19fced250330a266c436b66891107664c140c9516abf54ba11d4e4fdc3b2241736d2f3f8a80355b7b33556125a80b4639776d4f50998d1aa80a7474ede53316bb2f996a386e30219ffff03c579c7f77fab1bd022b75e7dc573f96d7a2006173596223c1f879832969f03aa0379d70be59ffae23f1c925044bf5c56cf2be59924bb064ca9edf42baeee14467903e833ee39d96e332f1e85624a0368b7d664445473356a3d7c208108a559d4c62b03d37d5b5f040060b07f60f2c9cdb3d4b9105f4f5fb59ff31a02f8836bfc696b370358ee1b3a67aa64f18d413eaaa786ac0c6816d6a707bee4ec34edb13de7a0c34c038943eab3678db1e14246d21a5f3baf5087d3e4793c2782d132dcd0290866ba6403209b13268c96bf74e8e13e007bfeb9ad335d3f49de102b7b3af4d1597eb6d8af031a80ddbd34842389ef9526cbf0a92e15e3470100c0292b1b6e8fd64eb21fa8260356409b75874e3070c77491de73a304c2ce08320720b0b9e438e46aa278eb294f0361bfdcaa4e1950b8e5a9fac13fd51905c1de48647b4d3dd48cd1310b39bc3e2b03e2274abe84e1b62b6a85fd54b2ad83716e7c87f87a5fe20daffc1c0af12537770338ff606e9514abd0f1f6e0557bf93cd2b6f73092246a8b45a6031ce2ee557f3903419b06f4337349ba89f34a6bbe41cd44fab69972866a04202f87bbaacc0f4f690367a57cb287646b5ece0b644f24a88d07c5ffb6a26a10da1021f8322adbbc869905581e03442e30236bc1c39a428bb7b7c7203002ef0baf5df51cd6a5a6243a30700c024619c8bfadec0005581e03e2abf3bb21276a092915308844cfce4da257ad0a5e7051f05d14cf6ea00c01473069ade2ad7f300374ba03ca71ce8424884bb49414a8535f25c1f84cae34a88a719249666edb72810385dbd7b3353b0919defe906b27e343be7bc182d78c8a9651465241060bb1fdd205581e0382fb0c6c33703ea4a2eefe874371db3c93535b5677d418a77e62c15dd00c03474b70260fc574f003b062764c715a4d1282ea79b6b18b76e7b97d4437c745345b312fc43e664da98301410d05581e03a41332a0033a540cc27a49bdf9162ddb9035351310e743214851593ef00c0446c02c2f05c0000313b76be1f3108deef65292101120fbf8d4619c7c225ecdc0a2eb70a7161bc38f05581d02607a69edc048e55c909aa157278ce470726246407159b74e0df1a64c0c1a000322704901961edf11a86e72ac05581d02f43e8a333fe17dcef4fa8bab64ed97b8c90d8b4dee7a8af2e7b9f3c8040105581d0272d0f3a8c392f0100c69d02809e92a55fe233a24db51f6660cf728630c074701b3cd42cf27440219420105581e03de9737db66c9f311c7acc425e085d34e1476ccf0191f376ec351cfe15004020219eab30321a18d5159c6d88caf9b0299f397d0ce538139291e783f4c8a43f6c8e3267af8033dcfaa5295082b7aca86f04e919e0b6f602ecb9beaf86cdea0515bef0985ba83034f05f4d3f6127c00ac7d8e2fa9445fc9e5ce974525cf974672e70ee4514a3b9b03cce0eb954aa820a067c76b109b88fa96a3a39dcee49a9b3990524de3b0732c0403b18a29531561ba2d39372a84efd5bb0b434d8b32545972a06dbfa40140287060035d9d4a067947c7c0855ece13a01e74f684e3e9c759d992e47503046c712145ae03dfcc35b04f2d4423802013924607c3b2851ddb6b61abb320b9969653c841453903ea2ed8fdcc7ca3cd7faf62b75b4c64bedd5361cd2ed964a618a7e5908e2111bb03348679543e5c852f0376dab321cd6aaf5e78b282388c46d7d4540257b8ed7f240219ffff03fcb521e303dae8937c56a686009465ffa16a446993f3314f567675bf151a5942037b2f71d9f23fdd4003f7dffd577030a0f7602f7303b442da0cb91706f22d7f2703c4f5e7097be124017b6a8acab15c87106064bbbf40bf2e9a14a7c5697b9d7f0f03abc10cff0a2a11e70680b3325858e107f0f04982eaae4a0fc08f65eeea32d237034f552e40669e736ca332d84447ed8ba3b2082ea71155d44e0d6787edcc92bee8031e360fbaa8a6f16f4e0d634e378500dc76117b12bf079967cc5bff2ca21edffc038491d1ae59579e2f19f05dc1299afaa82956266efcf5985f2cbcc66ce36051dc032f09ebe8e18362dd21ffe9af880468280e7c8fdbf06f311355d5b762841109a303f2eb32f88beccb353af98845bf6bce105f62d5dfd65cb6f241ec6281ccdb348503a138a20dcc7c919108d5d4c1cae9f30570160fc489691cf9647d24be3ca4894d03074d2d5358458c7c4587337bd4e8640afc6fb1619ab92346079da3a920f69951035f6c6b006aad8411f19c2c7732728d6e29f3af6fb75f64622fa0cee15efd4c7d03fb75f07f791fabbcd2aae7730cee4a390e4ff21111c0d77af5f065237e6b2aa60219ffff03f755f182f4113d5d89686fb965451c58032336ef152c0c35c3e7828f01e946770321c5b97ba7c1364da1492d0a7750036030da864dbe1fa1e0b6c468a163569b6003985515bd989171a8808738104bc38345c6192e2b05dd64261bd70bdcd2c118e5038ab2f8da600cb3a448a866f663e03a86c4acd6ed915bff0843732ecb85a8ce1b03c53b899e564554d06331247f031f7bc6ebba57e94363ff18fdfa5b57bd57b7e203bbe6cabf020c785faea3039cb2d10c6b896973e65fdca9848ba598dee2c59e6503f925add498c75540cee4d79b4bdad1e38eca883121c89e82122fb190d9ee515f03f77d3314ec904abd3d4c7d5c1e89ed818e805d253fe8708e71824ece718b7acc034fb602cb3254e26f2ea3db7224987bb0214c170dfc690b304b2877b8421b1439030e92387fe06f23bd02c3f0f978220af31e56839529fe2a367fb3e5be3524a78e036f436cf6b3e72090968565e318b8d3d3d1719e8197e18683dfab288de883c1da030736ff45acc11e7089a161205e3dd2afbefe1c1f110ee27149aeb1694f14de3a0219ffff03ece5d4cb6edac665f0aa210c2d4269e2cee08dba5ef23db43a4c903340c21b7f037631f032a11550ca8f3edcb9d211177509430d08a674d9eb1655e9b5d592940b03ef284d5efe8eea4835dd6a5349244cfe28abf4b0ece3d339b0311687b07ce3110393578997d35cca44be6bb4a9d7d8b031ba7cb97dba07bded53ead7ec4ec2a446035fc832b98adeb38d5fc5c07735f237ad37fbe46c22e3deb69a2c03e50987696703c62f65d126a259f24d01f97344ba98e557596b20d8016097b6c1c99366815217037f575a158b078e102399bdfdfd3640169b7fe9fbfaf778ca8568f4f1e05d221f0379cd496f7b13a6319d2aa70da69370b92b3511425a30cef50cc340578496817b039f41728a7437f380bbcda6e2df8daad5b44c2aff050a3a47f0f6f6025801c31203cdf4aca516217ee5899ff9269cf01f8aba211b86eb6d959cf8bfaeb5621625d10368d7a456763379bba0ad2d50e6fcf59bed7cf6f389b5b43b4bf638e265503af1030dcee45241fd315547a1dc00a0041e40e574f50267b2e257b0444b4bade41f8903338990a8f9a53c7bdaed78fbe90d58bb1aec76b6e234603340976f178cfbbc1d03bc1ce51ce51512293245a95286cc4c539ea6332c2f405998e6b13a62dcad483005581e03faf1550e987712a803b71591f576b6cf4e16275de261e81bf8cc00de80040205581e03e8f5de9942df724fe5298245e6513c3740d821a25908ed6883b31f0a200c0a47019da107a0dd3205581e03a9883ab8892d48b33e311ff6519ae09a423d2fd5fda645f0d728e07240040105581e0356d5958179ef721156342b21e96fcc40bb9e5d2a141d3394f82d37aa70040105581e03f2f903a1b2e68a5698a09321fe41b3fa3b6ab7eff9b5f2c296a3b75510040105581e03717096748532d9f1b68b4388ca611e5884343dc02458272c9fa50577500c0146363e79d6ea0003995da38ea59da59eb50c0af9d5dc116833a4b8ee201ad6845e8f785dc1069a04035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce50361b7745e678a02250a51364d575badd13f7fff59ee3dee640687fe21f2efc0ce05581d02a251ebc4514f5dc1dde4750ea3777af3af3a5593ae389762bddde8d107011bffffffffffffffff05581d02566b5e97570a815a39b42d7267f41a79875586e9b051ba2d09d786620c1851480f7116126e0f641c05581d02798ba36e46d7d4498b8a52d4130db501683d574aaf530e1718a987990403021950080335551a33c6946132f328624ad488435dd091e52f85871c16c1600158fccf5239030e6c9088985c73a461b9ac9479ad917a5abee87ebdfbce6230022ac265bba63405581e03687b0f0e2cef7dca9236340aba9007cffa0aac17a9fd6e7b0b6aa84a0007011bffffffffffffffff021939bc0370c797057fbf94b492427c468bdfafd98a8ce7e5c206ccba53189e1f59bafdb8038b242bc417a4f906332878e90a8842d18667ec9713050ca6c5c5834bb27f94ff0336c5c75f242f5a2d622df033b05dae3e6edf082c4527c235074a8096e069af26034237b5e3e7d3e8af2f10e30090efb09dfea9b559f6212c07ea5f27f6d79eb8800395c0efb1ba97281b6d58598dbc0a70cf158cc9f467ab3a158dbdda2ac13ad95e03b679ad1683a3cca5a96e6fd3a2c16f52f0f2295def96b36f2665689586616e4a03414e089af302730c7a5cfa9d6ae37ab1bf2fcdf766c220851403bd026c591a6e03352ba41ec233b5d24aac0bf45adedebf9a85752ae1fd9afe335e74269a5383b703640e60dd1cc8693beb92980331939d5fda9868bf9d65cf9bdb6c9a41c6730f540219ffff03d088ed8f9c15041ba34b04d8608e52fcc1eaff270076daddb01c8a6cb46e90930342b59a95219ce77d60bf5c6fbcfb4732dbfb497ba89245fc029fc2e855dc1527030186e383d38191e665303cb9b2dc3ef2e86dae5f1b6b91b3f9db2c1ab4988f0e036deb48853f88ba8d958e1d72b5a055a1c4a60272fde9e10ed3702a23b42e8ea703796a798be58a51582dc524452709da0bf797847d76ed9f279a5e1d41aca8c91c03089e6ececbda52ab40952a197f353f1f79fabb089e2bffc1f0def0c50f7fb79b03396b5ba456863875de99dc5b3d3b1d73f275c974fca2d72c1732397836b365c003d4d8a7d6963b66a6ce83a37a9baa1f0c0360907ee118a76fe94127c5d9cabd040312237e1c36b728f472f70ec06b1e241bc10a73150d5f47849a08bd75fdad21a90359dd871233c397a88f4870332be480318cb705a6451ebc15ddf961bda571ed1d03de2d96124f02d28012a11bf40fcb3ac7c1293a1a4fe2cf6bc564b0fffb629f1a0350fb4b3a915bf2bb512e352cbc26e4724c7e1632458e7d107e6c03beaf6682e703b3950dda68de9a05f4181e92051986d7f002d011c6a719048d72ab7bc3ae75cf038e06d0189d74f16206dbca368e7ce0a9d82b3ccd9feb8bc25899ad08d62e1989031025d3a28e2daa3e05378688e5493631a05bdf59412a45e6a51d61e90054313b0219ffff032f7cbb635f21f944b14a28205dbaf0a56fdd9e2b2f108bfe23bb370fee6308a603372232c49897d953c58d31db13389c64619e8513c1fb2afdd41c5b0d9d39c9a403603c4037a37bc62f2577bda5d4157737bb63e2192a4daef7c9cc8a1d8e1b27820338e004f1dd39188696930dbe7484ad3ec10b36d5079eb0ed124d2e3aaa8cd77703b9dd10a2df3628f3b745c0399d0c3d3dbe3bce874f4c4dcb202858200445977e030da1a6e55040ddbe33ce23c98d3624c286b6e11e7d435977d6016ed4446255e8032ac17fda6cbc6d5ffe87d5db8cac4736316cee498fbf4886c0ccd133099248f903c7f767801d7eb185436958a3c7af7f2e86a5a2ebe50d25a6b5c828f58968a72f03216607b08f4a045c14f84def6010d0f12ec5688545f16618d23ad5ac5675bfe403971be08d22fd4a6bce9b62ba8807b88049ba154051fe63c19969ecfe2f731340037b4b012d7857fdc35bac44e18ab43a5a69ed2c5bf9c4210574414711ad4aa6fa0393fd6d12d0245ca5b81dea55440be870cf0e93c42e64018384291f707a376bf503582e1ca88c4fb66ad17a8b85922dac6a78f2bfb12bd6f7efca45dae721cbee7d0219ffff03a9f2ef38ca6c0fa2c1646b4cc3d2528a54203d6bca01be235a844b0205ae3ef803dbd126320be5236c90f6acba671d57a4691f2da7028088e89fd4270cc8d46e7403ebef1acf91b6b0ffbe1331987d80a54e42081093be1c03327449c506381f828003cbd2704297cdfaf1b87bce1480b3c166029ad09d3a31aa9cfbbb24cd154b1dc1036bf43b7e13a4d676269d3f6abd70062f55bdc302b7186129461dda874a75b3060219ffff03774aaa8655f7a7d6b883f7e579668e0f02391b4e4808f3b59caa83cdd97953820358903503c968721dce01e4493dadc2423a38205b00a703345a81294e2829fc2d03329573b39a06d56ed86e1efd4a11c5eef0d0473b6edef9070491b78508288010032e8c6150f0aa20798327cf13cf132cf43d3cdcfd1869ffbb0fab8153386347e5031a7b82c0bcecde73b2437dbed3a9345b19aa503e507f2049a244996bb5b8caa403c15481737491b42d9c8d6129cf2beffc8da8da23641ab4edfa519baa7d39773d037d1cf551e2345786e75b129618ed4a31de865b3ba437a4699b044494a4f9ced40393add131ab656578b582951d8562684f9e29a34b8474449e5f758f7e40a0fb0b03e831f0a22e171dd4050b830beac9eec348ca5f221531a697e21675f384703a27038438f88288896ecdba297c37790fbc3cdcc82d38d6b8e1f1f1a86aaee8ed7f7f034995a27f569eb175f46264b0529b140feba88ebeb373e26acd206ef12a43c63a03fb5ac72cebb351482263cf124c64d7f2baead34b107ddbf3ab365a25cd2e435903567f595427e759194a188f00340d64789c02233f89fc710e320f72a4dc72140c030a93e15869cc81fd71cac5feb0897e250556c7660fffc497b6c0796b3acad73d039e7f0043f3771f7f66cc1d15a1769c20dfc65046638c581aaf7a13ff56a8777803d005c10dcce274650a0bbbd12706c63a4580fca73857bf6591c19e28acb3a2c803cb5a4533f28d91a519253c10fd1e8b984fd079fcffbfb81a8118ecd377fe88630351fcb93e204c442da311b53853a0fc25cfc700ac07be3dc4d108825f759182f9035b9db4c173d4e40e0f3bd25f7f39c4b3b3b1796136aa1235660e9980ccec43710307424f2a121a167ce58cbf1b2f0464c331046f20f2f27bd8de81fa48768229db037c91f569fa18818723d499bad9c92944a71716aa83f33781ece08d819708e13f036f9a47bfdfb48efb9405fcd43693a19fb8d717e6169ee1c45c5543cd3234109c032d475ef659e6e23beae728053729db5a517007892382416415b0d6af5ea697de038abbeb47289a06474104ccedaa1ae9768f7036a32e84798ac19851fb0e5edf7e03c9a3309e59a44b391c5426d165d74741b544402df164d284169dce55c045fcba03b8840734b0eab75a31ac933a7e015d362d691823229d8ec0fee8a4066512b659038ff4b41ef66d0ff55218e05be77235a8f3dc9cc2f124a46f31f552184b1fa74903d16a6ebaf80a804584fff01b072b077cebae885d6b669db884a931762217df07033243420b481e86e26bb6518db0731fc07009993b8e7f8bcc6d97d2a30679edfe03845eac79a1fc594ebc1a1d0f4865dd6ee0f13c25f38b15a1a4e8159f16867d56032c7a0ef6a534e73866351f1386dac876763a97b99a22564ae60ab23c65102d7603eb6b17dc832d36df8202899908a086f3b95400878dcaa3f079a9dea3276fe5da03886cbebedb990a21462e83b2d2e18a47aa029b6e8ed54f8a228988f134b8c75c033e90cbb40a8cca0e9b47c19e4d62bf97810533417e4388d8f84600ce0c2cf4ac038fc3e40564483fb98091d266def0b20f9a3aa37a61aeb2733f5251d451a06ea60306d49cc7f7b9c19408202a828a5cdb94f800dc4cdfbb3bf74dce0c5b9c3e323003ae6e245c551675745f56f10b7ccbbdae3719673d4d4ff526a11da25aa636f1870311436cefa97914cf99e94529341a34fc085b5d7809d61d1cac7cbe24925cc37403a6cacc359ffc9e3d8c7331f74e64c8779ba5d61c2d51125d4637fd3719686fb6034bab0017fa00af26f9ca9816a29741932c3fd23dfce62bfa69756664af08ec1a03ca886815e0ea15743cea47bd13afb22e9920f19cf646990028f50bfd71ebc2e4030b32d28a92089cb9396e0d3de1191ae692279d7d87947883e42967ebf8acd76c034d223fee6b0e0d7a456697f518aeac39bc367b823cdc489a1abfdce5da429ed305581e03da99dd6ad27b75413494c528bbe8227161eeed8c06edde39704205b2d00c0147014c890e00390005581e039e3448192972b510680b4a57308a2348284f0d8143a5c646b871252320040a032f7090ad776ebf3f912482a14ac011bca66d1eee9714684f1eb1f3c5c470517d03b31967cef88b6b897772d0ad549c61783d747eb5b496705dd5c474a7f40e4d5b05581e034addc37ed788cb70b8261d89c984550b929ef7201936b2bfa86e2c7b4007011bffffffffffffffff05581e035a1a608e7c24b1b2ae5c78278a373ff4273569cb90bc980a4aa77a7f300c034728c45c14bdfc3c03cc37e156257bccb6e61bb505ae3d09875e3ca10ae111dbef0ecec3525b83f8ee03c013464a2373f96520e67e4c764abad32ae2f401fe44e5168235907dcf386e4805581e034afae17cff2e7c46e7c1413295f99d791b8cacfb1fcc2fe456db09e7600c0147061cd30bec698005581e03cd091104b525886a0fb27867e9dc403964c9fa9c966126a9097c44f2a0040305581e03236aa59ae00b25c8efe0dd1dc43a52c7b928d9bbdff944e1d12950f3c004040399954a15e740220806dcd2b7f709e3f0a1e3494ba0b4d1e852a3254e4732e8ac05581e03b63ff37c2188de8382a6f937e27ef1d8836caceb772908a3bc33a74e600c0847310262a90fff78045916866080604052600436106101345760003560e01c8063ab5d8943116100ab578063d5719dc21161006f578063d5719dc2146103a1578063e76f5c8d146103c1578063e77145f4146101e9578063eca067ad146103e1578063ee35f327146103f6578063f81ff3b31461041657600080fd5b8063ab5d8943146102ef578063ae60bd1314610304578063c4d66de814610341578063cb23bcb514610361578063cee3d7281461038157600080fd5b80635fca4a16116100fd5780635fca4a161461020b5780637a88b1071461022157806386598a56146102415780638db5993b14610281578063945e1147146102945780639e5d4c49146102c157600080fd5b806284120c1461013957806316bf55791461015d578063413b35bd1461017d57806347fb24c5146101c95780634f61f850146101eb575b600080fd5b34801561014557600080fd5b506007545b6040519081526020015b60405180910390f35b34801561016957600080fd5b5061014a61017836600461134c565b610436565b34801561018957600080fd5b506101b961019836600461137d565b6001600160a01b031660009081526002602052604090206001015460ff1690565b6040519015158152602001610154565b3480156101d557600080fd5b506101e96101e436600461139a565b610457565b005b3480156101f757600080fd5b506101e961020636600461137d565b610762565b34801561021757600080fd5b5061014a600a5481565b34801561022d57600080fd5b5061014a61023c3660046113d8565b610887565b34801561024d57600080fd5b5061026161025c366004611404565b6108cd565b604080519485526020850193909352918301526060820152608001610154565b61014a61028f366004611436565b610a34565b3480156102a057600080fd5b506102b46102af36600461134c565b610a7f565b604051610154919061147d565b3480156102cd57600080fd5b506102e16102dc366004611491565b610aa9565b60405161015492919061151a565b3480156102fb57600080fd5b506102b4610c01565b34801561031057600080fd5b506101b961031f36600461137d565b6001600160a01b03166000908152600160208190526040909120015460ff1690565b34801561034d57600080fd5b506101e961035c36600461137d565b610c27565b34801561036d57600080fd5b506008546102b4906001600160a01b031681565b34801561038d57600080fd5b506101e961039c36600461139a565b610d9b565b3480156103ad57600080fd5b5061014a6103bc36600461134c565b6110c9565b3480156103cd57600080fd5b506102b46103dc36600461134c565b6110d9565b3480156103ed57600080fd5b5060065461014a565b34801561040257600080fd5b506009546102b4906001600160a01b031681565b34801561042257600080fd5b506101e961043136600461134c565b6110e9565b6007818154811061044657600080fd5b600091825260209091200154905081565b6008546001600160a01b0316331461052f5760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156104ae57600080fd5b505afa1580156104c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e69190611579565b9050336001600160a01b0382161461052d57600854604051630739600760e01b81526105249133916001600160a01b03909116908490600401611596565b60405180910390fd5b505b6001600160a01b0382166000818152600160208181526040928390209182015492518515158152919360ff90931692917f6675ce8882cb71637de5903a193d218cc0544be9c0650cb83e0955f6aa2bf521910160405180910390a28080156105945750825b806105a65750801580156105a6575082155b156105b15750505050565b821561063f57604080518082018252600380548252600160208084018281526001600160a01b038a166000818152928490529582209451855551938201805460ff1916941515949094179093558154908101825591527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b031916909117905561075b565b6003805461064f906001906115b9565b8154811061065f5761065f6115de565b6000918252602090912001548254600380546001600160a01b0390931692909190811061068e5761068e6115de565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081600001546001600060038560000154815481106106dc576106dc6115de565b60009182526020808320909101546001600160a01b031683528201929092526040019020556003805480610712576107126115f4565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526001908190526040822091825501805460ff191690555b50505b5050565b6008546001600160a01b031633146108315760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b1580156107b957600080fd5b505afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190611579565b9050336001600160a01b0382161461082f57600854604051630739600760e01b81526105249133916001600160a01b03909116908490600401611596565b505b600980546001600160a01b0319166001600160a01b0383161790556040517f8c1e6003ed33ca6748d4ad3dd4ecc949065c89dceb31fdf546a5289202763c6a9061087c90839061147d565b60405180910390a150565b6009546000906001600160a01b031633146108b7573360405163223e13c160e21b8152600401610524919061147d565b6108c6600d84434248876111bd565b9392505050565b6009546000908190819081906001600160a01b03163314610903573360405163223e13c160e21b8152600401610524919061147d565b85600a541415801561091457508515155b80156109215750600a5415155b1561094d57600a5460405163e2051feb60e01b8152600481019190915260248101879052604401610524565b600a8590556007549350831561098b576007805461096d906001906115b9565b8154811061097d5761097d6115de565b906000526020600020015492505b86156109bc57600661099e6001896115b9565b815481106109ae576109ae6115de565b906000526020600020015491505b60408051602081018590529081018990526060810183905260800160408051601f198184030181529190528051602090910120600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018190559398929750909550919350915050565b3360009081526001602081905260408220015460ff16610a69573360405163b6c60ea360e01b8152600401610524919061147d565b610a778484434248876111bd565b949350505050565b60048181548110610a8f57600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526002602052604081206001015460609060ff16610ae157336040516332ea82ab60e01b8152600401610524919061147d565b8215801590610af857506001600160a01b0386163b155b15610b18578560405163b5cf5b8f60e01b8152600401610524919061147d565b600580546001600160a01b0319811633179091556040516001600160a01b03918216918816908790610b4d908890889061160a565b60006040518083038185875af1925050503d8060008114610b8a576040519150601f19603f3d011682016040523d82523d6000602084013e610b8f565b606091505b50600580546001600160a01b0319166001600160a01b038581169190911790915560405192955090935088169033907f2d9d115ef3e4a606d698913b1eae831a3cdfe20d9a83d48007b0526749c3d46690610bef908a908a908a9061161a565b60405180910390a35094509492505050565b6005546000906001600160a01b0390811690811415610c2257600091505090565b919050565b600054610100900460ff16610c425760005460ff1615610c46565b303b155b610ca95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610524565b600054610100900460ff16158015610ccb576000805461ffff19166101011790555b306001600160a01b037f0000000000000000000000001066cecc8880948fe55e427e94f1ff221d626591161415610d595760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608401610524565b600580546001600160a01b036001600160a01b0319918216811790925560088054909116918416919091179055801561075e576000805461ff00191690555050565b6008546001600160a01b03163314610e6a5760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b158015610df257600080fd5b505afa158015610e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2a9190611579565b9050336001600160a01b03821614610e6857600854604051630739600760e01b81526105249133916001600160a01b03909116908490600401611596565b505b6001600160a01b038281161415610e96578160405163077abed160e41b8152600401610524919061147d565b6001600160a01b038216600081815260026020908152604091829020600181015492518515158152909360ff90931692917f49477e7356dbcb654ab85d7534b50126772d938130d1350e23e2540370c8dffa910160405180910390a2808015610efc5750825b80610f0e575080158015610f0e575082155b15610f195750505050565b8215610fa857604080518082018252600480548252600160208084018281526001600160a01b038a16600081815260029093529582209451855551938201805460ff1916941515949094179093558154908101825591527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b031916909117905561075b565b60048054610fb8906001906115b9565b81548110610fc857610fc86115de565b6000918252602090912001548254600480546001600160a01b03909316929091908110610ff757610ff76115de565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160000154600260006004856000015481548110611045576110456115de565b60009182526020808320909101546001600160a01b03168352820192909252604001902055600480548061107b5761107b6115f4565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03861682526002905260408120908155600101805460ff1916905550505050565b6006818154811061044657600080fd5b60038181548110610a8f57600080fd5b6008546001600160a01b031633146111b85760085460408051638da5cb5b60e01b815290516000926001600160a01b031691638da5cb5b916004808301926020929190829003018186803b15801561114057600080fd5b505afa158015611154573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111789190611579565b9050336001600160a01b038216146111b657600854604051630739600760e01b81526105249133916001600160a01b03909116908490600401611596565b505b600a55565b600654604080516001600160f81b031960f88a901b166020808301919091526bffffffffffffffffffffffff1960608a901b1660218301526001600160c01b031960c089811b8216603585015288901b16603d830152604582018490526065820186905260858083018690528351808403909101815260a5909201909252805191012060009190600082156112775760066112596001856115b9565b81548110611269576112696115de565b906000526020600020015490505b6040805160208082018490528183018590528251808303840181526060830180855281519190920120600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f015533905260ff8c1660808201526001600160a01b038b1660a082015260c0810187905260e0810188905267ffffffffffffffff89166101008201529051829185917f5e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1918190036101200190a3509098975050505050505050565b60006020828403121561135e57600080fd5b5035919050565b6001600160a01b038116811461137a57600080fd5b50565b60006020828403121561138f57600080fd5b81356108c681611365565b600080604083850312156113ad57600080fd5b82356113b881611365565b9150602083013580151581146113cd57600080fd5b809150509250929050565b600080604083850312156113eb57600080fd5b82356113f681611365565b946020939093013593505050565b6000806000806080858703121561141a57600080fd5b5050823594602084013594506040840135936060013592509050565b60008060006060848603121561144b57600080fd5b833560ff8116811461145c57600080fd5b9250602084013561146c81611365565b929592945050506040919091013590565b6001600160a01b0391909116815260200190565b600080600080606085870312156114a757600080fd5b84356114b281611365565b935060208501359250604085013567ffffffffffffffff808211156114d657600080fd5b818701915087601f8301126114ea57600080fd5b8135818111156114f957600080fd5b88602082850101111561150b57600080fd5b95989497505060200194505050565b821515815260006020604081840152835180604085015260005b8181101561155057858101830151858201606001528201611534565b81811115611562576000606083870101525b50601f01601f191692909201606001949350505050565b60006020828403121561158b57600080fd5b81516108c681611365565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6000828210156115d957634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b8183823760009101908152919050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f191601019291505056fea2646970667358221220d17069b386a4ac377f74e491f5de3f52147ad89de5975e9c3ce797ab135b5aec64736f6c634300080900330605581e0335c7c62f1132ac1eaec4df26b88d5eb1840fbcbf56677e499ef2acb21007011916860219c7df034b324871219b7b4ee4e8057ded582ce3249e4dbf72674c44bde4e6c68fa23f8f03fdc543f74b4bc17a63d908bab83fec0d2aa1d7ad72b35a86a2d052e6e6387373032be86c4bfc367866cae977fb1e71f1ca3672878a760ef2059e0d73d94a64790203488902e1cbf5af8f7123a307aff19f2ee390d44cec167e074b6f88b7a2c5a8ff03c54e98a8cfb229a23b94c72ae9549961df90a3083926d3b04ff02b4d3e3cf7c20368b5d33007966047dc782613991c55532abb61a49cde68fcbec7d359f792a6490319be665e02052af74287f8eb15efeff0c10af6d7147bf3cfc201779cf4758101038551ce64d75a69b44c896d1f93588cc5a6abf14f493fb9a901faae85949e649603d5f0de8f5d9abb8be4c1935d75fb0a8a9754395c9597d8ea54c85ede223a338803fb9787e132b7af5424bf189c7ce7ccfff268607cf7d7ed67f0e3a8458a25a69303c7469583235bf2a79aedeaaa6df5bf4506008fdf1f8599ac12e9b18fac1b50f60304f2be71c135106541e9acb4be39cf9d231f67a4ec5d39f29e3bd21d2bca20330219ffff039f12f9c8dcd555523d20fb559b180bc12026055518d321d16ef45b0e6a4996ec036bb345650f34ac41fd4f423d79ac7bdb8ed469003f4650d22704905f2c6fce3703781677fb0de85f4e9b2b7d5163f65147e99a92c4bdd31df8db3115934f4656730219ffff0219ffff03219c4f1109786c0cfa2c6085d6ad51cc44178697d360157e0266e8b965fbb166036ca275062f19dc554c7192ddd50637fa9f67b06f42a5b33a230003052c6ca7fd03c59b7d3bcfe97374d2b9d1d39fd60498fa68d93743928770bfed4a08c6f6639003cb8bd08a4b9321f228324fc38a2df9679621754895769f98ec41cc3e548ad8470336c880eec2f88dc6e5e1fc7860df06b83a02a184a525a4bc53c96bc6c3c53d9b03394ed1f2257252326bb8ab1de5aa99089db452a8176ad765cc74fc4b8fb820f1031dae41bf144d372163bc3e18320d598db6653bfc98baf48896fabc8a8623b02003d311068cb1cf2ebe0ae46803788e8caa82f3997732f85a9d98125a85cdb42c6f05581e03ac9f034eb21f1dc9bb9befedd530074008ff6d1d44edb7a6c7cce2e6d00c0147022e3944dd805205581e0317e33dfb37dcfa03b90466b8fc8a00561c14f01e5cb04d1469b3be0fd00c01470a80239048b00003c8f1fe43cfa49aba25c8813884786fd1549e4b7cdfc2f0586d7a1e45f6c4069401410f05581e03e19cec05bfaa588d703a7f44ec796c81630ba8638f12f927ac6100e830040305581e03e61f68ffb7d781609c16f01316e8c8e31df2d466a2b644791fdd63d6100c0146a67a7c33f20003bb1f9abdcc8aabd7d86ace9c97e83f67c4e8ea4d8bb18a35874f091d3d9c485b03ddddc21feb9c59df1d4f1d710fda5c5a4fe382690604e0e6abf06781b74d3fc905581e032a93423997020786fb8df262dee6952dbed03ec3ae656a7180b713d9b0040205581d02ff18ca2ea72e725de3f0a92f50f6d52650986b03ef20c11ad5da9823040105581d02d5bc6c972e2dae673867bba760d38d7ae5af6ff86affeda3563cd3f608471f7eaba7ef10000219440002192fca03b32a19cd2f554c7373470e831d9a01673ce6c6956ec8fdc0c01bf70027ba2ce703168635c86135c5638b1b58cb7234fc2ba3cf5059c81f535ccf0b02be46d60c62031a1e43b26e535be6bed3cfeaf0c2a29996341d043d2c85d888af4018d52a271a03f1d44f08cd1046b47e73e13a9cab94c613db31989274417b61fd49b45e82481803cf89d499f32178cf079b18d882e93007baaa6b56c09fc59c83c066ebc5c0a3c00388e526bb5e952300d6deda922860c720fabe78c35e41f2ebfa6088ed3da6cc01031dd7073ab740554836b1f91b877892faba3fdbb3f900078dae309e7902073fcd03c35925c02d961f6a292ed724e96b272eff759149b357cb1a4c7a3de9d35c41c7036d1b416411cfa8152c40f3bc5da03accaa6e886f6ae05d4164a06720c913001d039354922721b0be076d1f6532b861a2a4569c4fc68e573759d1665c8dda7b447f035051af23dbd80471d44711bc1ba8912e1b36078132ea711353038d5ac65f01db038052a65ef3e6d30df0c7bb9dd5f478a03edd0350442d779108d598276f1c02d80384b21da4b59bd15e8d302b3df9fa50346d0ad3b2fb44c293e8ad986d728c98740370cfb4de233c32b1cb55ce5a5ef30ec7e3b82a853bcfdb7d09f11deba4d8ddea0373b8cfa3a3edd489d106b076e8fa5aa34116069e12646827350ed061d9a9ad790219ffff039e3ba9fc1e5f9a2dac8f5be0bb46b9193193556307f7fc642ce0003a2d1ae9a7037dca39ce9e21230e297a29a6a11e4d284e2d90c98b734f716941b0a9b4efe68e03239b24d760663289a2ed21c5d1d9db5a2621fb18e713a6baac26f75e4cebfc63032328fca70bbd3ad7a1dc322a874043b38ad5935a2120f3c16ff41534614afce003507198f773a5bddddca81332f4595448a2ca24e57da2cec5b25b2e165be164e903e188b72c22268e37cf9cd6bc78038732e1a28ab96e3cb46db10d8a67004dfbf9038570763f4043021298c3db871091f70670b662a02076a44f87ba2ae02cb282c703faba6540c10c6d9f3820fb98ec9417b1afe8c07df7a4c6f1711c423aca3c749f034bdd35ddb977dffd989f1cc57ff8293e539f85928700ab4635dec7dccfe598040376f9fa36cf0345864db5dc2a462bc1ad93b7c678f4dc45bbe2bef945513dd93403811fd82f708ccd48ac5f79776be7d35557711fad4a833d0815b278053e1d61960304cfe26e784b0901b8e2b7e41047ee13362c40ce39452e2ee39817a1fe7ccf9b036b7470c1444b763a9447f6762721cc490d021305374567315f5ac916996e5b9b03a023d0e96147ce4aa3f6c751d8953e87040d2bdb8219698b001c6c6d8e6c9c1103c48134a63226d56ba9ec50efb24bfddd40493d0ef6d6ba79f147e4b32584b1750219ffff034ce78f4720ee9858cff8dcac36c5ccc8fc89ff05baea90070abda95b855e24040311647a902e5c95be67dab14b571b7cd82e42742236ac97c95c5a77c0dd69a60c039630e1bc4a752aa2d78689a394ede1a1d3b18ca1ea416aea1e44e48ba1382648035d834abd2ebe8a4ea6cb9620d101073a80b82c597dc8c8f580c9a72aaa51e7e703151c14de0b346b2747be2fe74d9e8a5a417a166e25543717da5b9e7a0262ac1f033091a92a90b43cc9132957ef28ec0d8f3caa2236dc4f1e84c09b56a1d7860ec7031b4317e5361d0f1b7a43e78bfbd4a229922f98fe29a232a72be7c159b2be4b110219ffff0354f3aa9a5c8fd733ea155055d89fcfcba0568c766df068aa22c307cece2c93970219ffff03aa3c4cb8ea6f61dc5ff9986be96dc691de68844b38ec8b9efc162940b693fdde0317ab1c278991dfaa958f061857f3f4b778f8d678c3a6b1383fadd1a492def49e0318c5d006457cee46c1809f4c638e8eed4d70b3846806c76a6d534cc66abc1355038438645833588ded99a9064f8371edf62ba2e1bcd97cd89fb689ba9efb00e51d030f3ac54b0e8073c51ef52c9df489fd3e7554e2e85c0e96b9de55f37ca43e6f3703ab4f73eb0475ebda957834ae58036785f066f117e078bdc18119fbf068d5afdc0366d64d8b07864feda1ef60c5656268270283f3ad279017b267c36fb443b9ba810347b737684bb4ee8296dab2118486d0183abaaa07529412aa8fa8794b6624732403173f0e9a487529b8f800b47e53c19fc2856a54044df364da46839d34870e02f3036821ffc7b0dd7eeda35b81aa7c0ded9e7577d397f81bddf57389983890d0bffa03f767b5b7028d03913a18bca4236cb3d55a9961c6e6ae3384e29450cf51a099bf03c3fb4581699ec45263945a7080327c417b78c699836f517a0dcc950d192aa4d603ef2c18fc068172df15126f7ee7b289b4d91a679ab44e592436de978a718d3e3003bf1bdd99489c7dca33072352fa8de9a519355eba616e1c65ea9fcd1396015e67035476a46bc52bb14e07ef5173076d2d24856496c932c5dec93a305fe985b128a4032e4e5682115046de09a0edd5003f8d5b1ff8190982cb41ad8587d91f003d9a58030b3578a86f684151f55adb6ee559c966586394b011a6ea75bd9ce86283b5f2ac03a359e88e2b5c2e6789cadaa5fa39d5be563d13d04c5f2a93ede7898715e77fac033dab1763f236828f82b70d4ca5ef8b8ac322fb11e8935a01c8e27a69ea3400be03f75446c3b4c913f58ff44a00e136e1d5e9fcd194273a5cf60da9906c298e2f4803915ef551052f0004d33708588f8962ddbbc3e8d4c8dfb2d9f56087b7dce69c65035031b571bed61a5e2944e724408040fe3a1efd7c50b1f003b44305a25b2904c503d14bbb92ef469941f24384e05785f81c68e02482d03c020b5ba22bb404a0968d032084b2d6dd7f05e359e8d4d0c2052a5c700e09abc27f1e936500ce9c87a1b02d031b1ed21d7ea31017cac66800efd51945be0592493204825ff06c304b4178554203742162dd47d7f617648826a92247a7dd1207968a2bff72bb3f9b50c02010e72803eb980c267733029182beacf3d5f310155fe8e6577729bbc04a78263fe8003ccc030679a957e49c6fd01d5d900b20b1a0427c96ad7ae968124374841a06468cbd6d03d4e9a4749a78dbcdd10b1bb9da681e92d870584266e64e4b3f91d62197001a6003a3759ccddc40708e83d1cd94e266017d62a6ab78c6cb440a972e4895b39c9162039771442ec3280b2eb4defd643c3c6fb01fe10a2e1a3f896f913d353c503cfe360374414dfe1dd397e7864df321a53cc914785125cd56e7cc01d305106bfaddd1b7036ed20f7f3718fdfb363bcbd412be6540191768e6bfa91aab17e2a39d6bb8f14303a8ce2e0b044cd39f7081d5a5a140af77d6a2c54904e34e353938eb1ff56ad78e03c42c9768aa2b036137b2f7d2a2924a3a5e428bfbec33f4c33170d57c8681245e0325cbe355b73f6aa65fb75cfb9b101197cceedd5e21cebd88b8897f6af27c97190319117eda34748df4bf0ad8c8118e68b6ed7a52c0f3e9660def0b1a4e22db1b3a032e7adc0e27aa5fa8d9cff4e651e283f8d3683f97793db514a0688a64bca939f703058833603f9e7661768b8d374f157e5988e68cb762719b6c0ed8cc62c19321b603a4f20583c2953fe33f858bc93651bc4ca1a7bdb20aa1d7c4479d96ed2c91c6cd031f30d809f3b140baaf1a1f83caf85e4a541ef4d313df6d8b7e9aa4e33254b91905581e03c25228aa3e0fc0fd7b3cafa10a2902661c556d0de9cf11d0f9d3b5f2b00c01470a97ef1c9aee0003fc102dffed8f5f30850a6fa59f7f4b8c94719c5e531bba1b7bac9df1869f6ccd03bdb16d0b6cdbd0446a8ee712e14bbd1577ff10599fcf655cb7e51d209cc3574605581d027395e1e902594ec2bfdedea132e7a982c694ef62d27fc32de05a8f9507011bffffffffffffffff05581d023581460d722dd959d16ff6a27f25c35093d48d7ae604a3a446613f6d0c0a47122847f9fc5a53021908040306bee0bc6d86ff9362098fa51b74472dd6b9a9a21ff3dbd655b14decd734d7e903d749b3c1c0b68a5219ed75edae41ee3901fcdc25e26814216a1a76828f2c63ce01410c05581e0398435aa459377af96294986383524d36b9f5033dfea1d2c3d2766c36700c0246d52c6419436a05581e03b0e2f8daff1506cfba555e75269037018748f5c2c0d5c597aadc3c6c700c0247038d7ea4c6800005581e03c7626f56ffdb31e69bb0403ead6fca64402648d21166c8451c4e988b10040203a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e039894f2981d1e44c72d7d8cf8307f6b5c84bb59c74bd437eae78fa39b3007011bffffffffffffffff05581e0313b7b77db1ebc3eac81139c183bb97e6ab3e1b659a3e4c4c568284d1200c014703d6f10ebc11a70306eedd8a354d6ffcab22ccafe34ce39240087e65e85796567a189340aceef2d1034bcf0f0bcfca3d7eb3aa153aa191ca5cb5a4b6f8ab5e2a548316e8fae670d7ad02196dd703260f17bbf7ea6d52637f025f3f8ffc95f5c816e1e1c8b2cee7224042dcd3aa41036bf2269a710f17e4febe554e7e4866c07bb83ec5629af81259b7ba94b0d7631f039c93e4909dfb6554722ee525d8f5b0f53e0348116a6856809094f4e7d74cd8260219ffff03c103192d8b7607cf14912bd8decbf3a4326e4e757baaaf2fdb8dbada7f65567f03f79395bac88818dcf1b112bba36234c95dcacc6612d662ae4d341f85d69127c903d56f27f63d6a9f2c44d0cd754058c94941e6eb1de749af59908b78cdce7a31e103828e61af7f4b1dc1e36fd0db44e26667f6b75f2341799cccc94a0ee436b639640219ffff03f5a2335af632a842144f36c7160cd281e9f615cbdb92bcc007ff3513b82c2051038ea424be6da79c6f08237d0266c94d0a9c3ab511fcaca3345c71830d7dd8f2b6031902f0fa25e5d81707fe9c42dcd984c2606b36d6521b8bfa1819a74f32bae36b03da9919867075b1029dbe8d1aa7f2a3ce7b0d96fd548a22cd9711090e148733dd033137d62238f6d2ec24920b7ae89d9d1dd4f1f778de104b07007f7126e4197a040219ffff03039b8891a8884437971361372e0eb906b2b5a4f756f949b184bffdd5474b9f330308819ce3dd8053f69438c12fc2853b44967f4db6744770050cce50d259faea8003f24dd9962fff1bbe0f7b596b5cfc9d42e386929c1e4361606127d40cf3ee8ad203cbf061a1ffcb4bf3cd144d463af80b369ce209839ce3fe9ad20bb0714edd70910332c5a2ad6ad056363784f6af2d9f00a1af39963beba611c4961fbfd75de762be03613109992ed0e2ad0664bc3c6e2edeb6ebe4658fd32017a8e33b8812721596d20330a373483d802f9a564ed1634bdeaece3a5aea165baaa152b2b845cd89188ee10219ffff03f626389fd0268a78b7009d5fbe79f54ba17690099e27c4ff2527df69919272f30354ad6a2b2406b5ef05902703e0d2f7b4bf7d4e88ad3c0c91e4ac3ee6e4bcc1a8035c5b6a430df039f06528bd20c00fbed3781b83b9ebcbe28b8e6dec8e87fc46ce03abd2254acacffb19048b2905c65be1d6de8b7382cd9da2f6d75944cc84b27b3f0348210fec7ea16e6d475c11f67b9184bf7cc82c04d0b629b0ef23f955e2fdf19d03a944c8304408b40bcb8c9a017838ff1faff2b7b5026fa892fe34eb21522f3271031372948a3afca78d0e69875f5a5af1cd07616ae40bdf878351a38a0670003b6a036176ecfa0c5012a391fa2914724aae87253f9baee92a889f49ee7df479c76e5b05581e03bf3d8e9b7c09ae8b83e912c30ced91bb907e92f890ca5cdd1e4568676004010330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e030b0c8b7baf1e08f37bfdde30594db28aacfddd98f2494e56be8dc8f83007011bffffffffffffffff05581d02ed25e34ecf9afe0c6db04604e260e2bd1eb5f91195348795533f55fa040204593226608060405234801561001057600080fd5b50600436106100415760003560e01c806344ba1fca146100465780637b10399914610080578063a231a780146100bf575b600080fd5b61006d7f3689005aec026df754d93d88502592c01be0cfc074fb2a14f1cd3f426b51aa1881565b6040519081526020015b60405180910390f35b6100a77f000000000000000000000000de6d4872c0c8167fb4f405c7854fd2fed7edca2181565b6040516001600160a01b039091168152602001610077565b61006d6100cd366004612c29565b6000808760ff1660058111156100f357634e487b7160e01b600052602160045260246000fd5b9050600081600581111561011757634e487b7160e01b600052602160045260246000fd5b14156101325761012a8787878787610292565b915050610288565b600181600581111561015457634e487b7160e01b600052602160045260246000fd5b14156101675761012a878787878761032a565b600281600581111561018957634e487b7160e01b600052602160045260246000fd5b141561019c5761012a878787878761037f565b60038160058111156101be57634e487b7160e01b600052602160045260246000fd5b14156101d15761012a87878787876103cf565b60048160058111156101f357634e487b7160e01b600052602160045260246000fd5b14156102065761012a8787878787610664565b600581600581111561022857634e487b7160e01b600052602160045260246000fd5b141561023b5761012a8787878787610883565b60405162461bcd60e51b815260206004820152600e60248201527f494e56414c49445f534f5552434500000000000000000000000000000000000060448201526064015b60405180910390fd5b9695505050505050565b60006102bf867f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d86610aeb565b6000808351146102db576102d68787878787610b07565b6102e7565b6102e787878787610d38565b905080600182516102f89190613164565b8151811061031657634e487b7160e01b600052603260045260246000fd5b602002602001015191505095945050505050565b6000610357867f000000000000000000000000e592427a0aece92de3edee1f18e0157c0586156486610aeb565b60208251146103725761036d8686868686610eb6565b610288565b6102888686868686611115565b60006103ac867f000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c886610aeb565b60208251146103c25761036d868686868661128d565b6102888686868686611869565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009081906001600160a01b038716906370a082319060240160206040518083038186803b15801561042c57600080fd5b505afa158015610440573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104649190612bdb565b905060007f000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee576001600160a01b031663d2c4b5986040518163ffffffff1660e01b815260040160206040518083038186803b1580156104c157600080fd5b505afa1580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f9919061288c565b9050610506888288610aeb565b6105667f000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57856040518060400160405280601781526020017f50415241535741505f56355f535741505f4641494c45440000000000000000008152506119bd565b506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038916906370a082319060240160206040518083038186803b1580156105c257600080fd5b505afa1580156105d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190612bdb565b90506106068382613164565b9350858410156106585760405162461bcd60e51b815260206004820152601660248201527f50415241535741505f56355f4d494e5f414d4f554e5400000000000000000000604482015260640161027f565b50505095945050505050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009081906001600160a01b038716906370a082319060240160206040518083038186803b1580156106c157600080fd5b505afa1580156106d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f99190612bdb565b9050610726877f0000000000000000000000001111111254eeb25477b68fb85ed929f73a96058287610aeb565b6107867f0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582846040518060400160405280601481526020017f31494e43485f56355f535741505f4641494c45440000000000000000000000008152506119bd565b506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038816906370a082319060240160206040518083038186803b1580156107e257600080fd5b505afa1580156107f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081a9190612bdb565b90506108268282613164565b9250848310156108785760405162461bcd60e51b815260206004820152601360248201527f31494e43485f56355f4d494e5f414d4f554e5400000000000000000000000000604482015260640161027f565b505095945050505050565b600060208251146108d65760405162461bcd60e51b815260206004820152601760248201527f484f505f494e56414c49445f444154415f4c454e475448000000000000000000604482015260640161027f565b6000828060200190518101906108ec919061288c565b6040517f66c0bd240000000000000000000000000000000000000000000000000000000081526001600160a01b0389811660048301529192508291600091908316906366c0bd249060240160206040518083038186803b15801561094f57600080fd5b505afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109879190612c0d565b6040517f66c0bd240000000000000000000000000000000000000000000000000000000081526001600160a01b038a811660048301529192506000918416906366c0bd249060240160206040518083038186803b1580156109e757600080fd5b505afa1580156109fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1f9190612c0d565b9050610a2c8a858a610aeb565b6040517f9169558600000000000000000000000000000000000000000000000000000000815260ff80841660048301528216602482015260448101899052606481018890524260848201526001600160a01b0384169063916955869060a401602060405180830381600087803b158015610aa557600080fd5b505af1158015610ab9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610add9190612bdb565b9a9950505050505050505050565b610af7838360006119d6565b610b028383836119d6565b505050565b606060007f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6457600080fd5b505afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c919061288c565b9050600083806020019051810190610bb491906128e1565b90506000610bc389838a611b6a565b905060005b81517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01811015610c6757610c5f84838381518110610c1757634e487b7160e01b600052603260045260246000fd5b602002602001015184610c34600186611cf890919063ffffffff16565b81518110610c5257634e487b7160e01b600052603260045260246000fd5b6020026020010151611cfc565b600101610bc8565b506040517f38ed17390000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d16906338ed173990610cd5908a908a908690309042906004016130d3565b600060405180830381600087803b158015610cef57600080fd5b505af1158015610d03573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d2b9190810190612b88565b9998505050505050505050565b606060007f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9557600080fd5b505afa158015610da9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcd919061288c565b90506000610ddb8787611df8565b9050610de8828888611cfc565b6040517f38ed17390000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d16906338ed173990610e5590889088908690309042906004016130d3565b600060405180830381600087803b158015610e6f57600080fd5b505af1158015610e83573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eab9190810190612b88565b979650505050505050565b600080600083806020019051810190610ecf91906129d8565b81519193509150600101815114610f285760405162461bcd60e51b815260206004820152601f60248201527f494e56414c49445f554e49535741505f56335f494e5055545f4c454e47544800604482015260640161027f565b6000610f32611ea2565b90506000610f418a858b611b6a565b905060005b8351811015610feb57610fe383838381518110610f7357634e487b7160e01b600052603260045260246000fd5b602002602001015184610f90600186611cf890919063ffffffff16565b81518110610fae57634e487b7160e01b600052603260045260246000fd5b6020026020010151878581518110610fd657634e487b7160e01b600052603260045260246000fd5b6020026020010151611f3a565b600101610f46565b506110276040518060a001604052806060815260200160006001600160a01b031681526020016000815260200160008152602001600081525090565b611031828561206d565b8152606081018990526080810188905230602082015242604080830191909152517fc04b8d590000000000000000000000000000000000000000000000000000000081527f000000000000000000000000e592427a0aece92de3edee1f18e0157c058615646001600160a01b03169063c04b8d59906110b4908490600401612fbd565b602060405180830381600087803b1580156110ce57600080fd5b505af11580156110e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111069190612bdb565b9b9a5050505050505050505050565b6000808280602001905181019061112c9190612bf3565b9050611141611139611ea2565b888884611f3a565b6040805161010081018252600060e082019081526001600160a01b038a811683528981166020840190815262ffffff8681168587019081523060608701908152426080880190815260a088018e815260c089018e815299517f414bf389000000000000000000000000000000000000000000000000000000008152895188166004820152955187166024870152925190931660448501525184166064840152905160848301525160a4820152935160c48501529051811660e484015290917f000000000000000000000000e592427a0aece92de3edee1f18e0157c058615649091169063414bf38990610104015b602060405180830381600087803b15801561124957600080fd5b505af115801561125d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112819190612bdb565b98975050505050505050565b6000806000838060200190518101906112a6919061291c565b815191935091506001018151146112ff5760405162461bcd60e51b815260206004820181905260248201527f494e56414c49445f42414c414e4345525f56325f494e5055545f4c454e475448604482015260640161027f565b600061130c89848a611b6a565b905060005b82518110156113b5576113ad83828151811061133d57634e487b7160e01b600052603260045260246000fd5b602002602001015183838151811061136557634e487b7160e01b600052603260045260246000fd5b602002602001015184611382600186611cf890919063ffffffff16565b815181106113a057634e487b7160e01b600052603260045260246000fd5b6020026020010151612139565b600101611311565b5080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160008167ffffffffffffffff81111561140357634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561146957816020015b6114566040518060a0016040528060008019168152602001600081526020016000815260200160008152602001606081525090565b8152602001906001900390816114215790505b50905060005b8281101561151357600082828151811061149957634e487b7160e01b600052603260045260246000fd5b60200260200101519050816000146114b25760006114b4565b8a5b606082015285518690839081106114db57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015182528181018390526001830160408084018290528051600081529283019052608090920152905061146f565b506000835167ffffffffffffffff81111561153e57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611567578160200160208202803683370190505b5090506115738a612361565b8160008151811061159457634e487b7160e01b600052603260045260246000fd5b6020026020010181815250506115d17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6115cd8b612361565b0290565b815182907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018151811061161557634e487b7160e01b600052603260045260246000fd5b60200260200101818152505060007f000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c86001600160a01b031663945bcec9600085886116a460408051608081018252600080825260208201819052918101829052606081019190915250604080516080810182523080825260006020830181905292820152606081019190915290565b87426040518763ffffffff1660e01b81526004016116c796959493929190612e73565b600060405180830381600087803b1580156116e157600080fd5b505af11580156116f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261171d9190810190612af5565b905060008161173760018451611cf390919063ffffffff16565b8151811061175557634e487b7160e01b600052603260045260246000fd5b60200260200101519050600081126117af5760405162461bcd60e51b815260206004820181905260248201527f42414c414e4345525f494e56414c49445f42415443485f414d4f554e545f4f55604482015260640161027f565b8b6117e1836000815181106117d457634e487b7160e01b600052603260045260246000fd5b6020026020010151612401565b1461182e5760405162461bcd60e51b815260206004820181905260248201527f42414c414e4345525f494e56414c49445f42415443485f414d4f554e545f494e604482015260640161027f565b611857817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0290565b9e9d5050505050505050505050505050565b600080828060200190518101906118809190612bdb565b905061188d818888612139565b6118d96040805160c0810190915260008082526020820190815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001606081525090565b818152600060208201819052506001600160a01b038881166040838101919091529088166060830152608082018790528051600080825260208201909252905060a08201526001600160a01b037f000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8166352bbbe298261199c60408051608081018252600080825260208201819052918101829052606081019190915250604080516080810182523080825260006020830181905292820152606081019190915290565b88426040518563ffffffff1660e01b815260040161122f9493929190613016565b60606119cc8484600085612453565b90505b9392505050565b801580611a7857506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015284169063dd62ed3e9060440160206040518083038186803b158015611a3e57600080fd5b505afa158015611a52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a769190612bdb565b155b611aea5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000606482015260840161027f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b300000000000000000000000000000000000000000000000000000000179052610b02908490612590565b815160609060020167ffffffffffffffff811115611b9857634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611bc1578160200160208202803683370190505b5090508381600081518110611be657634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505060005b8351811015611c9657838181518110611c3257634e487b7160e01b600052603260045260246000fd5b602002602001015182611c4f600184611cf890919063ffffffff16565b81518110611c6d57634e487b7160e01b600052603260045260246000fd5b6001600160a01b0390921660209283029190910190910152611c8f8160010190565b9050611c09565b508181611cae60018651611cf890919063ffffffff16565b81518110611ccc57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250509392505050565b900390565b0190565b6040517fe6a439050000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015282811660248301526000919085169063e6a439059060440160206040518083038186803b158015611d6257600080fd5b505afa158015611d76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9a919061288c565b90506001600160a01b038116611df25760405162461bcd60e51b815260206004820152601460248201527f494e56414c49445f554e49535741505f504f4f4c000000000000000000000000604482015260640161027f565b50505050565b60408051600280825260608083018452926020830190803683370190505090508281600081518110611e3a57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b0316815250508181600181518110611e7c57634e487b7160e01b600052603260045260246000fd5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b60007f000000000000000000000000e592427a0aece92de3edee1f18e0157c058615646001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611efd57600080fd5b505afa158015611f11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f35919061288c565b905090565b600080836001600160a01b0316856001600160a01b031610611f5d578385611f60565b84845b6040517f1698ee820000000000000000000000000000000000000000000000000000000081526001600160a01b038084166004830152808316602483015262ffffff87166044830152929450909250600091881690631698ee829060640160206040518083038186803b158015611fd657600080fd5b505afa158015611fea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200e919061288c565b6001600160a01b031614156120655760405162461bcd60e51b815260206004820152601860248201527f494e56414c49445f554e49535741505f504f4f4c5f4645450000000000000000604482015260640161027f565b505050505050565b60408051600080825260208201909252905b82518110156120fd576120f38382815181106120ab57634e487b7160e01b600052603260045260246000fd5b60200260200101516120ed8684815181106120d657634e487b7160e01b600052603260045260246000fd5b60200260200101518561267590919063ffffffff16565b906126a1565b915060010161207f565b506119cf8383518151811061212257634e487b7160e01b600052603260045260246000fd5b60200260200101518261267590919063ffffffff16565b6040517ff6c00927000000000000000000000000000000000000000000000000000000008152600481018490526000907f000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c86001600160a01b03169063f6c0092790602401604080518083038186803b1580156121b457600080fd5b505afa1580156121c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ec91906128a8565b5090506001600160a01b0381166122455760405162461bcd60e51b815260206004820152601860248201527f494e56414c49445f42414c414e4345525f504f4f4c5f49440000000000000000604482015260640161027f565b6040517ff94d4668000000000000000000000000000000000000000000000000000000008152600481018590526000907f000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c86001600160a01b03169063f94d46689060240160006040518083038186803b1580156122c157600080fd5b505afa1580156122d5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122fd9190810190612a8b565b5090915061230e90508185856126b6565b61235a5760405162461bcd60e51b815260206004820152601c60248201527f494e56414c49445f42414c414e4345525f504f4f4c5f544f4b454e5300000000604482015260640161027f565b5050505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211156123f95760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e74323536000000000000000000000000000000000000000000000000606482015260840161027f565b50805b919050565b6000808212156123f95760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161027f565b6060824710156124cb5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161027f565b6001600160a01b0385163b6125225760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161027f565b600080866001600160a01b0316858760405161253e9190612dc3565b60006040518083038185875af1925050503d806000811461257b576040519150601f19603f3d011682016040523d82523d6000602084013e612580565b606091505b5091509150610eab82828661276b565b60006125e5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119bd9092919063ffffffff16565b805190915015610b0257808060200190518101906126039190612bbb565b610b025760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161027f565b6060828260405160200161268a929190612ddf565b604051602081830303815290604052905092915050565b6060828260405160200161268a929190612e29565b60008080805b865181101561275957856001600160a01b03168782815181106126ef57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316141561270b57600192505b846001600160a01b031687828151811061273557634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316141561275157600191505b6001016126bc565b50818015610288575095945050505050565b6060831561277a5750816119cf565b82511561278a5782518084602001fd5b8160405162461bcd60e51b815260040161027f9190612faa565b600082601f8301126127b4578081fd5b815160206127c96127c483613140565b61310f565b80838252828201915082860187848660051b89010111156127e8578586fd5b855b8581101561280f5781516127fd816131c9565b845292840192908401906001016127ea565b5090979650505050505050565b600082601f83011261282c578081fd5b8151602061283c6127c483613140565b80838252828201915082860187848660051b890101111561285b578586fd5b855b8581101561280f5781518452928401929084019060010161285d565b805162ffffff811681146123fc57600080fd5b60006020828403121561289d578081fd5b81516119cf816131c9565b600080604083850312156128ba578081fd5b82516128c5816131c9565b60208401519092506128d6816131e1565b809150509250929050565b6000602082840312156128f2578081fd5b815167ffffffffffffffff811115612908578182fd5b612914848285016127a4565b949350505050565b6000806040838503121561292e578182fd5b825167ffffffffffffffff80821115612945578384fd5b612951868387016127a4565b9350602091508185015181811115612967578384fd5b85019050601f81018613612979578283fd5b80516129876127c482613140565b80828252848201915084840189868560051b87010111156129a6578687fd5b8694505b838510156129c85780518352600194909401939185019185016129aa565b5080955050505050509250929050565b600080604083850312156129ea578182fd5b825167ffffffffffffffff80821115612a01578384fd5b612a0d868387016127a4565b9350602091508185015181811115612a23578384fd5b85019050601f81018613612a35578283fd5b8051612a436127c482613140565b80828252848201915084840189868560051b8701011115612a62578687fd5b8694505b838510156129c857612a7781612879565b835260019490940193918501918501612a66565b600080600060608486031215612a9f578081fd5b835167ffffffffffffffff80821115612ab6578283fd5b612ac2878388016127a4565b94506020860151915080821115612ad7578283fd5b50612ae48682870161281c565b925050604084015190509250925092565b60006020808385031215612b07578182fd5b825167ffffffffffffffff811115612b1d578283fd5b8301601f81018513612b2d578283fd5b8051612b3b6127c482613140565b80828252848201915084840188868560051b8701011115612b5a578687fd5b8694505b83851015612b7c578051835260019490940193918501918501612b5e565b50979650505050505050565b600060208284031215612b99578081fd5b815167ffffffffffffffff811115612baf578182fd5b6129148482850161281c565b600060208284031215612bcc578081fd5b815180151581146119cf578182fd5b600060208284031215612bec578081fd5b5051919050565b600060208284031215612c04578081fd5b6119cf82612879565b600060208284031215612c1e578081fd5b81516119cf816131e1565b60008060008060008060c08789031215612c41578384fd5b8635612c4c816131e1565b9550602087810135612c5d816131c9565b95506040880135612c6d816131c9565b9450606088013593506080880135925060a088013567ffffffffffffffff80821115612c97578384fd5b818a0191508a601f830112612caa578384fd5b813581811115612cbc57612cbc6131b3565b612cce84601f19601f8401160161310f565b91508082528b84828501011115612ce3578485fd5b808484018584013784848284010152508093505050509295509295509295565b6000815180845260208085019450808401835b83811015612d3b5781516001600160a01b031687529582019590820190600101612d16565b509495945050505050565b6000815180845260208085019450808401835b83811015612d3b57815187529582019590820190600101612d59565b60008151808452612d8d816020860160208601613187565b601f01601f19169290920160200192915050565b60028110612dbf57634e487b7160e01b600052602160045260246000fd5b9052565b60008251612dd5818460208701613187565b9190910192915050565b60008351612df1818460208801613187565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b60008351612e3b818460208801613187565b60e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000169190920190815260030192915050565b6000610120808301612e85848b612da1565b60208481019290925288519081905261014080850192600583901b8601909101918a8201855b82811015612f2b578785037ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec00186528151805186528481015185870152604080820151908701526060808201519087015260809081015160a091870182905290612f1781880183612d75565b978601979650505090830190600101612eab565b505050508381036040850152612f418189612d03565b915050612f8360608401876001600160a01b03808251168352602082015115156020840152806040830151166040840152506060810151151560608301525050565b82810360e0840152612f958186612d46565b91505082610100830152979650505050505050565b6000602082526119cf6020830184612d75565b600060208252825160a06020840152612fd960c0840182612d75565b90506001600160a01b0360208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b600060e08252855160e08301526020860151613036610100840182612da1565b5060408601516001600160a01b03908116610120840152606087015116610140830152608086015161016083015260a086015160c061018084015261307f6101a0840182612d75565b9150506130c160208301866001600160a01b03808251168352602082015115156020840152806040830151166040840152506060810151151560608301525050565b60a082019390935260c0015292915050565b600086825285602083015260a060408301526130f260a0830186612d03565b6001600160a01b0394909416606083015250608001529392505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715613138576131386131b3565b604052919050565b600067ffffffffffffffff82111561315a5761315a6131b3565b5060051b60200190565b60008282101561318257634e487b7160e01b81526011600452602481fd5b500390565b60005b838110156131a257818101518382015260200161318a565b83811115611df25750506000910152565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146131de57600080fd5b50565b60ff811681146131de57600080fdfea26469706673582212201276fa20c151edde8d508834cffc50851e6222e93b02a9f2e45cdd4eba5e833a64736f6c634300080300330605581d027d2bfd0499943b5247529d6968b803b1ce2fc1cef552ecc3b67561d707011932260219010803779448045c53e92c15db87f19855f55bdff0f14b2cca87640d56cf3f9298a8e105581e035d4b0d52bbc447eaeda5651d4bbaf15fdb394762605a7fe1e2eef17ce00c01466346dc9ae80003b0b255c6b190879e2aa3053eb682d8eefd13e8e93055eaac752ceda7222f950b05581e03cae8aeba41dafd7b550fe76800170194ef8fece84a4e010dfe7af5ee40040203fdcbb0780357b92345127ff3244b76276f109e8ef5c6ae9e51e618918ddf7adb05581e035dfbaed306c997e1925cd414c73ba160f85e3037dd1cb1a753549571e00c024805d7aa4ca10513b005581e03f992abe729b9af19a3021339e0519450298f1746de9f0949b57d3344900c02471631661b095a3c05581e03445418ed62fdf0c6cc58744cef4733c20a34dba7e429b91d23fc4e82c00c02463e4dbabb53290219fd3c033e5d525baee880b6b8fa9babc7a737e5dd9df1debb2b716438dea4c5537313d50340a6ee4cd4e4586329ba89d1924a333ae10fe5972aef4d3901268aee6367501d03943d0bd21f30f9208fbfd25a46c44615c32ac903c248957bb2aa06cd529aa18f032048ec3a0892105d544a27afd33485c822daf5623ae0996dbeb691aa97994ffd03ca35603603ad7043e283a3fc8497f29400e2a1af3bb81684ad249ce48451ed20034380d02dc708a7cb68ec39c3481753e77ee30d934cd3444cb0b9b3cb084f1a680341dab8facf2cdd16204f9adeacefac37d01cd8b8d32ce6010a9dd949427c721703dee05a97ab0fd2ce5b6b43f221303b45738d00bd94886544b62f9e365d0dd0ca030d868df8fdf67f0036028650855e83d0bf7d4222b4736e6718e89d952f16ef4703c1c319a18129173e3910bf26d1078ab9a7793269cab26624fb77fb66ac70b77503c023531dc256176611d4cde3d128b13cd735978b8a8fc84e3a7987bbe74f7dda0219ffff03aa757cd398f50603a9443b8fd349f9108ebc5a5c3eea88f3718af0b161630e2e03eb372beec4a3a10af435dcea66b9e536570c2f0cced38f62d1672b015f57fd8e03b568c686f93dbf903e84ef26294b0d1aabf017f63d194d9d3c5371b75079bc1603081bfbc170ff9a8d53fdd84cd4ddbcbae42b7be91e3cf744b024411ead845dde039fb962cbd5138662da509a5cdb1015cc43ac7c51e418209efc4a9de52424c28803ae5146a085d9f0f7abd1460fa04e1d85c6db33bbc3b08103e39f36bc61a16fc503b8c871d9e8f91561b5c1ef03a110e5444dc5929eec68cffe75da65adbdf8dd5f0326288aa1394d5a700560966437c754ac9bac34c744d3b0dc9e1bf2104a4b755d03c01f16cabf3e23807fcd142822bceb72abe235d1266d2b41bb10c5761e79750c0367cdef9406fadfe1477543cfe6cc0dd488c4c00a825ae146e43161011b4e9b5503e25bf60a526bbf9413e3a6c642806155661db1354267b41e2eae7c4e8a220db403675999cefeec3ea8ec1e5a3f7e1e85e4ed780b2cde4b1099c55e48266dac42270367155e64902b8a6969d2f0625c84ce3110bba2366121b82a7e1417fdbd66516403fdb95a6c39856214fed4fbb2cbf25e7a19d0201f6f9233a30a11f4a54e49c4670303efcb166747886b0c472a9d3d836897a38b10f50252823e7c559bda025f31110219ffff038faa3d6497f2e68806e9ec59105afa4085ca16a7316e1fb6133648335adfadbb03aded1f2493e14bb3b948bdf018c2ec80f48c3fd4dfc4701ec86047e4bb1ca9620330a14238aea1902656140858fc9097e9de2659bda9f4dee188024f44e94426270384af12de252c4435db52000f0af5ce3444bd9020f8751175ee102843b5cf964803c8b965bd50c36dd9316128cf31a4f3d2ac48228333201f62e2f34b6957cd1227036a2f931f7578a2cf40027faa1e5f6eba3d4763ebc18d74a9cfc8ba7708ae2ebd031f7ab7005a32474e14a8b44041ab7be1cc5883b94fd2ff1cb811cb90f3505de4030b296c39b018b79a8e5a6cde110258387eb3a64e9332d39b3ed3bc0d019b862e03e1d01826fa807ed0f4ec8629485861115be0d320f15a39187ca2356f2cab76db030e57b7304c20a5e27dbf80caf5315f83b2111c63f924c5346b75ef8c1dd0ce1f03bd87a8e642df62c305e551aa0c1251ddeb9f7f519608e18b4594b2ac82d68b2803a0170ce4ed578c85336dada7776883e10f52469afeb03d8e87ac89bee494d87903bf00877d8444cb88a2a3fccca25e332a1ae3df7642579255d12334f76ea0e5e3031abbf6d10cde320112d58f9fb3470837405a3569468a52205a2162f06f71ce73032974f83c94a7739ef64ac33a7e2ad4c75ba0479d72a67bd219c0f2c416d5bbbb03487b447c6fb35cf2c2805c6a6311410558ef418dcbf8959d354089caa853c519037e73c71a616804dbeb87bdcda752910cc8e63fb50e47d995969c898173ce1aae0343e69c31fa60a8147a88336ab7e6e45c766db17895c8c08c6f24ce358b0b7da8031675ae7141c2a158c6180344dfa8969ee58adb9353a5a94cfa56c259350a0dbb037cf96c61b4655b1e8466d8b5c4971b9af9dd7070c0972a5ff645db56e5d3a75303aaffe50109d507de45ecb62f46d5441225f56ae57a91527f50ef6de57ec869900605581e03afe83ddd6684b589b5cc4297a289eb8894fa19483859401bd14a985d2007011bffffffffffffffff03fd0004922f2b6db4126904102cc1fd78982e1c20c5a41a96ce55a4f1caf5506e03d704d9ce33530d9cc5199935d520bd76507ec0130bbc260df582706c417f25d205581e037352573cc166d33ca0ba8158c327ee9abea5fd5446355f02e8b86fedf0040205581e03510b545d201b47cf176850a430fcfc38a8ac38d5072e54a86061af66e0040105581e036069bdccaa6fa8af75095f57cc629890e6ae714590f6677f464b244130040a03b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b00003a25722179c681a18328e54f53a1b2c3e4849be27840c64193a429d4d5d2501e505581d029ddef2d3aa69cfd8010d8b699e18227c6f3a7832a1312e0180484e640f01470e35fa931a00001bffffffffffffffff045926f96080604052600436106101805760003560e01c806370a08231116100d6578063a457c2d71161007f578063d505accf11610059578063d505accf14610430578063dd62ed3e14610450578063eaeb679b146104a357600080fd5b8063a457c2d7146103d0578063a9059cbb146103f0578063c0c53b8b1461041057600080fd5b80638c2a993e116100b05780638c2a993e146103865780638e5f5ad1146103a657806395d89b41146103bb57600080fd5b806370a082311461032657806374f4f547146103465780637ecebe001461036657600080fd5b806323b872dd11610138578063395093511161011257806339509351146102d15780634000aea0146102f157806367d71a321461031157600080fd5b806323b872dd1461027a578063313ce5671461029a5780633644e515146102bc57600080fd5b8063095ea7b311610169578063095ea7b3146101fe5780630cf2e8081461022e57806318160ddd1461025b57600080fd5b806304e488871461018557806306fdde03146101dc575b600080fd5b34801561019157600080fd5b5060ce546101b29073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101e857600080fd5b506101f16104d5565b6040516101d39190612073565b34801561020a57600080fd5b5061021e6102193660046120b6565b610567565b60405190151581526020016101d3565b34801561023a57600080fd5b5060cd546101b29073ffffffffffffffffffffffffffffffffffffffff1681565b34801561026757600080fd5b506035545b6040519081526020016101d3565b34801561028657600080fd5b5061021e6102953660046120e0565b610581565b3480156102a657600080fd5b5060125b60405160ff90911681526020016101d3565b3480156102c857600080fd5b5061026c610596565b3480156102dd57600080fd5b5061021e6102ec3660046120b6565b6105a5565b3480156102fd57600080fd5b5061021e61030c3660046121c4565b6105f1565b61032461031f366004612291565b610681565b005b34801561033257600080fd5b5061026c610341366004612316565b610888565b34801561035257600080fd5b506103246103613660046120b6565b6108b3565b34801561037257600080fd5b5061026c610381366004612316565b610958565b34801561039257600080fd5b506103246103a13660046120b6565b610983565b3480156103b257600080fd5b506102aa610a1f565b3480156103c757600080fd5b506101f1610aa1565b3480156103dc57600080fd5b5061021e6103eb3660046120b6565b610ab0565b3480156103fc57600080fd5b5061021e61040b3660046120b6565b610b72565b34801561041c57600080fd5b5061032461042b366004612331565b610b80565b34801561043c57600080fd5b5061032461044b366004612374565b610fcb565b34801561045c57600080fd5b5061026c61046b3660046123e7565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b3480156104af57600080fd5b5060cc546101b290610100900473ffffffffffffffffffffffffffffffffffffffff1681565b6060603680546104e49061241a565b80601f01602080910402602001604051908101604052809291908181526020018280546105109061241a565b801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b5050505050905090565b600033610575818585611156565b60019150505b92915050565b600061058e8484846112d6565b949350505050565b60006105a06112ef565b905090565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919061057590829086906105ec908790612496565b611156565b60006105fd8484610b72565b508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16858560405161065d9291906124a9565b60405180910390a3833b156106775761067784848461136a565b5060019392505050565b60cc805460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082161790915560ce5460c08301518351606085015160a086015160208701516101008801516040517fca346d4a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff95861660048201526024810194909452604484019290925260648301528216608482015260ff9094169392169163ca346d4a919060a40160206040518083038185885af115801561075d573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061078291906124c2565b5060cd5460e083015160ce54608085015160a086015160408088015161010089015191517f2d67b72d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483019190915282166084820152921691632d67b72d919060a40160206040518083038185885af1158015610830573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061085591906124c2565b5060cc80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905550565b73ffffffffffffffffffffffffffffffffffffffff811660009081526033602052604081205461057b565b60cc54610100900473ffffffffffffffffffffffffffffffffffffffff16331461094a5760405162461bcd60e51b815260206004820152602860248201527f4c31417262697472756d546f6b656e3a206f6e6c79206c3120617262206f6e6560448201527f206761746577617900000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61095482826113fa565b5050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526099602052604081205461057b565b60cc54610100900473ffffffffffffffffffffffffffffffffffffffff163314610a155760405162461bcd60e51b815260206004820152602860248201527f4c31417262697472756d546f6b656e3a206f6e6c79206c3120617262206f6e6560448201527f20676174657761790000000000000000000000000000000000000000000000006064820152608401610941565b61095482826115b0565b60cc5460009060ff16610a9a5760405162461bcd60e51b815260206004820152603360248201527f4c31417262697472756d546f6b656e3a206e6f7420657870656374696e67206760448201527f61746577617920726567697374726174696f6e000000000000000000000000006064820152608401610941565b5061a4b190565b6060603780546104e49061241a565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610b5a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610941565b610b678286868403611156565b506001949350505050565b6000336105758185856116b6565b600054610100900460ff1615808015610ba05750600054600160ff909116105b80610bba5750303b158015610bba575060005460ff166001145b610c2c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610941565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610c8a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b73ffffffffffffffffffffffffffffffffffffffff8416610d135760405162461bcd60e51b815260206004820152602560248201527f4c31417262697472756d546f6b656e3a207a65726f20617262206f6e6520676160448201527f74657761790000000000000000000000000000000000000000000000000000006064820152608401610941565b73ffffffffffffffffffffffffffffffffffffffff8316610d9c5760405162461bcd60e51b815260206004820152602160248201527f4c31417262697472756d546f6b656e3a207a65726f206e6f766120726f75746560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610941565b73ffffffffffffffffffffffffffffffffffffffff8216610e255760405162461bcd60e51b815260206004820152602260248201527f4c31417262697472756d546f6b656e3a207a65726f206e6f766120676174657760448201527f61790000000000000000000000000000000000000000000000000000000000006064820152608401610941565b610e996040518060400160405280600881526020017f417262697472756d0000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f415242000000000000000000000000000000000000000000000000000000000081525061191b565b610ed76040518060400160405280600881526020017f417262697472756d0000000000000000000000000000000000000000000000008152506119a2565b60cc805473ffffffffffffffffffffffffffffffffffffffff808716610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790915560ce80548483167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560cd8054928616929091169190911790558015610fc557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b8342111561101b5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610941565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861104a8c611a61565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006110b282611a96565b905060006110c282878787611aff565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461113f5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610941565b61114a8a8a8a611156565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83166111de5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610941565b73ffffffffffffffffffffffffffffffffffffffff82166112675760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610941565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6000336112e4858285611b27565b610b678585856116b6565b60006105a07f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61131e60655490565b6066546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6040517fa4c0ed36000000000000000000000000000000000000000000000000000000008152839073ffffffffffffffffffffffffffffffffffffffff82169063a4c0ed36906113c2903390879087906004016124db565b600060405180830381600087803b1580156113dc57600080fd5b505af11580156113f0573d6000803e3d6000fd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff82166114835760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610941565b73ffffffffffffffffffffffffffffffffffffffff82166000908152603360205260409020548181101561151f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610941565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260336020526040812083830390556035805484929061155b908490612519565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016112c9565b505050565b73ffffffffffffffffffffffffffffffffffffffff82166116135760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610941565b80603560008282546116259190612496565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000908152603360205260408120805483929061165f908490612496565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff831661173f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610941565b73ffffffffffffffffffffffffffffffffffffffff82166117c85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610941565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260336020526040902054818110156118645760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610941565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152603360205260408082208585039055918516815290812080548492906118a8908490612496565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161190e91815260200190565b60405180910390a3610fc5565b600054610100900460ff166119985760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610941565b6109548282611bde565b600054610100900460ff16611a1f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610941565b611a5e816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250611c74565b50565b73ffffffffffffffffffffffffffffffffffffffff811660009081526099602052604090208054600181018255905b50919050565b600061057b611aa36112ef565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000611b1087878787611d0b565b91509150611b1d81611e23565b5095945050505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610fc55781811015611bd15760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610941565b610fc58484848403611156565b600054610100900460ff16611c5b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610941565b6036611c67838261257a565b5060376115ab828261257a565b600054610100900460ff16611cf15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610941565b815160209283012081519190920120606591909155606655565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611d425750600090506003611e1a565b8460ff16601b14158015611d5a57508460ff16601c14155b15611d6b5750600090506004611e1a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611dbf573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611e1357600060019250925050611e1a565b9150600090505b94509492505050565b6000816004811115611e3757611e37612694565b03611e3f5750565b6001816004811115611e5357611e53612694565b03611ea05760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610941565b6002816004811115611eb457611eb4612694565b03611f015760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610941565b6003816004811115611f1557611f15612694565b03611f885760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610941565b6004816004811115611f9c57611f9c612694565b03611a5e5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610941565b6000815180845260005b8181101561203557602081850181015186830182015201612019565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000612086602083018461200f565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146120b157600080fd5b919050565b600080604083850312156120c957600080fd5b6120d28361208d565b946020939093013593505050565b6000806000606084860312156120f557600080fd5b6120fe8461208d565b925061210c6020850161208d565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff8111828210171561216f5761216f61211c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156121bc576121bc61211c565b604052919050565b6000806000606084860312156121d957600080fd5b6121e28461208d565b92506020808501359250604085013567ffffffffffffffff8082111561220757600080fd5b818701915087601f83011261221b57600080fd5b81358181111561222d5761222d61211c565b61225d847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612175565b9150808252888482850101111561227357600080fd5b80848401858401376000848284010152508093505050509250925092565b600061012082840312156122a457600080fd5b6122ac61214b565b6122b58361208d565b81526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015260c083013560c082015260e083013560e082015261010061230b81850161208d565b908201529392505050565b60006020828403121561232857600080fd5b6120868261208d565b60008060006060848603121561234657600080fd5b61234f8461208d565b925061235d6020850161208d565b915061236b6040850161208d565b90509250925092565b600080600080600080600060e0888a03121561238f57600080fd5b6123988861208d565b96506123a66020890161208d565b95506040880135945060608801359350608088013560ff811681146123ca57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156123fa57600080fd5b6124038361208d565b91506124116020840161208d565b90509250929050565b600181811c9082168061242e57607f821691505b602082108103611a90577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561057b5761057b612467565b82815260406020820152600061058e604083018461200f565b6000602082840312156124d457600080fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000612510606083018461200f565b95945050505050565b8181038181111561057b5761057b612467565b601f8211156115ab57600081815260208120601f850160051c810160208610156125535750805b601f850160051c820191505b818110156125725782815560010161255f565b505050505050565b815167ffffffffffffffff8111156125945761259461211c565b6125a8816125a2845461241a565b8461252c565b602080601f8311600181146125fb57600084156125c55750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612572565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561264857888601518255948401946001909101908401612629565b508582101561268457878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212204a8cafe76189836ce935f0d067f82a4296ca80afd7934d2d61e92ea0d4e4808364736f6c634300081000330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041ff005821035c8cacca08149f8e470cba15299bd71145fee518c13dd9de2f0f88dfbcbd24e0481bc16d674ec800000219800405581d02f414e53ee66fe19e25485a4299afc863dfdd17f003c822012506a08d07011926f9020303a2255780e0feedbe1e9debb4a1687918d6861e558a3bfa11a0fa0a9b4b7a44d905581e03e1eafe32a955b5f7d2eaa4fd47bfad143b2486273c9648db5dce90d2a0040205581e032df86c5f75b8ca3ab22fbcd3733941af4d2b8a86086494e8d6be03645004020219fce103c02fd4974ebe6847a9ec61141233dbd9087263ae6ef185abd8025b21a6793605037d0a4dd9574369fd2aedf3092fb750ffc8899187770bd7f256c489f43afd621603b20e323055dfb0978ac179e6c1e1645fa287ba19d55d12b2928774abae70268103e0ae6b18f75a2e3d093ee91d4a98addf52b2b2f899f2e7fcf4064245ae31138a0219ffff0302e6cde99c3e8c2afd65b9327406f27541685186dea15dce18531f730083a71b03bce990d220f2a04a4b28efb9f48aa14940e870dc33891f953a22646946fdf4bd031151da3e9f34b4ac89d6e75ba799e6417cd8b4951e7bb066d7ff4ab24706d34703e29efbef17f27615e3e27b87c5b9f84593bc2e11d4eff9cd1cefb9856bbd428a03b5b513e66fe039c732954061ac3c390f709c689fb891c0f99ae3f1a6399359b2039ff6ffe1cb705b26570b11a67718ec4323c6d067de0fbae28e22274efc338a3203a8f1c2fada24c5862fd7d73b19b30b1b5fba4d7b2a1acea652c9b5c1e09c768b0312d98b83f9bc1d4a2e5e8f118545d34fe74e196984d223a3b7acaeeae1f2f69203c68dae891469db584e5371b6e23bd86773d41acd16c0299af88beb6d2635389503b55e877ba048a47b8d671df93faa097378a53ec70e2d8e3bd468dd906629fcb10386f0da2bd4d2e7506fb913a57f43e580c3313af998929eb00e12d985159641ed03d863aa35b509083bede625e033944e99c9b204e8ef7c9db4ff283e2797c07a4703f2be662292900c1690e15ddffb81a123e6d72e18d063848f09f7c0ff5e0798df032b0aa330d18de9897cc192294d65dff0626b089aaf86bf5bac39cd41a17d18990219ffff030b1e34280f2cd25298b17a0c7e1a25e2c4c86152f9c550ae179ee710322bb74e031f5359c891c2d160d8fead2b9a8a8bc7ec798339fc40aec519698556c80a3197036dd5200a45dced46cf896bc07fbaf2802a00283d7c7a2c4c7bd8d1042e01474203fde6bd746bc4cd8c0c62185c3dbaeb697d2215f4c262ffd34bb4547fd1748aaa035167502f103c356f3ba1a92a371bd2f75283675081a5149382477d9078cf557e03a5871c563ee114dd9a37f1d920911a5072c07fb6da90ce31a75f2365dd6f0f2a0219ffff03207cc5d0999130e7985504d10be8ffe0d980deb06528d96f4eaec2740154b56e03d39455800b8692d0c04daa419de85601a8611885b8dbb9e37ee75878f0761cc703b730ac8b59de57e72940b1b79f9da383d09720e6dacf3963c87aca04ebd12c5a031fc02dcf6ca7e46b2a3ddc9100c2218fabd534ad13ec0927224f7ec0d789d87c03d6539fff2c69b03cd926416398082f5ac804d5c7e6b5cfeeef55832c0b475ae203b4c482122069054f0177380c3e5d4d47769a90a6a6ff75247f639ed7875b190503b8600f4a53f28718643b6119eb03765cce9189111c32b7ca5888fea629740610032f7fec001626192dacc26190d45608495a5261a15ff2e1b5db4039e451dd939303d9244ff4303301c19ae64e4835d94265591fbdd92a6e665aa7fbdea6a1e8f96e031267910086f78429cefcc7729f0137cee6cbcc7b7df7879cfe6d599dad1932a903f24588a10be80cb9dd0045fd0d58a7c83eb81f13d699fb6c2aa15e145c56a95f03ba156697e034bdc1abe71a392b61b308c3de4b1fe63a68ff266ed8d8411e5b4d03a6633cfc5181322b6d84443a7e68270e6562e7c02822824afad1b20f0e7f6eb2031b2af5472444e7f5dac62f149e8f4f158055e3d7f7cee270f52ad16a922f291e03d3ba25836ee83cf5e3fecb83bb04af639d73528eed130b525a6bdc65ace6c5520311e24a48afe640e1cb95e597a4ddda39003d33aa416c0a2ae02ade8637a2d80203a13452e08abac2a4d0e1c604ccc197c57ff5fdb29263795babfe38231a40928103082b4cffd6cd45f9f0c616eeda22a6737fa88551521c6da08a22fbe33e652cd70338e4307f965944786e848f48c56c4b6be2be02de99855baa0520f19f8775f9bb0303c233e14621438a546e9fd20be3bfe0df0b407db10715f73e8f8d021faf4fb9037d1c99133ac42b7f19af45edbdf2dd1e81c8ef7dd00282a52542b2fc46cae11105581e034599c552dcc0d7e4f4e345bce5c43d20ffe469fc2fbe0af7d2051df0e00c02477a0f382e64488305581e039c5a40504bf18f8f26441d3e143e68071ccc1f2b42b720e1b797f25ef0040305581e035d1e0ed6379fc9bc9fcd09088095a601225ed6923764ada73e16e12f000c034705773f5e67107805581e03925cfc2ad4ab368e8f2cc2806671bd5a7afbc0db867f716053c49d32b00c0147015fde37c8de0003858d8b8b72de2f8dc21ddfd364f48a4c7c4241bcd69ca7b1defe751e62b4ae8605581e03cc0c95920e5d9ec0366fa84e6cdfc50bb62cf0b7c0fbdb54e2eb33f4900c01465d6c1cfc7fe803af1a05950a092824ffe292ddc0050dd7c3eb6c518ea70aaf6519c5de23b9747705581e03c14f2999e60be9ce3a1b382878870c9c8f66179e478c20555d28248f000402039c8723fb98d01a49b77f37b060ff5fbcf2f7bae3238b9a5f4d8db86e4eb2766d03aaffe50109d507de45ecb62f46d5441225f56ae57a91527f50ef6de57ec869900605581e03122e5ba98d880f40b0d811258218af80c77820b73a92063332906bdc6007011bffffffffffffffff05581e03ab0a4a374a72dcc39a305608af02881253d01ab7f2d7be882244730fa00c0146a3b5840f40000219ab6f0391f04fb0353fd5b5673cd0c488c2b23026e18207a56bb5c3cb47ebdc78a51273032c5fd85fe3de06512b9e2524020dd8609c1860cd8e775bda9b17257b7760074503616dbcd6fb8b5bd927efaa77e5a957f5b470f2fb98d21cf572d1d154295b5e9303f9582ca91c8d788c42ecc3887a258c817f7cf364b3b222b9f34be57c8028e59e039db6885613fcfed61825b8b2dd88d56af00ec6ecb5585a0d8a832ffbcdc7ec1b030d5f9a8e218a1243e5ebc8bc0c40da03c3ee3de052f2273131c9c9470fae129f03df0342dc89366e8dbd5f1d4894156958f8e2db0e55274e794fbb998df609048b0219ffff039e159123a96ae6bdb24cbd5668c0c57e04c34c5aad3a8f758f87d5db9f83b8ba030d5441afbbf10903156d86c89fe31934b632228798487083237523ee651257c603434ae9dd5f9abaf38d806c76996cf286a4a7e1c728c33705286ba37febe430e903baddd11e2c342cac9585b9ed57139abfb06a9fd82cb73c613cbad9bd24537f1703367654bd5d26dad0d010ec1fb01d7a7c49bdbb5bb05869452870c2b828dd5fd0035fe3b0901b5ce5b1adab01e487ab6c7a884dfc41d3fe0661f4d60bdc3109ff1803c5d3d8fbf87f399bcde0c5f728a1a64d8dbf2eca8607392b64c53d791009971c03e9e56c90ee33ff9cf66bfa464a697151a2dfff478e5085fc4073dc0c7d7d11d90219ffff032d5a4fb140207d9d0d90889c4d2d98797079d424ede85af49ead399407102e9f03a8c8a6162b6b910903ebaca6228b6f5b1f26e38aeeade41b8870101cf0ebe73503c943143c91ce6e748d64f98e416c98654cde9b815edfe6e9d311600ab0adecea0341b3c56f07e195c4e9fd2940c37c941c0c76c921513458167c73fcd8bdbfc9ab036281d1b6c0affa3403a85fecee5c2e5bc3023c4863bd2e8044fa42becec956c0034eb2b981448418c002fdbe2f9d24e4205a2b08b22f0207af53855f59afb8a0f10301817c0cb5c3b28f5f40703c25b78573b2d462d9b253e67d57873bdc73eab8fc039e84a46ce925ce7bc2d21d37dbecae88a36a99f3bd76085e38db038c7e203ce4032a5889b0976e71f126e9f2e18fced7396816ee7725263739ce61a0af8d0075b50397fcfc72587d647af07ab2c6cfbeddc9db0a26750b61d98ac6380b1db6bd110b036c7319ca88bece6f5fe1d99c8184e104bfc77a312d3d2b3cc7e2d86b88b346db038bccf1a766b93d8f94cbf038c686a5239240c7a956030f5bd68744f8bc7e428f03acbe2e056574c3dca0af48b466410bc9c5e90b61ac6a3d8095528377b03a8ef1033dcb27098a8fcbe3471130fd05dbe3dcb7e07c6ee4c47351bc26fe1c106ba3b603f06b0b86ca57415d3d97cca20a055fb79f93a599fb179a8945bad0c80666439f0219ffff03c25aff7369537d5d58d8b2a1c06411098a76c21c2eafe2de8924a9def2e4850b03fb0a75972546897cf7105f30794421ca62af5eeb504844301ec4aa60cf40bb2e032ef5ff45dd885e72a9a794d7b55cd986ec2694b7849e642e1ced6ac603d5818c03153947670c35979f0106822e6fc17949b13226e3e7783c7041462a92ca9d5dd80219ffff0219ffff03871124aa9c73a3a3842abe173dfa2613499d409b66c04f948fe76a9016dd849603046ffc7e3491231c7ff70aa19ad6eaa4d2c11cc4537186700d272967c49e3e2403c90a4ac275633f8597594ad60d46c2a3b763455451f18475ea6953fba6e1757703b7aa28ce2c2717f4659836c55759d051363f4acd149fbb35181dd0b8b689779b03e55273c47d8aecaabb310f56ada5ba8a88189002736ff64fceed5e1835f668430339af8e5e2293dff471a42a19f44eb026edf7c05251f2b1f9b0dfe1511217e6270385231d80e7e4ba5649feff64cd34217f77912d63fc204c883e670a129f743e610331f9925ab7eb8d68b09a0d012c98453428c097a31df323f4a9e78b7005740c5503842bcb6e5ac0329f93f89bb8dcc2659a470d18bca4dd0ebcda085eca37280382039ea68244ebe8964a034b96ebb6f32a14e92ccef37514467d09754e30b9ed00160366613fbf57b3e42461a5ac761652541b0ade6b6528268c221c45bc9e318f57f30328ab32355d82084b01ada3f7906c6973da607ea611d2c570d364e3f0a74817f7037984a742841e0bc6139336a90eace0fd48a9bc4bb6a4c0a89318566dba0aacc103640aa18c09612ec7b1b89765f62eee0fcac23058683178052d61b260036b07ab0308c46187d9d94f830f4baf26aeb18a1d48461a3618a0267c4ea36202688f6312033c23dba3a5f8a530664e07440825f54f9ae5d96d398167049d51e59a2ef0cdb703cf18feade0bc2a8afa6c56fbde586692781b1333e575c836b68aaf65b2b8f87d03e0f87b2f9b5a5b0a5855eca24e1c1c8d2f1c36d0a38de94fb447c47f5ebd839b0338301a3203d7468bf191b967678bd27bd418f9248cfc5244b5708371ff2f332203ce9056a300e82525fbdbafad81ab5ef545aa77b57764adc42746dd6f9d57f3400326e2773cbb3757797f1a3403c8a13657b5756c83619131c6c1f0745ecbe237c30317bc896b230fb596ef9c29a39c2f3cfbd144ae268a244b208231f3c06ea523370367e4b9d683324ffc568f5b94c79f109725a309d41c65c4ad97d6afd5e8968f4f03d2f3b892d542ff70d7342d56c1b0406dab462cc13541f4fc295bc2c57ad8491005581e033814acd177c4694ff94964c5e69f8054e78458a80cb6a7e34f6ef34e3008472010f3dda880d403aef1deccf6e058140fbb45e9c972a946f0c5bf374bc31306f29bc0620fb015930315f4ae278573e4aaa80599aec4f8a88d9e1b1c285d97ab76ac8aefe7f578fe070345c858877c1da6a943f27113401dc4927e9df11d6269be4535d1c430c3c11a4105581e03fb658c681503fa3a358b2fb4bcb9fe1f1b6e0587d73ad4060724d007100c189a47088f8dd0f32f3e05581e0326b8f894ade22ffddd229bfe4fad21616fe48fff2c4d4927aa6745a8a008480184342ef56f346705581e039ecd4f022a751a3cc405c4d1f71a1743ec8153640d3788de681e3b4bc00418ad0318e1ae0a5a216c15843c324a4a06cbffe949351e238802de3f5b86b3c09730cb038020cc4aaceb6f41ce5c199d66cc15e4ddcff922e0dc8d9d87126e4804b15bd405581e03dcab54326f50557083e7b4c8392af5cc0da963c0dfe3b5c0d04b77edf007011bffffffffffffffff035a169fb4dd296857d0ec3a50ae1ef9ef6691e08c520390606a5cb773eecbae0905581e03a41615825514a046763398c49a5eca17f736dbf1ef2b17439cb9f1ecc00c01467b4b9136044005581e038e768e1d3fb5ec589ef30fa2cabf058198132cef0c6b45aa66c1d178f00c014702277eae79c6000458eb608060405260043610601c5760003560e01c806309c5eabe146021575b600080fd5b6030602c3660046071565b6032565b005b60405133903684823760a48101805160c48301805192859052602082029052906000803685846cadc04c56bf30ac9d3c0aaf14dc5af150505050505050565b60008060208385031215608357600080fd5b823567ffffffffffffffff80821115609a57600080fd5b818501915085601f83011260ad57600080fd5b81358181111560bb57600080fd5b86602082850101111560cc57600080fd5b6020929092019691955090935050505056fea164736f6c634300080d000a0605581d0213a201b2bfcbde077199bb3a299da8f1742234b818e9202f7b89fc58070118eb05581d02e465bde8bfb534acd9655c23b73a3c07b605af05a31a58c4467a62370c064711d8733a0247d5021904080219dcfb03d42039a3bef84466cda263573beacfb3990558c752083c70474d190bf630651303e4f947ee79c225215b4cea991a4cfb1e8e45fec257151379b9d9083dcc1abd9c0345abb8a151a5ac5a8218b1541a4e1fc2f2b3d6cbe9faf9ab106bdb39aa9f90d1039517140624908f587b56debf0346d003df632e567965b9905b952ece01ebc404037a411a9084c868738571f561283982fe8767e00493d4667e7847d89ceb308d4f034a5e2141234771187fbf9eb628befb2255eb0b4697f8bb0d5154e12e382edfa4037002725bf1953f061a721f54f66cbac5b9467a03fa43bb8b1502d19c04cf14ce03aa938374f605b50ca0cf50cc28b15a6afd615e486bdf05831c48a3e1ab41dfde03c44643300e84d8922a3568c6c2f5cdcb93080ae24330b7e6a06d5a53d01ee9260372e0577218e33c09c53b02ed92b058ef2b4c73112c4027ea2bae0053cc0fc02703f3f03d9d9d25b2608caf4f75f01c3faade4e1179c5215568eeac27d0e837167d032d6397a67a1a9a1fc1a20ecf823b2b6703be683066d40e3b27e0661b95bc2a940219ffff0381f83da347e49f765baab7374605108c07dc159851f25b7adf6c0d2af3f3f28603a71de2af910c73ed95dc339f83deffdf05911d0c331e72d56e81244f497072b3036573581c421ba7c7bf735d1c081782bb1ef0ad6ba18ad1dee73c352cc6b312fb035fa8f97f90cfd02c659c8be31aced6e1d84c1581d62a18e9cc28aa350e84d417032d5ae3709e665111ba44c56be3334cba91ed97b659c606a53bead77a6677df5a03d76516d773368568da48164b582a940b7d791ac71e67213c3f0081e750e29d7c0347a0450a66f17b173890ccde47800fa902942eb5e3864ad7f408974486b7cb6903c26eb82b3561678bd58828a1b0588400d050d8ffef809a7d27107bbab7c1869903e92d010e1d962b84ad972e0174458fb54b6f879259408d4a483a5e229170d9ed034aa2841c70c00eefefb17bd90a6483f67f7b72465cabcaac21034f87720785ef03d944ceefcf0c5875afd77d167c8404d7ea91252910197079efc5c5972c0c44ed03d675c98e4a0eaa87a859692e8e36743eb9a0475629294f71915137453a4390d9031cb011b20b3f34d2cd7304b28794d92eb462515b1039ebe325432751a34578140219ffff036f398d0663438ab4acafa6bfa9ea9655039f6c3d5228f2de9f7e9588953b013603078dcd1f1a2a5737810c48249dd5f4bd24b80b17e6f859222011213054074ef5034c8f5f7c63ca71a2953d06c3207f44d002b797989aa2e1ac23aae1aebe881c3a0307830f55d5a8155954709d6fcf2ca5385c080ed877cf7f8ede35dde13d49012a0219ffff0347b60bf9da0f46df527fcdcdb30edbf33d18502e9fd01f7bcc696db62120ff0a033df5403a7d7d8be82d15a19d03cf7ff0d1336ec851931cc450231bb0550e0dbd03052bd8b329113aa27225a198eec5de8ec9afbbbfdc40595f6697ed79f8f75703039542be8134b4bf185cab3a6bf1feadc6bd58885dc336490ee14aa07945096be103bc40b67f83b2010cc823782908cbf222ea141d9e3064e141e9453bd880289bbf034b6c551a95e7a2b33d70740f118aeeafb423290438601c72ac67a6b5c30da9b60303f838e5a019118d41bce348c77cc24904e7fc5d92d7b35d7f42905d11bda0f60219ffff039cab39e7b02a2c4333c7b0c2729d19e395a9b319f409062ba6cc9491f18f85bf03f7f486985bad3a625f327b6bc8c51ccd9a026282b7ed3949d24178268984ac52030975e6936e6b475f5c72300b9df34c69f9b7c448a40ba7de03f3cdc03f3be8d603885512914865bc9799973dfadafdc336eeffd96e042cb407de39df7e0214c2550387f03db237a45ad6f8be977900adcc18c1bf7bedb78ecf59085c79aeab040fd903e132dbec7518f437359e85a63d160c23e6ede306f7e1f2ac8b799f45f0bc37f0036eb35623eb49693b005ccc7ce4eb79a96e0ec2ba5965543128b9e12e5be1c274035da1e578cb8a1b4efd97bcdf6dc94c919a66371231c76877a029dbaba9a4a946031b6dc52fcbe8acc9e7fc3c2a4be5530c21771b281f33dc1bafca8e55696deae0035d961456f8a5d3578248d74bf8c19cebb6f84392032976d630197a164db49dcc03c64487b59c817423fa322f166f8cd261764e183cf0a2381b14133cf2f1b89221031671598768f574e9fc127f607da2100cff35984217cad18338035890915a76b603a7992a08942829ffd08d353305c400fa719c99267ffde2355667551a3166f81903ca4541f61af67dd3614615efaac640d49685d50c13e2083f84028aef4d311bfe031b4d95c59810ea5e49fbf6948893db798551353f3ec9e5bfaa274bca2ae66b0603d830d37afd492a3bb0e0df660b1515b046a252a006143281629ccb903fdc9597037614a69fd21ebc896fb4a9eb974da7f521916987deda25d9ec1b3b8c692c0fcd03cd94d0876da693c5e7f696361d43aa3e93fdb9fa74dcab02274bda77b30b3bb303d7a99e113248e9fe354fb691d5c3c766b887c07548bdf792aecb1999a5f72818031771355e7e9b549b4c3cb6770e53c462bdd93de45bb1b88bffddf7316f831ec803a6b39b8a627c4eaa9fe84ca73f2f99b669997da9058f6fe6d2e0753718f32780030bcc249cf0c81598ea72e7c9d1bcf8f0b6947f1cf7a9422f31fde6fbdcfeb18c03892731ad0d23ed793400425f5c1dadce661620ff32e21d0cc5b372f437f72c5403da0f770dfcc49083510e6bc0ed43ced307d30fbe261a6993f84e71a5d1e6c471037cfc2345672a1a4114f8ef805834b4aef8d632120bf326ca8d9a4ee989c070f00388fdd3c94d77479ab5b70dc97de2a0f2748e40cb88aecc8398c300b7a906692f03891282608e51e2457dacefe2b81b653973813a7f3c409e600061f0b9995e658403ae349c9b8af401e6d08d348897a331c7a68d6bf376c2533201a4793032a2b8dd035f0d6941d549b16b6ab39ea8cfe8689b85532c6a0ecf9d6bf59d5157244f5d7603e5b8c0e0f4f5d3c6a9487a19f860dcf268966529f6b8ec1748f1a00d14fb3879039e8dbb36654fa3535b241236370bad2b5908f120c915dfb07e86b2f9def0cc46037cf7c49dd2e79aff899c555386d2124ed397c5efb68956aa0e019d0331edab7b036085b84b9b62547b5434e8d3a2531d28b82e86f4ed7158272cbbe5fcbc53754103c4b211b6824ab9ebebf14105d43e3c034e46e0afa29def6de6b6fef9cbea7c45036a0f94b2c760092477c1127fd57da13bc0050193ed2aa9e71654defd7718cb7e03be16b9d69c6e97216b301770d7db2f24e7489cccec163e7c9acbc582754d7a3101410505581e03ae9d7f7a88a1001b910b31785a020ead291775b6cf49999747ccb4a7400c1901a4474e58862ba127a105581e036eb827109c0b5ea447dc85a23f2e77232b2a24b50554a1a8287f56b280040b05581e03cb97e01a502c37b632d28617dc01c7ed5620be39a945a70f80b4d65c10040205581e03a3ca447a034fa1e4cf903ae1c100c025650fa8ec6f716d1fc8688fa3b0040103e60a4fc67cf4abb5d097795acaaccac3c80e7cb63b2565a0e589922c616023da030dff6b5e7c9f182cb34d739c5a101d607a0efc68182787dbc193bb280bcb1a9705581e03516cd9568510ef806edd6a3644a12a61e6f7b64b76b57fb2743f28b9500c014702c75a370bec6d03a081637bb621750fb030e16afa64edffdd14270ec5d68a968a7fd86b22d09f1a05581e03b59f094993c753285f4268cb04a23ebde2cd632df3d0cdac599bdd0bd008460a85d9bd740005581e03067efd8566fefd4e2d19fb1eedb51b2641e7d9b2df19d77e21e010d3b00c01470e3483c4859f3e02197bcf0399f396f31813f52620c1d01338efc1010aa5edeaf839f9236e24213eed12a1ea030b881643e2fb712d216c3c8defef6ab1196113f9c87f78bcf5440c9e46d73f100312985a10eb9a453498cf2bbfb548d57af288be1849c9fbdcb83278447ddf3bb60389122b4d692337a777235bb5d09a3e78b2ce91224439c962e197afb970150a50038bd3e0740e8d39e1e49644b64412cc0a6f5490ba585b8ab7ed914b3aa312d60e0219ffff0322389819de3a5873a2c073cc0dbf28eb60ee9d3ca5a205c139eb1ed331d5d8850333f5ecd8d4e375800e7568bba05f801263e1513784eea30f0db0fb11af43585503066197349487b5abb89c2e6e0110f158b953f8e39f435a8258f7d2aaf590446303a0f2f4a7b6e5b918fc3b0ffdb3d32a9d535027e2ae515d75056c9b092544a4750360d7e51d4e35a338684ba6098f4eae8c3d8d68e613d9c18cf7fb57d4a517c4440372c864a706850e5f16f66488b349b191475318f30f7e35c8b678441982a4861a03dc16a56ba3f757d16aebea94987ee3763149d69fd5d24dc90ca34491192eb3fd0366a366a36929e3754cb90992ca45422542d815c629720470f7e5bd92cb76b6bb0219ffff0219ffff036b57a113629265d100bc29c4450c4e6baea2f2ab9d04f13fe13be9f89bb82af503737fc08b7d34b885ff37bf36efeab90aa0b11c1287594f00e1b6634240989c3d03cdaab5ffba56aa1cf1d1c7bcf53d011e5ec36bcd8d62074ff0c58103f1853c7e03523762e2639ea1dfd7400cafd1aa7771d5cd96c6768d899ebc0aa001745e63940365e263bd280b3d509979959baa8c1a7a41fb7e1cff147f8abb3fd3deeeaac472037fa5a1f30bef37d41f582f48f266eb1b2add24309773d7c21cd3e56cfb7baed703292018f3f5d972ad255f4bcb0aed6f6ecbc3092e9e0e5d1432c3795a6a863a93037ddf6634cd2943b3ce49aa8874184c0daeb4d008dca640e6f3f9f9dd245206300397825d1db7f695bc6d432e279881ac65d398e8b933f504a6e78a7f1e93e8e08303844793cbf50094e62cafd925ac5d8890dfc66fdc846f4214818847a9e4072d2003cc193a47b4edf900e045b8c5e4c97ad623a99588f294fa454740a37c0087891d03835fd17957c31d2c036986f2cf10551dba026cf56ab391bf6dac26af711f98d803079d062024da6eb7b94274782da876e6ef7b913b492a97383588a314ab36e1ef0384550d0d099c7b9a5c749b0843b5dfd713c73ca292e0cbb6d5c7111d51eca9f7034db58753eda31043c5773779d02d07c52d7c2698c35b897336fae897f4d3109e03bc5ba0118ff991bd701b904e8ecfb59695ab878e7e644de00524c3ae01d117f8038ce3f6c1710e5a9247ae0de715eeebd97dff6d645abb59109662a5e23aa4e67c031b574fb999b36eeb350c96b8b60c52f420df5d1177ecef4218bb7851bf4816d5039fd5f64ef44c27e3f9beccd6b169804652a15926ad590a3654b4f6cd7e2eba93037078dfe2aeac3bd34a2cbe8225f4868cb9de558bed02fe28f01316d68abb3f74035f21b1dbeae18daf2dfa7c7fa5a251f0c36c8624be6abd91f3ff8a0d328898a5039ea77cd712eeecc62d2a8934ac5d14739ffa66fdf7fb334f9c195b3d6f5b662805581e03b217dacc1e506e1c891b5dac0a548c26bce0a889bf5de85fa3323130c0040105581d02b9b39631910301908ca3e8881d6be51ee06bb006b0e15ab0a2fc6a170c024705cd45aba97400045904cb608060405234801561001057600080fd5b506004361061007d5760003560e01c80639015d3711161005b5780639015d371146100bf578063a20527fc146100fb578063e6c09edf1461010e578063f2fde38b1461012157600080fd5b80635bfa1b6814610082578063715018a6146100975780638da5cb5b1461009f575b600080fd5b6100956100903660046103df565b610134565b005b61009561018e565b6000546040516001600160a01b0390911681526020015b60405180910390f35b6100eb6100cd3660046103df565b6001600160a01b031660009081526001602052604090205460ff1690565b60405190151581526020016100b6565b6100eb610109366004610401565b6101c4565b61009561011c3660046103df565b61028d565b61009561012f3660046103df565b6102d8565b6000546001600160a01b031633146101675760405162461bcd60e51b815260040161015e90610460565b60405180910390fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b031633146101b85760405162461bcd60e51b815260040161015e90610460565b6101c26000610373565b565b3360009081526001602052604081205460ff166102115760405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b604482015260640161015e565b600093508392508291506001600160a01b038716331480156102445750846001600160a01b0316866001600160a01b0316145b1561027f57326000908152600260205260409020544311156102775732600090815260026020526040902043905561027f565b506000610283565b5060015b9695505050505050565b6000546001600160a01b031633146102b75760405162461bcd60e51b815260040161015e90610460565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146103025760405162461bcd60e51b815260040161015e90610460565b6001600160a01b0381166103675760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b61037081610373565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146103da57600080fd5b919050565b6000602082840312156103f157600080fd5b6103fa826103c3565b9392505050565b60008060008060008060c0878903121561041a57600080fd5b610423876103c3565b9550610431602088016103c3565b945061043f604088016103c3565b9350606087013592506080870135915060a087013590509295509295509295565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220103dcafe2c1ab4188249fc5484e0e70c346bbce3909234a1dc9453afc30f03a164736f6c634300080a0033038e5a8150576090aaca00b7c5a3e1c0a34508737d7953a8779ce376ba1a76a90503943b609e61dfb5b24f49ca4568c6ce00bc743962361710e1895d825a6d911b1603d28ff051f0aa4bd9c583061227f78e5fd1213187007daffd9b7e8b4a47aa256f035c11dbbf5785e9a1301fc68124f3ba38d86be6e565f05a29a79bd29baa7e6c24039033b957a97218f858fc42de271e3b205316e633a4e5853189eb7e54e97d64480349f544e799aa61ce069da5ca7fd5ca18f39a3521bb94748bd4babced971bde5403a367bd845217a978a7b5c072752e3b441aed6a0ffc92c0b11f0a497e00761f630058200217502f419f72815340ed97d8dc6aa81d8c25d1247a2771308853f8dc5f95cc440125784100582002d1fb4c8b55f7e935b46b18f994d93d9e7e1d30af282ccc09f7a0c6efcd5eb8440125492700582002f28d61fa1d86b58e9a2f6bd45b2870848f3fcc039762c5285c12b1e215f80244012549500058200294f3090e21a7b9dcc3b07203f4161aed0dbd3f7eaa77e9197145a592babb674401254f6703ed3809e394f5e7d961b81d719a3408ecb280d371cc52eedff71c632c557fa7ac03360e1b35c7918119fd87cd055015e9fd1ff481886bc29d40353572ae7975186200581f028e1f4f0a08a3f06d518a9e6dfa134132527a853383d847a7da7c99438b76410100581f021642e8d547fd8250614ef3c580570bd06e78be0db0089975cbea56d118e644012549e00219100201410b005820026527cfb2b8c05cb9e166c0f4200265374a5e8949d91c8282ccace8a3cbeafa440125492f00582002f6ed96e91925a8cfd7ca6ae590d59ac7983a521fec132665925141beba5dea4401254eae021983de039f8fc53ec3e469208d14dd7dff95f468661e3b7224b8c5c04273f0d269a48526030c6e1d8aafcefa5d035d88904922fb1dca4ddb3e91f2f891a03260257f40a2cf03bfe158d6599d31785412d2968cba0d273cef9269121cda15b3c69a3cebe1cb4903d884edad37660175a67f9f90bd898bae329ad902f70533d9e0002338b748810103a38c3ffbc631ca8adcc106443cba160216aa6b2f4cac971305450e936ed5fa1003875864eeb4cece516d090d70325d7d6489b358586a5ff3bbf3670dd61731cbfb032960b737a8cb94bff18202a066cfab53ebcd45b9e0cf82ee6513ff923ae4114703a496296e471b3ad7d4b020e97e478a0a09fd9f9d194677e7cb3620311b2da0430219ffff05581d02042247dee65428b74ccc57625a9621b697ad1c3327adccab74c3e24807011904cb0219480003dd7a4c85282c38539b9702af4010c6c650aa50f97b23ac730816240c2433c32a05581e03a331ae22fbd465f83c383db30b78154e419ebfcdac3f8e0fbfbcf7d510040103293daa252f866a60304dedbde1c68aee799db87eebd6dd0a5475aa7594bb925f031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e030495c8d30ddb6b83bd01db2b6f4320204ab5b8a45ae2470cb07314753007011bffffffffffffffff05581e03d159c755872506be6365de5f30f867958d81d1156eefdefca6b1ed6fd004020318bd13d5d49304316cc4bbcae7b2ab71a85c5878331570c7c4c1bdea0f159fe60219a53b0329970766eeb183373558666938d2da0550353453b13591dc44c4bdbe7059fe940219ffff03b26641dc516f0d0b80b253b428864358bb862c5e5abd9e99235e4090eb66ab1b033d5889922104f0b47f0d36f618ee9838405905231fdbee74fbc87f04f07fafea03ae4b9c738066e0359180f5e6e2dc534367a67adb5406196ea4df4f7906fa5a6503499e12a2e8936a89f5d4142dce1c9e9cc4e328a6740a71b7d3977836050916c70369bcf351b27e019bb3aca2dbcdf28a10484b50d15f8c607ae62948cdf9de4f2a03437d45748bea136495fb5511196d4e3b6ba50cbaa4327c8d5526b6f83c1c222b03d8f3c7934c0440e6a80cb31eedfa78831c2bb6417992dd34f376a11a2af97c2103840135ba5f4a176b1defc9d3c5bfc78e48fc8472dde2e8a870ff519861886ae4037612adfee1cb31f2e6910d3728d7ceea067b64eda6bcc0455c2da2e6555656a3036e0fa76c30d6e9383a44a8deee75aa120cf758f56aa0675bcefa3548415530aa03b18745c35da0433f6ba398fe6d62c98056c016d8910dd90cfbb28db50216972b0389823a822f2c2e1efa70a1cf7c2aac98a1487e53462a2421973b1590bff6fd9e0301fb6a40110863e6fd68bfc7f42186d3860cd1e8d0f79509782bf7450d7f0b5703a9c82c81ec372c71e8a07ba0656694cb15548ce76e5d5ebb1e534996407a89280219ffff03b1d48f932c02064cae0999523cf5413863bcb13c0191090bf9d94375f3a57bd4034aa75e37d71aeb03dacae68b8eae8c9e2297b52249d3b52aad6c4eea4d69b7e803725ae7d4944b6783ead5639637100d8ef67393414bc9612a55d6ae3f1bdeb59b03723311aa6cb1f5aad5f0f2ed154152a4271ad9123d9f6ee628153c645fc0549e033e05fb292d3a4eb35d04e1223fb400c50506ea1cff20d6e028aa1297b4fe7248033463554b71db0b2ca1f06e23490ff842a92eb9d70e84581404e9695dfb138a10032140fe6ca03f2b895b5662885beb8d6c6b0da73a82a5f832f282b9a4436b4c8403cad80bff55b5bd987d6c135feb59c7ea50228c6ee06567fac14b192a37d3b09e03785183da34b2eef749335de9df0d79f918aca9734dc431ef3a0edc43fd98a53a03dda8f683a5b619e7bd1dfe09ddea857ecfe661341c73bb806d809b2a65910f7c0219ffff03c28918be173f1f0e583916e9f4cbc44cdf016a597168b73ba2e03a2b63129282036c84376e3ab0e527b6325e6aaef13a60c4f867aaaa706016cb3dad043230e7950301b1bfeabdf769bd97ee4051c36aa93be3601657462e6cc1b4fd1be25f1e677603da44d6dfcc58184ecec612533bddefc7d0b9707de7121f8d41a9180070dd0d3003f6d20ec7d567738f60807ffa5cab2dcaf1f9c8d7628e4e820b2a1db404547e5703928129e5da27f366f5a32b86fb432f5b2b1f262d3623e2f4b0bc1d6ebb0f5a0103d8cd44c22a9193a3816378bcfaef972b6662b88b9a6b14e58583d9499d6a9b63039e1b7dd7ad89957f8b03ecaf0ace23245f008df9f2711b0cc63d28f150acf6bb037c625b10a11f1ad4ac3986604bad10168002167a54e6f447d72612a493a8c4f60316ed96f1f0aedc6d8cdb4e851f2444387fd93ca7f8a10752b870d552c2b0b8e90335819f4cfc9c6151a0c84d1c7171f3373a3f95f1e13963b910133c20ad567564036a7d2f2356eeb6481d6fe55642f543f6bdba2e70109268f40c5e174fcf1ac13f0396ca031317855cc741a68794b7d55cf9f2bd5012181b04a494dd5316cb512ebc03013119f0665fad5c30697abc8e9f7dd5eb922bae286f185ab79b2db0c345c1ee03e65a65455b3aa21691cce0cd6b768a33b910a77f36e53d369e3a66ccb75877550385b86ab462eb801f8680196935388cc06ae0062d1591dcbebcfc8b24ca3a67f803ed8d151e5143b9b0b404f3f295e594d5d0943c2dd712af70b35eda4a1dc0a41a03bbfe27b5ee7751dd2dbc825572bb8f1c3c9bf7dfc05863f0e02a009cc772992b03c6c8abb85af7571194c953ed7080827193e858bc0eaa4c4e728dbdab567c5e0805581e03c5f1e0872cf734784e6ef4ddf53c66abba5fda4a626b0559fd102873a00407038991b52246b49c3c3c9379a69d8107f961644c6632ee1047e148f57e911e882305581e0381541596fa0063bb7252adbeda821e78ef8d990bf51e1946441aa67240040105581e03d4031d91fdecdb3eede9e21bf354b0950ecb6c56ecf0f3e7fd143b0b500c01472f4d092040cd9005581e0314e42463c3fb6a1df488cedf54ced36d8fb4691b925485cf9fe447ea400c01476425c22b29056105581e03a2e033ea31981a815091f13c9ca38f0f362a29dc57018c5fb435e93c4008470e8fac552b580005581e03af43460e1b023ebde7b8b9ff14f5487a6ee2445b8bcfc22b61f9c285700c0146559cd06c080005581e03c71b5aecb39b5da19f8851f835c21559c0a1ecf18ed93136453333c4c00c0f471ac9e7e27769d005581e030dc2a4947bd0366f8cd495936e8a65041b33b093b7ad1b749c0245b3b00c024701a7345378b80802190e7e03d2f707df517567d770bc03621d5eb71607c9ec0027cd6bf65c5f94172a11a38003ce8959ed3465333824ce5e832ba98ca61b281a8536436ef51fdf1b7fb792865903d7f1e55f19142b354847460538f13526e5cdbba9baddb3c31c6c2b682069c92f03c3de98889169cea537e15ba2493ce66384953c2ab292e4df7089823354c27ad703f7a333f9e67b84cfa7afa84e63e792b618463ece2d0b3654426f254618c50c17037ce963e6e0b4390cbf9b17f366781f3cf54b6c55238c30e944ab383a934dc00a03ce247575e7fbab095e5be666ee5f12d78ef274482bf688c4af2e0ca8cae0538e0378cc0a67a2598c7144b5660fca53ee7f7dd843f0f1658047560e33e407b6b604033b99cc08de2481aa5ed045baff033496a3c0dda241ccdc27e679230f0518c47903827a1d1ac7ac693c41877d7de9e47b8036a4b2f23326f73f1cb22cf1f0064548030f763e1f3207f6fb10f3e25a26aeef6aa5679c7fc3a85955609b0de07e1dc47303324f9a3a564956d7bcae9bfec5e9085cde33aaec877c2709c79c06fe31a0453c033b0043235a857f60a020dd9b406a24d94ede96e4b0f825b3bad5c479f9e5feba03cda03fb536d7a80edc0ea3b00208f8d7d8e1c80a75abd96bdfd98afa1694fa760219ffff030ccf3d55d06de044c4feaa1f04f28a31638feda13f9fc41d47758ad2ed244682033e10e347f6650d66c108fbeb5fc4c4acfff1643851def4d89b60d28d8e0a7f1103641f4fa7c913889b8d74c46abcfeebff4ea63f44051eed9cfa5cf4963ead184103e630df53be3afab203f1ef68b0dedeb5e9651df1d3aa831b90f4928ab7e60309038fd96cde3fbb6694160fa02e91ea58beadb4e1e8fd5515c1254fe27fbb76ed5d03fed6d3a1300d38711f475647e684a41f8fba81260e429139825f2cf8b75e9e520219ffff03196fc3cdea7456da4f90b90391a046f594b1590ceb7e6add6f7803086451f90703af0f8ddecaced1d15e69f6e23c109df6d445764234602cf4cca8f61fff82bd750374c12d27597108da7f36743de84845e37c4ad18b22f9efa31a041c7a5215a23203260aec0c4ee4ce32a1422fb63e0d505446d87cdfa861737d54768f83ed65b8e6031e5575744d065daa86a6943a4058e8d8d0183fc5fd426019987e0b1609f7fd2f03a72295d2583a3cd16f3ac378de5c71483550c967fc073767224d91a9540a8b910385464054a36aa8bb2af49498f1792a48b1280bb5757fbfb2e8c1d18046ec887203333fb74a8d6a5076a251183419a4dec958030dc03882ada5059d0d0229471ecb03d534306e3e40dab3a5024881dce405a1e219267f5e8dd155a1024f63a0f327140219ffff03206f157cead5abefc92887d6cd31ebaa9251433c8f8b00fffe6f2d70487f1f6c033a29b77338df2c48308f72de26442660d6e93f89472997d2baa367d80fbf43e703723798131ea03fe53d99d076d9ae4e0fcdf053f332021f4cfe657a0c459597b903d4db995499cc515bb5228fc22e37a9b7add1657a56dc5a211ffd391b1be4f127039f05a463262c890dcf63dcb65c0dad516f7f5793e67607ef4c2896200267ff3e031217afce16e29b2b7422777d4672dad62910b288bb545276dd204d4546b9ab8f03e3b750862846a382d36efb8dc505a45619b4f6c9ac7670f95561d7fea94fd4f903d3b1d77e82e392525a2711fa84fe9dbe2717c7513c8d4d01dc3b06ece1d1c8d2035268f574ec2e1a1a7f3afdf6158753030a8be767b83c33f8f752f4a36ea6f9b1031979289f8c80bbe1ec8768b15611daf1b7b09a8a9f52c6e64b77212804c99880032880911f44f8107db875908192301cfc6d35fe80354b47abd2f5cdbc767be4660326ff2baae4d3b296fd98868f82a4202da73e39d915a21dda4af1e4496ddab136034cf686a8d6236017eca59efea415ab2808d76c5c8a3a689ac52d72ce659740d2036f0deaf7d7be89d7c71dfaa4b84c2d375f08334c9770f80c24aa80f272241b3203c78d2ee9aa979efb43da9eb149ce56d5137d3d1f1f0de8f0fc219acbc153fbac03bcb313210ed2de67df29264b5edae34a724af811ecb3a4990db02720e6edf7ef0301d17b36f8e9cb778704ff0ec8b43a875c95b3ae521b81f386c99c8d4fec241603c96c9d9277ba495b0f621bdaf5d8653d355f0269491168e71f551f4e223f62f503bc22e00c07d9bb6eb640671886b0fc47a001d60688c5a04ab84f4f001af6cae203f9d6251e41f5499a9396799b6192cbab5a9293d98b6e2c8c233c7c8e9dc03e5f03ec1362164469859ef98fe47d23a71ec19892501655596fbb94c2dc882871b5d003564d7acc8ed563b1f66f1216fadc9c9c8481134c30d8f8a5a986aafa7da129a6031279b8232236cc4c5eb0f38ad827fab845ce00473742577f0ec7694a579607bd0335d9aeb83595781129395a571f529bbd151509f9c7c0eb11df0cfc2a7d67693203385de9a1dafd299e0c00ba4a79694cd9ecc2d772bdfa782f2a5c29f5d4e0b6c803f4cae05f743025381f9157b62b44aec1f78a02201278774492e61d7afac4880b031c1d409b2f4c003708f636868b2e7be79adb909194d4719ff4f918bfbdca7eeb034e114929ff0cb51d4ffbcb7666c7bf6fbff7b3f7bbe42c3564de4f40a7001baf03d0b8422bd96a0d07b38ac37bb863c9c710fbc58f7df95c305522a140390862e303ea4e5ff97393ed4548246d691d1f0f5ecbd649e2448f290b37d2a4c8387fad6003e110e4b87f45c95b9a94aa2ad0b25af5b7e71841307c7489c2832fd24e521ddc031c31caf901e96fd3f9e728a3beee2f82227ee1b51a6c4d39be2b270acccecc2403c7fee5badf09a21e44c6f1bcb92fa12a955ff061bc56988a23020b2b1485cbe5035ad6604866babc9358b174e9337bcefd8ce247a5431c9f703c8f49c5e88cd155030706aef7b7fa853fb1afe325f896fcab2aa09b5c68794d923889113838faac6e031f0780b7be7d0c17eedc26d8b29024b601104a9d354052ccf1e5973ab3e2041b05581e036af5adcce3ae6f8e02df4535e52bc8d32319c70b6bed07225e8bf705d00c014708e26c90c27e4005581e03ed98459bc147037d2d03e093be0b0003bd38d8006d3c106a608c31f8b00c02464761520a7990031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e034be8b67208da9f4d905d4741220df1429047abfe9000ac2bf044384dc007011bffffffffffffffff05581e0324de61a36ef03025f65c033a2cb433f8c753544ac1b4d4b5b578087c200c0246ed3d96641d2205581d0288ea134ada9360a1dd0c084beadfa06249189d6942295c3d95f2106f0c01460de0c3464e0005581d0254a09b3336d5128a661ba992039a69c221d3e61ab641a5b0a95650a7084807d00d8c6147f400021944000386c863f8898a0b9f79eb6c5641ef038d99cc19a48d0782dc60f1e0a4bc29579705581e032f746dbfe6c10065583f764cc50fab61ab87c553d32754aa81a5a548200403030542aff8c005495f226cf9af3ce401279a361d83ec2ea2edafd1a9f773fbfb2f021947f803e4dbc18f2e87b70c80dca28f19617a1cc254b933acd0980cfdaa38ef2fa8b15d0383163413aac016db20759e99b1c19a6e795b311d126800c1c4312bdcc579588103e2e6c4eccd11b634843629843dc550d37ca0ddc0f3b436bb84b6aaa0b95f0a430325a7eeb213189cdac94e7c11a0bce972be98a3f489977096c2a89d19e684b91c03f0c2a9e109d7d31cd8985e85b16299a9af295e56bbb2c28054551c1b753867b503a627f99ddb4dbb8d187a872610d43f5a908be8707fdd0786566159f627c9a45a0219ffff03b0f0b00ebb49b710e3b5d5d5eb5e10b0c2ec34e92915b5be16efca11d836d93203f0f6c8fe14b33f960ee7652fd1231eafb8d5e7a635804ae5b986f7dbbe406f7103290f7639ab16fd3edf6dd219c6f9af8f285565f651f9bd67435c4c7c4da4788f03836f44287b22549cd0a907872b505348804d02481399251ddb3e754dabf38a160219ffff0337d8ceb0d17f5a038cc2cdb80b835d263ad81ce94fe4995aaede850c3f6f89780327d7cc5926b12e0b3b7331ccb15d00fff063c48e7dcdf78ebd33bdfd50bf180e03df569a49fe50b920c94f538d13952f38285d5f7c948039211589f5675359bd7703767d3ef65e676d16449d4ba0d610290e8883a5e29e01e8137b91c83dfc9991620336db2e44a9bd9eecb3707757d457e92289ac76642b899d0af9adcae3e00b862003fe1fb6fbfe12e9913a36cd2a737d0a2e78c3de1b0c5633eaa569e9d0a2773a3d0314b14865622e39fff99c82166acb98030557bdd403f73d92e93146395fc606420219ffff0219ffff030f57db31a48f00488499964b0f6ab0104a0e56f6f396d6f9772da2f8d66cf17e0306f241b9dc885a6bc46174c9e5d27ba3443494d8929ada046362067c6c677b490353cda24590da16d1886d0eff5b359e03946c2a5e9c00e7148086cb68523bd9da0365f8ba078630fd3795eb860b85848960ef30be12310a8ae64593bedab648382b03482296750a59fdbb4817fba6b0dc2ac4e4e8816efe8d2c249b5bb6decc75a6c0038cf5bf24c16a99a236a1f6ec693b37b2cf09c50bb4be0362141f4fc9fd06679e03d2411604d4d34d7585f4ffe2e7a6cb0e687dc8023ef17928280944d1e343ae38037e968679d705e723bde6bc1b3e85246afbf034860489d2c3b91c1b04470f026e036a2ed6f75126c3b855ece19f93ee74fea32f776c63187bfb3b616c6dea20c23b03cae823618501e1874fda5a93799eeaba753e744d92496f7171b5daa7dcaa35c303bd18fcc1683028ef8975cc833d8b86ab2c6997a65e1c80641d9b203f2b846d41037c6a9515601e727d5837717db0ce0970f7ce3bf00f955acc424acd320d6772610342bfb7dec7653b529714aa707eafc6d6a394b6a5d6897c84edd3603a873a8f3e03b7246e0fb93db621d0b0e2826974041ec98e0d47f6801524a441ce68fdaf92260311d812583ac06203b6cd95282a33cde9ffe0f915a0115ed946e212fc8e742da2033610e3030599003e311a675bd7bb89f6291f4d060ad309e3c4f70c990e120e92031db78ae9d42d119a8906bda20b9fe791de1b0571611f38ee4838d74c0671044e03f59b9460e3d4f69dac8420c365b5473229b9059b5697eda6b6a150168f54f33203626b69be92952681eddf58e92fa460fc4462ce94698d4d5aa3b584481386a2b203a2ebda251291471dd28dea7934b281d0cd5408c69d9dbe09c76b514132b2bd66036ab505804c4feeccdb2b4802f980bc96e45cf3e5d48ff7b8d377678a7ebbdadd03bc758724e5eadb23c2cd8ee3019dca9808c41b0cb4f4576380e2033be7d444d4036a3905107f7b9bad109affc700b13d26cc83a7b133004d8a616610164359b1c603d73d72a0cfc8f641ef13dac749ad7cd5067a1ff6fb53cb1b900345f5d049d63a030160ccc2bd2c0ab8bc732a834540b441f8e2bc8315973452ea92972d7a68994103262c15fa7e2764ec98b868f523a75796a97c63686311642dacd2ad421929ff830331f8cbc2cd7dedd384d977dac1875d37144041f6e979e5ab39d8f8b1488577fc031d6222a0a0902bec9359dbc540024d449bb197417958fb43553cd594394af89b03c03251833406d50c5bc131f25e0b279bc6fa390bafa69bc26e22f8960fb05072036ac7df9993daf568a92695d79925acdd6946048a34c6b9bb998d8425eb84f2530326007eb1e7047fed9a380c268a2ae7ad3a26b53e3bd8068f7a51fc6f0cec1e0303d22219d961da8f57da58a8970193ddc2265bf6b8483795a38c51b04c527761f8031099e929d1d57ac72a6a12e4eba3063e104f6a00e4eef5c860af1f6f302dfb4503815f6f60b2a83c2cee7aef8bda01941defcbd85c3bcd37f7d5ab9ef6eec188cc0397afbf15a49f8987290051faf0987c097a4eae29e37f40a9bf5de20212d744b0037feefc42732a563851a1513d3ac16c79494651b066cc0b6d13af35eb75214752036c413f4a2bbe84a9b35ac8df405d20498dc2245a618e1169523b72df23989d3403228fa92b96b79dc02a552af96f46e7b93dd65bd7378e9b1c52e0a889b6022732034ffeed959492971040c831c4809ee0c3fb2cec448e0bf7f48f7e2654ad21f5ac03469955114e5a9334a0f29f8fcb6c3810f18db2bc94bc12379237e73d491b988c037837bdcd127ac23627422d2d309b4aa7583796fbbb950dc42b1aab001a8a0dae05581e0318501ac41ab90ddadd0bd30263e4f4acfef16488d96b281a53aab94f9004030337a28683ae9614d4680efbc3e3518fa71b21fe4b46541c094398cb0e1814cab005581e03c8d9bbbbcc695896898ea6a23f72e975c2b5f7a8a91b2e6b7c953466b0040105581e031a4e4636764ee011f2f65dba5f56bfa54315da079d932e6d84c6298e400c1905284801f1ffc1018723a403377a192f9ea3c3f60fc1304b909203201a080a7d2a7939e33c9f076f257a7b3d05581e039adc401ddf830241f90a95aee8e68b6d81b6d9062ae8aa0df23f3b96e00c064713d2fafdd8c00005581e033229abef047bc05df178e6dceebc9f410f4ad0f517fb484d99383216f00c03473e68c115c99fcb05581e03d79b8820dfae881ed63bdc0233fabf89dba0c7a80eaae2bd6857f14cf004020219c4ab03304ba5d10da9aa7801cd459473867fdae73940c6c42089f21613ca7dc84d66a503b57eec12f50606974114d4e2495fe36b930e4819e8720bfff25ea4df8f591f5303eceeadda9f3aaa942b6ec3242c7bf2d233dad1aff215789c4cacaa7601bffec20323cb80704905d75fb3e1334cf1bf4215f28907c89f20ec187287a6bab715530e03f82ceec66b21f5eb8d3a4f235780ab39e057502fce6deb99c99afbf0355cdcf903b4c6e048a6d14678c3166940cbbdea2abe886ba089141c5efe5e5d94396414f80350b688b19ab05f68841cb8ff60e1857195584fa0ec80b8b2d02e7f1c77c8c58d0219ffff039a55377cd71748196dceec394b3bb39170e1e8d3f33825718f8b019ec7c58ff903c9b13e9a2e287d8f2c62d781dac310537999c34d4a7cadb12bf0e8605be334cd03e257d088bf3e4ca77811d4ada547bbba68e259b10775c54bce013b1d7c9bc2bc039b9ba709e44e6c1d96b7106dcb50a90123d0f46bcafcf722e36cc85c795e1c8f031df1026a5ab0f323242262e6ca0d2fc07fd60a79e92973b58f6789c23fc006c8038b9d4a230460a0bcfb006636d0d4cdb7c4b43f723d333b0758347c8841dd491b0219ffff0351adaa811b59caab31c553620f5e5e494674a3f082adf55fadab18a40c0b7d830219ffff03dc94a52978975ee240c71e04b2d5e81337f79f31bd3fc7394ba143761f10280603f72867c0fe21ec369655823ee6ac8e27e88673bcace597d83a9ab94b29a6ad240315915faec7b5910433fe916473028622ef58fe84d3ccd73d6403777442fad339036aa7daf97b1cf5bc37a38da8df4dc3e7782c0488e169c2ef4c19081244ff891b037960177a2433efac788214711b2606c49c60a15092e1afac96499726e1a1db790219ffff035869bca9a1647c92e6aff642a29fcc5ff126e0c8132a69841a9b3f8b2080826e03f4ee781aaf42d19662119722f102398fd4a9e1df40b47d48d77592f89145918003511d3fee1569d98ae476e8c63cbe4790fed0954cd0b1e6a0b53167d24db28c8d0396dc04a191ee41870bcd16a7f61106a860a0bc4d86ad34916ba712dd3c173b2f0389da8446fe6f8a9a6240e60de4d44c5ec54009595dbc730973be5640c42c74020353921c71a4e66ec02fcb82c46a247b5e56ab5471a723ea9ab7c4c4a265c8c238036e55f8e823222da9f20dee66704c8fc95a94809b3079c9652da16be85bad214a0353eaa645a01ba62d41532128dc1cfbfac6650e8fd1c2bdd443f8d3322e146e6803ae4ab5cae9bc5f4bf42fa249c0246af0ebea887bb2bcd51d1a9a58094b5bc4bc032af6eedb3a715bd7e684853a53dac5f308640ca816ccd76c6441413086591a6a03ff886092546b184a264c21331a396f1bb619263b182b826298f040bc287acfe803e83a93bc6bbf4f49a8b9094463397e60732222a8ffebcbadc80a482e74387fa203416c53c1753babeed801f4023e8597befc3608bbce0b95052a6cabeccad9d65a03adb9256838a720e051bae0ef9bdca2825914e1051031eb0cdefe3a5a04d401ac03dc0eebf6af5405360ac9a6506408bb1faeb4fb2331f1017a6e6ea66fa76e6d7703cb47532a6136a7d85e9d4278df3f156b869db6146a2b33bb4e77974a1683df20031613c3580422dee8f8edfb32958e4b354a83cf438a6aeac7d553bd149ea663e203fcc1b4a2f6b57384eb8e702202caaccaf029a5693106a0417048cfcd76dec8de03236b48b5a24d057e49819de5a1a4f9f0a045e42df9ff34984543fd93d1d8df1703945f0699b4373654a9539d33a94a54977ae9425b5339c1455f757d6da4f7cb8003247f229309732c606f0d1f99d8af23d75cc3e67ce7e3ebb643f1fca27356adab030999b8d9add9affcf197c8f5acd2f8c36dcc557196f8bcadd2e50c34ba3aea68035c8f0e4ad2c2fd410cf52016d603c9eb59b8fb09cf93b86964ac57f2178dd37603baa2f17821a39fd6d9b59a51a9eb0aaeab8d2ed3c7e0b58ab95bac96b151d85a03291b04e2b0eb24c30dfc166e68b293da2719df9c554810921fb824b95afd880905581e0383ff8974c44ecfe4f0d0c2366bf35f8728077ddb9299aecd50de9a9530040405581e03928c492a15f3146730b35f33375b53c923090d6f070b4c62cfa45f89800c1840465d8e5efd78a803f421990a67d71d4ab19271c75aae6e62bd00cac6622af1375898c5df5ac7fdbe0336dc0adc0ec26b7c885cc87e740a3db97b5329321dacc2b29e586990ef92e00d036bb118f1127f8cc3985a6cfb01ecea24192d8725d7403979896526cb7f6f340505581e036bec762cfaaac7075b2b34f3dfe21c6a7041513124785abc920864914007011bffffffffffffffff05581e03de3dabe6a82bfce0c275a76dce84a85e50a95c1a9747377719db8b52800c0147011ba6b1e9d5e00459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c6343000810003303b3a3af0dc1b8e0ef5604b13be93f222ae77819a669da486b32011bee567cfac1005821036501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354054d8a791fe2be73eb6e6cf1eb0cb3f36adc9b3f8f9005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054eb803eb3f501998126bf37bb823646ed3d59d072005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054b93ac04010bd61f45bf492022a5b49a902f798f300582002a1a1c3fdf78f2d96a0fefd210ba9068d8d7feaf6990d21a100b9324822f00954f1af3b23de0a5ca3cab7261cb0061c0d779a5c7b00582002a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8254798576400f7d662961ba15c6b3f3d813447a26a600582002fbe9f61d6d04f7c30fd2c1dfdc36f6e54225533b2f6861e27be755a6f20e07546625c6332c9f91f2d27c304e729b86db87a3f50400582002f97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c7547f2b8c31f88b6006c382775eea88297ec1e3e9050219804500582103b9bf400935444717603858599ae4425bc6a3ddbeec8fe963e5c7ebcb3c0ed3c05467260a8b73c5b77b55c1805218a42a7a6f98f515021911b405581e032400711e220159e3ce16470f56832a6b62b8e43970a9d215168ed6eb90070119089e05581e03b0cbda2b60120afc1c1b503b4353d83714981198c968728cd8903c05d00c0245012a05f2000219ca74030f6c2bd42c453d24ccd87ce7228f7f0d97dde508e82cf601813e1c3907e538070309057844a6dc152be159b2f594a1a9b38fd444455352770ab81c2694cdabbb9603172a90e799e551e6ed03fca4581fb712c55c896ff94c34f40d0915dc3176b2bc03a45c035b6967754fa3f9d2cba0e2c7e48123439c3fc62ff43a1680a1c218968f03554c9ec7f634b080dfc1e28a73253f04a6ecb9866e688e00c9d70722a2072479031ccb2692ed70ac77c1398040ef69ac5f49bb7a066afb6f959d5188a34462504a03d67e5c936f8c408a72ba488b0c91857a960315450d1e64d90a5c283fba600b2e03bd05e8e0f851c69f5682a3cba3a0298f3c573ee95bb0249e42d0f1be55c6fa9803112b4b867ba580885723beb46f7a1341f810bb3264f1b4d49a648f5f6b5a1cb90388ac806bf2706a26975b1cf7634e21b70032b971d18d0722505a1d194b0d72460219ffff03b91966eee0ef121751e45d8e5f7e0a5350f885eaeb9df5db27d96bd3fa940a1e038dc938f1fb77c6701512456b39cd89bc2910359f7347cf1d2dd41392798fe90a03875703ef3f35ab6fa034f0b4d20c0c258cc587882d7bfbff22a736feff75c23c03278b7eeffd303563ae75db99cf5114d1ddfbd95dc723fd1932765f7dcd63941803c3714923de843ed96b20e501e0a3f9026c465cbf671531454221ce5cdda597c803279690ff87deba99d01ad53488caaa27bf8d9b59fb60aec6758eaf70a5ff6f4b03dcd62baefaceebaba76fe730e0f383b7cfb87fe59ae477d223bcf458e112faac035b506e4a5e1fc9b9d6c01f438bb1e795ee59c90e2f38477f5a37b46329a0b94d0219ffff03fc391327f09fb0fd5ad4fe84bf26f767b88a4d26c530d7c42317bf7a9f4fadd10358e5880bb3755398d9c8aec0632ef5370c6cf492726a0eb4197581aa9adfffb003c1cd10303d6b5d3eba06c1b4d69e70f0787f41170a4a8fd473a4f277ac94fdc20219ffff03c289492fd0ed28cc825afbf3567dc23f764257afe98afb5c4aac7eb792849792038babc5dd3feaf4d29bb44e7c43efd0e3ae673604517fe639d2b23709cad148d4034430d20c5f24fc4adf3bfaa02b47f4a5d4f4616bced02225c3dea61e229fc2e7034c8ec0e150b6de0de066b7a722547d21197c8edff53e61dc4fe1d3cbb94f5b9e03243384d2c3b8294095017eec6f6c9dd8e38e16cfd4af8efe56244b20647f9f4803a60673a1deaf72acc925462fe54a7512a81b72c02ead984730427c4dd16db3e6036a61447f8d1bcd45c679c82fb6708503ac0e36a742da1d255e6bd07ddd75c3720314b751aa50e715cf6a48605036bc5784fc1b50e2f5a3c6dbe684d4cc8e184f1003166d2e5a9072b03d02261eae2633b5df8c21bd338f9a2c9e0e530e67f48cbbf9030f026ed81b7c48e45e9b41b3494e7b4fa1049b7a87c199952600cf6d0d61758903e236ed8a8cfe4d16f21338cc5042e24512ed919b4d3371b0a3cc3a081f9a75b7030093e2ac589f6021b3eb1028596fe04711746931f2263dc6dda88cdb1cfe99c503976492e76a4aeebad50a52a0bcf4a1f54ea465c0e5212c5dd78231bbb83c286803591017cc13b5c84376e6c9dfaed3cfd9920186d6eb3dd8f5c6230a6071544883030a9486ea12518f4620ad9adb58503ec1ca1081471add050e45a5379d99d8d1b3037085de6163d53b3037868bd55da0cd35ed3cfe00c625798cd73aa8c52c11fe40034a906a33a06e0f602af4f95fa410c1dd615e7d06320ab44e961388e02c87f99903eddf9f7e90c7e679abc53141649b9a756d2a659fdc39e50c3c96bc1181859b88037af54cdef910b5c18a5d532fc00abc888809dd7026bb8f0ffa7e8bf122fed44c031e62f9dfdae34645d46733a1a828b6f9d3f8af98dac985c30dad05d5c34c872f03fca1e6839a21e96b605106e93a5cfb6d75def31d88d366d59b7eefb8f5105a1003f0b332bc44312957c41e1c20a16725fe869fe75441fd6ffd6bd0e13f2703d1ea0388f6c90814631203ebcd879b9b2a01f894d317d77528d0a411dcdc9664a288fb05581e03e1203a09600041563ee0d2cf85a275dfe2c2325ed67f0fdb4b65dbe29007011bffffffffffffffff03b099699db3b5919de5ae5fca5a189037f197b15042a801a6a5f2d574968e595905581e030c405bb3857eaf3585e0d8318102c2e55c3e00d743f519d70e2dc263500c06464459558625e803415d588ab5f0dcaa55b2bc37ecf2168401a1cf783e5ba674fb4f95b82efda5e60399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908031a964cc1840294cd41060016ef1f8ce5852ac19a5ffd97bf13d5abf517b6123d05581e036237d96faf9cd70786ffbd07535665fe63268991dff0d302f22b00f33007011bffffffffffffffff05581e030d5d6e05b0e28db1f33a2496bd94d717cf980cd63e98e7467571eeb3800c0147021714d55f5200045938eb6080604052600436106102a45760003560e01c80638da5cb5b1161016e578063ccf3dc82116100cb578063ecb96fe61161007f578063f23a6e6111610064578063f23a6e6114610797578063f2fde38b146107c4578063fc525395146107e457600080fd5b8063ecb96fe614610746578063f0b9e5ba1461076c57600080fd5b8063ddb382f9116100b0578063ddb382f9146106cd578063e4dd4b8a146106f1578063e6041f9a1461072657600080fd5b8063ccf3dc821461068d578063d8579704146106ad57600080fd5b8063b7ce33a211610122578063bc197c8111610107578063bc197c8114610629578063bd38837b14610658578063c5cadd7f1461067857600080fd5b8063b7ce33a2146105e9578063b92779631461060957600080fd5b80639f2ba09b116101535780639f2ba09b1461058f578063a1b62797146105af578063b19337a4146105c957600080fd5b80638da5cb5b1461055e5780639a2b81151461057c57600080fd5b806326e2dca21161021c5780635eacc63a116101d0578063715018a6116101b5578063715018a61461050957806381ea4ea61461051e57806383206e801461053e57600080fd5b80635eacc63a146104d65780636335f25e146104e957600080fd5b8063452a932011610201578063452a932014610476578063565528d7146104965780635d799f87146104b657600080fd5b806326e2dca2146104365780633a5750b61461045657600080fd5b806311f8541711610273578063180cb47f11610258578063180cb47f146103a4578063186b100c146103e45780631bd78748146103f757600080fd5b806311f8541714610340578063150b7a021461035f57600080fd5b806301ffc9a7146102b057806304824e70146102f657806309ba153d146103185780630a9254e41461032b57600080fd5b366102ab57005b600080fd5b3480156102bc57600080fd5b506102e16102cb3660046128b4565b6001600160e01b0319166301ffc9a760e01b1490565b60405190151581526020015b60405180910390f35b34801561030257600080fd5b506103166103113660046128fa565b610804565b005b610316610326366004612d22565b61085e565b34801561033757600080fd5b506103166109d7565b34801561034c57600080fd5b506006546102e190610100900460ff1681565b34801561036b57600080fd5b5061038b61037a366004612e18565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102ed565b3480156103b057600080fd5b506103cc73cd0313fd7cca5648d2948c42c320ba50cd0e6cb681565b6040516001600160a01b0390911681526020016102ed565b6103166103f23660046130df565b610b9c565b34801561040357600080fd5b506104176104123660046131e8565b610c6e565b604080516001600160a01b0390931683529015156020830152016102ed565b34801561044257600080fd5b50610316610451366004613246565b610ca3565b34801561046257600080fd5b506103166104713660046131e8565b610da2565b34801561048257600080fd5b506002546103cc906001600160a01b031681565b3480156104a257600080fd5b506103166104b13660046132bc565b610e6f565b3480156104c257600080fd5b506103166104d13660046132fe565b610f39565b6103166104e4366004613337565b611084565b3480156104f557600080fd5b506004546103cc906001600160a01b031681565b34801561051557600080fd5b506103166111ad565b34801561052a57600080fd5b506103166105393660046128fa565b611201565b34801561054a57600080fd5b50610316610559366004613426565b6112cb565b34801561056a57600080fd5b506000546001600160a01b03166103cc565b61031661058a366004613443565b611326565b34801561059b57600080fd5b506103166105aa366004613480565b61138b565b3480156105bb57600080fd5b506006546102e19060ff1681565b3480156105d557600080fd5b506103166105e43660046128fa565b611446565b3480156105f557600080fd5b506103166106043660046134c1565b6114b0565b34801561061557600080fd5b506103166106243660046131e8565b6115e0565b34801561063557600080fd5b5061038b610644366004613556565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506003546103cc906001600160a01b031681565b34801561068457600080fd5b5061031661162d565b34801561069957600080fd5b506103166106a8366004613615565b61165a565b3480156106b957600080fd5b506103166106c83660046128fa565b6116ff565b3480156106d957600080fd5b506106e360055481565b6040519081526020016102ed565b3480156106fd57600080fd5b5061071161070c3660046131e8565b611787565b604080519283529015156020830152016102ed565b34801561073257600080fd5b50610316610741366004613426565b6117b8565b34801561075257600080fd5b506006546103cc906201000090046001600160a01b031681565b34801561077857600080fd5b5061038b610787366004613643565b63785cf2dd60e11b949350505050565b3480156107a357600080fd5b5061038b6107b236600461369f565b63f23a6e6160e01b9695505050505050565b3480156107d057600080fd5b506103166107df3660046128fa565b61181a565b3480156107f057600080fd5b506103166107ff3660046128fa565b6118e7565b6000546001600160a01b031633146108515760405162461bcd60e51b815260206004820181905260248201526000805160206138bf83398151915260448201526064015b60405180910390fd5b61085b8147611951565b50565b60015460011461089d5760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b6044820152606401610848565b600260015560005b8451518110156109b15784518051829081106108c3576108c361371b565b60200260200101516001600160a01b03166323b872dd3330886020015185815181106108f1576108f161371b565b60209081029190910101516040516001600160a01b03938416602482015292909116604483015260648201526084016040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516109599190613731565b6000604051808303816000865af19150503d8060008114610996576040519150601f19603f3d011682016040523d82523d6000602084013e61099b565b606091505b50505080806109a99061376c565b9150506108a5565b506109bb826119bb565b6109c483611a68565b6109cd81611d93565b5050600180555050565b6000546001600160a01b03163314610a1f5760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b73b7f7f6c52f2e2fdb1963eab30438024864c313f66001600160a01b031663ddd81f826040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610a6e57600080fd5b505af1158015610a82573d6000803e3d6000fd5b5050604051631538f65960e31b815230600482015273b7f7f6c52f2e2fdb1963eab30438024864c313f6925063a9c7b2c89150602401602060405180830381865afa158015610ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af99190613793565b600480546001600160a01b0319166001600160a01b039290921691909117815560405163a22cb46560e01b815273c3f733ca98e0dad0386979eb96fb1722a1a05e699181019190915260016024820152737c40c393dc0f283f318791d746d894ddd36935729063a22cb46590604401600060405180830381600087803b158015610b8257600080fd5b505af1158015610b96573d6000803e3d6000fd5b50505050565b60065460ff16610bee5760405162461bcd60e51b815260206004820152601260248201527f747261646573206e6f7420616c6c6f77656400000000000000000000000000006044820152606401610848565b600154600114610c2d5760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b6044820152606401610848565b6002600155610c3b81611f9a565b610c46878787612082565b610c4f846119bb565b610c5883611a68565b610c6182611d93565b5050600180555050505050565b60078181548110610c7e57600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900460ff1682565b6000546001600160a01b03163314610ceb5760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b60005b82811015610d9b57846001600160a01b03166323b872dd3084878786818110610d1957610d1961371b565b6040516001600160e01b031960e088901b1681526001600160a01b03958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b158015610d7057600080fd5b505af1158015610d84573d6000803e3d6000fd5b505050508080610d939061376c565b915050610cee565b5050505050565b6000546001600160a01b03163314610dea5760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b6040805180820190915290815260016020820181815260088054928301815560005291517ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee360029092029182015590517ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee4909101805460ff1916911515919091179055565b6000546001600160a01b03163314610eb75760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b6040518060400160405280836001600160a01b0316815260200182151581525060078481548110610eea57610eea61371b565b600091825260209182902083519101805493909201511515600160a01b0274ffffffffffffffffffffffffffffffffffffffffff199093166001600160a01b0390911617919091179055505050565b6000546001600160a01b03163314610f815760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b6040516370a0823160e01b81523060048201526001600160a01b0383169063a9059cbb90839083906370a0823190602401602060405180830381865afa158015610fcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff391906137b0565b6040516001600160a01b03909216602483015260448201526064016040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516110479190613731565b6000604051808303816000865af19150503d8060008114610d9b576040519150601f19603f3d011682016040523d82523d6000602084013e610d9b565b6001546001146110c35760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b6044820152606401610848565b600260015560005b815181101561119357737be8076f4ea4a4ad08075c2508e481d6c946d12b6001600160a01b03168282815181106111045761110461371b565b6020026020010151600001518383815181106111225761112261371b565b60200260200101516020015160405161113b9190613731565b60006040518083038185875af1925050503d8060008114611178576040519150601f19603f3d011682016040523d82523d6000602084013e61117d565b606091505b505050808061118b9061376c565b9150506110cb565b5047156111a65760008060008047335af1505b5060018055565b6000546001600160a01b031633146111f55760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b6111ff6000612481565b565b6000546001600160a01b031633146112495760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b604080518082019091526001600160a01b03918216815260016020820181815260078054928301815560005291517fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688909101805492511515600160a01b0274ffffffffffffffffffffffffffffffffffffffffff199093169190931617179055565b6000546001600160a01b031633146113135760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b6006805460ff1916911515919091179055565b6001546001146113655760405162461bcd60e51b815260206004820152600a6024820152695245454e5452414e435960b01b6044820152606401610848565b600260015561137381611a68565b47156111a65760008060008047335af1505060018055565b6000546001600160a01b031633146113d35760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b60405163095ea7b360e01b81526001600160a01b0383811660048301526024820183905284169063095ea7b3906044016020604051808303816000875af1158015611422573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9691906137c9565b6000546001600160a01b0316331461148e5760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146114f85760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b60005b848110156115d757866001600160a01b031663f242432a30848989868181106115265761152661371b565b9050602002013588888781811061153f5761153f61371b565b6040516001600160e01b031960e089901b1681526001600160a01b03968716600482015295909416602486015250604484019190915260209091020135606482015260a06084820152600060a482015260c401600060405180830381600087803b1580156115ac57600080fd5b505af11580156115c0573d6000803e3d6000fd5b5050505080806115cf9061376c565b9150506114fb565b50505050505050565b6000546001600160a01b031633146116285760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b600555565b6002546001600160a01b0316336001600160a01b03161461164d57600080fd5b6006805461ffff19169055565b6000546001600160a01b031633146116a25760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b6040518060400160405280838152602001821515815250600884815481106116cc576116cc61371b565b60009182526020918290208351600292909202019081559101516001909101805460ff1916911515919091179055505050565b6000546001600160a01b031633146117475760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b600680546001600160a01b0390921662010000027fffffffffffffffffffff0000000000000000000000000000000000000000ffff909216919091179055565b6008818154811061179757600080fd5b60009182526020909120600290910201805460019091015490915060ff1682565b6000546001600160a01b031633146118005760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b600680549115156101000261ff0019909216919091179055565b6000546001600160a01b031633146118625760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b6001600160a01b0381166118de5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610848565b61085b81612481565b6000546001600160a01b0316331461192f5760405162461bcd60e51b815260206004820181905260248201526000805160206138bf8339815191526044820152606401610848565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600080600080600085875af19050806119b65760405162461bcd60e51b815260206004820152602160248201527f5f7472616e736665724574683a20457468207472616e73666572206661696c656044820152601960fa1b6064820152608401610848565b505050565b60005b8151811015611a645760035482516000916001600160a01b0316908490849081106119eb576119eb61371b565b602002602001015160000151604051611a049190613731565b600060405180830381855af49150503d8060008114611a3f576040519150601f19603f3d011682016040523d82523d6000602084013e611a44565b606091505b50509050611a51816124d1565b5080611a5c8161376c565b9150506119be565b5050565b60005b8151811015611a64576000806000600660029054906101000a90046001600160a01b03166001600160a01b031663b1283e77868681518110611aaf57611aaf61371b565b6020026020010151600001516040518263ffffffff1660e01b8152600401611ad991815260200190565b606060405180830381865afa158015611af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1a91906137e6565b92509250925080611b6d5760405162461bcd60e51b815260206004820152601760248201527f5f74726164653a20496e416374697665204d61726b65740000000000000000006044820152606401610848565b737be8076f4ea4a4ad08075c2508e481d6c946d12b6001600160a01b0384161480611bb45750737f268357a8c2552623316e2562d90e642bb538e56001600160a01b038416145b15611c5657826001600160a01b0316858581518110611bd557611bd561371b565b602002602001015160200151868681518110611bf357611bf361371b565b602002602001015160400151604051611c0c9190613731565b60006040518083038185875af1925050503d8060008114611c49576040519150601f19603f3d011682016040523d82523d6000602084013e611c4e565b606091505b505050611d7d565b600082611cf857836001600160a01b0316868681518110611c7957611c7961371b565b602002602001015160200151878781518110611c9757611c9761371b565b602002602001015160400151604051611cb09190613731565b60006040518083038185875af1925050503d8060008114611ced576040519150601f19603f3d011682016040523d82523d6000602084013e611cf2565b606091505b50611d6f565b836001600160a01b0316868681518110611d1457611d1461371b565b602002602001015160400151604051611d2d9190613731565b600060405180830381855af49150503d8060008114611d68576040519150601f19603f3d011682016040523d82523d6000602084013e611d6d565b606091505b505b509050611d7b816124d1565b505b5050508080611d8b9061376c565b915050611a6b565b4715611da55760008060008047335af1505b60005b8151811015611a64576000828281518110611dc557611dc561371b565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611e15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3991906137b0565b1115611f8857818181518110611e5157611e5161371b565b60200260200101516001600160a01b031663a9059cbb33848481518110611e7a57611e7a61371b565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611eca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eee91906137b0565b6040516001600160a01b03909216602483015260448201526064016040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051611f429190613731565b6000604051808303816000865af19150503d8060008114611f7f576040519150601f19603f3d011682016040523d82523d6000602084013e611f84565b606091505b5050505b80611f928161376c565b915050611da8565b60055460208201511015611ff05760405162461bcd60e51b815260206004820152601060248201527f496e73756666696369656e7420666565000000000000000000000000000000006044820152606401610848565b60208101511561085b578051600780546000929081106120125761201261371b565b6000918252602091829020604080518082019091529101546001600160a01b0381168252600160a01b900460ff161515918101829052915061207457611a6473cd0313fd7cca5648d2948c42c320ba50cd0e6cb68360015b6020020151611951565b8051611a649083600161206a565b60005b8351518110156121915783518051829081106120a3576120a361371b565b60200260200101516001600160a01b03166323b872dd3330876020015185815181106120d1576120d161371b565b60209081029190910101516040516001600160a01b03938416602482015292909116604483015260648201526084016040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516121399190613731565b6000604051808303816000865af19150503d8060008114612176576040519150601f19603f3d011682016040523d82523d6000602084013e61217b565b606091505b50505080806121899061376c565b915050612085565b5060005b82518110156123a0578281815181106121b0576121b061371b565b6020026020010151600001516001600160a01b031673b47e3cd837ddf8e4c57f05d70ab865de6e193bbb6001600160a01b03160361220f5761220a8382815181106121fd576121fd61371b565b60200260200101516124e0565b61238e565b8281815181106122215761222161371b565b6020026020010151600001516001600160a01b03167360cd862c9c687a9de49aecdc3a99b74a4fc54ab66001600160a01b03160361227b5761220a83828151811061226e5761226e61371b565b602002602001015161267f565b60005b8382815181106122905761229061371b565b6020026020010151604001515181101561238c578382815181106122b6576122b661371b565b6020026020010151600001516001600160a01b03166323b872dd6122d73390565b308786815181106122ea576122ea61371b565b60200260200101516040015185815181106123075761230761371b565b60209081029190910101516040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b15801561236157600080fd5b505af1158015612375573d6000803e3d6000fd5b5050505080806123849061376c565b91505061227e565b505b806123988161376c565b915050612195565b5060005b8151811015610b96578181815181106123bf576123bf61371b565b6020026020010151600001516001600160a01b0316632eb2c2d66123e03390565b308585815181106123f3576123f361371b565b6020026020010151602001518686815181106124115761241161371b565b6020026020010151604001516040518563ffffffff1660e01b815260040161243c9493929190613863565b600060405180830381600087803b15801561245657600080fd5b505af115801561246a573d6000803e3d6000fd5b5050505080806124799061376c565b9150506123a4565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8061085b573d6000803e3d6000fd5b60005b816040015151811015611a6457600082600001516001600160a01b031663581781688460400151848151811061251b5761251b61371b565b60200260200101516040518263ffffffff1660e01b815260040161254191815260200190565b602060405180830381865afa15801561255e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125829190613793565b90506001600160a01b03811633146125ea5760405162461bcd60e51b815260206004820152602560248201527f5f61636365707443727970746f50756e6b3a20696e76616c69642070756e6b2060448201526437bbb732b960d91b6064820152608401610848565b82600001516001600160a01b0316638264fe98846040015184815181106126135761261361371b565b60200260200101516040518263ffffffff1660e01b815260040161263991815260200190565b600060405180830381600087803b15801561265357600080fd5b505af1158015612667573d6000803e3d6000fd5b505050505080806126779061376c565b9150506124e3565b60005b816040015151811015611a645760006126b7836040015183815181106126aa576126aa61371b565b6020026020010151612845565b8351604051633894ca5760e01b81527fffffffffff000000000000000000000000000000000000000000000000000000831660048201529192506000916001600160a01b0390911690633894ca5790602401602060405180830381865afa158015612726573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274a9190613793565b90506001600160a01b03811633146127b25760405162461bcd60e51b815260206004820152602560248201527f5f6163636570744d6f6f6e4361743a20696e76616c6964206d6f6f6e6361742060448201526437bbb732b960d91b6064820152608401610848565b83516040516301be705160e41b81527fffffffffff000000000000000000000000000000000000000000000000000000841660048201526001600160a01b0390911690631be7051090602401600060405180830381600087803b15801561281857600080fd5b505af115801561282c573d6000803e3d6000fd5b505050505050808061283d9061376c565b915050612682565b6040805160208082528183019092526000918291906020820181803683375050506020810184815260405191925060059081830190600a8401905b81831015612898578051835260209283019201612880565b505060058352601f01601f191660405250602001519392505050565b6000602082840312156128c657600080fd5b81356001600160e01b0319811681146128de57600080fd5b9392505050565b6001600160a01b038116811461085b57600080fd5b60006020828403121561290c57600080fd5b81356128de816128e5565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561295057612950612917565b60405290565b6040516060810167ffffffffffffffff8111828210171561295057612950612917565b6040516020810167ffffffffffffffff8111828210171561295057612950612917565b604051601f8201601f1916810167ffffffffffffffff811182821017156129c5576129c5612917565b604052919050565b600067ffffffffffffffff8211156129e7576129e7612917565b5060051b60200190565b600082601f830112612a0257600080fd5b81356020612a17612a12836129cd565b61299c565b82815260059290921b84018101918181019086841115612a3657600080fd5b8286015b84811015612a5a578035612a4d816128e5565b8352918301918301612a3a565b509695505050505050565b600082601f830112612a7657600080fd5b81356020612a86612a12836129cd565b82815260059290921b84018101918181019086841115612aa557600080fd5b8286015b84811015612a5a5780358352918301918301612aa9565b600060408284031215612ad257600080fd5b612ada61292d565b9050813567ffffffffffffffff80821115612af457600080fd5b612b00858386016129f1565b83526020840135915080821115612b1657600080fd5b50612b2384828501612a65565b60208301525092915050565b600082601f830112612b4057600080fd5b813567ffffffffffffffff811115612b5a57612b5a612917565b612b6d601f8201601f191660200161299c565b818152846020838601011115612b8257600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112612bb057600080fd5b81356020612bc0612a12836129cd565b82815260059290921b84018101918181019086841115612bdf57600080fd5b8286015b84811015612a5a57803567ffffffffffffffff80821115612c045760008081fd5b908801906060828b03601f1901811315612c1e5760008081fd5b612c26612956565b838801358152604080850135828a0152918401359183831115612c495760008081fd5b612c578d8a85880101612b2f565b908201528652505050918301918301612be3565b600082601f830112612c7c57600080fd5b81356020612c8c612a12836129cd565b82815260059290921b84018101918181019086841115612cab57600080fd5b8286015b84811015612a5a57803567ffffffffffffffff80821115612cd05760008081fd5b90880190818a03601f1901861315612ce85760008081fd5b612cf0612979565b8683013582811115612d025760008081fd5b612d108c8983870101612b2f565b82525085525050918301918301612caf565b60008060008060808587031215612d3857600080fd5b843567ffffffffffffffff80821115612d5057600080fd5b612d5c88838901612ac0565b95506020870135915080821115612d7257600080fd5b612d7e88838901612b9f565b94506040870135915080821115612d9457600080fd5b612da088838901612c6b565b93506060870135915080821115612db657600080fd5b50612dc3878288016129f1565b91505092959194509250565b60008083601f840112612de157600080fd5b50813567ffffffffffffffff811115612df957600080fd5b602083019150836020828501011115612e1157600080fd5b9250929050565b600080600080600060808688031215612e3057600080fd5b8535612e3b816128e5565b94506020860135612e4b816128e5565b935060408601359250606086013567ffffffffffffffff811115612e6e57600080fd5b612e7a88828901612dcf565b969995985093965092949392505050565b600082601f830112612e9c57600080fd5b81356020612eac612a12836129cd565b82815260059290921b84018101918181019086841115612ecb57600080fd5b8286015b84811015612a5a57803567ffffffffffffffff80821115612ef05760008081fd5b908801906060828b03601f1901811315612f0a5760008081fd5b612f12612956565b87840135612f1f816128e5565b815260408481013584811115612f355760008081fd5b612f438e8b838901016129f1565b838b015250918401359183831115612f5b5760008081fd5b612f698d8a85880101612a65565b908201528652505050918301918301612ecf565b600082601f830112612f8e57600080fd5b81356020612f9e612a12836129cd565b82815260059290921b84018101918181019086841115612fbd57600080fd5b8286015b84811015612a5a57803567ffffffffffffffff80821115612fe25760008081fd5b908801906060828b03601f1901811315612ffc5760008081fd5b613004612956565b87840135613011816128e5565b8152604084810135848111156130275760008081fd5b6130358e8b83890101612a65565b838b01525091840135918383111561304d5760008081fd5b61305b8d8a85880101612a65565b908201528652505050918301918301612fc1565b600082601f83011261308057600080fd5b6040516040810181811067ffffffffffffffff821117156130a3576130a3612917565b80604052508060408401858111156130ba57600080fd5b845b818110156130d45780358352602092830192016130bc565b509195945050505050565b6000806000806000806000610100888a0312156130fb57600080fd5b873567ffffffffffffffff8082111561311357600080fd5b61311f8b838c01612ac0565b985060208a013591508082111561313557600080fd5b6131418b838c01612e8b565b975060408a013591508082111561315757600080fd5b6131638b838c01612f7d565b965060608a013591508082111561317957600080fd5b6131858b838c01612c6b565b955060808a013591508082111561319b57600080fd5b6131a78b838c01612b9f565b945060a08a01359150808211156131bd57600080fd5b506131ca8a828b016129f1565b9250506131da8960c08a0161306f565b905092959891949750929550565b6000602082840312156131fa57600080fd5b5035919050565b60008083601f84011261321357600080fd5b50813567ffffffffffffffff81111561322b57600080fd5b6020830191508360208260051b8501011115612e1157600080fd5b6000806000806060858703121561325c57600080fd5b8435613267816128e5565b9350602085013567ffffffffffffffff81111561328357600080fd5b61328f87828801613201565b90945092505060408501356132a3816128e5565b939692955090935050565b801515811461085b57600080fd5b6000806000606084860312156132d157600080fd5b8335925060208401356132e3816128e5565b915060408401356132f3816132ae565b809150509250925092565b6000806040838503121561331157600080fd5b823561331c816128e5565b9150602083013561332c816128e5565b809150509250929050565b6000602080838503121561334a57600080fd5b823567ffffffffffffffff8082111561336257600080fd5b818501915085601f83011261337657600080fd5b8135613384612a12826129cd565b81815260059190911b830184019084810190888311156133a357600080fd5b8585015b83811015613419578035858111156133bf5760008081fd5b86016040818c03601f19018113156133d75760008081fd5b6133df61292d565b828a013581529082013590878211156133f85760008081fd5b6134068d8b84860101612b2f565b818b0152855250509186019186016133a7565b5098975050505050505050565b60006020828403121561343857600080fd5b81356128de816132ae565b60006020828403121561345557600080fd5b813567ffffffffffffffff81111561346c57600080fd5b61347884828501612b9f565b949350505050565b60008060006060848603121561349557600080fd5b83356134a0816128e5565b925060208401356134b0816128e5565b929592945050506040919091013590565b600080600080600080608087890312156134da57600080fd5b86356134e5816128e5565b9550602087013567ffffffffffffffff8082111561350257600080fd5b61350e8a838b01613201565b9097509550604089013591508082111561352757600080fd5b5061353489828a01613201565b9094509250506060870135613548816128e5565b809150509295509295509295565b60008060008060008060008060a0898b03121561357257600080fd5b883561357d816128e5565b9750602089013561358d816128e5565b9650604089013567ffffffffffffffff808211156135aa57600080fd5b6135b68c838d01613201565b909850965060608b01359150808211156135cf57600080fd5b6135db8c838d01613201565b909650945060808b01359150808211156135f457600080fd5b506136018b828c01612dcf565b999c989b5096995094979396929594505050565b60008060006060848603121561362a57600080fd5b833592506020840135915060408401356132f3816132ae565b6000806000806060858703121561365957600080fd5b8435613664816128e5565b935060208501359250604085013567ffffffffffffffff81111561368757600080fd5b61369387828801612dcf565b95989497509550505050565b60008060008060008060a087890312156136b857600080fd5b86356136c3816128e5565b955060208701356136d3816128e5565b94506040870135935060608701359250608087013567ffffffffffffffff8111156136fd57600080fd5b61370989828a01612dcf565b979a9699509497509295939492505050565b634e487b7160e01b600052603260045260246000fd5b6000825160005b818110156137525760208186018101518583015201613738565b81811115613761576000828501525b509190910192915050565b60006001820161378c57634e487b7160e01b600052601160045260246000fd5b5060010190565b6000602082840312156137a557600080fd5b81516128de816128e5565b6000602082840312156137c257600080fd5b5051919050565b6000602082840312156137db57600080fd5b81516128de816132ae565b6000806000606084860312156137fb57600080fd5b8351613806816128e5565b6020850151909350613817816132ae565b60408501519092506132f3816132ae565b600081518084526020808501945080840160005b838110156138585781518752958201959082019060010161383c565b509495945050505050565b60006001600160a01b03808716835280861660208401525060a0604083015261388f60a0830185613828565b82810360608401526138a18185613828565b83810360809094019390935250506000815260200194935050505056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a164736f6c634300080d000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054fa9fb502534761dbddacf5b7e2aa84684815f1bb0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace054cd0313fd7cca5648d2948c42c320ba50cd0e6cb60058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604101005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b054e9cf0d3e77fdf08bb74da6400094a313064de58e00582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0563a574bac669f3b1cb54b92ccbaefbafd07054d9601010219981405581e039d03815ad28b8510534f96f811bd44a9993f51924485add90b576eb8b007011938eb03d43c0be8a58ddaceb6e63fa63f7d7644dc3cc4e08eb3a9840a5cb56f8456914605581e038e6b996e7b1841e96ab4e39aff2ddb192a991b1ca235392f675fa542e004010310107374bb8fc4f13ca569a526397ab765928dd8325f93043f4467abce2e59d4038837a5ad7b37eb9bb8c7b731964d855b7c14a8fe67765cffba4188991678975801410e0219f8be031d53540f5d1799eea6f4299f6ef382af40ca4d6c78faa8b1da2ece70ab3b4de703daa53db28b4f7df017bdcfef2dfd84cc3c163ad062d25eff1cb3a96c7e68ae7b03493044b883927b5d9d55f80b975a0c2ec171f92558c21a2ae376ca831741376c030d9d39d004404fd784b7e343cdb9aafae4e03240d9c44f572cf8706ec00a9756031593b4e0e0c0347534c3efb33cef24caa58f192d98a8ab1cc6865a54bcc3c4f603423f94ab34c7f9eac8562f75629080222c02bf706a1fcdfa0d26dbbb3c07815903d75b623193a5f82cd15e997db912daf046de873f08f23ad8c2971d5ae512ce0003035c88d4ee0ce3b54d0a193adc50eaaf7ba5deaae2121200c81a9dd9dcfb305a03fe4a583aca302bb80bce008d3383618edf21715e9927f1e73eff7caa7f055346039e9c5ef7d4e0463cf3e4246b48ab874af918b70f7b3bfd0709108585b3fb512b03ef0713acd2b0265e6bc1f61f3b32cb503ebcca2c08dc69c5cf8b902a901fa7570219ffff03dc482dd82989f2cbe79c8cf4d1387a50daa7b5f6ba410aa7eb3dcd8aabd1b5580325f5cbd036bf37f127bf247acb2b4ce0aece15f9475066192d5e6e4f6596295e0347bc565f70c7c0ea0b32318b993dd5b5ff5100b6d360667aae13cf7d9ec3fc2a0363bbb55bfa1dc79b598c7f478628fe62010ce37cb154d1059b7cbd3d335d177b03fefc1ff1f345ddddc4e96a68dec2f920cb038ceefc5b812d3d6602b647aa11a20354ef5eef47fecb1b6ac07a24f65fde9866e9add3037946922d140ffab6bcdc1a03f08c28627a4e635249c13bc2524513ae1b0cca2a383170cf9181d64de69ccd0403558b28878c176294d17be8883f4c8b0e93ffdae36e68c93b81a0313dfc5ae73f03bcfb05fac35c5afa3f8d24d0c81214e4112092a9580565f5cd60c77585d3312003fe149b259490ad717a208b608b53b0d42b2514076406d9b50fc5421620332d7b0219ffff03b6ff75bae337316ed9bc2039468b4263dd183f24e68c6c07c27d5c8748d6086003cde76b2ceb7229fa8c5543359e46fc3e89be7ebe6362fd2f9ce4c580e7b8307d030d54b474a4fc4fd991c5d7feddb73a427f19c51cb7a1bdd3f38863f89443915903cf68524095de2f47ea0a19969998fe4fe9fc3df5a95c539dc65d2e26c1958acb03ae4270a9404f2dc4de04923215cc5807f4c9479512f222842afb050c960003c103529792d1f96b9f0d36aa306be855ec801fcd4bafd1af61fe32d2fe2e9c7fa96b03798663ff2a1d4e9a142cf048c1d727dc419de6137f7965d402a6661d696a3dfa03b98f00b63a0eb81398f9d6b2de1617373f9fdeca84c7cce7c49a935579f1122c0341412579675bf53d73ad0fd5eea4bfe84faad0ba868a6c720180993e2277e9d5034e338b9b2d6cc36e336a38201ae1634eabc8a69f097b82e87d3014e10b5ccc2003156e96d3080c92ddefb092ec8a35921c8732af5942efa0ee17dc58d616a179700312df36a6dba24fc395829a9976e5e428550cbb661469cd43cfa954060921da9d0219ffff030ea17b4851b2946dda364b43bed74ffca773abde82593ab12a5b8c2f5af1a75803556516ec710b31310a2ed6ea7903b89de3aca0571588234b047f2ea46750520703268015f74b74fb1c29214871f674a182ff1d8ca9960c9e2171ad8ef020dbccb9035f8a4dced7c33e20171c23e5e115d710843927ddf64e0fa726520dfafe09c3260372fbef248e5b76a17760e5db7127e7a79bc53676091b933a13c5d8ec91cc58a503991d4407049c62ae4b130f9d44fdadb954e7e12715f4d796e1d678295f8f34560395834779277ddf8cf3edb4b9403f8130ce25c4424f9b7e4236c59f7dfc352aac03a3fb0963aaf99348c31d75660856464bd96be6739ce7ba18880a928d153c545703793068c043ceb9ed6ed976eac872b83fe1559e03ee04f5f05daccbfd9b10135f034ee7fd0b290ffd856ffd87a722272a737b89ba9be9e8cc9cc4f26808789c578b03ae5391d0b334432965206569e776d502a6f900168661135a9278eff50080b60d030ea74114c137e809cddc06651e7893dcc71e162ac55af6e4bc9b1102d3f6085003c35cd654dbd0904ad88f8d54ca37eccbee289e0bdf77c9df823d336a7aefd10603e5c3a6a4418121b7d3486b80dd3c73263399579388ccdcd7e6baf9b821777f3d03f279da5c8e847dfde05759190113a338040446994ab8e35a13737d9f701b9b5f034e3ec1cdc760e3b0cba12f79b4c3aeeafb0ad64a7d6f65466cfdab415a8b0e6a033799b0b8e3ad6c9a7062e0fc4a4088d52c349a4ca0f3e516fdbeb9fc03a09dfe0302f5f80af0c87cfb186110795c4458cfb0b94a4e1ad0a464b44fba4e15bd1b6e03928ff168acf8f9751955206f4476993912afa20d2f748b68a3199eaf9758dd5703ee743714942d5834f7d3442018e4dea4b9e4a1cc4fc436f1b948ca47ef81d31b03dc5262e9e36de25694ff0a4c80a8655d948c76b2495556c8264217d3396eae380312c11fa3bd678c4102be9b84dcf2f840eb5f0e8b8f5565a87d788b8d51b5bfbd03c0cb47bb2b8db3363c7029271b2eb485f13cc06d6d962d32f89cf8b0eafac8c003e3e53a9c66fc35f5a568d2d2f6c4d64dd2c3dcbab8f76bc38ce3097dad881742032ccfdefa9667ede016c07d2c7e39110cf862a4f530ef4143173fcb9686afe51c03f8527b11136679f100e86b64f550dd9358e1b1eee4d3d757f1dbc83331c76fec038bcaa3cb649da598dd928275d3fcbe7e0bcf9c701228a27f23c8b789ec98d62703620d0201b0e649188b558622a370a79980a6dd2892e16f6e7fe543133d539d4b03eca65ab3cf26f2c3bea55224e1b366f7d7b8205bbe4107b40bafbcf736e94f2e0327e063892110c5d174261bbff00d3264535db2a09da4591ad05f424e02c6c01503aa228d7fc91edd5d93b49b9a773633c86e9d3a09af9cf900961821118c02007803f66a313a0f15c3c5f1fc57f8a5c18ad5188acd7f28fe1d1f54f6511306e20dfb03cd925a840c87bc8f0ac8338e9edeb4559c3654285a30878320d5f981e71dd49703dbe575bb48de2dfe5fcc68a4971788cb3dc1bc68d74e66d54cc8ef3efc76d9cb036e503c78d47f03c260667f0603972f2900d0f64686d6ef9587359f0342fea2b603b4e5be75803eb6ddd6cd14999379f77e5cb847b5ef7739c36c1e46764ad2a84203eaf39235cfa3b2daa9ca40b5fc65fe2259f4fde1eb0457279c8983fab42491d40393d89430fafb305a18fa297bb8695068c70f100ace47f91be226550d63821aa705581e03a0fcd9dcac31a5013f84a7bcc9fab2af8854fecd3bbfdc0ae6522c0b300c0147439adc162758f005581e032c4c33614f5a783736347ada65eb52ad5815382325886bc87e1a620a000c0147031024bab11f3a05581e03b40ffd041b6584bc7cf5b3c16b2a18834fa6b2924155e3725472fc25700c01476b5955a3cdd3ce03d2b80c4077bb782d9e20a6108366e4a401dce9d01960fd87f6ee9bc03332aa3d039cffef9599f468257709b0dc557ae76be4c99129a87ebb444d4d4552f0558e8505581e03819e2c0e969bebbe1b3564c1455781d8a2443bc1aa697949ff72d812b007011bffffffffffffffff03247c3a8bc666e8b2ceaca38c0b7e000aa3f4e3c92a1399ff0b1597a394f25624030532a1bee9e99360f146cc29994599b53d82691243c6d63705f3c6dae89b5a7505581d02869f3c7d1ae08c579376df23322874a3b66606d1c87900b7e7a4746c040105581d020eb7eb916faa9a78b07662b6cdca92213be74dacf87c7f06499285580c044801adef9875287dd005581d02cf363f50c6167923464e246bda3a1f723b80185847220877aa031a080c03474097febb03421005581d0211040f98ea48200c814f572bbceffa11e024b3e058a3320a95abe4d00c18984808c1d59552063d430219141105581e030f1994635f6c99a6e02e6354f7b77429e2e448c050dc60f37fe30efe000c014704dd97e33436dd02191bd103dff99139ee5c9b2851f21d11c1cfdcbcc02a0806ce246b0a582f2f8c714ad799036097891b976facf1972e8a47ebcde2691d5264451170dffe1eaaf2c2be634c2103db3796d35cb042b9575083077c0eb70f2d3461ca567ba4572ebd6ccdd3d145c4032f39a47474fede0f36e15e1376c048f7a157774ee2c58e1dd09e748f2e7a000903f7f1945db230cdb196ffa3c9634f06f4c12b69e45dee5527014bbb9b312f401f0219ffff035f64d7b0513a089d0d18d785dae239cf56715bfad096da00d4fc44db670f1ec30219ffff036ce319e0bad269fe8f203220fdf9f5eac88725a5032acbf69a9a629284d5effb038f4a1377082cb7c3af8145a78e80143b5d61d8ff6e300c5c861e5055972b4d4903ad89b99528413004fed622921a5d8c0ad4d28cfca575f506f75aef9097a88f24032c6d86683b83c4f925c5c3ea4c15ce21c9b5f18b5830b0bfe1bbfde2930d8df80219ffff0363196f38639657f8beba069640283c30519c414fe7755ecc5ff53d16ea223f470219ffff0361e6af5353d3d3743df4c0695346a33576223e90f6033286b8f0f3fe6310e99a03c1b369e26a45ec54032d9a94a78e0b11b53ffa7ef7de71084dc970406899971d0313ed3602018cb20fe527a70a9f166a662a0f4540e546b169102fcea78a88113203ec7f13802361acfa6099434068d5f1efa0e200c2ec4638748fc7b020569e336003d69cd12c6e318cebea579a427bbf563bcd2a8c6b854d86c6b5b6e27d238f4fda03ac9654f67243a9e6436938a5313b5fb23667dee25b997625b0d173eeeaa459c9037fc1a2c3c5372a3799ff2c7508662dc7fc141ff9eceb0aff0fc9119a2f1ecf11037a73e9e5f7740c3ae0ee5943fe9944f4952c5c1456ad93f643d2c4a0e609d2cf03e6b3066da13fe7897c149e7df920a1f5d67cb1a88fd06c0fa94b3765e90a9cec0311d7513ed24897a34473d5766234c6e417340f0eeb53ec3209ba0412fad8df4d03a30c6b8c0761cf5a99fcd1592da32d18c43f040a64ff6cd090aa04c84f582c110358e31bbba4e9dd36e7fede79173b5a15e94a5a76a6bb64bd6740a96f5b8df0c803b0b71b011c54963b7768debf771d74330b5b082b652d6793d49fd96d25adb41203b1d0a559d544a37c0afaf46ae8efa41fb1ac2d8f7c84f2e3640cbd51ac5452820314ec27d0eb7a28d9bd2182edca978ea1168195c519a26ba42438ac501621ec85036d747c91c941cccb1974993e565018fb06d3ba16f2a01700d6fac8a33580602d035a8592ddb2a8f564e2f203612897b338a63e2c9342d299026aef905ba8af765b03512b37f7b5b007eceed9b0ce223cd967029ccf7d5c3ddae9f50d460fcc5695b303c4e7271b6ca6a86f704331dcb017e5366fde30a31edef674e9d107ffe5aeaa9c03817363e2098e6799205127a99a027a7ae3571b222dba42fce435d2dffa8bc92a03faaa57d28aa4b2db372700c4a0f6ac39c00211ce5b21e52b85c78c589d15ab6e05581e03f050d252aa0ec545f7ab41cea4f18cfa2b095f008aa82734ba6b9ec0100c0347451b029e6e0c20033ee5312908828ef4a8ad820e13bdf8e1c67b1a97a90f5f42304dfae0dd47e71005581e035ca46959087768a899989f1af9bd7f35ef607b711dc2b7c07033592f700401031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0339e6d1ed59de3552852dd6504d4be4a73ab53fe4131d2a11b39a4ff74007011bffffffffffffffff05581e03f3615cf008c36088750885f967c1b29856f789f48adf91656196a090900401030e4b10e60678691238382ccc561a1dad398599176a628a51e84b1a57e667d6580370a2490804f148a0d0fc8b8da42be213e020bb0d4da62ff1694a0c7ced7707e70300b6f2e0d1c6145a78317c864f99738e5c09f9db509a662cab50cef123dc83dc0395728a69792e25b94b0b131526d7b9755de844572df20e65d4eaed4043fac6740382472170b470e4ae3aa704d3db38519bea26740cbca0ea14bd1aadba2e9384e305581e03b90b788a6a7e5f8a456d95a2beed373d3a711f6afb181cba131b9e54100c044702ce3ee2cbd62c037a0822b834c55882ef78b3ce3accc7acf2ec37586cc797a5e7cbfc72efc464d903ff4500827af8ddc06fdd434c9ee90eb7cc71466f640f72a2419db45d41ad8a7a05581d023e46965f858d13416443bbcaaee2887c7c7ce643542e3a8538fe126f07011bffffffffffffffff05581d024de75415422fea542fc2a3ed66ea7892bd922ff6081fadebb14a5e600c19015e473e2d4de73a277e021906000219ef5d0336f04025b911aa30442984b66aa27e389ed06637081bdf49cdfb5cfa2f90ce1703e54ceb650fe162a4b53c8bd7d4b5ab56cb671facf166a8b0f5596a31f7a79b63034da94717f407e0a1cc491f06aff247286c0eeab2b6f32762c8b840b7d11943ed03f790279915dff9ace01068bac9657213bdd6f158706920e427821b4a4dcf970803172cee638d8173735302cf4a6da3aee752e83993f3ad1f7aae4e9b3655ec251c031bb421c735f7afe9571cae3f8846d1243da66b3c48fcd8924df3f9c586a2ad00030531faa0b414d263762edd1ec47a8a68917733230f4ce758468b87353fa4a8ee03d0a5e2fbccce2e41b4864fb703406fa2064f0d5048feaf8639cc32a8dc94dbba03c355a04fabb62fab3627a02d4df8e7800f1dcba5b7bce34727287f5633651d730219ffff032d542ce27069e07f4da50c0079eb99adaf9fce931a104928394f94577a68a56e031d95bad244522fd1c5c1263b61dd7bf63d62f42352184a4d586f1d6e9265cac803290211b9affbfe685160e41fd2f4cef9a13fd10fbf3b10e3284d1760c42d59e503015217ac1972b1d4fcd5af2341fc0dded869d0b871ebfb55368a58d5126ecb7503c6139c3b844b61c3382ca34f338c7e81d5176d9c22dde8c0a92b2129c3c104c0037cc7f0cf9ff2cc40820438ff76bb45cc3e562a0daa6a6615ad1f734807994a3403c4ca8638283a7402cef25f6412be045b543e720b73de22ee8b497fee9d03991c03bcb78b021123e8bad08962545664d509285e17fb988c9e2e5e7c790b0f147f6203f0a08b86e1c6c8a7d427626f7796ef90d3325315b204513d2c1b7cbc9aa388530398a2e0e1b1a93aa843759ad2d7b9c180a45040eff0ad56dc997a6db26a745cb6034ff0b85557722604b08d4ad012eacdd90c4e2f3025a5c18eae6abf7f404b2c1c03072bb89a4fde263820a37c17efca983a387bcf3707385d0bb9ac1413cdb9f3c10305bb31d6f43f6a6e4ad61ff033af36bf02a8b37b91dd29c105318b4d13e2127d03331f5a11d812ebdd2e84d8f66599cc1610aba81a5d1b8592218bac0bbeb68359039f9af457217de87b5c32593657a43ad5ce599afce9255054d1034d15bcff81b90219ffff03a003c317e2cd1440a53e61946e21fd2a4ee5fa872b7820d3aa7aaffc768b1a5403f9f07dfa40346387009356eb60170a140f2a14148c074a19e09d836f1f05e29e034c6a0877e138ce4382b98dc7ac98bedba620cfc336a0150301af3204834d223103c5b0b8bace7fa575af5d9dd29204cf42c12b462587275610dfc4df0dcab2f27f03eabfab1ed10b746c0402a47df9fe6b3bf97c2fb59d65edc61d5612ce746d20070219ffff03666630eec201b88fa488355247c347f1f2eb9bea02fb44f4b81331532a17688d035fd00c2d7a1024520e9c03b28b346c4281e6b47571d6346b1b7caedfeb8586cf03df08b7367fdbf37f242a47a4b706d40107ad5bf05fcfb51c74b22ff54434b5f303857157ffea90a4f08b3fc4b651130b76211cb1a11eb84c8f4e97db777401bd4703d5dbd73f014060de9e84ecd7ecf9ddb6488864c0507c93d2ab01cb6dbb314f70039c8580d9514d6f12319ba9f1be2959f74bef14105d11a215ad348e5c7d34929f0362275078ced5ac81eb707d5336fba1cc24721a68ec368edeaf61b790e519076d03fe065825325657ef9cac23467f835a2eaf2da973e48bf6c37e26c92fffcaebea03c71cc829c509b8e0ce5caee7b4901e1d2e238d7de961ebde9fda13c8925b2cc703f2d8671846a3896690607cbcd5cea19d64dbebf27da6fac854f8cbada5b94b650219ffff037a45fb604d0f6afd8c9e94dd95c1102158c95c8f9d4a05522e6db69923e60f2b0312c93461f1f57fc83188aefe647f4b0c0db2cca7a77bd572d615cada12d716d50380dc2e916eecfd8584fa89d084f4d034ee80acf40c1f6e14a741388c30e69f6d033c40dc36e7ba095c1153a1ab951ab86d58cee2c0ee7a0b5563cf73402d51bb2f03f2a991d7b1aebe49196c74779fd19a448fbc356120368254da893eb75c881793033fda1cbcd270414790aa8856a03523b709780ef540ab13d86ddcb9d4ef0f7e8303034b7d7b1b76a17681e71df05a7e169ed39b50a9383b7f7f64d66cb28a7b4e5a03070e46b66304c82e5d0525192245e31b2b7c794bffd01328d015521df4915fea03ec16cc9374bc72198970de2ed33da01d233b58fd409d8abe57a4d3accb1b207c03e9dc5c0233f58d41e3ce595b549d6abb373dd63029dd880e8b26b7a0d06b786203f014f8daf4eb176c53bf94d8198d98769146baefbd82a64fc73ace3d5807631403c3d130abcaaf8ccf68c6cc2285ebfe3a97e1b337aec094962b28becf92fc441e039891936e9ed43b32e90dcfcddbd0a67f04329365c62885e89b58481fcce809750384ad1d95fc89f54622af452214c65df49131f8d06e2495623e685aa43ff07a8e03268e7112e0b379a1b7eb00c3742699ffab55040fdb66bd3de4f770dfedc0261203fcb68719dce239c06c86a7c4ac8608d70a672ac2f1e36e3948fd0ba23c2df17a03ae975fc828587136e7b5efc716a300f4ed16bc11dcbd765c6aeba3c653bc88e20329d513314151e40dcbdaec238680ddc59b28cc27609ef0551caa9040ac5b7d7003d8eafcc62dc31e1ed2076eb460bbd15aee3f034ecb75143201541895366b149403ee16ada32f4ddeeedea2141ff97eeb055ec7c9cb3afe5b17f21e35cf32faf69d0374abef9d4e68fd61060733fd6eeca0be5a01e27e1cd028f7647b1e44a8da133103336912ad6c6e481283c46a6e527a051a545f419620985786cf405cb373fa92a603b9636f63791491650135d1cf0c3505c1c99a95e7261f4a28df9dbc245a95f4a903d95c99efca363a5bc5836c8900d3b0e8d063cef7b38c893a5dc462773eeaa1f10389f7cbeec55743e8501e621570764a27a4f0d9e910c9226010a401142e4853f003e5e96fa42da9a45658f9b4f121beaff6087de55ec3f0cde98821edaf25a31427039e697fd7224343bba005121472a685569c1f30b2a5923d9db474c57c187b4e52039ed9e289c04626507ebb87715e7cd56d4a7168d887a83d407519fb9840ff6e9c0310b2d8b519274c5f8c71a7b271b22d2e62091bd5928987de56538e2b1aba004903f5e31ee70db3856723133964f29d2c6ea2c5629f741fcfe7f1fc3029bc65cce603b0e6cbc9ab961ad4bb1299f359953d6e2d1615d967ea70479f82be0618b3c3c4034f2d01362ff8e0449baa020a037f49b6b62d994c364f190493cf746fa1128ec60343b39ff0e0dcb1bf4340a525fcf5335f1904f93f08334f88f8f93d3d745424cd03f85fee76c3b8f199af684c1d7eb6514e3a5b3ce351accdbd1a8e47122a05f74b03ec290d5c793a57b646a1dbba2c917ff8223afb8d421ebf07eb2f347e5da4a61505581e03fad8e4914a6c6d779d699e0df3ce61ea2519b29b0884fdddd4178697d0040105581e03b4534b5125930bba52386e79ebcacc6796760a806d77dc1df72d3b46000c024629beed31f80005581e03c25d2098dbf1e2e143be91cde0dd6883b93c7d9858e0971528d3928990040105581e03f22efa8224fd9ee57fc7f45ef63505a8a3d8cd781f4f13a740df6158a00c0145e8d4a5100005581e0371dba93da2c09048769554d7fb5e1f0d4464ec1b4edf0c85db1b339ee0040105581e03152190494a284c00ad4c1cc2609566e226dc1ae953848fa735c3b1b560040203012f3423f273e2b6a1f2fd3f1fa8038849abb71c9312ccb6eb50cdda2e8e564905581e03ea74af7a5e51248d1da3ffb7493f6bd6448dc9fe51d35e2d0136a8b070040105581e03e3014cb2d5ee49eb3065e1ae271ebfd7721dee54a157577e13d067f0c00c19a74a48180f8da7b113b9bc02197f07032242f27312b7b5a58e4ddcb20ac0510cf4d8f86e47c9e6a86805bf34f43dd4dd036de8f3efb90cbec0d6135e3b5d2758b68193e6219a4b1bc998d23ee458a1acfc0367ce456848d8e08ad5e08f04f1292bf5aee90ac373ab1095053796edb860f469030a14ea9b5144536f21316ea66ccfad8de31cdf94c6cf971371fe1727ec31e9b4030f91c7e44a489b43fe4d2ef0319c1c37fbcd650c4a9b2295033b955f8cfa9af703736b4b5957a9bc52a6741cc996e4dc55d31746e0d8e8d4922d4e34cbd0135ab103bc24e93dfbe0fda705d995cbdf4791f288f4bd1ce9e9b85da755cd1a144031f00219ffff0318bfb57f516b0da9117de6f07690c0dc8c37af2713e01b5668430d6defc0bdec03f95cb33ae8e20516f2764c5badb74b8c400dc7bac7888cc14f22706a4729faa90324fe7ff0f5cfa580ebd8e1e39a0c3b3302d88dce18f5505a962db8e543b72524036c4322cc7d2b827cb22cf717bf2d0344bdb5156100146438926302a71a76bc26035c10776c2edc224c5ad4000126d1618d7c83ef2d0c8002912f2444b2575003c20324e894348c06f49be4c151f020aac1de2e84607a2c8072aaaf7e0637211db7f20219ffff0219ffff03b436ea38034bba10387065172ce751abd9dd448ac20eeaae7afbad66cab9a58a033c74418d2003f55552577991d795a68aa98cd03cc40c5d867303f3057432f9f003e6dc3473b120980746ce6f193a8a54bb2f7200f6bb7c8af42d64fa8b177e4ce80387bbbf42344d61fe2d4369cf6b63e3afb5c0825d3b2639f2e41c538c238445e0035a1217a93630f4cb871cd6bf9bc7f88b07f3ce61f27bffe1392dfc84c4a5980b03d15d3b1beba6da5863cf4360ca2fe4e9d1d76a89f3b905bf0efd724b97eec12503356b273de0392b191229f73f090db393bb6b178d24cf50e7186bac28c974fd9103eebec8f3f79a066f47e4aaa180293766670bd9c106567a7a17e1241129918e3403e0eb0555bb2b2c157c9b417a73184f7c1f30e415afa2c6980fa7fdbf31c3e2e703bb11ed8403f82422d2526c8db534092ac8c8379d9229f433a18070fbff978bf8035e8bf1485897578fad762c1b87761bac2022d2e9f07856794f88f982e318303a03d71366661b00cf8c13225d786fcab8d7f2a2edfca8c06bd4771a71e44dbda302031609852d61be3d808882bb26b5f9f422feadc1c26f67137ca154e6cb4affff570302100fc3a774103194a8abff51e4f6adaa6925fdef988ec32f58d6eb9daa008f03c76fc0dbacaad26d4aef5bc38365ba17d92733b7e031ed097aefe345f69c245d03498fc5c7e05a5e15e855fa5b1bcfbe9a89f4d1dc5cd1a43116bf583de35845a603340febcc364425ef19302c73ee8c8b7f791722d5fb06e5e9157b9f0eb2256e4b033f389f005fc9ad3a372a61f8484a58772f14360b342575a50fd4623b4de2391903c02ffc7cc2da00c5b10138fe505bf757c95251409ed9bbae65257aa6393745fd03d8fb7722e241a79cd54cc7923baf509eb1d176325134085fb87851aaf0a5340503601bf162a5aded4c8eb522dc50d1b56dee23b129039a36971770f87e018a694403f56776f4b5ad5b7f6a47cc531371032ebb669606d89f93717527d191baedbfcb033d82799a3d215b0f1115af49bedbcc2db032b2892a52c2685120510d7249b60c0309ddfe55e8ce8a28accb81e46b0c274f3ca5bbd077c22986836114efb6f37b5a031f8f2ffe255284657af3b5196ba7bae1d74bbb82ac98f120ac01d2b5e8af926a035a0a46403ca2277458bbd53969aca727cb5ee31f8fcc2f0b81cb747b81a5784d0385892f5046863db56f3eccdb483a9e57225cbe83238465e2d85392360244c69e038051195e2c114fe4ff3a14042772edc17d07453287efc474f0401091760596eb03fe453b37dbbfb8755ec21debf8d6d0efe58819ed6981887f1b0db1008eb43e1103080bfbd872f66deba448a190863d6364b5dd8e91c77c0e57640e6c8dcbd1f2dc0367578c8df0d2e5d0a77ee9c23fd616dbbe69d5aa826949c8b45e69957b9c0447030bf071acf0f5422656bcec3162fdd2fab40b2e628051589e397c67484669dfce033e689fcd208e95be0b9fcde64a031578dd4f715d5de929957a26a6a1e53db300034297677f68f61bedcc0a97fe28bbe1a1ae3a44868d9a93e5a6c49d296331b35803a41fbb49e0908869c880625885ad4e86611fb74402df9164955ef31ad639c46c03c3d6134906a00691b83b54e3b9fa9c4f864b61793633d52f55d27d697359167703edb6cc0875199aefb8ad2220e448bf2a8780c43618844f626e85a8f9517681b2039011df6b6882128d32190c29990e5d5db6ab0ec625ab5fff64df8d1857ba434403852d061f7696dee462f11feadb3129f7c85a52c2354ba0fbdd48678bada82dc40335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03556ac72f3460b7b3a55b1274de7f80864b31503e6e3e1f3b704700203007011bffffffffffffffff05581e03eb1bb62c973927e318572d23cae7cd0cedf44597dba034642df1e3bde0040205581e03c0528528f74c064c1500d9b903f59ffb77baa5b156c136e2043ca9d770040305581e0350b845033fcd5b0fbc3b4010a1f87098c999d1f9d6fa5e71a32a44a9600c01460746a528800003e86526196f4fa1440501da66ec8c6a53b4a626a05d2affd3a8f182e4065483ad0381cfa87b0c714362f379a9fc0ddcec445988ee2f595e7270f24296db97cefc9105581d02c661814d51f7e6d66fe5fec90282991e38271a041af011e595ccb834040305581d02b0a401b5f75b3963fd16fc702bc81f55e39d89f5cddd92ff1d5eec630c0e47063141d2b6cdbb021941000219e2e10349bd15b2874161e63f99b1d1c3efdaac98c068dbe4ce8b9637144c7ee0d2a02a034bc521880e546e5fe90d531d41d20e9b9bbcc6cf9569bbeb352a33c2f406870203ab01b929a8d01ababce6d3115326640f46886a19103570cce1d8285f89173e9c038f530599c0c1485326bcdeff2c66bd774eedcced56f4c42dea7f53372bbdaef803be6ade22f39643a299ceab1977850de1c09f4a27798de86416df0cd3b8f86dc503344e504aea3be71854399e3ea3b08bf3a3051f4419f4ff6362b113bf2a0571550219ffff039d772fc9a750577383744c4f44dc4a26b18ad83177f19c343133cd833f6657fa037f5055e2cfe63b100a8efd1e06ad20b88df7a60f61a0530cc938eae9d9bffb4e033d6bfd1511e312ea8dc7fd7bf63393a7d679d4b97c9188e3d961a55fad7ed5ea0219ffff03810e34f918a4274ff8a07d502654d7dfb8702b81339c2f1c275993eba4f360360385068e9da7fe0af9aba9589b04c05596b459f1f6533da89fc7f8c9378be366e50363dcb9268975eb280e96c686f033821ece8c97a5e76867b45472a35dde636e5f0376a8bb4867d728f469189941e6ab302b038ebf2210632a41ad7cf9c1a3ec0921038aee18f13a6dd5b4532de5d624fafc1864b4f5e9cd4d5d3161acbccd9162d39d0219ffff03e8768b70802abe177518e813635e1298044459f67188d2c9cfbd187297f1b0c903aa305c2e07aa687b1f1f7c126b199f9f91356cda34f9a63dae58987ca1863dfd03ead81ba4d865f823b848053ddcb69edff153400b69dd4976ab15d0c6080e8f1e038328fc197ed82b802957980e2e307a073d4461317b6109435b6d52c0eaeaeb0b03a2b5f83b9fa401836ac0b814e61d8b458facdf799072b8fd79a26d4fe7744a210219ffff039707f03c56818da080eb3faaa395f9b4137f6923db4a996cce2bab36b56117e9033179bfd74c0e7248f09572782e40769dfe68a807a35980895d1a3a18716c4f050374c056be1d954ee6bac10efa911a5e4bae87958cabbd0064f3d01c513a180c9b036f519be5bf68ad1be69ee20ddcee72dc058a5aeecd1352831729c3a3045efd330327060709928de988d1d4ebe3d29692b466f0ef120078edbce7990d7dae3bbee503b090645ea830b46a237462a45cc4d3e6e9c39d5024075fe85a5c98a06be2202f03b4ed8fe1b2b3286ea55c48664e0d1bbe6c438a3adc454b96ec1e1d278789a19e03f985aaf0e9378bd1448a418512b1f877d2852bbc75e71acd188eeb7ff9292b0803d63595402808d17135833018164266c53319266c945b53d20e7b3766424974b3038c1c7cfce1bdce26547750a88de0d1ae2f4a19fab1e924cbaf62033670d742cb03780b1a5b64d632c04af26bea59b69fe9e14770c9d54986dd4eeaa7bd790dc6a103eeca891f953c778586184f75b4ed227afbc87517d2cfac620b90d3b7d6815abf036e2d0bf8dc6e674c0591c720eb9f2f38f77fa3a356bc0df6c8616dbe91eafb87032f954665c63fa1f176e9761e51070de59bf20347f5f5cf30665d3921ea50e45503c6035d07493d2c76485c6ddbe0167e4bb82b90270a4305ce2a5085ef9c1ef88e03ec781d7a2f1f305c5b21e32fdd5016e42aa4b361855cf803416f5aae057e975f03909646b313b078a40086a6414a4c3cd9b4594d3544d160df9572f8c580c8f70c03755ceac27a6c81ee7b10f41cfe33ffd31b6bc34cba389f6df23e5569fbb90c1403ec5e98e14dfbc90eb46fd51562e6b148ac5ded713c0a94f730e5787d54f252950326a8b434661dd7f751a0106d730678ce3805fa572295336eb8ae3c0f952eeb050317b4c10d2ba669947a31a3deb5c328775561fa60515495d3b12f04788fb483a703faf9d803ab56773756298c25904854f89a5ba23851798b8536f50ecedd04587303ec3e90542f1b2073ac50ad0a0416650c44ed8a597291670fbcb9242ed21c6d99033411ffbdb84e6d4e59f2a7df103f50408914066c73f3f6f53632c27635eca204035e1482193dcc977cf58e7108ce2b32587dc42ea8ec379fe7172ec7f74da5442403622483e9dfe82dfc1d4a81adb651ec6deaa031dba8ad452643fd6ddc4b369fdf03776d40cebe5359b85f62f9170889a8aa9a516ef5342b8d6323f0420b40483d0003900ee424e0ffba5f1f83ef94b59592b63fc7393635d57de49b81a3c64d5896440384545919f1d8aa7dd6f919584d3c8cb85ff96b43ce464d71ce1d998340a226fa05581e039e91f3985aa9356f17b1269ffbea7276bc875c1f87632a88b1df07ee300c0147277af8187b7cfc05581e03df83fcf7887910a3fa90b9b14c8650855296c438aca012151c87b173f0040105581e03f1b426288cac2eb41e81d7068c9b47936f232505ab58f39977656f365008480320db8cffada80005581e0315bae696893ace6979b9463b8af411e9e7ee73c6e6a773ccaa74ba26d00c18224758e3312d5514d803702d223c6e51ac63ff8ad1620c65e768a79f24c12c9e82a52b20776e7ca189f205581e03c7bd9bef4670c155a21164dbbf8528317624038383c62aaadf8687efe00c014609184e72a000031271f1a3c827e8250ce21f4c5501d4b57e4c30e3a914445a92447b9aed8a04a705581d025a3c668361a652c79f070961fac3e9dd7eed911a6d6eca2b37de71a704020459462660a0604081815260049081361015610022575b505050361561002057600080fd5b005b600092833560e01c90816301ffc9a71461093d57508063150b7a02146108af57806324856bc3146107e85780633593564c146106b1578063709a1cc21461044f578063bc197c811461038a578063f23a6e61146102f95763fa461e330361001257346102f55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f557813590602435926044359067ffffffffffffffff918281116102f1576100db9036908301610a97565b919092878613908115806102e7575b6102bf5783850186868203126102bb5785359182116102bb5761010e9186016136d0565b5060208401359373ffffffffffffffffffffffffffffffffffffffff938486168096036102bb5761013e9161415a565b959097602b89106102935786359260178460601c98019561016d62ffffff883560601c9660481c16868b614365565b3391160361026b571561026157508186105b15610197575050505061019493503391613ac2565b80f35b9395945091929091906042871061021b5750505083601711610217577f8000000000000000000000000000000000000000000000000000000000000000821015610217577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe961021194019161020c33916141b5565b6141e2565b50505080f35b8480fd5b91969550929391508454841161023957506101949394503391613ac2565b8590517f739dbe52000000000000000000000000000000000000000000000000000000008152fd5b965085821061017f565b8483517f32b13d91000000000000000000000000000000000000000000000000000000008152fd5b8382517f3b99b53d000000000000000000000000000000000000000000000000000000008152fd5b8980fd5b8286517f316cf0eb000000000000000000000000000000000000000000000000000000008152fd5b50888813156100ea565b8680fd5b8280fd5b5082346103875760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261038757610332610a2b565b5061033b610a53565b506084359067ffffffffffffffff8211610387575060209261035f91369101610a97565b5050517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b80fd5b5082346103875760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610387576103c3610a2b565b506103cc610a53565b5067ffffffffffffffff9060443582811161044b576103ee9036908601610ac5565b505060643582811161044b576104079036908601610ac5565b5050608435918211610387575060209261042391369101610a97565b5050517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346102f557602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ad5783833567ffffffffffffffff811161044b576104a1829136908701610a97565b90818551928392833781018381520390827f0000000000000000000000000554f068365ed43dcc98dcd7fd7a8208a5638c725af16104dd613675565b50156106855780517f70a082310000000000000000000000000000000000000000000000000000000081523084820152907f000000000000000000000000f4d2888d29d722226fafa5d9b24f9164c092421e73ffffffffffffffffffffffffffffffffffffffff168383602481845afa92831561067b578693610646575b5081517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ea37093ce161f090e443f304e1bf3a8f14d7bb40169581019586526020860184905294849186918290899082906040015b03925af193841561063c577f1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c9461060f575b5051908152a180f35b61062e90843d8611610635575b61062681836135fa565b81019061388d565b5038610606565b503d61061c565b81513d87823e3d90fd5b9092508381813d8311610674575b61065e81836135fa565b810103126106705751916105d461055b565b8580fd5b503d610654565b82513d88823e3d90fd5b9050517f7d529919000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f55767ffffffffffffffff8235818111610217576106fb9036908501610a97565b91602435908111610670576107139036908601610ac5565b92909160443542116107c0573330146107b1576001958654958773ffffffffffffffffffffffffffffffffffffffff88160361078b5750509185949391610782937fffffffffffffffffffffffff00000000000000000000000000000000000000009586339116178755610b54565b81541617905580f35b517f6f5ffb7e000000000000000000000000000000000000000000000000000000008152fd5b90919293506101949450610b54565b8585517f5bf6f916000000000000000000000000000000000000000000000000000000008152fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f55767ffffffffffffffff8235818111610217576108319036908501610a97565b91602435908111610670576108499036908601610ac5565b9290913330146107b1576001958654958773ffffffffffffffffffffffffffffffffffffffff88160361078b5750509185949391610782937fffffffffffffffffffffffff00000000000000000000000000000000000000009586339116178755610b54565b5082346103875760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610387576108e8610a2b565b506108f1610a53565b506064359067ffffffffffffffff8211610387575060209261091591369101610a97565b5050517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b849084346102f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f557357fffffffff0000000000000000000000000000000000000000000000000000000081168091036102f557602092507f4e2312e0000000000000000000000000000000000000000000000000000000008114908115610a01575b81156109d7575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836109d0565b7f150b7a0200000000000000000000000000000000000000000000000000000000811491506109c9565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b9181601f84011215610a4e5782359167ffffffffffffffff8311610a4e5760208381860195010111610a4e57565b9181601f84011215610a4e5782359167ffffffffffffffff8311610a4e576020808501948460051b010111610a4e57565b919082519283825260005b848110610b405750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201610b01565b9192909260805282810361350d5791906000905b828210610b755750505050565b8382959394951015611b4c5760059282841b60805101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe19182608051360301821215610a4e578160805101359767ffffffffffffffff8911610a4e576020836080510101988036038a13610a4e57606097603f90818989013560f81c166001976020821060001461317157506010808210156127b4575060088082101561187e57508061109157505050610c2a908a614198565b92909860a08560805101013560001461108757610c6173ffffffffffffffffffffffffffffffffffffffff600154169b5b35613854565b9960408660805101013585829d927f80000000000000000000000000000000000000000000000000000000000000008314610fcf575b50959c95505b7f8000000000000000000000000000000000000000000000000000000000000000811015610a4e5760428610610fc85730915b86602b11610a4e578d91601783013560601c9083359462ffffff8660601c96610d1573ffffffffffffffffffffffffffffffffffffffff92839260481c16868a614365565b169084881015610fac57806401000276a4965b602b60405199604060208c01528160608c015260808b0137600060ab8a015216604088015260a0875260c087019587871067ffffffffffffffff881117610f7d576040948288958688527f128acb080000000000000000000000000000000000000000000000000000000087521660c48a0152868a1060e48a01526101048901521661012487015260a06101448701528160007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4088610deb610164820182610af6565b0301925af1928315610f71576000928394610f2f575b5050610e159310600014610f2857506141b5565b9a60428510610e5657309085601711610a4e5760177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe991019501949b610c9d565b50985098606091969597949392509160805101013511610efe575b1580610ed1575b610e8a57506001019291929092610b68565b90610ecd60409283519384937f2c4029e9000000000000000000000000000000000000000000000000000000008552600485015260248401526044830190610af6565b0390fd5b507f8000000000000000000000000000000000000000000000000000000000000000828501351615610e78565b60046040517f39d35496000000000000000000000000000000000000000000000000000000008152fd5b90506141b5565b91929093506040843d604011610f69575b81610f4d604093866135fa565b8101031261038757505160e092909201519190610e1538610e01565b3d9150610f40565b6040513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8073fffd8963efd1fc6a506488495d951d5263988d2596610d28565b8b91610cd0565b60149192501061105d576020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301523560601c5afa908115610f715760009161102b575b503880610c97565b906020823d602011611055575b81611045602093836135fa565b8101031261038757505138611023565b3d9150611038565b60046040517f3b99b53d000000000000000000000000000000000000000000000000000000008152fd5b610c61309b610c5b565b6001819d969d9b989794959a999b146000146111b7575050506040926110bf84836080510101359382614198565b608051840160a00135156111ab5760606110f273ffffffffffffffffffffffffffffffffffffffff600154169435613854565b946080510101356000557f8000000000000000000000000000000000000000000000000000000000000000851015610a4e576111319361020c866141b5565b9091901561119c5750611143906141b5565b0361117357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000555b610e71565b600490517fd4e0248e000000000000000000000000000000000000000000000000000000008152fd5b6111a691506141b5565b611143565b60606110f23094610c5b565b9194929391600281036112065750505061116e925073ffffffffffffffffffffffffffffffffffffffff600154166111ff604060608560805101013594608051010135613854565b91356139d0565b9193916003810361157857505060805181018084019390604090850312610a4e57823567ffffffffffffffff8111610a4e5782608051010192606084860312610a4e57604051946060860186811067ffffffffffffffff821117610f7d57604052602085013567ffffffffffffffff8111610a4e57850160208201809882011215610a4e5760208101359061129a826136a5565b926112a860405194856135fa565b8284526040602085019360071b830101918a8311610a4e57604001925b828410611513575050505085526112de60408501610a76565b956020860196875260606040870195013585526040846080510101359067ffffffffffffffff8211610a4e57602061131f92611325966080510101016136d0565b5061417b565b909173ffffffffffffffffffffffffffffffffffffffff600154169473ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3163b15610a4e5794929391906040519586947f2a2d80d100000000000000000000000000000000000000000000000000000000865260048601526060602486015260c48501935193606060648701528451809152602060e487019501906000905b80821061149a575050509461143e9285949273ffffffffffffffffffffffffffffffffffffffff600098511660848701525160a48601527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc858403016044860152613537565b03818373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3165af18015610f715761148b575b50610e71565b61149490613576565b38611485565b9197965091929394602060806001928a5173ffffffffffffffffffffffffffffffffffffffff815116825273ffffffffffffffffffffffffffffffffffffffff848201511684830152606065ffffffffffff918260408201511660408501520151166060820152019801920188969795949392916113d8565b608060208584030112610a4e5760206080916040516115318161358a565b61153a87610a76565b8152611547838801610a76565b83820152611557604088016136bd565b6040820152611568606088016136bd565b60608201528152019301926112c5565b600495509193508482036116e757505090916040606061159e8286608051010135613854565b608051909501013573ffffffffffffffffffffffffffffffffffffffff908116933516806116145750479283106115ee575050806115de575b5050610e71565b6115e7916144d1565b38806115d7565b517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b9391908051937f70a082310000000000000000000000000000000000000000000000000000000085523083860152602085602481895afa9485156116dc576000956116a8575b50841061168257505081611671575b505050610e71565b61167a9261453f565b388080611669565b517f675cae38000000000000000000000000000000000000000000000000000000008152fd5b90946020823d6020116116d4575b816116c3602093836135fa565b81010312610387575051933861165a565b3d91506116b6565b82513d6000823e3d90fd5b8103611714575061116e925061170d604060608460805101013593608051010135613854565b90356138a5565b9091906006810361184e57506080510160608101359060409061173990820135613854565b9282158015611843575b61181b573573ffffffffffffffffffffffffffffffffffffffff16938461177f57505061116e92506117786127109147613984565b04906144d1565b8151907f70a082310000000000000000000000000000000000000000000000000000000082523090820152602081602481885afa91821561181157506000916117dd575b506117d661116e94939261271092613984565b049161453f565b906020823d602011611809575b816117f7602093836135fa565b810103126103875750516117d66117c3565b3d91506117ea565b513d6000823e3d90fd5b8482517fdeaa01e6000000000000000000000000000000000000000000000000000000008152fd5b506127108311611743565b83602491604051917fd76a1e9e000000000000000000000000000000000000000000000000000000008352820152fd5b819d969d9b989794959a999b93929314600014611b85575050506040916118ad83836080510101359185614198565b92909460a082608051010135600014611b7b576118e373ffffffffffffffffffffffffffffffffffffffff600154169135613854565b908615611b4c576118f385613a94565b8760011015611b4c5761191561195d9161190f60208901613a94565b90613c34565b907f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b938481611b32575b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860193868511611b03576119b9946119be73ffffffffffffffffffffffffffffffffffffffff9687928a85613a84565b613a94565b16948651947f70a082310000000000000000000000000000000000000000000000000000000091828752841693600499858b89015260249460208987818d5afa988915611af857600099611ac3575b509160209695949391611a1f93613cad565b8751968793849283528a8301525afa928315611ab857600093611a83575b50906060611a519260805101013592613ab5565b10611a5d575050610e71565b517f849eaf98000000000000000000000000000000000000000000000000000000008152fd5b90926020823d602011611ab0575b81611a9e602093836135fa565b81010312610387575051916060611a3d565b3d9150611a91565b84513d6000823e3d90fd5b90986020823d602011611af0575b81611ade602093836135fa565b81010312610387575051976020611a0d565b3d9150611ad1565b8b513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b611b4492611b3f88613a94565b613ac2565b388084611965565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6118e33091610c5b565b919492939160098103611f66575050611b9e9082614198565b608051840160a0013515611f5c57611bcf73ffffffffffffffffffffffffffffffffffffffff600154169335613854565b92611bd9836136a5565b95611be760405197886135fa565b83875283901b820160208701368211610a4e5783905b828210611f44575050506000946002875110611f1a576040816080510101359680517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111611b035790815b611ca757505060805101606001358611611c7d578215611b4c5761116e9585611c7892611b3f85613a94565b613cad565b60046040517f8ab0bc16000000000000000000000000000000000000000000000000000000008152fd5b90977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff89019750888811611b035773ffffffffffffffffffffffffffffffffffffffff611cf7611d6d9984613a70565b5116611d2373ffffffffffffffffffffffffffffffffffffffff611d1b8c86613a70565b511682613c34565b819a917f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b90604051907f0902f1ac00000000000000000000000000000000000000000000000000000000825260608260048173ffffffffffffffffffffffffffffffffffffffff87165afa9a8b15610f7157600092839c611ed1575b5073ffffffffffffffffffffffffffffffffffffffff1603611eb7576dffffffffffffffffffffffffffff8091169916905b9880158015611eaf575b611e855782611e0f91613984565b916103e892838102938185041490151715611b0357611e2d91613ab5565b6103e590818102918183041490151715611b0357611e4a91613997565b60018101809111611b0357978015611b03577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019081611c4c565b60046040517f7b9c8916000000000000000000000000000000000000000000000000000000008152fd5b508115611e01565b6dffffffffffffffffffffffffffff998a16991690611df7565b611f0a919c5073ffffffffffffffffffffffffffffffffffffffff935060603d8111611f13575b611f0281836135fa565b810190613c77565b509b9092611dc5565b503d611ef8565b60046040517f20db8267000000000000000000000000000000000000000000000000000000008152fd5b60208091611f5184610a76565b815201910190611bfd565b611bcf3093610c5b565b92945091600a81036120cc5750608051830160e08101358101946020808701359450909291611f9991908703018461414d565b1161105d5773ffffffffffffffffffffffffffffffffffffffff93847f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31692856001541691843b15610a4e5760409587875198899687967f2b67b570000000000000000000000000000000000000000000000000000000008852600488015261202190610a76565b166024860152808883608051010161203890610a76565b16604486015265ffffffffffff808360805101606001612057906136bd565b166064870152826080510160800161206e906136bd565b166084860152816080510160a00161208590610a76565b1660a48501526080510160c0013560c484015261010060e48401526120b1916101048401918701613537565b03815a6000948591f1908115611811575061148b5750610e71565b600b8103612296575050506120eb604080926080510101359235613854565b91807f80000000000000000000000000000000000000000000000000000000000000008103612266575050475b8061212557505050610e71565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216803b15610a4e578351927fd0e30db0000000000000000000000000000000000000000000000000000000008452600493600081868187875af1801561225b5761224c575b5030908616036121b4575b5050611669565b6122139460006020948651978895869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611811575061222d575b808080806121ad565b6122459060203d6020116106355761062681836135fa565b5038612224565b61225590613576565b386121a2565b86513d6000823e3d90fd5b47101561211857600482517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b600c810361242657505050906122ac9035613854565b9073ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21660408051937f70a08231000000000000000000000000000000000000000000000000000000008552600430818701526024916020878481885afa968715611ab8576000976123f2575b506080510183013586106123cb578561234e575b50505050505050610e71565b833b15610a4e57600091869183855196879485937f2e1a7d4d0000000000000000000000000000000000000000000000000000000085528401525af190811561181157506123bc575b5030908316036123ac575b8080808080612342565b6123b5916144d1565b38806123a2565b6123c590613576565b38612397565b82517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b90966020823d60201161241e575b8161240d602093836135fa565b81010312610387575051958361232e565b3d9150612400565b600d8103612681575082608051010191602083019360208260805101850312610a4e573567ffffffffffffffff8111610a4e57849160805101019182011215610a4e57602081013590612478826136a5565b93604093612488855196876135fa565b838652602086019285849560071b820101928311610a4e578501925b82841061261f575050505073ffffffffffffffffffffffffffffffffffffffff90816001541684519060005b8281106125b357505050817f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31691823b15610a4e5783517f0d58b1db000000000000000000000000000000000000000000000000000000008152602060048201529451602486018190528592604484019290916000915b81831061256f57505050509181600081819503925af1908115611811575061148b5750610e71565b91938395506080602091846060600195975182815116845282868201511686850152828d820151168d85015201511660608201520195019301909187949392612547565b81856125bf838a613a70565b515116036125f6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b03576001016124d0565b600486517fe7002877000000000000000000000000000000000000000000000000000000008152fd5b608060208584030112610a4e576020608091875161263c8161358a565b61264587610a76565b8152612652838801610a76565b83820152612661898801610a76565b8982015261267160608801610a76565b60608201528152019301926124a4565b9294505050600e810361278357506040918251907f70a0823100000000000000000000000000000000000000000000000000000000825260208260248173ffffffffffffffffffffffffffffffffffffffff806004983516888301528886608051010135165afa918215611ab85760009261274e575b5060805101606001351180159290612710575050610e71565b517fa3281672000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b9038806115d7565b90916020823d60201161277b575b81612769602093836135fa565b810103126103875750519060606126f7565b3d915061275c565b602490604051907fd76a1e9e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9150915060189b95939897999692949b808310600014612d435750810361282a5750505060009250906127e883928261417b565b81604051928392833781018481520391357f00000000000000000000000000000000000000adc04c56bf30ac9d3c0aaf14dc5af1612824613675565b90610e71565b6011810361288157505050600092509061284583928261417b565b81604051928392833781018481520391357f0000000000000000000000000000000000e655fae4d56241588680f86e3b23775af1612824613675565b601281036128d857505050600092509061289c83928261417b565b81604051928392833781018481520391357f000000000000000000000000941a6d105802cccaa06de58a13a6f49ebdcd481c5af1612824613675565b919392509060138103612a3e575050909150357f000000000000000000000000b47e3cd837ddf8e4c57f05d70ab865de6e193bbb916040600080825160208101907f8264fe9800000000000000000000000000000000000000000000000000000000825260248781830152815261294e816135de565b5190606086608051010135885af192612965613675565b948415612a04578273ffffffffffffffffffffffffffffffffffffffff612993921694608051010135613854565b90833b15610a4e5782517f8b72a2ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301526024820152916000908390604490829084905af1908115611811575061148b5750610e71565b505091925050517fae9bdf0000000000000000000000000000000000000000000000000000000000602082015260048152612824816135c2565b60158103612b4f57505090604091828051917f6352211e0000000000000000000000000000000000000000000000000000000083526020836024816004976060816080510101358983015273ffffffffffffffffffffffffffffffffffffffff968791608051010135165afa928315612b4457600093612b05575b5081903516911614918215612acf575050610e71565b517f7dbe7e89000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b6020939193813d602011612b3c575b81612b21602093836135fa565b8101031261044b575190828216820361038757509181612ab9565b3d9150612b14565b85513d6000823e3d90fd5b60168103612c765750506040918251907efdd58e00000000000000000000000000000000000000000000000000000000825260208280612bc160049660608660805101013590358884016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b038173ffffffffffffffffffffffffffffffffffffffff8886608051010135165afa918215611ab857600092612c41575b5060809081510101351191821592612c0b575050610e71565b517f483a6929000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b90916020823d602011612c6e575b81612c5c602093836135fa565b81010312610387575051906080612bf2565b3d9150612c4f565b909290601714612c87575050610e71565b60409073ffffffffffffffffffffffffffffffffffffffff612caf8383608051010135613854565b93351692833b15610a4e5782517f42842e0e00000000000000000000000000000000000000000000000000000000815260805130600483015273ffffffffffffffffffffffffffffffffffffffff909216602482015291016060013560448201529160009083908183816064810103925af19081156118115750612d34575b806115d7565b612d3d90613576565b38612d2e565b9396938214159050612d7e5750505061282492507f00000000000000000000000074312363e45dcaba76c59ec49a7aa8a65a67eed391613717565b60198103612dd5575050506000925090612d9983928261417b565b81604051928392833781018481520391357f0000000000000000000000002b2e8cda09bba9660dca5cb6233787738ad683295af1612824613675565b601a8103612e2c575050506000925090612df083928261417b565b81604051928392833781018481520391357f000000000000000000000000a42f6cada809bcf417deefbdd69c5c5a909249c05af1612824613675565b601b8103612f53575050506000612e4481928461417b565b9390604094818651928392833781018481520391357f00000000000000000000000074312363e45dcaba76c59ec49a7aa8a65a67eed35af1918291612e87613675565b92612e95575b505090610e71565b73ffffffffffffffffffffffffffffffffffffffff608083815101013516612ec4606084608051010135613854565b90825190612ed1826135a6565b60008252803b15610a4e57612f2d94600080948651978895869485937ff242432a00000000000000000000000000000000000000000000000000000000855260a060c0836080510101359260805101013590306004870161380f565b03925af19081156118115750612f44575b80612e8d565b612f4d90613576565b38612f3e565b91949091601c8103612f8e5750505061282492507f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f91613717565b9193929091601d81036131175750506060816080510101359060409173ffffffffffffffffffffffffffffffffffffffff612fcf8484608051010135613854565b9435168351947efdd58e0000000000000000000000000000000000000000000000000000000086526004936020878061302e87308a84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b0381865afa96871561225b576000976130e2575b50608090815101013586106130ba57845161305c816135a6565b60008152823b15610a4e576000946130a486928851998a97889687957ff242432a0000000000000000000000000000000000000000000000000000000087523090870161380f565b03925af1908115611811575061148b5750610e71565b8385517f675cae38000000000000000000000000000000000000000000000000000000008152fd5b90966020823d60201161310f575b816130fd602093836135fa565b81010312610387575051956080613042565b3d91506130f0565b929450925050601e810361278357508161313560009392849361417b565b81604051928392833781018481520391357f00000000000000000000000020f780a973856b93f63670377900c1d2a50a77c45af1612824613675565b9499989a92506020819d9792969d989498146000146131da575050505050508061319e600093849361417b565b81604051928392833781018481520391357f00000000000000000000000000000000000001ad428e4906ae43d8f9852d0dd65af1612824613675565b602190808203613351575050505090916131ff6131f7868661415a565b96909561417b565b929061324160409788519760208901997f24856bc3000000000000000000000000000000000000000000000000000000008b5260248a01526064890191613537565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc878203016044880152818152602082818301951b82010195856000915b8483106132d357505050505050505091816132c5600094938594037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b519082305af1612824613675565b90919293949596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085820301885288358284360301811215610a4e578301906020823592019167ffffffffffffffff8111610a4e578036038313610a4e5761334160209283928b95613537565b9a0198019695949301919061327f565b929750929593509350602281146000146127835750604080936080510101359060009060028310156134e1575050808491156000146134895750506000907f0000000000000000000000001e0049783f008a0085193e00003d00cd54003c71925b6020838251937f095ea7b3000000000000000000000000000000000000000000000000000000008552600496878601526024947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff868201526044968792355af13d15601f3d1187600051141617161561342e5750505050610e71565b91600e7f415050524f56455f4641494c45440000000000000000000000000000000000009260206064969551957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b036134b8576000907f0000000000000000000000002b2e8cda09bba9660dca5cb6233787738ad68329926133b2565b600482517f5461585f000000000000000000000000000000000000000000000000000000008152fd5b602492507f4e487b71000000000000000000000000000000000000000000000000000000008252600452fd5b60046040517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b67ffffffffffffffff8111610f7d57604052565b6080810190811067ffffffffffffffff821117610f7d57604052565b6020810190811067ffffffffffffffff821117610f7d57604052565b6040810190811067ffffffffffffffff821117610f7d57604052565b6060810190811067ffffffffffffffff821117610f7d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f7d57604052565b67ffffffffffffffff8111610f7d57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156136a0573d906136868261363b565b9161369460405193846135fa565b82523d6000602084013e565b606090565b67ffffffffffffffff8111610f7d5760051b60200190565b359065ffffffffffff82168203610a4e57565b81601f82011215610a4e578035906136e78261363b565b926136f560405194856135fa565b82845260208383010111610a4e57816000926020809301838601378301015290565b919290613724908361417b565b90938460405195869384378201906000958693838580955203918635905af19261374c613675565b9284613756575050565b73ffffffffffffffffffffffffffffffffffffffff60608201351661377e6040830135613854565b91813b156106ad576040517f42842e0e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff93909316602484015260800135604483015290919081908390606490829084905af190811561380357506137f85750565b61380190613576565b565b604051903d90823e3d90fd5b919261385195949160a09473ffffffffffffffffffffffffffffffffffffffff8092168552166020840152604083015260608201528160808201520190610af6565b90565b73ffffffffffffffffffffffffffffffffffffffff908082166001810361387e5750506001541690565b90915060020361385157503090565b90816020910312610a4e57518015158103610a4e5790565b9092919073ffffffffffffffffffffffffffffffffffffffff16806138cf575061380191926144d1565b7f80000000000000000000000000000000000000000000000000000000000000008214613902575b92613801929361453f565b9050604051927f70a08231000000000000000000000000000000000000000000000000000000008452306004850152602084602481855afa938415610f7157600094613951575b5092906138f7565b6020813d821161397c575b81613969602093836135fa565b8101031261021757519350613801613949565b3d915061395c565b81810292918115918404141715611b0357565b81156139a1570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b919273ffffffffffffffffffffffffffffffffffffffff91827f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31693843b15610a4e5760009484869281608496816040519b8c9a8b997f36c78516000000000000000000000000000000000000000000000000000000008b521660048a01521660248801521660448601521660648401525af18015610f71576137f85750565b8051821015611b4c5760209160051b010190565b9190811015611b4c5760051b0190565b3573ffffffffffffffffffffffffffffffffffffffff81168103610a4e5790565b91908203918211611b0357565b92919073ffffffffffffffffffffffffffffffffffffffff8082163003613aee575050613801926138a5565b8084959411613b02576138019416926139d0565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b9173ffffffffffffffffffffffffffffffffffffffff93613c2d916040519060208201927fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809260601b16845260601b16603482015260288152613b8f816135de565b519020613c01604051938492602084019687917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b5190201690565b73ffffffffffffffffffffffffffffffffffffffff8281169082161015613c585791565b9091565b51906dffffffffffffffffffffffffffff82168203610a4e57565b90816060910312610a4e57613c8b81613c5c565b916040613c9a60208401613c5c565b92015163ffffffff81168103610a4e5790565b9260028210614123578115611b4c57613cc584613a94565b9160019481861015611b4c5791613ce360209461190f868601613a94565b50926000935b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84018510613d1c575050505050505050565b613d2a6119b9868685613a84565b92613d3b6119b98a88018786613a84565b936040908151957f0902f1ac00000000000000000000000000000000000000000000000000000000875273ffffffffffffffffffffffffffffffffffffffff80941694606092600493808a86818b5afa998a1561225b57908d9594939291600091829c6140fd575b50508780916dffffffffffffffffffffffffffff8091169c16921692168214998a6000146140f7575b8651958680947f70a082310000000000000000000000000000000000000000000000000000000082528b8883015260249889915afa9283156140ec578e6000946140bb575b5050808303918115938480156140b3575b61408b57826103e5808602958604149114171561405e57613e439083613984565b926103e880830292830414171561403157613e689291613e629161414d565b90613997565b971561402957600097905b898b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe820181101561401d579161190f6119b9613eb9936002613f039c9601908d613a84565b8198917f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b965b988551918d83019367ffffffffffffffff9484811086821117613ff057885260008452813b15610a4e5760008a93613f8382968b519c8d97889687957f022c0d9f0000000000000000000000000000000000000000000000000000000087528d8701528d860152166044840152608060648401526084830190610af6565b03925af18015611ab857908d969594939291613fa8575b505050505094019391613ce9565b909192938095965011613fc45750505287903880808080613f9a565b6041907f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b876041887f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b5050508b956000613f05565b600090613e73565b856011867f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b866011877f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b8689517f7b9c8916000000000000000000000000000000000000000000000000000000008152fd5b508115613e22565b8181959293953d83116140e5575b6140d381836135fa565b8101031261038757505191388e613e11565b503d6140c9565b87513d6000823e3d90fd5b90613dcc565b899c50899250908161411a92903d10611f1357611f0281836135fa565b509b9091613da3565b60046040517fae52ad0c000000000000000000000000000000000000000000000000000000008152fd5b91908201809211611b0357565b91823583019161417460208435958186019503018561414d565b1161105d57565b91602083013583019161417460208435958186019503018561414d565b91606083013583019161417460208435958186019503018561414d565b7f80000000000000000000000000000000000000000000000000000000000000008114611b035760000390565b939193602b841061105d578462ffffff6000614267946142ee6142999935988960601c9a8b9a61423b601789013560601c9d8e109c73ffffffffffffffffffffffffffffffffffffffff9e8f998a9460481c1691614365565b16968b861461434a576401000276a49a5b60409d8e9b8c93845196879560208701526060860191613537565b91168b830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b848851998a98899788967f128acb080000000000000000000000000000000000000000000000000000000088521660048701528c6024870152604486015216606484015260a0608484015260a4830190610af6565b03925af190811561433f576000938492614309575b50509192565b9080949250813d8311614338575b61432181836135fa565b810103126103875750602082519201513880614303565b503d614317565b83513d6000823e3d90fd5b73fffd8963efd1fc6a506488495d951d5263988d259a61424c565b73ffffffffffffffffffffffffffffffffffffffff92838316848316116144c9575b62ffffff90846040519481602087019516855216604085015216606083015260608252608082019082821067ffffffffffffffff831117610f7d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80613c2d9183604052845190209361449c60a08201957fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54907f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98488917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608101845201826135fa565b909190614387565b600080809381935af1156144e157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561459257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fdfea2646970667358221220b2d6a39827110492aaa15cba3556e23894a51f2f635dc99ae66d21764ad4d90b64736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6041010219080405581d02367b74293bb052cf32dbf499b5c69c98fda9beb40172c7513283aa71070119462603eab71320eeef085932d28d44e0baf57b58344eb1e00ad28043fed2773af1d7eb0605581d02fa23563862f322c7e205623469c0b78f515b247fc070b0a8a7a361b207011bffffffffffffffff02192210030c975042158b302d08b687b5ad55407adea0f6c0c8e2ae9027af5f2b66a90e2503db731c607521cbd787386a1fe342cdf1bac891251c300135c9c48e15f96572ae021979ab036f2ee834e1f27ab29334718c1891c1fbf7b4905b5c3c8413a6455bc362071e0703a6e69c4e7f6c01cdbd2a57007b66d03fcc4d915e823bc0128e46df6d003bf27103886f7645e367e56ba68b766987c56dfef14001d37ea052544e5bc80fa127574203d5e6f2c9fedc019daec57e9f9de99606ad6622acd7e5752e59cce941342141550368fd523bc7a98534cd05165476e5f4aff3d49d9353645c45a3718810935c63b703a2b47f7b9bb8970017b462680a3019b86a20a3053c28d35b35d8055c6e9ec09f0219ffff038d82a113feec5be1befcd1a92c6b71e128f238629f74c895b40f1b0d31970eb703e32cc14941b0c0e26fd4cd6a1ff7904594c84aee9ebc8ea8971e9e4ebb4e11630365a9fd54eea42809ad5d130b0257ffc59ecea4d36525c5f059f0ba74e12d97da03281a34dfcf4c9272ce28f683e1214c28e3bc7320ec32034b66c88950440b6d29037acfa0a74627f84ecc785940d286ea2f47d8719391be009f1ace0ba56de41b970311cdc47e8172f6af544d8b529571110c099bc95182cb9fbefdbfa94a345b453703f2b6daba9341b5868251a1ca9c40c9331d0458fd2860406a2d3b2c2429368f0103607f0de0931910ba9ecf0e19204ef4454c8f293039132d816a94fd013c53224503de0dd51065e16214b69968bc663ea47bd1b58f4a23def0cdb9ce7826e6b5798b03208d267634ee7ef8b6dd028468268e4642393faeea95298b745a6d3793a910240219ffff0338c61070304c5a56b382ff5fe8279b579ba528f8450ef0972671f54aaf8a1807033df2a9b7c7835a37cae5bcacb6bd5614801c723c65b8c038b6895bb8721005d30345f5378f333db1e4dbc4ff7bb03fb174652735acc417491426ec1d5b4b7c962103f624a84b5da7da6f6d297359ff86b3f5b7aa514c3c544d10b7cdda48c3b6538c03d2ea0d5257ab5b2e9d684cf536fa24090bdbf8144370ff8296130dd05fef871f03649f0628bacb781a5e38fe229e48f6333d3fcccb12e8232e0ef40894f79bd01403265f0d31dffe3ddaceb1a6264373b2071694a42cdc8deac6f08e7167e3b53b5c0348755492522f9d4186ee1d2ef54e05eb48ff50167faaa3cd8bdbbdcd0f1dfb270388fcd11bfa6af7102fc26c75109a9bfb91b18b098abdf9941b4fd719c4b38b51037533c5d1f2537cd73c1a0c0a1183a5cdeb495caa422f3e4a6b7f647c78d10d1103f1f869a4f7853a567e16451e77c8fcd41eb35442dca17ffa169117e376b12f52035315b68e12efbfd7e425d1303ac50276124043bdec90967756d20c135a4439030219ffff034fe4674fca460c6b0d3775f93ae770fd2f8f6adbf3df8a38cbd20f6858dae166033b639f1b5ee67870c75e82d93c15d6dac19fa9032003659763667789ade54be4038402d921caba7cd739124af69355319beec4ba6bceb4c5d319df0068b4606d110219ffff03075b3c322e1444763026cf8e19dc932939339319936b195bc8b1b4e8c7c0fd5203afaebb470bdbdb8966a9af599815f3189366d47713c51d8fddc097533c1f1d450303b7620487d778673246bfd2fb48a5d3460600a177a9569ecb74e0b36ed51778034e4bfb4afc5221ebd0bc9c19c2fb64741090276adcf5164b5cf5eac27ed8284b035327ae81282b29b86e27fa319ddf9d457cc2079eb6f37df36ab38d02c1be9e3903ff6d4231ed8ed9fc5801d7d1922ebcd6f93b95336eb59fd376432c4b9769c0cc03d83bd820595ce556e1a765c877c0f0e78270b34ec06dbf99c4beff21a53307be03e1a8a9b1ae4a215f722ecf7f7ff1dcf25d03d77f3b8c77837b86e17cc1613d9803ee789c9da5abb603eeb6d470ac77465ef37171c07a77cc29db35313844af248503bc38b1f1e718670c14e4dcec0c1724239210edc56ca62bb9955d378bcb2cb49603a7f0be3ebaa2baa0b529fcfd6f3bff1fe388430078d73937651709cd6a634591032d10d069d76442bc70428d06db0479d76181d80e5c5684ec805003d6661cf33f03da2374a7eaf05565243f4b6ce1abdb486afccd4b803ad12e0d71715f74290a0a0354be9e584b0ab6838dd4ea2e3ed127335e4ac8e9f36f940880282e784153802f030c3a93e16f6a1a8ffc36aab9830f7b5401f8f0f2733a6907bfafb575a5f78a8003909b94d6a17403b04312212548199b522a026b4b1e3b7a1f691b0da673777bff03a563d6e6b8f7c14fd1e03aae5272c668f05316fe67a1c3733acacb9ca5249a510323a5e57420689614f1b01fd6cade65d4e6a784a85358a4151490582483b20ac2038f1ae1ea2584d2afff04a6b23a299d247db5e93e5bcb8f61c45ee236710c8590032c877fd5ab8fd02ce576689526c7404edf932e5572f07c3f5530df4acd1bae8b0357e6aecb57a48cc53b5d4979704ce97c6c81d49dbea9390314788199deb34a4905581e03f377e823577311b41d3bf3eed34107eb4dc8deeca69fe4ace7a1fa28d00c0146d5b4af06bd2005581e0365c005895cfac907a04c5efa7aef7eae632a4539167be6fc114e4cb8800c0346af1f16606ca805581e0331b02f1c5f8e364d12712a87636642f741740b9d52988a540104177c2008431b774005581e0319f5192c0d975415a76b3a321aec2e530a71ff6118e18915ba41017dd00c01470437e254545d7c03ccab7f3e58fa16d46829e3c8ea41a59c3ab1ebf67dd16a40d3a294dd0267078b01410703c674231ebbd69f4d8c2f886073c229dbfa9927495ab4457b124b5953793cd0060349f9476466c3eab3a1400b6e932d192388ff9a511f270bb3febe948f05f89225038f3d41beb738272ba9251426576bf0f427b75475f29e2840f79118e9d3dfeb0105581e03256683e39c3925aff63e4c74740d3b2efb22f7901c1a2ce897631104d007011bffffffffffffffff033314dc81d8f8afea34fee0bad0c1b9d495fb5b23681bcfe296dfc16df00a2f5b05581d023923fffda15087e272c8ec6ceda0703ba916ce7443a802261de4ca4b040105581d02c0751810434fd38c9231acb92ed7e31d5787d8b93c40bd72afeb94530c0146b159f9bb30000459245060806040526004361061014f5760003560e01c8063846d4d7a116100b6578063c311b6fc1161006f578063c311b6fc146103fb578063cb23bcb51461041b578063e70fc93b1461043b578063ea7ec51414610468578063f2fde38b14610496578063f8c8765e146104b657600080fd5b8063846d4d7a146102f35780638da5cb5b14610355578063946130d814610373578063b2267a7b14610398578063b604bf4c146103ab578063bedb86fb146103db57600080fd5b8063550041051161010857806355004105146102605780635c975abb146102735780635f7b15771461028b5780636e296e451461029e578063715018a6146102be578063797594b0146102d357600080fd5b8063088681a71461016357806329907acd146101a85780632a6cccb2146101c85780633b70c18a146101e8578063407c195514610220578063478222c21461024057600080fd5b3661015e5761015c6104d6565b005b600080fd5b34801561016f57600080fd5b5061019361017e366004611cbb565b60fc6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156101b457600080fd5b5061015c6101c3366004611dbc565b610537565b3480156101d457600080fd5b5061015c6101e3366004611e2e565b610780565b3480156101f457600080fd5b5060ff54610208906001600160a01b031681565b6040516001600160a01b03909116815260200161019f565b34801561022c57600080fd5b5061015c61023b366004611cbb565b6107ea565b34801561024c57600080fd5b5060cb54610208906001600160a01b031681565b61015c61026e366004611e50565b610831565b34801561027f57600080fd5b5060655460ff16610193565b61015c610299366004611eee565b610d31565b3480156102aa57600080fd5b5060c954610208906001600160a01b031681565b3480156102ca57600080fd5b5061015c610d86565b3480156102df57600080fd5b5060ca54610208906001600160a01b031681565b3480156102ff57600080fd5b5061033561030e366004611cbb565b610101602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b0393841681529290911660208301520161019f565b34801561036157600080fd5b506033546001600160a01b0316610208565b34801561037f57600080fd5b5061038a6101005481565b60405190815260200161019f565b61015c6103a6366004611f94565b610d98565b3480156103b757600080fd5b506101936103c6366004611cbb565b60fd6020526000908152604090205460ff1681565b3480156103e757600080fd5b5061015c6103f6366004612001565b610db3565b34801561040757600080fd5b5061015c61041636600461201e565b610dd4565b34801561042757600080fd5b5060fe54610208906001600160a01b031681565b34801561044757600080fd5b5061038a610456366004611cbb565b60fb6020526000908152604090205481565b34801561047457600080fd5b5061038a610483366004611cbb565b6101026020526000908152604090205481565b3480156104a257600080fd5b5061015c6104b1366004611e2e565b6111dc565b3480156104c257600080fd5b5061015c6104d13660046120ef565b611252565b6033546001600160a01b031633146105355760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b565b61053f6113e4565b60c9546001600160a01b031660011461056a5760405162461bcd60e51b815260040161052c90612143565b60ff546001600160a01b03166000610585878787878761142a565b9050600081805190602001209050600060fb600083815260200190815260200160002054116105c65760405162461bcd60e51b815260040161052c9061217a565b600081815260fd602052604090205460ff161561061f5760405162461bcd60e51b815260206004820152601760248201527613595cdcd859d948185b1c9958591e48191c9bdc1c1959604a1b604482015260640161052c565b60008181526101016020526040812054600160801b90046001600160801b03169081900361064a5750845b604051639165246160e01b8152600481018290526001600160a01b03851690639165246190602401600060405180830381600087803b15801561068c57600080fd5b505af11580156106a0573d6000803e3d6000fd5b505050600091825250610102602052604090205480156106c3576000190161064a565b600082815260fd602052604090819020805460ff1916600117905560c980546001600160a01b031916736f297c61b5c92ef107ffd30cd56affe5a273e841179055516314298c5160e01b81526001600160a01b038a16906314298c51908990610730908990600401612210565b6000604051808303818588803b15801561074957600080fd5b505af115801561075d573d6000803e3d6000fd5b505060c980546001600160a01b0319166001179055505050505050505050505050565b6107886104d6565b60cb80546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f4aadc32827849f797733838c61302f7f56d2b6db28caa175eb3f7f8e5aba25f591015b60405180910390a15050565b6107f26104d6565b61010080549082905560408051828152602081018490527fd700562df02eb66951f6f5275df7ebd7c0ec58b3422915789b3b1877aab2e52b91016107de565b6108396113e4565b60c9546001600160a01b03166001146108645760405162461bcd60e51b815260040161052c90612143565b60ff5460ca546001600160a01b03918216911660006108868a8a8a8a8a61142a565b9050600081805190602001209050600060fb600083815260200190815260200160002054116108c75760405162461bcd60e51b815260040161052c9061217a565b600081815260fd602052604090205460ff16156109205760405162461bcd60e51b815260206004820152601760248201527613595cdcd859d948185b1c9958591e48191c9bdc1c1959604a1b604482015260640161052c565b604051636bb825d760e11b815263ffffffff871660048201526000906001600160a01b0386169063d7704bae90602401602060405180830381865afa15801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190612223565b9050803410156109e35760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e74206d73672e76616c756520666f72206665650000604482015260640161052c565b8015610a895760cb546040516000916001600160a01b03169083908381818185875af1925050503d8060008114610a36576040519150601f19603f3d011682016040523d82523d6000602084013e610a3b565b606091505b5050905080610a875760405162461bcd60e51b81526020600482015260186024820152774661696c656420746f20646564756374207468652066656560401b604482015260640161052c565b505b6000856001600160a01b031663fd0ad31e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aed9190612223565b604051634d8acbc160e11b81529091506001600160a01b03871690639b15978290610b209088908c90899060040161223c565b600060405180830381600087803b158015610b3a57600080fd5b505af1158015610b4e573d6000803e3d6000fd5b5050506000848152610101602090815260408083208151808301909252546001600160801b038082168352600160801b9091041691810182905292509003610baa5760008281526101026020526040902060018c019055610bd4565b80602001516001016001600160801b03166101026000848152602001908152602001600020819055505b6001600160801b03808316602083015261010054825190911610610c3a5760405162461bcd60e51b815260206004820152601b60248201527f457863656564206d6178696d756d207265706c61792074696d65730000000000604482015260640161052c565b80516001600160801b03600191909101811682526000858152610101602090815260409091208351918401518316600160801b029190921617905534838103908414610d20576000896001600160a01b03168260405160006040518083038185875af1925050503d8060008114610ccd576040519150601f19603f3d011682016040523d82523d6000602084013e610cd2565b606091505b5050905080610d1e5760405162461bcd60e51b81526020600482015260186024820152774661696c656420746f20726566756e64207468652066656560401b604482015260640161052c565b505b505050505050505050505050505050565b610d396113e4565b610d7e868686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525088925087915061147a9050565b505050505050565b610d8e6104d6565b610535600061185d565b610da06113e4565b610dad848484843361147a565b50505050565b610dbb6104d6565b8015610dcc57610dc96118af565b50565b610dc9611909565b610ddc6113e4565b60c9546001600160a01b0316600114610e075760405162461bcd60e51b815260040161052c90612143565b6000610e16878787878761142a565b8051602091820120600081815260fc90925260409091205490915060ff1615610e935760405162461bcd60e51b815260206004820152602960248201527f4d6573736167652077617320616c7265616479207375636365737366756c6c7960448201526808195e1958dd5d195960ba1b606482015260840161052c565b60fe5482516040516308b50fa160e11b815260048101919091526001600160a01b0390911690819063116a1f4290602401602060405180830381865afa158015610ee1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f059190612275565b610f4a5760405162461bcd60e51b815260206004820152601660248201527510985d18da081a5cc81b9bdd08199a5b985b1a5e995960521b604482015260640161052c565b825160405163ea5f084f60e01b81526000916001600160a01b0384169163ea5f084f91610f7d9160040190815260200190565b602060405180830381865afa158015610f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbe9190612223565b9050610fd08184888760200151611942565b61100c5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b210383937b7b360991b604482015260640161052c565b505060ff546001600160a01b039081169087160361106c5760405162461bcd60e51b815260206004820152601c60248201527f466f7262696420746f2063616c6c206d65737361676520717565756500000000604482015260640161052c565b61107586611a1b565b60c9546001600160a01b03908116908816036110cc5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b21036b2b9b9b0b3b29039b2b73232b960511b604482015260640161052c565b60c980546001600160a01b0319166001600160a01b03898116919091179091556040516000918816908790611102908790612292565b60006040518083038185875af1925050503d806000811461113f576040519150601f19603f3d011682016040523d82523d6000602084013e611144565b606091505b505060c980546001600160a01b0319166001179055905080156111a657600082815260fc6020526040808220805460ff191660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a26111d2565b60405182907f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f90600090a25b5050505050505050565b6111e46104d6565b6001600160a01b0381166112495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052c565b610dc98161185d565b600054610100900460ff16158080156112725750600054600160ff909116105b8061128c5750303b15801561128c575060005460ff166001145b6112ef5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161052c565b6000805460ff191660011790558015611312576000805461ff0019166101001790555b61131c8585611a69565b60fe80546001600160a01b038086166001600160a01b03199283161790925560ff80549285169290911691909117905560036101008190556040517fd700562df02eb66951f6f5275df7ebd7c0ec58b3422915789b3b1877aab2e52b9161138f9160009190918252602082015260400190565b60405180910390a180156113dd576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60655460ff16156105355760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161052c565b606085858585856040516024016114459594939291906122ae565b60408051601f198184030181529190526020810180516001600160e01b0316634778999760e11b179052905095945050505050565b611482611afb565b60ff5460ca5460408051637e85698f60e11b815290516001600160a01b039384169390921691600091849163fd0ad31e916004808201926020929091908290030181865afa1580156114d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114fc9190612223565b9050600061150d338a8a858b61142a565b604051636bb825d760e11b8152600481018890529091506000906001600160a01b0386169063d7704bae90602401602060405180830381865afa158015611558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157c9190612223565b90506115888982612309565b3410156115d05760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e74206d73672e76616c756560501b604482015260640161052c565b80156116765760cb546040516000916001600160a01b03169083908381818185875af1925050503d8060008114611623576040519150601f19603f3d011682016040523d82523d6000602084013e611628565b606091505b50509050806116745760405162461bcd60e51b81526020600482015260186024820152774661696c656420746f20646564756374207468652066656560401b604482015260640161052c565b505b604051634d8acbc160e11b81526001600160a01b03861690639b159782906116a69087908b908790600401612322565b600060405180830381600087803b1580156116c057600080fd5b505af11580156116d4573d6000803e3d6000fd5b5050505060008280519060200120905060fb60008281526020019081526020016000205460001461173c5760405162461bcd60e51b81526020600482015260126024820152714475706c696361746564206d65737361676560701b604482015260640161052c565b600081815260fb602052604090204290556001600160a01b038b16336001600160a01b03167f104371f3b442861a2a7b82a070afbbaab748bb13757bf47769e170e37809ec1e8c878c8e6040516117969493929190612349565b60405180910390a3348290038a8103908b1461184c576000886001600160a01b03168260405160006040518083038185875af1925050503d80600081146117f9576040519150601f19603f3d011682016040523d82523d6000602084013e6117fe565b606091505b505090508061184a5760405162461bcd60e51b81526020600482015260186024820152774661696c656420746f20726566756e64207468652066656560401b604482015260640161052c565b505b505050505050506113dd6001609755565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6118b76113e4565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586118ec3390565b6040516001600160a01b03909116815260200160405180910390a1565b611911611b5b565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336118ec565b600060208251611952919061238e565b1561198f5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b210383937b7b360991b604482015260640161052c565b60006020835161199f91906123a2565b905060005b81811015611a0e576020818102850101516119c060028761238e565b6000036119dc57600087815260208290526040902096506119ed565b600081815260208890526040902096505b6119f86002876123a2565b9550508080611a06906123b6565b9150506119a4565b5050509290911492915050565b306001600160a01b03821603610dc95760405162461bcd60e51b81526020600482015260136024820152722337b93134b2103a379031b0b6361039b2b63360691b604482015260640161052c565b600054610100900460ff16611a905760405162461bcd60e51b815260040161052c906123cf565b611a98611ba4565b611aa0611bd3565b611aa8611c02565b60c980546001600160a01b031990811660011790915560ca80546001600160a01b0385811691909316179055811615611af75760cb80546001600160a01b0319166001600160a01b0383161790555b5050565b600260975403611b4d5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161052c565b6002609755565b6001609755565b60655460ff166105355760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161052c565b600054610100900460ff16611bcb5760405162461bcd60e51b815260040161052c906123cf565b610535611c31565b600054610100900460ff16611bfa5760405162461bcd60e51b815260040161052c906123cf565b610535611c61565b600054610100900460ff16611c295760405162461bcd60e51b815260040161052c906123cf565b610535611c94565b600054610100900460ff16611c585760405162461bcd60e51b815260040161052c906123cf565b6105353361185d565b600054610100900460ff16611c885760405162461bcd60e51b815260040161052c906123cf565b6065805460ff19169055565b600054610100900460ff16611b545760405162461bcd60e51b815260040161052c906123cf565b600060208284031215611ccd57600080fd5b5035919050565b80356001600160a01b0381168114611ceb57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611d2957611d29611cf0565b60405290565b600082601f830112611d4057600080fd5b813567ffffffffffffffff80821115611d5b57611d5b611cf0565b604051601f8301601f19908116603f01168101908282118183101715611d8357611d83611cf0565b81604052838152866020858801011115611d9c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215611dd457600080fd5b611ddd86611cd4565b9450611deb60208701611cd4565b93506040860135925060608601359150608086013567ffffffffffffffff811115611e1557600080fd5b611e2188828901611d2f565b9150509295509295909350565b600060208284031215611e4057600080fd5b611e4982611cd4565b9392505050565b600080600080600080600060e0888a031215611e6b57600080fd5b611e7488611cd4565b9650611e8260208901611cd4565b95506040880135945060608801359350608088013567ffffffffffffffff811115611eac57600080fd5b611eb88a828b01611d2f565b93505060a088013563ffffffff81168114611ed257600080fd5b9150611ee060c08901611cd4565b905092959891949750929550565b60008060008060008060a08789031215611f0757600080fd5b611f1087611cd4565b955060208701359450604087013567ffffffffffffffff80821115611f3457600080fd5b818901915089601f830112611f4857600080fd5b813581811115611f5757600080fd5b8a6020828501011115611f6957600080fd5b60208301965080955050505060608701359150611f8860808801611cd4565b90509295509295509295565b60008060008060808587031215611faa57600080fd5b611fb385611cd4565b935060208501359250604085013567ffffffffffffffff811115611fd657600080fd5b611fe287828801611d2f565b949793965093946060013593505050565b8015158114610dc957600080fd5b60006020828403121561201357600080fd5b8135611e4981611ff3565b60008060008060008060c0878903121561203757600080fd5b61204087611cd4565b955061204e60208801611cd4565b94506040870135935060608701359250608087013567ffffffffffffffff8082111561207957600080fd5b6120858a838b01611d2f565b935060a089013591508082111561209b57600080fd5b908801906040828b0312156120af57600080fd5b6120b7611d06565b823581526020830135828111156120cd57600080fd5b6120d98c828601611d2f565b6020830152508093505050509295509295509295565b6000806000806080858703121561210557600080fd5b61210e85611cd4565b935061211c60208601611cd4565b925061212a60408601611cd4565b915061213860608601611cd4565b905092959194509250565b6020808252601f908201527f4d65737361676520697320616c726561647920696e20657865637574696f6e00604082015260600190565b60208082526026908201527f50726f7669646564206d65737361676520686173206e6f74206265656e20656e6040820152651c5d595d595960d21b606082015260800190565b60005b838110156121db5781810151838201526020016121c3565b50506000910152565b600081518084526121fc8160208601602086016121c0565b601f01601f19169290920160200192915050565b602081526000611e4960208301846121e4565b60006020828403121561223557600080fd5b5051919050565b6001600160a01b038416815263ffffffff8316602082015260606040820181905260009061226c908301846121e4565b95945050505050565b60006020828403121561228757600080fd5b8151611e4981611ff3565b600082516122a48184602087016121c0565b9190910192915050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906122e8908301846121e4565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561231c5761231c6122f3565b92915050565b60018060a01b038416815282602082015260606040820152600061226c60608301846121e4565b84815283602082015282604082015260806060820152600061236e60808301846121e4565b9695505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261239d5761239d612378565b500690565b6000826123b1576123b1612378565b500490565b6000600182016123c8576123c86122f3565b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea264697066735822122095632ed92734d5d11d0dc2f0a85b350f69d2fe206ff850498cd746b67dda174364736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02f9269f38729585cff50fe879616c63a2bffdd0fc9be9680c03b06aba070119245002190a20037edc4964e61d398a6cd8bbd28a4015d14e65be72a4b54d2933f46c5c016ed85101410a0219d3b70372de2dd4755938a9e8fc2ab52a21c94401f4063b1cb838f3890437bd20fd90f8037befe3b11ae7bc76bd462279833666ccb787308f99bfb3b104c48f36be4e5f0803918558bd840c45165b11f40a257ce53d06512f53d7412490a277ec3d063cf4a003c97a59006acdec1eba5a7ca1a8636badce826999eb39f3be312ecd57f1885aff03fd00668946add2fc4822716e6c4b453f399c39678d0207ceb57d654c6e06dc5e0354bbbe3cda31cd60f6546b2a1e29cd686c9fb18fff761c4728552c04b547ff96033bd427a4c420efdd9e086095fe90a6e7d3740ed0784235f002ba6e1fb9b9de010383c4da6fd83410077b4d498367415d55874f78ecfd9da82c363313a8601b4aad038b71be76b39acb94470238ed3010a761d54749e145001e8356758dfb8cb2724303f7a959aa3ba65faa107693c86cd148d1f6070bd61c0a64fa92379790a6e816650340e8ee34e514a156c74d27fdc852627fdebd2d6f3dbba90e9601933a69fd1e1203fbc075a8cb18173149b3882c701f47a6c32e8eae0da41e4992e16c91843bb16e03e62a60ae1c81e2ad3e9052987403a01dd51985654414d4045985f520ac20eda3030d71922863856eb90d3bcafe98c2b88c99e2d11c6d76e7e9ae05fbafa2038944036035321f39997befc8944601f96dafdd13ed871a498714d48ef96451c3e25a390219ffff03baa41bedbc3b0ff20d9276d4fe10972a7cae35913a95e1c54e9556b4229967060349edf9f533a67d8cde8cdb21d1a0e32c5afa45edeb76994d53ced36f5c9b5582032d712802139d17d72087b0d1a264d1f636c83b0e7a88a736d309b78b3894bfbf0388cf399d16be757ef38c718ae9513274230242df278fee7aadec78d2e50c8e3e03c87a880b7a606392f8910cc96e9fee82d15cac18d3cfb5d6c82b03733e8a45730219ffff032e3fe68774a1a3437d6ee699c8848616ea196395f8dfbfbbad37f2d672f1717403c9f0687054a7b70828d25a75822361035989eba90e89c5cf0aa7e69fffa2e59503775e28481982103b91ee346ab7e3d8276b6890fee60cd66e17d0b42a8a86d73103a934d3dc9faae3b44c2ffed495a2eb39dc184a997b67054719814b3bd23733280393237d2bf3c835821855bef5221b1e3b17bc033e9576679d294e469f26f30f060306962ee49705a11f470bc5ad4bfa488f881697f9a898eaee3b627496699ce86203c1d867000930f0939196022cbc42f7dea3d5f856da3131d6a4bcfb99220ea8b4039f6263ef7daba2e4c2ad8d482781a5df69a2070f9be093c598004d686880608d034597b107212060512f7afecc256c276e945f72e06620d73cb63ee9147f790443035e74722a9d2722a468eaf5ff295721641b9f01f99bb1b2dabab7f164e5dd4e27039a82981fb924b9eb0c0b0efb8e892e14fa2ba808750d365bc3e625a154e76c54035127bc035aef4f188a1de4ad5a36fbf942b2571adf749532b1f05050fc791dc70219ffff036d855e925661d6cac0ef7cf7d0e4e5a2de56ec09927e61f5876f6a4b43b222c9039683747b1443c1de2c3d876d42c4b465edc7b47807b10870fb18bc68126f103f035dc354200e6c80c9e52ff4e8ed1158d5e67041bc3cd13446ad9399fa05a3a0460309e882766b6dd8df562f30fd33f6830d948a78d7fa0e9707fb9f5b53d83e12e10373d69ba895f23c51ca750ebe5d23ac161256981c6c27e7ad6348314abaca5a9903d319531af413a329ea7e8744ff296bfd6b1411e99a21b417d2ff4e621de33016035141e72156a89eb2de86fc3ae62fee5a9b41e5cd9fa939ebb677202a1133ba0903c1512228d971d461839c57eb31a0eb2b0a781d079b51af29a98fc62e76d06ee40219ffff034d4ca44e3ada7240e4bb5dc24444f2b5d7556fafda2ec2130629a63b85da74e8037c8eb8973e6bad4b9d7aeb6f9ccde3399187511c1d500ab14a1b59459fac80f503a07e766e226f7eb2afdf31cf90f0bf518e769481c957b6cd719c1f52ecf52ad90341e4ea3a2f0aaa7df298f3a8e3eeab7f8c3e131779ef91255162723f3266e731037471e46e346742fbce2fc009c5f75282b85533bfbe678f655b3d2b40044da1880368a928274108e302ec75aaff02de5d16a0e7a7c22e82977d73839ca42ea4c70e0341ad7c74bcbb3740cb714d733c423137f4327d939e5a5e681ff0003f4a7a5c3003c2fbac48c5da550eb8a3c89c403e8dfcb48ab61f2ac11062c787f93e562f99bf038af40b15af4ce72b315dba7c0128d527201ae8a76837e0fac10968ee4795711f03885f8a43f0549ce58db3324898d47472068024dff454b7bb5d9910139c36ea0903374d24b4fafd70503ad49eadfe24689f77f317a82d8f49a129e0efe32efaaf760366b14c495320ef76a6c35035924caed95b0cdfb25ed8d2126b5ae9eed1f36c41036de214079b90bc22347c23a5807cfab3e8580d34cf0b13bece7cb7729344066b03f49ba17a90ff7a0c27ae7e839733db7caebbd8613dd9843f4a71bcc8abfa281903fd70d5811cdd82f1f8c24f124b2283ee35fde0f3db2689c0b5417b5f245969700305614756601aa4a72b4230fd6c3cb4c987ea9e744a517b531eb93129a9c62da903052392fa01d89b95df5410cdf9800c38175f1c5b5dfbd181715e764fa33e89d603215bf88bf3cab140ba19f39d5f9758e18d26894cd1804edda857b7dfcbc65c4a03fbb6bee77b32b8d4bcee943336ac1b1be93b943f8fda54b976d0dd84e8f7fe800306429d14da42013ac7fca8bcd527deb4715ce6d5c5fa83d74bdfbdacc7d535e105581e033eb7e863fbc14d28566066e98ad344a0eccf7d23e0863aeffee732d6300c181d470290fbe4b04e6005581e039b289a89865f6095ec8024d47bca1cd36c5ec6e055528ea1acf9a81a10040105581e033cdb15393e90fd6a1248d77ba186942abdb26a76c0259f887f16f5e7700c0247422f87b6d3e96b05581e03f053ee50572cc3d28f8f484441c4326b7ed13497cb1d3184e32d1576000c0147247643b16e7c3004591ddc608060405260043610610198575f3560e01c80637cca52fe116100e75780639cc3535111610087578063a9059cbb11610062578063a9059cbb146104c8578063cb7f97d7146104e7578063dd62ed3e14610506578063f2fde38b1461054a575f80fd5b80639cc353511461046b5780639d8740cb1461048a578063a8aa1b31146104a9575f80fd5b80638cd4426d116100c25780638cd4426d146103d75780639213c358146103f657806395d89b41146104155780639bbc2bb614610440575f80fd5b80637cca52fe1461037d5780637d1db4a514610392578063893d20e8146103a7575f80fd5b80632f54bf6e1161015257806348ff2b8b1161012d57806348ff2b8b1461030157806351bc3c851461032057806370a082311461033457806378109e5414610368575f80fd5b80632f54bf6e1461028b578063313ce567146102b85780633f4218e0146102d3575f80fd5b806306fdde03146101a3578063095ea7b3146101e657806318160ddd14610215578063229b6a5e1461023757806323b872dd14610258578063293230b814610277575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b50604080518082019091526009815268456d7520566964656f60b81b60208201525b6040516101dd9190611972565b60405180910390f35b3480156101f1575f80fd5b506102056102003660046119d2565b610569565b60405190151581526020016101dd565b348015610220575f80fd5b5061022961057f565b6040519081526020016101dd565b348015610242575f80fd5b50610256610251366004611a09565b6105ef565b005b348015610263575f80fd5b50610205610272366004611a88565b61068b565b348015610282575f80fd5b506102566106f3565b348015610296575f80fd5b506102056102a5366004611ac6565b5f546001600160a01b0391821691161490565b3480156102c3575f80fd5b50604051600981526020016101dd565b3480156102de575f80fd5b506102056102ed366004611ac6565b60046020525f908152604090205460ff1681565b34801561030c575f80fd5b5061025661031b366004611ae1565b610731565b34801561032b575f80fd5b50610256610784565b34801561033f575f80fd5b5061022961034e366004611ac6565b6001600160a01b03165f9081526002602052604090205490565b348015610373575f80fd5b50610229601b5481565b348015610388575f80fd5b50610229601a5481565b34801561039d575f80fd5b5061022960195481565b3480156103b2575f80fd5b505f546001600160a01b03165b6040516001600160a01b0390911681526020016101dd565b3480156103e2575f80fd5b506102566103f13660046119d2565b6107d7565b348015610401575f80fd5b50610256610410366004611b18565b6108f7565b348015610420575f80fd5b50604080518082019091526003815262454d5560e81b60208201526101d0565b34801561044b575f80fd5b5061022961045a366004611ac6565b60066020525f908152604090205481565b348015610476575f80fd5b50610256610485366004611b55565b61099b565b348015610495575f80fd5b506102566104a4366004611b55565b610acb565b3480156104b4575f80fd5b506008546103bf906001600160a01b031681565b3480156104d3575f80fd5b506102056104e23660046119d2565b610b30565b3480156104f2575f80fd5b50610256610501366004611b7e565b610b3c565b348015610511575f80fd5b50610229610520366004611bc5565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b348015610555575f80fd5b50610256610564366004611ac6565b610c32565b5f610575338484610cae565b5060015b92915050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc5460015491926105ea9290916105e49190610dd1565b90610dd1565b905090565b5f546001600160a01b031633146106215760405162461bcd60e51b815260040161061890611bf1565b60405180910390fd5b5f5b82811015610685578160055f86868581811061064157610641611c11565b90506020020160208101906106569190611ac6565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610623565b50505050565b5f610697848484610ddc565b6106e884336106e385604051806060016040528060288152602001611d7f602891396001600160a01b038a165f9081526003602090815260408083203384529091529020549190611318565b610cae565b5060015b9392505050565b5f546001600160a01b0316331461071c5760405162461bcd60e51b815260040161061890611bf1565b6008805460ff60a01b1916600160a01b179055565b5f546001600160a01b0316331461075a5760405162461bcd60e51b815260040161061890611bf1565b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b5f546001600160a01b031633146107ad5760405162461bcd60e51b815260040161061890611bf1565b305f90815260026020526040902054600c548111156107cb5750600c545b6107d481611343565b50565b5f546001600160a01b031633146108005760405162461bcd60e51b815260040161061890611bf1565b6040516370a0823160e01b81523060048201525f906108819060649061087b9085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610851573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108759190611c25565b906114b3565b906114be565b60165460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af11580156108d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106859190611c3c565b5f546001600160a01b031633146109205760405162461bcd60e51b815260040161061890611bf1565b601780546001600160a01b039485166001600160a01b0319918216811790925560188054948616948216851790556016805493909516921682179093555f92835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b5f546001600160a01b031633146109c45760405162461bcd60e51b815260040161061890611bf1565b5f6109e061271061087b866001546114b390919063ffffffff16565b90505f6109fe61271061087b866001546114b390919063ffffffff16565b90505f610a1c61271061087b866001546114b390919063ffffffff16565b6019849055601a839055601b81905590505f610a416103e861087b600561087561057f565b9050808410158015610a535750808310155b8015610a5f5750808210155b610ac25760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610618565b50505050505050565b5f546001600160a01b03163314610af45760405162461bcd60e51b815260040161061890611bf1565b600b839055600154610b0f90620186a09061087b90856114b3565b600c55600154610b2890620186a09061087b90846114b3565b600d55505050565b5f610575338484610ddc565b5f546001600160a01b03163314610b655760405162461bcd60e51b815260040161061890611bf1565b600e879055600f86905560118590556010849055601283905560138290556014819055601554610b969060016114be565b60125411158015610bb65750601554610bb09060016114be565b60135411155b8015610bd15750601554610bcb9060016114be565b60145411155b610ac25760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b6064820152608401610618565b5f546001600160a01b03163314610c5b5760405162461bcd60e51b815260040161061890611bf1565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610d105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610618565b6001600160a01b038216610d715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610618565b6001600160a01b038381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6106ec8284611c6b565b6001600160a01b038316610e405760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610618565b6001600160a01b038216610ea25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610618565b6001600160a01b0383165f90815260026020526040902054811115610f235760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610618565b6001600160a01b0383165f9081526004602052604090205460ff16158015610f6357506001600160a01b0382165f9081526004602052604090205460ff16155b15610fb257600854600160a01b900460ff16610fb25760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610618565b6001600160a01b0383165f9081526004602052604090205460ff16158015610ff257506001600160a01b0382165f9081526004602052604090205460ff16155b801561100c57506008546001600160a01b03838116911614155b801561102357506001600160a01b03821661dead14155b1561109b57601b546001600160a01b0383165f9081526002602052604090205461104d90836114c9565b111561109b5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610618565b6008546001600160a01b0384811691161461113a57601a54811115806110d857506001600160a01b0383165f9081526004602052604090205460ff165b806110fa57506001600160a01b0382165f9081526004602052604090205460ff165b61113a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610618565b6019548111158061116257506001600160a01b0383165f9081526004602052604090205460ff165b8061118457506001600160a01b0382165f9081526004602052604090205460ff165b6111c45760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610618565b6008546001600160a01b0383811691161480156111f957506001600160a01b0383165f9081526004602052604090205460ff16155b1561121657600160095f8282546112109190611c7e565b90915550505b6112218383836114d4565b1561123657611231600c54611343565b5f6009555b6001600160a01b0383165f908152600260205260409020546112589082610dd1565b6001600160a01b0384165f9081526002602052604081209190915561127d848461158c565b6112875781611292565b6112928484846115d0565b6001600160a01b0384165f908152600260205260409020549091506112b790826114c9565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061130a9085815260200190565b60405180910390a350505050565b5f818484111561133b5760405162461bcd60e51b81526004016106189190611972565b505050900390565b600a805460ff19166001908117909155601054600f54600e545f9361137c936002936108759391926113769283916114c9565b906114c9565b90505f6113988261087b600e54866114b390919063ffffffff16565b90505f6113a58483610dd1565b9050476113b1826116d2565b5f6113bc4783610dd1565b90505f6113de6113d7600e5488610dd190919063ffffffff16565b83906114be565b90505f6113f6600e54836114b390919063ffffffff16565b90508015611408576114088682611822565b600f545f9061141c906108758560026114b3565b9050801561145d576017546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561145b573d5f803e3d5ffd5b505b47801561149d576016546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561149b573d5f803e3d5ffd5b505b5050600a805460ff191690555050505050505050565b5f6106ec8284611c91565b5f6106ec8284611ca8565b5f6106ec8284611c7e565b600d54600c54305f90815260026020526040812054600a5491938510159211159060ff1615801561150e5750600854600160a81b900460ff165b80156115235750600854600160a01b900460ff165b801561152c5750815b801561155057506001600160a01b0386165f9081526004602052604090205460ff16155b801561156957506008546001600160a01b038681169116145b80156115795750600b5460095410155b80156115825750805b9695505050505050565b6001600160a01b0382165f9081526004602052604081205460ff161580156106ec5750506001600160a01b03165f9081526004602052604090205460ff1615919050565b5f806115dc85856118d3565b11156116cb575f6115fe6115f086866118d3565b6015546108759086906114be565b305f9081526002602052604090205490915061161a90826114c9565b305f81815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061166a9085815260200190565b60405180910390a35f60115411801561168d575060115461168b86866118d3565b115b156116b9576116b93061dead6116b4601154610875601554896114be90919063ffffffff16565b610ddc565b6116c38382610dd1565b9150506106ec565b5092915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061170557611705611c11565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561175c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117809190611cc7565b8160018151811061179357611793611c11565b6001600160a01b0392831660209182029290920101526007546117b99130911684610cae565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac947906117f19085905f90869030904290600401611ce2565b5f604051808303815f87803b158015611808575f80fd5b505af115801561181a573d5f803e3d5ffd5b505050505050565b60075461183a9030906001600160a01b031684610cae565b60075460185460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156118a7573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906118cc9190611d53565b5050505050565b6001600160a01b0382165f9081526005602052604081205460ff168061191057506001600160a01b0382165f9081526005602052604090205460ff165b1561192a57601554611923906064610dd1565b9050610579565b6008546001600160a01b03908116908316036119495750601354610579565b6008546001600160a01b03908116908416036119685750601254610579565b5060145492915050565b5f602080835283518060208501525f5b8181101561199e57858101830151858201604001528201611982565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107d4575f80fd5b5f80604083850312156119e3575f80fd5b82356119ee816119be565b946020939093013593505050565b80151581146107d4575f80fd5b5f805f60408486031215611a1b575f80fd5b833567ffffffffffffffff80821115611a32575f80fd5b818601915086601f830112611a45575f80fd5b813581811115611a53575f80fd5b8760208260051b8501011115611a67575f80fd5b60209283019550935050840135611a7d816119fc565b809150509250925092565b5f805f60608486031215611a9a575f80fd5b8335611aa5816119be565b92506020840135611ab5816119be565b929592945050506040919091013590565b5f60208284031215611ad6575f80fd5b81356106ec816119be565b5f8060408385031215611af2575f80fd5b8235611afd816119be565b91506020830135611b0d816119fc565b809150509250929050565b5f805f60608486031215611b2a575f80fd5b8335611b35816119be565b92506020840135611b45816119be565b91506040840135611a7d816119be565b5f805f60608486031215611b67575f80fd5b505081359360208301359350604090920135919050565b5f805f805f805f60e0888a031215611b94575f80fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b5f8060408385031215611bd6575f80fd5b8235611be1816119be565b91506020830135611b0d816119be565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611c35575f80fd5b5051919050565b5f60208284031215611c4c575f80fd5b81516106ec816119fc565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561057957610579611c57565b8082018082111561057957610579611c57565b808202811582820484141761057957610579611c57565b5f82611cc257634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611cd7575f80fd5b81516106ec816119be565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611d325784516001600160a01b031683529383019391830191600101611d0d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611d65575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122092676d0cd0ac4d67c7d2dc4b4aa7e708bff9a4af3c07e73844efada565b3c1b364736f6c63430008170033034e3420342f4bc87b8f8b7ee3259a16a2dca1b5713e4f79179d0895398f5940db032300db90e9b392622cc982ce69f374f15f00275a4e17566725b7a8c28705e22b0396c28de8dda3f985f89cb911c764d81dc4073752fe6e028da7f3e3393164f2d50058200261432765930fe7a2e09822c5f032c75728b412c19139f44abd1c6e787495f9520b7abc627050305adf14a2e781a5795f879300582003441e4271223260cf94d3bc5c63116b623c24af6a7b4f3b78bb1ee6ec8acea04889e4bf27e25574e3005820032538fca120eab5b77aa9fdd50987efdf8cf6e07488a029b0fd0fd28acdbc304101005820030bc961dd579e9d775a9aec24b8199017f85ea04a9c2197f28b41db26220fc048182a626ec68913370219402100582003c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e0488ac7230489e800000058200328d90ebf8bd0fb379ff13134aa0a0164679436d771ef639036d8feac9b3b805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820033e6a1b74f2ee75fa86be62af8a1bd39f4fb9f635762c82d88c419dd82808a04801bb2dff5578ec5b02190c8003f59b9f58ff1a5c14269a1cfb64f158dc254e656ffb38eae37e7b7c1597474a4d005820028f4874fe27c573685cc2631881215586e50e3868a9ec16561a13d632322fc25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d0b3896f274d53e8508b0e41d9e56b3a670a996121df301efdc42c65e9e2d082005820022ae24c925c179abe5e686441064c3e43ab5db057021b1026589063edd2c54c4750dfc536b2ff5300582002a6dd5ee3f7807ff52beb73f5e1da7524a7d0e7fd58543c0c295c80b09f4db15820fffffffffffffffffffffffffffffffffffffffffffffffffe3c4542c3e0638e0058200238c5155444df5b14051f6c97e69ce0abca50b1c3a51643a87099a73443d34b5820ffffffffffffffffffffffffffffffffffffffffffffffffff9e8853a5f556bc0219677f0058200230ac179df464118586816b1b2d69a837a4436043b58c7e69c8a317631a8e3b5820ffffffffffffffffffffffffffffffffffffffffffffffffffd30310a04bc5a400582002e3ad26af5ed11c774f1bc87c2bd6b349353c62b0ba811e2cefa1d2d4b4b61a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038a60d5015b4216b8e86a1b1160fe0e634dea82e6ec1ea2d0fbb1607f4b32148a00582003362d02ef88b4dd52c360680fb50809df27bac8fa619920f09a33bb78e13f90410100582003271173280935841debbcad30a8d1ba90d032ec463128c7fbe651cfab39bee05820ffffffffffffffffffffffffffffffffffffffffffffffffff4e3d6fb8931b2002192080033758827ae656e6de9f1bf3dc764c14a9a9c71047152e76fcba01074362a1bda003ee5fd05b01135a20789c1ffa1f153876121a1f129564e153575a9890be5298d901410e031663a32fbe696852dbb360acbdaf82782c3df70e2d37378c98ebe5272e80cb8e03b138a4440fe9d9b27530b0c447a1b5831bdea4706d24e76ad97e9914bc55049d03080c522cd87280968b43e361564811362e36250b8c8d4040cb347b97a49e123903172fe5dad23944faf2291b3e465f06dbaa3de65be378d5cb0cb472b498e7ca300058200361f819439ceb5043afe456ab4ebc973b1451dd399be2a0afd0340faeb9b8e05820ffffffffffffffffffffffffffffffffffffffffffffffffffc8b69fcba626c500582003a70aa234d085a35a174b166fec2ad180a6d2c9d87447aa81257ae9fdf3f8b047d31134e890fc020219808000582002a2cdff7a6d8f08eeab0e30695a9a1c64387ddfdfd58402ff2d50f161b903475820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03579c97b63b2093db627f37cbc1f816c671430a07e721ea2d07f084655ac1461a02197fb700582002c5115b4b24977201297128f37b4b429a67e5055027da80a95ad53aa91827c2419d03bfe8f2eaf4be5aa68244611c0e9bfa0e492040eee32b148793290c6425320d910309206bb734bb593b586576cc7e0c41ced63e8623bdc7af494318688688053c6603e66e1330bdb563af2cdc05583fcc5a6d2f88eb8526d6a184132d2c92fbf3418c01410d00582002923a19eadb2a20737d0e06f420dce746b53ae6c8969d6db8f19144335f231c477e0acddc0c4eb200582002b4751ee45d348724aa8661918e1be0fd4f6fc5e81bf702ea4f13e302585771410203041fc6d008771b9b71b4a8d01edf699649dad906aa41fcc33da40ea85ddfcf01005820025dbe13a350d4bb64f31d66d2dda091cb3d9c25ef36117f90653c3aebd03c9e474b3a1192b9214200582002daf1b01f4da6fabeb6de1c0fda44e9454bca94ed1233bb2b8573d6b803a297478889f4990ee8d30309639acdd06c1785032b83857760f863361afe2b4ec9c665b33b6d70540011b903b73c83feb9939ce20349dad07e33fb568a7e927a5449072526eec622428c52380361c32e5fa1f53460890f0e3beb7ac78ae877f9c5658559d8b32cad0a07f0f74f0219eed700582002aca3fe35ee247a8a8c54c4fe129f22cd965bf2ac8c279f7051ae735048af7b410100582002417384ec59d40e7f23330e5fbb1110d65d1937bb74c7f56e0501a9b56100755820ffffffffffffffffffffffffffffffffffffffffffffffffff85a371459b01e80058200277e4eec0913ef4268104ee38e76c32379ff5bfd7255fab20b2b0ff46fe943e471b6a08d81e1e4703eb8f02be240886ad05f9dcc64e7f4c15e0cb3bd76126a019f45a5ce48bcff58a01410703c4f518ce4da3416a9ea8d638cfcc9fda4d300a1bdd341722573524e2ae69b326036cbb91f4757f9e5be815a1daa74fc1eab068741e2332f368449372075852e48400582002a4bfc4f2f795d95a709ea47611436aa4f51dc4d2048f9ad5f778472e15f26047bf836a1521a49900582002e68021b5ff1c43d8c4305e51098d1aa7b1d171ba1719978fb651dab34c274947f8b0a10e47000000582003179a1f8c857f59526685bbf8a9e3f3023b6ca89f07856dbcced56eb42d46204737858b5d37ee160058200370debe9a2ee6dbae68a08a358fe0efa50c041443f2b58dd7bf893b2ad88f304721d6a2d6d925cf005820038aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc10488ac7230489e800000219250000582002bb93cc408c4be1cc77a59958bd598e5e952ec9bfa2e682ca9b2877ce58525f4802505196234982880058200230924607df53ebea3520f6da50226307ad8fd624f5b00cbf3ce9249d9166be5820fffffffffffffffffffffffffffffffffffffffffffffffffe0e9ebde371ffff036f54d165cb80fa97ffb34e1d75881a85e14f952d902ba72cb73628ffc8b5ea5c00582003bc6f98b658721d3c8736043c1e327b150ad3fdfbce6a55f8e88d8d1a502db04101005820032cc07222415544c3e3a11cc63dfddb808dde52dc56961ec3a11b85b78bb2a04801f161421c8e00000058200305e37e237458eff6f34c4dbdb0145d56a3031adc55421d6b94ecb35c5f8b704801e190239e2da63300582003f5076cfdc65cacef8859447996b364f501d82a583e999d1fdc1dba04160f80470dbc2435340e41021906280058200287df7fbb7235b8180a55727e441b66aec2dae37b478245ff476af41900624f47310d48c4a012430219ffeb03c0fb3dc1e81287af7e3399be5cc52288d33342d9e158f1c0f7c8379dc793f90c03fd685baa447b29ff61ff2cddfaf2ec3103e5c891699809cc3faa45b33848faf10331f7b99fe267c5ff4d0f5e22916a7fe9b33e74fc9263f5a3a80b7d79fe05347e0358ba6501be77e220699d471ca28c3c8e3f9008629469f8b22f357505fb5fc62803b13045eb932793481827e5e5cc5ab95aaa3a27ad744b756509edcddc32b071c103193b5f90faa38bc4ff8c5ac64fc43b8e3b406878f01c95a81d989ef6ab00b7eb030c04d1155cf908eadccbba86c0895a522fd90234f20c2ae2364ee606f599f95a0058200289057c1cc840fb6bb97980d57b5aa84338ccc529142a6a0bf885cd8f3bbe415820ffffffffffffffffffffffffffffffffffffffffffffffffffae623364d10634005820030bd7dc92d762599ec809c48348bf0167bf6cc441b3e6e96697a7a1e8072eb04796e58f931b19b00058200373d7a4aa683ea97c001116b0178689050a548503f3e3a5468ceb5cf9c469a041010058200353598a981cf974efac620e4f9809a7fab77d092d9ef16953a46bc1aee04b40488a7512af92dccf980219100303c07cbceabb6073012409a20685970cea5d6b4717b19eda80508d47e83980547303f130f2bac7990a7c24433c95cc9b86d74d7dda49a770e4750a4e076925910b31035faad2af76a6b1606358ebf7f7cb3b5a59be1e1604dac674e8f2504be3cea53103300e84076d68b0c521d6bfad0ad7291ba62fa102302088c6ef29637ed14dffaf03fa134cdccbe6f3d7d9b190dfaf35414c03768f4d1eff7bedae0eec11429ab8f800582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0417b005820035437c09086399e4a75107a4fa24d79fdbc7a967d4286636545e141b4bd00b048032d1177830dc345021200582002c579ca6e26f2fbecc7b975457d619a1fd9203c203421b2239018c84e2ec6a05820ffffffffffffffffffffffffffffffffffffffffffffffffffa2bfa1319469050219f9ff038c697d89c8dcaea68308fd826f99a670315dea4b95b4d0c708955217c4cf53f103b02c3224d43ac718a8107773ed5caa7bd039d1db68fcbc41c660a88e8bd3d1f303161dd8dcbc605bcd6aeb265a0246f307a960cc0ad42b8ad3309cbb40ed3f8c7003d92474eddee2d5dbe79d80dd8e43b8a8e459bef8a55d2415022c32b96ffdb7a40365771da5812249db8cc9406a5ebe16a6e4f885b2627c4fdfd7977869c98d892200582003efc3abc65ae403b55375fab51a4edb362595d5f8040919c7094d3c790e6c20479c66ea4269affc00582003bcaf0d85f21f553552bd94d282b4cfedbbfc462d3e33211f4c7371736137c04107021822038d580800670c63d6e185fb6a5b069ff2a5e450acf2bbfebf16e472ff5f8ba11f005820020b6eab9775363ed286c5258282178bc6e1b83cf65de8b3ba21efa534d26bf4472b1b9e70e7b79d03502f8e15575e8107cfbfc6c1bc7f341f122c1c2e5f6dc88749a21cfec5755cc103b23f6ff56df118d66b15df5e32d1a61b94269b87dca38f089999751c3e206cb300582002cc4f4610bee127104418c4797383d85c7525676ea0e86ddd8f5aba18de86665820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002ba7f0340f9ba733e74875170c7ba6e87869b9c58248f0e25a662275d1e7bd85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03df4b791e1fa3612aa85012a708dcbd59fc5bfa2e34351c131ead75688c92487900582003cfbc53fe131f34be4b532094168e14804144d981b20f513bfd59d1bd4dbad0480121c389e78acfbc00582003a19356b0fce9137d5fd2aa0b41beb2360dd078dc158fe031399ce7a017785048016d288c5e6785a90218420219bedf005820025fded78a2971fdbe4b9ec57efdea0b009d3d41f4e6aedc74599fab69e566765820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200233b78fd20ece47e513e5c4bba376a4fbafda479a39059183903e912ae03acc4706216aef1df011005820024cf9e4620a0fa3b06ab047252a15c25977e3fe4ebd39c6e6601b7e6bca9f604801f161421c8e000003f0fe2615a30cd9458398c59cf0624f99fa6c3b436044f627c7f6c3dc4ab54401005820024998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695488ac7230489e800000058200236df7ee92c442e4222b36d817a80299c6c04b3344680f2f1c499efc1dd35c24101030294d4969290615028461ca457801eb122cc61e3416e6b846587c230b1c4c16b03a5f0cf2569ff61f25b7967f28a56731145db3bad40c4cba83ff22df252f2ed9f0371d178a16a6454de350568e13139e9c9ac513afd29a41f215d71c954cd8c566600582002b51e93d6eef7af81eccaa2d682111830eec36a302381b684ee5f707a4ecf6a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0337d9a252287b7c6d4ec25bf6cf2a3dc3682d93fdbeb0206d70a0fc01a56a5cce00582002c8029172621e653d4033d95ac82f15340c08918793866e5dd7fdbd4d84d3e5479536c70891000000582002094374426c3470525e7e6afd6d9233bd5ec0fd05a9901b331cecb8ee5ea70a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d6ff00582003df19a189730ddea87af8271dac2b94d11516dc20a7d6dcd1fb44b646ec4c505820ffffffffffffffffffffffffffffffffffffffffffffffffff704016eb2f3ada00582003258789e1b7adab3076313b7fd6f531e63dd7b0438e7cca02f99831560224d047324a2ae9df268202190a0000582002105c26b4cf0e6d656bc41feef417e3e3edb94ed694f4b3f085f22e24a47b1e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820029970de1af15d7fc6dce8a7549289bf01a58c90e314d2745d488b2566eebe2c47072616666cd18c039752dcd87168b58688dff35d4025657ae1fdd655882bdb6b2f6ce843c4c72e6f033da581b6680d3d440295bcd3ad8c7d0dd5787880f05c8af372f53af7735e4c6c036b2c58c066c7d143cb1ffa794c6edae1b740846af0841dd5a63088ef4f60d8de03299292ad287a01713db52a2dc6d756a86e3673ded4ccd0f6f9aca5aaba4b0f0603bdbe3ea622a216f1b486ab3fcaa638a087238b830a307dce433fd829768d794b039dd335f0d192b6c6e6e9c87a4499f4aea79f2d2613bf4ec2ba04b769c9d249c0005820025abad28a673ca69f45d20659313ee7c82cb339e08b9d3d19f56901b625bf1c410100582002110dca18dcd0fdd891a6288311ca11e3977eedc6ea76b5c56e8ab6234533f45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02199b5f03416c8e7f036e7dd79f7f36cc471c9ced6cb5096ca56131f27ebc0aa2cee98f100334841dec6c57727b17ac2bac4e7e014617afaa9cbaedcb3a47b7cd8349c482fa005820024862d359c594038da7bcc054dfa3bc524d721f0b7290583bded5250b2ee0fc48010fde68f96f2e0b00582002177ad5e1963b954da186cd74d6af3fc605e3cf5f4dc86b61c3c25de448c88d5820ffffffffffffffffffffffffffffffffffffffffffffffffffae21133a0493b403ab85857ab34b37de2228b5964de411de8435be4384f0f609bc9c06ef589fd6210396d61bf7a3fea39d3168dff2aa98fd576458059ba228d5a1a09f6ca17c227f270354ceb2f33b7d4637c7568a5420f3c148fe16ff8e5504b1ddc2d4134cb5c742b90338b5798429f301995ab50cb6619afdd708f368083399c3e33f3ecb4969d8fd1a005820028bfb6b4eee831514a9560fd1c8bf9b254f0c0af351ab8002b113578e04d8364727556a8620b7350376ec63c3832c6af1a8ec80563d673dbcf730ac98af28c7607f392c6b5cff997500582002e137bbb40d5cedf8702d1f1e804297fa692d25cb8234f84e43786a334d08f9480135dc56c2ef2ff103272a4b6451b22c592c8a377a6812e0d6118b8d0be65a643fda7ce9981fdfddbb0219f7e60338d0012acda50c02a3efc767f58bc5aaf4a4f7438c52612cb249c5567373e3b1039cc40aa3cf3c0fed8a446275315c310b85a0b813cfb477b33d9fac00b1d7d36501410e005820029a7b254c276d7d1f32fb0e15b2be67e600e86866ec1b79fbb07eec30c9678f5820fffffffffffffffffffffffffffffffffffffffffffffffffe0e9ebde371ffff005820034df6ffeff04914b5afa595d32165dd66b9618454efd89205737ecca9cb5f504878dd1cc1fa4980f4005820035061599955654e7ae5e063882443ea26a24c5a4f4bf3de7eee1669a1cfeba05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219100203553ae8ac239fa1808315c3127ad20e827d3f2c1d4feb07ec9c0d1c0c96517f950058200224b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15544c0a7a63bfee83953b2872ca7a74b839cadabecb005820024104714c93acb0a8d7d995462a631dd535ca177115324bb37c15c2fcd5281d474da260842f408d0058200259f3947a201fe7ea7f09b8189ca36424aaff43b9609c4cd43157f3a6fc143847a770d33abfacc2032d6db55f8460ebe50175b6a38e74984cf4d4e02139a6837ecba44293be7eda36005820032d345f0e5b5318cc8e5626d9571e02b15401d0600bcfc2bab0cb42b6ef6d10410800582003aed3cd7191c6cb81a94ca4e536ef729dcc87078a3c82fc08f3a83d6a4df0805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219101003e21688d57e63d4d696fcbdd9212ff3c42f665cb5702b831e34d1e9fdc8acab1000582003793f1f47b7f75e7d458eaa61b23f2a14f31fe51b22713c154480697bd45500474c0d77ea94f13500582003306b442cabec8e658b8730a638031f1120c73e6cce0c9e3724da87348b96b05820ffffffffffffffffffffffffffffffffffffffffffffffffff89a03d4a29b371005820038101493d5f1a4bf6bf61fc48061ba7f0ad5d317c0a62a0c8d86f553f30263041030219124003c92511c373fd8582dbaa6e1ed72a88cfb65319c5e9248ed7386ac7673e0e9e510219ddef00582002b695b26f19c29ebb416cf28b5fd835edb1d58b88c918cbaa226ec052c580744801f161421c8e00000377f7fd6b2044852679425d728869b7e34dbc3d25f9b0a9dbef22a03df9631481014105030bf9f9102513305f87800fd3ab7f042484ca59b2d91f3868d6243aece4c92104038e71e6997f3182657629a76b8b5c8a36409a75d6670f3e804d31e091ebc491bb00582002547d146d2f09880ffb78efacb51c0c4576c263b69312842577102c9a734123476b06391e3472e600582003815770d002732fb6743fc86cb7ef4964c973389669d4ef812b10432c30dea0471eb9bbfa9ad9ba00582003c6505b722d1015cc6b63193ad07b3c17de44f785d2c9e5582ef51d0b649af04731ce5e1bf9e15b005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5047b1a2bc2ec50000005820035966f8b7f2152f33fe2dceeb395efa50c297905a397b6a9c15f0773b9d9540472e8970642b9f310219880603bc076f09e7ddefc1822738dcc8904f3864e9a5fac9ec572e97acc778a08996020352025a4aef558a363caf6fe64602bb451de3aa5c6e0599a1dcd868762454e11f035d38ec6adfcb1d91bebf3e0a9e1b2a664ec67d20e45cdb61e21ab6f9a68ce89903ab4c9f9868dc986b580ac346a6d93ad03ff4aaf62d89b02bf5dfb2a01f340f48033f6414481ce7c990a4ae359603a89289a8c0fa26bc6cb41e06794fc6b72ce98c0058200314bb7a16764915711223f724bdd99f85f1b86f3c2c22cd2c4757569effe1c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003253ecc46f954d5297257cfbdf56ef20db479cb0d65f15824d2c9b2fad35c10475209f625b47e2800582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7048016345785d8a00000218580219f3be038ba1c5526f539c55a3cb9d1b6a63e6e9d65208c59f96ba881d17a065a03537e1032f8678c46c76f0f4689aa4a8ef874f4fd1257322e5ba6c1553f43410ad48658c00582002ebe216d156214057cff20c988314876bad1ecb9e486d5c4eac3f8c4cdb10c55820ffffffffffffffffffffffffffffffffffffffffffffffffffbb494860985410005820023b248a16a4406cd19272d673e5f4e491a4ad4a6d798342218dfa87103a2592410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35601012dd689bc44fbee35491f475498c443d88ae63418005820024978ba92cc5efb6b9db84603b5a963b38348f538011d67865839e23d86b40e47690d2add7fd73000582002ed91a61e13b9526a8e2feeec99e9001b9ee51f0362266246c35d6209b9bfde5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03061967076184f580c2355b7bf6fec25beefe789035bb3df00b0c510bd59763cc030625db46b934ba71388fda550bf1f37daa149e431e6c1d1a977825077e36ff50033cb363869d1238347fea7d60543a7442a64fd3947561d3aeec55a8a059bcf31d0373a6b6bcea9feb7c160fb11a3206c14b77eddc0f8d68b14ae1f9de1ce0a9bd2703f8f902ae8d46a59aa3791c127d26c2c32cc322ccb03cdf94e5704d38431df3b80058200380e1b723a9597273259224a74578ceaa96d4918aa96b386e37066a326df3105820fffffffffffffffffffffffffffffffffffffffffffffffffe4c669e4925d72600582003be2cd72a47d89890ef09718979669afd3561ded7064999f11a865af2f10c805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030940a70b43df9bc9092b70f798a96a2c2e2f53b74c8081836f5ced324248504801014a31b3928bba02194500034acea69e8ec64a14e4188a795201cb8a4af27ad37487f1a13d16186cbb907cc00219dd7f0219ffff05581e0325f8fdd85ef54fb4add96b313bbe132afe5c2ac554c9fd55847b6a3c200701191ddc035dedec9cf87ed175256570780f32d1142b9372100ff131bf8657b1ee601f647a05581e033d177ccaa9eb105be2927d49387c047c0306cc94dee6419e5737c506000c05473ae75bd0fc850005581e0375d453257950668934bd04171f2425ee800e83f1f82e6a722cc08f10b00c0246b9efe593f00005581e033793e335e5b7a2b213284e69fb9124d25cb011b75e19ac49b9a7d427f00c034713c327bd07100005581e03933516b77c638f50b111b0f24c2a65c5e028acc7f864a10f0098e01190040202196f3f03aabc3873d24f199a18a85ae778b567c02a2ef4566e6366eef7b349d368bf808103cf5742694cd7dcc1b49aab333dcee19400c1a815a413bda3b3b06718b4a876c0039b6832b5840c13dde37fa408e3b74f0e69ab9ffdc2b5e460bdb04cb49139f45e03a5c1e42f2d2a7c7eb56809d340bd5e1e634e89796a130fbc3ae5e9c6d30ac6d003260319aaee71ef65cdc9047d0b52f5835418b3e5d01fccfa018957e7a985ca02038dfec1af2a1dcd5b0465c1a03067d946467aed00f5a7af2cc0d9fd1925b1b3d803977dd491e5440d99b46ff5f552024ab0db959102f34a0792f32551783268feca03c7be3dcd7974e3ea6e138e602a0564193e876dbe3fec85f6fc65341d49e4fc6d035ca6ca23f4b873373d9a54ab0d0ed0e4c0031dc5519c83413470c1b1d02b5720039570c8a0165aef08eeaad390c25134f8cbc2d527867ab553635448d26109a03703b3275073a1325dad1f90d8d1e2d49056fcdc81c9c97f6648149f37c8582d489603ddfc3d989727a05b3423f1ea20a9db67419dc2dba3a3ef43706063df365a4fbd0383f8736d48ab21f31a8d482de55d3586779bbafe1c2e1f3942537680b06c34130336331c34f0d956595f511fa474a5cd835658dabede50cd8ca4f4f473b4e2c5ac0219ffff03e986fd3ae733201a831ae629691582a0f1999447c9c16a978a9c71e5702c58970318c1fe1da517bb161cd4d99805596041d5fe8366f35e14deb1667be70e35575a032dea1059c95adfdeee03e743e4c10818b45c88a27c8560d19bcb1e53d2ece00b03080aa35fc8a277b57d5b1b6298b57fb76f773385e384366270412849043afc290369917c520e47f48b6da3a4b3798b38a371bd9406c8824b1c18bfc0717529d3f50219ffff03ff3c6874dd21245731632b15ef701ae36e38a9efb8e6df118e66263820d39e9803c9e5330b97a78489974e4a71b2f1c6de51819357e2404c6a818d3e4d83b13b8003377e48f05dcc8f0aedeb57987af44dd3d605a2201f1c1c1abc63bd6511b13240032059004eff48f101d380852c50e432939d799916707d1e136f418a3652c53ef003f5d548547ae2629144725ea67cbaf97b4db393a37af325d70f2786acbbd8b7da0300f8749e0b2be33bbc5913c713cf6b22cb0e045b4f937659bae355c4e2ea62cf0323b9b88572239fb65f73423354b8df802025763d2951c8321dd1361aba0997cf0364bb0c3078ecbc913d923b57b903d633e1886b8f1c8a89db0b9300906d0240e503fdb123d291fe9424fba768d77bc1adb9b2a66b9c103dca6ad16dbeb40f68572f030e2b6fe9706f27797ee019de6b831b0fabc40fcf4c22b58af802350b68ed371c03cc13b260c1f9897b82ab09a6b5c14175f2b686c100374f52b5f45997ad98f352035667dee4bb9d06d9805796dc1b77c74ade7d044a37f1c3fe0e0bcdc0521dd6aa0219ffff039425c7d59fbf1e7c585630cb6a612e9cae9a55719fce2fb10c16858df28cc24b037cc4b5cd5c23d8a2a9d556f521f0bed9c593b5ad4a7d3393bf499e7aed29a7c5034caa412bf57633088185815005a6c8ab0f76c282ed54b472dc821c6c1d551b2d03f9fed06da6ea893587080d1fd91013d15007ddad9ea96198ae79d841a864664103a2e7cdcb998b3a7f97a3e77e3cf09189c2fbbffaaaa067f895d8b2c23dd712a6034e15487d8be159423ea2c875184035f0e3c850f0bb9f749f2aae18ca3ad6437b03c46c14eb50e19fca06e0369b093d52eb7a8b2a056db5e4a22a19a636d532d26e0303d176134b59c632e2ec03f3fcd274093d4f46820b753a419a6bc8b824736f28033ead4aa5a24b770bb78f307ced0f2cfb05338a6b4e5ec1110ffa1fc29e6c1f06035c4025f110517424983bfdafa0dfba572a07aadf94059ac9f40e9bf4b186942c031b83e43084cb2a52dc5fbfd82752377a917187ffaa4128bd3de225af0ad30f7c03caae87297f1d4d55b4c71b3418c1f127197478dd077e3105fbafc9da1db09d930362787009d249d991c033bd2d14754c94c39c751309129f77d2734f3d906eed2f03f990fb129e612f14fbe13c121f3318e080182e0611fa169efdbcab251a6d8b3b0330837ba6b997949533f8ccad24314be7f4b95e1270702edd8399770cfde8a8a5033d2b4f9ef781e18d1959c6c068c43d3e5eede438ab8634ed26fdc088e7a2d40e037d69be9a229718dbc6b1db74e1fad25e405a82bdded6cf33af2218770029556303ad9b2f633b42af210a3307b8b2a3700ab0a024d800cc6916e6ce97aa0c8d8d9403ba317140e7a998b87d15d16b490b87950d3a3c6cfbebb90f8a6e6b40d5baa3ca03d061a7381299b6c860260871b80c152620735d1bef7526331fe80d9c88f8cd5403058f15a09988c937cc23ba75e1a906b27d842380a6d371c7a656315b3fcac0920348fd5d43aa513fa0c4d30ebf49bf88eaf6fdfa6a41b3361ffc5679a8cf2a517103a38da17f928810fa90ebd81b527845b2dc21d59db1edf7e738e0e7b623c7ef9e0343025d3ea2ac30efbf44d9af21b5adb0e906c82086262cf4ebfbe3f232ce6f9c034b3567475c9fe2c0ff2f14874d43c4de8b58df1b1f8ee0fb5f3d6b5fe3c2673a03df4806d95be5f9ae6f9d277b94f2c845439405a5177d4479f69a240cbcff0f8d03068cbed3006110f8d17df9db262caa3a39254f1ab164ff4ab7b08de74d891fee03279150b08dd714b6c507730fe2c3a16188788c938fad0673686bb7c6c58ce62a0387192f6df81146f2429475f86e116f458914028d84e04c96d7d152ab3388926903de8a5444a21e31c0a5419aeebf5e022b6f7832198fc738a9f30b61709f1bdad303ec1b44eb904736888cdb0836971c787b6e076e473fc8dfaec6a8632d849de25705581e030d48c15b1fb783c8ad93568358d3f5086e5709a663e40723716f8b2290040105581e03f447cc522c13fde9beaa4f5b7802daa6e720470004d16254928f8865a00c0348014e663d5f58000003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031cfe9f0dade9470cd0e2f514a1f1395fc4ee32fbfdc780ec312795f45007011bffffffffffffffff04593cf8608060405234801561000f575f80fd5b5060043610610283575f3560e01c80638da5cb5b11610157578063b9c4d9fb116100d2578063dfea951d11610088578063ec5f752e1161006e578063ec5f752e14610682578063fe102cda14610695578063ff35819b146106a8575f80fd5b8063dfea951d14610632578063e985e9c51461063a575f80fd5b8063c87b56dd116100b8578063c87b56dd146105f9578063d2c0fa5a1461060c578063d85d3d271461061f575f80fd5b8063b9c4d9fb146105b8578063bb3bafd6146105d8575f80fd5b806395d89b41116101275780639cb8a26a1161010d5780639cb8a26a1461058a578063a22cb46514610592578063b88d4fde146105a5575f80fd5b806395d89b411461056f5780639b78fdd914610577575f80fd5b80638da5cb5b146104f9578063906571471461051957806391ba317a1461052c578063931688cb1461055c575f80fd5b806340c1a064116102015780636c0360eb116101b75780637860ca2d1161019d5780637860ca2d146104825780637c7acba6146104955780638c0e8349146104bc575f80fd5b80636c0360eb1461046757806370a082311461046f575f80fd5b806342966c68116101e757806342966c681461042e5780636352211e146104415780636933e79a14610454575f80fd5b806340c1a064146103f057806342842e0e1461041b575f80fd5b80630ebd4c7f1161025657806323b872dd1161023c57806323b872dd1461038b57806329f87c381461039e5780632a55205a146103b1575f80fd5b80630ebd4c7f1461031157806318160ddd14610331575f80fd5b806301ffc9a71461028757806306fdde03146102af578063081812fc146102c4578063095ea7b3146102fc575b5f80fd5b61029a610295366004613150565b6106bb565b60405190151581526020015b60405180910390f35b6102b76106cb565b6040516102a691906131d6565b6102d76102d23660046131e8565b61075b565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102a6565b61030f61030a366004613220565b61078d565b005b61032461031f3660046131e8565b61091d565b6040516102a69190613283565b61037d60c95463ffffffff780100000000000000000000000000000000000000000000000082048116740100000000000000000000000000000000000000009092048116919091031690565b6040519081526020016102a6565b61030f610399366004613295565b610973565b61037d6103ac366004613318565b610a15565b6103c46103bf366004613397565b610a50565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016102a6565b6102d76103fe3660046131e8565b5060c95473ffffffffffffffffffffffffffffffffffffffff1690565b61030f610429366004613295565b610a67565b61030f61043c3660046131e8565b610a81565b6102d761044f3660046131e8565b610b22565b61037d6104623660046133b7565b610bad565b6102b7610bcc565b61037d61047d36600461340a565b610bdb565b61037d610490366004613425565b610ca7565b6102d77f000000000000000000000000612e2daddc89d91409e40f946f9f7cfe422e777e81565b60c9546104e49074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016102a6565b60c9546102d79073ffffffffffffffffffffffffffffffffffffffff1681565b61030f610527366004613489565b610cc8565b60c9546104e4907c0100000000000000000000000000000000000000000000000000000000900463ffffffff1681565b61030f61056a3660046134e8565b610fa8565b6102b7611060565b61037d610585366004613527565b61106f565b61030f611094565b61030f6105a03660046135b8565b61110b565b61030f6105b3366004613620565b61111a565b6105cb6105c63660046131e8565b6111c2565b6040516102a6919061375b565b6105eb6105e63660046131e8565b61123e565b6040516102a692919061376d565b6102b76106073660046131e8565b6112f5565b61037d61061a3660046133b7565b61133d565b61037d61062d3660046134e8565b61141a565b6102b7611425565b61029a61064836600461379a565b73ffffffffffffffffffffffffffffffffffffffff9182165f908152606a6020908152604080832093909416825291909152205460ff1690565b6102d76106903660046131e8565b611450565b61029a6106a33660046134e8565b611499565b61030f6106b63660046137c6565b6114c5565b5f6106c58261153b565b92915050565b6060606580546106da906137e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610706906137e9565b80156107515780601f1061072857610100808354040283529160200191610751565b820191905f5260205f20905b81548152906001019060200180831161073457829003601f168201915b5050505050905090565b5f61076582611674565b505f9081526069602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b5f61079782610b22565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff8216148061088257506108828133610648565b61090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610850565b61091883836116fe565b505050565b604080516001808252818301909252606091602080830190803683370190505090506103e86bffffffffffffffffffffffff16815f815181106109625761096261383a565b602002602001018181525050919050565b61097e335b8261179d565b610a0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610850565b61091883838361185a565b5f80610a3873ffffffffffffffffffffffffffffffffffffffff86168585611b54565b9050610a4587878361133d565b979650505050505050565b5f80610a5b84611450565b94600a90930493505050565b61091883838360405180602001604052805f81525061111a565b610a8a33610978565b610b16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610850565b610b1f81611c32565b50565b5f8181526067602052604081205473ffffffffffffffffffffffffffffffffffffffff16806106c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610850565b5f610bb88484611d1b565b9050610bc582600161110b565b9392505050565b6060610bd6611fe0565b905090565b5f73ffffffffffffffffffffffffffffffffffffffff8216610c7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610850565b5073ffffffffffffffffffffffffffffffffffffffff165f9081526068602052604090205490565b5f610cb385858561133d565b9050610cc082600161110b565b949350505050565b5f54610100900460ff1615808015610ce657505f54600160ff909116105b80610cff5750303b158015610cff57505f5460ff166001145b610d8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610850565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610de7575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000612e2daddc89d91409e40f946f9f7cfe422e777e1614610e8d576040517e9035c100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000612e2daddc89d91409e40f946f9f7cfe422e777e166004820152602401610850565b610efe85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525050604080516020601f890181900481028201810190925287815292508791508690819084018382808284375f920191909152506120ae92505050565b60c980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff88161790558015610fa0575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b60c95473ffffffffffffffffffffffffffffffffffffffff1633146110155760c9546040517fef82335f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610850565b60ca6110228284836138ac565b507f6741b2fc379fad678116fe3d4d4b9a1a184ab53ba36b86ad0fa66340b1ab41ad82826040516110549291906139c4565b60405180910390a15050565b6060606680546106da906137e9565b5f61107d8787878787610a15565b905061108a82600161110b565b9695505050505050565b60c95473ffffffffffffffffffffffffffffffffffffffff1633146111015760c9546040517fef82335f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610850565b61110961214e565b565b61111633838361224d565b5050565b611124338361179d565b6111b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610850565b6111bc84848484612379565b50505050565b604080516001808252818301909252606091602080830190803683370190505090506111ed82611450565b815f815181106111ff576111ff61383a565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050919050565b6040805160018082528183019092526060918291906020808301908036833701905050915061126c83611450565b825f8151811061127e5761127e61383a565b73ffffffffffffffffffffffffffffffffffffffff929092166020928302919091018201526040805160018082528183019092529182810190803683370190505090506103e86bffffffffffffffffffffffff16815f815181106112e4576112e461383a565b602002602001018181525050915091565b606061130082611674565b611308611fe0565b5f83815260cd6020908152604091829020915161132793929101613a9d565b6040516020818303038152906040529050919050565b5f73ffffffffffffffffffffffffffffffffffffffff821661138b576040517f49860fb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113958484611d1b565b5f81815260cc602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155905192935083929091907f296490d14aadeb9208962e029edf126e34fe835b4ed9dc8c91602df4d0476695908290a49392505050565b5f610bc58383611d1b565b6060610bd67f4e465420436f6c6c656374696f6e00000000000000000000000000000000000e61241c565b5f81815260cc602052604090205473ffffffffffffffffffffffffffffffffffffffff1680611494575060c95473ffffffffffffffffffffffffffffffffffffffff165b919050565b5f60cb83836040516114ac929190613aba565b9081526040519081900360200190205415159392505050565b60c95473ffffffffffffffffffffffffffffffffffffffff1633146115325760c9546040517fef82335f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610850565b610b1f81612459565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f2a55205a0000000000000000000000000000000000000000000000000000000014806115cd57507fffffffff0000000000000000000000000000000000000000000000000000000082167f40c1a06400000000000000000000000000000000000000000000000000000000145b8061161957507fffffffff0000000000000000000000000000000000000000000000000000000082167fbb3bafd600000000000000000000000000000000000000000000000000000000145b8061166557507fffffffff0000000000000000000000000000000000000000000000000000000082167fb779958400000000000000000000000000000000000000000000000000000000145b806106c557506106c582612684565b5f8181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff16610b1f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610850565b5f81815260696020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8416908117909155819061175782610b22565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f806117a883610b22565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611815575073ffffffffffffffffffffffffffffffffffffffff8082165f908152606a602090815260408083209388168352929052205460ff165b80610cc057508373ffffffffffffffffffffffffffffffffffffffff1661183b8461075b565b73ffffffffffffffffffffffffffffffffffffffff1614949350505050565b8273ffffffffffffffffffffffffffffffffffffffff1661187a82610b22565b73ffffffffffffffffffffffffffffffffffffffff161461191d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610850565b73ffffffffffffffffffffffffffffffffffffffff82166119bf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610850565b8273ffffffffffffffffffffffffffffffffffffffff166119df82610b22565b73ffffffffffffffffffffffffffffffffffffffff1614611a82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610850565b5f81815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff8781168086526068855283862080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b5f80611bac84848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152505073ffffffffffffffffffffffffffffffffffffffff8916929150506126d9565b905080806020019051810190611bc29190613ac9565b915073ffffffffffffffffffffffffffffffffffffffff82163b611c2a576040517f8556197e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610850565b509392505050565b60c95473ffffffffffffffffffffffffffffffffffffffff163314611c9f5760c9546040517fef82335f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610850565b5f81815260cd602052604090819020905160cb91611cbc91613ae4565b90815260408051602092819003830190205f9081905583815260cc835281812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905560cd9092528120611d12916130d9565b610b1f8161271c565b60c9545f9073ffffffffffffffffffffffffffffffffffffffff163314611d8a5760c9546040517fef82335f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610850565b5f829003611dc4576040517f5a3ee44200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cb8383604051611dd6929190613aba565b9081526020016040518091039020545f14611e1d576040517fcd47065e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c98054601490611e4b9074010000000000000000000000000000000000000000900463ffffffff16613aef565b825463ffffffff9182166101009390930a838102908302199091161790925560c9549092507c010000000000000000000000000000000000000000000000000000000090041615801590611ec6575060c9547c0100000000000000000000000000000000000000000000000000000000900463ffffffff1681115b15611f285760c9546040517f797049f00000000000000000000000000000000000000000000000000000000081527c010000000000000000000000000000000000000000000000000000000090910463ffffffff166004820152602401610850565b600160cb8484604051611f3c929190613aba565b9081526040805160209281900383019020929092555f83815260cd90915220611f668385836138ac565b50611f71338261277c565b8282604051611f81929190613aba565b6040518091039020813373ffffffffffffffffffffffffffffffffffffffff167fe2406cfd356cfbe4e42d452bde96d27f48c423e5f02b5d78695893308399519d8686604051611fd29291906139c4565b60405180910390a492915050565b606060ca8054611fef906137e9565b80601f016020809104026020016040519081016040528092919081815260200182805461201b906137e9565b80156120665780601f1061203d57610100808354040283529160200191612066565b820191905f5260205f20905b81548152906001019060200180831161204957829003601f168201915b5050505050905080515f036120ab575060408051808201909152600781527f697066733a2f2f0000000000000000000000000000000000000000000000000060208201525b90565b5f54610100900460ff16612144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610850565b6111168282612795565b61219a60c95463ffffffff780100000000000000000000000000000000000000000000000082048116740100000000000000000000000000000000000000009092048116919091031690565b15612220576121eb60c95463ffffffff780100000000000000000000000000000000000000000000000082048116740100000000000000000000000000000000000000009092048116919091031690565b6040517fa2cb84bb00000000000000000000000000000000000000000000000000000000815260040161085091815260200190565b60405133907fd3747e9bfbfe48316cef75f276e53ab68e800a3fa1a0d4540245a64b85c25988905f90a233ff5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610850565b73ffffffffffffffffffffffffffffffffffffffff8381165f818152606a602090815260408083209487168084529482529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61238484848461185a565b61239084848484612844565b6111bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610850565b60605f61242883612a30565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b8063ffffffff165f036124c35760c9546040517f89a313660000000000000000000000000000000000000000000000000000000081527c010000000000000000000000000000000000000000000000000000000090910463ffffffff166004820152602401610850565b60c9547c0100000000000000000000000000000000000000000000000000000000900463ffffffff1615801590612526575060c95463ffffffff7c0100000000000000000000000000000000000000000000000000000000909104811690821610155b156125885760c9546040517f07f4133a0000000000000000000000000000000000000000000000000000000081527c010000000000000000000000000000000000000000000000000000000090910463ffffffff166004820152602401610850565b60c95463ffffffff808316740100000000000000000000000000000000000000009092041611156126085760c9546040517fbcf4db270000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090910463ffffffff166004820152602401610850565b60c980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff8416908102919091179091556040517f5633fd1915094f39ec7d395ea541662e957f3fffdcaf492b661373bf00da98fd905f90a250565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167fdfea951d0000000000000000000000000000000000000000000000000000000014806106c557506106c582612a70565b6060610bc583835f6040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250612b52565b60c98054600163ffffffff780100000000000000000000000000000000000000000000000080840482169290920116027fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff909116179055610b1f81612c5c565b611116828260405180602001604052805f815250612d32565b5f54610100900460ff1661282b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610850565b60656128378382613b36565b5060666109188282613b36565b5f73ffffffffffffffffffffffffffffffffffffffff84163b15612a28576040517f150b7a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906128ba903390899088908890600401613c4e565b6020604051808303815f875af1925050508015612912575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261290f91810190613c8c565b60015b6129dd573d80801561293f576040519150601f19603f3d011682016040523d82523d5f602084013e612944565b606091505b5080515f036129d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610850565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610cc0565b506001610cc0565b5f60ff8216601f8111156106c5576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd000000000000000000000000000000000000000000000000000000001480612b0257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b806106c557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146106c5565b606082471015612be4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610850565b5f808673ffffffffffffffffffffffffffffffffffffffff168587604051612c0c9190613ca7565b5f6040518083038185875af1925050503d805f8114612c46576040519150601f19603f3d011682016040523d82523d5f602084013e612c4b565b606091505b5091509150610a4587838387612dd4565b5f612c6682610b22565b9050612c7182610b22565b5f83815260696020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811690915573ffffffffffffffffffffffffffffffffffffffff85168085526068845282852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b612d3c8383612e73565b612d485f848484612844565b610918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610850565b60608315612e695782515f03612e625773ffffffffffffffffffffffffffffffffffffffff85163b612e62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610850565b5081610cc0565b610cc08383613095565b73ffffffffffffffffffffffffffffffffffffffff8216612ef0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610850565b5f8181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615612f7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610850565b5f8181526067602052604090205473ffffffffffffffffffffffffffffffffffffffff1615613006576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610850565b73ffffffffffffffffffffffffffffffffffffffff82165f81815260686020908152604080832080546001019055848352606790915280822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b8151156130a55781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085091906131d6565b5080546130e5906137e9565b5f825580601f106130f4575050565b601f0160209004905f5260205f2090810190610b1f91905b8082111561311f575f815560010161310c565b5090565b7fffffffff0000000000000000000000000000000000000000000000000000000081168114610b1f575f80fd5b5f60208284031215613160575f80fd5b8135610bc581613123565b5f5b8381101561318557818101518382015260200161316d565b50505f910152565b5f81518084526131a481602086016020860161316b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081525f610bc5602083018461318d565b5f602082840312156131f8575f80fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610b1f575f80fd5b5f8060408385031215613231575f80fd5b823561323c816131ff565b946020939093013593505050565b5f8151808452602080850194508084015f5b838110156132785781518752958201959082019060010161325c565b509495945050505050565b602081525f610bc5602083018461324a565b5f805f606084860312156132a7575f80fd5b83356132b2816131ff565b925060208401356132c2816131ff565b929592945050506040919091013590565b5f8083601f8401126132e3575f80fd5b50813567ffffffffffffffff8111156132fa575f80fd5b602083019150836020828501011115613311575f80fd5b9250929050565b5f805f805f6060868803121561332c575f80fd5b853567ffffffffffffffff80821115613343575f80fd5b61334f89838a016132d3565b909750955060208801359150613364826131ff565b90935060408701359080821115613379575f80fd5b50613386888289016132d3565b969995985093965092949392505050565b5f80604083850312156133a8575f80fd5b50508035926020909101359150565b5f805f604084860312156133c9575f80fd5b833567ffffffffffffffff8111156133df575f80fd5b6133eb868287016132d3565b90945092505060208401356133ff816131ff565b809150509250925092565b5f6020828403121561341a575f80fd5b8135610bc5816131ff565b5f805f8060608587031215613438575f80fd5b843567ffffffffffffffff81111561344e575f80fd5b61345a878288016132d3565b909550935050602085013561346e816131ff565b9150604085013561347e816131ff565b939692955090935050565b5f805f805f6060868803121561349d575f80fd5b85356134a8816131ff565b9450602086013567ffffffffffffffff808211156134c4575f80fd5b6134d089838a016132d3565b90965094506040880135915080821115613379575f80fd5b5f80602083850312156134f9575f80fd5b823567ffffffffffffffff81111561350f575f80fd5b61351b858286016132d3565b90969095509350505050565b5f805f805f806080878903121561353c575f80fd5b863567ffffffffffffffff80821115613553575f80fd5b61355f8a838b016132d3565b909850965060208901359150613574826131ff565b90945060408801359080821115613589575f80fd5b5061359689828a016132d3565b90945092505060608701356135aa816131ff565b809150509295509295509295565b5f80604083850312156135c9575f80fd5b82356135d4816131ff565b9150602083013580151581146135e8575f80fd5b809150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f805f8060808587031215613633575f80fd5b843561363e816131ff565b9350602085013561364e816131ff565b925060408501359150606085013567ffffffffffffffff80821115613671575f80fd5b818701915087601f830112613684575f80fd5b813581811115613696576136966135f3565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156136dc576136dc6135f3565b816040528281528a60208487010111156136f4575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f8151808452602080850194508084015f5b8381101561327857815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101613729565b602081525f610bc56020830184613717565b604081525f61377f6040830185613717565b8281036020840152613791818561324a565b95945050505050565b5f80604083850312156137ab575f80fd5b82356137b6816131ff565b915060208301356135e8816131ff565b5f602082840312156137d6575f80fd5b813563ffffffff81168114610bc5575f80fd5b600181811c908216806137fd57607f821691505b602082108103613834577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b601f821115610918575f81815260208120601f850160051c8101602086101561388d5750805b601f850160051c820191505b81811015610fa057828155600101613899565b67ffffffffffffffff8311156138c4576138c46135f3565b6138d8836138d283546137e9565b83613867565b5f601f841160018114613928575f85156138f25750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b1783556139bd565b5f838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b828110156139765786850135825560209485019460019092019101613956565b50868210156139b1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b60208152816020820152818360408301375f818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b5f8154613a1c816137e9565b60018281168015613a345760018114613a6757613a93565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450613a93565b855f526020805f205f5b85811015613a8a5781548a820152908401908201613a71565b50505082870194505b5050505092915050565b5f8351613aae81846020880161316b565b61379181840185613a10565b818382375f9101908152919050565b5f60208284031215613ad9575f80fd5b8151610bc5816131ff565b5f610bc58284613a10565b5f63ffffffff808316818103613b2c577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6001019392505050565b815167ffffffffffffffff811115613b5057613b506135f3565b613b6481613b5e84546137e9565b84613867565b602080601f831160018114613bb6575f8415613b805750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610fa0565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015613c0257888601518255948401946001909101908401613be3565b5085821015613c3e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b5f73ffffffffffffffffffffffffffffffffffffffff80871683528086166020840152508360408301526080606083015261108a608083018461318d565b5f60208284031215613c9c575f80fd5b8151610bc581613123565b5f8251613cb881846020870161316b565b919091019291505056fea264697066735822122062bb98edc0927318d9c675a6b229fc439609358fa5d3890423cbde9d73f26ac564736f6c6343000814003300582103585cf9928072cd8fc6111506770bc15ecb39777d1a0b80d75c571238837966a058204e465420436f6c6c656374696f6e20496d706c656d656e746174696f6e2076360058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005821036501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354058204e4654763600000000000000000000000000000000000000000000000000000a00582103ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c7041410219011505581e03887c43bc9a101e8002dfe025165c7fbfd766b4e4824c162880cafaae900701193cf805581e032b161c1794b0645935baef959ec1e2f341fafd5d947b5a9fc15dc07b80040205581e03fb062272a80cb29daf7bdd48dd9918571899894b780a557948278026d00c014707c106999279f703205e7af4cbe625831bd6c9c48f40f50ed58e35871e366a67db5e03046974e58305581e03356f78d5186bf0995ddef1c795128ebb1d177336ff7024f2684fb58c000c03464672d4c377a002193c5c031d780de25d81e2536f22287ea71c7d74daad247d30fdfb251ea166265689e60803bb3f3b830d62e4e04a59d6c10ae3ec95c305a82e304c13a6b6da6cd873bab43d032ccf769b60a23b76c6112ce2b7953dd210f18ed199699a68258954f09809a64e0335a2f7e01ba460dd5eecdcdc8fc6cd31d29055438cf183d850c976f28088158c033ae4da27ef3e59345dcce1b49faf854faf5020637be5c6846ab7cb8bda002dc203790f1e6be0c6d92604f6ce2557d46bda195c008e73b271420ca733835db3167e0300317b8dae690cc5a8dd590aee9220ba50fe9ed18967d08de1ed9845d41fbdec03e170742ccc2fcc0b906a904f4a7f6baa080b3bfec3e42bfd0c11539940544ef903b83675844a4428eb70d02c8fa80705d1e34ff31b6720288b3ae71a34cfb17f370219ffff03541d85883ca2a288ae3878d14bbf2fd88abcc86dae5adfe5dfc21ef57a735ae203839d67cf7f4353424021d0d35c56748ebf2349932c452e3688f93d10c885e9f70383df9ec3fb63d54a3082aaac3cba0b999eb86d15aecdc32d79b8c16e0e510a6a0219ffff034459ed4f836c4c84f460119c13ff4a8acbf3a1d336d23f61a3a16b1978067468031c084bfd95746bd1e2241ab8a0c82508556ac0b8e6f0e6c6109ce533e31e876503d31afd276a145d721f55a0eff392482efef2bf6ed763de1584363aa84cdeed540219ffff0328a2f2ca5b2917aa3977037483d3be47f25f37aaf329cc64e5abfd08c5cda42603245a8c44b6636ad4d6f94d07a0ffb9c63a8f9abe925b94ad9aacb2b7748bdeb603797b4cf9f8d121ba151ab56b8b647f81db5e96daa005bad1a90ee47783e867f8035a80d6a10a6960b646f42d0d5f493eb3d7252aa20e7b428e2bb98cee4324591d038e01e2a461cfd2da268ed22dc5e608258afd70993d7515a7da5b86c5172efe240374535041c4d936cc33044b41df7fae8f184dc945d844ea800a4b2c915743220e0397b5a12b1ffd211483d01d701e185059284f6a82bd6c2d029e2f9f2a46733c750366c724a4bae7147b0344b22e85af38c6586f04fdc21e407966a2b8e4b8c2d4be0325cb6429ff694b271024d55639fa580a26f53a53a8e6fc5cd8624b7f16990e6f038df45e3eecdcf4f1cbc2d3457b02828af16bfdba48e3a12d6b7ac2884685fd9d033e7194399e4191e4da5dfa74253f036ad7c40b518bab05b0b57592a8019e3a08030e1071efc027a2ae6a2785dc02dfac1e2d90b5a80b9ec589a2520dc3f19c4c9703538043e5beec3738748080babcf3e516be05c6fadb7186d237e7e37e729c89490329b3799a5d938fed3a895962721c1aeb09393bccc0036c1fcc170fd06773836e0363abb40b6c8eb42c5189e195896421d8241955393bb04f7abfc24a1ec06bb7bb0309ff26fd1ba2a44eed7a350bb336c74c9eb8c67be69af3c54038cdde4e8ac24303a8ea523b0e8a39b623dbc4b57fcfdc12294e100b02f8228dab3d1a3c291fe94e03ef8039bbcaae8a144c5ecef108f9b5c50fe88644c515eb57bf87693ffde273b203027c2046e1fee0c1f9d423cbee3a1426bd4d755074b8084a6bf29693b663702f03d0555cd45273121b659ede28fab68d713c91ac40f0670c50172b8428c659dcb703c68ce222ccdb502bfc4246497170e4f34ae8ca7a998b111d9a503c67dab268de05581e0387718ac6311ce57db5fcbac110d443b24435e50bf414677fa59655d0600401033b91ac772dc92e2e45bc106ca253d0c33f04308e377848865ec9514cc8936b1a04595ef16080604052600436106101a55760003560e01c806382230446116100e15780639e0bbd9f1161008a578063a7fc7a0711610064578063a7fc7a07146105bd578063c3540448146105dd578063e42e0ea9146105f0578063fd32692114610610576101ac565b80639e0bbd9f14610529578063a67f534d14610549578063a69685b514610592576101ac565b806390ea7413116100bb57806390ea7413146104b3578063915ad7e9146104f657806396f4130c14610516576101ac565b806382230446146104485780638c95ff1e146104685780638da5cb5b14610488576101ac565b806342cf35271161014e5780635dbd8f6b116101285780635dbd8f6b146103d55780636ccae054146103e85780637095d47114610408578063734427c814610428576101ac565b806342cf35271461031c57806352283e35146103505780635b94db27146103b5576101ac565b8063263af8e81161017f578063263af8e8146102af57806337c6145a146102f25780633bd1adec14610305576101ac565b80631028c2bd146101ec57806315b9a8b81461021557806320f99c0a14610263576101ac565b366101ac57005b60006101bb813560e01c610645565b90506060600436036004600037600080600436036000855af490503d6000803e8080156101e7573d6000f35b3d6000fd5b6101ff6101fa366004615aab565b614659565b60405161020c9190615b5a565b60405180910390f35b34801561022157600080fd5b5060015461024e907801000000000000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff909116815260200161020c565b34801561026f57600080fd5b5060015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161020c565b3480156102bb57600080fd5b5061028a6102ca366004615a90565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6101ff610300366004615a01565b6146e8565b34801561031157600080fd5b5061031a61479f565b005b34801561032857600080fd5b5061028a7f0000000000000000000000000f34a522ff82151c90679b73211955068fd854f181565b34801561035c57600080fd5b506103847fb3dc8da40000000000000000000000000000000000000000000000000000000081565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161020c565b3480156103c157600080fd5b5061031a6103d0366004615834565b6147fb565b61031a6103e3366004615936565b6148bb565b3480156103f457600080fd5b5061031a61040336600461587d565b6149df565b34801561041457600080fd5b5061028a610423366004615a90565b614a51565b34801561043457600080fd5b5061031a610443366004615a90565b614a62565b34801561045457600080fd5b5061031a6104633660046158be565b614b4f565b34801561047457600080fd5b5061024e610483366004615834565b614ced565b34801561049457600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661028a565b3480156104bf57600080fd5b5061028a6104ce366004615a90565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561050257600080fd5b5061028a610511366004615a90565b610645565b61031a610524366004615a3c565b614e39565b34801561053557600080fd5b5061031a610544366004615a90565b6151f6565b34801561055557600080fd5b5061028a610564366004615a90565b63ffffffff1660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561059e57600080fd5b506105af68056bc75e2d6310000081565b60405190815260200161020c565b3480156105c957600080fd5b5061024e6105d8366004615834565b6152e3565b61031a6105eb366004615978565b615431565b3480156105fc57600080fd5b5061031a61060b366004615851565b61553a565b34801561061c57600080fd5b5060015461024e9074010000000000000000000000000000000000000000900463ffffffff1681565b60006101818263ffffffff1610156145c8576101018263ffffffff1610156130585760818263ffffffff161015611b675760418263ffffffff1610156110f65760218263ffffffff161015610bc55760118263ffffffff1610156109345760098263ffffffff1610156107f35760058263ffffffff16101561075a5760038263ffffffff161015610715578163ffffffff16600114156106fa5750738cd6bacdae46b449e2e5b34e348a4ed459c84d50919050565b507331524750cd865ff6a3540f232754fb974c18585c919050565b8163ffffffff166003141561073f575073ed9b37342bec8f3a2d7b000732ec87498aa6ec6a919050565b5073e8704ef6211f8988ccbb11badc89841808d66890919050565b60078263ffffffff1610156107ae578163ffffffff16600514156107935750739aff58c460a461578c433e11c4108d1c4cf77761919050565b50732d1733886cfd465b0b99f1492f40847495f334c5919050565b8163ffffffff16600714156107d8575073715497be4d130f04b8442f0a1f7a9312d4e54fc4919050565b507390c8a40c38e633b5b0e0d0585b9f7fa05462caaf919050565b600d8263ffffffff16101561089b57600b8263ffffffff161015610856578163ffffffff166009141561083b575073a402b70fcff3f4a8422b93ef58e895021eade4f6919050565b5073c1b718522e15cd42c4ac385a929fc2b51f5b892e919050565b8163ffffffff16600b1415610880575073a97bf2f7c26c43c010c349f52f5ea5dc49b2dd38919050565b5073969423d71b62c81d2f28d707364c9dc4a0764c53919050565b600f8263ffffffff1610156108ef578163ffffffff16600d14156108d4575073f86729934c083fbec8c796068a1fc60701ea1207919050565b5073d7cc2571f5823caca26a42690d2be7803dd5393f919050565b8163ffffffff16600f14156109195750737c8837a279bbbf7d8b93413763176de9f65d5bb9919050565b507313b81c27b588c07d04458ed7ddbdbd26d1e39bcc919050565b60198263ffffffff161015610a845760158263ffffffff1610156109eb5760138263ffffffff1610156109a6578163ffffffff166011141561098b57507352560ac678afa1345d15474287d16dc1ea3f78ae919050565b50731e31e376551459667cd7643440c1b21ce69065a0919050565b8163ffffffff16601314156109d0575073c57d822cb3288e7b97ef8f8af0ecdcd1b783529b919050565b50732197a1d9af24b4d6a64bff95b4c29fcd3ff28c30919050565b60178263ffffffff161015610a3f578163ffffffff1660151415610a24575073e3700feaa5100041bf6b7adba1f72f647809fd00919050565b5073c02e8a0fdabf0eefcea025163d90b5621e2b9948919050565b8163ffffffff1660171415610a69575073f5144235e2926cab3c69b30113254fa632f72d62919050565b5073ba3f92313b00a1f7bc53b2c24eb195c8b2f57682919050565b601d8263ffffffff161015610b2c57601b8263ffffffff161015610ae7578163ffffffff1660191415610acc57507377a6856fe1ffa5beb55a1d2ed86e27c7c482cb76919050565b50734826ff4e01e44b1fcefbfb38cd96687eb7786b44919050565b8163ffffffff16601b1415610b1157507355ff3f5493cf5e80e76dea7e327b9cd8440af646919050565b5073f430db544be9770503be4aa51997aa19bbd5ba4f919050565b601f8263ffffffff161015610b80578163ffffffff16601d1415610b655750730f166446ce1484ee3b0663e7e67df10f5d240115919050565b50736365095d92537f242db5edfdd572745e72ac33d9919050565b8163ffffffff16601f1415610baa5750735c7bc93f06ce3eae75adf55e10e23d2c1de5bc65919050565b5073e46383bad90d7a08197ccf08972e9dcdccce9ba4919050565b60318263ffffffff161015610e655760298263ffffffff161015610d245760258263ffffffff161015610c8b5760238263ffffffff161015610c46578163ffffffff1660211415610c2b575073f0f21710c071e3b728bdc4654c3c0b873aaaa308919050565b507363bc9ed3acaaeb0332531c9fb03b0a2352e9ff25919050565b8163ffffffff1660231415610c70575073d1ce808625cb4007a1708824ae82cdb0ece57de9919050565b507357bbb148112f4ba224841c3fe018884171004661919050565b60278263ffffffff161015610cdf578163ffffffff1660251415610cc4575073037f7d6933036f34dfabd40ff8e4d789069f92e3919050565b5073ef978c280915cff3dca4edfa8932469e40ada1e1919050565b8163ffffffff1660271415610d0957507392ee9e071b13f7ecfd62b7ded404a16cbc223cd3919050565b507394ae539c186e41ed762271338edf140414d1e442919050565b602d8263ffffffff161015610dcc57602b8263ffffffff161015610d87578163ffffffff1660291415610d6c57507330a64bbe4ddbd43da2368efd1eb2d80c10d84dab919050565b50733aeabf81c1dc4c1b73d5b2a95410f126426fb596919050565b8163ffffffff16602b1415610db157507325b08ab3d0c8ea4cc9d967b79688c6d98f3f563a919050565b5073ea40cb15c9a3bbd27af6474483886f7c0c9ae406919050565b602f8263ffffffff161015610e20578163ffffffff16602d1415610e055750739580113cc04e5a0a03359686304ef3a80b936dd3919050565b5073d211c826d568957f3b66a3f4d9c5f68ccc66e619919050565b8163ffffffff16602f1415610e4a575073cee24d0635c4c56315d133b031984d4a6f509476919050565b50733922e6b987983229798e7a20095ec372744d4d4c919050565b60398263ffffffff161015610fb55760358263ffffffff161015610f1c5760338263ffffffff161015610ed7578163ffffffff1660311415610ebc5750732d92d03413d296e1f31450479349757187f2a2b7919050565b50730fe5308ee90fc78f45c89db6053ea859097860ca919050565b8163ffffffff1660331415610f0157507308ba68e067c0505baf0c1311e0cfb2b1b59b969c919050565b50739bee5dddf75c24897374f92a534b7a6f24e97f4a919050565b60378263ffffffff161015610f70578163ffffffff1660351415610f555750731fc5a90b232208704b930c1edf82ffc6acc02734919050565b50735b1b0417cb44c761c2a23ee435d011f0214b3c85919050565b8163ffffffff1660371415610f9a5750739d70cdaca12a738c283020760f449d7816d592ec919050565b507395a23b9cb830eccfddd5df56a4ec665e3381fa12919050565b603d8263ffffffff16101561105d57603b8263ffffffff161015611018578163ffffffff1660391415610ffd575073483a957cf1251c20e096c35c8399721d1200a3fc919050565b5073b4ad39cb293b0ec7feda743442769a7ff04987cd919050565b8163ffffffff16603b14156110425750734c543ad78c1590d81bae09fc5b6df4132a2461d0919050565b5073471d5e5195c563902781734cfe1ff3981f8b6c86919050565b603f8263ffffffff1610156110b1578163ffffffff16603d14156110965750731b12a54b5e606d95b8b8d123c9cb09221ee37584919050565b5073e4127cc550bac433646a7d998775a84dac16c7f3919050565b8163ffffffff16603f14156110db575073ecb1b55ab12e7dd788d585c6c5cd61b5f87be836919050565b5073f91ef487c5a1579f70601b6d347e19756092eebf919050565b60618263ffffffff1610156116365760518263ffffffff1610156113a55760498263ffffffff1610156112645760458263ffffffff1610156111cb5760438263ffffffff161015611186578163ffffffff166041141561116b57507334a16a7e9badeefd4f056310cbe0b1423fa1b760919050565b507360e10e80c7680f429dbbc232830becd3d623c4cf919050565b8163ffffffff16604314156111b057507366465285b8d65362a1d86ce00fe2be949fd6debf919050565b50735ab231b7e1a3a74a48f67ab7bde5cdd4267022e0919050565b60478263ffffffff16101561121f578163ffffffff16604514156112045750733a1c3633ee79d43366f5c67802a746afd6b162ba919050565b50730c4bfcba8dc3c811437521a80e81e41daf479039919050565b8163ffffffff16604714156112495750736caf25d2e139c5431a1fa526eaf8d73ff2e6252c919050565b507374ad21e09fda68638ce14a3009a79b6d16574257919050565b604d8263ffffffff16101561130c57604b8263ffffffff1610156112c7578163ffffffff16604914156112ac575073d4923a61008894b99cc1cd3407ef9524f02aa0ca919050565b50736f159b5eb823bd415886b9271aa2a723a00a1987919050565b8163ffffffff16604b14156112f1575073742a8aa42e7bfb4554de30f4fb07ffb6f2068863919050565b50734ae9702d3360400e47b446e76de063acab930101919050565b604f8263ffffffff161015611360578163ffffffff16604d14156113455750730e19a0a44dda7dad854ec5cc867d16869c4e80f4919050565b5073e021a51968f25148f726e326c88d2556c5647557919050565b8163ffffffff16604f141561138a57507364287bdddaef4d94e4599a3d882bed29e6ada4b6919050565b5073cbb57fd2e19cc7e9d444d5b4325a2f1047d0c73f919050565b60598263ffffffff1610156114f55760558263ffffffff16101561145c5760538263ffffffff161015611417578163ffffffff16605114156113fc575073373de80df7d82cff6d76f29581b360c56331e957919050565b50730466356e131ad61596a51f86bad1c03a328960d8919050565b8163ffffffff166053141561144157507301726b960992f1b74311b248e2a922fc707d43a6919050565b50732e21bdf9a4509b89795bce7e132f248a75814cec919050565b60578263ffffffff1610156114b0578163ffffffff1660551415611495575073769512b23aeff842379091d3b6e4b5456f631d42919050565b5073e7ed9be946a74ec19325d39c6eeb57887ccb2b0d919050565b8163ffffffff16605714156114da575073c4d01ec357c2b511d10c15e6b6974380f0e62e67919050565b50735bc49cc9dd77becf2fd3a3c55611e84e69afa3ae919050565b605d8263ffffffff16101561159d57605b8263ffffffff161015611558578163ffffffff166059141561153d57507348bcd879954fa14e7dbdaeb56f79c1e9ddcb69ec919050565b5073e929bdde21b462572fcaa4de6f49b9d3246688d0919050565b8163ffffffff16605b141561158257507385aae300438222f0e3a9bc870267a5633a9438bd919050565b507351f72e1096a81c55cd142d66d39b688c657f9be8919050565b605f8263ffffffff1610156115f1578163ffffffff16605d14156115d65750733a8a05bf68ac54b01e6c0f492abf97465f3d15f9919050565b5073145aa67133f0c2c36b9771e92e0b7655f0d59040919050565b8163ffffffff16605f141561161b575073a030315d7db11f9892758c9e7092d841e0adc618919050565b5073df1f8d81a3734bdddefac6ca1596e081e57c3044919050565b60718263ffffffff1610156118d65760698263ffffffff1610156117955760658263ffffffff1610156116fc5760638263ffffffff1610156116b7578163ffffffff166061141561169c575073ff2833123b58aa05d04d7fb99f5fb768b2b435f8919050565b5073c8f09c1fd751c570233765f71b0e280d74e6e743919050565b8163ffffffff16606314156116e15750733026da6ceca2e5a57a05153653d9212ffaaa49d8919050565b5073de68ee703de0d11f67b0ce5891cb4a903de6d160919050565b60678263ffffffff161015611750578163ffffffff1660651415611735575073e23a7730e81fb4e87a6d0bd9f63ee77ac86c3da4919050565b50738b1dbe04ad76a7d8bc079cacd3ed4d99b897f4a0919050565b8163ffffffff166067141561177a575073bb227240fa459b69c6889b2b8cb1be76f118061f919050565b5073c062b9b3f0db28bb8afafcd4d075729344114ffe919050565b606d8263ffffffff16101561183d57606b8263ffffffff1610156117f8578163ffffffff16606914156117dd575073553188aa45f5fdb83ec4ca485982f8fc082480d1919050565b50730109d83d746eacb6d4014953d9e12d6ca85e330b919050565b8163ffffffff16606b141561182257507345b1bed29812f5bf6711074acd180b2aeb783ad9919050565b5073da06ec8c19aea31d77f60299678cba40e743e1ad919050565b606f8263ffffffff161015611891578163ffffffff16606d14156118765750733cc5235c97d975a9b4fd4501b3446c981ea3d855919050565b5073a1827267d6bd989ff38580ae3d9deff6acf19163919050565b8163ffffffff16606f14156118bb5750733663caa0433a3d4171b3581cf2410702840a735a919050565b50737575d0a7614f655ba77c74a72a43bbd4fa6246a3919050565b60798263ffffffff161015611a265760758263ffffffff16101561198d5760738263ffffffff161015611948578163ffffffff166071141561192d5750732516defc18bc07089c5daff5eafd7b0ef64611e2919050565b5073fec5ff08e20fbc107a97af2d38bd0025b84ee233919050565b8163ffffffff16607314156119725750730fb5763a87242b25243e23d73f55945fe787523a919050565b5073e4c00db89678dbf8391f430c578ca857dd98ade1919050565b60778263ffffffff1610156119e1578163ffffffff16607514156119c65750738f2a22061f9f35e64f14523dc1a5f8159e6a21b7919050565b507318e4b838ae966917e20e9c9c5ad359cdd38303bb919050565b8163ffffffff1660771415611a0b57507361acb1d3dcb3e3429832a164cc0fc9849fb75a4a919050565b50737681e3c8e7a41dca55c257cc0d1ae757f5530e65919050565b607d8263ffffffff161015611ace57607b8263ffffffff161015611a89578163ffffffff1660791415611a6e575073806a2ab9748c3d1db976550890e3f528b7e8faec919050565b5073bdb8a5dd52c2c239fbc31e9d43b763b0197028ff919050565b8163ffffffff16607b1415611ab3575073474ec9203706010b9978d6bd0b105d36755e4848919050565b50738dfd0d829b303f2239212e591a0f92a32880f36e919050565b607f8263ffffffff161015611b22578163ffffffff16607d1415611b07575073ad4bce9745860b1add6f1bd34a916f050e4c82c2919050565b5073bc701115b9fe14bc8cc5934cdc92517173e308c4919050565b8163ffffffff16607f1415611b4c5750730d1918d786db8546a11aded475c98370e06f255e919050565b5073ee44f57cd6936db55b99163f3df367b01eda785a919050565b60c18263ffffffff1610156125e75760a18263ffffffff1610156120b65760918263ffffffff161015611e255760898263ffffffff161015611ce45760858263ffffffff161015611c4b5760838263ffffffff161015611c06578163ffffffff1660811415611beb57507363044521fe5a1e488d7ed419cd0e35b7c24f2aa7919050565b5073410085e73bd85e90d97b84a68c125adb9f91f85b919050565b8163ffffffff1660831415611c305750737913fe97e07c7a397ec274ab1d4e2622c88ec5d1919050565b5073977f9fe93c064dcf54157406daabc3a722e8184c919050565b60878263ffffffff161015611c9f578163ffffffff1660851415611c84575073cd2236468722057cfbbabad2db3dea9c20d5b01b919050565b507317c7287a491cf5ff81e2678cf2bfae4333f6108c919050565b8163ffffffff1660871415611cc9575073354d9a5dbf96c71b79a265f03b595c6fdc04dadd919050565b5073b4e409eb8e775eefeb0344f9eee884cc7ed21c69919050565b608d8263ffffffff161015611d8c57608b8263ffffffff161015611d47578163ffffffff1660891415611d2c575073a1a3c4670ad69d9be4ab2d39d1231fec2a63b519919050565b50734589a22199870729c1be5cd62ee93bed858113e6919050565b8163ffffffff16608b1415611d715750738e7b864db26bd6c798c38d4ba36eba0d6602cf11919050565b5073a2d17c7260a4cb7b9854e89fc367e80e87872a2d919050565b608f8263ffffffff161015611de0578163ffffffff16608d1415611dc5575073c7f0edf0a1288627b0432304918a75e9084cbd46919050565b5073e4b4ef1f9a4abfedb371fa7a6143993b15d4df25919050565b8163ffffffff16608f1415611e0a575073fe3d84a2ef306febb5452441c9bdbb6521666f6a919050565b50738a12b6c64121920110ae58f7cd67dfec21c6a4c3919050565b60998263ffffffff161015611f755760958263ffffffff161015611edc5760938263ffffffff161015611e97578163ffffffff1660911415611e7c57507376c4d9afc4717a2baac4e5f26cccf02351f7a3da919050565b5073d4719ba550e397aeacca1ad2201c1ba69024faaf919050565b8163ffffffff1660931415611ec15750739646126ce025224d1682c227d915a386efc0a1fb919050565b50734dd8af2e3f2044842f0247920bc4babb636915ea919050565b60978263ffffffff161015611f30578163ffffffff1660951415611f155750738e8a327183af0cf8c2ece9f0ed547c42a160d409919050565b50739d49614cae1c685c71678ca6d8cdf7584bfd0740919050565b8163ffffffff1660971415611f5a5750735a00ef257394cbc31828d48655e3d39e9c11c93d919050565b5073c9a2751b38d3ddd161a41ca0135c5c6c09ec1d56919050565b609d8263ffffffff16101561201d57609b8263ffffffff161015611fd8578163ffffffff1660991415611fbd5750737e1c261640a525c94ca4f8c25b48cf754dd83590919050565b5073409fe24ba6f6bd5af31c1aaf8059b986a3158233919050565b8163ffffffff16609b1415612002575073704cf5bfdadc0f55fdbb53b6ed8b582e018a72a2919050565b50733982bf65d7d6e77e3b6661cd6f6468c247512737919050565b609f8263ffffffff161015612071578163ffffffff16609d14156120565750733982b9f26ffd67a13ee371e2c0a9da338ba70e7f919050565b50736d834ab385900c1f49055d098e90264077fbc4f2919050565b8163ffffffff16609f141561209b57507311fe5f70779a094b7166b391e1fb73d422ef4e4d919050565b5073d347e4e47280d21f13b73d89c6d16f867d50dd13919050565b60b18263ffffffff1610156123565760a98263ffffffff1610156122155760a58263ffffffff16101561217c5760a38263ffffffff161015612137578163ffffffff1660a1141561211c575073b6035edd53dda28d8b69b4ae9836e40c80306cd7919050565b507354c884e6f5c7ccfeca990396c520c858c922b6ca919050565b8163ffffffff1660a314156121615750735ea93e240b083d686558ed607bc013d88057ce46919050565b50734c7131ee812de685cbe4e2ccb033d46ecd46612e919050565b60a78263ffffffff1610156121d0578163ffffffff1660a514156121b5575073c1a5be9f0c33d8483801d702111068669f81ff91919050565b50739e5fab91455be5e5b2c05967e73f456c8118b1fc919050565b8163ffffffff1660a714156121fa5750733d9a05927223e0dc2f382831770405885e22f0d8919050565b50736303a011fb6063f5b1681cb5a9938ea278dc6128919050565b60ad8263ffffffff1610156122bd5760ab8263ffffffff161015612278578163ffffffff1660a9141561225d575073e9c60795c90c66797e4c8e97511ea07cdada32be919050565b5073d56cc98e69a1e13815818b466a8aa6163d84234a919050565b8163ffffffff1660ab14156122a257507347ebb9d36a6e40895316cd894e4860d774e2c531919050565b5073a5eb293629410065d14a7b1663a67829b0618292919050565b60af8263ffffffff161015612311578163ffffffff1660ad14156122f65750731b3b4c8146f939ce00899db8b3ddef0062b7e023919050565b5073257bbc11653625ebfb6a8587ef4f4fbe49828eb3919050565b8163ffffffff1660af141561233b57507344cc979c01b5bb1eac21301e73c37200dfd06f59919050565b50732972fdf43352225d82754c0174ff853819d1ef2a919050565b60b98263ffffffff1610156124a65760b58263ffffffff16101561240d5760b38263ffffffff1610156123c8578163ffffffff1660b114156123ad5750733e54144f032648a04d62d79f7b4b93ff3ac2333b919050565b5073444016102db8adbe73c3b6703a1ea7f2f75a510d919050565b8163ffffffff1660b314156123f2575073ac079143f98a6eb744fde34541ebf243df5b5ded919050565b5073ae9010767fb112d29d35cedfba2b372ad7a308d3919050565b60b78263ffffffff161015612461578163ffffffff1660b51415612446575073fe0bccf9ccc2265d5fb3450743f17dfe57ae1e56919050565b507304ed8c0545716119437a45386b1d691c63234c7d919050565b8163ffffffff1660b7141561248b575073636c14013e531a286bc4c848da34585f0bb73d59919050565b50732fa67fc7ecc5caa01c653d3bfea98ecc5db9c42a919050565b60bd8263ffffffff16101561254e5760bb8263ffffffff161015612509578163ffffffff1660b914156124ee57507323e9a0fc180818aa872d2079a985217017e97bd9919050565b507379a95c3ef81b3ae64ee03a9d5f73e570495f164e919050565b8163ffffffff1660bb1415612533575073a7ea0e88f04a84ba0ad1e396cb07fa3fdad7df6d919050565b5073d23ca1278a2b01a3c0ca1a00d104b11c1ebe6f42919050565b60bf8263ffffffff1610156125a2578163ffffffff1660bd1415612587575073707bc4a9fa2e349aed5df4e9f5440c15aa9d14bd919050565b50737e290f2dd539ac6ce58d8b4c2b944931a1fd3612919050565b8163ffffffff1660bf14156125cc575073707aa5503088ce06ba450b6470a506122ea5c8ef919050565b5073fbb3f7bf680deeb149f4e7bc30ea3ddfa68f3c3f919050565b60e18263ffffffff161015612b275760d18263ffffffff1610156128965760c98263ffffffff1610156127555760c58263ffffffff1610156126bc5760c38263ffffffff161015612677578163ffffffff1660c1141561265c575073de74ad8ccc3dbf14992f49cf24f36855912f4934919050565b5073409ba83df7777f070b2b50a10a41de2468d2a3b3919050565b8163ffffffff1660c314156126a15750735cb7be90a5dd7cfda54e87626e254fe8c18255b4919050565b50730a684fe12bc64fb72b59d0771a566f49bc090356919050565b60c78263ffffffff161015612710578163ffffffff1660c514156126f5575073df30048d91f8fa2bcfc54952b92bfa8e161d3360919050565b5073050825fff032a547c47061cf0696fdb0f65aea5d919050565b8163ffffffff1660c7141561273a575073d55e671dac1f03d366d8535073ada5db2aab1ea2919050565b50739470c704a9616c8cd41c595fcd2181b6fe2183c2919050565b60cd8263ffffffff1610156127fd5760cb8263ffffffff1610156127b8578163ffffffff1660c9141561279d5750732d9ffd275181f5865d5e11cbb4ced1521c4df9f1919050565b5073816d28dec10ec95df5334f884de85ca6215918d8919050565b8163ffffffff1660cb14156127e2575073d1f87267c4a43835e666dd69df077e578a3b6299919050565b507339e89bde9dacbe5468c025de371fbda12bdebab1919050565b60cf8263ffffffff161015612851578163ffffffff1660cd14156128365750737b40a3207956ecad6686e61efcac48912fcd0658919050565b5073090cf10d793b1efba9c7d76115878814b663859a919050565b8163ffffffff1660cf141561287b575073312a59c06e41327878f2063ed0e9c282c1da3afc919050565b50734f1188f46236dd6b5de11ebf2a9ff08716e7deb6919050565b60d98263ffffffff1610156129e65760d58263ffffffff16101561294d5760d38263ffffffff161015612908578163ffffffff1660d114156128ed5750730a6f9a3f4fa49909bbfb4339cbe12b42f53bbbed919050565b507301d13d7acacbb955b81935c80fff31e14bdfa71f919050565b8163ffffffff1660d31415612932575073691a14fa6c7360422ec56df5876f84d4edd7f00a919050565b507397aad18d886d181a9c726b3b6ae15a0a69f5af73919050565b60d78263ffffffff1610156129a1578163ffffffff1660d514156129865750732917241371d2099049fa29432dc46735baec33b4919050565b50735f20f20f7890c2e383e29d4147c9695a371165f5919050565b8163ffffffff1660d714156129cb575073ec0a60e639958335662c5219a320ccebb56c6077919050565b507396d63cf5062975c09845d17ec672e10255866053919050565b60dd8263ffffffff161015612a8e5760db8263ffffffff161015612a49578163ffffffff1660d91415612a2e575073ff57429e57d383939cab50f09abbfb63c0e6c9ad919050565b507318e393a7c8578fb1e235c242076e50013cddd0d7919050565b8163ffffffff1660db1415612a73575073e7e5238af5d61f52e9b4acc025f713d1c0216507919050565b5073428401d4d0f25a2ee1da4d5366cb96ded425d9bd919050565b60df8263ffffffff161015612ae2578163ffffffff1660dd1415612ac757507342e5733551ff1ee5b48aa9fc2b61af9b58c812e6919050565b507364df9c7a0551b056d860bc2419ca4c1ef75320be919050565b8163ffffffff1660df1415612b0c57507346006925506145611bbf0263243d8627daf26b0f919050565b50738d64be884314662804eaab884531f5c50f4d500c919050565b60f18263ffffffff161015612dc75760e98263ffffffff161015612c865760e58263ffffffff161015612bed5760e38263ffffffff161015612ba8578163ffffffff1660e11415612b8d575073157a62d92d07b5ce221a5429645a03bbace85373919050565b5073af037d33e1f1f2f87309b425fe8a9d895ef3722b919050565b8163ffffffff1660e31415612bd2575073921d1154e494a2f7218a37ad7b17701f94b4b40e919050565b5073f282b4555186d8dea51b8b3f947e1e0568d09bc4919050565b60e78263ffffffff161015612c41578163ffffffff1660e51415612c26575073a794e2e1869765a4600b3dfd8a4ebcf16350f6b6919050565b5073fefb048e20c5652f7940a49b1980e0125ec4d358919050565b8163ffffffff1660e71415612c6b575073220104b641971e9b25612a8f001bf48abb23f1cf919050565b5073cb9d373bb54a501b35dd3be5bf4ba43ca31f7035919050565b60ed8263ffffffff161015612d2e5760eb8263ffffffff161015612ce9578163ffffffff1660e91415612cce57507337d627f56e3ff36ac316372109ea82e03ac97dac919050565b50734e81355ffb4a271b4ea59ff78da2b61c7833161f919050565b8163ffffffff1660eb1415612d13575073add8d65caf6cc9ad73127b49e16ea7ac29d91e87919050565b5073630f9b95626487dfeae3c97a44db6c59cf35d996919050565b60ef8263ffffffff161015612d82578163ffffffff1660ed1415612d6757507378ce2bc8238b679680a67fcb98c5a60e4ec17b2d919050565b5073a38d776028ed1310b9a6b086f67f788201762e21919050565b8163ffffffff1660ef1415612dac5750737bb5178827b76b86753ed62a0d662c72cecb1bd3919050565b50734fac26f61c76ec5c3d43b43edfaff0736ae0e3da919050565b60f98263ffffffff161015612f175760f58263ffffffff161015612e7e5760f38263ffffffff161015612e39578163ffffffff1660f11415612e1e575073791bb49bffa7129d6889fdb27744422ac4571a85919050565b507326766ffebb5fa564777913a6f101df019ab32afa919050565b8163ffffffff1660f31415612e6357507305e98e5e95b4ecbbbaf3258c3999cc81ed8048be919050565b5073c5c4621e52f1d6a1825a5ed4f95855401a3d9c6b919050565b60f78263ffffffff161015612ed2578163ffffffff1660f51415612eb7575073fcb15f909ba7fc7ea083503fb4c1020203c107eb919050565b5073bd27603279d969c74f2486ad14e71080829dfd38919050565b8163ffffffff1660f71415612efc575073ff2f756bcecc1a55bfc09a30cc5f64720458cfcb919050565b50733bfb968febc12f4e8420b2d016efce1e615f7246919050565b60fd8263ffffffff161015612fbf5760fb8263ffffffff161015612f7a578163ffffffff1660f91415612f5f575073982ee9ffe23051a2ec945ed676d864fa8345222b919050565b5073e101899100785e74767d454fff0131277bad48d9919050565b8163ffffffff1660fb1415612fa45750734f730c0c6b3b5b7d06ca511379f4aa5bfb2e9525919050565b50735499c36b365795e4e0ef671af6c2ce26d7c78265919050565b60ff8263ffffffff161015613013578163ffffffff1660fd1415612ff85750738af51f7237fc8fb2fc3e700488a94a0ac6ad8b5a919050565b5073da8716df61213c0b143f2849785fb85928084857919050565b8163ffffffff1660ff141561303d575073f040cf9b1ebd11bf28e04e80740df3dde717e4f5919050565b5073b87ba32f759d14023c7520366b844df7f0f036c2919050565b6101418263ffffffff161015613b18576101218263ffffffff1610156135c8576101118263ffffffff161015613328576101098263ffffffff1610156131e0576101058263ffffffff161015613144576101038263ffffffff1610156130fe578163ffffffff1661010114156130e35750730edde681b8478f0c3194f468edd2db5e75c65cdd919050565b507359c70900fca06ee2ace1bdd5a8d0af0cc3bba720919050565b8163ffffffff1661010314156131295750738041f0f180d17dd07087199632c45e17aeb0bad5919050565b50734fb4727064ba595995dd516b63b5921df9b93ac6919050565b6101078263ffffffff16101561319a578163ffffffff16610105141561317f57507386e98b594565857ed098864f560915c0dafd6ea1919050565b507370f8818e8b698effecd86a513a4c87c0c380bef6919050565b8163ffffffff1661010714156131c557507378ed227c8a897a21da2875a752142dd80d865158919050565b5073d02a30bb5c3a8c51d2751a029a6fcfde2af9fbc6919050565b61010d8263ffffffff16101561328c5761010b8263ffffffff161015613246578163ffffffff16610109141561322b5750730f00d5c5acb24e975e2a56730609f7f40aa763b8919050565b5073c3e2091edc2d3d9d98ba09269138b617b536834a919050565b8163ffffffff1661010b1415613271575073a6fbaf7f30867c9633908998ea8c3da28920e75c919050565b5073e6dddcd41e2bbe8122ae32ac29b8fbab79cd21d9919050565b61010f8263ffffffff1610156132e2578163ffffffff1661010d14156132c7575073537aa8c1ef6a8eaf039dd6e1eb67694a48195ce4919050565b507396abac485fd2d0b03cf4a10df8bd58b8ded28300919050565b8163ffffffff1661010f141561330d575073da8e7d46d04bd4f62705cd80355bdb6d441daffd919050565b5073be50018e7a5c67e2e5f5414393e971cc96f293f2919050565b6101198263ffffffff161015613480576101158263ffffffff1610156133e4576101138263ffffffff16101561339e578163ffffffff166101111415613383575073a1b3907d6cb542a4cbe2ee441effaa909fab62c3919050565b50736d08ee8511c0237a515013ac389e7b3968cb1753919050565b8163ffffffff1661011314156133c957507322faa5b5fe43eadbb52745e35a5cda8bd5f96bba919050565b50737a673eb74d79e4868d689e7852abb5f93ec2fd4b919050565b6101178263ffffffff16101561343a578163ffffffff16610115141561341f5750730b8531f8afd4190b76f3e10decadb84c98b4d419919050565b507378eabc743a93583dee403d6b84795490e652216b919050565b8163ffffffff1661011714156134655750733a95d907b2a7a8604b59bcca08585f58afe0aa64919050565b5073f4271f0c8c9af0f06a80b8832fa820cce64fada8919050565b61011d8263ffffffff16101561352c5761011b8263ffffffff1610156134e6578163ffffffff1661011914156134cb57507374b2df841245c3748c0d31542e1335659a25c33b919050565b5073dfc99fd0ad7d16f30f295a5eefce029e04d0fa65919050565b8163ffffffff1661011b1415613511575073e992416b6ac1144ed8148a9632973257839027f6919050565b507354ce55ba954e981bb1fd9399054b35ce1f2c0816919050565b61011f8263ffffffff161015613582578163ffffffff1661011d1415613567575073d4ab52f9e7e5b315bd7471920bad04f405ab1c38919050565b50733670c990994d12837e95ee127fe2f06fd3e2104b919050565b8163ffffffff1661011f14156135ad575073dcf190b09c47e4f551e30bbb79969c3fdea1e992919050565b5073a65057b967b59677237e57ab815b209744b9bc40919050565b6101318263ffffffff161015613878576101298263ffffffff161015613730576101258263ffffffff161015613694576101238263ffffffff16101561364e578163ffffffff1661012114156136335750736efc86b40573e4c7f28659b13327d55ae955c483919050565b507306bcc25cf8e0e72316f53631b3aa7134e9f73ae0919050565b8163ffffffff166101231415613679575073710b6414e1d53882b1fcd3a168ad5ccd435fc6d0919050565b50735ebb2c3d78c4e9818074559e7bae7fcc99781dc1919050565b6101278263ffffffff1610156136ea578163ffffffff1661012514156136cf575073af0a409c3aee0bd08015cfb29d89e90b6e89a88f919050565b5073522559d8b99773c693b80ce06df559036295ce44919050565b8163ffffffff166101271415613715575073b65290a5bae838aaa7825c9ecec68041841a1b64919050565b5073801b8f2068edd5bcb659e6bda0c425909043c420919050565b61012d8263ffffffff1610156137dc5761012b8263ffffffff161015613796578163ffffffff16610129141561377b57507329b5f00515d093627e0b7bd0b5c8e84f6b4cdb87919050565b5073652839ae74683cbf9f1293f1019d938f87464d3e919050565b8163ffffffff1661012b14156137c15750735bc95dcebdde9b79f2b6dc76121bc7936ef8d666919050565b507390db359cea62e53051158ab5f99811c0a07fe686919050565b61012f8263ffffffff161015613832578163ffffffff1661012d14156138175750732c3625eedadbdcdbb5330eb0d17b3c39ff269807919050565b5073c3f0324471b5c9d415acd625b8d8694a4e48e001919050565b8163ffffffff1661012f141561385d5750738c60e7e05fa0ffb6f720233736f245134685799d919050565b507398faf2c09aa4ebb995ad0b56152993e7291a500e919050565b6101398263ffffffff1610156139d0576101358263ffffffff161015613934576101338263ffffffff1610156138ee578163ffffffff1661013114156138d3575073802c1063a861414dfaec16bacb81429fc0d40d6e919050565b507311c4aefcc0dc156f64195f6513cb1fb3be0ae056919050565b8163ffffffff166101331415613919575073eff1f3258214e31b6b4f640b4389d55715c3be2b919050565b507347e379abe8ddfea4289aba01235eff7e93758fd7919050565b6101378263ffffffff16101561398a578163ffffffff16610135141561396f5750733cc26384c3ea31ddc8d9789e8872cea6f20cd3ff919050565b5073edd9efa6c69108faa4611097d643e20ba0ed1634919050565b8163ffffffff1661013714156139b5575073cb93525ca5f3d371f74f3d112bc19526740717b8919050565b50737071e0124eb4438137e60df1b8dd8af1bfb362cf919050565b61013d8263ffffffff161015613a7c5761013b8263ffffffff161015613a36578163ffffffff166101391415613a1b5750734691096eb0b78c8f4b4a8091e5b66b18e1835c10919050565b50738d953c9b2d1c2137cf95992079f3a77fcd793272919050565b8163ffffffff1661013b1415613a61575073bdcc2a3bf6e3ba49ff86595e6b2b8d70d8368c92919050565b507395e6948ab38c61b2d294e8bd896bcc4ccc0713cf919050565b61013f8263ffffffff161015613ad2578163ffffffff1661013d1415613ab7575073607b27c881ffee4cb95b1c5862fae7224ccd0b4a919050565b507309d28afa166e566a2ee1cb834ea8e78c7e627ed2919050565b8163ffffffff1661013f1415613afd5750739c01449b38bdf0b263818401044fb1401b29fdfa919050565b50731f7723599bbb658c051f8a39be2688388d22ced6919050565b6101618263ffffffff161015614078576101518263ffffffff161015613dd8576101498263ffffffff161015613c90576101458263ffffffff161015613bf4576101438263ffffffff161015613bae578163ffffffff166101411415613b9357507352b71603f7b8a5d15b4482e965a0619aa3210194919050565b507301c0f072cb210406653752fecfa70b42da9173a2919050565b8163ffffffff166101431415613bd95750733021142f021e943e57fc1886caf58d06147d09a6919050565b5073e6f2af38e76ab09db59225d97d3e770942d3d842919050565b6101478263ffffffff161015613c4a578163ffffffff166101451415613c2f57507306a25554e5135f08b9e2ed1dec1fc3ced52e0b48919050565b507371d75e670ee3511c8290c705e0620126b710bf8d919050565b8163ffffffff166101471415613c755750738b9ce142b80fea7c932952ec533694b1df9b3c54919050565b5073d7be24f32f39231116b3fdc483c2a12e1521f73b919050565b61014d8263ffffffff161015613d3c5761014b8263ffffffff161015613cf6578163ffffffff166101491415613cdb575073b40cafbc4797d4ff64087e087f6d2e661f954cbe919050565b5073bddce7771efee81893e838f62204a4c76d72757e919050565b8163ffffffff1661014b1415613d215750735d3d299ea7fd4f39acdb336e26631dfee41f9287919050565b50736bfee09e1fc0684e0826a9a0dc1352a14b136fac919050565b61014f8263ffffffff161015613d92578163ffffffff1661014d1415613d77575073d0001bb8e2cb661436093f96458a4358b5156e3c919050565b50731867c6485cfd1ed448988368a22bfb17a7747293919050565b8163ffffffff1661014f1415613dbd5750738997ef9f95df24ab67703ab6c262aabfeebe33bd919050565b50731e39e9e601922ded91bcfc8f78836302133465e2919050565b6101598263ffffffff161015613f30576101558263ffffffff161015613e94576101538263ffffffff161015613e4e578163ffffffff166101511415613e335750738a8ec6ceacff502a782216774e5af3421562c6ff919050565b50733b8fc561df5415c8dc01e97ee6e38435a8f9c40a919050565b8163ffffffff166101531415613e79575073d5d5f5b37e67c43cea663aedadffc3a93a2065b0919050565b5073cc8f55ec43b4f25013ce1946fbb740c43be5b96d919050565b6101578263ffffffff161015613eea578163ffffffff166101551415613ecf57507318f586e816eeedbb57b8011239150367561b58fb919050565b5073d0cd802b19c1a52501cb2f07d656e3cd7b0ce124919050565b8163ffffffff166101571415613f15575073e0aed899b39c6e4f2d83e4913a1e9e0cf6368abe919050565b50730606e1b6c0f1a398c38825dccc4678a7cbc2737c919050565b61015d8263ffffffff161015613fdc5761015b8263ffffffff161015613f96578163ffffffff166101591415613f7b5750732d188e85b27d18ef80f16686ea1593abf7ed2a63919050565b507364412292fa4a135a3300e24366e99ff59db2eac1919050565b8163ffffffff1661015b1415613fc157507338b74c173f3733e8b90aaef0e98b89791266149f919050565b507336daa49a79aaef4e7a217a11530d3ccd84414124919050565b61015f8263ffffffff161015614032578163ffffffff1661015d141561401757507310f088fe2c88f90270e4449c46c8b1b232511d58919050565b50734fedbd25b58586838abd17d10272697df1dc3087919050565b8163ffffffff1661015f141561405d575073685278209248cb058e5cee93e37f274a80faf6eb919050565b5073dd9f8f1eec3955f78168e2fb2d1e808fa8a8f15b919050565b6101718263ffffffff161015614328576101698263ffffffff1610156141e0576101658263ffffffff161015614144576101638263ffffffff1610156140fe578163ffffffff1661016114156140e35750737392aeefd5825aac28817031deebbfaaa20983d9919050565b50730cc182555e00767d6fb8ad161a10d0c04c476d91919050565b8163ffffffff16610163141561412957507390e52837d56715c79fd592e8d58bfd20365798b2919050565b50736f4451de14049b6770ad5bf4013118529e68a40c919050565b6101678263ffffffff16101561419a578163ffffffff16610165141561417f57507389b97ef2afab9ed9c7f0fdb095d02e6840b52d9c919050565b507392a5cc5c42d94d3e23aeb1214fff43db2b97759e919050565b8163ffffffff1661016714156141c557507363ddc52f135a1dcba831eaac11c63849f018b739919050565b5073692a691533b571c2c54c1d7f8043a204b3d8120e919050565b61016d8263ffffffff16101561428c5761016b8263ffffffff161015614246578163ffffffff16610169141561422b57507397c7492cf083969f61c6f302d45c8270391b921c919050565b5073defd2b8643553dad19548eb14fd94a57f4b9e543919050565b8163ffffffff1661016b141561427157507330645c04205ca3f670b67b02f971b088930acb8c919050565b5073a6f80ed2d607cd67aeb4109b64a0becc4d7d03cf919050565b61016f8263ffffffff1610156142e2578163ffffffff1661016d14156142c7575073bbbbc6c276eb3f7e674f2d39301509236001c42f919050565b5073c20e77d349fb40ce88eb01824e2873ad9f681f3c919050565b8163ffffffff1661016f141561430d5750735fcfd9a962de19294467c358c1fa55082285960b919050565b50734d87bd6a0e4e5cc6332923cb3e85fc71b287f58a919050565b6101798263ffffffff161015614480576101758263ffffffff1610156143e4576101738263ffffffff16101561439e578163ffffffff1661017114156143835750733aa5b757cd6dde98214e56d57dde7fcf0f7ab04e919050565b5073e28efce7192e11a2297f44059113c1fd6967b2d4919050565b8163ffffffff1661017314156143c95750733251cae10a1cf246e0808d76acc26f7b5eda0ee5919050565b5073ba2091cc9357cf4c4f25d64f30d1b4ba3a5a174b919050565b6101778263ffffffff16101561443a578163ffffffff16610175141561441f57507349c8e1da9693692096f63c82d11b52d738566d55919050565b5073a0731615ab5fff451031e9551367a4f7db27b39c919050565b8163ffffffff166101771415614465575073fb214541888671ae1403cecc1d59763a12fc1609919050565b50731d6bcb17642e2336405df73df22f07688caec020919050565b61017d8263ffffffff16101561452c5761017b8263ffffffff1610156144e6578163ffffffff1661017914156144cb575073fc9c0c7bfe187120ff7f4e21446161794a617a9e919050565b5073ba5bf37678eee2dab17aef9d898153258252250e919050565b8163ffffffff1661017b14156145115750737c55690bd2c9961576a32c02f8eb29ed36415ec7919050565b5073ca40073e868e8bc611aec8fe741d17e68fe422f6919050565b61017f8263ffffffff161015614582578163ffffffff1661017d141561456757507331641bafb87e9a58f78835050a7be56921986339919050565b5073a54766424f6da74b45ebcc5bf0bd1d74d2cccaab919050565b8163ffffffff1661017f14156145ad575073c7bba57f8c179eddbaa62117dda360e28f3f8252919050565b50735e663ed97ea77d393b8858c90d0683bf180e0ffd919050565b63ffffffff821660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1661462a576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5063ffffffff1660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060008061466786610645565b73ffffffffffffffffffffffffffffffffffffffff16858560405161468d929190615b2e565b600060405180830381855af49150503d80600081146146c8576040519150601f19603f3d011682016040523d82523d6000602084013e6146cd565b606091505b5091509150816146df57805160208201fd5b95945050505050565b60606000806003816146fd6020870187615a90565b63ffffffff1681526020808201929092526040016000205473ffffffffffffffffffffffffffffffffffffffff169061473890860186615c67565b604051614746929190615b2e565b600060405180830381855af49150503d8060008114614781576040519150601f19603f3d011682016040523d82523d6000602084013e614786565b606091505b50915091508161479857805160208201fd5b9392505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146147f0576040517f7c91ccdd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6147f9336155ce565b565b60005473ffffffffffffffffffffffffffffffffffffffff16331461484c576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b60005b63ffffffff81168211156149da576000806003600086868663ffffffff168181106148eb576148eb615e2a565b90506020028101906148fd9190615ccc565b61490b906020810190615a90565b63ffffffff908116825260208201929092526040016000205473ffffffffffffffffffffffffffffffffffffffff169086908690861681811061495057614950615e2a565b90506020028101906149629190615ccc565b614970906020810190615c67565b60405161497e929190615b2e565b600060405180830381855af49150503d80600081146149b9576040519150601f19603f3d011682016040523d82523d6000602084013e6149be565b606091505b5091509150816149d057805160208201fd5b50506001016148be565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314614a30576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6149da73ffffffffffffffffffffffffffffffffffffffff84168383615646565b6000614a5c82610645565b92915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314614ab3576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff811660008181526003602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000167f0000000000000000000000000f34a522ff82151c90679b73211955068fd854f173ffffffffffffffffffffffffffffffffffffffff16179055517fc203fc627a1b6dd6b6dad3f6b7a313417bb01b1b5ebcd77ed25aff6a0b1608659190a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314614ba0576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b83518163ffffffff161015614ce757828163ffffffff1681518110614bca57614bca615e2a565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3858363ffffffff1681518110614c0557614c05615e2a565b602002602001015184614c19576000614c3b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401602060405180830381600087803b158015614ca657600080fd5b505af1158015614cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cde91906159e4565b50600101614ba3565b50505050565b6000805473ffffffffffffffffffffffffffffffffffffffff163314614d3f576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018054740100000000000000000000000000000000000000009081900463ffffffff908116600081815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881617905583549093928392601492614dc9928592910416615d18565b92506101000a81548163ffffffff021916908363ffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168163ffffffff167f7977983873e5c968018b0deaedba28f6ce6253277670e94e627fbc08efc50cb160405160405180910390a390505b919050565b6000614e486040830183615bff565b9150614e5990506060830183615bff565b90508114614e93576040517fa24a13a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82811015614ed557614eac6080850185615bff565b82818110614ebc57614ebc615e2a565b9050602002013582614ece9190615d00565b9150614e97565b5068056bc75e2d631000008114614f18576040517fc963e34d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080614f2b6105116020870187615a90565b73ffffffffffffffffffffffffffffffffffffffff16614f4e6020870187615c67565b604051614f5c929190615b2e565b600060405180830381855af49150503d8060008114614f97576040519150601f19603f3d011682016040523d82523d6000602084013e614f9c565b606091505b509150915081614fae57805160208201fd5b600081806020019051810190614fc49190615a77565b90506000805b868110156151ec576000614fdf600189615db8565b821415614ff757614ff08385615db8565b905061503d565b68056bc75e2d6310000061500e60808b018b615bff565b8481811061501e5761501e615e2a565b90506020020135856150309190615d7b565b61503a9190615d40565b90505b6150478184615d00565b925060007fb3dc8da4000000000000000000000000000000000000000000000000000000008261507a60608d018d615bff565b8681811061508a5761508a615e2a565b905060200281019061509c9190615c67565b6040516024016150ae93929190615bab565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529150600090819061516790615142908e018e615bff565b8781811061515257615152615e2a565b90506020020160208101906105119190615a90565b73ffffffffffffffffffffffffffffffffffffffff168360405161518b9190615b3e565b600060405180830381855af49150503d80600081146151c6576040519150601f19603f3d011682016040523d82523d6000602084013e6151cb565b606091505b5091509150816151dd57805160208201fd5b84600101945050505050614fca565b5050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314615247576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff811660008181526002602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000167f0000000000000000000000000f34a522ff82151c90679b73211955068fd854f173ffffffffffffffffffffffffffffffffffffffff16179055517fc60cf0bdf6c913c2d080d151c29909503abb49cdd09b459a7a10a16a466d02da9190a250565b6000805473ffffffffffffffffffffffffffffffffffffffff163314615335576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805478010000000000000000000000000000000000000000000000009081900463ffffffff908116600081815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816179055835490939283926018926153c3928592910416615d18565b92506101000a81548163ffffffff021916908363ffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168163ffffffff167f7601ed90c4c6f485f9633a9355c473c63ec60dfb8e04d060dbda9a80cf48eb6860405160405180910390a392915050565b8281811461546b576040517fa24a13a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156155325760008061548e88888581811061515257615152615e2a565b73ffffffffffffffffffffffffffffffffffffffff168686858181106154b6576154b6615e2a565b90506020028101906154c89190615c67565b6040516154d6929190615b2e565b600060405180830381855af49150503d8060008114615511576040519150601f19603f3d011682016040523d82523d6000602084013e615516565b606091505b50915091508161552857805160208201fd5b505060010161546e565b505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461558b576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f193505050501580156149da573d6000803e3d6000fd5b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080614ce7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640160405180910390fd5b8035614e3481615e88565b600082601f83011261571f57600080fd5b8135602067ffffffffffffffff8083111561573c5761573c615e59565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561577f5761577f615e59565b6040528481528381019250868401828801850189101561579e57600080fd5b600092505b858310156157c8576157b481615703565b8452928401926001929092019184016157a3565b50979650505050505050565b60008083601f8401126157e657600080fd5b50813567ffffffffffffffff8111156157fe57600080fd5b6020830191508360208260051b850101111561581957600080fd5b9250929050565b803563ffffffff81168114614e3457600080fd5b60006020828403121561584657600080fd5b813561479881615e88565b6000806040838503121561586457600080fd5b823561586f81615e88565b946020939093013593505050565b60008060006060848603121561589257600080fd5b833561589d81615e88565b925060208401356158ad81615e88565b929592945050506040919091013590565b6000806000606084860312156158d357600080fd5b833567ffffffffffffffff808211156158eb57600080fd5b6158f78783880161570e565b9450602086013591508082111561590d57600080fd5b5061591a8682870161570e565b925050604084013561592b81615ead565b809150509250925092565b6000806020838503121561594957600080fd5b823567ffffffffffffffff81111561596057600080fd5b61596c858286016157d4565b90969095509350505050565b6000806000806040858703121561598e57600080fd5b843567ffffffffffffffff808211156159a657600080fd5b6159b2888389016157d4565b909650945060208701359150808211156159cb57600080fd5b506159d8878288016157d4565b95989497509550505050565b6000602082840312156159f657600080fd5b815161479881615ead565b600060208284031215615a1357600080fd5b813567ffffffffffffffff811115615a2a57600080fd5b82016040818503121561479857600080fd5b600060208284031215615a4e57600080fd5b813567ffffffffffffffff811115615a6557600080fd5b820160c0818503121561479857600080fd5b600060208284031215615a8957600080fd5b5051919050565b600060208284031215615aa257600080fd5b61479882615820565b600080600060408486031215615ac057600080fd5b615ac984615820565b9250602084013567ffffffffffffffff80821115615ae657600080fd5b818601915086601f830112615afa57600080fd5b813581811115615b0957600080fd5b876020828501011115615b1b57600080fd5b6020830194508093505050509250925092565b8183823760009101908152919050565b60008251615b50818460208701615dcf565b9190910192915050565b6020815260008251806020840152615b79816040850160208701615dcf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615c3457600080fd5b83018035915067ffffffffffffffff821115615c4f57600080fd5b6020019150600581901b360382131561581957600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615c9c57600080fd5b83018035915067ffffffffffffffff821115615cb757600080fd5b60200191503681900382131561581957600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112615b5057600080fd5b60008219821115615d1357615d13615dfb565b500190565b600063ffffffff808316818516808303821115615d3757615d37615dfb565b01949350505050565b600082615d76577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615db357615db3615dfb565b500290565b600082821015615dca57615dca615dfb565b500390565b60005b83811015615dea578181015183820152602001615dd2565b83811115614ce75750506000910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114615eaa57600080fd5b50565b8015158114615eaa57600080fdfea264697066735822122093c6c1711c7bbaa65a0ad618d7520eecd440e73f899d95a64a5099ad5df4935e64736f6c63430008070033036395b434a73549dd87fbd5c47af4159045bb61fc6e1f9716c3a68eb5f03f66b5034be728c30c15225ad7a6d57f972c672883179e135db501be845b21c9c7c9953b039bd183e2f628665dda5cd4f316107c0ab714f28807d6908f4de07a361e51466100582103cb588dc228487273a59029e9d293ed2d8570ea68cdebee0195078d9a96ec94805492416cea3b1ecc4fe8e4a3298893d67b3724d59403460b17094c210ff543ca3444838ca74f30dd1668d96a35c086fc00db9d1f27c703e4ca8c9b009041578e371391d5fd5c13d6d46580ccc3ddf90932d6b561db4b70033ad37659260a92f562fc17990b44836e40d069f335e02a3ce30f937d066ebb6c03d9559a17f8679503afb3fcd415d07bb14e0d4639c45b2861934e761e8894bf7803eb4198b5b6f5d053cbe103d5d3f51386dd5b48e7dc492d5b18b9c564413ee84c0340bb794bf4f0afc1636b8fb2900066d15102d7cc6df5e7f1d5db8197f14241c800582103c65b6e566b798b7954fe4cda44a05497b8af383878a39c76c9e50c6cfbbec010541a9ec5ed7363905c0a096dee577c8fbb400c99d003a95f019e89e597202cd82c97cc0ebffa9d40b1dbcfefbb6c210a8721e330d5820219bef605581d03e3aede33f99c4ff7ba06752f0d83e4a0896ce4f9d1d00386ae425c200f014702c6b5538438db195ef105581d0316f2d6bb8e38eb644751c783ad155b7df1619fda777f2bcd1810c4000c044705b02e946ebfee0219300001410005581e03c11462da8cd2774775591f7e6869a35ef136ea26ec16acce06480de10004020354c07d14aff040fcfacaea62a01d59dfc7ad21415a2d26e1ac668c2cc400a20103315c09638c29f8693b1c5e7c30e5096b16d186c81902abf5cf2d26f815eb46dd02195252036ccc29a70bb7d1a7f7af542153c78ead115428cd3ec7e3b13cdf11b759f7bcf803e8cd3ed4121da1544e3aef1b735039361c2cb14f747360ef03203a954806cb0a03e4731ca86ab1f4239ddf68c6c900dfad7077ea6c798b16635ba74671376e6d14039d5abf4e0061a529e64a765e1941beb904dfd043d0a56bea49eeaaf9665fd191036682735c86dd335d0844774eadef3042080e5b0e0f77c80bc87ac638266ff25e0307ce39468c9521bfed06838c86a00e85c28f615cfd3573ea1f232d9bb8a1228b030d72f9f7dd814bd2d0075cb659a409e621e22c37d778edb26fbc11aa4bb4f2af038532171e9c235188cb1ced4ec564b8214a3a2ea46e9dc9242f1807142883398903b8cce79c02937f5d8585ad294b64dcb3071e9c85aa1877a2d6300cf08f19451a03f1cb833a0fb4926a8ed6e7f0f5f382528e9b1793d27ddc1d9c76e717b73899ec0330e5fb3b894b0013775051f7edcd57948636a897fa242b7921b84409c7f494c6039d65118ef9593568a128eff93cdf45ab32599e46540bbb4836b19b4d21c4911e0219ffff030a163930ca3ebfbd49292aeafb10470fff69d2673fcc71677fc950358c92da7903cb368e82f8d5850d005554290f33cf702e86bffa2a19a972ed850b07144a813803c07e74412a2534010d5e3c601f7cf996b40d2a0e1bd9dc913e874e3b35e17cbc03fcd083d04a984e89f55a50e1fa73c1715be93035ae4595b0ee96d1b748bda1d203883672e536a37372113174419005871e59977f49f19f10e9b5b9a38e400f61e103a952de551d370ec8b52f224871add7a952cf9f0ebe2547138a2a0f4f5aae09d20363d597666a8454b14cf1ca0e2fc83cc57d7e21575e29a195ecb0dcef79018f20031c5f3575d22d4959fc8f5cfe6a2308330f9586bc8cc1890884e85c7a3a16c5e2031476c2f92a85b4ca471d2e725abc8ab5faf7fee3010eff79234996ee472d168903396ab7c6971df0643b00536a9becd3c97a75208ef234167a6a5026e5cf124a6e03358256feb468d54d22e42d19d1d7b1c6d744a4216371dc0aabaf078148de334f035a7991daf84b9fda70b65c3c65ef793912f08aebafcb35088cbec3036004dd5f03227c242ff281e6f37e71b5b7e9456df5fcdefe7863e1bbd1f4249fb57126149b0219ffff0219ffff03f4c71373eaa7358f09d2242b8c2dcbc45b4f826dee89c297ee8061263a0a914d0306ec47d8bd8ed0f0c205aecc30de7e30411bf1ed604e6ccb491c7cd0242220440320738adfb5b6258de882739274655ebb2132190428c9407a41aa3ab1f90805570313b12df68c5ca2c0496cc935bfd565e6fa7fa2f39165f6798a36fa6d56e9525a03d34039b4516c3ead567a36ddf3b77748642d0832506acf41d28083130526df4603c4b40255b176da35c0daaab997c31fbb04f4b1e81f9ae1cc8e2adde088ed3b9b03ddf8bacd9b1527dc5822248637878f8e38cb447996853490657ef97c19cbf65103b691a6b4df3a1b3e3e7118d592bc656525f5cfc0d59fa252d99ac734f9543a3b0380b48f307ce48fb7e3ca4616946d3251a7a3d0329589d5b3aa68c85408c89b6803fbdbd37dc921c52d16a9b87d7987dae8cceb9708f853ceb84e5500c6a0c6d6c403013f72c6408471513b25a443905f6c470c87e0236e8f56da1a872ebfed15184903c8e2b5b13ecd418733b47ad75f4242c4ee9643ec70064a7cc2f4f11d1816f21005581e03264d188c7f5420480f3666db40cfbbe35f28c99e4b4c3062165cb312e0040305581d02d5e4f10ec5fe6fa8a18637165e2ddc7b40cce8dc4f13bd6fe1c790c308472386f26fc1000005581d02011b33430869d829ba87d4128a8e7fde48c7b97c081117a8ef46c5cc0c0145012a15344003288939d9feae3eae660db09129ec005d74c070dd69bb2fbf032bcb9b11644a5d0605581d029fcb36697e8f17c539abbe38f12ec0e0bbe174a2e2594865ae934ae307011bffffffffffffffff05581d02bb6106070680fd43a815c8ba1a82abb7bf6aaad2d8da6917767ce6b90c06470dfbee7a21ec6f05581d02fcdc6eb5bc53fdbe7bb88cafcd239e170108305f8a923da11e2e61ce04020219070903ea3634c782febee7b8364545960aa8ed17ee22da72de642a899305db8d086dd9034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03d2451f7a80a2a28e5e5d9b18effa7a6075b88835c6b3101f62e629511007011bffffffffffffffff05581e03ecc91a931feec401b567ff78b1ca88eaf22734b1ad0b38087cb2546ba0040303c27f39a8e4fa2b559b316bdf89508ee6a3a98da971c144af28a6c150532b6c3302199c0f03de03ea5edc6f761126a9a2d7655b475a1df0a2185f9c8425172b75affe600a1d03f6cd7d50571b145e94d2edf80c6519622f745d19346ff9dc284653c4952070410360864a868d5d67311a5cbd37123556b82e7b320586a281729393733e51c48bf103c86d04610358fd86202f4fc47e56081e95f4fbac99cf16c17b46259d43f428dc03007d813f3611c9430e662456edc5fa30996a0c5dbe6ccebc10cf8eee77aa022003673554ac028625fd399f4038e88c22491605a8b6f2665aa39d3c19eec79401d803aa86aac8031ac6bcf30aa5c328d76c1dab1d8c51b434bf6266f95feedfd53a88032840697a08e0f70defe861fba5c8cab0a55f58e5e3302fb3c05bf0a3106237480333075ec4aa55e5e2ed4571b0aff82deb766fa343c9dc44669d9b8a550f29d1cf03c476bb0b6ed91d2f73811c4ce8d5e4e0c9559450c6921fdb665d32d809451e180369a7ebe80acfc7be07bb7c44023d96010aae62d5789efc8fa4af6402868c90e6037d38513eb93e9b26cbb759c44aac201f535d08b8ba72a55fc43e016dcc4535e1030e2d441d27304867325e7e2ddee5eebf0185ca946d0c50a400da7744037f7b5003270cce88f19c392c8c6ccbb8aa96beadd0f5403e6903dfbd4801918d57e8fbfb03d79bfda74ad6981ae2924818c2d4fb3270d9660c15cae4644020519acd2486c50219ffff03a712cd02f0a1e7198c07c15a6194375f337a1d4c9b6fd7a534d49694213db48b0392590ce9883a73b1fb67a80c5cd2abef56d0609c1cd9a64e13112f7626d9b07003f733009f7cbb20e958545effccb448d3cebb9e19ff1682f9ee275637b4b8583703748bf16af52fccd0dbf6417f1ded7142988a658a96ca32fc41b30f9890cb7c0e03173fce463917a6c058d9a67887c926116f3a3ecf738daac7029bf766e45c3b6303e5e3782223c6679f2a193f77407d01aa4817f658db6ebe3adccc672c9d78a2ab0337d693d6a3465384f9f2193b53531802af0ef39c5d12a56979a634b98251802403ecce0fdbafcde3f8a4a62371b4aa9a8ab4866bf052dff6c2a2e93f50f75377ed0327ab16eabed3560ee189a1d00db78afcc2334d6cdcf30121126d311772eb0e7e0219ffff03d232ceb9c0214f454da573b703730e5fcabacedd2793dc4a368b30002a11085d03f5997de42082e08478df363b5f3d4e2d8d9f8775aa9d9e94c11aa9f9d6683665034e355a8f5cf9044a83bf3c47f6ee3b77e2d855eb75987e3a9b62dff0f062587f030a2fbce5360d00187e191d375e88e0f8cba7fab0046a39e69c2743ec7b31935d030ce44e264541cca1b8f258266a8384e851bd5dea6aa3e295be546a534f61acdb03300eb8e3010b5c6199d7496d5c7dd8508d2b7d5f1fbae7c435fde0f5964b033303ce06282b34ed2716752e26cddaa17d922699099ba3718fa7dedbbf32c1c311b30342a8b530b4ce1ea44c38cc490fb141635c7a7e81380f71a63a71c980dae7b8770387a5a77da3937f7bf3b7f6b25a7acdd700746b5bce3d00dd9baf72bdc2f9e6a103a74002e9cf51ea009758425a76ecbd6bc87285bcddd4e1060944112ebe1f9dcf03fe2caf21c4d4fae085ebd8e278e0f1ae40970a638fd5e9d5cbf59539ae12ea760219ffff03d4f124fee634352f3c26a90b2de180e246a39ddaf955bebc798bbf802903432a0305909561adcfb05cdbbf0c628988d4766c3573023400e1788318da114ade9c0e03b67d0aed4429b96969e68857ea2b23de20403e21e267429cf6fc696b2c2e53280327c925e63203d62d15458652e28020d0344ca4d77890725dec776d02d7f7eef4032de757087bce9b12fb7cd4b1c0a4479b4fbd9cfeb57a3e1b3910ca9ce52d9bf603767a0fe76f3cdbb7cfabe998d9807482774857168f59b7c8a8a0a3972bd22dab031df6c61249f5b47566581c9a3c58d211844ff3ff49f5dad7915b527a5930aa010341faa9d8e5b44e27e7a66a5e91baa25010e39e6ff10de0986e2de7dd6e5e6635038d7169bf0cc8cdd17c5b5663affb3d4bd9b0874a4db6618a032b993890b9823903bc340807ef2faab8b1e00ca51386010d326c6ac1e121e3b1f0e559db94ba50e4038313f9179bc0d7048b65eaff911f838cd9939a289bb2156fad90e5912dd6064e03a51d4d2ca2ffbd149b6eb395a8e362ef50d9e6d14377c64cfe004572b2da0f3a033bd495ebeb494e567623d30475db0956f22bc8627d9c08bbea9a4a15a6c6dbff03602cd3c9198f0d33300fdad67a436e9b458acfd666c2ed089174199002c0e46e038c046c318e6376964b3d4f15eab4bfe4d1becdfbaff7f5174988437f471f9d2a037514e171b56cba6d32745a4f1a5be2c9f2157949a2dbb76a105501e0d87aa69a037bd94b4fffbeb72227b12505fa1d9fb05c0abd0395de37a0972f70bd08315282037e74f78ce48e78e450f0ed5ca6e8a869c825f8231b5eaf7cbfab0a2f3a199f33036e84237c154074eb5447d5da36d4b819aaf3094ee560efb817f9bff697768b0c032c1d1082ab1fc8d6173b9c7750a2ab7a4d3ca4db9382d88a42c245e623e2b6660386f486d901a0219fa2ba35392c003200dff6e9fc77f3d329c0d79d9b4f3be0f90385d6b31dbe3660ac664e5c9202e57445c9a432953505aa9948796faa87da4c3805581e030834c344c96aa5fe5b40f09c0378d5e0070c241c58674022a87235a6100c0147325e9b87852e9803962f2235f31d5036735beb99633cc9a9b7c2a612d9af01a620a7e86d11691eb405581d02ab94c92fbc2e0dcbcdb8ee33834305d7157e7584edf94391d574f9610c0146e4ef5a28924805581d02c5a690963e6b410772888486931a3bc27bb5f201b73c88703d8d5e6b0c1903ae4801a98c1149b4b8b005581d023e5253c27c42f2af89c319e534816a7c5bf9fcb77283c65ac6722a370c04461c8833aae6000219062403a5623f9dc3481ee9f98ebacb624cdd95fc9656163c9abc645a5625b12d81b2ad05581e03c54c098d84d2c260dd5e836a5a6f726e1e046269b2a305b3636d5f15f00c0a48023541dfac69371c05581e032560e8db755ef5d19b6bcf1ce2ead6241223e1aef84a6639e1925226100c0148014fea3a683b757b05581e03ea526f87acd189f42efdd0d975ef774bddb2b09f4704cbb7601146b8900c03470711220625aaaa05581e03deba6b8982fce4f6152a2690052e1d836664a794b76c77371fac6f31e00c0147038108c06f4062035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503e91a77fce60e61d9f7ce96cf23c298a2ad975089d0277faf49d2883efe0e9a5205581e0313bdac0331cb9eac813fdbb05ba2ad90baddb4bdf48704661b10d8bde007011bffffffffffffffff0219ba830387be7ee9017968736406c8cc2e1352b92f5c49f04b78d9820fba385aaf31ab4d03d8026cd734a1f60b0a3bbb19833291a797d9ab2445cb72211aefad7f2484e3ac03f547e7107d1aa1d1816af72f17732627fc1e02589118e7eaf0c0c157e3047049031fb064f12b484babcd1866898250d98ddd91e5d24ada21174a6a5dc065c3c293034f015bb3143414799ec66b89bb08d2ab1c1824bf51312e67c5ce558ee5bc397f03b6007ef88f0d7de2ff864535d4ab8c9301373e86fb4393c8714dc67c657ac3140301e030c97ed4ae7cffb2851c232c125c576cb86d2bcd442aadfe22063f1618460219ffff0363ba696c7987b174b95f2b14bce0c12077d011bb0f285125a68c1bb3ebf4f10a039b4b340b11f78c731082cc91250b582e76491487c995762b6ef792fa2eeb46a9039785d5e54648743fccd5b4754600fecc383dd1293d8a7f706d981efc95d622c3032edd659ca287bfdce308461a8906dfd81545cb62c6809afb8210e6e7de1d4bbb03da79aeecbe479750e12e8c4cb2ce11b1b6e22c124fbeb341ecdb8832439ae0a703a88e417682de57a88ea910acb8c44443438f408c9a2e4896b3a0bcf1d5725bd60332681bd662c3c5c8f386f46cc76f3635f6f24bb8f8af3f9d2117c76c03c19b95030023693390d5b65335510312af93ac4c0b4dfb645caa1c8d5949bb6932dcff2a03c4a191a0ccdf17d3c0de17e5ec0cfcb0355effb3f2efef8995eeedfa9fe38bfc0385297716a52b0b51d9a9134abf1dae62dd9a8c04d75ab76972c27264f135af7303c1b255f2b200d6abc162f2a351c0bd29c49e4b59bcf771010593843e6eea9400034ac902a3b588f7d1182cb3ee4270d247ed2ed16bbe4990197e83fd954f464a6f032b79c2b0969270d6d035b4e9c311941c0a148cfe49ca2955790723adc1717e4503b7ed890c5ba83d00e7c2ab9da3323f8aa2f85f178539a33550f2d1029818b4df03206b8f0e95a648f53f7dbc0dbf5430a0a61cc769df766501bcb15b79bf374f2c0219ffff037f618e830ea8cdede62011b66d7560bb1c6338549f1f19da0e12c68335f1524e03272322bcdda578a4cc9d0ad679cee719da39488dd20337e9b16278bf9167d03a0375ac81273257e3674d70f64811581da9762b6b7661e505186d5656c01ee5dbda03366a51317609f6a9ae0eee696b58e4b984755b06aa1d35e4eb33495cbacf5d550219ffff0341682dd67775077a77169a9bb3a3cc0cce80ee74c285f1957ce0febf235e2a4a03d9d3395176809a1bb0b642c690e801d76e73484f27caea6c4c9f56dfb649bebb0219ffff0300200a53a72df28e25a54db0dc4bc6adfbdd4ad323035f78210f4cccd7b252ec036c5773d732bb6006bf2992d8f4010e946fc637e674dbc081e0a5faeeee083c6c039252ad8c89cad04ef2692384b42457ae7a0199d25a690836fbff8b56c292842c0383fa591822af6344119bd1acb144eda8a4052343190eb1f8c540fcc28852cbea0354765d3c02f3787a8dff04d84fe23b691b817df5a00a82ab515f6314b96e5d6d03f48d412601e862b8b69fe031a0c5ec2b06ffe4987c318c8d8d6ea7d6eb9e97f903f02d19fa33485b9cedafaa2af711901e0bb0596272234151a9becc3d71b269c4033b0c6fb2a51b9649c8bf8d5c632bcb586b5ee88e7151200e644e26ec3ac84caa03413d6dba7ebe5f66c2eeedfbb6de40406b971e3ab34fc98f34e785e2385a63150335eaa625088dc4b73fd9e725c240f56619508fb02f70153a25b4567340403e560374f4db2343894c01b4f0b347acaf77b4ed23ae416b75cdcbfd1c2d70d9c5f7f503f8e0686737ea3b7294713975feb7b463841b57b4a93e610c34a1248fac422d6f036c6d949154b1bfcc9e04b883893287bd56eb73703e631602641cdb249492b9ae03d5964c076f01d2938aadafd46d1f77c2f8be1bbcc76c498beefe49577d38762a0343dc2992bb0b2e6c582c8a32360e1651a4681df0ae23980f306fe053fb311a210337d816a9ede29ae44cbf98c677d0d45b0f1557272714cff67d7f565908dcbc490393f80f79c8d03c5ba89f524219be1d65687f011cd4cc0e5fd3a395a0c71c461e035eaf264b57abed5ae0908cc47ee438505e6af4dd0b0c79dc96cb808a6ada946f033e7d440d14ef74257dd4c9cfe9392323bfada30d52f4bcf121a6b2c18b15feed03035ee0e4c43e8d07a088c984456f19649f8ac9da0c69d8544ed3f0291342f4240384a6dfc5346bfbbd54c41d4b278e78e8e7e338bf55f464c008208b501a9d3645033af0d3d9817c0789db5574f398f89bf999f4cb9a7f799951ab9cb3008eee661a034dd6c525acf6458317240881d53c1797c7ff23ce76e7ffdcadbbf2c2af15da320325f948d6f5c2bd9ff95df1ead520192bf28762b37db74e339a57ecd28a384ce4039f083043f8a182e4127454a3a6b22ea36437368e45d1c68486f904de8ee2559703d6495a6bb374b89e59daeacd3fcab5c3002d78e429b73045e6b255c42136fc2903e5615be6df0759ac8c9a4451e4c989aca276f077df6fe67276cfe222273124b7031644bc345c57b413c6dee0f35dc31163e93e0709df99ae754c737bbb76f9a75303ba792e3fe2fdfa6fcbfc01ed91734d1a36f8679434ff7b8c926938d539bccc97038c81eb272a432a865512bc6427cac3de55e155c5bdf30dcaa181fa3e6845df3f0345c421dcfec15c6089ff9b1470f749ceaa1073c15ee35f36e38631493b55276403bb0b4c870447be8ea6639a49138d18db3526a77485e7d1630f30158586e7a4e503238c61feabda5e145b6e6722e56056096ad7488d53c3f319c18297a50c78c72903fd4556d1bf6034de155fcbf0f5732a0cfdabb7d8dc76c00a61bf9f24221e4dfc031811e7bea1de9536bba3e5d7323c86e2ca6c891a3f1179c5b79200574f6134590321429ada8c94755a77f322293886d70d5f18fbfe844bfe8dd601229facd1eede035d4ede20fef2bdb52c2c22563697db2cf078051efe740414de93f9df33e006b105581e035fa48bf451040b1d6826cbcbc3b0e0d1b318d74fb951f76286701475900c014701aefdc910f00003a429b70a73da17abbebff84eee040917b7a179293a1cd9417546178aea92249305581e03f30b0628a0dd47abfbe5462c6af4ce619ee80fd7b2268d08af63bcc050040105581e03e28c6356d323a7fa16788d69e9d2a20afca7036add54c32bad42369f600c0147019ba62df4a24305581e03cc1267c03f31a265a69089cefa79069acddc1b9d9606385b31837c7890040404592287608060405234801561001057600080fd5b50600436106101a95760003560e01c806379cc6790116100f9578063adb6183211610097578063d505accf11610071578063d505accf14610357578063dc0f0d121461036a578063dd62ed3e14610372578063f9e5423414610385576101a9565b8063adb6183214610334578063adc879e91461033c578063cea9d26f14610344576101a9565b8063885ad0cf116100d3578063885ad0cf146102f357806395d89b4114610306578063a457c2d71461030e578063a9059cbb14610321576101a9565b806379cc6790146102ba5780637ecebe00146102cd57806381893c7c146102e0576101a9565b80633c8d76d1116101665780635c23bdf5116101405780635c23bdf5146102795780635c975abb1461028c5780635d4545a01461029457806370a08231146102a7576101a9565b80633c8d76d11461023c57806342966c68146102515780635aa6e67514610264576101a9565b806306fdde03146101ae578063095ea7b3146101cc57806318160ddd146101ec57806323b872dd14610201578063313ce567146102145780633950935114610229575b600080fd5b6101b66103a5565b6040516101c39190611bcb565b60405180910390f35b6101df6101da3660046118ca565b61043c565b6040516101c39190611b39565b6101f461045a565b6040516101c39190611b44565b6101df61020f366004611815565b610460565b61021c6104e7565b6040516101c391906120f0565b6101df6102373660046118ca565b6104f0565b61024f61024a3660046118f5565b61053e565b005b61024f61025f366004611a4e565b610652565b61026c610666565b6040516101c39190611abf565b61026c610287366004611a4e565b61068a565b6101df6107c8565b6101df6102a23660046117a5565b6107d1565b6101f46102b53660046117a5565b6107e6565b61024f6102c83660046118ca565b610801565b6101f46102db3660046117a5565b610856565b61024f6102ee366004611a16565b610871565b61024f6103013660046118f5565b61092a565b6101b6610a31565b6101df61031c3660046118ca565b610a92565b6101df61032f3660046118ca565b610afa565b6101f4610b0e565b6101f4610b12565b61024f610352366004611815565b610b16565b61024f610365366004611855565b610cd4565b6101f4610e15565b6101f46103803660046117dd565b610e39565b610398610393366004611992565b610e64565b6040516101c39190611aec565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104315780601f1061040657610100808354040283529160200191610431565b820191906000526020600020905b81548152906001019060200180831161041457829003601f168201915b505050505090505b90565b6000610450610449610f2a565b8484610f2e565b5060015b92915050565b60025490565b600061046d848484610fe2565b6104dd84610479610f2a565b6104d8856040518060600160405280602881526020016121e1602891396001600160a01b038a166000908152600160205260408120906104b7610f2a565b6001600160a01b0316815260208101919091526040016000205491906110f7565b610f2e565b5060019392505050565b60055460ff1690565b60006104506104fd610f2a565b846104d8856001600061050e610f2a565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610f05565b7f0000000000000000000000005efda50f22d34f262c29268506c5fa42cb56a1ce6001600160a01b0316610570610f2a565b6001600160a01b03161461059f5760405162461bcd60e51b81526004016105969061206c565b60405180910390fd5b60005b815181101561064e576000600960008484815181106105bd57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f9ef90a89b00db1a1891a357dc96b2a273add9d883e378c350d22bad87a9d7d3082828151811061062957fe5b602002602001015160405161063e9190611abf565b60405180910390a16001016105a2565b5050565b61066361065d610f2a565b82611123565b50565b7f0000000000000000000000005efda50f22d34f262c29268506c5fa42cb56a1ce81565b600080610695610b12565b6001146106b657738595bfb0d940dfedc98943fa8a907091203f25ee6106c7565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906106f6908690600401611b44565b60206040518083038186803b15801561070e57600080fd5b505afa158015610722573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074691906117c1565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b81526004016107719190611b44565b60206040518083038186803b15801561078957600080fd5b505afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c191906117c1565b9392505050565b60085460ff1690565b60096020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b6000610833826040518060600160405280602481526020016122096024913961082c86610380610f2a565b91906110f7565b905061084783610841610f2a565b83610f2e565b6108518383611123565b505050565b6001600160a01b031660009081526006602052604090205490565b7f0000000000000000000000005efda50f22d34f262c29268506c5fa42cb56a1ce6001600160a01b03166108a3610f2a565b6001600160a01b0316146108c95760405162461bcd60e51b81526004016105969061206c565b7f0000000000000000000000000000000000000000000000000000000060176ed56108f2610b0e565b1161090f5760405162461bcd60e51b815260040161059690611e61565b80156109225761091d611205565b610663565b610663611271565b7f0000000000000000000000005efda50f22d34f262c29268506c5fa42cb56a1ce6001600160a01b031661095c610f2a565b6001600160a01b0316146109825760405162461bcd60e51b81526004016105969061206c565b60005b815181101561064e576001600960008484815181106109a057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc05828281518110610a0c57fe5b6020026020010151604051610a219190611abf565b60405180910390a1600101610985565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104315780601f1061040657610100808354040283529160200191610431565b6000610450610a9f610f2a565b846104d88560405180606001604052806025815260200161222d6025913960016000610ac9610f2a565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906110f7565b6000610450610b07610f2a565b8484610fe2565b4290565b4690565b7f0000000000000000000000005efda50f22d34f262c29268506c5fa42cb56a1ce6001600160a01b0316610b48610f2a565b6001600160a01b031614610b6e5760405162461bcd60e51b81526004016105969061206c565b6001600160a01b038216610b945760405162461bcd60e51b815260040161059690611fe0565b6001600160a01b038316610bfd574760008215610bba57610bb582846112ca565b610bbc565b815b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610bf5573d6000803e3d6000fd5b505050610851565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190610c2c903090600401611abf565b60206040518083038186803b158015610c4457600080fd5b505afa158015610c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7c9190611a66565b905060008215610c9557610c9082846112ca565b610c97565b815b905060008111610cb95760405162461bcd60e51b8152600401610596906120b9565b610ccd6001600160a01b03861685836112e0565b5050505050565b83610cdd610b0e565b1115610cfb5760405162461bcd60e51b815260040161059690611d56565b6001600160a01b0387166000908152600660209081526040808320549051610d4e927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92918c9101611b4d565b6040516020818303038152906040528051906020012090506000611901610d73611336565b83604051602001610d8693929190611a9a565b6040516020818303038152906040528051906020012090506000610dac82878787611375565b9050896001600160a01b0316816001600160a01b031614610ddf5760405162461bcd60e51b815260040161059690611ea8565b6001600160a01b038a16600090815260066020526040902080546001019055610e098a8a8a610f2e565b50505050505050505050565b7f0000000000000000000000000000000000000000000000000000000060176ed581565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060815167ffffffffffffffff81118015610e7e57600080fd5b50604051908082528060200260200182016040528015610ea8578160200160208202803683370190505b50905060005b8251811015610eff57610ed3838281518110610ec657fe5b602002602001015161068a565b828281518110610edf57fe5b6001600160a01b0390921660209283029190910190910152600101610eae565b50919050565b6000828201838110156107c15760405162461bcd60e51b815260040161059690611ce8565b3390565b6001600160a01b038316610f545760405162461bcd60e51b815260040161059690611f65565b6001600160a01b038216610f7a5760405162461bcd60e51b815260040161059690611ca6565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610fd5908590611b44565b60405180910390a3505050565b6001600160a01b0383166110085760405162461bcd60e51b815260040161059690611f20565b6001600160a01b03821661102e5760405162461bcd60e51b815260040161059690611c35565b61103983838361146d565b611076816040518060600160405280602681526020016121bb602691396001600160a01b03861660009081526020819052604090205491906110f7565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546110a59082610f05565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fd5908590611b44565b6000818484111561111b5760405162461bcd60e51b81526004016105969190611bcb565b505050900390565b6001600160a01b0382166111495760405162461bcd60e51b815260040161059690611edf565b6111558260008361146d565b61119281604051806060016040528060228152602001612199602291396001600160a01b03851660009081526020819052604090205491906110f7565b6001600160a01b0383166000908152602081905260409020556002546111b8908261150c565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f9908590611b44565b60405180910390a35050565b60085460ff166112275760405162461bcd60e51b815260040161059690611c78565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61125a610f2a565b6040516112679190611abf565b60405180910390a1565b60085460ff16156112945760405162461bcd60e51b815260040161059690611df5565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861125a610f2a565b60008183106112d957816107c1565b5090919050565b6108518363a9059cbb60e01b84846040516024016112ff929190611ad3565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261154e565b60008060076000611345610b12565b815260208101919091526040016000205490508015611365579050610439565b61136d6115dd565b915050610439565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156113b75760405162461bcd60e51b815260040161059690611db3565b8360ff16601b14806113cc57508360ff16601c145b6113e85760405162461bcd60e51b815260040161059690611e1f565b60006001868686866040516000815260200160405260405161140d9493929190611bad565b6020604051602081039080840390855afa15801561142f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166114625760405162461bcd60e51b815260040161059690611bfe565b90505b949350505050565b611478838383610851565b6114806107c8565b15806114a457506001600160a01b03831660009081526009602052604090205460ff165b806114c757506001600160a01b03821660009081526009602052604090205460ff165b6114e35760405162461bcd60e51b815260040161059690611d8d565b6001600160a01b0382163014156108515760405162461bcd60e51b815260040161059690611d1f565b60006107c183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110f7565b60606115a3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116939092919063ffffffff16565b80519091501561085157808060200190518101906115c19190611a32565b6108515760405162461bcd60e51b815260040161059690612022565b6000806115e8610b12565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6116156103a5565b805160209182012060408051808201825260018152603160f81b908401525161166593927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6918791309101611b81565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b6060611465848460008560606116a885611761565b6116c45760405162461bcd60e51b815260040161059690611fa9565b60006060866001600160a01b031685876040516116e19190611a7e565b60006040518083038185875af1925050503d806000811461171e576040519150601f19603f3d011682016040523d82523d6000602084013e611723565b606091505b509150915081156117375791506114659050565b8051156117475780518082602001fd5b8360405162461bcd60e51b81526004016105969190611bcb565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611465575050151592915050565b803561045481612175565b6000602082840312156117b6578081fd5b81356107c181612175565b6000602082840312156117d2578081fd5b81516107c181612175565b600080604083850312156117ef578081fd5b82356117fa81612175565b9150602083013561180a81612175565b809150509250929050565b600080600060608486031215611829578081fd5b833561183481612175565b9250602084013561184481612175565b929592945050506040919091013590565b600080600080600080600060e0888a03121561186f578283fd5b873561187a81612175565b9650602088013561188a81612175565b95506040880135945060608801359350608088013560ff811681146118ad578384fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156118dc578182fd5b82356118e781612175565b946020939093013593505050565b60006020808385031215611907578182fd5b823567ffffffffffffffff81111561191d578283fd5b8301601f8101851361192d578283fd5b803561194061193b82612125565b6120fe565b818152838101908385018584028501860189101561195c578687fd5b8694505b8385101561198657611972898261179a565b835260019490940193918501918501611960565b50979650505050505050565b600060208083850312156119a4578182fd5b823567ffffffffffffffff8111156119ba578283fd5b8301601f810185136119ca578283fd5b80356119d861193b82612125565b81815283810190838501858402850186018910156119f4578687fd5b8694505b838510156119865780358352600194909401939185019185016119f8565b600060208284031215611a27578081fd5b81356107c18161218a565b600060208284031215611a43578081fd5b81516107c18161218a565b600060208284031215611a5f578081fd5b5035919050565b600060208284031215611a77578081fd5b5051919050565b60008251611a90818460208701612145565b9190910192915050565b60f09390931b6001600160f01b03191683526002830191909152602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611b2d5783516001600160a01b031683529284019291840191600101611b08565b50909695505050505050565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152611bea816040850160208701612145565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526027908201527f544f524e3a2063616e6e6f74206368616e6765207472616e736665726162696c6040820152661a5d1e481e595d60ca1b606082015260800190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602d908201527f544f524e3a206f6e6c7920676f7665726e616e63652063616e20706572666f7260408201526c36903a3434b99030b1ba34b7b760991b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b60ff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561211d57600080fd5b604052919050565b600067ffffffffffffffff82111561213b578081fd5b5060209081020190565b60005b83811015612160578181015183820152602001612148565b8381111561216f576000848401525b50505050565b6001600160a01b038116811461066357600080fd5b801515811461066357600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220043c43bde5b4acd90be7aee5944f4d06f58b795870731c1c144b7c808b4cf01f64736f6c634300060c003303135676aa53a5f5eabcf6a0b3c77f3436a51a439537f5b5ddcfd0b940a0b53953031cf1ea165038d938f4c4c3345bbdc3008c4f5121fc2f29b973f04d5a29f26eec0364758a249fa8390e8351332697754adf49f413a164440132d444e02e46dd7c5303adf5302ad7a2942c2572815e842edeb2ddff2b6eab60451295b19762cf4f7d8903b87de55f83d80d87ce8c7a403eb3a9563aaaeed3b6e71bc23b685d79077e040a033530eb83c6fc50f7f0be33595ec7518292a1aeaed14bcc52cd1fd2f8f0c3a0d103f0750866b3410811ea831477c55d2b4a5d31163344045addf486aac0d5e7741e037a2e34c22f3af8060e1f077b60c897e56ca45eca51670f6e69437fdc59d06b4a0365ca2d6cf468349387edaed55378c5d738cf29747e72ead1b8536974a663516003b75ccfffcd1eb90ab06472640b36315c6c275fdd84e591b4b99baff5a9620a85037a3e9226101f05b745d1bb1122993be5bbfebcbe6867e305e8cc832ad7d3cf57039c1049b6753d7bfeff63a2423b38edc648e7a23a5de58d19d88f73f5d7d818e4037c08130b3fc38fa52b7a4ed9f39c8e55f4cb642f07b3ca9ac93e73ce89f0e1fd034efd774da5e87776bff8f054eead97a5a195ae98a78d011fb63c64629af8c97f0368b8d0fcc02b0770308cd0327e87f6f87733b416a976581458fad4043fb97b4203c94473922a147d3995c82024ecdf43985caaff7e14fcbc18eb1349fdc247aaf00338cbb2a0e5bbd1ca194a47aa155bd1271b79b9a5bddb5ab2d6710ab490303e4200581f02de2059c3a95350c847ea7210c9a3b5fa27dc53c4a17230564d0041507f954b4a8179ca1c50e6fa6c1c0003523671bb0e7110c7a33d97c60dab0685ff0a037f5f11c829d5abd0c24dc7d5dc00581f021752ae2301e5fbb9b3991bd89f8640095efb4d7a3a2a8d296cf51feba45d5820fffffffffffffffffffffffffffffffffffffffffffffffe75f4b0c63d1d9bbb00581f02722de913c16d7ec0fa1560a22c9c0f60b7f96c24ff625e14ff5ec78efaba48023e1e5803b40000036a6d26094ec7601895776caf3598c4156c9057bdfe39537e95390c0c9437440500581f021eb94d723e38ee266d49385005ee3326629bf1949e7f71794493ded09376410100581f0278a2530515e616a9d0e41385f76021cd7146b647dbcc4d432686900b536748da4ba054fefa9af00219b9150352614e6c7c4c97acb0c90b3f158706034161ad41ba96a5ce21f671fd89e9f17303ab66514589e80858a8ab9fa7fd6d5a0c7e697f835446b3712d02b926fc51e29303abd937a350816253460376060186a44e7dd122974855e3d22be3f09ea4266c8a0350431543f5e2fea2eb47a25fe724f2a2be6933158e3b29053f26843df6616eab0219ffff03e8271831857827431f85e6e1f873db9c9766172567dd38f3f80ac7b3f551df84030e62756b3775ca5ff347daa5eacad10806d98d1f1669d34d3d47d2e812559bd403c234804664629dc1b5bef7e6a0c9a6935905acb48f28b96312b1163b99c3384c0345843418c0b003388958d5f4cf93689a108bdb7e94a212b1fa6516d214ce4ce203631b1d54eccacd2694cd75d8a9ef4884c7ead0ee815e1f55af276dbc05b989e303e329e692f40ec10e7b5a1d751022e2816d5b9950359e8c63a88945bd032203600342b18f2e17ef2b20533572bc7cf6db72c0de3882e91e948c2966a6a9b8ede7b5030ad679b24c10a8974ed6fe8b5a4aac6e45168523cf79ee8a761dd6bbc102e62603087eab8e09f2805da3f6fd90918d8de08fea80773018ac89898cb8ed55d5a44403f2baf2044f2365fb88eb31d32f654c71e63d8def4537a176b5d34fb90e9ecc78037b218570a86a82cb94c414eb1e7002d73852bba3049156ae94602ff78ed4b0d203088901f9eb7d95e434c2b619041d42dee5e32c234d900337233985e09bae77a503c2bb8f4254fd769b133d0dd1726512a6c2817c3599474d8e0859ce9d94f35e370219ffff039b0b10da811657d6510e78e8bd777073347c27697f7767fd5a259a2d5c3aca9403d30fb0c69ae5ae86899ed74f5ed05446b1ef6d1faf8390e2b0583470fb712d7703af2c7a35dc7aae9f00c6c3fc374199c8e3c7170adff8502e8a68ccee5f7b0f69039bf8124cc9a36f9cb85c367cae0824b337be22c9a5df793d60651526d743240b033f03c5c2681bf81ca3c4bc132c5ab695eeb56e81ae649aab3dcc3bb7a7cd94b8035e4618e636322850fd1b8dedcc0a28857aa0703d6a349070f8fa365a89e6725003f325ecba4837d77d3ed5f9b1eaffaee4d44019983959deb9a9c80576c386b7d803a02234c1ea6608a9a15d52c6b3c58c1edf0f2ea2331a76d2e294a60bdaff8a24036c62c1c6a3fa6b16a289a8e1aa9c256dd5691bcb15b582dfdfea8a66781c07b203aa079bc54cf0b4bbf1274a2cdd4c4009d362f0d202b0b95502aa5cb4beb9b1a203d8d73adf96818cf3ee5bb8f652fa59c4d3132488ab6516df20baca857db5e6c3030bff32c8d2c6996b31a86be9c83140a4087d3405af5fdc53368cc5c0d79c75ff03a07ee81cf9a60d7a9f33fb38f908e8acdf973cd5f41f5f7e8d3185f4132858430380fad90aadb816e1ca19695611a7ed32f2a64843ceec00426dc25bf425e6ce1803af3eb376e232218373101653b45e46b2a0e6cd5902094ab5ca836f1c3f795c76033d9a0e9f248a59721099553def99a391ee4c722afcc4a3ed3f762e24f7ccdf16030d7c84a66dc47c59402e9b5dc58f552779744d5bdb3fe766990ced222374f06703c5d2c5ad12caa39074dd963df600de3acceae07e3d9d115e8d8e9c556a60665b034094b09ea911bff293f5e48efe934fbbc76b1db20949df3310c4368e34b22bbc031e0a351be0bab17f6df2494979746c1bbf4e7d9f3176a5927c6db4fae7a6a29a03db1cbd6cc1331388766c9c37486f36799e04702bf12cb889cc1c86d5dc4bf1a303b00edba919432c53104034c0998c2bc5ac67f38d187efc5ff2dbaa69f9c5b3ef03c4dc445f1a58d882e6ac9b6f5cd54302f645b2d1f5038197c2338e9f498ab8c103e4a6543a18e72530e335a6cf8aceeb6dd46d7d07bf11b11c9b27b94fcf8e6620039517bece20a31a77637b43e27bde24d64ea0a55fa484cb4f211134b99e65e83903525875d0a6a662acb789364e4d5c7fca75f94caba942fe40d6785f49832b56c6030d788b32fcd6b5a0f86c30b44812c2c3b8c0b00b7c98acf454e8bddbefb544dc039a06eaa21784945d6afa1b98686853eff2354aa3c519951abfb07b5c004e4f9503776c925a55cbe25fa1ee92693f68a398ec87b03af57c569dd29ea1bb986669bf00581f0256c36bc93869f595f0ffc944c41946be385c62f900a8c788944c55bc27b45820ffffffffffffffffffffffffffffffffffffffffffffffff9415ce6fa606a94200581f023485bb2c6410715d1c26b23146f1ade4e39ef9552d0f60ee5d2e14f8a8f04902170b598da912ec8200581f02d7c345e7e14153317420bc6da9f64d146cb67b5a84f77d9f77cbd49cd9ef410100581f027088bc1f94d3290b1dbb35c001049c5bf844865daeef20e45fc0879876815820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c7d055839f44140fd3a95b0908504cce8ca462c575aac1be67c0072f09a9bb5600581f020b9cfe3fa5f2764ea56e3a473736671af90bf2e5d28f3b35591a91f85da05820fffffffffffffffffffffffffffffffffffffffffffffff2f55ad8710e18cef102193a820219ffff03f427c44cce224fa4480b4e6d6cf204a4f8c32228ecce592d4b2bc8c183057dc303fbab610a4b107999a5e6f53d61111c17214b0229b1ac2272c4e0344d3fed124b035a73d3e3cb32d6aff80037d0da069bd28225cd9bacd7f206a3a3afb15c69ce61039537632227dcabd0dc9361cff32f3b239332620ff15ada78b719adc33be7da820398fe83ed8471967361bbb779f323509246f44bd42794f8ab5ae5d10da99e1bbb03e13804819a8d533ca90597a2faa0769ff97665ae2c4a4ab6cfa896eb76f64b5503f2effc33e7113f42c584e78da9ba36725bf3110274a9d14d9be9a13fd1e6a041038a81a1ad781d892af94bffc5769b930bfe3d6b7cdb539731819134211ebd23510358f61f6cc138deb751fc76684815462af8043cebe3fc5067fb4a711bcb3ba5da0360945ec259e4c8f0342ac1a4f073e37a13486231ae976ef504bc74e136c53832036d2b2da6958e82d6667a188591a4c44c2e02535e65897bc66284838fb0fd8095038a6447b84634b5c259f11aa4f3d3b5d7cd46894e28541ab2ea280e6ee56e87b4037e2c454a6fa890e645e442fd68d2936d6fb249f4a41cdab604c6ec60659ce122037c70889f13d68868b3d79401910e4e213b1058283b512cd3e0bb20ac97ade1380332782bdb1346dd003de9bcb8efbc74e5a5159476cf99c000f0110cfb455e5cc00338e924507e8b804283b7a9e678a45ccbf413e9848047e714d04cff550c749288036967b92f45f04594a066d0c63ad8da8a5f9fb59abf827135117041b15035e41f0304b35492a460ec170eb80fe496c46e4e1345fa35f9221ed6d3761d2e80b58fc403da281432d08e7faf32da0e07c65069453595f641dbd1043cb1867cf661f74ddd031062f076d009f4acd507efa3e27f940f59e9e3a58a87220cb879c15b2f1668d7039c0247d42cbf2d5747fd984451008ee943816eb919d9647b67b140a329db0a3d00581f02f615b06c40784de09200af5e4a4e63e3692c17ba47f9cf709072c2ac69e6480c6a48cd983449a900581f0291d25f11a94a09b938848e1c416184575eb83eeb29b7f96f4ee68ed0941549012314ad25ace0baef00581f025355bcc4a1ad5c741f08b7961d9d2ba294aa09e6196c2351f3b732b127f549a385f85018c1bdeb4600581f02e5c0f2f1a763097e5828f81ce420af18e906629b3bb71f2cb67b81c88bca496d601cd0daeb58800000581f02e4605798fad7d75a77e34a8b1efe2fa276032633f88f0a791cec5fd7e60c5820fffffffffffffffffffffffffffffffffffffffffffffffee82f27956bcd16b300581f021e26d45d14d433772145dbb1d45036779cb8c98f5416623ae8dea07676525820ffffffffffffffffffffffffffffffffffffffffffffffffabc16204bce55d7d0219319a03df12317f08dd06c8903d1752cd7e94e3f812c914f4247c27b28dc8c193d6d8300219ffff0380c546d5bab3b3465251b03aac7f13ea5344af6c68353aa8b201e72a10e8016e03b3245ade6712960e08a917cad14de811e81e7ede2dadd95066812fba6ea93f5003bdb5151d15d0e11bc7f39710b63d384d048e13188ad73494e26bcdc56f72af26032361be69e41f0f1b224eef55127f9e1c94fb0f1574da7f22f9f3c8ee67a9618a0364352ce1fdb847e4c047c843db4380d36629ed0abe89824a94776ec38465a57e0219ffff0219ffff05581e03ff7da71936c9218d6e02c7dd40314b24664b79db6bad4d8a00998aa270070119228705581e036659d89edd1423723977e154bb8ae5bbcc129877af3ee277552b6e9cc00403035a2036813b55be2eb62d7fed6d6464ca46b6deb9683ad10330acc2defbac6a9805581e03fd52a7d998c9a78b061bdb2d1cc0d204d8ddc789fcfdb3bcfd47f98bb00c181a46c52ba0ed14f805581e037cdc938ffe726fe31795fb4d6a7adbf1465f0c3f91ca1896953f01e66004010219f74e036d26e79204f0ddea429267ac5900e31cc3c73b345969ac412c503011612c1eb9035d80fd73631bfcd96ca7311b274760a4bc8498ed8a1396c56162cf3cc5773ad903e3b4a06a995b0cf7365f98954983805c31ee4e293e4bab390df342604ff73bcf039bec60451be393050befc5d580e6ecb61f9def52705726aeab9924d5c1ef3d070325db8ad2eed3b0532478c5466268c4a6c2fc924b6d236968b77cc6a4b61354e5035803ec68b73126eff4aa64e34d4835375e704057874e3a122a7a4354b128080a03faa20f2893ff109d5fc5ee0bc687398193ac26e060ef47e28428d42b8ee7143c03e96b17a6d00975446e01cdbede4e0a1bfe2f7fa35e5e730f9296c0b751f6608503f865b103add64fe3906deef2858881824cd2c30b29d427439f15bd341d3ee0e90219ffff03e6dcf8e3fddb49780f71ef26216dbce3d30b7ee91a675ef0643b63891d9c775a03392982dad7a7a98344c3ab73d664f4630e53737015bfd3843ada9b91ebc1476103a19c2b640952574c0aa03348c69cbe1a7fb2f2fc3a0c4ca78bae569f73412d5c0300b60e11d51b361b28e15b80791e4b4bf80b108817ec28feaa5e748206bfc34903f4d485983b2cc4a3df58d8a932e335d441b27e43a1231c173377a2f925d10cc60348462cd3e3d243ab98c72596171e248029438422dc9ea3b8c05a31fb1db30c6003e8fbaf31d7256a07c7ed5cbc65a929f711d6b7553e26dead3e53b91c002cd70503ef04e4687e634b8c53f6321ab59ef38cbe9d629fc4b521ba5da8368a1211c1da03fdb165aba089cfb034f0fcc07f46c5f19e5de6f378a11016cf45a636c33dadff0219ffff0347e234ac2035ab8fc42fd69bb04ef7ec28b037783608f1feabab562ba9aff84203b28e80ae9aed9e58b044b3312b89b46804b97da798f023a3a9cf7bb62f4e27790219ffff03613949b05358dcffa02b79385c523947b71e27c5fd650b112cb63b34e07f3aef0397701cbc91f6b1439488d20079ed853aa227f1f3ac18373e6e56b20d55bcc4c0039d4c347b567538111d6ec2c52ea0cb4cd82cb35d99adb84e10126962f095efe6030d721b606ecc7cb76f7b1cb74cca6200c2d2c063bbccd9ef9b85cd535d2faa6e039863249144f432d8f84b4f75e00bfbba29298e4ec0c19ab8395b62fc035cbeb003862ee2686176b167f44ee3611ef2564cafb9cb30d4f5dbec29140c3d4eb3005d03576e6209f2468aba4125fa0b5088918cf259421580cc8fbd4504443be65f88bc03599fbfff300d55af71c77277d3104d0f1c10e013e30f08157be40afecd2990360342968a15455aff3a621f18bfbe1746695f2a0d12bcd48fddfb9c889a4defa28b03b5b7fec0905e4c7a22d272da9f43e10c02997ec77f18da3fe882955eb6dbe9ce034e7e3e264ee56797ee95336ba5e61543bcbc9450b23bc18c52663c87c6509bf6031c4bbab27d7e2d8382125a3da071936199bf47c73cc8c1093f79f14ee01d3757034d22abe8600db50083b63f947dfd544d12aba38c493b4025e923c0718117f75c03367c461f201395ad7ddf4ab7d16b289a177ca3e9079e39d43e00c2527212bf530395f788bcb186a713d0b779879bfc4b62e60786613a999e82c7b298753e5a84f30320de00b1a94b49d2f75a875f32c946c267f048b51f9f376343d7b31773fd0629038915aab0d25e1aa9ae1d487b06513a12b5249b28cf6cc7984cec63680832f64503364e3e379ddfc982616ae48e89e3cb79dfcb93e13c5939f370e61e54ffa6a8f70396f940801fbf77210dd17f89454309a85eeec65f1eb0223ed40ba64e19078875033667e373c9512cfa66ff9c3834572d408043f8b1d96016e87c0904d6aa53fb060396dc179b6e5026e8f3975d6d4a6f0bb380a7bc0377c0536460cd2403a7093aa5037ec9fc1c0f46be4efbd940eba1efbadbb846512648db4c861825538d48dc5e0803f74fc41859b005ad0e62060448906b7f008945ac7604ce7301c3d933de0270ae03d3675c8bb5b6a6dc959bead4e7376b006f3729f7fffa28700ab61962c2d13dc60345c87e326ac8df3656c6fb55f7727c4838ff458768218e6e368b1ef01026463703c7c2b062e5032e0e881937aa781c2b8d61846b0ba92c26fee1b09f6820ec340c0347b856edd75adde79658fb7c1c6d7d61bf4869d4c7dc2113f38ca39cef9a366a0352d92b5b590156ee6e0321cb7c4a8e1539246aa18a2e76d9b9eec150d25c34d1035dedc15f2ecece78efdcc7543b0f4cbdfee86a8e5eccec3d70b699fcc92565f103d605d46458581205487357f3c4dd7cfaa65b929e8564a09fea9793d02fda80590303c67a88a55baafe716c01ad92cab6de2500bc2f4f524dd0656f01c8e7b345e405581e0333708b93971ed703fabc037f35e8c3b80e2cc44fbdfbc9aa9c884161700c01470a472c02f2ac9005581e035e7ad5734e6e69d977573314d897f9e454cf136441888a5afb0cba164004080345e3b31790606801aadc27594b862e10f0d87f0f888278a1ef26614737266db105581e0380802af99c7eda8548ec383e939ade84a0cf9790f594bae8672596eab0040105581d02534a48ca32f3b2ee3fbf38b5cff2a83ae6911745598f26a9591d155e0c024702fa28380ccc6005581d02735970103933b4c74b2d4417c7afd10944e1bc5bf1f780a0adb1d22c040304592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203a7a2728498ebcd4864e07180329270831822e284aad72ad37e8ea7c51bf3b4bb03bd7a00854d6319244738f1c0f89f91d35d0edc172ba24a4dd0d81cc074a60e380324abf236557e4583de983f3a01c620f867a5e0f35a82f8d49e7cbf56ccb2f37503d06301c6b8fd691777117ea508f0d3209abc323735e7f54f0b06a0103e08f833038b5819eea99b20285d18144b753b629a6691fd96195dd0ea282a6b30148648b503636ba9b4304da01c949aff04a7255aba508940aa7c960dba6739855e6918f5cb03db59b9c89220f5672729da0f7bf930075660f730d5d5a01c4f6d9e490fc33038005820023c0dcae340a8c72f1bdbaf09cc4b6144a0ce2fb353d668a3567f5cc3ace0c148505899827922cbc8005820025e6824732aa4a3d58502895b2dbd8f1070e2452b2f5fb642abf625c5c20c315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200231dd03b46e87901e1bf7a9b917252d428911c6fb27c4f9ddd5b26fabad71f35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200266f0530c309706bf38c2fa637cf8640029e31ea8a28902c4e215d775cffdef4102005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5051518a8b25981e318273206aec447d740219722103be2ef5ec0a6004f1ec893ada0170b6a5f3435fee60310f6bf698ab60e3a42e8703ade9c0d31fbf46635a0218f9afefc35f1c2bf9c51c5fb7c121094aa84de257d503d3cd40f45293666ab3d26401c22e401c70fba4010325705fa4d2a0adefbb300800582002fb2e22e55412d74c982ae0474cc6cb40160b0fc87dd469944feee91d5b330d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820024c0cb12804687ed2043c2143a9ee571510d23e8a3dd8e1ab67d39347af7aa35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005820021cee344ca01544aa7f680a45507a635bb6d9ce039f717b5e8116297dc28c984a010e04b85cd20342d3e3005820023e06f1f02bf56d5459eabac1bcafa9a0428353152f5a132fd33e671528386d41010219245803e349835c1f158a4160465525157c79acf475d0d2f5b95b346ff754366e61d9f7031d72af3a1725976f68e18493350ecd7d2c99e6c5a3823dda155be5d053fe90db00582002131624b8cf39c21d85323642a0b7ea97617352982cbdf05f8152e7106ce2ee4101031b7756575529c1d7b162e8442968b63de4418532eee7aee1b2fcd35b0be8ad4e005820029d4a0bb2ef308cd17444c16b70cb79bcbc0d48af1f7f5cfc92cbddf4e417b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a1739a1989be00aff7dc16e9edf84718207d03490dff5d3dfe0f4e894bc2075820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200285b2f6f0b1dca9e1f67d8e5fa3cfad54c3d098990cd241fc56f1c6b4f1edff410100582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80530e10e8e43c408c8e997c3beb78d4b8ef999a6c005820034cd83a24dcc9068136e15c4b58594a87b9ac5a983a98f685b492475a2f94d0410102186000582002a0e16dc3c6f190aefb07827bcc4d9ba87a3e5ec9b19d13c86f9a98c41e88c15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820027010074ea8e7d579f38f33d7c11b5bd43e8fe2ab4076a514cb4381d310873b4701b4e89d555a510058200230c761c09a135cc942e81ea5275fc06c4ab36caeebc125638a472540c8eda35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820023f83b638b8b7ab99ce1b52e0a9305bf24c43f4bf63a05a3747ea9b36633bea410600582002d8144f1eef0a886a3e830e4027ecf0e8596048386fcc9f7ec0fea47ab38acc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021969ff03935197c218ba3836c1fda4cfa9f5a4b0a05b26b6d97cf9d35c42190c24c5077c005820026cd8b15118ae6d01bd9ffebcd11fd06ac2630e4091c3564d620451fe21afa34913e92e721e825b05f900582002b81b22057b69536426ebe183ebc0783418ba0061c34597d29361c5d377a30d410200582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582003aedc358a84ca41416f6e8d9cd6037d4651f45e99b5f6670240e54c83c078705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021902400219a2800389e6afa45f8d924ae1785853262e968a77f2a88e75ffd57f72c8958919b832a00058200313acaf907e5d583e6c225ce568f59d4dfff0cef5506724714a3acf22a84d5042ab10005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30582065cf5d0f0000000000bf43e72908277a67300000000161f77997cd9f6dc10eae0219801000582002c61be049daa7007f9b0f1eb9b4fdb83f59d72daf8644693344053a905cdb3c470fc564026d2fa70058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5301a500a6b18995b03f44bb040a5ffc28e45cb0005820024b7805bea4210b15bdeefd6fc7729304a412717fe8563d53b60ffab2b690de5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002bfe61efa3417b1b57945b688dd70139258f725cba1f765f3f177997f6656bf4207b7021918680219ffff05581d02a6bdece50e06b755e8717b10428b87dc3fb370f06d24765cdad7497b0701192c1d02184505581e0388b8a6fcf52cb600789dd289d8fb88cdae6d2636952d0aadb3ad9c2bc00404039de81c57a6aab2bc75888d14b91271983336a9d7177328378225b59ccd6477d205581e0396554c90fc5271a4897a0ccebbb48fcc4dd9e60787994d90706b0080b00c01470f91988ac6ca0005581e0384297d7e9a32c676a6d77abc791d081f74990ac26ea9e07ac94e2d7c60040202197dca03727eace38d956ad6d24c4509273898983a3e5db247c5b10354b291ad128dfa62037a3f2abd92bec74e81c27befefbba4144a20232f3bd4949b78d82ee5ae564ba6039ba6ca5661c510b681fe0cd5f6f0bb0d0fe10ecff31a10a79c41d418adf079cb0308a4789bd4e308f88073a4d352074988f085d2c9f962c4eb6ff75dfac731275b0219ffff03551114e17c057e1aae325e9ad7ca0f4c7f862a36826a30ad6597799b4ae4be9a0398b1481fb10980dda8a8221f3cccb403ca58f427de5eb253edef3fda4dcbb8020219ffff0326f2cc2a49820db7782077aa5cd7e8f74107b29e9f63790b2a375e443ca8cca7033c02c3574749c6c01c6bd37d08fb31fa87b3f0b5a5cfc2e389aebb01fcb86ec7036d0b952337cf0959f1f121eeb769a291fc9cd907a05e3debfd007ed01658f1db038e933dc72439b5ec93b7536aa6c9ead3c481782b3793ef32b18003faf3784438031a312cdefea7a273546663f6464e00306a023b0ea547ff00a702284fd594f10f03abb453506fc57aca475a99c4c2b3f57a5e7a2eb0cc3da3820e8bef17701ac8180326fd8df1dbccc5c715b62274aad9c92e7f49e47364af611a86db9e6daaca521d03a94f31dc96439c1ca597cba94e29ab1e307ef05fa168425ccdcd84083da691ef034f493b31d642c1cbdf338767c013dfc1c4c86e9f3bd7f3d794cfe6714132f62503502406da848444408e0b861dbb610b0eb4c702e53ebfa49b13ff0c3eca06d00503d9716ce322f107b656a01ac24728e979977676955740e89ad2fce85ce4096cbc0219ffff034fe78d071d67ceef49662bbd0f8fc0a19dfa5dedf5234e2be1103f215e415ec70219ffff0331cf6b1121b64c23ca80a5bad9ad76bb31973cf8a070fb5e504048023c0406fe03f83c7a63b3c53fc4b1c5b0e883af2329a3325921caba974d0a107e13f09270940399d6616f832deb12b9c7f096718defd8329c0d39b1116d72ec033237d8c8c19d03eaa7ff59e7b59acfc274134dcc5ec2f273cc5be6c4b36c8013ed1bf55f4c79540344b0cfa2c7bda3bc2e87f526617cb4bfefc95a65c1531796c92551afaa7fa1cb0361a913998568ea878b3d6312af17858cddc3f59d92ddecd06f8d2061f5d5f288035a492f2eba98e588a740f3939d77f48394e8527a75bbcdf20b8aec23bf4763f303f7d0e23de96588161c7252fba01c8ef8d3989b6fe6b0f6b19e2a49aaa27629f1037c6f54938c4b140719d9d9cbac275932f8957fa90316e5700a5484e4310799ed03b8ccf898c14197c5e16d7d31534ea734dac1b12317ea1b434a8e7f3969b9071803238e705a846fbb245f9d192a45f1171d4b28a9d3069fc960f27241db31a9d1f303206d3dd31b0ae128410055dfc494e3a35f69a156f9d770024b1762594205a1000368b49008d819c1dd9d929443b8f07fc9a937212e59fb6d0fb8054334cb99693f036ee5a8d06f06d4a73e5a7c7dc58a178ae02c89dfc9b7cb40252088c67f943ba903e1f59f23ba3213ac302c99934a2a3c7a3a840fa4355326841eeb518243b5694103a4a9276807faccd89832ac78fa16fea269a9921f5538c74360b7be30b005002c0362d23f23d7b2bc6f0a5c3b2203abee94e7769d069817fc41f9129784f60793b003eaaefee82db3ac180b6169d42dbf922fda301cad9dc5f1ccef26c748f77bd5ff03c266e7e948f5ec7b87319d56b27ca97d715ad9108ccdb4cf05bc8744321df9350376bee6296c0205e4ddc4007db8da71588a9ccc79eda170782b209ca4df03b1120368f352b88ddebac9c00b814dfa43f89fead937dd226f445d724279fed8411327036a88bf723840ed24b4a021885f674cc4b1e87ef30f919c1463021100095ecb9303d0b6e3898bb58e13fa87e0edee9d400f4b0e26f80780135275a7d677324aaa9203d4044ca578474bb9fc015da0eff6be3247f274608918d3fcf87aa583f8960e3303c2b2061efa673067896e821bbc575b1ec116edd1bdb50db0e911d4a80306c07703f46a2cb772e25ac09837ae0d960a86e704942f68d139f71e61b0fc80ba10bf3f036b4f6597140d988673ea8ca033b2afc45b764d1638d406d08c4e4edfad258f29035d17280804c60629bdd9ddee8fa8fbbc651ed50f6d38f16b8061e953b20c1e6a034cbb9cde5410817c57eb6cb4eebe1b2f752785c716ad8017e0592569f3b17d7c03538fa373ab328945acaa05f71b451502020acc57dd055488d1b8630a7aca6706030638494b4454a89ab868ed0e89d37e1443e3d29b9c114da8dcbf4388d5cb3a5a033d4d5b63b3882c774d4ffb1d66370ee7fafa2eeb2a125fb49990dfc7211dcae903f58f882a85f20161dff681b215a85d7cbfac41ec3f83d11e74b76cbf53e67a3103a01e9469cf4e4f90ba1a98e87eba134aeb31ca6203b3f28e17c68eb76429eeea038b46ae6fb1c88591eb006c672c31725bd50ee7403fd9975f35d9c14e834c917a0605581e03a168d6f8900fd6bb4663969cd7240cc1651576250352cfed60345a333007011bffffffffffffffff0320e965fd45d6d1337ad54d9a8946d1608873ed24ba7f3758e3549a0eb886898503094fbbcea209df1dbcec053ad6ca0db223e43e2490a9c89afb78bcb136a8f7b405581e0378d9993d8cfbb0690af96ac56be599a6386950403105e4e3c25e7038500c0146b5e620f78d4005581e03472975f08749c24ab0c58371276a31bfd774114550b49c00ad843dc540040105581d02a29f90499a439a5c62b83616811dd5662e60c27b34dc53c433c82a5c0c1a0001c92a48e09460f090161dce05581d0273ae77dbefabd076a4e8fe856c6be182a693a9bd275c636e61963fbd04010219400405581e03fa3181d25dab6c4a8e969ce0f6c58ebb9bd845b39df49988621463cd70040a03545819e61a9d347d95e610716af71cdf60e37f2f89e9f6032ac6c60cc126ea3f030015f0a06a767ea040fc91168660759a2576d16c60d2f666d00ec89ee8f7932e05581e03b0171dc8714577acc9b524e8af8ec1ceb790326b527cdfde8140875aa0040105581e03700674286700c11e305cf59ef67054a4f46d2bddbcf05fa544b5176fe00c02470b05b06a52a00005581e033ca9618f95d7a5bf192b44e74ecd7a830a40601fb3f033e72863f88d70040203bc962ab923c4f000a648858fcc6b8e86d8edc44314cd67755dbbfb837427fd690605581e0359bdf74e4988d4f2dfb908fef6aca78429171ee3b074c41c86c228828007011bffffffffffffffff0219bf5f032ecd51419ff0ee7305c9b367848828399288de0ea59f2c45e90b86fe56e499f5032bb35a5c086c104c7855671d119f6fae3bf870b04beacabc03f3a8da59b25d9d03a740d369f73dd6d861527e3e245f959334246cfaa56ca04796e81291f6331b0c030ef9d2e86371564f4843cb2182f2db6bf01424278328f3ce9468c952aeb9fe8603d0a8fac4f3cac33be8fedc0854cacca8ecf83faad94236694f1e31320529207203aa851a4f788edc4096c6268de15306f3383ed06cb4c46cfe459d20a76b0191e40219ffff0306cc4520001580e898b63db2b6882865a57fdd5fe54a6b578a4e0de985a8ba43030622294880eac1b428a57f22715c605ac0e0b8cfcee64fb8865151ebd2a3879103f2b147ff4db8feae43d5d7fce802c6346d58b6492e637e66fd7a95f945dc6bdd03835808648fd0338df5901108f4ccae807b56822aa7e8e9077c95dd4847fd61bd03ad96e1304088fe46840b7615e4036df8ea984d9adbd614b08521ca91db6cfeef0219ffff03070f0781a437dacd22978ea47442fcad92604b39309d2efc53c1a9ec032fd14203d813a629de1cd1cd4d323fb7991ddcb651bad729bdfb8fc08fc32b676910845b03f97f75488117782701a574ea196f4426e1b69d57a8a21eac121fd6499c54e2e30219ffff030480e861c79904f8859ddfcbf32cdeb5338221859affa31222b6bd6f63d13ff3036f38bfb382c4ba906b04290e81a5fb7901ba5a57a26440cdaff6e06ec26abc8703abf30662f2d41498442132bbf896fb67347f49f053d7adb2480ca335ce5efcc8036ea030479c9448ddff132663004c084690d5a09d448335fb5fffd9b7774aaef403b33185368f2ff2698cc2142c72210049dd9aa8d6646eb3267b693fa0bbc2344603b150e8c1e416cb138e02d15fe7b45fca1ef660c0f6d425da759c36fb8943c18e0300d220dec5f908bcd9de20fc83dc9271e61f72b32be3338aad5d175c4cdbc491034fbd27e40b89ab39b0c2c192241a68726ef9bf5b38a77ca4a707c0803ad661390330274689b47ec53a7ec0681d1ac7edacfd7740d091f835a4f7495259d886300b03d1b87ed5a3ba4ceca700dd4cf953e5b037ac9f5eac75bbc13523bb14417f01f503a2392e09a91c80162fa44cc3b6e5ea4861b459efcc137b03f9c24c7eb702d8970388e664108b9852ba277ec984c8dabdbb78325d9504a6d00cedaaecc1159ca6e303bd0bfcea9f703d6afcf5e008190c2691b1c55d9a84c7d4aaaa1b6c534571c9c603bbb51813d571da13654ffa6b738bd08428f31f5ef6c7a31c3848e6e15fbf940f03d3064724ed1033f2b7473498e5d6c2be995bfb4db010054873a909b413b2e5a003b07595bda20119f734efcebdc28eed7ae6b301ffd5ed959fdbeed5cfc051ebde03d5eb8da053873d53d5cfaa436ac91c7be781c3b68557da2261b1f1262406d850039c7559d622e8c406f70435d4e927f00603c45af4222dc801c0bed615d38fb003036a54d3ccdd492b50207a00eee6dffaa985b4dcfddedf9c01284aa7d28e4e220503b19186f381e5026da882198064cb3a54c83717001458a5935c5dc7cb2f90e5c2035e7e367af035ba87f4f8792fdd3e0c150d9ad8e5604bea2a91d75dd7c12156c0032402f62647ca71612eceeb565901f404a1c2ab26a657c0a2750aa191a2379c67036ea355bae0d5b97a2c8be2f630ee741796cb8fd9ee649e4ec79ea3064600b14f03558c0d28711d02522bd1087b65cad1c5e4a4268f5336ae31cff4e68f1c5c3cbb05581e03934e712774b523968dbd82b13e8568163f39188137d82f703e69c5273007011bffffffffffffffff05581e03a4ac2eee4fa6cdf40b548f1e10fb22bf11fcf4dd9e82c189d35b9be6d00c074728c8e79323700005581e039eed636562c396929dfe319eb31c1e0c2596509274d4b36ae4a3ad85800c01470488f2f666c7ce05581e03ae3fbf6b3709d2c002cd51b323d82e1ba4615c4654ac8c18f1f7b104700c198cf9490399e36c63a260b34705581e03ba22253dcc442190235ca3915649eda0008214c01baab4bf05e289c3400c014742b44cc3cd087205581e0326655343f15c7d02be25131b57239cc193b9969abc936b280baa0a7a800c024203e805581e03fe28b74a0c80daf931e19561944fa0b946e647e83ceb4f0610947964500c01472e08ecd086a9550390d6d1caa30e1bbc12737b5a5f9035ed48a03aad25b8e2bb5fe385edf56642e90359283ef07bac10ff2ac217a43f625d6804549d159fdeae00a3818b98f0ef225a05581e036989f90428e1a1077336e69715987115a3f5afdf71bc245ab7ac4ba890040602193f550317e30962fd21961b59490839f43e92422f778ef2f4043b8ae515ee98dff1f527031fc3415b306698c6812b803da27a2c2b0147d17ffac2f382f5d6fb2f4122fbbf03c658185057068d8ac6e3bdbdaaa7f581cecd105e6ed2152dc5cf9c2c224c48be0354d9adbcaf0323b079d9d3361d4ca84cd47f46d7c6ed7bbde2f1fee8cdfd8aee03e513303b233eb506f330bc3f8bd53b48de2d87c585aaf19d9842caed20ec0464030e8e96eef2dd178481f2aca0e8e29ab6268d479e683eb6be7f928d23da7b84960219ffff03e4aa54d0f7cc7f6e8e98c2392c6a9d74dfb79f85bece009b841d5a8d9b39972b039f393fc603489ed045829de8066a3a8485c95603d1793021ca7193ddbf1a6e0203dfb9fbee542318e9d21aa1ae0f3b798f000666fbe7672e5969d98419575ab25703bde63437d26e8c3aa33a0e0e33642f9042d622cbb10adb5898ba007f5a82ae1403d70047458bbc9f3361e9019fd95ef4ee97531535aebfc942dda2d51297ae0e660219ffff03cbdf25f77a2d6096a3debe9691edc2ede1dcfdb4429d44eb2d1958f804c31dcb03bec0262acc34d841913a9f98f3e0b0d64afc0638778be734765df0ade8f87e920349d0a04e3f695c366874577a3658ef74c777f953b63007e0fe02264ff0542e7803bbe1da2d2e5388cb58e0b0351ce2677aed4f3d675c527f61d618d327be85635e03bbdb8c3cd3e28b6f59298a2d028ad9f0943f057474000308a2d6eba4497ce32f032a405f6f4a3bfd17a7185c6f6c4ec1bc28bed60487d681da0a9e4335c8c09251035a8a7c597295962ed8d8d133a0a731e03eba3197470d52502ee82bbb117b9676037d261071a167aaab74371dab514b68de66b3da033f9c060bb7b391b72b158b9503fe6323d94e9ec45312ecd4409b12c10fb198a240a143fef64f9bb2f4b76dd0fa03484b4eace2e5341a2e87af724db5c8017fce6473fd93017a31f04819f12f978d03c4ad0d6f18325aca4f5af79d3642be268fda2113ac4ab3e98e2eb349bd17acae03b0aa49f0c90df012e1b393dc34dad5de125fc0a33d336572425dd225d0a412aa0304cf24cfb1c3484648cc74e475aa9320ec5b504aea8d6c4cb4ecfc0191a1002703207adb04e48182ca813bee7d0d60d751ac7e84106f046521b7bd098aa9eb8a880219ffff03aa52fa27c23dc8b54b0e2c8902d6a906031e12ebea3a392b3152c6196dc29d85032637bd867fe9040fc884288fdc9aaa2cf6a4611a2c33a9e80fa79436e0fe7b4503ce23ffbee652c87e5b31238a86136e6cb385e32a591101bcec5d4548d3b4b66003bbe25aabf2106e2b40a73344a5d986c65d6cbce752b47c55aff2b6d49101617d03a8e3a54a306ee2d1c0bcc8165d0ff5f24065c175fe56100da5a4b418b0166a65033fba622c31f636d6072719692c4874210fbd9843e0e551516b2c7359d2e95d3a0317a9c48764322bd0d74e6fed9282a23658ed0ed11653a8dd0ec91d2081e30b32036888cbcd41e312c14993e65c92855b18eeb20ca0e109824ba103844085238b7e038eb3f16af1314b00428019810f94d4cd029dde03488e32fd4b6c62739a9077fa03062013d582290a63f2a3036e27a767c9b156d249d3ea6bbb6f61fe2efa95d4da03d662ed3d31d805825f16635baa250e49d6e6abf39fa34ae20e9612d1bea2ed1f03c8aa9120db9e4bf872f294c5118f47c3e4c23c2b63a927cfa1b5d4d692295a1e035ac5abb3aaa8a9beda4070c90a625b70d2569fd2551d65dbd89f587829e7078503b47d06549ecba4b7b6092805684a4799a609f87d2af75c5ea90190f366818f4d037a89bceca60732f9ba942dae678fc63f4286cd9d7a76dff9f14a6ca06002255803c1d093a0e89dfb6aaf98bdb8b0ac964233edab95a569bc970e2fcb9ae9d3d6490380bc9fe72eaa8da1760741dc79457c346256e5af5ced12dd3b3b2dd2be5a46880324e0c6c780b7ba75f5d2813ac1a414feacfe6711d5c9b9ed2dc22b2a4578adf90384ed9b62aa5140f27967b4ed00c352cff3596c50401e6eb18c929f44e5f6491c032949b084492587ca52830f7837c1d42beb39b98ecc0e515f361ec2b3a993d72503a3756a02ee3420e4ce6dc3fd1cf739734bd93caf805fa9c2bb4cd45e701af842031d0437debdeca31d26fb8957ed2704035ae6ead3442fdd717fc210d80022dde903cc47169aed1cbf3078a9871687c3099bf6e90cc451ee48ce385d1b22c01ca3f003622cdb01152af18079c94e98de24472d59d4729e6683375dc69db19d6442332903767ca9c4ebd311ef8820cb2c6810db3e687ed7484d8310f43f778bc408f8400703fab134429f419f0c42715caef57010aeead81afc24163ee88f50a2cd7233618b03d2ff3060a3100af08f63ce5f19cc94fdacd632ed0fcead09c9b10af77514248b05581e03bbbc5cc2d5f99b9ceada8e6309b5427ced186073566517d0220e8613700c0147bc0f4aab72620005581e0329676b80ca6bb1bd1100526154c6efb9d23299de11d0c2f392a36491f00c0b452d66e7de0003722bf8cf651658a1a4d684c697c738a5d6d21ee541a0094fd97770aad415b05f05581e03a9a91abea3888a4d28939a5fb248534d8bfb89e560a20112d191973e30040803f41d285731a876cbacc32e5b9741bfb5d0505916d1196acd00a0d219a7a9caa5045904d7608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100b257806397ad09eb146100d2578063f28453e6146100e5578063f2fde38b1461012157600080fd5b806339cd70d214610082578063715018a6146100975780637c22986e1461009f575b600080fd5b610095610090366004610458565b610134565b005b61009561018b565b6100956100ad366004610458565b61019f565b6000546040516001600160a01b0390911681526020015b60405180910390f35b6100956100e0366004610488565b61027f565b6101116100f3366004610458565b6001600160a01b031660009081526001602052604090205460ff1690565b60405190151581526020016100c9565b61009561012f366004610458565b610335565b61013c6103ae565b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517f9d1718ad4362863c494187b5bc7779357412ed66223197e206cbd518b50924969190a250565b6101936103ae565b61019d6000610408565b565b6000546001600160a01b03163314806101da57503360009081526001602052604090205460ff1680156101da5750336001600160a01b038216145b6102365760405162461bcd60e51b815260206004820152602260248201527f43616c6c6572206973206e6f7420616c6c6f776564206f7220746865206f776e60448201526132b960f11b60648201526084015b60405180910390fd5b6001600160a01b038116600081815260016020526040808220805460ff19169055517f92a2ba05b24e29c93740ad08a206699c531780ff746cfb8882d1d46dad70714b9190a250565b3360009081526001602052604090205460ff16806102a757506000546001600160a01b031633145b6102fd5760405162461bcd60e51b815260206004820152602160248201527f416c6c6f77204c6973743a2063616c6c6572206973206e6f7420616c6c6f77656044820152601960fa1b606482015260840161022d565b60405181815233907f37f9254ff1973d24d609016d6bb0aef8e6de91808811a546fad8eaa0e481d9d99060200160405180910390a250565b61033d6103ae565b6001600160a01b0381166103a25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161022d565b6103ab81610408565b50565b6000546001600160a01b0316331461019d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161022d565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561046a57600080fd5b81356001600160a01b038116811461048157600080fd5b9392505050565b60006020828403121561049a57600080fd5b503591905056fea264697066735822122016f9b4ff0f679e130d2d808907c631457fdeb6805122f262d0c0e52a1abb3ad064736f6c634300080d00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630545ccb403182598e2bc3767ebc3987e7f4c511a5a800582103e27046236a807f35f9a13a22c18272971918692725318d70831327278258d16041010219400405581d02cc92040d8c8fa2904d193140895654e5458bf93ac25950f1a70a070907011904d705581d02337822b9abcf61be756ef5786793ad0644d591ad646969286c58e2110c034707125edb278280020303a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e0347aaac4b28b99aab7cf5ab2523358f5fd0bd5098df4cd66500f7d3579007011bffffffffffffffff034120dcfff075b2bed6a690fde2f580240e2a3f9f1a695216f007acfe995095fa039182ff82647bc6aeb9badce4b8f23d359068736f0535d1c805c5bab07fbd472c02193ef003220ceb0eee82be427c55ffb998104701bf3933410dd671abbdd30d87e52130db035c3224b1ce27f8ddb458e5c4cfb6af260582a5c6d533ef8914645bcaa11fd657032e189e963c1bb1c1feea521e6d1e77c56b1d1e3264b56b03356d2f011d0a26e00305bd34d818c2a55e69ab1a3aa9fd128a0b69aed4249b10e8bf5ea1abebb90dd1030d1e6a5cb3a63567602f1ed7e0e61dcce8e5e0f0c18a368d5b8251985d9af0d6031960b025829df674b8939ac27d0d871da45ff183048028a714b0cb126a5f52c503c75c03765a9fe045d27afb0002048c829d6b65a7fe4dc529e79a883123f0ee7603284087cdcb2a32097c2ba4a555828c06e7118d7cd6e03ddad168614aac724b2b03628d183c8c1a6388c15182a6823acca58c6e1e72011fcbcae53d040291e2da1b03dc42cfd3367761fdda0251645ef5778ee15180988915bdd509962e9b1e23520c0219ffff03ba41eb058dcba16d29c88d4e6eff45eeb5ca8aedaf8d2eb94725666c650bca2e0357e8713c58ea2af4ccfa4f0ddca1095f0dbe70eac711ab789c25a74ae039c8260301f8d3292060db75b9732d3abe259688720a67ea0167ac68842c878d94c3227c03e54e42871ca8d6742dd058b10e65a784b6a597d73460f794c37102ec7fb0397d03aac62b1198e898e6ce01cf6cc487784d11caeb84a5757af1b442e07083401712037e9bfb63fc3f978dc7e976720b696b1f1cb5a5754111bb7cfdce8ee6ca6649ea0380192ebe12dd00d8d93c7dc903e71827f3525b5d3717372754ef426a47cdb2d303a24720496a846700ee96a0cfed354cef06215c102b5917add7e05bea40e87b4603c3c208eecb4e64c94c4b53fa6ae00c8d4b9c332a7cbcc89b9b9211d142e9f3aa0378b2010d26d6629479def888bca74df767e80c3955c01d80bf8a4325b42e842803f7f9f9c705a89127781206fae63b4053972ed909a3b2dbfae085733724c4303e035dfa411cbbada9fc944825c6891ee4b4feacc360924b3ab306941881c540a52f0219ffff0395aa47c395b3a8fce4ee9c5c4b37e0fc25849af1095dd9f5cc673a51d31f4ec503c252015af19b9f3a856732694545d5b8cf833104bc982c4eda3196d91ecb411c0330922ffaf159c92526e0c11e2a4b0fbc66d1e70273d24b5ff2522e3a06c0102c038f166f28e009972eb5ffb5879a5f4e1eb8209c2893ea6ef3f9c7413dfdf59c830219ffff0219ffff03806f24138d8f223d5deb51d9be7df9af7243234d2c24d36ad38e1965a723911303dddc568850c99fae53e0d633aa55890ca0bdeb479b16bc123b1c831d97512e0f030a026dbbd46225916afd382f772baeb1f7ab73819e0daa18bd974ce8a62673640309dde2ba85e33bcff9a3c59cd1820abdb29ed72df650335bd7a23029fa735cc70301261b77583a0d34bcc54e4a7343db7307eb9f4df81ee641fbef6efdb8d25661039e831e4260cc6239a8ba3b318d6fb5a979062f9c713e572dcd961b7cfdcfe5ac0388154029c638beb35171f0505369312ab35e31798d0840bcb0400fe2f4ac25a803bee0acbe077532c70f506395b4eabd29c91562bf20141d7c867a0f2d84f20ba30331e28d181dfe6f504cd26ee45c8f1e2a7e32674de8c9726d6cf1f4c136101d2f03739e81ed741c56fad7b6584e0d30c98ff6bded3b3601c27e510df0df6f37cf3f03fb79ec911c5bff86f79755c88c4801d3583df08a9f77733fbe1636f5565be85f032058ab9340d3bd9efaaa566f8fe93f19f4b7df50ccddac8b1ccbba5e46ceee1403b3ac6c1c12c4226db24b2da02fdaa82c5a4ea85569b39b6102746114bb9392bc034f5df02dd8a182355803d4eae4ef077f36bad48ff189211ee302ef799d356e1103679d54a170387dc40e9bda26f344c859695ee5755f96f01e3d32fd175393ca6d0303be9330122b9ca9d16ba237fcda48f09a1942c0879bb40dfbf19ea4fabe7c32035502b43c109364d6159b2e28fed6b0a948c8300f45a6f9c77e18cd688622d627037ad4327455220e4a43e34070b6fe4e1c71417d5a9ce24176cf765303cdc3df9103c22507ed05192b39d21a5deeba0f97a755205cc970fbb4c10b4cbc38eefe18b903b23c3f2e1efa030dabccab981121694e2c8c5dcf9101b1acd4f6d1287e9894870395ed7a291f7dbc044704a9ee6406d7646b482d3a54e325922224c71fa21e4b210314eb429e263ab386fb08e4aa2c232ca642032523852e7fbf3d668d717f9b774803b73d043d284288eec6f21ac249d180acd2168f02e9d9a4032cf92d15244ea69a0308b481b553c1dd4b42604069794087423c6935558feae5afb377040121841024036abbb216b506ae2208f1eaeef05865b0870519d6d877590fbef61deb1d7fe2e803b4b013d0120c8afddd529c01ad5211e5f5dedcc989af6bca33ccb205399a83f703722c330c325760f1009719a12fc863295b24785cd525201c5e0b99db6e4822e20311ee10140cae18efce33e055fcc5f68ebde8c708c5945ad058931ba42ce67080030eec47bc60b263df3a1bbd7796702f9a32c38d03113dfabce0b2afc0724ac62d03c22c33936ec4a9a4209046a63983344bbfa8e2d7e2cbc95f9f896518684a902b0376d397a743fecff68f58dcf366161725381ef5c3ce6e85a5f7036da33ea8c03e03acae0b08f979b7933407bb9da57974408903d7da8972a12b69f662563b34645405581e0398ab768ee93aa085e25769a60d5da1e388fb9ae6c7b1c98cad94bffa80040303982f618beb01f6c90b3d205fde49ddeacd9d1ce6a709a934708dec1d60b7092905581e030eaf68b27a57ad10439d9863c06eca29daabbf20a1280c4dc917601840040203d28257ea9453289d42b17c076ee10706d9391c5a9c7faae2f84207b8ca91665705581e039cf3d8bc477453862e767e31337bd51a1f43a8d67aa5d0203809d53b400406030978ae96a9ba1a0ffe472bdb655bfc97607df219b2ec28952c9d2335a1d8799b05581e0322ef28c90a98135aa418b8c939099ff57013a48bd7b592c61e3a9aa6f0040105581e038bf783eb9f1ad5571bd4ca1562d7717681f1080a2faa60b1bb211c3f500c0547538d26ddedec7803ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e032c9b474513ae9280a5859fe41e4741db07559cf6b60ca22bc8ee747b4007011bffffffffffffffff05581e031670e3b539d74936df79a8f6943a5b328b1f98edcf4a68949061a630600c15471f4e939251700005581d023bc2390da945295dcaf79117c7fdd5e8c14e12ffb0e361fe7f35e7e7040204590c1660806040526004361061005a5760003560e01c80638fd3ab80116100435780638fd3ab80146100ac578063d925a56d146100ce578063d9627aa4146100e35761005a565b8063031b905c1461005f5780636ae4b4f71461008a575b600080fd5b34801561006b57600080fd5b506100746100f6565b6040516100819190610a5d565b60405180910390f35b34801561009657600080fd5b5061009f61011a565b6040516100819190610adb565b3480156100b857600080fd5b506100c1610153565b6040516100819190610a66565b3480156100da57600080fd5b506100746101a3565b6100746100f13660046109c5565b6101c7565b7f000000000000000000000000000000000000000000000001000000010000000181565b6040518060400160405280600e81526020017f556e69737761704665617475726500000000000000000000000000000000000081525081565b600061017e7fd9627aa400000000000000000000000000000000000000000000000000000000610932565b507f2c64c5ef0000000000000000000000000000000000000000000000000000000090565b7f0000100800000480002c0040100000082000000000000002000000101080000181565b60006001851161020c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020390610b4c565b60405180910390fd5b506004803560248101610a0052610a208390527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610a40527f000000000000000000000000f740b67da229f2f10bcbd38a7979992fcc71b8eb610a60527f0000100800000480002c00401000000820000000000000020000001010800001610a805284917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91013501600080805b8381101561055e576102cb816105e1565b6102d7600183016105e1565b93506102e284610606565b6102eb82610606565b108380610303576102fc868461062e565b9050600094505b836103d95773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee831480156103c1578b341461033157600080fd5b610a405193507fd0e30db000000000000000000000000000000000000000000000000000000000610b00526000806004610b008f885af161037457610374610743565b7fa9059cbb00000000000000000000000000000000000000000000000000000000610b005281610b04528b610b24526000806044610b006000885af16103bc576103bc610743565b6103d7565b34156103cc57600080fd5b6103d78c838661074d565b505b7f0902f1ac00000000000000000000000000000000000000000000000000000000610b00526040610c006004610b00845afa61041757610417610743565b60403d101561042557600080fd5b8792506000808315801561044457610c20519250610c00519150610451565b610c00519250610c205191505b506e01000000000000000000000000000085111561046e57600080fd5b6103e585026103e883028101828202049a5050505060009250866001850114600081146104c45773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee871480156104ba573094506104be565b3394505b506104df565b6104d96104d3600287016105e1565b8861062e565b95508593505b507f022c0d9f00000000000000000000000000000000000000000000000000000000610b005281801561051c576000610b045288610b2452610528565b88610b04526000610b24525b5082610b44526080610b64526000610b845260008060a4610b006000855af161055357610553610743565b5050506001016102ba565b505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114156105da577f2e1a7d4d00000000000000000000000000000000000000000000000000000000610b005282610b04526000806024610b006000610a40515af16105c2576105c2610743565b6000806000610b0086335af16105da576105da610743565b50506108ef565b610a005173ffffffffffffffffffffffffffffffffffffffff60209290920201351690565b8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114156106295750610a40515b919050565b600061063982610606565b915061064483610606565b9250828210801561065e5783610b145282610b0052610669565b82610b145283610b00525b506028610b0c20610a205180156106ce577fffc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac0000000000000000000000610b005281610b15527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303610b355261071e565b7fff5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000610b005281610b15527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f610b35525b50506055610b002073ffffffffffffffffffffffffffffffffffffffff169392505050565b3d6000803e3d6000fd5b610756816108c4565b156107ce577fdd62ed3e00000000000000000000000000000000000000000000000000000000610b005233610b045230610b24526020610c006044610b00845afa806107a4576107a4610743565b5060203d10156107b357600080fd5b82610c005110156107ce576107c983838361083e565b610839565b7f23b872dd00000000000000000000000000000000000000000000000000000000610b005233610b045281610b245282610b44526020610c006064610b006000855af13d6001610c0051146020821015168115178216915050806108375761083784848461083e565b505b505050565b7fbca8c7b500000000000000000000000000000000000000000000000000000000610b005280610b04526040610b24526064610b44527f23b872dd00000000000000000000000000000000000000000000000000000000610b645233610b685281610b885282610ba85260008060c8610b006000610a60515af161083957610839610743565b600081600052600161010083061b60016101006020600020061b1780610a8051821614915050919050565b82811015610929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020390610ba9565b95945050505050565b6040517f6eb224cb0000000000000000000000000000000000000000000000000000000081523090636eb224cb906109909084907f000000000000000000000000f9b30557afcf76ea82c04015d80057fa2147dfa990600401610a93565b600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b5050505050565b6000806000806000608086880312156109dc578081fd5b853567ffffffffffffffff808211156109f3578283fd5b818801915088601f830112610a06578283fd5b813581811115610a14578384fd5b8960208083028501011115610a27578384fd5b6020928301975095505086013592506040860135915060608601358015158114610a4f578182fd5b809150509295509295909350565b90815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b6000602080835283518082850152825b81811015610b0757858101830151858201604001528201610aeb565b81811115610b185783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60208082526022908201527f556e6973776170466561747572652f496e76616c6964546f6b656e734c656e6760408201527f7468000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601a908201527f556e6973776170466561747572652f556e646572426f7567687400000000000060408201526060019056fea2646970667358221220db2978db29758b0bdede9f7148568a66b29027c69f656f56ad4e3b624415657864736f6c634300060c00330605581d02a678b839f4ec7c8a70b3f2d10ae9db7bf4792eb7f711e47c9f85f9d00701190c1602198800021997fc033e9e859a5fd3ce8c4e6fb0304c4d77978b6aa4594a77b75a653bd3ef01059b0203b0d9b5272f0f347b59a97c633110cc7e5226bf4930dad7624ea16358fbfcb98b03399053d183a944f61fe0958d70ed27cde4b25ab6018963847541319db92f63a9033848241be97235e288134c5d8a8c721c3b17a6142139a9e2190f2b40234ceb2c03409b93e17e0a64e056ba58c64485512b6e737af476a279719fdeed3f0475c2ef03fb2899f6f1a23a4735f71e3398d1dee5d61dc482ccde6aa2fdc7fe6009b8ed7803aa50108c27d3919f6c92a44e11d2781923b48e91ae79c36ffaba891a0699293b0219ffff031dd6d9fe6872bfdf5e78cecce78f2f6f6953a646d42503f5033c00591cb56451032c692dbc1479773b000fd0cefd9ad576348440a54348f448bcce393a5601d1a203dcecfc03ab9a82bf67a5cdcb891d7c64abe4247f82fdb302fbb608ffdf80d9b003c70328229d7eb6355c17e3731db69d7d4d12745ead1bb896a27bc568c072be1003c3f6822807fcf20d7e54b138698fb24ce8b14df48d1df99385a5bf64b1dc430d0310dd4ed679950e628012c7c6dd0093fd7319eb434f9a4b99ebd3b862ca23e57403314955bd5001d7b07833e5d0094ef4edb30bb19139c10bc28ea34685b6b066ea0366d017483ab28bf112605728ba26a58b3eedae6a72c2caec8472f930caeacc7f0219ffff0219ffff03f6bc5e170c5d38978d0d9917b6ddd884cc53eca132e323543dda81149d94c4c803053ef5e5ef515be3433e3e7d82eba331fed481e6c903563b19a39a21a513c53003bdd000de56bd86de2dc95ed7d33dc405b451b497fd544bf8835d96b1f94822a003ac9e159ba208251205a7ca38fe32c9aa1dd8451c422441e45b2977da6262b7840301c7f71a8c915762c8909093e6cb2e5d5cd1d239ccd29119ad2487df5c9804bd03d44b08c96bf5fdafbec913435dca89cc7b9f81c8c3259a89ac95f116db3ecf3c0335fbc0a0d5a5bd14a95568b56e0976ac5e93cdf191ccbc6bbbe7cd33176e9aa60337dcc4f1abc973e6dda5c04e908a13e3baff39de392c3d5cba3aaa070040db5703bfdf7621e6d460c5a0a232b0ee7c222393d9a803a75e5ab221d453f0e8f45e93032242f9f5697a25a4ee4c9d3fea5bf7ef66a7326d5f25f4d5e53255fa9ffcc45103228fd024cbff7bd947d6bcd45a9da26f96cae2e1be90ca6047c77483e712c778039ef4c992a3d7f6558807c90a52e749d3076ae8dc3183006093f08f25d7144cdd032c2f240d5ecc7965b41ddcf5ce1b266edf958eab7ce08ce9d7cde74f8fd4f37603b4bed97c2007c66bc320541e53287e682527e2c387c7fb54080252ffe6149f83039cdb78c3d0e2d61494099a6e8a4e19baad3908b94941340d37f9d3de0f44d6ee031d7fb23def4c9d95d338cf5574e922934ac68a0a8661ce6eaa57d833d3525ab203a65d381f26d292addeff8b1fe1405524943cea777e4aacfb1b65125c1ab22d0b05581e03f9d2f0eda26eb3c59d86cf3cf277b2f12fd181ba1f0f55453a8951f25004040387efdab910ea23b17c99296469992e18b6c4d862c274e4bfe88721affedfd05903df2b7b8fe32a280b77a21d1388a19097dd4da394a5e99925ce2de76ff249c40203be95ea5f15abfe650a49341517f1e9bcb8a1b8db98663d3c154011f5ca257c9203003028c73a17f62d5fc79268ff967fd0066d257a55dd1d3e442f4ae7e82e97b803d17999889cf9c96ad99cb229ba719da8f03e581da1ff6dc8fcac29da8a53237404592f56608060405260043610610117575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb14610368578063bf474bed146103a4578063c876d0b9146103ce578063c9567bf9146103f8578063dd62ed3e1461040e5761011e565b8063751039fc146102aa5780637d1db4a5146102c05780638da5cb5b146102ea5780638f9a55c01461031457806395d89b411461033e5761011e565b806323b872dd116100e657806323b872dd146101dc578063313ce5671461021857806351bc3c851461024257806370a0823114610258578063715018a6146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661044a565b6040516101439190612048565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d91906120f9565b610487565b60405161017f9190612151565b60405180910390f35b348015610193575f80fd5b5061019c6104a4565b6040516101a99190612179565b60405180910390f35b3480156101bd575f80fd5b506101c66104aa565b6040516101d39190612179565b60405180910390f35b3480156101e7575f80fd5b5061020260048036038101906101fd9190612192565b6104cd565b60405161020f9190612151565b60405180910390f35b348015610223575f80fd5b5061022c6105a1565b60405161023991906121fd565b60405180910390f35b34801561024d575f80fd5b506102566105a9565b005b348015610263575f80fd5b5061027e60048036038101906102799190612216565b610641565b60405161028b9190612179565b60405180910390f35b34801561029f575f80fd5b506102a8610687565b005b3480156102b5575f80fd5b506102be6107d5565b005b3480156102cb575f80fd5b506102d461091d565b6040516102e19190612179565b60405180910390f35b3480156102f5575f80fd5b506102fe610923565b60405161030b9190612250565b60405180910390f35b34801561031f575f80fd5b5061032861094a565b6040516103359190612179565b60405180910390f35b348015610349575f80fd5b50610352610950565b60405161035f9190612048565b60405180910390f35b348015610373575f80fd5b5061038e600480360381019061038991906120f9565b61098d565b60405161039b9190612151565b60405180910390f35b3480156103af575f80fd5b506103b86109aa565b6040516103c59190612179565b60405180910390f35b3480156103d9575f80fd5b506103e26109b0565b6040516103ef9190612151565b60405180910390f35b348015610403575f80fd5b5061040c6109c2565b005b348015610419575f80fd5b50610434600480360381019061042f9190612269565b610ee1565b6040516104419190612179565b60405180910390f35b60606040518060400160405280600e81526020017f5374616e6b6d656d65732e636f6d000000000000000000000000000000000000815250905090565b5f61049a610493610f63565b8484610f6a565b6001905092915050565b60125481565b5f6009600a6104b99190612403565b633b9aca006104c8919061244d565b905090565b5f6104d984848461112d565b610596846104e5610f63565b61059185604051806060016040528060288152602001612ef96028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610548610f63565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611aa99092919063ffffffff16565b610f6a565b600190509392505050565b5f6009905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105ea610f63565b73ffffffffffffffffffffffffffffffffffffffff1614610609575f80fd5b5f61061330610641565b90505f8111156106275761062681611b0b565b5b5f4790505f81111561063d5761063c81611d76565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61068f610f63565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610712906124d8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107dd610f63565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610869576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610860906124d8565b60405180910390fd5b6009600a6108779190612403565b633b9aca00610886919061244d565b600f819055506009600a61089a9190612403565b633b9aca006108a9919061244d565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a6108f79190612403565b633b9aca00610906919061244d565b6040516109139190612179565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f5354414e4b000000000000000000000000000000000000000000000000000000815250905090565b5f6109a0610999610f63565b848461112d565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b6109ca610f63565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4d906124d8565b60405180910390fd5b60148054906101000a900460ff1615610aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9b90612540565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b403060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b2c9190612403565b633b9aca00610b3b919061244d565b610f6a565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610baa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bce9190612572565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c54573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c789190612572565b6040518363ffffffff1660e01b8152600401610c9592919061259d565b6020604051808303815f875af1158015610cb1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cd59190612572565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d5c30610641565b5f80610d66610923565b426040518863ffffffff1660e01b8152600401610d8896959493929190612606565b60606040518083038185885af1158015610da4573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dc99190612679565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e699291906126c9565b6020604051808303815f875af1158015610e85573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ea9919061271a565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fcf906127b5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611046576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103d90612843565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111209190612179565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361119b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611192906128d1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611209576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112009061295f565b60405180910390fd5b5f811161124b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611242906129ed565b60405180910390fd5b5f611254610923565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112c25750611292610923565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117f95761130360646112f5600b54600e54116112e2576007546112e6565b6009545b85611ddf90919063ffffffff16565b611e5690919063ffffffff16565b905060065f9054906101000a900460ff161561148b5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113c3575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561148a574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e90612aa1565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611534575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611587575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561164157600f548211156115d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c890612b09565b60405180910390fd5b601054826115de85610641565b6115e89190612b27565b1115611629576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162090612ba4565b60405180910390fd5b600e5f81548092919061163b90612bc2565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116c957503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561170d5761170a60646116fc600c54600e54116116e9576008546116ed565b600a545b85611ddf90919063ffffffff16565b611e5690919063ffffffff16565b90505b5f61171730610641565b9050601460159054906101000a900460ff16158015611782575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561179a5750601460169054906101000a900460ff165b80156117a7575060115481115b80156117b65750600d54600e54115b156117f7576117d86117d3846117ce84601254611e9f565b611e9f565b611b0b565b5f47905066b1a2bc2ec500008111156117f5576117f447611d76565b5b505b505b5f8111156118f8576118518160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eb790919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118ef9190612179565b60405180910390a35b6119488260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f1490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119eb61199f8284611f1490919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611eb790919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a8e8486611f1490919063ffffffff16565b604051611a9b9190612179565b60405180910390a350505050565b5f838311158290611af0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae79190612048565b60405180910390fd5b505f8385611afe9190612c09565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b4257611b41612c3c565b5b604051908082528060200260200182016040528015611b705781602001602082028036833780820191505090505b50905030815f81518110611b8757611b86612c69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4f9190612572565b81600181518110611c6357611c62612c69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cc93060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f6a565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d2b959493929190612d4d565b5f604051808303815f87803b158015611d42575f80fd5b505af1158015611d54573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611ddb573d5f803e3d5ffd5b5050565b5f808303611def575f9050611e50565b5f8284611dfc919061244d565b9050828482611e0b9190612dd2565b14611e4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4290612e72565b60405180910390fd5b809150505b92915050565b5f611e9783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f5d565b905092915050565b5f818311611ead5782611eaf565b815b905092915050565b5f808284611ec59190612b27565b905083811015611f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0190612eda565b60405180910390fd5b8091505092915050565b5f611f5583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611aa9565b905092915050565b5f8083118290611fa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9a9190612048565b60405180910390fd5b505f8385611fb19190612dd2565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611ff5578082015181840152602081019050611fda565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61201a82611fbe565b6120248185611fc8565b9350612034818560208601611fd8565b61203d81612000565b840191505092915050565b5f6020820190508181035f8301526120608184612010565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120958261206c565b9050919050565b6120a58161208b565b81146120af575f80fd5b50565b5f813590506120c08161209c565b92915050565b5f819050919050565b6120d8816120c6565b81146120e2575f80fd5b50565b5f813590506120f3816120cf565b92915050565b5f806040838503121561210f5761210e612068565b5b5f61211c858286016120b2565b925050602061212d858286016120e5565b9150509250929050565b5f8115159050919050565b61214b81612137565b82525050565b5f6020820190506121645f830184612142565b92915050565b612173816120c6565b82525050565b5f60208201905061218c5f83018461216a565b92915050565b5f805f606084860312156121a9576121a8612068565b5b5f6121b6868287016120b2565b93505060206121c7868287016120b2565b92505060406121d8868287016120e5565b9150509250925092565b5f60ff82169050919050565b6121f7816121e2565b82525050565b5f6020820190506122105f8301846121ee565b92915050565b5f6020828403121561222b5761222a612068565b5b5f612238848285016120b2565b91505092915050565b61224a8161208b565b82525050565b5f6020820190506122635f830184612241565b92915050565b5f806040838503121561227f5761227e612068565b5b5f61228c858286016120b2565b925050602061229d858286016120b2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561232957808604811115612305576123046122a7565b5b60018516156123145780820291505b8081029050612322856122d4565b94506122e9565b94509492505050565b5f8261234157600190506123fc565b8161234e575f90506123fc565b8160018114612364576002811461236e5761239d565b60019150506123fc565b60ff8411156123805761237f6122a7565b5b8360020a915084821115612397576123966122a7565b5b506123fc565b5060208310610133831016604e8410600b84101617156123d25782820a9050838111156123cd576123cc6122a7565b5b6123fc565b6123df84848460016122e0565b925090508184048111156123f6576123f56122a7565b5b81810290505b9392505050565b5f61240d826120c6565b9150612418836121e2565b92506124457fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612332565b905092915050565b5f612457826120c6565b9150612462836120c6565b9250828202612470816120c6565b91508282048414831517612487576124866122a7565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124c2602083611fc8565b91506124cd8261248e565b602082019050919050565b5f6020820190508181035f8301526124ef816124b6565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61252a601783611fc8565b9150612535826124f6565b602082019050919050565b5f6020820190508181035f8301526125578161251e565b9050919050565b5f8151905061256c8161209c565b92915050565b5f6020828403121561258757612586612068565b5b5f6125948482850161255e565b91505092915050565b5f6040820190506125b05f830185612241565b6125bd6020830184612241565b9392505050565b5f819050919050565b5f819050919050565b5f6125f06125eb6125e6846125c4565b6125cd565b6120c6565b9050919050565b612600816125d6565b82525050565b5f60c0820190506126195f830189612241565b612626602083018861216a565b61263360408301876125f7565b61264060608301866125f7565b61264d6080830185612241565b61265a60a083018461216a565b979650505050505050565b5f81519050612673816120cf565b92915050565b5f805f606084860312156126905761268f612068565b5b5f61269d86828701612665565b93505060206126ae86828701612665565b92505060406126bf86828701612665565b9150509250925092565b5f6040820190506126dc5f830185612241565b6126e9602083018461216a565b9392505050565b6126f981612137565b8114612703575f80fd5b50565b5f81519050612714816126f0565b92915050565b5f6020828403121561272f5761272e612068565b5b5f61273c84828501612706565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61279f602483611fc8565b91506127aa82612745565b604082019050919050565b5f6020820190508181035f8301526127cc81612793565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61282d602283611fc8565b9150612838826127d3565b604082019050919050565b5f6020820190508181035f83015261285a81612821565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128bb602583611fc8565b91506128c682612861565b604082019050919050565b5f6020820190508181035f8301526128e8816128af565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612949602383611fc8565b9150612954826128ef565b604082019050919050565b5f6020820190508181035f8301526129768161293d565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129d7602983611fc8565b91506129e28261297d565b604082019050919050565b5f6020820190508181035f830152612a04816129cb565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612a8b604983611fc8565b9150612a9682612a0b565b606082019050919050565b5f6020820190508181035f830152612ab881612a7f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612af3601983611fc8565b9150612afe82612abf565b602082019050919050565b5f6020820190508181035f830152612b2081612ae7565b9050919050565b5f612b31826120c6565b9150612b3c836120c6565b9250828201905080821115612b5457612b536122a7565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612b8e601a83611fc8565b9150612b9982612b5a565b602082019050919050565b5f6020820190508181035f830152612bbb81612b82565b9050919050565b5f612bcc826120c6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612bfe57612bfd6122a7565b5b600182019050919050565b5f612c13826120c6565b9150612c1e836120c6565b9250828203905081811115612c3657612c356122a7565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cc88161208b565b82525050565b5f612cd98383612cbf565b60208301905092915050565b5f602082019050919050565b5f612cfb82612c96565b612d058185612ca0565b9350612d1083612cb0565b805f5b83811015612d40578151612d278882612cce565b9750612d3283612ce5565b925050600181019050612d13565b5085935050505092915050565b5f60a082019050612d605f83018861216a565b612d6d60208301876125f7565b8181036040830152612d7f8186612cf1565b9050612d8e6060830185612241565b612d9b608083018461216a565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ddc826120c6565b9150612de7836120c6565b925082612df757612df6612da5565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e5c602183611fc8565b9150612e6782612e02565b604082019050919050565b5f6020820190508181035f830152612e8981612e50565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ec4601b83611fc8565b9150612ecf82612e90565b602082019050919050565b5f6020820190508181035f830152612ef181612eb8565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d5521b374afd490d039849dda3c0776d71d59fa4f6fd15539e6f1aa24820eb5c64736f6c6343000814003303a5c75166e6999f9cf0810b38d1474c37127cb8a5ca1fcd54c36f399b2b13411a00582003fb2a5e6320c3d6f78f92c3caa76abfbbf768a254316307299689b8f1ee167046b22277f4271d00582003068cf2dac3652a993972f40cd090104a6aec2359f876fa5f2bf20668d65680444db9660400582003258417fa4bfe73c7a11d5ee51a10a2792b2a5d8760fb72928895c13fc5e0f05820ffffffffffffffffffffffffffffffffffffffffffffffffffbd2bb7879fa616005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9041050058200361741f403abc0de563bd62986416f333ef4f903a6b2301f4f56979db5bc9c04407921a2803066154b3920aa197ad99718c1c069ebf21567e92b9be21d09d431d73094df658014107005820034aab011f161e5e462743fb5afef81394016eb6c63719bfa61c8511642e01e0480ddd02f0f0225c2400582003f8c3c3b0317c6bbd84bcc1ef42f29dc6f2a32dcda3c6bb710c9d9e74de7d305820fffffffffffffffffffffffffffffffffffffffffffffffffffb0286dc0874f300582003c29aa785f7dfaaa34937068197f2c475ad5f16c6f9632c311a2cbf45d811f0440a578f3602197c9c03e156db8f8d69f885cb6344799e2ac3d842ad36f9a85cdf6d5d8b96731be220c303c31408730de2519191d187e5fee1042f23e720ba755a301da3a26e3ec1c6f3e0032334f80e75b2ec82f61b42f6ecf0809a6be398a3bf02f5994314ce589a863e2303d3efc12991bd7ec9545360ff4b8a50bfdc56db1f3bb3437c048523a8ac65a45f03e26c8efd9ae4a4c864357708e318930af3506e4cc65d099fb5fd4854943f12e203728210b2f0140d7d258bfb9d7305d21a3975300b84287203ec41ecd49ffa54ea03f49ec177c032aa817fefd450655e9731a23e2d297eb4da10f80a2efd84bb5b6d03184481e7d92b77bef6b140fefda0a2c7643c525c73764f8bc8fe63d224816e3a03ad4c650866f3f672ddb7915cce79eefa93f5f3c6a4f064be1ed22d57a15b80e9032051dce3a5d4b148b4423a6fb08e2a54cfe13852482965e6685110fd9c34b85303cdadcd0239626552f4bfb55871156ca74654734e1bfe3cefb8971f9282e54e9e03e0d50ce021309ac29eae1bba2b81a4d0fbde1db8f57bbdfb89f3fb5492f13cb803d9ab30641448369db29d699d7f56d2c20dfecc17da03ab0cc1c844b27c82359503752df254da10838079d644883054486ffedf36a196f8e2d0498d2d6d3ae8f8ca0219ffff03729d5bb35b13e91b3fbc2398cd59ee32527c90c90646bed4b6ce7cd3d7b89652030dd914c7f0b87741311e6def29419fcd7c644d0d7298b42c9ef2c0c7447fb01f03d6656b32e935e2511004688b3e0aa9f323effefef478c7c684172066ce6983390382242195f94dec5cf883fbbf5ca0723c02fb88b3aeee8182d6f96519c6a6d68b03503193f1e6732230193b646672d769273dc448c18fa7ddbcc011e83b678c49fb03b85c9ffc892df8658439e24b24bba9868db2217e6a84c10134b6745ebb6770a3031f29563b00f61877fa9476c058f702a816f758dca8d787419892d3112cedaec703aee23456e618c4a5c66567451d7c736f7b5b9319525e7435a40d33796110af220314d94553b2a5ed8cc7f8868e295ddb867155d0637a31c3bbe8ac81a971e8a49e03c4f575d1b6f2a809b741f4abdf21143d74203ab5b4895006a90fedf0244c1f800382fb2a793ffdc48ea7ae81a53c555aefd76c32cb714fe300d19929c2bea29a1c00582003d76b0716f279778aa6c45bd81249d89512da5d45b59617faa2522bbaa0d2e05820ffffffffffffffffffffffffffffffffffffffffffffffffffd3b3cb29b98b3d031335b1efebccbac7e76b12611c600a16ac510f7d4e708086169632a5cd22342b00582003c9793673d67f61d699e3a5c5136f58858f54adcdc4913955f872bdd1ee999041010058200394277ba5e2b9ea6f67ff9194880c00c4686a56abe5b99babced1142a3a58705820ffffffffffffffffffffffffffffffffffffffffffffffffffdd196c81b7254403ae4a445dc8acbd260dc6c85b97f6af5cdf7a5b1c0350548f089b43374804d8f9005820037b121f134a4aba5d380ef5aec052a02b5d9a249f3c4e20d95b8553285abe405820fffffffffffffffffffffffffffffffffffffffffffffffffffb4c10f65f213a032bd65668bd31048150a529ff904c106f71896a14ed1a9864a43a79584c9eccde0219671a036d6fd7521549b2a59bbe367f5fe529f17a0553eec233e56bdc563914dddf2c0e03317a5a71b1fa86be7ed17a2eabd04665c16cbd201440547540eb1d71bfb642950348371d950710472626ff2af4dcb4288c7382dfc3d7be45412d36a39cffd8efa803cac5ce5757af430e4d03d0044a57d21878221951e29815bfefc2bb028898bfee0313168fce1b1991988377b902f8bf56e9cb24adfcdc4955417d0faac7d56efb600303c65e7383cad02aebcbe39b6024f07903af43e4f3a92bed36979e1ff7a203230219ffff03d68eb960e94cf19cd81906af9c547a9e64f70a80fe6f5379574d852848a43dda00582003cf90f31f1bab95c62e321ce68ebce362606dd405f1bd7ad14153d1e955afe04709c6138bdcf8f8005820032ae74af2a4ad4f0d132795f64df4ace353e956a8dc044cc7af4c15304fe4c044195b92a3031aa2882e5c56dbfdbc0fece409da37b49ee97b649386521611cef0dab14330e3005820034e01001780d322e84c2b3a58924ba8ab7c8277d751d51c4ebe7fd7840d2f70469b9035aaf6e303c984d22e4adce5420c555836021132b75505f9934087b3a0da76788bdd8109bf00582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68047354a6ba7a1800000582003654b142e14a649cbc39ee0f311153b9823641669faba59849444f510591270442ae6c1b30219c44703b4badf35dc10394b1a4d19e4eacdc600cee444019b35e502e271ee3103a220e903c77c81a550be7b3e73b160bdbcc7bbc4e19d4313920f2cd0386ec78bb20c8787038894a97070e1de884b82d814d9517adeec9961fd2703f721f7f9c38e5cfae275033daabc1cf8aadfac8a677cba9e3de452d4b57cb4d512d8e97dd567e6cc5ae4610306b54cdbe869f8ceeab710b30a0bfee65a1a3d0410024b5e4cb5f5c0406613c903b281782c62fd3e89557e6e198dd8cb5ce5c3d925c1c5402250159ec79bac3a19034cedbfd5716b7ce9930e1e78a90fe1f7dc1528207f68449ceecf08c8c390ebf5032035667d301ba77cfea00b206672494d269581ea8e79afe78981c08dbd2a1e1903b35a081667eb30b746faf38f35af8740c1bedd17d2b74d0e6aa74b71225ec45703149c08beb34374642b237b529f98973fc3b22cac6fd5ea76980b3211ff16e0b6030a140e5fd1749b4e153679aa0a369440ea32618501cecb694fd01924a99660e80333208612aed3d54531bad033424b100bcb340cc4be7fd34cad1426ba9790821403d934c18719392246e24271b192edbc3877f81529a3079012b6c7daefd33f798403acd2353f7d8c33ccb1df966b3a6a659447b4be4d218dee266d0259a47518bd2a0219ffff0351989524448fe7d727199ed809390456bf74f99a32f4413acc0c8641ca436dc30398117814e29130df41ef228c3642eed47042b8cfb5cafbb31b0b85e02423920d0373df2148a9cf9cc9eb13c64d1e40973a9a5d5cf80e15b8b6c42dcefa329b62a2032897bbb13f4af21dd69002179777cb4813a28fd5207f3ee7aeaf4a641e8888660396a52405cd9d2286ab9ce07b8ba37d086069149cb97a1391a4fda2be3b4056f203f199f16230ad1959a003f1f4c2fb85d9b2fe9aad2d5eb09ab650a424ea4cfbbd036cc35153a764f1fe96fa6c44d2aca7a9c082f9f4668e537d9d708158397a3f84037f157188b72f995aad497b069e326bd2e9b10b0844b4aeac27115bc0de1282f003e55a9102116bd9556c0d14e95564f1ed78a93b7cdd55220334cb66d6c899177403ce26db9d21d1e66e93e72bbe857b475e6e3a92ef87844b7457550adb8f00c27a035ee6ae6192813a6e06228c830423b2d88aa313bea454109c876eb18b0aa64824030dba56984fcef684de00f083c14ad79df94ceb8f4ab694390c73db824be6ddd70369873a97a21ea1992b4f4a0dc73aad3fc6a3bd28a622bdf400e495b59166238f037b07eb58755f0d25adc3c8a9a0e89c28666c88d06fb5c85506f92a14cdae9a4103d8ed1ae5f0c5ee65babd875d02eab17ce7fc192f6f2e82ca827fd7282c83eb820339e2c63189b4d75b9b52d5c4afefcf1e6673ff809026fe806851f61eeb444d4900582003c5cef8f3ea6d4e680d96afb9624e0c3d8411e8295efa7cf14451666280d8e05820ffffffffffffffffffffffffffffffffffffffffffffffffffece7fb3d21d09a005820037b234d6c3d3a6096f58bc52ce7433fade17156121b3fad8a6e554a21f140405820ffffffffffffffffffffffffffffffffffffffffffffffffffead60b6895d5ff03e894366dd700943cf9d04cbd5862b0612570d90fcad429c8ebf885cfb7ab539600582003f84bd84d11893038b40985986fe4d362d1bbae45611500dd6f9f638c636ee046e4fe04a3df65005820037024d1d896981226ea8b2b002efa65b2d623bdadb75dc070a1a9193a84d8a046b9c309a4ef7200582003f7a783264ee98415b2c69c53e7cc6fbe151a76c850a8aad890de2e67a736504802e290ebd6d9a4aa00582003a88bd6140443c1139ccd5a833afc752ec14a9cde2b388fd6782854d7d9d1105820fffffffffffffffffffffffffffffffffffffffffffffffffff40c54c841ce5f005820039317a683c853da84dd4d7b6f067b2ab94beefb6d9be72ee049b91c578fd280469b6d4e76642900582003a11791b321d3780d6185c1923885c37fd8bc6bfdd7dd0e5affbb12d7b137f05820ffffffffffffffffffffffffffffffffffffffffffffffffff3e7cefbf683e220058200377048a022f285557147ab6730ceb49120efd9754b4863a1d92c34d370d9670470383c2117e1a3d0058200328986f3068cf0060a9c2119fc50d214a3fcae1db378ca67b15b7ebce2402905820ffffffffffffffffffffffffffffffffffffffffffffffffffe3e7656f0737000219f7560219ffff0355a4474ee24ed658f0947c9f7e8bba1508c4312db0d4f329b6fa64d45c6a50ed03f270fe0bf895a474544778dfdac21793ca1e2ec70902459c851570df4b66c05a0344ee9a747b3238952a79d472be3b2086254741116c4fdc08d9753461cbadf64403d15ef1ab6488508ecdc9b9be54ae480eb807646a7823f2f16e796c4d96afc02b037619b51533e112970711b69ffcfce929599113e84f55c9a4c378ddf75ef3826c03ab0d0d8b7b6ebfd909742659e503573d85d53f3bb8d55512a81f041f1d5720f6036be879eceff5e856becf79d890bdd39c67ac36100f3b6c334abb0ab3f731dd9803d05eca49888c5c736b0581cff64121f6f94e23ab0295c10258a1a266c8c994c1033bd21a76e879a1fccbaf9b08b6935bb590d65debc42d9549b4333014669eb23c03047100d97da1f0a8575f58ce759f1597633b71a6fdc04ebf716e66b32f95e74503421ef8edd35ec4aae6a1d6998134420d570dcc5985d27e414e747a06e458b05603f25fa2e7805b54f746232e43ab9fdba364975add9f5fbe597af7c6ed67be81da03a2fd2d13e0f57dab495c0da9ebf470e8940036916ad38295fd9716df41fd6323030ffef0b15bede91e04b980f96bb65a57cb07cad55688e8b372f5c0a7fac603d000582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04101005820030f7a6e6c06c4f95ce5116ab661a0640860025ab1e087b67bc0d5716bce4cb0470369c524eec960005820030d8b9200d1cc3300978b0dff53482a4ee51169b9294fabb990b640284fe4305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a8579e11e2cab5de8704329e692074d978e9ea9421a43878c272af79f4b5d40f01410b034664085901b9d53192a364c5724c4b488ebf09399d05eba2a5742987dd2b36b400582003d48ae611b4b9f6b011bb40e98de9af0a71f3fc18dd1fc61e8aa7b1e07094c0445099b0de00582003f21d8fd75dfb1131375c51568fa8d0633b7798b29f4dabf29239ecc4e5a5905820ffffffffffffffffffffffffffffffffffffffffffffffffffffd97de4fdac3a021961e203db1883b874fad977be84ec5dcbf6555ad354865db5bedebf70793806c31541800219ffff03e823799d9dd9d5e2de1c5471ca3b954430a248f3bc850c706887510aacd08e8403adbc8668fd61f71208cf8fac7c4717a6b281fad54207987c9c26996214c500cd03191a8fe4d2556f56ecfccaea3315920707c3cbad6ca57064f435edeb1748451003fd60a1433d6fe8349ba89ebdffa62e44d3dc2d0856e0b37ce26fa22682999b0f030c2963437884fd980011a97fff4d5b0a38340ecf4b612845fdeee773cf9d30ec03d90f47d1eac9e156b97615825bfe20ed820f4bd57ed7248cdb01cb7c989c526f039ea430e10b1ad45edc9d6bf68514ba40504cb5f989847ed03ea342026b6a077d0350155bc3cc5b4e34be1db90a83b900f063ceb65a7af50d30d661d0d1144642cf030753764596e4f17f59f7d71e27ee49448cae6a71292b8790a5a5a48f192d45ba0343c235e9d33a4d699b7c4b4f3b5483767930556a6483823c06f7ec79d9adf37c03ee4ed28e867a0e013b79f42ca9412c764cd8d47ff5273255643439d2d0cf9e320333caa314b8e854eb1d1b62c49c870a09a3bc2386c7cfbf769908c2e911fe6074038221cb8c99b12cfd4244963410f342b2422e8f8f329293e2f9ebd2280c5178020302a273ac58522fd802452737f1b5d8617d7947de5740af262206f578e5f22cf7005820039f651a8d76cff1f727d186cadcf8cdb59b9276976c5dc825f4df91e9862020440110470e00582003c19946ac445110bd7330669198af1baca7814f6853e70351a899fe61e6bad0480de0b6b3a7640000032026c4186322ee26d69536559aed9ed3cafbf1fd15762af849384ab724cd005300581f020c940b1aafea4c4e091fbd8d62ca0640a262edeb79575c6c36ce27f7f1675820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02be4a89e583e25929bec18221cffaba862f588ba02270140214d2b34d94f84705ab8affe529a602198800021942490322251828874742d50b14906d5b2ae3d1417c75859b31c2aa0b926fa050bbe33803dba5b9253c3859368ff25a1e6ca12c4a73be43cf5ada5331c0a8c66406c0760f03b62d259fe2821edc012d9aeef37a27bb46ff6755cef9bbf2fe163438621865f20219ffff038bd607d8108a9609cee7dfa55b7ee2f0bf5fc73cc4b8ac011a7f10cefcd9db1c03a0eaccf63aeaa831c1af11cf44ef26bc33db123e218181afd92ffbc05b31d50003f9cf923efd051449e47e6a642dfba3de6db6f5602993d1a68488da71b9f40ca0037fbb604b502a947d354dd919fd32a73368e1b79dda5457036346951859ef1936030e2f88227138b9e6bf623d372323cd9b8648be4963a64d913a3fbb23dfb7a373036d294d0c86c45beb970e9fe0e0655c6af22751587e17271d2ef82ecf2046d3470377af91fff8d04ae5360d404832ebdea6de811f482d6482e72ce6ac3b06f209e903951a51ca5b010b58f68cf0206b27e7de97fa56f980bcc9fddcd8325ee312d81d0303994d9feadc9b45fd32cf9da9abc65635a1f5c59aab4dbaa170bee29f8f890e00581f02c33585a9d91d39c91baeee8920914d4b04a8aca72851fbebd07f846c6d6b5820ffffffffffffffffffffffffffffffffffffffffffffffffffdb3d7cf18002c200581f02e283ea4c19dae948b187fe5f0cccacac5ce71415793796ddecdfa2e069e9471675328a3097e90219110000582003901ff1236fe902fb46f82f6f61152c7d70f568cde79cd5c9ba8ffacb50ce705820fffffffffffffffffffffffffffffffffffffffffffffffffff98d683cd913ff03b7ce97a97fd41a4621f37ab4c1fb9c27b1e65d0723cf30b4b908c1e637c614640328d976ce9bca6842ba08f1be623a6f429db17c3091f80a060954d8ecb994ae7f00582003fa7ec08fdd3c9c44a05446aaeb969a936ab447069d9e6c363f8ae958ef7d10442bedf83a00582003e77876d003dcf7542120d641c5c49460f7e8754987f45c5cff1bdc396ed0e05820fffffffffffffffffffffffffffffffffffffffffffffffffff61e8aef4da93e0058200385f19a65fa53a237ff6cfbb96616ef3fa6fe3a5a1e2dd1526cfa6fa4c0bbe0410102191497035e8601163c7569f39e2f78a02e6d97bdcc125c725bbb1a9140abe6cd02874a04030ea10bff1ce190c2f57eb3de405d075492ef1f3a0cb1480133c5cf57343ae78703d7e9fae56252cfa3bbc2645e36ec5364b84dad79430fb0a4395155c8ff542d3300582003f3206bc38c396b72e5a09a9f2b6bb862ff7be9d44025094bb6701c51aa7f805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0339f09580a0237812528093a81f034e9d33dfd54e774184df05726724c14e966a00582003334f4bb9229422d50bb66917b4277f04b1bda25318e996b2d2ec69ea9af3005820ffffffffffffffffffffffffffffffffffffffffffffffffffc643156ed24c1e00582003d1c3f411372019df8e6509f1cf5a23b912fb4a5444c84c5b090d1173ee05505820fffffffffffffffffffffffffffffffffffffffffffffffffffe6b48dc97ff7500582003d7ee1641ed18242ec50d2b1d630ed757025a59f0e2ac9287154099a2aa04a0440110470e00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0420d9c00582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444047354a6ba7a18000005820038f7da1a213a75c452d5de846f5d8524e02a47bf2eeaeaba1a54fa6f621e6605820fffffffffffffffffffffffffffffffffffffffffffffffffffd611e236b0bff00582003a3261e5477cc9f114d8fd0e25224406e7e5a11fbd78bf9884bfa0deefcde704403ce2f2900582003ac6e97fa79483fabfcebad347a6ef9b6a14b7a5af9685ffcf3d723744427f0441f1a169c021939ee0304c1ebf36713e35d3644a02e9769fc5594a27a46164a7087784a50293580c5e1035c0d75e03095f47e82322da356ad411dce560fcb087ea132617b714edc3e6b07038c72bf37ad3ce259f47068fd55cc4986295c10a6de45e81539708036ce698e9803d23dab7812fd51bd7e023fccf63dc8e6e7245026a7dc0ee062671589b8b2d78b0219ffff0358e2c63de3bce232243058d5013f5fe5de49c07cad1a2bbe36d26c12e2bb0e70031b4a601ae99184a551308a6667a4ed4664ef34432f9d1e3ce78258bd991bd0f50347b4425693bc6f06a03559cacba3246fe9f5144fc3ae7daff487c42c1bf6189e0330ab878d90f8385385c252c0117c3852df4373ec4587683d81db9dd253be5e8403191510bcb7361655f25a6e6c996a52d252b2dec380357060762651fc27d53a730300d4c1e9a506bcbf9c5d876fff58bcc1fe69be9930b54b89e6151a69aa6b5f110058200382980ac99f273d999c2ddc91702f98e9605b9c7c15ba71a60c2613894e06e0463f3cef0ebbf6038fb088f86e15a48c0e1bef2e2bb72ac05efb7dbcb086eda75af14e0b62d3060300581f022e97d346ae5921d9e57f9e14d8f2d3690f7c52ed62f6ae582dfe5963df1d5820fffffffffffffffffffffffffffffffffffffffffffffffffffddbcf3132e3ff00581f0235317ba6976cfc4cc9453c154316bfff7a0ad2fdebefa14c1d0ef9ac84035820fffffffffffffffffffffffffffffffffffffffffffffffffff99b2124e3d52300581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a841010219045000582003285bc7590971a0cb0aa6e5eea9576ed0c8c7eb6e8c26934b57d7d914175f305820ffffffffffffffffffffffffffffffffffffffffffffffffffff3512c44ddfb0036342dd5ff14456a127df1b3c77dcb5b13d105078a4a4001d9527a52d4e21eaed03f826a41706e1a52a2b6abc51989f6fad78617757f09102c6945150587c828474005820035e58c6658e22cf8940fc42d81c76b05c0b659a6e01d518897c06df4f52bb5046813dab46331d0219aa290319dbda6a00261766c96d6157b5b71da796306937835af550be19d9b9007f874c03cd69837a9120f48c60067c1363df7410a10fdcaa66258c074c4fcc428773c5a303fc52ba807f9edd3502f38fca04908f6818f75d3f5d5085f9581e2ad876f4c03f03da910634670a3547c272037b8678d483108306903d5c982f08733e190984058303ba6c9aac932285c842f24c0b8623e22705bd02b621f273cf14f13ca88cbbd00e0316fe29cebd4ca96d0cdf2ee0bf616f01f5492b7d3a389867fb94aa1eb571cae8035ed80119ff48b3dd1ab8d0aced166f3d313787b4436494b83089e160f6e62a18005820032fb2f5304808c5d432a57975d9742db896baa115325751c2997d2c0e01ca8046b7ff4c6c746d00582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec057010001036be6369d4d2883f3ce8da65e10bdfddbfb7d5d00582003d3988e30a1d8a9e83102637568578fa275d58c9df827e602303fbffd9a7ba04420b1ccf500582003f4505b11cc8db6d250753b69221e8bf1fe4beda3e66988494fbb88c9e346b0410100582003c94093fdd01994764f8425818b8904a78a9a06bb2ff8590aeeabd02100cff05820fffffffffffffffffffffffffffffffffffffffffffffffffffe2183552ca3ff0058200389c3140ccc689cd5c8dcd85568dbde6b413f40cfc7eb665c64cbb23d826d804427cc2404021985c803df5b173f086e446092f0d07751811e43fb96fd9c3dbec521830542d444f3a74f0219ffff039bb9c2da99711b4c7f4476e3f10db1d3aa81371e013f3c637cfab82c97bcb279038dd52c7a68e1e82e60274bc6dbd83d6edc64a6cb423a0ee9c226cc36e027c3e703d58c4e882234840f5c4427d4e7a822ad05176b9c8d168016800c48f52a10745703c42e8df5d659850229555c2f8520348ecdacc77f339a99d59148643b2b03da250389bdcefbd8bb416a7f92687ed55ef5a283c52987edc559aad033fd7782821d2303d58c17a718b1c4dc7e61febec78a9ef53362655d2a5036a30a45f0e1225e664c031a1c26a0f8a352da649cd5c8b8845f2fe2dfa81d2ecf893b531a42a96e3da81903170cd5ac836bb92a37594c65366b595f301653b996c4a7a7cbd59552e4f6dd8903fd8ef3f4a67e790171ad44c308f2d9fa8c5327004f3492c9786de5ea0919cac903912e07ca6eb5be19647a0d8c5548228114d2d20ae2222d08a51ea26a8ab38b2103c01c53aaf85bde38c99fa36fa394ef31c1a0e0328eb161b41b184e3b4f09b05d0368d21e587173269f1fdf64ce4f450dd0af4ed005b2ffb842b2a90a4bd97db8e9032f134c752aa1c2decf7d21083a7dcc1734e4f1bda0213691a7ff424d0ad2c664039f097062fda77e3600b551e8bfc759ca5fad08d8a8ae8ac2692ed8312d94a19503022cc0443d9e9cd8f3534f07473b823542bb4e78364761bd0e33c92ca4e4b071005820038d226afe799aa3e13e60021a8fcd0b3d88e6a0ef77ec661bbf3e62b925f5d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003617fac31c5f04e51734728978ec8d3d56e051aa7dac7e4409f2f3b4f962e404701d316e87b330500581f0202a6260014ae07cd76a8386a204c381fd1e7610f06ea4d1a2725514707114420d7790100581f023e078f3f0d7d05bc079eed7c4eb734d0e28ec3001b7570b8397185664a3f47014182a5ee1f0e00581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c74114021902c0005820031414e136176c49b4efd672092f68edb28de918bf9f6b4ece3dad33bf5936205820fffffffffffffffffffffffffffffffffffffffffffffffffff17ea293698f1103a8cb6e3bce6d8798efe9972f657297c0e960aeb7627bbc2c6db95e8e37cb4b7c03c659d1c269d329a9fae11d1e795ed769954fe3b83af415e262706c3c161f13030219c0f00219ffff03c873c7ba485756052e0fece232dc58598cfb608417560380b3e6992559b4ed7f037d87d97c00e2b88233fe87a29295279d8de9a9a955ac1259840b6ef252be88cb03387a6b2ab43c07d7e981ecc970f70705ad377cc011770bd6fccee951f051ab7503edf578d38539de9cec4bae2842573cf0c9ad15f889cb0eedd51088c53649eaed037f169ed039d41b0aa0b41d24b15e67dbe8b57c0cdcd08113d0b94ee5ef2614840396586dae464093ac915cc12329d4103d481dd588e73e8e8d6150fc38cad4bf70038992ae80a3952066c715220628aebf3a506aa24bba45224da03d4eb38798c16303229f76ba69013dedd36149c6c1e8702e0492a383c55ec6d54e3768f42a4bf59e005820038a95252b6e964aca44424e0bb99198a7e937aa4ff2934d9f533e92c23b4850442f5e57b0005820034067b8fd1d757f2e801613d42003a7e3f584a5163f39049bab89596da3e7505820ffffffffffffffffffffffffffffffffffffffffffffffffffff4709c035ec0a03a0c3c375bd7ebd3996a901b1e8a2be7a3257850ce785ba40ff735a41b07ffd72005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0552a9d85c2e2d2df097bf615f27c3bd320d973edd10003904bd27d27de77c57f4118592c39e5ea576674e455a4fdcf00e556749b1e4a2700582003c3cab86f78bcdad32f1c13321358fd410d445e64636ae1d4d71bd14fe42360468a0507f4904100582003e386a21c4ed0a8afd663946e3be4d97db3ea4bcf88880f966ac629eb6950904436c9571903a6106a10b192073ba63a4a5e105c05c393b3348a187acc1e26b2c705ebe39c8e03d6cad9df5559f5707840df52aef0b4d880abfc1b22d894cb11e36cb4922d973d0219b93b0382d10df337fd7e9857dde80d22654f2e346abaad6789fbe98c94c431e88b545c03b018d2b2267d59afab5ad7d32393786855c04585477bb49602c8146b3f91ad1000582003eb3de5c97bb003768380ef2fec562c4038bda7994f03da90f1444b958c1fa0440fb01ae5032d564d2e80177e8967a3850e42c0eb2ffdba2de94deb5f0951274ef3bf51f186039985de7e24b9709734dce873f284f23278f81ff4e042fcd52ea947d2d443e09a037ff66db4d700ad4bef266f9b8ab1516d61c44fdec9ca65b7b43381a9be77915f00582003af4bfccf002906f7e13d79f819158fe874455aad40a2d779fc2c69e8aa01a05820fffffffffffffffffffffffffffffffffffffffffffffffffffeff9ff04713bc03f503bd18e210f5072199e90cedda598087c5a79dd5ba37fdd796b993241ec28500582003abead40c6207605ff735017e0a7f16faac9a7a53081a68f7bb935c4dffdad05820ffffffffffffffffffffffffffffffffffffffffffffffffffec9bff017684f300581f028abb9d510a794b8a053740d96270d28f532eb15869d92855fc7caa59507d5820ffffffffffffffffffffffffffffffffffffffffffffffffff09ed86cd8e410700581f0215dd3d8cf9782646eddd3efe9c965f946bfff83f4568849ddf4db73d246c5820fffffffffffffffffffffffffffffffffffffffffffffffffffb61a829cac00002190140021969a3037f1b4f2ac19c612714f2b654b5d81c6e38748bb935946a36abbcba24a233f35b0397b7c9fe74ab64ee1dad508ee23633d977b12a189ad20988c249b8fae3300e0203a7bbddedd78cb81018be87210fdb5f456164923ed88ea81cca09bc43f1052d67033899affd14ff199e6d514c17ff8583ea076ec1422099a529ef96268b8a61e9e4039ab0dada378b8c2467c7a909a0b2efa1b0353a1defb0ee10ebd236e448c3eb5203413265446002460352fc654fb5b6ca8d9512a77419e7cb048ace85bc6cf01b040219ffff0219ffff05581d02ae8b6d83c543d53c5b3c2be57d8477f9021d3fcfe76cd51ea1da46d00701192f56031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d02290008e326b20007c152228e8faf0e68df22db8e0ad0d311d791576607011bffffffffffffffff0219020802193ad40345ae5219923b07e8cbd43429047be2fbd93bc6f58158f4eba993ae95c21faac003106f13c075ee3c0f66aa6f884564a438e34cfdb7b9d2dc71afe0d31c59aefb36038eed8eb32a27d26b02412931f0e0b7622e8827d36566f243c2ac504444bbad63035ff05d9bfc181101d15ebf6edf579e2667c90eb9cd04bc1ac3544e60f2d5f91e0369046e31134098252149d69ae7b3ebfdc288b73d4d883413bce4198177f9dda503041c498f3e67b2862989dad6b0cc1f06efc9c25917a52c084dda5431e88b4f38035abe0ca65aa733e82cc0d09ba0d74b52ba4e687e2c71b51bf25ee607aa72bd490219ffff03d77decd48cfb6ba15dae00e0a1dd43aaa13869f87424265dd3758f5229102a5203960c8ebd009333acfeb6dc53ab22c1555c4e173bc36260a2d3e0ec5f69dd5d5d0306f054b6a3694010ea924c05c13dae2c505abc578799068e9eb3c8a908223f76035bab5a664b3514256f1c4885a58d731c8e4933a32b3afd485dc399df35ea99c503fcdf1f5d2c8be2fcb5439ec9c699a7463d5f58b4c0f5ef30ec667ad8f6cf5bad03928b5e295df8b033f46d11318bb8c6a808a54e5e4d5bef656f60fe434a97c9a3030f280e12a3324ba1745776fc804632caacf54fe659638ef967ec5324ff8ddafe03b2c19a659d3031dffd451ffd77237eb443cf0ab2124dfb9f63c810b19e2fa4700219ffff03a077a989b5ccb2cf4431cf8ecc44f1106c2139f5081c38d2befc12c84a2fba160365230f505f14dfa773ad9dc516da35b7c930984b40fc7e8b9e67440a12c5f06903d16396e2832807c130fcbded7c41daf8d29b149ba5a49988ab28abd9ad20fa2c0303af39a8213ec9cc2f0c76444159545c589715a488e21daddf62a63e7a185c2f037b8fcea2fd5c0c0c2b50054df0b0266d29bb717a436c200f7e38ae07abf764910383e85d0a58a5d9d05842c97e9ce68fbf61b777342f0f69136cc7ada5e84d2d9003f1f725108770c6aae8ec150bd3931b4668b0a0c8e432f34599df517fa057981c032174606510d229c6f30f088ad288947187eb842f2eb020562511622594011a0203bd1a4dd40b43bd1be6d6338cf3d122215ad149dd4b59b46d8ffa2acd0564a5b4034231a64f8159c793105c31031293843fccf0841a7347d2e3e72b9954c5c18d180378949669426cef53836d2b484cb3bbcfd54829e41478f06edab09abda975a2ae037b08c890c946dc7e895b7202daf0bbf3af447d972d15b0f1a2f1bb43802b13600356c1a5e6b1321a53b53d311775183b9eecf581bbf0196f2d0e18cbc540e9812803b0febd9f7342b98d2e0406b1b797421c95d6c0fa6cd289a1d48833609305c7bd036f01a48e39d411dcb88e6dc840fc6ae18afe44dbd86d3614c44ae2df840501720219ffff03820d79ad54c8bae6daeabf00f76d642fdf0941976b5464ab7ea475bcb3771a2003c9f9be129a82c988b07224328080433625af80c4498f0388f888b247d1c4ddbf03d6cbd4ce3c2c6f5de2be4c93357f7e45211f2dba44c44713270c626967266549030360f85b79720f149882cf5d1e8cd38d8155a9457a96370ad46a685d73bdcd6003860fa23f33b98605aff1b0a6a472e7c5812080453ad231d74121b7839236c26c03569a8236fc039ff65e2eee7bc9020dbbc19070770bb7e215a037bf3c47917994036141b7a68bf5b2ade5014fa1980c6c7084ab72e35211a8bec62b45eb45f2fba6039cadbc87cf00f43aacbb99d0f4180e235f3caa0e97e692512379ab98144d57e10339be36b087f716a50c9a1d4ca7e1b9c98f296a591f8a7fb1b96c01c4c82f459d0307713c758cacabaa2713726a60e797df4b53d1294948b83e65f7173c19b1254903a6628ffcb24a1442add27f0aeedd681c65742c9d6d269a8c85f1a5d998d5fb470376040a4b4a83672a0d9166adb8cdd8caae005ced13e81ab8bde3c6a8d2cf8f8b03110187f0ed4e98b5581f37995afb3522f611016ef76505dfc6c969abba94116e03ea3c5f95ff16e2b1ee865a43eea63d4dcad92681d5781034a0f3f04636d8b69f0321f8359b544afb1cc482f251b8483355bc98810cf05db65d870b99621e9bf4b00358575a9ae08805c4ec0e20436d57c2e49bfba1f1cf5692723b94ec1618d5766a03a82f59fb2c37d3c47a41252185bc1a89603898dd962820bc81d6c76ff79010770391ccc82a7ecf3ca2f13bbe0c5494c3245f95fbfa6015cab681c0683b819da57503c9e03ca92c23adb70887494693d2f883c757489483c4a53224a78196fc8ec5e1030d9a151493083a04b57e0a87cb5d6eb8304a6c8b60966a17df262bcb9c3394c403faec52e3d99acce29b8ec528af106eab4abb5fc25533eddcfda65c7c18a018ba03ab629eace70e8c1f80ed96a412b9e4029e8e703149a4abdea79957dd5f26c6ec031f57bc38d11df8bd986c547750474a18bb264993e8012c07f2ab1731fd25da5b038c9282c39224f8b699dda2b91a5e4be75a21a6909c74fc11b39a1c1bc827f166031d1e176b254ad292fd76364bd92b12b89a63590979bf6a1e93deadea604ef878031449df5c6c315d0fe39a4d0cb219061e1a5fa7e419df6766cf2e4e6c1a6234dc03af45b53451155c923e9087c3b00a8585bb0c68007337b4c7f4c6dd6590f666c303931f48e569f4562cbc59f4111f2effc5fd2f8f13dde6c37d60a6ec60795e6bda038920a7f29e843c1263c2eafa34593c745e98c8c62350e6d801af9b64311cafda03b7c560efedb7b8d108a39bad1ea89d340c9847ec86d69d67cf70bf2bef4ece72039831ba864d91ed45963f4798dc7a2edf226180ae01b06b24e7cf1a301a13bc850394f03efdf1fae9be0e2448163711c597535d3d74d1a7eedc164566014c702bfc03cbe700c311ca43018c96d071413df8eed80d3ab3e576602d69bf815d21af0ef30354dab92185316c6234f8a17a87805cf56a0e7ec40335eb5d488b3152eb6f298a03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03f849159143bf86e3c8816f0b7c06c06cb50dcdc97b0c1d7029a5f22cb007011bffffffffffffffff033ac1ec019c3e099fd32839e1c926bedd8a3ab0b386f6a46fdaa221c0320cc7b603629887f138f3e50bfdc51029f2b2b7178e55115251bb3fd66d24844f9cea351405581e03ee6a53b47a35fca721a133c1bc83c292c321208f133635ddeb20e024c00c014701764c5030a71405581d02bac4f2ff295ef0db3eb5843538c7549f9b9f8b395b8978d51beba9d80848883f99ee6915f67805581d022a2ad87965e93741d0fb0a6342cf592749856979d451c66ac0da884a0c024718dd40305b70000219060005581e0333c2db02721460975b5ab08e8e39df6f787bc2eb5120bedf393dbf73d00c0147267592def3c6d305581e03e20b51052e036e50f6b76b7471ae054b70736646d35a48f06bf506d3300c0147045221e24e608c0354b8b2ae8cf5b09128d249c89ebfce7acf64fe39c3fced3a930222d5ac03bd2c0351bf02318d6ce8cf274fe80c5c7a2b4db2387debafbb6504c7123aa47b79f77703a12811f78672d6f30e44850484fc0db289edb2bbde27998f96f8449791b93a47037319ce2704da6cc08d4fd96fb6e916b85863f4d36eb7b56f0b87ac0e1e0ce94a034aaeccf8355d3d16132c912e976a9d3c59c0c40f48e01d75cf6c640269b47dc0021947ff0325c18b4080601961f9c29335cc03ce088666e8bc885ad879b93f0f0fb7d58fef03ca93de39b496d398b72c365b5e6b2e45b985be7e802597af2000c7dc835b40bc0219ffff0312d58dc1ca128a7c436832480da406e0d72141c9734e0dc18c8947ea16ac1a8103e171baa3bc5188fbaebb9344238e59e93cdcd28b8d345928b762ed67f03b511a0384f2b9a997014dcda8e6b7f99469b2e936814df55ed689930e33f1f2579f85ff036d8fab09c8d0eeb552309af6ac8d27f7c5f281c3fb999aeca4ab77695b20b9430219ffff03d13fd11683e369e0d3c27b550b958481edd09bb344b1638f34df54de0dbb8d3703fc4e1afa21a1ff9ef7ebd4d776c153ca7105a80a7adbd2c071e45de50f67121d036a06819d60b5e8e3506c1777a1f923ab2017ca15cd91bb51f394ea7874d65aef03763427e6a7045cba8397ec7b5438291722622b9350f953b31ea28a7af1a6ecb403b7cf0f3a52a25b087d63afcce75aa99342dadfef5b42d41505fbfd956da416b7037e623c440d8e955515bf90790e78f40c15d7e9076d765d0cc3e3644d5c52069d038551f9f068a759b03bc57c97c0c6feff93686096bafb7d045521b285c32dc2f80219ffff034d6a6f99d14fdb01c0195e8962abbb06cb3a88754f300dd98eda46f686adf7100357668589fc15df5e2915673e3147e58570cd621b006783cb14e2b5f7de7417f9039aedeccc768ca0a78d30b32e02d30ac521c38472c83e335a1555796309e64138035d22f818c11df89efc5910bec67df264323642ea34fa519f2940379837e64fe903d6d7e5e5a845744eafa64a0894c9895aa757b9836ca40985c8cff47374ac479203727a96afa45c1561959d244234172fc578eae0e2f63161093f6401b2b535416c03ab834640f9c101b6e3a67a1871da4c054342994e01c938be07fa77cbf3d1b61b03d0cdfce3fd8e279dbd19b05d89bcd824e1241ad6282695712d27257091d64c3503a6257350f359ec221f624d5ad33e4358772b4e79801ce6d95d5ef19a5f130c1e03dfc6b0e376130f352f82e0f8e0a38fcfd33024ec081775d52cc2a0f0682e122003363dbc6840449a59194e562a712ed97080d18ffcafaf882cd824abc8863c15de03273663e15f9c6de94f718337341baaac27eaa8dfdf6980cb55deb46c8f048132030599122166603fff9b6e2f46ac9766e7e4090bb2870c2b73dbe8296598740eb305581e0319b3aaf72f46fca16f4214674422fca41f0f76ea14d68b056999a51c800c0146220c7a31404005581e031447922ad94513414487e4ac23092b4fcd405a571e9be107051983a670040205581e038eb9080ebf56a01a91c9c9ac4a3a199684c042c00629992e69c0184910084705ebd312a02aaa0367c7bf54a58d560dba8b35cd0b500c09946e2323f155fb0ca944d02dd186f8ca05581d02d77d983c789d1e5d593386f2f8917eb4e7ae4361f729129084ba8414040105581d02dd105bae87cadca4ae7ff6d7641fd05bac28bb37ea542f83e5276b2b0c185448218eebf3297b6abe0219090003d505d6550f55964ccc8709fd289b3fe530c5993f3f883061f191bc24c47c21c905581e03d0f96caac3ff18ef084a2d9a8254a2915fc62040dbb49d0dfed9a9ecf0040202193de00323a8e655b5c246723a7a67225e4bef31a1ff8a2a47e5e0e34ea090f5c8414f68032628e700e94d5e44c58e36fe784bc30c317f2f3b79e6eeaa7fc23734e9feb22803d932972cab1c8e9efb2a56ae83a641559957aad91e45bf64aac4d8a9c64ed433030295b1253097a4b306c5a428171333aad3fcab1fa9970b1eb7575f7ecf7ba73903fe95d2ee7fe71e9fc1be0580fb2f11c829e760976816bf378f86c76817087b3e032b49c5e8e3b5e9498b3edc4eab0aa73bcdf95cee169cb9d65f852f2edb49f55f03e5ce1557f22c6e317732355bc84e56a689e794cb3a9d4d37b5ae28c9f29a7f920303e3c4312d7c8c449d9cf399ae9f0e05ec11073fd1c479578688b8008f56fd6203f6315ec5ed0eb71b6e38e090dbf616b0ca98026161d7249b38e90936461a381803f9a57707477de7e0a4ce7d1e201efbe45428ac1604497321761f36d5b358f2dc03b8e16f28a8954c80f0e2d4c62c65bde9f768a3344c12b5fb4a15e6008494fef80219ffff038e7d9b28ecf9d4b69e7d61c05a37746409c9353bd1dcbd9d269df4635c28b06c03c2c498a0cd248f5e37f1567f57b79e61fd7c11d2d0c1a06c1be363829fbeb4c903f8059fb818c88f47b653b4c7611ac0a502bb72972a33f328039077f3582faab003188d725221047f2e0ccdc8683ae7116ae849aaf21ba403c7cc2721b6e1cce90b03d239f406f39899cf610e17d111a7ce3ace1d875ac4eb3df7229564c1eefb51ef03158dc7454a83a6a067a84fd229b39733651b0c34e804b7c61097a0264065087e03b2c710201a00b9819ba26016e6ca86516b4605777af9a5f5aa9b8e57f339de23038b30b8f4f25a95b9fa43b879e13b8720932a8c964bef6a11b68b9f90942c5afe031b3ba64efb5b418e797b1cb259df52913ad7ce0c4784384c8fdc3e294a6672ff03ad35ac5a100c0ad5a126983fe3ce0c5b82bba2ce7e36b517cfb5c8d2386a3f1a0219ffff0340cfeaad80e3845dfc3a108acfe6c928594e7e826ca2da9ceff48f89716573590381e3ac405593cc7acffdd7f55eb866b37579fe0f91794df4d8a2f90095d0324103af0289a5da038bac9177232d2484985584103d5aaee86a093f56afb56df2525c031d17aa44012a7246d070551dae678e347472dfe03d24a0aa7f0a827fea7fb288033bf093c66d0463c89967aeb0085bb8c761df4ea9cc75cf4ce975804d8d973deb032a52efd515cf572c63f6cd38ded97cc323aed81223ecf3c782a1ee411472260d03d3b5e22c5e47d0904b8ef12b3c212ecada68ab6745c1477f047baecad4cb17d903fe1933418ce60fc773fc6dfee3836a9e870702ff348b5856b14299526dbe083203612388712101431440a59503ab3e165642bbb8dc8916e978b9703e822dbfcedd033ee882806da21a9bc1f3b4a63a4cabba14e96481b4ee160450b06985a6c5688e034d1a58b2c103dd755894efd106a6a1dcf4503b8202391783818dfe6d21724347030061ab5bb52e9c4292871873a4d5e68b21a01a336eb7a1870975ce2b8170de5a03368230dfe880004740ce5f45ebf35aff140bb91a6eeeb0ef38b92a440b99e07a03bbf49c6f725bea210760e9a78c32d960c859a3ce09ecbdbd1c6348fbe0a45f270219ffff03c72c0a152b576498540d51e4dac4d0d1db1f17e099ef194ca9b58433668b6d34039494ca40bbc813610dd4750d6546b3c0b557e52d6cd0c6b80c256c36b23626ae03027a9fed1b808c3a3758af0f8eed023fefdeaf0b6100c74178af89953452c7840342b9a32cbdfd0ef8ce928b6787d5582a7f2a1faf682642df0b352397ccfeb8d603207c5f18994fffacab7938819f4363272875823a5b630aca4347de55c1bf03560219ffff0383aff2420a0681838482a8a9d00b0492c4495382f8b3d903e59bb284c500ff0d03c2d33ec4618d243f94850d3d50b0b1803deba8908588671f9743e081ebf812e6037e38a9b8d33f479bbf4b7c861f9b8ea4b06b83f29b46523ef82f233a3e382eff03cfe2c0075d85626777c664f0c8451101ad6db50e6a6b6b3795db81bd3e1cf363030b52bda19b569b69d9a016677f8d2e35b6ada3658d68e5f8ec2473b730d7ed0203365fe00b9c61b8647a893952982baf183fab42b8591297bbecf830ea72ceb28c03cea1e36dc1afd5247de4cca52cc12fc82685a9640b4515f4b2cae1c6122a631803595a5916d07d2d6a48a389c93e901a529f64ea8268727310646dbbe578f435fb0342d2b9fa589c0d08c8ebb45acc1818163d16533f24600b36ab2d213252417f9903196a6ceefe08525fe00250e511752726c76885bedc112406d4405c43dfe375670312981aeac82aba4b358ab975ab6752f689e5e7c4d0474ab478c8a3ac2fdd358a03f4270cca821b2393e512427e93061a81f3d15d4332c87b9f293a1b6f183f823d03aab6f0550928bf7695e0c95db4ca40a6d1dbca1e2b8bd171e979a3cf794704f40342f4f12abdf06a051a8420a08b9dcde101ed75e5c8e3600da6aeb6761a02c9d103f357bb0f72ec57dca62760d0a4f6db7d2f98a5b8d3bd26c584291524a585bb3503ec9a145aa764d10adc90978f98674a1d56e756959e3b117256eea6fd5253a4200395aecfae57a2492bdc7bc2de8a9a1fe0c17fcad47eab891bfeac9c33a8d4e8ff0310e9a84cd093eabf784b5e5911b1a012abc8718548e37021b4ba4a27cbc1f528037ed89ef212f4282a5e98d56df249c206b161b145a4c5f8876b8dad3a631cb3e9030530f62f4bdd6dc31faf922aa4a1953e1d7a20c495578407138bd3e6ef2b61fa03fa77ca7959766395e859153a8fd08d8de82a60b3d06cbf22628fbe023d970d1703908abbc86cf949cc52f9425cda33753f9a276524020ea6985d73b3f067382fe103d1ad8cc398184358f9a3102344a69bc456ddd213bf3498161881a6cee7afbf78030ec3cf1ec012525667d2a749837146aa425a6b0e4b23c25f6ee7842cda8dd0c103881d1d8b42e8aa0a473352f7a28f7e3ffb23ef6ecb3e4223761b7c774535f4dc037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e031f37fd6f2af7a3cdee7070dd46ebbfe3ffd965d0575ceb819732a888c007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e030d8d6d6b70ea167989e974a2e8a8cca0c984186d522f568371bebd2e6007011bffffffffffffffff05581e034307622d305db4fc04dee6dc219904fcc85fcd7fd163241ff2391ec9c0040105581e032afd85a6758bc8449dc97a741e75a5255d2f11fcaeb4a8ba37662858f00c02478b704fde9870a40370ad4b67983a7155fe3bebdb663903770c4e05bd23671cb1fe7bab63ceba31f6038cbdbb5211ce4aa63cddd1860bb28c0c184b10e2ccc7c47f1cff10164577c25805581e03cd33e20703427ba76ed8b8db474b0b3a412d66f9a65a3f08f1ecdb584007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03091354622dfa33c28f47e6cfc8bd9f5cbccdd125b987ce00457fd53cf007011bffffffffffffffff03c08450170808fbdd1f6454e26c25457ea5cd0214fbc8fc61d416375d8963b00705581e03bd32ef8dcfdc35bac68412dd4e10bbe30b812032a0b76771ca82742960040203702030b248c2a74e7c78fd51e7ee01198e6550644537507bfd9acce4a919cec5034f982ecb368927134589635c7b9c8553c4aabbb97f5adbf15b4b0e2ad6bcbc5505581d027643d411fc5a5a428b02360aa29856dcb118bdeadbf5b61c79f126940c18d7474d2646f13ca42905581d028899d75fbbe6393efddbaff88efc9d99305e787b7de1732ed004fe6404030219800802197f6d031943e4180e4b6110b2ddf7b91c9c70cd5ab03abdb274cd627e6ebd2dca7c9ce70219ffff037ee32c64c34794a06cfc4f5f85c6cb7822d3dd2b0fe5353d2ca2b053a8bbd00b03828431a73e2fec474cb7f20e9a14fd8baabb88e47f757f990e5f6a24f03f13eb03c96f4ad33c19e0ebe4897e8eb475467e3f498a7c10bbd10a0f9970a23ae7d84d03b832f1348cf5d1c07f271520b690bf3b73686c06f7b88c31e55d1d5c84f9177e0350543ea49eaebded98c385e7e6d0f236a9776b70f4b354ed3fc131e31b9d6023033616a3d1b14814a686b9466a3edb8ba467db1de52a7ecf5e299dd6d5d764d98503e1dd68baa09ddb0f6bdc1c9f2d331a844bd5195aba0d3769b222e1e8e0dc0361039bd085f1cf0191136cf751a9487204234067310c51f44ebf81d742cfff69851903115dd590ba9741152844e08c24584ff1f49610e9f3c2c86c01f33dbfaa19968e033ea6ac36417b79c98f2c6cb23b4bb4eb9ba1f961d8f0941436bd38c48d3e72e60219ffff03a0b48a74388c5f6362ca111a15d633dae17327d4f41ad4edec92230c5c3bd0ab0395e5f69890f46eb426fd76caf350f4c52c0752f25511bf0909f71090ff063935031ab20ea2bdc713e310e626fbd874660461603f0506952481044829e7575f62f0030e445bc5c2733f28e5bc328f3cce6397e71c600036a7c18b23a0e12ce95a5086037c89e09e6e27dbbb47387dd8709923ccad5bc936ca246138f57ce382848af926034a23988a89000108ab6aa13d8e1d2d2051327ae07bba9a2754a981d417e73b20037aa645ce2dc1e9725e107632acaa59df9b48f0dc0450e1ade13f1e399d0e7c60032f9e009d15ceaed2cd9d67a3027348378f72c42ef1ac28fef9f9102c7d918ecc03b650ef5c48f8fa724d8d75d8f8c7da6d8f7b3dd8c1dc80236723b39ace478e8403f129f4915bef831c9e2aeaf9ed51ceb28df4dbd2e226760361a9872ce464e05a0219ffff03dcc0db9d3bcc11dfd64269ca6f853855b5863d7101f202ccdd21d08ae62267d603e0bff19788647acd2a6040cbb54dbaf819744a70d75fa5adc18b15c49ab0b11c0338a5fed4fb8508a65aaae52ca1e903fa279a68ba30a533fe6326e431477b798a03084a7db0e981f7a7893bd8a5bdbac3f9ce21f873712260f527bb13d1fa5d2f76038dd7e001090112cae237fe42f11afb01d40c1552604a951c49e2c6c858b36ae803487d387d697e7dc7395b47645f3f85c2332386b224ca8b14f8d101fca88dcdd70381be711235b71fb2c4cad4b93a3dc626fa9e04dd41636fc43cafc54377e2034c0344fe6cdc3b8a046f0d04fa13f209c0bceb4e51614f552d6643160d8b48cbf4220327781d25958d01b11257bf38b53ccb3cbed9216fb8606734df60a1e0df4aef6a035134deb8bd9d8a7fab97dc81b7d720d576d4d3e5b7ed67d809daeb2a171c5efe0352f11932927370b6779db8af32d480c0db5f2f4df4aa1b9c8d263b685ab4d7e803b1a5f1f7d4a885ccfe915bbcd50966b9dbce5b849b8946520c1c94b885e65c49030917de98f2c3e543218788dbd2f2907005c15e2b8e703992c1dba0a92c8d4d5403d6b110785e20155f3f1ffbf6076674f91a5c756445fcb2082038edfcb46b4799030bf2052b33f0e959018a2ec1edf079382ad9649cfe7379201c60316189ec2774030008f657c91611c1e3ee778e97110ab0cdbf0e2d1cce5acd1060023e81f521fd03471079951cef8602f6daba6782073e9bef002d96720c688f6cd541cbbda06cd503d7698bfefbe3d69221f2aa6f0bf88aef43414bf457c63fc8b7c803b35f4f108b039007103521cef0ef385acacb60aba9ab08920fb28152b34351687ed8f450bee703ca2ce1e38729ed1baf3451874b2e4ba8243b8221f93950840c02c79edd26b102036b0334f65c8735e1b74a5cc33834ca848f35ce11f769d402b280de2fcdc1d1a703a73b8d19c7fb876c9a9693710acd41c72b2b94cbc1a1209a26a925d1976ee49f03b795e080ac163d8f472827319ac58d0192994f7fd46f71c3fd4254190314629e03c340cc146f42f955b333d394cb084715866610976f24542c02dcce449175c6e803cb0d3b9e0783e1a6047c81f1844f16bde833e9dedcd07f5cae3a5af490a4f24103e14a46720b1a64e5247e84d94ee322028fd68ee0dddf6484b0114748fe9264e403d635f4ccbd34104ae690471031e93f485c9462887c51ebcbbdf6347bf84cada303e06166092682337f8d71268046b523c656c9023677adac90d1ecbd558aef56ae0310e451679c063f623c4672bac8e2724352ca66b2f9e18f68969f3c8075b477e6032faae7c8b89aad40ba3b28af2886c0c059117e0f66387e615d86fb180fce03a90378596f13cc17ca7a801b1639202aa7a316aa7ee95c227aa53362f28631aca77903f59a9f129e1990764c7da7987c4e634634e26f6ae1470cedf4d25fc9e10fff3b03bdb7908a8a713adbd3ca78b96b0fd5b40c9efd7ca028b648fdfdedbc30abc615031fb8da8612a16adf80501c835021cb9c88aa33793c127b2fc8bfb3a24ab1cd450316bbdb95a4eda91cbfc2bd5f2c58f06621a2f9098efe60c8d754129af72e933a03858f7295b1b8568718e2852aab16f337f7e0b8608bcedfaa176e82f713fecd8403144f0448c8d2b8e4502561963f78ee20c8bcb227155a0594ea5fd0b2f764df4c0355d92c17add6751d796e7801b8e5bed83b844cf59ba7c3cb7dc43294bc1b86ad033b3d56cda8bd25fd54cf5e52a09a099e8f35f929773cbb4460194400ab0184f403355a96a4fa0369f262692aa121707c45ca222ebd25c74ca53c8561faaacdbb6005581e03e3cf9a19ef3c6fe5900932f91fd2ae94500b4f1fb7ff545d3e3d3eb3e00404039dbe5724bcc359145efe10c531034f7b479726a64f78c272c5ef9e12dbb1a7cb05581e03bf079394c606c7dddfdeca6deba124194d7857148257ad2f6d3f3026a00c0346f94caa5bd9e805581e0361995d1221a6416423941a96f26a459d0ece62f6ce905bdd81381304900c0b46652ffa28ef5803a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e0306e086e93a7aabcc3faa37564d8e4f56e85e13b7007907c62fd91e615007011bffffffffffffffff05581e0385a0f331b7e2ccee2f0ac545e7de4e3e4330b7a8fc119dd1c706faeee00c024745b7f74e4af29805581e03278e95d481a269f16a7d3b32136a0fc7b06d3f3dd97c0ff2809eeb2c700c0847496bd91e3140360459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c63430008090033005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48105472de36c8ebeacb6100c36249552e35feff0ee099005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054b19a1f4949930fdc4dd1d60bc475db158dd412230218a005581e033b19436bcea496c2aee002353ddab38b194f412c184706a51ec561d680070119084005581e0377f57036a7fcf856a19dfa659064c4bd70c2d2ac863fb981f124daa5000c014436ed0cc00303b0f7c7c10942d0c2199b1878a3bfd87e241f2c28377f9647f405c2f7549c310219d67b03052ad53e0ca8460bad96ef908d8e9fd2936b54efa94fa8370fae26343c448bda03cf17c86fb86186e53a494539ffcc64edc31d5f43b87729ba79b03a12b8e6d3ea03d9eabe0840b8eb5d2728314369c08325dc14296c69bbb9859bbfee013b9270fa03d0aad7dac75d8293b85432ea9c175799fe0b0e2e5ab158c51fc12c1a6a7ac612033f1797a4ecd1a6a303c4ef7b69174c30a1e11922fb0bf555b464f50a7abb73e90342ed76a206b828832d2c089b4dea936420f1bbf4a9b3745b0291b7ad4e3b75f10382b8bb0db4381f4a3a0a5f3e10e43defdec5860bf6d251bbda8d669dd8a49c010219ffff03b3f5664debaadbf77ff63ffd832f6e2fafcc1053b074529272fd250f4376ce96036dc20e65c8e1153f59dc09129fd5c51256a38b6c114b5d2f67416c7ea4ec2d8e0219ffff03cc4472ae244ae6d38d73677fcb48c3df4c1f70ab8b3508801518d58c3d21634b034021a891bd4eeca5cc83724d3462d3369e6cbac853d064ea39a089bbecda245b032f0a7f48e19da010a25f0c1b58f9bc0e38fd463883b3ae805d60aebba3256fa30219ffff03b0e5f2015b20bf121146e7d47d94b4b14bbda07c437c2b4c227bcffa1b3521a203c7ba6e03dc0e0a2c45dc4f6acffbc3099fab67782aa1f0a08a5df8dbe31f372e0328151c6d99da306e5c4b1a068494773c7477824306210a71e3caef74c5c4694203b8fbe7703a4ae4f383ee3171158c2956f2ffe16c4b365c6c1e2be64fc65947280331d87a2ea228085c7e269819ead6ec9b213ec8748a0753747ddc8140b4562ed10358e731236ea79ea74e8ad29078e6e8eec650314179c9f0701b2d7dedd41413760384c9670a4ad2e363f18544b7054fd403b268d0e8bbdc7f9bb1b8cead51efa6db037732ba91041f33a191a10b513c196ec663aadd16cb371ce7c8b407f612e0886503e37a397a020238f9f6081361792d864454850654a8bdc929d2846d633e68e09c03bcdb5bcea268fb7f1a19832cdd6d3abaef83a5dfe7d0b7c7b3806549f9f98eb503fd17b0e7646b5608d68e3771227d3c78a74c6dfb227ac8bef65a54a31da028a5036df3df444cf849704bfb45b6d262886a94f90819e587740c61f94dea658901b303e1507bd036b00adc896fc82fc26eacfb161e1a4661ce6d9154d787e666bcaffe031e24ddb1dbe22ff1b0108a9ca1203843b57747a97d8b6004ca1acc66ae1c01bf03ac97e5ddec245959b722f96783d223577097f569087dfb73837814b3ad1d03720338333a0a188df5a9bd70da0ab7473df6c549c3224ff8ff8c7b7322ba4ad4f9a40390806ae0b7c9a6d236039f76cbbc823511683ced5022d0b42b82968dea9e3fd503ce81ef336f9a2383d9b0c11d253bb795ca8ed4cb1a3081105ac00e52ffe29cef030e8c376d77657c18eccc0082e869563b955d419c1bbaa5cb4914e4b5e363dca303bea69aebeec18ccf086cb0f16414b36b30bd603d8721deaf472a59535ccc1cfa037c3514d7f4bbec457035feec233c249ec59d46f3d9a456ac263b3909279037fe05581e03a77314f1312048a6ded058a9c939954894292504c3f723c32c9953e3e008472ad7404194d80005581e0370d97d80c99d39ea7fca4f1031a948073fc809ab4dc2eac26d51f562100c02420aa90338b1402c0abcd20622f0d322303fee16b71b65a8d3a8898c1de46d832aa64cc905581e03a4491bc09576555fd7a182ff48fa7809b8b3ea2e352a517a6482f02aa00c034715e879d6d901bd05581e03e6c36cc1eb93d56034ea706f4883b39cf52d1cae86da61fe63218c29e0040205581e03305cb4377a479f8af1dee3d75710c5bf14afb6f51e86ddd38381e498c0040403e2a7be8dc666d4ab00461c3a249e968f16b21dd5c82aff5738824e9a06a5d46e014104033cb0b3895ef5e4b7eabb3a3c618fa46f742e559b10e178c5ad7cf116e2df0f8e039385202e83a0cdd1869d9175310327dfc5d2c056c31034b1dbd830b54196bbf70219c9e703628d500fabd4eaf7f906008f8f2578a9620190643cda667b62ac127c0721d8e303455bedb39e0e8282afbb360f73e48c36c988b72091b887ae6f36ef9d460eb42503e748af91fb3a69236c11c876a1f13a52def5edd1194899730b206bc4861430610219ffff033d4a4aadbda562c5860082a90d315ebf5ecb198f35d598352d3ca8b1364b433703963ba64693535d51a7cf0897efded9652b69469ab19c6dc6a9a0aba9485e2b020316ec0fe29dc47118e3db000451014011437399f06a7bce2c27790a743a7ff5590365694a61da0979cd26c8234057e03468117fe4d6bda21afa63c5157286454f94037345dd5e709991a8c00f932a8433cb5d6dd2566347792ca7ec64c025cf43d89a03c096873f469163b49ee2eab58c440b1ad49da5b74bc55612377d5b8e073d9db703e5aaf84c4c1f41bd8b3cdddbbe538a90224a10f428164fe8862799e5862dde3b03f0f21fbcd7122aae92cacb70b700ebb4849fc17912be1dfcaee5aa16833e885f03dfc0dfdc0a26b5a590bea2ae09092d84d50aec3c73ac6454a7207270dcf293b10219ffff035a9b7ccd8719ef705837d31910291ee22d972db948df19b95aab35f76120cd5f033c5220689bdb3d60bc76feaf52b84923eaf6a3985c327ee1241e7373d8c54049039af9deb1fbc8ec2aa08b4b499ffe81aecd1f9c8ec02a9ddbbc87b453b0b1b97903f0002c83226044b971cc3b1de322b4ba85a228a862d9b177e3fa58ca0f28c46703500a4481b2b97f9844d6ed76ab1ec653658c8da8ebacaa7bb4b723a862a9ed6103405bfaac09dcdf2c693ebc095d6feb6e5ace0541a4778df6e8603060db9b6872033740868f9b1827d319244d7f5b3d2dcc3620154e5ae437147c4830dcf724c31e03dc5e9d7e8acb12daaa4880d25e1bab0307601175bcae0d540a8cd362b8db842803c433d23279287909d104850ac7cf7c233c76097825ecd39bf818d997642dc52f035b7a88e009e03da6d1cda8f8e7e7c443ad4fdc53e200d5dbaa639b2e18de4ce1032da38bdc1100838dbd61dc1f7452240c996d4afeb7517b01dd4ef47662f1de8603a484632d3a68bd60161fa157435f56cebfdc45499a0b440678a1850bed73e121036252eefa86ac8f9d1f2ec2ed4f1253784343dc00a1234e1e4606ef07eeceb339035beb23d4814fd40739ed61b635bf355c214e2b7c2c14f478d6caf733e99562750219ffff03e04c1d5df102b45d2c286795adc8be4144842fed09ea364fb4700264cde95f250369360118b6659bf7e227f12dfabcaf1c844fdc08bee8d5d8acd1129e9cc37d19039b6b9b21bebb982e0cfc90904520ae1b80c16b28be52bd3cc0a193bccb015ac003d875704a858662ca5adf710e1955cd7e8ffdc7915cbe0bc4afba2789c5151b910387bead2dd983115c5f3657811c8389d28f5d758517590918457dfb6946472c830368da8f4a4073e4e9fe3f7ace2d04736dc9535180709487f26f52156945903e350219ffff03b2bfea8389ee2f62732b7658745634161e8aa94eddfc9baa22dad6c31704c926038b8e2d5c2693568889321248295b1d0f4f58d76a6da2173a026ccdbffe8083ff0346ff194e0f46c524cf5f8e840027b7fe3c4e2f61b6f8b06ce7969201d1084ad203e03f1e8c30b2a522c8d9d03e87c5beb1b92484be49c8be09f8427e7f44ef9aca0304f3fe3a44de0fd64cf38d99dd4cbbe7ce71adadc71d1bdd31d747c434b5d9f503e75328cdc0db76f93c284a9978621223d5eeef279e72b8872bf380faf51773c20326bb8fb29401cfd2b91442ce50f57c9af0c1d5d245e730a81baf3c9133c9085403a561c8d81e7630b97d9c59c5d8f8054294237906fd0a55275380d33ac10948d00330c43ca59d75b8363e1b76f6014ab76d781fe1fd51aa72f6455f83ec78470a77038d435f39930a9d486a09d94536d7114461222d9e9d2bb7f40442137112609726037fbe48c467ee7707eaddd7149821cd144ef2c0062aef1bc1ceec00f15f02964b03ed82e2bc51cb6ba251e5e592d7ab04321fe8dda50e54a329b6f1bca027be7d2b03fc10dbce566e509dcd09c89b2b06edff91ac1feba372daf7fcf0ff832a50faa403b7ce3bad2df49036f0f344ac21a9a740a808f414cb1bb1ebfe23101a625d1da50374e6bf1a1f02a254ef1a9fc4ac20f15aee2bcd2e2ec61fab300945b1fa252ada03722064792679d353f452f30ddbba2b69368cae0ce052c3c00021fdbd739fda5b035612863fea93b2fd6e628955a53b7e0c25cdbfc978a5aa38de443e1503affc63039840c68b82ce008670c1f10b8e43f8c9ac4dcff02a88315728be7c5ab753286c034d651042ce6c99937d96498176a27b81785c270a3b1a0098a1cfcbb9e6cb25cf0373e5f0f0ce6852e10e4a300136958e8037ffc5cd6c9a7ef26965aaa62fbf481b0376375728477bc50f7b8316edbd0803628a683ec562c2a1b86f921169bb270c3403e68b41648207fd861a27c6b800b6f51b56f45ccd59dc6e1a54932d1cbf40b41f03976fbe7730d35d77bac2a3054b820b588a058fba43169f7b45aede7b1c5b20ad03d45bb983044c1554827f4432a8920b3617ac9b23311fca9a0cee5835d4b61c6b03e79837277ee27d3b7d6d0eb77296ff05cd7a8287ba084b6fc8627a52d99e71210376fc05cf59608a8e76b25e124d87a834b62b41c0a03ddeb6f0f4c80c07f08217032d524d0065062550e37204f529742c0bb1669a1f678a3a393e8038047bbbfd1903937442d4c001c18603b6a579d2bf915e0f07e18a71298dff337b346fd96aee7b032ad5831960751f3a9b97dca090f8747b4656b7cc0d83bbc9b952ef6a1d344d1c05581e034c4c24710eff40df54a1795d3a6e33ae7f1accac0b03c325c54006ffc0040405581e037c317c45725e0bdcc23ce2f8d41f82325610f9df126094228b78e3a7f00c1957c4482ad7741c77328e980301dfa12157392fc2e76b22b2764770390dcc1ffc00d8f8bbedc3352a0a636987031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0310a7843fe6d762a104fe9bb050b8412fe3597c80ca9fc1865ce777f77007011bffffffffffffffff03ba0807bc578a1d17c0603d05143108bd8d66f2df44b91ec4c3feeb364d3ece7805581e033abc3585174d5245ea6df78ec95c3bdb119bb939e77a37f813b9d82d100c0245012a05f20003106d1e643c359d1ba6b0f6d32896fde775a3328e4460dff4d3d0a4940b1d27af05581e03706e8ab4d96cb7fa491d76d2644484fbbd88b09d8d3d3850575d814e5004040219ccf403e3322b85f2ea30fb5c288835ecb6fcc2f00e02fe9ca05a6e7835caca80d4470b03477d8b1e572f5f079e5a203ba22edd14f1ee90906ef525bbd7c377313059f0a40305abb9a17e3ded94048bf75a46e1b8c611f29c17b76e157a9f5984d8f44e11fb033ede188747210552e68b37ac851435a22754ef9995d4050bf0f2c740114f115b0379241449b90d2eda0591bfd333bb780b9d506eca24ea3d5221b3f56703873293038afd955fa1f57ae1fb85e105f3f2fe8be44d2fee2dc7000ba18dde9a79c27ef403d5759e57e2abb569d786940ce594b38712ee1dd944f7686dab2950e508a564eb030c41cfb76b9f40763a0a5bda63b9ffd42128ba4d0ad8fe76c14c5389e2d8e26403a947d3f93b169d33e15bf4ef1c0ccb1403e9910b8e2bd0f0566e5745db5249c303455f3564e0f8f6be0cb1e9c1fdb0614fbd9c2626af4f444791988f6e57d1d3ef03c2d1047a1f384c80704046313657a2089339679a75aba03cb986196eb334755503f05456093775c1809cb3d757de0ce81ac807d7fa6b7cb93b86035df82c11a11a03dcbd4ab0df2b3d5600b0b87fbb1696a30826aefa57f5df48f9a2a3ab20e25c830378a014fea2db8fcfefaa35a92763ba6b2ebce952f9f9de91317351d6e07104c50219ffff03ec36e9d1dae7d96382d6978d2ea4de053c29c15a2869724c76348bee664ea82903f5e52635b27dc2d648952a7f02034e1df82ff77e643a50a5e37f7c9fea06c3ce03f0920983acce621b862f9a1b22624338af9f5fbc8727da5ba42437ed3ccecf6c0316bbfd2ce93ac1eef72b2ffab150ff4d4b6d658fedd318661fcb1b3e0faa2742037e368f5916fea610482d926f96c3110b5f6d6f51f42ead932be3e09dfbc01279036eed3b75992ec7e7fb1a407fd887ac903ced07bf0daf4e57d87630cecc291ebb0219ffff031e56d724f60b827f2ba6dcaf0f75131a99a0cbe7dc34236454976803ca03b2d503684f15ea041d69dd63b1a1c4afdc97683bfe870b73045eade45eeac1eb06755b0219ffff0308cd1c1743cca246c21e635cebeeef999333e4a1864258fab4db359a70f33009031ec2643af5f4298220012aa3a3d47bb5340d8ff5b29b8f1358d94677ac7ffe2a039d3f25c3fb75994b8a7a6ae95ba85ba0013bea6828b8a8708877e81b6d74a79803958d861e976075a25a2be5a9e7f02704af98db32b4874cab2e731e4f169c73750385fde905f73802cbab38f0ca065af860778ca92954088191c2f3efd04981b68b03bdda68f5dc973bb1ce40a2bc93c38423b69ed8e1c166155c346f7acf52ce604703c8462452527b591f2990c5a88235a8ee54c047fdcd401961347fbe5f2347ac77030a3ea46540020bf404aa6e0f06ffc342c799bc901d11de92e275e0ea510b8746036e38daeb6577d962644997c9adf123636fa13c971c88d80253feb02b7240bdf9032a35e8e4d199b5fb6826380958ae17f84abc92f3aa3f0605a423a497ee9d0eab0219ffff03d3b1695416e8516db9dc70c539bec3a7ef4e948bdd8e4c8bd4a8142647c425910322b7e5d07fa43f1bc2c83899ed63d7867e5b08d4ac0065f4c45439fe56c1c3b903afaf8fa68933f7c219371e9b794639374cadfc45796ebd92602aeb17882d4a2703e8990fb473397daf4e6e26881bb6e5c9510ec4317b0c99c3bcba969d2fb3016503703bd04b3a2caba127c12dd43a750b917cf5a63d8a57bf87c8491310e90049bc03a8ef94e7470a59d7ebc2cba18796a51b7f9b9463cc9cc84fc608f551cce62555033f0eb5e73e4f5049d8619d9f0ee346f981d1ade03e696d92b46d20827496e66c0325cc5e0b8679aa6abe9da2226b2f91452ae5ce793d98dab12ca7d07248da9a8603505a543cc115bceabd3ddb7c22d11ca540fe7ed00ef7d055afaefff39a31b114035cea0c114494d45080d8684460cade1e3b1d0726ebf70902f576723d206d255d03b4e44ac86081a214dc891ce4bbe5e8965ac0096464e5f5796e440e1213ae1c150325cdce4db5d8715d44dd09c5681e22ae44bbccee9d4be8035fd97065ac999d58035abbacfc99f8fff8000889f9e0997abde75c04f327f71606c06ef5adaa64c5310395d3fa14b785be168dd04f7c0f160a7a9d70726d3c3675d5deffb58d24e6df0d03724980022b355d1551a7502c6026343d53381940e4cde126fbd39082ef17a54903f72c6fbe9eabcf1cae2a6f0e9254fe5ad5023b8322252c04ad6d705fdeb6af860398cb346fb86dc6f5b03466a13e302e08245d39492a46485de1c8769125083fbd034a5d1fee5711199d0252f2b38fcb6c3abd647229cef8dbceaed6c15d13c8e48b036031037c16879c3b95fd853a46db328829d7384373f8063680a0bd0e31bcf9c7030de2da7f5d91941eba9958cd006dba4674a96e326c3c828874d17e2a9845da1a036b81c996740058e9e11296d02f390921dbc7bbd6443e020003d93e2d8c7c9d300330c517802bc119247c3a66d7041db361b6fc7d323deb159f4d2409a598be29bd03891af162c164ed94c0c55552e7c6692f1418b441d9d7b57a43c880dd737243f003dc098cd3ee8e81344bdca6f3df068d4ac5eb9b1dc74979e82219ea6eaaeaef680348c035c5bd5655ae631848a49e02ca916f6b7dea4d858b019a7782f6e4b2059f03bc8b8a41871c702447d7f3926e4f9e2d6aa145c42ffafa6e18472444223a23c0035ec4f9782a17475e769ce20ab42ae63d5ff08052cd26761f9274916bfde3856a035ab5b845d5ed10bc11a247b830cff5c3f16b08672d86c3109fce7c6c424e71d8036fd0d4b717af69ec850b973256ebdaa9d8eb3981375454455b649b6146b3d644035d3d23f56515c6a3b02bbb873670de8cb87a4fd431105126b6927a797d1a6218034b363f5f8520065fe8d20e747d9c2b7dbf44187d463839de04c50854d4b5095e03e8b00a0fb4fbb55533e6c97fb872571afeea2bdfb814cf820602bea41cebd16b0375bf701a8d9f3ebf89564ef95f5997b9f0038e346483c9c14046b503a2e0eca6035852d187c904ff7b10ee9c2078648f9417c629be8573c0b3a06cdd7542406e6105581e0383dae6355f2e01f96b687317b800e32afa93f0364e16172a4a836dc1800c024701a9a4bdc1400005581e0377ff4586c2a1928cc60a58817f26042e2659eb2c7903cfc5951e9161800c024501aa6a2ba005581e03aafe70437175e75f6a980e4d1ea2641dcb35aa0d50e2ae68aa477015200c0146bc288c8a2fc405581e035e318bd32a5f9adde01331e9cd62545c0aef92171e2224b8c1d03b9240040105581e0361c5cc74fb4566b736b0138a6769ad7ca31fc06e56d32a79078b2c7b40041104590a2160806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b610090366004610895565b610135565b61006b6100a33660046108b0565b61017f565b3480156100b457600080fd5b506100bd6101f3565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b610101366004610895565b610231565b34801561011257600080fd5b506100bd61025e565b6101236102d4565b61013361012e6103ab565b6103b5565b565b61013d6103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101775761017481604051806020016040528060008152506000610419565b50565b61017461011b565b6101876103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101eb576101e68383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610419915050565b505050565b6101e661011b565b60006101fd6103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610226576102216103ab565b905090565b61022e61011b565b90565b6102396103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101775761017481610444565b60006102686103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610226576102216103d9565b60606102b183836040518060600160405280602781526020016109c5602791396104a5565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6102dc6103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b60006102216105cd565b3660008037600080366000845af43d6000803e8080156103d4573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b610422836105f5565b60008251118061042f5750805b156101e65761043e838361028c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61046d6103d9565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161017481610642565b606073ffffffffffffffffffffffffffffffffffffffff84163b61054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016103a2565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516105739190610957565b600060405180830381855af49150503d80600081146105ae576040519150601f19603f3d011682016040523d82523d6000602084013e6105b3565b606091505b50915091506105c382828661074e565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103fd565b6105fe816107a1565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff81166106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103a2565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b6060831561075d5750816102b1565b82511561076d5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a29190610973565b73ffffffffffffffffffffffffffffffffffffffff81163b610845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103a2565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610708565b803573ffffffffffffffffffffffffffffffffffffffff8116811461089057600080fd5b919050565b6000602082840312156108a757600080fd5b6102b18261086c565b6000806000604084860312156108c557600080fd5b6108ce8461086c565b9250602084013567ffffffffffffffff808211156108eb57600080fd5b818601915086601f8301126108ff57600080fd5b81358181111561090e57600080fd5b87602082850101111561092057600080fd5b6020830194508093505050509250925092565b60005b8381101561094e578181015183820152602001610936565b50506000910152565b60008251610969818460208701610933565b9190910192915050565b6020815260008251806020840152610992816040850160208701610933565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205f078eeb5690e33d91e7b90c18c8f4a8b449ac85285d1fee003c4e18e239c87764736f6c634300081000330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00543fffbadaf827559da092217e474760e2b2c3cedd0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054cad7828a19b363a2b44717afb1786b5196974d8e0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0544dbd4fc535ac27206064b68ffcf827b0a60bab3f005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810545613af0474eb9c528a34701a5b1662e3c8fa067800582103f1e9c6a48907b8e53957e32f046cce4131abaf245bb57ee9f742f864a3308f8054912ce59144191c1204e64559fe8253a0e49e6548005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0544e8c24617c4592895d52ac6df29d9647e9d01bb50058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688041010058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605472ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef02190cf505581e0314cf533ea77ef5e0ff142a62f729cc6d1d6d64023f88d4795fa1c739c00701190a2105581e03ff7be0c10a509341d28e814d351cbb7710d053fc5b972a11ee88bb90d00c014733823cc3569fc805581e03df5bde497e78b21ef20c922ea6366e7d06a210f5cfcb1fe7c144cba4700c044653b2a11de0f0030389310712326e492601ecf16650976993299f017071ba802f6f48ec30f75d2105581e03a50c966c7c2b09f6b2cd69d3b9325b9b3d358483a9cd6dd718a5bea990040203e371ae9adba6e386ac532e8e6a51c874aac8f74ec9967a5f8e64d903b2cc163c035164f22255aad1217fb7dffed77d16661156d29688f495adc1ab2314051b3a910605581e039731068be4bba9bdf61876626665be9f85a28879f49357c661ba1a65a007011bffffffffffffffff02197b3f03cae5b7c8be4166af903fe76bcacfc43e20caf56aff90fb1ba5256bc899b63cf703b338f1a28b5f4f649d7974576684c82e17b4c9b3015d3df6efd3c5358015a30c0219ffff038961255035508fe5bba8b04b55bfc3b4106d0be86454fb3c2fd49da30e63f49f0316622720944acd4382d1b464ce5dfa08a162b8dc56575e1fdb65f1bed21b7eff03aed567d6ec39c8fc8b6467ef615141fa19a2dfe47a8bec981359282f85000c9b03960f0f0bc84af7742647ac8c8ea0ccfe80bececf855b90716a10ab6dd253a06403722a1c16168413f901ccd4e39374f4030aa90e05c80b5f0d3928e871c25aa1250219ffff03f2433b6028ef9ece08dd0b6c5c51f438e15e68457afb225d8fd28241eb978560036c83b4c243f5efac8f49ef9a62f3f562f6213430b98140f4005409b0f096dcb1036c04b1b137e4400c819df1aa8227617393f26dad46ad2fd8074e01315daaee7203af5f068b2762992e7650eb2d943d0e4719ba854d7310800f33c797b9036f7ae003b904e9270354f27b9325269a789458daf9ac502318989fa03e1fc667c5236f4e03585601e34ada74169d8b076f3492e6ef3f59f8d010d538062610a96dbf90928003da811470f8ee2f0500013f5fc0d7785c24f1b0115729fee5c18d027fbeaf8c3703b9199afea903a23e105d62a74b0e0c4f005313b0903f712058be512e82875ca003e7de811aff124e68ab6db8d1d166162cddd985af254fd4cb1a60a4b3a1068eca03830faab92e30d5141c2843533281f77ca7b9c3e62eb797929e06a791e860a27d0318bde1cc2a445fad414868338c03923100fdcf4f1897cb48e60096e1da6a25fa03e6140cdf256f4a84876bbd3dfb243c2222c1d6d343374dd4981142edbc26117e034bc784b824b76738437c15de70862c1998985b95aeab4e581f0f0c9327d3a5330219ffff032eaeb3da3dac6756eea63edac0c2ba094acc287870be089a82fde761530c78e8030051e746eca1eb6ca7cca49c505e98752154f0e12e326ab396d8f1a8d9a7663603cf2bba71e30c8900f523bdb6c49adfb42501928b0fb6c7de7440fdc83acfc4ca03acdb2426c9580f115c4bead9680e3ffcc766653dc7d2f6b906581012f06486fe03c164d74a3bb1a9938e0d1aa8cd0f5d048cf6b4bb2e677d7ca15fd3495302d0f603ff4da1216c42f54cbc4f8083288637106b730812c8bee23c43343bee1b35c0ce0335a08483b41be050960ac6ead6f25c7f4096ec7d69d4d1b4b240c2f24ae4aa1103b1e3499468264c3b0f9d47b896472a2d4133cf82d5f2c1e48a4a6764a01fc19f034c37a3fa365e0a35bf10f928ad0163480a28e98588340c024d667d11a46858de0377ae1b3705b977aacd377522dd6a0c1d7db091596913dfb388f39d33ed71d45e0390002fdc41917791cca89e8e61d7a63b3781999852c712e6bffc76489ce1f2800366fafbc420eb2632a9acedc7d580e722cd86ea795a5f19846e05e8f9c61bd7a503f1b164f57cd110712610de2fe57d0b171051b42be5d237d35fd4e4ca3c52f46703ec80b1a68fb06ec9af995ead679535a20bf2a3f2126fbc7fbc5f2b355f53d3a30369c2b2f277bc27a0c41b31d9697cbe85a5902fbc7f385a4b43c41198779005c003213c2b0c978aaf8127c2cc20c143d5fc358e4cec53ec3b5fe3b0f6e5ed16799003b9246b3aa815a63587d58db23f4c4946a432aeee9dd89a464ab2e48cdb614f45037627690a8ee0ca53c97dc7cd243b4da33f400d5b4bd849ffb3e9abc5af8bc23f0367d3fbbe00333d9e2b7bf98abf3af4542ef252d2ec41940c3c4c9e68b31a0a96032fb00ea3638f75ad9abef3a6b8e56a6ebec8a933ff7672810fd34cae74532d56035d3425a69c95ea2053df6e2fbc041b24fc2b3aaaf28f371395048ff13bbf417803053678c488be912d0c22b932d956d72cd074e4bed9b9adc7288b0c38ce9eb13f04593d32608060405234801561001057600080fd5b50600436106100df5760003560e01c806387cf3ef41161008c578063c9c6539611610066578063c9c65396146101d3578063e380f7281461020e578063e6a4390514610216578063f46901ed14610251576100df565b806387cf3ef414610190578063b19805af14610198578063bb44dff3146101cb576100df565b8063574f2ba3116100bd578063574f2ba31461015157806372e5493d1461016b5780638252c4ed14610173576100df565b8063017e7e58146100e4578063143669ad146101155780631e3dd18b14610134575b600080fd5b6100ec610284565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101326004803603602081101561012b57600080fd5b50356102a0565b005b6100ec6004803603602081101561014a57600080fd5b503561040d565b610159610441565b60408051918252519081900360200190f35b610159610447565b6101326004803603602081101561018957600080fd5b503561044d565b6100ec61055f565b610132600480360360208110156101ae57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661057b565b610159610672565b6100ec600480360360408110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610678565b610159610acb565b6100ec6004803603604081101561022c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610ad1565b6101326004803603602081101561026757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b04565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff163314610310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604a815260200180613b03604a913960600191505060405180910390fd5b60025481101561036b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605f815260200180613c9f605f913960600191505060405180910390fd5b6004548111156103c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526069815260200180613bad6069913960800191505060405180910390fd5b6003805490829055604080518381526020810183905281517f0848a37db6722d2184f41f400b94deabf111bc1e91cabe803c3d77c55d6c2156929181900390910190a15050565b6006818154811061041a57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60065490565b60045481565b60015473ffffffffffffffffffffffffffffffffffffffff1633146104bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604a815260200180613b03604a913960600191505060405180910390fd5b600354811115610518576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526060815260200180613b4d6060913960600191505060405180910390fd5b6002805490829055604080518381526020810183905281517fb77bbff2aeb4499c58b9cc772626516a974fb6e0974f0c5b25974b28876328c4929181900390910190a15050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1633146105eb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180613c566049913960600191505060405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083161792839055604080519382168452911660208301819052815190927f83b887657b0e2cbbed6d7b9468d78fe27ce257d950e1c7e36572b3a24f82e41c92908290030190a15050565b60025481565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561071557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f43726f44656669537761703a204944454e544943414c5f414444524553534553604482015290519081900360640190fd5b6000808373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1610610752578385610755565b84845b909250905073ffffffffffffffffffffffffffffffffffffffff82166107dc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f43726f44656669537761703a205a45524f5f4144445245535300000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff82811660009081526005602090815260408083208585168452909152902054161561087d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f43726f44656669537761703a20504149525f4558495354530000000000000000604482015290519081900360640190fd5b60606040518060200161088f90610bfb565b6020820181038252601f19601f82011660405250905060008383604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140192505050604051602081830303815290604052805190602001209050808251602084016000f5604080517f485cc95500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152868116602483015291519297509087169163485cc9559160448082019260009290919082900301818387803b1580156109bc57600080fd5b505af11580156109d0573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526005602081815260408084208987168086529083528185208054978d167fffffffffffffffffffffffff000000000000000000000000000000000000000098891681179091559383528185208686528352818520805488168517905560068054600181018255958190527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f90950180549097168417909655925483519283529082015281517f0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9929181900390910190a35050505092915050565b60035481565b600560209081526000928352604080842090915290825290205473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff163314610b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180613c166040913960400191505060405180910390fd5b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083161792839055604080519382168452911660208301819052815190927f8f93286d6f131e956d1aa672d3ecdc817f24efc20b223b0de5d591f454edc34792908290030190a15050565b612efa80610c098339019056fe60806040526001600c5534801561001557600080fd5b506040514690806052612ea88239604080519182900360520182208282018252600d83526c043524f2044656669205377617609c1b6020938401528151808301835260018152603160f81b908401528151808401919091527fa48bada1449373da82f0e667f132d2b1fd6cc7d50959f25c21df1ac50ad3f2c5818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101949094523060a0808601919091528151808603909101815260c09094019052825192019190912060035550600580546001600160a01b03191633179055612da0806101086000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610def565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610e28565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610e7d565b604080519115158252519081900360200190f35b61036a610e94565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610eb0565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610eb6565b61039b610f95565b610400610fb9565b6040805160ff9092168252519081900360200190f35b61039b610fbe565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610fc4565b61039b61109d565b61039b6110a3565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166110a9565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611463565b61039b611475565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661147b565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661148d565b6040805192835260208301919091528051918290030190f35b61026161192a565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611963565b61039b611970565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611976565b61036a611b6c565b61036a611b88565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611ba4565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611e70565b610257611e8d565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612cc06027913960400191505060405180910390fd5b600080610767610e28565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612d1f6023913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43726f44656669537761703a20494e56414c49445f544f000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d612073565b89156108e1576108e1818a8c612073565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff16636c813d29338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612c706026913960400191505060405180910390fd5b600554604080517fe380f72800000000000000000000000000000000000000000000000000000000815290516127109260009273ffffffffffffffffffffffffffffffffffffffff9091169163e380f72891600480820192602092909190829003018186803b158015610c4757600080fd5b505afa158015610c5b573d6000803e3d6000fd5b505050506040513d6020811015610c7157600080fd5b505190506000610ca6610c8a868463ffffffff61228016565b610c9a898663ffffffff61228016565b9063ffffffff61230616565b90506000610ccd610cbd868563ffffffff61228016565b610c9a898763ffffffff61228016565b9050610d056002850a610cf96dffffffffffffffffffffffffffff8d8116908d1663ffffffff61228016565b9063ffffffff61228016565b610d15838363ffffffff61228016565b1015610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180612ce76038913960400191505060405180910390fd5b50505050610d7c84848888612378565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600d81526020017f43524f204465666920537761700000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610e8a338484612634565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610f805773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610f4e908363ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610f8b8484846126a3565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff16331461104a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f43726f44656669537761703a20464f5242494444454e00000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c8190558061112c610e28565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b1580156111a657600080fd5b505afa1580156111ba573d6000803e3d6000fd5b505050506040513d60208110156111d057600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b15801561124957600080fd5b505afa15801561125d573d6000803e3d6000fd5b505050506040513d602081101561127357600080fd5b505190506000611299836dffffffffffffffffffffffffffff871663ffffffff61230616565b905060006112bd836dffffffffffffffffffffffffffff871663ffffffff61230616565b905060006112cb8787612784565b60005490915080611308576112f46103e8610c9a6112ef878763ffffffff61228016565b6129b9565b985061130360006103e8612a0b565b611365565b6113626dffffffffffffffffffffffffffff891661132c868463ffffffff61228016565b8161133357fe5b046dffffffffffffffffffffffffffff8916611355868563ffffffff61228016565b8161135c57fe5b04612abb565b98505b600089116113be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612d42602a913960400191505060405180910390fd5b6113c88a8a612a0b565b6113d486868a8a612378565b811561141657600854611412906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff61228016565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461150157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611511610e28565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b15801561159357600080fd5b505afa1580156115a7573d6000803e3d6000fd5b505050506040513d60208110156115bd57600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561163157600080fd5b505afa158015611645573d6000803e3d6000fd5b505050506040513d602081101561165b57600080fd5b50513060009081526001602052604081205491925061167a8888612784565b60005490915080611691848763ffffffff61228016565b8161169857fe5b049a50806116ac848663ffffffff61228016565b816116b357fe5b04995060008b1180156116c6575060008a115b61171b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612c96602a913960400191505060405180910390fd5b6117253084612ad3565b611730878d8d612073565b61173b868d8c612073565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b1580156117a757600080fd5b505afa1580156117bb573d6000803e3d6000fd5b505050506040513d60208110156117d157600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b15801561184357600080fd5b505afa158015611857573d6000803e3d6000fd5b505050506040513d602081101561186d57600080fd5b5051935061187d85858b8b612378565b81156118bf576008546118bb906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff61228016565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600881526020017f43524f2d5357415000000000000000000000000000000000000000000000000081525081565b6000610e8a3384846126a3565b6103e881565b600c546001146119e757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611ac39285928792611abe926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b158015611a8657600080fd5b505afa158015611a9a573d6000803e3d6000fd5b505050506040513d6020811015611ab057600080fd5b50519063ffffffff61230616565b612073565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611b629284928792611abe926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b158015611a8657600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611c1357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f43726f44656669537761703a2045585049524544000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611d74573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611def57508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611e5a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f43726f44656669537761703a20494e56414c49445f5349474e41545552450000604482015290519081900360640190fd5b611e65898989612634565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611efe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905161206c9273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611f7557600080fd5b505afa158015611f89573d6000803e3d6000fd5b505050506040513d6020811015611f9f57600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b50516008546dffffffffffffffffffffffffffff808216916e010000000000000000000000000000900416612378565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b6020831061217957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161213c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146121db576040519150601f19603f3d011682016040523d82523d6000602084013e6121e0565b606091505b509150915081801561220e57508051158061220e575080806020019051602081101561220b57600080fd5b50515b61227957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f43726f44656669537761703a205452414e534645525f4641494c454400000000604482015290519081900360640190fd5b5050505050565b600081158061229b5750508082028282828161229857fe5b04145b610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff84118015906123a457506dffffffffffffffffffffffffffff8311155b61240f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43726f44656669537761703a204f564552464c4f570000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c01000000000000000000000000000000000000000000000000000000009004811682039081161580159061245f57506dffffffffffffffffffffffffffff841615155b801561247a57506dffffffffffffffffffffffffffff831615155b1561252a578063ffffffff166124bd8561249386612b98565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612bbc16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff81166124fd8461249387612b98565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260409020546126d9908263ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220939093559084168152205461271b908263ffffffff612bfd16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b1580156127ef57600080fd5b505afa158015612803573d6000803e3d6000fd5b505050506040513d602081101561281957600080fd5b5051600554604080517fbb44dff3000000000000000000000000000000000000000000000000000000008152905192935060009273ffffffffffffffffffffffffffffffffffffffff9092169163bb44dff391600480820192602092909190829003018186803b15801561288c57600080fd5b505afa1580156128a0573d6000803e3d6000fd5b505050506040513d60208110156128b657600080fd5b5051905073ffffffffffffffffffffffffffffffffffffffff8216158015906128df5750600081115b600b5490935083156129a457801561299f5760006129196112ef6dffffffffffffffffffffffffffff89811690891663ffffffff61228016565b90506000612926836129b9565b90508082111561299c576000612954612945848463ffffffff61230616565b6000549063ffffffff61228016565b905060006129788361296c868963ffffffff61228016565b9063ffffffff612bfd16565b9050600081838161298557fe5b0490508015612998576129988882612a0b565b5050505b50505b6129b0565b80156129b0576000600b555b50505092915050565b600060038211156129fc575080600160028204015b818110156129f6578091506002818285816129e557fe5b0401816129ee57fe5b0490506129ce565b50612a06565b8115612a06575060015b919050565b600054612a1e908263ffffffff612bfd16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612a56908263ffffffff612bfd16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612aca5781612acc565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054612b09908263ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612b43908263ffffffff61230616565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612bf557fe5b049392505050565b80820182811015610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe43726f44656669537761703a20494e53554646494349454e545f494e5055545f414d4f554e5443726f44656669537761703a20494e53554646494349454e545f4c49515549444954595f4255524e454443726f44656669537761703a20494e53554646494349454e545f4f55545055545f414d4f554e5443726f44656669537761703a20436f6e7374616e742070726f6475637420666f726d756c6120636f6e646974696f6e206e6f74206d65742143726f44656669537761703a20494e53554646494349454e545f4c495155494449545943726f44656669537761703a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a7231582072febb9060e99697097d30ad78467c0deb02dffa096d3e1e0b5f205a8bec5dfa64736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e74726163742943726f44656669537761703a20464f5242494444454e202d206f6e6c792063757272656e74206665655365747465722063616e2075706461746520666565546f4261736973506f696e7443726f44656669537761703a20464f5242494444454e202d205f666565546f4261736973506f696e74206e65656420746f20626520736d616c6c6572207468616e206f7220657175616c20746f20746f74616c4665654261736973506f696e7443726f44656669537761703a20464f5242494444454e202d205f746f74616c4665654261736973506f696e7420636f756c64206e6576657220676f206265796f6e64204d41585f455645525f414c4c4f5745445f544f54414c5f4645455f42415349535f504f494e5443726f44656669537761703a20464f5242494444454e202d206f6e6c792063757272656e74206665655365747465722063616e2075706461746520666565546f43726f44656669537761703a20464f5242494444454e202d206f6e6c792063757272656e74206665655365747465722063616e20757064617465206e6578742066656553657474657243726f44656669537761703a20464f5242494444454e202d205f746f74616c4665654261736973506f696e74206e65656420746f20626520626967676572207468616e206f7220657175616c20746f20666565546f4261736973506f696e74a265627a7a723158202438d13eecdd867ca485519fe3630a38dd47fcf6b74eb29ee809d4273b4e9a5264736f6c63430005100032030109b6ad3291a3586b0c828f4afa7017f5b51e00b1911a38ba6e593acc01843203fe7a57720e9dffda8b5dd15a53c05b6f8af39552cd1d5fce8f2b282ed7e66ad603c8498524035bc7539def4d991df803b1ad44b9e3cda202477a6c22caf4037e87036c3e155d085ba0adf42bd2909bb00a79944e096d61da81ae0dd46291a02ddcbd0322067ee7044481f1ce7a058d533ddb7793d2572fb5954c1866559830ef752c9e031d4693e352125125416840d2ba7b9faf1c05758453594d7505bed878c6896fc9039b74dae51a7b33eb6866e209d3cc48b1a70ac6fb0afbda90331f14c0bfa85a54039263d1a17f46ccf978f44aac352deda241650146cf29e50b3660122d49c239bf03df8fc5cd4cb395805ebfb297fba6e1684b8b33c10c730011640c41ada96ead3a035c544aa2ca08b36822700b3cbff52632161cbfec6b5763b7d7696ca3bb7dee4203a0778a27f119e2cd6b55ff470e1af327a7cd328a1d42a7ca6690d1b3f0c46bbb0308d79ab420a39e026fe38d0b3b895c1cf1c37fba445f2e55ceb98faff919189b00582002c0c4ebc7267caaa86ad1ac9999594abb7fe18b2bbdcbd42491a7d2618fa91354b71153e1629ec113ac43d4c92f63bc8f84d0cfa3039c70642f9092d5df3be8c3120a218b927e95b88b3af9a554f13f7beb6ad9cad00058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0411e005820039d69518abd0c0f11bb67f31715dbc89bef59497a9545add1ca791e7db27fd0548b59be2fc6fccc2256cc4841843a13ce29da16bd02194020033784dd7b092c29cf2db13da84bd056c0f1bbc32aeaf2fec752b32823c8f8b69603ed2c17bc0f0407fd4d3c74e0ecc4acda9826e9ac29c3606f0d933a02f56128c103a74b84c9519b3685988ad2486b84d26117d3d65ba711b91bf8a2427bdd611d64031b5b3316687bde1edda34f2453c1b39eb39fccaf3d98fcd654d20c2b0a37e0e300582002aada707ee09a831e478b54a2261444d24e45db0e77167333a1d197d06acdf354d3bf46376bc1f497020e2ed58e1e62f940a09fad0058200290af5ccfd4a5e562b4ee7d448c5ca35d2cfbd6944053e3fcfc5f594d68d909544811c9384bc8447945806a2319159054b228fda703815f976bab2ecebac4b01a624f6e0f7e36edc70c0ecda07dd7e6136272027589005820029d34a13207b524c3dac953bb9cae023b49d68bb252151f594450e14be2cef654343d73a133e8e3fee2e98576bf54c79b100e7f830219575f03186080e4309bd1b52bfdaeced97be84cbc3f9dcbb592b969fd26c40b1e3c7c6e03547e77b6493eeef479d42ec3327d73df3443b1b7bbd3af1c40b4e31e3bc2e7b10361d0bd69d33c5c30ebba7b5d1f30e702995810d36cbf0acf169fa8786f8ffea50219ffff05581d02625fbcedc497d11b7189b13842bcf9344a56062a9a10dcda95198ace071864193d3205581d0219ce003fc05c5198965a513f6017df6b2958d0edfee52fc9c927f2d30c0147022245595128000219040105581e034a4b89e7527901602b3015b0ff8fc7eda00216186dd46293cce03a2be00c01470380550856671605581e034b0f3ae9b7755d2c8a42ad86ca94cfd4fe09f1fb1974ad87a7d7dcc7a00c014704f3d5ead1200005581e035cb5a1591a9352aa9f4b7836e2e66bd08cd33bbf288729cbd1e1b9b9a004020325514f0f2432e6cc82b2539cdf822713adca5c17c554cf21151b6cba41becc2103be8c5012933e4c98113a4ba2f0a0b8eadfa27e0454bdffaad0c873583aedcfb103dcc675306a86cae9375839471558e73c0a3637a7826f29cfc1a834353fd9d76205581e033cff1c10cb201644d6ad8bcc4026d7c5ec318880fe4bd6c6e9869530100c0a4663d0e192ce1005581e0374f28de57ad8ccf7f7c2cef5cbcbfc39c8e13b38462d1bbc291b006f200c183347041f8a7eaccf480314812fa746757660372440e92e32b0925355c5401519172824a61adb31d8cc5e05581e03d6e00686610f8c32e341e7eb3ff109fb7611dc66a223d8d06ca09351900c0d4709aa993dc5938b0368fee821c5714d199a87057fb70822dce0026fb84c45bfcc0400ca654cbd1a380219dbeb0329bf2a612efd058b9595d3ff27c4e79870de198bfbc5de59f64697b1cbfbb10a038ddd87ee158fd30e2f5ab03a682bdbc12a40d6d258e5e128728107069576a02a03b476c67896067ee0b4c06b4e2623642ab89420a3868986a78db562772583a890039ee0aa84fd08180b25b4da1e2403bf48d25f381a71a6448f0a26edf16f237c3403fea71f46166a15421ed98e0b3a860fa11659922671c8fd6ca4b1d8d228028244033a864476df91a20aaaee9620dd6887fed8ee9e467d02fd79a78a6277874cebcf03752e0f0b04eb33125555284a4e54178336bc5ec0391ae5ceab65e0719b0fbf2c0387cd59976e14ae86aa51af0f8f4b907ce1c02d4df8b72daf43e9996bfac93272031d1f63b6caf94c09d9528e14d8dfcdaf07015b644ca2d0fccdb20632ab9ed8e90219ffff03855d3397d026102875e3e26a0ba5949b8595fb3a12dbe8384cc0ff0d7e7c13a503f75a8f3ebaa2d342d207ab6bf9dad063462ddd3e1f2b436ede6c9f1f3537149f03523e08fc4e00a0e869e0d4fd599f46c1513284b8611fe24d8a6cf2bebd18869403be48c8ccecdebc82efd7679f46fef78ff0829a9c3c2caa3500cefee8a19eb72803d426a7fd265acd51c5cbe373b7e7f988919fd0bfcaafb9cf1e2c1379cad351a40363ccaee2f568c509480b000a4fa491f1b69c89a6132e74dbdb8cc92e8d04c5a003aeb7ebc34762c3be83254d5dde10d31bd61b36c65319d456b1fa190e9856c41403a461889388369b89ef6ea014c849f531e134634b5f73a976a9cb0a9684bec29203a85481cd290d19258bda6bbbc53462830602013e30fb18157dc05c5bf833825c03edbc2f64849b1828e6272150396dcef294644c7b9835100da429a2a9ed0c4b2d0332618cc6cddfb7d931d675269bf89bb3e53ac960240b264cf6773f263eb4b2d303c96c48b7cbf43b713b76acd11051951b94573464f5e8bd8a1610235c7320824e0390223d7801d39c9ccdf3d6f6c673d0271ab7a289664a515863d1e9f326d501a303bbad8eb3c23b229d0de0ecaa2ec6b2e255b49af1fb35cf4e0903c9df25c55faf0219ffff03db5dc955eced89c1fd6dd445d9c00dded7cbc173ac833d269e0b5feda1734dd80367b94c1cdabff542bbccdc6ff2a9e0dca701187e4a4f2802ca1eb8c69b6ef17e03eea4774c410d45f500f664b3c94d097f49d299fa087e75ea45195dc380d5df660219ffff031ccc06c0a80e8b6cdc56447b749df54fd1609f428d8607f70d49866576491ac103ab8f4ce8a3247a00eed4b680e1863e756302e4b95388243a1a1c691c46602b16033fd9762b9de7ec4b24cced6292b3038659b97eee9605356c9d9ea989f456f39c03323742894a86b2e7e329ff25b793c796080f7feab7caf2932f9b5f88f610ab96031de4c89457869352912dd1119304ec18ed19143fca7153193db93c4841b42470038690594e1a6bbab211679774d464a662646a5064431ee13bf5c0323fb472204803707f5b5ce13067d541fba84dfc7dcdbaf834a8042fe03f604c519020e530d7cd032364aac05c075a0b34f15f0d7bc2dab39299d1bbd414335dcd0665ffafbc4c5a034d49978c0e825bcfd182d0695a3c65875570858f9e23585ad097dd4c961e30c303e6906112e5cb638383ca2f2ad455a209925b5b324a222812af13ebbceb0fc0f903450da3eb579d2c8ffef3cb931861e61a3cf710712aa500ba43106c522b2085780312792ae6e8fbedc3150335983f3ec77cad4fe612c28eb866c1ff378e81ae636503687d0646c4f519ab11fc3ef8a8de698443a9c1d5491df184ac9e26bffe1e89f9039c271807b9d3cff27af3649409ff123dfe1b859a6a239146d142640a7b6a4175037a25630bf7de131be267b2a17ec797975e3ea9b3a1da469732df29fb6712f4a203be2aa18cf4dfdc05ccb828c7ad70fb0fcbdf20cc7251641272f91d58480b80e30330f7e81562e394eed99fde562db51365c675d3ad2ba0bd11ba13370bab6f937c03f416b93ce867d4a0d0db8711bf5e433d9bc813ff422d396070d4aa57901ba96a03d3577af5ce20423c140f64a763ac155986839ec2f731758278679d37c28d84b903c524cfe153cc5af1821fd9f8b05ddb4e88f338b255876c67765105d811eef891032220357992429250a776af826c2bedd76712c53caf5c36d754c2b0af84b8dba60375a8307d27b33714cd1b4707c8572e55e8ef4feafecbb5f16fe38f501af55a0305581e03257d5b64b6b0c47befabf56514aef16900a548ec67ea2c4a8726e527a0040103c778ec54979decc34e1f6a6d4c015977c8af1d3badb1741a969beb07db968b1e030be1d433cf44caeca76b985f407425068acfdcf245fa918e5d7e1e16665f5a4e031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e031ca634f64b4125656e8bd9987288b8a2a8f920d5ea6ce2b603c0631ea007011bffffffffffffffff04594859608060405234801561001057600080fd5b50600436106102e85760003560e01c806391d1485411610191578063c6b861b9116100e3578063e69e47df11610097578063fb483fb111610071578063fb483fb1146106e0578063fb961583146106f3578063fdc482e81461071a57600080fd5b8063e69e47df146106b2578063f0402cbf146106c5578063f3a009a0146106d857600080fd5b8063cec5afe7116100c8578063cec5afe714610679578063d547741f1461068c578063e41beeda1461069f57600080fd5b8063c6b861b914610653578063ca15c8731461066657600080fd5b8063aa5180e811610145578063b5d1990d1161011f578063b5d1990d1461061b578063bf3b91ab14610623578063bfc69e1c1461062c57600080fd5b8063aa5180e8146105c9578063ac43459d146105d6578063b553cad7146105e957600080fd5b80639fd0506d116101765780639fd0506d14610598578063a217fddf146105b8578063a78dce76146105c057600080fd5b806391d148541461054a5780639f407aaa1461059057600080fd5b8063491e0bd11161024a57806367d5f337116101fe578063805d64a0116101d8578063805d64a0146104fd5780638543d1a71461051d5780639010d07c1461053757600080fd5b806367d5f337146104b55780636e710e05146104c8578063771eb104146104ea57600080fd5b80634cf088d91161022f5780634cf088d91461045b57806357ab17031461047b57806359d3005d1461048e57600080fd5b8063491e0bd11461044a5780634c62d42e1461045357600080fd5b806328e8f400116102a1578063303929171161028657806330392917146103f357806336568abe146104065780634253e0c01461041957600080fd5b806328e8f400146103cb5780632f2ff15d146103e057600080fd5b806315afe1f6116102d257806315afe1f61461032e578063245a7bfc14610363578063248a9ca3146103a857600080fd5b8062a4dcac146102ed57806301ffc9a71461030b575b600080fd5b6102f561072d565b604051610302919061373b565b60405180910390f35b61031e6103193660046137ff565b61085c565b6040519015158152602001610302565b6103557fb8921042efede08ea4fb87c7cd34c42ab1e134df6d8ef481f71c91910346d83581565b604051908152602001610302565b60d2546103839073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610302565b6103556103b6366004613841565b60009081526065602052604090206001015490565b6103de6103d9366004613873565b6108b8565b005b6103de6103ee3660046138c3565b610dbd565b6103de6104013660046138f3565b610de2565b6103de6104143660046138c3565b610f29565b60d554610436906a0100000000000000000000900462ffffff1681565b60405162ffffff9091168152602001610302565b61035560d45481565b6103de610fdc565b60d1546103839073ffffffffffffffffffffffffffffffffffffffff1681565b6103de610489366004613841565b6110b9565b60d55461049f9064ffffffffff1681565b60405164ffffffffff9091168152602001610302565b6103de6104c3366004613957565b61117c565b6104db6104d6366004613b74565b611515565b60405161030293929190613c10565b6103de6104f8366004613c35565b611a57565b60cf546103839073ffffffffffffffffffffffffffffffffffffffff1681565b60d55461049f9065010000000000900464ffffffffff1681565b610383610545366004613c59565b611b4e565b61031e6105583660046138c3565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6103de611b6d565b60d0546103839073ffffffffffffffffffffffffffffffffffffffff1681565b610355600081565b61035560d35481565b60ca5461031e9060ff1681565b6103de6105e4366004613c7b565b611cc6565b60d554610608906d0100000000000000000000000000900461ffff1681565b60405161ffff9091168152602001610302565b60c954610355565b61035560ce5481565b6103557fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c1881565b6103de610661366004613ca2565b611df5565b610355610674366004613841565b61213b565b6103de610687366004613cbf565b612152565b6103de61069a3660046138c3565b6122a3565b6103de6106ad366004613841565b6122c8565b6103de6106c0366004613873565b6123c4565b6103de6106d3366004613841565b61277b565b6102f5612832565b6102f56106ee366004613841565b61295d565b6103557ffdd95c635b6fde1e24676722ae45d4e9072f4947c3c68d69c7de01654c84050981565b6103de610728366004613c7b565b612a7c565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915260ca5460ff166107aa576040517fe8907a5500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080516101008101825260cb5467ffffffffffffffff808216835268010000000000000000820481166020840152700100000000000000000000000000000000808304821694840194909452780100000000000000000000000000000000000000000000000090910416606082015260cc546fffffffffffffffffffffffffffffffff808216608084015290839004811660a083015260cd5480821660c08401529290920490911660e082015290565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f0000000000000000000000000000000000000000000000000000000014806108b257506108b282612bb6565b92915050565b600060c983815481106108cd576108cd613cdc565b600091825260209182902060039091020191506108ec90830183613d0b565b67ffffffffffffffff166109066040840160208501613d0b565b67ffffffffffffffff161161097d576109256040830160208401613d0b565b6109326020840184613d0b565b6040517f999e007a00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff9283166004820152911660248201526044015b60405180910390fd5b80546109a09068010000000000000000900467ffffffffffffffff166001613d57565b67ffffffffffffffff166109b76020840184613d0b565b67ffffffffffffffff1614610a3c5780546109e99068010000000000000000900467ffffffffffffffff166001613d57565b6109f66020840184613d0b565b6040517f56ae644300000000000000000000000000000000000000000000000000000000815267ffffffffffffffff928316600482015291166024820152604401610974565b60d160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166360a0f6286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acd9190613d78565b610ade610100840160e08501613d91565b6fffffffffffffffffffffffffffffffff161115610be457610b07610100830160e08401613d91565b60d160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166360a0f6286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b989190613d78565b6040517f8cf753bf0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90921660048301526024820152604401610974565b60d160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb635c656040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c759190613d78565b610c856080840160608501613d0b565b67ffffffffffffffff16610c9f6060850160408601613d0b565b67ffffffffffffffff16610cb39190613dae565b1115610db857610cc96080830160608401613d0b565b610cd96060840160408501613d0b565b610ce39190613d57565b60d160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bb635c656040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d749190613d78565b6040517fbb5daf3a00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff90921660048301526024820152604401610974565b505050565b600082815260656020526040902060010154610dd881612c4d565b610db88383612c57565b7fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c18610e0c81612c4d565b62ffffff8216620f424080821115610e50576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d580547fffffffffffffffffffffffffffffffffffffff000000ffffffffffffffffffff166a010000000000000000000062ffffff8716908102919091179091556040805160208101929092527f3039291700000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610f1b91613dc1565b60405180910390a250505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610fce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610974565b610fd88282612c79565b5050565b7fb8921042efede08ea4fb87c7cd34c42ab1e134df6d8ef481f71c91910346d83561100681612c4d565b60ca5460ff16611042576040517fe8907a5500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4b640a37d59363bc1349d416626728534e5c58049e5f64f50f1090cabf152ab160cb6040516110729190613e2e565b60405180910390a16110b6600060cb81905560cc81905560cd5560ca80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b50565b7fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c186110e381612c4d565b60d382905560408051602081018490527f57ab170300000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261117091613ea7565b60405180910390a25050565b600054610100900460ff161580801561119c5750600054600160ff909116105b806111b65750303b1580156111b6575060005460ff166001145b611242576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610974565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156112a057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6112a8612c9b565b81516112b690600090612c57565b6112e47fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c188360200151612c57565b6113127fb8921042efede08ea4fb87c7cd34c42ab1e134df6d8ef481f71c91910346d8358360600151612c57565b608082015160d280547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff9384161790915560408085015160cf8054841691851691909117905560a085015160d08054841691851691909117905560c085015160d18054909316931692831790915560ce81905560d580546801bc16d674ec80000060d381905560d4557fffffffffffffffffffffffffffffffffff000000000000000000000000000000166d640003e8000002e72a000000076f1790558051610100810182526000815281517fb91590b200000000000000000000000000000000000000000000000000000000815291516114af9391926020808501939263b91590b29260048181019392918290030181865afa15801561144f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114739190613d78565b67ffffffffffffffff16815260006020820181905260408201819052606082018190526080820181905260a0820181905260c090910152612d34565b8015610fd857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6060600080806115286020860186613d0b565b6115386040870160208801613d0b565b6115429190613f14565b61154d906001613d57565b60d5549091506d0100000000000000000000000000900461ffff1667ffffffffffffffff821610156115c1578060d5600d9054906101000a900461ffff1660405180606001604052806021815260200161470560219139955067ffffffffffffffff909116935061ffff169150611a509050565b856060015167ffffffffffffffff168560600160208101906115e39190613d0b565b67ffffffffffffffff16101561163b576116036080860160608701613d0b565b866060015160405180606001604052806036815260200161472660369139955067ffffffffffffffff9182169450169150611a509050565b6000866060015187604001516116519190613d57565b67ffffffffffffffff169050600061166f6080880160608901613d0b565b61167f6060890160408a01613d0b565b6116899190613d57565b67ffffffffffffffff169050818110156116c8578082604051806060016040528060248152602001614800602491399190955095509550505050611a50565b50508560e001516fffffffffffffffffffffffffffffffff168560e00160208101906116f49190613d91565b6fffffffffffffffffffffffffffffffff16101561175d5761171d610100860160e08701613d91565b8660e001516040518060600160405280602281526020016147b26022913995506fffffffffffffffffffffffffffffffff9182169450169150611a509050565b60008660e001518660e00160208101906117779190613d91565b6117819190613f35565b6fffffffffffffffffffffffffffffffff1690506000876060015188604001518860600160208101906117b49190613d0b565b6117c460608b0160408c01613d0b565b6117ce9190613d57565b6117d89190613f14565b6117e29190613f14565b67ffffffffffffffff16905060d354816117fc9190613f5e565b82101561183b578160d354826118129190613f5e565b6040518060600160405280602c81526020016147d4602c91399190955095509550505050611a50565b60d4546118489082613f5e565b821115611887578160d4548261185e9190613f5e565b6040518060600160405280602c81526020016146d9602c91399190955095509550505050611a50565b505060008660e001518660e00160208101906118a39190613d91565b6118ad9190613f35565b8760c001516118bc9190613f75565b6fffffffffffffffffffffffffffffffff16905060006118e260c0880160a08901613d91565b6118f260a0890160808a01613d91565b61190260e08a0160c08b01613d91565b61190c9190613f75565b6119169190613f75565b60d5546fffffffffffffffffffffffffffffffff91909116915060009061195f9061194990869064ffffffffff16613f9e565b67ffffffffffffffff168464e8d4a51000612f7a565b60d554611983906a0100000000000000000000900462ffffff1685620f4240612f7a565b61198d9085613fca565b6119979190613dae565b9050808210156119cd57818160405180606001604052806031815260200161478160319139919096509650965050505050611a50565b5060d5546000906119f39061194990869065010000000000900464ffffffffff16613f9e565b6119fd9084613dae565b905080821115611a3357818160405180606001604052806025815260200161475c60259139919096509650965050505050611a50565b505060408051602081019091526000808252909550935083925050505b9250925092565b7fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c18611a8181612c4d565b60d580547fffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffffffff166d010000000000000000000000000061ffff8516908102919091179091556040805160208101929092527f771eb10400000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261117091613fdd565b6000828152609760205260408120611b6690836130a3565b9392505050565b7fb8921042efede08ea4fb87c7cd34c42ab1e134df6d8ef481f71c91910346d835611b9781612c4d565b60ca5460ff16611bd3576040517fe8907a5500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516101008101825260cb5467ffffffffffffffff808216835268010000000000000000820481166020840152700100000000000000000000000000000000808304821694840194909452780100000000000000000000000000000000000000000000000090910416606082015260cc546fffffffffffffffffffffffffffffffff808216608084015290839004811660a083015260cd5480821660c08401529290920490911660e0820152611c8a90612d34565b6110b6600060cb81905560cc81905560cd5560ca80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b7fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c18611cf081612c4d565b64ffffffffff821664e8d4a5100080821115611d38576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d580547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000001664ffffffffff86169081179091556040805160208101929092527fac43459d00000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610f1b91614024565b60d060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b4a550376040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e869190614091565b15611ebd576040517f9e87fac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cf5473ffffffffffffffffffffffffffffffffffffffff163314611f305760cf546040517f612c001a00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff9091166024820152604401610974565b60ca5460ff1615611f6d576040517f452d764900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c954611f8690611f8090600190613fca565b826108b8565b60ce54600090611f9c6040840160208501613d0b565b67ffffffffffffffff16611fb09190613dae565b905080431015611fef576040517f1fc3452800000000000000000000000000000000000000000000000000000000815260048101829052602401610974565b6000806000612005611fff612832565b86611515565b92509250925060008351111561211d578460cb61202282826140cd565b505060ca80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055825160208401206040517fc51d8bb32a3937963ee762598769c0e402bdbed204707576884f84040cf542cf9061208c9086908990879087906143bf565b60405180910390a260d060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663595c6a676040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156120fe57600080fd5b505af1158015612112573d6000803e3d6000fd5b505050505050505050565b61213461212f368790038701876143f7565b612d34565b5050505050565b60008181526097602052604081206108b2906130af565b7fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c1861217c81612c4d565b8173ffffffffffffffffffffffffffffffffffffffff81166121ca576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cf80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85169081179091556040805160208101929092527fcec5afe700000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261229691614414565b60405180910390a2505050565b6000828152606560205260409020600101546122be81612c4d565b610db88383612c79565b7fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c186122f281612c4d565b811580612300575061080082115b15612337576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ce82905560408051602081018490527fe41beeda00000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526111709161445b565b7ffdd95c635b6fde1e24676722ae45d4e9072f4947c3c68d69c7de01654c8405096123ee81612c4d565b82600003612428576040517fcab1c3df00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60c9548310612466576040517fa2720e8300000000000000000000000000000000000000000000000000000000815260048101849052602401610974565b600060c9848154811061247b5761247b613cdc565b6000918252602091829020600390910201915061249a90840184613d0b565b815467ffffffffffffffff90811691161415806124e157506124c26040840160208501613d0b565b815468010000000000000000900467ffffffffffffffff908116911614155b15612518576040517f30af5f6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61252c612526600186613fca565b846108b8565b6001810154600090819070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1661256c60c0870160a08801613d91565b6fffffffffffffffffffffffffffffffff1611156125de57600183015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff166125bf60c0870160a08801613d91565b6125c99190613f35565b6fffffffffffffffffffffffffffffffff1691505b60018301546fffffffffffffffffffffffffffffffff1661260560a0870160808801613d91565b6fffffffffffffffffffffffffffffffff1611156126635760018301546fffffffffffffffffffffffffffffffff1661264460a0870160808801613d91565b61264e9190613f35565b6fffffffffffffffffffffffffffffffff1690505b8460c9878154811061267757612677613cdc565b9060005260206000209060030201818161269191906140cd565b905050857fbf4fd4e67b3409061e5be46d3e4b2b7c8edfad56ccfc8131e0cc7ffd79e104a5866040516126c491906144c8565b60405180910390a260008211806126db5750600081115b156127735760d2546040517f8846405d00000000000000000000000000000000000000000000000000000000815260048101849052602481018390526000604482015273ffffffffffffffffffffffffffffffffffffffff90911690638846405d90606401600060405180830381600087803b15801561275a57600080fd5b505af115801561276e573d6000803e3d6000fd5b505050505b505050505050565b7fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c186127a581612c4d565b60d482905560408051602081018490527ff0402cbf00000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611170916144d7565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915260c9805461288390600190613fca565b8154811061289357612893613cdc565b600091825260209182902060408051610100810182526003909302909101805467ffffffffffffffff808216855268010000000000000000820481169585019590955270010000000000000000000000000000000080820486169385019390935278010000000000000000000000000000000000000000000000009004909316606083015260018301546fffffffffffffffffffffffffffffffff808216608085015290829004811660a084015260029093015480841660c08401520490911660e0820152919050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915260c982815481106129b1576129b1613cdc565b600091825260209182902060408051610100810182526003909302909101805467ffffffffffffffff808216855268010000000000000000820481169585019590955270010000000000000000000000000000000080820486169385019390935278010000000000000000000000000000000000000000000000009004909316606083015260018301546fffffffffffffffffffffffffffffffff808216608085015290829004811660a084015260029093015480841660c08401520490911660e082015292915050565b7fced6982f480260bdd8ad5cb18ff2854f0306d78d904ad6cc107e8f3a0f526c18612aa681612c4d565b64ffffffffff821664e8d4a5100080821115612aee576040517fc52a9bd300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60d580547fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000064ffffffffff8716908102919091179091556040805160208101929092527ffdc482e800000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610f1b91614544565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806108b257507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146108b2565b6110b681336130b9565b612c618282613173565b6000828152609760205260409020610db89082613267565b612c838282613289565b6000828152609760205260409020610db89082613344565b600054610100900460ff16612d32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610974565b565b60c9546040517f3c2dada747e62514e16b7263ff08ee5566260a1a36eb50e2752f577f8f29974f90612d6790849061373b565b60405180910390a260c980546001808201835560009290925282517f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d28600390920291820180546020860151604080880151606089015167ffffffffffffffff9687167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909516949094176801000000000000000093871693909302929092176fffffffffffffffffffffffffffffffff908116700100000000000000000000000000000000938716840277ffffffffffffffffffffffffffffffffffffffffffffffff16177801000000000000000000000000000000000000000000000000969094169590950292909217909255608086015160a087015190841690841680840282177f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d2987015560c088015160e08901519086169516909302939093177f66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d2a9094019390935560d25492517f8846405d00000000000000000000000000000000000000000000000000000000815260048101919091526024810191909152604481019290925273ffffffffffffffffffffffffffffffffffffffff1690638846405d90606401600060405180830381600087803b158015612f6657600080fd5b505af1158015612134573d6000803e3d6000fd5b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870985870292508281108382030391505080600003612fd257838281612fc857612fc86145b1565b0492505050611b66565b80841161303b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d6174683a206d756c446976206f766572666c6f7700000000000000000000006044820152606401610974565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6000611b668383613366565b60006108b2825490565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610fd8576130f981613390565b6131048360206133af565b6040516020016131159291906145e0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261097491600401614661565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610fd857600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556132093390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000611b668373ffffffffffffffffffffffffffffffffffffffff84166135f2565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610fd857600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611b668373ffffffffffffffffffffffffffffffffffffffff8416613641565b600082600001828154811061337d5761337d613cdc565b9060005260206000200154905092915050565b60606108b273ffffffffffffffffffffffffffffffffffffffff831660145b606060006133be836002613f5e565b6133c9906002613dae565b67ffffffffffffffff8111156133e1576133e1613918565b6040519080825280601f01601f19166020018201604052801561340b576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061344257613442613cdc565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106134a5576134a5613cdc565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006134e1846002613f5e565b6134ec906001613dae565b90505b6001811115613589577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061352d5761352d613cdc565b1a60f81b82828151811061354357613543613cdc565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361358281614674565b90506134ef565b508315611b66576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610974565b6000818152600183016020526040812054613639575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556108b2565b5060006108b2565b6000818152600183016020526040812054801561372a576000613665600183613fca565b855490915060009061367990600190613fca565b90508181146136de57600086600001828154811061369957613699613cdc565b90600052602060002001549050808760000184815481106136bc576136bc613cdc565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806136ef576136ef6146a9565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506108b2565b60009150506108b2565b5092915050565b60006101008201905067ffffffffffffffff808451168352806020850151166020840152806040850151166040840152806060850151166060840152506fffffffffffffffffffffffffffffffff608084015116608083015260a08301516137b760a08401826fffffffffffffffffffffffffffffffff169052565b5060c08301516137db60c08401826fffffffffffffffffffffffffffffffff169052565b5060e083015161373460e08401826fffffffffffffffffffffffffffffffff169052565b60006020828403121561381157600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611b6657600080fd5b60006020828403121561385357600080fd5b5035919050565b6000610100828403121561386d57600080fd5b50919050565b600080610120838503121561388757600080fd5b82359150613898846020850161385a565b90509250929050565b73ffffffffffffffffffffffffffffffffffffffff811681146110b657600080fd5b600080604083850312156138d657600080fd5b8235915060208301356138e8816138a1565b809150509250929050565b60006020828403121561390557600080fd5b813562ffffff81168114611b6657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8035613952816138a1565b919050565b600060e0828403121561396957600080fd5b60405160e0810181811067ffffffffffffffff821117156139b3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405282356139c1816138a1565b815260208301356139d1816138a1565b602082015260408301356139e4816138a1565b604082015260608301356139f7816138a1565b6060820152613a0860808401613947565b6080820152613a1960a08401613947565b60a0820152613a2a60c08401613947565b60c08201529392505050565b67ffffffffffffffff811681146110b657600080fd5b803561395281613a36565b6fffffffffffffffffffffffffffffffff811681146110b657600080fd5b803561395281613a57565b6000610100808385031215613a9457600080fd5b6040519081019067ffffffffffffffff82118183101715613ade577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8160405280925083359150613af282613a36565b818152613b0160208501613a4c565b6020820152613b1260408501613a4c565b6040820152613b2360608501613a4c565b6060820152613b3460808501613a75565b6080820152613b4560a08501613a75565b60a0820152613b5660c08501613a75565b60c0820152613b6760e08501613a75565b60e0820152505092915050565b6000806102008385031215613b8857600080fd5b613b928484613a80565b915061389884610100850161385a565b60005b83811015613bbd578181015183820152602001613ba5565b50506000910152565b60008151808452613bde816020860160208601613ba2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b606081526000613c236060830186613bc6565b60208301949094525060400152919050565b600060208284031215613c4757600080fd5b813561ffff81168114611b6657600080fd5b60008060408385031215613c6c57600080fd5b50508035926020909101359150565b600060208284031215613c8d57600080fd5b813564ffffffffff81168114611b6657600080fd5b60006101008284031215613cb557600080fd5b611b66838361385a565b600060208284031215613cd157600080fd5b8135611b66816138a1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215613d1d57600080fd5b8135611b6681613a36565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff81811683821601908082111561373457613734613d28565b600060208284031215613d8a57600080fd5b5051919050565b600060208284031215613da357600080fd5b8135611b6681613a57565b808201808211156108b2576108b2613d28565b60408152602360408201527f7365744d6178436f6e73656e7375734c617965724c6f737350504d2875696e7460608201527f3234290000000000000000000000000000000000000000000000000000000000608082015260a060208201526000611b6660a0830184613bc6565b815467ffffffffffffffff8082168352604082811c82166020850152608083811c9092169084015260c091821c606084015260018401546fffffffffffffffffffffffffffffffff8082168386015290821c60a085015260028501549081169284019290925281901c60e0830152610100820190613734565b60408152602260408201527f7365744d696e4465706f73697450657256616c696461746f722875696e74323560608201527f3629000000000000000000000000000000000000000000000000000000000000608082015260a060208201526000611b6660a0830184613bc6565b67ffffffffffffffff82811682821603908082111561373457613734613d28565b6fffffffffffffffffffffffffffffffff82811682821603908082111561373457613734613d28565b80820281158282048414176108b2576108b2613d28565b6fffffffffffffffffffffffffffffffff81811683821601908082111561373457613734613d28565b67ffffffffffffffff818116838216028082169190828114613fc257613fc2613d28565b505092915050565b818103818111156108b2576108b2613d28565b60408152601e60408201527f7365744d696e5265706f727453697a65426c6f636b732875696e7431362900006060820152608060208201526000611b666080830184613bc6565b60408152602b60408201527f7365744d696e436f6e73656e7375734c617965724761696e506572426c6f636b60608201527f5050542875696e74343029000000000000000000000000000000000000000000608082015260a060208201526000611b6660a0830184613bc6565b6000602082840312156140a357600080fd5b81518015158114611b6657600080fd5b600081356108b281613a36565b600081356108b281613a57565b81356140d881613a36565b67ffffffffffffffff811690508154817fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008216178355602084013561411c81613a36565b6fffffffffffffffff00000000000000008160401b16837fffffffffffffffffffffffffffffffff000000000000000000000000000000008416171784555050506141b561416c604084016140b3565b82547fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff1660809190911b77ffffffffffffffff0000000000000000000000000000000016178255565b61420d6141c4606084016140b3565b825477ffffffffffffffffffffffffffffffffffffffffffffffff1660c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016178255565b6001810161425e614220608085016140c0565b82547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178255565b6142ae61426d60a085016140c0565b82546fffffffffffffffffffffffffffffffff1660809190911b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000016178255565b50600281016142c261422060c085016140c0565b610db861426d60e085016140c0565b80356142dc81613a36565b67ffffffffffffffff90811683526020820135906142f982613a36565b908116602084015260408201359061431082613a36565b908116604084015260608201359061432782613a36565b16606083015261433960808201613a75565b6fffffffffffffffffffffffffffffffff16608083015261435c60a08201613a75565b6fffffffffffffffffffffffffffffffff1660a083015261437f60c08201613a75565b6fffffffffffffffffffffffffffffffff1660c08301526143a260e08201613a75565b6fffffffffffffffffffffffffffffffff811660e0840152505050565b60006101608083526143d381840188613bc6565b9150506143e360208301866142d1565b610120820193909352610140015292915050565b6000610100828403121561440a57600080fd5b611b668383613a80565b60408152601960408201527f7365744f7261636c6555706461746572286164647265737329000000000000006060820152608060208201526000611b666080830184613bc6565b60408152602860408201527f73657446696e616c697a6174696f6e426c6f636b4e756d62657244656c74612860608201527f75696e7432353629000000000000000000000000000000000000000000000000608082015260a060208201526000611b6660a0830184613bc6565b61010081016108b282846142d1565b60408152602260408201527f7365744d61784465706f73697450657256616c696461746f722875696e74323560608201527f3629000000000000000000000000000000000000000000000000000000000000608082015260a060208201526000611b6660a0830184613bc6565b60408152602b60408201527f7365744d6178436f6e73656e7375734c617965724761696e506572426c6f636b60608201527f5050542875696e74343029000000000000000000000000000000000000000000608082015260a060208201526000611b6660a0830184613bc6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614618816017850160208801613ba2565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614655816028840160208801613ba2565b01602801949350505050565b602081526000611b666020830184613bc6565b60008161468357614683613d28565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe4e6577206465706f736974732061626f7665206d6178206465706f736974207065722076616c696461746f725265706f727420626c6f636b732062656c6f77206d696e696d756d20626f756e6443756d756c6174697665206e756d626572206f6620776974686472617761626c652076616c696461746f727320646563726561736564436f6e73656e737573206c61796572206368616e67652061626f7665206d6178206761696e436f6e73656e737573206c61796572206368616e67652062656c6f77206d696e206761696e206f72206d6178206c6f737350726f636573736564206465706f73697420616d6f756e74206465637265617365644e6577206465706f736974732062656c6f77206d696e206465706f736974207065722076616c696461746f72546f74616c206e756d626572206f662076616c696461746f727320646563726561736564a264697066735822122002845a4478c76356a45bf685ea34fff773bdbda80424704dbf5973168737016264736f6c6343000814003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d03e70bbc977f18b536fa7a4a72fed78aaee93ebaf3cdc046f9d1dc1df0070119485905581d03b3cdf736366d9c0a35bc4842f701ca1ee3c3fdbf2aa949fbf682a5700c01468f5bf8dc8f0002186001410705581e03a91ff704b71f87e6b5ac70dacc1c638c8d55ffb8a642efa02cc7f133600c01470d1c2bffeafc0005581e03204eea41c99c83fed6834b329852f7309da86eef804e80f42b40d63710040103ec4c3ad25c52eb88251b43dd5b01fa534588b7f138775bb960a157fb10fb62ad0333e7c299166c8c5131a5281c62ae626b5884de54861f504720b954cdeac6c7ff03dd286998a61965c9c7230d015a0bc2043a3f8ab983e9fc2df8000dae29fa4fca0219d6af03a0d7963d8e1cc0be1b259f627b5d7996ff087e659cf81932b1248cc63624364303545f574bcf15c28d1b2cc741d426904f39f8d2f113ddb97f4e61000c2188febe03c9ce8d3a89967447364be18933f72c527b0f8f58a3f5d0f192d4fc20bccdc80b03e32e8de16488d62e4bbc62d7d67e24163fb3e879d4c37b3c4c0387ed8af5667003e634a28c87e4a863b857b315aa8ff9383f72def8ade09b3133e14ee417afd3d40219ffff03e7f347be4c166e91033d503e95e1b07c5025be97afef6c48f28691aaa396d71103db755d40996569233682a5bd64f34898d2d13089e8c563435748bf5adccd792b032145e2b26309f2667ddc14ada3ac5e4eeee6ce72ed32151c485e06c08799674c03ab869a7d0d3efc9f22b5f83f926ded43fc42f89042d633e2a5137b65315aa8300383f798e112d25605c6c230e173ea8a242c83c8d65ea14246066d895089a35343032154d68629d668f7c36a8f77d2149f1986a16a463ac64508667cc18f229c5a9c036090ce4582bb4f31a9a6a442acd0e5a5eb3eda0aaf24cad574765dedbeb08dfe03cb50b1b34e369c77d2f3ced26bfa5694ff59fda90bec9f27b4c653f6eb090b5a032db14bf37041a0707fd363716dde5167a7adec8839307200586181e64e79aa0f0392d10a41e3e538ae7e5863da431b283946acd450d3d8945480b01f05a132ba3f0219ffff0354d9d440bf349be92248105fc45672386a9fc781168cac2fa792899f32a36e6803de81161ed7997f6001acd8b701d60d930a682480192de4de09e9def14d7f2cc90393de5015b4f90aee024d16442bbd8ae8fb368d1de642f31903f2b61157a14ec603694cea28b4fabe571c78f00cbffe03f332fabf8a6b42f130314449edeec0b02f032ddcf8b2b050c56740529f5ef785cfe7260fbb0e36acc58aaccd52849026c3d603be08f6b09f3b4c628b4812c36e63df2aee8cce783d59832ff90e2ca145b8110f03902794ba777bcf4a21efdc5b7e5ce23001363efa2feed3cfdd57fd4b14d907f00334147f2c73c65fbefb4cf08cbf90083cc380ed1c9a800b9f4eebcbdc1033937b0333a8969b5d9abf3c0eda97bc0892356b50abeed349f25d1bd67f898597a08473037ecf174726f342397674efc06411f2222411d5dee049f82c9eb7d0a1887c84030219ffff0219ffff0219ffff0387d4041509e8348a0240424ef7acc30438dcccbf633dcd47e2ae4c6ceb1bf0860371300f59acdbe84b8745920180d3bde7a1890414f6dfca1ec5567f1446d9b4a703e3cb306a566d8ab99bbce46f537dcc5d97f00e29f341b07a6f14ddf360a97f17037cb9c51cc47396f753774a40a01ffc2f2c73bb35fb99854f9901022aa3a2f267034ea5d581eb79872819af1669c6017857e2459e944962777cf3dc1e4039b1f46e03184bb297b65b2a8bb2e946a757e61061af845bf41b4880b82d5ea4d65061d27403a591afe478dbf13f83ba0b58382edb3628fb0e111686e0e3dd48413b0e34810703a3838164e503feb9c1b9856cb7fa08db473d5fc0ca3f47b97d6816d315bd6bf603b7ecd4823a1b5790ef85ae5452dcadc949c099100a6fcc6fa19b56ae88e897fb0397d53df7a0014fc31b29c67bf52fffdc62248367eea9df8f7a5e3113c0df11ef033aa95454a2ce6603f697b2e4ceece90985b0033c4145f2ebc4ab52e173d36616031c4ffbdb6e2195a3b82d43edfe39679186f68d092933e576447c14f2e4c5a40403be388e56cfb82bdb3703ad8576d127fb80f22ee61464980a91244de5142ba6c003d603131ddb1114f1a2268b801fc41e7a53d4c4fbb064d7c31b22d5ce7a9b2b75036fc51b83709a157bfdef08b09177028a58f1dd6c7d2c53acde8c7f5a8e5e681003f508f0ff0c04ad86af1054c428541a4e49d31c02bfc5935ab98933599b304c5603d3fd4d604612eb6f4dcb562a12e755f18bcbc1d271208f5548ca0d0dbb5a099203329116e0e0b8e5a0a1e7116029dfe873fc26a56e7c6d6e5fba1fb56fd2e564af03ada1567ea946bcd27469abd1571f53e73816acc0aa2625576e87e6ac4e957d800318bf1fc8db3df1ff72bb45413f4cd64a6cabe4a8a238da1df65a4f2ba651829b0353ef7144cc66126d5ac4d1c4cf8cb0bbed334b6f80db3dd0993cfc53400e999203ffb01b594703fc47401389a82764d7a1cfcc38b136032969211d51027ed7d7d3035b6e7088985f7bbe5324e0f51189685c1103d92bd01844a856a687769ee9ea48036cd89b60c5ad06d5b7e70ea7f09cbe13baceef1e9828fb91d8452d61d5b59a240369786a47d96e7d1628797f6dcbf1f575d33dd67eebed412a0413279b811d412903a41715293200324db469c801e23974a174c06d0e15759c29f0e88fca15fecf4403d33e552ce0c7f8780e65dbef396b056b63f4b5825c9f8dc4c9d636e2c4ecf39503e12ce0386317075ae210068c9430d9f91a6231648b75588d70b57185eaa41cf503037eaf986c7992a149f463b5744b6829a17c22a55eedfbf0505b5a94e9cf58e103aca7c9bc35f67a2cc8f08549729763a70ee54c470306cd5e969d69898fc41fb803e56fa38c8c69eeb0473c6228820e370db5d9603275972a48e06bf77dc3db8e6503334f5252fd8d0e383cbaf8cee9df38a52d499d43f8a37a46bab9192d0646e62b03fbaac650245188d6dd1559d7623f51349efe7d8ccdb453eb526b043f2e56dbbf03dc8c8d4b84e8a01e1195fd40ef8644ed01553096feda49a320146afa29d6213303db6206e626db217bf1b9dccdeb3e6a6115f6915933250a7c80ac894a8e27ebef03999ab4602c8abe89d8d97b43bbef506e7d006fed7918027850baaed62bd3ea440385658f71e87b513d25f1864e24e84b2f6d49d7963012a11f564192de4347aeb40323248b59135caae38704df6541c59c8868d6603743d6b69b0d6c39b482b11d4705581e03c788dbeccecd3b3d2acb182d8e42448ba133b36a53ea5dc16359e1fa200401032b5c9b2089bfa81ba9d5c4049d31c3d25c682db528f1c2e0f31711f1080dd5e8037598d1048150ca04d83819b1b55166a7ae79807b5f19704bc7a695f391eda44205581e03a67e2a5355b0308d742f3d091c73d942524e64f93f396054897beb1f40040103b7a6974bbe01d31469cb67f25d88733eecb3163d0f21154eb579dc8fbf58aa7503b1540287d007d744705e0f793ef547d3c64ba6236526ae86ed34a65af448c1eb05581e0328dc90ccc69f6164096c4d9256d934c91426e4da6a503dcba13c018fa00c014709edce2cac928805581e035fe5fd3f4aa633b19c73320cd904bb6c74efde2407ab0f62151b8f0130040305581e0335f9b5c89a82261b19be640cfb01fc7715779654b3aa84a4112a150d400847b3b8f43f04880003093d863711e568be5ac69be8bd34c57a3f4ecc76718dc1cdabb472c93a94036f05581d0203565b466ebddfcafe4e100c2e197d19459a85d1de9b3d094bbdb8f40c04480205e8eab5fce80005581d022d042d59f3f740e99d7028f4aef34cd605ee706516ae67e4908782ad0c19013d480853a0d2313c0000021910800219faba031536e5fadab8e6d124d6f065cd06476a1e99595d7158e91f59d276d8aed2ead103d2e258c636fcfc861c53c9eb309a6e98f2274f77af30663b08f9ef32f20e530d03085c6c1985db86414254672f6681990d4a50fb5e23f9927e6dc40167afefc561035678ead2169202cb2b9253698d9a5333e31401201408dea8fd723a3b1010e0f8038128eb00c492c177c9f8ccb3dccdf9ef1d5a98fb2b44cde98133aef60a72d59403f696727e4f1ebc1fbd202507f1de24310fc9510a301406a1a689b35aca8e9ca10219ffff03915caae74ba6cd6893205dfceab71d72ab10b40c2c4e10ff23f6a3b82c3ac5ca03b9ed71220a499f3c6302ebea6090455006354ba6e2a31a4c1b3739c1c742256603eec585197db17c8ce510ef93634d70e5a23e6b070d807c8816bb4b8b49c40642039ab9e7823457fa9bf9d40532e4e654c757426bd067976da4c49af0f7aa4f87a60333e1abd0b9b3e28a459fe94f28dbc46d869747c650f4f075d31b381ea48e7b67033a3e22a4840211105b561b3b2cade308eeadf1f4ac9829eab5a6adaa6bf1f43d03f2b4140370ac625d6119357cc593b119cd49976c6075536cbb3ca236a896e17503b80d64192a82db63570fca4c2576ff5fff0c2207895e463283b48c4e99e35d0d0219ffff03d97b387ac7908e15fff352ac366d15bf21028bfdfaaab12775ae5596b8d1f8f7030280e6b42f5a2f13ccbb6f5d8a0cd7db7d549ef4fbe1d8b4da7c65fbd433dc6c034fcb33c4cdbf8e2cac5e54cb1ef39894932f0d0710b9b7c4c03360bc1ae3727d0219ffff03d92cd06846bd08852773a97acdf44adb53cef9140153f95f442815536c4c84c703d5e8742fa334aadf056db75f59f2ea007ed6579be35de0ceffac8058b978425d03eb2b6d7943b9812e8c88bf60d9acecd6bd7366415e152681a52c31e935c3f7ca0314d03a7bd60fa931918a98bfe6622aea4b6f7dc404322669a130c3d8b32382c403ddf694739762a11fbc37db3beb901910e10128767c0a0c89c1e6ae7f95d9c3c20352ab058fff7b9559907f35731fb14ec06d4c253acd83755ef76c8f0ff345a34c03afa9823f388f1a0ee2c7bbc452a4b0d11bd012a0b7fa62829e4ff6c09a522b6a0335431e631a20283e5a832ec701ecf3066618b76cc6a22f6d20920e66966dfd3a03f937ec9e4790feaae57b3463812d49e265e0183ae73a557a0645c8e58dc5f4750351ed9867003b86566e0a11aab1c369a662da13ed2c8bb646b0864c92e6e54b480353d236cd6ded3cc3e14bf6a158351156b14e6d3e46aa730978db2594f9f869ad0333a4b985f5462d11b4418e7e4da20cb474e902819e26b38cfdda96ef4399bbb203ef8d39016f0ceea8d53821e356ea82e5ea1ae3179da1682a9e63c84149c0a48903bf72f74e50f05d25ff457e9e9e6553756017d7963c65dcc6c2317d3328ce8c1003a5df4a156879977847434671aeef544452c164003a08e6a6bd5e6197a7901d720327fb54d2a1b98bdb35662e03db4e0fa3298752d89149465263f5da87e98bd8bd036b69956bd21d11b16ee82aa46ef5892a4c8a4d24c39823c93bbaa746275402f3032933fe934c69b8ef1ce9b01495ed1963d9058d5c2b2441fe91a3335b8d54c1b503ac5651ed988caa8968c199a1c42cf17f2af8a5c461da5c68bc665aa13f734fcf032ee7c0a0effe7d1d8f2cdf107a0124e8c13da9546241d451d0329c326d7a0c8c032de15e981faafb9b78c2f65e032504db8b4821aeee6e6c4544b3423d5709ef3c03975c9c4faea4c2fcffb399ffe348f72a26d556663eff2ea8d396e04b86c9352603738e8d6995e555f42c49512bca263bf278d1898feef1930c32a563e16edecf1703f65641cf66704770bec65ab083a1a04210da306a02f4a1e28f8962d35d0428a4037b3c5fb406817107abd9763afa180a4f87e20248efc199fa8f920f61ad82ab8a03a183eb85128629add482919ddc41aa0c66220d80ff85529ec8dd06eb8430bcee03367f6ef4ef40c3c7856716b5174cf4505ab484f658b2290627a2978713a781a604592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210328c9b369ac351c2084946e349887c6b1e8c79404f775a43f983883fc5f7508f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030383ddc31a9a6c7d64ef6052112ae8d7658d03ae63cb3d337e4f91c14ad69a16031bcaaaf2bac067ab11be392be33cd2275d78f1cdb7320e74e9357cd89a5e31ea00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04f1eba241c115de20e079a194361f43c005821038429ca5ba15a11962ddc6f54d48cf2f25ce5d8189ea48a3684daecbeca9aca4041010058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582047d86bc1611a52a93d15b86bae6f3bf3fee3e232ced858e41ae4a60f92595dde00582002f8be445510e05cf0714d50878d70174e52f46a0d900b7e8382c36cb814f52b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a854c1abee5f1040b81d57ad97663d004f5df074cf3800582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba41020219014c00582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd004a094c2c05a83ac830008300582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf4aeb000000000004b8ff39fcfd51003100000026415b09d48b3d92f0880d0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54a3ad8c7ab6b731045b5b16e3fdf77975c71abe790218480219f55705581e03cd72a9676aca3ae4f9edad2262d2366015f79a7917e8aa2ebb8ababbc00701192c1d038875ce9c4bd170e3e20bb8c35f086ce07f477c5538e9bd5ac2e024563e80755c05581e0337ec6904f6a8ea84d7ca70dd44a78004dd9a276d782a3099c3797389f0040105581e036cf6c9c6a66b7f3b7aaafd1ecc35918f2115043d5036b2456cd3ac60800c03470cd871f132732005581e03c0129fc434e29f46be0c71f790f9d813f51663ff5bd7a093a2c1cd6b8004010219f48003a1f0d77fb0dc0a4ed36cc5def748b3858cf44eb874aa5194964cdef2f285bd220394cbcba0a65dc34d29352900afc83b80b20d1d8a6562f9c3d8e77ea3559161540391dfdb646d79c9ba7fa474930d7003cf557c662ce1bc7663e21b6f0842bb60ca038cfcc8c3b99783e1d9001ed01002dc710536aeda726f5664e4d234775de9a64703c082bcc6ffd64595a7beada63333c15ad8138d6616add6ebfbe2f2b45fd0098103ba27c391b5553fedfcef2f4435f02f40fd15464be7e15effc7a961a877bdbf4e0395d1291cdebbb782a873aeb5729e80c349472a941cd5516859d65c1772927fa30371614c8d4c462202cc92681c2fbf8f0b1b0a6f9f296cf265c6089fb3d57496510362d88c27026632656c7e608d1df4ecebc526953b9011fc9131bd4d45ff191733035231a2697bc509b7381a8f570ca3243b0d88567d69e223cc781d3a58aba18502033f5cb57dc0a5a7fd4a876cdf38b9c5567080cb13ebf28eb7938443a97730c73e0219ffff03cbdae5a07842a3c2f725a0c13adb11f801bf3e90fd6fec5934242944985d385d036199712109c9cd81aa89765d2324b45e1b59ef945a0c35871bf29c6fc1a3cd750389d9c433b3733cec97291e403e74521bf16ffd70fce58b1eab4a42e64304a52303a74f6a61ac36cc780fefef3636abb7ce1b0450c135dc0cc70e9d1daa8abafff60356310242462085e21dc2efeeaf1e13dac6dc49c4009c8c50d7732e7a1344cce30340f9d4cc62639f25515257c7c8fe0270615a4a4f0c575331fb3b538e266b878c03dd796297f2c30dde22b7354866e467202de79585c5a0256834728a18eeaf8d610388e1b89cadf8435d6e811509c985d8f8ac2544c683e36f2765979b0b5dc16de80341c9e4c72a6fb1ecf65f5445d581b9bc5133248b13e56ba90f3fd317a1e64d1a0219ffff03ce305a6a8ae5676e974a42edccaa9f6cc774a4c5ce0607b42049578f626f29ae03ffffb6b7360753d5d9ada1cd82d6fa6df93eeec8582d50c9df7ee4c5b8ffc9b80219ffff03304176b6892825f375b90e6a16712994a6e590555e215e8c100dffdf9a17aa0a03015256b5c23aa6102cee1d534cdd49c681bd5f8500cdb38dc8783b40bbe193df031dcdebd82f092e22428ca1909cb2a73e41e86af14adb26fdeef62e1e79c1678d03d921fafcfb89595ac2d98d3d2986a4ead231997970c84d8ff174a9524498c1db0339fb904e109ef43ce07f9b14fd47bbf6f0250025a5e7cdd98fb8481b450d205903817c8c0c9b2fe19190f75482b73c4d27ae109318f0ece093e73b4baa4038523f03fbc4dbfd8b5133e4de4170172f3d8af305d7a34fc7d3a7b6e8317c26b561b3fb03ca2952604bd230b40422e43dceaecb5c593ce04157bcfb05871bdcfb8b4ceedc039d7e4bd520b4400b974a3c37331255253971c3d6205cadfa96fe415e9a84895203d0d9825033807cfe0c9bf5d0cc253296c1a67a638fe4f8ee63dae03fd79dbb530393d1488cd884c483edb1d6b34d285de481efd9aae952ce5fea8f8ebc852f7384039d0d77c5f3753534f0be2212ef62c5ae9c766cff12a20e4e41ec834c2cef59da038f8025bfa55ec8227bb36393ecce0939c2eea35ccd4897b204ae2b12ced64f2603bfd7b473f04de6c9c22603d7b74a332cab0c786f9a6b43eb6dbe7076342cacae039a7d063ca9433a129d1e150858181071fc09e9c8467efac0343b27ea1d4e318b03cde737d4157f54dd1a49d9010b0f9b282693a57e1da92120aa295dbc82a60eef037a0e3cc2267aed359453da16260277beba44d769aa0cb2e54d4f5f21f932449003ed893a58c087b9ab74a8f7e83b50088b513dade29ed17f3a5697ab5ae9efcfc70383838af113bf75699c1cfd30691310560ac49ffd99aebd492e98cd54c729c02e03d85508f657679d5d65afc43b76f6b9442b1e7c5a57542eacb5ba0c5f9b9da0d905581e03b013f793ee9eab1bfac8a89631fe355e1c70c72bf499abcdb7e555e1b00c054770c7d3835bd6c805581e03d8400e05be57c8ed9436030141097ac4a389636a594cfd025b846551600c0346de62ac966a2003ad18a84450f980eb559ca01a2c881d36cf195ff2a0046f4baed52dc824bc034c05581e03bf454c38c35fd2a2b3cb68b833ad68a4dd4f3b6f7d6a6355e125996d50040105581e03a9706261d191a252bb58f1bfb7b03311738668e01ff0176df5b52ac2f00c1838471fe7ce287b78b703b7c2f191ae78dd918a6de2b2e6751b0b21ad0563d773199a4794bf3c3986813903585d44212106115297dfa7fcce9a74b242b8565702da2308be5c85cad23681c003e2ad3419708eb9426279402fbb43ead8d81a4eb7d63c1b4f5123a98eb414830205581e03b6bce02674579af0c0737d5398f139004d8866b70b1fed9e808c8acc10040305581e0333e7a91552ce9cdbf57baaa10598deaab8b016db91f977152a1a6264a004110219e27b0353c719f77ae4c06736e81d5d9869fd966d0b5f512c61734371a4917b3c2ff29e0350b459ee6df332d5d26d9caac9a5fe403ec59560f0bf319337be31d63e65abab03edff7487cc0fdb0673560cd47ef68f43c74b28a0bc5dd4f09b2db7e485ef7e55032e575add5579d32929bb0d1099aef7a90ecc4375aca6fd7d9e29f2836f525d060375e4878e2450d8890b3088fef2cda1274d44dc51f8e7c65a11df905bee391727032bd4b967b48ad834e2a42e6a0a1c189f37f8ccc306b0f02a7f6ccc249c64eaa4032f34bcb9fa9faf35066d280d0ad311ae9b685ce6028e76bc9f63efc79b338cec0340148778aea3454db6a5d1e77e92a6f370576d1bbc1d82f3091f6515abdf3c810357a6d7720db246a173d0744061da1c2cb4e4f97f21cc56d729819c7303bc8c3b0219ffff031588f400993430480cab3309f46f18c14e9acdde7ba3b877bfb4f5fbfba610c8039d1be2928848d6189aa080c997fddf2f8d4c997634f8c8888f436e3b859aac0203db409d332240b078f9a8a7ab52df54dd57827b59fdda1b5e0678f6ac254343300371a8ceb8b300728a74acc847f72ff7e879ce5e8d8c822e8ab76e72a94c09a328037618ed8a7ce995fd70c6b962af2fbc4f717cbfc450f1c571a4eb6b975f475ec403c60890d71fca1dc9525a04d681ca80bd3bc660489603287dd334b766bd1215c3039f80b68aadd9bf85e5e2368caed3e492a884ac5af5127a14878239d478bdf4e7031c222846ce4294785bf7893930d96386946d2aca0faf800d2c75474b2d91aec90219ffff0394d6377f1b61c6f550983b498a73cd0850c641e3e7a65f96d6260cc1d8aabfbb03747f12b0c9e2516248e185ef1b779578246a321ca5dcdb0b74ce42861ea95968033942a6c9d9e7e405a1785b3fd9802837b86c52e87ee0c5522626594c7277ed320398f9de04be8a8b236e602c8a64485961f2666b2daac7ed933b5ad8153e08315e033ec1699cb6d8ce44782221fa57263ace81792700945c4b75ff12a390a467782e036e36724c161aa264b9c832fcd44b64c4a8ba62848df155763e28693c4d0ae89503d79dc2f5d7e222d1d560190be33d7d7e3e3e48acfb9d1ad096fc85e25fe5933503483dd993c0a66b05af4291d7eaf9e7bacae1269fb5beb40cb6281b3f3b429a5a0219ffff03f904237acd05d17489e62210f6d7243dbce9ac105373ae1b144d2a226fb787e40343029c015d44b22aa5743763acdfe5ca142e68da35ff38fb6f74e014f95b2cb703d77a281aef6efa199130b0cd17dfdbd176d7540046fcaffcb826d935d9a3977603183cf437be05614aed9882a02bcb4d9cd0a65c0b1e09042380469b7793ab762903b30f209d30c41f15ee7e3c119434fe2e1356870037f71b77a7dbcfa46c557d73036ded38cbf16d1ae5c49b23408b89ce19e8b5e85bdf95906b06f4f0590c0f71d1030c7d7bac92930f58f85a2d9ce8cbf8ecaa1e8c25ce14cce7a1945908d24ebebe03874013b3e8a4ea96ad114fc943b39d239a11d954012d86dc0b8c8a5624b6bef003aa75139185ef0c4bac6a8acb8819bc2b8a56ccda5b01446f2dc1a2c4681a4d39033f5aad2288382ec6f1b7a2baa334b22c181dfb8fa444001dbcfc5da6b6517d4303eeac900e2e5e1999df675157301639439ccbe0f01ff6dbbdc4cb72b5251eda6c030b066ebaaedaf9000f16aad5a2ecae3f215d374cf12cd5b283a5c994bd170e3403bff603cc3171f25888530c2ca1f153f8859ba2f770e3b3571015a4ee6f7753bd0398e232f2f3e271ab493a84851f260f95688d995ced4b0379d43a1fec9e8b310903aa70fcc7d67eb735a93dc656d81f5edc1c97bddccc5f81ce15eb77e0dc96fef803726734718654720289151852059f0424a8ef058c7b2182e59e1708c8a499744e030f44aa294899a9e685fa001545eec269cc8e30c42fd2b6f6c8ac9822d9fa72cf03820eee0eadb9ea315f38e914d834207c434c59001def9b8505653a3860aded8e036c9d702d83acad5cc1b17dcbd69a698ac3383085bf8a1ca20f4085e40e595b3503e11946ad9e6ea7c2555ff65b3e701931e63de427fba6aa88d9ae7d7d5f1a4cd703d1ee064c60f93a197ed065312bb0b1c4d708b35f81fd70403755b49b08cda60a035bcd919d5fa49c5d6a2ec563fd1051a21ff7370d6f9f763759e1c18efb6e14bb03fc164e7d6019b5ee7e3b0dab4cde16a64dab97e99100a50752a5e4e42119b08e03aa18a69313f9148d08d0835d5a6afe74c244200525051c640552d25fcc63956505581e031dc2091fc5155187fa146ed94267df3b2f066ba73e1c62d314d000cbc00c0246c64c4c4e160005581e032095b6327a715ec2b6e4d13dc039eee4fbcdbf68047ecb48c1c72a10e00c02465f3c5d073570036723ff841a59e3c574292d87f8c95e42727fd40a6755e7932f02bebad18eff1705581d02257dfaa7e1209c2a4620567f9c146e27420eabe7693181189d5befd8040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b57005821036c4ca4403633c75448c606ffb199d22fd3376660ef6f6c2fcfef82e0dcf8ae205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d171cb5ad9581a21838e775c0dbf99cc771522b9fbbb873d6274b96c2819009a031ba5384d895bc36659a5b40fbf5b34336e212570ea4e49aa7455673c8e3750950058200251a91fc4a823971fc489168743fafaf63fbcc9c47fab9eb9ff1941b87dc86c4101005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af553a34e76ad274e234417e6cf959fc649c560cdb3ea40219400200582103747e586a94981f78bf8ffa78522169d28ac712718c8218808e309f80e3d30c605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028c34de90be6da6338f1ea8f62974fba05334d60749b4a6c48effb7be48544501a31b163000581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2021910200142006600582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820c94ea91c8acbc3e2daabd2688ffb7d075e15cd6d4c23d3193acac2ad390410e3005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84e076a0ec774dd264209b2c86013b402184400582002397ae88bbc04e9ad6417341798f7eae27ec4d6cf01c6dcb500d8c0027d7b92470350dc99c99b22005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219840000582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5dc300000000000122e4a8374652e3740000000000000000000dffe7823d0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f547b37a55ffb30c11d95f943672ae98f28cfb7b0870218480219b4cf05581d02f22d46e333feb7a433144957260590fddb74a12ca6243fe3689f0a4d0701192c1d021901080329e5e57fefa82259846fa938c9424ab604ebcc826f1150a80ee346fa2ad44ee705581e03159949fe376ba04c8d5656185121dc68707cdcad9b977d3a01065bcb400c0347010bb09d5b13a005581e03f6f1689bc652ec75627c929059d1f01b196c6a3e4bb49ef96b8df015100c0247028226907a90000219bf2c03361c3477958c4282d5c38ddbddac1c1eaeda7cace3284bbf52409b341cad01ef03c04f1e41298770f9264eefc378dfed1816b13b95a989a2c1ee8704ecd22ec87303136b36a7cd396a36aa226d48ffe27bc646ebb409747bf3b3723966d66360c67403b8b76b0b02cf9aaeee3d0afce135efb86eaedd3347bd2f9072f763212a16205f03f9efe33a97d92bbcd5ac58966e1a27eae905dd679ac59c41c5a172b3324077b703d8e2a4ae8497646231b64170f7cf0a822597e4737e348408e5eeb73d428e09e70219ffff032c01ca11b0e85fbc61ce4e9b449b941e0639444d01e4bf22aaa4579a8afc096803fe85430d3b58782de25410c236d6c7f18095208052b5a3536747ef25ac3ff44103c6953871c84d7943fbbb8627599b27292acd1b10e7991bd26921ebbd6493212003adeb380e26992b66fea372104098825224a84531d822d39da830818b6e3332a70219ffff033a36b1c28708af8bcd7bc05650dc039f3832f1cd297ce0940b34edbd96b383490334d3491cef37fd741ae830082809edc142d5038babc1b979c435e69ef54c9d4a038b36b1b580ed653f2faabf9f0954b919e17eeb4279476df18140d0d04f05df3303ce4bcd2be7f9aa88461aeb43441be9c204e72ec61e5c019a5550406b81a6992903348baf48b1990ef69f3f3088e960c4286dbfd7f8b50728e9c24635ef3464b42503641281d16fb2b35c0b9a0fa9c7f82fe4e464eb9ebf9ca9bc0eeca5e2673a6d88038d1d1817a90521ff5fd8ae3c5d9bc3eee7fda32275041bc7f705e640ce9ed6e10329757c8243decbf8b44156cdd95147e26be0d68385b7080873209099d785af480367b6bc797b11304c51fd607ebe5f93d1936a9ce82d0cc894e234b35c9c5ef53903ca79fb2c017ba21292821116ac707006ec0e42c0f7921595b3150382e535146903961c0ef5b51cb09c27eb8ff4500a4241b9db14a3d500d55da83713f9c18b177303f3c20e5f1d67b7e7d1a8245f7020b8659d5c795d4716e532b92b8afad3fb8d59031888cd85aaf1d7cce2b55220d667de488a3cb008bab6364edf191d7ca5200cc703002a6a098db13b20341763bb7a5c05088f510939ddc1fa312220bfeb529296820219ffff0219ffff03e482ebd114d10ebfc09ee2a110c2f440743591e8934cf8387a299147985154c70313523308c8618aef593a13bcab49fce888deb30fc48a3ca970227d762e1eb2eb037484264bd427815c4be63c7058f5317acfeef4484245dadf1205afd4d3e4f26b03de8d394c08912460fdd059497859485739eacadc3e4b829ff08cc0a1c233742e03fec5ab1182720cbd406251a34a27ed3d233ad43696c61d9fa9da10fda0871d1803cdb7f0387714ddd5fc94f4d7a4ed3a95c0dacdf704bb6b1b3c26bef7228aa5880313fca104be442f69d57d93009e3b3908ca376a26d3d1b70083e36aa17b529f9d03d3da02814e4e8908f5a8c64360595a48f7e3e4ff457847647e1b3546ba460eda033a02f08f88829d9af2839448a3979bc37b1fbb18721b4e08b6fc4414898de323037e5d432f2149500e222df08a8d096a17cb3881c20ee3a8a8deb1b11380bdc0d40306449df3252746d59470a11f7218d759e560f81e06880f08ab7841925d09f1bc0377b4e72feecb6107389b155be6ade11d75ed7dbb18e674fa509f830495b787ff0355ca93e5c21bc834e234215520eb37d4c06497c979ee7ce57797b1d3901c23a703876a249d17eb0b39b3e88b4cf6935e61864ad6030891b4801db2aa3d2c78d1e003797464d7dc51dd309c59199c833a7933c65ebc6fecb2f28184c662b3b93ce24f03fd05a263e9c56110c2df56110feb7519d237f6d81a6098c252c318ed50ffadec03c50244b00df8847fdbc33821b74abcfb4b3701356bc582f3a8b9ab89c45bf8f6030f382fad974f8d37e259d4612dcd5c656345408f009fc81d9c13d921c761be2203f6d91ba4721c3392d208f67980ca49134fbd5f4eb5f30e51489ac3e18dd0755f03fcacf4ae1768f728a88a09b9cdd82116636910e254d16dc1543e08e30863e6c0039fd6d355bed03d2a3cb58d9d9d7e26a6c8f365dec0e9a5edc3060b6021e8585003a5cd402ce2c4e5c7090e6cd7f0dfd8f23e542411bdcfa3bd8ee7b3c6cea39e5c037a90dc3416de93dcd5d6f6bad553b4287319ca94fb9755d5504395c97cf0d26b035357db48f75f06f6cc6761e94fd0b658f6b27a428de02c1f9bb1f263bb52021703fab8f62ac292cbc3577974a0fe02bcf454d4222c42e0659c3e9e8a5c5a3d11f303c2c95652341774ba86b31dc871c2fd5805fc48c834dda3fc8a8d8813eafa37f503b2065b7f0ae3b32edbac8ac7806708d044096f03ed49d8548d6828b0755becd503969f7d142d9c5a3bc8b51909df1bff9547c5d02cbf7d402cbda3b3f8941cea220361dad25b20111af8333652e47ed472c36c34350e98f165e4d7f4c627f53ee52a038207a749397691d0c3e1b050baeedfd2554cf8f50c0d63b0ba2deb152e0b1f77032e957dd08b30c05ff6ac9a9a784ce8f9d2f8220a242ee6d1d51371137eb97adf03196ef9afcc4de86d0b4054db6441aaf117bd935504e5e33b454a83878a7322360349d351535240f35fc5c311ec3cae1fcf540e1e66e3ca3cf89bd73c6f3cfd078b03e652039e64610a34f63f443f1d42cccc512e9be8dc017f5741ec579ef94f0e900349f02623203548484f455c3099e33931eb1d42749e5ef20c50e88b435dd368520374a5294203bad5de84d4f6cded6674feae9fa8191f793d1cc6d54cfe00382d3f038a73726f586cfde273430994fb2558a396b9e3ec2578facd2322b5cc3a09be3e03419e834704f276f06e55a84b41e7e37362167cb727a1c389d75a58ed91d8330b032c578d448d3d00480dbd533135fa6d6db2a032633111cf8a701d94254baae041034e0e75dea2b601864927374d31a7b5afe192274f69b69b8dbc1d6f3499501bae032c8df099594459e2b8861963d440f3a085e6bc89a39b3032cfce629ce6f2a1fe03415d3c01a067ee5b8c156278cc84f1d8621c7ed0196f3a7ae8fff689d5d7dfce033c65ae558a90ebd71fed00476a096cfd9ee26c1340a2b6051fc78865ccc59a9b05581e036d0d7e807d18cd585bf6b46909ff047862bbc961763a72088e62f432200c182e48014edbe72372980003b3be9d5b3d793f7881040d9fa5f7f517be67fb3629b9b05e5db6faf724524b0103cc041b3206de20df8e392f332ddebcf25487931fd8ba019e91e003214fea1d6c05581e03f28a2499f8a47d093cf590c2f6e9e1d8e47bbbcc5ebffe8fec8ef8dda007011bffffffffffffffff030d26c2ed8167ad0d8b890a064934d840ceeeafb8c4981f357552ecec088f520905581e03b3bb3b5179c0d9f17d365e4bd6417f069ba0efc75b03a10fc8c81d33b0040705581e03fe7cf1a9ad0ede236ca96b6c253c7f437094b8b59a2f96e8d9b0d481d0040405581e031ce8989ac4726304b4ed7002d00ebbf8a880627cd92b3026f3f97c49500c0145174876e80003f3737260f94fb78dc17734e4c75fdea2a2c8d91a7b598c2cf1c753f98e978fd10354e11d607c88f2e3bbfd16800471161fd271fff8089777108b3ff4797461b76d0322a4b97c5e94ddf5119d0162053322aee0886b2b82b17a9e54ec31337e0d525405581d02348bba966a4a4b5d4e80297eaf5a16758be702041175321946cca96c0c01464c65c629400005581d0279103195995da8140c9877951584c9932dd27ac23c52466f9990fffb0c186748053cd8cad67b831d0219010105581e034abb172b73cf78614bdaaab2263672add862e69f53c347fa60ccac8030040103e1ee00e8912bc74ff0f5c8122fdfdbe216746e79db0f5d3d3477d6708e99f265032d19ad35f695f771fb863d51711fc33dd1679de8f7ae21307410fd630b304dd2021997ff03d4a86361a562cee76216c7b6cd3c7f8d808ff2888eb43ed81350b20d2657817703a5d76a92ae1f1bc95e095fc617eeda922a7df22ae5e3a8b95fba7af6b167524603b436f794708d26006213d88af78701d8324b6963515f90559ac2beff98ac412003d8500ad09e898a72ef6571c5b45e8994f95d111586e1f0ba9c087b24df28406f0326b41be3fec771ef1680cdc7d6b4c1a6f785d03d9a165db263a4c0969e87724d03194f8853d4c1021589518577a1ce66c7b5e8a378e9a3c61055167081d0acecad03e64ec19f99f310a2a224494790c92e1a31e05a61caff738db1314857117164b4038d49e683799ff1c3540ccd953ff293105204e253751c97fe4c18923abaca4a2d03466dd2b83c156fa26d7a5f18467c1473a2c17f5547f1cedbf5ab84edaf50c270038867ce1d86a31c0b60a5b3f2c8591d4ac1cd90d98434dd118241cec7fe78285a03e46822b01ea2737746fd6453d2abf5ff82c9cd7ea388851c93520dd1628d30e603e09c985679afe54698c0e2c0abe95a57e03f0915f86431c4cb4cae3687cba7f20219ffff0219ffff03871f4af9ba7aa0bc5ac639cd09ebcb2680a08f18fef306cf26757780309246ee038e58c3ff6f1f6a3dc254517d595632bb1d3ae712b4c945cea8376019a5838ae2035417895dc363011121aabc47824ad6904e149085a830f6b65ea73c6a4eac6f3103edffa5b9e0657b816ea17ef538db76b619d716a19dcb114894359b4975b57ae60219ffff03d9a879cda2bf07d8e36413cb8b387ff044a4247d8705064cd07a5e471fc2d5e20219ffff038979ce4a5c8b15cc3a6fd2da13bd990a6d211b38ade14cc608d16a1529479709038c34f0c97050cbfd326d337e7a9b17b1dd8809d1f85f8c78d50d8c79d469946a03200876a191060637fa9ed25e0357325b566936ed22d77b7ae170caefff3edc7a037c33bfd2ab0ecc2bfd13806284bcd4eba0d8bcf349f4417ec1a635411a02c6f103cc77db78c199dab504d7d6ad6e63fe1666481259d5bfca5c8bf3701bf3915ec403eae49b237ffed9c3a1712c4916dd2d6479a3c43eb52edec220369dddcd96277803c2d8e0ff7b2755db71598773497f1dc150a42f10d08057560896cb2b739b54fd039568559f32210f5a668aad8ff808f8e3330e89230fd1e0ec7fc0948d2e8f763c0311ce3f3dcf59715781d12f67f1b770c8b333cd63d58a55b4fe1e475c2b7a9b1803e1104f42124ed06b2dbd227c1ef7b2be3a7b4c40fb1b512ead4eeabab6adb16f03a0dfb20e8f73cd456751f8a4e2d525cbc37df62f9145b28c1cab322ceea2d5d6037d3684f325e6e8ae4a7bb89166ba38b2f21c02d1823e425087dd1cf7480f9a9403e09dd974030227b074e93e372a03683a35f84ec67e95f4eb2c5af6c5adfdff8a037541694d29e84a1466e01009f1e7fe9bc942ef41933f9ca214b2cd7d8953bb230390583e6612b597648a2ae0224b2a86bee02dcd9b69961e94bd1605064b5f5fd803370a28ca50741cbee165cfd31fe39eeb1ddf3922ec30a43349c2498553c0deb40345751fd8aa2ab19a9be0696aafb8bbcf56730d6222c270c1be29b1a466fe0b63032aca62ddf23a3bbf5d6b1d7ccc0f85cccfd677b11ddc4d672d9aef088527c9980392076f20ab252371b618ded7cd1828a165a510ba7a31698b002fab5b6617c2e403efc3b306208be128263437157beffa587e760e28e192ba511c7204614767d3f803856447c5b7b20bdaac8e96942db6a72447f74258a3308efe7ad056dc7667e67c0320e51309aa6aa9802ab26c5fdfa488d3dbf54e1636974f3c9dddb902973c5e15036fcd791701cf5036d8c5b7fba16713a04200a0e2841ce6b2cee36b36d042490e03851fecc0168b3c19181dec5f2cf2f6a40519a016582d899b95bf792f701f673a03da4bfcd9389280b292b60a6d03641f43d2dad31c9b37ab7275793ae670ce60aa03706d28b3fa565be69c39be4699c24cca13ccbe8ead9faa19367a4526843ae78503a90bd7fd30e90cd4823917a4dc151ba77194f08278497562da279926c613fb7e03a81447e497605ebe4efe9c5235f4bc9b11cfc029e18c22b62c2f4d02c8aa946203bfbdb563e0ab3c6f09957d90aba10d8f8280a0a04e5698161e26aba717aad64805581e03ced9753ec7e551abb29b56458da299040e747195e59b14e55e21ebdaf00847cac245b887ec00031e4366082444073b4bea23568c108c4288f2293bf126f5cd6359c41ec52fc7fe031c5e8f368b5983459479ed902b8827ce8feb312b0169bbf1c838605197c6769c05581e03ffdf582fc711c41a5240eb84686ce63338b780d412f53870418cd82c200f01472386f26fc100001bffffffffffffffff0459480f6080604052600436106102f25760003560e01c806381707b801161018f578063cbd1642e116100e1578063eecd57e61161008a578063fa2a69a311610064578063fa2a69a314610814578063fc110b6714610834578063ffa9286c14610854576102f2565b8063eecd57e6146107bf578063ef6ebe5e146107df578063f3f480d9146107ff576102f2565b8063d5ef7551116100bb578063d5ef75511461076c578063deace8f51461078c578063e19be1501461079f576102f2565b8063cbd1642e146106ff578063ce803b4f1461071f578063d44481631461074c576102f2565b8063a35962f311610143578063af215f941161011d578063af215f941461069f578063b162717e146106bf578063c7525dd3146106df576102f2565b8063a35962f31461064c578063ab033ea91461066c578063adc9772e1461068c576102f2565b8063960a7afa11610174578063960a7afa146105f757806398c4f76d14610617578063a239f5ee1461062c576102f2565b806381707b80146105b75780638d8798bf146105d7576102f2565b80633a7af631116102485780635a7e1083116101fc5780636cff06a7116101d65780636cff06a71461056d5780637398d28214610582578063767631d5146105a2576102f2565b80635a7e1083146104f95780635aa6e6751461052b5780635d475fdd1461054d576102f2565b80634de8c6e61161022d5780634de8c6e6146104a45780635325937f146104b957806357344e6f146104d9576102f2565b80633a7af631146104575780633b8fea2814610484576102f2565b806323c452cd116102aa578063302830ab11610284578063302830ab146104025780633408e4701461042257806339ada66914610437576102f2565b806323c452cd146103a25780632b85dcc9146103c25780632e17de78146103e2576102f2565b806313948c76116102db57806313948c7614610339578063149420241461036f5780631bbe15ea1461038f576102f2565b806304e6c2c0146102f75780630f7aadb714610319575b600080fd5b34801561030357600080fd5b506103176103123660046133ac565b610874565b005b34801561032557600080fd5b50610317610334366004613509565b61095e565b34801561034557600080fd5b506103596103543660046133ac565b610abf565b6040516103669190613943565b60405180910390f35b34801561037b57600080fd5b5061031761038a366004613747565b610aeb565b61031761039d36600461362d565b610b31565b3480156103ae57600080fd5b506103176103bd3660046134cf565b610d9b565b3480156103ce57600080fd5b506103596103dd3660046135bc565b610ead565b3480156103ee57600080fd5b506103176103fd3660046135bc565b610eb5565b34801561040e57600080fd5b5061035961041d366004613422565b610fab565b34801561042e57600080fd5b50610359610fe3565b34801561044357600080fd5b506103176104523660046135bc565b610fe7565b34801561046357600080fd5b506104776104723660046135bc565b610ff4565b6040516103669190613938565b34801561049057600080fd5b5061035961049f3660046135d4565b611009565b3480156104b057600080fd5b50610359611026565b3480156104c557600080fd5b506103176104d43660046133ac565b61102c565b3480156104e557600080fd5b506103596104f43660046133ac565b61110e565b34801561050557600080fd5b506105196105143660046135bc565b611136565b604051610366969594939291906138a8565b34801561053757600080fd5b5061054061119a565b604051610366919061381d565b34801561055957600080fd5b506103176105683660046135bc565b6111b6565b34801561057957600080fd5b506103596111ff565b34801561058e57600080fd5b5061035961059d366004613658565b611205565b3480156105ae57600080fd5b50610359611222565b3480156105c357600080fd5b506103176105d236600461362d565b611228565b3480156105e357600080fd5b506103176105f236600461362d565b6114dc565b34801561060357600080fd5b506103596106123660046135d4565b6117aa565b34801561062357600080fd5b506103596117dd565b34801561063857600080fd5b506103596106473660046135bc565b6117e2565b34801561065857600080fd5b506105406106673660046135bc565b6117ef565b34801561067857600080fd5b506103176106873660046133ac565b611817565b61031761069a366004613422565b6118b3565b3480156106ab57600080fd5b506103596106ba366004613687565b6119c4565b3480156106cb57600080fd5b506103176106da3660046133c8565b611a06565b3480156106eb57600080fd5b506103176106fa36600461344d565b611b83565b34801561070b57600080fd5b5061031761071a3660046135f5565b611d0a565b34801561072b57600080fd5b5061073f61073a3660046135d4565b611e01565b60405161036691906146c3565b34801561075857600080fd5b50610317610767366004613658565b611e56565b34801561077857600080fd5b506104776107873660046133ac565b611eb1565b61031761079a3660046136df565b611edc565b3480156107ab57600080fd5b506103596107ba3660046135bc565b6121b9565b3480156107cb57600080fd5b506103176107da3660046135bc565b6121ce565b3480156107eb57600080fd5b506103176107fa36600461376f565b6121db565b34801561080b57600080fd5b506103596123c4565b34801561082057600080fd5b5061047761082f3660046135bc565b6123ca565b34801561084057600080fd5b5061035961084f3660046135bc565b6123df565b34801561086057600080fd5b5061035961086f3660046133ac565b6123f1565b61087c61242b565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602081905260409091205460ff161515146108ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613d0e565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526001602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055517f4234ba611d325b3ba434c4e1b037967b955b1274d4185ee9847b7491111a48ff9190a250565b6002600054141561099b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614518565b600260009081556109b86109ad610fe3565b8e8e8e8e8e8e6119c4565b90506109fe81868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508d95949392508891505061247e565b610a34576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e19061428c565b6000610a4088886117aa565b9050610a4c818e6125e8565b610a59828f8f6000612688565b8d73ffffffffffffffffffffffffffffffffffffffff16827f9475cdbde5fc71fe2ccd413c82878ee54d061b9f74f9e2e1a03ff1178821502c8f8f604051610aa29291906137f3565b60405180910390a350506001600055505050505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600360205260409020545b919050565b610af361242b565b6000918252600d602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6000610b3d84846117aa565b600081815260086020908152604080832086845260078352818420858552909252909120549192509015610b9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614109565b6001810154610bd8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613a87565b6000610bf3600e5483600101546126af90919063ffffffff16565b905042811015610c2f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906142c3565b600382015415610c6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613c54565b4260038301556004820180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790556001820154600090610cae90610ead565b90506000610cbb876121b9565b8454600084815260096020908152604080832073ffffffffffffffffffffffffffffffffffffffff9094168084529390915290205491925090610cfe90836126f5565b600084815260096020908152604080832073ffffffffffffffffffffffffffffffffffffffff80871685529252909120919091558554610d3f911683612737565b6000610d4a896117e2565b9050610d563382612794565b89877fec2697dcba539a0ac947cdf1f6d0b6314c065429eca8be2435859b10209d4c278b604051610d879190613943565b60405180910390a350505050505050505050565b3360009081526001602052604090205460ff16610de4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614255565b60026000541415610e21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614518565b60026000908155610e3f610e33610fe3565b868686866000806119c4565b9050610e4b81856127d1565b610e5781868685612688565b506001600055610e66336123f1565b610e6f3361110e565b1015610ea7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906141c3565b50505050565b613840900490565b60026000541415610ef2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614518565b6002600055610f013382612737565b610f0b3382612888565b3373ffffffffffffffffffffffffffffffffffffffff167f85082129d87b2fe11527cb1b3b7a520aeb5aa6913f88a3d8757fe40d1db02fdd82604051610f519190613943565b60405180910390a26001600055610f67336123f1565b610f703361110e565b1015610fa8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906141c3565b50565b73ffffffffffffffffffffffffffffffffffffffff821660009081526006602090815260408083208484529091529020545b92915050565b4690565b610fef61242b565b601055565b60009081526005602052604090205460ff1690565b600760209081526000928352604080842090915290825290205481565b61384081565b61103461242b565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604090205460ff1615611094576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613b52565b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909217909155517f2cec73b7434d3b91198ad1a618f63e6a0761ce281af5ec9ec76606d948d03e239190a250565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205490565b6008602052600090815260409020805460018201546002830154600384015460049094015473ffffffffffffffffffffffffffffffffffffffff93841694929391929181169074010000000000000000000000000000000000000000900460ff1686565b600b5473ffffffffffffffffffffffffffffffffffffffff1681565b6111be61242b565b6138408106156111fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906139f3565b600e55565b60105481565b600960209081526000928352604080842090915290825290205481565b600f5481565b600061123484846117aa565b6000818152600860205260409020600381015491925090611281576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e19061445e565b600f546003820154611292916126af565b42116112ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614321565b600481015474010000000000000000000000000000000000000000900460ff1615611321576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613bf7565b6004810180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055600061136d856117e2565b6000858152600760209081526040808320878452909152902054909150156114485760105460008581526007602090815260408083208784529091529020546113b5916126af565b826001015411156113f95781546113f49073ffffffffffffffffffffffffffffffffffffffff166113ef836113e9896121b9565b906126af565b61293c565b611443565b600482015461141e9073ffffffffffffffffffffffffffffffffffffffff168261293c565b81546114439073ffffffffffffffffffffffffffffffffffffffff166113ef876121b9565b61149b565b61146961dead611464600461145e856001612999565b906129ed565b612888565b60048083015461149b9173ffffffffffffffffffffffffffffffffffffffff909116906113ef9061145e856007612999565b85837f4a99228a8a6d774d261be57ab0ed833bb1bae1f22bbbd3d4767b75ad03fdddf7876040516114cc9190613943565b60405180910390a3505050505050565b3360009081526001602052604090205460ff16611525576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614255565b600061153184836117aa565b600084815260076020908152604080832084845290915290205490915015611585576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614109565b600081815260086020526040902060010154156115ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614609565b60006115d942610ead565b905060006115e6846121b9565b600083815260096020908152604080832033845290915290205490915061160d90826126af565b60008381526009602090815260408083203380855290835281842094909455805160c08101825293845242848301908152848201898152606086018581526080870186815260a088018781528b88526008909652939095209551865473ffffffffffffffffffffffffffffffffffffffff9182167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161788559251600188015590516002870155935160038601559051600490940180549251151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff95909416929091169190911792909216179055611720868686612a39565b857fa57b3e1f3af9eca02201028629700658608222c365064584cfe65d9630ef4f7b856040516117509190613943565b60405180910390a2505050611764336123f1565b61176d3361110e565b10156117a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906141c3565b505050565b600082826040516020016117bf9291906137f3565b60405160208183030381529060405280519060200120905092915050565b600a81565b6000610fdd82600a6129ed565b600c6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61181f61242b565b73ffffffffffffffffffffffffffffffffffffffff811661186c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e19061454f565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600260005414156118f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614518565b6002600090815573ffffffffffffffffffffffffffffffffffffffff831681526001602081905260409091205460ff16151514611959576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613d0e565b6119633382612794565b61196d828261293c565b8173ffffffffffffffffffffffffffffffffffffffff167febedb8b3c678666e7f36970bc8f57abf6d8fa2e828c0da91ea5b75bf68ed101a826040516119b39190613943565b60405180910390a250506001600055565b6000878787878787876040516020016119e397969594939291906146e4565b604051602081830303815290604052805190602001209050979650505050505050565b6000611a44848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612bef92505050565b90506000611a5282846117aa565b90506000805b85811015611b165773ffffffffffffffffffffffffffffffffffffffff8816600090815260066020526040812081898985818110611a9257fe5b9050602002013581526020019081526020016000205490506000811115611b0d57611abd83826126af565b73ffffffffffffffffffffffffffffffffffffffff8a16600090815260066020526040812091945090818a8a86818110611af357fe5b905060200201358152602001908152602001600020819055505b50600101611a58565b50611b2182826125e8565b611b2b878261293c565b828773ffffffffffffffffffffffffffffffffffffffff167f78e830d08be9d5f957414c84d685c061ecbd8467be98b42ebb64f0118b57d2ff83604051611b729190613943565b60405180910390a350505050505050565b611bc787858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c95949392508791505061247e565b611bfd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e19061428c565b6000611c0987876117aa565b73ffffffffffffffffffffffffffffffffffffffff8a1660009081526006602090815260408083208c845290915290205490915080611c74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613ae4565b73ffffffffffffffffffffffffffffffffffffffff8a1660009081526006602090815260408083208c8452909152812055611caf82826125e8565b611cb98a8261293c565b87898b73ffffffffffffffffffffffffffffffffffffffff167f84eb21b24c31b27a3bc67dde4a598aad06db6e9415cd66544492b9616996143c60405160405180910390a450505050505050505050565b611d1261242b565b6000611d1e84846117aa565b9050611d28613323565b611d328585611e01565b9050806040015160001415611d73576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613b89565b80518414611d7d57fe5b6040810151600090611d92906249d4006126af565b905080421015611dce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613cb1565b60208201518251600091611de291906126f5565b9050611dee84826125e8565b611df88582612888565b50505050505050565b611e09613323565b60046000611e1785856117aa565b81526020019081526020016000206040518060600160405290816000820154815260200160018201548152602001600282015481525050905092915050565b611e5e61242b565b6000918252600c602052604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b6000878152600c602052604090205473ffffffffffffffffffffffffffffffffffffffff1680611f38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613f84565b6000888152600d602052604090205460ff1615611f81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613d45565b60008611611fbb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e19061395f565b81861015611ff5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614666565b611fff3387612794565b606087878787878760405160240161201c969594939291906138f0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fcc29a3060000000000000000000000000000000000000000000000000000000017905260008c8152600a90915220549091506120ac90886126af565b60008a8152600a60205260409081902091909155517f419cb55000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063419cb5509061211090849060040161394c565b600060405180830381600087803b15801561212a57600080fd5b505af115801561213e573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168a7f0a0607688c86ec1775abcdbab7b33a3a35a6c9cde677c9be880150c231cc6b0b8a8a8a896040516121a6949392919061472a565b60405180910390a4505050505050505050565b6000610fdd6121c7836117e2565b83906126af565b6121d661242b565b600f55565b6000858152600c60205260408082205490517f99178dd8000000000000000000000000000000000000000000000000000000008152879273ffffffffffffffffffffffffffffffffffffffff9092169182916399178dd89161224491339190369060040161383e565b600060405180830381600087803b15801561225e57600080fd5b505af1158015612272573d6000803e3d6000fd5b50505050600061228287866117aa565b6000878152600760209081526040808320848452909152902054909150156122d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e19061404f565b60008411612310576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613dd9565b600086815260076020908152604080832084845282529182902086905581516080810190925260468083526123619288929091906147949083013960008b8152600a60205260409020549190613026565b6000898152600a60209081526040808320939093558382526008905220600181015461239257612392888888612a39565b87878a7ffdfb0eefa96935b8a8c0edf528e125dc6f3934fdbbfce31b38967e8ff413dccd896040516121a69190613943565b600e5481565b600d6020526000908152604090205460ff1681565b600a6020526000908152604090205481565b6000610fdd6123ff8361306c565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260036020526040902054906126af565b600b5473ffffffffffffffffffffffffffffffffffffffff16331461247c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613a50565b565b60008082116124b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614166565b8184106124f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613f27565b6124fb826130ea565b835114612534576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e19061437e565b8460005b84518110156125db5785600116600114156125905784818151811061255957fe5b6020026020010151826040516020016125739291906137f3565b6040516020818303038152906040528051906020012091506125cf565b8185828151811061259d57fe5b60200260200101516040516020016125b69291906137f3565b6040516020818303038152906040528051906020012091505b600195861c9501612538565b5090951495945050505050565b6000828152600460205260409020805461262e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613b1b565b600181015460009061264090846126af565b825490915081111561267e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906144bb565b6001909101555050565b61269184613199565b61269f8361146484846126f5565b8015610ea757610ea73382612888565b6000828201838110156126ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613bc0565b9392505050565b600082821115612731576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613da2565b50900390565b73ffffffffffffffffffffffffffffffffffffffff821660009081526003602052604090205461276790826126af565b73ffffffffffffffffffffffffffffffffffffffff90921660009081526003602052604090209190915550565b8034146127cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613eca565b5050565b33600090815260066020908152604080832085845290915290205415612823576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614401565b61282d3382612737565b336000908152600660209081526040808320858452909152908190208290555182907f0c3d250c7831051e78aa6a56679e590374c7c424415ffe4aa474491def2fe7059061287c908490613943565b60405180910390a25050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040516128bf9190613801565b60006040518083038185875af1925050503d80600081146128fc576040519150601f19603f3d011682016040523d82523d6000602084013e612901565b606091505b50509050806117a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906139bc565b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205461296c90826126af565b73ffffffffffffffffffffffffffffffffffffffff90921660009081526002602052604090209190915550565b6000826129a857506000610fdd565b828202828482816129b557fe5b04146126ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906140ac565b6000808211612a28576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613e36565b818381612a3157fe5b049392505050565b612a41610fe3565b821415612a5757612a52838261321b565b6117a5565b6000828152600a6020526040902054612a7090826126af565b6000838152600a6020908152604080832093909355600c9052205473ffffffffffffffffffffffffffffffffffffffff1680612ad8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613f84565b60608483604051602401612aed9291906137f3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffd31c5ba00000000000000000000000000000000000000000000000000000000179052517f419cb55000000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff83169063419cb55090612bb690849060040161394c565b600060405180830381600087803b158015612bd057600080fd5b505af1158015612be4573d6000803e3d6000fd5b505050505050505050565b600080825111612c2b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906145ac565b815160011415612c515781600081518110612c4257fe5b60200260200101519050610ae6565b612c59613344565b5060408051610200810182527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56381527f633dc4d7da7256660a892f8f1604a44b5432649cc8ec5cb3ced4c4e6ac94dd1d60208201527f890740a8eb06ce9be422cb8da5cdafc2b58c0a5e24036c578de2a433c828ff7d818301527f3b8ec09e026fdc305365dfc94e189a81b38c7597b3d941c279f042e8206e0bd86060808301919091527fecd50eee38e386bd62be9bedb990706951b65fe053bd9d8a521af753d139e2da60808301527fdefff6d330bb5403f63b14f33b578274160de3a50df4efecf0e0db73bcdd3da560a08301527f617bdd11f7c0a11f49db22f629387a12da7596f9d1704d7465177c63d88ec7d760c08301527f292c23a9aa1d8bea7e2435e555a4a60e379a5a35f3f452bae60121073fb6eead60e08301527fe1cea92ed99acdcb045a6726b2f87107e8a61620a232cf4d7d5b5766b3952e106101008301527f7ad66c0a68c72cb89e4fb4303841966e4062a76ab97451e3b9fb526a5ceb7f826101208301527fe026cc5a4aed3c22a58cbd3d2ac754c9352c5436f638042dca99034e836365166101408301527f3d04cffd8b46a874edf5cfae63077de85f849a660426697b06a829c70dd1409c6101608301527fad676aa337a485e4728a0b240d92b3ef7b3c372d06d189322bfd5f61f1e7203e6101808301527fa2fca4a49658f9fab7aa63289c91b7c7b6c832a6d0e69334ff5b0a3483d09dab6101a08301527f4ebfd9cd7bca2505f7bef59cc1c12ecc708fff26ae4af19abe852afe9e20c8626101c08301527f2def10d13dd169f550f578bda343d9717a138562e0093b380a1120789d53cf106101e0830152825183815280820184529192909190602082018180368337505085519192506000918291508180805b60018411156130025750506002820460018084161460005b82811015612f7e578a8160020281518110612f2557fe5b602002602001015196508a8160020260010181518110612f4157fe5b6020026020010151955086602089015285604089015287805190602001208b8281518110612f6b57fe5b6020908102919091010152600101612f0e565b508015612fe157896001850381518110612f9457fe5b60200260200101519550878360108110612faa57fe5b602002015160001b945085602088015284604088015286805190602001208a8381518110612fd457fe5b6020026020010181815250505b80612fed576000612ff0565b60015b60ff1682019350600190920191612ef6565b8960008151811061300f57fe5b602002602001015198505050505050505050919050565b60008184841115613064576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1919061394c565b505050900390565b60008061307842610ead565b9050600080613840600e548161308a57fe5b04905060005b818110156130e057808403600090815260096020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a1684529091529020546130d69084906126af565b9250600101613090565b5090949350505050565b6000808211613125576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613fbb565b816001141561313657506000610ae6565b81600060805b60018110613184577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001821b01811b83161561317c5791821c91908101905b60011c61313c565b506001811b84146126ee576001019392505050565b60008181526005602052604090205460ff16156131e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190613e6d565b600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b600061322783836117aa565b60008181526004602052604090205490915015613270576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e190614018565b600082116132aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e1906141f8565b6040805160608101825283815260006020808301828152428486019081528684526004909252918490209251835590516001830155516002909101555183907fb33d2162aead99dab59e77a7a67ea025b776bf8ca8079e132afdf9b23e03bd4290613316908590613943565b60405180910390a2505050565b60405180606001604052806000815260200160008152602001600081525090565b6040518061020001604052806010906020820280368337509192915050565b60008083601f840112613374578182fd5b50813567ffffffffffffffff81111561338b578182fd5b60208301915083602080830285010111156133a557600080fd5b9250929050565b6000602082840312156133bd578081fd5b81356126ee81614771565b600080600080606085870312156133dd578283fd5b84356133e881614771565b9350602085013567ffffffffffffffff811115613403578384fd5b61340f87828801613363565b9598909750949560400135949350505050565b60008060408385031215613434578182fd5b823561343f81614771565b946020939093013593505050565b60008060008060008060008060e0898b031215613468578384fd5b883561347381614771565b97506020890135965060408901359550606089013594506080890135935060a089013567ffffffffffffffff8111156134aa578384fd5b6134b68b828c01613363565b999c989b50969995989497949560c00135949350505050565b600080600080608085870312156134e4578384fd5b84356134ef81614771565b966020860135965060408601359560600135945092505050565b6000806000806000806000806000806000806101608d8f03121561352b578384fd5b6135358d35614771565b8c359b5060208d01359a5060408d0135995060608d0135985060808d0135975060a08d0135965060c08d0135955060e08d013594506101008d0135935067ffffffffffffffff6101208e0135111561358b578283fd5b61359c8e6101208f01358f01613363565b81945080935050506101408d013590509295989b509295989b509295989b565b6000602082840312156135cd578081fd5b5035919050565b600080604083850312156135e6578182fd5b50508035926020909101359150565b600080600060608486031215613609578283fd5b8335925060208401359150604084013561362281614771565b809150509250925092565b600080600060608486031215613641578081fd5b505081359360208301359350604090920135919050565b6000806040838503121561366a578182fd5b82359150602083013561367c81614771565b809150509250929050565b600080600080600080600060e0888a0312156136a1578081fd5b8735965060208801356136b381614771565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b600080600080600080600060e0888a0312156136f9578081fd5b87359650602088013561370b81614771565b955060408801359450606088013593506080880135925060a088013561373081614771565b8092505060c0880135905092959891949750929550565b60008060408385031215613759578182fd5b823591506020830135801515811461367c578182fd5b600080600080600060a08688031215613786578283fd5b505083359560208501359550604085013594606081013594506080013592509050565b600081518084526137c1816020860160208601614745565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b918252602082015260400190565b60008251613813818460208701614745565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff851682526040602083015282604083015282846060840137818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b73ffffffffffffffffffffffffffffffffffffffff9687168152602081019590955260408501939093526060840191909152909216608082015290151560a082015260c00190565b73ffffffffffffffffffffffffffffffffffffffff9687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b901515815260200190565b90815260200190565b6000602082526126ee60208301846137a9565b60208082526027908201527f4c315f4252473a204d757374207472616e736665722061206e6f6e2d7a65726f60408201527f20616d6f756e7400000000000000000000000000000000000000000000000000606082015260800190565b6020808252601f908201527f4c315f4554485f4252473a20455448207472616e73666572206661696c656400604082015260600190565b6020808252603b908201527f4c315f4252473a206368616c6c656e6765506572696f64206d7573742062652060408201527f646976697369626c652062792054494d455f534c4f545f53495a450000000000606082015260800190565b6020808252601f908201527f4c315f4252473a2043616c6c6572206973206e6f7420746865206f776e657200604082015260600190565b60208082526028908201527f4c315f4252473a205472616e73666572526f6f7420686173206e6f742062656560408201527f6e20626f6e646564000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f4c325f4252473a207472616e73666572496420686173206e6f20626f6e640000604082015260600190565b6020808252601c908201527f4252473a205472616e7366657220726f6f74206e6f7420666f756e6400000000604082015260600190565b6020808252601e908201527f4143543a204164647265737320697320616c726561647920626f6e6465720000604082015260600190565b6020808252601b908201527f4252473a205472616e73666572526f6f74206e6f7420666f756e640000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526025908201527f4c315f4252473a205472616e73666572526f6f7420616c72656164792072657360408201527f6f6c766564000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526027908201527f4c315f4252473a205472616e73666572526f6f7420616c72656164792063686160408201527f6c6c656e67656400000000000000000000000000000000000000000000000000606082015260800190565b6020808252603b908201527f4252473a205472616e73666572526f6f742063616e6e6f74206265207265736360408201527f756564206265666f726520746865205265736375652044656c61790000000000606082015260800190565b6020808252601a908201527f4143543a2041646472657373206973206e6f7420626f6e646572000000000000604082015260600190565b60208082526028908201527f4c315f4252473a2053656e647320746f207468697320636861696e496420617260408201527f6520706175736564000000000000000000000000000000000000000000000000606082015260800190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b6020808252602e908201527f4c315f4252473a20726f6f74436f6d6d69747465644174206d7573742062652060408201527f67726561746572207468616e2030000000000000000000000000000000000000606082015260800190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b6020808252602c908201527f4252473a20546865207472616e736665722068617320616c726561647920626560408201527f656e2077697468647261776e0000000000000000000000000000000000000000606082015260800190565b60208082526027908201527f4c315f4554485f4252473a2056616c756520646f6573206e6f74206d6174636860408201527f20616d6f756e7400000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f4c69625f4d65726b6c65547265653a20496e646578206f7574206f6620626f7560408201527f6e64732e00000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f4c315f4252473a20636861696e4964206e6f7420737570706f72746564000000604082015260600190565b60208082526030908201527f4c69625f4d65726b6c65547265653a2043616e6e6f7420636f6d70757465206360408201527f65696c286c6f675f3229206f6620302e00000000000000000000000000000000606082015260800190565b6020808252601e908201527f4252473a205472616e7366657220726f6f7420616c7265616479207365740000604082015260600190565b60208082526026908201527f4c315f4252473a205472616e73666572526f6f7420616c726561647920636f6e60408201527f6669726d65640000000000000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60408201527f7700000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f4c315f4252473a205472616e73666572526f6f742068617320616c726561647960408201527f206265656e20636f6e6669726d65640000000000000000000000000000000000606082015260800190565b60208082526037908201527f4c69625f4d65726b6c65547265653a20546f74616c206c6561766573206d757360408201527f742062652067726561746572207468616e207a65726f2e000000000000000000606082015260800190565b6020808252818101527f4143543a204e6f7420656e6f75676820617661696c61626c6520637265646974604082015260600190565b6020808252602d908201527f4252473a2043616e6e6f7420736574205472616e73666572526f6f7420746f7460408201527f616c416d6f756e74206f66203000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f4143543a2043616c6c6572206973206e6f7420626f6e64657200000000000000604082015260600190565b6020808252601b908201527f4252473a20496e76616c6964207472616e736665722070726f6f660000000000604082015260600190565b602080825260409082018190527f4c315f4252473a205472616e73666572526f6f742063616e6e6f742062652063908201527f68616c6c656e676564206166746572206368616c6c656e676520706572696f64606082015260800190565b60208082526026908201527f4c315f4252473a204368616c6c656e676520706572696f6420686173206e6f7460408201527f20656e6465640000000000000000000000000000000000000000000000000000606082015260800190565b6020808252604d908201527f4c69625f4d65726b6c65547265653a20546f74616c207369626c696e6773206460408201527f6f6573206e6f7420636f72726563746c7920636f72726573706f6e6420746f2060608201527f746f74616c206c65617665732e00000000000000000000000000000000000000608082015260a00190565b60208082526027908201527f4252473a205769746864726177616c2068617320616c7265616479206265656e60408201527f20626f6e64656400000000000000000000000000000000000000000000000000606082015260800190565b6020808252602c908201527f4c315f4252473a205472616e73666572526f6f7420686173206e6f742062656560408201527f6e206368616c6c656e6765640000000000000000000000000000000000000000606082015260800190565b6020808252602a908201527f4252473a205769746864726177616c2065786365656473205472616e7366657260408201527f526f6f7420746f74616c00000000000000000000000000000000000000000000606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b6020808252602b908201527f4c315f4252473a205f6e6577476f7665726e616e63652063616e6e6f7420626560408201527f2061646472657373283029000000000000000000000000000000000000000000606082015260800190565b60208082526034908201527f4c69625f4d65726b6c65547265653a204d7573742070726f766964652061742060408201527f6c65617374206f6e65206c65616620686173682e000000000000000000000000606082015260800190565b6020808252602c908201527f4c315f4252473a205472616e73666572526f6f742068617320616c726561647960408201527f206265656e20626f6e6465640000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f4c315f4252473a2052656c61796572206665652063616e6e6f7420657863656560408201527f6420616d6f756e74000000000000000000000000000000000000000000000000606082015260800190565b81518152602080830151908201526040918201519181019190915260600190565b96875273ffffffffffffffffffffffffffffffffffffffff95909516602087015260408601939093526060850191909152608084015260a083015260c082015260e00190565b93845260208401929092526040830152606082015260800190565b60005b83811015614760578181015183820152602001614748565b83811115610ea75750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114610fa857600080fdfe4c315f4252473a20416d6f756e74206578636565647320636861696e42616c616e63652e205468697320696e646963617465732061206c617965722d32206661696c7572652ea2646970667358221220059efbacfa8e4391e713a70ec9b5c2c2563c7f47558e9ce3c7e1c29a5888cbe664736f6c634300060c0033037e082bf0750bc3f4caaaad48d56276be344cbf28d09890bf1bc7018f1637df770379724039373688e782e4490ae4468698811131613efd21fbb58340bf6145861e03adc42bd1e8267e8bfc7b6d123e04bc48c7c798f29744b1d90d9086658a6fcd4903f8ae9c854a8a5b5f27fbb1b531340bdcedd5c30a0af329c0ce6c77212e0696f303981cc8a40572ae6ed7a7106b4387c3add10a8c389c26ce547635f416dc3f0197030f6a4f97937c693ad41f183138d31b4e975f83beccae91bdd3544097ee8b76e4038c31a4a104475903f94743dcfb0349cded7ec3b4dd29a50c11be8390f0e115d90312a5952d82c5fd24b3d4975f847629d85d94faa31d91877cdb595d084bce8965030c11adbdff0ffd308b193e1bc56efb4d01c530e5798423a1321e8ad74ff7fc8b03ae8117c37d49d0dbbee7baceb2b76a70ee7ab685657014730b631133147faa7603829e485da804bb23ac15f22be863f5a57358f50d91407da207e1b5c56472e8aa035fb0bc7646e10e598511fb50d66ddf6bc773a48c2fae5e8751d4ac67e60b38ba03c02010763e4c5f894bbf2ace38dcdc3ecf2c86d31b9472dd26ce49545d0efc06030f5f0a80a7ea0431e79d63e7f3d3decd39b1d6af5c84d924b0919685a837f7eb033daa89c32b0ec992e8eb012e7c4e8380e0fd1175e6c1abc8deb6342d6b734ed003d8885150bb6950731e06ce830783e0bb0085f2fcd9a974fcd36ac082d41395610316cdc9fe0e05d63c4664c7c18c0857b252466e85cb557f5029f14a0f0d3d8d0a03d714d71f08590c8590886579c8932dd1c61961bfd9a92176bd22c056de93c9a5035933ff7992bcefd60fc800c0409dcf47d77bdda3c98c097a878199ef991dec1e032a889d039695de8934b5562b4f964f5add4eeb013b75eecd10dc93643ba98c99037ddfee6443c65b96320273c706ebf3d1be60a3cc9c3350767c492d38f7348eb0036c0f802b202407cbd18e08eeb70da1290de3d2752054950ed3b5d629b1b662df0308e660f12428ed7d1b5c97115824caf75cfc4023af17af4966dfc10afc55e87400581f032aec98d756f4bee2530a28a327799e76ba53d906a0a40c2dfe69430ef4a0410100581f03ad93c0fb1a69f11d6ac09075e7f526baf42333c7a40572889c646f17a8e054dd378a11475d588908001e0e99e4fd89abda543400581f03a85fc330a2389173734c17c89028b7e9577766987f410521ddde35817b804101037e9114480017f2ed0aaac53afa681b9599876b198b854acdf597ad1c4f03c52e00581f03984c7882124c5b516924637f6c389f27a28434ccdabaa17f26e70ea58890410100581f03db30888bd7b5179a170554eb31725e75569a8a19a1bc60bd5cf1ad68ae80410100581f032f35ea1070ba786257bf0f11015912a38b0b074bdeb48f437d23ce0863c0410102196ad003660b3d5f8f328229988f9373904ec6b38d3dc17a47228869410975dfc56e08f603eca32702d676790d067f1c6531339a3ab9e204a194a4181371e8e44679056b5d03be092704a21f9676e76d0ec589da060ec91bf0cf8c8ff642377b18a165196d2a03bf6b5ea4a4e132ce3e3d46540242022fddc8cd5ea1c76240fba1034d3fc72a6e0219ffff0364485068c6b0b4666998184eed836076d9b17e1a585091a8182d3e395d6053b903f7f58563634f433b9abfe0ae6d44d78b7d26a970227eb75fcc22528e9225642a0343e64e1f18f4c6b5cf0b781389c8dd375a9e8ffea571bdf5a4adc5f5175750580321b0bed497ee45000d9ed1ff59d7fb53a6b2af4f0b60a67514fdee0c18d59d51036d06da764fdc4331416b4c6304b937374cb57211c79b46be299d05d30ed477080389db2150a9f5109c1124f62545fbcc3afd82499bee09196888dd4753ff12e2ee0219ffff0302e6130e534ff989ab1fb5fa77aa768da51ab9a213da8683e32d0de98a8482d403354ac923d1ca0265f86f3114cfc18d0d4ad3fea7a29b1fa497a2174fe2381a53039c160f2441e07fdca96899d3bc74b2190545be8daed956fe357ddc6cad88b5fc031b6c8a4de8c658d72a4058a903f7fb7113ccca2685a403511d4ee601526ef6200341de965752b460cb7b077c69c27cb6c525ba2fe552442b0adfea5be52bbf2d0603b8ee0a39f2d7741728c3db7c4b97558ea4a08594832ae2c00b461ba1182c0cf003bac9c2401e01ef70f7492331046ec9a50bdcaad1e075b434c5485e72e338421a03e3cd635d0f4363c819fdda7264a1206448d51f39617cf2bf0de1b1c94e36986e0332c4ae083cce8dd78bba16a518fc81af65152e6cdb64ec87e732f96c3bb2e6e503b55a272c8109d13bc41ede0ed851283e7c93ee1a0369cc82c4d2ee8a25c9258803804ee891388a637f1cd98d33317f055173c989563e464fd853ce71d57c1be55e0381dda95697c81f657741dc06a91c27d01c88739abfb572ef1d8831482706415103c4c1c4b9cfd3d2995e436c41f3e6944f1f7963f5115b1c9f873adc1dd9f5cb8d0219ffff030644a35031aa49c2e2f658d73b2baaae22099acd6cc37832640ffe60c2a26bd6033f10b6366eae82b3aace849a871e44af4d368f4af8627e6bc27d3788d0e051fe03b0b02c8d05644ac6479bc1b445052e29db40c3f9c02efe2e7012c12e5c254dc203e45d78c3e08b0c509cd1c0a1beef62f5a020d1fb4b9dca94eac8dc50651a3e73034455c48af5e9e0158b15212a5cb57d83a938a360a73ece90fc99c56fb1f0e141032ed4b7997419f0ec7fd8a70391458fa29f720ec19859c2de9b7c1dbe6ac980d40329afec60b0be642b2a228cdb3a2accc7f7b9e43b1e294c369bed55cca5aff21003e3ee3b2027e5fe8226d5c933372da655f2245c394dce0c2d8160e2d30d36f90c038ae19497bcb147af7aea81b68d9096e6f38bd7baf46afa8e6f7850809687c7d90319527f8baf5be28bdebc7800a15da633105f8be1c67b7722968f09d3952cb33f03955d2749f86cf44d48c3114517042555b40620f86f6b7385f7fb2acdc515818d03995d2a13d0f643c3b19384eecad3d53c83c134ecce132d27eed312c19ed83ebe035130f07072543cb4e951ed59a95c6182e1243321143d45aa9e05caab00273655036a1f27bf25f2e8b084a7a1997d8276a263615f910c202000e17eb98384da34890328ec23589d395d2f2d84bd960e79845f189c8ab3932e0c132d9e3f4ff8844e5b0366a2875f35152992b21e13b5b35eee3b7ff6c47b060fce64b517de48331b396a037a65cacf96cf98175641dfda97ddebfb222de099e6790694f4c65490432ad08a0356f1933a2b0bab7a561ed905a53868914aeafbc9bfdce7d8630c0a9356796996037554ee8d9fde884b65a480436c40d3530ebc7b6cfdc4108ee332dd4a995cc5ec032de9ac661a1d9e2ee4d734ae2774d7e594c774dfae0e1c0899a26b7c5044836d038f36e0607c762d6e6a56bddc2130bcaafdbac63ea91e8b1b3544337aadc58e4900581f0354af26371ae64a0eb44d1c8ca206d5ded7649905d14558325be2c52a9000410100581f03da5e9d5f2a281bef274fd35a1b1ad90d7ebd2a7b2ff7f48d6f5fede69480410100581f03df8db345ed1ef06463273d13132492e58ba4aa9c6a90515bc8d019f8b38041010349745fa36648a69be7d0e1cc12f8bf025a5a19c60649f7f0e57dbb65bfea585b03633a10534fd9059bd9d3be07020d7e1dd1512a81502917c45fc9cc8eb0ae0dbe01410c00581f03acbcd94d28db2636f3b81975416671202eb9f14dbcd705036b304664f9a0410100581f030eba8226fe5ebaf9470d0dbf363464b98a068805058940831d48d0efd330410100581f03917ad6156cda74f6a909ce8922c9d3c3bc8b1f7eec0c536c6ef083bd45604938a5cec2ad4780ffd600581f039d204df4b361636a6121f9bd8ee82074f4ecb1773c627e17dd334eb757a041010219abf80219ffff03c9ea7f83578c3ceb1dba40856063c4958092746a9c825c4e6a267b831e9d81ae03ae666dc7d7ab69583678f86700dd358474678000afd6531367338775ae601a13037df449a731089b4bc2a0fadc7ca7e73c7fdf384c3af0c51ac62d5c05dcd15b0403f105c01c60490d4a20a0e05ce787a9a14df824b1613bad409d6d49bec004b2b403412a629bdbe9109eafc7d41d6b261fcd136b556f574c4c292a05a3d5b6623104032cbaf87bb9ff12839a0ec236ef75377784c8bb8adc383cea2d004fb206a4c0cd0324d557caf61f1c2b84d7906e72b99ef0f0a08a66c8717b1c5457da773e3b61c0036f52802c12c432a8f52f70be442a98c8344a59fe3ec0de096fbbe288640f54df03832db314a64cbb68bb7859a1be73e24305c7e615f1ea8fc30f99e71a1888043a03948d35184fb2f9b97018c83456072c9e4033cb03e422d61524575011d3d4638f03e0b474cbb2ca832d8e95b5da80e96e8bb71b1274ffb4c6a01ea00a85b8765ccf03e4356c11f72df3a7033198f1edf0661c322ad4c27a16b4347da181467263cb4f030fa0e769ac157229b8361208458c55414e58e47a986c393d72c414feb5fc80e00353fe387454d3de467b1452678046d0c716fa7d4ceb9ae782004b6badd16e45290219ffff03f16e692595ea2c6bf633795fc7b73534a0c6cac965aca372df1f466df5181510039a8cf475272adaf5859cae506c04bae44aa907be1a1cdd31ebfcb8868f17fc3903becc6bbc0520163ec3a8e4d5ecbb8bae5734b7ae474d7f300c1bc470e8ec2dd503c4eefa1bec6e7f061044bbf22587be7a4132f5643281f3b1feb5eef5b06cc34a03fb523a42f50bfd17752d8e1180f6daf3a3ef637bb61737b5ed4a1e862bee47b403d07ab25f3829e81b2c47ac7ef91181c7047a073708bc892b65ca9db4023325c80307e3edb5a1b7ffe45964281dc9439fd8d57bb9cc778a2d7d20051ae890f629530331d4a1f9a282bec7b5a93a317ed327b8c97add47fd78d9f1d3ec9a9b5e890407037c026792f9fcfccbe80b0b9cbd1f51daf14cc97658165ad16de59a71f9f485a303a18915caa126a7f949f25ff609bb7301df677579e74bc992d2e4eb57d33169aa03b4bf027fc300097ee26afd3d545697aa99ebbd4d09599e461b39f43eba459f8f039cc1c3bc1be39c4fb94a0ac177d950a223bd9401c0a8a1080c1a124e2fadefe903b9027264619d3713ec3412e1b0c1123aa78f0c974faee88df6afa44271406a2d0323b9b15133eb9f90278c7aaa25020c44b577527bcf07303f4e16b60597928bff0219ffff03ff7170ba5812135481cc1835f722a1e57d36641c6233793d5e7854d58c40259a03254bac62c3e7fdb3d5eee1b6144f66f7e339500ca4236d510d71927b7cb5cc1503c1de7ec47dd69a6436b97d39e0eefd84eb047ee868c6810c635c003767fcf2160390ce216481727402417a4f9e3d3cc827c8ee2945a54f5b12439780351860881803bcbe2e5884aaebc0c77ec67083cb93496eee369102dd9f966f2a1a37f23e20f903a31837b385312af56108b8abb43dc8edeccc3c56b476369fcd059225a4787cb1030d0e295c834579566c3956475f97153a65ef42e0d73ba05a0738960038aaaaca03a5f1e2e840eeec90814e4f5ecb4ee0f6cef8b240bf28ae02bdebf0998c5bd1d503f3114c9db8b9bdb127e6ae2918dc3726cfbe49fd8bb38c6534c6d853189c04b503776872b1867bcc737633d58d768ef93a70a761bd246a8f6dd36e98498989ef39032848b839b146f7cd1333ff9a10c96cb8d38c673e333db627477d337cf939584703cb95b4650383c6cd71e4cff596d39a20616c00f6fd2682b95594a293cad8b81b03e264fc9ecad72b42b712117b479b3bbafb8d6a85a4ae13160451fec92d918cee0343205d47dbeb9aacaf20c10d8521fb4859776cfd54a0ab4376410e8af6f4d8fa00581f031b1a64ec7f7e42e18dd41c70ff81429bcb1eaa65072765e6e6cb0c448180410100581f0372f4c1deffecd4139732e9ef6bce529755ca9d1fc1057eb62b2d73adb1004101032d1ed34128bf8fd738b4959627a661bbb6bd2dfe0095a072ea1fba7ce0a8608e00581f036201758576ee2e628c34e50bef7aae05140c840d97b8da96eea9cfeeba30410100581f032aef640907ffcc422a153418a09a12f7306831773b50a4ee351e78db46d0410100581f0366a6546457b37725810b770c084118cd1f4ca2bb79f20652bcdd62666950410100581f03a874451a20e8111d6fb3c53ca258507471bb039e3be7971e538c1256b8c0410100581f038359238b1ff10fa1e52ab43493d82e7d2346f9c4b1348170bdf607be8f00410100581f039561e1518d5ee168fb80d8e7a18fdaa26070fe7fda4cbdc2f80435acb6a041010219ad8d037dc1239cd836ed9f802c802fc7f495f9b89486ede3e8edb6683d2dc576c6d0d203d076c30095d384575838a37753a2a22d29a25515021c765f7a5d2767440ff4e40378ed49bc6a37bf98884acb66e3845d94b12504037bda4c15fceecc42cd11493a03ba8c9bacb90bd5f9812910ed11769506e48e2f7b522adda2c588cf1a80128fe703c39e469c97e8e08413ed859f83a97d1e8641818b00b5167771e2bc572e7e2f940387f096e8482b6f9dbf84728a96494f672515af16ec5863292fdf95120445a1d0032ee6b5ff9a8e69efd1912bd8521422a656236c090c146cea417a0ac6e910a30103869029d49a178a15eef8aebb9b8233d627e96db66f1a6c7a8cc894e047d7257b03b557c39a7cd4d2d60fd156326f419cd053e57807730ee0fa2bda8160da1d956f03b6e9c143565726749a636a63b70e9d629e30a550f05c55218af619c724ce8ea30356fd5e9730ea67d446565029fadcca504c9567e94fcd73e79602bba1e0f1f7ab03e850797916764abcfd166dc9181afa72e1ea0e31d263de3007de5e6d875d37ca03ec0b009891a876efb0da6848118b05c2e907c4f363b3fba70f2656e66f1ebd620219ffff03e6820b8cba6db6d1410676c10920b518b9849cb50cf40ed6b6b8d61e3fc5ddad0374c6550995391aeb882297e63fe2e28787f324c8ec814f064f5e8dbb5899506f0396ff4837bfb8e631a0ae831f245b21f8384a725ebfcda934d184fbcd70ae751c037cdcecff3deb1b336aa9eadaed11467df05b29dd71c167b796f87b1c00eea9ed035662c057ba3d90b5deb5d1e6b405dc9710d76d48c2bdeacf72cd1b664734f8fe03f0fd746e54af72e9b547e3075005bb592ae977db2ca592307bb4176bad3b182403544308a9e0910ec232a444975e321baa68c69cc6a968f50e27cf97d5af97f57203442c5b0d5bae9b0d1186b79d23c57f6806a6a47ebca6fb01a26901ce034d3815038ee4e75f49dab02fa610ce27d1a6d68ba537d9745a6e5f67b682fb4b8e4d54ad039c4d849e1d7a3571d0f9e9b463b8321a11cdd6a06bf90527cd048ff031304d1d031c46361513b71b187a55a27f7c54bdddd77a1b5071ac1332c84b675ed435406f0372b62f619921453151daab828f6bc37c7133e34937e9d7eb0c0d0320bcde88060219ffff038ab8730433d5d952040b076b1cc04f0140bc6251eaa435a870b22b559c7614a503727c344ed9be1ad2e1ea7367aed6cb2acd821f448f2ec7e889d55e142f260a5b031c4c68202e3e62863eb9d5c3511b6ab4e8c81fbd3db109aab48bbd05fd51ed7403250a63d4b29fca84fc81323c5b2a849aaae50fd6905b30eba0ecea7aa168d0a403ea5581d62c60c9cfb481c67c9d0c48f46df490217c08218a45f844f1313a3fbe03e8e7360c1a1c063051bc41ce3052b1bd8964fa0b12239043a21e133df60763fb036872b99fa48d86c807aec18a9b82c082f141865a14e326c51e770273431267030219ffff0342c1ca2354e6d87d9105f5742b83d0f910e7299642a8cfc1daa32e02999c78e9039c9abd5337fa9f5d344300a8182b20e925fa938d7b3ca0cb0dd8d067a045bb48034b9fc63bacff7cde7ad3d1395e5ac6fee9dcaf14f8e3d91d89c5e4adcd28d3cd03394289f670eb7b1e388ca80aa62b7a264e2ab3628d38fe773ee630d8f0f9e775031b1fd668daabfc77af1bc069946accfbe0fe34cb3bcce2815c2285d16ef494e9030f8038e9b1980b292b4405be10338485bfedf3079c64f93df10624f79ed7a4ed03954c4b9b5f6c0a1808ca35123999ce04483afb44997255f09a61ec063885e5f80320365325945c47c17b8a5ec647d2e3b0caab0f6dcac4b3a651c98e247fcf6583036ca056f82a6ee2d44992d03f8e0bed9736a650fd3556a17b1011685f8a98791103309b671b5da24948801f3903991e865f9402dc727182bc6e78a5fddfad94bc3d0392473a7dbf1fa880c1eaef4963ca49958ab6f61296bb6bd797653d21a3bff68d03e65e8d10fc5013617f68264ef2ae5f171ab17baf8f8327d710804f47ee18422e03206fc310729afb47c51407db1635f6f42ecdc1dc2623f6a9bf7b556d75a1635c03cbe8063ecb38e84a47e6ac18df62373fa28be2712b3deee70c14adb1b29bc47803d071f3dc23bed8c075ee14fc87ae0b57f11769f57285508acd8ee69cacf195ab0334cfe79ce2b65b3cca4f55804da35e4e63fe4ea3d2d234615ff2d6a7aa7cd62e03f3386a9c2c153027350f0461055726f4579fd9368f8fb4a36b0ac8a7fcacdcb000581f031b8279d6750cf35a9337eff62a33a5647d7486e1a9d14eb6438a7feba220410100581f038c942548d130a02821f396d2b93693b84c2b562e4f82d65004d21abef240410103a787db5b1863d71642cd6f45ebf2f7af72d6f7b0ea9c58d954001779db115f0f00581f03e8f09a0c4dec17853625d398c05aac900f6d80ee3161f848be9b955d81f0410100581f039dd88232f7cd79d6a946888c6c71130dbe5e5fc7df2c51fbb5b186f5d250410100581f03272cd35550810ff7794ee77a8533faabd4cf4f30b210a3ea061838794790410100581f03f8440159d1300dd51e063b743d480cb0e15fe2b8f7e5b4f2c51e8822a75054710bda329b2a6224e4b44833de30f38e7f81d56400581f03ed555f0aec23034155b4ddedd74280d40a424ff9d25e5951eacea95a5400410100581f03facc292c4467ced3614bd4b9068d3cc94fd3a42f96d0e5b7c3c5ca32bde041010219a6d903e06acf640bdf9353236eed5d8e3377d3c45bdc22b9d418c2b4ece6b2048d14cf03a2b72222222e9bf911ecbc973526e1de069781c7d5092054e21b3b3f95cfdaf8030d3a340fbd8b1b7adeac88ab1bacf37242fde9dab22f1c70d011aa84224606de033611aacc1101b2a58f39c9c243d243d68580adb0d7f283695dfc734ea3a2f41903898cff3830805ec621e13857f404e895e2f29b8ca7a161bfa738f678acb2ec1d03a5414264ab3bcae68dfb570de0d77810bae68dc9c9bb50b1f243fdcc723b41df03e1baa47f71baa5d7d73b2a99d42f2949153a6e02de0212e426a7886e3e2fe3e203130574b9971210bb3fcba7d2d765f0f4bc31fe1d83f70beae12bb3d5df9d221503b87c48f0bc519cc50f436d037c61152af4ab0b8beec871a1efa9991b1b011e81036a93a550d6825afcdbf581c63cf7e6a0a483b9f72ae6130b33f4a9bc42e63add03261c453ba8178497fba073ccc6e1116ce0bff1ef338f7331abb3c071d4ca92d803954e1da21910cb9ec459e03ae0b6825881a3450f0a2f3692318a1e1724ec4d13037f98f2d5b5a1f1b2d1c39d83b89e8c5ba6cd881b6ad0a6ebec388cb809f849bd0219ffff03298918f52d146f020f11e0b13515b29074427ced949b50fcadf99751c58801b70383b134f1d93108e5393c179a91855dcd0e1cb08abf4d1a61a0fd6424105352b3033e948c393e7149720083c52c8d24bbdeaeabc224da43baa284bd87fc1689f6cb03ef3bd77eca0960231b7fb8c34d1368583573a40e77e6afbdb306810fc5658aea0219ffff0304f5e6f471febc299476549b8b500c4282e2d69bb880417006317cabedc6e23203f1fae67893cf43b22183ecd325458f54d6897359a6ad52020b0e93595eeed3c303a52b6429ee82be64d44a5ba8bbc6d0f1f0de481a2cadf4adf7df260c7ce36d7803b0bec06b303cbc21a880473cbc1d90d95504fe6b134a969e051139b6046b600803e3186a26ec26e6924a0771a06eddffa92211fb514bd88add9c87155e2382fcb003d75797a5b58fc0b14e8bf8f3d031e6c86f3e7af47259133df46e0032d57b3d2d0319cbd23a7bbc7a88000a6a20062ad9f3f856c58a950b6bcb31292b661462391a03b8d1dbce366f49aa2c0b32df3fbf0100655d8932dbf966d77d2cb7b70ebaf941030df723fa6bb6026c4a1e4b4924c3ce55f0a29d416ad5e6baa00621735e154781039dd5e8e5d7f8fd210f941c1a5c2f6e5ee5a9da9630af76e95e595a34da65cd0b033835577fb3c909ec423f772d519c05f9e5edd7cd07ec2d45ac209431805c5f5a0219ffff035ddbc748ec22f47ddc677f27f8dd6247a478ff14ea96fdf6f5438d34eacc92e503d263e001bf55176e8b36345b12a6cb05e56fd4664a495ceaa386dd51429471db038dbfa54abd146e02f1e6c60bebb50063fabc8ac0dc2157414d90f94b9bb089f20380afc7c14087c297b3cc62a821230d0cecf933f748d9f45ac59d7aff49ead58903ad1dbbe92b8d7c50b84084f6bea855386b0d0fb07d4f484c2f62fe583ef5c08b031ff41bca5d6af6caa9334110cc3cfa93604b9fbf0365a09872eef8ca676b425503e8465c44b52da29d54de338ecd7fce9ccb05540c6b0049c9ea8a040239d5ffca03f66268f3c08707f00139b6c92931dbb141f1deeb6b82f3c6d9dafc542455981503e7a9dac9257416d8e8c03ee44387c5c2606aba321aefe86964cda622421a5f93033e5b164e0965c5b5a68dd8545a2a890c9c74b00c587c8f65377f8c5116664d10036eca79c9ca739cfd1b56e5f2ede303d5f5af3daceae75b2a0ede00a8fa8aafb20305fddc4d50604a744698282980cd55b9698fd9e10d2b42bd07e33b334b8b2c7003d7e89226c72749deffd04aa86f6d06e5438341be677f2b5b51a890acfc304e0f03606c0e45e00029ba8cebee7c117222220b8ca071cb1d1f635a42959b338f74b30329da460bc8ad173b7e901e68d785d38e280604cb236937a592e81a9322f4437003d89872f124bceb220702fa3ff860258f562d01920c8e730b2564614b3e3133a803c230cd4c4117e57a3288086bb772f9418f7af3e21841643d8d751f4f59a171ac039c699987013c08451e8298ea1e90d7f8a7632cc546d937353c86fd8dcadfca65034cb578dbb3d0e51e7623d2dfe4e797c41f7bf05115b76c4ba9c7c33de24932eb03862c88f31b22ae046474ea55f51c29d14cb42f3b710b2b277e458d848ee504c0036ad1b0b6828cdd67025d83a356dcf3d37c3e0b5affde1bfa5d123a9faefc22ad03c8caf33c02134db9adf7b0185aad2c1c3d3ce918ab829f88b7f66edf8ace203d03a5c46b8ceb1710614c2dffcf0b3278c1884bb7a1f40b38b83a3e2fed8ada784103d5ba5ec684696f67c5f60d07559e911357ceb8d40830e2d7f3d2ff29f5f2d41f03cacf5e5782045029dab827c9cb15a60264bd7c09199427651696f81e180d4cf3039363985ab1a087738a1a72f3b478811b6b4e81f4d9d5b909559109e0b9d41ae3031523d3847509e77bb4d36c69dfa47febaeb038ad92ee311e17795127e52b75be03927d9d2288eaf5a409910210f725c6c52b1ed93fd5fc2a7118cdcb2cb0e587c0036b6326ac74f1eac6ea4eda557e4ceff75f571bf261ee6ab06d1ff418f949432e034d761ab939bd9e795c5f9ec037285573bbf97d56eb775321158b5c0ac4a2121403c0ed5a667148059fb30bd3a3ff96b061fc636ea7728f24488d96be753653ef4a03c0312b719b4d5346aad3b8832a939683b7ed27bec9e34eda5c2081a51c5195ed03d1d750f0c319645894ddfe3d19a5d3491a7916e45d8934d14e42be54242c0e3203a824b614c475486e95b07232591b3c29baa69a73b2bb9a28f5763c8157c6b43a03748cea684e02f0cf0d9ee5bb13910487fbf84702757b8b7305956edd8e0bedad03a3d49e6c0f74e597d5ec8316f8fd546586fecc87a5280ceca9e4cf42ca75939303c7a0e23d104f74b9b914225ebf6ebe0e29e67d1cb41d08e42724601974c65c890355b6b113057d7d74a23bb5f93b6e4bb73926ba3b06521b7883fb8ec4d174e20b0380b7170f767693a13579ad0e4a45cfaa777bd5b81192a922fa99d6337bfa244f030557dc54361bc25b39811fb0868c99327c91d525c3476e3023421810977ce86303e574d82031e9acd5f6b314e45b448870eaf9d0350a0c9e61cb085cbdf763eafc01410c00581f03ba95e8c4913212c64d494ded89517592a35d48adcb04e776f6dc8ae67af0410100581e02868f506656039d15b2cedc9c591d4261f7ae797be84284526d1fb50a1e410100581e02c7f796e8d8633eaf5cbce5fc3ed52712661caec0159706f3063979fde649d3e3f56d804eba3fce0219010100581f03f8fb3f289eaf2b93bd48083bc375f46883c704a7ad8197778aec0f4729a0410100581f03376bd7966f56d732e81cb936dcfe98ee43bb7126c0007bf801ff4e85a360410100581f0354aa6438d8bfe6d06356f7274722cefc295f811d08cc5f87c99cff0af4c0410100581f03f812afaabdd1de3938bf92ca2ebdcd20f091d983f5f5281a44ea63a9dba0410100581f033f16e1dff9b78ab52dfc499c5ed655424c1860ab2d0ac34705defbfad730410100581f039880718b5f565711698537203a23dbba2bb89a9c3218ff98dcd9f0beb130410102199b4e03f132c258d8d443e453975d34383c46779f80a4d1ad89ed0a4126cdad6b20b4b30219ffff0219ffff0378595a979bf0bc5d69d1d3962ffa20be7697a93b1108e6b37d7f6ce28fae321a038d06c85af92b37251225434593657ec92472ef5d37c4e30914ea937889ce02d503723e2c0a8b74fbe6abefef479a59017e7eeb7a2030165b615c638d24b6a7720303a031497b18fc541cb8e4097e187ccc817435b1e9ee31d45390ac0ab580ca48850219ffff03cd3f1d37a3e9bfd6142d3b6d3c6dda26449c640610c73e9b09cdca495b814d2003a086522f8e8dda9bf018ea1e8b2edcc6d89a26ee78c5f8c8aa69bcecebe859f703867a4f7b5e5d5b5107313b61730ade9c95590240a62f37894cdb3bdea02940180369a45336f664116726ee6dbbed874721405de365568d2c73a89efae7a9920c0303a0d081051687a9e895736ea91a901b86fed7bd78b1de4548c429e249a9957a37030fb729a406eb58754fe38e523a41b934241e38af31eeb46999b918806d40da830345bad7ea630640e4b011533d263650122f8af0ce7721f6227119232e85aef7e90308ebb668cc851c0996c806ff02c93c986afa7e4eb72149d8bf37dedc9ae877cc039bb684815f95aa24b0084516e7533b9adc014c7ed28d5c0951066831178f468d030a4414432eca917ca8be8aa02aad4093ebb3b1b087d64ff2a1ba2252a808c9a403be681ff65442b486509cedb2518d46bce78f09b5114c5c860cd6a5861fdcd9b803d0afec0fc826c7683c49f4926c2e064aa45ea75a1cd468f6bde76a78498bf065032ad60cf60f0254cb2c7837d5aae26f7a308a48a1dbdc3b1cae091936058fe9b703c8d8219a2dd83250df8e428f8d2ec4686346c28d960c575703b42874b9bd8a4c0320d25afe16072e7558405d4c23dcff32a9c3cff5e6adcce49cefe725d4f300ea033bd418cc06742f09f1d78e3e12bb0c8d4a7aecd1e472214dbed7e674351a860503393625e56cae1f56aeb05f78233be66a4668fc3f9e04d8ce4bbc2f697def969803a60dd6e073e0b86cdd3e7c58b4c2d897eb1a9e69ec5a1e28250938bc5b07bdf70314ccc4a81332c4ed6d52a97d783ca2b919f03e0895115f2c39ddcd99822e21eb03346398606db021845ff24dc4da3daac9f97f04af72647d0950192f9bc66c1722033d032855b84701c1e9c57db4483f6149a4d38267482f1b0d89a3217340b1294403e621498c1d7429ef2858af03f1d0c890abec63f37906de0a2adbe0e23bcfa7a603af9455515cc54d3daa9306a3d6a8412225c085e2c6dd6337e6bc43ef60ca636c033154514575a3aa3c3d05e4700948f19e521ccbad424369e858954071c2efbc1c03cf8f2ecc9721e2f41840c55c8ad6a67d4de1a43d8132a15a92d67972296279fd03ec857bdf474b2db776c065cffe8e8cc024070decc0d98019ab295a78241866460361ec0ee893ed90d2dccf8cc4adb11bebeab420ecef4d2f9cca281e4afdbe7aa40331872c4586fd825f3a510b558f35189854485663c87a97f582acec3fec525cef00581f03595ccabbd319a991890d31be2bfa6c6affe9020de37ffc4ab2faf643e3205426a1fddacfb9f6f5072ee5636ed3429101e6c06900581f0310d344c147fdd4ba9c86bf67b8994568651d78adb07fb633168cd1532ea0410100581f03e159d0f781604237c8cb25fd56ee23ab1202cb477ec1f6d71049000e9240410100581f033689a7271515c833cb366a3cba6b1d7ebff4b568418786dbe354d9cc28c0410100581f03dca5cf27d4d7079289654f52868241fa278339fc35f30eb047f760974210410100581f03b6058732e28df330f0ed90b412529bdb2617db4ad20f29ef2fecf6c3e2404101021912ce03738f91ab5e46232b2e88aae2f28a3f70c41cc950e0cd176fb86f021d36087f6d0300b233ab927f0c903378e2fdac7d1692070ba199a74e67a0ba0957156f534aae03fca2dc97359a751f8de7d89ae8483a66234ab64a6290ac57ed20945d5b931e5103759b6e0a9b29ae9819af8a46a8a1f247683685b19f1d7564c38ed9feb0747db2038aefcafc5910dea0edfbe3d053f02631392540f9e7111d0ea53bc51e2f4f577503492bcd9dd40313a777a5ace10d51bed0e1bf994eca064302c3c30e4c1ae8321a03b58eb5f0215b2388b4dc04b831f3d26a29e89ca498227ac608835a6a201df4490219ffff036981b655b3ca8a99ac10c7d44e9fa435dbd33f92da2ecaedd85bb1944b5bfc880388715697ae5a931d9de372e9e99a8f17d950cde53d0a94e1928107f02e5b5f5d0219ffff033969253d82b77d351bd8df440100493cdd5b2edc9d19367297e6a596abfc3a8103fef89313772f587366d5baab5904746a1e0ceb87c65ec7ecb7b6dc6f501a1e17035ce19a3580df9dd5f5dd4c9c62e62963593555a35a7455db53b96938b4ea3fe203aa719b15742aa0c4f35a06b8f8bfc44ba37357349b1b3ea4090419423b7cb51203995ea0e71e7baab7925ab3d39b266cca5e2c314796468eed6b4269af11374f8e03b0da43c5553113954d2988d91335591191dc4b4dc18c9686341f1941c3ad57de0354a32e2ae1df2b7ea20d6642f0a10809a9490bc5690a1a9882e2b784faabfa56035b4d7d68254cd97693fab6fa8ec37fcb5fee9c97eb27794e072b1d15029c40ab038a50e119d3e256ae15bfbb86b47804b15c0d030afd01de270d1ff244646f588f0378de943ae30292637622ce791454e4beee899bdcdca8e8122d804149ddf7eb4f03d9bbb8c3b5de654e6469d6693cf9a34601c6b191c56b61a904444bb19bdd24960219ffff0355f99cbc28799866a3d3402f4cd842d32e40500923cc32f3c04cb8d14031413303842f1f653b6fc3a2858cf0cdcff79ac8effd796fa447d0f4dc17f56a0d82439703516ded2ae9d0c5f02f9db13afb1c2d476c94a259c74f1d0e67c382e36e0dac630219ffff05581e03f2a6f06c8efa9b74299f1bab55351048368e26000f89bdb89dc0fc30f00f014a025c664973ac9463a11c19480f05581e0359a6d1d1049e1efc695e62d8171a13c416c35e5a159e5049ef1a57281004020303df455887b91cf9e03c9355267404fa76ba57b7429d3ed46a60614fbe3ae4fd0322ee3afd37aa5b0dfebd9c1c586d81a1b49f02117e848f3d8d72c57c2c18718405581e03bf748e887c8867efb714eef71dc92591a97cd9151fee51b2fd0f4f42a00c014714de5f3369200002197ab80306486510eba81049d84520b30328eb0ef5402d62d223b7b585dfebd61f8bd39103185c256b919ac8ecedf8ef4cdd8f12fb37c306e000fc0f05d6003dad533c03260312b292b823f283b1fe9787d4c20da9178f7be03d0f67aab99e5bebaaa53c47d4032efd84a6078b6b44c952f4e76256e96edfe2a939ddb8f4c63ceb6f164af1da3b03b3e27f1083ee788dc558a4fd609bb18f35b4b4800c959bdf4c40f01b72b93fc903f589469abc4f1270c53effbd2445ebda18daf4e4837ec3a8799c0d85b5098f6903c534d166266fd94eea24c170f657df3c37a2382304f5081c325bf62660538a3703f581b3e6a38c0417c5021e418dad04427d9237a7f78229ea9e6dce5e970717be0315901bd38eb4c8cb6bf912ebac792ccc0238421f5ba7c3ba470764326358b9a50320a29196ad684e565588521d5a43ea1ad60c586a15d39f0fd44cb8ada39fd9e00219ffff0385413a2e45453085204ed8820d5afca1ff70be2235da5b5b399ddaca1ca9b10103fde6db77cee3940e60dfc6ade9f003d6f8471c2915499102b5c5fdc0afa80c5603e95904ebbf59a5aa14a38b0b3ea30060a31e53cd020c1cd142cd1c81b157ae5f03d3d43bee9d1330d0de14dcb4489524c0920b9c47603e293b2d8cc2794af928db0343be9c0792f5454211b769c3d519e40c05cdd96379c52d8ea0af083fc0a0587f032a97c335f3115132d2950b0ff8071f59891809ccb369e3af4d3334d8caf272a203dc2682114a532506720dd7ca508f85f1955446f1480b07fcc512cb18d0f5a1e60219ffff038395ad3693361533dcbca50b198cecc3aa8c1074fd50fc6400cf3ef20600dce403cc698e42697aa27d4b5c0ba12795d126424553c737062117fc32dd6964f91ddf033dad961e59a623b4d6b746964d829bcd24f11c2fe1c733ed34eb9562e04be997039c0b483a6baac519c5c1c15431ca1df0008cf5985557879e2ffde85c21e1e99f033dcb8c4ac0ad33db68eb2cfb9eff2e96a570ab2fb5055f87be6381107d0c628003c6c6e43d4f73657b85340ccd3457b4fcbec35c927134a93e041463306eba475c0219ffff03ad22954005889aaf4f454f20cce6292791f08e36c35a4da8ddefd7cf50192c4b03c6097e4ea91830f7831111e89175abbbe08bb66486320f12ca36cbc353958d2f036944839a3fbcf93978a44bca502cae39b41851a553f832dc11316b2e69bcab9103269ef4d1b368e5cfcac8c1f9e4660d14ca61725cd0d1abebc02d75dace364a41034e84c8b3af2617dd3a0789463edadf1ea7d03096955ca57cbfb900ce5a4a35c203fba7789e19a35269253864984220fd68d46d696c1b333bd14e8e444a8ded69ee03d9d87c2958ef5c09100f1f6bf4d344bb84dd5f3d6148056f9d87f6d55a36847503d6788148e86c678c4b2e8a344f9f822b520e29825af34626d7b85a6389003a3f03ff47d8c49fe4ad536533e521b65555871b210ec090d18499b391fb65ee3efec0031df9f120c317b1ceba5398dd82bb1f747a94aab640c8bf005900a49edac13f89037203b10a5a26164bc803184681a33b388c529fd2d7c6c2665fe92e7bf319a06e03d830403793ebdf58569146edac80cd1408bf0781027ae65f62a91a24240c6dc203b0e5d0fbc4f9c585d97cccbe164a477307f392c2580f459742c4b5b44b82f2b60338b595d0d10f7bfc24061de97e8359e5002734f64bc32b42b90827933e1e3334034244641cab76e561b9aa364b07cfcd326fc47d4c3fec37d1d8f7ec4f1ed9a3c6038cf5c988d0b74159be8735bc946106ab6a370ee9799378480a88937b68d9f7850379201d402880d175900d785658eeedf4f9fc4ba9582547d9d1996f8d51fe6f8f03d23033522ddc78c115b4ba64aceef642e20e9d0846cf331d6481a7746c3af22e030a40a09e3667c3f7dce70c84b45a8b50aefce263cf3d6585bb7ac54b0190395f03d2c4eb4ae3bc93eaabfb96328f6527508d8713681fa64cca14d1b18b7c3e7e4a03e720bcc785f26c9dbf9c5f1f1ce48a8be601fd13470a1e535345b233e9a5b3cc03a3a3d2acfa7fa23e3da3c06e47935b22782688359089cbd67a4ee2c897d05f6f03644f86ca213541e961f8f8ddd6cb792cfaa46c4eef49f643330f6a707683755d05581e0365d673e622119bcefdabe865787de9b8e68dae2624b30ba5f07762ee300c024803fa9c69ae3a400005581e03d4317cb7620e30cc1b3c8fc9b2c15a8d7616959c47fd0fd5f452fb73c0040205581e035219bbc572c2b35c440d0bde99811cd8889411dff8bfaf244f707ea290040205581e0387539744c607e3649d6342648bfef7e7575439081f9155ac5caf8121e00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e030ad47c731113e5bf07b24ce1830bb25bfab0baff36ea38bbd487db177007011bffffffffffffffff05581e03fcd48dbc4def0d3f2d25101af0aaf5d653868e529faa4fa4ccb81d0730040505581e03708d11bbc587b158c072a4302599aa9d5a509cc1a1e6716362b7d59c400c01471d2958d45ead2c05581e036ea6b08658a92ce5be4f30a35d8bd8d3b77bbf72a74555213abb92e3900c01473cc76c09b0efb803197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e0370b3c433c22600673e3bc42e6485401dc00ccb5f305c824cd04bd7d8e007011bffffffffffffffff05581e03f230fe347f3b0b314b05b9fe8a0351e8e2aed485071e562923584522500c044702ce80355f67d00339461b9a93954585f8d65a8349c7c0c2bf15ad4ea9b25f70b439ad78abe19b7c0219efc903c48d1a152b56a72664139b2627de3db979e658c32ebb076ca9e5a18ecd1ddd9003398760c4fd8c2526f68fa30ef81c369d2d49bbf21bb0b4ed68557a01e18ae0cc03c5d2f6f10b6e66dcdda9425850310dd272a1c086f85a683981425844567f1d8f03e8dec6ff52c72bb98947c3b78d2057aefae906b4182e7f8e0351c265e1c0892903d7ea44a76cbdc5328f6389de5c5961cedde7710e043689eb7dc87c425ed51e3403d6d15a6e8d716d471f937a6bb160f6041c4e9ebdc1cf5aaa71e18f869e62ecb303731520fa82c5e3d9384cd2b849d7bb4ce60bcc7a638d07eba1b4f619fb1879ee033f53b0bd4470f621b5e8971a166881b986777bea75976a7167608d0003724f6b03d905bd67171e5d1788707a343aef09ac98fc86d08de2037a5ac51c9e17a9c1b50321469d36e0472fbe6e75783debcf742d0c50d635b782268974493ff6924c43d60219ffff037a31cbfc89e88d5d11ad151b8ba27e4ed319eae247b9550c4464383c6fd0180703072d4357b9f089a7c750616e17cfdafbcc750c54cd9bdb8335057f8acbba1ad003ced7bdcf38ebcf830271eb01a7e6aa438b08698817de5d5e193d0ad51ec6469603887fbb97322c89bc475785f7cafc50ada6da30b1a3d1a536733425b6a89f532303a9e83c913de07fe0cb494edd75aeb637bfae467aad480693f55431f471e6323e0219ffff0304b144ff9e8cc9fa07c576043e1dc6a8967639fee104da227dbbb2ab441836b30336f5e6a063113a2b8951c928c053a32370d7066b248e3291492f02199dfd201a0330a9f47b5067b77350a90dafd7b8807fcb4251fda068981ba3d40afd22916f2f03ea948b0223b8f61ad1ced8ed2b9208b609681dfa47c64a83fadb2526ec13f2ee03348235c1105a19f74eb8075811ec80bd4b8c56d9c6863c611f668ddcab7c98d40318efdb8d57356b8c5ee8994a5d64f548694581d1d557ce99937b6116d3c2668f0337508c82900d4df5b04a2de58c5a6cc0494c713305332d3637ffdf1544aa3e470219ffff03a3958a3b511978f132560aff12866cf305c5d00275182b6b030456555eba036b0389964655d37f2d8bf8b03bad0bcff8d9637fc24a784b2196574c43120357744403f8c5197e4a464ece5efc06af038be7c2c4fa62b1b66bfb37741cf8f2da6e9da90391b345db127d5cf17bf1a290b76952a725f155d56802fca9845d68bf4c4655fe038473a38fc79fff2dc037ed6fa12a9723d8f8dd45fad21132797405d7b36b9e19039c4dcd5133112a9e1fbe887927167af5b7dc1bf03a0db3c89b384b9a287de00c03728759c5f6c9d59b8fa058abed1e9d5d19efb49d4174ae5be6833f43777c8406034f5bd7a71509277131f8627bbc917c1a628e6dc1f9785ae91c0d1143c87b381a03e033e9efe4a2dbf931d1abf28968480280265750628e0d5ec53cee68e2eff1ed0219ffff03433349782ed167177a7575f7beead8b4979e2da669ef7467477f97641470359103f38610840bad54d045db840f8e57e17a187dda8a38b1d16ad98963ae517eb01f03d7a7ca3687ff36424335eb2ea06ff24a56cbee291b8d694833aa9e6730548467038656e1846e4832b63b8a95d78a45889857a59ddc59ad41a1596e9beb1191d53e033ac7f47ae7356d4b10c31d88ee9526787014eed57f0bf276662ef65d186966f003a0f32c37a1c4a987844f27cfa480f9532b03ec8128ddf84e1f103ee29627c1fe03af6e0a243861f706d9cde0693f6fb26774ca2c6752f61678c4861c8a70b091ff03b8af46311a9cee492fb2d90bae4fa1309f6716ce24fb4b05da79af3af250307203c247e7f350c82cb446845e7004aabaa799cda56c56c0ab6c3c82f3e542f80043030b172a31074d315618813e655493a6ffb728b963391145512f54c74f26fea5ba032bf8be708f133f49834641fddcce8ba47e18e9567f4b46f79c89b414206eb8db032032ebefdfd5b719ab8da2345ceca02a26e934af0b673600497b9484b8e1c6a203643aed791dda8b538cd329bac51d5dfacf391488e0a97fabb6a17b95c64bbb0403b0af14fdaa65fba073049129418ad52bac62ac040a883a81b3c2aaaf1f543cf403081a56c515278dab220542b5e63d82feaf92df2d59c326c863ed15a62a0299660393775bc2529a801b30d99fd605508b6d8a8b05a6b80fbc76de15f3288a2c2c410395c3de3ce082ae9bae27ad4259423ebf349d7503d323049ece83c3a63727e033039c13eed0b6b432f7916bf80a3d2f70644fab8cc032e565f5453488d0bcdde46603dc83dd5d16dfadc23f4bbc5e74286e96a2421d7ca4c20c216e081c57fd72fe16035a2335212adcb6bf16de2ff4b6487de9248b54ba2385960735b55f63f80b8ea303118d8d8ee0a56378cfbef372f9407ef8ffb2b7e96841cd8c46a79917a239926f03eef0e3dbd26e7c2f6eca7a03274d315057b933555824aef1d76df0cf92ef3e0303c5b3f744dd057bae3ae64c56a70f78821f22c1138091278eee02d7d4588958dd037c1300bb879d54772f2930a492319378a88045e048d97182c2444b164225472505581e03a665912079fd202ad17c8ac03376eb15d0d3d1236938bc3c7095ef97700403036acc8f7abaaaab24f212b16bc193dc735a24ac9e375e733ac6fb64606d080e0505581e03d612ad0fdcf660e87aab3f575e10a7d80e91685bdffd0a3cd76c5a40f00c1826471de57806f27c0005581e037dcf6d1c1e2e1387a3cbe30bf196c1b847853815c777d892f087c54300040705581e03e7d72ae7db49fa2f2d228dea67bd1c793a0b4da33685700e768048d9700c0147430c123f5b135905581e03bac67f79adaa5fabc83a41deff91801e990e231f1e367a3339c10a45e0041505581d029328b9b27be022623b51f48ca7187f9e8b80e24846692a8bcc7231340c044743b1763d9370ee05581d0216de41f2c5e9ae3f3b6bec7cee281dd3971959d6bacd9f6991625f850c1869480a3e1181f96813c90219080102191c5603c31c157344a3c11b909e2cb9226a4b6a4d41cb8010ecacd736fdc24c41a5e1a003358cc03cde7bac6d6046e0afb0752bfb0174a649989b44d4f65ac9b3e54d68190307eb58cfca9bc23d428ebb4aa5e8b2c6764c55b6e4fbb291aa277aca293c43fa0387729b8abd6f714b914383c63d6812e057289ff88586f58259231b1b0cb8716403ae2020e7621e573259ea10fd2d5de5a446fb1d3e9d0a8ed5c82f057396c099de031293f85cc59e2488f58695e0ba4a83e26b8480c06720853228279f7c03470a2e034d3103793875a2e3f4c069d8f0f53586bdcb62c21a26e7a13ea602e909da5eb303850d482f47bbce6ac75048fa446beb196bb3908dff2128d25384b01d9b036e3d03599efea780cecca4471b8579864d60af4eb60c30657a54b87f7e2cb59d91acf60219ffff036540dc1ce01173147000b40fc91c558e5d0bcdab2903f70786724081fe2824b503a519432e709a23ba08a567a3def3c6a0381f8fc4eac982952efd511bba831e09030aba1a00d592b32c90da40e954a98f867fc6f32becc3962b6263f9332aea8047039c06b1b5ccba278abdac9119a8de1ffacd92f6629bc7f95969dbf5cbf48c353103d36bb5df880275b90e86fd74c8fba4491f84a4384ceaeba8cfa13ec9a32f54960334055e187dfdfedad8d6ab4ae16ecd7b3579c10a36f90a72a332eac4037ce87203659d3e935bc6b53d3c77bda828fb7ad313a47889517e5048191304984dd9c73b038fe8a6adc5b1afd76316ef8cd251ddca7b02381a9639db7985684a2ef7bc16c503eb90511c0d2346b059effa3af970b35881c98cf5c67c76c4939e8f63cd7fb998036e9baa7c43a9aae69354faf0d9aff95495bd365ed5fd5d8e72867cf3256edbb303f6507e75596e1cfa66cbf88bc63befd3483e01d49cc30a8f7195a97a3a23ff740219ffff0388ab07b54c289b4c44337c09ba34fbc30b1f1e2fcb6439a8984c162b01fafd0f036c52fb7bfd6111e068d0a68ec5329a09f1076a0dc0e1fabef3834ba5201a546203594f243b436d05a2847e731e66b5dfe50ae67ed8a0aab4cb2fbbcfc313039c86035c961894b94bcc6e60304b9fae3da91fae8c087269ee99b4c111354860af8e9c03f7cefb855e1b44eeff99aba88cf822beebdcded40abe486b4142446a0c59b00603da97174dcc8796d751e31b822f3f93e87294be4e72cff7c08e89cd6099b272b70395140c6ec5bbdeba72a975d4ec97e48631cdbd60ce35a8d047cc126f9b9310220219ffff03c399193e8cdf3837b209bb3c840900c534395a84101231e8def97762223bd2cc030a354c0c2891a2e7481956e433360c8d120b5fe2dfcb36719104731de776f8ee0348b4b075d383bf682305b86a26acf271250000f2b42162e36620246e62424e300334db5be6d5ba6533ae0f70d2ee7b419ba9ca4e090995f0aa0fa31037e9e4d2fb0397299a1f5507fb4903e929b3eb3380bb3f8d1c448453fb6c60b01210281c77f803a3eb0d3b46d4617db43c6d378017726500e2e615100a4a72de48d0dffd7b1fa203f606dc4d1577838d8c14d3d00eeec0c522862b03ea7124b02a5b30cc74b104c003d29efec835fb625108a950f44902ed7a374c3f21417306b416bd715067d9cecb0382948065fa93b4b05eae2acbb2e8eb7352b3649fe51b77d9a7d3e6561b31f07f0219ffff03431693b93249c767d99e92d7d4e86673cdacad1ed4bd0397dcf75c525fa841d203ca4dda1d4a4b237e9bb8f5bd034104de6b683f0b8321945284b07bcd33d62034030a556d66a296197f3639d1c2e5cac559a21b976fb994573b578eceb14f53f49803c92567d56af11aa66cb38bb8e892ab574c83b41560a87611b432f687eff4ef9103d45f393dab53b7226a977bea4b2fca1b41d3cb0b06f654a8b77a1ab266221d2f03a07249ec46ad56814204a4f9b1cff1277955ded29be41995b59c8732e8130d42033ade5d3559602c4baeddbe602f94ed18261e43fb75206098e669f523c32d8a6803332742e3c4a571ef89704f8f49e1c70e94302daf8d3b18f460daf41d5bb1027e03e361ec74f0ae64fe46ff8e0e8256d4d0af5964769531304253d9a6712ed9443a03e76e98e628f30c21212d36bd401c43d914ce96a1954944023ff5ec12b22c6ca305581e03fdc3696b692cc5296f799dd31a3cdc9613c8d6762503dbc805b91a404008480646d5e6d597c00005581e032078b3f422f1bb75e71db3d5bbe805f0a395291efa7aeaf22ca885eed004060381ebeebd2aa160a72935680ee574185a2d56364bf2fcde34738765cbf02a4b00031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038dfca3edca07cebfa08f334235def92d6264b250f5b4748d85520319f007011bffffffffffffffff0335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e0375bdf8ebcee8fcc405109cc782c8ac9b616683368a72ea88963dff9eb007011bffffffffffffffff05581e032652413215da3224a46f89b29e0474c55cfa108bde0e199008c4d9b5b00c034704b1408241895805581e038a8de9598958408a1f49daf4497016fa24b16cc2a6f5a6702c62cc08f00c0146049ca931750005581e03dd821fbc18a3645f52a02cb52bd1cb9a821bd44a860cbf31147590fcf00401038e5f78559f1c87ba0d9ebf71cdfd0984468ea972b1583b209511219ee664128405581d02010551314fb0fdd4e01467f7345dfd20c558d90cbc36a2e329ba6bc90c0147031ae5fb88a000045925c66080604052600436106101355760003560e01c8063a0c76a96116100ab578063d2ce7d651161006f578063d2ce7d651461081b578063f26bdead146108b5578063f68a9082146108ed578063f887ea4014610a44578063f8c8765e14610a59578063fb0e722b14610aa457610135565b8063a0c76a961461051c578063a7e28d48146105f5578063bcf2e6eb14610628578063bd5f3e7d146106ee578063ca346d4a146107d957610135565b80632e567b36116100fd5780632e567b36146102fd5780634fb1a07b146103935780638a2dc014146104aa5780638da5cb5b146104dd57806393e59dc1146104f257806395fcea781461050757610135565b806301ffc9a71461013a578063020a60581461018257806313af4035146101cd5780631d3a689f146102025780632db09c1c146102cc575b600080fd5b34801561014657600080fd5b5061016e6004803603602081101561015d57600080fd5b50356001600160e01b031916610ab9565b604080519115158252519081900360200190f35b34801561018e57600080fd5b506101bb600480360360408110156101a557600080fd5b50803590602001356001600160a01b0316610ae4565b60408051918252519081900360200190f35b3480156101d957600080fd5b50610200600480360360208110156101f057600080fd5b50356001600160a01b0316610b19565b005b6101bb600480360360a081101561021857600080fd5b810190602081018135600160201b81111561023257600080fd5b82018360208201111561024457600080fd5b803590602001918460208302840111600160201b8311171561026557600080fd5b919390929091602081019035600160201b81111561028257600080fd5b82018360208201111561029457600080fd5b803590602001918460208302840111600160201b831117156102b557600080fd5b919350915080359060208101359060400135610bd2565b3480156102d857600080fd5b506102e1610e53565b604080516001600160a01b039092168252519081900360200190f35b610200600480360360a081101561031357600080fd5b6001600160a01b03823581169260208101358216926040820135909216916060820135919081019060a081016080820135600160201b81111561035557600080fd5b82018360208201111561036757600080fd5b803590602001918460018302840111600160201b8311171561038857600080fd5b509092509050610e62565b610435600480360360e08110156103a957600080fd5b6001600160a01b038235811692602081013582169260408201359092169160608201359160808101359160a0820135919081019060e0810160c0820135600160201b8111156103f757600080fd5b82018360208201111561040957600080fd5b803590602001918460018302840111600160201b8311171561042a57600080fd5b509092509050610eda565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561046f578181015183820152602001610457565b50505050905090810190601f16801561049c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104b657600080fd5b506102e1600480360360208110156104cd57600080fd5b50356001600160a01b0316610f5b565b3480156104e957600080fd5b506102e1610f76565b3480156104fe57600080fd5b506102e1610f85565b34801561051357600080fd5b50610200610f94565b34801561052857600080fd5b50610435600480360360a081101561053f57600080fd5b6001600160a01b03823581169260208101358216926040820135909216916060820135919081019060a081016080820135600160201b81111561058157600080fd5b82018360208201111561059357600080fd5b803590602001918460018302840111600160201b831117156105b457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610ff1945050505050565b34801561060157600080fd5b506102e16004803603602081101561061857600080fd5b50356001600160a01b03166110f8565b34801561063457600080fd5b506106526004803603602081101561064b57600080fd5b5035611116565b6040518084151515158152602001836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106b1578181015183820152602001610699565b50505050905090810190601f1680156106de5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b3480156106fa57600080fd5b50610200600480360360a081101561071157600080fd5b8135916001600160a01b03602082013581169260408301359091169190810190608081016060820135600160201b81111561074b57600080fd5b82018360208201111561075d57600080fd5b803590602001918460018302840111600160201b8311171561077e57600080fd5b919390929091602081019035600160201b81111561079b57600080fd5b8201836020820111156107ad57600080fd5b803590602001918460018302840111600160201b831117156107ce57600080fd5b5090925090506111cd565b6101bb600480360360a08110156107ef57600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608090910135166114eb565b610435600480360360c081101561083157600080fd5b6001600160a01b0382358116926020810135909116916040820135916060810135916080820135919081019060c0810160a0820135600160201b81111561087757600080fd5b82018360208201111561088957600080fd5b803590602001918460018302840111600160201b831117156108aa57600080fd5b50909250905061153a565b6101bb600480360360808110156108cb57600080fd5b506001600160a01b038135169060208101359060408101359060600135611558565b3480156108f957600080fd5b506109b36004803603606081101561091057600080fd5b8135916001600160a01b0360208201351691810190606081016040820135600160201b81111561093f57600080fd5b82018360208201111561095157600080fd5b803590602001918460018302840111600160201b8311171561097257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611570945050505050565b60405180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a085781810151838201526020016109f0565b50505050905090810190601f168015610a355780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b348015610a5057600080fd5b506102e161165b565b348015610a6557600080fd5b5061020060048036036080811015610a7c57600080fd5b506001600160a01b03813581169160208101358216916040820135811691606001351661166a565b348015610ab057600080fd5b506102e16116a6565b60006001600160e01b03198216634fb1a07b60e01b1480610ade5750610ade826116b5565b92915050565b604080516020808201949094526001600160a01b03929092168282015280518083038201815260609092019052805191012090565b6005546001600160a01b03163314610b65576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6001600160a01b038116610bb0576040805162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22fa7aba722a960991b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546000906001600160a01b03163314610c21576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b868514610c67576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4c454e4754485360881b604482015290519081900360640190fd5b60005b87811015610d7057868682818110610c7e57fe5b905060200201356001600160a01b0316600460008b8b85818110610c9e57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550868682818110610cfe57fe5b905060200201356001600160a01b03166001600160a01b0316898983818110610d2357fe5b905060200201356001600160a01b03166001600160a01b03167f0dd664a155dd89526bb019e22b00291bb7ca9d07ba3ec4a1a76b410da9797ceb60405160405180910390a3600101610c6a565b50606063d4f5532f60e01b898989896040516024018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600083820181905260408051601f909301601f199081169095018381039095018352939093526020810180516001600160e01b03166001600160e01b0319909c169b909b17909a52506002548154999a50610e46996001600160a01b03918216995016965033955034945092508a91508c90508b896116ce565b9998505050505050505050565b6000546001600160a01b031681565b60026007541415610eba576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600755610ecd8686868686866116f0565b5050600160075550505050565b606060026007541415610f34576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600755610f49898989898989898961187b565b60016007559998505050505050505050565b6004602052600090815260409020546001600160a01b031681565b6005546001600160a01b031681565b6006546001600160a01b031681565b6000610f9e611bb8565b9050336001600160a01b03821614610fee576040805162461bcd60e51b815260206004820152600e60248201526d2727aa2fa32927a6afa0a226a4a760911b604482015290519081900360640190fd5b50565b60408051602081019091526000815260609063172b3d9b60e11b878787876110198689611bdd565b6040516001600160a01b0380871660248301908152868216604484015290851660648301526084820184905260a060a48301908152835160c484015283519192909160e490910190602085019080838360005b8381101561108457818101518382015260200161106c565b50505050905090810190601f1680156110b15780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909a1699909917909852509597505050505050505095945050505050565b6001600160a01b039081166000908152600460205260409020541690565b600360209081526000918252604091829020805460018083018054865160026101009483161585026000190190921691909104601f810187900487028201870190975286815260ff841696929093046001600160a01b0316949091908301828280156111c35780601f10611198576101008083540402835291602001916111c3565b820191906000526020600020905b8154815290600101906020018083116111a657829003601f168201915b5050505050905083565b60006111e9888860405180602001604052806000815250611570565b509050336001600160a01b0382161461123f576040805162461bcd60e51b81526020600482015260136024820152722727aa2fa2ac2822a1aa22a22fa9a2a72222a960691b604482015290519081900360640190fd5b8315611284576040805162461bcd60e51b815260206004820152600f60248201526e1393d7d110551057d0531313d5d151608a1b604482015290519081900360640190fd5b6112c688888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ccf92505050565b811561142e576112de866001600160a01b0316611d60565b611321576040805162461bcd60e51b815260206004820152600f60248201526e1513d7d393d517d0d3d395149050d5608a1b604482015290519081900360640190fd5b6000866001600160a01b031663592e2070838b87876040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050602060405180830381600087803b1580156113b757600080fd5b505af11580156113cb573d6000803e3d6000fd5b505050506040513d60208110156113e157600080fd5b505190508061142c576040805162461bcd60e51b81526020600482015260126024820152711514905394d1915497d213d3d2d7d190525360721b604482015290519081900360640190fd5b505b87866001600160a01b0316826001600160a01b03167f56735ccb9dc7d2222ce4177fc3aea44c33882e2a2c73e0fb1c6b93c9c13a04d48888888860008b8b905011604051808060200180602001841515151581526020018381038352888882818152602001925080828437600083820152601f01601f191690910184810383528681526020019050868680828437600083820152604051601f909101601f1916909201829003995090975050505050505050a45050505050505050565b6040805162461bcd60e51b815260206004820152601d60248201527f52454749535445525f544f4b454e5f4f4e5f4c325f44495341424c45440000006044820152905160009181900360640190fd5b606061154c8888898989898989610eda565b98975050505050505050565b600061156785858585336114eb565b95945050505050565b6000606060006115808686610ae4565b600081815260036020526040902080549192509060ff161561164a5780546001808301805460408051602060026101009685161587026000190190941693909304601f8101849004840282018401909252818152939094046001600160a01b03169391929183918301828280156116385780601f1061160d57610100808354040283529160200191611638565b820191906000526020600020905b81548152906001019060200180831161161b57829003601f168201915b50505050509050935093505050611653565b85859350935050505b935093915050565b6001546001600160a01b031681565b611675848484611d66565b600580546001600160a01b039092166001600160a01b03199283161790556006805490911690555050600160075550565b6002546001600160a01b031681565b6001600160e01b031981166301ffc9a760e01b14919050565b60006116e28a8a8a8b8b8b8b8b8b8b611e23565b9a9950505050505050505050565b6002546001600160a01b0316600061170782612037565b9050336001600160a01b03821614611758576040805162461bcd60e51b815260206004820152600f60248201526e4e4f545f46524f4d5f42524944474560881b604482015290519081900360640190fd5b6000611763836120a4565b6000549091506001600160a01b038083169116146117c3576040805162461bcd60e51b81526020600482015260186024820152774f4e4c595f434f554e544552504152545f4741544557415960401b604482015290519081900360640190fd5b600060606117d187876121d6565b9150915080516000146117ef57506040805160208101909152600081525b6117fa828a83611570565b5098506118088b8a8a612283565b81896001600160a01b03168b6001600160a01b03167f891afe029c75c4f8c5855fc3480598bc5a53739344f6ae575bdb7ea2a79f56b38e8c60405180836001600160a01b03166001600160a01b031681526020018281526020019250505060405180910390a45050505050505050505050565b606061188633612300565b6118c9576040805162461bcd60e51b815260206004820152600f60248201526e2727aa2fa32927a6afa927aaaa22a960891b604482015290519081900360640190fd5b600080606060006118d933612300565b156118f2576118e88787612314565b909450915061192f565b33935086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294505050505b81806020019051604081101561194457600080fd5b815160208301805160405192949293830192919084600160201b82111561196a57600080fd5b90830190602082018581111561197f57600080fd5b8251600160201b81118282018810171561199857600080fd5b82525081516020918201929091019080838360005b838110156119c55781810151838201526020016119ad565b50505050905090810190601f1680156119f25780820380516001836020036101000a031916815260200191505b5060405250508151919450919250159050611a4a576040805162461bcd60e51b8152602060048201526013602482015272115615149057d110551057d11254d050931151606a1b604482015290519081900360640190fd5b611a5c8d6001600160a01b0316611d60565b611a9f576040805162461bcd60e51b815260206004820152600f60248201526e130c57d393d517d0d3d395149050d5608a1b604482015290519081900360640190fd5b6000611aaa8e6110f8565b90506001600160a01b038116611af9576040805162461bcd60e51b815260206004820152600f60248201526e1393d7d30c97d513d2d15397d4d155608a1b604482015290519081900360640190fd5b611b048e868d612352565b9a50611b138e868e8e87610ff1565b9550611b248d868d8d8d878c6123c4565b93505050818a6001600160a01b0316846001600160a01b03167fb8910b9960c443aac3240b98585384e3a6f109fbf6969e264c3f183d69aba7e18f8d60405180836001600160a01b03166001600160a01b031681526020018281526020019250505060405180910390a4506040805160208082019390935281518082039093018352810190529a9950505050505050505050565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b60608282604051602001808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611c25578181015183820152602001611c0d565b50505050905090810190601f168015611c525780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611c85578181015183820152602001611c6d565b50505050905090810190601f168015611cb25780820380516001836020036101000a031916815260200191505b5060408051601f1981840301815291905298975050505050505050565b6000611cdb8585610ae4565b6040805160608101825260018082526001600160a01b0387811660208085019182528486018981526000888152600383529690962085518154935160ff1990941690151517610100600160a81b0319166101009390941692909202929092178155935180519596509294611d569392850192909101906124f5565b5050505050505050565b3b151590565b611d708383612409565b6001600160a01b038216611db8576040805162461bcd60e51b815260206004820152600a6024820152692120a22fa927aaaa22a960b11b604482015290519081900360640190fd5b6001600160a01b038116611dff576040805162461bcd60e51b81526020600482015260096024820152680848288be929c849eb60bb1b604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b03929092169190911790555050565b6000808b6001600160a01b031663679b6ded898d8a8a8f8f8c8c8c6040518a63ffffffff1660e01b815260040180896001600160a01b03166001600160a01b03168152602001888152602001878152602001866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611eea578181015183820152602001611ed2565b50505050905090810190601f168015611f175780820380516001836020036101000a031916815260200191505b5099505050505050505050506020604051808303818588803b158015611f3c57600080fd5b505af1158015611f50573d6000803e3d6000fd5b50505050506040513d6020811015611f6757600080fd5b81019080805190602001909291905050509050808b6001600160a01b03168a6001600160a01b03167fc1d1490cf25c3b40d600dfb27c7680340ed1ab901b7e8f3551280968a3b372b0866040518080602001828103825283818151815260200191508051906020019080838360005b83811015611fee578181015183820152602001611fd6565b50505050905090810190601f16801561201b5780820380516001836020036101000a031916815260200191505b509250505060405180910390a49b9a5050505050505050505050565b6000816001600160a01b031663e78cea926040518163ffffffff1660e01b815260040160206040518083038186803b15801561207257600080fd5b505afa158015612086573d6000803e3d6000fd5b505050506040513d602081101561209c57600080fd5b505192915050565b6000806120b083612037565b6001600160a01b031663ab5d89436040518163ffffffff1660e01b815260040160206040518083038186803b1580156120e857600080fd5b505afa1580156120fc573d6000803e3d6000fd5b505050506040513d602081101561211257600080fd5b505160408051634032458160e11b815290519192506000916001600160a01b038416916380648b02916004808301926020929190829003018186803b15801561215a57600080fd5b505afa15801561216e573d6000803e3d6000fd5b505050506040513d602081101561218457600080fd5b505190506001600160a01b0381166121cf576040805162461bcd60e51b81526020600482015260096024820152682727afa9a2a72222a960b91b604482015290519081900360640190fd5b9392505050565b60006060838360408110156121ea57600080fd5b81359190810190604081016020820135600160201b81111561220b57600080fd5b82018360208201111561221d57600080fd5b803590602001918460018302840111600160201b8311171561223e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250969b929a509198505050505050505050565b826001600160a01b0316638c2a993e83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156122e357600080fd5b505af11580156122f7573d6000803e3d6000fd5b50505050505050565b6001546001600160a01b0390811691161490565b600060608383604081101561232857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561220b57600080fd5b604080516374f4f54760e01b81526001600160a01b0384811660048301526024820184905291516000928616916374f4f547916044808301928692919082900301818387803b1580156123a457600080fd5b505af11580156123b8573d6000803e3d6000fd5b50939695505050505050565b600254600080546040805160608101825286815260208101899052908101879052919261154c926001600160a01b0391821692909116908b908b9034908790896124d5565b6001600160a01b03821661245a576040805162461bcd60e51b81526020600482015260136024820152721253959053125117d0d3d55395115494105495606a1b604482015290519081900360640190fd5b6000546001600160a01b0316156124a7576040805162461bcd60e51b815260206004820152600c60248201526b1053149150511657d253925560a21b604482015290519081900360640190fd5b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b6000610e4689898989898989600001518a602001518b604001518b611e23565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061253657805160ff1916838001178555612563565b82800160010185558215612563579182015b82811115612563578251825591602001919060010190612548565b5061256f929150612573565b5090565b61258d91905b8082111561256f5760008155600101612579565b9056fea264697066735822122067ebf86384f04880506e06814056624357ca16813d33c083e0e0b19c41865a8a64736f6c634300060b00330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00541c8db745abe3c8162119b9ef2c13864cd1fdd72f0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054cad7828a19b363a2b44717afb1786b5196974d8e0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0544dbd4fc535ac27206064b68ffcf827b0a60bab3f0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688041010058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605472ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef02190c1505581d0218539fa1ee008fb619ed213ae9678e1af0b1be9959dc6f32c0a8333c07011925c60219108002191ebb037bda7598ddc628035a21fa53be0b1871d8c59a602bc1c5ada40fe21c8638184603cdbab90dda0a0dc64b6ea7dd895a63fe7239a9f5a489f6992a568483b9e722360386266d73ca7d65ae99b84886ccab2aaa96b1d2438ce00b4eb04db71a0ed4fc3203ba26be56d59359397bf09e41bcc75a31513d23c3262cad4f395a043ce917e6a503a340c370d92bc3b6324640e33d6d346725f29b625dfbab684961e5dc1a44ab7503a6a4644292795517ffaf1da10560f1a8919a7bbafdbd4e8ae512d29ec5498345031e77b7bf8993915572943191c13d0ae7d8f008720ac9e28fb4ac31e6f4f625a0036458e34ad61ef6e0aefb35241a3820738c3374259f0bcc82c1a4b78efa0db03103298c6d6bfc50da9a045053bfe96e260870401f54e3684e9bc306f0213e3e124503bb71fcbc91c76a6399ce36e42de18c17f401e5910d4e24b2105976d4c2378d94030e3896f69de4a57b49aa48fae6151b38f395006f1dd26e09238d24580c7faba403f1c35a4f52aa9e62aaeccf9946f151aff93c7187d8105b5c700ca92c57b08d4e039d79be10147f1ff7bd4da06c4a19944df4fc9c931ffcfdc74ec117f5c60be9cc0219ffff035dd0cccb483f23e3c02e0f8c871404fc4930cd40bc7140b152d30d66c64d36b8030c69b33acc09d9f63fe1917ea2a3e7db03bc82858ad6d6f719cfbb4b2ce625f6032e5771d6fab3ad00d2687de857ce3a737418d0d64b1f88801cd4571e4168acac03b29c72f77d4d3b028e16b9be90b2d62001877099f2400799d7017590af47f24403111f409c284f1065474515fd510265e95e250b32a531bc47a252e952c8a451d603febb9258bfe4793138dfd04fbfbf8f8a876f8333a209a0c29abe7263a73c52950355180314f419a6c4e449328f981c2a7441eb02179fe24bef4f501e39f4a97ff903b05f4025ec3f9c5770689deb491106debb6c2e908523d12eefe84196e02e5b460383eeef8ea9fd262bbd2df6a54482062be8693159eca49eed134067b04ae86fc7030c37d86b4e72c43d3a11d021aff362f91b3eb14b66589a0ecc5c9cafcabd63540341f3322e861f8cf79eb853c6a1ccc077effe60c67e332b3779837199525603f5034a663305e133163edfb984e344d776bbe7fef5cf190404eea66d98a78a5bda1603db93f8e09fb32cdb9c991bdbf277746e6c412be34ba3e4f07de34ea838812b160219ffff03850719b9ce8422dee4ee07dcf5de80491316cd370c615ee478568321b3c94c9203b0369ca28abf1632679063985b522213013f0ea2e7975e3c87179e03199327c5031c2f99b6387c9f821200169a6df66e7d0c48e5d3360cbe71dd07de073dc1012103240c781f16e87ec78b6e740022a25fd89778d28e8485f6be1dcbf663cd3891810377dad02a291e3e7a1c33429884b21f111a9950693f40706f7a188682ea18b625032a919277bbb1370b7a2c3e1249410cba93b4051824a0276637f5102a8df9378303ecf211b97f568e67ae377a0b87c10996efc3c745084023bce2107a371649ca4b039fe3449239f8c3f8e34ba72aab3f5773c8ae31145bc8493a59fb2e4ad5b91f450306cb02e063a63e4d710a07052356a1764e0a50b577912a19f14ff85347195559030941645944efcd139fdcbb7f888da93bba6d117dd5ff11fcd40c37a1e24e33a20370a27d0d3a2255c0ce38898159fdf7a0d47739a02d7a5f02dc76800db1cb15fb03fccdd9e7c5418ff0f6f4504167a42d6cc940600d421f692a505efc7fe23ea3650354297dea163db7ebcca8f3eca541b49bdf958ceeaa972064cc11ef4524bdaecf03a2d1fa0feca07954062df5a85d2f34e0030ab28d98b5d9673ee0c395a13afe5203e25ff7bf268e1e8fa25370041390c724be9e41f043ca88f94d93f872509b6ed5034fb309ad5ced35d9d2f5c9c0435d9f2869fb08389094e1e4918af107dadd20d6035bd5477fe67caeb1fec458f11015286bd4619930b9f38554d54adeb962ebf582037dff94d51d7ba4ec0d66cbd9157e5f847de2bcd0fc2717f4ac65a5e1e07fd7e30319d2136a41d69ae853365d42518f36c28c59cb5f1e603020ef282f1a61ca6df403b46b9a554cd420349f422504222d5abfec68c6f2fe6aee5bd3a3f2e1fbbb943903cd14b9261de82dcdfda8a135ac5ab81656a83014a391bea6421371de091966b205581e0346ca002a20c2eb0f3d2504e1f610c85f23745844c372e98a08efdd2a60084820b3df125c8c380005581e039d559258418a4f2bca50534a15fad6c0b7d843bf16867d981d888de690040805581e03cc562f0bea75368a563801fb6439ff58c5777f1f229a4c62b9ba7a4cc0040205581e034f8f71e2e727249796b3df4293d93d3da0778ff1eb7ad54de968a486600406037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e0334c934a0663d9a3f79213eb72d9329980c8a0a7bbf97dc03d84fdd9ea007011bffffffffffffffff039f8e6807af4d5ed234d223fff2fd5266a723116a49484814f4df939ea4c6331b05581e038897605cac441e2336ee7e10ae41a11f2e726c1b327469a502b2e6fd200c04465028414c207005581e0395995077442c37b1663c43c7d5439a78fbaba0fb45545dbe3c7b8857c00402031e63abf502d5fd18aff5d76812ded729a8dfa7d89cb3bc99e8ec5f997987d98905581d02f854b2074b512cc2ba1217511c7d97d7f54d21b1c8e39ddf327b1f280c0141010459082c60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610262565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b031661029f565b34801561018857600080fd5b5061012d610359565b6101996103b6565b6101a96101a4610416565b61043b565b565b6101b361045f565b6001600160a01b0316336001600160a01b031614156101da576101d581610484565b6101e2565b6101e2610191565b50565b6101ed61045f565b6001600160a01b0316336001600160a01b031614156102555761020f83610484565b61024f8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061038492505050565b5061025d565b61025d610191565b505050565b600061026c61045f565b6001600160a01b0316336001600160a01b031614156102945761028d610416565b905061029c565b61029c610191565b90565b6102a761045f565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103055760405162461bcd60e51b815260040180806020018281038252603a8152602001806106f8603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61032e61045f565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c4565b600061036361045f565b6001600160a01b0316336001600160a01b031614156102945761028d61045f565b60606103a98383604051806060016040528060278152602001610732602791396104e8565b9392505050565b3b151590565b6103be61045f565b6001600160a01b0316336001600160a01b0316141561040e5760405162461bcd60e51b81526004018080602001828103825260428152602001806107b56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045a573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b61048d816105eb565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b60606104f3846103b0565b61052e5760405162461bcd60e51b815260040180806020018281038252602681526020018061078f6026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b6020831061056c5780518252601f19909201916020918201910161054d565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146105cc576040519150601f19603f3d011682016040523d82523d6000602084013e6105d1565b606091505b50915091506105e1828286610653565b9695505050505050565b6105f4816103b0565b61062f5760405162461bcd60e51b81526004018080602001828103825260368152602001806107596036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b606083156106625750816103a9565b8251156106725782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156106bc5781810151838201526020016106a4565b50505050905090810190601f1680156106e95780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f2061646472657373416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65645570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a2646970667358221220175110956fa0a7ff1615f55e1422acff6edcec0099d7ea0bae101f4f6228c8bd64736f6c634300060b00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005821036501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540541c479675ad559dc151f6ec7ed3fbf8cee79582b6005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054554723262467f125ac9e1cdfa9ce15cc53822dbd005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0545aed5f8a1e3607476f1f81c3d8fe126deb0afe9400582103ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c70548315177ab297ba92a06054ce80a67ed4dbd7ed3a021901b405581d02f505b09555d8024801488141bad8bb8c0242bb2c6f9116dc8bed51ab070119082c021914000219e6570333093f50fcfd544eca8155c4893908a8b8df164b25c3474ee59afa1fbcff506403410ab9e529acb92f103bbe88df6c1480810af1bad21c12ffecf87d13aa0e036c03c369eeaf134c7af14f6a15d955e96e67b1d36d56e4d2e5467772188017026ad0031705e9bb5ba79102993f56950538f6f11c49c80247c9cc4d2c7198074f948b5303156a1524f23c06f813b3377513d3da35e52a684226061502e93663961d3816070219ffff03f54937a81c16068a57fccb811f35ab8f0ad3dd94ac17576d078c139bb3e4431c03aa20f66c5f8ccd645379c5f4d5bef17ba07d271db01ee7641186ede6e82916ef03fa943292bf7059dcbb7cc8ee1dcc95d14a54dbc2cb3c004ce649d8726d1105f30384b01d02e6814744d8e66870a5fd6191861005ee89b9234d4370d8935b2afb5e03ab1db0e8554cd34e74214a503c1b79008b587c77a08d2c9b79d8bbe9722a4cfd03bd1a19346abcc126aa0345750fb9f9960f668b7882ebea7d18873cc203bafb2703767503112e09ba23f5086dfd495093e14148a84bdb03aa3a9c74be263608fa5f0219ffff03ca4b63808068e87b94b4ee3311e6dd2d9b415db8aa0ef22cfb1c3ee9bdd35a3003a2a4f48c64d46d67347ffcc9cc5b8645178d129767339263fd9458b02e84890d0342109da98f1ff948c136974629ae686330250e260ce8116f944f9ac5089095b203cd46676af4f48070c6a3f8bfd51f94a3345ba2257ba34c7862b47ab2892ad40e03e0f21cee55c8f744870354b437354af0232cef930eb7035893304ff7b5385e7b03e17deb370037a9ff7c192d65920c7f48a0d3121f81d4363aefdcf08df587320b03fee367db2a0bc43ce3ec6d83bb22a72cbb0a80038e31a441a8131b036f29a14e036d57f87f13647213ddf20e295f3656f96a340a2ee5000e147cc5028a22dc007f0219ffff030969249d78df7a536a66543175e04d83097fd427257df5d715b0581e342415f303e0ef13307159febb98201548bb551393ab09e0508f4ba8ddd2916e59437621c6039ba9c769138cc63c8c55ae5b005cc721473a76ca2cb72f29a61f2f3f85f1380a033d48507658cb29a2744c265f2b461d3e9f54b26ed23cfb874ddae0050f7c506a036fb8629f92e353a7580a3141ffe0f570fa9e0de0585ebd6f0cbd1f05c4470aae0304a92ab4e8ddf99310c68ff8a85c3c754e908ed837f2dfefeebec7aa2c46be5e03ae213d4095e5fdeac075b22a292c535537fb6fa86a2d18d81b09ada501ea7a53030e9d6f349e993010b913b7f0ed2cacddd04e63817be52ee32a154f7f9525619b03390fc9b4562ba8c671d262e7e5f8b7e9abec67d52ef48122ea3495089c2a2fb903c7307bca24c02984cf53b433f795c04505d290cc2695e99ada08e5f37b74bc020324c6d273ebc37d0ad4e51a9dd6fae817958018bd76c36885e0987c8b2c6ab22d030aadeda7f790427b3d8e882fe68e0e05ddfb0d8bce321332f05f39942dea741303c875d334ce84cd46402f792ddb19f4fa1a50b5d31fbde5ba8dfa1ea25ca444a803e05cca167ee17956e9ec3bdc8fafd1f15740e4785cdc6bba0f8b2869f9a5dc5d03c09062cba091be851bac35fd195df14ae0618ebbfa9d0a5c1e3394ed2e3a2ab1031e798110c5a0aa02f0e4ccbd7c064be1b9790b351d40e4f69b5c965f8c31c9c90392332dbaecf412598eaa6cbd739d5a47a887373c9a796f41e211d3497aca7a9a03f2e116372be261fea3e4e2316f0e35caaac86996858cd13e4a6a444f41251ba403fb4ef53ca38d15255b5af6aa61ba5a0e14571db07a771a8fd9472abc3bcc31bc03508a2954f9bd715adc5510df44a8d1731d8e2113838f0dafbf4e0bc4eeb7213c038aa0e938ca644ef45750343989ae9692478836680cfa14db6580f1eb637269bd0367ad0d663bd0be130c44c7b770afd0e0499399496f15322fd58f2057b817c22a03446630eb08e7e1e0b0cb42253c16560e7a2f3e53469bba61a8a9005244b8c6f9032fb75c6f0459eefcff2fe284257e201107927e3255fa14008a5b1d2f384590c103e4d0a4d13fad4c6491be1a198fea8891dd78e62fad1035b2ce56607f53cf9c5003674408137fe353e3a14e1e69f7d781521d486e167eee558f789dca3ffd5939f8039f32c342e1525cfc20d46b35ecca5b0733bc248f32b661ef979b9cbe169045ef03dbb61a53e1d595b4b80861fe1c2b96c2ca3067725f75b1a7cee8e645ccd7acf503bffe66c1f6a7add89dd43918e16a20a53c6533119af5d3bfa80f76e26eecd2270310930e83c11453d56fa50abdb5dd862bce72638cc55e35c75135dd0d1c23aa4c03cbe3b34a9fd247c525937a33bb599a969183b45d6303879c1097e93fab965af703168daab0ece3df4be307c9ddffbfae6036a0a44fb1e1dddf0279148ca3f4a0b103429dbe96357258cf30af315140a9a5366af7be176b9760a51971011a08fd85a0030771a0c53ce845111080fc385b694a28695b2a09619875a84954c63033fa53d1033fa738c391d40779781ee584ef6d3eb819df9990ee5726c9f1f9d7771392160903782825194c1bcdcdb2d0a339ec4674317c04929ee3eee5b74b95dbd9c8f005710321b103d2abd0c1933893ab87bcd7e9fe95a534880c56b8754814a1a42c6111090317d9e6744ae1fbd854c99ddd10669cff54c226bdb3a02b6dc164e01b10c3707603ca0d1ef0f45df0057edf2802bd3bed3d1bb94a54cba1a148f35b0e67b4d2bf55033743815cc63583e41fa4d9f2d5e0800bccb0a709387325956a6e7fc26c533c6a05581e03decde404ced1be21eddaa4b6f6e6fcb57e3c5df6d2fd2586dea04e89100c034702161467941fb803e7df167dd6d1155b99cab978ab98db3207de1203084a06058051474ed77e3d3805581e03138f6053f541009394c6cf3097273803680449cccc23a5df9a0d646100040203ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e039826155f8ece692ad50bedb77fd952a37916cfa91d83a203725b6b7ef007011bffffffffffffffff03f5e801193ead1f13681bc14383b7dd9ba3eb7d08fdbb005abb516a47e094f38905581e0337490458e072e687b25efc41ddbb6a84b3a7729e3463631d7d7c37dfb00c18654903c8e46d47274ca9d003d820df7cafb9ed2f0c9e8b68d1116aea540c64535ad9c77b40a03396b75bb43605581e03eb02efeb44a449af957a1ec29592b7fd65e46dd614dd66943dccf69dc0040102194e990350b369ebedd83f85379874147383f80f43663f2b69342873439344e3ee822c0503def1f5fca809f110d6f4ffb38dbb455ed70f30ddce5d9be4af4b71139f238926033d53d1e333e273abc75ef93f51c69e54b2f6d6d5d82a9f30916eb703031a098a0219ffff038129cbf4ac9d455235ed3dc3819228667f582948e3e3dad868eb70b3334d85720219ffff0399838a119d9f0795898592e808f60bb726cfb6de28da8f92fad53b05d08c90b1036ca9bad2bc192b371f4d10324d65be62454d7341bd4b0d80730faeb4fad4ede403b117a8f33d6d1456e30a4b0e4922402f72c18945dedaf6fb5cf075713dbaa550035813ef202499f11d9756788e80d04598c8e3c3a8e8d3cc4585ce8fb74b99e59303a35761bad1fdf9f8e8f586a5eabb3cb9f5908b6b58cf44971d689b38489812710219ffff0322066bfeecebd5ab1fafdfce004ef9a292673223fee868b57641eb153e7e952f03107636285bb86bf90a89204870c4387e0475b1ba087d49eb8261a34701ce33b9031647bc659c1035648f200350f6b1aa27e24cad787f9fac8ef2fb27feb5c815e903ded214c9176811888171036d7dc03dbd71dfdd5b1f7e1e76a4f8eab022f5d9d203bb5866e194cffebfd2261e23d1ec43f9ab8da93ba0f9a036d7ebbd88d7dc6dc3033671318f99b7519aca76a0dcf856d0bfa496655201a3b2ea091d93c2cd2f8a4103272ebc7ea9e3123264380e81eb9e5bb4b27e1ee161f448cedb5f9636945d5dd80219ffff03b2fa48f16bd0b9ae70a8f22000ba382bd4846005ac0502ef55cb892f85350bf303907fcf86fb3088a5afe17110f3660f1284854e7dd4a89ada3f8c857134dc2b1003f67a42b881c3ac04f4ce912214b57c48d96270e9b710fdd7420eda5ca7919a9e03b529057209382a0439a18d362b3d64d7e38c8592100e9297c1254006d03719cd03db674d44b6402aabd60405ce0e0529ab039e19105a69d6e9dfa589a86b80906703f87f7a0a0aafb361f2693b6cba4e519b8b4c0c255a8e62663f3ece8ad3399cd603073a165bdb8203a1ee2115fa146c3883c916b94679d6a93c9385b1c89b8d4261035ba3ae9b179a3a0cf091b58955464b69f5ca8858dfa8bf5603f9d7eda44e604e03dd6e319a1f919db2319a0ce49b4f1f265a74f52fb1ec935211ec796ecb808ff303b4cbce084b33a7b33ab74d22b6fab2641cf1ed08a99f4af612b7079a3f60de93030625397c4e12546887751c93651c5a55c85d6bc20e5d097bc02c3f74810eb30b030dd0cc276c15c1d296125134577bace9e0baa394f9afdd14b34f73a7d911b65703884548d8059ce9a62c340b1e7cf750cd5a9b9892c5c20e17c5578c2b7bfb5fb1034fd678b5828d6df4d93e935486aefe7557c167acea8d4a43e14ec1af569ab41c030592c4a1229d456cd1c63df33fa4309496da6bec2b5b6fa40dd3ca8d5f7dc2e90386ba1a842f5f9fea3d90908c5e8d5b8abb31c9305576f73dedb3f3bd78875a10037f66560b48305bd7179038d96c32612737b7ec9009dcae9338495dcd8754888405581e035999660b81f36548cda90c2c89600c085c6aedd6d04783d43bdf1da4300c03482296ad4f52d7200005581e036bafc82c5b3bea8cfc6ef854e44484c1eed8ca58e6eaaa502c06d624a00c0147032738d6786c00035b787c7ee2419a790361649e4aa5eac22ab7f185fe61cbc14ac7144fa93b8a5603bc263ce3236021eef9861513b01fa6aa41c0e0230b837038566c9e020aa53e1605581e03ef00a2024c762b2a6ceed39ee9097aa915ef5490539d38708193cdd8100c10480163e6f02fc1000005581e030e97ecffc4b289de1a7f75b55b93e04f2f0dd114e02e472685d36341b0040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b5703b3b7d2d29a8f1aa463b0a7e9b3a015ab843bf548107cee95023e144dffb8815c005821033a0d7adc1d2f52756e2888523862185f301b7c9850b43b1a7ff609003edc8900410100582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0500254a4fe84d237927940db747c8975680058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58208bdf3cc0a91e1087fbed8948b94f999bcf44ff14e2d74a2fc9f791a348e9f4b2005820028df79365a243ef878ab8b12b91c9c42b955b0b08a4a998ac7143960c3e070f4919aba3a4c4ac40c378005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a854033bfa23929a4a34c9fb082b382625820b2f5e7802185400582002397ae88bbc04e9ad6417341798f7eae27ec4d6cf01c6dcb500d8c0027d7b924a0251d78c71d96dcf91eb005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219840000582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5cd3000000000003ba0b3095dc8098f300000002d9bed5688d33593082850058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f545dcd6272c3cbb250823f0b7e6c618bce11b21f900218480219b45505581d02ca5c556152633a3a4f6da2f31243664a313178fe4287106758f5f0440701192c1d05581d022cf63439a0b5e02e536dcc4cbad2bf016464fdda3f24e576671d66a90c094702ed9e40de3f4005581d028dc44a9ced1c97bc31276a09b1ae0df1b344ed6abcf51f6c9de3d0170c0c4717e785d3eedc07021901a005581e03ff21774e10a97845e741d0bdd47a168b90f17cab5ee16c1b98e68de8200c02470150835691200005581e03e1acd61124bcb1fca6f92653a29a2185e77a2f3a6f7d78446735dba2700c014704c664ee586f9303dec4dba88a68c91f99f0f632aa4a900575e10db586304ebc40cfeb6d2090370c0219e7e2031d93570fad9b0c5d2bdff97c1f9a29d03cb91305d1f69e52398783f1fb061ea903c15c7b59008fe7342610d7dd8c252abb8cd35fb4f05dabfde2b3c1d1868b0ab40388bc608d880a1659047a36113f80bd152f576ad17ed965f483f5b8a9b47924f7036c4399ca00340aa8dd037e19b9a94f223eb390736661ac70a3daa2b235300139036a76c964c7a592d29d3104f1950c0b876f06172400ed237237778fccd0fb74980219ffff034adccff87630fdb9a81ee828a6f8310d822e0b8ceb4904bf5b5275d2bf22c6360378699a526087c689a1dc558df68930d6b9ac7f62b166d1cca2254e386675204703717ab34c4ae0e44ec110e4c446edfe434033acef3563a2e3e404d5696dd6896003ff7eb9b9e61169a441c1b1866b80a27383283ccd6fd9338ecb1449cbbb31c00d030da114ea15300baee631b6b9fa4d84de8e6f0f67ce2ca2e0b2848867bdabf7fc03efaeb2628a4dc233ce1f5e7f9760c356715d579a2d222ae433262a303b80f51b03e037c34258561fd3b487f8848bf1a4868eab241a33ac29014c2f9c99cce98cd50354b72874c27c525876536fe5fe101d52504897e6335b2079302e517e37ecd964031eeee879a5cb9527733d1a14baf45d8301ad523fef70a58c5508571564ab0fb803e4a779e2ec7e7ff11f9af69aa75a985e4bfa1496a8364a9eccf69a4a68aa9291034f2151379e0b55a499610a5a1c7297dc9a2fd90bcd2fa4d7401e71685794283c039750f0a382d0609ce2791b2b8f99dd26b2db96220226b19177d68d321a7e90be032f67842f91657b1a9a828b24291d12c142bb996703c02b321144b9a8e37718dc0219ffff03cdc9da5fa8e690b198e56834c3f2bc5b43379b9b4e373263b42518875f9708bc03bfd3e773ffcff3758c98bec82955fae1f4b28bad85154a44e5e7738b6746b873038ad7af1fa2c64bcc432c6dad9b11639d5dcbc784c276dcfb93bc7919d6b6cc6c036b2c7534cb9be86d128b689ae5c7cb804893bed798754e39e510962d147592d9032638853b66d26c725257a27bb61de1cd73d03a635b05bad45fb2362877e3cb7703b1bb8aeb9d3e29c23f93be5bfe7572dce515e0f07d5eb3b5883e981a839ba8d7033657417e97b22a72b625e19fae2262178ba575ae7d180c570c4e331811a026850344e024145f37680ad5266e6e0c80e77b227231603cdce8a7055d5f31b758df8c0357ec511c4a04d5a9380fbca1a79acab63f4113f940d0a9aaedf8ddbe7bcf130103ba17da6dcb9611566e6f83d9a89df1dcdf23af33972ee6336a6b2497bd56bbc103b730fdd39c0fd0f37a41debc4b03ed963b0030942589fd317e340169b720c7da035321af662646adcfc20dacc228b86d18ab2a17171fda38af7bd7088ab9f7978403471f90227d0e4c6ec1b6cfb1a7a1ab18cf334f25924b12b3f6c2f2bec159348003232d672026045eb285d60d2700ea95d0ec3dcf7b46ebba5e68ce5f057051fe0403fe4026fe02eb09ec4c6dc9b0148b526d64d3bcf36c17f9cf323e98865e8e29d9039d06a1c950fa2377e6aae7f64dd9fa2a0a4a56dac0df8df58ab4a369dc1df1ed03c34a8fcd6f63ed6a78e7219c2d1339c9d4e0155ae84f704eaafc5ec8c2b38b1203902f37ed81d9523f0a5628cb4e75131eb6823ebfef86bc5f46bb3f0885bddc2b036e09754c9975181e039cb14c3a9d3eb3458d6e92821594f6712e4463c0dab38c034580b31879b317a88b123d47738eb3e3b2e4874fe3cf292163be6db82ae6d73a03f8f5b400dc35eb4a0d483e67d7243a8cdeb382f1ec71d41b779b7508ff443b37037b5a0ab02300b9dcf962c0575baccf8c8cfe6d05f4d581c9b6e588c049fd906903e8af69ad23bd4eeb446e9cb3801740919cac1d2714f45a0ab597af39b441a9bf03728916cea76cff9cb333a21cd9ba3cbab7e6922af46a8dcb1914f748148dedc90318c1396d3ba2b812c686b50541371a9f629a2f8ce05296d4c0fbaa51b48df38503522a60aef833b4037b8becf911b482ef5a527aa296d6ddb1891ee5ff3847939b03b6c38c0d138fbc3e8826d1672f3211777e1fa301a90077551f0e98f0a1d88acf05581e03f0553ff24e9a78d2e29fb79b8931782363ec26841ee5346e98fad2c3c004060320768eab7c9f8ba1fe58c5e1202b34259909be6aeae0b1056c9b34ad24497cf205581e03297728549ba8fd37db00fe882d0fd3458e03e7230e68c375c312174350040205581e03d74464c03092ae8eab640957929a57fc1fbc06e00fe5b446e0ba2f8dc0040303ea5473412210406b82c502eec33ed7bb12240c90ec265fd08e57475172aa43f505581e031d91f4ff5ea71a498b880e423f8e563c1b9788005f439e3115d3ff36500401035ac7e6a6fc73eb635ec5ea50949db0f77bd80ee8b5f51dd453e737ed12219af605581e030977c92549a1137d230ce3198094156a896f7274e8837a266157ab4ed0040104590a2160806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b610090366004610895565b610135565b61006b6100a33660046108b0565b61017f565b3480156100b457600080fd5b506100bd6101f3565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b610101366004610895565b610231565b34801561011257600080fd5b506100bd61025e565b6101236102d4565b61013361012e6103ab565b6103b5565b565b61013d6103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101775761017481604051806020016040528060008152506000610419565b50565b61017461011b565b6101876103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101eb576101e68383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610419915050565b505050565b6101e661011b565b60006101fd6103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610226576102216103ab565b905090565b61022e61011b565b90565b6102396103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101775761017481610444565b60006102686103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610226576102216103d9565b60606102b183836040518060600160405280602781526020016109c5602791396104a5565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6102dc6103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b60006102216105cd565b3660008037600080366000845af43d6000803e8080156103d4573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b610422836105f5565b60008251118061042f5750805b156101e65761043e838361028c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61046d6103d9565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161017481610642565b606073ffffffffffffffffffffffffffffffffffffffff84163b61054b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016103a2565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516105739190610957565b600060405180830381855af49150503d80600081146105ae576040519150601f19603f3d011682016040523d82523d6000602084013e6105b3565b606091505b50915091506105c382828661074e565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103fd565b6105fe816107a1565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff81166106e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103a2565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b6060831561075d5750816102b1565b82511561076d5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a29190610973565b73ffffffffffffffffffffffffffffffffffffffff81163b610845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103a2565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610708565b803573ffffffffffffffffffffffffffffffffffffffff8116811461089057600080fd5b919050565b6000602082840312156108a757600080fd5b6102b18261086c565b6000806000604084860312156108c557600080fd5b6108ce8461086c565b9250602084013567ffffffffffffffff808211156108eb57600080fd5b818601915086601f8301126108ff57600080fd5b81358181111561090e57600080fd5b87602082850101111561092057600080fd5b6020830194508093505050509250925092565b60005b8381101561094e578181015183820152602001610936565b50506000910152565b60008251610969818460208701610933565b9190910192915050565b6020815260008251806020840152610992816040850160208701610933565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212205f078eeb5690e33d91e7b90c18c8f4a8b449ac85285d1fee003c4e18e239c87764736f6c63430008100033039f6b2e308dc0c0e0844f6ff66d8654184667a60f218999ea69c16ac58c7810a2034d1daffc0f515ef64d11ca6477195e615a2700d776705a62a4d5f676089678cb03ffae5c91d52d8b58de328d9e51b26ac0fdc233651a45a4e172f701b4f5fbaa89030d92b501038d454c860a518825a5716a5b1702448577a6e1f919d2076a31c36703b3448afe4d749dfe6596abb9e6bf18e7674666086d011aa3a30d5222174391040311dae59ec3845e20c6125c850dcde2588c5cdf5c860bfa366c7edf43b9cf3cdf036241a4aa494f4dee809566a1cbced93669c9d0ee8381073fa0d4195b4652fbd803fb2586cb5fd8ebfe7fdddb258693086c8d11cf65e4815eadc1b560b75266928203709ec40257c08fb54ae2682df81b0b9f0bef243552f6b83c814e06aafc5af21b0305aeed4918d438c8daa2d29b3d29cfa1733a81f1e9e04b6d1733cecd77b18a480329ff7cae3fbc22b2103ff6878f5c3433805056d4c075085525d37fabbb0099a2035a846115a3d43695bedcacbbddb6e1f7f441c80f1f6b070fa9c6caa4acac221200581f027c1577685ce864e7f5da722e8af424f316c05cf23c32abfe57ad3085df7b481e07fea1030b02ef00581f027f175f68a71a66d6325fd2e0cae6e3a293eac1c6e0758dd17bf79b21075c49029a1a91f19ff4a95900581f0222e798654ac2cad0e3385b3fdc8e7447de088becc6e63b4691d3eaeb41c54931c62eb91bc95cac0000581f02d7a27556a08344721421175c817f3faaf03fc7ed069d0b717255957b1d52490761627e4e1ff3984300581f03230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe055bbce8aa77782f13d4202a230d978f361b011db270000581f03e8d527df98e8a5cea6844d083fe8caa26fb3f49811d5e6e029440a4888405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219028003191109f885b9760f0cbb63f8f4db390022f557d49ecb190c1c6cbd6ef0254b850353b5d520816d549e80ad38b514cd00b4e325e031825b7720eb8ac6b06584a160039f0c328fcd01c991a6117a0a5de9d77a20950e82ce02b8dffe100f7b8792fde90219b29a03a8ad48e7c7c393959e6cdef2f2a7d67b0d398420a65642aa46bf4475a27bf4ae036f407f21a5bad9b354b3bbf45ead440ce1297ffc9c71256b8bc5bbd8c097ce9603b06849c11d49248447b1f17a8c1ffe467338cbc09a661df29a962eb069af493203c637a37dbe46ed6da843163c4e587af21246f978e57cb1bf32c3329d18355956035fc50c12ea0718e84525766c492c4edd89739d0c497e49d7c22a23fadb784c940386a7c8874d632c6a11a20a13d4a100c863b76e85d276e9d03836b5060a381d5503849eba30d57b6d8629eed3cd08c4d4387b6d17edb71e16b73b48fe14cd463e910381e8166556838897e3320dfa48e5a381b63021e96ce37cdbb66d5673cfd3b3830342e4d2be00b9a726d7ddf25faef56becf2da8e007eff475be37075ee62885b7903cbf5588caaec0d243419e642211503b981fdb1e503a8e979599afd97505f90f103c851a8e35fa3c432e9824105f24f66b4494efa5afced193d91e52f5d141d3cf103b878c6d78e329a8cb306d8f5274195bbc77bbafba184e245605ddc9fa8f04522035d536e26816574838ad46bdcfa22f2cb5e363134075f2fc4b57785c324ddc93c0336bec46b29bccbd88fca40ca6ddfe9dcfe56fdfe0ed755562a48b12caa156b6d0219ffff03322fe10067007ca70cad2e99e1b7bb7879b1263895605513fc0d4fd315779f4c03e8a044b373228c647dd168504d046eb504c32e5aea93e8b57ad59f8c6e7863f80316e4be8b5b132d71d57c72d33a2fa094a9c31f55f579d7e90b9ad956dee5e3db03cde919705b193b29b1e6d9190e6c2d80b3ee148de7425c2851bb902c7abbc67a0343ec25401e1cac140656b4a493f04e8370e864932693639cf65650063ddb36b7038222808af815649f0d5371f3e9b16d46e179d12b30b7dc5dc9e0c88fbda50d5e035adc96fd89a709d14ec944ded9a8e7c01e3e40d5527324af24e9bce9c96f6b4a03569f41f43a70dde02836d99f120ce6d9f4e1fbe3f77d420443bdb31a1a9ab09e0219ffff0341d5e33291218b87cf07434de605dec737f9adbe22242f097668aba7ec98cc1003a5bc9fb1255c9afc9995ce5b6e019728372e3fd06a90b396a31ed8570d3b49d60360331e5cc695fa8873edf1fc73a9ccd5df1a14651918b9b036834fec47ed6d3d03804c549c35b053ecc95d18de1a7f8332744aa999edb4264e272b9215952c81a2030b61655ba5f2e27f949a8085d09d96d97417f0babb775dca2da9e9cf73a897fc034e3dacf064cb3341dc7484438e6db1a2fe78723e2a299921717926f4fe0fdb8203861524b07b12cf6a0b91508781c63028edb27519f4d7dae63ee8b165e0ccd9c5035816e7d4798efed69d219148cd4d219a0908c21e42de751c37e48199fbb525f403c4cdf48194d6c1413ba9d881c128863499c73ce1c53b8e60b4049100200830a303c898a1550364e0f4960ad6dfb124b534d3aa272f8366e25bbe5ea196b8e51a8c032550131e8207fdde127f900cea5ffd4eff455fdd7a0e322577648c418510a873031c6b5026f40a67c56cd153b7704fd7226fe57fff6004e4f48089fda623944427038e3e68b3db9eecec083aee45a032e35c61c2b7b90cd471b2361404b0a46fe98a03936d872e9d0148465eef6a1f799f68eacb9a2bc4dab663cbd1ea87b463308f7403fcaa36c806f55ec462dbfb401ff798f29937e98d16cd59f3a7e07a0baf30670f00581f02cd7d594cf52b35340891c17ec2f6ed370c9b23ef89f108bd23c8b65f99a45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02879058b9b4bc59a8b9eecbec2c384bcf2206c1bb22f910ad102a6952cec0484563918244f4000000581f02e56a78216728058fec7644f88008296c483d5ee6938aae395f17bc4d3f5f480f7a1805961cec0000581f02a87b283df81031157ce31d51ced56c5c9c61f13c5dfb77a38bb56802f786410100581f02d95edc206eccc704d44329391611ef7dbb6a3740ee8b893d53be2d41b9cb49027cdf606554d2c683031bd0b70c31eded306a04e8e238378c84aa47298f334b73895fbbe81ee859cb2300581f02c1b561f41e5e93d9575ea6cd54b87e8aa2457c51e94199edecc17f00f11e499119c51c010800d80000581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481545613af0474eb9c528a34701a5b1662e3c8fa06780219d2990357143b0b1b3530d8744dee63a11db7bc98d497534b70e0e66f9548a981271d2a033d0c8450f615211e25cc688d19cace12b9487c2ed92fc680ff8258a9ca55907b0219ffff032b356334c77ac8a18d8d40b591df14640896f767e68b775b537b2bc4d6e5b5200387c8edd8e1542ab02f65f4bd41babfffc01f3954743a0fe5edcc06e9c5ea0f88031664e7d13b0b99e64932eeab712bfc5a04b4035bfe2392b49a155974a8d7eda503d67d9ce15bebce3ac1eca11083d377c539071bd41578cc8d4b19b6af019e334e032f1a86b536f7cbcf028d2bec6cdf16f65b24ff0a3feaa64042b3cc43dcf7fc300317c09ca4df3387bff52355feebe920acd89b8f864732762c3c393b0f281932c7030885c6f1459ba8ad0e48d23d714f33c15101feab7464f1a8e581ea303f71ce0f0353f16d57031b96da0479518bb6edceea64bbff8c24827cdd69323818328d6dd9032f9829c603753bb0b61ed1011cf16478a53e58d641ecd52072dc9ce33fd97b6c03227a66896eafec06d7b65ef29eafee111063d012ec5ec35bfb4868c1cc12dbe603176b4c5dc74d4b400ae33f659b1ba39e81e07ad9ad823d2726d61d44d4b186fe037f3de896badb263a7dfeac24ad5f2e856e722db4b7545accd35e8f96ba83b00903dd71115bb6179df0b1e3cc48a480d8c17b9bc3660fc7a7c0c0d69b9815b61b030219ffff03b543b8e835450d2bcf57b3f7ed97dea7633a6ba95b467670c23320fc03ce74ff031ecc0ba1e9730b83ed9232dbc4a450ef8bbacfc9fdd17470ea7b19fa1587ccca0362daf38af1c38ae152bdcc2f22fbc130f4f1b2ad0f10e022208838e57145e37f032f2c0d1645a66d9f74f2bdf7a51f1171d65ffe5a73d161b1cbde0c975901b054032c09ca1254c5818aed1aea799f6c0e166b7f1163455b19a2c90dba395ea564240376c2529e24d199a258edc5e269416e1bd9c48a0ce1e79f06a35086808501915f034c7ae3a52c39ed149017b1a9674b3af14d80e602d6fc6b767f1791ca9c99327f03aa428cf14da547db01af680154e0106d7496e1443a9c6226f80e0151c1a6c147033ca6d52fa9379bbfd5d6c1f908c998a46fbad4562ef58ca342912c1226efd6d2033e78e545e940a59ef68d9981018c351d9c20b1fa497d64ead5b7ebadc2f1b1cc03587e2a5eec89c0a53835f24df2dd988f12f2c5fdb99bea921beb96e2b69a2f55036b6ed2c102dd5922311ec32dba4cfabe14da103ba378c3851a8f7ad58c4d64ab0359817251cb87cd14423a7201329bca68579266a9aa9ab07a59e24089fc86093a03972670dba29164b21164efe6cce97d3ab142acce7ba68361e333cb0c7d3ee9f00333293db26186ca364e9a029f045a661dbf161054db8c8408d9831f39fef9e3a503d13ec362ffa22afa07a06b569630b38349e437260d34c7c1129913114326719b038d88bbd37326762b4cf4d903af9c583668de4a773c2c0ac33d66772d6eb21cef03011aefdea90098c4a2918cae9648203ca73e695f323afbb4d2577edf029b4f9400581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54ad0c361ef902a7d9851ca7dcc85535da2d3c6fc703f86bf54ddfb73a6323ff131a7985a70f09e1b70a632f9c1b0f0d694d53cbed0300581f02f7ee67847b929075f9c5109c01c25c23b786c258fd1e4fbeffa4e3ecc27d49030431290b61b7c00000581f028b23a2b6f24cb55643a1311d331a779a71d645eb7a3158c63f5c95bbd3304853444835ec58000000581f02a7d4b79b18796d835893003f18672345bda004e94a7e5ab7130fc37ca9715820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0393b8fe86a665c3f4629a1c628c7feaeff5c96cab6576dca4444671b091e0aa7700581f02834d4204bcdcda54670d4f3b2d7043581c6e6fbe3d9d459252107d62c7f448c65408acdc0ba43003dd5add0832e225c0efd2200b8172a0ebb026a1e945333ddbd8360b6d1c27b28c0219a73603218432c1f775093a72ca0097dd12a374c481fa4b166dbda72e9345f47b1b1dd30314ea99b94a9d5c4cb49b0bbdbcb40a3accff8854a271d2f1ac818d4dce83cbd4034176ed665a7e2d0645701c22244406a86cb32f57c84fe73f99249e9b09a29a120312d72e29aa2190a7639734d39978c8b4df99176142d781cd753093959d9a76690219ffff036a9c4d3624ad9bd6ad703744fd016451396e454a875b36e24f82ca41de3f887803632e1d5b9ee792e03b5dd0802cf2885e3db0a6620f33f43d9ab067f92e49280e03b6ef38d8545c470bc6d5b0daf3cf9c8666e6328bd86fb79ef27daffe5e4de80d03ac9e68332561dd5dd66132255bac05fd7c52bdd20ad9f62b3944df8c3d3e68ec03bc80a5d374b7b6e4c2ae1b432d64eae3d9affc5a08268547be71ccc33fa825dd03cbeb043cd1bd0fd6b30f0bf0c94e28f05bd81c5c1c8599b95e6e28d5a309b1fd03abb57573194a405f4706d87f95a58efdef6e25d34e8222857920ca78e6d9460003ae00bbc65f047e9dc3494462aabda0de6f29bec6b1f579e1a64a324a917d999203f811fbfff1ca9c31e34e839f6261629f522e00b86a34948f041cefa21afbedf1035db3f8fa9ece7a0d0fe5b1b2067df24707e6ba8495b2b78635ff19ba9b6340a70219ffff030da70d6996be631baef8bdb262c946c3db6151d9685a7f0f3c072a101ff4a2e1035b237f05d5381814fc123db7cd06b906c888931d61575ae286ed8038f0ffb4370367a5223271b0952d056dbc5fd71180f13fadaab19b9a3c601ac2b7a0b5dee99b0391aea58df18f02ad4263231d55a181ef9f93883d5623548985a5f92551f129040312ac3c69a8016dbc5581b1ba5854d29d848999ab2a3e94a9372eb0c207593877031b2512cbd5134ee12c701551fd8903e42cae7d8c1c7bb8b1d201adb5f6f39903035eaf3f29647b53f84d3ffe41d7f5d5bf4477aad1764d65b12116cdfe2d19281403757558fa3e4b28d42f8015924fdc695ff63e2eff43b296a61637dce837eef124036ff22142a722433f34afa5efacded5063b213a5556e1070f98ac348cab61ceee0307bc719946a12f6c3c1cf9e94d0eb031982bfbf1435f7040568d19d40a18048203227b0ed53db74819bbbecaeb17d1ba9dd4b3caba13c1791353c80aee3993ba39038925f0b576daf7ba31a08a9972676acc82e8bbcbe4605832fd64b6754ba5ca0e0376ccd625c9364392e2f7c634e77c52d2b13fe1b9390fc36ed90e7c080e1bc24b03af95de1385479dbc39fdf5f44045f50339d013de6c2b7386ec32e44ee2bec03b03f608729a5855aafb2ed5ccbf7f88397fcfd6b5f4a3f4027abbc28d92645828e7038f72c11852cf3d08fb3721212d991768ba611d37c16974d2288249aca204f39e03131549c71e0419d748f9320f2aa122f8a736fe625df7bffb901c983fd4dde976039d12506f1293d0a366e4466a08b05927b1e20f01bb7936fd50401679e02962fb033ad370ffa6e0513827c83e72917a892e0258fb5064034dc4a2b8e7f4e970e29c03929b9494cc6d0d7fc121581f70c81f9574fb51a7a439b5157b4ccb823703286b03b23cb8cdedb6f18c98f3e62ba259f3bc6bae340afac1f08e529838a9ee9f26d503b23542cd0cfc37f55b8ad119a8cf8e9f5ef64a436bc30a955559a49eb695a5c9031feb38e80386d648623d6c0450b20afd9b2fb7a47cc1347f21f5464ab6b425d103f21a9ea12881c7ad3b09ddee6c020ce1ca570244fcaa0939d130c1fe9106b5fa0345b0032d27c07a3618d6f7aae9db322a2cd09258384682c464f9c67a9435e92f039d5d43b9176038fb92f4dbca2ab3ff70b4ce344fe3f14a5d592fbd2b77246a6803d9a6bbdf615c78db399e1c2e5cb0224da43a49b06b887f05f4de5811f41d793503a5afed0223e3ac1381f36c09d1bd9529a213f9c977f2e2076df5fd9240afec93034e6b009c8e53c2c01bacaaa0c8c63866a522b9f98888f386d2e7d825b8f576f200581f02e22f0458d56be129af089a7ff959f3c4128e93b01a086c7e58e6b9b58ba45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03e8363b61a32d6d996d3db4dcb6514f8d329fab886e3f7f22544178041ab0480de0b6b3a764000000581f03ec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d04b1f057b26c1c5acb51548c10219080100581f022f18d513474daaea9477c9229e6892b56f134cbac17a57ed529aba423b155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f2cf5e4a43f7e55c72f2c63c4040c1cf53090597a3dac1388c1b996c1802469300581f023430810393fde03e657aab77248fde02b471f3cbe0ca813f23feebf07bfe482dcbf4840eca000000581f02156c7487d5fc89365d301a8bbb2c5e721c4848fbf481a402b9e2c430e9674813403be1494595570346ea4f658cb69ccef16b93a2d17e9c4cfc8a87042ced6c34238481c129b0f4eb00581f0212467dda121a8a8289c16bebf93f4d6f8e475f4eebf9424e5abd848c30db47f3a120fa43f37100581f025793ea1e649ea03caa9f9d5d6cdc54018882a8e966a97ac663b1e92a6556483326f285719cc00002195b7103a27ea2e615bf67b22258d1a24d60d2f99c2139bd46103ca8fccdafd8563c002103c95672f0fc0e59d7748ce1bed65206750a5bdbb81a5c6cf55bfc0c45ad8d9a7b03990ba982e7ba47677acd8c72d961dcc195b5f9ecab9c8f10d21dc0ff67ae008e03f8fe2d9162f818ecc1e5261e06cb96a2495046822eba6c3b1817351a99a4046e0387fc429187a412cdb67fd4490f1b72e497338c10f9c0e869692bf8619d9190e50219ffff0219ffff03f36c9e4139395886ce6fc45707a42573736eddf3022530c9d2aae919e3240d7d0309b7c34a671203518b8fee35912a121e64c19ca3649c2115f9fafc06eee0d76b03248259e9f09d4f46938906cccf3d2458c199a25ed9bc9d81805356b3c38371300310cb1dffb49733ff71d3df67e1b8ee75f9f380a55424349a66635a56e5119a210311c8f2eb900dcb40f964a45f2bc361ab8866da4ee08194ddeef7efa4e1b78dbe03a841b3c4507bfa62056d54cf3588e109eb9e01a4eb38c9009435e6613595df1f03d286628e733633c10060b8d4052352f3170f607523749451da936c6236e42153039b775ae80378d88b1f3124edbcdb0ef7e7f557564755c01972f86f1394e708f900581f0279e283fadbc2dcf78e73d1eb8d713058f09a07987f26816c3b48f98910164872f6a1ce631a87a2034133d52025704542481b50594ea4776cc7051aeb49c46eba762be397e7d78f6f00581f02f28a7da5147b34456bb63cb4d95ecc73e089ba601e4d2fb7728342b7e8075820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ca7d03609939551a98ec3e95e0cc570b80374e40314e76c2a9f6e81471a46b7d00581f033fdf01c1e17e1afd5669e6738bc935b98ffe817987afd8c611a0251e35104a07d2714602b5b621136500581f03221d2fa403af988a5243b7f13dc9759f03e8034748c1df517a5bb6aa2d904867aac56c182b000002182803662a789fbc3c14a7f5379f1a1a7895964a7192b51fffe8d526fa3bb647f9f51b00581f02945221c90a00445b04d766fd2fc3337031b15961b56a7e1eb5af5c8cbbc54905862ae18bb45016be00581f02411ed834680e8b76a6d2b9e88f4c5c48bf8f49556fbda52cc16a3c49c18a485f5fd1a1f9b514000219b05e03b82259fdc94a6519da767f0ca986ae89a0489cada69d139c118a33dde2addaf603c56c4f6b291845900f75dc636656b384d7a14d8bf25e28f303b9f1e5e04427fc034164caa2c90e11c17a9337cf6c3c0762f111db9fbd9e66a6c30c8b574d28fcc003d4adcc21144aff2ca1088f03549cc27443ace765ffadd8c536b349730259d7f003dc15e9c3921ff6685553e092ce719470dc68edf28e2f69abe9bf32527b6f4709037f495f3ff56ad8554cd951d2f90da2871b317927b3a0a60557ac72e9fb3100a20357cc01d4ce780506bb8d18ea37ed16c8bd113560d86c0573f2cf099eb637c20803e1bccfa3031e9bc29feefff78e034228855a57d116217f723d84b2c37a0a1697032d6aded5c09ca4f72a17f0a887e90cd72b586e03f7155b10dd577d24ea057dca0219ffff03eaa25bb1f121c05dbc45d549775ca551ebe7e116cd938c716dda78e3b31aed00034767cfd50b2615ce98af9d0e26b824dccc535ff44cc33fba548d1f3a742216a7030e70e896e4ab784567f2ab0944437d343412d684173c9a3761c41304ef952d5103d272c72fe59383ed999f7665a7847ca06bcee4168b64a0ec7223ef4a9cab072d03a609c366a7209a8d0a121171e823b5fa9ad751fd31ddb3a6dd7ca54803c3d898037010493a5eaabff4cccfe27e11e5a0a0f5a64885db555d73b30e9946bf77cf5f03cac9b4269f403d99067f37944a88cea654e52ca327901afee00fa9a265117bdd03ae67c005587556d69a637084acf89882eac686fd34ee56947d4b019c5eb1d7780307c3a2929499724f8a9e4be0823c8307efd8810b7ad54c4f3c186816f6079ce903a6a03b0ec8b3a09edea6c4929243c1eb7e13904d362f2d8ce47c149119c9496b03049dca444b93c6cf9ab5360a47bcbc6c12e6a17e44e23698efab27788b23e59d03fc41089b9063ad2d78e50e7e47aba04f470223423af62e5576ffd4eccf7f238703a37d2acec660c13aa097b779376224534fa028590e011795a84f00c484ca36690389e5a46b0a88f4d11de932a1474b35854ec1357279e4beee0d9181a0dd00f1b70219ffff03c117e76f9fff34d845620350e4d9558279b4df24644dff3342b639fb6b3044840219ffff05581e03b23cda97009c906b384f32a5ff6fce6b839b5df0c37901c332973d13800f014203e8190a2105581e031a1589ecd77160476021088fe10d275da885a8f33f6a5b8c02ad83a7400c0146331432b6d77003cac7032381959530f3162699fd0cdcf63c86b5a8b0e4e39c4d15da5ef9640abc0219e6ee032a3d8ef12d9cda453ec0af2a197241c881b87d70d9fbc4eede473ed5b59848060351bb968b9c5b4a31dea3affdc8d0afe1d486b892ec230192cc2f944250dae1bb03ca359f19f5442a881817be66911a2b5d229c24510c1032c14eb3eef113245af303a7122d6794cd0ea2fabce5ed57c2ea9b02f7330f4ee0937431044e5b22b0d0cb034c376b78122f7f08df10affc201024f21af6852cebc2f63b5175c4589ae232110337cff7667909522a29d21e7ff452aa4be05018a9528974e6e1afd78a21848bb5032d2d2e01af75e2668b08cd98d1d46b0c11bf7c55b1dc9859ed65957ff4fb44610219ffff036c8cb4ca38f03874db1bec5653690c36e3f954b497115012f11c80ed4a45be2d0219ffff03140854586587741f6e7008de80283a699de83e83ff0b533d56a6f0db801f7d7703249deb0181d67a09e9594f60cd5fde6097719b58e6bba438c59d9a970e2f06a8038554c780658918716f420d43edb230a54c95df24feb96b5092e1d1d6ed9dcb57032ed3db788239440c6e8fc3ac2b53ad83d12c68de8927061deb4a1fcb265518f203f91fb0981ce16eea55f70c0eac115da1a88b4bada4475568077e27214eaa9492033477d7d6c51e7d473427678a3cfd6a3801a1fb0d8cd4e588419120c0f90395ca03304b95d42ff7986a9779f0fbc0cb262e48fd4a6a2ecdf794482ae698f70d7e5b0219ffff03e9a5c1496da15967ee7945dba99e732a6ad5cb0472ca617962c9c4b2e3eb62e0037443a09ed1e77deaa5234b0666be9ca92a67b73f2a14cda63ca02a6c481689f703cfd03ab46adaeebb40c9335634ab2b4deb6adc08a079012eeae8ad7476d80a51037bd9f0a21ed2f147627143af878f90b3ff4b0e5eb6a360816c51f1533121860903f6f811229213199ba3b7ba343b37ade46b8ae0aedd7111943bb06b48cea5268f030c54c4c4e2b9347181667e5025142950210bcfd5d8198338e1b6478a0560e9cf034299ae0e8a68802cc675536f5d5af08f99a59d3bb2944df520caed3d278b81e703eb914ff59452ca41a2383340d5056e97171596ba3339f8ac3a6fad6ac370c0f203fbbc561c1365f7cdfc90f38644c2bceda839351e47a03d90d7d73f9d15e9896a0347d8212e1237ef027dbd53160e28a8cf3f8137953caf28bb7d8e6e9ba0fca89203258a5e50d4716a4a405450627480c72dddfc8b777280151f84a15528f4956dd203d92aae702eb75d75a4de524041cc0286065d81ac2b37d82910b2794ca0405ec0033b5118ac3ea0d527e92562f609638fd60d7e2f271c302a8afb3fbe1139b997dd037a0faf7c89a1239b71f39eb5e3f383ba0e579e4c8dec4bd9773714d6f7974a4c034d3da7faf096726bc26d215f545f55a20304fc917c4817befa065da185a88ec3038469d4a1974dc29e0e2242d3f228d56ab7bfdcd7b4a1671ecc7c35eb1751e05d032ee968574f1403980ba0eb9acdf761b3fb6412aae03d9812c94f8e6366e4238c03009361ea52c15be4c3ec256771581f08840944bd1120b55a72c68097591664a7038710caaf63c7efcc7a1c68edc3fae4c3227613e1928d4dd0a110513297e8204103b3ec2802f746fddfb4afcc895dc625e5075ffdf2c09fa8f161c638c52771b6a0034e67de363a69cf64c3adeae4cd83af7e27797e1c6d3803ef41be3b8fde4d8aff03209708aa2e7519c62063557842b9572db91e9134358a905d6d83043b60d8b2a803a986c424af6b68d517ffdfafa3acecb1e33f11d513e929a375823ffe0f2f400f03a630352a10febdb1d88b7838adb037b42feb7f534d2aa37eefadf07f7c59339103e1ba2e3322624961b52eefdd530d19c6123d428733aa7c311b29c52b69443d8103905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03c6ca33d1da37273bde82c768553ef71e1ea7eae24e1166fe1ff0bccb9007011bffffffffffffffff05581e03cc8b5efff59172c7415e46698cec64e508f0090e7e65d9787616f182b00c024236b005581d0282a6cebb45bb0c0208b42cda8a6240bf43baf9c740d98d9c46ca8aa00c05471c45cc0a84840005581d0200eea6ee1ba1de20796fb06da227f3e6ae60ffd1de5a6d87a78838f80c014702d157b31071860219401005581e03da8a27a4735c32dfc5085af3326fd3595065fad429173dbde8464f31500c024674e89ea30ee805581e03520c283df622aded98e0bfcb97a99ff7c5cc4fc679367ef55b0227ecb00c01462ac5cad6d2000219d5830382e401b0fa3196babe574285083f90ffbce55312c48f65096d3f957f287403c803fa93002afb17440b79e7a6686625f13f603f11d42ccd5a052ace8c1f1a11484c0350f9eac8dca749464f817878d476203cb93f10d80fe3f6005a705f95dd8f162403970312ee294c01d30f0d0aa7231cc01e01e25539992202ab92cf0e071fa3b71e0219ffff035ede94595e82cf2bb46053ad4cc4cbab960a8923aa931893baf87187ceeef66303bc6672d28e320753500c99bead4c6c080cbb22d3bbc0c64e670d6440bd9edcbf030cfff7c5ffe055546d911212fff9cae54ced0c66cec1981f7b8440b203d56cc1039a0e85492920c1a93cd6cc88da5cddc9fa216f98a8af29f0895e555a639cc22403a5943a3212126ede8fd4080d1a90547325710684bae3fb529c327ba138248815032c268fd1d7851a0e355321193a0e2f668fc8f98aabfabbc570d4ba73f7f078de031aeeaef31efb4d5d8a224fe731c49a3da09d93398e8e8be1e62317dd0881f8630372a98175857aee632e11440405e2f116598b1b3690d392ed810eee6b71373fb1035fbcc11a73f536cda930ac9b1bdad237e5a7e6c93f427f0bbaf44135c16e1fa903c78206c8b99a4dba0ac8f5fb5e888f3fadec7abf59247e3f08b8eaad44dd758303b1a02aecc152998fcc0dfa6f7ef3c561794b6bc906070ba0fe31f49394378d2e0219ffff03c9ee8a4ec63bc3c0f5fd85752093a6e2c4152c8787c93e31301749cf4bd1969b030ce6621da423c6a7e2baa31e0d2f657c941f04e60cc52d55ceb0a1a9d57749d203b3d4853b7a19e7bbf8eeab6cd95028e0aae69f55f4489fa334696098de4a574a03861a9bbdb1b2acf5c9016cbe42955cf460574992171575fa5c97628d5ea6a43e03075b24955e04e513bc6cf626c8ea19efd91fc9f7492c01a48a46054365fa6c0103fcf5f6b967370f154ba1ce96d90334038af78d23e9deea9c70d5a4807527625e03d7c880989d7b8ec80854dbef750dc51de3899731cc97fd67c9abd99d7eb09db70386c423b68b773144e581c07ee58a0b98abe9c6aa109e4d11cdd056e82ff1ee6303b03948fcbe2e60d713c2d7d4bb8244d665719e9db2bd6ba52a68e963e56ba7c90219ffff03d09e4c012aef89f4936937578a1906317940f602830b5287cab1ab29e27fd31e038fb9ee07f0a1504e86502dda2c7d3fe336f3bd9f9f03fcbf42f534ae56a3769a03710d5f93154811dfbd2fa66c50027becb38eae13b0d976183d403c4187e6958a034836b2cb5f0e45ccefee5dcdc7cee107fb4ed08b6aa247b2cc8cd24db82fc78703b1b477d6557bea625860e8113727dff08565d9221168fccb050f591ee0a4f86c030749f7dd03b35a5bc461e5ad5cd7382a7ba558719088b149f2f4929cbfb6de060365ee586d9a8f1ab062b36c41b0b6462b64f938f739ec7c991f986be6a6309c8a03df54496fa644c147067d8172f8213ddff5a7c18681cc8db745145909852ff21d0329b13f19e9afa1e2e8335e59cffdaeeabd24c2e8d78183e60f71022d22ee49c203b2cbd95682a0d99a77ec2c530a8cbc79556c56a951b794a4921ccdecedbedd2103bc9e452451d2717c4ed885be304af32f7338be8da2d9092b71a28540241f82cb03b8ac842ddcc6da8aa62caa4e9cf13f6e0e221b090df69a9fccdc772e632f91d3034c787ab5043efbf5d9f651d07a8109985ee4df86bafc9c9d2fa42d273ab2573b03faae0b6023a5f5a0baabc86d437631b3bb48367993de1f5fa594cec79c1f87b5039430d6c2695867dfdc15e1a521cc51039000c94e4746db4cc3f4ed62b7151f6d03d341808001d6ccf040c3261b0e4caca0086e403dbbd0c68ab516cd20ec2ffa2f039926c9b70fd52a319f7e9fba6d28e01455a62882a50274f7fbdc776df50e6fd30389755d23f94b3d2d1f6d67821eee8f9a9f680160536df3899420f919cba5882503bef31fd5fbd8fe2c6cc8259e9526854c0514a10df0ac39fc33220dcf034218f5039ff71e6377379fdf5a3ef94dbeaac07f0d283d644491e221fc0955e9233d986503fa1c66318028e97c7ca98790d30fb264bca3d02861d2a4f52538e35632dc8a07031797df57712ed0527d9f50e59746fe50194bce6e262b0467336c6544ce8a227303d43ec8e93886d7c4fa515f2ba2ae266b49c4e3059ca3a8c294da6fbc69dd02fa037d1a2c1f04f73b38f66b9664e46ecd2b15fd034a6959671fb3d18c79b759a47e0366276be042a162ec95780b581d6925cf6a4db50f9ed0cdd2193bb2e39c9af84b03eebc9edb71d37600ca9302f5892a84eb117b8be5603a791af3f0ce8e4dba23a1033f5471c3239047a58cb9fa6e5590711e9cd90fd73a49312020aac4cd76985f4d03ec1179624ed2dc012b7b78211d3a27f6222ddaf774fa7fb6f7013069bc327ef70336d96720bae1fa52b1881b43343df1ddaf4e0823e2010f59408c4ae69121298603d94e6ca39bcc93d7519c69f2351ce2d5763d40c838030518ba989a277e6df66903e8069fd8f001447e192caee844b6fa7f6ebcefb42c8de51ded5e401e49dd7fc703f774966aaac406a628b226d170dc073f2ac3351051a179a9e4655f4e4b5e67060351bcf80e9e5d285b15bc4cb927cab9c37666c22068ac19d0ea8ff13378e3ad7f0342fd0bd7c9602c250c07a2e211099a2ec0a98f8b7f9f4a8417ae51da5da9ec0d0316837b9814f2b3838c0bb80501f15a664b1ab72e40bd4c3dfd450be87b7b734903c59431bdd702ac22faf3a77b640073a7b477c09625b21e61455fb9e9d2c9427a039a708289af687e58f909bf75a5c9a01bc1ce366bbae1ca401a0f6ee8c510c2cb05581e03ec406dcc562d6cd20e7a52f20a175a6bad74c9be7f8ea876e38710e5300c044704f59996510f880326ea0c60ebbf6ba2f8d2c4e352d9518ac69d7c9ef4a18dab35770aebe0c9a56c05581e0335ec1ecaba21834690c8648489bf062fa8189eb2667254fc6987e2a710040a03207e37bb730246e6dfd95f5d7ad3a9ce6b6ba51bda26151da70c28355c1f544d05581e031a521db64361127cecbc92c90c11e509785f60a7e2143271257014c7700c1899477fdd54fe37765d05581e03d17863ae702d8785c936cd60bff19a1c1ad60c890000e48fb4ce9c58400402036483408cbd4159d972a768031b5e67f7064cf465f69d61b0a4a4368dfbd778d603056c45fe1dcf87e83a9eb01010f9f99156d1946b00aa03135457866eca27732305581e03c6e3568eb8192839e0ea0f5a211a9a008f437bd734d9c1a355b0de59000c04470d9f8fc94eb22405581e0319d2b94293c40dd2d96c8886424d856c4ac208fe7fe039c3ad4de14f8004020219bcfa0219ffff03882a4a48ecb154c3cfef94eea82c1e60181cabd41ef1e41cd6ff5b7bdb7338410349dd275b8c2c4f76600a8253e6d1d5dcd4c914557abfdf4224ac5a3564a020fa0373e9b8531adfd85602846ea3107de11a5afb9b7b0889ffd60b177465d89b21920339a0c909cb09ffadc54f60205cd75d29491119ed0c6503b84b1cb66eb721028203e51201193be7dd2e3f68d48f4a2b8b7619d34d3313df0553380a40f23f6facff030abdd5e11a72ab453d61a0bd382e6c207d3f0076cda500a72eacb7604481216e03c8fdc2fa53efa124d129c7b9b577317e65558ef5ce77db199c45f7bacac671ec035daeb844b3b54aed2ff432a7a0e53f3527154b1381f659dbf000ac521e314b9b034be151df9daa19f7aa3fe9c2d7f6eb7d480862aaa236a7b4b894b37d3f1e965c033e9038701dd109c428acb5af14aa7e2d2b3928e2a2e9b1cf4dc9293ae167472f0219ffff0219ffff03ee21310ab9a7507f21b5b15a44c1cd56ed5bbfb863816a0ebb99092a534ac3040331a978032ac836bc940fa5bf5b022e123ca5782806c8ac5408088d9fac3980610327670905e1fd20b8de4ba875c3b50632b6477c39e7a4038f46840d76155ccb030371f79e98ff0ec1a160f219d6d47f6b920e898c29ad31dd845d9b2fa08056c08e030bddc2436024a43a254858abbb20fb66c1bc9d617f0c5f7cd8001b3b772f490203eed94b2b1afe440717a86b6dfd4cf9352c8ed24399d470034dd33570144f9e50037bd45f52717702d095860bf6fbe7aaa5782e747f274c7790632ac26438a6284303d8708c591cd7dc42a3a870d89f109c75a2c28c3d04c73de191bb38c656906cc10219ffff0326a885c68f7a28d1c92e7f5c67e3f53bbdfd5cf8b82e1d1c4ebb1902c337b1eb03043e529bbc7fecc50ed42568ecf17bc8d53940dac403fac65128a9b529b7088103e617a6957519dfc9f9e89f850cab57ecce321e99e0d8ee9af87a881e8500658d03fbd53ddc8308a9758cd33e81faad445602d174c348b12dc1ced36b72f15750ae03ec34137e2110fbd3080aa13fa245e45db4f998c76c8263c69cb218399ef2bc8d03bb5f29c117d40b68ccadc718932d85253f0e712b5fd6f64005637fe4fd000e2603df3e2e815cd4f84ff6faf02d20585cc846f3a0ddad7db4b0c8fe96c010e7fcc6032fe1394a36c5022eab42f1dadebfa2cc486c22c51b0a32a90c2f97c26b3a9343039a7f11dae8a9bc8c0ff9950d8b9308ca77216fa63ecaf4175638ba37bd100c0e03bc52ee7866fa997fd56c1b94b8b459527f475c8eec18507424aaf2f6f27f021303d24ffe5e960fd8c0aed2267704139e9f8c7d9514a4a1055c7e4afd5da322fac603066995fd9f8449edb1b708642c311c73c5fb4709c938f32bbfe403d2216d3543035e508f5a4f1e10abaa4cc9c6b276ff5b7d7cf4150af946b0dc6d2e16e28dc03e03a9065cbb99f1b49b1c1eed4d09b73103bbba2a57f164d21e07b0f047b51559c903a339cd43384eed839f680abef05c9c16af34a49b5a015168a078b5680b433b340356e841b10506218f8feae9c9e56210638baa80ed38b6d08ec05af18384a115ca03dea7fad7d145a41c0368bdbaf44114e5399181ff2bf0729932b43840b7ef7daf03134002db3479553c3ca6129788abb54ad7236f0777825ed4a0e287e0ad98a546037ba1d982fe54b0cd59b63fcdd4f46885a93018455bb3ec4833f12b7e438777ca031509e6433e02efa760d251d9f24c940a8aa440c3951d408233d293fd47b87c52031e69d9761333157b29e259c6578700cef98c04813b4e1ceb2d2f6e99929960cb03dfb54b59996644620787a61a53a3014074ceb8ef518d42289621d5cd79a0d9b703f45b85068ababd6256c28a492e9459e9df89a80d7276c971de975947b09d78d0032da0c4198d2039afdcc742a17ba019b6a8fb463599172b78d63aae6a8d806335037d8025faf595ad7b8bc5fb0c17cec6a4f500c94a03b9ebfc103f3f1c19187f0b03ae9e470af3f0de0557b672513f48750b1943fbaeb1ed796fd27445647dec00dc033ed91c2889c54a3ec21e9a78060c577ae1c35d77e82d9afe053d5cc92f26d74b05581d0209eaa73344216c3c7c26096dbd0ce3e39469e5925f2924bbe9979fef040104582d363d3d373d3d3d363d73e5dcdc13b628c2df813db1080367e929c1507ca05af43d82803e903d91602b57fd5bf30058200275b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9420ae8005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0420aed020a0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0420aeb00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0420ae900582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0420aec00581f0360883dff31a7bc7e4b95d2145683cb653e6088ec19c88d7a70ee68110760410100581f034618cd025942cb0d260f2d9a63b9840722049bda9a26c510c0bea4a041004101021830014301bae00058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880420ae70058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6042010000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b420aee00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80420aea00582003e251a19b290cb66e832ab866b7d8ea806c322cf9cbd519821e0ca77be6a06041010219042002184400582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3420aef0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f420af002184802199f5105581d02da96821da78e96605ea488766a27cb2ad25b169d4994cb04ae74481c0f0148032412eb40f84fee182d05581d02c1f5849e77b3a5d496482914f3785681ebc3fb955d104513582fd9480847a15e471b7a409a020b030e2c01b852f2df44316490001fd015f18ea428867a0113b17c96e41920123a5e03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba0394e449cead735841c8271c0c73e48927ffd3cb7d20b5b40e9fcdeb3dd9c1691805581e039df546f3056eb133a6457f9f70a82a3781c24d1e9e14c48a30d726260007011bffffffffffffffff03168bc41cea6b1edb2f9ef424746b59d3b6f90786c3e3857faa9ac4fc9959f5ec05581e03ff4729efd95e55462a2fbb2aed9997e610409b3ab9904abec246422dd0040205581e034d62a58feafb944d810ac0ef812f3dd4e281be04123d5a9fce79e2e270040105581e03aa43c5ac99d6529c46beb55da10bfecd20218cb02fe345097ebe304ac004020219f4e00363a0709147e48c1ec0e6b14afac6084583dc5aa6a3b30d566b5f99daaf97c3ab036fddbbefa370b69ddc9db5856d623b480089ffcfb91a6247264aca808713eb7903a3e6f3a9049635b5d9a6d3918d4186a18d720976b4ce7990ac4c6da0b080594103c8e90d416ec12e101749db6b7de9a3475d752ea11cc3c979d852696c75b9d05d03f6291527f9424e7f79511951ad786d48dd79caddecbc104b0b4b5cccc5ad0585036c785336a06db4fbb274a6726dc7bd62e496d702153418b4c53ddeb2265f1dc703d1c86d060e468aecf457035b8303e3ccd04f72bb3c5717e120b3d50898e29f8f03e276021e720d630a054bbfb83ac71834800bc4c5ca3a3524dbe4a03368c6921a0300e5c997dd7c9ff3dcf39b59033f091dde312dd035cbbcdb760eecbf16e48e580373133bd83669177ba9050ae482d7f829664cf22db7c8ea2890e792b2e696971d0219ffff03e88d3af7888b1e73ddfb0188b3fdb6525a6508a9834db06dd0dd2cefb5b4a2ac0321a7d7d3f4a8be4335bf665cf659db8b4e2bdb59163e9fe6c305bc1b42a6ad5303547925b53f4267c4ecbea5d0aa3cf838ec0f48de2db38f8dedeb653cf54ba7f1038865810571976c8b45a75324322ef71140764575167ccf1301211b9412c4ce1f038e29d25c5e76541287dec21dbee6a8e521c7f9f62349bb94acfa8f8e17fed1050322f310219a2ac5459ccd1f3a550828fed9e6743220e31057191da993aee7e1e60219ffff0353404866b080b25e85517e0857b6014315b7500b13d6edc34cb2da04c640e67f034923766e10e528efd9924820d3ca2666dca4ed9392a3203e060203e4a6e7465903870f988a85d7337e8f810e1273649843c69f997076d7fde5fa7863b25610dace033a0a83bf75e7c63432d87728e8c5f59003b0b6c84c05fc3a7b41b0742a8fbf9c03f3bf6f6eea70ba184a50bacd0eca4d573af8828b9c402718b98acbd698405ce103817cabc1dfc8eddae9bbc6e51e3e032215bbe3ee83e60c7e3b8f52733263a94003bf9ef7b7a8e765bdb8ec9aeffdc7f60cf306122b89ba336f1b5ddb48adbdc00203f3293c5e7741152f1463412e90e2beaf9ce4ebf55da5cf4050f4281045dc1f400219ffff032b1f4e879c3672c8d62754c46f1469071c4427f0c9665f684df6764e20d92b77035764e7d19a6997a4877cb89f9804a1b4e3b1cef00923cc7fad3d6a76b2bde20003c478cf30ff3b5acc86bddc47d9ed2a0d9a75fa313b0fdc6ceb458fa338ed6abc03da25e080afc59ce4cd0740283c91b07a057df26194f573f3b1bbfde201e3915f03acf875960e2b86a10054fc206ff206bf22f3c286a024ef285d96173cf36d623303dda1187c48dee4bce20a0d59e2d2578036e07b2ca850650e32e3c09bc9f61cf2031954ff899788b0c4ec6ecbfe53175c82624476c94f9f55b2c1dbb7e5a8ec21a60318568d2ad8f867feb21a0bdf8be23fc0460c6be37a7c544a465b3091e6d8cdb10371494a96a50fb261fd50d60a133dcd4f57b2665e59358a2b583eed865ac412c80378bd81566adae71f703722d83fa6e90d4a4704b75c7bf9710399088800709bdb0219ffff033abf44d6c31a49e8a89c3ffd9b19a2e4e67c677abf0fbc51f979bd9a59d2a7ee035ff3d2795893fc327f9e4eecf62cfbbb9db7ada78c21bac81193c62bdf5c3d5503f54c0690d58abca7128bd0642e815e5d79c176c231ac3805c8024ac22ee2a5c003c3064b6439d6e26612eaf753db79ee54adbe24582a95e23b35d57bc8b0d22ada0359b00cc8167f968f512a971078364ea5a176bed1fb0a21c4e0280e739459bc730326049ccc01ff5fcd53ad840ed9d3bd4856873aab15c8ef88c019ba74d4f36f6303e060af440b7a5f3809387a282bc18e147cb673c86f52966898deb30fd07ff06203771790b57b182f01ba0cae75ad35a1ff6e65ce7c78b9ec62e8def93d50bcdde70378e6d3c61e4ba4e8ddd0ca9db8f6069eaf7fbd18bf4ae034dbeb574acefe2a5f0354f8ad98708cf930daf3dd72bf45ce6ac9b2550ee5d3ce7eaadb6e8bc96ac52d035119c8808a3f0fd08f5c732083168c4f39de88eeb7c050e00fc6364957d77c3d03cdffa889c348e7e1a3c4e39e4d6ec3fbee0e24fd856bf776c5bab302921e1b3803aa253be36eba51bcc2ea9d6280faff6bd4fc92db14a1a487a008e9fccab93b770300e01e027701eaecdab2e779e93d8a320ef9ced656baf2d2cd87bc12aca623eb03e7654c9f23c8aa9720fe6f165cc9bea740db7beb46ca3bbc059034b2542912fb03c7acf1f4380171927c8917477ebaf2f28806b8d38dfa89d7678ad5f4ec4466540362bfd960da7e63565058f357d4651e86c6205e539c79bac5e2baa5070fcadbdc034f8b89d6ab9866a91936270e5bae1899b751aab27a901c299f906a29acf1227a0374d0dc7460042bddde41469835dc2fc48da71f337c368a6528e2c83604c9688b0305e113b30d18722bbe0c7b84fff9fbc8c781d4f61ea1f05a72257ed9eaeaafe60329032d31c3a8791ac19c2e3619466140d07ff673cd61624d2e92277a4859f6ad033a53bc59b288d945ce86f2343f07a063308081307f153aa477f713c097c3ec4d039c6348813af22f28e863770898adcdc343d0052ce5f24474f5973e98641d806b03c1630bf410f527316c0fd5e9707e95dd8df548816feca235b0baf845d0f1611c035aa035c9486218f78a0859fbd8f3cf31ef274749d2176c7e81f31464783bfe790387df12d5c5ce2f4594d3fb124dd41b33627c8e4383d46562b4a56babe4389d9603f578d519b9219785540d1366da5aafcef63cc69267fdb37c9339a97905d3fd8703b6eaebf6c23eb1d1ce79ff60f065e758c771ab752d2f7ddbfa611f1ed96289ca0327c933f640013c64958b91a835880b785508fc4669b77da360a07d216f57e1b003aa5a41d722094d16f3945542256cb34b6df910195c0d3f2b99f2fb85fa7d90d4035c0b5efb8aaa85358706de693545267fe9ac7eca94f439d277743ac2de04305c030c3c69132168913676a29e10e780e4d44bc9cba946b747859d6287bfb35545ae05581e03379f5f9e7901343429ced75528fc4a744adfde7f82f9c99edc9fa1e3900c01462ac5cad6d2000372ad3133054e8f687f4d09dc63266362b7c394418ffd08d4fbd6a029511c463305581e035b5aa49be1cc283f78c187d638c07e61f709138bddec092e91cde67420040605581e03fd9ff2dd1490c640c83988a60dc724d6d086d23168ae165fb42ba31ec0040105581e03a625496c2cca07fee0b41df0d7de448c54475fb279df52427e766b2de0040303714a7341cf90dd8873677e451666e2b1b3b0410ce58304a44831d644fd9475a405581d025e3b9f29acd735d34f4308d7e20f7fbd1797a8142a2c39dde9006a5e0c0146965eaa9a6b780459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f00000000000000000000000040a7df3df8b56147b781353d379cb960120211d781565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f00000000000000000000000040a7df3df8b56147b781353d379cb960120211d78d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f00000000000000000000000040a7df3df8b56147b781353d379cb960120211d78b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f00000000000000000000000040a7df3df8b56147b781353d379cb960120211d7908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f00000000000000000000000040a7df3df8b56147b781353d379cb960120211d79087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000000f2e5e488daa815361ada55ef816b476799188971614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f00000000000000000000000040a7df3df8b56147b781353d379cb960120211d71693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a036eda7c1400cfbf38f70ba3ddafb0279db665e90a99b4da4b0650b8b731b4773b03e0b8d61c6e32b26ffc267d33c2cc192a9d64d309c8f8ee3a7deea3b29565f21700582002658ef8e666bb739ea49642f9944c1a151efd17b9345b2fc2fd1d8d250037d24f05d1d09f9234343955ceaf25bf4d1d005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100000100010000fec9d1000000000000000004d4bfa5a65ca2ab24ecffef00582002cc8e910be85537fefd1dfae29f0ec675b9e2e53a9b03b03760625fe4d2b67b4f187257ef79e507faecc4b262eb7c8300582002b99295bc641f69f0d284ba6cfbbf3a6be1f3b7588b4efb61b8f61831b99a434d13b5889bb94c9531667eb73bab02191a4003a4065780ebf5c789a070ea6d32d270cebdee69a3f23f9952611d64ded29339e7005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4f233c7a27fd836d6d0daa124f16d966005820028561d0c00d09ab3dea3d91750bd66f75c39944c1f0abb7bf9361e1d16505bf5820010000000000000000000000000000000000000000000000000000000000000000582002b68385768701a0604fbadfe9123b24a2c22800a2239df095f7d8eac99a5f5b490c85c46a4b6b673e1c00582002a93131ed642919a765d9cb0181505daad70796e9d563ee773a37c8fac6b99a5820010000000000000000000000000000000000000000000000000000000000000000582002f3c48b53894d93d1eaa684c69e2d51afb78eec1fff03d50c1d5e59777bbdd54f21e78b8265614630e07ffad2f34baa021909510349c744d16af87d7d0617778ba6f970d6276220e211321a68e5039bafbd6594790313768f7488a09dcc1230a53d0a683a59bf23dae077385e2edc8c4e2c9242d45903e3d03d2db137ac64d75c3ef4453a32340674e1a8493ac833b3c3f8bd0675cfd700582002b6fa4ad4ec2aabddc3fef74b485bceaafaf85b767696345cc81d8d3ec007074f07209efe001242e5946216d109c3d700582002f4dc8588000943862e6ab6537d170f4f868994cbbde26d7529e784c5e54b974e0e1a6997aeb93b461ac27037df5200582002877b0c330f71cf3c27c78f1a5c2388e6812fa5ec5bf13d166ceaa750abb3505820fffffffffffffff37a3b95b49498c1e4000000000000000c85c46a4b6b673e1c0058200210153cf1eac80dc6a1653cc19c0c88862b0175d242429233dd882c2255502b4e02f88a8d351bedd64355e8ac40b5005820027dbad57520b7be56755a0c2a911257b45feb6446ca5360e5785b26808a045558200100000000000000000000000000000000000000000000000000000000000000005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a03736b307a89b443b0130058200359ffe3c8e58fcbc9bc04021d756e4a97b9f635dd9949848951fe9196a1a7b0500d9b29af1ee0f3fe656d7d63fb95f9280218280058200222bad9590ead1f56dbd85c72c81b184ad084edb1024eabca41e4b584d819be5738a6be2575f9fb0000000000000003e80f459a485dba180058200280523d2a535f57580a07fcc29cb918be31687d16adddb0568e4d07fbbc07934a02cae6c3e6b6aff54a6000582002f06708cfd217daa258e9af5bb7c80d9a80d55b4de1d79936adee3026e100d858200165c861ff0000000000000000000000ad16c02cb16d8f5c17ffffffd5b0e4c802193c750380a6ec8f8e2527f4b405ee86fc649a8a8314ea4f696baab6e7fa41732e22b4d6034275f76c7b3f1122fab6338ce882fa901cb7e900a1738217323b260186868ed303adc25d4261d89b7e42bb23fcc58b4f424377b41dc8bc028417d1f368393ec83b038a7ff82cc4f9b03d8b52d52c654fe7dea001c1e6acc1c52e923392dfd00165710375e6dad12afe29c18740b2d4ac13f64f60bced2fc6d0c3099cf50c09e768510c03ec56ad25db49ec8d71637f8f862f0ae2f1fdfaaa977dc29769b6d409af16336c00582002c344dee5602e06eba2551c1e65c5ea93aced624e359ded97df0ecd2d9bacf350bc26fd8434df1b4c553742cbec69385500582003fead333123e5651d8b7faba1885eb15d8db40042349d33e9e90a3ca3de17904e033e1f552019efb4e27bab909d9e005820030aac876e83959c3d94c67f4e92e3dbb0f8a07ec0a1867b0074fb93c6810c30581980000000000000000000100120000000011000000000000000005820033f421926f7d5881d97251eb77185a541f373d71a9ce7e4dcc04ce7126c0ea04f1dd84e68c834cead5710126b2ce9490219808100582002c9a22543e093d9eb78b2f3a5f11c9766438576ddc61924e9c3d174dc84d3d14f06a62b55c4aad5f4bbbe56a3c11f1a00582002fcb0e80fa86ff31627462e86f5e656e48ee6f091b1012ec772516468ae03c249032338245868d8540a021940d4005820020313cbaf7ed55d3ccab2273cf959961e05df98e5bd4212b6261c820440376c5066bb88b1281f567d62f2666b7374ac5803d8c53e7c9246bfc76146e3b1f612765a91efad31cec765a92d7c159de373078300582002df6c2751d6c51bbd887dee790267b318ddf4983dc07cba709146b9215e012748200000000000000000582003150610e67de163d74df9efa6d3e5642811f26e0d3c71acb6fc6e74e3531cb04f02d13b79588b2b88fb9cebaa0fde83005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305820010000000000000000000002e558a0dce58dc0c998fffff6fd45c54065cf5d930219804000582002591a3e38d36da28a1b06bb6fbb356fd6de0f98374bf9bd0ca2a0a256d7668c4d31964c0c189236087b703bee6500582002724ff6918e91f7086b1fa4fc35e7be487f1a1e000a912f0eabbfe13d5873054911ed2d3a1b1c0dd2500219120f0219ffff05581d02534655757cfc8702f9502969b6dee478a22c7276744d5f3ae3828668070119567e02191100035e536e7a008a7642396c6e7d424e630069c75bd0549e1bbf0b3a1276fecb3d460219cda603a0aa1e8485d30a7c72101f1322f079c71592a01c7138581bd9d458a358dc610303d8936e2c76e9c47e26ed9b2492e66fa48235b649428094283a92b19ea515e1f203257abbc6237581b7f5a494a259b6cf49743e158d3f561d6241c15e7a304688b103a020ba0c5935888381a8488fea3c57d6cab4fb21fa9568fd5d16f14c0403d37c0334d10bfe3c9e015abe95aa3caaca808139ca3275642c88ce491beef7a0791ac503a997256dcc60909ec360382a349792cc3a013843bd9c5e7cf3551ae497f2ab3003c2b9f46623a1b2b1acc23fbb07c2a2fa5a22ae42862831a3cfc2879640384469038d2c40458336435a926e7b226457f2155b0e4dc511eda7ca11feeb7cd29f3a5003d048090c5ca6cf8255942c67375789a0bafaa16fea6415eac634e49409468535034e18d9f5e6ac743e55507c5070797b0dbcd0f45b7e45bce60c6d68e2c4449b3c0219ffff03f980c27a60456d5ef94d2071da3159ce02e11a91393a91b0ab24cd008057c08603057fc7a0b172c39e0d30b431d4b63ce1fd5f2c12db827499cf7407c3c00c69b10380d4b0c0dbaf27e56b92bad03f925efe077fc67318184da4cd50a5d3235511d6037d9cbcdd51dd5dce4500b2933cb85dd6d01eec76a16086b472d6b53cd1089fca034d2a5137d90cca2a3e304d4e15fd43d1a06d8dd6200c2534b41b424bedc3fe7c03a5ef8a09cf4e8114d854c94191a58970805afacfabd690e7511d2f4669e0834c0219ffff036d5c806a9ba6ac690aeee9c6d11109082461d62dde0fde49a9f653182dbb136203daaa799d0931929127f9561e0648b9704628508d7a9b8f07349b884327bea6a80303001107eb56fe113675426003c968d62080ce90bb29afd8c38ba29c8e77244d03fb5855c81c583e07936bbe4adfd5973b617e43ff9571dd2330148ab96f272f1203c9db45556e4de245d2640a68fee527f60f06380b7b172093de53cfc82c33cebd0219ffff03b21a659694ede529c3b65dc72179b66b306d24b9402a57119678695d870a575003b24a95cf86e6eb7e8d487b0a1e6be009c705c49e1fed5af53aee29bd8fba7eec03f503d6026d8ec0dbac02e2710903df8a9c64cb2d7b351f210fd67c473722a02803c2a4db5024ce0024b1153ba6145dc75a4b09e388972e7b34c07de74ef65c314803be978177624eba5454358ea5525540569fdd2ba0c8fc213b51e3567ddd788e4303aed27095d64173aa7d45d14dc4f426cd89e1a063ec8e1574cfa1333b7998feb0034a591cf9ee163a8d90910cc87b7188b91b6078a08eb11977c73cfe92a65b1cc2030f7f019eeb609e2c4e77daafea5a20748dbb4d35e5bb7a733691cec5e3299ea0037889ab98a87d3aa45fbb348c090b56730ccc6fde4fc889c2c46d23d54cf873510219ffff035db203c2d4124b55e859bf13560da2dc759486be45282bf7a76b799d3136679103b131759890314c63e7f15a03ac74ad964452ad60a88db134867ff9933aaf151903fcbc2b1ebb26141420a457bdd9f1a3166f840d96c0bcadc772a1d4fe7bdaa921037921e864bf20ea6a701cb5362c5e95c6d9169e3207480f1ca350a374b68110cc03325385e0bcd739b857225ece348b9a22732e55db62e55e125108b0038ca21345030cbeda4a5cbfdbcd5efa06a6c7964f0b736e3126eaa5b91ed5ab6d93d3c4295603a04ad52393984403c87364649d32cd76e946c9b9eb9001fab0396b7ccd744bd203e2cd8346387023a393419655f0f57c7db41b97c43acd0ba2ef1ff1b95665a70705581e033dad5bab6de6390ef59686512c86f1298303ff13e6251e87d02198eee00c0347018cf1e1f776a803647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0368b87e6690c252633001ecfd0680e1530687d60cecccb2b448743e4e3860593805581d028e3efc9a774b5ae2bd447dd84d695a71bc656bba2b141d9ea8d18c5207011bffffffffffffffff05581d029e0677ae558ace5483f874cb4e0cfb754f1a18a1d52c9a370f664bb60c0347015cbdccd900cf0459289360806040526004361061018b5760003560e01c806370a08231116100d657806395d89b411161007f578063d505accf11610059578063d505accf14610404578063dd62ed3e14610424578063f2fde38b1461046a57600080fd5b806395d89b41146103af578063a457c2d7146103c4578063a9059cbb146103e457600080fd5b80638129fc1c116100b05780638129fc1c1461035d5780638456cb59146103725780638da5cb5b1461038757600080fd5b806370a08231146102f2578063715018a6146103285780637ecebe001461033d57600080fd5b80633659cfe6116101385780634f1ef286116101125780634f1ef286146102b257806352d1902d146102c55780635c975abb146102da57600080fd5b80633659cfe61461025b578063395093511461027d5780633f4ba83a1461029d57600080fd5b806323b872dd1161016957806323b872dd1461020a578063313ce5671461022a5780633644e5151461024657600080fd5b806306fdde0314610190578063095ea7b3146101bb57806318160ddd146101eb575b600080fd5b34801561019c57600080fd5b506101a561048a565b6040516101b2919061263b565b60405180910390f35b3480156101c757600080fd5b506101db6101d63660046125dc565b61051c565b60405190151581526020016101b2565b3480156101f757600080fd5b506035545b6040519081526020016101b2565b34801561021657600080fd5b506101db61022536600461246b565b610536565b34801561023657600080fd5b50604051601281526020016101b2565b34801561025257600080fd5b506101fc61055c565b34801561026757600080fd5b5061027b61027636600461241d565b61056b565b005b34801561028957600080fd5b506101db6102983660046125dc565b6106ec565b3480156102a957600080fd5b5061027b61072b565b61027b6102c036600461251a565b61078f565b3480156102d157600080fd5b506101fc6108fc565b3480156102e657600080fd5b5060655460ff166101db565b3480156102fe57600080fd5b506101fc61030d36600461241d565b6001600160a01b031660009081526033602052604090205490565b34801561033457600080fd5b5061027b6109c1565b34801561034957600080fd5b506101fc61035836600461241d565b610a25565b34801561036957600080fd5b5061027b610a43565b34801561037e57600080fd5b5061027b610bc8565b34801561039357600080fd5b506097546040516001600160a01b0390911681526020016101b2565b3480156103bb57600080fd5b506101a5610c2a565b3480156103d057600080fd5b506101db6103df3660046125dc565b610c39565b3480156103f057600080fd5b506101db6103ff3660046125dc565b610cee565b34801561041057600080fd5b5061027b61041f3660046124a7565b610cfc565b34801561043057600080fd5b506101fc61043f366004612438565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b34801561047657600080fd5b5061027b61048536600461241d565b610e42565b606060368054610499906127bf565b80601f01602080910402602001604051908101604052809291908181526020018280546104c5906127bf565b80156105125780601f106104e757610100808354040283529160200191610512565b820191906000526020600020905b8154815290600101906020018083116104f557829003601f168201915b5050505050905090565b60003361052a818585610f30565b60019150505b92915050565b600033610544858285611088565b61054f85858561111a565b60019150505b9392505050565b600061056661133c565b905090565b306001600160a01b037f0000000000000000000000009c056dbba1db552c72d1bf852882142dc5ebb5b11614156105fe5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084015b60405180910390fd5b7f0000000000000000000000009c056dbba1db552c72d1bf852882142dc5ebb5b16001600160a01b03166106597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146106c45760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016105f5565b6106cd816113b7565b604080516000808252602082019092526106e991839190611411565b50565b3360008181526034602090815260408083206001600160a01b038716845290915281205490919061052a908290869061072690879061266e565b610f30565b6097546001600160a01b031633146107855760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f5565b61078d6115c5565b565b306001600160a01b037f0000000000000000000000009c056dbba1db552c72d1bf852882142dc5ebb5b116141561081d5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b60648201526084016105f5565b7f0000000000000000000000009c056dbba1db552c72d1bf852882142dc5ebb5b16001600160a01b03166108787f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146108e35760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b60648201526084016105f5565b6108ec826113b7565b6108f882826001611411565b5050565b6000306001600160a01b037f0000000000000000000000009c056dbba1db552c72d1bf852882142dc5ebb5b1161461099c5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016105f5565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6097546001600160a01b03163314610a1b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f5565b61078d6000611661565b6001600160a01b038116600090815260fd6020526040812054610530565b600054610100900460ff16610a5e5760005460ff1615610a62565b303b155b610ad45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105f5565b600054610100900460ff16158015610af6576000805461ffff19166101011790555b610b52604051806040016040528060058152602001642632bb32b960d91b8152506040518060400160405280600581526020017f4c455645520000000000000000000000000000000000000000000000000000008152506116c0565b610b5a611735565b610b626117a8565b610b88604051806040016040528060058152602001642632bb32b960d91b81525061181b565b610b906118ce565b610bb433610ba06012600a6126c9565b610baf90640826299e00612774565b611939565b80156106e9576000805461ff001916905550565b6097546001600160a01b03163314610c225760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f5565b61078d611a24565b606060378054610499906127bf565b3360008181526034602090815260408083206001600160a01b038716845290915281205490919083811015610cd65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016105f5565b610ce38286868403610f30565b506001949350505050565b60003361052a81858561111a565b83421115610d4c5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016105f5565b600060fe54888888610d5d8c611aac565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610db882611ad4565b90506000610dc882878787611b3d565b9050896001600160a01b0316816001600160a01b031614610e2b5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016105f5565b610e368a8a8a610f30565b50505050505050505050565b6097546001600160a01b03163314610e9c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f5565b6001600160a01b038116610f185760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016105f5565b6106e981611661565b6001600160a01b03163b151590565b6001600160a01b038316610fab5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016105f5565b6001600160a01b0382166110275760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016105f5565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260346020908152604080832093861683529290522054600019811461111457818110156111075760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105f5565b6111148484848403610f30565b50505050565b6001600160a01b0383166111965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016105f5565b6001600160a01b0382166112125760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016105f5565b61121d838383611b65565b6001600160a01b038316600090815260336020526040902054818110156112ac5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016105f5565b6001600160a01b038085166000908152603360205260408082208585039055918516815290812080548492906112e390849061266e565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161132f91815260200190565b60405180910390a3611114565b60006105667f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61136b60c95490565b60ca546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6097546001600160a01b031633146106e95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105f5565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156114495761144483611bb8565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561148257600080fd5b505afa9250505080156114b2575060408051601f3d908101601f191682019092526114af91810190612606565b60015b6115245760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016105f5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146115b95760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016105f5565b50611444838383611c83565b60655460ff166116175760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016105f5565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b609780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661172b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105f5565b6108f88282611ca8565b600054610100900460ff166117a05760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105f5565b61078d611d3a565b600054610100900460ff166118135760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105f5565b61078d611db1565b600054610100900460ff166118865760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105f5565b6118c5816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250611e25565b6106e981611eaa565b600054610100900460ff1661078d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105f5565b6001600160a01b03821661198f5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016105f5565b61199b60008383611b65565b80603560008282546119ad919061266e565b90915550506001600160a01b038216600090815260336020526040812080548392906119da90849061266e565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60655460ff1615611a775760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016105f5565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586116443390565b6001600160a01b038116600090815260fd602052604090208054600181018255905b50919050565b6000610530611ae161133c565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000611b4e87878787611f3c565b91509150611b5b81612029565b5095945050505050565b60655460ff16156114445760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016105f5565b6001600160a01b0381163b611c355760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016105f5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611c8c836121e4565b600082511180611c995750805b15611444576111148383612224565b600054610100900460ff16611d135760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105f5565b8151611d26906036906020850190612368565b508051611444906037906020840190612368565b600054610100900460ff16611da55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105f5565b6065805460ff19169055565b600054610100900460ff16611e1c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105f5565b61078d33611661565b600054610100900460ff16611e905760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105f5565b81516020928301208151919092012060c99190915560ca55565b600054610100900460ff16611f155760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105f5565b507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c960fe55565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611f735750600090506003612020565b8460ff16601b14158015611f8b57508460ff16601c14155b15611f9c5750600090506004612020565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611ff0573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661201957600060019250925050612020565b9150600090505b94509492505050565b600081600481111561203d5761203d61280a565b14156120465750565b600181600481111561205a5761205a61280a565b14156120a85760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016105f5565b60028160048111156120bc576120bc61280a565b141561210a5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016105f5565b600381600481111561211e5761211e61280a565b14156121775760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016105f5565b600481600481111561218b5761218b61280a565b14156106e95760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b60648201526084016105f5565b6121ed81611bb8565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6122a35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016105f5565b600080846001600160a01b0316846040516122be919061261f565b600060405180830381855af49150503d80600081146122f9576040519150601f19603f3d011682016040523d82523d6000602084013e6122fe565b606091505b509150915061232682826040518060600160405280602781526020016128376027913961232f565b95945050505050565b6060831561233e575081610555565b82511561234e5782518084602001fd5b8160405162461bcd60e51b81526004016105f5919061263b565b828054612374906127bf565b90600052602060002090601f01602090048101928261239657600085556123dc565b82601f106123af57805160ff19168380011785556123dc565b828001600101855582156123dc579182015b828111156123dc5782518255916020019190600101906123c1565b506123e89291506123ec565b5090565b5b808211156123e857600081556001016123ed565b80356001600160a01b038116811461241857600080fd5b919050565b60006020828403121561242f57600080fd5b61055582612401565b6000806040838503121561244b57600080fd5b61245483612401565b915061246260208401612401565b90509250929050565b60008060006060848603121561248057600080fd5b61248984612401565b925061249760208501612401565b9150604084013590509250925092565b600080600080600080600060e0888a0312156124c257600080fd5b6124cb88612401565b96506124d960208901612401565b95506040880135945060608801359350608088013560ff811681146124fd57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561252d57600080fd5b61253683612401565b9150602083013567ffffffffffffffff8082111561255357600080fd5b818501915085601f83011261256757600080fd5b81358181111561257957612579612820565b604051601f8201601f19908116603f011681019083821181831017156125a1576125a1612820565b816040528281528860208487010111156125ba57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600080604083850312156125ef57600080fd5b6125f883612401565b946020939093013593505050565b60006020828403121561261857600080fd5b5051919050565b60008251612631818460208701612793565b9190910192915050565b602081526000825180602084015261265a816040850160208701612793565b601f01601f19169190910160400192915050565b60008219821115612681576126816127f4565b500190565b600181815b808511156126c15781600019048211156126a7576126a76127f4565b808516156126b457918102915b93841c939080029061268b565b509250929050565b600061055560ff8416836000826126e257506001610530565b816126ef57506000610530565b8160018114612705576002811461270f5761272b565b6001915050610530565b60ff841115612720576127206127f4565b50506001821b610530565b5060208310610133831016604e8410600b841016171561274e575081810a610530565b6127588383612686565b806000190482111561276c5761276c6127f4565b029392505050565b600081600019048311821515161561278e5761278e6127f4565b500290565b60005b838110156127ae578181015183820152602001612796565b838111156111145750506000910152565b600181811c908216806127d357607f821691505b60208210811415611ace57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220de0a647a856110df25fd3029b88e4df09fa3c2efa08eaef3e8b310c96400e51964736f6c6343000805003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563410105581d0225fb29df94b1bc46900e99b229a4942f8482fb91a1f801fd9ba04ab9070119289305581d02c628fa58b4e8ca45885677b1b41adc360762706f766b5f33d67cbe8b0847465ca8b10f58fa0219682003fa3669895c17f6e74ddefda4785b3cfbd4464f048caab04cdeb24c0e154e8028031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03a8060481c71ec9014f3a46d3519edcc973b82f21be0c0a21c740076c2007011bffffffffffffffff03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03b527f003f75fc793829873894468f199ab39308b964b7398f244d4d8da6e974e05581e03dacafe4c38bfee069f4f46fdc357d4b8bd91489c3d567202945b6d0f8007011bffffffffffffffff0377ad9c377411a935c8ad9cf1015bc8dd236490114b18fc969f40503e3680bd27038e56578ac65072d47e096574eb3e2f9930fb6fc970d49aa44468d2092474d34202193f02034c47e5a73f5adf07adc03f92b6d8d5d3be73224d0e0b18c8134dc9680a057db2035c5920ec48d875723ab539c9caffc82ce5eb7af65069a994289777a043894ee90327b95b50586327b01a20aaa6225b0e5283ba7b63b86b70df050f7ba88d77ae9203f9773e005b28af5e1735b6bc9fc2772d778978244316faca84678e97719e071d03d6e04c511ce40d9d8b3c75b06f206728eaeebd86e040cc6ec6152d223eec098c03784d3da8cf2a201d62aa1924554d7d39dbcf0af3e65b4f2d8cd75572db0be1a703888d9ee236bee6717dbf9e7f197648f629b2ebb61e12d04006bb31ae54b9e0b603b6269aa8fac03088889818f9e59a3774cbd90df859ceaf98320d782358d9b17703562691f2bcf2dada373aa5d502cd8dfe0b3beb999521bdff6e6107bc52fd269503bade183521d7cb84afa28c02675829532805f31f245cfbfcfa82e1f48618b0c403ef2b442fad63eeaac600ced4c2fdac43ad5a7e8fa3275ba354ef233b75bc8c0a032ab3a0176830ebbc19505dd2e4af40d1bd1737a377507ad21651f8e26937d9b1035ccdaf029daf60a11217a5e3160d7763153313e3fd7712fbbde707d9d63be0c2034f9ebfaf699ab25c69b8dab638ca22647b07d72527554dbce8fc184ecabfc0ab03b7acadb36181db138bf4168f7c76804b7e66ffc19a3faf8ecbc51e9b7174af320219ffff037636351a3984d4cc8500d1f9e88075d8b11bb571bf811777441fd4b81a7b312503859d412d17744c2f6605129247bb848012e7576d374c99ac4d8fe84ec041215603ed3d83970f4963060f8695e3313255e4d8cea2d1b8c07784bc79182187319738038ee19f67e8341ad938073f2be4ff780fb6cbf79cce1461aa4b1ea2186107d812039bc86ac2218be9069925ca6308126da1cde3d9f96fef8843a2bf8d242586200603164476e7bcd33a67e4f020b74a8f051615089ec376c227cee189705f7488bb1b0361409274482df1ba2482aee5b08c9df2415215e20780a1c8c0cdf92fef84eba50355e816ed373b06d9fe9c30686a774f764d2c30a82405874ef27c6c2cc20a8601033944441eba15e815e0e605ac606d49deec76a947eef5b4f929c70bb4cd1bff0403087982d4944b42c618be49f897799400c7c0b5dabbdc211b17fb9e45ff2fcec003161c40f9397e68d466183a1e0de18deed646b032fedd415a4c4869957cd788d80340987a4188790aef777d8b016ffed1f241544b265ecd5593e9f01ce2153ab80c036d949ef912c62acc03b460c7f906ebd6293a7cc4f671f87f892538657833dd0903eeff16eea4a1a207dcc925130bc8746b7b9683953a56e66a76b8f6f41f01d80b0219ffff038c700b9eb13b5e97001e8ca1c5d78db603daefdae88d5d94b17345c06cc7431e03ec0abdaa1377b604f47d6594e71df6f1970de08af591e5972f6e3920741e9bef03e0741ff0a4986399b023c82068478feee14271c7dcae247313fe5b581409b118030e90989f868e5791b5a1c66a5edcfbb5534b96b3147cfbbd741f0832eb7085230309c333af60e03feb964bc86773938f9e5f2e0f50dd5f84abea73775f395068a703cba7f3b7482bbba719e6c3510befbb4671a3740df245808f20616715af9e242203500cb117ee84fb50367f048efa2f75b1de2e9bc67247420a5694330737e48d4e0356bbf40f529b85d751cef27e81feaa2c78e6741e5e8024478c8da04c56f510af0219ffff036393b15e5e3a79eccbf49f26a06e8c9e2b8f110bfc11b516bfd7b240fcf3427e0353187f2e6d7222e3365babedeb1be48e3176837c20ee5b5eb172d9564959455c03eafa323cc38174b126aa7c7061189ff859445acd5cc5d5e1c36ce06d6f2cc24f03c6bc1a81d793252d9053962f6199047cfcdb88f879196447e86bfed9528130f90382b06917f4954f10a1a11767636d28aee9685e21f754f15b367d8f61183e9c02030786d98141e341ce439d0a586ca9cd2010aebf761a49f96d4307ea02d9eb8d5603232e2cc0ebb34b958732fdb078691d596823ddb66d7c5c9342659b60c2b343230384730c163a9323aa7b819e8aa2245e057f464dc343da3cf4e04273014dbf7a2003f2cfafabb33c5c6736cdf42e1017c8758dca69feee266214a169966f0c5eb24103bc3125691a4ff7afddb48e19d5f2715f5043209cc634a0123e1fc022fd18b42303b5b4631146d3f0893091658e55178cf4d9c169c0bb78b88c91bb90620d761a6103f40cd3b781dbfb6c96c605e98f62240f3fdfbc9858c4766da80787e76e070d8903791ba34b3bfc0a9b276ce805cd1f5da43861ec1d8a8ad3ee13b80ba7670fa26a03c9f9745ec9439a7064835236ea7aec20dfcbd46f058bfbb3102e7cc3195bc98003c250d916df6f4e9d86a1dc14f3f931cbbeee466cddb337bb669e3b540bb4d14603c18203a55c871b951fa99392820b2f7d6eaa5e612b7654968d8fe6f486c3f10603743977f800023feaf36bcb259290a950e52a1a04c42aa9e59b2a2689935cfb1f03b7c38c66ac965b535911d0558515b3aa23ded75693665b39bba0fd3d4d98ef4a03bc9ccd2198526f17294449ec8413acf9893ac7b5cd0bd12c056d8a0cd199efab036683b189047a741c996f5dda71ab8dc62917c51ac46cbe4a06c89d7dfb926552030b3c056eafdcf1a2e98ad90aa99e669d3506ce4765e201ec3fb67626dc7b8b2503758816553b892f97c575d9078c77983732ecb25f2bd3dce0d1e0975b6b94d49803e236fafebbac6cd3ce76b0e9bc0f1cf256007c60e81dfcb5178b9a5af4fb1824034b99192b6d40421a17cf02d4cc9f4c3c9a1fa98b1d313add1f859071bce34991037ce6488a426e174528efc05c46e702b44b115d4cac38d679eefdce1e4b20a5d90351c19d497d99a525a7f3ca07bcf568a2ee16eccdc4e7ac07a45e19df20cb311a03a915c6377cdf8dbed9b73235e83ecc71aad16256e0668ec16ab027abc479342d033a56dab02eaed108d12afaca56eac3dbba0033f018820ec43d7a621ea7e23ce403d15338d9f403586bf5150a33beb381c37c11634ce3fe700fa9129e8c2ddae9a2035d9f86e804a7bb9ee954fd3223b4ab9531922f11513760d83e645f0aae5f7c8b03edeffbd9d0bcf3ef465c980ab8160b150e5c944f5ba52cc4e231591d99fff1d00333a86901ee2e88906a829043311eb5df63724d73987637192803dfd6080e91b1031935d13c1a3eb2ead490f0999904b5c5eb7eeb7f176439855701ef762813b21a03b238717128d0b356b164db1788f0d72ffb186d1ac394344a8189f23e365ff6b205581e032d8a4c165b2d79d5232da656199254d4fdaff7b2b99d826f509e987fa0084701c6bf526340000399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803bb510f1fa5d098f5104870ec0d084731d322b5e47d6e785a781524d74314ac0405581e03a39a3c727e027235875e0306eb7db8386b41fe2a269b0a78609ff3dc7007011bffffffffffffffff03ee9252398c9e8afe49a81246cefcf9e99dd8419db885c402a98d2e5825597d6305581e03a507a7ae5e51db9e0b085522c79bca31e40fbef5f79de44a4f7f44a2f00c03472642ba5311550005581e03916abae04cee64f030ded86929ec6053becf7491659ae5e0531d4c86d00c02468934d6106b6805581e0381c5819ae25bc9a4c10dd734053570e6f0e40b414ce8d81746122264d00c014624907d88ae000459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c6343000810003303b1fc9aebabd09a730fc43f4d8d23b58e72957765a34977388eb7fb7dd3848857039fde55803a48510b206e0e42ed10d3d99506ada8fadfee26d1ea785f01c76003033294f5165b3f8f76843dbf20e4cff3eda63ce091d12458dc59eaec9fa37459cc03846d28aa45c8358ad020926a2094f84978e0e0537c11d2d721c574d989ac2e6e037ce5e9ff82a664255827a66bd068a97223de67c046b6897e3b34698c75cd6fac039d35014a3a90c1ce807c952b0a00c4a50f7716f2b6c5702d86352639646f961d03230ccfe057606923d541112fd5af6595f8e94f1efeff4856a5a36bc8cf623c600310b46edb53d7b6e2ceae63b04c62e1ae82d94f291c88b27a47188c2f28129e6703f28b3cbf0c3a1d28ce5784f4cfdd57e330282ba83cc7cc1ac4011823d3296587036a295c2be3a5cbf63e6904caa879b49d132447e87a39d6879df60929bc9c5b81033c6d2321ad4589ea87b1e83353fde9fdb5a5f6a3e9c1cc0410b55367ee845a48030194aa178c4e5f6231db4d72cf3ec6c3a20937f19a23ceca0a8f31b69ba9e91b03e2942fabab26e3a8812b20fd568c6c00b89503bb3f2eb36442cdda4248f9d958032362708699d0db209fde8c886c1aa4d603d0063cea6e3ecccc0155c070ac077303ca01e3c1c96153f3a909e0e5021161c998fa24caa896aa6ae1eb5da3da37124f03c992cc8402da32b808e5f93fdb7fd8c1f04f66c4aca80157ec948a5e85234b8d038cf598c9fc302eafcc30366c89d084cf227b166cd8d4b5550d4fbd8b3675b81c037d89b450594ade1de7ba7a17f49e0038c81fa281784e256db773824d50570fb0014200e40393a34728e8a7047055542cd39aa6296288c6635ada669d4a52e99d7c623d1b1803580864bd1160ea9327ececab4b801fb1c9c5addfee6af81265ccf232c80dcf5b03118821667618604936333f20e7acb58a4c1a4ee6a4dda49415be5c6fdb8761ee00581f033ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff90410100581f03411f04997c4029c86d50636e97c2da6660df9426b0932497072832fa0d204465350eef02190500038ab3719cc2fd883239967435b47f17b1e77be461faeda92fda37e661f5ba810603d0fdbe48ca879eb8bf7848b76d5a25e851e7b5d12f8aee83b7058f790d30125600581f02d16e2bbc676162f82f01c319b4d075de1fab2413266818ff1637ce08e6534465c0a63b03e9f2770cd665bdc088072410610f33aac1d3dc01eb809ef4444a217f15ed0c6f02197ff70376a1d732b9bb99a513267e787e8f239f40ec2f65d1e490bb08448cfa6c12d96203321490e304eec748bdc5b63c50c149b18de42c98a066b5d107699ec9282ffe250361b9a09f443b298c0ce8d14c630b026d22905a3410e838ee9f08c29d9f4c5f8603b97edb37d362b6a38b1f55d88a0bc9c25524d5e9d97c81868fafaee16bea447b03a53cb4006646374aee5d826db7cd3e783af2b3a20796ccb8f206212e0558b64b03f6a27064c4a37d72faf4c63925f0cd47bc407c3665c2e72b915a644166be1f99031831397cae7850f4f6c46588a6835534990d3d9707b454c13b81e4b9fc8708b803571b6bad1545eee4ec65af15807f55574358bfc3fdb33fb08e0efe04ff13aaa203f2c6ac2f4e1257b4463a377285ed7639e9856dcaead139b6d5994657d9a2e4480339170700dddf11a6dc2bf9faa5297c271375ff23de8ae22d914e8c6ceb295d22036ae04582057b0a2c601f9d91892e35768d92cab49412677f7eca1c5969818dd80219ffff0366cc136db24d91826e923364d829926c6e5a6b4edcbeea9f24e1bf4b40c752f0034a64db0b485ea73f29715ed7956d639be51cb480771990c2d83c4b37f99fd9cf03d48de7a8c8f6cb1016cf60299c8e8ac4e5c5cea4afdbe3c72fd9ee17688a4d2203bb924d4b1b7972afa1a5b4b088a6391304d47f84583396a8432fbb35eecf6ffb0301acf61dfac2a2473bda94a6b3d6790e7d9840993bde388c1f29290ddc6f388f03429be97c30595543f46a3e677e77c3c2b0236ce4afb0695b25f40f666d5e9491031cdb602d821bb98ee2c1ae6c3080cffb63f5d18844adb6a0b30c97ffcc5d3279036c8975693d5a70716c068b6f02c3897e3e00f098ddf03e05ab0a687f764ff5aa03bbcd8e652e12851c92ea07114928687976f4c7928d700f88ffae1163f472bff303f0b98269be305061e567e2837013cfe2103b672c4045e70b4c97f6d854b8843c0219ffff03a972ad6b2938de4372d048419b2be1e265ad7fcc54098c22e7d7b105590cde9f03a6a2dd85040f7b0445fd61107cbfe0321b40ba18d404c966fa695f6fe4708617031fad0599e3c1f8065cb09b46afe909feb4cba40a7c04537c88416b982971660a033f685bc24ff6ebefc74bc412f6cfb06ba4d217a35b2ee0da483a6bc6a6bfbf8f03e9b9f403d9348a529c3974c7bc3eaf60e3beaf2607a380eefd9a7020c398222b038942b79117dadf1499a3130270dac763a622036222a38f9ed764c7b1de138198031b5f05e3f99683be85c6f17d3653774973b62bd85ae5c1c5c997f05e16c6d1b603420b76e013cf6f6fc9de2af0bdcb6080cca574f82e7305f5acf9b3f7ae0d071403f1f6039638a7ff7e9dd4221e39e21a8bbc378f9c700ae6cbe1b5b489a080bed3037b909fa7a08c9d9cc1ca789b98ba6d10e312f845a55b472e1ab7fd442c2a54d003f601dccb00b415f020f2fe709a0c5256433d9782b6e6db3d2953755521ed2988030915e85dbcdd16b44eccbfb40287b08484ac0c523bd019f1e73aa968a8afeea303c23e8b67ea46cda13492d630796376abc1ef7de8b8c9bc68897999c62b59c94c03a03a6652538a3dd43b32ad7e14f06854780d2867643f6f83df9f1aa9ac6552fa036ac8dfe942203de15f994ce426c8f35450f1f0af1f2bda538059f78aa03d6df800581f02440d430872b46b23095d6d57f4a792b2add7abaeaaf5b4d8918088ae098444654ac9a303927451e202da77a5321e0f835c2162dc3f61c2361e5101338e3f23cd7fa976ab0141060337063c2d83678d6acad9826ed709bbda21a9864b8fbed57a8e6617f009e9d6b403a6116f9973bc0ca10b47041d03143244affa261fe7e63f6ee895dc2312286d210374236dee37cbec810214c9835b6abcff1f6af9106809ef8a9ad9b7c3c7a1458b036502e21963f543d272f3fb7ec16fbe840ad57dfc5f8ac2f4c7da5da880d1c2e700581f03674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee1054781e90f1c8fc4611c9b7497c3b47f99ef6969cbc00581f0335a474b69fbb4d19734afa6d9d79bead0c40e69e5de2e3533fbf523e44c044658bc93b02192004037961bf50043f3e4385141ec141524f30244d23d4ffac365d234be8db9730e9df032ca457a809a8aac62bbbbbd71c876cabf2e882f8dc54a26fa83d94e6998d408e032bd1a7a5784b043c204181f36ec65e8787ce37707487fdfc92af19373c794449031329795b1b3a448ed79d4c4a6addb710bd9a31f3f548d98b622683185b591a1700581f02f3665c256cb5d58900fd671d93d590eeec5f95f4536e45839e2f727b0bec44653baf9f0327b327f6bd3b63ae3324e9d172c6a463e97913a50ce948a463fc7e3961fa81710219bbbf0380e1630417fc45ca36e3e85dc2009be933636ecb4832d11422f75c58ee7dac8e03c9588e5e8c12a4d4c1d8665b1d0dcd4640d0a087d6d747ae70dc12447d6209cb0219ffff0332f5b5f496e21eb50d5a1877f12400432910dc9d04b0a639fba3f8b00649f6a903a84a5d78ca5ea2948bcfed09cc627d0379d96145fa693e303f7c6c8b040f6bdd03f6f86fed32993399199446bdd51b4416a2f4e333380c6aa63f0501fcf5c46d6503bbd4645570eb76031d9c289c52d7eaa760ae79ce5708348cf63bd6d910762a5c0324527a65cbacd51c6a850710993aeee62c33e004dc6a02cca73a8d55915e344e03cb47d261987a9cb20687f28447e0e1c676585f6aef34b51d26710a3a57865b0c03a1037aaee716c7cf029a2dbc90e2a31401402f293c2b0c72f56f8d2634dbc2790391b4ab3a79496b154557b1b437a35b6d4f5591c3193c9baab88e975bd4ccc8ed03de5c359bcf46dddb68f628d8e49b4e1a68dc3d5d6c0e490bcba9291853a2c2ab03fd31f19ea291a368c7c8f82274e12054b5f480212b5fb07ba1db4ef38bfebe3e0387e340479c509e080cdc0f85e145d1dd4dd6fa118fe6c7d019db3ff65f09ca51030c2b8b4abe07643f2ee49272c989fbf3da39fe38f9110b7adfb017e0391559990363c4a51da5a9adc4f97954f350adf6ea6bf1923fa25a8d603e7d771aeeef43510219ffff0370487cf4df270c0408ddbb9d444e2b6679df4b3cd0ef79320975d55c965f677203bda420e6238a761efc7508d985f2c6dc9dcba4403da703f253396add6d2a0635037bc0f64b4b80ef9af758612021fc94f820eea2433e3be9d05ff4a7552ac015670399fcc0d5adb1e5fb69d68714e8a7a23178f230cf72e41c170f9e0277cb8e447e03758b9b84024c69903cc571b04e78d77ed13ca9c3cfd1ecfadcf243a77a22a5a10332737cbf3cf61ac86dca0bd8b465f8179d668aeaf3d79301b35e85bdaa2a39250355f3bfa8de1ae672b850dc69ea15e7658270ccdfa94afea609d1210ffeacd7fb038957a7fe70523753dfaafdb051384f51db981d4f68d46594040e8c9fb969dd17038e8796861d035eb32dad1a94160c0c254aae7ac09d9cce43d49c252c8566495f03c67e17be0911a4dca0ff1388c792282c42d32f3af59cd8ebf59fbd41abf3f326033489e1e6da695a2aea3b957336c693115f19d56aee10ee61487e4fc9683bd967034683f046e1ed2698b56904f5406ac5493718cc8d37c2b1efbcbd097b09b6db5e034ac849b9405e6879ca89a7b75d13bf979310715623a09b18e9baf45d1a10d9fd033b3b4f658538b56dc287c3a0fb3b3f601d9ce2a23ac231d29a28ad2480a4e36603321ffa2d3fa352d7559035df91e6766c6456d4567a2f4663620f437a4050843a034f91c7fe85a700a304ac526e3a8cf0ea54cc356a048a36807da4f75964a61bf003445dd4ef5bbcf02ffe438b138a723b96bcfe91ff31f6c7d1f25a8c5224254e3703eed285a0768528922e1794b4d5ac6f78a1e7a97210a14d8d60e45af22b6d86520311ebaded46e83b6f92ebd719260fb7599af60cde17ef0e10d288503653261de40372e984db8cd77e9e0c21ce9e656cc10e251e790f9c31753b4ab5e31de4a1a4f403b1d2aff535f91e4637e5ff20be7daaecc55b4d7d651d30b890cabc054c3c5109031700d78d6d87ad2da9d1549dc8edf7b979b832152bca8bf255b224310794c9d6034e5dad861fe23be28575ecb6770ac8924a658518fea8ee2263c74f208ea94c4a03eea673997e5b4fb86508efc47e34467d8af014dc06bf4d2dd11e02b1ce24e31b035fb802516ee146325bd6df182fa7a718b19963173f5d1b484aa314a73119432c00581f0241ed18ca8505bc1e6c8a1e1cd9d5602446a8da9d77ad719dac187a4dcaa7410103df79b4e4801fc944cc982e191e158dcf913c45af4edfa9012466d42c50e9adee037ba59034411560cafeee2285b12617996eb0b5313706a00a5c75c5f766709ace030a1a17ab52cf2752952636ee89a227524be873a26f065d7fe96593c949fdc82b03fe065ab4f20f1f6f14bbf816c5522cd82875a617e0bb525210e27dadb89f366f00581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154eb803eb3f501998126bf37bb823646ed3d59d0720219ffff032884dd6d113ca2f452d39307e7255ea1bfeb6ac544be190b2b83dfef2e21720c03e4dbe54dc745a8885cbfa9adef2eecb5e2ec6bc0369abefa719728e43b00365b0219ffff03d7d7161009438e714ab3daaed431bda5357c4e185028d34a39d9b015fff68b87034cd035d219577dca5697c5a924dda8fef339745cb5ec0b3a898f74d7ee9063b70357a372def16f256b8c9e66472044d5f0ba1fbddb7d841cc359b277a96a02bf2003c8b0f438960f9b2ad5ec4664dfb2348ef94878d17a7600e773187d22e966ff4603d44fed98cb3203862e3b96af94595b657a06d496859230cbf18d10f299797818038bb188b5087635e14c06a0504aed03dd000a5be142dc816d8be4ee4a28e9d900032311562585a461ad862712deb73f3771ea33fa509f6985c0bcb4c21d06dc6da3037c7491bcb3b411f2e67cca75b2fab6be9572cf655c66099fdf4ec728e66d903603b537047c669c70f6c2c0386179ed51c0e2bf8fc3e951c9f702de8919afb53517030eb8445512a281ab6d8e1c5581a301d2fcf5d29e15d6c69c4cbdb657419e127703bd3fab9d3f32ef009eda31dc474adba57f0f9ffbfd11401dc10937e27a7019ef0383dd61c51ecfb7eee4b6348978b7173b15c6ba938ad5d7fb1c1576954e9cf16303a7151f4468a2ce44a8c6d7e4093a8a7ed4665608195107b6a918651e8bd1dbfc0219ffff0323818b3e22d29e43aa0507085cf0df6a0866806d12576a092b7801fef7f62b150377f32f608b5a6c4da63acb024266f217c7f242c8fce6621da9ad22643daae3b1036ae1322dcb39c5d0e7889d2c6f2daf14b6f5caed2b8acec7a5fece6a960921c90356477c0dce299da1faf690894fcc9b7260b529c301c66f3c380e148327bde782034cd53969dcc2d934072c78349f0e00d4ed249e35539d593ccf799223ac55c1bc033ba7443655544b5a7bc3192ff111ee67495bab6d25bd98eebad8cc0e9be19f8b03ea8b56744a79192fdc02fe2a6be0ddc6170b77ba1ee1fb4a8d3bd4c227a0dbf60338ae48a377b68b6078e4b12f0c2464366902949265e196f3e3f850603082a46e03055859980cb20e705e906d29b4b76c5fd2e7fa2faf695bf526ff496e08ac7ec503380d2a1d949fc1e8d65ed6e27675b280c19e56588c0a475a3e84e2d5746fca1e03963b8c5a357c173a06873f75afc03b08de88410612adf0968f14bb3116b347bc03f12f4ad2a15040c66a657b4ff857d51e8efebd0bf656be33587bf831bbc03e6e03f0bf16df2257eba7c9d1bf5eeaaac029bc06eaf8d91e3cd7c707bd3e4f6778b003cd444da7e4ddf8b7e817c30e50036c51acb8d804c2a32d899805c7332ca51fab039112e5571c2a29b57fc1fd1ff7e8928009c12babf06fb7a69aa47834b0ce3f8603106aa0f33da74a0a745858af22a54c89657cbb5805b96ef091d0d003a2367a4203ed52ff76db429de4457f1b57d6cf42b60bc705b473ed85324b28f17d94aedd4300581f02499e666f4d996261c350d11dc667b8db6acf22a9e556e845c00f778d6a7544652fd4b300581f02ae3b73a05f22412bb6c50df3ffc27e0878b09b6fb9cbe25ece812b0d402d44654d364f00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054af2f898a8680cb52766abe0588ebe6b9bfe3784500581f03d31bfbf4e805bbdb06cdbdd1062995665e82d5a04ab12993611259d5df90446538f80b00581f03224258510639b1ab7ae0994820d224cf729c6e15031d59d2ba935a9874d044653ac05f0219020903a027d800d397fa6c85d5538d50bf803cf17fa02bf38ccdb7c97ae5c3d269813e031db177cc26b3ceac5dbd05f89490d377888c93b2ace14f359700e60f1916316603d6b7bc88d202eda5d12c8e06ab3550200559331ac48739d02891a8869fa7926903ee3a088da00c24c831f2537a1ca676d27fb085461a24bfdb2503628d61e8643d032fbf852284cc3dd2d334f9f2bf2a8100f7c36a2d7aa1fdd7aeca7909ea6727a4031bf5f8d49e029667b3b5d9ce9b5c04962ce7e3e3cb29584e5c4cdb5b47675558033106ae42cf6970af24c0787559af9c8630674142f913a160a00b0e387ba38e3803ecad79a9f196c47b5beccb2e9cb56589876fe878ca015c9442b7e4300222ffc80388619e7cd46b29ef747a169bbf2a4b06188c079703611efdac38e4ca4c7885ac03b33f4cf98c2771a5010ef2d2d013e65a88c23baa3c66579ef54ad831a528019b00581f02ec7e379ef418b872e5fe2a5ac96b55610c6e991a50793e5c8c271477603444653372ab0219ff3f03cc20138f78ce78135afc17acce5a45c7546b7264456ace67c83725f94f0fb6a203f375092be6f840e8a7d54e6df597d720d48b36577b45f4a6c3ec41e490a85f280318ecc8d645640ca49c262595087f4cfdfa9bb618626ea1db2b5059b0afe3505f03156ec42b88e12316a22b4a3e2600b048fa5fd9b21cef6dacd0c3cacd6e01a9d20219ffff03cd14a47f0f937873b317b78b16e93767cf5aab5b0891964941eb57f96d79c91003325c7fed144f07d894cc2aaba968b38c1b19501d24796a431a2b93567a58c7a903f672252c19ff1b6e2a34301d8a592beae9ba002b1e0696f563a6b42136ff1b62030fa1574d3df3005f9f8a8c94a48418316074015cea5e37032b4e03ea91cb3d9303163d06d99567c2abcf924666ff4085a99bd46a8173b59642fd144df1bb581b18037490e7028c8e1b2e5f46d61bd512f45341070a9aff06c38ce53d711c39c7a282037776ff6025b240f1abb9cf6d7e4b1a2eec6b2e1f3591f2de772faee295fdba0a0363d8cf3d00899c5b1a80b1344acc1148b322ea168332fcee40c34a617cb6c71603046a29a9a1817164fe3d9324dff69cdff3ad023d6b536618faac1dacf171d14003f82d7f7bcbb9805cfe067f348af4ded5eea51c1e9db18e8202293789f16bd8f60219ffff03a608973f89bc297259a7e16058ce714d9b6b694762fa8ca489558b97a2e57d3a03bf5121862760cce786a3f36f1ce9dcdc3e2c78385de6f97e94c8673597e566a6031c73d94e200e177215327c021fc2d4b62514567a8742f1bea15619e95928d85803aecc09a18be9fa12b569ec9ccead11507cf382f23cf053df255c8f916cd38ac7035f22b31b0e236d086f2d7de2cf9c75e938748ff095840b2559a4866ca6de61d60375723627be54610d43af6713c7ff237a3760761cd891bed7f70d1ac05429a8aa03438e07526da192622367b1c6e2fa83fdfe94ecb04ba5a64c16a31dbd57937f37039c28a09d634062d60c1692e4d3ef552edbe59be63b09a90d61a02fb4075f81a20366472e70352357ed369840b6a90c136efbeabc9a84d1ba51bc3abcd04dd9476d036251890352e8b327a6b080efb378be375a6a52b8a0c59c2f8411470f8c553ac8032eac87cfcae162d8dcb87feecc9174affb1d16dd7bd7e0d263fb4a86c90a363c03d46268dcb76fada7d4a3ce0ed7b69ab920fe02bfc3035316cf1c38190c8006100399e64137696c6e0b64de1a23f5990829d429b17c05eec931cbe25d3ba80877ae03bdd83ddc8a8ba52dcccafea9839599065131b33ca8586794bc8be96adf3efd5d036f2f262775220c25a047325fea311ea6536458435c36abbd973c102d57fd2f5403353b0cadccb6628941161455186358353197367d9eccb564e1fb9587bb55b1a403d8622e9ad23aaeb88b7043de4b1ae15fc400bbeca0418ebf476a151e537d543c030e13a7351cd43e3e9c706f819e8e0ec9a277e20619520b17127364a5ae85617c03e08713b07cb5163937531c67ba660ee7296b712cbc6c8a3d837fc209059a269503a0c891ec17b64e152fe5b0a87a038d75d3b0d0707849af6ce9c1262467dda17203b74308e06fca967df23f868b699c0c5607a2885755b657d66d2a43fc3f0df5fa03829d2d758b0867caad607240b2dbde4377c429c7658bdc8e00aee9e2d5dd1bff0379273002fe4eccf8b56a894ec1cc9591c27a2c83d9945efab257270e393a05d60327d28741da7de28c8f890faeedcc264d355d7d0cf935ed1f7491527dea7e482e039d5dd4222e4bd0581431de8635c28c5081ad19fe6693847d72d76c876223b846038e675e0d59a8d41a2df454d084540e16d3f17d37109e32a781dadb83a483a6d30372ff69633bc71f56e2880b45bebbbd588e12e3f70a9ac41a8bab3b30811a03c7034780fc10877df16289e4cab48099a253e86c137404fee4349d567b1f37db98e8036f3c70308bdb6575247d86ab3d690acbfb42145a437a6a31998e0acfa2c431ff0317830b768c5f050d9e4abf426e70b648a686fc7acfd203de94506ab2adeeb9de00581f022d68d4bf3e0a4dfcb861279d8cf587cf2bf665e441ab2878cec4d6ee28344465bd74d3039ade9b5b2540cedb292c710b6206c847e108fe726631677c3d798d79f015ddfc039296802487f145ccbb73768e123fb53026305bef1a9b70465691f3a8e738d30e03c238ac6020447f010e979fee2fcbbd40b8820c4c23d678e2b5b09bcd17aa5317037729a33404a129c7dffd87afafbb96c0bc1f6c5729a76208fcf4c3363b366e6c034ea4967e5d9da7c521cb38994a41c87c311d83328932d706dc46f60fdc7393690332d556b7e547d4172683af9caccf72f94060ea666fa55c4bb468a567d1ab580400581f031ba9259ddb4058b027f016060aa3dbf916bed7e9fb7cb0b045a58b450160446534bd5f00581f03ab7733338c2f41dab9a7a702367c1ee47f75bd08d8bd72232fe01fc0b8704465269faf00581f031e743da94875e9f07390642466d1e18db6b4f557fec87611acdff7f82cd044653deda700581f03c57bf5711f2d9905b2623a7e7fb1e51e229cf1c3db2356fdf21a126cf7404465cae62702194510030754ac185c0b550c7b3925de0f1669b98d60672c0deb90f35d8c73ec936e429003fa6fa9c5c35bbc45f63114de8d6ceeca55ae5ba573d27ca0968dd0bcc86ee48c0318666ba87677eb08c81112d47a48e07cdb312c808a7832d7c33d16d90de110ab0313c1a676b8caa4847d9eb98e3520ef6b50377fdc9c19e79e997dd8d598dc40ab0219b67f0219ffff0219ffff0345a54150445a6e7eba0e6a4b3228b1f6d65ff451dd74ccfe2fd4661f5e5d1e8903c8c2b6b48a7db977f6db21c35b7bcba30d8e76761790bb8ceab99eca3bf8d43b031609eee7f4616db0f180f955bcba9d35a1eda80ac36b84a57d2c5788e63af6ee03833b83a99526e0d344f65644a5b28a7904be24b0a10526e1992c9cea8098359b038569b09f1b4af823dcbfcdb29e494af1512d24a5ce4b67cd44b7c9a08f0ddb39030edd2ed7afeb3ba29e854abb72d7f6ad69e72c6bd3603606b26c41026494f04503e9624da73a4c8a7c3ee7ea0295323fbf39de9958d2f18b5b855e325a9f36aad6036deda459948d94c2975354684db6906ab5b6bd0a15a66c515f3c5a2e8d12391d03824b729f2f18a003e6194351a50e3e9ff8361b16f31c8153ae3a10ca3bbf3e6b03ea95a1a70d29f64be82fc207d93decfb28bc798e4ce71907a2787306920c76870348d78436734358b02cb3bb28904eff47ca451ae5bb4f682f7420109d405a639c03028480a2fe7ea84c395c4d5f01e8861821acae742015c237d71a1961a0e75a2203a75067e68a1b479168cca62bb3975beebaa140dc55afbde5be931e9492be3fc40394e3b45db3ffeae65e2e3174a1a4d43f8ffb4466fad29f81b179ef30595d05ed03c96b2174a4bce224873e5a31752669729317b059877eeb130fd34c384e75313c036b3e4dfa9808a8ba5b9f6bc77e6b27e598b12d5050ab1c4b59e234cbcdb6e776036c6ae6cf444ba4d8caa7e76aaf7bd45728e89a70de844c5d5bbb99ce80d92a30035efb63b7ac934bd550b7cbbb5402fcf50c2c0905e8764169eb3f83ef43b52b26038d27bb65c5f607ec6bcf455cc4d21e2eb53baac149e83c4120954e2184ea10e003bbc1428ec5edfdbca297e4e4d3f5d11c5579cdf17559f41efc672c3d88183d3e03308aa65ac543ae13c3d169c3fe7cd9917925403eb35f1c2d17c511bdb1451ac200581f022a60eeb7d33a7a7ae3167d2c473649ccaafa109b867918142fe1772e41a3446547584b03978f673f3a21b672f4341e96c347f4eaf305a881f4249a96d7e9d447b37429e20318adf56a93951a3a0f503de46b61aa75efc8ff11c75b3168b4d407a1cf8cb5fc03de3ad500b0da2bec8f6b3ee04390c9cb47b019df45b84ceea908b00ef5bc638800581f02a23b837d385eabb1c1e2b537022da174bb5e4e9f8856748e508214b0cb8c446596816f031c5028fa42a911d1965933bb53e3f55ca8c0a5632dd0aba2caee47fd31aafe6500581f026d3da8d980d91ede4c2f77ca4858ff96f88cf2d5da5e0899e91eefbf663c41010339d077d24a4d2ee0472fd37c28dd9f7e42337ea453555b46aa6e7b40938c50f700581f02dec36049c9a48bc857fb548f9a6706973492932c66348dc4c88fd0a700af44659bb17f039a62cec55b59325890e927710a39b1ee5b6ecbef5d3c5c04b58bdd2f13e36c5b03b36983d023b408f12d2ba3598c13009f2bda9ab153dc957b8e7f9de16d7b0ac100581f03e4834f0bc9e464b25e4d9ab01dacc6b70abdef54208550070986f2e3734044659c2af300581f0319cbd505cfb23a8f4e86f83e89a511d269cd6f5d398f68076c6efb4bb2c0446555b27f00581f0336d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0548fa3b4570b4c96f8036c13b64971ba65867eeb4800581f03c3c0c2a26b446e1b40907cf5dd75e19ce05e9a6580bd741b6d11bde82ee04465b373270219814203b1e5ca0b06ca086705f0df96f6c8a685d2206a6ba543a91adfd6db7526d4606d0219dffb03443ab2ac3827de0b02923a1773bd90fbac4d32edfda81f1e948c4fc217e68af403ebf1e0874ca5cf720903f0fe9059858906b0eb52a5586a957147faec383d86a90374a14baf30d913ef11cb8f7aef50ea037e145e78c5fcf5f2a232e733d6f985330219ffff033ff0d079ec895de32ce5503a7f4c111f069127e4b4d4fd21b4e3aa0326d9c27e031344a1fab1b049340390c3f9bb435810171dc980561772e49992a08674a72b0603f69a3e52efa7f77eed875c2aa520d87fc39a7c106fe29a3d60ce00210d9f850c03edd542ccb8d33d09bd9352f66fd0628cade14f24bf60f1196ecb5b3ecdba8dcc037f6b616f9c5debc935a2592364718f9b932d917e446f7479111898259a9af38003575289df9357453bf379895eaf3e1fd3aca88f7ae7b568a62c0199c72fa37f990381ce580a22eb21822f167ab77a9f1ac059e5e3239054965c84cfc8f38839cce503d245a32aa802f12faa5037e2d52e79e0f436c8a86e40000bcbb850103aa38d890219ffff03d92d831c5339ea3754e302eb9491e97626e559157eaf3e14dfdbdaa913815cc60331087ba1e3ed42923cbb2d86209590464237062ff004e572fe4b773e03fcea670342239b3af76097d35ae969b4c0ab624df4cb3f70e992644ac730df835596c06703b5fcf70f53fb2cd8333a6032eda4b07df0ee6c084921339e6aa64750e1272e5e030119029a4bf9dcb43fc643010c382fc7b0ee0094ea82ce1f6c2d1bfe8bb01a7503da1a316127af952265747efd506095df09514551eacfabcf66baf6b68f84d03d03cbd052e59fb82ad8b8fde784fa7f597c5dbce46d0de0c95e4dd0eba88b5aab9b03e0771eb0af2f7abd86351708da44bd669696d43c81e9b7ece797a4be8391322803d99e0be6a3b42383dfcbc3f7ff48d24864140ae515fe1502d2880aebde79c9ab03aa1adcb35ec33c23b3f5185077fe9b9d508680cf9ae0fd1d0c30498c2eca66d10332e4645637b3ffc8df25e7fbc7aff44370219b00cac3e8973f83223f4e22decf032e15ab49c0678143776f699c042845ce68b03de1557d2558a72827ff3a3ed35d03285625134491420e04f2d40ad30f8a019e9ae9bac43912090ce26794d379226503565bdf1e56633f3851add875db401af7dee4980795ba6dd0315ea58a200c3b8b03f122848378fe8949baeed9bd643c0e4b84647a9b7f0103528e6d794911369351032374e3416a5ba325dbceb924ecdc6ac3d2297625ee43dc773a26d4246a7a4e56039cf48625f5c789d2d8109aea5f411019418e6149f493149e3913575aa561b38b033ee47fbceb4d2d993c49f332ea63a9024f789a321b9649b036f5e4af086c2356031c13f751ebfd76c24b7da05198dcc0be69ad874eff40619b7badab33ca3a978400581f02f4a5498eacce3071625b2ef791d6f4900c0943ffd8bce5b5b95c8675e65e4465442b3f0300c28b5823f3bc2797d60353d99108e8d50b899149540382790e8813b999d0ec03eb58fa08be5cbc199ad36045225e69c029931bf4a4408610691692c6a6c1e9230332957339519528eb69e73c90d449506edaa8d0144c4370a264dee9446cf5b7d600581f02fbf11b8472d91261a45b35d9a4b1356d454e4293c8d45f5e76a111e373db410100581f03c24496cfdf0e3e91d29727eaa56c3709e12ad56c1f04c168f0eea2e3e1204465c9c05700581f03c584ef24abf22e037005c2f14de232428d34d8df0574d9685bb14d0e23d0446546c1d3021906000361f33d8156d70d2cfd28f0cec8b9692d783308d59ecfa1ba86450f0a1b6795fa0342b73127424b02e42f2f33120667a466430b60e68c3e2ff2bc9ddc4b026cad68034c5ff06e86ad1aa509b3b8cf46456d57946241c056d27e05f097516566b3abe8032ac1fb81e9550be746faa56995ec915833b821b4f3712c099985a2910d100a180141000348bdbef503bbf58f238037c29b25b1d09af2d88bfa9d887e42f7b001aa47118200581f02d25e5f3a382c49a5fe51723b0e54e8c7ea44518819c41870b09b255b817a4465b08c5300581f02dbb1cc4e070fdb75d27274591e39da4741504098faee017b64916f2ff9b141010219fff703b52a4cb26cc0745c9091a9627765a8f143585d4c00831d3cb6d037edbef5137a03377200fb9d35529027f61c23caa6623dc9bce83f10e3ee61bf86f0c94d3cfa0c03c9d45da9572a7b5965749b3d20856c6f5781b453a1ccbc9ef7b596670fee14f4034baa12c55049cb751752fd20dc3cbc7aab380a6079aff286516888843f453158032a0347f55c0b64bff78241a0966418447287555df013b72c742c7e3479bddb390219ffff0376a286030c560a8458604a88929dc91bfaafeb0608066423a3a6d90e9366f8b903fe3dd9f5771da2e8e4ca603f256de5ed245fee81c84a1937f80fa943bb2209430352c4585a34241ffb27f82c8c7a938259aa8d8b629bd579943732adbf02001cb80304e8ff161585af2f169388afcee366eda70324b14653d3d72bacc7a7ec4e8f63035e2032eed88c0c3794a1497ec22e5677ef80ae483c22aab3192f37d81ac39cdd039278ae0aac45501a7643e1cbc874ea5ad1a2d388607bfb36f251f8ebf89f1e2d03d2cc766ef76949acb83b35ebca185fd8b6be7b3638915c0a0dbe29a9d83cf17a03e802929a26de8d3ade2480e1d32e1c1c5b8a68529594e85043d4cee53e2e1eae0219ffff03bda58d2c7ca1b7931d16d84a324fabe9304094f8903aad7b24bf9904d596e9af03c791b2b6944123c75c911c537c6156f0e2aee1a0ead24162bc16be2a12c9daf9030e46b74fddd3899f1fe45e946b86697e02e1b9722012a4c5acbc2f786ef1979a03e846e6f217cc474b309cf9d33de89a0fbf94a8cf9c1a3765cbe2b5019171769303801579294ba9c89169fed2916bdd051387dc3a0b94c527720576bc35e04967bf030242f8df0fe3553bc0f52e6955142941791cd1007198c28497b8ce89c631760603ed138ef018a0d5640e19836727ac0275008d7db0fceeeec51501cbf6924ba32403b443e7cbfba7ec840581603135a113ec7b926c4df2e3aa13ac911865b002504c03832b04b738b97b9ab241b063d36a633475bfe05a2d49991b2f7935eda30d4c4203c32c245c4360613a1315bcbae7b100182e9620b5c9497efb0c9287c9783eaca603f6da48cf36cc7d55fad0b7146878f1053a04a2289d3abf858bdd677deadbc4d703f7cfe775875a335e3b2873a5a4c92aa33b6f6e33c7e31b8aade67029bd5f5eee03e9bfc53f0deed2b98e4924485792a4bb1969afc4653e8b1d7e3aff8af95920ad031a23a1d45898faf2b2bf95affe90e26bd903dfd511b2a1270faadd9cff707d8c03cd19d6e50f353203b715a085e76ff3bf1ffe884d0622cb1e6cd2ea1026e94bc1039c912b0a5b24437f3658608e932fa63b0fece454752954b54759a002a4cc0977031c0c88731b87a6ae6abe79f9affe5663db1149c4373b8c5d7275f5cd9e454ed403ea3f5a858364f00e1912314f1bd877dbcdcc26c463e4b721f805dd3635346f110306fc405933f3503f66d53f111550ef455089c21b48ea7153780c9258fa5ce67903defc36b1e7ad05ec9213ae5ea7905070ef11f81491627c0289602732099fe61d039ef7bd6ca71d45304ce7e50ae675200611406511910b08d7aaba96a4622eb2ec032d18d669c1e9a2eb6769fee3d28ac2be5f356ba867eea0b52e5ac69824ec081d031f612f0354b74326fb81edf858b7e4603faf85fd403b6647dac8381ab5d03aa70381015c7b09358f647568be6c99ef29cd8343ccd0f2b29a4791b6a54155e89f7300581f030666b09f06f1142b167057c7b8476818d3370b03ba1cfcd4f7b16721fbd0410100581f03e9a0d417d304ed156bb57f14bec2afe49c04705c477e8e4c2e14598ddfe0446574e0b300581f038964decfa5268315371c85e27e8c1816d6a9d4b02e49e7d5cff6bb1e54e04465914f9700581f039d6bb121b64df6355cb0fcad0de9a0bb45d5368f6a0859623ae8c6d69f30410100581f032af2cfc251225e1968fd6ca21e4044f129bffa95bac3503be8bdb30a3670540d7e906bd9cafa154b048cfa766cc1e54e39af9b00581f03f89049208eb6930ed75b6aff366505b1ad6bb9e9e1ca2202ddb45d478970410100581f0313337148e3f5daf4bfb50289e4d9a0edb34fdf0d93f05cc58899369f6a104465ad0fa3021970b4035d564c4a771fca907148f4468ee1301654fc7c2dd1351585d83d65dee523594d0219ffff03d7fdbda8d9e04ccc27e72b80e68f8a599afe0df3f8aadab0a0a9b03e5e900f38033088f3fa99bd4cb2230ad7b0bcdf4012d6657c13983a8300d05373ef6f435ecd039e15d5ba803ae31abf7c17fcb287d69f4767103048e269fb8904434e880efb4f03770210789b87e52ec0e75bf296117f8891725fd31d9aff652e917f3cb4c630d403b0783c7bbd66b3ff33a39a47bf55f583e491287f0ec7f004294f6e1fcd689302034ffcad5d785b80217d9aeacd2b7df7e066d34b3536da146a6e9fff8d11a8d88c035504c4f5860f2a2175908699a181b33976e10eec7e74603432f9ff67b8effba70219ffff03e16484d046ea3657e604744aff2b55a7c91077c82b5bf1599e6c626fcc601deb030291cd7da108429c72bde00b54be471c0b627eb6fd287a6f16d243bed7234c2103e3a7c95b171943bffecef8cec59ad7d6a7827c602d4f3259263b30ad317b2716035ec10e8deff87253b33e8699ce28d3b11608717c8f2254661320faf5403d62d50356da27d879380e297f54e7b125a363f0a59251c3666e758794e15528c1306e7603d8b2a61fbe491b1bf00be07c5508d2d8db91fe5a7fbfdb2f4ada7484d00d73fe03b3d4b9eb568ecffd8e0122e7f0885794ecbbfc19e30e7ebf8489e273c167bd3003db28f505736ef8147c2edabcadeb13d24655dd4af07a4c6189b128d68d593e970313fa405a6353e2ce1bb217c6b3f5ee44aeecd94778abbe5851033a5c335f5a28030e307c8ac0d44e0467e80a591f554ec7cc74942c501df38be44edfac9597e83d036d8820431b9553ae2c2ab409b4e8f425454f4f34278fd33ecd8ff6037804c90d0321e6fd6a3088fc5386622cef8e0a09350dec81c43018661031576f9bb57a320d03ac6a7a0b1dba11d8e576b2ccd00ecdee401644333515f53b40c318ad888cc29303f51c3352e9a0d5a97de18686a5c3be94e93610ff24f1edb88871a88bcf934da3031fd99f6f73d8c1d233902d71fd9aa3e8bd0835cc576989ab738572fcf3ed3ac40219ffff036b1f9868419993ae19f5b75f655b389b57e703a69bbc25eb86070a560e74b2fa0219ffff05581d02f54a79ac4d4c234c944365ce341f9f959038aeb6b8acafd1b18a2a840f014a03b09dae9862bb99c8ff19089e05581d0286729529c620a9a42947d7fe5306e0cfe92ccef52db87dfbcd91e1380c07467966dfe5bb80021908800330deea36cbbc0c7494cc464022a43b9180c29c54be96dd3efd4a8e5663c3d39303db79b39cf5358e93333235f43d313939677275db1db5d8f9f9f2659a51955cdc0605581e03aa257be74be5a3009db3107407a3e2d3fc8b8cd24507b7050b9c6f020007011bffffffffffffffff03c2c1c98a181af426699c528dc6444bc79000475c357b63f8eb385efd657cbc6b01410e0333b9e9904b660a01f6535369c4535c723e7964544b53a035f0cbffd0927c4dce02192efe034b0e436cdbccfa75ed5ea1c42db2bb80cbe4ed8984c3476b0aef607cf0ebf49203db38a17046a0dbb054913d3e5b55b1599078c213dc08af9e2d8b52fbeef3d7e30219ffff03fef89da0fa4d5de57e5e5743bc3f59154744f6106570def2766fd019b38ecedd03e7efbcfd6b1952d86e5981365459d97e8ccef826744b10fe437425cf3a298eae03e73f5d7420d5db7d625e2ff7c2d853e634b03330f186e645d4d2cfc6b34481640368f8e99846ad5a3867e8442245d4bc61542e683c3908aeec01c8f2ab5c4bb38903898adf45db69296760c88c6560913c1f80947705aa92dabd32e96f1edcc6086803240c3bf0055ffa8b6bcaac9a870fdf9abe789060902b1e65862631315d86d50c038736c8bea55f18d035fa164b58c1d0d9be9d55511912b85e212651b5e9b12e1a0219ffff037e7ff4788c19159bba5e644022eedea143f3185ae5ffc6603c885828ad97446b03632daa3d6d366ed0e3e4ff743bdd4907e35b4609db452d1f9fe8c0ae1374e489034bc1b5c967b23e6cdb557a8c5f33d0684c81e88cc81282d003f92e9f81a7a15903abd8fbf0ba72f9ba749f8cc99273816b17d24fb83eb508e2a7df755c36ea61930219ffff03e4fd6359937cdca552d1c70c9d18b5127328b328d544ce8244ad3fe838646a8e03556b777eb2c41131ba0edd906736105ee028c678983b6201631d18aeca524cc603db8f116dc7254aa46ff5a384bbc536b139be2d96cfc0e8baab6f00b133e456f703f2b9d2402fc68805b49df84a89d65175ad313f24c204f62172f9e0dc90f5bac603b16d7de895bb84fc7ad36ad3a99f67c9588b34fd35cb5d8263ff2cb01757e13703fa87169c5501e883df6f8a4b74b204951fa1220f14bc1119d89ca08050aed6be038b9f4ff1a3d74c6aadef828343a61e61e251d732478dfe065f0fc93c93902a980359b5f5b853bba23a1dae9ead2fe275d17eb388f0cc2c9b7ece31ca58d735b8e803af2c765a3decaab2d4ce5b9b7813a2bf9a35a245b7a389ad3caea9952a3d1b5803eb5d02c452635210b94ae6c44878afecda1b99dc590e5c97216706b595c71772037b5f373dad446be569b5a5c7213427a34607c816a6c12c27c008b138240aa2d5033cf6b0ae7fd0b44998758cca25ee9d6b5ff976f72c9ba47f4220ec12d23b6eac0219ffff034abcc67eaf12cd8050c2d2f1766838c879cd52c7d76bcb04592497491f0f2b7103a979e76b2c99185f2e5ad82d0cd3db744fe61712cb3ddb8a05490531a4a0f2a203fcb488bf2d2e453dcdefcb53bc05ab4ae2efd852c6c1f714e0b0f34a722b3332036b4302f275610337111c7f052f3731b175e5fc334c7be928dbf9ce9e9ba0909003b5fadec03d5134149fb210ffd65fa3e0954d3fbf5c0f64ab9fc17c8ae142f8a10367308ca4d04415c70462ca4dc2c50b3693128129dc9d5cfc294d09e77d6da91503b762aecc8429259c8b9252c19e2efae33d4b0a168f87e2751ac0781939063c51037566aa9d466a78ad9a4424505287cd4091ac5469fe1065dff7cc5d068e92446303f17dac6be9bbe65cfdd26ccd9931549382fd6b0fa51b70b2a8707301192a51c70376e819b3939c1209f43412dda9985d514bfe413be98c5574a0bb8d7112fb7ff103b578f6e16692e2388c92f05423e080e6a8406a7414b8bb586cf57364a1236eb90374cf50c3c626a748e1fb5d8dfc146a63a878a12129f6545c93d02e44e5dc8a3203340c8334b786f6e40635c4a353a064a3142d5c069b893af662e199634bb7184203bf48de3be1b2eb469e0b84ef4fa5e9787a0fd700c5659295b7f6f3708d3a54e5033a0e63b7aa4486c052e38d7a1445f98e12aa0367f38d909cde02ae46dd1f8f91034b260666db5d5f1066fd9e46cea25e771c0c9dcf4e96fcc8e4f1a85e9c855e610369aa65cee9bfeb6a41a2e0b9dbb9c6faf4fef290a8cf9c9044986593bc57390c03779ce951bfa5e7c336ff8b2bcebbffc152de44be8832c150da7efd9642dfa3840396a1117f5ac74dff07ce59e13110f5d2707d52bc88ba9f21bf57ace1cebf8e5503cf10880a8237da5984e26ac1a13377b42533adad704fa58be34df073b8ab5b7a03ec2a8393c090f3b9d4fece02cc1182e017d3fdeb3466c6caf6f5bb1c3c544cc203394d0c93ee4c7f60a981ddd4a543929ccf5cc43de72232cd41469ab60e4f80a2038b8cdcff427a10ae71a25473caf0e62a0e64c89bc0547b3e525e8e19eb27b74403198a733388b4e717fb2144765327c14dc9efaacd796492e3560ca2c322964acb03490937be980a66cb2770c50d18d274c8da294b5016ab752603d81db7f27ad9dd031227c93345cfc7fefc7f5f7682b284f0e4e3d30a26c49c33b4a61629b9ed79c1038fe20b658d1a9c5a9203542e8c8db4bfaf8f3814c38912cdc93813f4e89681d1039c6e92aceb6ceb359364f3f11469a0ee5df44d91b0a98997078dead898180abf05581e038bb375964889e026554ba3015a3b4606ef77ce014fb42a86f80eaf21d00c034801444809d36717d504590981608060405234801561001057600080fd5b50600436106100f55760003560e01c806354823e6611610097578063873fd08911610066578063873fd089146102b7578063a832c3ae14610300578063d0087d6114610313578063d8a4e5af1461032657600080fd5b806354823e66146102415780635ec6a8df146102615780638129fc1c1461028c578063828622751461029457600080fd5b8063366b2b69116100d3578063366b2b6914610169578063422815841461018c5780634e04886d1461019f578063524232f6146101c257600080fd5b806307663706146100fa5780632b27e93b1461010f57806330b9477014610146575b600080fd5b61010d610108366004610880565b610339565b005b61013361011d3660046108a2565b6000908152600160208190526040909120015490565b6040519081526020015b60405180910390f35b6101336101543660046108a2565b60009081526001602052604090206002015490565b6101336101773660046108a2565b60009081526001602052604090206005015490565b61010d61019a3660046108bb565b610409565b6101336101ad3660046108a2565b60009081526001602052604090206004015490565b61020c6101d03660046108a2565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600690950154939492939192909187565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e00161013d565b61013361024f3660046108a2565b60009081526001602052604090205490565b600354610274906001600160a01b031681565b6040516001600160a01b03909116815260200161013d565b61010d6105a7565b6101336102a23660046108a2565b60009081526001602052604090206003015490565b6102f06102c53660046108f6565b60009182526002602090815260408084206001600160a01b0393909316845291905290205460ff1690565b604051901515815260200161013d565b61010d61030e3660046108f6565b6106b0565b61010d6103213660046108a2565b610740565b61010d6103343660046108a2565b6107e9565b6003546001600160a01b0316156103a25760405162461bcd60e51b815260206004820152602260248201527f726f6c6c75704164647265737320616c726561647920696e697469616c697a65604482015261321760f11b60648201526084015b60405180910390fd5b6001600160a01b0381166103e75760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610399565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b0316331461044957600354604051630e4cf1bf60e21b81523360048201526001600160a01b039091166024820152604401610399565b6000828152600160209081526040808320600290925290912060068201548061047857600683018690556104c0565b8086146104c05760405162461bcd60e51b8152602060048201526016602482015275086d0d2d8c892dcc4def0a6d2f4ca9ad2e6dac2e8c6d60531b6044820152606401610399565b600087815260018301602052604090205460ff161561051a5760405162461bcd60e51b81526020600482015260166024820152755369626c696e6753746174654861736845786973747360501b6044820152606401610399565b506000868152600191820160209081526040808320805460ff191685179055805160e081018252988952888201978852888101968752606089019586524360808a0190815260a08a0184815260c08b018581529b85529285905292209751885595519187019190915592516002860155505160038401555160048301555160058201559051600690910155565b600054610100900460ff16158080156105c75750600054600160ff909116105b806105e15750303b1580156105e1575060005460ff166001145b6106445760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610399565b6000805460ff191660011790558015610667576000805461ff0019166101001790555b80156106ad576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6003546001600160a01b031633146106f057600354604051630e4cf1bf60e21b81523360048201526001600160a01b039091166024820152604401610399565b6000828152600160208181526040808420600283528185206001600160a01b03871686529092528320805460ff1916909217909155600581018054919261073683610922565b9190505550505050565b6003546001600160a01b0316331461078057600354604051630e4cf1bf60e21b81523360048201526001600160a01b039091166024820152604401610399565b6000908152600160208181526040808420805460028083018054888555848801899055908890556003840188905560048401889055600584018890556006938401889055875283872090920186905590835281852090855290920190529020805460ff19169055565b6003546001600160a01b0316331461082957600354604051630e4cf1bf60e21b81523360048201526001600160a01b039091166024820152604401610399565b600090815260016020819052604082208281559081018290556002810182905560038101829055600481018290556005810182905560060155565b80356001600160a01b038116811461087b57600080fd5b919050565b60006020828403121561089257600080fd5b61089b82610864565b9392505050565b6000602082840312156108b457600080fd5b5035919050565b600080600080600060a086880312156108d357600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806040838503121561090957600080fd5b8235915061091960208401610864565b90509250929050565b600060001982141561094457634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220a150566bf21c920790adc62952b4cfcc82068ec5fe990be17f7397ad067e2c9764736f6c6343000809003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d032181d8ab113d125522e31e7824cce10fe4b0a34c9d7c9ffd6e9b3fa0070119098105581d03f12decdaa39602ad4d1b48fb36c0e84d16e59f36e3be423e8a70a4500c04461a610d5ca0200219a00001410303e7759b915176a44a9579c4daa501f5f4009f2d788cfc60caf06ba8b87e80e58203f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e035885fb5bcddf061d18afbd62ea7bf7f161688455518509b5e369983fb007011bffffffffffffffff03a9cd017922bd64ad659c22de710af2fc8751b36ba110a2336164b190417474dc031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e034839d65521920035347e7920ab558fb9bbad95853a9eb5160d19b04c8007011bffffffffffffffff05581e03ce4739f1746669c0be2c2201885bbe9747f6e0f6b9efebaed426660af00c034621969a2b5ddd05581e03bed97a14f1215870cdff4a916237730947453c361c1eeb44417d85f670040705581e034d29926d35cbad9a608c2b0892f1553553191a6237d54a5b1f71e827900403021951f903e617f2e2a118416a4da41e0ef450c74ad8e18da3c45214a44730ba6a40f05ea1039632a58b204532b586108b4ef7dd0bf696c50f0e26ac1db1351fb3cc232d8bf103ad4dbbe9a659bd844888f60f734cb5b8e6932c9ab49edbba5281fcc89063917a03f4f8ae032e89eb16875c26e94d1be69e6d3b4eea7365ca80d3f452f76810d3a8031f252d6c6437af5213cb9c94c9bf266b0183a62ae09c61c3fe5c2a1300587a46035ddb1d6d44b8b2745b0bf450efbc07833f6f4777c68b82eea8fdc5b427f792b3039e5202ab3ec33523e33dda232d9120cdb2f15d08d60fdbb4ffe51398b71097410219ffff033b4ce528bf2aea214f069f86a4098f9ebe1849a3720ceb89914c2c6d5cc9a0ed03e6bcf5c164ed61233f4a2a5581d666811f3ce84dedfeaa9066dab7adfa7af0d40219ffff03c6290273038dcf5ee2e841ab22ff56ff8924032697ebcd884d50d1b8043c9d2e03a56a321a33013e98f56685ce066b9d689875131a012c135b37dd727396a5a27e032da0230a42826cff382e6e85dfe21be2451d687c1fb6916f5816db0e7495bc59039d63500657ff978f0ad45b8d03dc45d308e74b79c314e174fcfabbbd1d63856503a27553aba7560e02e9a0d3529bc6737adf3a9f068f9826bb708f0647fe82748e031d5f550b6d4d2a66840a537f7e50dd967e6708ec7b8e88930aee11210943f9f703c4d3daec3a9f3e400ffb624c037618e8d126ad458fc8be38a2dcb58d25a21f280356b62cb4848bcaff1903a75b2504d99fe1e11437538bffbe3f1f46623e2d63370219ffff03472d47a298b049fcf893ea9914c905352d965e9d41ae787188ebe7827d010a4603239c8c4d9b5d14711b31573ff019c4dc9d5fbb300fa14bd7b73e306c1160e9cd03e58d15db62068bccabdbabca9559ce0500469d03c58539316bd84f37892a083c03d47b820ee5d2374cacbb847517e0f340370d83bcd05ec3517016091737263db7032ff54da8bd0dfd50a76582f4708a5e38dad0f630899fc97472daf08438c18629031a9c7b8fa62b61cacbe075856dde59603db97dbbcc7288130963edc334f5a703037e87c3801126722d304844b2db562ad06b21a5aa95bd3f1f4f4a94c1ff18e55b03f4f3ae8800d3555ebd793cf578fe44b4db4a828becf7f765c7e49d0dc3343a5203bf81903b8c60a3b9d278ab4ce1904fb000e8f19d6eb0a4ec1126a8ed27b4f2110335c8e6e885f85583180a63173ca615fba17670e5c4680b42c251a987ec4a708f034c07ae938fdc9c16bd047fce7bb2b063adf25811abd2aaebad542b174e68663903ad007bcf3c9d678ce2521ce5670f5e63373136bcbc3b697c9a85c864a4fe2503036c6b87beb78281201e7e84e730d7a1cc6941df144445d0346989259f1fc93159038ebbbef3b967032e7243b124ac57a0c23be4948506d7d654dec2c69464974229035765c9f1a4d9caf0650efe0c57e869554235704c6374028126c12c1d05e1ba3603722bab62e16d2f3f4ff2fc54fea9e0f7d8f640c0a18ecbc9580ba9d796d9497d03d802a8b9bfa537f0d55f2c30fa318e05a0d953e6bea26b8f749fc8c6b278ed9c03ffe74c1634b015a3100c28d2eb7f26c81add98e8ef0e788057d25125c0c6586803b9de27a951e9b7f021520572362268574e0c8248ce910e7608412d9935d4386103c29d26b8d9ee17ce5062f2072b5d3146322c1b80b5ab3f6de65e07c73a7bf8a1035f74c809eea816ba72a0dc98e75ba998d915b10d70ee521000572686fba5955903f60ebcef3c386d89394fd3c8edd84357543237b6ff7faaf5ce6dfa081168554e03ec7917fc0841cc06940a240c07a0477fa0c785558d1a55c9a953dfc3d802edc00329dfe65c4dcce35767fd46c000bcb2720de66433d8cf3320b8c0539dc17db81403050504b32d3ec5d2d91e0408181c2b60a0f2906077269d65423dbb92f0341611035997e144d23c34771d74f3031d12781d1653c03552f8a29f47aae2413f86656d0399c5b197d953328ae122635af20d4ef99606f26d77b59e6663623f9d27ba79f103db4a481aea80eb4141846a1767c62c3c070ba6930573f4d0e1c58021aa63633203255661dbe32659c6a734205e95e675766068387514d3b775ebd1aa29a3edc7e303fc16faa01297dc35f61dac9c64c49c7ad0c1aadda63ed76544cd52d42f5a0353033ff5538d63f3872949d16f02b139289a57999670ea71304815913d42b8c6484805581e03277d5e8e7dc2c98bbb48a1671bdac21c5097b66faa61c3606048def750040205581e034a3b2eb603fd5b402cd3f70e14e2985b5168de28532ceb90a9670677000c183f481793d2ba3f686edc036f48bcc9e9dfcaf3548693a64496916d487aa0369b21f3747fd0d67154e4db7705581d029ce9c007930120e5835c3a6c70a76f2c452b17719f86457a3f35a933040c05581d02ce3ad57cabcfd2355ee6b5d8c77d69ffe242f94ced2f03278890ebb90c1909c348c4c5c46584747b4b03a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581d021d0fe88af4c768d99d0894801e6f3e717b409aa5b097a0e962d6427607011bffffffffffffffff0219a20005581e031d4ad982841298afa8b74f6513bf92b36a1e3a0de28fd38194aab113f00401030317f8a1c47a7b63e7aa5150e788841b54a8410f9737aa54c729d4c2aeda09cf031adee6149f5c3a73d0e75d99f15dd40ce24c542803290999630f5f6842113923033980451255e493e58008161f3645447b7f50756ea57a9af29b3dae54da936f0d031d4510593fa092258548b30d70f66adfbe48cf89137596a4314c88961c34663d05581e034e41cf8577f4c6e63b139e0a2e9f5c6650a50e677ffa9e3ec857a6506007011bffffffffffffffff05581e031a6ceafb63495f71414ae2f4a27645b53cfa1e50375bfd4c2cd416cac008479b16bc056004c805581e03f9f7ea46c9f20102092c15c9c4a511017d68cc70ec33f6124ca0c1d58004010219bed903d28429dee85b8869dfa60b147d4b292ec92c779392928b6d3812489acb21bb2403f64168c01d182b87cd79f8a0fab7e45736a5a86cca9066426e87a344bab69a1e0354b6f25948fcf39c4fd13dd4ca1781915249b4d7649be8b2088954dfb0dea1a3030ddebfb6625e1ae528b98896a305b95e84d89992e4e1c28557e953acd4d7e24803eae66796bf51874321086b66556e7a35a69b0b8826b814bb06f0dda0e5c6e14f037e9bc5e68e831881a97836371520db3a2582f9dc35291e4d597a8313bcc8b7cc03a8e6349e002fc91ff9691b17d511f582fe4f7bcb72296735a0bd62120f2241790314f71e27525674ca24c05b317cc9999da53dfccbe4b79ee7ccfe0fafab5274600219ffff03e98e8b2ecab154dfe7dffa02e88d881fc9260b9820f2851eb62fdbe4b977d6170359528dea1e7da4ac3fe1bd48908ea5bda3fb9314ce590eae69000294a24e3a7d0219ffff03cea9a36d813c9dbc7eb4e9739b3f5d6b6f12550de35c484f8f4d286ca5107d5303735fc0aeb5f0f6aac56fbd147717f6a3db14a6bb487fcba42f2810f54dae091d039f82ef05da8f93bf8b74e075a7e0efa172b2fd076e8c2f76e4b8622bf3f8d88203d74f8d59ab265efc175aca6b1eb450b37b782b1075d1b93ee33075c8b320198703e4f82ecb2faf321e7c3bedede98dcbb8c17d7a3fdb598c47a0145e479b0f9e290219ffff03c743796eab4d588cd6a342137c4016a5840066d5ae4828c2089669a6a897f7aa03aeea73ac9d6e3e0f91cb4437afc360099321c82f41867663a500d8dd6d6f1e4703cd85567090804ceae1818317f4832ac11258af58fca64a6950223bc97112a95d03092cf7f37fd5d28c9f9d634096ffbf16bb33409e8399a8678d6db186a2cddcf0037c83df59e9c662bd182c1b612095680fc995aa59d7bf142c3015c8e6a0886dbf03c60806b96b432ccaba55585d0ff2f55efe39d7a57b92326835ba9f62319920d303867ad68f369f0065a92113a7a81b49a2cd38447011d6811c1bf3869136e2356003c033c25f17b620d01a24ec522bac6208509ff40b19b6d4204ee7888736d3517403748006c51de28565717fcc25e0aaab90750f736585b3ea53fda33546a3bff7b603444b1d81c8ea6a37e392157249dc5c8f64da9a6779e48fedfde4722bc4ac783b034a591eef95a68f8136fd26d59fc62fcef49778b5e2961ed4c73562bfd07c6f1b0314eb32cf6ae440c9809b346d8f526efc6b6c3fef362968fa0d563d4483779056034c673bcb778b8c675b55c66abfab8860cd25b57e513bdd11d83ed4c1c46f52dd0354d562c8b0f83416ab3ec1be533693709b8d8a34b95653adcc91e824324996810335688d94eeb5ea0fe96bf23312a58aa2f5828e6bcf16abc404d00b7d1207794803538ab55eaa9c3384b73084bb80563f444fd4672f4245f5065ec76ac1dd63625c034b07985e5d83b892cc07c48ffbbafbcd111b3a8366e86ac43d94b1252c0da2e8037951c57816b30d993874daa74f0d28932b193ea0dc1a3533c2ef4c246aad3c61039dafc5e995093309cc0ecfa17e3e33dba1ddcef0208f92199e97e8467d13eb5e03ff30da48f782314df1debcfc85b4eee676d1d497fdb542012d8fc6a9ff37a70003359b39ec06493e454f47fc432489f29fe3aff9bd89707e778d217784dab199530335b81ede8feea95377acf5dc70f02872d5498d2df19c2808a9340c7dda401534030356d4db97bb25f0d7b09a0553c6bf9a12a590752e04ecd1b757e9e884a2818b03b3d9e8fd2f831ba123a8eb9471be6c3279bfa77791427d9dcd671228ec19f57103fcc6e071c8bf64dac46696681b41cfadf446647b7afebbd3fa06733cd7143e9d03c1779e3db8620a28e97896b9bf21b7e5e77829755613e0cd019a732a76631f10033f4606d6094158e1eabe89b2dfd766d8e01094a92e7d651688e069fb08f60357032599f9702ef7469ac23d0471f888eee251041b4a4c9f977a3c9d2eac578af651032029ac691ee3f7f93a4a118e60c5bb28743107df121c73666306d77404c7931403e9bc71adf06f2ff1de5ea1deaa8f5021e9d16a3ccd9cb61f6da1016e50cc31910397b64bd970e1abf53d51c210a75868f9a30024b00b54646da2e00a6b0b4163d8036f2d1ed57b16305b2e5514e7cd3ccdba7b83672cb7a356d20fb9b87d6e7f1ba10300c7963d4f671c0d450c91cc47cc2c0b1fd2ff9e6159dfa34571298410d9983603330efe553b55ec5b536d834298429488cd7bab554d5aac96947aff2abcf5606303d0255ed6fbcdbe089d6a58bc555722b8c38600e2b406b156682407b2eb09ba6b03cb468102cfba4a31ff5d8b3f6609fa38693e3b891102f2aa2dc3a69c042c630403d5e0b2a47fc9008728862db87f8d75a54d5ecbba9b0f98c6cc441c5b9766d5d803e6c86831dbe61c22ff74e574a9c5681c796aef7f97aefc45b8add699ccd032a1030ce5b9dc334e45558885dff66cda8db34499142c68e42ca2eaacd45a432d732003da8c531cf30766d65edb83bf495131cc2498d7bc98f006a01a28ecc55a6b7c9703e035b1d76896290d782f18ca4fd7970863c959dc027095648ce3b4cb4e265fc00349a2633024b121b4cf9e48461b36ce2d2d7383f5618785814dff023e048110fc05581e03f89218e1fdbff7d6feec9777448e98ed5020a679df5d0ad9d76b206f800c19018248075da122f4b70e3105581e03409d565c2a510ff7bc1b67960fbe0d6ccce7526f837556db155fc089e004020395416af1b89f4b542b1bb52009d9212153e92848a6fd02e75de5d794b884bec105581e0368053bb4900e8c8924a7059ae414ec749b30eb94a8a37391e37ede0f300c01484fe008ccebafa00003695a299632c1e73d8aa4975ec0ed67e69aa41d924b29b1f137be3036e98735b805581e03ea93326b02e6b9121b36730bf8b4b0f5009f3a95d14f2a44abf2e55f60040105581e03230c76bd401afc804c97b5e9b9569933dfa0bee8304468cfaadaf959d00c034701f533cb8bd9e005581e03bdc025ede84452b1aeac89209a7c05dff089651d1d5bc684317b5c1b300c05463de807b17acd036351b6838d8cb3f9c17df56376f656bec62a31bbd85956041ef0d1c25ae0e611034192379a5cb72ca0bb13ebe1c67cdce14e68c1289107887aedb6e2f2d3f16c5802196bf20372bfd94525c35573f53c4cc801ff5b840d713097893dade1c9a2014679ee2a6103c5e49e5791b1aae30876df1e3fc77e1c9d4f94b8ce82ae05a9a4871e6886a51d0346b8ece904b2e8c42cfbfa50617e6f82223fac9984ad484afddc8215fc71d96303ae03bf140a4d7188f791f94f34e1b44566d891927a4ad86f9c587ae8b75e734d037fa2b9b03c28679c1c7c3e39400eff1e5eaaaa4bd86ea29121e09954d557066b0219ffff036840433310c6d4d476b779ded4f3e815e321b00b67caf3d62c4dcf85ae52605c0307ef713947d72d8d1b611408a73f118bcd7e54082ff96c91e5ffa019b47877fc032bb5a74e4270ad6f2300557b6243399edd01449e5bd1bea6b0ec7550c993826803cec7f6e6139b7ca0f58bf3f822f87e71634b24ae54d7d827760ed6d076d9653303dac0e536eb679ed9b4bf037409e0d5593b3ffa79f1da5ad7bb39a97c42fab30a0309cccd2dbc5a971c982be2fff577d8fc93cf306c9999589c170a5b04c759af2c033b4f7aaed44f3bae81543c3697c798634d1562a373d9dd94c8e6de199d3be05103de19f860385e4e58297ebdab4d33654290b5d63f6162812fb5e6c0de49772f1b0386451f5aea9373396a257fad5fb797fa397005335d6f2ec812c4424994afa4e70219ffff0219ffff03ca806715452ec03603585c665686c668304d7ca30bf2c16d779600258940a64203cca4235bbe9ca40ebd8fd087498e96696ca530abe5fe78d291c10d1840e29e490219ffff03ba9b48179ffc2db00282913ca909ebcffbe060b63bccd235bd936f37e0dcced00399c85b08afdcdaf1b32648de70428fbbf52121da785cddf14dd948e08970d8ba03638574cd81b6f200b930c9f2aac3eae19e3705d8b945acfdc338ec8a03d71d1e03984cfe68fe23f6eb3dbe46100e381e2377b8a8329b6c4e2c97327a21319072e2039c16eaeb2ce4db4f1a312d2daecf268edd8436bd31e9729681cf87220adee948038e8087ba73c926ccc1df67fec66b1fa2442299c0ea515e2f5f4acd5d3276800a035d692cdfc4867228ca92ce0baa36bcac673a2843d4bc26966fde97c60b77d5eb03a70bca783c3ced7b754e0fb11de4c1d7f0582bef7a52ace71ce69bc05031b2220347cb5767cac6b3f490ad1ad3ded207ab0a514e97b39c69394d58f71c726d841b03361d97e5932422505bfb3bdb2606cdefda0bbb8f6fc86c6649394a3e98c8543503dbe5d12a2a8f17583eba5d684d066b919059b318e8674902086b84e24fdde2bf03eca1b83a0af905c04bf5d6a48a3dbce8f52225b533e5cb7d69e894b9359d9964036a74fc614a0c39dfa661d76780f1ecde9af12c2a073f8465dd9f1626b8ed1c6c034ce592740823d8c76089d9214169b63561fe3d9b345ec43a56a9af9669f2fcdb0377b0341d8148b3d0dcbeb325af4d64c50f30f87b6c5624f7871c8d3a8ea2c1560385f6a2fccdeb2e1c14bae999505bb3f5628b36086ab7c2745899870a9e95744e034038493a20f4988edfe1e9476493790f114ffed392f2f7b005f44e86a0ba4669036a2e6082b40516248e131469f6566c590e677c52d90645dca1ac87a831f74acf039fc6286d2ea64d52dccde757bd9530b4afc01b1c5c1590077bd63a41d18d20f30374afc06d5df15ee77f3416fd28f7e37ff498427c0056121adbd1aada03ec416e03fc91995a819e5f9b3436756bfb7e5d67eecdd8917c147876d835fb4ff022e0a705581e0337b319e73b23e27e6db36cdc315093bcd16aeb7517eb0f62bcda2a74a00c0547062259da12b4d103964934a6e315052258e773d30456dfe26dd8e9afca7ace38dc0eaf8a909fe28d05581e032451d618731a5e0029604dc41a3d64f276b73a98a294f9ee88c770e8d00c02470167646b6fb09805581e03f039c0e58193751d2ffd39546ee0760197b4b5110fde3bebedb39516600403045908b360806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122012bb4f564f73959a03513dc74fc3c6e40e8386e6f02c16b78d6db00ce0aa16af64736f6c6343000809003303c25cb2b54222278b4ee0172f1dec5ce19290f1aeefc266439701f4e36bf0abc1037f2d2c030868c4be49e5effd3a316575d05ca2970cb497f86517bb6cb2b915ae030752e502dc6bde2f21580a42a58c843b6363830fa06b2339a8072445282d9912032ef2a5498751c6163f18d54011186f6eea7c2c8179e63c6e1c072f9ccd440cd1030cf3b5d7007c3720e743d88b0188edba1d3225883b17d4970e4842ce5e7736b303bafb593a620d1b3c383f26262eb7738b110b530661204db3dbe28db9413ab31803a4174021e5c28a2a19bb0a1613fe037e07d1cf2dc4de6a6a6f9fbf31847f1d6103283d5249bd8e37557bc9c48061adf3b7405152f8b81c1235af5d46347945b7a20382d413c6e96889208da2dace20937ba7a0220d748ef514c58f58dacd33dd735303eaa1519d7378afbaf64331dfc2cd02b6781a2d85a3af7334872e5ce1d9a97e4f03bedfe23fd86c6a795cd1cc1dc6ecda110a073d6e0e8f4d7952cc18eac79c1d0a03e23ed39709ac4a513e12c7fed58189746336d4fe2e5d87b6a8bfec814fd14b5503e1fa584796d7bd82cf8e16c2574c737a3ea3e50de3e0949ec8eab779565ada3b030716ac5617fedf6fb5b8c44ba0220e7ec269dfa648d390e074865ceac0e663a903d8e1a75ed555253fd15d3ca85241c980c6abc05365c76b3b867d5ef973c45b95037717865bec716cde6940fa9d62dfc2c7310cdd3e98dcb9de04345343d913b12b03ffa4938944f889aa558064c07dbb30519b183309c957fc8c2ac26138359ba8540314fd8b675b3db920ad75a12e710fca4a2bfdaf4281de2f27d72b5c96d77b14c203a15a17e1e71bb3c871dd6ce2b993ab48277998f6dbdc833560f084351db13578031badfc8addc9057b24eb34e88564f207c859ab33d46bcc3c8f97923dd2ef5ccf00581f0279d9e0a78eb8be97ef0721278b5edab0c68e06641212cccb066769240df3410100581f0266857470237c2cb8d5bdf5588dbaaa59979871e7ef3532429629d4e62e67410100581f028a8448529108c6b736bcf07c595444cab96c5eb6f760b61c87f36365198e410100581f02c68cc852883ed771fd234e94896ce8aa8d7abc93ad14d0bbca9d0a911902410100581f02e5a06e6bb0e6d6cf857b6279f5a0ab8515c02676867167159a73e38347874101030915d64ccc1481ce6fc66e496e81ce1b104203aaa2e93743a9717d3038cf5b5001410300581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48105472de36c8ebeacb6100c36249552e35feff0ee09900581f0326213adef1d6f0e3120e069086f3047561376d88d71dcd89fdc20b4e8960410100581f03d1dde69351efd58e96ecedac74b1b8d5d9187fd90e76c9a6e114bf51c7a04202d00218c10219a0ea034f6ffb9aaaf93eb1c929899669ef9f144d3ae9ff91be0cdffb6825d222d7fb5a033c7fccd1ebe9b8efeb99848710bf747222139ee67a64960d41386dbf9e8be44c0219ffff035c9e89407f7b65cd92eddd0635af9ae35c9f1f1c6b8404c321dfdada3d3362b30355ca0dcbdd414c15ad96fa90731386baf79621891465fec22817e3a6e3445144039389ce2a1040de4d74e89db728b38e327a18e5934e68e9431a4b74ab8fe08a9a031b07acc7f989c239a8b736821b79c4e548d3ef73648d36d5458b2f1742b74bbc0307ab5c2f0257be6fc29c00fa50d98318d8246225fd50b81e366b0916da625807036ef9cc395da3681981de04b693b81e5161735f06e7ef29ea21dee3d3f96eb8c00397bab3f4ea6cc9997fc569c02fd4fc6e1836ba02c26e1be66a9c4232d5f55f420387489725f1e27d8b745074174276791eb7969d9a7dda4aefe88c75b74f552685036dcbb3b1fd2bac6d93777f947dfd03c637e2372528c40348155ca3b92eba7d1603a7da3e5d0a39c29c974436476b8055d8fbc5cc209d3ef644f72fb9096b2e93e303226dafbd4836e6151bc749a33016c3df3ccfab6bdd6bf1063e41532f6c98750d03b02a1eec5748b6d4fb9553fcad9b63ae80368ab717e6e0bb299b3b9c776e1e870378cf0ce6737a69d532f4c87064d91795833e69ee32d892b7aed502a6686716a40219ffff032622f6ca97aee2de0ef03abdb6f5a6c3ce2688f06ae0c6ecd1b2b0b2a20d735503b802af59f4c2e694a7691b3a3324b306aa930194551ead1d1ed4bc2af849eedd03dbb38439b4f311d3d5d3f2fb5e521d87b45d6efbdbce1765616f341019d491720373de8f6ead1139c3015e641f55e028ef582223a1b9fc431259e161b00816f01703c34e1df2a532095ecd6a7ebb3a335f71c771f42a371957f3a8fa9c92c7854ec603aab154af462fce37399e5e5811ee84cc7a09ebba0be91a6e1a3e802967204dfc035cd1bb299775612e10d659b70c3eb9c2b48445afdcdcfb5102b5c567f839ad8303f5746c054c65074d80e8224b6809c409d5cee0d4f30f2200de1e4725f60cc3860384a13caf56732b8e3090a66bcde8493c1e9a71f7a59063776d0219cc116355eb03b6b82d014b10ee074db66ccbebcb823226f782e44145ad0623516116b7d12b10031337235ed742fbb3f755c29a6ba5a66afae154b78c20cc25134f8fa9572185860380bb35f0273a537d9fbc39987844212f4ebede6c5459360af5efe1a228a3ce310356f1d768d03af8ae7d4ea98e208a9fafe7a6655f66599dc2ed581ea2efa6d7a303a443f270873ac76914ab4849e8e5e6c455ac8f865ef1be3835627f76fc377f5603a91448f3cb28311202c682e7710f5207324732939a569c1cee9a57342ee055fe03999535dcb73abb5dc051c16bfe813a7fb46dc5f8b6884b1632ae3aa70351014c034ca6743f07305ccf42868683b5185a6dbd971c3477674d2af7082fab885e45ba00581e02ae27b6f2e0ec92c42c572e7f4dad01342503d6fe1577ece1e01be6046c410100581e025fbf4082135a44a736bfcb2b01201a90a7be45ad14a33b9abe0354bb72410100581e02ef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54b253b0c006b68c3a5a7906fdfd380aeb90abea4d0219411000581f034e5243d02103fa66ea244892340209dcd0bcd773f654a25d0aee86c20eb0410100581f03680a193e9cf3d19e76ade7d86d9e039c9a50a863ea3cbbc34b68d110d2d041010219100900581f02244d27c5997695a5d2678902395fce05d2246523b837ddf1161fad345c76410100581f02a87937788e9f2ac5d9c8e7edf0432e01940e1ae71cde164c37136430424d410100581f02947fd273a6a46b878bedcbdca9061395cff41723dd96d2a82fd514c5ddab410100581f029d365a86dd700ac3372b8ea3de726a52df14ebfaee269066c7a626c60de341010219034c032a8842f5f30621d3784abe927f9afc8d6c54ba4c45ec3083401f13cda0128faf037e8c91be7f97a18fe7b6d97e24ba3a2e52b3150010799bc96eaef9538f7c1134038387309c0d19e96f3a3c71063748a873ec1f4c4d09dcc92548959141f82b78710376320d7b545eb41b11b7909bf570f1fae52d732fae462aa30882aa5f919d0af60219ffff031e15598f50de6d26fa2f1cb319e75e1ea182a12fddefa55ab6bc6f0d2746e563032c11705916d6aa9168ebd2a366029a3f2faf342ed9195ae7f3c301a9c56226910320d199fae6b898ce1e5bc8bd977d3fef95e42063a28243806a1d86c1a4e7df2603a8530209ac4b0922f73de78c89a48bc38626c14494a918be83dc1ed72722811703f582b2fa92de97ccb8342575f8acad20f9a3966f10e1012d5af9d0e8f9532bcc0350d2de3a37f17ed73771e371b75f87bc435dbadc40da21b49da6ee64e874c553032ecdbd15605936497e9fde8c5b7660ffac6e667ded1ad1ba48559d30b6ce71c9038fffb52b5d286674c25ed48366343425b5ac22ac8738f0f0b882b662dec4995e034a57bfc7f3382053a37f3b39ba28ac089d2f1ef7241869400e91e1576be9e31d035c0240a4d2af31baf822b796f3d18782b131efe89592421da11507c0bf0a78810219ffff03091d93c452044d68f6802fed672db9e03d69b24cfa0edf84be7517aa1a031c940337b688f090a22906ff7f735f52665ac909edb25fd26d6aa9fe19f8708d8d89dd033ab95b94017be51e07682a1b29fd27293651c7f7b7742eb10d13f8bcd888fdff0301755032da423de8380843f75923cda9afe0ffb5406c9c952fc3dff79197779f03682b79a5e78f59505cfc4c633aa2709fc30f6df626fc6a5571987ee1d86ecc5003c4334599553fd7db3be37325b67b1c88aa8a69aa51c2ba2a25b9b1f5cfdda6eb0354fe811f86c14a7bc2801d8cad580e3a425064bba1f6f24469bd30be1196647f03d02c234550e1b3ebc394a9180522d6f5b6b068e4225bfd679519b9ad6725d9f403f42b67fca3c1a42bca2b1f940016bff322964910c4edc1d927a1fed152e91883039b51ea3574a01a1d2526e2b21244d4998512d8b440d63acae6722a578f8d9caf034fee3f324c19fd4d58883a1245568061ab080081547139d622b6a925def0ef1b03ec5f7538c2c4cd7fd895fb032063778a9379474f525d646ff826b6d81feacb0f030a761b2fb67b4d8cce03df40624f575fe85fb9a58781c31cc8348f9ce7533071037d286c0773827e306e35439dc7e024f4a8c3f8fd54471da1d502d3bf03c3b8a603a5ce8fa8899553cd29fcee4f62fd4eebaa4eeed42d455503fbc0c5f1c6fca4e60315edd37897e0dc28814073c31e513f89aa994547408450d91c822b7d171d343303f1dfa31fca225a99d92a395a11799ccef62c46b21c729cb5e418403e968f7988034ed4338ec58ca0aab797884ae9a75e38160db0b8b2a9b39d74d4a4571d53f58d03fa0f386e393c9f6eba93f8827d3cbbfc493884317354fb60712cb0519ae291ba03a47be4765d5f759216e6fa6197d182b78e3b69644a79197b2d74f4ae13c4cab200581f02b7c47a56d13ed1fc1e85c895fd24237d55d08a5dafcfc41c99aab1a5b2ee4603e80000019100581f02fe41d7fc9be6df1ec096d9f4069b022ed5bd9f2d36aefaae39f20e7fd2c4410102191280037fcc9cfec58b038db2494b0f23a099b38d782967d384f9679806d43f14a872d30219ffff036e64f35d580df7eb04ffbef5fa3ed7bd72fbe21f2385add4d3827244188b9df9032fc6289eb9ce6b09aaa2d9f741a745c43677cce1c14c5fddb513bbc12511b40903de2d293e53f6a3fba8b1cd7495f9025e104bf838d559ebf895106d0c6d96df5f03d10bf51dd52195beba7e455986aaca4e74efa8a0e969356a1a989585fc87a5cb0340871080b27abd1b4c47675c55a2b064c0d229d6ea71294a41a62a240db1d864034ee77e3209776ac6965192bb9d9e5df77941bc4586f0a3936b8769219c8b35b003533d539d8cd989037a7ef7f55131f6e85e180b2d3814c15525024b13caa0f68203c880afbef930a24ba79a58174993019193f3bafddf514811e7db9d9b77b73177036c9fbe4c9e2b296bbc5e79a1bddf8e5059dbabb7a8b2df39fef1b3a77fcf266e0359398e4c480cef04134caf38137da467be9ef2c994eb9873a12c313d852cf2e10219ffff03a61f087f3d43d82745355b9b948152256f885b02dc83ca8f87e52aa1a43d82c503803f83cd2b2acaf3f64fde53cc1f8dad7cd1f7b9aa557e28a8ea210618f1f6830332f4bf25295042c9e44c5e51a995c17182073cef463ce8037d02b91cacdb686a03bb7e2a80b915705dfbd4c5d9271d7716cf11fabd0c326a74799fbccdf09ebbd20304eaf82257cca7b9ffaa57d6be6a25f272a916dcb1b8a6e83bab315ebc2b1294030869d7768acd6ba736e7ac31d5a2cc7ef9e90b4861c92846d52349c2cec091e803c6244323f5ace1f106efc182fb4174717f8bb391a42e8469f3c2f27944fc801f037c53aee97b2d9087ff877d30f4943fc26f9f40d13d6570007cdd26b57a3df64a0311aded5bb6d6bade971687461aad75d7026ea997613b0ad6dfee4c4557882ab903797fdb8ddc10177295c86aeca1bc04c237b1b3551ce84ac0753c6681d15812f903360551ca7c04176827563d8089e657eb0f1394a4b7531cc0e51bdd2583992462036b240778dc2facfec030f8b1ed3336feddde768a5facd225ae6b50cc70510acf03b808f3262284749854c6a10f6a82a52fc9e9dba667131a0b635a6ce4ae2273d703ebebbbf15a15acef41037dbfb32c8a3efbc354a2ce78de55763a3890a87a0e1e0363bda46d719e4a1c514e0fe4b52806f98f26448c953a2d8149ff0f24cf10201e03397cd307fbe10c30e7eaf48b841296f34a86c9f5d4f2b2cbd2863bb0baa026a403087d8390200e1c7aa75517a22c31a98f3fc15605999747aa0d32009e735d32ba03e5e8ff5ed3b6e2eb171ae600e4c30210e30c961bc03fc57000e76145bd541d8d03fb2fe73ecb92d10be98c3d17d4c227c8c4249b67d95fbbf7fab1a624bf743b7d0360373be28dc0bbf3306ebd3483c1a0de11eb0cc8158c74866a7c00e781b392e9038c8a63f699a777555dc758752cfb743f8d138b64dc21cabbd72a7884ace3ab5003e3996d15e9336a8eab83f5efc4a7fc973458683f199f69f8825966447d7e4960030f83f3f8fb8a7f927c600305160f96f5b3daa19e8c8f53d1830b8479481f62a503d170d9d2ef820d4506d045633d1ba0d17b93999b3ee65f4516db480c44d56ec1037344f7d7ef1cc8aac4e920a10bdea48847e94a4b91c7ade3e3aad91f103118bd03d306911587338e31f29c9bf30f8b2379f37f106488a68926ffa6fae68ed5597203ec4246c2cc5de807d5ecde3beda48e9710fe0a5da936efdd733abfb8b0ba467d03172bbc65c6100d66f5016ff35f5da8bc22b11b37c02c5c33d2e44c645355bdb70375c41659dfee5ae6ebb46cf9cedcc4a6ca0e903ad9fe75e3c1ea13aedc2f734e03dc89ff107bc9e04814dfefba5c9146372385992193365171786929e5b98b1b2203b4f076e484f2a0edb27d7fb401ada5d25e4996d47fdbcbfdbbf57e13f3414ce803a7ef3b78065de4e69f0156d4c37f129b014a11f28d1aeaefc88361839b24b4020379ba4d8df7874fc74bccd6e820141fce63f7dc28d9ea966bc1a69e97684b218a0389a072243923d7ac7e9d4e502f04eb9792f4fb22a75955b41d654016e705e5f700581f02d786106d4490917053800cac1d9e74f9bd413f0144df9401c6864422f9ab410100581f027eed206e103be9cb088a30d32b1cb567493afefa63e12280a4926baeea4a410100581f02c65c078e8e95188599abb4197917d5d125017f7395d470bf4204d1ec767f410100581f0212489773ed90ed8b9427ba0a0d482940785ecb15ae75a8b5c0e3ea210a9a541251bd1a79a00b7e1474a1d71ded1000f3ff914f00581f0270d24dd24d90f7fc630d576299787d60c468e172a6959170ed0b13a4d838410100581f028afe8c6fcf3d82570d28499bab490ee6f4b02391a3aeba513ab27cd2ad064601f4000002630219069a0219ffff03f438c90a55bcb0dfbf9cce8631d6af02946a185d849302d8e551a3a9750415a10219ffff03a518b0f2e94cd9d97f9c311c9a2c39b0ccddc9aeebe650acd3816cba6c9c7d7c0219ffff05581d0275142e8e7fdfa0b9932dec51732137e973accf3bf636a63e4182d90e0718291908b3033eaef034d29480c2820821c5d085c633d73c8e6b5550f9de6175ac09d68809f503ddab6ad988a4c4bcfc94df03966e0028a149e635c4b650f8caea946924bb1db005581d021705defc09a20b9ffe4c109567fc169a0922c116bcebeb62495e0a7c07011bffffffffffffffff0219090005581e0330be74dde26ac10b4816db10991e75794112601af00683c407a90ecc100c014744cddf71a6b74005581e03c9cc0816b64c294d250df56a0b82e038f28b9f47dd4fdfa013c0ebbbc0040c05581e034a2fa933d01607fb07594ea6087bca70a5fd8cdd0ad08b7f5922948110040105581e039f625bffeffe8b7d95c12df22d8c5cf55639b76083883ad11246be998004030347b4fcd679f7d70d83c092cc353d5aa4f7b9792238b87a35d1676fa5a7bb81ef0219d7870394925d9d57c3a08135af818f76afbec2ce0d3233a2f15d3731edd98aae3d549b0219ffff03890667ac22a005d5cfa400fa5570bdb28fec4526dbb89a2ea9592503d3aebf4103cdaf5193f3cd524ed344b893cffe493ee6bb8c6e1591b8f54f1a70050f15d5ba031cd82aece9b0b5cf7f6635e7d60c4125737bbda2ffc5087f59b8b5b76722c030039ca0fb422b358624ffab03ee452462e316c920128881dbea42079f36ff83dd6a03043e539aed78dc56712f5f3f768c85d63befd1d55457d60371a7712966f31f5d030e71b0a022211535befde6866e5ee9edf3e9dbb5c4263144d16f649a850d264003e4491359ef2991025caf6626990147d590ed16329888fc09c854c246f88d7f6b034aaf3e9a588ba64bc1756883edda01b4fb6f9db41b5ad39e4fc533a6b71ba6b603d7612bcb07a2e955c3a053a7a7e5405be70ad0f74fed343c996a8189bd1b3b880307b6971c902fd65063c2e754761dec37e1ca48e97c84f40fdd441147161a987f0351efad3ea5ca6634bfe8a69801e9b43baa4267ab85193b3771f8aa0b722989350219ffff034fb64c28c9268a9df05a406a127339733d64b43c3583c9fcc8cea28983d2b661039aa099aeff9a4f306729281b59cab0d0488945f6ce1007d84831e6ee2d9a17cb0388c6e4ba2764b1a1b0a4cc8be0b6e70614663a034f6a8b433eb5928605617bd803c5f5e1508e94bc2c8734024404ae36763d5c65ed29f8459f2a636a520c1d72fe03242aa393d3b89f2036dc2d790b0a96af6b8e8228a0479c9cd6b08cea71241c1e038e1e45cbd163b1ece83944ea60917316546d9445cb872e4af88cce5819bbb91703cab0c14febfea95ebbd0509ddf3818cca62fe110965ce40b5f03313bec0dd252030e782a6fc1adb29b10af043a7b65beb40efdeed7b8dbd02d6ce75a13256751da030c41bd31522dab9c37c61eea9103ee92e4369038d7d1b3fbc21d68ecb6ac105603f30878d3347fdeb53eaff567cf2b9122174f43cae45894364823ccbae17637c30320c8120be3074dda4a6fc5674a5cfefe13898b13288affa6318c87d97aab9f45033355b3c3ed4279ad8bcc9141dad83ae1408eee1c57d49132ad2657e5288f1e550219ffff03cbd899c489f7698f91917e55592d78a89950ac903d1b77e2bd9f3bde907bd23c038cc3682b389798f5fc7ff1b3cfa4063f106241c9dd6c89bb089ec728a11b27f803083050269ff8582f6bb7169c7ec5d76a99c879caf58c437166e4cf6ef5bf955803543dc3d0670ecdbd7aa939ac8cf65cf6b84d3125cad6b3e0cb5d6cabb5de1483039ad17289f665bd8d118b2e5bbcc12c7103aa940da75da93ed1823e719a73e614034877e567219581bbf61e4704677d6e386bf0b028d7f32f7e181da69be43770d20367b2d28612a5d156e2b7162e43b173cb40517405e030b8f8018a3fc008bbbd8b03ef1c208185006c1e355086e49ba3e80c3bc188209c59014ad685a7664951e63803ad36cce1e92549f116b5004771bfcf207d630e6f53970a01d1afd18a333031620300f8dc6f1e5eb9c45548d36e5a9dab974245f0bdfbeb0b579be30b15403054b1037425b8e4cef4d85ddb728779884e176d9d57381009b424f6e6dc1666e6daf03203d723087b41574b1562e5d528fe84071097aa3c17586ee8c8cb4ac76662dc4e2703ffee627f0ebd63c3b058e983cbcb9e0200c0da9c66c5b0b86747aa7fe96196a703f155115377506f431a56d1791648febc57216f1a6d2232cecf2bb51cd376949c03d65a540e75e7517cafd499eec5e7dbe0548639b465e08999fd585b78edcc0ce403f4bfb18310e069efa4aeabfe123c6085f716041bf7186d07a418ddc7b5a06bcd039a5a8ef22fd423137c2b86e438045b2a4e55f6842818d64d0246ea6b91c849a203d3f0d4b451a711e9a92601a15a3bebfc5935013b389a1c71d074012cb5cdf26b03c649bc645a9794ffdcf6e4d54e114335e0f3c34fd75d1dbe97af2c8936c4ad2203ea11f27fada794ce907a4a1e49e34c33fd4323a472727860cb2d7ea48dde1d8c03c0a8285d6d15bc20d7001a4325e4d84b69adf211e59c009cd4b2ab5dc5024cd703e318ce51c87e13982fe59fd8ee5c92c643652dd34de17e55a31a0de84489682a03fbc2c5db1ec6183e7b9bfe672c04339302562411a6aade19ee6160d3592946c503e107de8a8ae260e3d6365246870cabcb2ef32201e8b385a78f58a6669ac9951b03210401eea9091e589af1f38c7399fe043d9e6eff10a90e8066212e6baca58dfd03b8513d2c61ea509bc2ca6ec2404186625d3bbcb415f2e19a97de7421cb69dbb503b88f41af8e1f2457356ca7f541b60bbcbe65286b40a09ff5c17275ce48024dc703c65f54eca79e3ded4f7ecabb64613d1f8d191fc7c0ba312f90a8e118a5f8618003140ff4d5a19d2e04843a3f1070dbcb6e68b43c592f72acf37eed1bf3f9b0e41b05581d02d49f9bd23140de08e90a3672dfa0cdf14b4eaf5633014e46026d4c6c0c1903f8481da605feebadd57505581d02e2bedb08c99a78e6ee2a03053587a48747e142f8b23afbdee7b3a830040105581d02eb8ba5878eb2b6dff09c676c4c27c5fec1a6c85aed1830934a68388304060219410805581e03f63d2b251147f03be17c9b9086eb5709439265d0faaef8d438bc4b36000c01474509f83fb4513303c9b6f2eb5ae1b612c070731714843678cb9fba9a354f6e91e287d526972c192103fb602fa2344f6be6f5bbfdc82d3d71afc308d92c40fc5dd5bb1d11ffe7b44d2603871d092485f80e0115c6b552f1cc464cfc8c73be19842e46a7ff02f2f3baa93605581e03d26ba662e597f86fd6cec9619a8e345948dc2fa476a836134a9554e2600c02471284b594baaa0003d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e030e6a817aeb562d42f0aefe75f2f0861e6fa5b71926304fd9eea1b74f7007011bffffffffffffffff033c44b1e209401a7a3393ef806c8a0d2e619deb8cfd53b9e2a8f8c105f67dbb790346224e606ed84d57f442f76692f0127bad2fd9957c0aa9244157fde911dfa6ea0219b793039e133ee8ec3a5272b41c29f5a71a435d16b1fab79ec10e3043ed69b86992a6f003ad7095eda4258211265c41c0753509b9b1bec0c417e6f3f2281f0b3f812d49d0035375d37ee1e95cf5f3dd36f7c663c485cc789d4ae9b7179f8aba9fee718679ff0323419a80ff37ddeca30aa7d6fcd4ec114bc42826250d7fbcc36ec5aaecd91df3034ff3a65d525a20e983e37f47d389ae999782dcbb5721a6ac267dd3fe52794d12031ae1da25acf2d5777e18776ca1af161bb4af0ccdded30244cdd0347948ea68b903b7a10441877e36b2979ed068ce01ab2681d634ef381e3bafe1da7ba097817086035cf4d4c1d1ec69f2097f0a06937d799d782c3bbeb41f5f1779c92b354b8d5aa303dc1e14ff76760c9215cc94c41d475589300802cbb8d3dce38740509fb6faeea30219ffff036c7d59322c5014953ddc349bb9bc630614bc51033096d2b48293f76d289147ea0371ed64d83ace5287708ea10fc68d78fd256eec6fa522959e840dcff154b037fe032c8506eff97eaddb9e17bfd25dc364e6aaae609f27ad0a1027dfd7febca93894038b9655a08b49103775c81069889b10bb85e3c36f3c927f303c746c366f9097cd0393d9171f89b0add26cfd44ba542f88929e74d147007a3f8202137d6c9cbc7bc30219ffff03e7f3d43f6169957fd187e626e47997a757e2d9b0c0fddd2f0c1a86666451cd01038eb9b8eaf6c316ba288ed0ca0c2aeb13eb1f97614af80f52b2c01f685a4214ec037432dfd08a044829cf948f66a8ae5194fb444cbf690b532d70974fbb879e2291039397106777618a148bda03ed2aa025763eedbac324398aa405647f206b1ea54b0219ffff03f7eab62a484f1b5b70ec53a02b86676f16e743edb17bea79cd19d5c1f200c76d03709f3b215baf0d267622132ad85c0aa4c9020a1034e40b8a0ac27372f98329a103929ae23da23867cc0c32e0d68291bc3315653d50de8dceb11c92213605cddb10036eb2db32399abce0077175a892b5164cba6cff862882bc869240068a07f0f6cf03cba0fab3ac976ff61c0a5347223157236401cd7b9c189f79672495bae200b92f039ea1e78c43e0c9f42c39098c9163ea268ed0a3989a00c910e95c0d0a83c72f2e03fc4675a288a8b45ff07b3da1c4668a984663afa2cffb9c555dd6b02f66d1226f03761731be045c779c34a888ba9ae744096afec05f61a828c5782a5a3ccbff1a0003cdb2fcff13a8acdd46c31521d934d6b009fa1f0c480beeed5eb247e4c0c7d331039341487aea91378522c0e5a9b1cdb35191d249b0b279b269fb5792a7832f6f2903bd6312fbbdbc532a9497d9bc0f3db04b63eeffaf8b82f139e61f54bc6c19ec720327a25f1516fa6b965012b9fdef0ac50c55a0b6228d953f75cfb7b2e538dc4ed103596d29174133fe1cb2db3be97c1b8ea6159cbc2d27f4f3868d3b44642bb8f2b603aa642c46e29f8ce5c619c65f230cf14f207a261657b9a0286f22eaeb3dd748bf03a19e7c06b27e2839b12eb1aabd3f47a73433f50dbe9054c9781f351502c605320345c732b98c889171e77253e1c4f61f0f704e62bd341a98caeae2735ffba99d6103509258957c0b5dba8315ee8bb079b5cd7b4e4884a01ddb1a0435a58b9d515f43033d53ca0b4288c343d13b37ea90f36a3c424ebccf8b96a1f864e61c5ba007b75a032ed9cbacaf8980495ac43f7a97fd2ec5f436bf7d51d20d30175cf0c16aebaa58036b55e526b773edaf30c016e5b8ed9226de0a28121086ac54ca90e4a067cc7c97033bf836660b81e0967c2015c82e220e1e843fea7bf6eda9aa9f748306ae3646ef038ec830e28089db1d7aba747ed04504087c32d729cec70eb6818aff9c5ee2c11903cb3a0ff5b2753503d42e414d688d1b4d52d7944aed5a9791f8149c8e9b4862530320fd77a01f18150105bb4d7dfa5245666fa0f90ad59084c1425b2f211606b41e0360b62042dee0eb231c9331c59be53c42d15b3745afecc68f5a33a8025d30f9c203fd736f9cb7e9c76782f4c0a1c4dda0d99450b3a1ce94342fc16c5e81a55874ab035705de0650cad9483f4f22854ce426147e7644346338a9a6eee73db06c65aca903f10f4c7174b826e09162d4ade3f75e62a1abde11b88880aeb3a958060c87cbfd03926b251f168a39f5d34f2d1e509a45fbdfc15dbe99d58fbbf6b9cb19a8ab6cba03a3666393b010afbef4c8de8c532368307e03afec805b4726adf29a2789336edf03f8a6d6ee92293c8337517c41c260cebd23d0325f0a6d77977d9923608682bb6d033a3342fbebc666b5e855340dc86f5839b3f15fd29d249926ce8c05307c3e329d03696861fd300d2dcf397230972ba5332f467392a55d9df7cb1ab596a3aa7f8ac50300c607baea8243b237ea75e989ca20adc6c47c0a2840d2fbb60d0cbbbdc677b103a99727bb59a9a8ab334f03c030ac61c49bdf6389840914a5ab5d6de37c82adc003c9a3ea05addedecf51c6594203fd60cc016cecdc5928362975415215d659417d033c65325eec79242b29113903d8c600ed14796a9d802e7ea3b8d6fc9c9bb6ce02030264e81e375008af59e4b3ee23297cac0ef5890a863fc80e611280d34160b3c703ce6ca0816be5468f836160f1d059795eece5f2e9777c1f1f71394b53cdbc12c203fe0176d989cdddf4c64d2dc85bf6b078a96810dcccb91f5e17ed952e8e31ab2e03d82cd12829299602a8fec4ee7d2f6adf3d01f4e37109aadcc8bf7e031ff33f1903fa930293b2b346c564385b104bb0020a06d35481e8b6e5d1097a4b5273fb36d703f92358f39529a147a1dfc781c9204872136afdd14cf872257cad7e6c6fac019d0386c8291e12d82b2d76120dd94df9ac7b8e2906c0613639ddaf93f33aec5aed2f0399fc386b6bb5851dcaf045542a30c4fdca98e27d5b385910b8682fcf2966fd6a03348641a8c05adf9f6fd0a1418523bb081f2315b8893d72a4dff8139c77ce3ca603478d19c5113339129d201d15893d6e1fec08ff23ca5a09297990e32a43239296036a03e910a4efa9c0870b51e511a39efc6503c8584cb6e6935cf0338ea85337b805581e03d56c64fe0828abdedab22ec2ea89a4689ef209b2aa2c82d8205c80d8b00c1a00012bec4902d8a7d0fe2baa342103e41647b124f4469799aa32fedc4939dd35c7e9a9803bd2792615b9efe4bbdadf035fa478d0ec01fe5889e2698ff84413375296646e9e8ccffc42deccca37b1501e05581e03497050662cec513e7979b79efb9200f057628bf192204cad3229aaa09007011bffffffffffffffff035840992aa6e184ed5a6f5a1f5e96c998d3d87d8e5594d719015574a771d3e9bb03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0362d9a8e26cb4e383700ad04f9a7f6696c80c209e73e34b7326e5769ba007011bffffffffffffffff02193104030b33930e03c210c8128c8abbaaec2016307478328538330510bb69e3d58776210219ffff0219ffff0384aede2373c4122666e2bbc3227d68ec5577febce6318aa41ca9ba496d986fec03711e9b871eece591e427793986f6f15156b0d70297421a36f363d3e35d00361003ed199afca45b3c3b78f86ee1ca5945a9be2ed6f31cd12237e842f8cdfab2da510219ffff03bf160f1c7dcb5d9ac31bbc6c76a9d687aad3188b31626c4da4c7fb324e34259e033f5794a71d2d7dda514ce6449f2711b88a75c50a778bcc287e00aaed98bfc05203e9ff2369681695930f8f69e385f803ba01afb8dafa2a7f72d80b5da4f3478f4003ed4af08eddf7a1a6541962f02e813b34bfccf84f10667649623feeceda3074800358fe001f87c768df153a4cecaebf118799f9d0a9ae44d41018bd71d891e813c30219ffff0305f28c828189637c7d205bab26169df9759896a357e4618a8ea7e5008de2b1b9038e7f8eeffd11d37b8cbef68870a5ab090aea80c4428f5675db9d528357e8859a0324529cc58f38d618297e0e133423e1d9599f8789a081ea17b28f99a1485bd78b0375d3528d0f5f9d02eabebe5fd03aa95b1082a07da941c9deac4b47fe848a019c03b26c0e1d71d69a2620e94c909651a9220908ae35a509535ee0fd4c594368f096039143c8495928dc046b1a5a6c590a7b0da40d4401895aa52219b1a15e774e6413032ab2cf346b480e9369d8e52d04b60f51a3cbb00a19726651939dd4d37148bed9039cea088fd86ab33422c9045f446d7230093c122ecdb4c8ff7cd2ed59f1a5aa480329cbe344ad4cdbfdc6b40cd2cd2ef2041443d8f844aaab24d390c34ecab6edd7039957864385849e5b6ecdc17d00e5e25b22155cb7fe72142b5e1541574d180767031cd9d9101fe3a898acb636e552fabd22a7cf43dde1eabcbda5f40b326428f6b7033046f178a0f62c5d4e8c5d5df95112cd4191362cfa6bc77b7827f5b25269b35f038f71c5677f3d5db72b4678309f408209cf7b018cf32427781b89c1b5f2c9e78803c6d61adba74ffd7c3ce1097ee6b3ff028001090b837498f7e71b5ae29f17a02d03648e1b5dd4ca9b4083570348e37a424d0adac0235a3e3dc9a7fe0795b401ad1c03378a21940b32395191759225ed4f64eb7e0725268250c0533d528e238654c6410399ddf21306fb13a184cf9e034cb68a7d941278cf2de9e0addcf6d40125553bbc03de492e84864e267636893ab08c7e0efa674c334c86505d116caf04f2c65c3876035139769035ccaf42a0ceff449c2301f7812e14d36f9da0265ad41051640020b4035b5f3cb23b73777f73754c6b3ab7128dcc25c3ea615cd628196a029b458b59900338157ba999bffaf24d29a5fef3429624150e43a2a37ba5cb4d0ccd1385d66e3003e82af6b977c8dab490761a5f3758576e5cf569806ee156ea2e112d7f2c3f5055032424158d684e33236a9aa1a7585483418f40b66151835e3fb51e404e002f849f03bc2de8cd96b876badabe812ff3ae5d71de003bdc4f19d0809dd1388ed1543dc103a44963b0cbc20cf423f6ecc88d223b851baf1492bb9634b4a4184431f4ef374b03360441aabab12fe46b8a987d07f6d25ddf7f703ed40c888d4a6e28d51f256f7a038af7b373ab74c162881ecf58cad60b0e660f456e72af9b1af8d6f14c938373a10387cbf8527cb4f762eb14f3feb7e1b46e5d39e0eef7689453ff572c9c0a6da23703f7aa965d1f87ebde702b98d57371c2897d28219cdb39a3ae699f3b5d131689ca034912de6b1d7b62bc9da42645b4ae9e804a4808f6e335129dabfb17ef656068f5038d07618205151273060a9cc3212e7dd3f9042083d2d322a22e8dac574bc4e73003308abebd066d457ccda5d940f65374706d5d16b08a6b041eb1f5a7f9862b211d03d25abfa1bfab0d8c31bb41ff3bceaf083da13265657854d6e2e46a03fd6dac670355d7116d5af9dd095f300e11d5d641d34ad93cb76a718e005bb35789f3b2a55b03e44071a54e07205b84fd4063244f8949128e2741f18e6912f3a43db49cdfad0303a2e602ab4187550d96b3b689c8e3c66eb6f356f5bcf46b3041879fda26ce165b039e946a839062d3ba0d1aa84ec0445c3fac33a225e7a5c9e3559efa1677c554f203b5b23421def62e167ed2ff2cd44bbeb4b027e23761300e7903b10b05ddd1f37a03d090157d2f0ee5e7b59686c831a58db94db8dfc6efe4992347e9b47895f73ff60399ec8b7838901baf1a5478d8a906fcd06ab1202999285d9e239e10c9cfdc6d5703555140627611186b806c25f055db50ca5350a1dbef1b9bf28dc1ce982dc2d6ed03c96bb9d91e27f83d04980e64c7b9b79f2c0f406f14af7781135995e596d518f403411bc4ffc9bad3984e5d894d2b4db597b2eb8a6e1d7c51257993a572a1fdf45405581e03cee014d8cd8ca9966728a60eb270e135691e06a2a8c156e20c86584e30040105581d02c647fd3dbc87f45d0e7591fc108e709b853098262480297e7f563485040105581d02f3721a782a5b92e5e52f3e272683acf506ae930613244355c4fd00480c1a0009af414929a9bc877cb800b2920219014005581e0374e606cdc7b8b5d3376d802627b4ff27a14fbe1df4ab035cd69f30eb100c05470770e657d7b81303562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03290f7c26fb6d24538d867149e77502f51c27612ab771f07c3f775a893007011bffffffffffffffff03fd4e35eb7af833e26c3bef1f57529dd566afa2b55258b383a2cfa097547e479003b32a6395c759cc0bebe6992002b7cc6334dbdba53f9db43ed20342e4d4521b5f05581e035dae3e01ad300f03337b16c268b0c2592bb437f8e59e35ee6ec66d80a007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e037a7dad94ccc4b59b1e86dbcb942543b0b3ef2bf3e6c2afe16d9b33b79007011bffffffffffffffff0304f313311f675dcd826e88b6aa0eec37775bdd96be6e18b22a1069e5053874f00320b857ebdf0527473470a338aa0c27c50f1f48efdbf9b59b3be93857a271a1e10219bb1a030f620f2786d0a072d0080f2214fce5fa848e934e055ccc6597a862a8bb15fc6803c1e26fea6f253e7370190afa352b70a67095533e25979e0d14148517341af7110362036c85451b4eefebc2ac227b63a44a9d8a8eeec061fecdd9c7248549327cf103804e55ccd50e7e8e2e8136b7dc1c705d01de9f2adfe04ca764a437cdc770980c0219ffff03add9a9020f446516f52c70afce71474305a64546147501106132c4d7e51be9eb03dd08bdc4d2aaeb1de4f7046c6d718d8ddeb8a53c3279d95c8ac3f16a4db26f9a03f0464a5565dbf30bc5a066c66228443d3afad935cc22ab3230276c9a7be1ec220219ffff03c11b451a108480e9d126149473cd3922f6ec176d34b45df29617980375a4084e0325cc3000a9665242b399605b286f5a7d6322e83636840082ac2a8f3565cba7cc032d7515ac4730a6554c62175554055237a64aced432600989473ce0317e2c18f2039afa7e7b9678b2d246daa4fc6c60767d7ef83754b3b3542f31f9d50dc7e852a20219ffff03bce66ddfa9c1662487e96bb47a31c655e1ae9cf6fa0d9f725bed6520401ffae8036638355b88925d847663310d4765ba5927a0649b196c9079c6eb5098f659ca970304218e412057029c4d0662bb0d182a58e2e4129c7c0a029791bff73993333aa3035163ca16316c2ba1fdc3ed314a1ac40747e34b57dcc3b3040750bf602ec98bc0036f7f88b802bd8b1d9c8e3374644504a777578f4672538edef76f032595f22ab3030df858d1ed5009d3de99d32a8737c89e4915ec2606998201aab27d62801716e6035d9876b74d9478b1aa0f17cc2fd3c000c83c2e6146abb58b6719cb10254d8117035de7cbb6d87c2057e6062f25c31a6e6b6e9af537e370c7ba9a59789ce12cf6d703f44021f58da77163af624994327b7c38a5fb68d934fdd575f14856e19bcefda103b9323f871ea714d201dc343a2bd2be636ec8941973852aef565e9ae4c36de0380396b0e557bf644cdbfcf2d9731fff50940644351db0f6b78c84f8946db8dd03c60387a7e232dad9c693a9a95fe49465f8993a26480c1b8203b9a556d36168ae181e03c7dfef65ddfb6794b678eaf5d2a3e34fcdb90bd31599d2acafa141b60520dc9b037c36b9515587a73ff60b8a4306eecba189b91c91499e9822e3a875b183f0edbb034b4ae6103c945f2b0342ca102147bdc880d79f2665b707df45844d68327e304703b0dc3da01ecfef1a442ff2b21fe425bf04ab4ae3e3c7b9713e92aa2ac87ff12e03c0bbe46dad020d477be1a8f91b10c620059cedaf67d4bd21892d38b310545eb303129e232240d12490695744d705d6902d2ac5cab17b6a04b8d522c78c903b79d903aa4faca3c90f6d56f7540381e9ce335761999a037d75dc7b09002a18d9ff7ced039b987c3fa3e8968a5df6ddd91cc2aee0ffe4c3446526da5e9ba2df0dd8518b4303e93e9b81d70799bebce40bdbbca1032934bc075ff42393ea6a570af7ab91117603de3887ee238bbf7977f7cfb385caccc8306c1c5a8d7ce450533bea51ae01611503954ffe94ba0caff586d2da38e6332bd20c606c47690dc8141a89b5e4e744693103a6f73cff6335320337e0a1ced41b0c37492c0e651cf27dfeff5c73ae5bccc308032ba0c2470a9d11cc5147efe4861649990e2d99c9e45a0a6593836dc773556958031aaca606e1239894fccce9f85534c90c329dcc7ec67a9a9860e5bef18aef8bd80382dd7445ed7c9d56e4734274baf128f519c960fd3d58891a0299204f3c76425103a54d121026cff23f73529287e2aac227bb20ee64eacfe6f2ae6631404befc6b3039ccb5ae31862a2cf68ead93e4c2a49c3a6b7625b961f949d096ecaa7fe0685610341539588587904b87df09bdc7b8260081ff7216201722d3a68972eb04b190a8003b7ce86e974c87f04ac7f61bfbf9dbe8cefcf077e32d805aae9b4c243c29844cd03f0a0b63b7bb543f8dcf84e8ab1ed79c884764f151c18684f05e80e1bf35952030323704b2933f24f60606471404f15ef84debd47062d346bb7b2bf052c1e72785c03b08f7f2c4fea70cff8f50083955d85ca21de071f59e11150790e36156e86828203067bad2c969f761dbaa96f034dc1c0fb129e3bfe1b3a792db9e02805495992a605581e03116dc46b03e47cb81da50c266d0035e23260c9135b69574cc3aa84e4f00c06464a68bf04a5980324ef888519ab532e8a0796fcd9d93e91a5d530d3845f6f3559c154d9419cfa97045914f36080604052600436106100a75760003560e01c80639f8420b3116100645780639f8420b314610163578063aac476f814610176578063c0c53b8b14610189578063ce0b63ce146101a9578063f2fde38b146101bc578063f887ea40146101dc57600080fd5b806314298c51146100ac5780633cb747bf146100c1578063715018a6146100fd578063797594b0146101125780638da5cb5b146101325780638eaac8a314610150575b600080fd5b6100bf6100ba366004610f23565b6101fc565b005b3480156100cd57600080fd5b506099546100e1906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b34801561010957600080fd5b506100bf6104f1565b34801561011e57600080fd5b506097546100e1906001600160a01b031681565b34801561013e57600080fd5b506065546001600160a01b03166100e1565b6100bf61015e366004610f7a565b610505565b6100bf610171366004610fed565b61079f565b6100bf61018436600461100f565b6107dc565b34801561019557600080fd5b506100bf6101a4366004611073565b610826565b6100bf6101b73660046110be565b610989565b3480156101c857600080fd5b506100bf6101d73660046110f3565b610995565b3480156101e857600080fd5b506098546100e1906001600160a01b031681565b6099546001600160a01b03163381146102565760405162461bcd60e51b81526020600482015260176024820152761bdb9b1e481b595cdcd95b99d95c8818d85b8818d85b1b604a1b60448201526064015b60405180910390fd5b806001600160a01b0316636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa158015610294573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b89190611117565b6001600160a01b0316736f297c61b5c92ef107ffd30cd56affe5a273e8416001600160a01b03161461032c5760405162461bcd60e51b815260206004820152601b60248201527f6f6e6c792063616c6c656420696e2064726f7020636f6e746578740000000000604482015260640161024d565b610334610a0e565b630465d0e960e31b61034a600460008587611134565b6103539161115e565b6001600160e01b0319161461039d5760405162461bcd60e51b815260206004820152601060248201526f34b73b30b634b21039b2b632b1ba37b960811b604482015260640161024d565b6000806103ad8460048188611134565b8101906103ba91906111fd565b5092505091503481146104045760405162461bcd60e51b81526020600482015260126024820152710dae6ce5cecc2d8eaca40dad2e6dac2e8c6d60731b604482015260640161024d565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610451576040519150601f19603f3d011682016040523d82523d6000602084013e610456565b606091505b505090508061049d5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640161024d565b826001600160a01b03167f289360176646a5f99cb4b6300628426dca46b723f40db3c04449d6ed1745a0e7836040516104d891815260200190565b60405180910390a25050506104ec60018055565b505050565b6104f9610a6d565b6105036000610ac7565b565b6099546001600160a01b031633811461055a5760405162461bcd60e51b81526020600482015260176024820152761bdb9b1e481b595cdcd95b99d95c8818d85b8818d85b1b604a1b604482015260640161024d565b806001600160a01b0316636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa158015610598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bc9190611117565b6097546001600160a01b039081169116146106195760405162461bcd60e51b815260206004820152601860248201527f6f6e6c792063616c6c20627920636f756e746572706172740000000000000000604482015260640161024d565b610621610a0e565b8334146106655760405162461bcd60e51b81526020600482015260126024820152710dae6ce5cecc2d8eaca40dad2e6dac2e8c6d60731b604482015260640161024d565b6000856001600160a01b03168560405160006040518083038185875af1925050503d80600081146106b2576040519150601f19603f3d011682016040523d82523d6000602084013e6106b7565b606091505b50509050806106fe5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b604482015260640161024d565b61073e8685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1992505050565b856001600160a01b0316876001600160a01b03167f96db5d1cee1dd2760826bb56fabd9c9f6e978083e0a8b88559c741a29e9746e7878787604051610785939291906112ac565b60405180910390a35061079760018055565b505050505050565b6107d8338360005b6040519080825280601f01601f1916602001820160405280156107d1576020820181803683370190505b5084610b93565b5050565b61081f858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250610b93915050565b5050505050565b600054610100900460ff16158080156108465750600054600160ff909116105b806108605750303b158015610860575060005460ff166001145b6108c35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161024d565b6000805460ff1916600117905580156108e6576000805461ff0019166101001790555b6001600160a01b0383166109325760405162461bcd60e51b81526020600482015260136024820152727a65726f20726f75746572206164647265737360681b604482015260640161024d565b61093d848484610d19565b8015610983576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6104ec838360006107a7565b61099d610a6d565b6001600160a01b038116610a025760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161024d565b610a0b81610ac7565b50565b600260015403610a605760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161024d565b6002600155565b60018055565b6065546001600160a01b031633146105035760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161024d565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008151118015610b3457506000826001600160a01b03163b115b156107d85760405163109b953160e01b81526001600160a01b0383169063109b953190610b65908490600401611332565b600060405180830381600087803b158015610b7f57600080fd5b505af1158015610797573d6000803e3d6000fd5b610b9b610a0e565b60008311610bde5760405162461bcd60e51b815260206004820152601060248201526f0c8cae0dee6d2e840f4cae4de40cae8d60831b604482015260640161024d565b60985433906001600160a01b0316819003610c0c5782806020019051810190610c079190611345565b935090505b600081868686604051602401610c2594939291906113d2565b60408051601f198184030181529181526020820180516001600160e01b0316630465d0e960e31b1790526099546097549151635f7b157760e01b81529293506001600160a01b0390811692635f7b1577923492610c8f929116908a9087908a908a9060040161140f565b6000604051808303818588803b158015610ca857600080fd5b505af1158015610cbc573d6000803e3d6000fd5b5050505050856001600160a01b0316826001600160a01b03167f6670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a6758787604051610d06929190611451565b60405180910390a3505061098360018055565b6001600160a01b038316610d6f5760405162461bcd60e51b815260206004820152601860248201527f7a65726f20636f756e7465727061727420616464726573730000000000000000604482015260640161024d565b6001600160a01b038116610dbe5760405162461bcd60e51b81526020600482015260166024820152757a65726f206d657373656e676572206164647265737360501b604482015260640161024d565b610dc6610e25565b610dce610e54565b609780546001600160a01b038086166001600160a01b0319928316179092556099805484841692169190911790558216156104ec57609880546001600160a01b0384166001600160a01b0319909116179055505050565b600054610100900460ff16610e4c5760405162461bcd60e51b815260040161024d90611472565b610503610e83565b600054610100900460ff16610e7b5760405162461bcd60e51b815260040161024d90611472565b610503610eaa565b600054610100900460ff16610a675760405162461bcd60e51b815260040161024d90611472565b600054610100900460ff16610ed15760405162461bcd60e51b815260040161024d90611472565b61050333610ac7565b60008083601f840112610eec57600080fd5b50813567ffffffffffffffff811115610f0457600080fd5b602083019150836020828501011115610f1c57600080fd5b9250929050565b60008060208385031215610f3657600080fd5b823567ffffffffffffffff811115610f4d57600080fd5b610f5985828601610eda565b90969095509350505050565b6001600160a01b0381168114610a0b57600080fd5b600080600080600060808688031215610f9257600080fd5b8535610f9d81610f65565b94506020860135610fad81610f65565b935060408601359250606086013567ffffffffffffffff811115610fd057600080fd5b610fdc88828901610eda565b969995985093965092949392505050565b6000806040838503121561100057600080fd5b50508035926020909101359150565b60008060008060006080868803121561102757600080fd5b853561103281610f65565b945060208601359350604086013567ffffffffffffffff81111561105557600080fd5b61106188828901610eda565b96999598509660600135949350505050565b60008060006060848603121561108857600080fd5b833561109381610f65565b925060208401356110a381610f65565b915060408401356110b381610f65565b809150509250925092565b6000806000606084860312156110d357600080fd5b83356110de81610f65565b95602085013595506040909401359392505050565b60006020828403121561110557600080fd5b813561111081610f65565b9392505050565b60006020828403121561112957600080fd5b815161111081610f65565b6000808585111561114457600080fd5b8386111561115157600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156111865780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156111cd576111cd61118e565b604052919050565b600067ffffffffffffffff8211156111ef576111ef61118e565b50601f01601f191660200190565b6000806000806080858703121561121357600080fd5b843561121e81610f65565b9350602085013561122e81610f65565b925060408501359150606085013567ffffffffffffffff81111561125157600080fd5b8501601f8101871361126257600080fd5b8035611275611270826111d5565b6111a4565b81815288602083850101111561128a57600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b83815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b60005b838110156112fd5781810151838201526020016112e5565b50506000910152565b6000815180845261131e8160208601602086016112e2565b601f01601f19169290920160200192915050565b6020815260006111106020830184611306565b6000806040838503121561135857600080fd5b825161136381610f65565b602084015190925067ffffffffffffffff81111561138057600080fd5b8301601f8101851361139157600080fd5b805161139f611270826111d5565b8181528660208385010111156113b457600080fd5b6113c58260208301602086016112e2565b8093505050509250929050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061140590830184611306565b9695505050505050565b600060018060a01b03808816835286602084015260a0604084015261143760a0840187611306565b606084019590955292909216608090910152509392505050565b82815260406020820152600061146a6040830184611306565b949350505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220f310fc2986695769222ada97a097bc66df7799b18b1a62d8b7f5ce0033cfd3c864736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d025bef676d86863de77e5358b3686dcae6d5c938292938748ba67ed60e07011914f305581d029e1f1d250f6a14a16d7d322891538132ff627d985bfbb03db825807b0c0847602c0c9b91b43002188805581e031937532dd871dfa9adb8cddf31629ca0ec129e0d53766502cb545e0f200c0347388c77c1592db205581e033e123976538c4cde78725cbe9e8bd871d19f1b61bf43ca536336d3df900c014607adbe74817805581e038bea6559ff697b240e7339828cb93a64e288ad34ab403241d544db2530040203bbc00de2a0c8f09f67a4d4a39bfe54126158f16d54cc83f6d7ce2addea30040705581e0310f37e473747c2f4ee58bcf4a220f0e3d6f2bc5d62db2c6ffdcf576f500c014628ed6103d00003242f7c81f5862e5c4319c7041334bb9467ae4eb034adfeed28288069c43beeef0219fc8903aa61d8e0c7c2a7910f5d0b75aa7b87e2bd0711a0ca3766ea7d4ebef2992f9ed003b9e3d0cee1ea750781926f9b2f89441dd8d45d646e0f785e204d417e8adc32a6031e81a22c6e18b0fd3b0a347dcc90a6b10607ec84a49b52e13fd98dffec0d3e4403b9b05fa75606a37cfb3c9e954a85c2540336e58c051d8c96590b73b283ea6ba303bcef27fd319fabf080a085b57aa929761d3a530db1fc510986182b4024cf94080219ffff03892c04d6d49de72903b84338f7a49ec549bce541232f7c657a7ef4ea31b7f059030c61e5c1955ca971f632617fcca7a7128d5ed198fdfec377793d98e62b3815e30219ffff03a6e0d327a0db7127f67786f6453dc0e76651043343b8604f557879eac2c70a0503d7b451b024b327f571ba5398cce84af90741e5b485ad8fc41c18aced75a4ca6d03959ca02c96647833dbf71fef1da24f5141b8f7b84ee6f54497a1f23d3cd384b0032c0b4721b0712a449f6f7e21175b600c2958c48be7501df8e290554a8974a7140219ffff038107d788588ed6878f2b3b910cef913533cc946e0fbd1438acf0d996e2ea752703869d4e940c2ad5e9bcb6a6a3c889da93ba6c189ce2bf00a77a9e69e6144c2f0c032425c1fc6e595d6b0f645accc4c21083cfefd1a9efdd87172767bc5ee6f59e2303f6720b9a35ab2688ea15cb8d7f02b6e1c19e2f8b9b731dd4260dafc291e0bddd03cdf2f8cc3905022ee83c38aad4d4647dd1be7c49f98d71a26db66f2a426a284403493b52030af78f050984c35467cb55da9d662df99e7a9bcc65beef8a9c12c6c003562de812d11cfc444183443f56aea6b4fe492d125cba9ea937f71051db83fc5e031170d15fab26800a0f80a42b1b294d9ed67dea77ae383f7f7eb2e07cd3ced8ab0306d657a9f9220226f71ffb6a98e68431e579f13fabbfa188fd338baf6a97744e03eb55b743943f869a548326d8486b65e3b12f872b9213963e92eddfd584d07d2603280f6396e7ec09b649999eb7b90fbb9850ec85203eff2662dee6ac05345b1fc5031844f0aba7445f99b4bc8147f88fe15ddae93f80a4ad3a688fb25e0c2b6579a5035c9cbf9868fee5206745c5212b72847bd4b8b25353915eef1c2fb65728e83d5c03834207f11ed3a7efefebd813b5ea1fdfde444b778a8102d6f7986877e5429ad10358b3a075ec106ad2d29ab124999dd9d023884208764aa937b7b20bccfd2685c1034f26b135f63b685b73a65fbf22c13c741f5a41baaf34d9ade497444a8fd5bf9603003435c60247f1eca0f057a3b6af3e8328bd93ec58421e7b6e4f91a5a170701c031d71a19ba847a622a0ebb1a583bf49a32dfda5bea2c51b349427334352acf7c9039d553590ef4f7e4363d39873195395593f05490cdc8fda36fe37ea0ddbaf1c1e03351df946443175e8d854ef1fd14f29b06fa6935bf230f291dc62e816f28f2ad9036e3c26a5f4abd8bbcbc608b4a9902aefb950099c3de921184c86884c7e8f191c03097088e6d752c0fd5220e48d8506139514e2c598ddf9c3c83ee41242acd61992034edfe3e3553cc0e71657c7d4f24a7c966031821e48f2078d53b4df0d02b9eda903345c9ee330f0034c2ed8ba2beec8ea559cf5e2ab11f0af7c08f41fd8b1ef29d503638e3b1046c42f855b4091861ef74dcb9bf19baec21aebcd623b15abd141969e039a59c23b6538eb749f568fe884a86ce98d5cbf876d628b0469d0612cf73ff1c20316df6e0790b73cc26917d0019efced7094affeaf632c7adf75a82a537b5e2f8803a72e7a71614e31e740afe0eb0fcc80d09b7e6791ffb56e29bebba3f9a68fb5a9034bef21f9e794f490c6b32ebdca539e7c6304b241f4632adc77f1ce60063458ec0605581e03a00624792783d56eeebe0d96aee377a9f66ca2a32ecbbef3f9e1c8287007011bffffffffffffffff05581e03a3be5e46f1e63c4853a7a0c2ddb8d7726d5dfd07b16254952f2e3833b00c02460143de0f960004593266608060405234801561001057600080fd5b50600436106101375760003560e01c80637738034c116100b8578063b1b1b2091161007c578063b1b1b20914610255578063c4d66de814610278578063c6b94ab01461028b578063cba4c652146102ae578063d9ce1901146102c1578063f2fde38b146102d457600080fd5b80637738034c1461021057806381ada46c146102185780638456cb591461022b5780638da5cb5b146102335780638ec6a68a1461024457600080fd5b8063461a4478116100ff578063461a4478146101cf5780635c975abb146101e25780636e296e45146101ed5780636f1c8d47146101f5578063715018a61461020857600080fd5b80630ecf2eea1461013c57806321d800ec14610151578063299ca478146101895780633dbb202b146101b45780633f4ba83a146101c7575b600080fd5b61014f61014a3660046127c9565b6102e7565b005b61017461015f3660046127c9565b60ca6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b60005461019c906001600160a01b031681565b6040516001600160a01b039091168152602001610180565b61014f6101c2366004612939565b610332565b61014f61045c565b61019c6101dd366004612998565b61046e565b60655460ff16610174565b61019c6104f5565b61014f6102033660046129e8565b61056a565b61014f610704565b61014f610716565b61014f6102263660046127c9565b610778565b61014f6107c0565b6033546001600160a01b031661019c565b60cd546001600160a01b031661019c565b6101746102633660046127c9565b60cb6020526000908152604090205460ff1681565b61014f610286366004612a73565b6107c8565b6101746102993660046127c9565b60c96020526000908152604090205460ff1681565b61014f6102bc366004612a73565b6109a4565b61014f6102cf366004612be1565b6109ce565b61014f6102e2366004612a73565b610daa565b6102ef610e23565b600081815260c96020526040808220805460ff191660011790555182917ff52508d5339edf0d7e5060a416df98db067af561bdc60872d29c0439eaa13a0291a250565b600061036e6040518060400160405280601981526020017821b0b737b734b1b0b62a3930b739b0b1ba34b7b721b430b4b760391b81525061046e565b90506000816001600160a01b031663b8f770056040518163ffffffff1660e01b815260040160206040518083038186803b1580156103ab57600080fd5b505afa1580156103bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e39190612d2e565b905060006103fa8633878564ffffffffff16610e7d565b905061040d83828663ffffffff16610eca565b856001600160a01b03167fcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a3387858860405161044c9493929190612da5565b60405180910390a2505050505050565b610464610e23565b61046c610f38565b565b6000805460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061049f908590600401612ded565b60206040518083038186803b1580156104b757600080fd5b505afa1580156104cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ef9190612e00565b92915050565b60cc546000906001600160a01b031661dead141561055a5760405162461bcd60e51b815260206004820152601f60248201527f78446f6d61696e4d65737361676553656e646572206973206e6f74207365740060448201526064015b60405180910390fd5b5060cc546001600160a01b031690565b60006105a66040518060400160405280601981526020017821b0b737b734b1b0b62a3930b739b0b1ba34b7b721b430b4b760391b81525061046e565b60405163153f8c5f60e11b8152600481018690529091506000906001600160a01b03831690632a7f18be9060240160606040518083038186803b1580156105ec57600080fd5b505afa158015610600573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106249190612e1d565b9050600061063489898989610e7d565b9050600073111100000000000000000000000000000000111130016007602160991b01878460405160200161066c9493929190612e81565b604051602081830303815290604052805190602001209050826000015181146106e75760405162461bcd60e51b815260206004820152602760248201527f50726f7669646564206d65737361676520686173206e6f74206265656e20656e60448201526638bab2bab2b21760c91b6064820152608401610551565b6106f884838763ffffffff16610eca565b50505050505050505050565b61070c610e23565b61046c6000610f8a565b60cd546001600160a01b031633146107705760405162461bcd60e51b815260206004820181905260248201527f6d73672e73656e6465722073686f756c652062652070617573656f776e65722e6044820152606401610551565b61046c610fdc565b610780610e23565b600081815260c96020526040808220805460ff191690555182917f52c8a2680a9f4cc0ad0bf88f32096eadbebf0646ea611d93a0ce6a29a024040591a250565b610770610e23565b600054600160a81b900460ff16158080156107f057506000546001600160a01b90910460ff16105b806108115750303b1580156108115750600054600160a01b900460ff166001145b6108745760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610551565b6000805460ff60a01b1916600160a01b17905580156108a1576000805460ff60a81b1916600160a81b1790555b6000546001600160a01b03161561090d5760405162461bcd60e51b815260206004820152602a60248201527f4c3143726f7373446f6d61696e4d657373656e67657220616c72656164792069604482015269373a34b0b634bd32b21760b11b6064820152608401610551565b600080546001600160a01b0384166001600160a01b03199182161790915560cc805490911661dead179055610940611019565b610948611042565b610950611074565b6109586110a9565b80156109a0576000805460ff60a81b19169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6109ac610e23565b60cd80546001600160a01b0319166001600160a01b0392909216919091179055565b60026097541415610a215760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610551565b6002609755610a2e6110d9565b6000610a3c86868686610e7d565b9050610a48818361111f565b1515600114610aa95760405162461bcd60e51b815260206004820152602760248201527f50726f7669646564206d65737361676520636f756c64206e6f742062652076656044820152663934b334b2b21760c91b6064820152608401610551565b8051602080830191909120600081815260cb90925260409091205460ff1615610b285760405162461bcd60e51b815260206004820152602b60248201527f50726f7669646564206d6573736167652068617320616c72656164792062656560448201526a37103932b1b2b4bb32b21760a91b6064820152608401610551565b600081815260c9602052604090205460ff1615610b925760405162461bcd60e51b815260206004820152602260248201527f50726f7669646564206d65737361676520686173206265656e20626c6f636b65604482015261321760f11b6064820152608401610551565b610bcc6040518060400160405280601981526020017821b0b737b734b1b0b62a3930b739b0b1ba34b7b721b430b4b760391b81525061046e565b6001600160a01b0316876001600160a01b03161415610c495760405162461bcd60e51b815260206004820152603360248201527f43616e6e6f742073656e64204c322d3e4c31206d6573736167657320746f204c604482015272189039bcb9ba32b69031b7b73a3930b1ba399760691b6064820152608401610551565b60cc80546001600160a01b0319166001600160a01b0388811691909117909155604051600091891690610c7d908890612eb9565b6000604051808303816000865af19150503d8060008114610cba576040519150601f19603f3d011682016040523d82523d6000602084013e610cbf565b606091505b505060cc80546001600160a01b03191661dead179055905080151560011415610d2757600082815260cb6020526040808220805460ff191660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a2610d53565b60405182907f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f90600090a25b6000833343604051602001610d6a93929190612ed5565b60408051601f198184030181529181528151602092830120600090815260ca9092529020805460ff19166001908117909155609755505050505050505050565b610db2610e23565b6001600160a01b038116610e175760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610551565b610e2081610f8a565b50565b6033546001600160a01b0316331461046c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610551565b606084848484604051602401610e969493929190612f14565b60408051601f198184030181529190526020810180516001600160e01b031663cbd4ece960e01b1790529050949350505050565b60405163037f703f60e51b81526001600160a01b03841690636fee07e090610f01906007602160991b019085908790600401612f51565b600060405180830381600087803b158015610f1b57600080fd5b505af1158015610f2f573d6000803e3d6000fd5b50505050505050565b610f40611142565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610fe46110d9565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f6d3390565b600054600160a81b900460ff1661046c5760405162461bcd60e51b815260040161055190612f78565b600054600160a81b900460ff1661106b5760405162461bcd60e51b815260040161055190612f78565b61046c33610f8a565b600054600160a81b900460ff1661109d5760405162461bcd60e51b815260040161055190612f78565b6065805460ff19169055565b600054600160a81b900460ff166110d25760405162461bcd60e51b815260040161055190612f78565b6001609755565b60655460ff161561046c5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610551565b600061112a8261118b565b801561113b575061113b83836112d8565b9392505050565b60655460ff1661046c5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610551565b6000806111c36040518060400160405280601481526020017329ba30ba32a1b7b6b6b4ba36b2b73a21b430b4b760611b81525061046e565b602084015160405163011343b360e71b81529192506001600160a01b038316916389a1d980916111f591600401613019565b60206040518083038186803b15801561120d57600080fd5b505afa158015611221573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611245919061302c565b15801561113b575082516020840151604080860151905163b768bb1760e01b81526001600160a01b0385169363b768bb179361128893919290919060040161304e565b60206040518083038186803b1580156112a057600080fd5b505afa1580156112b4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113b919061302c565b600080836007602160991b016040516020016112f59291906130c6565b60408051601f1981840301815282825280516020918201209083015260009082015260600160408051601f19818403018152908290528051602091820120602160f91b91830191909152915060009081906113699060340160408051601f1981840301815291905260608701518751611467565b90925090506001821515146113fc5760405162461bcd60e51b815260206004820152604d60248201527f4d6573736167652070617373696e67207072656465706c6f7920686173206e6f60448201527f74206265656e20696e697469616c697a6564206f7220696e76616c696420707260648201526c37b7b310383937bb34b232b21760991b608482015260a401610551565b600061140782611490565b905061145c8460405160200161141f91815260200190565b60408051601f1981840301815290829052600160f81b60208301529060210160405160208183030381529060405288608001518460400151611554565b979650505050505050565b60006060600061147686611578565b90506114838186866115aa565b9250925050935093915050565b6040805160808101825260008082526020820181905291810182905260608101829052906114bd83611685565b905060405180608001604052806114ed836000815181106114e0576114e06130fd565b60200260200101516116b8565b8152602001611508836001815181106114e0576114e06130fd565b815260200161153083600281518110611523576115236130fd565b60200260200101516116bf565b815260200161154b83600381518110611523576115236130fd565b90529392505050565b60008061156086611578565b905061156e818686866117c1565b9695505050505050565b6060818051906020012060405160200161159491815260200190565b6040516020818303038152906040529050919050565b6000606060006115b9856117f7565b905060008060006115cb848a896118f1565b815192955090935091501580806115df5750815b61162b5760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e0000000000006044820152606401610551565b6000816116475760405180602001604052806000815250611673565b61167386611656600188613129565b81518110611666576116666130fd565b6020026020010151611d15565b919b919a509098505050505050505050565b6040805180820182526000808252602091820152815180830190925282518252808301908201526060906104ef90611d3f565b60006104ef825b60006021826000015111156117165760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610551565b600080600061172485611f2b565b91945092509050600081600181111561173f5761173f613140565b1461178c5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420524c5020627974657333322076616c75652e0000000000006044820152606401610551565b600083866020015161179e9190613156565b8051909150602084101561156e5760208490036101000a90049695505050505050565b60008060006117d18786866115aa565b9150915081801561145c575080516020808301919091208751918801919091201461145c565b6060600061180483611685565b9050600081516001600160401b03811115611821576118216127f7565b60405190808252806020026020018201604052801561186657816020015b604080518082019091526060808252602082015281526020019060019003908161183f5790505b50905060005b82518110156118e957600061189984838151811061188c5761188c6130fd565b6020026020010151612275565b905060405180604001604052808281526020016118b583611685565b8152508383815181106118ca576118ca6130fd565b60200260200101819052505080806118e19061316e565b91505061186c565b509392505050565b6000606081808061190187612305565b90506000869050600080611928604051806040016040528060608152602001606081525090565b60005b8c51811015611ced578c8181518110611946576119466130fd565b60200260200101519150828461195c9190613156565b9350611969600188613156565b9650836119c1578151805160209091012085146119bc5760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b6044820152606401610551565b611a7e565b815151602011611a23578151805160209091012085146119bc5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c206861736800000000006044820152606401610551565b84611a31836000015161243f565b14611a7e5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f646520686173680000000000006044820152606401610551565b611a8a60106001613156565b8260200151511415611b03578551841415611aa457611ced565b6000868581518110611ab857611ab86130fd565b602001015160f81c60f81b60f81c9050600083602001518260ff1681518110611ae357611ae36130fd565b60200260200101519050611af681612467565b9650600194505050611cdb565b60028260200151511415611c93576000611b1c8361249d565b9050600081600081518110611b3357611b336130fd565b016020015160f81c90506000611b4a60028361319f565b611b559060026131c1565b90506000611b66848360ff166124c1565b90506000611b748b8a6124c1565b90506000611b8283836124f7565b905060ff851660021480611b99575060ff85166003145b15611bd357808351148015611bae5750808251145b15611bc057611bbd818b613156565b99505b50600160ff1b9950611ced945050505050565b60ff85161580611be6575060ff85166001145b15611c3c5782518114611c065750600160ff1b9950611ced945050505050565b611c2d8860200151600181518110611c2057611c206130fd565b6020026020010151612467565b9a509750611cdb945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b6064820152608401610551565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e0000006044820152606401610551565b80611ce58161316e565b91505061192b565b50600160ff1b841486611d0087866124c1565b909e909d50909b509950505050505050505050565b602081015180516060916104ef91611d2f90600190613129565b8151811061188c5761188c6130fd565b6060600080611d4d84611f2b565b91935090915060019050816001811115611d6957611d69613140565b14611db65760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c50206c6973742076616c75652e0000000000000000006044820152606401610551565b6040805160208082526104208201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081611dcf5790505090506000835b8651811015611f205760208210611e685760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b6064820152608401610551565b600080611ea56040518060400160405280858c60000151611e899190613129565b8152602001858c60200151611e9e9190613156565b9052611f2b565b509150915060405180604001604052808383611ec19190613156565b8152602001848b60200151611ed69190613156565b815250858581518110611eeb57611eeb6130fd565b6020908102919091010152611f01600185613156565b9350611f0d8183613156565b611f179084613156565b92505050611dfc565b508152949350505050565b600080600080846000015111611f835760405162461bcd60e51b815260206004820152601860248201527f524c50206974656d2063616e6e6f74206265206e756c6c2e00000000000000006044820152606401610551565b6020840151805160001a607f8111611fa857600060016000945094509450505061226e565b60b78111612024576000611fbd608083613129565b9050808760000151116120125760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420524c502073686f727420737472696e672e000000000000006044820152606401610551565b6001955093506000925061226e915050565b60bf811161211357600061203960b783613129565b90508087600001511161208e5760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e006044820152606401610551565b600183015160208290036101000a90046120a88183613156565b8851116120f75760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c50206c6f6e6720737472696e672e00000000000000006044820152606401610551565b612102826001613156565b965094506000935061226e92505050565b60f7811161218e57600061212860c083613129565b90508087600001511161217d5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420524c502073686f7274206c6973742e0000000000000000006044820152606401610551565b60019550935084925061226e915050565b600061219b60f783613129565b9050808760000151116121f05760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e0000006044820152606401610551565b600183015160208290036101000a900461220a8183613156565b8851116122525760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b6044820152606401610551565b61225d826001613156565b965094506001935061226e92505050565b9193909250565b6060600080600061228585611f2b565b9194509250905060008160018111156122a0576122a0613140565b146122ed5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420524c502062797465732076616c75652e00000000000000006044820152606401610551565b6122fc85602001518484612573565b95945050505050565b606060008251600261231791906131e4565b6001600160401b0381111561232e5761232e6127f7565b6040519080825280601f01601f191660200182016040528015612358576020820181803683370190505b50905060005b835181101561243857600484828151811061237b5761237b6130fd565b01602001516001600160f81b031916901c826123988360026131e4565b815181106123a8576123a86130fd565b60200101906001600160f81b031916908160001a90535060108482815181106123d3576123d36130fd565b01602001516123e5919060f81c61319f565b60f81b826123f48360026131e4565b6123ff906001613156565b8151811061240f5761240f6130fd565b60200101906001600160f81b031916908160001a905350806124308161316e565b91505061235e565b5092915050565b600060208251101561245357506020015190565b818060200190518101906104ef9190613203565b600060606020836000015110156124885761248183612651565b9050612494565b61249183612275565b90505b61113b8161243f565b60606104ef6124bc836020015160008151811061188c5761188c6130fd565b612305565b6060825182106124e057506040805160208101909152600081526104ef565b61113b83838486516124f29190613129565b61265c565b6000805b80845111801561250b5750808351115b801561255c5750828181518110612524576125246130fd565b602001015160f81c60f81b6001600160f81b03191684828151811061254b5761254b6130fd565b01602001516001600160f81b031916145b1561113b578061256b8161316e565b9150506124fb565b60606000826001600160401b0381111561258f5761258f6127f7565b6040519080825280601f01601f1916602001820160405280156125b9576020820181803683370190505b5090508051600014156125cd57905061113b565b60006125d98587613156565b90506020820160005b6125ed60208761321c565b8110156126245782518252612603602084613156565b9250612610602083613156565b91508061261c8161316e565b9150506125e2565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b60606104ef826127b3565b60608161266a81601f613156565b10156126a95760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610551565b826126b48382613156565b10156126f35760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610551565b6126fd8284613156565b845110156127415760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610551565b60608215801561276057604051915060008252602082016040526127aa565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015612799578051835260209283019201612781565b5050858452601f01601f1916604052505b50949350505050565b60606104ef826020015160008460000151612573565b6000602082840312156127db57600080fd5b5035919050565b6001600160a01b0381168114610e2057600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b038111828210171561282f5761282f6127f7565b60405290565b604080519081016001600160401b038111828210171561282f5761282f6127f7565b60405160a081016001600160401b038111828210171561282f5761282f6127f7565b604051601f8201601f191681016001600160401b03811182821017156128a1576128a16127f7565b604052919050565b60006001600160401b038311156128c2576128c26127f7565b6128d5601f8401601f1916602001612879565b90508281528383830111156128e957600080fd5b828260208301376000602084830101529392505050565b600082601f83011261291157600080fd5b61113b838335602085016128a9565b803563ffffffff8116811461293457600080fd5b919050565b60008060006060848603121561294e57600080fd5b8335612959816127e2565b925060208401356001600160401b0381111561297457600080fd5b61298086828701612900565b92505061298f60408501612920565b90509250925092565b6000602082840312156129aa57600080fd5b81356001600160401b038111156129c057600080fd5b8201601f810184136129d157600080fd5b6129e0848235602084016128a9565b949350505050565b60008060008060008060c08789031215612a0157600080fd5b8635612a0c816127e2565b95506020870135612a1c816127e2565b945060408701356001600160401b03811115612a3757600080fd5b612a4389828a01612900565b94505060608701359250612a5960808801612920565b9150612a6760a08801612920565b90509295509295509295565b600060208284031215612a8557600080fd5b813561113b816127e2565b600060c08284031215612aa257600080fd5b612aaa61280d565b90508135815260208201356020820152604082013560408201526060820135606082015260808201356001600160401b0380821115612ae857600080fd5b612af485838601612900565b608084015260a0840135915080821115612b0d57600080fd5b50612b1a84828501612900565b60a08301525092915050565b600060408284031215612b3857600080fd5b612b40612835565b9050813581526020808301356001600160401b0380821115612b6157600080fd5b818501915085601f830112612b7557600080fd5b813581811115612b8757612b876127f7565b8060051b9150612b98848301612879565b8181529183018401918481019088841115612bb257600080fd5b938501935b83851015612bd057843582529385019390850190612bb7565b808688015250505050505092915050565b600080600080600060a08688031215612bf957600080fd5b8535612c04816127e2565b94506020860135612c14816127e2565b935060408601356001600160401b0380821115612c3057600080fd5b612c3c89838a01612900565b9450606088013593506080880135915080821115612c5957600080fd5b9087019060a0828a031215612c6d57600080fd5b612c75612857565b82358152602083013582811115612c8b57600080fd5b612c978b828601612a90565b602083015250604083013582811115612caf57600080fd5b612cbb8b828601612b26565b604083015250606083013582811115612cd357600080fd5b612cdf8b828601612900565b606083015250608083013582811115612cf757600080fd5b612d038b828601612900565b6080830152508093505050509295509295909350565b805164ffffffffff8116811461293457600080fd5b600060208284031215612d4057600080fd5b61113b82612d19565b60005b83811015612d64578181015183820152602001612d4c565b83811115612d73576000848401525b50505050565b60008151808452612d91816020860160208601612d49565b601f01601f19169290920160200192915050565b6001600160a01b0385168152608060208201819052600090612dc990830186612d79565b905064ffffffffff8416604083015263ffffffff8316606083015295945050505050565b60208152600061113b6020830184612d79565b600060208284031215612e1257600080fd5b815161113b816127e2565b600060608284031215612e2f57600080fd5b604051606081018181106001600160401b0382111715612e5157612e516127f7565b60405282518152612e6460208401612d19565b6020820152612e7560408401612d19565b60408201529392505050565b6001600160a01b0385811682528416602082015263ffffffff8316604082015260806060820181905260009061156e90830184612d79565b60008251612ecb818460208701612d49565b9190910192915050565b60008451612ee7818460208901612d49565b60609490941b6bffffffffffffffffffffffff191691909301908152601481019190915260340192915050565b6001600160a01b03858116825284166020820152608060408201819052600090612f4090830185612d79565b905082606083015295945050505050565b60018060a01b03841681528260208201526060604082015260006122fc6060830184612d79565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b805182526020810151602083015260408101516040830152606081015160608301526000608082015160c0608085015261300060c0850182612d79565b905060a083015184820360a08601526122fc8282612d79565b60208152600061113b6020830184612fc3565b60006020828403121561303e57600080fd5b8151801515811461113b57600080fd5b838152600060206060818401526130686060840186612fc3565b83810360408501526040810185518252828601516040848401528181518084526060850191508583019450600093505b808410156130b85784518252938501936001939093019290850190613098565b509998505050505050505050565b600083516130d8818460208801612d49565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60008282101561313b5761313b613113565b500390565b634e487b7160e01b600052602160045260246000fd5b6000821982111561316957613169613113565b500190565b600060001982141561318257613182613113565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600060ff8316806131b2576131b2613189565b8060ff84160691505092915050565b600060ff821660ff8416808210156131db576131db613113565b90039392505050565b60008160001904831182151516156131fe576131fe613113565b500290565b60006020828403121561321557600080fd5b5051919050565b60008261322b5761322b613189565b50049056fea264697066735822122063c7024ca7ded8cdabced3c0d4897e94132ae114a75718c668aa1bf77465918864736f6c634300080900330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563055016968f3f16c3e64003f02e121cf0d5ccbf5625a420058210354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff904101005821037197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe042dead038294c345ae616827d2e80a06f3d9409ecc461252035a6a0d7c41600f46ad06cc0219011c05581d025353f831dc6a25b89b855cd82bd89f57f59827788fde78ce3dbbff990701193266031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d0249e4765e00a6d1e982e71af3ff3007f47e7e28ab8ac17e843141547707011bffffffffffffffff0219010105581e03aeca9bb892d4b164e60349621289784c65243b0379dcefb9d781b22740084723a1038ff58cc2034639213ac696a328b53becad0adf20981f36c46e406d9c85d68afb8f46ab5a4f0605581e0302a4edd7a6c684db6f2ed4fae698e22e6ae4d5d5284587518fd0c66d0007011bffffffffffffffff05581e034f50baff1f5b5f0a8d32462c36ae1d14e8e043accf106e311bcc8b33500c0145bc97c3240005581e033a9ed44f7e46711ad4d7639d5a4d8e4debd89ba90e9e2e4f2b08a2d6000c014703f7ed2a5d5af805581e036f9016a6c532b8d1741de22af177fab3086896603cc93e1fbb2f25fff00c02470404a4280e0e0005581e036dea2b4a52756a9c7bd05d6b9c91d7379204a2cef78e2816c9da7bcac00c134702dd5cff138594021985dd0354eb951a29af32058e5ef951bf093b28bda790ca3a046f2485f29f5f41ac7c3b031305474de95325fc428868e907f63a4d6b0a0065e132e4b3383408c9c3dec62303edfcc3f124083bb62fc7f34b7a3aa6dee99e55ecfb3ec06f5b8e68cd0171826603746b07fa4dd409f1ccbb2d8a0b8b4c64cfe51ae195720b4c1f92a52fe0e3bce20219ffff030828009497c71bd8187747a5da601907ffc698521475bcb2730f8e4b8b69bcce03bbee6b5cb024fead93b9aec51d034ea134e74526ff4afb3181b2a4a25d0481850360d54924ede748be6a7f728bf0f7430a5ddf3b0c417e6caf804d3356dfd4aea90345a3f6fd413a1e57ef425d3facb761b996876937990a992884eba1391c6ef878036522226a2286602b59796fd49e77e6dd31cc714ea871992932abaf4248a1d0980219ffff03932ca8e116dcf678c642c772ec8c8f950a9c1c48d8f1133776685d7f02125c350336bff16b9c7efe3b1c8418efe3386f971d23c7c996306fbf27f62f142063598203ff869ff88349d5c0dcd3d769915bcbfc63ed43c545b2ffde28d7fce5ce5ecfb503c495254fd4ac87582dc123b4e8226f848a17ac534b0aa33e88743b861914bbc703039dc6509042d56de809a38a3fac57cde9cd5ab113fbfef5d03cd3080460fd5a03f5e8b28740f6bccd70805e54566eb537bec86f018b8705e686a6a7561d53553703e46a0884d66254903aa6e7765c0ef22b589d263da25285638cc4f448d29d730203871c04c9b239374fef9b2fc24c59e54ae891cd0c7a8c1576b1666dd1537e6cfe0219ffff03490d489c68c9407da05e77abd400946e2d68d133c9ea02ccee015b26a73b3aac03f8ae45ed2290e1fb2e321701a0a8c9ce86e331fddf7570db08dc8f844cb9473d03d43909ecbec350e8778025539ccfefa9c8801bdd80710ef9e17354151ae78f2b03352e7e1425f85e60b8a344251129cc8ddfab282fd16b31b4c1753a35a7a881c30219ffff036872b09f297d9ea28b1becf99651196f3d399742b2bae811455ce3f949aa9826037215f76f136a4da73870004e62f729651a348f3702a14ccd517c59d6f9ad68c0039134b7a404add331039befda97079a808de292583bdae294c15b186e5cc0e0ec039afa8da8edf2c76bc9a8563051a5741edf97f29489e3241377c0aa7047ca0b1303f515d7e4f20c4bec328b24c9b4992196276431068e006eadc0a3a208c956b178034508a36b4ed8ca6ebf74576439089516b66385d98867585d497d2d9fc4cc13bd03cc75e6aeab68633cbcbc7036aaac343a25c4b7938acf04b7ad7c5815cedca17603bd9501f42e9fc198c8c89c8fbb9cbd3bfb63bb57caddf331cbcfcbe986ed7e9a03e83fc1ab819ba8445cab086c46f9cd6408368a2cf4f446e4b8c8b5ee3ec3213a03f48a73085a959045f74bcb73fb35c1cbc09f6b364bd23124a99b3584b77898f103b769ef0da3b09bbca2572d6bbb80fd445c35933a7bd28be6e5c2344bb9017969033c4163051a20bd584759d69767a3cd5b3b1da79d97cea9cc712ea44786413446034f4289c2cbb2fd4cb1141a6f723775132b852d0a9f7d86a48d58bf7696b46da8036249166c62d6240a446db420ee926a64640d4aeaf42e6a1c1104275cfa26bdf3032600e38d2ec74d0cc7766b1c1ef25386824af9496a88a1ccae2361180c4a1ad7037262fc2d049a7f5b874dd21c6a1b36d521a5af46130c9647f06b494ae56c7d0c03efcca1654d1a3d73335e9a200bfb5b19560ce84f44c9cc82d0c46e6c11ba0b5203f9095760d05b245ed8de2f9ee9cffe85e847e566566eef14f0bebc867365bd3103d5b91d27ee6f3bc13694139fb8ba552f441cb3ce2ca6a3d0fa86d35f75dfaa44036384ef50e94b1c7bf7a0540f6de916048bb25c5e34561ac4706c32545defbb8603251f610b622e7494b381ee4f9257a9f0be9162c822c7590336faccfd3de35dac03918c24a1b30b7d2fbab4fa960bd3bceb26e49c49e4b7bccd8562a325b2b055c503f32c1a55233a1a58112477b5d9670da2572b41cd75c8701de2e44eb5c4a03aff0324c98e5edf59edc5cf6ceefd7c12ede5a595f1d0da4d3179bf8efaaa38dc58ea03f27bc7decaf7127537a8da8fd56aed7678f7259cdc1c383bd9f08b326d8df8e303b5934f13f7704509a9bdef58e1d1a35812a2f86ca23da5a83713e816bedadf7903ac7b1f49b3a312a040baa61c7cbea10b939427f221a0954de6c6c7fe21501fae0388a86f7715cdcb750a54d3e0f8eb0ce01ce54919a7403ca505306d666a40c5dc0333ba999d106af5be292028a8bc848776c51a9cb7c0463fe51668b1c18be779f703f90ea2bcceb9754afa687993d4164827abcac53fff307fd6309999061120712705581d02fbe6faaeec2c2226902fc74e1c748b544e96c841f8401c8a507db8740418220459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b381565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000018f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000006461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b38d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b38b8b613b86565b8715611aab57611aab7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b3908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f000000000000000000000000000000000000097451ff859c3282305ffa26a9c581565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b39087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec79087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000181565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec781565b7f000000000000000000000000000000000000000000000000000000000000006481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000435664008f38b0650fbc1c9fc971d0a3bc2f1e471614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b31693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec716939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b9450614bba60058c8b8d8b8b87898b60017f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b93508415614bee57614bee60068d7f0000000000000000000000000000000000000000000000000000000000000001615325565b8315614c2057614c2060068c7f0000000000000000000000000000000000000000000000000000000000000001615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a005820033ee8e345751e7b07d8998266658acb8255d7faa047d939469fc680541b322058200165cde85b0000000000000000061600d82b012e650c8618cffffe2dd4964f5c00582003849a5bccc9058fde6e35304819b6cc75384ff76c1976840ffeab77b4431f104d017bd57e51f05f8f962d14d0330218900058200291dcbcf639f2247c1f8667774d68ec933d55f13264e01270b50e71b162807d5656543c4c556d0000000000000000000056543c4c556d0366d822edae2ed2311450dd37f15e31652d7cf0d732a1da6e4a088c9e72cdc3db0058200225e256108aaa58c7eae8165c93272683dc26e2ef85c2f1aa69565314d5f04d51035b75421ad9d7ec06bdf900119d0ba4b603fde7144df4463d980ad65084930eca32ed8e1078b6b874f38677bada6994d03e0219802e00582002f08e0a9fbfbbddf2ef90cb77f8619924f3773c77a01b79bf22bff061cbe70d4f0d4ef09717e0b6cc8838868fae0aeb005820028bab8b621f7d1779c672a45269e0203835de046c986cd4b327f1700e6d6a685820fffffffffffffffe4922a0289bf35c180000000000000001b6dd5fd7640ca3e800582002c2463c3ec391f488cb693fd79e705c323bd17e271ad2b2dfcfd45fde8f197758180849cf4a49d1a20000000000000000000849cf4a49d1a2000058200260ee4f506dc12edc6f5d9ebc4a86782be941508fafd4a7b77b568a6c9345d14b38a1bc25fcdb0362d602ef0058200279d3ad0bc9639350645a7a22465eb1a37c28664d1754dcc1b2018fe61a030a4d017dc1c6e62930a800a7e2652103ccf5dffcd8af74492dcd6361970284f752e8bd91e8db5fbc3f45e3314c812808021926e0038fbf2da8d2f971fc1e503ab3ffaeda648d0f0d7f768e5f494459a47014d39ca900582002adb6de8b2a428c1d923dcefec7ad86e6fe8c87355a14f89b9e75e080cd4bbe4b4cca3cb0939e9e2a0566da005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100000100010000fbc8bf0000000000000000000010cea808839b8aa9f31500582002315f959e6160c6a9344ad71cef4144979d3247de12251ad1559b4da9421ad648029ac8d57ab0873f005820029a783def89b6ef5163197b1c37f7d8f7bdfa1c880b020be43624a6f304d6d94a0158844e2b535b1c07ea0219a214005821038687fb403e8a8693e46b7a66f2ca387161d22873865d5e580037859d02dbd26058200100001878000000000000000000000e1f0571482e6095d104ffffff98da123c0058200354c75d0603760102947ccd8d778da29e01163fabca25b67480133b647bb7404c0386cf19b2b2494bd1eb866900582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04d018259cdb5c894adfe368f599e0058200345d11d58db7b9030bca224e87a23335629af07eaede0b7f8efdc1221cd5f604d017b007eaae063b8f5ddd803e202190222005820024d52468fda1be4692744658b6d46c88d69044139daf7fbc32a8b67cf5e24d8526b0d0000000000000000005f374c4f1b0f27005820027d01bab292495ec81b638ae38e79b0da1a273691089f724bb2ae5261bca042581d0240011c06010040c00104001000000000000000000000000000000000021980110358f9d4664f6a8317cd7573843570f957050f35ea63652adb45c0608c2cb42f4f0359e55d3c4ee47deec21891b7751b203d38d07763972b96108842eb04cc395e6700582002baf555eb54c796011c1a7026cda0373faec79c7ca6c75fc47974d2edf3e9294d011f1b440ae400f996b9ed393000582002add6a30e8b85ba61c8fc2450b83a4af389efc2020704cce52d2dfaeac77adc4b0257bec81063fec91ba856005820021ae12513d22d73d173b5d6a15c4bf6172e75590328631211630adf9eb3816f4c027112130f756760976603e8005820026f08cccf162a3f41d9150b6c253f4c5b08e9d2e5d4bfaf232e20b1d6afc28858190c0000000000000000000000000000000000000000000000000058200347685288df73b74eb97fb563cf28f5569ed68355497042b22219eee7aef52051a02464221541b35909cfc6bfec2fcfb7bf00582003fb2ea33512323d3b15214dfc9abbe873af57a164e04e1901e8f84f2661f0c04d017aa09b591ae1a46c8ffb1c34021890005820022242e8664b8e35ba0e0af4d42b74c28e218723437bf5d6d37bdb7e04aec2bc5820fffffffffffffffff7b630b5b62e5e0000000000000000000849cf4a49d1a200005820026a8529b773b711255c77fd8bd3d5894ac954c27aa41b463bba66bf0f6bff444b0720723bda884cf232e8f702190cab00582002de48c3b0682f04571d34f6431b15545204003c6ac360be6c0f296bf8153d514b0ce58a9a1592cc07657b3e005820022ac7797deb862806c49683eacf7a6a07c81f66fd01d594330a9a4fb864a2844b17da73809926d6c7b7203600582002a6951961bc377417b3c295e67e7a7e5e917c5b3ea5b53e3895274e4b67b596581802f5c3bfa44b27dd000000000000000002f5c3bfa44b27dd033975dc827f391556d708f435849f9352a1e14a340e9b33e8b3507ba2ff6b91470058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4901c7b0f10655c2e8bf00582002754c5658c716afde19ea201f9a860c6e97cb9781aff5fd69ba1207843fe00e47c14058e626767c0219444d00582002a4cccdb17452babaf7f0bd883a130b07e48a3d030c4120e25fee428ddb93c1514c1564ef224605f112729fb0cbe6bc41f2005820023472d600011bdc9e2ea639bae29cb212f4d6ed402178f106fb0562043e306050e4bf4987565777ced43635f38a73eb20005820025674de4e2c146d060527dd2b6e2db79a8609f48da7a1325a330423da9e751c4804ca36a561868dd800582002b5ba93523f707a7ec617571d02409324ea20e54f74bcdbc78441981c01fb055820ffffffffffffffffffffffffffffffffd33a9cd00e14ae065b695f5d164bf8d10315444f7ca08f57d60822e37bd6087016a0bd5d9272b5fbf0b6581c7896c3140200582002b92a26ad7d706ab2f950412fb3c17cb1298ba36c99cd526ff0b09abc3d568d5820fffffffffffffffff9320ad652f4af62000000000000000006cdf529ad0b509e0219d20a005820022a548cdbace7c1bd1e92e3b3082d0b522d5d0e31f30c599aa791b6cb8e4042519f65235fbc4903b95d7bc20cf5cb84842303f08b81d62012e5868a34e50067e004b2acea90ddc0ab3cd1f8fa615eed07a718021860005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf651a43e184bef6dac171302f28eca9fbdb3a500582003317ef0371dd636043bbc55ddeb6449ad4e659e7c96a7441f7169db8f265c105820fffffffffffffffffd0a3c405bb4d823000000000000000002f5c3bfa44b27dd0058200323213632978042a51d810d2a89812d5ee1228e0119ee6854d7890db7bf2bc0519d7d194b829292bdbacb00cc2381d4426e021981000058200282a40efa93a472458a90648663a1edf097b5011ef3710a395f7a911d9ba5ab4d017ba63b505f915d7aabb5778503894a02a7e672e5d5e300d2fa2f6ebe40cf56080d7093eec589bf9269104386ca005820027e763d11c1ea95622c514f9f5970b98bd7e81838b6da3237d3316d2ab925ff519dc91166214e67f0843d42cddd7fc5b68e005820028cbe5f9c307c0c98f968a2c34dda4c4f593d41e7b1a2a3ecc6d57f607ab2ee57fa8c6214b2dbbd000000000000000000fa8c6214b2dbbd0058200284fdc86dd8b7375065a4eb6436156645dc2b94ee1da368de6ad2b15ed2e391582001000000000000000000000000000000000000000000000000000000000000000219d70200582002f42a75bd95770aee18f3c2ce9d88a52561da0eb8a1fcc3221373cae3a7a1b55820ffffffffffffffffffffffffffffffffffffffffffd070a380196bba4ff0bf0d0058200281b0565db7a88bc474e4d506c8d71fd49e46e1a41fbce8331aa3eecdc757ce58200165ced15f0000000000000000061687942b8fbdfcecc09af6fffe29fe2406e8005820021f00820d6e198f0357a2d16c8a77af475618b9a03530223bcda01e1a5fca3358200165ce51bb000000000000000006163d92843a073d3c748eb6fffe2c184504f800582002b760813b7ec168c6a87348c666368555a3d83a24ff0e172396745a3882f59358200165ce3ca300000000000000000616315a08045b36a28578c2fffe2c713508b400582002538ebff9df9a8c33bb8909c27568932e507f6ef916c7d6a7f0d22e418e673a4c03b645a09c7321ea69d3f98c03ce940e22b388f73a90b43b568917be55983afd6e23f7ff256277b64d4ec9df6f005820025f0c0328de6e1a82c72b6180334f7a2048ea2841255be42be0de492fa18afc4901b6dd5fd7640ca3e8033c8de75b81c1941ec0ecd2baec2eb39d19fdf13281c8b7e4c79d73f1badd83b40219386703588a0e006ab5f6d667535834220f48a278b99f5d1ecd29c00cff412723aef0c600582003fae95fc1d964edd9a257b7150010c2c54be06b2892c986e3d424a5423363e0581804ca36a561868dd8000000000000000004ca36a561868dd800582003bdb8fcc1ac182569ecdb4746a5e33d3abd5a7af64e2d3d5190cb12aef7acf05820ffffffffffffffffffffa9abc3b3aa930000000000000000000056543c4c556d021908200058200208b00d0c179580f61c204eb3adecbd5c517269153707c466908d60d667d987581806cdf529ad0b509e000000000000000006cdf529ad0b509e03f269bf468f8499391bda82503e319baae792949e265226ed9624c95ce1d2be3e005820025e9213548d5e152c103a9bbc97f89383e5e8cc685e5c15781fa1f8453779d758200165b2479f00000000000000000605e67f1bffd571473eff2ffffea25422836800582002573934c12d6d26d95fd59618f886307f1a94d23ac26942fb0036f379e5a85d5820fffffffffffffffffb35c95a9e797228000000000000000004ca36a561868dd80219852503de9b9850d1beb316d05c27d1bae5766d6150e58fd0953d9d93b2e8cc3d4342a900582002b9c545f03c8119c8f2097edd3207d62ffc1d14e1d4537c1ef70e4b35c225ae4d017cf3ea36a29b816fe8ae08dd005820039de29b15f39d62e2ab1c58dcc8d91c7f426e9bf103a056e9cd66caefbd55b04b8a63aa464d870307adaa1d005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058200100000000000000000616d874a3c4ef829f3d6dfcfffe27aeb29e6865cf5dab0219800100582002e14ed33b3de9a4b5997a30b381dc01c1e494771ce2dbd388f0e8289bc18f7b5820fffffffffffffffffd65372a854f78c10000000000000000029ac8d57ab0873f00582002673a6257a8f4a1125117072691eb4cc3df091d8941e7ca288f2df8025eaff65820ffffffffffffffffff05739deb4d2443000000000000000000fa8c6214b2dbbd0219028a0219ffff05581d025463bfc59773d588d544670dd59862a5b10618e793105e1e0ff7976d070119567e0219600003550af9025fc7d2e9ea6c35e14254d50b73e14bea31c4cb31b7b7d60280adba6c01410303cbae83161a6e0fd39b29e7c3ad29b8150ea975966f086a3931b1fdd14324914405581e037866076d784713e4cbee19166faa52da7aafc7a98fe33d66258eafc0e00402037816051dee336722f4f285dee8270b4ab78614632687d9a3c8216e6f98291fbe034e04917cb9c8769e19c30e633ac7588cbc0c1a4043e885b5dc0a980ac8e6e4c105581e03dab81684f2c19341dced1ac1889e909fdee5498c04c8f1fa369bbe76c007011bffffffffffffffff03cea82c8ff3d3e38008769257902321a2c93c6edb5e2597308d4f6261112eec4a01410805581e03f2914b407e741d647cb2e8bd90a2ac26c58f939b42a20501100ca1c7900c014701e781e1b1480003d68d9e9428c31f78dcda4232271b56d83765bad0376ff7f285b26b2a6ef1510a0219b88b033486224d2c0a179ae1db61c7aea5802d52090d55e1bd667f9bff4d7b907cd1df035b31bde8d133e876f42e24683e3cd6141f7e07c7557a7182e482e93ac50b556c034a27473f6abd22fd3730f692c8ea422edde2bf72f833293e96bf94bde43a0a2803424d4392c09cc886888baadfedfabf9c00b91736c40a59ea3b9105547ff9d18f0350aef75455ff46de3ace15e8da7955eaf1db8e2f0c6025dda0ce25406d970c20031b825b3323509dca7552e08762f0c6a676d40a8095424d8289b78f286dc4df11037416f0880a6bdfe8af7c54fd749cf9a1635aa6b897d29cdfe37ad6f1c9ddcb9603df5fc68d68ecbd8cce76f59b161e22da8e964faa29e1bb37c25fbaaf57e1d1ae0219ffff038339f95ebbb71321e7f6998b837aa1fbb2b726aca7701ce62b4eabdefe689c7a0359e276b623253b368adcdd330fd6a919024aceef1ccc44224fb492ca5b16ed3f0343613764ed9072a9902e179c923017dfedc3df3626c0030120de3c82a88b939703afe9064b5c0e16cee304f3af8eaf0a11a93667988989198b7052f7e83e265f90034182903b331b2ad1856dea285478a588d32cf65b3cf9744c5a3e133fee1edf5c03fb0df3ae1880639e7c3d5c72d380044f0795e98ea5a424709b778dd72da513fb03b0aa7af3228c139b34fa28b20b024a407bb8a4d3b2d86eff6d0d3cc963d4cdcc03505c5799edf327034cb64927e5a92a6beb1d4b5781471e6262ec24e7efe3f2ef03e7a4ce5eca82c43d830e1c9a51e0d6604656db8ec2ee3dbf5b91490556a96ae903342ae9091d13f505e8114e99c3644118b8f978db25e3c11e44ac20f5e42150b403308079a55443426841cb4ed1b7a7cb626d396379286c66881c4e51eb65af3fa603a25c4dcafd42bc5238be178adc49e94c44f128007428a59c04cf01de6a061c2c03977ca725675dadc09c22b504764d0203b84c2e803a7fb69d68865c533df62db10304511e029d60b77ceacd2c23dde7e1c92abadb55339f6afa0edd437cb1d096c80219ffff038acc7e585fbd68d0e3bbe9c573f050269bfc9dc1014789722e6a02b9bed8513d0391aa312bbea65c3dc8b65c2e5e9a4e4f424025193184d15613caed7ef954b2a7038d1283394c896f62827c8ec0346426c3f7014febaf3ba644d7748db536fbeb1b0219ffff03d8b8c21485bd368b3a0840f32b389db85fb7311713d96ba99bdf9e9a2764878903aff9925ebdc7f4f7e4af94f0664d5fccbea43b24a23ed20a93759d5f5b07c83f03913bc1cc5aa9a3be1ebd5261706dccaed2141beafcbac80a209390bc86d794cf031897af6ebfefe072207b984c07753a9834be59fcf1c0af94683e4e70eb13ea59039e28e33ffe4accc4161c8aab5574a03177b92643ba341af6af981debfb3cbd5203fb9b684ef02fe2f5108def19ba8a1dc50063ddb696cad72b3dbedc50d03cf9660219ffff0219ffff0326f04afcef85b41cdab68c5716e5f367880ae08b78aba2625d80acf46e572fd3039eff1fefa232fab30bd6bd451e27eb45dfcd4f75f7227d215de92a5a1b120a7503039157eaf9b1121fd8dd1a7f4ad7a70db64d6d5c026cd4f60be6a215bf3e906b03d3b423cc9447bfe321b7e1dd541823a2ff09438de811f89f0cf3bbed3776db060318691b7b3abfbdc2786f5f2c400156bd95efebd93d98dd909aec0e1e1928678b03e43ad096dd38657cac5d5795fd92518332540071de9d2d585bd5546162222e5903b0aa3c0c3e0b7337673b49b7c05fb73cab947cdd4e4ef328280efa543f4a3e0303108a488f628fa4e73ddb24672777f78285d5fa4be4aabc734d9cf6dac9607a3e03f271840bca73c140bac0a8a96c76a67c3e7c566b0dcb6be7f2b360cd653f94fc0312ae83e3eca27ed53f1885c201e4fed9270278ea37a552173e1a6e711f469941034e63e049d8f1aa0e3ae65f16a418eb3f861c976324d637f8e2874d41f44e7c8703220c6f988c0884e42508599efa0e7a52d4b05f6be11c18bf2da7f2a1cfa8f04303a6b9fdadd36669a30f452f1278b8136ce0c34f5867750bd4f10570f8a75561c603d9ee720eb4e6cf4e92c9faf11affab2cc2c098adfbafbd9049cfcd5349636b69038546971b59b2896e1af4b7fa02801d78eb2ca91ce47fe698313e071cc049f23f035fcaf5ca89eff0ffc2646f6415678a596761f4d39151b98e7739f9b568a1573103920903e78360abef086875f83c1dfd6431d362abcb06ea6d16532eb28f5c2fb803da63435a40b90c6c775863b84840260162306c08c6dea3718fc91b2870f31fc4032edd337a0e90cdd5d78bfd72c1faf964e4fab2f048f1ecf0ce9d8e95d9303a6a03082da8451b37ce9903ca1b3909491f1e9e81735f12df1e8ddf71b0a9610591a003c221e64b7c647c6a30cd14a8169be2274eb49b91cdf2a9c36b32b054a7656f0b03c60fe1d44f79452fd164828498330f58ef1b561c49289008e558473b6c9b27d90345d4aa9f593e181b5ebc44c6527efd573e916edc2a7a403f38f7aa60f8d60278030eb24bdcb48ae2a3e0791b90fc1ddbd47334d2238ace2b842c97f43f84ce9c9503a969fdf7fc1b9163e323dc16db5507e6a9a7303f73479748676a995c051472c3032382add2fe256a345654cb29517a1bc30af88c77bbbdf020adc3facfa7ad8e700319559aa2da6ed29c75eb6dd3124ec449cbd416f7eee31a28245da3be095cce8e036d627f0895057089004046809a12f237bca3aca447a86f34359d8ca7ae64028303f02ee6ed1d5a440b245c9619a739538f1ae7301d95d720bba3b9d95b51badc9203d244582d9936cb3bee20db3eddd8744c6e273c8bdc6ab49a5546f8c252e58b69032641d8da345ff2584adff6948970af2740456af1d0f5987e9a0a96d202b1a16d03fe414af4370532ffeab19cfaf732f4cbe750dcdf7107f0a348c6fe881ab14c5f03d509880870a7d7b0b06ba07721e321f316cd5d21f1998fca8dfe88791bb2f97f03b192daba54fde57085bdbd07cfdfb05db0f9c6633880cd4cc93ccbd82848efe6039f8d43da7ebd5a1b5c5f782ccf39e21acc9ef453021905b1bac57fa844d7eafb03573a171d4d6bec9436dc55cf43b259dc42654ef927c849b90fe8e0ac2f0fa0fa0371a805da9a76274c8f5ab750aff44a970635b000b8eb8bdaeaa291ec1a59075f05581e035cd643940aea42f0146e869903d4b896aaa5f73d93ab916ea3e5a775e00405030492eaa80311fd6ea9156166088b25e1dff4a500328f5b18e2aa83d815445e3103555004de0bed0a91f578d8e4338d86cd77bcb458e848dcc6b7d1c6ef9fe6a9fa05581d028c62965f294dcee7df9c3077ad775c8781ba78ba32e9c6069f6213790c024769297ec13a6b0b04591a2a60806040526004361061011e575f3560e01c806377b54bad1161009d578063a9059cbb11610062578063a9059cbb14610315578063bf474bed14610334578063c9567bf914610349578063dd62ed3e1461035d578063f4293890146103a1575f80fd5b806377b54bad146102795780637d1db4a5146102985780638da5cb5b146102ad5780638f9a55c0146102d357806395d89b41146102e8575f80fd5b8063313ce567116100e3578063313ce567146101ec57806351bc3c851461020757806370a082311461021d578063715018a614610251578063751039fc14610265575f80fd5b806306fdde0314610129578063095ea7b3146101675780630faee56f1461019657806318160ddd146101b957806323b872dd146101cd575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b506040805180820190915260048152634d41474160e01b60208201525b60405161015e9190611606565b60405180910390f35b348015610172575f80fd5b50610186610181366004611668565b6103b5565b604051901515815260200161015e565b3480156101a1575f80fd5b506101ab60145481565b60405190815260200161015e565b3480156101c4575f80fd5b506101ab6103cb565b3480156101d8575f80fd5b506101866101e7366004611692565b6103eb565b3480156101f7575f80fd5b506040516009815260200161015e565b348015610212575f80fd5b5061021b610452565b005b348015610228575f80fd5b506101ab6102373660046116d0565b6001600160a01b03165f9081526001602052604090205490565b34801561025c575f80fd5b5061021b610484565b348015610270575f80fd5b5061021b6104fe565b348015610284575f80fd5b50610186610293366004611668565b6105af565b3480156102a3575f80fd5b506101ab60115481565b3480156102b8575f80fd5b505f546040516001600160a01b03909116815260200161015e565b3480156102de575f80fd5b506101ab60125481565b3480156102f3575f80fd5b5060408051808201909152600581526405452554d560dc1b6020820152610151565b348015610320575f80fd5b5061018661032f366004611668565b6106df565b34801561033f575f80fd5b506101ab60135481565b348015610354575f80fd5b5061021b6106eb565b348015610368575f80fd5b506101ab6103773660046116eb565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103ac575f80fd5b5061021b610a98565b5f6103c1338484610b31565b5060015b92915050565b5f6103d86009600a611816565b6103e6906302cd29c0611824565b905090565b5f6103f7848484610c54565b6104488433610443856040518060600160405280602881526020016119cd602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611212565b610b31565b5060019392505050565b305f908152600160205260409020548015610470576104708161124a565b47801561048057610480816113ba565b5050565b5f546001600160a01b031633146104b65760405162461bcd60e51b81526004016104ad9061183b565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105275760405162461bcd60e51b81526004016104ad9061183b565b6105336009600a611816565b610541906302cd29c0611824565b6011556105506009600a611816565b61055e906302cd29c0611824565b6012557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61058e6009600a611816565b61059c906302cd29c0611824565b60405190815260200160405180910390a1565b5f815f03610620576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa1580156105f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061d9190611870565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a16004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820184905284169063a9059cbb906044016020604051808303815f875af11580156106b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d89190611887565b9392505050565b5f6103c1338484610c54565b5f546001600160a01b031633146107145760405162461bcd60e51b81526004016104ad9061183b565b601654600160a01b900460ff161561076e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ad565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107b79030906107a96009600a611816565b610443906302cd29c0611824565b60155f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082b91906118a6565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ae91906118a6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091c91906118a6565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d7194730610963816001600160a01b03165f9081526001602052604090205490565b5f806109765f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109dc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a0191906118c1565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7a9190611887565b506016805462ff00ff60a01b19166201000160a01b17905543600855565b5f4711610afa5760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742062616c616e6365206d7573742062652067726561746572604482015269207468616e207a65726f60b01b60648201526084016104ad565b60045460405147916001600160a01b03169082156108fc029083905f818181858888f19350505050158015610480573d5f803e3d5ffd5b6001600160a01b038316610b935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ad565b6001600160a01b038216610bf45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ad565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cb85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ad565b6001600160a01b038216610d1a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ad565b5f8111610d7b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ad565b5f80546001600160a01b03858116911614801590610da657505f546001600160a01b03848116911614155b156110d557610dd76064610dd1600d5460105411610dc657600954610dca565b600b545b8590611468565b906114e6565b6016549091506001600160a01b038581169116148015610e0557506015546001600160a01b03848116911614155b8015610e2957506001600160a01b0383165f9081526003602052604090205460ff16155b15610f3057601154821115610e805760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ad565b60125482610ea2856001600160a01b03165f9081526001602052604090205490565b610eac91906118ec565b1115610efa5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ad565b436008546003610f0a91906118ec565b1115610f1b57823b15610f1b575f80fd5b60108054905f610f2a836118ff565b91905055505b6016546001600160a01b03848116911614801590610f6657506001600160a01b0383165f9081526003602052604090205460ff16155b15610fe55760125482610f8d856001600160a01b03165f9081526001602052604090205490565b610f9791906118ec565b1115610fe55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ad565b6016546001600160a01b03848116911614801561100b57506001600160a01b0384163014155b15611038576110356064610dd1600e546010541161102b57600a54610dca565b600c548590611468565b90505b305f90815260016020526040902054601654600160a81b900460ff1615801561106e57506016546001600160a01b038581169116145b80156110835750601654600160b01b900460ff165b8015611090575060135481115b801561109f5750600f54601054115b156110d3576110c16110bc846110b784601454611527565b611527565b61124a565b4780156110d1576110d1476113ba565b505b505b801561114d57305f908152600160205260409020546110f4908261153b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111449085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461116f9083611599565b6001600160a01b0385165f908152600160205260409020556111b26111948383611599565b6001600160a01b0385165f908152600160205260409020549061153b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111fb8585611599565b60405190815260200160405180910390a350505050565b5f81848411156112355760405162461bcd60e51b81526004016104ad9190611606565b505f6112418486611917565b95945050505050565b6016805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112905761129061192a565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130b91906118a6565b8160018151811061131e5761131e61192a565b6001600160a01b0392831660209182029290920101526015546113449130911684610b31565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061137c9085905f9086903090429060040161193e565b5f604051808303815f87803b158015611393575f80fd5b505af11580156113a5573d5f803e3d5ffd5b50506016805460ff60a81b1916905550505050565b5f6064600654836113cb9190611824565b6113d591906119ad565b90505f6064600754846113e89190611824565b6113f291906119ad565b6004546040519192506001600160a01b03169083156108fc029084905f818181858888f1935050505015801561142a573d5f803e3d5ffd5b506005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611462573d5f803e3d5ffd5b50505050565b5f825f0361147757505f6103c5565b5f6114828385611824565b90508261148f85836119ad565b146106d85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ad565b5f6106d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115da565b5f81831161153557826106d8565b50919050565b5f8061154783856118ec565b9050838110156106d85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ad565b5f6106d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611212565b5f81836115fa5760405162461bcd60e51b81526004016104ad9190611606565b505f61124184866119ad565b5f6020808352835180828501525f5b8181101561163157858101830151858201604001528201611615565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611665575f80fd5b50565b5f8060408385031215611679575f80fd5b823561168481611651565b946020939093013593505050565b5f805f606084860312156116a4575f80fd5b83356116af81611651565b925060208401356116bf81611651565b929592945050506040919091013590565b5f602082840312156116e0575f80fd5b81356106d881611651565b5f80604083850312156116fc575f80fd5b823561170781611651565b9150602083013561171781611651565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561177057815f190482111561175657611756611722565b8085161561176357918102915b93841c939080029061173b565b509250929050565b5f82611786575060016103c5565b8161179257505f6103c5565b81600181146117a857600281146117b2576117ce565b60019150506103c5565b60ff8411156117c3576117c3611722565b50506001821b6103c5565b5060208310610133831016604e8410600b84101617156117f1575081810a6103c5565b6117fb8383611736565b805f190482111561180e5761180e611722565b029392505050565b5f6106d860ff841683611778565b80820281158282048414176103c5576103c5611722565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611880575f80fd5b5051919050565b5f60208284031215611897575f80fd5b815180151581146106d8575f80fd5b5f602082840312156118b6575f80fd5b81516106d881611651565b5f805f606084860312156118d3575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103c5576103c5611722565b5f6001820161191057611910611722565b5060010190565b818103818111156103c5576103c5611722565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561198c5784516001600160a01b031683529383019391830191600101611967565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119c757634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200f378175c9337a72dcdd44102d9081505a6fa7d76f54f84cbb63be33b16031c264736f6c6343000814003303423e8ae7c5f0824b82f059c5429cf101e620f1ca04e32e9369c59185df04121203a3ecad541f7cac53f5172b982fe2a16767831a24ef83f597df3b699198ac179103718e8b0ebbe9bceb4aff888e194748aa6bd6dd15706170090ce3b075e3b15e670312bf0fade5f97f4819c69814a757ab38a31ae7b978544cf5424a0e169dbef2d7033272500a3383219e973eb42dbce376067531f7fa5da2986825832bcad3c9870903dad047ab10277ea9f9cb77ae6bb90d77966636a4dbb20e2ccd5e16ad799f5091039f5f52ba50fd47f00b92d539517287aeee2ab68a5b226cae94c176a99d01ca5d03311a41b2de80e3e6f3f829ee314a26020d4459edb1f1c4b6de6889a0a3a3781400581f02829cf6465ec6d7d67c2ee1471c075f79479cb79036e86ec067bd1f81a6524531765eae0500581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9410100581f02511a0b4b92901d7a91b5f39e66e966325962e1617247e598e0f31cb8218c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219402203bbf77188bdf7990ec7cf148d7b764e9eacd8e65a2d80b8fd0205b240ae068b760370af103d9f3666ad8b2f8ccb7a8a3e284ec4846040374db1bd7d4379d0b10b26036206bde1abbb87c91584353663fbf41a34106626333cadfd96e827c8d0c72e9803d8f0e1a5dfc59b341815b40c08238427d8512d3dd59b8f58c24f8474ae41d170005820039eb61f4fc1c9c178ff94cf5cd8f39ef6a720979fa9edca38e6d20879183b005820fffffffffffffffffffffffffffffffffffffffffffffffffffffb08259a08f203490c48fcdc05726089d68dba28e78750a5db674a7cbfc606579079c731fe62ff03d9e2c629c7d5354bbc63207ff43a0e9d1960b27757769b5df27adc5935af0801039d5b061408daf170bd046ddeef66fcb754eac9bf7d017b3bcae8cf1d095ad43401410b0219ffff03dc259da4c8de70d1f8c3f679bdd2c1ffa7c081715c5df8c39e66a56eb8e74ed703924357ef22a482ad56e4de9dbfac47fa9ebc612d37234828467198744eef60750379cc32e35479065e2a2acf309084ab3aee75541bbd8b51ee48f06a60b8231f5303489a822832bc22a2f52f55c4a41e77fa3694e79ab7c4e070b5ccc5e4eb62fd030397a82f2d6c70c51a4266cb1e988e05370b24ae59f9ec81605a9a84d21fa688240394007e38bd3966cf4ae7525c2708bbe4502e0782f22586dc61ca6f6e164e6d0a03b22cc2abca7ebb74d1eab3aae0af23ed38fae0f03099f1e0e0b1cd8e6c38783b03a54ed65ddfb32294c05780cdc30831a5b1f0bdef6391db74b86a7f6d8c29930a033cd7020752e3aaa41c7ce7c6bbb4139f2c8bc9c1ed3f0de462fa284ea9c83ba703b03e64a7decf6563f4f2479cd9d16cc518ba62671ec70c9f10a55e21ca24138b030d974f4b024af1412f67562b9cd389733522d773697bf51bfe57d28f967f7b5003fa0e7c0ce6e1d1178c87fc49ba8cacea8d6fb032a6a0e4429874b36144d9c312034fe2009ee012e20d4d83c488e337f01f91a452114887cbfba6b2cffbfd9ad560031931655f768ef45a2689d11023f55981654a03b979c11ffec159261556047d570219ffff034be415c6d664752da7ff9661e90f6b9aaf865079950bcab2639734ad2b25bb7003204621ffe3ff60b2df8291c93fa7d29a13a23286da5fa11febd10ef82a19c15f03e27082ab0ca413fe27ed4708ed8208371e80ac4ad6fd48fcde02ca40bfcc54d303f07929ac4983cce7ec6289122f4de950c94704b2d70aad5e9b78adbbe9815228035ad1644880b9d8652af128ce8c41f9219a6780cc4b0010434320ac5612e7f4a40393eb0b02d839553b2117e22b85f92ee82a184d6ba32c9b087da7add30149442d03f3edc69a561e247e80cd547c50eb1cdd940b19ce0e2e495efccb84f6855be90803bdd3c7216d012022f0cd80468a8505bffd1b72720412212ec07d33f938fc7ef603c4618717b275eef0a11a3244440ac1c2a549ad5bf263b44ae6009e10f8e426f8036c697d71a89235d204c447bb8c88c998223f5c23f787bb4b3465a31b2bfd9360039c61e3be1a24618044ccbaef2f0d00c5dc35c9b141055d6ce264427783019d8403d3d8ca847db424986d24db17cd704aa93f6e87660755e15442d853e85772a33d0315e733f7b2461df907157d26727ee48c1f8021343e9f2d4c06dadb379099c66503dc2cb6c1c22942d6d547cb4bb367d86879fc13349474fceeaee5a01581ced2560319c1d9d1c3c6c862b872e9dd52bed59716cda21acbf0cc20703c6d95fbb2b50c03b8f9ee53f1abed6c90297ab934afc42909487d7bcbc270f63897190b6211e32d00581f020a7f935474bbb70a9e9a3388322ea1535d2a4800eb4659911553d2dc0a6c5820fffffffffffffffffffffffffffffffffffffffffffffffffffffff6afd06fff00581f0292fcbf03853fa8ff420a1767fd952eedaecf53997aa15bc54855c4d657705820ffffffffffffffffffffffffffffffffffffffffffffffffffffd25e925685f100581f02ecd7687ed3347493bf141806d0d59652745e67a3af9b11f805120f1ee4b845019396535700581f02c5d98b8ed6bcc92042b38e7623e229808152584b610af295fe9f12c2deaf457b9008cde200581f02732a3898e6020d26ee3d984782e2730c856e2cc6904ec2532172ef6e08265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0280ed4b083eda46b4206de727834c179d1132fef7e5bc53ec5fd773f18e5647022fcb301981720219c03a034b340a82a24885fa99e3881370003b86935041be835149b526aa7977ad8525ee03f51d47a390b50e767509e8617e86976ba3c61f5e38542f93375a88197eed759a03a04c26d37819a17f67c24420a74c91c6a052b7e8229b8d5cc958da3d4269fe5b03268a5a7aefe7505e606e007f67499eb328f3f716ce64dff01da212fd2103a0e003f40d8de758d2841c2caa23acfe140f4d31c92e839c2eed8155e7fa05be89e5dc005820035525b6449a327221657191d5c46bd03cbb8eac274319c02cd7eeb48117e98045d795b4ef5a00582003bdb900c7c2a0cd9215d34ab91f015db4c35dd353ba2a0815b3f611e2ca2f905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe6d07a696d03cc87a315188774850ed34cca19551c56e90a34af73e93fdad621f69a547781a70219ffff03329810dbc087bb6d301cf3ea2406d0015d420aa08871046de9aef68bfd494dbd00582003fd48fae1c5e6018b063cf7afeea837d70e9673a0340d632ef5e2bab14253305820fffffffffffffffffffffffffffffffffffffffffffffffffffffe7df2a62b9903e85800a5570d2b7faa63500d133155147940dfa14772a174fc7947a55cf2f1740343389e13cb32f72ebdaf94830c63ae2f96a848bfbf4a878738f0d8175940c3600311ecb6be1c4fa5afc5f4e5b6c2a47d3f0fa4b34eff9c4f9ad63ac59846d2312100582003258e9505d521d74d6d05ba09f89e089f12ae82568d57d4dfd170602d079e9046048c3a7ad4a000581f020d1502ee5f5edc8d54fee4fc0ed03e26cdcd16d6d3613eacfb19d813b2425820ffffffffffffffffffffffffffffffffffffffffffffffffffff70fa6b6eb5d600581f02d122e0eb01f1eb0feae3ee4d22d215433c2e567dea820006fd9fc288f26b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffff8afa224a7700581f0247dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672428de700581f02e543b7ff477a52c04a41954518fa9d5cd37c2fde7f880ed0c2d99f6dd7fe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffa23cca5b2dff00581f024c225851fab6412d84952a747a2147bdeecb3a8227e15293827b6ededae342024e021983c0035e2681d4524cc9dd6939d905be145bd38ec626c5131e42bb6131d9e86518f449033d8a4daf85934e540c0b473104fd1836f1d26c36e23e292468e5eff7a83e3cd00375ba649dcd8ecce84bc45b698e4c951cdc452aafd9f9951b450a49050b773e3303558e6628d58b713b673c1b245725ccce4b89242f7bb8146554a8b1a83696d6ed0342a24d8ef9e00bbc25158b063844e9f88504e196a17403215bbad63e8843b9cd005820032d4baf2d113c159602db1d7afbc038136a50ad4198d86c417dbd9351ad7450458478c4247d036602c6baaffbff6c7594fcc525fe5946d6b420d51b883e12c09e720460531f8e005820036049de0febd2e4a512836fad56b715ea48dae2850fcac8a4106e375af5f050440b02296503e0be06b833e99481645c33e48254956e7d85fca14b25e5c8f1165d15b5ca797b0219ffdf039ba427cf84c1b0f4815c0f93cb116ae3d0205733317310a05059b20f59bd467d03975308ca405088fd91f3e17630eaa48b45d304fa68e21683e5948cc0a9f1f1c203864b707832463584fe43055ad4d8fc2772410ad17973f953d634ab4248bc273d0330c2a507a36a767d71a3053e0292702d880d9d0616355c543b0d52b06508a4e20219ffff03de239520a65cea142dc8538707e270f8db8657ca440d54d50de57bc810ebedcd035216e5a8d72707f73fa96b7eea25d47234754d815e0ce6a2872154aeeac1ad550359b9e0d563288f51f8f3fad6e6a0ba6f23fb066f0d7b9b2206498d70174a0fc2034170e18186b20b6eebc2344b08903c5ddfa2cda9f01d1f866040f66c7e7cfbea0348d828cb1be4c8d0bd40134630ee5d869d02e9d1136678c669919de9759aae08031da63560d33b35e89b31b26b088f39a8762d5e856eb0c36fabd0ece9aa5b8261032353f8b7f3e62d9a57ca53db345fb8f09bfced0eb60138b96eca2f868a8108b703e9e978b8a44df70dcf971102af31d9bb9e047be5fe6ce795e427ab4b629abc28032dd7cc8f9e6c7a965db797a588200bab21f72030eddc2822de6ae6cedd83306800581f0281219a4ad8b0aa6a2758d4cdb96e7473f9c639473b7b73660495ba3b8a6f452bae557aec00581f02b8854310be5355c31e0aef73db9682534481d2de7e023a421545bc8d2cee452ea2760bdf00581f02e373b03029a72fb93b2f20ef956ab36da4d03096f94a558da8f497da61994505e2d32a9f00581f021cbfc7cd5c33dbaaa1b4249ea78cf8d9bde533e663f49fd4ad6180c575b445c815adad0a021909110398d49e55503101083bf4fd05014880475786f3872c3bd887e3d061bfc08d554503ca374df564f73b6062a302c74f0f155a86ec1d8b99d5ad1cecd02498aa0547ee030eeeda04e210684e3df549e9fe584abaf9225f2b713426164cbe35427688869b039a97354c4782af987ad8994eea9441108bce4b682f303dbf5fd4a6c780d2af6f0359468cdcf598886af14a8aebc95b7141b1f188e26a302273013e14be167e24c7030391f6c48537b45833ac3b8271700429e8f8e45cb6ac114e39154f2e2c1f933f03d34f517d7b39cec59787889554ab9e074683a48672faf255671da24775b279b501410803a14585496c4d04db72326ad3132ca7426d39ae75684897b666bd45d47a283cdf033779091370daa4de577a18761d38648de22e1675577162245cba3355b00388b703786391c3b0da57fbb09717d6077a9daaacddb306bc9b814ed4bf21fcbf6cf2e9033a9b0409ebe98dcfd56f61ccc29a150e39843870656633fe60e5d52b29b68d31035fee2edf177913238f0e8bdddfed84bb3ce940a9b47459ff4cf2d5a607716ad500582003d31bf4f37f9e4de60bafada9c66672e2804e98c7045a17b822cf624cb8faa04627492edf4d060309203e88220f403e1f50c2375fdfb68fac0b62ee06092eca90ab40eab6eae49f0333eafccf7e4c4186758c93179ec3b491ea64c00134557bd21847c11239024bbc0219ffff034a9f7e54d317048f7df58e4790568f1e1b1b2fceb1a16654cbc015bc288edded03b2b9f924144aa1ae08359626031c7129bc919f49b2b4084c907da366a922f79703838093c21c7393e29f0b5eb417d38d20c0c22764d3907f9841ead11e162a0ee70360bfba6025b19ad5e3d9dda63279db202808447b24945a4b3fe6a4062d008512038daf0607cb6741a9daf3d22f32e996c1e893793527f5b9e918acd851cd5bb8c903520a241b161f40a057c63ec63937aa5196a183ac64df4cea622ff1972732147b034504764c437f5af561c93a9702763a7cd470cf610b42957bf68b827c1079efed037c4dd3f6006e2a2cdd58686c8a9e3f4b6a41f03d648a719756f8afe8758a400703595965eaeab5d5ba59b778f4d444c8c2964f6e057a78258d7f06c10b609e57c4031ef278aa1f92862a51f0d050666597e26269f7b6d4cf8a25ac2f5d64b30f384403965da882dc59b78cfbf3419c6e5e7dd2606ae620a1869b71f2cb1559d0e5048b03dccbad0a76f261a2e95cf7008baec54c6e4b053615312de4452c89bbb98071b403519808e90670a61a4175b853ea1c83d25957ac2ff52878674a01866294e1f8b5035094d2a234f41e28da0cfb568e371905b2e98f73458f35b680167c93db6c65ac0368c86b9c68ef5ec884c222357d8738188ce0e2071cbfc9d49cda4c9a3489e2c0035c9f4edc1127a9d4cfd92fdbfd252763f34224d9ce7b48e43a16682873679b5203c1fe17a7cf7e156963954060d6813d3d5c3e1f638990fab2fb0aa7b36b144a6700581f02a7d9a2570ae5890599208adb19d7aa7473ad0bcd752d42f5fb5806b4093b410700581f027e4aff3188dc875172764383af9efc8bc363689398002a375451b9c36d8e4607419d981d7400581f02b4824cf81ce67e60667cc4f635d5a1fc06c36d875e0a1787e5918adbff8f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffac7e5c97c2fd03cfe37c11a1a6bd5daf999ba0c617b15cbcb119410c837ac8b145b785e276570e00581f02a1beb5c12673a85e7b9b652349a28dca3fc60ec1a43f36f259c567164c714553221ca70d021960170314be94cda2c5765a8f15673760f9ff3d0012b2a7204c8f8eb6f7f43e82d103bb0335910d8a4da83501dc430f0a84053758ee62d84baf5286b5aba8c341377695460219ffef037f7a42f8e3cb98d956ad48125d019e91cbe4762d56b3a495909aa75ba96f66a80219ffff038e87ca8f1e3ea96fac8dc776141aebbbbf5cc2f76209aa311a1378e7d7a885ea032ac86b75a2950381c89a18a2600410993165c71b86e8684368e010947cba629b037bd3edb4beec35778b9fc6fb538f7aff41c26f2cd31acdbbc1bd507391dbaedb0364301ef5c2d9b43f7d9e7299a9cc2fb3f934fc2e44baa35994e4a8b692201eef0339a86c60fe80eb2d4f6eaaaaaf9a2f3587de224f7c0e81287333759792825288038276c3d842333a52b11a4542f74b3ee51c0ac74e9eaff4d35c52844bfe7fc91c0342c324aa1b5ea62cb004426809ebee048d3c13ed82eed9023361d434bc8c454300582003ae7cca4f556ee2b6901a7bce8e6d9f2cccbb3085da2a3280c7a72dbbdf10e0442e9a6531034007ed6123df6dd77b36a3112b0128ae042ad225b8eba327c0481f2b1cec20bc0352e04ff28580de819f7532cf0290fa884c39035408211859d7bdfce27195ec5903e919835804d6c1966c56a86cd978e7e954f97449117fab7c876c9dd8e7eac22a00582003d72e87ef54faa44805bdab035b6537b07eccd44cd38dd81e87307ebe323d205820ffffffffffffffffffffffffffffffffffffffffffffffffffffe76875cb644a03b9360f553725aa48b8b5d87ec46393e76dca2f9ab6e62990e164eb552647f1ac00581f0248c5685d22a4825729a3d51ea921bc20ea380ed6ad831e6c5a2a4b52844a4207ac00581f02fc6326a4c7dfc8a7ce9397992783a1736e39782a46910138e25ab70ccbbb46028608e4d7b800581f02c21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6847a6fa404071800000581f02fd03d3aa9fbca6cd19b7e6afb00e5e59c5383b0435cf53d306266529343145c0acdc2dd90219504203be139b5badd6c1938587ef2c16f49e816d00c10d0ba6b433002fdfc798b657a20219eeff0376c2c1cca07aceb8b0e2ae3070c03efe2d2ba5f8cc0021b8c2cd8962de08e08403de0bf0195227b89b6be3b005677187a53b7c466dbaa2bcf1180395e182dac135034328e8f102efd8b0eacd696dcbb7123afc09bf0c9ce07c11e574670d892eba2903cee71963676d602b802ceed5b5283d9f4ae227865e4ca027d0b83b3a68b3954203aadfbd7f1956840b536471cc6c91c01e181ce0308079846f10643f4d66cc2e0e03072c9983c7100fa9dadb614e478c0d7598384deecc24c52a92d61d0b4fed4a8203faf1212c65837fbef9e27e1cd637e062a27b2593b4f378ed2d7c694031c5750f031cc26f8488d14bf90356fc1db9c248b53bb5e2bf240af7e78c653e70941bc97f034b77119588e91ff006e0926cdfcad321af93c011926c1f3f28d083dc71dce7ff03f2f00ef94efc9cf8368abc35c98ee7db7cf15275a1bf5deb29af9ea661f5c5300302c6455e3155d371180db5e34c52010b91b9aad278fd3230f49476387b3e957603bd0bad4deb660d59eb1e1b18b042d5b02341ef844e1c5910ad1ff472892a5d12038cf34f506ba271f902172653943dd8e1cb43ec5d92abae72588d9c13abad7a50037b83827aa780c264fa77364d9f449ee671764240f8bf33c653fd9d2b275787b80219ffff035f074bdd464a12d11afe0c66150aa8118d37c24d7eb1b185ff67fb16b44c69b803caacef3ab0aaad670389a3e525cd9be63673034b857539fc5cfe9d37f10d8b9503accc2dbf9e8f2e48ffe5996b0afd7dfc314aedeb573cef4e64124aa7f25b73ce03080120d020a433e8e335306c086e3492c12bf09c93b0b92a50cad592e62296170327c534eb3c88bc897eac7e8b9f73e2713f1d82e3c97c2424154ea0d0278333fa03a2b1f6eff5f12a74374c1611050e01e903f2904483723637981d8e917aca9df103eb3417104eaed3f295f28395c676799deffe3dc807b1a5a9d643f7ab7527a0f3033fc049e8917501bb590d207c9b5ae766a411f4553807621fb6a0c7d754cb86f00058200376ee5de63b84b0cc2ec3f1d29d5d2bf8b8836a28bb7c8f8a084050f5b6fcb04583cb0a0be6034326711386cbd850ed6e3d10a20d2e097e02d94de53114935a807b9f2aa8deee03d5b852430ead8734753cf450ddc051414e9947cafbcf2b41927591e95c1a86a60348b6cc789c94149d0a826c1b3af4c91cda7e4ae7cb2de875983bc32db5d62f7e03c2717d1a68de64cdd763897b6d5369636eec2be0e34d2b4bcdc070573691e4f10343ad9fa518693c798f065c6e1d573d85e5ec514a813183a8c655f9e9d5362a4a03d07dc1075282462f6f702c476ae5b6a77b5ff110d56ed0e84d1ba0df066af9bb037802ad257f6243c1cb91df228a9870d110b8f3f08f4c255323ee657ba6bf1bde00582003325f7167dad5e37deba8bc1b3ef51b8acc04ac3d6a72b6548eb9677afe68f05820fffffffffffffffffffffffffffffffffffffffffffffffffffffb45e81f3cf203b5f1932397e001a612beff094009a9de5c570c5792a11a7f87393190c3df8c9000582003e96dd33dfb13d3961d76d39becf4dce0ccd4a0642951dabb6eb1d0e2ab4ad05820fffffffffffffffffffffffffffffffffffffffffffffffffffffce2fa1d8ef30392c2e5eaf6c2c2c85689d8b15441b809a0e6bd4662fcf80dade0609b528a645e03d3c75b6ec8ae577498b5797b517c2e3247e7cb89eeca4845eca60dbf1f6c302e00581f0280cb2f49421b08bfca802ed5a76ac87d0b41cf2621729c4e532977eb19be451e52f75c0400581f020410dc58d6af809cce139095469d83fd34ea7568bd8d0fbf4f9d0460c8a646028c17aa591900581f0248fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475547a250d5630b4cf539739df2c5dacb4c659f2488d00581f022c178050e0d2eb4618e2164824aa099b4bfb54a955bbd132fda0e2b86c0d450653ce1cee0219041a0219ffff035431dc9249622ffe61a3e66aae76785e28e7fd0596f008921be955b3c29e728f03dd3e8cbbba825bf198a5f56b0382431ed70365787fedda907bfe55689d8ec8fa038af749a369287faceb294dceb2efbcfdc265d605670cd8b4116afeb65c716b9a03cfaf3458bb452376e5dab1a436a2ed2f66d896f08672cbac85b4e75b112646fd031c9e53743c8cc6791c6e1818aec8ec18b13e6cf0a74e263861e97f2f8803d7980317b6e7cdf288a98718810bba7b51e7d2ad2535089e2493e5271fccf530062bcb03a9edbe9218b4f8edd48f2e4b44d2ba8e18709ac6dac4cf2367d44c133734f97803b4cc3b18bb179295f34b2c3088a41155c2b99a31a324aa0dce019e698dd7c03c03e97406db05813b0c76568182cc909499eadc6db9053b2ceac84a5863e0b41ded030d9de913fdef2fbf78de977387a07f3a68cd061d23f6464692a143d160647ff10219ffff03913b7565777e1b88749993c769b583de16d8f0f9d6602373120a53781e265fd503a67f18de0408c998508104e0bd1b089be1ea5bd028626c3f9eb35c2e12401ae00386f9458aee37e9e953492ac6209f82b7a8fe9250e65d592e73afefb6bc2cfbd70320bdd3347c2a934dd74a089082cc39b82a10f2d297d7c00f9f44b890da72a8b6039e0bea385c6f0dd96938adab9ef22ec32ee6928c2e4322bee86c102cf3e8385503dd034f21e53fac062095c3ce360aef4b5166d9ee9b771ea0e6bc855320d704430331c7be9da8a53e29560f471ee2354f465b888b3f3354d59cec3e2c66daa394ce037431035854ac98c6222bc914f08cabe40249d573232df22901332c5bbd8c454e03d0c7711eac4f09702ab24e27435923d3f581b28ff63483e77c8d6b08ca2038f1032fde313e00c9f0735d5fdc786265d5461b9972718eb868e102a87a5bf122f683033f1e9d821ca39dc0f79a62e809930d18d312984457678d1d99f0ca5ee8819da203b19be411515482ee6959dada7b0d11f74652fb7f29e8a99f209902d8e49bf231031530683e264fd157658d4f7a8f754783807e3474cda0a4076004ff490d2794ea03ca14f5b5de0bffc0b8a2cc5eae0c49c4df8ba25f8edeb50f556cc5d7c872959f03e1738013ca8950279279f80317bdc60b5eb038f9b5f80ceaff7726f48bdf2e02037c274141b3f24501f0fbcee0461aaf96c1a2a6f00329f5c487bd9dd300c609460341faf280e310224261c30657e29906602cc8ed09816ae8149ed3424582f67718034b98dbaf2c0f2dc45f43615fdc16733ce0eae2dae459360b3ade693e2b6c4f6003b617327eaaeefbc8f3beb59daee1bfbf68666b1c6c6f261e4e5480f95cd5e33503ed396f7b91de1feb3a83c7e36edf3db94c7253b478e5819806bd4e04bf5b39c003cacbc56d938868783180c9d905aa140ff3ddbe1fc6b0e93a42096c0ad41c842d0345de57d31da125ee584131d931ef79f4f9cac68d5d72d3d955f4dccc9be22fd4039006610ca0189bf6d6b2c36c4ea0a9c5d75d203bbd541219e59617bdaa7af8a80314fd83a8a40794dea7589a1f06de106d798278657b4f3c6b48a3e74e5d26dff903712d91222d86815cc7609ed6f53cda15ac3c2bc4201fec43cbacbf0d3c601bf7033e768d08b40536ba5e0ccd41d3c79c8c91553c80f0e59c1437062ae6e36db1e603cf5740f126a4ce9dab3a6adf7dda6842953b55768b8ed1bb0748653f0de3f6290362582059f8659ccf7707877fea61d1b2f09b91a5523ff7e507c631697ae4782d03e9ceb16521d45d55a8c0c39cd2636ccfd98a3f440ad100f97cf541b3abacdd99005820035f7ad5dd7a3a68f46a4dc633d98c5df6e9eab319b5934c36ca553d7c80044041020308da7bd17bfb0a92a593d99fa21ad5b3bd9c855976f55102ed30ac07bf4e2c7c030d57478bc8e15b0f80c0fe6f419c32c2459aa3cd2480090f5f188cbbe117fe4300581f02183652d52ca62f257da061cd4c307633767cbd71137eba2db54bf025ee73450332bd40b600581f02b401ad4414d8330b647143ef844f5c4ab8fb90fcda472a907ec2c5ec3aa2460365890cca2a00581f0215a97a52efa6076e1dd75e2e50db70716d6835d8a8d4fa4962e1957a6256452dd0bf72dd00581f021855eee8f9d0e632ed88780c9657e704950a0a16aa2194e384051c4216b645175045cec00219a0180219ffff0348b2a47788cfe250b30a90496fd682a4e684e1f52f5987b0379c2a0d37ae2b79039425bc87e2aed7797740bd54d7b256f73bcf79b394b51dff7802709b774413e90219ffff03ce000e7cd2e68e793f5e13e11966f35c1dc7a773dd4fb90b32c35450e2afe9f303d2109c4c16fac29a8232b428dca33f8c3e52b6eb4144e9c686ad29b789c7df17032be8ef567272b34d3ed2956c0e3384eb1c0a52b65be1e27bdf06147e5bdf381003c2c083221dec88089c5469d409fb58856490aabb0366c52a6f1d0ab6361336c703a805015f28c298b4ad89da831f7ed323a135c44a15fb3acdaa7ecc7fcc7225cc035958272fbb80358452859984c5c55c0f9e21409f48b1c398b28f345cdab37ae303aa799bcd0a8dcced9465e95e6e25367e008ace5397813c7842fccc0036dc04f603774897065e390b91c5d151ba170d5aa845b5ee2bc9107e7b4ae2e4580e4f2c7003c417b0d0ec28f40f8460f76320a8930de24b63f1131d0c69469c03326e765e04037aa73675f43efc15d8bb4e36e54dc2b8b8ac2514613ab7c9de31ccff9e95056003d375a87fcb176e8efef88632d96bbfc813e67069fb0172c6941e6a087a73f5a6033f759354aebe6a639b6f85fbc7276f463c40e844fabcba02e454297da37dc88d03af3ea8c21dbef457854710606826764fec473a76f043f4618c169da89627bbbb03008b0c73c01005c06c1c6b320080ce41290167e0f27525be9942a023962839e400582003d1057a9fba425f83010e65aa5824a8b606db536adf1da63b9cca44a20bdc804423c4808d03ddb238d5ddefc323fc1de53ce74e5db23edce28ba5adde1341031698b618a3450330d6e10c8ed55f75eb3b3253a6deb3695e3e5c6c919ac854e24d05156a3406b7036e32bde7f502106128bc0d6c1cee841fefbf4ac6b2966ef7f7433943eafb42d903922ad881a150353e2cb4cd79114f620af04546c81004f245f3d1032929e033a100581f023873c185e3785a2a8f52a0758f0b263e864f50db669495c4dfee9ce3bbd641c000581f0260e03efd6995a17106a7030e51c25ed62a5e75dffd39c4e7b0df6760caee4602a9783d84ca00581f026a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344447a6fa4040718000021905200320df938e6688bd4cbfff7feef88a35e6a7b9112d1ffa09a542bc00d2c7cf1e5a03d8ff43c94b1e4871862f1e0404b720ec9397827a481da607339754abcf888d6c035277b88666ab93baaec4b71a35c2284dbe33fc1ae29b4102fc15fec6b5ec44c00319322bc1f78dc15f6406cd30d5b804b49eb0495025d8f37e02f23ad3eebab8b8032bc115611222afa28da18e3b43f24da099d59051812bf740de0994b5e4b1740b03e0a13eab9d84594502dadee157d71f5f1ba4e86420e9ccfdfb724a3c90ea92b803becdd12c9c4106c400cbb1a25d0eed7297ae5bf69ba3f02095c7b848cfaa19e40219ffff0378515d42d8dcfccc5ca9a3b8aca823ed50fba60e9eb29066e08e72d1acda16e603429c033daf25f94193aee7efa0f5d9ae2aca6956f62e10863dec507d743c574903ce70f720a93153d3b68487fa0388f98be27af423ac022aa03e2f04f3b95cd54503e0d048c1d48f38df0714c179f5ad0d26bf7d5e35e74b6d738b4dbfaa45dd2fcf0219ffff034a6e40300867e00f4ce166d9f348408e40f3a99c80623682b3156d5c1e9cd11103a4c55a3bb4d014623f5baf0a7dd66c92857d7dd6b0972fb88fd09ad706c9fda6032f23064fe43331c098205394af55bc1020e0329b059e185e82b190f8b74ce6900351e8e1f4bdac3939d391c74c833cd73146d28c00b714084b756a86f6585e8183033c77814231eecb86092390068c3826ac539d799302c87aa7bb9dcff0770126dc03a27cb88c2bfc4226173ab6017b66fbf4bbe7dc6b199fada17852ed1b0d9616ba033080c14b1d6a1c754a2892c68c8e107400067a303cd1c5db724b7605c0d5cb97034f561934b41eae071a56b56f838cba54eea1a172ec8e273b0658c57922e074ba0358c10cbf195c264728f8b9a32842f86731ffcd7ed396b58054a955d4cc57507e00582003b3dc525a4b3d5be33be41b090bac93af4bf3064417db43e8c4928748fc9040410103d2e8815aee82713f746d8f40037d606c5efdb49addecba3dcc9955269303743000582003188c1499bacc5a00b85f118b8e6c4080edb463c597da67c0768e457f16ca90461ffdf15f45ed034fb69379a0353847e3738b10790642ecae68e4848deaf9195cbd6ea2573b673903ebb93c038d85846dd0caac3404cb17711bd17a619f13fd973b66518dd28c184303c3827b06e09d544911e2d8672be52f3a101c5ad89bfb74ce242079b16096834203a90d814699f3dde462a81dee7c7877d4cdd1b11a7446fc957045c813755c8173031df0e2d623d5971840fe155b72a549907d2b6952cdb0575b6651089a10c1b8ba03f6f1c039b2e31fafe2e869afe7e3c647926f3afbb3d5139dfc1b4704cf9ef61b0332de27b53fddf2c80cf3bc518e24a0e98bae5484684fd6402f8907c0f6d703f800581f02ecb0929d9f52357d36abd2e20a5e65bfc966ca4433b87ad54a0499219b31452801d0329f00581f02990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5411400581f02e35c9c3faf9025717e8935e53f6b26203e0f724240b7e39c6ca6cdca612c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219204203847b7fa3beec9a06744110158b1dbbe5d5eeb6481114c1d7380e78f669900aa203f0052c8937aeb8b162a41f7a78940e85eb5e031d0303f593dc83faa9aab28c1b039c3cdc8044ab628482f2196163e828074fe7e60f668b9faeafaf3d81bbb74dc603f5ba19ec725b18bc83597817667c26c72efed39a920dd188f7c93a752719bfad0219ffff038b3dab272e892833f241c85b29ffb4bd8a8cd02d8fecdcaa04f61286ed676a4003fd94522b4d6cb8998bbe5c37936a47d8fac9c77d05dfa1b342c426379237673503545949262510aeafc9b235d4635ef749d11b435a51651f18c3bb3890c431113900581f027f30c5d8b6ef161672d69e10458fd245f58f7ff8878f47b30eeb031aec5c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffd5645999ff00581f02147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428957010001e4b8583ccb95b25737c016ac88e539d0605949e800581f02cd72aa8159429b845eca804c743ea97bf79aed33b414eed0929f4b688d2245015c4acdd900581f02e2656aa9018484103e53eca1f0860ae6226fee8c3f47dfd09f34d44321795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffa211ebd8f800581f023ffd91c22bdbaa24467e0b85b24aac8e19b3ef932f9c736c850e5d37ee0e42dc5a0219428c03dc88b338dcfa9e9124cb9ccfa3b115eb4de664c010cca491c20beab1f7bff56103b3a189f3314017ac751ff489d2e48e68062ecfe1e9517b28c4de348f58c8737803df99af45e0221c745337ca58546305117f9d46258e6af83fe8d49a670abc28dc03b94957db9615b697fd63c45d0e530f94eeb079b2dc9148dd8af6e55ab08bb99603f81cfedb79edcf498d18f9b3757884a53301d997d8e8de2b358dac71facf455d039ccb3d14e5c143ff5fe7c688c74e0288360e10c3662be1ce64d47350e7f8e5f800582003b16bd054e574ce087c3d5982ffe5e23793efd19df13fabdf61d368ff374720450ba593f763038c37814865212aca239aea43d8962e93dd5b280ad604a6704c22986394dcc2ce00582003811568fae5e2d414cab4ac199b3b160764862843a211f78c592107d7f39e405820fffffffffffffffffffffffffffffffffffffffffffffffffffeef3ce1762b4603b5fe4bf59bed1c570ae1e186cc231d36ccfb5ee1c72789105ca73ee29fbb5f6a03811a121cde81167932496d3970de9eab8559474d3316a40da62b09db3446a84e0219dfff03376ff17d489fa6ed4de29f11e9c74b71da592c4329c50052394aae607c18a6e403ce68850c2e4c84090e7a847386f0eb6c2845c22f21ed982ac9cdcfe64c6968dd0325362e00b157e1b8c6b6bfbc6a5183b17b4cffa56583fe20e50268e3bd0646d303c767a91b141ba7fb566108a67a2226e6e00477d46b90e2701bffd11c19ace16d03a6ac7bce80be64c24fe6c25e52d7eeef8adad2c807c2ae3843cf3d95acca7c1c03d0b1dccd207be33ce1f1284fc5d68ed5793bb6332bec09421124d7aed727e03a03c5fcd89654b08ea761d36cecea63640c1581c1362c21c65eceb807bcffa937fa035c5f6b9446045a00b472f8866f163dc36ef0f42dde2816db72ee68ba156f9c6d034b8e01925ef0aa04b89b76e83450248e94b1f541f2ac77548a4a0de7fd8d9c4200582003277f87b00af83708050a856313333cb957c6662baa781a713312532e0614b0452e1ea8c20d033011444a75155b4e7dd3532268c70df330f4b200eaf0148522d078f45bbbff47036eabc467867f6077217b4193af0dadfd38ef28ce6494af545ee724e55e9853fe03546770367b1c864ac6442792560f3ab1358e2c17d9464f374e68960a7bc82b6603da567d82d8efd33264283c5c2e663bd4c248ff08bd0d2ce3775a1fbd88183d5200581f02a7a88e8c5510865191f0db37d28808318738b25d57f1842130ba4458f1435820fffffffffffffffffffffffffffffffffffffffffffffffffffffeee248bd91400581f022b48028bb91e443bcfc9dbea0fca20580f6040e80679161855920e09acb75820fffffffffffffffffffffffffffffffffffffffffffffffffffff8f1718bf06c02194080031fa0fed02d1179dc88fd01ce791db6bdeee654b7e04c79f4f9ac4f4a474030bb033058574dcde425ea0b138002a5121a2514350c8553c95742275e9b271d0770f1037a7c8d85465c5a37baec5ea5bb6b47acc292a7ce6cc9d80125e80246a73dcd0d03bb9677fa6bce9c1b6241935f3fc05873d941849fb0bf9d6eba28b92fd882f1b3032953346e620d21b4867041030f1b42da1091170b5887708928508aa506d367610219fffd03b25dc3fd0769d423a11c800120664c0c209c993a9b4a32842b64d314b52209580219ffff032acb4d21af30dfdf70292836972d12cf62ddd7fc97bec9d3900a850488ec8eae03cc411263d3cc8988a9eb54f29e0e1d4619130a8f0d7e27be9828df871cb6cfb4033df6a4c6dd03f9d7c49bd92f1d7297b797c582edc2d57de095daad338f52887903bdab4be8100fc8b95572afaf090fcc800df9dfec4a9e45402fbd079cccc581d4035f39217aa6d7fd2c3ce7d694916875fa76b8ddfc54e66a48c63a5156e22bf0e500582003ceafb29550044cc5f0fb14ee65cfe24cee3bfb40145ad0d3ea36c2230459f0455beecd325103e612d8a4af531fbae795244e8469657ef623465f459dffaddfcb32223c939a2b03a68b7ee3bcbbc1bd64c2a86c4f0b44a04b116195e3a5b7444c03b041209b1fb3036ce87b481d2cbdee2dc4b015fb7546c8159c50ebc9adb499a8ac35b65af18b3503269e74bc3a6b7d43ddfc7c27bb7722353a540e8da0ba48408f0276e957c7f30f03944ee2e24454075b841b30a36e7ddf4e246d6ca74530c55459eec70f8ef119b1031e57200fe6c140fdeefc757b3d7069137550b2af9e24d60c49cf1421b36b66ca03ed946b638e7b9bfd229dcd82a01423a35658b31fea595819002cebcce4b48e9f0341d8d1f84b1731a12a354d0b29367a68a06ed01bdc32d97d9cc8ee072a9f1eee03448252da6697e9233f5d4a3c719946be868b34ca42711e18e45beb9e40d2d87803b18158eabac7565c9b2f8770fed1a07692394b987ee02ed6f2a02ca0698159ce0342411ec7228e569c5850cbd550a5395faad10fb2d4eb5be2e3181af6c79fa22100582003adc5f3c6b6fe7970be2f316a8342eb8a0f661d6bdd4fa17275ff4bb06ad2205820ffffffffffffffffffffffffffffffffffffffffffffffffffffea2a576f70be00581f02414d54d79d3090f8a659e6d18bb0e68bbd16ed4d8624330a04c665dd7179410100581f024d953d6ce1d08162817b0f88df54631a06cb7aa78dd85d1053accb3dade8444d978c1700581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee34401110ce000581f02cbc1a890caf5b6fc46c5e6f5c39c6a95805d7ba48eb67fd4cea3831cf7ee45023248d00800581f020b8bb53384f17236b218bada61156b9bef2ffa3897be9eb0290fb526f5af45474f8c366e0219a0a80219dfff03b85076abc7934033d2ce14cef3c1fc4c07732a03b340d168b61747791dda809e03ebb05e23daf99c6df49c9bc151d248b52de12197f237c9a582f27df0f8272d28037487dfb6cf6054e81ffa361a443efaf612e9efae29f764b774d6fbbd5ab6f0100333c4a8d6273f23c8c78c6d464c77f7aff147c00d6e39857581a2939de37c2d5003d34193fa7a5c5401acb611f6395393887dd302e82713adb320481b9bb219fd3c03c5547725641931c53c5cfbde61ab8715298e900a768f408e5068a83b7ee4546f038a596727000ab6051a55b24b0d71584e4dd55a03afc7596ee7d3aa7563dfb5c603c4b0c6183b7a05f7aa0648ec3d9a28255425c870982b4253d8b618355f7b97f103ba2bfa5a7c4d32c55550812006af0a5eca2394226c2cca400232043ab052c42103053242e35f4776022bd0e8e3189df27d18e8c09d9dd828624995f8a5994c792a037f40286ec9b34c3da062aa688c4de33fed9879678a6d8bc99c70ca001be5950f03646f91751e1903a727596f7b5661c9a0b24b097617b48c7d97111ec15f5a412d0219ffff0219ffff05581d025a8fe65f86e428ba621fa355d546c04e501e99a5eb8ff4598e9585280f014101191a2a05581d02f0ddba0e917cedc5b7d7420a2b334e2439f28594f74f72afb83b91360c1647021144356151c0020705581e0300d94569eeb726d57788a38c5745bf67c9648c161323c04e6ab89598400c06470bd898dbbb584303d67a5bf5a2b2d04b4b54130a1c66926937c8be4d5bf70e8594c291da0791250a05581e031767cf4d499618a995b675b7f31d2ad10c9d004dc5f610772e2e8731600c01461330ba013800035e84da026fc0a4febea8585835faa1f29485e782fabbe08a7fb4a4115b40b42c0219ab56030b7983185a297b9008f51785f34f71f9afc3c6a8e7c7c44a152c3c4d901c05f803c480fd314ff138e238546cea88e67d1811b05630a7fa420413e7324fe95eb0860303b3eba11a3b4141e43edad5a17215e2256c60227841ee2ad41518635160291803a7de8f36f901e2b9feafe0069f065d8547fc9ad25a9a392010df01ffa1b14e6303bd2e9fcc85dbb68137b3c6aa62adae540b4f78c590c5dc3b5dc61a3225e9163e03d99c8fbcff28948a4702fc99ac18e2faec61e164de9405a44ff1a3407e9aec6b03f92237b9a25112081bf9ae6d166eea486c607217ecaf9809cfc2ec4291cfb93003bf720b88428b718bbdebfac565b08717fb07e2c1618f312d8ce7afe8f5eabdfe03eaa8d4ba0ef59a288c780260cc2c78d6873e51fe764e23ce42543907876c373c035e9876c8de084c0357e6d6fa7dca89103444298ab791b4de6505d04638441e4e0302de49eb0972871ae05852c068e29f34c738a458c9c250fc1115a98ae51ecc550219ffff03326adef79be230827d69053b22ffc26db1173204f07a3d02c03ccd0de263a0a8030e886aed6101f644e73692b1819bdc3d53cd854a7c02dcf4ae5c5e46a44ea8770328bc5c95b6f97277b9279f83b25872f4be2c1377541a8fc7e89e863a8a393d190219ffff033a06eeeb150e22e0c96652eacbaea2717be5c6cdcc06d43ba035e88dfc0f8bb30219ffff03ad968e29b63cbe6c5e37ca1c8bfe5762e61da52cd4c2f4b2e21e53bd97b3633b03b8a132d2a0b5dc1375b73c398ac895a768ac8391500ccf206ff8d359ab7f1f5503538c2ead6e795a12a136326e3a803194437faf68f0cbfef80384091691511b4d0325404b8ec9e08824b0315806bd0866d457b1059f69eed54fab7718f2a251aed203446fcbff019825d6e4f0efe26c1f836d42755509e6935f01737fbb2556f21ef303b5296520e53d043b1aa47a0dab56fb91d7ed55d9d3249d537de13aab9c40fe75036f5f93f88929510beeaed455925e988ecfe257a0b921eff56da165983c487592031b5ea1c08c52dad275f3593e3fda2fd3c5a9a2717b686b9b4f96bcf482ad6df003f526e3be76d010dac3066ad0dfde42f0a75330b936eb9d0f95990bf6dfd1dfd6036ce11ac8ecb4062e3dfbb0597a9a5ccc2a740bbf74c89f203b68b89ea16058cb034534f7546db8838a365375a6b3c7d2f5c65364af36fc0e46c0f1ec7dbc81d252031730147b88f1332ec7e73f7b61b021cdb5aba0e17b99038b23732550d0e58efe03dec69b3399c713465d32838b4810bd363aaab18f330d90268d4b4b46ec54e52603feec837042b77e84a8a19ab7607e13b73159881eafe088b1e2943c446e5b2a3903dd5bd4e7eb921db18bd1857afadc4c04c67214f6319e688d5db45038ccb00e5c03cdfd0ee2be7e65531308d2c9f66d8ee136190cb6341c3ab687cb166441e8064d032df3ca8bd6e0e1fde1ba425283f3e3262c99744549d1e9e7b52f54b28fc1f3f605581e037f8ac2718038643385e109e3de1cf633658255f6d330b5f851d96e7a800401038b583a939f1173989a82839259b542556df2c8fdf0de26314b0a9576b4b0e69703af134eb4a5da4562d6c7b2d6f7caf10ed4c7f5dbb1b06bd2eb3992355525c4d403eead5c58f680359cd4f2117b971528735b2bfb924199389fc69c2d9d305dc44d05581d02a910735695302ef948a47246fa30565d9142e99818cf6253b3b49ea107011bffffffffffffffff05581d0209d2d5048c735b186b364791ab055974f2053e0a0f0bf977c40b46f80c194fe0486555929594d3dc8d0219021005581e039b6e3e5a0e710f074b4ecd6357060abb8533e7423f919a92a331360040040105581e036eb3b436efc1acbd579858b29b0eeabbee2d6d312d03f53b26ab6064f00c024709fbd10883fc00037f3057e308598339a6b23703233e51f82b11a94d0565f3796b3cc531277e394305581e03cc987bb86fe6f6a400f0b6fcd66f010816a52fb736cdd3f7969829adf0040105581e037fd6bfa2448bbca416634e80e6f0600a55d464e4d2c72bee2cc13ac200084804d412da4be7700005581e031f113d8a9dfec2daa381e240ea0f29dbb36e2565b8e6d3d32ef4f152900c024801c59167ad045a1005581e03cbc1ae98c6428e09adebe2e18f0decebddfc4a3af18d2e4d1cdb15b1100c014702a9fdbda0c68605581e0331cfd4cb15e6145f1f50c7ff0d196b64bd5d209fc46ca58cbdc5c10a500c0447031f58e59d340002192bfe03384d8ec34dfeac52507d9019d4cefa365b519af1e1606e70a480d24ec99b1a64031c8f8b96ac71bd3a80cf1c2a690499049d948d0ebb9b46d9a35ab68a1e85c3880390a0667da7607108175b26e0007bf6643ead45e8c64eeb808935ed6a427af8fa032890fc18be8df7f423bad95f31fbdbc6348ff3006a4f47921070c130b4571b37031a194e255b7c188029058d7f266d1f2080e6527cdc4e5bb24f8596abf6af6520038ab8644a100a7ac1fe65f47d6d03779f8aa613cc28916d04d5c8710cf9834a4703600b381767cb87ec78cad8e485ca197705b4c120ece410d2460906668426ee210304ab3b68fed283b8d1ac15c1c676f4407d66d55ad612fa5416d92c840b045f75037b83cc23ac24436c3abd0dceb0de1c6b0c4089100056da1d8cde6be079494f5f03400e5d8b4a33e92486352ef7375a14a2ef8cbcf22947eac69a3eb6e77799f06203616bd9643fc9c04fa895dce22da4a4381ea81384372f22ed7b072686843e0a820219ffff03e07d7f479fb4178a39d234a735674b9602b694baa7d8673db90daaca75127c9c03deb9fa17bb946f09b9f68204afca8299ed445b2c1e0ab528f50cd182a5f19637037ff1f452db6b834216fadeca3355768b3457130cfe7546811baad9f68659083d03a37793261dffad1d1c4031f5ff42245f7db7126544410adccc75c360e57c15b303762122a309f6854e9083c5c9966b023e6f6cf60bc2cec9de2e37e059ca2dd0310366cbf838a709596593ebd1702c8023d658920e775534735a5b7d827a0a50b067034cc30501fa2000ed7c9145424a5796900c4618a86da03d691ee80a2363b2fe0603f31e0799de1c6c2d03e0e0575fe0aa8a23fd4cffd1b4553ab2782c75faac6d6c035ea141673adfd20a455ba47bf9560712694f906a524dd105b1a3f79f05b4d3d4031c8c8bafbbe58642bf78be083f88e0cc2ab3c5d56df763fb27d738750f125dd103783d32c86dfafe2d0a36efbeb6fa5267d6c1b16cff6b4eae963594081cd19988032dc971ecbaf7ea847b8147ea2b497f680fb281c77ee179a127f25db461ea72d9030dd5a4f2b63e91c05c2e83960fdd0279c5896518a2f46b512b3a9483315d3ecd035ecdd664491cbbcc7219ac5023390907d846d00c32e2650877e18f4f9b98e55303667e149626055021d0a5d61cc7263a701e8e0fa0a17ff690709732f28e9f67f40391e70812211ecf52c944c0dcf0c7f3dfbdbbfc3092114d43426b9244fb0df0fe05581e031e44681fd7c3321ed0e5498ee00bd9448906f0ebc8e7e76cbfae2d43500c014713bdf89a8d680005581d021c0624d6891183063cc8ff978a85bfd94d90088fdcb8b4b5311745e20c014702d6bf6e02f72005581d020a0f9efc5e53579f31af694ae09a092af658efd40ce9569442076a1f08481bb170ad694ac0000219080405581e039baa32a718f9aef03ff2fea765da98fecfb6b72fe4f8b55a38b9b7b0400c02469b574948352803fd84161afa9d5155e65ca878da1c79cb9d6f3ffa1fbcedbdf0074c9f6a3357aa05581e030b00669539a8272f298cefdf308a1d50920ca8862fd9838314fcd50090040103964f82b2f51be9203597b41cc26cdfa5575ca0b67ecaa6f3fd5830ef2ca5e1ab03f456e8685a60fda4918fe58ec4053418a56130202b719a8da0e3af07d94b4376014200eb03362896012d32cf978956793698071e4b424965a9dc2d5d48ff07363367d91bba05581e032e433aedd7297a791b7e8feb5f7e831557efa1bc62297c0f624e15a2f00c03472779895ed1be000219fa8503e5ddacb736b04d3d567508a475d5cae7877d0ede61665f35406a941765285d3b03c089523026aebfb8596186949b10b728a8df03396ac4c3863f4acca946002ab603398858ecae3b155602d84e0232daddc13cd01b9c45b749c26b3ff9984cf9849c03fea05d37cf03c43bcd15dfe6470a05fbcf4d70cf70a2d83fbb518a6d8db9c683039676d9b9f2a1e4f38707633ac9a4b3c79e09ff6852fdcaa5deada951cf15e38a0219ffff03be9d1d4026b56d4f2193e2fe23417b051fda18836b8c95a63e317b8a3e44d5f003c965236c6cc960fd4deb371e4783cd0e85f5cb512e24afe8663d1c7940cd7b87035ac086c49ba5c9609539120bd20ab8ce5e0e66b10db0b0c1c151650e93f87766035cff2aa840ea83fae9b407cc6043e10306c1795d6e9631b2d29b73c3baf4fdc90219ffff03a1dfb70c3c24aaf43581c5e2e70937fa0ed5a2ddcffae2a46ef97fe4510c3599031e2c9ee488cfb31517e6b8021401410151c564e67f77ee90041dec3e110039b00382771549f3b1a8b0d6caddab4f9dbf5b235e79ff74a7fce2d30fc1dd0c20f5df03fbb955ee464ae86001ddb4c9b88b2f838f4ea64f3340ddca0bdac48357a18fdc03b154d57007b807ac104113b6ccb0a4c3eb0ac0d96abfbef15d97d67dad4566b403bb624a2610665d4e420e09748f59da354d95cc7479dc622586b7ced093525c0503f301d8dc1e9a6ccf6faf3a2452bc0d3e143a6110f2945a573ddab10fc91a9bfa0360f5d5ea271515cf309028a5f38b6a76e259a72e697284177cf0d44c5f916ea103674de71804fa570d4e7d56451c2f8ff9a250d8995d8503e151321a1d1b106e82036d29b14a919405b7b8db99339a6b03b0df8fa35e15a6fc80735aea0a9f8f4cd9039b91e3e082d45130ecef6c3204249a032510460693fe8f019323c96ef09e9fe203740c5519360d7bda9a84bbf40ba14dabc9c0bc52e8878bcd416d8b8294cc065903b7367303e0acbcc4816a2cf7a9fabd9cf01208f664d18e35826897082be3a51203e7f7e8bb78f1159cfb165f28c556d203a00b48a1614db1c7b763fbe8c814428f03cae41835fadb3461e500893a8f49ee5f77d2f4163ea8408e67ab551dc4ea2b8e03e54416ab69e87e1510c7ca71a936af73af8b70f1618d966914b66cd0cd2c3c0f033f496fcc48260711a68e664e37b3cdb079edd8d1dbd557b8f1358249f5a7f8b003af1fc4a1c6d84b4eece21a84cda1b7dcf7843285d9fc12b4f71c462b09e9990e030ff9c97fc4502f533ca609290486f730056b21e355e4e007fdf8e04189df431c05581e034eee329f94aff3dce7934b323cbf9686aa7b0ecf7633485c99324ecc50040205581d0261f51e88d63eb18e9e07301c7aad9c36814ae5b2cdb00ece7dd1e851040105581d025e0908301e92a07ca34e78cb9d37564208524998c0e19a28c62f42ff0847b1a2bc2ec500000219210005581e035a8b7a02a29d950c60e5525b52212a6d501bb78f0778c7400a0670de5004010349968ffb874ec66da0e4d4175cc80ab5c5a1a6d69864b36e43e9ede5c3afa5cb05581e03f2359b539eebfdb90bf5513220bde3a9d0cba09e116ef76b8e095220c00c014701a4904b452d3605581e03955c8dca7015bd26687ab4b5c5830f8f4d286de08374d40e8163e98e600c01470d8291039f12c003483aa035e62a1510bff3ffb395067fa174c305d8cb8163119d598944526b87250141010219507b03f80620b58b717b8be19563dc446db6785a62148d06eeee27bd6ec6b5f6492ea003cb68b4e3cc0683af8cadd897df87ff6348084fe77e9edc05aeb168437e885adf038850deeca52df785d086af29a52cb82c372e2a47d48d606f9dcb184a80531c36034db9de6a8035fcea42d2445f17f92d9ee49ebbf8eb0317810a8d29b74b9b857903f629ea68158fdcf7c25e8abf86e8e19fddfa37e616b34d654f7db616fec177cd03252b4e7302219b0238cf52dba1a09acfd3d1290434a6f59d08586f12242c685a03e45e28dd622d8375ea6dc94d99c7214259887218936ea0e65d1a2a6237f7847c03252ba7c5e4fbd539bcd2fffa8bdbf00ef38933b4ee430646435e7c3f391f8518039ddcd4ed5d6073b6e5162149a155d53b1594bfc85e7f86f21ead3f3874453cdd03ee9e82bbd00de532a2849824da5ad718b21a01349eeccf6119781b1cd056f1290219ffff03e7d37e61edd44717531baf7cae0c086e999d14976d08c255f26b3f278fb6a0a6035da89b680be6008947c5aa54b0be8a570a0c52072c754f8df1764dcb4bd8c4be0342e59f375e8fae1392a87b19e34ed95dea323b1fd06ebbfd008311bd5adf4f03035b124929300b887ecfa6e728d50d9ef06ebdeace746d1060a21541f7808a93120219ffff033e3aec80eb8c8fb9e2da8543d04031a2e6a7cb003bd01c02f7c1a59f9d44ccc203b805af41a777b58b7fcfccb8b2517d1248a416d116163212a5fad33fa37c6aa70368c51bc487440c1d4917e85da450fdcb195a201d8ed4a2874a9de4fd09d23cad033cc06450b26770f21ee4d40394728bdbfcfd35ed43ba16db1d4878635e03d5e4030a4319b1a4cae24c110dff7868d3208fb0de1eb68154799cc0107172325e090503976173e363631b7dd137d801c36a5e0d39c9c3e82101a1bed0a0686492ee7a8503e10fb9eec6263cba5a629932d4693b6f9a02572cdd39bd258f9dd781738bbb6403980b1fd0db0669b944dc2aa55b5ef2beeb17e9558813ce273f9eec7077f4dbae0219ffff03561ab03c310dc549bac23687f89c1a6bd83eddfa561897591384daa606fca90503d260e333268472671e8416d0e12b2fc97384c3867dedc8df12b7b5e4400b62c8034dacc054c971695331aa1093f2747ab35251df10b8657aa7ff4c6a6601b62ac20219ffff0333126672998d9219a88e73248b90570a48aad9ba71e0983b47860e9e6cdecf5b03cc4a9e409648361b93b3dfce5c750fe5866e8d01204934cfc77275ae863849770340d79e2c57efe1b24bcf5516217ebd740a217fff752757a648187f47e1d075960358b9d67c694b80e024c759b0e720ce6bab8db16f13264d32ad66ed4ca927221c037a20fbbd3bca90b0a031ee5d52453ec7f155a0dc97335cd4636dab7b2c8c3b3f03c85a6ed7c32b9210f648b24734a4efedabd37db8d49b0c1c5525abfab3149996035e0507b84a9f06e18af52898d361823cc0968028af42f344b3c76607b313b4df032bd3ab04374f1ebdf78843e5011b542eae01a1ac10738c05bc76480e38976c1003ebb269629bd341c7f34d97fb5ff88f47fbd0de8ac8c29b0f1f62147772f2d62503dcb84f788d324880f95276a2df4c568d7fcd37cd2afd763257aa98a651ba95ff03701534682961a80bd69a9833d4cb76b5606dec0b46a72cd3d7a7e1c2bae685a003c313d56974fc2455c2306df538d083580b7fe51b7f140052b75d15bd3945b27603b6ec60fe8ba140f937c6691b90bf3870878dfa28bf0a13f40da8908b86485d6f03fa017a350f39d34469dd014be321eb5d832fd962b6a6ff38fdb0118a3cfc310f03bfdcabd4b14ced4ff580b106b1ef11d2854b3c831e6cb5435cc588f80e44228a0355d8d07cc28ff642d3cdf7d76cf49a5dbb364dc0ec532e386467a27ceb54843b0325984a465b58fee20105e7d522b4e615e3a8021f495d89e616fd3eba128d47280310c1724429d0a08efc14b41026b32195c38ed7ed9c4b0edd4c7aa0c4a297092503ce3f1b3157d69247ee94ac62030375c6fecb54b407192769be0b6cec73af9cb005581d02661d3fb4774676e5274c4c277efb3c1ec842fd6bbcc13c90143aebde0c0347019ce91cba600005581d0385bddbc95f117f911dcb20c8fbbe71a5567108a99c2dc6c2115b7da00c181f47ba0bbca85da08f05581d030c8f5c9f1048534df11b1c179a86d85957606490e018b832dc3d7eb00c0447012065a55636380219012005581d027018597bcaed6b40c4dada76cd172153ae590fe803cab1c6db8ea79d0c02467192213e0ab00219012803995c1d23caac863284e1c9cfa06f64ae3cb9cc6e301cf8f20fbbf170a621e4f405581e031f7f258b85a0424d5ac579ba99702802cec169fd3f57195c6f8b5ff1000c024701125dc23312000371ef343d0413f03e70ab328cfe1e558b3c73416eac68809160378c53c08b0f7e03ce47c06923ea953af02a08a5e1c0e029f7fefb757b5b84677eaf32988f36d3b205581e032cd6c8008900c7ada77bd41f1c0209ecc9239e9f117f21ec72b6959e90040105581e035c500c380eeb97027ccffbbb5e1973b4d3e62c568de932ba0404dc6d50040305581e031ec8d3132df358e74d0f6283da6755ebd69d6380dc99cec48dc58d90a00c0247441f29339543a80335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e0391d043665c0a52eb9d525b6b2fcc4be47344d973e76d3c4648633c2ef007011bffffffffffffffff05581e03a55346536fbd468d4ef8b9b41e7020481ff8d2525cf452ebb9bc9fef100c03468042224ef9f00219db6903416ff2e01a39bab40b0dfc947dcbf6004b7c2827b529065ac65c03693ad268c10345ad9a163b5aac0c961d81c5b2ab5bd169c51443c0474b9efe9c07979782666f03408241b576840da0f1454fc7e8bd32ef29acdc00e8de9c94d4fcb5cf22daa90703b114e86030c68c4142dd47b8ffefd272437aaa0b6a5404711118c846fa17903a037d190e2f988f012646dac97533bec9a944007ba81e366bbd6c705ba9a328afc60320c6133fcf04cc4ac9d59585f3e8fb82199eab5df02b90763a35f433e6f28e9a036c254b508b072d76c8a57b65f3344b040e7f99be4cda871d2b3583e6733d5a61031b8303a1b4d4c7d3f87948f1407b459db9db76b331624bd13fe30b9c0f6b760c031e0386b9811023255c20f0e4710eb114c835f79e831e7344dff2b68058a173570219ffff03bdc960cb9394e03e82b5bbcab7f2fdf6334c81ba057c364058c95fdc07e87b420311e6c20e0a06124c0e468803b5597e4b0d43d2ba7ed9cbb6dbd06babfe3dcf2e039568949659d313e508b87ebb7c8cfb029a6e5e14761de394de9867496530d352034533720d56e5940120b2e968c71f860b8c7628499b63dc0b7ec35dcf314c8d0f03c23af0aba951f4ed82493d832ef6565291ab3b44c41bdf0220d1867e427c6a4b03d59af7e68b79f918c1da87788ad8f12673cdc349de40d4f439fc872d808b06e603bb29168b45a310f937afcda8653cdf94eeba7d87f858bfe332a94cc8655520f8038427c046bf3644c94063c1f90c6a91b8b3e852d5ca6e664b6fbad1033609125503c4a93813d6d9085f9aefb1eeded650ea4b9108627b932443da06bebfd431350703cf172bddffeb33fe1f6212801849fa1421d8777e6811d1d0ac6712b84b0b49ca03c1ee9aa9352874761e77ef5145bd83f5a7c3f43bc846064ed8389af765b9b64b0370a6a65203b66c029e9ad817739e24a3ca6d2a30df81a3372f957a58f1372bcd0219ffff03e9415951b1021bdcc073d7883a378b122873eace94f880f8da0bc507f6e315b10334ecd954c5a8d45ddcb82572cf7951f05fb323851ed510d55ec89ac78af699a003ebccc5145536f54d4e23df3f9da11861f4e83c4ac9df5e91c2bb1896c2a7756d03123b317fea5d81358ec394d4571e70c011545c29b18a3c7a99b946b7aa672f3f034021b21036bb32a952365faccd8c766e1aaf44e90a3d99bee718f7cd69e24fd90219ffff033ab7856813049ef658e0169a3bc8fd2565b1f9b2b80fde5674fc00123d1c624503597da01c49d70329bb7a87f2b35f3f87147213076736cb6c6a1bb94cb1e2dcb10367b038979d6478c5a538d0a7930ea24afaf2b4b55342bce17b5fba68fe9acad00389b9d45c1a936f07eb782529a6a0b7eff5efa66295a1975943590ef0d2b61e88034581275bd4f9f3aa9e073ffb8e01cfd5f212508b46abff5249b6d568f3a0d85b03288c8ecee3b075a79b2ab4b76a6c0b138adf660b50fc6c5af8b2b22dabd1eb980322ea01e76983544a7024956e9223e27e62d4dc53c08390235d65877a65eab474032efdd2ca2916d0b4a19d2946c54ecc39b2d9110e3938c3188a7a4aec8677dce603085936b2cb073303511494dd4b871051f9319dffad0a68f0c9d039bf6d8fd0e603047001d5130b998d7eb960c3ebbeb38e2cbb256b86924f616d3da435ba0cb5b00318a2776abbddfc0ccb71b5886c77bf868f129eccee70e7f9b149a8ae47e9f03503ae26b65f8167935c72e2ed18f4940af18eb583db2064096193bd40b0b9dd9bc7038c5b9850e09b2e0900351da5fe67d05b7044ed3ae949ac790f0f2a3b2aef169a036fb5636587f4580fc2e2b1c8c6d26e81064351a5d5fb4a223e73c45e2d250d9b030181365d6f8bac69047ebfb29d7e5db4b75716148df23a1da417bb5ac47e4f6403197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e03af6d259b46889abe19c9c44a283ff34690a6074bcc1952dc78eefff5c007011bffffffffffffffff04595bd55f3560e01c6005600560068306026152ec01601b395f51600760078260ff16848460181c0260181c06028260081c61ffff1601601939505f51818160181c14600336111661004c57612988565b8060fe163610348260011602176152e8578060081c61ffff16565b60206154b560403960206040f35b602060043560206155155f395f518110156152e85760051b6080016154b50160403960206040f35b600a5460405260206040f35b600b5460405260206040f35b64012a05f20060405260206040f35b600c5460405260206040f35b600d5460405260206040f35b600e5460405260206040f35b600f5460405260206040f35b6004356010548110156152e8576011015460405260206040f35b602c5460405260206040f35b602d5460405260206040f35b602e5460405260206040f35b6020806040528060400160206020615ab55f395f510180615ab58339508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6020806040528060400160206020615b155f395f510180615b158339508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b601260405260206040f35b60208060805260066040527f76372e302e30000000000000000000000000000000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f35b6004358060a01c6152e857604052602f6040516020525f5260405f205460605260206060f35b6004358060a01c6152e8576040526024358060a01c6152e85760605260306040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b6004358060a01c6152e85760405260326040516020525f5260405f205460605260206060f35b6020615b9560403960206040f35b33611360526102ee565b6084358060a01c6152e857611360525b60043580600f0b81186152e8576113205260243580600f0b81186152e857611340525f546002146152e85760025f55602033610dc05261132051610de05261134051610e005260406044610e203761136051610e60525f610e80526103546113806144c7565b61138060035f55f35b3361136052610377565b6084358060a01c6152e857611360525b60043580600f0b81186152e8576113205260243580600f0b81186152e857611340525f546002146152e85760025f555f611380525f60206156355f395f51600881116152e85780156103f457905b600260208260051b6101a0016154b5015f395f51186103e9576001611380526103f4565b6001018181186103c5575b5050611380516152e857602033610dc05261132051610de05261134051610e005260406044610e203761136051610e60526001610e80526104366113806144c7565b61138060035f55f35b33610a8052610459565b6044358060a01c6152e857610a80525b60043560040160088135116152e857803560208160051b018083610960375050505f546002146152e85760025f55610492610ac06131fb565b610ac051610aa0526104a5610be0612fc2565b610be0805160208160051b0180610ac0828560045afa505050506104ca610d00612c96565b610d00805160208160051b0180610be0828560045afa50505050610be05160208160051b01806103c082610be060045afa505050610ac05160208160051b01806104e082610ac060045afa505050610aa0516106005261052b610d20614778565b610d2051610d0052603154610d2052610ac05160208160051b0180610d4082610ac060045afa5050505f6008905b80610e605260206154d55f395f51610e6051186105755761060c565b610e6051610960518110156152e85760051b6109800151156105f757610e6051610d40518110156152e85760051b610d60018051610e6051604052610e6051610960518110156152e85760051b6109800151606052336080525f60a0526105dd610e806129cd565b610e80518082018281106152e85790509050815250610601565b610d2051156152e8575b600101818118610559575b5050610be05160208160051b01806103c082610be060045afa505050610d405160208160051b01806104e082610d4060045afa505050610aa05161060052610655610e80614778565b610e8051610e6052610d0051610e605111156152e8575f610e80525f610fa052610d205115610a5c57606036610fc037610d0051610e60518082018281106152e8579050905060206154b55f395f5180156152e857808204905090506110205260403661104037600a5460206154b55f395f518082028115838383041417156152e8579050905060206154b55f395f51600181038181116152e85790508060021b818160021c186152e857905080156152e85780820490509050611080525f6008905b806110a05260206154d55f395f516110a0511861073457610955565b610e60516110a051610ac0518110156152e85760051b610ae001518082028115838383041417156152e85790509050610d005180156152e85780820490509050610fc0525f610fe0526110a051610d40518110156152e85760051b610d6001516110005261100051610fc051116107c45761100051610fc0518082038281116152e85790509050610fe0526107df565b610fc051611000518082038281116152e85790509050610fe0525b670de0b6b3a76400006110a051610be0518110156152e85760051b610c0001516110a051610ac0518110156152e85760051b610ae00151611000518082018281106152e857905090508082028115838383041417156152e8579050905004611040526110405160405261102051606052611080516080526108616110c0613899565b6110c05161106052610e8051600781116152e85761106051610fe0518082028115838383041417156152e857905090506402540be400810490508160051b610ea0015260018101610e8052506110a0516010548110156152e85760110180546110a051610e80518110156152e85760051b610ea0015164012a05f20081028164012a05f2008204186152e85790506402540be400810490508082018281106152e857905090508155506110a051610d40518110156152e85760051b610d600180516110a051610e80518110156152e85760051b610ea001518082038281116152e85790509050815250600101818118610718575b5050610be05160208160051b0180604082610be060045afa505050610d405160208160051b018061016082610d4060045afa5050506109956111c0613142565b6111c0805160208160051b01806110a0828560045afa505050506110a05160208160051b01806040826110a060045afa505050610aa051610160526109db6111c0613320565b6111c051610e6052610d2051610e6051610d00518082038281116152e857905090508082028115838383041417156152e85790509050610d005180156152e85780820490509050610fa0526110a05160208160051b0180610340826110a060045afa505050610aa05161046052610e605161048052610a85613f1956610a85565b610e6051610fa052610e6051604052610e6051606052610a7d610fc061298c565b610fc051602b555b602435610fa0511015610af7576014610fc0527f536c697070616765207363726577656420796f75000000000000000000000000610fe052610fc050610fc05180610fe001601f825f031636823750506308c379a0610f80526020610fa052601f19601f610fc0510116604401610f9cfd5b610d2051610fa0518082018281106152e85790509050610d2052602f610a80516020525f5260405f208054610fa0518082018281106152e85790509050815550610d2051603155610a80515f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fa051610fc0526020610fc0a3337f189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2608080610fc05280610fc0015f610960518083528060051b5f82600881116152e8578015610bdc57905b8060051b61098001518160051b602088010152600101818118610bbe575b5050820160200191505090508101905080610fe05280610fc0015f610e80518083528060051b5f82600881116152e8578015610c3257905b8060051b610ea001518160051b602088010152600101818118610c14575b50508201602001915050905081019050610e605161100052610d205161102052610fc0a26020610fa060035f55f35b33610b0052610c7b565b6064358060a01c6152e857610b00525b60243580600f0b81186152e857610ae0525f546002146152e85760025f55600435156152e857606036610b20375f610c80525f610ca0526004356103c052610ae0516103e052610ccc610cc0614abb565b610cc08051610b20526020810151610b405260408101805160208160051b0180610b60828560045afa50505050610160810151610c8052610180810151610ca05250604435610b20511015610d80576018610cc0527f4e6f7420656e6f75676820636f696e732072656d6f7665640000000000000000610ce052610cc050610cc05180610ce001601f825f031636823750506308c379a0610c80526020610ca052601f19601f610cc0510116604401610c9cfd5b610ae0516010548110156152e8576011018054610b405164012a05f20081028164012a05f2008204186152e85790506402540be400810490508082018281106152e8579050905081555033604052600435606052610ddc615002565b610ae051604052610b2051606052610b0051608052610df9612b8f565b337f6f48129db1f37ccb9cc5dd7e119cb32750cabdf75b48375d730d26ce3659bbe1610ae051610cc052600435610ce052610b2051610d0052603154610d20526080610cc0a2610b605160208160051b018061034082610b6060045afa505050610c805161046052610ca05161048052610e71613f19565b6020610b2060035f55f35b33610a8052610e96565b6044358060a01c6152e857610a80525b60043560040160088135116152e857803560208160051b018083610960375050505f546002146152e85760025f55610ecf610ac06131fb565b610ac051610aa052610ee2610be0612c96565b610be0805160208160051b0180610ac0828560045afa50505050610f07610d00612fc2565b610d00805160208160051b0180610be0828560045afa50505050610ac05160208160051b01806103c082610ac060045afa505050610be05160208160051b01806104e082610be060045afa505050610aa05161060052610f68610d20614778565b610d2051610d0052610be05160208160051b0180610d2082610be060045afa5050505f6008905b80610e405260206154d55f395f51610e405118610fab57611042565b610e4051610960518110156152e85760051b61098001511561103757610e4051610d20518110156152e85760051b610d40018051610e4051610960518110156152e85760051b61098001518082038281116152e85790509050815250610e4051604052610e4051610960518110156152e85760051b6109800151606052610a8051608052611037612b8f565b600101818118610f8f575b5050610ac05160208160051b01806103c082610ac060045afa505050610d205160208160051b01806104e082610d2060045afa505050610aa0516106005261108b610e60614778565b610e6051610e4052600a5460206154b55f395f518082028115838383041417156152e8579050905060206154b55f395f51600181038181116152e85790508060021b818160021c186152e857905080156152e85780820490509050610e6052610d0051610e40518082018281106152e8579050905060206154b55f395f5180156152e85780820490509050610e80525f610ea0525f610fc052608036610fe0375f6008905b806110605260206154d55f395f51611060511861114c5761136d565b610e405161106051610be0518110156152e85760051b610c0001518082028115838383041417156152e85790509050610d005180156152e85780820490509050611000525f6110205261106051610d20518110156152e85760051b610d400151611040526110405161100051116111dc5761104051611000518082038281116152e85790509050611020526111f7565b61100051611040518082038281116152e85790509050611020525b670de0b6b3a764000061106051610ac0518110156152e85760051b610ae0015161106051610be0518110156152e85760051b610c000151611040518082018281106152e857905090508082028115838383041417156152e8579050905004610fe052610fe051604052610e8051606052610e6051608052611279611080613899565b61108051610fc052610ea051600781116152e857610fc051611020518082028115838383041417156152e857905090506402540be400810490508160051b610ec0015260018101610ea05250611060516010548110156152e857601101805461106051610ea0518110156152e85760051b610ec0015164012a05f20081028164012a05f2008204186152e85790506402540be400810490508082018281106152e8579050905081555061106051610d20518110156152e85760051b610d4001805161106051610ea0518110156152e85760051b610ec001518082038281116152e85790509050815250600101818118611130575b5050610ac05160208160051b01806103c082610ac060045afa505050610d205160208160051b01806104e082610d2060045afa505050610aa051610600526113b6611060614778565b61106051610e4052610d205160208160051b018061034082610d2060045afa505050610aa05161046052610e4051610480526113f0613f19565b60315461106052610d0051610e40518082038281116152e85790509050611060518082028115838383041417156152e85790509050610d005180156152e85780820490509050600181018181106152e857905061108052600261108051106152e8576024356110805111156114c45760146110a0527f536c697070616765207363726577656420796f750000000000000000000000006110c0526110a0506110a051806110c001601f825f031636823750506308c379a061106052602061108052601f19601f6110a051011660440161107cfd5b61106051611080518082038281116152e857905090506110605233604052611080516060526114f1615002565b337f3631c28b1f9dd213e0319fb167b554d76b6c283a41143eb400a0d1adb1af17556080806110a052806110a0015f610960518083528060051b5f82600881116152e857801561155b57905b8060051b61098001518160051b60208801015260010181811861153d575b50508201602001915050905081019050806110c052806110a0015f610ea0518083528060051b5f82600881116152e85780156115b157905b8060051b610ec001518160051b602088010152600101818118611593575b50508201602001915050905081019050610e40516110e05261106051611100526110a0a2602061108060035f55f35b336103c05260016103e052611629565b6044358060a01c6152e8576103c05260016103e052611629565b6044358060a01c6152e8576103c0526064358060011c6152e8576103e0525b60243560040160088135116152e857803560208160051b0180836102a0375050505f546002146152e85760025f5560315461040052600435156152e8575f61042052611676610660612fc2565b610660805160208160051b0180610540828560045afa505050505f610660525f6008905b806106805260206154d55f395f5161068051186116b6576117ee565b61068051610540518110156152e85760051b61056001516004358082028115838383041417156152e857905090506104005180156152e8578082049050905061066052610680516102a0518110156152e85760051b6102c001516106605110156117a45760306106a0527f5769746864726177616c20726573756c74656420696e20666577657220636f696106c0527f6e73207468616e206578706563746564000000000000000000000000000000006106e0526106a0506106a051806106c001601f825f031636823750506308c379a061066052602061068052601f19601f6106a051011660440161067cfd5b61042051600781116152e857610660518160051b610440015260018101610420525061068051604052610660516060526103c0516080526117e3612b8f565b60010181811861169a575b505033604052600435606052611802615002565b602e546040526118136106c061398c565b6106c0604061068060408360045afa5050602b546106c0526fffffffffffffffffffffffffffffffff6106c051166106e0526106e051610400516106e0516004358082028115838383041417156152e85790509050048082038281116152e85790509050610740526106c05161012052602d54610140526106a0516101605261189d610700613ddf565b610700516107605260406040604061074060045afa506118be61072061298c565b61072051602b55426106a05110156118d657426106a0525b610680516040526106a0516060526118ef61070061298c565b61070051602e55337f347ad828e58cbe534d8f6b67985d791360756b18f0d95fd9f197a66cc46480ea6060806107005280610700015f610420518083528060051b5f82600881116152e857801561196057905b8060051b61044001518160051b602088010152600101818118611942575b50508201602001915050905081019050806107205280610700015f5f82525f5f5f600881116152e85780156119a757905b5f8160051b602087010152600101818118611991575b505081016020019050905081019050610400516004358082038281116152e8579050905061074052610700a26103e051156119e4576119e461506f565b6020806107005280610700015f610420518083528060051b5f82600881116152e8578015611a2c57905b8060051b61044001518160051b602088010152600101818118611a0e575b5050820160200191505090508101905061070060035f55f35b611a4d61506f565b005b6fffffffffffffffffffffffffffffffff6004356022548110156152e857602301541660405260206040f35b6004356022548110156152e8576023015460801c60405260206040f35b611aa36103e06131fb565b6103e0516103c052611ab6610500612c96565b610500805160208160051b0180610860828560045afa50505050611adb610620612fc2565b610620805160208160051b0180610980828560045afa50505050610240604061024061086060045afa50611b10610740613142565b610740805160208160051b01806103e0828560045afa505050506103e05160208160051b01806040826103e060045afa5050506103c05161016052611b56610520613320565b610520516105005260206103e05160208160051b01806040826103e060045afa5050506103c051610160526105005161018052611b946105206139b1565b61052060043581518110156152e85760051b60208201019050f35b5f546002146152e85760206004356022548110156152e8576023015461012052602c54610140526fffffffffffffffffffffffffffffffff602e541661016052611bfa610200613ddf565b610200f35b5f546002146152e8576020602b5461012052602d5461014052602e5460801c61016052611c2d610200613ddf565b610200f35b6004358060a01c6152e85760c0523360405260c051606052602435608052611c5861526c565b600160e052602060e0f35b6004358060a01c6152e85760c0526024358060a01c6152e85760e05260c05160405260e051606052604435608052611c9961526c565b603060c0516020525f5260405f2080336020525f5260405f20905054610100527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101005114611d1557610100516044358082038281116152e85790509050603060c0516020525f5260405f2080336020525f5260405f209050555b6001610120526020610120f35b6004358060a01c6152e8576040526024356030336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f35b6004358060a01c6152e857610120526024358060a01c6152e857610140526084358060081c6152e8576101605261012051156152e85760643542116152e8576032610120516020525f5260405f2054610180525f60026101c0527f19010000000000000000000000000000000000000000000000000000000000006101e0526101c0805160208201836103200181518152505080830192505050611e2f6102006151d9565b610200518161032001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c961024052610120516102605261014051610280526044356102a052610180516102c0526064356102e05260c061022052610220805160208201209050816103200152602081019050806103005261030090508051602082012090506101a052610120513b15611ff8575f604060a46102603760406102405261024080516020820183610320018281848460045afa50505080830192505050610160516102a0526102a0601f810180516102e0525060016102c0526102c09050805160208201836103200181518152505080830192505050806103005261030090506020815101806101c0828460045afa5050507f1626ba7e0000000000000000000000000000000000000000000000000000000061012051631626ba7e6102405260406101a051610260528061028052806102600160206101c051018082826101c060045afa50508051806020830101601f825f03163682375050601f19601f82516020010116905081015050602061024060c461025c845afa611fe0573d5f5f3e3d5ffd5b60203d106152e857610240905051186152e857612038565b610120515f610240526101a0516101c052610160516101e05260a4356102005260c43561022052602061024060806101c060015afa5061024051186152e8575b6044356030610120516020525f5260405f2080610140516020525f5260405f2090505561018051600181018181106152e85790506032610120516020525f5260405f205561014051610120517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256044356101c05260206101c0a360016101c05260206101c0f35b60206120cc6101206151d9565b610120f35b60043580600f0b81186152e85760405260243580600f0b81186152e857606052602060206154f55f395f5163e31593d8608052602060806004609c845afa61211b573d5f5f3e3d5ffd5b60203d106152e8576080518060a01c6152e85760c05260c09050516383aa796a60e0526040516101005260605161012052604435610140523061016052602060e0608460fc845afa61216f573d5f5f3e3d5ffd5b60203d106152e85760e09050f35b60043580600f0b81186152e85760405260243580600f0b81186152e857606052602060206154f55f395f5163e31593d8608052602060806004609c845afa6121c7573d5f5f3e3d5ffd5b60203d106152e8576080518060a01c6152e85760c05260c0905051630c601c2c60e0526040516101005260605161012052604435610140523061016052602060e0608460fc845afa61221b573d5f5f3e3d5ffd5b60203d106152e85760e09050f35b60243580600f0b81186152e857610ae05260206004356103c052610ae0516103e052612256610b00614abb565b610b00f35b5f546002146152e85760315460405260206040f35b5f546002146152e8576122846103e06131fb565b6103e0516103c052612297610500612c96565b610500805160208160051b0180610860828560045afa505050506122bc610620612fc2565b610620805160208160051b0180610980828560045afa50505050610240604061024061086060045afa506122f1610740613142565b610740805160208160051b01806103e0828560045afa505050506103e05160208160051b01806040826103e060045afa5050506103c05161016052612337610520613320565b610520516105005261050051670de0b6b3a7640000810281670de0b6b3a76400008204186152e857905060315480156152e85780820490509050610520526020610520f35b60043560040160088135116152e857803560208160051b0180836040375050506024358060011c6152e85761016052602060206154f55f395f5163e31593d8610180526020610180600461019c845afa6123d8573d5f5f3e3d5ffd5b60203d106152e857610180518060a01c6152e8576101c0526101c090505163fb79eb276101e0526060806102005280610200015f6040518083528060051b5f82600881116152e857801561244557905b8060051b606001518160051b602088010152600101818118612428575b50508201602001915050905081019050610160516102205230610240525060206101e06101846101fc845afa61247d573d5f5f3e3d5ffd5b60203d106152e8576101e09050f35b61249660c06131fb565b60c05160648104905060e052602060e0f35b60206124b460c06131fb565b60c0f35b60206124c5610200612fc2565b61020060043581518110156152e85760051b60208201019050f35b602080610320526124f2610200612fc2565b61020081610320015f82518083528060051b5f82600881116152e857801561253557905b8060051b6020880101518160051b602088010152600101818118612516575b505082016020019150509050905081019050610320f35b6020806104605261255e610340612c96565b61034081610460015f82518083528060051b5f82600881116152e85780156125a157905b8060051b6020880101518160051b602088010152600101818118612582575b505082016020019150509050905081019050610460f35b60043580600f0b81186152e85760405260243580600f0b81186152e857606052602060206154f55f395f5163e31593d8608052602060806004609c845afa612602573d5f5f3e3d5ffd5b60203d106152e8576080518060a01c6152e85760c05260c090505163a63530bd60e05260405161010052606051610120523061014052602060e0606460fc845afa61264f573d5f5f3e3d5ffd5b60203d106152e85760e09050f35b60206154f55f395f5163f851a44060c052602060c0600460dc845afa612685573d5f5f3e3d5ffd5b60203d106152e85760c0518060a01c6152e8576101005261010090505133186152e857600e546201518081018181106152e857905042106152e857426201518081018181106152e8579050602435106152e8576126e260e06131fb565b60e05160c052600435606481028160648204186152e857905060e0526004351561271457620f423f6004351115612716565b5f5b156152e85760c05160e051106127465760c051600a810281600a8204186152e857905060e051116152e857612762565b60c05160e051600a810281600a8204186152e8579050106152e8575b60c051600c5560e051600d5542600e55602435600f557fa2b71ec6df949300b59aab36b55e189697b750119dd349fcfa8c0f779e83c25460c0516101005260e051610120524261014052602435610160526080610100a1005b60206154f55f395f5163f851a44060c052602060c0600460dc845afa6127e3573d5f5f3e3d5ffd5b60203d106152e85760c0518060a01c6152e8576101005261010090505133186152e85761281060e06131fb565b60e05160c05260c051600c5560c051600d5542600e5542600f557f46e22fb3709ad289f62ce63d469248536dbc78d82b84a3d7e74ad606dc20193860c05160e0524261010052604060e0a1005b60206154f55f395f5163f851a440604052602060406004605c845afa612885573d5f5f3e3d5ffd5b60203d106152e8576040518060a01c6152e857608052608090505133186152e85764012a05f200600435116152e857600435600a556802b5e3af16b18800006024356004358082028115838383041417156152e85790509050116152e857602435600b557f750d10a7f37466ce785ee6bcb604aac543358db42afbcc332a3c12a49c80bf6d6040600460403760406040a1005b60206154f55f395f5163f851a440604052602060406004605c845afa612940573d5f5f3e3d5ffd5b60203d106152e8576040518060a01c6152e857608052608090505133186152e85760043515612973576024351515612975565b5f5b156152e857600435602c55602435602d55005b5f5ffd5b6fffffffffffffffffffffffffffffffff604051116152e8576fffffffffffffffffffffffffffffffff606051116152e85760605160801b60405117815250565b602060405160206155155f395f518110156152e85760051b6080016154b5015f395f516370a0823160e0523061010052602060e0602460fc845afa612a14573d5f5f3e3d5ffd5b60203d106152e85760e090505160c05260a051612b3057606051156152e857602060405160206155155f395f518110156152e85760051b6080016154b5015f395f516323b872dd60e05260805161010052306101205260605161014052602060e0606460fc5f855af1612a89573d5f5f3e3d5ffd5b3d612aa057803b156152e857600161016052612ab8565b60203d106152e85760e0518060011c6152e857610160525b610160905051156152e857602060405160206155155f395f518110156152e85760051b6080016154b5015f395f516370a0823160e0523061010052602060e0602460fc845afa612b0a573d5f5f3e3d5ffd5b60203d106152e85760e090505160c0518082038281116152e8579050905060c052612b61565b60c0516040516001548110156152e857600201548082038281116152e8579050905060c05260605160c051106152e8575b6040516001548110156152e857600201805460c0518082018281106152e8579050905081555060c051815250565b602060405160206155155f395f518110156152e85760051b6080016154b5015f395f516370a0823160c0523060e052602060c0602460dc845afa612bd5573d5f5f3e3d5ffd5b60203d106152e85760c090505160a052602060405160206155155f395f518110156152e85760051b6080016154b5015f395f5163a9059cbb60c05260805160e05260605161010052602060c0604460dc5f855af1612c35573d5f5f3e3d5ffd5b3d612c4c57803b156152e857600161012052612c64565b60203d106152e85760c0518060011c6152e857610120525b610120905051156152e85760a0516060518082038281116152e857905090506040516001548110156152e85760020155565b60206157555f395f5160208160051b0180615755604039505060195460208160051b015f81601f0160051c600981116152e8578015612cea57905b80601901548160051b6101600152600101818118612cd1575b505050505f6008905b806102805260206154d55f395f516102805118612d0f57612fa7565b600160206102805160206156355f395f518110156152e85760051b6101a0016154b5015f395f5118612d595761028051610160518110156152e85760051b61018001511515612d5b565b5f5b612e8a57600360206102805160206156355f395f518110156152e85760051b6101a0016154b5015f395f5118612f9c57670de0b6b3a7640000610280516040518110156152e85760051b6060015160206102805160206155155f395f518110156152e85760051b6080016154b5015f395f516307a2d13a6102a05260206102805160206158755f395f518110156152e85760051b6103e0016154b5016102c03960206102a060246102bc845afa612e14573d5f5f3e3d5ffd5b60203d106152e8576102a09050518082028115838383041417156152e8579050905060206102805160206159955f395f518110156152e85760051b610500016154b5015f395f518082028115838383041417156152e8579050905004610280516040518110156152e85760051b60600152612f9c565b61028051610160518110156152e85760051b610180015173ffffffffffffffffffffffffffffffffffffffff811690508060a01c6152e8575a7fffffffff0000000000000000000000000000000000000000000000000000000061028051610160518110156152e85760051b6101800151166102e05260206102c0526102c05060206103206102c0516102e08585fa90509050612f29573d5f5f3e3d5ffd5b3d602081183d6020100218610300526103006020810151815160200360031b1c90506102a052670de0b6b3a7640000610280516040518110156152e85760051b606001516102a0518082028115838383041417156152e8579050905004610280516040518110156152e85760051b606001525b600101818118612cf3575b505060405160208160051b01808382604060045afa50505050565b5f6040525f610160525f6008905b806101805260206154d55f395f516101805118612fec57613127565b5f6101a0525f60206156355f395f51600881116152e857801561303a57905b600260208260051b6101a0016154b5015f395f511861302f5760016101a05261303a565b60010181811861300b575b50506101a05161307f57610180516001548110156152e85760020154610180516010548110156152e857601101548082038281116152e85790509050610160526130fd565b60206101805160206155155f395f518110156152e85760051b6080016154b5015f395f516370a082316101c052306101e05260206101c060246101dc845afa6130ca573d5f5f3e3d5ffd5b60203d106152e8576101c0905051610180516010548110156152e857601101548082038281116152e85790509050610160525b604051600781116152e857610160518160051b606001526001810160405250600101818118612fd0575b505060405160208160051b01808382604060045afa50505050565b5f610280525f6008905b806103a05260206154d55f395f516103a05118613168576131de565b61028051600781116152e8576103a0516040518110156152e85760051b606001516103a051610160518110156152e85760051b61018001518082028115838383041417156152e85790509050670de0b6b3a7640000810490508160051b6102a0015260018101610280525060010181811861314c575b50506102805160208160051b0180838261028060045afa50505050565b600f54604052600d54606052604051421061321f5760605181525061331e5661331e565b600c54608052600e5460a052608051606051116132ae576080516080516060518082038281116152e857905090504260a0518082038281116152e857905090508082028115838383041417156152e8579050905060405160a0518082038281116152e8579050905080156152e857808204905090508082038281116152e8579050905081525061331e5661331e565b6080516060516080518082038281116152e857905090504260a0518082038281116152e857905090508082028115838383041417156152e8579050905060405160a0518082038281116152e8579050905080156152e857808204905090508082018281106152e857905090508152505b565b5f610180525f604051600881116152e857801561336a57905b8060051b606001516101a052610180516101a0518082018281106152e8579050905061018052600101818118613339575b50506101805161337d575f815250613592565b610180516101a0526101605160206154b55f395f518082028115838383041417156152e857905090506101c0526040366101e0375f60ff905b80610220526101a0516101e0525f604051600881116152e857801561343c57905b8060051b60600151610240526101e0516101a0518082028115838383041417156152e857905090506102405160206154b55f395f518082028115838383041417156152e8579050905080156152e857808204905090506101e0526001018181186133d7575b50506101a0516102005260646101c051610180518082028115838383041417156152e85790509050046101e05160206154b55f395f518082028115838383041417156152e857905090508082018281106152e857905090506101a0518082028115838383041417156152e8579050905060646101c051606481038181116152e85790506101a0518082028115838383041417156152e8579050905004600160206154b55f395f51016101e0518082028115838383041417156152e857905090508082018281106152e8579050905080156152e857808204905090506101a052610200516101a05111613557576001610200516101a0518082038281116152e8579050905011613582576101a051835250505061359256613582565b60016101a051610200518082038281116152e8579050905011613582576101a0518352505050613592565b6001018181186133b65750505f5ffd5b565b606051604051146152e8575f606051126152e85760206154d55f395f5160605112156152e8575f604051126152e85760206154d55f395f5160405112156152e8576101c051610200526101e0516102205260603661024037610220516102a0526102005160206154b55f395f518082028115838383041417156152e857905090506102c0525f6008905b806102e05260206154d55f395f516102e0511861363a576136f4565b6040516102e051186136525760805161026052613680565b6060516102e051146136e9576102e05160a0518110156152e85760051b60c0015161026052613680566136e9565b61024051610260518082018281106152e85790509050610240526102a051610220518082028115838383041417156152e857905090506102605160206154b55f395f518082028115838383041417156152e8579050905080156152e857808204905090506102a0525b60010181811861361e575b50506102a051610220518082028115838383041417156152e85790509050606481028160648204186152e85790506102c05160206154b55f395f518082028115838383041417156152e8579050905080156152e857808204905090506102a0526102405161022051606481028160648204186152e85790506102c05180156152e857808204905090508082018281106152e857905090506102e05261022051610300525f60ff905b8061032052610300516102805261030051610300518082028115838383041417156152e857905090506102a0518082018281106152e85790509050610300518060011b818160011c186152e85790506102e0518082018281106152e85790509050610220518082038281116152e8579050905080156152e857808204905090506103005261028051610300511161385c57600161028051610300518082038281116152e85790509050116138875761030051835250505061389756613887565b600161030051610280518082038281116152e857905090501161388757610300518352505050613897565b60010181811861379c5750505f5ffd5b565b600b5460a0526402540be40060a051116138b85760805181525061398a565b6040516060518082018281106152e857905090506fffffffffffffffffffffffffffffffff81116152e8576002810a905060c05260a0516080518082028115838383041417156152e8579050905060a0516402540be40081038181116152e85790508060021b818160021c186152e85790506040518082028115838383041417156152e857905090506060518082028115838383041417156152e8579050905060c05180156152e857808204905090506402540be40081018181106152e857905080156152e857808204905090508152505b565b6fffffffffffffffffffffffffffffffff60405116815260405160801c602082015250565b60206154b55f395f5161016051026101a05260206154b55f395f5160206154b55f395f510a61018051046101c0525f6008905b806101e05260206154d55f395f516101e05118613a0057613a4d565b6101c051610180518082028115838383041417156152e857905090506101e0516040518110156152e85760051b6060015180156152e857808204905090506101c0526001018181186139e4575b50505f6101e0526101a051604051156152e8575f60051b606001518082028115838383041417156152e8579050905060648104905061030052600160078101905b806103205260206154b55f395f516103205118613aaa57613b70565b6101e051600781116152e857610300516101c051604051156152e8575f60051b606001518082028115838383041417156152e85790509050610320516040518110156152e85760051b6060015180156152e857808204905090508082018281106152e85790509050670de0b6b3a7640000810281670de0b6b3a76400008204186152e8579050610300516101c0518082018281106152e8579050905080156152e857808204905090508160051b6102000152600181016101e05250600101818118613a8e575b50506101e05160208160051b018083826101e060045afa50505050565b6040516060527ffffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c160405113613bc5575f815250613ddd565b680755bf798b4a1bf1e46040511315613c345760106080527f7761645f657870206f766572666c6f770000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b6503782dace9d9604051604e1b056060526b8000000000000000000000006bb17217f7d1cf79abc9e3b39860605160601b050160601d6080526bb17217f7d1cf79abc9e3b39860805102606051036060526d02d16720577bd19bf614176fe9ea6060516c10fe68e7fd37d0007b713f7650606051010260601d0160a05279d835ebba824c98fb31b83b2ca45c0000000000000000000000006060516e0587f503bb6ea29d25fcb74019645060a0516d04a4fd9f2a8b96949216d2255a6c60605160a05101030260601d01020160c0526d0277594991cfc85f6e2461837cd96060516c240c330e9fb2d9cbaf0fd5aafc606051030260601d0160e0526d1a521255e34f6a5061b25ef1c9c460605160e0510260601d0360e0526db1bbb201f443cf962f1a1d3db4a560605160e0510260601d0160e0526e02c72388d9f74f51a9331fed693f1560605160e0510260601d0360e0526e05180bb14799ab47a8a8cb2a527d5760605160e0510260601d0160e05260e05160c051056101005274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3610100510260805160c3035f81126152e8571c8152505b565b6fffffffffffffffffffffffffffffffff6101205116610180526101205160801c6101a05242610160511015613f0f5742610160518082038281116152e85790509050670de0b6b3a7640000810281670de0b6b3a76400008204186152e85790506101405180156152e857808204905090508060ff1c6152e8577f800000000000000000000000000000000000000000000000000000000000000081146152e8575f03604052613e906101e0613b8d565b6101e0516101c052610180516101c05180670de0b6b3a764000003670de0b6b3a764000081116152e85790508082028115838383041417156152e857905090506101a0516101c0518082028115838383041417156152e857905090508082018281106152e85790509050670de0b6b3a764000081049050815250613f17565b6101a0518152505b565b602e54604052613f2a6104e061398c565b6104e060406104a060408360045afa505060225460208160051b015f81601f0160051c600981116152e8578015613f7657905b80602201548160051b6104e00152600101818118613f5d575b505050506104e05160208160051b0180610600826104e060045afa5050506103405160208160051b018060408261034060045afa50505061046051610160526104805161018052613fc86108406139b1565b610840805160208160051b0180610720828560045afa505050505f6008905b806108405260206154b55f395f51600181038181116152e85790506108405118614010576140df565b61084051610720518110156152e85760051b6107400151156140d45761084051610720518110156152e85760051b6107400151671bc16d674ec80000818118671bc16d674ec800008310021890506108a052610840516104e0518110156152e85760051b610500015161012052602c54610140526104a05161016052614097610860613ddf565b610860516108c0526040604060406108a060045afa506140b861088061298c565b6108805161084051610600518110156152e85760051b61062001525b600101818118613fe7575b50506106005160208160051b015f81601f0160051c600981116152e857801561411d57905b8060051b61060001518160220155600101818118614104575b50505050602b5461084052610480516108a0526108405161012052602d54610140526104c05161016052614152610860613ddf565b610860516108c0526040604060406108a060045afa5061417361088061298c565b61088051602b555f6002905b80610860524261086051600181116152e85760051b6104a0015110156141b5574261086051600181116152e85760051b6104a001525b60010181811861417f5750506104a0516040526104c0516060526141da61086061298c565b61086051602e55565b6141ee610c206131fb565b610c2051610c00526109805160208160051b018060408261098060045afa505050610c005161016052614222610c40613320565b610c4051610c2052610bc051604052610be051606052610960516080526109805160208160051b018060a08261098060045afa505050610c00516101c052610c20516101e052614273610c60613594565b610c6051610c4052610be051610980518110156152e85760051b6109a00151610c40518082038281116152e85790509050600181038181116152e8579050610c6052610c6051610bc051610980518110156152e85760051b6109a00151610960518082018281106152e857905090508060011c9050604052610be051610980518110156152e85760051b6109a00151610c40518082018281106152e857905090508060011c9050606052600a5460805261432e610ca0613899565b610ca0518082028115838383041417156152e857905090506402540be40081049050610c8052610c6051610c80518082038281116152e85790509050670de0b6b3a7640000810281670de0b6b3a76400008204186152e8579050610be051610aa0518110156152e85760051b610ac0015180156152e85780820490509050610c6052610be0516010548110156152e8576011018054610c805164012a05f20081028164012a05f2008204186152e85790506402540be40081049050670de0b6b3a7640000810281670de0b6b3a76400008204186152e8579050610be051610aa0518110156152e85760051b610ac0015180156152e857808204905090508082018281106152e857905090508155506109805160208160051b0180610ca08261098060045afa50505061096051610bc051610ca0518110156152e85760051b610cc00152610c4051610be051610ca0518110156152e85760051b610cc00152610ca05160208160051b018061034082610ca060045afa505050610c005161046052610c2051610480526144be613f19565b610c6051815250565b610e0051610de051146152e857610e2051156152e8576144e8610fc0612c96565b610fc0805160208160051b0180610ea0828560045afa5050505061450d6110e0612fc2565b6110e0805160208160051b0180610fc0828560045afa50505050610ea05160208160051b0180604082610ea060045afa505050610fc05160208160051b018061016082610fc060045afa505050614565611200613142565b611200805160208160051b01806110e0828560045afa50505050610de051604052610e2051606052610dc051608052610e805160a0526145a66112206129cd565b6112205161120052610de0516110e0518110156152e85760051b611100015161120051610de051610ea0518110156152e85760051b610ec001518082028115838383041417156152e85790509050670de0b6b3a7640000810490508082018281106152e857905090506112205261122051610960526110e05160208160051b0180610980826110e060045afa505050610ea05160208160051b0180610aa082610ea060045afa505050610de051610bc052610e0051610be05261466a6112606141e3565b6112605161124052610e405161124051101561470a57602e611260527f45786368616e676520726573756c74656420696e20666577657220636f696e73611280527f207468616e2065787065637465640000000000000000000000000000000000006112a05261126050611260518061128001601f825f031636823750506308c379a061122052602061124052601f19601f61126051011660440161123cfd5b610e005160405261124051606052610e6051608052614727612b8f565b337f8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd97140610de05161126052610e205161128052610e00516112a052611240516112c0526080611260a261124051815250565b6103c05160208160051b01806040826103c060045afa5050506104e05160208160051b0180610160826104e060045afa5050506147b6610740613142565b610740805160208160051b0180610620828560045afa505050506106205160208160051b018060408261062060045afa50505061060051610160526147fc610740613320565b61074051815250565b5f606051126152e85760206154d55f395f5160605112156152e8576060366101c0376101a0516102205260405160206154b55f395f518082028115838383041417156152e85790509050610240525f6008905b806102605260206154d55f395f51610260511861487457614916565b606051610260511461490b57610260516080518110156152e85760051b60a001516101e0526148a25661490b565b6101c0516101e0518082018281106152e857905090506101c052610220516101a0518082028115838383041417156152e857905090506101e05160206154b55f395f518082028115838383041417156152e8579050905080156152e85780820490509050610220525b600101818118614858575b5050610220516101a0518082028115838383041417156152e85790509050606481028160648204186152e85790506102405160206154b55f395f518082028115838383041417156152e8579050905080156152e85780820490509050610220526101c0516101a051606481028160648204186152e85790506102405180156152e857808204905090508082018281106152e85790509050610260526101a051610280525f60ff905b806102a052610280516102005261028051610280518082028115838383041417156152e85790509050610220518082018281106152e85790509050610280518060011b818160011c186152e8579050610260518082018281106152e857905090506101a0518082038281116152e8579050905080156152e8578082049050905061028052610200516102805111614a7e57600161020051610280518082038281116152e8579050905011614aa957610280518352505050614ab956614aa9565b600161028051610200518082038281116152e8579050905011614aa957610280518352505050614ab9565b6001018181186149be5750505f5ffd5b565b614ac66104206131fb565b6104205161040052614ad9610540612c96565b610540805160208160051b0180610420828560045afa505050506104205160208160051b01806108a08261042060045afa505050614b18610660612fc2565b610660805160208160051b01806109c0828560045afa5050505061024060406102406108a060045afa50614b4d610780613142565b610780805160208160051b0180610540828560045afa505050506105405160208160051b018060408261054060045afa5050506104005161016052614b93610680613320565b610680516106605260315461068052610660516103c051610660518082028115838383041417156152e857905090506106805180156152e857808204905090508082038281116152e857905090506106a052610400516040526103e0516060526105405160208160051b018060808261054060045afa5050506106a0516101a052614c1f6106e0614805565b6106e0516106c052600a5460206154b55f395f518082028115838383041417156152e8579050905060206154b55f395f51600181038181116152e85790508060021b818160021c186152e857905080156152e857808204905090506106e052610660516106a0518082018281106152e8579050905060206154b55f395f518060011b818160011c186152e857905080156152e85780820490509050610700526105405160208160051b01806107208261054060045afa505050608036610840375f6008905b806108c05260206154d55f395f516108c05118614d0057614e63565b5f610840526108c051610540518110156152e85760051b6105600151610860526103e0516108c05118614d9557610860516106a0518082028115838383041417156152e857905090506106605180156152e857808204905090506106c0518082038281116152e8579050905061084052610860516106c0518082018281106152e857905090508060011c905061088052614de1565b61086051610860516106a0518082028115838383041417156152e857905090506106605180156152e857808204905090508082038281116152e857905090506108405261086051610880525b61088051604052610700516060526106e051608052614e016108e0613899565b6108e0516108a052610860516108a051610840518082028115838383041417156152e857905090506402540be400810490508082038281116152e857905090506108c051610720518110156152e85760051b6107400152600101818118614ce4575b50506103e051610720518110156152e85760051b6107400151610400516040526103e0516060526107205160208160051b018060808261072060045afa5050506106a0516101a052614eb66108e0614805565b6108e0518082038281116152e857905090506108c0526103e051610540518110156152e85760051b61056001516106c0518082038281116152e85790509050670de0b6b3a7640000810281670de0b6b3a76400008204186152e85790506103e051610420518110156152e85760051b610440015180156152e857808204905090506108e0526108c051600181038181116152e8579050670de0b6b3a7640000810281670de0b6b3a76400008204186152e85790506103e051610420518110156152e85760051b610440015180156152e857808204905090506108c0526106c0516103e051610540518110156152e85760051b61056001526108c05181526108e0516108c0518082038281116152e8579050905060208201526105405160208160051b016040830181818361054060045afa50505050610400516101608201526106a05161018082015250565b6031546060518082038281116152e85790509050603155602f6040516020525f5260405f2080546060518082038281116152e857905090508155505f6040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60605160805260206080a3565b60206154f55f395f5163cab4d3db610160526020610160600461017c845afa61509a573d5f5f3e3d5ffd5b60203d106152e857610160518060a01c6152e8576101a0526101a09050516101405261014051156152e85760105460208160051b015f81601f0160051c600981116152e857801561510057905b80601001548160051b61016001526001018181186150e7575b505050505f6008905b806102805260206154d55f395f51610280511861512557615195565b61028051610160518110156152e85760051b61018001511561518a576102805160405261028051610160518110156152e85760051b610180015160605261014051608052615171612b8f565b5f61028051610160518110156152e85760051b61018001525b600101818118615109575b50506101605160208160051b015f81601f0160051c600981116152e85780156151d357905b8060051b610160015181601001556001018181186151ba575b50505050565b6020615b755f395f514614615261577fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564726060526020615b556080397f1c54f243822e0e9a0a377610b81577e771b3efe79964e76636b0d5d10247950d60a0524660c0523060e0526020615b956101003960c0604052604080516020820120905081525061526a565b6020615bb58239505b565b602f6040516020525f5260405f2080546080518082038281116152e85790509050815550602f6060516020525f5260405f2080546080518082018281106152e857905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160a052602060a0a3565b5f80fd0299544509065753650a8094530a0d1cfc53ab0c0081548407076c53ff0ad40ddb8c15e0652081066c00dc059c4258c4011a053931ab521a4f2554fd4d5001c90576a9cd3e25b8455e604cd215f085b72df5de043f651a4d01d20c616567df02ca20d16529357750006705e2e7d26400f425ec0238621a9825fd0684b1254c0518160ddd225b05a9059cbb1c324570a0823102372530c540851a4505ddca3f43009d055e0d443f217d6506fdde03013205a7256d09044985c66106570075258edfdd5f00a905ddc1f59d02dea5cc2b27d722294590d208371a7b253644e51520bf05313ce56701be05081579a50c6b851ddc3b01012605d505accf1d8ae5bfa0b13302c60595d89b410178051be913a5010e057706db750e7c65fee3f7f900b505095ea7b31d224514f0597924e00565bbea6b291845907a016b1bff05b4b577ad00d0054903b0d124b82523b872dd1c6365687276531baf252969e04a160aa5551a658827bb051405228800e8055409491a00c405015c2838285d454a6e32c60e86857ecebe0002a0257e3db030035d85dd62ed3e025d45bb7b8b802270053c157e64265d4576a2f0f024a8053df0212402d485f446c1d0248c053db06dd8237c65afb430120367a5000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000006a8cbed756804b16e05e741edabd5cb544ae21bf00000000000000000000000000000000000000000000000000000000000000020000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b3000000000000000000000000f939e0a03fb07f59a73314e73794be0e57ac1b4e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b555344652d6372765553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a5553446563727655534400000000000000000000000000000000000000000000387b51582196fc0905653e18614c8ee439a67ed5d5f8850700ab11ae6e43601300000000000000000000000000000000000000000000000000000000000000014493f594ed8faf6d4742f6bed96febdfee42ab8e7fb338d97bacd1f1b11f44038107cc22129fa97de0763265d6ee509f8ad6a6d54703dc210d8c8c375dbfc01d033773023aad550457ce741ae8ad31c83ae8ce36f35aa2f83baf0e78074e3ee4970058200314a2a9925316b71b68aa46ef953b23ecc8920a27f716910ea45df6d5bccb005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03696aa92ac057304616b8069270926a356cc864909c7e4a95b4bbd54643a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f037a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90450ba43b7400021908200141050058200396a11f1296f4a7ab19015f635b2c756110f789a969e718ba5d0cc1b98818e0480a158983e61ceeb302190488038864e51f61c2830cf47fd9d106fb32fa1639d8a917596bfe4fb50bc496942b3203c9b51b8ec49acaedbbec9ce044f7aa3d044bc787ab8c075efa1cad6abdc03c7900582002f19d725db95f5b53ba1839080f47e3fa7f149699eda834b9052eae8789ea9549049346ab4de74ee0dc00582003c73da66c75655ba185bbea3330f7520341a8e74d5ea4fa1734ac2c5337b6405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200355d1b2336ebbfb183f6529ccc6ed1d7aeb91bdd5ced5038388ba177205f5c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219020203d08468a2f63ae095d55bad948eabaefe7f91bd0abfd05acce3b6cf392eec289a03ab5c512b28c0d4bf757f1ed6f041d9c9dd0c4cbef922daf1d14922a5bbc7a9bc005820023aeafaadeb1652f32bf0439c1d03b699c8e109b3684ce5df06a268869494635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0347f6d7f21b6be96c6d2526f7fd9e9ac6b354006268e2b7f908c7f13eab14dc26032706d0fb80c77b8150f9cfe26de509692c73e22c0ab4ad698e61f4e0a196a41203ff8cc01c8cfb83671b77a9b0d72ef2a1561f6b4e037c4c8ca719e9775b62f03d0392ab4134ec8ecf624f579a8bebdf65eaa51aa18473db637d23aa6608c8aa8999038cc9af5df5c8263e7c6cd6af696c502003032c99bb1938c28b4eba3948e336f30307d4a8e0fff01df5a81e01681f950d3c6d0a6d01ea64b3d36203429a1a7329bd03630dedbac1de528a7e207ef18bdbf596d34f819bbeefa8b888eee5549c8549ce0219ffff00582002994578c1c8c13d645897bf71a2ae97e7a8fa54ebcb0727b0be5a954fca5cdc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002c44e4875b74d31ff9fd779bf2566af7bd15b87fc985d01f5094b89e3669e4f581b0350cbfc0ff18c19d3719300000000000634810f8b02f0682aff0703f7aba074447ae9bbb0326ac53921a8b5130a802608445582f0fb6538d8db04c400582002e3fa1653c124adffef8d854cb55d11c0cacb5f41c3f168bdfff4cece92ef0d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0385e5a4ca088bfe7060809e338786a4f4850b040dbd95db2a3a27e806a8ab7adb031092a67ad5cbb041fabc581b8205a571e85b6f6aa837d258e42037a425b3f95b005820028c76cbd47dd39a6c1e67f66b59d60fafac6e25cfe3be547585bd750c6a054c4801862656d893f99d005820024b4fa63c47771c781a7f1a9c7c5638eac3b0657b07e31d29b03221586688bd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f77ce748cf506090263b4ef76c21c1cf96155485581ae130f5b010640853757c0356d40c7b861d12b4663bd4b74f25e2555072860d1e3e894d59b08fba04e3ab7803b1433c3df6e4761bef2fb8b0f50395430948426762a3a46d546f5a5278259e2b00582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720410202184103d50476843ad3a52ceec66041d780a730130dba3bcf59ecd826143d93e8e83d8d034466a428602dd20619894e0a4848973ce9b2ac02afe38e95d72a95a0f16cb29803bf91d1628575cbe566a37db81c0cc90dbe23bd00cc78d036012dd352512d01420219beff032b61b31f1a67484ed96fecd867916629e178d7920d594d6589a91cecd8f51a5400582002e608e80f88df8768033de7881bfe22da5d4176a13511e6bb7ddc1dd673bae15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b31746b997d9658b5a74bbba4f4c15bec00251419e0f4529e1911175c8a991cd03f48471c952feca68dd1959d3b65d4bbd1ab37a454eeb1fc5978db3bdaf39d8320058200222c638e2b1b316680667aefa2ea1f95722f6f9d9669c040074ebb545b250025820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002ed0a9bc10a6e1e61bb9c62555e52fd1cee808166ee6f2d852fd9353ae526c15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038d43940c0e74e3e56a80ec5e8112e620f52ebbf5111ad9c523028b211ab3d48a031d2622ea38b808cffae0103a3199dc251bcf1db064bdee2e29f629919408886803e718357e1c5965a49a9091fdbbdc9fb2a6245c55caef6684952644c4ee64463500581f0271d0d61fe362feac5a64c0186a63e2000aa68e6a982aad540a31271c394448bb59a27953c6000000581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341030219240003f87a467600dff8502ea0013757ba7034522ab0f6481a877ba448c0629e7f1e77005820037a85bb2f7664a3933acddaedb3df84cf46e72e5ec846fb98aead4b11266e605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037d445365f6ca1e92af6c1b9f7c2c6f3ba241cf04d44be9d7292a7e86f6f6705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021902290329d8b3f781e80e5ecb6450eb6b0d1e53deac6e9c7a88a7569c635a742e779c8103675dbc83e92d4e13506bc2ac2191079cbef3bcc90b1406d9fe61dcada290e6e303d99c56e44a76e9c37d0f6c3a1d7f8137b2e61369f44f0d8eb2883c0a00b1d4c3039a0ad36c7124f65af277c596fb0fd22f3c564ff618b32dea59c5425219aea74a0219d7ff00582003c8081971a10520e1819694874e3add72a34b2fbf49154ea787e9b0d5ce87005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037179750dee4ce85e24c1689b4d976e7864605ca5d51c4e4e8dcdb03830630049083257adb12cd1630100582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68049055d9108f81139169b02194005030fd4f975c36aad33526e251c7f278b4a9497d8153177efe44e3bbb1e64103d1f03d12f9a779bcffef094783115098f9aed9993958e903e1e74642e6fac6d3dd7ad005820033fbb7e074073e27ea57ffa769caf5c9a15950fd49ff2e79648c8ee246a7f5049369bb07facfacf1fbb0376a5dfe86366c0e680c32029a4ad709dfaf7df1f36ad3d8c8a331f13467ec314014109005820038ab300d6557042b8d16c4e9ff8103dcccdd240dc720498365f91cf9c94f4505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003682be7ae2ee71362db2d9c118ad87ffb0a2f707d753f102663d3b29c0cdba05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037957b9a695527230f80201a4ef116e00a4bcd26869d2efeb03a88d1dd1a9604705c46673ee1761005820037fe52afc6729bdc8dbe7b65d86306dd86f391718f6586500cd7e3336a527405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a166cbdbfbb1561ccd9ea985ec0218b5e68502e230525f544285b2bdf3d7e05465cf5dcf00000000000000000000000065cf5dcf0219988e03f59cbd089d35a6e5fab0b962d12f8f9439a9b42557c871b45b60000d0978e6eb03caf7721934cddfcaa9cafff9dfe9abbd9d1d57629f8d40256c375d9bf18046d30058200386cf1a7e1a68f105d912d90b4a9d6e0dfd6c18e5405d9eb89ffa2c3f173d7048013fda3f79a1e03100582003ed36aafc29342c70354cebd8a219221e32eef316085989d5bdc54ea9ed53805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820038b121d836dadc25b0b2efc09337cf7c2854b6b08db9f2ebeecba272e57dac05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190114031cf5f916ef308072840b02e32a9d1dacf150280639a95a97930838069a75e67d038016deceb60044d7ae83af101358b6bf7a200f2df7081f184e4af4ba2ba3dfe2033d6397d55f288e8e4848afc8b3bdb596a6c1ac6672ac515670354a8dc6924ae803ba657e060f37fb969c85ab0db81c3395bffb6b88a32fb3f9754be236f03bafdf03e37d89dfc781ed1ac2a3e06b853aac38d976add4104ea21107262833ebd655a70219ffd200582003bd4ab785b0b92412aca6ea5769bdb46abb0c75d30595195bd391dfa163ee805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04b01cc76a1d196687abf042a034195b022063dd90639988139be6c6cae03a579d64553cea443db8c3a47ec24e10218a403565bd3f78bbe780482fcbe9f96cd4045657999cefdc76f6ca8222f654d95d467031abe86005919db1b980e26cb793ed3a8887bceec456a26121df457c895fcd6d503145d897695dc037e96a6d3a3a3b9497666fd85bcfd65457e2b37356ac880ac3b03760359357a90be29a46b499bef3644453fb77662cf70a3ee4b9ae8c9a23a4d21031c7124d9c7015f54b88346d0b9188a3395237fa02ea4e50096302f7fe2613af90058200268c1484917870d43e676f4845001e59d496fd621da65130f0116efb9476b5c480a4ad97888b545a200582002763d3e9dced6856493d0d93f145d150fc3ec13a46a592b19c6639de4f250865820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038e0b2937f87e189af8a4110a47435c9c2b6a310706590ecc96be69abe6805f6c01410400582003cc91ee622da3bc833a54c37ffcb6f3ec23b7793efc5eaf5e71b7b406c5c06042f3740058200351d656250c08d3bb51505ddec2a097b6a7a4e54c7fa54f3c6e4f0435045c105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d570aff48ae16cdfaa7ee8139a1cc8f84171562fb058b79a882eae4e9823304903751a0f581b30a93c0218a403415cea451dd513a43638a52fbd520a9d639e5ef0011f142543f34ceb7957ec1c033aa2d7f59b500d7011cd7e1ab6d2fa4c4dca5fed5783c30cacd62528484291e4032361516a69b6b5dce074dcbb545a2b9cc56cdd1dbf6730f7062e91dbdcc63abd00582002479e2a09a68b8ef36ec92e58c9e6980f77589e877b78cea6f8071b48ac231c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219dfbf03a1c165e8af4ecb701c9ca504e7432de2aaab361bb06ec96aa5b2d2ce57a8bcf5036ad71f974a7c809df6b7985501f8013dc8d29942cf56003e4724fa816b64b2110355035cacc5f1c8450b79eed11043344f869583795e45d8201de072118690113503ae57567e85f14c31e88aef0c09eca0f24396edc1d5c4f453521e1aab8ed96b520317fa793ea45f3dc0f1e3fda2d401872c5faa758844875392c4c3e616305abcfb0338fc063fff1c47c48e6e7bd1c78eccad7f43722d569b85902e18441d7521b0bb00582002345562b8537a0fc0e6068547c366e50a55c19c4ceb925a639e19c3e27171d9492bbb8e8ba0ea3f702c00582002ffee22dcda5e9e527a8ecd8bafb77f212d754f89b06ea16d84db58a51aea195820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031cb5af72cf3f6f07035e3d2ef1f35a089ee43280dfe3dc7764d3b597dbc1260e005820039289229f8f516d64af1e4ca43297289fed66f293d2b9575654951b20cff1705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200367f5da8b9e4e2ca4315bf1a753ac04bfb7ac0c0d48e35973e54c34c56168705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032705507d788648696a93667a42cf2cdc7f31433d1d3745090d3b954210ae605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ac5cdc79f99b6a8d3950777604d2de3edb53cc2f7488b86206bb72586b7e5047038d7ea4c680000219303003cbd2ab2b0e89e7fdf86a27dec9227219ab4083f81e06ece501ed4d32831eda4f031bf410ca811e70d84ca1e3c39d405311dd07bc6f69a7775fd445aca6c280b36103ef93a40adfd64268ade8100caf115219b418ea339d3862354fed4944ef8cf202005820027c04c0cd786b9ff6768948436424e28b8f167607d22e3fcb70ddd52b8413a64a0144cf851ba3f30c2a120219b7ff031e00e62fff69a72c40c2d1818267685b6189ae4b290db9351d5981fb77e3f11b0058200335b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e51004101005820034ed994725db446305e002e0446de3915ed5e887a433c7df9741e20bd9010f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219100103f36054bf05d6af149eadad2ab23d0391b27b16721d7f5fe21f075320e81e9c8003095424d11c626a6a07c94c56086a7c4d07852221c86afd42d4652f8eed1542b7039313514847fbc2016bac3a5fe677bf2f9c5a9a72adfc89998d22c848d02c1d1b038d89e70e23fb5b95407b1a7b6124cd7101ba9b6e95589467ffef128c8f31547800582002318fdff7de1d17ddf8439430d2b5e51e6c39b36c7b8933c24347c2253091fd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0333053108926713766c8084bf6707c7b597357d897c834b1893035f541288e8af0333e2164b1e7c817dd49be7473d33b9ddcb622a4af86a0fefeac791ccf8f0f794034d05db277f3ac0819d13312bc77a22b182dc8c30a2a971b8527e77e75824660a0058200294a170bb56b26b0c624585ab42458383e59f36b5a0ae84489d28afa2bee4585820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ca15d86a5145823ba9e2200fd529fca379fbc13193ff6965f71155bb0a10725603e4560a1800e4a27dea0866871dfda09821ad644b19e4c4fe57fe4673b39d581f00582002f75266a9242d8d2c244624734ecbd40d4c51a257b4dc2941424cae7471bfe85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200203a3b1b7b670e44daea3ddc0158a30f608941e82b73e86efaa0927fb2c08d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffef0310f91a632ac1b1fa31f0dcec7cf76aa8f0ac6c3238a9c461514048edba008a8b03037a116a04d4681bfb2d01449b3fcd88aa15a7ab4e1603b8d7549c251d8ed23f032910853ada6f822d81022068f0939db5a4a3cba1d017d84260896d8fb2fa5f57039bc30983f6fa37e17be52429ff7b33dace49e6e4ba21975c899f9c5a05e43e6b014105005820036c943b4a09859521022fd2e90eac0dd9026dad28fa317782a135f28a860910420362005820039c05d6c7522fe1411be0115313911ac4eb49c127bcadf6ee1ce189b5e589b0491dbfcbd4d9934182be0058200354fda52c3b178accf6d35e191afeb8cb8853f0770a8f6aa549be85bd5f2cb0490424c1bf564cff903200582003bf8b0580c26edfe41dd2f91749929bd722b36592d28b1f7f1cbedbb5d5bed05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219424203dac2f940254ca47a95f50d4168a8293a407a8cc7ad2bdb6c032cb5928e3c260700582002e3bbf84785da9f484a9ddf8193cd41890d24bd1338950f0feb7d938c167f835820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bdf194c758ad5a70b257054e35674e3ddcb7049945d03ea5305fb16ce47f2f530349cd6ff4b10c2f866196ebe927f5a7b5cae8ac8b2d62a9f94936d44c9f71bb870390363b5fb9e26ee4de5d2f25252ff895a05fb69fe53d0a8f49130693f4493782032a86b92f0a0bb66b04196e3f74ef48a86e32b3334ae53668d37f5447b0f9eeb303a67366e657cb2f6b6e06c5f260b66b0078d206907a0a6ebac3abbb653587e185037da3ec49f2363bff6fd45b0c31533b7c4447676d924c5ccc3e9b9e264531630c02199f7f0322e9b493046adacbcfbf72d64172c9a51deaa4ac342ff63d34d6fdabe0c614050141020058200254c8f24b1eedbd7e4412818b1e58820fe9f5e28f9bacd3b6bd0f7cf89bdede49355cf8363fcec9800000582002939741b8142d7881e61c60b5b1c974cd559d21bb059586d9832af0c2e7d4965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039c4d0c55fc04869f1eda77985375866e7cf667571ac18314309f3c234eb6f63e00582002af8beb7caff9cad7cbeae89f1885e688350521eff7eafe8edc4ff72eeb78645820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03df2023f6c4a710331372ac27e3e970c829a638a08a8e7887ef4e6eea9ca57f840058200229f700be8dc991e1c501d4c459f68162f3f1857207b0162378f4850fe123545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ad7a3987cbe4aa4ca9a72585b1b639ac024e26d0abcceed9bd40a3a49e387522037c38fcee2acbff8ee24d667ae812b2a559ddf98833f7992d99db1c1394a706a200582002b434af13c5feec68ef7b98b9ad2a80d617c5db62d55c1fc867e4ca1e362e995820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d0f2cc95879b4d638dfd44920df7e6c8b10dfd135f15ffa73a9448b14bf464ac03a4ff8c4c01fcca72f7abed5e4d990d855cb1113fb41ab583ab6de79cb7ea87f700582003987ad49d48c3d7ea492e34fc142c543316729cfbaa6a57f10460f6384e47d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d3016cb8be393f8650146d91be387f4bd055d26bf49a381685b77e213527a04906cebb73949b842eae0219041003f5b80bef065f6f889aadbc14513ab2bb43e4a3f4911f4cbcee49e2be7e5e535803789e9a215ba2b73bfc0acb8b54443e9f08ebd097b7a75188b029ce2303bc47790219f7ff03ac4dc76276f017c3f0702c311ea9729bb3a449ffbe91a255ac720068afb7661d014100030680190b1c40683f70e610b30fe84e05e0429f572ee1f7893a6351c2845ebaa103a9244eaf83f15127c0d0830c11dc12ee26f02efdd3f1d28b3d20e728d5ae37990343f8a76d5fa860b805a4a423f1ba598e9aedd34743745c9ddb1e63c38ce3b3b400582003998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c96950410200582003ba0d54b7d9cf3c74ec392967a6d061303297a5cd35cf22e8bae95d0bb700405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ff0181427c67e32979d6638f59ff8bb98fc9f2c79f2883140258d1ad3657f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218d0005820031e4f20166668b7f387765e15b9d5e2d58d07d3d9ae229818d7f2f3156e85004910d0f2a8ee827b68ae005820031004271effda030fdc59d505066d6d536541a40912d8e5b718d815669431905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032cbf1ff73210fee9d4f4b855fbf7c00dc0fd9dde3930976b7b51b6615891a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a32a6f97ecc9cd4f7ae27cc4319fba3f14115ed4a8745653e63bc14db43a505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820038a272c91615429d80f68a96706a6fee9dc4abd870533bbfa7372da9edbf9205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200314793711e509183d6f500627e5963b5c2a7488c5f2124625d571ff0a5b92304970f0200593da08dd3102192274031941b8f86ae3f568f11806ea1030b76a803ebc86f9cdfd04edbdbe52e2e350b00058200256610cb8adfad79cbd8ad9aeff61aa28245cac4b4cac5398a5ff95ac134e6d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002c8c31d2c63549bdee56ba50b97ee7a1ff6d58f40ba71eaf939164561f7fbdb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003da87ba4e5c26fbd7897a51fcd9707d34aae3921d09b977ed92d47ff92e7e305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200302549d11de8610cbdbf152886ac9c070e79dceb817336d587f8311360057a048d4eb68e45fca18b6005820038e3227bad7b3f030d8f2b04580e028da5c4d6f44cf2e42a2e4e653c200ac504970f0200593da08dd310219204800582002a50811e08af94fe145de86d20974925917cfd494823fb40f7695470db7ec5c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03de66873ebb4f949755663bea76808a3bb640573ee847d123b7899fe9eefda7d203515c4a79531352688e55436811d50bf109a18801fa7e2057f1b1c9fea28747cd0376fb3d61dfa937e1fc7efebb34caaad35b61adb7a6cb226eba27b026e0a5124e0305646094710d031fc79ec330d3eab821cc483b08b5f2527b79242cb5e2df65be0219bfff034b3292eff72f8a89c0338b2e0b8ea682f0ae5419c0a029b651145f1edb0c014703ada9f1a19fded9d6ded18211b4429a20f6135489ed50c9750267f59c27f8df1400582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60410200582003b42583c396844df4ee404149ada2a570f0de72c1df9c658a6c6403a90bae305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021881034b01eeb28f33a1404c8e5e5a680d57dd81337acb196267aea379bdffa071c699005820023ad9674fcb819bfd56d8a4b9a49784fa141c9adb2b570cb4892ecadc29c98d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036789a7de718c791469b5e2322c2110055d101057359f896376cbf5d9e9c75eb00358ae228a41293dd2b5f2c3c304ff57fa0f42284a5d43dc330b433e7013ecd615005820035d4fcbf0e97019a0c3e1016c37d86cf3f041dca943519868d9748bf5f017104b05e1deb59288d7b73ebe380058200354d3440617e23510ffd5692f4f0ecd4da89ac36298495ca4cf43663c5492a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f8f77dcc4571fdbfff38f6f2e6ccae8ff6cb949b4401aca44229b6b2b4d5704703688f1dc839f90219031003011912e30ea1f61d1cd3249b280be64832ece5a222c9e588fb5d926f04ec45cd035a094045285c3c427d8687f0c843dfb13659cfd54156bff6ed512a7cd72f3cfb03e0b38156ee18eb66b453055b13583bdb70a3b9b18f4a0abe31117ef84cbe85b50058200314ece225c5cfc61546d292b27db5ed1d7960f0b53ec6fa06a09accbc5e24805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344404902fbfd3da5877bc53200582003d9ef09fa64da0d7681fe8bc94a699f1f2aae5355b61e07d5538958dc3480105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219034003b902df01ba20c44a629c2befc4388b2eb8ce0de21acdcd6a77941dec05c7a3940356d03abdfce9418d231e184cf35d55e6eb21eaef73f987e1988dee6d8bae9439005820025b13c1e29a8c7b483eca1cc6a749eb4b3ef068252fb21e1268b5f7a6b34ab84716ba13ab55322002197eff0372b900f29d47b3b6e44099b861c9d45af7efcd963b9931dd8203a32c141c3c7f03869ba4611fb9f88b507b8bdc27ec5b92178a97f47570fd694a800044c376c3c900582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b4b0468a3c46ce1bcad322b5803ea3d67778f1cda63068082ffe8c1c797c10c69894d1684ae5e3df7efdd08f18003e65bc714dee56414929de0869ce835648f3ca4f9fbce079e6d6b5578fe9fe58e00582003045fa7c6ec765e825df7f9e9bf9dec12c5cef146f93a5eee56772ee647fbc04b0633fd5ea750fdb0eab24600582003a1c82d8943d4d9eaa1fca92acb4f23c998d03cef9d9ecce37d3b1c55f54d905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021920100058200397dfd9192624e4e5f4c98ad432ef53cf1b9531bc64157495fc96c8bd1386305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003314f24bd8b01b33f71c70d93735c817a68a266720f61824d8b1069be17f7705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80430f4240021823005820025e918c827867615628cc812539b7673b4e7587d92d87df809a282dd5ad59974801862656d893f99d035c433278d91cf9fb4ac81e006ff0253f9dff40d0d9521a0855ac7dd78d1c1af70385a7ed7ac6e9e943a32fefb289bbab4efb0fe57d1c4ec16b6675f051d247fa7d034734bc40b63ffd4457386f8cc2af13f7ea0274833a6445d03b26fdec726f64a503385b3386543dfb6b583a8720b520825a6c396548124e705190f8c31fc54edc5003b1a6954d648852da7ed829522300d3105ec9ec4a7caaaac9c2435174d539ba7300582002779d82763e07d41e9a48a6c59bcf6b8beb82f3d15a6ae11c65a823e568d521480caab9599a5ed3de03cb897fea10d8b14de97a6a994ad7f7ed180ef80dfba1cea4492b0c770c17ac2d0219bfff032764c541b6b622b65accd76a361f01ac7d9c32b2c84275f06822f5f26f335d1700582002ed7becf2f8bb0e4b0d742b50e46b66ef541e820bf6cdcbe60927099adb69375820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03418d3f2f0b7e7a32b941a74378551a0a7952a866db1291c1012c2a70a40fe6c0005820022a78c28913c7b8058f28319ca4caf8e57fab470e493d39886d585cec10366f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a99be01e73b691da90efbeb84a6dab5232ac9c255ea5a92dea9c0f46a8d5504901deaf3adfad7da08100582003b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f4230058180dd1c579e9640ba700000000000000000dd22263e18d148b005820034e706ec6778af4e748cf55e1b2c7dbf378d4d477cfc10b360ca294ee4f7c905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219018200582003fa0ed3625aaa03821186f3e387947828a6117c461b534f092ddf987f8788b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e33a7990f138c70cb7284519c6fcbb98bcbb5950aad7ebf51007fb7d36a5105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5042753000582003885a2f052b75375a01e4b8495676afdf8168398be8d7fa4304a4cf12c7a5e049a4fac2d976cdcf55f50219498003679509b810b0c1d9bc0b90beb4afa0430fea5904a6166a5e7b68c123fa3468a800582002815278e43e16fcf7b45150e379497b0f2e7c0fa8d7aafce8c2db7480469ed249ac8e8b60bb224fdbaa0058200283d8e9968be9407207d2f0e86ca4ad55a06710fad883e2e278c7f2213dff7a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03be952bdaebac00985672dd65d2a759d2276b782a64357006a44f6dff4bac23d70058200215640cc603dcccfb4332abd8638e222052a4584ce32ad9e262fff01567b3c14844bfb666ea2bc45500582002e7794679c72efab86a6d844d0dd46e952c3a4bbfdb64608b4b0466f7e9b1335820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0326d9871bcd95f81695a7649b7e7f2ee8111996ef5e74eb549b7ecb8b3d6f72d90219bfbe0376191b81c9e4e408d59bbbbde3bef16e0e597bb3c563846174fc4e77813eb7c303c07f412b057f82bd58dcab608c0548b9657c9dfd87f323b258c0459efba185ca0219ffff05581e03e339d6d412bbe84bc3d2bcf150a25ab9b80f0311da75afb6c299a49ec00701195bd505581e03ee011971759a56468aa08a6cf658436ba47b0bfc373fca536707072d10084805f7fbd97d8a110903cb9aa79a5399981e332d354eb4808f4e326c0b800166d2b9869eea2b218ac9c905581e035d93b5494986ae290820a5d31bffbaa39d6cf785afc3475b97397a26200402033f86697123b0021e6a08a664652f18c7959ad9d3024bf981b9c3044110349d8a031d089ef85ae411313c6acfd799b1c0f751adf618ebf3bc35ced36b85c90c340a02194af403a375d147a768554e321b187859412ae3f2685628daa6fc9f242737a7ddf7b18d0352a36487ca7a59ca678707d170d88406c76547835d0ee14dc80f88cec73f30ae0376c82dd75c696247b6fadca0f6fb8e05e2ed7e8b59e21fba4c909598a07c4c3403aee71e29a1ddcf01c89a4b9fcf24df311d7df26579039ade091404dfddcbfab40353cf534383fab85ed18992afe90b4623ab7787f716828615125c4c2920c410e903b3855d9d4eaf5eacc548139f63b86ebe7999365b64c87b3f85adee0b5de7a8df03099f59864229cdd1afed1da5c7541c8cd38fd99edfa2f0449ddf6a610333417203936a675e1e9a33fe905434383f79e9e2c1998c6f4d9efc7bad4d1461d7fd455303946d014c20c8b6f5d4f02be9ea2d632ef6e023fffb69849b5d57117fcb2ce4a603c999debc34a27547210babd90ddd4fd384d892763f5a1bc8e4cbf9687fe318eb03887ed86df28eab775113aaa587a52ab174da2b6a234659acfb596287ef991fc30394b8cb8ebad290ebc019f34680f06540d2dc80343ac233be4bf365eaa20630120374b9b375455e5ad219a1f1fea2a9d0411b48bdb84d6ebdd7faaf8f01bc0a62140219ffff03deae92dae22d76e72f8cdaa9aa99dcff510ca5cca0553e24e8ce2e9b04b7724f03c564575b964a39d3ce28aa567e2e8b069cc50a26989707caef3cf49300d622880341b4815e7689f7c83652461d6401bbe555de966a973269a84c72a63a87213bba03124be049be691119be6f105f47677d21d9416278d9b4e64459df2a67a39192550312ef71e5621c0f131cab78ae8197a69484cb1718ced9edca4cdc16211b8e0ab603db3fdd001f08235643092fe16bbe36e217ba41bac8e3d160722953621351ccb603be9282e14b359cc52592d78a3f6bf9bea4dcdac99f2c8382e5f7496e99e3687303474c83d7d90dc3dea553f6596f614d3d90a5d05f229a8276f5bab346d86b066d03910865a73cf204b16e46b7ef12bf725804ac1dd0db552c0fdad0a3ba434a0864038c8dfe1ba66909fc7a10261b181c55af6de9cad90688f1c8b2b7226e0ea3336c033840b38f56bbccff1281a8e6d75b2f7bbf1393de077bde1952688d9c817742b60330f474261961b1fe353baaf72b8c7d4451d53814cb8412deddf5488e7abe8b5c0219ffff03b4493e26caebed86450c5fd19162a7e8cf2081df9ec0aa9cd12e4e848ddcd6c3037e3ce7de23c4e2e4b57cca972345ff479cb5d071362b3916ab08c7f6dee96d650361e15be518fa072a0711ef3c7764ed534823fcb4660cb9fa6a886112ba89890c0377c9bcd11d5a1d5c55a5d0c5ac7a4e7e214c16d9193e3d12e1fcea2d3d56e811030ce511707bce3d8166b4afe2ddcf150584bc9d91d9238c75c8bf17a5817b73f805581e03f153abc17882b3d003607a11dc0aafe0c205882adffd1596e44f9082200c02471195ffafa3600003f00d89d6ea939bea37b2a08d3d9e6a685054eb52e5654e2fa2611f3ce01ab24405581e03193f499da75b955331c0eb3d2dde4512dd4714b8cd36a341bfbc3e21d00c034901925d918a78d7200005581e03011ece7520f49d8420188bb7e37ff5de74069c10e4f821a258285d51f00c014468632c2605581e034fdfb3626d80ad6e946d3e0deae4aa0f9d911e5b1ae0eeb5b7d293dda00c014701bf24db8eb00005581e0306dd0bb4f274205c1ef0ae4a7eab61d3258a502031b565b4bed26da6a00c187a473cc77d6033f83705581e03dd5e0dae09e60a3f0484813c3a3383fe1c579c88cb66f4caa146a119b0040105581e0330701326af6c60bc08bda9518eb83ce7a0865b4e3a3a3b887cc483c9000401021947b20328669773bbde226121fa61413690988a9206d2e7f1443465ce6f109d204335be03607a6efaec06128b9ecdb36a16ad44ee28f6aa8c7ce29f56f54282bb6af3d8920338e570c0e7aafcd44780258ac4797d463721fd37d2b03c02ada83a3747883be903c95e6eda83ff57dff0b19660606071b8ea9749d7d3c6149b2492289ca9b9bc6d030fb51b06352dadd2436ab693ec6b2a7758c554896032de11df0ec72f7c01c60603bed735aac6812b95e1709a20b57f5e85db084dddaa35ded31e9675d810b79c89037cab83a445075df75be54f210816e46f919c797eacf91bff7957da499621bcbc033152bf7b8298eba57b153c1f5705cd69312a10400e7d6e50200290352ac05ad403fc7f5ee6ed848e7796d93202e41f860d4099a895b463c3c3a00a80210367747103033b657140d22983098efba1db646712b7a6ffb0488c2e175168efc5e90c88e40219ffff0381a6012785a53129c0def2c652c2602984625ad0dbe3e8123c5d886aaee8b0c603099b321e62afe2d74a489b0ba984e85b15af675f6013966c3a921bd236ca0b5f0345e946dbc26b238996f114e8e5f1ff4602cc5b0396b32026790106491b86b8d4039d3c43ba4566c984f3fdab4b97af224f116dd19a1c158522e58e88e83605d722033c02214ce949f9c0ddde7b634db1c1f5162bdf527d91efd13f8378e861e2a60e032a2871723e129cdb3ca5cce601d0ee1661a2e8bc164fccde8bb5c84534c4830303cadb3f2271c7fbbf39cdd53c9decae93b5c3b943976d57d368e871170b06baf50311469134f7024dd9a76f80c1606a9157ae7032ab7e0eb98440f336b947f831e603f052f01746a2b854daff1caf8c13abb58d74169978a5f4c249c5c77e2da6c54c0318be379dcaedbd334d2564a8cbd5e45d646dedeaca65d06fdfbdfcd8e8acae1f03abac3bf7b401f658c5b94c23d2d769f167b53dfee58505fb5d349b6c43e1c21e03d70b9d9fab90bab60afe606d52b11b11136646f674f2c52b7eaff2c042524ee5035edaf4fcf8107c542e9f02473f445d5b24b39315e5731eed1150223c4c4ac12803da7d4a8b04a3e6d5a86ffb5b4f2669eca9e7cc44aae56364993d22d935e19e050387db1acf6cbc52e17fffcceeb692845ebc348d3582ae5793b64f23df2905eaf60219ffff035147b024c25a75aa8de6be2761e279285869ca706fcd0b2b0f9c93a07838b83a03b92df572c26fb37d0ca02558f1790a4554744d3d9ce052979d62144a18617ff90377c4de04467e0c28f1554d97ea40fbec61020e55200670f1970881917517958903863af800c89aa2bc8d2810c4829b03b6db9097cb2f435e7da55529c69dd8b45a03a4c29ca16040c18efe2b9bbcc11ac7f787330dc5f65898d6f92b699fc4f785fc0341dfaa14260a7ea3bed9026a2cbe1a8b760d60c537edcc079f6a57bc8eb6ef1c036e979ba66cca9fd2e66f20dbca8607b8c5b0eb73ef345dab8afa323ce12d53bf03f41c1793e5e026cc188882301d931df45c0a112cfa71fb73f0ca85894eb4dbd403928f643cffa8ff5edb9d49016cd1250a883b47f6df891daf17343b96b6a57704031cae2e759df28e64465ad101ed603f165f594078c81e5928029178b97e62bfcb038ca837986b3ce631d0a9bc662f52da88763e4fe96b6df9a080e13bf7f244ddb303a2f6327f840d13ea7bfdc20635a360a87feddccd9245d5118202c9783b289b7e03f16cb9689dd861b806e7b50b16ecc4caebf50f322713f9d090a87cc3f5242aad035bfe1fe482493ebb85a3e98c0490959a44597a27a81339213772a131ece5097603ebdc0ccd0119bbe3f3303f0ce413631338eb3261e5b2838015bca1e06f52783a03bafc3eb3e28bbbd5def9a89c89733580dea279aaba3c15b75413f50f9e87f914032c6c1d362c404b5994684ae34da9bc70169cc0d439299efad4fbe3de5da3b1550345394f8f33d7593493affef7b87271aca2dd8447e1780271089b9b538e919a34036b019b7b6c2ac2a08280a35a4b1d75332412e3cb3cac2d93258f827d004ed4bf03728241d91a664af852561716845835fb8f302fb40d3629f4f3ea7e784b27e1f103b51df8a1861567a20b284e5e9a9009b624adebc8b8d0869325e06d6cec41762e03226e1bc428df0361c31ccd0e197c3e32a44b9833d9f075786c1642013cad9390031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e032e8d515ca18424d00b11df1342775a289e61728fb67a647634da86b5b007011bffffffffffffffff03d7d633a58946d00ec7a1f93c1ca631df0a8673eae96370b6b72631a2907dfb7705581e033fc85809662858ef84da3bed357c869ee43c4d2819a83a2937915c2cd00c0147ae93a8ff9e300003b40cabe387ab1ae0428e6acd4f45febed642e349e6ff78e5a0c05562312e524f05581e0305d5e239991ca957fdafb6c81e43e290d6f76e225d6a2eab825f7b9740040105581e03ab5b2d37e3e36f18459c8d739cf4cdf28c3dafab87d3e2a33182a651b00c03416403cc80a46fd86aa7d5f4c2bc76f1e6fa171f6370a7220ad8b37ba5ecc254a992d7035a4c1af179adaaa7f3f14e742e56aa80a3bb4cc0f7652031b83a918e921c878704591ee0608060405234801561001057600080fd5b50600436106101425760003560e01c80637ecebe00116100b8578063a9059cbb1161007c578063a9059cbb146106b4578063b753a98c1461071a578063bb35783b14610768578063bf353dbb146107d6578063dd62ed3e1461082e578063f2d5d56b146108a657610142565b80637ecebe00146104a15780638fcbaf0c146104f957806395d89b411461059f5780639c52a7f1146106225780639dc29fac1461066657610142565b8063313ce5671161010a578063313ce567146102f25780633644e5151461031657806340c10f191461033457806354fd4d501461038257806365fae35e1461040557806370a082311461044957610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806323b872dd1461024e57806330adf81f146102d4575b600080fd5b61014f6108f4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092d565b604051808215151515815260200191505060405180910390f35b610238610a1f565b6040518082815260200191505060405180910390f35b6102ba6004803603606081101561026457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a25565b604051808215151515815260200191505060405180910390f35b6102dc610f3a565b6040518082815260200191505060405180910390f35b6102fa610f61565b604051808260ff1660ff16815260200191505060405180910390f35b61031e610f66565b6040518082815260200191505060405180910390f35b6103806004803603604081101561034a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f6c565b005b61038a611128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104476004803603602081101561041b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b005b61048b6004803603602081101561045f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128f565b6040518082815260200191505060405180910390f35b6104e3600480360360208110156104b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a7565b6040518082815260200191505060405180910390f35b61059d600480360361010081101561051057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803515159060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506112bf565b005b6105a76117fa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e75780820151818401526020810190506105cc565b50505050905090810190601f1680156106145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106646004803603602081101561063857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611833565b005b6106b26004803603604081101561067c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611961565b005b610700600480360360408110156106ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df4565b604051808215151515815260200191505060405180910390f35b6107666004803603604081101561073057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e09565b005b6107d46004803603606081101561077e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e19565b005b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2a565b6040518082815260200191505060405180910390f35b6108906004803603604081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e42565b6040518082815260200191505060405180910390f35b6108f2600480360360408110156108bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e67565b005b6040518060400160405280600e81526020017f44616920537461626c65636f696e00000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60015481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610adc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610bb457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610db25781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b610d31600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dfb600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e87600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e91565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b81565b601281565b60055481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611020576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b611069600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e91565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b860015482611e91565b6001819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611215576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b60006005547fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b8a8a8a8a8a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018215151515815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141561148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4461692f696e76616c69642d616464726573732d30000000000000000000000081525060200191505060405180910390fd5b60018185858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156114e9573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f696e76616c69642d7065726d6974000000000000000000000000000081525060200191505060405180910390fd5b60008614806115a25750854211155b611614576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f7065726d69742d65787069726564000000000000000000000000000081525060200191505060405180910390fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505587146116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4461692f696e76616c69642d6e6f6e636500000000000000000000000000000081525060200191505060405180910390fd5b6000856116e4576000611706565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b905080600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a350505050505050505050565b6040518060400160405280600381526020017f444149000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611aee57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15611cec5780600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b611c6b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611d35600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8460015482611e77565b600181905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611e01338484610a25565b905092915050565b611e14338383610a25565b505050565b611e24838383610a25565b50505050565b60006020528060005260406000206000915090505481565b6003602052816000526040600020602052806000526040600020600091509150505481565b611e72823383610a25565b505050565b6000828284039150811115611e8b57600080fd5b92915050565b6000828284019150811015611ea557600080fd5b9291505056fea265627a7a72315820c0ae2c29860c0a59d5586a579abbcddfe4bcef0524a87301425cbc58c3e94e3164736f6c634300050c003203a67d22e190dd3c649324efb73cfacdb91376a2653c3ff311380a653688ce0e6e039bf411f3d4e713b8e8285c00db3bd6196a5472c09b57b7a15f96f5a6bc929cb80397182a90cd97eef866b9f33a315e00e7747d03b90199e7898daa51ed514faab203b6df142dfb80d670b0a2afc233154d5f9a41be1d0f5ab630b9478e859db5218b03d2440f8e8b2f2555cace0c69547c8e7f9ad82616a48ddcfbf334936e8008a86e031e20190389ad251a43ced6aaffb21fa3de088d31fbd15c1951ddad729110c24603a26e96eacb8fad6fb8f0b0e5f5445ca6f1d2baf80151940842d10cf6959c09080334577fe8824c20db357b041c7b3c68015055bb27271413172d2518abfe8adfaa034200aad7c6d80c48cc55179b5b0898225813a13b28643cf31087dcc2a8d600ad036a0dbcbb4dd2c126b2d920fc111345a523bbbab3224af80ca516b13e28e69cdb03dfc394f4b649d776359c556b2531f241249be7f1cb60861482525bff8ed7087203224a037bbb5f82e4b793142fa4f922361f64831392b570cee94faf736f48bd790346b84d53d63e8b39867f7612088324cf7ded158dad51a30ea46ff1ce247975d9036b4cec017548dc581f5013c249e698f989a70b884d34cab7b64df4e6bfb89f000359894352d47134e21834136a810fa224a63953f2d98577660f50eee99b4ebe6c036d799be99c43045e20b4a1c5b8dfe8014ccabf302fd99f6ac52e976041ef460103bc30d4f8fe6e8a78936ed682b651d0b8256ba58379a66b5fc9225f0474fb15df03365b11b589ffa23848616794d6b2ca1db6c051db62274012c6d61d56264b3d72037837184c9679a31dd5aa6cda97278fbb42dde9f703b1614d0989d12b09d3a6eb030d8fb114d3f568c6fe93e8e8b12a457d4aa6c44b4579901a7f2397ffb1f2484c03a05c7c24080d4635b06ed9a3f00518aca52fde359b3bd74cf315297213ff3f25033cb6bd0f119be67bfb21b1375a6727c402cd97b878812d0e84bc6b49575e4421032119653f7fecaa0559b1dfdb73ebe701f5227220c9c3cc6f1c9d92b54c3ea0f4037ac279f211c5084f4590551380fa5f17e45ffa384e9f6f030d5f3b8345f85bc7032898e3b85bcaf9cf1ef463116f8a963a9a6840aea13afbdb107fc1f89dca2f3703556f87d741482255a91ff85016c565b5ad811facaa3305c700cabc051a2eb7fc0321c2f62150e72a42b660c4fb318c27479a998d78c3f1768cbd9ce9b1c25021c30366955d245fe6e3a308e651cc98e44787944a6011c312878101bd9a081da2903900581e0266d03649bb6dd1e0d14b4b8aef2edf4972fb913eeaf63a66216c9db1664909c3532ad0c543800000581e0254b24b72ab241f700452ed69a3364295e83d0bb15cb2b3b782a7fed5b75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190810031311671c574cc69767bcca0a30b6f84adbc313be2ffb58fa7dcaead477096ff200581f038f978b369968226daefe9804456b36c140a69b836346f85cd61536e3bf505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03403b1979aa2682c38cfa79dfbeb4af97189b8fb0fe3428ed9fffb1de3a20410100581f037420055e02019dc63091eec5b884f2f9a44a43c405c46943043d70ac4de0480ca358a869197c000389e15677e54ff3a10de129c6a2197a166b0bfc1acc9bd4daaf3d5a4a30c06f2000581f03be3daefbb6830a69eb9a03a89ad6227184c8d10279069e5f438699ddcfe05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033b825344fa5e73067c112d40a3257b8006cd6af7a65802049f270ce0ab05b896039c117fcf4dbf244470e980f198293c101509ff10ee9acd096677e3fd15185e550394d83d2a0b28001fc6e9a651c555bed4b368f35efb1c75eb12dc2ea186af5f1d00581f0391c2a74ff7723b51e3420419ebb6ca35eb87ca2f02e6c23bf8d22fcd61a0410103b1e071c36f4e25ec306a65b13118e9e0d7381dcac974f5e5378a16c511b086920219ffbb0219ffff038968c58d013f6c818132fa844ae2cb11ad2ba9233b2174340497770ab4c54f19034baf58ecd36f0fe9dd70e93eada4a5fba26bbba425b566b8d3762d39da7bede203202f1a06cd1d87ca98b5e3a6bc86a98207425bbdd661254c0ced8d5cbe37ce82037e605623d7257f8be9f00de1067f08ec4bb3ef2975747b0a1ad6eba5bd88191903fdd05ad0a73675ab18297210304b90dcacb883716679afffffc59a1d6a957fbd03dd7e7519527f6b7ad001825846411d9d2dcfb47dbf3df7d338d5b14aaaa1be4f03d76230532b961bc1fcb6b6c22d841247d983bd94b1924ce932c7e3bb510f647b03e7fdf85826d9fb0564c7a7a6d9c5b0718a0dc595b77bab7f2ecf57a6dafffe02034f971670b232a83d71af8f19d9f407cb19c2ed8402571d378d10d5a732c05f52037d294293fec0e00f570182b9486e7e4a08b29a142a64f1baf7357587c906ad3803c301decdd9bae4cc5c844addd6d1382ed52aa235efa9fb7e8ff06cb4c10d1f8c034906383fd12ea2fc7856b6a45cf217a12e465d5a07353d74f4fccea5918493e0039f56d5688b23f873490a72e16e1f04c10b1bd1dcbd0e1832a46a3e1e50f151b10219ffff035e90c78ae3fe33fac0cf271ef1133e53ade995b3cbfb37b4c82f792b5bf86a91036e388f1afe10f71c56641a1a45a401cdf72c3de29ecbd7a0129c9c348c2282d403a4b1a8d9336eff4df6a033e4e849bd0e2fac18acfbf96a26247b545f59c0a274031f42eb2c78a0625d7826c10ed09300d353dd27e3ae3e2e1be8e1eea38c46ea2303ea3062d705281c115fbe22842be309f0e230bcc8dbf4a5296f951bb0c29870fb030556bfb0c2b0c2a9c4cf9f89505704eee7a68461211e7dfb0dd1f062be329c67033351fe60fe81ad401215915b4866013b7626a4c711bbc157eea7ea0d2c1df19a0219ffff032cb637eb01ddad2230b515aaa3da422444cb6cf7968c4a5b04d22cacbd2633c403c6ac1fa0f0991ad925981fddf23abed69f4015a6a74d5d3396dba6101cd4e511039e0159ebe78bbe12289081139ea6d6340fcd4bdf901f1b2475fa87d1f99c2112037e0d6d26ff41179ca3cb6059d57a6138dc1ca2691567c54d534e22ee20756197036993f64149a05960618829f0e954987d268bb5b6cd9ad069e1056da31f624d7403236afc90db727026370600fd017c0ed09298f18e18b0962e6697cadd1d752717033d33c897d2c6b5b9302f640d49d4f3a95171f9f436ea84c02bd91cc42fab3c77031426df51ef24555c24974c6f8bce142cd8f91e7a739863bc6ee8ca5ca9f33d7203e112e1a7ba5018b90343df81240cc33dfe27d5d306760001f0c190bf41da68c6033c98b1f60083f5349932ef3868f7b5d5fe634cffda908bef3d4f658f9a66a553035c7dc7a6b48f3f9eff9fc7415d5f3d26d77bc932792a0305cf889c41f1e8dac3035def3ea7cc71cc211e621a74cd12edb9a43d45058395cd4443a545d7275abce3036da19a1012f23c981192a6d828d2c710c0d4930c11d5a562016cef86678179a50302b85aa6035677e56e273a2e001efba8f1169e6c2ca88eef60a3c9e1e21e103c0219ffff05581e0338cfc997a82252167ac25a16580d9730353eb1b9f0c6bbf0e4c82c4d000701191ee005581e03720393ff9f9a5a3113b70ecfdd01ec81296fd5c7434cc8c89bedae0240040105581e0326a1263a49385849fc3d264449cc387a96dada0c5160f58c608505d9100c01470383de5d371000021935f703b6d24974cb69a155cf5d3976614ce2feda891c6021765e7627133f0043ba264903d125fa8a25c68dbf5bce7618f508bb8fef9a7e8b88add792354acea0eb6a9e3c0219ffff03ac1df92d134c87410b9e6465a029555c7f52fbe7404809402e846819fa507113035c746a3c8213d2ed50facb9b70e6ae0cb9085faf4e9605d701b6e632437f186d03101ec5813d6290f5ea899ffda10e17cfe68af375e6b3069c046689c1c0dc297103366be99ff5e29e75d0fe6d29979e7f2457fd80774f5a28d2d3f80b1637ca7f8e038311ef492f5a12524d3666ab3feee420abc507c5304884f2eee960b80cf5c0e50345a87aa8f42a2353e9d7847ed73ea2e06cfaf21097e4d9412c56f80d3d684d720358469ff393173de8f86fac5b581ad41161421e1809494abcb3627ddc607ea64503c746fe4a4a40aad13249eca73ac66aa04b2b2c1b81a93ac58ecb14f39dd3f79c03933e1ceccf0067ff6dfe7a95cb2d0d2d67f2618e669592812b56383102eddb260219ffff03624d50693579822ec4e4e2a80d2385087398f1fe67f0d5a278c8c54ee8f49e1e03594952509635a48fb746b9dd5324d637cddc3993c52e802339ee96e8c1d4369703f7861f2ca2a48d17e23f34e9e2cff4de20439d92e7fac9942b00080da411a79403753c1718e579d2e2d558e9ccb1bc71752d2a020790248ab77ea966b176848cd8035ddba3a209c7ec693432e655ec8a87f191ec42a554a335e1381a319b51c7468b03d1d1ea53751cde37251be89f1bed8f7b4cbce013d9b607b1f0e599ac7b51d7a80219ffff034339b7243fd0237107d9dc7ec71a7560b7e385d84f8913cb3339576592acaff103a381f159f7815dd6ddacf460be529d8a5e2a08d1ef71767067602a3ef9cf94d20395a3cecf3ad0f15c29cdc68f9c8b92b1ea0871e90fee2b63e775b19a4758f4d203f2d41849dba279a70b0febfb2fd58c5af6c483f6192f8db969720117561c53cd0319a629e60ba2f4a8e59705e8dc003353a95010bf09479c59aaed78259050974f03ea8b1535e1a57a63724856a141c56dc766124f04fb9fe5a0e67d9cfad72da2a90331ae2cd5053df4cd9bde7af262aabfe4808e16eab1581ee0b3ff911d3266adfd033513d6d031a3bfa66538afdf78044ac128f8fcee0bc491a7e6fb55821732a7330301def4a614c78d4fd021464ea17ceecc4985b8a8254b7eadf7a052eb9df3ad4303e4dcd7e7702b2afa8795b5c533c0c4616bb05c670abea70c7e47339011e50b90033abd17b2c41c4e413180c5f14308fc08dd2757cb04e6230c83c44b649d76b57d03ea57e19b3eaf177f20aed37a9b77deea0bba05f3c645ef9b6364db569ea6d30c03db23839918972e749efce4809345e4f58175ffd75d2de0242a6a28b6a9feb2c00367b5da4abc78afc4e48e4891257c39bd28a62265a7fd411c1859fa49544c9b6803e3815c18691c0d5edac1eb5688035c3f63db525d675f96eccdf5be802556887f03c938c1db3a213a424917699c4101545891f4f4b7fc4353a5792100d82f42365f03147a5ef50b5cc49a531de1392617e5ac90f3aca1bf07d5ad60edfc6baffa3b5603263598d4f1ac09545c7687377a82673776005312573ba3bb891553d28418d450031238f7b8340d635b0c4ae89a837305c1651f89b9afd784bb74b60e62156bf86603dc60dfb3537272285dc56d6671214c12f3946262b83cce17a4e37ad5ee1d682203e1ebcdf01ee444d02af05afc898e7065eb6cc5e650be0c65250b552099282f7c038f72c15ebdacad347404a1676f6c6d979fa7591ea9e615103a02526f6fe66ce8030dff7713c72e0c59d7c896dc7e8b4812679d97309b824b55dd3a862f3bfeafa203e64052cb187956fca7049ade864cc46a930992ddcafd707b35a4d1c5db6f9350038c117b1ca83b0549761442ac57e14cf532a970741210e5b09a26d074bdf52ec6038a5d4fed3ec3e6ee25b4ca9b904fd91e8b26e3cf1672b928f51a3da3b4bf8045035a883dde3ed620c8199d63ab124bb08fea8702566924f45d1db7dc251b03c90403f9da7c4c326b23639668ee6577632946aa6d8fe227d53e3dbe4142b3c627969203a4d000450c7e255fd22cf4a3b37214eaefd38054e682919ca9484e34460ac61b039a39b30d98eb89cb654fa1816312e889b5dca496200074a51635b23dbe9233dd03999eeb2f171ecaad1ceae7937c01a1cdb478063db52cdee54507c41ff0c1315605581d029e57747766c13db9698103db92c0920d3287c57eb629bad1eb83b301040105581d025a004d63392738835549b31d112913e35a54c051260f3c0cde8fe26d0c014710b79747ce080005581d02bccd0aeb538facad012ab5f912081f8eadaa524d1bbe595f570226440c181d475c9acd95399165021901600368f73ec49da46396ff96823c3d7d574e1139cc80ee873e00e21246163ffaf27905581e03c313a88219052f051591a8afdcf9972ea5f0a69b6e7f75aef4b7699f200c07470a1272c8f7279805581e037d9f772910f4f5c2c8d587d8376af506c03519df1a2d715e0ae6bad6400c0246bca6ebb8257803330c22a44f976d79410b7e71024b1f1a92d2390c7ac0a33a1f989136cee3536c05581e03cc408d9bba0af408321924746a32133c8939937cc7b20b0ab660bdb480040305581e032834f69800275d10125b5b43991d4f5b58813a666f1c1e96f055ef40e00c0146544690ae2600039b2b3c723d9356388bb21dafcbcf1c769d3f73006b198a1f8c2dbcbfd881168e03d89892807c2045225f1167484393fd7b852c67ffc2382cce487b15b708023a9105581e03e1764558482d054558a7b73d19a95ba598b206edaf7738ba7522a1dd8004030219bb76037a5c89eef6a68b4b7e091f5768e52aa298759ff9ee7db41cc4afcf362ad6a0ed03886d203587fa0f46be41555707281126eb095c5b6615e6a6499339d49adeb9730219ffff03c52a71fc79fe92e44a74431339bf7f294497495ccaca4152a4e54d11848012b803b62bd0f25f937e83606b6132fde3b041763dcf74e0c8015333d057ade23e922c03db8403d76e4bd1e1be7587806e807a42d6c0077a484b8120820834d45cc4acf7034bbedcdf61f5ed76b4beef458478202b051f74a32a1af84d3ffb1f53b39d062103971ab7b5538f6dfefb8043df521f1175bb120b3816b5f3c94ffcbcf5bfd2fb5103b28d5e2488c4f688c14319bf353c24fad10658c734b716e2f3a9a1bea689bbf3032366c8689e990252526827206905710933a329c03f3d55e217622275c1a34ab4039880bbc143eb7e9bd305d82ad50b8602dd978a0bc3e681fd397d54a5caa3e87b036fdca9c7550c1af8c739778b45b5ac8f278aa1c31fd6c1fc115a27237bdd3fa003d499dbf6dbaf91fdedb5d3d65eb658c7f6fd96c1a34652e504fb491bb96790e8039e418845c80580a79fe3cd52ab29211af45c291b01291f519b17780dc4add5dd0314a273b9508478104ff406425b3b5641cbc433fa311f7423e244634eab653b220219ffff03bfc9fd7e0cfef879b0272f2f7dde7e1d700e32b09b5e90d231934d3c0bf6b23d0327c5223da7b89839ebc623493fdfe79cda26d7c97daebe5450bf93567b4f213703ab1355a3f7dae7e3df8a69bd6152cf2ef4b9f50c56e7580005684a7c2c64000203605c9ccdd47eb42019a07cfb7fb505480f3aa52784ac22c2d616af08890bfd7e038dec8a995e587046601a6d188c6c5d9b927eb608fda97b2450f9a07b8e93a9ac038dd606ef5954612a4d12debf70252ad10cb7434036c67817fa64028886434941035f42fb38b61f39463af23d5dfa5973e3ce7f5f5ac3478888c7b8bbd0f71999a60219ffff03a3691625ed8846b62185461fef277a7672ff42b32fdfb238dc8bf75b02c99d4c03c9d7c648459241ef00f77ceb4a556107f059e09203c8febca91bb5d6c6ace2a90219ffff035104ba871bd8b4790b7aacbdc25f2e37421ff34d7fb7ae2987bc8f4fced43773039ac14ea8ada9606e52990f767227f89b5e54bd67e1600ae6f927c9ec55f0f43603966179b718174b214ecc7bfe4e426e0c3768fbb2726ddf0d85b984d5e5fe072d038a6588c8ac6d8c04f2c4810491d9dc4e4a393ab614c8d42a787e2bcdd0676bf80331311efb1070e2091387f2120754526abfced255f965e1c8f4d92c3bbfd6cf15033b308f0e07242ecfafb97a77fa835fc534398e5ad223877d55e8c41a63e0d4c603dcc029c00d8a4edee850073f6991d8ab43faa3e2129d29a804d027fc288db790039c2ceeed56982429f9b45b75a4156894d630dec6b4349653ce935dbf9eeff7f4037ae6dc03b29f6ff117164a1521496bf60bcf2c6c59d5f2059e3c06db832bca4903520b36b69cf7b252890c3f1b805a99a87808e3be5a5342ba50d2fb849eba915b03cad58dd840119f674aa029f2dc461720988ace105bcbe6084b0165394139b28b03509280c9924faba5a6238e12e25438cc9f12a75d0abc6cc8e8bc063284fca08b035415d9bf518f2cb61390cffe3eac76c96300b853ea31a4f1c5f483623d51984f03a81e998d5e8d08e1a0576b5b6a8a54be9cd7be3b67aad99870e659b97e5a71290325db94a4df1103de4f524d04193e062a79b9c397fcdbacd0c0883273b3698fbd03061626c78bf141dab9a84acb65398fc4910a3fa9cad3f70d69d8e586f7515369036cd2a5ef1a11ae337740460a540e6a8c2f36f79a34920167f928e656d9a37deb03ed2f90d40893246b64c222382e7bbedc751865f6ae2fcafe6f526790fd7e06aa0379e30d05c8765b73fad19b4aa4eb65340256a1743437b39c37d917833143bdb005581e0309faabfaf9060b41f35070c451a94b84524405a763e19c06d850b72850040105581e03dadeeb4cbc7cbb2859035499afd9d61846e19791e6da9ba579990142a00401031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e032b352c9cd244c92af05b093e78f50491f770a944b935c19be75800b54007011bffffffffffffffff033d0f860f98345cad535e4f859a664ca2f250174d55759b88c13192dfaf7f469403845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581e03bb84aa584a09444f6c6f7df1bf5cd57cb1fe3c03616fd73e8e8b3be80007011bffffffffffffffff05581e03c97c8a0b6618aa22800344a2b1707aab1c6cc8a31e034809c5744d65000c024501dcd6500005581e03ca1bef436a08af023d370715693f9a3a2b1aa4c551f2ab31cdfd053d200c1a00068c4a494f179b9ef58c1c29b305581e035cd247b357b90f83a5b72352cda5171539d3ed6f7fad760477fe51a8200401021944fa03ecd4887e2539f997ef8a9c7e07acf09eddbed74bfa1b7b08a920bfebc94b9e6c03868d60319f2f1f63dacec2bb38edc8f6057234f036dc5e8bef92111e02eeb8a3030a116215ced5569b55b446293330e140f273c4563090518283ff7f67b8be2c9203e06271a526b339f206bba16ebc5dd33b4385aaed1955c76b0a2b5279d0fb95f303503c6c7eaa19628fb9391f66bec3b53e21e063d526b5cfd16d50493e3914598f03f1a2668ffc444a08254e3803f7d04c876aec955c30e564234f4838cf6c65c74a03d0057c04df8b4472073c654360dcb77122ccffcfe69823aa102909779bcb23ca0219ffff03fb5e9624e55f0f0c641c87c6b09c7f0bb23526f405b939b067e259a056ff47e1037d9dc9a935095c51a7ab2c238ec51707417f56ce357d3a73cfe2fe83a850d93303626069341f86450462ed3438342d107eec55106430a4d7a3515f7a1089efa5b503e311d569327c990523f9418767188e91a033937c413db89d6b31da61bfd5697703053f9701128dcbcd031e14ce915d441c89873ae32621402e005cada82a6e22ae035d3804623e3c0fc068d332114d207c9cfbb8eb4ae9f34b1cd0869c235085da760308a71e736bc2d284bd4270ef794817c31f03908982d2e566f4e11dc0716e54bc0219ffff03fa5e292d750bb6f108d037ca578f208bf3a17194c550233908b62d74795b1c1003e963ebe37a7cffd45b29e1608624fedc416cec334a4bd431ad6edd7fd62bc6b503d47a4ed6e0c38fb882090b0dea656063a7708ecc39baaf4b0d8523559dee0adb0370f921ab859eea613c9b76c567690d316c01fe0898cfc66f541a85a166ff350a039842ad19411626aa3c8e573805cfa10ee44dc041fe27ccb95429977fb4f615e903281910acb3cbf5262d74bb1cb13789cca47552bf21027a61604f69093c912bc8038a81c94eb58c58e1ffba0d4fcdf7cd6cb6a712f583718d512e5f0010e0c0589003ebf5050aef407616db1bc150bdf026d04994b3b12af74b205c6d7ed89438097703ae6894fc9858de26aad9a3fba6f170643cefa883a114726af55ed2d669f7a7c203bca34f2d79e3f5e65853c3001a03ea4c087875344993a4aadfda6941c2731b4b036e244facee9dcf2d44244c736703d8b684acfbebadcf795830da100c5e8a72dd03fdd63e8bd5b871b1bb77dea019967e72645f70d693658de13a2fa2e7c2c89ade031250d8229f28d9305534bd830b17e49c11af62e77645dacfc81afac9a43eb9020219ffff037ef1ece21e44ab825d8ecea9e2d56a9132a6a4b9d54fafc65d70a73a5def0115034b3663a1850f5525518e66b5e306f474aa2f18f0ab3eca1f78b00dbc2ce1af6d0300a05d4c837fc12810c0ccee474690ffb6454dacaf6c3c8909b1b794d876033b032dbc9f25e0e1707d2666b597f3b00a0f1da7e2d9f3329e6eb50cc2df6884101c03b7f17735e04be31fdea217eec4b01ecb8c93487674518243f99210f6f5cc371603359935ad907fdf42a20235dbbc5b087fce48762076ca25d0ab9fc1a65f5c5806032c563056f8f964036a01cab80632c04bbc0e4f2e64b2ae2cfc7f6f019163fead036aa5d0c224ed72ad8a9a0a8732a7ed5e3a0cd59cd08df6fccc3276340ac9e6a703fedb156fa8c45c3c4fd38b0cd4ae6720ba024b28e582d0e05297fe4d355d750203ff7634648093ef9e8286f4f8eea5202ab1b6999a709836c5ab2679e73d9fc70c03f6af0b9e56dbd02b9c6587f96d8acb5c756b105be21092bdf7a0ae84c701e2390391398b34ec052604c2ecc5315e6041035f05a1ed5b2eb7802745ccee14454078031effe813e79da9cf66ca0c09ffca252c23322ae3588ceec026d8376778028542037634ba337fdcb080cf75ad0e3fa9553e2b90be9d9c6d104788ba6f4858de09040219ffff03e1d2bd8ba45ba25a395f82a760ea3abbf33794428aa270715afcda46adaa73f903069bd66d030e35784f82cde4597e49c72de02ed10364fe6cc8ecbde8821b13b003435d4ca6e69ec48a926af1ef0464481855ee1a1978ffa34dd56a84d5dc21f4e8031a1aa630da0c87a0409bceb0afc1a6c130dd60c87a80ccbc8b6579f065c6c88503565326a8b92870813e5793e46847597934454d34104f5ffdf841e347bcdeca1d0360025096eeae2ea564f59baaa1da80d1ae94912c083c2dc5bc7246ff8977893b036648d77a12a0e585d7b9697a533251bfe5760b2d1125e73ce93b165469425c6803a59f77eb825a02c82931b6459eb3fefe9a440c242d51332312cbeaba30b846c103501ceaa47e2bf18aaf06a9ef27a0f5f1375a6c80300fc6d198af1bd4a2bc6067035ae9b60b801833b9cea811e0cda957bdddf82c4d2f780d20a5998254e6be4b190393b7e8366554bd03c36c8aff25af27909cf297147d78077d3db44038f5147698039cdf09a6f6a8e9cf4b5030d81837ae7a51b3794c018170fabcf77467ec28bcc803e8da51dce8d69dbb8c670d42aa453c9c0daad0fe54183a088a4cb9c4d06f142d034c755779f7685f83ec6613257f66f99852dfe88b65e997d1fe2d784957587200035ad304666fdaf8c77ec0855a7f8fc08dbb4b1fcd4c8a056dc4edd2d600b5c23603251522750ef8835ea0d6e1502b4de71d95312d1be0ad2734ebd213702f9fa99f03712a3df5e885e4c7c077159f683e4fa4926b8843fc1b285357cd951e9dc9838503400b93d289c22b5c493c9f592a2860f489534771db51632210179a9a9bb4ecaf03c5617a7053124ea454e92f367c2bac43338e572797d97a3faa3f5fceabe27bf803e6624f2fd587703614ead922a0e8ec314b3c2d9dd642e51bae28ebe58e66492e03b7b2fcb267f1365466c028354a72b6bd9f1c6dafc5b5195fe5505eb43509c7f6030cd717afd1e1c23a4ba629658a1f3b3455f031b71a74867af371cad8e818e82b0372024f75528d26309ef8cb1715dc63b25d5548e7631218bd6ddc081f0a3e36ab0316fab73753905129b217a3a2831be4bf28e45b077b25729fd5d34d2f1ae66b6c0324600fd0d540031171689347b7e1bde49622ba9a8c7ba85d6e7d2c5a76f038680339ad493ca17253e950eeb03c6015e4c8f5adfe44cf2248eb77e785b9de3cadaf0395d3a33ba22a9ccbb33a656d4ccb275a27fc947c41101b082ded113b4c32835d03435b44d8bc1ff9d810c16e8c8b70d927233845154a1bec6ad15c625b87166f130346ab3e7b454a72f4ba22f9612835147359237b4aaf26c1c7baf86c85c36c589703ac42ecb01e4bc85497c13d2c5513652eda8c494e3f848a9a743616bf44695ea403a4edc593b246afbeed37d0c9241ad3b49051d69572a39f3452730336fa389cf403e506d741b15b9b1036a9e9b1d1f2660577253509d24803832dcd5bb0f9710a6703fa6b9100d9580fbc26fad898a2d011802eb6b4352728774ea110c6977bdb77f705581e03161f35862c7e621d949f1836543233d97ea1bbb3684356cf2bac033cb00c02472e6517601f218503f51fa52fd1b3634073cdac532c263a81791eaa8d2e5b553ac6196b0a6bda534e03874883f8524e91da36394da57a2e90edd7727a73ebf0966e57227896f6072f2f05581e03cfbd667de264e2674f3a4ab678025ce7455e50ceb6af9f8801eb67c59007011bffffffffffffffff05581e038a948b155fd7e877ac39e2f26b8ca6bdf4d6ee3dec008204f77a14e440040305581e03b246aa2b37475290a8b89177654ed4cfcdb9d2fded0c6cd7ce179ff1100c024701e92cc996878805581e031fc60e7474750b6524888b8004e63230dc5ed3717e665c68067665a96004010301d9d351158d5ce69f2f6752bc673820783a9c9482e4b1ed1cc4f0f3dd4e108e05581d03d789758bf81ef6fbf72aa933799211792d5dd91e014913dfe4f2dc300c0147033f40a8224e0d05581d03f43dbe8cdfe013614a1dc2326a30177508fafd34bff957172fd41fd00c181f4719419a66c72c410218a001410705581e03a90c3b39f77545f9f828a8bd978ef42de1bf2eb25d6fa5fa00af028eb00c09470113f023b050b8037ae606e2fe6938c9629067e5bc65b3c1186869d67f27af39d3d4542bda49d47b014105034526d7057b1d90a5546c6b61ba42fdcee7fcee1fcdfd83f38fc6723a9304f55105581e038609a1d07e3157d3ca26d9d68987d7dbe05b873e9612eb6de397d7d000040105581e03a6e42f874d0606623ac92cca7586f24453e0e5f26c52b3653ad816d8300c01471ed3382b55eb0002193f3f03e5923ead3d47b673125338fecab0e8c698068435562ed0245ff8235f1bdd7f7a031749798c86a85453bf299f1db5590a8aaf39952f21ac2d9c6126718a5b42fa4403f44ac6f2422cc23f9f9b1722b734de3e735dd7f94b188cbe288daf0d4406d0e70371792562f5ac710146b0bf5d2c31f11906bf7403c27154796178ff08b0897440039741245f22a175007818ef2d84d39a5a67d9218d1a974b99efeb00410256d6a203b9785827e9fe6c94fcaf3f037c3b6433cad13722cf53bd54c778cbf39772ade503e6e12d58f22e03ad50ccfb374e544b14598731fb1c7ee89c4832785d7c2e76ab0344982187db96cfa3d5c945f24366ea1a109d2e64d19543e5cca26924a687440503963803e20516ac1ba6d81bb2a8f5de8c9a448a9be9edcd2ee22623f4a4770a3c0377eab4dfa6b60147e3fb728042d8d48f6a12d908545045d7005a55a8f18b37d803738d33df1f0495c37a85ef2ae70515df3221ac097116ff0cc7ba14f6681809c40399339541de10506b1a436bccd230f4c064f3dd424b6f9dc4ca87eb404773c88f0315288015302fe0fe75ffd6e7b1d05c03943a15858975b9255968e240cc28579f0386a51837dd53435a25b2c69c1aa7908c9a2c03a853745f0e4a68a8e6ae5865a40219ffff0362af26c3227852319827a83756a9f289d515d0b56e80f699d1257386a8ece251037c266fe872601ec14f25f9b06bb2cd7465a9503df05424364850bd60855bc22c037180d3ab2264dae80cc6aa37e33e7ce8f645fa29f673f3fe6a2d57546b1e8aac03b6d86bb0a5629fdf1ad731e7cac94e210bf9997d585314e1dfdd9fdaf3118fc103577b992b6fa437589741af8d52554da3b2fd9d84761047a1d9590dd0a3ac169d0368fbf54d46bc9942d887dd768bad5b62f4ed2b675122d9e3df4691cc7dd566300219ffff03069371eb260b5e55448e1a2ed36403a5e5eeed40ae4d13e621f731872bba0deb03e66b6eb9872d71b0f1856a0e798f6d88e6363ef0bcf21fac3dc6a75eb26fd9d6031a80ac50b25ab116d9f7bb1dd0224af90bd8536941be7c35a806f7bbce9f59fb0365a5c60e43d0780d2cbd5d7eb09f7734ed62b8cab680d2dbd854ba5fdf4744540219ffff03a584737200bae8a47bac63471a65d35491b2590d2ebd8bcc4eaeab0d97645c370313a979d70833961872d8d3a90cae1e723e810e3523bf2357ab3396fea78d6cbb03c03386141540c9576e16817f662214c97d10df65e1f4d0b0a3da0ec25e75cec803d6159b553ef74e3af78ef63707537c028c4b6be9a96a230ea850245ede0032490219ffff031093e2b73da85c6d517cd05146cda6d9a8d68391f01979ca0764d05ea0a42cf103ec8027259696fcf636dcde4db94f26f077d2f00f6273a9c63df7abac112e4e5b035780f7e86aec135cfa72c42638742da42f269c9b3aa44a39af317ee5405b6e870358741798628aa380bf9698b3a3a8bed919966f1800074a263845f8e9f17ac09f037ad113d5ffc8efb3e0cace95eef3f0ead9199be56cc030320978d55a2ac3811a03109b3f5e1b0e5203f6fea3f18ab59e11b8fb0ec9254a0ff0593d6bc826b80d3a032619ea83b28684fa4edefd3ccff8635c87d394a7373f1b0d1b483d5e50aadac3036f1110cc0e622c82fa80fb13f7ec8d7dd74309f7b1b23582f01b16362e270fad03d2fc35fb66485a68a5c7d13ae0cd560caab9176eb0e880efce79bb57cc66d987033a10401894876df294b98f916cae8153216f8fc91ee83ad484d27c203298c32403d031f51320f28e21eb2f8763341179b4d90b9dbc165d636be9e42fb50481a431030eb90ba708a5acd8bc1a8c690813f4fd5a28d54f8d2bf0f1f20536b83567e9c103ccb3c45f8588e319c2cd889113d6b8ab3e6583e6072c645dc2e1ab4b7a82880a03d63956ca3dfd04bcfc09586e370589395ee55d7e6e9da2309424f64d96847a2b037c657542c7438e980153506bfa49eea0c01fae12c7248970ded6f5dca0755d68036b9ad029915ae1e36c70fa79d6da319f036570707e5b738408835f8359cd225b039c4b2e3419b43c5ef95a477ec5db3e37a4c8a0fcac150f3dd05a7ae0d72f0b9303b7a32ab3a1003f656c698e77cab127f8b073fae817b174a0bcaaa21dd272cb69031d822b7b83881f46a2d232826cf693d39adf8fad6c73bdd85b4248a7517c2ea303a346601bcaca7205aeef94e1187b6707809ec1e182ecd50e4afcc6d52bc1399503d5d3bf9d6c78855ea448e3dbd961b9f7c48f1925edf82ca0b51fa708b40006900391a673f3a6660735a0f3d79e77f835a5db94b35e051acfe747b1399b5782ee2303937c60d1c46bfdd1acfa75718b9e51cd85dd9a520c3bb7a0055fb7c350f86dd6033c23c6405ce7f0cfdcc214d3457b0b716ebe47e0a637bf9d6ccce934dc12f5e003f4ea3579a9b8c959f1aa19412b74049bacb462a4a35cb3704d207d2445b9b96c03788a3b4c99adb5e09f1ae0a17892a2c7f6a8ae89d8ed0a7768f3deea4e3c006e039d4f052f71ee65fd0e97e95978bb396930ebf2fcf421dcf33ffacbc785e6fea50368289f068303217ab65661c6d3325f199028a6689ea2ffe837acceb05770724e0331860a86cf1c9df09865ffffe7f85dd5c5eb5fe967ca3672395772ef4920ac8e0362439620da769d6fe4202f59732ba886b013c20e27589eb334fd9ebcb58ef93603680844d5763a8df428c410de7c71534b75563a1185a89ad13f00b5e95b8ec796037246a61220e29940830397369b5a49a466c83a0e73b7f1b33688606377e20d8e03bc19fb1bca5cdf5117ce884d53649e11c05910e2ef07433d71f64d50ccf1a6b2030775e15c1a38b969ebe9643d151d2f5d9142d0d2c8a605d7fe5cfa903e0e126f0317bd864b5b76f497c6d304ed0e7e6af4333a085b4ce73ea7f080a09c7822b45a03899332b9e2f095e77102988c697de3c7c1745b36c3a370965d49acdf24fad0200360ca325f553d5147d5854ce13545342c7d6ac22cb9016ea8efdf34452842d246037040d6cd64039fbb6d0e9bb13d0f6712256da4c03282a2b2b84e421d168491cb03c94456f73cd10bde44986968aee3c157f7784de0f77ec59fb23fdcc5806ee9c50369d02e9bb381d672f3ef2cdbe3406894dc7f507fdda719faf42c71fd8408316a03a717716eee6bc6e1fa66b652d03df7fc4b87badd0d3c6744b3a8df8888bfae7b03cf13376bacf45a086cabdf8c296cca38b8ce40bbc9a763416029a24dc10cf4150308724edc7c2a1134d9bb69b02bb257127f221bff75770862dd984d1e61adf53a0391b2834e2a0bcf69c721b9072cb0a1334934221ede21c3ac5defa3fde928f16f035416c93ca49c95152091a09b11023c66bd00ead7f940b73e0939264dae0ef2610310b334b4de031509481d99ca540df5338214b478c55ef4f8b0d54a79008d402503caacfeb92e257007b67abe4ca1d91a66afcec7a6b07afacef82baf4aea7fff22032fd00100753f23ff4be863b22e3472f80ec2dba828c048d7fa66be3e75fca4b3034f5addb902d1bcc10e1e9203284595e56ecb4462bdd18b6205f3fa9d06b37d9a03e48bc9c08fd83734802cb9106ddce050fa026d9299698fe4d08175bc066a801203fcb82fb9b986d6a38ce8ac491bbf1fdbd2e09e55fc6316c7494e772b7d267bb303740f8204158867cf3dfa3d58e6fa40eae3c41eda4830ed90eed82ced34f7c4e2033a782a829bf1ab70f83d3e2c64e6a0cc950bc81fe7f079500735677950a62c9905581e03b0bc4a44c09417598485a0d965901b445f6ec5153b4d5c80784d8a94a00c0147105008fbbc081805581e03b408354a3192c6e762955b67dffa650d3b6ecad4ff90222c245a04ebe00c02471a52bbde79f9e105581e0314b12c2a48667befdc7883d1d96a820cf3f1c152b287b4e90371875af00c024706c8711eec742c035ee6b8d21f50d822d4666d18e88040f644d42b8652bd2bba66f56cc2390a2adc05581e03808ae3983281bad51f150dac22553c97e3cc4bdafdedfcce9b21d4c8e0040305581d02e453c008a844af4c8c6d6c048870e57ed8eb75a4a7b0490eb41f5ff9040305581d0207b616a149cdfba20f68293803a01425166233dc98c5cbd8304694040c014501aaa2ce1005581d027588578b75a6b7081c37f6fda66a46ce3ac21e8b14ef4d7da3e330b2040105581d02d5037a07a795d5b12134d6b58acd1fd5d218005ccd039898da25ada10c184647537527906df673021914180396fc0509822956e352b7031c658a3796c02946a7578efb014affdd79de84e73d021984e303f09dd2769eb12e46c5ecdadcb62b7d251378b8a9ea899f532ceecc599ae3864e0311ceade43f22fda76cf8a5a4e13386b1f3cba445fe40293f4871549bbbc3124b03368e40e7bcd83eb7d4478ee1d0941fc40795a14303a5fdb4a1d21fbc5b29f1940219ffff0219ffff03444d7d50906193f813ab5ed78203484990a0186c55fb7757620262fff9d2d3ec03665ecced0656d8adf5098d0d429a884eee3cf62b11ffe02c82bdee95726decfc03b7d2e28513e8626918bfcfe6417b9ce0888771bd95f4b846d98fe8240e72248103db1acc36d6b0f357f169d94bf4bc924b4b0f378011078de83fe1c490389bf5f40219ffff03f8738e08198c9f8b7a7eb7f6023bbc528c0ef73dbbd4c90666ac303ab6ec2fdd0219ffff03b0c390152d709d2250e6102ac5e05216cddedd44d08feb9b762888457b71768403abadd5c3fa89cc53ba9debe3f7717183797f7114cb71af91a0b2ec5a0fc97a2a0340896c16550ca1c016d7688f530cfb99c04116285f8d2cee3d6162f068e6ff5703706df3b84fb5ca16e28edd485c2150a35cd9699fc501f061d2d1b993120be65f03f9dc5f47ab9722cf22cc2a2bdcb2921345f918a1642ba1466f81d2af3175ea44030910b86d2ff7b13f0642dd6905ac2bc07e36c1cda8f5be48fa069f8cf743cac7033abc3803dd3dff13536d4dd29516397408388f14ce9faec62a1ad15be081c58803562d60bfa83a1cbe81ac6101be17f47dfbe61f641f59d415dcb20aaced4544f003f36c2f16901c1efcac13b048bc17c2626b8b0c0c06c2e69372fe6cbb8993969b03f64721023ae11fafd17187235b60ef34c732eeb160c4287fc60d17f06ea93d310395743c2a833e0d3225ac4cc854698b285985c0f4448e76d1d036818530439bdc03bef153e377a7e9634301857e62cccc28a158817ff955518ea48e8e3028266671036abde08008c846ed510d80933674dae1d5ddd63bceae0adcd93b93699507942603b064a0d82f36904dca9e4f76bb81a4d9e400c80ca840185929bb1dc1fe99754d03d84f60b95ff2f4c72123166af6351afdd967690f8a06bd8bc3749c690672dbbd033559ea9f9716c39a74230bd76039cc6eef1cb06ffaf0448b385c1beace8ba9b90313f3d0e84b6ea508e07d288695a5b3072b3655f6846e68a3db69a3c576ce1450030ab58d9ea3a5560a0f6ea2eacc71184071a2e0ead8cf169caec73f1af24860f003fb38d79278f1b88fc75e6509bdf0580ded619ce5440c0227fd6456e057bc17d003f5763225e6f800ce4950f616f57a8e8008c8373e5cf1c7145cafe6e404187737030a04e8283b9d0cbae96fdfa030649192592f966e651a51af29cd38d37e9f6f2803f755b02f894c4c80c667f049086d04d821f3c7e12d553a95596496c2ebe4109f0338b3b192e2f586afae88939c480ba9909d9bd0c8f2aae7e8d652f69f6fddb8eb03056f69e31a800632276444a666e84d6b075ba0f8f50a693a6d844a1394895186039c4a51141a209f3f6f083a2cf950620eed6c0531b3ab0fc025467949285826f1033e27e5617b23713c3fb292dcfb09d4fa91ad6022d14ebab120c45a339734b0b403ec9c6e04692086ca7d6fab1a231d82cc8ef08d19965c2a969cca2dd17d6651e4035714a70ec759dbd95f4cf404f92e31b75b0808f99329476677f191b271ff4211030ab4a3c3cee2a023b3bf8ec223f09978f80cc3fd8d6af84d11ead8ed13829b9c03aa47eff16cdb13cbbd4cd470a1aeb349745c28e93045237853c6af0f92b9cad503f98dd585fa797304561b40a3dcb90e907fbdc0ae2f4af83639d1813978ddc66703b4801f0ff56c7d890f284fe06545a0ceb376f14c07510f2f3fe03203982560510348f0100c40f324b0effb02d6c888401b37362654d4526eed3f583261f5fe0c32038b77151b16616de5d5df76ac53a6bc91011cd8dbead97b1197b1f419cc01de0103d96fd23077c01e07da9d9dfe32829746c415556f223f271fb9609501e1eb1790033f3f8c3e7b6181db2d420f476ed18cdcbfa6818bc70acc81ce605c41c92d3b2303a262b9a3c9cdb9a54cf8ec1a6a8bbda80f1ef2906af2517dbfe4cd2b2ece726903ba0a0b0a02ec429cf8482692da27fe46b5ba7a6f634ac76e2ea350ef9396f79403e99b7c0686400bdc4730619d37c5f76aa78d136983f50f040578b296ed25f06e038dd9ecc660f9be1fd6f6499cc9ac4706b4a6f280034715e668fa23896269e9b1035dd288174b6e6ebec6adb6287d77205bc7ba30dfaa3158eeb7f041e3d8e8024b036d2c1465d91590d99d99f877037edcc3c67ddefcc45f31e2a16a19fec54f7dc2038e0c4a84e09bd26a1cee4f351b878298ad84d4a6f97de3a9f3b272e85a720a1d035a8346a58202a9cb9287ef0dca1feb4f9ecdea822d68a16faa903b3818683a5a036828f2f930f5a35bf812be34ab82fa7be596bb08da09c3f8d7c76a80ed06b15f039ca8953df88937b4c385bdd7028f810a51393c9ebd1cd89fc080902ec468353503551c58096e6bbaa96817e38f80e95da31b09d46c99cc2dd4c76d7e7f2f627a5303ee175ab246903f31fd795bc560f9d354b0055a02a50ee9da51a6747356dff1a1031ed386c0883866d4ff5f5d603b3d2fa09d6feb37ce841bca1024c95d1cabb15e03b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b00003789ae8616e962fa1c81e4730d24dbd8ba16ed4b8c8e04bfa527f21a4aed000b105581e0303a2e9dbeeb9e1d4d6f72ac1f45063e41f3cde01fecf348b171bea990007011bffffffffffffffff05581e03e6f26d02e279d0d837359f99f6c0bfcee635fa637e2f428d54b56eeff00401036fc59d8ec2935d21adc29e5747192beec7518e8df38407f9ed9502877ad153f205581e03d4c65585dab789896c06b27c26b36e117ab9acb3cdadfdd4535f8a4a4004080320de2be42a37c225ff8f54614c5396f752720fc3ee23cb190664caa53cc977f80605581e035a95cb236e3227b5498806eee9ec078ae2a23499a1d0158c08dd8b5ed007011bffffffffffffffff0376f5a2231c97a339809e111c089977fdea9e4c75312aecbcfbaef9d18e7e7b94033968e6e8b17a7cb2ff7e1c8bc16d8a0343936b42527d7b163a7fef919092d43f05581e03d37645059223100de4673c67c6da867507fa02bcf184e5a09ff8a520f00406035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503cab76c96e2304fcaf5bc08cbff60db0740dcca4e96a92b536ca7b3758add85f205581e03b453500545c5448b75cbb101f3b8af0986ba3e3257d4fbfc3024e2d66007011bffffffffffffffff05581e033daa87b11655a14ae41afcda8072c98d0c6c2d6b714a839b83b09c95a0040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b5703d1f0aa9c759e0ec162d16bec524ac18a31756608f4e37771305f6d7d2730d32d00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0530229958ccd3c7ea25f26e53c9011986ae252540058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820860d311dc553661224ebe0070ffb3dccd5f1271b393f0bb530f931803318c8aa005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8504481bce70720f66e9fd7a229ab6d6a0c021844005820022768ea60f9835e1c2d0d9c18e3e7ffa883b78e83c59eab99db136f9cc750dd4101005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410102198400005821031d5979134c83c317b3cf212be1bef32d25002c19b461e01576a6b4e3f782854048b6623eb8427d6d7000582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5d03000000000021b7e77b71075bb00a00000000000004cd3f874a1a09d60058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54a41d2f8ee4f47d3b860a149765a7df8c3287b7f00218480219f44505581e03eda748f3c5bdea6cbdf60e6811f915ace8262b791c3854667c058032700701192c1d0219eaeb0219ffff0312c584232509b7fafb8fc7871713fd7955315354651d58006de3f4c9806e4b0b0219ffff0335ce5c4784379b0abc513e2136ff3e32dbc05ec13720692af9e8b9cb137a6c3d034335a5b54815d855edbff02196437225ac496c454631d794dfc662fa9d905b5403de1eea5d2e254e46c552b20dc74a063237a90f415c35a0d30e59f5d19345db6103e8588cca0c82a8d296121f84401aa77bc225fb175cd53826a99fe3bd09b5cfe40355d5a24445762dd72841fff57c6ecdc57a720da4e7747ba6bc09de7c6edff34003278fe30e82cd8a5087ced0e4fcea8db9a78310299c809a7a6e94c5769e738e680219ffff03620edf70016b5436d935bc065f19fb7eadbb6ec57d3e8e036594bbb827e3e86d03dffbf27ea20d836e429a1e372787cd3131509eeeed027d762890130fd5265d8603c1e4515f6747f019e50b76e77ed50930975f19fad16c965746accf049fcf944f033c42f42bc129843c068205250a242f5714c42612f585ee3c6962657652d2568103828ae414464e79b613fab90962fa3ac1c404b0cc967193c0d4c1c8ca6c74fa2103ad43370f73a2669f4901e1876576901a1a6f0ecb1bcad8439a2751753f53513c03ec804b915588e0fa18ba92d8e0637c3784d7de3393c777f108d7f43c1e2fd913032420ebe149371af5ebb233bc33c11f923d52fe4d20b3b57c6ad5bd71e0a690ea0357055d72438d7329e6e9720d810f5d19f69a7c21f59f1e8426fd6bef538de49603a3f69c52a328613df88caa35d0fd03d03d54cd7ca9f934512746177021b39d3903e07a41c9e721d78b4e9a08bd16383c5f0570c2793e71bcf07f00e74098831c8d03689574461b1c1cafa64027773e3e8ee68d18c461a2c27e0135661ffe5af6b62e03015cc8c69db59393da97c24ef7e3c0d318eaaf9abef5af6684aa2fb7b642281203e13e0e5f7991332d5fb028208e0a8e1d4d1043692be479cc1e0e2ac062d95271037a0f4964c6406bc57635650dd1e0270bd07b6a6c36794b9e9db002afd970a7c30346f94d0b34355b1a996518243286f831b58b945c8f53dbbe744b0543ba34aa6c03fad9eecd5e399708ab7c68f37bc921794ee61f7b4cba46a220a7c5988967458303b68c28c0896ce9159b36c02ae2b1c75cfccb7266e57c4528b93f2eef7dd6b707032dd30800eb23b930fb2ef4c8bbbb5cafade3489a4d70db99678d96314d595d910334a31ca07e4905fddb6d600273ecb293f626b3abdaa231f0e941f7fa544bd378032a114b44a574ea22c39f9b277d3d15701c76a8e17387593f68c5ebabdfa29add033c5fea75cc3c001c3fa46c206f2cad034b012cee3ab44eff95f9c6ce8aa3a0bd030766911e484ed963d0ef41fcd76a68206012e6c94279142d130e3b618e6502cd03564ca0a14710dea498dcc17199c77a72ae228394d1477e35dc0713d3253c145c03b8d47d45994104838bef638b3b3869da2aacbd0deab4872875f617b1d7947046031de15b16059f676f62892ac4ec9466f78f590650a073cbbe38a0862569328c0c0393f4f851f679d7fb0b6693155ea8cd5f95d6f1d19523b44ce8d1dcd3f265f27403bf9ba4ae179dbe717c88de7d9d19ca336436b23b04b9a30b14d31e7830e67dd203faa52897f3a196d69c38fb9dbc2984419619fe0f41309ad4b0d5a6e78c877e7403c8ed1ec37449ed020f656c974156ba11214a6be99118304c972bb8284b497f9505581e0356e6273ec55dd49f2592b3c6180879676c7b2affbf6a841237fdcb2d100c034747b38107ccb1a805581e03613437bf64d078bfe93e4329adc7d998441fb7ec7cc358df6cfafadda00c0147014c4c66a49c0004590a2d608060405234801561001057600080fd5b50600436106100a95760003560e01c8063461a447811610071578063461a44781461012f5780634651d91e146101425780638da5cb5b146101555780639507d39a1461016a578063b298e36b1461017d578063ccf8f9691461019057600080fd5b8063167fd681146100ae5780631f7b6d32146100c35780632015276c146100de57806329061de2146100f1578063299ca47814610104575b600080fd5b6100c16100bc36600461077f565b6101af565b005b6100cb61028b565b6040519081526020015b60405180910390f35b6100c16100ec36600461077f565b6102a3565b6100c16100ff3660046107ab565b6102ef565b600054610117906001600160a01b031681565b6040516001600160a01b0390911681526020016100d5565b61011761013d3660046107e3565b61033d565b6100c1610150366004610894565b6103c4565b61015d61040f565b6040516100d591906108ad565b6100cb610178366004610894565b61049d565b6100c161018b366004610894565b6104b1565b6101986104fc565b60405164ffffffffff1990911681526020016100d5565b610242600180546101bf90610902565b80601f01602080910402602001604051908101604052809291908181526020018280546101eb90610902565b80156102385780601f1061020d57610100808354040283529160200191610238565b820191906000526020600020905b81548152906001019060200180831161021b57829003601f168201915b505050505061033d565b6001600160a01b0316336001600160a01b03161461027b5760405162461bcd60e51b81526004016102729061093d565b60405180910390fd5b6102876002838361050d565b5050565b6000610297600261059a565b64ffffffffff16905090565b6102b3600180546101bf90610902565b6001600160a01b0316336001600160a01b0316146102e35760405162461bcd60e51b81526004016102729061093d565b610287600283836105ae565b6102ff600180546101bf90610902565b6001600160a01b0316336001600160a01b03161461032f5760405162461bcd60e51b81526004016102729061093d565b61033a600282610606565b50565b6000805460405163bf40fac160e01b81526001600160a01b039091169063bf40fac19061036e9085906004016108ad565b60206040518083038186803b15801561038657600080fd5b505afa15801561039a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103be919061099b565b92915050565b6103d4600180546101bf90610902565b6001600160a01b0316336001600160a01b0316146104045760405162461bcd60e51b81526004016102729061093d565b61033a600282610630565b6001805461041c90610902565b80601f016020809104026020016040519081016040528092919081815260200182805461044890610902565b80156104955780601f1061046a57610100808354040283529160200191610495565b820191906000526020600020905b81548152906001019060200180831161047857829003601f168201915b505050505081565b60006103be600264ffffffffff8416610656565b6104c1600180546101bf90610902565b6001600160a01b0316336001600160a01b0316146104f15760405162461bcd60e51b81526004016102729061093d565b61033a6002826106cb565b600061050860026106f1565b905090565b600061051884610708565b9050806000015164ffffffffff168364ffffffffff16106105725760405162461bcd60e51b815260206004820152601460248201527324b73232bc1037baba1037b3103137bab732399760611b6044820152606401610272565b64ffffffffff8316815264ffffffffff19821660208201526105948482610744565b50505050565b6000806105a683610708565b519392505050565b60006105b984610708565b805164ffffffffff16600090815260018601602052604090208490558051909150816105e4826109c4565b64ffffffffff1690525064ffffffffff19821660208201526105948482610744565b600061061183610708565b64ffffffffff1983166020820152905061062b8382610744565b505050565b600061063b83610708565b905061062b8282602001518561050d9092919063ffffffff16565b60008061066284610708565b805190915064ffffffffff1683106106b35760405162461bcd60e51b815260206004820152601460248201527324b73232bc1037baba1037b3103137bab732399760611b6044820152606401610272565b50506000908152600191909101602052604090205490565b60006106d683610708565b905061062b828260200151856105ae9092919063ffffffff16565b6000806106fd83610708565b602001519392505050565b604080518082019091526000808252602082015250546040805180820190915264ffffffffff8216815264ffffffffff19909116602082015290565b805160208201518354818317929190831461075d578285555b5050505050565b803564ffffffffff198116811461077a57600080fd5b919050565b6000806040838503121561079257600080fd5b823591506107a260208401610764565b90509250929050565b6000602082840312156107bd57600080fd5b6107c682610764565b9392505050565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156107f557600080fd5b813567ffffffffffffffff8082111561080d57600080fd5b818401915084601f83011261082157600080fd5b813581811115610833576108336107cd565b604051601f8201601f19908116603f0116810190838211818310171561085b5761085b6107cd565b8160405282815287602084870101111561087457600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000602082840312156108a657600080fd5b5035919050565b600060208083528351808285015260005b818110156108da578581018301518582016040015282016108be565b818111156108ec576000604083870101525b50601f01601f1916929092016040019392505050565b600181811c9082168061091657607f821691505b6020821081141561093757634e487b7160e01b600052602260045260246000fd5b50919050565b602080825260409082018190527f436861696e53746f72616765436f6e7461696e65723a2046756e6374696f6e20908201527f63616e206f6e6c792062652063616c6c656420627920746865206f776e65722e606082015260800190565b6000602082840312156109ad57600080fd5b81516001600160a01b03811681146107c657600080fd5b600064ffffffffff808316818114156109ed57634e487b7160e01b600052601160045260246000fd5b600101939250505056fea26469706673582212203f93907b0eed4c7e0fcbb761dda4387c9f9f9de3202c7953b24792f8ad1de09064736f6c6343000809003303dfb6ea9e17ca82c168a4974650fedc9d21969e4c2317c63674aad67ce54747aa03b4261d98877ce223b8c5adf07ca2ffafd4b9146f9e7534260cac523e5311bcd603ba0e4863930250976e00825e5d00fb6bf181fa0244a70c10a409420cb823c9ca030e4efab476d7f5910de643b2ec2fcaf9756a7a4cae6b05a048b178c95acbe28803487fecaefda4933873cda1bce9a607c6cef01220e433ba7b88dbee2f4816eb7e03d0dd877583782c88893de2bb5069821dbebc326d7dad1cdce73c4acab15e7c6203091eb513e626b27192ae282640d003f5c6a079f969a153ae4c79b9dcf533a3b203064bbf86ddfd0f5922c0bfbe0840612f06c9e0fa5354d65becf4e11987e2d2340311b1679daa7fcd39cfa40b06bda173e2a45509096057bee38dd7b7a90a312a550391324b70fcd1720eb40b3e63a88702dab785d92717ff98aa11b39f27c413f9cd03e7adcc3383a59502866a714ad06c7bf181b8cb85f785e5455b09356e4f96be8b00581f0222ba0153b2244316f3a30887a2046a7716a5c608d7cf0f778cb2b6587bd55820a2766d519cb27f0485c9a5d26fa58173843da8bdd87523dc5bce3717be9de68900581f023ff37070bbf5ca21efc39d290e72f3c29eec0a9fb97684247af93189edb35820534bb96c5e001dfa88cbd72dd5accb42ad8f7c392601e423949708f544129f8b00581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563546968f3f16c3e64003f02e121cf0d5ccbf5625a4200581f0278574bf0c57e9199b5624dcab3a10e37fbab0e1303b440c14cf49586663258208bacd276828684485fbb9aa637803941ab74abb0b6993c6b9aa4e3dbb27024930219a10803e7ee5da05dfee3de88bf828f47043fe5f82b65007d2b2a79543182eff2cffaff03249660c9c849b010e17c53b76844561ff1c464719fc4694e29d4bb495b414c830328c5b023807348df0c31013594bbb5cac88f20c92eb8a5486da328cf8586b8f303f3c0d051720e5eae8d20617a5e74c955e83b83345f1d3082be0cdd500ca3982403c5609cc5645086592fb7195c5694fe1b9738414c8e55b1bf60c47c0207a3487303b1675b0f2399699a085d05c3f697c656c934ff72239819c8d91df36285550394034f359ba403bcb11598f0dcb9f37f79304122e59e4017daff981dde43a014a5f8005820036ced58041f461f4aa29b87923dabdd23a5af3d5d1dda3b3eb7451c32e1f3b05820ccb0b5d9ede91ec67eb5fcf44a968a6e95ec0a288a8d2ce640f17f1436b0441d03b48b64852124773774f31cd591395d64377be6806219ec30acf62c174349a253036652853eddea3d2fe816cf5378f0dfad97ca5cbb33f7527e8ab8a0dc219a4cb103e70110ae61b276c49bc2fda77a399839ae53729d3db1c98b271a189301caca560058200302ef389c74effe40d13f05de599fc904098cb32001a6029a36e106f95b75305820574199c36988cea2afe982dfba3ff5c80402365484a4933ddb111c8c3bf185c40334310287a63857d8d8fb37fe39c310a701cb0a01d51a06617a6991bc02e95ad403e26f26c9363bdcefffb8634b3cecededd6e8003f1e5fda78a7274b3075b1852f03365c5376816699b8948a9725def066d424bd65daf9754256cee2148563c1b1f50219ffff037da5708de2ccd9413875ff260c9348ddf29b1507893c7973583330bdb26ba83b03bd8d1d09c30b4528495c11a844f6239ef8fba596985c2213ef45e20eba7a1bb1030bda19c76975194f8708770ab9883c61b2c1d242b714ccfd5f2854879126d05503c61c0e32084dc048a6651f34f94f7b779a4da4675c1ab2d0a58aff0a8340afec032f49decbcc65cf2c5e9dfca86c142525c7e4b09f37360d1b6ae4753795633fe303ba3bec69d4992ef4e433724ddf0f2ac2e8cbd235e981a65e61e9d3ebc95461320219ffff03e5297a3a6934ba367c867f5c36e0b7afbdefa8436d2b21948c177cc30fffbf4f03db09a23acce9ca0af6490009aa6f331d4513d98293e74c5f7d48bd664fab94d80369e5172b36eb0f445b948378f99403287c1e168467c6244db64e99b212e995d3038507072345b662e6a1753353b94fe449a21fd3fde556a51512351f2c22d7fa89035cfa8450e15fcaa72d5a9fff4855f65ecaaba7be2fae5d5480bcc0fd3a3cf143035d6d29063aa39d5d5a72907ce75316d1015403fc4317d434a0e749a6bbda9fe800581f025b49e538f35135f4630960a54b82a2cc3f3c46e6c172bc255022349d0cea582051418d531dd000e329a188f50fdc4fcfb68e18b7bdf0ee03087a6ca56c83905700581f02833b3f25e3d57e12862797c001e4e940dc93165ded63f72357a8c12ee3855820b81564f20d53e1b67112d5d674a085a0912c0c4da4583f36eefe0323de26e70900581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4e65cf56bb00035053f5000000454000581f02c18aa26aa17cfc53a07e49febfac6027ca3b92206bf0e465a69b25dd8c1258205fc8178249677e8ea1d1a9838877bfc653ea1ce652c99e1edaa22ed80f557ffc021902a10371a2d634a6ba864c9ef2cd6695b84eb74c9adadf75d9b36e8c03cbcd9011803b0332057cbecf65bcde8a4abf62bfa0f6445b1f982e229a1990a67ba97191ecac3903798c91765949da7502d88daf841f9c0d145133d8312f6cd990345bfe34dbb47e03ec4d1f23920dedc38b0574f93661ad022102dc691eeb290b04161280f3121e17037383ae658fb82660fd06ec4b9f6acbb22d408d9e664f61be3ae41563b082a3ce0306349c5102769d70bc9426604fa93b49df9cc47cb1d13010d5bb0a28e5eeb39803123a27208342c89dddb4e64c6a870930be67a11f3b0902f8bd2c6c1fc625b87503ceb3ae968579fae79ee37b557ab25b7c10ee3b023ee384e46b63115b72778c9b031e582a809c9bd445c336801343fb1416988b45d13a9957ea199c34ed9be6187d030c84e69037a98f46990fb209b3785d68d1806af1ab19481f81f37fba92d845180219ffff03952a7147027ff9d801192afb2d08aa0c6563bbf7b877a12d752e1ab7ed982b830337049520e241b4940758cf7d96d846d7747b1fbc50a03019cea0c2c99ad31ab1037fe7468693f06ce82a27a9d235925694ebea20214ac9bc53b5682b89837b487e038383bb016cb7ee6ad48fefeeb9bc8e086f58380653e8a10b8df16149ff7d7e730349bf195c16de2679471fd6703e3a69ffeafd372f036c8b84b515876edf40bd360327b6e0b74a7becd8d92fe09052537d02ba5a9f9aaacbec7292f367226d1606a003cba8214bc0ec835d3fb9e0d21c9e1a31de5df4a476050de2cd08a8d01b8ea5c30306a07f3ec2ea3f6fa0b321aa8a6e9d6c7994cc397ec82d313cfc06e0f948e07203db53aefe050e37ca686af5e7a9bba5d457928befea859d727ece54fa9c1dbea5035e0f3afead39e0cf54f1a4678157d9332c60401462d68e95bc95744dc19ead9403b1907483eea4dd8a44ef50c1caaf85f02a9ef9c90084329c25d9807f6bf9916303f9ee57bcd66c34fc83d74ff1cdb053dd9c594e33f59177ade7c755fd5278080703ce92d2879923c316b9f2cdf6a254b95d0d4543a85fa2c571eb743e98a27c634f0385176db192626b0f6cd5c3cc04052ef3c3eb8feff4cd152463d36efe38cf0665036e4f60e47eaebef2ea14c172ebb5026c9b3a4f9a7c7c5af8c3a6726b6433ba540219ffff0369a719168b76f395cc162baabe81f8a6cc91c5ea34a45634f25ddf8299b090e30380ecebb45798b66f90d1e961cb524abedb6fd5fe066bee1909c3f7bef57aae280372d4925bdb1825fd81573488820add81b2ac6f8e3dd84fdf33e0cfffa08ea43603a9825daeebcf301b7e474d1c87904bb918d8676039fc0db655695792eeb55947038fba8ee9bc42dc0f640b5ea52736a0782f4ec8de45ef454dc60b4eaf00a5f37e03054975c0625a654b7474a730b2c01389ea4a43c245f82315eac25a075586912a033574764270a063a50617366e8a991cc02cd9e216ae1af240e20f8e60a098302d00581f029b38e1a188672831ec22232499853de6d86bba0fc395fce77901be3b5b0558200f90987ec7f6da3136fa0cded8d2713a284ce76fc34de71d912c1f904421a6f600581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf658205374617465436f6d6d69746d656e74436861696e00000000000000000000002800581f02b1343b40ca0ea27d9e18c6f715f8c0749bbe5d1fd17d4353d3170fd6a4d158208a39784fbf8c075885ffc04e38c94b24a7209c1d63bfd282b907c4c3ceb193ca0219c100036ce0d7d2271685bf87585c45c8c5089d62c52190f2d49714dc9090ee1d7e191d03655542f3ffebd195bf42a81230e30b4ee871c2035f123fd41b8806f0727fa5aa030a5403622d4cb5b162ab7e06b4ce77e80fe7bbe9e79c2ce72c3d3e0a96c91d710330f3b95179fed278c91dff4acb5ed86faa03d71e763c9f32f2abc06a79c87f0203f0599f887b34e365faac4b52a5843c9176ca2497f165f3b9819854a9997c66620313903fa0bf737eafccf83b6731e25bc76f39449ea30d33183967529d2faa880903a749a099a4c22f34736ebe650e7ad1a6d8fc233195b377c4a33b7847ac541d7a0058200340cc4f7678715f6af3d96f702fe4feb932cf41d81ab41ade70155888534aa058207ba0b97e222d86d1b94682ec420540e30bf1bc2eef3dfcb85d3f1f84e5790cc200582003aabca3eff5ec3d6bfbcae6c9528d12afc7234e12350729e4942e172f007c505820c84040a96fc3fddf8e792d2a5e5bc31aaa2bd7cc532ae45e12ddd11247bd96890329edad1d81e8372f6123da9ada739467349e37fcef6dff4ad7bc5ee9e534988800582003fbe56e9ddec3423186482fc45e6d23cf6a0586b124b1a5df7ace3351b10fc05820453c759840aa502b70fcb88f09b1b52bd8cb224d0967173aab18e9a6baa50202034c2a225df8585994ea187fa50ba753ed327c49da5f11ae510a38d22de241371e03d6c50173078e99eb46ddf0b7221da2d219634ccc589a9c7b0e746ed7a1810ee1036f383d79e41915868c8155405069da856b0c29f75f73caa46cf543ab5495befc03fc179462051e3cc14b4ec4492b649dcbd2f5ea8849987bd397fc423916ce21820219ffff03c182f5742a29fac98436ac14318ffb1e6acb4831612153f35b94d156345399db0376f274694d1dd1f1b6c0c4aace44250e14528ed3e09ce2a6e73b677f5c38adce03dafbfb11c82a055fb0ed5fd1cb7daf942b1e112b9f7b5b5b0d96bba9d643c3550358e90f97f604a33a1991defe15d3567b756bec2399c4d5d532ca3a498ab2574003b8f0e86808852a3b0f9328ccc9e9dfe38525b5af07216a40502d5a1475664b610385d0e437abaca0f959189ee3f19a636dc6c1b2386f3825b8a35fb5e7ba31a63a03f0e574eab44029a92a6d82d5c2b90c0e03ac7052f0c38f87913dc053189d5915039b3953acf52b3e142e40a512e5ece8b18ba734cb26083601e35da8d6c361178503f93f61284ae3a8cbb48333ecbdb5697ebb89d0e8eb475f62250c73bfbc6924380352cb2f2acb30679d661b4a0c17a91449e31b7b240dd8958ea657ebdf57cd074b03d4dfeaa45c6d6b037caa7c08e3d4eb122afce4c62b8b81b8d5e72f823e6c2c8f03965af71bb0946efd2fbb87b39498e6bc1f24d3b7b78eef87283aeed3b694499e03a11ff873c7f77dcdbb41f9a4e2edfa45e9326a980c23380ed57b032f2e0957360361943909f15e34f5911691173254638cde22c7d52654a27337b1040f9d9f295b0219ffff03958fcf3c48b79662ccd11da102acbbca8e50ed27dbebb6fe10580f28f1a16f5903dc3101abd878482530320a1672e022b77789ebd264ef91d8cc97093715b6d60603d9012f0d5a7f055bbcf3a90c344f9302fc35ea9579431986c33539591b07cc2003296581b34536347b5b6c945b6f1237d03ac032a12401ace004b7d4f050599e4a00582003e5335ca7b09f3f0f34d47deada092ebd913c042d112b709ea77363b88c73c05820d02fae1b9b8d95aced8c9ef71e89c249a59437f95d8d34903befa17e4cff67ee00582003fa20c9115ae0ef68b1b11d859c858efcc59dfc18643c57a18d8e54f2f99a705820e9ee901148b3ee14d253fa48a3e711845e4432e7ea64f359105ec02ec2ce129c036036c6ace2ec1dad07206be2ccb340656db0603aaa3bcb6b5e3d261cba0f7567034a2969771459db91d4fbc89d776a050303710418d35902754d7880ef4281752003e30bd4dbf7d5b840fa11d65f0e4a5eb2dc9462442a0fd4da76b2029b8a241cb00349a58309ec2e579f21023c35e806a37ea0a65664d30642ed409d1ce654d95cb000581f02d20deedc4ea0d4577bde94b73790305282d31dc6fbabfa9f9ae07c6e9001582079eaa385173d2c6a5eb9c7644797697100c65df46b0852f2ded5e685b3e8345b00581f02cb589e27ca8ce951526c0c96c9391713dcfe3a82a820f55a965cee941e485820bdcef086aa095b2ce8b3409db3539c93db61d3bfab2a18854e847b9674bc6fa800581f026c857e0827b796c34e7b7f1bba0dd5dc3272cbd0c704d0d8892a544b6469582063e83755752587607167df4ac73ae8191897ef0bb277f3370159e679a62a0972021982020387a1daae3eff2e8cca45cbb895dfd89d5efefb26692a174ae8e3ecdd94da210203372d74a787585a309a3fd8696c0a10731ad2dfe7ddb5c008668a70f3c4c1998403d44e14f49076deab730e3bc5395f27cf5de661ce0793e0400da847d30ac57f55031fe50206d4a939f37b41a4dbdcc012196b7eb9ceca05b28137f59a44a25c601503a0866e301cf6015e7af61a7e6cec1c463877fdc677caf05299f83d0ce8a27146037513efebcca84508840b4c2d8f5add10fdb42f58138f4ccd1d49662a677e4923037b4188fbc36f2b9c1d7167b02c7a7cd7af1d4f1b04b490e560b979b59dabebe903c7e39a7b0ae177433de30597c9c3f5ea0104edf5bd06638b575c1e3cb39aa30c03f7b2920a855405192bd0fc0a154b9e6a2dd20a6df7cc4824b1420692d22050700219ffff03b05cdec789d501df269ecfc290d326b5f6c03f2a9d82c1ab004aa787bef94366036fd850630e3bb9d42be1be6da28276ee269e52449a332f7b1ae268fe95c42b19030decbf4e41d29c3100ce647193b33ede91345d5d07a1b35cf23ea0f5794211fe03141b7fe4fdd5e6aadb7227ece8c04c0644bcbf1675035c13268363e7afa5f4fd03aadad3b06426c31fbaa75b43ad245fb081e570135963c23157d386ab15af89bd03bc4c208f3ff601846e57c5f844974c01b09c107a40a3a77de3fe543173938ee003b83683ea231da6ba8ac21bac678591fb914be2ccb6c61edf5c5e26949fe2814003b87c96e70b0125e0a1406d11e35b5c1dd767365d78091fee821916d18cf03fc703b1996ae0fff242330af029f296ce3d19dfebb83cfe99e02089ae766c75ea4f3d031a8afbdcd0854d1c0ab021f28d59d625ddc4c893ebc5aeb7e464570a0b5466270364a2235c5ad53690978cdeea198fa4701f288809109d4fd8215a31dbb0e12a8803e727ecb067930fb4da84527d31e595a360cc97e4b279f217ae1de91c93aa55ef03432ca793ef1bab6be80fb06b9ba0c6c9dc4836d02a3729bea7cf795a4920609b03799ff3cbfc14b1296b8995a32e80d9296446131db65e55c6565f840abbc417370219ffff0219ffff05581d024b74563de844f2561927bf54d1af681654da557575f4ff2438336a360701190a2d035d2216dc2690644067e22ae27d5f0345186f19ea6439d06737e0677aa8a24f5f0605581d0271c8d68db5ef6595ae408a11050cea92dd2d95e25cab67cc6469e82007011bffffffffffffffff05581d02b7c6d8f38f21d2dc390b87ffa91a3ac74830ff594a3f1c01bbfd26b7040102191810033f8cd85cfc4449316c207d292a2bc989cfcdea259f283355a272b3f661943177032c1d780e35f91262781d9f1ce16da3cee08685f9cc5ba32bdaf74dde54e4ff3d036bd2f6fd673bb1cac2934f93f94c2de4f98be4868e24ffeb6eaa388ce5dd025003bfcd56320225029b68c4e867535f02bb3c732ca2361014fad4959087f63c93f505581e03ba96037ef4c2c4aaf802e48228d53f525949ca06e5f1ea6956f6118fe007011bffffffffffffffff05581e030c3d68cdcdb13a9dd92e9bdef3cae0c9fa39e4f502b790106760f4cc2004010380b4199e3308a1a2fdbb6da0c7e2f1c81fb1e9565213050c4b84c71d2828d017021956c6036c4bc039c47c07c4248dac2adb6e2c27bd2e3b2f597799298ecc8108250bd76903c12d2aa79bbef4a2a946a6864f1e1e0dae77d796a76e042bb3625bac9276bc5803683748164ebbb4fbdee3ea17326c8e0b8c28e8caa90684170d6a68910718a9c80219ffff0300eeac7e36d0d9e002f382b76f759f8e0dbdfbbe21aaae4b58752fb5250fbc1c035a1fb2e88e0d1a3877647c55a9a0e62a266340fee333f904892aa86dd8daa2340371fd7aae0cfa73f6231e1239d988a1a816dbc4d1ad744842c448c609f1419fd60219ffff03a236846d55a2f903ac647d56a28f6022f374c381b71ef6105439beb0c7d7405e038ad1ae606111c775a71e5e9880b9338d7015c40623a6b44ac2d59e0b08c8c288037dfee7fbfd5efdf0ff2cc8e13984afcd3e5ef6e82e2bf95e4ec7466a4bc7ca2c03575650b1314179f98baa9659994aeaa706e8abfeabd125e9cfd70e5cb22f5943034975947399ccc019afdbda92f44f4866a71381ab19ac5735c0cc3614eb582bba037ee01f2a650c2b4a2f4353d61b375593d313ce50ea0a8f7924166bb3e0f9be1f03d207abd84a692d867749af075e957772ccd42cf2be65c029973a31111d556ab803b438c5cca7fb426e30ac3c7202e3c59440ec2efc517f4a4a17067e8e523a87e40304c35ad5e7b34c882836af9a59960c977cf4873950a92f6c1bb98e12fc2b9cde03e26a9cd1e760d6d0986ba716fecb6294ad1ad81c959361a483272ccb931cf1c703cd377697811f73140550398a0df2a2ece4f81f9fcb6a9abff6f9e5c5daca7f160219ffff038b885db41a41dadc38f659946629f0a61de51247c09d73bb619d999757884fbe0219ffff032158fe0037560771ff9ecfa82ccbbf68a7a384de6b392433117d8787fc5528710334523990d519be3578dbe0a9c83dda1c751581f6cf1a33704493073837cebac80326f96a47ca29400e00e471b0b8c1c2e8d972f06519d04425a8062a8dec4f942c034a2b75245dd0b411bebec5fd2c58fe06d5550f08bd80274fed31672dd023616f0347aaa51169288c61e542905d919b0501c5f367381ab073474f8202a502d65f3003e81d5999bdef14958859563d704f833aecde76310cbb9559e1aef883907a23a903e33311947a0974a15ed03dc1d83d94904c59a949da53a97d9fcec1645830380203ed13c18e4e52d30dfa50271b662eac9bd6617aa5cec9a016fd65118ff1798c74036a0bb2ca3aeed50fb1daf45ecc053756de524571300bd994aa4056ecfa2d9b6c03637aba81aac1f7ee5e53c33268627872628c3bc5c6c37dd6e4288472a16038e303875a40277f18acf40e21b1e1561f1f74bce7c0b5a160772169dda00c9fa1b39f034663c9eee4d30189fd902ade8c6e93d6a2bdeb2aaa9e12ae076b68dcf31676b5033b278deb5a15cdf9433eaf82c298198801a699a2167bad7193bbeb70eaf3ae5003c57c7a23e9e4450e9a0d7e69b18e6c1348d1c73b9872d8a08fa92b817c391bd6030a7e142e9de359bd75cdb488594b3d41271b57d030a07ddfa4a25208f860259605581d024f1d72599ce81382854b957d28adf0746816914b8d8c28cdd904aac30c0147065658f94dcc000459031860806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102e5602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610277565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed9190610293565b60005b8381101561026e578181015183820152602001610256565b50506000910152565b60008251610289818460208701610253565b9190910192915050565b60208152600082518060208401526102b2816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000811000a030d9c4a1625ae3c6dd8698bdf631247158814005ca47a7d8191618064ebdc899c03965a3f7929ac3253590fb18c938f946e37c132d8f7350732261207476acd781903eb37d30eb5cfe7c4076bc432e2d55c2c6cb071e29328a1322bc0e3afbfca99930332fbf80337c91eea8ac680b4e022bf0c53cb96834eac399e383c5c9c271a58b303c66058ff54efb9fae7af34aa2358e155ec91b45d390e27b9545a665c8ce2f5350320e9c1aa1f0d14e9e6f641bd85605970509c9439b8c4aa182fee38888c32733b03f65f15717fc4bf4353ee36eab915566dc10a631ea404ae8c313fcb51d19c1bb8034f58b0edac1f36afd066fb63ee2f0342fa134f294619e9e08793142ea1aee41003fa1d579b8019ebef254a2f489e3d7aff4fcd82b18a63c52558ca2f855413e75703796cdfda3b7082351c7caf4a1752bd217bc385be167970810fb16bd781ba43aa03b5d8901a3cc39015a3bf90b15095edca073631b53a9c605a0b89441d5ba842a000581f03803e1325ca2de75040b6c621b57fc0beba2077c78c59988bbcfce47edbf041010320a69d6da84dd3047ca583c4146d912b8f87b093c4fd36a7d87f9146e1e9dffb038b68b1202797c351d8cc7ec004bc1f29330c19a2e3356e5bb16fd1dfc12b0d9d03d230eb70061fcabb9f0fb216b8172ce0bce35e886e691a56d4f51e0d18312c1903dec7f54d66c49e9e6c3e621aaf06b1f8763465433bbcb2393fb3dfab44dd6a9803026b495d94e1e66275b085e4cf67f69949e872fd855da9b00767609f080fabc400581f033aa8b1b734dbf5fa627e20d17cb97fd3df82196bd88fb5f45b45ca365aa04109033e5c201510998472384321c1eb4bbe301a18bfa1499c7acb223b5d0cfeaa0dad038caad3d52242bf63a10b2e4e009eee39ebd40f0869171c3703eba088a59b642300581f032d1c0e2eac593a0fe62563fd994f3f5e6a14f888e65a2f6063f89ee53c904101038ae1e447e2d04fc59c2196dc0cb5ade3f056f3dd49df943bceba8852e261e29402197b7e031137d39988e166812d7758aeb3f0f20a09a01566a9ec2e4a02ffc6a808022f5c0362fddf50ecc6920d7067483d1dade2fbed51a724bafa4d04d61a07d53b4dfc32031de2769c3f1f5425a8b72f3222bbd2719ed7117062d06d34793aeb57c91200b303b4af2c923e823c4de967606122445e4f3696d1c9354cfac2451042e4b1c3eb2f0345f94d6451515fea5b18264c31a6a0400eda7d63b0e0d4824d82edf05e0fe1cf030046e560b4893a7450d1136abaaa9499b1f2eca7385589138be59100916b532b03e44b9e4b917a66f1ff69cf93dea78d6a1e25cd3209b5dd474f1cb1f802d13ffc03d280e85b8f926a7c4abcb79887a601634b12019cdf1a1a1ce8fa1447838a32a703370ac1eb3a49ef7dea233126a43d19a66e6c0668a07ac89d62a0d9ead3f4593803f6bba1ff1e1a9689527033e6f428d97d214144b8b0c352043f8db2661f20757303655296d2689f419322eda7a9da327ec445c5fb69e0c7b153c5ef3823685c58a803d39c4ed493f9142ce28979a6e1dedfdac57dcd0742a9a1d817dc277ce7ff377b03b7cf910de3b28aba42fbc3541c8b99dd1179af6138dced6fd41d15deae250d0c037d0b4085a4744138a19c97dbb73eb43754c495b92f1c06582e90931cc92c94510219ffff032c1316c244f8000cc111c65506e98093ec6bf28e42b7e2fdbea9e70701b1886803060fd38c3b3a344296481ef9856865ff6a2ab3ce18d85493fc23f82246a6891f03148ee881f694042fce3868c5e9dbd0082b1ea4eb0395b711f7b334ae789bc5e303f6ea5624204635413a74606d8e5cace62aba88bb6fb778e87e087affb2c01ced03107b5113d928a6787b6df8d25a0d9db32b327b297668a7a59ddc2c0ce3ecb62503ed01ff76e40c46ae86518b14a15270dd9376c58f641cccdda3a232e49f3747ea0308692c11159d4b9ce696f659a03e0d5aa949491db51b10217efb92a601a688120334b19306cf00430252c46faf5258737319d214197ec8b96b206a0fff6667554c03f9775d434f0fbcda102806ace0d1b19b56437ceac0b9647a341fc067f920e4e603529328aa1559ade973d3b494e158e8e09f563334842b34c0fb9aaef9cadff014037919fcaca3907b3c30024da5fd7c0890a522965204c2f80d90166de8cca7e72503f77e96f345ee11a80e3469e1761a7a84e4d89b7be9e282a36f3717dbe798fc9a0219ffff03b3220b6504f02eb0cd03c0d9f424e10597b398cdb8cd9902db7c40280cbc6f2803f00a9430c67758abd8d54a9419c2fc5ef94071b8ef37fc5546fb995a715ff7ac0377bd4ffc6e8cd7bd0afcbab57c2006739541c613808bc19304c6e38675309cf803713cc53d5fe7e578cb8a6eaf8a7262cf9af73d8c688b0940116d3fed8aba9ccb038fce72c349d96b257e59783417693f58c80842b59bec5305f543d0ac7e3705720398e410e925240a943bcfb25af785d8bd9ae1952bebbb942cc1f8f28424e8e0fa03ee93a699ab14965c748bba4a0664f3d60114dd8d856b1b67cfd33c205cf7dcdc0378992e0df00b99dcea11390a4393626943f0d9f7ea5696723dc49800ee77ef3f03db9cb76e31774eee2d95830bcc1388a833007de00482b22629ff3ac6bb03b70c0219ffff0352c99cd08010f19dbeb7a6bd8444a42e2c9b78432250b00fef7d48bff16174e1035dd34ca8e29c1d4bc0397d63b74ce89c72639cb9557bf297722d00c3eae0467903d00aba98cdecb0ef89104e606b075d30e015eb3be510cc04e56d449f39de5b93030be54f4adcbda8e7e517260a1ff526ccef0df4cbd11dbf43dd7064b7b3629a0a03a10203a8ff2d09ce830f0960bb8c6ae4248ce3ca214bcb287d3b835b48e64bd2031c2fcbc29bb9b88ff4052f9bcc76c6f3eadd7026a967689abefb3df986731b4203115eb673a5e321373361f239ec93c950ef848d3c967b6ec28e5993c18f1a7d9f03644b36f4f66d3fe09c37f13a6b9572a17d93970ee123429943be3fa21c96067303c3b3656fe73de9fc5caa1e3282ab702b419bc79004837453b6dbedb45c1d432f033a7389f2dca3f28ea9d0f4fbd2386c40ce0dc682a5aa1be606472ea5de914ba0033fe37b193d2446f3a65294568474a596b92558c3026b7d6030ba7d2252a9291d0310e0aa9049dc0b6bb25362e00927285e3a3b5f5e1faf2e9aac090373c6e9d98c031ce566a3d85ca0e7d459fd01da9be7538af5b19f211d98fe8270c07f6da2431503cd3609834b00e72e563d2cfc446fc83e2cfd6fd1b95a26b0b7b1e97990f440b103a494309fc4d8a35f2aa12339817887c0c2d4d907f22c4a745e198ce57bda402f033951e06b4319b8f5c936faa00c8d41207a6d7509a97024937d6e5971285a33390382fd9bd7b3caca2553c7090157d0f4d26366a0f5f8c0a38eeb8aeffa0545efab03399558d5be9520d1bce27b6325fa626db9046ac6d481ebdde8b2a0261ffe417903b75ec4dd6093bd67d93bc44f7f2492035e7cce42fceda8ff638f3ec711ad9e2d00581f0315d8025f9da9d41a88fb443535020870edfd26374f996f5ec69cd94cd110410100581f03a498ab81e079cc085b6879ff4d340941f067e50f0a27df4733383b3bd3a04101039b83f96877dbf1fcb2819ff480ef385f9063b77eab7041d5003d16e84a320ea100581f03586b322c54d0dbb59cc087d04caaca54009a61d25ad39fdf4389299b54e0410100581f03be86f578f543bc95cffa184d359b4523bedabb5e29330f6947b2cd9ebb50410100581f03499173e50a340ad46901109a29388a972079e4b2c0617feb172fff89dc70410100581f03f767eeaa933141daaea54c1927e184b6a0ee8147b6e547da90c5c47b6460410100581e02e50dad2971456a78fb5cd6ff6b75019984d6e918139ce990999420f979411e00581e0207b21a47ec85c5fa4be23c561659689d8422a8178778a877ebce8bba9e41010219120000581f030a3329716b3b1eb3b5be54a8838d41922a106935b481571c21f7cd5629d0410103733e8ff6c90250a5badd8f208331860446b37d03f282c6ddbd51b27021a3a930033d248da1c2b41dd51f3766f1b9c049e58cfe104699d11f38534104ed57a1effe00581f03e82157e507c94f7f15e508a103dd704447db4d44dc26ec4a74c89e82fe0041010219df6e03efce1b577495cd7c0954b08e8d8f2ab6493dcb783479ca8b77bc161e7edaf66503a6c5872e5a6d782cbd662944ff24afecbc0114cff24a9bb7c9cc1e270d46f6ea0219ffff03cd1419b14f615ba5f56fa18b09d6a4040b0235d875cd4ae95887b114479869be03ec73939ab1c223945c3024127fad967f4f9860d2f6fcefa4ac83c37f0ad5050c03ad2486d23ac221d429c684360e1224d8ef0926d365b0f54b68e6d90083a83fcc0368c55fa1bdbec2b6067c5b2ab15b479eb7c46c78bcb218924b15702af310df9a03c9f4471dc0598755b1afd9b84d9ddf756611532b91caf93877a6c0482a94a158036c0161276883f9e8abb6a7e7d6aefd48b7590eb0dac2192e778766b22fa9e365036c30d4abc20a16a170bbbf8558d4b3592f4b0e456c566bcc6e31a30122c2add603b1ac8379658a53718d9ecb19c931f586c7d6346f750392205991b6117eb741030378594d630fcfbfb2e5d56280d0bc77da9854b915829afe51087b6029866f2759039c7e395b66390f2571c98fb4da1c0a5bca776246430c8afff598f35cdebfe80f03ab592d334b84af7a8deeed1d62c96fbe626761d81b2f69cc3c6223c306e9321a03e957bbf7bc74935e48f8af1f7e2ac1c2578a4a862d21c52cf73ecd616b43db2403134af7c88130c612b6c257a2886c2e65b4dbd87a62cbefc0a1bfcfb09bb966dc0219ffff03fd953395e1f7cfc9afc3de552d3f8162c90ba6085904eee659d096de10e1c8d703c0c998790a16dd7939ab6320d0518a91813122155928f5ca5a7ad6e33788a1aa032f3783d2d409a2de722555c13cce3586713dc7351d8824f5f9a4976754696de1033b6271386dfa5c20f3366876dd2d13af665cee25072716089cfe25891cabbb6e03666c5dc59ef7554fff401ff0584e6716637caeb1d54267b678854e69b492b43c034b8026ef54785e92cf70dd0ee6756e67d5ec42a70fe36691a0d282f3107e28570309968d87ec0c63bad01cfa64ad2f4a24daa9a026c64411855c3c1a40e88e1a9503c6895e09d57e617699e5b2f43e7f778794cd1b792783d95e9c64d86bb0cd02c1038ee36c4e64356a7b979defb0d7d4097368800b7dc552754fe274fd56715ec6e603c515c23899f0017b2f80e311fe2ad06d15a00f8c5caf8d169b0ac0d47915d03203c70450152f5e6d8ad1a7e417f9016ef47b3d36728133ef80793db84d8a62117a03f1865bf33001bc3743d35e997553dd7173260a30e1e3255a0274673d147534690219ffff03ffcef7a4485f499615d7564180cde00c2542c06c61b72fa4c8a2c03cc6f6c3b70393a30cf8f3132b2272cba1ebda0fff745a958aebd60db91271396dd6d87e0d9503cf7d1e55a1c1f99159f8750c87e79592c4c22b369c50852e617f7dc51da2a68903e9555fd5bcddd3958e522b613603bd09b1fba37a5c3ba2ed0d53f39b8c8add97039491e0094f552675b5bb6e5d563e52eeafa7a5b7209ad9ce004de429987d0a36034f2c1626ae592e800d603133d29f46b686f982bc99bd45af76bc7348e895d5ce031a77a620e16517436e7267b11f7ea4e62140be1aa13e43e021e000a6115e891203331af880114783c8228cd3ffdb8f2fdea989683e30884b1e7b149b23286adaec03f71b210800f574b29ad73da2324085efb4fa36b545d08870e38bcf594f200fdd03c4e40be5cded5aac1d6c81a99c71e8e9921c0082df713ea6d12e9fbc3efbd028038b701d9a85f7cdb93c8ac4a316a0f657605dfaf0cbc0464ce669b5224abf15b603e4209bdac01fcf86ba39f9fa7cc4eec4dfabd1dd0fb96ef3d4e099e0c3ba8ae603186d0ea3450d968f8e4d9cbb3f6373140e63e2514a309f6849094f751569828403f668906613acafe5cc474414f33212c9627ea0d12c4392b068bcfcfad65525fd032da8e40fb471a4812a388fa518a44f24fe37dc3d06303ac677b9f39d5ac11d580321bc15cd2741c298b679f0df5bfa056e26047a7c0e9644c7fae05f7651781d1603ce26b034247e9674432a3ba3c99ad4f68093cee1743ec64ab625a9213f7cc6520326b3e52839af130a9d9548f6e479283bfc1b0abafb3d8d940103acb7e39945dd03a73cd5f6ce3701d6a177f4208c7bdbe79d2cb3d07cddecfac985549828874f0203dbbf8e6867fb349a3b6e770c473c8a8ba6f549b28935e8cec5b86119cc4067cd03649216bb3640f18f7d0dec90b36055c6531c1c1c0995494fbaacb44e4e364a6a03570f0270a57dd66ee575acef4795693636c456de2d6451217ec1e0449808e89503a3f1c2535fa1cf5022629053b2ba8547e2e7b2cbc2545107cf20c24d3740f31f00581f036ac680551a370337b26000ae7e73836a0897c9cc0b4145fcfeac391c8f40410103a4c6ab5ed239ff7917cec51b0b2f645fb6e2bdc572cc09b4f5ccb5945286060e03ecdd4bb60ee37cbd5b52a8ede174ffbea52613b446091914ae9f7178e3db1b9e033cfd4938d33a408fd3e996e829a9c54c26a5ab68c8d9b2613e4706ae72305c5100581f03390e251d5dd9c115d45ec792670ea4f6ddeb59a4ee1e0d7300b5ff584330410100581e02e7f8a1e363074c006c0b714afdd04c10768ead7124b81b37f8fba849c0410100581e02b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabc410100581e023edb8469eafd843e7b8ed99d918839215b5385170057521247984309354101021904c000581f03fe4d9005442d1ba9e76292ac3640eac24f50088a18ab0761c40dd62e61a0410103a067387f999c5fa3fbc009084578de4d12313a07fda3ca5a3273a355621feda603626255d4abd9f7570b0375599a157a58991ee14f244da57db839267e94b4c627014108034d14c37c3fe5e2667a041fc689e1ae1ca924c18d3da4708c28fb67b4eaadffc302195a3f030f4b5b338bbe3b0c9803cd96ba67d413140efa659cf8240313d4e3c880aa726b03f0f25e652293f176bbbb76fd1d4da50ffceb7250efa717af5e6565f34c7375670364df39b7edc2f123cfe56a43c2c4be9676d7f316dd441fb30b4977ae42d2f20103eb4a880f46d0b4f70e3cdb53fdb41d4f0522445e7a77fc1d0560119286c6f6ca03d834915cde4a62cb1567ca908f62bc55c62d95ae03e3fab0d87db3528ce561810381f98a3db94e421438f2ffb77fe33cdcb79f526dd3ebc095dbb14db084eb8de603d94aa3e4a86f33b9a2b922575bee3179b2aa38440c752ed94f115041e61e93f403b6b2b30268cb954f7fa3e9024119f3edf0e48149acc45f124a533dacbb91a82a03355b3a7abf5cdd57d362504f60405b67c1fddd232d0bcbfd1efc7f42413684f803d686c791f13c727e9dfedef0235c4b224e1c02c0d95240d0d90283548e424e74039e8495756288184dd07d4b0cd94232b059c755fa26a38f99a569bddb2c0a5c7f03fd123558744158d44b3b3943e8308362ade19a8f29aded28bbbc40fcf05ed54903e1d249909ee72174eb9573c0cb85ca47591cf54c8ebd3dbba6dfb1deee3180400219ffff03ca2db07d2edee9eca88da9a4b7c559baf98e5bd810ae601b7945914face0de7c03d35ac372038c06fa4cd4189ad0d2be92964346b5cbccd03c5a4184f860685201037e64ff17237137c8c95aae1768313578a306ded90c144033cf272af8460662ab03a625632fa5bae6c7c6e5206dd4556ea470200b01bb11685337ea997d1a2057ce03381927f75c3f7532049e593c3ddbd84b74703de68ffbc19ff41c0e1abcdf00ae0338b632d7f735865c1595dbb8bf13dfb3c8a85001e8856b69b9144b7344e43fc103f373b9d0fc6b6b786442e07c14900f82dbe8126689345df8e0bb801b3e698da603d32ebaf1b12ff49e72a69bbd7940a1f4556932a46879fabd033d96ab0b263e060219ffff038de932314544bd4d9020b2f05e2ba48a5d0275b1375f56259f8e5bf4ee889a820219ffff034906d59f56f9ca45ee5b2d4d4bdee7d9787d5133d1f397a0d79998617992e4540363ee7e901bcb646058e55b879339a0a8f4da30c38745845554d29080e042f4f203e78d075dfa2a9a753bac3b1e47f1f79f6c61a091d97f64f771309e7d3b56cbae032d94f025328ea468985ad5081296fd7c21002e6fb7265dab9358be0b6f8bf58a03b7f698e47fc3cebab8aa9cf8f19b03a31e0662ab4fb31832864f79005a5aabb603f40bdfd9409339bfeeb022e45eff65066e912fac2c2a25ed51297fae3d9b8ada03a007ed3dbbde1fbf8b1701e858f852674fd66a6f6ea3f8d7ff04bbfef8cd53740304589eda3d8c2fc98f38de4a88aad6822a9e88e36fc8fa9caded052c41a5897503c9dac18ab9c7d8a55ee87a147578d7d9c2622c021c75fe0c2a62702ff3904e8e03901945039bc08054c3a230aec0a850243a8672e037b31307768e7703cfb78db7031e429e5291e2401d03b33b25f38dd1d1179e8098d2acf5dad7a5edcb2cfc680403e30079b22cf3721a1ce796b4a71c1fe10ef17250e4e8df8ada00a7717025681003278a420b1dc0256746d95ccfa62bb7bd3ee94bcff91a8aac4c5ac114f8d4b2b80327b41b1cf141d1e0f38b9dc1df835052dfaa0bb8457e97c65cad7498f68fbc410380635c6f5e174c0b7d72811f41751d39b4be81b9569b97cd7c0ca708004a457503403296a5651825b077093631de8629870aed543d774864990acb66b09d84d0760358bceaaad2aa877a22c907efd95da0befa2114d508a30bc725e0f2fe3cff893503f1fc211035f320b76a526acf8a4610119a942ea146cbdd74b42e71edd3d7332400581f03d2e499a599cf58ae80bbe5e74ac71e4710b1d24c2b6157a9631987d9c620410100581f034e653c261f9554393ce327a4fc065122ca1e27416719bf4051dc688f6300410100581f03c2d19a8c39aec336408234564155672d9dd6aea3753daeb94a6d55805800410103747fb4b416d3473c9a5463c597d4c86fcfbf982da27677f3fbe942617f208efe03a60cac7ec75f8191b53265eb1892b30119ebe0fb6b16ade4f189804af2331cd500581f03ef765cbcd182274f2e559237c8d4e926c61b676fc77c7bc38b85d03e0760410100581f03125c2e41fabb5b2e77d6a79bf3824eb0dd4ac7d7ed413ccfe0221f0e81f0410100581f03798a35e646e792b5a886ac351cd25016798dcde5cdd5e6de59c918d51cd0410103bc92c6bd11c8a8a0d68c3db966d6a5734028f5b235ee9396ad03033a892a7d400301c6daeec43bac960d550c994d5994a441b98ea118c519bdee01a68c39f2791202196b1f035274610bdf1594e343c2cc35c9e5fc687a85c2e0c135afdc0f1efabac74241a20319641b2714113ab4c7faf7a3b66d2019656606ed2890e4c81ec3dcdd5fec552e0397fdf92e3fc9b34daba52184f141ccdf0dd124fe9b5ec432caddb544fcbedad20389eb2b6a2f0d5e67b90ea98f28bbb599ad639e17da99f5a71bed5eb4818f3bb9033dde4de8babbb91b32d2517b00ce485524c11f0a98fd1cfe9bdf61d06288978b03d9d0a953fa98df435f6f115e2ec5aeb820882d004321994726ba8fef4846067403a16d3bc099fa351294139c88b6aa3d98dadd0242f4332a79b1bb79a5cc527fe703574ccf6a72f701ce0c11ac3dfa6978716d29056cb9d43e251374453b89d7187d03843110b3ecff23f8621cd234188d6b0dfc24bc3ad859498e55d9f9114169db31033aaa515796406639b3b71887fefbd05b94bac7d3f3ead0b3b9b12b2cd1178a3d03ef6911951675bb9dc8f944ea86e06a794d1d0c183a4dc06fe38c51c0ad204abc03db98bf02121d5e5ff9263c937100ae5c83e3fa6842b29aed89d1a8f5c8c1499f038146076d9613f4430cf46e71c0f87de360ecb63322965f10150b144aaa98eb3d038bc257cf04292fa04d2d7ba891a4a0321ed28ce6bf4ea047dfa2195d3d7e652d03b0b7d8b3c97e4f9bb9d1fe6253b1075aba482d827626e3a1281c379494158a4a0219ffff035ec598de5ae39ed2b105f884dfa642967fe63e6efeb84c8686cd4f2142817ab2039c6b4b1e378bc52930d60fe82e5f9a202c13b6c98d4121bc5107451edf894a0003a565f559b4146ed82f449b1cc9a0ef92814ccf5e95c0a2fa53be647a311118bd033b64563c16bbf963a8d24b1a5c9587c693cd298005c576060af6fdb64ca6072203ee13fbae61fa19bd4a2bf25ec4803fc3403f89ed9794fdbe266deadee384794503b67b534e2293e130b5a0b0f560e881d4b148890b392f060ce457eedfb7b97dff03d209bd5850d8ff3aa420675f456e5541d4d7d0727b315489470b72938d8158da0219ffff037585c82cc3528e74c4197428e5815e7e1a36185876cd51e034fac35271bb59c703ef1aab5de295c13445268f95a5688cc56a4be5da96e5a57bd2929812ed7817cf037782b4052cf3668d9a0122acd55a387a42a4eb149c38490703f0bf2583c72e12037ecde9f03c795ef5a0eca3aa48ea9c1dafcb6f0e45bb4f2ac6193af2735ac4cd03a20bd7e13b41b36bb27593dff134051f9be89e12cae98aac54daecb1b1d0fea90219ffff03134e5c01158a4019cb946a7cb56ce243179c6071882400a874582e35135702a3036879a4c85f0cd3046162ff91fdfb67387214d858cace2e380e9c2c1045a26a90037a64c8db707ecd70955b2b8d1ef12bd1add21c18c780ec070a92595615dbd396033b8070e2ea6bd04ab035c743e32d435099fd8e4070fc14b17b1abbed131d699003cd3df1409dca064d31b0d225c47f418551961443177c15b97be5c69f955ad6790338f9bdb5f1e6210e9948619b6b951363b39814dd2906f3c7fbb845f182cf978803af2d0b1ee7f9fd2e898a035f5bf04768107dd6f562711df413c575911f3c03ff030cf278c029229f5ec19b47294fa8d4572d9c8e859e122d1b23519eac2dfc6e3503f71a9c51b0e50b5ae7b5f974645590eb431c4779201ed1042ebd40c118fb206303abd14183aa9e742ed29507b22b0bd5d38f078596a8bcce79f37e2d20df5058d803b357ce8e8c8df3a5367dd54a7fc7b6c74274608cf0d810219433d176b0b5223f03a2147e49aec49d56c1a795c61e499cd30ed19da31db70671303dba97c1124162030c3b6946d382ad7a11b1549b8113cdb2a51a88a96e953ff88ab106c4ac6b746b03959da71ee3e82d4270b5415ef66a67e01c3243617dd2362858873818ea34ad1d0320c171f1726755185c46d35d70615dc018703fb8131f594d1d90c992ff801bbd037f4db7e129663ed2dd9f16cbfc5a4d001abd9bb5575e04037e47f97284e7ffa50358637d6df499c83f1b815573505f7ffdfc0dfbff2edd8c603dbccfb1ec80d0bf034a898a5a1c9f95d71726b4a77fc336aea8a7173dd0b2ec77eda6fa6ff43d2881030138c44144b198cf9e17ec11eddd2b44e1962eaf9635b8706160c3b851d92a9403bbbef18f1c385ca80d113a3a93568e98b8dd88088a0f18f60b993e1a39cc431803265149aec3f1710f1c4189fa688a831383f5685609dbb789641ab5b31397baf003ac57f6fb37b6b7938cdcaed2c3d2f33697623a0f87831ead586cc560d68dd0ec03b3589bbd1f7a62768bc01adc0f6d05db3481a06910b29108a11a3e165908990d03da7f5d2d659af89900b1f9df008a3684f034fbd1bfa38ad178c1799f97057368033abae6338238327a2ea746ac4bc550d69e09ae5e5754fa189f32c761d9a5023100581f039ff235f858661fb8b2a079bddf96f77d45b584a4a48165b1bd5a40a63da0410100581f033d51ac04f719193ae55fa0428004bfde7e50b841d84ec2ca3619f797e390410100581f03a7191091790f1c55d680fc4dd436dfee5de1dc02df56741c475012964080410100581e02bd606807d0651d656d6a9cf3e149ce46e8df9e03256b6cfa6f8625251d410200581e02397dcacdfba4445c8a8cb001854ac15d0de24e7b595e782f36d2f6fec441010219082000581f03ce8f40c146d9fd7c024435924f3433562f5f3900cd2cfc7c57b3d3d9b6d041010367b05b160f7141f0b3b64fd12e232b7efc2267d687abb24da430bbed61a3723900581f03714e90564b2d632145ebfd77540bbc2239281aecad7828d08427058dcf20410100581f038e951c5822b9e4404ce218f7c66f75da1c022045ac9f02629a771c17aa5041010219ad3f0314de61bfc44e2bd0b7b75732082621f832f486f78e05086645927004396a37d4039574b9781160240c48429541c8c813ef47b8618c85cb24df2c939565fc6b961b03f69e769d9fd86cf9db1aa77cd5b5f491e86af14821d330c05adeb1e725a1057c03140c21371a66a4e97c419c31333c53eee62ff59bc9df15086bb061f7c083020e039b0262c488308bc2b60fc25660b4a33df2509bbc09a81a45553cedfba14f6a93032629dbedfa818a5894cb1362dbb666462ef3c657223ebdd9042f12216de162100338db9ffc6546e08bc0bc8d3fa9bdb1c24e245daff6e6d602da583bd60b9221ef03b091b963c6095acdbcf2743305eae7ed5ce368a531aefd41c2716d7815934b2703d8d8169f5d44be36bf69046a6a6e9a939e8182c191dc48cc5b78ce18eaae6e580377235ecee08ce7bb861a7b80eee71459af6175728683a200278c48e60342f9df03a1b3c2a669bde49fa1a7b43974d87254527d54d3190b8ccf39794f9c0edb9e9f03092928735e6056c988cec3ccbc6a9f1408d1d3c15872e18ac450ef83e6ba3932035eab640711bc70a5a990a91216ace52f74725f9ba640031fa1aa5ba430efe0ee039ebf83801033934bf3b09f09211994098ef03ba0a10ac166441d93ead87ecea00372211683de61e6a46de9aeb871bf616cd2814235e298f1a1eac97165c0e94e610219ffff03aaae1322ec2c9f1a818e79e0d7d12e0812f527aa98c2a36d376cec09cee9f542039482da2fec20e7268d1eeceaf74ac3926f99175399b99b43c1d5967111520ae3033ac4516994038fae67d0b9c8e8157e5935e2b28470dce0d03f70b15cd502439d03bbfc8e23cfba50584849e0ee1191b72289b9ac7b524e0c0fd62cef8df5396f0903c48723a6cb85578b8d038e5ee8689ddd266dcf04de63e04d1c1d18df45ef864e03ff4a96f6a024936382163b5b2d35e38e4e227651cd3b82e80bb504cb51f23cd103325f066993d31431e697d017b266c1e88da795a93dca6f55b450e47d8b8235520219ffff03dcbc4e1ce15d64ff665943feedcaed188446e25622ae02229e86becb111d3ffe0219ffff03d68f3f092a30bf8d572df4379f1f4222d829510419a8031c838f1136fbb51a73037220ddb0162377bbf75bc997f9ffcede9aea26405369053584c7a013da509e18034a0faa902badd4f5e21e7046874854f014a1a96a72a1088557f4f84e568733890349e5a2d52581c554301662af0a949405b43cd1d0bfb88f15d8a304beb306833a0335796d63513264fd0ff68a578fb066094567e3a1b616983d5d5d70e20aafd32703365f438983af669b54a0e4adf38ab9f78d16c64e5493e642aa8b2f780ff103ff03bd971c36a76f678dc53999ef2dd0c8e65cc99997414af3198065605dc638f9f603e353cdc105e8eb91fdb06e32c008cf651833055ae63647964ff8fe86f9ee26a303711665cce0364e89504a3ed93a00ed1dcc2aad5afc33856737adc6540c4d1e040348e442d01a479a7ec091c9459f0ff389d6cf957b435d782ad72d2caed40c87cf035d488624af28c99376794cc93160a33c05a541e8bf8d4d893403f4b0db52565203f197ff0a56c558e5487ab66c49d198c97841a4bb736bb94fa71b22a07782b5b5030fbffee63a9cb0024579b41ee8ee90ffed0d0de995b0f1781574dc6e4a9ba4b10365026184bff873ec42f557582b1e0057627bf5b18da60b932fd9ff63bf9a21370379f2348e48913b47f0e02e5883a74e2a834b6ac0adb8b7356614dc86ac36c67703a00c5a53902dc242e61280d6a27984ea87c622cf9d3488c8cb8e2ff343b0b34a035260a2a6fce9ebc4d0d86fd6fdaabf320c3e88620518c6edfe0da59ead2e4c5e03a426676b058c0e233cec6b72576414c18be63e6797fc1bcd1bab5cb902fa31b703d4d0446677a8b0455373d0346461b6f3852343cec6848ae953d710b0ea30a6ea00581e0284bf47586c633e618e6043956a7c93a6e2fac857e341f7db7c9a492900410100581e0213d537a3edcc2e3b4adee84106bb05fe48be5acebc7b18c1920c51b635410100581e0339e2f547528eddbc42293daaa5b7fc40e5dee34d248cda9d39e4c78ce0410100581e03f8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0545fa60726e62c50af45ff2f6280c468da438a7837021940100219484003cf23298ac6f553f6f1c0d835d442026711d856121098d9d398953cddb181222503352006994c7389827b95fea8565c5ad60b18edb7bd2fc0a9682cd6edf19cbae200581f03c1f28eca50731c31411febaa5528b8598c34c38bc9c698058eabb4685b20410100581f03bfb95ca6d3d2bd7f998cff458fb4fd760d98b738ee4d1ffbf2132982ff90410103c2d421df1896f7d6c4744c800fc9e3e647c591d5916c81ffac38ef26f0092f5700581f037bbbed51c858c9b94f42f8dc1c454b750c697547624c17abbb76831ec3a0410100581f03f4a4a8ff17af6b42edca6d12d16c251c0fc274271b3ebbe90a27c72a67804101030dca6e76b0ee2da1ef80c112148b2ffefa2e36071d7b870b7b2fdc104ae6ffb100581f03facf87b272481c2aa50cf8eccfe8ca235d4d335bb6ee9b0e361cadb873f0410103c12059fbe23f6fc796e3e5aabae52bc92480d74d43855cff97767276bd39c7ee03670375c0195f1e694d520d960a8311c686d72f0289232781448b170aa3e269a40219ea7f03dd481873f68313036a4ecfd0cf44775aab3979d96cda7f57937489209f306b9a036ae8e56fe65d4befcc11f3b727ae8ea4ad5bff536bc2ba3c3839d5cb8663530703fa100e317b6c36684528e2d96bff9ab0068a04658d193f3b443f6fadf23d188d037cbccd715dc873e691d39fcadc9d3ae717fbfe2c9153d0fbf9eca22d762fc2fb038dd4522e3c965cf3bf0ee436bd6aa9af7fd85b20c9dbfe5c27a23a6a20da7660036c7262a45a43e800847915207ae30c6fe902065289e4586d681be351275c2d3e03367ae74fc8967a8cfd5e7b730f59d8313efb3f13e14c5a1534e4a1d4a2cb2aec03b69cb6cbe87452c42d466246e8ec8bc43abbe862bbf36ea5493b70a465d870cb0309e763d736d77a324100b2fd3d8deb59990483b68b798dbf41bd4e70e9adb39f0323cdec7645cef742a6683eaca73d1bd476588c05367c7e176dc3782891534a3b039e01eb300df6127c6c978aa1c0208c534d04a8445ccbef304c6cfc57e2459c1e035844e5792a1fefa3004cc0101ad67da9d2b89dc6b7d6c09140345ba93421415f0361fc07dc3355f68253a44d31ff38141c1e8ea354651ff094334018e3dea270360219ffff03b54fd2e0af6ff23371e47082f01795792c8ef9be02c3b51fb2b3083488060b2d03ab265fef16c3c09972cf1155985b7d4ee4d129aa1178cc7347afc854ea9c891e034aa603cd7a741076f44529e42994dec3cd8e4912c17b082c78956e7637578f6903f649c04d161546b61f90243e7bb81e635c4953101134f2f61d2e0c06d20cf9270219ffff03dc926a91a2d7b7867bbca3aa1fd88047a69ffeee165a41c841959510fbdea28c03e6d2ec23cf880951e37f4fff30a49e3afde3e2891617c00b261dbab6e78aae67038fc9c0394e63d5c90dfb5692cee8969594a7d5e20824c8d8fcc4c81f14d789d10341428928291836d14b06cebe640c7e387b9158b2a5db54ed07d06b1fb4dcd5b403afa1adb2099b607a13567c5c021508df2e108451df6330550dd262fb8be6505603eecbc4ff8c69d8d2f9abe2f1d6f8cfedb6ca065d4138fe16bd14c6ff8d1c0f1c033737cb85daa02a940e1b66bae7da366d1d70a430ecb8d41cb570308790eea2f603f630fea9ea215bfaa1731049c4da1c5ac5ac3d683de94dc2db2bdd37f17d17330352fe877847baf06b21e9e3da0d9ea18edb80e5ebe900057b01ab4e52deed5b9b034f42e0af40dae73b79040808876d6370655f50b1caa2f00d8b6661304d95da8e0219ffff03940e43601062fe977ce7b423b5c25fc9ec4ea66e3698f69d6c93992f368ad2d70306de7426a148bfe3beb2d8bc1355b8cc771b85b0ba1a74f3c444495fd0d433aa035f302e325025cea777aa76116c57aab4ced4069fa49b8dc967d2fe48773573e303c475b5c80d926bb8db8318635d89ef463243f1281fb69d0603ba94eff060a70d03c80bb9a1371266fc9ea912cfb5baece2927ff543af85d1f58777b2993270d47e03f2bfa3233f739a4581b60c31e1c000881bd037063411f1391db89cbe48f9bea803058d1c90b8ce54354f44744421069aed9e28d45436c9acb54260d892c7c9775a038c626ceddc2ca03da7ea0723c0057cac2d7ba562340c682d52d48d1c34d6d8c103fce9e686babb262cc266584cffdca0595812fd7897d37cf681b592f4f2d98b3e0327cf71e92b8bb7db1a630ec00b763c8b472d497ceb767b31b794eeca5eab7a2b037d02209c1e62ae37acd4541ee929a665363c6b4ff9a0671a9fb24c3ed847ebd9032f17d01f0cb6823c376f8894fdbb41991ea92c16abf9b1b8a190bad05ab67c520303312adf128253f30617ab048c33e84074eb035047e04a462b41962ddf443d81036445ae2d12baaeb89c54c46dd779213b893507d11313d5ad03f3a32f6299167e030a366790d0606a4981618818488e2c25d3cf68f9819ab1309694d0e7a29d1721031f07c8710f6113777fffc7ad844707d4c3c57537feab75866b11ad983b2c85c9036ef3620a53780bdc25025a5dd571db5bc6d33412bac5da5028aced7cd182880103653d3fc4e3263ca8803a4a30e7137b389c7e918b23448ded3a64b2d12a3377e903eb36a64b5f4ffcf95a448cfedb67d54eea850424e71997f5c68622cb6b66499903accf71d095fc67553e4b1f40e85dc3b717bb548a3739e542cb86fe26fefb26df0393bf45c4c18f5f006d6dd0f0fd92560d9b5f336d9f39ce0908c278e1fb74e6ee03d258702758a6661e4e7594e46939670b7768f9558399c95985011130a745900f03ba897e335ab63c0b4a0087a06a14858f3a215a9522c3074b59f819b37c4b0b6a03f1d8ed554d9a19810450a16b6277cfe96f7749704c8124f844694553c58aa56c03ad2aab433f6ad0771b0c8bf3eb575a0c287e67872f59ce24d20f098c3f4dd2a403a348bf51ab5432b4b73fb9245d88cb9687265af94c0bbe5311ec54670ea2b64b0322e98a7049d3c46f88d539dc62fa95cd1ef522fa6b4de3aafd70c5574c5335960376c05ae4f998f943087a1e7234fed42fc1b9b50dd33de39388b2077cec3058fa03795e40ff9853ff8bb20c4d3a3965b6b5a71a7907091cbbd4f39172bac330d2a503536540b37e3bd314d93253218299958872b457d88bc11404a003ca19bd22257d00581f0358b17d4fe1806e7636d7b18864f59a4287adeb0c8b048d5a414a1725f080410100581f035c23a31676073c7528716b4d642b8e4d23bc4823e91ce62f95e4928161004101030db4bc2e6697b45d65733124297ddd9e142f4828962e1ef437bec8edd45c605300581f03010f99a763141ed7aeb7c74b584cd28a52acb7dbea338a3b5d632ee6b36041010350022e965129cc68381c69c0fe4bae61eeea1bb7040e0892351553d217efc0b003c16c59f57ab38b7b1a51c32aa084cccbb4eab56647d91c8a7f36bd3b9017ccaa00581f033ee6308d51eea3413854783d701c9570ae5a55aa5f9c343de697972b8930410100581f036a52dac846cbc340bbb99000287d2cd6fbb58a8d574479264ebbf3dfe3a041010313e48a6fa6295410ca7bf8055683527edfc743f68a8e6169a03c62ec365ced2901410400581f0315e162b0123877b6a3408f43d4530cfd354fe143e87727a9e92d38224c60410100581f035424970d28611db70c29c2adad50bb47519dcf335c08c8a9a227d7f346f0410103dc9b69b2e7bc816aca9af501fbb85356ef4f97aa692bc4174a117ca9a8044ddb0363efe523f9e477629f6320297f855364a669a2b3acdb4d5076f1c7feb0a92f0f00581f0334eb5c3197806a1eafef1a7ee772286cb0e25441cdf14aabe9f33e9b39c041010219f7ff0374f363a41a7b0207c96e2b8129ecb9e8ff1c338e0802baf207ecc57bef795c5403f408f4be53bacecd9e21e247de45894f3f5fad3a113bdea7a5960065ae4bd90903321070bb7470a5cd823e9dce305b5f5b7872e1b04eb84d34e0a732619ac6272c03c6d1e8a53c402fca8485d7c0cdaa8f3e8ca27b3a1987a96153b133b0c60109700317afad7242baa9baedbbcb5622172c2768b43d7be88a06cdf95359beb2e2f7fe0321314d0debb76509fbd9fe739b92b94a47a9adb34e9b7266857876fcd72be4940340c659fefbf0b09f9449b392600b32597ee70f61f3a37bbdcffe3a24a107ecdb0219ffff03589e9f8f3ec9caac7eb1c9a3c285b529681104a9c21c222829eb715a10d37f5e0308cd627dbb0790e8672e178af08344a5c567181c6e8b7ef5ebb6d5651559480f03a721e77b10fdfd32f785008a8f00a8268147e731585e42a714b916490721cb070306db33b7b3a1c47cc530263221a78aa0580fa26e7c2ec5ca7690f70893399dae03338af029a9e201c4e865f92a3a629af5b55345067a2eb39be810edd834d6a5ad03653f02d2048ad46bc57fe89f570fefc55689053266ac6b95080c14f5d4c37e3c0219ffff03566d6aefa01390a00b956d34a5b9a20eec9a9789e75f1264c85189040155db1b038b6deac2b2868d59a8bb08b2c49b8b1a97466ade713170ca65a957c2ba427ed903f552fd57cc69d6ac1f296ee2e385a991ade5885282d3c3bf5b8d3100d9a748fe0219ffff031b9470246b6b93af2b96f4f47e7fb6e88314c4b3cd9968867472e69ba14d8eec0334a3e3772be2cd546fce4da54202c6919b3c13b375b9c8ff4e3404f88ac865dc03b345ea6fb8652b9a0d7e7fff25271b2e5ffee1009d052eb360044e47b1c64ecf037f0094597cc73192fbf3b504ff284ae83af0cdfc983842cb339153c446723662031a156d7a1db4964ef4f62292d511ff8d55c67d47df8bcad10b08fc7c9b538f2c03721184d6428dc956dcf3334fee43dd8033cdbdab7419e4d64fd4df7ca7ce516b0391d0602cc5274860023f367601e47fe82e292ce7dd707c8ae370420d9080b8bc03179e9b080d1811be90fe58cee9d617d4dd5da4303006a20dcd78abed50bca95e03385df4ffec6c30edc60150a4123bb2004e1b2024355f720e27782d767dd2d4bc03ab4c6668764c6473026a8a4797f8781b46c297196910a4c56370ddcbd8d9a2da03d425d0288c0a9ee89448943e1a4018bbdc1eaf4bbf4108b86947fd5701bfabd80355c79b03b32d98810301ec535a3891f180288e0cd9a322f9e86b5da33d554392037fddd7456dbbea5ac1b2f12452c42fd5999856b9b4c1f62060e7aeca0c47252a039ca56af181dd3ed2b8fe62e2d0baf4123eb297934aeeb2f149cba05642b7918f033c7fd538b3058d511705d208798ef0ab58d3f3e1c7c32d893e2b949c3a8457a303021993b3515f0f7eb940d89a3bfd9e3dfffee2d70c4b5a087b896da763f9403f0376c50029e1f849f919ae60358a6567c5fade124f7eb022a82b9c2bbe67df15f003f6e6e3e7874856b1ddddb0e8f2c13b84b405c0215c6be4876a3876e7bcc474830320a000a87bbb06c098892b5f1b39a186b3f9bbef97a633b0494d577e1d3c039c034b2eafd952634daf18e2049e6418cf287773ce6eef0e05fb2b19e2afb8e16d0403a61c0df3aa1cbb8f304bbd774140a346ed1eba05c6d24e1bec1a67c6a94518a303d9100e93792ec06de26fa5ab8c8c7a4de186ca9d75d340dee21a8d5aea81266703212c1ebf8d5a39872a113f025e2619bc0ebd290675352786da343fc34b9157a103ec2c1d239e1b5c828f335e93f0957ce3e072d2d0607c6104d556ab95fb9d608e03b1e3e1318205e3ae2e6ddeb45931d65790746f756061847e654f75385e0215760325bd6506268daf6ac9455f5f2af46e6525b186bb454a5b3b63b92d73f11f0575037e4ffe946c2e911f9330ca4c7c1a2817a3f7bfba61884010bfd655b81e60ba4c03dd9381b9ecc6d0a670aac73f488a3631418d4bf027a93e3e8b6a0c5048b82341032e33818119d0f9a48072ee5d891b8e6bc7378a6fccea7a31efe00087a1cd6879032fc9b351ba545b5461ad94d1853541e85a3dfbda3b761470b46a3e5f108f8c0f00581f031b3bc5f29cb40e01d1c2816faf1e3754a12db4d356ee77488785a3aa7330410103650c1c382030c1a2313e9beda43035e87eddc9d425306902b43badfab1c1f0fb039b2ae1505701dd836dc6dc61c35ac19f00e826ceec8b7982412918555be5239000581f039b2881e56bec9a84e14b28840488287206f4a65bf799d3a14850811f9c30410100581f03fb6277dcde1c15a220f1f15b37a8b3adda1154d51770579a80dbfdfbaaa0410100581f0378768759a530f78e452d59f0cb222b9e6f5b428047b13e14d5cdcdec7f604101034e701fb5ce5c4dad51d0f4d130df553ef45c6b31afe73e28726c7a6703c2bdac039f04af08a67204cc4b3852dac8674165627963beb976856f4e34be851d37bcf1034f3148bc7cff731979824f638b00a6006c495873b671255b9a1e7ba04e16c4f80351c5ace0b3c326a70f64c1e386804a74d77526ee4be61419e579ba6d6f5b99e500581f03731c72ccdfd72abe4e139685eba2786440012cf999293aa783946479e5d04101030954e0dd6aa83f00325bd04a4b77e5da60cd062ff6c4605409f612c6e641bd2f00581e022e35886f5327742da699599e49f73349772d6e7e394d4c574671f4e77f410102198020037fb703e2f28664da51321e22616c45156a0b02e76e65776c352405c8b3a460ff021967ff0219ffff03e73e5b0aac83db069eecd73b0cde6f35b8cda74b4ab8f31ff0be058f6cc8fca70397908c3df6ee29c5588652a63638e15170d87d4e9dbec21af7936836ec363e8c03fbc295b1cc6ed5066229c35dbc2cbb96ca42898868a651a19d3668841dc6adbf033a4fe121459f64977bf5c9efd9fa44e5b79551e080feca4e195e0eeccd6b306b0396d43f9cf6aceaf79db1abbeb139ac4dd917cedc9dbc9a60763d9fb0c9ef170e030d55675c016f10d7bd09610c25708ecbed61b8e24e3eb6ae4757db4bb63bccee03b9310698059e74f94a670e03818aaaecc68fe491a161f99f2b81b55493ed4e8403fecb346f5bcc388fd5b403ea1f34409a0aedbe3da7809add06b5080142f1705403eac8e500d839cd0ad750193f7893c2bd47571e62fe49a80d320291c94983787403413d2e73683fc984185c14462ec62b0b596755138006f4a3fcbe9100760820f80368213430288e9c3a3679bce84fb7be4e1d5e1e0419187cff96e1a8494f0de8b2039fded521dd6d14d9522ef44c421c20d7ce63c988f3ed59e8e065e0ef1def224603504f9e6821c23c5bdd740ad8a8d06e354fa7ccc02223fce6416fc74a76b6694203937ad4ef86816a6fe5def151c022a4f1712c724c71fe9c4b0ae1f419b0d19ade03b2dc5cee09941c78789fb36b49f59f7bb594ac6aa672ea61ab92bb6828d8f77a0219ffff0219ffff03cd40e53e368b3850c2c6e1bcdaec83f8f302239635ba8b4c2fb984027d9a512f037982c2fed62566ca0e3fc3d085f2e1e89fe7f48e2fd85c3068f198c618b336c0034038a928022e91f1dff170a3f3fee050ba4258eb81c8e0f6e9d778c1b788592003598df48d8f5576418ed69b4a3ae3737f9b5d6a3fbff8a7c6a5dec8950432d35803097f85e10999ba3e90dcb35304cdf0388b98b619b4a68cad01ec3510141088ed038a54bdd1748f15022949512e5f14679b96fa4feb54d838825c5532cee64bc7fe03a234795d16dd772194d0dbf04b18e8218b8213e6a03a685f3736bea3f89cebe20303ed9e304b4b8f612efdcd87aa453ab70783229a8e52867529f524f96942a5e803f1420059d9156c3bc004648fa107a1c5163f71b7cefe3599fe73ac6570402b7103483553f80d49b7d3a99f4f66f7fd4c70a94767fa3eed2d59478ca9d0ef3bf4b4039cb1169c1626cc4e8090f79ea201c1418c4102918666147937226d69fa9458be037ea6403e4bdab5ab82a29da3e9e3572f8dcd6b983033b1e81e179e74c228103b03fda53a45b7e1b9738792ec7d4d4491108d20ed7da7fd5dbd12c2799ed6fe39e6039bcacc4bc5bf726927341c55315204c352c38135d469056713b1113fd2cc711903d1ff4bfe3625857ee982c2f7bd757dd9fb800fb4b7eab08994a27c7e8f20c28e03c5aa1fb5f4eb36c89d0901666b2b1144c32c2a8bf19b8292c5ff1eebad1d49970351c6c21b31557e784c3a0bfca254ddf9a8f41232b2aebc9215a5c8e7cadaf6d003bd834f02942838fe70c3a1d75bbb2332164df27e9ecd63f8a70344b4904e777603648d0de47f7031d51652e4471078de3e3e8b611f2a3aa5479fd921a680bfecea03946ef3e357bac741e07d8469bce12a5502e06a5cbd166442462cba2da2df7bc9034080031bdf94af27f803acf6bbddae9c40d81014045f8a2c5da5a137f875bfe50301284db863b573bac5cf96dde8a3d579afd9a7201f3df15e43d289ff4ea1f8d8038fee089c5274efb6aa747edafba427ba4460279abe6e7b4e5a25cefeb8eced79030ecd41066e601930542d08553b457d4a07e25e1562797a90b175e2a13d1c5f9703e079cf9f7cd2783d223161b11fe24dd1d918bd7d5dbc8ba06d439f2a9e9cc3d603f338004ec0b162aacbdb0edb0f9371cd5235d2b059eee80226d61140b564702703613858b35b6a94be27a0ffc530abcc144d6bfd454296e9a0fc7772cd74afd36a03fd1216dc0402bc37d11f84c98aef5f859b472a8e4b273dc98df0a2d3c75ea21300581f0392a418901546f14fa7846c223bb136262e096f727de888583723914dfeb0410100581f038a11848632fef10d3fd2922000696cadb11d4c09a3778fa3da693b419b70410100581f03e6da935a0be2ee5145f99d34c9e2a45e02cec4de019b1f2b1033ecf53470410100581f032edf6b90fdaf13dea889ea0ea78baec701fa740d8e642d22ff1905712e30410103257814555238e554c7decb13b91fffb767a2e41df118e3d9fd4cf52df448b96a00581f03a9b276d63bf37ba3c27cb82e93419f253f290dcbc37cfbb45ca8dab56b40410103c1acecb663c3a648e293a1ea61dd5cf825a1d12f0fe74693e196b8764108244103ab9af90d49dced58008599fc90089398500b83e37d8a7e2dd65c0595cfe7073e03a6da9be9bd3cb87ee6c3abd14e29ef385b9cd0accf041a9dc3322886f957cde200581f03e10d7c5fd384991ff88457aab25d8c475cd017cd8f4d18004eab0f8ac7f0410103dc3610fcb3e055be5e2095c09a866703c90ec2578972cdb8948c80611fc9919c0219aff5031bd1bed09bcd0f60b923fadc7007d356436bcbdcde2f787b8a5ef3d779c67b100219ffff03d5ad1f922ea3f3a50c9ee76d7c85726303dc181c22e77ad1feafc9d719e16f4b03419ce221879b9f8887598f2bf60b08fd502ef9486913b0c4905f9887d767d30703f0092d0e964a502114cfb22ccfc96ce39a2f52db54cd0ad7c610209f06462a380370de321231b1cd122e179602a9cd3441440df47c6c0bcbfca60232ef27f483670318f1e3a054b6032cd948dc4dbb6fca52187d816db7a6c6eb2c2606d5f5c155ac0219ffff0337a9217c34a380a82e18869433ceadd6d2990bbc238950ce66e58ff1f7bb3c4503b2505d936e11a3313a10acdc76f8bb5ea8a4e96aebd58e073ac81c1fb06c1d2d03c8da2b3eb879dfdda557aec7265fc475049a02f44d5abfb6d0de413dbf2167e603ce7a730bc19bb5fd52adccd0dd0a32d411c26382ef70af1842e3e54b00baac280325b4268be5291921e07913da6c2f9db9e7a060d214b8f0cb1a8a53facf3eaf2603de5c7694159d80efa0db38af89ff2023496d261123323440582d0d5834f35df1036353c9deac34114a62c4646d90ae737545b53cd78d43054fc2baf16f5e18bd0c0363fb6522c774344ea8beba200091a44a418987532abe99abc290a72968ed2b06036ad8cba8362dd0429821d7d340bb7d0daf41e62328b0d1b27ad9b41e41041a6d035359f8f74671602ab83a9960ae83daa7884701fd86401c72e3ecc465ab3f93b90385ed710a96fec6cc87d7009b992ffd24aa2ce1ed06b2c340375659ecd1aaf1fe036bf7e5bb0613ebacffb30a4367a137f13261f16eef8b1852020de59349fe87cb0306044f8ccde32ed535cf85bfa05af5d298fa76a31afed8d14db92d13dfe1a8d903094cdf93c283c3810e567b220e8bd07605bb8d7beb2813f64e8148c8b94ca8ca033c97c546fe3ad7f8395e7005bcf593531ddd250b2dd32317d454f5f5582a92e80219ffff037aaadcff3dabfe823ab45309af6e35bd045e23e177ed8eab154347c849aaee6d0381c3afb2d989307311a443759532625274f71b93b431955a1c8d204e51b26a670219ffff05581d0225a5abf94cd73b47e2fad17bacca9a9d92e2021d8da318c8cea38fc807011903180219204003ac9bb4ceade326db670e583c832bae7bf89a612356f2cd0e33677e3ec13bfb5905581e03a3a9f2da18c2eab6765da82c9db01f59e5f63448c47676d6d030d0e2900c014741fadb64f8ea6805581e03cd420810279d2547f2569529a70a8e42f36747f2341c800ce43ed4efa00c0147032dff6d12f00005581e03d68b2e5b9c4fd60c94f92ac72e01be8172134cc40f0882e0a83014da600c014731fe43ae6fffd703b50ed68c6548ffaf7747b79242a7bfb4ad6b97933ebe7774d746a411847871da05581e036e6ad415b5d86411aab97c52710403cd884c353bd71c0b2ac102493e5004020366803a641d167d79b795710f22ad39a4d7dc034c3cb8daa0d5b00654ceaf183005581e03e52a8372658f5b810ec5bca3ee2a56a17c718ce8a9d8ef17b693b33aa0040205581e03de4440e4e0221d379dc921e3e56f1739ac9a2d63b548c2e842b4215100040103081d4b28d4179c231d65b56a6cf568702cc986a9fd2081db9b45b1acbbec39d602195f9e039593e4b264e70d0f911f0c5af831278831def6e4c819a91db1d9e2fd3591250a03ed5bd9ac6ae0ccfdfb80fec514ae68284500f6d9b28a7c2c7eb57ff5f901451f03a2d4efe6fdc32365086d83656839d720bc7e2f425df8744e925cbaa58af58ebf03c729e5dbc1d31aa4723fd23efa5fa0bf52a382cb372f4b8454e7384da8afc9a703320dda0afc7610c7fbd392e1ba43757697d940e71486c7f5a2824d9feca75baa03df48d1346f7d7a8b7f703f8802a0288b60d895c529497d736b4a67d389c6320f034b5c25038a203f6f9a24ca4e9687de10ac0fe303938df0310de4a86f71bd6e130219ffff03b013c488fc29ca5cc684319a06b740dbf8d4518d91895ff559aa2893d2d4092303f7d9f2e723b8d8cbe15c78676e7800584ce7547950a0e72401cc120d9d59c35f035408e55e94874f6678223bee908f66354be4dd7de7b90c9626e180525677f90a03dc8bb8942cc602e9ca7a0c7bb835b5fb9f77173900f8cac5d5e726819a527e4e03b4d5ff016ae3cc3afc2da7f64ba600eb64702fc9a3e15d1ece2a1d998e156b9a030f56655e7a0d8ab427cb0fcb00a213e796451806e171c9c24e1c971cb6dca5a6039e2a510b4b3cb7879a740117b9984d8a396496a9d9827a13412afcdc4b1c8ac503b689f2b3b5402b67d30eec9f50f258139505c4b7cbae2f6b8c33bd1ba4d9f0fb03983339fd7aa7966c9ef74bb043cf117e4f8c8f095b67e61b243dd202c03ad06403906c1159f4e2f93f9909119c4af784ceba37e3be0c2b70ad4e1bc29e827606ff0332ec5c9c6e58b0ff11c0299f5f663d7f8fbfb6704616ba2fbf8f62ac5348ec1a0219ffff0354f6cd4573312894b5ef889a71d81889552ccf3faadd11d62314bb8f6c461fd30341d73c13d1ddcdd0a6887f5f0427eff3456392cb7749ad646cf2df469f9fbe58037b391e7f0e71056d72837af986a7253fa11cd6106ed1e80012e36be5c1994d2003599af7127d5701df9683992453473d60e3708793d538a8be30bad338cf47df4d030c3844c8abab9f4afdf9269724f1cb9b2c5f45849ccf03d83079b0730c994f0c037b45c5f0fd7c0a5d8131894a6e847400305964c578dfd1621ddc0448384248b303d67077295c4af493507c159d4e1661e686a3671c7a1815f1e69b4afd9b1a22bf0373aa36861b69602e3793123a154fe6032ad85bc48f7e037f7130397c153ecd50031eb46f6fe693f49ae1fb7e88537f4d03ddbe9fb6dfffbb554ca99b2eca3c54340314754974b4b9361df6fd2f629c442c460a47df4093b214c85fe4e020ce887997039e826b3453a990fcdbc48add8fd72ddea34ef4f87d1c0de84e6e3be3ae3999380378d3c9730edec33da249962b614067b0361dec7eae94d4a4f96c9a399306705c0219ffff03c16339137c2a1e7288e148282cfc8761485ca6e91183ded44180006143fa1d57032b26bb293361e14f2139eb8deba6fba43f4270b6939a6a677065cf0af7ca3a4b032cd3a70ac9890c0e6fdc2e944c6f143dbe6079b399ccb3ce1405a712ba6551d60358c8b18ec61a1c8e58c730c4a2db7f3bba8b06274f40e907cb7007794b9ee48303330d2e0cd6dd8b792da5e149402b617811a17674e294aac66c52badd0fc5deb103d25779a074a3066f84c0ff6ba5d412bf8d573816b072db62c6feaa886253ba2e0351357d0c266676d027ecfc6e62b52f64ee3fb78e6b5d7d06fad55e9fc53ec04e0336c39e40ec963fb15ab97827439f58c7b85fcdf2ce9789256aa0d38253947f8b034cb886557fc0f156e9ca3280d6127b2c7e05b46de62ab9b0d86ce58f70b54473038b4c9bad16d06486be9465807d66c520e346b186355ac2cc0603de61c25a05e20383991242e9f8f3ebb0b5c3eec4b8114cd429fd99ab8e3a54e086c639754eec1403d77f9d0c7a8683b9f6daaa37cff515ccf08f3e09f102b03f0ce6da0aca63e53903d19b9d750f80eb8482f2437bc90ac3379c6068d1455a39e30a2834d55f059cd103fca3d94b981b86fca28c6aa7ac5f04328229f288cfb9d4e6fef8ed5f9b8ea075034e70b3b87e6550b668446097074dfc48b052743b247170db256a43552de15c1a0356372351cbc35eb66e5d8c87350099da3060077715e137238b8f03e6b2a7a39e034dabb4118731b90473fa333b99ed9d93dd12bfb07877cc9522876c9b873ba4ec03bc0dbed00ee2c79992c78b18ea99ef5d49cfbb2de87923dec3e28489bbe38638033cd38e15b9cba2ed3cb21771534b49e0165a033b267fada67529a12f49815fbf03f0ef56899a8af8f84577ba1626a0562cc9f89faca89713035c931ba3a0bd76aa0381f97151950a7cf4cd5176527de871b025ec0cda540c4b35bfbcd14300c4c44d03c6a2d79bab643b96cce32339348f23e262eb68b85785c594d311798fc3c7774d0349abb75e867216e395d89c51ea80950ab1c21cdba566cced3fc27b76bd947b0f03dff0f72d7083bf738838ebac1e6d59c1a9a60d35998f6a045033ad5251a7dd4b03a6cf217ddb2ee860458b790c9c7cc8b9fae50987396d143008c59aa15c606e4403756e869e8e6b0f122d40eaf6b720729e2f899232c2866808c19f96bffb9a2b8703d0023399eb1b3e6ca9eb50e8786dd9fa002cad8d7d8f7af9ec55af023d3a658e037f08440d0fa676c91c022675a49b418e1b930abbeadf11cfbee156ab995b3ffe0391275b09d61ab8047bc4f512cb10a815c1b407a87f9406fa9157fe85928dbd290374d3861624fcb34c01e2d54638e646efebbe70327f815cc50b4cd252b591b00403c8d0e2a3a28a9a4d0596f0d312089cd97391f97888ce1c03471376bf27f98e0803720fde4e733f02b2aef0752c2ff203badf28bc084b5f23688940e4ae1ed54b9c032bd667c5e12835db2fb87000d70da83c786e8e23b51ef30215d0948250f62aeb03203f25922b4670f7721459493b9adf79a229c1591ead22506b192dbf872eab6c03fd6f580c2d25a2b704dade19b85056c4d522fcc17e57d918c94b1ea178ffec0905581e03ac846dc298567d141d924347739c9b87ab4f11efa603d4f7e4598231a00c044732e6312dd4af0c05581e03380ab1482709e0643084957883be24d068fb6684d6e0d34d06849bc0300c01420400036abd30bf82fca23efff1f99380553795da16030a4f3a396a9c0827dee8b473be03bfc68de1f916b66b9e77da38fbb0e35eda895ab265e18dd10e2140c33343247805581e03af6450f7370ca26ed022f4ba128b7ecb4669d145e5e1f2679525eb30a0040205581e03cac1a5c355ab9210a9516a498b76a5d958499a14a6e1c1a8d34abaa2100c024626326bdf0c0005581e035d76631991c5c6600d09788ec6fe05719f5abf469aa88a67cddc69f0b0040305581d0293f8a29238e31190b738fd29983197868765c5d421ea4d82924ddbea0c0247459be4a261176003f1b7e936deeec461f30fa397972838b3f1d03e84ffac91e014e6633a2170471805581d0230a1efd4ce0456b0b9db506bbbcf19ec4874e468c48dec3bdb003bc50c18ed4737994a676dc71402190809035f499340acb150ba607b318dbd7f309e7fb6b089b707b974e92e72613b519d8f05581e03c4b378b855334eeb58737f47890c6038edc829011a31a18105a80125a00c01470130620fdeebdd0378e69b22ada50f842dc68064f54505af721ff5dc46a8eb1fd9ce8921f575a9f5021967ff0381ef1c777c50bca0f7953f2fe5561b54782d5019d0affcbc77ca49b792635a6603f92590d20c7cf1f93aa11fade6f9f57edf736ed755160fb20b0d7eb0aba480e50351a3de0d78aed300a2281b7302c25ac52ffaf69ff51f7a3389ebd860db698d6e036f2137bf22db7952f781271955abb96932b159d2cd93eaf176aadd4100844b9b0357c7e6f8f729b978c4be60bee3e8b3897ad60308ac5ce874ac43f205acdafad903f22915e60eca31c538a08446186308ef54c4ac194f39f2bc5161390124fee0a103793af0e7993eca0bf1675f4dfb77cccf926540830800d7da5f875b87d83d79ac0309612d1197bfe9007948f0bc524d1aa6aeba7392be6770252345f3e388a919e303ff9d78f2ce453fc952fde3b377978fc5794005f71c2f88cdb39128f477aa7198032438062150ccfc642fcc4e303f920384b95e284a59ea914f54aaa9da2b84651503bef668c34f36f928d3d4715b2ec11741c5078d7c151d03a53081c4ab9ab96f6a030abf428fbf8f36d52c1f107e2ebfd1afd5e8ca6490c8b4f27ed2a36613e849c30219ffff0388f1c8ae9e9a89ad0c99573d17a2b72c00faaff0526753f75b028a9aafc59076035a6c9e4187edbac60d10905dc375cc7817116aa429429649344bd98d3fd83666039cff31e288726d98b38af10c44e5b8e4c17180ebdf7ce6ba3bf0ad3fef4ffb4c03781e41ff2c0d0e7a4c7f3133365f2a480e2cddef472edfcbdd5d8b3bcc5ae97c038f2d4944b4a3ea1436842edd9ddc0990372eeacaf5ce85a62098fe81494d34370302ff2e65b993b10798a5c6d538560822c9748f12552261d0c2c08fa963c757e403658ca5d82052e304708daf191848b3e01e9ca0004fe4f205dd12760373c672fb0342d4f1eabeeb5314aea25a7b1766bb81db1efeefaa07da412b38aba206065dce0323bc9a6bbb0cd60be23b242313d4a1d00ffc9e7bb4722c196bd73ace488bcf4d0341fdbce3525d1c6f1abc51b9615eea466ca74e1726e9bd6f59220d3474ed44010365e8f20b47129758eaae48cfbf84e6337a7d8519fb6c0a4f000c59caab8df7890219ffff03b3e9a3770c186a296130b0e132f410f4e858bb0d8351e3017070f59bfb5c9cf3034b3bdb955aeb9055b21c8f3bbe783b3550fdb2a9b0721a5fdc21dadec644454c0219ffff03cee4730ecfd6f5435a8ff679385aeb81f72015de9cf0f4a817057f8a168c45a10219ffff039fde224e6950ca6e562148557c898fc9c3aabda51eab61eada1e5da5b70c1fb503126c77697fe55134b11f3eed920a083c448b3e95b92ead70665100ae8f2ace1003c9def7b943157a1f65d9dd0fc1cde22567457397af9d38b2ba97d2a5386e020a0317f0977c41a3203741d09e4b65e2bbb5ced54f5106781699150dff38cfedd9fc037bb183e4712f6de65538869390698dd0864b1d551635b0223e61c9285f54fdce03df93cd050c69729ca302e176979628dd04e5906c828ed168973116b5bf97145103b92e57cd5393005130347c8786a632771ac583f91cd30b2f43d116800caa8b5b031c8f67ede1e75e5fa6e6fd5dc7258c0f8b14a2ffe68b08075d541905999fda4f039c3ebfeb2d6a25174c7c73d187837deb0f3f9ee4d4fdab943d3b62d1b323f15d039d60893dd36d8e0fec6bd09c07882174a5e289749942c72f15b1f9c21cb4dd5f036837eda91453b0b6449f0031f783d80fabd61e5e260962307a767d664e1077b0037ef198b1c47f8929d4a740d325f03a930e0b1b2b44623a192a774a0bb987069303795e413acb4efda0cce902baeb18a115da4ad2af272a198c1c1ada16324c42f40357fe8edf8a497f0ce71527807ee22e7d5ee9e4fa689921d7786c23e0821173500320b9787b9a03217e0efb1a2c1c8805a66d371ce8ae526264b1d3ddfe31a20a2503a45ac2e5d07670b412cfdd4765e2155c2a4e61220d8555ceacf96d80a666ea8d0398d3822114cfef383049645a31d87ec0a96fb1af25d95a77d5354bdad98b7e1703c721c515682597298d87aefa346f01f2069a223069e9949d9461a4565c66fb78038fc97333d05fb425eb29f992ad5383ec766b76337ab08dd6dcf5add3372bc4e803e35cd59704e04b9e6309a12f6c66003a7ea311935187874c094af6c5490ca52b034f5b41f76dc2676070919a9a9fdc1fdcbcfff61d93bda97f43c377d84381692803a83a9fcf86ef27fa450c41ca6347bcc8561bed585bbd5dd0760a67bf217d6c3c038b4bd7d5c53fbfec4116b9b61eb1f2b7572570e533bc11406675f2ef0f32493c0315948b81b8d8438e61af576b7814d9780b747136d29630a4ab79f2b23d2ffe8203931cf50d4d3e88d09d34a291bf5d8666658fa0cb4fe659bfd33032574476e05c03048e26e8e3ac0177e6788284f7038c9a8d23b55fe82de3815afaffb2a3fe472703905edd57aeedf8394d9b1b0ef84352b85c5f44708526d4bc6697a7d55b8cdb5c03affe208456e818f69a73122832d6db3a7b93175f3bf83dd7f080d11743c81ea90352b50106208b0dce3c80d2e9f04f9a259d491f21002b96e6e8bd8b57becf942605581e03183770a19c00838605e401d905a4bad222a481fcf14ba6815f73daed1007011bffffffffffffffff05581e037c8fbeca212916e55fa63655d0a9ed281e802bb80227fd14ba836788100c01470474e9b3d3160005581e0356501c07b8dfb9c5c709c0711f4df2bf44ee2486d9b290a4f2e472a3f00c0146044d49f844000383c9f4a0e06149a05441b34b8e7a835f4d1518e61b800b02eb6599573763420b0397ce3815879a904988dcfdb69313836232a6ab8be94738ecbc253168ec81886b01410103efa313679b350d314d29d0ed6233d2d0bba9a77ae2a6e8034144bc154736b1b203edec5d2dcd1b1fc946e48d9515ca9f205e476fa4eaa1b147537e270428214f4b0459084c60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106d6565b610118565b61005b6100933660046106f1565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106d6565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103bd565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107f060279139610411565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb6104e5565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b8361050d565b6000825111806103a85750805b156101c3576103b78383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e661035f565b604080516001600160a01b03928316815291841660208301520160405180910390a16101548161054d565b6060833b6104705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b03168560405161048b91906107a0565b600060405180830381855af49150503d80600081146104c6576040519150601f19603f3d011682016040523d82523d6000602084013e6104cb565b606091505b50915091506104db8282866105f6565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b6105168161062f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105b25760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60608315610605575081610285565b8251156106155782518084602001fd5b8160405162461bcd60e51b815260040161032891906107bc565b803b6106935760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105d5565b80356001600160a01b03811681146106d157600080fd5b919050565b6000602082840312156106e857600080fd5b610285826106ba565b60008060006040848603121561070657600080fd5b61070f846106ba565b9250602084013567ffffffffffffffff8082111561072c57600080fd5b818601915086601f83011261074057600080fd5b81358181111561074f57600080fd5b87602082850101111561076157600080fd5b6020830194508093505050509250925092565b60005b8381101561078f578181015183820152602001610777565b838111156103b75750506000910152565b600082516107b2818460208701610774565b9190910192915050565b60208152600082518060208401526107db816040850160208701610774565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204c42c8a05d38921bf3b9c46c2d6959383ec3cf89d820f0f9ee530ce0a4c93bba64736f6c6343000809003303295172815e4920560098e45a8141895aa2b70ff66bc016829a0b2a015ea70376005821031bcbc917dee59a47552cc2c04ede06df754768a94aaebe78ca915fccec4139c0546667961f5e9c98a76a48767522150889703ed77d005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56355016968f3f16c3e64003f02e121cf0d5ccbf5625a4200582002b697d36f6092c8a817240aa8b80187f6cbd4e58ad08cb3f0797c54f678d09a4245400219120000582002395c5dceade9603479b177b68959049485df8aa97b39f3533039af5f456199546667961f5e9c98a76a48767522150889703ed77d00582002f2babe526038520877fc7c33d81accf578af4a06c5fa6b0d038cae36e1271142454000582002679bda9e411a5d102c34d3682260055fa33b1e271c484da80289489b875192546667961f5e9c98a76a48767522150889703ed77d0219070000582003f0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810544e59e778a0fb77fbb305637435c62faed9aed40f0058200370225b9ba569c832ab029f6089141e4c72ddf02989956a113d0facc4919a10410102196000014102005821034ecfb8057dc63936ee0e67686a7ef31bbeba93dfdf0f5209f1454b2d9d514100544c5e208ba71d457bd18cfc7f1847da7209c7999400582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54242a33ca49c564cafc9c83c700b79f1074c42a0d0058200234b0567ec5a8f488fa2a085476e9d6c59b21aec4f712085ce954c2ace1fd4e5447336ae44f573a7c3c41a9ae04a9d48e5dfd8f8e021980200058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b54a0d79e982bfd3c2ccd09d2e374ddc75fe328f317005820026b23ffa15f0465e3176e15ca644cf24f86dc1312fe715484e3c4aead5eb78b4245400219840000582103fb7ab9fc88fd75844fd9ade7799922a554c2d15311cdd25dc692c790521aef804a152d02c7e14af680000000582002fcd19bfe8c32a61095b6bfbb2664842857e148fcbb5188386c8cd40348d5b642454000582002999d817b6757290b50e8ecf3fa939673403dd35c97de392fdb343b4015ce9e410200582002f9fb0d4f5d460577fb20158db6593bf89dea0207653d12acb95d8775eebae541010058200222e1e9c706e977d674dd880bad84f6db7fd41b879e5f109b88f4d1b1bb29c9544c5e208ba71d457bd18cfc7f1847da7209c7999400582002902b6d2681ce54eb042b6d7274a6932d83d2462068083751ca7be8f14e437341010058200214fc615469d12429169134af88c863351d6f2e2e7cfdc5ae3d6d3aa09654b15484a628347537d4900a0b720ee294445f90c3887a0219111e03dbc45932a5016d6cc0999276f3d3f25657b39d3cd398b0147d693041d919e78d00582103ffbd64cc7c1a7eb27984335d9416d51137a03d3fabec7141025c62663253fe104102005821031395e4613d76a4dfa908558cb9e27fd187efc7941cc7f3dd051edf54d07d23905484a628347537d4900a0b720ee294445f90c3887a0219b7ef05581d02aaaa022a8b59d9ab42fe901476ced9ae388c8bc5633d1a321ca2de48070119084c05581d02825d114d6a805de0bf1c1382764820c6c68fe6080e5515fd124597970c0146db3df8efa55802188205581e034b05319aa965e6ac29503206a249ff713096a0bfd4625f063004b5cc100c014705ab445d99320005581e03ae381f24a1c5dd81f03e3d82e8ac04a5625ff608a04fe21b21f1f9c3c00c02474258e3357e74320219e53f032d65ecd55d5c2252a41659fbe0668367eb7e54182333321544f8f1fb4beaa38f03acd491573de13383d68831277ccbc427ce4d8bffd3065c6ccfcd98c6a9cac1c703cd0aed27a689dfe3aebbe138fac1c1f69250110ff8d97ba457fa7f9ffa4f6bf303112af26ce6896fdc25382db6e9bed2e2354e1335a68b895c754d20596ec4105703d25e298786b9c3035e058d58c0a0c995d69305ea89483f0b3728bafb17a1734303c3221efdf1ca7a43676e696c765bf9c593e2e73a2dd9599c178b5eb1b6e4a8a003406d864c02f00d280f6ae20a22212563d76de348cb3c5f60a49685e655da018a0336946e3ee13109e78e000b3a6d33e97c015823a661901b621bdb5275eb8eb940032d7db6bf666d309011ff9c96d884be7f0e08097052dff98f7c9990a9e8599a440390369d7adeafc39028f168317e1151ffd04cd2833603861cd0fde9117b2acce503f15f37be747600728b77baaaa049a898b3c7d431e45d5274aa3adaa89d224d5503db0f45f540c5f1cb9f6f87b3049063b82f36ce6362329586b9986b034e6969bf03b9108596ab587a583536d6380809a9fc877b023aa8e19c5df650953e8657af5b0219ffff0359416fb5eafe5aee6c99c48b02605ffeda2d4dd269fa7410eae4b3ce580dfeaa038c9d7ecc68ff2c5f5b2990afb46a4fb87e223835cc499dcf689467e37d8c659c0321f10dc88601b21b694e8eefdaec09faaa302e0a14455f34ed6a33336d70b3d603c5230051e61d6825dc9227dd2e637283b0d15b39800808d246481758ad1dcf16033487764c6030d50ddf96d40cc5c17a6caac13a8498ad8e009475d3cab9ce06740357c0c002b678c56acb0f367fcb6569c371e35a301138c0068dee4cbbd868dcb303e9b7826340668ab9c9c0240f2d652fdba80478a86c75c12034c47fdb3b1d544703acaaca7b5e45653cef36bcc20b210e06440678372c6664307a79140d10c25428033841880bdc64ea17f46aadfd84cb9522ca87962103655f6071c947a6f590b690032ee8e976b5c7e049abe5abd84f06513cc0d80df34f98a967ebf65a1a3d917615030240fab341446f438145428fb2461eee055d16f37b77f2b84f6e54a4f4b63e7803cb77dd224695d048cdff5728cc5a1b7d6ff5bdf3193e106c218d6cdc13fd4f2903fb8a76258339859e16e1fdb97cadee49cc06f199d548b7fc3c62f6665d70475703d47cc88d519d487532d3e383dd8db562b9d1b26da391a22a8f11687b71098fae0219ffff036c4a426b482dbdaf017e9ce358e1bb5ce702b97c57e34988fd3f70eabe3e67570219ffff036954ec505ea90b739e575272e83e2d3d723a20a26fb4b2156031bc6e82de4d7c03032c25a2dcc1f684811d8f372abed0e04eb607f4708b66d1aa88911f2d8cdd7403d626a84307699980b22af512e01c9ad4aa83713c9daadf6857b3867476b66e9703d55ebb8a542c7e3479846c7aa235d6b25b7aa9775ffa012d2c1665e0c3d42074037aeec746364cb8c82156b5deea69dd8803a1a975e70d1a574d117ea93641c45603c75127a50a9ea057b366f10780d3b4850234da783076e552c8f093dd440b21fb0219ffff0306cca184163ad5707e66810ae1f4fbf55c4456652658648343abfaf8ccdf53f9033ce75db2980d349468ecb8eae589abca7244f12007de349ad42190521ed16a840318f49067974b18de96b78ac7520a2c147f939e258ac8f8d1be62dd2ea4d3f0f6030251ae723c17012b132ee44d280652fd0d1a4c85bd4b912119b0524c531382e3039adb3ae1af2e9a933a183f9e0102e65ffac05192e64124104c36d3569b63e88d033ee369766c16f48dd9f36c3390130588eaa80318b20d699d226e41c8df8697f4039fb06a1906f7e765b10fbf572d0c011bf1ee80bdefbd41133d224a2ef314a0b303e10723587eec5d9a8b484ef9c146ff32e349e258091f8b8fe5c5671e6ca15d6f03db0246a8d95bccbb3f36f47efd09f6a5b2682151aa1cd853133e10d52f99ffd603ece905fe6e405aa74864c11d76b4fde4477a4c942ee96c1ebfb3a029f42947e903301d5be33d7b982a5b1fe47bd0aa89ca3a30fbf2d171e2b0ed49756a51ba210b036650944fcd68179b4d8bb1788338f11b88b37ba3df9ab096a1c4e260bc583878037a6e25df2d9033c4e02557ca386675393b0fa32e36e48b88fd317004c390597303377127fb16e22710fce8573fec95199370ab311d3d0a27cbed06041f2a11289803b85f865bf599bf3bed09af930333cd5bfe0e8acadcb8264f1bf40f8ae6af7bc903f3e57f6c135d48f56abd643d2ba7676a5309bb4ece9997b820ba631aa752e28f03118372fbf6695df980d85e0711abd321c88395e9beb47c5f642e5842d991b6380341dc90bc20f0d6c03577df015027a6f564b11c7e1516ef9ffc68fb4bb73cbc7e0387b56247f9c6b6233f9085d86c776dd7389da37f40fc326a526084d0b392f2ff03fc02a7049d8bb7dd4af3ccb3bebf48b59267478f937e5f218e01446d86b8837603fee59f80dc0dd6721b17ca653d9c55b857e02e6e2d7f9e1dbf64d4f63b16c536036828d830b0068c4197cc662ca28d605838af642148e182ec0e7db767bd4ad59c03162d96d3b59e1e8836ce38a66e5bb832ff016e6844dcf292eb21d1f9f0f9e102030fb6e2fc7a7256c779d514356e7322da8adaf8bd84d4e78b1d2d791b8c79732f0369ac80fa6715c60019a60c8bd41f447410f3ac875663dabc5008cbd753080c3203775cb5dc28cdc6033fbc42143efed71a5cdfa27746d08d229164315c08e00f19039bdcb04d1b0344e6dc87cd049042c7f9f67c867b08eeb23bcf6b01f4b1f406a2037519459e39ef661f5918eab28a3a727326e76d9752c82e1bfe07848a013ed494037a932aa30638f8c8370a4d1cd81673992511e96c52bcdcfebcdbe590087d0de603053c5f7f831d6f6ac9c4a9fc16b7e6352a344a6db79519381363abf03b59cd23032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942031117f9034a4b76614f7cbf9e394fcd9c98c0de5efe22aa466a97bced9fad683205581e03025045e7f6ed69bd205bb4813ad64b8eb0c3e03f8390193bc4dd906d7007011bffffffffffffffff05581e038fa2c54997501a9db6d2871bbaa9a00e68d0f3a78e5c339b78cc67a3c00c034740e716b13acfd00355fdbb335114d2d82c3aedfb88c3fa35f653d30d104b88ae5588f3b6d5e2334703d699b9d1b115ad05c3678075072cd84c96901d75ffa2750d3afde17aa5170fce05581e03132cc4dc1658dc03a21fbe3280829059fa8307a7c6baba2cb154ba49300c02472e2cc4ec7068f603a9deb9ba8d28f3c8f5e770c8143c597e1364ed77984134513823fb4f040a437d0305d2c49b04c7d0b48094fe5c400d72aba346d630c3f404a7068a3aab6968ab2805581e03d38ca88506df14dbb19e99b3b23b76ea11d42f01c14a8832c6c726aeb007011bffffffffffffffff021911c30360faa15d6b949602524ef2143a3cdd8d71d1f61efbc39d0eddf0818ea47832070374061cf80c788e9b53133802d5b0a29d40f1808a82858a2e9fbf7610adc17ebf03ee06efbc5948bdc85a2b33271606eb793e5eb1e0db533e27584eb35baa53ce4003dc20521a5aa7942eb558d1213947d88092fef984d211072765b2b3bd2d6f3cf003906b175141e8eef59e7f178cf994d227162931771db0a6ea5ab5ff058155d0160383d1e9fd3c10436b29c426b4fbaf309bc587502b43114023db65ac7c7ca450f1033f5447d36b0da89e0d66aca7f643757cb3a74c16e152384dee9af8834eac01cc0219ffff03350455f8a3f8d2c982d80184c2ed5ec8878a2b153343efc1af315ecf3e10e41b036ebfc1303e24616da66c405adc0c69cc4052497a336701d95b4a4331c57fa11603bc184856351398a97f8ce5cc9d77bc6475720f93f151f9c57088f354d484ce6c03b98023bf810bfa01d8b92c799d01f74d2160674d23a091dc3e2048eb3e67e2360310de779185c43bdb7d63b0517ea0e2e7204e743adc99b2e17f03df16b495d2b303d3b5206c514ad2f51c639c750c1f9e1408112b0cfbe5d9ddbb66c2840ad8d860033fc4c07ccdace67e62a5e087f05a994859739a69c200d800a797abddee4564870219ffff03d81a1697756408f46384f47ecdbdd378eda141e5b4d499cc6966d6349173aae10219ffff03add760f29a4f26d195a78bdb068a1cd5e515ef7840f9f6453d05325a32d92f5303e99cb92f096ee95f951450b26680a49bba3f9f8c33d4ad9da2dd8723b11ace6803bf8eb25cb1975a64e910c35df46f0731adbf4eb5eb1a8e82c08357e12934b4a8038464c19f915e8636a594f8b863fc1b4abffbd908ad6347000c013e22703672d903a778b53d7eaae6ccd1eed696025cb8cf36f4c6586b3e72c6a56e95b21b801c6103985d66441863b3d7e8740deac72ee2864b1f6c67a5c6f180fec6f72765fe1048035afc49a636057009ae958d6494533cd87680bf364ce124899e04d822434cbba7036f5c7947566069f2149a55a237a5ee197b1b036b346708f744016f209fcd2024037fb395f5021e9c01d53688431559a8d6df2669548847e077469bbd4ad1426c9a03e8fbac06579a27e6934f762d82267c82d661f0dd679fe6bed9658a791834fd6e0370ba49fc76f1c89c2e562a97ec31d11191128916c0c5711e4e2db7fcb455a109032a33fd43e36ac6991cdf7af2ec3fdce104093cbf1beeed8773d3a34f0ddf3da103cf0d0cf7bd0cf52314b053f5c6c1443cd6540a0990cc26e7c1b78a1d191651360385a5a180d0aa8e3e6b9d37644489c06db2e98ed58be252a631ae4502946fdea40332573fdde8c61be7555471a288f9e56c4733def0dfd3d2930dce8e46530875c60219ffff03723f6ccc645d7e86224ee47d4f7dd6dd0ff8747ba0ad67c93daf284d5b7f286b03e0f45ddf97b2debcd0094a3a244884ceedc0e145506b776d1613e904236a7bd60392fa1caa78e62eb6a3d3fae93281e5c494b2b926d8bf63bd872b01ceb469882a030627864df2abf53c98b375bf883bd176bc4dc3f2b0e50ec020729a3f55e946b3033911163a08b850771fa361cd127fb062405dd607aa86fc7311c511fc6747241003b485fdaa2bc3f1a8bf85b123c8b4fca271381cd9c1198e010774a9b5feeda9c5031b58867854777b540e432cc2a434fc466c8f04b83dca232f84f46ddcd7d049bb031b7b73c6ac688a8bee3c062282a023db977e68ac37088a2d3d50da67ce5448fb0312d1a2ca3e69b3af56d423ff7ae85414af704b40f1868f593ca1146a25ea9e64038882e6a971884cac67839e9ce2b91f78b4ae768c462788296838ff9e58a7c30503ca5bb725d3fb0e275994f1bba18e66e8266dfe736b1de904524755b8586ba1e40308f5816838db947233975f344d61bfbf80cb578c499f92fe7cacb4363bdb22d3032bae5aeca983e20f15333d7d4356529b8893052dbf39026a8e8016adcd806ffd0358d26e9ae89946ec22e79575457bc4948b479bc7339b8df5bec981fdf827e305032d63e20f1be818ecdc6010fb5dde6ce09be78054e2c2718d603f03c8e2dee9af037e1386d7e45a5f8112346614df6364e565fcb284464b232644d71d109176c884036d75d4ccd727171f915f4cb9e4a0b065908354abaf491067a3eac006adf5856e03b15641f2c41feccebeab9fefcdd92071ce295c8a1e966ab4cd7e4d2f14e18e9b038e1531a25497115d1b9b7ffcd8e60f8a98d3cdc19fae8e4fe4a115a04bc7eec40361e3546d21facd7064197e12326f1bf390387efae44a69d4b7f32c70c53e2526032eeddc2c670f527f9c1414e23ffff3cd0c6f867daf9f3851daa8f39e774939010357e7af3844ac3eeafd7d3fbd1892751ce6d4989af267b874726e7cb4f4d2eba903f1a0330b8c7ee56c8a9849a4ed8e7b159cec0a2a958917ebd8e1dc37761250410323d38f291eb8b4a32c3186a84f48e4243ac0caf97f16199cddd344e5e0548ca903f28f23f8ed43ddc5a03888bdbbc2342147168b128572f7fd3578cffe022e02c20388230def1c4a27a77c67e951d09b2ae6c8fbb0016df7ebc254e731f1d6907d5603bcbeccf810c314091977b4e0c8fc07a13e7d6ffd9743ac3273921d2a5e408c5903f5ea08135ab4321500d377329c38633ce7d43c3667e9b4afae890fbd4782a2cd03d937a4ce00226a3c11cc8be185d1580c69517033236805a324408815bae5d98103eff4b9850e5f716dfc220ba292ba0c036513932b87fab1b2e22b719dbb95e8be036dc76b5b1564d47d572a6acc8276dc8a34d4a783029e1bec534b5b65ef61a9db03c60f4ed2c4232d9bdfe4da879d7ef4c28487591eb8f5921c7cec377bee8c10550330ca675f1f02b0535447534496097f6c8ddefc29c05be36f9d0994e067b62a24032360dc092cd7984b2d2985f530fbec0423c07aaf901cacb5a33eb21082cfacdf05581e0351530c52a074ef0fc1f5d29dec30f7fd5909ec83a6d5f359bab292bbb00401038ada8ccbddbdcadf8c963658793fe18f91967f3613e43d6a59412df25c41f001036837a16d4e7106f7e478f5fca7c66f5035d8994b855bbdc5a717e9fd35d085ce03bfca8766ecd07d4167dd55e86424412ee164afdc8609cf31ace96fb3985f107005581e03f5cb8fee0d3a8098c95cc24affac40afc38792e244a8e6fa4039e24ce0040105581e03541fbdcd5bdc95d93e86fa85322887362ec1a0f6644b508566cf3f55b00c0446a2c58a47854005581e03e6e22ed89116f9d8ac026a7cb00a3d4bf01f686a1ba6f9622e2faff2700c09480343b3287057d97805581e0354f877e222465c7a65462fa5efc4ffca3c09c7097b01d2f985990219000c04469d400007e7f30388dc218113e1edd45ab3b976dab66a1ffc695ab23e0f683d8b30aa60b4f235080219db6303608ca49b0c734e2396de839a1db5853a362192a298de99032164508e0fb7f230033e95671f421042ea84dffb0fd2a750d3a2a7b03a5885f6eb38e8d94e2886047d0356cec3c9d1e23af127051184ed50039dea6747da51b830528b5fb3803f2717cd03a0a5f5e1d200c90ec0a4cc60819be5772990bfa6ca4f07d43b66a81631ff2ce903a07cbda0863b1fc2909d6d27216b5a9f3d409b1df9eb395f94d481d492affb100219ffff0219ffff03cc0ddf870496e98757db11eaa6d3930b14b4e3178dd91ed89de61bccaee754b70394bb55978589f5b52ae2c7cf781ba2453d840c625cd62fa2baa61852d04765db036122319b1bd70bc7f4a24698b8beae19ad292c92cccb543d4778f731bdb35bbf03b8af1313410fb56d825469278e72a927e3736a88ae38501ce09d149220ad2b7e0378d0f12fafe247e8ea303e8851464aae9adfb5669dae67a1ad29542476218808030f1f635ae9c39a47612fb4f28ff018b2e5ed2e52d95976102174bec3308958bf0342308e944671b3a6e0ac1db262aa9db16cc1803029831b709fe108289795d21f03a0fa7ebe320dcf2e7fbb343bda07603a2e8ce6d6544cacbceaa6937b2cfe55550359cbb782780d1238790dffca2dffc2f50ded35fc12d920dab0db0619e41f0d870384c9c80db619356af69a2654def5ef10dea6de4555d584674fba82eff52732ef0219ffff03cec5fcb00ed8c5a596a7abb83c50d9510de66bef11e060962e2d5152419f03c5037f7959420ba5a3104cbe024b581c86b82ce729505b8b3469e025df33809d633803f5efa410254f2b6bd560eaee2c8286bbc5f85073c43e48df14787ecce6030fa50384608216b6aa73f1a8b713e24c1189115375bcca4c9c327a8e230316e9c9dc270364fe546f4b43b957cbee464e41eceb18f54359c140c5c9b310bdf758341cf24f035c7f5f28cfd1c8368fa72f8faa565f9aec7292987832c6ea6f92702e6cc19d6a03c97a9b44c37df74caaaa77b7825d9e8757ffc4531d37754793d745ac344974a10333dae1eb563e9750a58dbbf81ce958250754133bdc29344b2f0306279055fce20338fade8834b5fce2cdb819fff688078fe00b5d4f3672495ebc23b1d482c89e3c03865a324bf825f21a22ad55f39a7204e31bf38d1e740558bc689048c5ce700d32038a5122af950d5eac853c3369b640e8936fb361488ba8af533dda5ae0125612a103ed77602e23ee1353acd7ea2983db2de0176d6e1671b5dd86b9e9090f14007bf703c0825b2cd69ace2f98c84b1f11b33be4e93c8a18c3aa3cbab8e7d7f2826149e5038c5bf22a702ad562699dc7c2d3538e9fe03914109bcc9fb9d0f1681548cb7baf036a2e954a152919720162c582f8601a1cbbb8a068f9130fcad9fce4a29322a4f103cede740617ca9c6b37a5120e24dd25c753f42f5a9e8aa73e849f0843be731f19037a7e9ceeda43b7e9ea9d38d7ef5c5962bf492fe9246c98de819fbdc82dfa6df903fa731dfbf72c36ce13902fbdb95c9a0791c2ff8087e17626fccf748f3449d93c031716912252817a83e91d490adff2cd6d04feeb9d349fa640f71bcdf148d05205039d61a193366f33892efcfbaaaaa628ae295fb9be140e35327c9a89e8755c3395038d2cf11da567879f5dd66e8ec724f59dda8521fd7ca1d10f2f3597f93bfa87a703cadbfdfc4c1e4bfc878b373e668d995592e8211f0fba3a45937d803b01ac6d1703c8d1b26fa66b9ca3b3a6541c6b819ede2fc6e707cc65a13b9470d095a89275390384f242177afb576b39156de3eb4a702466afe5f15fad8d98558b3ca72c7387df0382eb2550cd32777c1f8c8b1af21241ede3c73c3f01c248a1719d6ed6b64a375f036ec7793be01733ed15cca1b5997efa95bbc072a13c1144e31a674ed77f57c296014101034b58696c69b3b57d6ed2c25d999c055234982e5751a9067ada29e9165fd8844903448c87b1a8c289e2b05bf7f5b8a95da166688f727436ad3765d600e01c9aca4205581e032019adbe4f0d94cc2374d0e95d8d6fe725e3dc0c6646836f17279afbe00c01470c025d6cbbf80003c69bde509574d251b65b51d6ae75890a61d5751279281fa50a76ff255a52c5ad05581e034fca6a27a43b27fc64dadf5f26d917064d3e448131558da0a1595f4ee00c01461402462f600003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03010a588e4cc785ea88b1e27097ef5c0fdadbb459c7b9cd568fbaa07a2007011bffffffffffffffff0369adfa1e6b65ae4afddfa5ad9ca430e67518bc46d1e1c6a4c80885f4c5fa010505581e032290f3e139cb6b142a8d3e917c07d6d5d98afe2a6ba631941361e640c0040105581e03508157f86fe078cd146d93b0f7476c38aa4c17e3db4f1d1869c430afe00c184f47ca75d32061f1ae0219a6fc03ba8960b2a9029e472612bd2e7c2506e7ee31dcf8c12c402cf29f894c30d7d45103b427589aec63d3c6d5853f5ea90cca4ef140022a6e9795d33ff66091008a30e703eb7ad335928657f319683632d877bd0b47aec675e3046c93062d88b13c9456240219ffff031caa6c7cda191f4bbef200e03d1202b0a220d76c14d2ddd70c65ccaff317d74c03cc87e07ab5fd6ddbd5c5e361e626a0aab124aaa7e07728db344dcddfb00a5ef5030faf48c020402885db2196c8ac6c745b5607d6d4944dc54dcdccfe28446102460392126bc60aa0daf5f12583d1caef002599dd654451d6966ff17cbe743f18ffdb03a18fb95db5c71a6af0feefcbd5b490d0af7764ee954aebdc3a0785b7a4b80ce803f556b9865c5ad28d91e5d12137ae9b09634ab414e60aebe8780b552f8be1a24003dd5508aa6809927554108c145f3e5f4e1afab4b22cc03d5b45985fa1cfc349ac035b12436fe0030fb9cc3c3b0b125279c528e5076a9ccc30b78adf58306217fbf0036add7fd24e94044ba8a8428fcb757e795e11a026a9bcd4146ee87679b36ce0180219ffff03e86a24baf0dc3056b47a7f853af4fa20d8b061e5f3c03486e3c4f40cecdf558303a3dee33d90cb47063652f103fb66e0735e76a3194ce83d2eea3245650bb36d3e039e7b618e872e148b235864d8f6be3f1c4381498c241aaf37187892f386da55ac0391b2f03588ce28c2d9096705d03642b3dc8b5e0c0910fbb0afaa20d65aedd5f303d98ff1052b82f08dff49505cacd364842196a3e830822d7ed8d90d35f701153d0325befecf22191f991a0518c6a51c0f13752bfe76abec83bbe074847c57b3f50503214c17a39e4fd1bc23ebf89a6efdbdf6490cc5b2500470282ca18e24f278d3ea03df6325906538a826a58bb947facb66d5da3268ff12ce7d0e4c7b7fb8b98b021003627ccc81d161c03c56bb9cb5f7ab02bd512c8e162f4b8bdedf86258c841bc82003c6cf95e559660eb53843d70121a143949203729391bb91c1ad3645de09ecf597034836579371abb11ecf6265e72b08f89a37604ed4ad914af9c4a8d22c0aec54440338fcf3ebee05e621b6aee099183f63726f9e1f88efe514fd6756bdef306d64df03b67ce8fb340f3409cf2a55b86866bc445f963ae498550e017aed24fd7daebbc70219ffff03a4cf9dffebc57abb39b600dc6358b2c0eded2e75ba5277f6d5453a6a1693ca46038a1a792db1eda5aac3151501fb7a76b98f5828d81ccf6e9cfc545f11209b009103684a62022c5ac0e1dcbb926ec4f8874095ef5071599717be4f2387fa36c476b9034f9fbc035bcd7d200b73766fac4a45b7181d3622a73252526cf413250c0bb74f03591494d1329340a716bc696ad1b3e9732949393fcdb594a49a7eb89606b028b90360b16f1443e996e45bc02443702af89d3d33d460666a93e0650ccf436f7635b60219ffff03c7ff93d0f2616fdb13d07857fbd0aec956e7865682a197d462800c3e34f8729b0332546ce8dbe7065bafc1871b6db6e7acdf64adc85e0de6bfc9cf8fa5ce6aafbf03fa7e07eb42c94d3639ed714eacdedaaed1c7c94350a870e85ef800b7c0d24b4303b10df4ff86f67425a070bc2ad0b19e15e5cede030885be9766fd0a28025ff07403ba82affe1f13d4820e7c119782df135238e772f499bba5d5d397c9297a79bcb6030cbb2bf2643eaf2a54d16c006907ac8b8a78a3760c8d26d7af729333ec8cdcbc032e5b8fe54a070b64c758280c29c2ee2ae3b03852f1636aaa4dd7c63421c4d90f03555e3b215bfc6202826571fbc61272167223b17a37dd4ecb0fc4c76302949eb203db9a9f008d74b00002357cd4f1f8b1c23dfb16f6ab9e4f0c22823515745a144f03277e9e049790e724ddd3ea1fd1bce84b2321a3555d40ac4a8bd7a428df90898a034a80814b586598d6a7166a177e799e4cf5d8d64cad6dada6fb0beab9ece8d28103489f4dd70897f2d8068ab81d13aeabb563706e2f5853cdefe871ea336867d7b40348e923febee17c67fee4fecadfcef051de9bfc388378b3253413d0dcd4d7ac6e03ed1417d292ef64576998ca80429a4f60937100fa36fc37d8182a3b6d9f59ee72032064571b3cef06343e765f615df9d4f941038d878bde183b2057d1204aeb8b92037b290f39175de71c7456f5c034175cf1f65e866fd009975f3f0ad8dccab78ddb032c33d4f6f77068b244a84e7770673075bf8495b1fad191c36d6fdf65e1d3e08d0378eaaa7c028959bcc8e344c598310d8f2f794167934af9d0d65aaea96cdc0774036f4803bd0142b38d5481897d9ae9829a0ee53a685db21ef6b56d89266d9b60d20303c798f185ee5ed5c5e6b7aa0a75a08800d47f7bef38c378ee1ef71db87ad43003eab170b59d61abaf934b086f5501f16a41ecac7426a108520261cb8e2bdd2d98039ac0e4e18b1112bc6095d601e9b02813eb2e448ac20599070ac3aa531ac5cc5f033ebbaf2b5569ca90e75b992807d4cfcca8c580d6fb160ff0a0cd223bd1e8e2f2031ddd4492e6e52d6fd47084c0435bf7a2bb25ff830f50dd924e23d0a6b91629ac03c9c0613dcdc044c264045681c26e3a5257f088b36c491d1a18ac84da3c592ab203626a66bcf1079010684e8ba0267c30233a4e49bb693e4b974b18f7bc70b614f4033490142bb98b27279893f99b3b0e92883f35a75aea346d0bb6271599ebd1e36d0323d22ac7d397666a1073de218be2c34caf738f751bc4925f5e69705c61b66f00032ab8f29e690b80adcf87a53d11b314e62d1812f810a54d7895776cb79655edef03aed1ee32c4f34a3b2ef6d3585540116ab85d0ab1d5869d3aac8d1349f96593d303e18a643b342cfda01c4c2e1b46abfc51f5f59bc74d35a5548a4fcd0d04bd06630305348b8e08ece90582c819ae2230cf8a90ac14f53d05b76c08277cae3cc41a160371d65c0c6f65dbdd3df04aa3b5bc097666c0c9e0145f05f32615c3c1c4f09ba903712933d8456633f423550ebaefe0cda0e3f7a9c9c08af9f2c5dbb1dbcb9551c203a56ab216bd48498ddf1f142c8d410ca99c2a36be9cc342d5fd6349326319689f0390c7139d37cf47dc2a70f7a6b0c42ea80fbc370ffc765478b605d6380e713779034ce789b9f61d0463d52991072440926e7d7e3a5f19ac82e05c0586cde74570e403742e182cba1df9be503de89c6578f25113f0e5fc32daffabc6c311d8313f49d20321807e9aa5a6007f25308e90b1895ab6637086d4fb19b2d43d2d3df95abe273003a8f65e094107f683793efba3223e24bf3690b82fdd54b44207d8a69a9215d80005581e0325ee0c0886d56aa53ab36af3bbced3d3abd9fd32ace7471551131f31e0040305581e037ce65b1cee37472941a50cff2bd8cae9c7fdd8c18f508faeda7ab0f1300c01473a717d119c8c0005581e0353270808b40f96ee6cfb323e80b6c273c569e07a319d8c81976639b520040105581e03f1fab5678fff1061acedbdff1e8350f5119d167bd419d3a704a12be1900c01462cedd574a60905581e031bff7fa6478abceae345fb0d5d019bc6b876152ddf8c2ac7725d16cfb0041005581e03967a8065b9b60b0229184e35e65bec5fe13e395bb3ad2eb989ba369570040105581e039f1ce8c85883cfef2d1f2a23164333fa67c61a03f60ea86458a55621600401045947ae6080604052600436106102285760003560e01c806375f0a87411610123578063bbc0c742116100ab578063d85ba0631161006f578063d85ba0631461083b578063dd62ed3e14610866578063e2f45605146108a3578063f2fde38b146108ce578063f8b45b05146108f75761022f565b8063bbc0c74214610742578063bfd792841461076d578063c0246668146107aa578063c8c8ebe4146107d3578063d257b34f146107fe5761022f565b806395d89b41116100f257806395d89b411461064b57806396188399146106765780639a7a23d61461069f578063a457c2d7146106c8578063a9059cbb146107055761022f565b806375f0a874146105a15780637f2feddc146105cc5780638a8c523c146106095780638da5cb5b146106205761022f565b806339509351116101b15780636b999053116101755780636b999053146104d05780636ddd1713146104f957806370a0823114610524578063715018a6146105615780637571336a146105785761022f565b806339509351146103d757806349bd5a5e146104145780634fbee1931461043f57806366ca9b831461047c5780636a486a8e146104a55761022f565b80631694505e116101f85780631694505e146102ee57806318160ddd1461031957806323b872dd1461034457806327c8f83514610381578063313ce567146103ac5761022f565b8062b8cf2a1461023457806302dbd8f81461025d57806306fdde0314610286578063095ea7b3146102b15761022f565b3661022f57005b600080fd5b34801561024057600080fd5b5061025b60048036038101906102569190613397565b610922565b005b34801561026957600080fd5b50610284600480360381019061027f9190613416565b610a33565b005b34801561029257600080fd5b5061029b610b26565b6040516102a891906134d5565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d391906134f7565b610bb8565b6040516102e59190613552565b60405180910390f35b3480156102fa57600080fd5b50610303610bd6565b60405161031091906135cc565b60405180910390f35b34801561032557600080fd5b5061032e610bfa565b60405161033b91906135f6565b60405180910390f35b34801561035057600080fd5b5061036b60048036038101906103669190613611565b610c04565b6040516103789190613552565b60405180910390f35b34801561038d57600080fd5b50610396610cfc565b6040516103a39190613673565b60405180910390f35b3480156103b857600080fd5b506103c1610d02565b6040516103ce91906136aa565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f991906134f7565b610d0b565b60405161040b9190613552565b60405180910390f35b34801561042057600080fd5b50610429610db7565b6040516104369190613673565b60405180910390f35b34801561044b57600080fd5b50610466600480360381019061046191906136c5565b610ddb565b6040516104739190613552565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e9190613416565b610e31565b005b3480156104b157600080fd5b506104ba610f1b565b6040516104c791906135f6565b60405180910390f35b3480156104dc57600080fd5b506104f760048036038101906104f291906136c5565b610f21565b005b34801561050557600080fd5b5061050e610ff8565b60405161051b9190613552565b60405180910390f35b34801561053057600080fd5b5061054b600480360381019061054691906136c5565b61100b565b60405161055891906135f6565b60405180910390f35b34801561056d57600080fd5b50610576611053565b005b34801561058457600080fd5b5061059f600480360381019061059a919061371e565b6110db565b005b3480156105ad57600080fd5b506105b66111b2565b6040516105c39190613673565b60405180910390f35b3480156105d857600080fd5b506105f360048036038101906105ee91906136c5565b6111d8565b60405161060091906135f6565b60405180910390f35b34801561061557600080fd5b5061061e6111f0565b005b34801561062c57600080fd5b506106356112a4565b6040516106429190613673565b60405180910390f35b34801561065757600080fd5b506106606112ce565b60405161066d91906134d5565b60405180910390f35b34801561068257600080fd5b5061069d60048036038101906106989190613416565b611360565b005b3480156106ab57600080fd5b506106c660048036038101906106c1919061371e565b611500565b005b3480156106d457600080fd5b506106ef60048036038101906106ea91906134f7565b611618565b6040516106fc9190613552565b60405180910390f35b34801561071157600080fd5b5061072c600480360381019061072791906134f7565b611703565b6040516107399190613552565b60405180910390f35b34801561074e57600080fd5b50610757611721565b6040516107649190613552565b60405180910390f35b34801561077957600080fd5b50610794600480360381019061078f91906136c5565b611734565b6040516107a19190613552565b60405180910390f35b3480156107b657600080fd5b506107d160048036038101906107cc919061371e565b611754565b005b3480156107df57600080fd5b506107e8611879565b6040516107f591906135f6565b60405180910390f35b34801561080a57600080fd5b506108256004803603810190610820919061375e565b61187f565b6040516108329190613552565b60405180910390f35b34801561084757600080fd5b506108506119d4565b60405161085d91906135f6565b60405180910390f35b34801561087257600080fd5b5061088d6004803603810190610888919061378b565b6119da565b60405161089a91906135f6565b60405180910390f35b3480156108af57600080fd5b506108b8611a61565b6040516108c591906135f6565b60405180910390f35b3480156108da57600080fd5b506108f560048036038101906108f091906136c5565b611a67565b005b34801561090357600080fd5b5061090c611b5e565b60405161091991906135f6565b60405180910390f35b61092a611b64565b73ffffffffffffffffffffffffffffffffffffffff166109486112a4565b73ffffffffffffffffffffffffffffffffffffffff161461099e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099590613817565b60405180910390fd5b60005b8151811015610a2f576001601760008484815181106109c3576109c2613837565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a2790613895565b9150506109a1565b5050565b610a3b611b64565b73ffffffffffffffffffffffffffffffffffffffff16610a596112a4565b73ffffffffffffffffffffffffffffffffffffffff1614610aaf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa690613817565b60405180910390fd5b81600f8190555080601081905550601054600f54610acd91906138dd565b600e81905550600e546013819055506008600e541115610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b199061395d565b60405180910390fd5b5050565b606060038054610b35906139ac565b80601f0160208091040260200160405190810160405280929190818152602001828054610b61906139ac565b8015610bae5780601f10610b8357610100808354040283529160200191610bae565b820191906000526020600020905b815481529060010190602001808311610b9157829003601f168201915b5050505050905090565b6000610bcc610bc5611b64565b8484611b6c565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600254905090565b6000610c11848484611d35565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c5c611b64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610cdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd390613a4f565b60405180910390fd5b610cf085610ce8611b64565b858403611b6c565b60019150509392505050565b61dead81565b60006012905090565b6000610dad610d18611b64565b848460016000610d26611b64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610da891906138dd565b611b6c565b6001905092915050565b7f000000000000000000000000605684b039b373568aeb4871356eefe0eb812ead81565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610e39611b64565b73ffffffffffffffffffffffffffffffffffffffff16610e576112a4565b73ffffffffffffffffffffffffffffffffffffffff1614610ead576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea490613817565b60405180910390fd5b81600c8190555080600d81905550600d54600c54610ecb91906138dd565b600b819055506008600b541115610f17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0e9061395d565b60405180910390fd5b5050565b600e5481565b610f29611b64565b73ffffffffffffffffffffffffffffffffffffffff16610f476112a4565b73ffffffffffffffffffffffffffffffffffffffff1614610f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9490613817565b60405180910390fd5b6000601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600a60019054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61105b611b64565b73ffffffffffffffffffffffffffffffffffffffff166110796112a4565b73ffffffffffffffffffffffffffffffffffffffff16146110cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c690613817565b60405180910390fd5b6110d96000612874565b565b6110e3611b64565b73ffffffffffffffffffffffffffffffffffffffff166111016112a4565b73ffffffffffffffffffffffffffffffffffffffff1614611157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114e90613817565b60405180910390fd5b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60186020528060005260406000206000915090505481565b6111f8611b64565b73ffffffffffffffffffffffffffffffffffffffff166112166112a4565b73ffffffffffffffffffffffffffffffffffffffff161461126c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126390613817565b60405180910390fd5b6001600a60006101000a81548160ff0219169083151502179055506001600a60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546112dd906139ac565b80601f0160208091040260200160405190810160405280929190818152602001828054611309906139ac565b80156113565780601f1061132b57610100808354040283529160200191611356565b820191906000526020600020905b81548152906001019060200180831161133957829003601f168201915b5050505050905090565b611368611b64565b73ffffffffffffffffffffffffffffffffffffffff166113866112a4565b73ffffffffffffffffffffffffffffffffffffffff16146113dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d390613817565b60405180910390fd5b670de0b6b3a76400006103e860056113f2610bfa565b6113fc9190613a6f565b6114069190613af8565b6114109190613af8565b821015611452576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144990613b9b565b60405180910390fd5b670de0b6b3a76400006103e86005611468610bfa565b6114729190613a6f565b61147c9190613af8565b6114869190613af8565b8110156114c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114bf90613c2d565b60405180910390fd5b670de0b6b3a7640000816114dc9190613a6f565b600981905550670de0b6b3a7640000826114f69190613a6f565b6007819055505050565b611508611b64565b73ffffffffffffffffffffffffffffffffffffffff166115266112a4565b73ffffffffffffffffffffffffffffffffffffffff161461157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157390613817565b60405180910390fd5b7f000000000000000000000000605684b039b373568aeb4871356eefe0eb812ead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361160a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160190613cbf565b60405180910390fd5b611614828261293a565b5050565b60008060016000611627611b64565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116db90613d51565b60405180910390fd5b6116f86116ef611b64565b85858403611b6c565b600191505092915050565b6000611717611710611b64565b8484611d35565b6001905092915050565b600a60009054906101000a900460ff1681565b60176020528060005260406000206000915054906101000a900460ff1681565b61175c611b64565b73ffffffffffffffffffffffffffffffffffffffff1661177a6112a4565b73ffffffffffffffffffffffffffffffffffffffff16146117d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c790613817565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161186d9190613552565b60405180910390a25050565b60075481565b6000611889611b64565b73ffffffffffffffffffffffffffffffffffffffff166118a76112a4565b73ffffffffffffffffffffffffffffffffffffffff16146118fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f490613817565b60405180910390fd5b620186a0600161190b610bfa565b6119159190613a6f565b61191f9190613af8565b821015611961576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195890613de3565b60405180910390fd5b6103e8600561196e610bfa565b6119789190613a6f565b6119829190613af8565b8211156119c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bb90613e75565b60405180910390fd5b8160088190555060019050919050565b600b5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b611a6f611b64565b73ffffffffffffffffffffffffffffffffffffffff16611a8d6112a4565b73ffffffffffffffffffffffffffffffffffffffff1614611ae3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ada90613817565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4990613f07565b60405180910390fd5b611b5b81612874565b50565b60095481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bdb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd290613f99565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c419061402b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d2891906135f6565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9b906140bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0a9061414f565b60405180910390fd5b60008103611e2c57611e27838360006129db565b61286f565b611e346112a4565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ea25750611e726112a4565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611edb5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f15575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f2e5750600560149054906101000a900460ff16155b156123f457600a60009054906101000a900460ff1661202857601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611fe85750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201e906141bb565b60405180910390fd5b5b601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156120cc5750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61210b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210290614227565b60405180910390fd5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156121ae5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612255576007548111156121f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ef906142b9565b60405180910390fd5b6009546122048361100b565b8261220f91906138dd565b1115612250576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224790614325565b60405180910390fd5b6123f3565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156122f85750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561234757600754811115612342576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612339906143b7565b60405180910390fd5b6123f2565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166123f1576009546123a48361100b565b826123af91906138dd565b11156123f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e790614325565b60405180910390fd5b5b5b5b5b60006123ff3061100b565b9050600060085482101590508080156124245750600a60019054906101000a900460ff165b801561243d5750600560149054906101000a900460ff16155b80156124935750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124e95750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561253f5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612583576001600560146101000a81548160ff021916908315150217905550612567612c5a565b6000600560146101000a81548160ff0219169083151502179055505b6000600560149054906101000a900460ff16159050601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126395750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561264357600090505b6000811561285657601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156126a657506000600e54115b15612740576126d360646126c5600e5488612e6790919063ffffffff16565b612e7d90919063ffffffff16565b9050600e54601054826126e69190613a6f565b6126f09190613af8565b6012600082825461270191906138dd565b92505081905550600e54600f54826127199190613a6f565b6127239190613af8565b6011600082825461273491906138dd565b92505081905550612832565b601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561279b57506000600b54115b15612831576127c860646127ba600b5488612e6790919063ffffffff16565b612e7d90919063ffffffff16565b9050600b54600d54826127db9190613a6f565b6127e59190613af8565b601260008282546127f691906138dd565b92505081905550600b54600c548261280e9190613a6f565b6128189190613af8565b6011600082825461282991906138dd565b925050819055505b5b6000811115612847576128468730836129db565b5b808561285391906143d7565b94505b6128618787876129db565b601354600e81905550505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a41906140bd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ab9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ab09061414f565b60405180910390fd5b612ac4838383612e93565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612b4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b419061447d565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612bdd91906138dd565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c4191906135f6565b60405180910390a3612c54848484612e98565b50505050565b6000612c653061100b565b90506000601154601254612c7991906138dd565b9050600080831480612c8b5750600082145b15612c9857505050612e65565b6014600854612ca79190613a6f565b831115612cc0576014600854612cbd9190613a6f565b92505b600060028360125486612cd39190613a6f565b612cdd9190613af8565b612ce79190613af8565b90506000612cfe8286612e9d90919063ffffffff16565b90506000479050612d0e82612eb3565b6000612d238247612e9d90919063ffffffff16565b90506000612d4e87612d4060115485612e6790919063ffffffff16565b612e7d90919063ffffffff16565b905060008183612d5e91906143d7565b905060006012819055506000601181905550600086118015612d805750600081115b15612dcd57612d8f86826130f0565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618582601254604051612dc49392919061449d565b60405180910390a15b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612e1390614505565b60006040518083038185875af1925050503d8060008114612e50576040519150601f19603f3d011682016040523d82523d6000602084013e612e55565b606091505b5050809750505050505050505050505b565b60008183612e759190613a6f565b905092915050565b60008183612e8b9190613af8565b905092915050565b505050565b505050565b60008183612eab91906143d7565b905092915050565b6000600267ffffffffffffffff811115612ed057612ecf6131f6565b5b604051908082528060200260200182016040528015612efe5781602001602082028036833780820191505090505b5090503081600081518110612f1657612f15613837565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fdf919061452f565b81600181518110612ff357612ff2613837565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613058307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611b6c565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016130ba959493929190614655565b600060405180830381600087803b1580156130d457600080fd5b505af11580156130e8573d6000803e3d6000fd5b505050505050565b61311b307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611b6c565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71982308560008061dead426040518863ffffffff1660e01b8152600401613182969594939291906146af565b60606040518083038185885af11580156131a0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906131c59190614725565b5050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61322e826131e5565b810181811067ffffffffffffffff8211171561324d5761324c6131f6565b5b80604052505050565b60006132606131cc565b905061326c8282613225565b919050565b600067ffffffffffffffff82111561328c5761328b6131f6565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006132cd826132a2565b9050919050565b6132dd816132c2565b81146132e857600080fd5b50565b6000813590506132fa816132d4565b92915050565b600061331361330e84613271565b613256565b905080838252602082019050602084028301858111156133365761333561329d565b5b835b8181101561335f578061334b88826132eb565b845260208401935050602081019050613338565b5050509392505050565b600082601f83011261337e5761337d6131e0565b5b813561338e848260208601613300565b91505092915050565b6000602082840312156133ad576133ac6131d6565b5b600082013567ffffffffffffffff8111156133cb576133ca6131db565b5b6133d784828501613369565b91505092915050565b6000819050919050565b6133f3816133e0565b81146133fe57600080fd5b50565b600081359050613410816133ea565b92915050565b6000806040838503121561342d5761342c6131d6565b5b600061343b85828601613401565b925050602061344c85828601613401565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613490578082015181840152602081019050613475565b60008484015250505050565b60006134a782613456565b6134b18185613461565b93506134c1818560208601613472565b6134ca816131e5565b840191505092915050565b600060208201905081810360008301526134ef818461349c565b905092915050565b6000806040838503121561350e5761350d6131d6565b5b600061351c858286016132eb565b925050602061352d85828601613401565b9150509250929050565b60008115159050919050565b61354c81613537565b82525050565b60006020820190506135676000830184613543565b92915050565b6000819050919050565b600061359261358d613588846132a2565b61356d565b6132a2565b9050919050565b60006135a482613577565b9050919050565b60006135b682613599565b9050919050565b6135c6816135ab565b82525050565b60006020820190506135e160008301846135bd565b92915050565b6135f0816133e0565b82525050565b600060208201905061360b60008301846135e7565b92915050565b60008060006060848603121561362a576136296131d6565b5b6000613638868287016132eb565b9350506020613649868287016132eb565b925050604061365a86828701613401565b9150509250925092565b61366d816132c2565b82525050565b60006020820190506136886000830184613664565b92915050565b600060ff82169050919050565b6136a48161368e565b82525050565b60006020820190506136bf600083018461369b565b92915050565b6000602082840312156136db576136da6131d6565b5b60006136e9848285016132eb565b91505092915050565b6136fb81613537565b811461370657600080fd5b50565b600081359050613718816136f2565b92915050565b60008060408385031215613735576137346131d6565b5b6000613743858286016132eb565b925050602061375485828601613709565b9150509250929050565b600060208284031215613774576137736131d6565b5b600061378284828501613401565b91505092915050565b600080604083850312156137a2576137a16131d6565b5b60006137b0858286016132eb565b92505060206137c1858286016132eb565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613801602083613461565b915061380c826137cb565b602082019050919050565b60006020820190508181036000830152613830816137f4565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006138a0826133e0565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036138d2576138d1613866565b5b600182019050919050565b60006138e8826133e0565b91506138f3836133e0565b925082820190508082111561390b5761390a613866565b5b92915050565b7f4d757374206b6565702066656573206174203825206f72206c65737300000000600082015250565b6000613947601c83613461565b915061395282613911565b602082019050919050565b600060208201905081810360008301526139768161393a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806139c457607f821691505b6020821081036139d7576139d661397d565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613a39602883613461565b9150613a44826139dd565b604082019050919050565b60006020820190508181036000830152613a6881613a2c565b9050919050565b6000613a7a826133e0565b9150613a85836133e0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613abe57613abd613866565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613b03826133e0565b9150613b0e836133e0565b925082613b1e57613b1d613ac9565b5b828204905092915050565b7f43616e6e6f7420736574206d617854786e206c6f776572207468616e20302e3560008201527f2500000000000000000000000000000000000000000000000000000000000000602082015250565b6000613b85602183613461565b9150613b9082613b29565b604082019050919050565b60006020820190508181036000830152613bb481613b78565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000613c17602483613461565b9150613c2282613bbb565b604082019050919050565b60006020820190508181036000830152613c4681613c0a565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b6000613ca9603983613461565b9150613cb482613c4d565b604082019050919050565b60006020820190508181036000830152613cd881613c9c565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613d3b602583613461565b9150613d4682613cdf565b604082019050919050565b60006020820190508181036000830152613d6a81613d2e565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b6000613dcd603583613461565b9150613dd882613d71565b604082019050919050565b60006020820190508181036000830152613dfc81613dc0565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000613e5f603483613461565b9150613e6a82613e03565b604082019050919050565b60006020820190508181036000830152613e8e81613e52565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613ef1602683613461565b9150613efc82613e95565b604082019050919050565b60006020820190508181036000830152613f2081613ee4565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613f83602483613461565b9150613f8e82613f27565b604082019050919050565b60006020820190508181036000830152613fb281613f76565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614015602283613461565b915061402082613fb9565b604082019050919050565b6000602082019050818103600083015261404481614008565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006140a7602583613461565b91506140b28261404b565b604082019050919050565b600060208201905081810360008301526140d68161409a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614139602383613461565b9150614144826140dd565b604082019050919050565b600060208201905081810360008301526141688161412c565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006141a5601683613461565b91506141b08261416f565b602082019050919050565b600060208201905081810360008301526141d481614198565b9050919050565b7f596f7572206163636f756e7420697320626c61636b6c69737465642100000000600082015250565b6000614211601c83613461565b915061421c826141db565b602082019050919050565b6000602082019050818103600083015261424081614204565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b60006142a3603583613461565b91506142ae82614247565b604082019050919050565b600060208201905081810360008301526142d281614296565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b600061430f601383613461565b915061431a826142d9565b602082019050919050565b6000602082019050818103600083015261433e81614302565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b60006143a1603683613461565b91506143ac82614345565b604082019050919050565b600060208201905081810360008301526143d081614394565b9050919050565b60006143e2826133e0565b91506143ed836133e0565b925082820390508181111561440557614404613866565b5b92915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614467602683613461565b91506144728261440b565b604082019050919050565b600060208201905081810360008301526144968161445a565b9050919050565b60006060820190506144b260008301866135e7565b6144bf60208301856135e7565b6144cc60408301846135e7565b949350505050565b600081905092915050565b50565b60006144ef6000836144d4565b91506144fa826144df565b600082019050919050565b6000614510826144e2565b9150819050919050565b600081519050614529816132d4565b92915050565b600060208284031215614545576145446131d6565b5b60006145538482850161451a565b91505092915050565b6000819050919050565b600061458161457c6145778461455c565b61356d565b6133e0565b9050919050565b61459181614566565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6145cc816132c2565b82525050565b60006145de83836145c3565b60208301905092915050565b6000602082019050919050565b600061460282614597565b61460c81856145a2565b9350614617836145b3565b8060005b8381101561464857815161462f88826145d2565b975061463a836145ea565b92505060018101905061461b565b5085935050505092915050565b600060a08201905061466a60008301886135e7565b6146776020830187614588565b818103604083015261468981866145f7565b90506146986060830185613664565b6146a560808301846135e7565b9695505050505050565b600060c0820190506146c46000830189613664565b6146d160208301886135e7565b6146de6040830187614588565b6146eb6060830186614588565b6146f86080830185613664565b61470560a08301846135e7565b979650505050505050565b60008151905061471f816133ea565b92915050565b60008060006060848603121561473e5761473d6131d6565b5b600061474c86828701614710565b935050602061475d86828701614710565b925050604061476e86828701614710565b915050925092509256fea2646970667358221220672c933b6c7b7abacd4fc7d19d830fffe0038a873ed50a8c5d7b6d0854053d5c64736f6c6343000810003300582003c120d004b2f93423b495bf920f80b1d157b0a70e0c78af7702de3ffcb9bb404902bc410fd463e17c1403f4c69fdb66663dd65cf4d5824d265cb7c10e390e72003226b895f1e9842a95250058200340a9f66fcf6f54ed1bbbedb36dc17474a45cf5c397bee4ff0addbdd4c4a2105820fffffffffffffffffffffffffffffffffffffffffffff92397acce8e9fbfffff037dce68e3ec9077b3a6946b35dda346e67c1673cf35e51dcf51bbcb7bbaaa9648005820032da836ff7bf6c366079c6ef2fc65fa994009c70b7c36396e5092a237130c604a412527326d6b6317b06f00582003d9973ed08ff93d26c4757bb5ad1ca388393b6e4a93de74609367ae834b83d04a02f90cd83e36d42ec2f703eb3886b376905bde534f32d43615160957a9a89cb9af32f9a0aa383517a858670313117c7fecff416103527359ce7c0298a9fdcfea5ffd79087615fa04a0fd4504038de82002575aa189229e901505f41f64e3bdf1f1e4f453974b8596a3aab34d30034d7965d7949ff0fec8e37a58a691c127c5f747759a67c854d75e3461d79f40740219f15e03102d9365e32c79687e3ee1d2281469527f200264fe479eb6d91e7b651553a6e20365e0f9e8b86268f60997079bc8dc5d91776c34b9d4aad2ba7eeb24ef626ad0ab0058200316474b7cdae67bad472827b9f2fa0f5a61da53e0b31c29f71fc2e89c6f80105820ffffffffffffffffffffffffffffffffffffffffffff903b660e8456358aa0ff03ffefffe03b520dffb0114ed0bf02cd7152b34ae8a7665b15db8f36bb5fc1b54503b87376919b194230a29cecf2f95c0e9ab9626037a5c41f3927f633a4e79aa7a900581f02e82c4a14d1585b9b921bc1082168cee591349b5225834dc2e50af8b831e64a04e5ae27fb61d11782da00581f026855609be1a260a3eb848c60603abd3d8041d826f28064e4f5ad52fbb1035820fffffffffffffffffffffffffffffffffffffffffff581530a1a9dfdccdfea1e02195000034a0150afc4cb8324140541e96e5ed14c92ba4475c7b9118c454a28b4c6852dbf01410c03bd041ef64776b6f2d23b05ce4f256daa3a1204b45a88d1a1aa9d83b108367ef903d1d87c6e0dad662c6c4a8155151d3de8877c6f6c52f67e089dff06d60b9814bb03d25c47c4b7f15d9adc657e2ab163629f386520988a1645b654c1453cca35dc98005820036ae2017d4fab139e123937dc1afbc3120191395e0686b438cad3e2d402fcf05820ffffffffffffffffffffffffffffffffffffffffffffec086e706db88f4006030383f96384a5576aa4efc6b973863ce86ae779d526d3d73149e70c70723394c29c0058200387e857f34454026054bbb8f9f99b8560039060d6da83106b472c01b86c85304809c1e29c8573dc2003c29e309d35b0a46bc83b5bace90791f7456771d521224c26d437c15ff9d3402202197ff103aa9b2c84fb06e8f28515565b1b13a2111c2c5d85a6d649312759187154b3d5bd0352c99c9f5b876d77bdee3fb3450cd435e2ace5d10f97e470e08d352ca8211cef03ab177436aeabbfc08644ac80b0914778f8d2d16392619fcd22413c7bc5d416b103ffe6adf4bee30ef6ded6943f05482bce4522702b6f230e4c46fad591e9a640e203f1f82fd3c891d98a6660203c01f82e58b005bedd99a8ffbf580f9ae6f920f3740305eecda87214ebb613b025e8092eaccbb98cd0624c9bb457ef197df64af7f39703288fb73dc70e470cf13842824f822597897f4f73f0588fffe4d1c79ccd248027031e708fa938371ed09458b2afc736b22461e6764b4157d82c43f74b58273ed747036a7b9c781cd0ba98305bb665522413a5614454be7e5f8c7aedfc6da3bc1f8f0f0308aec2a19f6691577e2b00e47090558124c82d071b161e7556f05c40fcdf183903120359df4e5811b217041af8e3b0e553b0176043796919bb970164435f79943203ab785b1e5641abc146c926c1632b2cb1b911b1ca5ce14952b99b6f783e3563e70219ffff00582003dcd1eab44eb6609c3c8dee254bf18e920e3055c92e7d43d3539b948d8e75905820ffffffffffffffffffffffffffffffffffffffffffffe8f684baa2b3ff62e4c8005820030bb078aab75e907db2cd5ae2876d900947c9bde1b6d9eebc14b2b91da065c05820fffffffffffffffffffffffffffffffffffffffffffd0dc6b2b1e58638bd96120058200318a73585c1555c06006d773e4115f2943628ed870f8f9ff5cc768867deea305820ffffffffffffffffffffffffffffffffffffffffffff416cf65433082e57ffff0359307df0ee9ad9ba83c3e216260b4ff5d4c86ea8720210b527fcc127449b1ee00313d73ea28ecac8f21d7387d13f91f941932041cb794fc2ff5f52dd18fe907db900581f02746cbcb340c842750270b88c18c5d7cf244b2b626423d1b8704de2a30bc95820fffffffffffffffffffffffffffffffffffffffffff66e346e0db74fc84c086c00581f0206d7e46c83fbabb03fca99928cd46c8725edd4687d0a5a5b76f544fc13764ae7fb4442045c48a376440219014000582003725f5d08ae8fdad320326167f06ca4c2e391688e1134dba40606eacd5dc8f05820fffffffffffffffffffffffffffffffffffffffffffd87df7cf1f074a39208270347d05ee86a85d54938dafb10501bc1672aea0252a9e348af6b906b11b8ef24b003a44ddb7f86a37937634005dc88697d02cf44a8b456d09475a33acdfc5072a8490219acad03654b8623b4cf25ffbd640bc65b843bac44a49feb1bd5aa011102d875e2d268ca031a1316fa33f380879659a2fa1040c04a3e36e0edbf04967a8dac96a2c73e468d03f5b9038de81cce7783ff8e62dfa14c6b98176daac280090666b158483c6cb99d033bdd8915c80e71e8739a7b22fc26032f865fde5e419f84ceec8043a0d7909b8b03f091381bef62b1ce995d028fd29a3b278149bc40b3d0f9fa86fbc6d4da1f8a2503f2a3786a54a6924de51a8fc51167254305caf65c4149f39e6069dfe14da5d51903597ecf4dad08cbb776eb63d1e9a029d091032a2f2a6ddfde926ca1033f894bf70305438f20f3edabb3db70946bb1b47fbbac90a35afef122b1ca9d9cdd3a4f86080396254c42504f1ab5f5e51f1c43c9fdb44089d33c41f5a9a5538cfd0dff260bed03dd039124901a19514677f01187dbac6827cdddcddee0857dcbd06ca902516b1000582003fb62c765bd95f714630648df3d51ad7ae5582cdfd6af3de8ca69c142354f805820ffffffffffffffffffffffffffffffffffffffffffff249cd56a669b8cc64cc500582003488610ff0bb3b841119eb2b6aa11df111a8ea95a40cc37f3b0197256bf11805820fffffffffffffffffffffffffffffffffffffffffffffdb4c1a57bd63c61ff41005820034466a30f9630c72def22cb378bf2633e50336ed6f07fbac79420f308b62a905820fffffffffffffffffffffffffffffffffffffffffffe682afbd959bca6749a1100582003b2e751eb3302a07cd113469c825c4c9ce63f0232ba73902b5bc42778d45ff05820ffffffffffffffffffffffffffffffffffffffffffff767da38b1e8304d01836036802556106fab983f43defb48b4d1e5c4c92a82dbe8a4eb3faef68fc51d05a95038b4eefc9f8db4bd565ea15e5954d9bb3ad88d5999bb937e91e4ef298e3530285005820032fe97f35e8ede984b1ed7495594fc727e2c36b7b4d5c807ce9507a144418d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dc8b7321f63dd5e2d8f23baff9a80b20f217d302ff9cb50c3461b836d508eb7703074b72e83dfe3f52b953178a9438e59f16885c1ae75b4a95b267f5c4bc7fa0c90058200304218e84ccb7fa7877f436d48f51c0fedc675a30c459aa7ddf72062b56ffc05820ffffffffffffffffffffffffffffffffffffffffffffd5e1bb3e1334b2a93ac603c5b2226e46720211814e39930a204a1d44480e51c4216303b85d5bcaa3343e190219dfd103b3a6254552ba73cbac7f38cc11c47528806007d6638d7d8741dede25a207193903c4561ca125dcfa7db2b5d9c35e4d493f53e9a22919b575e308169e3f85a8eb1003f29a13e87cdd4c0e8fd363db15e018a098760f954bad3c1c56b6d6403e825c34039aeb4022d3d920c40d8081eb016b2866793675011999179a53da3213fc376fe20219ffff03abdf2de84157d81695aebe33ec8804016bba0b58da4e24ef79df9288d94cf9ae03436b89fd7072faae71e374617f44d303c3f52bb255bbd084b29d31bd59755a5f03729a95d03a0f519c0cf73b70eb19d88517363a78c4a66692dff5cf6735404d26032dc0a81545638d97615472d830aa0edf02284c338f50e6e7b1568e7d9b93d7da032ef3976885b9596ecf6a39732a8dace5e66bc6477a9249bf5199e519cf7d3c56037ac157c818ea71ca9f55f7ccedaa9ccac57d0bf4f3011ddbf4a7ef2bd06376010302375bb89394016c1c7fac404a47830c93e0dad8e20a89c9c98bf3cf4bab4ee90317c6f61f708ebd6b1c2156d134663ddec7a04a4eb71dbce60fd9e8cf684c5133037af9f79a762a3f9779ac154d2e0c640175d641249af4585e2f535e173fd0836a03e31dba51ceccec7a1bb251690577ed0092bd2de2984761dd72866fae3926db5b03677ef2afca72031cd7df6be8df30b83cbe0a2744e1a6afecb648fe5a2993c97c037517e9d45c73b3c3360e9a2f6c06bd72068113979515691d3612378eca3367d00339a8f30172e7cc2e7a004f527b41c83df8f9e17a61ad3e29f90e0624d174abf603178ae77dc8b14ce339dc3a957051716259d8672fcc46419294cda27ba6d1c0b30058200354ec68ef3e6c8eac7d1f36ae3ab8bfed37235614c0b2030bce096b7b6ff3605820ffffffffffffffffffffffffffffffffffffffffffffc2add4446ec40060a7c30058200394172faff22ab56458b64e01e1f4520ddff98c45871a86ebc6271986eb67d04b02a2136858756eead3a16100581f0207463f613f7f716104bf3bbf574ca51ecac53352263136ec4a3fd7dfa0d5410100581f02ea38503375bf986045284810c6c1f81ae240a84675b7123044c80d1bb6df5820ffffffffffffffffffffffffffffffffffffffffffffcf4baccde039fc3fffff02190240039e1a91ddfb7da331bda3b3e54f80f584a31c49fd154d7766a57ffcf5c0b84bd40142001100582003b3162e8d021012b41d7732554fe01dae4461cabc842b4333befcac672a03504a08b6756e46e8a1c409420384cd48329ac18ce39c6a260b19794a89ea63897b29f58d6f16d9f6a577b1f51a00582003b25e834810cd08ebf24acdd74bbd3a2164f56686c4290172c029c5a4b7198048345d7d3d5e9b56990392e43b0628c66955bd2adce6c2b3e84f5572c27efd1a26548832fcce36753e4700582003f1a7fecd6dd310cab43f4003e632bd7ff5f724ac40014378d9b46bbfb694604b068d1bc120d6ed2d87b3860219cf2a03bd5b885825968dc8393108d64fab588e9b5d34169d570a24eef1d50bb3dc44190219ffff03a2d07f2390946dcba4de7bfab099ddad14291c081f35d39eb444d950f18c2e46005820031e34a4a9282e23a1c3b12f6f845969622610628e60dae88cfb71f6eec911404a021e1e5851233b82b17703ba652c00692088ca866a8f261799c998002939575957e4907f5e0f82bf20149e0058200333add99dc2570146a6c87c67cc07b7c0017f6256fcf41f08d1c52219f40f105820fffffffffffffffffffffffffffffffffffffffffff88e2d05bacba556ffffff032ca5e3689519b79a3757a05aecbc3e521cd5f394acbfb753788063217e453ec900582003cc2213fd63d6fcad37a2793f7a2d4dfac29d27687f0328243fc6f82cd989205820ffffffffffffffffffffffffffffffffffffffffffffd977a64e1b4c6489d9ee00582003d3a39c1acb0c585e63fff9b2c6f76c9321880bcdfc111e5b0f10d674ac4ff04a32b656c2c8cfd92d720f00582003019fe19cffb1ab9147c8f6da158419eaae4832394e8b69f0021fecb87a38e04ad1a401ee0332eec0000000582003b4945179ae10ced4683b12c6ea092026ede6307152b6f1f83b24c7dc489cc05820ffffffffffffffffffffffffffffffffffffffffffffd21b4fb909b0ab45168500582003a0493dd664bc5b0ee239e0b4e918391bf1be5ef77eb9e954ff55921ba337205820fffffffffffffffffffffffffffffffffffffffffffa35b13d58658098ffffff0058200315941c133c23fb5d93502b15ba71b6b8b5b603501a3bc64a7cffc9107f15204a57d663b1771ca69731b403ef8034ebcad90b715182cf2569ff09c3b2a736793fa8d85c0b3efae2729bcae700581f02c21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c684a170dd93259df95050b6a00581f02cb6cff402b31ff20a07757e6d18f40ac6041ffd827af26ce619ffda36bcf5820fffffffffffffffffffffffffffffffffffffffffffe01d9dbb499470a4157920219900000582003271e468a4d15e01eae7eac82819667e5d91d35eeb718d3a86d6a1f50cb0b804a367d6f767f647223d1280219edf7036ef49e46ed8174464f8fea84bd64d0adc21d2a05b95b9a28bd64d034b6ffd0390344c5310df4b3a3fd6cd943b3e91726097aed56819b2ea3cfe9add88d81b8e302035a92337503caff0c7c92bb2bbb66b81e522e652f8fbbe9c5b495548f7dca91d000582003d64a91a18446c24858882f3c6c0b76ae3778bd8e011892040666cc80478c904a1a3c33c9b529fe2a8f8103550145ecbad797eaabbd103deafd46006829293a9e5970353940ee8e2eb4e14d03984573f7a6005c8da9868aa0de666f484ecfb3720b8283538841efdd12f84a3800582003b61cf253bcae20c246a1cdd6ec13b06979ef0b0f79a60fefcf7a45a988f0005820ffffffffffffffffffffffffffffffffffffffffffefb851123d70d15d3fffff0058200358f38093814f326f2f96d810d842a07030efd688e3027bf4bf862841f919105820fffffffffffffffffffffffffffffffffffffffffffff4d80c9207cf59a84963005820031c059b3c289e7a4cf6f74496d4c1b9d39c837bbc18555aa4ec28504a3176305820ffffffffffffffffffffffffffffffffffffffffffffd12c01f87c9cebf8474c00582003241b82e75599545208fc4f2736d19395fa6510cbb0a0799408b9992f9e1ec04a3c8324f7b0886a2af933033e339328e92268d75593500ec375d58c1dda686c22edc2ebf414fbf55bacdc3803f93a74e8cce7ca7900ea4fbb81ef18bf033eb76b60d1556fd4a10b9f3d77ec2300582003f0c553f7a32408a02bc7a59763460db410150b9d6a10f8708fafd930f76bc04a12f4d7d82c1e8d7a4b740058200371cf1a861779465e1ecf883b634bf45cd423d347994627bd3394c30c6ba2205820fffffffffffffffffffffffffffffffffffffffffffc9ef7b4ce199690dfffff0219b9fe033b49fe349942b2fbe3a992c61487d04f56bf7c6f4997e800bfd9d7529ad7725503f1f7c536ac2ed4e45917729d6502e81e5d853bc7177782d270543cf78b8464fa032bb382ec8536dbf2b11a244962d435fed747b6ea225a24e4a7ce53b11f8b1272034c794418b4d75530602beaa5c847c5273e4aae088321ba82ffd6b4ba6f02f37d033486acce95fb9c3c7d1ee49355cf6b1a685ba231ea85b61159ef3e82c856abb303a66d9157c4713732044d383608a20f8597d7afa91140ce19c0a66966f6ab49cb03803ddaf83acf2effac848645d6dc3c05e08841bb80c1b74c37ede2a356c804a203278497b8f72c0214e83cbbba3f33590c923bcd630285d1371dd5b9f1ef38dd7f0305af85b4e3c6ed32a7cba6aeecb0e94f6ab12042be66ff32d4192a5f714f1226031a517798805e3a4a6cf4d82cf53ac48a75a4c71749091556b003f7789d0692b5035fd749c7adb058db08f2e7619bf3b538a06a88cf0d3f8fa7ce26a6443ef4c4560219ffff032849ae5d29bbc0e7fea63d1bd6ea2d786799e1259f684916ac71c350172fd69f034f5a98562e781465e18ad20c56879505b3ed6f6a8378fcf26ff8e21db7771a6a0326639bb5a4f1d8f05e374dbc902b9eb3faaa65afe6b63e3b93d535a0d87b5fc103478f57708736e8cc6930fa52eba18056ca3376f8b0e1a9058e68716583f3d2b8030ae47c51929e26ebb3f7f2566b3837e9fa1fc6f179368772d74c51d8dee93cad039740d49577c693d0d196070c0c8ffabcdb62c4e5298232e26cbf9199233afc9403774582d4ed4d77c095cb2e2c5b9f8620cfc4344d0d921483ea30ad2f551952d0033ef220b08ae955715ac66770a6a3ac8e85ba2ac5113a3eeb8463a1a637e77f2e032d01d4a6dfaef092fa13a37626bab6150b8d39694fb30a1b71792da9a7485cb4005820037e869ea8c4a3c6a4316cfe364771d0cabb714c805d844f2a0e2e42712ddaf04a08710d1c44a99e0884e50058200325c1b87d3773c3b6534d9fa99f4276b0c5743aa88632cd35d42b89471c76505820fffffffffffffffffffffffffffffffffffffffffffeb657d45311026f1276080058200337e5776e3e81a73d2c3955b6c708422cf8e20ff346f4a3caa9dcb58d860ad05820ffffffffffffffffffffffffffffffffffffffffffffbbc9919a37653eebffff038189c174834204ad8f4150774cfee3106f3287627c416b731de624d83cce8bb300582003164f3459b5410abe4315cd48a4329987f8e1adf92fab54aca8bbca847116704a0774042bc5edbeafbe3100582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09004105021921f203f083ec6834b876225a2915f8f14a3383e2690bc801cb923b13a7286bb799d1ab03407bed53416b68197584c4a9f5066f3ca9c5070c0eebb38b0bc44f6ec4617ec403f3d25543f4d6c9b40aa4ec39366a16571f35f9edf182ab91e08386e198bd377a03c6ab145809e285abc1594d2ea1026e335676f137e94c47882d545e7b8e1a3e3c035e306febbbe1bf8c39e0ba2eb5bcc923f3f3f6f0da6c9b77310ebb2da89e50dc03d44b1a7ba9a52cb9788c837890c7e89de4c4a96be254b88adbaec46489fbe5aa03aa1fe6c16bdadcfff4ca43c14fdd937b7492773640723c5119906b67d9963e4403c80a73e9723ef3a82d78e4dc59df4dff7d6ad323ec8ecd273174836ee546fd7e03505f89f80888cf8e672c84249b20ff0215a23cadf448856e98d706201c9a1ed00219ffff03709efd8ea17b36eb73ddde5e1f3ec256f159bbb9d06c5e19eb9c34f1b4fbd3a8030a868c6e4d6d8eb43a9a88fd2a31ca577c02880c822dd207520438dad422515d03a908bdb824e6b6026fb2a08bea121c16b37acde3fe3c079705520d08f124f5bb032a8cee227d8cba789af54f38518c211abe7a1ed2cc9f1b92c979c0ebeaa668c303718d7b638d11259cf9c95a3f6a5471e9a7299b08e82c5d75b785c9c1ca2b98d203e914335e4d4907aa7c664814047dc2f07b66652d448eda622c38a9b2cd01f11303f7f34d6679ea859a2a50e1d3044cffd0dac5f2942c21cb5dffd890a92b1fbbda03c8633f58a2b00b8593615494c67794a2ce143ba4860471f9544fb883e764e0fe0339ad373506f027d1da4e76a9d6e8817cc28f141e37875d4655179163927a82b503dbd0a01cb20730ff8b8f9f30ee4ca969a5777e94047bdd723c4b530b3020511a033546c04062a1a90a5afbe3f2094e53ef7fb66b569b11ba731e0c875a8b858a770310cde1a9dc568b23f176a738ccb2954c59ffa3e5d3775f14d79f35bc0728afd60300a908793d2654ffc3306d72e7da853ff8c8570689fcb1870446766c6e9da79f03fb50adaadd710a447ea0bbbb0d93fcec39af7fbffc2012174a2d92a16c0e89dd0384035d98302a6b4ab38a832b8c84815e9b54503f5daa2052490b83a1ada2607a005820034c9f455e0486081e6f3ce32e0eb3499fcf798def1dd9e69d9ec95b677259004a14c2aa0402df36355d7c032f416fdc5d1bb347de86c9f19c8850561926f33c58699a4ff04a8ee8a85b193b014103035604112982e192ce6865e0b3dbbc5a7fe5abb9dc7409b6778605a50126550e6c00582003b152e99b237ae933a1a63298a3e8a892a1aa062be460480bcb1d87118233205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031a4f0d5b5404102daec6d4948105637025cad4512f54a3c0c80ed140b2399a7e005820033bf70f076398ac974aebc309b102097967c267dc254516b2aaedd02585abc05820ffffffffffffffffffffffffffffffffffffffffffffea209fa1f919fde1b26500582003e0a116c3240183d62833f0c48996ecf6540eb44dd6b95fa6f0d1c4b58572805820ffffffffffffffffffffffffffffffffffffffffffff8b8870b4a8e3b43fffff02192de5005820032b8678bda7a1606854a8633b2ba91c7222e6492b678668e8b88fb4594802905820ffffffffffffffffffffffffffffffffffffffffffff8c7f8739b3f3d2b8dbd100581f0208e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802410500581f0274c39e02af36e52cb72a130088132e92b7732fed2f0fcc34fb9947683dc74a017d8eb538a26028f85600581f02494cbcd8643c81db2ae08aa2f3ffaef9c856812d2bf0e526116084766d315820fffffffffffffffffffffffffffffffffffffffffffe653063a72084eb7fffff0219210203154fbf41e9fc65ace3624d75a0edb690fafe2f33da9986337df84e3040c7e21b03ca0d55d6cac2137fd850d80390327fc6b989fda6962237a282845eaf322fc0190343ad941cf952657c962763da3e0ab51b8533e8c9258984da6fd1e918d879a31400582003cba515212cf942dda4d02c436120d94e7200ae66e2f1ce8cb748bb5eb17f305820ffffffffffffffffffffffffffffffffffffffffffffe5573bd86fa1363299ed03b3f6b2e2f43ca15071f0652ecdba977ed61fa958038ebb1b355a3ff8f49300cb00582003677858e810a40a69f7cd1ac65af11ec4109879803e4a8188f8fa63a6cd91504651dac207a00000582003b33006ca01caa70ba8418b83c19a2a40af94778daf4457cef1c0f5234bf7d05820ffffffffffffffffffffffffffffffffffffffffffff8117f5bbc55d4104a2c700582003cd69ce6883cec31b227f66344ee62fbf8b236afb48b55ffc8cd7f77b66bc205820fffffffffffffffffffffffffffffffffffffffffffa26aaf45b245578f6ee50005820030486d07442ef569ce57324d4581ec54b752a211fe70ad858ec5b455027b8b05820ffffffffffffffffffffffffffffffffffffffffffffc8ba3359bb2f9975bc1b03194bd8668cd7b5aac56459a3282888d478986124b9c92b644507aaec79a05bc00334923637bb5b7c72bec69600e3eb0f5106a1353f4fad59260ffab4960572fefd0219f6fb03b451a87392ef40d2d32395780e50a0b295c3db9566d359a36eacdea36a89d19d03e56cd351c610ba19b6399a8cbeeca22f302f2aa05116494d0276dc6cc9a6c8110219ffff03f6bcb488464ba7ca6771150fe1b10db54735618438abd79282cbbc0b69f0491f0349b38619d7aae2f2a9b7d49844fd61bb2b6f65d5850c392f006d18fdebbcaf0200582003a2b83bbd4dc0eea069ba2cf0625ae4b9469291fee6850e750c853becd9fc005820ffffffffffffffffffffffffffffffffffffffffffffcdcf7275518c5108390e00582003fd1ee55c3ee50316d907ce5828edf5dfbdbf7f2e269b1a8b7d740c21130e104a01cd2cdd3b8b150d15340319307f9408f5be5bc9f9ff2fcdb9a09054d2fa7c0511a73a5e3c27d7493e351e03a3bd0ffe95a9e3cd0fde7ec7358d8d711f484ea7dd20d3d4e8a63d33ad47267903ab44f10c355cb780795a43b2d0d2ede00984e073503b793a68b5c55ae4351428033e4331e93eabdaf3b6a4de1568f0d6ed44d30355f0ae8c9a3c0357155295c91f00582003b87a73c5a69c03c53b8534656ac07ef1203ca87df77489f7639b7a7c86f0404b069e10de76676d080000000058200376333c97e62d83ec0b82f1f83da785111475a2f84f8bc1e4750d119eeb11904a024c38c7b448c1b337460386c1fd29f6fcb97290082951d10813c6ff718f0796cfe899421e3d2dc5774b7500582003bdf80a0cc2a697dc67762f1924a1e0f3e01e227d53b4f710e18606db32abd04a0f4a5c24f22a5bad00b500582003fb8869b2f28f098df88c67b81eaed986db596cd8a25851484c0af75fe80f105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219f5ea0326daf70386d2662025d8bf7610ea2105f39cb532e2792e552aa84f1d4f6cb38803f0a0584af11807ec1a238539fff5998db1304c332e08719d391ffa7574b5fdf50353ba7997de19f6f839d8ac156f056cc428aca4b989c4dccc1ffc3ad8d5401e67038ebd6501c6b0cd40b3cb2f8fc4bf050907964a0411f3db8993d3d9436325778f03a61ac6ab8bbbc0fe521e238374fdeba7503c85104573e0f8e6b366e861eddb480336a4123bc65251387fb3ad1622e77d5feb42c624eea7512c0fe780a957bd29de039d2e53cff99833095a3832f8bddb7f1c338625ec201f51341b49bf404ae1223f03fead9c4322fe56c55aca605b1d7a4c38e98d03a76f3c9eebdb27afe168871f0a033fa0ef3346e31291e63ccc1d388dd5b37df904bb5d4ae448a8281a0cd3142cca03cc5cbadcffe107c0f4aae251b1aa0a0324f44c99773a8506b7a42809fe47ad7f0318854c4c89b1adc0e9b7a56a1040d32e87da0858b9d74b19a9a16c4513dd882a037a52f60f8871ab980577d892d3d8e68df1edb5d34a86cbb649e3f3ae86e0e3ec031778933156d60e6e50f5a573cd9da483dbc57178c34a5bdb9d58b072377cb2600219ffff03fa4b67094754975468f99d3aa21cdc073e343e6bacc1ccc898568bede501da8c034b1f122534879dd43a0339a3de765b5f1c006f225a574bc692b7b1f7c022109403ee84ecf8b6bfcb92c6919526e42d9e674a0c42208b3babab956639516897ce9a03ae1e4ed2e87b6edae45a3d5647705296f673800f75c6a7cc2bc2704c7155132103e1c6c6f3904f0e69ed4f1811ef51f842e62b1bab734332f4e9e5570250b1f43403a37f86c1b55d383c09313f10f7f079f577184925a785b88a009c48ee80f3048e005820037a431049e4cfd0b1e6d0f604304d0c8ebda5c4557d241283d04c0b4ae010505820ffffffffffffffffffffffffffffffffffffffffffff21dec6d98136e047ef4b03dd1c3cb02756e850d1144791507ca0a0bcd960d0d84cac17ff9f99f035eb445800582003c1d45890ad6a3f5664fc465b6d2c7e06eee28d583fc113c5390c29b43f7ec04a1e45c55168310aa225cb0318be0d6c63c612a3d8a8b72f8a63f74b4432820f51aa53edaa5a64a6c334fd5600582003bbdb2f57c9d9deb008756a1d3e15cb800fdce7a1705ff1f6f2d4f51f828ab04a06abdd185a64b0b80cd300581f02f385397657553596b78ae2490cb59ae9a09669d2b29b17045dfae4e873435820fffffffffffffffffffffffffffffffffffffffffffeafc59eac20de264f3b1400581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6884b108b2a2c280290940000000219102000582003d4b73564ebd7f324adfe134f93ecf536580100aacecc2225c831ca8ff239105820ffffffffffffffffffffffffffffffffffffffffffffa5778b8ce5d3f0a8dc5f00582003e554004907f292e1ef57fc5e53a61bd5f2ea85bd1092806bb216a9ff1343505820fffffffffffffffffffffffffffffffffffffffffffd2391018beadf3efa5d220337890099f066f1343bdd5eb0055751b949dd226a2c44388f38c9e4729c8ac8e300582003e4a3e0a80bc9bd998138fdbb0cbefa811392da26aa8dde6b122ff0c57d4a804a113c284cc61d6cd2e7be0058200318577450388366a76ecf5335775e0dc12e8734644e8e5afae2eb7928366b004a04817bee54e203d02204005820030f87cd0e87ac39c9896db5bbee449e55a016fa27ffac8aa195cc2c85c1eac05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ee7d035649ea8150819516b6eaf6725f790338c6d0b1ef66ed473815debb5a130913b90325e71ff61fa0970f11242da388f12828a2b43ef63bd28a8d1b6939d014b9f6fa031749809c571531280beb46590bf7818810ccc357597b01d98b98482cbfa6773b030f04996bae83f702bf9a2def2c95b65cf6a1ca7effa35af187e8ed6f6069ffbd0381a15d47698726bac27997566e56b0b7260a76682de00a30e1027fdf19e6c4b10320f642753e925ed2f5e3fc78a456f6c0f33fcd12af256a8ee8e922212bb77d46030500d19e2962167a6ab927ed098589aa6a6bc0e504ee628d4ee66d8f0604e7d303a236617c839051ec39e1631b42c982946394b3bc0bc5934de7227b50683e388a03c4b3d10edab6983b75b036327bdf215921abf36c76398e062f691e8b8ac990da0219ffff03419b21cd405a3fd0e5152aba80bfe876a57203282ad6ba8f7230fa4894cf923b038d333f46324943f81aafa5cfc6777c81f39e12798efbda40c98eaca6a6977b3e03f3b38c1474096ba431a190eda935524cb20d2b3d6f1cbbe963027fcd3964106803d81f81099a1475ab4b5b47f2217ae94bd36a7d0cac3018e6c77a65ec597fa2b10361a0a0624678f28d57020cdecba51638fcbdb508f42cb396bf6efc6d46f5f0eb0398663da0a837d011075ec76cd62559406283dc6dfebebb0155266c13dd03f58b033e37d27a5cded39d4dd7a7aeed7d21bcfd54480cd2c314f9f19efd718ff61ce503ad8c7b1c64e6945ba50ddb89245d22b1b817e337b3a9f18d9d6eba11f12e6d6803b71dfdda476b0cf03ea317598c2a6e7445e858c0575a6b265be8a83f15b06cbd03c8f16358f0d1dd0cedbbc4629006838d09ea6a877e48d80b624be0b1c175c56803e45df5847d3e7283ab327db38cb2fcf8c4b8d8a7b51cbc12666dae3abcf9e10f00582003b48025ee1197f755d6b341141dbe2469d1ccde6383341896738cce540946705820ffffffffffffffffffffffffffffffffffffffffffff2ceb30d308d46cb04bd700582003fce9e3a991a667970bd5e335efcc4d870fd961abccb055901e359fda31ebc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200381fd383a8525f2eb2932d6b895c12f6fcd49f453d50a237a1c5c6d1a1fa1605820fffffffffffffffffffffffffffffffffffffffffff9fc5cb8f7e136b70b48a80312c20866489cd17b2d6390b15af28d5afd3f1a4f86f8d18edf2a822cc83532b700581f026f92dc7c3a66f18110a593af1b9f5cf085f99a430fa48a2af738e8f6b34a5820fffffffffffffffffffffffffffffffffffffffffff9e9cc112bad2f7a2ad89000581f024a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd41050219082003265fc8fd01f30a2463c0027751ae29eed8cc5967d5c2d3612f98a4d76b503b63032309c2a30e0a2ba4c92a82630ed6e76bd9476a69b7c1763af081718f84b77f97037da7ab0f49365d069c305485f3bbf78e716afd14839291390805fb6a0ee488930354970c73b54a6b96c212db6464261aece1ce06c3ac34723e9531ded4a812d61d00582003a783b16ee2f9c696cd530a5343d4859f884dbf97e89f97a26f1066920ae7005820ffffffffffffffffffffffffffffffffffffffffffffdec8d95930caa29528510378924a52dfc44071bc85f7fc1252adccc9c14165709ae573e1a735bb5087ea790219f6b60322969ce006d70f32d496ba34e284c19e6cf0f6f533858b6e0b386295702b4e8603c6c5076ef5ae6a0986acf43121ab8fcca84880a7d2784096ecdeb2a26ff8dfaa03df73a05a403edd6cac52f64e5a5080c905c18fcc5bc0d4297f03d20f6b5abd1f0380eab352515a16850cb5c244b2cf3a70efa1a27c05760b33acb81e79a108de800219ffff0325333cb90972ccc2dbaec2be06fbb7f1ac2d212b93962e35fe70c263700bb7db03dc4a5112f8b888eac395baa1dd144a8e496ac11f43bd4afc92bfa9072421e9b703ee8e650ff5825c2c1eaf976ad0b70c6fadafedef5bc4aa5c2f6b393300a691e803fc0e472fbffb49004fcbbab6169225036338f764fa620a98268dfe8ef4cbac22034db46d8192ae60ee581c079a1d428902edb3aadeb083cde8abd37cd786a62c8803af8ba80768f689873e1774493b3e82098adbb9aceb705c41a22844ff236237fc005820038c474cf7bc36177617322967e317cb3bf1696263c12275f43efd665adafca0450a1f6a1110005820035972f7715183e71b91f8b6778ebcef85381a6f6ef9178aec55729530897c005820ffffffffffffffffffffffffffffffffffffffffffff8d36957b85c83e82c6af00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8042010103d80c6d96ef7b7ad8ae2f01d588089ce5280d3d7da9f3e1d29fa64f12a0d3c2b900582003ecfbd819c82a9f373844faba4c05f28b06a386c71cb1a209f2222052042f404a0c422d6c9d8ae5cc077103578ad2d727cc72459066351bcf61828f1f87a1cebf054c167f07f2ac1646a320005820037da2a59daedace6ed162942c3f2002ecf152481330afacedbaefb053808a404a043e9e50502b88cd1e7f00582003cb91472f49781ee5448cbb39f05fa252c4cb5d6d66b710d00c13091294049044de8409f1005820038698ab47559034596b5f1b91bb4066e0b3aa4ecec6356d728b98e2936bead05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0394887aa6139db1a6e1c418e50a3c3562a0c6b2e4f222d5b5756d763da96c490702196bf203607fa68be18f3c9c9d0c002f2bf1f63100218434af7ed8884c40c965e506c24a039f8a3cba8e2ca01be695a85e74cb145760203b136b93e99cd56bf404a0a45c0c032b49130a2ec17befa58775c9dc53a2bcbe7cb96fd88203b3f51ef20ea2984fba03cb04da15adc3101c6de1dda2fb7c2ccdd03c1d8ef0ed691083d0a6cebc447ff703615b38f3d3b25f6df8ec82b8efffd7dddf85e1d04c204c290178eee6d174dea403f432935ddd3e3708d9bef449cc9fb4f2abfd74799de6fb4c69f8e6e357668e8f033249ad97cd1583a1f5766dcf752e84c74d4182b8acf2cf330a44380e086a6334034ca495667ef7d87c196542c3fc667052e76d60c386c68018bc220da3d2fdb1cb031a7442c58fb559ccedae7eec7d581b1add1a24249532a358e7696ba237560f8b0058200359da13eec74564295df5bd28134d47009f9c275bcee49458b65f2e41e06cf04b04232477a03c94e92f3b8000582003f5ec97f15d318805c29a446a27ff732a1b47605cae2d18c4f0648280ac6ab05820ffffffffffffffffffffffffffffffffffffffffffffbf5a830d8ced318f248f00582003418caf926fca93ed0b6bcba0009ac5c4ad66344fe9967a3efcbd8f207b95d0497f5debc2862879432c00581f02c99bbc118b3697d66cbfd088ed3c3112dd70e25b1e39bae2dc58c13bd95e5820ffffffffffffffffffffffffffffffffffffffffffffb4d36954069c481fffff00581f0248a74d04759f7ae98ae7afed80aeb3e2fdbf6475eefe95251a3fbc8d70665820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02d298c9037630f8f5b2698d2213ce4207c9ce91c7e74b9086abfb8560dc214a170dd93259df95050b6a0219190003c2f1510b32e7157625d92330170da2a384c198c968515ecd5d0e68e53214a96d00582003622021388e935c7c0520e926ea43d5c3c3c1e042df555e64a6e8a9f2c24c404b054e6b3ee74da0359aa538005820038d52925831d835b1e6ce3f06ef042c35832eb97741eb702a156a76639050f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e19d28e232bc8b6c095ba6edb500b34ea663c06d40aa8066e6246318a1a5405820fffffffffffffffffffffffffffffffffffffffffffff46d1ecc225827153d6b03e4fd75ab3214be8fa5459fefde19a68b76b9a22ba620c7df72e1aebe4b98505d0219bba90219ffff03d36f733e7f8ada1c54d814ee729eb183bb60eae33d81df860985c86bfa35937200582003d69519b062a0a9effe3d7a63bff0da4ff85ca3da449816b65e3edc0fb798004a0c6e13f97ba8cd1b6215005820035b23e5222a560ac355e7f8decb7ff575e18772d1cd61806be1d02afb5aa1304b02117130219c02b5c7f9b300582003d768f4ee0c52c53a639c0c2fb0e8b22759caaeab8a32a283676653b89278b05820ffffffffffffffffffffffffffffffffffffffffffef305bc2cf6d5498477efb00582003dbac94e2ca7a0e0f81bda4f2724055506a964898c279119fa83dd1cd997f504a04c480e9cdcb71ec965500582003984d05359ed6ca033eba2f1d4bc658909a9e87e03a0db2191712bc27dabc405820ffffffffffffffffffffffffffffffffffffffffffffc25b30b300c05364de8700581f0280225416c3210056ff0cd86a166cde2cb62cfce0dfcf07557226fb09374f5820fffffffffffffffffffffffffffffffffffffffffffcf714d4307a880bcf9a2f00581f0287e0ef2881034a331ef99132dec5081904cf970f6020f705d6f121e9c15e5820ffffffffffffffffffffffffffffffffffffffffffffd7660d9e494b1ded03e7021910080219da8103d15010f68902be62c53e4c370c9498c10bbd72b73f0536be34ba99438f52cfea0355b8b1a118f1024e115d918ac93283ce5f42c73c84c9fdcfa06c84b415cd5b84032136da904639d2d30035e980618f839d2c0e3490a4d4101708fab3145d12738203dd522a446a46c29062c170222b1c18f73cde7eae6ec924082645b70db7a94d0003a871369b8676077867f8fcefc7ae90c1c314fb97604b6855af528d7a6c2e663d03091f9c3bc7c9bb3e040030b602cc3757c08b78abbe1be546336cbfea7e34af5d00582003da3c29c76e4c372eaa394804ffc14831577c3315bc1cf8f8156be6029ce6c05820ffffffffffffffffffffffffffffffffffffffffffffd4dde3860d2ba433ffff03021d91b4fcfd1520201ba39d9e8e79372aac4838632d2aca012ce843c602a25900582003b7d81e278ba0ab1bc814f33ef919a57d47c013b96605e55045aff7c1cc50705820ffffffffffffffffffffffffffffffffffffffffffff42ffa04b006a1d9048a503a965ad742ccdd5d36a6075eb432f120cc3827fa212b2a0b8e4abd7a326e0e65200582003bc1efde06b8d70f2e7552085c9fe8e848f12cfbfafbb57bfe3940b17d3aab0480ca65a12265306be00582003191d51ccd0b08d1dd80753800122ddd098259acea8f4cbbe3a156ca3fe2c904b26415b09d48b3d92f0880d005820031734a76cc5d262b4028cac7477d4a6f9aa7f57c9df1648c08048d78b8da3705820fffffffffffffffffffffffffffffffffffffffffff1382190af8c96929d6bed03a2c2ee570fbe2edde8b3c4ce10c307f3d1b0ab74c3badb52b5991ca06f12a4c403f1af349b9893ca93ba9c8b4c07af0eb3956c51de3fbd0895e692d31f70f734c800582003521a8e8687a87426a7ea4718bb44f9b3e9f311b94af51165115a1d97ef8e9049c9dea7c356cbba54bb0058200365173804c4a2655c34e86e2e6fbd94df98eb59af938954f31ccb0eb29ba6105820ffffffffffffffffffffffffffffffffffffffffffff0dc4420a9446d69d1ca203ca627965faef9b428a82ec01343a13859dde63d74c058d183433a0c00a23544c014106032c3b794c505a4d247f18ee78a7379d81d292344d665724c302ec4c77c1a10f750219f7fe03fde92299d547ca4db39218de6cdf978c7b4b11cc6c4a508128eb8231986211590399f951d85ea0e98273d91725aa2c2c5cc9628068e508812991ac0cf67c7784ba031d0766c83943e0ba61f1ada31fa90d98b2ff7abc5e85cb08a33ba563ccb2681403698d01a36f304590760e98a7e92f5e648a8106aa7be5a85b913f7740473d981f005820037a19e0c7a1323c13429950aee84974af33b3251b570d8ea9c1abb514b129105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0358deeb363da0afd142b944adb6ba260249cd5bd7b652cc5262aa7a9e6b35e68903fc2e70f02dac1660b95d27980852a493e3d2e5748da9a136a464b877429f9979005820032257f6623b68ab329c6c0d7fa26c5fb66a7634ac51385da37e64b1ab70f2904a185a29990fe301e00000039b9bc04b521544f4c7e71d31a6a7d6f87762fea96e6b82d0bf4f48243c6717510058200351adbb3c5b1925019e37bbb026f49a68be243de754f3f67b8e13784e2ac7c05820fffffffffffffffffffffffffffffffffffffffffffde764876baa4c832afe3f03e8d195ea7e5c4db11c4da4854f6248162d45cdfa55b9f1d97032b71a045e46ca038d8f692007ba067cfdfe33db7d469c500f68096f3b8a186a4a53139a186c364500582003b0c5fd175837af6dd9d9701a243f885b9f6600692b241c123e2a05bb72c1d04a02364802ba0bc4d2c000037c42f6f59f7e6c58e1cbf9133a619cd3ba2204a693fecdc8b3f1c773a831741b005820031e91d650ea3e1a2df8790ffadcdab1f0948f3aa85b1e7871b4a7c8c5c67cf049011898c0000000000000582003ae46f1a4253b06735537157e686b963443d3a578bb9504c9cc0f9c556ee4b04a2f39f2644b32ce2df34b0219ef37031de9e7a931b269b8a0fece6e6a9659b4801aa3050694d5405a564786bf5e33200367bf9bc19f1b487945d3c85629ad1ad7ca1dc0015acfa51be2447341c6abebb2035ef073aee2d838d559ccb924831a6dced74e10e07fc6793eaa1c1a0a221f628803599b7f644a4df85087295948834ee4d3c5aa3f30b91b6f545e4d5c0b53cda6ba0219ffff0365ba0a12e7505bc699115e83ada90771cea2a0d6afe643613f11530520aeb69403bb867d331d56f9377d1c9095605cfcba2dff2e77b7c085cc8de3e9c8d0fa648803ccd84904783c881b56f853da584a76bce0f0cea87f39efc198557fd509ac10ae03368fa5788ce1fd3320a3dc75597614b815430b1857fea90149bab9831652c6860357001eb64bbffec6f2e808701c3c16cda6386f1b67c2698ca9c49d1ec669621a038f3e9d31bdf96ddf585820ff7e18b007fcf9df697373f6acdf9eb791b2f93826030ee74650be9fec782bfb837486e7073c601061329b46306ee5b6745d24dd362203ffb498b8ded2942ffd2ed7be10a1a8aab25cdf0ff72cfa2a36e59f925066b9360344ed64f9040c27f49126681f11268a2a01dd86a6d122d9d58d9edcc6f33d1d8403a320f2ab70c33991515876021ab89c23be30268fdd9ba25477ab434ee63eae5c031eead224bfcb6357fbd7874cc0206c78c10a84ae269d16ee5b94beab1a84fba80396c8d206bff91f7a6e978defcb3bb8ae49a7935e9a8fca5b9f400c9ea051485403dd530784396ae51f5779fd13e91726ae48b1d1ac054a1d48cf524d01a2d5198903a169f39dd6b5202f5a65ba4f0d5efaee25a3f20c78581da4760d27c05bcaaef703376634d6466e935db774583dd44d24fcac8a7ec4fb678c38737012c5df3c8f62005820036c6caa4f5bde40f8c0d33891f3cd41ecac0e82467230f014af30526bdf03c05820fffffffffffffffffffffffffffffffffffffffffff070d3db55c33847bfffff03065a5c47304746a0895dac92afdbf7443002286732c6b2fcc370a42ed46add5400582003dfb132ff77d07dda39b615f86f64920e630093419c35afa50d8a40ef2e5d905820ffffffffffffffffffffffffffffffffffffffffffffd41ca8797371d2d1cb8c00581f02a0021b975cf36c2aa8dd86f552b50e565481614e83d89fa52f4d726a78a84a62b337c5f6cb5785674b00581f0216257f42f073551300681211b37a0827072a49b514f735c567d58e3a1ac55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020e46dbcfba097d0fea4d352bf93612a89d35076165d05bf6fd032590c8c15820fffffffffffffffffffffffffffffffffffffffffffbdec3617c57fc95ed040e02182903254a041cd09bc44306d86d7b25eac4a6d7f326405b07877d4709faea73ba1e4c00582003fe51ab051235e9026250e0ec7397a3c3d2b89d775e56554e2499e8798ace704af46a86af6687650b1b630058200319c2586ff3c7b2b83d2bbc3d53c79daef236c9ff7ac1453456a0721a5bc0904a0879ea9090cf955dc4be005820030097b9c1f038bd8faae1fffd7c23115424fbf2e7961d2a4bb6b2c03af232a04a30ef3d0f0b7f2c2bef820058200394649fc285f70ba022c2949f25c44769c20f937298cfe0a21acf21ab5a76005820fffffffffffffffffffffffffffffffffffffffffff16d1d3b4ce969b94476d4005820038afc87b7699b88a705f2ac4e685fca7c650bb3e689ff2108a39750dc7143c04a93d6b017a63c5a8d84890219bde80219ffff033d4bcf73a668489fb95cf017ada10b57da0c6b91679bfa037b026e0bc0e60bbf0306a7254095a3d9b1874d9555c41066c101e3d0b85ab9b2aaedaac076fd55075e038c98d73b16862e59ed50bf49a9ce0dce47b1bb0629b7aca8adf37f212decfa53005820039200f73b362a9cd9b3fca8f5093eaa33fd150d4f02bb495c9e41aa14635d004a076a99286d2d627dd8f9005820037a1b725e65f3c82f6ba7b04b2e314ed405e6eda4da89ddb0198e6dfb19d7805820ffffffffffffffffffffffffffffffffffffffffffffb025119430d3d496b058030020470980de67cc175b303106c5d61071aaf3ed28017d20c6918f53fc5b3d5d00582003e545423548e72bd0cb716c39fb9c2e49ccf08ba3392b827f138029bbe5d7205820fffffffffffffffffffffffffffffffffffffffffffec863342871c4c5e6d5e500582003e409e2b28d46f3566ac7cceb1b3df0e3fe2da4c94cd473a224eabfbc4902105820ffffffffffffffffffffffffffffffffffffffffffffdce6368b1f7968ceb20d005820037f400b99b5b0f4567ee5080fe385013a7223ffde6208e9971b620c726831404b036639b6c5b178c5ed226f0058200348dfe18ef139ac0b3dc04a6c2ca7268b2fe2d25cfa3d95379ddcf29a4d81005820fffffffffffffffffffffffffffffffffffffffffffffbfa02081a507a1fffff005820030e44451c9953a80f4b0de2189b4f2f1adafea5d06ee8722e3a85f5b77cc8a05820fffffffffffffffffffffffffffffffffffffffffffe3adb67a0690f6d27ae8400582003faf7b922c6444bcf9e12c17dba4d33dbedaac4b7de5431afe822327aa405205820ffffffffffffffffffffffffffffffffffffffffffff92e079acdc061cc9e5de03ec91ab519187e80860eda39cc9474bde755bd19de3676344c3b07c002e9c6022035294dd72dd3e0f595f670740f418393190a3c53b52b6aabd2a18abfd0c6e620e00582003fa298f6237bfc56e1c1acae481eb5b20e696b92262de3ee85eef1f02fb5a405820fffffffffffffffffffffffffffffffffffffffffff6188d766cd6e43878219b005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee304a69e10de76676d08000000219f3ef03369fd16dd2fe32879e20c822f304dd3034f1ed1cca8bc097f70e2dd07a7089eb0352a6a19852cae49933fcd3ddf04bcffaeb7fe497575355fbb29beadf395be2c603cde43db965ec2b4308f9f202a0390efaa1579a07644563c792e95d1d7891a2e90396c568be82dc92b53e1527b1f618d85c1bd747b749435bedd7434a0be7dcb8a603d16637169e8df693099dadf4c78c2135f1e50e7d01e60662338c6d4fe369012a03d9dbcb95bb9dce9428ef69af97ed7aac26309280da0be6c6fd0e2461bb6a72370395d882a7ff2d9070cb511e496252b0a474a3c63ec2e6f96e7697b83225b67ff4038a6cfccc705477e1b8e1ec92c0c57214085c7791c323b1ebad1fcb4f7000d5820362ed1b5b3207bd2c44164686cb79aaf530213dfca726ceedae901ea562479ebb033ea86073a49f2edde0a9f4be211635e8eba738c20773572298da7a82389d8dbe03aa391ddf2d80b09c6a8e8bd82350bdd42bf38a0831ad9977ccec6bbcd3397569033b4b76fd1e408d04edac7dc1c25a97b82ffa43bd704d83a08fa129f12e0ee0ee0219ffff0219ffff05581d02d3893c98acc0d92dcc79f199705e32ae734ab93dca6be24f29ba9b7507011947ae05581d02ba6cee63ae3ecf4271cb9ab2e113f968670946eb2503e173038c2ee70c024204000219180003ba5ae5103f3b74fce04d26f778d2eff898de54c6634d8feb0f1a174f5c24295a05581e03ecf3b447314205e2e12acbf7ef9374e64f12ff89ad5cdc8f748fa462400c014711f23d6c9142f70390692bbfc5ea25eabad3424df86813eb217e045f49b55f7a63c6d06898fd183e05581e031cb15ea37eecd3cb4f88738ef12357670699a9d8a63fdda6486e7abdc00c014749c68ed15bfc0002194fdf0380e402ce77d00c4c9da2903c8bca925f131db1b2744394bb993c998e3129d0480397d5c76fe74445e010aebee3a0e5698441bb7d2b92f10182e26549134baf79710219ffff03304549f871f49afe01853de731251233e2489b3b9c5701816cca535ba2c698250389b31b96c106f3364f227d0fdddd9f058055a46bb2540bd2c7d6261b9e7ab58b035888b14ecba6774962d05d729950e4169b48fc67d5c1db0417c2232521e9fc6903c9f75a2168b31c0e2c9307ce795aa225087150c17e81b9ce56d84bfcbb1a89f003828140932b1a8b643857fb86bf0b90ef3bde75aee6d8a34d45a89a4d3bcc78ff03fda2e03af65b94446bb4833931c9750aff469eaaaf4f363aef72a4266ab25a62031d36328391e6a8c1f4180bc47faf9bcfe16b7e2071b336671ce85bd94931db150219ffff0369c91be85ac3a5fac1682a4db4254e7dd2707760f58d6636c2fe14eee6f62eea0219ffff03804b0e475a54da75e575d357e1eb57768d64a037139c5cd7d0ae20167f7ac86f035610496f827975766bbb11f6173086b1d24a31c8bb2ebf30efaae38e1bab01de03be68b5a71b1a39c80a370c26fa76edac8f0d48fc207d97d0e92c11af92c6d33f03245801c6e02710957ebaaafe8d11b6dc4901d81a52a405477d83b8eb41753ac703a394cf0b151f1b95ec1aa89daab3418e97bd778616f9c2dde6b39cc585830e9503ac2f3094450c52458c65b87918ffd3d8dd87de82648c568be1a8c30ef91983c20370274b614766bd49489fd23ed722e536aef9adb55af051b359ed2447a0bd5d3c0364b3f70cac8dbc4da2c145ff9d61cf7d561bcdd4d0e1b67d14acd05f0dfbaf50038312ae96bce2b42732bd4ee02f0603e079a2b849e8f57d8c316130b260ed30160311d626a0a8246bb78c1738be9eb679320f4fa8896bc18e9b81863cc1ba08abc103052881c94778c690615d54479c6cff82188724922fc00b8c820c0616f2c3635a03c4a07ccdb71f03d1d0cfe88677715aa5e6e3db9277e034bc379cc6df9911038803658e9d3f578f6b9869ba8b41206862545a2b858533b04d225a7cb7578c2c8cd403bf6c965bf71f58485e021b3b104faef444817933186c374e44632eb5a119b4a10377d636c6e210a4d3f1741ae82b0be81a2cfdbfb35b2f51ce61b6507e71922996032b9a83d901e7a875673349921bddf9772911eb70a280b5f2dab931e1e89f3fa303d12bc7ac03d331f925b35472f9c3250b3528531d191c6baccebe35d4107250e00353f8f8c80069ef30823de50c4cb539ca436101a2ea490e6b2e8ae5c56f91eec3030131f84b046a70cbc2e7d21dfc94e94e395a488e436be0411226fb17b56a92d003fe515abe6cffc772374ea645ff7ed2b533918d1b91a1e2166069c2c2a17f3589039c851c834ecdfeddc6d0ce0463d3aefa3fa1430bd06a8f81a1f950e2c9528b1c031680ade9539d8ffb0c4da76ecb1db1a24c515736153324826576a4748ac4774a03132d8092b21ba3b66cdff359c7a7bc7519b902b5e4c364e7ead762d7308b8725032922bbbd427378068e5dd73d591eb95d4271e2279fffecdd40616f4f7e5b89db05581e0310b44cd1b719ed66c34ecc2d970e8bbe62758ce97ef4085daa06b045d00c01460e877833460003f900359fc42815a1afb5dee3726b38a2a853e4d4e4c369339de230195d9cb61e03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03e6de76fea86241d5d04a6628aeb6225fdaf5ab0da5e2f1cfe30da4605007011bffffffffffffffff03ba911f4d94004d4fb8d05beaa663cf99cfe3b3100d41cd8e1dc2c8d9a3c37bda030bc31de369da6ef92d3ed1fbb71cf5252d6984955ac8bab0f61979e9d0bb5bd905581e03269108f82ddd1a9f436b830bec1e8484db9d9f7d1dbe29388e798ca630040105581e0343c567566f286fd702b56c811a74f8a32766aa02c18db9c0eeaa428a600c014609184e72a00005581e0399528de5b86b3fb58e845dd84a5a216c2f5b63a2ffcb42c97dd6dfd8400c024669d8b407fdb805581d0237d1e4a083686366291e7bc75ddbe3b21e845ab6248c6b8d120ad1a3040205581d02d92c295047a39552d4dbf9886e48a0ca6a9f1568daaa516a0435c7e00c0547861a181b82350a05581d0215c8e6ddffb3c17ced1f22d2de7772dd6afbd7517670e7cfce72504e0c01475d3ce80755ba490219c040039469b3f851cc64ba9a82eeace1a6064eb5e9966efe7bfbc0b18f844f59d5d1f305581e0368af08c03fb727124d49befe4a14feec1831426ce8456ef83b16dd86f00402032d0056895d8a2af89bc383aeb39b7edd6eb0f014daf19e861f04aedfffd6fdf40219fa6f03b61a9480a6e82305c028c41cddd1922998a62d182afccb4d923ab93270df88e5032644794372742c2235db6d77da3a34f862842db83343571a2999bf8a160214e503a0fde6cb3a5003488c0977141d0eb58fd6f55cd9fa9ef9626932a7ede88edc79035f91693dcfd68e7d8d9aff6515802dd911cc0c337a296c4938f1e47d4b61494f03df0272ab2b6b2fbcd04939313cf08223470d9dc11d547021b6dc65f94e52a72c0396be602c8191a593bae887ccc7bd21de4d1610625d4667c7bf715d60de3bcd870341439d31a895adde09dd77f0637bebae96725adc7d3e6215df95e6e6b16e91c203e14280d6ab84893a79c7147b32d9014181b8043760200238f29fe1ca067c5dbb03ac5d9b07582194bee24fb5db9a9ecda8aa44bc71c577fbfdbcaecd9c831b09da0219ffff03337b0fbe770e4605f4394f95bf285fc37bf4ba3a57b330cb468eb14d1d7d7a240303b20abe6eb0b274f2379e6bcb54c1db3da13b91a1e0cfcd9b9e6fc4e1e2e10d0327c052a5faa0b1c1c00954a2be76adceaa62484e062ad1befc2b376543ccc2ab030820f9d729c60b66988c3d0cc782690cac9f0c960234d42f3ed42fee5527be12031439c9fa9e5b738d996cb158ef834821fa32ab79ed24664c656d77cb3f36c8fb038e06931699834fe482e9bcbbf02ea72ff5d5c345ca750bb3a21020f820d4aba7033e6df97bab5a54de9c96e3e19999b2808a0684c67b48318e0143fca09997e72c0368447c27eaf48437b20b5b265b18153e68dc99df756189df1afb3e13ce4ff3190309b6fda07c232dca7d45f72c17d21a131c92dceaf75f2f8a56a73bae030534190219ffff03b891d65a68ee915f4d17f641d41d1ec51d88a0a017cd56d30c221ba92e51686603163c716570024d10c8239481cf41ec3d008efdef1b287e9b3891ca6cef8164f7039e30d2cd5746bb2b5c268fc9df54d5a81c7e3eaa34be36973fa04b9461175e490388e7a5273e78cad27182bd9085d0267439335e57f4c60ce50d79e9cf940b482903d3120613feac7f83ccc2a1ff2e999e86be86aeb32ba9b2a086406c6151c2a95f037d0bf7e736b14791775daaed555c77b5e5a233530906b6a8d083ff28ef182457035fc6c6d10831a9e82b32dde44573968cb61180460f35b053f92d02a998d728af0372b1d87c6ea7904599bf1311146334260f5b30cec2bb309d3b5562fdd3c164be0374e51b7d8ea0ac50c6f1be4608cee1a20f833f55e7a13a317ec66c6927e3478f038e86cc4aa0dae2204642e1661ba8175820b216d86c647d2b9d17e90021d6446203bfff595215c5bda3ab6349201cf07d4862868dc839907a4deb8bf6c505fe16110219ffff03403ed7b6fa1af5d33689ca07896f04b8c94755261ac6f37f711684ee4ed2330d0219ffff03ef274059767c99fa02c3e10a386889d067f7ff52da51ca4807a6917c1c31de82039efbcbefe6dc65630edd45aa777187c4f2aba1db242c07fa36be29a8db248366031bb74a330c6cf0bd5aad434e7328935dc892ed46972b7529bb317d790036afcd0334e5c999b4db5e45ef35650eee5264e23c3c5246fb5db75863f9e51058d5da65032ecaaa72e527605ddf7d99a0e0205e97fbaa5e86d79e55e5e7adaf6b298c40bd030cef02e2e149aa8499a95b7cdaec5fb17a4308f25e52c8e06ce7352d7b67474c0366a13814ba23bbb41ee0f32168d75a750c7900c0e1ef39bffa27c66f4443fc7203e3c1c7dce11adc02e66e7d844ef0badd3b2af4d985a5276b3ff52f1c7a01521003b5557e4d3bbc9813c031524285fbd76e6546a485f951307e05446559436233910381dae4a719321094ce297d3acdebfbfaae9b1ee036bd56724a5748f449e2fbec032099f79d44276c036190739a4ec302899ffd074118f2ea1b9bab1a908332609703a13b983758c30d7a010d2b4ad59e9b86081a0acf4d96b7b0e68f9fdfa2eeef66032bbab072c771f0728136deaeb22c1e3fe57923aab4b40eb2357d9a8f986be9e303ff15435d1fc74c9dc24b2cf24f1318c02e34a21a224771521af0633ce99cfb4d03ac4b276bbd2c1cf35b597984549e3d38afdf3fe48322a2953fd752fdde631ef40331d776fe940665e4a9bcac0e7d360dba191a869d6667247d30c38b93b557b27003e8ff6bb2e9fd74b9af0eaf6346d1100c897cb6c46cbf07e9bbe2b1480892c97b0384dc87c44de3b9f208b85d06f5b8f45ada51ca743dbef7febc74388c3ce27d49032945a40f6163764b017f2818994a4a60a9024a95d6e35f03584982369b713fe6035044996d6db37e91dce0b52e5d515c1cf3425bf79f8ec4ca167ec75a278d4a7203ce1613f793bd386c49f0da2e5d58b74f6fa7719e5b00471b1eeefd22722503850363650378dd247fb2e736eebd415a7ded1fda5e2e980a90540790f9ab3a895363031177f83cc4c6ded36c43c85754a7fad501e5cf7e48e88516aba0ba2b23e377e003b1e1c072bad8fa20fca0a84339b52583de12543225033291cecb51f372119eff0391d1007cd8cf5a84b15e962a53a5059d6d620328ac84295916989f135ec7a5990386e950f8cfd3bd16dfd0a181d88d55665524498a046783643d2216adefad0b9c03a247f31b78b78a47a5c1128fbf5428730b1f1f80c95df8c7c9d3450aceaa191203caa47c9f62daa4b3d9e03d47e7a0df1479a1993c56cf89a3a28be3ea56959f03034a407d82be0260957ffb299a67f7cbd6e8eadc2c6b5273203894495642800d9d03c77096726217bdd31787dfd62d544c8cbee407e28a52aa61b65839fb7530c88d05581e033a39fc5f8367326554c6b1d408b51bc4c4209cd8f07db4b1bf8a961d800c0244ee6b2800032ef24a949905abafaaa36d1e6492a6e741beeba5918d7cb134df9b0498e9983a05581e032c005d0f817e3d4889c3f95d3f83d2eed5a530eed9a3791dd786ae50d00c024701fa53f591d76005581e034410c19f9d95e30f7370a806e3948296a1ea1affb470dc0ed9978cf0900c01470a0072306b738005581e03e8eab76f3c629a1220fd07882d8518cfe8d62215bcdca9d5af14d6f6c00c014702e56b8a6bc00005581e037249f7956dbfc19f5413e1b0c7450fbdda63208536355cccd7b97caec00c18d748030db36473ccd9d803075cc9fe4ab27b1c18a739c43ea6293dbc5b0cf08dd57b44685510b06832ef2e03d00ac40803c4f4280c8cdb5d81131cb602dafe75e21a12510a10ae7308cf308e05581e03de04b36409136e825abf76e3e148d21e5946f1fd53b22908d69c52e6300c0247011426759344680219deb203238ce6303dd3daa20e1acbf17ae9cbd5c67a355674155d22ab32bcf78af3a3090390ab84a44b3835b696a2a410c960ee8b828299ad3448afc408b2f6226c38b85303c080c30067531979fbd26773510fd7f04d16963624bcdecbe7c436d8909592810219ffff038931d74a6919eaca86a20af969760eed400a0665fa97dbea53e112769c21ee7e03c18ec12066b7d1d95c93fb6931265b5c66f3e10f82b20c59526187cae8d02bfd03ec04edff9fb3d7ba269a4ae8657664cace714f3e4ee286776a0d8b1b22090f2f03248bc730d6e10a8f12d49b9f62e4c2ad634f31e315a09346f8470bec4caeeb2c03aa3c0adf522d6592f1d662ee5dd763cc12206f1e3afbe5caa4ceee47b7a798770219ffff03d0d7ae6bc668f676d614c0993a25c65bdc830179fcbde6bda149114fe1bba8f603fe9522e011b5c4b0d9b0410a89e9321850073f6087789231ab720dbf8410aff603428e92109af02f1d22b34fc66405b5fb9f88ff92ed743f505bba21dce230e0f4031c732a6597a090898cde05c168252bcbd0dd5b6d5bea777f786a6e5efd8a628603a512a6080e7264c8d8b215a4f38d02e7ea336d19d0383345dc655ba308d4dfd503285d0a9004e32363bd014f8dc18a08524ab689290587ffcbfb308e8fa5c06c45037aa899dc2b28089537e87cf0080368f0ffe082ceef63ae0a17945b56af34a46d03498a2d32f6a329aa3b1ddcfcd22a28af2bb047d8c329a431fc48074ccd8cb69b039ac66ef8112af0251e1716977c41d69d15b02694f1d550eaf10e8603d5bfa71b03201aab278c1b8e20962874fad0887c16af4df60e971083c0b81b469f749f2faf0383338a18121e1571686721c70d99fa44e92c82fd923acb57383d582cd15b5121035e4492660ac4c63fa533069596db27b1ba9d9d49e2b0c725847e9dc9529e157103c287ba08dc54a7bbacd35f99ceba4d12b777fee7ebf90e944f32cb66852b018f03a3c103af42e5af2fbbf547d90e024b413a93b26e2e7d6954af9450a168965cfb0219ffff03f8c4a642f6057b78fa7f32ca29280872dfc608ef092c7aa8f21be3d5981a52b40352ed590ad7bb0eb79229f9599542ea52c6d3ce109e16c7cb9bd97ac6204af68803eb0992f7f2972a260285f09cc2ae0822b39ce5e673e8852061962d00e78d7033034041bfa2d496c501dae22ddac14d2e32a384b1c8a5a88d21e63f4fa581e9ba9c035cda60ad5c8d601b8e0a12502f7a81b86dddf040b1c24e13ef8553397a6cb617030e6e16e1655417816f535b13ffd354513cd1d936e57a75a01b16ada0d979d25503187631eded96b949eb561264ea8106d9c00465275cf88c5f6e0e8741c2a2e4e30320ae6f176256733298b0430e47536c8af0d5539e46ccc31caa9a2f7540ab947903839542c96f3df5cd5c84dc3a7bc61168b9faa6fdfa79c365fa41633072862a9e0219ffff03a001047cb7b6bbd6f9d96440c8cf1727408ebbf1bc6117e4737b7639ded6ab6a03a8b9e985f7594ca7799520fc1441025c934f0184d7bf1ca27abfff17c2f5c3a20395dc82df604439903df9694c20324c3caf97ff88f6a8155eadd1c150cd0a1ea30334e99430290043830da3e492cef76b5746b91c8477f6784f6a796ee89473fb7303cea6e98cfccbed9e3c4cd2ced92dbb5de692b58af6b889c5bdb7fe3a8b2b9c9d03744e054c66d1e42d085c10370157c89b299eeeab6a44ccbd8ddd6564032e5931036c17e3831e8a7559c1caa9a95e25e45b6ab67ff15e0e21ae60a95360735c006f036108b7a3b1b803a72b80de6f63107f925409f1057b0e15a9c61aaad122dcde02037f1c3e78ccca8ad8aa5d9103658928d670ec90b320fb7671213c1d17f2eaf94a03eb3c48162aafa61f83fb4839aa28a922be094b32b49aadbef7912abad21acabd038757278c3ba48a0936838efe1f62aca03d0407ddd13341636342ff8498e1a79e0309b3ecbf27a546e4ec052f4e183b118a2a751f500ed268d3eb636722539d93f60320ef668012c588bfd4421fe19f8b226b87f5493e8315b335b183b3c7ab45404303d03aa36d3ba6c24e01489820982ccf6810ffee9e6cdab2cdf6e4a52a11992e5d0323fe419d7166f36cf39f58edf36256d00b3523681b63ce3230bda4e94f96be48030b8715914bea4c83cec2bd66514f309a41a365cdd1f962fb57c806425cbe87ac03d15d4fd65c43aae8d90633a6ae0e8eebdabb66c48324861ae2aced525825e48103b8b13342fd46aa627c1145c1e98932e8edcf1dfc57356948084946fd7a0273d103ca85199ce56f6f96c688a477c731052c6ed1439964a41d5b44a4ab27fbc24917039b470616958ca20548d5fd3ec79529c850c5c95080a48683ae1aca4d4acfd2540349231cbc969e7d327082627c855f6f8f7d48c1d2a2c65d9686f098cdfa630da703f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03a619bf7daf27516223be18c36fe232d032c193561c6fdbb892a071e7d007011bffffffffffffffff05581e035850bf00a3809614902686a17e11a68695b2843ed65f6ceab55d05fbc00c0546ac5a2897534005581e03f7d66b3ee4bb6e173af9955c945bc531624c815d279bb67de916dc01b004010219410e035d97a07e628fc8aa54a7dbc918683bceb19407d07c690da6415b5deaae7f82d70372ed4e763ea00310a3a2348c985f5b885b082d99e755e42988c30182c8e5965803571ffd3dd5fc147eca87ca0ddc1bae804095c3cecaea20d393a699c9c383e8ee03b7d82c2c8f6dbfaa675de068b26f9e5ae9a05c02c0cba6947c87ba4198db5e5803de3c26ac517a8582a773e8f1e33ef6c398a2fed121757b8690262f5457479a6e03045926086b5cd29a73d1c3e95a9532e6a8475e75a81b8ff63e92cbcfe5b86afd039059ba79760921cb3c1047c03adbb747be802a5193189d70576a98d0ef2946b90219ffff03afc0a120c4d9e9c6af80b67627786e43422497bd0410bf4efc804f93d39fc6bc03455ba536e6862bc72daf06c2ef5ea6d7aa84c2e6a59eb34679d9f51e6c57e7da03df3c9f217b1dac2080ae104cf3de44aa414c1a53e17e5c863aa60c218e893f29031c6d0be22dbad89bb725fdf9e6af472be6697d79412f56b404f5194dc9bf74df037b39d32f3abdbeb380ea290715ff15a1301341102c34a1fa5c3c684d01a3353b0341c1f53944147ebc062516595c07c51b5a2d581d16c0b51f3929a0802888bc5d030490b513571f69c5fe468e8e5d462b258a29518aa30971388d6efbd985683df403f365703ba051c5dcedf16e34c88647d7f0f49ec21d996169029b9b0b80782ec80219ffff0321f89e6ff241ff6f9489fcf7b4fc93f9947d0c903e7760aec2a0d65b0a687eea03b20c44ff3c36e683e0981953934ec63cae12924f148a67ce4155b425fe3c30a3033740164f37aafcbd2ae5876b23b630b77714a6bc512200cd9ff82e117da74dc103ad7048edaf9a55ce705201665c05c029e3e32838d82fc0472fce88cc26affb3203fe1126051d62150012b67208308a259728295b7efeefcea55542fa2b70ea33500394677ec129eecc1d8f9f5af73c6928f1020619ef0ba75c1464e610424fafbfb00397139c9729a08bba04df52d07c3490792419533fc7bd3c02e1f4c3570f2c815a03d418cda7ad9a518884c054810f54fdb21d4aa11dcd7b1268083147120c63b48c03ea28aba543a2bb44ea2643313bf9d47e3d8ccde111d6495cd6a748df3e48d63003a010a58af52f436ce8b2dc587f14ea6a740552078fb68d9a14caa76f0b0aa8a90320be16ca879db9c759373d1b8882e274c14e1fc2eef5da8c3048e1ca3fce04910219ffff0358248a1193804b88ec1397af9891ef6328f8c6ee55008832867b77c03c46c1da03b1efbb59a5a4cf19e0ac8fe2aba8c71efd53adf88332c3531df14612cb13dbd50375bdc4ad749106a3ee2c3aaa195f5e256781633f4d77016856b2642b479938390368cc3484a36d0d375fc6295695ad6f380b8070666006a33ea60db2e3c6cc6e6203f0eece37dfa9bc399dfe890ccc6ad2eb1941b8666ca2ed1ec62436ac444a20c0037b1233196a8fadc5b67190f3037f8a62e29efda368c0f2e417ad3c1c60b930f403c19ce0c633aa66b45c349c505101416b7447c8f51468fa5cc35987e50afd49e003f44a2ae3e3af61dc6f8e2560c8211ea83ed8a15d26828bce244c4b38e362a94f0320b1c37db8ae1951cb1b4e1a7d704b7291403fd318ac3c11c77663415d91ec6203332b0a098773ded2f2d41d27f194108ac669e66302c8ba865ba07ec9e56d1de80375e8a22e49ccb2081bfc663b33acffe30759218c05061e149d251b47fad42dac032f2fe77cefec57a8b58bb51d39ea24b05f5c405512b1827ddaf7f5baae33377703eeb4026e25b19ee4a0b3bc02bfcc33467c8979fc9cce28520ff3b204b5cb9e8603d49c4833e66be8a67a0578bc77337a2a9527c06a2eae7c484f73fb4c2fe4ef430348c28d0e3aaad969fd0a7b9c0cc00cd5c90d6f5017396ea973952968fb86cba60219ffff035f0156ec6af6ddd991d2ab7ccf17737a4add337ce7a1ec15ef9e51755d2ce958038e04be7bb975712271a415d732f2d4836546b9877d6fa22cddc26a61a75a47db03c0248984e88345a4cb853ace1a2f51c033c0b837fa90057f8025925d41f4f1c5037220410e23f17c2bf0e3775b5848680824006bd95d6341d657adc67c7d9b901903e60c1c393a4836e21e775361f96aac3b144c895d9bf0564def20cfd30928e9f503f99827923b0aa6134d5572f06b9699e73ee67ca5fafb10859598b1db421b916803dbd133c0f5f3151ba2cb5742c743294008aa62261539d6b882123ec758b5fbf703bebc714f62b3842309406e85544dd134ea804d896159d06784a1bd32ff75fecf03d96b9239f2c80e893d77759fcd2178733c10362a82dbd725217293412040c894031f4d353754605166993dbe76342281117bae1eb2d27d6cc0a413c52171b46698030236af4a1c73d0cafe5fb83b98287e74397664e7c5b1d07b884263d112c984720391175220459aafbdc8f2e071e01186f5dc2daedfa19ac793693b0e2b58d10274033f6d4a94080d71702017fa8ff00060c9ac4b68bd9b85d43325b48c57d71e975a03dd430e27b9a0a6d9f7266ddc78f035d3e8f16d0622c9f1b51935eafdb683a34c035d0e0714f25722320a99953f95b0d28f63a19f5dbcb98521cb2007f04a9caae8038b634d05062d690e57f3901db19bbf0936b6e1f5cc9835a555b24671e8c55012033f04d1934ca189a1ee100d4e550cd5c16dfc41b7ff942ca855c574b4fcd6b8c203a1ac133397c537847e5199a127105df3bfc59ca2a92296869c28da69ac371fc903df93767298d9f809b18c301be76cdc11927f100c9b7bb1eb4fa8b18235dd3f6d0358a6478d740af2d98a3b16355bdf7b47f81beb0bbb8f0cabf1c97d10a4acacf2039790444c5ba94c558e4eafb44cf9ef1bcabe0e02a90fe6ccadbd6bb68f51428e0303a80bd742be288920a0108713df904e54f858dc72824ade9d64e1cbcb16662903a7edaa2991c39dd2d8395692ce22910efd8ddd712a2f066bf054c6929157077b0305d29ec8bcc6329d3500ab92355327925be27011213212924bf25f3652b9204d03a0923168fbf46df94f6c0be1efddae1ef155b4186a232632c7d9e5a90469f4c603d7fbfac639e7c5da4b5e8bbd64b3210c19f460bfacdb0faafe4a68bfd3b16ed603ccb88a5c1fa0f0463c0d72b4ddc4bf345149fa31bc224cfb95ff74dc7e6dcd2505581e03a3dbee0307facb6be1dc188dd067606e54496007dfbb2a20dfb74123a00c181c47309d02f21b43c004592377608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610acb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610af9565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b23565b604080519115158252519081900360200190f35b610339610b3a565b604080516001600160a01b039092168252519081900360200190f35b61035d610b49565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b4f565b61035d610be3565b6103b5610c07565b6040805160ff9092168252519081900360200190f35b61035d610c0c565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c12565b61035d610c96565b61035d610c9c565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610ca2565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b031661111e565b61035d611130565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316611136565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316611148565b6040805192835260208301919091528051918290030190f35b6102446114dc565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356114fb565b61035d611508565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b031661150e565b610339611680565b61033961168f565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561169e565b61035d600480360360408110156105a357600080fd5b506001600160a01b03813581169160200135166118a0565b61023a6118bd565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806122886025913960400191505060405180910390fd5b600080610667610af9565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806122d16021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d611a1f565b891561077057610770818a8c611a1f565b861561082257886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561086857600080fd5b505afa15801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b5051925060009150506001600160701b0385168a9003831161092b57600061093a565b89856001600160701b03160383035b9050600089856001600160701b0316038311610957576000610966565b89856001600160701b03160383035b905060008211806109775750600081115b6109b25760405162461bcd60e51b81526004018080602001828103825260248152602001806122ad6024913960400191505060405180910390fd5b60006109d46109c2846003611bb9565b6109ce876103e8611bb9565b90611c1c565b905060006109e66109c2846003611bb9565b9050610a0b620f4240610a056001600160701b038b8116908b16611bb9565b90611bb9565b610a158383611bb9565b1015610a57576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a6584848888611c6c565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280601281526020017129bab9b434a9bbb0b8102628102a37b5b2b760711b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b30338484611e2b565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bce576001600160a01b0384166000908152600260209081526040808320338452909152902054610ba99083611c1c565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610bd9848484611e8d565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c68576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610cef576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610cff610af9565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d5357600080fd5b505afa158015610d67573d6000803e3d6000fd5b505050506040513d6020811015610d7d57600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d6020811015610dfa57600080fd5b505190506000610e13836001600160701b038716611c1c565b90506000610e2a836001600160701b038716611c1c565b90506000610e388787611f3b565b6000549091508061100f5760055460408051637cd07e4760e01b815290516000926001600160a01b031691637cd07e47916004808301926020929190829003018186803b158015610e8857600080fd5b505afa158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b50519050336001600160a01b0382161415610f8d57806001600160a01b03166340dc0e376040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0057600080fd5b505afa158015610f14573d6000803e3d6000fd5b505050506040513d6020811015610f2a57600080fd5b505199508915801590610f3f57506000198a14155b610f88576040805162461bcd60e51b81526020600482015260156024820152744261642064657369726564206c697175696469747960581b604482015290519081900360640190fd5b611009565b6001600160a01b03811615610fe2576040805162461bcd60e51b815260206004820152601660248201527526bab9ba103737ba103430bb329036b4b3b930ba37b960511b604482015290519081900360640190fd5b610ffa6103e86109ce610ff58888611bb9565b61207b565b995061100960006103e86120cd565b50611052565b61104f6001600160701b0389166110268684611bb9565b8161102d57fe5b046001600160701b0389166110428685611bb9565b8161104957fe5b04612157565b98505b600089116110915760405162461bcd60e51b815260040180806020018281038252602881526020018061231a6028913960400191505060405180910390fd5b61109b8a8a6120cd565b6110a786868a8a611c6c565b81156110d1576008546110cd906001600160701b0380821691600160701b900416611bb9565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c54600114611196576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c819055806111a6610af9565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d602081101561122c57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561127a57600080fd5b505afa15801561128e573d6000803e3d6000fd5b505050506040513d60208110156112a457600080fd5b5051306000908152600160205260408120549192506112c38888611f3b565b600054909150806112d48487611bb9565b816112db57fe5b049a50806112e98486611bb9565b816112f057fe5b04995060008b118015611303575060008a115b61133e5760405162461bcd60e51b81526004018080602001828103825260288152602001806122f26028913960400191505060405180910390fd5b611348308461216f565b611353878d8d611a1f565b61135e868d8c611a1f565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b1580156113a457600080fd5b505afa1580156113b8573d6000803e3d6000fd5b505050506040513d60208110156113ce57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561141a57600080fd5b505afa15801561142e573d6000803e3d6000fd5b505050506040513d602081101561144457600080fd5b5051935061145485858b8b611c6c565b811561147e5760085461147a906001600160701b0380821691600160701b900416611bb9565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060038152602001620534c560ec1b81525081565b6000610b30338484611e8d565b6103e881565b600c54600114611559576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b03948516949093169261160292859287926115fd926001600160701b03169185916370a0823191602480820192602092909190829003018186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d60208110156115f557600080fd5b505190611c1c565b611a1f565b61167681846115fd6008600e9054906101000a90046001600160701b03166001600160701b0316856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156115cb57600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156116e8576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611803573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906118395750886001600160a01b0316816001600160a01b0316145b61188a576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611895898989611e2b565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611908576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b81523060048201529051611a18926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b505050506040513d60208110156119fa57600080fd5b50516008546001600160701b0380821691600160701b900416611c6c565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b60208310611acc5780518252601f199092019160209182019101611aad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b2e576040519150601f19603f3d011682016040523d82523d6000602084013e611b33565b606091505b5091509150818015611b61575080511580611b615750808060200190516020811015611b5e57600080fd5b50515b611bb2576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611bd457505080820282828281611bd157fe5b04145b610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b34576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611c8a57506001600160701b038311155b611cd1576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611d0157506001600160701b03841615155b8015611d1557506001600160701b03831615155b15611d80578063ffffffff16611d3d85611d2e86612201565b6001600160e01b031690612213565b600980546001600160e01b03929092169290920201905563ffffffff8116611d6884611d2e87612201565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611eb09082611c1c565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611edf9082612238565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8c57600080fd5b505afa158015611fa0573d6000803e3d6000fd5b505050506040513d6020811015611fb657600080fd5b5051600b546001600160a01b038216158015945091925090612067578015612062576000611ff3610ff56001600160701b03888116908816611bb9565b905060006120008361207b565b90508082111561205f5760006120226120198484611c1c565b60005490611bb9565b9050600061203b83612035866005611bb9565b90612238565b9050600081838161204857fe5b049050801561205b5761205b87826120cd565b5050505b50505b612073565b8015612073576000600b555b505092915050565b600060038211156120be575080600160028204015b818110156120b8578091506002818285816120a757fe5b0401816120b057fe5b049050612090565b506120c8565b81156120c8575060015b919050565b6000546120da9082612238565b60009081556001600160a01b0383168152600160205260409020546120ff9082612238565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106121665781612168565b825b9392505050565b6001600160a01b0382166000908152600160205260409020546121929082611c1c565b6001600160a01b038316600090815260016020526040812091909155546121b99082611c1c565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161223057fe5b049392505050565b80820182811015610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a2646970667358221220713a8bf21df06433f34b5c9abf186abb737e72524583bdf420105a289791e24864736f6c634300060c0033030b5465a94ab80d405681d16c9d245460ce61fcb0e5701ac054d002f4a87ae1220366953cfa465766a09ef1646126f60f0432aff42d0310a2fa60b788ee0de6ba2a037babfdf421325960907bc6a45b6ed172ae3ead65961d7a7755cdb5fa41493e9103b66b236793c43ba3e4fec24007cce0ef64d97e3d0832bf55d2489926d2d347e303f1e1e05d06f3c434674c8b946fc2f997dd7c8b663434542e16eb78cfc001efe603ea9dfb381a42b795254a1db820cc12c2cef02b8499e65486afc0f15594e75d630058200291c26147b18495674cb10ead589fcd5f2b4aaaee97623a38518e1c9c6452174d0c9f2c9cce6dc3e0eb5bc445e903fce3cd5675be2dd086e7a11d3a1ecf52134673cbc723e5e0f63542fb1dc7565b0058200211692292863681387475e7b59cc3f0643e3a64e28bd3af410057cec5018bc15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002e9d10a874bc86605f6a4c1e6c83735a8108d60540453a3e5098373154a36f84cfffffffa014907a37204a26a00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af051062c9ffbd1cfb209a6c3d4a112f303a94300582003922a3b04b9499623ae41193447f59f28c9c0c3114271d24f6ff624cbba6ab04d0c9f2c9cb7cc7a135d22aa4e1e021940020058200219f5326e6edc51f7195c571de033ff68427ec8aafa1f6cb2ef3e0b83aa58e54cffffffffc17af0b2edb506f60219e608038fa61c7371b6976a755d54d22df6b0f459bd32c22dedefd08a5c0dddc743a9ad031f6fe05a0257ab01f9918bd9aa25b36c24bcb85d78f53e21e1b6985a0c00af14030adc000aac8fe61d185ddd65c4b7d43b6b3d91d512d7598437396c8250ae697e0058200246e27bbe563b0901bb7f3097321877ccb7df05cad4a1bf58f86292625da5204d0c9f2c9ccb4b6ae4e7b574a955005820024da6dfdaddc905f177d3222d0318fca8ff4db488bfc313b6a87bbb2ea641d14d0c9f2c9ccee8ce5dc2a3361e43005820030224bc65e958005ecc4e644f8f22d7cf8bed7eef8b1742be840f5d259186904d0c9f2c9ccffa5276ee5bc162cb00582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc202184400582002c2aedcc004320f9db96e953844f47d38f4866c603a6c0257edae6b33fd384a4cffffffffced42c46b7c992b5038b7bdf24ee35f65b54c939ec53eabb3f95ff5082b10ca1e258d76bfee8cf8e0503e614391fea2521124a8d6d89ef68c14e06cec5ebf61b68246c259d0866d7252f03b12ea451247e93ebde7802a47094748bd9e3da34309c5163426d17aa13489300005820022cd24a53f97677b05192ee5c66c6a3be412d517f2fd95f679540281b7d0b544d0c9f2c9cced481aaab9c75a64c031a9f19d3097c3aaea6b8614e6e16524ad7ef59c875c46ab6f11b6daadf4b34b50219dad20349f84bf569db1eb91a038bad05d015e545768a19a03be2e06576d527df04a6f200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820b4af2128a639d451f543d35534db9b79cb93dd9be3dae4beb3380b7e6efa4fa6005820020a5f1207514766f5bdda4d4a0c073d5434937f695f4f3b955e37157608497d4101005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a853074efae1324d4cff2caa50c842a41ab97e377e005820027917214661ef8aa129ef5798ec538c550304a87ed6b0d6b60c6d3141295469410100582002f0744c6ebe1406a6e68466ba1469d54fe1556ec39d2e9763b99e8f2724b58d4d0c9f2c9cca47cfba05c6835e0a00582002739aff74354ac9b504591169339d5aac36b83350f2692b557f112801c0345c410202195454034100bcf188c6cef8585fbba68d03326179cfe2e417307fd063d1a65465240c2503d572149b6d9083e86f333f51f31ec5b1ac009d795c74f29b3facfe8b6cb8d1e100582002729028dcca9f12c94131c303b1ad71a3a2c683d71cef1d8e0e4de2152e7e734d0c9f2c9cc715bed2111f251f020058200233f7bd1b1eb2d7475f8e2179da22ce9a725fd1fbf51a8bdc3de62bc48082ff410103686c44537353020e42d8dd2d81d7bb4e0d158b5683688dff328020e6ca1ccb45005820026e6b8f09c4d703e99efb4fdee04ecebc7ac04ff6b55014f0fef4996effcaee4829dd8660eaf14121005820037100b84e00c4fb1fa5bbea2fd5f1e8b8ce0602cea2aec14a9c3bfb50d3cbc04cfffffffeeec22710ca23a26a00582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005820031e68bfc41e5a4b7af17cf2e201f0d3dfb485a3e5d715eb6eb01bab764b1ef04cffffffffd47c939af9c34ad5021980600219a0cd03c70841851db1c238b4bb3bbc3304dd892b7650745ba84fd62ff3feb358ecc247005820027ae780dc92c532138cdffa28be4888811550db5d5743b32e37789c5e14003c4d0c9f2c9cd01b00ea89f2d94832031458e7db9d0e6df907e08bc79e32054d6b3d2bd74b5e640e8c99f06331775ced0058200353ed8f2f7bcff8c48739e18d7306547ddc5755aca78954ca599891669a07d04cfffffffe692bd64d4b0c0eae005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30582065cf4653000000000022e1d65e9f281345e60000000029f3dc670eccd096370902198001005820021336d755c3317fced35bb95dc657f7a82e94d72dd77c09ecbbb254669163bb4d0c9f2c9ccc176b543fc677129d005820038fb92f4982a0e6fa3b696074a29e058322d485cf32540df8a503ebf87996704101005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0543432b6a60d23ca0dfca7761b7ab56459d9c964d00218220058200247da7838310ddf6901d172e927220a4b174c22d409dcee60b35e83c292bf7f41010219205e0219ffff05581d02f0ebea42d6bf4072a1aa005b6f551928c2600686dca1e14e92cc9650070119237703aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581d027123fe157ba9cfe320098c08daed1fc4ed1c0969304df71417d6612907011bffffffffffffffff0219040103032d33111101402a865741f090fc5db4225db0b66dd397d41ad2504ed741b6ba031609cc195b6dd598af51bb97935a3f3fed0b710a992e22ce85f6b55074a147f703f7a375f8894f4ef06c931abe652d7aaebb905241688dd042515ab71b11f73a04032b1640aefbddcd14942cad9d626f025b38e48a4b7078b0238d416a61654b787c0328e731606e32fa31ebbc4f1d481617f369b1e1ccbb0db20d216f72e75ea4f2e805581e0367b8a5f8f2f99e29ef94be6ee6bfc5e656942fa5699e7082f97eec4cf00c024701b90f387bdc0003ac4675b3de38ef255cffa0a247dbc0dcb5507f263725b1370e534f3e1eb622d302195ef303db350d5104db4c2e522c12639dd70210b6ff6a4a399d68c01de0342ee4ef5d280398937ec8aee0818895d198ac4422ccb9683df741187f17ab3f171afcaa7ec69a0382b80558788c8065a86cc7da6b5913328b81ee7517b4aac9d829cf7c1cbbaa4503e5e8fbfd6a72263ff9c60d3dce32d3f5f7d3f7b3c71c4b98c97e4a6014f563ef038abfebb0ace02bf0a141b341e5577366f10671732bd8839e3c903eba56c0d6f2037b7b85f62dc55d4d8a80c5cdcbc2fe169de01beefc32c38674b514b4ab56744e038c13922d4d979532c4e05fab3c340e979830974304c1b748df7fbc54a390c7760219ffff0334e6ec1d14b0ef3de3ed33f707a892f9783c1b27cb6cfb39d6606203ef8ae78703bedc9c1c00da8c8937f9477003261a53694e74551693e39607ccb6c409cc9df60370bad7557082545cdd653d169fc8935945f4b63b182b57390f76583f7796cf310319e0542851a62892f998237487d7dc823a250e723bd702e2855fac771fc6aa620353ad80d96f21281cff7edd0169695d85d3951d906ea0bc6d09d090638ccf3ae503d6c1bdd02893785f968f2fcdb275d68680529866c8971b940ebc6ec5252515220378a8a0a43ae528840071ba96971af16b6119dad214921c68200dc6b80b0781f503d661899e4fc0997de37d27add8e12ed69a2cec2a96be97955ad81818542dc89803994f5cbc7773a53e80291d071cebb86bcd8e42cce38cd5f1f5df04354ddccf0803a92da96ac4b647a60a2b9daa05752bc58663d370d60759354d80c1b0ad9775f003274128e916b346d9efd5890a056380b673668cc3f9b244ba1649cfadedcf6158036a7de124cb43cccc25f7453ef9e28bc74801309e5b9b4291cd0b6a846186768c039d1fe92c1ee0cb47d0d977403a53dcef4de758cad68690c649e847ee56b741420219ffff039971da600d6499a917b1dbf709db58457b5c84b4990d4e0713ed1efc81ab9326038bd716e0dc651ae401eef8462d8652b635bf6d536799a144ab627884b1d682b80390cab3f5c76d92a1eec3e74cbb3ea5b46822c66b2740d7971073e0ba7ffb027c03dae2783882e0c9c542c5b041ee9bb4b855843620235c62b22c1fca4ccb5dd1c90357d5142d7a22f255ee336d97362da0939aafaef5532b77274e444258f2ca08d203824720cb4e4e6cbd9502b8a2062c4ee7f451a041f001404d84316f16af75088a0305e8efde86544478581de1089da8a331d0f67ddf096e5a02ef106d81f75f062503530c612ec9761478f90bd70c8d6a028eb038e0edd6278d290632419e6fdefd9f03d4e2996b21f38f6ebb9f18695453c7ec8a146371c9dd2fc7e2e78ad6869433d403c3834c8d1a68f6d92c1af8c356fe1a0621bd2a4a10efc78a90c239280c68affe0356930d3def90857ecedcd607ba145f42f47fbea350435ab1db86c962676f753e034a2e7c6162d24bddcc9e9c0f943175df191ca4fe6cc808ffb719fd6298b842ce03744a9e20057500ece13f8ca26784b958cac6d272aa4e7708e4af5de2cd30841b034e2dd9b8f32ab545f0071de2a192d780c77374ba30a5a199435ed7e082070539035372b53c2ae902736f7b0466a0d734bffb404b13e27acde38b4bf52e4d821f9d0345b62c3c6a38b04764613aa0d990c02409c8d4aef1c241ef2e8fa4514991a1bf03f15f237ca951cf0ae7a57902d8ee8ef9ab5bcc4dc8e411dc212296e54c5c051e03415039ca927a460f4b927f97548570de207a8c75f214ca1c51326dd1380573ad03211e62e6e5d3a31a98c6dcc047f826815771f45013a46848fb6b4d4e83562df8039a4af648cb17ae58bc9b95f62ac5ae26650520cde5ef86b4d10b88fe33e3319c03e536fb85dfd4b518af8668d1b8f79d4f7a706219d3c207d3e29c55efb138393503a09b010231852f1e758ef68f0784fe197507237022e3029b085be876beef4b66039cf4ad5e8db133d1d25a2039bbdf6593359460b2a250e34beb5846f572c8419d03f1cb0c2751977604a1f086206c81f172052ffcf22ebc479049b95f64ddaa6e5803b9cfc52b67cda10f99c91bb334bed2c355da384245d7e303195c10cb557030ab030c54df55f9043af9c2807f5d07265f8fa308b91c86212af0777f265ca512e48c032bcbcb5b52a55d08a3ed6e4e69226fc13dec0e8624c3e98ef9de85b255e76bbd0348d0bb66076a884a4b39add61da7ecc918fe148c3b2e9ad03eaf47b2312e15a405581e03ef58f15e639f7108d8470e4879e144910496f0bec9e25f50a98dcc06900c054620341af24bf805581e0352fbb77b4e499b1a57f3c70de14ae0c6f472fb0314da8800ddc3c472900c07462e73445c996003cf65745433375f1a55950e28394b0ae79312ab7d1511fd5233d69a5f541b1a3e05581d027c963d2bd1fbcd470472db5cedc1170181dad7337fd1be55446ac7b20c0147032a208497b9a004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a02fea58ead8998a2bfd000582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05402ca8540c9ee69fb49e2f1042cb853977f0aad5c005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854e92344b4edf545f3209094b192e46600a19e7c2d00582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab04907aa9d963722ce6d660219014000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820e5ca7b9bc42633210671e359a46016866d5482e6eec0fda0de61a478e9bbbe5e005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84f0634d9b705d6c806756e9c539d1c8002184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd004a02f6faf1175275d44e8200582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5dc300000001fdf36304315b59c29e56000000000005466997fb4db701c40058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218480219f44505581d0250d419776ed0d47bf46938bf091b5481ccbb3c9307612366e4c00e500701192c1d0219020203cbbd7a20906e4a15232827aec4a9a9b6013db6a886278836384f2345a87fbf71033bbc497843767561d4e4c13c8220abfa7ce8a3f031ece18afead838288dd036b05581e0322a3bdbd65f2836ddbd37c9e8265626c0e2acbaa28f4ed524a068dbe5004030319552848d6c041426473baed4274b149c00628fdebb4ce075ef8da8a5888a32c05581e03003c036074e6b5e917cacef40442bce190f50c76684c94ac193d6fc7f004020219d7b8037899c9ad15fe36c3853e23019096291c7e0965ad6d52c5f2987540c43847b1840371442344c117d68b082b9692b8b149e3faca56d7a6397ea3514a1b1e096608b90370a96bbda10c0f2f47456456f0f1bc336b5c75b1d04ac6ec5b5ddae976970e42038577c4db74f0e4e818d447ad49933227238e3e0cdd27c85308f23a9843f6aafa032808bbfbf80a8b3b0ec3054a7ff735c9d757a3a47433b87a60a0982fdc4ca4e003282c756bd57fb15144ed48cc6ea5fc43b121e328f9833e23b753b9ccae5fb527031611686efd495f189696021a2163debeba6825a3b4b96ff7e6f37e1700436efd0219ffff0219ffff038c3ec1943fae386b34b818dc0b534940ec7083992e755702044fa3681fad436303c40de4b1752c1ce292203547674c57e41d9e1b4c9c0654eab81f8960f671589203df2ae3f1e19d62b6bcbc2d4635e10be97daeeaab6d84c24f7b084f4a521eaeb1030492e8a8743c03f84ef410f602f44fcd72ce342948aececc4d10b61c999be9610219ffff0303dbe8f9fdfe690059314bc58f6b80737094183b3662bedd9a32ba875df2ba84037fc49a68133de131427eeb9a38fdc5e248dc51ac5eadeab6e626e441f4870ad903f002e31735a0107a89a75e4a0db38f2589d9bbb98680b807af1a70221acfa645039c93e35222a9e3661ebc722b5b621c1d102dd4ff95b9ea3fe3ab37649c0e656903e2db50db0edfa8a6d57fff685bebb9bab6aafe506b97773c50098bd196e8a1180350ab2ab95cba73b0707830c7fb53711578c2085abcf48d4e42769e653d9b23a00219ffff0219ffff0324b0746a28d60f9c9e5474e2e058fe9e1dc7dc0495ddf347b5575ff7c79299c703f5c0b1e00faa36ed08e7b842052d6e6b4d13b326e2e6467205681596222dab9303d711de106221b1990976ef9b875f15d4ea9c1855df0d3b137bf4f551b81267d503bc4c038ae785da8ab490cb548856a30b144985f8a7ae1b85d8eb4afb6ccba2ed03319c77f6a15540b9912fcc2208344858e6d47c8882c92b9fa4afab1205ea533f03f5ad19ce3960d533f2b50f47bf84cb6af20325b230a56d05cc0db9b21360d2670309af0cf8170579700683f09f5a03449e137c954c1b1282abed22f882733dbf4703ddd471d721320f95865418d4c3c82147a3f3ded764f1971e07f49113b055ae00038946b1bad7ead36d5eecd6a655bd9f60d6e77f5f2c4664032297f8539a42c80b035ccf4be2d743eef8b6d03936d9350d52b57f494e510a89a3c5edfc73691233e803918d8eec6c232cb72ad394cf5a57a12b031dde50e5d1cf1942d3eea2f93d82ee03bfdcc54a64854db0e70fc519a2e244372b4acb20d87099c66b50052be1335fe403c34a09b289202f8558f14946c047e17f16a4490a8fdba65b69b94a5ebe3e95df0374190ed4a04d2213503c8965a70434a544a6cba6a93e35e613306afddbeed8af03036d781ed8b7bee9bc96fd4560ce130bf42902780cd83b42f4939e7bb5d6dc1203720494ad0b2389b94a100c90367339f23ab711f1ea352739fb867f481e2ef677032932c4a8722cf884916e2466fb378b478e63111ce5465395adaed6a2a95f3b8803ce00f24fa57a9d430c57a3e1d93a281e4fba233299fffa72553fb9d48b3941ed05581e0321c103d977f1c06df5724ad73cfa426fbd1cf83d98e88d1e0564b238000c0146a37d650a3ef203723ceae330286c83c8e00741d5a58942e87ac916a767c5bf0c020ef7b3779d4005581e03ded24cafb52c102ac71a648dd4c752eebe1fba51f5b0ecaae704f60ab0040105581e03251680e0871843d90d4ac969e3c5dbf165e49e77d8c4b5fa664fb4dca0040103f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e03ddbebeef02273e0748dd7dd3b6df8b6dcf924adad13d61bb733a8127f007011bffffffffffffffff05581e0362181b9528a6f90757508f6a38daf90f640daced2fac11cf1e798c6bb00c074478f71e080395d814fb35d1e5142bc9f88472a96db8b90a4ca8813e0e505e964af97273a09f05581e035c6260e51eb3c8a02de6537fbd7db80ac87a8d886591ac49d0442ee6a00c0147317fd6c107aa970459202d608060405234801561000f575f80fd5b50600436106101bb575f3560e01c80637ecebe00116100f3578063a457c2d711610093578063d505accf1161006e578063d505accf146103df578063dd62ed3e146103f2578063f1127ed814610405578063f2fde38b14610442575f80fd5b8063a457c2d7146103a6578063a9059cbb146103b9578063c3cda520146103cc575f80fd5b80638e539e8c116100ce5780638e539e8c1461035957806391ddadf41461036c57806395d89b411461038b5780639ab24eb014610393575f80fd5b80637ecebe001461031a57806384b0196e1461032d5780638da5cb5b14610348575f80fd5b80633a46b1a81161015e5780635c19a95c116101395780635c19a95c146102ad5780636fcfff45146102c257806370a08231146102ea578063715018a614610312575f80fd5b80633a46b1a81461024f5780634bf5d7e914610262578063587cde1e1461026a575f80fd5b806323b872dd1161019957806323b872dd14610212578063313ce567146102255780633644e51514610234578063395093511461023c575f80fd5b806306fdde03146101bf578063095ea7b3146101dd57806318160ddd14610200575b5f80fd5b6101c7610455565b6040516101d49190611ca7565b60405180910390f35b6101f06101eb366004611cd4565b6104e5565b60405190151581526020016101d4565b6002545b6040519081526020016101d4565b6101f0610220366004611cfc565b6104fe565b604051600581526020016101d4565b610204610521565b6101f061024a366004611cd4565b61052f565b61020461025d366004611cd4565b610550565b6101c76105d8565b610295610278366004611d35565b6001600160a01b039081165f908152600960205260409020541690565b6040516001600160a01b0390911681526020016101d4565b6102c06102bb366004611d35565b610670565b005b6102d56102d0366004611d35565b61067d565b60405163ffffffff90911681526020016101d4565b6102046102f8366004611d35565b6001600160a01b03165f9081526020819052604090205490565b6102c061069e565b610204610328366004611d35565b6106b1565b6103356106ce565b6040516101d49796959493929190611d4e565b600c546001600160a01b0316610295565b610204610367366004611de2565b610755565b6103746107bb565b60405165ffffffffffff90911681526020016101d4565b6101c76107c5565b6102046103a1366004611d35565b6107d4565b6101f06103b4366004611cd4565b610851565b6101f06103c7366004611cd4565b6108cb565b6102c06103da366004611e09565b6108d8565b6102c06103ed366004611e5d565b610a0d565b610204610400366004611ec2565b610b6e565b610418610413366004611ef3565b610b98565b60408051825163ffffffff1681526020928301516001600160e01b031692810192909252016101d4565b6102c0610450366004611d35565b610c19565b60606003805461046490611f30565b80601f016020809104026020016040519081016040528092919081815260200182805461049090611f30565b80156104db5780601f106104b2576101008083540402835291602001916104db565b820191905f5260205f20905b8154815290600101906020018083116104be57829003601f168201915b5050505050905090565b5f336104f2818585610ca5565b60019150505b92915050565b5f3361050b858285610dc8565b610516858585610e40565b506001949350505050565b5f61052a610fe8565b905090565b5f336104f28185856105418383610b6e565b61054b9190611f76565b610ca5565b5f6105596107bb565b65ffffffffffff1682106105b05760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064015b60405180910390fd5b6001600160a01b0383165f908152600a602052604090206105d19083611111565b9392505050565b6060436105e36107bb565b65ffffffffffff16146106385760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f646500000060448201526064016105a7565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b61067a33826111f2565b50565b6001600160a01b0381165f908152600a60205260408120546104f89061126a565b6106a66112d2565b6106af5f61132c565b565b6001600160a01b0381165f908152600760205260408120546104f8565b5f606080828080836107017f46616c636f6e2048550000000000000000000000000000000000000000000009600561137d565b61072c7f3100000000000000000000000000000000000000000000000000000000000001600661137d565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b5f61075e6107bb565b65ffffffffffff1682106107b05760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b60448201526064016105a7565b6104f8600b83611111565b5f61052a43611426565b60606004805461046490611f30565b6001600160a01b0381165f908152600a6020526040812054801561083f576001600160a01b0383165f908152600a6020526040902080545f19830190811061081e5761081e611f89565b5f9182526020909120015464010000000090046001600160e01b0316610841565b5f5b6001600160e01b03169392505050565b5f338161085e8286610b6e565b9050838110156108be5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016105a7565b6105168286868403610ca5565b5f336104f2818585610e40565b834211156109285760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e6174757265206578706972656400000060448201526064016105a7565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590525f906109a1906109999060a0016040516020818303038152906040528051906020012061148c565b8585856114b8565b90506109ac816114de565b86146109fa5760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e63650000000000000060448201526064016105a7565b610a0481886111f2565b50505050505050565b83421115610a5d5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e6500000060448201526064016105a7565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a8b8c6114de565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610ae58261148c565b90505f610af4828787876114b8565b9050896001600160a01b0316816001600160a01b031614610b575760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e6174757265000060448201526064016105a7565b610b628a8a8a610ca5565b50505050505050505050565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b604080518082019091525f80825260208201526001600160a01b0383165f908152600a60205260409020805463ffffffff8416908110610bda57610bda611f89565b5f9182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b610c216112d2565b6001600160a01b038116610c865760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105a7565b61067a8161132c565b5f6105d18284611f76565b5f6105d18284611f9d565b6001600160a01b038316610d075760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a7565b6001600160a01b038216610d685760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a7565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610dd38484610b6e565b90505f198114610e3a5781811015610e2d5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016105a7565b610e3a8484848403610ca5565b50505050565b6001600160a01b038316610ea45760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a7565b6001600160a01b038216610f065760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a7565b6001600160a01b0383165f9081526020819052604090205481811015610f7d5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016105a7565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610e3a84848461150a565b5f306001600160a01b037f000000000000000000000000d108d3026f6f0c3fd58ef154203bc418c4d6eec91614801561104057507f000000000000000000000000000000000000000000000000000000000000000146145b1561106a57507f4e61742ba99d74c94f6f0dc1bd33e710cee5f48188a55051246d717adb00489490565b61052a604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f10d26cd7d7100c447f2ae58ed431111ae445488e1087b2fc4d1efbfc1e0db3be918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b81545f9081816005811115611168575f61112a84611515565b6111349085611f9d565b5f88815260209020909150869082015463ffffffff16111561115857809150611166565b611163816001611f76565b92505b505b808210156111b3575f61117b83836115f9565b5f88815260209020909150869082015463ffffffff16111561119f578091506111ad565b6111aa816001611f76565b92505b50611168565b80156111dd575f8681526020902081015f19015464010000000090046001600160e01b03166111df565b5f5b6001600160e01b03169695505050505050565b6001600160a01b038281165f818152600960208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590519190951694919391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610e3a828483611613565b5f63ffffffff8211156112ce5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b60648201526084016105a7565b5090565b600c546001600160a01b031633146106af5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105a7565b600c80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b606060ff8314611397576113908361174d565b90506104f8565b8180546113a390611f30565b80601f01602080910402602001604051908101604052809291908181526020018280546113cf90611f30565b801561141a5780601f106113f15761010080835404028352916020019161141a565b820191905f5260205f20905b8154815290600101906020018083116113fd57829003601f168201915b505050505090506104f8565b5f65ffffffffffff8211156112ce5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b60648201526084016105a7565b5f6104f8611498610fe8565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f6114c78787878761178a565b915091506114d481611847565b5095945050505050565b6001600160a01b0381165f9081526007602052604090208054600181018255905b50919050565b505050565b611505838383611990565b5f815f0361152457505f919050565b5f6001611530846119c1565b901c6001901b9050600181848161154957611549611fb0565b048201901c9050600181848161156157611561611fb0565b048201901c9050600181848161157957611579611fb0565b048201901c9050600181848161159157611591611fb0565b048201901c905060018184816115a9576115a9611fb0565b048201901c905060018184816115c1576115c1611fb0565b048201901c905060018184816115d9576115d9611fb0565b048201901c90506105d1818285816115f3576115f3611fb0565b04611a54565b5f6116076002848418611fc4565b6105d190848416611f76565b816001600160a01b0316836001600160a01b03161415801561163457505f81115b15611505576001600160a01b038316156116c1576001600160a01b0383165f908152600a60205260408120819061166e90610c9a85611a69565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516116b6929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615611505576001600160a01b0382165f908152600a6020526040812081906116f690610c8f85611a69565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161173e929190918252602082015260400190565b60405180910390a25050505050565b60605f61175983611bd5565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156117bf57505f9050600361183e565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611810573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116611838575f6001925092505061183e565b91505f90505b94509492505050565b5f81600481111561185a5761185a611fe3565b036118625750565b600181600481111561187657611876611fe3565b036118c35760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016105a7565b60028160048111156118d7576118d7611fe3565b036119245760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016105a7565b600381600481111561193857611938611fe3565b0361067a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016105a7565b6001600160a01b038381165f9081526009602052604080822054858416835291205461150592918216911683611613565b5f80608083901c156119d557608092831c92015b604083901c156119e757604092831c92015b602083901c156119f957602092831c92015b601083901c15611a0b57601092831c92015b600883901c15611a1d57600892831c92015b600483901c15611a2f57600492831c92015b600283901c15611a4157600292831c92015b600183901c156104f85760010192915050565b5f818310611a6257816105d1565b5090919050565b82545f908190818115611ab3575f8781526020902082015f190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b03166020820152611ac7565b604080518082019091525f80825260208201525b905080602001516001600160e01b03169350611ae784868863ffffffff16565b92505f82118015611b0f5750611afb6107bb565b65ffffffffffff16815f015163ffffffff16145b15611b5257611b1d83611bfc565b5f8881526020902083015f190180546001600160e01b03929092166401000000000263ffffffff909216919091179055611bcb565b866040518060400160405280611b76611b696107bb565b65ffffffffffff1661126a565b63ffffffff168152602001611b8a86611bfc565b6001600160e01b0390811690915282546001810184555f938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b5f60ff8216601f8111156104f857604051632cd44ac360e21b815260040160405180910390fd5b5f6001600160e01b038211156112ce5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b60648201526084016105a7565b5f81518084525f5b81811015611c8857602081850181015186830182015201611c6c565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f6105d16020830184611c64565b80356001600160a01b0381168114611ccf575f80fd5b919050565b5f8060408385031215611ce5575f80fd5b611cee83611cb9565b946020939093013593505050565b5f805f60608486031215611d0e575f80fd5b611d1784611cb9565b9250611d2560208501611cb9565b9150604084013590509250925092565b5f60208284031215611d45575f80fd5b6105d182611cb9565b60ff60f81b881681525f602060e081840152611d6d60e084018a611c64565b8381036040850152611d7f818a611c64565b606085018990526001600160a01b038816608086015260a0850187905284810360c086015285518082528387019250908301905f5b81811015611dd057835183529284019291840191600101611db4565b50909c9b505050505050505050505050565b5f60208284031215611df2575f80fd5b5035919050565b803560ff81168114611ccf575f80fd5b5f805f805f8060c08789031215611e1e575f80fd5b611e2787611cb9565b95506020870135945060408701359350611e4360608801611df9565b92506080870135915060a087013590509295509295509295565b5f805f805f805f60e0888a031215611e73575f80fd5b611e7c88611cb9565b9650611e8a60208901611cb9565b95506040880135945060608801359350611ea660808901611df9565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215611ed3575f80fd5b611edc83611cb9565b9150611eea60208401611cb9565b90509250929050565b5f8060408385031215611f04575f80fd5b611f0d83611cb9565b9150602083013563ffffffff81168114611f25575f80fd5b809150509250929050565b600181811c90821680611f4457607f821691505b6020821081036114ff57634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156104f8576104f8611f62565b634e487b7160e01b5f52603260045260245ffd5b818103818111156104f8576104f8611f62565b634e487b7160e01b5f52601260045260245ffd5b5f82611fde57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52602160045260245ffdfea2646970667358221220629edfc7909f103fc969418db4e23706337fd9d176bc0549defc88d1b44da42364736f6c634300081500330397da22ce5de4dec6edda43d65ffef3f6000b4dcd71cbd7b01c55b79dbf09109e031047a39e002b1854ead4e9eafd38ebb178dd2950e72f163b0752c192b85d02a700582002fd21e6586f520d907b65546a85f45225a98acd74ae0b43a4af75e63313b7cf434c4b400058200294658eaf253eed3919a1850af4185804578a75f15fb7dec26e7a5e0e8fef4e4347b76003312ea4d92ec493a575861d89f19140397246863652c59a9bec5f1e4b25f419e8005820022548e86cf418017e495b7053d112f0f4ab1b5869a65a2f083dd5ec89e913274401f603a0005820022809e5c7af940252ffed3fa74547d35bd0cebce5f6bf9d7e9d451481455cc44361a80000582002a3a3f39b3c7dfea7cc959051eac9a045074890d91b07966d5302e53f1738444401775dc000582002da4a817a79728be4af64a712c7c3522f52a5236c5d92fbe7e52915eb48452844028b8ce00219d84503d34b6912e55060b271ae13116fc7b248072e20477aefee8c4ecb9e008cc4b41303483f3dd109cf39c985c21176d3e91a22544e433087ea59c3af0f2602409131a903d1ffca19deed4f910301d5e27484a5ca74a29e6d6a3d9805b1d05f367444b162005820023b9c24347ec0b43687e49a28a17d0bc2691606e77238e111b51c8949433dd64364b54000582002e5411f796c1b7eff071eaa668ff83710b283055b12eb6db9f3645615ca1c17440283ebc000582002c39cadf4c84ad8528915ce482ff9634553b764f94737d8fd201f4047a7535643cc77c000582002230c5552eac314399e2c768979821fa21489a0d4c2a5257708e4105b3fc47443788b600219468000582002c89dc8617064d99de0761192662c762b0cbfa98aab51df3292e00cbe779a7a43200b20005820021d3adc75baec2447d864be5a1b773c089e4a78d2a13cb5a11b4d717f8197bb430f42400058200202c043d56cc4c6226463cea3dca77aeb710bdd9252b0b975c297f11c251a7f43124f80005820029e146a908fda6db9af9eda19aef23795ad2b26ec38daf8d75d3706ae05e0094333e14003ec5088389cc5e1a0bf07d2bf48acd7f7e44032eeede4c666149bca006ba1c18a0058200271c388b21ffbdacf4f096dd5d8f582c517f73093f07a639eef496b2ed964284373f7800219b64003a1bba79a3ed4a0685cb534e16a0cd2ea42346b1712485592c1002a8a05d21b12031d5056264ad5256841aa7b25e12d401eaffde2153264a3a41338ff10ba542c9f0354a07801c1367a5bb100439b1329d63497657e63e9244be1fb6152f55af3dc9a00582002fb94041812f5b5e36717d4015ff703e0bac9c58e8619b46813e91cf3bbdfa04401b7740000582002ac7d4e10f072d9f46be3db644ef1be450423557f8fa8d52ccc7cf0d7e8c3194a01e8f1c1080001149eda005820028cc1abdf685e3723e1efd60bf12032ae22e7fdcc0764628e756f26d7c5d760430493e003767053f122d79097fbbb7c98f9f423a52a0f734f632b27e0831cd116c9c78dc100582002e543e5b214d53090a5ac6875dc1943f152bc735fe8b3cc74b2b210acecd4f143970fe00322d174ab256fdb4c36737b92762b316b65e8fef58f217f61629ae5b75649cde900582002654f77514806419f4a38aaef8bbc0b524714d69d20705c4778229c9333b976434f588000582002754ca1b722133f7b0fe86a839509eca8c5e03bfa57d2a4e2afca5bef4280c34516642ad5d700582002ca043c68cf718711be0b12290dc34e48856c611017f048f97df9e75e14f18e437d1f40036789d0d9c1923ac1dbf3e024e0ab50d46f8d1ab9de3385542e8a39a9b14dc2f400582002db5484f42ac1c58168218adea1f91a62fc8a7d77a619f33aec988f6652006e43bb4b490219ae7d03f6a7ad0e79c122b338d3c34caa588215405b530a56f1f91f56fe51af192f83d0035d034ae2e1636ec7472bf4be3ed5d43529685e3475f936f2b6c8dd3929be5566031f856e86f4c699292715bedf9c3e8d6297b1968905254e75684b3432c960bd4d038801f158f38ddcf7a7f4b38f39e16d0bd0259db68017e7d3eef98fe6e1fe74490219ffff05581d02907ec3cfa69d85dd3c6e4c358b29e853304d3c8e3dbff6f43e445a98070119202d05581d02fd9dd63495f2d9048846a0649e5a41d8b8769b3ca7a0d2fe3cf727f50c01468f2fb1400e0002185003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e036802ae80cf4ce12da4d58c56a25471a62870f2c14faabcccf14bf5b83007011bffffffffffffffff0219e3d9039a61861dee6bb796e98b3b795a674e43656bd0fb4b7860889d7af4b39a8bdf990396a7e0a2d196a3138a15cd8ffd676a7ab8d11a81d1a7e7691745767f3404ed8603dec6217a1cc452ef5af8a21f3e92f4fbcb79d0aa71635402c46d64c44aa3738e0219ffff03bf0dc3b1bb57f065952bbe83b8a3bc9a830cd9d03e8416e1e25a859229bc780a0384c29616e36bcc5efb2eab98f2cd4275982f676305b64135c6a9f0821569bc1a03fc9408b246b54a4d112e295793544e8a1e91320d6e19cedfdeb711e08972c2ab0364114fe9af01efadf556d3837f9b0ecb08d610ee0f5ebf3819a71cec36b134f203bfa234250853e060a5278b1d7667507b027cf9e76fb9baee933e48bb9101413c0304308739682f1a0d8013db77eaee9dea19e76bf9969e7a5579c2874c0578dff203689b9e443e3764d457f7b2c22c90db38cad9f3573f4468612602b866f259b94f0334ae146c2c48ee2af95442e5bbfbcef7180399c3cf4b84074d473dd21fc242f8032a235937551db8a17f4ed041cde62bbeb800bb8fa344d7076fcf85ee8cfac33e03d63f068815b1f1d5136017c22269184d25043e3f0f1d5750d88b45aca445086203c206a31691247069829dc773c44e748355d0f2f66dd8a409a4cd0d6330af9d7e03177921be87bd45514b45ed5c01a60a91172714d8636e685d95dd45b4bff223a70307ded5bb1d5aa97d4d4229915db114f74185ce9617d80c43b9518ab488b9f161038281bc9d7cd0bd43cbced605f76172bfb350ae9e80ef0a5c3b26502dde3954bb0219ffff03616734526c129a3852897159591fb5eec0b678b19aa708bbc48bb1e6db26a29b039eed0f1e0e6e369f6137337975373798177583600762e1f8b1cba7c3a2f5295603991e416b97bf5e406ad28a90354116866a1060f1a5d8eb9766f7078f10d9c87d03841267be8d291756e79dbec6316473944cf0afd4eb46ac5ff13aaf67b0963879032e37a1d7706a2b8517408f2cd17e606ce30173fb07b3b407cffedc63f121635203fa9820f4f70611d7eba05b9eb714365ecb5183c52c9dd16fec581015710bc50a032eaf0fccce692be4ad308883af4e5faeda717c4d1fa4e4f10926ff63bfdb7627036e9f0c4f117bed65f4695a0e05662d74bd8e9148e4327a09f7316d5a3b65745503e5a92c5ae1958b74888adb3fa25c17f30fadbfb9b0543c05bad92a963d94dd670395cadd48d3505123151acd1ad1d9dec3a261d8d4ca5530c544dc35d2afaa39720219ffff03cf92b8979a676894364e0f77785d653862814ca494f4641deba2313706504065036418ec00e4f8fd448c003cfd9029da1d19998cb0533718f90c81cf7a2641e11603a4421be3dd118b1c434e5dd7b406abd7c463c71f918e961b55d8cdf7256988c303e1834aaec0d499aaa5a5a64ccd8d197b61c59e78793516bc903a390425112a550305ee9759faaaa1d3630b3db9a26e34722e2c913cb05c947080c71cf064e40637039a895caab57298001020512edb799eebbf49c2c9bb74b706d7f09fe6f33a730003bed46b4954e49a35e752641f603382de619a6aaa3962b86325585edc08c9910e03c3b3975fb931a95616b35b2dfd3c8cfe2705d1f8a795876133221524a89b4b50033353e02599f94fef88bca8ede1d7b577ec8d28013ca82626b689d0a44062488803e6c710e8473f3bcec5cb44fbd57e1beb48f338cb8ed2b3b946c717bf577af489036f57630ac7b7a0e77d7abfcba4c33b05436e5a64084296b45a5fa9b268ee63e8033256528c21d48395c1077c77f2b117dfd2a153aac00ee1ccf05d9cc7014f66a7035b4ab4e64e2ec5d0c42b68ba35948e2156783e365d7fb5dfaf665058c2e1eda30353964d2f184880f1db4cc030723ef7f11aed10e7ef8c8b8b36b60a65079897f503ca4bd94dfc4959317e8ed501958b680ba2b9923515d18f17f937dba6ea8eb15a03bdcf276694f341508da369e08f3d3824a32bb02547129e22ce135128460239c4037203ee0eccf89e5860bbe12c1deba265d28ae628dc0560abdff65db321301b2e03cd172e47b3df6ea808baa836772b3559747eadf1e1380319374f03276f7b800603b0fc2f77f4db7a13edfa8f2af21623fc33c665993b0cf23f41db0511e274de9903878d771dd50c40301b9c3f0ad7a73bc5f36c33e3a34be784056ec5b0c22fae6803b82f18b8043845e73cae063e9ffeadde3ba43031e54ab38da9902795d13284b003b97d9d71abef205f5132943fbdcf635c2dd7ee80350e2d8872b0f81115bc4a2903b5403b0da7bf9724a80e0bd78d446fea2c707547725531d62703713ba91bb9c80317f71902f2f1e0ca9871b58316303ea28cda7a3ddbe96ec34f12e76247dac08d032ab28ea259958c87dc987f622506bfe202450a4770f0430d71dcc734fafa40950322591b495bef360943f9e060e8b4f4d992341f06e53bce5e2323f5b88f39a2470357f5b601c39d224acbc960e5714e6fe30c6ea7ee80d1222e861e44545a09d1c803ff4c9f5c0e59aff022295b380d934e2857a2dec6c6a4e51dfb08efc449c763710306e7c49c06259ffefe69c91139058ddfc9c7979f793f60b6c8a5f626c01452fa05581e03d9ab0290a9dd356f9096641df5ce47c9f6eec327a11a153c78dc7b87700c01465d939a103a2c03a522a77020d700e5c514ccbe69e3a790f5c6394b87eb7736ac140960181d183c031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03c4b63b3c2dc8d1ca50adad69438e450c26647541382697608794da38b007011bffffffffffffffff05581e0379b29cfb68efd058e64ea5e9e1a4ffce49e676bd44758c9de3cbb696a00402039fa4285c7e5dbcd8918901616b84710fd6622b769ef71e53ddc6b1ebcba75d1a031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e0360b12e35e192fabb92b653f436a8d93a3fe4a31c6f0e0bb9b6aa660e9007011bffffffffffffffff05581e03512e5fd6aa467ba0275da97cb7898c314203ff01162ef999c2e6e85ab00c014744e45d81dea8480307e2c6b61c9af478c838e0cd185c69d3833252bafc6b482672d34ad9dc615c9205581e038b5dded3dcfdf54afa0824f0a97c21abf0f2645644c8c079a7e7d279900c174711e8334ea5ff0505581d027c3cf7663beb2da7bb9dc1c18bacdf107d0d93633f4e9071ca0f312c08470accb0eb3c140005581d026526f3239521117e32e590deb149db493bb5c665ac3aae6b493c9b20040104591045608060405234801561000f575f80fd5b5060043610610115575f3560e01c80635c975abb116100ad57806395d89b411161007d578063a9059cbb11610063578063a9059cbb14610243578063dd62ed3e14610256578063f2fde38b1461028e575f80fd5b806395d89b4114610228578063a457c2d714610230575f80fd5b80635c975abb146101c957806370a08231146101dd578063715018a6146102055780638da5cb5b1461020d575f80fd5b806323b872dd116100e857806323b872dd14610181578063313ce5671461019457806339509351146101a357806342966c68146101b6575f80fd5b806302329a291461011957806306fdde031461012e578063095ea7b31461014c57806318160ddd1461016f575b5f80fd5b61012c610127366004610e4e565b6102a1565b005b610136610347565b6040516101439190610e74565b60405180910390f35b61015f61015a366004610edb565b6103d7565b6040519015158152602001610143565b6002545b604051908152602001610143565b61015f61018f366004610f03565b6103ed565b60405160128152602001610143565b61015f6101b1366004610edb565b6104b1565b61012c6101c4366004610f3c565b6104ec565b60055461015f90600160a01b900460ff1681565b6101736101eb366004610f53565b6001600160a01b03165f9081526020819052604090205490565b61012c610622565b6005546040516001600160a01b039091168152602001610143565b6101366106e0565b61015f61023e366004610edb565b6106ef565b61015f610251366004610edb565b61079f565b610173610264366004610f6c565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61012c61029c366004610f53565b6107ab565b6005546001600160a01b0316331461030e5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b60648201526084015b60405180910390fd5b60058054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606003805461035690610f9d565b80601f016020809104026020016040519081016040528092919081815260200182805461038290610f9d565b80156103cd5780601f106103a4576101008083540402835291602001916103cd565b820191905f5260205f20905b8154815290600101906020018083116103b057829003601f168201915b5050505050905090565b5f6103e33384846108f7565b5060015b92915050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f19811461049b578281101561048e5760405162461bcd60e51b815260206004820152602d60248201527f45524332305374616b653a207472616e7366657220616d6f756e74206578636560448201527f65647320616c6c6f77616e6365000000000000000000000000000000000000006064820152608401610305565b61049b85338584036108f7565b6104a6858585610a50565b506001949350505050565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916103e39185906104e7908690610fe9565b6108f7565b336105485760405162461bcd60e51b815260206004820152602660248201527f45524332305374616b653a206275726e2066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610305565b5f81116105a75760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b335f908152602081905260409020548111156106155760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b61061f3382610c71565b50565b6005546001600160a01b0316331461068a5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b6064820152608401610305565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805473ffffffffffffffffffffffffffffffffffffffff19169055565b60606004805461035690610f9d565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156107885760405162461bcd60e51b815260206004820152602a60248201527f45524332305374616b653a2064656372656173656420616c6c6f77616e63652060448201527f62656c6f77207a65726f000000000000000000000000000000000000000000006064820152608401610305565b61079533858584036108f7565b5060019392505050565b5f6103e3338484610a50565b6005546001600160a01b031633146108135760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b6064820152608401610305565b6001600160a01b03811661088f5760405162461bcd60e51b815260206004820152602b60248201527f4f776e61626c655374616b653a206e6577206f776e657220697320746865207a60448201527f65726f20616464726573730000000000000000000000000000000000000000006064820152608401610305565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0383166109735760405162461bcd60e51b815260206004820152602960248201527f45524332305374616b653a20617070726f76652066726f6d20746865207a657260448201527f6f206164647265737300000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b0382166109ef5760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a20617070726f766520746f20746865207a65726f2060448201527f61646472657373000000000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610acc5760405162461bcd60e51b815260206004820152602a60248201527f45524332305374616b653a207472616e736665722066726f6d20746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038216610b485760405162461bcd60e51b815260206004820152602860248201527f45524332305374616b653a207472616e7366657220746f20746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610305565b610b53838383610dc9565b6001600160a01b0383165f9081526020819052604090205481811015610be15760405162461bcd60e51b815260206004820152602b60248201527f45524332305374616b653a207472616e7366657220616d6f756e74206578636560448201527f6564732062616c616e63650000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290610c17908490610fe9565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6391815260200190565b60405180910390a350505050565b6001600160a01b038216610cd65760405162461bcd60e51b815260206004820152602660248201527f45524332305374616b653a206275726e2066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610305565b610ce1825f83610dc9565b6001600160a01b0382165f9081526020819052604090205481811015610d595760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b6001600160a01b0383165f908152602081905260408120838303905560028054849290610d87908490610ffc565b90915550506040518281525f906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610a43565b600554600160a01b900460ff1615610e495760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a20746f6b656e207472616e73666572207768696c6560448201527f20706175736564000000000000000000000000000000000000000000000000006064820152608401610305565b505050565b5f60208284031215610e5e575f80fd5b81358015158114610e6d575f80fd5b9392505050565b5f602080835283518060208501525f5b81811015610ea057858101830151858201604001528201610e84565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ed6575f80fd5b919050565b5f8060408385031215610eec575f80fd5b610ef583610ec0565b946020939093013593505050565b5f805f60608486031215610f15575f80fd5b610f1e84610ec0565b9250610f2c60208501610ec0565b9150604084013590509250925092565b5f60208284031215610f4c575f80fd5b5035919050565b5f60208284031215610f63575f80fd5b610e6d82610ec0565b5f8060408385031215610f7d575f80fd5b610f8683610ec0565b9150610f9460208401610ec0565b90509250929050565b600181811c90821680610fb157607f821691505b602082108103610fcf57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103e7576103e7610fd5565b818103818111156103e7576103e7610fd556fea264697066735822122036575823465540cb1277c31fc2caf8a9189293837511e06209ac0d70400a979364736f6c63430008170033030ef6d3e7960a317c69218d5d92fdce0fff31359989e6286e3df138ebd3e077ab038f7a887c84db31a58a7a0d0e2b9cae5f46976bd7c5746d61462c159ef9beb7fd037ddd5d7bdfcf55613eac5419a350efbba184cb7762235338304f1f20aa66680900582003c267cea428e8ac6981847912a61e91dd8a81408df2120fdbdc18ee5738db505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200386ca55ac77e42f21d8d4b4f9d9f8b470857abdb53413f4f0b1ff977210e2105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032425b7cc50df3122b79c56bb6ed94aae8706786a3fc241b67a4121284b7a93bd005820032b1e2be0efa02a0adad205ad4bb7958ce3ba49e2b4a0b886580182c7cee3605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c8fff7b3b19212c06ba5cd02a40e8e35caad1e4f66030a939b436c26c904c04bfb822c05ed3c6632725a3800582003b5f6ad52279217dd61a2354ac2e6f185a14e8022baa685bfcedd76a8d7e0305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f2f989a56404bc1f6b91dd7f8cbedd6f8055dfc7c74e7bc988945620f3fbc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0368c5d0368755d261f1f9a1669660ce112928907bca9c1ecd473061d723429ea9021929d303cd4e056c0fd51d69c969a168d17c01e51d9e02460f6174e1c83567b4c5971f420348a3fa607473f9c44193783186048a09fec318ae1e0085695dbf6dbfa0956607039f1c7528b052bc79e1b670c3dc4bbf8b95dec056f2e2b64f12a65336f2cb0f0603d7b84c8a88b50ba2b2f04f2bdf8b78a3ff9d1e1d288b99fd1560369e73e73e3003a8a4a943b7378169804a11f35ef9a480a77ccdb3ad09463511f15347f6220ba6032d63edd8657cbad64271f9dc865c8b19a638f3b674c49ee6a42cadd59ce6c9870058200367dc8a9205ffc5917d62479cc780f8a26f9c7c4888c021204281e00af14ee04b0f8eeb71aac39ef7a9394903d6ebe4e8cb46105d5cfb523ed0411f04ae53398629e81c0cc5b40b1f3567cb9b00582003464f451c68b0bb0b14ab97bff7d5d7a06f1d5f220a6481ef7cc737ca23b8b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f02809787849eafe5457bab1af5c01c25b4e1a7c19fca2e214aac9e5c550c04d01ae83e8d8cf3f7c0d940b5f49005820030b6e70c090a7b20f9eb912c5084325285c918ceddc49c3c8003bf3a140d0205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c43f77d64a206b64736c351a36e75d815d084672625b8edc5c3455db40f1304b068d08401270e02ec65d470058200341effc6778304fe0c4f2037d7ba9ff35e62c3211a69a05e4035684f0ff65804b984f9e6c1e85048c6ccb7f00582003933b78e9e0c7c0824f5f4836a06a3babc51260820e89e2c2d5ac463c86b8b04c1c0ae8955648488a18f40000005820032091dee59f5a2ae4d2b59babef3f726aa87d7bc579d964cf7fdd83e562b9305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032ebbf4f7ea76d48e198e701cc06ad683e577e4645d7700031024252d31ec4045829e12ccd000582003dba0d6754d0a91113bc40f5a7f987e0a8f351e2a73cb21b1ffc1fcf0e30cd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ee57032fb66ec702797efe4a32d372876b70baac6b3c9f2ea2efa52153695d55dcf4f0031ae4d928f9deb5753204775c1bb5ce9f1f54130b3fd7053b8f988c762c48d69b0326046a9dd92cb8859d048845d1c5cc69d019c0502c2967b21ea1c70aa777ef6703ecb601fc06dbdeda1cbe6ba391625d3e3017871e8baf2574d33e073e4924528a032b413a401bd7298f128397fb7cfdc4a1ccc0259a5a00722a68f507e0b0ba40e20219ffff033ae4a1b76ecfb43d4d9871e73713284c2bafdb4f46d8be5662ba238c772a3e8a03221ea367a118474a7e851aae55cb261d8cf52c262e5ceb9baa216ca1bed1b41a0365afebb3bec495b0df621631c14c9b043bca7012b612f6b73b12c4ccf0818748037daa6927795b31fa9bb14d5e059446a9aebb0a6f34d6346dd1e2572d12e6d66703236adbf1027a386b3cf1b492cf630bd609fcdc082279829eb268bfca634e24db03b42d7cee63a02e7d1be0ffac5b5e5e07988a009fd5f5b9fe1d30b368a01f50cd03cd94f501d998ab4393f95215230d95c449c6a366994c14c6e4c8149f79048d63031dad079ca45d67b0f1d3c20e16bd119dabcfe602c59635022c2c4507f26a893e0359247cf4ab5989a347b97eede8ac7ab49abc4dd5eefefd857b3307728ccbb9cb032968fe32a1e83dc6d0381f3a806bdce0ac1b48f92d8102c3ead026d4b23d885c00582003ded70e896a2fdbc0a3d075c10f8aa2795261bea4089a55b70028cd4c1dfec05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200304e679ba5bb20bd6bc7ce3a5ed95ce401916d786c62b0c2e8323685e6cdec05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f61820bd54925bf8ad4a9dc09d3df9d5b445a521a4976b9e1aa4378e03f10f1c03a5193835ec638a8a4bfb24d68476c38a54b5ec44eea3f0a32561db0971d8b4270058200391ce8db59c0d6bcb8bc51537bf750bcfaf36461ac1fbeefbbf315043291fd04c09b18ab5df7180b6b80000000058200301dcc81741fe07f83dd7307169bc38f6e7ef1d9b0741c4fb7bfa7eae7b99905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820039f7816be035ef8df765d20985a3f0ae34801a2e0e236a9cbb198c5660978005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034d93d83fb3651e79fbc39ab942dd1e0ddf68ca535c747bb36ba45a4b4691978b03484832b31c95ffd957bbf509d8db94d382d35b885463181bf158c9a3d8825f380219c1de0304dfc9e72987305977e6f2772ead408cb979e5f711b5f59e981c9536f2e6f18903960758779d04fc315a2c77779139c105ddc6282bbaffd80b57d20a90e158198803f66cda44ca52ef2901d4201b3f32fe3461c176be963255a1303ca324e8bc903003d2996df4144096fbf17fee6e23805f4ddad48b04d079c4fbe1e556245e9e99430370bed92d8b52b59db4e9d65996023e19ab52a1d6625d725abc6772dc129da54d03682716df6467106369913c02596f0016c33c4d8a11d346142c6116637d30711c0352b77165c77e954b373548de3d4ac2cabbf35e0d029d2cda9d4b2dd9fce0287103766294e4d2f25b094685976e77ddc259d90b6b23f2f1ed2f9888e521a404875703869a86630fdab06a93471dfa18ae26e75b3805ae7e2f39354325b634104a7475033a349187a0d44c4ed0133027a9507be30c5d73fb0603552588a115f75da4135a033449f645f2199817be3fb28f4e669a197d1d3acd9d42afd29c36dd449062a9b603a0fb672d7cb48ace2f1c7ef00c4f4b569ebed444a379f42769c4d743ddeb32100311773fe48b72e5b8700190ad08fbeaac320737b96664a941e9019a4773454ed303b2acc8b6c1fbafe4725094ff31f0ad8162df6c0bdb812ec209f4e5e94d989dce0219ffff03ec60047731d5158d64703a6df997170c5fe7637e5b56ac8a9261ab2eab42c74d0301ae8bb11820650a8a3fc4d436749a5e1ff4e39ff8104f48c6a09fcdf03ad4f003caf2243a80ab2e1972c4e526b562ea342278b2b02d55ae11b4dd3cd1aff9821703c18663111b3e6784f128ba5496010bf0b8d773785621f0cbb07587292bc6e5ee034fa3c248777b974b8e31d41ab515db7d7e923011e8f933c69f50e6d47249f87f0219ffff05581d028805254c4e619dcc39f3e70ddddf469798cdf56599b19efa9ff63a7107011910450219206003d75f6883ac458a4528483a72c1bc3cc2bde6b9c9c343917721ff6cc80e0374a905581e038aec84ef803b663eaabfb7c899e624b5288de18cce73b9bf9354e7dc000c02470893296d0cc5e005581e03c4f64461f41c5ad0fed41932f8986a374a5e21623be81e6e721a88ef600405031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03b2b4a87722f12d39e5a4e881fa9b4dad9b6c2b6345ff7b30142cde8f0007011bffffffffffffffff0219ef7f03fda786475ac131cf78b7fe9101f7295a18c61081b6c926f4af8d675f08a6179903eba3fd41271ab809f03852dea6852157868ceb4bb22079e364996673f3b27a9003faee0977bc1accc22b28a3509f77fb0220e77cbd0d443ff9f3f36be8b3a3c77803611bdb168769990e6a2e4e1889adcb70c4d28a2c73b5169f3e7958dda9987dac0219ffff03409e78ba7e81f4127c6dd67e3330900b3f028563e07b8d8ee18ab2a5bc8bf40c0335cf8d9a56821e4619b141150ad85621c3f5f880353196756a98f3298b07ac0803dde9d7af24f45585910b0ac6b5aa3b4b0b37384913e3b547311505a7fb386f0d03df9d96fd79c79b085c4f97dd46b6de5c69befe9b658a84dcebedf3726378807f03de2f4d3e1e146818a74496a6b9540b048ae8c6c4261a346c115d33af370bd1c30386a44c380c3ad28d588b42910edcc81f4d40b868067ffa8dadfa7f4fe1586943038fca6019285f75bc7fc9165bb6d7ad36d1a0a7a205e1dc5156c7078a0f41e834036946a8126a40129fb78e469934cca59ee5d37b7c64a85302c3ab3a4aedbc44ae0329d6fab1012d15bb24a5555f069e02085382deb14536125554b1dd9f4086f57603a447845db4adb215bbf2656b0ad38d85e1601a969d439b1fa58aa2180b910c480389625af592c052f22279c381e86c848d7c01d140630b8b75993d8f721df9afeb0348eb29cb93146910ce540d6ff928903d15d7b8869ba11cec2b74c0f7b355593f0219ffff0342bad1fcae613a291e955552ed9539aea09d81f3e9901861288e9ce75527bb260312033457a40896156706dbb3a14ecd124daabd7139a640c50e3a8b8aa5189bd2036777bd6029a018bda01027a141bde1baba29dba20238b1fde1a04e8880071d85036ef67a4f66372aac3a476de2069bbb7850829aa3a2d812fb5e13302d2946278a039d7fdb0124bb89d6beebaf31176b64a2df9c96f567ff631faa23cae07d043a0503d5ba0a7164284ce0a5963833afc5a656bbdf3124c9ba978934234158abfa3c89034134401d55ab8657b70147709d58bc4dec5d6d30f844f20cd9d502bf4a2f2c1403e96d3fb4853cae6a58228a5708bcd15bae76133d44ec8e7e6fb6fb2961582bc503d6d69db198c4a5fafd38400212389e83ebd10f5a36a35441f9aaa4dd59f89529030e57be49466b87cf3023d3c404701ec35e982c749a7cb7bf55074de1455ab33e0219ffff03e12e418c04a19dc85ee67ccfe55bf96ff94369f8e796835d91455e5355d0bebf03b37fe2a1b1304146f88ba91889b8c162dad9cdc834adf9eb485d94492bed2cf8033c598b4cecf12003c4ea9afdbb6705eed722dce2504c008621d4c050586db13903038c1b1fd21e29751cfcff04d07c1eb169da68747ba46375f733500fd89a71260219ffff032ac7ca1c910e410805080bd19cb0d43aa4985fdf31c5246727b51cd6e34f3b0f03a835a25dce0412726e085360d078c0853b1f1549163362f07847ef7b075aed5c030016e3a76d60c3c3f2b55479620da5c9c6286805cfad2d49a522bfb53039e2f3039665d980f32a2ca5244ddb4f41e1fe09be277b35023c5aaf3396dfc66f54bcf5033928ddd055f21fce84933b58f63b6f9937bbdaaa1b895f7570aee7bb5d926631030b1c918c010951f41aec1d5a2106e4315ac6d24934ca6017e075cb5a2a68021103fd9edf478cae33dde7a01d4f8ed2b4b95c2a1402de33415764895ab8babe8fef0323b338485a9a4c3013ab5733d1d83462378f5c08a7ebd1645175e468aee24a9f03b226ae18ccf1e6b17ebe5fcbc2ea66dfd8d20e7f33949ff78ebd48c1c6b81ebe05581e03e0833c9a6bd4a1ac36850a62c4012cbef8724d84c342728bf310af1940040205581e039a53016fc11537f8108d40fd5eb305730b973676d0d45f0c4f88808500040405581e036001c4889dc3e713ed02fcc9cab9bbad7863bb27a1e8b1b552c0bd72700847a86fe78d8dd48a05581e03991b2266ac19ee8b051d14c0c8e0f91d76fcd27c0df828f049fc1cb2a00c01472386f26fc1000005581e03e3808e141b997a17bdb8c8738359774c81d8aa7f0488119e050e7c6ce00c054689bf9914400005581e032990ee508758f7651acaa0542fc1b4bb243de1a2235b543c6448c14f900c0142290405581e03b069641cdca6c6b812ae10276664878871b3bf049eb89c676eb57d2900040105581d027d22d561610232c90d3eba1949f0af76037757b493b8dd42ed6f0ee80401045957d46080604052600436106102f65760003560e01c80637e54f0921161018f578063bf15fcd8116100e1578063d365c6951161008a578063f2fde38b11610064578063f2fde38b14610859578063f78dc25314610879578063fa461e331461088c57600080fd5b8063d365c69514610813578063e449022e14610833578063e5d7bde61461084657600080fd5b8063c805a666116100bb578063c805a66614610799578063ca4ece22146107b9578063cf6fc6e3146107d957600080fd5b8063bf15fcd814610744578063bfa7514314610764578063c53a02921461078457600080fd5b8063942461bb11610143578063bc80f1a81161011d578063bc80f1a8146106f1578063bd61951d14610704578063bddccd351461072457600080fd5b8063942461bb146106915780639570eeee146106be578063bc1ed74c146106d157600080fd5b806383197ef01161017457806383197ef01461064157806384bd6d29146106565780638da5cb5b1461066957600080fd5b80637e54f092146105f4578063825caba11461062157600080fd5b80635a0998431161024857806370ae92d2116101fc57806372c244a8116101d657806372c244a81461059457806374261145146105b457806378e3214f146105d457600080fd5b806370ae92d21461053257806370ccbd311461055f578063715018a61461057f57600080fd5b806363592c2b1161022d57806363592c2b146104d25780636c838250146104f25780636fe7b0ba1461051257600080fd5b80635a099843146104ac57806362e238bb146104bf57600080fd5b80632d9a56f6116102aa5780633eca9c0a116102845780633eca9c0a1461041b5780634f38e2b81461044957806356f161241461046957600080fd5b80632d9a56f6146103bb57806337e7316f146103db5780633c15fd91146103fb57600080fd5b806312aa3caf116102db57806312aa3caf146103435780632521b9301461036b5780632cc2878d1461038b57600080fd5b80630502b1c51461030a578063093d4fa51461033057600080fd5b36610305576103036108ac565b005b600080fd5b61031d61031836600461483f565b6108b6565b6040519081526020015b60405180910390f35b61031d61033e3660046148a9565b6108d0565b610356610351366004614975565b610d16565b60408051928352602083019190915201610327565b34801561037757600080fd5b5061031d610386366004614a17565b610fd1565b34801561039757600080fd5b506103ab6103a6366004614abf565b611001565b6040519015158152602001610327565b3480156103c757600080fd5b506103566103d6366004614af1565b61104b565b3480156103e757600080fd5b5061031d6103f6366004614af1565b61114a565b34801561040757600080fd5b5061031d610416366004614a17565b611164565b61042e610429366004614c15565b611188565b60408051938452602084019290925290820152606001610327565b34801561045557600080fd5b506103ab610464366004614c72565b6111aa565b34801561047557600080fd5b5061031d610484366004614cbe565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61042e6104ba366004614cea565b6111d5565b61042e6104cd366004614d60565b61132b565b3480156104de57600080fd5b506103ab6104ed366004614abf565b421090565b3480156104fe57600080fd5b506103ab61050d366004614af1565b611355565b34801561051e57600080fd5b506103ab61052d366004614c72565b611384565b34801561053e57600080fd5b5061031d61054d366004614e0c565b60016020526000908152604090205481565b34801561056b57600080fd5b5061042e61057a366004614e29565b6113aa565b34801561058b57600080fd5b506103036113f1565b3480156105a057600080fd5b506103036105af366004614ecd565b611403565b3480156105c057600080fd5b506103ab6105cf366004614c72565b6114b2565b3480156105e057600080fd5b506103036105ef366004614cbe565b611524565b34801561060057600080fd5b5061031d61060f366004614abf565b60009081526002602052604090205490565b34801561062d57600080fd5b5061030361063c366004614abf565b611544565b34801561064d57600080fd5b50610303611553565b61031d610664366004614ef0565b61155e565b34801561067557600080fd5b506000546040516001600160a01b039091168152602001610327565b34801561069d57600080fd5b506106b16106ac366004614f67565b611571565b6040516103279190615001565b61042e6106cc366004615045565b61162a565b3480156106dd57600080fd5b5061031d6106ec366004614abf565b611767565b61031d6106ff36600461483f565b6117b7565b34801561071057600080fd5b5061030361071f366004615082565b6117c6565b34801561073057600080fd5b5061030361073f3660046150be565b611867565b34801561075057600080fd5b5061031d61075f366004615082565b611872565b34801561077057600080fd5b506103ab61077f366004614c72565b6118bd565b34801561079057600080fd5b50610303611930565b3480156107a557600080fd5b5061031d6107b43660046150e0565b61193a565b3480156107c557600080fd5b506103ab6107d4366004614c72565b611971565b3480156107e557600080fd5b506103ab6107f4366004614cbe565b6001600160a01b03919091166000908152600160205260409020541490565b34801561081f57600080fd5b5061042e61082e3660046151a4565b611998565b61031d610841366004615295565b611a2c565b61042e6108543660046152e8565b611a3b565b34801561086557600080fd5b50610303610874366004614e0c565b6124cb565b61031d6108873660046153ac565b612558565b34801561089857600080fd5b506103036108a7366004615416565b612573565b6108b4612785565b565b60006108c63387878787876127be565b9695505050505050565b60006001600160a01b0388161580156109085786341461090357604051631841b4e160e01b815260040160405180910390fd5b610a24565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316896001600160a01b0316036109f057506001341561096357604051631841b4e160e01b815260040160405180910390fd5b6040516323b872dd60e01b808252336004830152306024830152604482018990527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc291632e1a7d4d60e01b9060008060648382885af16109c6573d6000823e3d81fd5b8181528a60048201526000806024836000885af16109e7573d6000823e3d81fd5b50505050610a24565b3415610a0f57604051631841b4e160e01b815260040160405180910390fd5b610a246001600160a01b038a16338d8a612b30565b8015610ab85760008b905060006327a9b42460e01b90506040518181528a60048201528960248201528860448201528760648201528c60848201528560ff1c601b0160a48201528660c48201526001600160ff1b03861660e482015261012061010482015264a62929c86960d31b610143820152600080610149838d875af1610ab0573d6000823e3d81fd5b505050610d07565b6001600160a01b0388161580610aff57507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316886001600160a01b0316145b15610c75576040517f4cb6864c00000000000000000000000000000000000000000000000000000000808252600482018b90526024820189905260448201889052606482018790528c918a1560018114610b5e57306084830152610b65565b8d60848301525b508560ff1c601b0160a48201528660c48201526001600160ff1b03861660e482015261012061010482015264a62929c86960d31b610143820152600080610149836000875af1610bb8573d6000823e3d81fd5b507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03168a6001600160a01b031603610c6e57604051630d0e30db60e41b8082527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29163a9059cbb60e01b906000806004838f885af1610c42573d6000823e3d81fd5b8181528f60048201528b60248201526000806044836000885af1610c69573d6000823e3d81fd5b505050505b5050610d07565b60008b90506000632b651a6c60e01b90506040518181528b60048201528a60248201528960448201528860648201528760848201528c60a48201528560ff1c601b0160c48201528660e48201526001600160ff1b03861661010482015261014061012482015264a62929c86960d31b610163820152600080610169836000875af1610d03573d6000823e3d81fd5b5050505b50939998505050505050505050565b6000808660a00135600003610d57576040517f0262dde400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d666020890189614e0c565b90506000610d7a60408a0160208b01614e0c565b90506000610d90836001600160a01b0316612bcd565b905060c08a013560021615610dd55780610dab576000610db1565b89608001355b3411610dd057604051631841b4e160e01b815260040160405180910390fd5b610e06565b80610de1576000610de7565b89608001355b3414610e0657604051631841b4e160e01b815260040160405180910390fd5b80610e4f578715610e2557610e256001600160a01b0384168a8a612c06565b610e4f33610e3960608d0160408e01614e0c565b6001600160a01b038616919060808e0135612b30565b610e608b338c608001358a8a612cbf565b60808a01359350610e7a6001600160a01b03831630612d1f565b945084600003610eb6576040517f28ebf24700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000199094019360c08a013560011615610f4f576000610edf6001600160a01b03851630612d1f565b90506001811115610f0e5760001901610ef88186615473565b9450610f0e6001600160a01b0385163383612dca565b610f1c8560a08d0135615486565b610f2a60808d013588615486565b1015610f495760405163f32bec2f60e01b815260040160405180910390fd5b50610f74565b8960a00135851015610f745760405163f32bec2f60e01b815260040160405180910390fd5b600080610f8760808d0160608e01614e0c565b6001600160a01b031614610faa57610fa560808c0160608d01614e0c565b610fac565b335b9050610fc26001600160a01b0384168288612dca565b50505050965096945050505050565b6000610fe76001600160a01b0389168484612c06565b610ff48988888888612eaa565b9998505050505050505050565b600060d082901c60a083901c65ffffffffffff168361101f83421090565b801561104257506001600160a01b03811660009081526001602052604090205482145b95945050505050565b6000803361105f6080850160608601614e0c565b6001600160a01b03161461109f576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110a88361114a565b6000818152600260205260409020549250905060001982016110f6576040517f41a26a6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518281526020810184905233917fcbfa7d191838ece7ba4783ca3a30afd316619b7f368094b57ee7ffde9a923db1910160405180910390a26000818152600260205260409020600190559092909150565b600061115e611157613131565b8390613258565b92915050565b600061117a6001600160a01b0389168484612c06565b610ff48989898989896127be565b600080600061119a87878787336111d5565b9250925092509450945094915050565b60008060006111b985856132d7565b915091508180156111c957508581115b925050505b9392505050565b60008060006112356111e5613131565b601f198a0180517f74ab4f0cde46aaf927859983f7d04002116dd057d4c4941f6dbfb775c3e31f4582526101008220915260405161190160f01b8152600281019290925260228201526042902090565b9050600160fe1b8516156112a957600160fd1b851615801590611259575060418614155b15611277576040516317c2b1f160e01b815260040160405180910390fd5b6112878860600151828989613466565b6112a4576040516317c2b1f160e01b815260040160405180910390fd5b6112d6565b6112b988606001518289896134bb565b6112d6576040516317c2b1f160e01b815260040160405180910390fd5b6112e1888686613522565b60408051848152602081018490529295509093507fc3b639f02b125bfa160e50739b8c44eb2d1b6908e2b6d5925c6d770f2ca78127910160405180910390a1955095509592505050565b60008060006113418b8b8b8b8b8b8b8b33611a3b565b925092509250985098509895505050505050565b600080600061136b61136685613b2e565b6132d7565b9150915081801561137c5750806001145b949350505050565b600080600061139385856132d7565b915091508180156111c95750909414949350505050565b60008060006113d185858c604001516001600160a01b0316612c069092919063ffffffff16565b6113de8a8a8a8a8a6111d5565b9250925092509750975097945050505050565b6113f9613b45565b6108b46000613b9f565b8060ff16600003611440576040517fbd71636d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526001602052604081205461145e9060ff84169061549d565b336000818152600160205260409081902083905551919250907ffc69110dd11eb791755e4abd6b7d281bae236de95736d38a23782814be5e10db906114a69084815260200190565b60405180910390a25050565b60008080805b63ffffffff87821c1692508215611517576000806114db61136686868a8c6154b0565b915091508180156114ec5750806001145b156114ff576001955050505050506111ce565b50839250611510905060208261549d565b90506114b8565b5060009695505050505050565b61152c613b45565b6115406001600160a01b0383163383612dca565b5050565b61155033826000613c07565b50565b61155b613b45565b33ff5b6000610ff489338a8a8a8a8a8a8a6108d0565b60606000825167ffffffffffffffff81111561158f5761158f614b26565b6040519080825280602002602001820160405280156115b8578160200160208202803683370190505b50905060005b835181101561162357600260008583815181106115dd576115dd6154da565b6020026020010151815260200190815260200160002054828281518110611606576116066154da565b60209081029190910101528061161b816154f0565b9150506115be565b5092915050565b600080600061168a61163a613131565b601f19890180517f74ab4f0cde46aaf927859983f7d04002116dd057d4c4941f6dbfb775c3e31f4582526101008220915260405161190160f01b8152600281019290925260228201526042902090565b9050600160fe1b8416156116e657600160fd1b8416156116d6576116b48760600151828888613c9b565b6116d1576040516317c2b1f160e01b815260040160405180910390fd5b611713565b6116b48760600151828888613d05565b6116f68760600151828888613d5a565b611713576040516317c2b1f160e01b815260040160405180910390fd5b61171e878533613522565b60408051848152602081018490529295509093507fc3b639f02b125bfa160e50739b8c44eb2d1b6908e2b6d5925c6d770f2ca78127910160405180910390a19450945094915050565b600081815260026020526040812054806117ad576040517fb838de9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000190192915050565b60006108c68686868686612eaa565b600080846001600160a01b031684846040516117e3929190615509565b600060405180830381855af49150503d806000811461181e576040519150601f19603f3d011682016040523d82523d6000602084013e611823565b606091505b509150915081816040517f1934afc800000000000000000000000000000000000000000000000000000000815260040161185e929190615569565b60405180910390fd5b611540338383613c07565b6000806000611882868686613da9565b9150915081611042576040517f1f1b8f6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080805b63ffffffff87821c1692508215611923576000806118e661136686868a8c6154b0565b915091508115806118f8575080600114155b1561190b576000955050505050506111ce565b5083925061191c905060208261549d565b90506118c3565b5060019695505050505050565b6108b46001611403565b60006119506001600160a01b038b168484612c06565b6119618c8c8c8c8c8c8c8c8c6108d0565b9c9b505050505050505050505050565b600080600061198085856132d7565b915091508180156111c9575094909410949350505050565b6000808060148410156119d7576040517fd9e1c6dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660006119e68888613dd7565b91945092509050611a016001600160a01b0384168383612c06565b505050611a158e8e8e8e8e8e8e8e8e611a3b565b9250925092509b509b509b98505050505050505050565b60006110423386868686612eaa565b600080806001600160a01b038416611a7f576040517fb0c4d05f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a888c61114a565b6000818152600260205260409020548894508793509091508c906000198101611add576040517fecef366400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611aef60c0840160a08501614e0c565b6001600160a01b031614158015611b1e575033611b1260c0840160a08501614e0c565b6001600160a01b031614155b15611b55576040517fd4dfdafe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611c5857611b75611b6d6080840160608501614e0c565b848f8f6134bb565b611bab576040517f5cd5d23300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060c0810135366000611bbd84613e15565b91509150600160ff1b89166000148015611bd8575060148110155b15611c51576000366000611bec8585613dd7565b91945092509050611c076001600160a01b0384168383612c06565b60008881526002602052604090205415611c4d576040517fc5f2be5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505b5050611c5d565b600019015b6000611c6883613b2e565b90501115611caf57611c7982611355565b611caf576040517fb6629c0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8415841503611ce9576040517ee2a52200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003611d795780851115611cfd578094505b611d1b611d0983613e23565b8460c00135888660e001358689613e31565b93506001600160ff1b038716611d318682615486565b611d3b8b87615486565b1115611d73576040517ffb8ae12900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50611e44565b611d97611d8583613e67565b8460e00135878660c001358689613e75565b945080851115611dec57809450611db0611d0983613e23565b935087841115611dec576040517f939c420400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160ff1b038716611e008582615486565b611e0a8a88615486565b1015611e42576040517f481ea39200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b841580611e4f575083155b15611e86576040517ffba5a27600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84810390508060010160026000858152602001908152602001600020819055508d6060016020810190611eb99190614e0c565b6001600160a01b03167fb9ed0243fdf00f0545c63a0af8850c090d86bb46682baec4bf3c496814fe4f028483604051611efc929190918252602082015260400190565b60405180910390a26014611f0f83613e89565b905010611fb2576000366000611f2c611f2786613e89565b613dd7565b919450925090506001600160a01b0383166396a10e3387611f536080890160608a01614e0c565b338c8c8a89896040518963ffffffff1660e01b8152600401611f7c9897969594939291906155ad565b600060405180830381600087803b158015611f9657600080fd5b505af1158015611faa573d6000803e3d6000fd5b505050505050505b611fe5611fc56040840160208501614e0c565b611fd56080850160608601614e0c565b8888611fe087613e97565b613ea5565b61201b576040517f70a03f4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60148a106120f35760003660006120328e8e613dd7565b9250925092506000836001600160a01b031663ccee33d7338b8b87876040518663ffffffff1660e01b815260040161206e959493929190615600565b6020604051808303816000875af115801561208d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b1919061562f565b905087811180156120d057506120ce6120c987613e67565b613f00565b155b80156120e557506120e36120c987613e23565b155b156120ee578097505b505050505b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21661212d6060840160408501614e0c565b6001600160a01b03161480156121435750600034115b15612359578334101561216957604051631841b4e160e01b815260040160405180910390fd5b833411156121df57604051600090339034879003908381818185875af1925050503d80600081146121b6576040519150601f19603f3d011682016040523d82523d6000602084013e6121bb565b606091505b50509050806121dd5760405163b12d13eb60e01b815260040160405180910390fd5b505b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561223a57600080fd5b505af115801561224e573d6000803e3d6000fd5b50506001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216925063a9059cbb91506000905061229760a0860160808701614e0c565b6001600160a01b0316146122ba576122b560a0850160808601614e0c565b6122ca565b6122ca6080850160608601614e0c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602481018790526044016020604051808303816000875af115801561232f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123539190615648565b50612411565b341561237857604051631841b4e160e01b815260040160405180910390fd5b6123db61238b6060840160408501614e0c565b33600061239e60a0870160808801614e0c565b6001600160a01b0316146123c1576123bc60a0860160808701614e0c565b6123d1565b6123d16080860160608701614e0c565b87611fe087613f75565b612411576040517f478a520500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601461241c83613f83565b9050106124ba576000366000612434611f2786613f83565b919450925090506001600160a01b038316633504ed628761245b6080890160608a01614e0c565b338c8c8a89896040518963ffffffff1660e01b81526004016124849897969594939291906155ad565b600060405180830381600087803b15801561249e57600080fd5b505af11580156124b2573d6000803e3d6000fd5b505050505050505b505099509950999650505050505050565b6124d3613b45565b6001600160a01b03811661254f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161185e565b61155081613b9f565b60006125688787878787876127be565b979650505050505050565b6125cc565b3d6000803e3d6000fd5b8061258f5761258f612578565b600160005114601f3d11163d151780611540577ff27f64e40000000000000000000000000000000000000000000000000000000060005260046000fd5b604051601581017f0dfe1681d21220a7ddca3f43a9059cbb23b872dd0000000000000000000000008252602081600484335afa61260b5761260b612578565b60208082016004808501335afa61262457612624612578565b602060408201600460088501335afa61263f5761263f612578565b600080600088136001811461265d5760208401519250879150612665565b835192508891505b507fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000084526060832083527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460208401526001600160a01b0360558520169250338318156126f6577fb2c027220000000000000000000000000000000000000000000000000000000060005260046000fd5b60843592507f0dfe1681d21220a7ddca3f43a9059cbb23b872dd00000000000000000000000084523083146001811461275757836014860152336034860152816054860152612752602060006064601089016000885af1612582565b61277a565b33601086015281603086015261277a602060006044600c89016000885af1612582565b505050505050505050565b3233036108b4576040517f1b10b0f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006128b9565b7f0902f1ac0000000000000000000000000000000000000000000000000000000081526000604082600484875afa6127ff576127ff612578565b60603d14612831577f85cd58dc0000000000000000000000000000000000000000000000000000000060005260046000fd5b81516020830151861561284057905b8785029250633b9aca008202830181840204925050507f022c0d9f000000000000000000000000000000000000000000000000000000008252841594508415810260048301528481026024830152866044830152608060648301526000608483015260008060a4846000885af16108c6576108c6612578565b6dffffffffffffffffffffffffffff8511156128f9577fcf0b4d3a0000000000000000000000000000000000000000000000000000000060005260046000fd5b60405160c081016040528260051b84018435886000811461296957341561292b57631841b4e160e01b60005260046000fd5b6323b872dd60e01b84523360048501526001600160a01b03821660248501528860448501526129646020600060648760008f5af1612582565b6129ff565b34891461298157631841b4e160e01b60005260046000fd5b630d0e30db60e41b84526000806004868c73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16129b5576129b5612578565b63a9059cbb60e01b84526001600160a01b0382166004850152886024850152600080604486600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16129ff576129ff612578565b50879350602086015b82811015612a50578035612a446001600160a01b03821663ffffffff60a01b851660a01c600160ff1b86166001600160a01b0387168a8a6127c5565b95509150602001612a08565b50600160fe1b81168015612adf57612a873063ffffffff60a01b841660a01c600160ff1b85166001600160a01b03861689896127c5565b9450632e1a7d4d60e01b8452846004850152600080602486600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1612ac457612ac4612578565b600080600080888f5af1612ada57612ada612578565b612b0b565b612b088b63ffffffff60a01b841660a01c600160ff1b85166001600160a01b03861689896127c5565b94505b50505050838110156108c65760405163f32bec2f60e01b815260040160405180910390fd5b60006323b872dd60e01b905060006040518281528560048201528460248201528360448201526020600060648360008b5af19150508015612b8e573d8015612b8457600160005114601f3d11169150612b8c565b6000873b1191505b505b80612bc5576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b60006001600160a01b038216158061115e57506001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1492915050565b600060e0829003612c4457612c3d847fd505accf000000000000000000000000000000000000000000000000000000008585613f91565b9050612cac565b610100829003612c7a57612c3d847f8fcbaf0c000000000000000000000000000000000000000000000000000000008585613f91565b6040517f6827585700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612cb957612cb9613fe3565b50505050565b6040517f4b64e4920000000000000000000000000000000000000000000000000000000080825260048201869052908284602483013784836024830101526000808460440183348b5af1612d16573d6000823e3d81fd5b50505050505050565b6000612d2a83612bcd565b15612d4057506001600160a01b0381163161115e565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015612d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc3919061562f565b905061115e565b8015612ea557612dd983612bcd565b15612e915780471015612e18576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826001600160a01b03168261138890604051600060405180830381858888f193505050503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b5050905080612cb95760405163b12d13eb60e01b815260040160405180910390fd5b612ea56001600160a01b0384168383613fef565b505050565b600081808203612ee6576040517f67e7c0f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8591506000198101341515600080600160fd1b888886818110612f0b57612f0b6154da565b90506020020135161190508115612fb157883414612f3c57604051631841b4e160e01b815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db08a6040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f9757600080fd5b505af1158015612fab573d6000803e3d6000fd5b50505050505b600184111561305157612feb3083612fc95733612fcb565b305b89896000818110612fde57612fde6154da565b9050602002013588614038565b945060015b838110156130265761301c30308a8a8581811061300f5761300f6154da565b9050602002013589614038565b9550600101612ff0565b5061304a81613035578a613037565b305b30898987818110612fde57612fde6154da565b945061306f565b61306c8161305f578a613061565b305b83612fc95733612fcb565b94505b878510156130905760405163f32bec2f60e01b815260040160405180910390fd5b801561312457604051632e1a7d4d60e01b8152600481018690527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156130f857600080fd5b505af115801561310c573d6000803e3d6000fd5b50613124925050506001600160a01b038b16866141d4565b5050505095945050505050565b6000306001600160a01b037f0000000000000000000000001111111254eeb25477b68fb85ed929f73a9605821614801561318a57507f000000000000000000000000000000000000000000000000000000000000000146145b156131b457507f1c0eb4c27d5b523ca136c0b3b83a4dcac8b70225b38be8507ba1a3f2af03cfca90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f5c6cbfb2848b981a8f93044b3530be1fac304ecd5042396ca8729cb8fdd718f3828401527fceebf77a833b30520287ddd9478ff51abbdffa30aa90a8d655dba0e8a79ce0c160608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000368161326a61012086018661566a565b60405191935091507f0a244ca8a150ac294c14fcff9277051ced9a5b23e966a0ff0522e989da23116c9082848237828120610140820152610120876020830137818152610160902060405161190160f01b81526002810187905260228101829052604290209094506108c6565b60008060006132e685856142ed565b60e01c905060006132f986866004614317565b9050632cc2878c19820161333057600161331282611001565b61331d576000613320565b60015b90945060ff16925061345f915050565b63bf15fcd88210156133be57636fe7b0ba82101561338257634f38e2b71982016133665760016133128261046489896064614348565b6363592c2a19820161337d57600161331282421090565b61344d565b636fe7b0b91982016133a05760016133128261052d89896064614348565b637426114419820161337d576001613312826105cf89896064614348565b63ca4ece228210156134115763bf15fcd71982016133f35760016133e88261075f89896064614348565b93509350505061345f565b63bfa7514219820161337d5760016133128261077f89896064614348565b63ca4ece2119820161342f576001613312826107d489896064614348565b63cf6fc6e219820161344d576001613312826107f489896024614317565b613458308787613da9565b9350935050505b9250929050565b600080631626ba7e60e01b905060405181815285600482015260406024820152836044820152838560648301376020600085606401838a5afa156134b15760203d1460005183141692505b5050949350505050565b60006001600160a01b0385166134d35750600061137c565b60408214806134e25750604182145b80156135095750846001600160a01b03166134fe858585614378565b6001600160a01b0316145b156135165750600161137c565b61104285858585613466565b6000806001600160a01b038316613565576040517f692e45e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606085015160808601516001600160a01b031615801590613593575060808601516001600160a01b03163314155b156135ca576040517fe8c6632100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b855167ffffffffffffffff604082901c1680158015906135e957508042115b15613620576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61362c83836000613c07565b505060a086015160c08701517f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8716600081900361366f57829550819450613715565b600160ff1b8816156136ca57828111156136b5576040517faa34b69600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8095506136c383838861442d565b9450613715565b81811115613704576040517f7f902a9300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80945061371283838761445b565b95505b5050508260001480613725575081155b1561375c576040517f07b6e79f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031686602001516001600160a01b03161480156137c257507f1000000000000000000000000000000000000000000000000000000000000000851615155b1561395a576040516323b872dd60e01b81526001600160a01b038281166004830152306024830152604482018590527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216906323b872dd906064016020604051808303816000875af115801561383c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138609190615648565b50604051632e1a7d4d60e01b8152600481018490527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156138c357600080fd5b505af11580156138d7573d6000803e3d6000fd5b505050506000846001600160a01b03168461138890604051600060405180830381858888f193505050503d806000811461392d576040519150601f19603f3d011682016040523d82523d6000602084013e613932565b606091505b50509050806139545760405163b12d13eb60e01b815260040160405180910390fd5b50613974565b6020860151613974906001600160a01b0316828686612b30565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031686604001516001600160a01b03161480156139b95750600034115b15613aec578134146139de57604051631841b4e160e01b815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015613a3957600080fd5b505af1158015613a4d573d6000803e3d6000fd5b505060405163a9059cbb60e01b81526001600160a01b038581166004830152602482018790527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216935063a9059cbb925060440190506020604051808303816000875af1158015613ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ae69190615648565b50613b25565b3415613b0b57604051631841b4e160e01b815260040160405180910390fd5b6040860151613b25906001600160a01b0316338385612b30565b50935093915050565b366000613b3c836004614468565b91509150915091565b6000546001600160a01b031633146108b45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161185e565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316600090815260036020908152604080832066ffffffffffffff600887901c16808552928190529220549091600160ff86161b841791808316839003613c82576040517ff71fbda200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000938452602091909152604090922091179055505050565b600080631626ba7e60e01b905060405181815285600482015260406024820152604160448201528460648201526001600160ff1b03841660848201528360ff1c601b0160a48201536020600060a5838a5afa156134b15750600051143d6020141695945050505050565b600080631626ba7e60e01b905060405181815285600482015260406024820152604060448201528460648201528360848201526020600060a4838a5afa156134b15750600051143d6020141695945050505050565b60006001600160a01b038516613d725750600061137c565b846001600160a01b0316613d878585856144c3565b6001600160a01b031603613d9d5750600161137c565b61104285858585613d05565b60008060405183858237602060008583895afa3d602014169250508115613dcf57506000515b935093915050565b600036816014841015613dfd5760405163779ab6bd60e11b815260040160405180910390fd5b505050813560601c9260149092019160131990910190565b366000613b3c836005614468565b366000613b3c836003614468565b6000868103613e4c57613e4586858761442d565b9050612568565b613e5b88888888888888614532565b98975050505050505050565b366000613b3c836002614468565b6000868103613e4c57613e4584878761445b565b366000613b3c836006614468565b366000613b3c836000614468565b6040516323b872dd60e01b8082526004820187905260248201869052604482018590526000918385606483013760206000856064018360008d5af19050600160005114601f3d11163d15178116925050509695505050505050565b60006001821480156111ce575082826000818110613f2057613f206154da565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f7800000000000000000000000000000000000000000000000000000000000000149392505050565b366000613b3c836001614468565b366000613b3c836007614468565b6000816004016040518581528385600483013760206000838360008b5af192505050801561137c573d8015613fd257600160005114601f3d11169150613fda565b6000863b1191505b50949350505050565b6040513d6000823e3d81fd5b6140028363a9059cbb60e01b84846146be565b612ea5576040517ffb7f507900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600160ff1b831615801561410e576000846001600160a01b031663128acb08888461406488614700565b604080516001600160a01b038d1660208201526401000276a491016040516020818303038152906040526040518663ffffffff1660e01b81526004016140ae9594939291906156b1565b60408051808303816000875af11580156140cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f091906156eb565b915050614105816141009061570f565b614783565b9250505061137c565b6000846001600160a01b031663128acb08888461412a88614700565b604080516001600160a01b038d16602082015273fffd8963efd1fc6a506488495d951d5263988d2591016040516020818303038152906040526040518663ffffffff1660e01b81526004016141839594939291906156b1565b60408051808303816000875af11580156141a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141c591906156eb565b5090506141056141008261570f565b804710156142245760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161185e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114614271576040519150601f19603f3d011682016040523d82523d6000602084013e614276565b606091505b5050905080612ea55760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161185e565b600060048210156143115760405163779ab6bd60e11b815260040160405180910390fd5b50503590565b60006020820183101561433d5760405163779ab6bd60e11b815260040160405180910390fd5b509190910135919050565b3660008284101561436c5760405163779ab6bd60e11b815260040160405180910390fd5b50509182019291900390565b6000604051826041811461439757604081146143b157600091506143d9565b604085013560001a602083015260408560408401376143d9565b60208501358060ff1c601b01602084015260208660408501376001600160ff1b031660608301525b508015614425577f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16060820151101561442557848152600080526020600060808360015afa5060005191505b509392505050565b60008360018161443d8686615486565b614447919061549d565b6144519190615473565b61137c919061572b565b6000826144518584615486565b3660008060058460078111156144805761448061574d565b901b905061449261012086018661566a565b6144b79161010088013580851c63ffffffff9081169360209290921b861c16916154b0565b92509250509250929050565b60006001600160ff1b0382167f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1811015614425576040518581528360ff1c601b016020820152846040820152816060820152600080526020600060808360015afa505060005195945050505050565b600060018790036145be576145478888613f00565b1561458c57858514614585576040517f49986e7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082612568565b6040517fbec74c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660006145cd8b8b613dd7565b925092509250600080846001600160a01b031684848c8b8b6040516020016145f9959493929190615763565b60408051601f198184030181529082905261461391615782565b600060405180830381855afa9150503d806000811461464e576040519150601f19603f3d011682016040523d82523d6000602084013e614653565b606091505b509150915081158061466757508051602014155b1561469e576040517f110b8e7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808060200190518101906146b2919061562f565b95505050505050612568565b60006040518481528360048201528260248201526020600060448360008a5af1915050801561137c573d8015613fd257600160005114601f3d11169150613fda565b60006001600160ff1b0382111561477f5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e74323536000000000000000000000000000000000000000000000000606482015260840161185e565b5090565b60008082121561477f5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161185e565b6001600160a01b038116811461155057600080fd5b80356147f5816147d5565b919050565b60008083601f84011261480c57600080fd5b50813567ffffffffffffffff81111561482457600080fd5b6020830191508360208260051b850101111561345f57600080fd5b60008060008060006080868803121561485757600080fd5b8535614862816147d5565b94506020860135935060408601359250606086013567ffffffffffffffff81111561488c57600080fd5b614898888289016147fa565b969995985093965092949392505050565b60008060008060008060008060006101208a8c0312156148c857600080fd5b89356148d3816147d5565b985060208a01356148e3816147d5565b975060408a01356148f3816147d5565b965060608a0135614903816147d5565b989b979a50959860808101359760a0820135975060c0820135965060e08201359550610100909101359350915050565b60008083601f84011261494557600080fd5b50813567ffffffffffffffff81111561495d57600080fd5b60208301915083602082850101111561345f57600080fd5b60008060008060008086880361014081121561499057600080fd5b873561499b816147d5565b965060e0601f19820112156149af57600080fd5b5060208701945061010087013567ffffffffffffffff808211156149d257600080fd5b6149de8a838b01614933565b90965094506101208901359150808211156149f857600080fd5b50614a0589828a01614933565b979a9699509497509295939492505050565b60008060008060008060008060c0898b031215614a3357600080fd5b8835614a3e816147d5565b97506020890135614a4e816147d5565b96506040890135955060608901359450608089013567ffffffffffffffff80821115614a7957600080fd5b614a858c838d016147fa565b909650945060a08b0135915080821115614a9e57600080fd5b50614aab8b828c01614933565b999c989b5096995094979396929594505050565b600060208284031215614ad157600080fd5b5035919050565b60006101408284031215614aeb57600080fd5b50919050565b600060208284031215614b0357600080fd5b813567ffffffffffffffff811115614b1a57600080fd5b61137c84828501614ad8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614b6557614b65614b26565b604052919050565b600060e08284031215614b7f57600080fd5b60405160e0810181811067ffffffffffffffff82111715614ba257614ba2614b26565b604052823581529050806020830135614bba816147d5565b60208201526040830135614bcd816147d5565b60408201526060830135614be0816147d5565b60608201526080830135614bf3816147d5565b8060808301525060a083013560a082015260c083013560c08201525092915050565b6000806000806101208587031215614c2c57600080fd5b614c368686614b6d565b935060e085013567ffffffffffffffff811115614c5257600080fd5b614c5e87828801614933565b959890975094956101000135949350505050565b600080600060408486031215614c8757600080fd5b83359250602084013567ffffffffffffffff811115614ca557600080fd5b614cb186828701614933565b9497909650939450505050565b60008060408385031215614cd157600080fd5b8235614cdc816147d5565b946020939093013593505050565b60008060008060006101408688031215614d0357600080fd5b614d0d8787614b6d565b945060e086013567ffffffffffffffff811115614d2957600080fd5b614d3588828901614933565b9095509350506101008601359150610120860135614d52816147d5565b809150509295509295909350565b60008060008060008060008060c0898b031215614d7c57600080fd5b883567ffffffffffffffff80821115614d9457600080fd5b614da08c838d01614ad8565b995060208b0135915080821115614db657600080fd5b614dc28c838d01614933565b909950975060408b0135915080821115614ddb57600080fd5b50614de88b828c01614933565b999c989b5096999698976060880135976080810135975060a0013595509350505050565b600060208284031215614e1e57600080fd5b81356111ce816147d5565b6000806000806000806000610160888a031215614e4557600080fd5b614e4f8989614b6d565b965060e088013567ffffffffffffffff80821115614e6c57600080fd5b614e788b838c01614933565b90985096506101008a013595506101208a01359150614e96826147d5565b9093506101408901359080821115614ead57600080fd5b50614eba8a828b01614933565b989b979a50959850939692959293505050565b600060208284031215614edf57600080fd5b813560ff811681146111ce57600080fd5b600080600080600080600080610100898b031215614f0d57600080fd5b8835614f18816147d5565b97506020890135614f28816147d5565b96506040890135614f38816147d5565b979a96995096976060810135975060808101359660a0820135965060c0820135955060e0909101359350915050565b60006020808385031215614f7a57600080fd5b823567ffffffffffffffff80821115614f9257600080fd5b818501915085601f830112614fa657600080fd5b813581811115614fb857614fb8614b26565b8060051b9150614fc9848301614b3c565b8181529183018401918481019088841115614fe357600080fd5b938501935b83851015613e5b57843582529385019390850190614fe8565b6020808252825182820181905260009190848201906040850190845b818110156150395783518352928401929184019160010161501d565b50909695505050505050565b600080600080610140858703121561505c57600080fd5b6150668686614b6d565b9660e08601359650610100860135956101200135945092505050565b60008060006040848603121561509757600080fd5b83356150a2816147d5565b9250602084013567ffffffffffffffff811115614ca557600080fd5b600080604083850312156150d157600080fd5b50508035926020909101359150565b60008060008060008060008060008060006101408c8e03121561510257600080fd5b8b3561510d816147d5565b9a5060208c013561511d816147d5565b995060408c013561512d816147d5565b985060608c013561513d816147d5565b975060808c0135965060a08c0135955060c08c0135945060e08c013593506101008c013592506101208c013567ffffffffffffffff81111561517e57600080fd5b61518a8e828f01614933565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060008060006101008c8e0312156151c657600080fd5b67ffffffffffffffff808d3511156151dd57600080fd5b6151ea8e8e358f01614ad8565b9b508060208e013511156151fd57600080fd5b61520d8e60208f01358f01614933565b909b50995060408d013581101561522357600080fd5b6152338e60408f01358f01614933565b909950975060608d0135965060808d0135955060a08d0135945061525960c08e016147ea565b93508060e08e0135111561526c57600080fd5b5061527d8d60e08e01358e01614933565b81935080925050509295989b509295989b9093969950565b600080600080606085870312156152ab57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156152d057600080fd5b6152dc878288016147fa565b95989497509550505050565b600080600080600080600080600060e08a8c03121561530657600080fd5b893567ffffffffffffffff8082111561531e57600080fd5b61532a8d838e01614ad8565b9a5060208c013591508082111561534057600080fd5b61534c8d838e01614933565b909a50985060408c013591508082111561536557600080fd5b506153728c828d01614933565b90975095505060608a0135935060808a0135925060a08a0135915060c08a013561539b816147d5565b809150509295985092959850929598565b60008060008060008060a087890312156153c557600080fd5b86356153d0816147d5565b955060208701356153e0816147d5565b94506040870135935060608701359250608087013567ffffffffffffffff81111561540a57600080fd5b614a0589828a016147fa565b6000806000806060858703121561542c57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561545157600080fd5b6152dc87828801614933565b634e487b7160e01b600052601160045260246000fd5b8181038181111561115e5761115e61545d565b808202811582820484141761115e5761115e61545d565b8082018082111561115e5761115e61545d565b600080858511156154c057600080fd5b838611156154cd57600080fd5b5050820193919092039150565b634e487b7160e01b600052603260045260246000fd5b6000600182016155025761550261545d565b5060010190565b8183823760009101908152919050565b60005b8381101561553457818101518382015260200161551c565b50506000910152565b60008151808452615555816020860160208601615519565b601f01601f19169290920160200192915050565b821515815260406020820152600061137c604083018461553d565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b88815260006001600160a01b03808a1660208401528089166040840152508660608301528560808301528460a083015260e060c08301526155f260e083018486615584565b9a9950505050505050505050565b6001600160a01b0386168152846020820152836040820152608060608201526000612568608083018486615584565b60006020828403121561564157600080fd5b5051919050565b60006020828403121561565a57600080fd5b815180151581146111ce57600080fd5b6000808335601e1984360301811261568157600080fd5b83018035915067ffffffffffffffff82111561569c57600080fd5b60200191503681900382131561345f57600080fd5b60006001600160a01b038088168352861515602084015285604084015280851660608401525060a0608083015261256860a083018461553d565b600080604083850312156156fe57600080fd5b505080516020909101519092909150565b6000600160ff1b82036157245761572461545d565b5060000390565b60008261574857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fd5b8486823790930191825260208201526040810191909152606001919050565b60008251615794818460208701615519565b919091019291505056fea264697066735822122040321861ce858a2c911db7a2e1f42f4368d23b5251b80dd661a6f2abf19c358d64736f6c63430008110033037298ad909edcdd31e72868df79ac39ddaddbb2dc696579dd95835919e7159b02031fb26bddf9bf0ed5939f69683cffd3b5cb2d2df05f4a8f5bc422d1f818ad8c410300b754e265ef27de4ddf591a7929d65c0a8b07c24d6072a9a5589f8be0ba14bb037bb73bcc1250fe2e895182e9bb56b299b7e12ab4b6ae1e4514e9c9e071d8d97803fb9bc1837c9c712b01dcad8ebbb61bcee854dccc0a01c906024eb8fdcdcd1df90358ff5cb68c564304044ba469988294b0a065e0bacb019770b4d1fa952d97c379034e55fe6bbbf19ebe167e632bbb98dc677e16e87c28a51c129a57ed8b30fbfc410376b316b7145dd15dd6410761546c82d9a8ecea898bacdcc027d79614a43ab86303e355b2d97d66aaeca3b4e704f2c6f8ecb3120813cd51f825f92410f69906dc1603dec3bd9084936e7fee1dc346c0603a13fadcea616381c5028dfeec7e619b53b2038059720ff6c1d9711ca28c68a855563a7e61c2ae583401a4238f5ec4eb631b8003323bec318a4a68a5ff8926468494fdfc442acd8eb00f30854fc940f310a7709d037af47508fa70f7c562aa5d00586e3a7f5b3438600190e16e1254b431e8f5528e0318aaa54f91b8161fd51360807d07c8213fdf8d281c32657fa7e1c2b50fa1006403bbf98749f2ec897c0e2d239a8771f94c0c2cd6999e06e1b95883479d61993a42038dce46ad900ab319958b6b9f05e19162cb65b9640ceff2a60928b0b5d9e88a63038d999338df77e7493306a2bebbd43c24ebd66765b82efdbe137d8eae1adc38dd03a7bfd0a812f5b71c07bcf2cab069dafce2bc1bb9088c528efb4615686eb153ff0393c08f3dd8d2360c2c7469a07c32d7809155393e5943d0efea0fcc935b8d03df037d7f501ad6b53516fa8682a3541c1f574b8d29a607cae3e5009953a6f8e1250c0382e25bd64cf3d71017a21131fc9d2a89ffbfbb4eb78b184b9011783879011cee039c30ce24fb8099359d17648f9963d5b42e87db3dbb05411c2ba85a8901bf8fe003d50df03ad1ec2cfdab98071044d43ee5f4085bfd94dbfe6f0f8e39e64e6cd45403e7c2fa4b607c80a38bcefe0cedd9ba2fa5c4ebd98780745bde1ed06438cd434d0389e347a6a1a9fe0a9acb00eb175b152a8aec1202085903ea9744695177bec62b03e50ca4afad97c8c8e621d49179bd0544f496a132d60a8082becf621df077f4d403a87fe1248c34ecabfb6ad37b5d94c89216dfe00c6fab9706461dc248878287a200581f0383ae1b77fd0d0c8182305c5726e84e163a605f84ad15fe62efb1d10b6220410100581f03d27911d00c6b27ec742f713fc0fbab1bb7b7aae9e70486bfa0cecb9b98e04497dc2f4d00581f039c24d8c0a8113de5d8c36d68a23b8e187e312505d5590f626280f9d85980410100581f03b06e87bdc30926aed5d85377fbbbdc9691383396367b221bd99bf9350c704101031c254467439152b4dd0eeed0891bcc3058fb1275bf0f34308898d6cada1ef5fd031a80e553a239035df300277b09c0cdfc2fee7509f9015dc57e009db7b60929e401410e00581f03cced36aaaf4e64d37b4208bb0cf863b1403652dcb8fded74e01610860b8041010219065e03323ab9b68277204f0a067e4424028002ba19be4d133d5dd0b703e421c12897940219ffff03829c42938a007b260190889fe3b1a318deca402a2b6b4ec8e52cfc962108088103f81f27fb1efdef0d2453d009cf60d7692fed0cc4e1034057b821b6363679ecd80389a821480d8f1cf59b0f25edb0be787b7f4d79bfb3f082ecf0a93071ea55750603597db1982051a5644ac449066f5e37e6e001ddcedb04690da226a94df6b9b00303e24171c3bafda9876d0bd768bf8c0399c13759204b2be9d5a81b3fe5ce00f37d03b852760249b6c0e2b120aa4f29c90a665f192b093e8fa33c3a5095d18612b34d03df7b71ad38f1e261672b08cacdc465bad3931fcf444c28540666d5e315163e0203e2b60a03aad5fb2b164262f056d604e81ad0bd1a88b5e1af2c3424ea367dcff903f7600fec7fb23042ff040304472ba92359fb091cc573f142835934b73cf8f8980334464ea8b5da93001964e74e209bd74471d5c87c2bbbece2a46b6dbf6ca58f1e039a814707e2a1014eaeda8ed2c98bed9df5e39c03a57b400f7c1442d8330ae5e2032ae8e8b203c7fff16e143daa24bf9f37e324f2550cfd90fb602d9cc8421a07e703282be785d2846c0a50d69dff8c2f18ad427a0acdccadd86ff5f9ead728205de803194f7710a40ec14843867505821c7ae0bbff62dda7a22fadfefffb649018e71e0219ffff03af52f54fd03f5653797dfa7ca404c9738e77a3ac95711ae4cb07429e6d39e080033b42afb3ec353cc3a120ec677870eeb6ea474bcf6587345e3daae34a2f877291039e524770fbeff41ae0398dd5e77cf119158ea4310560a8233bf1b6705497552803071dd4ae717ee4770c9afa3f631a934baad01227bd058674587902a1dcea358203a46628e2e9075978f3d120e9be27444eb810ff0fa99c26d7d841e992f9249ae003be111b15b84fa27bb24282060bfae5c633c6eb6a25debc1161c8e2e84bde7cbd03219818846af26665f68f014c182350418f7d6382deb3a5b540decd35889e9da403ae361c73336e791c0a9f1eae3b83a38d3ecd6f3b2b1064cc7fc1d54c03100aa8036c4d8a1b58dd9621cca131579bcd1fe283710cf5c0823a5fa939965fc27e41460219ffff03dd461b205df839b33223301438c1f026ec84f2fd82eb4255a1c5e7f65dfbeb20032eab1aaab92a0b688e218306df6a383ff571b9989a05e8b980dd1e21084075bb03dfef96be93c4a5aca17280eb45cec322af569ee50d165ea0746ece800a1e7e1f030a5bd76be2aa26dd41b21e014a104254bf8a2b1c0659f4a32d13b1c41c2b85f903964f3eb5a679eeff2c6efbca2340aa528d6b0d3e2e81779d9476b307b383cbca03d1d312a245f4c04373077b0422bd88cfe4db99f4beeefdd7fb8a905f0d7abecb03005846b5a7349f0e3ae40497262c6c3fa7a7a578758f646ba762a0a7c9e9bf9103cbaa9f61fc7347fa92aa17f19b7b547bb0dc5e0e5c6d3cb3b6d951517ddb5c68037ac89db673e9067ec6c553710a10cfc5b7b8fcddbe3f8ad585ad4137bf12d87a03b42ad7f121e527600d7c453e2ab69741678f1cfbe89fd9722882bfec69c56375033c941cc8c34ad45d4c9248eb42796c55037bd7fd5ce891e79c0dc7ef5b51b255037853d5d762d0e7bd5ea3d01362f9617d1feecf0a105384524d5b3bd6da45f9a4035b050f84f77aa05f8e24de2d42356f6cd9b0de1283dba4212d57e995626db7cf03c30b68e3c91d93f3c529354dbea1b109cce2e63923f8ef445b56a98e427ef90303d402a770c08013b69e355e99adea505797e49ec9125f9d1135af2659efd7d53b03615be7505a5775dea169420116ed38fa3fdb1f62fbc11e568336cc82af2417d30346e6c0eb99a84a5c89f6130c5df40e2ac5808a65912dfb6d7daea3b23c4b909703078b58aff743fe4be28b8e7372212aa11c0bbcfaa7cec76c17d1b065512f769d03178d14b1411a48af74a96c4f3ee47408aa957e68c84e15aa356a8ed458e70d1603d19d63bc3371e4dfcf1f7866f3ca1f3f94cc087d9663d933fe7a6e439310892a03426740fd669ecbd50af7592e09859616f9728d6a4d9aaccc8b41c15d6b57d20b03abd7a274a8bb52d27a675c92527377fd896b7c44acb90a821322690dba1bb5dd0383bb1fdfcd02ddd04f164abea43959eb1cc948c39d3fd14fec99b71427d18dce03dd87c4acd08c8ff1df760fc26049632cb4149528646d2fa1cd28fb28cf01761003fa88fab6457b07f1c87c78f98f2c424770a3067ef8ba9b905d3fd1b1f3d9c29f03e43e00bfae0e4324b99905696ce810d5f85262a91ea6474de60ddb4aa0fc0f3e03c6b711577b476d65935e03efba94848ceefffed9ccb185d55398a08198f0cb34031c5762f6b29ef7bdf614a5e246e51eb102a1ae0d8765f95ad77d1e6d22b84ca9035377e22b593182c37eed37b0ec07d60e68e64ab4022b7aa834e6e07017871fe700581f032fe521883c2d00e304d3afafdba0b2bf6b976af1c0c7a133598ac943b6c0581f0100800000000001000000000000001080000000000100000000000000000000581f030e3bdd2f21458b621e4d52dba35497e3011a04ec969e97299538115bb7004101037a41549dc73b04231c222bce51d0c6afd96f265c63d57ba6bac9b74e8d9cbc5700581f03dbd7957631a54800367221d0eec5026f6a71ac3c28ae0783824a97a796704a0800000000000000000003e6ac0fe817f1673c701985091d284e86df22a0366fd41ad56399436dc518d78f00581f036eea1981ddf30c7a6eb3e083978e0748e46d919dec114bb6ff59e18925504101030ba7d200433e159d2bd80e877c6715bbf34e61a0b576b89613edd2b8ea4c1b950390c1806e59e292a7bd2643c9eeedf9bffcb84fba54b23ad608ca04c5bc8b18ea03b3d89a37f8f62c271d20ae57b1625b82eca5b4b13e961f47f1ce363c453fabb20219e6a60301ad44d440017fcee9a0fa5c908dd5c8483eb88eae2de040797c949f519ab6a203b9056c7dabade72df904839a1947296f073b28422f2b8339ff07b461479016100363aeaec234037a6ace295f488ea33caf7546d1397954ccecd311beb727c1c1300345f5953a74617e54a31404d37f48ea5620256b007f4214ccda15796cdb1f73730376f4b946ce90578f54b8b7b6c529231889eab8c46ab3f7018e74e8817f6903d2032143f468527a5e110f99420b7e418ed63a46fb4b90be7711fb68149ffb65b9b003928646d634648d8659abfaede4db890719f3904c336dec1255bf2c5ba3b100ce0219ffff03de86f909d69c6e95a078ec0ab687029ed15a3a247ab7b44e75dcb6a81b5a9d83036d6068fb0dd86c83ef193053370f27ef7daef0fdea03c72db82a0ff2d273e8b703964928f65df5cb83837e9bc59380faace5a22b068b02b21ad304005d3e29201a03454c77c973473b79e18d74ede8af61ada0817bf9b8d6dd1ab7692365b47c956d03eb209061bfee7067264bd2eb92f01295572c54aafba6575aae27ce1aa3a255d10328da08adda0f012468b8f55647b2af5ec01fb5dd3d4498ce432476e364c679b8035ad19bea8da78dfb36f0fc081ef772622c840514f5047cf5bb1d79972e946e620345ce8df4a2731f56f7a1d212cf4c9827ba4307467ea6e6b3272ea3bcc5ad32bc0219ffff03f31d4d8442a595d13c3a95154dca0cf3938aa18267fc5fe5e257ff75d1dbd3790219ffff03a06e690149ac64432d3c1b2bb42d0367ea784dc2e254a7d95adf9270831388f6031c28e36b0c1f8d0b8311212e1b48bdf06ef5614c31ab25a938526a78e2cef4a0036153a453aef1389dec121a181785b84c955a24ecf3d547fb573a30b025f9696f035532ce7b475dc96333a5808d94694e697a039e8f436b475e09b56b03f708da76033c5e51bcf8a7a548678672f5cfe360ce9c67bf69bafad75d79bc3b4c07f02b1603d7e9efbfde3a79678d4eca1cac80846137c4952769a06a2620c8391f36c385c8036e2720e23a8fbe03d676dbee0e25d691d359bce7a9a994487f314c07196a37370387b597175691332b425039bd10673e1c9275022ae0999d037f70de566df82966038072b1dd049c905b50ddefbfe0950c6e14ea8368d5a2d8b14a45df23e74e9bb50309a0f02a8219950be6ca68878010dd2ac6bc8a4ce282d45e2f059f23caa09fb70338a3d41e572e408b7a0ffb7e4e018be715ce193033ceaa7906057aaa82f8e2a4031d42e3672fc2afca698f9f0e152cd81abb6e5a5c425ca2d2d88b9dbbf470c5ab037e860b45707ad83bf9215a428492f1e978d4bb58e6c9d92fe8991006ffa315df0321480399b3feea99eeaac370ddc8f4c6be08416ddb508db4a559737485e944050329e606b1025df29304a2a27b978451b23555fcbec6a1be0df0d87ca6f101bebb03b1a1d3aea3dcb962112712d44dccc7774cbe885d47a46c1b01f28dc020b0827203ee1b22646e250a27ac6e9110d3c8a5725fa16e90261edee1f9a7f87bcb9a093c038fbb2a04efa85d685be60727c7e9f6c2065f6da0dfdddefb82935853ac7c8b6003d986f56d3250e78e41911326e4353ab2786a6ef342dffba8bb4123e5c878fa1103c187f90ee9aa10936b41205587a8018575fa95d64471014d7bf352f3a3202a6b03b2fc7e8490ade097426540960810ac0ca0b414582107b21586ed72375524c8e103b34a8c421112d5b6d2f7a056718192cb471d26d3fd8b68c14ea8df4a32a68039035100009c1ce57e116fc9fa2ffef00b99d27f39ea0f077322ae602660ae2e3e76039a183b25d7c3ff05a8a6d89b85b8ffbbc6dff32c727e95d3dc1584bfe5a410cb0315a1be66a847b5d8aafd3a3fef200d59cf8fdda13d806fd313dd51ca055d4ad90381f735f6e9bbd658a5982a598753feadd21059d375339ffaf109da02a13d362b03f89d640c6322909f4ef96860a5bc48a14f432e2e8fdb10b6d6fc7de8ae82c5b503e8bd9a478fdc257f060f254a50e975b643901f3487725c8de5ad14772d9553a60347cb99d537996fe5c56c79bf4d78a14bb4c4907f3aa949a8c7dfb7f0f4fcd4e903676fd2def2d083138c90b98aad496aa63162b1b51d077b333f4524734ab8ec4003789699e8a3a6674d67547ffb9a63db69b4650c6fbc51873e5e4d5cc5741cad84038f95ae64135d67755eef63f1a650a1c50d8a4764c989b5caeaa9c54f08fd0dbc00581f03656fda4429d5b0182626747164865b7f92173f01f93e1eadbfd76a96df904101030dfa292e5066b6fd5443213c82aff08fba4894a5b57c1e50411853414e81012400581f03c885616e5e984755dad4e6482a8383680cf53665b84bb907fa7cbd9e81d04101030515d611a0ec817890ecd6a1dd74e156330bce6970efda4aa71ffce941a225c400581f0304dd62c49fea074951ddb87af550637e1460c55ecc92582606ea8c3fc980410100581f03ddedf75f0bfb51bbe47a3fba6184fcd9cb02a54666ae3e69c5546cd086a0410103e8a2f87442d64a4ec52e0f57c45db74e1a990f954af54e3dc9e67191d81e03e000581e028c0d46327c46f190a996d408f65381c7de9de800fec8828b434198e449461f08bca67fb700581d02f7c2bd591cb715fc78fe66fbf12582d2b88953cbdb23998fc5c663c2410100581d027ebeacb209a68570dde9dabcb34749bb766807d46cfbc69b3db1ec39482fc32241e8bd26100219080401410f00581e02b1d535b4dfc7d006bd211da58f7a2a81ee36d66d1a6cf7f2e1f479cd52410100581e02a8684eac9021dc16589170e47f10b63f6360618666e6b2e201b32b41a441010219808300581f03ea39c61e7dec08d3e0fb572e707c95a310ee922345a12805fcc2ce53336041010219ac5e0396ab567a72306fdce481439adbf1ea5c625911d49b71af500b20e3b56b6d406403be63f7f824f722f786f91f052b863a5c12165c3a8279e5c71d11b7cad5c3d9ae038b9c0ef716e0e90ecaaf7fda5ae1b075d1b6f11449860a1c365c0129ac280be3032ee56637f1f07bc5fb9d1f4f516f3a5930928b593313a2be9db10ddda17e857a03b882f0a4a9352dd33cfb8e69da60fbb06bc70e0c782203a2812ecf4d3530ca7503a9fbc62b4016b3b4a164e6a0bb47d11d1060a9c132febf034aeea42222f9d63f03a9077ce2e22990158945a443c31e45dcf1fc6caa6791af46aabda15150684c7203e3c6df2f12a2c2f73cd27b769775f3ad2b28795b1e40e08d54d8abf2f3c66b470219ffff0219ffff038e40870cd4fca2f9072d2ebd3f80e069afe0040894e6a4df32a98ea9f604a70c0357b43938e0b60fe751be6d06121c709e9da40d13303c0eab75afc4b51b765ce703adb9248a9bb002d02e8430bd524c36b9a3c677ada29365606d87c3f2380bedf2039c9c7c929d425b5dd819055a41160c73f79e017ca40264528955fedd60215ed203526848df070a35185b7a1faf10b83d8aec3af98d6001c9e4bb2118078be401dd030fb015dcb9d9425eb7e642288cdaeff11836bb687f7df307d05b7199401a9a9a03014148cadfa89ffc7468be3049a5b078442953a1fcd7933f645af55c85c9bc630366ad05d46eff1c25b339a7f1082fd800cde8482363b99e365e744ab6a1e0905c03ec89975427dc3562d5e6fd8ebe070a2f28bd09a54f3b664c05195a94251b6e8903ba2841e26936b2ac2252ac8a46915ab80b3e4a4f934a93ebb79822bbbeb601fc031be049e44f6ba13e3cf397bdb614b3e8c76e7ba7679ac8a3756148a8d8bdb85c0219ffff0382606bb5f185a653414d45726a3004b81a5aedfb837d29dcfa8a63958277cef60219ffff05581d02a60b44d485b25109469ccd689525ca635399eead780b83b92abe15410f0141011957d405581d02ca6020da6a27c6d29e500805bdd2c864e78cda51e74d0868b5ea5013041827037153c4ace2d03b3c3d1b9657de749a8e348f094954e1bee59a134b59ccb94baf021904940360ed7cf891587ba16f47b0584c3fd2389fc7fb3bcb3bfef8bf363c783eb41cf302194b5703a7e135607099c45829ffa0ab63ce93d2c24f4bbffb973b61f87854b87cfa6efa03ccc37529417fd4bac32730855f5716ba04d580a3d7fc30d6c55242701e6b9700035b80c6c461b546eec72ac3a506c2c2638372bc3e536cb7cca2e91a43f3aa490f0303d789e7c37e0a33833e4fa727c08981455c0efbfc0ba5b5d17dd787b2bee43503d0e9287f19f7bc395df1edc9cacabe877ad66d53728a03c187c970383d1811bc03192c42a95627fb0c52a7961721f37c63be72dba2b04eb1d991ff2131a96a6a04031f090991ca6a5db2dd06baf2a43b1590bb37dacba093e9f16c81a1888fe16aa703e231467f00c2a9ffcf6ddc36791b91b5365e9432877dee012c20e9091a99989603fd54524d881bd25c9d9b5ba7ddb738e77899f26b16ba2d92b904318cff89e45103cc6a90b62c96b0b6ca3e06bbc8d9dc41359771554449b17e80e26cd16b44b0f603fc5c753d33e597d6cfcf9d82f6b1b46a605a1646380678abe6b2ac495391cf0a03188ed12dd4fdb2aac963bf0befcd62c7e8ce122b93f140cc6e9ae75029a69a2903e14bb7dc2c312f924eb0c4afe1753bc9022c9cd400b06f1b6f514abe5b4934570219ffff039202eceb9552dd00d4b2a1aab6332e1b41c9521dc76352da2555fe0532d8aae803779a923b092a158a0e984bdea1134d0ab44f16911b2336825c8a23323221fe5103c8972bb1e9e7483881f86ab88af16a0ba3b5cba411eab082a2e2534dcdb892ea036b1e6151beb535cc28f1c9901b2b58e8f01c64b85aef8bc76ca03592538aff7703b491ebd43839ece4a1ec5895598022f6bc7f543148a597d3ccb584d51fda585f03336c99636ac0b1af1e7e7ed893af8fb128433f6630f659041dc10d7cbe9ebace03c7334830a2460346f9487482184830adcf92d70226e8ac01f0556b68e0b9827a03bb369730d722d63c116652391a1cf346097921c3e8ad94e0eb525f61ae2f9c1c0363f4f64a5368053f837915933de8afd05f28f53b23a3e6d7ecf5c58c81250ae903eaa849a92c2d97968c99f406f70ceb6639ce34fe2f9f6db9c3c398affdfdea6c03bfbb9d853efede5b0f23d1da7d389180563868db00b78bd6458c4bf0c03f3ccc030a481b45dba30c6e031ca3eb067453722bbaa3db211682fee6ab0372b08f49d2037b8aad9aa4906d3ccefabf44e41be90206ba3a6e721b679e3012184bd53ff168031e3a57721a50148294095a1def7c4638fd1a1f61653d9b5bd7b49c8a702c91d80219ffff03eed2077b07cd672daad335c9d939d09e72d48f43b1976714c514a56842663ddf03453aab2f0b3d0510b9c11a2518f40a5fc304232651dad1b56e61c17d815c3a7e03fe1f35096df9583de2b287a555278b80ec48351597d81bcbc2a7ef6d0cb9707c0359ce604eca2107f00eeb9e40a50ebc16e10d77151b4d9c8c3db01d3217b73d0803d5c32707fd653b5532a923ebd57285bdaba84ff0e64b8f06098a3aca38e93975037cd55a06be1040427304d54c8949def4f0b909ac8f74e72e2ef38c9c73789eab03dd5050726538e758e98308b7adda4cc9ab990d4edf26ac224d917c595062767703408687178e86f6eb69650c6ac0f010b7debdf824eb7282ef35fc2161839f7a300388abaaaa1280c583061fde926db39b8fcd405b9a8670f36d454d95781a490bfe0219ffff03bbe314649f9764e8a3ddec28cca7386bcf3b6bb2c9ccca07ad2e38ea79328331035395e49421f8b39491b5f8f198c3f218c94c0691f3fc4a40df7f544f7aeb3c420301f68a6aae7fdfcabed6a147ee78dddc8884198ed49d2f386f08aedf1cf67acc0391999ddb7668e5d77c09c27db485e2fc5c8d400a612d5202f2a086622181ac8b03fe0b4352cce02682443ca13b93c99899819f18c85fe8f958325bdabf3dc50c930348a0eef2ccbaa6a63f0004381d991e039573e021dd003154a530d9e4eeccf018030c789dd517af9389acb543a6523e2be1f6a4dfb20fe9d5cd32ba16e70e2ffe4b034ec2fde641e48bb20e2b6c0b581112c01f10bc341c21cf7d308170380240d0f9031c5c89b5893fb1fe4e814a2cc6cae4fc12a08fe88b208523683713d4d17240e003867cc1c1902caf15ea0f305029ab32db46c3bd49e462c156e206b14395f76940033e1ac1edb55aa03bf581a5d07391790e822a28ec4ca5b1e2a7331c4ba11f3e23037c6fc8c8ca288c3e5f28520edacbb7af036a91f3c577f527ff5795fbb6a91b8e036456cfbce182a3ec38daad1598aee87e95524968fd4995f72c33eb5f08aef13c037a4080e5c0403d27e2459461595c43e103c9d10de16e6eb5958240c6d2e7b21603f82c542aa6e74e413c4a71085595a7179dc62a5e79db4a3c499e1591a31dcd01039c579e37cf95512d65b57a71efa752d5f95cc82bdde6d39278df015150b174f20391ff385e115e26aed8dce41dbbde8fcd52a82002feb856dda123eddde40f48e403db2d3f894a86c27a846d783f07cf16f585faeb6f4b2928701fae72a98c3562ab03ef98dd0f8d4a7723519031aa4682db946573cb7c46c83b95012fc0258fd522600301915dd5266217dec6aa74aebace9949f0a4770b48a31efc15365e4d9079372003b36d74ed8ef2019a9d492f46f4d74eb347148ed43fbaff96890fecdcfe11f25503808ec09b4a95baf6be7f390476b3259bc0b5769ecad0c4a0d9b24c1252ce6fba039c65f996eedfe712b82c304ba6078ab412e86c8f35a6faea7b1b2cf098d9519d03d53a88faab839ef7877671da28d9177878b1be17a627b577b271d58aee0b1926032f7f0f142bf77642efa8ebd786247abbe716e071fe451d9282277b47dc76cc9405581e033b4ec1633345ef61a04b30468ab980b47ab093f2fd719cf2a6c201e770040305581e033c0398b69420c705586c1fd6d1871d84f639435828afa50c6c5977c4700c01479e580d1095fe0c05581e033d9b1e8ba243d4bda7a5fa6cb0c4509ba696433c6bf27fa1aeb642a29004020458ab608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c634300070600330362a46361efffe15899c6633351c64e1e222dc6e245d21f264c10216f94a854010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d9db270c1b5e3bd161e8c8503c55ceabee70955200582103cbc312670fa8f95577d8e0705c59b8734d08d44ce8114cd6ecf9b5b7cfc127905424fcb9ed2bfa9264526bd675aaf392526abe19c1005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c0410100582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc53054235ce905973fd289ccdcf1f492ab01a4e45dad3b00582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04103005821036552f9043f7dbde1a3842eccf846aa02c647c3d99f9371aae3c93798f73f1ab054f48f2b2d2a534e402487b3ee7c18c33aec0fe5e400582103f0d4c00fdf73947578e40d4e4682d5b73b9bd82e54e2a2440bf240e46c80b65054cad56fae244546d0a53e8afe285acd37a49e276003013103189c1ef8869eefbc5ef8b75719595b69539a1e0142440510879e1335ab0058210371a4ee84bc78b028133d4e79ab7c1efde80cfff19c617dcd42b43199e514792054f8c1c8b85ecb964650f127755a7394f1520183b1005821039ae7d9c7bd088e8c78081a62213dd2a7686cb2e97b1c5c904320134c554e15b054c7aa1b2cf8c7ab9ff354411320c4c4f3f9bf355002197dcd05581d02290d2f708ecf491ea09252f61f78fe5caf2ea44abfd5ba17ed90d1640f01491256b55fae74615eb618ab05581d02dac0ea3ce863cbcc3e630cc2be0dc648af6a03c4c952f6e16b9a36580c02470110d9316ec0000219200405581e03322aec448d6a0e0aa01fda664d655a7b39ddde00664ecc46bf62d018b00c0147040c30a69b460003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e035609893a5eef173dd6be625a4ffc41e7fa141979331c551eff7f0981a007011bffffffffffffffff03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba0311ad23855d8452d0b888da7dd6d8e1d937507727a3303a9d35ebbe30e3438fe805581e03e1786fb4eeff4fa838917f18068a6d568a61f87487b619ec25864389f007011bffffffffffffffff05581e03653e5918099e65a7dc900d8c120dc667f4fc48f40b3a713e2bc6f3c1c00c014707682c3a20000005581e03b375e0616b12289a279274e6d3c6a1e1e034fb6e95ffa6a22144a055c004010219bdec03b648b46f44a70ba78742a94c9d67763a56eee52700b880fe212a56b8f6d5d0da0219ffff032ef35ddcc52a1568bcd0cdb35bc422adccc5c89d219fd0d8607be130b5605b54030b48c684587697bb400c9b6b474740a91e59b4fac8b60369dbc9a8eb57fc708c034b50ee877a418f77c21a2e8b185d0d21b512a8e5cd50f7815652f484e49613af033c7ec5e4086718c9a7ac4540c74f21d627cc02579719966e500630b3737dc8580331f65d1124525b1b13907de5a7833400cd9aebd9d0ef85bf3672c6367b869f680363faf39b259413c73eaa0763e494d333aa85261be26a9d2df8c1dd25a2d1032303140b2c77d35108702ad304669ca884f5b234e0a7d76a70ae4fba6b1d4185020b033b38b57f559163b312d89302b53b596c3ef4260738de1a6b10c109ab6f89373803a25811d271470346ecb60cdf7c74f92e1af967a2f887dd72c94f8cbb3dd4a0dd035cf19b0715c46f8bb090a810d0d8114ddc962099bc1dfe832cb9b3876bb20313031e35eb1e890d3cea56957ae4f9e096a54def3f22ac6ae7e5551c491046f9813203e47ac13945d887dd371656edb40a6115aec9d936d5ddf150598de949cda0c1b50375a0c1f97fa4f18d0ce724ddc71615ad041e9a63fbb15942647039ea7d6f50cb03419d2beffc698c30912c28c14f8b9c3b664d3a20e68860fe14d5f1b513139f700219ffff03922deaa84dcb4cabf8da0582248bc5ca60e9fa2d56081be9de71a1df276df29303a22d093a7d312394c7accf26417291fc177990fc8f2946ff59fa8142feb60e4803e06df7ffd1e73a35bbf8d37b1e5302ee04a412b3dd3c9ae347e0e47d5251293b0394361e4e8b02c145ca43da6dc3f8337ab3fa684433b6e0abf38dc944ec8777c303ace0ec2b2b30c9a35538f0ef33c4a6d916ed79e4503544d7f8df3896dbdda56603a7ba6c0d1f5c13aadbbf31708accf2598a2adaec2b3ea73ad043f4dcd6d08e6203780e4c2d5db1fc60bfd690a9f013fadb12e2e6b99b23f9c84ef26d3f5ebfb6b0036e6bc705e07bf19f2370c9a9ce6471814417abd885e56f7a82c3ecd6db1462ec03492d8de70f2c9902af978b8895fe9f34d2bf475507ee4750238cfbe9025dc46c0362b2b0a8259050cf3218e151561321cd03e4639d933042962fafbff56b71cfbf031273433c101c2bb661d5ad204592a4c7a2b85ef364dfad562b8e2cf9ff9223610353dc0dbb98f4a594eac41d883a9fcc9c3bdd97528c2942b1eb9393716ab0c86b0356a0639b0626d942ead3432a71de1ff22e2395d552ad4c59049eaa8825dc0ead05581e03a54bd26e4abb9164ce7f7b2a39838dff8eee0e456da65a4693bf89e2e00c01470229efe46853e905581e03d662661bdb5338f8b7c6b9b029ef62bd8245fbcb56334920bc49952580084702d23628860e2005581d0274e9056d11ab00ff75b879894c45f63ec47d836270ec15ac6e44aec00c044801290df650beafda05581d02ea5313f2bd394ce76ee53b3a978d79ead60b782e21590d7941edd7ae04010218a005581e039beb0beb80cef89d81599d85316944af668f2b58ea29fe003986054ec0040105581e03fd73f8c20c10c656c2be007dfcff2ca54171f81d20b6d43e29de4bc3e00c0547341d72df739b9805581e03db04c9cecdfdb354fc99a4ab5727789fbf25f5b163764c779567f59f800c0647012308bda0cff005581e030f90e283191a40763f064ca86542916f213356cc665bc68a3ff56706f00c014650373f20e2180399ab24a6ff414d3e8e02175c5a171307a899e887f8bb3bf6eb9e3fac52489b8003650be074c14fc2749c92e03ce036b7eed0d39209ad84ec36f355fdfe27d0a549031afb55c541725acec2985780e6573f3f3268657f4ced16fa6b2471b6058ac935014104038b008c3edb1c96589b95ec7e28552cf9f2dd9c0efcf5e7d30fc82855191344b70316d5ee3f9aea4c099080d28e4bb8ddfda03f112c06e0c1652e5f9fcf1e9f86880219bafd03fefb9aa7787d451fea379dfbcb50fd3ab14ee5130e44b0e196df0f6e5f970cce030e598913903a88c68f2c4c7f4f5fac9c87c526b3aab488419c4dc93be0a4a1530306571f62f80d6c510676c545270fa9ae5b17de4ac2fd95c6b463309b03abe93403b547aa74e0463daf24a5ade6d20f16bcf7ce2379449f480e4096b63b22a9c05903dc9eb4f64d161abfc978d3aed1d872997ce0f1cc7cb1cbb05e79145a9dc5c04003b4161ae5dc23ed96348c276b2772a3ff3377abf82d3e981cab83255ddd542804031af5e75eb73c970bfcbd145bb329093be66620d24b097f9e77988f905a88e4f803be2d17fa691e895571648be332ad25144b38f7f17ef3ba3165e2d276138bf4db03e9a1ae6e466e9319c4f57a33e28ca5768e7a1817f4e82b115fdc4445de60f74e03acf9df0ae515392eba34d421a1158660311ebb19956546031470281e0fd6940203155e98e252bd1136f328e12c23c6847bd57b0ba318a742470308fa638379569b0219ffff03e667107f2614b6d2af18079aab183a0900d02ac2834e8d6b36f8e1b88bbf9055031e77e44e00759be64cb1beb96bec726b248e23c6ba80a545fd4f2987018d3c8d03c6a8c8a77df237ad49c0681649b7ab4970d35ecb2df6192ce064ccbd9d70f9f9036a5a2a3779101199b462103d9c7cfa49b13ecb7b637a954947f05e4ced4958dc035e604e97dc9b217cb3dac158d80f9253372d8f4e40452d49dde45c0e8adf89fc030cb91c6a877534ed43f33f33185a96058642643e5eb1ba6309e8e6470cfece3f0330f51534febeb52a8126714172ccda7e6f08437fa443eca6290ae0c42882023d030e0f722f2dcc9e3a5632e66c25de8646341e18879f37b511416ae2f59e1aa6ca03c6ef452cf92d2db509b2ad3b535ac29893634b28bbe0941a350a0653da481e02030c571ae3b846ff3c8001431cfd82b78cdeeddb09ec8c983291b34f346babe95603adb8c778542fcebcc65ed3d394606c0a0bbbea1645b77ad5ef16a132050f14b60386cfa42081053c266a65e2338258bebbd0f4ea396edbde970ac15e615a7f47aa0219ffff039b653e094da1dc46a63c0804da3b1b8923d930b1f7aeb9ad5beb64c6fdb5af36039730050f0830efed2937b996ffacbb03827e0bdd1c5090953bd15abbfb4ced2703e365397a10755c1b6b5416e73cd84f41d4fb554c354f78bd2e0dcf14d4b509dd0219ffff034c9cf1d675f4ad53a58a18b025c1086eb0677994c014b71f471fae514567308a032dca79fb044832aae7109c1a729af8c1dd965470814d9cf81c2464917268dfb303451f4c24b8c3c72fd54fb5e6623e81db1ba68cdd5565849b969a9750133db32103630684b1ccec1426954c9a09d0b7697ee7d1313e429d223f28cb6fc4db87470e030dfc2d36caf259a689e427f2650178d57c3633c60cb67f65948621034c46cdae03441f1f07815989b1bca9b08b5114903fca89e538b52fd405e3bdbf32f20a07ed03bcbc63f779f30a3522c7dd524da98689532bfe2192d2af7a380e3bea8b091a5c03fba4a417943065ba017b8cff619452f4493ecbd4abb07c3830a45813ee07a2f60378ba16081644ba74465159964efb063777e09d57a7ddeb586019913be78963e10311a37a7d94dab1d3b4af74bdf2d689d6f3af33a97402ad3818c168d76848569e03ab11eea9acc80d317c8e36d3505b778aace6efd9b73b06bc65bac4530c255f3b0359ca5baf926d22dcdc1f7c1dfc375ac8a9d2dbef1178b2294abc9da7a39820b703f1b734aad460798aca0d82fb3dfdb07cbfd98e09721d8ed14fb3ce5dee8d529305581e0310c8d43ed84be3c815c0ee884f0c504c581c776b9639518984ea790be0040105581e0337ebf972dd8ebce3100cc9295e1b98acd07b7f5a86e419bc5ec3382cf00c01465fc9b930100005581e03bb53bc2b3db2646aaf3a7d017d4fd807081a50cbbbfc03483231fe3160040e05581e03f94529dcd7bb0dc0fb17273d47ff082b87b6520b31c397d3a2eda348800c0147050af373f9e4a705581e03d3d4ae9a8560018fc6ecb7215250783cdb82edcc86ac2147721ac7ad70040303ff079d699b91010640f6b5bf8250401ea1266bce7c03d6e8c858ffa31c3a50ed05581e036906bd8f72d85418553ca6fb128227c5164e6c68b6cb522e567249cb80040d0367f3cb25ad65534978970987a80aeba2b7fbb36edf5444d105ddac753e7e221903562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03d68265053d38144680b28e99901c54b89b11db8bee4e0425535be7db8007011bffffffffffffffff05581e0396470b3ff02d66321677f6842610064059e289bacde20603f308a3e9b008462f4b31874000032e8c6ea388148ec6a0e20cdc912739e538c1e8f3460ca39f77bba313c3ef686604590b4260806040523661001357610011610017565b005b6100115b61001f6102a1565b73ffffffffffffffffffffffffffffffffffffffff1633036102975760607fffffffff00000000000000000000000000000000000000000000000000000000600035167fc9a6301a000000000000000000000000000000000000000000000000000000008101610098576100916102e1565b915061028f565b7fb0e10d7a000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016100e957610091610338565b7f70d7c690000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161013a5761009161037e565b7f07ae5bc0000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161018b576100916103af565b7fa39f25e5000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008216016101dc576100916103fc565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b815160208301f35b61029f610410565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b60606102eb610420565b60006102fa36600481846108d7565b810190610307919061092a565b90506103248160405180602001604052806000815250600061042b565b505060408051602081019091526000815290565b606060008061034a36600481846108d7565b8101906103579190610974565b915091506103678282600161042b565b604051806020016040528060008152509250505090565b6060610388610420565b600061039736600481846108d7565b8101906103a4919061092a565b905061032481610457565b60606103b9610420565b60006103c36102a1565b6040805173ffffffffffffffffffffffffffffffffffffffff831660208201529192500160405160208183030381529060405291505090565b6060610406610420565b60006103c36104bb565b61029f61041b6104bb565b6104ca565b341561029f57600080fd5b610434836104ee565b6000825111806104415750805b1561045257610450838361053b565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104806102a1565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a16104b881610567565b50565b60006104c5610673565b905090565b3660008037600080366000845af43d6000803e8080156104e9573d6000f35b3d6000fd5b6104f78161069b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606105608383604051806060016040528060278152602001610ae660279139610766565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811661060a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610286565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6102c5565b73ffffffffffffffffffffffffffffffffffffffff81163b61073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610286565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61062d565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516107909190610a78565b600060405180830381855af49150503d80600081146107cb576040519150601f19603f3d011682016040523d82523d6000602084013e6107d0565b606091505b50915091506107e1868383876107eb565b9695505050505050565b6060831561088157825160000361087a5773ffffffffffffffffffffffffffffffffffffffff85163b61087a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610286565b508161088b565b61088b8383610893565b949350505050565b8151156108a35781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102869190610a94565b600080858511156108e757600080fd5b838611156108f457600080fd5b5050820193919092039150565b803573ffffffffffffffffffffffffffffffffffffffff8116811461092557600080fd5b919050565b60006020828403121561093c57600080fd5b61056082610901565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000806040838503121561098757600080fd5b61099083610901565b9150602083013567ffffffffffffffff808211156109ad57600080fd5b818501915085601f8301126109c157600080fd5b8135818111156109d3576109d3610945565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610a1957610a19610945565b81604052828152886020848701011115610a3257600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b83811015610a6f578181015183820152602001610a57565b50506000910152565b60008251610a8a818460208701610a54565b9190910192915050565b6020815260008251806020840152610ab3816040850160208701610a54565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200b5100b6056e5ffc17e66039dcd723596f9fe3a99358830e95788eba2919cc0364736f6c6343000814003303302f2a7812bffe9a9c6539e80e3e65193e341fae4ade572c390894349c4c6f02037c687d5b2c8b1bdca0551cd9673c5689fc2dc84b81ebd3b7bf01ab4c59667752038070017e8fe76f7ca31a893f2ac047e9a091e233c2816a9042459529019e13b40303b6b9b5cef744b31c0f004ced865438ce9f8b831a21417b9ae4efcc582e023b03fa8bc6bb96fef5ed0d142bcaf3b425bc3350bd31f4e8315c9ecf6daa3e627ac700582002fd7480397619ea0e009379bb7df235ac03d7676b17f5ab920049ff70e3ee97581cca7e077ab56ba580f7dbe6e50cb2468827bcc40e00000000012348c00315021e9ba75f142d9750a64655c78784404ceed9fdb8460f0d6c9920ded3a3990058200205b3d1e4106f56d3dfc9204cd2c326f38252a141b85b55a06e8de6b547f46e581cc2fc9407e5992ec46923751d1b8e3204516982640000000001256d5f00582002242ed7cf3920005c6a4b72a7a5cca9c63556e45e63438f1c5949de68a11fb7581c80126ba6d623890d411e1d4519ebee16bac6b90d000000000121d4150058200397230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe04a0596561ebcaa97f532460058200371723ae1b566436b9aef1eecbf5c82bbc70eb6a591aac1e8b640cef8970360581931d95af8ced6077a3d0000000000000000002762a5377de5cb021901020312b4b29a67fb3d31cd70f97ed2a2276f58bb5b636868c4334429efe95889540a00582002401a67f850f36981797750a533b79abacf4e101dc9bda3062b655f1c2d74cf581c9c1a7407a9532c85fdbe7db3d0eab6ecb66d4956000000000121c4ab03d41a8ee326e381ce89d63f49ffbd9407c2f14ad0fcb2cc4e238933b7b3722ee203a6ce440791317067c7f4a35b3dc5c1d640882081f261732a9002a1d97578c05303213f525fd0efc3726f0703b5c34d9a8834a66fbaa55334f06f8c15b71c53baf80219aeb70058200222e161b98993aa8d5f7a73f63fbf4eaf2dbac05c75781316e1c3e82a5b95a058182fcf46b8eb75a0000000000000000000000000000000016b00582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154c26016f1166be7b6c5611aab104122e0f6c2ace20342171c1eed185ccc7cc4579c900b317f0268ef15c57b778ef3a8c8f5ccd1caef005820026d30b335e75bcfa2d289c1f8bfc63ad4b27e09755626e3fea503108dbead98581936f2ef66c295fed40800000000000000000023df754fff5de703b7be40e3a6d2346a2da74e0a472e42b99c0d47e7efc2c356d5caaee2dbaf831701410503aba73811425bff86a77302fc6e75e5ef8ab6fbc9e32407302531fdc3663f4dff021946860303954d062e288e158938cdfb37f5bfe8c82d7ad481bb009acdfb4b5949600a20005820029512f78feeb82f6f0e1fd94ac70d874d325473185d3cf4e983ff011f1ef948581cf976942ebbc8d0adc76a941c4176fd48089b774d00000000012528b800582002609270ca5e4bb032ec113bc27df96e5330f9a7b057df68b2a00d6b46157ae6581a02190ae0d0b3097f180800000000000000000163e14e3bfc7f37005820020501c1278dc05efc1fe2b6a9106a6b93ebe9d8ec51832010bf39b00c882f315818106393c49f7f6000000000000000000000000000000001dc005820020113a00c38aab7cc9ca84b9005c7330f9f796bddd16d78b51a8021b4a17d1f581cf42bfb6faff8353ebb2e6ecc7f2d2c80e27f2b4a0000000001230c0d00582003437660acd9e8a7ddb67b9f079e3f7c5285bc18cf65ab85200997084781e020581ca614295a3ed3e9f8d2901b21662587810a7b02ad00000000012459b100582003e4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d28054e3cbd06d7dadb3f4e6557bab7edd924cd1489e8f0219080800582002c40ea28c69dd7ec08f936e59eef724843d8499dbdb9196c0493648d3730bf9581a05612c08f1a7abb4767700000000000000000e271d0d3cd99805005820022d2db02243f7b7102f9c5c92bb15211724baee4366eab3dbb15fe2c7d1d6df58193742e429a54e0190940000000000000000008e2fb5888f73d80058200270a6486a8bc2b6c547061cab22c47d2f881539623193832e97b8c330d72238581c0296cd430220b8cb54472c48e08f203316c49d62000000000122c701038b9a25355f3c2b6e1c5962d5bd88eb5cb76d18784cd6ea3f45cd08c6e7eab0360219ac7b038d9a860850d64cda01230f0f07ae0949e1cfd7897ace05d9dea38e0c83d570580058200217922d48af2e1853a6da5f96d713b394bdbe096255c3f224ca9faf5513302c58197715827184059ed71800000000000000000186c41ce4906cab00582002e82f00a7131743324feda3d07fe9545b5981158ba01a55fa18a14575faba50581c3f740123721ed557aaa29f1d1871cb1cad295e7f000000000122935c00582003ebc7b4c4d99c9bf785b4c714856e67601c1dbd1eab5337da5d564c789295e0581c72fd779326ecd8a3ac75847d50f64bbcdcab56be000000000123731c0058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0545a7b3cde8ac8d780af4797bf1517464ac54ca0330058200324714b1e5605296edb482de91cf65f51b5346e7037faca029b7932cff5e7d058180193281c79e1212b0000000000000000000000000000012c0219284000582002399630bad502c1ccff4265b3fe2255185ab7bb1fa705f0a8a40408c8f356435818015fdc5af28e00000000000000000000000000000000002a00582002286a5c36feec5036493dc04e3b7642b015ea04c59ea3baa32e706e64ec421258197296c6fd3430c1b4d800000000000000000359a1918d7f978800582002c0112fe6faddeeed710b7dc09238972fc6d4e569f5d1f13df1c3f14fd11843581a024fda50b04907bc9e830000000000000000309e52cf95b892b400582002c65a86624feb16dde6a2ebb81b2eaeeef1d56202ff4152591233ba48388c56581a02190daa16015e3f2fcd000000000000000002c9454e54c017c503d20f9cf26b2637849429db2443d1be14c5ca4c8b370fc402c7155fc62ab0643900582002d02aea8de3aaa8cd50366268d17cdd41ad1f29e0b9a6ff746b49020d440f55581c98e380b0a0a17c97a1f0880bbd27c5c5265259c000000000011fcd890219c7790363f64324626c5a4f768c9a61a2ce8765a284b1ef2a77742ef161383c5a496a7a03344f53688a08b3e441cc1b416cd77adb967561d13d771a20b14b765f4953d4cc036b7ff890c5128c3a0dab691112ad818418c673c60790dc2458257860769d1db403a2dd49cada19abe557ca7ef294aa4a13f99ea2911c0742c5498d8fb44a123466005820021b6b4e71df32226bb2c4313827d1a8810688ec86e17361088540f9e68a5a87574380663abb800000000000000000000000000000000049005820024f422ca12d191c420aec1c16ea4103d3c01eab966b6abff9b0ab23b8a137db5818016369d9975480000000000000000000000000000000008f00582002af21670d2f6ce6ac6502a69b5177f69dc35295474776cad6b0ee6c4fb26695581c4b1da1c4a324296a0bad951159db366091962cf2000000000125734d0058200265f8841138094a23344e9dfa0cb1db9a52b6e9207df51784b9b45e827327705818036704d0e7952000000000000000000000000000000001eb0330659854d262f5079386cd00780293f6ee0798ac8977381db4913c76ca811b590058200210969b67a9c5955e678a38cb70f678d2b5edce97669bba6c125091dbc20c5d581ca93ab149c43fe39c8543e8e3ecdac268e476d0ea000000000120a94300582002b11959fdbbeec9f84edd5c4a676df485103707ab929c7ec4816e980fd528fc581933e9b9aec31d479d120000000000000000016321e01910e672005820024b63cb5869d5c4fb8d4937e95ac5b823e1f2885a1160c134c543524af4e83041010219477f005820020fc0279dd0242149fc562ad08a60b17229cbfee5783bbf37ed343d71b938c9574661170d0020000000000000000000000000000000001e00582002631717b8d1a398a3cccaf2b31972abf5a000cc9c37ca2d92f9c686b197981c581c251623efdafcc7929f40b35d1a2ff4813e6065f500000000011fb69203638a683ac66652c7e9f72c7b4384a6874a938464096385ef4a9394d4c15475f6005820022ca48b1265580553a31c3766b13293083395d1ca854fadea0c6ddb90fcc75c581a01b83a676b056addb96500000000000000000852c4ddb5955eb100582003de843f0123b04832ae858affed1a3d67621849bd7808277ff939414470d200581c17635d5c1292e384cd0c6232e19af009e56a3b97000000000124518c00581f024ba55b09b526675d1d64769cee5b0182fbf441343023c4f3b367bf50bf5658195c98980758cafe5dad000000000000000000471f3909ebdc5d00581f02836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb4a05a0bc65fbdbdaa8ada70219480000582003273ba395dad18d99fb29b3652c603c8b407276890a9aba416e044154887fa0581972936d5ba2a3421d50000000000000000001dfc483f8dcf4af02193200005820020c7f724b63ede33af33a5c4ab787aaa96a1827dc7acddc54bd647cb7983430581cd45f2708c7585023f213369ebeb9b55a37c88854000000000121f44d00582002ab495e3800e6ac83f9b7ad3e43908ba00634c5f14ec014d9d6df98a9ed0bf25818034a441365502a3d00000000000000000000000000000087005820030c9cfb1ffa6ee34bf8c4f7baee4becb11415829580645c95ef3643326e33b058180e61dad58cf9e00000000000000000000000000000000124005820035c74349c55f20d01ff0f47e34e8fd93ba1affb326e345a8a4e1a34b8c0bbb0581c6ff75123fb65966ed0870a61d002004ec1775d7800000000012372bd005820038d954e2cfef495862221e91bd7523613cf8808827cb33edfe4904cc51bf2904a05a0bc65fbdbdaa8ada70219084202191cae03dfca602c2ce66664e2ddce086491e94367eadc890b04c9c19769ab756d66cc08039bd5e35315d6861d5335cb34a2986b72955802b4019b8864a18ea1a4e9a4c26e0301a313c72d80c81a9552750d221723503a8637a82a3b4e0cc04f89034d4da3f7033e1f29a3a82443189c5c0cff159e0f19b9d51500f8d66effe785b2fbbff99af4005820021fd1e75c7a39bed1d471c8f7d92fd4804ba9de118d18a07b0c7c0a4ba7f4695818054e58344b6c4000000000000000000000000000000001fc0395cbaccba5d8b90e3b15f22571f720de5bc337b523ffb07b29bdf448dad073ec005820029d44c8fd6a9bac8af33ce47f56337617d449bf7ff3956b618c646de829cbcb4201fd03a24d7264fc5f7db900de4c614f58796ce944b4900663eb6f851cddd9e3aae617005820021c5a99fd4e419f6b289743da39176c3e4a97ddd3d60f4e9e1e6cd7f3a4e4e05819770cf3ad811d852ae6000000000000000001dc505b3e02c7d1005820028ceaa0ced788ac3eaa3be36d0b3b54a1b9d887b0f08090f275b2ec2c928ef75745c679d7638000000000000000000000000000000001a703cdd75ad079c1fc93a3f56137ef546afc11410376926c166d94a628e76d9e18ed02199b8c0302840a6efcbf58cfbedfeac848cc7f1b6155d7d50cb7dfbe54aec1eb2e6b8c550219ffff05581e03e5bdcd1ec3b6e4684389489dc504edd02b48c106d55b2198d55ee92d500f01490a66473f3142b37b61190b420219bfed030adade06d9c7268bd295093a607440ba2ff6c5503f399f4e2d77c5d1d997a5f2036feafd51ec3085e2a3ca822b384c5a3bd4cb87472852f1637b5395caa41edd7803c739d65612b0d24becf27e4ebb58318c5394a2c9711dde14b35e7b07401c777103e990a63f179d8d4fbbb6fc55b42015148179f5b95f2eb7e5eca94165b593636103ec12a31ea07b5acfc9fb414e2397c7609c3c11c30fcea21d9d6badc45ae8bdb0035d332aa0a7ec6d1bf9a2300bb385b36fd9221e069ed97bc4b33ae7375b7a00590318a580b179ba81d271f2db5dace74715967395428284df5acf6cff9d2ef02ac9034c48e50ba82fa6f2918dc449026459eaa3664434459a010001eae2a2bebd499403bbf9e7d44803b0a98749765826d37070fce6e8afb05d73066997d7aef0749f0103f2a183a61b56e23cdb0e1a3cc36da405ffb900dfdfdf404a103dfe62214253c703a4318e4812c62a8f0dccf0c1796e757518ee9a387f25a926c1190603be44984603498b499959e45a6136aff64a0c4319f7cb9610513c083dd385a183acb309683e033ad991f436141cbcf1e00b72bd499ff42474c2e88423ae7d030dc84af936ff2e036b1cba6caf3f80c3e0bc400cd3362e030055d3399295d373c17713b616865160030d66c3a5f04c876ad1f21cd35878f78bad1ce0f47f31c0e3ea4584aa6ef1084b0219ffff0396f333f917614f4bc1367200e6761cff1fda7b04652796b82d29082e434c9fc703c9c4b9c9caa6a9d84636744656334e1b4ef615b4239bf43fcf3a7c53db6e390203502411d35b5478a9da69059c4341ae0e0328665ddbb90cdcb863d955ae8b7d40039ffdac0ccdd841f97cec4ac36a7afb642230acc74ddb0707fe51391fed5c03da03b2e6adedeb74f03aea984af606daeb172c535e43069d1b1fd3a63ffb93eef58b03bad9ccac4fb6c1be1b6fd938cda11e449164d7c653ebc2c0bcd3e7a0ee7b487703864b3247dd7229d1953ad0f9e4ec13a3037a6a8673de145e07d609b46ec2fcf8030ecfd9af5faa8357887ee1349c9721bcfced960b8adc9c1fb10d1b308ea68c700322aa329900df3ce763f6551d70e102b3bcab566ec8530abbc4439652741f8d5503d5b530161f2b0517055c930686f77c8af90dc8d3b62325ac92720f629c1d21c70305137b50e1b0ed75711aa66e143046024cf23a173d287d24bfce2ccae9a97ad2039f39a9fd0b40f173c8c200edb812d8133d0bd23d3e9774115afd04574d5b59ca03acf917ce1dbca0be40b1fa8788817934b41408b617dcd13d47c7835f639f3905031cccf596ac9158b10f1732d4ef3b72b3a85b1546f4265af90006d32b037f83fb0219ffff03105a7e1507632a8c0dea37d33f54c5a51c3a24f076d0209d2779fcdbac3682af034bc8b618fe441c73655d24f4ba9b70ad37b37986bc273055ca1bf9c1dc1efb5d034ac4d2e5bcc56c6a0e2d654548d47ce732793143754a36b7a665d61f65243b22038cc33313364390a6453d5757e7d1d2cd57342890494f156a894d1fb2187c8e920313d882d2765149ebc4ce4cc87de33be239af3d873db85864725d1ecb11ad962e03268d75d732b472af5405966e3c1ad3fd9ccf9a42bf9bcb6cfac95c00a019fcee03afd8ce3005157ce73cf9e95e39672ea3236b1820931a205d7091a2e60af0fcdf0219ffff03c6292e9e673dea2a355e9d1f00d447b3f5e6232dce1c17740c3ad0e82334e9d303c6b87d020e0baf6c0968745fd743ebbabea52cb0428fcf289bac225ee9d172d903c63f2e3e75e61e7b21d9b54a244f0ff0d82d783ac5c6b606141db4f93b3d48e2039ca419a000320d35e5c2524447ec43b1aa22c12139490c32ab4fe563080676cb031239e06e205de7c0ec7ed41227df017c78eb5ded208af3e6d2ed4acd6681239503aa8ef8376034e08ce9e02a49063e6f574f888102c7cb41a574aac25b9c6dd9670339a7f28c9452c4d8321edc924d228753bd9338cd1a468d61a04838e739629562037529a541e4449d5f6f97ef66859d2d67d4042e748e421a22095d4d1c0773ac9b03576e38b63409f3b19f748ce5b57c6f9f7457ab1ef9bfb7adcfc7d1c8e42747200343556d7669f09d282c21cddc12504e2c22b52831469199a29d51ca061cc4f0b7036e583cecd015fe8c65b6f8a4b69bfd1ce4eb74df9b7d06842794347d3895d6d90311143210f8268d7bc9d303f8bc354727391f4a5848f08daccbe105fd0356f5ff034ef0e04abd2e98b5244e227b4c29129fb361cb68731a14726b20e5c0c058dc1d03ca91f81cfc541af290b8950ecaf8231a99d5734b6189f9df0134f984bb4e75cd0337ac1874e8636c512a4e8ad5bf8b21a9393574e00255ea857b37aaf89a6849260377cf887b1b26f376e2c723222e7f4b757a95e74bc4997a9a8072166343290e9303df60c475d7c65f56277a489850926c77dd2260421ef37d71b55b5868bf52c5c603dcac3313a418ace952e9886fa4bf61d13b42e3f18d1042bb235a2ba59b810e260360400651b8f79b1f433f41231ca831269054052e9e67749643d2d3868b1fde4e036ba4158b3af1e285490d852dd5f1ed747c26cc7015643ebf704439cf70e6b68f036a2c2f6569dbb7118f4186cea77b1c172208b6073f3a9a003561f83940c2d08f030894406c79997253729c2b34f423edda475e6062e59d05902724b803a4956e6603a07da1b33bf9ba32d3694afc287030b494d6d10853b144d7d77b39c0655b771503d2e634a58db653043111fd2de1a3a7c0f94c04a2b21eabe7251b853208b25a06039a9cc6c29bab443e2fa777f56bd8dc3857c5f27cd2e21b1ded5017d7f8ad342a036928bd40d97fa51c83b0924afe6559f07981b77bfa176cf65227037ac07e4ef805581e032b977359b9baf59a0eb9de776f560a8531cd6a74519bdce7c0d739ca200c014640ac3ce20d0005581e03862ab908d2c067e307eba4a8b9454406b0dc48275eb089de7aa7ee82600847217e32984b7c00031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03d0dd70d8a135329b26cae2ea850ae6135b5af9bf5304a661a94ed8c96007011bffffffffffffffff03cbeaa5930556d9e2a2e9687849cf7cc4b8eee475215859ebfdf04553a745407a05581e03c15d96459ce01349d108ab50ea896b62a732ee738ce551f4957ade8d100c02461ab304ccd18003a4f3046fdede8bc83dfa23cfdb14af30ae0970a992e77a5da5c739a2f953cc5305581e033c7619fc6b7cff52c4814878c3a772d1d6e775d23a583358714f60df300402034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e039d0e759d7024053ac1849e7222b40137e3e63f295247b75b1e656b3cd007011bffffffffffffffff0459391a6080604052600436106101f25760003560e01c80634fbee1931161010d57806395d89b41116100a0578063d01dc84b1161006f578063d01dc84b146106b4578063d5aed6bf146106dd578063dd62ed3e14610706578063f2fde38b14610743578063f8b45b051461076c576101f9565b806395d89b41146105f8578063a9059cbb14610623578063b1d0b72514610660578063c02466681461068b576101f9565b8063715018a6116100dc578063715018a6146105765780638a8c523c1461058d5780638da5cb5b146105a457806393b1c69c146105cf576101f9565b80634fbee193146104ba57806365cffb1e146104f75780636ac5eeee1461052257806370a0823114610539576101f9565b80632598cdb2116101855780633415650e116101545780633415650e1461041057806336a0f8a51461043b578063399e4bfb14610464578063470624021461048f576101f9565b80632598cdb214610366578063277a2205146103915780632b14ca56146103ba578063313ce567146103e5576101f9565b806311704f52116101c157806311704f52146102a857806313114a9d146102d357806318160ddd146102fe57806323b872dd14610329576101f9565b80630106aaef146101fe57806302bf2a5c1461021557806306fdde0314610240578063095ea7b31461026b576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b50610213610797565b005b34801561022157600080fd5b5061022a61088a565b604051610237919061270c565b60405180910390f35b34801561024c57600080fd5b50610255610890565b60405161026291906127c0565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612871565b610922565b60405161029f91906128cc565b60405180910390f35b3480156102b457600080fd5b506102bd610945565b6040516102ca91906128cc565b60405180910390f35b3480156102df57600080fd5b506102e8610958565b6040516102f5919061270c565b60405180910390f35b34801561030a57600080fd5b5061031361095e565b604051610320919061270c565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b91906128e7565b610968565b60405161035d91906128cc565b60405180910390f35b34801561037257600080fd5b5061037b610997565b6040516103889190612949565b60405180910390f35b34801561039d57600080fd5b506103b860048036038101906103b39190612964565b6109bd565b005b3480156103c657600080fd5b506103cf610a64565b6040516103dc919061270c565b60405180910390f35b3480156103f157600080fd5b506103fa610a6a565b60405161040791906129ad565b60405180910390f35b34801561041c57600080fd5b50610425610a73565b60405161043291906128cc565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d91906129c8565b610a86565b005b34801561047057600080fd5b50610479610b76565b604051610486919061270c565b60405180910390f35b34801561049b57600080fd5b506104a4610b7c565b6040516104b1919061270c565b60405180910390f35b3480156104c657600080fd5b506104e160048036038101906104dc9190612a1b565b610b82565b6040516104ee91906128cc565b60405180910390f35b34801561050357600080fd5b5061050c610bd8565b60405161051991906128cc565b60405180910390f35b34801561052e57600080fd5b50610537610beb565b005b34801561054557600080fd5b50610560600480360381019061055b9190612a1b565b610c86565b60405161056d919061270c565b60405180910390f35b34801561058257600080fd5b5061058b610cce565b005b34801561059957600080fd5b506105a2610d56565b005b3480156105b057600080fd5b506105b9610def565b6040516105c69190612949565b60405180910390f35b3480156105db57600080fd5b506105f660048036038101906105f19190612a48565b610e19565b005b34801561060457600080fd5b5061060d610ef8565b60405161061a91906127c0565b60405180910390f35b34801561062f57600080fd5b5061064a60048036038101906106459190612871565b610f8a565b60405161065791906128cc565b60405180910390f35b34801561066c57600080fd5b50610675610fad565b60405161068291906128cc565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad9190612ab4565b610fc0565b005b3480156106c057600080fd5b506106db60048036038101906106d69190612a1b565b611097565b005b3480156106e957600080fd5b5061070460048036038101906106ff9190612a1b565b611157565b005b34801561071257600080fd5b5061072d60048036038101906107289190612af4565b6112c7565b60405161073a919061270c565b60405180910390f35b34801561074f57600080fd5b5061076a60048036038101906107659190612a1b565b61134e565b005b34801561077857600080fd5b50610781611445565b60405161078e919061270c565b60405180910390f35b61079f61144b565b73ffffffffffffffffffffffffffffffffffffffff166107bd610def565b73ffffffffffffffffffffffffffffffffffffffff1614610813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080a90612b80565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600c81905550565b600a5481565b60606003805461089f90612bcf565b80601f01602080910402602001604051908101604052809291908181526020018280546108cb90612bcf565b80156109185780601f106108ed57610100808354040283529160200191610918565b820191906000526020600020905b8154815290600101906020018083116108fb57829003601f168201915b5050505050905090565b60008061092d61144b565b905061093a818585611453565b600191505092915050565b600d60019054906101000a900460ff1681565b60135481565b6000600254905090565b60008061097361144b565b905061098085828561161c565b61098b8585856116a8565b60019150509392505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109c561144b565b73ffffffffffffffffffffffffffffffffffffffff166109e3610def565b73ffffffffffffffffffffffffffffffffffffffff1614610a39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3090612b80565b60405180910390fd5b6305f5e10081610a4761095e565b610a519190612c2f565b610a5b9190612cb8565b60098190555050565b60115481565b60006012905090565b601260009054906101000a900460ff1681565b610a8e61144b565b73ffffffffffffffffffffffffffffffffffffffff16610aac610def565b73ffffffffffffffffffffffffffffffffffffffff1614610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af990612b80565b60405180910390fd5b610b0a610a6a565b600a610b169190612e1c565b83610b219190612c2f565b600a81905550610b2f610a6a565b600a610b3b9190612e1c565b82610b469190612c2f565b600b81905550610b54610a6a565b600a610b609190612e1c565b81610b6b9190612c2f565b600c81905550505050565b600b5481565b60105481565b6000601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600d60009054906101000a900460ff1681565b6000610bf630610c86565b905060008103610c065750610c84565b610c11600f54612161565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610c79573d6000803e3d6000fd5b506000600f81905550505b565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cd661144b565b73ffffffffffffffffffffffffffffffffffffffff16610cf4610def565b73ffffffffffffffffffffffffffffffffffffffff1614610d4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4190612b80565b60405180910390fd5b610d5460006123ad565b565b610d5e61144b565b73ffffffffffffffffffffffffffffffffffffffff16610d7c610def565b73ffffffffffffffffffffffffffffffffffffffff1614610dd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc990612b80565b60405180910390fd5b6001600d60016101000a81548160ff021916908315150217905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610e2161144b565b73ffffffffffffffffffffffffffffffffffffffff16610e3f610def565b73ffffffffffffffffffffffffffffffffffffffff1614610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c90612b80565b60405180910390fd5b60638211158015610ea7575060638111155b610ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edd90612eb3565b60405180910390fd5b81601081905550806011819055505050565b606060048054610f0790612bcf565b80601f0160208091040260200160405190810160405280929190818152602001828054610f3390612bcf565b8015610f805780601f10610f5557610100808354040283529160200191610f80565b820191906000526020600020905b815481529060010190602001808311610f6357829003601f168201915b5050505050905090565b600080610f9561144b565b9050610fa28185856116a8565b600191505092915050565b601260019054906101000a900460ff1681565b610fc861144b565b73ffffffffffffffffffffffffffffffffffffffff16610fe6610def565b73ffffffffffffffffffffffffffffffffffffffff161461103c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103390612b80565b60405180910390fd5b80601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61109f61144b565b73ffffffffffffffffffffffffffffffffffffffff166110bd610def565b73ffffffffffffffffffffffffffffffffffffffff1614611113576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110a90612b80565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61115f61144b565b73ffffffffffffffffffffffffffffffffffffffff1661117d610def565b73ffffffffffffffffffffffffffffffffffffffff16146111d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ca90612b80565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61135661144b565b73ffffffffffffffffffffffffffffffffffffffff16611374610def565b73ffffffffffffffffffffffffffffffffffffffff16146113ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c190612b80565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611439576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143090612f45565b60405180910390fd5b611442816123ad565b50565b600c5481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b990612fd7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152890613069565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161160f919061270c565b60405180910390a3505050565b600061162884846112c7565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146116a25781811015611694576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168b906130d5565b60405180910390fd5b6116a18484848403611453565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170e90613167565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d906131f9565b60405180910390fd5b6000810361179f5761179a83836000612473565b61215c565b6117a7610def565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561181557506117e5610def565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561184e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611888575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156118a15750600760149054906101000a900460ff16155b15611c8457600d60019054906101000a900460ff1661199b57601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061195b5750601460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61199a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119919061328b565b60405180910390fd5b5b601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611a3e5750601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ae557600a54811115611a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7f90613343565b60405180910390fd5b600c54611a9483610c86565b82611a9f9190613363565b1115611ae0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad790613405565b60405180910390fd5b611c83565b601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611b885750601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611bd757600b54811115611bd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc9906134bd565b60405180910390fd5b611c82565b601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611c8157600c54611c3483610c86565b82611c3f9190613363565b1115611c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7790613405565b60405180910390fd5b5b5b5b5b6000600954611c9230610c86565b10159050808015611cb05750600760149054906101000a900460ff16155b8015611d065750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d5c5750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611db25750601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611df6576001600760146101000a81548160ff021916908315150217905550611dda610beb565b6000600760146101000a81548160ff0219169083151502179055505b6000600760149054906101000a900460ff16159050600d60009054906101000a900460ff1680611e6f5750601460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ec35750601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611f6e5750601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611f6d5750601660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b15611f7857600090505b6000811561214d576000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff160361203057601260019054906101000a900460ff16612026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201d90613529565b60405180910390fd5b60115490506120db565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16036120da57601260009054906101000a900460ff166120d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cb90613595565b60405180910390fd5b60105490505b5b606481866120e99190612c2f565b6120f39190612cb8565b9150601354600e54836121069190612c2f565b6121109190612cb8565b600f60008282546121219190613363565b92505081905550600082111561213d5761213c873084612473565b5b818561214991906135b5565b9450505b612158868686612473565b5050505b505050565b600081146123aa576000600267ffffffffffffffff811115612186576121856135e9565b5b6040519080825280602002602001820160405280156121b45781602001602082028036833780820191505090505b50905030816000815181106121cc576121cb613618565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612273573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612297919061365c565b816001815181106122ab576122aa613618565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061231230600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611453565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161237695949392919061378c565b600060405180830381600087803b15801561239057600080fd5b505af11580156123a4573d6000803e3d6000fd5b50505050505b50565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036124e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d990613832565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612551576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612548906131f9565b60405180910390fd5b61255c8383836126e9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156125e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d9906138c4565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126d0919061270c565b60405180910390a36126e38484846126ee565b50505050565b505050565b505050565b6000819050919050565b612706816126f3565b82525050565b600060208201905061272160008301846126fd565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612761578082015181840152602081019050612746565b83811115612770576000848401525b50505050565b6000601f19601f8301169050919050565b600061279282612727565b61279c8185612732565b93506127ac818560208601612743565b6127b581612776565b840191505092915050565b600060208201905081810360008301526127da8184612787565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612812826127e7565b9050919050565b61282281612807565b811461282d57600080fd5b50565b60008135905061283f81612819565b92915050565b61284e816126f3565b811461285957600080fd5b50565b60008135905061286b81612845565b92915050565b60008060408385031215612888576128876127e2565b5b600061289685828601612830565b92505060206128a78582860161285c565b9150509250929050565b60008115159050919050565b6128c6816128b1565b82525050565b60006020820190506128e160008301846128bd565b92915050565b600080600060608486031215612900576128ff6127e2565b5b600061290e86828701612830565b935050602061291f86828701612830565b92505060406129308682870161285c565b9150509250925092565b61294381612807565b82525050565b600060208201905061295e600083018461293a565b92915050565b60006020828403121561297a576129796127e2565b5b60006129888482850161285c565b91505092915050565b600060ff82169050919050565b6129a781612991565b82525050565b60006020820190506129c2600083018461299e565b92915050565b6000806000606084860312156129e1576129e06127e2565b5b60006129ef8682870161285c565b9350506020612a008682870161285c565b9250506040612a118682870161285c565b9150509250925092565b600060208284031215612a3157612a306127e2565b5b6000612a3f84828501612830565b91505092915050565b60008060408385031215612a5f57612a5e6127e2565b5b6000612a6d8582860161285c565b9250506020612a7e8582860161285c565b9150509250929050565b612a91816128b1565b8114612a9c57600080fd5b50565b600081359050612aae81612a88565b92915050565b60008060408385031215612acb57612aca6127e2565b5b6000612ad985828601612830565b9250506020612aea85828601612a9f565b9150509250929050565b60008060408385031215612b0b57612b0a6127e2565b5b6000612b1985828601612830565b9250506020612b2a85828601612830565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b6a602083612732565b9150612b7582612b34565b602082019050919050565b60006020820190508181036000830152612b9981612b5d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612be757607f821691505b602082108103612bfa57612bf9612ba0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612c3a826126f3565b9150612c45836126f3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612c7e57612c7d612c00565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612cc3826126f3565b9150612cce836126f3565b925082612cde57612cdd612c89565b5b828204905092915050565b60008160011c9050919050565b6000808291508390505b6001851115612d4057808604811115612d1c57612d1b612c00565b5b6001851615612d2b5780820291505b8081029050612d3985612ce9565b9450612d00565b94509492505050565b600082612d595760019050612e15565b81612d675760009050612e15565b8160018114612d7d5760028114612d8757612db6565b6001915050612e15565b60ff841115612d9957612d98612c00565b5b8360020a915084821115612db057612daf612c00565b5b50612e15565b5060208310610133831016604e8410600b8410161715612deb5782820a905083811115612de657612de5612c00565b5b612e15565b612df88484846001612cf6565b92509050818404811115612e0f57612e0e612c00565b5b81810290505b9392505050565b6000612e27826126f3565b9150612e3283612991565b9250612e5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612d49565b905092915050565b7f546f6f206d756368206665650000000000000000000000000000000000000000600082015250565b6000612e9d600c83612732565b9150612ea882612e67565b602082019050919050565b60006020820190508181036000830152612ecc81612e90565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612f2f602683612732565b9150612f3a82612ed3565b604082019050919050565b60006020820190508181036000830152612f5e81612f22565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612fc1602483612732565b9150612fcc82612f65565b604082019050919050565b60006020820190508181036000830152612ff081612fb4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613053602283612732565b915061305e82612ff7565b604082019050919050565b6000602082019050818103600083015261308281613046565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006130bf601d83612732565b91506130ca82613089565b602082019050919050565b600060208201905081810360008301526130ee816130b2565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613151602583612732565b915061315c826130f5565b604082019050919050565b6000602082019050818103600083015261318081613144565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006131e3602383612732565b91506131ee82613187565b604082019050919050565b60006020820190508181036000830152613212816131d6565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f7420616374697660008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b6000613275602283612732565b915061328082613219565b604082019050919050565b600060208201905081810360008301526132a481613268565b9050919050565b7f5f7472616e736665723a3a20427579207472616e7366657220616d6f756e742060008201527f6578636565647320746865206d61785472616e73616374696f6e416d6f756e7460208201527f2e00000000000000000000000000000000000000000000000000000000000000604082015250565b600061332d604183612732565b9150613338826132ab565b606082019050919050565b6000602082019050818103600083015261335c81613320565b9050919050565b600061336e826126f3565b9150613379836126f3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133ae576133ad612c00565b5b828201905092915050565b7f5f7472616e736665723a3a204d61782077616c6c657420657863656564656400600082015250565b60006133ef601f83612732565b91506133fa826133b9565b602082019050919050565b6000602082019050818103600083015261341e816133e2565b9050919050565b7f5f7472616e736665723a3a2053656c6c207472616e7366657220616d6f756e7460008201527f206578636565647320746865206d61785472616e73616374696f6e416d6f756e60208201527f742e000000000000000000000000000000000000000000000000000000000000604082015250565b60006134a7604283612732565b91506134b282613425565b606082019050919050565b600060208201905081810360008301526134d68161349a565b9050919050565b7f53656c6c2073746174757320697320636c6f7365640000000000000000000000600082015250565b6000613513601583612732565b915061351e826134dd565b602082019050919050565b6000602082019050818103600083015261354281613506565b9050919050565b7f4275792073746174757320697320636c6f736564000000000000000000000000600082015250565b600061357f601483612732565b915061358a82613549565b602082019050919050565b600060208201905081810360008301526135ae81613572565b9050919050565b60006135c0826126f3565b91506135cb836126f3565b9250828210156135de576135dd612c00565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061365681612819565b92915050565b600060208284031215613672576136716127e2565b5b600061368084828501613647565b91505092915050565b6000819050919050565b6000819050919050565b60006136b86136b36136ae84613689565b613693565b6126f3565b9050919050565b6136c88161369d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61370381612807565b82525050565b600061371583836136fa565b60208301905092915050565b6000602082019050919050565b6000613739826136ce565b61374381856136d9565b935061374e836136ea565b8060005b8381101561377f5781516137668882613709565b975061377183613721565b925050600181019050613752565b5085935050505092915050565b600060a0820190506137a160008301886126fd565b6137ae60208301876136bf565b81810360408301526137c0818661372e565b90506137cf606083018561293a565b6137dc60808301846126fd565b9695505050505050565b7f45524332303a20612066726f6d20746865207a65726f20616464726573730000600082015250565b600061381c601e83612732565b9150613827826137e6565b602082019050919050565b6000602082019050818103600083015261384b8161380f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006138ae602683612732565b91506138b982613852565b604082019050919050565b600060208201905081810360008301526138dd816138a1565b905091905056fea264697066735822122092cc682529e3e91e4fe43e35fd3f094e69591e0a7fe17bea4d72ada5b4bf6c5464736f6c634300080d0033030dfb5cc78340bb46956ae8c69544b66db8637edef82199be9f8c6eaa3d3b4d5203f8c1df767094e74906affaf7ce49feab6d8264fa8226f8d9f1970dfc7472282a036a02c66a181d8b3ffc4b9eedff4f2464e32832c9fdc1971c2ec81140a02db13500582003e185811a2dd1cf81f6ca33673c46c0517e0033a4fc0bf6643459ad8f9cb8505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200364ee70cca628d222d95828108dbf93f139c06626ab5e205f228652c3dcdec0496b1e658a40be552f4a005820038d4d96d5e9abe3782f678a1c05ca9eac5b55ac19de12960ca863a0465e0400433f28a90399a5d38cd10ce1f0051f4786860357e9bfbff98a01da28ff954066fc0d79dc7e03a21af89d6184799751d52ce53129c89ab4b3fd3de78236ed3831f949b2ab82a900581f0212fa3df37a0d2fbfd03dabc735b2d6abc855943a9f07e155a62663e61d754a01366e8ba0f4f1eef36a00581f026384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db054d47b03b1478b950f65e45af1a0bf6dabda8a7e420219080403d2866727d2b42ac419109cbd875011247432bc23760f3f55ef4349b0598dd14801410a00582003de5d720217f198c1ca5ee27497a4b473f98ad4d0a857450c1377c221598b404a0bada9a0b0925320e1ad03fedff9efb5c577edf4b942b229d6c74cc98a5ba5236afad68d27df69d3206db00385cfa26b2ba04a7379e91e686b15205545dfc005795a815546f399213d16d070039302c9cd8cbbd01ba6f26c9aa8c7ce980605e8d246accb698b6e09a16d046f58030cc1e91b965f4f6f3444a69dad4bfa8cd0d872250ccd5a98d3fb2ce564a30638035f22bba82a60321e73c31854d4d1608d954fadddaabf05bf053c4a26605fa2580058200381a1286581a43d0c7c921fe0784c0209dfe6f4cbd65d6f77c12aeccd00ecb0494686f8b92895c1c9a10219eff70348f7d993ceee4cd6953b498bdc2fbd254dac83a9d3be60ce5a0447bc6df5242f03979a620018056123eea100690cbf64f35ec29b821c791282afbea5492797875403751516fcba7a745a29e494869240c9bc2e4d970f2417f380f4413156ce5bb4e80393b25a400836841b46415e1516081669615b99d18cbb832f0d217a3ef6729fa403834f479c2d71eb7202e3cfd048658c0c318f3fb4fca6cc368c126bacf256e238036b38989364982f18327c788f7e34954aec7a7d27fc1fb9af1b47d93f06833f780357669d2da9f866ea6886c4949519cc860a817a43f98cfcc0b35a17ee84569c0903e6f4a33dc67b5dc1605a9255d79de71aba41ce5bd51d587e016894b2b113d6d4033be1207abb6a72667dcea46efba83dcef57715ae57dbbfcff5855b9415e834d003b21a7f3e7ca2095c19410280f812b34a01a72dcca79f1d451617f7b0ba4a357103ff05171ef7c04bb8fc0afa9a2f680b112065536872ac1ece4dc4d180860cc75a03d16b9c919966ddfc0ee70d305b108b837ba3001b7bbe77bbe7722aa5f54033f10219ffff035766e08a5bf437ab67880dbe94de5d901ef0e8d54a34f7ee5446f9cf60bf47cd0364ef61b77e033607d2bdca8268f5800718f845d19d689a9a520966da54ccdeb00318890765b73541833c4c4d2f78b2bc974621ad8c365b344bca3e5330eaf3716203d8ada72fdfb7edfe65ee18f05daaa253583c44d32ac4d15464bda054ca73c90f0395403c24628ef719901d0401bc5bcbc926d09768da7180e07cf7d557a0e16a5603cb644e444531f9ec1d7b8b816178302a48e94ada4949d8646d31db56c28f6f4e039bda97a081d996479a4706b14f8dbdbe6ac7e987c68f1868d0355d5a2b043aec03d06ff00085a740e314d33fa44028f1d80ecd26a0e398535187b065ca0f615cea03d89b631174ce9f3472529f2230b609c7f8e5d5292908dca0fa14563b1b58b12d039075f8d541d27fb7e4c8a33a58442c7e82801d84f052ba413ab078fb021e5ecd0357006bad465a916f2f69e560637f5d4633912cdbf1f24278a6fd9451d91d957b03dd627022ad01dca01e084997323afa40006495f71bc4b1f87c9f10e17d0991a0035a2a4eae690678b77dc0c58bef0bd45f72cf2a6f5b5b0b28d00145ec002e23c2034f949c1355136ac8b4881c68bf8d1c0d0bce4c50122ecf8d9b9f268be2e7646903783fc08a4f465d14cc11082a5b85b0927dda68b792ee873d6385fa6313cb8241005820038575d03a2fa19b8d35982444ec667f78b05a0db9c6f39833171db07446ee504a0abe77aa86e7fbf7c89d03bbf7cb957caf19b52af3f0a8aa6d8dd28dd673ffc846dbc6484dd7f7899665fe0393bc19fb136ea5be023bb0d568b2b2b03f7897ed766c9e83a37216557549316800582003a7f8aec5ef27a6afa586a42617eec79522f0153fb45ad25f0a5eac8ab361a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e500f7a5a714140aa82c65640907e4a519fbd926ce08396a9a429d83838634cc0384b93288e15d67d27bd7903b9e9724619238350191e51b7e61ff48e38e5865f2038997eb50eadbe71b99921ce27d43d6240ea8dd02d84d1541ee35be9ee39792370390eae7cbe414012ba94fa751767556a926d2aa73b7b398178dfadd36870a74f2030d8ca5beffdaee1fb48507fe3fa95013e6b2d1e7ca7a620413b01510632e82960219ff8f034b749d31018cbb647f6681e7778e644818c7bc122e1f44e8ba05fbace840be7a03f3ee3c3175e44f07be8b247a43b9f523d3b64e06f3e45753c39b32d1ed2552ae030b3b0b28929f01644b5733b25c7b71f977781a3fdeb65a8a2fcc2d76b7960a9f035833cfa1bf3f16f6e26d358eabf4ed9267a9660a5ab55a5117bc99fd30a91e540219ffff038f9a8bb577e2cfc547dd8ec96ade066c546b4b4f15bda9d288abd65a52c24efc031e81ed326f14aa8be625fe78232916741afbaafe5bc21d061e3234a1983646c903f70e0fe981ced0449fa9922424150a16511ad16edced0386f159aac31c64595d03e253b7034997ad828f8e9f43f321eb9050476f45d3270c9903b638e6c721695900581f0266eab431db0fc8bade7f3537907be2fca22e32b38b990f7c16fb27c653784a029f43bd0c740d9bcf8700581f02e9b592d5d40eca2f076c5d7c401392f092b4cb5c5d3ec9b84a9d6f226d444b017293be8a9d538124000000581f020d974864e072da8bebb35aa8dacbdfe78fbda0904e879cdfc6322c257d285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219140103f16865314a8b7f1ddb13dbae1ecf27679df47294d31ef908dcaf482bda63e423005820037097e25b46a5c309b8fe23c1c167f112dedbed68ef8ffc115acc54e8e429e04a08788e7a0320141388e503232a1d7a3a0f5c7810e9df8e8f40df055d6822752786bd0c19073cc0a2fc272303cb77805c916b10c3e5e25b5942a425a6c9caa2c5cdee61718d27927813aacf1700582003e02395fbe32f022eee2b33d9fd792eec2bb2b7327dd1fbf4f568f1c4b012c048170fdf7bf393ad700316ec6f02e9f90840f8d774368aa7b6b2c68b8241c1415e5ce8d75feca654a019034a95b58df0666b2ea610a544de248fef78f7891a151218290e8d7be5dc27a9c903e41d838e3b3625377204835f6e905dfdfabf390fe5ad2aef52ad392e71455e0600582003aa1399871e2fb5ca4d996c50ceadf9145f11012e335392b192bc14367e0af05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a2cc5bbfb9226ba65c1a0397ce81692f0fd113f27438f0beda0d4a1489431ea803b05e8ff1276f87a5deedbcd9e734d2340ad7dec643020a406f0c718e6e98b48600582003793472e6363b34e4909fb266669ac92dd940f21c6d0b1caa03fb0f120891405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219fdbd034d4530f1f584ca18445d00d25cf5f4713b10d1ca7f25204706417ab2149677f103bc8a6082550c8aadb30cd94f0f3d64713c54deb7a3f03fe9511e4e160ec28f5b0372a13c8f827de2eda722e2a839817986eb890d9e9d388f0e375088d02c32093d030d962008aae071ca6a8b32a0076ff8bd34bf26c0a03a1b664a51a6972a9d6cb600581f0253b18a77aa712c4a94458a03f9e37e566107b5ddd94c147810d2a3ee29d74a0113ecc51cfe06db65cc03e09c4111f313677de2ffa1f223e92d3d739c0d5a546b859126cac55746489ad702181803b284de28a6a56274d0748d28a686d4b0c512ea0004a6cb824baba97f430f550c036f2bc78d6ae6e471aabeb70463e93a6dfbd10b33ed34db8afa41c2fce13c2954038c3dba19a42b1fc4b991e51b43a81da00ed2920dcfce3db76865cc670d99b09403e4f1277a4bbf40065d07b5248d8ff9e3dde7c5020721a16e7eb96cc6eb8bf861038bc20cbb6f6fc62968919bbcfe5bb6f9a1db3bd65a2a88edcd48d421fd58b4cd005820033d12f687f8c4646b35202c0985b5e0df283d9affab4be678387ac41594a6704979c2af43333c55bc28035693f317b2686ed71a02e32260fb0c032d951ba526a929575a8736cd83f59761035924d28bf69ad32f4df9603abe834a2c5eb45d31e8cf4470951c861ebefbe16203f721e86565ec9b361fea6bf302b1c9b064995f4554f48c7d4f76f7d18e5216df005820030e584c2245f0c8fd7e68e8435fb2f8278484c8f7f6542884dce091bb0761104a02194ed87dbead8f749000582003871f777c8eb8c2cd9ac0a2f46196408775c2fb237d53d0a6ce98dfb9998c304a017b8564714b86d5aede00582003b2c88ddf09506101da6bb460e61893b79aefa1dfe4b762aa3eefffd12282c04b084297c5e7d9ef9b46d0a20375e439913892f20c5b280208ae5bc7bf7af9ba15c6329cebfb0b3909d8ef7ea60219ffff033accc80e178ae2daa95e603a2a13c78ced353bd847bbd21688fb87f63902833f03a0210d5dd911b8e334cadf0e58c89bd87e30dd019687d35212cc23b13a2ee1f203aaaf4f430bbaa3045b4cb92cf67629f5b43ae114ffc4126681ad9d73b81a7ba403aca4f95c6ad18504fdbfe9e6619ec276ec88453a92af5dd88fb672394921e50b03db9fd72d062c7371b06b138a7bb0248345b7e01c732499b45cf2917f58c0ede303a5ea07d3b837b7ca866a297be8e8956bf3c604ccddb0bf4b4bb5f9833c6f0566032d4a2330bfc556ed3818ce2bde0ad299645469aa45a276798a25b34b79934303030c7c44aefc15a84b6c23409ecfa693047418942c1c49dd1f57910a01320750580219ffff0375e8d61a49416b2593f21cce954aa4f14f89b864c54769184582648254dfe14103470a0707beb45333b1caa1c47eae5203324dfc804e2315e58eed1ae616f7e48f0324ae6d444d36e081bbe481152f30f9e38bf9ff8e6ea543abd647933c1dac536303afa2439a680701baa96d24ab9c8537eda2e385de6a7564cada66f86cba76bd73005820030b50ebd36c55ca8c04a355f595a7bfa8ed72c0bf8cd928bdf1f55c3d3162504a2c41e9a6de8ac0a00000039597095af812f7256b4cdd2f116d27f0659d86a463e05babdd55f27250c1d69000582003b0cfed7f042a615c8129acb8dabc46a4d749b5eb09f0af461f52f05c44af105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0385a9512d027f8a3b9be78778ed4619af25c6bd181b92176a8ff536c75224cc4200582003d39ec5f5ab1aff23fd1775a8ab7d60ec3891cdad5456011045ccaddd5742704a03dccad98056950046fe03d1e7e941295a2e08b17c19a3b6e1ec526ad59bcee2535cc2b6068c645eaf712d03819e7dd753c3be278f7bd5e940259cc88df7204cf725d319773f754d7a9a4234037932b22d07a24ad2c16dd7d18cd5a8e0f9ec818ad9725dddd37d1f9e03eec35a00582003cab51a55f218c03d645cc2dd79dd408c1ac97c138f92e65c9cda17ca13d3104101033d6686fc6740e0f63ff74864fea699997e4e49886e46b2943e199316030ef23d00581f02e0bc99e84c42ae9563e67c2559c098f5e0731008b7c7b8ce647c8b480fe55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f029589be7ef9bb1a036660463fdfa2aa7993bb77885320acb84c4b46fa56ea5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ab7a633480ae83269f7c9273650191bec114f2b1e91f23bec9950ba954394a013fc81293be86a6399100581f020c553f7a32408a02bc7a59763460db410150b9d6a10f8708fafd930f76bc4a03b456eed6dc5317efe10219e10000582003a932665bfade5737d467997b5098e440a8aaee680937eb0c7ff6eefebed330493855369a4b38621d230219becf0394db550621c963340d2773ce4e974ab036bcfa6e26cf40875c8222742e0c721c0310af2b6c064f3f8ed6d9012b94bdfc5b866c44ab331e0b14ca114a599bfaa5a403c3739139a95a7ed37717ab13f1b93f76877c9f78544b07ce1595c087a49f42570354f5cc024aa6a7beffd884ce2350067ead778fb953952373079ae724b1ff745a033904eb49dcdac389ab4cfa09a35cdb20e63162770cf7351e8fc53eeec0d92a0b0307c6679475553b281b5c20fe6f388b207e7685682f630f8fc16137f21dd703ad03a237fabb05e6b6dc39914e3abcbafcaa48c666f89b1f8d064c9e56ec1e75e7d1037c0c3bb9a9e46c63722e28c15814f109e8799d482d3f76a43e5febc0403af12a03827741a4d0e33ad5eccdd08045aa60078eb94223a1e631269f9427e6d7dd3d8e03d5a5a9772ea7d775aba910f89c574a1b4f8af5da7bf12cb59eaebe5832af1a13036d5c419a0442d4af037c99f20e91e4bab3858e19b84cbbd1959befb53d1187130219ffff03285d0435a93199cab3ffb5e92f2101627da0a1f589fa4da92234d50d4a7aca0203e1c57f3f756207f21ae32b7349bb360231a4b8e1968838f268439d79363357ae03421fa46a8fcf4db8ba30ba5a3ec08d37c6a233cfac48e5a4318e9dd995d1ac0303d7e6d7b7b88d3726a88345f56d216038aeb19f2f38c277db34e1e36528a98ea703cf50542e9bd30015f7aca9ca14f28a85114e0363ff68ad68d146e5ecee466cab032d2123a4534ee07523b9029e7ad65c8a0ec701aacd0aac097870da683e6fa1f9033c8572f55fdd440998db549c8f32638e72df6d6b978ec4027ff13e272e28e2210315959e6fd425200909b2f3a184c34b5404673ef220a0d5a07c7b8ac430e95af10355920ab579d45f6bc8fc0f722ff2c76a60980851b9adf7a3b728e7079c2558900058200302b7697a93817a0ab11f102e577de76c751606209c5cd3cd298e9c77686f704a05c52ff62f80fa7a4528005820030bc7046359344f0823a58c617969c2f9bbad80e14e64a2f5d54295442555004a09125c6e0fce876a068403908e61ed2e88fb416efe9f9a0eb064c5e7c775d13184d93bdeba8663e6ab0dbd00582003fa294e30c12ac211596b8147f4906a7e43a8823fffee0ee12a23737a6c21104a1fb80590be4a0bb8bef5037a07243cb9dc54b6692da6b818bb11d342b56482bd9fa33ae24b7a3468a5ea6903b7515a20daca7fe186151120efbb28d48254e447f09f89c8e632eac05fdc99ff032dcb2f59e4a2a51afaf6ebfd1e4f93c2092e5c4d3af04fda92c96ba91e0a6176005820036827736335e9c6572c182f15e6fa5376017e2103bfb202d2818762d1dc86b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035ca41483c79f09be6d25e6e6e7bfaed6599d3c334b050d59e9c44923e6167c6103f7fbdfb31411ad4bcc64e087fb5b1e626a750cc2f2ffaf6b37c678f2d2888f2f03dcdada1abe801ded874b70aedde812bd1216515932513c73d51f016d3c41a03e00581f02dc1a3478411008d44acb9beabb59ddb0e9dab13c5c22fa3d8360d5b348494a01d045265a8741c26f9200581f028ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09041010219440002193ffe03fbcbf2f7d693728912d0c19addd782ec5873752f9beaa70497dee302529f67520365d51581a9c2fbd85f5811fd93f59433f45bb19ed7403333271698ed0a210b0f03d9a5dc5a42063f3c7e65ababcb60f27f5ef6f71038b07a0ff04e4abcefb1efcb034da9cfbd75c98e4876f6678fd265162c6f7fdfdfd03fc85cd307ea25d06f8a0303d6e8d5c6ab21cec0178a0dd02a6e818ada840f398671555be8eb6300f8b7556903ff5f93a7b937e24f21b4d56fbf99495eb1528cfe93afc40b7321643f75d7ddb1036e06a813453c42eff142c78c026774fc9ab6b11feefbd69a1cb415051a10e1fe0058200333120b7c8955989c39ba065265ea3346ddb99af5a81ed8cf01e8743b7abf70491c291d7cae53264d1100581f020c5d9407e90304717dd1974a868443331fac0038104d4c95327b5cf2d6ce4a1e7e4171bf4d3a00000000581f02c39aaf1b12963edc6bef5ff36c37fef86a4865f9bc51d4fba71aaee21f034a02dff8aa09aab3820790021860038390521fef45897cf5e7148915b89794022dbe64628896398f651339837305d000582003aed3aff5b92f6b4b64d59e17c6da1e1297b5cca27f01ba4f7d97ed58b1f740496c7567f1d831dcb77803e79293606e2fa9563f1f75e569604692916d1e4eff264919bc91e2ed4fd593a903c8b779d5614c0c25fef0c84b96f407945ba16fe65b0881f619d7d9a1c62ed33000582003b40d55c642cabf8147d328b5a194763bf62d4bbffd9112393e769f844b8f60480d0a60a0fe49b3eb00582003d6fae1bc98c1dfd9feb286d98bcb399d41703f6e81d3dbafca4b1b2885a1c0496f44bdb2675bd037e00058200320c28ca5df6c453b3a05286b2d73bcb78e2da715f96c77c86230372c02d0005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034eb2e12044ebc70a9866a2449a5fa10c63f315703bba7311247ed07427f6e23f03207fdaf8dca093c60b351941e530dae150b2fd403fb2ce7d01b71d4390d31171033178090bce37c9a590411b5ae0e441f68926d319ca63822380933b13765888b203b8aecbfaa267da2667087ccff4bfe38347b41b03b147e83cca682114c6578c7f03f1983e21e91a32f926e5e0b748bc5596b00f7acea7666b15a89dfc6cd6b90cca0219fefb03aa635cdcb615ac79a2eda7800a7e8ce9a5e316e7e2dc04170f726f052f3e85ff0219ffff035a238fe4a9e56ea7fe480e9e698b4e938e70e2816c4c63602d76328ae187aefe03f24a67b76d65f67451badc7e35c20e2fbc1b9b81f07decf5b9830c44f2ac1dd5039f3ffa172e40782ce23bd012812ca7babece6ac355c8c85f74bceadc0b830cba0311d99246d5d1771ae67eba7e93145b984f5d4dab2b1a64ddebfb656a76cf6a8303f4ba04251d6ab3fb8cfcc8d5544539df51e4db798675b3cbd3c5f95962cbcb5903085dedc6750f621083392a73f01a06b800946e1f63be208bba76c0a7c4e453fb034d87eee6504b7eac867ac9238c8bd846a9e9771c61cf49b34271049c8c6f1d8e03c7eb743cd6ab84cc43589c83abf4271b6c3e794c8d7b10aede2dbba89cf1924103720c835c095066e5ebc52ae232041cb3e7ae6392fbfe2a158cf37ed7cf6a39ae0325ac5337339d5445d955ac00c471e111dbdfb44b6c889ef080211005ddc1064603a15a185aac767ad7d92c4325376c6d704f2a27e31ec2ceabdfa80c2e4257b8a90383ca35ddd4268d4c648047158770a83e9518557d555d4494b74888eeac8914c203e4ead8466109ee3fa15eb97966ef5a40d6fbfebf9bd8a586f57c9bed277dcccd00581f02440ba68f0d949035c9bd1fae9172950f6909c7049bee1cfa27bf5dd61387410100581f0234755939fe2ad5f1e6a753d586aa9c7b34ba7dac2cde753199d589b334e4497ab4e353664920c9c2021890039911f9025b0eba63db327f6c61808b7dc95ae8402cfd63f5fb8dbc42973e06e503e074a011fd93ccb92b6ed27a3815ff5aeba1d795b048fa992138153850a3973603bf7e85e7b610e51a49322c9e71545f5c58d97764d87773d33abfec52a3b41efc03ee0258904e7f96b2cffacc95385d38182daba262601f736979ff9cca8ab66e16005820035409fab04c12e0b41b228cbf3ea5d29e4baccaf9e4d1652b27563280c873c04303f9dc00582003bd5c938e5145c57ea105c2a14386d57c677db330e015ea3f662bae2731e6d04805834b70d1bdff25005820038b66cce7d406a00f9d24ebea0ae26b2f3a474ba7c11d0656d2787cabbe14d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036b1259e802fe72d3e446e868ba99eb9f19d8a3a317896898716628d8075353a2039c6a0dede7fde470a0a84991e2aac57db6c7c5de0a6bcef16a7e72faf5dd4328038b8c8d1b9966106007df00ae35968a238d7d546084abce0751bd25cfec7c90b703ae17244ff6e6a923805e94f4be1b0c5dc4f934bd0514c2f4ba91d175c0cb9f9b03871f9efde08ebd8be7edea392263bbee37bd29baec23376f80be9582bfe254920219feb7034b1cdd411f6f5b7ae3c171918ea53a20d290a1e43dd1d581deefa678ae594f52038c7966855188ec16010f6d4df8f4525bbbf2c81e4f3cbb2a0985aa464af296310219ffff03694e70927ca32668856f8d9c3a078650de26b472a1ffb38dc9a231e836a99cd103ee18b25e6d3b08b619ea70526757702997c87c64083d18b2ba7272d6f3438a1b03cdd0874c147db3a7003a9d6afa8308f4f8b98491cdcab4147b2c16068efb8cf30388bfdd506638cbe04a93071a10288a6fa76d283f24ce0d591d0e2809374e659b031050cdfc6652306f46eeac66760ae0cecced492eac7db89bf7666974ad952a58035dd6262bd5e32000d86df495519ddc69bcf08bfa55626b2ba07d9d3ec37ea6b403ddb7f30be60d2dcfb9bf0d61896652bded7a4e62c9f1348a93b47cdfd3e3dadf034651b088a66b24319e63f47876c598d68524f3d730f7653d670d44f0c971dd7b0376bb2f744a0f07a7f85248f228d84face07a46be8e253c1e714b9e85a8fccd7e03b6fb42e45de60760835770c6e7362181295dc06fb284cfc0f5c08d67c8892ea903687fe01a7adca0857d6f380366d50006dc52a1ebe0f76990283cfc54fa56874603e90ceae6d6d19e52cf1902bc2051bcc75bb3d015459d91ddd6e5a6e1d440e98703b9eb3bef420a12c5e8ba7e9fdb5ba6c945e0054ddcce2af5a4fe4128f8b367a200581f0208e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80248f97b08c168e8f54700581f0246d0fdd631140a0aa402f29abfa77a8cac2d296228e4aa2cc2867ab15bb74944e3a446899738dbca00581f02b50e7369b61945a810fefb2c534b62b3fa5ec0af976adc8480ea1baf41fc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c6bd15c3ea59324f120cf96f6dd5724ece80223dbdecb50ba2edc2248fcd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021942060328b85b34aeb4b8f92cc4cbe53394524220150cfd8eb478092096720512c4bbe803d87bfcf707967200924db9caddc9327a8d49b69a6d2fc44ac90c58e5db68028503d5e57a1f0a648fc544b7d08e4b02ed69b7c39fe26476badf0ffbc9aeb9cf8ff203b3c2561aeb3fe4410e00dfb31a82e22a8aaf7a4605094b2ac0e385cbef38595703c16984e3e5d400c72adfa39d8a325fa651c70cae0b45b06d341571d239fb2e95032e31515964c94dca22747bddf5365bcec0496cbef8c249e91fe375627a2b9058034721d40dd8d802831cedf5f16f77078ec95ec79d7435795eab02e02f2eaaece000582003dcd3e949e944c1f348cfaccde0867d322266e6ac1ad8e4dcfde8f520dd17805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cd0dcc178b857d197f84cd82f48bb8723b87e2b4c66e7b06d311305f6ad93332005820039560a33bda5c1bca8452c1b82df0176e8b432d9756a0eec1f793e9854ce4905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219bf7203f969e74f74f58a18a3db844475d6b4fa154a66bd075fcd6e0c80bd32911d83d803b66c3a91c6509dd81f5f8266f62fb7ef9d6f47c79e43814fb5b6a08e62c018420219ffff03c927692d7f50c9c5e4011d5e42910f1efe088b69a5eda68f978662c2e62c9b8a03acae59d17cd959f0264f19b3dfe2c5a2fcc3df52f62f16a0a43efec50d94d2a303c7e5ef333451aca93ab33f1bc716eac925bc0672ab068b2a92fd980178d2df2903417758f2a6d90187752414dbcb4f95b58fdac17a6e4c9ea914241c67433febd803528b39cf48cfe355fa022fc2f591490be7f36a7b806d2de4eb68f347d9e4e62200581f026cbcb5b0f154351a15d3cb51ef1ba5657c3c00ecdecb14c13c6d2a0de71e4b02d9bed5688d335930828500581f02ca3bda6e9ad183ceff0854ad483a63d43053cd698a0a5a79ff22f71581864a4334b209410227464d15021901010058200392261b35e96063bee707ab65ca0d70d6fb1865fffbaffb45d0b258d213a6105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820039d59e85a9e768fdef25b8c9ce3d1842bdc3078d2a11d449b5d9e47c261ef805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820039a1edfa19a25f5448ceb6f6a17cc23b10e8bca73f257435f8369179a8a78704a098c8ea9148f76f4c05f03be51c5aa469bdb30faf10b5ddd6e816ec3dc828f7b835a2c3e57c89fcf1da2be03824757e75bee03283a496a7627882026842d6f20b5d6e79c85c747cee890806c005820039d48ca9ad73af395edea916b95034528b45bff784d61e8b2a14f11b2798e105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03aff038bd362b481cf19bb2ba3d637978716a2a7a95a5dc19636c921538c0888b0305758fccad824a77c77630291ec3dd0a8e63051920eca41b9ea48cc4e9a9ff48038594075a94dab8f8eceb2d3c83c364d74112112b954367534e8318711bb9f14903fecce18973b20020e23cf2d655e5fe94490197912c70f2931248df3ce8ad6df70219fffe0345adb4646347f1953df1f8c87220fba2fabb7f7a90180a374d8cc5b23cc1ef7f031e67df2287afc637f7cc3e3f9fcbb59457054c5e3287cc41f39c181c606a3e7c03e53c188fe2239e959c9108095994bc35a512808bf0b233d934aeb76735f2cdbd03877fa7bc227360d8b48e8669241828546534e4faf1513e80634db9c1b76f871103b2510ede31b27414d52cc6790be3eb0d17840e1ed76d7206082d93afcf0917af0058200346ded7b3edc9397857803405d8cd30c467fe06706f3d283eba9a595c56ba704a014b9b5c7fbd94f584da03dd64f3fcf0b9dfd7d39637b02b5b66cf7031204460d89a90d89952fd0cb5f76603d7d432089524b03fa7d8c162f83be507fb304c845165af90fc5955aa8a225dcc03dc8d42ec6a2e29571151cf3b0bf451be8a3b3f033f15a1e711d0f1a27444d95400582003692428b80a392f673712e2ce2f7676dd0b097d6a86884195c76617f3ce89004a0198e0ff31f1db3b77d103474cc068c33f25899cc01c9a994b9a352271516a9dbdffd9b0f897ebcef46cae00581f02f385397657553596b78ae2490cb59ae9a09669d2b29b17045dfae4e873435820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688547b8ac38aacd8ebca19b3d423bcbbd4c5815bab49021910200357278e7cf1617f784cb70b86b1a75cc8b6a99b2c69b990495b8cb176759c00b801410c005820039637a1c8e3e058fe1eb29e19395f857fb7edc0b9edca65651f6e8a5b507e50490bb7aa92f5f7f9eecf032231c762cea14131d37d412ed7258245b56915e326a53532ae1a8891a5923faf0058200345a53492dea3d529ddd38eb2d0b487e018813683b32ecdfee09ba1b85407305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b7c1f6fb40f06abba31343dc74a8066a499a9206598637b468645b3e2966be0a03f14a0a4a3b378f9642e3e7d80b4035edcb92961d569fd86721102f75bacd75ef03227aaa14957c8f8e6df3a0e09226350beeb9319b3912c153bdd620f3b05221a6036b3a65c85ebab140c7236aad32cfafff102b8275585ed458a8733165e034e85c03a76c8db80a02530fde5dbbb9ec870fcb8fb639836f6b571a8f224a7067e2c2720219ffff0312db4ed7660d8a316a66f0eed97375671e4d8010df8f1edf991cdd22db60c62603159ad28bab7f6b9805030cf122234286a44bcb80c82d6f7d426de79dc54689d503d16c6e4e9078df0782909c52e2c6c27e51048a29b8aa3b7c11f9284f39381998030ac9fda8d223b462dfa631e417bd3d9dc997b6a8dc62155ff44e06b5334b98b80301e34d9268f54bc3792b23efd495fe21922f89ca143b547d6d2febcf0188c4cc03fa6d97adf486794c4f39ae6915add5102022f3be0c6977f33f921566c776be5103ca856a452daa3816c13651fd205c1a9ceef5b897717abb094ac1623f64afaa06039bf03b4bb325aa32bb8a77c701cd84646c22e10bf6e246072d3c65d6b17f0f7303584ed7257524ccc05f18101271051e9d0090605b95712bb485f5d6cce141d6720219ffff033f86e907529606003e2ba2974e56a1acef6a6cf5aaf9f25741139019aaea5c9d03ed52531ec6165de23aec5652c77c8656a81a01b7cad89255e2becf992a010a1703b402875a601bb79714156a8f481788a35cd7f979689c5d69ba1741d162cc039d03b200c77d8b86ceba8d2161ec4f06d246ef2e0666375c243de6861eaa117593c4032970de9830917d969ed6196badc0b1ccf65fe456ae0daf1eea2db51dceb65cca0321c520e6fd22a8549932e9c253f262c5e587dd2a1846d3baaa687abeaa80a81f0353cdd2f2e6b59fa26b6b108668a62c87d7860fd16cc0f0b99b95b667ecd254b3037a97f1bff2f84e00512ffedba2fcc0cc09abc3ce6dc57b03c1459a3910dd81bc035161d76d4a8aef0df02d5d2d5bd764edde15ae31278d02b1e5b699155f9f0e97033b31f42278ebbe5f9fa4046ba12fb8181d3839ebb7f7cba923d5a8e1c64fb5520336e37fd521f68d5f924d1903a49327cc0a070c273be96cd59a5df9a4dd40190500582003126bf92cf3be303dd2d6f7317fd9e7863ea68beadc5ff848ba58f5ebae7d104a024463e34507a8ae488d00582003fce9e3a991a667970bd5e335efcc4d870fd961abccb055901e359fda31ebc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030505ca2925791d80ef24d4f3b4ab7f2a86e4444a4d54963d2c779012ea8dc5c6039025938441e89ea9508dc78038e96db9489f6c1273c80ca18688c9217b125dc10363b42faafd8167d6e233e61b31003574c1c79075ebeb6e3e2e923e96d05b873100581f024650779692c05af2a45da0823de214e8ee672c30cafbe0f0808d3db7dc91492a4c86637f975fedb400581f024a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd41010219080200581f02f45e272e85ace31ff30f619c67aa412b284651a05c1ddf46d5a91a7917b15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f026a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34444201010219040103bae836a73e4d62f95c82608bf0847451b93addbe5b7963e454f457a00dbabfe000582003a8d6e47ec8018fb3278e7239ca24b49cb1149bd5d35207cf6114614814e6004a011a15884b85fdbb58dc0384a778285b79f2e846561746487ed542b7a6b5d7c38209fa5fffe612e2728bb803d2d07216bbffd5d8f133e3b386e1eda179b19a70fd57629affeeed74d7a2ba4803df6524e98846269a9d5ace72cc4d5b9ca99b3eac5ebacf08f7f0688523ba8c3800582003cbc19f7dbc00692710697fe282e9b9725264348d061c31dada311dcee85b205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03051f99133705eafbb1fb6fde207c14f5779d7f61cace471e0756778d8053aaa60219ffbe035c3f7d6beb66d73f454d0112af7bc69365e46a17dc50a1f6cdf1f3209209933e03972e3e3fa7238b37d009a91bad97e2f059a81694b0d30838659699a09ee977cc03533ee552a1602acde02455e1b7a5bc216d39c415329115d83bf917f3339401aa03975da203ce7db252ee78695204df25277cb2d6a0b5791f89f4c2ea3c0dc6820d0219ffff0353feb8d01bfc39b06d98251ea70e32478d584ce52d6121872021fcef4c85d4e30362b28ab2cce833d89443e560c65ff7b6e16728d4c00d80fb427d6994e67464d3039e6d8481431158b235a26c60e81936d99b74d8ab0b98378b50e504ad0320e28b03c73aa1c79584cee130db2b1506d2ddeab19085d7cd7a9cc6fb38a82d2e7f9b8f03f6920bbea19cece5d27e4ab1181371826d3fc0e8f41b018a638929863ee26a6803c177393062ed16e562653ff4b9eff9e5e3c4a82e43a2a7992a4489e184d8bbbe00582003f9d973cadb8eef63b45258c1a87dd1062e0ad6a0cdee2a2110de7a961ce9d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f9858ca00c254e8241e1dd0cd71ce7bb31332ae78fc16b347ec684080c97c90a0141030333c72e74d0a19f1adc507312e78ab243c498ae23a0fd3dda2a6d7d4175c64b8c03c9936d7d466e4db791b0bdd87ab37d0330bfa3bf5085aee0b37a68e63061ace800581f02619265aa6a1c798b2359c45903e3301dbee64dd6d4388702d722594b33e3493658cfad793383735500581f02992a9eebf595b4ac13d2c197cd338a9f32dc81f2fe28451286d988efca814a15dcb8cb56b8f11bf9a200581f02bd64aca2bbecb8ebe82ba35278f2c9919ba7948d46dd4b0fe661e5936bf749abf5e5d6aa1aaf243c00581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f023c2b3818e4c16b5e3507272dd1ed0a8e369bae7e2521e70db72c1ce16160492e2e27dd6bca114ec3021914c1031245542058c888c9e173747e432a01205d46659c9bf370df24353f047dfa5fe400582003aa8ed1b42d5e1327b28617b1c8cb4a639c85f6ad3e163edfa0fa9105de4b604a044298de289e772cb6ea03c0ce39c04e950fcf33108f37f9ccae932f6188cc4702ea0ff78b68b81520b80c030820ee19a4b236d02b42eef4a5381288503fb17fb356393bff6637799017835e037fa8076573bf76d2e5f43103076752fcde421171c4c7efbdd478822d4374c64400582003c3108a86358f55c14f0f2959bea0b746bf3b5785d2e2ba328403f15bfbe5504926e5e43d750a94ac4700582003c9b6263043d9a32aa9ccbfa827583dd8c72526f736197235d7ce98b8106dc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ab6311aca34bbe37f21db33dde10d22ee35824c5b73c88101355da538df6a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037ad972578bedd7ae874d970751ec7f66fec91a77fdcfb967eb7c65e82bf891f60219fdfd034e07aaa9dd1041de6617e3b9972fd9c933293e816dbf170e2a1ad4794d647e24034927e34bfe923888201db5a4cca2b86aa7473a067e34a8cc91d765d3de3a68b3037fc22207f00a6f686fed544844695a054f86d7c759704553d1fddecb7c19b41e030123047d3bc221544e8afc242fa7acb673e0fc76132b4ae8f68c1e74c665c20a03f71e90fc3b47987b902d20ed222bef0f2ae987d02582b745c536d31161ca93e703afab7b5056dc7976797900ef6ab2663ec07a9d8c3cd18d7a659b6ccb6c99df6d032e1c4ddf4fd292956318278d97697975a606a75ddb451e824cdb298bbcea16bc033bd8552fe53bfb11b15c6018b451e2b225980826b5f2a982d365ea6765485f000361f2a9ca4598e5c4564aabb55bf1d4266fdd2583acbf6ad6e7cd5f287fb5a4350219ffff00582003fe7ee8a34a9caa4d267c5964c371f74a634b4124b6a07c296df52ac95866605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0332fa01069e31a175a1fe3ddb51b5bf5ea91cded99f00cd4fa4c35b1016948e6203bdec832c4d86687abeae7cce0ef58e1cce2f76c84cea661236f5c630e53df7cf00582003618df9f02d67b316f66adbd789df29fee2f173f37322c490684d519ba80af04a0157d4a798738d88b9480366e24b9ba01db1671af003a0e642eff1787da5ae51a5e0c21ec34dbf6e558e95005820036f6861f7cc35d0cdf85b4f845ae6f9ee191c26f8cb4b4cc217ee5d72ba4f105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031f0f4cc0a50054c58d4041602d009d3ec25e04e9e5ada5f72fff0ca22c2537c503382b13a3750de02277e44ebf4d7b7a67c9648b2e174c0823898a420f349d20fb030e1058885487eeca97d8d650e228188a94697cf37fb8730bb64c2ea3096828ad0335b322f95c62a13d8e1744041639468d20e7f81d16175188e191b34ee3f88292021968ef03e6b21319b9628f3fd00e621e3985acca08c8848e6d1cfbfd3bed3a0b21362e2103be6ed3cf189c0dd6cbbd2f4e41e881e357c6f233d598a5b1968dcab3c763e15503465d26bc31e96c2f747a622431bdcba46add000e4040c3ac5e6ba4710cdc1c10031453a4af0302abf7b4fa07072c6f5070837781766aac88f7aa8c1032f99b7943035cdab9c306191c422abdda8051da409789658e3d5446163e794b059462f25063032162429d145836038e599747b70450e30f039a3447929ae831f6d96dbda1ed8c00582003505916034c873370d5a756f481484aa6d1e0052603f2643ed8c292422328d04a03fc679a45c76276c74b00582003b09c9dd9c40c445794e75bb8535eebc80efe1138d9b108c85800de14b1d8b04a0600c9a4f7e75b04c19b0397b28ffef3c39c73865d4a6bd5d197d6ab73146238b11fb1fd6d61c6564650e500582003e13892f49be726537cb381eb9b8890bca11d964806b733f169e62b97e60cc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a4f2dcfecabf398ceff5dc24f4804aa71f58be3e4f0b9cc7ce61dece2803e0f20392dcc1c78e06df39f693822609a1f126589ab92ab99c466cefab9af9a18c9e7e0351371773f27c314f7d23866ea1b58296df328d30d66f3ebf66990584796e7b230326a23f4ee4a733d0b33e0dc18b048359b1c1da952a4b5ec13425700aa1221bc703a2c9a104660d5bad720d748c9880547c75f07cb909034a6eba01143466c0e55403e9d639e8bec354d82afe0abddb2794b331f36ea2cb9b7645738d6e9b6c50188903625c5ecbc106c9692f2969c9494ebb74175748e233f605b483b051fd4dd48e2800581f02990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb542010000581f02ceeda1d621af14398b78bb6d00b43224b69210ea31bdb953181c5c65335d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02791623c182c1230406468797812ac79b25f8e0cc7374f4e50365228524e14991a325001a0d32bbf1021902c00398c107ff0bf0ba797ef5b3a689ebd55ed82543d14a8cc4594e02375ffe4214f3031499fb7b90fcf81d2ea560ca19ad26d83c08a81a08e874b6f7ecd5eff901a6be03ffdb0930bd59a15cf0cb7190bba3f438a20c09a1db96e85ff3098b62ee6e5342030d12a3e30082415638d559c5374683c7c1922a1904be96083cd3c2768d11dc8e0219ffff0315654dc976b76dc95246fb562819e95bba9f79a6ac09e6be62ef62997facb7b103e621d3167df26253211110923a90af8b1c8c12b255a8c720408b580fde0ad4b9033765720e9f31402ffd59bc75a4cd8b41619e511978313ece1b9b21c288a3eec00393a98a50d03eda4a093f659430b34b0a0158eb6f38ca51d8ed2bd00696e0c50f03ec04d925e99c3634f03b0edff9834d312da2cac771bf4cce5c025907c9edb1c00388d71b5cca428b1f633b472cc8c91193226a5c4a88611daba187ab17a5c2a98a039f3f04c94c12fc883002109f8c728a11540133296ae1fdeb55a9dc513a4450a803d1d17027759732e07c864e73380cfe51723ed022977e0dbd31b15dae8784684603e34522cbbd62d90091cbecb4d7dfa8eaa6672baa409aeed4439228367050758803fee1b481c10d28991db68cb7e8e2fe44fef26d6facdb7f19dbd769d04ed0df3500582003c73e9135b2cdf70d2ae806889acf6f7c96fd2934b372baa9f5b8f9c5da2e005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c25df3d3f4903c22ab1e0b2015b83677ee8582b4c0e1b0713853fa93ccb5bc29035cb9693139ac0158a6cb5569d9263ad49dc0f57b7f1abea8d66e342f9ef48f2f00581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0218a9fb390bf1cf45361cc9092b8616dcc3f18f994dc3db933bdced6086d9498335157c74d978b8150219820003838b9771d4b76abfb2cb29554404fe49c32c1481668943047ce367b666b13d2903d3ecb3b97e649f3ae9ac770254a3f8e9361f040d885c5578698c0ecdfa693d03034c66992cfe0ec0c3a084696ed9c70718b4392d25ca3d36f0d42ed871c9563762039d5de96da0ff114576b6265854d0ed9077bcdc5a0aa8c23bbbc6d21728fa231b00582003cc893fe8e58c59489453011919937f7c9e0e0d41cfbc9c02cdbc321afe53d04a9cffb325bea8ddb8000003ce48c9765ae7e723de18fcf58267c86d84cc922c11d4c7e9b6e08f409da62fcc032960c94dc6d5150ef503f98553f530baf0cad7ab4900d1e1e0a6bb52a22ce11b0219e7ff0219ffff03e7c8a5d9f4b2277f5d570320f72ebf777dcb6365fc808c69e4679b6fec14e10903166f592d00a2371537945e29c754caf875655f655b5d24a748ec4b38e2388e3703d565d527c8060b7c5f18a6d9bc9cd9dd8922fe6115bb1c60c3ee003abdb519a3037318f4620c0dc644f199e457dcdf94d89c720ebb8179d52848fd71f3b916d5cb03bc4d66ee45ccfb7b33c090582ea248740c2cda3ceef0f9ee81da6e5a719c624703cccbc2e715d62fc6a739e55725376f991ce768f407cc5536a13cfc799cdec34603da03cb364ab5e068f7cfc55f12b0bfd5e7fe04f6a6a6becfcb4fe77331bf444c03032a868b169c0fd151edfa6e5908086a01d42a6627bd17217d69468ca5dcd81b030ec20d93b85517446a023bbcb8e1b3e8d03c9e7aa235b390775ac5a4c205202203f10f8f37304dc7771121df2f6b90504c81ddbcafed886b3f0f441718f745336d03e2daa8764d1809f4393479b887708ff3b044e2c6eaf470de7e216528d13d779a039102a6347211e7b41e6dc1590c2a6f312998cd409728bae0b1b962e045b5a6a103fc28aa325a2f6386af70f4c893cb44b1602453a1f6f5a0a4bf3fad66e6800fe003dc60fbc06f5c6c29f9a3bc2ec28cda5b65dd46d76bd93bb011bfe8f40178d38703796dd2afd68d3f2479d29ae0b74b5c2934940b77a2366f012213869f0978be9b03c4f681371a971e9b8db290858976cea2e5048b882301e263446b59cd3793b0dd005820033f8773881736437c9bcf9dbb78bd15f806675770ac9faaf70f24a4cd0be9c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030523ea9db2c4bbfa04b5aac2e70a103bc050cf3546963fe737d471c7f1ebc1ef033cb302cce352cce5dbce7cc94515a39014d5525eaaf0a6d9bdd7ba09d9257bbb00582003d52537695ea9801a8292f5ebff522af2911b913848c163e0296379f3ed431043b7115e00581f02a0021b975cf36c2aa8dd86f552b50e565481614e83d89fa52f4d726a78a84a066d9aca5e09d085987900581f02da8bb54cfb621b6825be2b474fb096ccd4d9900b1505931a153be29f68665820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02080232160b8a9b751156230c315746e0333c90ef2767840a685976f4c93b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021908050378031921a200f572f982b1a9580aad46076a03aabd71b0ae3b4941608ebb39c6005820032520f70e93c4b91241fdfbf7401574bf2bb50581c5ec6bc198150eb434f0204910498da97034d6be2d00582003fe51ab051235e9026250e0ec7397a3c3d2b89d775e56554e2499e8798ace704939409a6a4efa41daaa0396b05e1292311b341471ae1037077f09fad5861c43df1e3142b0e442b7a757700350da8b581ecb746e20e267b81595989e1e0db7f1479f6f268a708c488717ea9003d7ee51028ed9478afde1cad53b775dad95cd07af0869002c17340fd0c2545b630219b7b70219ffff03d4f05cbed50a77d3d6fc485752c50364e261743c0f8d69351e5f424d4e6692060219ffff05581e034b750d2434e20a368ffc8c616f7493b6a34e81060e83a88cab73be4360070119391a03befcdf640d207659d52f9978414157ab0b319bfdf668e50320bb77b04a1502090219fe4503783ef73211bdfa583963e4ab8c5382549cbc3e5fa294939af8212304380a288e03f85c6686a3b05c44e8b870576173c2b50f66d82e2441ba12a8b577f8bdf14dfe0219ffff0335757433238e1bc8171c8c17a9b4ee4d9a1ef469ff3c89aa3e6b7b61fc680fbb0306f58c22137917f98920e719a2b540eacf01fb5235241fc26a2213f9202ccaff036d64795d7500a999d49a0dbee5f98c2cc5fe3c97852004e96a1890039bc6b7370346e0bda2931a9f468793ac707afd943d8319e06233d84e099f876f30e9ee2c5d03452dc3f1a7b9c2b6f1171ad0ce03f6635cfc03a55057aac669e512d4423459d0036c2df9a86b5f56576067b1d4f30ccc2aba94e0606b74dbfe3e808d23d47863e7037c31a00bb4b89d5e068da11eca555ac61933738588cde0b73daaffbf71f06dca0360800bb4d6790d87dac321993c6e247a50dee1f386b69b96a8ce531739989c9f03d12713a90e519526b945b237a138622869d53beb595c07b23000e2fe8f12b09b03eeaa4cf34216242aaeb3ec772a1b31c9bc0c86e3cba0a285db4821c253adf9d803337128040552d29da21ae5b69b5e5bd35b8b35de010288f826bea0082744330603aa3ebdcc7594b3e8e00a99a50391d193d1c208a636d623dee9fd3fb0d110a6bc030c383dfd4252a73507f1e19609174357cb521cbe328a87aab9381726cffdaa3503c7ce93ef0a1369d315b86a4da56af86c2544bbd7bd089b264de027969e78443a03609195ae5941ba2d073fcf7b95b2f655c1d237d90808095ab143d5c8bc56017d0219ffff030b9f450359ad40dbc8815875cf6a7f390872c7b76ccb55ddebcd9cb5be984f17032a72bac03298bf07c8b3652a450dd3b0aa9e2beff447eeccac0fa894348378ac0367bca87ca99d5cb9c032e019446d3adc0f8bba315293992cdebe5a651bd0436a034da3c5f6c7c551d7edbd0db2b6220ad1e1e5548b018c0d7b6c5c72c0976380d50219ffff0369fb35c6b75247eae9a8d24cb57e65c44afee6a41d05c8e550ebde3107812fec0356101e00c9784b4755d9cd14090d934b10d356db767694a47941a11f53716ffe0300e99b6b62db3a6b878c1f597dadf6b96cd59a26191c0006b213e363a848b107038d5b156896af593b3785a8b8aa24bbfed0806d489d7fd059cbc9fbcad5bed8430383e51c69041d6b8ae10edd2236ae0de8a83d0e532792cdb03835f4e68e15c6d80321fc59aa890f611bec5de9be27acb6d376d2991c7da8500e054b8fe736689958035373c7a05cd7bf228b2a20aba78c33a998af1f88db1662bb9b4881020e10227003df0747b2ec2d0a53d5b32706c8f445b01e380c794c6302649d98d31f327558a303e4d8dc73711ef08e263e487f247d39e8d28fca32893a253b5b9a6f4141dc1176030ede9368cc3f86f512a86de343370417f1ddae4ebb7ec9678c5f6e103096a11a03696df52608f4678d0568d7ea2d7c141c6811d4081d9925b24c75a52b28f30c6903f3fac37d1eee46266d16b367b6f0161834d71fec4e5b56604c82e0de9773f9480369883f65f1a3dfcacc8d070f9f2ac04f721e359d56ed2d0a9456d236fa61731f0330286b517758fe1989f7df57389002a8fadf456dddad7b4c880b986aaa73cc3f034059b417377bcb496daba8d98434d546e9a3d6d83624b5512c29506800e6420105581e0353a2d9e683c199d33bf0f515fffbf94b3a23fdc653441004ba00a1efd004020387ae06be9265e7f5bb4ce214f5ffda962633200dec9ef6e4b906a945cdc80bfe05581e030f6243ee2e3a637408bff54c070cba2da51025478e1e3dda5586e19990040805581e037cc172149e34b38834c217665bcb63b9532928917e2f73557c16d0f0a0040105581e0381471eed40f003f825cf8aea407b8a0f2d1f8ef6cf8f29e7f14027a310040103fada75a240b0e191ba2b6c570771fc2a09230fa7b55142808def41e593f95b31034966c4483f68d6fa004f0c0540be4e6c82f6bfab897d19371ea13ef6ce4234a405581e0337991469695b0cbf5e117370dd1afd4c08ef7a8e80fe7fb2184e32eb1007011bffffffffffffffff0459199f608060405234801561000f575f80fd5b50600436106100fe575f3560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb146102c2578063bdf7a8e6146102f2578063dd62ed3e1461030e578063f2fde38b1461033e576100fe565b8063715018a61461024c5780638da5cb5b1461025657806395d89b4114610274578063a457c2d714610292576100fe565b806323b872dd116100d157806323b872dd1461019e578063313ce567146101ce57806339509351146101ec57806370a082311461021c576100fe565b806306fdde0314610102578063095ea7b31461012057806318160ddd1461015057806321860a051461016e575b5f80fd5b61010a61035a565b604051610117919061100e565b60405180910390f35b61013a600480360381019061013591906110c3565b6103ea565b604051610147919061111b565b60405180910390f35b61015861040c565b6040516101659190611143565b60405180910390f35b6101886004803603810190610183919061115c565b610415565b6040516101959190611143565b60405180910390f35b6101b860048036038101906101b39190611187565b61045b565b6040516101c5919061111b565b60405180910390f35b6101d6610489565b6040516101e391906111f2565b60405180910390f35b610206600480360381019061020191906110c3565b610491565b604051610213919061111b565b60405180910390f35b6102366004803603810190610231919061115c565b6104c7565b6040516102439190611143565b60405180910390f35b61025461050d565b005b61025e610520565b60405161026b919061121a565b60405180910390f35b61027c610547565b604051610289919061100e565b60405180910390f35b6102ac60048036038101906102a791906110c3565b6105d7565b6040516102b9919061111b565b60405180910390f35b6102dc60048036038101906102d791906110c3565b61064c565b6040516102e9919061111b565b60405180910390f35b61030c60048036038101906103079190611294565b61066e565b005b610328600480360381019061032391906112f1565b610735565b6040516103359190611143565b60405180910390f35b6103586004803603810190610353919061115c565b6107b7565b005b6060600480546103699061135c565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061135c565b80156103e05780601f106103b7576101008083540402835291602001916103e0565b820191905f5260205f20905b8154815290600101906020018083116103c357829003601f168201915b5050505050905090565b5f806103f4610839565b9050610401818585610840565b600191505092915050565b5f600654905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f80610465610839565b9050610472858285610a03565b61047d858585610a8e565b60019150509392505050565b5f6012905090565b5f8061049b610839565b90506104bc8185856104ad8589610735565b6104b791906113b9565b610840565b600191505092915050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610515610e1c565b61051e5f610e9a565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546105569061135c565b80601f01602080910402602001604051908101604052809291908181526020018280546105829061135c565b80156105cd5780601f106105a4576101008083540402835291602001916105cd565b820191905f5260205f20905b8154815290600101906020018083116105b057829003601f168201915b5050505050905090565b5f806105e1610839565b90505f6105ee8286610735565b905083811015610633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161062a9061145c565b60405180910390fd5b6106408286868403610840565b60019250505092915050565b5f80610656610839565b9050610663818585610a8e565b600191505092915050565b610676610520565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106ac575f80fd5b5f5b8282905081101561072f578360035f8585858181106106d0576106cf61147a565b5b90506020020160208101906106e5919061115c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080806001019150506106ae565b50505050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6107bf610e1c565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361082d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082490611517565b60405180910390fd5b61083681610e9a565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a5906115a5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361091c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091390611633565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109f69190611143565b60405180910390a3505050565b5f610a0e8484610735565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a885781811015610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a719061169b565b60405180910390fd5b610a878484848403610840565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610afc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af390611729565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b61906117b7565b60405180910390fd5b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f82905061ceda60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610c3891906113b9565b10610c4957610c4683610f5b565b90505b82821015610c8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8390611845565b60405180910390fd5b82820360015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610d779190611143565b60405180910390a3610beb60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205403610e0a5761ceda60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b610e15858585610f7f565b5050505050565b610e24610839565b73ffffffffffffffffffffffffffffffffffffffff16610e42610520565b73ffffffffffffffffffffffffffffffffffffffff1614610e98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8f906118ad565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f620cabaf610bec83610f6e91906118cb565b610f789190611939565b9050919050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610fbb578082015181840152602081019050610fa0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610fe082610f84565b610fea8185610f8e565b9350610ffa818560208601610f9e565b61100381610fc6565b840191505092915050565b5f6020820190508181035f8301526110268184610fd6565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61105f82611036565b9050919050565b61106f81611055565b8114611079575f80fd5b50565b5f8135905061108a81611066565b92915050565b5f819050919050565b6110a281611090565b81146110ac575f80fd5b50565b5f813590506110bd81611099565b92915050565b5f80604083850312156110d9576110d861102e565b5b5f6110e68582860161107c565b92505060206110f7858286016110af565b9150509250929050565b5f8115159050919050565b61111581611101565b82525050565b5f60208201905061112e5f83018461110c565b92915050565b61113d81611090565b82525050565b5f6020820190506111565f830184611134565b92915050565b5f602082840312156111715761117061102e565b5b5f61117e8482850161107c565b91505092915050565b5f805f6060848603121561119e5761119d61102e565b5b5f6111ab8682870161107c565b93505060206111bc8682870161107c565b92505060406111cd868287016110af565b9150509250925092565b5f60ff82169050919050565b6111ec816111d7565b82525050565b5f6020820190506112055f8301846111e3565b92915050565b61121481611055565b82525050565b5f60208201905061122d5f83018461120b565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261125457611253611233565b5b8235905067ffffffffffffffff81111561127157611270611237565b5b60208301915083602082028301111561128d5761128c61123b565b5b9250929050565b5f805f604084860312156112ab576112aa61102e565b5b5f6112b8868287016110af565b935050602084013567ffffffffffffffff8111156112d9576112d8611032565b5b6112e58682870161123f565b92509250509250925092565b5f80604083850312156113075761130661102e565b5b5f6113148582860161107c565b92505060206113258582860161107c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061137357607f821691505b6020821081036113865761138561132f565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6113c382611090565b91506113ce83611090565b92508282019050808211156113e6576113e561138c565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611446602583610f8e565b9150611451826113ec565b604082019050919050565b5f6020820190508181035f8301526114738161143a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611501602683610f8e565b915061150c826114a7565b604082019050919050565b5f6020820190508181035f83015261152e816114f5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61158f602483610f8e565b915061159a82611535565b604082019050919050565b5f6020820190508181035f8301526115bc81611583565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61161d602283610f8e565b9150611628826115c3565b604082019050919050565b5f6020820190508181035f83015261164a81611611565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611685601d83610f8e565b915061169082611651565b602082019050919050565b5f6020820190508181035f8301526116b281611679565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611713602583610f8e565b915061171e826116b9565b604082019050919050565b5f6020820190508181035f83015261174081611707565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6117a1602383610f8e565b91506117ac82611747565b604082019050919050565b5f6020820190508181035f8301526117ce81611795565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61182f602683610f8e565b915061183a826117d5565b604082019050919050565b5f6020820190508181035f83015261185c81611823565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611897602083610f8e565b91506118a282611863565b602082019050919050565b5f6020820190508181035f8301526118c48161188b565b9050919050565b5f6118d582611090565b91506118e083611090565b92508282026118ee81611090565b915082820484148315176119055761190461138c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61194382611090565b915061194e83611090565b92508261195e5761195d61190c565b5b82820490509291505056fea2646970667358221220927391514fbeead7d2810887994e53a1ebafaf1e9edc2fee6fed6f9d84eb6f0a64736f6c634300081700330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0058204d5448525347000000000000000000000000000000000000000000000000000c0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054112fb21c783d55b9b9db2b4bf5effdd62a16578d00582103b7e7f4245fd1cd4035feddee3dde60011d9d78464f2c14c02e107e97fa15de204b18301547ee6842b310ac8500582002a54b2897ae8021b0ccb0479cd605234f6dccaef88d9d6904236743fecc303a4c02e5711e1e15913c3389b21b005820026a051a5d27ec62df1d0907b16207641b1770aa197b347f69b0355714eb25f04b0d8533cfbed3727c114ee10058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b58206d6f74686572737567617200000000000000000000000000000000000000001602190428005821033cadb03b31fce438811e73524e9cf1348bc3afb32739fa909930f679b92e75104b16864e6d1d01585ad176950058210376c0b547155c7e54c3284203fc3de6c86956900d2f0d720b73058cf391cca1405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037cb76a8810bec664e54437b589fd6336b4b896b8ba4fc1bb583ad396032daee10219a32505581e0307538d91ee636baaecf3e55f82483a73ef16db07e70c22d42592ea9580070119199f0320b510d5f8e1643cdcd0b2e97bdae416ebeea6376eba613fc47c94593c2a3b9305581e03f0ebaa65fc05a0f3f3c2f88ebb769db61c28e8157486180381309e72700c0547037fb081df520005581e03aae98683155ca6bf8b0d0a99ba0adf9f7078268979e297ab4211e54ab00c0242a4540219eb8d0396405e1a8469c0f8865d481e461ff42df5a91797d68dc5281f92390ce6b55f69031bde71890e758860907f9a0d8e65b3fddd1454f4318c15cedfc9bb5d2eac14a80335cce11b986ceb80ecda439be387761596d317827fd97faa80476137ab2233d00345f5aa649df8fd5cb179f90df066ab848a7b626aa8df955bac38f4037c5166400370120883feb9e28d604f16fa7d651ec506b63369ccfadd1beeacb96a32a8bbfd03223b5c750c5401de33d314478dfebc0b3664b375033f74012e06535faf27028c0306a38b1f1895c9f1f95fba0df8f470902662bdebf861fa91c83c895b61e20e350391141ce58553ad5107651a6ace4e86c77b80530ab80d1a2f797cd9a40e42f42203e064953682e5058d54b9eaf2c21a55fbbde7bf93624cc8e8158514dca70f6bb803fbbb55f2e3899c07afc153024fc1264fa482c7ade1c824004583dd39c13f064303a29dfc20f3781761c14970c0a4052374cb64301f968e8a664be25a31a0d653a30219ffff036319850f52488a5266a6765d7672534a057c72345cda35be295a0f6b20e2ad96031aa5eb052263178ce8336066266b3a6622d166caf0db7ac6480bb54ff064030503464da300d0c322c6ab1d5c84f642da28f5ffc6e42e44ee4d32400f6be891f670031f736c670fa83b9d502fd127229b0cb44a1af0de568aa84aac0aa5997ec5592c03031e901d7736ab9cf5422a9cae712c32c8f46fbc2e0340422243031c0d4f452c03fb4ac0673cd48516adeab9e70d725c98dc447aed0269459e8eb4d6c56eabc9b90330a11a97536287e3b1c80c2e30af3db62e759aab0387d0af44c8b386b6e03d8203c6447dad44a2dda5c8d939c17c85c4306a816dbbfc1a88667e76d9047f0a0fce0317133f81de8582fb51fd49241af0105a510734b24a981b2d52cb82782915a54003f820532cddde166f5a84b12c79759a37ffaded7af1255946d9a13d67dcc2db960219ffff03079bc50cd2a868ad4f1f185f48850889be60b7512283612dae1fb7a0eb153f100359c6982aeea13a4b554b17757ddbb926134a8a951377099eeccedab51941de59033510ec3662271e470e71142601733f92c24957c715d3be7d134542cbcadf451d03991f4ecfc0a1e63d067345b09c3d0b58ccd1b18e945ddb13156d3383566017f003e6661e6851d68a0e1313d3bbf858ae5c5edc5547944eab27af0b446d02a3d51303055022d2ba8b1b34d60dd3e07642795bfa7cb449e020b4c360f7600531a6373303d8231e8409d8abee289c53d7d13ce5b5951425c6fd752b885f07a7fc07b3d493032f0baa0c2602293ba5f2e15d27c6605e7c5fd7fdb04f67285b568975d15580ac034be9ff80ef2b37dbae0790b7b6f5b2d03aaf9aa8dffccdce74e74f7bad0d3349035a67cf2ff2814f58b51c412b8cfa84e6597d6747fb3f8f67c4b7a23197865f7b0219ffff03f73d33730bebe21d336b5abcb7d75577bbd904bbfc70d523de67b1d0cf771cba03ea2b98b8ebb1b8fa806b0076975507cd6301e31f69f8a5dd13bb4fba653acb280219ffff037407f50aac02af33ab475dad1c6a415c620be97fbe559c361359c868863933c703414833a6e6d956e841f0b4c20b44a9b19485aa1ef0bc01ace53895a4d87e08d103484fd307a51f799594fe44e5e80227a7476d4c30f5b04ff459c6b8d3a5299fd603648c2cb355a81e81f899a16380e1a9a69c1e084d7992639ea90eefbc15c1778f0375a6d426ecd683e5ed13c5624e7ddf0dc3bd368a15f8fb76e6d57afb146fd4d203ddcbd2d9cea6fc530d48eb06df8c438a6aaed5faf29810764194779d46dcdff503280b38541ed412faf108bae73f7e7d153c291799fb2ac4276580a232216f24c3036cd2492c2ec4eae14a12acf9c848797315e3cf36c460967198bf04cbf0504e970352bd71f4a189d4d338f903c0d8e9c38f0d6c8ec0f10ff5e366b45e042acac530039a61104c56792eb41bd04afd7ff704c004b18889b3e7d0f564afc5f180aedcca03a1ffff0269464c13b267b0bcb6ffd02375993a2fd942de19bf97871b9c84a9fa03696d0c010631b43a8e495faacdfea6cc94995c479f2a76172a658e772cc694e6034d0d1018bf151fc7095fffdeb8268ef8173175429e1b24a38db3aacdb40bcb1d036929298926812da0398936c7d8a466813b5aed7d860b7eb5c4cbf081fca196d003cf961761a65072459efddae82fb4aff409692119e50b13ea343e296e795079a5032985abe5db262cad41e7493d6a3c6e402b2fd7f64b3834b62c0c4c015229cd5503f795bbdc08c4a13fed7ef89290c426fa343727a2b0ef61606d7fe72b1941c974037642e15fa765fc0c1d8eebfba1c26a5904ed2f5abe374b80cc8b43c4cd20a99b0372053d2d0803d388d239f4df241d0be48b281d3041806ec8cd5efd70031c2125033f5231ad6d8b747b838f149f88f3948f7f9cb45a9e2df2c185bcf96071a977b00342a16a80f1d23b23062ae43f5a1cf487da1a371de0390f5060e48758f2eec93705581e035364241db4db03b2f86f8a5d1f9fd4f5985f850b25cfd4c4684dec14200c014722be485029c60005581e036d2844a459ac5c0ddc3bd2802dccfb21a78eaec8e6a691de58a86e49f00c0246010f3f69420003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d02d627dc6209aaf67e3790a2aec71db94349c6d16c06ae15eeb89f871707011bffffffffffffffff05581d02a7d9c3b32d11253aa77c33cdbe680fce1c1a2ffe3daa8e0e0bca0afe0c0348026c89d28709b6ed0219200205581e03f229b5f4acab976ef4e1821d7e504e9624f2eb37c205998d8056c0bf900c0247031113505db02005581e0308de2cfba52016455f72b5298062c865f27bc79d16f237d3f684917b30040d05581e032430098be0ab24c0cdd6c01f7a4d77c7217abb025a3b6e393adc4abbf0040103f843ce41dbed9f3c394251dfc0deee737e1737b4b2f11a8e5491c83fd3627da60219614f03454810fdb9c89317e8c768da93b1d0d016143a1d6f34adbb9d08190466d2123503667d40ad9a686e407a698efd53bc23d63a891217fa3dc9040b97a59eed347cdd0345a67d80273ff45bc7b5505463ba710c9c0f3a1a265f80b4dfe1853cc1e689aa0370e6c399b9930488777c1e56b26c21da4a8fc32d1670dfc64b5fe13939b4607d03c24666e87c62538531fb936a07f9041965bd7abf3203eb4c2228bb15fe82749b035f4f1f1fccef759c92ee6e95c565bdaa5af29f3eb9f90d30d6921aa1d615b4ba03544a22139bfb9c51b61e43f41d97ae08c7e5839176a8821f0075eeba41d8921603c1adc45dd5ea83fb6281b505ab9348be27808475291276c0d064db6655f03a5503aae23aae838ab9fcd2ce5e97f118fa19ca82c8583ea4b0d85cd08df9041d9669032ce9bb9ae874e940510e315d1409d65ef54398ea17622dca3d93a1a593e9500803dc02102c9e98fb6d55ca8338781797aa3ea2810e1e2ead6bb98ef2064c0990b603a44316110e50b89dbfb0e11c3a6cbd486e69fe016542d519d8a46e82233ed262039e6ebb41781c869de3d3a66fb42744ab255b370754d59ef99608a76f55ce55380344b0a6c2904a381ac523b30f1811412d9925e2fd798d49aa9e835269e73ba59d0330f30f8b4e0df43b900470d6624e6c0ebdee1248ff36e58bcf43305acae8130e0219ffff03827ce19b666f345af6bd1deeae4fa2a97a854e5469f346bb92975dd081aed69b03cd543eaa74ddf2d33c1c48873e0bd5c56133f19391a0a286fee999a0160dbf1b0365d09e0fd025de4de720771fedd26a522d6175a071b1f1d03310cd7823abd82a03b0cf28ab75b5ba8adbdc40d5fb56ae20c4294a548b90699b1ac487c92d50da9d037d3f8778629e3e38dcaa5bad1c91fab0b23854c4e300a3c26c603e47939899be03e96692e15b32a576c196e3dfd65b9ab1df6b6ddd74a45ad5ed8610341aab64b703c30619f8d81f6ac95beefdc2f2e25829de7b65445a1c0105de2c0b5961a657d503e799733163d8e32c5c709aac916dadf64045f5b71da84f7f98b58a7cf3333fde0394f75f41df7f6d791ef1780fb128d537a2d404f9a366674f7f17b64cbdfe2303033efcc8cffe949afab66ffb527b9b3b214bf91af2dcc636b2661571300f197c55030947fe951e725c1488a86aa4cae3078b8ad2289fd481e832fe3b73856dffde940219ffff0389dfad319b50333a8a154c8b5f5ac6386fbc8e9456a102651c5f3d0feda5dc880219ffff0319dc28e8f3347f56e0b2be8a8fe3e30bece8c4827ffdeda3ad7d4e8291ee704403ede8a0bd472b4a860ed95f9d43cd007abbf4fd694e6881ee5fc36340efdeaa4203a9b3755243b1477c1a4bf0f5071d51314ccdcb91c90b2ace03ac1758b5843abf03ed392b2b88cc0d835e4244602edd6661d2835fc39cd042c0cc53583f4a4b20240399134c983679ec2536c521faac009bfcbaf88ce321f6f697026c51d269469cac0303ad45e2ff0e407788c1a648cfc57e2e238e1abdf6d2eccc04c9053f19f553e00367b6a37217d5acc10e13a0d3b6fc7c6e905f94495156f3b7a04a21e51fc1b84103a3ffd3f57287d979d57b2b29382762847a3da191bb097c83eb599f600f8183aa0322e8e4170519e3082245b8f9fbd59356cc6a76d9a8cde61b2050747200b55e6303dcebd7fe8018ceb5ea8e2648bf9cfb0fbb6b8d1d2dc8d0c680476c2e2908282d032747f6660e36980fd386daa6645ef53b14cfeaac5f90b079f7d4e94599ee2c8003a32b34d55a41e51d36797589f38ee4790fe4f0bf0d7f98414f6e024671158fdf03251479c8a5c59d0eec243a2e81ca3d8c749fcf6f09990d1c3853f1b9923ad77c03a5a089bbe7765fc88c8090c4f13b6ad63e961ec20e78bd1054fb0d73ff3baba303f0e9bbd463c52b64d418ce1640b83dde12a82d866dd1a499f085e9227ad91a4903941125b8a1250165d80ab77d351f8499961bd0c3971a7a6ed019b8fda8d7e73a038e2799d258282efd459acd5a73b639a817a4a47890a1e23dc97e9cc50e9743da03d2bc23af6fc3ef9ff641dc07453e37019ee629ddad068b9b58e08a004455aeca034f34cf1d8811d68b6af94017c0bffaf120d372268ff5ff1b41139eba35cad2a203ff87460d06a3bfb13718228a94b80127f921faf14bc1d845d7ff7963512de04d03ed57f3dff5a2f8ff4f34a02bc50386da7777ab406449e78a0a31029a7f15fee603bd6766738ffdf7241a8fc05162c30e77d32dbc8eae5246ad98416f315a191ccd032a9209f4adf20b14c9a13d4f4f1aa9bef0fc246747a33ce2657b1f8daa6b269c033d2be03fd89826417ef1bcfbbc01edf1c48df12530d41f1670c20df1d38c6ed003599c99d0bbfd77c213ce97346800ff809311f19400abee964686cc74a89167c50394c7d4777fd39a69e5f5f5c0aef60329d278cfbf295a6b71cb3718b5ab8e74f803e243edc7bc3864ee8ce9fc18e1d554f9e7c3f2be9db71670347abec1ee8e3e9803b08e4c3989e88b9b432748eae8626f59389afc2d54666e2db64e8ac26e96e79e03a5a2318d175137a576e181e11b370ed1d043b91e8507374cc53d8c3f9db26faf03257b83ffdfeb48c8022124820b3c38b81035054b32fb4b23f5960574a270b167030d693f16ee3aad9cd9d662fd0b76da469ae39a61b100808414144c2cfc29e51003dc91756acd54923bafa7b8ac0f678978b6742f62364e95e0a62986a718201c12034a34f1909e42f153c3b2df13b314d372cf9e9dcded138d8fab04a5c4caa094a50382370f82c6e2c9c8fb0136ab4b72b1c914c2e607f8b579eb11fd784858931e6403cfc3813f8b494058d48bf8231803ec316bd0e8a5ed4d55a3b1284c1c51ef6ca903677dba9c251adae4889bbaca9ce6b4913271fb46b49916551243afc1346cdcd30338049ad24631e8d9c787d3a79aae706d1a2378eac2c2d32faa881526f579e3fd0374969a0a386759a0733877f4d3d4d520755de9ee618b0a2c2d185d265499975805581e0325e9d62a2986f3aab0a71379603a8ea0f3b0801857626b9aa61e9ced000c054763327cd0181c2605581e033a5e0a89d2363f78c6c10e0756100dc85d12fccb9981f43f70e8cd9b600402039d89756d47ac0e74b54ccf3e87a65e9b850fd63aa838698b0f55245bdef9b5de03fd8b266c8b29fb9f46a235a77c1c1f1933fe5989439b833028f3f78543d0a7c105581e03b68a2c39922493ccdf32153f211758455f262d19f90872059e18bf921007011bffffffffffffffff05581e037bd7f48d94bc1f25f96c47721c446669c41cc7494c4e043bb25e776fb0040305581e03caa0f3db66b19a7a33e975258f01c0636d5f78c092dfd80c4b0a600180040105581e039f06ae97a3cdcf4a59d5675e92c6fc551c35cb58caaa4923562f71e5d0040205581e03c9a1b1536a50a7d5e3ada028d36d4c411c95ad49106aaf1691eda032b00c0346c0815470e90004590b98608060405234801561001057600080fd5b506004361061004c5760003560e01c806330e6ae31146100515780636f7929f214610051578063ad5c464814610066578063fa461e33146100a9575b600080fd5b61006461005f3660046107a4565b6100bc565b005b61008d7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6040516001600160a01b03909116815260200160405180910390f35b6100646100b7366004610896565b6100ea565b600080828060200190518101906100d39190610916565b915091506100e385858484610187565b5050505050565b60008413806100f95750600083135b61010257600080fd5b60008061011183850185610717565b50915091506000806000881361013c57836001600160a01b0316836001600160a01b03161087610153565b826001600160a01b0316846001600160a01b031610885b91509150811561016e5761016984303384610319565b61017d565b82935061017d84303384610319565b5050505050505050565b6000808280602001905181019061019e9190610762565b506040516370a0823160e01b815230600482015291935091506000906001600160a01b038416906370a082319060240160206040518083038186803b1580156101e657600080fd5b505afa1580156101fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021e91906109a3565b90506000826001600160a01b0316846001600160a01b0316109050866001600160a01b031663128acb088983858a6001600160a01b0316600014610262578a61029b565b8561028b57610286600173fffd8963efd1fc6a506488495d951d5263988d26610ab9565b61029b565b61029b6401000276a36001610a8e565b8a6040518663ffffffff1660e01b81526004016102bc9594939291906109d8565b6040805180830381600087803b1580156102d557600080fd5b505af11580156102e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030d9190610872565b50505050505050505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316846001600160a01b031614801561035a5750804710155b1561047c577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103ba57600080fd5b505af11580156103ce573d6000803e3d6000fd5b505060405163a9059cbb60e01b81526001600160a01b038681166004830152602482018690527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216935063a9059cbb92506044019050602060405180830381600087803b15801561043e57600080fd5b505af1158015610452573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104769190610849565b506104a9565b6001600160a01b03831630141561049d576104988483836104af565b6104a9565b6104a984848484610517565b50505050565b6040516001600160a01b03831660248201526044810182905261051290849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261054f565b505050565b6040516001600160a01b03808516602483015283166044820152606481018290526104a99085906323b872dd60e01b906084016104db565b610561826001600160a01b03166106db565b6105b25760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740060448201526064015b60405180910390fd5b600080836001600160a01b0316836040516105cd91906109bc565b6000604051808303816000865af19150503d806000811461060a576040519150601f19603f3d011682016040523d82523d6000602084013e61060f565b606091505b5091509150816106615760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460448201526064016105a9565b8051156104a9578080602001905181019061067c9190610849565b6104a95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105a9565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061070f57508115155b949350505050565b60008060006060848603121561072c57600080fd5b833561073781610b39565b9250602084013561074781610b39565b9150604084013561075781610b51565b809150509250925092565b60008060006060848603121561077757600080fd5b835161078281610b39565b602085015190935061079381610b39565b604085015190925061075781610b51565b6000806000606084860312156107b957600080fd5b83356107c481610b39565b925060208401356107d481610b39565b9150604084013567ffffffffffffffff8111156107f057600080fd5b8401601f8101861361080157600080fd5b803561081461080f82610a66565b610a35565b81815287602083850101111561082957600080fd5b816020840160208301376000602083830101528093505050509250925092565b60006020828403121561085b57600080fd5b8151801515811461086b57600080fd5b9392505050565b6000806040838503121561088557600080fd5b505080516020909101519092909150565b600080600080606085870312156108ac57600080fd5b8435935060208501359250604085013567ffffffffffffffff808211156108d257600080fd5b818701915087601f8301126108e657600080fd5b8135818111156108f557600080fd5b88602082850101111561090757600080fd5b95989497505060200194505050565b6000806040838503121561092957600080fd5b825161093481610b39565b602084015190925067ffffffffffffffff81111561095157600080fd5b8301601f8101851361096257600080fd5b805161097061080f82610a66565b81815286602083850101111561098557600080fd5b610996826020830160208601610ae1565b8093505050509250929050565b6000602082840312156109b557600080fd5b5051919050565b600082516109ce818460208701610ae1565b9190910192915050565b600060018060a01b038088168352861515602084015285604084015280851660608401525060a0608083015282518060a0840152610a1d8160c0850160208701610ae1565b601f01601f19169190910160c0019695505050505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715610a5e57610a5e610b23565b604052919050565b600067ffffffffffffffff821115610a8057610a80610b23565b50601f01601f191660200190565b60006001600160a01b03828116848216808303821115610ab057610ab0610b0d565b01949350505050565b60006001600160a01b0383811690831681811015610ad957610ad9610b0d565b039392505050565b60005b83811015610afc578181015183820152602001610ae4565b838111156104a95750506000910152565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610b4e57600080fd5b50565b62ffffff81168114610b4e57600080fdfea2646970667358221220b30aa23c5b77ac2809b6353ab0687f2886666863e5ff1a4066b6001c110044c064736f6c634300080600330605581e037d05090411d658efafff4725c23dd121ba2533db3bab151c2406d19df00701190b980219d538031fcd066fb1c5d42a5028b301fd36fcadb5f047e0ad8081c9e1d665638b5a62ca03c6cd45aa7e09780bd82a60d8af884e42535fadcf4689797ad593d3e97b312c4203484c8298124ac0a32c99427941f192f432a27d1c06ea3eb01aecf1053dd2463d0219ffff03816270195c925308f942e9950840eb3b632e178331634df4c1bc495a29cdbb2e03e5a26330b66a23c2f5f3992ee9e365993f73edb201f3cc85c34dcc9123ba7dff0353ee84c7406c8b91ab528afa4328f683d56c8229230396b1c59638d0d0f95817039c9ebffb715816687d260fa04176d3c6c8c7f468699c0985a5dbbbcd337d7bd50368e6f1e4b83a64a1cc932fb35f7163419273e08685bb0467f8c14541abb8b63303e4f4b8e855abbd2c8707290de9ab3ec652ccc55811d0c6b85b4e5e0bce44286d030957f0238ba7d91c163c0ed9a73fd594e4f5197b340190db5dfa2b2b72e514c4031481082e9b05fb0e36cfc0342fb7e4f3f9e926b8c5853a42920cfc2acd68761303c2f0cde285dd2248ddcc015ad65fa4dd7a91250729328de30951feacb9dc2948031ed613fc2175cc430160e20f3cb1c7d9c0c66243e4d164336e996f44cd63b5a10219ffff0219ffff03f50a063a5fe2836b9c9a8de2ee9ba86e52d55872a3ea5ea1c08528eb2aee5b5a03322c296baab1923315ef6126fa0cd2f4e4439427b1947e2af89be365cbd83ffe0382c01793f377f64d229865102cb623fbd30f28c64508dca7ab4931e8066541e20304f3afe4cb61a061e1d9f0fd09f5ebfaee861213de0e0608882df85b84f14cd1036901c924f600e3679ebb99e15929e1ea86fe2cda0d52b71a7c87e53d98c943870366d2755f83484ce7fd6a20e978611ab3c0a42af3a1414281ae83e8060661d69e0219ffff03b0f038d430c1aa5ed786d6f012714055eecc2787c9c5195eb814b2bcb9393ff803e80159ef69616b62623461523a6e9c43fda0bb4eac3c8948ad1e02c786470db703b9ca03c45f1d5d8ca379c5e395bd8b2646f3837c3e9deca9fb85bbda4cf77d1003d0be612687f1397ac57b100ec387d09348d665d2d5f6334e9fcd8ae44816415303197008282093390142c38bb8e908b403f0da6159a76bf2b438a0e2424efd4611033d6c08ef1df4716852908ca8b43916dd89b547c44dff77fc547f6b05122bd0ce031e6124fa787c2c5bb1a148b97751b729c427430802be4116fd37a8957bcba17c0316b4b64e4e441ea95011f4b5e2d9db5d6b2baf54977f5d8af98e8fe33fae0b0203055dcc1881cea3dc04d990865fc45a22c2958e23ed604039eec5e4c2dacfa1a603285e91aa191433cf9e87c926247cb0c47ec63e6df626fef7c6c7c4943b10bbc1032648d1ed32b82801ce94e5cb7073ae1f3d0dcdc77cbb70e1d08cc351b1ab35da037643b443aa7b16877a05d27cd1df17c187ac44f8187dda90c84ce08362fdd16903eb9b6981cfce211db95566c0d029b9714f997244e5274892ac7569955dc5516703cd0b73fa4633623a05d59b13786757c9a6e85a507139b1cc2ae380f273a472b905581e03f1b2d0e1a85e17f6ed43fb0d5cabc816eb4fb4066dc6c7bf5c13114dc00c0147261f2e38fbfd0003c7fd98b47776235826743cc4854935c749182c84bd7feb5b865f684732fccffd05581e030e9a1883c516c6647f623f9665df76c9f05000de3538f3daa99ae642c00c09465ec1d655cf9805581e039503dd522e16e9b3725810907c7d28e6966ffe5ad32502b5cae6608cb00c0c48022b9cf1b772ab3805581e03e9d271346531d1e9832d6be946ddb51c7757e54f5d2b0f24bd120adb100c02470107c0e2fc200005581d024fbbe9dabfd64cf0b1c3335ec91aedc1f9849a6e4abe0179fc9e42150c196036470f1fdb464a3a2f03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581d020973aa42f0c7cd4c39e3ed1acaaa1d9790ee99856a21310ef610a28907011bffffffffffffffff0219840003675e7f35795ff08159a29abc68b6038ce34e4060b5dfaf95df06664f008381f8021943ea03180290a3246a3702dc4063eeb877ea1348697a063ecdc6546c39a28598bbed1903d7d00fee4e32534cf528c44cdea6b9723b8e243d447673dfaf68439fa64273030386fd4fa3c2520b090a94a52c415a572359f2b67921c88d4622b76f716d7e02b903ce792b8bd9a7f77d3287732d55e8f1d2ceabdd6ec3ec33736cde2a2490619e7d030aa49ff9417bdcf88dae1de24581777c3b65388134994f4c6a4e747e4eb5a7780337e8bd6d0421f882dd55e192b361b84316958863c20b1af04883115fc7b8e20a03844cccac82fc581114edfc2571f98feb27436474784ef32050462f8946f6768703a1be424ee51660538f68f6539539846a91d91907b674ca096ea61464de97c848037b0c6f33c4cc355d0359fac50b211cab5d408752dbbdbdd5a446c7c530e554c4036cb780477be57306afd444e98f762c77839eb61f2333954d7381a1c342994d1f032e332517b877cf32894b08dbee7107e54b68e19bd4b4fa2b3c628a69340abe79032ddadb082864e6d5d5c204de10f46657e9a53a2b900fd39f7cce6c58427f8240030a837e2e0a09543f9f375f57ee812e58c0d14b964f0ff6552b2686448b0bd78503fc21730f3a4af9a293211cd7600130e8132a5aa54f97fd060b2909c41db42774030b9536b1fcd2db5097c56169a88163ae8a17eca20f41aa5cae62f694e3e57a890219ffff0329d418dbd048744887cebe86d0485c66f4e68d4b037b712cc471bcf394a5f35903b02e467d3621c519eb699b9044d118e8df04f40263ea1448cf98a0539078d8b10368117291d1c7e5683fbe846ae2dbafefdc983b9707e3cf9481b866c356bb032103b7378147446394fa7253993df5786edd1931e73002f46709b1e0aa3aa40a827203adf1fe21bf05c8551e9135cd729d952f4a7417f4caca43db9058e474385adbc10379a81d1db8d526a81e642eff5d71e29de75f100e91b7860130bcc875fb0d921703310eff3452e5624f87f8fca59956f50e04e4a884b81680d137590da9af2393bd03bae8112f62da11fba151da38f3da6d1cf9e19103e3b65261ec3d03643a1ab5370219ffff037c499787b6cd3d9e089c5b08f60fe5f75a5192319799ea3896e91dde9f4be1bb03b3c70530cd1fb50e3ddf0d64b110e73d4efc040abd83de4c27cde621f32a58040322b72e6b524a23cc89806aa610f099a54a1b15dd42523e2087e2b67029b057e1034357ee179d5cf8215f04d8d8fbd28b09e2c177d5e9085efe70a968ee17d11eb603ab88ea91454ee72138c76c76416a2f700f8063c2e82dc9db132719164eac202d034290b00dd9bbf9ff2a425a208b31627626144f1596520e2c88b27f07bb99bae5037036dae6e40921fadc1a58f57e34bbe268f9b5c4d676616f4fe166a4b5fd15440345bf571acba9c5b64d43a78b5fba44eea00097e01fec63a3c8a933724d21ca9803b69015adbc8f85a19e27109202a7cbac4c000065827b2ec2dcadacf9958bb5dc03ad58edf7fb5e221c8deded3511367f29721a92c82a0cd0134e09ed163480216203d99794a15b39b210117d41440b427f603482f9151971aba18eca39853ccc2478036b5af6c26604f8cda3aae226f4c25b36550d22a9481bb43c94f1254f2c83a16203d50d716aa5c5b9acbc00b16bc0362643620f988ee088435ca7f5d225f05f5a2003355fc68d4a3d23877d770dff9e3cf9c0b1fed1ac3c96f8c54437164b92b2cae10219ffff0396ca9ffb9589131477ee02d044c6e2521c28d0df7e92afc65b52804d7e2e433e03ee4734c6cf1e4e6cb5ef4a66b815787ede1496e11d13aaabf2dff33b9cf4da6b03b3ec016fed728cccf3485410136f0fd74f6dedc9a3356159096bf17d975a84d9036163c670a8edc102c3b291dcee6880f1a7701dbbc7810e37f190a0d8d77a2c5c0323ac871f2f145c383e15574bd0090ef4ebc8b2b3b96ce0bcdcf47be849a80ecd03d21de635c653466493d312444f343a1fa305417ef749b1919811fd046677c9df03179d99ad9a3c738c287c6268f595ae273133298bd4f4c6eeb459a9991c47a2ce031a6198709ecba47dd359746a61aca5aa597f5a1fc8df7e210f4baa9c210e94fc03dd1c9ee4a2c95af96860a56b17da83b617dd0293f1631cb38d772290897f93a50300838aee38ea97609c3380efece239ea3e6692c95ad26dc27b080ddf59e9817d03c7d851bbffb524022856ee21b88bec803902be5c83246058958ee4ae1fc9725403a1e5a1b23e348ddae605dfd0cabfc342044cc9b4407a41a6f7099eab46a6318803d65ee98ad239d2a2080925fb53491aa8026b1e956eed7fceed7ffe632dc5aa85035c0cfe2ed93afdc23d9b51e054b9ca249c9a4c7b240b6cf81a4461f358d017c10325273c7272edf83075821cd36bd35bedfdf06ba81271cbedf4bf73a48a8e362d034a6871267683c9ffbf6dfcbf50ade859506e11cb5dda1f3f65a204239e31814203aa51116beaa063ba15d34b170f5359809a38105fd6a3efb284cd7bd9052fb67603c510e05e790f4cdb5aae2c4e7f9213529310e9dc2c1a33c83e62f5ee83ddb1c2038ff0331302ca8242407ae70ab2e70090c8cc3a3aa8b4dcebc40481b053362e7e03783acc26da3f62c0c131a9181d4e5918770d05ce8618c38868b45afdc2e39e7403c63e645faf2caeac7e2551eba50929c79d4a4d8ec7e5cb8fc3055b587805fbba05581e03b8d4cbfcff137a9cd23365513a14d68317bd23f1c5959cea7ac2e3bf900402032ef041f61d7f118f2ec622697548bbef39e3ecdb902f1c6cfdfbcc3732dfd0b905581e03b12b0dd0198b818fbe914d2663ba5eaed8a920af923e93259cfbbcb6500c02470b975d19aa570905581d0264136b40a9775ef4bcd120560e1c06acbaa5c76e6d707105eccb5b690c0a470107ade9a959f10459316b6080604052600436106101dc5760003560e01c80639010d07c11610102578063c02d4c8e11610095578063ddd5e1b211610064578063ddd5e1b21461069d578063ec87621c146106bd578063ee99205c146106f1578063fe3af1c11461071e57610213565b8063c02d4c8e14610632578063ca15c87314610647578063d547741f14610667578063d54ad2a11461068757610213565b8063ae5cf272116100d1578063ae5cf272146105d2578063b2d42b46146105e8578063b5475cf6146105fd578063b69ef8a81461061d57610213565b80639010d07c146104a257806391d14854146104c25780639a6e6ed114610515578063a217fddf146105bd57610213565b806329e848671161017a5780634d13bfa6116101495780634d13bfa6146104215780634f588bf1146104295780636a84a985146104605780637dc0d1d01461047557610213565b806329e848671461036f5780632d830ce3146103c15780632f2ff15d146103e157806336568abe1461040157610213565b80631e846464116101b65780631e846464146102b3578063248a9ca3146102d3578063278c5acd1461030357806328ad3aac1461034d57610213565b806301ffc9a714610245578063106b263c1461027a5780631453444d1461029d57610213565b36610213576040517f34352c7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f34352c7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34801561025157600080fd5b50610265610260366004612a99565b610752565b60405190151581526020015b60405180910390f35b34801561028657600080fd5b5061028f6107ae565b604051908152602001610271565b3480156102a957600080fd5b5061028f60cb5481565b3480156102bf57600080fd5b506102656102ce366004612adb565b6107fe565b3480156102df57600080fd5b5061028f6102ee366004612adb565b60009081526065602052604090206001015490565b34801561030f57600080fd5b5060cf5461032c906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff9091168152602001610271565b34801561035957600080fd5b5061036d610368366004612adb565b610d56565b005b34801561037b57600080fd5b5060ce5461039c9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610271565b3480156103cd57600080fd5b5061036d6103dc366004612b55565b610e19565b3480156103ed57600080fd5b5061036d6103fc366004612c30565b611095565b34801561040d57600080fd5b5061036d61041c366004612c30565b6110bf565b61036d61116e565b34801561043557600080fd5b50610449610444366004612adb565b6111d8565b604080519215158352602083019190915201610271565b34801561046c57600080fd5b5060d05461028f565b34801561048157600080fd5b5060ca5461039c9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104ae57600080fd5b5061039c6104bd366004612c60565b611318565b3480156104ce57600080fd5b506102656104dd366004612c30565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b34801561052157600080fd5b50610535610530366004612adb565b611337565b6040516102719190600060c08201905067ffffffffffffffff835116825273ffffffffffffffffffffffffffffffffffffffff602084015116602083015260408301516fffffffffffffffffffffffffffffffff80821660408501528060608601511660608501528060808601511660808501528060a08601511660a0850152505092915050565b3480156105c957600080fd5b5061028f600081565b3480156105de57600080fd5b5061028f60cd5481565b3480156105f457600080fd5b5061036d61142f565b34801561060957600080fd5b5061028f610618366004612ca0565b611538565b34801561062957600080fd5b5061028f6117c2565b34801561063e57600080fd5b5061028f6117e0565b34801561065357600080fd5b5061028f610662366004612adb565b611823565b34801561067357600080fd5b5061036d610682366004612c30565b61183a565b34801561069357600080fd5b5061028f60cc5481565b3480156106a957600080fd5b5061036d6106b8366004612c30565b61185f565b3480156106c957600080fd5b5061028f7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0881565b3480156106fd57600080fd5b5060c95461039c9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561072a57600080fd5b5061028f7fef6d3da212345543d99125b43af0bc451d30ffaf90d4560558d702b21179a70f81565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f0000000000000000000000000000000000000000000000000000000014806107a857506107a882611ca0565b92915050565b60cb5460cf546000916fffffffffffffffffffffffffffffffff90911611156107f85760cb5460cf546107f391906fffffffffffffffffffffffffffffffff16612d1a565b905090565b50600090565b60007fef6d3da212345543d99125b43af0bc451d30ffaf90d4560558d702b21179a70f61082a81611d37565b60d0546000819003610840576000925050610d50565b8381101561084c578093505b60008467ffffffffffffffff81111561086757610867612af4565b6040519080825280602002602001820160405280156108e557816020015b6040805160c08101825260008082526020808301829052928201819052606082018190526080820181905260a082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816108855790505b5090506000805b86821015610b4e5760d080546000919061090890600190612d1a565b8154811061091857610918612d2d565b60009182526020918290206040805160c0810182526003909302909101805467ffffffffffffffff8116845273ffffffffffffffffffffffffffffffffffffffff68010000000000000000909104169383019390935260018301546fffffffffffffffffffffffffffffffff80821692840192909252700100000000000000000000000000000000908190048216606084015260029093015480821660808401529290920490911660a082015290506109d081611d44565b156109db5750610b4e565b60d08054806109ec576109ec612d5c565b60008281526020812060037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9093019283020180547fffffffff000000000000000000000000000000000000000000000000000000001681556001810182905560020155905583518190859085908110610a6857610a68612d2d565b602002602001018190525082610a7d90612d8b565b9250806080015182610a8f9190612dc3565b9150806020015173ffffffffffffffffffffffffffffffffffffffff1681604001516fffffffffffffffffffffffffffffffff167ff8d5df096390c80d709314ba3a8e55a91854bab1fbf8cce78081bdd48eb49aed836060015184608001518560a001518660000151604051610b4094939291906fffffffffffffffffffffffffffffffff948516815292841660208401529216604082015267ffffffffffffffff91909116606082015260800190565b60405180910390a3506108ec565b6fffffffffffffffffffffffffffffffff811615610bc45760cf8054829190600090610b8d9084906fffffffffffffffffffffffffffffffff16612dec565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b60d054600090808203610bda5760009150610cb6565b600060d0610be9600184612d1a565b81548110610bf957610bf9612d2d565b60009182526020918290206040805160c0810182526003909302909101805467ffffffffffffffff8116845273ffffffffffffffffffffffffffffffffffffffff68010000000000000000909104169383019390935260018301546fffffffffffffffffffffffffffffffff80821692840192909252700100000000000000000000000000000000908190048216606084015260029093015480821660808401529290920490911660a08201529050610cb181611d44565b159250505b60005b84811015610d465760ce548651610d349173ffffffffffffffffffffffffffffffffffffffff1690889084908110610cf357610cf3612d2d565b602002602001015160200151888481518110610d1157610d11612d2d565b6020026020010151606001516fffffffffffffffffffffffffffffffff16611e0b565b80610d3e81612d8b565b915050610cb9565b5090965050505050505b50919050565b7f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b08610d8081611d37565b60cd82905560408051602081018490527f28ad3aac00000000000000000000000000000000000000000000000000000000917f01d854e8dde9402801a4c6f2840193465752abfad61e0bb7c4258d526ae42e749101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052610e0d91612e83565b60405180910390a25050565b600054610100900460ff1615808015610e395750600054600160ff909116105b80610e535750303b158015610e53575060005460ff166001145b610ee4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610f4257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610f4a611e98565b8151610f5890600090611f2f565b60c082015160cd55608082015160c9805473ffffffffffffffffffffffffffffffffffffffff9283167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560a084015160ca8054918416918316919091179055606084015160ce80549190931691161790556020820151611000907f241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b0890611f2f565b61102e7fef6d3da212345543d99125b43af0bc451d30ffaf90d4560558d702b21179a70f8360400151611f2f565b801561109157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6000828152606560205260409020600101546110b081611d37565b6110ba8383611f2f565b505050565b73ffffffffffffffffffffffffffffffffffffffff81163314611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610edb565b6110918282611f51565b60c95473ffffffffffffffffffffffffffffffffffffffff1633146111bf576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3460cb60008282546111d19190612ef0565b9091555050565b600080600060d084815481106111f0576111f0612d2d565b600091825260208083206040805160c0810182526003909402909101805467ffffffffffffffff8116855273ffffffffffffffffffffffffffffffffffffffff68010000000000000000909104169284019290925260018201546fffffffffffffffffffffffffffffffff8082169285019290925270010000000000000000000000000000000090819004821660608501526002909201548082166080850152919091041660a082015291506112a582611d44565b905060008083608001518460a001516112be9190612dec565b6fffffffffffffffffffffffffffffffff16905060cb5481101561130c576113098160cb546112ed9190612d1a565b85608001516fffffffffffffffffffffffffffffffff16611f73565b91505b50909590945092505050565b60008281526097602052604081206113309083611f89565b9392505050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915260d0828154811061137c5761137c612d2d565b60009182526020918290206040805160c0810182526003909302909101805467ffffffffffffffff8116845273ffffffffffffffffffffffffffffffffffffffff68010000000000000000909104169383019390935260018301546fffffffffffffffffffffffffffffffff80821692840192909252700100000000000000000000000000000000908190048216606084015260029093015480821660808401529290920490911660a082015292915050565b60c95473ffffffffffffffffffffffffffffffffffffffff163314611480576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061148a6117e0565b9050806000036114975750565b8060cb60008282546114a99190612d1a565b909155505060c954604080517fc151aa72000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169163c151aa72918491600480830192600092919082900301818588803b15801561151b57600080fd5b505af115801561152f573d6000803e3d6000fd5b5050505050505b565b60c95460009073ffffffffffffffffffffffffffffffffffffffff16331461158c576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cf546000906115af9084906fffffffffffffffffffffffffffffffff16612dc3565b60d080546040805160c08101825267ffffffffffffffff43818116835273ffffffffffffffffffffffffffffffffffffffff808d16602085018181526fffffffffffffffffffffffffffffffff8089168789019081528f8216606089019081528f831660808a01908152838e1660a08b0181815260018e018f5560009e909e528a5160038e027fe89d44c8fd6a9bac8af33ce47f56337617d449bf7ff3956b618c646de829cbcb810180549851909a1668010000000000000000027fffffffff0000000000000000000000000000000000000000000000000000000090981691909b161795909517909655905190518216700100000000000000000000000000000000908102918316919091177fe89d44c8fd6a9bac8af33ce47f56337617d449bf7ff3956b618c646de829cbcc88015593519951811690930298909216979097177fe89d44c8fd6a9bac8af33ce47f56337617d449bf7ff3956b618c646de829cbcd9093019290925560cf80547fffffffffffffffffffffffffffffffff00000000000000000000000000000000169092179091559151949550919391929184917fed5afdabca1838de7f5496f997e6e788ad3207f6299f64700e63435813b7ade4916117b0918b918b918a916fffffffffffffffffffffffffffffffff9485168152928416602084015292166040820152606081019190915260800190565b60405180910390a35095945050505050565b600060cc5460cb5411156107f85760cc5460cb546107f39190612d1a565b60cf5460cb546000916fffffffffffffffffffffffffffffffff1610156107f85760cf5460cb546107f3916fffffffffffffffffffffffffffffffff1690612d1a565b60008181526097602052604081206107a890611f95565b60008281526065602052604090206001015461185581611d37565b6110ba8383611f51565b60c95473ffffffffffffffffffffffffffffffffffffffff1633146118b0576040517f135420fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060d083815481106118c5576118c5612d2d565b60009182526020918290206040805160c0810182526003909302909101805467ffffffffffffffff8116845273ffffffffffffffffffffffffffffffffffffffff680100000000000000009091041693830184905260018101546fffffffffffffffffffffffffffffffff8082169385019390935270010000000000000000000000000000000090819004831660608501526002909101548083166080850152041660a082015291506119a4576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806020015173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611a0d576040517fe39da59e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a1681611d44565b611a4c576040517f1bee0d5a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60cb548160a001516fffffffffffffffffffffffffffffffff161115611ac05760a081015160cb546040517f8c9053680000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90921660048301526024820152604401610edb565b60d08381548110611ad357611ad3612d2d565b60009182526020822060039091020180547fffffffff0000000000000000000000000000000000000000000000000000000016815560018101829055600201819055608082015160cc80546fffffffffffffffffffffffffffffffff92909216929091611b41908490612ef0565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16837f5de6f9e4fdf1b740a7ba3b485303743eec250be281a2dd4df046c7fcecbdb04d836060015184608001518560a001518660000151604051611bdd94939291906fffffffffffffffffffffffffffffffff948516815292841660208401529216604082015267ffffffffffffffff91909116606082015260800190565b60405180910390a360ce5460608201516040517f42966c680000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015273ffffffffffffffffffffffffffffffffffffffff909116906342966c6890602401600060405180830381600087803b158015611c6857600080fd5b505af1158015611c7c573d6000803e3d6000fd5b505050506110ba8282608001516fffffffffffffffffffffffffffffffff16611f9f565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806107a857507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316146107a8565b611d4181336120f9565b50565b60ca54604080517ff3a009a0000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163f3a009a0916004808301926101009291908290030181865afa158015611db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd99190612f26565b6020015167ffffffffffffffff1660cd54836000015167ffffffffffffffff16611e039190612ef0565b111592915050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526110ba9084906121b3565b600054610100900460ff16611536576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610edb565b611f3982826122c2565b60008281526097602052604090206110ba90826123b6565b611f5b82826123d8565b60008281526097602052604090206110ba9082612493565b6000818310611f825781611330565b5090919050565b600061133083836124b5565b60006107a8825490565b80471015612009576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610edb565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612063576040519150601f19603f3d011682016040523d82523d6000602084013e612068565b606091505b50509050806110ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610edb565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661109157612139816124df565b6121448360206124fe565b604051602001612155929190613017565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610edb91600401613098565b6000612215826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166127419092919063ffffffff16565b905080516000148061223657508080602001905181019061223691906130ab565b6110ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610edb565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661109157600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556123583390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006113308373ffffffffffffffffffffffffffffffffffffffff8416612758565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561109157600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006113308373ffffffffffffffffffffffffffffffffffffffff84166127a7565b60008260000182815481106124cc576124cc612d2d565b9060005260206000200154905092915050565b60606107a873ffffffffffffffffffffffffffffffffffffffff831660145b6060600061250d8360026130cd565b612518906002612ef0565b67ffffffffffffffff81111561253057612530612af4565b6040519080825280601f01601f19166020018201604052801561255a576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061259157612591612d2d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106125f4576125f4612d2d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006126308460026130cd565b61263b906001612ef0565b90505b60018111156126d8577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061267c5761267c612d2d565b1a60f81b82828151811061269257612692612d2d565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936126d1816130e4565b905061263e565b508315611330576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610edb565b606061275084846000856128a1565b949350505050565b600081815260018301602052604081205461279f575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556107a8565b5060006107a8565b600081815260018301602052604081205480156128905760006127cb600183612d1a565b85549091506000906127df90600190612d1a565b90508181146128445760008660000182815481106127ff576127ff612d2d565b906000526020600020015490508087600001848154811061282257612822612d2d565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061285557612855612d5c565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506107a8565b60009150506107a8565b5092915050565b606082471015612933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610edb565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161295c9190613119565b60006040518083038185875af1925050503d8060008114612999576040519150601f19603f3d011682016040523d82523d6000602084013e61299e565b606091505b50915091506129af878383876129ba565b979650505050505050565b60608315612a50578251600003612a495773ffffffffffffffffffffffffffffffffffffffff85163b612a49576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610edb565b5081612750565b6127508383815115612a655781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edb9190613098565b600060208284031215612aab57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461133057600080fd5b600060208284031215612aed57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114611d4157600080fd5b8035612b5081612b23565b919050565b600060e08284031215612b6757600080fd5b60405160e0810181811067ffffffffffffffff82111715612bb1577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040528235612bbf81612b23565b81526020830135612bcf81612b23565b60208201526040830135612be281612b23565b60408201526060830135612bf581612b23565b6060820152612c0660808401612b45565b6080820152612c1760a08401612b45565b60a082015260c083013560c08201528091505092915050565b60008060408385031215612c4357600080fd5b823591506020830135612c5581612b23565b809150509250929050565b60008060408385031215612c7357600080fd5b50508035926020909101359150565b6fffffffffffffffffffffffffffffffff81168114611d4157600080fd5b600080600060608486031215612cb557600080fd5b8335612cc081612b23565b92506020840135612cd081612c82565b91506040840135612ce081612c82565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156107a8576107a8612ceb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dbc57612dbc612ceb565b5060010190565b6fffffffffffffffffffffffffffffffff81811683821601908082111561289a5761289a612ceb565b6fffffffffffffffffffffffffffffffff82811682821603908082111561289a5761289a612ceb565b60005b83811015612e30578181015183820152602001612e18565b50506000910152565b60008151808452612e51816020860160208601612e15565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152602460408201527f7365744e756d6265724f66426c6f636b73546f46696e616c697a652875696e7460608201527f3235362900000000000000000000000000000000000000000000000000000000608082015260a06020820152600061133060a0830184612e39565b808201808211156107a8576107a8612ceb565b805167ffffffffffffffff81168114612b5057600080fd5b8051612b5081612c82565b6000610100808385031215612f3a57600080fd5b6040519081019067ffffffffffffffff82118183101715612f84577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b81604052612f9184612f03565b8152612f9f60208501612f03565b6020820152612fb060408501612f03565b6040820152612fc160608501612f03565b606082015260808401519150612fd682612c82565b816080820152612fe860a08501612f1b565b60a0820152612ff960c08501612f1b565b60c082015261300a60e08501612f1b565b60e0820152949350505050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161304f816017850160208801612e15565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161308c816028840160208801612e15565b01602801949350505050565b6020815260006113306020830184612e39565b6000602082840312156130bd57600080fd5b8151801515811461133057600080fd5b80820281158282048414176107a8576107a8612ceb565b6000816130f3576130f3612ceb565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000825161312b818460208701612e15565b919091019291505056fea2646970667358221220ec1ddad0817e188696169f9f1509d86834039ef60b7736295c0b44219de2081764736f6c6343000814003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d023ca08ee7faa2dcd52e8cd308b005b03625b61badaae2bc4ec153aa20070119316b0219100805581e03f52ed41a6e72c6ab708aa9cd22a52d727793b943f912fc03e6d7a5bad0040205581e03c1d27fcf3ce0775c16771eaaeb091fdaee3087b94b1ee2ab6fcd290e000c04464e5910ca401005581e03dfa6d2c2e9fcdccfa164399802747991c21e8c868df1860b6a859bc1700c01470cd56852c14872031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0344741fa7324adc1a701442395bfdaf58b4142086b4847ce65aff25114007011bffffffffffffffff0219e84b03f161d39a6309fda68e9660368515b58f2e7c5f180aa343b324e2b5da9813b17b0335f2d7010e08f93ef761421bb30accf10241d29ce43a095927a4db0c82a71153032bb813c74e3f67ef35e42e24c9ccfe8a0c328d364c8a3f9321924a089f23ea660305d5dd4b3fc0eef078829f60fd724a80ae5e5f9b58329044eabef3814b5989b1032478ebd54230b0f618b85b3a89c0a3b61339af0d875a577ec20f2d5ebcae228903935b2aeb1f3dbee3f6cd2a656a5e046409ad9a555a37052d82a1bc9d408e88f70350e4ebb54fa887fcebf688343f738e37bbb09507db48485c4b774d9ae7d285b203790f06b19b9d92312aa5d8c667d398af043595a4ac62fe9e4440bc043a6f1d1b0219ffff03850e3018cf675b808fd1d403756cce20d996fde24b17a6e1b77702fb93d3afd803f0d2839e37f55e0b332b5ca743c63fb6719ef87df0d67cf012436d1245feba7903b8debc0b4f61989234cd8c2072d7e4f1104947dfe99a148dbeedcfa3e97fd23403e45a9ae566e0b57f2a72fba794155c648df2f919090f75a6f4baa75af074557203b549b842fdc8d42445ef785d4f470be326a77e089227fd95955361aeb39cd4d703c8f3051950840a96339921cdf29ebc15f42c8cda934ba3ac405c8fcf586b0c1f03e5a6681278f9210d963fe26596b2addf3284e7336e7bab2a573e7d7ade8cc64203bee6e0763eab492ea72317d477680390c35a05a7a0212f8cb38294a95d7f7d9c038d437d698a4342a0d760a4fcaa2d7f906ca016950bb5a8557bbd0970097b60a403b28feb2eb335d24baad0d3e026cf7a32757c2ead545c8301c47af9ced50890d2039d758799c8038325f74edc3dabb3e922b360daaa8abfc851893ef758beddc6090384813051ae305e5d4d750145be574ad90e2834c496ce276006a906c2711c5555034fc87f98f2c2f69ea5254b8fa2c8f0013393f18dbc5f303440683720abe6b17203d764f9b54e29c7c99f49164f84cb4001810319a717c7dbd4742def6151cc01330219ffff0325e7190b7ed2e525a482c7ba2b34c0dcf6e48cc7e4735b89317b67fb620d135c0332b616a808594954d8ee015a86755bdfa7d0be2ce69763e47e9717e3daf1d0f2036380a850b073e94336ca0713067a0192a87449fdc7c296bd3915c36483e2cef503165df935c39d3e5686100b92a6d18ae5e66626a6ed7db2ad01d1ed18a02a038e03246d67062f5e3a6df4956b346a2b52f923311e7b248ce6fd93fc8d878a9d8ae2036f98e60251ce3bc32e6fb8690d34ca7adc2402727600615affc8d37fae070f3403167eddfd46920d03095ee67810867c365e2ee2723353e65bf4ce87fe17bea9800377469c65684e98203ec169735abe94bb0352c34072e3d76a35538a66245027be0219ffff03a52566e4bbb764c670ebbcf03ad921c3d4666c9b34163da9e0c830194fb2c4bb0327da58fd4b3ac8bd54abc92d02288591f918f4ca3ea654ff3faec5b42c3448b103960ff2d7b3437d62f06b6000a6c8d932ea31b3c18fa18ebebfbed7355964af610219ffff034e1486acd4bab5fe281af6a6621839ba86761bfec81295b5ef88ea255fa27447032491fda7cc932a85156ac74f9893c1f7c734fd62cdf7dd5c30cc8fd96be9b1c0036f74b0faa297d517d653e5ab84cc9428bb35462ead388bbf2930932e3e6b185c032e6d138bf705f2225e3d4299c874873e09d6657ecfe8038fd1d3d98a38fffd340382c647c9cf30a0b42336b23049a4c75c8c730b1bc9f7f1796bfaf54a1a9159d403a3b984ec0af054caadee9a131519238063c7cd919354487b47ba976100f0303103cd764212a131ceee4fe8f31276987200c256f8415a670e390add39e70c0ff0750365c9258762f98248b235a6af98e4366d531be4c34f04dad13e89803a9594ca8603918d0da13e6073a6cf6d5fbd58844cc2b5132332782c44bfae3771d6e2312e890351492fd3e0e0d5386f3d219e696affa0d08bc1b2f3a12cf548da688099a72c9103da0aa6bea12b2efd896380c93457891d9ef3a5e2e6443dd3dd2fc1ef4830a2af031d6b4c71f900236921206b6ef299fb3b51aa46dec4944f805d75937da070dc2d0343817662fc17e34ab718d528c52942fe9a1eb6de7b239463e8ba655a51492348032836e29a597afc2efce47f93d7bdd34730a41ce1af0875d97e22b5debd3818d5032f7296400c8023feac7591b387162241ab36c6afa6ff30853f6fee7346832d3c0325712debf5806ee415cfc348a50b2d522445b885b098b70702b558c65c05ad4303407d7ef03dd92b7e47dde50d1bd9a69a2e3e75fb59350969ebca16884755ece6037bae09593b82054e65845c654d3f06b8a5533bcf6f6121dd51cd157fd3877aca034f68497fc0def0f205f5f1342dc7b9236fcba840bc6e3c7ea139ec44deea17a10301c4ca6f0b36e40e08ff3af0acbbbe4551a6602e009f831ce5fa637903b0d33e039b5693045d1e9364d6f92c5034c23efdafb5e4bb2aa916e45e5f649bda620125032028cf31a8c7b0eca8ec75fef482fba4483fc8180429e0f5a47a8cee5caa1836033089cb7d652e2063f268e15a1b68f418fe739e14cf9f3ea64fab1531c04d2a60035599956ee272ecf8b2f90b89d401742803fd167f2ecd47167ef89fbb1f43a330039ec528accb00ed9d8617f1266765de39c0da8a2d878fdbc511956814496d07c203d34202341fe6e51a33f514c1fb38b5258490e4be24d527765816cc6b3ff9eb0303bab44a74d1ec7035ad14c724f5e6387b0cbf4c3744c67f45a0c76274f803e47903433297ad12ff6f612ea97f6dbcda158332d7f9642c628b1f8c5816b47db2654203e9c443d3103d773faa5dc4132ee2c4996b57dd3f435e6f2a9b6b3cf39022af37032b4439521633c9649f510353020b2b7fe6c8bd4d2991fa2da5de4078b1b3b1db0320e318ed034d77d57b5911506c00a32a6f5aca6a5fbfd43efe84d49f58da5f8d0336ffaa7afe2c066f7df851dca01c8fa724ee314312bdf9d4dce9af3f817b7cd203e3c8dce2cf4bc8af880865594aaf8129e8c15bfa32effe805027146233be560803dd63bc789e536575427fb2af5744269824bd104c69544c4ad7f0e747227355ac034cad63905ff43b86368e3a439ca39d7b53db09a63496feedcccc021377c728c3036e4ddcad785aed3b9bdafc2816f9154d0f3747a24cd183d7b785e183667534920301e558ac375036c35385cfb2e86eee21664016dafcde45d35dded9105d7c2a39038a2f5ed3dbb83391536dc6e0dc3dfed198c55c31d34ef0803e340a5b0349e2d7036de0c537e5c88b3d3b6406a03f0b7fa75f11ca8b75988594ffa93ec43fbd2ff403899c8f3483cf17052609baa0a07d59ae6880d708946fcdc85781434fc825be1f0345c1f6443615e8fa183f40727fc83db6932984da78a8bbbe9aa3b484284c8d1705581e03e33a7a00678910e18e52980a60c263a7f2662a91c64ed5ab3a67cbc700040105581e0345f1fc2a5fd449902f70ab1f1f47577850e100f2d0e2d88ff4362089f00c01470188102b0f7c0005581e03971363717fc6112409b97f217e9d950693b2a9093cf5b54a9afb987430040105581e035e02b25cb8c34961983196d193876f2af067a85533d76cfb88496ef6a00c0147052669dcb7ae0005581e031225b641631bd26d26f5eb67f3156bf537f5626f62ba38b4ac92f036900c0246449e8788578805581e03528cc9d3f4b353767c866d07ef225d5c00951d55d38004044499e98270040105581e034395826e728d53b4e21516858143e57fead6acd3076d3c81e1be476a90040403d4892551647b70a0015c83406c1d20647f7b355daff74580a0d96a6669c4d82f05581e035e7f63b7d81ca5ae7e279c2f933b06485d264d842c4040f2f822b4638004020359e0e7572e4465e0e20ddd86708e5711470f803af51be1b8c904590dc4ab3a4805581d02516db3df765138bfe4d798f07ff679d455ff8188a06a88e670c2ceab0c02478689eb57e993720459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c6343000810003303e247bc71be683ca9cda3dd2f66b0612c2e2a10930c7cb4e2af398757f5285f170300746055701c9f3e725b4994f18c36357a7a3541e236fe46368a5d8f0bcefa710366ac2f99a53b0e96454e97bef443c25532c76263ebefaea9dcec7e0c9324fcba03420e5c2b461442b438f4a88f0cd55abc56eb58a358d8c440f21f14652d11b59303030ba56a7817a174da19a8f2f8b08669471e8795d220eee7a038e0593b2b1e0503b67d7670a5a4ed8cdfb9b1138ecaba21d46f8808f1542a04e35c8e0ff1e3dcb60383912ffa80cf6bd500a994f3cf9dd7332ae40630cfe1c9e4d55a14e7059f69f603afbe4cacf2ef33d05c1c613a7c3f6388e2fe619a89df14900a844d437ad3ff0e035a04e104dcee5ac3f411104e020ea5e47ad01058bbf593fa7d162c2394e5b07c039b3c2bc5b3e129a08bf066fa62cae72e9e0bb84991339327d9c7c479edd454420347a7a74de57ed60895973030f2f3e3a35b8f32a8b29846ceacdd5a31bd115cef03c6a2777adebe9773b696f22d846f4c8e7b97d00a5c5c44b9641a91c8636af770036877c499c065277c60034759068c5997167f6a621d1ad49135707822c809377c0375ec88590d05aafdc227bcbda615085f1c1a9e1f3badd46a638246f60f9a1b7200581f03bd56d30a0fb06d4d78ec86050b566acf19748b96812d0333620f71fb7ef058201da19a8991324507a3cf67e67cd1e5fd3eb1de5e536b2868769557f2cdfeb58100581f03ccddce3788d3a73436e31324c7917032904883c2cbdc6a7a1392a2873ea058200143f6e834468d279566035bdd482c61efaf2b03837071a91dbecaa64902e1bb00581f03a0b7651a024bd2bf885cb6fc484f26ec64d7c631dbc7b769ee95674b3b80581ff5e0d1030b84a58a8bbc693a7131298c50df960affca2416530d0e808561c700581f03976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d8140540d7e906bd9cafa154b048cfa766cc1e54e39af9b0219045403d7951753629d2325470697052f109c8f9396d26858e5af3ba052793323b9faab033eeb9b209d990be4c1c737f3177ee1a4039abc8e1379221158089bf5bb73c3f300581f026deea62aca8c72b179c43f0fd0b3194056f2369f69b6e9ba9f80d5eb981c5820edbf801e4287f35af2348016d5cb5df655f188e4a9cd455be92e45a57d73dae400581f02eb45e8cb8c75e3597d83360785c5f8a10aff4f4d15f70298b706f996b88658209d56d17205d21515c948e9c5989c0d23a79c23385b11bbb0ef8bfabe6b3a0a44033e3c3d066b6d611c8f852ffff4e8809a4a11e05f9a7648869b9f954b5ab6bbf4038d8a43a9689f2b893334df30ee8a6eb5c7a6872156398982489b4250b854dfcb0314e6a9aa0c022122c9f63926065eb2e8011aea2e1613d87e2635ca4cef7cc9f203d4d34a56d422d32c2b0b15e1478af498787cf98b245ce784d5c7aef31e2a27c20219ffff032355c3fd4911bf308855855cbbcdb860dbbb07f4c7e4235a99a5cfedd8dc58cc0383c0dd4ea309b1f5898dfae939afe12a4e52acd13b53f28049a4f6b0fcd4864f035a7d7706dad32dbaf7d42965fc78dad96a6ac3bde2f39852f525768ad131db7e030e97681f28bcd3586d908537f67d1a2c62689c6b77e9d5438085d0ce30d5594403bc47e331ba02516ffdf6b3622038675dff60f6c743d1fa2a19c143fd9b8e45390392e64be3c2fdd4b1adb93b81ac5e99b4d21c12da1847ef0bf92dded2e080e43c034828dc75f46348be500c78f634600ef413647b24d73e75fba8366d0d24e5d3cd031a325dbce7cc6a721fdeeeadb47c7ff0eb75ebedcaa582962ece6854e90cfa6e0330d26508c0076657be62ff30e610e902293b27c1c257aef1682effadf0de374e03a0f3956bce036b129f540cd015c1536998680c3d5f8383eb731919d2d529e2e003945b24e19620ea6133d9961d89eebcd39b4be0acb9e10eff5781c8c9d66ee83603da349caf9089c0b38fcb179e74754ce4c77efda32251403f81f44d93680cd4410219ffff033b46d735a3596bfbd41f79befe627c575729b6c2add5226e2acb7007f1e2fea90399efe01b010145c4629633bc536b94f646d2b0452b2b1ae0d72f8c14b9e37bae037eb18ebc7172679bffcc327ddedfd9f99eefe8d15d91fa5fa2ca554b5ba17994034653f667adc5fdaf83c2dcd2ed53b38a90a893be5271e66eb8a6a8ed08a90df20355ecb758dcfdb4161db706c1e7791ad3d06812a8ced104b74c26f05cd3c5534603a4db8215ed8534802310cd58ff11cdc1b3256465440911e412a6bb9e9c52dbac03a7f2ddfa70a323b104cc58d791eacb0d0ccee29ece6999e6ead5b77f1edfe35e03076a87c8729d0217563f739653a27130c64d370a4668822936b9bdf737186ac5032b32036613b571d54c5b20eb60eac3b98b25858db9624b28a41549d522c9bb3203d6d312bd097ead00f01c6f7d66e1a4d5ce9ada9399c9e3a634aab37864487b6e0392fc8dd9137080043bb01d29a359dddf4bf6c115c3fd1905c6e1eaeb5234def603af9a2efc819b7235e52fd2da0687ab4f3f09fe6056899ccc8062d01301e5f2b3039d2ba7cae614bae244b99f36bc56fa04e9c183e8153226c77334d645127e10450219ffff033eef1ae0667b25b33b7e67d88d0a3d7cb2af926edfbd940e8925b2482ae255ee03976633fc73c77e80b8d961fd10057154b5427fd060bbb4259ade09ab139d35c70393ed0586db83127fa221f19849cff4e6e9301f96f475d9434396eb6d3d082fcb031df66e3c8fe2c97c8606e8ef9e287a74ba8b0dc4ce2e628a044c9e8e9b554d3b0352a63355d53bb2a1d5dd0a5e3d19180a166b22d906aeea924ba6d4e49e4bc3c40321f201aa1bea734745a30b0c033537a03993bbcb497bd172240cfba7507a1526033276f10c243629357ece3a0efffea1e045e8a375a032b24357d3f38ec504f1080346edc44d3fdede7edf006a4b9829a9e62995f05cd7cb4ebf7c73c563c1a9729603afe5810666bc3d4126b2fe11dc9df5a439f7e699051e731a7b18ec3ca56d1f0800581f02479a900775d8e9c20699ead7443aa75cf3e05d94ea509b19c79b1efd2b97582053134c9add4f3a8abe4a1e8f5965405dfebd7ac26dc01f27681b45ff242d6a6603412f2fdb1b87ce1fd284b19cfc135b51ee458626e9f3fb9a3496bee50b60e75803e9bcf0fe259a55056a712c205add4e9b477a93a4ec28c536aba19040febce4bd0315215397cde471274f777dc20b02d0d4b5c4bd0340300cd91e5d969147f7bfe603436c9aee46c6fcd3e7cf7a184c25f48278880e2503dd2338c17e2124d1fc1d97030f2a34e635b367cd734d146a3cc5c95f7f2002cd4228be336aef24870373b5af03881608d563178ee5e16398be0c12cdfcb6216011b56e8479ac92adb60980191b036a2eef39caa0f8a1ae1a2b4d6a110d0b894ca3d94aa984cd04ad5779adaf7359030020dd95c3aaef8d7384c730184703cdebc0abe4ec1a395906174bcab79ba93703981f2386d0305bc078015c5e76a60544809ed8dbc59aadde7001fd68992af1e100581f034ed8410a5568df0ad3e2d9b3bbed1c97f61bad380c5d90d1ebf849684ed05820285279b4d3550d3780050572a7c8c7f09eb032b00a5eedd6ae84671aae394d7b00581e02ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9416400581e02703a4c0876b05e7923349557d567478a634ff4111039940d6ae02cf8fe58206ccf9999ec63336468285a241011cc3eb8bbe5db7782c5511f5e19bce35701d10219080800581f03133ce22eebcd66ee58a8e44cc87ebeb517a074644ceb29c547a625c568f05820dcd49efd923ce4cb119f4a89fe53aa15731b2789b1070c2362e659a5b273dff20219218003c3f79506defa89371c0182ebd096ab228f3b05b72621fe158737cd1e7ae4926c03d427cbdce077680f7aeadeb1ac65b3c0317ed1ea8ddc529393a37c92ecf3f35c030f7b8bfea38c6feeecd8744ec443b86037715821ef95bbd07f1f75ae2cf8617703c1d21c35bc79e51311f97692f1437248203a58d41e723395790e14d662f8643a036bc964b6cc28956d97c5b4c007e498d144507b06ffff7ef58f6c3d4bf588e0ce0219ffff035b8d1af8d9062f96155073576ceabc0fb7a383eb68b581e6fb49d6ba73e0d72e0356b255e09148febac5c2218b8f7866879e9648dd0c82c4f55abba9179c8c86c9033a02c237cd39a498702c7820b55a09ef23b56c71592bb830f084bc654840589a037def8489e588cba03bd9d7326b4b86a5706d3cc996c0be27a6c74c7572683bb0036d651be6099e55586ab8f2faeaf7f941850d78339cddcdb7e1559aac992a3a07039d08d2a56099fb7c2db0b7064eb60299731a27cabbe25eebb81ef2956dba67b90357d90e561acf65a1f7f67479e17ca3e9f496290397f73519eb504702e1ee16e5031ee19ecf4f76bc130ab038ff59be98320d8f51db01c9816dd86e99d4ad023a1903a6cf5ae100005ed75a75b8c6ca6a81536e4abd4b81608bded80b6a91ce8a89fc0322b128a0580227fc277b8c50909023b86d05bba9c5c721e52070ccf231e2945e039acb3ca32ffc6f23494904f6ea95eceee590e5ebb8a911eaaea45e795492c86d0219ffff0317c89e90be313286f5676934986962c3353311ff7757c1a925de2dd493c4651a031c219710f8fd2b8ffafb4fd0d3752836834f454ffebb577caa3c4dbfb983eb2c03c21fe4ffd21051ee87483f1d706d983f48fbd654b9b57871e566f485376121c603d353076d6e1bd52773c3b08cb4e47e90ec81bf14b9e2702d3ca76fac7864ed9e032b26bd958de9944b2161ad779276a797e8ffdb7280bdf5dd96ef1a8a16da5c4e0302aaff0347b3de1b0d34e894e20813ef1b006a3e27943d5f72cb202d526a5d2a03bf8960f8ac2baeda61f60ee294cc8a852b53b3ad11b1b6108336858973e0cb7003d492245154ef1d6a4fe9f9293ee097d9ad36ab9117a88aca81599c299c4953e00351a3c291ad50239be40fbf3ebc6f050d2bb874cd4674bda3d2d00437f5f1cf310398e1a09eab56ade860f9ad799156538f4433ce0187727bfd586e6272ccf590430337df3f0cc23a0d54199d896c6bdde6a63f27f6ee2d1c298ca1fcfbf8128ca0cc038dfb843158882e5dd7091aa23be15661e1431bc3a056dfa33b179d61d68b1d7c03431117d4816d90de28a17dff813c98a343f375e68a0c86632f221b90f57c166c03a8fdc10c795aa8c70eab273bb63f45fe1d7123344b410500336ce1878f44125d032c66b2c9d655b323585c086496893c5e7dd3734c872105adecd2f5bfe5ef62c3034db0eb6123a92f5d448668bd40c1098082f8e00d6fff69a3d778e58ae9f48d4600581f02d8d119b779ad680299f7016a935eca1e4559e79c2952c2882d61dbb86a7958201e13be1afe575df5ce0cf12e599e325015bfd4036b9ae8fd42066bcec424fe8d03be4121bf2bf4d4b11ca49977212117a3b9ae30159e79342c546c9e602eafc8ec00581f038e1660efb56e9e94045e143a2e417024b61c2c096d530bac6eb085ef14a0410100581f03fa829e00aee22b2e27d62b4daf4f13fe2d4bcc7c76501afdb24da4a61a305820ccfb83452c892fbe83f2f8e43b02a7c4fd8acb12fdff81df94097423f2df4c3d03e996eeb9fee32471d446a56ee6520d005c1a6a5e379f0ad769514455c3ecae71014105036a7bf558ebdd8711d454cd5e7cdc49ecb85a5fee85a28ca77a4b11a97d863eb302190b40030308151d8a0a40d3254d24b4818b9f3349a9d87851a5df01b1cebb51814f354300581f02c9da36701e700c8a6dcf0f4422916048ed75fbe88c6cc24a9f98abb950565820015d56f49144f0e800b5279e24f79b8c06eb526a378f8bc2903ffa01298ee1ac03eedfe43de899defe7bede10bfbf0fb1ff15ebc5db0733cb148afa75acaab2428036ccaffce9db5b9ba4eb5481eb3a131809bd04d44a2bf8ac81a591f4a4fe69e1e03b9e47993506c882f7b6bd4ef9ef53cf2663ef6244432905123dc3e48b09ec461036d569020094a235d9b7c899a813ba15c1ea1beb78a71458b811f00da5caedad00353f059aa744ac569f6db309f360aec2f6e38f91562169a13c961c0796f7303c4037515ead230f11ffa2e6d9545ad789c3520d8d23a34a3d82ad91eb484f3003a8603e31fde32917d83ce81f0d476fc335433e5a21b6e1c7b60e57de119c4e5a31cc5033f6ad0c6b22e095e62744a415316500cafcc705b00fc64864cc2d297e7c3a530036b7898dd9609d9a6c2e7488511c98b7c9e125bfd497cb145f89beb74e96caf2a0219ffbf03cc3626a739b26652c93193a00bb11731cf5d29115106910902e668f92325f83a03aaefdadb87cd11223980f1e4565e1a09856b0a76bf6b6f35d360080acde62d6103d533936cccdfee8d7a39e90b34565f6815328823c985a4fc62b33a9ff7509fa5035f287a89a93232591cb1115d1a15e85ae0cfc80aed5e6bdc11e37d1bd08e7a45031faf5e94c6f0bc09c8fcbab62f833aba1e2ee1e40143690306095e5b11b1594503288cf7f600e00021980986dbcc399ca82d09c21ef338efd8b307c79d33ecd1800219ffff03142cd2c105d5b747023904233d1c63e1060abc683998fd8faa867d1ccbb1023c03b5efe2c6e2ce86dafd7a662c74902d1e3e95696f1af64eed8e17a05c6fa015f203a14b200767ca9d7d5b056126c497de52a01b4c9a3e81ec980243bc2b514eb4b10219ffff03dfa48c30b6a5871b018b307912080126b6332572000e0b59f134d62e2bcb400a03b47c2661f36e8dfe2f2c3a50f48e253bf836c0ffce33a31b4093b65a3773819a03dc151bc613deb91239a2a634e5124118ca00d04b0c90e9c296faa0f21a27621c03788e025e2ad8fb73367e470676ea8e92712e5502d55314b21e65afb6da1be8180391c289ebb47c1c54e0b41fe45178c1ffb568133b016cf4dc92a7fe7da5f983b503f66f821b0675112c4ba886a5d08adec549fbc811f3affb770e9a7194e39d419f039312b7855b9854d5acb5ec9b3d39e10927b419ea7803e7ba7ff49543c86db31f030f85e85da204e1c6f136f991ab4a3a74c7aa927f9d4242892ff6fa007078c34d03c08ff7e553ffb761b85216be2c195a8729a34cb8519c28aa5da64ebc542d5f1903bbf5ce8e024df4662375d0aea0ca8033925e390f660971e043554d0040b7b5c30374b3ac2c4008789b4f7c099a248812f0b3f4101a7ca66d7f60fdc60954799a30037eb3e8cad4d3a8c7a7d013d12fff7878a770fe0231e0f2bddff06ba611c84aaf03fab92037e703935f918e9cddef500c2cfed7bf1272eb40a0c449ac1be80009c503d84631c9db59eba2fbb619744a821d296089631a4a9f24f359496311cf6159ee0336ccf379b21d42087c076aa8edbce6f5a3e44b0eddc377e49e26f4796c31941b034367520f1f22896bb41ab0d366b416aca9dafd94fff199667d9819e5e3847cdf03a8b88e4516aacd73a53d5cfc8dc6768b0ed017111a268373ecf86f06eacfd3170387769bcfac806741829b5b6c79ee42623d188a893d91b8b5d82692cc276e76220300d37a7cff931a04c0ab650f08f53b4d8a63f36f95fc08eb0a4502ff42be117800581f029a914b5b5c54cb0fc519d72fe3fb3efe91134f3faef79f49dd8256505f705820e6d577d2bc7901997ec0d72c1bdb6a4f372fbfed5f65f21f6c21ae28f851c16403ced180ffa4834d4aca55705e4d058d4701ef7f6281fbc60c6ed6ba16d012f208039f94157f62f604babe6bf2fea68a559dc9986948ed6553cfe91cd161d40e3dfc0338dd893b4ef85c90db2b8287ef6f9d403bc060148a4142a3909c23c5e98ccc5303036e221666ead6770ba1f426f556bedd9559fe69bdb91721ba6370720c743ecb03fd835549b4a0c6684038399dbd9df5ff4813927416c5d7dd65c698c410fae8100330fc71275688f6149631d97652ce2ff3b73067eee2b724f3bdfb113f2f55333803595fefe4032d3712c3d240802bbc0ce847f76886141e52efcb9918a9ee28d431034b405b13ce51da03223aa29324db8dad1659fc55e8cc45176670c7ea4b44827c036c8319c5035eac421b40c605df0ab796afbeffab92be7ec83575dca0449829f903589a4512f0f265ae4535cc046507d9a922cebcadcd740194655b6a1a4b11055b03ea04678a46f8e917c950f5d01914c08a563912f71ee62df9feb7f7871eaa54e700581e025503821789a4b4ea6be72d82ec149adfcf5211381e1bd6695e086bdc9a58201dc65993a6fee48ae044739bdf0f14a597449f83a827a1a21a1c5294be899d6100581e0301e2fa3c8b0594fc66bc2b44274f26aee712ba42906dc982fe30a808c05820821ab97758fe1e48b5a51c9bc4d645c3d9b3da2b19aa5c33b387b0cd6a58cc3000581e03f5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054eb803eb3f501998126bf37bb823646ed3d59d0720219200200581e02922cfb52d260f1447d7df9b7b3efd80d892215bcc50d2d68e256905fb358208a1da9cdaa65668c5bde0d47e66a386b33568e50d298f12405420c36dae6af7402191c0000581f03c107679ef1c9c2ab89b53e930eb3d3f9fd5ca4a168949ef27f5e947951e0582019e02ab98bccdf876a04778008a97f5af49d8f0c66c1606a10aeb5ff126c669c00581f03883e4e44a3e3e8cff1f386347f85c052b070a0d81f2741d4a152356b0ab05820f8abe9ed78a36aa5e3ec1ba7942cde4b8a26ab8b15a974e322763c5f9f1a072c021910210219ffff03936504e538c70592724a7fb5e48079b5ac7aac7fe3c22ea9875b400166d6dcc20357e3b78f4f846579230d2999a96394081a90ca42b940f34f6c720ecd08fb3fde0219ffff03142b834959d5e70f45a679d8da64c7b1c575d85e456e8e901598b806aed33faf03d8e967cd9427982566a5591db5e041cb639e1f01e28fbccedb67e2a7001b2bf50399b9bc592508692c882362b5be7b4e5f0c3d720111527027f5e8141c3de6042a03336837bd2f088c33767118fb517da15142a38d3790468245797989036afbca9803abc1ac9c28abd1b5b67ae55c281274517454ce571069643426fb0356b4443f41036d483674a14bd72685bb6d153049a12906efb31878946b7dfcef2948b0e97e1e0323f5177b06db113759e6600bb9ec03e26f3084eb561236a46b627f11ca3213ec036691f965acce7b3678ddce8a484652ea783baa81c1e5cc11d564b6442defc3ff03e3a17b47100c92b118d64c29a85db9d5adad477729ae459f7812045a6d2cd814036361a93616f2e03ab0b660ceb75a13e66de6fa440c6b38961ae16ecb5e73a25103fe8e2aa9020df5c7ec9a80a36dd554535dbe3f7d07d5c1114be3caeb44e8b63103402cac836352e469a481be35a61f78bd5e88cd20e338df9bb394b97ec9fe04c7033f7bb9673771c25dd5b6fde25b1e2a2301cb2e3074891b17dd7b45394f5d5fbe0219ffff0326445348defdcf969eebc6f35cf26ce7af748b8a68e8b3c0daee0d834c44e0f3031d1ffef98b522e41b69bf0bbff96f54d1b3e44a50e17e50230583b2ff218ce79031592ef0c6ba26a099705b2c9f67ee290d81932e1555ecd68a058c77ba7eae289033afca30f8d259b1ce40aa1b1d402cdfef59222dad0491d9225be433ab079bab103ec6da0b942cbb2cad954dd10712e77d2e8b4f33d280900906c5cb8a784dc10dd0330392f3c81311d2ddd20194f767a6c06bbe340f443ed1088d0bfd58a3c24682b035adc23e66580f697af7c96cfdf53d91a995ae04c511f2ff0bde37b2dc2bdae4f039da60b701dab6d8501df5b0b513f9f1b52fbea394441aca1b1e690b8b0e877a703921f4ff447e5bacf7dd64c6edbe3ab11f027382504ac5da61271fa341c64089f03220a6b20bc3aadb38a549cf2665bb478f84dba53d489068be9739477201cd3fb03d5e51b94f74213731a77ed9ec1f074909d4244ebd213e40308a4d483e766705a03603237524a14a0ad8ac76f8daecf4738b0dd6f42437d145921dbb322c0fa3cec03b1cea5df5915c9d42ff2af3ecac708dd1dae493f48f747b279cf8712172d4abc03d0079efb38796978ee33a4a969b166de6544db1d94406a5e5b3395ce95ebe638037279be7ee81a95b8964f3d5fcbad2b7138a7905bf67a7a9d4002936a6279fdd6037ce1d77fa57243785a008b2728a2bc8f425aae219b742d46e70d1814b9e728e903ad35ca9259204be8defab32334a3d247c3052395c39de178bea1e575d5f4cc01035d664901bb7afaa2237585e0365d0c611a7840d3f0569ebef737ef838830ea7f038488985cb991d6d55fcba718e0e9698900158d758ff86f40bec9c9e93a063a6b00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0542e07f0fba71709bb5e1f045b02152e45b451d75f00581f03d3085e5fbe9feea16584b41b8a91013594a6cf5857c3b886f75b7517727058208bb021f6848188bdf36e351d145755d40b46650b31afdd6e0019bba128d443040219010103ba48b7186b09fdcd0a309628e60de005f483b9e8aaa817dfe306b57304affca003f09517d2b58de1e482c638551b5fe4253fd2b39efe59d838db5ffbbcb0e5663b00581f023491b2871565f5da022fbf69400328a2978c3e1524c996868c2c7f90c0185820be7df0bb65c4e6f1e2f1996290287f8669e0a220cf4f2a443b5d88b8eea3045103655d721b3183f5ab22d39220379317a9e8e7a994dca0281f3005ee0601d0bbb403eb5d89698139ce334acaaf4d642908ebd4c400e69391fd784be6f0da5d9087f200581f02e958c48b8e7a26d2be7fabf281187629c63684717980d20c974d8e7ab2465820f20b5522225f9b07238c2287f1d39ea28ae15651f1bbcde7207f29e792eab6e903421ff64727aa4fa3767aecd24eaaa46bf79d06703ca4bda833a791dbe4c2d223037cec561dab822c2f320289f7d3b19c26d9aa00e270c0d4714b1bb1e3e96ef00a03eac23cd506b4538fd1a855f42a335cd73b825cd4fce0e3ed6bee3eaf4a3b240d03e326a4fc1fa826784ead7c25210f4dc806fc1c94d9dddd9f9d5018289d0b138f03a9cb6e28610541a57af4af67fb7bd637dd3d6ab30006e8bbbedd40ed37db511b03b7658ccaca5244ae4c75b5bcd56e20b8cfbc5f7b4449e3841281a20a88382f390398f0dc5b279a8ae93d95b14104f6a16ce69af27d168af19ce7f8e78f94cb05c90219ffff03eed83560bb9ae9a90e6d8ecb7301bd06dac86d14f7ea1051bf709c3f9f01a7e3033a2e9a9582d19194ee52cdb46dd6a3655a1f9066ec3dfb9059b6450fab0c3d62038a811004b2518f2bc0d7e783a901e4a0899ba47cd9272e8d50ea36b1b11a09ce03372b7e9e191084d7b1ce87cce6fc092640cd997d7f5e55f75887c4ed75c12b4e0219ffff03375e27cdc1a0d749346826188cd04ee979c7f09684c141b8c0083f157b877b3c032c9e7784db7cb7432b8bc3a5c93d82b7b2376ae22172695c5cc034a5db14e0a503bde7b1a57e820340e4080beb222fc2a4bf061ba82c1b95c3379be144a8f78e3903ce043d2477f571b0cb2564aa35977a983ff02faea013e1c6cefcd2eb03e58c42035671f5e1cd91b554bfde338c8136993ca73d95e7fd39da51d7617ef2b1508a6003082b2dcdaf90f00c07da432120fbbdd5e654f26197873853b4dbca3efd609c6003197536d176d77afceb1b6b522afe1ad2c993f079149dacd6ab7af897231e91c40366d537460c1915bbbbad4c718c26470264391a93c4b7721b850071ea6c58c84e03bef002eaefcda637b3fd30084004f082845da1a72afb39974fffa1444fd1a2570327e6095f7ce3a6eae52524cb0eed830fbfa2f2092dc5a5f29a87b7b812ad3c430219ffff03139c774b659fcecdd54837a59f33776f272c1321b9d270831de6121d3a02fee003e730d3dec864200b9859fc87cb3d6514a137638cc82881a4d23e19374501eddc031a7aad44157185f6fed1373b66e712b77a01b6d02bf3a4d6b2ad15c79450f14b032b71044c0a8e17a3f6b975a9a555a803fbccee31d30772e7384be2d21532a6bc03439fb7519999b65f267633c492336505806747d9665c25b169ac72d23640d252031a6e3c909881909efc59d94453fff4fa3bf6db5501b24dfac4b5f56718e5c1ca034421a6d492e9537e3ca7fcd57d314503e45e7c152b8ef78282cc2a5a5d72f75203ab246e556e3876a2ae4c0ec6f2d4337e77e7450870f0e9648408f0d09d55997c03f55ee70dfabb40374c3ffcb1bb2595762c1c10ce294b91cd6ab10f1025ebab64037d8044fa72b69ca288d31a7d66bf32f7338f2d9135a3d0cbbf7796aed63b726903af35881524510113b7e461e5591f9c876ecd70c4952aa32595ea18272fdaec4303196dfbf70910fc290d5551cb65dad466ffa7bf817538e39a2d6fc83e1b892dc703175ef71f31a89cb1a58ba442fec7071391ca23ee2179bcfaf2c78926d4490dea030ddc8804ac04c757f8895746ec13b23e7ebb389a1f7f8fba58bc3d701bc22d7a039eb917173f4cc413682445d61e0abec518f1e21fee9b53962484788c553d141803ee9c4bc796f4d090212bab1e348e903e083a16f673a51e3c2ec51d11231b27c70344fa5ff73fd16e335abf6f8c80d43122fe37ae035fed12abb7a4c160e575d20f0350031a8b7c28b07696a20873ef1aa157862c9370ffe9921fb96b80bb5769547b03c91e2611cac309bec2499b744fc63c1e14b56fa1806ecf47171baabbcc02279503fe61ff2c9340db95df2f03658d3630aa5705dc53a26c70096a75616f3f21d67503602af3da10f8a4710df9761042bb20eeba8c49048121ba79a8696f225ddb60510342ff86d4f1f470657cf24cb8e15ff022f5e840301e97534b7d77555b3e952daa03e25e27b34d72ef863c8bc0ce171565b71289c31f5063ffda6743a3432a89e53d0373ee2c8b7ecfc400e76fe63e0addb8719f135b7fbe8656917fb3d2fc0b4f20250354e8f11b9a56c3f11f2b0e11e0e560404105554781013c7ea99ced0dbe3b9797039c884ab81b088f32f88a0b7939db25d04d32daf99c048d7a9701ed370420db1503ef7156b7d0004329d67bc61c2585b41577154ec1eee29efc08e2841c89e4da2a03ae30efd7bc4da7919edd4f77c29b77a69870649d0a9c0deb2c209301cb68a8b4035249743a5d981b148d0bfed675abea6b67b524aafe408e37225b6db99eff5a6603083ed80b8daefb94260ab6d7b357c9e46d471dab74374e6252022bacb405b46f03a6cfa39a8ec0230e599b43b6bd42f9f557ca1026269f7160e3a00f9c54546ecf038c58830ec4f8a8780898837801025afeda512caf6607f47284e802614636a4de03eb04e5218606467ed0cc416c82350386618e2adcb953647c2989027b0123c8ce00581f0233449c2a9120ee9faff3974c4fa438eff495652efbe35d4ddd38b6a96ffc5820311837856a07aa98432b5a14ec6c38198eb939d0213796cd2c6d400c6fd418b10369c83fbd5b6aeee94c406eb9c00c59c5e5a11768d317300c285d45184c2476e4034ee9e9adc49359092e3927e3a6b890cf372bc1744b224c187e432bc95994fee3036e87791770919c71ec6014a192ff06c0e2e95fc0d9a46ef03760c3b28a8b5c39037a97216703df30c08d153af5d13a9446d65f24d1b2ee96e5606614f480b5af8803d451d71d168ff7e08a3c84afd88bdcac797250bc37db7c47a19417b86402685400581f03036744f58583479b4af08f90d7cb6395ac68215a6cc6846bb1a7a45f51905820c767d88843f02a8e4bf2b88f837c55f44ee7ec24c4371c0ee725c48eff9e532000581f0318a47338f48018fd84743ed3e63fa7af81be2560ca06a86dda82f713e4105820205a0baf879cbc76362d49aec2cad604f45a9febaeb5304792e7df70c84ce3ec03248895abb4d35d3fadbede4925bcf70a21c694f778bcf92305d2d8fba8de732b0219e000039cd7f176d2b83d15330f9adbab0df4925da39fd11bdeddcce84a41b79cf6da4c030be55e433766d190d5cccbd84423d83fb93116e20d5b89e6216fd00fb15c3f07031ff8fe5557a9562790fe9ccca5dd53f505a27024ecd20fee6d481731e00b400403c2d68856578da161b578a04a95e9a410b1dd3bac03e088b52d6c053730979a3f0332e5fe6c38c96b9b58cd21cc93e6b20d3488c727cfaf9db520130710ee12b93703adbeeba97e7ff5fd66e6be8f8ef5bdff001546d6e710f0f59ecbd0d9a56f273c0219ffff0219ffff0219ffff0397a405993bb17f1c4333e1de75787dc666e2c6d79837af8c3fb2245254e3efa7039108c094ec794ffcddeb4b7d65803fd7d35d2271fd5de5289ab4cd7f19d15e3b03cec0b7c6553337d5bf4107bfe836eeffb27eca49c89380364a19416074a5b3c9030050fa9f27ca547dfdb782b279045e5141e5a44fc7e425c97306c6fa5da39834038b129b44863a6630ae30fd3875aeac02cc46863e980086292f973db919446125035cc91487e683389ef322d8a991f60c519619612d1fc3895a1d50416113c569a503c277303cb0e53f0a5b94604541781e4244b4cd85b18d06b6f00174afdbfb8f1703124749c733c80b1cff7c332665ae1322e1ab425046f1d71db13812308f56829c035f348913719b5eae6bd47126cf31e6a0a51f33ac366dddc13eddb3add3186dd40368f49881cefebbbc6a041b6de00c32b2ae0a380f56334153aa8e5b5b63d379fd036fd87864d5095a9531ce6260db7e8503c048c881429905e7af6526a232f8b6ef038d20e2929d01ac231450ca5fb840f6cbbd89713831b8b1bb5d6f1c859ce990ed033f0015ed29f0ca94d1a98446fd977e26bad895360e5919f6075dcca472864d3f032feaeb597573197a6f1d5abe7ea2a08fe03f30d8b3f91fd7f466d3bd52ef71ab0396445fac6e71e993d76e0f9ec97feece669f8545509c846a01814a641af56669034474714cd0da20551c9277334e9fa1eaf1e439c16fda66ea63af24fc24ed864403f1207386f23af290d46865c341132984f4825549b53b9b718f9f971d678c4c7003a086b605d0f6451ff74b8b9edfd06a02ab14e3b63059e8951bc887ff5694ba7a00581f0384401f64946cb824819821476c69b181a2531a0e113aa850c191cc82d58058207bc9ae5e31e721ed711bb65ce68b0e22db20855e4dda0532f707709ddc864a1b00581f0331de60b27246e7f9a50dacb1b8c61024c53b962af8216c2d4919e216c59058206c01711dec902ac007bcce05ce0d4a7026b4b69d3de7de920d45596cb1cb887b00581f03b9345d95ea58752b85f5a03b76713859e8afe529c682503795313ed4831058205ce4986106ecaa57e7cbe633c190d9d41ac9a28411d1888c1344a698aa19ce220330c2ab7f682dbf466435c3e09b918d31f6fe5668b57de63b3586de248d3ec41a00581f03e357e04a5523947ab9b6424bcf2ab945ca7cb46e3224ee9b0e1f701022c05820a292a019dc928457d562dd8638a46e540c07cf1e9ab8a615c77ef466780b4cca00581f03623d2bd50358fc5f10a6dbbb508dfc96339e1909ea6afd0fb49f90bde0c05820c410714df967a45516fad93d41a458248ea25bd87df03ecd2689a2c01c12e5c200581f030935f1ffc3c06dcdb5be9a08ff6a839b7f4509001c5b4225bff634770e20581fd58874dad73dee83a87bb24fec8e691c947e949c433327535b8a8a521d118a02192ca503543d036bbcefdfa1a20be3dd0397b0dccb8f7a6729f3d18be981cad4ccb9004903bc0aa82d7cbf9e7341d818b1cf89991f651382fe0144a80ddc3515c50bae7727033415da6374cc51a74b353849533955f52e7bc80b30ee17c912a19089e1d2bbd203fa863b03c27bb671c07c57a46cd1e5670a3bb658410422b98978a66256ee392f03acff6a1391e1b7c9ce283c7e955fbc6a94b8e99125ab74744ea5a23a7ae891d5035bc2be40f63e7f2c9cadac53ebd6ebb7a45a5e9cf2f4eec808949e524154fa1d03bb475a775f7c19aa781360b7e7a2a356f1c2c65c8ee139d0a8ebdc90690e8210037a4c433d7c4811f02d82e186da1d48d130df49c2b4716c44c3c5f0a9453efb5d03c16bd30fe8c56a3ca03e11657d43e658ee65876a4b23fed7fd99f17f66277e1e035245e2ffa6d93f522fde8a3594ed924b4fc21d9108ce4cc8f5ffba5a114776fb034d131b07d07ed27c0571fbf7a46f32bc847f95bfd6b704b7540369d031af5cb303e95c0f1aca15716afa49135451243c2622343b8c59e2680bc233d4a0b4c00e3903a6d5d18c468ecd90e38b33ab9d11aeb9494d0dd220b063a4f5650453cbe7c42103b65c8834c77208344879a855e3b157ec6c508e70c61066e4c7ff7ea5ab3524740219f7ff03e91b590a6df03caac2f44b547c265802342d6dab35c563e124933f047d929f7f03de37ecaa4ab0066e9fecb5e15dd5a748f464f6147cc0fd427e5784ebb89cc7a703a1ad991e158095501101c4b4fcff0d059d215662a21448dfdc5b781e1d9bca4103bc61f678d04abf46f40606ce92e9bf3faa73e790f60fb1c8da23d092ad01475f03c1a0b0d8e56445edcd48c4dfeb0209c71327d3a2ec42296a9d3f53198467f8d103657ceaaf1cec57d66154b1778d0096b97ed7158e0412f79ed282f26b10a9df46033deb8d48fe52756f561047f65a1e6a653dffee7610108fd75ce7b08fa0e319870375954cb6e50c34c7e860aa08bc79fa0db8f91d9c39e7ba8acebfd1e862ab058e038141817fa1b3be00a19e834fb36107ba09a524084635eda4ec8630bb20af5d330374454896adbe724743313a580344c15f9db3a5c8ba6068aa74da2a7046f0433903bafea4cb8222ea7e5b952f4509a07288fbb9c0fd4a4ff128c660892a110f370803b895583f66e1638044135ad10ed58ccd4d02373e111dc9e415980c44977ced8d03dfb5120244c84c270d07dd59a7009c92f4e1120d6e1f3bd5109caa5a68e91cec03d8c401f717ff2800fb4222d33a6d49360922e03c5b4533857b15f170c9b5415b0219ffff03010a08ad5b3c4acd3a596701ca3ac444112dc7b343e471e02dd581ae9072b6d00219ffff031cbcca4152e9fcfe969b67f50bf67d76d731772ec2918abd3d12ec2ec591a0dd0310f4720ade0cf8faffc6cc13c04cc5212268983de8c9894f1bd81d2fb3f6146e03421e443b4319edef9fce504253e6bf4cf736212d1a479842551caf4019edcdb3037de4c8badbfe70de21524ae5788e29bc4339ce6455c7005db564f01bdea8194303a74253bd4f24507a1b703f8f057257927aea80984a153a9a7af92c935c721193035a321315fb90124d71c69d9de3da7646fecbe99c05e6f24fc37a1d47db7bc27a0354052458e46bbe4ed45a929d23ba5b6038892534bdf91ea0a8dcf380849b8a0003138dda098fc0e91fbea36844f24c12e6ce5fa7e070647b297d0701fc57c245ca03df2651e075870e94cdbb536dfc45ce3bb963bdb2cd2eb0ed2f88a25306b78bf303b2d166fc456d50ef8ee777ef6f034342efe96f39398ebc91186e22adce12e82803db968692317897d322db7a393e0a94df0234fb6eaa3eaf2f1c117c72c01a29d303f9f50bc0562d59a13489bf3119d34992cbdc3c2d40dd13b3cd31f179aefcdece03f6a6737f8b64eb0b86eb2c9828f4ec0449225a431b2081df4f56a554f7c9b8f800581f02fe9422fb7ff3897537e8199d135693c44daab9436a05e1667ec9289ed22358207307684ba1eba592ac520d210ad873546c8aabc917efca937ec348bdb0931087038ad7da5e6477f81031e179c1c11a8520b80f2f7454eb63e7d65be0729784449f03396252d762a0c84455e9accbcd6a497812c6f753421ae4aef0178d74beb8754c033e5b2892a0a6871196de7258894584419a446625acd5dabd80adff58aa2e7d8600581f0350c7b87494f91efda777622ccb06e6c010eedc8ba40a3950fda5f9b54f6058203dce2192d1f930da375b4d018c87aa46783540b9787d26e1789abdd0e5729be100581f03bfb9f7a098fd38ff3a7997c0018d7e4374f678e080026c3909897ea10d70582085253abc4a124f387e0a8e02006b231e60435ed7dfb57534c2cc31060d98571d00581f03d344d27b6753ce7578d77e22367d5048257d8412d164284d2c2030da82f05820be15faeeaa5379c48d2305cb31d0b1f8a9b16e5f32f8fea44f75c84b7b25642a021889033467fa59ba62846dfd21aa4fad0249db958036e3aba700ea237eff71bf73877b038cc73b34a36d6b22ca26a0a64b257e6e8801d610f969762374a768b6100c586e00581f02845ad0c3df3378c9e7e0132e600c1ec2db03f9c24f24596dd306fcbe6b6d5820c91736cb59d6c917854f7000efb76e3e26583c53955ba947377d71449c4c5d1003461000ec47dad05509c3dad2b297ef5712931331cc2ad5719883ae24702ad63800581f023edefb8465b68c344a2cc95b83b5ca3bc628dbc1e67b3f4854f904b2346a582089ca42ee07f8fe31cacf8dbad3516aa2df5479ae0e19946515286e3018e3b41b00581f02a56fb23f434047e1273b205aad9306a59979470481427d713bc9a92a2f5b5820ded7f7b5d6ff257f0695e2fd5ec5520555cc323ec7ffca43b6c6a29ef9aaebab00581f02d01d4c8c8320fa5b5708eecfdec6aac21c08ba5691ed57605b644b2f94ae5820a25991c6f6e194239fa59e5a282575f5c3a1da531a0e6f45bca9a6894c83693a0219ffff034e869447f277e562ac250f1976d97bf9c72075f49a66f496eb18c53a938c72c603d26152a73adb96654ec00f316674a137955869a61258149e39c65697bd246fa30383cd46355140aba261d65515f545287c0dce2ada6bce408c948e511ae52ff3e7034241579bbcc4630e8b894ffe3bfea0f0f640c9ecead637f08ba367903a43dc4b034f49c144a4aa3530eee3359497aa45dd2d7f6aa1bab781e28d36623caa979eb80349939637f373672fdf96e45ccc939bde4f553eae633880bedef5aa3b0a08c52f03d5ae25525f65e80307792ad15124af14c8104fb27bbf9fbc500359c5c4d9cab403903f2f20784e6ef75facb3041df4ace7efbbd3294b5dd91f439e7e556c7551ad03ad51ff8ab2796bce3b24a878d50636bb917fd15b788505e879f093f03cb41c3903bb1fe098c3938abfa10eac2400c5a91baac1f1f12673b2d530b2de19bf3057500219ffff036baca4bc4f710a80544dc1fff3c37c5b505108856aaac7a4c72787bdf4adf81b035c4f243a21d6f3d7b1723a55a9dbcb6ce6843a6e2b83e3a40e5401e310bb645f037d76a71f54e470f735933b57a1389a1a62b126adb20ecdb14a13c74b4e04f45d03c035ce9a6a86c26e9ad823396361e746492647db3b3d01f048141c0b6a079d4b03e65fceb29f18c158e8ead3f4bffe29553870619cf2dedb47cca6976fc8e0edf403bc60705eb316879d9c89bec9d2b86b6fe4d53fb0801793da6c2697b57f67ae68030f16486f37c0b1e07f796c0fdb4fc511b15d7b7dbdc63c2cd8e79ba39e4834340347e4d05817d90142aec5da260de3856c80dc9394f040395e1a366490c158051b0390fae97f98a22c8f9b245ca3f991e9beb19c026bac45d92d4a67119888c71ae803745517ffb869764ad77e3e35ee6a3d41dc1ef34b8a702c156482dcdcdeac2d9503bb7f0098af83ba3365bdae459c562870a9621f90680a7b529af60f2fdbdee2ce03569ec989eaca49359d6cb42e3f74a95a257ec3e8ab4af723166f64393b08f4ed0219ffff03c7c649ca1e68979535f6e3aecb98cb12ea810d6e759cea705890ad9fed5117c20219ffff05581d02c617f9ef14c016a3256ef95f180174f20035b534c14263666d9fee8e070119089e0219100105581e036a31d088bbae9c85cbe222e3262794380411cd4ae54e1433cfbc133ba00c03464a8b6e323e000219d9f703286325e3e3d2cf9ccbe788038218aec67d093c0ec02ebe05e498393386761e2d032ce35a18f61f48d8a3f1761cc3564f60092ffd77162f12343aa68e0e09d55a2203ebfd997a58b54aac616786741c16c1b707a5e27ce2e85bc4485cbbac5cedfd50033be6cc45a4ec661806a09f1e536d7ef821231597801707c7e288a5d7ac98f8ae0219ffff0382eeaadd4c8531b01ac2d3018ddcaf49a508b7ea948ed1d835fffa6605f2361a0219ffff0335347b3fb4beb7189ca0c4b931124f476e00446d71ff532162f33ef34ce76a99032749bbd879b25ca62c777f78152aa8879e8f59acfe8df6f797eeb7421e4110e3039f497a70417807b0558b81bc88ee1459b776258d3487ebfa0b1b70d152260318037a342d5eb7a36fa4a4c13c4719280158e3e8b7ba1f36364f18af4fb271e45da303e6bfe0ee3b81365249499fc1f36bbceecada91720231fa6b95dc0d533b842dc603045423b996141f177b4a0784cdda87caf3f2b8f9ee6b94b17afb40376af0741803f970727f838637a6a5d2c6eccac9682731781667d121598b54a2123d7865f1fb039d3484b37978236a0876f74bda92e9220475f80dcf8afc6c356a17747b06c60c033d693b6c0000656686e9041c945f6a072fe83db4cbdc40c00b41c1ac5a6d9e230219ffff03f0d34fac07e163f37ce38babb9947ebe5c97c601d3a135fce3d980ef4ad8a8e403a786d642d94e7366b5017539783c687d3a8e52fedb6c73ee1d44bc96218899b503e642e795b8d9be555b7e6fb954c0d3de3472a2d944f501714e40be1bfccc00e603bb3de23c987ab6eaa70b8197aac03044ef9ab0a7042e5a2d62d24229a8411da103cef3976aa4cdec69a6fc19a1ed00e521d68efe443531427c714904b03b93280d0219ffff038d040be6be2087e16535f46c5ff874777f9c78776020cc89b7211c7c44fba37a034f677010a68b818636e1a68b420319a7f9feba3dc9a1b658047545578b86ba1b03223116b3e218587af34acc5dc126b27be46b3bbd3777d13143d9d186ede928a7033085ab6d8c62dfc711cfb9f84e316ef7aba4ab2ee626a04b289ad7c1b71fe258037277e3ab72dce958a8af565d05131812aa6223990bd77d968c620d3142b9a9cc03ec654ba72d985b2c77a7fb3e9dc8f8ac6916314cf639bbf539156a2b17f5f23303203c141053adeff7c5b7d1d18e20d4db3eb877ef4ee997f8067bcd7facb287c303141838bfafca16183b0e82fccbc8e2d8c7b44584a6f397166fb3d0d2421e37f4030578d4230bcff29d9f48fad6745eb3fb5c416353ca386c78bae2a6e67732d38003ad5bf708695c8d962b76dd822a792e7c0c30a299f017631ddc60eb0ae18cf949034a10276a3bd9fbcb6f528912a43c946f3ddec5c74d39436bdf16fac52cc2842b03854f006b8584592d4b25522cfb5b06fddc50a0e966de1f36938eca587594313d03b24fdf7d7cf2bc57ef42feb89004680daac6df262d7e0b31df608478b8f23d0b0313debfdc10840a4e3f0ae233d634684d6813d20715fd9b782f25076b9bbc2c5f03f9af3c5877c6919106d07d7091504a9731f2e5cd02f0cee7931f8e88306fe14003839871611125cef294fa4ed8bbd34074bb6f3f1ed3d1182bc7ebe4fcc99e1f6803fcec2a4bde38cb0af0b9e219ebd467d2a9a11949596da27f135593470ec35fd0034754a390c71acdaf4a9ca43f466c7d1a9d91efe61109d566e3d704a3abeb2f340354153668793ca99b7e2791a87e2d86e3f0a9278be41e65ca7d8e2274bea6f3cc039b4f596bde7bb8fc392914afac873a2ea0ac9ab8dd8e042f4e06157da7697b2903693bef501c9c5d39ccc2e80031033838155174ba3c0f606079abb41a9d61c4160392f24969899233347ac39fe422a4c39ce9b9d9e356314bb5c6f2dd47d6e5cf39033516c8e46580d2af85565aeb5b67efd99c841799462ee86d7dbfc4dbdb953cf303fa508cb04b0f04f5567bfd33185012de685ce8f90b0c47fe45ce1159d970caa0034a9cb26d50b6c6ac7ea832505579099c8752e26deb48763ac6d34068dddaf0e403161c0c7c28e6662f6d7d1b607b138f73a07699e72ba1dcd6159d3f76ed2b5ee903ad792855162c972cae80925d495242196cd87375202cefa683359dfce933441703c2286d1f83933f101c18aabf1458fee3e1648fd51c95074b7279e6d505d929ec03536734503c1bcc144524a97fe004fb25d9c98c01e97f6d1e7218a5eb0c60d7b3030ed76b2d73768334f527ef441fa02ae7f5ba18eddc932cbb94ed7763b16fb7be0324b617dfc19a9e9ffc2bd38dff909e1af2ca42ae1f68b33c635a2151b73d2af303b03af243113e0bfe16deb3b73e8e13137a5eb6bf5e2c85fae3874453282d46aa03a4f68ed341edbdbeb2ed2c0bc643d81b3e965a67a12471b5e00d08fcd2d51f540359c31ecd0d8f98a9a3f7bdfe5c2955275763291f9363158330e46f6add489108038440011f973227a1fd52972d4f0a57c230ead6ee737bc6d90dc7cae8232ddc7203ccba96dfe70928496dfb1c92cfc956d20defc360d48a57c2b0e9da746af789de036fc51c977046c69f1f239a9b4aae508a4b4757043c5e41280da0dd6f85e37dd503a7f7109af61f15fd565b4efc9831f7cd953453a64a4559c8d505cbaa9edf40760327e5668aa5e8ded7d41c0b439a73ef7a0ba7dc11d8163d3c3270437d0e733ce203e4ad589c84ee2bc38934f3c8e2179d6a0d428330f61fdcb2977d9c04910815c203a8d667a37aad438ab7e76a8abeaf74df01428420e96aa7d3a5f706e42fe2be3f03dd9d177a6ba7ea907a596d00458b4e0c7244d60dba23177dfdda7bf2f615312203692c980f0fcc9a8fc9e7c3836282f21d8c429a32e110423576612624005e0021039965135eaa6008d46c0f39102375f53ef13b5d628a7c9289cdae16bfb6f9194e03405cb1e087dd18cac045dd2559045cab0a5282355eec05d7ec6a3d84a5bbde1303b9e61b0934d9a7c5b6e5c24285c559e56a7fb9467fad59c49bea73aa3da50e6d037263e857b007faf33fe3286518912ee3dc1c6dd8ebfe95a701e18292dc56edfa039dcab5a35075326f60b19bcc10d6f3f9411dce02b849e8c434c75c9ce2e7599a03ba1a17f3ea0ec9055ecfe787a3872c4096bc2286100bbc54f4ad44d45b37b299034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e0327797a638e3e55465a907a79dfa968081812587a62c7e5bbc2530f96d007011bffffffffffffffff05581e03e9fa8604833c4d8840d059159ca8316485e35a987291f4faab898a5c700c01470110d6dd62dc0005581e03b666f80f4c634966e23fcd517374cd340865477ce45f6c87eef54918200c0346721ad6b1be68031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038f5239bcd739d809220f63dca0af6fbecdf787ffabf789e487dc03d68007011bffffffffffffffff0379eb80801159b20137fdcf38c033fc96765ec85ea52dd07240d00e53d411c24905581e03d4acd14fc536b64069166e1f5048d8fc37de0a4654ba8150d95f1ffaf00c0147063d6479ffc03e05581e036ac54f470bb056bd0c32f34297d317e88a1e5da421b45409514c9747100c02442b92b3af0305d39c39dcf2139be586a6def6096bd8ccdf294c53d851b53aad82c63ac4272e039cf4100dc54b4bd5e52ecde8ef8a513d1b824d836da0dc1cce7f34b3b722b7de039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581e037afea08ff7ef7aea1f08762918f4990ee31ad479aab1d4eebe8df79f7007011bffffffffffffffff02191dd903024afcfe88d38f5851297529772de0ecbb6b1f7bd832dc97999d3fecc8685caa0219ffff0388ba00b33dd452af961e123707a12736cd539c7dd263510a0456a5d9752c5a5b0317a602f216bca561f343f00a710dbf23bc36784416bca50b48f369ab897955100219ffff034cba0124be789cf34d4f0d2b0bcf5758874c0a8cc4201fb7174b784987906c3a0366e0c466616e3de7fc9a6f04cfafd8f3de52c98812b141747d6381d4db2479a903b2fcb5ad611dbbe3f6573aff48318f81d63ba9bb4042d7b2ae8d1f3191e60f5003520671c468dc933ea4f0a4d02ca1e4d0b9d8f1eae06f71b9d5dbf27be48820d90219ffff030c42f2e2a541b6e4cd052465b74d777df708271cd00f824115adf879d654256d038242563a72d3fdbe961cc39d14a39569a31734fbd534d158eb171b08a12972e803f70da640c4297239b01d145f167549bee6c487ab759e6686ad9e10f12c2e2ab7036733bd3bf93ca45a89933c26f691a1ec8455aa1b2548179ec1177a5e098ee7800219ffff032bfcb77e137cd6557144bda5fb773b2ae76cf5a86d30abac5806aa9b0fcfa59d03fd720864a63fcd25db24aa29480d5b452edfc162e1dfcd18b1c1cb9b1e1d186c032758a0ff738098ee3ef6f1a3aa0cbec6d69ff4299a27acc12fb4ce0095f985f30352d91d21587542187e228eb60660b6b164c1d8aebbc03349772088067d1b96d4038e58b4169fe62dfd62a81453ad6f577319a3c87a02081702a79a8062cdc892510382ad8424b64d75f497a307331c5f5fede5eb937b09b11399f6946501e4957fc303132fbb28e5b785dc7b3756895580bf611cd5f6575bf4ad0fbf4809ace65500400399d7610d3c956303619dd8e47b9f60e4c31e1b8c1e1f37ccc04b8a378442b01a03d24544b64f8cd03e9c52ba0e4f645c1afa24304c4d7d62676bc1a07d821efda80337cb26c4a3341f985b3531b6425a25ea8b1c5cb32a27d1ac0d7b777ccdf0fbdc03f032e7fb482393068540bfbe0844f6d045118014e37c568dcda4811189b62b8903ba39504f02599b84fded2d3918f434225f8968b447332e5a9c3d5f5c9197719b038f61ca481833fe684a2d93d302fe958c033d7c3e49e142b45d21d18ba705e6f9034608be4a2922896069dffe53822a14ca2e94cfeb66f235caaf56127bf8a0af540306764235b6931a4fbed7033276399726053fb355e611284bf36f3f67609c396e0323b5af00f69e85df6cf2c960c8bc4220620532a8870b96049c89073461fedc1403f93eb8ca7d80044f2b5a609a141a844de4407a5ae58976292c7c9560fe5221ec03fde5675afa44397585bc86bb64ff36d2302d5e9eb5ae51b9e5336f995b313d4503a79ccb91c5c5be89db09c19cc07764fc62e399fddbc4d898e1dab2341da0ae57031d8a530f3cdb0bbdcfc98f1d9220a1f80c65db93668ed467d3d4507b702923360357bf10c31482f251c9a89b4c61ae1ce15dfa4d3230579ccdadcf4397fd2a5587030bcdfd36f0f30bc04a590365e4033bcff68c90f204f249f6b9a61d16e3c1488003d6b579059a21570fc6ce04adb6b6cd795d98e1615999d35d92cfd2f944021090030fa482e0f43ad33300daada577436396ecb6889bfbe040d5ce6b36e2991c38ac03d7fac645728d363db62a1d4b492b10952e4f38c58e22b3072e9c8e4cd2af54dc03556f999588a66795b4a2235574bafc719231b6772eb53125b93e7f7544794f700352f3d1742cb8a172be344514d29248cc57568cf59943b3eef1b2453da60e7d3c03884e5b3a084abb2808a8652b335b94bc14685851d6e32e72aa76fefeb8568de9031c9a842fbd52eefff2ecb773b0ede8dc74ee26ec560d94f67b80d8664176699503d835d15f58be195916661ea09ba5344d2fb6a7c6cf07758d5ab1290b7b3e626503536378cdfcb0dda1025faf9b5bbeea10891a087710e910df79f709ab75fe95750340d143e4c76cbd9a3aaea0b902d6616d9026c83ca89b07a51b2ec910f9f20cc403270f37e1508e3e53ca898eb623cb6fd85f833ffbf6407f5e530bc34746bcf5ab03e32834bd22785b7ae19b8468df443e96789e7c6b3abe4d84a5f07a4076ab86ea0324f958df442e3295123e0265136c10adcb8b166bcc257d1253a8882c83c214a00360f2b78282761695a0c553cb84d231afc1a15e4246ff8762c2e5e0cf4ed8ab030322c31b64f44635dda6de62d43cd6debad5614aada550dd84bac5823beb6de235030004083d0ab25ef5e7960f686f2abf2bd73626614492d438db6c0be76e243ba1030e90d6c14f93ad715a65367fbf4bbd5d6b4bc5caa50dfa9499e1d0bd326da2ec03d2d9bb6571720919dbbdfae0890cdeadb8234bda99b4cae0e17933fadbac750e03c6969088516fa4466c4ad238b7a4225d99e77b6fcb4b900aa8c3bd0dd136c51c03c899bfd91c94978369d75edf161ae8058bb3f3e2346774eb6d5311aad8fb924703cfb774e22923bb8a76e087ca099d01301c11e77f45c2effe454b64286f5bc5a205581d02bde148691b760d5d7bef0007b20bf6f6df9b9bf767bcbb5e8989c7720c044675ded9f6800005581d02b872bcfc3b1c0c9485ba59786330f35df082779f494a0575987aef000c01470872bc60a5a5da0219080803992188de28c3bf5276e314a6ead3a76dbbf7953c27314e493742122c7715a15a03a40d9d31984579d048025ee8ccab28f2da761596fc21aeb73faf7b9e53d34adc03d003169eb457730449696ebc38fcf29f40f52b4611e841cc30169f590a87273d05581e03c6fce5a4c7dcbc11e04065ae63b4f572c72a9eead2ed03bd9c6bc36680040105581e0318f216207ff45eccd7134789636b5f1e454199060826dcf56f0a01fb700c05465e336f15260005581e0395e2f5eed4aa891a54da71af398c5fb514d73fb678561734a3fbded8c00c02470121be23b08ef8033328eb6e776199b5f294a4f4e46b5eeb1ca74ae1e0e0651267b7949e415026da01410e0219d15303e90700a3e11e061625af44a872cc279ace2f364f8d9bdb6ab8e25e98f5e9602a037313af7272ffe83f4eb2f1bd349cb4c4fc6e3dbece8622990909d6ae449acddc0382eec0c7ac0a7604bbad00a7c9b104a04e0b5b1e19d07d9fe00f3e70b13635a20219ffff0385aebb67675f17f98d360de7236de98dc17ab7b04e1d51542b189b32a7c6721403035ed31900d4672a57552ad060108f17423b6f733fc3adb6a7ea37ff4629dfdf03972e5b1e585d2c88c049e29107a0ffd593cee6035c7d92757235c446bbb2e2af03c592db23369ac217300434ca99aaa7a9634b5c32799979cfd9ba228b127125150334ed04e178ea01d12650d284fd5b4ce1382b98c73234f2ec725ab63114eafbab030206e2f08705d24fc99a659996760ebaee14cc665577a98a3205ef01b7d1bce80219ffff03ed320d5510806a657c8e38e75d6d849eb75b6b96128397d00a5688d700c02f710219ffff03b95e9e6c02f78149b5a52d3e1ddbe8c635035d6ed6ad02f0c01a401bc3745fed0343d672e0c06a244ad7192d36e914c02a31f70a27cc2d2cd409c05645b2d5680303c9f904cde9a57d7c89e7ff35e48115fc18661c0b49850ebf8bd0ba865348f38603b544eb2d3e0529007b250d9d160b952828f862fb1c949088750491eec64d145b03fdf490d0b1b2b8ac9795204aa36f3a448537766d31992ad45315275e72a54a7003777c5f84ee89abf3ee0e4e9631d747bd4559f49d158f84385174b0d24983e00d030905690c2b2213f7a78327aeefa80ea5de39ab44edf8d62473ef2c0433d4e39403b5a6b65e6f8f8f2795bb6ebfeaf009cb490c36ceeb3786942bdbb87d0cd699e9031895d2a3fe3f92a9ff1f86166f1fdfdc4622659dd0d6060578925201386bfedc03193159e64135975229c516b4e24c19d0489dd0bead6497472c2a78ca901033c403bf7012db73cef493ace98933b9df8ec0a9a247a9ef8b9b553be1cc50099396a30366a75f0b84bb640455f5ce663145ad41fb643d562c7a9531641e0e1d7dc68545034478d779e1de2092bb06f66d7d57e0c91067fa6c6f96fbd950a2fa48223aea970394eca2874bb66b8cd7d9388bd2425c35ba3b3186438843100e4d8229dc01dbc9030d9f837a0c2df73d7f2a64e0ce5b921c75fe1bb77f57a1b84d1418fd43fd7f6303431daf1a11e89de8742db9b39e420dbeca3f55b7532c7cfbbd605b76ba54d8de03d20f4902cf4725374cf48f47da12a2c17fada24ac19c4d9d9c6452ac7e730d9703bd8cfde80191cec76367cd42b6439de1bfa8d2d3fb4ad859561e80a61f329fd503ce36cc30b1bafecd1c17c729e2ae9c1abc639b5b4bf6001b6a70e819f9aa1ded039efeaab43926ea40c688541e7a766eea543b80ae700993744fdf3af462b065d90309464e6fe1517719b4cd4b952f50a7bead6135224548530986719d11d58193ba038d2ef4a38f93c970c8516cb67ff53783b068bed9d89e05519d3a65f0d9d2cc0603fac3b2dc90276ca079958a87b3dd27bea2c1b3022f9115f54078c1d4b78411f503ff293e5d338d97f109060ad6a1b097db7b1a33ddc4383bbcbd993b916e2a4bae033dcf86bfc56b770964a01039d234a78c3dc63fce83d798d9e681f27d1ed914bd0306b44abf45bea4cfd18ad99750cdb70ed0576cfc78b67ca354d420979c4253e60399814c999368f10b7397d87cf6f663c256daa71e0fceedee9cbd756a2912f187035a0eba1a8b8d0a3b26d668cd341e0d36a88a3f740031f82f5022ec3857a8fb430349ef6969d0368bb66f1bb2e112ba9914fe0e95e4802f33e9f99c3a9dc72d12c603ef66b0cfb75d646eaae4210b55cb4478be4ae236121eb752f85efffb090d09ac03924f36aa5475188bfa74e307495e9d7449d895dc63bdac299e4f2229d791b0cd03680d4115fb5dce769c3601aa5f13b8d3b431217bae50e125e2c1a406e6fdfa7b03700a5073920db92aed8b6399debfa3c4b1ba1ff3dec9b24345c3c1fd15cb7d170605581e03f4dce5cc9014cacb5dbb7e6c2c63e5a27c87c575aa5f9fefe40f3232a007011bffffffffffffffff05581e03107f8ac94fd358cde521d9cf349359df2444e7525a44b6fee80be230e00c034701f08f8d3570f0036e195bb4469f58e69443f2bf4818a5a655a0fff3915bb6dea03901bdc59b4640032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942031aa593b75e9badddf988da2b0652491a570f511942f8ee9bab55951b234e102a05581e03015300ddc8cf96e7baf8a0e7fec00c553f347797b38134d65ff34c2d3007011bffffffffffffffff045919366080604052600436106101855760003560e01c806355de59bf116100d157806395d89b411161008a578063a9059cbb11610064578063a9059cbb14610478578063dd62ed3e14610498578063e345ceb1146104de578063f887ea40146104f357600080fd5b806395d89b411461040a578063a0ed4d5d14610438578063a8aa1b311461045857600080fd5b806355de59bf146103405780636c0a24eb146103565780636ddd17131461036c57806370a082311461038d578063715018a6146103c3578063893d20e8146103d857600080fd5b806323b872dd1161013e578063282655af11610118578063282655af146102ca5780632f54bf6e146102df578063313ce5671461030e5780633eaaf86b1461032a57600080fd5b806323b872dd14610274578063250b1a7414610294578063259d18b3146102a957600080fd5b806306fdde031461019157806308fd3d05146101d3578063095ea7b3146102045780630faee56f1461022457806310ea31e01461024857806318160ddd1461025f57600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b506040805180820190915260078152660a8e4c2eccad8b60cb1b60208201525b6040516101ca919061165a565b60405180910390f35b3480156101df57600080fd5b50600d546101f490600160b01b900460ff1681565b60405190151581526020016101ca565b34801561021057600080fd5b506101f461021f3660046116bd565b610513565b34801561023057600080fd5b5061023a60065481565b6040519081526020016101ca565b34801561025457600080fd5b5061025d610580565b005b34801561026b57600080fd5b5060035461023a565b34801561028057600080fd5b506101f461028f3660046116e9565b610626565b3480156102a057600080fd5b5061025d6106e8565b3480156102b557600080fd5b50600d546101f490600160a81b900460ff1681565b3480156102d657600080fd5b506101f461078a565b3480156102eb57600080fd5b506101f46102fa36600461172a565b6000546001600160a01b0391821691161490565b34801561031a57600080fd5b50604051601281526020016101ca565b34801561033657600080fd5b5061023a60035481565b34801561034c57600080fd5b5061023a60055481565b34801561036257600080fd5b5061023a60045481565b34801561037857600080fd5b50600d546101f490600160a01b900460ff1681565b34801561039957600080fd5b5061023a6103a836600461172a565b6001600160a01b031660009081526007602052604090205490565b3480156103cf57600080fd5b5061025d6107c1565b3480156103e457600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ca565b34801561041657600080fd5b506040805180820190915260058152640a8a4ac98b60db1b60208201526101bd565b34801561044457600080fd5b50600b546103f2906001600160a01b031681565b34801561046457600080fd5b50600c546103f2906001600160a01b031681565b34801561048457600080fd5b506101f46104933660046116bd565b610830565b3480156104a457600080fd5b5061023a6104b3366004611747565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156104ea57600080fd5b5061025d61083d565b3480156104ff57600080fd5b50600d546103f2906001600160a01b031681565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061056e9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146105b35760405162461bcd60e51b81526004016105aa90611780565b60405180910390fd5b600d54600160b01b900460ff161561060d5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105aa565b600d805462ffffff60a01b19166201010160a01b179055565b6001600160a01b0383166000908152600860209081526040808320338452909152812054600019146106d3576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526008825283812033825290915291909120546106ae918490610aef565b6001600160a01b03851660009081526008602090815260408083203384529091529020555b6106de848484610b29565b90505b9392505050565b6000546001600160a01b031633146107125760405162461bcd60e51b81526004016105aa90611780565b6000471161075b5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016105aa565b60405133904780156108fc02916000818181858888f19350505050158015610787573d6000803e3d6000fd5b50565b600080546001600160a01b031633146107b55760405162461bcd60e51b81526004016105aa90611780565b50600354600455600190565b6000546001600160a01b031633146107eb5760405162461bcd60e51b81526004016105aa90611780565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006106e1338484610b29565b6000546001600160a01b031633146108675760405162461bcd60e51b81526004016105aa90611780565b600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156108cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ef91906117a0565b6001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610951573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097591906117a0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e691906117a0565b600c80546001600160a01b0319166001600160a01b039283169081179091556000908152600a60209081526040808320805460ff191660011790553080845260088352818420600d805487168652908452828520600019905554818552600790935292205492169163f305d7199147916000805460405160e087901b6001600160e01b03191681526001600160a01b03948516600482015260248101939093526044830182905260648301919091529190911660848201524260a482015260c40160606040518083038185885af1158015610ac5573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610aea91906117bd565b505050565b60008184841115610b135760405162461bcd60e51b81526004016105aa919061165a565b506000610b208486611801565b95945050505050565b60006001600160a01b038416610b8f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105aa565b6001600160a01b038316610bf15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105aa565b60008211610c535760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105aa565b601554600090819060ff1615610c7757610c6e868686610e30565b925050506106e1565b6001600160a01b03861660009081526009602052604090205460ff16158015610cb957506001600160a01b03851660009081526009602052604090205460ff16155b15610d0e57600d54600160b01b900460ff16610d0e5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016105aa565b600d54600160a01b900460ff16610d2a57610c6e868686610e30565b610d348686610f16565b15610de8576001600160a01b0385166000908152600a602052604090205460ff1680610d8557506004546001600160a01b038616600090815260076020526040902054610d82908690611814565b11155b610ddf5760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b60648201526084016105aa565b610de886610f93565b610df28686610fc1565b8092508193505050610e0882828660055461103a565b15610e1657610e16846110a8565b610e23868686848661126e565b5060019695505050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600790915291822054610e81918490610aef565b6001600160a01b038086166000908152600760205260408082209390935590851681522054610eb09083611370565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f049086815260200190565b60405180910390a35060019392505050565b600c546000906001600160a01b03838116911614801590610f4557506002546001600160a01b03838116911614155b8015610f6a57506001600160a01b03831660009081526009602052604090205460ff16155b80156106e15750506001600160a01b031660009081526009602052604090205460ff1615919050565b600c546001600160a01b03908116908216036107875760148054906000610fb983611827565b919050555050565b600080600080610fea866001600160a01b031660009081526009602052604090205460ff161590565b600c549091506001600160a01b039081169086160361100c5760029150611030565b600c546001600160a01b039081169087160361102b5760019150611030565b600091505b9590945092505050565b30600090815260076020526040812054829084906000838211801561105e57508383115b60155490915060ff161580156110715750885b801561107d5750600188115b80156110865750805b801561109b5750600d54600160a01b900460ff165b9998505050505050505050565b6015805460ff1916600117905530600090815260076020526040812054905060006110de836110d9846006546113cf565b6113cf565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061111857611118611840565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611171573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119591906117a0565b816001815181106111a8576111a8611840565b6001600160a01b039283166020918202929092010152600d5460405163791ac94760e01b815291169063791ac947906111ee908590600090869030904290600401611856565b600060405180830381600087803b15801561120857600080fd5b505af115801561121c573d6000803e3d6000fd5b5050600b546040514793506001600160a01b03909116915082156108fc029083906000818181858888f1935050505015801561125c573d6000803e3d6000fd5b50506015805460ff1916905550505050565b600080600061127e8585886113e4565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038d166000908152600790915291909120549294509092506112d791908490610aef565b6001600160a01b03808a1660009081526007602052604080822093909355908916815220546113069082611370565b6001600160a01b0380891660008181526007602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061135a908a815260200190565b60405180910390a3506001979650505050505050565b60008061137d8385611814565b9050838110156106e15760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105aa565b60008183116113de57826106e1565b50919050565b60008060008461141557600d54600160a81b900460ff166114055783611417565b611410868686611456565b611417565b835b600d54909150600090600160a81b900460ff1680156114335750855b61143d5784611448565b611448878787611456565b919791965090945050505050565b600080606484156114b1576001861161149357600086116114785760006114aa565b6012546014541161148b57600e546114aa565b6010546114aa565b601354601454116114a657600f546114aa565b6011545b91506114b6565b600191505b60006114cc826114c68786611526565b906115a8565b306000908152600760205260409020549091506114e99082611370565b306000908152600760205260409020558561150d5761150885846115a8565b61150f565b805b905061151b85826115ea565b979650505050505050565b6000826000036115385750600061057a565b600061154483856118c7565b90508261155185836118de565b146106e15760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105aa565b60006106e183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061162c565b60006106e183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610aef565b6000818361164d5760405162461bcd60e51b81526004016105aa919061165a565b506000610b2084866118de565b600060208083528351808285015260005b818110156116875785810183015185820160400152820161166b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461078757600080fd5b600080604083850312156116d057600080fd5b82356116db816116a8565b946020939093013593505050565b6000806000606084860312156116fe57600080fd5b8335611709816116a8565b92506020840135611719816116a8565b929592945050506040919091013590565b60006020828403121561173c57600080fd5b81356106e1816116a8565b6000806040838503121561175a57600080fd5b8235611765816116a8565b91506020830135611775816116a8565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b6000602082840312156117b257600080fd5b81516106e1816116a8565b6000806000606084860312156117d257600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561057a5761057a6117eb565b8082018082111561057a5761057a6117eb565b600060018201611839576118396117eb565b5060010190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118a65784516001600160a01b031683529383019391830191600101611881565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761057a5761057a6117eb565b6000826118fb57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220ba81bb724b506212a7f6dfdb880e4be57ccf98aede50010d50ef73a90a68242e64736f6c63430008130033005820028856769e26a8479760ae936ea208c604964ee24f50afd0d7bcfc1e260682c54aec0ab04e42dde269ce500058200275b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9544d8412657de85ae6fef885307fb1837dea2a8a60005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0493635c9adc5dea0000000582002cb1ec019b05d0a73a4e8bac08d29acfba4cc1d71cc342fa68528fc2950561f4101005820029622ffff39779aa2ad43997c99e8fa17ddd51a6392c60fb3d228b0ab4dc6054b01279d1718d7d080e98f920219804b03180fde14ee0290287ca13ab162b3aceb9fd32103f157e888996933e01b8004710058200291f2ba9ee17e99ed0cabc3b8dea3649a0e1dea4b7dfc97255f2fdf37cf67c14a9fb42dad63f7b77ba48a035db6675c1b747d19b3fd88347cbdee24f727a9c5cb0239234a9ed00bd5bde412005820023d7215848a6a7a9f5163df2cd8d253a1d5dfd9680c768659a67ff5a8ec21784b52b7d2dcc80cd2e400000000582002b2993fce4a44ca3a1a8f40a57eb28df507fea964a7a81d0df7018a17a5c9984ac45a0a3a1f4fc0e083a60058200264dc73996be64447cec81737f9ce7cbc1038024a62c064f28950ef710a38d54ae21cafac5e78f0349cf800582002ecd7dd715ab27ae454290eae7479a1303eddf67d8f203a11eb37bdbd56c7fa4af41e819ba7b6fad1a8a30219a34400582002ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68410300582002ddba9ffa3d594dbd7f7786de45e36b1d2ac7057bbcbfce4f114795b5fbf8ac4b016b2f93ac8669e8bf0ccc005820027213ade68ac78056b27d14eee94be78ad717625d6c7bbb50543094ac833fab4b014924333ee1bcc2516337005820027748bae568bbfd37d65de6eba05e7f29d52ac4700475f4cc25bf7364759f0e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820020b9ef6ca6bfe83d01fffbf0bdb4564d1ce5ae0caed94ad31a9a90c55a200804b013a6ec2f8655adf7a4fb702192612038098676a9f409be00de1ca1b7d3b01a14c9055a06f605e974019070f8cf869c500582002ee1fbcd749f452c083b77286b5980ddc74872f2a06e6023230734d13d90e1e4b017a3d007ed661bd279df9005820025d1b64df61c1e954936fcb42d554054eaaf11938a4d737dc00ee47d9bdd1a64b0263239f92528c969a37b000582002aa54ecc7a80d4aa40cbc256bfe9c6834261fd1c1c720c65756d89173328a834b011f89a2f8324d7cd855ea00582002e1b2a2637ef211063eeed5a0e223296d2fe8aee448f23320a9e36b6f6c00845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191282005820027bd236962c711450a419ceb50f906bc2bd265b1df8b4ee82fa5801f4766f594a5f08bb8b79bead458bb300582003101b6dbcf25305ca90c60b344b754f92a36dd33e80478a66eec813a236c6b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900410f021920800058200223e5e209ba129413530b6cce939e77e5f73bae132e3601bea04fcc500e2d2d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820023ef331a80911dc6c83667930d39f6826c1847c166da873f335c36a20fb2cc55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021905440058200265cd878746ab54c73dc1cb3b995490f6d1014001472e52abd9a2dd190e05f44b23fab32d75beb14c590a120058200272dc51dc05491dda2b1456906b9f54594e876188cff7ff90dacc1bd330ae8d4b0152d02c7e14af680000000058200257557d0734c01e58bd4f1346f63917db25792c622de680673c2b99d01dccd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c00803d5016dcbb7515c58fde2a0d4cdaca725cb520a5c82ab1dab6de33fec8df65f2a0058210319727713b83c6775548d2fcae8889aac54a7ea632ef746c455e7d4b70336f2604a36d2c8a150ff8e6d7fcb005820028bd16594900685de5524a430148f38d8d8972320c2d8d7a2f05691006a45165820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820027605d9511201ecaf4fd9125400b9fd13dab8fedc99db0c1fdfd645a0d093265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021e00b3e64484ce47e7e30797f424c629de5657bc1bdd93f26544d1f1e180f241010058200247d5a08d997ca8c40c93331f7e5bb7c9e017b45451410ebdffd0bc222732074b01759fa9993b03b977daa003f0d5aa58e958847cfdf184e2b53eb1d4f42ec27d9c446c2e22f023454e605ae10058200230c0b04bc8d8aa9e7dba489d41634343baff18a54579e723bf8cae778727424ab2506bd828179185305b02196930030684ec686ad3b78881f4757e2ec8779a0969573b82ccd8ba4a022834dcfb12d200582002ef4aa94ecd3aeb3b391a14ad76ef9712381e97936e8e3b7965e516891e00ad4b01b20058e30e3e77526c1e00582002c9d856be87bb887c6f6a47a22d7025d95be28429774adace55ab4613163585410100582002c91e820822bf5fc4b5d1fa520a85373e8540e2d7f71a3f99cda8610576731a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026c2861c85ece1f0861e0bfc33bbfe75d5df7e49d00d7f448f8c0251331951e4b52b7d2dcc80cd2e40000000379b70b8e1579fcfc139651290b85e8d8d58909e40e75629e015f9d53f80f837600582002621f8d0668f096352876fad144783675864cde67f03c99b7ee283077e2c34e4ad3c21bcecceda1215f9a0058200399f5453924c4e690d38b04fec0595a10ab5c5f76c47217a2ae86a418908f604ad6254fa7aede06a233ec00582003b4c744ece2fa7b094c2b76d99ee53afb59b0e43c8362859d4e748453a92fe04b0175aa505884b34237b38e02182802196ca6005820026365e2069f7fda921b6a85ff2c1806d6e0009add708c709632e2939eba6ec45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d2b52c5b8c4db5a6897ec586dc005df7ce03441873d04115692c80df36f6737400582002b069dec98696ea7fec3a3a9e75f860f818b6de004bf75809ced5d5c77cafd54ab5bc073398849b62332400582002fb0ccb981fc9c9ed37de14315981af9e613e62e7229f3348edb0c4a8a92aac4b0152d02c7e14af68000000005820024e3facc78d1215faa89ee477abfbdf55ad9eb5d191bd6876dfe65a5ecfaf7f4add1de07d891a01cafc44005820022adc8148e8e1d7be362a69605eddf5939bfe726b85c268f47917e62f4110eb4a6481c2202e91b2bf3ce7005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec413d0219742600582002c35dfe1a90e15263938b06a7ad3672d674669ba3880abb4df405e5ffc80f0b4b015207fd5b1c7872557b7f005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50570101017a250d5630b4cf539739df2c5dacb4c659f2488d0058200328a480992eb15867aac3c687683d54c7e4246798c18ce2f7a50d5f9b0b1a905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219480003fc8766b0c16dfd7446389d7a5370a4d4cd3613e87e4031d871376988c3c557a20058200249920b4797a9f1bc24cadf96ad4161c2462333c2994894bf2c57351faaf41f4b061cfb1a46656c251301fb0058200204fff2662057f026701b20b366d1db7076036042f14090c236e7f2db5ebda24b01622ab04b02740346965300582002403e3c41064598e396544fc5b34115e85eecbf8c2e7eab6a7eb3cfe9e873725820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7545772a0d261d0b459971fde3bde1dad78b1173b020219dc8203377fedb6b0629b12d1af5f9bfc784714b0c3508b02fe59b6b01cd917a01b2f3500582002acfc96162fb56304ec6a808ba258f6a8aa98406aa7f1c248c4efe9dcf953ec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f4a2a5a058fc295ed00000000582002ad38ed0be52eade5da4e24a702364025e560c17242cf7119242a4487ae75cb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021920420219ffff05581e0347c463f6a0954267d27ae25e07dea38daca96fc86f7afaa9915a3fb710070119193605581e031e42d3f67f0374dbd77a1b8f4435d3c205df7e37eb017cd7348ce3a87008472f6e5d25a5aa9805581e03aaac78dd569be80b9202f49dc827172c5fd37bfd0249f166a4ca2cdba00401032ed7b5c6987bb8b2f8ac3580155c7a206788a0bf7c7b0460e47490829c81d832032b3d6dba3d4187946004a8c9cd05df53cfb82f2b64e3ec386afca841a2fce49e0219c97903efbbe854bf55414b047e286623e42ac5faf11f16eb8b085a643adbc2dc090e5c030c5db3176c460a27150deee710fb512bcc9e3af1aa57dd4b1b165d8757187d93038a6990d87e9f8c60584b9966efb5ae1d88564a264726f2cf6f4cce4ddf80d774032225e0031f661eb507b76e9462d9f3fe1d6494c80c3eac0a70425f3efb62a56c03a82c1768d75f31c13c0cc611bfb483b119525a16169425304a90860b8adbf3bb03b4b05cd6c172345f67926a15121909d5513956ddd37730febf781242ef472bbe032ec5f89f698eaf32a5be35211ecf60f86b2e76adea661550236cd31cc964821e036c2065b5a22dba4f0d46e21e91d24f35a7e406d3157427f42438565e91c6ea39038c39520e091686bc45cb87e6841f9ae5c4dd484ccd10723b3ffbcb159cd60ff60384195b083d45d619c1605509121200a5f77ab0047c585e758b49259401d625610219ffff03213905aeb13defe9b67fa79a06f5d17b3cdad7050c6cc4533641b8583bcb8410035e0c2ba57a074bfb5132b02509e5a2658cdac7a7b839f82dc2b95660d80eb0b70219ffff03538f60bd8bdd7154427ae3b70c10ed0ae4b25dd8fc7b8d75d94ac0aa65c18f070312a0633551b330b3c88ee506c0ad90c722c249e0271078f4e0cecaf282c1b28403791cd02a9cb97a931ce343fcd6d14e79e4dc3dee69471b97de156e0ed19782d0037f5c48afe0852895408750c629cca877b39efb70ebf076106f445646bf75b93603a6ca43c03987e1c3ed03be2627900ebc4693743d119fe1b06d2fe15926e2e6b50219ffff03f083d15a28b2720bdcf182530e11d866e38136c953f75a4688122f704c79a1330340153285a4250c4c89a60e85cf47c054b9a532eb3bd5299412814cdd1b38da2003f67d2c00a96b329a95f3c8c96df5a8bd4166fe991cf29beb636490cf6593922b0219ffff0370330eb9aa1bccce12fe7951e9cb361ba5d0ec68f5e0efca64f5e9ed0bc3247a032b12f59dfe46bfde834f96bc5f21ecb715b2ff150d7387d13d1123d547aba55c03df067522e4d154c7eae2d2d88c771ec7dfbfb3a64fe2403206f5ed71ef467cbb0392b64658597cb81053e51e7f7b4103a2fc97357f397f41d2cb335e067f0e9f3d03b01218e6232617ac9055f83774c753e487f56bbd56d9a89b933e89d0c370da450353166fb9d36482cca14dae13f0552804bb676a10c3c2318626b9d6daa99e1fe803880d0e8d41563b03ca4444a38e5f7659a66be2929dcebdd7492df72cd41b4b620373aa4dda6f9a203fcff6a860c1991651da98dc5f4049f901f394f8a79b4f9029038c71936dc03c6a7ef6446d23b4d46bde07e8ef3e84d7861610c096a1c5303d2c03a039bdb00d3cb2c8d46b683cb24ae3da8d154a0a65dc8a9accdca3cad893cb9003fbef761fb744514530ac5aa65fee29b8ea5fdbc0cea1d618aecb96b14b666d960333b033d4c00b7f9f3775496cde9e7e9dca960c49bc36c8b365fab09c6f83377e03548053d3b18b35f8265951e0c3838df4fb983d04e5889364e71a95582227c8320368877c1d6ded4d9a29c04430d3e13616853fc6f73a67edf341f6d7942f3e05410362d30378e0a3a0b73417aed166067a2385782cb5efb791de7bf86b64efdecee3030a0d86452433fa289ae257ddc5eba9e80aaa5ac936f9ff2e0e5d71ae6b375e4903412a5424304a3b67da46aa7c7a818647b4fcb57875c71850ef44b7f8ffb8577803e026ffcef537beeaa65f8d141a84dfc0ea2d0245c594577315d4efc39ad9490e0376f53d959383e87c54b7fd43b197f853c6c10a796cfe264ee63820c794e4612f03fcb8755eb2cf5b18978c38e8e9c41a06a9c26d9846a3c1eb192f7c88d90e768b037b740868a2612b7c741f25132c128f7d383e5fc5ef9dff1020207af904c5c8f6033adce9d9a39e42bfd645069e1e78bd5e1b77c87d415a7f7acfaeaf37cf800d860302871ec39bad31811b73e97cffe119bee7eee6912ca5ca04621017af3392e6210374e8235466c4369199b1f738cb9c41cf7778ea3a7b578c73ed06c25a89ea58ce03e97eef037d15ba48b4b652000752e7ba4099bdee9ca6b8e0286a2e47d2c8b3e803511e2b018336242274903b1ca3387a72cd603f3f0084a5232f967ecbb6e6a8ce03d1a3bd83ea39d089d8a3c07d88633c84ff4904b449b1e0c5c04b5e094940b91e0326be420e1ecb53154fcdb67b6a7ae824424ba9756e26150e4a4387549768013d0314d772d4f27915cd608a9c5b2d9490401aebe6fc4790d01867c6ff04b7789fe0032ae0c95aefe24f0e0db3037dc15cfd1b5e8fab02ff3932105fde4fa0ff7ced33031fede907284a276385f6c6716b7c34d3ba3a6b12dbe317d96bf8cba3f5c9b84f0362aa9495b4a6bc4d2a864ef9d70c9759211ddd92908ae8b4b74379bde801e8d1031035e76693d278654d17825834123167b37fa45a1d28808fa701fd0db2894cf60360088b2530c0790a2baf59c347e7b59d2b457030591092bfb622b2026fbea7af03c18aa90560f6bb599ba7abc83ecfe88d4ffe40726ca93b0962cf16648d1a273903e735826ca3edb6f39cc48917bb513caff0386f41a463ec24edeadb099bf37a1e034802b68f1b18ab511528cdbc9b7e97c17b51e7a519cfabc50d07e13e0e8fdce9030dde01c2fc3c9b59b94821776a5e9635dcacbbe0436c0000595608df11156f0c03610cbf66b30e344a369631558bd86713121ebcf788b658514d41753ef6f049460384f7b95777e97db554d6021858a6c4b8c6c5f4bd63649d5ad93873851118e7dc03e52a3f3e80724d786374fdbed3e950dab655bd684253f063a334c7b704ed925303e8867f002806501a2a86fb18eb1885b58ab6a41bcc0eb8e3dfef4edff118c0eb0348ff3cd50915c707f6ab148db87c5bd03e5196deb722a797c7bf28b3ccd8a0a705581d025f8bee802984e98894e244b70296ed62bed93b795dfedac16615a54c0c01479b2455403d7416045908d560806040526004361061004e5760003560e01c80633659cfe6146100675780634f1ef286146100b85780635c60da1b146101515780638f283970146101a8578063f851a440146101f95761005d565b3661005d5761005b610250565b005b610065610250565b005b34801561007357600080fd5b506100b66004803603602081101561008a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061026a565b005b61014f600480360360408110156100ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561010b57600080fd5b82018360208201111561011d57600080fd5b8035906020019184600183028401116401000000008311171561013f57600080fd5b90919293919293905050506102bf565b005b34801561015d57600080fd5b50610166610395565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b457600080fd5b506101f7600480360360208110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103ed565b005b34801561020557600080fd5b5061020e610566565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102586105d1565b610268610263610667565b610698565b565b6102726106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102b3576102ae816106ef565b6102bc565b6102bb610250565b5b50565b6102c76106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561038757610303836106ef565b60008373ffffffffffffffffffffffffffffffffffffffff168383604051808383808284378083019250505092505050600060405180830381855af49150503d806000811461036e576040519150601f19603f3d011682016040523d82523d6000602084013e610373565b606091505b505090508061038157600080fd5b50610390565b61038f610250565b5b505050565b600061039f6106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103e1576103da610667565b90506103ea565b6103e9610250565b5b90565b6103f56106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561055a57600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156104ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603681526020018061082f6036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104d76106be565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16105558161073e565b610563565b610562610250565b5b50565b60006105706106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105b2576105ab6106be565b90506105bb565b6105ba610250565b5b90565b600080823b905060008111915050919050565b6105d96106be565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561065d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806107fd6032913960400191505060405180910390fd5b61066561076d565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e80600081146106b9573d6000f35b3d6000fd5b6000807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b9050805491505090565b6106f88161076f565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b565b610778816105be565b6107cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180610865603b913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050818155505056fe43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e2066726f6d207468652070726f78792061646d696e43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a2646970667358221220b0503c23d64d00872f309af6ebc439401f4a3a5289bbb698fa4e5aabd747642664736f6c6343000608003303b4c238f1ed52609f79742b3e654bdd8b5cbd357988671005ded96672b4e4c406030d9ca46e8f0ced76fde1ba2f14b63f6a5e603e667e3eb03e2cd81bbce3bf35d3039c7c98785163828a549e29410c2605967cc33e9b81fb683fbba8fed092a646730341855195ce5a8c5455b079d620bebbd6f3c33fa4d2494000597567d44ad467f403ea5ae1964b6cfda27248364f3e1d17f11eb7b997d1d1aa049a6bddec50a76ba503c1b8ef791b7123730e0126d0f9ebf7e292baa9174a694aecebbe6f990394048e03ed1480dada130e3de5f76a9c90a0ca46090fc630183042a6aaa1c1a4ae38cb37030bcdf9277193ecfd246fe7b80733e620ebe290a33315874e0279df097ba98ef903b17513e6271cc0add0a27d400b3d7319133b41e8397936649257b6338d17b79803589bed0fee81a1441338cecb89d2039b6ab2b96aab069f11a8af6ee7392f0be703451c8a0db91a1771fe93eb47b25209f09543840e1020c3ba1848e7fbd04bda4e03d6020c707b95ca530fce7faafd2653773ee29039cc6cfbd6bd5208f96ee1eb210371a9e3d346269ce9582d42a0637217410055f3201a8a5ee2b6576fd231d3f83703d9d7562d5ed839fc7b68bd25396566614f894f5340cfd35a1bc20dcab4d630f90310537e8d278652a886fbfc631db0780028c54b12d86a356ebac9b73cdf84195a03fa329b84beb0a1154c9795fe976d4faaeaeef1aaa7f8dbd4c7b9a1a69eb0061103f04b5e5621896ce1e59251ca9e1043dc412bd11d582ab32e723ca01d71469f28035197cd5908786e424150d357444eecbc0d4490158ea3591a5282f90cd155a4bb031610c8bf23b989ecdb369d6c68ac820541da247a24aef303d758c680c7abd8fb03d5a7fb18f81e56d4c72724587dd8346bf6d26cdc2b87a9ce341e764adb08e21b03a4f6ef2d303b20982bf3b2a6325e071cabc4e52fbb1c43c2a8fbad0a3cb93ba003e9a9070077eb6949fd6adc255cf5640a2f597f0167b8567ca27694fd833a325c036701bc23d9fe866d1a6e3f38cbd54b5835be8303ef966f3907b76096c6b3a293036b36e9a6f50f8240e9089539a73edce1d8326e88589cb748c68b059000c6f73f03fd1f80ded81b2c8e03e036e40cce6480712ea1fbabab6a168c63a6d6735ab0dd036badd408919192fb98d00d8a2ac3d2ea68b60b768ab9913b5f4b5f06abdb2097034bcf03ab1b7d9d0657ed22346eeaf3d0cce3f068e9252cc73b89b190673da114035e4050edd03b2c691370f229fbd643543db75202ba1b3a9059e9c929ccb349980386f56ccef8f4e1b2fb5f2fd7928976597c2d6551a556747c018ab7a9f39a9b920334f8339f6da9100f46672a922ceb49a8b49325570c679f17fd09076ec46590d400581f03abf2c6ab37b458b8f7116f0cf2e01cd132c87afcc043f04ab5681728451054d123d088e44865522b322d1d868a385ae54373bc00581f03137a8d23fb50e03414b745aba0f51c9c8559d7cb5936624ac165128f9c0043055b74034b3bcb888a0b36479cfd4958b9f2a59bc56fe791efd90ca0425accdd4af78f2c00581f03e160d52bf40e0bee790d93392c9315f98b5f60b48e96f00d2c0f3ccab20054dbd8fefa7f919825c22ab1a1ebfc5ce51340f1bb00581f03cec3808cb1469929411d22d8155bb35e09d0022cb1151a26ee57ae0fe2d0548c887f5bb486cb64171e9b2ed5ac7432ab0daa3503b636a33ceb6fad77292f10915217b04e6837a13fa2741e8c9d054f06a9e59f9b039fe8b5505be517fd798affb76022d593f2df345737b9a92a7d8697920ce8925a0314f287918904cfb5e2e75560f034d8e3efddc7358f27f9f23ef90951a5c4adb403dffbeec51854f7a0f9271119cb45a3915abde5ea97ce05c5883d060e69d78ec50219ed2c0219ffff0383c6bde5babaebd8a0259448bb99197ff9add8ae35fea461d103af31e265c731039e9b7703142431588c07000908ab18bcc9356de7efa14b765cfc00eb9558b7e3039eec4a81557be1e6e2d32a3aa06bce2acdab542a05b0e99e15ea018cba400700038394567a42d1df654a358616808b5bba7be2e0fa2820b9d5e0a99c16de0bc9ee034b9d30066115d0b57988f72f23916a63567060b14e4f8e3b04c1196db041890003a5f75089542f7b7df7909aa7ef78d9b3c59e6bf8bd5d0c17e7e840f90445b8ce03b6511a9396d444ba2509fc7c77c439d3c474909c87ad38278353f7f0a142292303fa0d1d675a704bfc19cc3e02d479f7859d5a3538f1a3ee9125b5af58f96d406403fce8a38f7138e970f76a9ccf057ac8f519bc50fce9c99a439d85795dc1c87a830219ffff039cb00f6b447c17743560fa0e14970d4a99f9fdfca84667bbf1a1287569d0ca31034e3288d3690d95f5416daf30d3016a248a9f400f618a0a1499478cb8bb2a46fe03d2f75f471d217333298c8f14ff0af20a4448bb2c05db6767b5877b83152c52a103e7b20cf98599f828454d80e462cac3a2f4e3bd63b46c2cfec2b62ac22bbe4ce303f74f83688f90b097a2578d006c6ea4b268f75ffd7d92ecd7b67c683d1feed56703357ee72ba2e736b453582a2036a5884626b8d895f3ce2d7f9b58ef72d179ebd7032d76e1cd4a00fb0016301a1251ac023fd946eb769427c0e1470b3724dd9a06df03c3469bfd89b54316c4c06115ae2b7a9bd967e6f71dc333f8be081fb644c8568d03f89ceb75d2d5ca3437d56d8cfbbeeb4b6951e5ef3b97aa9d14a80a30fffd785103037016232a65cb60ca4b224d2dd2685302c60ac0eaea74ea9e082ebbefe2fbd603db203521c6d826242b5a1ae327aa44e6e65f80b493fa75ce0d7ad3a977b0e66403bc71edc44538a53272480c11acb9d962d6f6659e5f459f665eefbd0db6413196032652e26050fd36e6b60ec6cbb21e12ba0737fd4d4f00fbb9c0151f3e5b753f7a03bc78e55b10d8bcc278f2f36a20b16de7263c0e9f1ba5eb9e5cf8e49cd6b98a470304e99aca42bb67f18141886fda46022f5a41af6a93fcd351f221bacc090af7e703ef156fdd72c9fb2bd0a78903e2392c8cda66ddfd7193932f422cf1c4dd423378032190bc0cceb50ef28c8aefe655198cafea5d0aba96724e2de7a537986be7d7cc03891c364f78dbf73162ef3c7615cdfb2dfc0f2a1a347e39509014506a34ebb5e3030429e11a6e5c134ca7e38992156eaee7f8c3cfbffe99ad73c8d20e4117e74bf60328248be280c1f07734340fc85c2a431a4d2bfa89cf3a66f2be4d6100af5d68400391891eef5b871902d97635506ad7f60f21fb9a64b3bfaff1835ef32d111dd0bd038efcb8387931dfac16a07d66502f15d95e1d52bd5268afe10ed68e400896a1e80313283350dcbfbd49cd0c7d24318187bf17a5aac813dcb1e2fc7af80f1e6719bc03d9a20535b4cc67584e51f5f28f03b25e03516ffabd61fa3a7d15db14bc86d3f803e8e83733a5cbdbcc3f73c0b712fb5196a9699a95b8c634400720472ab9eddd7e03ce9f80181b339f4a68bf0b38d241497fd65f2b408c2406c5d59fb0fd7f81eaac0311ab13dae9d0c6566fbab710171923369fbd63c7a72b45045fea14940811875900581f03eefe76bda48b05c29ceda679078070cf206b3cbebc6ac5309a0b48bf3a004802c68af0bb14000000581e022acf9c78fe98d45f371e3626d5fd6df6193da38ad6483a34ba26472ff0410100581e025a185868ce7f3855d08fad929679edf68b174993f20f9fb0ea8a578a6143012b8a02188200581f034143c6c5e4a670490af2dd827b809c011e3374d4617bb0199cf0218e616054d0f1bede29e69eed8a021944b9635a60eb4f6ba300581f03f000d6e22a5330b62770bde9e10b3cfca663da0fc5c61d96a3b4bd197c0048031569b90517800003289d0b59364c6e5c4feabfe387db11377d7a41e4f9fdcb7ef02896501372e8df00581f03d4c1e5c60717ee319af59eb15638e0427db25b2615f57385f482dae28840543864a9047c3f81beccc1e5ddccbf6f5f200f079900581f031c2d5bff87dea9ea818fa52851c1e6c556c167500325979fcd2325e978f04802c136b2c3ea400000581f0306b5d824c2ee37b75e1ee8cd7cddc793b4118f5108f890f8fafb4ad0b8d041010219e21b0219ffff03225aad7287597f70b90bd549bd0a6910a4a1fdd8fc50cebfaa92d4378eaf362603539676c3e98a15190b706393ecc0c17c15fe8c4825475be76937796fdfa692a603a6ab3930a03e0a703f463bd9594ad69d3a390b44fb4ac1664cf8e491facb96aa0219ffff0373071d8894942306f7e856ed0f2c322ce1cee66d2175890607d55bc844abe2e203f1b7e5de2f28db8be725e0aebe67bbc9914df6c9b785f62bb293a8c388b5b09c03c48e4a021d4e464608f7a0c570712ed42257f9bc81c6f5e7c194604787b47c03033ac9b1a172ee09a451f21371fc0356ff8d70de2fe5a3346fe06e1dba7313ce2303643bf7b5ad97d5fd716891eed8b9127af0daa828e9ba35b0b27d7993eedcf3880219ffff031a60fe9b2694bafa55a981423c5267e9acca792fef7d1a0605657713422100d703e76f0dcd927879c8f4a0539172ff318fa5a280569c5728566202445b39388991032e9e0cd9058c4bebb695703caf00313e522edb8c961fb6ebbc26f16e9147af7c033852d4ee9d5407693c5b16dd93ae6d0c8f41fa38be1da5616fa227f0cbd202140322de1556b274053ac972f2c36cff835f3e02359ed02d5d82e8a3bbe6c03954a703cad1873ea2b29d5559b6c15400b6fee48dd7ae1a65b586917506817111dc06b4039c8443cc7f25203e1e22092d0ee69579523962e002877f4df3ad6c92ce104f2b03e5476389d33e730af367175c80edde28d50dee2e3fb3a23b55d06b28a1ed090a039f26dae9bbd8879ef58906dd4ef783aabb8771fb3efffd76ac1518a671b6175a03d7bbbc7d1d5800e4f28a8e8b99517d0e9f985a0eb2aa0c875b52cb707d39a7dd039ed9aa1a6d5cd4e1047947fcb6183dd17605215b55b8ea154e33d06a02eb9e36034bc64042047258983237ab88860909f1df25b896c8d84c62064371d11420d9db03ee647c601e5ded7a32aa170c5ff5f49ecbe58b3e6091686f5008e3cae211a48503faf473076549ca5f512560513ab203ecd8df2348d229ef13c81c55c7674b0e1003037982f4907e2a79d212d10167a3f2289cbc2ddb1237c14c8edbca40482f1dce038524a5408cc295ced29ab1807bae2edf0cd9413bddba7ed53a359d4bedc4f404037301c1c95ff4509086a35e2d6fe359bd08b941d99369b15b0c9a9a44722e4280038239edd7f834bed4c5bafe8e3ba8c2820f6b6ea6be83156e28d5479b23cd5ab603584bbe88598198e361706f8799186cf26f0b6c2c8d6c552c21e2727465bda80303c41db967e2fbdff96cbd35b1ef90cd854681e83c2b2d153706aeff7dd3ad64f60361195180ad9603e50861a5df2543e101ca0976407926ae97de33fc26a932496a00581f03a4e49fd7e90c72ffa58d14be64241e7798a367123eaf703a6429e363dbe0480429d069189e000000581f031755b584e585f6c036cfe8a0ceacbbb0aeab5c88461be190db176269f28048016345785d8a0000037483036c2c47674f8f53f842d823bb452bc56ade51fde293f3f22c9e5cc04ad700581f031c911eb80c8310de433640a79dd40e3f9fb76b5cf08307e5efed359be7e0410900581f03441cb27ac64dc319fd23100bb065b6a8b2ff2d00db17ae949d43998f6cd0543b3ee1931dc30c1957379fac9aba94d1c48a5405038a4108877e4877f3f3f21c08863e16a676fbf8785b94c4711853ea144a14dd1601410100581f03630a619b874c25de61000e48d00ebd6f13b93d847c5e6b4e966a019c23f042038403cf9c6e27845150e4c1fccf09a842f285bfadb2f581ac51c8318843cb1f867eb80377bd052a00f3a294f96be327992e546cbace4fced0f31b5e34798a3560ade78203dece40da186e3d9241031add301376a4002f482b86990386f47c147cbf4bf0160219dd8b03839c85e1294f7fb103f3fe685d49122be41adb568945697af57739bb672b4fd90306b14d562fb418901203c6a97e6e30874c926d87eb3d8717e8642e36a400e2c603d4ab55256955d54564f2b86c68fc28ed4d04232d3d7f4866e97e26e79db05de2038525b5662cffd61b2b3df33168db73d849ff00d7fb9c625a1cca69c23d3cf70a038ea9cd599db7ae7960e11c7933c2d5f76965f6ae96a146a23d2a40bb0b3d0c7503292cbf9ca0966f1466c5091acca72cdbc4a9b08370799a03f1864359eb1bba4d030d88b424faee09acc6cb46398e7a31bc729020279ca57188c4a9d72bc5940e9803b128ed4acce859fee4e0e3dc315c2435776fa1b142b19f9f44ff0256b52e0f7a03bbc1a6fb2a57935d960b09772091cacebd2485af11ee01a03ce8aba215b4719d0351de96dff30b564892f22f99e49bc4298d123a22fb5215e65935b2574a0642e10219ffff03b03e701f6987cbe0748d7579b9738059158327a380e60cc14d599b4ac6218794035865351842a6fcf15945b02530f61bd2190857d6c06fd006956572c86a4f23d903fd7b028eeba8ae8d111b894a4f5354e111f3962e04346ca3758c5cb461c63207033d776a42a69fdfb13c7b4db22e5210fea4b19db05706c6484d077432e998b06703733ed1aa8488bcd78d45560a5d17f04733d253681e78a2c68a53e890bbc6427a03047236da2dd26fd1c2454b0761f47f944ce7656ae40ad18a39fbd4367c7db29a03ed7212c4fc1562a0db2596b145b6e748cf19016102deb86c488fd7c6578785d3031825d372d623dc6e455027ec1f43ca645262b54c6ceae82da984877b6e4b3ae703a918846b71dbbdf38ff53b49a6d0afc062b05f5d9af2f5580ed93cfb4312d5c30219ffff033ab7e82dcbf0c4afe67819b1906eb2d3f4f267862106f35c82dceb8690f086f00305d4a515e281bf01c2011e285dabdd05196e36ea88e1fc78580f4da8538758f9030d29a2d7a5230378cef39fcc955128cdcac100b13fe8699d41c52c005b10e9cf032ff0043085e96efa2ae04250fd51549cb6971f1b6f40d48bb594b93e841321830319d3b8a6e486add9408d66d2e949039d647e38c174be40718c2212aa4a6321d2036bf6a11c775b7811ae3b159dd690ece463518bc9aa1a6ac028b3e33261def1740219ffff036cb8af678b45d4df163938499cf8618f578ccf679e620f2fa927585aa658ecad0353a8d1f262b83b6bffc46ab574165454497100dab2a58df5fcbdd6cc5f329c2b03ce6b15a43fd27659031aaa9cf9584ee16702e901e3c097db5af4728ba80a6b25030a72f94da125440ac600bc1e01b59bde0018213164e2e0d447534a3d0ef5e4ce03b9c90da906e4266ce0e7c608c068e8eca118f9f3f9a2a9f6e66a471c8c7da0630338bc7c770a1e41e8c14499551086265ef9efde1e59fe3f846d579402126f5d25036d463977c98c420ea776aa5201342f927734d71598d6c3eb3486798a8a786e2e03ca3c37461283e625f6e8be08b074fc43c8d2146ae996b3d7ebb64bcedf92323603d70a958fa82f9c3eb2c1122ea3a30b1c6f78cdc744b9308be6dedf8961e284a30334246306e0939a0e650e18c2d51779210e5a73b8698ea9764f6fda6d04a2eb22033f445bb32872685794637a574deec5daa6df5f216032ef2222a3a6ff09c9d63f03dd411561c98f110f2d4ff6aa3486f71377ba102192ad5233dd063c66b5d98f2d03f4171093dd002338565a179f76d4e968651a285672ea2bfcfad243a4b3fa776f03a17e49fc9b1bccf3d1ad6dd7b47bf257c914578e47b8e79be2cabb191061b56f0352103745ae863b1a1b286816abe526b7ff5278fa7175c5724de7db4f333651f300581f03ee4ca733eb6b59ec830b418de208415a1caa45d250087835b7a1cb7349904301435300581f036d68e096ef198b4c390a277a40a090ec4ae6cf3ef8d0f855c1c02bf37880581b2386f26fc10000b0ce282367546724e72fa2816a2a61ab30eca4fa035e18bcbaa925726b55ef16f8df61d401961c923fdb71b357903d5f6d7234304a0320c6a2e6cd91b8ff5578a9fb81eb9e89d7e15a7aa93e1e421090d33ee5d8024f032310c2729e309a3f748f80b0e3092d94128f3aae14ef845641e3515b9c73667803df82913de3d3142203d9625f9196e4fb1677d0fffb92cbc365ec9a604a57541c03875fd3bfe583d88f4a760a0ae5a5f0d6d212fbfc56ee21b1261081b98001fb6e00581f03618b81bf9573991f7576d3cab10789bf2e2cb184f559be7b666ede69e7005462c824396da46ea564b205fa67088416d11de039037c5c7f12619bdef5270cca537007c4097fd45fc29aa0014bd3c5aec80a16566900581f03aef35aa53488b5f0b80f5bddabade29bc933ba07719281d52be93e5f647054dcf496cee772c887e12ca68e3dd23651c2c7929103240657e03e5cc52afad152c4cd80915cef3e18be3ef436111602fa3b2401a9ce03b6208dbcf53640905267403884b91744e84a1d0d51c7fcf5c0a53f798cac77480219fb370341efc9c80e3ed04bf5273561277df588396f6ee28bbbedd03aaf0eb1c186eb130312efd1090c942c0953808397dfd5efa9396b8f7c7af8c5f0276a1c33f36b66db03f3980699314f07a030559b6c7c7b5e00404e53306ab454818a14963579b58e3503070c873e88f2548506b1377c8bb825483ad181cb66a7699dace7aa4488bbadc9033341e8d56c4260b997c1f52519d515c90417ac6dbcac61e0c3a3e27ae06b1ac90381df8311129455d68b3576aaa86f6f24ef8192993d1277a7ecd9c0659e7181bc03ba96f8e696924803d3177a2ae9a0903b5820d78cb7b77152ff649b47b5f6c1b803194c6b2adc5665d7f8cc6f57c7fb27c9cdcb198a9c86950d1750a680514ef591039b03de8dfbe9175057e4c321a504f754bcd738ea1d2e1177570166701c3d70ce037030e5a8f2e9ed0743661f120daa010fd0c219d6ad2bd6c8784945e4a5d0b5be037e2e931cbcf900bf63a7b813680d4855979287ef11278f49528adfa89f5568090312d8654533443634b113f6a88a46601079fd192c894685abd65bf665f747fc6303c671881d59935f29f319b6a072b2e13025c629d2a35b93bd3056824b8aaa0e9f0219ffff037fa65783a3961838cd37ba2031f8dbf019749d0bfa426466028a636813171064036bd1eec74859d3bb5879373ec99f570f1616c46268264bdb87c6e5267d2eb3210356e190780f072422ed89c5dfcdc00fc611a39baa57d528b6db990cb74eaf22110394bcd71e4bde2683af1a8fcd7b0d83e6a977ebe6f78fdf63b44b5d6ca161b7bf03239b5aacff679a87a8b5aaa259f92e18c179cfba5eaffce3b152b68fe8fb35240376c994c2413698bbdafc4ea81dc330a86462916180620c3ad0940716c5f23c2b0325863eb3fcf102c2beb5bc8af4af182dbe3189a9eb828892439d871461871aff03c4826146f8f5cd793758c984bdc4ccc396858de8bbc7ebced857856bdc839f5103e993567831e836189fb7b3e8709b129dfd64785fb9f80b2418b10fbfad6250ec03a75a301592dfa347a90d9fe726d04af31e791bac6446f9c1c3aa244b520a6f1e03276f740e24d7c937d116f6f38b5d38d88ed38a3d0c3fb03094a2f21ffde6615303c56f8d8eda8f59b5ca931b5621e6e752c9ccf9f3029985aca24b9aab981eb29503eb5ecde0230546bc15318598080a2cc1392e9baf9ea980f0be0264f48c1faddb036806a08273b79713d0b0a60cc1ed75044ef5093f55c69fb4b229164acde8264f03e748d3c46d26633697574adf66790643946352d9bca1922be5cfb213310c493d0219ffff03a15ca14510909e7feb2890daf12333f68c7862ce1df1690af6c4a899376ec0aa034ab50dc1b34ee0f9f93784ea7b721f07a497fa66bf5a0e5fb546586d2daf9885035951528dd492ab4eb2a311dcbd830db684b55d426bb29e67a407cb81308a7fb60219ffff03c56e6bdb4635fa8a301d503ce321a93c6377d9e4fe5cc54a7a46ac007fa71b9f03922177a481b10bf43be9b7136453b54ec78c0d2c92b4ab5385d3c078f759babe03ba44a68afb7f3daf32d63c050f26835bad64a6cb9d6944a7b58081a40a05489e033446ca02d2f1d6bc05c1601dfd823c8a568fa6aace3968f8f2ea447486c8917c0325ea2bce4632ef9289c1e39bf0dabe118951a3642f2d77ad4ca365bbbc401f85035b3fa7beb2dfc75c9be1d353db379c4897ded7800f3cf304a786beb8d49407d70363555839f607b5dcbd59a342f975aa1cecc03c6ea3fd3f94944b20c64c085b570339e133681f00366859c8654b8f5851a5da411f2c3037255f3b0cccfbb80c4bed0367a8a3a951733581f3527c2402700487f215a3374eec80c370241b00cf25339803b01130c664000fd6540a5a88b998fd667200a1a23321421680d4d5454a88777003cc8370fead685bd51738a24f69325c8b8279c88ef90c1f8a6212122a29a5de3d038bd48ed8660e831a9d5a97d1b430283f1b8f4b28546af24f8ed1c4311e6bc632035b09b5a28bd9863f8695a4540ab162fb3a46ab70f349a79427b5978d5cb5db0303a6853ded03e724441dd8027adc1601f03bcc57c06a3d59cb8f4fdaf90ec805b1032a0616e36cebfb77895ffc7a9bdb13e17edee68064291a29fafc7289bc1ca91903bfafcf1441f7fca30c7be5c2c7b5efb1e69b6385f1332e4987b3a6486a1cbb1e03bf19d1d111cee2e33d45e40a202b35b494ef51e35de8d23bfe06540bfadf466b037129282de3f6de21d008d6f291e43a68a8058d364d43a5d60bbfa7a0a82adf0103ba73237106ace43e5e479c28dd35aa95f78ee1c18453657dcfe263a9b07f5dd603ee877218b46a8942478ab921023f6fe21b7b36bc1c75f5e3d24e832b3072e4c6037d616c5b6f923fd433bdbab74493f32c4fe68e8721bb9eb0e78290b512b82761037fceb41d81c233b543fee156006e9b79afbcfb8d7a2171ea07ee9415c55bdd1303d993a892beda6b6abc33e26af5da19007bdce5eafe645d9b76e7610cb89b9bf903b8a666747c3bc2054ea3298c3454a8cdb67d4ddc87367136506beaea479d4657031ddd4036d0550c168854e8fb026fb2ddcb41ac25bb0c9dba8f153fde4e512469030fa39c16aac4b75eec9598ea9e96de8c65c938c1ae6a1da49886bdb21c91e6720373c5fe4a6e5462cc86e983cea07f4e74057c08234cec020681c2d78b805f3dc6031c5070c38090c3b845172c9477651fbfa14c07209dba88f7f7d75510e5cff1b703e561136e2f7e75c47ac58c5e693d0936001f8b6f8d2b7afd87dde7392a38916d03023069d3f43ffcee43289098059e7cdcbc5410d0f1b25cc9ca64c06e7d46a99300581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48105472de36c8ebeacb6100c36249552e35feff0ee09903e7ddf19ed5d5767e628eba248df967a99c092dcdd0e7d5a7640a18d729f843ae00581f03404988aec00139b3015f493bcb1f61a707a53965af160113730e0d415a7054a813057ab1cb9dc950e8cb85e3a52b23563213220334dbe6f9d713586fea225135c7bcfcadaf78635531198d3f05daf60d45ba207900581f03186f893e7d075c8956c1229afab5ee2ad0e4368560194b8c58d61bc167304302676d035d22fabe27f6d03a5cd17aedb51cbe603747ebfb037c5dc43afdaf70083e49d400581f03ee77372cc0c6913551e317ad7736f86cae02f520783a91eb33318d07aa00410103e172d283e6aec8c95607bca21dc199abcaa0900049f6df06b42fc1bf8d8ebabd0358dee17868c20c671db497449fb9b50cdd7d234f27ffe6fb650be7692a099cf800581f03d628ff5e7edd9236c2afb643f86db7701067aeafc72cd8cfc4eb456a3260545d426985994878d65443a5a67205cf506350b7db00581f03b3dd19b49a68a775bcfc2f81bb646b55151852fada79db0eaf07106cc59041010219bbf10219ffff0316c27255fe64e9164392cb51f320cf212698eaebd03f7ccf9ef52bf2b897965c0335d362da0074b462c0cdd885806ab428896f449aa3bc7bb3c8f5676f97fdab490219ffff03992a9927890775c510ea038c859b898d87e738ce53d987df1d6a5a09178e387b03bd0546a0243f0261c569c00281b7bd2b1037c80a0d77d5e05a0e11c7dd44eda903427a1a696ac17b624c4d445ff157fbeb5a240d5b0a36eab74bbf26deecd2888c0319add0f591993fc91bbb991e0c78d8cbbe8425b08a33ca955e8ebb905dc2f1f503d4dee3be99a4fa58c3a09e9f7735207bbf3794ba7fa114368b59261bc44e82f303efe987869ca7b7224e3ad47362246c6bd3e6066fce8ce5452a0a58ac0922d48003f0071c7ac54f81c38d4d26bf769c7c2777c84e4ec0ccee57ff3b12471f7eff180387fffeb55dd75164bb278ece8c3f57777f9a5cefab5b77dafe1199dcfd427a7803f984b64bcd5b7a1d21ef377857bd461fa86321737b3261951f98c9fbbd656cce030d138e3776b72a442b4cf499caa2f1a595baf5201be8c3c38a5f4b5b4c3adc5d034ccb8858dd978c145842ae4b232778bb745d9c1a02b7f2dd114597a286345ce103f1da1b07162ba249078517059eef2e5b5e13e9bc781ff3eac1f4889af91d425a0356adfc924cba9da5fbc0f566dff2b8c93dd28c5e0a093fea951ae56fd3ea250c0219ffff0354b30696d6475e02c4bc60d3aab0da939a303f7d92ec59eed7797f508670a18903a7304bf5baf599d8aae655b47c40331c8d5cfd6d6ec0187ce4d516ca6143d17603b1da6bd1dae84a68a48e56e54e4afff074b8274b535040e8f55cc6e31c092a11034722117f3e13ddaacf7676bbcbdba781cb76bbda2f55ab850dbe7a84ead3c721033ce12ee99cad4fd63b85188f5567af709f46977586d3acf5934bf2608170a77a03729721ff2ed6e92c3f24f348b8d59fc3564e90a9286ad55957eb4c0ecab62bcf03532017d9d6d3f637992f03da547bc6b41f9e9e4e006140c22b395e41b864ab8603eacd6f776aa289892b92beb823b59ca58e55ccb98b9d0e4a33feb0a8acdeb8f30305e0b5ca68049fdb2d73c5235b9248dd0734ee2d3f5e345748bfb61ff1e67f6503a0412166db815e463e964c3fc308d9b66dce540685208a5719db0786fba80a7d034be8887ed344a262bb269c52912e0525037d38a7f26a85c43e07be0355b4cb5f0388501a9df4c3a4b334b9f4e681a65af30af76b0933224b080a7e27981739999203c3703dde2716def529a7d1fb2dc8dad7b0c4581a9e9a3fe966f0808ea059d57203d18201fa383283dee90cab2ec8aab5aff03430dc07e8586496be2811e3bd2742039ff8f1676a0bfdd8f1262ccd6bc73acf898492a7db0eaa2116fe06e57975f86f031f66f215c41a97735370c624f492fcd28452079a45b76cd26a957fb5189841a50302d174e44cdc765dbf38af513e1ea8cb48690ecfb07d8f60ac212a6a52793e3d031777984a1f3d9e53c7667361b654e8ba752c045656c1a35657628b2d0d4a228b03ef317f3b9fdadcab3e0c8ec38d2c6d77979ebd776d5c38ff91837a9839b4f4f000581e02e427d6ccb0e921b5ca7020858e0724ddc8f8ecb877e160d465f56b9ed5410100581e02ef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54a892aa5fb5bea074b56fd5d21f86d8c701586e9402194040030434f0d302a90f8e18d27f65b9e34b1151fc64e1f48bb6bb871b3c43d10d7d0d00581f03976ee4739cb6b61be96c6955c8682c997d5143e464d5949cdeeb1a41d9d048016345785d8a000003481cd68a3cc545b67bbd3d3e3232d119af91fd543f86ea99714347978eb67ce700581f03812584a502e86f5fa594687629ded0cfb2f9f1c4b56f72a8362c55fce9104b8e1bc9bf04000065c18490034b8a08ac0109c2f52766140f987f510ab73fa07c1dbe0953800417e8ee34fba100581f034cb2065fdb50e71ee25a6ed47c2f9ee7fea78056e9ce2a941cffcde2d9a0540bb75bef057da63a0ae4b25fe9adafd35cd92b8700581f0348ce40efadf479a72400f855eecad089cd4aea97cd64f493d878a25dd9e054c3f120c85c779754e2872a281f3bdf59222f537c00581f033bd7c247e4994519e95a4c8de62ad934a37006242c971e3007f10f204990480494654067e1000000581f0381826a4a0b6dd739a3cbf9f6a472b25e99f09abd99d056b175c90fa84290410100581f03d9f247360fde6dfb9c4961da6c2dd0ccd27416ee39fd2bf4b816e84e27b0410203c2c3d1d3323bb8db2461dcb26455da65c5d10e45096c855da5171d1c3636456f02197f3703658c44a0367a8c371ca7065ba7127405acdf907174053ddc269527cb920937a8037e802f56e5ef6bc11a8524095d4fea00d0f8ecd65cc7be0756bbad0ad86b6cb703c8ca02f676e1e2975e9ace53d4852f8820e2df290738aa22fc3e0fb18b5bfa680348655111ea55103336103211e72ab29bafe4b6db0da941f0a4652c78530767b8032fb1b713715c5fc70cbe331ce2274054e15e0faaa928f1be4a7ff389751d5c610313be311c43744d4523fd43919facc58292688958324ac7f526ef2bfabee9c9a70360876256e2b660d87d413726ae0a3933b326360ea7f63323cd58fb9852d165ea032d32b239f598e164ddb86488d56c1cec5c207e33b0c0f59191a346f93dc39796030918a2c80171e422693b2c923537d479a08f0fa4723906ce2930a2ccca688d3e03cf19235ed7d3b064f1d5c07057c3d3f7a8ccb171c88d48c13f905a4bc3826b7303fbcc26b9306931b4ffbbb4c542d481ffa92bd420faa9fade2fe44ebdb7d7199403cc9d3cdd741c295889aa2ba645fa1b835c34bb55302c73acafcd718afe4b53ca03c2fcedec5e9d02adbea5c40a5ec1a7d84f0276a763eb0e805f4df297cfe417730219ffff03d7352e837428613f12d2d15d98b01b53387a363dffa3bff5cce670371cd7e83103f993a25251d17726ec3f01a9f5ca6acf7af09e4417893894161cc391e1a13f3103af4f46dd688e0e631adf033d283f2ff5486fb6fcf80462295782fa8c33f2375803fe66732fc25ef4f4ac1b1361a750589094b5a44cd90c243449435518e50322010219ffff03d2e1f4277c764b0dedecba2cacc0eb32522160b889289677503a2d7363f9655203850e8f7ab17115e2aef2f360a68265a243e409cd2fcad577abc3b9f66b259de1031b6ce79e9020579091982b4554a13d8d6e6ea4a89c7dc067c3b123219ee58eaa03926606365a6b13a3f9d7a4499dfa08bbfaa82a815a72e163aca6fefc0bd0ed11037bc7c0e6ecea2679d84183c9825c414b6db40b7c60bba0b78610a6bfe7198223034c470b93b66f83a730454880027b14526b3715e11e6d3d5b8de6962e104ecf7f0399aeaeec8183b463fbaf2b3b19a42ea23f2bf7ce7687ce7bd1aebdec6d6640a303201c36258c66ec3a43dabe503be96ed7be2a7f2fdeb9db38ae69ca0137a13b0303b63b906fee6aba2eece42e272c80b6c27f0841f5439a0f069c5fd147025a1fde03cb84d2c701d271f30f72fde05dbc9546b0bd4a841feaf596cc68fef6f094436f0219ffff03c9e0eafaec10d8a85134841a7bd72185fa313a30c3c66d55d7d003924a1af9ec0349cf5d3167874963a19b3237d6fac087532ecdbda56ecb835308eec95a068998036c50d8a90009a86720f9db9e6ead5a64317a321bcc7d06b1d2d446a0d95f715c03cdebf85477a8aa62b7692006008fe71c54252688c90410a03ce534521cce2d4b036ffe4a9f2252b800e67938b9e88517bcf51afd786bf5c146ddc07c92f7150570035dd286667502dcfacf5f727c8cde851588c0de7634720486f5ad9354054aa2450322e7e00f397e1b42f4fbd27d872e51e6b0aa7dca6caa39f4ce00bbc00b8c0a440388ca4ce278261b8aeac2392c9d9127c35a0bbbf7fb0934e86ab1da89661755dd0328e12fee3c89e7e9c96f2dfcbf0402cc4898a7ce23f340199f24b8fa67bb075e0355fbde052494977e2048b06cb6e66115d680dbf6a61659b2be666dee6d4d68c203e088ef8619b26fb5c9866a387bd45ef45f4f48c7405914743c9a0541837ee64203af1a98a3a759861bca4b2906974a9842b6482ed4778e1df3d6049c4fff27e3d10347cb68a38682ef89c8eee13c0162d534cba1df7d22ab2827d3902a4af54d7226035d7b4cae74e3057bc2659f6132ae9083d7b6c7d508e83b96b68801c803575e0e03014e1505032b9878cd5feea4198c2733cfc8656781367239706f69efafae481703c163dbfc7875f39b89eb5ac261ecbaf77c3122650c736c55fce08cbc5d9df5db037e24a2b1ba0751562998ca86ed07254eb7ba0f5ae6192d99e43eb821ceacbbbb0320622b56fa125233c0670737d9a93b9ad4f17e46d3142256697946d6f6c2b457034aefe838bf9542d8b0a007524efae4b6389bcf45a02827847e953b3c2bbbbc2f03cd5abeb26320a33425f94a0151e9ea17e27713ed6a868d7e17773f8a35454062031e5e4ce68474b9dad0eaceecf0173734d4fb68a8ab80bf450d1c0207eb06c5fb030350122b96934bc39862e7f2f27b37676a3335ed23b9111e33d35c1cc7e6b40a034fdb22dbebbede88a4e62d794dd5d5a4c0ecf82d46ebc0746243f2e4e1c908bf036f5ad41297a810cb8a455096dfe3ae2e51e0a93ece0cc5dcae99f3a9d74e73a903fb93aff52bc5e7ed08bf6d253b3eb4cd50cb3ffcabd8c28186a2ddd7f1449a8e03c03884b82f562e582a8dff19aa3d8103d9822a6f6a24b8fade0d3c39ff414fed03f151d2aab8482d1aedfc322ad6ea82241697572108823d7d57b33e096c91dd2803fc718011eb095441853e71c5573971b052bb21f0f5d0cb1cfbff0d81a536de370358da525d4cd3a7fd916357a709fc131a4e360e640c1faf7662e6c0871e1d9d4703ed9f2a1f68e248a30024b706e322c91d0f17a3fa96384cb6c19ce90988b0d399030f8bcc4d4c5e488f47b1be82455db6b829b35bf0228ded5c84d121935d6e279100581f037f1d19de4a6652244c23ebf6ddc180329edf984477ebda8b5905e749113042f19500581f039bd63dbb2ca59695cc83451c6b30c5aa9ba1fa62c942853b98a3bb247a9043043fc60374823058999e117a6cea669ee64fe554eb5340716ff82c00ad005a5bc40a2c8103f09b1088d55bf76203256175378e106e075b8febca48bb3f00f3af7f511e91d700581f037707dbc7fe362c12113f5c73b374b5a691c1d4aa328ea48ef0b90d9a2d404301518000581f03199ad378a7855200b6f6459dd3dfc6f89d26803b133d2c3e5b361b0d2370581c0d99a8cec7e20000c17d20a58f9165b4667b68c9e3a7b54744b880a800581f037c7b20343f73e15a1bcee19c379ffeb9859cc7aa66bef443e1c305d07d4042038400581e02b35296846033660909f78ec9af6aca85f55fc85b6c52c94d4e5eefbdb2543b3ee1931dc30c1957379fac9aba94d1c48a540500581e02601da10ad13bbdc2c13ac0c96fd05540fb70113b085220f78ce5679382428ed900581e025f60cefcc2e095a5be85766f5a1435973527bef0a4d5a48d9b9d808226430151800219880203542c50df66c69e0864d55f221129d26e0492ace1fdac0b8a3ebab7e22c7c8e7403bcf57e5ba378d4afa24d7d43bcce239833a22f2c9723a74c6f7fd2a6985b294603efbc334a8d31d712eaf2537a37a667108d5975a2aba58cc1df068b8dd91bb49803fe220c9bf86a7d1c21984d9826643bbd1299c0671525cea22dfb28ed11373fb40219ff95036b898a4830789dacbeae98ce94aea412ab7ab54759467a1346382711f47219790219ffff03d5153845f661c4f53678009821d70b10a4566bcbdb66757c6ebc105d56f60c8f033333f82837b08840b997369de98ca51ca4dfb7dfc33da0b3b5401ce55490a5f1035198d911b9ef6fbf1ac1ddb11600a4c792262ca63095fe823950cc94cd422c9003089187e93b0c995c89662963327dc117a808e91af0f36a0fff8968733ccc8c7403876274e042c88a55ae765628ddee0fcecd880ea440e352e1ab2f422b40b7870d0361e63c0e6f53975ee6a05650722883d84f3c9c967b5921a6b138f9223937bab4034e00cfac1df6767b8fa8be4d74f88a23574ad76416d761a37bc617667f697274038aced2ed91743f80fc6ec3693d92f5c11bee1a5f3f8fe2f6f836777dbb496d2903e346b96ad18be1f33b413ae6f7790be6121901465d5587ba70bab1c80caf8bfb03fc837ca75082022f239c0a269b95dc7176d1c3ffd27e6829d5cdd6c53d6bb88303a3deab2b36ec9764db8c618ff7cfd417e3c9ab75d27f527e0557acf9f14511ec039893981a1f40049acc2290736bb903f4ae4bcd7613b2a1d37dd5cb3e5abef33703b4b8d5a916f71dbd95976aa6f738ccfa7e5aa0527a7b7115ed4793bccc5f9bda0219ffff036921bc82a9fe227c54259ffd34e080014016ed2a5211b3b839feb7bf9b409fdb0219ffff03f44056f4dd0f83d6b9320156cdd26933b56f5c9994af63fbcfce00898951fc2f039984fc3d2d0b849a02d1c3fa2df7265ec6f001e7d4207f9830eed5ab81183a0a03f7c441c4df88309ed30738eac45e866c23bfc71eef922d613cf299a452c6478e034b03af4a86488faff82eb201ebbaa0a713b6c8c58b0cc0d3519da6f30f5df2df034a07939cb8fe54fe0681a20762bc4c2dd552198d4fe196c8c2c1e676221d00f303c0d29d76400c2c968133e6795e21f514bb0a022fb2393faaf4ace972d9d9abfc0219ffff05581d0223bafe8bc245b19596e32fc78f38e407829f2d56e9f104db5e0932b60f01490231fa125a47be85af1908d50219800105581e0343d4bf2569ab82a9723877ad391ef3e8a6edf1069d255d60cd094cb670040103a29759ce6fb0094b285c7e5017b9affae2d532255ea241561a20b3ca18eee5a805581e03e3a93d1bd504333500df97127d71da128bb6ef918a36a19e0449112a200c014702af93f773400003cee283da100db7662a74e825e952e77bd7b105387fb91040035236ae949dcb3e0219dd2a03bb1fcc2893d52e82a2da3c8b06e6cd402b80cf8b99577a225648f97e2883b42003a79f8c61196c0fc3886ee573e522d412601ab7c90f8d5feeb86713e59732deb503723306a66ba7e8f2ad870070231a0e90ecc938a3c5058c5274237ffd80174f710219ffff034e3e9ff2251c9b424740d2061f6af6531b2b41fdc04c248f334f2a0bc72963560396bad1108009d412083acb61a5469f3ec28f14870a0b98d8196686910b7b449f03f237341cebb73cd7a05d1f8d90683131366205c9a9860b1708c3445d45f64fdc0219ffff039c4c2446a292410cc36e6a765b2512a3a1e717df2c17f1023647554af36f272c0219ffff030a68a0036fc1aaeb8a10293ab4a3dc3b86bff01cebd3802287b7dd8e9e8c04cc03c02b922707ba6e9ff54389e0ffceef3d06b21a3b9a16cb0cf5c63cd52f23175703f41a3b96c343f5ab856665fa0d57c04d9af0a2990fd3b5d7dcb5e54349ad001e0388dc19bfab747d27512851bfaba2a4cdb19bf06b9beacff59c74bde1be85b977031eca29be035cb77447abdf7a5a57050a7a9402ffec82671cb4f868a23c3128bc03a4a17bae9a444472d453b55d377242616a7f35dd56de6c5a6452171905851c35039c1c3e9297c8c57fc9f489ff05554e4c200cf8a07272a7c766aecdfd7114175c038365d1bb159fc8aa2da8fe3a0ff34836ec59bf572ca04403467c3ac97db3dde40381f7f50238ac9198588c7bf9004465bc70c7eeacb448fc9e67e993023b3849750310b307ac7895fe04218efaab19d843161dbc5b858c44a8b5aee7c1876da4eb5f03f447251b8c8a2d3f90334f5e254472a5cc10dade99aec7f479fdba589fe00cf103349f0668ba67cf387295ce073ded8063220d1337255401c5fabdbbda195f6a78039f9794dfdd52584d971b0e691310c91c021fe3a2ca405ab57021e3fa758aa5d703b13b0cfb3f3d9034599c13f40d3012002e7d883607e1a79a3379a1418212b3d80389a8a0c4dc80cf9e9fb3ce112b61840fad5990e1a565359c48a2baab33ae700303fb060027af49123df3ae76195669dc33e92dd339d6b8ae4a2b4e7f618887ce05034ecb7050c8e977360676a703ddf796bc6c77ae1ffbd9dc3b443e3501b22235b703c16e50a5004b3f32de7750b057eafbd3f6aeafc765837d18e47af03a6e570d0503eace332d8af742d48c1357f9a366d63ce4cdf074bef861010f302d96896e085203c56010912f5dbe3a8ebf78a082ac36e79daeb2e77e81c6bed73bde5ca228aafc03aa3af781d07cd03346e79cf380eb66bcdc4e0eed5ab6737ca32eb484f62df5430372f7c870575d71b9ce24e39b6b26264c2ffc709a1d4b7130d879e870045f920a03a6f9626f06f65f44e85bf2d52edf95e60f9dde2604766c35c0192629626bfb2103eca9cba3f9ce973f0bb067b6e80c83885cb7c996baebf621403e05e27aa809a603840103137abb78312cef211bec0ac10b0a60997e7f314415200421ed2a6d1be3035c153dd9b26f9741b3c6b5d9e30262b7a886122ec80a770c3d8e67a76261de5603517e15d3a4c04466e6f04caa08eb7a3d01d0521b016c77b9181fd7861f5b17d003aaa7a1e710f65f14ad8fceee78231b853af856da21b808dca7c3f27273796c7603f081cbd0bb6104cf996218df3e4de3222fab65c0468326d09a15ad2b76d043ee05581e036f1700e441589d53067afe45186655ed95ed264aa09f848870c1dca190040305581e03956c79e6f4683a024d31ed4fa5bd5cfee882ea00c3f3410942f01fd2100846ec77f7a4400003c679741f66b43c908e74c54529a30f48ab5a8b35beab132b58aad95d73746fb7039e510e0e0b754ab3ad8464cb5baaac434cf6763682d3af9956969159f2a39e7f05581e03a2cc500de578eb3a3a04907c4440cb9175007e40d5c5a31a37699a7ba00c1447051fff7135670005581e0375c7ab9fc9256669ddbf4c7523615d1b5002f6d37b12f73336392296700847d529ae9e86000005581e03d0a022ea987513d7425519cf18dc391ae14fddc2c2d9bac4cffab9fca004030399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080358fab2d11d408b23129aaee21ccaa497044c5898f82a78c670dfffee08de83c605581e03284fb4f46c7cd5f634d9fac02c4d4de1fb60a2f4a482c9e0d640a594e007011bffffffffffffffff03a1e1f3cb903b45c63d4a6c52825aae294b18616ef0e12b342281d1f29daab62d05581e03c8b0d73c87d0ff471a66370b596c6ce5764a36e1d204c0d8565c7b53e00401030b2f81ff550b07ae2170813ff3e8317198ce9eedcedd80210f15a80506464da202193bdd03e7dc1183b324ff9ad8bc6b1da9cf00eef9e0ba56f8f82f0bb07254c4ef67ba4a0347d27eae4b9f301bf21f92d5fceb7ad1f7e962898bec46531a8c711c261ca4500394e7c2c43b40fa36f80951dbf1899a85f176722b643f00468d6c4d868e0096db0370c6aa7640b7cc8a8d095e84aa81f5d2076cc47fcfc4280f8cab24d858a3450c03ef287637c73ad8230d50cdb04b88c11ae2a853642f1eca7958998e588f13f4dc03405d97e2bcf6335546d3f4a36c09cce078a7a2a2654e2025c7a39b4af12ca8f503d42644e6e34bf405165ffb10d762032fcc7ec10a245bc4860befeda2c0959382032b2c0b0e42d42579a934abea39788e1b5ddae12858b4525d4ce0e7df1b3ec4b30379b553fa74fc08b71f6b93dac5a070e6df7c5816612ca2e1745c286313a9ec0b03a6d528dff33bffd7f7562bcb6b28e9c07a3eeef4b3059494a2e5749a83f81f40032a619a90fcd921ce5bcf22208bf7cb0ca6233d679563bf308b52b895285e1a4603d0c8392dc376267cb2a3088c0c74dd570b383d1530244d084e2500548aca9f3b0322730de56c2f00c94695042a8ecac296739907d358f9d176986c4dfe92933d9803a1af7ef27712379b8bb3a3f1633a92a557c3c133a56e234efa9e8ae22bdecfb90219ffff03e56c7533a5ae6e11f91998a4401509249b0dd6d2d8f45a760e76631ef0e3ee02038d40e8ca90d0f720ec6faf73852fbeb66df961d29e061e74d4443a3e0e1e2af70386740d55f2af29b9477b5e21dbfbb6d09f2e3963aadc9cca18e239a5c1c184e103b537313d6b58ad71e2eaa1eac04de752d63772fcac0c19406baa8a0d4353668903458732a0a538c69eec61129c12e9e9030c852b36a0c6a77a1c9dbbf2dafeb7bb0219ffff0344917cd001878de92a0330c7b244882e4f21626341a9c813062656caf60703e303b48c34c4f0fde72dc08543837216d52b853dfc39e93eb33b9932fdbe9f77de0e036c1561eac410dda9438fbd9da8f0c8e0e9a51ba4e21b5a3be3560fb4f58a458e039371846c8008755f3ffef1ab9986bb3d3f4ef861cc79a5cdbd86410ec40d129e033699c4d4ffbc092fc8d16d61bd435bb59f310fc6eb276c72c5909acd6cf13a7403071beb43f96e903518b9327885318bcc71acbfe3257142943720703ab858cd42031064a0c5e4200b82976dce2dc95dde668a17766c04b90f0847e76c95c44ee61a03d4744c17adf35a59a5453f816e596f2bfe97826f4b561eee3370b4c28de5a0790219ffff034ce5ee5d8e076fecac4e735ef11aa4af4b44e1b2ce10d06311df8b16fd9781dc038d6d487bacb527456909fe3e23cc27c1d0f5f0ae338a40bfdd9291e7696d6dd30219ffff038a9504f825594f99f89c5fe579f8b4db4f8bc6c82390b29c6cc19baf9579678f03991a4053421aa9f50d8987e0522eda3c9a64a369c7decd21a2e0a8ac113ac24103ef54c54aba49c083e704540021da02e52e826bd89961957564d0f966e4264596036924803ad9d03d312ab8e7d0019829a054f8b4951a3e72cef49017a309ac8df1036b6897efa19b3740e990faf462ff28625d78c410271db69052c6d81cc151f61c034674cdeb5e949624ae7aceef83f7328606223656fcd5c6f656c1c8ab7ed4fb02036f31f1ad5dbf43b1cc068d4a00f0138a18e1f46f447eb2523c7183ea60fd97e103c2bee91691d2ddb074f116abd7468a0d9d61d9594c2af59875ed22d61bcc57be034b14d94d77bd3376cc4e70208c4001e8f9b542f5aa30783ad2af93f8078c42b50307cd51b294be649f97569d5a74850a770f5b758d3fb25110e6f78d5d637448dc0386787e389f143dc4d3fd1e6f9c0b6d21861663e02caff37bd4dce5f7b94385630314feefba8408c15e4b8d83a41b0344f6a0a702852bb2edc71d97e6b71411a02103f4b8f3648e00cc1ad90664fbfc6de99fc7fb6618d22ba2a75d890d1ce9660a9f03e367ff89db935cae2985f6110d4472a872210a366512c48d2eebb4536c95475f03f0c474bdadcb764569fc92884897509c28fd3eff0b1067d64ebff1089808be72036d1b3359a31b495e50ead122067b10087e9b3ace6407e829ab3ef1a34c613aed03f19d2c1d832d01e16b6dde99278d9cb9c44b8928f24ea0729ac9384a8148499105581e03839e8a28b89342c811073278d865bf68007566d52d6d3d543ba1667090040103917a40209c6cb993d5c44403d7c0ea110f1d46b9af9875e155bfb64a6ac5b73505581e03c6e5aa362a5c8c2368e7e13b1e20275d3df13f675424870136ebecee100c034701204cdbcdb308038c61ca3e0cc43f0e8bbd1324f4f5b97a43e11141c3d023df60fb2e52d472caeb05581e03cfb16b8c822dc26769e342714c6c3fc0f956030b84a11898fe5c243bd0040205581e03dcaead7bc4c29f1f7887a0c7b65e3baaa7155d48572536fc89a9ea7b50040103acc9aed41e2f600d0ef00b57119c47941166d8f0797a813d29316137f04025ab0605581e0351e27c3eca5065626729757d8b7378880e64c858bcb8b99aba0d322d8007011bffffffffffffffff05581e037910d120414ff7614056148f8feac361fd7ce08a65750164d4af095d500c014737f4e12977cc6605581e0326274da602beb927f4022993187a2ad6bc76a756cbc024fcd6bfa308500c0146349b545b310405581e0374eeefb9b8a98e60da74425265ddb71fb5564b90c0bc56d415c2ce20900c0a466bbcfa75120005581e036bb0efa231ef9a5e71f0dfd843515a1de313886357fa5b5d38b810fde004040219e73d0382276cfeeffec2d5557fbd4138eeedc37e594be40278c0b88748abadc06731440398adae7898c61901fc0523df921534558e4e9d13b1226324a6c37235a7686e820370958f8733a1f75882bff12bbb4141edf715b8a2a6d13f6b170b11f42e53baff038c25129f9f7895947a7735325f06dfd14049e0907e4205be7c0727a22700f30903142e92ab07eca6cd4b11f9aebd057e447badfb94ce24fe5cdf70a056a697e83a03b63aae9620e7c8efa85be205c38eab7ad44a4b9f13c7d68bbe5a7c6c4ac33d3c037ad21590e1e6e13ee04d74efa9ced4ef7411c56aaff02f3e14bb1c5d64eeb6b5035f5d9d0e8ffc8607ec2bb3ce0a7dd8cff559ed6d75f9ac1286749faa0e4723ef03c10c50f63f1966a3df1af345a318b5f00afbcf95807516ce6cee2818ea107488035dde051fc49db6d2328b05ae6f294ce95db4377eba1c9a226a28548d997d6b8c0219ffff034f99d8358cf01cb0c58c32b7c9eb9c4e1ba45bc824be2be84ea1ea9f88874c8d0373e88db2037508ea7e941bc277b1279beaf942e957cae046088d641e73089154031acc34baed4d5b7420ebdfa83119ebc86b3deaa5d13d57400c9e9d0590e3ecb803e80cbe8c769299a4d8d199b2221def83725924251bc8381080edd68d7f1ef98b03b3bb06489ce35492ed1e2518f7a45a93101ef7aaf13a23377ddc3992e1f3bd9503caaa247db0ac5335b31134f5f25b8992009fd8fc4cff007e77ac3f5cad012ccb033d4e92cd5741199ea5b1d45a966e164f8e0ddef82618a312041e35799ac9a7a903e7500d8949c1f209af1a4a7a1351d3365f9cb4fe0de63cae76af1e79d486ba9303071cbc97444e7fa3d0014d1768400d9d1ed31e5abc1d4b328bc9207781d997f903cc73ddf0db556dd6382231834aacabfef128974dd380e8a6a51f1dbf53643113032817a6cdbd40490260509cbac4c43dc201d66f82839e2132d2485be500b4300503bd29e603da1bc4bb76acd114ec633bfdbdbe4957f1e8fad5364c6317f6ab55a603e8f502ba8ca54c38301f2f6ba8a96b3dc00cfd5d98eac2271a77dd85387e36bb0219ffff03c5ec2a96dd49639d169e5c91fd32883f403adcdb409f8dca1d41a225003f8d7f038b17fadfb108cded1c2d17a982ffbaff112826dcce91975e47fc88e43f6f5f3e03badd94c8f40365bec7a3ab2273adccad0ef844c0b4f4250fbba3d8e68d807a3e03689aea07d04bde01de604efdcfab0478bb0a58bb982fe7b3023c638ec0533dff0330e7e62f002f71941684e373060d97c4eff3138b281deb335f66d53fe21061f40219ffff03c97f8f9a9bd0646e75c9b394108d56fe166240f0b61d899a1c25402093672f82035055e4acd7555d2d66f567e3b3e55b29276217d5c4c8402d2b87a3a1816ca1dc0324c6c7d715709d6bf0a716875916fe464dd8378ac7e3b872e1b6be4faeb17cdf03a7471f3f18b70cb51d6eea8ef90a80cd7c0719d3c51be5cb8babbea9d280cf120305e607d5723d17195de28a126a920f96a6315e77a9dcf62f0b4c77e93e472eda03a9dd5367676a74ad02546ad8a7de57af5c31a8ad90608e136a73a5d9106f9b3503d79cbfcf6a976c0f933d17275c2e1a36e63b9585c7e6bd29014f18259e5742e0033d5f7e0d6b7dee701fb67541597f2cfe69c84497fcfdba68adc5a388d45de224037ee7eb39e5b22ee2b0a6c2d5606a6d7244c50cbb7e6f393fc190d0755189ff0203760585e60ef6dfa10b168476a52b479bfdf1953ba456a733ed9e7cf8e003490f03d65145c4314cf9a7a1bd72cbbff163e04a9e3d2a11a37b9e4c6d7c12a2e9fca103178118e2642a81f91316c68ac8a6e83fbfe00e7f9ee4a4b982c67cf5ec3302bb0333e27a44a93bebabce9f3880019d90b594841e53f89e55fb210bf3f883123c6003f2217f910cb6ac996cc3c9e934710bfb06e2d1ec87305508a44799ce3de031d20318f53db54a9fa111bcb0fc48dba33a7aefc37b413692103f039f78eb3418d49d03d7322d103d005087f978649ba7e2357acf05207cbfd85484cc1e1a584e512d6503fdf6ea2eec0b823af36a48aece5684461a63d5433bc0ef6b6583d7a3670c021b0307ca2e5f309f1031fc98b494152b75a356e5e1ecc3ad2a532fcf820635ca77b2033e0ffed2ac58a5ff2fb55420eaaeabb8c88d2b9c88e4f4ce56cddb2b58c2403d03a3d9192b39363a1311474f911899cec8206cd83761faaf3011f2581814ed17ca033b502d62daac69b556e206dac9ef878e4011fd6a8d2c68a5754f1c4cd74c475f03cc136725329d69d3aec776dcfa5d070e6d08a9399dff3d828584f8b3ad51be240352b8ec316146d175d7e0d5ac90d346cc2ca52ad8997db811380d7965b8d5e037031596424983515440ddc915974552a9940be45bb9dacde1c9902cfb68254f134803d0d6f6636b36bcf8938e970153309c242782bda9c3fd98c1cd848b054456770d03b89399bd7bcc924e66acc24fb8dddfd84888f7659d59170b6d3ff1c4672f26f603c04c93aac630f2be1ca47358fae1a54b3bfff80cc29b51363b5a6ddfd93cca0603aebfe23f9f830f4a27215fd2c5d293303417eca5d616a2584eae9bf2ad4dd00a031a4aaccc613f3e41a491aa089f3874198df1c6b7cdcd5757a412dec41ba1475b034ed8c1ca631d47eb94c20817f3f5917f4c746cd947dff5e5fdf77c211ceece58039d49d62eeeca7ecdd30ca4f8b60625b15f6073f56ab35f00d7f173ccfbdfdf6503c8a399b2da9b1f513280f1006cdb1ca1ee44b6de392d0db4bae8da07bcb5282405581e03dae5b3b01c63507527829d5eb3bded9ae24e9d4c023c75c6cdd4a877100c0247450a35e5eb9000035e096aa128731c1642101d3a882ede17edc5397b7dad9b0560350e3d46b38842031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0354eca9a76ba044fd14aa65ccbdf7fd201c95718ded220cb9b8d6ddb32007011bffffffffffffffff05581e031e171070d4da73eb2e0636f9b016663e7ef2995d5f4f9ce60a1590b1800c014801563ac50ad8e80005581d0229f07c2035d8b16989ad561c993f48fb013720635730c6bb31b0a47c0c186f48056c366083177ae305581d029c3c30a43cc7f6347926a0aa5ab413cd9ee3182bfd507b9c272ebfdb0c06470a1043c3be7a0005581d020e59b57d71925c0f3670468bbcb532c21216409f3b69cc64735b0f610c18d547a93d2925b9fc00021909020303cd6f30534d1e8b351338db5a423113ff9f9aa1e12733e308a5c2eca9543f8705581e03f3f62284cb6d399a4f99e48378218a67143d8581e53715d5d32a89bb40040303537f43ed8143092d041542382d78cbb0e1fac7631adc627d5cb2a90af51cd70105581e03401f8193d4bfddf6a94d4227769fc5dd9112da0304dbcf53d672068760040105581e032584debe5122c390b63aaabb9b0743fd5de3048b4560894dde9c6c44a00c0145e8d4a5100005581e0381e3e5c479adb4f9f582c455be35649cd5522cb39c968c9eff7e89e85008465af3107a40000302675486d88608554cf639c7dd6f8c04e3037ae4ccfd26855e0f074eb4d882e8034baf44d24a1bd9b5f3a36f6d35d3be1ffe9bca6d0263f1dd67fef45a9b8dbae405581e03f2c233cd3689b8d0bf49dcd0d50806a77f0ba1ab3ef13f5f38fe5f537007011bffffffffffffffff02197cfe03001c941d9e72bd475c68ca6a40192e1f97583059e37352302e9ee1a4b34499ad0355ff66b6a558e664adc41cb1418d8f29aa456688bb63b7a481e8416c7a593c3003735e7fedd390a7c30d1120fc704ff9f38e7349c9f833eb4154b76b53b9e7f018038034714d945062c1374193036ef0796312d4ecc3d284b6690e9d560c6290118703f55e20747a22f8881184f4b3b0220c57c127b3ad76a62587a314987b2968785403295c5c53ecfb2f9eb55eb0b683b046456b7b8c13c47d1c013aa87f7857cb496e03c133efa5a002a81277e323bd0ea57c2de71d98dcf543bbdae28d552985dc8b9b03e2b6887bc4bdcb0028dd675d768782d9f5a01d687c336d4262bbc56630c87aba03176f5f899ddaf5114bf54d15e4ccb6d6919c951a152b26cb37f00fe301573492034c6270ae75edfeec548f0ac6ffad012ad97e3a05f4f37b81687b923db176bce50382ae71b624f6bdde15fe30ab8199f19ec9789e7a9386878630f042af64da0e5e033374f964c05e1df53a8112721a5ea517fc67d424e2589fb3309c4bafb0a5d7eb0346d496a3f93ac52148fe4d0e78965954917bdbb1dd48a442590cb089015160820219ffff032ea0c6e1a432ba4854284e28964768a109f0cb44c65ae68c0dd6ed8abc663ac5032e2a056375c5e64edd212b5bd8a36b1e12b23b6fdf1849a990e614caf4e657ee03f9f49a8cb03fcfa65b5281b697d3cb1a64f700be264efa9dc9f3b6635c5e926e03326db74998a5ffadd08f513096f3a2121b2a817988893f7961c5260523f705c9035560fc21375e1e246e4e5b62f14def48710679e5a5f8e424a35f0f587616017f03f1e61a0933d95a1c0ac0cae93e4062f59759c2bcda10e53d921a972f629fdb02030e07edd319cb384f9272a07a172c4ed1c53007657c65d8f4c24f93b27e51ca100219ffff03abd46c633d658b98d7b72ba75d386849758fdc522d0b651bafe366965bb1bfb3036f8860d7380fbf97d4d0909e0839559511da5f116a3694e271e4efb4c80ec48203d7f707977944b9f5cc1f3adbc6e3f043b5c1dfd411922f39abdcd91c26f9e5a3033b9774ff2d9b272eb506128ec883b67291599cd914112fa662c8720b5d0f8ce80219ffff03fec016daed630c3721afaf2682a0e321660c010ec5aaaebe7f9628f423b586c103717ce1afa830b4bed5bb2e193d64b40fbe163a3aaa2f94ab15f9576c992cb7f203eac442d218d5527eb2fbdf42740abc91eb5b87d0ebe3c853c6c181cdc5202a160219ffff03fb5eddbce47001c926a9507b97dbe8ff9fd17cdce72b1dda30d57179fa0c7f2a03d154ef734eb7c449c7d7f164cacfff43ddd66bfba07f4aff5db40ec009066a9703c5dc215ad815c9bf1d4c202c4bd4235c0cb4ab5efd0f085bea5a7c9eb54fd3f003ce287673fb8402da9f2e759a20d047f503a9ac0fd2de4c6b2aa81d0ca98aa2de032425a7e5e75b462c73ea9dcbc93932bbbc53e28570ea94354ad98044b7bc60af0385caf061d566d6a881b902a27bf42f7742a29c85198e9167721fe67535a7083803c1b86f1b008604c0a105255a39178224d3b192f7257b00ac26ff36b9f421312503fefdcb363b7d5af56d1a92f869785343abef1afc52d750d2c8cf88a5d2660df303aac049f2a8c24526c6c1b7df27b35c76f82dd7c376eec0147036a5efa6b99d8b0366f8e5f88ae3a09ad26b59fa3951446855541d02796af459ec10fa0487c9f700039e1b197750999a084aa9895836a02522eb4ae00b3b73481cd3cd5eaa916ea70a038b643073997df6da72b1546ca0ff53a1878333ec919bffea9e88d449223a0f4403b5c02a834b473be090e862cca00dd2320488a17d5e942a1fa46fe563614efc0003ce96bf3fe99661adb5c71dc42b51a6efcd419597022fba99035a3ae2a574ffe203cb9133da2b2e2c059e94682163483f0217f50e6b9f823ff6bc16bc7c06092f11038f3d70a6f3870255eb62ab2da6f5020a7193f486f913716067769c0844d6e285038024c7c3311fb35150e3b2117a1da575f731e3011e776bf1a2e086b882d465e703cc3b9785a7abf5b39735214e614a069ba4cef44cd0b5a81716b9fab92e19c8ff038716e29a9ecb816f9f033f0b59cc3be3a3679684424f18ccabdce9be6c6d16570339a88ab2fe3ddf94a4183977cdf182c510128109bf53401c8f4ba129d795003b03694c0ff26da2dd6d37ee9424b7ce88bb9d71fb85948d59db250d1b1c0087e19105581e03cff7c8af0354180cbab5221c0e3e045290af38e044a9ae1accc4f403b007011bffffffffffffffff05581e03e57a482878fa6eacf1623f613b2e4f510edcbaa963113034954a4ec1500c134703bfdd4d84f86905581e03b76f1b01e69163c55cef898062d24230eda3526e60b922fe2827085ca00401031f9e175be9c9ead3e9eb909155da618f52052a75263c418833def2b644be669f05581e03e04e5a3af9d50a889b06ab6b9fbee00cbe1fe79ada097da0c61d8a6d40040105581e03d2eb56bb811f36de24cd3219a604c17b533c3c592ceab8f328ddf037100c15480156c1eb5902925c0357aaa7fbc833da98aae9ed53cb3bfc7ecc5d2d1bddd9e597b220d6c9b464228303647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0373c5dec0c39df458200472668fadaba3ba732e214eb245cb137876ede47c718605581e0326f5fa06698eff496e89564cf31cdb0bdbf3334124ffdb42af125d944007011bffffffffffffffff05581e03a7098eb12c5feee1faaf0ca1c540027ec8190254a61d89e2a9c7722e6004030459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000001294f4183763743c7c9519bec51773fb3acd78fd81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000001294f4183763743c7c9519bec51773fb3acd78fd8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000001294f4183763743c7c9519bec51773fb3acd78fd8b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000001294f4183763743c7c9519bec51773fb3acd78fd908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000001294f4183763743c7c9519bec51773fb3acd78fd9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000c48396f068c62e0192c9f2c1caa7e07bbd15dbc71614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000001294f4183763743c7c9519bec51773fb3acd78fd1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03345104bff2ed880c2eaa5db45853e8dea5ddf0ea19023984328ca983a6cf506600582002c2438357480ca28235c07295761299ca72c4887193fcdde54f861e4a73f25c4d4eed99c874ff9fe24a58148232031d92dd9a317af3ae61ba79710bcc5315d9a939486f67283dc1810839bcab9857034f058fe6b90aed6f21a3e1f3c51ee5ef7e88726d68958fa54a1f1012bbc78937035d662d98c69df1353553e2dd64ac6fa494b62e37071f4aafffc2a60680d0419603021b05ffc56677eb7a9a08d10beceabd0fbf497ff42d5da3262b82dd9aa5ecef035f412cc22be93e2370de9ac8e05f1a1290175087055b69b4dd6238a86aac733203ddcd1cb735ade235ae23d0d1ef4cb3f6038e46fbec7a3132c4e7b0c4cbffa625037706de1900bc88a4bc3897837864af4a2c35d7dd537a09e80fc53490aeb04b78005820024f2e3a19167177fd335d4b85087bf312eda4bb07dc770b266f8d186a4e6d9e4f0217b2e70e99797e2550d903b915c303dde25b7d0632192a54791688f815a3bc9b2a9317bed015113610e6ee61d5d86803a2468fd254cf0eec861900cd615b65acc958f6522e031502626ec3a1857182c0037c1bbc8440cb1b908e4cf16c62bb66e7dcbe7829e0664df97ccdcc26d72a71b500581f0247dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672582001000000000000000000000111effe9fd7485928efffff6f36472a8c65cf130b00581f02382c6eea093c9a3292b3b2aaabe83eec8739f340280083321643b134033f513288dcac3cefc664d80d6f8383a73c714a0219210000582003231986549bf40f1f1714905a1ddcdecdf34bf2731e26ecb831d84092e8d9d051025c4f6cd2ecf02a7c335d71d4b289cc3e00582003b6163a09cc40beca14ccd57db69e3d9afff441128f67d9f46049174c8350d04d3948fd59d4aecda7f23fbabfe100582003adae81efe8297da4c6d5ebce4ca388c8226b1372d8749603497d853d75d6304f020c1c67a2fadd6bc52d4e6b904749021922e0032d55bb8ad03fcc3d06b02a7c7feac7d98855e2e10481223e021698665f9a56c303e73e46fec0e71328bc26de14929056509e78991edb9c70f9c5d782456d0447930350db747b488fe693e0bae5f7858114e23b889ed2dd599594d71fbf1f9dfa0f78039af2712f76b5ce920b6bfe2e685129057672cdcd3517789fe82f0d52068aa7d80219ffff032a4b479f27b7a27e8cbb18f2542086424e0c2ae1230c5b9ead736cee8a3bccce03396d8345ca306ea8ae3ec2a4fdd495493399b9382680dadb8822a44f5d05ac320337af03e34b28e5a077b033409b918a04a38d1b56a36b4fd77f5cb78f9be946020315ed96172857509f1dcc4835e472ead80e38c00ccd7cedcc33434b096411d1f303576c044812a886d16764cbd92670cf782ae820cb6e3629f6789041724efad1d203e7206bd72498f049e962e988281706766f9ec7a4ed6002477be83d8c4c09d2e003be5ee9570093ce9d1fa5523909c60771afdf3382c394b4ad1283b6e8ee01f10e037ff4bf849ad387a759016f5c776e663399fdb7f1ff9d57c6cf3b55bd6a6058b103b2aee9da4ec8d826f15f200a9cd1bbc6dd83bb7b0053ea3d884b19c7a933817a00582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100002900290007fe266900000000000000000098bd320cd9d794dc92856d0058200331cf384be79cb913c467650237c8f751174408c2ed2ee2309b57b42094b9305025c256d51e814d206cb021a44561c21a0058200347f75d6b30218b152923779d2960e8b5e34a97f9a63c62181a936f7e1dcf0058200100000000000000000000000000000000000000000000000000000000000000021908410372c826c1cb47dff2fe24fb414bb86d82e63354fe9e41e24fd97295303f6093a4039c774e2e98c42e2cb315bffd5104a9ac0bb7d0f6047c7a9241d1fdc2c3ab86b803a7830418f89738d9c27f5ef6be34ed92d87a32c274f5b3a7df2b20d7ed95d85a037f73b1991fbb181a78bfa8f35aad2be4043a9254c861b531aa73ca15625e5b0b03a0698e077d13ef5f5766146286cd3a9b9612191e91841faca1e618de11c791fc02197fff0338a3ef50fcfaf400004d3224d0dabcd0bcf1aea258acfd89afa03c4721b372f7037a78b89cdf53c418c0faa17cb7a4ed3be1771c67c10b6d6d2494a1a9ef5fb0d303aece60f49768604047c19e0aede29172a10389c16c49fd40118e180eab93483f0370da111f8d2827b298211f4575dc870b25265170c2a5e1b7f8c50980a73bf83503cf0563feb16097565882145b2c0295531ae70fce36315e4de29276507dc57a60039af9c4e86b95b025c08f4140f40ce576eccc064fdd395404da0c44768f8efe94030a3eaa55e6e69cad7d67c42955dcbd08ec2424f944d9c5410e1bc4a93f4a163503d0a13b7ad3371fd90ac9c8abe49f70d4b06931200be1e62208fd6bdf58fa4de803ae93b503681f1d72df2624ef8c0658fc6507ffb6a01ab6e87855ecc955a64cfa03c3a8f74a06c89a1b8f830b935f0dd23c2d646e0b3ede5174eed1926c8d1e0eef03da29cc7d05352e6849ce46769ccc4c7a9454db20b9cc8a5f5a48aa6fde847575036d687e6cc50d7831ca146530e0df00f26c30a812bcfe2790c0699ad77e888f9b00582003f3f2d914bfe38f4feb4fb609d3ae54515292d50314f37c335e00314e1adf404a01febc6b5f3bff62160c005820035451134a44c7a5e79f2f70514810961723a0b2300646cfa1112dd808bdc0a04e0e2e14b8861f85a36325216877d0005820033e1e06859b73e49492b3c27b75514574e4c70ac611a048f5a5ad30028629105820401000080001a0710fefe7fd6c3900000000008000000000000000000000000002196024035bb529bd7331a1dc372d179b1903fa257143afc15e77821a2756c6c8ad3b5af103369ea9e569a486f1c3e96fe3db0f2cfd31c9201b8eb7ef33c53032c3d193f8cc035b955078a79e018c5d8541a973c82db830775572b313963773c19602821de06903fce9c18e50c0471ed9b58383fe5e9cb0e6ec6dc68745a4f94316e76314ebd69b0219ff7f03b2325fe62a733312fa59c7d739cff35103278d738dd97a39332dc42404faf38203bb24bb6cf0c63ebf89310cfba42d76b3483213989156fb1f588b4753e91cdbb8036f2aa4ca84493be68612d2c20120e2003b4099fa1708dc2c9794c10343f479d503c89ec0c3c67e6fa91f3f08d2f2ac741474ac9d97ae1fca73694b9047ad74e61503456292c7c44ae2115865de71b325cd5b9db9efe91ec96b898f5cd52af32df3a203d67c461878e8c9133026c83ad3bb2149f0f8adef0f9eb7c5e7233fa851c636b7032352c4ae444a389858ada7b562e18a1a9f691f418626ab4296c24cbcff6811e303b4d530d3f9e151dbf9697b9d10b8ee69ec1106e7ae9ea1306a6340148e12705703182f6ce7b517714676c7ed9b8d89bd74c4ef18868d0ed73b9ff23e317ae1061d035c81d8b605df97ac08b21da82bcdfd53955d8b82bbf531973f0302deeb95775c03b9f554b5c6bb4af2b5c97efb92ac0c047e5fd6e66971abf13d1143223819e43803889ae54885bdc14d0b16aa77a1e13dd905fea863731feb1bb61a132b6c67b76403876d307dadd841aa4157fcab42352ac47612f74b5b27b21b992f0e6ca9126a13005820031c3fcd6e8e1b5e815901f29380ef6cbcba0f345bc394271975b417fdc026c050811381986a5059e63ff81de4dd5b9c1d00582003b61a22d96136be31354bdaaec49144e4fb909cc72f1099c79466e90f31275050536b1de062fe6c04ec9d9663118e2b40005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a8799d9323f0ad5f6702f0058200322e038464c85f36dafcd377f2d8f5f4c40a13076efdbeaa77a2ab8602aa0a0515e1e57ea4ab6f5138442c7ed947a0f4fa400582003b67b1eff21cb8ff751bc256aafefd20948c94e40b477fc742a66fdd9f4f3e04f020a9acff59ea59607059a17533f6a00582003c404aa81d8e8a73c8136530caf8cf6ba732a3e615682ad32ad8aa4e88546704e6df7478fa0f82fc378b55f8164aa00582003d88cc0d405cb079bfd688e9704db2c02325775e736f2dd80a8a9ce4ddb41e05108d448e972550649a66041a7f41fc5038f0219152b03d51ff797284024f7e6313f926e51bdac8898b13b80c3d478f950f32f4c00749903f93bd93f9906d33b36fe041a74bab78ca62e5199c7930f956a20a895bc0d0c18005820036e2dbd8381150e859af15df98fc72de87287387b4b3664d522c26ee3520490581a0ce12ce274f5aa92feb60000000000000ce12ce274f5aa92feb600581f0208e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8025820010000000000000000000001125eac749022ec5735ffff6ead2d144c65cf5d3300581f025c0a0bb3a0cd4cdbfccb942102e9736bdd1a8eb3429ab29d814f63a23c23582001658f726700000000000000000000006f4862662aca937515ffffe2913b77580212005820037fbb5798dc42dd41751d41bee0bf2beeb6bd89b9950fea84f6f067fa676d205101b7106215b701b9e8b9ca1d8572faa6e3005820038799b08ca274b89a62890903f384a3ede58bd14301d28eee593fbc0a8dc6a05820ffffffffffffffffffffffffffffffffffff156986826f432dbbefe7a2c1bc710219204303f934169ae87813bfa4a887c9a00d4646b9bb9fc47330216f45701ae8aa8dcbdf0384f8b466b28ee92ee58ec021c985ed9f71143686c8a6d7303bc6c4940c4261f80219ffff0333c7cbffe14c4b51281a9dfaf43cbc98ff8f3e19cceb20a727b417fdd3758cf70317f4a17c52305943cc793155c3e4cdbf15f1eac1ac1a51aee18bc03929c8aa6303dbb0fe27b8e16d8ec81eda28e03db013cee8da7c84c77baa43163e8c9433076a00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60515efe9867fa14e089ac2605edf650a5129d00582003177ddfa15922f74e7fbf7ab3f4be07adb4d1b99e2274116dc63ab7ab8b615050334a46ee6489a7c5fc5e1b077c510c3f00582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e058200100000000000000000000011201f3d348f1d18ca0ffff6f1faa00a065cf1f4703cb39f1fb09304c3630c3594e56ed23499d81a4cad0f5046d20f9a90427e602620219400d034758328c1dbd5c42097fc4d84c08077c1f19b655a67330d74ab593bd4a3e4a8403f8d3186a1b8d54d8a9964bb1688603fad171554c1095c7f2433fb2e0c69892ed00582002a06e73ca2e6f701f6a845f102857017d091ee222b1d9fc9c73ccfcc43e11c75820fffffffffffffffffffffffffffffffbbde5cdfc70f017582ee02308e2d0ba0503e23e8af49a61364f62768747692c72bd1eb90dc7f10ae3781d9c164e8f644a39036621b65e4ea287fa04adc465ed5ae9a5139849e6ce7cd1c382dae14ce91d3337034b34d568076f55921c979058ca35b6e05d18b8c16dda283dcbd3821979e09ed201410d034394187940a52eff3f11ba8a2715e018b42119f88c7b019b03024bc6f44a2d5303a381c41dc9994c08c1e2653cceeaf8250faadcbc878305ed5f508e60ce498f14037ef5393d4856b05436338fbcf55a7bf645fd6fdc8ae478293a4a773f92519e3203cfaae459c20dfb188813c7e06465d037c0a2a05df9d4f54c6de1a7eb78135b6703efe4d27cc7c858017ee7a1685dd2080fe8713ffb695fc886f728ff954bd16303037176ca23938ee0197f721f97db5ece9b2463200e413e1ea3ea7c9a51ecbe9bcb03d06efda14e92f2dba2d7d8540527475b46f3767e56846cd20856d4f960934a1303a02a68bf030612f94cdc0a6759eb92b6db50c4f71d6d82e8657caf3807de80760219ffff0384e8bc31e7d70b9ac0395d5e7ef88681106480d8a9bb4812c4caa0846ea3d5cd0372b89018d11b2e07850bfccf74b9a0c423e800380d92a0115cc0ab1dfc888d83030db2f50c7260c8ecb09740f5240b896c0a17a699da401e213fba10192590dd1a03249aed5befab3c5185d8d66b1fe6206ed1d4192576c3e399e598ce5963047a500219ffff05581d02a1a24dcda43a2d53f7c4e1c5cef2219d61715052526d98e8ea72b1f3070119567e05581d02f0f8e12362b12e40009c3773105d9270ed5ab4aecff00ca758a87a12040202182105581e03dbe5bda78e36b16e74749b57d2730ee14811b149892b3d1329279b3220040602196dfd036ffcbec67c12566cc5db7175e4289eb3ef59f8ffd4e657d8487d41b81c2589db03d9b0b342fab1dde647e99d6b6c23d14ecd3fd923dc03535644f807de581fca1403465a840be35ab0bab3b09314417e05c02536e511688036d29576ccf21c4cda13032fb7ea56a6128598718312deb4acce3fc689b75563750c5362964698cfd4d1b003604a986ec8630c8d2b55b547ea2346f1fbc905a7370d6e783994b66741fd9c38032fba4fbed640fa98dfe3b953eda4145d636a175abdf4aadeabe46b0ab69c8cb403423773cb8d60f4f56666c7e37d7a9bbc28cb2c8d10987c20c57b73f42faaa6480219ffff03f80fab93e0981e64e754a8e16e6fee8439d62a6c393ed2652e47c686abf6994b036bbe80cc6635f7c2c83699ca38bcfb9b47a131d1d57a8526d00ad8f8157e6ec603e9d2362c25cb5d3e7e27a914c9ee68c275aede30544e792c87ad82b1067037180341dc5c7d8f748f463b2f81d0513c6c232f59808bd5b03f2861143eda5c0584ad03eac27dba98b3dddddbd4866316bf49bfe6385699e6c9794a18daf54d10acea61037bec9a9718fb27abb63ba1bd34169ce10e5a7cd84e8bfc3a441b6eb928fdeb5d03edb7d8f96c9f26398981452070f8ff8192f6c7781fa6d425d0ff9cc016fd59dd03228e537ed6c548261ea56be5f526dd049272d81cee32376fd676d001d252ae5e03d8fceb78c05621f89d2f29fcee3e2ee76ecebecfedb5b271eb077c3adfa256d503cbe2d1b5a5d84f284454c610d2f76f870a419fad272c321a2a9ad2e86b3396eb0219ffff03f6db3856afab202b105ca8b283787d9cb05679ecda6f4322ef446e0351672fb5034fecb682c03f88a6e2f1fe0a1539d1d5576792b898423f1871b39a2ec5271bbc0311d24d294f9012df7f2bdcdabacb1eeb2d5a8f2b09b6a279cf8d614bf6983a26034190814e17f5d502a07f74f2fc7d8e279de8b435d709cb501f6dbcc36e15213f03f790a911c5e7732a669c08eff5215bf15efb283529a1637200ea992a62e9398903202238da336ccc4e68872ea7bbe3c5121fa0e7d29c38d714cca4827f7486e3d20310dbb2a0cf2f2930a7e2c42e53c6ed796514731f720725d92140756b45e292010390a13a2efacae094cee2d583b1a18bf075d7cdd47ae64f712b5d5038b92c647e033422ca420727e6f4f18eef1defe167903780e231db9fdccbea23960aec150f6303c19752213dbd31d4a0767172e4305a00108b413458512818bc99339c0537961803b629e92638f706b36935cf9b64d0e01601f472d06bdbec369ae79256dcc0a4a503178537331611a9810c716af98a26b8c0009363a496a7419b05579889f372c247038843d3d1fc2f51512feb2f8234acf6a350e1ab47eac31689df42b981f97da8290219ffff03a1c275bf4c05f22ded44ac6f068f660223424328abcf145831f4bf52d6ffaf2c0382fba78c91de54993b5c6e3bdabad8576dca928a2adfd8c3c17c286ad4072ddb03141d7b9c343105a9d3f2adbcb043ed44cdec21cee0cd585db5e5e5ae4ef5adda03c35819a0fdc34bd6477a16092c5c318f513ea4bc0b0970f943e603e641a809ed0337a617d6fc4796e05c988e1203e2d4e94e8bdb214cf392a8b08f4ee122fe817f03fc0d49e3d3c7ba27ba1e3c95336bbb4d87bed85c21e9628614b7bd24c0be8fc403a1e22c350d4764f77098a0569b4a59d7f5094f8dc7d9ad5c50ffb5e5da4b8eaf03ef6fb394839988f145747bf362077c9017d9f3c8110095664dbf056206906abc03ee188f82c05e8bedbd7fdc8685703b3775a903e1f9a054ed21ae5e36522ef8b903c869bbbec52b9a3401484bac556f3ed376a2ef5687f9d12edf94d86efbc79aec0367dec6b72cd1a91b9b6359e006550a4da4d427120cec6357730bb88c7f7e55af037a491c03c1e55d31ec18fe0b919b901ecbd6842c90e8c33c7ee6134bcfb86f2503c08d350a850394994a0c48f1a7ec1c824148006032a67c8dfbf4e48569a233d20329e034bd816f6efb251c855ba492edf0ceeda208938d6cdf177759f3cf63dbb0038f45b0c63e575adf2edde199a4e50c7a2a8bc59e532097c91e4bf0b2561d78990304f1e12d01dd5e4e5e2c5f121dd8a9562cc89b6db93a65bf0b3fe16ed1b3199503352f3f6b5147125529868426050a8f6b7f0dab19217a1712b5f2d187beb729c505581e036223155c63fa7f6836d5cd88bad3598348d035e6b7850c425c27ee94200c0347013f79203fde8005581d02413ac692e436f7525e18c76b388f0de2d82ba2adfaa4912457e1e93d040105581d02bc64e9615094c2093530cd1e7dfcb6c609a48e419916b29e5dc83afa0c02477c90f0bf3bb0300459557b6080604052600436106101b2575f3560e01c80637430e0c6116100e7578063ac71045e11610087578063b3a4074e11610062578063b3a4074e14610732578063b6aff8c114610751578063e5d1e72314610764578063f7a2da2314610783575f80fd5b8063ac71045e1461069d578063af1e1de3146106ee578063b01ef6081461071f575f80fd5b806387a4fdcb116100c257806387a4fdcb14610526578063895633ba146105575780639e64ba6c146105895780639e79b41f14610602575f80fd5b80637430e0c61461049a578063798bac8d146104b95780637e043795146104d8575f80fd5b80632ab2b52b116101525780634eb123171161012d5780634eb12317146104175780634fca06c614610436578063614b151c146104555780636a90a82714610468575f80fd5b80632ab2b52b146103515780634635256e146103ad57806347e35740146103f8575f80fd5b806321dbd9aa1161018d57806321dbd9aa14610289578063228b1318146102e1578063262907c51461031357806329e0e16014610332575f80fd5b806303ec16d71461022c57806321506fff1461024b578063215619351461026a575f80fd5b36610228573373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d504431614610226576040517faa39384e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b005b5f80fd5b348015610237575f80fd5b50610226610246366004614dbf565b6107b5565b348015610256575f80fd5b50610226610265366004614ddf565b61090d565b348015610275575f80fd5b50610226610284366004614e17565b610bbc565b348015610294575f80fd5b507f00000000000000000000000015cfbf58b02f62e3083d063ebe394fac5bdd674c5b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156102ec575f80fd5b507f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb76102b7565b34801561031e575f80fd5b506102b761032d366004614e17565b610d5d565b34801561033d575f80fd5b5061022661034c366004614e41565b610e05565b34801561035c575f80fd5b5061039f61036b366004614e17565b73ffffffffffffffffffffffffffffffffffffffff9091165f90815261177660209081526040808320938352929052205490565b6040519081526020016102d8565b3480156103b8575f80fd5b506103cc6103c7366004614e17565b610f84565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526020830191909152016102d8565b348015610403575f80fd5b5061039f610412366004614ddf565b611046565b348015610422575f80fd5b50610226610431366004614e86565b61107d565b348015610441575f80fd5b506102b7610450366004614e17565b611236565b61039f610463366004614eb8565b611241565b348015610473575f80fd5b507f000000000000000000000000762340b8a40cdd5bfc3edd94265899fda345d0e36102b7565b3480156104a5575f80fd5b506102266104b4366004614ddf565b611698565b3480156104c4575f80fd5b506102266104d3366004614e86565b6116ff565b3480156104e3575f80fd5b5061039f6104f2366004614e17565b73ffffffffffffffffffffffffffffffffffffffff9091165f90815261129360209081526040808320938352929052205490565b348015610531575f80fd5b50610545610540366004614f0e565b6119c1565b6040516102d896959493929190614ff9565b348015610562575f80fd5b507f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d504436102b7565b348015610594575f80fd5b506102b76105a3366004614ddf565b5f9081526117776020526040908190206006810154600290910154740100000000000000000000000000000000000000009182900467ffffffffffffffff1691900490911b73ffffffffffffffffffffffff0000000000000000161790565b34801561060d575f80fd5b5061062161061c366004614ddf565b611b96565b6040516102d891905f6101008201905073ffffffffffffffffffffffffffffffffffffffff80845116835260208401516020840152806040850151166040840152606084015160608401526080840151608084015260a084015160a08401528060c08501511660c08401525060e083015160e083015292915050565b3480156106a8575f80fd5b506106bc6106b7366004614e17565b611cf4565b6040805173ffffffffffffffffffffffffffffffffffffffff90941684526020840192909252908201526060016102d8565b3480156106f9575f80fd5b5061070d610708366004614e86565b611d90565b6040516102d896959493929190615042565b61022661072d366004614eb8565b611dff565b34801561073d575f80fd5b5061039f61074c3660046150a2565b611f1a565b61022661075f3660046150da565b61220f565b34801561076f575f80fd5b5061039f61077e366004614e17565b6126a5565b34801561078e575f80fd5b507f00000000000000000000000067df244584b67e8c51b10ad610aaffa9a402fdb66102b7565b6107be81612716565b5f82815261177760205260408120906107d561274f565b600283015490915073ffffffffffffffffffffffffffffffffffffffff8083169116146108515760028201546040517f9802550c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911660048201526024015b60405180910390fd5b60058201541561088d576040517f5aea7c4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828260070154036108ca576040517f4b669ac700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007820183905560405183815284907f0c0f2662914f0cd1e952db2aa425901cb00e7c1f507687d22cb04e836d55d9c7906020015b60405180910390a250505050565b61091561275d565b5f81815261177760209081526040808320815161016081018352815473ffffffffffffffffffffffffffffffffffffffff908116825260018301549482019490945260028201548085169382019390935274010000000000000000000000000000000000000000928390046bffffffffffffffffffffffff16606082015260038201546080820152600482015460a0820152600582015460c0820152600682015493841660e082015291830467ffffffffffffffff166101008301527c010000000000000000000000000000000000000000000000000000000090920463ffffffff1661012082015260079091015461014082015290610a1361274f565b90508073ffffffffffffffffffffffffffffffffffffffff16826040015173ffffffffffffffffffffffffffffffffffffffff1614610a9c5760408083015190517f9802550c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610848565b60c082015115610ad8576040517f5aea7c4700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815173ffffffffffffffffffffffffffffffffffffffff165f9081526117766020908152604080832082860180518552908352818420849055868452611777909252822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001681556001810183905560028101839055600381018390556004810183905560058101839055600681018390556007019190915582519051610b829190836127d2565b60405183907f14b9c40404d5b41deb481f9a40b8aeb2bf4b47679b38cf757075a66ed510f7f1905f90a25050610bb96001610b8755565b50565b610bc461275d565b73ffffffffffffffffffffffffffffffffffffffff8083165f908152611f4e6020908152604080832085845290915281205490911690610c0261274f565b905073ffffffffffffffffffffffffffffffffffffffff8216610c51576040517fc09f8e8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610cce576040517ff049b41a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610848565b73ffffffffffffffffffffffffffffffffffffffff84165f908152611f4e60209081526040808320868452909152812055610d0a8484846127d2565b604051839073ffffffffffffffffffffffffffffffffffffffff8616907f70c7877531c04c7d9caa8a7eca127384f04e8a6ee58b63f778ce5401d8bcae41905f90a35050610d596001610b8755565b5050565b73ffffffffffffffffffffffffffffffffffffffff82165f908152612337602090815260408083208484529091528120805463ffffffff16421115610da5575f915050610dff565b8054600182015470010000000000000000000000000000000090910460201b73ffffffffffffffffffffffffffffffff00000000167401000000000000000000000000000000000000000090910463ffffffff16175b9150505b92915050565b610e0d61275d565b73ffffffffffffffffffffffffffffffffffffffff84165f908152612337602090815260408083208684529091529020805463ffffffff16421115610e895780546040517f8c9e57cf00000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401610848565b805464010000000090046bffffffffffffffffffffffff16821115610ef45780546040517f242373610000000000000000000000000000000000000000000000000000000081526401000000009091046bffffffffffffffffffffffff166004820152602401610848565b600181015473ffffffffffffffffffffffffffffffffffffffff848116911614610f685760018101546040517fa7d95dc300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610848565b610f7285856127dd565b50610f7e6001610b8755565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8083165f908152611f4e602090815260408083208584529091528120549091169081610fe657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61103f565b5073ffffffffffffffffffffffffffffffffffffffff83165f908152611f4e602090815260408083208584529091529020547401000000000000000000000000000000000000000090046bffffffffffffffffffffffff165b9250929050565b5f8181526117776020526040812060058101548203611069576007015492915050565b6110768160070154612bff565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff83165f908152611293602090815260408083208584529091529020548190036110e7576040517fe5c3f26300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110f18383612c20565b801561118f5761110081421190565b15611137576040517fdbaca9d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6111456303c2670042615110565b81111561118f5761115a6303c2670042615110565b6040517f857c0df100000000000000000000000000000000000000000000000000000000815260040161084891815260200190565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526112936020908152604080832085845290915290208190556111ca61274f565b73ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff167fc8a67fb17ad40fabf835a5c96e0438644464257af6f325f44f1615aabc0e41ba8460405161122991815260200190565b60405180910390a4505050565b5f6110768383612c60565b5f61124d858585612c6b565b1561125957505f611690565b6112638585612cf9565b1561129a576040517f83a483f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85165f908152612337602090815260408083208784529091528120906112d361274f565b825490915063ffffffff164211156113a5576040517f4ec58ed700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8281166004830152602482018790527f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d504431690634ec58ed790349060440160206040518083038185885af1158015611379573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061139e9190615148565b92506114fd565b81545f906113c89064010000000090046bffffffffffffffffffffffff16612bff565b905080861015611407576040517fe40a30e600000000000000000000000000000000000000000000000000000000815260048101829052602401610848565b600183015483546040517f5fdec56100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015263ffffffff821660248201526401000000009091046bffffffffffffffffffffffff1660448201528382166064820152608481018890527f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d5044390911690635fdec56190349060a40160206040518083038185885af11580156114d4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114f99190615148565b9350505b6001820180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117909155825463ffffffff85167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909116176401000000006bffffffffffffffffffffffff8816021783557f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d504438116908516036115ba575f93505b81546fffffffffffffffffffffffffffffffff908116602086811c909216700100000000000000000000000000000000021783556001830180547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff8816021790556040805187815291820185905273ffffffffffffffffffffffffffffffffffffffff838116928992918b16917ece0a712e4e277ac7b34942865f0de7a5629dffe0539b70423ad5ff1ed6ab42910160405180910390a450505b949350505050565b6116a061275d565b5f818152611777602052604081206005015490036116ea576040517f4b6ad8fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116f4815f612d50565b610bb96001610b8755565b61170761275d565b611712838383613053565b6119b1576bffffffffffffffffffffffff81111561175c576040517f35ec82cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8381165f908152611f4e602090815260408083208684529091529020805490918116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16831480156117dd575073ffffffffffffffffffffffffffffffffffffffff811615155b15611814576040517fb6950f3600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021782555f61185e61274f565b905073ffffffffffffffffffffffffffffffffffffffff82166118c85761188586866130c6565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8216178355611945565b8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611945576040517f697d918e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610848565b8073ffffffffffffffffffffffffffffffffffffffff16858773ffffffffffffffffffffffffffffffffffffffff167ffcc77ea8bdcce862f43b7fb00fe6b0eb90d6aeead27d3800d9257cf7a05f9d96876040516119a591815260200190565b60405180910390a45050505b6119bc6001610b8755565b505050565b5f6060805f805f806040518061012001604052806119fc7f00000000000000000000000000000000000000000000000000000000000001f490565b81526020017f0000000000000000000000000000000000000000000000000000000000000000151581526020018e73ffffffffffffffffffffffffffffffffffffffff1681526020018d81526020018b81526020018c73ffffffffffffffffffffffffffffffffffffffff1681526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018961ffff168152602001611a9b61274f565b73ffffffffffffffffffffffffffffffffffffffff1681525090507f00000000000000000000000015cfbf58b02f62e3083d063ebe394fac5bdd674c73ffffffffffffffffffffffffffffffffffffffff16630e13eac1826040518263ffffffff1660e01b8152600401611b0f919061515f565b5f60405180830381865afa158015611b29573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611b6e9190810190615341565b809750819850829950839a50849b50859c505050505050505096509650965096509650969050565b611c186040518061010001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b5f82815261177760205260408120600681015490917c010000000000000000000000000000000000000000000000000000000090910463ffffffff1690819003611c7f57507f00000000000000000000000000000000000000000000000000000000000151805b6040805161010081018252835473ffffffffffffffffffffffffffffffffffffffff908116825260018501546020830152600285015481169282019290925260608101929092526103846080830152600583015460a083015260068301541660c082015260079091015460e082015292915050565b73ffffffffffffffffffffffffffffffffffffffff82165f90815261233760209081526040808320848452909152812080548291829163ffffffff16421115611d46575f805f93509350935050611d89565b6001810154905473ffffffffffffffffffffffffffffffffffffffff909116935063ffffffff8116925064010000000090046bffffffffffffffffffffffff1690505b9250925092565b5f806060805f80611da189896130d0565b9050611db18989838a5f806119c1565b50939950919650945092505f90505b8351811015611df257838181518110611ddb57611ddb615423565b602002602001015186019550806001019050611dc0565b5093975093979195509350565b73ffffffffffffffffffffffffffffffffffffffff84165f908152611f4e60209081526040808320868452909152902080547401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16831015611eba5780546040517f16b5016f000000000000000000000000000000000000000000000000000000008152740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff166004820152602401610848565b805473ffffffffffffffffffffffffffffffffffffffff16611f08576040517fda48e18400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f13858584613185565b5050505050565b5f611f2361275d565b611f2c83612716565b815f03611f5b577f00000000000000000000000000000000000000000000000000000000000151809150611fdd565b62093a80821115611f9d576040517fccd285bd00000000000000000000000000000000000000000000000000000000815262093a806004820152602401610848565b610384821015611fdd576040517f9299180e0000000000000000000000000000000000000000000000000000000081526103846004820152602401610848565b611fe561331c565b9050611ff185856130c6565b73ffffffffffffffffffffffffffffffffffffffff85165f908152611776602090815260408083208784529091529020541561208f5773ffffffffffffffffffffffffffffffffffffffff85165f90815261177660209081526040808320878452909152908190205490517f7618a0030000000000000000000000000000000000000000000000000000000081526004810191909152602401610848565b5f61209861274f565b73ffffffffffffffffffffffffffffffffffffffff8781165f818152611776602090815260408083208b84528252808320889055878352611777909152902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116909217815560018101899055600281018054909216928416929092179055600781018690559091507f0000000000000000000000000000000000000000000000000000000000015180841461219a576006810180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff8716021790555b60408051858152610384602082015290810186905260608101849052869073ffffffffffffffffffffffffffffffffffffffff808a1691908516907f1062dd3b35f12b4064331244d00f40c1d4831965e4285654157a2409c6217cff9060800160405180910390a450506116906001610b8755565b61221761275d565b5f838152611777602052604081206007810154909103612263576040517f125197d100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3483101561229d576040517fe2bbc1e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60058101545f6122ab61274f565b90507f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d5044373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612304575f93505b73ffffffffffffffffffffffffffffffffffffffff841615158061232757508115155b156123b85760028301805473ffffffffffffffffffffffffffffffffffffffff16604086901c6bffffffffffffffffffffffff1674010000000000000000000000000000000000000000908102919091179091556006840180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1667ffffffffffffffff87169092029190911790555b815f036124d85782600701548510156124055782600701546040517f31e6f71c00000000000000000000000000000000000000000000000000000000815260040161084891815260200190565b8254600184015461242c9173ffffffffffffffffffffffffffffffffffffffff1690613342565b600783018590556006830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617908190557c0100000000000000000000000000000000000000000000000000000000900463ffffffff165f8190036124c857507f00000000000000000000000000000000000000000000000000000000000151805b420160058401819055915061263a565b6124e182421190565b1561251b576040517f3feeb88d00000000000000000000000000000000000000000000000000000000815260048101839052602401610848565b600683015473ffffffffffffffffffffffffffffffffffffffff808316911603612571576040517fe140576800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61257f8460070154612bff565b9050808610156125be576040517fcd698a1900000000000000000000000000000000000000000000000000000000815260048101829052602401610848565b506007830180546006850180549288905573ffffffffffffffffffffffffffffffffffffffff8481167fffffffffffffffffffffffff000000000000000000000000000000000000000085161790915590911642610384018085101561262957600586018190559350835b506126378183614e2061334c565b50505b612644855f61351d565b604080518681526020810184905273ffffffffffffffffffffffffffffffffffffffff83169188917f26ea3ebbda62eb1baef13e1c237dddd956c87f80b2801f2616d806d52557b121910160405180910390a35050506119bc6001610b8755565b73ffffffffffffffffffffffffffffffffffffffff82165f908152612337602090815260408083208484529091528120805463ffffffff16421161270c5780546127049064010000000090046bffffffffffffffffffffffff16612bff565b915050610dff565b5060019392505050565b805f03610bb9576040517f3a970fe600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61275861362a565b905090565b6002610b8754036127ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610848565b6002610b8755565b6119bc838383613696565b73ffffffffffffffffffffffffffffffffffffffff8281165f90815261233760209081526040808320858452808352818420825160a081018452815463ffffffff808216835264010000000082046bffffffffffffffffffffffff9081168489019081527001000000000000000000000000000000009093046fffffffffffffffffffffffffffffffff1684880152600185018054808c1660608701908152740100000000000000000000000000000000000000008204851660808801528d8c5297909952989094557fffffffffffffffff00000000000000000000000000000000000000000000000090961690965591518251955193517f4dc8fb3c000000000000000000000000000000000000000000000000000000008152908716600482015294909316602485015291166044830152917f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d504431690634dc8fb3c906064015f604051808303815f87803b158015612954575f80fd5b505af1158015612966573d5f803e3d5ffd5b505050505f61297361274f565b90505f8061299a838787876060015188602001516bffffffffffffffffffffffff166136a1565b6040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810188905291935091505f9073ffffffffffffffffffffffffffffffffffffffff881690636352211e90602401602060405180830381865afa158015612a0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a2e9190615450565b90503073ffffffffffffffffffffffffffffffffffffffff821603612a6257612a5d8787876060015187613799565b612af4565b60608501516040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152918216602482015260448101889052908816906323b872dd906064015f604051808303815f87803b158015612add575f80fd5b505af1158015612aef573d5f803e3d5ffd5b505050505b5f805f612b4f8a8a898b602001516bffffffffffffffffffffffff16612b488d604001518e6080015173ffffffffffffffffffffffffffffffff0000000060209290921b9190911663ffffffff9091161790565b8b8b6137a5565b925092509250876060015173ffffffffffffffffffffffffffffffffffffffff16898b73ffffffffffffffffffffffffffffffffffffffff167f1cb8adb37d6d35e94cd0695ca39895b84371864713f5ca7eada52af9ff23744b8a878787604051612beb949392919073ffffffffffffffffffffffffffffffffffffffff94909416845260208401929092526040830152606082015260800190565b60405180910390a450505050505050505050565b5f600a8204808203612c1657611076836001615110565b6110768382615110565b612c2a82826137ca565b610d59576040517fe390a4ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61107683836137d5565b73ffffffffffffffffffffffffffffffffffffffff8084165f908152611f4e602090815260408083208684529091528120805491929091161580612cd5575080547401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1683105b15612ce3575f915050611076565b612cee85855f613185565b506001949350505050565b73ffffffffffffffffffffffffffffffffffffffff82165f908152611776602090815260408083208484529091528120548015801590610dfb57505f90815261177760205260409020600501544211159392505050565b5f8281526117776020908152604091829020825161016081018452815473ffffffffffffffffffffffffffffffffffffffff908116825260018301549382019390935260028201548084169482019490945274010000000000000000000000000000000000000000938490046bffffffffffffffffffffffff16606082015260038201546080820152600482015460a0820152600582015460c08201819052600683015493841660e083015293830467ffffffffffffffff166101008201527c010000000000000000000000000000000000000000000000000000000090920463ffffffff1661012083015260070154610140820152904211612e87578060c001516040517f3a017f6000000000000000000000000000000000000000000000000000000000815260040161084891815260200190565b5f80612eaa8360400151845f015185602001518660e001518761014001516136a1565b845173ffffffffffffffffffffffffffffffffffffffff165f908152611776602090815260408083208289015184528252808320839055898352611777909152812080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560018101829055600281018290556003810182905560048101829055600581018290556006810182905560070155909250905083612f6157612f61835f015184602001518560e001515f613817565b5f805f612fc0865f0151876020015188604001518961014001518a610100015167ffffffffffffffff1660408c606001516bffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16901b178a8a6137a5565b9250925092508560e0015173ffffffffffffffffffffffffffffffffffffffff16866040015173ffffffffffffffffffffffffffffffffffffffff16897f2edb0e99c6ac35be6731dab554c1d1fa1b7beb675090dbb09fb14e615aca1c4a868686604051613041939291909283526020830191909152604082015260600190565b60405180910390a45050505050505050565b73ffffffffffffffffffffffffffffffffffffffff83165f908152612337602090815260408083208584529091528120805463ffffffff164211806130ae5750805464010000000090046bffffffffffffffffffffffff1683115b156130bc575f915050611076565b612cee85856127dd565b610d5982826138f4565b5f6130db8383612c60565b905073ffffffffffffffffffffffffffffffffffffffff8116610dff576040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff841690636352211e90602401602060405180830381865afa158015613161573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110769190615450565b61318d61275d565b61319783836139ba565b73ffffffffffffffffffffffffffffffffffffffff8381165f908152611f4e60209081526040808320868452808352818420825180840190935280549586168352740100000000000000000000000000000000000000009095046bffffffffffffffffffffffff168284015286845290915291556132158484613a24565b61323281602001516bffffffffffffffffffffffff16600161351d565b5f61323b61274f565b90505f80613261845f015188888688602001516bffffffffffffffffffffffff166136a1565b915091506132718787855f613799565b5f805f6132988a8a895f01518a602001516bffffffffffffffffffffffff168c8a8a6137a5565b89516040805173ffffffffffffffffffffffffffffffffffffffff8c8116825260208201879052918101859052606081018490529497509295509093508116918b918d16907fd28c0a7dd63bc853a4e36306655da9f8c0b29ff9d0605bb976ae420e46a999309060800160405180910390a4505050505050506119bc6001610b8755565b5f61138d545f036133325761138d805460010190555b5061138d80546001810190915590565b610d598282613a8a565b815f0361335857505050565b7f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d5044373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036133cf577f00000000000000000000000067df244584b67e8c51b10ad610aaffa9a402fdb692505b5f8373ffffffffffffffffffffffffffffffffffffffff168383906040515f60405180830381858888f193505050503d805f8114613428576040519150601f19603f3d011682016040523d82523d5f602084013e61342d565b606091505b5050905080610f7e576040517faa67c91900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301527f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d50443169063aa67c9199085906024015f604051808303818588803b1580156134be575f80fd5b505af11580156134d0573d5f803e3d5ffd5b50505050508373ffffffffffffffffffffffffffffffffffffffff167fa2201512569adb2d513531dfd69b66df50bd5cffb8c1bbe65a4611f9e1eadbd1846040516108ff91815260200190565b348211156135ef577f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d5044373ffffffffffffffffffffffffffffffffffffffff1663452f2b8f61356961274f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff909116600482015234850360248201526044015b5f604051808303815f87803b1580156135d5575f80fd5b505af11580156135e7573d5f803e3d5ffd5b505050505050565b8080156135fb57503482105b15610d5957610d5982340361360e61274f565b73ffffffffffffffffffffffffffffffffffffffff1690613a9e565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000762340b8a40cdd5bfc3edd94265899fda345d0e316810361369357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90565b90565b6119bc838383613bf4565b6040517f3221782100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301528581166024830152604482018590528381166064830152608482018390525f91829182917f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb79091169063322178219060a4016060604051808303815f875af1158015613752573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613776919061546b565b90945092509050801561378e5761378e888888613c37565b509550959350505050565b610f7e84848484613d1a565b5f805f6137b78a8a8a8a8a8a8a613de9565b919c909b50909950975050505050505050565b5f6110768383613dfb565b73ffffffffffffffffffffffffffffffffffffffff8083165f908152611f4e602090815260408083208584529091529020541680610dff576110768383613ed4565b73ffffffffffffffffffffffffffffffffffffffff811615613865576040517f57a016b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152604482018590528516906323b872dd906064015f604051808303815f87803b1580156138d8575f80fd5b505af11580156138ea573d5f803e3d5ffd5b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8083165f908152611f4e602090815260408083208584529091529020541680613936576119bc8383613f20565b61393e61274f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146119bc576040517f32f3b03300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610848565b73ffffffffffffffffffffffffffffffffffffffff82165f90815261129360209081526040808320848452909152902054421015610d59576040517f4917db3f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82165f908152612337602090815260408083208484529091529020613a5c61274f565b600182015473ffffffffffffffffffffffffffffffffffffffff9182169116036119bc576119bc838361407f565b613a94828261407f565b610d598282614290565b80471015613b08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610848565b5f8273ffffffffffffffffffffffffffffffffffffffff16826040515f6040518083038185875af1925050503d805f8114613b5e576040519150601f19603f3d011682016040523d82523d5f602084013e613b63565b606091505b50509050806119bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610848565b73ffffffffffffffffffffffffffffffffffffffff8084165f908152611f4e602090815260408083208684529091529020541680610f7e57610f7e8484846142df565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610f7e907f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb790606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f93251fba0000000000000000000000000000000000000000000000000000000017905273ffffffffffffffffffffffffffffffffffffffff86169190614321565b73ffffffffffffffffffffffffffffffffffffffff8085165f908152611f4e60209081526040808320878452909152902054168015613ddd578173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613dd0576040517f32f3b03300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610848565b5f9150613ddd8585614349565b611f13858585856143a8565b5f805f6137b78a8a8a8a8a8a8a6145e0565b73ffffffffffffffffffffffffffffffffffffffff8083165f908152611f4e602090815260408083208584529091528120549091168015613ec357613e3e61274f565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613eba576040517fc89fba3b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610848565b60019150613ecd565b610dfb84846145f2565b5092915050565b73ffffffffffffffffffffffffffffffffffffffff8083165f9081526117766020908152604080832085845282528083205483526117779091529020600201541680610dff575f611076565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526117766020908152604080832084845290915281205490819003613f63576119bc83836146ff565b5f8181526117776020526040812090613f7a61274f565b905081600501545f0361400057600282015473ffffffffffffffffffffffffffffffffffffffff828116911614613ffb5760028201546040517fe64526ee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610848565b611f13565b600682015473ffffffffffffffffffffffffffffffffffffffff8281169116146140745760068201546040517fe64526ee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610848565b611f13836001612d50565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526123376020908152604080832084845290915290205463ffffffff164211610d595773ffffffffffffffffffffffffffffffffffffffff8281165f90815261233760209081526040808320858452808352818420825160a081018452815463ffffffff808216835264010000000082046bffffffffffffffffffffffff9081168489019081527001000000000000000000000000000000009093046fffffffffffffffffffffffffffffffff1684880152600185018054808c1660608701908152740100000000000000000000000000000000000000008204851660808801528d8c5297909952989094557fffffffffffffffff00000000000000000000000000000000000000000000000090961690965591518251955193517f345db493000000000000000000000000000000000000000000000000000000008152908716600482015294909316602485015291166044830152917f00000000000000000000000049128cf8abe9071ee24540a296b5ded3f9d50443169063345db493906064015f604051808303815f87803b158015614233575f80fd5b505af1158015614245573d5f803e3d5ffd5b505060405184925073ffffffffffffffffffffffffffffffffffffffff861691507f30c264456cbd17f5f67d7534654161414f34c0e6cc1b7500e169b7a7aea4afc0905f90a3505050565b73ffffffffffffffffffffffffffffffffffffffff8083165f908152611f4e6020908152604080832085845290915290208054909116156142d5576142d58383614349565b6119bc8383614781565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526117766020908152604080832085845290915281205490036119bc576119bc83838361478b565b60605f61432f8585856147a0565b92509050806143415761434182614850565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff82165f818152611f4e60209081526040808320858452909152808220829055518392917faa6271d89a385571e237d3e7254ccc7c09f68055e6e9b410ed08233a8b9a05cf91a35050565b73ffffffffffffffffffffffffffffffffffffffff84165f9081526117766020908152604080832086845290915290205480156145d4575f8181526117776020526040812060058101549091036145505773ffffffffffffffffffffffffffffffffffffffff83161580159061443b5750600281015473ffffffffffffffffffffffffffffffffffffffff848116911614155b156144905760028101546040517fe64526ee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610848565b73ffffffffffffffffffffffffffffffffffffffff86165f90815261177660209081526040808320888452825280832083905584835261177790915280822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001681556001810183905560028101839055600381018390556004810183905560058101839055600681018390556007018290555183917f5603897cc9b1e866f3f7395ffc6638776041f21c094d0b4e748ff44c407fa36291a26145cf565b600681015473ffffffffffffffffffffffffffffffffffffffff8481169116146145c45760068101546040517fe64526ee00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610848565b6145cf826001612d50565b5f9250505b611f1385858585613817565b5f805f6137b78a8a8a8a8a8a8a614892565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526117766020908152604080832084845290915281205480156146f9575f8181526117776020526040902061463f61274f565b600282015473ffffffffffffffffffffffffffffffffffffffff9081169116146146b35760028101546040517fc0221c7f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610848565b6005810154156146ef576040517fa2a745e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001925050613ecd565b5f610dfb565b8173ffffffffffffffffffffffffffffffffffffffff166323b872dd61472361274f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815273ffffffffffffffffffffffffffffffffffffffff9091166004820152306024820152604481018490526064016135be565b610d5982826148ae565b61479583836148b8565b6119bc838383614992565b5f60608373ffffffffffffffffffffffffffffffffffffffff1683866040516020016147cd9291906154cd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526148059161550c565b5f604051808303815f865af19150503d805f811461483e576040519150601f19603f3d011682016040523d82523d5f602084013e614843565b606091505b5090969095509350505050565b8051156148605780518082602001fd5b6040517f3cfe059f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f61489f8a8a6148b8565b6137b78a8a8a8a8a8a8a6149a8565b610d5982826139ba565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526112936020908152604080832084845290915290205415610d595773ffffffffffffffffffffffffffffffffffffffff82165f9081526112936020908152604080832084845290915281205561492761274f565b73ffffffffffffffffffffffffffffffffffffffff16818373ffffffffffffffffffffffffffffffffffffffff167fc8a67fb17ad40fabf835a5c96e0438644464257af6f325f44f1615aabc0e41ba5f60405161498691815260200190565b60405180910390a45050565b61499d818484614c07565b6119bc838383614db3565b5f805f865f036149bf57505f915081905080614bfa565b6060805f806149d28e8e8e8e8e8d6119c1565b8451959c5091995092975090955090935091505f906001146149f657614e206149fb565b620334505b90505f5b8551811015614a6e57614a45868281518110614a1d57614a1d615423565b6020026020010151868381518110614a3757614a37615423565b60200260200101518461334c565b848181518110614a5757614a57615423565b6020026020010151880197508060010190506149ff565b50614a7c8d87614e2061334c565b614aa97f00000000000000000000000067df244584b67e8c51b10ad610aaffa9a402fdb689614e2061334c565b8215614b3d57614abc8b84614e2061334c565b8d8f73ffffffffffffffffffffffffffffffffffffffff167f141b92fd9766c80ab120598ea2f6be9802470ec59b5446dd9bf46214ead8d08e8d865f604051614b309392919073ffffffffffffffffffffffffffffffffffffffff9390931683526020830191909152604082015260600190565b60405180910390a3968201965b73ffffffffffffffffffffffffffffffffffffffff8a1615614bf4578115614b8157855f03614b6f5795810195614b74565b948101945b614b818a83614e2061334c565b8d8f73ffffffffffffffffffffffffffffffffffffffff167f27a4dd4ff659a9e6354fb079b2208365e5b83f55c22a4150eee2bca89501cb988c85604051614beb92919073ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a35b50505050505b9750975097945050505050565b6040517f8f40f37800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284811660448301525f917f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb790911690638f40f378906064016040805180830381865afa158015614ca3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614cc79190615517565b5090508015610f7e5760405173ffffffffffffffffffffffffffffffffffffffff8416602482015260448101839052611f13907f00000000000000000000000069525dac489e4718964b5615c3d794a25d62beb790606401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f93251fba0000000000000000000000000000000000000000000000000000000017905273ffffffffffffffffffffffffffffffffffffffff87169190614321565b6119bc8383835f613799565b5f8060408385031215614dd0575f80fd5b50508035926020909101359150565b5f60208284031215614def575f80fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610bb9575f80fd5b5f8060408385031215614e28575f80fd5b8235614e3381614df6565b946020939093013593505050565b5f805f8060808587031215614e54575f80fd5b8435614e5f81614df6565b9350602085013592506040850135614e7681614df6565b9396929550929360600135925050565b5f805f60608486031215614e98575f80fd5b8335614ea381614df6565b95602085013595506040909401359392505050565b5f805f8060808587031215614ecb575f80fd5b8435614ed681614df6565b935060208501359250604085013591506060850135614ef481614df6565b939692955090935050565b61ffff81168114610bb9575f80fd5b5f805f805f8060c08789031215614f23575f80fd5b8635614f2e81614df6565b9550602087013594506040870135614f4581614df6565b9350606087013592506080870135614f5c81614df6565b915060a0870135614f6c81614eff565b809150509295509295509295565b5f815180845260208085019450602084015f5b83811015614fbf57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614f8d565b509495945050505050565b5f815180845260208085019450602084015f5b83811015614fbf57815187529582019590820190600101614fdd565b86815260c060208201525f61501160c0830188614f7a565b82810360408401526150238188614fca565b60608401969096525050608081019290925260a0909101529392505050565b86815285602082015260c060408201525f61506060c0830187614f7a565b82810360608401526150728187614fca565b91505083608083015273ffffffffffffffffffffffffffffffffffffffff831660a0830152979650505050505050565b5f805f80608085870312156150b5575f80fd5b84356150c081614df6565b966020860135965060408601359560600135945092505050565b5f805f606084860312156150ec575f80fd5b8335925060208401359150604084013561510581614df6565b809150509250925092565b80820180821115610dff577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f60208284031215615158575f80fd5b5051919050565b5f610120820190508251825260208301511515602083015273ffffffffffffffffffffffffffffffffffffffff6040840151166040830152606083015160608301526080830151608083015260a08301516151d260a084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060c08301516151fa60c084018273ffffffffffffffffffffffffffffffffffffffff169052565b5060e083015161521060e084018261ffff169052565b506101009283015173ffffffffffffffffffffffffffffffffffffffff16919092015290565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156152aa576152aa615236565b604052919050565b5f67ffffffffffffffff8211156152cb576152cb615236565b5060051b60200190565b5f82601f8301126152e4575f80fd5b815160206152f96152f4836152b2565b615263565b8083825260208201915060208460051b87010193508684111561531a575f80fd5b602086015b84811015615336578051835291830191830161531f565b509695505050505050565b5f805f805f8060c08789031215615356575f80fd5b8651955060208088015167ffffffffffffffff80821115615375575f80fd5b818a0191508a601f830112615388575f80fd5b81516153966152f4826152b2565b81815260059190911b8301840190848101908d8311156153b4575f80fd5b938501935b828510156153db5784516153cc81614df6565b825293850193908501906153b9565b60408d0151909a5094505050808311156153f3575f80fd5b505061540189828a016152d5565b945050606087015192506080870151915060a087015190509295509295509295565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215615460575f80fd5b815161107681614df6565b5f805f6060848603121561547d575f80fd5b83519250602084015161548f81614df6565b604085015190925061510581614eff565b5f81515f5b818110156154bf57602081850181015186830152016154a5565b505f93019283525090919050565b5f6154d882856154a0565b60609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001683525050601401919050565b5f61107682846154a0565b5f8060408385031215615528575f80fd5b82519150602083015161553a81614eff565b80915050925092905056fea26469706673582212206163fddf961112b0284fe1d69e9a0a24064e77f2d6c596b93a45476cb5726ac464736f6c634300081700330605581c03ddd034efd95567cb0698ecdc52a9baf22abcbbf82e224888985b20070119557b05581c03d39ac99afc05e2417ccad87c13654c1be987ab9edc1497b04bee100c0147042d66ed6b7800021942000142004e02191041034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03a3db1cbadf101d51dd72643e0cb1cb35b895929fa5d673c8839b02942007011bffffffffffffffff05581e03a42e7ed265143df1c72dac551980cc36efbc790b22c455275a597d9680040105581e03cb12b94ac15dec1ace57a6254531e9efb922d6bbb32313dd26e78746200c074703cde40bbf702805581e03541a9b188a8ed3c62c5ecbe9bfb7dcad7b2b56f052649cc9f7af537360040205581e03697c4305a000e249931f677a86f9e7577fb415899b13bcb502a9fa30d00c0b464d262c65e3f803b9f8fea8d969a147aee0f9a51be5970231fa0d879c201b9ad476fa14039bb8ec03f4ace4c5d3fa9e1dcc3ac386614c5a91f653e7ebd8eae669d4c8c82c51af505e0219d33b03b9e9832f723a95f8653414976dc49f18fffcdcdb98d2f42094514155357d06f603f88f80bbc4e27ac8c3ee963a011ea709c98d531c19b577dd26471c7be1b17e2e035564567655d67e95bb38083c9571a469fc14747388dcc97d2ee88b3676db27c90333328d7e151f89e1afdd861a835d4a793c78ae5884fed5979566f4dedae9c9ef03fc56f3b37e45a786bf3320e1aab6e0f07858c1d1c5309206b2690ad68d46ac1a03dea447cbe3d39efcb3c91d6427420d2d4cd30a04bb96134348378860f302027a032bcdcbca73e03850a38ecb15b434fd2e7e5fabaa3ef75b3aeaf0f87193b30b8e0219ffff03e6c52e1e62ba94af22a8f297e5311d37ab9b93224aeffc24e6c0e0b16265dbcb033bd9970036fe8ec701836077f0adc7b364d030bb1841e0a8133685f76ae29b8e03b7cddb7fdd82a6c5c6c72d0e7554e24c2dda1459101681bb5ebbec2643bb5a6403158797ecfce3587adcc3c761626ae9f507e1a8734afec3ac124ab92c1c977569033a964131e8450c5fc96e121cbf2bb25ba0d40af74364d31079b633c3d7147f60038a58b628e88ab4869665fbb4f33261051760e65f6890fcda84360d08d7adb7ff036a093e9d19671357ce4d39cdb679912b80e0a4c010999525409b260538290043032ea062f84e614659de01d48621dbbaa12b5077d69c339c5a8b222b3979f8f481035c537eab3a3866fa55ec207e6406de046ed3f2fd327e70f236802132dc73703b03307d18f0c25dcc001fcd87883c522b5fa8b3c330ab7af11399af57315f81a4f303869a7168388a4d22967765921f99201be7a34bcdebe2f79fadcd32ec82fb0c8f03e57cd55c5662ddf371f6a79b4b9059f94c9c03a8dafb0bf79ca6a7aa22cff31c0219ffff038d0504f64874d6f21bef83947f7c040c930eae05858cb2eca8c4009e4e1386f803c2a720ef213f52a57f7343931566f62b72ae395d5b67d4bb363c1601596c3e7d037ebfbc65daeda365acf7e8a093b35b7edd6e5b543b48f06d4684e17ce835eecd038e666b59bbf42cb84c99be54bf9f6e26a23587173ce3d85fd8704133eac2a48b035cf3a4f4c498a034b34f3293ac945d78e62ddd85af2aa31632330ecc1adc3c8203f7dad79bd28a09b57f0105797c8e8ec423efd70d81854dd0a3a54cce85418c2803af76c1e42d42ba5aff9b0aa0b3755e6ff3ff1ece2dec89111b2b32b9051d78ab0351177e64c69fa70a22e355b3c2217d742c2d31d72a9f1d8967b5f3a6d1f3f1cd03efc454798ea505812040af20764d555044be243385c46ec426a766a61ed9774203fa71524444b1d7d1232fc016fa038f5ed9124ac5a80f4b4b83a88f8554081afa03f4bd23440761c9c2adfb2ac348517b42eb424991fcf56bac3d5e06e6ff43e8ec03f420e9701989404a7518cc5ae643a5c8113e8914c26addfdd1e4d8dbdbf47a9f03218d77ef67ee8283932a4740b9ffcb9a3b3ffd58e4fe8e7591aa4075097182e80219ffff033d36b75ba9d903c5d60cda38efc8a564cebd442ec8643f0b9f7407d0023b79b5038f8fb7306df4c9616c51868bbbf1132405d07446b09ad9a852488d8036efba8f034ed2d69763c9e42e8c84c27e4b318086dd26b37ff9e1975679590e582771e511037ffef1c82269b4912172ed25c6b2e1f6bb1137449fd4d86f3c90cf06eb4c9edd034c42b15487cb2cb9cfd8064015b7ec33348db3dbd3d6f610475945ddf982397903aa5913011feeeb2f2369282635c896774f712827a3eed49fbb63293174cd419c030c1ba04dd4fffed5c560ebd6e6ba1a8e1f3b8db79122fea609b1455a266cfa5b03ede068821c8de1659861541ff4a3b381726f0ccfdc5d534301c87f57b1a668b30219ffff034ccbaff667a1b4c786f8dbd2015b24268cd22b834aab439946e8eecf26cd12e303036af39c612f8ec1d451c5ae1109d00e1be5bb4ff4da66a46cebded8d1bdb5bd031a76370a6c4c9515da1560c1faef75a105b918f466f4c24ec7edfd162ef174c30343c088214456e3ab6cff9660b1c3aa5fd8b46d4178d54caebcf81a62f3ee278e034a8a65352d2c59ba23f62105e31ddc17e98538ac7e99d7abdf4cbf56a0ad80800362b2f7d2b03c687818ba199b46c5e94a04f493018416007fba5d842c3997496c0382322f470e36b0c1c3a398fe28af79d454b2a1b92eb7d148409970b3254e645603d656586647db87a5d8e907b426b5e05ad77b6f03ed172f4060502f132aa5578203187aa599795b6c494c84f888f57297514af59836dd6934800775bfffb6c624dc0332509d62db553b63596221eb38fbcc2729bc3d318ac3136a73288a0be43bc0d403a104d45848f084231d5797ce858d514b0617a4b1092897c0787376fe47d8b67b033285eec007952222f7cd255e569cb66d889271e5416f6758cb2420c266f7dffb0364c0033e3cad7766d3f8cb513bb585f27ebd4d1ddff5d5fff671a8d3da2e22c80349042acbe98a45f87aeca2a9bdfcc7c6720221f252e29f39cc0ebad975081c4803689935948a5a7429f956341aaa3736bd83d58f6fb3815cb90f9850d9e669629b03b1902545e588cad6c50d18f7021fa1419bffe40a3aed552ae0fe90445f70d20403c7c42e5ebfd03e6a250de4fd273dcb177a9a36763b19219740861de58f19395303f2c73cdadea3ee022b160f34b25f9428fcfa04d8169f3099db8c4c45d81a933e031995250f583708a1b8c18f12c53b61e4b7500adc599d13f34c567c9e3b63ea63032980f923050bc259a2c8a1428992e4cb37cc9ab99b83a4614c90757f286ea9420318c5bc52e67883def389592a42d6ef57150902916e8c03bbd3e5f229b74a466703ee77aa4a67558f8c43e6eb3b0fa152847dd06211e30ef9d3a3f4f259a4d772660395bf0d6376f1c99b64c3543e94e115cf1ab15b3384945105d98e9ac0538a5cb7033d88fc7236111fc46e301e774920bb56a6d85f58516e7b7aad192d81ded03e9603ddeec402f8868663536b747d7450a5b565848f3763c151cf3719b0a379efe83805581e03e947fff18e106327928416758ab43fddf0be73d8b356bb1bab59d79c60040105581e03fd147b4a5c79c635b575f2090f0a2b79774c54b1ef287fc20fe6e33820040103a2445debe37211d81433d69b0b6e61bdfb783352e10f256fda7cfe3dd23b54ce0322f1d8645d6c682b9853978a9b172413311bc198d89c0f91e573b86d9ed599fe05581e03df459b68a4c8c863fd7abf49f456d64c2e7794423f229383d01708bfc008480d8e0f1b81ab580005581e03d8e476e28bac6735fa3525b4ebf9aef9b2912cbce5ce53872e68c89b60040103242cf0c8f621aa7eb34f2f2498b2424731e4ad2f230306e055e79d1afdc6badd01410605581e03b9a1bce8b8f7ff5a00b0747fa29817b78218fbb9ce3ef43d1fda2360900c01470187b82881380003b5c1dae2bf930f28ae5d6ae7ed945cbaa6b03e956c14a1f274e78e0e8d47b9a8033ee7ebe405e14a58d5a00e969a295aec58e89b492c15b86af1133654279b3bb505581e03102539fc570dd12e609f811bf1f2415e489da6e28b3ff57633146bfbc007011bffffffffffffffff05581e03d5e92258500e70dbaf788e948d315853f1c1a4b95258e143ad0ad50600040103a4ab799c810f934c5b66858fd0cbdabb72026a59a5a1553bbf4cff15c83d4f1c0219d7b6033921236d6a249703b4306fa3580f435bf1f070d73283f643ff4841054a689f5003ca2fa7a62c3f280d0a46dd8439b02f54aef09e5c2a647cae65c542150fb462aa030553527c16fd8e11f584d97ab08cc2c585893edff9cc3344196816b3e4383fe903ab2c552faa02b8b588ad5bb88787974b37a34d79d852d4135035f71ec5f396fc039a32eeafe37e1d7cab165bb5dcdfa38c59672148fb0bf3a5574f880cc78c200c0364be8c43bee77c0fe609e5253561dc1bcc974d9435db8a928850c3132925725f0219ffff0219ffff03ede7a14c6669bcca332fc4529bc70194dfb774d320ce28dbf74dc4d59de3c8730392b66245506b9ad42f84d6c3b678c30a800a101c0c202049fbf2b32a050c9caf03c60aedca52409c8d44a93f3073a38a70ab85b98df87e92d4c82f2b05057f53c703cf651c05bef0c8b2d902437d7f3e1fb7bbe5f3ad4114f92c2b1295094ea3831e03949361932df86654c08771a754fb246733245a8adc2f79a0f2c3076ad40870d503df18d27676af60931881d11178491669abd98a2f487ff229d814ae731125709c037e9ed8906bb69114d6ae3c8dcdd11a54f555bd6ec28cba9605348c6618a591fc03ff5b5d9040de0fe86c00f6a21fb7504515153ebfc92430eace202e7865ce6e650375fdc2158538817e500af60bad149a3a0bce6152369c8f4c16fac93f408ce1e20345fb11720b45b063516b051bc28dbb4ebb0e19e26c021a399316f221cb7c186d03c1ba2ec1906fdac642af7211be23aa138103facddca4a6967ee8f6529541e4b903aab12071c6f6b9f7c39d9ba229dc026232912a828529998992d114d0380d0735033f832568529fdd91e4845b8000222bfb0051478f6b57c970b92a3d490b50b79f038f0d5952734381f0ad489a3da995c7980a33d6d68c3055b81075fcddb8de9dc603af7bb003f2643f82507d3ef250b4d6daa6fd38ef613973b44f657da4bfee9cee0219ffff031a96b31bdaec95beab40611f940a317f9203556bf403af17342c81517db7968903c3c688441a912af276192e9091d7bbbb1ed2c204db185cce89b3e6087e7c203603ac06f7255169a23a24d35cdc50c703895e85e5e3be83cd4f27153821556e726603fae8b9383dbf7e4115e7f7b888858d40b923f7fd25ef5fe9f01c210a3b1b950c03b89d2fba29ece39cd2b5151906bbaf3ba131de783e86ae7d6e0578e217c6188b03b3e022d7e1dcfc74f44cb4622a39b898ba37a419b624d2537335b53efec3380403516cf39567c77273039d697e17fb8ffde5fa319083009021425ac0f39407e2f203e78de966abb93523134e8ef7a55b41ce623380f0217f247cbfcb63b75b3489b60309eea315ead6cdeca4c751e14c2f4cc767bb1b419b7b1c9dbed8cc4e8df4cc5c033974dabfee0321bfda024a55a1ee81f94c7dfb1c30dadc4560bdb2e0c135b1b403fcd834ec11907217692c3dcb628cc494a53ddbf441f71e08dc67bd445cf0e14a03ddf1de765fc35b3c00b5ab72581ad8aeeaf1bc10daf50aec8cb0c8d17c4d737903b59c080c70b38443631381a80c8475658e288377817cede58cc5928bfdc8df20034bfed5427fe4f158a62b184355be4d5753f4889320394a1fefd057ad3304b8eb035679c45abac59671d902062280ab7dd5c6028c9a906a5c1ee060c6b862ae795c03e97db126a26fce9459292b2f386f8b729d18b823ee0d0d879dfe0957412cc2c4032e89f990b7069877704c816f2320602a4c4f22887afc9048344b16b3a51fba480379d2f1a9ae55e003cb896f3e7651051d7b574ac99290c7c7adedb687e8cbf80803bbb7020a283d2b8890d6f1c4152f5acf0b3b47e12e6b61c70fc265500329bdfc03c89ac00481d55d27cca01a8ad3d0150426e3ee3dbc16bef2805bb0e40b19f02b0340aa5a7e25377fcf4eb7013d568bbde1828dbe417d576391e5caa0ad165605100355efde12126e95cdcfc18be28cef30495fab787158dc6e9fe93d8524f845c0740388238cff3c3f2eb859c37e6c68d96c3b01fab4811621202b1330601e502bc46e03f2c44ff7d2094f8806d7e26e6e18585a6ad99c105de54d64304dc06fe009ac840331ee65978cfceedcf316930810f0eb3a010d7303cdb23955995efeb329d0064a03de37c27483650faa1ab8f2de8564c2739cbdfc620cc84513f401d21977826f15033219f81cf8d9a633e8c90c43da9cf728505d9a51088bb518901c918eeffe484103f033be0192e8d2a9f3d0c2624f0e33e18f28ded10cf3d41d1ce0d45e50247c510391c014fef493d9c186ff32a085854bb1c6f4d19b8f007c91878eda45bbb84e5003c7828f7f16397588e69892a01b5563d21a1e3f2a07e7bc39d69366692594e12203aa80df8d2128606aa646018603bfe505047b5abe13962b3bb2eddbaef9b21dd505581d024a68252d155a9541b17a4526de6d9d433f205ad6d4a35161311ca7c4040e034985cf9619c895472ee84fa271332d9e6d2be40f6006ddbd2c118160f5dc444405581d02bc0abd4d5a8f650172bbc15ea6ce99b4046317943fd75aed74c1a1670c1917cc49046ae0ae843e9d3bd30219050105581e034123f11844426fb13b40f85e9cfd72f7ed3beca8f0deeeac8e773b019004060339fc0d3ade874ca88fdb1bba254a554c01fa72eb47051cdad5eefa113a6a1c6c05581e03375a8dd0da3e8f7feff8af94b74d68700fa55158cd2789d5ebda95f1b00c0246696016a96517032c4ee2946cc9f4175bb60fed26f47be25268324d9c9c2f79c18e2d67cdff2841032fad4b5543fdd981717d6c8a6284e724ae5ed621feae1ac8ca8524bae6a2bee605581e0307ba06be189e2802ddc5580906584252d5e0a72b634e0dd828475fcea0040105581e035bec137232a322a527804acfdbb50be54df97cb37b616860ee2de2bcc00c01470581b77ca9c3a005581e037082f83e3a2f9212f0a6eb8a904beae62ed1a0009df151cfdb8b789630040103c8a8b737f4ff473fc08eaecbb85d23a87b3cc6201ecc0ff70c8574f4c045a40702193b3d0377ae2791df2c86ac98dbefb97035da36b07d9cbe7f9f20ff4b22761f94a633cf036d93163155875da477152e343003e03fbdc8ed02c0c450c53a83ee1485cc4f8a035fcf796fe2f5700d485a3809f0d6f79008a899e217fa524eedc9b202eef6394f0303f747282aa14a66ceb4eb4416eb383f8241aead8d853c218e2ff43419430246032219cb1de1ed7de54b6d829bdad17ecb5463eed184edd203732b822b41f373a20219ffff034797cafbef481789f971528d9d9f7f067da969d66f1ca6d963b553ea97ad1a620321ad80c9916d2097df5a54ba40dbd6b279a8070a6602ca1235900398d727738503ce638fdbd23847a09f674fd07c416069e757b1a1c78907b19c2df58b7593518603f640cdc7cb2f9ab2266af60e0cd883e8724690e6ddb3b5cbef751cf04f5bc32e03b51ec69fad3b6e4b066a68d21a982f5231fba1d01dab737ab4a7132b5556a17f037b61945e2ee7ab7c2a4e24505b71e39b04f241e7a81712300fedebe64d06ba6a03d0f1c5cef3a34e884fe57badbb2abe74e31a97f6238591d089da28eb119c8dd00350de29fd21346d58c97c9734ee4b283617d2a310c32f9acde0c080940346a4d003e6089788efca0b560dcf7a4dbe0bf0f8d50dea43df095851eb9dfd6deb5a76a10219ffff034f6ff9a40bf7358462c8cdd14558a03aec84c6138a0ac56f331dac0dbd110f5f03d9b649ac48c6805135d8443bb2e39db18d59f943cf1f7c471cea45a78531ca2e03c013e7772fc338ca8b98d62e3f264e15da2b736bbf4d6035731d1e9ebc4cb95b03a07cd47820e76e0d50e7a9ef5855a672d51abfd39f1f58a157109bb2e145b41403ecc6ace07df76f95e771343a49936dda214851fd7b52de2de39be73c8a6f43240328274b667d22181f35a45b49d90b22a4004e1ef438896b45e4222b77bbcb6fd7038845c767bee4bd96bea812df624f5937bbe89c92ada65bb1fb2c974261d2416a03d798d97ff262bab16e57d4c4c5eef8dbdaf7d6c049a2f85c2a89bc401b4dade10219ffff034afe7bfdd88ddf83aa414cdbeb38a06df7899eaaf5a3f4e770d6199d96c2cc4303282a4e1be376eb7039bbb920755fb2e30442e6cf9c865d2322ab7f188184433303851264e340a4fe35a7abb2103b42fb4b4007d8e78a13339d0009bd5238756d8203dd72c1b3af28607f9f4db310671254ce45d8d94f6335f1dc2e19e232118ab531036322287d49f81aac19b81b4e384526d7ce2f330238a972bef608704d8a37aa2403dc95859089fe21a207a914845dd8235af81fe2e9390597ccc32327cce93dca050219ffff0334ca41756a0376b8f207f7b10d57fac702d266114eb73a0b72be12f8543b9c0703b54414d0d634070bf3fc78ca44063501726334ceabbfc8ed47df50fe6f7c6e2e032a15eeeeb4176389b0d494747368e1a566714d40701c795d8410193bb7d1dfc703a7e380d57629292c2a68dfca221d8cb969d5a14a3c52312f13a8a229aa920a66039e5a2ed165953f0bcc5af0c7cbd06e90d35b2cd9986d7c481170b56dc43966ff03d1df5cbe0a77e26bea8021d8877fbe18a0e1b7656c58009072c8b6ac7147b0ba03926c3cd13710a557e180def75e46a95b7f8e8f00daa6d42bb2339341beecada903f3138b2d5f104b6e5c48c2665265908814c3dabd0fc01f973d87167669fd65aa03cfaab31cee4da1500af29c51bc9dbab20bcd7a7c718671d1c3eb0408935c838c03757f73ff0b47d4662a0a3124ebc033171054efd3b6a52b0335a2f01c5122d5f6031be7487e54c3a19871f63b16805fc88410cba74a85ac8dd86ccba882d7243765030cf1b6b31877fd17f88e3d1d863824fc8b59d507fc6da1d8409b6c1bd273d7e2034fdb941e31443be2bb28c2eab666f22bf64346deb4e8c1ee7ec7420af2ff4c5b0374d3d0ff3145e3842cc530c7529f40f2d291474571736b514aebf1ece047c68b03594e2c2739a83a02b2789b7d38c04a1c245b0d711f15b57aa06f905731a73748035c3593d24b8443452c7d8bd891bdb5e3bcc01ba4d04ea02871a6869f242fb2d603e951451c29597a5ee3712a91484c6cd0bac8719e113271dcd3afe20c0ac11e06037f9353002cbd448d9d8956e836f4924d668e3a00544d3dd5aeeb2dbfc0d030a4037bdefafec18e21d465ebc196e17962b35289425bbdfc025a23a534119367cc5403ed9e35e465b4fa59498bb3c18f4e4834d44c8f62080dc29cf5cc77042beb7a0e03ce5d54f54eda626f1260a2a87e2d6303ae428befea7d8db448595621351b873f03679df233386bcb0e7c32a4b492fe5a4dc69b3a9ca564e9dd34c0df7dc425fc9a03adde74b640fdab24d4e5486dc669eb6eb9daac9613e6d9d0c82f2f6cf0a4935603d318edc691e62acf33e81371c39e9ab731254891e2bef69de133409562b84614035b51897154d53ec65c7eb99e683ed390bbe12528c054efd4a73b5a25a718548103c712c100b4b3bbe7ea030789889a43d167b1695422d158036a6c4379ca29978f031f8bab1e1107de14495593b3a26c005669dec7cd8040882afe94562d42dfd255033a72c9be80296d62f4da10e7ee787a3800e46a89e4275c8cff258e20d64c0181030748b4387a2e8cc943fdf4a25fb6b3990bc17c8aa008c83ee848cb2c7100c71703d3198f3067fca203a277a30f507189c9a12bfe9be548efaa24d161a82233b12903be79b40e99cfbc741a29019e11f88e090364813c3649244cf1ff85ec241d5376036e755f5b3030f6a0ed27b9f06b9c894c5ac993bb47b9e4b48180f205526311a7033ebda3461bfbe2a44eb9ae16f0d92ea35ae2cef8ecb6994295aa0e0e7fc56bbe037c348f8b76487d2a16595526a906a9a313c7eabf045e44fc698af4ccbdfd1664034eb8f392f7a98c3ec3ecf7c7d2c32a1ce156aeaf610655741bb1c310d6e6ec6b03e41e4c48d6f36020b40ccdc63aa36319de7782a87abd6db9e3a77f746a0f9e3503049b5f31cfe2eeff0cefaed8ac631faddd4e51b92991f0bdcb65a52d3bf3437f03882691f335096437210e5104afd04395848a7a63bf75222e3f0f6cccfa1162bd05581e03e82c60c0efddc7922cd9ccc5b6d877a003dbc0b515ce7a79248c951c600c01478bc3e894b5de2b0383107d88846bc7a1f1b7b991fc8b2ee535d19723909623493a3372dbe975856003e38708809a8faa01e9a3fc1085dbc3e0647e586172b8b8234fbb05892f1004f105581e035494c99bdff00a2e773bb71886e523918f8ba7b7f1aaba40fe7452db700c01470324692aa1eb7e05581e03ce384a952e52e6bc3aa52adbd7433b44305f1e0316298e0b80a88510d00c18bb4802055c4cc56675ab05581e033d84cf7a3e5901d4cedb899886985819ead5e689dd40a7a2187c60fc400c1866470d80944a673e390392252777229791f83bccb3bf93a14ca08a3c4936348dc36407a9d23e820293130605581e03a41ac6d0e8e1dff212cc2b14562f4e4112762214ba277625f18977981007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03cd6d245808154dbf03c55f2473505527abdb8b13c7d2cfcdc8aa2f63d007011bffffffffffffffff03a5ea77af177684f60e1ce117a3a1d48404d95f54e65b07e3439192fbe1c97254031d6c9c7dbf9a0b237a086e65ab93d0e849bfc98fe74cf09a89de6c04e60db03605581e03137070089eafaa919e897e6de916f4139d1733fefc5486fe61815a26500847040c9665d6180003a53b38779b812dac63631efbd9e223bd7bae94086a78f3895790dc397f06bb920219b3df031bde1a7ad8376b93d16e45a2478fc10874ece1130b2704aa83d0969b54e2a0db0300b8d044b333fb3645995c9be0e75e3bf25b2d3b1a50c4445a7bb5e65656067a0219ffff030047b220185ad80a4f447881a70051870c263a704830ae100ec94e0cfb9d650c03c3ef55b3ab8fdc2c07c0266eb1ffbb6b19beb9296a5c2436f24ee7eff5921e1d03f04f2e369eadff273fa8f75c6cf120e7da1194519687b3d2ffe78671ddbec427031cd9b34cc914b7b9163fc49289e4fb3910e38c7f8a04de63a14fd2b025c16e260219ffff034df07b51c3d5fdaab1b48235a15e2db23fa5ae0c4975036a1887da739fb85aca03c572689707895f1ca697139db724c6ac88413d42c7e131f24f71d398ab29e41d03685fc097cdb765df3d28cbd210276034204fd80c1da8e2f4f9ac3bdfbfb6da5b03ac9b3296065a89225bc4ac399c8647de054510fa2a7c890ebc7e8f5ba883c45503bf58aa6b3e9536bcfd8dc375470570c6b8e3182aac1e631d550adde50ccfe21803d0bdfda954ad8d577cee4c49f5eef5118b69de6dffe69b3fa59db301bf969ffe03fd3385883fbdb99c06e02ec4b6f366bab9eb43a11f19dc5f7c846a7bda879f740357eb67b023780c6d606a0fee45cb4abcd74f46f023fffd5c9dd49f92810dd97a03e4b0872934ae37cccded538f6daafadf49d9c2c164b0fd778e8bb47c10daf5e2034ab10f2f71a43af2cb6aa9552375f450de56992fd0f8c30a1a22f3e267d3d6bc0219ffff03087ffc631e1263ac4d5200af77dddef1f31d3887dc832898d15b0b511bc6a104035cb4401e335538d7104edcef58c5056a5a2190a03bce039bff2c35713bd5534603433cc7379fc978e864d1c369b7d269a93f9c2b354c8adad9e7a7cb3aac4c8768036dd0677276de6a4a69f53ecd0432704253139bbcccc4b68f8ec04a3b9f07393d031d6f03a0157ee180b23ad26b90208303bd56056544f672e431b6f73cc76e7a6003560a574be6e77e26843cd5f4fa2f797d026733e3241cb1eaf337082e9957d1bb03ce6d65a6ff663aa68ffb22c9635e8b9e910f37ef4c0ac22af88d58d3bac1c7a60219ffff03c265226ab212ad645813e6162bbcfe5a6638a1236c37b74c4c0a0a9562d1b55703e20e8f51181774b443396ab7d89004790788fed5c4c172654ea7099a9c9d4bfa03d3b2445af600ab4dece992248cef1b78f7b637099dd57a6fd59a0742e426e9f103699702dc5af124b780345cf24fe23dde49c0095e75e9a6bb0349bc0415fa7d86031bb5dbf5806a1504221ca87e147aab3e1614225af80ec0ce6385e30b1568f82a03720de607df400c88218a879c0837023761fd40b09ddb09852ae9ea64cc5c299103f28b3ead2245551930d70fa7437d013089d4e8f78018827fe6b78c16aec1568803c7e67854f24f0de38cd7bffe181e1c49e38d3891b0c26f2b111bebcda84aef6c035e0c5e7598db51e5f64730b08bbcff3e2b982d66320658464ccb4c6481cd2a4e03f78a55bc7537fdb7e9c2dc0b26db446e4f17d5b2654e2bc3e9c9330b7860fef70363f395717c54c31d9e00b42e224de87afb08becf821fe10babe64e514a3f5c2c03a30d9f6599f85e4b35df379535219c158d481b0023ddbe72df4a133162865b2c03b7c867d9056e3ade1816dc5f447d60aadd4a87e509db6521e3b8264558b28ab203852f429a169682cdd3678469cd78dc2961aac98686f1cb4c20f15ccd9f61e8d303ae8273a9ed1e7a79d68792861f132edfaeffa08c2edbf65c16256691eccca27b036fa9807717f0065f66badb03bd78e50e2ccf75595978a5e7629d4e142dd91e5c03133984a87ea6395b2cc2a2f2ddf77eef376dd77b526c2bdb022e7ffc6a2f409203ed2de00be6be733b6bfa74709fd9fdc3636f4f50a957484e01fa562093489f4b0313657c52c9403f941ea38ae7c4c201daac189bac621f1480dbb2823e27bbd5ac03691cf00dbfd2ce0c1efd02bdbdbe20b4fbf43e13a9831770fe6cfe03819c81bf03442fce8b79eb06aed52aa83487edd5e3d8cd61f8858e9d3d80142c746801a4030328d885a7754bf49af23247d218c5c97f9b0978fb50e2e7f21f2dcabce0459e8b036552c51efcfd0d767316e7314820b674079ad6a78a4fe7cbc6ae04fd5c50710b03dc41a27a55aae564c3552435236ad85f70e7a86c5f3836dfd160f6638223dd3f03935b42c53f129780c71e51287038a6eb7211d9c0183a07bc2334d0c11a3b467f036774ad8ae398a0c9fa98575a6d57c44ecbe54465367924409d020ffddd70641c030a7277a72392da519669c27aade255d932d9abf49895ce27e6dc99a92e564999036c1dd1a4a3ec29958a5343ef7be6642e830dfa14261c236d64936be39259c8770382b78903a9734ce90191b175cdb50e61f8e396ccdea3dc837bf9cd0ba3a48b2403d900eeb262e52e01a5b28d50bb8dde75655be922c89f177ab94091cde6ad888003c4b97a0676373860da93126fdcab7014fe05fc673574a7c38da2d74ccf9ae33a031777687eaa8dce2530fd405b327c1345b2eb7602a922710d6b97b4bc4402c9190380de916f491bb5fadf822cdd70328a4a3145472cb0a05e791cd56128f34f22e003abd314caea1f0c00d5b3adbdcbdf8e370d1567f3bc5a20a4783c3858f67b039c03f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581d021d581c6ba5180c9431c6580846d60531e42b8e65396f95eafd9ea27b07011bffffffffffffffff05581d02814cf5a2bf75c8cfd3019ab4b22d66fe16f7114949dbcdb3c2ed0ab90c1a0002a4e74902827b211e92505f320219200405581e032ed55607832ba0dc8eaeb51159293fae27e42d292d5b2000aad39fd190040103ee2c527aa07c8cd374f350e273a753b03bff9bdda3e81f214f577b01aefd5c3e05581e032fd6db77d3e83e0517d5b3654f13ca99b35808aa7fd9886663963336000c04465767ac1e12a002191a2303e6bbd7fd2c70a3e6cfeda9ef59e0388869a40b0e77b03e280008f2e6394b247203d40075b9790f7d3a3090d64eeb0802efe8a61c56b84d2365ae9295f50e426b2803d8b713f66ca90c0e734d93b6aea5343a0297c78a1d205e6a5fc5dd0d4e531c4803b3cabe5af9fd948fda76cdea06ceebbf31223ea8eeccb47420c7f767fa48d1310219ffff03021d7a7f413c048ff9b147bc149a984b9fca9f51cfe3b38ecc3ea6e4bc74b2930304fdaef43fd73f933ec396535caaaff3559d8116914a7c7b10b332e1bee7c01b03e44ec7e3078d2a4e5fa05a1d40fa1ffa0c92770ddda65f32db3fd1e1fde7909003bede86fc3a2ab11df34de3c76231c32863cd498403469f489f4bd9d2ca0c4bb903e90ac73b94da7f59de9382a15c4acfff51792d534902f90ec40aa1293b76195103c81e8d7f243d274940ae7295ad446d3a090f5b313961dfdbc58aea32757766880315a456997615f7bed859cc7415afa4b48be4790d4e312133203f692ecd97103603ab279f63aaf5cf63840369a99e493dabd1f2636f41bd2aa46caddb48b5e05194037feff558813f0802cea0712ee2bd6dd74a007d8566b2a55e039d02501d2af70c0355622251638d5c6cf94cd5ef655fded2dc3e6db21d8dfbc0f3eb34c16d28de1d0219ffff037446e7e8c83e516092bcaeff0e43b090519f013c62df652fe952031f7be4c75e033098bf16b9ce8f74558d963ede97a974068eff2df05ecd84583c5a43491bb57b03ebbf5b2996a182f72edbf36d158189e8d498df1933292a4a71667b19c14b554703765ca0883551f3dc6f43793736a6863901e2bca005ca09f244325a58b67ead1c03d174d20914290e0473014ef4d3bd2ef27b7bec91f23bab695a1e2e5d9bdb517f03d354e47a8b64f6929b7346cb3ac88df6767a618c1dcb48ba9f33137d4e5e215203140f492ff2ca33cb2c6671169b48fbb3453f335fa28c17b367f69756465374ce0219ffff0344ba66c05886fad0b3dbe3f50c6ffb0d506cf8fb80564b0655d0508c51bcae8503981f0a5a9595e5753bfe7fb54af7fba27dafc9ba1b31ce7efbe960ebf615c90703de75bdcb458bf9e9ea49c1583c2ed0ecea522eb63a693ba4ab9d688d76955da30311053b0c5ddc44f8f272a9d2fd12ece157435f8996e6c24dc7935303e50598c103b01602fe50d05c1ced0b9aa2b0345fd41aa066e2ae7e6f39c233f8fd576b5fe803564366016011ec86521deebd91fd7b353bb384a9a49a5839a0f09ee784e299850321abd7c35cae51a5a6c6dda26ddf158b6526a99d178e1fbc20f540a7669c722503390542a02e8905ebb2a8bece8b5d9f1c65d4527d5c3aa06819ec1c7d0419b6a103b9344e146310bce3d2fe5cbb4a4b73ef96c3abcfd7c4820ff9c609572f43572103ae39b1349b7c6e13bd9fd2fc2b1b33196dede8f1a04eccc4f8893f8f68171dc4033004a31d808a4cf2940d6e8e40a1ac2a8c746d17fe2596e6329bef9ad813ff6403c4e721ed8a146440e824230416e0818be5458480717c4b88c7583b43cf8ed05e03ed1e0a688128365afd0be35e6445716a29dc8cd2202769e1010616fda05a20bd037d8dc18cfce1de63ef0ba91479455f476335ef9163a25dbf1c02d54a51cfa0e2031a5a6f5aedf8b7b538223cc1fd01cbeec28add4ddbf2d0e140c7d09c3fb3c78f0349a991920890707819b1bf6ab844287ab5bfb2d4022695632880d0c22504553e03c48307d8b68f9aca781bc7f93770a5b4e032b3d76fc37086f239d78a2e0f9cfc03c1e6db61b005ae5aaad2ce30dd4803ebb1c18f4693baef6e66f6791aa9fa360d03277ba1b0140a73aff4c28056b70cf5082969c9a247bc5267c29330ddf49c1d390332d14acd133f3166ccd9db249c3459c0b908138de57c4a480e3d3adc74be0be203226160069b800a8b74de6d7707e5b54d09bbbef20da08cd88cb7081e1727bee2030484363545b6bc9d895b491ebb9c76ce1323c2eed1a1bea038cb0cbfed3ba66303d740429d0513dd9a1e82fd34761c02d149bfc7a82a0c53aed64a09f397c7325b03204302c142fbd574041b579569a48a4d26ac7b7ee4ca95c364fade5b28ac2f86033f3bbacc9edb6ae46c15f4df87a68891a2484b92aaeddfbb2cec6f0d8885dd81030b09acdfd4414fb378758512d1156a73e7804c03269dac2f295925e86488a3e103f2f8f7c37b929205002448cfea872d9e350d143338e59218db123fc8e7d98efb03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03a8f5830b8682626cdf5b8f97e9cb27011fc88bce21a2d518b6bde4b0a007011bffffffffffffffff05581e03d190f579ea0046c5b0a7e686812bd72dc4dfb11e5eaf34514844d4fde0040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203509f2a075fa254fc579b54a241072915565e2ab27c81d32f7a80123eb1b3b8bb0372b9b0e6147d0ff7409db7106b180741bea1ed1a908c30d9233fc8425308a88003616609af13976968607899f794deb5c19e65fe09893589e66bd484b6ccfcd266030d4a900cd22d65145f16f3eac0a33b4856599003f6d7d4b4053382787745603003b8436fcb33cf82cb14ff104d9baee73f432d172b66fd65296dbb8e26270be9dd033e0e8823c3d434dfe454869cd4e18176466a122d1bacd6896c6d8ce9a9b9cfd3030c53f1e0ebe7dc9bd6842e4367f5899226fc162a38bdc159ed0614278f6b9d1a0395aef7198f6d2ef5ee08a0280ca97e630dda6ec8b57817e01efaf5963973f3960341cc4d01fe36b4ff6ef9311e0636a8b9bfda9c4c2dd4ce0ad8f9344433e1b9d5033db6563b56d6309937c849417cb92ada5d6d28a610f3d7110ed52af7be48f26903aee1e60b35241529a91cafa1791159abb56ed69c21c6339f527d0109acf6ea98035f9618cad45bb4ce85f0fc840c09ee0a476b0c3355f2f758c17fc38263c3511f0352dc50c34d155aa3d486460b8291d3b64e2f24778864de9b7228c29e98abe3b5035db35457e7d3b97191b9d74e38952d7fc7586f89acbd2af07cd3e21a8512dac10310c3bfa5d2581227ff56f56249c99834145a2febde8c057d72753d849d54bc0603fe70ae7f397cf7b3d517a68a2a68d5a799f3ba487729993927978a9c28646e19036ca268d7d2c11eaa5daf03578e84e9b702936487a0bed8792f1d20654f05e2bb0304523aa1e822f82106bc4e12754e72b228fc907b7caf48fef7e443124ff2a89903bdf898d62e331b56037159a2e0c0c6001130c77cd4c7538627fdafbecd5d941a03087bdb1f9f9d0d4dd39c192532b23f0625a747b1f36ddeda49ff13a08cba974203087741e63d8e9f5bec5e69d06bfea15bd9607988082891e953fbc0f984b444bc00581f02c7c4cf06db9a6a2227ae202e727bd48e523b492599fca4f9c54c37b4ab434d0c9f2c9cd046743e26721cdc5300581f02e2ca32594dea6612a2d1ffc3958cca216d28db260d5aab8b3a7932f2d59b410103509a02d4ed52e37b48572fb5415c4699ff440773e0d0177684762467b50f0ee900581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af560197cc3f8ed63020027b5fc45c7ec1fc459e215545d003f6a999bb321e27f2d5aadecc104539fcea6754b45b66dfb2ce0f102dc88fa19100581f02e5ebf9c5f619b031585466b1b1f92c2b3ac0217e14b95bb653efdcc451cd410100581f02eb92936b703de13bd82b77168d389717eb000b46354bfb84fe1056b80325410100581f0233b4c6f705f08d95a978a67e9ce5d034727243ce77a5b5de68f011b656c44102021990eb0306db005b9072dd18b1c7a6cc07e1c0e3b1148a1fe0c3cbab036758f96741aa3403eecaa3474e78066e4376d276ef97438ed577d4589c2d3434904c1d721ae59dbb03f83f0fcb32346d00777246090004d6e06e7ca7ca75c5135b552a82ee21d02dd503523a30ea25ac6f6674f6f742c537212989383df3a08fbe0ee92f5e13d00eff8a03633326ae2313dbd344f1624b7f2626a92bd16d3c126a985ccbf7af19ab0b47bb03e4db64975e53916c6f9f9392c0ac66740234dc9c510a2043ae986b89b461089403460aec1aaae4a239580b5cde3e0881d50ddb2a8c9038823935a049f0c55448a50388bc2c014ef8aba54f1cd944a56d9524c65d21ebfb95a54b5583c15c63e48185030b1cfcb3715efd1378250cb3d264c4271a549657dab54081b05e5e253a3956e603468421daa5f7e74f289ca3dbffb12756bcfc35217660804378ea09c36dcfc127031817fb309a7ff2eb47fc17abcfa780f74a00a37fd8c41f36828b9b584332c08603f2727b658fe525008e7de8eb41f4c8db9595e4ccac96fdf88129715fb70d3ba70307f85bcfd362414548900a390ab47e5d469e119ba9005c55726330b433ceec990370a480a47081ef490be789d20efeea027603e173429be53bcab2f5bc31dc0a010219ffff0329a5d5a886927ed6b0e3f9cd14046e883dcff1a383a6534c901885ffd0a330ce0219ffff0347d1c1d76f61173baa24a1f8f1e8a2858e477802fb5c77ce55b73f17fb82416a033a9804ced11f21684fe0180a443e778089ff63ad69c6dcea9d55963cfab70fb503b54de9302605969920984947d2a324799687bea350663bb394bbc33683eb4d8803bd6d17f094dbe5704fbbf116533d9ab77dda77c21754b37f8c1d6e11a9a3e8c3030983c51aea03ff9d94813343669e7135cf7029e7f81e42e2080e0830f55e46a6034b51c9491034c95c603db6d40be3dabed76593cd7442c93ee5da4616de7403af032a01fa74849d9161aae3f6e9e507b95185fa59f059f0003a02c12521db92d3c803d7986fc1a8d52ec5d5ce0f56af25345360ab7281998bfbdc9c89aa686c67ec5403dd3e6ce5da5125e94493ac6454f14ff6c84533b4bdf6e3d16040d6dfbb3f5b1c03206a7897204bd4f23195f5f9fa0075449f6e947cc7e536cff4c509cbda5f56d6032ab37375c25b682de2dadc677d82f15a4fac5ab2e3b2cc996a240e5e31d4f49303d87c168cefa127ed4d393c87f2eba4aa87b1653d35e591641af0dc2a1acf88cc03c70b50a3d65923c7c2b49ad4cca6221f5175eebffed264145dd7c46b759402ab033295bf06e9f0da5daa560640da1cd496028f3cc616689ef7f2a557bb582dcb42038c200294a5c2dc13736e433f79a167bad9cc59901737ea611d7db9962b84bd0d03d173b9c43623428975d0408c0cc6935e5177871fe570caf84a69678ff65cd52800581f022468130fc4c65376bdecdb5a6558a25dec8cfdc530ca215f170a60df405f576867a5a867f103b2fffa5a71fba0e7b671953d2e1303c003e79fcf47eaabd49d510fb34ce76349c2d8716e52012cf40d505d3233b0d9e04a00581f0256881e7859bf127639e24cedcf8c5b58b24104e4f78aca57f86b55d75215443ee868e500581f03ff56f066dd81d742e075e7f77a2623999474f64b949426ba0214d839b1c0576867a5a867f103b2fffa5a71fba0e7b67f639106ab0e9d00581f03928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20219108002191a0503fe3fbdeeabd24172ea1faf8ef618596870f7b146117b9aa616047425b87e636a036a61c14a998ee8f6420692eed873842e52af7b151df0a5d547810abfa0482aad036bedb6b4ed2b85bc3283aa3947ef359caad299f5bef9437f3270a3405149a417033f46617f0c7613edd3b196c34c2c4854055e0a5ac335d7feac897395aa7ae6f103c35762294e2c934eccbacff509f3aeb70d2c16d423b0c953185029944e8dcaf50363af73c9a211eb17da895f43d6b53d7bc49c1fd0b9b1f43ad5006fd9e96c385403d58b2b4da0bc5b9a87abd95c33a7965829261aba440003f70eb671fa2840e05403590a89de1cb20b63cacd2080cb19f5f9991c16272159f6fc60d19a048898739803cf0b27438715ae1c15e05e47dc63c9c8f9591756328778500a243419c0a0c24d0219ffff032b01afacd72a033a8766f6effff2e4fa33d06888af729361e5e8d94bc1f3013b031005f0cbb49864040952e675f32a6767fd6907ac8317b5174e327ab78f846b4a035464693e93274bf585f62e8e5407dbe072234611221ad3750d956fc56c440c29037d50f63db142f29b664381c599c49de00e1cd54ad0ad1a48c4c952d905fb00b103fd76e964db9fb873ba8d0d520ee15383b8f9034d35357b56024645baa5d5fc410338dad3268508846418b888a47b42c927d021961215fe5939ad729d59e952eacb03c10d1715ca22a6ac89a309eb1a5903865ec228147b5ca8c5172e5f2174a0509a0366fc6a45814171270022634f7c39aff6e34455065b9d9ec11d891b8bd74eb3cc03a1226a76988128938ee381172127954105c9f71f510a4fcb903069a2dfe2acbf0219ffff038cad17ebc88eb36488e7eff96705d96e92cb90ab1bbe3fde5b9cb7323134b54203c7584cb615a0c11e6d0a6ca0f0f89f137b44974fa97ce7b4c6a1191ddfbd1ccf0320d8d0a5b9bcffe46e48819f8a5a9a17b605929d1524590761c32186294c384f03ce81fe00394dae66bac58b067e74fd979f1f6a8a6bcd8734b7c15d111cc29b1103a1919938cd7e8f6cc9a04f194d7fb780942bc0894ecae6154ca19e9241f059e00306a41600512f611711c60f7e26ea5f6f92ec47acd0c8fe922d92915dd1e04ebf0373bdce45aa909e9ec92d7ce42b1c7e0c0e41e3bcadc85929c1140bc66047770603f9a47c860c830bcd4c86d0d1206da17f89e809f485579463b90068be89cc0d2503273cf6ea23972dc302042cb4f0fe2e77183ea0e6af265d93a28da9a0d2b79da903571fdec0c6b25372a9ee7edbd960ab6c5a33028a54321e774eb7afb04bee8e5203bb28912959b3aa8365c384324a3357a956182007e38fc8d076a2c310d858c51903259d7db56c7db532ebbadaa45d4d3ad76dd42ecaded4ba5f86c3fb5d4f6552c200581f02592cd73cadf224eb52330083eadba590b07325570f4f5b1fa48f5c1f09d8576867a5a867f103b2fffa5a71fba0e7b62caea7afbb3fd800581f0239c6e84b8767b50a8ee3ca8485203476a7675ecebc5c72c0c9a6863c0ae65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f021d3bbc012543341faa3432bb47632aa922a78a1ecc0e8b5e5efe205f81f2410100581f022d51f4d0b6523c024d4fe4654d5bb13d36dac18c2b501b23251c27db47fa410100581f0264e974dcc62500f0b825177ea6900485f25dcf746a170f70d2440d87d007410200581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84e395c92131c1b65f4b559acd6c19e03f05ec731978cb9eb8e7c28553c090115316f397ff27f9c71031a3ca54f79269400581f02593a0117b2a1e634b5b0169d61dff487f0bc305f315ccbc467ec406c4a705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028f4a19fc4220862d5bedce436471c2a546596a24ea74e9fb1312e05017be410102196ed8034ccc9bbec848f1810479d2a28b920370bd067acf7c895d7e36dfa9168825d1c603d9094208c8a6053985154f546dc3c62e11ff3b5f2be2623c9e5d2c9ffdc2ed8903b3e9cad9911eddeb377edbc1214499b762b6624c14a6093973f42964517c2736031b6b748d7d2fb6ab00dc54d1d2bfb8b10f9cb5fce1dbfd1fce0a9d711978a6750354752f38bfe57e5be32126957002ea94c02f1c76015c6c1c9a11086100ca60fb0312c0ff4be0c2d4f6226e2dc915ad20e707fb18acf1b7de8cea7e6a95a51eacda036252d8acfdab1b63ae62f9cac857bda85dab993959008773854bb54f615353ba0310d4ed3ead8e3dcd574c092eddf7b920882e8bdcb7987c2b5f016d923406e45f033406745bb3173acd72fe90b352cda23d9c95d28923862fd5bbae5acb3942d8f003d6cf296e4c689b5394dd4d96c7c4d3ed5e409710b2e4d69596b57f63e3e856510219ffff039f59687ca491fc88777400c6b4c6d8bc8cf53791468173764f45bc594967a4a6031f12092f2b283217b244ff0863e60f03fb101c830ce3390c72a2b7cd221c64df035049dbbaad4c7e26c5293439b861ada6d877907958bf356662fecc10e6c32ca10325eea630ed704ee086b6e88561e0c72c3155e5ef3534290503fd0a02b91058c90379d9559955ea779a96339bc4cbaf9dbced2fb2ff40084f1cb8cfdbf626bfddcf03f0f21a6387850c4921b7fa9b5e2ddee83a4abf5f4b21ef31a6588f486b0d692d0352bd0e33921e2ae46d1abf9412cbb10bccad081c461cc09f33f17eebaa891c4b0354578b18fd9e207a4c7fce547a3791f65997512102aa255ea44b46ca6ea38fb703dc76b08cf983a38dd9a94cd1e72362c6b4c9e715618a539d1dc38913999e5ba40219ffff037542df0b97bfefb15c078089191b2a52150ea5b51cca6a82284765573264ae6e03034dea89206384956a830d2d53fbc0b52e9c35546d4ee1076fb3e94b809c2849031257142d2438396815966b4a62f7cce8fda3734de569ac99eb84f84b67b52d6003ec07bb9549bf8511f4d251992bef4a665e3b99e70616a281e27ca037958de86903c1c92f0c82642a41a243091ba2b465857c62640e44acc87e4849ca020411e5e303bc1efcf24a7bf80ce6e2d0a1cef691aa2f94ef98835069767f78a6a42268c99503e7c21b0a2d277afe1e6e551f81556b184614c566bc76218e534135c0beb8b81303d8fd25c0cf4e1efd6b64c9cacc91b4f5cad406fe22fa3f0fefe9047b0379bace038271e2a1d6acaeb5bbdd7cb5a291e0194225cef578892f56ee00cb1384e9826a037220a45e369968a79c3639c377f443ac4bffd844b5f2d404f4a063e09ce5f5bf039f70cccb2bd3ca3209b9b2ac1851b9b80a3c5744e81004ee0eac0f833fd5701f0302f919b9a103680991ca859ac0c8da6be5bb7228ea64ff8af74a25121bb9caff03035e6cd99bec2ba402dd6c9eea51591e851f33be0d0652498149c5cfd6570fc3038aaf98b67225f5c7a35134e74cc3e24e87e67c9fd48426d183e52a13efe56e2a03d800d4efa60ff98fc6eb3ce79bd95f5ff9d096d649d3b9aa6228c39f223d0ecf03c1ebdfba1fe78572b69442ef6277e34102943030cf1131005c8fcf3af694e6e603991f88e235984ecdc76e9c9912498b51bed64df0ff0be18952d605e12a2fb6100349d7483268d7fb7e7034d04d7481c794e0e8d64dce421b002fa528d8141bb9de03d1d13303d1b00c4e962cacb68fc41b0ff6ae6a588564e957b03e2856067603530314a498d9a51ea2cd3e0a2cf9be65141ae6c99bbb73e5cb29dcf32805e377a1d103bd2920dc0f706719158fcbf9cb2c857ce016f7405bdc72bf0d68a27640c6f0000367551c91dea4f1624a749fee04786182275c485df8edfb1f2c988b3c4baf1fe701410800581f02003eb1904e9e36f0fdee4af8a1fdc7078f0128c104dd46a3f6f921db36085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f021869dcc49719a9889517f31021400cbde3ee8356d01ca8097afe2560fc0d410103b0e7f04afa821e2c984ad5aadd9b24938795fcd7159249ad8b87b3d8c32ef25300581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410100581f02e64570898fbeab4b5229b1cd9dd06bd8710d936d1619bccc1bef37c8c210410300581f0233c5213d0ba4a80d98d25222a89e6679855acd3a5fdc5a7c9869ce0a0bb95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198b6203ea1b869cfd7609b35ece8e3fc6e7411aeaeea9c48bad23847b6e3e57eb13755d0305a7b659788d88b06374041324672352a6005f597a7285b9e8c6972f1e18f85e03cacba634f48ab9c09c46b8b6741267f8d2bf15a97206ea9497ae22511fc4cc7e0308a5b1ec8daea12459ad49ecc818f7dc120a4527ac28c1fa8d3bf718e1e9586a03e35df5d93074eff0034ea715cd4cc2f32cc39b7def7b8ca3c9cf0f7fa3f868890348f37add146497d4ff4f21b5a4ea93255950f2abac85719bc14d0261ed66f9ba035d68fbb6cd9162a9ab479744ad8e92ce1c6b4c8b77eae021f25d299a5929f91403989c0476865950bab8500e2ec03168931690cd1e9bcd7b15cbff3fddc121f62803a648a3abc1607050d43c3ab55a7302fa80ce0ec86a7240a21bf78044269f8d910219ffff0219ffff03800524f7fd066ac71f5d3f44f6aaa55df5c62a0b28aa65abaeb96606964d6eb30398c94d753fcc56eda7369cc9595cf6aa529714218e45c6bb8d2aa36c3bd8944503dd83c074d724d6b4d4aaeae97e8bc271858d90c000bbc68b1b805651781ed96103adbb6c25dabcfd8acaf88709cda140d4b48336b26a2418afb8f2d01e9988492703e209b3d43bced02c405dddb6455ae1cf07b4ac7b6fc2906e1009610123864cc4038bb80a8d9149bccbaed8551610bb59aa1346db587028c38a208f18387f9a108803d9ab43220553fe2bd937b0551c6384e7b26229f719f273f5bb19eb6564b8d993039d5e91d5e1860b9b371a18fbcf7cde2d56a7cf8f6bed07584cd4971feccea96a03d0c2f8e01317ac1ce8cadd4e42977cee2f5e296e226de3065ca5a94e021114a703d6d82ef528b0363bc22d8dabdee4c6c257bb68919031066751be7e03b6f84fb40310d02000fb00c25689067c672d11b675b16b6b40c84a9c39757c479f4f174778037d331056a11dd6ae89341df13bc7d1fa2be6b60f560403090719940c28cc188603d7f3c1091594e350e4b2d36131cfd09ea998e78da41634e6237391efe2e5930f0318448324cafa58e78ec23262ba3a3eca34efa58765c56105e9693094c675ddcc039ae58da3f1f94a6f266561ed71308d727f85b1d8eb06ddd1a7e6efff584af98c0376a31acb3d599a93c845be0d63fb385190eb1d1bd233c558e667943e96d9ed0503ad1d9460ec7399d5c915aa84e92d6602a316f2eafe896fb0e2d531017dc95fa10363a9fcd5dc44d2e3a8b4de28f88375979ec97e9589fec8818ce86c376a6363f60337aa9481e6f37af4ecfb60c67cc20106242a9b58dc65a2b5149a608f0a91b4e700581f0250924605c30991be10114cb512f4835ac510d0f5023189674de0579f45965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d159f2340dcd2aa00356ba16ef8146deb1cc0a5344e8bb2945678a6f65bd3b8400581f0327a4c5d49db8f9451e4903dc1edd9077d20cc3dc02107b1bc5ddb9507e104502723e901f00581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30582065cf5dab00000000041e2e1d97d27cc521c200000000000000003235290e49890219040400581f02544e44a94c3fbe1a33ea6afbf0b22346d14ba9bd2eb4cd7138c2c577d6e25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02130c966be2d6e1c7b682d229e64f15e9bd3ffa448e731aba50d8300c6379410100581f024d60e8095990c982d58518ced7a17d286c3c26b8849351e9d8d23fc20db74cffffffffffefa5421dbe02ad021946920219ffff03560cba02591ffae33f8fb86240eba7f43d8de48b3ea50ed62b3a43ed7a26576003a51393fed1dbc44136f5959e33db097b877618be59cc26afbbaaf8ab110c6730033220ea86f7625b1db643aefa90e3e6621c18057f4e4ee539660fcf6c796202030393981a9ae9cced9b9d9c51fcf06d5b940063f309c3b95e044d309e0fb72ecbd503b85d505b5f00ce26b5452ce128769ffb12624bbbab21beb74f54e9b888c19a4403880cc33e4be0f5b3afdc1e5dfb67dfa4b3fbe04db46334bda03b036680342f3a0387f6f016d9e2aeb0e8ca314adcb97d0772f45db24b7bb0f812b619053ba282db00581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800581f022d284afe99a20bf799b4d79d672335476a3d262f824bb3eb170813116158410200581f020705a270d1e13e52792bba864f1e559baddf824741e3c8b7edd7d8473cc7410302191014034dbbba847e3bf2354e839a6ac9808044e6f81e76fcd36fe27fe6e67f7558ed3403aeba5a5a5f23ede1071203ec6566f3e411a9392051d02f2c6bcbc8eae0c845c403d27bb0711cf00117286255535946955e0566a417856637ae69d870d50e385fef03382bb3b1c39264a0b17f1aaac0143f4df9452a537d1445783095b9d19ee24e72030d570ce0f597da8698dceebad5d62edeb3f32c17928e080077430be5c4d9843f0386a108505b9a96925d7b578c5f50078c5eb2c6358b555593ab5bd41fd85f1e4103b5e63e34f93dfddbfa11fb829c14af790a472ca0b6760ba94428e2b97d97158f03462e0cd25eb43256a7aa891e12f61feaa1b09a6f1ed5c4055ae0c1e1e826bcad03b1b7cd233a94b8c3fd2f8912f8cc8981d16c66d7cbd2d837a2b51129274dba3103058563a49df848fe6256ffb25b609cac6393bcda7a2f4e23c0ec3ed09455a8480219ffff03423e6425fdd60be6278805f9e36f7907f68294e1820c9e0d0fb78f46c808ad5e033fc22aefe556e8905eca222ad2e0251eae05ac5e2d434ff59748ff4924912a58036cf2d2c8db3d9c602aea0f4362f2291f8d8e6baf4f36aeb2aeeb7c99d384e3b80321238cf680f19e2b95f89d0557bfdb54de72b22a045a1733768ff04bc0721f8703450a58dd4599d000c1a779ed29de2174bad7277bf1e3da83bff62d730bd85d2f0376f4614387b363dbcbf14c312ebaa135ac5b2ccde5c9b308f6d6374989fb0b45034dd7c7b1b0246da238d0673ca76eb8b6a88ffbe98027af64a52606dd462026f7037c01f6578b0a0d374094cd3afc2bb405d5745cad095d6f5fca43783d416801b203da8e3235ecba4d2973dd99044f49c5656b5f926e7858f19985c9eced3c3d69c40219ffff0219ffff05581e0369d860ba51e1f38e9568d712cc1015d300e6459b24c6f12dd3bb72fbb00701192c1d0368a57f876b2a86d5202cb0b88a56b70157ea45308ca313ac94c58917316ccf2a031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03dc46867273ed70dbe36e1f7bc487477eb235a4a743e1563fa18e724e9007011bffffffffffffffff05581e036860b21c055eae9ab7584e141dcd434524e2623f3704c97f462fa8b2200c014634836895ae0005581e03d17038f9eb9ca5d5c7f2ed35ee4c36cd18aeaa99031ba3c822cc3a7480040103a243ff6b74281d79d0b2d05f3236a40825212deadd5b3caef0a90cb42e5ccd360219f38a0328640eee32a080b77cb9d328b0f3b6a1e1d4e0bfb667e2bbce2e84f575bff9150344a0dcab32ea2cc3c6057347ecf698ea00a7304ed4ffa287dc4137da70ef62a803350bc6d59186f54dd04857c4d96209f909c0a26c774302971cda3d3ac2ad986503363b91a65d3d97f458d8e486292141f60b4aba3b0848317adef4378e4957061f03d0f0e161ed393239273fb636fb6233f37bf44aced14a1a4f16e6d4f20897e98603f687542496b875f86f9301d9dae8f4147a5612645293d23b118816af042e416f03659d6d8447bb0c6479ad742cce1450c347ce7689762a626c794a268ccc918ddc032aad63a3441b51ed82e072c0e7e66adef5a9da8c671a3c4703dfeb33fdb71f4f032e1cddc00a445b4332bd70bb71438542ce364db3719f75fc23dbfb546e553205032b25f41fa7dd345c2be3d27d8cfcd3d6790f372b3fe56044379e7003085116050219ffff03f73cd996e08163cc5fbbe2cebf5b8a0ba71705ae8a3c763a93679caa9fd0d44d030502386b46106874feb8ab4d6a01ea5ab17a4532916ec094f13dd947f102cc7103d22aa26444815f33b195bb9ec72b00a532a983a638404b3ef2c8b707c860167803687c7a5f588515f13b3f3e18f5c2c05aa1159424a78b4e9cf2148ace9308dcba03ef0feeff59177a99f4f376146bb32fcc62f2a045504b5b3b43a6e8004254a60a033c4da270e894b11fb7d3f06f71678d8a1d36b0e52db18cd33d640cadf7cfe5b703bd9a604d5b8526fb25e5ba9ebf565d978ed55c4163f0bdeba78cddf4a4a493540391878f2c77e9321d80de7fe1221f8af08ffdab13f2bf1f9892746c4c5574ea1b03f8658b65bf425e6bb3a524dc6520f809c4229b1923f4f1cd0123d2226f7adb0f0331ea4a51242c468f2695dbfdfdeba6f2a0f2a9caf5b4843556bd82a32ee0c9870345e0afa7b9533df8e6173e00bbf6707db589b835852c81f8cefb1138cee28e02039d63a2052a1d5096a47cabf6a9f2acae078cfe71dd75c639ff694373ac1229a70393eabf4d4dab57038a93783a123c8dd5cfc200c7c5b7699da4b77c23ece1b9180219ffff03d5d4052b7b48b342b7d0f981bf8454866dcc9d4b8ee0cf007f6714d166fa74610219ffff035164031cfa690b33ef2cebcdfb1a4d464e1b2229bc7fc087203147f8c14aad420219ffff0219ffff0219ffff" + "compact": "0x0103d1e896b43c6352e228ce254c2234ea0804c7c0e3dc9e5146064ec4a3b29cc4ac03269516a1ddea4a78ffd5687a46541d84bad6c46c565eaa6b163b58563c2bd1c903d099a09f459478fd6be4fa17a1755cc4dbb65cb35a9bef95b7bff49967f1eec2038c6fda8df25fb572d27d8a6e2a20a7b898040691521e57f8493dc9f9d8997d920330e604cf178f6e1cca8b6a85001f66ccd568251a9d0eebd8acda588a49d11c0803e5bb7dca13fa748ad4f641dfd202803bd22c9559d2439aef7b4ad8b03a7479190362795234be1c265bb1bb72b47ef4bc06f54ff9be4d2df4197624281b7125f26503ae146d37807f0bec197009335255a33bdce44e50129eb4adc6358c763a0143440373882696582984a53de7f4ec4dcf13a16e29dc73b87fe9d9659c7b08370ef831035c3462735b5ab29d4b01b63fe904547dc0f156270ade0561df40c20a51b68efe0308229e0b1ee9cc57ecb774fde1e5ead14a6dc6c817c345f6c875a2a49d96fa91031869a9059d736db315eb7e05b3acaa34254a76d179b26722904c08a4e525ab9a03c37f01c96590d3f62133ce7901ca993e166c72a9cac82d7b00a4c882cfa6a35a03d5121321982d972e3adeaaa2a62e36a89666879aaf6d5f7fe60191c444fe930b05581e03237564fdad830299edfff7d18ca585fc9b854aa75c744d76f339f67540040105581e033cbb643213c0f1a0ac3fb946483b667e5cdc808ef44662b74741e92f900c124661a2a23c743005581e03a8c374fd814ca677a591ea7de7b651fbb8c0a205cdc0819b7b2f08f960040203b96411bb74bb198d55ac936ea44d36837f3b27ba37447c481e1afa957d0a0d4305581e030b64f2319a915534341b1774250b79c9e7926578f7e88fd250aab8d1b0040303c354e6df1e01a336f213a46cda19dfb233cfc35d365df68f054c7036387dacdb03be0697e842e6796ef7b2a5d9884b0d9f9117a03c3beae8d2850965bfd3b815d30344a7a0306fe0d65de61f2f8d108398803e7d31fb84cd206539adcbd119b405940395061b9250d1f29c3a15a67edcc7fb0f3aa4ac1d5ea662f91481d89bd462ec7d05581e0375f755ed543b28bf279578d5ac3dc634d4ba975e7428c46bca4675d1c00c0a479a2c18b28f16000300eb5fc2484ff746ab5c7bb1689633cdc38fe70274d8beb10cd0b00f36fd12b903cac4ca18c0133ed9324c183b287b87ecbe361e959dba26f4d8399d5b6b92a15305581e03d432d9b427cd9606d77325bf376dab31093a5d15cfee6f62704a66224007011bffffffffffffffff03ea8db4effcdd643d50953ab5bb808be7e73d8ad927927b319c8ec579b663e02f045901d0608060405234801561000f575f80fd5b5060043610610034575f3560e01c80636b40634114610038578063e4886e501461004d575b5f80fd5b61004b610046366004610129565b610090565b005b6100747f0000000000000000000000002293cd12e8564e8219d314b075867c2f66ac694181565b6040516001600160a01b03909116815260200160405180910390f35b6040517f0000000000000000000000002293cd12e8564e8219d314b075867c2f66ac6941905f906101808682375f5b6104008110156100e55760ff851661056082900383015260089490941c936020016100bf565b50610180850361018087016105808301375f80610400870183865afa915050806101225760405163439cc0cd60e01b815260040160405180910390fd5b5050505050565b5f805f6040848603121561013b575f80fd5b833567ffffffffffffffff80821115610152575f80fd5b818601915086601f830112610165575f80fd5b813581811115610173575f80fd5b876020828501011115610184575f80fd5b602092830198909750959091013594935050505056fea26469706673582212204b893321eb19b4bb10acdbd0440d0e25aee69932481164068dc190f24f21c91a64736f6c634300081800330605581d02d752839e18653d68ee5c6885fd8a6c0ddc0bbbffd22f5bfe30a5cc2407011901d003bf7bc29ba6e601e9e498e3bcc7fb201460a6de40f635dd253b713d41572a0dc703b57654fdecdafca01a0870253c0e69480897cfde01f485fd3371228b217446bf05581d02ec6cfd2a7150299c0fcb56bfc21c10918c3b2ff86c5a6b5dd5b7bdcb07011bffffffffffffffff02190120021976ff03ee7329f4e95c00e812e465565a537e2ec8e86e65bbdf6c378afe852ebbc4163a0346cf850c0e00a18f2600ab3e93dcfc3ee61365fb5a78b3249cdb294fc1ba298503fb3a6be4467b7383830c571c8d1ac4dcb8fd8e19707b166318be90ebe34f3a3a0336a7e316f620087b400a4f4a1de22860d1b4c30169056c875d48fb196a7d80be03df848de82eeb2dfdcdf2a4a15b67c551a8982f17104029c2a9e8fae3a45b93210373c1237b9917e5fab2131d8be1bb2c75d8a6b42c5b3ef0fec9f068c6ff22287b03cc0febcdfcbae2ff22cca7bc36dd5f42942833332373f7dc4d60da1631825ecb034ddf1cf2803890494cfbfa4bc975984f8aa2d317fb4bf1a82c30a03e3a91b64e0311641558cf1e9e95b35a7eff1058013a25ddae4f302c619dfd88caac79e7f5e003db25efc9b896b4de6ad34592698c84b493ed85462f0678a3a5736e92e0e3dcdf0388255dd2c55c0740fd839c5331a6fe1d8645565552221ced4520c206d175b8a80219ffff03931dd992a68ca68d83f31e14f8ea2187fbe599514b384e8c4afb10a31a3045a103871803114c1e6090a9266da225058023dac3cb25963326af6da07fdafe71690c03add81bf42723995c12ebd485fcfa613aeac6d5621203aa522f533612f8c63e1f03f3d8b43eb340b430e82f2437e7ba6fdbf71c37244228eae896375d307738b5eb03883c2b579f531e26c6e2bb284244dc259ab160758cdcaac551bc7bafdf6aa7a503e6dbd0c4bb7b1abf1ac69c0c710d62acedeec8bc0e870031013f57d95819588203c0721d7eb64201c0d53b6f433d5fd1f8406607bdda68a4314bb2dcab7d65906c03c91957577a5422867da57554aea3f677ba3fbffe201b10aacb8a573264ae406b0373b2b59ac2788446c3cd3ed906e96ba7411160e78f732282f993aea56693159903b05a1a8ef2e8adab6aa2928ca70f462219f4c75d04d2cbbbfba8125ea57e744e0219ffff03aee49faf931917fdaf429b82c192c3ebd66cf5b9af53cb0c225b923932cee114036fff19be4381af5a63c2316b8b08ab45aa11462937868c52fab51cb3406fa76203bc01c31db7274dbf555080699289efdb3379b0c6dd290cee8a050e84c65f2c5603a7a9980884062f6c9a05918215c10860f6ee1fd106892a4255a3706773b1f7a0038e1219531af865762970f304ba0f2b83424c70df8a523bd1ac27d236d37d085e03ce39eca43e4a1d0296d37d2ed07168c8772645f807773fe4a6baf696210f7a6f031b2ecd30d5c5b1e8e6a52b00d6fcfcee1d6acc82e5f43e60458e035a6ccd1a18034f9727631be6ea5cebff6afe3ed4275fcccb5eb2c69d4b9ee5c6a11132165995038d8b2df4c5b80505c4c7592f713b27e8cd55796a842ad5302135862207d1dfc803780c7a89766ece82693350b3902fac30db8725e3f152a75e1763fb0808898672032e679b07392b7ee96efc0165dd2fa94ca1552480b85690b752f4d7547c5faa730306c076d995b1b64891c203661611fd6ca30ff0afc930392bc05aa18c5d16f7a10219ffff030d53067269d442c24e5a70560db7f07fe12d8100b1d8b7a63a2f50a325d0069203bcd8148cd263f77b7e2633a27515872c5a63d4d8831d410ba866fd5e755df7f90360f35f3db4b12671ec488c3838da220a3924335a7d86dd952d8dfd686260396b035cb7da03577c51b4cc8adb14906644fbabed77919a0539b1b6265102119244c30339b18cdccadaaaa3d722fa889a566ac4a76e7e0c2d2bc34aa11c77f048e6c546039baf9604d885dc87f49770daa4562ca6137f5c4a039b3d428dae928558bb5c2a03aad33e20a8a68b6bdcf5dca2965d977f2aac512587e684dc4c6ecdb8bd57c52003d42f7d55e65c47fd32116834a152620d8b72099b19aaffee5fc78940729426130325040e2e8e6fb7e58d6cf53eface0be3a6a40a277d4a51929cecbafde65fd7fd0374e68ec6139df90dc38035ab803e088c858a2600ee983e4bef3b906a3e334fb503ea6a42e1560f5b58df8e22296f0dc888f10650229f06520302cbca81b8e2ba1103e3d442aea1e07fa67d99a506ab66c3728b1347dd0822200baf4f85b17561fcb60301c950b3362477f706c0dfba74521d9a28e5bbe57b11bdd66b653b185e73fe1a033b93cf13c5405772b73f1b43b3c332122596779d2c38c49ce1726a2dfb2fda4803c9072442770a9fec80b64fd157b360e5f78c93f04e011b8be7a55e748ca457160347c03ddbe49ac07f0b5520cfc0954c8edc707823a6635ee9b8552bf24d2b8de603a1a3bbd41d0798552ef16aeb811e5b945d388f075ce4b358e2b589419cb07d4c037197582446a50a849dce90a0de902245de785fef0473fdfc1fc3f9b722d5a1450329fb39adf3df0d98b68a626189acf00f9bcad4c74fa23e9d8f541028941824930300ea71e1aecbd729d3acd329e39c00fa52c9447611cca52d67fc289d3b643a48037be08bbadf7fc25eee448007b2daea2ad6853a94119de57f58e8b4d1be38799a03041444f6ec3a881fdd14728a5d9c83ece5da5cd869c9ba92d28abc957bf7e3b803430facf99179f80f5d73db20be3c2dd59d8377599aa6d4e9199c36b002c9eef603f2557e1e7ad2f0c5760b9c44623aeb0f3d1543ba7cac98f24d84ac68f624737703d5bd3b139009cb525e0f80a18341e0b6e8467b01fb4ce203595456957438d60503caef803562baa0b8c53518f5e2d00aa771f9bbee4f6633f23bacb87958b1108e037b7f8f938511e934d941e06150d2c68a0e8b1415ee7cf6fb35c7d36d06dbe788038779ee7795723dfbb8e4839a82f137c89c3d0fb89be49ad15696aa01a082b5f203a8c38e02c13803e679345affd42e7f1d00cca4359061a18b8069fd7bf47a35c5033d0c6f1cf777d2bce6ebcca7dbb02950aced2ab96d5ac89a4d66b4e234837ea7039c70ad46def2d759a91beb18320793fc76bd50c6a3ae7e983a7606efe4758777030181e498229985c90bc9763ad7170771ce1adcbd8a4cac61604ff141744bda480385ad339c2fc867b2ad8cf545212408433db04b3a207c191c74738686ce6d32d603f46e84eb54b42fec59147aa5aa15185b70fc468fe0291679215cf9bf19b6177c039be470c0015f58d6b96f3f24451561757df36855647f7fb68f4be60ce62a4646030b61bedd321663f7ac020e9852621b5f2df15bdc727377e0d3bb0c7bd4dcac8a0317a5419f14aeb41bb5a58ba2108d2bdc84ef626af3e0cb4cc5fa406f477122cd030414513d1a21ba8bb2f79871885f78acbc544592e568b7a7e6957d23a2edd868036555f94a06b5b5bc75d9443cd5e2464ea8346470e3b7551b00ae298f04403dac03229d0f73a8e0c6aa967bfcebfce0fb2f1a2ed360f1e053d217ce964d7ffb3ce003984f4ca620f4ba68a1f3016379270fdfc13800bf832d5e2ea604021a91fbfc7f05581d02f9ca3ae7f76a8e8f53f96f172e263dc33dc7399ace0820d6bea5d704040504591ada608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063a22cb4651161007c578063a22cb46514610290578063b88d4fde146102a3578063c87b56dd146102b6578063e8a3d485146102c9578063e985e9c5146102d1578063f2fde38b146102e457600080fd5b806370a082311461024a578063715018a61461025d5780638456cb59146102655780638da5cb5b1461026d578063938e3d7b1461027557806395d89b411461028857600080fd5b806323b872dd1161011557806323b872dd146101ee5780633f4ba83a1461020157806342842e0e1461020957806355f804b31461021c5780635c975abb1461022f5780636352211e1461023757600080fd5b806301ffc9a71461015d57806306fdde0314610185578063081812fc1461019a578063095ea7b3146101ba5780631249c58b146101cf57806318160ddd146101d7575b600080fd5b61017061016b3660046114fb565b6102f7565b60405190151581526020015b60405180910390f35b61018d610322565b60405161017c9190611570565b6101ad6101a8366004611583565b6103b4565b60405161017c919061159c565b6101cd6101c83660046115c5565b610441565b005b6101cd610551565b6101e060085481565b60405190815260200161017c565b6101cd6101fc3660046115f1565b610595565b6101cd6105c6565b6101cd6102173660046115f1565b6105fd565b6101cd61022a3660046116be565b610618565b61017061065e565b6101ad610245366004611583565b61066e565b6101e0610258366004611707565b6106e5565b6101cd61076c565b6101cd6107a5565b6101ad6107dc565b6101cd6102833660046116be565b6107eb565b61018d61082d565b6101cd61029e366004611724565b61083c565b6101cd6102b1366004611762565b610847565b61018d6102c4366004611583565b61087f565b61018d61094a565b6101706102df3660046117e2565b6109d8565b6101cd6102f2366004611707565b610a9b565b60006001600160e01b0319821663e8a3d48560e01b148061031c575061031c82610b3b565b92915050565b60606001805461033190611810565b80601f016020809104026020016040519081016040528092919081815260200182805461035d90611810565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103bf82610b8b565b6104255760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600560205260409020546001600160a01b031690565b600061044c8261066e565b9050806001600160a01b0316836001600160a01b0316036104b95760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b606482015260840161041c565b336001600160a01b03821614806104d557506104d581336109d8565b6105425760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b606482015260840161041c565b61054c8383610ba8565b505050565b61055961065e565b156105765760405162461bcd60e51b815260040161041c9061184a565b610593336008805490600061058a8361188a565b91905055610c16565b565b61059f3382610c30565b6105bb5760405162461bcd60e51b815260040161041c906118a3565b61054c838383610cfa565b336105cf6107dc565b6001600160a01b0316146105f55760405162461bcd60e51b815260040161041c906118f4565b610593610e96565b61054c83838360405180602001604052806000815250610847565b336106216107dc565b6001600160a01b0316146106475760405162461bcd60e51b815260040161041c906118f4565b805161065a90600990602084019061144c565b5050565b600054600160a01b900460ff1690565b6000818152600360205260408120546001600160a01b03168061031c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b606482015260840161041c565b60006001600160a01b0382166107505760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b606482015260840161041c565b506001600160a01b031660009081526004602052604090205490565b336107756107dc565b6001600160a01b03161461079b5760405162461bcd60e51b815260040161041c906118f4565b6105936000610f28565b336107ae6107dc565b6001600160a01b0316146107d45760405162461bcd60e51b815260040161041c906118f4565b610593610f78565b6000546001600160a01b031690565b336107f46107dc565b6001600160a01b03161461081a5760405162461bcd60e51b815260040161041c906118f4565b805161065a90600790602084019061144c565b60606002805461033190611810565b61065a338383610fd8565b6108513383610c30565b61086d5760405162461bcd60e51b815260040161041c906118a3565b610879848484846110a2565b50505050565b606061088a82610b8b565b6108ee5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b606482015260840161041c565b60006108f86110d5565b905060008151116109185760405180602001604052806000815250610943565b80610922846110e4565b604051602001610933929190611929565b6040516020818303038152906040525b9392505050565b6007805461095790611810565b80601f016020809104026020016040519081016040528092919081815260200182805461098390611810565b80156109d05780601f106109a5576101008083540402835291602001916109d0565b820191906000526020600020905b8154815290600101906020018083116109b357829003601f168201915b505050505081565b60405163c455279160e01b815260009073a5409ec958c83c3f309868babaca7c86dcb077c19063c455279190610a1290869060040161159c565b602060405180830381865afa158015610a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a539190611958565b6001600160a01b0316826001600160a01b0316148061094357506001600160a01b0380841660009081526006602090815260408083209386168352929052205460ff16610943565b33610aa46107dc565b6001600160a01b031614610aca5760405162461bcd60e51b815260040161041c906118f4565b6001600160a01b038116610b2f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161041c565b610b3881610f28565b50565b60006001600160e01b031982166380ac58cd60e01b1480610b6c57506001600160e01b03198216635b5e139f60e01b145b8061031c57506301ffc9a760e01b6001600160e01b031983161461031c565b6000908152600360205260409020546001600160a01b0316151590565b600081815260056020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610bdd8261066e565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61065a8282604051806020016040528060008152506111e5565b6000610c3b82610b8b565b610c9c5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b606482015260840161041c565b6000610ca78361066e565b9050806001600160a01b0316846001600160a01b03161480610ce25750836001600160a01b0316610cd7846103b4565b6001600160a01b0316145b80610cf25750610cf281856109d8565b949350505050565b826001600160a01b0316610d0d8261066e565b6001600160a01b031614610d715760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b606482015260840161041c565b6001600160a01b038216610dd35760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b606482015260840161041c565b610dde600082610ba8565b6001600160a01b0383166000908152600460205260408120805460019290610e07908490611975565b90915550506001600160a01b0382166000908152600460205260408120805460019290610e3590849061198c565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610e9e61065e565b610ee15760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161041c565b6000805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b604051610f1e919061159c565b60405180910390a1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610f8061065e565b15610f9d5760405162461bcd60e51b815260040161041c9061184a565b6000805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610f113390565b816001600160a01b0316836001600160a01b0316036110355760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b604482015260640161041c565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6110ad848484610cfa565b6110b984848484611218565b6108795760405162461bcd60e51b815260040161041c906119a4565b60606009805461033190611810565b60608160000361110b5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611135578061111f8161188a565b915061112e9050600a83611a0c565b915061110f565b60008167ffffffffffffffff81111561115057611150611632565b6040519080825280601f01601f19166020018201604052801561117a576020820181803683370190505b5090505b8415610cf25761118f600183611975565b915061119c600a86611a20565b6111a790603061198c565b60f81b8183815181106111bc576111bc611a34565b60200101906001600160f81b031916908160001a9053506111de600a86611a0c565b945061117e565b6111ef8383611319565b6111fc6000848484611218565b61054c5760405162461bcd60e51b815260040161041c906119a4565b60006001600160a01b0384163b1561130e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061125c903390899088908890600401611a4a565b6020604051808303816000875af1925050508015611297575060408051601f3d908101601f1916820190925261129491810190611a87565b60015b6112f4573d8080156112c5576040519150601f19603f3d011682016040523d82523d6000602084013e6112ca565b606091505b5080516000036112ec5760405162461bcd60e51b815260040161041c906119a4565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610cf2565b506001949350505050565b6001600160a01b03821661136f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015260640161041c565b61137881610b8b565b156113c55760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015260640161041c565b6001600160a01b03821660009081526004602052604081208054600192906113ee90849061198c565b909155505060008181526003602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b82805461145890611810565b90600052602060002090601f01602090048101928261147a57600085556114c0565b82601f1061149357805160ff19168380011785556114c0565b828001600101855582156114c0579182015b828111156114c05782518255916020019190600101906114a5565b506114cc9291506114d0565b5090565b5b808211156114cc57600081556001016114d1565b6001600160e01b031981168114610b3857600080fd5b60006020828403121561150d57600080fd5b8135610943816114e5565b60005b8381101561153357818101518382015260200161151b565b838111156108795750506000910152565b6000815180845261155c816020860160208601611518565b601f01601f19169290920160200192915050565b6020815260006109436020830184611544565b60006020828403121561159557600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114610b3857600080fd5b600080604083850312156115d857600080fd5b82356115e3816115b0565b946020939093013593505050565b60008060006060848603121561160657600080fd5b8335611611816115b0565b92506020840135611621816115b0565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561166357611663611632565b604051601f8501601f19908116603f0116810190828211818310171561168b5761168b611632565b816040528093508581528686860111156116a457600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156116d057600080fd5b813567ffffffffffffffff8111156116e757600080fd5b8201601f810184136116f857600080fd5b610cf284823560208401611648565b60006020828403121561171957600080fd5b8135610943816115b0565b6000806040838503121561173757600080fd5b8235611742816115b0565b91506020830135801515811461175757600080fd5b809150509250929050565b6000806000806080858703121561177857600080fd5b8435611783816115b0565b93506020850135611793816115b0565b925060408501359150606085013567ffffffffffffffff8111156117b657600080fd5b8501601f810187136117c757600080fd5b6117d687823560208401611648565b91505092959194509250565b600080604083850312156117f557600080fd5b8235611800816115b0565b91506020830135611757816115b0565b600181811c9082168061182457607f821691505b60208210810361184457634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60006001820161189c5761189c611874565b5060010190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000835161193b818460208801611518565b83519083019061194f818360208801611518565b01949350505050565b60006020828403121561196a57600080fd5b8151610943816115b0565b60008282101561198757611987611874565b500390565b6000821982111561199f5761199f611874565b500190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b600082611a1b57611a1b6119f6565b500490565b600082611a2f57611a2f6119f6565b500690565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611a7d90830184611544565b9695505050505050565b600060208284031215611a9957600080fd5b8151610943816114e556fea26469706673582212201f18741631d56a960a7451d121fc8a2496db8227de095cc9a40a65402ad80e9064736f6c634300080d003303acdfa15af9bb6647a0e7998d373506f6a9707936c4500c10a4af16a7a7bcdfbb03ae25caf10ef86cd718a7955bcfa147b53b22c7ab1172b6ad643953c3282074660300afb4bae9e344184bf8f01d279f59a6c77215710b6777b3f41eac90b440169a03471b4dae9176923f89d2852847c81c0556f79acf3b1353017ef28bf6ab9e5a5003702031ec00ed3ad68b27bf9ead41f212c769c27cc41ebb631e314a27bd893205030ff22e49c572e2d1c8636a04bbe5754051bd629156f1abcd6e7ab57100caf58f03928733c89d3b54e647e994782f92668a1d4be9ac7610d44353994355a74d419b038b6dbbbb7315c106014ed067dbcd2669e8aa45d64af7bcd7072271e2a4d86470037c7f9a930238f2c3bfa2cee6194e8f640160a35da26772bdc049e27d427ee19803b858d2c8702b10212da992eee6cf5f4ed95f88e27075b0be0cd212720331ed0703eb726fe84935a643c27f3cfafd5ab991197dfa0f4fce8791f06f4930e113ad5803558de2322c8466cb2565496cb5a65696a9cf24685c743b3f13deec84946d949203081a864d289a08e4d09e3df1dacdc6b41c1302020f6c7b86ab9d63658b536f0f031badd4a6c2f3eb4d9ca93e20905ed7c911568e0371c7ffc8281ba703dfb5bef803f52519897df10393fbca52096b73afd0361d879974d5f94c8c460377531a12e803231f9266fdcb3042b30d1a9116a7328b2667b63b74a3f892483aa373ce5d6a9003fd1275b3c5eb958b32cb174fd7309473f54c8314b49b76f9d7478a4275d213ee037a7292eab2f99901ffcedea6db71efb9698cb7130e2a11739a11f7722eb380b90374534eeb39413ac4aeb831131765ad8cbd9c843db293e0f491a92bf37bf9978c0390be590fe992d0fb12f77b721383e17064d3abb2445ba0e0e1adc3cd0410d870038ba0ceedf83307b3bebfc0258ce69dd09c6d4402e20024865f7791e1cbc896a803767711e2139eee6821891e9bed8681b5ba9cbf27aa86649a821681c987bcef3203b6abe39c02badb027d55d1c1e99cc725738268c4e9175e0b63e4455f5a303fce036c6b981f6a198125fa360b32f66d3ac3eb58b8e0a2cd7238ac86ac567e04974e00581f038e6dd2af53327a61e080bc5e04ca92fd4bc7ce6c24d21c4e9b9b6b6bc410410100581f03c6b49a231d2754b8bd449ac20aef1d155e93d46ded747aac724aa3259c50410100581f0345898ed9e7e0d3e6f09e153e7e16249b1f5fb6dbb41c2fa043899588a7d0410100581f03180c8c247be8c782bb915433884f6d3b42b91ab576a7be262655137b485054d84372781eb98443e4ee9014ae377fa6efa186cb00581f03f6c8644fabc9a10e2c675530c6e7335aac7878357dacda6ab414ab48ecc0410100581e02287ad8dfa624591f7be0a58c22c3816875e77074cc04ce83f68155ce4a547c5c5fd82b5f3785211bb2c7138eca21980dc8dc00581e02d9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635496ebc0797ded0248a71eeca231505182179ee6fd00581e02b91d2827c21485c478319d9716b61e7ce2617406fac006aab5db35056054fec5dc0ec60108e239256df5d29af9de6c750cfd0219902000581f03b743627c57d0f81e05a3d43d0463e7e85458453445ebe63205bddd2ee1a041010219d84603159c037e2de3c64eae0cdf3515ff7960feb40cf8f3fe7d9908f6bd584b8c5e4a03b872816ab84c2d7f37fa33428aff6f143efd381bb69a98d9ce1e4e9c1b91487f0219ffff033b7d7abba13bd055afd8d641cf82555877c9eeff037a21a02c7cbf37d5c0016903e427bd3ea7f82d9911782d6a51842af68afe2c498e16206be8788da57ed4a98a0378b55bd285b592f1921bf96cb838e99a23f18c00d49390c48711f4ecaf2c00e403c4637a5aa487559c1cf20a54ad42202113f398354a2b6b5667525353b8e1d4c003112558275ecfea90e0b7bd08e5adec585fe16bc07c56ae1764b64e84ec87d64403dc268b6c6198f73375507debc48c871a15a27cb4c5b7df9e7313c46d44741a4f0338f02982c4800ca1e453abb7e28ab76c403a588dd39feab62ba04e58b7a816ec03e1d4c19944795d8614dd7523192acc15c0384ba7aea95e2d985b3aa4f4a22181038d00e27428f34cc550baafb0fc4884a7e333cfae8fec923f1502b329c0485e9c03ed2ef42ffb10a1ae850eb3d0756263c8fc26536a65bbfa0c9387d6260b21df4503cd15e4cdab73fab8be73b2480ac085d0a736d4b456ca7bdb72565b71bb0d98450355295af3b084abec239c0a4b1503c5ee4489d9cfa6c8c5b8057cec86e493124b0311e341bf0549b7dd0d22f19c35c24d32feadfad7655bd29acddd2c9b075aff64039b60bef8688cb90ce7bead187449356cff255912a7bda6acef68054a978d1c56035be0c7c4b53afe98a1339e49fa37d106cdece041741bd6bf0117e518bb818fbd0219ffff038560f672c21f3cf2d2ad625116ed290bc280b0f288033420a8f02e81a154db16032b6a84af42cbe253a9b2fcd1a6af6750bed83f16f5d86294b346afe37a49a39f037ea995a7cf4869cd993fbc2a014fa42ee2796fe7bfe7c78c6a6f451956ba932403bf717b65253b1094bf2e7dca75941a8410dac02effeb4dec577ce04c514b252f03ecf21fe54b632886a07d645d7814287ac23f2e2978020ea331101274e7cbfbf60337dc3b90c0f5ab48d12d458d5b4fd251dc0025b541e4853cee51d3c7688fc3580219ffff037a62f740b9c4e57da0dcef735ed87413666f1caa70399fc6479ef153ae47b95903260d146c648fbc47b76063152389f6620281f5e4fb7725259aecfa1536e723b7038678845294a9b37d994605a72f68a632a18a7ffb8f07ee93fada13c5862c4d3303b68c7100f69f4f36913d56fe398709d7aeb306be12d5389c2e2590d8493946d103fab4adc0e90fb6332efa315f7054f2ea1a0683e8034f21291402c677d651daef03fb278c93aa0e2f605c385466b7af7fdfbdd815fdb53756dbe67e1702b145c69e03256777febc8acf14c001b2de52cb4cbdf7948ee84e27cc85f0c7467887292e850334bd2b4c77c3048d28c1916b3faf19a23a5868a98fec73d0f7066025924c5de103f579f56210a8ca71d55a1be798aed658ef8bfb0692081b58acd23c50ce30ea84035c4140a4e49ab4de50db68d225bc2f041d956c0e64efd8531898be4f1444e0b503d43205f5f5590a5810c030858c865eee8a77a26172f0f67e61df047ae8901d0d039a278dda795dfa8b76c91f3bd03319fc0e94b6c7c0896e32ddbe7e01331bbfed0390f3bfd4744545ed972b9c799ba2e75cf5e0a30e3c92d635a56092bd99d6a58803e468aeb6b2322c0751a024b1d1278870171318d09ad98d131a3a2ad83f37626d03185f4b409852918bd31ef848a245aae847db186742b1985f13543c1a63cbee0303929b3f64265d44727c43e926e617db79daf0071a48ca52165156d44aada2ccee03be34200985e2617c72d8917e98cb775649c37498d553460308af4134750143fb030779ab4f4191a6b9966b5d6106f6227ed3a39e647a6c982300eca4b77d47ae7803144fff91d3b2bfe4fca9a9b97653554a24868087b9f09efd7386a855cecb90d703c79694bfd137e757bcbde68c992fd94c761bd1ceea81c456120b105a75b322db03b794d632f06a00ac69cd23a4f82b5c34785bca9a675f527c6394e8db5d34293f03077366ae387fb22b03b4d03e91c96435e1c04329bc86326783913c8fbf9ce41403946382be191aa000fa9c927c0dda34a832422a5a02a23fc70c4a561c8a53a8c6037a211918d8c77e304128662f70e2f9a6eaf7464ed6f951f1dca81f5f3838b82b033cb0c9306c63e020c75c4a9d9681c175f4a0642a11d34abba62fe43f4c16bac703af70653f59b73db6a924286637e8eaf387c74e4038b07598502e9bff06c04c8c03bb183be6c59496ef12b6de5b90d658fac2076f6c1893432120fa5f3e889d5e3a03f2b02f35e82db54ca16759b93bed3a380fad08b6ba00becc1494eacad85198f0038b88594c17d8e5faba703e7bf8cd25cd66de935d2782dba0e9212bcec7e9f571034f3208d40b177a1649edb994382368a561b4d8dfabb722b91a8f70e3779a9f6a033a04ad15cbafeb8d34d9556402c44748338ef9c8e4de3864921377ee666e3b0603c642267b452946a44dbc7211073b91357a03050de3b34c86e9d2492528d783010362486a9a29d5e41523165967480572f934017bbf30a58ca8a350fc70b849664303f71e45530ce02cb4e4f936dff8536a66087f714e56c59717faf706a1e43dd4b60382d56e4fa5409c6a923269298f1cc179e8d774a09817f97734294a3b1177172603a58dfb7a340f861e28fd72c7b40d3a5b9b36c138d46b9395fdf26f60db0d4d0000581f030514c8deea1898e239d585935f157468e178084311e22302a5ca120fffc0410100581f03ca2800cf5443ff671fe22d043a3d0a5f59110a35906241ebcf653a5b82205477ad0d6e27eacb4f54df32bcb1b7b8f779bcb5f100581f03a8dda997a6e667824f4961516e2bc45898e0cd5082463a66801fd56b4190410100581f03b88bd052ee5867ba9ab75bbd30ac0af69df9bd8bd623815cc45205ee9b2054d5e1f24e2de75879145bfb4256b5295e7fdf904100581f03accca427d1fdabb936c90c3cc6d19959dd563a9556a944b0801fbf92cac0410100581f034c54406e1b0a44c9948bfc9c94efd952209d4b85f490338bb628e38afdd054a19b61f877939be0982c6bc8dba0c97fd066d43e03a783db2894c08214abff73bd011eb26ff56da969d472c35ba76bef4736f7020003aedabdd775298f280d3818048434485859f9090e882849efbae6a70f1437dbcb01410000581f03d0e3f4a42073d1d1ffaebf91853c3fa0a778329db4bf55f3ced53bcc46305485e0e03dbefc1440573eca2ad3dc45faae5b494c0219ba3c0348b558cdf1afe9d31b33fe36a243572395a262a91bafec46a98f483d750745c503e1db820d6eebe715f41ef5f338e7e14a701f77dfa9709c0d76e7bb1e490d674003b8f5c5a1802767fd7eea3c3260a74e99323a6333ae57165732abfe5952f91c780310975ddba8ef50d04cb51c63eec06dc5670fd1e6add2a12e7ef8243098c5e01003b35f7caaa3eb3b1372f56ea732af0ea7ff823c66565e3a5e42403c53e76df434035ff9aa9788ba9c87201359ebfdf604346f5b3d68e6bd9ed98cf4efcf2003a57303c327147021f3e9d87334e1b78fcb678f823a2f634b6a0c9699cc1dbe6201ee750219ffff03eda94cf88849ca7083ac27f74cb66b1641b63c7595578ccd46e7ec0f2236c7f003982feceacd1d3149f48300560e34a2b88c6fcd9d356b7c7c8f76d873fb6632db03a7230bc348746063d7237bba7e649c655427633899a52c2817fcdf8fecbcc53f03dc06a12c5e4d96b436b9d9b75e71962a3f65a025d99679b2fba237b3bc6d50910219ffff0345ad175a4b457f56af444315e95c68b4296fc624adefa544af41fd327122eeab03b11cc0edc525d9e23db192bbb99969c55aa8df8cca366fffd20f283638e3930e0219ffff0398dce5ebf13f58398178db154ef77f938e189bc9434292ea022a8ddf56d6308f03f6c66911abcdd71c55cdd4c0c708a652fb9632747fb7ff89e6f551a46fa3031803a32d7f233f3c7463fee048a608cc340e4ad37169db63f879bf85c384cbfd1b0803c5f3a5a4272ba0111851cae0cd9922c1c3eee36d86984dd6213ae17f856e77da03de232bad58db35c9fb0dac1f2983c627a372967db29d5c9d5b23a91dacf5ac4f034ca6665ba1167591ce44c0517388c6979a423dffa6f14232836a061c44ae21e30308500d37edd69028eebb76a59d2ed61c38efef0dc51c00e8e3d07c74411f4d42035842d45ca9a986c2d357dcfe2e728016e7afcd8207cc1bd56c0750c0bbb9a0be03ea4ab96d6c3b73b7c1f226aa21e35008252ccb2b597bf6de6989925042f54b110330de56c14fe7c90aba6a6debfbfbf4ee249a2d395be06cfb57d03e22cd82780d03586777ca2ade94a909acf0c1ede8654911014785301a821e2f2d5da09544e75e03486a3213469725685eedec4dc8739403616467e41c6b5f460d1a8e64c996f8dc0363d26168a95e98845c407de5a6c761e573b98c2bc5d8278203acf1ad5f1fb0d30323b5d3e1f25831d83f3a7ac661b3809b3d451259b820285ba4dfa5961416600403fad0c631d263fd5a86053546afd07c234e2837258cc191fe088566e57d6ae4c503068cc56d9e7480ebae319fd44d081fcbdc4df269c6795fb68ee4580fa9ef781a036cb4027a88fe84a75fb0c85387d05f24ac355568e7998c638921c4c79e37dbfc03af7acf138718ce5a8d1fdbf772422c46eb188710f7ef1939667de1a551094d0d03ae44e73ac58aae5c2fb8d9d7156c81b3e18c2f15208944afb28420d1a9525d5803dbbcd195f26104c23f4eeea9437873a0e60da9490667d265fed5b2752dff0d25039e727f96f03c35cc912b9d4e3c372895f7cea3e558e344577903054b26f5309803fb090484cf1c19c35a2a72ba135ad1c89f7b9eba8a19ca9b8e4036f31be9d312035de4d8cb3f56ca57a900aa7f475183bc74b0bf468dca36e42a08a04d714d37f003114e14d209a2f8398eade2cfd4907c9bc8ab1f3cf7c86cedf0b16ef6061612f9038112ae37d9ec2e1478c169c7fc9e31b4ec189937358a0ef8b40fb00a425d5c87030e891c9f33fefdd1fe49fd16f3fda403af911c69f20a7436ab5868244d4f226603ec484c3690d871df81b5bc92fcdf8c3e8b3b6699eb69f8a7f40d0844ca2656b9032acfa2cb5c80e062f2772d65d23870c1453fa6c747132d518566c531ed484dc6036028523a04c67a5e6ef5b50bf2d3b9326f21cc8eb236119c87e24a0bde7d6f6c00581f036db76d4692aed815a326e37b0fa5c220d3755416e96f20de9699d6c99020540edb7a651e8de0e3845ec4f997712fc909f34ff200581f03d47b41a7450e28a9c71399c2d05b65f2d6f0406ab4060db5c26bd908e530410200581f03ba4505f3d00644e83a9c8d13c76cfcc3d118152ffaacd4c3736cf6f98f80410100581f039c4750035cee112cb553fd356c5e1f7301dbca0b75335b3e00b539467cd0410100581f03300243ca69e3f1bae1c22beb605a2ba18cfcef61645fb2f5ed4bd4bcaee05414d3492730ff9d3e5e5cf811112d6f70e20b62c700581f03b388f56c707e2d4ca1ad085c0ab630a55fbb868ae8dc3ca1eb1a1e29b270410100581f036bb007253c6839e0f7c36d3e1886b72a745de7edcce2f6c6d7bf51ac20d0410100581f03cdbc06510a3541692de0ed2a24e7eebabd531924ca3b0bc61a21510d00905490bb6040f7cd57ec3298eee009348687484cd4e6021922ed033ef3e2907020e93122558366c4880cc0d57b225b11901f6a453d2446bc6201390396daa3d8a31397c3b6ccf96e124841e5a4851772f4a816e362cd3d21b35253f90219ffff03ee66baf7c2497d7887d4011db1bf3be6a563cb981c8e24ceb4db98fbba70734903192e428a0c24897d27c7cc80fe830b9aaee0965ce5c4067755b9b2ccc66934290219ffff03d9f2c6f197c2a7d174f280dcf28220b19d5a3881c4cf13f382269c539bceb92403c6aef9b349abc3d79182727f2e2bc70e59047a647aec514780f3a878831ab0c70323579b274dd99240af57033407c8acee858964a9bed899ba8ca7f285baace99603a35e4a54bf91e990fda8e63b8a82b098abbf6f996ab24733129098ad8f84144403927d3f29d7269a997d8f2768aaaa2fb9bfba01ba454cdad0fd09386e9f9ac944035728a66ba460543d836ffe1c1b9678970c882695c9c391a7a94a809ff62253b6031c9069f2102965d79aea389b232697156589119e9941b7c4040db1c600588cb103645ff1fe654dded137f1123153aa45370148907eb3d596f5797c96bbbd9f395903a353a450c02c5539c564371813e99e409fe4fa11a7239ecf0fff82f8ab49a1830322aad33d53fd005969b80c78ff809c413ed916bcd0918a549a30b1aede9947f5030f09ff2841f15d7f2c10f270f849717b69851b67ba273fe4f36d183a106813e4037fc67cbaa5ed413e66802116e3565fcdc679b803db921a125ed323aaf5a2487803ed7d6c2f642b5b8149b276a418412228ef362dc89bfde9283ff02fed2c3e3f4a035b42e16f76921c96c006187407d6b15b1f0626fbea5b4cf641ff9e5de577a3ff03b425fd1829e52607ba9a5010f32e368b2efdbe2558df3a64c917a1365ada2dd60219ffff03531facef9ee378a75ccdb14150e8549c50d91d7684deeeb1e4880a3cc9448b45038930ee08b220bde7839c98dfa72fc69355096f6967902ba6fe185e4c13039dfa038d06b044b5df5e93d41af466a43bda1136b689c9395201393070973c4114c5a9034a9ed28d4a12f4be109617cd295ac9fa95de20cca2f21e6d68f71a72698dfe59032bd28c90cca36bdcc4d2a0860858d195d20c089fa9bd5ab44e937d3c630e9e850333cacba5dd05d82953aeae484fa6d9539a861ff3f96a7bac650c5f58c4bc0cd503893720536a0ffcf2b9440e9c44dcc894a620bdae99ffcb59c799e1a6ce1ff38d036b6e620d94767febf1ed31ae1599b87667c87a917c8d3e63c884755a62601dfe0320881bffd2ed1bfd04c547a654e3172e5a2adadc1892972b63b1465151c6f5c103490d31c0ee37b678ff891d183422488e3e3ada2e419edae2b42c9024e097eae803fcbf4a69eff85017e2c7aa114de6ebaaac90cd04ffb3dbddcac263abb11cd74f031f681490c32f0e61d508dbc434bdbd0ee1f687ef796fe624feb68dc020652a0e0361b60245c1481928f5b46058061c2a9bd87760ee8219c4f9e6a3d9cb6f7a2a0303e763e40588ce598580d83e21d1bad8499e535065127321665981200f716263d503e48e02f66fe33750465379979f3629ecd917f7fd23ea45a4506e387f960210ae035babee6b9f4ad9c45241d8d3dc3c9bad993f2674b9f8e09448d3841c5a91d60903420315d32c806b7f073f9079c3d6f541395ee1bd2676ca42bf0647d67982bb38038395c038b18634858543f9cf31d4bb8b663fb72de6ecf0bf9b0d6acb7fe49da903093d91e3d9397c5b199d09159ca24ba76c95dcfb1478f58acd993d1dc00139960324f9563c7239db0155f537078fe178d2ea4432ac6ee1e9ef12e85cdae8b47b87034822fd88c01b386b4d042efc5a74924d5ff4721ce70b6eb608c487f8cdaeafe403182c79a4aa46b62fb4edbbe8b209ff743b3c18a058e794c0fdde5478c8c0ff1e0385c30d4a7e00172ec1a8bb3f8b4c7a59277337d06dfdcf1f5a9cdec2377aec750312542444f7d9b12e0cb4b2fa58b435ec1e9bcbaaf26c980f3c65fbd022e3686b032d9e56d69487db82f114fc3dd91678ea947e3129c9f4ab75f4a2698495922f850398337bb364cb15c90d77e562435043772d8a2641a74cf6807860c2a99a7cbba3039054ff605d73f6067f2025984cc34d616dfed957ac580162bc6b9c267f199ed3036dea33496dd9297d21c95ed1bd6b7243f559064dcc48a0b9114412084466093a00581f03a9b14120034eeccccc1b52126cd42ffab0f7db81d5beefcddd2c0d0dea50410100581f03252364788323c038580c835236e9b8b1bdce85f7d8a89e474c084e3f67d054fe34fd4e5e9e0ee626501c098495b2dc9a2148b000581f038ddf942992b3dd1f3d0938daad4baa728a0003d7bfa8ded150d51c53c3b054b44eb465ccbf61a9d1e90d341117f92221aa08cd00581f035c94dfde57cd933e1488adc0809d61178ff7518a69ebe9a67d0f8dd68830410100581e02e68965c77a2a3a6a11140c554b9f97f7c9b92d630ec52e8d804d1d643254c169181e19d64efa5f7e0c68b9f738caed5d000a00581e02fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee343051c570219024000581f03483e50a3577d7b8ce3f4cfcf32c45ae390765a6edf397798e4cee5047ea0410100581f03a711afe27e8f2f523ebfe2603433eb8d07f37bce562faf3ee321a151c3c0410102198e3403cdd98b1453eeaf3ae03c6d82da16aec8c9d8296dfb2bd632a2f9b0ba1343336c037133501ef42020d34508587eb42551d832c7d53ff8211d39bb3b68c42b42345b03424a2f898a955bbe9af200bd7b8f14bcd18210b0310d6bda9d627cc7fbdfc9300320866ad600187098ee1ec28d076d150c0387db9587ccc873bffa4875be516d39031bdcd271e9c620cd44591e910935bd43f16c27e658819b9d78d3c6e49a61b06203484fe5418dc894d6075f45406975ddfe65f5be3ad64ef5697d70246101a9ad7c034ef9fd7c0fdf3990cbdeeca7a266c4db17168529ec72e620b0743c39f327387c03432f7f84e3eeef4a11fe0a7611ae6eae068d2bb9b881c9b1f01d3f618e1307300219ffff0219ffff03f84d810d985ad10e67feec3a63106c11e3e5d5ecdba56889040e490a5a6101ac031c4a57c2bff939022a54e6d5083af236d38d097cd71e5107a25d37a53106471d036da2bd95f53e18c01bf55360bd328bd7607d3cc89a979aae2373b92fb233da700305ca1c6869da254a81351c23ab646dc42855d593c27b0b1aded439be5821c6bb036cbbdcedcac2a6d38bf93d8c48c7d8eeee0a0b186efa780abdfb3e26cbbc7a7703c82cce94fd50942b0f5d60a00be0a80b084a9b7ee12ff53f16783580baa67799030a75c032c4d4ac10fdb4a4441d04805d81254481d31fdd7c7bf47f409e73d5ca0304f7ba121a7a1c6ad5fe1fef60155ec7024f0c2065e26129ca8a3303ca321a4103a7b1eb66683e6cd9dbf64f7e47432490596e89635202d3ac46409a5dc35ac01303417139f4158b20490c83c5138d4b1b5f5f8458d3d05141ac02cb153f99e3c4320318fbec205ab3441116a88b8d987c665f0d878694cbe2fbd6bf55e78fad521d8303f1f005e6148c0280f6c41ddf753905184574d58814340c187897b34a7b5f8bd30219ffff0219ffff05581d024d1919aa051d435707dd1df391015b1079ebadf111cbc3d30db5a6fc0701191ada02190880031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0318b9c153f8457b19dbe5fe2a2da54ca14c08a1bc30406467909aa214b007011bffffffffffffffff0340e55af71c05d08aab233e18015040a4fb67bef3250334ab964a0be21c9dd14105581e0325c20dff9f4f848d44d5621a98eb046caa03b0435fc0c2aa12cdd2a5c0040305581e033adc3969e89ecea28317babbaf09629ac383d0891badee34ad06eeb870040105581e0325923d17e1ec6f9aa9dbb9f0ae499bc4c6f4469574b1bb8d64b4236e300c0147012c24047a7f5105581e03bebe01aac10b7e7428f307fa9ac8c23e0c4f0bf264d7339cde6cb9caa008472386f26fc10000031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03accec6af60b34a1e2dfb97212171ca7b73cc4d9ba3d96c30ca0e33367007011bffffffffffffffff0331a43de15b13c8d6d323f8e2bac8eeda4b824190816f47ebfe3d90a0cf5622dd05581e03280fbad8b774c13bd9c3272efeafc80f758b73bf35322e9250c60aef700c18554702b3d7386dca1505581e03c38d9089943ef87087e95e32c0950da5636b4015fea5d1790fd5c099e00c05470dfb372ae7e19f0219bed903d06cf97a68934421ef3ac0308204366005b740dbde62aa9706e59c5d40c6195503f37d3c7f841ba848ec428d0e903094fdee20ee9f0dd9bde53ebe4236d122ecca033b44e8ba23fa807fd2ba082af97b57d855b584b7ed22fb6de5e54142e437fa040219ffff0219ffff031112761444ca48a88f8e1875a77b9b60bf41e5bb21dbd6acbe7340e7beebd2e20219ffff033e04fcd6c8417d002454c6692bd65f2ce59d82014cd4de5c693a6628fca194da03c4b92e7c5cf032cbffdc9e4eba30314754baa61a1176299feb7e0b512a901a0b03bbc279d0a39c251e162ada24d1f69231abfd4895a8d5b6677c95f54b772582ce0325ded36d4dc836f91427049592978e2c0f963c6763ee851e1dcb5758a0638e0503176671219a995f54d86981bf093d57fd95ce5bfad9eee946060d81c80903a455030d8214fc6a1eac7728bcfc9f6b4c3c3232f43762fa435b7c75484a29ee2d77cd037b82cdfe48ed81ae45cd70f6c6c04eaba4fdc1fbcf04654d18a7ea49a7b414cb03bdcab80f46583b1e258e671666875685f3c7e2d94a286e4666e43d0e7d786cee032e3837bdeba84483c1281d4967242682e962fafab454acbc60a82d5d0652360303f3123b3f67c58814789cb8be66cee6b8337e551f923697991c2e5573beeb349303fca65f19845b10cb0ee30c6d14901d6736304322fba32d1d32b9f397518f4d6d03cc501a6164d35ee3d010a492d5b372785d2b09b56a7fbf163f8f964a3ec9a2c8039570c87d0db60945650d44a30668e70de302af5b640e86b187a8d1f1bcfb8add03fe3a5de161ceb12e106607ef9eeccb5e3325984b7f5962bb6a4aa4f9d2fcaa5a035a316b9e19c78c4410cc09b47e587cc73fec6b95fe5ac5a0f7dfc5abea41868703f85be82f4c5174f8791ac9c0b41f04db8642793965abddb046cf88248f9b6fc6032ebe4d86a55e757c232db3476e3a4b7681b112988935e1c3279dd449fa6d331603ee5a8faa64518bbee432ded7b5a55a52ce81fabdbb671e4cd4d3875a517835a9030f575eb9f846fe60d9599794c41e648255b96e5b7a3911d0a9913aee0b1afcf3030478c78d489a627619755a2d5c5e61c03884bd2bc08fe28e40ff2af8e9c5625b0342a34749941df0ce30f9bd20294dd6db43aa955682b6f0684b58c427542f7b4e03864f5dd06c58d4c5d7dc6211074930c785dbecec40260ae2ffabed6d35ec23b103531f643f8a8b5aa197f958636cb01cfb6c75f57d9d210ce308a459585f14750a0347efe14458e65907b844ecd39b0763ab9706f358ca10853198d1f1175907bf0403344d099ec9bff2f92015e6fde0d1c548d876b38ce79874668fbc5d6c7c1e4b7903473d669d3f4a239babf1cfad9dc251516a2f16fbc91c49ed90fbdd920343630d03ac77ff2a588901f905d266de09b97acb144264f58408de4d399823c871877a7c0331ea51556fe6d33ce1c79d4c779f146c15b47e27a82cc4c094f8d07b152c14a50387ac257cfca1fbad9f13978864e4e76c7cb172de787d23e336ed0741c9693d48039903e87bf1ccdc39250fcc9af36a00c19672516843d4deefb2962e92d0b751830367208c883e85181544052aac889049016bee0c22aeede8b74f998e3ccd4cba5905581e03ead15098e1ac1c1186f434ebcdc39406256a63791da0c30e43f55c9f00040103ed3b705280c5d94cc6645515abdbe34eb3325317e8a399cdecbd2116471fdfc00336d2a5401f9e0fcb72bc8316eba70ee8dceb3c5750cff654b6708e206dedef50032ded029b937c5d38d36d2c84d8715124b43bc93b601aa06a1f8309c2ad99f8c705581e03d7e17affb0103b4c6e7308e7f1657051c1302e0cf570beca78381bf670040105581d02cc9666ca0ed27d4f2ba2bbc51f4dd31431f17c66adacd230041ca2f80c01465b10a29248f3038f942a0e33ee54abd97feb7699270f0f3f59a7dc3b693ccb17880acb922deb4803203dfc48011bd6533c4e4ae037ce6369771522d0b643adb13cc3dc0e61d70d0a05581d023b47fdde07d2b53b2b72d35db773c89ed18fe108d7b89d7001b54c2f07011bffffffffffffffff05581d022e9d47b69db089d2eb0a7d1b32715d85d8b78658d5deaebb5f5fd1330c014744ef9bd2dc1e5804590c585f34431473888591885beeca0c45a51331cdc3846094c1a5d333141661010057610111565b6102b2565b6102ff565b610399565b61046d565b610555565b6105ea565b61021a565b6104d7565b61015d565b61068b565b6106f1565b610375565b610772565b610338565b610431565b6107db565b610870565b6108bb565b610a24565b610a9c565b610b4a565b610b78565b6106bb565b6103de565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b610161565b80355f1a805f146101615790460190565b5f3560e01c8063fa461e33146101e657806310d1e85c146101b357806323a69e75146101e657806384800812146101b35780633a1c453c146101e6578063f04f270714610181576101b3565b5f5ff35b005b5f5ffd5b613a285f526002601efd5b655245454545455f526006601afd5b3273888591885beeca0c45a51331cdc3846094c1a5d3146101a157610172565b610144355f1461004c57610164610100565b3273888591885beeca0c45a51331cdc3846094c1a5d3146101d357610172565b60cd3560f01c5f1461004c5760cf610100565b3273888591885beeca0c45a51331cdc3846094c1a5d31461020657610172565b5060cc3560f01c5f1461021a5760ce610100565b608435808060f81c61026a5760081b1960901c60043519106101635760781b60901c602435116101635760b53560601c6024353363a9059cbb5f526020526040525f6064601c5f5f945af16102ae565b60781b1960901c60243519106101635760081b60901c600435116101635760a13560601c6004353363a9059cbb5f526020526040525f6064601c5f5f945af16102ae565b5f5ff35b803560901c632e1a7d4d5f5260205260205f6024601c5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2617530f115610167575f5f5f5f303133617530f11561016757600e01610100565b808060140180600e0135919035903563a9059cbb5f52602c5260901c60405260601c5f6064601c5f5f945af11561016357603601610100565b803560901c632e1a7d4d5f5260205260205f6024601c5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26161a8f11561016357600e01610100565b80806014013560901c903560601c905f5f5f925f945af11561016357602201610100565b808060140135903563a9059cbb5f52602c5260901c6040525f5f6064601c5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2617530f11561016357602201610100565b80806014013560601c903560601c63095ea7b35f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040526020525f6044601c5f5f945af11561016357602801610100565b8080600e01806014013560601c903560601c913560901c63095ea7b35f52604052906020525f6044601c5f5f945af11561016357603601610100565b8080600f01359080359046013560901c9060f81c63022c0d9f5f5261049d57610491565b6020525f6040526104a9565b6040525f6020526104a9565b60601c816023013560601c60605260806080525f60a0525f60ac601c5f5f945af11561016357603701610100565b808035906014018035903560901c9060881c60ff1663022c0d9f5f52610508576104fc565b6020525f604052610514565b6040525f602052610514565b60601c30606052608060805281604b013560f01c8080602b018060a0528460220160c03760cf019190915f90601c5f5f945af11561016357604d0101610100565b80358160140135826036013560901c7fffffffffffffffffffffffffffffffffffff0000000000000000000000000000179060601c9160601c63128acb085f526020529046604052906060526401000276a460805281606f013560f01c808060a060a052604a0160c0524660e0536049018360280160e137908161010e015f90601c5f5f945af1156101635760710101610100565b8035816014013582601601357fffffffffffffffffffffffffffffffffffff0000000000000000000000000000179060601c9160601c63128acb085f52602052905f6040529060605273fffd8963efd1fc6a506488495d951d5263988d2560805281606f013560f01c808060a060a052604a0160c0525f60e0536049018360280160e137908161010e015f90601c5f5f945af1156101635760710101610100565b80358060601c9060501c61ffff168060168401601c378091905f90601c5f5f945af1156101635760160101610100565b803560901c81600e013560601c826022013560f01c8060248501601c37809290601c5f925f945af1156101635760240101610100565b808060140135903560601c908060901c9060801c61ffff16635c38449e5f523060205260806040524660a0529160c05260c06060524660e05261010052808061010060805261012052826024016101403780610124015f5f91601c5f73ba12222222228d8ba445958a75a0704d566bf2c85af1156101635760240101610100565b8035808080846011013560601c9060f81c9160f01c60ff169260e81c60ff169360181b60901c8094633df021245f52604052606052916020525f608052906084601c5f936107c2575f5f936107cb565b5f945f936107cb565b5af1156101635750602501610100565b80806020018060140180601401806014013560901c9335923560601c913560601c903560601c6352bbbe295f5260e0602052306040525f6060525f60a0525f60c0524260e0525f6101205260c06101a0525f6101c052608052610160526101405261010052610180525f5f6101c4601c5f73ba12222222228d8ba445958a75a0704d566bf2c85af11561016357606a01610100565b80358080836010013560601c9060f81c9160f01c60ff169260101b60901c635b41b9085f5291602052916040526060525f6080525f6084601c5f5f945af11561016357602401610100565b80355f1a80603002820160010180355f1a909163945bcec95f525f6020526101206040528060e0026101400180606052306080525f60a0523060c0525f60e052826020026020010161010052426101205280610140525f5b8060c0028260200201816020026101600152848160300260010101803583602002610160018360c00201908152906020013590815f1a81602001528160f01c60ff1681604001529060101b60901c816060015260a081608001525f9060a0015260010181811061091357508060e002610160018281525f5b8060140285016001013560601c8282602002016020015260010183811061098b575082602002016020018281525f5b8181602002016020015f90526001018381106109ba5750602001846023013560901c9052818160e0026101440190604002604001015f5f91601c5f73ba12222222228d8ba445958a75a0704d566bf2c85af115610163576030029060140201600201905001610100565b80358160140135826028013583603c013584604a013560901c9060901c9160601c9260601c9360601c63a5dcbcdf5f5260205260e05260c052606052604052306080524260a0525f610100525f5f610104601c5f73bbf1ee38152e9d8e3470dc47947eaa65dca949135af11561016357605801610100565b8035805f1a9060011a806014026002018301803560901c90600e013560901c63b77d239b5f5260c0602052606052806040525f6080525f60a0525f60c0528160e052905f5b8060140260020185013560601c816020026101000152600101818110610ae15750918260200260e4015f90601c5f93610b1a575f610b21565b5f94610b21565b732f9ec37d6ccfff1cab21733bdadede11c823ccb05af1156101635750601402601e0101610100565b803560901c5f5f5f5f9373c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11561016357600e01610100565b803560601c816014013560601c826028013583604801358060f81c8160f01c60ff168260101b60801c8360481c61ffff169360581c60ff16610bba575f610bc0565b80610bc0565b9663a15112f95f52466020526040604052610140606052608052610120526101005280610bf4576201000261016052610c0e565b6f0ffff5433e2b3d8211706e6102aa947161016052610c0e565b60e0526101405260c05260a0525f6101a05281605d013560901c610180525f6101a4601c5f9373aaaaaaaaa24eeeb8d57d431224f73832bc34f6885af11561016357606b01610100560605581d026dee9d088fbe626471a782c5515503b14e9f6d4c4669ec30275ef32a0701190c58021928420370e54ae416757e526a8f46b04e8336527c0110ef09bd7bb761e307c1b865f0f60219a7b30338b265c08cb67f11deea0d2b8d8390da937a340523d8dc1bd5f75199245d455603e2a90c7a22de9131cae7772ba5c1cc537ab16873a7a5766d816459ecdaa9919103b9756cf058b73367f303f4e03ca3f613fc921d8b9450879e9b3d949113f0c25003b17a35cca987a4bf47716b0d786bd824bdca685b56d8310af09fd0e7af41046703d431d27098d9158ac288b8f39b602f04c1f47c1837395de57334ba4d666eeef30361c728c6055f61f1807b6bbe74f260a3db813231fb67afbdd83262fc89345c8903da4b75b76de283ca1dd73b9eb69396e11de66ada67964dc51285bae8e04c15d503879d8756e690586dac2cfb2721eeb804d607f372f16a19fdb0d717f865e46c8c0219ffff035d3eebaefa08e4ed067b3af8c257d79ad1c3fcebf53e5eabb57979f6ace5cc0503837065a805a6de0fb14e22cacfb6469d94334771cc9c77bce052d3f5dbd52f250307fe687695cc6f66acaf861fa228f429c714d06e9bd0a339f776b5144181b54e03d89bbc963372745229559885bf7012a7c9989c143d35f295f487231ff771711e0219ffff030c7621dbb6c0f42f3b4505e16649581ebc8117cc412b695c1a77947068d08b8803254f75a1fc52a330c36f0df26d5e194bad72f9100dd795fbfbdd629eff522e54033544cfdd3b665a40effc918cea7b874b8f657e89dbe55353cb2c7f70ddd84f3803973de857e96d51f13d5a20f5937e123102eea5fd06a6bbdb017fae4378aed11f036b567035435cb5daa0974ec12e3e155d11b47860f0a064f69da2b2a55b495c87033de9f3fc92e5520db6f2224fd972cda85e51edb64e2119142bf5521f4971cc3c03e41e9b060a7673d7fe93f9edf6c84dcc3a8fd88e3b5799e1e6055fe31a89e6eb03342e9e5b74bcc0342b6c4f8e86e2f61d76ca80e485a5af9f8cc2281f05722b17030965a39d849c92d864719cd3df8e8b3ad0bfb28d4973ad06965214d77646e81d033e58af0f28bfbe4267e0325074c61e6d2255f4f20434a147d8707abed4c1c7020219ffff03892947408d65af388632023b9b3391e23eb8a2dab7aefbc2f604f7a5db18234a0337e015364f257d039b61d38d9071d7c7e199d9b6b6b99764bcbef764c2115a4e0308bc3a80bb1463f8ea7055162aec53bfd8798ad988199fa2ac29e4b4d7737c9a0341c0b3c369611c6669aa4ae5dd36b788b90de289832d99019b342ed7a2ead4650389e524ccb165daf8277a8e3abdd9173ef3e9c409b0964b3adf417690491cff6d0370b4a07932b519b370fde86984afa902f2b11b5543a96496afb01866ce321f0a03262de85db369676201737cca66fbcfc7e8cb9ce9a6ac4d69ed2d091bc42885c10389cc67db269b4c8ed865b6166f5ad361248d228ce524da0106be68a1de4e4fef03a85c46257a79e79a5cadbffd8bb46a37726208d8853e482b1c2770d55381bc3c031daf60b7da3aa427f6397e18535e9d308377de7381f37b1d28c4e3b9ff90bbf90390ca7778d6731a6caafc6e5a2219a890e7d8532ecfc5cae99141c6d7c808876603069538eb441208a83b95019631c57e7e502ab0e2eac5a50d5f9a43947e9ae098032c76aba34f9e5d9359a615939fdceb615382550e0b2ef5b07e6bfd6ce9013f7c0353d612e2e2c22ee8469b6313503815b412b341e6e8969ac1649c820d8b2b3ae1032961f8a4f5b12696fc726e5a341816caa56aee79e07e805734446cc1aafdc839034b4e138b0559d86172f753fe23bed48794fa441a8790e0dd30929438dad6b79e033903d3835aeb06f5f89f164df36870f91f2f067aeea3eaac5765b4cb59cc799f031761d120e4efd68a9fc969d12f66f628790192dd9be48c176893edb5c911743a03f5e969bce60944a3491e89c16b5302cccb0cb2bc1cf018c511421af7b9686bdf039068aa5057adf0e63e66f7dccf269a01d93593e0769159bba0db119b6e326bed05581e034a492e435f46dca05a40420629ed3aa111cdb534cb96af6bb86e2f3560040703811cec390fe9c8b07338de46c89229a1d424abef90f6dc535dc2234ad910cb0a05581d0255d912a87057900b0c9d87f93c4c8b4fd1a004e0ce5dae3e3b38e5f4040105581d0297147ee8de2394ebc98cf86d754b0815ab11c4a10b6c57928f6f0c8f0c183348059f5f3f1dae201405581d0278f04d1edf17beddcb279f5e1bce337bcb7155af671ebd40db6bf55c0c0347052186ec0233c805581d0228315d05d771a2614264edafdc5229c6d0aa6615329ad74200cd0c7e04010219544005581e034187f9d294d69c17083ab21523d597c49c49c25f35a954d9b3aed8a3700404033a3e57a355e3d27059c4bf79fefc0aff316189e2fbf8a21f2387d6a82121f37805581e0359cdf807b579fa1ccfe40d8dd18b6f806fb225c213683b244c87f10170040103fa718ac7886f3eaf5256923ada1510063f846849d00402b7e71cbfdb166272d605581e034195c3dc0a8a4902e5333c8e12c6be5433f7e3a5f7d406c8ab62286be00c024702ada859473950039e64d1033b70d677da4e9a8ee8656162ba6921e70cd8f1f22d3a27b50d6556db033f4e1196b4a3e3e323096d6436921c8bbd4f132ef9fb16b6bb20a6124d84e3c305581e03c1886309f3867e42af8887221b083d17cb1ccc681301a822be3a135ac007011bffffffffffffffff05581e0325127c9cbd2cb6138bedbfd4b3e640234aaaf6def7b0f548ae3854fa000c0548010ab7d6a10436f002196bcb0373a551512ee1b557a81307db153ac32e1056f71c72c03bc0eae4edfb2ad6d50e03df24bdee9a38b808b1d217af48fbcae4027ef50c5c0298eafc142c535bbea5ce0318407c198c9ee30e6b356e6e088b6b5d177db885b758c8491e32b8600fdaab5903e0cc6ca1dfc64585072b2a7feecd51c916b0870daea86d3805e8d5994a370dfe034f119f1dde61ba2e331fed2ba70c56a27abc7c9c326b82d3024dc3cadf7dfc9703ef51b0c02e6189fd17e6473e0d6c169c715bc98303ec328fcada2e4f9d68e7650300fcd3d01338f90d0fd56c178bd2d20830c56f9c493f4cb6ad55aa9f9b80a8e403a7fcda12b109429dfc5f1a7a1a74160a48f108e029cd42e05f363fc4187231de0380b8fe394df6b55837033a09aaec8867092d7fb3a60af146b65a6939ce49feb403790a348007b46e01674ecb61331b7284357912a83a153ebd89a751ceb6edb0650397396144767c2e69be2c21545c8675a169e5cec323135ab751a80d0cc11b0f5e03be24b6670d7b0c08a7115d0d651ddcb1f178485eaf4c49569019e292629bfdd5032e74b5ef54ff01af818f6d1c8204f5a7bd20f989cc5af3b81e7e13a6ede74e9f0301b9ea73651830af13f1824bf9304d66ce03aca8dc909eff87e3c0b14baf6a680219ffff035061f72cb80bf28597c898d7aec1b095507dbb47c75d30b387bf253e6b7207d10334a17ca5e59d6bb46448768f04e8d478f7144eb1ec3fb9429a6103e8ec04350903283215266191ec8eeb77ac21a331447d48a1bf9531bf2bbbd6ec0bc2d582d5ce03114cea138b5eb64427be833f05b09c073fa4c0c62272f075d21c40d1dde380c00219ffff03e7e948a18976fb34eefc6395c17a65dc412813f1477376aed5e946165386d0a9032d36665eb1b61da0739ccf38a64032e3c8493b1a3994b6943a529b0f307cef4f03d061a388a35b94ca548a4d6093ea1f78c790741b4daecdc03f8853d772283b0903ced1dbf94d68cc2ffddb9d7e4e3b16111ebd22cad3fa32acf19388455689354503a40c9375811d5165beb39f408a3a8f3d28d346cadf160c6969c802c8cb9dbc0a03592f1286ceb68800ec1693b82189ba2ec89600c94347496518ec1cf8a6a02efc03199232635595a2e5c5deec272c923e619c0b49d7ebf643372ab6f2c7d536c1e90219ffff03eba16e71c03166243ffe9a3b5b90f453cc5f53441866afeb50fd637adbed42150367e4a88ea293a4da8954bd91d9846d948a9f2b38f703c4b0033d5b5a463411680331ac77cacbacd489005c3c295b25edad8383142bff320e53373c9dfd3847cf5b033f14d61806ba696bfe5b9e10e6be430469f0230fc50c0a49ad4f3a41c246a08603e8b83c6bda42cfb116569ca9d1c6f1c6234b84775fcfde20516d67d03e6b6eaa039579702e02d2126fdf5fb3ca2b48507cb7c231dede068ae4a5a9121597ddd9f5032ac5481d558044752007562349b99e376792ca48061b15c8f1a38d06e52b7d4d0368ff12a8d77c29e7b2e742363915cb48bcb4dbe09730fa04471ba344c693c13f03886b016d7a2dde5fbef9d3ab1f1be1ec3775c016803e30321bfc42f78e6c267103dafcfcea8e513cfca0619eb4339883dfb5ccb3a2fdf90fb4144b751de2d09351033f144b436782cf2dce4866beaacb6f03734e0fa303251760f1f220cbfd20719103e83ae20b66e9f252f65adfbfc493886c2fab0630a574ba43a97ad4a2026cf6d203b7b83fdaf13360cd658b10470eb697841b7a9c141cb8f86c428395be9576fbd6038b38ddd5653be2ab15449f3db2bcc8a2a466be409a6e02a3ba380b0358f9f5370311cfef4e59ee9340aca8fb3e86a1e0210941b19f919c9e1645d60bcaaeaff0a103e557fc8287a9d9f6168ed7a891245d2846ad18f64a6b4cafc5161ec851b75f930321682fba9e5a12e058271ae1c115267b64a08998da105de8f3d73b98046d210b03f1342db504d9ea802d330a893daafa59ab4e8cf71f5be326a5fb29c16a567cbd03344c0a97a2a7c977b852b80b6b9c8839c75333391725464915eb834bd8e7441405581e03ef449a87099d2fb9229d1481a98170723132c6d4f159480f3839ab4f700c024701f4e8b2780ea605581e03d75d70a5cce36a813bacf3791a2c63b8e8af45198b4ed3acde93884ab00c02470dfa5b3b80770003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03263d6aed3c493bbc5baa20fa4f3f36379d46da3668872c1469fb2c192007011bffffffffffffffff05581e03601628846364395c1a7ce4520ce499c8a1a0a748887e1b05a5af354ae004020327a310f6a819c3c9ec57dfef6eb5f68b3a42c6bb7054fc6716ed45564a93e31f03cb9bc104f41a39958dc1136be60d5c3cfce14b56d47a80270bb9f62b189e5a8905581e03e1e34d932b5152401211e65b844a6971eca281d00ee1c9e126c74b842008478f9e1193bea000045959b2608060405234801561001057600080fd5b50600436106101c45760003560e01c806370cf754a116100f9578063cc7e7fa211610097578063ddca3f4311610071578063ddca3f4314610842578063f305839914610862578063f30dba931461086a578063f637731d146108ec576101c4565b8063cc7e7fa2146107f5578063d0c93a7c1461081b578063d21220a71461083a576101c4565b8063a34123a7116100d3578063a34123a71461072d578063a38807f214610767578063b0d0d211146107c2578063c45a0155146107ed576101c4565b806370cf754a146105e157806385b66729146105e9578063883bdbfd14610626576101c4565b80633c8a7d8d116101665780634f1eb3d8116101405780634f1eb3d81461050f578063514ea4bf146105605780635339c296146105b9578063540d4918146105d9576101c4565b80633c8a7d8d146103cb578063461413191461046b578063490e6cbc14610485576101c4565b80631ad8b03b116101a25780631ad8b03b146102be578063252c09d7146102f557806332148f671461034c5780633850c7bd1461036f576101c4565b80630dfe1681146101c9578063128acb08146101ed5780631a6865021461029a575b600080fd5b6101d1610912565b604080516001600160a01b039092168252519081900360200190f35b610281600480360360a081101561020357600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a081016080820135600160201b81111561024357600080fd5b82018360208201111561025557600080fd5b803590602001918460018302840111600160201b8311171561027657600080fd5b509092509050610936565b6040805192835260208301919091528051918290030190f35b6102a2611633565b604080516001600160801b039092168252519081900360200190f35b6102c6611642565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6103126004803603602081101561030b57600080fd5b503561165c565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b61036d6004803603602081101561036257600080fd5b503561ffff166116a1565b005b610377611793565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015263ffffffff90911660a0840152151560c0830152519081900360e00190f35b610281600480360360a08110156103e157600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a081016080820135600160201b81111561042d57600080fd5b82018360208201111561043f57600080fd5b803590602001918460018302840111600160201b8311171561046057600080fd5b5090925090506117e8565b610473611aa6565b60408051918252519081900360200190f35b61036d6004803603608081101561049b57600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b8111156104d157600080fd5b8201836020820111156104e357600080fd5b803590602001918460018302840111600160201b8311171561050457600080fd5b509092509050611aac565b6102c6600480360360a081101561052557600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611ef3565b61057d6004803603602081101561057657600080fd5b5035612111565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b610473600480360360208110156105cf57600080fd5b503560010b61214e565b6101d1612160565b6102a2612171565b6102c6600480360360608110156105ff57600080fd5b506001600160a01b03813516906001600160801b0360208201358116916040013516612195565b6106946004803603602081101561063c57600080fd5b810190602081018135600160201b81111561065657600080fd5b82018360208201111561066857600080fd5b803590602001918460208302840111600160201b8311171561068957600080fd5b509092509050612490565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106d85781810151838201526020016106c0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156107175781810151838201526020016106ff565b5050505090500194505050505060405180910390f35b6102816004803603606081101561074357600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612515565b6107916004803603604081101561077d57600080fd5b508035600290810b9160200135900b612691565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b61036d600480360360408110156107d857600080fd5b5063ffffffff81358116916020013516612879565b6101d1612aa1565b61036d6004803603602081101561080b57600080fd5b50356001600160a01b0316612ac5565b610823612be7565b6040805160029290920b8252519081900360200190f35b6101d1612c0b565b61084a612c2f565b6040805162ffffff9092168252519081900360200190f35b610473612c53565b61088a6004803603602081101561088057600080fd5b503560020b612c59565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b61036d6004803603602081101561090257600080fd5b50356001600160a01b0316612cc5565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b60008085610970576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b9004909116608082015260015463ffffffff811660a083015260ff600160201b90910416151560c08201819052610a28576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a735780600001516001600160a01b0316866001600160a01b0316118015610a6e575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610aa5565b80600001516001600160a01b0316866001600160a01b0316108015610aa557506401000276a36001600160a01b038716115b610adc576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6001805460ff60201b191690556040805160c08101909152600090808a610b115760108460a0015163ffffffff16901c610b1b565b60a084015161ffff165b63ffffffff1681526005546001600160801b03166020820152604001610b3f612fca565b63ffffffff1681526000602082018190526040820181905260609091015262010008549091506001600160a01b031615610be557620100085460408083015181516310a537f160e11b815263ffffffff909116600482015290516001600160a01b039092169163214a6fe29160248082019260009290919082900301818387803b158015610bcc57600080fd5b505af1158015610be0573d6000803e3d6000fd5b505050505b6000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610c3357600354610c37565b6002545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610c865750886001600160a01b031681604001516001600160a01b031614155b156110f557610c93615942565b60408201516001600160a01b031681526060820151610cd6906007907f00000000000000000000000000000000000000000000000000000000000000018f612fce565b15156040830152600290810b810b60208301819052620d89e719910b1215610d0757620d89e7196020820152610d26565b6020810151620d89e860029190910b1315610d2657620d89e860208201525b610d338160200151613110565b6001600160a01b031660608201526040820151610dc4908d610d6d578b6001600160a01b031683606001516001600160a01b031611610d87565b8b6001600160a01b031683606001516001600160a01b0316105b610d95578260600151610d97565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000064613441565b60c085015260a084015260808301526001600160a01b031660408301528215610e2657610dfa8160c00151826080015101613633565b825103825260a0810151610e1c90610e1190613633565b602084015190613649565b6020830152610e61565b610e338160a00151613633565b825101825260c08101516080820151610e5b91610e509101613633565b602084015190613665565b60208301525b835163ffffffff1615610ec1576000612710610e94866000015163ffffffff168460c0015161367b90919063ffffffff16565b81610e9b57fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610f0057610ef48160c00151600160801b8460c001516001600160801b031661369f565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b031614156110b45780604001511561108b578360a00151610f8a57610f68846040015160008760200151886040015188602001518a60600151600961374f909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b62010008546001600160a01b03161561101557620100085460208201516040805163a498463360e01b815260029290920b60048301528e15156024830152516001600160a01b039092169163a49846339160448082019260009290919082900301818387803b158015610ffc57600080fd5b505af1158015611010573d6000803e3d6000fd5b505050505b600061106182602001518e61102c57600254611032565b84608001515b8f611041578560800151611045565b6003545b608089015160608a015160408b015160069594939291906138e1565b90508c1561106d576000035b61107b8360c001518261399f565b6001600160801b031660c0840152505b8b61109a5780602001516110a3565b60018160200151035b600290810b900b60608301526110ef565b80600001516001600160a01b031682604001516001600160a01b0316146110ef576110e28260400151613a55565b600290810b900b60608301525b50610c60565b836020015160020b816060015160020b146111c35760008061114386604001518660400151886020015188602001518a606001518b608001516009613d7d909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b9390931692909202919091176001600160a01b0319166001600160a01b03909116179055506111e89050565b6040810151600080546001600160a01b0319166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b03161461122e5760c0810151600580546001600160801b0319166001600160801b039092169190911790555b6000808c1561128857608083015160025560a08301516001600160801b03161561127c5760a0830151600480546001600160801b031981166001600160801b03918216909301169190911790555b8260a0015191506112d5565b608083015160035560a08301516001600160801b0316156112ce5760a0830151600480546001600160801b03808216600160801b92839004821690940116029190911790555b5060a08201515b8315158d1515146112ee57602083015183518d036112fb565b82600001518c0383602001515b90985096508c1561143457600087121561133d5761133d7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78f89600003613f18565b6000611347614066565b9050336001600160a01b03166323a69e758a8a8e8e6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113cb57600080fd5b505af11580156113df573d6000803e3d6000fd5b505050506113eb614066565b6113f5828b61419f565b111561142e576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b5061155e565b600088121561146b5761146b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488f8a600003613f18565b60006114756141af565b9050336001600160a01b03166323a69e758a8a8e8e6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156114f957600080fd5b505af115801561150d573d6000803e3d6000fd5b505050506115196141af565b611523828a61419f565b111561155c576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b8d6001600160a01b0316336001600160a01b03167f19b47279256b2a23a1665c810c8d55a1758940ee09377d4f8d26497a3577dc838a8a87604001518860c001518960600151898960405180888152602001878152602001866001600160a01b03168152602001856001600160801b031681526020018460020b8152602001836001600160801b03168152602001826001600160801b0316815260200197505050505050505060405180910390a350506001805460ff60201b1916600160201b17905550939a92995091975050505050505050565b6005546001600160801b031681565b6004546001600160801b0380821691600160801b90041682565b60098161ffff811061166d57600080fd5b015463ffffffff81169150600160201b810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600154600160201b900460ff166116e5576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b1916905560008054600160d81b900461ffff169061170e60098385614247565b6000805461ffff808416600160d81b810261ffff60d81b199093169290921790925591925083161461177b576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506001805460ff60201b1916600160201b17905550565b6000546001546001600160a01b03821691600160a01b810460020b9161ffff600160b81b8304811692600160c81b8104821692600160d81b9091049091169063ffffffff81169060ff600160201b9091041687565b6001546000908190600160201b900460ff16611831576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b191690556001600160801b03851661185157600080fd5b60008061189f60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016118958a6001600160801b03166142ea565b600f0b90526142fb565b925092505081935080925060008060008611156118c1576118be614066565b91505b84156118d2576118cf6141af565b90505b336001600160a01b03166399eee9d087878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561195457600080fd5b505af1158015611968573d6000803e3d6000fd5b5050505060008611156119bf5761197d614066565b611987838861419f565b11156119bf576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b8415611a0f576119cd6141af565b6119d7828761419f565b1115611a0f576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506001805460ff60201b1916600160201b17905550919890975095505050505050565b60035481565b600154600160201b900460ff16611af0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b191690556005546001600160801b031680611b3f576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b6000611b74867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f4240614531565b90506000611bab867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f4240614531565b90506000611bb7614066565b90506000611bc36141af565b90508815611bf657611bf67f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8b613f18565b8715611c2757611c277f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78b8a613f18565b336001600160a01b031663a1d4833685858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611ca957600080fd5b505af1158015611cbd573d6000803e3d6000fd5b505050506000611ccb614066565b90506000611cd76141af565b905081611ce4858861419f565b1115611d1c576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611d27848761419f565b1115611d5f576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611de85760015461ffff1660008115611d8c5761271063ffffffff8316850204611d8f565b60005b90506001600160801b03811615611dc257600480546001600160801b038082168401166001600160801b03199091161790555b611ddc818503600160801b8d6001600160801b031661369f565b60028054909101905550505b8015611e6d5760015460101c61ffff1660008115611e125761271063ffffffff8316840204611e15565b60005b90506001600160801b03811615611e4757600480546001600160801b03600160801b8083048216850182160291161790555b611e61818403600160801b8d6001600160801b031661369f565b60038054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506001805460ff60201b1916600160201b179055505050505050505050505050565b6001546000908190600160201b900460ff16611f3c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b191690556000611f58600833898961456b565b60038101549091506001600160801b0390811690861611611f795784611f88565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611fb05783611fc6565b6003810154600160801b90046001600160801b03165b91506001600160801b0383161561202b576003810180546001600160801b031981166001600160801b0391821686900382161790915561202b907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908616613f18565b6001600160801b03821615612091576003810180546001600160801b03600160801b808304821686900382160291811691909117909155612091907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7908a908516613f18565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506001805460ff60201b1916600160201b17905590969095509350505050565b60086020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60076020526000908152604090205481565b62010008546001600160a01b031681565b7f000000000000000000000000000000000000097451ff859c3282305ffa26a9c581565b6001546000908190600160201b900460ff166121de576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b19169055336001600160a01b037f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918651614806122ae57507f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918656001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561227657600080fd5b505afa15801561228a573d6000803e3d6000fd5b505050506040513d60208110156122a057600080fd5b50516001600160a01b031633145b6122b757600080fd5b6004546001600160801b03908116908516116122d357836122e0565b6004546001600160801b03165b6004549092506001600160801b03600160801b909104811690841611612306578261231a565b600454600160801b90046001600160801b03165b90506001600160801b0382161561239b576004546001600160801b038381169116141561234957600019909101905b600480546001600160801b031981166001600160801b0391821685900382161790915561239b907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908516613f18565b6001600160801b03811615612421576004546001600160801b03828116600160801b9092041614156123cc57600019015b600480546001600160801b03600160801b808304821685900382160291811691909117909155612421907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec79087908416613f18565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36001805460ff60201b1916600160201b1790559094909350915050565b60608061250a61249e612fca565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600554600996959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b9004166145cf565b915091509250929050565b6001546000908190600160201b900460ff1661255e576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b1916905560408051608081018252338152600287810b602083015286900b91810191909152600090819081906125ba90606081016125ad6001600160801b038a166142ea565b600003600f0b90526142fb565b92509250925081600003945080600003935060008511806125db5750600084115b1561261a576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506001805460ff60201b1916600160201b179055509094909350915050565b60008060006126a08585614729565b600285810b810b600090815260066020819052604080832088850b90940b8352822060038401549182900b93600160381b83046001600160a01b0316928492600160d81b820463ffffffff16928492909190600160f81b900460ff168061270657600080fd5b6003820154600681900b9850600160381b81046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff168061274757600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b909204909316608083015260015463ffffffff811660a084015260ff600160201b90910416151560c08301529093508e820b910b121590506127ef57509390940396509003935090039050612872565b8a60020b816020015160020b121561286357600061280b612fca565b6020830151604084015160055460608601519394506000938493612841936009938893879392916001600160801b03169061374f565b9a9003989098039b505094909603929092039650909103039250612872915050565b50949093039650039350900390505b9250925092565b600154600160201b900460ff166128bd576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b19169055336001600160a01b037f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a09186516148061298d57507f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918656001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561295557600080fd5b505afa158015612969573d6000803e3d6000fd5b505050506040513d602081101561297f57600080fd5b50516001600160a01b031633145b61299657600080fd5b63ffffffff821615806129c457506103e88263ffffffff16101580156129c45750610fa08263ffffffff1611155b80156129f9575063ffffffff811615806129f957506103e88163ffffffff16101580156129f95750610fa08163ffffffff1611155b612a0257600080fd5b6001805465ffffffff0000601084901b16840163ffffffff90811663ffffffff19831617909255167fb3159fed3ddfba67bae294599eafe2d0ec98c08bb38e0e5fb87d33154b6e05aa62010000826040805163ffffffff939092068316825261ffff601086901c16602083015286831682820152918516606082015290519081900360800190a150506001805460ff60201b1916600160201b17905550565b7f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a09186581565b336001600160a01b037f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a091865161480612b8857507f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918656001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612b5057600080fd5b505afa158015612b64573d6000803e3d6000fd5b505050506040513d6020811015612b7a57600080fd5b50516001600160a01b031633145b612b9157600080fd5b6201000880546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f29983690a85a11696ce8a357993744f8d5a74fde14653e517cc2f8608a7235e99181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000181565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec781565b7f000000000000000000000000000000000000000000000000000000000000006481565b60025481565b60066020819052600091825260409091208054600182015460028301546003909301546001600160801b03831694600160801b909304600f0b93919281900b90600160381b81046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612d08576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612d1382613a55565b9050600080612d2b612d23612fca565b6009906147f2565b6040805160e0810182526001600160a01b038816808252600288810b60208401819052600094840185905261ffff8781166060860181905290871660808601819052630c800c8060a08701819052600160c090970187905287546001600160a01b03191690951762ffffff60a01b1916600160a01b62ffffff9490950b8416949094029390931763ffffffff60b81b1916600160c81b9091021761ffff60d81b1916600160d81b909202919091179093558154600160201b63ffffffff1990911690911760ff60201b191617905591935091507f00000000000000000000000000000000000000000000000000000000000000641660641415612e40576001805463ffffffff1916630ce40ce4179055612f11565b7f000000000000000000000000000000000000000000000000000000000000006462ffffff166101f41415612e87576001805463ffffffff1916630d480d48179055612f11565b7f000000000000000000000000000000000000000000000000000000000000006462ffffff166109c41415612ece576001805463ffffffff1916630c800c80179055612f11565b7f000000000000000000000000000000000000000000000000000000000000006462ffffff166127101415612f11576001805463ffffffff1916630c800c801790555b604080516001600160a01b0386168152600285900b602082015281517f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95929181900390910190a150505050565b60008082600281900b620d89e71981612f7357fe5b05029050600083600281900b620d89e881612f8a57fe5b0502905060008460020b83830360020b81612fa157fe5b0560010190508062ffffff166001600160801b03801681612fbe57fe5b0493505050505b919050565b4290565b60008060008460020b8660020b81612fe257fe5b05905060008660020b12801561300957508460020b8660020b8161300257fe5b0760020b15155b1561301357600019015b8315613088576000806130258361483e565b600182810b810b600090815260208d9052604090205460ff83169190911b8001600019019081168015159750929450909250908561306a57888360ff1686030261307d565b8861307482614850565b840360ff168603025b965050505050613106565b6000806130978360010161483e565b91509150600060018260ff166001901b031990506000818b60008660010b60010b81526020019081526020016000205416905080600014159550856130e957888360ff0360ff168660010101026130ff565b88836130f4836148ef565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12613127578260020b61312f565b8260020b6000035b9050620d89e881111561316d576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b60006001821661318157600160801b613193565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156131c7576ffff97272373d413259a46990580e213a0260801c5b60048216156131e6576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615613205576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615613224576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615613243576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615613262576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615613281576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156132a1576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156132c1576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156132e1576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615613301576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615613321576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615613341576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615613361576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615613381576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156133a2576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156133c2576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156133e1576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156133fe576b048a170391f7dc42444e8fa20260801c5b60008460020b131561341957806000198161341557fe5b0490505b600160201b81061561342c57600161342f565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906134c657600061347a8989620f42400362ffffff16620f424061369f565b9050826134935761348e8c8c8c60016149d9565b6134a0565b6134a08b8d8c6001614a54565b95508581106134b1578a96506134c0565b6134bd8c8b8386614b08565b96505b50613510565b816134dd576134d88b8b8b6000614a54565b6134ea565b6134ea8a8c8b60006149d9565b93508388600003106134fe57899550613510565b61350d8b8a8a60000385614b54565b95505b6001600160a01b038a81169087161482156135735780801561352f5750815b61354557613540878d8c6001614a54565b613547565b855b9550808015613554575081155b61356a57613565878d8c60006149d9565b61356c565b845b94506135bd565b80801561357d5750815b6135935761358e8c888c60016149d9565b613595565b855b95508080156135a2575081155b6135b8576135b38c888c6000614a54565b6135ba565b845b94505b811580156135cd57508860000385115b156135d9578860000394505b8180156135f857508a6001600160a01b0316876001600160a01b031614155b15613607578589039350613624565b613621868962ffffff168a620f42400362ffffff16614531565b93505b50505095509550955095915050565b6000600160ff1b821061364557600080fd5b5090565b8082038281131560008312151461365f57600080fd5b92915050565b8181018281121560008312151461365f57600080fd5b60008215806136965750508181028183828161369357fe5b04145b61365f57600080fd5b60008080600019858709868602925082811090839003039050806136d557600084116136ca57600080fd5b508290049050613748565b8084116136e157600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff87166137f5576000898661ffff1661ffff811061377057fe5b60408051608081018252919092015463ffffffff808216808452600160201b8304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a16146137e1576137de818a8988614ba0565b90505b8060200151816040015192509250506138d5565b86880360008061380a8c8c858c8c8c8c614c43565b91509150816000015163ffffffff168363ffffffff16141561383c5781602001518260400151945094505050506138d5565b805163ffffffff848116911614156138645780602001518160400151945094505050506138d5565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b8161389257fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816138c457fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b03600160381b808504821690960316909402670100000000000000600160d81b031990921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b1215613a0457826001600160801b03168260000384039150816001600160801b0316106139ff576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b61365f565b826001600160801b03168284019150816001600160801b0316101561365f576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b03831610801590613a91575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613ac6576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c97908811961790941790921717909117171760808110613b6757607f810383901c9150613b71565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c600160381b161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b14613d6e57886001600160a01b0316613d5282613110565b6001600160a01b03161115613d675781613d69565b805b613d70565b815b9998505050505050505050565b6000806000898961ffff1661ffff8110613d9357fe5b60408051608081018252919092015463ffffffff808216808452600160201b8304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613e0257888592509250506138d5565b8461ffff168461ffff16118015613e2357506001850361ffff168961ffff16145b15613e3057839150613e34565b8491505b8161ffff168960010161ffff1681613e4857fe5b069250613e5781898989614ba0565b8a8461ffff1661ffff8110613e6857fe5b825191018054602084015160408501516060909501511515600160f81b026001600160f81b036001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16600160201b026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613f945780518252601f199092019160209182019101613f75565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613ff6576040519150601f19603f3d011682016040523d82523d6000602084013e613ffb565b606091505b5091509150818015614029575080511580614029575080806020019051602081101561402657600080fd5b50515b61405f576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481693919290918291908083835b602083106140ff5780518252601f1990920191602091820191016140e0565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461415f576040519150601f19603f3d011682016040523d82523d6000602084013e614164565b606091505b509150915081801561417857506020815110155b61418157600080fd5b80806020019051602081101561419657600080fd5b50519250505090565b8082018281101561365f57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7169391929091829190808383602083106140ff5780518252601f1990920191602091820191016140e0565b6000808361ffff1611614285576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff161161429b575081613748565b825b8261ffff168161ffff1610156142e1576001858261ffff1661ffff81106142c057fe5b01805463ffffffff191663ffffffff9290921691909117905560010161429d565b50909392505050565b80600f81900b8114612fc557600080fd5b600080600061431284602001518560400151614729565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b90940416608085015260015463ffffffff811660a086015260ff600160201b90910416151560c0850152885190890151948901519289015193946143b49491939092909190614e3d565b93508460600151600f0b60001461452957846020015160020b816020015160020b1215614409576144026143eb8660200151613110565b6143f88760400151613110565b8760600151614ff2565b9250614529565b846040015160020b816020015160020b12156144ff5760055460408201516001600160801b039091169061445b9061443f612fca565b6020850151606086015160808701516009949392918791613d7d565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b9390921692909202179055815160408701516144ab91906144a190613110565b8860600151614ff2565b93506144c96144bd8760200151613110565b83516060890151615036565b92506144d981876060015161399f565b600580546001600160801b0319166001600160801b039290921691909117905550614529565b61452661450f8660200151613110565b61451c8760400151613110565b8760600151615036565b91505b509193909250565b600061453e84848461369f565b90506000828061454a57fe5b848609111561374857600019811061456157600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff161161460f576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561462757600080fd5b50604051908082528060200260200182016040528015614651578160200160208202803683370190505b509150865167ffffffffffffffff8111801561466c57600080fd5b50604051908082528060200260200182016040528015614696578160200160208202803683370190505b50905060005b875181101561471c576146c78a8a8a84815181106146b657fe5b60200260200101518a8a8a8a61374f565b8483815181106146d357fe5b602002602001018484815181106146e657fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b8152505050808060010191505061469c565b5097509795505050505050565b8060020b8260020b12614769576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b12156147ac576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b13156147ee576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b600080821161485e57600080fd5b600160801b821061487157608091821c91015b68010000000000000000821061488957604091821c91015b600160201b821061489c57602091821c91015b6201000082106148ae57601091821c91015b61010082106148bf57600891821c91015b601082106148cf57600491821c91015b600482106148df57600291821c91015b60028210612fc557600101919050565b60008082116148fd57600080fd5b5060ff6001600160801b0382161561491857607f1901614920565b608082901c91505b67ffffffffffffffff82161561493957603f1901614941565b604082901c91505b63ffffffff82161561495657601f190161495e565b602082901c91505b61ffff82161561497157600f1901614979565b601082901c91505b60ff82161561498b5760071901614993565b600882901c91505b600f8216156149a557600319016149ad565b600482901c91505b60038216156149bf57600119016149c7565b600282901c91505b6001821615612fc55760001901919050565b6000836001600160a01b0316856001600160a01b031611156149f9579293925b81614a2657614a21836001600160801b03168686036001600160a01b0316600160601b61369f565b614a49565b614a49836001600160801b03168686036001600160a01b0316600160601b614531565b90505b949350505050565b6000836001600160a01b0316856001600160a01b03161115614a74579293925b6fffffffffffffffffffffffffffffffff60601b606084901b166001600160a01b038686038116908716614aa757600080fd5b83614ad757866001600160a01b0316614aca8383896001600160a01b031661369f565b81614ad157fe5b04614afd565b614afd614aee8383896001600160a01b0316614531565b886001600160a01b0316615065565b979650505050505050565b600080856001600160a01b031611614b1f57600080fd5b6000846001600160801b031611614b3557600080fd5b81614b4757614a218585856001615070565b614a498585856001615151565b600080856001600160a01b031611614b6b57600080fd5b6000846001600160801b031611614b8157600080fd5b81614b9357614a218585856000615151565b614a498585856000615070565b614ba861597e565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b031611614bfc576001614bfe565b845b6001600160801b031663ffffffff60801b608085901b1681614c1c57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b614c4b61597e565b614c5361597e565b888561ffff1661ffff8110614c6457fe5b60408051608081018252919092015463ffffffff8116808352600160201b8204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff16151560608201529250614cc89089908961523d565b15614d00578663ffffffff16826000015163ffffffff161415614cea576138d5565b81614cf783898988614ba0565b915091506138d5565b888361ffff168660010161ffff1681614d1557fe5b0661ffff1661ffff8110614d2557fe5b60408051608081018252929091015463ffffffff81168352600160201b8104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614dda57604080516080810182528a5463ffffffff81168252600160201b8104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614de98883600001518961523d565b614e20576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614e2d89898988876152fe565b9150915097509795505050505050565b6000614e4c600887878761456b565b60025460035491925090600080600f87900b15614f92576000614e6d612fca565b6000805460055492935090918291614eb79160099186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b90041661374f565b9092509050614ef160068d8b8d8b8b87898b60007f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561549c565b9450614f2860068c8b8d8b8b87898b60017f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561549c565b93508415614f5c57614f5c60078d7f0000000000000000000000000000000000000000000000000000000000000001615659565b8315614f8e57614f8e60078c7f0000000000000000000000000000000000000000000000000000000000000001615659565b5050505b600080614fa460068c8c8b8a8a6156bf565b9092509050614fb5878a848461576b565b600089600f0b1215614fe3578315614fd257614fd260068c615900565b8215614fe357614fe360068b615900565b50505050505095945050505050565b60008082600f0b126150185761501361500e8585856001614a54565b613633565b614a4c565b61502b61500e8585856000036000614a54565b600003949350505050565b60008082600f0b126150525761501361500e85858560016149d9565b61502b61500e85858560000360006149d9565b808204910615150190565b600081156150e35760006001600160a01b038411156150a6576150a184600160601b876001600160801b031661369f565b6150be565b6001600160801b038516606085901b816150bc57fe5b045b90506150db6150d66001600160a01b0388168361419f565b61592c565b915050614a4c565b60006001600160a01b038411156151115761510c84600160601b876001600160801b0316614531565b615128565b615128606085901b6001600160801b038716615065565b905080866001600160a01b03161161513f57600080fd5b6001600160a01b038616039050614a4c565b60008261515f575083614a4c565b6fffffffffffffffffffffffffffffffff60601b606085901b1682156151f6576001600160a01b0386168481029085828161519657fe5b0414156151c7578181018281106151c5576151bb83896001600160a01b031683614531565b9350505050614a4c565b505b6151ed826151e8878a6001600160a01b031686816151e157fe5b049061419f565b615065565b92505050614a4c565b6001600160a01b0386168481029085828161520d57fe5b0414801561521a57508082115b61522357600080fd5b8082036151bb6150d6846001600160a01b038b1684614531565b60008363ffffffff168363ffffffff161115801561526757508363ffffffff168263ffffffff1611155b15615283578163ffffffff168363ffffffff1611159050613748565b60008463ffffffff168463ffffffff16116152aa578363ffffffff16600160201b016152b2565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff16116152e2578363ffffffff16600160201b016152ea565b8363ffffffff165b64ffffffffff169091111595945050505050565b61530661597e565b61530e61597e565b60008361ffff168560010161ffff168161532457fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff8716828161535157fe5b0661ffff811061535d57fe5b60408051608081018252929091015463ffffffff81168352600160201b8104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082018190529095506153c75780600101925061533c565b898661ffff1682600101816153d857fe5b0661ffff81106153e457fe5b60408051608081018252929091015463ffffffff81168352600160201b8104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820152855190945060009061544e908b908b61523d565b905080801561546757506154678a8a876000015161523d565b15615472575061548f565b8061548257600182039250615489565b8160010193505b5061533c565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b0316826154c7828d61399f565b9050846001600160801b0316816001600160801b03161115615515576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b0382811615908216158114159450156155be578c60020b8e60020b136155a657600183018b9055600283018a9055600383018054670100000000000000600160d81b031916600160381b6001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180546001600160f81b0316600160f81b1790555b82546001600160801b0319166001600160801b03821617835585615607578254615602906155fd90600160801b9004600f90810b810b908f900b613665565b6142ea565b615628565b8254615628906155fd90600160801b9004600f90810b810b908f900b613649565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161566857fe5b0760020b1561567657600080fd5b6000806156918360020b8560020b8161568b57fe5b0561483e565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b1261570557505060018201546002830154615718565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561573a5750506001830154600284015461574d565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b61580a5781516001600160801b0316615802576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b508051615819565b8151615816908661399f565b90505b600061583d8360200151860384600001516001600160801b0316600160801b61369f565b905060006158638460400151860385600001516001600160801b0316600160801b61369f565b905086600f0b60001461588a5787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b0382161515806158b857506000816001600160801b0316115b156158f6576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612fc557600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a037036e38a21bceda3ceb15f26dc53e7378ede3f072b0d7227b51780307a955aa1037e3479a3a20ceea1152125d0c709178c204e87939ead4c867f5ba347f03318ca031dd2af3edf107e2e1c52d353f1153007f5a27ed90a9bada65b94d9116d1bd7be0058200346a5b1c7413ded909a239cc3e99d7d57986b0043d21b608e6f1446eaf858104d01cd7611ee345f8bf14a47c85700582003b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00470e4af8698d5c80005820039b8e3168c1572bbc7d29861bbc77810be71ec503c6783f903a9a4c1c0147504e01c311e79ea66be4d16a79664504021908440335e95ea9aa95aa129c3a3269fd404448a48bf5c29cbb159f6d440c28b4f3c09d0332424933fc5220a66c34d8acd5bc4dfacc032bc6730bc7ae993e2bb8e3447acc0307fb2658cf61e250f758a66d96edc643a443ea54196b821bc07ea14101a9e12003a7c90da8581ee397575e07d9631893d0bdd0fb37abd49ebe563b6cc8be7ec1f1033f3bdfe6e495b125927d5b9701e7e2bc6af62dbfa6c8746e5ea89adf2e3bfded03757f50726ab142c6a4e5673b1499bad6885ba73833cbc7d2f71d362346d6e73203f7205ee9efdb5601d328641a74ccb4fd53cdc1cc6230ab42a0a59729a24d6a880361b55f60b1290ba5dd43571ad97be00cf93fe09a92ca5afcfe678f92cf225f8c0389ee2e31a110f379df2b79a8a2eb75b39a8f1851f9d5f1a83af044579ab093b30320cc42cfa2e84b6c9337502c9a73d981dc023b70c7cada819069473419509945005820023a43cacfe637fe91115c50d493ae9516b9ff6b288a7409a9367ab72d5ce10258200165fa42170000000000df63029f15faea7a7aa32ef315f3defffffff786a9000370f608f861272efea4001e018bb69170d80779773072d90f80cbd4d2ecabd8ae0219ffff03fcb135dc4bf45535a01ee216971ab0a29318f9662741d2d4fdf297ddbfa1be090370e8aca069bfdcc209921fb537dcabe6d8bc633af12632ddd18d1b9043fc87a303b890fdc777afe52cabbd54e994fca567a7a0fd77e81667f9969083e16a9ceb7e03c933f5db1bc46ae16239f0e70e6b0bd959a4e6f1d8d1eb07d87fc85b27c1dca503cc9b8e0df61735907d79d34a20893fd5e81a83c3a6fb056e494a67c15399cc6e03d77a3e6d85e779dfb9ab70e6159b22aa282daa4d954d7a2709989421d8296e7d0380632036be97b3f33dde67d0429b58453d761b05eab63beb8e3926daa5426fe7032821fb2f0e364550485f9618df7abc99c109dc37e292b12e38141e780a72b2ea03b52e4cd15cdc90b0491d4ed6c64db5f645355b8ec5f4240fdb9bbfbc5633f83203943a0b094b161000a89eb1d758b573201f9088bbd0fc746330f441df1bdd7b5000582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581c010001000000000d0000000000000001002ae80c4ed99d027d1977c000582003b7330606da1b3a511cb74d59067f686371c2dfcf08c40f28d4ccae4bbb8eb05820fffffffffffffffffffc0fbecf53ade500000000000000000003f04130ac521f00582003fa2e4d7f598438422e3d73358daa1fbf7c2cec2402c61685555e86100955804d39fb1d77ffe722f525a9a1bccb0058200380b3381a0d260fd57248b082310b44d70b08b310c2d52a5e6709206be069c04f02488692290c7f1aa2047271c5377802198481039d146933800251fdc4c801425dde33c4f354508905c6af64118d22900685adaa0320e0ee85208ebe16c516365260951f43f64cf11b23776faa8de4b36b57a623cf032b85023f05b556a44f6c9829079337a862f39381b9bc665bde6a127dcba4c5a603757f7bc49d6e3cb091719d73d4f6e5830184801fffe56154e400c478e45a483003695168ae5ac0d6d2f3b769f2be39acfd4d5997a5d6c85efab25f41828dd935320336508aae8280d6ee31ef5a5fcb58eca6801c761cf09fd168d59dac4b5281fd040219ffff039a847744ef8f733695375e5ba1dcf5fbc0ead0d16215c2aebf1af9e6a8d38c1a005820030948022206d43fecfef8eba1aa398d014820f003bb2b3c3889b29e002270704e4869975d5410d99e1bbb3b0aa84a00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04f04bb3aee01737fdc2392726234a1670372a2a3a533074dd8db3c1d1445a7a5b2add71125f3142eaeaa56aea5f750a0d4005820035996d48931aa7a0fd74cba601fdf86ff37fb858412a262d4aa342d2dff5d50582001662c14a30000000000e075349cb210f4e825fba92488099afffffff93fe7d0021902a80370db33affe117b18d9a6aad4f257c306b89b06ea5b8611c61777f8a40efd02a003eb4abfa0434bfc7e6f8d7119c4d5ce6b82ecaa4153ede39bb798b640caec4ace03f4a5651922f86eb6db4880bf512747367da306a6a86b8a3c79c053943a2ad3cc0333e125b9781b8336581986e70170ddacbfa0063d1c35cfa92011fd582d28dadc033a6a8df0b2308fcdb2a15e1897f007f41b212869055980a524ed36b2cb65bb4e03740a5f5580774676138f80f3109b2ccded3fb00a55b0df1924365fff69af78f303d386a7d0c66fed60263d7dc2fef651131a242b0e1a30007057577b760a602e2d033787a646bca522bf685760f3dce5b1acda5ca8539bc9666975c945e208e6e59003ea50598e033053aa4c66e39c427c57a36fede4f517a6ecabdb5fc43a615ad7df03b683de8b5d491b9061b3e4be1069af9118e977c73765fb816eea3bb3f0a2282e03a0efd5bf5c80fa17bf432bad0dc1b8d533573064f5b63ac1255562a82cfba5a0039738fd08d09fd2a8a216dc08240bd6b3d699df53722a6fca43dc8c04fce5c0a703075f310f2008f95c9b1452aad64cc7462a355df7ddb1e8d2785bbfad71115acc00582002d72f72b71ab78c0607487cfcb0d1f626f43c24fbc50cfec8f7d0908c92af525820fffffffffffffffffffffffffffffffffffdd19f5e23b1d56bdb24abce16f839038b1b9ea5444f0cb16e5b79ec6dfe3a2d5f608d9c9a584e195a5fba4a6ac9584a0219ffff0375820725493b2d108a0ea7c5e5f6b70a237a7aa46a850fcc40f55705df6c68cc036c18ddb4afcf9fa32063d3f171bb4514743885a2bc0d5b196d8d1107c290f48f030ceeed6727249d5d9a8209759375e5161c9a3ba3e6801636846c0eb3050b558603ce3290aafcf8f2ae1d55841e46378562cb03f16da681858ac1d2c8d9ff5efd7403909df453a13c10e4fee7966e2bba79bbb9991806a9fa3ab860a9c820b370b5e9035419258400a5245eb2e66f2d90d9f548587221e9786ea9512c4a66c208470bd103274b8e148e7d808a0b25a9344026a90f9ba7e400ee0a6552e78356534832635703d524004e9784a7a7e24d08dde592851c581c7bf71491262fadb9b3ffbd34379203797e3ba3f210fb48d91fd4c972563c3d90012d629dfc360fb32f73899427d5de0304301420e559e91aebdc5dc091e34c6bda032bfaf1c6028be1ad773d567132fa034e6254dfa032e2c0006587762bdb655f502339ebc5fe6f2430fecfff65290a10035885c5a604ab2db11bc7e59d47d02e94eaf6f70f865708a97543688c45f5dcb8035b7618e7e0390ab5840892c7d837512d9dddc8ff219260153999c30ae183b3e5005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b054476c3afb000000000000000000000000432945f9005820033ad0ca038505749f79bbe78b12d98180bc4a026dd71ee96446a236985793e04f049fb6e3b7c51b4b49c3f6d5f09d5b00582003914fdc2e2ec046a35801bbee7c57fa7ec01ed2736d974a44b0af9f4d5aebb05820ffffffffffffffffffffffffffffffffffff896fe968b8b146360b36364f80d90219030803fc0f6f6f2754a60122db90ab4ce6c024c7652e334625b6cf6981de7e51bc6777033ef5f84aceec868973746f0300704ba5d6d285af4a92dce05aa2e09f04b83284038800cf13e82aa131815f628657cf2e5c5263d71585f35f56cf4c0db789deb63b038ce029425ecedc959fc1aed3c8d67d1193437fd4d8ab826d75061b7598ba23570314037c77e0251057f0438313af5d9a7978a890f42ff3d5064ba87c898412d79c0219ffff03b40c7480b4b0a90882458def1b0eb12197a932839ef69fa0431258d93e209ea6032f6414291c69775a3d06d976dda4a2095e013acee9f5e3c9ec292685acd1cabf030cec6e992f4b23bdb4238397b2b35ba8c56ecae0f37412791590cca2ea1dfdd900582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6045010ce40ce4005820031abe77d50422cb470c7a19e5897fe4d16a462c1a0fd9daef13cfaff23d1a805820fffffffffffffffffffffffffffffffffffffdd28360a4ab2b79e05c2e5b9e3500582003b59689d7aae2dbfd1f22308e58013febd0d8327232e0e83143f2669a2fc8804e0183837d4ac9e886ce572ca1c31600582003204d97bfd0a64e13f30f143bc4c34c562ff16f1a2a677ff65ac9d81c513d7045bc43f186ac03c790f8ba470f7d50a836a18323036c695ed759468cd0a55e570fecd53efe7b05021910a5039dbad72887a407760c44c9f12d0069b99878f675c368cd0b7395410dc8589c9b036caf33701633c13cd605ae8eee3c69f9523371fadbc691e1184ab15b921c83c003480005ab5e9d425f2b1828d552283a9e113689a787dce12905705807835cedab03ab4813fd3e4ec8207e4790fcf0b5a5172112258574e9bcc56db63681c266fdba034bf54ae64e281d9943b4969aacdd36fd45706abde785fe6213aa45df3b0a2594033e0b5fc818df5bc8eefc48ddce602bf0093913619d4f00610ad9f834371ffe450336dc31a21446a228f33a366cc6ea9b9a5d1c8db2627e8d2dc60475245167e00e03e5d6f211f3038c87e6dbb93d86592632540b5541fd8198b59be52a3e91648cdb03c456c13055d9a3491ffb37923974770542f8c94d88fa67143cd598970c08ca1f034e3aff5221c04e675b3e3df313b4ae535e0761ddaf0fc6a772b43b6663b2e5fc035e6e74bb878cc923986aa7ed30757b2d542e1b6316ca05f6ea920580dc5ffad903082afcebe8a9cb3c545abffc7aeac2a3eb6ea6c5a00384e09da95d0ef0241a4b0306da6a281dfccf191274fd79d90872e756d11f3fb293d4029c9515b6bba7270403045a21f37c2b1ec4c1ab839aa6969f960f44e385b8a027814ccf22c6a3c6f3560219ffff0319f1be1b9e534676da2c14c213bbf5317372c678cf843ab711a2e3cead3c344503846f0aaa91421bc45628dd6b07985d8435f6dec01e116772860b8ef84feac18c03ca9d6ac799d714823b5c8ebfd643986e0ca66ae813a048062ca70c4a9c51c6a3032c0dfa9eb89827caea4ccc9f8c9c867d07809fbdedbef0a4f801ffd47e9d1caa033a1d923d5b02b3f58336a934bd2f7d77e2f72269ce7d0ef4d1b07b17c9af6f20039b71fbc2aff04b8d215443222c78361e0266a7a57a4c5d86e6f650c2490e2e740380df7ea08a909a3aa5269a67c65ff581635491421621a3be5780c4b1a3952e8f03fcc465aa1d9e6109f982d4fc0c8fa1150c14fbc0fb7fa22498a5ba0a4c0d39780304543c81194099d7d675e715a0ab1dee5910597f4301a8a328507488341bf937036e8056032ae2462d2784456ad69505820e3c4b357c6a538b40ae2605f4dc518a005820038987e7fed9f2a1e3d35dc815e22dc380cc8b0767ffe2c00210566af6bb46c058200165e90a3f0000000000dfc7ac16aefc33860701ab1da192e2fffffff856de24005820036d0eef7559a29a9124e843b73b5aa3c571bb5560f52cb72d0c93c6ee48e1204e6dde00d7ebfca69b39a700796b0600581f0259536a2f603b20938d4b8c1783b32b56367744f7b53b49ad35612a31e7ca581940000000000000000000091a8000008010210200000376ffff00581f029968fea0c55aa70920503c2d1753bc6b3b05c099f6aeec450f0805cfc42a4e2081d53de5888c81d87268facf2b0218c003905fdf7a7c24621ef2f97eec8ceec76828c41a3381191accf133e9f76be2caaa0219c50003ddca25a2f14ac5427cdf05b8abe650f682613cd768438a32409df440fdb172db0337db872a56bfde68d15fcf1e8dae8f319620602de3d77485d611f021f55e456c03d4ba5ee1d3ba19c6c7427922d1f78f4fdac7e50a590dd8d99393336d3a54e2e9033dbcf220f0192d496461e128906d4860aec17e5f46425853f7e564c5b56d7c890385f27a73c173bdb6072d9e71c4068c66f3849e660efd2b70921c2caa026a494203c665544c474b803b6bf5329e1f3cc6f1a0e3068f0c7dbd4cbd83fd8ee6975dd00219ffff03da1682aceafe74035a2df051d107899307372fb64b9ab9d93a0eb394fdaa63a203886b39f56d57faed8b8d6434fcde5b6eeb19fe62d84e725ff6d44c0d3f259b7d03da61e4055a089da6e39d986f00e4f9aa5bbbe86ff0a131a314ff4b4125ca5944037ea5249c6b065126353bd9ec7eeddb274a6d0d43eb52b6f1694113be6a115e1703068fac803b6f8a244e636e057a2aa97f472bfb78d0f6b8acd69802273165714d03377abf723d3af6196587284401946c18b96deaf94c223a8b2ed400cb2e81958803fd3bffbecf33b71b7ed01b6e2f274226b9cc88fbccb89b9b7ca59d2dc664865803f3c2b1aafa10c1695871aa47554aeb6e3cc615310d5b85efbedd06955d6a179e03855539904a08fe159472e5694bae6b8ce5ba3b1348f03db72794e9320bcb929303e3f09083e5632b68bfc35559dc638dc184535bf497e711d50b1c67674e0c67e9036c45e4fbd55e0f419a5a2f49c9ad61f5eb4cd27fa1ce95fdf2890c4870e767da036c0016de973551af6c873aecf7bf85e73e4f961efa72ca60d8d8983aa4b8d86b03534b688b3dcb4d6f56260fd13b84e131d23652c6001230b443360baaa838c1c00357b00ff5a4ddcd2bd21e74a6e6f774a3ada3ccdb344bd1c98888431c8532e0c403ae2cf75d989eab3c3e35a5dda1b3f635ca8e1d8323a1d4228d592b899bef8e0703048a5ca33b35b62840b54434500bdfb60dd2e108e59b9485f1d949cdfdcbeef001410000582003044e95fd4672d416cdd35361dcdc8f969b21d30bd5a269adab41a49dcfaa204e76258e7d4fecc3ba5dbaafb92f310058200354a8ba36ecb7443de9c9e587fd70e31225459023dae8cc1d056c3f8171a9404d32f14c689cdcba32314399bb930058200341167ea2761d171bfb0e04e0035d7fd7b7a17e170e79d76127f5b54a5fc7e04d9a2d43f9ddf98785915465763a00582003a171d795b1f4d8910ba74bcc0a78f3ea88084aacc9c2dad425159bb192784054d1faf8baca90e86d2b12650173e972526c48a7cc0219c0c40219ffff034b9465d1c46c1216152717936811ddfa2a780744824e42aaa9c040fea03ab57b0219ffff05581e03d699c3a9e50d44be9e5bc1a3f46f7ed953cbcb42eb4d51207d091ce34007011959b20219b3560325e17a90e728b20e266ff8f751c285b5e65ae718f37067eaff30cb404b89124803a4f3821ba999e8584637b5b06b6f4e6af3e49f7324bdc5af45ac7d155564edf803bf0a740cc2fe74eb643d0c549f281553c8b96a9233fb1f5df736d864a9388e00039e9075f013b1a9c9d30fefcbd6f0ae604c013a14ca3c4ad59ad383ea286ed2d7034a1db1259a96eb0ed0fd2fe7b94cbe2a6f05f67f6a7b1d3cc3e477ea6910351903c1f5473339bbc2892700daa3663b5a18aeab5299e5b792c1be144acbc07694df0219ffff03bc9cb922837a47277708e0686df3b7500db9f54ec8ca0f4b12d6cc9467f8ac9f0346bbe0726924a74a448a3f5197186bf3ef8c0e2e0770c56571cef533bb6ccc0d033c728ffa614acc2dceebf0c2680dcd21221c96c2827b2345f4d52562cd5e1a0703f0a25e90514412c145e3c2c39468b7c5edee9360172a54b8f0f53bd26e0d61f60397ab27857c67d20bae4fa285cd8c61034991ff0f3a3bb14c5db05ee88dfc2ea8031da6ad2859290223fa37fc59e7f06360d833febdf441fba0933a05620edf7e1703fa17823ab9519ba43a654fe5105e410fa1bc080345a9a2d922fb2e9b5adea528039a4db0f7cba38a527ca7c27566929e1b9948bd06d73722421bd2528ad76ba5fb035af9de2b675cc1558c0d3883a91bf3b85bd22f618a7391269ae3bef3f1df4eef0219ffff03dc6b4387cc93c309d935a4f14ab11569201c6f71a42dd7f3637d5ca9b2971803037460da5a6a7195e4951f096a6a1ed721d3e2299f51491dd070f08c02eefcf65e03dba238e8a8681d8d950a1424b8852f638350250e86c6101ae1e5f7c5a97489180381574a5b3ded6f2f5a748412c3b336d1ac83dc7334fb19ae0318b7296c8a951603440e2a532386303c9223d66d12b072d9a6d75cc0b8af56b3e741b05746292ec20333e49058c8cc47df08955b1d601d0ec9cfd54f80c35afc9a20c11583c05a4a3103cb528892d7d7d27eb5e0d27bc4e97bfc43194f143991c2162caf97d7ccd959eb033ffb75865946dc11a1aa1bbe8200caa64c4560dfc4480b4ab0ace6c0522bc9820374fed91e267d1ab327afc5e34a9a610d9e5e7b3a6c3144175b3e8adc0b201c37034120063dc08b0954d72748791fe81f80ba07269d8cf30cf04320ce525ea7a321039e99d7960991b0d0aefc8beb1221426fa12b95a3b4d88fde1f56f64c9626bdf4036b031549c21acc042da66d6d601097276c19d74222c8a54e3bc04d6f7a7df9a803e8a9f518eb7c3c93bb943c15d39e2473391924b7f2e4e39f92ea8e68d5aab7bc0219ffff0358565bc06dd83b46f07ed6353bbdf41af25a54c73149e883fbceee035f3ad0ff039e3e77e49d6c8dc60517b2898724a307ec94ca5423db3c1afc49a43037303bbc037cc32d3013568bd96b958a277200cf5921ad7fc9117dc3c7be58d48cd37221270219ffff03c42ddcb6b0ac3699ef8509806f48489b2ff9db0e2e220977111eeedb32cdde62037aeff7e5c87703b185ac05421bdbcd066cf1dd362020d3c53d84fe715d51f63803b215e6c4d04ec66730e92f46c568d51ecd6c699a49e9690ab61c10e09f72e8ad03b07d08c90d251adb1f70b9712ec722900243ce88b741facca0d5a898a1a55119032205b7f5c0894e58c508b8add0a4497a6b2fc052f10f52d2527567213dde7e0c03fd41818f2d0b77d66a5ace6dfb4c3f4359b4f486897db956d998be1a827d7951036ba3909263bbfca2f398a4203673beff485fa0588fb606bd331c15be09bdfc77030f425ff65509bc2ad3fe04907030680bc03171d3104c1079f1c16fb97dff029e0329199fb74c038aeeb34d91ec22f3f2cbe99fe4489be577dcb386e78d0a0cff6f033cde7e0b8c66fa8538333053132983b5aca376475cb3a425e545b8e0b2d3ba7503023b627bc16893faa6f8f23451927acd96469d0ee86237742d4b5684a878e15e03a596346a731cb2a51568cb3de2df8f9d70ff8e250fd5725e1c4f637d1070a3c30393d3c9340c3134f813b34ded919c663af44fb8e493099e91e64341d83df98eb903551d90745e75619aae6238ef538051912845b01b7ecc4efc787c85d908bbfd7e03fbbf84571479792fa31eea225b818feb4de02e74b7030a89945dcca41a0e75c603d0ff301c5f44d2698e1652e4f7c3844d2f5358a29ca531be4740c37a52ec1bbe03218497ee64dd64e0ab397472541ba8d34dbff97e9318e6d88fb2ba35f2a36f8d03c3b1812cf47dcca1739c005098237fb6a5e56793819ae34144b838b002676c78038162ed1f00ae630271893d25d5ad858739b16549048a68f0db788f184c4ae4cf037db6d157dffc86a71bd833b572f32d98942377c048a3ed7e8f3085d516bde28603852ca016d12b83998b3c649ef952108ada5d2a5f5a8dd63bcf4968cdab3ab7a003aa16d79b48a7e9bb916cdd9eff5a3846e0d5a267646c027dee4f43f84858b78903872c6f34faf324bdf88dc4c2afb89a3fbf3bc631d1bfb7205e946095cd9aa0b103067af8204a0e4884a22df15ec66d45832284269a8ac71939efeeaba3f0870fbc033c1e0efd5c7fe82b00a2d1ac9522adb38447b8e63111f75cab146fa2caa0ee0603d126671911e6cc5d323a6c3fc76e969a2bca672c928cc6424f9ec7eb1391a01503acb5e99ab5fcd140fb09646be4ef84542fe82e785ea2df936b6004f1b2c7f896039900891e5c2ced576313838bca88c35567a2e1759143d5bed80784eb7df7f9fa038a6d47cf7103a6a538c51242a0bddba4c774204ab7c630da4e63a506776d58db0301882f857eb7d3e0001f30fcda5f54badeaf4e2f8f91eb8174b465ace350212a0367ba23ad933c2fc24e1538d6e7cf9f53e736653321c4bb507b342133148482430304971445a10217f0314aca1101f325b86445d10d9652a225adbc2435db297ec8030e05e6e4daf5b913a7077a25650b23bff48b37bd3af5d9d68079c55073343f6903403406e649860ba2989ca3bfe12af310181b75e4e01d2b922b26458591d4879203b128e0bb3de935e034bfa4f79fca39901071608054f28ea0b41fd95b94e19412037f2e5f248c3ee3b9eb66f7b9ec9fa5fc8a41f8e881060c7197af7a579ab9589e03d3ed2f2e08bd0bc3b81a5fa0a2bbc460598b314e45ae49cfa9363f07093fa51303d4b00661e05d4db0c6e31494e875295335c6147061a1e58b12f69daee989b38a034744604f9bb3b7249b6dbedb7ceea88f68021d1c4cbf957d4a3d86325e31d2dc0348a4c3e7112fe55c947983cd3d2dc8302c65ef00f3bf0c31d7fefd339bfa60c3033af14ccfe544e23e4c12d1764611f41be1ac032ab3b5dff6bab33f85b35bee91033f86a04696c5281970d176ed86b530f9630ad969701f9aeb0b5ed72b21320fa80349a52146343b968017c73e17d71faf079026e91fe5156f37e07bff425d939e2b05581d023497861a461e7af9d2c98377c518e3e23f285c1d521fda5c297438290c01470103c8d050a80004593cdb6080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c3c8cd8011610064578063c3c8cd801461066e578063dd62ed3e14610685578063ea1644d5146106c2578063f2fde38b146106eb576101d7565b8063a2a957bb146105a2578063a9059cbb146105cb578063be1aa3cd14610608578063bfd7928414610631576101d7565b80638f70ccf7116100d15780638f70ccf7146104fa5780638f9a55c01461052357806395d89b411461054e57806398a5c31514610579576101d7565b80637d1db4a5146104675780637f2feddc146104925780638da5cb5b146104cf576101d7565b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec146103d357806370a08231146103ea578063715018a61461042757806374010ece1461043e576101d7565b8063313ce5671461032b57806349bd5a5e146103565780636b999053146103815780636d8aa8f8146103aa576101d7565b80631694505e116101ab5780631694505e1461026d57806318160ddd1461029857806323b872dd146102c35780632fd689e314610300576101d7565b8062b8cf2a146101dc57806306fdde0314610205578063095ea7b314610230576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061020360048036038101906101fe9190612d22565b610714565b005b34801561021157600080fd5b5061021a61083e565b6040516102279190612df3565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612e4b565b61087b565b6040516102649190612ea6565b60405180910390f35b34801561027957600080fd5b50610282610899565b60405161028f9190612f20565b60405180910390f35b3480156102a457600080fd5b506102ad6108bf565b6040516102ba9190612f4a565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190612f65565b6108cf565b6040516102f79190612ea6565b60405180910390f35b34801561030c57600080fd5b506103156109a8565b6040516103229190612f4a565b60405180910390f35b34801561033757600080fd5b506103406109ae565b60405161034d9190612fd4565b60405180910390f35b34801561036257600080fd5b5061036b6109b7565b6040516103789190612ffe565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a39190613019565b6109dd565b005b3480156103b657600080fd5b506103d160048036038101906103cc9190613072565b610acd565b005b3480156103df57600080fd5b506103e8610b7f565b005b3480156103f657600080fd5b50610411600480360381019061040c9190613019565b610c50565b60405161041e9190612f4a565b60405180910390f35b34801561043357600080fd5b5061043c610ca1565b005b34801561044a57600080fd5b506104656004803603810190610460919061309f565b610df4565b005b34801561047357600080fd5b5061047c610e93565b6040516104899190612f4a565b60405180910390f35b34801561049e57600080fd5b506104b960048036038101906104b49190613019565b610e99565b6040516104c69190612f4a565b60405180910390f35b3480156104db57600080fd5b506104e4610eb1565b6040516104f19190612ffe565b60405180910390f35b34801561050657600080fd5b50610521600480360381019061051c9190613072565b610eda565b005b34801561052f57600080fd5b50610538610f8c565b6040516105459190612f4a565b60405180910390f35b34801561055a57600080fd5b50610563610f92565b6040516105709190612df3565b60405180910390f35b34801561058557600080fd5b506105a0600480360381019061059b919061309f565b610fcf565b005b3480156105ae57600080fd5b506105c960048036038101906105c491906130cc565b61106e565b005b3480156105d757600080fd5b506105f260048036038101906105ed9190612e4b565b611125565b6040516105ff9190612ea6565b60405180910390f35b34801561061457600080fd5b5061062f600480360381019061062a9190613019565b611143565b005b34801561063d57600080fd5b5061065860048036038101906106539190613019565b611233565b6040516106659190612ea6565b60405180910390f35b34801561067a57600080fd5b50610683611253565b005b34801561069157600080fd5b506106ac60048036038101906106a79190613133565b61132c565b6040516106b99190612f4a565b60405180910390f35b3480156106ce57600080fd5b506106e960048036038101906106e4919061309f565b6113b3565b005b3480156106f757600080fd5b50610712600480360381019061070d9190613019565b611452565b005b61071c611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a0906131bf565b60405180910390fd5b60005b815181101561083a576001601060008484815181106107ce576107cd6131df565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108329061323d565b9150506107ac565b5050565b60606040518060400160405280600881526020017f44303945434f494e000000000000000000000000000000000000000000000000815250905090565b600061088f610888611614565b848461161c565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000670de0b6b3a7640000905090565b60006108dc8484846117e7565b61099d846108e8611614565b61099885604051806060016040528060288152602001613c7e60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061094e611614565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461206c9092919063ffffffff16565b61161c565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109e5611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a69906131bf565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610ad5611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b59906131bf565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bc0611614565b73ffffffffffffffffffffffffffffffffffffffff161480610c365750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c1e611614565b73ffffffffffffffffffffffffffffffffffffffff16145b610c3f57600080fd5b6000479050610c4d816120d0565b50565b6000610c9a600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213c565b9050919050565b610ca9611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2d906131bf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610dfc611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e80906131bf565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ee2611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f66906131bf565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600481526020017f4430396500000000000000000000000000000000000000000000000000000000815250905090565b610fd7611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611064576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105b906131bf565b60405180910390fd5b8060188190555050565b611076611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa906131bf565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b6000611139611132611614565b84846117e7565b6001905092915050565b61114b611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cf906131bf565b60405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611294611614565b73ffffffffffffffffffffffffffffffffffffffff16148061130a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166112f2611614565b73ffffffffffffffffffffffffffffffffffffffff16145b61131357600080fd5b600061131e30610c50565b9050611329816121aa565b50565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113bb611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143f906131bf565b60405180910390fd5b8060178190555050565b61145a611614565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114de906131bf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154e906132f8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561168c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116839061338a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f39061341c565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117da9190612f4a565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184e906134ae565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156118c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118be90613540565b60405180910390fd5b6000811161190a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611901906135d2565b60405180910390fd5b611912610eb1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119805750611950610eb1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611d6b57601560149054906101000a900460ff16611a0f576119a1610eb1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611a0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a0590613664565b60405180910390fd5b5b601654811115611a54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4b906136d0565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611af85750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2e90613762565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611be45760175481611b9984610c50565b611ba39190613782565b10611be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bda9061384a565b60405180910390fd5b5b6000611bef30610c50565b9050600060185482101590506016548210611c0a5760165491505b808015611c22575060158054906101000a900460ff16155b8015611c7c5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611c945750601560169054906101000a900460ff165b8015611cea5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d405750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d6857611d4e826121aa565b60004790506000811115611d6657611d65476120d0565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e125750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611ec55750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611ec45750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611ed3576000905061205a565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611f7e5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f9657600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120415750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561205957600a54600c81905550600b54600d819055505b5b61206684848484612430565b50505050565b60008383111582906120b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ab9190612df3565b60405180910390fd5b50600083856120c3919061386a565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612138573d6000803e3d6000fd5b5050565b6000600654821115612183576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217a90613910565b60405180910390fd5b600061218d61245d565b90506121a2818461248890919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156121e1576121e0612b81565b5b60405190808252806020026020018201604052801561220f5781602001602082028036833780820191505090505b5090503081600081518110612227576122266131df565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156122c957600080fd5b505afa1580156122dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123019190613945565b81600181518110612315576123146131df565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061237c30601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461161c565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016123e0959493929190613a6b565b600060405180830381600087803b1580156123fa57600080fd5b505af115801561240e573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b8061243e5761243d6124d2565b5b612449848484612515565b80612457576124566126e0565b5b50505050565b600080600061246a6126f4565b91509150612481818361248890919063ffffffff16565b9250505090565b60006124ca83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612753565b905092915050565b6000600c541480156124e657506000600d54145b156124f057612513565b600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612527876127b6565b95509550955095509550955061258586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461281e90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061261a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461286890919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612666816128c6565b6126708483612983565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126cd9190612f4a565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080600060065490506000670de0b6b3a76400009050612728670de0b6b3a764000060065461248890919063ffffffff16565b82101561274657600654670de0b6b3a764000093509350505061274f565b81819350935050505b9091565b6000808311829061279a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127919190612df3565b60405180910390fd5b50600083856127a99190613af4565b9050809150509392505050565b60008060008060008060008060006127d38a600c54600d546129bd565b92509250925060006127e361245d565b905060008060006127f68e878787612a53565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061286083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061206c565b905092915050565b60008082846128779190613782565b9050838110156128bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128b390613b71565b60405180910390fd5b8091505092915050565b60006128d061245d565b905060006128e78284612adc90919063ffffffff16565b905061293b81600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461286890919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129988260065461281e90919063ffffffff16565b6006819055506129b38160075461286890919063ffffffff16565b6007819055505050565b6000806000806129e960646129db888a612adc90919063ffffffff16565b61248890919063ffffffff16565b90506000612a136064612a05888b612adc90919063ffffffff16565b61248890919063ffffffff16565b90506000612a3c82612a2e858c61281e90919063ffffffff16565b61281e90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612a6c8589612adc90919063ffffffff16565b90506000612a838689612adc90919063ffffffff16565b90506000612a9a8789612adc90919063ffffffff16565b90506000612ac382612ab5858761281e90919063ffffffff16565b61281e90919063ffffffff16565b9050838184965096509650505050509450945094915050565b600080831415612aef5760009050612b51565b60008284612afd9190613b91565b9050828482612b0c9190613af4565b14612b4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b4390613c5d565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bb982612b70565b810181811067ffffffffffffffff82111715612bd857612bd7612b81565b5b80604052505050565b6000612beb612b57565b9050612bf78282612bb0565b919050565b600067ffffffffffffffff821115612c1757612c16612b81565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c5882612c2d565b9050919050565b612c6881612c4d565b8114612c7357600080fd5b50565b600081359050612c8581612c5f565b92915050565b6000612c9e612c9984612bfc565b612be1565b90508083825260208201905060208402830185811115612cc157612cc0612c28565b5b835b81811015612cea5780612cd68882612c76565b845260208401935050602081019050612cc3565b5050509392505050565b600082601f830112612d0957612d08612b6b565b5b8135612d19848260208601612c8b565b91505092915050565b600060208284031215612d3857612d37612b61565b5b600082013567ffffffffffffffff811115612d5657612d55612b66565b5b612d6284828501612cf4565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612da5578082015181840152602081019050612d8a565b83811115612db4576000848401525b50505050565b6000612dc582612d6b565b612dcf8185612d76565b9350612ddf818560208601612d87565b612de881612b70565b840191505092915050565b60006020820190508181036000830152612e0d8184612dba565b905092915050565b6000819050919050565b612e2881612e15565b8114612e3357600080fd5b50565b600081359050612e4581612e1f565b92915050565b60008060408385031215612e6257612e61612b61565b5b6000612e7085828601612c76565b9250506020612e8185828601612e36565b9150509250929050565b60008115159050919050565b612ea081612e8b565b82525050565b6000602082019050612ebb6000830184612e97565b92915050565b6000819050919050565b6000612ee6612ee1612edc84612c2d565b612ec1565b612c2d565b9050919050565b6000612ef882612ecb565b9050919050565b6000612f0a82612eed565b9050919050565b612f1a81612eff565b82525050565b6000602082019050612f356000830184612f11565b92915050565b612f4481612e15565b82525050565b6000602082019050612f5f6000830184612f3b565b92915050565b600080600060608486031215612f7e57612f7d612b61565b5b6000612f8c86828701612c76565b9350506020612f9d86828701612c76565b9250506040612fae86828701612e36565b9150509250925092565b600060ff82169050919050565b612fce81612fb8565b82525050565b6000602082019050612fe96000830184612fc5565b92915050565b612ff881612c4d565b82525050565b60006020820190506130136000830184612fef565b92915050565b60006020828403121561302f5761302e612b61565b5b600061303d84828501612c76565b91505092915050565b61304f81612e8b565b811461305a57600080fd5b50565b60008135905061306c81613046565b92915050565b60006020828403121561308857613087612b61565b5b60006130968482850161305d565b91505092915050565b6000602082840312156130b5576130b4612b61565b5b60006130c384828501612e36565b91505092915050565b600080600080608085870312156130e6576130e5612b61565b5b60006130f487828801612e36565b945050602061310587828801612e36565b935050604061311687828801612e36565b925050606061312787828801612e36565b91505092959194509250565b6000806040838503121561314a57613149612b61565b5b600061315885828601612c76565b925050602061316985828601612c76565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131a9602083612d76565b91506131b482613173565b602082019050919050565b600060208201905081810360008301526131d88161319c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061324882612e15565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561327b5761327a61320e565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132e2602683612d76565b91506132ed82613286565b604082019050919050565b60006020820190508181036000830152613311816132d5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613374602483612d76565b915061337f82613318565b604082019050919050565b600060208201905081810360008301526133a381613367565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613406602283612d76565b9150613411826133aa565b604082019050919050565b60006020820190508181036000830152613435816133f9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613498602583612d76565b91506134a38261343c565b604082019050919050565b600060208201905081810360008301526134c78161348b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061352a602383612d76565b9150613535826134ce565b604082019050919050565b600060208201905081810360008301526135598161351d565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006135bc602983612d76565b91506135c782613560565b604082019050919050565b600060208201905081810360008301526135eb816135af565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061364e603f83612d76565b9150613659826135f2565b604082019050919050565b6000602082019050818103600083015261367d81613641565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b60006136ba601c83612d76565b91506136c582613684565b602082019050919050565b600060208201905081810360008301526136e9816136ad565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b600061374c602383612d76565b9150613757826136f0565b604082019050919050565b6000602082019050818103600083015261377b8161373f565b9050919050565b600061378d82612e15565b915061379883612e15565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156137cd576137cc61320e565b5b828201905092915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b6000613834602383612d76565b915061383f826137d8565b604082019050919050565b6000602082019050818103600083015261386381613827565b9050919050565b600061387582612e15565b915061388083612e15565b9250828210156138935761389261320e565b5b828203905092915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006138fa602a83612d76565b91506139058261389e565b604082019050919050565b60006020820190508181036000830152613929816138ed565b9050919050565b60008151905061393f81612c5f565b92915050565b60006020828403121561395b5761395a612b61565b5b600061396984828501613930565b91505092915050565b6000819050919050565b600061399761399261398d84613972565b612ec1565b612e15565b9050919050565b6139a78161397c565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6139e281612c4d565b82525050565b60006139f483836139d9565b60208301905092915050565b6000602082019050919050565b6000613a18826139ad565b613a2281856139b8565b9350613a2d836139c9565b8060005b83811015613a5e578151613a4588826139e8565b9750613a5083613a00565b925050600181019050613a31565b5085935050505092915050565b600060a082019050613a806000830188612f3b565b613a8d602083018761399e565b8181036040830152613a9f8186613a0d565b9050613aae6060830185612fef565b613abb6080830184612f3b565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613aff82612e15565b9150613b0a83612e15565b925082613b1a57613b19613ac5565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613b5b601b83612d76565b9150613b6682613b25565b602082019050919050565b60006020820190508181036000830152613b8a81613b4e565b9050919050565b6000613b9c82612e15565b9150613ba783612e15565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613be057613bdf61320e565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c47602183612d76565b9150613c5282613beb565b604082019050919050565b60006020820190508181036000830152613c7681613c3a565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208b12827e247425defba6967d4dc5dcf3608d558bfa6aa8207d8377ff376b87f064736f6c6343000809003303ff49509e68bc7f4cd951e47faf9aa889deedb28019676c982c3fb9efcb184a1503f549c8b9ee11bdaa720cfbdf2727f0c46d8393aaf38929405e3f3dcc20029e7a0358a4d23f458a03cb7824543e1a889d5d86d4ef4d46eac8d45418677f8ae724d103a3085aaa3a2fd51db3b39e9240c6be9ca5838f44318a229ccaeeb15a36a346130385290d2185698972bbb990c748efb6c48140c0754bbf7671b7d279d8e746a6e0037f53c9cacc1cc4adfdd893badb9f4cf5bdf9d4d5d09e992f84ac9008b4537e6f03a6975de36b9578e69aacaea83a5ba5b77a837c84ccb193f71ccbf0eef058824803c10a7856d79bc736a97cda2871de6d7aac78d153f156140a278b5fbae88008d4005820025b79cf902e82939d46c6d9eb544a755958a0f1caf067735017b4a8547673225820ffffffffffffffffffffffffffffffffffffffffffffffffffd9951351f6d0a200582002e3f6e196bd83c390cee9c31f2a3101c0acbdfbebb8f9008facd1a39306bfd35820ffffffffffffffffffffffffffffffffffffffffffffffffffef48f37ac8859900582002a55219722f224f7f3de00cac700b46988568b12fdb39fe15d2b1d84ac50e8f581912725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f2103bbe6193b6256764fec134af1ef99d340552dd907c196b722a46036fd7e9df07203871d41bbb5a3ad66aede5e8aaff22697a8d01b09548b39aed1df167a94344db5036050e6f93ba1ef8d9830f07d12db8bf262456e3143740788a4c4a55c3b87913903ae0cd461a47f15cae9dc1f638afeb496dd6726e4fde3aff3d9c24be2ab3b0b7301410e03e147ed4d917f64ffc8c54f900dca6938d1bfe6d8a189e659c12e1db6d94245e50219ffdb034d5dd1b1b62097d9fe2c47bef07b932dee06c701383c4c282012b0128fa7a44c0058200200bb9390679a4ef173a92883758c84caa4066bfa1a32e688d9b57ef256e4d55820ffffffffffffffffffffffffffffffffffffffffffffffffff9e6b44369469ff033db75d92a3bbe9919322f783314898151e9d905f0968ad5f02e8d4330b81694003eb6e5ae556329a1b69807c547a25a65dc5189d20ce809b5817c068ea9aeea986035d821bce62dcc9663a08619ff0489c8fe44b3bedd783883342457e6ce409071e005820029d0f7e279f4cfff4dfaeace6e755f578a9e99a63828ea9a1a3c8f04d531e32581f1de9ff8cc65e71fb481cbdbe790237f5a51514dd077f83f26eb64a6b62127803c0f9bd077ce9fd6d259455317eed65dfdecf67122d8d5284c9b28e97ee8ead9f032d159732e20d041956797670f2992c446dd949bea7482d7b416c644066f5edbe03e615d77cd4adda879c6105c684c31395f0b2509a268972613a9ce996e4a11c7300582003418ae5647694bd7c96aebf3446735ea4a11fd0e4e8bac388c7a83f430e77805820ffffffffffffffffffffffffffffffffffffffffffffffffffea227b427449a10058200334339165e7c8fb585a643a9337bafd3eb266dfb0df9d179a68716adbca35d05820fffffffffffffffffffffffffffffffffffffffffffffffffffbafc8bfa4ca0e0219200203fb3c3d24c25f5911827e5021720caac59cb49c1f67136beac1cfe34342f1325703940ab1bfd9f8953a42a9bc7f21d72ac6bf692c69711202b22229ac0a5a4ecdc50334054344f5c43f16b05ae3e17c7f99053894a0e669447ce6c1061013f3cd4e9403c52e44a459d053a2578fd42814a4f426afda54afff29d1b140260508a718b2c0005820020075846f6500ace0245e430addd7f0c94eaf51ada55f16b5ccf90b733eccf9410103cfb4a97fb3cb11a9b9f94b3ca7eb287b765b7894354c6d9970188732764420650219dfff0311d462adc1bc654f612f4e4553cdc58cfb57de38cc7d719e7246bf2eb459e3370366e55c95d3c9af8e0a656a71e4e16520b5b295412e4874e842a125726ba37910030793eb930158ea639a668a378186e4ab83ac1d044840ac0c046f60d9099584f80364b2892b906cb70cc27d5a20847a26c6ad43bcf20ff2fa74b63456a76737de2e03d3d130afa835c58f34b4cfcad67c3464a25feecc73f54bd36062b5b83f2daa5800582003317ea5cec4feb13f976e74a13cad76101d5584637bcb1127e05da7f0a692c05820ffffffffffffffffffffffffffffffffffffffffffffffffff846c632bb0a35c00582003160245e65d2fa57b8a3a9155459acaa1c8e45d5949072b3b814c6604618f30581f190f1bbd7d5bd8faef59f1509acbc013a3fd3f0604107eb1d3b89d15e81e9c00582003ab35054653289eaaabb35548df13cc28c81a8817ae8a29a96ece52eafd0310581d03e48a1fbea5f94cc0acf70d8809f3ed040edfc2e75436fa856ff44b6e00582003448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475057010001b16ee10cc324dbdad740931eceb1f98bb6c1072902198482031b7da7d9cab85d4eecea8b2806ec6ebe5224f806cc9123276a2c9754c7a43dbf00582002215fd1a31f8b31828720a85ac23f91d2de64e4e4928c993634587e6a5f5e3e581d027bb2acd18d6d6f247e64b62f16a2a6e4dca8d7b99a2721a93173816d036d3c71180fb0bf07fab67020f5f932b9392d85a87c73e4b262e96dd6712dd5b903330ee046641dcfbddc6608e5948cb35e942b1e5b1d17dd92e5476f8602e90d44005820023494626f348d1cb681ffe06fcac41f76082e5229aa96b176f53edc781da2c15820ffffffffffffffffffffffffffffffffffffffffffffffffff8b0e0f66a48b0703e60dad80961bf0305bc3bc59d1db92fe36263f6f745875466ba36e7a315aa05503cc0cb0e3abb33436cf6bfe583944e5a4d513a3de3340e60cf99e7a24df0a9d4f03c3571b98c4b96f2d502387fd95aa17de384abdcc1708ddade902b2ad758dd63902197eff0303c1e3e47ca3c2505f623557e8dce244ddf9b6f3db58a132ceb5ba00497b46d201410503d020b5d4c7244541ccf329bf1178da86f781882ecb1b301a22224232706ca5e900582002b6a45c083cf14903e885f59fb1b623c69f6da73cc0b26e53f4b58e4d504599581c59cf5e61be233c913b40de5896ff4d6cc7ed84b1d9a380325fab721600582003366d5be426e04ef841a21040804d742a95ea728f7923fe983d2e5f6bc011405820fffffffffffffffffffffffffffffffffffffffffffffffffff57d4529a41569005820030abda449de946a30102b8aa07ffab19e505d229239036aa18a37ca0d20d230581fbc99c0649078763d9009f8da9a012f1c623b092f1097f206233d380181fb25005820030f1b8227ad645473b3a572f675490f772148e619bddc556ef1b4e7ddceb480581912725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f21021924100366f4ae0a11e1618da8ac3982ab3c6093e8f9640035bb78781fd95458458c388e032d4fea2f25a617b4503741601cba50c3713a1fff7e2e44837a375e3a1a10e4060398f3e86a86792d54cf27ab4c4ddd2c5d5c04b5a1b63ac2d7644208ac76dc6e1903b307ed3380143c13cf1052251b28c46fcba4c96eae702e1b5a41aeaf9ce14b6600582002a05960077ca320dd6357e3a102183e1b55018efdc9a2c8acdf79d79e8b07d95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0381d98cf95c72181e0970cde9584f997bf03c9c0f98518f713bba76dad73a679900582002208aa0eb5da0352aec3e81de979791164cd9f5e8735e90dde02313cb1d18a95820071589df128e367426deda2fe136b456314b821a5eafa181c03a394fecb042d900582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0410100582003ef442cb6b50a972d2b0893163efda3320d021d2fe91e1bced78aa1d4654c005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021908020389d1787546e2cf1484051784ba4a304c194a618fc6598a7c79e92d577fb851200219f8ff03678644fca30c3d92aa1962dfdbf6695fad679d9d565579688a76785620ba913e03e11118e53fd6da3a88b292717adcb13ca42cc4c3f63315c21e4d27924908785503c7d80169902936b5e33eeef3b34914515e807bdf019690fb316890c723d68b4003e203f4158dd1af97051de78648b4a22ed592da8f2dc3384d36f779801c9ec7a600582003a4448d1b06f4c4683ef19fda6b50d6b0db9c871bb72687231117d64e42cd405820ffffffffffffffffffffffffffffffffffffffffffffffffffcfdd739b023ab800582003d717711f8322e54f42c50ace593570d56b1635d1c071ee3f56d5b5ff10af70581c4c04c8cf94b2e70fd2c46e4c824ea4c15e59e944d808249f2883ca0300582003778d33f8f42dd267c097eea5fb6e05e8d67ae6568aceedf9563e34cfefc340480ddcee8c3b2cfe6e00581f0275564f6518c99cbff30ab496824bab38f4085cb6b2b2cb1de8d8ef53b0bd581f2a92a5775987d511c461de00b2ca67585e0e8c75a0dc1d2602fd0967f70b9400581f02e83b0726b2ad284b6104092e36c75687d9b0c818b61cfa539d747db58fc95820ffffffffffffffffffffffffffffffffffffffffffffffffffd4f556899c7c1c02191008037e602159ae92ee1173ccdaa7746cc856bad577f315180be131a695c19724f5a202196421039292a12a9831fb4f1adf24016a291bc08db68fada292696fa4ed687e8942d47f0329d8e92de64128c56c3dea978397089733cb5ca3102c828ec62d9ff18775ee7e0058200266ef8a4309687ff98bb731bbb8aa396a80482bb3ec63f9bd1da4a6371007ad581d018ec1f8f4a8b2b9cfa9829d038e816c723cf6856bfdc9a35c48d06a740364d52284958b2c2e13f3ea222a05e6a5b8f8ef9f06414b4206c9da87be86c75d03187d272b200a7a1bd026f711e1cdde0b458c2f961f4cf6e7c590dd9b271fa7c8005820023fea16d3040f938e3ef7a5f5ae9dba313c777ed9092302a22b2e67e843d096581d020a26e05af288645bee5323523078b047d3072de2107040be181c22ef0351d2ca45f3360223c081b0573eaa36142611b2f8156f81228b190b4018f8560200582002adbe133a13fa12eeb21e77e915c8fb35bd32962d429dcb2e77e6d4888270c3581c19d17759488784e80a679e8ac499ade5a792f10dc165226e80c1c06503c8fdb9e6809701e4d03cdf5483213622e44b195ba6f68927faaeb1c2a3cf9cec0219dfef03fbc2c2356957fa3620073e7750393d0a47cfb53874d38fac64d9da249c520a87034a15db3678ed6f2f63f8b90526265820e1497c78487caf78814d811d997a5c160058200234ba4bf28352b2e3e36329daff7222fcc8eb98d402d6f50efb1b647561e8ea58200153bd43eab28506c5c4b20dc8276ddf3bc9d353c77891fd56515c9dbbd045db0399f864c272814851e1dcc442deb54c634184c490a697b9465ad5b04f3819fbd3039e61c1a0decac96c3a29bcec187005353614e31e6254ef4931d02a762804c10103a3d3c5d91e02d92c55441c5ac7285214d4b6e120c5306ee03a639da0fe47825d0058200278fc37bf5490f039f87ae77e8cd5ac9a64a58b499225d4fd6a94e07e0de9e45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0367dc49b672eab41383ba6fd2785302b1f30e501a002652df00b669a5689f8240036ba01ac55ab9ccef872b4fb7977f026f7ba456b91f1db608fd523dd8ba488bb0030ed96a1f1fd963c7dd05a661a6e144e26cce62447a78e2adb88249118ca795c4014107005820035ef0cc9196deaa8b898174a8242e3662613aba5434de966b75d5d5a7c17cf05820fffffffffffffffffffffffffffffffffffffffffffffffffffc46f7e47cee790058200311a85fc5b630c631d700c7a6b83a85fffc06ef6e5c78761eef15b5cc3dcb40581f07e07d72681cb7cb6f188d498bb660aefb58fbc0d3dde0cab3dfb84509f54100582003bfd09cbebaa85c3f54dc3c3375361616fa7b738389983ae6dc6b864d51add0581912725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f2103bb13b49bb75dd29b253f0dd5a6e088467f48c549051252af1c83b22f515a7b320058200393d17807e1d4c9315f651e88e29bcf110e0ac2f22b12fc04cee96983c8c350581d03a2cc6b7e20bca72fe648b92222150675d90eb140b9fe919f14ee225e0219280b03bd209852e8b52241336f6b2a8fd4f94c1fe661fc605749f0fcc03b107c14d86803f05a0d5ee742d6500a771506d37a5a6abd613256336e1e5b4eb80aa9bdef57ba03231cd32f2f520d6ae3376552860b744117470aca5675e567da4035586f68066b021979ff0325b1a6fad27d8e1925e97b34245ab9edc11faca4e40dd44aec2c3b53e6d4163f03f77c2b54c8e4742110fa199d5cafd19cad9c7d9fa2f6baf31978ac82bdfec3ac0301d8d8618b868e0a1e44316ea1e2f5234c6f964124cbf3fedd9c556983f0f441037274e002fd591da675d80ff92fa2bf8312d558731066871feaeb444b1be3d86e036fe4d3b6c4d348047788a4d4f7069ea766635857457e9b13fe267756b9eb55e703dfa67c232ac10d765567b661342921356fbf140fc5c4234cd39365cee73e3b7903c18bac1620e2c13e19d5ca0a9d91c980a717de457b12717c5755a901e299c5b701410e03acf1e090b34dff313edfb213e2373522db921d229e2b44a59b8ba4965172688e005820025cf90d3e7d62415843551fd8fcf403edce1bf2dd3f1327770793d787bfe4fc5820ffffffffffffffffffffffffffffffffffffffffffffffffffd9a6a04cbecea003ae4d565c998f1b68b62b045eb3617b255cd9e0058288ca868f4b316774ab875203c7bf46ae7a5494ed08a39d568a7b6a1bf40b11b166e5c3d9350265d374da75a5030b153460afd4cc7cede6cbd6d23559ecb4def9f40d29ae25ca3a3acd0ba356ad0331bb7ee40dcba1042693bc54bdde5591d1fa0ddb648ed31c06b11376c690181903ceee8548a0a5c332b02fd407e5fb4293febcd62cdb9d3e45fb7621aee16481f1005820029a78eff16b9ce492daec1a1c0eb328cfc3dccc7950d519dca696cba1d2df05581d032efb6db771fb4f122a797782b031b9d6b62301e18ca345beb3f957d50219dfff03fb52547cc466b9ce998af3df0f2bfd25fdc70060e48a86f8db71edfa52e16c7300581f026b7a852c7d98f7d5225c4564d3fc6b5024ca61b5c7a986de584f993260e35820fffffffffffffffffffffffffffffffffffffffffffffffffff94d3dcd8dedff00581f022d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e4711c37937e080000219200403b769e7540cbc9310f5681333025a2dd00c7e941db4e040ab2eae11fcb082ee7900582003c274fc754f928bb4210c98cb60610083babf2b1dcd696a720ca2cac81961d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198808033ef14290ad04e7ce7184b0023badc0002289367282d2324b81a55e69f4ba05c800582002b6daace53a5e63de15748964cadf5cb904417844266ec97b080e83983e34655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031976fe93bd155b340716c13c085151922bb92dd73e9bc9ef99507b60cbf7a840030d91f26856a262224b51c46f8c54f673806bff87540b64ff57ecedc25fd85f4100582002b565e61349f8511e54412caa8b59e9c04f1937d678c8b08213525fbc24b66e5820fffffffffffffffffffffffffffffffffffffffffffffffffff3d6803503bb37031697c004b9fc5a87cd8efd54f427cfa6a822cde679c634b6217309fb8cb7ab0b039e84fd6f1b57cc3b1ad34b69ee21ace99791042bcff66a6dd855028fe394056e03e0fb20beb396f8fa95a31ea34489bcb0a08eeefc71c2d0be61a429a9b1c140ea039eb33b5d6c636d6f87517785dbf283926936a86e9765a6582d2f1264e9af8bc80331dd44042d26d79f942e135493c1ea2fd7fa506a4576f0a6bff86a293b44a7540353767726768a3d201c7551dbc8b7c43b344cb5ea05b86e0b3c7aa094d28464ae032096eabaee14496bf9a87de6d4767e43afb7ab5f925700bc4755f09f3f2c0d2e035fce78818b0e1a0fc6ca63a7021879ea0e14e9bb808aecf04b800685ccca023a037dac4a36e887b5404491223cd4c379d8cae76aa584bb4ea037895a4140beda620219ffff00582002f31c2e8da39476f8a712237a26603e19110ade03cd86e463569dff3027df1e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032d5c2510ebe07665265efb3d41eb863a1e50097a9f0633019cbe687ac8822c84005820028f998ddb4dcd99472a6f4171de5de391cc596073370db06f2187dd2e6b6e355820ffffffffffffffffffffffffffffffffffffffffffffffffffd22b7a12eaa0c4039ee494b664e7b1213d8472e2c3e8b08644eef8d3c644182b11b4c768a30a0a63032f2d1d403c68fff7f13ddf98f969bae2d35e54b8a3332b0c17ec35492909a4dc005820034b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c150481bc16d674ec8000000582003872716ac01131ad45b08911c340904f6faca1e95801ac59b0c6c3e2aa868d0581912725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f21005820035c0b7d7fc7712e9586cad4df3ac0705d4a999c1d6d1ab8c250c9159b0ab0805820fffffffffffffffffffffffffffffffffffffffffffffffffff504257a386ca60058200354ee9977baf98ee6ecd6ff78bec6175dfdec6be21a6a25ab4413c45b2fbb80581912725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f210219c10400582002bda6795846940ff648ecb5dd1ced79c6a26c81a465a543c650b8c566881fd45820fffffffffffffffffffffffffffffffffffffffffffffffffffd851aada4f367005820029b83eb6d12f13f875901d70139a17741aed2359860a0f6bfd30c752c30af7e581f2a41bb366c092d6d5f84357c9390e5ab0fc1db6088507cab8f2c95daef703a0366afa0e386003f06a4d00527b0d0a21c7f49ba9338ffba72fd1cc97cee17337e00582002d2eefb4a1e77fb57d97141f91a8dff1e25831ae7228e89218039ce1ab8e4195820ffffffffffffffffffffffffffffffffffffffffffffffffffdd771f095e65ff033a6ebb270e889e4fce72f4596441ac7c9a0ff23efb1c8ea00cc65f31fa5da6f6037c9e8dce8254f8ae468dbfb1fe71c3029b4bc66fc1ae36ff088d8931645a735f033284bb2a01e3c6d1d138c28e94dd699680e097e81edbc356696629e35088530600582003ff67c12ffa47c0b997dca6e10794a70d07e8765e8591463439258c181084405820ffffffffffffffffffffffffffffffffffffffffffffffffffc72815e34707fe00582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0547a250d5630b4cf539739df2c5dacb4c659f2488d021848039cd6e13ff69b387be9daef91c86251e76128f73b17a10ffd5377c3241d8458060219fffe03d9f5142b5fb62a31dc70331be9723932a9be9559b584e41d74bd39517d9fb87203bdefe4e8ea2c48b0c2cd86971591b60ad876b883f56f6116a3d1c04e901e105d00582002e4a014b1b7f30822b629717c89568b88c72ae982ab11eccfdeb031bae06e09581d01528206eb4d76ff6d06fdbe41d05ac89d356e40bebf3b0dbc427e7e7603adfc49e1d5ba4183f4c766cc802a7950de8ca86cf1e133e4b7524046e2236599032f62e4a685a737ca9fb76f27c553e7bd407f3eb681ea7bc4f52305413355d75c00582003f4423a7bb9a9f78af1e698d7068ad721d86186f4099be8e4da70370772b7b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820031d6cd835d048a284796968f5b6d0b189b1c19f2785ccab6210c4be90632420581fcc8136bf0800f9ff304a0065765ffb12ebe6e72b61b6118f38396739e7049200581f02990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5410100581f024e10fd45a69eed097e2be58b9480c1df626321009057e0fa80d03268680a581d03fbe0f8e3985c8fecf2cfc236e5c03f35116f81f64f0649eee27ad9bb00581f02e9fc15b29e4a16aa7b60f3994190e84ff325ac556fcb7a0127bad4e73200581d488bebf6fd2cbc9a85b512b040f4f2c0110c81f37073419367295f972602190640021908c000581f02147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289481bc16d674ec8000000581f02ac920e96417c17825a11e763103e7dde3af0ff5c96ab0a38d9f141e0d82c5820ffffffffffffffffffffffffffffffffffffffffffffffffffcc9a3d00506fff0219200801410303be6f5ec344b0fe063016d79c8e37efcb5b1b7960cffb2442ede7e55013f62157037c4d717db954150ca268fd253a4425cb13533ce6917b3d437d72297e10f4460b03299080a387c3150dab24e81331796accf0a3399286f27e550fdb6ff6d422ff3303d6ecf1789b760ce42a10444edfb218315c3e574dd4339c280fecbde1ea44c20d0058200293c162864968d175d54edb82207a6343953263b654580b6382aa9c61bf53c25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032cfe9cbdb0008e0b680c25b3cc4807d1d34cc32fdfe4593b99a1feec0be8d46b00582002556ecc55b0f96ac69c62bbaf7c65eae54c035e2e2662cf6e70cdab530d1ace581912725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f210219ffdd03795d9504570c76879096ff17aeb065e0e1e0ee2e4eee0dad9b3d548d473441e8039f6b3e24b5a7a2454089036d35c95af53344c839516641850e68bb6349e038660352449c8a3550bcf0becb0a4b26eb0c2116b75bd410e299b290c553f4a1eb315303cdbf8b0394999a1444bbaafdc7cbed7aec5ed1d99fc696616105fe949cbc33b903589490266ae9d4a5522beb5f8c759bfc1ea51aba202a6098c056c3d57000f0a20342a4321fe88e931644f5380870df27f96b2b7a0496e2ac857b75f1b75b771d390058200342b9110065ae187a7f8f3c057eaf277369797e2b1d51bf8803bdb8c79adeb0581fd10a37bf677dc8546bec360094cc6b2eabfe262df63ebf3ad3b635a1d06a92005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05820fffffffffffffffffffffffffffffffffffffffffffffffff7e52fe5afe40000005820033347cd984ec3a96bcb5d8d0a501b6b0eb0cccac0c6e14c58a8e6dbdf9c7510581f536ebaa976db62ea7d601f04ed205fc5e2b5ca37216371bad2627ec147c8b60058200304d546c0ba0d63a77540eabd754bae24c7c9c7cd1b5a2a2e23a81d98df69d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219113003dc79e00c25f487eb362ec9625566167625b6b327c4b58fbefc58588275902d7000582002478abb0bc5bfa0eb370ab2cd5e4ca5816300b19267ee61775e3823abe472ef581912725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f21036032ec66d0c0c14565a374fd7da9217c65aafb37899ec31343e0461798f0db04031d85d83a8f20d55bf143f989661e7858da942818ab0a830b6d4a1fc704a273e90392d349e9b2cb4e7c50f5cbbd4b58576fbcebb84662054de6457a76b073a6faa803d1556742aaea26ff91430c41245caa4230f4507cbf7081fa08071e351b53018a0058200381ffd2c41de7c165ac8d5d06fdf812cb18e9d89c9133ab9f9b687be061044058204a7f8c2af3fc0dde7bc6c5165c334967b7876dea033979d2a290932015f4a22100582003651824b00df76d46d314cccdda1b5f34eb8a740d75df6811753e8492b0b4e0420bb000582003fcc77123ee9d11a012c56ce694a00fe072509053d5e1987a8a74d8d250b9405820ffffffffffffffffffffffffffffffffffffffffffffffffffdef215fa55cdff0334420eff31c0c115c41356e0651ddf82f1d719ea69384dccadff5433f254f36e0219784000582002447833dd5e01a558cb96af4a3efc92e022fa2bc3b00973c43fb5c4cfc980b05820ffffffffffffffffffffffffffffffffffffffffffffffffffe8f800e35dfd81030cb554ed6e6bcc8b537d7642c44de08b8742046b1c6e2ca7df637abda172d0c1014106036a8b84465d8da6b48626b032005711ccafacb48299bd79aadd915f14b67bb5cb0219fff70219ffff05581d024f28cb6c04502487d7df1daf08939de23655ad3e8582ffcdf5f828650701193cdb0219802005581e03fe91b6596585116e4c4bee289d0eb5110bb43908ca24bc84f50b1470900c0146ad7b07218c7605581e03f6996d747c84c52c53d2393a828091c43f8c6ab91c4104fd40297c9fd00c014650b0bc15a00005581e03cc5c908fa5051720b6237a421ff7ddfb8ee71b0eca414a79822a459d10040105581e03ed61134a2208c234e5382da0e49f88e2958bf0bcc6ae65d66f6db0a860040105581e03ad025c4bccb28cc57cb7a1f50f2cd9f63d5d268f4751949ea2628233b00c04470ab33c86516f00035162e52d677e51c4e72ea1cf73bf77ec73abbb36ec499285c604c1d192b9e50903960303fbcb2407980c8d79a79bac1b5753b421c406b5f7e16b1ee7199e29e17105581e03c6e70ef8e92d97211f18433394c2b5b53e29e238dfb13986c23cd6898007011bffffffffffffffff021965b003efeec47e8c10abb575548e672f74c7d52e8a83fc2455c3606e6701b899cff838036ed3f50e04eb52930cd8796d42bcc91ace9440b06c774bfc805eaa0ffc160dca0219ffff0336409df0362c1aa73ab90914c1217a984846b4a77c6a72db0220e8f90648d3510304b142eee2d093cfcafe93238dd660ee0d29cec3bde0978812be6972a8649e1c03bdfed4580ecfe9e8a456355d1228475785a36959eb3baaf56272e59983df680f03b23267fc80a6a2811e34079786ac6b3eae231e82dc5a3860132a3911c0fc1e0c03547396744cb81030022e2a289cd2e2135ce6c7907b408317eab2f307347bd9800334b47299dba2d65b65920ee3556f3f063a75cfcd015ccae251d56e741a3043cb03a019829f31ba8556ebd95a6cf6638bfce99be30a05d026b43be37364f0c4bf85035e9721df7582accb45e74ee45bb1b7d76b1cc9eb645b342ab9232166e0356d30036bf1e4ff4541e8f9745b4ab09322faeb153ddcd66242943849ba97a05efa3bca031595cc6eaa1e0b6c5ebcd54181f92e5e0c80aa3a9214d952eda21ebe6793068a03c992d6a7501c8bfe6982abf97a85d9febee25e4001bb69c4b57eabf689ad82350219ffff03037998bd3fd6d978c2133729dbbc2e7382c5f6011f53cd9e8b2c19a686c427f8033eb555dcaf2864a2708d6b0cd132b0c300dae56b94f4a37dcb30740a84bed62603519bc2e2e600ed0d4f42c53959d277bb06c6be05af2f44675eabafbcc872c4b5036a9e6243f581a07cb7dab04c01441910feb2ceac41d4608d8d8e55fe082cecae0219ffff03be35b6764d1cbebcd78af3de77a4013122dc833e04783d6d844d5a2a945ffd440219ffff03ef7dc2c4b9bf753fadecaf229f5126ffe36df9452ab6401aca46fa8ec6a1f57f037ae69162407366ee8c13f7229e0c3f29fac15fede53503c92cb1bae54aac5579032809a98cc72fa49b34242e6a853091bb317fc0e508b40e8ffb7961023616dd7f037bdf64cbe2013e8cee9028004010a2b3eb5288f569ff56d0387af0cf00ff0f65032910b6c8094447deb52e2ac54bc290ef69c9a52891e000e231148e84a0b2303b03ffa3aa90c531f086c89d49c156bf6130a49398941aeec2a144b52ed73ac0e57f03a1d347c6354a1388d1719f80d23bfc32e8405af86dcd398cca83528b697a380003b17cc2766806e4ef41fd30b5cab9498797d47fd78c3302bae1b07541ed65edb203f05048eae5f93efdc9ec99280300792364531f84b507d6d242a096b1a94204dc0321adee5ab6e8ac1dc175e60eb97d338156fca30bb00b34811c17de7e25e77d7d039995173c1d741147e7ceadaec593953b6d1a4f3c77b3bb64d01dbb3de80b77f803f2ec89d7ce30881bf7c5361c8c2fff76492d83f97f0e92b609e8f015a44ebc010384e37495d47bda6fd084d8b414636d7a15b40d5f2f4b3c554c7b4ad67eb1a4d503d6df3a29ea156e8f4919c94ee02f7da7977cf321696d0d2216449fa35ec7fbb00374f7315aa51bbd9828a93cecfeb32f26f89f91246ae690b2b02d31be6f62abdc03e59c93b9eac086730ba81ebf87299615bd8b4f02686d8bf3b8914003c7cda89303b3267f719f9966e8babe197e3272af56ac66efd7eed3581e43f6a8605f4a5971036e55a37f98c5d68ce955ada21a2fe079a03d7ccd112e22a1fd47cb956aec62fe03f8965a648c00728f8b8e90a2bd558455a83146235259518e9a50f99397e76ce303636c10795ff6aba46ecb7ac53076a48be90e2afb51bd2dc6aeaf7b24fd1fe67e03ac1e80ef40f424c4c6b540dd2de1943abd418e45013c090083299b0521d0e086038eae3140a46c36989bce14aff1aa8d0c42ee95cbb9b544427869f9144427377803251378ba972d60c94f13fbe154bd97d59f820dbe20c850032dca829fb7127f6d05581d02ca0ddd2c339010266f43a2ef94199e1f4943c600981d5e7fc608040904010459121b60806040526004361061008a5760003560e01c80638da5cb5b116100595780638da5cb5b1461010b57806395d89b411461012d5780639ddf93bb14610142578063d9caed1214610162578063f2fde38b1461018257610091565b806306fdde031461009657806316b3b4c2146100c15780634782f779146100d6578063715018a6146100f657610091565b3661009157005b600080fd5b3480156100a257600080fd5b506100ab6101a2565b6040516100b89190610ddf565b60405180910390f35b6100d46100cf366004610c71565b610230565b005b3480156100e257600080fd5b506100d46100f1366004610c28565b6102c9565b34801561010257600080fd5b506100d4610395565b34801561011757600080fd5b506101206103e0565b6040516100b89190610d3b565b34801561013957600080fd5b506100ab6103ef565b34801561014e57600080fd5b506100d461015d366004610ba5565b6103fc565b34801561016e57600080fd5b506100d461017d366004610b6a565b6105f4565b34801561018e57600080fd5b506100d461019d366004610b50565b61076a565b600280546101af90611194565b80601f01602080910402602001604051908101604052809291908181526020018280546101db90611194565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b505050505081565b6002600054141561025c5760405162461bcd60e51b815260040161025390611101565b60405180910390fd5b6002600055348061027f5760405162461bcd60e51b815260040161025390610f34565b7f4e96fb90a89341a56db7ad2bbf04c715bbf20be6a9a9e764671f718c4697649a84338584866040516102b6959493929190610df2565b60405180910390a1505060016000555050565b6102d16107db565b6001600160a01b03166102e26103e0565b6001600160a01b0316146103085760405162461bcd60e51b815260040161025390610fe9565b6001600160a01b03821661032e5760405162461bcd60e51b815260040161025390610f6b565b478181101561034f5760405162461bcd60e51b815260040161025390610eb7565b61035983836107df565b7f94effa14ea3a1ef396fa2fd829336d1597f1d76b548c26bfa2332869706638af826040516103889190611138565b60405180910390a1505050565b61039d6107db565b6001600160a01b03166103ae6103e0565b6001600160a01b0316146103d45760405162461bcd60e51b815260040161025390610fe9565b6103de6000610871565b565b6001546001600160a01b031690565b600380546101af90611194565b6002600054141561041f5760405162461bcd60e51b815260040161025390611101565b60026000556001600160a01b03851661044a5760405162461bcd60e51b81526004016102539061104b565b6000821161046a5760405162461bcd60e51b815260040161025390610e72565b600080866001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016104999190610d3b565b60206040518083038186803b1580156104b157600080fd5b505afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190610cdb565b90506104f7873330876108c3565b6040516370a0823160e01b81526000906001600160a01b038916906370a0823190610526903090600401610d3b565b60206040518083038186803b15801561053e57600080fd5b505afa158015610552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105769190610cdb565b905061058281836109b3565b9250600083116105a45760405162461bcd60e51b815260040161025390610fa2565b7f45f377f845e1cc76ae2c08f990e15d58bcb732db46f92a4852b956580c3a162f8888338989896040516105dd96959493929190610d73565b60405180910390a150506001600055505050505050565b6105fc6107db565b6001600160a01b031661060d6103e0565b6001600160a01b0316146106335760405162461bcd60e51b815260040161025390610fe9565b6001600160a01b0382166106595760405162461bcd60e51b815260040161025390610f6b565b6001600160a01b03831661067f5760405162461bcd60e51b81526004016102539061101e565b6040516370a0823160e01b81526000906001600160a01b038516906370a08231906106ae903090600401610d3b565b60206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190610cdb565b9050818110156107205760405162461bcd60e51b815260040161025390610eb7565b61072b8484846109c6565b7f7bf0873174a9cc6b28e039b52e74903dd59d650205f32748e3c3dd6b9918ea87848360405161075c929190610dc6565b60405180910390a150505050565b6107726107db565b6001600160a01b03166107836103e0565b6001600160a01b0316146107a95760405162461bcd60e51b815260040161025390610fe9565b6001600160a01b0381166107cf5760405162461bcd60e51b815260040161025390610eee565b6107d881610871565b50565b3390565b604080516000808252602082019092526001600160a01b0384169083906040516108099190610d1f565b60006040518083038185875af1925050503d8060008114610846576040519150601f19603f3d011682016040523d82523d6000602084013e61084b565b606091505b505090508061086c5760405162461bcd60e51b81526004016102539061107a565b505050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080856001600160a01b03166323b872dd8686866040516024016108ea93929190610d4f565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516109239190610d1f565b6000604051808303816000865af19150503d8060008114610960576040519150601f19603f3d011682016040523d82523d6000602084013e610965565b606091505b509150915081801561098f57508051158061098f57508080602001905181019061098f9190610c51565b6109ab5760405162461bcd60e51b8152600401610253906110bd565b505050505050565b60006109bf8284611141565b9392505050565b600080846001600160a01b031663a9059cbb85856040516024016109eb929190610dc6565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051610a249190610d1f565b6000604051808303816000865af19150503d8060008114610a61576040519150601f19603f3d011682016040523d82523d6000602084013e610a66565b606091505b5091509150818015610a90575080511580610a90575080806020019051810190610a909190610c51565b610aac5760405162461bcd60e51b815260040161025390610e3b565b5050505050565b80356001600160a01b0381168114610aca57600080fd5b919050565b600082601f830112610adf578081fd5b813567ffffffffffffffff80821115610afa57610afa6111cf565b604051601f8301601f191681016020018281118282101715610b1e57610b1e6111cf565b604052828152848301602001861015610b35578384fd5b82602086016020830137918201602001929092529392505050565b600060208284031215610b61578081fd5b6109bf82610ab3565b600080600060608486031215610b7e578182fd5b610b8784610ab3565b9250610b9560208501610ab3565b9150604084013590509250925092565b600080600080600060a08688031215610bbc578081fd5b610bc586610ab3565b9450602086013567ffffffffffffffff80821115610be1578283fd5b610bed89838a01610acf565b95506040880135915080821115610c02578283fd5b50610c0f88828901610acf565b9598949750949560608101359550608001359392505050565b60008060408385031215610c3a578182fd5b610c4383610ab3565b946020939093013593505050565b600060208284031215610c62578081fd5b815180151581146109bf578182fd5b600080600060608486031215610c85578283fd5b833567ffffffffffffffff80821115610c9c578485fd5b610ca887838801610acf565b94506020860135915080821115610cbd578384fd5b50610cca86828701610acf565b925050604084013590509250925092565b600060208284031215610cec578081fd5b5051919050565b60008151808452610d0b816020860160208601611164565b601f01601f19169290920160200192915050565b60008251610d31818460208701611164565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060018060a01b03808916835260c06020840152610d9560c0840189610cf3565b81881660408501528381036060850152610daf8188610cf3565b608085019690965250505060a00152949350505050565b6001600160a01b03929092168252602082015260400190565b6000602082526109bf6020830184610cf3565b600060a08252610e0560a0830188610cf3565b6001600160a01b03871660208401528281036040840152610e268187610cf3565b60608401959095525050608001529392505050565b6020808252601f908201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604082015260600190565b60208082526025908201527f46524f4d5f544f4b454e5f414d4f554e545f4d5553545f42455f4d4f52455f54604082015264048414e5f360dc1b606082015260800190565b6020808252601e908201527f414d4f554e545f43414e4e545f4d4f52455f5448414e5f42414c414e43450000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601e908201527f4554485f414d4f554e545f4d5553545f42455f4d4f52455f5448414e5f300000604082015260600190565b6020808252601e908201527f44455354494e4154494f4e5f43414e4e545f42455f305f414444524553530000604082015260600190565b60208082526027908201527f4e4f5f46524f4d5f544f4b454e5f5452414e534645525f544f5f544849535f4360408201526613d395149050d560ca1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601390820152720544f4b454e5f4d5553545f4e4f545f42455f3606c1b604082015260600190565b602080825260159082015274046524f4d544f4b454e5f43414e545f545f42455f3605c1b604082015260600190565b60208082526023908201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960408201526213115160ea1b606082015260800190565b60208082526024908201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416040820152631253115160e21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b90815260200190565b60008282101561115f57634e487b7160e01b81526011600452602481fd5b500390565b60005b8381101561117f578181015183820152602001611167565b8381111561118e576000848401525b50505050565b6002810460018216806111a857607f821691505b602082108114156111c957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fdfea264697066735822122097aef730e38bcafe3a097fed3f6392140278fcd4cf93a5eab8a30bc8c33834fe64736f6c634300080000330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041010058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05820535746542053776170312e3100000000000000000000000000000000000000180058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054a377aa6822603cc52e4e9ed6eaa045c46ef6b3e2005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05820535377617000000000000000000000000000000000000000000000000000000a0219181405581d03252c983d17a51f568699304f712a1d4dee6d6564019ccdcf7ecb6a200f0149017afc3f60e690a6fd19121b05581d0399f5bc979eacab5cf704999b04ce2b889df387928275ca3d2be3eb700c01470341d4ccd97ed0021980100219600005581e0317f1a236ab3387f61ae2b164f413c43c614063a64a9d5ad0e90c4a4e20041205581e03b4f8a40d192bcde909985efc71d1063b4a950b7a60dbd7bce810ca3e5008470110d9316ec00005581e034995db84e8d0037539b6b3ad1a149c7c80288b9956197a357e4ff5d5600c06463fd50c439a8803e100bca76e1097fab1977f4c0799c268c9b6dfd794dbd6bdfd6602866119ef04031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e0348f71f9d7bf47dee91423391244fde4de8f04639d93f709f3b16fea7e007011bffffffffffffffff033e0376276ac78f9c4d5745a08198b7a9c3c4a9b56eff464b21c767b1e31a066303ea1b4d6fed3bd1b3888019f508b576a11fbd386a7a3d7528969aacaaf06532a60335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03afad49e222b0b4405256f6cc656df179451a8e54873c3a752c0e38cd4007011bffffffffffffffff05581e0386c9dfa9c960f56dd5731f181f7010511a01e159f3630f12320d747ac004020219d8dd03b0ce04667874c45a41fd6ecd32ce55877b5ef1fe41e27edc5ca6d26da8331eef0380d3ba9fff4045e54e63fd307c2c9872b0c59d2f2f1b486c98b7c3ec4974648403dd91aae0bf9ec93ea695287df3d24cddc63fb99c46b12e54e74930c5abc595f10219ffff0326bc71a16df6edb94d8fd82390b9f32d60d18d24880d7f9579b85afb435328e00397a688f3aeec05acf0a0363a302096c861b076336afa7fd8c092079b220764dd0393267793ead1c22fdafbf24564c8f93031a272d5fa35a84a3333d630f2918d610391ba93b886cd80894e282bd6b136fcbda616399f5af90d4e011e4a0fbff85e2d039f9d85cf1d8ded03fcd8aa0ab49d758cde477403f593663a5e112b97cc4ebf260395f04999e7d565e91dce20a2387b1ca9fe5162b794752a1a69f975a689226d7003f12ad1fb2d0dd6fdd0aba427417087cd6ecc0588b6c059dccd2a751b9d5766ac03f39a709621e8854e5c6668d7143067b6e54ab20588f6fc893739d9a314dd7a0503cfaa87a97b3151c8f19766286ec41931e5950d526edf202c5e7b7bb073cd5ce303f2635df29ce2a30238d5270cc1a381ed1439bc2afdbfc2979f6f3653258919b5038d0f0cca96f73f0d09a5030298b4cb5e6c3c858824c92da909bae6cfd94ecebf035737e58d4f0e78c26533ae8d038ec15560cdd8dc5a40a25e60fb6f3097aefe920342eb4a4cb09b007cf04278f14a16e6d65715e7575c4f4b581c9061a1bd7c6fb5034e0850be8a95fd1793e19e66a4ec27346046397614a7bef05ce6db80ffaa85a703c9fca57224de6607032e606d4d13944d64e1996dd6f30aca6557329c915d02380219ffff0397deea56bf3ecb1dbbb9ae8ed13a3022e28c4ef7024dcd27901c5127a4527a4303b91555b0778f84195fcb132a1cc21ba7f9ea0fbcdc027adc880bce5a8c9d5b4c030e6e281093ad608075e8d6f8afe383e04bf8cc4850e7ca680177323bc812197303702bd783abfb2b3b652059fc8a80a08269f5fd68d9e2d6392d380ded62594c0c03470ea0265fbd6f83c3e94fd5baa076cc3c4e3eaaf8f1a590018f41d91f1ed456030c6c608d67c27acf97f5eea0188e0741602b0e34e73c372078c9ca964793fc5e03ab01e1fbdb26f264180c02da667f8de96902627d14f3043522ec4b8601d16319037f88562c162e02ea446081a5d155dcda1bb3a12f96a03809336e76b998c1a1b4034d7c879390284e26b2c58cd668a730d30248766003699a35eaa34b2ee807d03c03208b02d8465a19e5abcf5fde1b6dd7dda05aab20b0b1e1cd97ede25c2203f72303377271a0bce1193cd0902a5597dc9738f10e884b3413876df3f2e752eef3988e032789ad5d84647c15a6dbd1305c29d82de63d93c40a317bc420099c78be0c3f140219ffff03f97d193527a44c895fe3cd016f607fa64cc6d3e81111c3c6170434f70fe4459203e347df50ddcb9a9ac687326dfbb9c35e04e2bc60476f6c29e96f688b5b4d5fca03b5ac985886cfff3774ec22669513a049caadde25491e41b27fc393aabf98f78703d6e38202ff2a665686b9c04259e680e42cef910a899dd61944fe150783f24a9703727dc1cecd80dd7152a04327614c6745f523d4be34e154db2333fc14623b7dc603cc9a8ef1fe52b29f6b62225a9b63d11232d3ed7a28351c9017f5e332093e79d2037cb0d8558e3b0f4bbcce185178812a3af278152aef57c766d1b95003909029db034fc751bb84511a2ddead63854203de18a6340506fc9f2cc70c3ccd82b27fdd4203af53a1ee99993b0fd02a0b0f7403996000ba497a917c17cb81456de307b6fd8903f6ac371c8c669855d97c50ff30c273f5c5935002aa4fca4b9f72b1f39b51a02103700c123f1667b3b7aac68b4f47c0f60a6db34a7a31776648d2a2f93116d7a52703fd619f8b855ddf1bfbc633f7e055309d10847454462067e95742f9db215e3ac60397464d22da498c58583a0631b6c3fe9fb1b77712276965b1dc4421224a00b86003f9b9c73505caea9f4b11bda86b890258536600b4858c4b4ed8f11a6ad8801e6c03cb754e0651cd203b87734ab2e565b4680eb55b566f06723b2fe4bb2ef14a521e03c3ce1790a1ccfee43f9695ae4281ee10c02be3b2145b2b4a4792244c5dc668d70320b064fd95fa225f264fd1597680dc5a504f9c86398a5c15280856c1487ade6a03232572358bd5ff508d82ef37e34349924ebc6e0feb6366dc97c56550dae4dbb503cc69cd16da223654b04929e9127f41a7c7a391e06a2ee6422d1c0e0c851b783903e54362e97c7e02988dc02ffd0344a387e7554077ddd8238ccef5c39510f325cb03ea6f620814d4972cdb0e1eb67737c3e1097b88419db68fa8ab11d362b58fd43a03f62030c3144d452c1bbf0a9c152c7b7a0ffbdebf25c327e4704e8c9455d44937032898c07910aa8d98b0561c9f89690ea7c2da80c43223a4533155f93005af35f503cb27cc3b8136f4c553eb22349c035d608534319cb0a1fb23951aad0190f1571103a327765568462d8da7034e627df842cff84dff0c8a2063d6d8b139690398226b037d3a5c9e45ab419dd7ab28bcefe79bc7e93caf0e4a35f3ba9776d6dd943fb02f03d584c1300916b991e5972c3e777b6d7c4ce72af234a11b664d923d47470b40fa032326d4e4f8e763ffdcc14f83a1dcb7dd3f43a81db5a0e516a27e082faf66770d03846ab6b76641428f771279f5f16e7ecfaa36f601934cd36d8cb9625aaadc4a44030a84e889aa46182073c61cf6ac86a9d47f54e6856540fbc5ecebedf1d4c0a6eb0344fc278a9452de425a993d15cc7e2b8fea7153b82c72543332c3c0425d84492003ece00b70e356db529761eeb9fc7fdd2f8ca3d649054b0013c01e9ee6dd8eea2c0384bf2c6be755d28833d6e12ff9490e0486eecc78672d00a5c757cf6f12170854032face8baae64fa9fc636cfd0ed9374d43c6591b92c3291c29dc5cb1f25a49dd2034f3b55d1592764e5b02fc4f11104acb029d698daf7fe55abc4f0a48be768b1ab03244b736c2ba1fbd7b0d0ddba80807c61087d1595fb5239f5c8c4c96a8a2e11b40346743d78fb884dcc5a340542775d72ea9b9cce9e8af01eb34d215ad2b8050d4203d0fed5720e68b82c960c4c3098686b867eb06e63c5b0eb7b67df4471bc8ecc67037dd8b01c5e27cc8d2427962af25ffd3e7dfdbad0576a9c01d71255476808819a05581e0381b4483e9245fdea160711cde02ea34c951496634b3b23c85adbfbb0d008470647d3f7653fd005581e03fd90673632f16a12bb24bb93596f9034e8b5b1885061141de1ce7a4f2008478b65ab5e4e601b05581e03cc3fb50c3b1c16e41363e4b93a122179e16371209547101670057adf30040405581e03df1faf9713732e09ff2c797812b99302e0cafda7da7601d2f725a17b20040205581e039289d2963ace653e58f6a0e5fc4aab6b92de1179a0bbe01ba76b3a8a1004010346d9776d1deb3161560c40058de70f66d0a16d91cfbfb96ee4f56a816302d2f701410f037054952a40865ef16e3218c6fc2c6109e333a8b21789ff6a4065230f06f16dc505581d0231c3317893aea6111f4ce011ee163e95eb86e6b3f05ee0e301f28bc3040303337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba038e46fce8fc1fd84c36de9d71a16c727e14792458dde60955665cb66592d49aed05581d020e742c45c24b9978c9804f064bfbe5fda82c0ed47078b008a0e672d807011bffffffffffffffff05581d025bb5b1a0a726498fa3c94f9bc5ff87f7fe629436a6a19fdbd7078e5c0c18b2474e6e244e0c9ac702190850021963db03bafe71bff4b283967ecdc27dd87220008f5562550d68efac21dc48944586892d03bfd313afb71b770f4c7c971bc6c151e84ef21f3dddfb1996c25c01b5f4d11e27038e8eb9b5f4b2310db9543bbfc322e5c4c0d55be12e8deb4c078353659d4edb6f03dc67679371edec93e0f737849153d2f884e3fbc4e9bc61cbe8737c032806f5e3030f8bf63944a9a5fd45e0bd15038b0ec424c914371bfde18aa1a9f8bd2cf7a18d03766db2d6e09f04350ce85754fc5d45417cf02ea8ed1b01e47c4c045192299d7903fb7238f6c6b66ba64e2d12dfec2294517b5f0203c3f91dc7afce0bd75dd336980334ca5811339dd52d97f8f51f1509d4f183b4f5c137efbc39318f3c4c3482f3fb03ca1192fc7cb4c582db9d05703c3a2d3d1568807609425ce7a25527b6339079aa032252c8131f605d72becc8fa372413ef15c6731ce7703835efe4fe6f8ce7148b50219ffff036df31a30089e84032e028f840bcfb006840cb1d825aa4878f803ced683aa07b40219ffff03e9c7dde2503b2de016adb4f9f66b51b84f88c93c446c8d88d7d14475cee31d6003b533f9947b72c60969603839cdd4f1a64bcdd5cceaa913f1f5d6292bc05ad4020219ffff03e4c125e5aaa5a89e18e067189bdf27dc8b849cba33bb0b64133e40ccbf3323f80219ffff034bbfc515d4dca4f28325c36ac71bd6211c425b1f849bf1da254917d26039b0df037a153c3a7718449af9da39cc9adb33b6c6fd5667525443dcf87db565a077ccb503a3c03b0e6f5c841e7f1eb2945ed98c25917080c01161d51ffb5eb6f010d0f0950399c287194b5548728851b52ae0490757969e5b2ffc679cde12ef96a98fce0f83033fed938bb9982eda78f95161c6fae53d07b6e12953f5148acd7289fd66dfad6203243c1f40c15246411b6629769c8caa8506597b63bb544c2d3d1df29bb7d376e403627e6bd7e0214d7d509c2a82a3de6e969e834bf24a59d30d548d0ee90516f66e03e02ca654c44449cc06cac1efebaf2a3d3c768dfb9e9d67e0b948e22f159aad44037524c3f0a7e767051a6505e3d889581347374a7a1dcf85c9e354fdbbf5cefd0f0392e0c7ed4c34bbae9b4effcb9611b9158ae460ad3b86592a122ebec2e8b5155b0316b0e1ed9ff6aa8c2312b796ae65cf93b1f68c9e9088891e10c6b2d7548afcb40306a63587605b5bc395ed2ac0ed0204812bd6bd0675667213100e66a41c57c68f0356ca2fccc293063b5bf912eb54c1238a69617a770c93344c9f356c80b2129d5803383baf0a372672a93a39389d24a72bd15ae52787c40e2da4c62b6a170999ab2b03000cce6a3eeee944791c011ea2986ce298ae6ab1095b1d5f9a09b91c8341f35803ca341d695f48e92ff85420a7cfd770694e3a8371f1d73c9d2503e6b6ca270bf503e68bd7ac5761326a541388f8e506fae765f9a82eef929a18600a88825abef71803aa972b92525ea22cb0271547c77bc13f4e306650633f52fa038ee0eb24ef58f103487e394f546889b74be94a8da06bd177f557c21a002e878ef9a1eda3785946e105581e03f22bb0768d827c38cccef1fdfcc58e3dc9885e4b61bd00a0bd0f6e4d000c184a47029d06ff3275fd03ad5e3074daac3809e72274f13741a2aaebf072178980b0c7a485ed3217c8b64b05581e0354a143f74e790c8a0d8a1e25c2e4d9b4995af6769d708c4f4f9f484010040105581e03a866ba16172784d68d78be6c10fb0d52ef5bf781f6da0a13605f5f24000c0146726e4932440005581e0383a57394309a20460539b24db8dcb700bb46c67b5a4926e1b361307b100c18384742f66371c4534105581e03cc5608b5646150505ef81bcf8acfa2670fe69a695e2d2e07615c46e2700c0246c1070c997f3005581e03c7a8250c2c4dcd5ef3337d89881aec86fa3ee080f87fdf7330cdb311600c014719e01f6d4ae80003c85ed0884ee7e6e66d8ae09eeb1dd0880a884739f80f51439ec3c62c624b7ab3035daa2e61a554edd6832f4ec058414a17109378313713fea8daa456c5e12a3f37021943cf03d0c5d3f00fcbe4b6d9b4a9c4bb0bcf15478200c3ebc34a67c141cd484eaad2aa03cedc5203198e77bc168fa963c0bee0ce1529969bd22f8c999a26aa432dc5a3d303fa74e9b9bdf7b01ef1af6c4abf58613161ae20ff5b21b7ae40e7401135266e2a0356817c522bd114be788f175d6f3282d6d0d5c71441170e8e678c195aed4f308e0303212358811ea13fa4cdfd1d9a49bc44a41a047a3fc821887f28f5115ce7c50103adea56acc27634b30c27aefaaac6bd6ec649f0f36fa200519b73d2bd8a20911803c163f0ffb926f2e47ac18ac8aa771421a33f4c22aece5ecb598bffc2f2193e91030e7f692fbbe9187cb3c55ef8929dd0da673d9d0f1c84f4ae3de338070d91f2370322172c647cd1cb142a1d7c0730a8537a22a1e43be4bbc5560d4f484137bbf1a80219ffff039b59c27341308e240a077efe091c980889b2ff0bfc09b5a462f059224d890c96037dba66057a7f8f9dcf780480e50bcfed37568539a455ce247385b67bc9645896036542f76f8017420550578eab665cd56a542d24429d2e2ac61bf5a19e3cf8abea034388ff167d4163ecda4942d06cd7586dcae853ad752676bca76999bdc904f1fb03070546b26f7df52c07c7f8d05f0d100ea30b121a30ad9ec81e9d4b52f4c9d12903fb2a1b38e58a51ffeacc1b7ffde2e9731de6dd4e04401da740e2cdca8a09b52903d48333991da2bf5fffb1ba55b601618b538f477a62f7f8747f59e1b007e53abc03dc8bbf975b68dd7832d3b50e631bf0d080088f4c650f82e9dd6ac2d8f343cd8d03aeed43c06f4725e071c5cb8d7b553e334e4e496c37d1ca864aa7ecf60146011a0376d9f8abb43a839b995de62c8eedc4e62883d69d231485ccfe4abc3cfece50b30219ffff03c1c2c06cf59e77f7a046c36d49e8d6f654477f7f2a23eb27a172cb10aaf6b0a503e3d9092190c2f4bda64a6ca47185b82f794521a6c29334f4f90715ff995f4f5b03cdcbb25aee1e1d590fe8fe52c3b3b28b7346147fcdc04e367c755a408884606b03bf159c1a3beb6b9090ae0d0dd230c0525eef1b79586c3237bd487b4facfa82fd0317b5479d786c8f7e15677093e5322be3a8cc2c609cbcec1a228307ed4cb9676303c9125dc73556d738c1bc3c68b85c660e4d984e02895f665281215db2327304db033847c6e9e17db10d13b33f60ab26e2c065d237a419f36e266ab217f5866e0917033185d8b11c05a12cb8200e1600ba76e8617865a39fb871f7549db11b78f840f203694f35df31129a8b7dd99a61a557afa367531dced30bc233a8815b719cd1e76a03f3396e4752b13781fdba3c495aaeccb098486bba2d9f5fb5821129237491e99603fad116b1749208bc719a8957ff00b7e8125b01a84991addd2737ecf257a1f1d20354ebea5059e6fb0c4eaeabcdd17b8b5e33ee8fb3d0063e1fa3ea5d04f8e4515d0219ffff030db734ab116b82e0af9ae709448a3020b44f0a9d731b3478f8a93840d6773c8003bf8c140957a33807071263443c1ede1fdd1091264ecee6fd98294504962b730b031c5b4982eb3d82f067c57e485404a4d51376350a73530020a662e15d4ba9453803214326b41310cbcd717b7b1d7ff00358f7ae995b0a839da594dc46168c44c84a03370fcf11a43516dea919e01b0080d8f2dc5dbf86ac55a92481547cc8adae24df03ad6e11309d7aba207a0c87de031bf00f3cdbe177fa64feb93ce87e81e73a117103e8ce75ac2feefe2ef27de8865fc8b2ab04bee60196c9486a52ed10c3dbef56620327dcf27bf542a259ad8a831833c68a26d3f49e3c4a86ed8ceb18119bd0bab50d03b722f03577b94d425c0aa09e652d1a8f366b7bb65e13c49ffe00ae54f8a1340603b70396eeb54752c8d2d1e5d53b5f48bf5517eee292b5a02f9801173b8635903003000c20563b19a71884c83b06f631b003d18a241128b7429df78bcf944aa72bbe038763346f81b2e1d17039263ea0b11f997d50ff2028ad72f03f858056f9322f05030d8ecda0a8cf9df1e1cd57e0e4c10bcdc16772f7bf0f91a634b4a95864b5c5c303613513c942881e7d289ec77d11687fbc61c49e563f8540be9e348764547ab2310397d6a0785852c51627df6d639273dfe67a57d61f424d9e4b3f6539743b3ceb63033aba3839440d2a4abca74c1c64b6c79581fbb54080f526f73ce531916acb289903e3ca4753b50010f8734b5ddf2c560388c6a71d516540a303557895dcc2e7ddeb035a2fe80b2bef690caf26f6580d158e7ab05abbfa31d2439d4629832d13dd37a60395216a85088c4078e52e718666d0644f88a6912abbc395401bb1a30ddd3176ab033b7c7462ce65ab8df5f6c231881f6134e93dbe6e32e0e460548d93adde002e2b0399d5f1959e878e17bbd9f47e28c532aab99bafd4987adba719ebba2ac1ef1104037905a1c8b0a6269bc5ada827a45480f544fe77baebd1d427d63fc590b4f49aea038323d239b1d73126de942f078ed89c63ba5bfb3bf680a7bb024ebbd17f910d82039b40f899468318247a6011997cc4baa557e88eee9163485a1590b080b5c7fa2103731a043975d632700cb690971119839626c7920106d1357d6737e7a730ac1435034016ed1c76d759ddcd6f7b05f348216ee62cb9be2a4b626fe5c827652bc2494b0385f0df30d55edd6b3b92f6db1421e2f7c6999b3ba5b724f5d4c91e35869115d803d568c66035dcac6ec81f0fe02aab663b5dffc3a30b9eaa1f257b2a1ca69775df03ac908b109ccd92860ac3ad936b345521ee76260aae90f53a33a3f506a0b4a3b2035a95b5dad61843d3676f5e575f4d95becd7eb23cbdf7e5f3a3f6337a3f3834ae0372b9c3d1cfd4e5bdf22ce22c2127e470f3391267515d1b80df63fccc231b549e05581e03c5b2322f5dd6c4c10aec8b39889be290daac413e9f85f310ba58c08d100404045919c9608060405234801561001057600080fd5b50600436106101735760003560e01c806365c4ce7a116100de578063a7a1ed7211610097578063be9a655511610071578063be9a655514610447578063bf353dbb1461044f578063dca44f6f14610475578063f29c29c41461047d57610173565b8063a7a1ed72146103e8578063a9c52a3914610404578063b0b8579b1461042857610173565b806365c4ce7a1461034857806365fae35e1461036e5780636c2552f91461039457806375f12b211461039c5780639c52a7f1146103ba578063a4dff0a2146103e057610173565b806346d4577d1161013057806346d4577d1461025c5780634ca29923146102cc5780634fce7a2a146102e657806357de26a41461030c57806359e02dd71461031457806365af79091461031c57610173565b806307da68f5146101785780630e5a6c701461018257806318178358146101a35780631b25b65f146101ab5780632e7dc6af1461021b5780633a1cde751461023f575b600080fd5b6101806104a3565b005b61018a61053e565b6040805192835290151560208301528051918290030190f35b6101806105ae565b610180600480360360208110156101c157600080fd5b8101906020810181356401000000008111156101dc57600080fd5b8201836020820111156101ee57600080fd5b8035906020019184602083028401116401000000008311171561021057600080fd5b50909250905061079f565b610223610924565b604080516001600160a01b039092168252519081900360200190f35b6101806004803603602081101561025557600080fd5b5035610948565b6101806004803603602081101561027257600080fd5b81019060208101813564010000000081111561028d57600080fd5b82018360208201111561029f57600080fd5b803590602001918460208302840111640100000000831117156102c157600080fd5b509092509050610a3e565b6102d4610b44565b60408051918252519081900360200190f35b6102d4600480360360208110156102fc57600080fd5b50356001600160a01b0316610b68565b6102d4610b7a565b61018a610c40565b6101806004803603604081101561033257600080fd5b50803590602001356001600160a01b0316610cb0565b6101806004803603602081101561035e57600080fd5b50356001600160a01b0316610e3f565b6101806004803603602081101561038457600080fd5b50356001600160a01b0316610ee4565b610223610f7b565b6103a4610f8a565b6040805160ff9092168252519081900360200190f35b610180600480360360208110156103d057600080fd5b50356001600160a01b0316610f93565b6102d4611029565b6103f0611076565b604080519115158252519081900360200190f35b61040c61108f565b604080516001600160e81b039092168252519081900360200190f35b6104306110a5565b6040805161ffff9092168252519081900360200190f35b6101806110b4565b6102d46004803603602081101561046557600080fd5b50356001600160a01b031661113b565b61022361114d565b6101806004803603602081101561049357600080fd5b50356001600160a01b031661115c565b336000908152602081905260409020546001146104f5576040805162461bcd60e51b815260206004820152601c602482015260008051602061192a833981519152604482015290519081900360640190fd5b6001805460006003819055600481905560ff19909116821762ffffff169091556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b9190a1565b33600090815260026020526040812054819060011461058e5760405162461bcd60e51b815260040180806020018281038252602681526020018061194a6026913960400191505060405180910390fd5b50506004546001600160801b0380821691600160801b9004166001149091565b600154600881901c61ffff169060ff81169060181c8115610616576040805162461bcd60e51b815260206004820152601860248201527f554e4956324c504f7261636c652f69732d73746f707065640000000000000000604482015290519081900360640190fd5b8042101561066b576040805162461bcd60e51b815260206004820152601860248201527f554e4956324c504f7261636c652f6e6f742d7061737365640000000000000000604482015290519081900360640190fd5b5050600061067761125d565b90506001600160801b0381166106d4576040805162461bcd60e51b815260206004820152601b60248201527f554e4956324c504f7261636c652f696e76616c69642d70726963650000000000604482015290519081900360640190fd5b6106dc6118ee565b50604080518082018252600480546001600160801b03808216808552600160801b80840483166020808801829052600380546fffffffffffffffffffffffffffffffff199081169095178616928402929092179091558751808901895289851680825260019183018290529390951683178416909117909455600888901b42890160181b01909255835185519116815291820152825191927f80a5d0081d7e9a7bdb15ef207c6e0772f0f56d24317693206c0e47408f2d0b7392918290030190a1005b336000908152602081905260409020546001146107f1576040805162461bcd60e51b815260206004820152601c602482015260008051602061192a833981519152604482015290519081900360640190fd5b60005b8181101561091f57600083838381811061080a57fe5b905060200201356001600160a01b03166001600160a01b03161415610876576040805162461bcd60e51b815260206004820152601b60248201527f554e4956324c504f7261636c652f6e6f2d636f6e74726163742d300000000000604482015290519081900360640190fd5b60016002600085858581811061088857fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020819055507f6ffc0fabf0709270e42087e84a3bfc36041d3b281266d04ae1962185092fb2448383838181106108e957fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a16001016107f4565b505050565b7f000000000000000000000000ae461ca67b15dc8dc81ce7615e0320da1a9ab8d581565b3360009081526020819052604090205460011461099a576040805162461bcd60e51b815260206004820152601c602482015260008051602061192a833981519152604482015290519081900360640190fd5b61ffff8111156109f1576040805162461bcd60e51b815260206004820152601960248201527f554e4956324c504f7261636c652f696e76616c69642d686f7000000000000000604482015290519081900360640190fd5b6001805462ffff00191661010061ffff8416021790556040805182815290517fd5cae49d972f01d170fb2d3409c5f318698639863c0403e59e4af06e0ce92817916020908290030190a150565b33600090815260208190526040902054600114610a90576040805162461bcd60e51b815260206004820152601c602482015260008051602061192a833981519152604482015290519081900360640190fd5b60005b8181101561091f57600060026000858585818110610aad57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020819055507f12fdafd291eb287a54e3416070923d22aa5072f5ee04c4fb8361615e7508a37c838383818110610b0e57fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101610a93565b7f554e49563244414955534443000000000000000000000000000000000000000081565b60026020526000908152604090205481565b33600090815260026020526040812054600114610bc85760405162461bcd60e51b815260040180806020018281038252602681526020018061194a6026913960400191505060405180910390fd5b600354600160801b90046001600160801b0316600114610c2f576040805162461bcd60e51b815260206004820152601e60248201527f554e4956324c504f7261636c652f6e6f2d63757272656e742d76616c75650000604482015290519081900360640190fd5b506003546001600160801b03165b90565b336000908152600260205260408120548190600114610c905760405162461bcd60e51b815260040180806020018281038252602681526020018061194a6026913960400191505060405180910390fd5b50506003546001600160801b0380821691600160801b9004166001149091565b33600090815260208190526040902054600114610d02576040805162461bcd60e51b815260206004820152601c602482015260008051602061192a833981519152604482015290519081900360640190fd5b6001600160a01b038116610d5d576040805162461bcd60e51b815260206004820152601b60248201527f554e4956324c504f7261636c652f6e6f2d636f6e74726163742d300000000000604482015290519081900360640190fd5b81610d8257600580546001600160a01b0319166001600160a01b038316179055610df8565b8160011415610dab57600680546001600160a01b0319166001600160a01b038316179055610df8565b6040805162461bcd60e51b815260206004820152601860248201527f554e4956324c504f7261636c652f696e76616c69642d69640000000000000000604482015290519081900360640190fd5b604080518381526001600160a01b038316602082015281517f57e1d18531e0ed6c4f60bf6039e5719aa115e43e43847525125856433a69f7a7929181900390910190a15050565b33600090815260208190526040902054600114610e91576040805162461bcd60e51b815260206004820152601c602482015260008051602061192a833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260026020908152604080832092909255815192835290517f12fdafd291eb287a54e3416070923d22aa5072f5ee04c4fb8361615e7508a37c9281900390910190a150565b33600090815260208190526040902054600114610f36576040805162461bcd60e51b815260206004820152601c602482015260008051602061192a833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b6005546001600160a01b031681565b60015460ff1681565b33600090815260208190526040902054600114610fe5576040805162461bcd60e51b815260206004820152601c602482015260008051602061192a833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b600154600090630100000090046001600160e81b031661104b57506000610c3d565b60015461107190630100000081046001600160e81b031690610100900461ffff166116dc565b905090565b600154630100000090046001600160e81b031642101590565b600154630100000090046001600160e81b031681565b600154610100900461ffff1681565b33600090815260208190526040902054600114611106576040805162461bcd60e51b815260206004820152601c602482015260008051602061192a833981519152604482015290519081900360640190fd5b6001805460ff191690556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b90600090a1565b60006020819052908152604090205481565b6006546001600160a01b031681565b336000908152602081905260409020546001146111ae576040805162461bcd60e51b815260206004820152601c602482015260008051602061192a833981519152604482015290519081900360640190fd5b6001600160a01b038116611209576040805162461bcd60e51b815260206004820152601b60248201527f554e4956324c504f7261636c652f6e6f2d636f6e74726163742d300000000000604482015290519081900360640190fd5b6001600160a01b03811660008181526002602090815260409182902060019055815192835290517f6ffc0fabf0709270e42087e84a3bfc36041d3b281266d04ae1962185092fb2449281900390910190a150565b60007f000000000000000000000000ae461ca67b15dc8dc81ce7615e0320da1a9ab8d56001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156112ba57600080fd5b505af11580156112ce573d6000803e3d6000fd5b505050506000807f000000000000000000000000ae461ca67b15dc8dc81ce7615e0320da1a9ab8d56001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561132e57600080fd5b505afa158015611342573d6000803e3d6000fd5b505050506040513d606081101561135857600080fd5b50805160209091015190925090506001600160701b0382161580159061138757506000816001600160701b0316115b6113d8576040805162461bcd60e51b815260206004820152601e60248201527f554e4956324c504f7261636c652f696e76616c69642d72657365727665730000604482015290519081900360640190fd5b600554604080516315f789a960e21b815290516000926001600160a01b0316916357de26a4916004808301926020929190829003018186803b15801561141d57600080fd5b505afa158015611431573d6000803e3d6000fd5b505050506040513d602081101561144757600080fd5b50519050806114875760405162461bcd60e51b81526004018080602001828103825260248152602001806119066024913960400191505060405180910390fd5b600654604080516315f789a960e21b815290516000926001600160a01b0316916357de26a4916004808301926020929190829003018186803b1580156114cc57600080fd5b505afa1580156114e0573d6000803e3d6000fd5b505050506040513d60208110156114f657600080fd5b50519050806115365760405162461bcd60e51b81526004018080602001828103825260248152602001806119706024913960400191505060405180910390fd5b60007f000000000000000000000000ae461ca67b15dc8dc81ce7615e0320da1a9ab8d56001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561159157600080fd5b505afa1580156115a5573d6000803e3d6000fd5b505050506040513d60208110156115bb57600080fd5b5051905060007f0000000000000000000000000000000000000000000000000de0b6b3a76400006115f5856001600160701b03891661173a565b816115fc57fe5b04905060007f00000000000000000000000000000000000000000000000000000000000f424061163585886001600160701b031661173a565b8161163c57fe5b04905060008361166e671bc16d674ec8000061166061165b878761173a565b6117a6565b6001600160801b031661173a565b8161167557fe5b049050600160801b81106116d0576040805162461bcd60e51b815260206004820152601c60248201527f554e4956324c504f7261636c652f71756f74652d6f766572666c6f7700000000604482015290519081900360640190fd5b98975050505050505050565b80820382811115611734576040805162461bcd60e51b815260206004820152601b60248201527f554e4956324c504f7261636c652f7375622d756e646572666c6f770000000000604482015290519081900360640190fd5b92915050565b60008115806117555750508082028282828161175257fe5b04145b611734576040805162461bcd60e51b815260206004820152601a60248201527f554e4956324c504f7261636c652f6d756c2d6f766572666c6f77000000000000604482015290519081900360640190fd5b6000816117b5575060006118e9565b816001600160801b82106117ce5760809190911c9060401b5b6801000000000000000082106117e95760409190911c9060201b5b64010000000082106118005760209190911c9060101b5b6201000082106118155760109190911c9060081b5b61010082106118295760089190911c9060041b5b6010821061183c5760049190911c9060021b5b600882106118485760011b5b600181858161185357fe5b048201901c9050600181858161186557fe5b048201901c9050600181858161187757fe5b048201901c9050600181858161188957fe5b048201901c9050600181858161189b57fe5b048201901c905060018185816118ad57fe5b048201901c905060018185816118bf57fe5b048201901c905060008185816118d157fe5b0490508082106118e157806118e3565b815b93505050505b919050565b60408051808201909152600080825260208201529056fe554e4956324c504f7261636c652f696e76616c69642d6f7261636c652d302d7072696365554e4956324c504f7261636c652f6e6f742d617574686f72697a656400000000554e4956324c504f7261636c652f636f6e74726163742d6e6f742d77686974656c6973746564554e4956324c504f7261636c652f696e76616c69642d6f7261636c652d312d7072696365a26469706673582212206c71ea5b4a3564b81590e23af73a03746aee6212e2106a64806d6047deb00c0b64736f6c634300060c00330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db005447c3dc029825da43be595e21fffd0b66ffcb7f6e005821036a801e2e567eaab935104846562c59619c92e2cdb33f484d111a8fb700d1d000410100582103904227dbef207cd177d7a4b5596badc0fedcb2a8247824c0d80e40af6deb667041010058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5101000000000001deaa5490fcb40067f3f20058200233463d1aa7c2e9c007a88d2fd7b923a882ef17e64aaacf6f54c9e757a34624410102190c00005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6476632d05f0e100000582002cdc00cd4f07216f95fdb32f2d7f5a50ef9fafb9a6070524ab206c83c8a0c93410102190802005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05101000000000001deaa5490fcb40067f3f203966c9c67924511634ef75b4269e2c05c2a41064085414717252e1ae305f1e98a00582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05477b68899b99b686f415d074278a9a16b336085a00219d94905581e0332bfc47edc389f6b91fd4b097eeae8e3cea9d1426a4f448de2a851efc007011919c905581e03c71181772b5611ea0b41cf37be3ed202dbe1e9c82fc30add85df19f1c00847071afd498d000003e0bd0c42c3f256f8814e2deefa11fab71cc3282542ec68140244ea1e0ecb5fad0375e19edba45eb2f1264eb815e2310e5a28529f1100bed326f24b6a430585ceef05581e03cdc77e4c7737a0532c8a00a5b0914842279bcb6e79712eb365508bf2e0040202195c0a03ccd084bb927cb9be321cb40daadbc21f5baf3dd1861c45334756633ec24921c80351f208fc6940ee6f4cc4696a245657ad08f48b4a7ee18c51c0916553d63656ac03f64160a1feb58e05e142f275165977375e07e6b1f3e1a53b244ddf10c97d16890219ffff03391eb93838ee5c4a493bc49070e66878b69f91657b5990896beb1a577f6f0ff903fb47da45b6c33765a028b3cb149bdf61255492e5189a318ccb77b620173a040603faa26d3557c293c87850aef6561d5d054cfb38d683c9d6484d12cdb5e11acd14036d7d07cc8f68aff9ca5e1b94e6bcebcbe7bfa6979cf7f4f13b4fd1352828dbc60395ba59b10dc7499375c8ef391c20ceaeb8e1ce521190bc0b32f0947d8c15b09103961210d8f26976df995d1825d75af2cc8288ac5b9d13d49fd4d4bff7a2b9cb9e0219ffff039d03990812539d4f4187de94fe5e0020bbe60c1dc0dc036c7a78e20f913423a903fb9cbd0c4c0a7940a71b494750c6e1459db35a96e27bc7e9fefe7ba3e50ef84f034f0866703757abd9d624c75019645a8f470ae7845378372f40b226881e1916820315d0f9aa7eb48ff5fc5bc3d8b1c6700fdb8e384332ca1b0b2a7eefd2a90a597503a2580eb8910a2e73d8abdcec96a68d6b101edbd30139a67bf51ddde013276f920219ffff034f0a6c715f6eea4f6ca77c0e0c70acec7fde29368608bedfb82f6f12b3b281180330ef25f2303587edd2a43e21b0750de429e13a107d0123cfe6f41a64bfd725c603bfafdf76318bb775d17937e640efc6587515101219d8149a3f9384960bd7d4b603a326e590795673b7ed06775b714a12b5299e47fe7a030105512daf86373e53920356c72c4a653a830fcd2eddae9b32d1d09e683456ca020fbd9d3a904ac0b8adb1031886fe2ae3cbb59be5b0c020f24fcdd1fe1fc65ef99c27a63a0fb179460be1950324891de8bcd2a8e99e9e99d4fb707e3f2e7628e20bcb4f9619087ded650f12e003bffdb3acb3e4a8757f193936325263654eecf493e231be000538c08843c0285903a16575afada8e9ae59216a82b729452d08363af2d94c427ebb4d24d8fb7469fa0219ffff0319e7f231473ac14b06c99416a9c6cc8c1a104e1a2457d99ed5e3bf75dca16cee0311d090439d57b212019bb47c93046688117bc04c216ad57d21b56ae8c23370e20339a8aca97ecf456c44a1ec1fec374e0b397de77b5d66dee46118a84dde414d3d03dc32c637e9e93e707938125e0e5a0710129e03634d1846f3d3030a3f58fda0a403e9d1fb8694fcfbf900b4b200362c959dc686761b3bebe20a0d52cad13875a9a703eef3a9c554bf708919d6049cad40b1ab7d8edd92418c2bd480ada56e1ee56153032baea161380a21e2ad7836442db7bbb29aedbf8295f5eacc289e52df2d76e2d70384f23caa85afc5d84f0b81cf1d4e461e21dce417cd48c526ff1cd175dcf84f7603d19f2f8ea3ee3f08c19242cff47c1e76982b15026c0146675be5145d62d401d60327470a2a3f57017461c8b40726a9d3ed1059a1c47b55dd2961536db6c1804ec503c704ed9c5ec48365c29997b2642be82219ff75782b96d9bcfdf3f749a4f11627032b75d1462f5f6cc8796076b4a9439a78912bba0c8dbb72e5c7bd5caae8ed7ff5034acdf82887779b852673021fefefbeb0bf51cc5110e0f534cbe9050ba70738d003dee7d56e84e08a42d940af8413066835a4e9cf2176d25ed2b3e7d5e04e3dda550391a8852ba0ad2cd59d3ac0176a978b380d6d141bd183b3e98287d9c2f9bfbea9033107096c1f32df568a19e09aceb12d2124409e566b71e8577ec1f3c3880c304003a399d23d9e422b183efbc290ba0b51bc8271af6701775b2989cd4b52af2bd4e4035ec99b12f51363e5027efbd6a19d00b98ced97849cfb29ecb4150dd2cc0231580314acc0b95338a1120ac41f838ac97e5573409a8314f7ff61be0d95d3bbac140a031e1297ded012243e360467573fca9b334ca8f278de9b6fdea1e03c9cdde9aaae032885792c32d5a305c5ece9fe2e1ac1f9be27e31d905c6b9dfb8e8825ce4d199c0303bd6e1bd5d508d8bae95ae71cf1cf753c416fd0d19091e64bd8722843abe08201410c032ae7235b618bf18ee6fcd170cf08f80b821c3897358c32df7a779059044510de05581c02aa00a10a298af113d64ac1c35393b5229131f48354c8424819de800c014501e6ab055805581c02ae0eae1e3571b046397ec608aa8838d52c5d62fb712965cd10e2ba0c185246b639a954d84802191400014200f605581e038d58a287a053852a31b0cfc578686335e4e26e1b394296d2b9f3856be0040105581e03dd34139adaa386fcd8aa5284898c63b1adfb5bdd67b511c8a432b91f80040203fcf9419c819e963220f8513196815c2b6195c24b9fe2baf527fbc3b50cb10a9903bf8e6e65b2d22e8091f632b6424b5448b869e8b7e1d53b6127826d2d76feeca90219046f03680db3288b3f7e4e2b0377d928a77a1370a6f12d4fc4c3b01f71d9426f685e5203203779c03e4fb32477c4599a2bf7cd42737fa78f383b9591f523cecaf0749e8f036111b3e45a08cb713dce562d1b3f38cf1bb77254162974744679d01ef5e8372f03e1c271e1620cf4f45f5611b988da2bd01a0240942812ad5bbc5fe7393e0870fc032660008bfd29608941028661acc2506288167ff223a57dcb4cf848216923da0a0333a76d0dbaf8fb6b0fded1b979e00a883d93ea5980f730910c95efd8dac16df6036fe7857c51d014536bf2416ed2cdae5c1deacd9ebbfb6dea6cca4485e67c57c30393a98c05062143a8be15fd4fb9e6abbde0f0e90af6f1473f5613e8357cf259de03bd8f248fa6257ff79b6d97d4016bb83a77812dc4b153f143e38caa3881250a060219ffff030aee400d08326f0df1c261436b783daadf63bcf886fff13914807be45a0801ca03eb932718a25f2a685f5b1c46ac6a58ee1772cffdaac27eb1bf7e362403879dec039d3bedbcb43fe38d06ad3dbd7c4e1c14d974bba78aa2e4429309bff919f36399037b22ddd28335f576c291b5dba91691109524ded6e2f322979a4c7b8f68a1b02003c4135c4d216c948f0bc9ab3c32b00dfdd27fd9c363016d48af99c036938d0c660384088f8b50ad80d93ce27a9e408c17caba01f5c4a5deb265ad1c28c643eb85800373a2693a1a213f172de5f0f915fc2f919a399761b7af1124ecd196b53236567603b534ab247c039abf6585056002ffb6bc2f65b8567f22f914292bdd0d764d54a103fb9ffcfa6b595ba7c3c8c19cdb0f0b8f5f87d3b84491bd44ed5a5e48beae077b0219ffff03a9aa52ae8c58645969891d71083bdfa2c7608d60fe62d7c9233199c56e0ee65c0398cb68cee75d3ffa854ebfbb852c598d88b965e10794f19b375e823687e6e6cb03ac4b9c08b6e43750dde48d67119e1c089bc88ef12116ea62891d90550810590303851ea863b66156a4b70922523c648b32c2d6bc645ad6a1574860018de03fda790311ceb0f849abf37c4b6f009e79457c821ce4d92291949a5e4c0cc1a071a62edb03d23cbf49a2142ec31c38c0b830535803708304975a71103b35168e0d8f36d9ff03901a38c8c0ef6ec8091baecf60472361c478a4ab4d12064a01fbc5206be37095039c1910b68d148d3f2c404d2add99b26fdd2afff1807fe91199cc9a58873d0a5a03f1b65c4e5ff96a8a97ab50e59c04dc25e0e3a6fc036d0c97891c89aa121597060219ffff035ed0f61e397295bec487e3a8a18e26fe57f720930e6c1207e2c198f506a623450301328e3651a86214664c7885cf033c65a9b85aaf3a2fa153988e83f776b5a630039d1a753680f9abf8f1a5447e6c8c0bd0a1aca3745efa9b5ec0e7ec240b83564503172b7ac9f4a75b9a9db6b6238d8f1ef1a8cbfe18082173a22444b7bb8bfd011703ccfb0abacf0d446861b0e07c16061c538e57077a62ece8e799bf5167a479032e030c02d5ca3cc04647c2581af4f2b721b2610728683ea17ba5a020a151997e5be403391025029eb962c51ad58d259a285a467b4cf42a158ac9b5d5929e76c8a74f0f032b09297af860040dcc4fdf0bd3e554c66ef8606743074d9c758ccc74480c38a5038d9dbee112ca3263e4b21b03a60be4f08da56631c753cc52c13e4ccb7a4cdebf032ec13adc61d4993ccf0ee447622539858a98bc924c192fc63c87b148147fa927034c5bd3644dbbf879b078c586d7c3002f644ecf0814a9362a56b603b631c824b103269d19ba8ea60bd2119bbac76a2d40c2849fe05e7b9882d7fc2c64c0b09383f503d833a9ae592b457e875aacc84118395c8c2cd2696ba0a55b3a4ab3a9f609deeb03fee2551219220ed9cf744840efb2b4e292e27e15409daaa03b39d541034e0fa903f352320183cd21e0853754929e0d48c0efe9c54565cc1a7927b91083ff6668140309fe256ee203c029ca821e70eb98a37d49cb48240b84314b0a91b9887180e61603d29e58bb84f27b2e0095dcb00ff36fb91523c024f59527462e3032db7df23db403384e7e746dfc1af22f4a75c733b0b83fa406d948562392dd1e54f644622375a1033d4905338055042f5e7f116359f65c62b6f576cf8887041bf1be3292eecdd8c603106024552ac94d5ab3ce08a52d8812f32ad06af0a5007e9900cf78762e7579a203db4a23aa223bdf2059af56cabf3923a502c99ce9e9ce8b36f16a633da0ca04c50307483eb1f3b800a888b5d76cbb768e3bcfbba40d54b8a13285000cd3f6148f1103e4151c38a3909795a91204c19ac4ade873e99cabeeb97904976936c43a40d6b10327a32d3810d1c8ce5002feb44112deb2b224b35d227289ee7e168f9bb6e33a96033e9dc23bbaeae2e3f6bd93d96400be9393974dcad05fe96e01806e37410917a10322d16a4fc05096ec81c9f24679f04de8297e063321605185bec902f0a62bba0703680199285d5ac8b3db13fd069b567ab6e44d0b7bd371b282e2d04c5795c5a17403dd0e5f5e7ae80ff6f999b0539cb5fadd60e2886a010307b1b5466e6ed2c28b5a032c0450559bc6025d3257b08af464c274cec55f23df23c74e1f8f64ef8ef991fb03686e783c3d5b533f838e33db88756c3b13cf41e6d29cbff41636126fb4b4d13103c0bedd548394e55ec47aae7958668dc4b4da20326111f57ec47e1c0f57b6109703a5188f393fc4b44699b8b2fa8d1f95d3157572063d94071545a070f4e190dd3a0320e298d05baa52ad6becc4e8519977433f1da3bb7d2973caa27a710b25067c2d0352b7ac70e8b68a9efb63129af92e145508b0cd3190f46080d398fc18e7bc2c4e05581e03c06c2c22064310ebdb0426c556870c7601fd34b632b25e2d760ac502c00c01471d4df7d9a6828005581e03877fbe2861a2790c2cd798479c9316e375ad89103ee67e57e8e10c2b500401032e8431a02e2f7b972dd8b8108d776fc0cd972083b5fb0378dc48df6b138a5b7b05581e03084de39932db2621dd0d28f870f95191f3f1cf1995aa7caf0435e79e6004030459271c608060405234801561001057600080fd5b506004361061025d5760003560e01c80637ad8ed1e11610146578063a9059cbb116100c3578063c3743cff11610087578063c3743cff146104dd578063ccc19752146104e5578063dd62ed3e146104ed578063dee80c0f14610500578063f1376a9814610508578063f19605d61461051b5761025d565b8063a9059cbb14610494578063b85e5b74146104a7578063b8d95d7e146104af578063baa98fbd146104c2578063c0d795de146104ca5761025d565b806390e4ed591161010a57806390e4ed591461044657806395d89b411461044e578063a0e67e2b14610456578063a457c2d71461045e578063a4b7f5ce146104715761025d565b80637ad8ed1e146103fd5780638456cb591461041057806384be5ea91461041857806385a1a60b1461042b57806388d695b2146104335761025d565b806326eb2735116101df5780633a008949116101a35780633a0089491461039f5780635c975abb146103a75780635e7d907f146103af578063654079ba146103c45780636cc8bcff146103d757806370a08231146103ea5761025d565b806326eb27351461033c57806327a099d81461034f5780632e33e1e314610364578063313ce56714610377578063395093511461038c5761025d565b806312c290cb1161022657806312c290cb146102e857806312c44515146102fb57806318160ddd1461030e578063203365661461031657806323b872dd146103295761025d565b80623f07fa14610262578063037af12c14610277578063053a04f1146102a057806306fdde03146102c0578063095ea7b3146102d5575b600080fd5b610275610270366004611da1565b610523565b005b61028a610285366004611da1565b610555565b60405161029791906125bb565b60405180910390f35b6102b36102ae366004611f20565b610574565b6040516102979190611fb3565b6102c8610589565b604051610297919061200a565b6102b36102e3366004611e35565b61061b565b6102756102f6366004611da1565b610639565b610275610309366004611da1565b6106ac565b61028a6106ee565b610275610324366004611dbd565b6106f4565b6102b3610337366004611df5565b61079a565b61027561034a366004611da1565b610831565b6103576108cd565b6040516102979190611f66565b610275610372366004611da1565b610999565b61037f610a0c565b60405161029791906125c4565b6102b361039a366004611e35565b610a11565b61028a610a60565b6102b3610a66565b6103b7610a6f565b6040516102979190611f38565b6102b36103d2366004611e35565b610a7e565b6102756103e5366004611f20565b610a9e565b61028a6103f8366004611da1565b610aff565b61027561040b366004611da1565b610b1a565b610275610b5c565b610275610426366004611dbd565b610b9b565b61037f610c3d565b6102b3610441366004611e60565b610c4e565b6103b7610cd0565b6102c8610cdf565b610357610cee565b6102b361046c366004611e35565b610db3565b61048461047f366004611f20565b610e24565b6040516102979493929190611fbe565b6102b36104a2366004611e35565b610e5f565b61037f610e73565b6102756104bd366004611da1565b610e7f565b610275610ee8565b6102b36104d8366004611f20565b610f2a565b61028a610fbd565b61028a610fc3565b61028a6104fb366004611dbd565b610fc9565b6103b7610ff4565b6102b3610516366004611f20565b611003565b61028a61109c565b6001600160a01b0381166105525760405162461bcd60e51b815260040161054990612482565b60405180910390fd5b50565b6001600160a01b0381166000908152600a60205260409020545b919050565b6000908152600b602052604090205460ff1690565b6060600f80546105989061264f565b80601f01602080910402602001604051908101604052809291908181526020018280546105c49061264f565b80156106115780601f106105e657610100808354040283529160200191610611565b820191906000526020600020905b8154815290600101906020018083116105f457829003601f168201915b5050505050905090565b600061062f6106286110c3565b84846110c7565b5060015b92915050565b61064233610523565b61064d60003361117b565b151560011461066e5760405162461bcd60e51b815260040161054990612407565b61067781610523565b61068260038261117b565b1561069f5760405162461bcd60e51b8152600401610549906122cf565b6105526004600083611190565b6106b533610523565b6106c060003361117b565b15156001146106e15760405162461bcd60e51b815260040161054990612407565b6105526007600083611190565b600e5490565b6106fd33610523565b61070860003361117b565b15156001146107295760405162461bcd60e51b815260040161054990612407565b61073282610523565b61073b81610523565b61074660038361117b565b6107625760405162461bcd60e51b8152600401610549906121ad565b61076d60038261117b565b1561078a5760405162461bcd60e51b8152600401610549906122cf565b61079660068383611190565b5050565b60006107a7848484611285565b6001600160a01b0384166000908152600d60205260408120816107c86110c3565b6001600160a01b03166001600160a01b031681526020019081526020016000205490508281101561080b5760405162461bcd60e51b815260040161054990612336565b610826856108176110c3565b6108218685612638565b6110c7565b506001949350505050565b61083a33610523565b61084560003361117b565b15156001146108665760405162461bcd60e51b815260040161054990612407565b61086f81610523565b6001610879610e73565b60ff16116108995760405162461bcd60e51b815260040161054990612134565b6108a460008261117b565b6108c05760405162461bcd60e51b815260040161054990612306565b6105526002826000611190565b606060006108db60036113ad565b905060008167ffffffffffffffff81111561090657634e487b7160e01b600052604160045260246000fd5b60405190808252806020026020018201604052801561092f578160200160208202803683370190505b50905060005b82811015610992576109486003826113b8565b82828151811061096857634e487b7160e01b600052603260045260246000fd5b6001600160a01b03909216602092830291909101909101528061098a8161268a565b915050610935565b5091505090565b6109a233610523565b6109ad60003361117b565b15156001146109ce5760405162461bcd60e51b815260040161054990612407565b6109d781610523565b6109e260008261117b565b156109ff5760405162461bcd60e51b81526004016105499061222a565b6105526001600083611190565b601290565b600061062f610a1e6110c3565b8484600d6000610a2c6110c3565b6001600160a01b03908116825260208083019390935260409182016000908120918b16815292529020546108219190612620565b60095490565b60025460ff1690565b6006546001600160a01b031690565b600860209081526000928352604080842090915290825290205460ff1681565b6000818152600b60205260409020546201000090046001600160a01b0316151580610ae257506000818152600b60205260409020600101546001600160a01b031615155b156105525760405162461bcd60e51b81526004016105499061253f565b6001600160a01b03166000908152600c602052604090205490565b610b2333610523565b610b2e60003361117b565b1515600114610b4f5760405162461bcd60e51b815260040161054990612407565b6105526008600083611190565b610b6533610523565b610b7060003361117b565b1515600114610b915760405162461bcd60e51b815260040161054990612407565b610b996113c4565b565b610ba433610523565b610baf60003361117b565b1515600114610bd05760405162461bcd60e51b815260040161054990612407565b610bd982610523565b610be281610523565b610bed60008361117b565b610c095760405162461bcd60e51b815260040161054990612261565b610c1460008261117b565b15610c315760405162461bcd60e51b81526004016105499061222a565b61079660038383611190565b6000610c4960036113ad565b905090565b6000805b8251811015610cc657610cb3848281518110610c7e57634e487b7160e01b600052603260045260246000fd5b6020026020010151848381518110610ca657634e487b7160e01b600052603260045260246000fd5b6020026020010151610e5f565b5080610cbe8161268a565b915050610c52565b5060019392505050565b6005546001600160a01b031681565b6060601080546105989061264f565b60606000610cfc60006113ad565b905060008167ffffffffffffffff811115610d2757634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610d50578160200160208202803683370190505b50905060005b8281101561099257610d696000826113b8565b828281518110610d8957634e487b7160e01b600052603260045260246000fd5b6001600160a01b039092166020928302919091019091015280610dab8161268a565b915050610d56565b600080600d6000610dc26110c3565b6001600160a01b0390811682526020808301939093526040918201600090812091881681529252902054905082811015610e0e5760405162461bcd60e51b815260040161054990612576565b610cc6610e196110c3565b856108218685612638565b600b602052600090815260409020805460019091015460ff808316926101008104909116916001600160a01b03620100009092048216911684565b600061062f610e6c6110c3565b8484611285565b6000610c4960006113ad565b610e8833610523565b610e9360003361117b565b1515600114610eb45760405162461bcd60e51b815260040161054990612407565b610ebf60038261117b565b610edb5760405162461bcd60e51b8152600401610549906124ab565b6105526005826000611190565b610ef133610523565b610efc60003361117b565b1515600114610f1d5760405162461bcd60e51b815260040161054990612407565b610b99600a600180611190565b60008080610f37816113ad565b905060005b81811015610fa75760086000610f536000846113b8565b6001600160a01b031681526020808201929092526040908101600090812088825290925290205460ff16151560011415610f955782610f918161268a565b9350505b80610f9f8161268a565b915050610f3c565b50506006546001600160a01b0316111592915050565b60075490565b60095481565b6001600160a01b039182166000908152600d6020908152604080832093909416825291909152205490565b6006546001600160a01b031681565b600061100e33610523565b61101960003361117b565b151560011461103a5760405162461bcd60e51b815260040161054990612407565b3360009081526008602090815260408083208584529091529020805460ff1916600117905561106882610574565b156110755750600161056f565b61107e82610f2a565b156110945761108c8261142e565b50600161056f565b506000919050565b60075481565b60006110b7836001600160a01b038416611820565b9392505050565b505050565b3390565b6001600160a01b0383166110ed5760405162461bcd60e51b8152600401610549906123c3565b6001600160a01b0382166111135760405162461bcd60e51b81526004016105499061216b565b6001600160a01b038084166000818152600d602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061116e9085906125bb565b60405180910390a3505050565b60006110b7836001600160a01b03841661186a565b6009805490819060006111a28361268a565b91905055506111b081610a9e565b6000818152600b602081905260409091208054869261ff0019909116906101009084908111156111f057634e487b7160e01b600052602160045260246000fd5b02179055506000818152600b60209081526040808320805462010000600160b01b031916620100006001600160a01b0389811691909102919091178255600191820180546001600160a01b03191688831617905533808652600885528386208787528552838620805460ff1916841790558552600a9093529220839055600654161161127f5761127f8161142e565b50505050565b6001600160a01b0383166112ab5760405162461bcd60e51b81526004016105499061237e565b6001600160a01b0382166112d15760405162461bcd60e51b81526004016105499061209f565b6112dc838383611882565b6001600160a01b0383166000908152600c6020526040902054818110156113155760405162461bcd60e51b8152600401610549906121e4565b61131f8282612638565b6001600160a01b038086166000908152600c60205260408082209390935590851681529081208054849290611355908490612620565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161139f91906125bb565b60405180910390a350505050565b6000610633826118b2565b60006110b783836118b6565b60025460ff16156113e75760405162461bcd60e51b81526004016105499061244b565b6002805460ff191660011790556040517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890611424903390611f38565b60405180910390a1565b60016000828152600b6020819052604090912054610100900460ff169081111561146857634e487b7160e01b600052602160045260246000fd5b1415611497576000818152600b6020526040902060010154611492906001600160a01b031661190f565b611805565b60026000828152600b6020819052604090912054610100900460ff16908111156114d157634e487b7160e01b600052602160045260246000fd5b14156114fe576000818152600b6020526040902054611492906201000090046001600160a01b0316611955565b60036000828152600b6020819052604090912054610100900460ff169081111561153857634e487b7160e01b600052602160045260246000fd5b1415611570576000818152600b602052604090208054600190910154611492916001600160a01b0362010000909104811691166119c9565b60046000828152600b6020819052604090912054610100900460ff16908111156115aa57634e487b7160e01b600052602160045260246000fd5b14156115d4576000818152600b6020526040902060010154611492906001600160a01b0316611a1e565b60056000828152600b6020819052604090912054610100900460ff169081111561160e57634e487b7160e01b600052602160045260246000fd5b141561163b576000818152600b6020526040902054611492906201000090046001600160a01b0316611a59565b60066000828152600b6020819052604090912054610100900460ff169081111561167557634e487b7160e01b600052602160045260246000fd5b14156116ad576000818152600b602052604090208054600190910154611492916001600160a01b036201000090910481169116611a94565b60086000828152600b6020819052604090912054610100900460ff16908111156116e757634e487b7160e01b600052602160045260246000fd5b1415611711576000818152600b6020526040902060010154611492906001600160a01b0316611ae4565b60076000828152600b6020819052604090912054610100900460ff169081111561174b57634e487b7160e01b600052602160045260246000fd5b1415611775576000818152600b6020526040902060010154611492906001600160a01b0316611b20565b60096000828152600b6020819052604090912054610100900460ff16908111156117af57634e487b7160e01b600052602160045260246000fd5b14156117bd576114926113c4565b600a6000828152600b6020819052604090912054610100900460ff16908111156117f757634e487b7160e01b600052602160045260246000fd5b141561180557611805611bac565b6000908152600b60205260409020805460ff19166001179055565b600061182c838361186a565b61186257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610633565b506000610633565b60009081526001919091016020526040902054151590565b61188d8383836110be565b611895610a66565b156110be5760405162461bcd60e51b8152600401610549906124e2565b5490565b815460009082106118d95760405162461bcd60e51b81526004016105499061205d565b8260000182815481106118fc57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b61191a6000826110a2565b507ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d8160405161194a9190611f38565b60405180910390a150565b611960600082611c08565b507f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90816040516119909190611f38565b60405180910390a160006119a2610e73565b60065490915060ff82166001600160a01b039091161115610796576107968160ff16611b20565b6119d4600083611c08565b506119e06000826110a2565b507f1b82188083c6040dda91df3d142280a20fa00e5a433eb921fdbf2e4ad1db45e58282604051611a12929190611f4c565b60405180910390a15050565b611a296003826110a2565b507fe96a56aa17dd8ae64ac3a51347e8e8a03d52f1cb2acdf8ed49b20d55662ebecc8160405161194a9190611f38565b611a64600382611c08565b507f108286147377add4f5f7bcdd7b6104dc6bdac3443e499142a612d418aa0be1548160405161194a9190611f38565b7f409833df5b08419a3bd86d34683f91767845e813a29d30d8a4338fba95158d8a8282604051611ac5929190611f4c565b60405180910390a1611ad8600383611c08565b506110be6003826110a2565b7f5ba74490711ccc5e81b24b40b8c5d2bd282981e4bc080dd8789bb10c1dfc2ea981604051611b1391906125bb565b60405180910390a1600755565b611b28610e73565b60ff16816001600160a01b03161115611b535760405162461bcd60e51b8152600401610549906120e2565b7f52ca658c4a059b2955bf70b065638aaa67f124556851d788a113d7c213f9ac9881604051611b829190611f38565b60405180910390a1600680546001600160a01b0319166001600160a01b0392909216919091179055565b60025460ff16611bce5760405162461bcd60e51b815260040161054990612298565b6002805460ff191690556040517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90611424903390611f38565b60006110b7836001600160a01b03841660008181526001830160205260408120548015611d2b576000611c3c600183612638565b8554909150600090611c5090600190612638565b90506000866000018281548110611c7757634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905080876000018481548110611ca857634e487b7160e01b600052603260045260246000fd5b600091825260209091200155611cbf836001612620565b60008281526001890160205260409020558654879080611cef57634e487b7160e01b600052603160045260246000fd5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610633565b6000915050610633565b600082601f830112611d45578081fd5b81356020611d5a611d55836125fc565b6125d2565b8281528181019085830183850287018401881015611d76578586fd5b855b85811015611d9457813584529284019290840190600101611d78565b5090979650505050505050565b600060208284031215611db2578081fd5b81356110b7816126d1565b60008060408385031215611dcf578081fd5b8235611dda816126d1565b91506020830135611dea816126d1565b809150509250929050565b600080600060608486031215611e09578081fd5b8335611e14816126d1565b92506020840135611e24816126d1565b929592945050506040919091013590565b60008060408385031215611e47578182fd5b8235611e52816126d1565b946020939093013593505050565b60008060408385031215611e72578182fd5b823567ffffffffffffffff80821115611e89578384fd5b818501915085601f830112611e9c578384fd5b81356020611eac611d55836125fc565b82815281810190858301838502870184018b1015611ec8578889fd5b8896505b84871015611ef3578035611edf816126d1565b835260019690960195918301918301611ecc565b5096505086013592505080821115611f09578283fd5b50611f1685828601611d35565b9150509250929050565b600060208284031215611f31578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015611fa75783516001600160a01b031683529284019291840191600101611f82565b50909695505050505050565b901515815260200190565b841515815260808101600c8510611fe557634e487b7160e01b600052602160045260246000fd5b60208201949094526001600160a01b0392831660408201529116606090910152919050565b6000602080835283518082850152825b818110156120365785810183015185820160400152820161201a565b818111156120475783604083870101525b50601f01601f1916929092016040019392505050565b60208082526022908201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e604082015261647360f01b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526032908201527f556e61626c6520746f20736574207468726573686f6c642061626f766520746860408201527165206e756d626572206f66206f776e65727360701b606082015260800190565b60208082526018908201527f4d75737420616c77617973206265206f6e65206f776e65720000000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601f908201527f6f6c644f70657261746f72206973206e6f7420616e204f70657261746f722e00604082015260600190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526018908201527f6e65774f776e657220616c7265616479206578697374732e0000000000000000604082015260600190565b60208082526019908201527f6f6c644f776e6572206973206e6f7420616e206f776e65722e00000000000000604082015260600190565b6020808252601c908201527f536d61727420436f6e7472616374206973206e6f742070617573656400000000604082015260600190565b6020808252601b908201527f6e65774f70657261746f7220616c7265616479206578697374732e0000000000604082015260600190565b60208082526016908201527537bbb732b91034b9903737ba1030b71037bbb732b91760511b604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526024908201527f4f6e6c7920616e206f776e65722063616e2072756e20746869732066756e637460408201526334b7b71760e11b606082015260800190565b60208082526018908201527f536d61727420436f6e7472616374206973207061757365640000000000000000604082015260600190565b6020808252600f908201526e496e7661696c64204164647265737360881b604082015260600190565b6020808252601c908201527f6f70657261746f72206973206e6f7420616e204f70657261746f722e00000000604082015260600190565b60208082526037908201527f43616e6e6f7420636f6d706c65746520746f6b656e207472616e73666572207760408201527f68696c6520436f6e747261637420697320506175736564000000000000000000606082015260800190565b6020808252601d908201527f5265736f6c7574696f6e20697320616c726561647920696e207573652e000000604082015260600190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff811182821017156125f4576125f46126bb565b604052919050565b600067ffffffffffffffff821115612616576126166126bb565b5060209081020190565b60008219821115612633576126336126a5565b500190565b60008282101561264a5761264a6126a5565b500390565b60028104600182168061266357607f821691505b6020821081141561268457634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561269e5761269e6126a5565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461055257600080fdfea264697066735822122020f35fd5fde27c8601d5cc74fdfb18d78ca5df70c12ae5217331d9dad11207bf64736f6c6343000800003303dc5a8e84ba1d43db840b8495003630f7c5d7fcf96114e634262f02576621ab6d03c58f7a139cee6a2fa65b1dde1b71f9a53876cf0a281626d32628088c4426b9fd03844d2f2659f2537f915cc9dedc37c0a499f4e17c004daac61176edf2f5068cfb03c50c3f64e248135c3c1e5d7348b84ffbe4b7cff28b136b6e7f19f77f133754e2034aa77b6109bb02969c378ae1f21891d32bd89fa8453b260d0f6e1b458ca3fb1803b3bc5252c6064b864b9df87928ed54317be8f6a035651a16f63a590ae519688f03dd827dfb7dbda1c62a33fbc45510693ba0dd20d21bc5097f4ace89e795b1e819031ce05a7655199e0fd3ad50ddb5cb1556770a0632fc7cf90a3bd21c592c2720e30349674f7a90ef777e1578619cc5b281389ca075473a45978ac9ad77f1e319884500581f022209c73fbdc6e786f21477ff7208cc8a3400809286b6f5142ce64f4d6c8c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02d91e9bf5b7109bfc2e4a5f6e5af031a3e2f4a03d7d60d100fee8718a62cc4904ecdcdc332fb2cc4000581f02ae413e58acd1affca8bfd0d365c498798f1cfdbdc803d9d42bdc8c4032275820fffffffffffffffffffffffffffffffffffffffffffffffc10fa74353182556c00581f023970fb66f8ba6fa90dda6bd818f8993a25bef89e91d65a5ce24b30f96c165820fffffffffffffffffffffffffffffffffffffffffffffe9a3699b84c75dfffff0219252000582003f0be685b60e53325288304550105381fbb35a85a47214fdb8bc5bc6341f5305820ffffffffffffffffffffffffffffffffffffffffffffffd104102d5420575e2d00582003c77b77ce7015e2bfaf89a173b0c8f36593469efb574149b54ef20ca80a3360490237d4c9f7e4ff939a03c59dc298b285dc2f29482c984852da5b2812c73e6d378d32720fea9e2846fefa0058200327c6b98c74e796511afece0f38bf8cae68e9222677971c272f74c71c84e180490ddd132074c811568e03a5207b0d9185addad85d465c54336ef4b0765721444af7e7a957e10fa70d3e200351c3d3c6d038a09f5b0ebb580fe14e585249d3e622c33aa0327abddc1e977c42036bc446f1d4acbaa61e6cce54fb5eba0abecce2092798f108b50952417802496300582003b9c969516a50cf6e5dfa17e46720e3c7116fbbc079d8d74a008d17fa84e7204907e6073de24ad094db039a934a30e19048515a5db7fca194d2d8c2d4ca4d585e2fd410cce824b418140a03ddb37897ef36eb2edc199f475089fc9c091691ac9f1dc8bd78568ce44c9bbe0a0382cfeb0dfdbc6f6b0ef93621036deeba0d5a34ece5a4d525fbaf148de03d8d9a00582003f97064b0f68222d45b3dac49efc4d38db68db57b97ceb971dd499857d50c505820fffffffffffffffffffffffffffffffffffffffffffffff8ad4fee3a205228a70219bff703bb280e65917e468e33f36aadd8d92949f9cfa5a6a26570c75e66ace012a40f5f033fe03a718afd387d5c1a0454e6c80a4d8fcda6d456c67a51801c186c917a8ff903ea4a313c64b36eebdefabfba82229d63c81fd65c3befc7cd0d4853d904b582d103f8a3543c916582aa752a8fa1f7b8fac185b427a32628963081ddd9e791d12087030a2f987f91ebc734faf5eafd82cf9f6580687de4674d513f99e02ee3ce6d5a8f0386ddec2f7ebed7828c58f9df41e800970466cbf6384c870120f271670d14005a039663f02c66dcf1a839b97b5dd90ec026919c29e964ec2cc7795101dc70a2fa64036787b80cfcf2079260f39e5da3102f46b935ecd49bc8b43562125601b242653a0219ffff0356147a317c2a2abda518ca2707cfb6a7c40012b34180d8336c4dd098a21c73ad03ffff9cb89e5e390590e874059bfb3d11f6b3f8aab1c9d46a2a11455f0c328c4803d7eecdc68bf667b3bf3e58845eaf1f57113bc4509c4505e9ee96e92220e9f98a03050da7999be2cb31a2b4c050efd41437ff9a6b4d6d0ad7af022f0d592b0acae700582003d2b946a6be6eac8abecd2e560da2ffaad5d4a4bc0fcd0bb8a752ed2cd7a9c05820ffffffffffffffffffffffffffffffffffffffffffffffe0056e19e8d8b9c3510058200359492caf013eb33474c61f51ca0577618f77d4d0ab8042b3964f1c7644be005820fffffffffffffffffffffffffffffffffffffffffffffffc4a1ed0be3a15298f0351f4b927d0159ab561ec5ec85308dd3247a38f3a8f54db7abf07ce3053f9653203698d9b25684a6a093adffa6cc68af4e262d31c9ac894fa9ef456261107aa416e038d5ddeec0091d1c5647a8595baf8888312c28002157f3343c2612f80496bea8c0058200328ed2dfedc3d7e706157b5431a2034bbdd1abddf1fcf36970e7b22a3721f204925a936e0df7d04d91000581f029d577feb19046cd9f9db058dc46d8e11c3d59e62b90581758a874b41086e480473f21bee3a352a00581f028add9379770158a75268bfe313a6bcaaa2633521ef272c4073852c7a98345820fffffffffffffffffffffffffffffffffffffffffffdc5dc3378a02e803def0900581f022ba06ca571ba909b8d08f26880638a59e7977b25cb1e5232d4f1e2c80bcb5820ffffffffffffffffffffffffffffffffffffffffffffffee159fec64ca0a5f6b0219200a033184d7a98f4193bd34bb9b98e71b900c6d81049ecf68da0f5f2987d4543762d103588ed76954f62b077818342ec36e90831ecf4673d3a1e593b48b821d885ae41503b77d60778dbd36e08f21915acb0595b173c8d61c3a390f270efa8e1be578d020034caf31f9fc7d75e270920b7555c0284236fa74274de7110e0b664c35428acb470300a18c6d3e7be20be66dab0ccae5fe9a8e01291ff1518228085c9454d9a9dad403d476a70c544b3e91faada4478a2711573e7ad063a9ba5b1a2dbc3044d4c17f3f0219feff03b316ae77e841d22732ff6527f8dc517bf140511c564d3caa66e26699602e201503426ab02a1625f0dd7ba71cfdee648a72c21b1f783350b225e11ebb00b86da84d03e99f36e406547b86b279c211239301632c62e216c7081e059144d83ef5c9f6aa035cf014e2fc7aa8e87d84b71384b65991e953f26c50124e9dc0601bc3a260026e0309a9b110dc8e31b8fc32a04dad3f522f9c4eb0378462700dddfa0cdbd24250bd0351e308ba1d5eb965db6f53ab9704ccd335e1fde2211b69c1517f8a925e3ea7f60369d1299096326a07dcfdd7e9138979c5e877202fcbcecd0232915e34ca0f2ca003ca469eedb3633868e780ee1b199d11054244758051186471e81cd635ba0b7da7033abffdd9ba0458537dbae843196dd6cca02142355e7f5d00b99e4fc63cee84cf03df0a3b51ea02114a3f6a079101e0b0234f997934512a8d312e603efc18f2c2270329aa3e211299f945fa5f1865061fc55410c0da7d18402b566c5c0d55f31ef83d0318f7a0089872a3c1f4f073341ba7ddfc91d7a8fb1898e0cb3345dc9051ef0dd10368de9e27118a6f97da6557b6b8f309a5ae27596035219cff14f7796590cac7170219ffff0355b74f3a50f0996ab002367184659aea8a11963bd1e047ac0c1b35b742a7308c03ccb890b84389fd1b95acb5086f04d9a9e1626e4897130c548444d3453e5198390314c9b7af1da1625f74c60cfd7e55a2b6c5b2813ae5d22e1166b3ba481c502a7e03882b370987fcffa26730fa6ae5f772f24ae6d5177c26e1aeb70b2d0628427b7e03969a0573ed5400fd497b53c526e8cd4ae27a721988844c4e16aa794fba38245f03014d492b9940fad5acb5b29ceba54063e7a263f6beed43a5dad0b45e1268b1c503989602c89ac370e81e035e1719a96488334d019403893c5ad9fca7cafac7a6c503d1758a815ac8ad109bcd1aaa7780f5d311b3f61f4836e4712922ed1e3e9fc504032a979b4d14164b7e15e023be6b0182b3ffd0a62df7b716411a747fda545c5b220399caf4dcb328919809eb5182279df100e2a068b927f33dd385ff29d2dcc63833032f604cd9f1bf70f839106a9ba7e12b4bd160fbd98780cb3ab2d5fc66aca5bd23005820038795b9d10230913098ff20e5d7fc5ad9f5c94571f4d47cef54697f9a840b70488ac7230489e8000002197f17038310c2504041dcf47ad1711fa803fdcf3d968418087023a5263ac0d5851bb0a50371eb07cd99bfea0f4023dd76c670ae00aeacfb0c24abb6e0bb3fb588fb49a8eb030993235c40643f54a3835631a8e0f103c54a4fc531da1ec84cb011d198d44352037e16b9a7545585b408496621cd76246f54750630422526688f00042990c0515c037cd7b666b05d632d614432f0347a6b4f1382c2d1d0f246ef5cfa0af3cae06db703090d65e44b5ede49d37a428f609912da196d00146a4866507549a456bdc320c70359bdd156e0ed6441bcbd1b0610d3eb29e946a9c1ff2aa52b5a105ae20a4bdd0503f896961476d1bd70989f1370242f0f3ba772dc1e78ef9b82e7f95126dbbd104f03da7bb75eec972484791a40e7879c4e782d94d0eb59c619203597090123d7617503bce352e8be6bcdc2daf2afe0b0e784bbed9e27006ded184f0bb7d27ffbea45e60399ac8abf828f9a97c91c860e8f7948b57778d0cc73026876e3e316ac956cefe5031beb28a92ef276294a53cd96081e936161f902a605a255dcbaafe42c1542ae3003f1d3ecd7ef1edb32d82c39a047bb169379eaf973a92f72da3746ebedce41e79b03597d96c3f1e75a8fedf7ac1beefb2e60e5504e11a0a7a8069316bfe6d2b67e49034286e78306f11d5ddbe5e136fed9e8ba845a1d8b81027de6c096b53433e0e7a00219ffff0371541212454d12b5bccf681a17aa7effb94eea41b620ba5d775750daa11427dd03ba9eefb74c9a581f4a5bb5d13fe1dda17bd83f39614889d94d171eb0ffc0167603efa2ca8c6a88cc91f99047cb9c664fab806668df799c452813cf8c7b2163040703afe334657fea9f7e18ed929468087bfbf59aac7d4acac342655c50c5248a694d005820033b5f1c635d06d3d7c8e4efa6489933756d118edd049ed283c9b98f662b1b005820fffffffffffffffffffffffffffffffffffffffffffffff5a13ca5a59489e670034104c53364593580a1bff9a174f19e2a6dcb1b800b1c2fc268c70780c1197c4203b8ad9bce2bbc47e22c45d29d5babbc0be6cf1b7348dfc9a3c8110959add0fdf3033ac51f2efabdb5ea26f86e51ba3586ba9c06821983574e13a946fef21850218f005820035f1dd41480b82df8c5bccdbeee12d948d9915c5d98e730df4b723d83938ca05820fffffffffffffffffffffffffffffffffffffffffffffc9ca36523a25f91308400581f023126caf84885a15532de1740fdb717f81fe5272ff35cbc995459c5ae6ab84919b2a02e7399b9a7b800581f02e5dc8ed8020bb32e2406627d314ba102575c34f3723c76de58617153c3f44b04cd80542dbd8a1c82866302184103f9b13ef01d4a8da566f2be2a8d70c4b61a5d6ab7d79df60dae903be17bb457dd035cd05f84f8db90e3a3e6d510432cf867bc6f5b1e83660debe5efdda3b37e337903078cfc5c1141a645dd68b36951f9b86681953b2c782a0cf9ec0dd1ac7955f50f0378beccb2cdd480517332630d6d2858028c2694e7850b264b6d808774f60f69a203488d4ae62917b7cc389c5b7340db7e36679efc9f20eb9e62c412e86a5190e94500582003a4c5ee5b2fadbaf51b1626a748945d662e988934ec70ec40c88ae34317e5504904a20a2820e9666cd10219b73f03eb783706644643b0ad617400eff38987767182bb27bddfc29a887a4952cdf5ab0361556e4ae99e7aced9c9f0de6f794bf195017f845f4b677aae008aa681c234ab0303104a8caa7ea147ad923996d80c815caf3856879cc19a9c72c26a435c8af6d803516c180c55f296c7fc04d851a87f32ab62f33a345e59195ec7d9d327e3ea4020033cd0b0aefb7bf3815b542e18204b8fdabc6bb879e35a81c70c12d03fd6b4d558032528c31fb1d57135189aa10b8ae7284f87321978e103f2dc0b5deb98423fdd9103448df7aa38ebd636687d70192a0356777e4c30ba3226ccbbb4406bccc1db27230371dc0a8c9c81af1df455ec686c8566eda243014d0a87ed5e24e67c2efcdab08303713e90f4490dba612ce9bc5a569c8a6214ff0acd59e1bb32b997007e58748153035829150ab1dabae2a44a28671b3c850fe973886460d52ea29955388bc574eb37032569cdfdbe2881d3d4b8c0e9a5d79d77568ff4457cd39900160f640e383666910219ffff0327eec29d74f01856b44e7aedfdbf41fe1530335c8e9e794966eadcb00344d7560365dffcb76221ae2db90264057ce0b1f008125cec088d975cfd27252e88bf61bc0319907138021890b04af2bb68bebe8da8e66c586e9b98cda8956c114c5686822f03d8416d6d259a6a0c86369bc044eba4ca29deb8498029073289e8b37790e72e990343bb7a34b9c1d250164fd98022036fd6297c02a3b78009cf44c974f36b06d39c0352971073bf74fbff637db9aa9686501462a74f48bd8ac2585adc2c1158a7b3d803992e44143519a10ef5c70e12784ff11c26fee4420351163941560a5f69f26b9d00582003323a1a8712e1b4012c7b25940714b2c7f08f1a9551d6e712749c92475654305820fffffffffffffffffffffffffffffffffffffffffffffcdc3b684c78150147f9030afd050ff7a36de2a28aafa4c4ae077324360224bf77782f8124af5ec78444a60330b65f41b15409c9f7f1444942b75160d5a9e9d41083cbfd7cbe015b5fa586e603e560c815a8b845823374613ab76c3c86f7c788c159638d23bcdda7195e352f98030437c081cd19009d24182b51c46d3841af56a382eb550ccd00a6b69073a883fa03e6140c4b2f2d66c5176c1beb80f0b93130c4dfa7c7f4214b0f70310d92d40b6a03194684defd26fba566a2ef6674328b0d7af8d85aecd90ee91bb0fe4b9190489a00582003942d4d7b5f9c5512d0269c4cbd287d2d49b5bad6552bfdcb528532ff2e70105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035c205404165409a432649b127eea60bee05aebf75c5f3bd73fd76268729edf7500582003584ab6a98b4c27e9722a206063929aaf22722f0fb78a46c5077d1efadf3c205820fffffffffffffffffffffffffffffffffffffffffffff83d3f442a2ec5b7bf1b0058200326586dd58fb406e479cb195995a4302de76cc939cc29ef38daa21ab1311e105820ffffffffffffffffffffffffffffffffffffffffffffd58266b52e00bddf97a7038b4febd1f6dc357ed0cee164fbb80956d5d018b83a0150c6732467b12f4f5573005820033bbe906cdcd7bf5b551e41d25c53815571cc8ae94444a98b44fdeeed0007d049162880c8e64390b84e00581f02e6ee107a4d6299e99caebd9bcd691f11eb5d8ecf85d02648d451f41e58e85820fffffffffffffffffffffffffffffffffffffffffffffb212ae16338ff9fffff00581f02610d9a85c8fdea91cfb90b13a291b195425c25a9a0d23667a40d7e7410285820ffffffffffffffffffffffffffffffffffffffffffffff8efe3816885174fd68021920040219ff7f03d2c2e5cf2cc561aebefa7fd649c9a2d8638d5af3249e1f43dae47068ca1ad7e503eff34740f5f71e837917e0b726f21a1d8b4bcab1519286adede197fb31826a4703ed7f2b73f1957c782ba8ab1a55291c0b8991722a70165d5f00f88ddbc277d17f03b2f6f3eed7f232517da7197f6d6e1751b62f7561b5e9c17f43d5119f60f4685a0307e0c863cd0285c9898dc79b2c6150ec5dd21ec1ea667ed08de7047a7f7da0f5037c7cd92982f9358c49a1fc1d5fcd4525352fe1aa9c9d6427e579275bfb14f6db038e74699c16e3c3937cb378a0dadc377e86eb10434ebdaadc66a1d490cda4f6e20382b1cd2f7b62a7c94e8e0781d7fb485167eebfaec169fee1b17aece059c7143703ea932ef8a94782ae90ffbeeed6cbc917d758df6265c51607523534a4caca60e90318a6a996c00b1fe3043a8e34f95d4dfdf63d2919c1a8ced8ff0582939950e5a30303db78cb83600c201d4fbee64a958e000c91e30e20bb5a26a5f00dfaa4e08da803e40d9e35544cf439430ea00a2a20b6a3e498ba2b3cf5c9a2eb9f72cc1d097b810331a195ae3bd2f23b69033993fe8720518313f0d0aca4182c372ac38777b2c07b0219ffff0331f31b5590c5afee25705925b3b8dd399d91400eb1cda416bae7892aff15e90003ce905c1c4140988e68606278744699a9cafe557aa7a675f45913898a04f6a1f00371d146fb868ef6595d5e3bc6be15e03eab618a44b1cd9c35d87ff31e0cae436403af1ed18ebbefaed807dcaddd93c5ceb0c63f4f100145407679cf88a6b4ba5f7a03df910c139fd7b671bd12419694f479d5b87f7a89fb8a4d7942d3ea62abd69cdd0341dc84f69f7cc034691a3de62aff68ad8eb6d70c4e59931e70897df7fa365be30327eeb25d61ccac7928b8b5243f48c7ae039e427b1a827c1c1fe3a5d590ea4a06037b65c1d57a4fd71a3fdf6d24f4243289ac3bc58afe388eda6f952cf502ca124a03ba8a62e76bd4ce103908106c433ab9ef00bf3664640b97678a57947246fe4032032d432a2a20c0f31770203bdb91c8b6f622a9f8c4d0a5b016ba8954a24d21ad6803abd0f76702791b311a50aa17eff13339e0265beea4a4da16ab2d60ded32ff569035a1dbe53b3a812aa0e60fb540e1ece73a89c59271afce26f1b4f92775c863e5e03c667c87120c62c9b356c94cad1d9d354df0a943b939f32029df256015abf9eec030ba4496cacb6a376a0d873cf3dc977ade9dfcdce2ea91805f3e003ed207525b400582003e8aa6308d24d8f72ca79af50edabd1d8d303368ed237b7b1b56abe8d912c304477ee9db003564db518cc97f1f93870fb47de2bf6753670f51a190bff8e12bb686023f583860382c7aa71d151502eab86fd8a263f8a4bc7311b4c6bfd10bb3544a42974aecd1403d292bda2a298842c11a60ac82fea584ce209d830bc1d51117c2f4d2d3dae083a03a7fd37746e494c8ad2768aaf38fa14823184e66226609dc7813805020421758a03ffdf5478cf9297a8667c8af44a97e89c0f99b05fcd8b8fec3d98372c9df9416e0358894a8c766a5ce43cd91194e5295abe15e2b75427cdb06264766dbc0e675e6000581f02b79eb095cf805c61fb23900c5649b6deec3066f7297192f9389e86c08ae25820ffffffffffffffffffffffffffffffffffffffffffffffa45996926fa9e5ae6a00581f02335eaf9cb6378d1562d32bb72be3440caddf029f2023ad93df574ae661dd4a7eca92129048e669e9f00218a003a95af9190bd3ec5d619862a32227910cf7bf40f908b7d17f1f0001546f8c79ab03f8a93ccdd1e36a06b07b056871c5d528d72856013c4db47371b353c9339c889e014102034f166177d75cc22800724de9c1ac81eed89421387a300d032ca179ab409a754203c38a7b9089ee240a93a9bf4d90671e5a28aaaff7cbc79f4de405ca2edc684752034a8277e2c339259167f6bbc5327b28e9f7538a538d982eab0c34b8ef39ba6ebc0219ebff03e34b3ae9b92cccfca77d29d70b0eec5d96432ba9e2faaef8918f5b3b698d33c30369d8ee061145c4f162995850c195cf443d6d166d72e5c5d1def805ddafa2a7b903542510d83784c211ea7ebea3f1d2e4ab23edf2cc012ce4ea18271ab6d9f89a29037d976bb2ab2a30291a23a4f98e094f3d57bc759f81b16ec5bff2d83a7a5d83da03b8154f6c081dbc7888dca9b804d38be1d7d10442a234ba38d4e2903a7c26bd0703c9d0eccddb39b796913c6bb56fa29849a0466069ee4c9bb77a8bc975b0210b460219ffff0219ffff05581e036d3e039ef76b7489ca2aef698c0757a7e3224d9a50427f38d2e370d0d0070119271c039fe0fedb89ea78f26fe7ef3a2572f24d9e5abfce95f968a045603b1169f96ff605581e03288a173c41012e0a64036630dbe77b1d5f646214dc4aa32bd5c1ef01700401036113312af70fb08bfc49aac1f0676b4adf52557d7fd5eb03d8483060733e142205581e03b14b29774544911ce4395b2eff2a850d0a60f449a36c4ec2b7b0a994f0040105581e03c95607936e71e4b0f1cca45e7697d313abf73c12be618d022cc19fc0d00c034702079217d6e4000382bb061b8ed0c2547f15cf8dbeaaa63b9ba878f2a66a6f0629fa13609bc24c32032fa39d6751c51022530d0632aa894ef9c97e2b828e774e56dc97537bae83c24b05581e033f51a49e039bb2150d018d4450bd77f7a4cf6d6d24dee012a232a4049007011bffffffffffffffff021916ff0306ab41273b3fd233b1310809a30c6f100586a01f9692cf1904dc4f831bc26b2c03dd3dc24f3002b7a7be29886e395e5b9ae47d0439c340f3a585dd1cac808ab09f03ee402617acc495ddd245e0bb6735937b6db3a548147a61b9844f0a3fadb9354c03c61b12cfcca29fc419c93b0d9a3a25275b8a80a92cc6ae22359c3ea16001b08003334f47cd927186fb6f3a1e5daacc238cb8a8186f7a65afa6d12b83debaa62236036dae11a9505169f922cb2457d56f14f2e4a57c974c0335acf8f9ad5a4a8ef3cc03ca1c6dc9cfcf43e345fc0769a5815f4cd98f5e3d2fa14c15e5b1daf40323c9c403264779717a3c3716e1f83cf0d6c1b721f2cb2493377fdb2ba5a345f5a1af027a036ca8017149e72cd07bb5fd083f724f7a1368cabee6525bf5eac0b2fc21139488032b660f6ef4d92bd86ce63383e3e3575240d10f140a726aed391d0bf617ac909603b054403e2a2b042531b3abd620e8e4049cab0143e0e83e968795c3ee5cfeff510219ffff0310b731a9de162703631c115ec8788048c33e4aa57afff71deaa859bbee3adc610375e174857a5e27d367ac50d21fd80904f03b7bba9e317edfb8f6be759b100b770379b9f59e4d7385d2df26dac919b37c6dc35c07249817060ed11e90b77e4fa91d0362ac82630261afa64f258dc9944204fb463ef530116909d4ce8280f3175dc62e033ac0d09e71bde4b6bac2222acda8b79cbe00ea8a39f414bc64c946c907a249f303dfb9267675fd3750b9f7d06b5d8e6e84f9f8c3acb2e3bd78500a567a34affde1030771819f3592f6dc3459e7ab3299e2d8b403d5f631de3c5d858db28b5aacce4003a620d7cceaf64dcddfafdfe17baf10f57139af3b895b0f36c4516d26bf0c0b120219ffff038f8531efdcf354a73ed07fa5e7bd8fdde4616995d27994b2152e7d20451873c1036ccc59925d91b2d050e1351b92db6c06395f4594f3a202d1f1bc73979ad50d7a0219ffff034253011bd326c399a33785173174b5c4e27dffd07974f6e54f5d7d269f6ac3c00219ffff0334175eb4a7742d0f75cac6ee561fd8e137a4a39cd917b39710883e40ad33f0a6039bbfd3c456755e6e318c1b400bcadbae086c63ca8e0696feba6bf6238255080b03f445685d0d26aadfff26ed089121b3b816b635ff9073a5a68d936e99a2df6c1903be6251ded35531cac4000985fd715758bea7214977419792767cd245ce591dcf03a46a804290737767cf59a3e2fcbc293bedeef8b084f1edf40ea35d05d5355cb10370cfb2a8907cc332a36dd0cd9ea53ad06e31e4617108394e6072dc4065784ce303ac4ab40eb49285ec8fb5ac4fe4873f71eb33dffb72beac9d2e28aee688a90243036c8e943503b5b769a54e54c52311e76f2049341c94446d29b59c81b7e41e6e8503c849431f7fab69a2c81acd36322b658bb29d71edcd7b12c2406dc704d13fa48603af01821d68cdae3e9a5d7cd206f2884e56669c99d2664c4fff37bf9fce5a2bea031f4499fec2993ce05b72e1c18f05c32130b1d6eada5cc8bf4fb766d5a8f7f0df031d173d2b529a9012d1a8f2e2e6e9dce162067ad17523832015d3d2f2309c3d84036701f07353241e7d6835e4b0d5f06e210855cc38bec7f28c35aa7e93127742f603e44c098bba853dc21c3db7dc430070d29a03f97a55d44caf4d894b31c56dd6a105581e03310b69e27037758007e6513d932def478900ff94f8bf1145d9e8c4fa20040303a0e99007180bbe41c679b1ce49c094af417264dbe1050f6eb3165444a9a61c6105581e033b02968a760228f0478fdb71275099c96f369985beec4f1610808da2300c0146087ae9b5380005581e03c734fff0379c80d953d89173150c022aac2cb4499bd498cae32669e4700c0346053abac95a0005581e0392dccb54e234637bf61cb3a3236a224f03451abace86f73d4b020c37b00c0147135b59c0de14ef03260f6c57d5320ce9a7931e8a5a01b17628e5e902f8a6971bffc202eb02c7d8a8031dc698247d32426ecec2cb9728a51ff2dc93b1257351d8b69a79fa317ad737aa05581e03f8b0fa00dcb26b838a32c970986c795e594dd916a5f2b11df62885930007011bffffffffffffffff05581e03f27e4787adc76334366411eef42c306717dad0a22a7f9aa9e4a758c9400c024706012eb65dfc0005581d0274ef12799863ef5ffc83a37447e9bf27abfbef850082d18b9c1c29d90c01473245dc9d28182805581d02ffd46103833c7dc99b2200825dc553ae40defb6d17288061534cf4810c124904040602422545935b031e4366082444073b4bea23568c108c4288f2293bf126f5cd6359c41ec52fc7fe039fa4d1fb289bf6ea7558f2a6d1ae63b163e32adc2537be8ef8916a48a3cf97c505581d024f746b274704b1896635342e4a4ab9de6aadfe7f12626e3b2c7c549c0f01472386f26fc100001bffffffffffffffff0219092005581e0330693d6160fc7c7c8d84cf09ebc85e44b3ee71e9751dbed1067f1271900847038d7ea4c6800005581e0385fd068a9fcb2be5fbc9f605cf9b34e7fd80a668a371eef650b6f615700c0247024b88307ddaab0219b5d503d74411ebd8eb290d0c5afe18239e3e31f636682566f3ccc4d8013b4a9491cf74032c8d9c29aa1074ff469aa1f8fb95322cfe16cd3ba5a766ca6568532f211680fb034738f7cdd3f8751854bb73682e60f168d4c69bd475e065b3b492b5b4906f1e42037d3870fb24e5db7c7cd3061c32a522b8224f65a81a2455079991f9a19a7979fe032525456194d3e44947067d4bfead840bce752cf117660b83b41d1cbc55725fb103103c5755c55fe730b0d84e856a6f8282953b2063a3a6e8ab15fc5bf0d4cb425803a30a8a507c8e6625854c1a669c9c8d4bb6fed98e1d14eb4ab1a157933a3f130a03ed8da0bcc3e721e1ea0e6857c960244855aef7001afc7f5b25445767184c498a0326da8df66629bbda950d97f1853cbb5bcdcc649088d99d12aa622fb5c5c36eea030c33249527e4bc6065ea8ec37aad404b946f14673041321520e8ca54e15db72b03996776c5a2fede5989f0a7745a6734138472938c0542b92d6e051cd6726e39df03142a38862e75bfaf44e941d6acb44932d6b18389fefbdbb951de651ab163f46b03537ae896ceb11e9e9a8ee3f1a6fb1099425b65f89015a15ed078fb9e492a9e6b0219ffff035fb52cadd71f349751f0d79a88aa498b7489ae98469d0f2b21514a386f76cc05035d1f2fe50e76ae9133f35140d799dba2b07f950f5c79aa76d2818f73b6d7c7620310b82a32efb4b070e222f366834f87b408cc904442036b62b389b508ecd49a8003c82fb154be3d2b80d003a6d32e962d8f203e9fbb3b3156cbcd38f12144143dd7038ce21d495ed3e850512c5315bc810e6aa83197184a35da0fb5e926d1c03f5f310325153029d474f9a9cbb1d53ecd6a48b07917846e1afa303a127e1ea5ffa062cb03b9ff037c65b84af7d506b37e9e9f3f42c5c23b4d197ce3b792d6bcec181e355f03419752c30950c51cd8c7b1aaac9cc194559c36ac70985c479873b1b7c4ca618f03f62ad0cb6e2285e168c6527944d7fc027998305ca325a1cfa8cd1fd1868818f6031d0a8bc56edd27881df37ec21f715defda64d5021621bf3da7a2618297c691b403aec0cb9ae931617524a537307bb9e0566b4f5088ac3e0020b80ce9490c945a0e035c6f70833915e29141146f44b2c8ae936d798bbd38abdd67381e0dcb9ce4822d036a5553515878b5ed909df711a32c80c01c72a4962cfae7256076dfc998d5954003a7f09f9fd14ba5b03530ac31de1dc174b838fca146eea6e9957a7259292b9e750397079a494558a3b68d945b46c1fda93f972c5ae5e43200dd36719523753149250219ffff035ab103d15e1eec08eb08a5ecdb7f2275d7ed98c1b119a1571e8f646dbea5c45a03f6f119190ca372a3ad664022c707c5c98612e849129f032c97d8bb8ea450d421032c9bc74eaa125f2d58d98c5bd0b1ae41b58ea523014b1becd90a7b655e35b7ca032da6d9e5159aebbaf937341dc291bcddd988e2c161ddf4a88624c476efa19a2b03cef522a043bcff9a2fb9f1416a66b9979112682d6cb85f1416b876279a77748603971f7acf5c5c39e6e6b656c1247c939ca13fad3ec9531fa90208e0140898734103b4bf9c8bea2622c511f5d9ea2b3e96073d214dbfc5f800e8b05696facae6dce2033009a665da2b0d5b1b81ee3fc44a679bbe0baa349949b5ad4fe5f8b65534cbaf03d172dbf9a17c2909621d948f75a1a5e11b8483368a419256cda0556125ba953903f20bb2b15b360eb8be9a62cdac0b3e617c27f6fe43a36eac26c4e7bdbee7f32b0395207dd4e8d9c4c1e003d04ed4acdd2c5a411a9201af8a2da0db0447db1af81e03dc67a59517594a3e58c9fb6565a42cd326fc5c2ffe54f360b7ac8760ce9a480b03eb15a857a79d1633f5db051e6a51f44b2f83979218eee8d566352d672875797503214e9e650d8b5c035b293468a0d86e5cb28bf7aa486324752230aa384f08c0890219ffff03c8cf42d9be4c9d6203da780878702e7bba36539f598b11e3eb64e91345ef6644034759f47b2f779b98ecf7c600075d4a5287fefa04dceb270d0a2041c3e04fba420320d9d87f908e41e9b0fd881d9c63d9f45238dd164769405edb9d5eadfdd5470a039fd8797bfd0ae3e909778822b97d0080143bd192217530540e504660732bb8cc0219ffff03b92265f9d70b9ffb2955f986017520bd88da358eec78ff3f1eeaa30c6a97fa0303d87018b08878abcccac623f54ef4b8fa819e233b5ead2d664a6b399b23d1cd41034d5c2a9511a1bbf71656fd47aa431278e27d35a8339a285d3d47c02405b16ea003e4f7d20f18182cde243d954ac895a1ae10d8b5103157474bc05adb8fe4965a77031c9c4c357872c52fc9318e2250bf52d5391e274db864e5f08fd187ba719d868c032193f6d4f7b98922358aac942220c384628cb45528e6d23408d1e876f979611c032cf40de20c35ce656988de714999d0290d68f2e66a8ae07ef6389abbecafa42d03cfb1a38c38638ddb309361b7fce7ca25198fb4d0aa9153c890861c989ee0d1cb030fb8defbfb82fa45b73d06d92eb064655edca737b2b93013a3f4563e78f27c500354e78085efc94e58749acebfd4792fdb652c8c7fb76b295bb8e065b2e13f437003bc520f3bcdbf19e9c13bf4b88d5b6dcbe31c25adc8ed39e7c9936098f25f60fb03a15e76469a1491082400b891fe8dac6c79d7619fc0cde31a5ca2e68c609b34b503533fe7e89c0352467f7a3bce1f5f92e335b2734b849400e83147021e844cd3e60363394cb77d53c2151752f81e7c139157d251ed5ab6058f1c13d927c03aa1265103454146fa9501231180ef18b3ef47944fa1d722e6a22d999e3ca4080bef00c2de03ab5e05c46be2e89045ce4f9f91c0a43718ce46ed209c943d00ccbcb283eaf32a037e2a7bef37624e489042b752857523cd4da587643d59ed1030ba95ba0f5bc8ac0316bc5125c05a56d08c0444f170d5d5383236fdb75cd617e6e9ff8456f74f41b803d43e84a7a86cc78faabce9d038be27480a75b2dab5b655ff1bf9a10febf98f8803db184c003ccdbe99a5a343983d0f35053eafedc00f940abdf9a838d132f14cb303c88a5491d5ccd045c7ba55ad99fed7e806bc122bf8fb4a82ab7b1a5b35adb6f303a2b630dd025c80a3ba0f400f81022f2aa7ab23bc0a25b7b4a4f5cf1175c1d8e203c53528dbe597de3a656b107499ebf94e5026d6d0b56b77287ddbe7c411da965c0459048b6080604052600436106100295760003560e01c80634776e4731461002b578063e354733514610069575b005b34801561003757600080fd5b506100406100f6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100296004803603604081101561007f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156100b757600080fd5b8201836020820111156100c957600080fd5b803590602001918460018302840111640100000000831117156100eb57600080fd5b50909250905061011a565b7f000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c81565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c16146101be57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831661024057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f414441505445525f4e4f545f50524f5649444544000000000000000000000000604482015290519081900360640190fd5b6102b58383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601b81527f414441505445525f44454c454741544543414c4c5f4641494c45440000000000602082015291506102bb9050565b50505050565b6060600060608573ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b6020831061032657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016102e9565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610386576040519150601f19603f3d011682016040523d82523d6000602084013e61038b565b606091505b5091509150811561039f57915061044e9050565b8051156103af5780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104135781810151838201526020016103fb565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b939250505056fea2646970667358221220fcb8f4f30203340a84fb3281a8f6f11931d3bba7bfc927a40ff42c9624d5f0ba64736f6c634300060c00330605581e03c6ca57527b6a2a753f5d37373afdd0e49e11b8b27c922a5d3ca1aaa7d0070119048b05581e033b79fcf57ec5571d15bc7aaf3f58bdb89e0d069ba4583504b1c0c8f4200c1818471e762eae56e0b905581e034c398765268df59dcc3c8794c187c37a5c0988df57b0fc43be6b6dbfa00402031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e037a74209e7b467a59efe04f0fc97880c35522b599b490d97d0791ff152007011bffffffffffffffff05581e038f679e25f4fd711a223c42a05201d01bfa0492b19d904386c242238f40040303337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03689fcb5f93a1656c679c711f5834a4545c5bd0eec4f9fb3d06be74d47a644aac05581e0394fac235b8cb0d7369c192b738a48dcab89a51dc7ddae26ff0fdedc7d007011bffffffffffffffff0326b33a98c0531434b0173d5e2d0ddcca2ca39a29b601a537d7ed3b8a282501a20318e7060ebebce8f584c5d3884f3c2c502a014acf2e34978d9da74b90d80ac1ea05581e03a90fbf9d4e6f02dd53857678d0d6e1a48caa75ba18bacf95a9ceca89d0040105581e03e440d19553561e880d92e97c32a2d0c74453efd6d45c052d572856b840040105581e03de2f98f27dfb0f01af59b807b54304e203e57f00902ec5d0602d8f8cd0040102197b6b037a540d4a2d56d07ff91ff0d8614bfc160147876b3604bbe3ef1e21216b53038d035729e9210be60143eae7cced73b789d85481dc56b6bd235ea33482dc7f61f78703e1aed2d0bb550a7d1d6ef814dc2f2e6e3018c440abd6ad2090bf80972854558d03e92bd3a0ca7cbc768db8caa2a1907066f0d1a44c85ed61ec2dfcdc582dd0d3e003bb0084f0590e726b22ed83cef4a3456195d238f1dd7347a8acef4bd4fddf43cd03b88c535f984d637e35196f0bcbf71a9a4f617f8f5ff6ad5ad6b7b69d869dad4f0219ffff03f2e6b26d9cbf448f89aeb994255ffe1bfb88e2f94b29e91ac11620f3c5a1efcf032070564b6b3c9a9f0f2c173e5b3b1cfb0492fcf8b20203879b50b555f799b1dc0336885b087532ce139b07ef28f312e6a2afefb410d405f91aa84f06b82ab5442903eb1ddcbd462e28d63aa1c95d343f283d3429a20e7c8f5fcdc02f06d9c7b2da480376959fdf1d65aaa73df3a5621c6b5cde2e8b815b81ff7c93160c9ea59b1a17f903139ac2e54d62da3edc96eb983bac6d456c44e62be793d727d7be2aa7a449b6d9036dfed293c778357b7eadfa0bd59e42bec8d0f68e795646038e32b6f98543123a033b591f9c5debd145342e829c88dcd0c01224d051c60002b9f356ceac25152a5b036f6eeb2941727192deec504da797b6c3bcb3cfe0f675a5764cc2c8b78a74651003550e027f37fe4edbb0fbee722639dee5554741242cd8b55af2dae91d3e5efe85031219dddf32601f7a8e7f5affb6a45cff6577f7b36bbef7514e3a0c92145d172d03129d10e426de9df32c18b1671c321880590c6392cca1e4bf629ade1cf4a93038036496a71ff6b1b18c369439336eacfb1028ca65b1ba58e25d12b88a13e67e25340219ffff03c7748d3319b6681c24dfabbaa67ab8bf835b20fa37ee818c5c83e2640174bece0339b728f8dcbfe689289e8891ee314e6f1940aee2777d49a63424f98b1e5f51b2035d4aa1ac41c5459ae0ecd785ee70249ff010d1110f79220cb093d897521830e803cbc4b1535b36452430b8a7facb136d8e55a55a86498a16da556eb143a389d1cb035bdace599e400e2cb86acbf3470e49a7ded9d8b21a1d2295a107a3489ef5ceda0386d04a4db766d1b615bdfb3bad658bc78243b8496709b83934f501a3e4f1b70c03b580669e41eb391a698cf60864dc6a1ea7f984b85152d8b8b5f470decd3bce19037ef008ab25d7beadd1d1e3ea6364654316c4093ef0308188e2e842d209ba8510031743241e742fb47b3244c74b9d8f85195fb35dccc5cb1847a9cf1ec766108ffd0378fa6b4a6e56ccbf376a316024839ad81db65be87fc9b0e5569b651f8c8a5cc60219ffff0320d7e3df992d15affdcb7b3465258ac2220c0f2ef328f0fec7bfe7efe9d6a8d9038bb5c26d9a397686f7aff547f634ac8dab5c8ca24e57bbdd154afba0a130632103773a4d3f284d74bf509c59a0ff6b17b221431c30b51cbda8957684dece4f1a6803d8da4c2a898d686e24929aa470ca80aa1aac9f54d1ab89d501653c105cf03a670389e629248996f140b3d49ee6e153714efa3ed56b4602af40d4160ea96c3a7e510317afe7acc933574ef415d6156fae02cf5a4aef48dd6c70abce6f530d9b0f890703b2bc9977c3952f0a16f37b29d4277fd097fce8ca148a833435a854b10840eb3803d6ce63c8f19d3216ee80b1f1b4ccd235c43bb5ef2af7baf66a2cf3f692a46e1703e91a0ebd45939a179e2f9738907a41e9154c91249f01150c8516aa842f3b6c9f03ff88377d34b45b71d8739ef62d95643e695353b50a981caa144eadd9e9d37cfb0356c536d66294efc3d76b2f3c373ad0f3283efd08ef39fab5324f0d9052e8e1ce035b9a9533f4132a4473334d22111991bfe190a5e6548d457a12ab1f028c39d4c703dca2bbda2322d7f6ad4ffb2461573564b28a3ab3242396ba677fb1cfb70eeec6034a17eb5d0e7093f41d7141eb2884318b4c49f7b2f5a0e28c34eb8e95ff66956b03a1d84bce3a6193bdcffc4037dec3f51d0d7b55a72b1600f2998200ef17d9fba903ec26b63bf6c0c877a3d7f8e76c3e1ec79c42b00757a0ae8baf9cf2dfd43224ac03b60fe94a5fe3df538984ea9779e74c3f690471c6dbcc673b37ad525280265cae03a654689daffb3575c8451b6a830bd1e542672a7cb61582e6fbf477284de850b10378225c68c64d4486c9bf60494eaceb9789390c154f23db9381b825577c6b8838038c75256d779c919f29d8992623a70abb3514302ce9789a8e835f17bf64ba4050032ca406f96abe7719151b11a292e2f79a94061a0da2b45090ca32f17d4ad24cbf0312a216c2fddee55db9114ae80b384da4e75a1893497766895a2a0482cc7a88d303e62cab4d9087e5dc99d9092a17cb9956e9131436656a52674153db5494a190200322ba4a7c90f59480cfb7de9f1914077af19176e8341eee5620135fd485f9ebf103380d19ade804244edb2b498e1b0e8d2fa172c0066b981c879df886428ef8e1db0399c81be33cd7844c039ea5b1a492c62b6c068bcd3a77f6a6fdaa24effbc7e96d03a57d050ee7112a26bea763ca32f3942c68f88f9ffcdc0e44a8be2b20edd8137b03f39033185257848944784f3f33c6ae11ee9f91da939612a7714ab7720aa8a66104592220608060408181526004908136101561001657600080fd5b600092833560e01c90816301ffc9a7146113db5750806306fdde0314611301578063095ea7b3146112d757806318160ddd146112b857806323b872dd14611201578063248a9ca3146111d65780632e2850511461119b5780632f2ff15d146110e1578063313ce567146110c55780633644e515146110a857806336568abe146110165780633950935114610fda578063407c48b414610fb657806340c10f1914610cc657806354fd4d5014610c81578063586fc5b514610c625780636afdd85014610c38578063705e6a5b14610ab757806370a0823114610a805780637ecebe0014610a4857806384b0196e1461092c5780638e141c75146108f15780638eb66d6a146108d25780639010d07c1461089157806391d148541461084a57806395d89b411461075d578063a217fddf14610742578063a457c2d7146106ac578063a9059cbb1461067b578063ca15c87314610653578063d505accf1461049d578063d547741f14610460578063dd62ed3e1461042b578063fadd1a1b146103ec5763ff740c31146101a557600080fd5b346103e8576020806003193601126103e4578235927f027f9f680a0c6704fd9796b55c67fe885252243966ecb05a88f3e7873c845d9a80865260098352838620338752835260ff84872054161561022f575050907fed4079ad973dc05ae698be821fb6958dc4edd78aa21dd6a9f8552e46037bacfd9183600b54918351928352820152a1600b5580f35b83908661023b33611a51565b9183519061024882611696565b604282528682019260603685378251156103d157603084538251906001918210156103be5790607860218501536041915b818311610353575050506103245760486102f793859361030693610320975196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8c8601526102ce8c8251928391603789019101611449565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190611449565b010360288101855201836116b2565b5193849362461bcd60e51b8552840152602483019061146c565b0390fd5b606485878087519262461bcd60e51b845283015260248201526000805160206121cb8339815191526044820152fd5b909192600f811660108110156103ab576f181899199a1a9b1b9c1cb0b131b232b360811b901a6103838587611a2a565b53881c92801561039857600019019190610279565b634e487b7160e01b825260118952602482fd5b634e487b7160e01b835260328a52602483fd5b634e487b7160e01b815260328852602490fd5b634e487b7160e01b815260328752602490fd5b8380fd5b8280fd5b838234610427578160031936011261042757602090517fbd4c1461ef59750b24719a44d7e2a7948c57fd12c98e333541b7ea7b61f07cb78152f35b5080fd5b83823461042757806003193601126104275760209061045961044b611491565b6104536114ac565b9061216e565b9051908152f35b50346103e857806003193601126103e85761049a913561049560016104836114ac565b938387526009602052862001546114c2565b6116d4565b80f35b509190346104275760e0366003190112610427576104b9611491565b6104c16114ac565b906044359260643560843560ff8116810361064f5781421161060c5760018060a01b0390818516928389526007602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176105f9578b525190206105a49161059c91610576611cf7565b908c519161190160f01b83526002830152602282015260c43591604260a4359220611c68565b919091611b4e565b16036105b6575061049a939450611928565b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b634e487b7160e01b8b526041875260248bfd5b875162461bcd60e51b8152602081850152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606490fd5b8680fd5b5090346103e85760203660031901126103e8576020928291358152600a845220549051908152f35b8382346104275780600319360112610427576020906106a561069b611491565b60243590336117ba565b5160018152f35b50913461073f578260031936011261073f57506106c7611491565b90602435906106d6833361216e565b908282106106ee576020856106a58585038733611928565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b83823461042757816003193601126104275751908152602090f35b50346103e857826003193601126103e857805183819490845461077f8161175d565b918285526020966001928884821691826000146108205750506001146107c5575b85886107c1896107b2848a03856116b2565b5192828493845283019061146c565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b82841061080857505050820101816107b26107c1386107a0565b8054848a0186015288955087949093019281016107ee565b60ff19168882015294151560051b870190940194508593506107b292506107c191503890506107a0565b5090346103e857816003193601126103e8578160209360ff9261086b6114ac565b90358252600986528282206001600160a01b039091168252855220549151911615158152f35b5090346103e857816003193601126103e8576020926108bc91358152600a8452826024359120611fdc565b905491519160018060a01b039160031b1c168152f35b838234610427578160031936011261042757602090600b549051908152f35b838234610427578160031936011261042757602090517f027f9f680a0c6704fd9796b55c67fe885252243966ecb05a88f3e7873c845d9a8152f35b50346103e857826003193601126103e8576109667f506f6c79676f6e2045636f73797374656d20546f6b656e000000000000000017611e22565b926109907f3100000000000000000000000000000000000000000000000000000000000001611f1f565b908251926020928385019585871067ffffffffffffffff881117610a35575092806109eb8388966109de998b9996528686528151998a99600f60f81b8b5260e0868c015260e08b019061146c565b91898303908a015261146c565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610a1e57505050500390f35b835185528695509381019392810192600101610a0f565b634e487b7160e01b845260419052602483fd5b8382346104275760203660031901126104275760209181906001600160a01b03610a70611491565b1681526007845220549051908152f35b8382346104275760203660031901126104275760209181906001600160a01b03610aa8611491565b16815280845220549051908152f35b50346103e857602090816003193601126103e457823592831515809403610c34577fbd4c1461ef59750b24719a44d7e2a7948c57fd12c98e333541b7ea7b61f07cb780865260098452828620338752845260ff838720541615610b4f575050907f383d8f27281deff0ab982f76ad2feac76f0cb5d922008a4642d8765c748591329151838152a160ff8019600d5416911617600d5580f35b85610b5c93929333611a51565b91835190610b6982611696565b604282528682019260603685378251156103d157603084538251906001918210156103be5790607860218501536041915b818311610bef575050506103245760486102f793859361030693610320975196879376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8c8601526102ce8c8251928391603789019101611449565b909192600f811660108110156103ab576f181899199a1a9b1b9c1cb0b131b232b360811b901a610c1f8587611a2a565b53881c92801561039857600019019190610b9a565b8480fd5b838234610427578160031936011261042757602090516e22d473030f116ddee9f6b43ac78ba38152f35b838234610427578160031936011261042757602090600c549051908152f35b83823461042757816003193601126104275780516107c191610ca282611664565b60058252640312e312e360dc1b60208301525191829160208352602083019061146c565b5090346103e857816003193601126103e857610ce0611491565b906024928335917f573321b8a13c75b2702bc4b0ad9afaae98bf6985285411964a564e68bf6da1c99384875260209460098652838820338952865260ff848920541615610e315750600c5480420390428211610e1f57600b54808302928304149042141715610e0d57808511610df2575042600c556001600160a01b0316948515610db257505091818593610d987fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef94600254611797565b60025585855284835280852082815401905551908152a380f35b601f9085606494519362461bcd60e51b85528401528201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b828588604493875193635bdd08f560e01b8552840152820152fd5b634e487b7160e01b8852601183528688fd5b634e487b7160e01b8952601184528789fd5b82878588938b610e4033611a51565b91835190610e4d82611696565b60428252878201926060368537825115610fa45760308453825190600191821015610f925790607860218501536041915b818311610f2957505050610efb57604861032095938593610ee393610ed4975197889376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8d8601526102ce8d8251928391603789019101611449565b010360288101865201846116b2565b5194859462461bcd60e51b865285015283019061146c565b60648688878188519362461bcd60e51b85528401528201526000805160206121cb8339815191526044820152fd5b909192600f81166010811015610f80576f181899199a1a9b1b9c1cb0b131b232b360811b901a610f598587611a2a565b53891c928015610f6e57600019019190610e7e565b634e487b7160e01b825260118a528882fd5b634e487b7160e01b835260328b528983fd5b634e487b7160e01b8152603289528790fd5b634e487b7160e01b8152603288528690fd5b83823461042757816003193601126104275760209060ff600d541690519015158152f35b8382346104275780600319360112610427576020906106a5610ffa611491565b61100f60243561100a833361216e565b611797565b9033611928565b509190346104275782600319360112610427576110316114ac565b90336001600160a01b0383160361104d579061049a91356116d4565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b838234610427578160031936011261042757602090610459611cf7565b8382346104275781600319360112610427576020905160128152f35b50346103e857806003193601126103e85761114e913590600a6111026114ac565b928086526020906009825261111c600185892001546114c2565b808752600982528387206001600160a01b039095168088529482528387205460ff1615611152575b8652528320611ff4565b5080f35b808752600982528387208588528252838720805460ff191660011790553385827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8a80a4611144565b838234610427578160031936011261042757602090517f573321b8a13c75b2702bc4b0ad9afaae98bf6985285411964a564e68bf6da1c98152f35b5090346103e85760203660031901126103e85781602093600192358152600985522001549051908152f35b50913461073f57606036600319011261073f575061121d611491565b6112256114ac565b9060443592611234338361216e565b906001820161124c575b6020866106a58787876117ba565b848210611275575091839161126a602096956106a595033383611928565b91939481935061123e565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b8382346104275781600319360112610427576020906002549051908152f35b8382346104275780600319360112610427576020906106a56112f7611491565b6024359033611928565b50823461073f578060031936011261073f5781519182826003546113248161175d565b908184526020956001918783821691826000146113b4575050600114611358575b5050506107c192916107b29103856116b2565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061139c57505050820101816107b26107c1611345565b8054848a018601528895508794909301928101611383565b60ff19168782015293151560051b860190930193508492506107b291506107c19050611345565b849084346103e85760203660031901126103e8573563ffffffff60e01b81168091036103e85760209250635a05180f60e01b811490811561141e575b5015158152f35b637965db0b60e01b811491508115611438575b5083611417565b6301ffc9a760e01b14905083611431565b60005b83811061145c5750506000910152565b818101518382015260200161144c565b9060209161148581518092818552858086019101611449565b601f01601f1916010190565b600435906001600160a01b03821682036114a757565b600080fd5b602435906001600160a01b03821682036114a757565b60009080825260209060098252604092838120338252835260ff8482205416156114ec5750505050565b6114f533611a51565b9184519061150282611696565b6042825284820192606036853782511561165057603084538251906001918210156116505790607860218501536041915b8183116115e2575050506115b257604861032093869361159693611587985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a8601526102ce815180928c603789019101611449565b010360288101875201856116b2565b5192839262461bcd60e51b84526004840152602483019061146c565b60648486519062461bcd60e51b825280600483015260248201526000805160206121cb8339815191526044820152fd5b909192600f8116601081101561163c576f181899199a1a9b1b9c1cb0b131b232b360811b901a6116128587611a2a565b5360041c92801561162857600019019190611533565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b6040810190811067ffffffffffffffff82111761168057604052565b634e487b7160e01b600052604160045260246000fd5b6080810190811067ffffffffffffffff82111761168057604052565b90601f8019910116810190811067ffffffffffffffff82111761168057604052565b9060406117129260009080825260096020528282209360018060a01b03169384835260205260ff8383205416611715575b8152600a6020522061207e565b50565b808252600960205282822084835260205282822060ff1981541690553384827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a4611705565b90600182811c9216801561178d575b602083101461177757565b634e487b7160e01b600052602260045260246000fd5b91607f169161176c565b919082018092116117a457565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b039081169182156118d557169182156118845760008281528060205260408120549180831061183057604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156119d957169182156119895760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b908151811015611a3b570160200190565b634e487b7160e01b600052603260045260246000fd5b604051906060820182811067ffffffffffffffff82111761168057604052602a8252602082016040368237825115611a3b57603090538151600190811015611a3b57607860218401536029905b808211611ae0575050611aae5790565b606460405162461bcd60e51b815260206004820152602060248201526000805160206121cb8339815191526044820152fd5b9091600f81166010811015611b39576f181899199a1a9b1b9c1cb0b131b232b360811b901a611b0f8486611a2a565b5360041c918015611b24576000190190611a9e565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b6005811015611c525780611b5f5750565b60018103611bac5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b60028103611bf95760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b600314611c0257565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611ceb5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611cde5781516001600160a01b03811615611cd8579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b307f000000000000000000000000455e53cbb86018ac2b8092fdcd39d8444affc3f66001600160a01b03161480611df9575b15611d52577fb229387d8db422d84103ea5884522a783e8f8b570d17cc1e9bb39959983346f890565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527fafdc6b3596f2bc7878c706fa55d5aabb82790c51a37e088a158406cea402591060408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176116805760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000014614611d29565b60ff8114611e605760ff811690601f8211611e4e5760405191611e4483611664565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b50604051600554816000611e738361175d565b808352602093600190818116908115611eff5750600114611ea0575b5050611e9d925003826116b2565b90565b9093915060056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0936000915b818310611ee7575050611e9d93508201013880611e8f565b85548784018501529485019486945091830191611ecf565b915050611e9d94925060ff191682840152151560051b8201013880611e8f565b60ff8114611f415760ff811690601f8211611e4e5760405191611e4483611664565b50604051600654816000611f548361175d565b808352602093600190818116908115611eff5750600114611f7d575050611e9d925003826116b2565b9093915060066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000915b818310611fc4575050611e9d93508201013880611e8f565b85548784018501529485019486945091830191611fac565b8054821015611a3b5760005260206000200190600090565b919060018301600090828252806020526040822054156000146120785784549468010000000000000000861015612064578361205461203d886001604098999a01855584611fdc565b819391549060031b91821b91600019901b19161790565b9055549382526020522055600190565b634e487b7160e01b83526041600452602483fd5b50925050565b9060018201906000928184528260205260408420549081151560001461216757600019918083018181116121535782549084820191821161213f5780820361210a575b505050805480156120f6578201916120d98383611fdc565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b61212a61211a61203d9386611fdc565b90549060031b1c92839286611fdc565b905586528460205260408620553880806120c1565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b6001600160a01b0391821691906e22d473030f116ddee9f6b43ac78ba38314806121be575b6121b55716600052600160205260406000209060005260205260406000205490565b50505060001990565b5060ff600d541661219356fe537472696e67733a20686578206c656e67746820696e73756666696369656e74a2646970667358221220c7445a80ad2fd963941b3a236a9d980c36bb7f1db174ff3f4e9ebeafea8c8cd264736f6c6343000815003303e118f6b917acb84b46924aa495a7288a936dea48c188c965afcd527b62d3d411033062e4b7dd3760638acaeb46f94defa25d334b39c2180e2a8e28d110e94737d7036d3d845d7ba8c018066092583899ab28c5a94f7d4a1c02002ee9ab91d75e2b6c03705c3a610346c2065a24a2579f61f06415e608561b42eedeefcf682ceebd365203502fabb22ca8e523a427bbea2a06e9324f4234c2d1047848b5a6305f3e122192031dd431c75b5759ae6f742092d69526cc37fb0c516c97e3eba9b89161b218ae6a03111dc0ad27ca100cd0e3305a80dd7c132e80a0acf478b706ae81780e0c4c92f50058200372d7b5dfc07fa4122844773e96e5f9d7682885150473057f93b8f719b8e5505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a7cefd0760179e97e2537dbc518bccba0537312af8633bcfb26601b2a750904903f0cbe800a6d1480003d349442895edd2ace3609f5727b579116a9a64b519b089bfcd73814b54df262600582003abe7f5dc6216f987015498eccaccb5ddff41c52e36edd3de4eaa1a9bbb26d0493ffb8762583138000000582003e9a643a6b21eed3bf9cc48ecfca99f920642c9281a6c2198225bce4590be60490609ba801ddbfc60000381e618c6ece8e8c13b184f8ade2832940a9cca4dca029044604fb82d08ccd711005820036e847071872af59eeb607fdca200cd0a1b5058b72b9159796f34f1035dc6f048d6d88d09f198e66600582003e9c57ffd7bbd44b38da5504c0298ff131e0e7bb5d3526383fa1d1c866dd080480c837902bb3e073300582003015ae5d50d6b8173af11a5d83f313262d45672906352894b53d0f474f4c2905304fb7e35644d788aff0b7aa02d7b4a5db4000000581f0246fd1c6dc008be163ae370c1a3420d036b505c6c9980d0740e1f37409edb4ad2fc143fbb5a0b0c000000581f02002620954168e273d852b6c25c45d40d940eea17fc459a8c2b14736f670f481fd54aa0de4dd000021928000058200309f58b41e1b2023953da829cbcec0d4b15cb0360c0ddf0fefe3885949bbf004b08453b3617ff3689e2000003c36fdc7dd2f4edca9ea79b3abf4c6f5882c74ced5cb32136e64f8aaf974ec98d0219afdd03409d19e6ed8867ec12a37965100234394e38cfa7c87af800749cc15db72d681e03024375cc996d221d5707eed6e508d7b8c7a3ea5330d60012c917a2517ee4d26e03edd84ae81c0d75e915ec4a063ad5632f41eb13a99a60ee71498de921798f210503a6d0f3c1f7f306404f00aad7608eb976778a6de0b75a6020c545d85cbef9696d030049b55ca1eee65032dcbaf55d7d99d02dde901ccbd29040c19e911ff8ccccfc03c393bd0bb01e8a4af03e6856a861c269a25848c1b65144e370e06babf2cc80af031d56c5063ae8084a8e21d18fce7ecadfbebc5cf52500b930a109d342ef2a9ce803e3764f7e52e6a996a472faf1231c3129ae1b409b8887f6f96ee6f7d3ff3b6acd03106add1f1654b9ed4235669f83d236f6d669aa1edaf4a63fe06ac05164b22a7903f5ad6dca496edcbb503ccebfe1ff47229ca2612f557a8eb636916bc5c53c8ce40381a7a61961cfc617f72be0bdab68147f3bcddf9b4467eec864ef6304b9d324bd03152fe0e4b6939b3cd8f42f0b28fd06df8f911f9ef9b61b7ce7bfb4d4127343e703c280b154609ae93642196f1c328658af0081dd5ecca89212f7475a31df85f5f903a750257bfea9d66f0789eeddb59ac29a0dde68f8dba006a73210e418a33779390219ffff03385d349b1b3605d22a51214a25649aa04d0334f06f4f8e0513d7c559ba58cb6603a2ff2aead16a2da82138f157a673f1756372f061f42a4944015b8bde458c589b031238c589b22e001dd39125144ad6fbcdb57c1869f90a1feaa2a1fffd0dcc526d037b9c516a0e8b66e735109e792d7f62dfc0e7063a992ea7d6b2cfcada1151697a03c669fb55e176671fd64e8ec7e603c1676253eae548acd6dfc3f2c08181f1a7a003894eb2b14f8d7093cf5bdb9491c9af072b4a4a797d4109f1043c005ffd688f500385388dbf140cee9694d0cee520b70d83fbc26b721a5da694aac7cd05b2bed9fe03cff4ae7c7a7c80556291e838bdb9fe27bc0fb363df441cd1dcc14548885fa4b303b464a01c2fbd91f69c2671c9ade054f788d2a6054fa71e69941b2eb9e109f1c500581f0218a03e9051dc8a808bc946f291f823e330b865b0f315d3171fcf5fb9ae454833590a6584f2000d00581f0267dcf6d775a41d0edf3d00f93b8fd8a76d005d6139913fe2bad36e63b24949109ff00c29eccd600002186003b48367055adb17f5db7beeff8cddd376c2b4605e7739750688d77796ffa9a15600582003be6248149c87025c90eb74515735072cfcf1d8f3d8cc6e354657c7dfdd8de0485d65c357ca610000034be938460f6c0e400ce0109074e14d43e07c35365fba0989ae73ff162fd0529600582003ad03661bb38529e8b068d6c33a527c5583e3e98643608593c0db66144274104898727bc5a9f15400021918c5038e973f0bd2636ce248f0cd52b06955147eb4f281b55a800dd81fbe35f189fe6c03a89bf2e6b4ff6248e417fe43bc4c681458e380d832fcce16181ea51fec593bb603e481adfc4b3371e936bff3263ae447131c5be48b16c303b69c27923b6c6e34bb03eba5419cc8ddf0d02b47d77436c2a7ff1d7ebb99eca57a73fec40ce3c79f0212036f1a34c76c3608b31763a64fe63009925f9f0ccab2adf1a11a76811ccef81140032e879a7ee31aebb8a3b5c01e684842c553f96dd875b4f6ba59aa90234a138af803c204c68ca37b9d1d56b55c713969457b374c127ff870f7ba7a89479700b0f9870219ffff03617c81157d1c22651bcc5fcaf645b2883bef3ea9ab74e524c830e9d3dd4017e3037aabcd5d19abaf6b1b3a2b938749440bdb7c8d85ec6a2b89b5b1a700c1520b46035f0dcc523cdcd82b823264a3ef0e7899ef768a24aa80e6a688ebfe29fcccc50e0320c0f11ae5e53cea34d2fce0b79054af136b72c4e93273032c89830dc0a07e96034b38a9f747178d5231e8ceb9b774fecdbc79d6a2543b7a0e3281cdec40c5f93f03da19d3671b6effcdc4b96a9a971e0e629642a19f2d3ea4808fab93b7496b7564031a68f7265a4b06c9cdcd5cf7b91bad67d52aec2aeb23636948b56599d2ffb24303bf2c19a9e88263e3e51b8ffe4d2e107a3ee8518a2fe49b918faf5d7d0342b56b035957dad478ced27be33de2b6538f16fb933a751b3b3ea172e57da4d91125a4c103e2340e2cce6b7a82c6d90da70cd0dd293b62c18ebd699723d8bd3af0d39d5a40031546f13bd609dcfbd67303734b1e66546e338a2b1e3006a8162b10b12bf0ce130337bd83064155212354006f893b4ebae0ee9d67892d7a1def735a6a7af8c5428903b3859b4103a0a86e105834d3d1a30d7b82e52d77979282fb5259f51361a4e95c03e3956ffd0f63278906245153658668173049fd6e0cb1e637ba85acc8c098f24900582003216575c5de03bda85f96b2dcb71e37d7f7fb3c9db2c1e661114a22c5515e404b06343170e46a03d5380000038d98dc0733ad72f44621d91df9b6821ac7a6a45e1696a2eeeb9f3f3142385e6d005820034a234df8d75a894431ff90e4b844b66affc352068fe0a7697c7d97dace31005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003bbd7d4fcbfc97ada0685b56cd147627a00d0a82701916d5416f871b5728e00481510b7a6763cb000005820034e124bb196c968d04a05b36c840615973198c02c94af760a35b3db63247410488ac7230489e8000000582003f2b67b22505f2066b38cfb4c0fc606c7dd4f439c214d994ee6e9d6bc119f305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003759bea1e814a318cdbe580b626a29aac6f361a8e4abb8331aaba1e51fd9b005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d93477fe0cbdcd9e93df2fb0ee2fd92774896e8df5c13943155f982b68d6204a0113a2dc83afcd4a12ee00582003672d296930cd12bf9344df15143ac170bef00ea12b29a48a1b4c65d3e6a660498786e69ced988e3ed8021998bb03ba0efe195f25852ff635f2c5f9437bad8bfdf5f8b7bcd068de51e4cb4fe2c90c03154ffa2ecc6d84f8d70a50d1b7aa040a2fb7e03fe5d4832cb209b0779d2a877603ed7af2d6d115bebd3bcef536a6d92920151d60320dda085d93f06d21a8917ba403d9bbb58cae8ba55d30a179114044182c95f07376ab47bce11c71307a692be17a0368573a01e4a1a3522bef445d86a9f7e4f1355cdd8547dffdb3bc1e1235d94b70032e6db6fbb646b05f6a8fe9da5bb69d826c395b4078465b228bb87b064d8dc27c0219ffff03a6784e250f2ab5468d0e75866680dc977c76ca8cb73596884013dfef53414cf2036a891038f972b328dbd58adfbc1a88cedba07a5985ed9987ab15cec30622b6d00219ffff05581d02f907ba5f284f0ca5d034c6d589795aa94eaea96dcb0b74e009e468f7070119222005581d020dc39e34af40137c411a651e1a0a6f8ed8d22f78f55eac3736e1bf16040105581d02737b2439b45e4210aa553dab848b11d3d67f98d17a439a85a3d821f80401021910c0038da1aa4678bb79a26fae29650a908b68daa30a90af83de69c0d1adbbb8f86da505581e03090d8cc6576c61c61aa47b3141fa9fe3a2c1ecfefdb81b8e7bc6abc800040103b170550ec84c89d9df20e2266ded5f6c7b04be710ba1a6717dfaf6eac8e95f25037738770962b39db8856414fd622c592b9e97886053fd341d5b9c01c2f5ff81b503562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0379af6291d9b64c68616a65c5602ce0990b3017e630eceabfe65a79911007011bffffffffffffffff05581e03230c72be189697e099a459493725c2c7a508953d286b84de9eaad3b5400c064830b0d5a2250879a205581e0344b1af021795b6d7be7fce1fdb17fc871bd937b4a8347d67b41a8754c00c03467af6ef940a0005581e03c72a47674d283c75a1e90ace4cb5b92cb9c40c1d1898715662745762600c0447896235c0ead4e003cfb01c589c4440f9fc4e68f25f08042323670e3089b50ed33425f1512c5c3cf602199ebc03a8f7d7ef42e4eb0ec5a4f6f58fcd3bdd830b7d54169e293a7b5819320654e2c7034cb504519f9a4c811d3914ec4ea4336da8a448a2f5e43cd4751cbbc502ce08530399b42ecb184677400443e1a4af32c5b0bf427ae31845ece8313db27fe61f3189037d6364c3b67b15c34cc3193242836546e0ba33d6e13866c896dc635d81101f410367b30eef88d850f159d58fae18a882c1eac12594a90f628a2f0bca01ee79c3a90359cf0970a7eaee48856843197b30473a30bda6dc999de30aa676553de42d96ce03f95301409228a13145614d303587cad29e2d154805ffa04c6b08249bae073ee00338ebdf56a777e2f6e0eb807fc6a77c985283dcb1116f5bf386be4c227dba1a29031c245c65533bf0aa05520ef7d48c699ce3f29659f3b7ede9318b5e586e1883e4035ca07326f2c00edef8ce4f4ee32c701d15c4aaa98794ebe44d64d57999be21be036686facc7b4a73f08d5e20ba7a95b57840203f30978cd99e27c4e40f8077b1f903425d7f8be9c262ce6e1ac16c098296e7539ac97b39d9806b618eabc23843ff1e039cfe29f0c9f5e1c5aa4e039bf7768881d2bd2b392837e6d0074321fd7892a89103fc850dc4d6423e59d2923da8e3cfcbf2ce978c5ca85b92c6358a8911381696fc030ca394d3d8047f6724c8ba283fd96ff85fee5729f954e1176c59a4d7ec9acb670219ffff03dd475c868226416519a5fb0df299cdc7197261792214615066393dfa3337bb5003032b24d75c28a2ae6c710287c7b354f82e3557be979835b92d60d52fd6505de70219ffff03e8d268e6f55e32fe1f31c400faa325aaff6ea0f98f049f30e049e22ee837200b03dd9422f4eacb4851a370d6fc418d7f410de355adeb093d838046a54f00317b0a036b0d90c07f2ec27f51e6feb593ed469d56cf5566e1704f276fae122333fb3c91038747847531ca4787ec97cc3cb875424a3af606c63963bc29680128320fbbbddd034dd8dc47a28babf77d24c96c6375378016299732929c0ca7d0c3707b637254a70334c04884be6ff8721a7404ced38cd54a789645114934b667cdd8efc49aaefa6e0382bd166c264f17bf9133b28073e3872c525c56a4ddbd9d63ca01f8e314a3e5020219ffff0219ffff03556456a8460d2df781862d348988999002e55c5bf7f8506d6d1576869139f37b03c71b63cdd7f53b294ce6ff17aa85aed261c40dd183516b0858c419bc34c3bdd203fb4182c8cedf5732c23809d3d376bf16d2b1738fe5221084e394a8f9e9d47e68030d2535806ba05aa04f3fa5714496f2a81e4558b87f8f3ab9b82c643929df36f00388cff251fa1143863e5cf72ef5fa2be2e3f1cddda3fab0b5f0c4ea89ca22277d03ebe1c861a2ce8061cd80d51f1ce52ad413ed5ddb1055c2f6c16512fbfdf69d7d03525eec72a1118bf37cd4a2e8d40ae913c22b8d19b38ffd3d5c40d99e221b5b7403f0ebb5ee77e3f65676e4862b7a7c4b370f23088a140cfc49b60ad8bb705f9e7e03333662901ecf9522fe5105a01e11eb63f5e0bc900c80cea24a5e6586edc2bbc503d0f521a242f7bd2391fa0ed869283065aec5ac1d892d7172cf3ed3cce7243da703b2214e0d7d2921f09929e0089d07ffa29c2671523d4a784c41aa9a20a3971f9c038419b5e91ebb235805473b1e234040dfeedd3d384045a69aec5c648e4e079c9c03adc0406d8a5166f506200c0f4b11dd620c3a71e2d73c61514a6fabb11381828803834783b25ffc1dc6ceb302eca0e77e5a0752b860565acc3f4cf418e13cc4d8d703c6ca599c25b1e8a9dd614b43a514e3a5178f2d00ed4319554df93e363299780d03c13640396ffb86873c7df898a4042da1bb69d6aac6857cda70c73e35bb635fb303a32982f5495ccb7a9ca7e804b13086bae482202fdc2c963b60031bf8ab6d5a240342dbbf17de5c23f57c750a0ea158d219f1a4b829fa1e194b601b7afc15eec2b003fca8463f95119cef1caeabbd932553ebf2130b003f0ac5dba1cab3cf1a6456d703b9ff9002c9a046f8eb3b0f7cb491ea900023672645ef4d904424744b288e506d03caf8ca391c062aee35d63be3d9c9913b1c021b6c70bfa96231b537702ab4a04603baa1d82c3f7252bdc9ab1c0d81c076142f584d77fb7acd7aa050dcf121d57413030aa29a34d586fdc08b73220124ed062003b3655aad8e435dfc4df129464ca1340310c1054763d452ace2bbc8297261e074f629f224fbf80c612ee738a5b2328e97039c9284bbc717936dffad2f100b5656978108602e6b3a550cacfa51ea6a7a2c92030e5b435fa8c5b29d043fd61861d67a17ac11edf2ca6929fa4b85f77085ad90da031d09a9856c91fcb413579f1a541acc9c7852d6f9753f17512d4df2c5366929a4034504c3eb31959d9df61ede59cb117f96508282442b13e1b1466b25326032db980356fbc807afe5e4862f5fb6848088cb1e7a52c1722a26d7b4bec0174ede8e08ed033580ed331a2bcacf91f076d836c2d37d69163816e15c8b6f3c57bcfdc4f10a2003addf2fc32982ff784378ea224804e83c2972dd5be590b8dcd08c5836e8b1e67f0305ece6104af3b41d8603922ece3e9c36d6558670cc10f300e7a2680c1699727b03f2a6777d1f1ed68af69df1e17fe678bb34884743c3c6630b0240c913d648cfed039958f2d1046fde36bcc5abd7d491031ceab437071a3868d6035b9f56dd11096003863cb4b91eadb3709c1c71a8e39971553751b8fdb257f54877a914be2ad7914503a2dbf6537b496ea7c544436fc229aa1fecca144507ffd0df2b739d26f7d5de5703a6b51ecec43300fbe384444eccce7a9a9f1e26b2006b25046564d242c410ae290366bd8bbcc61c0338b325ccf2476ce86c1e9a743568c81dbe6842d9b74251cad2032cbb7e0908f9405d1e71ccf0c940da13133005a8c4f6501c0e5cde3627ea0bf60340d3d4f4f18e88f4760fc8cf17e9c4d07bc602ac3d6872477666f8bea5a4a2af03b8dd8a47f934d9d7150d5446a7f59a2ff5cc1be396419cd230ffddbfce9fee8103d923a63224df93f3d42693f09f9fae38506ee6dc1f05f78eae9d7b7dbab5bf8003b119f415255fb2d9b9baed301b971a5729899c6e36bb96a3f466c4924d452b02032e9b8d25eae2353e5083c9260ad258952b98b655b6044ec09b4278f6117f889605581e030696f81bea0621ed7216f305919a6dd717d5ad4d187f419ecd77d362200c01473b5081fca2d00e03341008eb993362cefa1c35c9a858d17fe14cf7c88d6ba6fa16199426da77f77703c5c73d375013071c15b6c484f25cd3291faea3c494d8f5c995f271d4a3724422021917110219ffff0390f67f250dc567ff2d221a746a3a7b2db7303c03ca0fecbf804afed68d33400a035a0cfc239c249bc3cc7c4ce478ca0c4302cd0c4ff95171c0bd56dad4d5fd2ac403dbd6f44e20b8c3b121a7a6ed93c49bc22f112f15d4a92ab6cf3d1c609d9e75ef0219ffff03af26f35bf20e4a4fc9e699c4b99a72cb385c973defcd257e2aab8ec55ceb41640398ace32230491d527b5e84c94b217f348f97f618c81d80bd86843fc5f70fd16a03d94841e29016ceb14a805291d84956a0bcb39ffde155007f037eab6625cb7bc40219ffff039388929ee61ac70a0151f5665d10c26d664ec4bc95a55fef2840f1252e37d3010349f1a558065b11b38a79b74dec3851ec33a84976d78bff4ff0fae1de81c6b5070392575d72d8a0550590568a0cf4cd9bd67011f9cf18fb86a874f7266e014e03260384d773bf16bb444df6bc7b2023ac5d8b496f00c4ae786b9d82f26f419e6a80ba033887f8fade40c757e6bd1c3d1cba5e55e2c6e1a59de6401ac2712b15534d089c0376d2ed7e56ac183a0dd548197c1372c05b34381198451861ca871783f30ad4e303f9e499f6a583c7e950db5d2ec768278aeabcaa2a63d378087d892e76165037d5030006d4bdee2e6fde4aeab4342a237be8c61f1c175bc5f7c2014ac535f8bb535603cb45b4b4f12d133041d8026e4c8bae1e3be39959bb76b81764ae047d97378ec303687109bd839646977e476d50ef4c722b107be8f22d7922a4c52539b92d808c3a032fb1b9d8beb68ce5ebb10b88987dd21e8841e0f609a54abe0f32b91c64cace9a03ef6c89272b7040a81aae738d1ed088b62e68723968e16c65dda7558a81938f8503a68375abb339e288f7e23b22d788b11ba6394e58e116fc6c1a063bd9fc394bcc0219ffff030bb4535e47ad6e42b5a72b68f01402dfabc12caf931eb95d5e33360baf8f9884036392f6d3af05b7874679631411fee4ee854f3b0eaf754918cabda18f910f105b03eea89c21e58af22b9e63df5fb5fefb7a972bd0e77d7bbe03dd323cba133dc9ce035392d5ccc027a186d74ae0daa4774d0a3698ff1bcadd5c40b3036331af677d5c03b531acdb4c1dfd4715165139ebfbd06b53b90d13a82daa852acaaec084b5447d0357e07c275bffdcf8e2202b3449d1c8c65a5fdc7623d77f1e05be17bab0b792a8037f9d5ff67dfbfa0a62295a379b62e191140371e3fd83f1b0e38c765ad022e1100384f74ca111b8c75046176c260541bfb8ffbe8812fa2f2b3206677a192f0e937403c976c0bd9a72bac4a6473c5eda2168e246ad60c2cec37b367382d6a0ee833e35030cf1f11f50ea5fa628e961c5f74ade5f839739056061c504634e80c85f22e1400347ce27a2f27cd7cbfa1ba6e6d24dffc105b37e76944354d802e926b9bc05e01e034a1f400dd1a5e70d63af4e0347b4432af123ceb7c5b8395115e288894ab6d4410358b112cadc3a5a7baacbeff71efaf5037ba3f06846af623a986d97187d98469f030c51bec617c88bb8978bcfc7d3c4e7a8a204cb0e15313c031acc0fbf96bb74f40372f7b059d826ac678290edb1312474ea2bccb8c9a02da0e15fd36e9064e81360035f84bed9d81ea55617ee2a9e83f6dddd6001a9d698f61d7cb69ebd3a365e592b032be2c38bbc02a7e95714790ab67a1f28c65f69340c5ca20465dabffef9caad5c03e35190e7e99b5d43f655ef88de06e358e73f01241efef148404578e74d0301d003319e456d878a6ffca57c8769d28ee87f841f0639cd6ee3e2a5bc6694031a7207031ca20c5f59869ee592bd079e89dafa331f1db3e02b775f9b4dcddd403d6506e9030889c0a399a2303c5ed498f117ae4647e2ef3919eae606f263821389668d357703d4eaa1e129275c196040cc308192f97c1622a28b49410c2e2d67a9c469bc7222031aea93dbfcf2d456e15800c2dc9ad8eedf8c90cf1f67a6d701f1de04ff99f57f0323a09a2706b055b90436cda67e183a2a0095435ba43028e5645073c790d014b205581e031c2f40859f84b22f891ffa718f4e70f1df166b00bb9ea17a417d5d95b0040103cf991db76896c91579ffd41c1e7f9e1e990d77738292fe12249da5122e47c121039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581e033650f89071b42a9f2ff929e443f0fe86fb630fbbe431f6b6f3ec2b103007011bffffffffffffffff05581e036aaddfc713a893f9f4e09e773f690f88f0b16be1d630ba76139d38c490040105581e03296fd2a53949b2e3927eda9e5701e17f4d8a1e524622eb7f19892c71d00c02471cb352ffd2c97905581d02ed06b1f780966f05baedd8c1aa365acba4fac9f56eaef37830714560040104593030608060405234801561001057600080fd5b50600436106101da5760003560e01c80638b95dd7111610104578063c8690233116100a2578063e32954eb11610071578063e32954eb14610504578063e59d895d14610517578063e985e9c51461052a578063f1cb7e061461056657600080fd5b8063c869023314610442578063ce3decdc1461049b578063d5fa2b00146104ae578063d700ff33146104c157600080fd5b8063a8fa5682116100de578063a8fa5682146103b8578063a9784b3e146103cb578063ac9650d81461040f578063bc1c58d11461042f57600080fd5b80638b95dd711461037f578063a22cb46514610392578063a4b91a01146103a557600080fd5b80633603d7581161017c5780635c98042b1161014b5780635c98042b14610333578063623195b014610346578063691f343114610359578063773722131461036c57600080fd5b80633603d758146102a15780633b3b57de146102b45780634cbf6ba4146102c757806359d1d43c1461031357600080fd5b8063124a319c116101b8578063124a319c1461022f5780632203ab561461025a57806329cd62ea1461027b578063304e6ade1461028e57600080fd5b806301ffc9a7146101df5780630af179d71461020757806310f13a8c1461021c575b600080fd5b6101f26101ed366004612529565b610579565b60405190151581526020015b60405180910390f35b61021a610215366004612586565b61058a565b005b61021a61022a3660046125d2565b610794565b61024261023d36600461264c565b610861565b6040516001600160a01b0390911681526020016101fe565b61026d610268366004612678565b610b0d565b6040516101fe9291906126ea565b61021a610289366004612703565b610c44565b61021a61029c366004612586565b610cdf565b61021a6102af36600461272f565b610d5b565b6102426102c236600461272f565b610dfe565b6101f26102d5366004612678565b6000828152602081815260408083205467ffffffffffffffff1683526006825280832094835293815283822092825291909152205461ffff16151590565b610326610321366004612586565b610e30565b6040516101fe9190612748565b61032661034136600461272f565b610f10565b61021a61035436600461275b565b610fcf565b61032661036736600461272f565b61106c565b61021a61037a366004612586565b6110a6565b61021a61038d3660046127c4565b611122565b61021a6103a03660046128ad565b611202565b61021a6103b33660046128d9565b6112f1565b6103266103c6366004612917565b6113be565b6101f26103d9366004612957565b6001600160a01b039283166000908152600c60209081526040808320948352938152838220929094168152925290205460ff1690565b61042261041d3660046129d3565b61140c565b6040516101fe9190612a15565b61032661043d36600461272f565b61141a565b61048661045036600461272f565b6000818152602081815260408083205467ffffffffffffffff168352600982528083209383529290522080546001909101549091565b604080519283526020830191909152016101fe565b61021a6104a9366004612586565b611454565b61021a6104bc366004612a77565b611597565b6104eb6104cf36600461272f565b60006020819052908152604090205467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101fe565b610422610512366004612aa7565b6115be565b61021a610525366004612ae6565b6115d3565b6101f2610538366004612b1b565b6001600160a01b039182166000908152600b6020908152604080832093909416825291909152205460ff1690565b610326610574366004612678565b611692565b60006105848261175a565b92915050565b8261059481611798565b61059d57600080fd5b600084815260208181526040808320548151601f870184900484028101840190925285825283926060928392859267ffffffffffffffff9091169183916106039183918d908d908190840183828082843760009201919091525092939250506119ff9050565b90505b8051516020820151101561072d578661ffff1660000361066b578060400151965061063081611a60565b9450846040516020016106439190612b49565b60405160208183030381529060405280519060200120925061066481611a81565b935061071f565b600061067682611a60565b9050816040015161ffff168861ffff1614158061069a57506106988682611a9d565b155b1561071d576106f68c878a8e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505060208801518d91506106ed908290612b7b565b8b51158a611abb565b81604001519750816020015196508095508580519060200120935061071a82611a81565b94505b505b61072881611d28565b610606565b50835115610788576107888a85888c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508c925061077f91508290508f612b7b565b89511588611abb565b50505050505050505050565b8461079e81611798565b6107a757600080fd5b6000868152602081815260408083205467ffffffffffffffff168352600a8252808320898452909152908190209051849184916107e79089908990612b8e565b90815260200160405180910390209182610802929190612c26565b508484604051610813929190612b8e565b6040518091039020867f448bc014f1536726cf8d54ff3d6481ed3cbc683c2591ca204274009afa09b1a1878787876040516108519493929190612d0f565b60405180910390a3505050505050565b6000828152602081815260408083205467ffffffffffffffff1683526007825280832085845282528083206001600160e01b0319851684529091528120546001600160a01b031680156108b5579050610584565b60006108c085610dfe565b90506001600160a01b0381166108db57600092505050610584565b6040516301ffc9a760e01b602482015260009081906001600160a01b0384169060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b179052516109489190612b49565b600060405180830381855afa9150503d8060008114610983576040519150601f19603f3d011682016040523d82523d6000602084013e610988565b606091505b509150915081158061099b575060208151105b806109dd575080601f815181106109b4576109b4612d41565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016155b156109ef576000945050505050610584565b6040516001600160e01b0319871660248201526001600160a01b0384169060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b17905251610a5a9190612b49565b600060405180830381855afa9150503d8060008114610a95576040519150601f19603f3d011682016040523d82523d6000602084013e610a9a565b606091505b509092509050811580610aae575060208151105b80610af0575080601f81518110610ac757610ac7612d41565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016155b15610b02576000945050505050610584565b509095945050505050565b6000828152602081815260408083205467ffffffffffffffff168352600180835281842086855290925282206060915b848111610c245780851615801590610b6d575060008181526020839052604081208054610b6990612b9e565b9050115b15610c1c5780826000838152602001908152602001600020808054610b9190612b9e565b80601f0160208091040260200160405190810160405280929190818152602001828054610bbd90612b9e565b8015610c0a5780601f10610bdf57610100808354040283529160200191610c0a565b820191906000526020600020905b815481529060010190602001808311610bed57829003601f168201915b50505050509050935093505050610c3d565b60011b610b3d565b5060006040518060200160405280600081525092509250505b9250929050565b82610c4e81611798565b610c5757600080fd5b604080518082018252848152602080820185815260008881528083528481205467ffffffffffffffff1681526009835284812089825283528490209251835551600190920191909155815185815290810184905285917f1d6f5e03d3f63eb58751986629a5439baee5079ff04f345becb66e23eb154e4691015b60405180910390a250505050565b82610ce981611798565b610cf257600080fd5b6000848152602081815260408083205467ffffffffffffffff168352600382528083208784529091529020610d28838583612c26565b50837fe379c1624ed7e714cc0937528a32359d69d5281337765313dba4e081b72d75788484604051610cd1929190612d57565b80610d6581611798565b610d6e57600080fd5b6000828152602081905260408120805467ffffffffffffffff1691610d9283612d6b565b82546101009290920a67ffffffffffffffff818102199093169183160217909155600084815260208181526040918290205491519190921681528492507fc6621ccb8f3f5a04bb6502154b2caf6adf5983fe76dfef1cfc9c42e3579db444910160405180910390a25050565b600080610e0c83603c611692565b90508051600003610e205750600092915050565b610e2981611e10565b9392505050565b6000838152602081815260408083205467ffffffffffffffff168352600a825280832086845290915290819020905160609190610e709085908590612b8e565b90815260200160405180910390208054610e8990612b9e565b80601f0160208091040260200160405190810160405280929190818152602001828054610eb590612b9e565b8015610f025780601f10610ed757610100808354040283529160200191610f02565b820191906000526020600020905b815481529060010190602001808311610ee557829003601f168201915b505050505090509392505050565b6000818152602081815260408083205467ffffffffffffffff168352600482528083208484529091529020805460609190610f4a90612b9e565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7690612b9e565b8015610fc35780601f10610f9857610100808354040283529160200191610fc3565b820191906000526020600020905b815481529060010190602001808311610fa657829003601f168201915b50505050509050919050565b83610fd981611798565b610fe257600080fd5b83610fee600182612b7b565b1615610ff957600080fd5b6000858152602081815260408083205467ffffffffffffffff1683526001825280832088845282528083208784529091529020611037838583612c26565b50604051849086907faa121bbeef5f32f5961a2a28966e769023910fc9479059ee3495d4c1a696efe390600090a35050505050565b6000818152602081815260408083205467ffffffffffffffff168352600882528083208484529091529020805460609190610f4a90612b9e565b826110b081611798565b6110b957600080fd5b6000848152602081815260408083205467ffffffffffffffff1683526008825280832087845290915290206110ef838583612c26565b50837fb7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f78484604051610cd1929190612d57565b8261112c81611798565b61113557600080fd5b837f65412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af75284846040516111679291906126ea565b60405180910390a2603c83036111be57837f52d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd26111a284611e10565b6040516001600160a01b03909116815260200160405180910390a25b6000848152602081815260408083205467ffffffffffffffff16835260028252808320878452825280832086845290915290206111fb8382612d92565b5050505050565b6001600160a01b03821633036112855760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c66000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336000818152600b602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6001600160a01b03821633036113495760405162461bcd60e51b815260206004820181905260248201527f53657474696e672064656c65676174652073746174757320666f722073656c66604482015260640161127c565b336000818152600c6020908152604080832087845282528083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519384529286917ff0ddb3b04746704017f9aa8bd728fcc2c1d11675041205350018915f5e4750a0910160405180910390a4505050565b6000838152602081815260408083205467ffffffffffffffff168352600582528083208684528252808320858452825280832061ffff851684529091529020805460609190610e8990612b9e565b6060610e2960008484611e38565b6000818152602081815260408083205467ffffffffffffffff168352600382528083208484529091529020805460609190610f4a90612b9e565b8261145e81611798565b61146757600080fd5b6000848152602081815260408083205467ffffffffffffffff1680845260048352818420888552909252822080549192916114a190612b9e565b80601f01602080910402602001604051908101604052809291908181526020018280546114cd90612b9e565b801561151a5780601f106114ef5761010080835404028352916020019161151a565b820191906000526020600020905b8154815290600101906020018083116114fd57829003601f168201915b5050505067ffffffffffffffff841660009081526004602090815260408083208b845290915290209192506115529050858783612c26565b50857f8f15ed4b723ef428f250961da8315675b507046737e19319fc1a4d81bfe87f8582878760405161158793929190612e52565b60405180910390a2505050505050565b816115a181611798565b6115aa57600080fd5b6115b983603c61038d85612011565b505050565b60606115cb848484611e38565b949350505050565b826115dd81611798565b6115e657600080fd5b6000848152602081815260408083205467ffffffffffffffff1683526007825280832087845282528083206001600160e01b031987168085529083529281902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038716908117909155905190815286917f7c69f06bea0bdef565b709e93a147836b0063ba2dd89f02d0b7e8d931e6a6daa910160405180910390a350505050565b6000828152602081815260408083205467ffffffffffffffff16835260028252808320858452825280832084845290915290208054606091906116d490612b9e565b80601f016020809104026020016040519081016040528092919081815260200182805461170090612b9e565b801561174d5780601f106117225761010080835404028352916020019161174d565b820191906000526020600020905b81548152906001019060200180831161173057829003601f168201915b5050505050905092915050565b60006001600160e01b031982167f59d1d43c00000000000000000000000000000000000000000000000000000000148061058457506105848261204a565b6000336001600160a01b037f000000000000000000000000253553366da8546fc250f225fe3d25d0c782303b1614806117f95750336001600160a01b037f000000000000000000000000a58e81fe9b61b5c3fe2afd33cf304c454abfc7cb16145b1561180657506001919050565b6040517f02571be3000000000000000000000000000000000000000000000000000000008152600481018390526000907f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e6001600160a01b0316906302571be390602401602060405180830381865afa158015611887573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118ab9190612e82565b90507f000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe256864016001600160a01b0316816001600160a01b03160361198b576040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018490527f000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe256864016001600160a01b031690636352211e90602401602060405180830381865afa158015611964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119889190612e82565b90505b6001600160a01b0381163314806119c557506001600160a01b0381166000908152600b6020908152604080832033845290915290205460ff165b80610e2957506001600160a01b0381166000908152600c60209081526040808320868452825280832033845290915290205460ff16610e29565b611a4d6040518060e001604052806060815260200160008152602001600061ffff168152602001600061ffff168152602001600063ffffffff16815260200160008152602001600081525090565b82815260c0810182905261058481611d28565b6020810151815160609161058491611a789082612088565b845191906120e2565b60a081015160c082015160609161058491611a78908290612b7b565b600081518351148015610e295750610e298360008460008751612159565b865160208801206000611acf8787876120e2565b90508315611bf95767ffffffffffffffff831660009081526005602090815260408083208d84528252808320858452825280832061ffff8c16845290915290208054611b1a90612b9e565b159050611b795767ffffffffffffffff831660009081526006602090815260408083208d845282528083208584529091528120805461ffff1691611b5d83612e9f565b91906101000a81548161ffff021916908361ffff160217905550505b67ffffffffffffffff831660009081526005602090815260408083208d84528252808320858452825280832061ffff8c1684529091528120611bba916124b6565b897f03528ed0c2a3ebc993b12ce3c16bb382f9c7d88ef7d8a1bf290eaf35955a12078a8a604051611bec929190612ebd565b60405180910390a2610788565b67ffffffffffffffff831660009081526005602090815260408083208d84528252808320858452825280832061ffff8c16845290915290208054611c3c90612b9e565b9050600003611c9d5767ffffffffffffffff831660009081526006602090815260408083208d845282528083208584529091528120805461ffff1691611c8183612ee3565b91906101000a81548161ffff021916908361ffff160217905550505b67ffffffffffffffff831660009081526005602090815260408083208d84528252808320858452825280832061ffff8c1684529091529020611cdf8282612d92565b50897f52a608b3303a48862d07a73d82fa221318c0027fbbcfb1b2329bface3f19ff2b8a8a84604051611d1493929190612efa565b60405180910390a250505050505050505050565b60c08101516020820181905281515111611d3f5750565b6000611d5382600001518360200151612088565b8260200151611d629190612f29565b8251909150611d71908261217c565b61ffff166040830152611d85600282612f29565b8251909150611d94908261217c565b61ffff166060830152611da8600282612f29565b8251909150611db790826121a4565b63ffffffff166080830152611dcd600482612f29565b8251909150600090611ddf908361217c565b61ffff169050611df0600283612f29565b60a084018190529150611e038183612f29565b60c0909301929092525050565b60008151601414611e2057600080fd5b50602001516c01000000000000000000000000900490565b60608167ffffffffffffffff811115611e5357611e536127ae565b604051908082528060200260200182016040528015611e8657816020015b6060815260200190600190039081611e715790505b50905060005b82811015612009578415611f51576000848483818110611eae57611eae612d41565b9050602002810190611ec09190612f3c565b611ecf91602491600491612f83565b611ed891612fad565b9050858114611f4f5760405162461bcd60e51b815260206004820152603460248201527f6d756c746963616c6c3a20416c6c207265636f726473206d757374206861766560448201527f2061206d61746368696e67206e616d6568617368000000000000000000000000606482015260840161127c565b505b60008030868685818110611f6757611f67612d41565b9050602002810190611f799190612f3c565b604051611f87929190612b8e565b600060405180830381855af49150503d8060008114611fc2576040519150601f19603f3d011682016040523d82523d6000602084013e611fc7565b606091505b509150915081611fd657600080fd5b80848481518110611fe957611fe9612d41565b60200260200101819052505050808061200190612fcb565b915050611e8c565b509392505050565b6040805160148082528183019092526060916020820181803683375050506c010000000000000000000000009290920260208301525090565b60006001600160e01b031982167fc86902330000000000000000000000000000000000000000000000000000000014806105845750610584826121ce565b6000815b8351811061209c5761209c612fe4565b60006120a8858361220c565b60ff1690506120b8816001612f29565b6120c29083612f29565b9150806000036120d257506120d8565b5061208c565b6115cb8382612b7b565b82516060906120f18385612f29565b11156120fc57600080fd5b60008267ffffffffffffffff811115612117576121176127ae565b6040519080825280601f01601f191660200182016040528015612141576020820181803683370190505b50905060208082019086860101610b02828287612230565b6000612166848484612286565b612171878785612286565b149695505050505050565b815160009061218c836002612f29565b111561219757600080fd5b50016002015161ffff1690565b81516000906121b4836004612f29565b11156121bf57600080fd5b50016004015163ffffffff1690565b60006001600160e01b031982167f691f34310000000000000000000000000000000000000000000000000000000014806105845750610584826122aa565b600082828151811061222057612220612d41565b016020015160f81c905092915050565b602081106122685781518352612247602084612f29565b9250612254602083612f29565b9150612261602082612b7b565b9050612230565b905182516020929092036101000a6000190180199091169116179052565b82516000906122958385612f29565b11156122a057600080fd5b5091016020012090565b60006001600160e01b031982167f124a319c00000000000000000000000000000000000000000000000000000000148061058457506105848260006001600160e01b031982167fa8fa568200000000000000000000000000000000000000000000000000000000148061234657506001600160e01b031982167f5c98042b00000000000000000000000000000000000000000000000000000000145b8061058457506105848260006001600160e01b031982167fbc1c58d100000000000000000000000000000000000000000000000000000000148061058457506105848260006001600160e01b031982167f3b3b57de0000000000000000000000000000000000000000000000000000000014806123ec57506001600160e01b031982167ff1cb7e0600000000000000000000000000000000000000000000000000000000145b8061058457506105848260006001600160e01b031982167f2203ab5600000000000000000000000000000000000000000000000000000000148061058457506105848260006001600160e01b031982167fd700ff3300000000000000000000000000000000000000000000000000000000148061058457506105848260006001600160e01b031982167f4fbf043300000000000000000000000000000000000000000000000000000000148061058457506301ffc9a760e01b6001600160e01b0319831614610584565b5080546124c290612b9e565b6000825580601f106124d2575050565b601f0160209004906000526020600020908101906124f091906124f3565b50565b5b8082111561250857600081556001016124f4565b5090565b80356001600160e01b03198116811461252457600080fd5b919050565b60006020828403121561253b57600080fd5b610e298261250c565b60008083601f84011261255657600080fd5b50813567ffffffffffffffff81111561256e57600080fd5b602083019150836020828501011115610c3d57600080fd5b60008060006040848603121561259b57600080fd5b83359250602084013567ffffffffffffffff8111156125b957600080fd5b6125c586828701612544565b9497909650939450505050565b6000806000806000606086880312156125ea57600080fd5b85359450602086013567ffffffffffffffff8082111561260957600080fd5b61261589838a01612544565b9096509450604088013591508082111561262e57600080fd5b5061263b88828901612544565b969995985093965092949392505050565b6000806040838503121561265f57600080fd5b8235915061266f6020840161250c565b90509250929050565b6000806040838503121561268b57600080fd5b50508035926020909101359150565b60005b838110156126b557818101518382015260200161269d565b50506000910152565b600081518084526126d681602086016020860161269a565b601f01601f19169290920160200192915050565b8281526040602082015260006115cb60408301846126be565b60008060006060848603121561271857600080fd5b505081359360208301359350604090920135919050565b60006020828403121561274157600080fd5b5035919050565b602081526000610e2960208301846126be565b6000806000806060858703121561277157600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561279657600080fd5b6127a287828801612544565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156127d957600080fd5b8335925060208401359150604084013567ffffffffffffffff808211156127ff57600080fd5b818601915086601f83011261281357600080fd5b813581811115612825576128256127ae565b604051601f8201601f19908116603f0116810190838211818310171561284d5761284d6127ae565b8160405282815289602084870101111561286657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6001600160a01b03811681146124f057600080fd5b8035801515811461252457600080fd5b600080604083850312156128c057600080fd5b82356128cb81612888565b915061266f6020840161289d565b6000806000606084860312156128ee57600080fd5b83359250602084013561290081612888565b915061290e6040850161289d565b90509250925092565b60008060006060848603121561292c57600080fd5b8335925060208401359150604084013561ffff8116811461294c57600080fd5b809150509250925092565b60008060006060848603121561296c57600080fd5b833561297781612888565b925060208401359150604084013561294c81612888565b60008083601f8401126129a057600080fd5b50813567ffffffffffffffff8111156129b857600080fd5b6020830191508360208260051b8501011115610c3d57600080fd5b600080602083850312156129e657600080fd5b823567ffffffffffffffff8111156129fd57600080fd5b612a098582860161298e565b90969095509350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612a6a57603f19888603018452612a588583516126be565b94509285019290850190600101612a3c565b5092979650505050505050565b60008060408385031215612a8a57600080fd5b823591506020830135612a9c81612888565b809150509250929050565b600080600060408486031215612abc57600080fd5b83359250602084013567ffffffffffffffff811115612ada57600080fd5b6125c58682870161298e565b600080600060608486031215612afb57600080fd5b83359250612b0b6020850161250c565b9150604084013561294c81612888565b60008060408385031215612b2e57600080fd5b8235612b3981612888565b91506020830135612a9c81612888565b60008251612b5b81846020870161269a565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561058457610584612b65565b8183823760009101908152919050565b600181811c90821680612bb257607f821691505b602082108103612bd257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156115b957600081815260208120601f850160051c81016020861015612bff5750805b601f850160051c820191505b81811015612c1e57828155600101612c0b565b505050505050565b67ffffffffffffffff831115612c3e57612c3e6127ae565b612c5283612c4c8354612b9e565b83612bd8565b6000601f841160018114612c865760008515612c6e5750838201355b600019600387901b1c1916600186901b1783556111fb565b600083815260209020601f19861690835b82811015612cb75786850135825560209485019460019092019101612c97565b5086821015612cd45760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000612d23604083018688612ce6565b8281036020840152612d36818587612ce6565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b6020815260006115cb602083018486612ce6565b600067ffffffffffffffff808316818103612d8857612d88612b65565b6001019392505050565b815167ffffffffffffffff811115612dac57612dac6127ae565b612dc081612dba8454612b9e565b84612bd8565b602080601f831160018114612df55760008415612ddd5750858301515b600019600386901b1c1916600185901b178555612c1e565b600085815260208120601f198616915b82811015612e2457888601518255948401946001909101908401612e05565b5085821015612e425787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612e6560408301866126be565b8281036020840152612e78818587612ce6565b9695505050505050565b600060208284031215612e9457600080fd5b8151610e2981612888565b600061ffff821680612eb357612eb3612b65565b6000190192915050565b604081526000612ed060408301856126be565b905061ffff831660208301529392505050565b600061ffff808316818103612d8857612d88612b65565b606081526000612f0d60608301866126be565b61ffff851660208401528281036040840152612e7881856126be565b8082018082111561058457610584612b65565b6000808335601e19843603018112612f5357600080fd5b83018035915067ffffffffffffffff821115612f6e57600080fd5b602001915036819003821315610c3d57600080fd5b60008085851115612f9357600080fd5b83861115612fa057600080fd5b5050820193919092039150565b8035602083101561058457600019602084900360031b1b1692915050565b600060018201612fdd57612fdd612b65565b5060010190565b634e487b7160e01b600052600160045260246000fdfea26469706673582212200cadfbfa7a3500543d3cccaa88637fe3e6de9643115ee2aba8968d512f3c914864736f6c6343000811003303c97bd16b83cd9c048825b4bdbdf41d150f13bb81024af28e7951eaf1fea50ccb03b7ad744659107c7cbee8839fcffd41cf6010fcd742db5345688cf98fa81c9e8e0329b5f59116bce80a628ba4d8f1e37699f15147dcedd6ab4a630449a414742169037f796a8d3e9f390768018613cbc7cff1580c66d77314d3ccabc572fb052a391903060801fc76fede927e5ff6be8662f1888be70e4111e1869dd7b3e29bc1cb1c3003979f12e6741dce196678527dd899cf2e80abcc22f69d78028fc77992840d36c6037aee2325303507fc7e39d6118e1677d458c4a4fccaa1f6c3623909c8f0e1244903bd4e9ab1e39684aed5a3d0a736bae45efa879af02271120e9fa89fa791c7516103b89247dff2374ceb247623a6ae3d58afc32cf1c32903f40d57810a0fdba4f46303058bc9d0db5c073d7d08a798da6a4950317e3d415db4899d0726232a6deae238039a72859efbd58d21138454fdd5ea733485ee80f25bc99f697187f7c02d41974e03017054cda8b5b52d0b6bdbc834bd1dc021e6663348ef27888456530f7d09e6fa033315d687ecffe3eee2af2939808dea0fe3db308c64754bb7d9d9bc3e94fa549c03a9a3408e56129d8baa2993807f030859ad543edd03d258b6ab06cc90f5183885037cbcd374bc2a8676f5175dc5f1dfb075daa0de3c6cccc157c1ca4ce4803f163e03a14d4525cd6151708962c75057828a40ed41c4620462e8e70faea70e5ccf0aba036af3993cbecf4fabcc4acbee9079a2f3d3fdf7049fd818825daf0dffa77e23eb033289f1bfc19ccb2b8e2b9803990e4c91045712fbb6e99f43b2bf27c45385d198039b90303f61283577d9218e989186bf4a77b4f222dc36d946c765ded4beef43d603b11479ca82e5895a3f9e35a39f60bc9971ad9d5a0affa7bd7039f8fc0bb1dd7e032f1a0dbda553c2c282ca2b4a772337211860526ec3894285167db42ccba85077030b6d018174433b3f4e014345e112f300f6dccb799bf6a0d8faf9d5895d9da080037a633b5ba96cfd733a5788647dddb9e9fcf4d501e93f1d8aa6ff39a3c48ddaf40384bfd25824e27a881f9fa8188c928c8fbbb00d7b6a948afafdfe69febb3dd89b0363a60cf70c82d6e38aa9fcd3d9752eda9cf49a9f2b1de513d26e18c2354277a203ce0eee1170b5db4fd6ac8e07b9ae45155288433ef44be6cebfb53033240c102703db04e150820c21f04822a71d0bbf6f352fecf30cb8d8e5dbb153cb3a6cd84e0d030016d2f86b4cee871909dc61f12ae09df8c58ca5f57ce1b0808c7ee70c30ae21030a9a14fbc2d00e69d052f9bfbfd99687d1e99bd8e659ec3ca639d43e1509446e03cc12853b11e07e0104ed1ef2d4b5de44f2ded0586f44d3b41f337d6a1ad0a90d03e30e3540d2c605a04227608f343700c4d9abacacf0f22bff0f835d5260b0ab4403a4ed8d4ec82b3e6b6b0c744a2dd0c048b3a3efab97c030f7df9ec6a76433a7dc0350389b54dd433769a4d51bf8dfdb55508a365e9b5e7056b2abf6db3e434af04f00581f0386aea059c24210eaa31a1be533c4f247a6dd93a6525f00503a6a156caa40582062352a33e8639db200ffe41214d81bdb223b306e00000000000000000000002800581f030f205efaac0af0edf816a760253c7b3c57242dea43f4aa36025244a0027058206c696d7072616973652e6574680000000000000000000000000000000000001a0313023a57c7d607e3f8fe5d55d383c4feac5024423d616b20d339fa5e82fa263903d4eb6338a4ff02094181ec7f71edd3a8b508720ddd139f6acbd92806da007c44034e7a9ac104c703e714874eea4698a2dadbe25ec80d4e82e202fc532605a2c71f00581f03506d12189efbec855ed68d4c22d5935f50cc3faf8fb20aae69e877d3dfb05820540dcae8b81d52d9336e30bbdddaab3bfcbfb07500000000000000000000002800581f0362a44b6aafc3d33d95654423a0db6d91fb347bfe86279251ddf929628d00582050b59c83d0243671ee9474633a68509d56e9e1b400000000000000000000002803afa146af1e168237c8c1f716beacd98f431e89fe6b8fbec85554f17da73d6dd80382ae8aec7f244bc8f0baaf854a927bbd924cbf6bbaddc1a7bed5e118edbe4d1900581f03acb5e940d29001fa889e5a001b8d47b608c9af07d12552318c61af4f54105820616c6c6d6967687479682e65746800000000000000000000000000000000001c00581f03916e23e0c09c7fd51a940a5fdf0ec8d4d4acd47953d96c2b3c525225a720582022ae8d622288a1461ed0ccebf7ab8f5a4a10fbc90000000000000000000000280219697f03e7fa633693ae5aa01ea85fa429b7bfcec5ea9b5b13982825c604dc43c0edd9ba0321664f4439270f151aa3c36c7c18f945a3c79a2f5cb1d574ad7a4137d81ba1d1033006642c644c1b2bfc97aa2267a8739bc32adc588af1f2edb88e787c61302491035e179620835d550954c2bcae347173bbe78d541e52f2726ddff271be11aca72903b1034f64a55c84f110137a7040fed570ab8d97bb522f556aeadc65e36a0db65d03dca3798f5aaa95c27a4483f0fe0cffb44a15e7f0e207a615a21dc70fbeee902903feb6982f3f85f00c70848064e2b440c719c87d30021637e8dba49d29d877a06503b76ef421e20033da09ccc0de1430cf80e1c24b654277dd96ffe7ba418e69144f03ff226852d9828e099a3c94df2ebaae40ff12d548497d8540d56af50958756c3e033304dcadc0a4318158e70e83bab31194039376430796bae886a9c96b86889cf90219ffff034a44fe4c1bde6c7c8325df5320f6633bc14454a0ae17b70366a92d61d05457b403d6e517ea3dac77781d66c1d16d7086e0f51683f4a209384006efc42607b6e0a803d50cdfeb229158214477c738dafb2024f02cec9fb1e7711a6561edd958b37d6f0327499c0dab9f5ac7b93f3e731f3276d7dc66ad87efba5f0816dd06bf587bfc3703e9063f8afd142367708c86d12d10e3a73404e40fe0033e6e6690eb2e64488f0a03b049462a852fd02cf3a7b0dd4e3acaec1baf09c621743bbad99358df7401e34f0219ffff03e0eb5399b01ed8c193c00a9c1ca56e1cd08dd7302b88121ad99a314da81f58b503513458a0f33370e90faf6c51655593a38573d1c551c5d54a1d8f8a9c8b0140140328c75b0cac4889f1b5f0c271b700ead429539b3b1bfc01ebf702a20bb3abf2a203714f969d3eca50a9e8ad4105a48fb978070f5852844aaf5444667fdc0de4df250219ffff0383d2a0a78ee311b0959d9fb97f4e1dbed9ea96a4090ae9643882e9e16b3cfe8903846a4ae24c57c21873c15862ee6be605d39df105e083b2121a73f60473ded10b035021d5484de7ea7b8dc60df8273faf8ad62917e217b51d509b683af1103898ca031e231bfa443b054d0cab2c551cdbb97030b78c6126d153b5ebf950b93a07b1b603aea81091da08e164e6e171d60aceb1481bccdbc94df5efb135da88f37afec88003e44a38bb06f7951f2a3c05f2cee9f407271e1f1acd25bd9e2ddce81ed1d462f0033d79b836e7776d95b45a8f269c1f7e61fedefad76c6edf53ab9dcfd9867ee487033c04924ccaf8c2b77939fc1308f5b99b293783aadffc84aa45f42d0defe4c6ac035dfeabb1c2a3ba4f26b29af36b002001b49cd10c082eedf9304608f8bfa6e29d03bba917fa2d56a9323c55ceca09ffb845d6c9e4326a132337b8d7abce2ad512dd032a767f7a24fa4e71e79aff8f31432cac17f37ec9310b28bbf084a9af2b5a825e03279ce48699a8f7a65ba77ddda57667e0a614602c79567f6e5da012ded8e7ea5603643566be02a9a58c32c4215aa0c3e85ceecc39e21add0a73b4a70112ea3344fd03704d869faca8e61d0b94df4380635a73c2978864748ed68306216aa9f78f053c03f5b0bb9718fdfc76fc1d72442428939f338066547cf6f16682a22bfe9efa9a900393e755784519b86336148dbbcd7479e49632c781101b7b8285b557ffae68229403492bc5cde8b6817e76cc8f3ad6dfd9dcc6b50f361a43f9e13c96eb25319ac50f037b893f098af0934d9f643260932f93076948e189a0fc8a1ca06851b9590e4ee90383f0893a430547ed01c08b4eb00aa51f3bf67c7b659f7a3804b79e64d74923f70368067d26a84afaf52eea096f5072be250ae08ef4e05a3bc544d597c1caa007cf0342ca6cea92414a6d2ed0ca404f6356d52bd091aa1eebf0e6777a72c06e7e425503aae725f8095fa05f10b10e62a1d885fca13d79a9acfb45a39c6a72998159088d031d700f6126810de3f00271029cd62dd4fe77963266c9c0a9806f9cbbe6c649d500581f03a40afcacc38a8d64e78484739c1318ba047e6b185120c1cf91beec78a490582070616e63616b6573627261682e6574680000000000000000000000000000002000581f03297648e62bccaac9404264e4282c0340d81213cffd5c9824107f777dde00582062696c6c69737261656c2e65746800000000000000000000000000000000001c00581f032e0720762b157fbb30693f53644e1bc6309b0d2c6c0202ab540d37afafe0582032c52cc786dc9b919ebb0a14426e3a94fee4815400000000000000000000002800581f0308d0e5b4af0dbbec0db18e05b89b78d33316d14a8db9e4b6188eea3230105820636861726c6573626f7572617373612e6574680000000000000000000000002600581f03b987f701dfbe357db7285a92237ee42369022523728c65eeb6d6f4e404c05820538e35b2888ed5bc58cf2825d76cf6265aa4e31e00000000000000000000002800581f0309d86f2d7b0ef1f5ef449572f50838869e9c7419ab2b19bdb83b673409a058206d75736c696d696e677573682e6574680000000000000000000000000000002000581f035fe55de32b24032b160716badfca434ddcb9e8d4e822c4254f71b65fd6205820353100000000000000000000000000000000000000000000000000000000000000581f03ec3efdccfd2ed6f932b002355bedb0945a073673d889ac0488844a1f15205820e63e9efa534cf8b1fcaa45ad624e84aa53c8c5d1000000000000000000000028031e5a7cab43d18454e6c9f02f57f4f4c13f77f8acfff9e35bd702698a775e7bf000581e02d387b8c2451dd806b22fb660631e23182aefb1e54adc51427a6e41322958207363726f637a6f74732e6574680000000000000000000000000000000000001a00581e0234cbb4b60cb2432432b6ec15de286c4fedbefcb5a7c7df5d69751b775d58207f00d98671df30a5998dfe3633a8a608d92d66c700000000000000000000002802184100581f03059c93f3e01365d2c1c8f744f44b115c428c520ad756b3326289d03323c042013700581f037c72e7401f20709bc27c5fdb1c2bcd76995824f6791b0780958580cf7bf0582068747470733a2f2f6575632e6c692f646562616e6b2d646f6e6174696f6e2e650219bcbf034e1d5374787eb6afd199c27f26e29aca528b3fa02fcff8cc0d0de312edf08c4d03e6dbf60b3e86bf7d22c6fdb0747f4c03395c08fb66413fcaf09c8ba8b94ef1d2030d57be48f6a4469ee39d0628726391f4bf2e6657e3c010305ad3b8db6ab20d80031b7554165af84ae5b1ee70e20fbbe51087203039bb62d0fb1ff735b81c7bc274032fe985f505cfe21b2aa708497315225498b18e10c608472670aa77f099f0511203e6cb4e4c140f48e35be0c2504954580d7791e0368696bf042aa111add6c2be4303f155813e03b4f4334764a787057773349096bd0eb11173bd055ed2d502a6205003780aff28ff08ccf4b7a9db4fb7ea9ac47c5e586458737015f16c6ad199c0abe6030515788e3355e88329939cb5fc7b9cb306c31d6cb56c0b792df2622eccea2b5103a4fcc29b0a0e6d4b1b8d2fd2ec3f67705d7ec5cb8e3fa611b56f8a8e64f37d7e034c6639f5ad2c5b1642ddd8b0193bab2cfc554aba9b1063f50856521981e7901a03f5902fd8a70e74561677d380214b98186be5d95e4e761f01a840b8760a7a671103aec466b93c072c23da2c17401a53e9fa9d9a0ac5bf80ec071f34fa139aa1f705032571a47fa902e9aace3c123d8d21a1dd2d1dee7bf69e96e45ea0b4bf0ff6c405031b3199e0487d151e27c1135779dfdc9fc0dc403136b24475f3f678c1eee2c9be0219ffff03d6be0bb863cfbb4f0014abaad2747142fa35855b5a9534951bf619caf1060ba8035d1e10642f769871ec80db31e4c19825f1fc2e7c3a528781d65c211f467cbc54037a0b07d365e061b53a920363ca168fc1eaebe13f15723bc707b06ec5dd5844c5032452ea50b0223ee4b97fd41bd11b34362956a498d61df9dbb1221cda0df2102d0219ffff035f7858b7849e5b109fab2c921add3bd51b9a1b710171a1ecdb4db23cfd0f04aa035e04d3b5930a362bce33cb0c9ebe7679b50a5ea0c983641f82879d170afa23610312ba15d5bed3a146c2a8c88cf36da3a3b099fd107aae6fb7bea2423e52ff1d41037605ddb500df3effde4a43ea326f485eda0a8011411ccce6edf2f06c603826070219ffff0339a08a6383f2e88eae553d901975b5f45b59b78afb37d2b6e744af9905cceb5503ea6cc864e610a580baac52519a236944e3204cdf62cce05e030887d00790dfc70376155759f5e2b826d2b08689d1e745a45b6088159b9c0aebe22b8a98404fe8d003ba31e62a6446add0a69cb097e6af252847aa383d9d1173745297ea426d3bbe3d038421ec6184f7eb9a9dac8e383e4ae4aeb6a9a66a10bc3b35cbe46ec5690f9111036fa9d1f47a958ca1a4640b89eb3a65bb94025c6200ee04ad6e1b8d65f1193a0603212b011eebdee7a6bdb4ff517cb0a653fbeb5c083bf307a677b9f63da36a67a503db77b782442ce4fdf1e9d227a389087a37fe93a35c45f10c01d49b94db16a676038a47f8552f39bf777a436bccc3d84a4f5ef960b6432ca008dc1f6a6bd596148f032335ebdd106f1de6e9f251fc419b76914e3eb42c529279dc34ba4e52af21761203e35982224b4ccc0f138fa95884271bf14f37e5083a0cf7e98406a656116175170351524a93a062903855713de4f25cabab45d6410e749fb2e0a98e3d7c9a62a91603d5d4a8ed389dd7cbf23680a98c0c4aeeb06575ec781b23f014ca42f5e464feb4035831d66c767be1115895cbbac6f9e6ad6cb280c845913589037cf22d231f6ec9038823f73b2620ae9d9b08da61a6f0fbb7274dccb0961ca4b93054726bc3e9e4c603f0c45e06809d6c31f041d21153acdda5cbfefee094de49751e608cd4a9114d6303692c6a6c74837645e161f78f912a19435c8551ab56689d073ced28ca39e89b1d0371488330777ab99580fdf19e7c5228db93ffd6329be921c420840f15145bf0f303564054d2862ff28a4e4f0fbf5fd74337f94ee054e3adf50c64de0926ac3cb41e03e6cb4ce5e3be65ace85b98d7cc372b8733db7384938f681ee3a575593d53c17103fd9df32dcb095231eb029fee2214ca061cf53756a3be61dd6a963a669f914e28035420a24fa783988e8db09806bfa253f9629997a68c4b278c3ff7d99cf82b88ae03782c35779908aab5695cf1909988fb117097742ee0fba1a561320f946a8da17603731cfb66604d05e6c0f132f71da7db01032922fa080990d5e4e27bd8ca92c4a100581f037da79504136a42ea4dc5822d7d7ed30306e9effa08aae6f6bf86dabe68d05820448fa9d4442bb840deeb5bdc1388d5b0fe3a982000000000000000000000002800581f038b9178240740df26159843959e09e63263f370a87ab8e6c15d8a036bff805820787878696f2e657468000000000000000000000000000000000000000000001200581f03fa26df7d723080ab16b8e6d537378abc269aaa1349cebced6f18d1828ce0582020656e65726779206f662063697479206c69666520696e206120646563656e7400581f031ee4b5ff44190132299a0c6d28743c24a43e49ba5d2af562a0881b5e20f058203ff20d8d8c1969744e4e1fc96e566d402dfda3a300000000000000000000002800581f03ebc67985af37472523a9bd1c0fb82acb95a05885afb184e5558db21c1c3058209c04c3186f5471c4e58db47ecfdeeda92c1e8cb20000000000000000000000280383ef230354a99de644c9ce9135a9d3c1c8776b0423dcb5f73a8cdc60a7179c0a01410a0375885927c6033e3c54a7a8f603f7bc4b17a6b03add32c9b6d6fde860fe53f8290219546703c5532e8ddfea04a56c4e9d2606e8d0029ae43c5b40499dd261a7d8bb87f7af3e03aa8ef18b7a9d3cce348a1189801f14a2bad1eaad4b405ec56a243a8052511e5703144e3b81367db75e83f2266ddde47817619ee6a54fdf452594f972d6842dc96d0337bdb617ff99530eda84efd82067b8c043e8f2132ee5a3491bb598aefd61b670034af9b67f6cbe98dd2e61fe0c2a82ac0d412bd1a6e86552518cad44c0eb735a2a03795b416fd955302e7c2548479e88b30eb87b70aa90d32cfa655d0dc81468253103b949879d85e87098ad67328e05b21950c9b43554d3a8ee58e87eea6a6c896fbd0384cbb1fcd9840da3bbe088587108fa79e61d954699c5af3c0ec1ae3dcd079cd40219ffff0356e839fc4e172031986f63b00fb4cf02b59ef2fc439a14ad5141686be8dd9b0f03e8afd55ca7e6f0bbe3afa1fc32a7eb7de73b8f4676478407c8583c5188f38dc603c02bfaaaeca699920d6f17f39151c3c59b418175cc39798f8faecfe15dcb7f7603874c0cfa69b64460cf4ea1fd050f95c20aa5af74eec1d11e2b191ddba224e8e903c55cba1e8fc576f4f0baef0427f1526107a2555fc5052f55898dce3cd4adc1cf030e2145ed2f154f97edb3268fe8495f10de71f95fe8255a3afc2566445c1fb6bc0219ffff03d711f4a7d4dbfb6db13c6796b05079a1e7a5b58bfa00e3488ddce9a04033d0b7033bdd08c79d5d9fab3c2c6927214fce8944eadf4819e9f897058818e63df3033f03495321de06042ce47ed04f6a9e4b7466f7c58111a4ec34d183e174c8b57a58620367eb8c518122c5cd4bf61f4424f9fadfe388ad4a858cdf6cb46628dfaa3dde7e039518baa3bc482f18539e231f88aa1d868da3ea212a9185c6a4afa3c27ff81fe603a34056f1a1247d7e45ff35f05c3a1c5b726bf627d731581aa00fc8c93cdcc2f903f703dafe13d1d0ae4132b50f450923204bf7d3a2682e1e4321f6676eff187dba03543307878e38c578a6a01148dec59fa87d82e779d3b8e514409ae6c4161123cc03e1472649c96850bb81bbc4d7a809c9f5f272b4c66f86b1aebeee0aa18e50d66e03f54533a0d15b24dd6785599ac5886ee8070b0c275cff25ebc614bc515db9d48c038e8199dd43845c0f7f47d7b7ad68dd7a2cd43fa07a1297a1e733b1aee04308a703ac274e9929faf2de993dfd30a2e57bd7ed842136feed2fd761bee029a39a394103860e4a38a496d39a1d7407afde29a3ef60b84953107905feea10a6b19d097585032cc40dff89bd98dda8e75ca9bdd209cc9bd04512309641741aac3a7bf75418c600581f032a0fec0d06ca07070155d2d935a5b0a4a10df4725bd6b15b41585414bac058206971617169612e6574680000000000000000000000000000000000000000001400581e02f794e2d58d317071c0c9730433da0c5f1cd05813d7a07054ba41870c2158207269796164687061792e6574680000000000000000000000000000000000001a00581e02103c70d6395e346493bae6e400578a1ccbf38836c3e2544b764c22305c5820627569646c677569646c2e6a75616e6461762e6574680000000000000000002c02189000581f032a718e69ea0a70342289fbab37022c043fe563aa1b1c51e39875aaff7eb05820ef8377ee6b771b9b855dd8884bbc694aeae9c2cd00000000000000000000002800581f034b5063eb60e00ad4e65a40ddbc107e4ad3f8e35efe94d7acad4599241c20582068747470733a2f2f6575632e6c692f706f706c61766f6b2e6574680000000036039a28b17c6b7cd383fb06aeba028fdb03567b8330532ccc84f899211bd6148e39031a763019a7028968910ef415ec448c1acb8a3e9aebef3b118600b578ab69329e00581f038653ced317534bf0717be1512a8679dbbd41b623a4ae3c94c84734d7e19058200e9b9237e67807d3cdb988d05d6cd55db898fbb5000000000000000000000028036c7520a9f761388dc7a566beec5d1f163e4d775bcc4b22d75099afd0b76b8c2d0337b76db0f992a7b4ce57c70dd9e6c4c97e6c53b125e416bd71405a5ad173e7e202198ef503e1174849b2540f48a07b5b017bac583075bc4a4a34871f50219908bc98ee77f1038bbfd4f3d51a9d2e77c30b2dfd3529f48801d6feee45cfcdbdaf685610429f11032b50f280e0ab7af686808f23f9eff97c667b0b2c0ad60cfbc15e9bae21e519a603559cd97c663075cc20f2364235779c9426ee339a8edf9a4dd5b2634a02414b2a03b59abff19772d2e16654fbbe3b4a611c1360ee874d84bafee53cfac6bdf1f7c8033969345edda4a9a71828a6140f65a2611e8d3102c02ea6a4cdb843aa3ae8ce78034faa56c3fac8b6f3215f6f6d37fad5a335698ec65516393c1d437754f798495a031d64493e13849f52f00a7c76c9bf9ff4282c8ae753be2f81d8987d8447d4651703a1231e1828cb2e2f1b015424558f960ef70e1a96c67e42d8cae49e573145205503a0d244d1eec78d90e27907be59a70ac87c2976c7a777ac568213978f24cfc3bd036355a54a4a8502345fd395fb4772a03a4ef308910c0c024100123dcfc48d5c5203f182d0405bdff978787395f561d960ef9da9b280031782095bff9269523c7edb0219ffff03b5e067e19150f4c99942c44031b10e08220439209a5de83d1a903a5cc601d53903c4e1083e00a215ba422ba3e5829f6539d5530d6bc08eb7f02f5b479ef9d7186803121b7131a2a77bcba3597fce1aae616df35cd8922dff99630c12ba411cd9b3cf032febef0aa0201edcf40767e875e322dcb4f72968c5e7b5345fbce0fe43d5a381032cf4c6eb5b89cf6871d668d75880d8d789103e00ef931e4657168401778520c70219ffff03007c9e3628fade5aff8f81de5f39956e433cfae3e5fbc464b166e4667c09cb5b0397ddc6100a20bf00864beb144abd92462ef960bc6f22216fe3986d707bab5d26036abb5ef9d838be2929b57ae9a0be073077f747cffe2839f4182f3f366c57223803bde9759f0ec351d94b4697b5af4a57042fefa97fd7e3b5ca44f678e9dbe924dc03ac29f709220ef24c00fc4c421fc0d90f1095ccdb73a42b28cb42b219b1d7c51d03c82a45f0a04a358135dd9f17a00c7d33cb466dbcca825a33819077b26ffed05903c098e14fd85e81bd9b3841d11e4555aa408fc2f4c5b48ad75fb63ba482e165ae0219ffff035a1acee38aea8f0ebba9a9139a8e944c0cb714cad7d0605ac5f551af5ec330a30335c49ea322625262bace6c53f23dd6ef5529a5ee4898cc9b5b2797681b6c2e8d03cdedf496be9093dabad0b42e98e8fc77af461447c05dbce2c97ad5180c0cd06a0308b70537467121c019acc080df3b83348cba63b5ae3f2df09dfc0497e62ce9cf0219ffff05581d02e8217fee3a67a350d1b85e8b65ca3a443916d27eb6f451e3a1cd2f3807011930300209032543a9dbd493e61f206c7d01074634006187073e6d101615107a7283a020a3fe05581e03010a9cee1d853d0f6b9b98555fa4ea7c02c80cbe5a87b88b578e14cbc00c1851471b21b58345140a030a919ce41e5b6b086f9557015f89baa192049308378bb981a0435c1b91dc8267033ef4f8fecf7b232ff1aced1e36dda8d286f2609daa4d192e4e755041b881c26405581e039b6decd9415d2831e8c44d0ea45c7721996bcf140783851ce05c76fa90040103cbbd3319a945f175285ee5d7629ab465d13f6a966227958b78893c578ec7819b01410d0219dfa603da741fcf04fb99df2b66fc5e06bc02c8c36a764b3041f163a147de8ac70ba6ca03edb7447612bb1aae9825b52af5eab596a421edeaca038e5026334e502e022afa0219ffff035bb2fae6e2349ae380118551e975a950387ee12ca90e2a7ef2c0758137d7fbed0373f9921b30aa1e18d291003f7fb0bcc773ce56b258e7ffb853407f759239976d03440b0e1f7c804e8688697cf41a0a5918c398c6ff096348d1e05e578f01c2f6c703d29a3886c094567170d719e72b68233b8b2b5087169ff4ef66f748ed11f03ca5035945a690e2026b603bc3ca488fef9fa26738f227bf6b0130bf3953ce7f6aadab033b512d0fa701f31fa9399cfd6d40bafbdc3d21dbbe11465dfcf0cf10365f3aff03da84c598330d901c982332c90fc200190543e40dc1228b46b1a80daaaae29a3303a64e877173514d60bc4e6a4572f0257754ea43fe466288602bead481477d2e7f0351acc1319a008d902e9e5ba430e0612376d1d26bd57953be6edab041576f3050037e8e8c40cf351b141982554b3295eed9d9bf67e0f0dd121e56f6168f4fb5a3900219ffff0399153c350e96ec3d947a893b6ff62a87531f1bd72d5dabaf3195ec8c7e1088b9031594c568a2b7c67428f081173356339240a084d6a58ce889ada95b0695d051c10383e5431500a06dfef17d730cc1fe0fdc969e033b82663e329d7ff49d537bebd90355a798a88b1a0788831c6ec752deec8f12544d2c87c73cee48c4b6da5695639c03b4ac991eb95d9c06443ed5238dfd0ecc4968667e9632b749962dcd53066c6641033992f09aab5c1a269d2e47ed62e595cc829e9dfc43178eba0ad0a25aa2bb985e03694870ade49822477838b1a708799cc239f8f6bd82154fef6ecbaf3e2ce4cd3603169e42d3a4434a7971bdab20bc3ab7596bb5b7b758efda1155a189f06ff718a80377c4536e6bcee496a7cf1b4779206d5428ce566684513f70243200cfe7f4d15b03e418eed3750a7a4112d5f48af8e7c9fa6fb7a71abf39d94df15bf9a6f7b531fb0321642f8e8d262750701238d93153ddc3df2a30f8a417c7b8a7495672d3e0a3c003c08115043f4db4962bc6781676098650fb71fab891d767221c56b35c6ffdadf60372eeddb3780b8b98ce6c1cf87a188efd391c743c82bd1251686c13fc987fffde038359979d39b5619b12fed4e7478d4f70390664b09af399bbae024214343d0f3003a289dfe67d19bce8f501baa2c9e8676ce0eec5ca5d8b2ba27839b49a9604e9070306096fef9af1d6e30111bf7cf438f5c4a4f71600656f79c8e9ecab9e09d0705503f8c5bf86c8eecb41153d345b9faa8b5e2d4628d3d99f2023059c6d0bb09b4a35036dd6af23a54012bebf7d274205229baff944577f0a792cd082b6111425d2169c0363bbcfa6917b130220dbfefd047421cac45831c851df0e2a0e03739a73227940031f2a72c2e2c603aa4efe49495a233c5a1635b2fc806e990c592b146575d31a2703c891042f2584352ecd6f062b829cdf9441c88ea00de76a530cddd2d522566ef90307e0ec1108685ea3e79a9b48d5fb8205575a5fe2e9c189a6983fa3b0efed87c70311c9b1aea2ee19f890d420274895cb1f737e8faab599f2afbe540a746676dce30385a4f69c653e4f359f075dc7467d38ffb7ca2ab8f86fab86a255ee2db62e8fdc039e6267eced99e633ce3f853e69a92a6b566e4b4c7277e1efac94a533b16dc49903fee31351e16e61b952e9a13ee5cea15a765aed5c7a647f1c05305bb40256dbaf03f7320fc688b065214ab19e2bd1d67ab0b74d10cc72109682b452e4575b3e5afe0327da12870f690ffcfa9b7c03d952285ae87efcb104b605811d78d780ae76eb45033e89a51eac1f4f3f9e4016830d8d94f0311cca17e249234b94dea2ae9cca5f1503fce38b164dc4b4c7e1bc7dc999138bfaa1df40ca4697fcbfa32295a12778200d03307d40946a903c27715814d67c255a76446b84b3c3aa09ebb4910095cd161afe03004a4f41395fe6d3a8ae67893579a7f3543861fc0bb7effd968f2f67b041d29e05581e03944427d62bd8ffb88f0856620e8efc202fcb779ef5e079453e1aa34b200c0b4703b4b0e0dccaf005581e03da7a41e6d3ece86fb11eaf7e33c0e1863a0af4239e952a063399339cd00c0147153ba07da9a6000327c02a1a822222c2ad6a9a01021c98abf05dbe6d19540035756ef97697ed41d0032d71f5447547bd592f77b35bccc1326e4030f1eff315100a841e4f5801e1f6b505581e0316b279229b98d909023e2e6655a029bf0ca127ab0709a94ef9a46d817007011bffffffffffffffff05581e036066bad5d837b8cfe1cf9d13115a448d7f589829b7a03983a4c1e65e700409038d233f45f37378331a48da655dfa4d0f07c1f33b8dcf616cdf609635df03b9b501410b05581e03b51fa2874aa5ca94a526024c05724bb7f3899cd4959e7359ae486be0500c0246c16c6d7d283705581e03595e0ea451fa421700e5dde91ffc1148e9f7539279a20227abfd21e5a00c0147334f5b8ab2c3a8045908a6606060405236156100c25763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663060eb52081146100c45780633cebb823146100f05780634a3931491461010e57806350520b1f1461014757806379ba5097146101735780638da5cb5b14610185578063a6f9dae1146101b1578063ad344bbe146101cf578063d4ee1d90146101fb578063da4493f614610227578063da682aeb1461010e578063df8de3e714610282578063f48c3054146102a0575bfe5b34156100cc57fe5b6100d46102c8565b60408051600160a060020a039092168252519081900360200190f35b34156100f857fe5b61010c600160a060020a03600435166102d7565b005b341561011657fe5b610133600160a060020a03600435811690602435166044356103a0565b604080519115158252519081900360200190f35b341561014f57fe5b6100d46103b5565b60408051600160a060020a039092168252519081900360200190f35b341561017b57fe5b61010c6103c4565b005b341561018d57fe5b6100d461040e565b60408051600160a060020a039092168252519081900360200190f35b34156101b957fe5b61010c600160a060020a036004351661041d565b005b34156101d757fe5b6100d4610466565b60408051600160a060020a039092168252519081900360200190f35b341561020357fe5b6100d4610475565b60408051600160a060020a039092168252519081900360200190f35b341561022f57fe5b610237610484565b60408051918252519081900360200190f35b341561011657fe5b610133600160a060020a03600435811690602435166044356103a0565b604080519115158252519081900360200190f35b341561028a57fe5b61010c600160a060020a036004351661049f565b005b610133600160a060020a036004351661076e565b604080519115158252519081900360200190f35b600254600160a060020a031681565b60005433600160a060020a039081169116146102f35760006000fd5b600254604080517f3cebb823000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015291519190921691633cebb82391602480830192600092919082900301818387803b151561035657fe5b6102c65a03f1151561036457fe5b5050604051600160a060020a03831691507f027c3e080ed9215f564a9455a666f7e459b3edc0bb6e02a1bf842fde4d0ccfc190600090a25b5b50565b60006103ab84610776565b90505b9392505050565b600354600160a060020a031681565b60015433600160a060020a039081169116141561040b576001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b5b565b600054600160a060020a031681565b60005433600160a060020a039081169116146104395760006000fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600554600160a060020a031681565b600154600160a060020a031681565b60045481565b60006103ab84610776565b90505b9392505050565b60008054819033600160a060020a039081169116146104be5760006000fd5b600254604080516000602091820181905282517ff77c47910000000000000000000000000000000000000000000000000000000081529251600160a060020a0330811695169363f77c4791936004808301949193928390030190829087803b151561052557fe5b6102c65a03f1151561053357fe5b50505060405180519050600160a060020a031614156105c157600254604080517fdf8de3e7000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301529151919092169163df8de3e791602480830192600092919082900301818387803b15156105af57fe5b6102c65a03f115156105bd57fe5b5050505b600160a060020a038316151561060c5760008054604051600160a060020a0391821692309092163180156108fc0292909190818181858888f19350505050151561060757fe5b610768565b82915081600160a060020a03166370a08231306000604051602001526040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b151561068857fe5b6102c65a03f1151561069657fe5b505060408051805160008054602093840182905284517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810184905294519296508716945063a9059cbb936044808201949392918390030190829087803b151561071057fe5b6102c65a03f1151561071e57fe5b5050604080516000548482529151600160a060020a039283169350918616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c9181900360200190a35b5b505050565b60005b919050565b600060006004546000141561082d57600354604080516000602091820181905282517ffe67a1890000000000000000000000000000000000000000000000000000000081529251600160a060020a039094169363fe67a1899360048082019493918390030190829087803b15156107e957fe5b6102c65a03f115156107f757fe5b50506040515191505060008111156108245761081c8162093a8063ffffffff61085b16565b60045561082d565b60009150610855565b5b600454610839610875565b11806108525750600554600160a060020a038481169116145b91505b50919050565b60008282018381101561086a57fe5b8091505b5092915050565b425b905600a165627a7a723058207dd29f36b36242b58bf4302dc0231d67506daf098539e7b07b0e96f023db4bf700290058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db005420a7b20b9c213e6705c72a4216fdbc628a29d06c0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054bbf0cc1c63f509d48a4674e270d26d80ccaf60220058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace054744d70fdbe2ba4cf95131626614a1763df805b9e00582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b044595396d1005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05455d34b686aa8c04921397c5807db9ecedba00a4c0219111505581e03d67876a2f211a166bebe49b3bc828a81a5cc7aabbe9303acaaac422d6007011908a6021954dc0219ffff0361687c818d2ec2beeef4748e6b0f45e745f0390545ff3062fe66daaeb1852f18033d2a4f3dee2c7f89f4cf8daa371e3fa3c63d9b450cf157d1e4b9986e2f74c9700219ffff03248f6d86b7deea2576d23a68b6d9ea881c9f68df014fdef899d329a78fd972ba0379c9839556b0163e94f14c0e69b7d8e633d48a295992e9f157576bea7b3cb8a1036c5c19a36727131bdc8429302f04da6edb260b8041681e1a2559c9502b5c0a250346b73ac2e26a186cd352c531593b94863d1b0e24c065ad64dc85bded0a44fe1a03563d8b5b560e36dc8945ba02626038c64d509f6880a81ec83098f013f722f60a0315be3f54c7363ae9d804273dffd1bd5cdd28ffab7cb9cd05586254a0432c794c03c3958b2b60e70c67373ea0f6cba8a72ba847500b4539dbdffbda589910f8a1e5038fb319854efe22df856e70033e480baf48b62f32f88c42b8ce322f778ee834830219ffff03a275d4f437b316321999cac22808679a8e67d142eb9591fcc67af4fd39199279031052e433bf4d55b0e0693e674fd00e250e39788201011717d7877a3e6d48eaa303317eb88db91e9f359846dd6083d7dc7f2d3d661a3c3958faad8e4bbf59ac0f08031f6d94f82517655cd68bcf9f9444d370f5027ca1a608e99175685f8f78c9e13c03d174988a7a638560a277fef6bd86f57ca35d032f8127356c8d7ace03c134efa5031c72d27a4ad072209735520a9ff083918838e3f1a60b89e918a46ce4ca7262b503a2e949d6e6925c6689bc24f69c3d4e36412299c3b742026e5897ac02a7b5f7e80311926af8f24daba8c328913b66d293183e92f254c15a15c0baa9050570decb2a03c4a801e812328aa4df1803fd272b34306cf7b421cfb542e2b3df3eba133642cd03900a5b167c4546f95c7940b29622a32d1840c1e7854e62340520434f50f6a0e403d11795cce478697f5d8e1db4abaf6b1aa44c080897c847a57b591760f90c5791033f9ecd894bd902e43d408f35b4721907e0f8f172c1abfb049540db2b7bec55fe037af16ab0a2cc6607162ee0e126a9bd452cd9100bff9f4edb948db682f0e0163a03fb4ea90b5ef001eb45172ca2038c39be521dd9e06d4bf4c6e0fbe4d228794b5e03a9725a7f91f96609aaeaef0d211402bcbb93d4264703425849f96cbec084fe5d03c38c400f01369f32c2a9df418775339888741628bdeb36f4bd9de889d16285bc03fdce28733ca252919ae9f5ecf4ae3f7337993c4e0ac3a33ee052b243205e14680340821c05f4aa352914870cd9b3531ca58d93ab864b153fdca268e975bc7a232f038c306ed4ea4afaeeace846bbeaa5175cba8f7620fc617900f0bb20b219d6d0c403e6a985a0c0fe56ea473fb7892b6ed2d8977140a4d0a7ed65c0dd92499f6219b4039a6fc315c329ea2931629bd9ae0760300b66d2027533ce23b8e8e4a3172e02f6035aa67a0e686e48c31a7461ca0667926b27d0b7330c3d4c70e88aa41bf1362f6d03ccb64e2c2727003e1c2315b927cd426217dede253e52a7ff0fde7387c83c79f4032823602674edfc590b623a685a2419c95aeed34b25db41fe466f60f1d77eaf47035af20a124de21bf8da7f5a44c642a972e7664096c83f599cae6e9d5f3e81cb88034a495e00b0eb32f4047b038889b2481786a063673b7e133eccaa3fc2a928a4bd039476e6804758897ae662bf755989f339297534a18f99a67d1b0921869343660405581e03c3dfcf264fd6f67e5ecc250a2d6512cea3d9958a1345b54434a0f6a9900c0547663deeeac5c6b405581e03de305c073f82bda5c36032c628465c7f1cc37b6755a9e4126aa54001f00c181847012b824122f318039710d29b58b4c3ec6c87b47cf6580eb38c0f084fee1636f266c29cbf296035a304592c85606060405236156101a65763ffffffff60e060020a60003504166302a72a4c811461026557806306fdde0314610293578063095ea7b314610323578063176345141461035657806318160ddd1461037857806323b872dd1461039a5780632c71e60a146103d3578063313ce567146104445780633cebb8231461046a5780634ee2cd7e1461048857806354fd4d50146104b9578063600e85b7146105495780636638c087146105c357806369ffa08a146106835780636c182e99146106a757806370a08231146106e057806380a540011461070e578063827f32c01461073a5780638e4c64c01461076d57806395d89b41146107995780639754a4d914610829578063981b24d01461086d578063a9059cbb14610892578063bef97c87146108c5578063c5bcc4f1146108e9578063cae9ca511461090b578063d169843014610982578063d347c205146109a0578063d3ce77fe146109db578063dd62ed3e14610a0e578063df3c211b14610a42578063dfce5a7a14610a73578063e77772fe14610a91578063eb944e4c14610abd578063f41e60c514610ade578063f77c479114610af5575b6102635b6001546101bf90600160a060020a0316610b21565b1561025a5760015460408051600060209182015281517ff48c3054000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301529251929093169263f48c305492349260248084019391929182900301818588803b151561023157fe5b6125ee5a03f1151561023f57fe5b5050604051511515915061025590505760006000fd5b610260565b60006000fd5b5b565b005b341561026d57fe5b610281600160a060020a0360043516610b4e565b60408051918252519081900360200190f35b341561029b57fe5b6102a3610b6d565b6040805160208082528351818301528351919283929083019185019080838382156102e9575b8051825260208311156102e957601f1990920191602091820191016102c9565b505050905090810190601f1680156103155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561032b57fe5b610342600160a060020a0360043516602435610bf8565b604080519115158252519081900360200190f35b341561035e57fe5b610281610d6c565b60408051918252519081900360200190f35b341561038057fe5b610281610d72565b60408051918252519081900360200190f35b34156103a257fe5b610342600160a060020a0360043581169060243516604435610d83565b604080519115158252519081900360200190f35b34156103db57fe5b6103f2600160a060020a0360043516602435610db6565b60408051600160a060020a039098168852602088019690965267ffffffffffffffff9485168787015292841660608701529216608085015290151560a0840152151560c0830152519081900360e00190f35b341561044c57fe5b610454610e3c565b6040805160ff9092168252519081900360200190f35b341561047257fe5b610263600160a060020a0360043516610e45565b005b341561049057fe5b610281600160a060020a0360043516602435610e81565b60408051918252519081900360200190f35b34156104c157fe5b6102a3610fcd565b6040805160208082528351818301528351919283929083019185019080838382156102e9575b8051825260208311156102e957601f1990920191602091820191016102c9565b505050905090810190601f1680156103155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561055157fe5b610568600160a060020a036004351660243561105b565b60408051600160a060020a03909916895260208901979097528787019590955267ffffffffffffffff9384166060880152918316608087015290911660a0850152151560c0840152151560e083015251908190036101000190f35b34156105cb57fe5b610667600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989a60ff8b35169a90999401975091955091820193509150819084018382808284375094965050843594602001351515935061127992505050565b60408051600160a060020a039092168252519081900360200190f35b341561068b57fe5b610263600160a060020a03600435811690602435166114d9565b005b34156106af57fe5b6106c3600160a060020a0360043516611681565b6040805167ffffffffffffffff9092168252519081900360200190f35b34156106e857fe5b610281600160a060020a0360043516611713565b60408051918252519081900360200190f35b341561071657fe5b610667611727565b60408051600160a060020a039092168252519081900360200190f35b341561074257fe5b610342600160a060020a0360043516602435611736565b604080519115158252519081900360200190f35b341561077557fe5b6106676117fa565b60408051600160a060020a039092168252519081900360200190f35b34156107a157fe5b6102a3611809565b6040805160208082528351818301528351919283929083019185019080838382156102e9575b8051825260208311156102e957601f1990920191602091820191016102c9565b505050905090810190601f1680156103155780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561083157fe5b610263600160a060020a036004351660243567ffffffffffffffff6044358116906064358116906084351660a435151560c4351515611897565b005b341561087557fe5b610281600435611b24565b60408051918252519081900360200190f35b341561089a57fe5b610342600160a060020a0360043516602435611c16565b604080519115158252519081900360200190f35b34156108cd57fe5b610342611c47565b604080519115158252519081900360200190f35b34156108f157fe5b610281611c50565b60408051918252519081900360200190f35b341561091357fe5b604080516020600460443581810135601f8101849004840285018401909552848452610342948235600160a060020a0316946024803595606494929391909201918190840183828082843750949650611c5695505050505050565b604080519115158252519081900360200190f35b341561098a57fe5b610263600160a060020a0360043516611d7b565b005b34156109a857fe5b610281600160a060020a036004351667ffffffffffffffff60243516611db1565b60408051918252519081900360200190f35b34156109e357fe5b610342600160a060020a0360043516602435611efa565b604080519115158252519081900360200190f35b3415610a1657fe5b610281600160a060020a0360043581169060243516611fd9565b60408051918252519081900360200190f35b3415610a4a57fe5b610281600435602435604435606435608435612006565b60408051918252519081900360200190f35b3415610a7b57fe5b610263600160a060020a036004351661205f565b005b3415610a9957fe5b61066761209b565b60408051600160a060020a039092168252519081900360200190f35b3415610ac557fe5b610263600160a060020a03600435166024356120af565b005b3415610ae657fe5b610263600435151561244c565b005b3415610afd57fe5b61066761247b565b60408051600160a060020a039092168252519081900360200190f35b600080600160a060020a0383161515610b3d5760009150610b48565b823b90506000811191505b50919050565b600160a060020a0381166000908152600f60205260409020545b919050565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610bf05780601f10610bc557610100808354040283529160200191610bf0565b820191906000526020600020905b815481529060010190602001808311610bd357829003601f168201915b505050505081565b600c5460009060ff161515610c0d5760006000fd5b8115801590610c405750600160a060020a033381166000908152600a602090815260408083209387168352929052205415155b15610c4b5760006000fd5b600154610c6090600160a060020a0316610b21565b15610d0457600154604080516000602091820181905282517fda682aeb000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301528881166024830152604482018890529351939094169363da682aeb936064808301949391928390030190829087803b1515610ce257fe5b6102c65a03f11515610cf057fe5b50506040515115159050610d045760006000fd5b5b600160a060020a033381166000818152600a6020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b60085481565b6000610d7d43611b24565b90505b90565b60008382610d918242611db1565b811115610d9e5760006000fd5b610da986868661248a565b92505b5b50509392505050565b600f60205281600052604060002081815481101515610dd157fe5b906000526020600020906003020160005b5080546001820154600290920154600160a060020a03909116935090915067ffffffffffffffff80821691680100000000000000008104821691608060020a8204169060ff60c060020a820481169160c860020a90041687565b60035460ff1681565b60015433600160a060020a03908116911614610e615760006000fd5b60018054600160a060020a031916600160a060020a0383161790555b5b50565b600160a060020a0382166000908152600960205260408120541580610ee15750600160a060020a038316600090815260096020526040812080548492908110610ec657fe5b906000526020600020900160005b50546001608060020a0316115b15610f9d57600654600160a060020a031615610f9057600654600754600160a060020a0390911690634ee2cd7e908590610f1c908690612560565b6000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1515610f7357fe5b6102c65a03f11515610f8157fe5b5050604051519150610d669050565b506000610d66565b610d66565b600160a060020a0383166000908152600960205260409020610fbf908361257a565b9050610d66565b5b92915050565b6005805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610bf05780601f10610bc557610100808354040283529160200191610bf0565b820191906000526020600020905b815481529060010190602001808311610bd357829003601f168201915b505050505081565b600060006000600060006000600060006000600f60008c600160a060020a0316600160a060020a031681526020019081526020016000208a81548110151561109f57fe5b906000526020600020906003020160005b5090508060000160009054906101000a9004600160a060020a03169850806001015497508060020160109054906101000a900467ffffffffffffffff1695508060020160009054906101000a900467ffffffffffffffff1694508060020160089054906101000a900467ffffffffffffffff1693508060020160189054906101000a900460ff1692508060020160199054906101000a900460ff1691506112688160e060405190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600182015481526020016002820160009054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016002820160089054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016002820160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff1681526020016002820160189054906101000a900460ff161515151581526020016002820160199054906101000a900460ff161515151581525050426126d6565b96505b509295985092959890939650565b600080831515611287574393505b600c60019054906101000a9004600160a060020a0316600160a060020a0316635b7b72c130868a8a8a896000604051602001526040518763ffffffff1660e060020a0281526004018087600160a060020a0316600160a060020a03168152602001868152602001806020018560ff1660ff168152602001806020018415151515815260200183810383528781815181526020019150805190602001908083836000831461134f575b80518252602083111561134f57601f19909201916020918201910161132f565b505050905090810190601f16801561137b5780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838382156113ba575b8051825260208311156113ba57601f19909201916020918201910161139a565b505050905090810190601f1680156113e65780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b151561140757fe5b6102c65a03f1151561141557fe5b50506040805180517f3cebb823000000000000000000000000000000000000000000000000000000008252600160a060020a03338116600484015292519094509184169250633cebb82391602480830192600092919082900301818387803b151561147c57fe5b6102c65a03f1151561148a57fe5b5050604080518681529051600160a060020a03841692507f086c875b377f900b07ce03575813022f05dd10ed7640b5282cf6d3c3fc352ade9181900360200190a28091505b5095945050505050565b600154600090819033600160a060020a039081169116146114fa5760006000fd5b600160a060020a038416151561154057604051600160a060020a0380851691309091163180156108fc02916000818181858888f19350505050151561153b57fe5b61167a565b83915081600160a060020a03166370a08231306000604051602001526040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15156115a357fe5b6102c65a03f115156115b157fe5b50505060405180519050905081600160a060020a031663a9059cbb84836000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b151561162557fe5b6102c65a03f1151561163357fe5b5050604080518381529051600160a060020a0380871693508716917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c919081900360200190a35b5b50505050565b600160a060020a0381166000908152600f602052604081205442915b8181101561170b57600160a060020a0384166000908152600f6020526040902080546117009190839081106116ce57fe5b906000526020600020906003020160005b506002015468010000000000000000900467ffffffffffffffff1684612726565b92505b60010161169d565b5b5050919050565b600061171f8243610e81565b90505b919050565b600654600160a060020a031681565b6001546000908190819033600160a060020a039081169116146117595760006000fd5b611764600b4361257a565b9150611780600b61177b848763ffffffff61275516565b612771565b61178985611713565b600160a060020a03861660009081526009602052604090209091506117bd9061177b838763ffffffff61275516565b612771565b604080518581529051600160a060020a03871691600091600080516020612c3a8339815191529181900360200190a3600192505b5b505092915050565b600d54600160a060020a031681565b6004805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610bf05780601f10610bc557610100808354040283529160200191610bf0565b820191906000526020600020905b815481529060010190602001808311610bd357829003601f168201915b505050505081565b600d5460009033600160a060020a039081169116146118b65760006000fd5b8567ffffffffffffffff168567ffffffffffffffff1610806118eb57508467ffffffffffffffff168467ffffffffffffffff16105b156118f65760006000fd5b600e5461190289610b4e565b111561190e5760006000fd5b600160a060020a0388166000908152600f602052604090208054600181016119368382612b33565b916000526020600020906003020160005b60e0604051908101604052808761195f576000611961565b335b600160a060020a03908116825260208083018e905267ffffffffffffffff8c81166040808601919091528c82166060808701919091528f83166080808801919091528d151560a0808901919091528d151560c09889015288518b54600160a060020a0319169716969096178a559387015160018a01559086015160029098018054918701519387015194870151969095015167ffffffffffffffff19909116978216979097176fffffffffffffffff0000000000000000191668010000000000000000928216929092029190911777ffffffffffffffff000000000000000000000000000000001916608060020a92909116919091021778ff000000000000000000000000000000000000000000000000191660c060020a921515929092029190911779ff00000000000000000000000000000000000000000000000000191660c860020a9315159390930292909217909155509050611ac18888611c16565b5087600160a060020a031633600160a060020a03167ff9565aecd648a0466ffb964a79eeccdf1120ad6276189c687a6e9fe73984d9bb8960018503604051808381526020018281526020019250505060405180910390a35b5b5050505050505050565b600b546000901580611b5d575081600b6000815481101515611b4257fe5b906000526020600020900160005b50546001608060020a0316115b15611bfe57600654600160a060020a031615611bf157600654600754600160a060020a039091169063981b24d090611b96908590612560565b6000604051602001526040518263ffffffff1660e060020a02815260040180828152602001915050602060405180830381600087803b1515611bd457fe5b6102c65a03f11515611be257fe5b5050604051519150610b689050565b506000610b68565b610b68565b611c09600b8361257a565b9050610b68565b5b919050565b60003382611c248242611db1565b811115611c315760006000fd5b611c3b858561285a565b92505b5b505092915050565b600c5460ff1681565b60075481565b6000611c628484610bf8565b1515611c6e5760006000fd5b83600160a060020a0316638f4ffcb1338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360008314611d14575b805182526020831115611d1457601f199092019160209182019101611cf4565b505050905090810190601f168015611d405780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515611d5e57fe5b6102c65a03f11515611d6c57fe5b505050600190505b9392505050565b60006000611d8883610b4e565b9150600090505b81811015611dab57611da28360006120af565b5b600101611d8f565b5b505050565b60006000600060006000611dc487610b4e565b9350831515611ddd57611dd687611713565b9450611ef0565b60009250600091505b83821015611ec657600160a060020a0387166000908152600f602052604090208054611eb8918591611eb3919086908110611e1d57fe5b906000526020600020906003020160005b506040805160e0810182528254600160a060020a031681526001830154602082015260029092015467ffffffffffffffff8082169284019290925268010000000000000000810482166060840152608060020a8104909116608083015260ff60c060020a82048116151560a084015260c860020a90910416151560c082015289612883565b612755565b92505b600190910190611de6565b611ed8611ed288611713565b846128ac565b9050611eed81611ee889896128c5565b612560565b94505b5050505092915050565b6001546000908190819033600160a060020a03908116911614611f1d5760006000fd5b611f28600b4361257a565b915083821015611f385760006000fd5b611f52600b61177b848763ffffffff6128ac16565b612771565b611f5b85611713565b905083811015611f6b5760006000fd5b600160a060020a0385166000908152600960205260409020611f9c9061177b838763ffffffff6128ac16565b612771565b604080518581529051600091600160a060020a03881691600080516020612c3a8339815191529181900360200190a3600192505b5b505092915050565b600160a060020a038083166000908152600a60209081526040808320938516835292905220545b92915050565b600060008386101561201b57600091506114cf565b82861061202a578691506114cf565b61204f6120408861203b89896128ac565b6128f3565b61204a85886128ac565b612922565b90508091505b5095945050505050565b600d5433600160a060020a0390811691161461207b5760006000fd5b600d8054600160a060020a031916600160a060020a0383161790555b5b50565b600c546101009004600160a060020a031681565b600160a060020a0382166000908152600f60205260408120805482918291859081106120d757fe5b906000526020600020906003020160005b50600281015490935060c060020a900460ff1615156121075760006000fd5b825433600160a060020a039081169116146121225760006000fd5b600283015460c860020a900460ff1661213b573361213f565b61dead5b6040805160e0810182528554600160a060020a0316815260018601546020820152600286015467ffffffffffffffff8082169383019390935268010000000000000000810483166060830152608060020a8104909216608082015260ff60c060020a83048116151560a083015260c860020a909204909116151560c08201529092506121cb9042612883565b600160a060020a0386166000908152600f60205260409020805491925090859081106121f357fe5b906000526020600020906003020160005b508054600160a060020a0319168155600060018083018290556002909201805479ffffffffffffffffffffffffffffffffffffffffffffffffffff19169055600160a060020a0387168152600f602052604090208054909161226c919063ffffffff6128ac16565b8154811061227657fe5b906000526020600020906003020160005b50600160a060020a0386166000908152600f602052604090208054869081106122ac57fe5b906000526020600020906003020160005b5081548154600160a060020a031916600160a060020a03918216178255600180840154908301556002928301805493909201805467ffffffffffffffff191667ffffffffffffffff94851617808255835468010000000000000000908190048616026fffffffffffffffff000000000000000019909116178082558354608060020a9081900490951690940277ffffffffffffffff000000000000000000000000000000001990941693909317808455825460ff60c060020a918290048116151590910278ff0000000000000000000000000000000000000000000000001990921691909117808555925460c860020a9081900490911615150279ff00000000000000000000000000000000000000000000000000199092169190911790915585166000908152600f60205260409020805460001901906123fe9082612b33565b5061240a85838361293f565b5081600160a060020a031685600160a060020a0316600080516020612c3a833981519152836040518082815260200191505060405180910390a35b5050505050565b60015433600160a060020a039081169116146124685760006000fd5b600c805460ff19168215151790555b5b50565b600154600160a060020a031681565b60015460009033600160a060020a0390811691161461254b57600c5460ff1615156124b55760006000fd5b600160a060020a038085166000908152600a602090815260408083203390941683529290522054829010156124ec57506000611d74565b600160a060020a038085166000908152600a602090815260408083203390941683529290522054612523908363ffffffff6128ac16565b600160a060020a038086166000908152600a6020908152604080832033909416835292905220555b61255684848461293f565b90505b9392505050565b600081831061256f5781612571565b825b90505b92915050565b600060006000600085805490506000141561259857600093506126cd565b8554869060001981019081106125aa57fe5b906000526020600020900160005b50546001608060020a03168510612602578554869060001981019081106125db57fe5b906000526020600020900160005b5054608060020a90046001608060020a031693506126cd565b85600081548110151561261157fe5b906000526020600020900160005b50546001608060020a031685101561263a57600093506126cd565b8554600093506000190191505b8282111561269c5760026001838501015b04905084868281548110151561266a57fe5b906000526020600020900160005b50546001608060020a03161161269057809250612697565b6001810391505b612647565b85838154811015156126aa57fe5b906000526020600020900160005b5054608060020a90046001608060020a031693505b50505092915050565b600061257183602001518367ffffffffffffffff16856080015167ffffffffffffffff16866040015167ffffffffffffffff16876060015167ffffffffffffffff16612006565b90505b92915050565b60008167ffffffffffffffff168367ffffffffffffffff16101561256f5781612571565b825b90505b92915050565b600082820161276684821015612b22565b8091505b5092915050565b8154600090819015806127ae5750835443908590600019810190811061279357fe5b906000526020600020900160005b50546001608060020a0316105b1561281757835484906127c48260018301612b97565b815481106127ce57fe5b906000526020600020900160005b5080546001608060020a03858116608060020a024382166fffffffffffffffffffffffffffffffff199093169290921716178155915061167a565b83548490600019810190811061282957fe5b906000526020600020900160005b5080546001608060020a03808616608060020a02911617815590505b5b50505050565b600c5460009060ff16151561286f5760006000fd5b61257133848461293f565b90505b92915050565b600061257161289284846126d6565b60208501519063ffffffff6128ac16565b90505b92915050565b60006128ba83831115612b22565b508082035b92915050565b600061257183611713565b90505b92915050565b600081831061256f5781612571565b825b90505b92915050565b6000828202612766841580612912575083858381151561290f57fe5b04145b612b22565b8091505b5092915050565b60006000828481151561293157fe5b0490508091505b5092915050565b600080808315156129535760019250610dac565b6007544390106129635760006000fd5b600160a060020a038516158061298a575030600160a060020a031685600160a060020a0316145b156129955760006000fd5b61299f8643610e81565b9150838210156129b25760009250610dac565b6001546129c790600160a060020a0316610b21565b15612a6b57600154604080516000602091820181905282517f4a393149000000000000000000000000000000000000000000000000000000008152600160a060020a038b811660048301528a81166024830152604482018a905293519390941693634a393149936064808301949391928390030190829087803b1515612a4957fe5b6102c65a03f11515612a5757fe5b50506040515115159050612a6b5760006000fd5b5b600160a060020a0386166000908152600960205260409020612a9d9061177b848763ffffffff6128ac16565b612771565b612aa78543610e81565b600160a060020a0386166000908152600960205260409020909150612adb9061177b838763ffffffff61275516565b612771565b84600160a060020a031686600160a060020a0316600080516020612c3a833981519152866040518082815260200191505060405180910390a3600192505b50509392505050565b801515610e7d5760006000fd5b5b50565b815481835581811511611dab57600302816003028360005260206000209182019101611dab9190612bc1565b5b505050565b815481835581811511611dab57600302816003028360005260206000209182019101611dab9190612bc1565b5b505050565b815481835581811511611dab57600083815260209020611dab918101908301612c18565b5b505050565b610d8091905b80821115612c11578054600160a060020a03191681556000600182015560028101805479ffffffffffffffffffffffffffffffffffffffffffffffffffff19169055600301612bc7565b5090565b90565b610d8091905b80821115612c115760008155600101612c1e565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058206492bc9b84a3874bea420a5ff1ecb30e8bb7762b7638846c630dfb35febcb288002903d740b5da9e709f425796745eecec765c288dd3825563201e34c1f553f427d77f03f9f4acba4e66d136d3f1131d93c8742e8c21d02d7ea3cbaf5bfd46e93271cf7603145b44559ac8677a94e9255273b2a52b40e3d296c1a5689a636e4cba072021370300521605fa426e3cb79b489af5c93a8692a199a7ba9631979e8dc2169c8ac9c3031cba34bf3bc4965e3fce1a33dbcdc510bba6c0dd0c5909f0761093c9b118fba603525339c5e93941364e21611807495970651b89125b030d0d53237ca0ae9ee21c0305e8404e54a4411ec3722d3b15b89da8e062eac22d764cb09882e94b6a95b244036ffe43f0b0366674951b0cb52f3d6bc79978b1925d1ce35f625e45d1005c08db0349901408554226b02203b3b361cf005c1d46d7298d01e38a6f8e34b8e18905a50366dcb3903bd44f64e2002d1af97eda18f4d1ebed07bfcb12b10fabc9300d1cef03a968c5bb638f69decfa664bb4b1ca7f30c1f46513206c993e271d5d756edbf950331bf91c068e2bc53760c2b807fbbc8e42011ac4f419e5d184cd77a1e4f63541a03f3a462f95ec5f28db787f177e35719693b14167361ec62ef10eb30f5cc5571b1034f0b3ebfabd12c5d53b631f4df486805626124a0a8810b907bcdfdb2edcd7f6003bda34df6c9d15315f8e898c82675a49db6d7d247990d33e98946e47ee848d445038781f9540667f2436e0558f83890b4e86aba3f8ad85b0b565df5b1c38226cb0a0340a523b559fd9960aebc10101009d935e43667bdeca7f5dfdaf39adc1d0df1f803dc6e7a5151f1dff4c2042e0f2b81d814a1835c951ade5004805cbafb4f45f4bd03cdbc7938cf7447a95492af9f2398353a098ef0494c2b99c01a9df7897f6e812703710556a74e8341d0ef64cac00ba93314b7f94638819337145050cc40a8602a1e03fec8de9a6648cdb79a31273443a93989dff188710f3ac7d409fbbc07df7850810334018d8f0a5dec7ded1efd1c47bdcb37dc371e12c21d57ed34b0cba886b163a600581f03cd9835c79ad748d81806025b3296c04decddd3c5674ce028a2cb7f7f1e4058191a3c05df70fe19b40000000000000000000000000000ed01d700581f0358df2edc26e89e151cdae26f6373207e29d41134031db70e7be77adddb70581a9ace5e5eea065f87ac0000000000000000000000000000a09e4a00581f033222d5f96bd619a4f562e421fdb428fc5581ef3d9c760100fc1e7ca08d30581a08bfdf12631590d3000000000000000000000000000000bd4ac603ed83cbf84834973312a01bd89037a2ef4e3a8b8f6349f6363f69d825155579fa032f97faf87a95113f07ddbae8dd9daf87f1878f8ad7388239d285393446f1540100581e0223a87946170a4aec6b354376979f8fcdd3ecdf42a2dca02541d7f58bc2581a2713ecd3deef857f04000000000000000000000000000041aa0c00581e02e716d2df95d5d2e015fbe7d06f82e5f578c7c2686b2ee8c1ea95ba46075819a4460dbaab287b4400000000000000000000000000004a78a200581e02c2cb367396a3314af5c78290d6ebfd2709363c312afa7b187118176906581ad0e15f245d037d842e7f000000000000000000000000004498070219410403e5cabb54685eaaca714c5f19c7b9b7c7f7a065c372ee0ed71bae6a35200a553503e7d9e3f4541189a91cc117bd0279205c42324244374767db8b767cc18b7a856500581f03856e39297b4982932e1066d3d4deb4eca8eb27102efd2f4701777715e1e043bc64d503d1271833f2104cbcfe5a94ad1b09c448c7467484a963db055d945c18663745ff0327eb9b8d47a4ab8fbd9cc77950db22a496877b9a396e0e424241517dd408bda70219bd5e0396011100a3230e9f4f4014040ad9cb3502b026d235c52ed2f8b85907e40ab7be03bb14862b24660929ab11d94cc2374201cf9f1cc5f1b7f197c0e256088cd582e10326ed448ad3484e9f2c9a18969f148f55894519d7668c695226faf8c750fdf72403e4ee4e03b6fae495bf6e1ef1736fde11ef6632369ac8c8f033d46143cecbe6e4039ecdba88aa93b05a0804e1e7181582449d7afc5b8169af46794bfd64352710ef0383569d9024e545e1216e0e18f159cf4dfe24291c88073b2c726fed7997c0c5810376be9a33011411f012aa76dd7f850e2e25363f45bffeec96bdd7be4d22d1f6d003d94822a24e7c70ad135e969910ca757fb78a63be2f4fd4fc1e297d88265c6bcd03307f0876caab6f7046df888dc7f1c1f1fa006a821eb06a3f801478e000c09a58036581ecd77e259072a500a049b39b55519cfefe1dbf18ea00051eb6d8c634417b03d4b896a057f755776421eb8e23cbea10384e69e92adfb769c6d2274b8e7b852503d09241b097a013e2bd321a87853da04ffcb25f72ffb20b0fca10a24c4a7e8146035b2fbf001ca2349faf4714bb141bd0221067f8e03b03ea03442676d75f57e4d603589dcd7d31d73fa4347b810d6c77a4dee18e03f5ee08fe6609e9197b168fbf8003a0caac6c50c2a8d707f85ca10ddd4cc30df10e01aaaf003c0e36e8a0fe28625a0219ffff0301c4642743a3dec87f4a3bbb4b1fd90e9eb72660cb81911ae0db0c036cc7e07e03e0bda291b64d2fbfa2321b7c7e351ea568cf350e24e6e6b3759132efb91db4fe037281bec8f3513ab0382318c1a5eeac8ac17e7b7a81dd1048efe328e7e7939ba803a047be40d1dc16566f5091e7a813ac76583ec1d5a6f1777d1ef53ba5a4f19fb703eddbbc4ae280b2052880eb6539c74ddd18cce0d5ff799caa62fdf9b8f83ffe530370ec3b58d1e6b115aeef360b2b42631cf2f81505d727a75424cb4e518cb861d103813ecbcf0e0346c3c6eef8655a89b8d4e8935daeab5bb0a47c37d76ba2db6ac60219ffff0396b3bb982a2cebf45304eda3d12bc7aa1095412aa6cd1153529731ca7d89dcf803f507164176aec75cb6153beca6bb95b518725d3c21e35ae162d0d7b6c6fdeacb0219ffff03efdb20f9a1f529db76ad2c6901a4cf1b723d5984ea54cc08427b52a360ae5e6e037988fd4920fcae655a4d3be07d41432246ba0f0f7803ab9d8a83e6d30d465aac03d263003a926fa123f587ae7259938f689be48f6f36216ec79733acc026a586e203359a17709ae6c08348cc193d5291a997681c8f8363ef96f5d07e74fd0ac7653f03233c247b62fbb167a48656d08edfdf001b9ed46b6afa56c92c36acb553568aed033518c41685d454daf1cb208b3ee9438ce42a43940d8c6f0f30f4e825d2a127ff0336ddb020325fa85bee03f44aa1413ace2311328566bf4c64d4db0bbf94e85192035c97ee9776ef9d26beb13a07cd1a1722707031ec870caa373d8406a16efec86c03e815f50b3f96b60302de2501e492474fbf65b28c736dd20023c39b6e66f163fc03c384d9dea2a7af08f6c6d76c2584ebb35f74b02c078b076a027f57447967d9360325af00a4505639b836cdf23dabbfacec941090ba4815b831b2abb4a85a95b32003130ff10bcaabe2d022577183a82610b59a1c7232adc2e3bde7212586f03f1ddc0352916488683007bfd3714714f0466dbf33e24cb995caf9b6f9fcdfc75fcb9b22031ef736d4938f92695aacc9887c69cb5b770e56111e41a8d661c62e6033e1347103e16f90264b24828374e82fb68dc4166b07e1793e9bbfc3e74ab41d56741e723f03b42e50a5e8c1eac3d9148de6f3871250ef193505f10deeeb34f4129ecca4419d0363c1d1985475f6a9f1b8b3b6ead5649d9a9ec95cc374a1d8a30dc3ef3911382300581f0345626f449e150e4f1877e7875c7d7830a15f281138a275ed94b68445678043ade44600581f03b5d8ee587a79e2a58345f5f5f57c21aa8fda5a7a679fb250b192ee403050581b0914f07630e7fc95cdef610000000000000000000000000115d06400581f03be496e237e621e8c58387e0566721c73b834d71aebf54ba473ddc70e70b043f2421b00581f0376fb1431a2e5cd41f6751834f6c24948c193e88d1d06f8c0340ef5654f10581b623bbea57ad79af70cf635000000000000000000000000003fe56b00581f0326394bae4bd63bb8d73956a6e90c3b00b55afe1c135730a1b8745a5fdda058190398e38f93e6abc00000000000000000000000000000b65f870318d8fbecf83addd803591aeb443758a6a38f8a17f0cd62b8417f2f939a764cc103fdb14f93755492c6d1eed80bafbd9b38d619986d84fb826888a00cdcf48e0cf0038da6067b94896f29d3f6c008551d6c051aef9cc7276c7a6c29756635ab9eee0e03d243c7d2fb0b70cd3f78e8a7616df058c795f3b59b935ea37b04aed10c1b2497038c12469f7b1672e210866c368c7cb5622c2c1e37be12af75522e2d664a11f74500581f03b80072d407c6d4ae2bd58f8b4b15a649f242a11e80be9c87bd04e9ec82205819061c36a6557363840000000000000000000000000000b56a4403fa71cc3d183e61c03c3d967470ff02e0a9bf8343158710f835cf1be21306524300581f03a14f3036ac6e8090b0ff35a1e79646ef1cb89fa5debecc40515c60a4570043f1548c0219bf7b0310facacdf4da046d670b20ec5a5443769961b0fb1a2ff761691a979c58a7fcdd03810a705dcf16a074cfb0b8717885d301c36d5aee15f637adb87cd06ac12f85470396cddb7f7cddb563fa1faf9946678924903858260a2aa925ce12f84c88c7d2c2031ed22f741d9fffc14c784d3d7ec8402aefdec6d4bec32f85ed60d5d7174ba2f803bfe2f98cae8fd646c019b598f76b83fb5c0a8f4c11a9509102155d5d3a3e2ed603b9d0de436e9cc9ad7a69e9730dbbb79866d8ea4b4177afd90a59371bea39f1bf034ed5148f53a52d33c3755ffcd431508cc7ff59c3f3d71a5bb9503e40f67cad16033856fb4e9160275e6cafb2341fae1f7b54ffef0ec9db40044b83059cae4644cb03db98ec580c49245b2148f7842ef6571296693267a5a0667864497f91d0ddbc690219ffff0321d1d193e5967134f5cea750ac3c4be27c8f92fbedc26da2e5c29ccccbdd74cf03acfb1a0d859b859ba00eea23282383b3b40292050b868a55178eeb251b17170103973cc8883cc6bb91422a391b86876973273e8d8c93faeb800d474c3ca01afdfb03a988c5cd044345c8e7ca1291fc155b50571b9ec09f38f5dec1648c206f62c61b033e3ffd47f27df923704538610b461599ad96ba7510b1638456cb07d3425b88f0037ce77cf891c61a6743c70c3fd2005a42dfb77ca9a39b1bb359e4f4c4ac7f3bdd03b28a1dd947444c1486a1c9104428686db4d2bdfb4265b6e805db482a9f85783503a63e0b53bb80885c2055a4cd282dea17978ef78ce6365ed82ebb4b54e54e6d1903846a5368f47a9eedc775b8b048b3a068b1b40f33e528d0f88bdbc76980838f720219ffff03827dd78bb1e40dd30de4789126fc924f8168a803109b0a0c882c18994893743e0328ed6d53683f2b94140c7ca9f020797b7041f581f4e5f2a12fd81d3a9a2938a503370082b0b4f436263c6834dbd9bc98c4f2ecbc3618a5c85b3d79b6e286f551440313fe8c5629ac3251272567110bb09dbf5ac17ee1b95874232ac7b1e4da0bbc3d0319df0ed81195d3e34060ef67fed19cc33be2bc049337accc66b46a3d74874df40370f62858cb763d5536fa50f0848cc21d88c8f4a05ccc9457ec71ac40fa214b83035af671491a2c617f48bb68aa1fd889535fccd21d9512e43cff7b4222d272d3f30327e57522cb67e10f642a0a9abc3ada9bd1121ab0c06537497110f4c73919248303fb83a2c984c6231513e3c070557ec4ee859853c9b060f77df00ba9d05742c7f5032252a4ebafa5f38046d4484efb8780aa0fc8778b7a44498da077a9ec0431b14603960100d63a2e781f9a4e91263e90a973a13504e4dfde7db6256c13de27bf7b48039db454981700a87902eaef83cbd3d9e1653c75858331745ab08bb5a53e3339f60219ffff03525b95c040f20ba094f4587501e76bbcab9702483dc304d6d31ff42a822b4f5303284589a020e3670943aefaaa716b998a87ffd8128aab4c06cc3138885e928d0b03886ebaa9d4183f14b46d26a4eba148a916b8ecb2441ca1abef76cecc7d698906036c6c9b160711808a6ec566175315d9816390564b10986d3b0e7f53c00adacda3038aeb7863b2f99e331cca4e513fac96c5e89cc3af6a18d7a7c69a71abab9aebb10379f42614d8aa2ebb8e60ff825d8d3c805d4ea742f27f19ca3e8b31f25f46f7cf031b4178c5baeb2f541481b8be3baeb31ac39a3409461ddaaa82b8f752d591a66c030f83e553ee6c61a382d4f8bb9dbe6e3850db4f5e0946bf8a7667ae35fc835dee03dc92781b5d2063f763f1b9a8fadeb0eb87a4d0157636f53bbd5b0aa85bdb261a03b12650e2715482d99c772520c16b09ef774960fc91623b252932008b07790655033e573f1b07f02c64ae2e56463b6092c2d073cc6dfec7a8577e8c745532fb786803fea6f58e6f226b179724199ad845614a14347b16ad268ad01f30dd41ec86b3d1034b6c424b34d3610afcb001ff0283d820cccb2f15dbd9919a35179d0877fd46f90322de3f0c7dbccd4287c28c2adc795b92a96f6753371890e619bd3e40da7fe2010326bd2ff488f396e583c9e732518007aa0cb16e967de13c3e5f35cd69fd1c66fb03ed742207dfa6d6cb2218b049529e047795937ae02cdb4a59a7d391fcf58c37c8033829688e8f4fc71e92c7262be4238377162146664b7fb7d54907b14befda771c03121cf7e029d5896ae3d97b4f289a95b0da43a76169aaf9c1f4e7b5b367351b44031e411a82a8d0827cede686b72ad83d09f245905a8bf2fe18e20d58131013c04f03aee4b7f3b181745e128b0bbbbdded1a19d3c33b3a985c48aae9087c9f025869b036f7bb50c283198c3837a5d60fc3c5a778b64ee0a67ebea9e2a37981aaa5c0bd403e0b724dc63f22a469b07c5fd934be502cb039bd5d13c87a3a2d7ffd0e7cd3b5e03eb2e06baa8c4bdca4b46d7664d7c34cd1da1b12632e27a1eba3605d74a879264035d95ee0d972c60d70a3c332f92352506a7a8170d5faa910d28c0203d7313c23503b4656c4f3876bcba412cd8a65ef9e2b2be62d42a16901226aae5a9f7cd7a626700581f0346960ea25290de06288b58456c4764d23ce6e0b9947dce6d3ed844212000581a82aba7fd72b1e33be7bf00000000000000000000000000e660c000581f035dec4ec8b91e9f8e76197437d557e6905fd9d0de21d03b70ee52bd814cb042081d00581f0391cfcf2c0f1dcc0bd72760fb521fbb1f6679612d8c5a9b9189afb9a4be7058197fc5196ce6e867800000000000000000000000000000d1e4c1031b9a9c383a4e933713d489900fcdb55f1cc478e27b801459defa1c39ef3ad77800581f03874229eb9f4182d4970afb174675445279dd3139ace7f6005f409f1f6070410700581f03908bea3ba9ada428612d718151cf368d16d278015e8057f5add0b8f52dc0581a87af688cb902e2788000000000000000000000000000003f77a503ce1b20a47988495fe4e882a48a9bd42cc19f9384957db1b4a6e43231ed6d1bf001410e00581f032002fa8d30923597787c8dd5322bfccc27e31023e37f1a08065b1cd80630581a0404ef796caf1b5d400000000000000000000000000000545b6600581f03039a3fccd8e93f88e9a57c5dfd4185bcc87c9ff08efc29983ed139a317c058198d15b0468e212960000000000000000000000000000049c7a603211ee73bae944c1168166d79ec26c2e0399e4d1a411381f9b967910e19d8984902196dbe03d2a39ab7d3fbb9b0395bef039fc9b32a10daa2dc706bdf23084d4aeaa7b390d903d7410dce3a622a99d80419de8fd850d15028f7dc211a63b950d238d1b879a40703390d7971b707709caee772f99ff9e5c5ae0e0ee1baa64ca480e65f5dd737db0b03f48ca470f49640c5ec579593e755b4c5016ab7e0f6636844a4468620b147eaf40219ffff03c4884a1d5c65b069e0b92fa24ba507ace1b812ff41fe5f109e07941988d01307033a539bc4a585183d7efe0e03612e43595dd9917f13d886bf6113ca95f8012e6b03d467eec4148fd58035cc92f10843f42d126dfb55ec47f4cb84684b3e8c23212203cba6d564bd7a347093c070c60e155f489b8db91d74eb89e0bb2fafdb324f3add031f083ba1d93a00dfd34f1d14e4b2de0434060d9afcb678a00f69afc54e2074aa035e746c2df4e168bec252f41c286e020b79c3b0a362c954dc82d8e54b3f1d88bf031da1e24a95323d08bb05ca3ecc78c10adbab0e34ac42fcfb4d0d10b8fb781c9403d2a2a5e330a30aa29111ba3a73433331f43379720405c5666093b7580ad0ca0a0219ffff03cc7391b40d3cb516a2b19c44f6eb780cb2cc48c24be5454d4e165d0dc7a8119203dfaca65719895e249ec3a15150e4dc8d9ba7141e47c537f9cb308793a3b75df80389c79c7905caf6bfc83c430d53ae108d8da857c9b5fcc0e8f4802ca5ebb843f0036d3e3c6f7238a54ac4d841974c445fe9455ebc431e4a3ddfba0ef251288c05d403004a32fad33d418bb11482a80efa4be7733fa2bd9c822db9083a41006e543be0037164d88b7030e7064adae583d778fb509fa0c1b4b14cc3d5782ba4528f3b796503bf69d975b5e28bfcecc03c26e84954771b027f176cb1e30e7d4fb8b9c4a408c5030780b303b25b0a50caa16b5674182481cb0bc117a1a6d747e09df5efff6698b2035782f29912b094fc1d098d680d38096f0e4d9bbbf02826c2a03a59253f96f840033a88143fd9ffceecd57a499c9e26cfaee99df8a8789e3f2d93be4c5381a0f04103829392fbca2d43c121e2606dd3795f8606b661db97828a00be8230e37a766db3036d2fbe5d9bc39209c43e68b6c8f2bfc941b8120c32b734ab8028d2a3778d72bd0385a4aa8a19a7dd122c231294b5affdf725b64e4f5d6a76450673a2e8d360a51e03f2f51aef906ac65dbc63b3f1ca073c4a38f6d9be88b82381508aeb7018b0ada703cdf9894b2b98c5b7a7e5f1fe003ac1ab47d6d1ea8c440077651483591a33f72503a6db5cca013bc0ed218620c19978b694761f0238197cce50b5c913d4692cf45b0376dc4a5bc3934d7dac3f6673bf34373731c0aa6fd77fe92b5c33a0317526a35d0365a54c7734a851b925f9ed8ee9881c1986d407117b47164ace264b4defbbfb31033d6d182c4829937925539d072482e3d09fb8a86a0c6dfa6f3f5fc43b859643b903d270ae75a09215212facd5708cb556565691ed680dfbc444b5488efd1a6baaea036a3f8514366d1a4d76a8c8fe0488a5e1fb00e4be48671706a52dc6ffc1a6535403b5adf837c50339c76c09323d1c477d46f4b994b54d8a417217c62724617aa71c0394065f2388d2d4035970656cdf3064ac9e71e7a81944a51bedb2230224722564031ad328f7c4506ad20050c1f9633520098fd11a9fd41859ff3979db1dd35587e803ffaf8da64b60cc2228e2e4ab6df57ad3e6fe5a15acf6783f1c41dac51610ebff03782a9c980a0535c7f1b740b08841fe3325472a7f7dcd6bf96ea1752d7ec92a1d039599f798736abe37af5cf7a54dfc91f2dac3ee4cba77eb7069d7b97d43fee5a100581f0375ff864556e30f805bd54acce0b1c6d264e8691752aff226ea5339eb1b00581a0ff745f05bbcb42f080000000000000000000000000000b49e8000581f03e7b32146109191c7c0c22acbf5b5c95e1adfb0a19ffe0091ebb793f41f0058191ea0f33a806fb400000000000000000000000000000040d7760349cb5093e827e7d3939f32aeee9b61ca1c208feb11820796a1063f6b73b207a203f10875eca5e7c9566918a508b89476ed53b8d328f4b004722c0c12fb05f1fec000581f039234ba47fd2b170c65fa5072deb079ccc61da2ad4e441dcb1f1272570660410200581f03fc5689bf830fe0179faa1ca0d40d39b2a77be3709af6bf30ed1bf0db9c30581904563918244f400000000000000000000000000000004b683700581f036e5bbaba593a2ff616bbdd5494c2419eb7d9e2b0b2b673ce2da2855149604353494303065d2ea101b40d885a94fe6b198abea44023fa166de6ab7bac71cbf9e0a7850c00581f033cb20ee883a2b3a43aba549ce5062b7a67e6c911efc1ba4910b75f806310581a232ce516c67028db9c0000000000000000000000000000f12e060219d77003c5c192249d6ddd6f96a7c28df401ac7ce65404d2bcc35f76a1548e59f900386a033a9890b1c6ca1baa82b071549b33c513e9cc08587056f6f37ed7c9bc6a810c7c036f3e051cfd8bd9d1fb26b674af022e02ff7ca88ae99d7add5b8a94ea1ebc80e103c47dc6e1442799a49c09c378b581b15178a5406d8ca49832a430a1089b4bdc7503019170d3aa756be902bb7fb7f98582576075da3fff6fa7f2163bdf193fa86d9e0387661f443c209bc9ceac2eb29b497b6712fd848312aac83f6c48b553f11c74790331c2f21aed5f5bc75d16470709a60b1a7ba0cbdd2463e6241693fd3571f58e1d03f818e8db6860620f32c03cb080d17216c7b18804c69d2f99d0a3a7ba81ca2fd003d25d87019c7509c0d5d3ba75ff6c2c17a2b23457d6a67a1f6c664bbd861f843b0219ffff0219ffff037be6c9db45a85be64c41cf1a3abafb250baab71b2afada634634a65fb65aaee4033622434166d00cae41ccd98237588369cdf558ad06d6fef2bf382c0487fb9695033f9bd6e4ad8943213010b9ddc5793033fa333a0d46e0549d511b0b44f8bb67f603511fbf84de4e03d665b15aa2cf2b880a62a98e7b7779aa09ca2b6b3322e8901003cc7381a4031ddf8f58217d47990727917fcc919a55ad6c2cc3c8ec3ca424eb1e03a8ed6895545f6e6241af3898186607950d05748614a5313db26a77d9a8f58aef030646d0eb048823869def01a79faac9a85a4f78cde7abba098e78d9ce83b0df1403a4d4e22670c53a39b264f302c139efbfaa4967f72e6b9282bdd1b8e1a2639c5e03f6ee951206301e9aa998c967cd45fb019e09602306e508cceacd8adc3a9c7bc703033f65b9196189e3acca218a5a55a5e02ffd96107cbfbc2c8bcfa8acbbd3520e035fa589b841dbe0cba5dec62641d74d3ab0e75e0e569c8a17724af88ecb19b71f03061eaf438b86b038b901fde6f6abbc785e3b8d879be3dc4dbdf427998ff5c9cf03ec810e399f52551b0eca2e411bf6608e3f744a9605ecf5e06502b9e3f51b8d44037fa95e5d2f159ffa20a828a23c08ee38b2013dcdd426bcf78cd4ba1a8a4f972e03bad1dd17e7933eae69a2e9cbb7325e3b5f11236e1b3fd577edf1fe96e641fbd60359c4b29bdb9cc605b1563f123eec494340b982862ed9d9139deb1a22a1bb85af03f44e5b22ba71389ce0d5e3882f3a86d54ada0fd83bf988588535d6c5bf20f3c703ec23abb2aeed2d2c5088784fda38143ed9ecf8af70ec83fab6a7b069a4d96cdf0332c0ab4b9aa18bb766349b0f6278342b1667eb6d8e7ebc07daeb880240cc194e034ecd91eacc5f904de0db884aca23fea395b9be8ac2b657c65470994cc62101ff0307ebdbcc8be486c79f833b57374301d4d9ad3d9b4757e237e598601ea130d37500581f0320678b56e763dd70edbe1d4af55ac4212cd2f12cfae22a0475e9ac50304043dc08ee00581f03ee2a3893343c1b8c62fafaa59605a46baf8c47a5e95382e45d669cc230d0581b547ba6d660c9c90a37a000000000000000000000000000004f029103621a276096c2a8370a264b29f6c110516abe67a024761a9bb041401836e738ed00581f037c4523031b62e815bf818b4bee43cb2e1fd25efe687a4146bb1554b8b6f0410800581f0357c601137dae9d72e1d7af5567a634ea2489025f7159407e45b8e66c05f05819a31c3c0798fe0998000000000000000000000000000048f81c0300dc1fb2afa99a4fe471a0b696d0e994bb5a4a31629849327d0e16eab767f2c200581f035f54cb0d09a889369bd8bbbcce1cb87ecb234bf6411cb6151fbbc0d1b950581b18d249395db7c89a6073320000000000000000000000000047c7fc03aa076d8b8a767325962b545d977c4eb0c98f97818bb0be0532322e752a1721c900581f03c738146b8be829cd4de0a35e390a86e150c0a7f0adfad969811f75ccd580581b02614722219f7bdcca359f00000000000000000000000000b05b13030a37ab1fa864e94c58113ce535f8e07ca3d0acafd3c8f25790a36bf2142474e10219d6f6032fc24304e91ea8440365226cb1a8dc441037e59cb8e1b175ff0b199e121c10f203147aeacb4ec6481345fc766d99485d0878f632bd28b44ed9d11b486360c15b5e036a5c143ae6db7421456886bc8412a1eb7544cf8f4e93c8e2b2455b5b79ffc1f003e3e3cdc5f2a142ac48e3d51674cf7538cd34c2912538234d445da1c152f5676703128fd9b9ea864a00ed80b4b8df8e445671197a552264947a26b6171be87f49140338c8c5e87c29d00544006882f9d6d8536ed2bfea26cd20e86a93cf1414df584f03fa64ba2b94c50bbaad3a08db84ccfdd962eb730b6cf113e6500d065297fcddb503beafcb4221d934192da275ef95b98c5a00c550deb9bc1047e4a3a77427a316080219ffff03a13b852c3fc6bd2c01750b1c3f601f740da992cecb555c07621a0ebd1704770d0301777fbc1ebc29d4c71121982c1606d4c8aea25d342783f34dc9fde5b5d8c9380219ffff0352948e27937330caf632c4d51632137f6f9e1d38a5aa5222b342acb378a08d9a03aa0803617ee7f4964b85231843aa7f7a1a8eab52b7d9d10f2d348e1ff67529120219ffff037692e7bd9c3cc4a455c48f10813ead2f642feb0e9b62b9929141f3f2e3c395f8038aa845c490da0b128001974360c17ac8f4fe981b200afaa719214e5d777017eb032651cb578c18c7af20b9713215fc34d0da727b9c1585507ad5227dcd827b48de035c88a17fb098be393dd6393e862d5c58cb8fbc310e76ea3c9919f03341dd2f9003f38687ecfb0beb5b59c3fb481452fbc8fd3351f2431bbb7155a02b0ae53b31c90331e381e6e1199d38e9e2b69ad3e858be513b7af10fcc96cbd494cb4ab2345a61033b9c67ea7648029cf09fabb8163b2fe0830620638142ba767674f8e15360872503e935f7355c4f6ae9dc6ec180c3a892a5964e3b91b6d555d49dfc527e94ff905f03973bc57eb8720c0dbfd9c3e545d66af154b6f9cb4aa8c1b9cbcd928848257d5100581f03b57ea60aebf12f7a90cddf8fd75dc5739bab7cec6faa6ef06c845863e0c0410600581f035dcf91003dce6a2d8bb694a094575e184fefc6345706f3365c26e3733b60434034d500581e02c71d4a20b0173a51a6d98405e4bb54021e4c9d234058e5e5764ca81a475819228cfd31e4f67a0000000000000000000000000000004c3aab00581e02093b33fb4265908970318eaa61d542a22fa078fbebe0eb06716e59a4ab581b082bd6936fb4f93e504921000000000000000000000000012dc6c1021850034ad4a1c194096bd37fd192416d98933c60b2bc8004ffd8b28749f2b2d66bf08d03f948ae2788efdbadbd70d1484946a2bcb4e3af997b8229b3318ff3308d16e18e03a4ee3a8da7ade3b0087c52117a7c04a2eb82c2be698ae7f0a63d9c1a830bdc8803b951c26d375fc167fa2221c5a6faa575d703941c40e91a7273f8f050e4cb598100581f03de2ba9546cfe12435be5b240ca4234aa58c86f43701af9b4701f47c0dae0581a015bd63caab653c7c80000000000000000000000000000ab2f9700581f032cd18f9c2376a7d57841adf112a5a9202689f2cf69015131a710ef4c36b0581801d5afcd36cf280000000000000000000000000000b4e7d003e0cfb90cf8033dfa778bc294caddf004ec2e5e68874058adf6082a2ef1f8ad6500581f033baade92e9b9bd288864a5a095f47b794653eeb03f63c6948d81f8498000581a02131fa72382a045c00000000000000000000000000000ab7c4102190f7f03e6cfdecec16407424acc4397504f8bddac133957898f15d9bb893ac22439d8ab033fa69180d13860f637b81ab513c88d8985048c9381f3da8cbd430049d5f3bb980377cdf919e82b95cd7547328557ac511ac704885966e339eb9e5646ccba5ce26a0313d8a8f19bf765c81aef41bc27aef5f8bb73ef1ae640aa36f834ba49f7e757e603e24be604c6d186d911b734b6f5fcc20c09fbd82dd9a19fb166168f99a8bb289f03874c28ec9141b71405c361201b52405cdc85d418ba132a5de022462818258305033e8f14b8191a8c46cde38ee98d04ac5d0a72c4e7f6f34e0e6c30ae3943b51eee039d612e452e14e23092c64d82de50765f58d70bdba0d70dbc18c59bb45ad532b20349646a92ae86e82bc1600c53d95bc1fe1011d53ef71e2b13e6eacaa7a1abf20e03178f9d63598b14796ba22f118e62aa68463a1ff05e8b975f8cd4b14dba48cdc1030a6b80f0f21d6d2e0259c8c1ce0b4b51a84625bb649cb521badc9ed3338790fa03f14865b448b36b399a0c323ba1193a2955ba1ee3a2ff1284c5b44c4855942826037fdceeb3dcf2931153df56bf545f4fa580ddf56ee8bca09e9a1a69150786d59d0219ffff032077fc0efd4040e5564b137b316978182bfd81d45efced21c263e630f98a882203657c27373028320e229efd3c13cfcc57e789c76d39ad70452a9ffccd413ce23d033f549016d88e7a98da619b73e873e2d544b0c96a26ac1b4a2e58738ed5c1976303b99af461f3c756c516829a190795d44d7e06a1b509e894b2720b43ba5a7615b90357facd66dbaf3dd3544e63d6c0d53c0f131501015f371dc239c2928990f2d41d0366f241ac60eb7367a48f696e589fc8665ac259672f6e0b89ae93e64fd37c029703f7c47d2f2585e05184e95383b22795405d391cdd5794d75a44e78b8cbdebd676035cca342762bfa533709bd19072920ce63273404f020806f4f3dbf9218a269b4203c3cc7cf8d498077451390c93d9805c001713c678667c537af78a8c9909333f990373e66d2d97e27ca09d4531eecdfa2fb3e81046a4ad74c3bf38ac0b729ae7cd0b03abb2704c54bfd64f9352a0ce8f1879692367a125c6ea6b35806a4c24dff232b203bcd31d0af729221c26f5ba8d5e1de19ba1d746bf464939195b4f32c1f5e0236d038189079ccc23a7ff18e82c7391de2b9fe4ec56f73af7dbb0bc186c22716a0f2e0219ffff0317debd9e7ad998c767c7ec968ef274c8260ceed9ad232eca98b7a4ef69ef9a53037afe774b5f1d35570944ec5b1446c47ad9cab3f97a02caf5c82b57e7b0c443a9037322e75320a42b038a0dda375085f5899ab38eae35d3a03965ab9786ec89b2aa03ec7a76db45004e0784eb749f30ff774ffcfe8319b56249ea941f8bed2d387d9e038d7dd155b5c7d2b1d3cd0efcecc48ac27eab14e82ebc9c856c792746e00c822b03e0ffcce7f387ce162433f17ae2a3beecea31a6778315bfba7bbe4dad80ab885d0399c8eeab2adf5b67b31fd49e45f3a69954920a1067e1352001f0f1f907069f8903c34c21fc630a05b01c68dd9c495be47d6a905b516754577b4fc297f89b8319fc03c73f4bda6118cffd3748a31354c2054fd68f2ba3d7cf28c5d9ef736364a7dd8b0334a43d2c542a6c0b24323889bcd25040000aeb4cc3c1d8ed3e45c858a037ccd003867f56bbf3f6616a607dc5a82c69f4bec26bf9419bfd29efda8ef6935932838b03003f02a5103420d14b0c7e23c3b92e7207bc5b7011da7879d28bcdcc8165a738033a1f932ec7a3724f3af1a0bdda943fdb45364320de3fc4370d9d692d164f3f900373634fcdde5a255279bc9ebf0ad1a12e6783741dc4ae5d69cb836131bc1dc2c900581e0352c342cd86e46fe265353cf3724f9d7ee28e59c12ce91a399cfef01c4044012d48bd00581e03c8e20d7464db88ab2aeba02213570cd5b050ac9fdf0dd4e9ab42d806404102021981000141030369b7b42a1147c73e873070d1a1c754e4e31d1962ce6b4b2a8c1794c04be218cd00581f03a363063a88861b637412185603a33f8cba59bd04c4db293b6cd7dd605d30581a8938b6d415c18510000000000000000000000000000000d0669403433e748f069324d4ac7888a6a1dc3ec6d2c55c0516410e0f173323b6f0d649470141060363fd855dde6ff61e392e859ca5e8519e71eaa920d5380f994555f32c38ba123f00581f03487c0decb7d1a57aa352f8afb358396af345639460108a00f0f11190e330410203eb8f755e77722c38e6cc502152268b6d05ddb200f459fb14e12b42f498a95d5200581f03d5723bff8d2b3a34a4ab90d30d8ef9e44eacc683803ae05ac6299e4b7d00410203a4265438ab8b2b56142b8dcec3982b84863d0b78896a10d4c1277dad9a8387b5021921fd03f4ce7f8aea7e2b7e2b598fd4a76e7632851ac730d34891da9a5fcc2ea84686e2030922c2b583f8a8fd70e74d2fe8af12c21681935777cfcb7e96ec72d0b87a7a3703d4ebacc16e96eece97046a04a67f07a215ceded50b45f50c29a96700c9932225030e2af6aa4d61a6c096624d09436fddd40e01383d5c2ec76f868f51889b6712140373fe38c898fdc72bf7cb2b8667504c0db8f114211e4d3027af51425f8c546a3c03300c9fd50e360b8582f8b763137cdfa0b6a470a430173b7f7dd07c076e0a95280365633e9b13216c708f77056bc13b51bcea0b0384641e8571ed993473b9c3cf3c033405ef5cde619a35e781e69e71a4ac29814a8e2f1e0dff85f90eb5e84274db10039c6adfcbe179e331c4961e6cd0d8b9b023ad3eab1cd5292b75c2e524c22642cf0345b3cbab28bc45f00543b7ac7425208d4f6e75b8981cebaec585067867b2a55b03112872c2ddd5a49ea47f3ba119dc8e0465dcaa2460907caaedef218c505090e403e032da3267fa39cc39094c4cde66cc106d231a0655113dd39441506e717adad503f50d611a74c7d062d053eb99a94c2d4d0bf6db495aa90f663d71d93c21e30c0203f5367cb812a4928389d7f7dfcf3d146a09e5b81e98f59428ff4696bb785a922a0219ffff03e602acc70db46012438e205a19cb88f230ebf86a905ee57772ba81553623eeb90383ef5bc989f2b7a2d96fb62279e1da80cc10ca3b4f5c3e1dd5c281d3edb7dfd503f1eb211a0c2373f93fd00643a5412c70ebcc43dc68fa14395d598ccbc2cafaac03a13aba2531a16b53956c41e4756f4445c26d98f7570fa4864eee389c4d44c9e903c03fa645871f8c93e75b70cbb6f36b3f9f7b46ba3e8fcf91491fa63f826f61020343d6206df5891f4076961a8979fc0e00cb20d3fae11c55e015a5825f680bb87203bc72810126de194bcb9b9b328d0d5a9cc2556f488e0a84ea199525095c9d21ed0379c37a6a5ac4f733497ef2a964b5fb5bbd7183904e2926a10851a6c03ff2b8a3039cb24a509c9a4ad2478598fc6c648884a162e782c96bc00dad7aef0d2dc38ac303d7c7daa2d76d3df4fcdab5d72971d48d527b712df3475c866b9d682531aa35120364c63fb36fafd98bca46449525d477517eff9aad5fa1898fd5a34e70929ae2880219ffff0219ffff03773829688f7b055dff878d07830530239758f39b0e30eeb2bcca6b1f46c6a79e03ceffda6cc719ea53b4b83e039c2d115ef64a50cf10114236709c651b9e3e6b6e038b7789f5e72c4b1e7fa262a0161a37b54e27f92ee073a30bb87edd9e1f81cdd9036464ffe1358b7d6ebc9a448e325c0c5512462979f73438e247bf17fe79d7ba9d038f914ad251f95c5c3cb5e77fa8be4d02b1dad7c79dbdcc5866ee17508bdaa3e803138b9622ff35493b98c46a1ee8a2a33ac53995b6ec21490838166034f023234103f4ce54aae779efeeea985cccb64c8e15831f67807c8cae97435c99a4b89a8a640375946b98f3cef22ab90becf890f52d242893f13eb117e9464c7c2d4e8af7ca5303ed5f1484b5e1eda33a8be17b34ba3a3e283de0f9ad70f0c4d210dd61b8ee30f20354861abea667b648449f0b1f7f8aa8fe3b1a11435f2f2388ced4aeafc5449816036dee4d33df491c712a7c03c3c554541603cc2fdc9b9b6ca824495c416419608e038dcbb1ea854b8275b94122ed0c52f9be4cab742fe5bc895b9b85dde1223d37d403b0e26769daaa970e97d8194673ecbf9a653ec12ea9070bf75f4da63abd0f9e360381afa119445c20ab95d40e3a7e42a5a5dd6380b81e483c240d689d32efcb1de703f2c3d1de2f374b2b5cb28b4251bc8a951fcba2ffcb46266ce98ea4e3363b247203edd7bf1a1c063b3fbde07b0d6b8de0aaf49f532650bb5fee03694735353a18ab038596ecf5014c95d3e4e7e0be2b7c59900211002369741870eb487658d1f654350347ee9602db4bbc4e11de1b25c5f47421a38008091e9cf36ed2e46cba2cf35e330359342dd13f3e22ef8f391bb0dcb45e7b20f2b51539b99052d56f1e7fb4bc709303d17ba29405a6ed4b5fd0f1963aa45eb9b691843c87b01ac0e1ae13d6f1fdd13603cd02500ac9c9321e9ebd16a6df95a7de657b8149acdea9e01c0f286249c6d89803c0fe54b631873a1e848a945c4f361c2d8c93767bef549056a10882d9b74f8f12034c6a9a32c979285dbfb6b98f514af4b2af03b4aa65e1ee32bd50dcdf8d7bc7630369a835901aa095e44e1eaaab7e20030964a75584f533563b4552f1e373a453d303bdf67c54a7f77a5c526685251af40da114af348b58591778ed4c29cfcd19804c032b6c70a64c5b478d45bf12680f2ca53b92e9b5fdd17731b9afc99f150b2d3cd900581f03bf0acfa2cfc25931eb97b55dee015fec7513940b05f3d412349bad57b610581b60c92811318d1247dcfc00000000000000000000000000004736080316270e12b61bfbe3eaa354e0547d4d08bfbaf896dd1a5ce1435d0ff69cd4c64803e5103f8b9f3448b81070d87d889e1d12f9bff427201ecfdfcfeb98502b05b16d00581f036893f596b1599e1e59d26c6ba2680f3414eb8473ea8027932b94eef9bbb04343549500581f03fc9aefe4ded03599505eff728fc214bbe9d6aca1c0a3dac2b7278591a11043d0a8b200581f0381a9949bf6c0b2e17001c805dbe7fe245b3693c4524d58392bb7de0aa210581a34cdfecd1633e46c000000000000000000000000000000cf84b700581f0357a4db7a7b0a5e472ccef0555f5f2991a75879104d8484c492c46b9f31d058190f6c3b0aa786a2000000000000000000000000000000b6599b00581f03837d7bcd9177de5800e44057c9491c54cff03ef62d877d3976b02b62f3a0410200581f03185c6e9fb6dfba618319a6d0bcf5d318acdbfaece7ebf54ebab0ae3cf7d0581967cf9d6c260f51100000000000000000000000000000abbe9500581f0359124c424205941532508157753e6ca48a59eb9540f4450715f66cd838e0581b0739d98cf75efdb11cf33a00000000000000000000000000c0246c00581f035b74885ffcd9b068313111aaa398091bb310a305cb7b8ceeae75bf6a8c50581b067dbc87dd6df66cb1c8c9000000000000000000000000003fe7330219ddcb03d409b64231349499cf9c80f9154594513b725b4d673c872192beffc54226083d03014a0734d939a142f13b2ca66da3d2ccd416f7030a3dfc4cf37b107ffaf9c21503a23f3f1f1c3c766600c5a2ea1c7b6526801166019bb6ac32cce8a91e16536a930219ffff036783568fccf356aa042c00b53a343a54010c94dda01e73f370ffaf98c3a34910037454c100094f434d7aec98821f073413c675f6db2efb20cfbc0560dd9533621a03711cf079196e3e955e61426ae6aa6a47bb6fcd1225b982baee20b23e78090f1703a7f25c5a2e74f9429556275b9547385eb9e47d1368ecfd5eba881f51a43be9ef03a0833fb3494dd7bed0d08d9eb529f98c41cc0c1ec687b01cfe4bf860e5696e08036af2887451ca9731be762fa960b90387183e9b23be45f4ad14e10eb91a17939c031555f1ee25875206f546a9f68db55b9f8723474239af633449d4d45eccd1fa210347369231fe53feb59b3936d5577d117f728fe49da30b48a4b07548071845cf7b03fb775a37604a42ae0ed7b5d29052c7e044c8343c4e0b5e970b471bfae536eca00219ffff03100640bca21d73ea5f78d8d80478daa0646bd1db2a48f771f2eff0cd8b10fbb6036112254f0529016545f7b00e827df85c37a46e1a395f51f211026e725902ca53030ad28e7cec1f35f6a7375693ef04216f1a33e528c97c5cd307e65e32be8d55f003a161654fb209086f8134c0e908e814b5d810f0f7f2526e6b124719f753608b1403cb8206de420ff3da4f1f745ab7ed0a2a4be74105be54c66d92f6fcc798f0b71103ddd963094c560313e562b95b3a023edb6a19ab744b1dc098029bee6dd9c94ae503024259d126438247f1cd6d463023d0b172bab5582be64b6923080619f0cdbca003fa2a96f9528ca1f3026f3aa7e6afe7278fc47311fb79e28de827ab03243f99640328da61a8ef2c7b2911cb723a58ad1e7586082deb4ee92da0c4c44b998add36a403c601c22641155a9afcd1e8a3be91a042b0f4a787e222f4810360bcdcd1bb7b7903b09080e27ca3339a6b54997cee92b5c08fc3c43fe8dcd5a63668483b3894ff9e03ab9598e856d3a5e5151d1b3dcb3d6ca5e1cfe3d168a9d534efe0f2958144f025032888b04ec7291d6f7d9979184a6657aa63d0f2867395918d15159416dc2a466d0364e21d5bb44200f21e604d49b73caabe93124c1ae9a675c314ea55d3f8afb6b503447266c07f996f270c3cbe329275152851a436fe6b94a2f415d7c1e4996d535803395b4f483d827e479838c60ee121cf10342ceec347c52031eb42d145af77e8b103a0dbdbd70553517317ce37a90046bc54d4c2f57bcd291ccc506b8c365ee674680341eb1f28152e6d6cf9e977bdac05d6e1e2a242b272e1b389657596ce3e454a4d031192fdb6ef1aee51eb954f689e2a31f9e70ce3693768cb9ffd7edff64b58c6dd00581f03486cbcdd45c945b9d312efc1fed5fc234cb3608ccccaf14d5e4b7b83faa043b4bb6500581f0339355b2539754d0b835fd88c8b31e6811ea8249ef21239e0a253734538e0581a4f8e54cbc5d36a62000000000000000000000000000000f158ae00581f0389d762c5278e8222527fee1547156df3ba573b851a0b981b02ccbc16c710410203b8f7b4b74437630dc3f96a0a27903901910e48adac1aa21d7929d2f33dba7d4d00581f038837995f4ae099776d76743cc8e9bfecde517ea48f0c0cf91b8a3e74cea0420d5d00581f038ef4b00e8e98a4b71b0c052569085aedc861407b4605ad249031973ead40581920d3242a4853aeb4000000000000000000000000000046284400581f03132c4a29d9a565a2fffe615f6cefed542a072dd1b37ce985e390bb536380581a020523466f784c2a2c000000000000000000000000000048631400581f030b0c562fe4b9398108f7b9311a0ab1774eff9119cd124e17d15e9ac621b0410200581f03c5438660103815a79574ffdf7a91d53a369d2e0f98179d8070d4198da17041020346758752fd4ae81305c8c31d9e9903d1805b4a34d14b75cc902f5d6bd2114cd20219a96f035b743b358bf4250c84a93be4a63f89f3cd9802f04b578edf34e2c078b34b11ac036384c9f926c197508681bebe5167371a614fc567bb0350e346ebe24a4c4d42ae03fac735bdb8a2cb9a0e77e6e776d47d23bc9dca669a4f14cc2e7a9bb29997b7e903ae852f84e220d09980e7943014948bffe1dc41ef1bb0ea3e128718251a312c28033955f6825eba9aaacdffdad0695728f542eeea40e0649619623f438da3dae0650219ffff0361cb212c9b644598871c86236da8c979750947e8d41651da0a70f19d07dcc5d603b2b20769947aeeec18c1bc7e12426948835b3a0acef642f06c5f1f847f5b21c003a1a293d61135b89bf67c93f22f9f509b6bdbaa94f1b5c82276e99ab044ecb55d034b85976fff4602adca940a073270e89127f11b62c8445daf8fd96550f2e5153103001677af4a5c9578480e569a42f86b6d6de5a00ee82fef794bed91712c43e06e03cc0768ff6af26eb8ad9ecc2a7facad4f729904ffdc738ffcb8bb5a926f0e5e59030a9f0def8f40f08d5655feb7b8aa4204d3710eb004fce764b1fb3f21677283f303940b807fa1a956b3c8cc7238aa6fe2c2843292122cf663c562c79e6f4bc188d903480d5b3af55abf3e5495a17b31ec5ade63146c8c81e3149ccefd3f249bf3196f033e45d8567016d6029232c07fee3c2e40489bfced5259346e485956a8e871f6a30382006d91ce5921230d2494586f86c50112d8eb663c223cb8c2c35ef39d464c670219ffff037b7ec9ef22fba4cf0ac6cc634ba24033d2da6fd0e073ad8cda2b4bc12347e5ba03f98a53419049e1050470e9af269c165e0ce5669110dbb136fb7713a84ba77cf1030f42b0e47d7b195bdacb6a8f72e8565f9290c13e2fc1e5894b9a3b49b0c253210219ffff035d198375d703e442d4581d70824dd01e674812aeab1c400e5c60682391a3870203721f4803cc92fcc9decd91b80e040be0d61aac59bcd4f6084f3bac96dbcd15430362587f6614ef3d40f1d54c8c66d20155c2d0d24967afb5c786bd20483b790416034e219536591039266ee2bf0dea33a2083b0e12e5b3da8b54351f96daadc6f794039b1214f42b6c12d45e7ff9a1e297278fb477e60488138ad54d3e6a05bce5dc08032c506e470f50c01cfda2cbe1f65fcd46c32c862faede969107ffb99c1f1333ac0308062f9cb4662b9ab69b9d44be40839e237b6bd4740e903e975d98dcb457c2ec035dbaa958d489e84f0e55755afbfdf41bee287fcc35de85aeca03bb3cee52004a03876652f2075f44ec01f603d82c66367b6d25900759bc72eb0bfdbd026bcdf9fb036273259170553ceadbd358024b204c48323d3c7c0f4cffa3d5722b21d19646e7031bf4f5aea5af41f6cc0bc23412484507dc9296530b7f12d88eba1d502a6621f403cbf9018582e5f925cb8614566d9de45aaff25aae1a0fe8d21e13a048ff7cdb7303e200075dfdb31bd2a00aab780ac898cfd87fa334bc4d0f2ffb070da3d76716a003f437a78d219e5ec1d55d5785d242862adfdbd81313a709a1d4ba6c7750215c6703c55040ab0a94c6f08968a52c00f2b3aa8e321420b1c89a34eb136e9b5a75e68203d824fc23ef869f984a3bb518c336796a7b7a4f02f09f40e5a9c6a46341791600037aa9194b172fee234685f74c974ce6a5d56aa04d9116f72ab4acb2ea05c13f9200581e02c0c4c8439ed5206c52dea6d90e045a8a8998b5870781f17f0f34b54e88581b092780720dc9fbe526284b0000000000000000000000000101207100581e02527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf654f8094e15c897518b5ac5287d7070ca5850efc6ff0219221000581f03802533e4d416e7e84fbee8516affe15c0325ede25a152cc0c2b80396e8c0581a0474d86bb3ee60fb800000000000000000000000000000ab529300581f03df6e4371ef9b7f7aa85e538a2127ec3add22375ccf4c8a8f62db06d7aeb0438186e403bb43c5cefcbdb8371fab76dec2cc49d5e5d2b0a5387d3782118db012caf5e36603acab653e3d4777e316c2a94c0f3b1364345ddac33ef76a36dde32e954b839bba03ea1a51c28fa637d4ddbc80a2653c2a7731cd0d38dbb742904af0e8decca48a3500581f03d981944443ed22ecddfbbd14aca646d7a4d80a2714fcaac5cc0e01a07f30581b198c5e2a6ef0fb5996250400000000000000000000000000b48c720219bc16030b9e8e3805292926e95d32e9b79b242d6f69282e2cf92d783b20d791047fe04e0219ffff035600d9774ba10da879f67d70c8ae4ca0f178b4dec4ddb60b3efaacaceefb2118035544d06bd89ddb1e708595205a006e7cae183b2a420d98b1e49f4ebb1c54b29b0384e2702b87d7e6a1a8c7ea16ceb436fd58ff044e9297f7481267f19549390ae7034b018456c34b1b9126c7fd7a37424b1ae1da2d3dc9a91c85aac0efae7da47bdb031f292e974a138fd2c3cd258987dfc967265697491294f3c221d0305469440f460358d2277c4810f8da9803f7753445c4668efc8341202c33f91cdc80b5f638b3d203292d8c1ee91a2b02368b6bfb57f344d989ae1850ab4d1a44a04445b6b4cf070f0310a8bb6c9e843699261258c820f6db5a66763540d6cc32fa0218c45d70a8798c03b010aa5c4be6faba98603e1aac1bff2c6de07fe59e881360d945572f069046c103f2127e6b8ac5a97e966fad42ecb3e674d0e61d7f0a82cf34690fc1074e868961030ac0cfd2c5fb406c74c126d4c30d752d8d5cf98a3957745f3f6ecfa66d96d4d003c42e998bf0cd7717e3951ab55b462754ad212a45dca098c6fd432dad7a6a9c7703c2c67b844df19cc9ec95192fb20ee88b0d484557d174ba44a861a2bf4422e9c303bd3ac04321209b9982f0b5791bdb062191a9156698372cee70e7a37c302a9d2603b40fb044dcc44e922e979a92040796a1f695f7602c8e0f530f1bc1c9e58276a20219ffff03a60a97f91f9a8c4255103555bac7208b0dc30053a3315b2164f2f742c3164f990381a9c5e75bd0125e6080417a3c94ad462daad827dab496e0d7f0584955437434037ad6307534fa0c607332d9e182ec38fb83ca1fac0029b9fa019a54de00755dff0354a1b34fa169b987cf0a9436c0e1cc8a9e8375a2ba9dc9175ffee7882c295f9a036fed4d8a03a93301c19047b01c8a60d4332a06a1754b3732e76db16f8f01edb003e8a8d890cf8a227967f5f575d44f8fdbe610a25c59222e209923efcb921dcc16038ef564a505355ac472a4267a030cf8f7f6fd0c2d326fcece54f0c47cbf70cc2b03eddbfa151f502cbf4795d56fc66c5962d940264975f8e2b9f1825d9ee121d2050333ac989b6c6c5ce603d5c9aaee6b6e714a5a9b33c84fd6eb1d7325df7abd1669030c08384c6e6fb20d41a38b39a4e91e08dae1bbf6c15f8138307fc6aafe36533f03644137132d3a179cbfbd4098069a46aeb43d94f2fe0543ab7bfbf9daea23810b03c202acf770bd3e56b34e6835061cd404bf37f4103b920677320eb22ee93a21c503e84ac46368077d3c932f52dbcd820b638269992cf9b82f6e85d43b8f634725ce034f38e92945168976c676c2f4969fa380ef0d89c53c1a2d6e9ece4c72655fcf630219ffff030a2ee8ba6a93fbbfc759ba8c112f30a188a8ab8e19136a2889025e226fa3c2790323694fd218959ceb1906abf056ee3d85937692938b4a2c96a8b58fe9ab1f2007031b420621fa8b56f3571bce863829baafad633d8166e06f73bb4675d8ede62b8a03716e82efa73541300531f37cf904d61efd3431d230d8ad2ae23e1f807455b399035d63b35aee1dd7ff0e8fa5b47126b7d0d94e2557f04c6a0918f19fa7c20fa7ee032a085294ad017ff51b4a9ae908bccf3b9fcea51a1be06c0403511a3b8c34766b035507c48c36c6e709672b3f6f6275b3a9fa71db54092fb2061228316f7bf0aac6036f78677dec772160ff92b774df2e89c90407940d1fe0627777317196bc87f72c035b08045e1d36598fc91ee4ee407d9432afdf4bed46d5d7ce3d5e15517fbbf3a103564264f4a6b66c322857a0bb24df615c58319c48a7cf7b218302e7f83d91d3e903620c4f1d9262d2167d3bd0b2007c5b57a18d71ad652c2e2064a5b05d5ce63d24031c1897f7630c69718ce6b791798665cb59b4f1bd41a960cc86996229d34d0ec003d1b50a4cb1bea93bd66aa233b383ba60f0684229a876f0f4ba0a4c243612bd9003a6a482bf3638a98519d8bfe0f0047fe7ee110dfb55a75d130e6781815137866503ce0551ae90abdac53448cc0d7b572f925d4e9d960699d93ce0e5b040ee87b9b0032a86f8205cef6d066a2144a56cb88f2eb46bd382b388e03dc584c3b4dcc0461e03a6f70e5b7933a49903d08e21345296f05dc3b73664924ad31fdb2009cb92453703fb9740eb4e6b18f1ca7b40ef6ff0f6641269ed94eccd224171252e2913433491031f05ad8ed24b7ba4fd194caf333b9faa122960948cb133aca0439b5884cee45503199192a645cb1a19fa7638c6e50736e2c339873ed0ef1d5aee7c24d7828fa22e030f41903aebb97422ea12feb251ce16c521e9125734e6a62118105d933d586ff1033733121d95995eb8eb947507ab93b0071f3348faa688fa9bb21f3b3f473cd99b03c552b433686699683cb9e2ac31bb90953f3ec8079469c98e1c16c401492dc5150338e86578afff2171c9a0b6e54059a3d000369ac9bdd984d96c6b64dd440974f6038e2dc8973ff29ba593650b0249459372d1fe866dad4b97c2ea9147d39d90b171037f6c5a18ae9d5d9af199c126e9ba3eff3d1e206723e4504380ed0d6ce0fcc637034a62f8c337f3580bbbecff8d008e1f132938722f8afaf4dac7517b2b2083f9c103ee8b6a9088ce450f0808d417bfe4540e95880484291d253fc0a478e98c4a43750305e0332e1eeb3774050e92dd3a7e2d050d4ddb490a7a3ba95f69a4d1ebb16d8403b1dbc6cb30a6b67bb88bc3f0b9778f70ab0e2c69db3d8d1cc09c5bd1d7616fb003f2aabf2d06ece501f2e93f07b98b04023fd572f82ea8703a916132716dcf6c2703d2a769558d0985e9554d2940aa3ca6771fa667e06feffd587c3c804bb2583f0503633e283151bd56de7d762a61ce2e76b92cd344bd1c434ec3cb349a5cd903fe340389ffe9da8247f0be18c4a0651f6b89b155116e0dd1c0666388db1661141cbb760311e647c6e0d66bf55170e99da0d195711eee094b385a02355521f8cec369d89403c8c8c630b1b8fa49bd4165e8daee787d818562033b532262b824a5b15cdace8c00581f03e859c4276326e3122b6b275707a79b537ba6c22b1e199f8b34b54601b820581b03c914f5e0990e06b8c7d90000000000000000000000000058205703c1980cab61b7cf4e12d1bba46108b12671dc609b221569e5beb65f9028eabc3500581e02cc547230b0e428deb02a836f142427b05f2198b1cd3a02c15fb926a739581a351828f26660f39b0d6400000000000000000000000000b2181900581e0254680b612cfda892abdf35f8a58f7f9a88cb9855289780c33bac04e190581a0ab167f1fade10504c00000000000000000000000000005ae7790219100800581f03a9d479e6c6aebefb5f9c65bae160c249920514b77a5bbc03f37f2c1013f0581b49852418ae3b6501d812b300000000000000000000000000408431030405af0646a6e98e99149d1698cc8c2b6dd0ac34de962ed3e11958ee682c386900581f036ec19cff0ddc62440daa474bda89393eee9a65067dbda3b5ebc8fee1731043c18afa03d3125bf549d425cbd40fd6e93986eb600fc530aff24543681f04b4280b63b087033584e955d2762e6bf7da7d0f9df1344829f3d92ff2f193870666fad0cec86572035473b64bd43849a45c312556ac12d4c676ee3809215f342a3d22ce86efc4873c00581f035fcea6d7df0213a63242c387cdcb615d9fcef401d10fc371a5b0cdb1eb8043bc2ce400581f03da30a63f898d41d276c3f2e171b5a44b20714d5baa601e5b8489429a7d50581a11c1ffdb320e16873ac000000000000000000000000000f1b218021971bf0219ffff039f42198b37354e8cdcd97ed166ac0ba24e62007996566365e19459aac483a8310219ffff03712f5095eae047e935d22533e53091dea375b0076b518543f424b8fa2b22bb06037e89944343156c9e7f81a5079569b73a2125b11da1191f72ac7e1a64934a6ef7035aed0088afaeba9005be550f37b13576598c865ffcd733a16d7114dcdbdedd4b03ac18eaf1b18562805d0f32afa02f714f1c3cdfd0c249da132701077bca62564c0321771fe6a9fb3b03f0633c959e230248bbfb013a6f81d54bde056adf95bdfc96036ce4d468412c8c45763716f250ef1d256828213023086f60ef3243321a1f41a30367747f7ce54f23e66e88dc1cc146bd503bea5eff0a60019406eabf7265d5e27903ee237759060ee343c88745bd4e5e638d43d2ed975f2041f7f424b8161b1ee44b0219ffff03e549971f23ba6ec6fcfdeabfc6e9f68f7d4b2c2308880c3e4922ea7b41f1f07803a270ed956d755a61046b855c780d34555c168e6771fa451e4b31b97fbbb229ab03ba36f71040d67e9ddbc4b40c1756a96ca2fd10a3bb906d945cdc426d440ea8d70398f4d9c863fad47a538e6f37c932fe82531e7dcc2d4b8d7b13cdd64cdca0d15303dc363c7d8906a8e87c19846f3751d5967089761fc43e9de07482309ac5ae3bbd03f3ab3c580657c54fed68c28e52cea4c60277c8b4568b2ba49a71703e9d28a45f0312cf5fedb6e4f662bdfa604718aa75c41ac71f817fdf063c8959f59b6ae6552703ee20bb0de49caafe8053163b05a398e59ea5c619dc9d69004e4896e4910dffff032ae46035650b4114d25ca90b447f9ba40d3e9ef5e880051ae24c50cf22853b2a035bb48f65c59a526bf2f529795ed4da5e40301e60a5c0edfca41f5e7098a4aac50354d9c229b1560b3230f789e5dbe1f2f2005188fd57c2d9be5317f2fb6448af09033fe7668adc9bfbd645f865a287bdd8e258fb5e2adfb23261a97d0fe0635d120e039f7fac454a80f42185082af67b1a91fbf2946bdeea28db81d159bcd6a0f2d3ff03c3b2d8056a88c968f3aadda28ff71b34ceab273ebde57c043494b4d60e843839037adfeaf77df19425dcb0dabbc482f636891af2da2977338ede6c6588e2512e9d03d190d402dc1134e7d4484e43501a3526c221f6f6d5500e5778800f96ca7715de035bcce0aff514f1a644f78c45a8d48f98d6a6f1ece2075f31e367eec5e4eddb4203bf77f716055f47476316a00bace6df9848b8ea51d93a89a9ba4f6d11f399aece037ea13a69ea3af46d1b0e7e68ce45e6e7339f09ec6260b58363a5a4f6a403ae61035b6de59e435b2d44cc804a2508ceb167b87f5648e91dc746cc0cd499948cb073033fa92d430761ea9eec146879ba77ab31acae3bb269c31799a71535efcc7e085b03403810fd166e2ab91df5eb99d7620e786668b243e994030e8ced7354469766eb038ce084161d2c5ac63c673c2272f7fdb392458073d7a83e34b40bee9edc1c2db503ddad0c41dd635c2c82c40d339717d5630bdd96d1ec2fd08ca93b6e18588ac9ad03c12d5b634e88432f7caec210797e3848484fd250089b000638a994a88900f7cc03c6122c5a57f95122cd194db5956ac7c9ec738a6b735af3bb889fbdbc8c63f5fd03f47260d634ae454b0eba402058fae658f5986ffa6b56383c42b1910fbf23e0fc03a99f66914113f57a3b8699f229ea672e083c0b415ddafc9fd360bf141c60d98603278487eaac4c6eeafbd1611d00269493135afe99c8087a1c13c01a9db6094c5003f3191f7ea22a78c8e069e3050c717c5326924f5bd7b45a54e3bba7839c493fbe0322e57a2ed1e42190548ac74105cf23607f2dce510aae885be151b9555c1cdc2603592bd60c93daf55b63a9caf377dfdb85eae4a4518aa630ad0b285c2aed9f6edf00581e02c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c755a7dd95d9978dde794eae5233889f1ffebcdc99140100581e029709efde1cdec8464b53ca81f5e8ba19bb27229793ef710bf8bd780aec410300581e02afb2e900ca113a81d18fc7f286b151f2bcc5a9ad5dab855dea7647769c581a02f9e4b24f29b3d24000000000000000000000000000004a67e00219034000581f03dc913164cb4af7995f9640af310e0724d5a5340113eaedd804a5c8a226f0581860c4fe8998913c0000000000000000000000000000b1334e036ccc88e5b7f012d326a28eb9f7e104f28517be805c04de020f16ecda1910630a00581f03309a2abe843605a71cb3ed9fbd638b5050dfbafa0f034da8d640d59e1eb04348fbee00581f03fd736cdb8a1bbca9321ea0157333cadfde35a87af5cbdd0c95b6079e69b0581a0d30c6444769602e9c3c0000000000000000000000000064b9b600581f030fb21d7630216714c2b65fa4c0a48d4610fa7dc4b26d5dd1e73ca465f400433fbdaa00581f03f510c3d7b483919eeb0d1e66fbb217c6b4d1f89ca061899cc965a9ec49c0581b18d51728bbe423358366b8000000000000000000000000010941a603fa6f5cfe23c4245d7273df6cb2498edbc212cf1d957060d2977b197a7090f06d0219bf49032c44b232018c50330b579765d2d2eeb5c66c26b9c1ba7c6883b2c09886e31f84031fd8849e36466308fdf7428c4ac3a949b591f677004a5aa3f8ec4f8cade8486a03c92a30d227510ce9339cbcd05f3daaa0cf6d079617962b9394339b9181e852340302ff22df54a07f31076061b3e23d873f2c3e02f70bfdef88e5ee215be4f274ac036e7bca4a67ebc7fa03351ce54fde3c43f4615794b3213fd0d94ac2fc30a4379803b847e0b7cb286494a0721572d035e05a79b3cc5ae8e532e9c6ba4a44f0d453dd0219ffff0300d87d20d0b35bb60f2cad075c55ce41fc91ae520e01b6f87fe6bb4ed7e060bd030b10658264ce991a37de56f5ea2bae86b03d0bcb3f743c7cdd7d82b47f3ea06503f6a631042c4e3405cace42edef05f79b2fe47dc27b4abba7c72a5f97fcb52d08030f5f4bb8830a1ff37b9f609f7730c1f009879e3d3eb74d368721380b45f5f27d0374b54e73ed6ed95c3d8de6fab005950c4bab2752db91d157be61b52a80c5e9e103a3b2fd880b2f1c02f04712107d4a438f317f53147d811e564db3fa5e67735ed00315c2ac2a4c7673847d64b0eadd9464bc3a793b2f03bd2a648a51e5ea9342e06903b134ab80934d856dd60fbd19b00f5ae0316b6567703268a73a13c4bb55cfa11f03c25274dac3cee4dca3e5d60fa521e621bfb25c88c7d839e7514bcd2ed49603110219ffff0219ffff03b221213b63cf14e678b9a6d796969f42f31549a1ab506e9cd536a01268581155039484a655763254f53383ed48b4b88185a1439e0d21d76260bbb7285a0231654a0219ffff05581e032d3a453ecb3d0546d74a8f65f903cd08d6145f1b5f20de62b39f41c1b00701192c8505581e031db32a0bea9e913a7438a4a5aacd7570a68abf61bad1f07dd5b82a94f00c01470209a50a08ef4805581e03df56be7c5c22070ed5dd3c5d4ccbeb62db380c5f4182ee92ca74db96c00c10472cb0756051b2f00314852218a437eed7d32b96eaa6d53a89e2591b86cf4edf9098345549f9ffa58705581e033c48fdae6a895be84c27a591c83fd82c612583a730273251633be2b9800c05450fd51da800021955790316f7e5429fbaa522827fd4212958308ae43df3582468caf2f7187d59e8af030303dafce8ee4a40cd81b8687c7b5843c7fa6753eb3f412e5c66558fd8960d9dbeb503572ca7e2815e5483a7d4a8e90c394899b257344db68c98d3f531977c3490060203bfc46836a300e1f0450659ab8ac82eb62e9e0931ac9598432826ab8dde302f830219ffff038767a8ab11a1d6103969b1f954e709912c152e94bfe7ffddff85b0591afe5ecd0316d60c9967b3aefd686beb0534815831047c5d8bdb0a52a890de602e906483560346683bbe2b55e57b6751851433384eac24c40ebcf2217741f388ce6183e2ce5003bc87307fb6d5418afba1d4edbe86feaeae93cf622c27a602c18523fa1c4602a40219ffff03ab1fdfa1e38347d9067eaa1851c2d42674be7b45339d9ac493ea160e3ae79d55032304d036c7a2e4e1acf8de7d29b4103d116cc0b8e7c2c39cd543ccba608a2af90351c4101331e58b3d6fe940016efd246c54e6fc061c52f4c523df7241458c51cb030f4b0cd972911b9f7688e3fb9b303d4221d74d37636534bc11d59f5e1b65f24b037ddb086d68e2870d89100c54dd72d3a20ce775fd75f1d39068e35254b9870c820325a967ba427e946346c0ef7617f8fc74b317b883b3f2156fbccfd96b4df5ae2203c629251c10d355f8d7895d3d04c7b4a64ba2799bf757c64ab8315f70c88b475c037ecb1f0754d59fe1485defd356b0f3d5f8fb3b87ddc8f88be16497713b122bc60372a1fa27a212b405d1d9c42570983ccd197cb00f29f9ba09effef92b247dcd95032ca7c926103ef5139eb769f03775a83f9c2ae4f801abe53fadee28ea8d8c65c903c81396847fa1ba31ccce95ebee8e27130c3d2f37ae8d91e4d9bb80e3ba9f1a4703d7becf8cf45d3953d244d339eba978b2abfb6695be5de5d03a3fed26e560893403f0242744199a7bf89d11d8614bd2cd7a536b6d933f96ad81dbf3319e611ce74303990e70a549193f81927048867ada8c313cd1c53dab8fe6e57a96f1686ac4cf350219ffff03c01a27447a97d4f28ff16fc14518815ab7f4f78b8fbad7cd309964eea051efe8033efbd5e3ae1c08388f840a4652cb7a1bce8e38facae70e0d4cebb345af290ab703a48e656134b97060a0c9d0b8df19bc5f47e6a0d6740fa895392dd3e00eae5651036a92d733e55243525377d72c9aaab537cdf61464d7c734d49bab118a195aa17603667740232b3c62fb087ed601a61115338d67d995788730f8bd13d530b92ded1c039365cb3279ef980f90fe8eacf4c2504161eace2c919097d2449792d9970c82df03890e6a31b6a083a06c743dd62b89b30bd256822f9f88b34e703af18b2d384e7e034b35514756d7b65ceb2b675fef6623dfec79dc7a0354953fa83613ddcc08661003ce615796eb6e386f62ff2796b6468bc84f2bd65d186445d2acdf67c24199d8a1032a0f1d1e9de6661b9d3b9e05fd012fdc3cda5f836ff8afe20207c7f76f54798603d4fc7fe6084ee4ab9815ab7b6227a5796bb951e7312c31a6cd6ae14e41e25bdc032697d5f6ba19d67d96e49cfa875587c1dfa2f57119c6703dbbbaf0dea7007d0503179c75e788c34a41b32a1434a70d2f1d9ef992abe98562b49a2fc3579520ee0f0398d50d38f6980e846b96a0959dd0d7ce8d75455a7279a2ce6c913193d5cf763e0398db64f85ca37c03cd25e087ad53810d9fdf2cd43a981bf500cdbc9584eab5260385ed63b14a6f839cd102d15469067c017c04fce7f383fb01624ad6edc877e0b7035a067dd18630e41152702d3400373c4c2fdb5a10829a9fb22eb5fbc60deb2e27038618cde7e3517aadcf8522a790bfa7268625b57d12a5111852d0449f9ee0fc3d03032a23d65f73d87be7ea57506bd15cc62ab5e2e0d08fbf42547ed0cc0bea6cee035044d11c628532baf34d3a695b4f6f248e1df038beb2a2abe3fd8b0bc4507a4e034899705ff6c2762b378a969c7e2ffb8ba734e73e1f8cc3191e895e8751d79c9f03f400c7179fa836c912940d2058f321fd271760991c51599f6d156d116d21f89c03ca305db11f36a6a1aa2cd4a3e55c116b6995e28361d7f2a41114ccce65c0c30903e5ed50ad265be586cb6d198f3f17d8f333e4e464544d146f8cbd8dc3a61213ba039d0fdbf3249591b5589953c2bcbbd2c028d6e9eb544f086dc53494304ae71a9d0302547e667dbb6ff2ac6b6a5fe5b2910e5508d39f810a60318dbdb522039a1b5603c352760ae615444154f1968f4d2cb2d905e5c3dbfba54f3a3130f946865200f603897884dc3f4e36bb692b2b6a12718f4b18dc3e6e275fa006672b6bbba55b7a6b032b670f07db7197d375ece679eaa23a5edaaddf3e2abf29c08e2a90283aee04f603c35ed5e566dfd0e603bbcc51050836f23417d99168a97bbfca57aa0dd02622ce0348a4833acad3e47ffbf784daf8f46bfb773ec683265ddbb70104702a81a2a46105581e038d7cb3f9fbace6945fbd97d4d9b53e88880f470e3d2a1636fc6285aae00c06471621b02a94f40005581e034b1dfd459c8fc1270f24565e0b56c2ca4823799bc5a236af018d091d300c0446c5560263f6c805581d02eb30f74eb96707383f562701d8ac402b79e19879da426201ecdaf8c8084802b139f8de6d000005581d0212b0f641be4001d2d3e73b67d70085442d44c85f276516722a45ee8f0c0146a660dc24b4bb03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d03a96b4ce40a159ef0d207628a96c5eea97697913062002aec0256372007011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203c9d2ba549edc5c7808e8cc0994d5e09842081d89ace8dee8cfd3a77e6dd70e150058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563049183e55dbab04396c5100582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04e1d46f85d780d0d7832d3785a5dec0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820d270f5dd5a6eed9f5c6bd08107a8e9dc4dd7069b655527da732d239394000d17005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a852061d1d4d3b94992bc3e9bf16ee39ddf9905402184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582103aa6688336feb518adcf68b61b53399ac6fbc893f5f6a0d5ba47d303322a73a705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632cda700000000000026edd06374831b8a000000000f1dbcb1c620960793ef0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5411ab0b518c090098525adbbfb4f9ab90faf71ab90218480219f44505581d03e4b4217de5172899eff8c6ecc139768fcba3429ebefaaab7f1b4e5000701192c1d021911000219c001033d65fc65d7a88552eb88e46b4db35176a716e15f77521f6f67a6640798dd728205581e03757c40a16e98054529067ab150d2c1f983b5c25e9f99423ab478c4eb70040405581e03ca434c87abb3a368bacec7de5855c6f7c7999b94e58a95b94d8681c8000c04471e6d0cca2866000219e76a03b96903764efc9b19a58ea1774df79da29be85dd6e7421a82332f6b90bb8a0076031c123d87f9b31383db4ebb6a2f12d098b18f4fd161a359a62d66e9b3f470a94e034c59c0c555a3bad19b9dbb764b79d6a65ffb7e59782c9427ea4894c8931506a70303af54d810634bf9b1042901ddb4bee90c8699e27ae185d8cba276e218fb17630219ffff033a0c9e5e642dedaa51f140038394c0f6ba0792d0abcd13c1b1ea96360383809003e05eb238fafa7c66871cc1982af2e91420cba6d23bec0954d8b66b0f532ff2f10386a7a2b68e6ff6a0c99a4c689b3c210837611fecd8c6a7763392167d260d422103c445cf4476ff2517ca57fd0c9326ca48fa31b0647d038509c489e0de3c4f45ce03e7591548b4b416ad576003f5cdc1cbc2f80df2c28fd71a292a20ffa4116d3912038201f1f6ea6f2e5739257d0f834803ef05bd9b25f1262075f8ec97f4a08b4a6b036bba73dd4a694985aaaca4f735149ce148c05989fc472a3b4a2fbd2c61fa625003453e2e6affe5a248ae0932eed5f3f27f48fc2187f1482e2ae2120268d07da4ab03e35d3144defaed883728bbd27e1680ebeed764da74dc5d1ff2d02c73d90fbad003c3fa9c28966b480938f4f9e2e7405d43dcd0e420f0e133c2b711c50b6f4f536d0219ffff03edfb28fbb5bf095da139c8fe42963d370f705e036f7b937e3f1495b9c9542db3035842c1c1d36614fa6f3ccb03e35543911cd18ea29c5838e70b640e9eefa0f83903a89a2464c50428590b97158324e1e2fb915d2e6d4d316ad7a0958ea5fb52d66903cf04533823dec102799b4b5ebd74e956404bd4b8fcb6f201318ebc28dd64c2b3034b302f0e75cdb69e4c4af1bd90347e1b771dc7bdf237c0c2000da1e8ce5c6d810219ffff03189a3759d6caa97c01e54e01c66c89cee78e3e08268cf2b969cf315436bc7cc203eaaad99e1b69922b0eec640b1541f670ef262f844a9109a1fbdf9b668483293c03419add1cea02890b75ee50197fb1b1ef9d74901828b1b134fc2ddb5a65f6e6ed03e41fbe777a5da85668ae338362d513b4dc13ae8b8e3f2371be7e09ddf269bd1d03192d7007824ac7892c99cf22ef763a131524548aded7868d34e58495b05f32350219ffff0337650b57e2b5e9c1f99e75ef54d64375651b77db94dc8869438137ae841981af030e7702b6f5f83f1a8405336bbe8027e883b1ce9a0f7effb67952cc1b64d3df1303e324801d9db9f848bf1e4694c7052843f1b2de9bcd5cc2f4e3c56b2e3a25d2ad032da2470dd48e5f8f4d027c0338c7660c7432c855f9a88567c382ab6b4f84f2fc032c80bd56f88fc9fa375f37a982032fb6f170acbf3da1a741233eda742a4468f703f4483546c6eedc29a006dbd0be1cf69fdc69061f022b0e90c5a976446497d1f2039ebd9e7e65c6a272f8eba530bbf006a0aaa4d8752ccc68c50f8a7fdf8ff40903032261eb79d192a930253c697def5ec1a70520e9c1dd577e73f2ab1b105f487bb903f0d1fca9bfaf42ab50ed731d1af6d7e51e96910274292f207395b6603d1da89703699e4df158501d3e364bc6f2ed1e9502d0a206abd3faf826e08cebf35e36a99803146d9ceca1c8d5bfe4a93e6756b934cd3d504265233c802b7a6b69b6f5d9162003b187459a2cf3fbc2e9e4de0e28a16b613a52b4c8d98ea03e5e6adc05e814ecb703b8a317e1c194892a0800b63ed2f0fb2cf132d9bd39c1dd39571cbe5c10ab76e103e35786540e6a613acd2b207075b2b116de325f5169117bbff06bde5293bd04b403c5add52eb065aa0d036e0d8796527e516f39c43f5b1ded0ce82739e000729ac1032e40b8ea3360eb53b23bef080f097dcfde92cde3dfaae1434420198b8f5cb636037200742aaa26dfe75e9e4d0e331aa023acd1a004b8d3a8b5f522bd63d3fbd6cc036f5d0d6575dd8cee5ecdff37cb149b7b08fb36df61ef9f468f893c9bac153d53036f819fd3f09dec0acf64d436c0934a542064005ea40b2f496ddc328abaaa1c07038de487cbfec867b471c70bc0e7b8c37ac336673ab33d43e8ab08c720133716aa03b2939ec8d131e2d35377bd7893e71f29a86e9043eb4faa79bcc7ba74a823f87003f792b8af2e73a598e4b80d21d9f0c4cbd80c57970067e009d837d60addc53dcb03242ec8b1e21baeaca2fc94c1ab9ccbb2d6eb0c5a6f9242c5478903b019336e0b03f7b96d033835c4329baf0560c724de1588814bb665ff758b598fb54df441cbfa037f3aa1f8ffc3a6a13a844856198082720867514faa1f296a606f07418d4432a803037052461d2e3c09b65f54082bd1c30656bddd0ac22583a727c1e39db53ed9830390b25c5264b78ce4340046a2f95da67efd8bf33e1f2d3d7338a7c485a48372670376fed7387ef105ad9108950002149ffff9f97102f604aa052b5477da12c13fdd03c5a51d40646c05ebe11b8345a30202e71d0ad36e530d17787b0f8e86913f241103982f4456e2b39b33ba7bd4df8121397b6b73916539812fd2ea784d152c9efade03dd7dae1b9cc450d1b20119787bbf9c7f67b35a0ead0194e779b8cd83806ab8c8035bf1eb92dc817ca59b177f6cf9f09b353f2dee6eb2029abfa86777f849d27a3c03fce823f7a7a4f9910ff3ca5292ba7f3900da15a6a9cec75093afa4dcdcfed300030c61a47c68d3975b6935c44ab5aa14ea1fcbf5c7d641503be6c61a975c807cb903756cb4a4617ec05fb55d491364b5fd8474dc6edef7aa0b696378f1f61b24ae91036a22497c6a1ce3d1a554dffff83551ad57b71f95e4c65284beeae31d7ca645ee03a4e37940d4d8fadf11e301ed1db2ccc771cbda2af1fe154ace50b85644ae32b303f6a23b49abe2d0a297b0b1593bbcf1f05a2f6e891f9c82b5081022579663878703ccc134f5015927074de24bc5bf899dd8485d573806a4ba454c63ac714a1446570331a0bf0400495a1de109c7ef49cc3790bc4d22d90eb8c0013faa480a3f71374d03f432d6620c9f1a79574472c76cd0099e0e9ab984a5b23360cdc2c25e080aa29403f41e7fa993d2ced7d09f717b4262e608382a9b15b0e6266caecfe6eb9bffc22305581e033475cf1d0fdb8c43abd2c3f504689d499019b0b0bb6d3830e85a7072e00c03467d3df99069600332c7727b51864cf7f6083614b71713faae07df891b395e7846e4656efc7a7625033eceea1cebf66e6aa8e0f990ae0208f0736b675fa38f46187aef02a6f47629cb05581e03d83effc8643421623ea61931522b25e73a9d24a77b93e8df8ae89cb57007011bffffffffffffffff05581e037c9c0bbf7e72d606a8577ea39543831c2d9cda3151684a4bc7d89686800c0247057c3ddb70b800032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e03c8d24f9dc0170b62aea2aa290d4f660d5226bdd027e343a3ed2298347007011bffffffffffffffff05581e03b364f2b9bf7ea8fdb8a8d30b961a5e86128cbe707e184f79396f2dcfc00c02464521961561c803bc40c36ea736cb1e3c4d57d33d2c88d239593f29fc208f4a34038eb87b5b825f045912f46080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014f57806318160ddd146101c257806323b872dd146101ed578063313ce5671461028057806339509351146102b157806342966c681461032457806370a082311461035f57806395d89b41146103c4578063a457c2d714610454578063a9059cbb146104c7578063dd62ed3e1461053a575b600080fd5b3480156100cb57600080fd5b506100d46105bf565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101145780820151818401526020810190506100f9565b50505050905090810190601f1680156101415780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561015b57600080fd5b506101a86004803603604081101561017257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610661565b604051808215151515815260200191505060405180910390f35b3480156101ce57600080fd5b506101d7610678565b6040518082815260200191505060405180910390f35b3480156101f957600080fd5b506102666004803603606081101561021057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610682565b604051808215151515815260200191505060405180910390f35b34801561028c57600080fd5b50610295610733565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102bd57600080fd5b5061030a600480360360408110156102d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061074a565b604051808215151515815260200191505060405180910390f35b34801561033057600080fd5b5061035d6004803603602081101561034757600080fd5b81019080803590602001909291905050506107ef565b005b34801561036b57600080fd5b506103ae6004803603602081101561038257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107fc565b6040518082815260200191505060405180910390f35b3480156103d057600080fd5b506103d9610844565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104195780820151818401526020810190506103fe565b50505050905090810190601f1680156104465780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561046057600080fd5b506104ad6004803603604081101561047757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108e6565b604051808215151515815260200191505060405180910390f35b3480156104d357600080fd5b50610520600480360360408110156104ea57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061098b565b604051808215151515815260200191505060405180910390f35b34801561054657600080fd5b506105a96004803603604081101561055d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109a2565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106575780601f1061062c57610100808354040283529160200191610657565b820191906000526020600020905b81548152906001019060200180831161063a57829003601f168201915b5050505050905090565b600061066e338484610a29565b6001905092915050565b6000600254905090565b600061068f848484610caa565b610728843361072385600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd090919063ffffffff16565b610a29565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107e533846107e085600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105b90919063ffffffff16565b610a29565b6001905092915050565b6107f933826110e5565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108dc5780601f106108b1576101008083540402835291602001916108dc565b820191906000526020600020905b8154815290600101906020018083116108bf57829003601f168201915b5050505050905090565b6000610981338461097c85600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd090919063ffffffff16565b610a29565b6001905092915050565b6000610998338484610caa565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610af4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f45524332303a20617070726f76652066726f6d20746865207a65726f2061646481526020017f726573730000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610bbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f45524332303a20617070726f766520746f20746865207a65726f20616464726581526020017f737300000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f45524332303a207472616e736665722066726f6d20746865207a65726f20616481526020017f647265737300000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610e40576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f45524332303a207472616e7366657220746f20746865207a65726f206164647281526020017f657373000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b610e91816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd090919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f24816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461105b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115151561104a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b60008082840190508381101515156110db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156111b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001807f45524332303a206275726e2066726f6d20746865207a65726f2061646472657381526020017f730000000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6111c581600254610fd090919063ffffffff16565b60028190555061121c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fd090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fea165627a7a72305820e20d925751f78a8e97575d042cae5a0688546f17e3e28665288efb94861651f1002903d20a92d640fbb2f2b9c7d35b6288fe942f9d204da2c9dd90d8bd42b55cdeff9f0329ad25517688e13567f1910a4cfc91d5261b47998864928d7eda739c9c7620eb037ef0d66c29b1ad8e4f8db884b0bc6b0084f253d0d5df441ca7c11ab31e24e4de03b758642bd2f98b715f26f4e37ca6a63d8de7a1ccccc33982f5842dceb60cdeba0342d3ca819907904157bf8642dda35baf0d2c64983f52b5e979466758d68b00220331a1cd91faafd77e7188e65eee90a6b8716d48f878a3fc30a078c62f41a5666803d64c3c77e4e32236c339b1bd65fd9b104ad72f432fd3f1042975e4feb4ff6a4803614d092c5025c48b16310478d75794cc0585099b77b393286ec0562ab2f8d085035c311e04d997a9a2b6e16ae2f5115cad6a72349457cac2090758ef0f1647f18103ebeceaeb2d98116e2d81ad2b954e3b13a75510be7d81b2c1155e3ce042365a8400581e02a3a4f9cf1e694521ce35fee6ceee8fb258305c6f477778072f58945cea4ad3c21bcecceda100000000581e02c15726b8245a61f035d89728831d6c78b00ba79762fa85c35acaa34c924bc291719c9414816077000000581e02aba3ef40cee4501bd3205dfd7e3f2e1abe4ce969ec43aeb35b53db56dd5820fffffffffffffffffffffffffffffffffffffffffff2491a9b5e816f1bc5fbff00581e027cf164ffa0bbc5df9e61101f1f676270a9502bef5bb30e2c3b1e32eeb24c0995a80a0a86d50607a0905d02190a2403dba17ce25cc7cd9d2e0da83160b58b4f67c266aeb7815d330abb294685be67dd00581f034ae1c5281c6a44320530637577835764bd9b8b941a59c8263fda378e52405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f036830455d42e86bb06c4cd939e6103f5691b21b2683f86a0de4f3c440e0f04aa3282f183ceb0c7c000003fcda772fc1bd7626509f826a68f7801589c97ef3c6a3a64a722248e3ecf2fe3103daf3dac603d5be53b72ef9f9bbb31ea58b5ece530fa5b19dd5ecf1dbf2b4a19503c14d488f4f8facf15a7e5b78a6bebf0e08e7e892726dab4e796aada412cf26f903875cd9a84de187bfa2ec393e22a1d2678b457caf9fa6b851885b4e7de36700b103257d7c1abb19659a5b08230e0804e777cc7b7c0bad73d0a6fb91b46c66fe2af60219df3f03e31a1e40fb7286f1b1138ca0af8dce624d8d84aba97aac221cd5c1a66d0d7b8a03df2270f3714c6c507a4da77394ec9519936311c5108078a849e2e4a304976f090361add8e40bb061863cdba38b340e8b1f9ae2d13d72d58438cedaf1801cee35bd037ff834b38198f9af7eec4f6020bb534a621f317d1999ddf5e8e0f9ce16322e7e0381011dc15f5d2ffd9f086ff35cd67e9ac5fb8640f2fa6ec8a0df50e6837dfefc03927ec43b45214ed3ca321b5087f91192e16681d5c644b4dc157b53bb79974bd2039132c944459c633217a0b1d208f52a145e9416c26d9706ad35926511783e5dff0326b08570fae26b3127c72adbfd8aaa91f12040b81748a363ff540d5c56543a6303b361e95875c164b19e80c9f76963960ba7d8c70fca6363028fd055ed96769a980219ffff03aede526076835d05cb67ba47af37dc2fd39d60c57ec18529db3e7375ffdfe547033fbb155788848ec0837c8690f20516ee68c7a1fc472ecf9babdb538917d8eb03038bfded46c638a3580866bb952ea23b09b52af83b33440b203804ffb4a9658b7603df6f1b8566e806aaffcb90e16ae3c51a65e1223772869f60203fe5ec21f63c35036fab59a410b0ce3fa8ac5d642104b320bdf05911b2c8d105f82dc88e5488b1db037f88984dd6ef3f45d148a8d389b18fca0287ce6be98d82cf43c636ba7886413e0336c1d122881e0843638903b57d6663cf289e4c611be6043c390f6358fd437f82032d81a567122b3c5ddea22fa560a854e1683e7f10fabbbe48319eb961a0717bf9038d5ebf552762e9fa16e374c7baa6149157c87646749333b4ff78880d4bd983250394fe1a9ab2cbacfb6933e9c3f420bddf690ed80cb16a359d76d7cb223adb6f1d03cf2fa1a94229b831ea78d1eae9b5a89467ceec5992c5f76b87559946bd09194803c1b9039b6086223f657bfc7c0f1462fb1c0af3ee4225035d2646b28c078427d1031ef8948d081791e4d6344102ba25ca283e731c10a297974d6fda0438c9e284de033585b8f0801785cf951dbac9838b396b6c6f77568379b0227f937089c254f36203cd7348b404cd3f7c6593f05c248b2105319a34fd78fc2b1e3d59af635e89894d0219ffff037f9418ed78c08e4442051412fcf6ef1f0a869929ae1168f6ff62594ca9d72d5503efb9b96d8deba6a12cdaf1a574d516e7732187c9409c23dd3a89bf5deec5f34603287a92b9c43943865af70712e7efc5b051ab889de81630e500fca30f20192c1b03d39cfc934686953ab599d62398dcce1aab5008fec72b90b1dac365c66b951f67035dc1fc98c13a632e38fb4d92feab23249da848a80cdff2a8216fd79fd2e9687a03f4536892423dcc473e112f72335692938fd4ac7efdff60421eaf59e8f4509ca603fbf7f33244727c83e6e5c1d8d27182c87b81b2a4787d8e96b8eeadaa707c909f037b4dc057bb06aef4dfab896cd43ecd8320ee110bbd73ac3e779b9feb4881f76103bb6dbf0c9991d7a6302272b260a6928caf19a5fa12cec805db1662b30a85462103418135eb333ea46bed19d4757cf220075d19ee0f8ee9ad5cc4f016418ed08acb030752a904c0359c650fb65e79f6b8b0774d0c3b99bb3a6b02276fa81a4fd47c1f0311fc4ffc6e8767e0a13a2602d81f16777a5c0cf8ee8dd3667519f8f74dc7e06b03a321c39b4958c078b0c06131ebbb0d4801aff75c7e88393a4529b5351c17101603efe6cd0b677580524a9092d64d229fb714d1803d407045f868801188d74f23ec033dc6e226bb6e055ea3411e1da28785032c41cbf9d2bac3c7b58be048bfc3cab30219ffff03bc3140b9d2396f7c6903898589803a3d10d3942be2a08bed6e3b1a0eb2b8d0480342fdaf4cf399460882df041abd7271ad91737ab596da93fd1b613e6d0410fcb303b2f1f1a87ffb31cf01a2575a41312612639669d856e74f90862435a797e13e700364d6c1842738ea97d0f000996dd49ec3b4cd30858e43d0a546cd8b6fdc7a6c8003a308a70f48b6580c6ad6949ab077b323528fd18b4433448f17853aff1bd4410503885706b55f73de59b73706f2f2a2e49cac8e9465ebb9f618202b64b3fd2ca5c903fd9def7087a161e7ac4d6c3ffc962144b78e171bfe2ec3626db0e7e45425ba3b03fe11a7fad62ad21bf919f9dbc32be9afc9d6f4abed6122067d4655a0d2188fa303825c9ab19710e846e3c7430d8da4ee878bfc69b8752eba6a9ed68fb645e170ea03797732b95781a49ba27c1d346ef282b853288b9896b3bbeb0201a832f1e8524103d525e7dc3bf0037d66597866278d39b92e0a7901dfb10c12a6cb0106a03cc8360358373c5401a22412e25dcecfabf4e084a3751ec33c5e4a2d9454eebd3c362923030f6b1c25a2359cdbc18990db0614bb24c548c3ea79ed3b2793e71f289f1ed3d803f0ce7dd844dd80a14177661bfe150d8554df4dae97ceb3501040da4a57d8800b039aa645649bd2af0b13620611392bffeae323fae8812555a1de8301e115f5b76e03b3ba5206da68dab9986bafe86d56325a5ae9c00d379b5becacce4a98791f8ea703fe5d1f19c8148eff534ac91294da9099910c2e7a361617d7f5a32efd2535282403342b88409d09642e0df7e629c340a968424d451929d2b78176fce88c970c23070350d92dccb64cc2d39d698cad8a73c28df968fbee2de869b5f27f9e5b6d29ee4903b999615eaaa10212a1d049f5490625e7bb480d4c188ad79d6e599875ec9eb67c0313e29554df420fced2e137d07e09c9178b6010c6c9a34002d8a287bcb32758280384a416d6e583640e21fcbc98b322bfb3743d673a18aa7dc5e2f97a63ae83cea2035abdb93454a5c969bf2fb42f21ac5eb334e1cad1260567ee041ae9e6ac09c36903dae5c9ea183dd9d51d6b401dccab1102fc96437dbb6bd9c3686d52cb6d773413035defc6351a45dd9bc1cc1bba5e792b6323c525a2007901e019a3ce7f97e74bf2037877f0170c1da43c2bd6bd3c77816c50734327f0b24df98042a0b691e662b3fd03a926582763b7d4392691b5df6c68c652b2cc9b1dde608a68aa8aef1a30db9ed403d272a93d32490ba70bbb5079e5e8f35e7df0d7a983e3df3e76bdd7d4da48f43f03856a0ccb1b6114a73a101c7596295b475d01bc6ad110f9a777acc6df82fe411b03c7b293bc4339d9b62c73c79adb5393be8841d17079cc7131ba23593f2f31a35d0358c66c4e4a1016069aa1516f7f49bf03a58afc7efd09ee8579fb85e59afa5af10391ed29cfbdd035a744b03f53035ef983baa217a04e70bf41682c7cbb2a00718c03ea57dee3686aedef291b054fed23d7f06916ddc51b0a9dab2ce22b480e0b675603b4d13d7896c186e2aeb634d25aee9d7e6fb8dc98eff5ca94e7bdc93c8a7db46700581f032f6dcc82ad52b563cc20cc4178f2c8752b307d836e615253a7ebdcba60705820ffffffffffffffffffffffffffffffffffffffffffc9d2215c5ac495b75bffff0331dc8bf5c9b8d12c1bd10754a136df0c44c835719a7923defd0c9139fb2ae2f4037820c64b6568d2ab756e6157554a8aba038facdd2457a35eafac4b79926d9c080372d5ba244ee2f0d14ccc1f2119a986c645ea889a8a9416997ebbd2c5731d5d8600581e02d0ad02b0700b5ec205cb39349fb2e05d9883ed5a9ad4e92aaec504f2b44b06f139d1c9c22c6ef51d9e032804ec0869c76bb54514d16c7b6543dbc998709cd69648bf13031184bb05967100581e02f3d03f5aeb397093a580dfb0d8abc14fbb62196af8b92867eb6cb56eb04b1152e656ed8e3acc18000000581e02f51d3541f0a460288282b22776ef8e36d6e750906beb4f46adcad6be964b1cc0dda41d1c2041fb00000219044a03a84c1bfe20a1e0fbbcf6da42751cd6179480c3a352a2f65e3744e2c8ef35967303225a9532971e05554817a690fc7c8de6d5cea585cd56806d3c4d7871b535772d00581f03a0c7fd9ca84a1f16223c6999cfd26dbed6c018f1193ca50e2082302d1f404b0129f873ec9a9c673814000368bb9deb9d5aee22f47c81a611fb33800d8b41aaf8c7d69444034821125afdda03588c298992d84935a368fd3078e73b2692864ff960fc896f58004eac89bb742103eefbfc93ad1f1b35a3bafb928fa70885db084b4182e2ed6b0d736bd672986211034ce86356fa9cf0b421dba9afd444eecad0bf40029b5314d9c05e47b16fe77da700581f03fc78278d797f178dcfd11644ecc5e4487acfb2655b19c533847e53cf00004acea8335e74e4d2b1000000581f031ab536add27a13d9b889cd14d4aecd2f70e792d9ea36790fdb92d90a4e704b0116b7b6d3821b8a2b30000219f7ff03cf4d8d6819ad6e5b4f4951fae8f756c37042491f969d18e5aba61f92c860ee5b03df591d5c572ddf5ffadbf2e4f72aadf495000ee85e4b6373845b4083843552b30318ca6d220e54cce3ee8c39507339e23316688fe7f391796304e918d2db21f972036a7081e89b0dca76b6b6cce6c4346d8668833b25485a0e245e0529e4f3684939032c8b43489ada133d39b962f07f79b740114e323e2439ae6097128fba2d2df44b03dd6816402b10930cd2421b3ac93ee32c2e1c1465055afc65ecfd35f2bd49d6540322bf5e8b42fc2f91b5f3e814423c077f83382f1390affc1486ff1f4a74a47cd4036a53d30ca121b91eb56ff14d724853495766cee081b4df5e3b236b232e0280c30219ffff0219ffff0329a6f39f22bf11269ff7550ed9b8a695d7721bcf1692e2fa9595760fad36e36d03a3088f0626c08d648b2ee05d8466adec2175c1356c6a8da9d6aeb3c9c8d5bd1a03cfa7c56d8c2a2a6e9b82120bbe26e486bfe88c3ff602ce23519de8fb76c30ee70303c319f42694300faf245d0e7aa777c3c443d5c51b0271bef878cc13c1463e1b0219ffff03a5ac0c916d08676d29d34ed2013ddbac6da21e16c15e4cda7f6b0d5654f411cb0399a61acc3bc0375c0b856f590bab5e492c90429f1a25bbd0ed1fd9524b2d2be20341920ba6afffa5f0c4cdce651f719701aec659b6236856e6b031295a17bb4aa703c4a8d14e7dd30265021d4bb73fa0d7193f1ce2ba1d077b4a5a12c782702166dd039a2aacc7589666ec6ce883b58c643a4e0fb72224922fa8f6bf601a4c64c64324039b6e4d6abac02c2d953333305e8793b0bcbbd52256dd5275fdad383d0cf6ef2d03cbfa6e95e248d0d2bc998a931b6da49616f0d9a5c1de61640a2dc9b1a20d1e0e03cb58c40ed3151fe7eb1004e1fbe42a2e32d9858dd5e1f9d5a30f571e16a4a76903e3e1f0b060d159abd224bcc7dd6b612b023687d37cdda10ab4ac17002106107e0329fdd8ee5d26e6ad1c1cb20e9389f5cc4b2ab675d7dd5bc12c4a907ff322f9c203e8797061fdaa5983f0c682a22d6745541610d82b6fd5ac37bd04a22b53832093036d3c5b386f6f53599353282885ccd337ffee37c92a4f6b6ee0894cd0794c678403a907ca7d64dc453cb2ee1fecc1c2b7d8cb7f5dc78824555c0748712f2e9bd7c903030432dae07b3c8b705b4b9f6b2a025b3466ff9842433781f04ace3dfb6c2f2f035a393551f109ebee520b5e843c2e583eae8bb1cc94f34d67a014c538fc1b1791036d037187fb3741c56090b1dac00523c81590257dceaa231e5b10010eed8bc28003f7bfec6219219766abac0a077a74bf72832e3825f140f7413531e764e3c1ae8b03fd0db39536994ac44823236519f3b84edbd5f519e202e78fd5446b9d6e9f5dc40365112da80e3f47255b512dec400b27c9602c43543d513d1de72b72428bae75dd03537da35ffd8bc268d488cbcf49c1998cabbdd007bdf5bdbf44b7e931ac909c3503a653e396dcf495c16eb9776918aba277b6bf37016a5b562eb08a3b86327eb3a7033288407a6c430d0465bb22a0d9bb914f6a25d5eb974ff84945fcff20700ede15035a0b73c187c97b5bcb7360e234b10e4275249b05cb70c80bf19465659e74302d033f7a43369d2852e0ff12c13ad946a09d22fceb733f094710083c4432910c9a5a030659746a266eeba584ddc1c23a2e8f79fb18b2fd2e2e1346f795f3b3daafb9ed0336753712aa49ea93691a923153eb220a8094151149910ef88133e2f298bf8cc303f6cf7e779d66a52545faf6e965b5361cc68e94b5c099fabc04d46afa78b66d4a039bfd3e08d9cb2fd8c097f48a4ff20ae2af58de661f2098978761390aacef3c3e0346000b4ce2dc8edc77dc11bb70c7271c06b543f838df28b844d14b2e4891ce6a036f5451359444f2f8ddaa5b94f0e9d21741b987004445e2000bc7ca267d27a81403be9a0592885b189c14a3b0be70b849704a9fcd1bbdb34eb993773babef02a4f200581f0325754a738b20e8d0a61d7187db14fc6d0af638af80777b41d93a327d4d804b02643178bcb1e239ab00000342a2b36067c0b0320d7f914b710f0d4ffe6c71c2561775aaaf57a34316775f7000581f03c57c75d15e42703c316a13b8de786b31be042ba9d8d1edcaf0cc10094be04b1484f7397248d4eda2f77f00581f0326808f00a9ad88527040d07fcfdaf389e03edfcb39805e2fa115d0a2de204b10abedaea4a59b2f243c0000581e02f0a641a12cafa73f4af48a760819f1335c8c88126aed6f3459f6e24c385820ffffffffffffffffffffffffffffffffffffffffff9e9fc03744e9e3611a37ff00581e03445693876e5ea74cb4047fccd072903e03f24c907e4661c1c82871a0604b035e176ac03110813a000000581e034047e68316be04ba90b4c409fa7020ad71f99fe3fc0ba9f652462ef5c04b115d9c134fd89145e200000219800200581e02ab07387daaf69a0ad1ee3854f0ca7621558e5d1a81a3fcc84dcd70a5b35820fffffffffffffffffffffffffffffffffffffffffff45770e0fd1c51a60154b90219482003eca5cff16a2601b4ab1c90a0743aa539b25717b3fc9ec4da48e2b7c6c96022550219ffff037b020b9740d6a914a59d51eb7d49abf37009736aff372a37d866d41f25661b6b0219ffff038b14fad6e58d42d10da0b06627cf30e8f7be2405804ba788d873dcb436e8e9d6032ae371ca269382c9e43b2fdb39467a7d188d5831edd01f1b568b58e1f475fab803763869bc6950465ccdacfa6b52d8a09fd93b8bf612de0a77cc464af42e3e28620379a092c2e93b4cdb78c9dc4af1bfbba1a12894789445e559fd8634fa53826c540377e0d148e3cf61563ca6a3be12a140c68bc75c8ac33fe68567ba485635433c1d03d7114147e376760d4840089f627ea4c70871c4f795484f41cb310b3d856ab646039027f4986d757e94504c21795ce25da3c9760d1320133a0dc842f696dbd4a79f0315ea69a9b481c99829182523dc5321920922ad7c1101fbfc5a3e00d7d5807dea0375b44865d676fb509e9ea032fbca4c71e2514c6b90981558fc0f30e25cd32108039ba0613f3db33ecbf5c260068061808a3b3161490eb44f08ea8e344aeba8394403ed46929d2e73b77f3d81ac7a7109c82fb13c6082af752ae3a012d9c8796cf23903d04e621b2bc3c3efd168105140d318a53cf259072b2bde5b3becc90b480b1b80034920d04f740feb75349f438980a9923f24d5a7d9352461594f21d97374d918c603b97cbb039a33cbf169ed6620d6a066aa2302f840b443a40b27aeb1ee1c6686750219ffff037c82a1fc0f7ae17341f1d48451799536f1972e9ea06a3965cfa568ec5211c0b4039d9c3c776f2202919b1dd16db7ce7ff7760039869b9ce03536b7aaa4f997ef2603bfe892d357426d619d0414de281c87315f482363185a87fb3e9b783bc2dd60a803d65912508d54b18c5e378531472ef9ea21acaecbdcaeab199a4f44ff79c341f3032771abb5db931c47d0cf64f8cd30bbe94226f7c3c5e18b96d3cc44ff2360045f03241090ee00fd1123816f53e631f54f6cec8e079bb0ea45e9cbb3d93c0d72d6ad03324c55c582595b3ec443eb1f2c7fc2176b4e39e0ed9f9c394c910f697c7ada6c03831f31640b59c39451ad663dd6a29e6eed28ffa0fc77e75d1d79f0240599a3c5038994cbcf6ee50762c919eccfea241d3dd1b9c2c4190af51461713afe4bc62a8a0308e36cc43ee323966f8bee086fd84a7d2c74b34482ce5cbac372be8b662ef88c0219ffff0351f638e706d6e40d14dcc7225279c0230795029dd8262b89858f87caaf7cb87503790801002366a94b8ab172b50c4d2e0d49781ca7c054d2a0fcb6af75d482e0a4038f25d2780db234e6430d2a1c9c49ded04f4eb7f031d8079576f20111a4ddb25c03e4a7dbfb3be7ff5d178582138573aa28d2370c7bc571d64a34266a4619eda3a6037e7fba7db47607689b98bd0ec88bad0b2188db311809265c4ab844c5727784cc0325be4ac90a27295e8dcfb9733dc08c2aa6c22664e636bc892cd1de844a67a983035757c2a432844bccc57e2af22601621d04f7087ba9984f878561c9223725d4a00342b77a1664f11329132b4d57152fd821acff7575b206a32615764088e6dd40be03c2b8e02202e0b12277796db1c0ab29665821aaa8f5cec8a0ffcd1795003bd450033159533700ced925e790d2505968445e994daaf1d68b652cf2210d47346da4be03dab99167568a57f0bad376c0990402531f1e02da34aa7662f7c38b34de0f4c39039f64ae0a78983055ec3154e4f92f74a8d63e5407d7945d8a5a9649d0bd08520c036eb2ad24ef6ed1d0fdbd06cd8545126b32067ffc0c44a08535a7469fcd34c9c303a877ad733e7ffd835638a84cfe085106a6098bc33adf9bb0a93a0d79da8c88e80394358e4c474450ab70a6cadadace8517aecd1476fae76a27b921250cd335591e0374adbac0ffcc0b026821f5d2b5deb6b5095fc19f698e7d0751188aa92895951d032e258df7a3c64b5ad771e9282f327e42aae08afbb972c548ad3a73fe3e5db6db033d10a9b9ff8394ec4b450ba65144eb685b32d900a7f4553da53c99c67f0bae47036e3fdca30c3b6dde5d7eb6b1fdcc9da773ecfdf9778f373d32578851e39c997a0388d9d5409512edc85d4b43fa959c3b9dc8cb58f2a6d3c3921faa0132a5477750035167fde4b3f95cf745b7c9068a279ab66a0c1786c9ef8e8aa65289b63179da300397e86b4289e2cfcda01148c51c0d91ab13c9e3c8166506e69434d7df8abcb9a003fd285d951bf6ad8fd499f48375a222b16796ce9e485e7c971c234de28340380c03193268f2f9dff3da913bcf26d865a80bceebe5c2ccb62386da60fa3ac963d22303cb742fc7aa7773672b911fa7f55fdbc95d0b14772ad30805cf1577034df1383403c0c06c1c0373d1f57384049bfd25a5e245e517c7c67d13efe4577392b05cca29031f2ef0295a94f7fc2bfa8377b72b078f4ae67db2e896d6930f85def4fc5885ab03db79a8e08ddaee2c400943c892d57dca1356aad397d3aee021edcc032506094e031f128084ae1c9a6a13e18fcdf63d1647ffe7458de814235ca7aae7259b3f38bc03d5916e9af277259d1040a45958d9518379c2aeb9ca38a5b2d03719a69e3e1ecd037446f65b21d6e4546a0c444b4f5d9761d08ef9ac4fdb220374de3c74c69d3b780334c520043ad52f07b81cd23aa187522e96d69e24fb7876ef4d2ca2bfc6e2e77203bc3592e1fc13f3c41a8d443d1a3c9982b651b7cef9094c77720f7d2e4d7e51c903ec3ecd710eda592b1364d2d27adabcbeadb343747c1d3f013e6a3a4bdf2c4e6a03b64c82f41b9209dfc2653d24cb3c27bca119d4722ffa0e00dd073a9caef8f88803c9b97980e68cc1d7a26ede8d2f1b505eb9bb45609c37bed5ce4c769be83b821903cf65bf09d29aead8ecad4c722f9d5c9b31e0085f4e58c29b75fc68c3f270be4301410c038e360cd1b0f12d35c63da0f7405621dae273073910715b951f05072388fad14503ebacdefbdcb2b4a0b5f9013c46fc3a0fa9be25e7b5bd6b20e2e1be48fa6b442e034207dc2cc19e242507d162019f79903ddd5d030028827cff04c38e65d20f31e500581f0346071252e3d58e5b7a457ef7a5cb38df893da15bdf88fa1a34594c91caa04afe68b6ed6491a92576dc00581f03c33dc4c3be109c4fe17d070de15a349e4a170b7450347f96a22a530893105820fffffffffffffffffffffffffffffffffffffffffff53f24967f97eed2ffffff03bf9383f541e9ff84088054ebc4cf8cdb92135d5caa9c62457016a148b8729a8c03a5715c842112f780b4af6e2fe2e3d828f72e09b77d4ed5fe38b76a8c6cf8831700581f03adc18c6274895c6d49435f75a2ef2788ec42028503a2fb999bc84b9d7f305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a24f4c97d1c132a8ac4574881c9d14d65f2d48ee8c876281fb991c88a54a8ee41bc48c044f8f380000581e02db98452da1f3f3e2b003fd6e9a2d533025641aa930da5beb8cf8b33a254b0c0e8dc26fca463fca15b402110340730e44d68b56cbc4ad7895437def67fc466141bc8cffc036ff724118b4f7bc00581f035578a08b3e7fbb3ae96fecbfc19ea53982cd0320198c501f89ed3cb97aa04b01d0bef72bdf1ffa7a0000030259b8244191ff45a62f28ada164264335a5bbde55006a456a49eebf36688ad70219fff7035575ccb0cdded119aef9a6ea24ef469946c7ddf191bef35e8c17d2727af9d679030a593c9f374cb3e28838d66e5a25a12e67645ec91545c6d384c64ffdc86a07760358bb69c3662b2d6a32f15b80b4b530e742e4f46f58c129da344a1e4131c2f2e503e3ba7f62ec8578e4d31690f7d2c2ccdc1cce2b2d41531671da11187b4723db0103df251c171c0e54b408cc55948124b851b8fe3c8223a2281613b52492bae6152a035fcbb5a35a0ef7ed913bfc2b46c3fc50dea504e1895736905be94f8785b9399803d85cd7f51a42ccd948399bd1088698cfdcf8761c17a6500aaeb8bb4c6700638603cb8e457b31809640dab7f2fb76f708747b285be05e4b14ee206b3c46c22224750219ffff039a2fd1c6672e8ea2d62ba6774fad03acc8f2652da48243a0ca73d9d62c6d564b034014d48be8b286d97bdbbfb37b77886055d03e63facc56f21bea0e7abaad9cc30340d6d647f0e30f728b0b25e2a0b76530b74a1736838f240c2fe412a0c320a7980384f68f6b56016abbb8cc0383272741eb387202902b5818083c6a63fabb3fd01e0219ffff03bb39197530c7c9f9cdf7decabab8f3dbed42d3e3251ae37ebb1a17137b0c27520219ffff03cdc514471633d2dd346b2084b92035b60a82bdef83e4e327c655cc81ff4210a103f9deeb361cc36b4a1e0b575fdb39f56f2f4d63b51585e7de48a0cbb9c7d2db1a035cb4ce7e4ccc40fc412aeeccd9638478fa50865141b1d7aeed2ceb06f364d0910341bca9ee42cc7c877d747110c0e7dac7be35661ddb51b8642dde78feb022b5e7039d2cf4f52f6e79309a3e7d4f548e52fa700375be8a679716def6b6a74d32938303792f9f545b9095658590b57e92cffbde5f7ea910b8ea10699a5cfb6dd18098cc0398e52a5ddb470367bacfc54d77a1b68aceab310741bd2fb1e0595e93e3f4009703993dbab03ea971fa07f27a2c2cfc00203482b3f71284d7d02c5227041937801203b9e95b7906d6eeb63105477c42b75a0d7e4e3c2ea1bcb47e071b3c86a525fdb5039d1be9c8ee2cfc43f61ebc7a38881dac4faafc80625f3fc7a3b677ba5335afed035bc6668c373b0c39656c2e2d8ba701440b05dfe1de9696533ca35959a38df88f038836865dcfee76cb746f44d9504cf79768b41b4252fd4d7834cbe2330266bebf038f709ee55d7f94f13420a42881732d26b0236950c0a9088ab7886cf9e07fabc603ab2d16a02f7c2617eaa41a2ed2f1da6bc4a86b55440cef02cbf75b23310acd2403bd35a8791c388e1f35af31be41b61a8b98958cd26ca6c87da58956fa75fd1eac0343b5df8c03a3ebb6f9bda5d4ff3816f2ea51a6ef3f81fa52f6033cdcca277b430339183b0de655f729bdcefe53713657ba019e4076525516f7edf40ff928c7781c032222d65405243fa7f7bf3460cb7fb136d1af034b2bc8df4a311919bf0b3b0a0503b43514ef03ba163bbfb50de0d47c38e1607fc1c94b82e7f8838621acb59075f2030170ed00bc377bc2b7e4b6d7cfe2adc68f442acb8d5675d9428f621891d9eebe0332059f910f55dcdbc4d7841a6f26fd30ce781ca807d9312b82cec0f21f9526d403f3305070e20e6f691f42a662b4c0b3219b8ad3691a602c603b36b50a3e6f7a6803ec00a7e7b83e6444e597f2c8c431777d199934552aa75a3c815d6af48e7febaf03132ea70e3a129800652810989bb0339bbfce7eae8f8ddd653ccf86097d67279103f65fa33903c07b5d16727827d9ece0104103515505b9dd9fc322b8bfea03a57903a8916cc17b476c78d9046bc4e275ad52fa1b3edf84c82c2dc3905aa406eea2f003998e8a2d95252c4720432c210185ae530bbc69c3f6ea032ffdd116172ee5cfdb0367cdefd9d549891ca2939bf61dfc62aba8274b79793ee11f59ed62f48e03d95c00581f03658faaa3b49200fdb976fb96c60c790e2f98c04a413579f41871071bacc04a2dccffdf712b0e60c00000581f03c7b2254c0d8a79bbcb14a43c2368d117146b58dfafa044c62aadb7ebfd404a98c8a1ea8a3ff8b9e00003ca780672e94804493bbac66300ea6c126f83098b6df9e0bba11c871951c787d100581f0331ebe754ec3ce7eff4b3d9c22e4b62e836398a4e3d02d73b8f09af6f8d004a1a8fe31a8b6a9948440000581f03dcf271aad35b84d8b9ce34c603f99d3d4fe2b067faf5f6fdfb7a9a0e09a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031871bbe5d79cf9e225085b0339f59265e3dbfc9e2428f63e16909d14983ef239032c95355b64015b1b28a9580c59ea7ba59d46adac08dbf9b25d1fe6dc502de4e503276960c34f05e45744aaaf565dff515179e1039c8b6052a6014d37f76d6cc23b03b9da2bee1227209d50448d07ead52401170a94bbcde79872941fc7b090d86c6200581f034201597e9411de20778f876832d9d76c3478e8c94f253bc5af07a24407404b028274f6a89c0a4c81700000581f03e64c085e69613f4692e0a8ab6a3c6b6786a2b9299a8dca804efb8ed604a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e037e6a347ffe6de6061659025940f537dd99a8b4da2c13aadb71652071a04a4a4a3d1ec73d4f01b00000581e032e5c598b638e2dda2222b4006da93790a5adc396d9007daa2d47c1e6504c02448217cb4a19ac748d4aff0219810001410a00581f038a133864b4b6172a1664e1b42e9ded3b3a4ba7376315d71c1e258239de004b035bfc1d073db52000000003f92e4ea508a9a512a6fbf16907600199a6630c690f79c595eed0f98c5384f81d03b3cd6324351ef0943d067be501f0946cf4f9dc125a07510ef79e3a012dae70dc00581f031cd1b664ee160f4f07924434f72e6dabea9b6562e274c96756775be48a204b06a455b1e2d131018f61800219ffff03817e9d19f8544fe344194bc964e4da9e8d3dc88e248c009138866bc01b0d939403ab43cd183e3de411d674c1bdf6a2aa2af947c5a7a46d66486ef52bea76c00c600334cff6a24b4f1fa0e6e9083a82ba1a1a3f353df543c5a5bdf6284cf0ac8464710353bedddcfea1fe3e356b56fb5ac52143ad9aa3df7d17b361851afb999fc8b9d803643fc881dc7c52c37eaff05fe0d30b7efda457c8bd1242c01f76221e364f427b0365d22e9597108a18e45abe82c1ada29225ac3309fdd1a39eebbdc90c6d55e20e037767e9e933a63fa32c3712eb579f08f600cbea0628218512370feb6e2cc5e15a0369c93e9386d19c060ad4a171d149f05d0a12e2ec39693614abc3525ee393c04f03d464ba20646ca2fd5be6c62ffe4ecf47b9c710d7684fdd405c7c01e55bae11280219ffff034e2ac318c55e072a232971bbe802f6ca8c31bd9516ee23bf5c234c387072f5c50219ffff030931bbd638761dbe4f96a0a80ec23164d22c5962bf872b70d67764a9752d414d037d6e2f068451bc1967a70f72b20d3ddf61e826f5988059d5214a1016af4c2acf032c4ad31b68bc6a686066dd1bca021e1ddeba7c29aa4056304af2892b0d6b39c2032c0d795ad70e2b8c32f0decac7ae677b82d7061d7eedfdad34d6c6528ab3030103d1c50f4919507329ee450b5670a47e49230f53c205919c6ec3725890c99ae825034d80102f526efbb1519e2d2b467fcdcb5fb973110c8e1c716ce69f018989102003c82fcbd8ac1868443a08f612376f8072b96098940d2fb56181caecba223fa25b03e485c3aa6ca85087c76925946261a6fa2a15d07941beb6d7dac99d060a0dbb9403e43a55b85528eb63863fc8f339eb866973a0a8ba57eb8af8d3fa3a502d91e39f03130427ce961d770f9001ad63b4c05ae371699f14821114569f12715b4d6c31c0036c209836cdaf9dc1fa89e8df6d05787b9dc9c798ad25552c9154076231eccf46032c597fcaabe7ca95f9f7fab75da4b167fb02a414a3262427d4bf0d2fa50040980219ffff03612189aeaf817db7914cae6359d2cf1406e22ea3f4f7b60d82d177fa5dbb2cda0329ef9166b5a80dc4346c81a25fbb097c1502e89b521ef78c8cdc1e0c238044cd039a65792cb197a55954915200bba1acf1cd1b2113a452fad75983d2dd0c3916ed03f870799ce9bd56e143f80f9be59444e76cce3e33d57ac8f0838a86caee34040903394e3e1666e9d77da86c3733a275f1d30007767ce7268bb5e34ee2fdbfb594be03e87e993ee6cd663c23e7132b06091c4c58adab520dd2836eba3639b8d58cc47003d152c38034d15a3edc6ad26c90804a4a0ce6b83c4a353446965aad40a1daf58f03abd3365e2716743e62406c4df60a8f3deb3fe740bdfa6f9cc94e330f5d7810c203733c409e798ed3fbe49f60d8c8d4285ae90ff37b2ba6f682d0844d678ba415f50355ee64fe406a79f8894cd926417ab32c4163b021559eca384fd822bbe1ef37ce0365f3133560ddad2e645204acb2ff0206ece5508faf70b41fedde8915a0de619e03fb8be2c3f0f5c60cd3cd25967f5fc9a1856c1d52679490358ddd8df9995e3b3903af816c2ade77e6fbcca64fb351447003e2af9b8cacd106fcb34239384c905b9a0301a20b61f75d1d7083b4f64da58f44225efbbb3ba0b07104405a940957e4cc7803bf5d34a0a40f978cf11bb3ec8e843c772c7920436a34037718b8fe00f1a575b403463e4a730237b62dfb0ef173534720b9af084b5cb00403f5d0d97fdad41dd0d103a545c32529ff44921deeda9fde43111d35caec6900d3271fe4c5bf7528f74dc10374bd8c5656f75d70cc2c6542f519e10c6ae82313f84256ffab1ef0d2c7bb141e03a3e6b657833bea166ba4ed03f52c8745c8ae73d437aac80ad4c53876f1541982032add15ae6b3aed008ba4a448d77bb316a3a3ea8672c40b69725669f4ac32f6b5036f6344f7bd1e947eef5b7848b05bc8d8cfdaa184497020bf6d769eb6d858f2dd03a21e289364440b00f02c0ab71f0a302cf4dd46ca36c2a9ba011ff60602efdc7e0365f75cb17cd253d2f6c8f0709ae37e7ac6788fa95d30714bbba1bbae9c45d0c603496814310a4320f6010175557abc42e051c29871ad33e43f3bd3d2738515c91e03477c742d5fc207e6f51a8fc203aa8d50635efe49c46832c42d4239bb2a1c4a2b030d6ed392630addce21e6399748006e43e346f6473c22a0d61bf42ae7f1387d4b03d2ab4745b79de0842f1e081654c56c5b63f752b994e33f04042c15bab41834fe03c20dd936f42072fe64e1500913260aa3c8877bee54fdf694013d4752c411376103349ec57404b7da2e5fa90e4f016562528fcd027706b6b0a2348bbec66154cefd03a4debb9957b3adb39d2290ab2efbdc6c14548b55e826953ba203bc6d4111ceb303fe47453746ca720cd6e85bac67dd66ef21ebd2c3d961fedbad3d96fd3f1b810203d04c4486e3bf8cc6f823f97f2d297929e00d30a641cb312cf074b7dc7197da0e03a052852761b96d894de41d9a29a55b86c77a1b3c8b793decc9d5298f553e472a00581e02c68c4fcf7f48411c0d6958113ddb2c8986394c9ce2ed59ae8dcb75425b4ad3c21bcecceda100000000581e025d205778555f7a6e3b43e91355a25d5dfb9b90759d00ca592dba1ab50e4b114caaaa3e6b8b250c00000219800400581f03930bccbfdb89dc321ea2d53c278a392fc2a640c5e93ff1bb4fd4fb07dfa04b030f88b6114a9bc15501fd0343d2e83daf93782141c107d776c634c9d15a4791dc52f468ea826b54eda131fb03909bfc21ee558ac4c9a3adc5dbd158dcb56d75c135a69dcc6b61e5de2dde4c6c0219ffff032bcc7e02b8c19488dabaee09c512062e3a57289319bf312749807a90084850db03af9f12ae65f98286f2dbb5f7bbf494bba1bd81f68e3ebc677a8130192225290d03ef9e24fd4160e06de5c7fae26d366da05ca99db86b2246a6f516988040fe4ad0032c9bdc95fadda0f910b656755e73f16c9aa3c4a8b539c016d27ff89adcf28eb80300377cdb66bac477a6868d0d3eaf7f1f95e2905641317a5bba2cdfcd4169177603127af19d577266619deb350d14243a99547c6fc4a589357e2108223c66e765c303bcce8f19bd864ad1b5555abad230be91c9816c0e4429a38da8a3310dbdb08a6a03c32c3d5ccd289d88d3b494c4e0aaa1cd850017e5165d835e1112ad66550d74830219ffff03b0f76ebbc26aa815de6355b5a0ae489d78a165f7d4d1c7b828c60ba7f067cf5503a35b32de6f7cc19cb02971d23776ef7c60754c7593e66765dd6dc7e016d2e22c03458bdff84926563ea96235a7918722727345610453d0eeee83e85fa6d44f5e35038e6d2ddb02cfd22754ff51c66042bb575c5e09344dae964215153bc032ffc43a03356f9aa99c2078ddcfc0680dd5f5bf4bc39b6a2712104131236f0e55ca3911e50371fcd5e4544068340852d6f04510532a60acf8f9b260ac7ad88f6332e5c2c7f60315ae1e4cd0ab8fbc518eff8fdf283d9d187042194d8647fbb148d1217dfcb2b403dc09ba0b634453b9a1dd43d4e9a435ea482fa91bf16f12a9704026869af3e6b303333aa43d240061d5baf289eca7226999a0ca913fbb157cdc035bb9141100562c0219ffff033d2ccaecefbbb3f69d6cacde2b5bed8bb644cac120ab89182505e09a2db000350334766c3190733b6d2a20deee11cff214a169cc5b061471ba804d36c6c7e8e887037ad2d448a38d3f79aff305c4603a39e059f60a7b622008150751f8beadb54e0303c34ee26690449e96fe2dfa8c1dbc404c5d9d509c418eba2240de4e089721175e0335db2b2d208582b489fe748ddc7de4cda2c23e6c9b33e0130163f8ef6a4fa804038997153ce2d9c9f40c06d3f49aeab5764a40db39b4205537cb1eebab79808d0503e6773481daaa9dd5d5db35d78411192fcfd2c5d3beb8c78b378dc561052fdd0603892c688007be9d5f854c700d1213f279429b84c53c6165062347430763fbd9e20219ffff03c6a8a0932fb8b24e0e0c0185532eea5dd802b46ccc85e100a28c57360c70493e0219ffff05581d029382f30f8b07182e8a4e0d87d7549c0e57d5e9373de47133798c2caf07011912f405581d02e63ae9ef2655767495ac91e4a3bbc59b85e75b507888ec85654f2bd50c0546591c0ef586000219084003736358312be9939a0ed5ec57677d2abc6195b2909230a55d1a30ca21550e650f03e8fcd86cc5d5410bfcb704e7fcabe882a81c352f641e031057a83536ca71d96905581e0304449663afd1d8c5e9e5e97d5acced93b535503fd7e29a3470b8b6d71007011bffffffffffffffff05581e03ee85147df2d101e3596461be3ebf881bf2d17d070c4f5c2ba201a13650040103b25d02e04acd2263360b858eded6b59426dd316aee7cdccdaf28e4446dd6a1c40219f8ec03207c6a085ba619e5b18ebf62da82ca957dd7c65c242952c3e536dba59518b85b0384529d8293c21664c6ecc24569b1e37c61bd8680e9d106817e288f041cbe41b403d67e5f98bd0a0f30178bfd319b0dc01aa4fe143d9b9ebded69547c4a063f1925038af2f44891366383d71c04ee0372719ee338e887ac08b6771fa47567eebfc1d6031d87a582a11110693145b1733082c934cfa1c7a84e96985f0b1d14d28822f00f03415196939356d465be4a764ae12017e9e88f141c5a9c27721a5fd8ae83bd64020219ffff0219ffff03edc52ab4726f476637f6071dc10c7153fd6c7a9450fa38553cbf217d9ab5ea6103500205295d6bc91e22cb9eba61540a285c3f751a868175ba757a52acfe4bcf5e0372c69430b305f3e8374b9a4dff668fb23782274bce1aafe4b7f0984e58a8c4ab03a33ba142ffe7dd7d593a719e20e7ab499af1805c434f7e4f8110149b4ca94fec03354f401ba4bb0900466b538b60e5e1f3490fca922aa29d25739bd389b5548a630358a9543478918be3f2d314501b6cbf3440ab8ff7bae85b4c62a46cb0450da46203dddd114f2f3cbb92e85e0e9bf59f1324918433f27d73602c8ad0780bb1fe954a0219ffff0387778098640915fcd19c861a46f3412948eda32e45c6b850b72582519ef83cf003c5327fc4d6477a215a66a166198332ca8516d72055571dd8fbc6c33e0c10683503e9ac2e4f88e3c3ab2f940e76d80e518a4771d3a586aca31eb9b82a0c6fcaaca203dfb5572c7761af2a59d7cbb9dcec401b987845b8f502bfa75712bcb83f5291a7038892f678e9e7f69930e5bc8b2aca181df3520fe06ca9f0c7ba2cab6fccc2dcb803edfb32a74cf860fe2873fc1f66fd4e743f2e417829bbab4831cd3f431149be950219ffff031c57016cf5ca906fc057288abeccaaa268e6261bfbd5b6d7cd3d28f715bee478030b910007f3bafbf78bb09f2d1d0bfb3eecf8ac8efbe716cfcc3499bfaccbdc9d0307a17de14424d0a52e292250874403fb158f76b875f11a728727460cf8ab8d7e0384fb6abb0cff567e6a2f61d789dcbcc2130b03205eca081d285ae0afb79261a2036ff5222d0778c0d1ede67138712c7965acb6de0db261c3620d2f33a412bac94103619e955d95c8f18a5a1dd88b655fe143072ed4b023615cc56e36f49d04ba52e4036d7e85de098db0e8718201b50f871a9e9be1726e5240eda0705acd0f488b9ec803c275e517b7ad0b67dff3f7d55f3c34fe0112f08d649d6c24f25d905fc25979380342dc74546896135aae508b3826ef88e2098b9161e871c2d884628891bb31fc0f032490adc18efec712814159d96ecb23a265fd42179a2301840f18749da67e27ef03f5ef182991324a1775bfa06dd65d6dae319852c93d7f5e9b94dc383b8be43a94036d0d453fbfd2c02e8ab3aad405f6dbc5da382964446a56ab6c3c88eedd6700ea03e4f35d63234c9b795569ab5667ddff68b46f42aebc42bd27a6108896a17464f20306d6185e3914293718c12f37134d4af2c97571d296bb5843004dbb164a735d60039b2da178a472a09871a038a854429688eb63cfe59fa6106c11bb9a6de750af24033b9c8f7cd83a3db7ddb603e37227a24030fefe0c9a885778229ece261f490272033f42cf9db8bed250317ef8f78382801d01e81698d20654de7a27d365acd4277c0345141ab115c527ca85ce78cfdda9a23657802e36f540ef4bce56dfa6d151504e0385daf99681173a1bf068407ee4a1ef93fb41609ba4bce68ffd0dbe6d3872b0c6030f54aba72224bf6f1b5ff8d831ff6ddad90374c0028dd0d3e6ad00f39f86bfda03cb3039a01a02fc8efbfcdfccf266e830d9096f06e9ad6e41223ea49c04fb995e039f92bf330273186a255d7605d5bcf8197f28887987ffcfdc070da13383a32b5703652486f00d81c39f7849c07dd1051361593a4874f75e843d6469b14d9e32081203ae05b46a91dd826b4d61f2934a7bf34627dba6da0d132ee3dcf41ea39241c085035628edb47a3618cadd63a0a30e5fe4fe9fcc113850af38ad1a3430e63b2a9c9e03ec633fee494e6a9d801ca95c8ce91543a4f698f71710ed0bb90e862710ee7bc20386c945248aea061385a3527cadb59690bd8b1b554107e17a2f895d6ef6e6fde403258bc80c44906b7bd6ce186f73355a9b9682e4a641c48d6c935b20196968dda103758047c91dd1f278cd337681d1317be71bdbfe82fad0f7a804274b9134747f9b03ba1a629bb5b716bc0d091930703b66e157c8c495af4dcb2207769f938ea6dffc033f8c6c24ed6209283e8cbfed1b5d4ecee663cf66ba45fdf0c4a7ea7fd9c825c103582a8054a752b159d05a7aa0583075a9875c9c1b5d3d6bac8215a2dc19ac9d570395e0300e4dd6b2c4ced2bbf5e273c62164a6b10987c63ce4b8e7b68c3a57f034035f68e6e6ddc01d3c409308effa2e052868ea9141b9adc9dd2732fc4dd65d1f5d03fe18f0922c15c4e1f8514a2709c93d48585980a49510d70e5b59394578cad6d40393e104c6ad77fc1fd6df52e922fdcaa3557a36c873cfc1fcb6fa7dc953382e6d05581e036df09541e3e098a0f2ce970891999bbea50504accaaef59fdbbb106bf00403036e61897c4f6b7553583d74581bff183fa90f1530660b2d1e190378abb74a487f05581e0312e16790a05ef373a820a91c04ceccea5722f126c9411264ad897382700c0e4704f2b7891a940005581d02d542d6a0db3891b162747ffdabe85704f7b77f66ee9f35b1293d98c00c0a4811ac63751a53bddc05581d020ef4d597ac76942fa7d04ed5cb0bacbdc9dc2710e9b77188bd81db730c06471f6a3e2ebf6a9502190204021985280343124a99ab8d1ec4f2a3a01987c31f243aa692df7c20cf2ea4d8af823f34c28a03108fdfc0d87d2eb648f31114e7f7d04c976758fcb9b9d5381e7ae5287d08e89d037ac53b2231c9bd2e460088f34465e6691760f2417a88d60987ff9e6990b3e7280371d396faf2e2b73215e0f6d576e281d5f881e12935e0e1aafea84b1f924ba0ad0316518c03e8de89a1fc1910a0cfda95c34101e5cbfdfeb5b5f29551ce32066a6d0328e7a16c7b4ed1895ff6684dd0fe571aabd05bf89e7977903c31650f38e26e83039cae65d27b8eaddff8cce82dba90256709156e6616476c01b63afa491c01e2b8033018cc9f7c1c0e797a650bec05a822a2aa157ed54d909207590a375661c13073039198d049acfc5130cabcd382736c6854259c3729e570fd1ab6a29e7bd3e01478031002c095bc6d9e893e018d09179e1ee00f6ae84a29167e4803aae9c652a365bb037e970b4d0467c20f735ba26b1cc12828487d58b5a21e07d19d78fa55a84fae370364aee7172acfbd3a43b145fa036a1414a18f84a2fdebc298ff801e17feb5b8bc037f3d5e64e24a58f12ad223205a162d93cd4e367173554df3bb9d60d986983ca803d21e11223d5d26374757df0196d6eec9227efd69e05ad81d9722c2af4e0c1d58037f1f711074dde783cdd52ce200f16e43e862a8d4d2c94913c9937fef765c714c0219ffff0219ffff0301226a76a78c75c22c2c3a321c40e418c274b4632aee5c688304c2f449db200f03bf90058aebf46e70d6605f48e6072c99c95e8ec3968853b3da20ac2283b0e34b03df187905c597b663aee4933f0372805c7bc55d336a2082ff6bfa73effef2b4450303c50e131edf1230315aeda877a7d04b7260b24f379eb5bda3facb3cd5636dda0219ffff03be3a16000a1b5eec8c5be6296639e8577b1c9c880394fbfd3a915ef824c1110f03f294c12a89ce3d2aa7508d6ad783dc3a52a4bf7216ea056904020bbb24eb8d7d0323cb7a35d89bbfccc6dcb8d2dd0f970e2561069debc058a487adabea3551fbaa0341b2555307df499a90ec37bcf36ffd14a22ac5ab07b46b581ff5077a395f73f2033dbd37920e3a34359e76d851cd9a1833f3499cb1485b61109dfd74225aa3285b03095dca4f2aecefd4a295cccabf6710319e4c0649adca1564b74afddc650435a20219ffff031923b4f7288c75538b5ccf7dc22f399dd3cee74186779e7d184bce20925dcbee03b7fce48647e3f0346969fa4b995c0912457419d8a52fde93d924506e858704bf03d874d5117cf38be57054c3b18a111bce271976ae94cd426a9cdc65215765a3730317bcbe2a06affd0c7c45ecb6071eda9ef20ca193db47e86470e444bd5b25b8e303c281199d4146a9f0cb66320f7450ec247bf55cdd1e2450632691ddc0257e68940395895783c80b3e20011757c9390cf7f6f239edb456e7dbd0bf02da9c05a3161303924fa18a1765d485374f688bfbd113e28e36b8ba9a7f1a44ad02177a35b0661303027757e2a17053bc5a2ad253d690642552ede64a5d0151d3f636754c45cf0fc603051bd39d47343bd79eb50169bc1973420e2eeac2cfd0f1ea43d82c938028a6c4036fe64742b58632733428d5a5615d4e81cadb18327abf821aa6b72f7bdc5640e203b4c2b9f104c925fc6762396f98c258f8138f975ab11b1ba0ceffdac6025e8f3403b3a965236cfb66d80d2c0f32062ef9e2323a4c8060ca226d4969a37fad53f8dc03e083f39a82bc7efe39cc390d1d3864b06345731eea57b6e2525ae56bc043e0b8035c093fcbdfac70871517546525593f5957d286e4d556128e9bdfd25d67aa291103b54fd5fe18acdc17ee21334ce08205b47066d0db75d7c7064a85c0717a00b8b4032eb4a299d711712eea8269d26d5a7e6d487b6606345e9aa9b5784dedade445b703ae69f24bf19aaedf9b8c4cd89e9d81845e62f56ed87c1a7204f23f8d6509671d03a6268cf4fa28a03f0d57c1a60c3344447237825190ab7482a9d1f7cda966d4d7033da053f63f102e3b7e7ebe02fff1a5067914507edeaa882f72f23af0445e82b3031fcd4c245451b3f65b8c5b3bfbb435d6ada3179fb5463e58bad871f26f691e3c03d0217e472714bd9dc71f74c17287aaa2711fb09066331f13a0380f2dbe23cfa303650921c4fd6163ab9af4654732b20394f1b0f8091df47f1334c96bd9a2ca904803f4a4aa32fb8a89855d5cd2f05ecc78cd74b749f22fc687756086028af42c78cc036f60353ee5a1324028929c458d0a29c8b8d58c88d2f93a8c9b6f6e678405606a039ee239f2e7d567e8ce0e449940f55e493555c2db4ef5601ae82e3d15d17c7687038c91328c52d335ab2b5a8e4dfab75ad131bd7326ac0fe1da036f25e0be59ef4803754f77b72855995955d6462386a782bf1cb9423bce22da3ffc3c186b17a6f45503ada451d7134ca051195d4784a423e7fc240d16de6b40f04724fe3a82e9f7bd5f03fdb7cbd952b89a49f96c7a5a8dad3a48e4c2b5b251fc9e2c26872addc5a211a3033545ddf6e94c1a7fb37a00389b833f51dff5d9f97cfbec33a802162e2decacc803ade50617fe77b02a40de502166ed832b69048089ec458c01aafc5e862c21dd13038f288e5ef68139747361eb76844f652baf394725dceebe6df696e21443c4e1fc036d05edc4a062512113b77043966eb3db629a16995697b4cdbae4ee3a6193242f030e92b126bd0c6712162cef7888d1fe056781065a3cd8d5aa539eda93dbd528d603893fb44319ed433811b2005fe80f9270a231c76005d2a5d7b7c1c6c4747d87b603e82cea6f046565ac2d141889152a5257f0826d996e56d6ffc8c90692ea9c56d903e71241a2370a2cf94dcdd690a41bbce3cf0a1e5a00588176c4632fd20990ae7c05581e03c5c5d6b052429a990462487ee7391fe0a536b6bbbc53dc20e741c6c6200c0147373d5cd3b6d62405581e0377d3db973d53be57cf3a7dbec43f3f1199da417a57acc2ae15f34b62a0040105581d02477cf07eb5d56cd284fadee3b5f421158b3e1ccb3882a049aa00f3120c01471f319ba5c177d005581d02837760d6401e2c1a8c4fa69c2519271540daf305942d2968dd17318a0c0a4753eba260a151dc0219201005581e037a6766c978f24594dd7b1721564b3be5bb1fcd4da04d3c4d5d8ad856b00c024802bc93cc9b52a5ba05581e032ab5cfefd99feb8eac9c42953f41a3b0cc21fb4b36dda2f09f2e1f4bf00401021923b4036aea61dde76be84d9451e012d40e4edac70aba1815544c46dd7562e6e5a985d103d86dc3878daa56e89791f2197232cf2c2988c785fb1135da90253b3a2fa2c5b9037bdd947c683515500548cd27210aece30c90d6e8fc80083d3ea9b5a5088e5b6e03676d6eae40c68307f17be415d2257848db21c155e3eae113285168d78b577e8e030b50d0f6fe2a7f8b80d8b34d4ca02c1f0a6051c2bc4b57522f3f53b925f9ca3b03a9a118c841997bd113f2a723e8d76e833b7aa28def3ed0e9046b548444eb7f1103a0abe50ca219b03d2bed09660e28966a5d6f212dde9818181494c60e0f79e86103d984d71da0723cb870d5340d3f71e88a9769b50f54662cd8d12195635975edf7039767d5853891c8f14a74633f676750162c7658c54e12fcaba4c13dbd57b6d055035ffd9e58d489163a8b74139518042658653fb5d9a05bc6efdf7e89d594ab7e28033865a554962844ef2efbafd53a5bf6ee6e89ce7d9e77f90ad2bd4f513430884a0219ffff036bbfce18ee9262fe13890bc5d897ee7f75ec3a29fb10e0827eddb7693c66e38903a92a00a723bfba0bb3e357d003888e4caa6b8e714dcfaa15fd0632b6914246f503ccee66ca3f9321ece1796bb48595d8de7e5d7d6b1e73483fcabb464a97b85ba8034343dd9a8bf142290b0f0fc59180ef597fa7e85a6528ede358ff5938b90d24c003b5cfea70800efd915599703c79bbb84c6fcebac2b6c1d97d6c2fa7de81381bcc034b89defdcaaa2d87dd02413028327b496a7d847c9e576d2811fa0b56203d217c03526c6dc1ff76590242b0b584211c45de34109ab359b6fd930f7d97b8e4af7174038a6b0dd9c8fd5d6676ad9e8dc80b8f4bcc7110205238d47b4cd3f1404f9dfeba0330ba14db7e273f0b0ff5f4840a683aa07590cb1f34d8be7fc70d0133f8faa9950219ffff03a1078a5bfafdc640b2efee13dcc2d3bbf815dec8414d40ebcd938627330f99ce0219ffff031c7c1d444c3718197e780a21e994f8976668ef57fdf42e364ef397921af225b30369ea65e6cb184ed760d19049316dc1abbf303cde2744f4613b7d16ae17ec29220334d0460820f95e5b8978338b210cf276c9a2a52738929d26ca1e29854ac132ba03fa4e55c0af9365a4d3e6913f657eb580a6e90e42950698b74ef9fef33df74d1a0219ffff03ee10be3d34d4bb51e9dcc449b08f3308ae6aa99f75dc9571a38f7cdcc277060e034bdd3cc0ef36c4752e39de9d3c0c33a773191e7494b3010587cbc7196316a119036550f30f9e1cf3beb84d9054219398ce9e677a5a0f5c41e7bdaba52faf0e23a403c87434823d3a3d407f1fb2326bcc30accf6de0431ed3d7dffad2a4f05bcdf9a6037724703eca6fd0cba1e93709755225e34f7c5dff5d060acd25f6b96d91477cd3035d2f19c54d8e05e664beb53382d13cb766e860274bd04e4b2c0d2abfdbf3d938035bfaeb5ab36a801be5b830026739a6fc92ef4374b0fe538f9b7b60cd48cfeb8005581e03adab581a02856361275505698b1b7dfba144081e7967ca9d58e0714f600c014702e3b8ec6b1e4003192bd8e8939d374654a05b04ff8897ad497f3c647947143ec8b5ea29abdca38805581e035d8788d91361b8d7c4cb2ff0e44d24a2247508645b3fb3f9dae10a6580040105581e032b7e9347acb6ae87edbfbba5130efc80daa8e6320b3766d7c92933b7700402035591208cfc3f4b63e3c8d500e06351a103c19df9279ee7059277483c5e21d37505581d02646d3d303a75c9e835fdcfdd275b19fe61d69ed3658c6cec0a9392df040104582d363d3d373d3d3d363d73b7486b5bd2d14714950b082eafebe9822a1d96ee5af43d82803e903d91602b57fd5bf303e92d1a84eff85a0094fa7447a8eedef71ba3f102ba749efca6936680774bf18203c27590750ce692448fa39a51dbde338c1a2bacf3791df9e5186ac22a6851d551034d86d5aeaa6885bba02dfae2a1332b33d317a95c10c1a980cacd28cfd2e18b2d037cd6f34702f76ef8b35106d20986dce5f3f62c68171553951d2b1428d2aae9860325f9473aada54a858df5b585042551d67ae5092fe69a4d0fb40121458ad782bf039f5514f0bb257e168709e7693143ee58419f42d89054e33adff4650d5924fbae0365b84d0ca69b8ff3519ee931bedaeaf19a36390b2f7efab7e1ceae5b17ef6bd203194ffc92f63c56b8163a381be413acd454e6190157b65ae53855ae7e999b04d4037a6afa003afea285ff6f3bdd7ab0cd2067ad2028477373fa178d9f12ba08848d036631dfc69debfbe67e101b76dbb1b641460970a2b85777f7a39cad8bf3d77cbc03d244acb3d5be5421fcebd0efd79576deac7138c5656304f5fdece37d01bb38d703330124187309bc30525f3c3fb46bacc6e717ae558f55748edafea5abca87a4ea03495c377034a14f471a80a8741ae01d0d203e7baf956a3857dac5264a48c04b42038632006a59e7733017618087e4b948f83c6ce892fc113d13d9b8bbd361a7b3f503d7cad3ac17972491b7f4b6276e0ff2f713c053e81cfdf73ccc3e56773c07e08000581f021879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e9435454c76b81d835a6ef88fb9b841c22ed492473577ac3034e88f8f519f44c1cba39d7d3acc59c285a74193a196dbc676243028acb01f60100581f02d37a23356b4e0da811db4f552a00e5fe933754ebe14e6d5ef3da718d6b3c4928edbad3d6abec000000581f02f21c6530e20a1d25fda075f02ab62eafd02a170919387ec92d1626d0208c490b70369612f76c000000581f020e50e8ac7eddf392d0b7919bb621285a4c6b947ac95e60f88e51e180c4ef492d1a51c7e005000000031763f22d9fd430f05e07b3e05c9ef4b092410e76c28ea8bad3b2db4adb77df5a031cd6f5d829da601cfa174ac5092bc3c71a7d9f30bbd6a8f9036290769113fc5000581f02a7335dee2698578ef9ee76841bd10818bc6d4c9802c541b0e977bdd2ed0c49146fed0e9182440000036386631457d4810ef2a059207917a5c7b26529ad6932760901dabc1a920bf8510376b1c4183ac0bab1c1f523e367b7884a5b4ff5827bc84ae682c933bd42d41034021965e703097a8273288b6d1918664b80452c23cdd99b20b4e0ae295cd9f85fef4978c5f703be761c9df1ad5d5549546860aa22755f60096b9deddb1f7767cd04c9e9804e1c03692ea5ff5beac5ed7ff763bf001512ccebbbd1de3be8a4c1674bd111ca6b3fff0392438cb24d3212f3af5902a9052edd6255b93de35bfef995c86abdfd1b4081e5039b2295b8570e64463719a07875bc9c341b7ee98445c2f152dfe3f33404d69c8a03c40cac490b74b5e9c2eb1d482637c84f0e5411b5fa5be5c6b78788cb5c70c39c03bed75a7daf87a97525a895522b1742f64fc36381cfb814ba327cae6d84a12bf703007d3f9af9f60b60a8ccca31e3913e3f3995425d4814f1f823819bdd8d71f7a8032eef3d32f0ed8a0810466ec1b0c718f8c50d13e16cb1f494ef98417cdf9fc60f03a142965b463a073a84ebdb9bfbf1b733a9576203f5236b84f537aa566e11fc8f0219ffff039e805029bf4a51d9d4ad273fc3d6e0dfb7e1bccd97823f475123fa1cc6ee93620300dc704fb1f05cc12ab7fc4b57fac9101d88988badbe2b221bd94af56870baad0382fe047a7d662f55eca6017121e0ff33bb798465f6e4b789a2e311925b5d9e560375dcbe4765a53fe5d86e51186265632b197e6094096a4d5313e0dbb768e685ab03eee86bc82dd49ad62072316f25d12f342684f30da9c118a6b8545caa8e4b96fe03e0af4536e6f29f0a7461f3f422925c8fd1062800947493b275338fffa77fbc9803e80aeca4d8cc7465aa8109b9e91e1f0a49bdea9e0164d8d9ef602bdfc674bcfb0365f8f22a48bc01121ceb5bbf26e5129282fd3d037f6e92896a3715284c82bbfe0397fcd3f5cbc35867c5f61fd59de46f5668e3c8ae7054192f30841b3a2bfa6b0c0219ffff03a8fa0f46b6d2112db9dea9ef3d20ce09491a4d66cd49e9da74fffa54d956047c03def51d36f0888cac200b99c5ddc56411a817b825e46d865cab18d36dce338d3503fc68f1dd1450654756f096099438744631bc812acee46b6ded35d79cf78d3bf303e1eba56cfb5b3c703f12fd3706c41eb870dd9222b94dcf353e88010581da7ddf030db9701ba635ae4bc5582cd1df74be3527270a9214bf661dfc9445cf220f0fb9037c953c08a14d8bd087c3352555d6debcf5205f2a137af0727d931f1df992bfa000581f026d7b9c28f54183409dca6f8ea6416e4a9e62a2b2359aea031ecf3293a18f49a88a0ad3cfe174000000581f02791e5771c723899c2f8b6f670ec210466e1e576c08b90d0a8344c11dfc354a012c6eb33539bed8000000581f0235dcfc545cf04d345cce553f60de5169998aa83ea4bd547834707b8a5eb14a015d2ad4ce1e93040000039c67c2c29522d1f452cc2bd50e0fc12cdf52a9bd2146aa7001b104cd10f1ed3c0356e28f10959bada8bd30f451d5664af080ea584fb8b6e394b1dfbb2db1112c2e00581f029893cb196945a7914fbf25ecd21aa9dc0be11418fe86e26d523d787b64424a055641e2d8c879ec000000581f02b595cebf61945bf1798a64ba1a27cb80d81162a753916e99310185ee6c06493d2625079990a0000000581f02ba7ba5073b370cb21aca69cb338a0849ecd33166ee9fa6632fd304a7f946495e45791662144c000002190b9e0315e27f6c06c3f3638f1bbaa7770f0898582f955cab931207d7f8f040b5ac16850379853d13c372a61aa24688e24dba0c062ad5b92ec031e56707ad712e2c5f08c603ea860353f10fae20342decbf570cb601eb7c53c246eaf22b38804229bf13d37d032faa6fd2187160f7d106a91b28a2e921d752d23d2f67793852807cca1137cbc303de711fe014216ac218c56aef55d624aced7e70e03d11d689ea731012f42ce0bc03579d90278be6a717a11a4492b732e1f0f1bfabeef7f3a421de5264e735b0823003d06b3800cc366472ef2409cec7102baec57bdb80f72cadacf27bff3813118f4303f111dde6a85d0ce6f5630434dc97b17f52207954a5a84ffe237994f4f8f06a7e03c433e0b4376cafed1c59a72592ef743a019454aa1ba58491730485976317e87c03ea0979fdbd3f17fe0986205d533836c75b2ab9705b1bf61707586faea2169cdd03f2a3b8e3b99b0af41678e9a0e96e3d3b1e74099b04f8e4655a3d41f61409e2f20219ffff032e86d2d38a2f0ac72098c386f9968c4fb10823dd750a3ef66589717521d7da190379276d1b3f5dbcb7ded5bcbf8ed87ee23f8d62315db8dcf3e55bda3abb2d39f103bfa228971b7050934be03c9a9240662d8125e13ce55939a1dc2a9329459dcb4503207b584b26e8f7280616a8fcb3e15e8ac5c33f000221052ac5bef3dbfa674b5303da8de9eb12e83e61b63b626546040606f6975f96cd0d90e58b5792809a5233cf03bc0a5d677eccdebfa425d28ff031eb0de43316337185d2084d2f01c3242e0f2e03526f5cffc0b171be556966db731edf62759f4af1974214df28932503641048cc03986b847c370d099cc3461747127d403c6c2f4f696412eede58d649db12cfe04103f52f56b94dd209e6183d4246a95ec0a3b58a1aafff88720b86df5253ef8b732303e7329da1daab78f47bb7575372bf2fdc02a8296e8b0c29c13457c61a252a83bc0317eb91f42fcb4dcec11d73ef2c18626b2d69f9dfdacc671ed34b320d28bfbab603ea6258e12d2d26b0d701609c55269e40131fae05f0498835ef822e900aa9907203f2e2b7e138055540abbf8868b7c3c2cfd5d0ae6dc6e4e77e26fad363c27bc3100384363c8cdf1c33194428ac17fde088326dfc00fa937dc3ae0a552f4ba12bfdcc0219ffff03cf2d16cde37a47beea1e520e66651dc2d74a04e98bd42d0675c88e93d9535b5203b36c49973b2a0f1609d6532047fe1ae713395dc2475781c1fa9a3138b2bab8b30360538274b00095158bf9ad4b7ebbe61ff368e887077a3dfd8cce1e02aa667db5035bf236b94113ce3b12e6a476331b9370a314778d44999ba3710f35f17df0c3460303bb96470d4872e30bb60870bdd09ec4f276d92cfd020905f3f9342277a6389a033defc2a487e93bef73f63bf1b4d3cedbec758436f826b9349e179a916475a887036813b5fbbcc9bf98375d449a98026ec1795eef5a93e48aef6d564809ac4db8100333fc5154adf520c17ee80d675478468d28c5be530eae75fd14842791dd561696036f4658ae433c9e047f16cec157678c3e099ddcc02f2bf727e1c18fdd28e4be8e037cb3e6924d1133893e8965a3c6e5194995dd4075349caa5fdc8f7680e4cdbe970308e36e9bdb86a8574c14b97a1e24efe079156af28c1ec85513a5118784c8971203a966ac7cc287a5b5b83d0656a5147a450f799c4b5ce3a790eeca55d29d2ac3e7036083505ff9ec06f7096200e7e3fbf8e84d8f5666da5f6b8ce0caae1274c6d26a0371a4c9b75834b6a3d78eae4fea8161cb35b98782012c5d57c9950fb66e73138f03500b89dfa381170e63f36d09942f54b2f6597d045b33ec9638f6642f17a1fce40316f7903636ce58c4ec0326d2c98debe0f3e41c8d691e4152995b465ff8b9f09c03206ebfda6654c7a1f6801bb6bbbdf1deb3a433326fbb9b0856db3a11e9a5aa17038f8e1ab300ad4f9ea499c1b1b1996290856ce13081f4ebea67da35b14dd01e1203f4804781a2c640a7bbc324ed70a2cbfaa2896a3b9dddda5a4a1ec4a8a47fe2ac03c4e3a0fda69090969ed798d9c19354accfa66979e7fc8ceaace8baa721ca931403764087e5308492b474ce3b37a58c389eabf0cbfb82cce8a97343a53459f231b3039f6bf36735ae7da9e933c12b180ebfcb35fb8fc5f8d2210cd5c72d430f9b565800581f0205f74ff07066c3a569a4cc38c9d9e4dc0f2eee978eaae015a19c9158db4449141ca8c65b95ec000000581f022f4ec25d8d276b26987bec0503f3744e01bf8cc569ae69812f9be2636dd5497ccaaae37b3538000000581f029b000669d5bc1d7d56f5845db87dd09a2486069248a9a72cbc442a969800492994436442849c000000581f02d761a0eb7c4907056d2fb09b2be8d66bc09564d221ab3965ee6e729891b94a1776279f543ad4e800000328644bf65bac9fb973f2cb977de43caa5e2feb097675649981e2fa8bc9790b1100581f029c438d06f9fd0e632b0e9b1d07c4a59c0b41080dcfb61ca5a742ac80b27f4912f939c99edab800000335d71eeedad7e5af9c0669576cb65005b190bd7e0a43003fc96317b0e8b0fac903a24b8d471d4167071b1312b89f78210e18de04d505ea2767492912a672b8d32b00581f028ccd1ac26285167d1da96e2fe387b416cb0e97d1bb7c26bbb4aef2f3d522490f2dc7d47f1560000002191cf903e181c39c00414e5b1fc8a4f513379bda06bbc83fa4c90ff43ed6e54c4f80f0de03853b7c4628d16de6e4cb64f861fb68a4fab5a073cc734f894de515fa399ccd1703ab051f097b1edfe88c9f07c7005410e4a10a64fb7f5b71a29ef181b14e7ae269035af9e3a0cf48cab453a9f1e2719751f763e44862d77d65a371ee7ac4a7833c4000581f02747b8c89aeec537cd0ca4b732029365a6f80e7c1180f0acd033b0c197b054a010349758694755c00000356be55d503f99a5b03ffd0e6a1e5287cc4cf1f380d576a7df5e31f7fdd66cb0000581f027ebb72c8590037b73fab8d2dbab62dbde579f53a0c735e5662c25d2e03d54945fc395bfd254c000003aae534b62495608adc0f050a65cc5c136ec9da55a0f4883fc0c870718f76935500581f029f1b563c9552fa798ec37365f3d2e82f798c7534bd4ab80e8a158aa82bd549ee786379195f5c000000581f021b9b912f5ad4361befb05988b54057f8f6c9b842d1e4d9e94d88dce7bc704958d9b1b834b13c000003d6d713560c46d66139a9d052b5b65429ae5e0cb62d2df38d7ce0b5da63e93a2603aaecd46e6c93c4d7d4f554b76b0ffaef82ce5995788725996f397831edacd6b000581f023c0336e8b83a9f703028065d0ece53ffd8ef5845836749772fe4e4ee506d490db7148f8c6dd4000000581f02fd755be3609f30bb63e3fd52aa73938e443537b6ef47fcd46dfbd3a2ff154927d82c8dcd981c00000219adee03435d59c79278003cef9fc1decabd37cb08838bbae2510106d7bf0f669d38ad20031bd42f8b3f87e54b3e2a7602b0d7ac181cbbc1d88b6269a4334d33ebeda3d3bd03edb88960316d885f5dc66c7e978139ab88eee6e664af5abc13d66f85e2bcf78603cc14ffd196b866d5411c69a03cd7653aab6eebadd96bde9b2ba3217ad4994eec0219ffff0219ffff0337f48cc513508507b03b60300d13ff74b08c928f36db291564baeaae71789d4203a1034dd9fcb93d13750b6a233aa1c9e79c647ce9c17a15b75cd8fd1c0a717598031ece2774c2a6a96bb4e25e2ea46e690e61b1d771497a79c16fd3e3edde67b7a703695266f3d1ef82574a4a0869f3394272c79efc028c2f06b97e992d262b489c380348c0d9512e139db2deed60bdf6909020712e2407e85dd9dd0887c5ed29ca73d703a9c35648c911ea6ce8549f8665fc9de0d64551efbf3456d14b9e4cf13f89cdd9036fc85c7f6742e5055d2d8735a0ed32f592da20cb652b7412427ebc1907438f4e03c1ef8c4e2cfd0ab2d662b478a15e27966b1ba036403d9aa56164ff16e65f5d44038f619572111a5989bd40b9bb975e28b2b71ef9e456c39d1089a34120c442a53703b41a87a1345725363fca6f108a39f84dd0bc490a20cd7bbb6b89a81edb0f113b03c06a962c2368d3ebeb85582890c630f014b3f598328776828e5cd703001ccb5803adb989f2ae74d05a149ccab642538aa2c1f0b098ddd68242551ba91a5c8e070903b3fed5fb501a0a5ee5f692c33b4fd1046ba705e3a659b67a5b6491ded0efe934035c0b4934a0c1e320900e32d275ff3f1d5085dd455022307db78933e9319a96a203af8c1215f7e73f7f9611e200618424a0041921d3371f51f8f827a1643076ae00039fc099c05794ac96521eaf1a4a18d883d8b86270781dcae02d5b0679a27bbe5803a59b0b58f50c476034f62370da49c4ecf161f66766af66ff6a94cc59d9957dda03f15be42e4ccfa1854e04cef11da0af2d5dc2bf92ce1f990e22568e597c4712d403176b74c135be00020b0e2bc2dcb5501560b9da0a0d6c5d8390be6741ee6a2cc6035d110c98f048b795e696025bbf9e5d10f872c0da4ec567b9d0a6c18d0635d55f03b729e7f06f7e95e283bb18f41e8fba7f8c24009a3fc4c465933bcab6e2d9003d035275f7527adaee93ff0a354bee744f361df754bab381c4f887d88600859074050343763ada8a91f2faf843c370f5c9ea909dcfc7c08479f6d526cf409266891fc803790de5ceb52d197aff26f687e400098dfc6a1f19b462227af6c2079ef034558e038730f36c0330f85d49fb2e6d64ffb0237718754f1afb23217e406a56b1c9006c03dd6a543a9756b80f9b16e81965eb6f33f9fdd9b1c6ba9a99d534a1bca4371c2e031dad3b3ff38340d75f39fd9c31031aa1b5d802a3e98350c0fcfba88355e60aa8030f0d0be16e8845ec24fc38a7c93f467e19b6dbc01c562ae59e97fa626a7f110003ac47bbbd4123f9a739658542984e98fadfc99fe82e33f999738671c6717d3d1b037970d5710666dd4579c2e82bf20609a45742af47c5955b5d1b3f7c028ad1c76600581f028f86d2fa29ca3acc930247bfc5cdc489a4a5efca100c651169f0a70316c24932bd9c00dc05a0000000581f0259ec814143ace6073d3009c2290f78abb0c2f153f4e82ceb7478d79617bd4909c2007651b250000003a6226ee09e8c5386779f226329dcd012fbe6670003898330b2be2ca8eb840c9f031647ab8cb3f4c184e7877ba9eb76d185d11222a219fe14318826f3f5796543230143017a0000581f02c466622057d369e809fa6c87185a7ec90354c426148e3ea37805c97c392a490a31062beeed70000000581f03419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c705820a21d70fee972fe9e2d848d675917cc490f4fbdd0661c8995b6a4fb945c56660b00581f03ea83b0db61cc44c8f0edcd41f2d7ce3bcf99e68fb4fbd65ebe00be427aa049141ca8c65b95ec000000581f0314863d571ddb76e01b558c2055a38d8579e7ce32decc4ef375e7340491f04a0951adaf939f7ea000000219218000581f02af56044b318c2fbd07081991713b718c585d67c79572ee6934c932ae1486490d480ed9ef32b4000000581f02c4aaa6d577725f0cafd3922aa79e488b3ba8f683e7a9ef5e7dd3b64a5188490c77e4256863d8000003d0b1a498d96250b698427a91a07b839a5e49a2fbad8f6810a7c74b99a09d5f5d00581f0203a37296c8dd5fd023123e54eee6c789ec6215df774cd4142170e4e0a22a4958f573259c000400000219e7d10219ffff0219ffff03b9b99b371f5facffbb0f819d881d145bb1c9add28c825212dc3a69b31242077e03729db8ba3c6e3b7ff0243b46d6123ddde388ad88f7a4395bf3039beba41b7d98037ff1393d245ec74a88776a543362ab5042de94ed49ce006ce50b81d2a870d6a2037119881f2cae60cb1e42a124ea3a77f4315c3c465ed7ea1bd3076f9e67eedde703244b2a48acdc695947ccad97e2cb264e760ae0273c5bcd5f4281cd7693f61c1e0340936e371deb80922b979696f341ad01b5ec48791d9bd42c4d26ead2e3b685340327d9992a00ea30ef28e0313571bd9ab71c3d8f147687a0147e1661addb96e2be034855192a802dcdeb64e6fc7acc511369dc49bfa884038e82922ed78bdc3932f103f1e4d2d55ab4f1e3bd41bf8119231e343943c29b3c24fa6e95a9ce3357e5d1250350829081845e5df59d0f819b5e32cfc74fb779b377088751374b7c3d080d76450312b317c7bc8bca93477503f7fc6c4ded576e5d2b5ceeeddc1191bb3eab4ecd76035f7c64a7a7e0b9c6cf19b3b3803c563f5bec4eeee9b263f054131dd3374b7bee0393bc6730a1df8333086fc516173df01277f737791dee6b6efb92f2f30323819d0385d51149426f9a424e08548882f5a4f9d4e6465b2879fc6289638f516e458aa9038e31fa4e4581ae352fe0e2c04f1a435feccf4356d1df0d9fa8e6408941f0ae8b00581f021620699ce2d6a24fc7d35d299efb12595f3c5573041898e20856921b01154927a0a9b2fefa8c000000581f02309130472e55ce6ab2bb94dff5937b524ea145d9159143ec9eee39c8d2d54954d9ee080e58ab000000581f024a43d618527eb6c1226c7b010104e14285375b188225426ff194100388d54a0150ea738384ccbc000000581f0225b3ed0f30d3100fa16fa984f7c0c9a66d86051b06bce8d7b596a65fd2eb4923e3187492dc98000000581f02d7ced04e0274e349c583d7a9415885c4d9308142f6056520801c7ee496b0490c328093e61ee4000003eb01d5a068261be8389349941b5600dce8d02cbe391025d49377b83a7765c89c00581f027153d4b1e34f38841b26f9b391e189c297cb392c5591a2260d46b31bbaa1491fc462373d2ae800000219685903c79b56491f28d0af9cbf3f21253a36757b9aad2184a01f3f92e9343c0cab5f550379f5bbdf03499f08e916bf1bf92319517c27d457ac643818942ff5ec6d8cc096037b44fadbd7b883e914ee4b7fffaf57c850506f0e9bb118d934eb6f49d99d114d0361146bc7252bcae5e27d884407bad58316ba37a355969ba6afddd88678a9e35303ab12785c892412c90adfaf8f688e3feabc5131f2422953b1aff1b7110317f25a03c17f5d1c7889ce81cd8871302dc3f445696115585a8d61d59c3d2921a1894db90300a07c427408125956f78af53cf6100a210f914d264a74643426b9f21fd1d1a30219ffff03d59bf832b659a0bbaa30806c661965bdeea048d3c3394014c62fffbd549cd09703d2e283074f1cf266b03d6fe9b5e116438ddeea9dc83b1ec98cfc5a5dcb3d56730381594104e51679ab89115961334f20995b921677b0595bb05d49cb84b592657603af97c7b8a66b74db54768133ec224841b8e6851990fe4331d729b8013031c9a0037bb93f89fbb6619d2e5e3436079d9d7c6a92dfb8d813aada45f5a2293a4a23e2031cdd6baafb25ad4747626532aaab94c72f07e15a9059e28b3935bf58d34f72dd0354ec6cda73f52993d357c98c29b38e86073a1e340f6d460db01b5faaff7030eb032781dea754904afee6205338ebf7dd0e441c039eb6e31a77d9f01ec7feab893c0219ffff03ccf471f5d412951c6b1ccb1c2ec6f09ab8ab69e7d8fc95694b625c7749c1883303b164d809c7db09de9a61bdffa75db934c171dff5ebba0b127dc8daf4e65aa7d603e77a50e7bc574989043d534a80ac83fc0bc670bcdef3623883a6d52b8b06425400581f02083e66b716874e93a8d11b76470199ba00ab3f96241a1de68b86ef450444493da30b73ea732400000399a0bc36cd5f75d6722ada0b471db05e1430c2149ae4ae286af967ce2f8cf0ca00581f023420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c22097753543b50805453023a91a8bf641e279401a0b23fa6f9033bbb488ad0ab5c941c350e9c65aac9542fc9968cf893cd994ecf356d74f3c29f00581f020f0442e8aef1f65829b3a2455dffa40714bf574e77325ccd218a203c9a794963879e50748130000000581f026a909004e50238e612e32cbeb07b953622916f71a67f746ef3a9ff8fc503497fef94482f21e0000000581f021ab1a6b15862fcb05dfb1beb94cd182700e240a8e6b10c8ea7889351ecf34a0128f685884fe5d8000003e6f469a83f4f2d3bba1f6fa5e2e9dd2f2508592fb6c13fb99e8b12e59a06ab2601410202196a720309c9345510cc4d788c97deae333f407eb2d9da77d9b31b7bebf4dd199b6bb44203fa76a098172e68d84e0d21fe543fee325eff1257036cbe78646e61e7dbbb7fa303e6e2df896d6c5b227779e22b105b4b634c4ceef61fa6d48a744b73b3ae5348c203b046645f77699de1f94264e724ac88f9fb11154b16254f6b7ca67af5eca5dafd03df168831e0e93b14a035bd1d8869bbd93e2bb35abff8486994863f247e739597034fa4fa071a9b3c6c5e1f82550bf20ab63985b6e2bf487baf6eb299fe01940e6203306ece48c978248d9ec0b8c9daefff3fd9c39086131e19f71bf993817cffde650303a1f7f7531332187ff136d18680e59e4f520e16b3a6c748d0316f0f69fe27d1036228e12126c87bca90d02ee854ca3be13356a3bb9e7bf4812d944097e7b9f60e034b2bbf4b37ff63bf470b22a668df13ce61c30c473bb62291f5f56444bf50010803d65d2dc6a76850df3be671b43b87cd2bee11db5cbf1e2e56d2007f7810a72dbf0365213273394229db32242947ac369e2c60d2b1c8899ffa65a4e2758547604795039d3f622064e3de2e82598a8a2e84a03f9aa07e4c905a6aeb6d123a68f5e6b49003851715b32d9fab62bcb905dbb0ad0a020f5de8422723d46c9dc07e13173039450219ffff03dfed00f9a5b4340d481e6ef8f460d2b9b306bba6a87ebe6ffe6963e12f182349030207de329b4bf9adec3cd333fefb508fd2846d357943342ab834b9653cb26042036010e8150d97b34d2f9e34593eef2f3095c09d0c73bf8129a44c1b33ef0f0bba03444246a5baac4fe039a956fef436da68eafff59670d027a59100cb2916425ba30355c1a7b3c546a1d7c202b27a4b02a862d790384f2892c0f1e590388cf3960bac03158d97ae2641866505f5831181e1a617d19663638ffb454c1710edd9e6cf5cde03edabc7c08d060f90ed8708cc047a3cb18f15a7d776ecb596bfcc68300e9cd500036d1b2cfbef1a452d20cee47a290c23346b6d1de14bca05d3926df2c92a6f332003241736ff7f38644ee9e45c44d53b669b624660945d3147c999ab16573b3d259003bec6c5cac460b7f066d0f0d1d70bd68a3a278a32199082442737bd89bdefdfae034a9821e7e4fce58782ac0576e2df653408d62388545267a539f034ee53e7ed9c0390a49b48e4c202eb0f6dc7e6e46d9dbe25048008e98e31a0fbf5990088d4dd1303b0e5f8134e1fb15c8d56d06f71564d7c76d60a69016c1e91bb7a58de76c43dfa0219ffff03d4c64720b1d2351a52d631bf30254ecb8de69cfb7de9ccc61e031253cd820e2803adab85d8fc920eb13fd38af0cb823f72d37633b912c9998474d532c208a6d11503763ed680e699ccd7dfa368c1d5077ebb37c3c7097ba70a88a81a9f5f209c02830330a310d0a1174dd65c2d33264539f367e40c2c738c34a994a2acba7497ecd96503b40dc7689775cb15429d688b9f875c75804e297cf97d509e79577cca75e43e22035cb061faadf2f45278b8bb89c84afbfe6aaf8f2f7405e5e486ff0a5b63d4ca0403d74a14a676230445d806f41ad94921339df1109d38274ffe4371fbeac31d52df03bdbe196f7bab8b839ed4516dbbc2110cc59ea39ef29e81f612198058c7447db4034104e67917388c5762b0850ad0af0362cf77dc04a5bbe856ec127e4567ca840003b7e3dae9eb004e3febf98dafa6f1c048476176210e9c22d5cb2950046707c7f9030f40476f1eb8bfe4462718462cda16ba8d3e4c428e7c9d21118fec943ed547500379441e85fac86f58127240d1ae7661b0586fd94d5e4e7d9a7c9a8064c249932103f18e1302629d1b0776ef063b8e1e8b9324ecb4628bfaa9fc7e6751411b4b01f2032a5e92a610d44bd079e4d69d7e5f39272bb9c6c68bab7c4a762c9b541b7846d703fb559db8b0445fbdb410c29d57286e8d264357bcdc8299c947bf1668863cb72a00581f02d55cfcfcb15ac27a0de33806678c9cb9b4a991086b0fe7ebef596191844c490a922b2ad8812c000000581f02e5d88c4a053c9a16a43a098b033fce11a46734e7243cb8ed51f77024d8554a0844bdfb0420a5bc000000581f0220409b13528a4a4591e836854fb7f8e0cc4949ec3260bf079a676422f72b492489a104feb548000000581f02ccbafd35c0d010f74d301af3a9caa2a016b28d35b0b6cfc2e7724b691c9949ddfd8a83c2989c000000581f02aa9a068ea38e4c95e4b851df47138c4117fbc46d8e851c6cc630a12cc9ed494ab397730b0848000003e4ecfbd28ed2c44e191e73f8884f36f3f9dc9a427d26c4b4b682094ab1549e2900581f02f716b4054862913a6fd0de273fc65493df40986cfe017d61bd63a00be06a492234e254d1977c000000581f02af063dc6a9103b35ed6cc571e3f321a10643e4ee01c93cb1dd14cd17900b49233c8fe42703e8000000581f0285ce163027d82e2b5c9bb32e2eec9403784d503f2fbb713d8915b8b9c07d4922cd8a2e89c8c8000003febd19bb0c1c66fba871d85f78bab22715772844cdd3cca8f3198746689527300141000219e87b039be0c73376e8a0de57dd08f837d5ca5b0616904f2728eeb45ef6ef1c06bf859803335c23d5254e9c9924f21472a8f088a870079261d17b6a8eccfcaafea615619d0345074d5dd04450023a83a60a61813b6ce2fe0f0609d3641471a73849ec71778303473422083bb17f4fe523e76519301486f024aba2f4f820d316c861a3706a1ef903d4b8b75ceab1f3f40ee3be526547b89eb029f66c51e4b373c93a3f0a253c8a220354965630ce8abf83ea79ebc0c88dd671cebfb0b427f6846296549df5f6ba5038031fa8b70a914a2eba83b54ecf0d8cb7ab46e80cb84955b139f00e1af6475a7a5703942193afffb1ab40f9a8014a132ad9d631dc8c7f82ada6d4069d40cab7ebcf4e0219ffff03efafd5cbeb02d8d6e7c78e955e773fce1d6284bd561fccef52ea972bc7631b950315993a1e18a6b8b796df5a7e1b193ed373cd69eb970169001a3018eb3b1fd18603a89f40eaf64bcd8ee2540dffa287328b31436f9e751c17c311bd7d7e255b485903961c80128b5dcca00e855ea4f4ebb4cb8284d22077c916c0b5d84e5327e5cc8d038094437c011a49eb045d3f5f5f1af0184c57af659b5abef8873822bdafddae920336e6031e578f8e06507869dc9aba91178ce26f7eef292698e1814045529aa9960392bd87ab13d643470a8fd84dd703213a069d805b1e4bd1f3d12d433eddf5cb940219ffff03a43418a6b4c24a4ced617e33b34057c0f4385f3b617700915e7f40e1da228e950348c7718ff97c797f35cfca57e423763b3e5ec379f4e0d03ccaa39218f397ec4303a3b371f13c278d2594e2f1ba5e128d18e88100b603e5f4efe5ddf3e02591e538038982a68297570f29cef8b14dc856b7dbc7dea7a2de63cdb6ac80ac55e221c8750300393902ee7b17b399a4e9a287097ad808a8b4839f3871aa9aa7313b4293b1460304ca2a0d06b6038e37c318a6e66900e2d275017248e58a372251c38c865af28403b8d724d629cac273c9443c2273b54db1b7ca3ac6e9b09e738ded5426592506ac034605c65dbb8d91bc0d5034cb1ac471e708515b249642a7b8fb579d28552d5dc40373993fcc5a5c7cff077d757a5c87f13fae270f2c99b815755f9505cddc56bfc203438d655c5a51385739dfadd750d1e6eaa631ae073b04cae5675ecb7c97a7006503d7b5d0022cac2bbd473a0cedac4225151d87c16c759b85958cd915a8da4644cc00581f02b0315300358d695a23973dbfd4d706d1ab8fc2d0f51f374ab96f53ce0a0f491b6048686534440000037425f24602467ffff257e437507748b89b41ab2d4fad361982176a08ed3e981100581f025c2ba3207d6df09151136541a410410d2ef5475021616e48b09e3312871c49098a7d9b8314c0000000581f02a96846a6587a3db5b274ded3cc4b63baa638ecdff64cdfa611cde4ac04cd490a31062beeed70000000581f02b7dbc350341ec8d5cc2415c9a45bb005ff5ff20f43996249ec3b5db44ec34914a76fe9601fd40000033a2b705460a0933fee9db49185f85851f16cc5b668622c61210f26842e6f4f5b00581f03341d7aad2ebdd34c28e81a4654cd4ddc856588aa5482d05b7e9a0f16fa304a01a91d9cab4da548000000581f03702b96826b650e9ea54457bee5071fdcce9dec43f2bea3281acaa5dc71404a0132810323d2fa98000000581f0382b005256d00b14084a7123e589bba38323553892021f9236ea9fdda4730495459d67bf56bd0000000581f039e7740f703c444034362decadf6204b461798f353bda95774c3d1442c3704a10616c469fa515cc0000021982600219816b03ffe7f46b4c54c28af2b78df341992728b80fb895ea0d7850b56744efe896c977032ac42fa5a43835748c021b5a9859c9bc1538a3fd57d0056bd76027ac6cfea2480385334895ffb508e6d3a424bc27fdc54dbc40859e5ec8c55241154f48b093f4f103f4e6ccea9ff0f7db180cee5ac188c13a97ea1df4d6bcc43b708e2bf51386883d0357d5216e9c0d7fd42401b9e9725af3572588e01fab295a3b64210eb1e8cbd122033a1f5af0cd4e3b0d143796e5af091756e93095e8515a18700a67cf0c706557030357f424ce6c482b9965994970c328914d84932f297bcece3964146bcf935c4e57032e757685bf43db4c3a8b2579c068db97455900a4bdb37c60a3adbcce9c73060c03c192042cc97d5cf71bbe6c9a436ff369887980a77ece443da03fa0aa0220547603547f286087fee5878a99212057574fe6372bb29270e7df1c74ba69c22a8c3e740303ac9658b9e2b28b4f6afa066b9bd1dbaaced632df939d8dd8e832f1060806de037923aade8b32d770269554f9fa76c1a0fd6464af6879c38bc74ce0ebf2a5f4a30310c581c8bd7057edc3171a052bd0653b09a716bb72830953556db9ad77d480f00219ffff033a4cdc94fede2fb7d8b809b03be994d135750f4ddc35a778cbb9ef121cd14560035aacc612030b166ad1101cf7bf2eed1f9ab732d2c7b52fb27b7d67b65176f90503a63e8cb45fbd0042d42ecaeba0af61b0624675b969fb803040c9d977891991580357f30926805b9f0fbe448e04cf3905a8912b0cd902829ce3791e34ad128fa50b03a50550a30b51b4005776d337f3852f24334a228bc9531f70780de58bc750a82a03f6ab6c424603963fdd1d051e047a5ebc7211e791f48e4a5637b4ddf9ec61ace903d544b78e7a26e35a664816c16cae377bbef7f25e7440b0664211490505d1649f034b7e85492ede7481b5578da1c8cb7d61efe236965bf4b7b42b597b93443e5d83033ec7f82111968c038b2f9c101c00ba6c8196bc2355c7892c142f19f866b2b3370219ffff0219ffff05581d02c5f49308c29356e53b0b47f6e18dbb20dfa6c26c21fe17050a6e47830701182d021405581e03a5f7f89ea52985f9c868cea496823a6ae36eb167f28357fea8a91f302004070219d21c0395ba123da48e07003ac70c2bbb75c0b9e1ed2ed07cb41f060f86ba6f54fd3b7c03927706d5d59d22c65929165b077ef94c223c6adb663b1ba6cb22114caed5449a03558353dab592c6e8246a22be8282b4ba3a59b63f5a4ef2980ddf7eec7b481dd4034e02c7835c4069f67da7ac930a59a8960af8ce41e42679c8c0b40ded8fa638d6035aa57b309a336317184c61fbe8e0f85c3ee78a43074d0cbeed894056b5ab120b03c09f786d57e6ad66621187065fc56c890880d1ba0ccf7682aca6ddaf1981173603553f40739f58e512251bc2e402f11bbb9f48328683cf4a683c65cbe71d1a07d903b9127ce7ce7ee8ab14cb471b43ffc045a19a710639d45e68be9c3c06ad20f83b034598ba5fc8bcf6ee13687c88819a1f62cf7ec72e0d61cae1aaea8580acb0e15b037fa2558e9d9edf1ed8ccf3f65c6b6ce5c7aba5820de52b0cc6e787fd517520d0034c6534e95be8c89992c428efdfa924945729e2cbb6c32cf7006032ad6546a5a20392e8bbe5d9eeff79a300e5b3efe98021cbd584f624b48490f093dde92d30deaf037c69b6878e4cdd59e9274be9a9eec3085498e599659682ace8660318b0e726620331fcb1051ab3c9324a3362f9c08477e5fb5ca901e84ba1f20cc3899682e14c9103e0a101c507b39e3804559a92366ea037a3c8c476b0b82eaaeeafd42d2a756a4c0219ffff0344a403a4920fc0537303e4477b4ac76dd8090c71fe0a563586a4309a1dbf008603c2881d084b83b627981bef257141caacb6d7ef23416b89085a1be2f9714f458203523166dccabe94eb04ebe3e74b50d41533d5ec4256e1b32c98c63db246ef211e035868a80cc97dad985774c60a96bc2e69e144c4abe9f1c735d2b1fb29135a398303c090d8a61979074a3f3bdc5f38eaa9d8ef059ca5f8e04b26f51e7c72e813c41603ae2662fb2063de46764eb3fc460d293a1a77a6f8b4f660874114aea26a6b85a80315eb1a86450d97989d9721e7b87feac4d1cff1a87b249264ea6698c5b3986b9f03c1cc724a011194ff9f393911f1a9ad8dba4a1dd221ff0827fa6ff69a37f33b4b03c1ed3f267fd309881714a496c431974b2119c41d771b84ae29a3230ed52625ef03a7b64ad377e8b8e29c208d66c8384c4e78562951cb71952cfda35d3174179817031a163136e59097d4b0ccc462632c5a4cb3f660a24921783a74571a4132ad21bf0219ffff039b4752e82e71daa816bd3170ac505a977444b3b5b8f51dcca131e1ede7a1754103a8527d17304c454511523eb0c4bf6cbb84c0b6cd4ef38145495dce3ebdf5e3e2033685dc665de22930b49142c2072b161587135b4d101e6ef921e7baf65a903fd8036ffa4c889c927bb98ead5d32d12200f9e8758a9cda3fae0c62fb210321907fb203d3b86b19298eaa0f31a95378f683b4fe0bac230afbfbccf8b7a33fe10d62bb7703b554edf736f59f9359d04cb0d73f874f3d5e491910f1a190eb23121254fbf3460305b27cd4c7866c1edb0c534659ec65337a263aca40135497322e61c7f2269e7e03c63081553e4cc72e4906a8342fa9005ece6f99d0b36133dd01f4331e3bbcfe8803c3412b6d50351cf64e64e7995f0eaa55e78d919d832285f66fb7f253e170c3d40319606be37545b72b9e38be7b71dcca0d9c781c315e39b9c238686d867645558703f621aad2a453a899e6567b142a90e39fb1a39f2dc364ea94438a6cdb2c17c23503db5c40b63f33c06a7d876d0960cf3a6e2d88a94a04747493624ca93a5f22c14e0386823431296d7d27deef2cfe3a21bed40427c55af7b54eb13b339b68d85b0478030eb4adc83bf98e997d34f59cfac2c98a2087bc3710ac7eb17d5f84552490e5ed0219ffff033db2fc1872aa3222e94b300286cd2e615b023c7422459a4d6fb919a86cc6304803c9f35d8354359bf1285420f0b3bb8e25b8fcf68ef6a8fd5795d859bf12c723c7030dc7adf125fc1ecc385b2222c91e901b815bbf109ea88d19377b51023e72df6803edbb8b98b7de20e782a043ebaf5760fa1fd40de47cc014493769c1a0257026650325e124a88e19eca01216bc489c36879a8b3644b61c4a862884f01b4ea098308a03a487481d31d7db2c3804ac59020ec230436a9d16dfbd2fb634831cf466bdec240357868618016aaa9bf00e8f011610c437a076ff7674ef57c933821137221d6ed5038918ffee1938c29428a239aa4f34b797b4dcd30c5160d4462c2f4a2638ab63ad0326dd381c6a9d2fe81305c2b51686d0bbcce5be91b4c740e22c1a122e717752c103728a6080d0c74acc0c2f8cc40a294a4155444da3bc9fc3da5ce1fe3ed7b8b05a035bbcd7621281a4e6b858b064dac36e04468cfdbddbf108ae1c39290a7006c21903ca88ce22767b40b862185daa98afc282d5852eb199a1a5397a30d7606dfbc2e303d702990ac47efc9ef7dee82357132a06bcd72d266367af3d5c236221fa94309b0396972db02fec7f7f7ec20452a648e8366ebbc22ba1c224d3f7565a131c87797c03aab03458b38b7b86c6bd7053a0e4a8553e0c016aa91a5a19a9d4284854abfc7d032cde9ad90923ddbc6b94ef143147c38dc70ac33609182e816559ef5a3c2641e20378621a4b93d9a92cda997f61b83ef1fb5ea57c68af8b845d3cfd3727f8e0bc3a03e1c254db8346f3496051c34c5300ace4120717d41884f259bda3c4da82cb43b5033dd19b86c904229141808e0de733e64095f67686aeb952779c46979caf4c7f75036f94813f8693fa4f4966aeabae0dd583ce6f8739ed7a2e27a9bb649f54aa8ba0038ea065aacf5316ded2b3d5c3f8265586b33f8b6a3c0a8cfc678c0cd3a314338603d9146233c3051da77ff7b32bc0d07e077af9f211aaf2adcbab523c45189a623303c09a9df34af24e3b46023f704fb149714c1ee2e3f21b13edcd7605f8e555d25c03a98e3db7271822803a3226dc1ec8f99d433de02ddef9513868b7aa8bf1b369b004592069608060405234801561001057600080fd5b50600436106101725760003560e01c806366abc2a6116100de578063a217fddf11610097578063e5f8b15611610071578063e5f8b15614610356578063f23d829b14610369578063f74d54801461038c578063fc0c546a146103b757600080fd5b8063a217fddf14610310578063a9a3bba414610318578063d547741f1461034357600080fd5b806366abc2a61461028657806370480275146102995780637b0472f0146102ac57806385a68681146102bf57806391d14854146102ea5780639e2c8a5b146102fd57600080fd5b80632f2ff15d116101305780632f2ff15d1461021e5780633029e04d1461023157806336568abe14610244578063565cd0941461025757806362dfb7bb1461026a578063668a0f021461027d57600080fd5b806202069e1461017757806301ffc9a71461018c5780631785f53c146101b45780631b45c18d146101c7578063248a9ca3146101da57806329b09f271461020b575b600080fd5b61018a610185366004611d29565b6103ca565b005b61019f61019a366004611be4565b610540565b60405190151581526020015b60405180910390f35b61018a6101c2366004611b3e565b610577565b61018a6101d5366004611c91565b610585565b6101fd6101e8366004611baa565b60009081526002602052604090206001015490565b6040519081526020016101ab565b6101fd610219366004611bc2565b6109b4565b61018a61022c366004611bc2565b610a11565b6101fd61023f366004611c0c565b610a3c565b61018a610252366004611bc2565b610a6d565b61018a610265366004611baa565b610aeb565b61018a610278366004611c47565b610d40565b6101fd60035481565b61019f610294366004611baa565b61111d565b61018a6102a7366004611b3e565b61114f565b61018a6102ba366004611d08565b61115a565b6101fd6102cd366004611d08565b600560209081526000928352604080842090915290825290205481565b61019f6102f8366004611bc2565b611258565b61018a61030b366004611d08565b611283565b6101fd600081565b6101fd610326366004611bc2565b600160209081526000928352604080842090915290825290205481565b61018a610351366004611bc2565b6113b1565b6101fd610364366004611b58565b6113d7565b61037c610377366004611baa565b61140f565b6040516101ab9493929190611ee3565b60045461039f906001600160a01b031681565b6040516001600160a01b0390911681526020016101ab565b60005461039f906001600160a01b031681565b60006103d68133611506565b6003541561046957600380546000908152600660205260409020908101546002909101546104049190611f12565b85116104695760405162461bcd60e51b815260206004820152602960248201527f6e657720726f756e6473206861766520746f207374617274206166746572206f6044820152686c6420726f756e647360b81b60648201526084015b60405180910390fd5b428510156104c45760405162461bcd60e51b815260206004820152602260248201527f6e657720726f756e64732073686f756c6420626520696e207468652066757475604482015261726560f01b6064820152608401610460565b600380549060006104d483611fe2565b90915550506003805460008181526006602052604090206002810188905591820186905590610504908585611a3f565b506040518181527ff9465e09a9cd4cd6a0d6a75077f9781249102ba59ba6631015ceebee6616e0be9060200160405180910390a1505050505050565b60006001600160e01b03198216637965db0b60e01b148061057157506301ffc9a760e01b6001600160e01b03198316145b92915050565b6105826000826113b1565b50565b8460008111801561059857506003548111155b6105b45760405162461bcd60e51b815260040161046090611e58565b6000818152600660205260409020600381015460029091015442916105d891611f12565b116106215760405162461bcd60e51b815260206004820152601960248201527810d85b89dd081cdd185ad9481bdb881d1a1a5cc81c9bdd5b99603a1b6044820152606401610460565b8382146106705760405162461bcd60e51b815260206004820152601860248201527f556e657175616c20757365727320616e6420616d6f756e7400000000000000006044820152606401610460565b6000805b858110156108b657600087878381811061069e57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906106b39190611b3e565b905060008686848181106106d757634e487b7160e01b600052603260045260246000fd5b905060200201359050600081116107465760405162461bcd60e51b815260206004820152602d60248201527f596f752063616e2774207374616b65206e6f7468696e67206f6e20612073656c60448201526c6563746564206164647265737360981b6064820152608401610460565b6001600160a01b03821661079c5760405162461bcd60e51b815260206004820152601c60248201527f63616e2774207374616b6520746865207a65726f2061646472657373000000006044820152606401610460565b6001600160a01b0382163314156108015760405162461bcd60e51b8152602060048201526024808201527f596f752063616e2774207374616b65206f6e20796f75722061646472657373206044820152636865726560e01b6064820152608401610460565b60008a8152600560205260408120829161081b33866113d7565b815260200190815260200160002060008282546108389190611f12565b9091555061084890508185611f12565b604080518c81523360208201526001600160a01b03851681830152606081018490526001608082015290519195507f178123d39dce6e2b64dc524173d382bbaa21eeb3f2e27ecf9d5ff72e10e6eb03919081900360a00190a1505080806108ae90611fe2565b915050610674565b506000546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b15801561090957600080fd5b505af115801561091d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109419190611b8a565b6109855760405162461bcd60e51b8152602060048201526015602482015274756e61626c6520746f207374616b6520757365727360581b6044820152606401610460565b600087815260066020526040812060010180548392906109a6908490611f12565b909155505050505050505050565b6000826000811180156109c957506003548111155b6109e55760405162461bcd60e51b815260040161046090611e58565b60008481526001602090815260408083206001600160a01b03871684529091529020545b949350505050565b600082815260026020526040902060010154610a2d8133611506565b610a37838361156a565b505050565b600083815260056020526040812081610a5585856113d7565b81526020019081526020016000205490509392505050565b6001600160a01b0381163314610add5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610460565b610ae782826115f0565b5050565b80600081118015610afe57506003548111155b610b1a5760405162461bcd60e51b815260040161046090611e58565b600081815260066020526040902060038101546002909101544291610b3e91611f12565b10610b5b5760405162461bcd60e51b815260040161046090611e86565b600354808310610bb85760405162461bcd60e51b815260206004820152602260248201527f43616e2774206d6967726174652066726f6d20616e2061637469766520726f756044820152611b9960f21b6064820152608401610460565b600083815260016020908152604080832033845290915290205480610c1f5760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f7567682062616c616e636520746f206d6967726174650000006044820152606401610460565b60008481526006602052604081206001018054839290610c40908490611f49565b90915550506000848152600160208181526040808420338552825280842084905585845260069091528220018054839290610c7c908490611f12565b909155505060008281526001602090815260408083203380855292528083208490555160008051602061201483398151915292610cbe92889290918691611ebd565b60405180910390a16000805160206120148339815191528233836001604051610cea9493929190611ebd565b60405180910390a16040805133815260208101839052908101859052606081018390527f98d2b1d29e5031a0e15170f32c6a62e031a004cdaa9ed8273c35d24a6b4256059060800160405180910390a150505050565b82600081118015610d5357506003548111155b610d6f5760405162461bcd60e51b815260040161046090611e58565b600081815260066020526040902060038101546002909101544291610d9391611f12565b10610db05760405162461bcd60e51b815260040161046090611e86565b6000805b8381101561101f57848482818110610ddc57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610df19190611b3e565b6001600160a01b0316610e465760405162461bcd60e51b815260206004820152601e60248201527f63616e277420756e7374616b6520746865207a65726f206164647265737300006044820152606401610460565b33858583818110610e6757634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610e7c9190611b3e565b6001600160a01b03161415610ee25760405162461bcd60e51b815260206004820152602660248201527f596f752063616e277420756e7374616b65206f6e20796f75722061646472657360448201526573206865726560d01b6064820152608401610460565b6000610f1d33878785818110610f0857634e487b7160e01b600052603260045260246000fd5b90506020020160208101906103649190611b3e565b6000888152600560209081526040808320848452909152902054909150801561100a57600088815260056020908152604080832085845290915281208054839290610f69908490611f49565b90915550610f7990508185611f12565b93507f178123d39dce6e2b64dc524173d382bbaa21eeb3f2e27ecf9d5ff72e10e6eb038833898987818110610fbe57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610fd39190611b3e565b604080519384526001600160a01b039283166020850152911690820152606081018390526000608082015260a00160405180910390a15b5050808061101790611fe2565b915050610db4565b5060008581526006602052604081206001018054839290611041908490611f49565b909155505060005460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b15801561109257600080fd5b505af11580156110a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ca9190611b8a565b6111165760405162461bcd60e51b815260206004820152601760248201527f756e61626c6520746f20756e7374616b652075736572730000000000000000006044820152606401610460565b5050505050565b600080600061112b8461140f565b5050915091504282108015610a095750426111468284611f12565b11949350505050565b610582600082610a11565b8160008111801561116d57506003548111155b6111895760405162461bcd60e51b815260040161046090611e58565b6000818152600660205260409020600381015460029091015442916111ad91611f12565b116111f65760405162461bcd60e51b815260206004820152601960248201527810d85b89dd081cdd185ad9481bdb881d1a1a5cc81c9bdd5b99603a1b6044820152606401610460565b6112008383611657565b60008381526006602052604081206001018054849290611221908490611f12565b90915550506040516000805160206120148339815191529061124b90859033908690600190611ebd565b60405180910390a1505050565b60009182526002602090815260408084206001600160a01b0393909316845291905290205460ff1690565b8160008111801561129657506003548111155b6112b25760405162461bcd60e51b815260040161046090611e58565b6000818152600660205260409020600381015460029091015442916112d691611f12565b106112f35760405162461bcd60e51b815260040161046090611e86565b600083815260016020908152604080832033845290915290205482111561135c5760405162461bcd60e51b815260206004820152601e60248201527f4e6f7420656e6f7567682062616c616e636520746f20776974686472617700006044820152606401610460565b6000838152600660205260408120600101805484929061137d908490611f49565b9091555061138d90508383611758565b600080516020612014833981519152833384600060405161124b9493929190611ebd565b6000828152600260205260409020600101546113cd8133611506565b610a3783836115f0565b604080516001600160a01b03938416602080830191909152929093168382015280518084038201815260609093019052815191012090565b600080600060608460008111801561142957506003548111155b6114455760405162461bcd60e51b815260040161046090611e58565b6000868152600660205260409020600281015460038201546001830154835492939192909190819061147690611fa7565b80601f01602080910402602001604051908101604052809291908181526020018280546114a290611fa7565b80156114ef5780601f106114c4576101008083540402835291602001916114ef565b820191906000526020600020905b8154815290600101906020018083116114d257829003601f168201915b505050505090509450945094509450509193509193565b6115108282611258565b610ae757611528816001600160a01b03166014611856565b611533836020611856565b604051602001611544929190611dd0565b60408051601f198184030181529082905262461bcd60e51b825261046091600401611e45565b6115748282611258565b610ae75760008281526002602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115ac3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6115fa8282611258565b15610ae75760008281526002602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b1580156116a957600080fd5b505af11580156116bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e19190611b8a565b6117265760405162461bcd60e51b81526020600482015260166024820152751d5b98589b19481d1bc81cdd185ad948185b5bdd5b9d60521b6044820152606401610460565b60008281526001602090815260408083203384529091528120805483929061174f908490611f12565b90915550505050565b600082815260016020908152604080832033845290915281208054839290611781908490611f49565b909155505060005460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b1580156117d257600080fd5b505af11580156117e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061180a9190611b8a565b610ae75760405162461bcd60e51b815260206004820152601860248201527f756e61626c6520746f20756e7374616b6520616d6f756e7400000000000000006044820152606401610460565b60606000611865836002611f2a565b611870906002611f12565b67ffffffffffffffff81111561189657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156118c0576020820181803683370190505b509050600360fc1b816000815181106118e957634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061192657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600061194a846002611f2a565b611955906001611f12565b90505b60018111156119e9576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061199757634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106119bb57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936119e281611f90565b9050611958565b508315611a385760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610460565b9392505050565b828054611a4b90611fa7565b90600052602060002090601f016020900481019282611a6d5760008555611ab3565b82601f10611a865782800160ff19823516178555611ab3565b82800160010185558215611ab3579182015b82811115611ab3578235825591602001919060010190611a98565b50611abf929150611ac3565b5090565b5b80821115611abf5760008155600101611ac4565b80356001600160a01b0381168114611aef57600080fd5b919050565b60008083601f840112611b05578182fd5b50813567ffffffffffffffff811115611b1c578182fd5b6020830191508360208260051b8501011115611b3757600080fd5b9250929050565b600060208284031215611b4f578081fd5b611a3882611ad8565b60008060408385031215611b6a578081fd5b611b7383611ad8565b9150611b8160208401611ad8565b90509250929050565b600060208284031215611b9b578081fd5b81518015158114611a38578182fd5b600060208284031215611bbb578081fd5b5035919050565b60008060408385031215611bd4578182fd5b82359150611b8160208401611ad8565b600060208284031215611bf5578081fd5b81356001600160e01b031981168114611a38578182fd5b600080600060608486031215611c20578081fd5b83359250611c3060208501611ad8565b9150611c3e60408501611ad8565b90509250925092565b600080600060408486031215611c5b578283fd5b83359250602084013567ffffffffffffffff811115611c78578283fd5b611c8486828701611af4565b9497909650939450505050565b600080600080600060608688031215611ca8578081fd5b85359450602086013567ffffffffffffffff80821115611cc6578283fd5b611cd289838a01611af4565b90965094506040880135915080821115611cea578283fd5b50611cf788828901611af4565b969995985093965092949392505050565b60008060408385031215611d1a578182fd5b50508035926020909101359150565b60008060008060608587031215611d3e578384fd5b8435935060208501359250604085013567ffffffffffffffff80821115611d63578384fd5b818701915087601f830112611d76578384fd5b813581811115611d84578485fd5b886020828501011115611d95578485fd5b95989497505060200194505050565b60008151808452611dbc816020860160208601611f60565b601f01601f19169290920160200192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611e08816017850160208801611f60565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611e39816028840160208801611f60565b01602801949350505050565b602081526000611a386020830184611da4565b602080825260149082015273149bdd5b9908191bd95cc81b9bdd08195e1a5cdd60621b604082015260600190565b6020808252601d908201527f43616e277420756e7374616b6520616e2061637469766520726f756e64000000604082015260600190565b9384526001600160a01b0392909216602084015260408301521515606082015260800190565b848152836020820152826040820152608060608201526000611f086080830184611da4565b9695505050505050565b60008219821115611f2557611f25611ffd565b500190565b6000816000190483118215151615611f4457611f44611ffd565b500290565b600082821015611f5b57611f5b611ffd565b500390565b60005b83811015611f7b578181015183820152602001611f63565b83811115611f8a576000848401525b50505050565b600081611f9f57611f9f611ffd565b506000190190565b600181811c90821680611fbb57607f821691505b60208210811415611fdc57634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415611ff657611ff6611ffd565b5060010190565b634e487b7160e01b600052601160045260246000fdfedcf891885e788b94db6de05809e1c074e1396e919fa3ef010342de9dfbdd8361a26469706673582212204cc70b1bbc8f43b14456e6859b29671b8574b55744b24d2eac1da16a72e845e764736f6c6343000804003303b9049c933f996010699b91e2b35f9530a437beb593c1a3d2ca30936d26e8d76603f6bdb7f505443bc3d1ca6fabe01e949c8e8154210d92df4433b41eab9bec420303f67da473d96e28f42f5678784bce6e5f23fc2d2bf31bb32ba73e9c41266a093503e643a8604b2e14ada1d03dd96985c477a8a601e4647734bb391281c2f65519e003ed2588a3101806c661eec534278a59a5a7a5f60fe6783728d44f5e18fa073f9e0381d1e6a1e2447d8635205d1a59b05823d60565b50267a7e40f0ada416fee3dc70385eb7f5401c43040e527ea44446081f377989a62279c4b24d51712d21ce4b75503df945b48257e673e6e3ec211986b644b437e13227c6c0889fa787d9210534b870374194d4f9c6b35dbc533e0070c40e286bee8ac4e591dcd2997088db831fa6fc80348fb7cb0680bb2175717d1d87ba1e64dbd4a6f2dbc65d432b556606a808985ef0370cc50a5f1b818324b2f24b68a68e4b3ca5e9684be5267cc1d9ad278e328376403c3be45f5d499ad079692fdf4186150b11c7f47b71e824b47b31d863130802cfb00581f02ef9b9a626dbe6ee059cdf5cb66ab4cf33f0af65b3bf4838e51d076ffd228484563918244f4000003b9fd23c65944a9f619e002c2bf33691b6a66dbf05af246111c1dd78f0068b82300581f02e055ffd4244b8f0e710871e1189a93767204e8f512aa88c87a797a5b1529488ac7230489e8000003ba5befaa4af3538a7ea702756c58157598c713da26af64c42e2026bebcb950a900581f02a3f3723e242867742dcb8626240ed4b44eabfd2b86925326f6e05b4f68c0484563918244f40000038527feae84be9ca9651781a65f877577dcbefec64f9c9d64f9cf6291f6c23cb600581f023ebd78c913fe58612b16fd18d57b4f0826c5ab8163fe2f2cf02ac5d91bb8486f05b59d3b20000000581f03cb520077d94a81a680ea07fc30f78b5d94fd119e36a13af37665ff698b60486e9405c8a250000000581f0377344ca8b0d6e4c3a63bdabe93345f4326864dde067f2bf413e546bef840488ac7230489e8000000581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054de30da39c46104798bb5aa3fe8b9e0e1f348163f0219401200581f02008d2bec0976c4ebeabaa02f8c8daf5fb8eb0a82a33aeb219cf0ff381b55484563918244f4000000581f02650f69de674a152972521b2f992b136e2cf5acb6fb43948af0057b7a84714901158e460913d000000219f0ef031dd0c13b3136721a9e95bd013bccb414016cfdf7c8e399a75126c393aee4b5f0038b3c19917f29c87699e4b8d7db1d30c6fffd56e695856668e79b779379e63d4f030ac97694fb02655658036d6134a9af70acb16c99fe7743b6fc1e6dde12012bcd03d17ade05b12d59d6ac182202c8c1a6d97781d5a59b52ce29ed2f1e474e0f96ad03fe8a1a7e2c3f6d639ac3817f3d31236e5e186f9200275cb6e657e611f6b9f0f3037d94d102fa98f791cf66ee57b1058785f69089e43d6eeb785bea865c1a978b9403beb459d09be6fd50f704674d59cbb159338270e010fe63f09209078c275ec9d103a999da5c0b082d97cfb73dce4bf97ccde6b54e5781c6a57015382e2810b2f888034e23e09b5291a728c25b46661e27d24a93283f0b1567b945db454604fb5a6d1503d5912e1d07027c4c502b0b124983006af6636fb621d48b18a0bc7390b8e072e10382d0ceb5f93731f299dbd8f945ad1744c06bbfec73b7dc9685b179045c288705033f8e2de12c6282918b214605c9b947f4a956e5dd880d5a3aaed726f65013863103f25d435e73b9a39d351331e5790dd31a7abd55d4179f5f7ffa0ab88764a0766b03b503a89d24abd015ca1fa0b195facf95b7c1bdd8b9396fd873daeac53c258245039f822bf9f5f6c6455fa47de95837d0e050dc9c02e947c6af8c0a6e44dedd7cf50219ffff03519d7a437874f7bf764c3ef79256653f48fccb8f562132bac183b39dac9556e5032ed823eaa1cdcb6bedace808cee13a6e71cdece6af5eca3bb0c2587531f0e12d03b67a94ec91530f3c82b4a5dcadcecf35b4f52560c8e54eef4cf5f7e918154204037c058ef4139e3b0439874ddb5945d134b74c0298d64152aa0027af6f291af37e033c4f566a6da98afa0c0862167c20fc4868f13976f612aa8ca3761e0d9129eab2036aefb0ccdc7f0fe80e9266c7554e696ffe22f72d7c204490a3aa75849b705c95033a3c19c818051e559d59d6f8af58a17abbeac07f45b731da44fb30a9767e4d6603f1eff5a5dbe4a3eca68b6f2891cc2c61cb7ee4f18081f020eba60601eb61282403db04084ae3093d849a8a110fa5a67b0b80feecdadc19dbd3992979793d2a68a00382aaeb65ce55dca450d53e2c5d542d3dba23f1e402c4afbd56540a2663d066b5038fde3f4d3c23a53f2cb5f4458785910d16ef0eeaa3e8db11ce2c07c099e2e70a03171fed7a01edd500a0cb023bc9c12fac6f133ed629593716848b2996acb05b5d03a13ddb52d9d665ffe7d767318cffa04f1a0b43861cdeeb98ccdd4a19a3f4f9bb03639d21181d9bff412f8e4022a1f41c4e8aecc5f484250a018bf8f1d45b99f404030b688b9b13d95e5a04ae762174ab9e0b4fc454a3e869c714873da9110d355ca7032f5aa9613199be4962d17d777b0afc81c5ccdcc54501b8c76d95fbecf1c816af034da632d8858836f913ea13dd6abaada5d1f3b9d0ff4885e7dfb33111c347b6de00581f02f62f3c747f2eee991dcb52a7f2b3094a63d49d0a104544af921612062674484563918244f4000000581f02ce325515121417c93f9d1777c46abf59bd8b3e2a62d6460f944424a0ded249051f7371514a6a000000581f02f43a33260e9ad187b58c125ee07a2e814aec271574417cd5477d724ff3c64846c6d6faa27e000000581f021a6d3163e685fd1bd154a9228a64ab5e5c2fd3c392bff66a2dc84ad7d5334901236efcbcbb34000003fee0059685bd796a477871612d9a87a31a4eb7eb870c108a689aa08bec773ead00581f02e4a3a60f514fde5dba76ce9ef50db37027f2e37499fb620cdc908dfff9934901158e460913d0000000581f0292eca041bc3d5091d8e998bdb39b92d2ef91e3b750a1415a95e17404aac04901236efcbcbb34000000581f02292741427fb3fb61b62d593ddc861af9a8d05a345fa52108959899bbbe20488ac7230489e8000000581f0277238a86005e79d1abb468f1f01a28f2f495e8abcbdb4c0017c711e1459d484563918244f400000219badd030a8eafe2ab3a3cfc25b6b4b895f0dd4c83c51d769a5642afaee4fe13728629680219ffff0373bd76aacdb7ea0287f09a44b01307192de99244f82be6c2096bbdc2065da96103e7f48d11237d4abc3e0cf73295d302a55b78a92c405877ec5e5a4fc9729869070319c5e983b5d79efe5ccb35b784cee4a61b09104dbb50b86cc2e407152e1a0836031a559e0119d5ee90252e134359460b8c14f29559cc8877e14434cc2b1f5f62c10219ffff030e730d12c46b2266261d1362c9249c8e1909e4a0aecd3fcc466b093fe91a99fa03bcfd4067201f557c99448c6b76b9ea70d0e60835b3d8d737b136a1bbe15945830387b27e816b54cee743d4d7e23035908aa24701758a5f4594a99e6faa11bb2b9e0346a10d273552629533fc9798f3ff8cfaacc5187229378cd6018b8fab21380b7503068256d6b4d5dd164ad77f486d747ab831a0bf34da3c58f41fa636816d1df66003d356f2903fe8b98d399eeba44ca266f078bc549cd398810b7786d53330a2f49d03a0eb8d8ee93a636464893c226a3496bef8df64ea5e38d5232e4b581a3a721cf700581f034b6044afe9457d6a5e1bb20cff11ed0b90b1cad59d34e2ef3539e75c4da0490176b344f2a78c000000581f03efeb776909132826214be123da2c069b9ab21d82e86ff86f18f48f89829048469fc2898df6800000581f03020e20fe58aa5af27c836b28c1f892e10c74103d6ce8c15ebcfc5e1ec180484563918244f4000000581f03d3fe5e3427c96b9ec571f57bae61f5045df576715e6ad5c2e47454a4090044647e1f800219214100581f027959afca908ad4d8ce0815295aed817b24e7d896e38cd44b159cd0b0dea04853a0a712a881000000581f0289ebdef49409162ff0087b1ff8db6697c13bcb181fb283809ac212d79ba548a688906bd8b00000030e6b6047d01dc53262ce5af6bbaf2664d563e365d1cc50040e4accc891337933034a28aaf8b53e258b15f6a2aaa7af2996497781a9a09565a9078e4488fd6ebe3503e8a684ad3f3a7a0a67218b24af3ff395591b6b7ab3cea3c5d0cf8d70602e5b5f00581f027f450cdb314b687f52bc349ab6d7ee0f524df101baf48006de08f6d41796486124fee993bc000003f64d56781853c97ca280f0646bd0c5680d8696f8661e8804d28258dd7f1dbbc700581f0231404a92d562b1d1c3d48deb80097c31a7ba91e5c1d4310463dc8fc1969d4898a7d9b8314c000003c0409ef1503faf45fc2367c27e06edae9454721b2e6d7561e5299538053abd980219bfc7036bf828bb773d9b5e89b50f1c2c64a7f1475ebb5ec7e9ed6ac7fa35dbd275dc6d030b94b30338d7718e0bab9b5ad00e972c6ddd2e7718ca364dc88f59015f2dc2310382101ce52963b87e3c81f42a10c7f6025f9854010aa24cfb38d460bf036ebe3b03e83efec70d83580341d66f653d6624ea5b25f9e0d7851865a51f1c4da66d98e8039bd8ecedb9d3740f33311854513bf0a5727638277c1ab60c14c75bae95cc23ed03e4c2df86571b9b986db6d268c71aa10d07814c43923519e65aae465d9d01022703fec7f1eccfc8102ef207e41f8c05b47ad4314f9ef8d8961bb94a01d551c88a0c03253283e5b85ffc6bb6f70ce0fd5dd08c62404bc53a54ed834f9d8ef70f90450403492234e980514d4ea089117ef4be0de9d49ae4ec6573260b5bab58f3d95d588403704bbdd52ca01cd2193bf413abf2234290b1e1abff812ae6b5d76b5927eca5a6032b627453c1c0a91314e78fcd1b8dbf681fccaa3744b4dfac2c753763e5ab182b03598ceeaa774bd742744c4be1fae7e65efc5ceb9fc71102b31131f6577b011cc503d13b48b2e08f42d622bf2b83e44b9d31ea137881df8b2ac6dfd8bd395676fedf0302926d7bf9fe84625305ac2d3940725a22c8a29d36d1143b5219ca03d75ba55c0219ffff03247e89d1e35c99c6576807d547443fcfc2918887bb642251b434cf8cfeffe85e03426b34c2a71ca1cb422502464bbe493ae44c56fe8e606f7fc48c2b8b108496bd03c991e6dd0ff3b30f603990a9c39d792c21e46058e6840ec4b73a624600c8c9f403252876d38a47073c238f506457226eb0d8695d49e058d34f00462f79361f0f66034ba4ea0b1be7cbc9bffa32f1ca93bcea7f023402084624ff9df231fe739fecc503295e3ccc0ca84c7f8b12046946a3d14eff8047ab37d1438643433b2012ae3662038be13467c3111a45712286397a5c31ddc43581f74b0da8431285344b0c04ac9e0377dac7067465ad4dcb6ae9aacc41fe3bc01275155bd3c2a9d9f43745f28b583f031da6252a5190ab1998a6be2c277ffe48cf90e46f0728ba69c6a89353064af81903db6d17fb7b8062fb6c80b0a761daf4d15bde4c219365dcea7042f4201187096503c728db52c4d932e9006476d78d6a694e5d059c98c4e21f8b62657ebabe6330b800581f021324c9840181a75cd0328aef825c2d1c39ff5cf6cf8719a97cc98a2520df488ac7230489e8000000581f0218ed0beae8c0b32092ff2a3522936a31246098af588597d8235c7695074748d02ab486cedc000003b5bfec237e2d85eeea116d061d66a110c1954ff4e3f1c57d914bb5233bfbc85600581f03299ca52c12b1d83572f59016ab426eefe84c8aca873d5cb81d6166aef9e04a536d1dfeef727f0119a400581f034cecd883f39d6e8bf3c2b71cf5ac8543459299e56e46ab0faffb07de39f0484563918244f4000000581f039a51cebfcfd52e2a0f452c294e2fde21ef3a3a02419f8654df69bcf669804906c6b935b8bbd400000219040900581f0213a115532c34b115657f3c3e61a8748c6b9e41a91aa689ec1304d78f607e484c53ecdc18a6000000581f021f3d9d1089fde4c24663ee01d72ee8bb0c5cbae34fd599f085a165507ef24901158e460913d0000000581f020a1ee94b390750c27feef7a2b7d1119a96486e1c5aaee88a53b21e360d8a484563918244f40000039832429fd7abf3680308d3094abc2f349c1a006bb3baa5bc7dc383865960b4210381fc098754928a0c0145dc0896a2cb280d927128c4098dce0b2dbf41c8ad8c9200581f026352263e1acb016f91137d97c80754c796ee899fd0234d2c01a1a04eb43d49011de1e6db450c000000581f02c3a7d53a11a0f888610e29f54a803183a98c93b83058e27c17738397e927484563918244f40000039bf53b3a4982f9c7d673177d483cf374bf985cd4be06b7b343d6b5c26801926800581f028dd7275fef5edf1b92cb498276c1781f66aa62757e7f8ca2d9319c2d0084484563918244f400000219ffdf03deb85d94f77b130caf5e563cb013328c6d7741f8807a2252058a73f016c5f6580390aa37cc9aa3b27d59d2691c9d31e1c91c57900d477f52500f80869a230695720362db77c30ee3bd8f486edcacd27f3f000294be295794a1a8b733637d0fc6c9d7037aa95127f8bb48ff6a2396424b696896b3a152fa39571f2f11572c5d753ddaf403c06bbef9aab1f2368953c41bce1d50a79b87a198935ace000fd1c6ecb67bd99f035335e4a1661b0e6a588437d82fe920de87f0a99973497bcdb1a29a45d1052e3c0219ffff035f0ab14cc10e3b47f08244c010f3dbdd706405d4887474cd058f82b828146c3203af1b0c226ea8454b2c465eeae16d7c73a49ca1189b35d35d26d4be404fe8d886036e431f889ddb2cac3974352f92ab0fd9b8090f63e4df532398a46ba5bbd999fa039add95b6ce6a7d0f532c09fd29635c0c9c93956d799a485d6e7b7eb3885431680390619a9c68f02c7855a37f92f6115db31e8dabbca7001d510f82eabd32dd02a503b7554808f61e8271e296021f4dc878ba73b99f9f87d6d6bd0284fae84c37c3f70318aff71604cf5fa157f6a97642d591d089a1f40573993fd6ff094e5478d7e0f703a86ab18a072f32e5a5d49f2d019aacb04e3cf3e6135f24482b432eae34f2189c03e1034bf3aa103c026121c9199c94bbc116df79fad6760b1cc2729aec3e15827c03ea2f8e1b599522621714531e374349c180df53912b38fce89557b279481b0ffe0332c79edad1081989e50ffb54495c800c530413501276bc7bfb8504bd74dac4ff03db3debcd7e400dbaf101600fa16d1f3b4e0fe97fd38c169f0ce4818ee3be2a6b0219ffff03b7f06a902d77acfe9d5ddf5a985d6f4744b14d9a9bedcfd853d50c913053307e03bc3f260703159919e1182bc15043779bc441c33fac92766be6f53fb277b3e5bb03a744dccc0590c5e569c649b39faa8b738b47b66854a0b8cbacb62e61dc9c1efc03af73caeda7dcff0f7134964f41c7e650c62f5e727f06bc3e8a6c95f114405d5503db923b2842e8afbb0d61b95c8aad8403af9e9593fff97c70c50eaa5d8c9470b603d854525ace29d16d96a4dc3580e48ad536dd4a2d2b83abb5d563bfc0132d835c03cd6d0000ff3a01be7dab6dfd6e03e5566c5e89b0cd9fb132f4b086ae18defe3800581f02add83860c4cea3c4c4b259dda63f858d5caa85052b1d284d8faa19620cdc484563918244f400000335ff3508e6db2d80f2cafca0d37e25094075fceeb778c3e4d0fdde58e03c1d3d0346278c6e9bb0b383e7f2d4dbe6040581433c32bbc0555b58360236487a5300e703a03d1548fbccf38e3279b30a97da3936a301e06eeb11a68c732e5847570a48ff00581f0355b5df491f9ed8eec4274f2047facff9925312ca5e4e448f895e36851b704906c6b935b8bbd4000000581f035425748c10e50f148c5ce1da7b8a582e560dd93bc2f5b7cf9bf5ff24a770437309ff021910200316afecd64bcc025075898085bafa20a70b42e7f370a3bcf2d77a3f32323e241800581f02e696b957b724bc4f6a61ad5572e1e04754b4908f733caacc23065eb95330484563918244f4000000581f0224784ff00dbf6a91c3ce18b80ec684bad67eaef4b4566340b30070f15624488ac7230489e8000003bc1fcd677628eeb41caa053fd0861cef78f563989652dae99d093edc53525875030a64f38816e167f7663d3766e938e3e38b032a63474f8f86b24b838346e92c9e00581f02cc9bf9cf873db7d23fae71ea8c6a79355716c35e5bf37c1c6dcb9c176f704845ce26599437000000581f0206d3502be10f53738a5ebc8bf9a78796e27ecbab5f5529b05abf0303f37c484563918244f400000311ba6fff6637cc9de9c0545909324ec8f27e2ed1038db1863d2ec19e5e5ff8320219ffe703d815283728af6dec48220612e433c35a17857f53c17614785813b9891485c331036314971cc45d607269c8a127fac2b30b246f95b9020d05f6c787f2984de9081a03db739a18cbffa6bf6bc9da145e4b7e9f7310dc41d568edc3fdfe55f97d97f71d03fcddc95004a518ceb6287f592d5c83a4bbdc95854ac899844eb92cc1ea5d7fae03da9d46f4a3b75e6e0ec89f3998d066bc2b4e74fbfb5f193f82e5381e0223ad91037cba233509e2292370593ce80a85c7ad399d61a42eac15a43326370930bc06d8034d94eacf54d3bb4350c25525549074fd5ef7ba15438be01bf67a19e460747459038b05a4328d22d2477166f4ccfbd6ddfcb6cdbf20e52813443c9b0fbf96a1e0ef03d249d35f42e858e7aea946e3671d9bb85a9b344e2e8064d419b57316eebfdfde0373c48f79aae515af19216110ffd9a7aa441b84e79c78222249a006a1591c61ae03fe5eb4b9a2994f63c266e9ac8eee0e85afbad5d8c835c710db1da83df4762df003168eaaf2c12ce03c6f063f364a29e89c48e20cf16cae2c538b7613bd33c7e20a03cb908535cd730ede8f46271f40e67bd08e92e4b3019dd2e9aa276e932bad181a0369f7ec12b957844288f10152535248a6fbfa57b3264d6acefa86c42a4577c9ed0219ffff03191ed341e084c782981d4b4eca48c3cd007ebd7f7be91fbbf299cfeb5653273603514148e64ef4b0fcd406de88754cb0f87278970ca6585258c18613df08db65440320249671fe79a9d6d6d92f488ead29266251a40b16d936e7dc479d79d3c2f0880359a1fcd5e873b4318069439d8cab0c5714daf7f11fdd5a0322a307a926b21273036f76057047bbeb07aaab1a33fbe947edf95d86f98097d376d0056a0d63d23199032cb93aa4e10c99ad3fc531c4d57b331acb24bbd26fd041eea46de2ba24a8126103390f5e18979490b4339203d3dc45fbf330d98dd27cbf8b721ec632a0fed6fd13034709c41e0505a45dc3b9fd70a09d65ae592eb7c3a5db3c05fbda14169dbe5a8e03526a8ccd1228abdf8b6588b129a5b3e4f6c1f6293b0712637850052dfe0a6ac1037343570f53438cfa65bde61293acdc8c139687a33979c0c56aa4005b00fd4ecc03fd9a26b6e31ede731ffe460e0114b73ccd8ed99a837ebfe75f1b469311cf8e7a0318b713ce157e9fda6212eaba28b8b3754d4885cb7827289753a1f3d3723968420219ffff0305549c3096843ed091dceaf2f7909a2ad816c33f05d49896ce009a2eb16733a70399756778ae61d62617ee4e270ba8c64bcd362b73d303bbbce8c7f5b879c4dc73036fa3ef3385cd514ca03b242a77380a520c21530d9a00cb48a82ae15be37037c003a23a0262b394809c507992f52b58a3ffa80a4225e0fd545aa9bd72b2904dcbee03aea34e1151eb5854e34ec9406b761f8d4767ff6c18986eba4147e7ff50326c5e03ebb2a2323cbfb9df1508220228e77725a618598bf49dfb74431db1daf47a826903e00438624be7a876d4711f1483b78c5673c2bdaee96626d1d2374dfe7346b8770323adb4b095ea7688c5c0fbff19a0496f041feb878956dd745d4f98ee815d91af03e3d074ea2140ea33424b06d50c3d820433d3439e142733efd1d954cafb5a7782038622885e67948862eff8872662a6bcf1160164e25be0c93c8530b41af3ff21b300581f022ac52ee99ec9846f491b4c26b2bf089562c010ef146e8dec0ed3064bd62b488ac7230489e800000319a3a3b10359a29c37116a54a5b9d661e8e436ef34f1d0afc80a8a08507194b40315f7c1954f59608d88ce2620a8634a2f94e37bea4de0ec03b13fbaf0409b19ba00581f0244f8634716a0743abde50bcbcd49ce4965125b6519b4da7a18f7af004476484563918244f4000003a3534fee82b66f373d1e5ee209881df3fff621dc6616bea224c212a5921561bc03b9352f475b4ed47ae41187050284901819b5836aa631354d61ec7cad2cf460f00368f9939f51a913c2c87a8239f10eb5403f9f9435d5d4614a87d6863b648a68ca00581f037bb11e4a2900258d68fe4cc51506dac6c6a4e61c5cfaf2de9c80667e32f0484563918244f4000000581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0410602182200581f02f4bdd37649f9e82daae4beba6111613d3dfb58a4f994c25c59a44eeba8554898a7d9b8314c0000039ffd1cf2e22114b5232bd6ac01378cda4969535b9e5825beab92b1e460bd3e0100581f02b1243e390564d64f3674f822b6d8f1d2f5bd84aa43d7e58818bafe3867dd49015af1d78b58c4000000581f02ee93562ae43de89660178b4487c753099d97aa4b22fec2a4497e1640d9da4901158e460913d0000000581f0262374e369583f73fb499b3551d2ac0421a7d38cde9d8e9e75368a55df373484563918244f40000034c3f1cbb3bab20478d04b911e0430846225333c1231378a8e142f6287127e3150219bdff031ec4d9a8ee7cf3ded008f1175bc6708a2e63f90260c9092e95792a50d089bc860336bfbe66f16a68232cfbbf170a97c9919650a21aeb3859f86d173a5b05253be103d3916823d6f415013ee9d2c112d952b0f599aada9785964ce92033124217309c03a0d8b80079f1ea265750ad0fe8e694c19b40bb77cd3506469cc86a9ecadc9cdc0310f1d5d6bfe7a9875406577afe8cd183d7ed380f0aeec3c81d3e99c70f20d1e403c524ec047ed060a088d26a4fb638084477560874a6ef5520eb35666d9d3a816303aea6c37b26adad96611732aa8086aeb00e633194bf517146f7b03d2acd5a628803de2d08e5a1c93a930a397bc5f8013fc62d59c0cae05fea80b9cd2f123ed45629039b66e039c34b2ed515adc4844e3f02fc48879cdce349c8b8c403ac80a1d5079d03ce810f9ddd78ba676f503728b78397de46ac5c1c8086a33172d972b8776e82830219ffff0376993ca6e71b1aab6b8db60e4a68a563e37d4230e6cd98ef8c8b9c28a19f435a03a6e6a720b48271516e9f56b5ca0a2bfb82ba8f5c08a503280bddf892e05c724703a7f1f551f2ae20235725a354dc44f81f410dc0490b3961b503a793423bb0b55b0349aa7a5e017e05235f484970746b7da9b7c17e362fca1765fb1ce2ac50b2fd450396eff73217caef483df4486bed5f26d2de4eeeac9b64c71ece5fc509dcb7099b036d1234ebd46c899227aa3e1377e96a25a87a6b2b707aa92608f594b3c38bcf7d0346e689cb6dd0a1c8c8574921e1d074fb0a48224accc8beba701f2d54ba8a57c703f4b72adf25133467b7a2cec3db37770336062354d3c43e5551128257485117450331c779e10548ee18b0da676910dcd40a69d0957c9ce1cff7541a2dc14dbb1bce035970b1e3b01f08d5b41913d0470e0028d460ae1e1dd10b44e2ce2a2c9ad58f6a030f7406a395f67e90a8d846a9052baa951d3d031d3c0fd0c2c546a428a5844de503cf273b123213fdd90c6f0d3015ec9c6e53327db84a40f253c968731bc38d1fa603fae36d4ee474ad385310a9bc3437577c59a608957d2585a06e7aa7640e09e5210219ffff037544c49c9f19aa0116d6f0eb20324fa9643172f02dcb01bdb650ae111732078e031e4e2053c5f1bad6529638185e4ff5253a5a5556f113e4a38b6d11275ba3986503ef03b5fc0ebc8e10c8dc34077ab04e9c1b8940f8908abb3fc940daa74d78b5820219ffff05581d02c767d821fbccdf9bf190971a4dca447b7c9832ed9d47c1c2aa76ff47070119206905581d027abb1efd601ff395210ecdc72ff3c096825f94c78f2bca15cc0267160c0146379e46409cc00219100405581e038d47a62a3886bf37f8dd7ad78c639a9f0e36fd3fb50381dd1145a06d500c024635bf4515b023032315cecff1ee3901cbcdd9760c160f4c670e52a38a8523b3d58542efd90c9969014105033e8669f11b340e95d7dd82208a8802f4f246ba91e62bcc08ab356d3ea2479aff05581e03ae4a9517b05adda65cf5d0b567d6d35371b07ca2236ac222731c85f4900c014745dd65d7518e8805581e0349a201f69592dc7cb20ec19f13c17582b127be1ae43a38298313d2ec200848010da7bd4006a00003b5a1c98a9b6588b95dfb25489432a8142b61eeba5bad945ccb78924bbb4a112a034bc4871a65f990ada3158fb72d8e44901dff8f819301ef82c13c7c127e02504f0343fe8bd301619f9e490423c8b9b686e46cbd34b402451a76307738c9208219510219eaa6039ed1f2682ee8949b060eb6d8dcda4ce3f98e9f7954aaa31b6d13f3fdb1fd7aaf03299ad7d0e85c9bfe5235bd0c897ad58412393a5d158c104c69d039c2e0d1207303de9407e4d1a03fc4944f22afb00087342c9948625fb6914fbaf010631babb05803f3899b32d88863a805cf1c3832d4b791f47ec0e9abac27523577a52c2a0c3076032ff286b7e330f9322abc044d2068b476cec72f8fff3a0bbfcf0814fc20c8934c03727ad930c7a76f1df5b5e3313b90f484c8f4d6d0be4ea25222dcccdaf7e5aff30382b8126ca106bf223b1af6548fb93b19634e81b1e73daba4046e8adef98aeb2f03e9b82490ef5b552318ea7028291c3da8068a3062a1765a219a2a5bb1f092d195039a371d230b5e56994350e124aa8b69aa33e98d7ad3b36e28c3948d557bb8e208032beba160069b542f7c3c3397af83cd841d5f10cd96cc80e305941b73fa51eb4a033351526cbed21beaaa2f101c4fd0318a8682974d6252cbea84c939d0c8d8dbcc039e0ee5e438ee2f497204a4b014e8c1edaf3b757af2c3dee311744af02b86faf2030351f1faf5dcd74c538a7a78ac43aa8cc7793f664d79148b9c6a5cf3c9b47343033caa05126e0da909d0f7c7c2122d52e99d0def59d384f20932df3d640cb066c203d660d15993c563562f98ea40d33b1cba1772f15480f3e5b45c135af8a7c170450219ffff0219ffff03744be8c742934cdfec74b0a89a733da4829f84be533b7631987ebd076e95a27f0356526421beebe5dc45f5bbdbe8279587ae2099fd0a28978bce813eb764efa87b0355f1db123d996585318678ef4854f7e1378705a98fd95cd08f5363cf6f373d4103057a53fa0b3b74443526b5f40f5db0f998dc8748b2925cab247cf78c2fda5960039b8d6f455c5cbd58d2066d7ecc39744a766a9ac4e7d4b4f05dc0f2c7f9bb71990346161b11c96bf271c714fa08397e8fdc4cf886988be022ef04612cce1baa112a03c04d05d114bdfd2d2b24020bf237f884de977d6943803d1b33ec6f1228757dbd03c2b26419b7e1bd8aab8d743f1c4e6f2780d71a91b49b1f3c57337ca26da24998039b632f093a15c5214862db11f8dfdc5c9fbc80052a45790ab993675c3544f4d80359aa99b52cef4609adf9724512ca21472897cee4a1ccd77089a9e26c88a17eb5031dc40a683d486ecbb1be045497e1bce2ae254d97b49baa9018fdd40895ab3ec00219ffff03f923b1f05b9fea8cecb24bd00f9625290ae9d9d4bd66f1f0bbaad918f7fe27cc033536ba0becb73a9ff472f46c654a6b512a1dce19a17c6be52793342cf56e25f2036aa4d2e996eed194e917cbd15128e40ef3c8c41c2fc9ab0ec7524f58c134ae690367e5097555c8efe21a9e23004cb992dd3e88fdf8be008254ff7f7c369f7dfdc3033de20e5801a4b7d7566d9199488243f5b4358f83b4e79543f8ea3233d930cf6403369c5721482ce5f6bd76945c619b52da6779b67e6af61da907d48810ba3345ad03bfe5c9252064a189b1b01b918a15a1a462a422567e99ed6dcc20af6ecee623f60219ffff03ae562c3e75a6a801ce68a26b58569925b06238db6379778b8247425b1fe1150c03e863e456fbb295db9d33dd7740f7dc83c3977062f6e98f6e3eabce978db044960326e473291eb418b8ab256b158499ef7037f0303bb12e4b9161ef3850626565260341f444e47ab91e98586235af7106299c2cab0e5fda1b3bd207f3295a8cbb4e3203a6d7278b8c17819f228eb1cb64a8b3835f81dc3769165f79e1e5c8c136f3ca6c03762ce46108b0737bef5be6e63b7d7bc52f43437c93699218fef2681ad305d147031de167750cb2438e5efc068bfba0717159c8bcef32d5401bb4dc4f0b22bb6d2903ad0a3bb58486bfab0f0d54b663cb65fc3411202acc7f3dc728f5135c429fa14d038eb9c140c635cf92563baccd0e4ba9b84fec0c2662f969b544d7b9b100d333420319c881d5551b1b70e43e5ae135228d1bd5751898ce65e534d1cc618d75705274036bfa6982d819b5e0a605819bd6b454e99771ffc8f56c80bc4bd46b517e4b2e40034486287a277033d2f5457c7acdba060779583b6651e271008c8ea02f0657051b03009d6589431ac1b34c56cc8ab990a60a2db1ab3fc277a57789149be80f51112303b5ae1dd59f9168f34930f0e9467dc804816d080705697babce3d78ac8c19413603ea515d76c4051a5fd7a0ace40037c18aee49e022fc112beba6a56b8f95ed09e40301c8456644edb9bd5a2b866689ddafe5778b809c877b55d1ee75af20595d6680034c45503cec0db95a7cac5082bd54f1da19ccfb6f2cfb4c15d231471551336e850368945060aa156a302b55d71548af84c46be01740c558ba10f62ca36bfb248e35039a956632d0c485fc123e19c575ca4861e00717bff5c4dda6b7a0d581d864f425033729e84baf926183c1488b165ca8c010e0864ff00ad275e2bba486dfcb82b7f603a21b568b1a631656644829311b95fd0df9440923d59aec075d157e6f4d0720090359ba3daa6f32bd3726e0e58df2572ccf23b24a8239a32bde793e39785e59df7a030ffdfac0748913c47ca835ac88d2970e23e361afdd529f76efe1dc54f4cd45fd037066e80e9bb8125b179bd83ab8b7cf7ac0a0954c4b197eea3bd2d065038b0f4403af3b6d27d8e0c62ede9d250cc11634333cad96afcfec28eab33d49ae198303ef03faaa8c6f45e1e3f83ede7f4977435a55391304828bc67a5db9d9fc07dcd4300103b832758d73b73981921cdffec71baa9c356178ede770292e6501957273c7faf603c88eeac905a0a4b286e108792b0d152cd38859791d10e7ff8a01f3a5fa488bac033d5d6b9a42173deb875f12a7aca1cc41227abbb814ffe1116efc8cdd72fb677c03195acbc7519819944665684b580432b6f3504d242f7de1c2dc15a06f62434d8d038f61b07491834fdbab29a808112ca868cafe8e7ce9cf05dbdc211684f4d19bfb03b06efa38b7103b3b3c057502b5a8372e3b13a57fd04b0660abbcb92a1bf26b6d036af6202c9ec24dbcc344c7a9d04f31010dcb1505d8838fd8477f1c195dcbee9203d7215e6498bdfd38a405267f9f5288252c9d7566a3b20df9b183a13ad0e58974030c5312ea2c61e3ad8156b893d5734d50e28443e95ecde02de7699c2145595e1605581e0389de316c3df5f3195f97d22c5117df87b4ae53acb74889b7acbad3f0300c0247014370f5d00dc503191d86cefe4df49726191151609854d2f0fe77c8b7fd2430f7c054f2b3a3856e035674e1a4687e6c442e17f73c19b00c5a9b5d2427f3a35f2eaa2b4b8aa4b610570380066be4d48246ff27cd672217691958f442547dd195be32ef34238fa961381a05581e03dc85cdde2c9fa14e78cb989ffc25778649f07b513db6bbdcea355d6f4007011bffffffffffffffff05581e03ba25bdac0c3bb4c3c8fdac0eae07566be5d7a520668706c1c2929996500c02470130963e31fa2805581e03aea7f97cdb1b824eabfe74cf0b0edfe4bf59598b3f250d1d43a4fafbe00c01470223462b9fd80003384721b2f1c412cb9956deda579ae847ff0b10bc7476599147ffc750aadac09304591787606060405236156101855763ffffffff60e060020a60003504166302f652a3811461018a57806305d2035b146101aa57806306fdde03146101cb578063095ea7b31461025857806318160ddd1461028857806323b872dd146102a757806329ff4f53146102dd578063313ce567146102f857806340c10f191461031757806342966c681461033557806342c1867b14610347578063432146751461037457806345977d03146103945780634eee966f146103a65780635de4ccb0146104385780635f412d4f14610461578063600440cb1461047057806370a08231146104995780638444b391146104c4578063867c2857146104f25780638da5cb5b1461051f57806395d89b411461054857806396132521146105d55780639738968c146105f6578063a9059cbb14610617578063c752ff6214610647578063d1f276d314610666578063d7e7088a1461068f578063dd62ed3e146106aa578063eefa597b146106db578063f2fde38b146106fc578063fccc281314610717578063ffeb7d7514610740575b610000565b34610000576101a8600160a060020a0360043516602435151561075b565b005b34610000576101b76107bc565b604080519115158252519081900360200190f35b34610000576101d86107c5565b60408051602080825283518183015283519192839290830191850190808383821561021e575b80518252602083111561021e57601f1990920191602091820191016101fe565b505050905090810190601f16801561024a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576101b7600160a060020a0360043516602435610853565b604080519115158252519081900360200190f35b34610000576102956108f9565b60408051918252519081900360200190f35b34610000576101b7600160a060020a03600435811690602435166044356108ff565b604080519115158252519081900360200190f35b34610000576101a8600160a060020a0360043516610956565b005b34610000576102956109ad565b60408051918252519081900360200190f35b34610000576101a8600160a060020a03600435166024356109b3565b005b34610000576101a8600435610b50565b005b34610000576101b7600160a060020a0360043516610be7565b604080519115158252519081900360200190f35b34610000576101a8600160a060020a03600435166024351515610bfc565b005b34610000576101a8600435610c8e565b005b34610000576101a8600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f89358b01803591820183900483028401830190945280835297999881019791965091820194509250829150840183828082843750949650610ded95505050505050565b005b3461000057610445611070565b60408051600160a060020a039092168252519081900360200190f35b34610000576101a861107f565b005b34610000576104456110b3565b60408051600160a060020a039092168252519081900360200190f35b3461000057610295600160a060020a03600435166110c2565b60408051918252519081900360200190f35b34610000576104d16110e1565b6040518082600481116100005760ff16815260200191505060405180910390f35b34610000576101b7600160a060020a036004351661112e565b604080519115158252519081900360200190f35b3461000057610445611143565b60408051600160a060020a039092168252519081900360200190f35b34610000576101d8611152565b60408051602080825283518183015283519192839290830191850190808383821561021e575b80518252602083111561021e57601f1990920191602091820191016101fe565b505050905090810190601f16801561024a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576101b76111e0565b604080519115158252519081900360200190f35b34610000576101b76111f0565b604080519115158252519081900360200190f35b34610000576101b7600160a060020a0360043516602435611216565b604080519115158252519081900360200190f35b346100005761029561126b565b60408051918252519081900360200190f35b3461000057610445611271565b60408051600160a060020a039092168252519081900360200190f35b34610000576101a8600160a060020a0360043516611280565b005b3461000057610295600160a060020a0360043581169060243516611438565b60408051918252519081900360200190f35b34610000576101b7611465565b604080519115158252519081900360200190f35b34610000576101a8600160a060020a036004351661146b565b005b34610000576104456114b6565b60408051600160a060020a039092168252519081900360200190f35b34610000576101a8600160a060020a03600435166114bb565b005b60035433600160a060020a0390811691161461077657610000565b60045460009060a060020a900460ff161561079057610000565b600160a060020a0383166000908152600560205260409020805460ff19168315151790555b5b505b5050565b60065460ff1681565b600b805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561084b5780601f106108205761010080835404028352916020019161084b565b820191906000526020600020905b81548152906001019060200180831161082e57829003601f168201915b505050505081565b600081158015906108885750600160a060020a0333811660009081526002602090815260408083209387168352929052205415155b1561089257610000565b600160a060020a03338116600081815260026020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b60005481565b600454600090849060a060020a900460ff16151561093e57600160a060020a03811660009081526005602052604090205460ff16151561093e57610000565b5b61094a85858561150a565b91505b5b509392505050565b60035433600160a060020a0390811691161461097157610000565b60045460009060a060020a900460ff161561098b57610000565b60048054600160a060020a031916600160a060020a0384161790555b5b505b50565b600d5481565b600160a060020a03331660009081526007602052604090205460ff1615156109da57610000565b60065460ff16156109ea57610000565b600054735a3b751f678656403ebd80d611dde3b39ca0752c6366098d4f9091836000604051602001526040518363ffffffff1660e060020a028152600401808381526020018281526020019250505060206040518083038186803b156100005760325a03f4156100005750506040805180516000908155600160a060020a038616815260016020908152838220549281019190915282517f66098d4f0000000000000000000000000000000000000000000000000000000081526004810192909252602482018590529151735a3b751f678656403ebd80d611dde3b39ca0752c93506366098d4f92604480840193919291829003018186803b156100005760325a03f415610000575050604080518051600160a060020a0386166000818152600160209081528582209390935586845293519094507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35b5b5b5050565b33600160a060020a038116600090815260016020526040902054610b74908361160d565b600160a060020a03821660009081526001602052604081209190915554610b9b908361160d565b60005560408051600160a060020a03831681526020810184905281517f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7929181900390910190a15b5050565b60076020526000908152604090205460ff1681565b60035433600160a060020a03908116911614610c1757610000565b60065460ff1615610c2757610000565b600160a060020a038216600081815260076020908152604091829020805460ff191685151590811790915582519384529083015280517f4b0adf6c802794c7dde28a08a4e07131abcff3bf9603cd71f14f90bec7865efa9281900390910190a15b5b5b5050565b6000610c986110e1565b905060038160048111610000571480610cb957506004816004811161000057145b1515610cc457610000565b811515610cd057610000565b600160a060020a033316600090815260016020526040902054610cf3908361160d565b600160a060020a03331660009081526001602052604081209190915554610d1a908361160d565b600055600a54610d2a9083611626565b600a55600954604080517f753e88e5000000000000000000000000000000000000000000000000000000008152600160a060020a033381166004830152602482018690529151919092169163753e88e591604480830192600092919082900301818387803b156100005760325a03f115610000575050600954604080518581529051600160a060020a03928316935033909216917f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac9181900360200190a35b5050565b60035433600160a060020a03908116911614610e0857610000565b81600b9080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e5457805160ff1916838001178555610e81565b82800160010185558215610e81579182015b82811115610e81578251825591602001919060010190610e66565b5b50610ea29291505b80821115610e9e5760008155600101610e8a565b5090565b505080600c9080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610ef057805160ff1916838001178555610f1d565b82800160010185558215610f1d579182015b82811115610f1d578251825591602001919060010190610f02565b5b50610f3e9291505b80821115610e9e5760008155600101610e8a565b5090565b505060408051818152600b8054600260001961010060018416150201909116049282018390527fd131ab1e6f279deea74e13a18477e13e2107deb6dc8ae955648948be5841fb46929091600c9181906020820190606083019086908015610fe65780601f10610fbb57610100808354040283529160200191610fe6565b820191906000526020600020905b815481529060010190602001808311610fc957829003601f168201915b505083810382528454600260001961010060018416150201909116048082526020909101908590801561105a5780601f1061102f5761010080835404028352916020019161105a565b820191906000526020600020905b81548152906001019060200180831161103d57829003601f168201915b505094505050505060405180910390a15b5b5050565b600954600160a060020a031681565b60045433600160a060020a0390811691161461109a57610000565b6006805460ff191660011790556110af61164e565b5b5b565b600854600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b60006110eb6111f0565b15156110f957506001611128565b600954600160a060020a0316151561111357506002611128565b600a54151561112457506003611128565b5060045b5b5b5b90565b60056020526000908152604090205460ff1681565b600354600160a060020a031681565b600c805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561084b5780601f106108205761010080835404028352916020019161084b565b820191906000526020600020905b81548152906001019060200180831161082e57829003601f168201915b505050505081565b60045460a060020a900460ff1681565b60045460009060a060020a900460ff16801561120f575061120f611465565b5b90505b90565b600454600090339060a060020a900460ff16151561125557600160a060020a03811660009081526005602052604090205460ff16151561125557610000565b5b6112608484611697565b91505b5b5092915050565b600a5481565b600454600160a060020a031681565b6112886111f0565b151561129357610000565b600160a060020a03811615156112a857610000565b60085433600160a060020a039081169116146112c357610000565b60046112cd6110e1565b600481116100005714156112e057610000565b60098054600160a060020a031916600160a060020a038381169190911791829055604080516000602091820181905282517f61d3d7a6000000000000000000000000000000000000000000000000000000008152925194909316936361d3d7a6936004808501948390030190829087803b156100005760325a03f115610000575050604051511515905061137357610000565b6000805460095460408051602090810185905281517f4b2ba0dd00000000000000000000000000000000000000000000000000000000815291519394600160a060020a0390931693634b2ba0dd936004808501948390030190829087803b156100005760325a03f115610000575050604051519190911490506113f557610000565b60095460408051600160a060020a039092168252517f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc9181900360200190a15b50565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60015b90565b60035433600160a060020a0390811691161461148657610000565b600160a060020a038116156109aa5760038054600160a060020a031916600160a060020a0383161790555b5b5b50565b600081565b600160a060020a03811615156114d057610000565b60085433600160a060020a039081169116146114eb57610000565b60088054600160a060020a031916600160a060020a0383161790555b50565b600160a060020a03808416600090815260026020908152604080832033851684528252808320549386168352600190915281205490919061154b9084611626565b600160a060020a03808616600090815260016020526040808220939093559087168152205461157a908461160d565b600160a060020a03861660009081526001602052604090205561159d818461160d565b600160a060020a038087166000818152600260209081526040808320338616845282529182902094909455805187815290519288169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600191505b509392505050565b600061161b8383111561174b565b508082035b92915050565b600082820161164384821080159061163e5750838210155b61174b565b8091505b5092915050565b60045433600160a060020a0390811691161461166957610000565b6004805474ff0000000000000000000000000000000000000000191660a060020a1790555b5b565b60015b90565b600160a060020a0333166000908152600160205260408120546116ba908361160d565b600160a060020a0333811660009081526001602052604080822093909355908516815220546116e99083611626565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060015b92915050565b8015156109aa57610000565b5b505600a165627a7a723058206f910c1364fae1491c8ce3432a44a7164d330a17f0162bc7599e44067f283540002903a293f4d906548d56dc3f86e25d4e5300a0ab3190f8375ba9d77d2026b6137e1303d8c5a0ad95628d3d42cffaefdd2f31933add00de2b6583da5a207afdb70aaaf00328dd4756a33d589fea38a4d24200ae8acdfcb2afda8c5d7b991e073d017802950315604bc63b932aedcee0616c35b466bd156644a082e99021c6522475ac5adfc603cdbb9db2a043b6164777128a91d1dfa6aaebfbf0e5704219763c1d8842b5142203f605b98fa521588a0383f4afec4cae54830ce9dd6ed043226eb654f3d19aad9603f7973f3c1d3a7fe39de4d9ec9fa2836fb8327f13225c2e72847cc376c774271403c0fd174df3f6d5afae20f246e68fb741bd767aab44b66f19964e50c14a292237030396ebd9e7a6292afe14b693fd765f120366d4c9aa9645ad217d10b4e531baf603208afef9d6493fb7cb78528bc3176454501feb88f00e4ecd7ca58d30f1977fa9032dc723c62aa6dfcb7460ab43a2dc32f114fd184a9d73d57734df3f3505b3b4800319694223fd8fa048512efb592caeb9dbbd5c12454dc6f36ee31cc2b54d2d344303a1a0003f24a179d282bf7bacb24f65b55885b3848370c754ac9a38e3b8554ca903739d7f4e32c5813225e982f2a0934336129e1a5f2b2115c7384bd8ca591bbf5203f9db22881d704033d88c5fd74ec7834e449b795224cc525324cd0715d64174f9031f94d16ff278c3645eae74ee1f72e79ceece3cb36222a3fa61484c7a70dfdc67030e8c363639ccdb86491b3416662f9fa441edfa9845e236fa171d62dc5e32c7f80359fdafbcf6a78ac62e5537377529965a198c6a12767d5ce1720ebd52d08110aa0333b3f13671850eee9d9196540cfbd2324e125a02dbf64e15541b377400a6264f0312ece31fea48c1f1bc16a829f6fb1186584beecc9cd51f342da4ddf021b0644e03246603c3a7cca148bbd34318897b170588e2caaab5202be77ff49b6dea8eebc000581f02df42d8cc494a980000dba788b12ccbd6743fde3c067ab3fbd134014fe09a5820fffffffffffffffffffffffffffffffffffffffffffffffffffff5f368c3a67f00581f022973d72b56d4c07bf7f1e9125547045e0dc82adf2440ba0c48d9b9fa00dc458415b7090000581f0205895a11dcf70c2194f4bbac8ec1300c5105fc3f30338282ca21dda65345460382d92d284f00581f0289c2529bf674a855cf2889af0c888b3a59e93f72568648ce166c9688ffe945e8d4a5100000581f026df5a8c5252376ce0fd424d1f8b31307c147f2ab378eda40d6e15e024f86464366675eef0000581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5501f9e42ad2e8a5a1ed07f5c3d7dfc2ca415db0fde603cdcfde1ae201b07b4db044ecd0fd2ed81d5d0f10c492519cda2085186e56811800581f02d77952cc2b7ccb2e091cf626c9b8068b4b23140cc04960c00384a4a63fcb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02383fc653753f73075f79fae186d5ac2731f9cbac98a6908a37855cdb19f6460474dec26800030b1ac89519b3eb2867ae49159ef5db5b3966d1e1b44cf200862a21e1c68eba7a00581f0278f005423f67f0eacc4000c4a2ff542275af55b166d43064567ae968fdaa4609184e72a0000370f04222af7cfe02199683d178a4a5d398defc9fd2d191ea8d55e338d5ff7945035f405957bd4d53645c03c5d5b78606eaf2750ee852b789a2d53de428d9228e9c0219e6ff0300aedbe320d014b5e5f264a3d6928aabd55aa680a4ddf35d1d76f9f0fab40f63037291194304bc43ee1e61d409eb9ff18c4bb1beb07d490ea0a6c647cf3cbf5d7403c6ec2d5e740cce2fcf47ed40ef23221312346bd5ad63d7c5179f1a5d125245a403d7dd2765f067c93ca0879970137b570878b87be059be2733065ac33aba2bc9ef0382a0f90f55e6d80c5b03320bf0e73663a57e8178a581490bfb0d78ca9e0022f70398feafbad51793e700d3c4be1e53bda817857078f1ed3d5515b2ad3fd6be54920350fa1bd4c94c5fc190b4010c0e77388c43f9c1ae986157c7b21bcb212201d21103c7e9fedc90b02ddb2eaf45134da2442eedf353baed2a9623db822db7b97b27f6039485265fbb976458370fc0f52a1a3e7a61aa0e98e7d656e56270339a74326992030cd84f8b5fde6ec4cd08af51fb5f61a21c17c606492ade1b79ac0d4e48f9f90803408c9a1e068aa4fe451e5391abd034239947ac4a7bed2f53534300f7449330e403260e0e733594d9165eeb47e168b036d8abcc82295126e00be35b01142457ff4a0219ffff034c5736afad60a560895ac331e32fb0338857fe6f7ff5de5e3c839ff5181bb0ee03aadcad0756b95de14d58a9c5ed7c6124501816d6971b0746cb14a78b2530d7d4034fa42e83bd0400c8155e65256ed24834406d87f98251a2933b7c560ed7785cba034714903701e078af6e4d38afcd5be3aa58964f0eac9590959e430fd0e214642603d184b114910614f04de8aa06a1857db9e78b968297648ddc31ffa10ff45a95080219ffff0392d70e4fd00d2a8d6f1bab26419c8fdc5d219fb4c719043e73e3cdf8acb13a610327f17f50e073c04846a39e600d853f78da201922bb97d4647dd444cdd35a2ef4033190678b2e29805c2892124b918ce3dcb840b922644ad797bd099da828a2452e03645ba046d1b8c5e508e73d7ac1d594405c7e993ccaaba491e98a0ed0b769f42603f2a6945e7dd3c7e057a56f2970199726c704c781ac7cde8204ff96315a66ce29039beeaeeac0d494b920c8c01464f4ab831ca2026d36fbd391bf552ae3402c532a03d9b3f9dc82c8b5b624c1dc0bd516fd53836e76b26732b9225c8cca961f830551032bb7039859e9ed8913705431dea053a2c083c690363ca0fad6d1c125f40c2c9a03e9f82fa1566224f92da1bdd0a753ac34b862c6d8a79a1f4a1986c7d0affe58e803ab0d4c5bab573e1757cc7752ae90aec11d4747956203818d1fb1d30eea1d0cc003bf10c3479b33e3c5143aaa27fd2024294395233d9e56778fe23610140743a01e0382d2194ca14be9e67e7c2e40ce840f0c6ab71e919c093e7cb36381f30f866a6f03f6bc538a7cd0e213ca3dd6d24fcd909fc15f473ff8787d27a110eb14a2039a1803e6d5f0856098afbbc6fbe471d36deb2ee74e33a6b72da2bf3b337d96551f4d72031cab851b1814e0155fadfe10731b3312691941f8406f227646660c16cbdc47770384ff48d1e36c701fd7eb10a8f707dc69bc5c0d9ac1b917c40bb66cb8764202be032d66273cd5b7e309a24c1b35a07ae2434d38141826b6cc9659dd9ca4c876ff4b0349b48cb8b9b75f0e469173e250160d978fa23dc05ab8c6ad83133dacad47ca620350164b36da067b33e947723b381cee9a59584f4548b1cf8dce126d95b43714a20387b4adfd50c626093f416e23e2b1638e6b1235304ffc2fdc6cc1546d9fce44c30391287e3b1aa2b271af04788e76453c488fd59fd5b37d34f36edfae20377109af03196737481f9461ab40bfcbe918dcba2f79992a62929ac95d87a59538cc25195a03a64849b0b8bd68d98534c589d87be6612cb9436f4ac1f3f4e6c2005b6f5ceded00581f0261bee9b233c7b8929d192eeca16867348ce7ea59798960029efed5ccb1f7452e90edd000031e1a24558280590d62f99e79ec2a5db96c8df99e77eecdc2a5d95fb402f766e30349f03ec711153f213d562a22083bf489974ef6cc80675f0bfc87db551ec9411c03162d12a2917896fb8b034ee69d9d8845b1e7f0552ba94673516cbfce574ad31e03fa9a798e20d0465ed977b095c7bd20646ec5f6c8c16272f8c1f21d76496e114400581f02fb878c834da39ce7f3f416070cfd7428cd2ab44b0f3bf67a9ae3e8cbc6ed4601027808b940030324240318e9457f3d2a8d3379792e4ee2538f2cf507dbeb92c6025fa219a73900581f0245797aea70f92480d3fc5623a3bc3c3950743720aa8faebf15c120362d5d581912725dd1d243aba0e75fe645cc4873f9e65afde7ae8fcd170100581f033f2268bed4d455a1cb8f270424e0d1af09a8821ec408f73a6b6e7ca03220460a76cf47ae0000581f032e21877ba6bfaf26920afe06215df1c551eff0832fd3d40d6b3bc0187c904605e4a6419c000219820003d3cb37526fdab3798cd225bbc4b8543c38ec871f0c60fdc29eb02b7b0c7f8580036f1d10add5f6af0ea71f3742291fd131980dddf10d6aa395bf1fa120058b9c6f00581f020590961e284655e6584ef5853e56726189db09885164edf305ced13a2b254602b8ad04a200031b5c3eab119b5ecb06416353ecf735d24c6605154d3c79a5932e1fdc87b276db00581f023956bcd351c2f93620d232046df4efd93fb9aa232e90e010d7763c107ae05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f026c8477c88e4f173efca46268e722f95b83d42c6ce57b82f96d2a7e7616ab460328b2d3280d00581f0206be8c3adde1e106a1f490ef76ad891841152a90acd4cefe0272ac58a5774604dfb0cf33690219ffff03767bfeb94fcd39c179fe444fbfef461b6beb24b397471d94ab04e59014e33db1036de5c445fd239c7df67d5774a70e1a676655c89f1da88157073561b778bdf5b2038a443c125f38dcfd2cb8ac0135c1328562e861ca63ea3fa2b37f712a1de0449103b4cb8591ce71bdae8edb8f8d1c61a6993a943bb2c56b809b54b38e20b0d5f4fb03378a5f1eea6454bfebb64a0b2b789d0c750e4e5e6db6c744fb9f74e95dd0699903c4dc49cb9cdc40ca3e4cd6d16a1269800333c72be2a3087754eaacca80ec98d40219ffff035255811f902374d9ca95b04aab0786ff3ab58c1d750b6b0d91469831f66fea02037331e77ca5f0ac43ee90d0956bfb8b13d1d23395587a361716d16e24e5a31c430219ffff03682134b2ea5ddf739c74b6b8e3ad181fa3aee6a2979d40c0932f8246dbd31bc7030661d80a92002d43e04cdeb03800c8ce2c6781696d7ac3bf6075def5f3605afb036490e428bec988be662bedc9ccb66274df704ce778dd0bb449375c120f8df293035a4a509daad111357b4b99f228b2a1838cbf00cd171bd808c6a472fb8ade625b030efe41037ed9028f26cbce0225d0e3cb5a748fa9db41db199b01f32f4f62a862033cd7e6dea07c00b0b66677fb19ac6a84e403446e350b3c76fa580078bba5b940038c3d3de71b5b69ac792ed983a5e440033b2a4eeedca618a7efb99dd5914114430333c2adde463c8562abf3603880dc1759b2482b570d00cb12b8908b587730317d03e98f70bd2dfb42e7f24785e0995d04089c227132927a8d8612c57300e2051210036b0caf9ff39115f94b52707d431b967aaecd7c7ab91170d41ee7b73e68d5c20a0349ddd192a2b2cfb53a4d097e4fbc63b603f7452843194576862ac7e6cbd7c0af035b708a3dab6d02a670ff886e75419260c9435f8bebfff758acaa3eb34018a2c5031562ff08346e106801e12f5d6e5395ea73e7e4493c1b5292a17b5ac4a6804af003506604ffd25b8aacc76acce42f9373317aab3290a6d0bf9b08bf2c2993fb93e403ab4c9a8dd9324b33e9014f786f27e8717c6d3dfe277dd026a4ec07fd6477eeac03fd1fa155335f2014bbd88ce01f53b3f43cf23f612de981360091357237a7dff3039884efddb3914db7ad9de8d1d61bf1aa61681591e8e90c95bb59ea4b17cc148200581f024038b6edae1166cb9f53270b9bb8dfa4a1c9dcd2b25013f0ed800018b4af460e43400a140003e6a014ace79066a0545fa2bb56275cdd5e3ded5095580827025d772e66a3cd6800581f02d2509aa435da044542b2a3541a1b49b7683352e92f9722db838bce05f78345746a52880003c418eb3c9c8fe288f7e3fab07399d954422219c984fca84ac1035c15e8206426030d3d22b3e1deebcd2450b228ec9fb6f026e5649d620a2bea5267d42f1f62122e037d74c268cbcc877a423148bac203650e6d330cc9e4521136f45d4ddce81d21a100581f02303d4a49787a8a9133168eee6b9516c2eb45fbb66a9148669175e1a68ad3426a8300581f03ea3d7db8852bbddac6e331a1ea1e19cd445b8b3bba586ccad3e9d10668b04601533601c90000581f034120096c2c88e41119ab1fc1ecf3ddb986dcb9748fb6a36d5e72e1e01d7045172aa9830000581f03b8358348cfaaec5794a922fe6323f3db51c4811fa9c9e0f1f0691f73db5047856e145c030efa0219480800581f02e54866b0130edee9b6fea72d7a022e70b7fc33d96c183951e6300d77fbde410100581f02538845e2f03406c878006358996e2dfb104f15f77118a90f6a9d2eee779f4502127b390000581f02ee8d015c863b75efc6ef284440b51eb1d03a9ea7414f9865a9402e6880414607967b9745000219efe803a0bc40b15b49d1b7d0091973854d629fab485a15e325a8258b28b707631b03ea03986432e58ef5929a3cfafdf038bf6b0b384df9b38c944c56b48051b46f2adffa037c68fae9c2073dd071c90f5900bb882039814876879800d66661b4cf0cd309a10219ffff03f8022494243f059ee78df4cb4f63499e3597c869d433c22208e7bdcb7a8e33c30321dfa135d6e13c94c0fff8c429bac8cd112ad9b3227e58ef3c8b7c97a0abe8b603c07082e992ccc584702c2afe3a11cef30c0e47c4e9298466d8ecdb4b15b30e74038af8740803efaab1f35a1e761d986c7832d683aaac190f15d17d225255c434f10316a6cd0c2129ed9b24ecbb2334d892e6a368b3b7468c282de47ea92c5ee9432c03e2a96131fa190cc316f3bcccca2e3d9e33e139f2a6bc6dcd0fafbb787fbcee41030cf9a81832ddd4fd7e161b95715253b56fefaaab3d5c6cb28ab9cfd725b243be03c2fd4db6cc0901c169587711e387ce03941cd06f0e0ec791d19fae28c89f67de03694d5c8979b819f550826043746083f68c70da4ac63b7eb357c7756ff6e460b3038975160b0b842b3d02655f944b208cd516effa9663431e5d0fa8b3b989330c3303497f3604d861d2e9206901ad0a1ee31b9955f7ca9a36c2790c7f02c07006a321033c8354910c3ad53ed50df3b70fb1fe46612b2d7b52362b96071da618d5cf732603924c93ff2ce1f99cc999647fd0632c1982ac2fdb1224b9d1103bad36693625dc032d811f7dd47184716bbfa7f9ffee463241dc8ee280ec8415bdcf64e2bfc388200219ffff0219ffff05581e037c0578e531f8e2e1a96c7bd860402eff3730aca22f660d52d7a71c2840070119178705581e033630a48279655e4312e7aeda0479e63b839b73f4d448f150697e692910040103dc276c222c1661be22515035bafbec7ed3a0768147f60a3feb9b70b7c347e5c00219aaf403aeb7457fca41a09478575052a6fe17b31fb7ec986ac159afb42fb58ba08e561d0219ffff031472ebb268a8ec9a7bf37bb43bfe17cd36ac9b8b265ac0841794215ce6f03574032769b669c4022ec3d14d1300b44053a0dbca7d4f63de915fee8fefe850525896030ab79aa71e63b6f6132818fb3095c7fd3185165a3e2bf15e1175bb0b6969af75033323a6afe91c8110ce9509d774c9b5694b55a3581171602b1cd8b1115ace1c9403fc1d9ffa415f87109715d57c747e3f751aabda5413072401756d1c3bd86651ea03ab7198a229fb2e20f2dbf0c98c6fc0125f623f6a9fcc32f16998fedd04637ae703c62166b32511b6ef12de613e3b49acf39da215744cdb8f24ca1686ec08410c390219ffff033babaeaf208a40a1b72d4a71c08e628b2da53a336cfc42bc3f09fcab5300db8103f0a6c18f609aed8dac130f65b74e9c0f6e56477b003ccc2bf85df92ca4f7f91703df016e11c4c868e126ff77c3ee3a911496d36b87fa9686e7012a334f9d8ad74203b61cd7910f8adb1e4f67d0a00657216afb74c2b8215fba945e0fa02c71ffd6220219ffff030a6de2bd4efb9dd9d8542b1786037cac5e2a2f89c20b90b74ff105ea12b825da03722c463361210af521ecceb82b0841a33808444531ad39109c9674b58ea7aad503749c4538108093787e9e5021faedebb87388b2d99ae0cde28fb749b7b5b186da03967b31bc297ac6ca4df472ace2e8e7ad424e1ea3d0e559db9fc54d44d328b1fb035b89ba3eaabaf0e0f96e7c177da5b577443bcbd0222216623595c820fe65209903aca8802f8dfc68c443845c2141e0b493be367fcc6307ed70255c51e7a96dc9f9034c34e69b6f440e88e3a69f34fa4619f377a50e06ed0b38ff37f798265148cb5e0394decc43a807cff2392c09a6b5502234c866642571a2327784340377d5555f3f037dee0ba2b84f5bcb0b524060dc187bb4e7291ff8d30fe60e00bb4d9c46b6a7730398949363d9eb8dcf1f7ce5a0bb37ea9f0c9dbae9d5c30db0cab296cc8da744d00315fb99b64a916ee29048104294e40264d40167ace27a9c0de62834760ea2538e0308b3e0acad5b5dab0b6c9429f70c98a312ab9a760cf0a127ba1801988a7ec24b03d7ca5a6c8490d1c060c505d809d3b228b1539e455a5f3d2a92a11d9924f366a1030d02dcdd19686f2b7beef0de184d98884bcc96c5f78045c97cfc2094eae74dba032d7b2ac64762020683c27e7bb39076b44fba7e73767adb6504c8a6d03590fc510312a16c1b3de4b5958a520b6c009f14eb0439b2b49c04ce9f697578a77dfad77d03010fe7c6b1515a8b9a1a679d5932714b8745da333f3cb44296deb2d5a91c713203d8ddf324689cd3285073f80e9efbdd4a7fe301b014c3fbdf8910ee69291239b5037f0c139f2ed7851613bf37b83a51c31e3b7fc373ec433770a0daf28365e9d8f503f04125132278e3fc2ed699a533210adbb3c90d29ffeb54ffdb3aaa4772a358fa032360a46978ea427a6dbb929d8205b1b952b3983e4aa74b0cffc374d6a5cfc2fc0395ee077914f4a232b0998e062daf81f816e3784c31a4d1f04d0a7656469072a303db967c4300e845443b6cf895cca705638301edaf611f5af6d76459531c9ede7903dcc59f31e409fab908d32cdaed56ea2c6d01cdcc0d542c73afeb6470691cdd1603e322baf5abbd069fa7289b455acc89105d517c16f7d11b8bc72745b8e88160a0034b212128180e0f4769ce4582b9a8035ec685f53396eb19e2861fd49362e60ab303c675278541a5d82bcf946a474e7a502eb0adc5663d1cc5af7e650af4e13d5134030b205b921ac81299f23b30594a451c9e00d14c4c7e63deb4890297e29e53978f039f811d298f90475cae06f12f5a9c37411a260b3abd7d97e5f2362fd4c377e36003ac730f2dfe6b7886c4ab8ef3953092b3c0c4f4e7fac9f044f29c9ea9543f24c00362d02a5eee8405b081efff6bac8ee14c05d3ff73e025d03d0aab9abe5f9fe414039b67bc526c8c7e7402841a5985e74f15074d90149b430986f763eee6e446042703395149e5fba6d02e055a3f8d1ff833229d7b004f3a843f69697663576ff762cb03d5fa8c82315f90af4b6e5c3c7aa8fa6cf936ac28874c5939a29fb35b48f7a4470319368b8812c4387d7652a4fb1d37548f55cb424e75cd0bead631a95d904c246a038ca67abda72bea096d1a064ac16ab699fc4d9ad8071808124e4fedada55a512a03fae78d08529ff09968e93da752e4eed682abe04bea7662920a3aea9a069f529c05581e0308506e09e9543c74d77c7456b526af472dd01b76534b157f89d8960570040105581e03aabc36317afbdf321e268542c8cb7e2d24e5b88e08d9775303739f7870040105581e03a9283eea7fcbd9ee2c2d25a201fb052dab75168b1e72a4e4dfca2c3f50040203544bec1b2f5b25c7d79252b49549168d81c557df2c6eeb3e797fdeeec1b6b8d305581d02da8d0897a2512b758498020335479c071e4f2020faca6ca3ab1e16a2040105581d0206f2406bca8cd72b9bbfcad057b5656b8367392e7dde9555058796ad0c1863472e81859e740e8402190480032c57233178211f9bc8ebd7179dff92675f06d8440dcec0a513a60ce54c7b7be60341f73ff0700bcf906600f666bc508ed7b6a454781a3f650afcf3705e4373849503536a6968ddc8bc131a507cdf49b925f6e7a38a97d75f860f6b5b4aebd4b918d20374024502a3b0bb0d80bfc35df4f78158223b06751ad38a7f1537951a77facf570219e26b036182dfecf6296df906857f13ae4b95686cff38941967fc072474c5b598c0e17603707898f4ed5458c28c514fd5feee3123581b31bb6bbf53ddd0f06be1a8ef75200219ffff03b147f86df9c7afa65ca7e505bd870e189d016114ea4f9d789a4e2b84e6f6c304031c5d31cdf00b03429336357621cf224270b3dd7aed6b175a1aac2a8c7fea831003eda31caf42ea9f09ae6470a98302ff6b8dd06635a0798016fba474f9dba299d503800bfb765725f2b92385aa995c7b69ba3f476a83c67ccae2a21fb056b5763c82034957b1bf262a69bcea065dcab68111bcfefb1f8985179c8fb8104843bb0190c703b9010b61f8e33465043f53eb3f885ffd4668f4b8970d633531cff557d880ec2003bfa47d0346eef72647d3b0f5bfdb9425b888a0848bfaa9d107b23211efe38a1c03a67bef2c8021c8cca30e23c4b84a30b008b98f68ee564af74ef9d47125f2467303e0ed2c31afd4419f0bdb86736ff1ac0b68b16a8c5cf270bdee3555547e5de8d903d0513d8ae88da948b7b6e20e3cbf41a49259f5dbb4e2708c53a5c6b1c2ba41700300fcf29f9d0ca749e7f147f82f9f4c88b441cea11454367d18172dcd37830280035da4d27aa95cbc24c0022dd79d50fff32c199fa037a165fa464563eb48c3d69e0219ffff0219ffff03dfaadc4ff2571642a451d6ae98fd54f9e8dfc5401374e53f2dbbcae540a6f4e40389030cb03247169b2fea03298bf03cf706a1f99ff5d0cdef2414b2f764da8e770379d81bb3ea4002c2f5dd4209437bdb617f3699a074124916ed6abb0c360e0526033936b1e7fef5eec61c280ea29095901a14fe68c96cf0728bc64d6401fda4149b0355083bebaf07942d2ac289437ea0828121521f0dfe29830b7e6b0ca066c7732303ab6594d94ac6ace95a0a43c3c92c8f48ffdb4ada5f124ceb15adba0101b979df0219ffff0219ffff0307f817873e4cff94d8615aa733ce4f0b98efa749c014d0965eea794a36e908ca03aee4ca09de6124e105f081b5bfb543389b687957525924c5e5708ef016903a6d0384f5a782767b63ebd394b4286f70c8e2caa597f3116a119586e6642a8fd53064038748eca544a7270b3e009e7b6fc4022735ff85ee9c2754137891ee0f98b5678603a236fa5e1c3b1ecb4f77efdba190f283008b719764c44f6413b91ed0302ca499034c67a745ce2824f894121d23b14fd4c014223c9b23311d45059a49a7c6ad1c6603de8eec0c65c055420c18998dc6c73818fa98fbcc5f33fb9d3ba4d5486a81683603a80dcaa6448c7c568beb2b3e584302a4b22d33bade2a398edd376c1e47cec4e80376a971f6306b9019e200581bb548783cbd3cd274690d0345cefb2f7b87e8a113033bebc64b0f4557f45431d0992523ba2e474483f6ef4994fe5e57252f6145da7a03f49321bc09d14396b9ef07105757fae20b5eda6b1bf5c5106b5a025a3f01e91903b02cd1673d8f43ddffdbe957f23f766f3b99b5671a753a384d43b03c41371a56031ed0a5d37fdd3c824586f53a0ca0fd3440d78e85631378498b488fe6099225d70301dfa0353f0f8e1c42ba50761c815793787862e9207eefb37a64d419f4044e8203a134c85b1943cf9f65dca4b1c0cd6cc0c83e80fe5a622ef2b3e767ad6f62e4b903ec385262df2c7e45980877e189cd2c1224f5dcbdf794356bcaac36d3e7760cb2037be13a111d23147796e0cd4f71a3d382559d3955808d692ac49bf7ef23f92e6803aa85a90c0def9b5d713c4217e90dc0a79435c94bea7f649b829fb0ba0fca017b03fc92d16b20c32879e7f250eb255035cb829f16bc42a220ad4b23777aab7a1c7b030b2241b63f7f2a361f6a7c999d8f9a5d2dc29764adf0e81a589067b64c25549c037bb0bbd59f605e1476a936d5ed2f40c2dd411c924cd835d16a7fbb298be2d6a4032cfb5c52693868ac50a98a676a9181b41b51cb3a0396d3d17fbc741a8cc9e09503595b388069236036151eb4f6980223919518a3849c0947a880cc8048c383698b03fe2fd0c2d8389f7892811530c36d079a62b8358227384f7ff6eb424e0ae8363503b9c41338e9b7429d9318582c184da73be6f8a40bba73531c5cee7991b782edf503065e1fdf88b2610c83eea65cb4df9efd6f2ca8c231a6a77221f0ee72157c643a03619d182d74ce42378023a477f7c9920acda8554bdf8f117ae55a0b9bdb3fedf603cc9c003aaa1aab7ea6abf50711fc6d695294cfb35082ccc380b7816ebedf651303ef1df1852a83e5004714de3fe7eb92ee4f0acb271e9fb8e288b254f6d979c046037efd914a7e41696e85734c86dda3be04c83446be7d83fa943c723f30da620c7303ba18d21262bf694b9f1b78a4bd0d680b453fa5ed9de8131cc38c4caa95ee7c4d03596c702be6665cc2d2c0258218f1b8d67c129bffe1e7d9659762737eb23bfb5403f4fed800194fa192d629379213b743e19923356adfa892df59bf25a1fe5ad2ab05581e03c20a4ef436e5637be11284f3d36208cc93fe08f5f1cce3aca937cbefc00c044735f389e972d9ee05581e034cf9e7195e933f23aaa5972bb88bbd1208ee2db7600e405e1094beca000c014802e69e5b172ceb0e0308b010020c9c5e81f4e02d36fcff5a059e9a81c79a188796cf43b2283841fc6b031e4629fc3a9b0419c2425e31cb953cb6897525c69c9d15824983d07ff9217e5203729108922d759c71b33966be01a8b80dac1d126b0ba5d0965ccc877334382aaa05581e031057b1fae31a9a515aa2e2df2f991f25e6af99a4ee6467280c91e2d8e0040305581e03c129ecc41f77340f837354b458036c7123feacd0ff5f51916a71baf650040103ab61cc3b05c9a7dc466e110a2b490c530f6cea076302685ec95ff5753660c4d10605581e03ade281f6cc3e7a9d7c01d6853a14aa5ac61fb1dd15112008ba7876756007011bffffffffffffffff0367c27e1e9cbd7de10b31323eaeceaab29f015834e7d86edadb57e3580f10525402196a9f03a0e3fad25ac61f178736fd40f6d9a2df47dd1a5227b8ad03bb683bff6dae2426035c9a457f07c80469ad325e64ecc53b7a72b763b9910f4a7d9f7cd6b5e9801a8603d4e1c5ef6dc1cae61f1a21917cc0036876da056478f0907e496d6202a3facce303096bd935432791ff4851bb4012593851d79d7ef06a795bdfe12e85b7fc54f9e903a804e598ee8a29da656b2e25157e328639203fd5f9b8d4a24d2acef68431daa303b4ff07c0fbf5f1cf5bf9b695a49e30a316d5aa0d515fc03126377af62a7693c50360b8c6d521d5cb837c90cff9b88211b255f0e7ef0b861631e38bfdd3cc2af60003711b9212daae5f585a4bee949a0ea615a5bb72b63694a81c8384c941073f671f0330516d797de79eaa7fb01dc0840e32a146737982d7fe7eaf6a71ccd1819c8e0a0364a0024948f694841c89ef219892d1b0e92aa5b2ccb01c416821432b6618299103a0c19acaa9556362b9d88b53218938603c9bd4e7c9fdc33039d097dfcc5abe40039ef2267c0f475d27379bb7256cdde06d46fc2d4755f0984eb43f97602263af4c032fd546c81f1987412074e43569ad797db7649e7961d0ebe0b4fd9df8fb5614710219ffff030447db14977996a9a570a4789b0077147eaf1574ff5d600d11457854179d687103623e112d018a4c079de23fd25870fda56b44aaf58d3a858485b53bcf333e8f2803db5a427236068b7f7c4cef4d85e1d8a005c20501a2067621c28512261c14975e0219ffff0219ffff038d45684958c754398a018d912276393f96b40b1095746c26c043c7d13802877f034a2d8810efac8c046d8a5578d45ce4cdebfc79a84b90668ccf4adec42e6ff74f0349088dd1ef38efc005ce572f9ec1732c3da640382f12a01ea4d39183a9b4154c03ae6ffd282114e4a2f3f7c285a229c67866f3f3d9ce38ae8fbe322593a32bee66034e737b12f98c285c58899a1600248abaf85b2195c65dac07274d43e11d33714203ee525dd1d80514d4feb89d8e59c7875993a9cbd376029aa9b384f332d96c0fe203ed2f41c0ceb1c48f05ecc009d1b54fcb3484cb16065ceb7e1cd9afd1a16bf0b603de8811f408f5c457519220690e294d074ba016779bff8eb6a0b5f3b8a158773103f18a3679690d9a01708b89f7cfe1a89f4d411348bdf3eb0005288c8360115aa003a1fff5de12f987218542d2db2c1e6ba3091ee506ade95cffc6475d0a4fe2a81203bdd03bcccfd949c80af90b36591cbd24ad8c404002f143c70e601f0eeab53bd805581e03d6cb2872644211c503d5c663ca01fa6f6ea8a1861ae6b2646d876a32600c014643c2593ebc0005581e03ce2da9c7be0a51238c30828db166b2f27ea1f49e8f513a80ff0bcb30900402039612abe72e6473a2c6e70a759364867b0c25bb17b4beea575260ead91156e64701410a0459083060806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea26469706673582212203e9545bbd92f25742cbe30879c764c7ecf7eb84d039a044082903938bc50f48364736f6c634300080f003303d6299311cb43f57060178542b5f93f501ec6b06bc4c6e371c19f5ca1584aa58203c1470ffbc1c5a46a025ae49fd745781ca941c021c70919e0a22e5dba0cbf3b910308af6a16858c1ea4ad69b94f99194346523cd6cb316660eee41f0adf16229d99035ed469c5afb64688aa5493ce70bce2571fdfb4424f54c7f6410ee2e522624aec03eb2fa87ca06b6b344fda9ba424c930facb29aa489dd873f113c4d5192efb1fcb0303b42fb04427eec1e0f8a4384de6d0d3b9414d7138bdbecded627a008fd23e7a03e6f2baff35aab3bd570981ca4baf29234ab2305a91586c00eb63f1d804b1b34503231be38477ac7b94289992fc04513251282ad9cd56016462fa5af8912d00332703dc04e7472c90abad1bdf84c6eb492abda839f88e7a6fe822469e4141f6f5ec1c03a39b202881f18ba68854bd0f7cd9ab2047783831f7931c959f92a94a27c1556c033325485876f3205bc6966541da267528cd019e8bec82edcc0e720080840a682d03ddbcb62f9e6a82f6f8fc06e499dc566ab97dea12d117054f11068e6f092e4e4c03cbf1540f7b0c9338f52616b1a1644cbcbafeb49ec5e1818330aa6aa2d737846603cb5c11213a7489ed2ff0d569e965197e4ad05544c4c9dab2e4e52faabcb4f5c0035557980151688ed224cea2f6e8a39e24470025b976d78631ae51a88ae02c4d0000581f026773d4a1f6e567ed7e0b23f4521ab4852d72f6f612696d2f56e31c84613e582039313b71795072c5f506ee5c4ad3b19d5b2de4bbdb9eac0d2555b0fce4a73a080333e2993982079d5cd0b6f949a952be59e560da319d6569debd14bf05a82cf5aa00581f02b77c5128211fe60c9e599405118b074b5158b010e08e30e4520caa2309ef5820bcc0c1e864c56f007fb9c5211b9b3a81d3b0e5a85c1b1f33668fa5c428f642c4030cdb76df55409c094a1f57c9110657f3e90170d7c090e7e4ce530997ef269dca00581f02f0c35c1aaf60e2bab961efc2a32d537745b17affc72de78e030863c0eda858205edff92745942048faf17c6a33bfd806ca8971a729e20886fffb52ba421fc95b03fbcfd61c10100b93e25fa6a3eb5c98526cad5f6558e0aedcf6620b46ca20c1a103a5d4f61fa122100d825c1b06aaa207707b3c452f6d5bf48e68dc3674241ad0c101410c03da7bc2c482d78f0cb1f16b073486dad290dee2c1622384862e77fb52115c0f42033f205db2decca2eefc1c1d678eb01e9a0d7fbfc7a4b3931caafbe802af18b36f00581f026d0bf5a4fa82b3510bfd191cba444d81359ec937a18ca9473dc3fa19b1c858208f6d64e32bb6ea98d2e61c677a1e8e0969cb7ca94db309d1ca4d558f408de7eb00581f02c840a8ca8b60dbc5da6e16319ee9f41b746a405ca2819ae88e15067ca6c958208c50971ea56c3dd4bbd63f12fae96d11e8e0091cf45925f048fbc8cd41ffd06900581f02c09effe3d43144dd298483c6554fc702625a584d4bbf749726dfd0bc85c25204c600000000000000000000000064ce1feb03c1de731133ae2e12cd76c1b2bedfc517e7d6e7c544f4a838991694ea86188e0c03e4486207c120e2848eab79e86f2ffcd6f5e0b37a66cac45596164e0b9220095200581f033f96b3b6093663fe445492a25aa6db8c7a80cfb198417b04445cb94fc14058208fb46cbe57a4e07428b5788ea94bc61ac2290591007c0408f0e16a6ea7002a3300581f0391316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff697042dead00581f0373b66459c269aa8bca85c9a042e01e85b89d0a3275f5eb487a356450fb305211df0000000000000000000000006585c8c300581f03c8c3f6b6247feffa40b509363fdcd2cecd3c5be2838cc5d6eae0fcddd66058207ac2ad3bc91a57747abd3325ff4a01d29f3fb9961e37f026ef1f57d04ca180b703855b15a6b6139bd01cfd3d68a83110c85897ecc8cb6978fb25ca28046415eaa0014104021949110219ffbf03328d7be302972a9734c65156d631b24357fa251492471290b04a6fcfaf8eb84f038af0a5992b69d8a67734a74f77ad4904270e0af744e64dad9d829846a54fffbb0219ffff03fcec80353cec8eb86da11916910949131c387a9376c96c1f9c131834605354ea03702246e32b67b09542ca1f3d630fddf58f657f974de45f6206bada65100bfcac034fc962233cc0e5a450373bdbd71df81b31bceb5deef83c4ae6f86e79821efc49039c53fcd6dc7f11d8f3338dbc007d65da97f54ddf7d75abc7c6b7929c2a82b34903fe2c49da1fac6f20c0191f63a02a751c91af23ca1586fee5a764898ec13d20090307bffc3c5fe42135c83cc1d404fce55917252e428bdec9cb005da9432d90226903630ea0d952d5a40c803321d607f7ea0ac151033bdd642183ad8a9e624b7322a703efef252d1eb2e86b2ee40bc033e9bd88fdcbb42db397199c15bab612d7530a9e036f02796b5cb829ca0b567e508469145b0231a3498743c9d0f1392068e45953270399fffa29dade257c6546c5a73dbcb32424de41c0d58e51e1e4b409740e9dfed3038b0c034183ceb88ead4d5378ee2074163952c7bcb48b94e0bf83f60f7f4dab5d03f7c98dabc507520c7369e3d8b032e34551cd1bb9948c3f7807e92fc37131fc040303c04ae4da1236b4c7b840ab19f30dae7be88753ecf341d66c9d8be70d88aa7a0397cbbc155d7a5ec3aca9960b3661aa587087c0357d92d237d17b9b4ee8202fd90219ffff03f5c66e5b173970b69edcf02d48095b9f43d358d9a11f31c8d6e4c018d2f49baa0353f9c8dd6a322c53eba04d487533be3f172b320c62479257a757bb841366b0dd035ec0a791a273ae3a586f511d19cc664088bc2455f0e07cb21800900b06155ed503007dd0a7fbd12eb1f7d9d1acd1852cd0d65cb9674eaf3e6ec231493da5242e9f03914275101ef2191faabcb4f3dec8c028ba8fd9ce33b5c14b63771abe762df01303bc796e09c05b2cfac5d5744d8eb531126d0322e59a28414303ac04e91b90240b03eeb97a7947d1952ec7aca15bf96afff2d4f7118bf0c54de86a396ac155220740033d15e928fbdb3341fa2ebab0a399d61ff70015a8a3e78ee7aa24a4bb48a6f7650398a9ffda539164cce0d3ddccd34129b0330904103c8cdf23697a0a99833797e80357edb046d5be8ca616294deccf4a0afc7129899e6529b3dd43b43301b9a7dc1603af50612df74421bb508c8c21996328356ac205727bcdbcb497f421cf7e44877c03520db008586cf9d80233a41e2619bdd16688c6546608cf0e51a6687bce4fe4600330644f9816982bde3752382c8dadebefb29cecc4416cb638b3496513858f6bde03b505f928417cdfba6ca0f8f35773a8898b4a70312b0936748418950d2a19052c030774e59c3a06216c6e6ab8e79a98791dc2d3974c706e3f69d0dd3a59d409fb8e0375be8dc3b39312dd197e01bcfaf60f4c9ddbef8022b34d1b0805852d7bca73b703409ab691cd38844637d5d1239e4bc10490f00000495a50bbd5bbab57fd33f4db033db8f7e3a476550c573962ec5c0aa07be71c01216a015ee6c55a7a74c6e7311e03d2b735b0db9f33ed218766b208380f0641e541d0d5af352a95ee3f638256ec64035e191e814be2648d3d7208b7bdf73afffecf9d98a29771e04bf7e7cabe4be25603559b4d2d6cbd9740f2ab748300efee9477962d2b7a522a90b7282eb9ffa9987a00581f022a16c1673330407b4893b1fecbf3c9a60cb2f13f927a6e87f59d83a3b7a45213fa00000000000000000000000065a35f57036eb9e9a05b6a017279b1018cb45a726c1d9d1682c448302125603da41b7a990303ec63678f9a1f31fa9bec31c84af8cfcf52e2d6fed2bc0cca9abd60e6d44a8c7c0357b1b065f6f55dc3db0032ca94c01c870ecd5c91f7a32db0f759986fbd274d5f039ce4bf5ff674135ce6aeee9ebddf0b6c24c02042f109de6a20ad8951427f830b036395c6bd7295a4c2358b085f7dfb7684b1667d60091867f819ce6e033bc100f2038d63a3cd57da44473d3776ee5e0ff0a54989d34bdd4130015398d2eb90956ac800581f026009a84b7a3141321b372d31aabdef49d55698f55970b7f54afbed4963195820aa6ead4e625d8dcd2522243c02ef0e2ac54b875016264f476cd98112bf74189103376e3a35f0103496f339ff7a464b7e318da9a57a2e8932797e31164d0dc3674100581f030a36096aa8508c3c22c1aa93f77ff531b0c4eeaaafbd701b6744906ef900582016f22c77332d716c30a45084ce3b919bb66cadfa534dbb48b4efcc485104cdfe00581f038779aa14264400d512da5151212f7314ef25f0a7d68cc1c875c5ef9b86c0410100581f03620ea2feb3593ca7aecc75ff05a60e44684f4b33a7443f2e793dd0bbda205820fc2132283f78c016fbef0c3640d75cfed10887e31fba05af4643e445c96ab63f021904d000581f0213c85364f431503c5100c83d1eb53dad64655fa67b6bc0edb00555d3db585820d3accd73b03b76f66c01648835378da87ee2dc4639bf76fa3d5c7bd29ac1d59a03b11da1e9ebf4a5a1ab97fabf21ceb3e4548c1385fc81721d1989926c8e4f4600035a1d40c48bdfca75a738fbf4dbd41d58b7cfe062c5d4dc975cd11cb3b00ddfe702196dff030522410a7080a7448427a44bdbfab094dc72fc4a7fc1f22169d5262bcecdedaa03d2427e0b3827dd7d12f37fa15ee64a62e3b45c90327c54edae2ced7d448b9be60219ffff03bcfda783e5f042802fee7f818f737f2f0f1e86470bd68d948b6e0a694037b84f03da469669bce65479cc0f6ef62559b40f21fac492bea806f466243e3c55a5e46803aaefa2099ebea2e6fef26bbd514391cbda85f4cb55c07ec114bf39db1920019103e262931a1b6257f90bc313bdec8ec041ccfbfba9c94df281af3d50b5526c48f30328d4a1dc9fc50ac49175b59484e20db74b7bb8ae6b4d2ba52816d3d331591903038964a75b0594dfaadcd6ecb3a26b288c112b9eaad95e32baead5f1cb3c229ada0332b19b52391a98b1e693ea4d82c59a7d525d1bd3f4b773b8a22ef6d98b60678d0301d98f323e9a046e738344e5f390492717d4c3c9e0f628cc4587a6cd5f85c9c303314861dfe45a6c7fa8653965b2075da6e838e909d4b84d07a198ffb36404d38f0219ffff03d7de4e39a1e96c0a7ed9e2823ad8447b70ed546a37f9ae3c1fad779b3ba4e35903831e15a41f81d82fbbdfd731c344a669fe032e8a3c1996c9724b45dc923774f20355c9db94c9f485a569436e1aaea4c1d3f9ba64efbed14c9428c0b9a4acbdada303459b2d6701a0abc8c23f7f4636e480bc8ac8635f6e14d6c84c167637ce126f150347e922682c5b77fbafbc6628d2857024824900ef3e088e8629f374bf134aa69c03f871e0d371cb7005736da3492defb7998bd3188ee0c60a7144c54a2fcd2c526a03a77ce0412669af11113d1eb3d2cd6f833e3ee48a1e6dfdb690a7bd7be9cb88150362c675ec5d0b5310d32598805b1b38e4c29f7f08d982cdc1d8744c24e521b14303f361c79505d8141ee8e01d168137ccaf631099cf1eb902e072537141c928110d03ec419f9b23c21e150182be0978e183be916b968374836909c9c62a9d2b48be3603703b3615c7240e089fb485e636074007a79cc6dbbc083bb0bd3e1c86ecaf0f1803c45b8d022d10877bf6720b352f06bcfed6e0ceffee1eb5b9aee2b3284ff78aca03e22478e1a266940399ffd2ba83f3c5598100b76f81a7cafc855d2ad64c7a1d6e03b90deae5bd968a2d5bdd9d319dbdb2706618d7fb38ed70c6b24c87c3911d88a2033b693628492462f1c3bc9b5d9b35702de316a35c9e0c6e4350b3b43e44dc666d03eef5eeb4ff334c5d1f5e7b233e0938bef178475cce4ef2c4d6988bf65b589b9b0313fca3d725241d7e883b0d1f22a0599260d3fe58489e94aaa64fdc2c2c37ad3a0326146a44a04785d8404e2744f738eded1011068e185f36ab20a109047b98766f032fabdfacfac7f50371a6cf92da04742ea589b59a680402d2c9c0eac4a0062d0d03358cc353bc228830f010caca902c74d47e3c25bc9a7e8ca734c83016e098f7da03ca00ef09613214f8c7fe86c9952548f1ec1be4030e4b23d4a6dd5050fdbc1ebd0381ff52427eab9b14c6f85f8e0e09e223647907a4afce58fbba94694d440163af03b9977c562d799b9e58ba4ef4fa1a32f24bd6e9071df5c7a99d3ce5f37bf6a8e300581f026c528d581173dc40738493f17d5c39d63111df057b95829a1530728fa36652132200000000000000000000000065977f0700581f030419befee62758f3fbba8ba0b57d9eb65917c3e9d0b1611609a367d35240410100581f03185cb6c3cb9130e68392b7d5426185c5e2b6652cf2072729a253fff51440521d5800000000000000000000000066271fc7021980080363fe94278a4f9246c58f895112f54403e9dd28ca4a0eedd23345c5fd5fde4e9a03ebabfbd2b255be64e7a0f996f1141cbb7a235d80e160726e88c0af42c61f4c82032b8f8168b7cf42213ac2d8daa026fdf4e067e4d59f24410e15c8038ba35db4b203cff1c4f6180b7a7ebaa6ca182cf25e7e862d3611f2db2bd1ad39f718db0faa2a03826827019c778733bb0ad5a3e7c2b89180c2a55534c35d7aeedb59589570ab1a030198296b0ecc485f63a994af68233efafc2d06c1ff4f99b5fa8aff5e25af91800219ffff03a0db537d3a4570241da3f76ce461b2b43bbcaa383453c441ff4013f943d5528203096efec85d0831c2045d83d8399d7b537508458c0689216a77a726fed7515756034920aa9cc082940d92379588a7b80dd8075a2b280dfca0423d9b47ce26622a4103bd2796313cf4232ba0ef5c5bc2577b8ea7dbdefd77a4437d4360b7eb5c1f90510346afa6e3c429fcfab3eba443296116375a3768997062923c805ce06a9b7a57a703291ac7d7d875a7cd85a03810076a11edf63c2f1986b15d8aa0c2f7f7bd3efebc03ce994565056d8769ff320c51e9946d517fb1a57e654addd1ae13c046e102401a03aa5e7ad3c861b4b8389b67ec0e5fd7b99c8d373d60800ce6529577f39137744f0313768b5e462a8a97432af088549a248293cab2ecfb3365ce18fdef5314cff8f3031d2915107f0946edb9c143797866f8f258c1c995433237aeacd89d38021a3cba0219ffff037d953c93dabe4372f2070ec204a66cd3354f7466ad6389f1692bfddfe7dbde94039121b8ab3c2de78bbb7a380b04be76502e499dbc5b5953d9e3df9b0b384435f503bb815e32e7d926b591b1129110bcf56890ce84dec98c0d8b1f38fff114288f7c0361d121bea8d6d12271248ca3a45d5cd5940d99bcfe2264218355c41ce7bb95d1035c74e6f44272bb21a022f114b0060933308bd622cc67b40c43fc535f2059480503b1e703707cb3b9c4419fe5b5ee5efce03a337b5d5dbbb8aed595cc89b6c4b9cb0219ffff038b7f6611bad1b0269bfd6e7e8c528541040b9e4f024e42f64881ced72fda76f3030635b5f737d6aed352662cdf49cbb96eb86b94dd9b903a77549f4cfc4da90dee03e901833d264d8432fc0f3245e0d32c80c857f80c3efbeabde6e3aa2023ac3e930360c325d943685bcc1e07d80c1701edfad61b269816d1e99ede1ab461ccf647c1032dbd86b36d8a92875fbb5f1faeafc7a5f51f685b2209d557affbfea6d34aefe303af9c1b6a81e5a6ef757abdc0de10e1454015d2ae4c599c84261af9156343dc450357762cdd02fb9e619a5ec7b1225eb729a71897597e177b10e01e2b3152c2963503bda72c782339e4a4f653fb003ff3bbfdcf46800ecfdb5c3192dad8b64df272ae0343db035e52e71be2457230860e1c655499ae7ca2210737e63075d6d509b13e0403ecd424626820df060929a110e33d5c0137bd2214f3f6f381d0050ec103de92b3037bae7d72e3661d374dc0dede6ffa2950148cd4d4be0256a0dd91055e19c21cbc03fdea6778895aa2572a98f699bf073f782e8a9d8468ef283f081430f75184d6430325376b90ae989998a5d41bae6b237175746c1dcbf5f6b625208886ac7e7e5a0b0361baec5946d5ca97632d87f0b9e7f009198a684d9685ec54658dc58e1321a33603aa6e665d804b0ca8deedcd5c228754cbdd8082b43a413bd6f2e5842a34ccb90f03509de7c21cfae1d79ea0740380ce66782eb5b5031860e3b59524590e64df455903036eaebfbc0815b7f41c67f50f133369e175120850f698c91ddce18bed05bd230340bce60de0d26efbf7f335e80c249be8bd6f64794a99824dd96017cd85f0b5c800581f0225d1c3e6f7dd5d69116cea6348a922089ee655373035acc64e70ecd79c7a5820098a6aa5e45877fbc14292c8bc6331e025dc12c1b8211346d0f1c8a831907b7f00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0545fb30336a8d0841cf15d452afa297cb6d10877d700581f03ef3b578283ff6bba2d98402be87ae6e77fae0633003f8347a1ccc9d529c052079a00000000000000000000000064f59977021100581f02bca1312894216984df4ed15490721673da2aa663dd0c991e5b7b12ccd063521d230000000000000000000000006624371303c97e1991c2a050bb6feff18a524832baa1f3021d8bc910855b4bc53dc628107100581f02419c99bcad2970253dd69095a2ecb494f0eb6a2210efceb052fb26da0a4a520cdd000000000000000000000000653f559b03528076fae11871543287a63bb5c5d98291f8811f92efe4ba57e25a179c8e8ccd03135a0a9aaef0174c202c657af8115f311c22506c4daf837f41c7e4181b3a467f033d94e103a4d3e98d0dabf8a0142a5c89d0003c51ed9c48dfe789b48e6d901ea403f3ff39e206d052a69631baccfd43654939d3daefb0b492cb7bc6013fb84fd7c9038b89593220ef18d21e4a80987e47cf45486f4c348622638c8ec764993f46410703364391a462af8d86d6d63a185cdad0668a50ae669d870162f874038ea7c11fdf030b780cb26583463eecde027d3b3e2751e5f27b2154fd777b14f34963c506abda00581f025693acf4a3e3b3fab14eaa7d5ca07306852d321c77058f9329e31e2bcb915820fd8ac117548f7eccc375f60a4c79122e89fe0efa8670d06d7a4953a512392c4400581f02db5b0458e1026ecaa48d656fe664dc343b7c9d176f63d9cf1d8e4cd41b7752068b00000000000000000000000064e6cc0b0219ffbf03fc2df7f47473db4cc331cb3e19d79fbae8e7a3060a76e59a353a51ba168f390e0356737e62dcb25af8f1f00da1c4914b69fde4777bbed769c61a0250400723bfec03a3c1d31951b09f5fdfe1285ee0a3caaab3612a084df810f3c56c8f8e1a3fd9c7039963ab32c7a780d1bcb10e6d8196c543a338f32fd1e71f0cf20ac9aa3b68ea140219ffff03e683eee30c5a4644ad5a2444e632953d2749c373484c082882f3ccb24e25ff6903e8c8417042850e0c1d3b51278b6c56e61f4ee5233ed5963ef83bb69e6877d3d2039ed1ea6c2d1719e1ccb7d3d6f677808796110396f9162c8dbd4a80a6b82d54330351251b39e38f01dfd9859027a7df5b9832a991feec96249aa263aebee150eb570318e7d58d5eba2f2703ee337786bb7499873370299fd0494a708345e66aa06fbe031056a719352a2ea4393196c5554bbc548a01819acd621d417f20c2ccb39465ed032a3ccbb6fb705ff24b38522321f82d319fc175d9952c1a38b1ee2f3bb1af12d303bd0c4f2c372f81cad362b26e4e4cce01573d94f46b3af762dca252ad25e3d4cf0365b2bbc99ea7cfdbea1b9c90d3cb8a97974799871dd864ecb46bccb42e7c1bcd03451f286f7ce3f24c16ea820bc9af6e7241b956bcadf7a48b0c05e4df2085fa9f0219ffff032174c0f53f53dcb2ebf30aa3d306a6369bc3dbabb750271b794153e6e2fef28b0318044bad82588c7a2b53c2d9db98c0710d036ef89e8559c85eb4f90e69f4aa410311bdfad0aad79400a45ddccc375fdcbebd82f7a94d1c2a10baced2e193ede8520321db6bb0f167ebfdd59bec7500d26fc998286bee8933ddabe8e3879e8ebb283b034832713a590cba5126cf5018bd07ccd7eeaceae8d8567cea5ae8cc058ad2401b03c952a4184ebe79ac93b60557a141f0eb75b949bb6fd43bd0f3400480fcf028b90301d871bca60e180256cdf6418f006fc7390399c988b7ec55ba90334bea8afe6d039fd64e7283f0b2edb3ceba6e8e9fba35cf65199c2bd0e74641eaea07ca89425000581f02674d9769226c6e4ced5be203ee123375f01bb06ca59cd7f5292eb1781c5c5205a600000000000000000000000064d9e2fb037bf88ea35f2a57cc6d8156c7de03a10ca56dd443b0315acdbbf32c5d642ea56100581f02f236a7aac540b0b05de409d1f8fb1f0dd5b7ac5383cf8a02d8f6d48035e65820eee3dea5f2937d8eacdc5b9e49ba89628885c069a4a754b80b2646440ebdcafa037568937ab008fb5b84759c5aba47ee62245ea222f691da7a481b0c118b524a7603d2116926a78edf2c42d8744803cc38a129c8ca06d0be3befed14d9d8b3b3cf4d03293f927c5a7fa9698fbe2eb27efbab438f6b11a595f4dec177aff723d8eb6ab30305ed81e14980021fe1958ffe9c67ec9a973eaca643a19fa0fe9099897bd9ddb200581f02a6bb93f193384925b4e9672b6dde457839d6505f12accfb4d92e477ff36a5207ea00000000000000000000000064f9bad3033864d5786718b2093082723ddbc7bc9a3fe29995127d13d25227343c44f9ec06033d18e3991ac8ad52e6fc8831cfa7234f3cebd10850c651cac60bd30aebbeb66203a85e148ab765612aa488e4bfeda1f85ba790aa9576ba03bc942f27d87ac887be00581f025549d234bb113b0824fd94c71ee4259cf2e20bb50f09341971f926f0b174520f720000000000000000000000006563a4af031ebdccfabdb056380a74b6bc25caf7c516f2405b355acda210d28f413aeb37690219f7f3031674d56f33e4ffcb00ab62e81dcccba6abbe24c42b8e8a5d3266d24d6eb42cb5037f209c7afc08e4b52dca05ef6ca4aa9924f6cf5f55f10d423c02dee78faae951039c26f036ff8dd10f9f34da44d8da2138f57b15d1def40b5da382b86d5d16e5ba03c70ef1482d405645d89f0c6bc3ef299766845ef815b8f0c3cb156db4b02c5bde030748d3dea20b8ba9ad9193f110511736c4db5c2a223fd402a936a1a46c68b76803905dfaf95c1aec58c89ce453032373606e6c7ffffdf57baff902eaace4ae8225032dba93e5d77b7eab5c77979e4268e586244dd4e71517d4f896e03fee7705c3a90383efb30120e9e71e3eb86bcad1e233e113fa2fb3fccff91940518284afa1467d03ddec2ca5bc4379aad46478f50be392f6c985bf0686bbbabb18ba85e8de91dad40376e58ea8a2bb0ac789db83f5b605cf2efecccd72281aaf332deec4d090005d62030159a1627cde8c19ac81aab69bffa8a4e4278206f0a0a01703431882c340dde20340a2770808ed4db71ac256a69875c7688764b9ecb855bbb644d711972722c6520219ffff03f90e7fe9c2ed09a187f8b4033c1e09784ccf755404a07da51f89d604e41f965003fa5c556f6d2676670bedff2a83cc31539ce9db5f6d13a352976b5a715e0767b903e55b19ee64ab83f230d4fa17bb34f57c6585a56fc86c9cfe5c6a4a410e78939203bfa46ede1834c25b949453c2399169e2775a660d16dfd4e3d2513659c7ba6d9c03d4ad98fd07a0ecc74d773ec0fc5d8683c70bdf45f9e9a4e53255acbb8f1b662903594b87fd4bc297b2f65543bae776d24734fb22d383ab12a6b218c6fc8b67925303ce274434ada7dcaa96bee97de45b8d681eda3011e9109054d857d54d0da989b403fe5670f632d3744874cd3eba01b953e65f98b1034136987023394bebf0d321ee030ee082e3bd4ce574df03dcfa11efba926c696f34b74414524b029d2ca7afbe6903d96f3dfa74aeafb1a97ab706aaca4584afdfaae07974bd67401b24c2b64d9d3203782f791019bb0b272e8fb52939e3cd8dddfe79cc2f588707b1abb95e20c3cc760219ffff0389d46b9cf87f62a8ec73acab8fef9ae94b53640a45d363425d4ddeaafe406ecc03d078e31c63d13878b40c57a5d03f9005e5d356cdaf8b8274ce7fb2734c941004035d6f57dfbc4bbcc376f8a0a36467fd0ffc86aba13140d188dc9b9c0ff589ca0b03e17faf0d0b53d33a51233187b569a93241e011b595166b9135676780a231e281037b87a63b6fba7eff1ce310336d84bc4a244971c5c28eb7e9b25c78e4289399f703b31f36155a2d4b9ef51bd8bdd3d600db3fcc5fdc34cf8d83077ce783e900b0e903dcbbfbc1a05564cac74774563637fa2396f181c5510556e338c4bf7ec85272c703ebd5d51f5552b4ca7db2ad38860d6e23807546b6c2c7bc39ab2bb9f16dbc87540397029d96a859033964b4304f4c14c9f37d09c070371a64a2afca771929a960c1039492c6ed08a9825a00610066f952a798b14b1792ee8d6efd977804effa2b3030031fe3d6087fe8be6259da8948322ea15147dc616e7f7a5daf2297162d711a94b803272533b74fae9a33508b85995114a231c92e16624009a020fa5f53b0132991b200581f024f5d619dd2a54f99f23cb64d57a70f5f2539544ceac97d77c390c3126bdd58204d653d4f218b3842890517f7c6b61cde2dc0556c280d2836c9ae7b7db26b4bbe032614a690d7cac53ee8999f2f7f01c01aa507aa0ec333f35802539c24d799e09c00581f03bdc4b0822e14a700c3d9dba47e2254f4a0461e6679a6479bf6bca2ae416058201d200a08a9672e514836c94f8cfc48dec8d7b86232a9c4b50752a246aaa5642100581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60581c012dcc0c00000000000186a00000000000000000000000003b9aca0000581f033e967c5c19d2f9e80e129e80a5c43e4f0ff79f3ab3a807060ae08f2a1f00521c3e0000000000000000000000006617a59f00581f03a22540210553204f574daa5b7084878bd3818ce5bdb0360e2fc0d86624c0410102190226038e15d20554f88887193429d38ce3f157bf2802066033511edc3abe2f5633b18b0219deff03722a7e1bb2f9b6a33cbd2e5563a5fd52b19ce3fddc158d432ee1dd270ead903203708b2fdbe7a218c0cc4c43f74d92d22554be9b36647c6e94261f76b3823e461503591d84dd720efaed2b9e51fff9e69ec846607f76aa4fea283deb41c849ea8c720345289bf8f5a320f29d7ae22299db25f54511c41d25b5cdba382799b2abd75ac2030363753a878dfdd959d906b32d9969b6fadc1c27bcd84b9ad87c541b81f2f2d303510f2806d32edad61753f02e4406cefe6c8f843b62c57e793eeffa4d89e743f103a512d1cc64db796019dff96fec41ce242856999be70a3f999a3a13c17197029b036dc38c988c6bc688a674fd937e3d475a0ac6f336ea85c7ce1fdc58644888e96b03d4de92f8cfd4a6f14b878b88afbc8df6fde0ad2e5d97db3a88a306bbbdf35062036c137f4e092bdb0da713000a537c5c82a96b4da8f154f0f5c8056f859f19cb3e039d2a455aad44d3b564e631709fbccf9ee1cc96da9161e9c3afd7b14ff335400d03fb2cd1130162551cdbf93a8e5646c063f90f0bf1b644ac33693c7a63728e249703cbd80c1c525d589ce7617c046b51d6154bbd142b221e2b13aa0f627afe1787850395a8eaff828e1799fb75d5dbf909123859764f059876f784d8de971b6580f000039ce66ede6aefd44c1ab21c853f004116c7364bee7beaea8f1d5023256f4089af0219ffff03c88f938e0fffe38510c16c333fd92effaffce11c8b749aadcb65051b7deada280333e5197e4ba34142f74d2b8066cb4f0b254a039bcf1f190563192f2bcb217b8d030f7c119d029ac2058d94cd9ffe58d20d6973c4ee3c75ddd7340234a34275ecac0300a6ee89e7981f07f2f2cb26e8b54dcc6df7591f4f84db5e0941c5e2980cade0032d9baa89e310d0c6ac17b932352fb1cb8ffee930be47ba85a946e7fe2cf4e3d203133361dea097c60f142979cc35d6377305ba75a904fbfff82686690d5f20d38e0304f43e68d2fae402ff79c6240984d5eb6c8b034ae6517b787bd636e8cf542ae80310b47a5c51287d3a7eb8d924a1dae0f4a7b8847e50ed9edfe13752a86218aa90034c08eef6c56b471170c59d9c88e9f76e80a8c33d5cf7d7ca2d0f9d8a3b0a8b2a0344623d61658b51e02b26e3e6a5fe89d4a1eace152559045daf810f263be7a01903115fbc47b5d4f263013835c7793276a9d9742857fe0fa96cbf10eb85139a53810320ed93f435a806b420fd66edd70247d7bb31851c656955363527cab873c136e60379d9badbf08bf0f2d80b4803702b8fa5a1702e99a60e36f89383d054e129d27a036480327160544d728e583791f97fb49f720a8bc96cec96e9456b3c538d1f35300219ffff03553db6298973df104c03e4fe696a0313c7f4b7da37a110034443a4ababa7c17f03a21ac41381a4fdb6d771bb3301a4d65352e91bbd8ec63c614a66c82c6fe6ce3403a3faead8a44792f7689663319e19927517e6e12c964e75c0745e52ca5eb22304037e2dac2153f89b06ba8e8ed24334752eabd0b3c1c5c5fc70e7f3f819b325ac9103e180378f4a985b68c7467c9953e3ed0dda3f33774a66c0e14794a14deb21a81b038967d2895879044ad6acd4f5f16b8c8408ebbe34da61ca3326448edd15c51531036c3e76d6fa79107b8dfbdfd72f5c96c461146784fd94698c1c00dbb86a40a762036fabeb4c77327d182f91bdaefacc2492f934ac38712005a119510a8933619201031c132a6b874fd6a29a4ae0008a41ebbf53d7ec308c7ee51aab78568b0bbc26bb0371200344053743590526141761c357e04f40a474ce422571c87bde1bd5c723b303d0c70f34172931003916490939a88dad5928a7d6afef5126e160f5cd93ef398603adb718bd98a57acc18035957bfd44d82265a7770c64ace42bc3f569287fd78f803d3f49b1138c5f9e9aea6b7df7aa35741a8ec5a6e9106827396b50446a2d5b860031fdd9ec01d5cedf768e9723d3b105dacd2dc2dbee615248344ad9bf185a9a3b80332f8b38d02c7f3341188dabc10183b6ed29b407fd786003c865750997de88f5803d67aed8ab0cf60daa86bacc7efbb76028ad3f684bf7b648d4a58095cd760f0e90379e9b7f6717d75988178aa4931aacb20e453314f315cf68db43170e6fab9419a03536e7a5bd8dcec6c28a6777f3ec6173a7703952239ea1d1f5b17d5d4ab25818a0384a338d0a790e90ce7ec27cf2c2fc5de7129eaa0e53e019215182d539e6b1626031e96ebe8a149477c7629ec178d59ac7df9b6a9f578ce2fdc503142070563b7a903041e4ad0f18e0a08d6539da24bdd04157568c4e2724e21d2cb4a99263211b0fc035c1eec1ef5e12f438c56425e09255f4bb17daaf8642699c571e4d8f4b0c1e9fb03b1cb71c82b7c4b179a73d3593978bca5c7938e7fc8425085c6dcae34c50bb94603aa0fe9c4e06555c99ae4fde7de27a52ff05192a98a68656eec125a278923737003cd53f35d97ee76bd781b57278624487e97ab09e0c08e0d1390a026fcce63e92303508a5ec7b6007cca3a32efb38550ce55f9786a6eb173b0866e020e45aabc50fe03f4b4a2a22f99a91ccffcc437c4e63cfa2ff49197c7f487b44aeb33fb42908d0600581f0255a976a49e8be36978c0da2abb92601725dfc02fff71e3c928a2bce61d8852070400000000000000000000000064ed39a303cf52c798bdf2dc0e1bc505895cea218a4f1a3068455b914536ca72872c47948c00581f035a1e2929a6fe893ef226654b61b1c5e53a418efff7435998785e2049cca05820b262066214e85868864f671ba852552fe4c683335f61d373a4afb822bb140ec500581f037bb261730f1f44a8a5d498146e0ac83b00669617e264246f85c1b8a87e4041010219081000581f02d18d4bfb8913de4341c101f1ff7d95d485051adda44947340669776c67a9582038a12467434ffd8bb31e58a5df5f3fa1a227dd2b92cc587364d4562d693f778a00581f02065ec0cf937e143910e09ca2cbbae7ffec06fab9d500386971ee45fc3c6e520db4000000000000000000000000654b225f03797c5b08614c792c360346c3fdf5c5da3327ba7ccd3aac2b70bcfe1dd294242f03d18fa7a2687bf3dda0d95862c6fd34dbf000c7f29a441d8b49ea9a35668ae63f00581f02cd018566ea3c3a550d75d9b1b878eab0700349b77a575ebb95b2b6048a2352082f00000000000000000000000064fd8c2b03230f788242e0dc2cff4b4ae50dda8f74d74b5d0372eed1e744c7e8fa152b317000581f02579730ddf7c9494a739c67e35fcee27bf50ab3b837020a1c3ae59b77f3af41010375b22543b0578aa56d785e727e695cac7ee434d4c4435748e3ca184f8bd64ed80322ed824faec2183452757f6fa8d1125a3688cf72ed02c8190772c8ae5efe89d6033c4db087d1ad718f97685b7f6ecd069e6d8090888ed4d61a532b1fe56076366a00581f02fbcc5425cd95cdb1108d5f813911c90a5600550b9239216bb3a7d8cc5e8b41010219ffff03e062dc5385c2d6f76f9b368e4f0e00681715b3c16fe94c8273f8a2bead131aac034b316207a056d1486ac2db29b07c18abaf00bf5c2e81a05641bd52af58200ca403bb7a7d157bb2b9864545b9db58aaa2d853029789a3d48e430df5249761181db603777d079dc5fffe116acf1315f2dea29083a8c153729e00badf6ab6a18c97c79d0393d29efbca64364a97c8c8cd051ae691c48ab558eae925ece7eb758db11a10410219ffff0219ffff03afb6d298af619bbf86f4dae984c0d547c12bb341cc98f6e2b691b891bb02d41603a6329756c69758462776def76375789caa5200febea2013f5e9c2d746bf5fd6a035bfc477d7f29749ab75442b7204fb850941f474a334c1aec1d32b98e07f7f7300219ffff05581e037615e05f9c58d2e61bc2161b3ddae356f60fe3e1c928b41207b446eb400f014a577f577e055bd0bdc3df19083003fe32b4e4363508bfc5103c3fffdafb908cd1502e4907398e519a3b84bb8305b205581e036b8507da86e79e6b7332691e0848bf51c682f6a5d0ddd04727b1d9d670040205581e0330b1d2490e1a4e507df3ee8eb70c516b0de3c3e0fa6fd6d1799168c0800847470de4df820000032f660477d8bae8c3042ebcae783192bf4333edc7c0a4b67d2a8e3e8996de080c0333c752d9d242b907179056418051de28c27060aff841fbd9f01ccd1aba3aaf120219f59803a4ab19d1daa52b6f7eb01e75c19309dc5c5b0e73832a863ac0cfc04ff990d66e03807f90c65ad9748241fa6dc8944fba4da7c6a003cd2ee5d4645dfa53e0fc988f031e95b7cdad07ebd18f8b5eea411a77e06ce3e75acf45a60a80410549435ad3740329a3fb825fe8b1f3b39fe62607ef3d03475969d381d31dd1e7a6132aa0a3d8e803303d73b472c90d0e31c940ca0d8f2c96ee0b398a47c6967644cbdaf803d9aa3f034ac52fe09a920086bf1b0d8e82ec762e5b72dbfbe7f3a2cdb4cc1cf4c982dea303d61eef5e96e94b30fdb220325e4e078a3517ce84af7f4d012ce9ae5b86eb6cd203cd6dd5753c2957c83bfa9a310ef489f7b3b228cce00b5a33b57e7ebed32bf8d303f43841cb14d2d4d7f78f736c4edbd0692df7ed756e4ba793f6bf169570adc4bd0316a2dd6b4ffa1d5b6dad07f4acf38c69f799f028431c3234a57544caeb4bf50303dbe719692aefc520afbed91120fc35a77326ed4d1775cf72005fe0df38e023d903d56e2edbdeac681fd39bf0e1ced06899fe1ce16f2c8e84d02ad3772c07999d5803e68f8237aa2f5027b333f3e068aeb14521901cfbaebcd4bdd4cbf25ab66f5afc03ca86ae0d3f2506e7b5a3d7e57124a9f9dcc5a85a828345f7c8c2e718718c99510219ffff036c561e575c8b68626e14e9689823741d5dd7cdb6e5b8b161c771d62c796c3daa030facba63a040bfcf71359fc5168803500cc5dc29c2c81a0b7a56a06e14f360ca0341390263461e3576b1d6df8fdbeabdee914718db9761973c1117f86b3d214ddb03709d7f7f5e91a21fcf154fc5652400c75d5c3dfb2fa2a8f16818ec02c45c0e24033c74c81cf00db5c6613c878cf31d77d7c60a0d3247187ab03ada98761edace8c0306e0c4af55896bb7185a0d5f6d76569f14492aa4a351bc659cbce7567a3729050320957e81b5c31e6940483a6fe9f411b05da475aa3f7af83281a97c1813e54d9a03dd23ba5799f1735ccc72caa1ab8f4257c2bd706c08d7ce2c8c9359477c5f8e8703d6b959cf8b0ea3c080db64280facdd8f6f1604bd425c2af3194051204152cfaa0316b99097e50551364bf4d312e1d4a7af8db9246326c8f7dfbe0c2f5b16583fb1034936a7120ff677b59bd8b2d9e08341ac0ef295316d3914212634586d4fc4c1d603634a9fdfc803771a7241d669e0076c38e40d1aefe8813ec54306b4c22b88408f035e7180de2613936d0ed61ecd011b6a1644f2a82dd885d854538922eff8a6dbd103fcba8b5d553e3310a3acb624a4886f1dcbd3e45c5c77bd38606656a39bb9a5f903b25448361505925705d2fc6cbe6da1d305f4da2ce30ef122faa6f24ab3f620cc0219ffff03a65661f3e0e969dce954183a260ab668e4498a3bc7fb2e76f337c138c4fd257f039b912c393ad2cb130c354a5884a6fb28aa98e91be5c892e92560bffb09120bf10328e09d1664b77f2953a606c1abca1fa791310b58960d0717654ac209f1891b14034dbb3e591df11d328663cd5f562c0eb1e42ac97fb26b3f75ade399efeba6534c0328383eaa2b02980307c3191fa2c18660a39163dd3cfe8c560bcfa28e47bea2e003a5556e4e007744e1dd7cb04ea3ed835fb1108b5b931bccb731976bd9d96f2ddd0219ffff036e1cd58c06c207bcbadf9c102f94a3ea156884210b4ecfe45369e6a9ec6041ba03f74e2c7fefbf28feb62960fa46420f89cfedfee9ce3f118cc8b13dd94f7b298903ed3c0ff8e7fe38d079e1dd19a980172c54f9f5c9e7a176bb62cbd9d48d7a110303b6b644f2861c3544df1f03a2f06d3a75d94e736bf788c75eb8188b4e569e1b21030d3067005461f62de0a6c1aacde01077cf7ab88903bc0ce5dff2bfa91275bd9e03efa68c53626f77c4cd68cddef34b8330ced640b5fe803489ee7ee6af5221dd5f033d3127992c74e650c89eea0fb0d092aa52fd0a2ffd174493fa1a56d3fb895d35035fe15dc9256262ecbd1b5ad34f53ba3ca297511351ef666d5a52114b826c10da03be08bf9d44ab1a3160eefa72b969e60420b3c51b2599d1dca590788cb5672f6003e905d51d9ca1e0b9f760218ea978390658ad6906dd3d650219332a13e7ea9cd70219ffff039dc481dea3ee0d21a073acae70612a023b4678ab13284f4bb6eb624aa7c6ce3303f6f5d0eb1fdf1b295f1b3afc0bd479d02c025156fb7977edad79d6b0929f29fa03a889f7e38fe01143d9ad7b611ae05bf6df2bc439b82c3f7d7b0b578b640697fd03c832e08f3a413377ae90fe9ed2fb074c43b908ae3ba4cc52be036656811201be03c787b2db11f53fc890d53fc108106ca8cd435a4545e52cfea9ae2d98560703ff0312d07352dacd2d3436b5e32cd0cb02bf5617c0ed23d17062d658431cd2ef4044032c3ac77692668ac6453a4ed7d63ca0bcfcdd48bd62b790c273eadae6bbff504603a821d44d93d1f6470106068d09c03b5bd435ddecb862190d3457c4e6860c4ac1038cb88d674c5cbf9118200f91ff20ef1ce4199a755c23d819a73811d19e2c6f9d030054543edc8459e112b5468a1efcb89cfa6681cecdc70458a104a8f801870ec9032d24c2d0732fa99437ab0e08c9895d9d8095d2582c4c1685e84d04259b9b5d4703b73624c15452042dd4374bb58a60a39c76d106039aae27bbef44646fc2bb9b8403cc9e395eaded6fb4e1a3b47e6cbb3c6c035ae377b2d3cef35af2ca56243d459c03b78d902002fe1d0cf00609b065414d41b786d2f2433b00d7b56c127e1fa22be3036ed947a5306d7db1f876638a2c16f55eb9cf0b1aadf0f3f840c42717ff19725a03bb96e44ab475c5c77b18f48c9d2183f1ee89fbb62f2b3ee8dfebf828b0afa284032edf726dfdbb7e7909725cc38c2b4060c7ad3fdbdec72517732f5f628d2a223003435a7fe54384cdc4459b1507095b0c60e0fd46f3bf678e79a2d1d0a52679443e037af40efd0a845a3392b418143f5a2651641106d7dc38c85b6b9f4b832f40a7670303e7220193ea251cb5268c0a13efdd4fcb3ca3eccedc700e34cff685dbd6844e031d797ff11ab2b333dc908fc9bbd5d59128e8576f7807f7009f15520be6968553039d939ba95e9930141c38e32e4af3d1f18d95a8d015019d85cf3671948c87196c0340bb31f049aefdecbc21e4ed4f8f488ee0c95296c48a4b31378f173fc0cb320803aa9e79cab0fc224ce0c8a44f11c01894bbb4c7e7bd9031cbbc83310d8c2a536703ccceed61352e2bd47d33bbe6dd1c1fe507a6b9ecfad1db559cf42f8ad199fc2903101a449864c129e6951b6ece018bdc4a1a78e224da9b87529672b0043376d6c403757bacb64a27c961012b082dbcfba970f427ad22c186c881b97bfefaf7eb044c03b4e88c190b43675e4043ea812ea1ce9d191335ef6df74414b274fb0b92c3780603c700db49a66efb5e6471e6073f42ba6005ac1660fd4aa0bbb68e59b4556fdeb40357482b6638b7374859db01b989506ca4c770829becc2088c27d50f2c821fd54a036b7bf025895843c77006934f946fd631fae297c608d0231799283861041e8bff032bbfdbadac0f57b220e234840e14f3af23542efae222c9a9c46f64bf8c180bdc0373a416c8db499c0db91d7b70fe5546da1a7b71bea8c80e45be7154770bb5c1d503132bbf1c5fc8ca2f0ec435f6bcadac2da31cea621809d8568fcb0ea7a39cf4c403dce120483784591b7d2a3bb8d562fcb3d2882eff1fadd89064bc6122b692d37805581e03ea44299e90e556505c6869f8ea55cb0de86f25b21d42ea06b0bf625f700c0446558f0d4a7620038f0816420325c9e4412644b2d1177be8cb5c0e64c1750a2434f448d7302eea0803947053ae9e38e17979d814bf2e049efdb8e24d009e70f8bd09a7747ee616b5f905581e0347acbada9e8589a13bb7fc6aadec903743b764109086ebfb6eeaa5b6e0040405581e03152df5e452eb30f943cd2c5edd4ab759e2c21a26e4737485f84400d3300847028ed6103d000005581d02837506b74ea182b7a851bed42717ba538324972b288e839344e9940c0c0147104407d1a3c00005581d026d2c7214a546581628b35bf1d03d5f93b13bfe58bc1ab7701129d6e60c1248012e1fcb558487510219a00003c4ce1799cf56c1978b82b45826adb4d0a575405906d18813dab9566a8eefabd305581e03d33c3e6b232c863c0985fb44df2c890fe200ce9d24e9099ce2a44085b00c02470fa17e69b01f2d05581e03cef12d3bcc9a8f6b6ab52cbe9b8434c99e59d97be9c78d1b80ad0e5c600c074703e26e0970f96e0219f3c4032a2ba8c6269d6c68b8cedb62e4875f1fa7ab1f73cd077373458fb1b6ebf29f45038b0b9a1909b3eaa5afc912b048e654faa178650a24b9a7067462bbd3b344cf1a03dbbb42aa6f5cb9d25bc1e8bdc7f0f1386315ec287b1b8b9b82696a7827e1645f0219ffff03255afab434181b3dcb5f9ce16776c516287fd81785f60d2fc1f9143452f19882030195328a7cf4bc7af12186b73b0c7038ed51811f21b327a84b873b977c3f2d2d0336a6a061a8c90ca0744a0176b474538316fd28694194732b6409a8972939df0503a32a77b4fa875ce9499598a7f2aa3b6bef6682816ea8d10ecb37b5a647b1239603c7a51ff28471e9d02cd7be309944d14053bf5abfe811d28183fdff46530752f30219ffff032ebd07b349080e49520cfbbc520c11e4852bbe260ff09477ef7a910e35e0be0903279b088a88f6c6479ff6b3085a1bb592a2311f9ff1987d1a8eaf1d1da935e4b703e8ea5c7667a97b6c3bf296365bc6bb48411e10a5a6f68f0e79d3729b3dc8d21d0319e1ce7a8db679887a38ddfd00635f2fb27c40de2a431d2f6439a155b318ff5c03cb12bedb95be1aedef11b73d4c1d26418ecf8122d4e77525b966f63787f1719303c0c4d31dccf1496d97253bcc527a08298023772890a796b070c1ddee6c7c924c03a68650b6b50f1c67c3cba618b319e07a0fee3cccc29a09fb43bd22bc56dc6e7303135efa9a58d7dfc5e86d61db13be5a59c0dead72705f78b74b3a097d7e51df540353c25aae719dfbe9d4362d8256888cf766206d5d31093ea701bfaf9912e03ea60361c84cc4d8ac0e8f37bcb515c9defd01e86e37a904583e22f56ff472457484790219ffff03e7f798a37cb4b2be85aff80b438f93ff7f0611135e469425d370ab59b77b00800333b41c0849083e56921f2b5a56632cd4b22f8dbfa3e0fea57d96fd0be75a756903a96238d0b515df3291335c7cb06ea8eddcefa77714b6d3b8d791de4001ad5f14034347a4d15d8c5efadc4f27ff6a679fa774c05b6e709fc17f27a1d0d3c428c36b035f96c8b0385c9fb3d28b79ba1952efaf604d34401e5ebb58884a58ccdac6bcc5034e10a2e4fb97a0f5981874e16ead3cbab0451b3498bdc582a7d14f8825b39b4c03dd53e35febd6bcd4909ac1a3ecc445b02b543bf27e5b90d4f42a40b735f3837703f8ba9984ff71e7713d3a41bd23189bf7bdecb50ed96a32c2addea7533d96ca5f03dfb81e71a9ae6e348ce4c0881eb5e97a113b732524deb5085eb1af3e5fc385fc03b859ce82a38695eab6b74cbcb3e33b6b167ffd46b85f0c8b3a5528f59cc6c4340327ab6f6433e0e3e3011e34b7ff9d6f7ebf27c37c89a49393df67d73ae4285e2603368bc71112c053beaaad54a0341bacc2c5ae5f609daf27ba5a3236e1c9bb516303c2a460dfe67dff990eeed353d8d558de6237456af2cb6fac621e1a84f0154ec703a397ad9416573ad693208b9ac28eef28797a6cd650d44b83737ce0483a3f5f110380ca593a4a23f948734ff44629c3ab14bf9499148409c058ba6483db31826bb4039979fbc198ad26dd7d0a790f0ba76f8c9be4ef2992b560a77f8d0a847f88011a03544a68b88dd9a804bd252a513f986f5c55d87cc6903a8a42fee5012478a50fb9035e62e06385f6e56db0b7673644941b31eab94458ec30b21cdfddec548924d8a103d01cb332e19e7d01a730e288d05fa3ca5b22c0899a29c7e825af245ee10255be031fa1dc5f5e182574eee61d238eed2620a85827d941da01901261eb60ab672f3403a55a328a379a98fdb98b9652fe3ee372aa1c1371e2652d9568df8003c16d501c05581e033b51921bd7425a71e99248d5edfa9b4c5389bca9b5cf8f850d1b0298a00c014802d2b7000a9d37870458b76080604052600a600c565b005b60186014601a565b605e565b565b600060597f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e808015607c573d6000f35b3d6000fdfea2646970667358221220f63d24c65fc47b290530c9be9999786eafa858b6c52a0d3b9a4eba5fd50de7b564736f6c63430008150033005821036e2b80b7b84692531920b7411a7fe660f473fe8e619040e7f028fd000a64a5a041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630545b1d655c93185b06b00f7925791106132cb3ad750058210307c53a036b027faed5a16cd3d80ad3b638cf5c43d0da61ecd16e3dbad3487b7041010058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0549ebab3b21b5ef5709bd476b022fc432fc84c0e86005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0546dff25259e86f51e8b895996a7c0963ed13a0daa0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054c71a726d390bf02b4af8920c0820970310d0f367005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b054e6cd4727a1058e6973e973986d0493f1e7975ef80058210328a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c6041010219589e05581e032b59afeccbf59469d34fb3ed8527e0079d6cc6c2085843fd3657b433e0070118b705581e03d381fe4e3bc662370451e14f8c699cd18ab3f204aadf748010a09bbf700c0b46b078f4d0c33705581e03e2091720d89f824e3dbe6ca7f51340397260c2d1352e87851e79a6c6600c03471d47c58596f00003492438d987ed438cfb1c9a731eb8be1bbb66f9774dc50251257676a08b38fde2038272e0c2d81f4842dfc94af096d61f92ff3b3a6eecc16cb6f627883174553c0105581e03b4931f9f88fc7d7f7cb0fbf9d4147a9207997788300033e5d843edc8b004010219ac3603635cc2d16e494c229d3c515b4d102e83a082cd349c9a7c48af9c4580f3f7d2df0332dbead241d777e5e91d8720849b443342a8b2e145b2b41213f9866992a0ab5803b1c35d0942cbff1052528d42b6a529af9a708c13627c63716ce084ff1cd46fec03d15f2f9694404baa4a33a1d91b41883f688da8cfc6611801a3db61e6d22717b003b7bb5b15ca8ed231b4d5d2e8abb6f5aefeba45fdb46d0809d3202040f309bef20305866ae99a5916b9f82519c352bc6c18ce9dbd757159cc746e0af5bf0dbcb9ff034cec988bf429dec2babf5106314621498e4d1ca93f3634bfaadec16705579ec203f273d67b99ced34540fa63d6274b7d9bd3ddf7fd13f841faaabe136e545c865c03813a5064039d7e43b514c9a113ea5c2a5481a6bc111e1b8aeb2b6ad0738242a8031fec59efd8e100117c67a27938a085ac83b8cfae8685d5c86300616d12ba39f503576188f0a69a050b8cabbb755165aad42edd0a2e19c91ee85cd618663ec77b330317ebe217e9c3786fc9f2f3534f641c84c90d411ee7e986a7ce984f8e81d1ba480391524221572f032bf0e0229eb9bc9e58f1f8cc4576e183a9458270641a09f4180314163e94829c804acdf9b9dd8d0c9ca320f289c7a4b7bf4311732b762d59f42a039570fb01ac5d7e4adc2ed5b5faf2317893f3bcb21399b22984b7fb98793209410219ffff0326a7f273eed0db3530556382c1f414b029a1e4db8220b10afb35deb331ed43e803f5e85e00997feef8e1d71d32828c7ac2bfbb31f250ab271f1812df54ed2918a6039662d1d3e4d7ffab777657547babde28917d0ddc0321d19f3c8ef135e01c49a1032715edba27fbd3716ab74aac66f1fc921f6cd0facfbbc5d9a1c9fac6a4dfbddb0311e71907f23115ffbe9380d9a1cf08b5cd3819ff83260d872f7ee61638436c6d03d593965b9b84d014d60707909ff9663114b44baf524e99079129a2951463847403cf2586cdf6c7e04062c8d72f600d57bc4b405a7b492fe43f2115ae3398ac73820306dea8974b492a4bf69c978a6c82a2d2e9816ecdfaf23c8f6deff8f4150be09c03784f38d98adec424c1e89a2e73adf2bc8ba82f1fb00156453565b745b05e46fe03e5183e27a863cc80ada24c9ccf5f870055d76f0a2ab113c6930514d3a3df87270219ffff032556cc800e9329227b4421d7ded8f2a42d5b8d73fbd34b93e2c56fc1ef706cd203e6bf296906ce5c0a0c2bded96e7c7319d06a518d58744c1929b91e173522dd1803bc9209983468e4258e86a5f7225154d9bd280e8aaa48a7af42339ac220b91e24030cd73fac377e01185c66b7ee46182a6b1d5bda01713b4176b16fff826bedd6e50219ffff0397689dbfed1a2d2991c8d0201ad54854aa38bdea27ee030b6d80d912cf58e04903a5e1283cb7ec325bd1aceb22789cfee22aa04490956baf9e9af217a00b4a2c4d0219ffff036ec30e7993109011aa87bc40dc4a914887406fc81b183b34ea4c1f598d57873c03b5861d821369c64342624511286c0061ebe390f69ce34782a892bc657b97b62203151d81913ec4de6bcb64b110d90be6d55a06be241600f80bbbb5a95fcef86c980367d11b7737c0638d19d0245abea291e8838243acd3bc7a4494ea9413b8badcb8039b9c3cd208388dcfdf82f68ba3960b4f71086dfe30ba687e193a155f8d37b38303a7faeadf9ff0d7703215d7e5e6fc9bcff2a24bd751037c0859aa1e2aa6ed496903afb2763f7fd2e64883e263e18cdd001865c316a96972585e4df558d98d03795503b6aca516343c2c6eebe948039e6236c9b79af9dac983f7bf0cbc50fe03fb67e803dec05c29becc01670adca0f81d32af4e25beb7bed2319c2d065c3aee628e15fc03412f38c01cbced4e2f98e9d170d73048c75892daefe55ca5044ab6e288888c5203f0b98a29372615542db9e545f4a1b1b98583c1e0e46b2a95317d88d99fb520f903e2b3923ccfcc23963db57b84832a836cc3307837a63e951a6c2f0b53c403346b036f6e34c622b362a2f88f90c139b93466ad9de09d6efaf228014f0f0bc7576678033803d93536a3990b6467a917bbb61044f558a9c6e5da6beaa65e119eca6faa1503617f879a0fe25880b6361dc07d53dd42bc49b51c1e83c58a004423f766c2f1c00142005f03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03a83cada35ab354c071acf7bdf5b372376e807ad2f8312401ed46183a0007011bffffffffffffffff05581e03cdf74969ac0a3cdd757f0855666879fed4308deac47d40cb8f22fb8330040105581e03f5a6fca6289eb82fa25b13e017e9777fc7dcb1ca1e9d34c9f5fa0bbea00c0b4701c51d45c7cc6005581e0302bc54dbe58e73aee8b8f6878d56a259354b7bac4a842bb556022cdcb00c1822470285f3c3167f8005581e035b95742d667a04616fccc93bc621dfd20fba06168977fc99cf7edee47004020335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03e8356534f7850b27aac207714a3b03240fd677aac6b024c20c8e19c23007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e038db0ed1f1188e66a853635ef77182ccde01209e5c3d4466a43ee5ca64007011bffffffffffffffff0459566060806040526004361061012c5760003560e01c80638c3152e9116100a5578063cff0ab9611610074578063e965084c11610059578063e965084c14610417578063e9e05c42146104a3578063f0498750146104b657600080fd5b8063cff0ab9614610356578063d53a822f146103f757600080fd5b80638c3152e9146102a05780639bf62d82146102c0578063a14238e7146102ed578063a35d99df1461031d57600080fd5b80635c975abb116100fc578063724c184c116100e1578063724c184c146102575780638456cb591461028b5780638b4c40b01461015157600080fd5b80635c975abb1461020d5780636dbffb781461023757600080fd5b80621c2ff6146101585780633f4ba83a146101b65780634870496f146101cb57806354fd4d50146101eb57600080fd5b36610153576101513334620186a06000604051806020016040528060008152506104ea565b005b600080fd5b34801561016457600080fd5b5061018c7f00000000000000000000000056315b90c40730925ec5485cf004d835058518a081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101c257600080fd5b50610151610785565b3480156101d757600080fd5b506101516101e6366004614be9565b6108a8565b3480156101f757600080fd5b50610200610f0e565b6040516101ad9190614d3f565b34801561021957600080fd5b506035546102279060ff1681565b60405190151581526020016101ad565b34801561024357600080fd5b50610227610252366004614d52565b610fb1565b34801561026357600080fd5b5061018c7f00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e05681565b34801561029757600080fd5b50610151611088565b3480156102ac57600080fd5b506101516102bb366004614d6b565b6111a8565b3480156102cc57600080fd5b5060325461018c9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102f957600080fd5b50610227610308366004614d52565b60336020526000908152604090205460ff1681565b34801561032957600080fd5b5061033d610338366004614db8565b611a83565b60405167ffffffffffffffff90911681526020016101ad565b34801561036257600080fd5b506001546103be906fffffffffffffffffffffffffffffffff81169067ffffffffffffffff7001000000000000000000000000000000008204811691780100000000000000000000000000000000000000000000000090041683565b604080516fffffffffffffffffffffffffffffffff909416845267ffffffffffffffff92831660208501529116908201526060016101ad565b34801561040357600080fd5b50610151610412366004614de3565b611a9c565b34801561042357600080fd5b50610475610432366004614d52565b603460205260009081526040902080546001909101546fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041683565b604080519384526fffffffffffffffffffffffffffffffff92831660208501529116908201526060016101ad565b6101516104b1366004614dfe565b6104ea565b3480156104c257600080fd5b5061018c7f00000000000000000000000073a79fab69143498ed3712e519a88a918e1f407281565b8260005a905083156105a15773ffffffffffffffffffffffffffffffffffffffff8716156105a157604080517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482015260248101919091527f4f7074696d69736d506f7274616c3a206d7573742073656e6420746f2061646460448201527f72657373283029207768656e206372656174696e67206120636f6e747261637460648201526084015b60405180910390fd5b6105ab8351611a83565b67ffffffffffffffff168567ffffffffffffffff16101561064e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f7074696d69736d506f7274616c3a20676173206c696d697420746f6f20736d60448201527f616c6c00000000000000000000000000000000000000000000000000000000006064820152608401610598565b6201d4c0835111156106bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4f7074696d69736d506f7274616c3a206461746120746f6f206c6172676500006044820152606401610598565b333281146106dd575033731111000000000000000000000000000000001111015b600034888888886040516020016106f8959493929190614e77565b604051602081830303815290604052905060008973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32846040516107689190614d3f565b60405180910390a4505061077c8282611ca5565b50505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056161461084a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f7074696d69736d506f7274616c3a206f6e6c7920677561726469616e20636160448201527f6e20756e706175736500000000000000000000000000000000000000000000006064820152608401610598565b603580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b60355460ff1615610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f7074696d69736d506f7274616c3a20706175736564000000000000000000006044820152606401610598565b3073ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16036109d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d506f7274616c3a20796f752063616e6e6f742073656e642060448201527f6d6573736167657320746f2074686520706f7274616c20636f6e7472616374006064820152608401610598565b6040517fa25ae557000000000000000000000000000000000000000000000000000000008152600481018590526000907f00000000000000000000000056315b90c40730925ec5485cf004d835058518a073ffffffffffffffffffffffffffffffffffffffff169063a25ae55790602401606060405180830381865afa158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190614efc565b519050610aa0610a9b36869003860186614f61565b611fd2565b8114610b2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f7074696d69736d506f7274616c3a20696e76616c6964206f7574707574207260448201527f6f6f742070726f6f6600000000000000000000000000000000000000000000006064820152608401610598565b6000610b398761202e565b6000818152603460209081526040918290208251606081018452815481526001909101546fffffffffffffffffffffffffffffffff8082169383018490527001000000000000000000000000000000009091041692810192909252919250901580610c6b5750805160408083015190517fa25ae5570000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90911660048201527f00000000000000000000000056315b90c40730925ec5485cf004d835058518a073ffffffffffffffffffffffffffffffffffffffff169063a25ae55790602401606060405180830381865afa158015610c43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c679190614efc565b5114155b610cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173682060448201527f68617320616c7265616479206265656e2070726f76656e0000000000000000006064820152608401610598565b60408051602081018490526000918101829052606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201209083018190529250610dc09101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828201909152600182527f0100000000000000000000000000000000000000000000000000000000000000602083015290610db6888a614fc7565b8a6040013561205e565b610e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4f7074696d69736d506f7274616c3a20696e76616c696420776974686472617760448201527f616c20696e636c7573696f6e2070726f6f6600000000000000000000000000006064820152608401610598565b604080516060810182528581526fffffffffffffffffffffffffffffffff42811660208084019182528c831684860190815260008981526034835286812095518655925190518416700100000000000000000000000000000000029316929092176001909301929092558b830151908c0151925173ffffffffffffffffffffffffffffffffffffffff918216939091169186917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f629190a4505050505050505050565b6060610f397f0000000000000000000000000000000000000000000000000000000000000001612082565b610f627f0000000000000000000000000000000000000000000000000000000000000007612082565b610f8b7f0000000000000000000000000000000000000000000000000000000000000000612082565b604051602001610f9d9392919061504b565b604051602081830303815290604052905090565b6040517fa25ae557000000000000000000000000000000000000000000000000000000008152600481018290526000906110829073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000056315b90c40730925ec5485cf004d835058518a0169063a25ae55790602401606060405180830381865afa158015611043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110679190614efc565b602001516fffffffffffffffffffffffffffffffff166121bf565b92915050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000014536667cd30e52c0b458baaccb9fada7046e056161461114d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4f7074696d69736d506f7274616c3a206f6e6c7920677561726469616e20636160448201527f6e207061757365000000000000000000000000000000000000000000000000006064820152608401610598565b603580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200161089e565b60355460ff1615611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f7074696d69736d506f7274616c3a20706175736564000000000000000000006044820152606401610598565b60325473ffffffffffffffffffffffffffffffffffffffff1661dead146112be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d506f7274616c3a2063616e206f6e6c79207472696767657260448201527f206f6e65207769746864726177616c20706572207472616e73616374696f6e006064820152608401610598565b60006112c98261202e565b60008181526034602090815260408083208151606081018352815481526001909101546fffffffffffffffffffffffffffffffff808216948301859052700100000000000000000000000000000000909104169181019190915292935090036113b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173206e60448201527f6f74206265656e2070726f76656e2079657400000000000000000000000000006064820152608401610598565b7f00000000000000000000000056315b90c40730925ec5485cf004d835058518a073ffffffffffffffffffffffffffffffffffffffff1663887862726040518163ffffffff1660e01b8152600401602060405180830381865afa15801561141f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144391906150c1565b81602001516fffffffffffffffffffffffffffffffff16101561150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f4f7074696d69736d506f7274616c3a207769746864726177616c2074696d657360448201527f74616d70206c657373207468616e204c32204f7261636c65207374617274696e60648201527f672074696d657374616d70000000000000000000000000000000000000000000608482015260a401610598565b61152d81602001516fffffffffffffffffffffffffffffffff166121bf565b6115df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604560248201527f4f7074696d69736d506f7274616c3a2070726f76656e2077697468647261776160448201527f6c2066696e616c697a6174696f6e20706572696f6420686173206e6f7420656c60648201527f6170736564000000000000000000000000000000000000000000000000000000608482015260a401610598565b60408181015190517fa25ae5570000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90911660048201526000907f00000000000000000000000056315b90c40730925ec5485cf004d835058518a073ffffffffffffffffffffffffffffffffffffffff169063a25ae55790602401606060405180830381865afa158015611684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a89190614efc565b8251815191925014611762576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604960248201527f4f7074696d69736d506f7274616c3a206f757470757420726f6f742070726f7660448201527f656e206973206e6f74207468652073616d652061732063757272656e74206f7560648201527f7470757420726f6f740000000000000000000000000000000000000000000000608482015260a401610598565b61178181602001516fffffffffffffffffffffffffffffffff166121bf565b611833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f4f7074696d69736d506f7274616c3a206f75747075742070726f706f73616c2060448201527f66696e616c697a6174696f6e20706572696f6420686173206e6f7420656c617060648201527f7365640000000000000000000000000000000000000000000000000000000000608482015260a401610598565b60008381526033602052604090205460ff16156118d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173206160448201527f6c7265616479206265656e2066696e616c697a656400000000000000000000006064820152608401610598565b600083815260336020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055908601516032805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff00000000000000000000000000000000000000009092169190911790558501516080860151606087015160a088015161197493929190612262565b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead17905560405190915084907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b906119d990841515815260200190565b60405180910390a2801580156119ef5750326001145b15611a7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f7074696d69736d506f7274616c3a207769746864726177616c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610598565b5050505050565b6000611a90826010615109565b61108290615208615139565b600054610100900460ff1615808015611abc5750600054600160ff909116105b80611ad65750303b158015611ad6575060005460ff166001145b611b62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610598565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611bc057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055603580548315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116179055611c226122c0565b8015611c8557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b600154600090611cdb907801000000000000000000000000000000000000000000000000900467ffffffffffffffff1643615165565b90506000611ce76123a3565b90506000816020015160ff16826000015163ffffffff16611d0891906151ab565b90508215611e3f57600154600090611d3f908390700100000000000000000000000000000000900467ffffffffffffffff16615213565b90506000836040015160ff1683611d569190615287565b600154611d769084906fffffffffffffffffffffffffffffffff16615287565b611d8091906151ab565b600154909150600090611dd190611daa9084906fffffffffffffffffffffffffffffffff16615343565b866060015163ffffffff168760a001516fffffffffffffffffffffffffffffffff16612469565b90506001861115611e0057611dfd611daa82876040015160ff1660018a611df89190615165565b612488565b90505b6fffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000067ffffffffffffffff4316021760015550505b60018054869190601090611e72908490700100000000000000000000000000000000900467ffffffffffffffff16615139565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550816000015163ffffffff16600160000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff161315611f55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5265736f757263654d65746572696e673a2063616e6e6f7420627579206d6f7260448201527f6520676173207468616e20617661696c61626c6520676173206c696d697400006064820152608401610598565b600154600090611f81906fffffffffffffffffffffffffffffffff1667ffffffffffffffff88166153b7565b90506000611f9348633b9aca006124dd565b611f9d90836153f4565b905060005a611fac9088615165565b905080821115611fc857611fc8611fc38284615165565b6124f4565b5050505050505050565b60008160000151826020015183604001518460600151604051602001612011949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b80516020808301516040808501516060860151608087015160a08801519351600097612011979096959101615408565b60008061206a86612522565b905061207881868686612554565b9695505050505050565b6060816000036120c557505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156120ef57806120d98161545f565b91506120e89050600a836153f4565b91506120c9565b60008167ffffffffffffffff81111561210a5761210a614a0f565b6040519080825280601f01601f191660200182016040528015612134576020820181803683370190505b5090505b84156121b757612149600183615165565b9150612156600a86615497565b6121619060306154ab565b60f81b818381518110612176576121766154c3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506121b0600a866153f4565b9450612138565b949350505050565b60007f00000000000000000000000056315b90c40730925ec5485cf004d835058518a073ffffffffffffffffffffffffffffffffffffffff1663f4daa2916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561222c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225091906150c1565b61225a90836154ab565b421192915050565b6000806000612272866000612584565b9050806122a8576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b600054610100900460ff16612357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610598565b60408051606081018252633b9aca00808252600060208301524367ffffffffffffffff169190920181905278010000000000000000000000000000000000000000000000000217600155565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091527f00000000000000000000000073a79fab69143498ed3712e519a88a918e1f407273ffffffffffffffffffffffffffffffffffffffff1663cc731b026040518163ffffffff1660e01b815260040160c060405180830381865afa158015612440573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124649190615517565b905090565b600061247e61247885856125a2565b836125b2565b90505b9392505050565b6000670de0b6b3a76400006124c96124a085836151ab565b6124b290670de0b6b3a7640000615213565b6124c485670de0b6b3a7640000615287565b6125c1565b6124d39086615287565b61247e91906151ab565b6000818310156124ed5781612481565b5090919050565b6000805a90505b825a6125079083615165565b101561251d576125168261545f565b91506124fb565b505050565b6060818051906020012060405160200161253e91815260200190565b6040516020818303038152906040529050919050565b600061257b846125658786866125f2565b8051602091820120825192909101919091201490565b95945050505050565b600080603f83619c4001026040850201603f5a021015949350505050565b6000818312156124ed5781612481565b60008183126124ed5781612481565b6000612481670de0b6b3a7640000836125d98661307a565b6125e39190615287565b6125ed91906151ab565b6132be565b6060600084511161265f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d65726b6c65547269653a20656d707479206b657900000000000000000000006044820152606401610598565b600061266a846134fd565b90506000612677866135ec565b905060008460405160200161268e91815260200190565b60405160208183030381529060405290506000805b8451811015612ff15760008582815181106126c0576126c06154c3565b60200260200101519050845183111561275b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201527f74616c206b6579206c656e6774680000000000000000000000000000000000006064820152608401610598565b8260000361281457805180516020918201206040516127a99261278392910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b61280f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f7420686173680000006044820152606401610598565b61296b565b8051516020116128ca578051805160209182012060405161283e9261278392910190815260200190565b61280f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e60448201527f616c2068617368000000000000000000000000000000000000000000000000006064820152608401610598565b80518451602080870191909120825191909201201461296b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f6460448201527f65206861736800000000000000000000000000000000000000000000000000006064820152608401610598565b612977601060016154ab565b81602001515103612b585784518303612af05760006129b382602001516010815181106129a6576129a66154c3565b602002602001015161364f565b90506000815111612a46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e63682900000000006064820152608401610598565b60018751612a549190615165565b8314612ae2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e6368290000000000006064820152608401610598565b965061248195505050505050565b6000858481518110612b0457612b046154c3565b602001015160f81c60f81b60f81c9050600082602001518260ff1681518110612b2f57612b2f6154c3565b60200260200101519050612b42816137af565b9550612b4f6001866154ab565b94505050612fde565b600281602001515103612f56576000612b70826137d4565b9050600081600081518110612b8757612b876154c3565b016020015160f81c90506000612b9e6002836155b6565b612ba99060026155d8565b90506000612bba848360ff166137f8565b90506000612bc88a896137f8565b90506000612bd6838361382e565b905080835114612c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b65790000000000006064820152608401610598565b60ff851660021480612c7d575060ff85166003145b15612e715780825114612d12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e6465720000006064820152608401610598565b6000612d2e88602001516001815181106129a6576129a66154c3565b90506000815111612dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c65616629000000000000006064820152608401610598565b60018d51612dcf9190615165565b8914612e5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c6561662900000000000000006064820152608401610598565b9c506124819b505050505050505050505050565b60ff85161580612e84575060ff85166001145b15612ec357612eb08760200151600181518110612ea357612ea36154c3565b60200260200101516137af565b9950612ebc818a6154ab565b9850612f4b565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f6465207769746860448201527f20616e20756e6b6e6f776e2070726566697800000000000000000000000000006064820152608401610598565b505050505050612fde565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e70617273656160448201527f626c65206e6f64650000000000000000000000000000000000000000000000006064820152608401610598565b5080612fe98161545f565b9150506126a3565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c6560448201527f6d656e74730000000000000000000000000000000000000000000000000000006064820152608401610598565b60008082136130e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e454400000000000000000000000000000000000000000000006044820152606401610598565b600060606130f2846138dd565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c182136132ef57506000919050565b680755bf798b4a1bf1e58212613361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4558505f4f564552464c4f5700000000000000000000000000000000000000006044820152606401610598565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b805160609060008167ffffffffffffffff81111561351d5761351d614a0f565b60405190808252806020026020018201604052801561356257816020015b604080518082019091526060808252602082015281526020019060019003908161353b5790505b50905060005b828110156135e457604051806040016040528086838151811061358d5761358d6154c3565b602002602001015181526020016135bc8784815181106135af576135af6154c3565b60200260200101516139b3565b8152508282815181106135d1576135d16154c3565b6020908102919091010152600101613568565b509392505050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b83811015613644578060011b82018184015160001a8060041c8253600f811660018301535050600101613616565b509295945050505050565b6060600080600061365f856139c6565b91945092509050600081600181111561367a5761367a6155fb565b14613707576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206279746573206973206e6f7420612064617461206974656d000000000000006064820152608401610598565b61371182846154ab565b8551146137a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f524c505265616465723a2062797465732076616c756520636f6e7461696e732060448201527f616e20696e76616c69642072656d61696e6465720000000000000000000000006064820152608401610598565b61257b85602001518484614433565b606060208260000151106137cb576137c68261364f565b611082565b611082826144d4565b60606110826137f383602001516000815181106129a6576129a66154c3565b6135ec565b6060825182106138175750604080516020810190915260008152611082565b61248183838486516138299190615165565b6144ea565b60008060008351855110613843578351613846565b84515b90505b80821080156138cd5750838281518110613865576138656154c3565b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168583815181106138a4576138a46154c3565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b156135e457816001019150613849565b6000808211613948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e454400000000000000000000000000000000000000000000006044820152606401610598565b5060016fffffffffffffffffffffffffffffffff821160071b82811c67ffffffffffffffff1060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b60606110826139c1836146c2565b6147ab565b600080600080846000015111613a84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620616e20524c50206974656d60448201527f206d7573742062652067726561746572207468616e207a65726f20746f20626560648201527f206465636f6461626c6500000000000000000000000000000000000000000000608482015260a401610598565b6020840151805160001a607f8111613aa957600060016000945094509450505061442c565b60b78111613cb7576000613abe608083615165565b905080876000015111613b79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604e60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20737472696e67206c656e6774682060648201527f2873686f727420737472696e6729000000000000000000000000000000000000608482015260a401610598565b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082141580613bf257507f80000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000821610155b613ca4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f524c505265616465723a20696e76616c6964207072656669782c2073696e676c60448201527f652062797465203c203078383020617265206e6f74207072656669786564202860648201527f73686f727420737472696e672900000000000000000000000000000000000000608482015260a401610598565b506001955093506000925061442c915050565b60bf8111614005576000613ccc60b783615165565b905080876000015111613d87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605160248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206265203e207468616e206c656e677468206f6620737472696e67206c656e60648201527f67746820286c6f6e6720737472696e6729000000000000000000000000000000608482015260a401610598565b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003613e65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f60648201527f6e6720737472696e672900000000000000000000000000000000000000000000608482015260a401610598565b600184015160088302610100031c60378111613f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20353520627974657320286c6f6e6760648201527f20737472696e6729000000000000000000000000000000000000000000000000608482015260a401610598565b613f3381846154ab565b895111613fe8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604c60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20746f74616c206c656e677468202860648201527f6c6f6e6720737472696e67290000000000000000000000000000000000000000608482015260a401610598565b613ff38360016154ab565b975095506000945061442c9350505050565b60f781116140e657600061401a60c083615165565b9050808760000151116140d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e206c697374206c656e67746820287360648201527f686f7274206c6973742900000000000000000000000000000000000000000000608482015260a401610598565b60019550935084925061442c915050565b60006140f360f783615165565b9050808760000151116141ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206265203e207468616e206c656e677468206f66206c697374206c656e677460648201527f6820286c6f6e67206c6973742900000000000000000000000000000000000000608482015260a401610598565b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361428c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f60648201527f6e67206c69737429000000000000000000000000000000000000000000000000608482015260a401610598565b600184015160088302610100031c60378111614350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20353520627974657320286c6f6e6760648201527f206c697374290000000000000000000000000000000000000000000000000000608482015260a401610598565b61435a81846154ab565b89511161440f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20746f74616c206c656e677468202860648201527f6c6f6e67206c6973742900000000000000000000000000000000000000000000608482015260a401610598565b61441a8360016154ab565b975095506001945061442c9350505050565b9193909250565b606060008267ffffffffffffffff81111561445057614450614a0f565b6040519080825280601f01601f19166020018201604052801561447a576020820181803683370190505b5090508260000361448c579050612481565b600061449885876154ab565b90506020820160005b858110156144b95782810151828201526020016144a1565b858111156144c8576000868301525b50919695505050505050565b6060611082826020015160008460000151614433565b60608182601f011015614559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610598565b8282840110156145c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610598565b81830184511015614632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610598565b60608215801561465157604051915060008252602082016040526146b9565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561468a578051835260209283019201614672565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6040805180820190915260008082526020820152600082511161478d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620616e20524c50206974656d60448201527f206d7573742062652067726561746572207468616e207a65726f20746f20626560648201527f206465636f6461626c6500000000000000000000000000000000000000000000608482015260a401610598565b50604080518082019091528151815260209182019181019190915290565b606060008060006147bb856139c6565b9194509250905060018160018111156147d6576147d66155fb565b14614863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206c697374206973206e6f742061206c697374206974656d00000000000000006064820152608401610598565b845161486f83856154ab565b146148fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f524c505265616465723a206c697374206974656d2068617320616e20696e766160448201527f6c696420646174612072656d61696e64657200000000000000000000000000006064820152608401610598565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816149155790505090506000845b8751811015614a03576000806149886040518060400160405280858d6000015161496c9190615165565b8152602001858d6020015161498191906154ab565b90526139c6565b5091509150604051806040016040528083836149a491906154ab565b8152602001848c602001516149b991906154ab565b8152508585815181106149ce576149ce6154c3565b60209081029190910101526149e46001856154ab565b93506149f081836154ab565b6149fa90846154ab565b92505050614942565b50815295945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614a8557614a85614a0f565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114614ab157600080fd5b919050565b600082601f830112614ac757600080fd5b813567ffffffffffffffff811115614ae157614ae1614a0f565b614b1260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614a3e565b818152846020838601011115614b2757600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215614b5657600080fd5b60405160c0810167ffffffffffffffff8282108183111715614b7a57614b7a614a0f565b8160405282935084358352614b9160208601614a8d565b6020840152614ba260408601614a8d565b6040840152606085013560608401526080850135608084015260a0850135915080821115614bcf57600080fd5b50614bdc85828601614ab6565b60a0830152505092915050565b600080600080600085870360e0811215614c0257600080fd5b863567ffffffffffffffff80821115614c1a57600080fd5b614c268a838b01614b44565b97506020890135965060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614c5f57600080fd5b60408901955060c0890135925080831115614c7957600080fd5b828901925089601f840112614c8d57600080fd5b8235915080821115614c9e57600080fd5b508860208260051b8401011115614cb457600080fd5b959894975092955050506020019190565b60005b83811015614ce0578181015183820152602001614cc8565b83811115614cef576000848401525b50505050565b60008151808452614d0d816020860160208601614cc5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006124816020830184614cf5565b600060208284031215614d6457600080fd5b5035919050565b600060208284031215614d7d57600080fd5b813567ffffffffffffffff811115614d9457600080fd5b6121b784828501614b44565b803567ffffffffffffffff81168114614ab157600080fd5b600060208284031215614dca57600080fd5b61248182614da0565b80358015158114614ab157600080fd5b600060208284031215614df557600080fd5b61248182614dd3565b600080600080600060a08688031215614e1657600080fd5b614e1f86614a8d565b945060208601359350614e3460408701614da0565b9250614e4260608701614dd3565b9150608086013567ffffffffffffffff811115614e5e57600080fd5b614e6a88828901614ab6565b9150509295509295909350565b8581528460208201527fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b16604082015282151560f81b604882015260008251614ecb816049850160208701614cc5565b919091016049019695505050505050565b80516fffffffffffffffffffffffffffffffff81168114614ab157600080fd5b600060608284031215614f0e57600080fd5b6040516060810181811067ffffffffffffffff82111715614f3157614f31614a0f565b60405282518152614f4460208401614edc565b6020820152614f5560408401614edc565b60408201529392505050565b600060808284031215614f7357600080fd5b6040516080810181811067ffffffffffffffff82111715614f9657614f96614a0f565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600067ffffffffffffffff80841115614fe257614fe2614a0f565b8360051b6020614ff3818301614a3e565b86815291850191818101903684111561500b57600080fd5b865b8481101561503f578035868111156150255760008081fd5b61503136828b01614ab6565b84525091830191830161500d565b50979650505050505050565b6000845161505d818460208901614cc5565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551615099816001850160208a01614cc5565b600192019182015283516150b4816002840160208801614cc5565b0160020195945050505050565b6000602082840312156150d357600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681851681830481118215151615615130576151306150da565b02949350505050565b600067ffffffffffffffff80831681851680830382111561515c5761515c6150da565b01949350505050565b600082821015615177576151776150da565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826151ba576151ba61517c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561520e5761520e6150da565b500590565b6000808312837f80000000000000000000000000000000000000000000000000000000000000000183128115161561524d5761524d6150da565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018313811615615281576152816150da565b50500390565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156152c8576152c86150da565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615303576153036150da565b6000871292508782058712848416161561531f5761531f6150da565b87850587128184161615615335576153356150da565b505050929093029392505050565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0384138115161561537d5761537d6150da565b827f80000000000000000000000000000000000000000000000000000000000000000384128116156153b1576153b16150da565b50500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156153ef576153ef6150da565b500290565b6000826154035761540361517c565b500490565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261545360c0830184614cf5565b98975050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615490576154906150da565b5060010190565b6000826154a6576154a661517c565b500690565b600082198211156154be576154be6150da565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805163ffffffff81168114614ab157600080fd5b805160ff81168114614ab157600080fd5b600060c0828403121561552957600080fd5b60405160c0810181811067ffffffffffffffff8211171561554c5761554c614a0f565b604052615558836154f2565b815261556660208401615506565b602082015261557760408401615506565b6040820152615588606084016154f2565b6060820152615599608084016154f2565b60808201526155aa60a08401614edc565b60a08201529392505050565b600060ff8316806155c9576155c961517c565b8060ff84160691505092915050565b600060ff821660ff8416808210156155f2576155f26150da565b90039392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220e7025ce99ed7d85497fd6c6b761949bf1f455d2f5c9ebeec238096f8664774f864736f6c634300080f0033005821031df491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff697042dead0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041010058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60581c012039aa00000000000186a00000000000000000000000003b9aca0000582103fa4bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d041010219180605581d0264142417e50f03cee0f668a830ada7a5cb0505153c3ea9121cbcd1a20f014801556a70daea400019566005581d02bca9873a8ef2fb64317d6e0f4d8fd1b4f050a998703814371b95abec0c014704c47818eac000021205581e033219f7721de3558d3cf7a03099729d2b644e8fe4d4e6ce94fd770afdc00c01474537727db4e7d00219673703de756ec907e0c5a86e2dd3020f74651e1ad3b84567a0014386367930de1f031103ff4c7cf4c3e25c133e7df0fe25e123cbeb918c2c0ace4d936c7e901f9746a839037b0e01b9e603535c47b5b889f480e4cc9a16eadd77ed06da8f7b70d3122a93800366b1152fadf4b2aa4170217bd125e454cff6fba0352f7336a96fb897102608eb030a4bdfb71379d6178b075c789b715d07385f6d9e6881e3d902a8eb5d704baaf303cb2169b0375dbdeba5e280e921dc5298ed290c04ab29029829e3d9f722d26427039cac3a93fffe1a284f8ab1212f70986dbea9a1fea6d23952e95b1e296bc4f7030219ffff03913ba6f42924472437b9697207aeaa37de7786d319f73e085ddcc549c78d7bce0367900b674de90c5b3185545b3781e9483d2f586a392bea8bb07d1e67a2ad3701033cb70ae980667ecab80fe360d819c177c627addbdb4c09484e93f522759641f70356a03f340a38ab89c0a9dbf8de96b0514085fc6bdcfb1b462e1cd1fafebe296203a06b410c8049cd8d5054416c6c7e5ace082a08da11a4d16293579e82c9b5b5b30383dfd6433b4be2233451e1fc1cd39af4d73b21519dee2adeae78579f4601c94603db71aa5d2bafea24f24044816d331d4d5f5838687631cd45105f523c48baca0d03dcc0cb46115cc16d989fa4580580233d924a632f617a58b4c50feb21cb4991f303e462d787c1534fb6ba7972556883958db1c5fc694519622a3041886a44e495c7032f1c0e4c21d596f223597dd5b6a46debfe9deb078f56af675e5adf530a8fddd50378811033e364d11013a76f3a64839a0af1bc80d5e71b216bcb539328060074ac03ecad1899822d3c6f9714b564e3f6635ace42d209ea8d9d38879c9be2d4c237400219ffff03e6692d392be377a20462f79e162b04ea1f107700a2d892de3690505626eb7c7203d468e95858ae1f910b7abd7acf555e505cbb2f8cc4dd889f147f13aa823f2db203f6be823a580020e8d191aaeb35bc1f12d9faa65b2e7625ac2cfb1a059a0c35280327a410f2ec85459384e1509a9ba7f7b09143979122d806e516d5b931d40c93d90391f705a96d18397cd3b81c16aaec72e348fa7a4497f3ce7268522ca7a66ea32a03403b017c451b1b0dd6e10f8f7643d2d8ba453f87d964e9e66b419d1bf5d27882037053acb811ac02be6e66b5c0efa90658a4ea7725e0adaa71d19fad495a704ac103dd1b53ba7ba989e7c7b03099ad734ef02c87a9d5bc5110b97d7bedc9972bdc3503bd3b7d69b0e20bd9182725f1c9e0f02ef69b4f3b76c0cedff2ee10ffacf039330327dafc2c3661d4d0a1a8b019a95231a33ed24855db33107e488fc31af938f5dc0393c8a1cea29f627b8f1b98813092905f313a2caf9df321f608b47f550f661e1803f88a7f0f649d2c9ab1d0edd232a0828d35c62804b34aa2410d60c46b219c477a03c4db8f03d9a475448b3d751fcdf910652e60a8464d368c2a29187a487dfd31ab03730a51ac1d92e448a152bb03702a72640ead95a489b9980be358af1475a17d760219ffff034c1a6135443e336b0ad0cc2f02242809552a3770d0bedd307e81944baded063a0354e829d95ed1bc3af0431827ecb3e8f4bf7c374519f1e4049f4c568fbbf5f0a10367a7c90229b5d7e32d8144abd05cba6696a15c6014cb21bc0fde44537bed24e803a1dce4df245c18aa6e6cecaa7afca2ab96cc45a9d06b0b4f388314ad3b62e146037ea9e527f58078e652e0e955367b80f241e0a9eef9ca361d96ffbaa596508258032ec885f8c1ea72693255d30e24ade08b4b23d65b3181f30c6ce7c7f00f190a3703077e75a9a9f712897e08d66b8923dd4e651eeef890d8b0520ebd0964cbc9b5c403fa17b8a19695cae3d70038a99a8c15b176e3cea568cff59c6daebde02d25bcc1035722c04d93e7232a252b1f6934a878bf0282df01469ba61995ad0e866caa106a0397d50621222b2a45d345c7cc669f7daeb33eecfec00f32e4e94a77240676a73003305f2219b846133485a463902de919dd4dd097d91b27e537e14466638610994703ba99e2cc4ae2282035042b724fe908ed590f5357ba2530e3b1c8638076c7298703f6cd41bc05743b04263ec52ab41105c3cb00230c07d8c0d36edd4450685652c405581e03483190e014e85dc3ee5a5731ee0681476b95d9cac3122909fc9da832c0084801380f74166400000399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803af3932172aed95d1be9f20bdc32ed38131e2fc509ad9ea58f9f9580bbdb170bb05581e03a0ead77d05efa55c910361f32bc8fad5c6a81a002031c5451e5c97c11007011bffffffffffffffff05581e033f4005c392b83ea96524309b7febb9a4ec9ef23e5d3b5b9a558fc00b20040205581e030dbf50ed2c33bf367845acd3c24194eede8c7daf40b0551aad61ece8a00c034713d2fafdd8c00003db79b39cf5358e93333235f43d313939677275db1db5d8f9f9f2659a51955cdc0605581e0311dbf203bac09abc3108e4d5470558431f0af6887b8eba3a47f84d337007011bffffffffffffffff035d99527b613c2cfdb4a058a9df701064b5f8d95b96053297a18ac281dcb4257705581e0367e676df3a78af1e4d9d22fe44926c0e0467f3a7490d6739688d1153900402036927810846dc22f2b2496fbdb316c90ee064caf1adb6011ce6531f77e986f28d0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803c47c28faa206b31adb7c5f45bc329e4af4638db46ad3ed7e80e1a915dc4845af05581e03039d17063bf2d091e04905227cc20cf610fad3b0fea2a64e48c0a3017007011bffffffffffffffff03af22d9a62f9e237b4bbc44489f4acf4a983528f9102c4d3d8ad820c9637c7ed505581d02f4e45efe361b0de76d69d675d3d5b7cb725f96a51e4ee264919a6e7c0c190e414905607d594c6a95598e05581d02dbde3b40c969014091673d08b80934be996c3b5008a001a61854d2520402020a0219fd9903fd64d3364d18b7e95865e523137d2fdd7e8b1c3375f3e41c3e6c274755254b4a03893213a6d4fbcd341fb981e2d3668e91cfff02e4a33e849d33c8063adfb15ca203401a3e43f6eea7a06dc90eccaa1c03eb16a166585e3520ed3f4944a800f9a01f0369b97c6ae4fa476389243d6962a100ca8f8ba51544d47046533564a59053169a0323d8803f7e3e027a367a59d659564bdebc1fe80f19343bd3803ce8b1d6c8a9ce034d3ebd9f06a224864658a8914e02f063e0cee8120487cd1c4f6173b4837c5b3203459220ae18139ffe504ecb33529fe2b2e1c1ef89258a4a9c56bcba7f4356e95b0380518635ae79c5834d767b4e4942fc97bf8823a6927fbeae0734b52be0ed60eb032fe9f1d4411166fe92a5e674e829c7d8a067daa6882bb3d4c576408ecd7ed1140385aed6b89765aa44464b70c42026db043658681c34bb1197953e99cdc44e91d10219ffff03de616df080156eb948c2be6d82d58ae2c95ebe8e4c261a4d0b4eb60e8ae69e2d037f767558f48f78565252e836b8b042a66437a636430a682678e11122a2f276cb03b9bd33d52f169f0e5730507974da69174630f5f7101d5bf8065992d3ac16b75203dd8be6eb16c47b9a5913a9792d8f1e6df76c581ad87c4c8b7edbc1d3d1a6a9640332d64933028487e4ce86ef6e322b95ae1d3fa71225a0cd081ad29dcdce011b8d036bc52f41059f9062450c286ee911fa95ba7ea5b38c5377d489d8820a47efc71903b251b7915da12c613e1c9167a58cfea1763c0f77499e8e18b3b4066d700a24b803b0b9774ad2ae22e5532f6203c8bd2c4fee44e8990340012dd2ead2d04c1b3006039ea33d7dc15716ab93e4f5e4550539761f1c4e769db1d520fdd942fd91c4d9db03fb4472e57779d2217ba26b00433162be5edf1103c0b3c0f80a31fa4d45a32ec6032812d8dadd54a6497989730f0c8bb70c99d610f06830a4855b41f51177b6b516035b200dea6ba35a883c7e7c534e696040aded6bead976d0cea2ab27dcc3c8e23d0219ffff03caef076f5ddd0dd1f97beac2fdf2421dd22949660ae6388320c81795f0b09c95032bf5e855122f0c726e434f1260002ece1b915e7358f5fc394ca3324f9e41fda2030ec10c15f5e287723868c43b47f8c33f05390f43449c744ac6121078a39c9ee60371883e02d8c4ce6baa868bc2e713abbf419f481173839631c4919a4ce8c92e6d031e0e6bcfa4532b4edd9bf7722902e9c9b0e065c534f0d9d7645d7076c61b0b0403992da31c549f6eef427e26e5d438eda325eeab305801adfa5686492347c9804d03c251161f467217d23299f34388b2f193b785ef0a8811132a4a137dd536f70dc303e9d47fc054aaf834e0a9f52864b9261fe30a48b22dde56651c0ca96ecd6379c703ebbb7702332c81003ceb7bfa8d368b4d4391530a7d9ffaa55130b0be65189450032c9a92b2a8535062bc063cdcce1a6ec9e4302aa04ee31347ac9bb025d38bfb7d0219ffff036d1951a276fa61e6779727fa46978f0193f199596614b7c8906d39dfe387e69803df12255cb49c37445c05973cf266e23db9eeeb40aa5b5aedba1767a2763dfdba03e1e8f6bb44d0f0b9615330b0a8adb48864e87f1b5072d0b99be9060116545cdd03c9ea89cc5a61c855b88605ac8f10b4e3ca308fa36e50383b75ac8eda53c413b603fa6a4245413e979875d94a47fb309d5ccc37a9412e9cd5cb4715b1691b1e677503152dee2cecd35545e8596ea9947d5485dae4cd1181180f4d1ba5d889b2e5ca1f0314476aa8c7f3d6000994b534fc55185d4e829fb35e1c987f43f72776634199b1035e744800c4367750d3d42e2bcb3585d128bcd50c701fa51313a3131b067d286f03c77ebb6ba833d5b1b633b175c20726c522d8a11fa0d110fd435abde1580f025a03e59f352acfe9ae984f37da94ddc6976b7b30858eae9ca16b24ee073ca147fb940386c9c6fc056e9dbef8d7a0ba4ab2c34b24a326ed06d122008a9125ebee5afd2803cd763ec9bdd937a65c168b457005603ede32c0ff09cd8971f18b1e293b489fdf03a805c62a89586319024586aeedd26500a217a82bc2a215fcf614c23bbd5b92bc03f409148ad8898cf6d5db4421209f2dd2c6207f694945d325961fd30feedf0c1c03a0b761a91edd0651cba4f74a89fa96f6decda8fe2fb97d9d06a02d6a0bfa25c803f4200f484e525377650baa4104c9aef3fa1ff88a0906698094812392181d0be4034a245b480d4de50ef39fa219b4ca4dc1a9ea060eb0edfd65e394f0fbaa56b16d039acf2763f8923e6ff1ee2f29180939296443d0217ea46bf27ae2a0090238b5be03cc74ded8144fdf2536d32dee5a59da44fcffd37032912819b940dcd9208a8f4505581e03900f385147624bdfd098a13bde4470c26f4ca5df9073752c12acee70a00c184b4611553ffa0fc803fa779932760c975944f69d0037cdeb9a3ace1508870bccacd9dbf41cb8009c6c05581e030caa3b8d74cfe26498778bc45f957bd4542f9fde4bfb838bdfaca66ff00c0348016cf6ddc88a08fb031332d9d9c15b0764ff572ff7dcf490eb512f51bbae870b471d6ad681d18d494905581e0356e74b1ed1c95db469f53a1e99f9f3e9834ca22b1a2b11dfeceb4081b00c0247011758fc7af88805581e03313f150aa147a086e2e176e46c9bb92ea427e8a7e6bf38291f73e0fe50040105581e032143cd8b435dc4f961b1184a18e3a7c418a5fa95ae014fca266bf99d70040205581d02f9926794c287183f92afc07eff11cc6435bd3393f15e6885b7ef48d40c03476ce3916cf5705004590b3a608060405234801561001057600080fd5b50600436106100885760003560e01c80637a9e5e4b1161005b5780637a9e5e4b146101465780638da5cb5b1461018a578063ac4c25b2146101d4578063bf7e214f146101de57610088565b806313af40351461008d5780631504460f146100d157806357de26a4146100ff57806359e02dd71461011d575b600080fd5b6100cf600480360360208110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610228565b005b6100fd600480360360208110156100e757600080fd5b8101908080359060200190929190505050610371565b005b6101076104f2565b6040518082815260200191505060405180910390f35b610125610582565b60405180838152602001821515151581526020019250505060405180910390f35b6101886004803603602081101561015c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a0565b005b6101926106e7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101dc61070d565b005b6101e6610887565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610256336000357fffffffff00000000000000000000000000000000000000000000000000000000166108ac565b6102c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b6000806000600435925060243591503490506103b1336000357fffffffff00000000000000000000000000000000000000000000000000000000166108ac565b610423576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b8360028190555060018060146101000a81548160ff02191690831515021790555081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a450505050565b60008060006104ff610582565b80925081935050508061057a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f68617a2d6e6f740000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b819250505090565b600080600254600160149054906101000a900460ff16915091509091565b6105ce336000357fffffffff00000000000000000000000000000000000000000000000000000000166108ac565b610640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060006004359250602435915034905061074d336000357fffffffff00000000000000000000000000000000000000000000000000000000166108ac565b6107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6000600160146101000a81548160ff02191690831515021790555081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108eb5760019050610aff565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561094a5760019050610aff565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156109a95760009050610aff565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001935050505060206040518083038186803b158015610ac157600080fd5b505afa158015610ad5573d6000803e3d6000fd5b505050506040513d6020811015610aeb57600080fd5b810190808051906020019092919050505090505b9291505056fea265627a7a7231582080ed7f128c407350b4af8d39cb2f85a3aae9d2aaf618ed3926dca23911bd8f4c64736f6c634300050c00320058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0480de0b6b3a76400000058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605501be8e3e3618f7474f8cb1d074a26affef007e98fb0219081005581d028c61bf951ab1c4a6d7bc65425719268a9f5f7b181891b8a0726db8d70701190b3a0219400403ec76ec341e2671f81689b32bced3329a772cbe93483c142309e369ba18c67f0805581e03d0193905639ca510c0d1030379cca86e81156e0c477fdf653d1a0881000c074703a845bbb5694802192f730375b4e3225c3d8949a71d8ca6d1cc9a1dc9c0dcc8593f961e90fea3cce7d555bb030799b2e6656f7056fe9848dbbe1067a3fa60bdd784e45e5e35d62ac7d141d1c403e7c9adc22d38baf9e6b86eb85adbb3004048e53f973d6772d88d0589a5f9c7bd03c480c7a087ffd44a2ab3453edfebfd7109b770f6c5cce95e9375b1e814d3bb0703d6ce9adf6089bcdcd6a26efa313998896bdc9d37d869421780595abfb0443ce3036994a724859e66086173cc6c7c428ca197f13d5f9164f8ee81402b9aa9eaedae0219ffff039e9b54c47a2d7e7dbb7ebd22b59827513a31caba50f5fd15e4239f1f3b43825803c4bc6f7890ec84590e30936c99f459956f9f393d61865ccbd2ba7d656c70ee93034855f621b60065c9e9e15a0de7e469c897655c51a8ba22e6939e9ef44989e4fa0325f3f92534ebf564e205088e51e555773a21a8a6a889b4d662af7b7002d977db0393b5f60ea806de3a85d00334ae519cc8305c40233c633f6f0d1d9a31eae117e903536f9439dbca7cb2f2e244b1fff35c1b1d2eb507ef44a953bc8198e9395882ad035df67940554290fc2afc9301deeea1517b9ab2b42e05ce66137cf92ea8d23eb30328c36109b37cb39e0d66f37adb676b1d25ad1a7a0d18b8f9dd0e3d7ae0972d5e0302f312713afdd411cbf20f9700e047bf8760b29b16e8bdb581de94744a723a880340a2c293bc29ed3a8bd276c61510a963bd9ba30c6184800ce01405f2c5d3cfa103e72c23c7578012a61ee0170e631be47b1f219932aec0cc234c0a3bb8e062ceb0037f02a67dfaaa265a6b3a87171f5031dca9b4e9017022a9848dc142b2318791040219ffff0355a88f15bd937b4b3a0bf2c0b636839899b5e5b8ce653b7c40d9f16b4293f68f034016f2773e1819a44596faf94f064b774dca3f4b09d337883b1fa40dd925ce1703c1d39663fcc9f5b574b0547659eb67c39c4a169bbddfa020840a394a4716e42503ce1d37722f5463e0013de856de1c96526e10c8ae96b2d57523d868a7d700ad2a03c892020e0125ae2c87757fc1e263950c1e41a9e5c0eed71b35844c6c96349e31038569a357372644133913ec3a4beb9d6afab8598a37a67b9e8242ba48d4fd9f8403351ce476525045c107b0f8b4b449bb6130e3b340386d5923e5c42b50674102410314117c71d6681a78daa9201f01b9438f3df4030db663cc0dbf40ee50202177650381e61509e6d2a1cb40e00dda067504e2ccbeb2568262305a4ed8b1ea123082460219ffff0338b7822797816ce36178a2a2067521c08a0537b8af1fa8d625886d20c078ba3503860a6d31b5b1886eaf1d98bbbe18fe9f8a5504af1336d5296d1951b76daf899403273f9e80caaf7be11f2566c7b7eeb59981b8613e9589b3b99deeda0d6c4ae54103de9a031f3281522e4fdbea7567e4e597c3d72e8b7323829795603090925542e9030faa4027248a1be0d163d99a5fca1e21d02989b731d10792508be92b0f52af830357d4e3fc525075ceb10a919f55b0e296a1d251ec9519a9381129dcec6826910303c66d10fd036466e17c584890a206010198823503102b3e63d951504932b997a303f1bda6887ad0175b7829e0f1753c7d79486226dd221d7427c37e029239d5c3a1038cb49408f56593701e7f69ca59431667fa555c9bb4e5311639d4f51c06b5d7c603953a6a3a422490c3e64bc1337e14e5a613f99aa7aabe443d3c62d8f1930f161a03bf764ee046e298c5b500f7535b3a487037ea77fefd6268f4e98f0313c798e3ea03b881b3a267f633f25b58f17c5c21c04683633c2a44f7ac1bf28993adc61b5c7c032d79ebc34351e9bc03a35414b4c306dc0f9d943b00229694cc71d0a11c79fd82039af477f0898542e74f480f8ca14e1784a7472fc4a0d28c72dc9fd1b483cb4be3034cb29ca80fc451c2c918291d7e097bcccc47105be7e10be73cc55e5580dade0303124b72d1876803e8ef3be640f1abb024aef6bdb28c13a54ac0c7bdbd02cdf2f50388b5a7147a01501a052773063db027cc6879a52b5a985872c5bcb56b8dce34f50365a1bdf16816e2db23e17673125afeefaa9685058f8139ea78adb41c347c5ec603b72eaf694bc2bcb338a8a6188fd15d33468e42e8d8d877c0cd92fdcb745e85b603be248ceee2a6878c4b730839030ea794cd9c49316040fd578196574e3a1093b9037037094f54752b224f9adce1651525e7fa30b200e3d08edc6567001443b18ae103dd4858c85518385556f53e0bc88e0841488a079ccaa59fde229314aff00a694f03c9cc228a9298b9ee139d1053cc31abedb8022986c38e9dfadd69c926bdfeec14038e88f5bde0a5879cc55cfe47ccc89aca6028b8b53dd9d550494e7c5d6aca44dd03ae63d23d216083a60a0bc5c3e81ddcc8ad31b9973c9e48b5e3307f58e0793b92031c5f974bc3b8f1af9c2b92e0423edf425aea765ae833ef2fd82c4ea6dd881d2a03a7db6cf15329c6c5bd59de15181bb30f748905dd568fb658cef902b840ea62af03ee8b6e95312834e931cbc25031e6983278224944b950feade6cf7ff5573bd0ba031c797c2c2408d1c27c6de60cff6b2c2d7deac13a0c519da26b98dc6ccebff20f05581e03debd03b3e5fec57cb83b921dce50bca6d8fd70f4b146611e3f3739ab000c181d4701aa43e06315ee05581e039eaa44da0e2e86a56c3309d2ffc7b73db3187dd08a27897865d7d771b0040205581e03c73642827d673ea8e055864e31e2ee9330de4c2798d17af9f0df879d6004010393e33208339b6c86893cd44481d140c8243b61d11f25139035ffa68b4b492e5b034a97105194fbef6c495dfd5efce9ec44855d90b2d1a21368c582c980ec2a362f03a102d5e48285b679b836a0e692c45e9373306948200655841d2937b6dc61b6c505581e03d764df56993ddf441ebee7b552a011709c38ff9c012f989afe4a119810040105581d02eae40dbdd16dbd331c74d539c98ec828a20849023a9aba9f83891a7a040305581d0245653e74afeffd105fa62c8bd848079b8ceb46cddf50229c59a511fa0c1a000429b04912025da0c831a75f7202190440037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03b0a93623a83cd3b28bbd75b69995a98eefef9d52e5e2365e502912708007011bffffffffffffffff0219fa1d03ca22ecda2810cb40eeb7f6bee4ff5c88708df60c6fcb00e92640401df4c61dd003f924d29435ee5f080a2eeef863e9c506f28e519acb89aaf5fa3e0c3fd561d5fe03c7fcbb0a208d508e2f33dc3687ab4b9b5966432ed58c04404a4009be9deac5da03d7feef2429c3b2b0a41a328da2d430d44d27678599363b0475533c54f1b6ae66030b3c188749d0fda6d97a97c541df546adf51a5bb91b085cb70289b3860e184df03f2780fb0a99b012edde50d667a9d595678772a893a618631aa5846fda080cddf03c160f6ffe2f702b2af79ce216e4d1ec2b5a5adc7fd4a11e1d3f27181b4514b9c0338adceb00b4f614cb276b43132fbeb535fe34cfd0502f4ecb088b69aa6abacee03fc8dd33b1c037798085b23acfb7a41afb4546a272e22cefea9095e8881797a7703e96f48ad5e234314541e3c06a3016769f908c690ca9b7180a2f0749c00b9770d03bf153e2ac61bef3d005c78f5c420c92761ef363c46223a6109453990d0efbc540219ffff036c291070397ca83bd28db26824c9b632b4d244024c3cecb2d5acb978492d0cff038a688dfdb116f8ea9e7d557a734848e79bb02cda6381d2cd1e105dbcd1706b260219ffff03e92e517e4acb8e0b22707c39192cf1348d0170535be1298eb4a596fe0192f50403fc39b259b3d40efdb996b61c95b0a87b40fe0c69007554bca0e76e1cb9e079ef033066e179c641791490f950aec27f7bfac554fc433ef17af3703db31c27ebc5400366db36f50fd70d569e3d25f24883365dbffdc6f71f05b24b91bc99d016f5947303886a5e6b4b18d2e6583056a50575440a4b719f2f8b9bb3b69bd7cbafbf6e94ba03bf05cc0f143f8cf16ac6b225e809191df6c5c77baff4067c8c2168470ebb9db6035902914d63fa2918fc55aee06901ee6863b4d90ffeb02af87a988e254a0da2370219ffff0336e9663515a9a5689e0adc49acb67e5be40bb057a429fdd3f809742b76d597b503af33a429fbdc599b50c704bfb8df727acc89a1f610a1584c4f101d1da47b1296030635f83b0ea751d5cfbdd43bba3b5bfcaf00c0886e9bf01cde0f6cf434f1eca7032d7007b87a3c920ca474c23f331e2ca81ee123d661e1faa2c2d2d90b302049750351757fe3288517998502330d8269adb4c1b3ca91885f145c99427955924279e6033f02c29b12272bb5c6d491b03fce0740095c6bbb1a00883b61d599ae9e619b4d03972b7cd5744c5480a013a4aa2bb8258a99bf3280755bc3b2bc2c39a5abe8d7a303d0a1c1856c76e05538571c2893884393e1b91670e7be6b5f99a2d70a24f9cafa036299c4fe37c36553040881f9b799868f065274d31322ced98b8b91f47c61a20f03ec1c047bb467944117d7666ec14471774f9bd05b4ace8f655b0c22cb369f18f5039512d0c27109ccb3162bf875050ed0fba23cb4f0334856fa3f161b3f889ac95c03d0a5360442b70cb81b2e5be7cf2b87fa7807e0f60a7f52d1fe3ae85c7a0c5b56034c47747b4099371e36c3e764300c02677224f77a9f11cfefd7c34af0a69df0e803c3cb877452953edca10a4cec7fe6aaa09ffa4fd5ab6e5a9ab9c4ef0155314d7003faaa4ca880ad9c0388eaef8eac1b85c9dddf8fc73632fb782415eb11c9c77b210345faedd1cce757f2f921ed01b1f6273f2149b4dfd72d6a8e6921903373185c4903213750b9bfc6d5c53dbc7cb6ab98cee4f96b3f9d208d67fc3e207f86dd5b13fe035c405f71cb203c14af6fd0c4972b68653999cff217f4a343e04069485e1f28e705581e03a6e2ed5b53c1ee56c0960f39d1c866a6496d8eb543a823a06d52efbfe0040205581d029d056da1e7a3abda78b63c647e46f38e6a39f7db4002e96cd868d0e8040304591fe8608060405234801561001057600080fd5b50600436106101515760003560e01c80637ddb11d4116100cd578063b77efe0f11610081578063c3487ff811610066578063c3487ff814610336578063f8077fae14610363578063f94616011461038457610151565b8063b77efe0f14610326578063c172085e1461032e57610151565b80638910faf1116100b25780638910faf1146102c2578063a4984633146102f6578063ac1f40e11461031e57610151565b80637ddb11d41461029a5780638129fc1c146102ba57610151565b80634e8845e01161012457806357806ada1161010957806357806ada1461022a578063702d75d214610232578063764e94ce1461025c57610151565b80634e8845e01461021a578063575a86b21461022257610151565b806316f0115b14610156578063214a6fe21461018757806337182c1b146101ac5780633d6aa5e114610200575b600080fd5b61015e6103ae565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101aa6004803603602081101561019d57600080fd5b503563ffffffff166103d2565b005b6101cc600480360360208110156101c257600080fd5b503560020b610706565b604080516fffffffffffffffffffffffffffffffff9094168452600f9290920b602084015282820152519081900360600190f35b61020861074b565b60408051918252519081900360200190f35b61015e610754565b61015e610778565b61020861079c565b6102086004803603604081101561024857600080fd5b508035600290810b9160200135900b6107a2565b6102866004803603604081101561027257600080fd5b508035600290810b9160200135900b6107c7565b604080519115158252519081900360200190f35b610286600480360360208110156102b057600080fd5b503560020b6107e7565b6101aa6107fc565b6101aa600480360360608110156102d857600080fd5b508035600290810b91602081013590910b9060400135600f0b610b02565b6101aa6004803603604081101561030c57600080fd5b50803560020b90602001351515610e2e565b61015e610f99565b61015e610fbd565b610286610fe1565b61033e611002565b604080516fffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61036b61101a565b6040805163ffffffff9092168252519081900360200190f35b6102086004803603604081101561039a57600080fd5b508035600290810b9160200135900b61103a565b7f0000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15c81565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15c16148061044b57503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e16145b6104b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e6f7420706f6f6c206f72204d43000000000000000000000000000000000000604482015290519081900360640190fd5b60035463ffffffff7001000000000000000000000000000000009091048116908216116104e257610703565b6003546fffffffffffffffffffffffffffffffff16156106bf576000807f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e73ffffffffffffffffffffffffffffffffffffffff1663a15ea89f7f0000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15c6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604080518083038186803b1580156105a557600080fd5b505afa1580156105b9573d6000803e3d6000fd5b505050506040513d60408110156105cf57600080fd5b508051602090910151909250905080600063ffffffff80861690831611156106165750600354700100000000000000000000000000000000900463ffffffff16840361065f565b60035463ffffffff7001000000000000000000000000000000009091048116908316111561065f5750600354700100000000000000000000000000000000900463ffffffff1681035b63ffffffff8116156106ba576106b08163ffffffff166106968670010000000000000000000000000000000064e8d4a51000611057565b6003546fffffffffffffffffffffffffffffffff16611057565b6001805490910190555b505050505b600380547fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000063ffffffff8416021790555b50565b600260205260009081526040902080546001909101546fffffffffffffffffffffffffffffffff8216917001000000000000000000000000000000009004600f0b9083565b64e8d4a5100081565b7f0000000000000000000000008a09062cfb5e3dc1ea9130b755e447b9078cffdb81565b7f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e81565b60015481565b60006107ae8383611125565b50905060006107bd848461135a565b9091039392505050565b600560209081526000928352604080842090915290825290205460ff1681565b60006020819052908152604090205460ff1681565b60035474010000000000000000000000000000000000000000900460ff16610b0057600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055604080517f57806ada000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008a09062cfb5e3dc1ea9130b755e447b9078cffdb16916357806ada916004808301926020929190829003018186803b1580156108e357600080fd5b505afa1580156108f7573d6000803e3d6000fd5b505050506040513d602081101561090d57600080fd5b5051600155604080517fc3487ff8000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008a09062cfb5e3dc1ea9130b755e447b9078cffdb169163c3487ff8916004808301926020929190829003018186803b15801561099857600080fd5b505afa1580156109ac573d6000803e3d6000fd5b505050506040513d60208110156109c257600080fd5b5051600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff909216919091179055604080517ff8077fae00000000000000000000000000000000000000000000000000000000815290517f0000000000000000000000008a09062cfb5e3dc1ea9130b755e447b9078cffdb73ffffffffffffffffffffffffffffffffffffffff169163f8077fae916004808301926020929190829003018186803b158015610a8a57600080fd5b505afa158015610a9e573d6000803e3d6000fd5b505050506040513d6020811015610ab457600080fd5b50516003805463ffffffff909216700100000000000000000000000000000000027fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff9092169190911790555b565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e1614610ba657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4e6f74204d430000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610baf836115d1565b610bb8826115d1565b60007f0000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15c73ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d60e0811015610c4a57600080fd5b50602090810151604080517f70cf754a000000000000000000000000000000000000000000000000000000008152905191935060009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15c16926370cf754a926004808201939291829003018186803b158015610cda57600080fd5b505afa158015610cee573d6000803e3d6000fd5b505050506040513d6020811015610d0457600080fd5b5051600154909150600080600f86900b15610d4057610d2a60028987898760008a6116bc565b9150610d3d60028887898760018a6116bc565b90505b8760020b8560020b12158015610d5b57508660020b8560020b125b15610dc157600354610d7f906fffffffffffffffffffffffffffffffff16876118a5565b600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b600086600f0b1215610def578115610dde57610dde6002896119e9565b8015610def57610def6002886119e9565b600086600f0b128015610e0657508180610e065750805b15610e1a57610e158888611a08565b610e24565b610e248888611a9e565b5050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15c1614610ed257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e6f7420706f6f6c000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610edb826115d1565b600282810b810b600090815260209190915260409020546fffffffffffffffffffffffffffffffff16610f0d57610f95565b6000610f27836001546002611b979092919063ffffffff16565b90508115610f33576000035b600354610f52906fffffffffffffffffffffffffffffffff16826118a5565b600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055505b5050565b7f0000000000000000000000000bda23d287334d0646dd55263706e354f8ffc2ad81565b7f000000000000000000000000161c4e0f7927e0eb30bac902591bfd57b2ca5cd981565b60035474010000000000000000000000000000000000000000900460ff1681565b6003546fffffffffffffffffffffffffffffffff1681565b600354700100000000000000000000000000000000900463ffffffff1681565b600460209081526000928352604080842090915290825290205481565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709868602925082811090839003039050806110ab57600084116110a057600080fd5b50829004905061111e565b8084116110b757600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008060007f0000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15c73ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561119057600080fd5b505afa1580156111a4573d6000803e3d6000fd5b505050506040513d60e08110156111ba57600080fd5b506020015190506111c9611f92565b600286810b900b60009081526020819052604090205460ff161561124f5750600285810b810b60009081526020918252604090819020815160608101835281546fffffffffffffffffffffffffffffffff811682527001000000000000000000000000000000009004600f90810b810b900b93810193909352600101549082015261125b565b61125886611bd6565b90505b611263611f92565b600286810b900b60009081526020819052604090205460ff16156112e95750600285810b810b60009081526020918252604090819020815160608101835281546fffffffffffffffffffffffffffffffff811682527001000000000000000000000000000000009004600f90810b810b900b9381019390935260010154908201526112f5565b6112f286611bd6565b90505b60008760020b8460020b1261130f5750604082015161131a565b506040820151600154035b60008760020b8560020b121561133557506040820151611340565b506040820151600154035b6001548281038290039a9290910111975095505050505050565b600282810b810b600090815260056020908152604080832085850b90940b83529290529081205460ff16156113b45750600282810b810b600090815260046020908152604080832085850b90940b835292905220546115cb565b60007f0000000000000000000000008a09062cfb5e3dc1ea9130b755e447b9078cffdb73ffffffffffffffffffffffffffffffffffffffff1663a9c6abe085856040518363ffffffff1660e01b8152600401808360020b81526020018260020b81526020019250505060206040518083038186803b15801561143557600080fd5b505afa158015611449573d6000803e3d6000fd5b505050506040513d602081101561145f57600080fd5b50519050801561151b577f0000000000000000000000008a09062cfb5e3dc1ea9130b755e447b9078cffdb73ffffffffffffffffffffffffffffffffffffffff1663f946160185856040518363ffffffff1660e01b8152600401808360020b81526020018260020b81526020019250505060206040518083038186803b1580156114e857600080fd5b505afa1580156114fc573d6000803e3d6000fd5b505050506040513d602081101561151257600080fd5b505191506115c9565b7f000000000000000000000000161c4e0f7927e0eb30bac902591bfd57b2ca5cd973ffffffffffffffffffffffffffffffffffffffff1663f946160185856040518363ffffffff1660e01b8152600401808360020b81526020018260020b81526020019250505060206040518083038186803b15801561159a57600080fd5b505afa1580156115ae573d6000803e3d6000fd5b505050506040513d60208110156115c457600080fd5b505191505b505b92915050565b600281810b900b60009081526020819052604090205460ff1661070357600281810b900b600090815260208190526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561163581611bd6565b600291820b820b600090815260209283526040908190208251815494840151600f0b6fffffffffffffffffffffffffffffffff908116700100000000000000000000000000000000029181167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909616959095179094169390931783550151600190910155565b600286810b900b600090815260208890526040812080546fffffffffffffffffffffffffffffffff16826116f082896118a5565b9050846fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff16111561178557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c4f000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff82811615908216158114159450156117bd578860020b8a60020b136117bd57600183018790555b82547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff82161783558561183457825461182f9061182a907001000000000000000000000000000000009004600f90810b810b908b900b611f55565b611f6b565b611862565b82546118629061182a907001000000000000000000000000000000009004600f90810b810b908b900b611f7c565b8354600f9190910b6fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002911617909255509098975050505050505050565b60008082600f0b121561195157826fffffffffffffffffffffffffffffffff168260000384039150816fffffffffffffffffffffffffffffffff161061194c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c53000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6115cb565b826fffffffffffffffffffffffffffffffff168284019150816fffffffffffffffffffffffffffffffff1610156115cb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c41000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600290810b900b60009081526020919091526040812081815560010155565b600282810b810b600081815260046020908152604080832086860b90950b808452948252808320839055928252600581528282209382529290925290205460ff16610f9557600282810b810b600090815260056020908152604080832085850b90940b83529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050565b600080611aab8484611125565b915091506000611abb858561135a565b600286810b810b600090815260056020908152604080832089850b90940b8352929052205490915060ff16611b5157600285810b810b600081815260056020908152604080832089860b90950b80845294825280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055928252600481528282209382529290925290208190555b8115611b9057801580611b6357508281115b15611b9057600285810b810b600090815260046020908152604080832088850b90940b8352929052208390555b5050505050565b600291820b90910b60009081526020929092526040909120600181018054909203909155547001000000000000000000000000000000009004600f0b90565b611bde611f92565b7f0000000000000000000000008a09062cfb5e3dc1ea9130b755e447b9078cffdb73ffffffffffffffffffffffffffffffffffffffff16637ddb11d4836040518263ffffffff1660e01b8152600401808260020b815260200191505060206040518083038186803b158015611c5257600080fd5b505afa158015611c66573d6000803e3d6000fd5b505050506040513d6020811015611c7c57600080fd5b505115611d5f577f0000000000000000000000008a09062cfb5e3dc1ea9130b755e447b9078cffdb73ffffffffffffffffffffffffffffffffffffffff166337182c1b836040518263ffffffff1660e01b8152600401808260020b815260200191505060606040518083038186803b158015611cf757600080fd5b505afa158015611d0b573d6000803e3d6000fd5b505050506040513d6060811015611d2157600080fd5b50805160208083015160409384015193850193909352600f92830b90920b918301919091526fffffffffffffffffffffffffffffffff168152611f50565b7f000000000000000000000000161c4e0f7927e0eb30bac902591bfd57b2ca5cd973ffffffffffffffffffffffffffffffffffffffff16637ddb11d4836040518263ffffffff1660e01b8152600401808260020b815260200191505060206040518083038186803b158015611dd357600080fd5b505afa158015611de7573d6000803e3d6000fd5b505050506040513d6020811015611dfd57600080fd5b505115611e78577f000000000000000000000000161c4e0f7927e0eb30bac902591bfd57b2ca5cd973ffffffffffffffffffffffffffffffffffffffff166337182c1b836040518263ffffffff1660e01b8152600401808260020b815260200191505060606040518083038186803b158015611cf757600080fd5b7f0000000000000000000000000bda23d287334d0646dd55263706e354f8ffc2ad73ffffffffffffffffffffffffffffffffffffffff166337182c1b836040518263ffffffff1660e01b8152600401808260020b815260200191505060606040518083038186803b158015611eec57600080fd5b505afa158015611f00573d6000803e3d6000fd5b505050506040513d6060811015611f1657600080fd5b50805160208083015160409384015193850193909352600f92830b90920b918301919091526fffffffffffffffffffffffffffffffff1681525b919050565b818101828112156000831215146115cb57600080fd5b80600f81900b8114611f5057600080fd5b808203828113156000831215146115cb57600080fd5b60408051606081018252600080825260208201819052918101919091529056fea2646970667358221220cf54a837df6692f9eea2b8f28632554035b93dfe28c5b5c2a02c24bd6bcba1c464736f6c6343000706003303fafb19eb24ff329e3bf1f36f2fbffefc18a22f04c6b7f8b96e2b4abcf86789b803ba41b9b8649a1057e8c9760e2d6bb11b0475d901a7d168f05b2cdb7499375a4f037c0069cbff8e6bed24bb0d02ecc9833679e32016cd50b247a94853b553e96da4037532c78e096f06411765a5194a1c9cce02cfcf685305f34e5c7cf40d6d70a46c03747a4ae6428053669501076b4caba6b11b919d906b24351aae67fe49eca4e176038560c8d85cca819a3aaf3c156d5a9863ef9b54e6ce0a27731f660e79388b865b03ebd7df814d7d39af310595104863ec305c9a7b3ce4afe510d482c99d4094acff035d64b862c5d255ce569ffd836a9c8a29fccddea30f0f8add3c2797a3a067a19203c95cc60551a8a6cc6e255472e6ca12bdacfce349e32932076e7cc05a66949f7b03d4e2933a5567b27e4fb5aa819521a68d7e2e1d102ee5c6b7691489e156da4dfb030cb75e62381175a2a20c1a0164d5a180b1ce0ab6efe55af49d03d0ae25b2e98e032fdab2940932878d206fe9201162abccac3a953899ee6da9f59f844d13be527000581f02eb0bc980fd782e92d3140a972d19a8c16e17584e7d32f070c404c5a32cb6410100581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65311d8a833d6c98ca1953b120f64c66bf490f01e021948000360ea161f9c4712bc9fea31a3ae23ccd092c224d5086e34d3c06c15b06b6ab9050058200369692326d68191fc57a006ca80840602d824afbcddd96af1c933924e5c21a0410100582003fe0e0c1f90bd607d5dec02a7b198d27fbc3164cba998bfc83be9ea5ecc21c04101005820037973a639eacf33b70e302a5cbfc31b052e46c3f3c182d37faec3788c4bd1f0410100582003962c7d2f2f1222299097fac84918719d035e57c93ff4343b10ded24963ef50410103f0641e68cfc6f53d5ee207a9410bda047adfc8bcbf49b926bfaa55f5407c3203021905c70394ab88ebbd1f52a61abfc85a713ac713b97543b4d54779dc2917a17a9b403bdd036d23c33f9bc7dabaaf5a53147db1f7c2a33dd0be01553fc19f66431ad6bba6a403b4b56e2eceec650fb6f250aa7f8e026819076c8a23918ba55fb9f5a7e1eff35303550a2e26a424b507296cf4d33b12abcfd4d747d15694457a4cb6818771dd3b290309e8105d778598002da2a00ce66782afba9b68ca3f25a6951d806b162280b43803047c5af1584c8f477b1792a1bbb76d386bf7e084583a3cad6ab11fab3b27a453036d9f4ccfe02865bea6d201119c64e5623f2ed86fb9004d1c076aa8150e90a8bb03723faa5c0e128e32a0cfd1b11d1a15375f03676100326346b274bac0546e61b803f56269236e8f33e2e84d24a58444ac5f82b3e1e2cbcdd812e491bb64158943fe03f8bacd090e484460748cf3bfaf9f979a5a4696189a62a8214167e44239bd7f13031dd6cd6406c641358c9e972a3ab2994b8563dc3cc4af04c865d351349c47d1a003119e39f1dd9d0c254c05c738c62e24cd7078976d165e1abecf5891b9739ea3ec03ce72be5a6eee3012bad01ee540037f02892fbc6999105c4204634139b2b3d1a90314a058d3724b6640946889f0eb02051299c90cd9a3d588de731b13f5d396957c0219ffff038de055a8bbcd1e59458c9a1beb09c8b5dba1972592eb53b59dfb73402f3ca2000322da7fadd84a839cceff91b01f35249f6b2c7f4c3a72c6144b43d3a52eb5944d00582003a381f3011895bbab23c50e0800908e7c01c5f3ebefe23d9aca40df600291a0410103cd93d7843e7ed1fca5587512a5abcd9befa4c60a87b19c5ccd9811e82d3c02d00058200384834925278507f9d8b29c634c6403329aeff6d66d3b37d3edd9006598ae5041010058200381d346ebcbf2f94e351263d2a9db64e7689dc4fcb23c91de21f22a18a6b1a0410100582003e6fc68565b9e48d92f8d2af1d605f1c2d8243a76ee6be321eedcacd409b790410100581f03997521c3e1f49314068cf78097bb13e9e8c7db215d54c2d62af08857d5905820ffffffffffffffffffff1823f4e9ff1a00000000000000000000e7dc0b1600e600581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b055016632d0230000000000000000092988388a8e43fb0218300141070058200343189b32423d8f0a5d3fc99389c06d8d9494e00508497a5140c7ef33d67fa0410100582003300d769c61405e094444ceca750848c3ca676324370ec0f0b45b26f6c3e4f041010364e4d35535917a53bb52ff99e3a9290d1d3975a1190a153514687edb90971ac9005820030bf7984f52ef641bfe694aba552234765bfb05cab2cab545d801660c243d90410102199a3f03eb7682f1dc19b3fbb2caf8fe4768616fb253daba5c13a4bcc45bf6b980945e44031c35b9f6364c529a30b269beadfe1d7fff7e410614a596bb7630139c307926ad03866e0eb7cdebfce340c12de9886984b8fe582a80dff4bd08aff17ba995e6a82003ae49f4730789dbfc749c99848ebd0f65c2e8148878c224f7c678db7556c6e4ab0395a5114a33825652647d0cc0c9daa372bc6db7aecedbb6a882aa8caded0ae375039a656005f48770546c8e95507824d27e738d85002c347724b7c1bddbf4bc3f6f03545ac2e201009236c6f387bd34cc8c9688df0fc0b3ae2bfa587ff2152779a01003d3fa6cd74fff2765ae17303541cce8d9351303963de0a541f1b6557bb45d63c303da5a1ad3212879f80262e999257c7f6ef5c01ee1cacfe4284263c695d17f5ee103ee7b2baee4cf96f16e26273c81414529436325dbdcd28985273447904863fb7103ec4ac8b2ff0e9134d8c5682ab1635e66ce7852fdb7fffc1ff0f58cdc4a511d9603baf4485ca5a54a0721abdab637ad917bc65ff010bdca495f4f60d1bdc9783b0803e4c60d78a50b8834469cf698882600cb18f56a3f4aac46f865d36b995d0d444b0219ffff038926e229a137de1a3df48e5ae5b5ff087b86b65d1c5168955e90577e670eeb130345ca3a68948fbe4b60a538ea3fa6d7016e018658dcb0244bd1573103e5882bb9030c4bd3bc372ab117a67e38637a3c52544d6a07cf15838cdcc08608c2dca911b80219ffff05581d021e3d6c31837ff7be61d9974c2e624fffd62f3f51f15575bc776f1bbd0701191fe803905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581d02362f4d2ce9a5069f230dea3d5e12f3e8523e5fa2b4f8b2597eaff79307011bffffffffffffffff0219028805581e03f1f68d3f820cbb056c1cf39afbb437b6a2d3905d7637972d0ee0aece500c0147015bcf184148000312c3235bae8a116c0f3722b671d1e585be5f7396d5bd40046639bedd9350c92803a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03dcc9c9ba6d0e70d23dab5d3dee99a72a9370f2050efe2a7ad69a5958a007011bffffffffffffffff05581e03f9c0f5841f5f1b9daec3f8f43b62ada87601afa2b6e1c85c27e053e480040105581e0379d7e572c1b5067f9eaa89a412b664f4a138bbdecf4c36cc612a7b3ed0040305581e03104d1c2f04b00198eeb6eedc5ab40532e60df0cc2dfb68a3abe0202380040103a766c48022b6155c1190b806a1f35f3e422682ec2d44f2aba53534903dfacb7803562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03c101102e381d008216eaa246f5d073e964713c25f4073b3f6edc84713007011bffffffffffffffff0219d8dd03d9f7023c54181b923a5fd6a4e9ecc332a8a9490663ae250659cdce4ed9c5026203d3d59dbef9a7a6e351de3a1ce9f5b5a90f39b4da0be6e77aaa574f0839687f140347906882e339f2d9d2d2c2d2d3d600af840c09cccc510264e0b2aeca0cfe539603819325e13ca4e679517be7b864cd929728b2af991ea7427b3670fad3d8071ea50307c7f9143c0d75ee163ae4467d87d2c03f189c7f1019805be5434d65df0881f0036d83af6952536c7cc87bc9fd043285778399fc183260512ff1a1ae43533bc33c03683b31ce6b313360af7525486810411dfb0cbf25941a6d38b5f76584e865a7730219ffff0310e061c8550f6311f908151d903544b9d8c53ef78dee34fb31f11b12a9fc7b020318224b196882e3e2f8cc886e489b34e429fae3f094afc217ce7c45bf12de9741037459ec7059b6856a9144cfa5e0295fe46e3289761579f3a2e5800b7fe60ebf2103d6824206ac33ea59aad57a8f403fb4e6276a3e3f394f92493d9d49675c76c802039e2c0d87853cf2ff2927dbd22aecb50601c6b79e5f7a99cbff492fa075b3e792031fa453fc55a78780e42462b4af77b9415bf243b5156ef99c702c0e42afb82a8303ea03e9824759b11560fd5821d4467dce35ba317002772193ad75422f5b66666003b294dba4785efc62934a01418bb14c77b3f7f6f60f42a39d5ef2d23e056d4eba0377dffaf85a81f14d18a285cfb0979eba9e4232d1a5bd9237e812187a78376660030236c960003616ddac44c734ba48a650bb98b86709eaeede685deb3f323b24e8036825fa01771f66875543c480c4ee83df91bc2bc51c3d172d70b3e8f76673ed010219ffff037f778179d0963981782e6ca3014ed5b72e30eb05bf15917f4d37a7da8c57193303fbbba463a69fc73cf01cdef1430f759c06bc3764ef452a3860718208f3a9aef003a6558d1a3b9b3dd826b7b714262012d2db45492681d63faf4e37ee0b3404bb5103af3ded995597b8fee3770658f05288679cbb1dd4f8f8fc0de14f49ac4e883139030ce1c5128b686f11dcd35893352c2a459d98201f0281384caed9ec3fe4dff39d03a8a96587f3e5a90dd6525f106e32a008a9377e26022f67db773a75391289c89e033aee90edd7f791e8719932fb897e6061a8da1fd9cc40f0deca1c9058065a3474037da74df50dc09d91c30b0d74a616151851200f25139e71768983740a3a73853503734e9bf9f921e9f250b61c31784b9bd09b3b67884a7fc7a2800708160ad8d91e03a9a3e3122db51bb77a6ee70b6f317dab4765754e2692a3d8df47215a2be8e5ed0219ffff03afdd776815e8572f1f5823e5ff2fada74407909037df661af9ae06c547387ae503a9b5be9d9a0293dc1199f7af13cefa2987f4ea54be17a391cfd23e811375f39303ff2afb9ded84ac5b450209cbde04e11821bc10ea48ec5623bfdf4c3e41321c1703a746ada63254791c913fb7da3f990ffef6f24301aad2609a522628cd8eefb7990219ffff035c45f95038db6c47cfefe256c6083dd90f22dd3752230d91eaf7358aa8ec326e03b1af8c108bb4f3ecb5ed8b4d2e0ad5684b430ac631faa5f6997635f3c9dff4490302b640164c15aa1edc50e82e268ba2573d05de5c7212bb7d79ee5abb2d6fcefa0375b7dba74dc21949a8e1129d3d0738bc758df1c2a1d036f01217bbb9952b52b203d127c25291df22126ae06c516e5fa202560574cdc6bf25cf005b366c376befdb0331a619afb73233036390d87887f89e8bb232836f807af904680d713246833da00399a87ad83711c95ef80d9b6df49cb3f198834438b4707a41b741daf853b97cf303c0580a58043cbfdfd58be14ff1127e1cc3e1871922e519a19e2820f508926f6a03cbe3a4d5d3301eef86982489bf3a4ed5cc6212d1d072c8ffda6ad120cf92931f039daba93b0d6258cfad8b78f946da2bae8e1eba1f3aee689182005feaca796df403b9fb6ca890eb3611ce148be9d0861b46a8063b529f0689c296d626f6004bdee303d1b28a505457ad4debe53b7e869a884b3a5acc99379ca081825ef8e1d5b8b9af03c93efb1c75610df1976e1584391d895444483041c5ac1268a3dd339d128b900b031df60dbab7bff71bc08b667a4f57fdd6f2be497c7c46363e461fef86bfdc197403b009fd4aa7c500afcae6e6508a0c751468a3a46044ce438c7ae26afa5bb6f74e03d314484aa1255278e82500a5ada570d411ff6190a9869b74a4fcb74d3de1606b0343a3cb119252d1e8f0cd1ef7ce1633bc13155104b6aad032c71474e02dace535036883a8e4a2396921704f0b598b4484be3a3f8dcbb0ef076792d5423c12e041b503f0217859c82e367cf0dfb02de8638beaf7dafa0438c3acc2478540da6f9e165f033506ab727c65e4e1a4ff6ff25f2957595cbfe2200cf6429b51473f6c0883359103de863ac7584072f78fcd98d4a06c5b215e26f04e681b53f10faf57670a50a7d1031297c4b4c9dbe78a431f989e742f26607004e8e6ce1ef462040d8642a336a40403e55fb870b26afc36e93bfd469360f5f0573c82d574f094a15a3a5c0d83e47fc603118b2714b3f21c46ae8d5a130faf6b38bc7bc0d064d73982bc6b5b3eeb99cb040349c92e1b988f8e4a258b482bea01b174f191c6c4c0470005acded6813ec4d3de03eea6d0f84fbb4cbd38b71f3d5d4b7a88b36ed9f5c823f4955121817b92c279b503b209476f9f16e46ee9835018672e897ae0ec2eb84a7fef128c0c50d6ba1a11570313a3439d21726fac58991727a50099eb5e0909aec3908b47136b29ea2cbf64e70605581e03e1cf5806a833bca183b34faac0edb23a1834f95904d57a8296502b561007011bffffffffffffffff05581e0340767525552c45c2226f79dc8a1601b584422f6fa83c7a0f8de689cc400c183446a2b355c8aae005581e03ea756c8efa971d47e4163061939f4bb4e36017c796ad0a75ca5d4312300c064709dea69ec4540005581e0318695d00bacad4a1e8b6720ceb993af385589e1cf5296f8eac4c530d70040305581e031f502e8d3fb39550a63fdfc2aade70a77e102ccb460cc4415943b387200c114718a67785dc91fc05581e035100755b8d6ed661b8816204fa795810dab5202b395f214d0539719cc00c04467298a93de00003b793f945a4b00d0e1fe7b6a5fcecaf4ed68dfc310cc5938a7a484b773d72df5d05581d021d515a9a51c7d8015a6327ad1f176249d9a74fe8649a3ea5f43aea2d0c0246ab8209e37600045941b06080604052600436106101cd5760003560e01c80638bb39802116100f7578063ce654c1711610095578063f2fde38b11610064578063f2fde38b146105bc578063fab92894146105dc578063fb7c7c2a14610619578063fce633c21461063957600080fd5b8063ce654c171461053c578063dbec15bb1461055c578063e78cea921461057c578063eadd5c341461059c57600080fd5b8063ac210cc7116100d1578063ac210cc7146104bc578063b1659a3c146104dc578063c23a4c88146104fc578063c42a28941461051c57600080fd5b80638bb39802146103fe5780638da5cb5b1461041e5780639d8669851461045057600080fd5b80635badbe4c1161016f578063715018a61161013e578063715018a614610384578063753d7563146103995780637c374f99146103c95780638456cb59146103e957600080fd5b80635badbe4c146102fa5780635c975abb14610310578063687752781461032a57806370a082311461035757600080fd5b80632816f4db116101ab5780632816f4db146102345780633f4ba83a1461025a578063486ff0cd1461026f578063572b6c05146102bb57600080fd5b806308759e9b146101d25780631459457a146101f45780631ebe53ef14610214575b600080fd5b3480156101de57600080fd5b506101f26101ed366004613a48565b610659565b005b34801561020057600080fd5b506101f261020f366004613461565b610908565b34801561022057600080fd5b506101f261022f366004613aa4565b610a8b565b610247610242366004613914565b610ca5565b6040519081526020015b60405180910390f35b34801561026657600080fd5b506101f2610e52565b34801561027b57600080fd5b50604080518082018252600581527f322e302e31000000000000000000000000000000000000000000000000000000602082015290516102519190613d09565b3480156102c757600080fd5b506102ea6102d63660046133d7565b6065546001600160a01b0391821691161490565b6040519015158152602001610251565b34801561030657600080fd5b5061024760685481565b34801561031c57600080fd5b506069546102ea9060ff1681565b34801561033657600080fd5b506102476103453660046133d7565b606d6020526000908152604090205481565b34801561036357600080fd5b506102476103723660046133d7565b606c6020526000908152604090205481565b34801561039057600080fd5b506101f2610f1b565b3480156103a557600080fd5b506102ea6103b43660046133d7565b606e6020526000908152604090205460ff1681565b3480156103d557600080fd5b506101f26103e43660046134d2565b610fa0565b3480156103f557600080fd5b506101f261107d565b34801561040a57600080fd5b506101f261041936600461350b565b61112c565b34801561042a57600080fd5b506033546001600160a01b03165b6040516001600160a01b039091168152602001610251565b34801561045c57600080fd5b506104ab61046b366004613554565b606a6020526000908152604090208054600182015460028301546003909301546001600160a01b039283169391831692811690600160a01b900460ff1685565b604051610251959493929190613c34565b3480156104c857600080fd5b50606654610438906001600160a01b031681565b3480156104e857600080fd5b506102476104f736600461398e565b6111f6565b34801561050857600080fd5b506101f2610517366004613b02565b61133d565b34801561052857600080fd5b506101f2610537366004613a26565b611646565b34801561054857600080fd5b506102476105573660046136a2565b6118c7565b34801561056857600080fd5b50606f54610438906001600160a01b031681565b34801561058857600080fd5b50606754610438906001600160a01b031681565b3480156105a857600080fd5b506101f26105b73660046133d7565b611a13565b3480156105c857600080fd5b506101f26105d73660046133d7565b611b69565b3480156105e857600080fd5b5061060c6105f7366004613554565b606b6020526000908152604090205460ff1681565b6040516102519190613cf6565b34801561062557600080fd5b50610247610634366004613825565b611c6a565b34801561064557600080fd5b506101f261065436600461356d565b611eb6565b60695460ff16156106a05760405162461bcd60e51b815260206004820152600c60248201526b14de5b588e881c185d5cd95960a21b60448201526064015b60405180910390fd5b600085306106ac612535565b6040805160208101949094526bffffffffffffffffffffffff19606093841b811691850191909152911b16605482015246606882015260880160408051601f198184030181529190528051602090910120905060016000828152606b602052604090205460ff16600281111561072457610724613fe5565b141561077e5760405162461bcd60e51b8152602060048201526024808201527f53796d623a205265616c20746f6b656e7320616c7265616479207472616e7366604482015263195c995960e21b6064820152608401610697565b6000818152606b6020908152604091829020805460ff1916600217905581518083018352601b81527f7265766572744275726e2875696e743235362c62797465733332290000000000908201528151602481018a90526044808201859052835180830390910181526064909101835290810180516001600160e01b03167ff70519ae000000000000000000000000000000000000000000000000000000001790526067549151633675e4e160e11b815290916001600160a01b031690636cebc9c2906108549084908a908a908a90600401613cc0565b600060405180830381600087803b15801561086e57600080fd5b505af1158015610882573d6000803e3d6000fd5b505050505061088f612535565b6001600160a01b0316867f40590cc12db0488520ce425059f83f8caed91bdf98de5ff829dc57c63843161b60405160405180910390a3817f5a297b2c9a9f94a0f4e5a796c74ad38e219d1185fccf5f79c18726a830c2b6f5876040516108f791815260200190565b60405180910390a250505050505050565b600054610100900460ff166109235760005460ff1615610927565b303b155b6109995760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610697565b600054610100900460ff161580156109d857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b6109e18561257b565b606780546001600160a01b0380891673ffffffffffffffffffffffffffffffffffffffff199283161790925560668054878416908316179055606f80548584169216919091179055831615610a54576001600160a01b0383166000908152606e60205260409020805460ff191660011790555b8015610a8357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b505050505050565b6067546001600160a01b03163314610ae55760405162461bcd60e51b815260206004820152601e60248201527f53796d623a2063616c6c6572206973206e6f74207468652062726964676500006044820152606401610697565b60695460ff1615610b275760405162461bcd60e51b815260206004820152600c60248201526b14de5b588e881c185d5cd95960a21b6044820152606401610697565b6000858152606b602052604081205460ff166002811115610b4a57610b4a613fe5565b14610bbd5760405162461bcd60e51b815260206004820152602660248201527f53796d623a2073796e74686574696320746f6b656e7320656d657267656e637960448201527f556e6275726e00000000000000000000000000000000000000000000000000006064820152608401610697565b6001600160a01b0383166000908152606c6020526040902054610be1908390613f4f565b6001600160a01b0384166000908152606c6020908152604080832093909355878252606b905220805460ff19166001179055610c278382610c228986613f4f565b61261d565b606754610c3f9084906001600160a01b03168861261d565b6001600160a01b03811684867faeef64b7687b985665b6620c7fa271b6f051a3fbe2bfc366fb9c964602eb6d26610c768a87613f4f565b60408051918252602082018c90526001600160a01b0389169082015260600160405180910390a4505050505050565b60695460009060ff1615610cea5760405162461bcd60e51b815260206004820152600c60248201526b14de5b588e881c185d5cd95960a21b6044820152606401610697565b6066546001600160a01b03166000908152606e602052604090205460ff16610d545760405162461bcd60e51b815260206004820152601860248201527f53796d623a20756e617574686f72697a656420746f6b656e00000000000000006044820152606401610697565b6066546001600160a01b03166000908152606d6020526040902054341015610dbe5760405162461bcd60e51b815260206004820152601c60248201527f53796d623a20616d6f756e7420756e646572207468726573686f6c64000000006044820152606401610697565b606660009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610e0e57600080fd5b505af1158015610e22573d6000803e3d6000fd5b5050606654610e4693508b92506001600160a01b03169050348a8a8a8a8a8a612777565b98975050505050505050565b610e5a612535565b6001600160a01b0316610e756033546001600160a01b031690565b6001600160a01b031614610ecb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b6069805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610efe612535565b6040516001600160a01b03909116815260200160405180910390a1565b610f23612535565b6001600160a01b0316610f3e6033546001600160a01b031690565b6001600160a01b031614610f945760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b610f9e6000612b38565b565b610fa8612535565b6001600160a01b0316610fc36033546001600160a01b031690565b6001600160a01b0316146110195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b6001600160a01b0382166000818152606e6020908152604091829020805460ff19168515159081179091558251938452908301527f0a4552f1105808db6a44587c9ef0a7c4064bf620b9d843b514ad7365bd52239a91015b60405180910390a15050565b611085612535565b6001600160a01b03166110a06033546001600160a01b031690565b6001600160a01b0316146110f65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b6069805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610efe612535565b611134612535565b6001600160a01b031661114f6033546001600160a01b031690565b6001600160a01b0316146111a55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b6001600160a01b0382166000818152606d6020908152604091829020849055815192835282018390527fa6742efd4f410d6fd9688a6cf6a15b6d51121097a263056a3576baaacdc4a9ae9101611071565b60695460009060ff161561123b5760405162461bcd60e51b815260206004820152600c60248201526b14de5b588e881c185d5cd95960a21b6044820152606401610697565b6001600160a01b0389166000908152606e602052604090205460ff166112a35760405162461bcd60e51b815260206004820152601860248201527f53796d623a20756e617574686f72697a656420746f6b656e00000000000000006044820152606401610697565b6001600160a01b0389166000908152606d602052604090205488101561130b5760405162461bcd60e51b815260206004820152601c60248201527f53796d623a20616d6f756e7420756e646572207468726573686f6c64000000006044820152606401610697565b61131e89611317612535565b308b612b97565b61132f8a8a8a8a8a8a8a8a8a612777565b9a9950505050505050505050565b6067546001600160a01b031633146113975760405162461bcd60e51b815260206004820152601e60248201527f53796d623a2063616c6c6572206973206e6f74207468652062726964676500006044820152606401610697565b60695460ff16156113d95760405162461bcd60e51b815260206004820152600c60248201526b14de5b588e881c185d5cd95960a21b6044820152606401610697565b6000878152606b602052604081205460ff1660028111156113fc576113fc613fe5565b1461146f5760405162461bcd60e51b815260206004820152602660248201527f53796d623a2073796e74686574696320746f6b656e7320656d657267656e637960448201527f556e6275726e00000000000000000000000000000000000000000000000000006064820152608401610697565b6001600160a01b0384166000908152606c6020526040902054611493908690613f4f565b6001600160a01b038581166000908152606c60209081526040808320949094558a8252606b905291909120805460ff191660011790556067546114d9918691168b61261d565b6114e38986613f4f565b945081516000141561154e576114fa84878761261d565b60408051868152602081018b90526001600160a01b03861681830152905130918a918a917faeef64b7687b985665b6620c7fa271b6f051a3fbe2bfc366fb9c964602eb6d26919081900360600190a461163b565b606f546115669085906001600160a01b03168761261d565b606f546040517ff5b697a50000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063f5b697a5906115b990879089908890889088908e90600401613c74565b600060405180830381600087803b1580156115d357600080fd5b505af11580156115e7573d6000803e3d6000fd5b505060408051888152602081018d90526001600160a01b0388168183015290513093508b92508a917faeef64b7687b985665b6620c7fa271b6f051a3fbe2bfc366fb9c964602eb6d26919081900360600190a45b505050505050505050565b6067546001600160a01b031633146116a05760405162461bcd60e51b815260206004820152601e60248201527f53796d623a2063616c6c6572206973206e6f74207468652062726964676500006044820152606401610697565b60695460ff16156116e25760405162461bcd60e51b815260206004820152600c60248201526b14de5b588e881c185d5cd95960a21b6044820152606401610697565b6000818152606a6020526040902060016003820154600160a01b900460ff16600281111561171257611712613fe5565b146117855760405162461bcd60e51b815260206004820152602960248201527f53796d623a207374617465206e6f74206f70656e206f7220747820646f65732060448201527f6e6f7420657869737400000000000000000000000000000000000000000000006064820152608401610697565b600381018054740200000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff82161790915560028201546001600160a01b039091166000908152606c60205260409020546117f19190613f4f565b6003820180546001600160a01b039081166000908152606c6020526040902092909255548254600284015461183493928316929190911690610c22908790613f4f565b6003810154606754611853916001600160a01b0390811691168561261d565b805460028201546001600160a01b039091169083907fefcdf9ea4e65571d2ce9c030c46954e950662df8a7d8bd039fc4417e37b2f88c90611895908790613f4f565b600385015460408051928352602083018990526001600160a01b039091169082015260600160405180910390a3505050565b60695460009060ff161561190c5760405162461bcd60e51b815260206004820152600c60248201526b14de5b588e881c185d5cd95960a21b6044820152606401610697565b6040808301516001600160a01b03166000908152606e602052205460ff166119765760405162461bcd60e51b815260206004820152601860248201527f53796d623a20756e617574686f72697a656420746f6b656e00000000000000006044820152606401610697565b6040808301516001600160a01b03166000908152606d6020908152919020549083015110156119e75760405162461bcd60e51b815260206004820152601c60248201527f53796d623a20616d6f756e7420756e646572207468726573686f6c64000000006044820152606401610697565b611a0282604001516119f7612535565b308560200151612b97565b611a0b82612cf2565b90505b919050565b611a1b612535565b6001600160a01b0316611a366033546001600160a01b031690565b6001600160a01b031614611a8c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b6001600160a01b038116611b085760405162461bcd60e51b815260206004820152602760248201527f53796d623a206d657461526f757465722063616e6e6f74206265207a65726f2060448201527f61646472657373000000000000000000000000000000000000000000000000006064820152608401610697565b606f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fd5c54ab1d37bfef4dd2253d9d73c292e46f5bd8a67ca5920aab4c2e1993178e79060200160405180910390a150565b611b71612535565b6001600160a01b0316611b8c6033546001600160a01b031690565b6001600160a01b031614611be25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610697565b6001600160a01b038116611c5e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610697565b611c6781612b38565b50565b60695460009060ff1615611caf5760405162461bcd60e51b815260206004820152600c60248201526b14de5b588e881c185d5cd95960a21b6044820152606401610697565b6040808301516001600160a01b03166000908152606e602052205460ff16611d195760405162461bcd60e51b815260206004820152601860248201527f53796d623a20756e617574686f72697a656420746f6b656e00000000000000006044820152606401610697565b6040808301516001600160a01b03166000908152606d602052205460608301511015611d875760405162461bcd60e51b815260206004820152601c60248201527f53796d623a20616d6f756e7420756e646572207468726573686f6c64000000006044820152606401610697565b6000806000806000808760200151806020019051810190611da891906133fb565b6040808f015190517fd505accf0000000000000000000000000000000000000000000000000000000081526001600160a01b038089166004830152306024830152604482018890526064820187905260ff8616608483015260a4820185905260c48201849052979d50959b5093995091975095509350919091169063d505accf9060e401600060405180830381600087803b158015611e4657600080fd5b505af1158015611e5a573d6000803e3d6000fd5b50505050505050505050611e7f8260400151611e74612535565b308560600151612b97565b611a0b82600001518360400151846060015185608001518660a001518760c001518860e001518961010001518a6101200151612777565b60695460ff1615611ef85760405162461bcd60e51b815260206004820152600c60248201526b14de5b588e881c185d5cd95960a21b6044820152606401610697565b61010081015151156121a4576000816020015130611f14612535565b6040805160208101949094526bffffffffffffffffffffffff19606093841b811691850191909152911b16605482015246606882015260880160408051601f198184030181529190528051602090910120905060016000828152606b602052604090205460ff166002811115611f8c57611f8c613fe5565b1415611fe65760405162461bcd60e51b8152602060048201526024808201527f53796d623a205265616c20746f6b656e7320616c7265616479207472616e7366604482015263195c995960e21b6064820152608401610697565b6000818152606b60209081526040808320805460ff19166002179055805160808101909152604380825290916140ed90830139805190602001208360000151838560e001518661010001518761012001518861014001518961016001516040516024016120599796959493929190613e34565b60408051601f198184030181529181526020820180516001600160e01b03167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925260675485830151606087015160a08801519451633675e4e160e11b81529395506001600160a01b0390921693636cebc9c2936120e6938793929091600401613cc0565b600060405180830381600087803b15801561210057600080fd5b505af1158015612114573d6000803e3d6000fd5b50505050612120612535565b6001600160a01b031683602001517f40590cc12db0488520ce425059f83f8caed91bdf98de5ff829dc57c63843161b60405160405180910390a38261018001517f5a297b2c9a9f94a0f4e5a796c74ad38e219d1185fccf5f79c18726a830c2b6f5846020015160405161219591815260200190565b60405180910390a250506124f0565b61016081015151156123a95760008160200151306121c0612535565b6040805160208101949094526bffffffffffffffffffffffff19606093841b811691850191909152911b16605482015246606882015260880160408051601f198184030181529190528051602090910120905060016000828152606b602052604090205460ff16600281111561223857612238613fe5565b14156122925760405162461bcd60e51b8152602060048201526024808201527f53796d623a205265616c20746f6b656e7320616c7265616479207472616e7366604482015263195c995960e21b6064820152608401610697565b6000818152606b60209081526040808320805460ff19166002179055805160808101909152604280825290916140ab9083013980519060200120836000015183308660800151466122e1612535565b604051602481019690965260448601949094526001600160a01b039283166064860152908216608485015260a48401521660c482015260e40160408051601f198184030181529181526020820180516001600160e01b03167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252606754610120860151606087015160a08801519451633675e4e160e11b81529395506001600160a01b0390921693636cebc9c2936120e6938793929091600401613cc0565b600060405180608001604052806058815260200161405360589139805190602001208260000151836020015184604001518560800151466123e8612535565b610180890151604051602481019790975260448701959095526001600160a01b039384166064870152918316608486015260a48501521660c483015260e48201526101040160408051601f198184030181529181526020820180516001600160e01b03167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252606754610120850151606086015160a08701519451633675e4e160e11b81529395506001600160a01b0390921693636cebc9c2936124bc938793929091600401613cc0565b600060405180830381600087803b1580156124d657600080fd5b505af11580156124ea573d6000803e3d6000fd5b50505050505b6124f8612535565b6001600160a01b031681602001517fbd03c66ec5bd3d01fbf22bc794f68ac88b693023b438724019205a4b42aefb2060405160405180910390a350565b6065546000906001600160a01b031633141561257657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90565b503390565b600054610100900460ff166125e65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610697565b6125ee61316c565b6065805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b03167fa9059cbb0000000000000000000000000000000000000000000000000000000017905291516000928392908716916126929190613c18565b6000604051808303816000865af19150503d80600081146126cf576040519150601f19603f3d011682016040523d82523d6000602084013e6126d4565b606091505b50915091508180156126fe5750805115806126fe5750808060200190518101906126fe9190613537565b6127705760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c6564000000000000000000000000000000000000006064820152608401610697565b5050505050565b6001600160a01b0388166000908152606c602052604081205461279b908990613f37565b6001600160a01b03808b166000908152606c602052604090209190915584166127c2578693505b6068546040516bffffffffffffffffffffffff193060601b166020820152603481019190915246605482015260740160408051601f1981840301815282825280516020918201209083018190526bffffffffffffffffffffffff1960608a811b8216938501939093529187901b909116605483015260688201859052915060009060880160405160208183030381529060405280519060200120905060006040518060800160405280604b8152602001614130604b91398051602090910120604051602481018e905260448101849052606481018590526001600160a01b03808e1660848301524660a483015260c482018d90528b1660e48201526101040160408051601f198184030181529181526020820180516001600160e01b03167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252815160a0810190925291508061291f612535565b6001600160a01b0390811682528b81166020830152604082018d90528d166060820152608001600190526000838152606a60209081526040918290208351815473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039283161783559285015160018301805485169183169190911790559284015160028083019190915560608501516003830180549485169190951690811785556080860151929492937fffffffffffffffffffffff000000000000000000000000000000000000000000161790600160a01b908490811115612a0357612a03613fe5565b0217905550506068805491506000612a1a83613f96565b9091555050606754604051633675e4e160e11b81526001600160a01b0390911690636cebc9c290612a559084908c908c908b90600401613cc0565b600060405180830381600087803b158015612a6f57600080fd5b505af1158015612a83573d6000803e3d6000fd5b505050505050836001600160a01b031683612a9c612535565b604080518581526001600160a01b038c811660208301529181018d90528d821660608201529116907f31325fe0a1a2e6a5b1e41572156ba5b4e94f0fae7e7f63ec21e9b5ce1e4b3eab9060800160405180910390a4817f5a297b2c9a9f94a0f4e5a796c74ad38e219d1185fccf5f79c18726a830c2b6f582604051612b2391815260200190565b60405180910390a29998505050505050505050565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03167f23b872dd000000000000000000000000000000000000000000000000000000001790529151600092839290881691612c149190613c18565b6000604051808303816000865af19150503d8060008114612c51576040519150601f19603f3d011682016040523d82523d6000602084013e612c56565b606091505b5091509150818015612c80575080511580612c80575080806020019051810190612c809190613537565b610a835760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a20747260448201527f616e7366657246726f6d206661696c65640000000000000000000000000000006064820152608401610697565b6020808201516040808401516001600160a01b03166000908152606c909352822054612d1e9190613f37565b6040808401516001600160a01b039081166000908152606c60205291909120919091556101c083015116612d615760608201516001600160a01b03166101c08301525b6068546040516bffffffffffffffffffffffff193060601b166020820152603481019190915246605482015260740160408051601f19818403018152828252805160209182012060808601516101c087015160e08801519386018390526bffffffffffffffffffffffff19606092831b811695870195909552901b9092166054840152606883015291506000906088016040516020818303038152906040528051906020012090506000604051806101a00160405280856000015181526020018560200151815260200184815260200183815260200185604001516001600160a01b0316815260200146815260200185606001516001600160a01b0316815260200185610100015181526020018561012001516001600160a01b0316815260200185610140015181526020018561016001516001600160a01b031681526020018561018001518152602001856101a001518152509050600081604051602401612eca9190613d1c565b60408051601f19818403018152918152602080830180516001600160e01b03167fc29a91bc00000000000000000000000000000000000000000000000000000000179052815160a08101835260c08901516001600160a01b0390811682526060808b0151821683850152928a015182850152928901519092169082015290915060808101600190526000848152606a60209081526040918290208351815473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b039283161783559285015160018301805485169183169190911790559284015160028083019190915560608501516003830180549485169190951690811785556080860151929492937fffffffffffffffffffffff000000000000000000000000000000000000000000161790600160a01b90849081111561300c5761300c613fe5565b021790555050606880549150600061302383613f96565b9091555050606754608086015160a087015160e0880151604051633675e4e160e11b81526001600160a01b0390941693636cebc9c29361306c9387939192909190600401613cc0565b600060405180830381600087803b15801561308657600080fd5b505af115801561309a573d6000803e3d6000fd5b5050505050836101c001516001600160a01b03168460e001518560c001516001600160a01b03167f31325fe0a1a2e6a5b1e41572156ba5b4e94f0fae7e7f63ec21e9b5ce1e4b3eab86886060015189602001518a6040015160405161312494939291909384526001600160a01b039283166020850152604084019190915216606082015260800190565b60405180910390a46101e08401516040518481527f5a297b2c9a9f94a0f4e5a796c74ad38e219d1185fccf5f79c18726a830c2b6f59060200160405180910390a25050919050565b600054610100900460ff166131d75760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610697565b6131df6131e7565b610f9e613252565b600054610100900460ff16610f9e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610697565b600054610100900460ff166132bd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610697565b610f9e6132c8612535565b612b38565b8035611a0e8161402f565b600082601f8301126132e957600080fd5b8135602067ffffffffffffffff82111561330557613305613ffb565b8160051b613314828201613f06565b83815282810190868401838801850189101561332f57600080fd5b600093505b8584101561335b5780356133478161402f565b835260019390930192918401918401613334565b50979650505050505050565b600082601f83011261337857600080fd5b813567ffffffffffffffff81111561339257613392613ffb565b6133a56020601f19601f84011601613f06565b8181528460208386010111156133ba57600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156133e957600080fd5b81356133f48161402f565b9392505050565b60008060008060008060c0878903121561341457600080fd5b865161341f8161402f565b809650506020870151945060408701519350606087015160ff8116811461344557600080fd5b809350506080870151915060a087015190509295509295509295565b600080600080600060a0868803121561347957600080fd5b85356134848161402f565b945060208601356134948161402f565b935060408601356134a48161402f565b925060608601356134b48161402f565b915060808601356134c48161402f565b809150509295509295909350565b600080604083850312156134e557600080fd5b82356134f08161402f565b9150602083013561350081614044565b809150509250929050565b6000806040838503121561351e57600080fd5b82356135298161402f565b946020939093013593505050565b60006020828403121561354957600080fd5b81516133f481614044565b60006020828403121561356657600080fd5b5035919050565b60006020828403121561357f57600080fd5b813567ffffffffffffffff8082111561359757600080fd5b908301906101a082860312156135ac57600080fd5b6135b4613e94565b82358152602083013560208201526135ce604084016132cd565b60408201526135df606084016132cd565b60608201526135f0608084016132cd565b608082015260a083013560a082015260c083013560c082015261361560e084016132cd565b60e0820152610100808401358381111561362e57600080fd5b61363a88828701613367565b82840152505061012061364e8185016132cd565b908201526101406136608482016132cd565b90820152610160838101358381111561367857600080fd5b61368488828701613367565b91830191909152506101809283013592810192909252509392505050565b6000602082840312156136b457600080fd5b813567ffffffffffffffff808211156136cc57600080fd5b9083019061020082860312156136e157600080fd5b6136e9613ebe565b8235815260208301356020820152613703604084016132cd565b6040820152613714606084016132cd565b6060820152613725608084016132cd565b608082015261373660a084016132cd565b60a082015261374760c084016132cd565b60c082015260e083013560e0820152610100808401358381111561376a57600080fd5b613776888287016132d8565b82840152505061012061378a8185016132cd565b9082015261014083810135838111156137a257600080fd5b6137ae88828701613367565b8284015250506101606137c28185016132cd565b9082015261018083810135838111156137da57600080fd5b6137e688828701613367565b8284015250506101a0915081830135828201526101c091506138098284016132cd565b918101919091526101e091820135918101919091529392505050565b60006020828403121561383757600080fd5b813567ffffffffffffffff8082111561384f57600080fd5b90830190610140828603121561386457600080fd5b61386c613ee2565b8235815260208301358281111561388257600080fd5b61388e87828601613367565b6020830152506138a0604084016132cd565b6040820152606083013560608201526138bb608084016132cd565b60808201526138cc60a084016132cd565b60a08201526138dd60c084016132cd565b60c08201526138ee60e084016132cd565b60e082015261010083810135908201526101209283013592810192909252509392505050565b600080600080600080600060e0888a03121561392f57600080fd5b8735965060208801356139418161402f565b955060408801356139518161402f565b945060608801356139618161402f565b935060808801356139718161402f565b9699959850939692959460a0840135945060c09093013592915050565b60008060008060008060008060006101208a8c0312156139ad57600080fd5b8935985060208a01356139bf8161402f565b975060408a0135965060608a01356139d68161402f565b955060808a01356139e68161402f565b945060a08a01356139f68161402f565b935060c08a0135613a068161402f565b8093505060e08a013591506101008a013590509295985092959850929598565b60008060408385031215613a3957600080fd5b50508035926020909101359150565b60008060008060008060c08789031215613a6157600080fd5b86359550602087013594506040870135613a7a8161402f565b93506060870135613a8a8161402f565b9598949750929560808101359460a0909101359350915050565b60008060008060008060c08789031215613abd57600080fd5b8635955060208701359450604087013593506060870135613add8161402f565b92506080870135915060a0870135613af48161402f565b809150509295509295509295565b60008060008060008060008060006101208a8c031215613b2157600080fd5b8935985060208a0135975060408a0135965060608a0135613b418161402f565b955060808a0135945060a08a0135613b588161402f565b935060c08a0135613b688161402f565b925060e08a013567ffffffffffffffff811115613b8457600080fd5b613b908c828d01613367565b9250506101008a013590509295985092959850929598565b600081518084526020808501945080840160005b83811015613be15781516001600160a01b031687529582019590820190600101613bbc565b509495945050505050565b60008151808452613c04816020860160208601613f66565b601f01601f19169290920160200192915050565b60008251613c2a818460208701613f66565b9190910192915050565b6001600160a01b0386811682528581166020830152604082018590528316606082015260a08101613c6483614011565b8260808301529695505050505050565b60006001600160a01b038089168352876020840152808716604084015260c06060840152613ca560c0840187613bec565b60808401959095529290921660a09091015250949350505050565b608081526000613cd36080830187613bec565b6001600160a01b0395861660208401529390941660408201526060015292915050565b60208101613d0383614011565b91905290565b6020815260006133f46020830184613bec565b602081528151602082015260208201516040820152604082015160608201526060820151608082015260006080830151613d6160a08401826001600160a01b03169052565b5060a083015160c083015260c0830151613d8660e08401826001600160a01b03169052565b5060e08301516101a06101008181860152613da56101c0860184613ba8565b90860151909250610120613dc3868201836001600160a01b03169052565b80870151915050601f19610140818786030181880152613de38584613bec565b945080880151925050610160613e03818801846001600160a01b03169052565b80880151925050610180818786030181880152613e208584613bec565b970151959092019490945250929392505050565b87815286602082015260006001600160a01b03808816604084015260e06060840152613e6360e0840188613bec565b818716608085015281861660a085015283810360c0850152613e858186613bec565b9b9a5050505050505050505050565b6040516101a0810167ffffffffffffffff81118282101715613eb857613eb8613ffb565b60405290565b604051610200810167ffffffffffffffff81118282101715613eb857613eb8613ffb565b604051610140810167ffffffffffffffff81118282101715613eb857613eb8613ffb565b604051601f8201601f1916810167ffffffffffffffff81118282101715613f2f57613f2f613ffb565b604052919050565b60008219821115613f4a57613f4a613fcf565b500190565b600082821015613f6157613f61613fcf565b500390565b60005b83811015613f81578181015183820152602001613f69565b83811115613f90576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613fc857613fc8613fcf565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b60038110611c6757634e487b7160e01b600052602160045260246000fd5b6001600160a01b0381168114611c6757600080fd5b8015158114611c6757600080fdfe72657665727453796e74686573697a655265717565737442794272696467652875696e743235362c627974657333322c616464726573732c616464726573732c75696e743235362c616464726573732c62797465733332297265766572744275726e416e644275726e2875696e743235362c627974657333322c616464726573732c616464726573732c75696e743235362c61646472657373297265766572744d6574614275726e2875696e743235362c627974657333322c616464726573732c62797465732c616464726573732c616464726573732c6279746573296d696e7453796e746865746963546f6b656e2875696e743235362c627974657333322c627974657333322c616464726573732c75696e743235362c75696e743235362c6164647265737329a26469706673582212201ab6a8ee1ce7667753469f66994a0f7b890205298868366d5fc3b498a72165ee64736f6c634300080700330605581d02a312ba47512ef3766b25daef9ca707b672234bfca6935a1e249b3c1607011941b00219110005581e03a90e3c968b8f93aa4bdf23d0b39d67c711e8b75fd4900c13b06aed3940040303954e5d413a3a80796a1eb5d5f1333871263b25289465fb07c381ad20b32413a4021975da03ec2b50cadeb233041f348141d09d12d8d051dc2221ac014fa9e4356bc850671f031f15a7106cb9f1afb1eed38b821bb7e0c392e6379bbcda5db837729077245a35031f538f8cc54cc7a09c19173f7257e8a8266fb9792096a93fb309ee8272edfb5203962e1779b43ed47bd015bd73674379aef136ed75706d4af7afd261d16bea87e5039bd122d33824148678e684e035c575847bcdf97ece81eaa82df2d2fce67ba7fe031d063f58b36ed01dea2f2fb6ad8f690ee74b42df46ad10c2cf7e95d6b5a3c42503328483e12b328ee75a88af92790e45cf2babc5fc89a317d648c4b28370aff5f603db8a1073baab6511e5143e3a6b14bb2c19071e6016a039fd43e0f7cffffb3f86035ca38e9de22150a859b1fda2d1beb2035829b671f6cf98e7a18670df2acbf58b036e56f4833c604a0fd5327fe0ac70755e5170d83cce6b31c7d72dde1b4ace79f203d0752edac0c7edd269df0dfe61afe6e3a68e295111aca147b00df67a1b366a2903c3703a7647ef2e1137a470e36cc2770fc372c749d819c98f8ba67e5c589708180219ffff032b684b6bbe39d6d3179d7541a982ab1b1cdf81ef6d8c0cb855118a40b441cbdf03cf786ea37dfd9242bdcdeafc7b55639ffe81e6b5decea0b92924b25d80a9b4ad03a9dd6a4ed293d2a6c4932a77f570d9a0d01472b605af98b99a1b8b8c33c2ccd50306da81563387a17e7f09d1490c56ad786235684566617aaf19ba9820d3e2a19d03b3b82b8f428c1f2c8bf36068674cc5e3a5ad23b819b4d3a50eae6b8f820cfdfc032937848fc792e5b5bb3b582a5da43f8308b5b5d1092add03109ce0956580e73003880d2d47487aa52926972628f2d703da5aef4ad9057e0b8e8db5625a57c671ba03026a8c738712046cca0532f46e17f69c7c1a171eab539aa22aba371b6eb2c885036534f911248c8e908b7c99d4160a8b3a01849526b8e1b70795ce68c933c878eb0219ffff03d0b0dfd3c544d4bb7a51615d451dd0a59e0edcdf61535b52d42be2088309425503e10d9ee3b178feb58f37bbc3c9adb50e9272a1790652b86c73b6b39f6840beeb03e10347224bb21531e6f095eff60b6b3b823163521e717a794434bbfbec5da9f8033301fa926aefd75dbcc797f98674ed07e22a8da3f4a5328f0b2d6683670fa2340393f1340a0e2c043034ff69893f5e5a8c9e7f4101ca0ab46f416fba00c56cc4b20334269cf0c00239ea45b031ea9d68138290c26826fe2a8e3ce7abda36f28798320383dcb058086eb0f06b427e221ee103e1de3044845b9fba38ccc3a2ebe264d52703291e6a4f9ca12d1f42e0faf4f35f4a2f9981657daece53d89d55594217e9bf380219ffff0377517f31dcf3ce1732ce9380ef62522adcb818cb1dc59521129859bf1fe5921103d48ac17cebbc30d5bd501d6d032503b05acfb56bf9fc26558717693a7aa2ef000351d2b8bc07e56a08ee0991fc1f370f5ca56646383b3cbc8c6807022a8ad9c55503cb478d301af9ab616c5a3b0f08de4c72cef480a62645111608867ceaf932b8650219ffff03bf7a68d9193dbd14202407713c8e304b7747b33a5b406fccf43c29dc07c530180373c65f7094c00d4faf585d51484e3d0710b1500fd91b30236848b0983c48a06e0378c61e596af550c2a97778573725d767fe58bdfd89dfcc0680b4e383fe6bff4e03accecb3acebd4c142ed0265c26dacd22cd7ea16313a00c32a531c35212144f9b03a1b1248b6c345c4466d816331315577b7a7d2517efb197a71c77fb593d095bae03122541fbc1b4eb1d48ab671a4a9c795f33f2e2aa6753336d3966ec96e0e75b11034a47d8c3b45dbb3eb6a192522a5b126db9e70af9cd5b84c0dcd203391e1586cb0355a8e7e8c3892b0b87d6bfb4faff4ae501e5314f2570e826142b9b764f7087f703ebbf7aa9608331b77c0b6254c9c66a84e5503edff8789c80159ee520145f82e5035884e3ada4500b55f97a9ea7ee8ea5b417c09d1145deb43c7036a838c27b81f203d57c1f7c6ae9eb3a5c8305cf8ad94d5c7cd82f7726929af288eee9982452357f0377769c88920590830b125a1f73036829db8538e181ddc54be58f9d8b4876e93603cb5fb5ca510f0d23902363be19e465eaf047041933f84d7c1251af5099f11148039b67075b701b92370dc1e59e98c6330fc83f3373037c8351d228de621b7732e90378cbff2d981d86b37c552a63f8cec3f0030287d18a9ff2726327706235301c40037fa280da2adbae2cf551736fe975534eeb93858f847a0197b35cc95550cf77d60385fb8a7bf1cf996a2a1be48ff8c8ded4f26dc7646e58e5cad8e1006943862b6e039b321838c98f463952f3fe01b3a23f6e835796336e1557b74050ebd8a44e7ac403a7a46c52a12f39d63be495bb1f86534909f446349084766dd1329d1568649976039b15b062caab7360fd2c6df963acf4036f66c57ce8ab533d02890e5e7b25661a03f9f72b490101c9877d02cca2a48ab70aafcaab48c5d8a65b4e45c2179117f581032c9af75d4378238a31b24936b3b11106e82444899adda0e68a3401e03dd5644303e4f0db50d1d9dacfd83d497894ff033d465ddb83425b57307438bb249c9f72c5039877f41f6aa480111d4a669d7b52a957cb41d2c4ee255c204a05a1d7c8df4558036bec1ed3fdcee47ff4c80d9c38b40b75860fc24ef5049929d0ea165f62b3289d0327028985b20e49576dc37116de3b2abcae17a7513710bdd2255bdbba0dbcd30d031a61603a58debc92d742514717f410ad47cff6f9dae4f57d1c513ef78569a12003494bb7acccf43013db57f0fe5f522c6a479b294d8e7e8d020c0bde8e6c582fd803ca3f1d314b97306fa0975fd827c4adce8cb91726b1d1f597e6fe8482cf902cc1033867c4bd618170dfdc36b87fef59172066b3d03e2f3b9afdab7c0387aba615b703ded0faa4667730273adae511ffc87658300d90d5dca4602674f8755d052002dd0378be275b274e1cd41b56d905cf26c6b61e9a7ec539c7175e54a7c5681681177003e2c5389d5e33c5ecb9cc19e24054f14e42ee1d86ff677be2603d75f8677d9b7803e37fdd58653ff1c358bea0ef31b27b2d348fdc930f52a6db6b5419b99926a27103c2c6ff52158f907948f8f5f9ce226b342eb27a485bce7171b5eb1cedd036f81d03321529f23f405d953c6b49fe59f0f0fdf43f17806de3001d3189cf4c3261463c0385d2f2643696432c62f7de4c08757a51239b90b6756e332320b77157855e9340033539275c84e3770808abac0dcfca70dcc448e5de39b650e41d3a015b4d85177805581e030b071636808a71af14fc46a42946db6e28c1cad4e4ff5b987f50418c7007011bffffffffffffffff05581e03c5b2fd29487747a6605cbfd46f0f541a108036bfbeaaaf496c5c9b74b00c01470230be76c8f04805581e03e3e0f52bcca7e9fcc9e1211ed8a147c1f1bc7bf8b50127930543779340040105581e03a6abce6598c8067a787de77e84c719c0cddf43d9ee8d0b974a124320e0040405581d02c8143fe04ef60f5c3eabbed5df071b2eb7b46768a8e77961cb4dc1050c04472adbe54e6136cc05581d028804262da3f2e8a2be2dd91a1e1b321a2e9ba896032ca75b9c65231d0c0c469dad6b06392805581d02c165eb0db2ccae263683155d8a27d174843c3ecd4a6379243631ddc20c0147035aa2d5d2632a0219108105581e0301ca78152bf89696cd53e262c3c5636998b85c20e905808aec725ea3d00c024745485de0e2803005581e033706d3b0e8548e66f06ad4becb751658327132d742577939a7c96dae50040205581e03a8c1a8bf6c2794530d553fbf6f9764b616b7653605050b515b0cd7c9000c01460da475abf00005581e03365341734f38348afccb0eb46abf6b4414c8eeab7017a43a141eccf6000847b1a2bc2ec5000002195f770219ffff03e354eb70dff77d1be7fa7065ac06fe5b3b202470559a8358006961b1be3cd17f03d0ef3420c538b15a83c33c49706fdc9f4534017b28a792124ce39fd791f3088d035ae84de3a3be837afa7731e6920623747557d12da74e3f6f69a4e03591fa4e86032ab98cc34d8ddd2ad9cd6807935f541927959e39084876a353b629cb7990864a03701ef98ef82de8a5eb9b821c2f5db7c942385683459847b4a97875f37b44f5e703775b5cdf719398c031a15e9dc8bf180a612550e3e4592f7dc460b9bf014b232603d8d9fb68e8e19d3bea30e8b5d02cec0544ee70d57becc7b90b31838febf6122d0374507d2384ce86f5b68b2f9c03ab8677228fe728d26ae6c3ff19bbaba86f7d6003f8570d89353ae5b46d4cfb28e25260570087337091bd6c83691c8c286a397a190219ffff03324aaf53a36e655b3353eba58df7c05d64dc9f95d4a4590c200893b83bb14f2d03cd577500a3171dea04332d65c898293ba95b25d103fd27c732016ae97ef4aad503c52011f2ed5d1ffc880ed2d487079fcfbf14c7214c0b1f9e0d75ee17175e1d280219ffff0303b50df4a3a9f13ac0c3d53c9979215862e7cbbb65ffd2ca33853be6e4d7e60203801835896de221754692c9c27d0f7c8a0007d513ed8943a267b2e98ab64f3f7a03d77805f44cec2923704d47db17dff0d9403cd8ee14c268ecf5d9230a8f5eaa36033affa83425ee1bbd10fd4b92334bfbbfaa5718302c3c30865dc05b08c04317a50328d483a17fc04918cfde29e6f649e2546904a43e22d6afb858a95bc1c579fb1303dd30829e718414cb6d1c9f241d89b1efbb54fea90113096dfd518e4635adc988034f108d796af8d5ed7bb0f00cff65f7a0709ef6a0ee8d9f108650fb994690066a033439e3f4c496d771d2b743e3fbb34cd1bda6d4529f59b8e1a1fa5b642f582d12034ddbc9ab02a9c10889fbe2227bff9e68206709a621608895f23e5fc1e2e4442e03a80e4c0266ce3a63ed83cdb3a79f8e75d59ce63bae6f240b68feb7ffabea83d70314f7987bc33f290bcab057cf80463dd589e1c473eb21a2a9174d6c35b8c412bd03839776ca5d1a6d7968436a900d154a091382a5674048de50ac806fb9b07a5ee503f745352f6e8310269c803e60d550fe158c7722ac19c42382240f21c939c9573b038c08733c2ef9e084fcc919a5d05e3e5acd3d549cff7b9ddf5760ea591060fdba03ae93308f88b21918a639d2a883a353f541a1e3b4c06466e6b5ac1ff38952d64c0308dbbc358cf245193f5305c93a8f83e00fe32571f224277ac5e343df4889358a0358e31f7b353e25fb0610b0b139d00370435dec687dc26c56cdcc68f5a30d4e3c03e542980b7f270452307b50aff7a4d9c8ee1e5c276f6cac9ed4df387976663f0c034172ed73b7a7a27043f5e062ba6dbc5a35309102618c6ae15d44597d30bf10df03f9901867cb0bef3a3bed3ee5c15927cc1bec7227d372d3e9f41bad6fe1afea0d03687e6e35800243f1baccc4ba3fdb20db9c2cb04b084841e85bac22b5896953b30399e90224c3b9875e1eae96326be2e1c872aa504df1441c17f72aa9e1f44426fa039d2bfd8fcb300041be96df450fc6896f0de5ee92583ca83827a69d773a62f2de03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e036232a4b2c000e413815191de8fccda98af457eff63c2600b72ed0a0fc007011bffffffffffffffff03e295e682e5744251d18a6362e3a8d465ecf9dcea51f73862d7e938417580087d05581e038124e028a2ec62e96b1f643712aaf66181fc821e48c686139d65054510040103d9261fb94cb0fbfb4c7d34fa677191dedd09666afb6d959a3372cc31ce9d9d3b0307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581d032f6a14d47f357f19a62e3e2160aca86b583990740487a7e157a2f21007011bffffffffffffffff05581d036310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d008490313b2c58fcbd16c2602183005581d026d18b5ed74eadb7c5c5b22834769445678c0c8168fddeb16e6bbfb5804020219080105581e03c1f7e420eb4d9b12912b3884e45c9eac000f2f675b8cc9b77035855ab00c0147053b45e0d7b72805581e03f271f1cb20bc5b0b74aa8551a2db46f5a669e9e60f67340a472e20c1a00c0f473102fe5908807903446effc83a5c062fae4e244e10567ba2c9e28bc62c186116096de7ae79e49380034ebf60e22debe940f4a31bb59a7ad1f0d31d3aed30fb722e3599371bb31a292d05581e03e10b65d9d50ad3f2ef4b13bbc70e944c69c79a6b2289cb43fd833fdf6007011bffffffffffffffff05581e03ea1c35e4e0ebc8269e07da4b4fb389ab368d2c66ca177aeedb19006aa004010327ea5fad69b96ff425afe7fe109b5dac7e66f8d5a26dd91036fd2afa37e626170219e7c90320ae7e9c64e1af00e498c0bb5dd5e3384fb1de3cbede0466f2fbd1711dd5aef80331ac71fa9deaa0f7cd59ec1c895b518616c5f70aeea27aa31113f97c875655b7032ae177766ebc54448e107c891b6c21ed31c00e3d5b2f4114d13803ea201f9c3503ad440b5d0030617588316bb3cff0d8715792906746932d852b7ecebb15977b1903439e5b1aa4f06cfea59c620425f5e4fb5a0e693499bb34e142d6891090e6487f03bef132edf186885fafcd264dfa4c1b45b87419438e411ca84e528837c2cdfeba030a3d52a74585026fdd9de88d33e0cf3bfe091fa68a9629d8e5878e3803eea0e50219ffff03427869cc7960c6112627cf3e452c54833c70981a012e9b63a3b11e7d1c75b0d8031ad5e537854105f93fcc4eb7333bd8b7896b282780890a6007a5583dbbf0594003cc98de9b8e19942ce7b02ba69b3fd3eea4175e6164ec1c50c3e0396ee43a1fab03a9e9e011871c863f66634dd1e902aec74521e7f370e9c35a7a61c8d4083b8c9d03610589d60c54471df32c03b06b774e590dd4c78176e70ce2baca2aa5ddd4f5ff033ead3c931d0b813c1d0dfc0fa9a062bbb8d8531539682f340c94a71187de2f1003c901bf14e502388374e5e279768280377d74db5de196423c41f08c2608a14f77037ab5a59dbe64ecf63d98c24a7561cd459b0b593d4ebaa14b7d0947e70593ca04038620a849605175d4810364883f772f79b46b15ab4723e7c62108c76e43aa684e031d36a64ecc8fdda001f6f294434bdbf3566ecf92d9acb835349365c25238869c03ce45635fe6b34fadca30a3ea4bb85caf7bd7d5872ed58a1b466c8e7a7df5b0fd0368c9b389a95dbe1bdcab345a9d0257d103c52aaa326b9007c591140b71a5aa140375ca2cdb9ced55e979ef62784eea48a04233dc0f710b9ee3d0dd3163569477bc0219ffff03dea00977d8382d3890d1489b240185e629cb00eba861e65e9f594f7f653d6ce9030fca8f8676ac10bfb9891e7eb13ae436dd7ab1eda9049220821cfa0d4550ee390350c384a8d40eedd1f349ce25183c37d579d8a3297dfab35727b0f20c6dae133303d434c33699a4896a0588b2aed0858896e87fd36e773655909c27a6d857542ac403be599fcdbc940b544e42f77ff2c111bb46120ea895d1ea69b6543e3f502c5a0203c0929db827adc9e75060c0d6a4e530a4de4642cbcaed2cc54fb944ac1b40999103998df47279401693d111d59813ca36821113f283b876e59025d7c3445d3a04c30219ffff03c2bf970c81a4ec3f5943442b8752e196a2099ecfbd610d85cda4d3b70b26f2190314434e4ba8f2375ad7a713dbbeb6a88f5474f65b2fffcedbbdb6b0d08985f8db03da2fa1cb69a0bbf689f15e0c9bcd8174860fc382ab07584ddcaf5fb2149a49f703d4606a86d0c183955ef9f976f5e3936908236c77dd7a25d20655989a1006636303b8c67e9c2c2fdc936e62837ee2226078338d7f21042713ed2822e92b60e1e305031981947048f9118310880d9bd068568a885058fe93090dc60dec868db63973c1031281eb59a49cce4a9d8bb6f1d857b5b2a6027f2e5e828dc1086549e781b2de800360c47e65f26826d6d420ed56934276db3b3dfebb053a06ab711ae716bbdc85ba032b2291ba34f62d4df9a723154fe73d7db9ee3a1f967d50415dd991829a3db4d40219ffff03fee3544954311dc107b141e7289bbea780abe59c5f5a21598794ff7b5e88ea1c0323a7b953e672f30286243b6b93f47ac4036c6f843d86d172d7ea4afe9a120414035c59d4deeba6dc4fff1c3ea78e589eb24c295c5a5d0b0a2d10969fee579d31a30388350f012753edd14e21d2f5a0720a6f9e87ffaf0bce3628c1538290830de60403148956cce09de6c5184bafcef478684aed2dcd644013092bb2e55a33bb2967450391801777cb48d41bf926fb846a6866c956b949b32a6fa205ce5954f0840bd91803531787d90bd63d152f1a804894e14589a8e2838949c18e5bf879a58ba67feaf20365b464b84493947984a65b60915deb9486803bc1e2a10aabdbf10ba41e1f068d03635cde40e861107cfaaf4b1fd057707ae235c48bf57c93b75fe6ac9df3289805037af3ff525745e83201e7b18fc5b6766cd60da44bc1dbaa0ed46e507b66820b7b03812f0d0a22013ff9c8e356d6ea85182c57249f703cc0ac5cab2e11cb5b18a1e803005256dec58485d040e9f6b6c90b29c63e199a6c77a3a47f4b6ed002bc29c49d03848fc5a57b4380e152c66c0aba16f00c4759a10789a84e0b4d8b394a27e2916f037b3b68bf948d2897885423bac75d63d8619af1e71acc034f9bb435e1866970c403b8091da35efa0f2c68980f49b1d26bfaa250acc80cd16949e28cddd95fa4a2280371e97ca7024302c105abc1cac986eaf23b7ec13c761095287e70ddc4a82a3bb303ce36b6c70d25ce66ccad393789ec7892a1608b352b0d614dc5e30eaaac709a2703a9028d32ceaa8c9df04e1c39506e16eebce921b795fd91e2320deb0fc4acf8b603ec2a8cde5a611ccd5f302c4490dab9e010f0cf4d512802676f3a7e33ecb66cc003eeb8e389f7634389d28d54221de4178b49c114fe14dd5d8675091a6e4a745d1503037f530959b229303d3283a0b2bc8ba826ae7bcd1b128ee6184e6f92ed99952503bd3251d8401e1171628b6b4b6d03ff338cac6ff2ebb1c30041d4332e9472989005581e0388e94623602ee9061ba8886a4b0758469bf532e3d5ec14c4c3fae0c860040105581e03dc44edeb89ef202a5258feb48d515aa49bbeb37095ea4093e48aee7790040105581e0359a0c44f1f487b61e40e27adbbfcb35096901cb9e7ca4b00bd5419a73008473eff7f603e8fd003d317c7e536501d1cbf7a7ef373435a2a73dd0089d51de2e42b7833731f3c3ae205581e0318645ef1564566c354ccd52f402c2923a19b71d7552ccc9848d855f340040405581e0341024809b059bf3a9cd47925620fa25222517a8b5f2e2d1923bc3b7f700c0247030f132f26d00005581e03b1fbe976f454d50fb3496e25b9497f845bdd2bc03df9d9dc1a916e68d0040205581e03b333700b366162dda5524af4efcc209011d4013ae784bcbeac9923d9b00c054743d94f5ad31a50035c1ea685262a77791b567d3468cc14c6d15c814215285ad4361236993d8c6bb005581d02d981111c7f49ce2c9212f083957ca1641289e91d5b6fb7f34a2b8ee00c1901a64707596c4071e8f204591e6073f5d3ec68826e4774d214c6a515f85bebc7c07874301460806040526004361061007c5760003560e01c8063764f4eba1161005a578063764f4eba146100ea5780638b836596146100fd578063a017b3bf1461011f5761007c565b8063052c580d146100815780633eb41206146100aa578063531020c2146100ca575b600080fd5b61009461008f36600461185d565b610127565b6040516100a19190611a25565b60405180910390f35b6100bd6100b8366004611750565b6102c8565b6040516100a19190611a1a565b8180156100d657600080fd5b506100bd6100e53660046117fc565b610694565b6100bd6100f83660046118e2565b6109cc565b81801561010957600080fd5b5061011d610118366004611783565b610a05565b005b610094610acb565b600080846020015160001461014157846101000151610154565b6101008501516101549060006004610aef565b905083806101655750602085015115155b6101a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019b90611b47565b60405180910390fd5b600085602001516000146101b95760006101c4565b6101c4846000610b8f565b905060007fc5a8de228c4b8a2b5cca9f3d773bde585bcb31ea78d44537f7af818c3c1d48c48760000151886020015189604001518a606001518b608001518c60a001518d60c001518e60e001518b805190602001208b6040516020016102349b9a99989796959493929190611a2e565b60405160208183030381529060405280519060200120905060006102588983610bab565b8a546101208a015191925061028591839173ffffffffffffffffffffffffffffffffffffffff1690610c15565b6102bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019b90611b7e565b9998505050505050505050565b6000806102e46000846101000151610c8090919063ffffffff16565b9050826020015160001480156102fb57508260e001515b801561068b57507fffffffff0000000000000000000000000000000000000000000000000000000081167f7be5fdc300000000000000000000000000000000000000000000000000000000148061039357507fffffffff0000000000000000000000000000000000000000000000000000000081167fb6aa057e00000000000000000000000000000000000000000000000000000000145b806103df57507fffffffff0000000000000000000000000000000000000000000000000000000081167f24db3d0200000000000000000000000000000000000000000000000000000000145b8061042b57507fffffffff0000000000000000000000000000000000000000000000000000000081167f01a44c2500000000000000000000000000000000000000000000000000000000145b8061047757507fffffffff0000000000000000000000000000000000000000000000000000000081167fa79c930c00000000000000000000000000000000000000000000000000000000145b806104c357507fffffffff0000000000000000000000000000000000000000000000000000000081167f51953ea600000000000000000000000000000000000000000000000000000000145b8061050f57507fffffffff0000000000000000000000000000000000000000000000000000000081167f9a792d4600000000000000000000000000000000000000000000000000000000145b8061055b57507fffffffff0000000000000000000000000000000000000000000000000000000081167f8fbbddc400000000000000000000000000000000000000000000000000000000145b806105a757507fffffffff0000000000000000000000000000000000000000000000000000000081167fbb64cabe00000000000000000000000000000000000000000000000000000000145b806105f357507fffffffff0000000000000000000000000000000000000000000000000000000081167fe9f8db0400000000000000000000000000000000000000000000000000000000145b8061063f57507fffffffff0000000000000000000000000000000000000000000000000000000081167f26e1c97800000000000000000000000000000000000000000000000000000000145b8061068b57507fffffffff0000000000000000000000000000000000000000000000000000000081167f31ea76b100000000000000000000000000000000000000000000000000000000145b9150505b919050565b6000805a9050603f6106b460408560800151610c9390919063ffffffff16565b816106bb57fe5b048110156106f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019b90611c23565b3330141561072f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019b90611c5a565b825173ffffffffffffffffffffffffffffffffffffffff16301461075257600080fd5b61075c86846109cc565b610792576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019b90611bb5565b6020830151156107a757602083015160018701555b6060836000015173ffffffffffffffffffffffffffffffffffffffff1684608001518561010001516040516107dc919061194f565b60006040518083038160008787f1925050503d806000811461081a576040519150601f19603f3d011682016040523d82523d6000602084013e61081f565b606091505b506003890154919450915060ff1615610864576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019b90611cc8565b60006108738888878786610127565b905060008560a001515a85030190506000866060015111801561089f57508560e00151158061089f5750845b1561096557600086608001518211156108bc5786608001516108be565b815b905060006108d9886060015183610c9390919063ffffffff16565b60408901519091506108ef908c908b9084610d16565b73a9abc45a98ac6f5bd44944babb425ef480abd3fe63beabacc889604001518a60c00151846040518463ffffffff1660e01b8152600401610932939291906119c3565b60006040518083038186803b15801561094a57600080fd5b505af415801561095e573d6000803e3d6000fd5b5050505050505b60208601517f62c84a9696a03a1f76d684995670d2063d321d1a8f155d3b075037418ac2cccd9080156109995760006109a4565b6109a4856000610b8f565b8488856040516109b8959493929190611cff565b60405180910390a150505050949350505050565b6000826001015482602001511180156109ed57504360808360200151901c11155b806109fc57506109fc826102c8565b90505b92915050565b60005b81811015610ac557600030848484818110610a1f57fe5b9050602002810190610a319190611d24565b604051610a3f92919061193f565b6000604051808303816000865af19150503d8060008114610a7c576040519150601f19603f3d011682016040523d82523d6000602084013e610a81565b606091505b5050905080610abc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019b90611b10565b50600101610a08565b50505050565b7fc5a8de228c4b8a2b5cca9f3d773bde585bcb31ea78d44537f7af818c3c1d48c481565b606081830184511015610b0157600080fd5b606082158015610b1c57604051915060208201604052610b84565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015610b55578051835260209283019201610b3d565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b5090505b9392505050565b60008160200183511015610ba257600080fd5b50016020015190565b60006040518060400160405280600281526020017f19010000000000000000000000000000000000000000000000000000000000008152508383604051602001610bf79392919061196b565b60405160208183030381529060405280519060200120905092915050565b600073ffffffffffffffffffffffffffffffffffffffff8316610c3a57506000610b88565b610c598373ffffffffffffffffffffffffffffffffffffffff16610f07565b610c6d57610c68848484610f3e565b610c78565b610c78848484611077565b949350505050565b60008160040183511015610ba257600080fd5b818102821580610cab575081838281610ca857fe5b04145b6109ff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d554c5f4f564552464c4f570000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805160a08101825260078601546fffffffffffffffffffffffffffffffff8082168352700100000000000000000000000000000000918290048116602084015260088801549081169383019390935267ffffffffffffffff90830481166060830152780100000000000000000000000000000000000000000000000090920490911660808201526000610daa826111d1565b90506fffffffffffffffffffffffffffffffff8114610eff57600073ffffffffffffffffffffffffffffffffffffffff851615610eae5773ffffffffffffffffffffffffffffffffffffffff861615610ea6576040517ff182178300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87169063f182178390610e5190889088906004016119f4565b60206040518083038186803b158015610e6957600080fd5b505afa158015610e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea19190611927565b610ea9565b60005b610eb0565b835b90508015610efd5780821015610ef2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019b90611c91565b610efd878483611220565b505b505050505050565b6000813f801580159061068b57507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b600073ffffffffffffffffffffffffffffffffffffffff8316610f6357506000610b88565b815160411480610f74575081516042145b610faa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161019b90611bec565b6000825160421415610fbe57506041825260015b610fc885846112c9565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614915081611064576000856040516020016110109190611992565b60405160208183030381529060405280519060200120905061103281856112c9565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16149250505b801561106f57604283525b509392505050565b600080631626ba7e60e01b8584604051602401611095929190611a9a565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808573ffffffffffffffffffffffffffffffffffffffff168360405161111c919061194f565b600060405180830381855afa9150503d8060008114611157576040519150601f19603f3d011682016040523d82523d6000602084013e61115c565b606091505b509150915081801561116f575080516020145b80156111c657507f1626ba7e000000000000000000000000000000000000000000000000000000006111a2826000610c80565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b979650505050505050565b6000806111dd836113a1565b9050806111fd57506fffffffffffffffffffffffffffffffff905061068f565b6000611208846113de565b9050808211611218576000610c78565b900392915050565b6007830161123f61123a83611234866113de565b90611477565b6114e9565b60019190910180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff909216919091177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff167001000000000000000000000000000000004267ffffffffffffffff1602179055505050565b600081516041146112dc575060006109ff565b60208201516040830151604184015160ff167f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561132257600093505050506109ff565b8060ff16601b148061133757508060ff16601c145b15611395576001868285856040516000815260200160405260405161135f9493929190611af2565b6020604051602081039080840390855afa158015611381573d6000803e3d6000fd5b5050506020604051035193505050506109ff565b600093505050506109ff565b600042826080015167ffffffffffffffff1611156113c05781516113c6565b81602001515b6fffffffffffffffffffffffffffffffff1692915050565b600080611402836060015167ffffffffffffffff164261155890919063ffffffff16565b90506201518081101561146d576114656201518061143f85604001516fffffffffffffffffffffffffffffffff1684610c9390919063ffffffff16565b8161144657fe5b60408601516fffffffffffffffffffffffffffffffff16919004611558565b91505061068f565b600091505061068f565b818101828110156109ff57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4144445f4f564552464c4f570000000000000000000000000000000000000000604482015290519081900360640190fd5b60007001000000000000000000000000000000008210611554576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180611e046027913960400191505060405180910390fd5b5090565b6000828211156115c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f5355425f554e444552464c4f5700000000000000000000000000000000000000604482015290519081900360640190fd5b50900390565b803561068f81611dde565b8035801515811461068f57600080fd5b600082601f8301126115fa578081fd5b813567ffffffffffffffff81111561160e57fe5b61163f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d8e565b818152846020838601011115611653578283fd5b816020850160208301379081016020019190915292915050565b6000610140808385031215611680578182fd5b61168981611d8e565b915050611695826115cf565b8152602082013560208201526116ad604083016115cf565b6040820152606082013560608201526080820135608082015260a082013560a08201526116dc60c083016115cf565b60c08201526116ed60e083016115da565b60e08201526101008083013567ffffffffffffffff8082111561170f57600080fd5b61171b868387016115ea565b8385015261012092508285013591508082111561173757600080fd5b50611744858286016115ea565b82840152505092915050565b600060208284031215611761578081fd5b813567ffffffffffffffff811115611777578182fd5b610c788482850161166d565b600080600060408486031215611797578182fd5b83359250602084013567ffffffffffffffff808211156117b5578384fd5b818601915086601f8301126117c8578384fd5b8135818111156117d6578485fd5b87602080830285010111156117e9578485fd5b6020830194508093505050509250925092565b60008060008060808587031215611811578081fd5b8435935060208501359250604085013561182a81611dde565b9150606085013567ffffffffffffffff811115611845578182fd5b6118518782880161166d565b91505092959194509250565b600080600080600060a08688031215611874578081fd5b8535945060208601359350604086013567ffffffffffffffff80821115611899578283fd5b6118a589838a0161166d565b94506118b3606089016115da565b935060808801359150808211156118c8578283fd5b506118d5888289016115ea565b9150509295509295909350565b600080604083850312156118f4578182fd5b82359150602083013567ffffffffffffffff811115611911578182fd5b61191d8582860161166d565b9150509250929050565b600060208284031215611938578081fd5b5051919050565b6000828483379101908152919050565b60008251611961818460208701611db2565b9190910192915050565b6000845161197d818460208901611db2565b91909101928352506020820152604001919050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b90815260200190565b9a8b5273ffffffffffffffffffffffffffffffffffffffff998a1660208c015260408b019890985295881660608a0152608089019490945260a088019290925260c087015290931660e08501529115156101008401526101208301919091526101408201526101600190565b6000838252604060208301528251806040840152611abf816060850160208701611db2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016060019392505050565b93845260ff9290921660208401526040830152606082015260800190565b60208082526013908201527f424154434845445f43414c4c5f4641494c454400000000000000000000000000604082015260600190565b60208082526015908201527f415050524f5645445f484153485f554e4b4e4f574e0000000000000000000000604082015260600190565b60208082526018908201527f4d45544154585f494e56414c49445f5349474e41545552450000000000000000604082015260600190565b6020808252600d908201527f494e56414c49445f4e4f4e434500000000000000000000000000000000000000604082015260600190565b60208082526018908201527f494e56414c49445f5349474e41545552455f4c454e4754480000000000000000604082015260600190565b60208082526019908201527f4f50455241544f525f494e53554646494349454e545f47415300000000000000604082015260600190565b6020808252601c908201527f5245435552534956455f4d4554415458535f444953414c4c4f57454400000000604082015260600190565b6020808252600e908201527f51554f54415f4558434545444544000000000000000000000000000000000000604082015260600190565b6020808252600d908201527f57414c4c45545f4c4f434b454400000000000000000000000000000000000000604082015260600190565b9485526020850193909352604084019190915215156060830152608082015260a00190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611d58578283fd5b83018035915067ffffffffffffffff821115611d72578283fd5b602001915036819003821315611d8757600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715611daa57fe5b604052919050565b60005b83811015611dcd578181015183820152602001611db5565b83811115610ac55750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114611e0057600080fd5b5056fe53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473a2646970667358221220aa5ed9e7434d796f4b6b44d360f974fb0bf56278c044beed7698821a9bf90a9164736f6c634300070600330605581d0203996441deb4d6d89b77dcded6c257c417fd2a084e9f92a0309f0ef40701191e6002190900032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03f44407c7bc335ee960b1f1433c9b18127c5df466c8166f141f56a74f5007011bffffffffffffffff0347b0b8839a8af5e3eea7facad5cb7c2bb1612751dca9463ad37eae560f9e73b102191eff034010296f140de158c2ee2c84b0126e056c390c5145fd260df558c824d055470503f8c850614b54f117a785fe497c863a08c48dbae36707de663b0371c31413dd4f03b0f7f6f06f36b5c8ff4ddf26a525b6ca4882ca71156cc7dffa2a1b74042432740337b954472f7aa45e96d7252212b2790bf5fbf873a44e0f0c1f79530aa779548b0363b00451a54acf27f2ed0d941d0a3db2fccc3c209a2c3859100c7d026368d03f031e102b4a1a4d668b4a708ce67533602b0e6d1035e14544560b748cc70e5d0dcf033522c777041ddc0be3592cd337bafb104c95741c30e30dbf55777fe10edbf7530378ccb3c243b1fd44c0f9cbdb5e277e045b5bf0056f3c05b2e51b4fab57c1740f03afa5d8393e7f3c747956dc8fb8a71bad40261519f79b9a637bb07e544b32851e0302341efd54568117850c61bb41a0840b9a5ac659ed0fc5e9a0866acfdf51c1d00382bf1af7e16c28e5c1418a3447d2afe4ec12488f60bf6ab7621fa978488e075e0351bb5c3715d0e654684e6bd4494c543a52c54461da5493020d54cb046cf86d1b0219ffff030c7307bbec80b8efce5955cd73e2f6ab042a44b4706548cc10bbeae43cde2670035070bdd71f84889fdfc02cff4653142f4a52c1743710f91ed3e75212154400f303d162be007154e1f1c9d8880ec4c008bb9c63b53460cb4a801e20e1d370033a0a03231202bcb2917252a583991259e0a696448122e0c6311ffe49a61019e205102c03c08ba5cd24d172c0cd444a660bbed18abd964d7a885617568618fd96c9d158f103ab493b6eac309d1a2abefd69e04a462bf26b10adfeab03b76148a055d7cb016b03a12739633c165f196ecdb0ee5b951bcfdd01a4bfb332c27caaef0dcbdee0f5c403ddccbb160d9a64dee2f8916e5c155ad8129ba6e84a28a8e6a19b821282acb18b0219ffff03818efdfb8134a1d9595200e89c9170d85486544228e8d9f88722e7c9189b8e9d03df9b327809b4c392b55e8590604211e6f907843f03551dfb5d1db4a0588818b30325d109e5f5dca285ea1878f89345a098f93b671a5585b12adc74699ff852ba390349e031b570c56a2437a6f7d9dec22cddec0a470d0eb3f74a8a4291c643361c65034a09daad2e22a7e7d2aa1933d6aa988759370873ae8ce423dc2c0120134e9061032d20a2713b2fd403344e0d5a20e134212bc5e1ff0b6c2ed18f85755a32c1ad1603840ef2d6f3b6a518627da6ea6e1c614e2bebd4134d8401ab25fdd847ccd20bf603a53ec25af0404ff185f6efc45018b6d2f0d221342add22b2ce4e27075b4fb73b03a9c108a158e68d0668cadbf8394b95032badac62bfdb263c6451659686d217e50219ffff0335a2701fe346525bed4076efda2e941a1887c53570178cb68e1acefe4b8a02a203fe63d0802771c3c7f7adac10da26d884cedd3c689dc8ae75d9ceb6e35ba90ae1031946153858bfa57c204e45a81a87adb524f71e46eb98aa5f34d2ce60baf31d540336c631d38e2a78a418ebf83a79e6947348da5f0fe5bab734587ba1942a6c6cc103aca0cb13b5ae6596929587eda872d07fc97117ecc227c76d22a994152e8b496c037c44f6e8ead6d25c36b2d7b14cc9e72b85f21d6fc31add697207175e66a0ed7403895ea53b7d2d3820588682b58d06cb72b16541ce811d671d62af2df30e20c60d03f778bd98aff37d21d09f94f3f95e529acae1e7dbea4c288d518036fe2d54732b03eb412cb8b3e21cfa3e26e6f8948de097400f213172e97bef19803d4551209ef003420c97cd4e4645ce08797b664de96ac9a69a825ffc2eab436062a33e3929220603c02768ae2e4d28932b4da55712bc4cc98818e56f04cec148524b803533271b6603e556e3736a0eb4373535c3e4f1e3d8c55c2b2f129b62fb8accca2f56e2c6c8d703b054379e23974dbd6b44c3869b830581d7a2dbcd0c5aa7f1ef94502c2a8437520350c2ee3d0c0d06339f256deca6144db81445107cd5e0f496106ee1d545e4d88d03748e9939ca4bc66c06be1771d67cb85599598a94cc02a7a5f5c2c8c073c72c6f0343f91a891117ee788119293aec5c46b2aaabb2efcc0432e1555edb12766c984d03539546e9fe0dd130c56716af00f67b00f805cd7f9e760ff89a3dcbdf8d93cb20035981f252275d81e41352c35e65cb3827bd129226f7eb8c83bf141778d91e58e203466fbeb24cb94a977c9477bed7ebb9b7b12152b38e48266282776dde25de2da103647330d57b6bd70bef44d942cb1d480e193b9af87d9ffe6c2968ce0e1edf098f03c4e1307a0f044f79e848dd5f8dc122e1e9de204877547b27f2862ac8a3907d64038e9598c2d9eb646ccd9f6a3fd735dcad04872a5ddb7ec843aae3994d5600ab4103d7e820dd9215d40dfb257db4d8b04892b2f9aa13cae00419f7816c88f511623903a842c8ad4b2f57936bf84a0d005d6a340667b41cc62bd3bd7e796bb1bc8514be033a8ca274ee166cd8f750a78b0d942d5fd0814f1afd1da783d9606052856b1a4403e778f37d529b2cffb2d8b69d72efb2b501afd6de124e097653adf762e723f2a103120922d9195aa968a16060efb128fe5e04caa709a9e322f8fa2e4f03d9288aed03f013fed2409e6b10bfb4b9ceda6c9be05130038cc62536d165ef2dde588fe47a0368251f8d0f88e1c7cfc6afd0db5ad1f3338f3cc0f53d1c23a249d68fdda067bb04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032034c1cfe8061a5e972a31731eb64bdae2d39a2bfe40439a329dc6ff3486dca38b803191276103ef72684b9e7542cc87deaea2d6d4ad6544a1456b036ac0e08958c04034d5577c53f6df0ca6b2de4cfaed58c9e59dfdb443f770fdd494ca3834d42a09803f05d8fdcb02557669dee8a272deb68d28156ea0ea30b30232a30ff3b4641d1120058210351d747b5c0385a7bf177d17aee7a0b1bac1fccbe3d3063b2d022b323b8aac9904101005821037fc83da5651a16ece38291dfa12fb305ff75f1565adac45bdc13d71ce2d8ff20410200582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04d26272ac912e03dbdeca2dc3ed4005821031b41f133d5cd067d4a7e0030ae2d59b157e7db95091547b8e2751385e261dc10410103f2f779c6f2439d251bc18bf2c437ea2c1ff9a6a63c7a2e10d07d67b77c28d5930058200257fcae954938435655a23f152fbc747943297da237e0fb8537c3f118065db741010058200216d8b3991d1e4fe2c9cd0fbe6fb3f0bc854a5ff9702587a1c17027c278a6e35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218620396417317e06b5d8804cf37b9bcacd36815c4b9fda704982e67744a36c31ab6b600582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820d438d1c4d1bde34161f570bc424138525e048202af54a2519af11408dede3a61030c505687ee0404e5383770c283276b69b8dc9de045c4d20213ab22dd402d9fb000582002b6dfd2fadb0370712730ccf35651eb00b00083cc340ad478605c296a0720fa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a856446018b1bc30c725a34a4a6df38de227d5699cf4683800582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba41010219017400582002397ae88bbc04e9ad6417341798f7eae27ec4d6cf01c6dcb500d8c0027d7b924a9bbade5e049959272a6b0058200205c258d1660c542c19c1e737abdc037150a23a2e56ab96501dd22a62ee10d45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219a400005821036b55791df24c72384cec6a0882297fdab087f1d41768635a61ffc790269cd0f04101005820035eb08c209d6a15c3c3158855c8404d70cfaeafe3b36c14c0350375eb0d2560497e3c6378ffed0b72f7005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058206632cd8f00000000000e4833de6a936b0529018a0e36da383ccaf1db6c3f77b1021980800058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5432b86b99441480a7e5bd3a26c124ec2373e3f0150218480219ff7f05581e031cc19a8168cd6bb71ce34cfb95a01fcb762d887e72cce694130adc98100701192c1d05581e03e00b3fb2e82b82966d0dd01c1013c55b4b55e9fccba05ac68eff82e1f0040305581e03c5fa833c11968a4515aab5a64c36ba1f9ea151933b553ed90903419a900c014702c06beef15b9005581e035584617ec96a4fc9e9e297866b62a5d49442c694a282d8d249bf0bff2008474c3c20a28be2f005581e037118813e6b8026eb1a1bba95cb877829981c1bfda7b4b8e4974464f5c00c01470cf72bbbaa1c9f0388cbccd43ee6e5b4c7a4462ad7b8863d85562addbb965f12e5b4ed766810578f05581e0345352b4e88b640bbfded623b129e0b9f95a69969b82b0fb7f8a6dd74300403039972e37d1313b5ad9574233166c87c30d8cb9642be2453084b1c7697125243c905581e036e6945b43bc30217c4099c4d142f88ac4a2793b71184ccf02d0658eb000c02462c80634e41dd05581e03d2aa237a3917354c21a3a60fc9e80e5a1877c045c9a9b15c5cbbeddda00c034702304106e37a010318d0d029c8f51a602336ea5e38f7ca32ac13773859abbc74faf3794993f7acd50219b5eb03e3602c2d3d3c4e0e5716c01116ae806694aac341100a1167cecc88c874912319030fd1a3390b5642be68709f7a09a88d377856683fef88143f8a63bcff000c63760381f0ee8d435b7e3977a4a3b56f7479c144e9efd5de7b39927032a6368a21736203263d201d706f41bb4b2221963d6f915b5324b1be39c84b23bade523c8d0f789303997af73e3754d05f5d3141361c0048813b9f09e7913834ba0c65f95578763ab30335bb0d02a5674420fd8d03414f44988de40490e5d334dde514501140af64523f0305797c7392ddf8bdd23303d05eeb50e8f2d414ccb04d8a9473c494091347c2e203a2f74a0a2c6c25ec76e7257087d5452abbcc913e834b65074c6122109d77ea45030672f58eaff7143c1a9695daba063ff10d24403af46256874e368538d2994b3b03a4704f25d324b62a6f90d45f2816a5c415ed97897e597a4c0a95699afd8e7805039100faed61512c199c41001ffb054beb78718c191ebf1d3e73d4588764afba6d0219ffff03f828f5a607b6c58d2e021c9b13f6414b22539409d32f8a236f3bfbe1c9aaef66037403b9aaa176914e316d751e3b78f7cd41674148f97c3320b30341ccb3c8e14e0373c86f3786f2c07cbe6d187e523b0dff8de46a88facd3bd3cbfb53171236bf240380c173888685111da1cfaf2d0af6cb5d2bd0c68d08ae987f0d545b2361757c1e03987d4f3a54e1d0f69e5ffc6eacfe5919725a2b15c634dc1a545d6b18de67416b033c16648cdabdd688f9a9cab5107a48c590f5687fd99345fb61f90e864fc05a7703c066bc77f9405e8f6e5e6b9977bca009830653ce4af93f1b3e81fe1f98a2e9fd0219ffff0219ffff039fbf9550a1b4b2d6bf8710d2a1d37c0d726c950549b5ad67769527b26b64613b039d9cda9880fd278d36f7144e2fda0d3e83ee9a985e37d662b3471a1bd88144830389f7f13b9f369e34dfb173fc9cb662245e79790f8a4707332293c8a480e18ed8036d59ac0ad54cc9ef7eb4701cf931ac7618ff258a686c7ee57bcd87114dc2dce4035bd1696320a770f407a41e9b9cf4ff46644d33275e661b31ecc1bdd4c552b3d2031a86d9802b8ddec4802e5576c7fe9f76f652a11b2afe7ff33e56f09a9dc723e203600fc8db2696b784245bac6ed2d4fe827356bfe10f25f6652b906f1622a68c32038dd647e4957b6e0ac810e395c74c072ae6a1bc721daac68b1e6e21040319929003c20a55b1eb09624c040c215116869a8a7044eff04ad9583aa007ed5509f52875037d74f4d619372aed9327c06512e3acab6a5dbde5b9148e053d4af25326c86c0503be512affd3b568db495b1dd6d13ea6357988a5ed2f166191c924d453261d59e90307d6f19de77ab0ab1f95a2a91283b6fea6d449a855aefd617f0fa9c55a6dee9003b9cb11414954948e22cf56d4ec46f700e433f75f54f44dea205a619c8569236f038b9b5198b2e319d38a7708661b4a7edf282f516df5cf97872f04e55987fb95d103f766a66304605c5ec924c4bebf216fc860671cff1625d3789ecf2668c79b215103a4b7bf401df8218caffbc46c7c82495882b62c53ba3c4144fcb55ce832b7abc4032ebb7d42fb157f06fd10c88236c4c364551a4c3e61cfc860643c9626ec792e3f03eed04153edf021e6f9ebb5b368bcc5923dcaa14a3c830b499eeca03c4810a8930314d7a1626003503e852499ef34dfb429ee1502c1f15780c23357a2f65558231503076855908c5e69a8489681dc08c4dc0e2e56b6a421193e4f1d132bce104c8cc80345d02055e0a7879c2db14545c9f8aecf7d40df02130f1f6e777b140ea05cd26103a13ee219472eba66a2d8fa1873627e28a2efbf984879043dae405dc28966ff49038af380fda1011260a765934d67bf2c6e4c00d0420b623bac07f24203e5980a280370e576dfdda5ddaeee0bc8ef129ef1a4f0ab6ed7c9690ec65fc717ba10c0ef7c03efd390659ea58e142a27dd02aac8e144dcd950ce888b2c6d63dadc9d8c8ee1a50352f0a0ce2361b5d26d22c08423eeb18551e3d869a45012c0e18ee17c3352e53303b47d3c301758a7a847356ebf6bb97f949a2ac430df74b54a7d2926e4a66c296c03404b75c4dde5aa507bc92076f23c427e78040ccd7034de7c49f4c491368dc7d503cb4e382c119f8146066ee3444f7ac2349e3785dd53bee863972e7e40d924cc13033bd3a28189084a37f0b2c9371181e64dffd86cb57ef3854c14aec748b17c4b49036348b8dd0b001272c06cdbebfec81866d7c8c06d412c09d0fb6f36575a60576b031668f60e08b513b7068fd29c3f3f2873213c0f4569771a56f8d92bcc8d56df68034a6fa3e9322d175aa9cf442e129281d718149022bd25374d7961beeb6b8ba1550394bde5f41e7f67684c410677d598380dabdb5d4bb4b1c5310d210dd4f793c8bf03b03618f740f393221c4c8f474ada0edee19d761a664f84612c205b497d87889e03942a7dce8096b7f74ddbce391e57b09414af05395b21a41992596673a71baa4e03270ccf41eba9310a5705545fb8e22bd0a66e64357a6faf559f1303d11646fba205581e03bd09e9c05e1874ad7be77f4dd47eecc8d219d7647353e3011960bb45c007011bffffffffffffffff038b76bae26e64001304f318748f7586bce26ccb17836392770799bfc63136dd1803a462be888d5a47f2706952c6780b684f798201c9596843ad60c552454eca96f803beb693633d78c8fa2b04d6531c24ffce54802eaa4172bb6c6cc6a8566835403105581e0355ee918e723806ae105021126b56462c6908761c035c15aff4c2665fb0040205581d0297e3c9d67283fbd1cd8677fec31a57b2606cd95ef1d9d43db3d5be2a040305581d0218175c8088b359cb89e7d22dd5b341a4c19fcd14e0e6aff4965f6a6b0c0247164dcec7e66000031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d02614aae1cfcf52266cd355dcf387adea2aceaff5e822f88ee5fd9552807011bffffffffffffffff045921846060604052361561019b5763ffffffff60e060020a600035041663029a8bf7811461024f57806306fdde0314610278578063095ea7b3146103055780630ba12c83146103355780630e6d1de91461035657806314cba0021461037f57806318160ddd14610406578063233850891461042557806323b872dd1461044957806323de66511461047f57806330599fc5146104a3578063313ce567146104c7578063406838b3146104ea5780634bfaf2e8146105135780634dfe950d146105325780635b48684e146105535780636461fe391461057457806370a08231146105f0578063733480b71461061b57806377fe38a4146106425780637bcdc2f0146106ad57806383841e0c146106e457806395d89b41146107885780639b487f3f14610815578063a48a663c14610896578063a525f42c1461090c578063a66e6e5c1461093f578063a883fb901461095e578063a9059cbb14610987578063ac35caee146109b7578063b2b45df514610a2b578063c915fc9314610ad9578063d4eec5a614610b06578063dd62ed3e14610b27578063fe8beb7114610b58575b61024d5b60006101a9610b8d565b600160a060020a031663db00b84834600036336000604051602001526040518563ffffffff1660e060020a028152600401808060200183600160a060020a0316600160a060020a03168152602001828103825285858281815260200192508082843782019150509450505050506020604051808303818588803b156100005761235a5a03f11561000057505050506040518051905090508060005260206000f35b50565b005b346100005761025c610b9e565b60408051600160a060020a039092168252519081900360200190f35b3461000057610285610bae565b6040805160208082528351818301528351919283929083019185019080838382156102cb575b8051825260208311156102cb57601f1990920191602091820191016102ab565b505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057610321600160a060020a0360043516602435610c39565b604080519115158252519081900360200190f35b3461000057610321610cdb565b604080519115158252519081900360200190f35b346100005761025c610d40565b60408051600160a060020a039092168252519081900360200190f35b3461000057604080516020600460643581810135601f8101849004840285018401909552848452610321948235600160a060020a0390811695602480359092169560443595946084949293019190819084018382808284375094965050509235600160a060020a03169250610d50915050565b604080519115158252519081900360200190f35b3461000057610413610ea5565b60408051918252519081900360200190f35b346100005761024d600160a060020a0360043581169060243516604435610f26565b005b3461000057610321600160a060020a0360043581169060243516604435610f90565b604080519115158252519081900360200190f35b346100005761024d600160a060020a0360043581169060243516604435610fb8565b005b3461000057610321600435611022565b604080519115158252519081900360200190f35b34610000576104d4611151565b6040805160ff9092168252519081900360200190f35b346100005761025c6111d2565b60408051600160a060020a039092168252519081900360200190f35b34610000576104136111e1565b60408051918252519081900360200190f35b34610000576103216111e8565b604080519115158252519081900360200190f35b3461000057610321611292565b604080519115158252519081900360200190f35b3461000057604080516020600460643581810135601f8101849004840285018401909552848452610321948235600160a060020a039081169560248035909216956044359594608494929301919081908401838280828437509496506112be95505050505050565b604080519115158252519081900360200190f35b3461000057610413600160a060020a03600435166113f3565b60408051918252519081900360200190f35b346100005761032160043560243561147d565b604080519115158252519081900360200190f35b3461000057604080516020600460443581810135601f81018490048402850184019095528484526103219482359460248035956064949293919092019181908401838280828437509496506114a395505050505050565b604080519115158252519081900360200190f35b3461000057610321600160a060020a0360043581169060243590604435166115b3565b604080519115158252519081900360200190f35b3461000057610321600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f89358b0180359182018390048302840183019094528083529799988101979196509182019450925082915084018382808284375094965061167c95505050505050565b604080519115158252519081900360200190f35b34610000576102856118be565b6040805160208082528351818301528351919283929083019185019080838382156102cb575b8051825260208311156102cb57601f1990920191602091820191016102ab565b505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3461000057604080516020600460643581810135601f8101849004840285018401909552848452610321948235600160a060020a0316946024803595604435959460849492019190819084018382808284375094965050509235600160a060020a0316925061194c915050565b604080519115158252519081900360200190f35b3461000057604080516020600460643581810135601f8101849004840285018401909552848452610321948235600160a060020a03169460248035956044359594608494920191908190840183828082843750949650611a9595505050505050565b604080519115158252519081900360200190f35b3461000057610321600160a060020a0360043516602435604435611bc0565b604080519115158252519081900360200190f35b3461000057610413611be8565b60408051918252519081900360200190f35b346100005761025c611bee565b60408051600160a060020a039092168252519081900360200190f35b3461000057610321600160a060020a0360043516602435611bfe565b604080519115158252519081900360200190f35b3461000057604080516020600460443581810135601f8101849004840285018401909552848452610321948235600160a060020a0316946024803595606494929391909201918190840183828082843750949650611c2495505050505050565b604080519115158252519081900360200190f35b346100005760408051602060046024803582810135601f8101859004850286018501909652858552610321958335600160a060020a0316959394604494939290920191819084018382808284375050604080516020601f89358b01803591820183900483028401830190945280835297999881019791965091820194509250829150840183828082843750949650611d3e95505050505050565b604080519115158252519081900360200190f35b3461000057610321600160a060020a0360043516611eca565b604080519115158252519081900360200190f35b3461000057610321612002565b604080519115158252519081900360200190f35b3461000057610413600160a060020a0360043581169060243516612063565b60408051918252519081900360200190f35b346100005761025c600160a060020a03600435166120f6565b60408051600160a060020a039092168252519081900360200190f35b6000610b98336120f6565b90505b90565b600054600160a060020a03165b90565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b505050505081565b6000610c43610b8d565b600160a060020a031663e34f71378484336000604051602001526040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200182600160a060020a0316600160a060020a031681526020019350505050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b92915050565b600554600090600160a060020a03161515610cf857506000610b9b565b426203f480600654011115610d0f57506000610b9b565b506005805460048054600160a060020a0319908116600160a060020a03841617909155169055600060065560015b90565b600454600160a060020a03165b90565b60008133600160a060020a0316610d66826120f6565b600160a060020a03161415610e99576000805460015460408051602090810194909452517f161ff662000000000000000000000000000000000000000000000000000000008152600160a060020a038b8116600483019081528b82166024840152604483018b90526064830184905288821660a484015260c0608484019081528a5160c48501528a51929095169563161ff662958e958e958e9591948e948e949193919260e40191908601908083838215610e3c575b805182526020831115610e3c57601f199092019160209182019101610e1c565b505050905090810190601f168015610e685780820380516001836020036101000a031916815260200191505b50975050505050505050602060405180830381600087803b156100005760325a03f115610000575050604051519250505b5b5b5095945050505050565b6000805460015460408051602090810185905281517fb524abcf00000000000000000000000000000000000000000000000000000000815260048101939093529051600160a060020a039093169263b524abcf92602480820193929182900301818787803b156100005760325a03f115610000575050604051519150505b90565b60005433600160a060020a0390811691161415610f895781600160a060020a031683600160a060020a03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b5b5b505050565b6000610fae84848460206040519081016040528060008152506112be565b90505b9392505050565b60005433600160a060020a0390811691161415610f895781600160a060020a031683600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b5b5b505050565b60008054600154604080516020908101859052815160e160020a6374b5a315028152600160a060020a03338116600483015260248201949094529151929093169263e96b462a9260448084019382900301818787803b156100005760325a03f1156100005750506040515115905061114a57604080516000602091820181905282517fac35caee000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301526024820187905260606044830152600f60648301527f546f6b656e73207265636f76657279000000000000000000000000000000000060848301529351309094169363ac35caee9360a48084019491938390030190829087803b156100005760325a03f115610000575050604051519150505b5b5b919050565b6000805460015460408051602090810185905281517fdc86e6f000000000000000000000000000000000000000000000000000000000815260048101939093529051600160a060020a039093169263dc86e6f092602480820193929182900301818787803b156100005760325a03f115610000575050604051519150505b90565b600054600160a060020a031681565b6006545b90565b60008054600154604080516020908101859052815160e160020a6374b5a315028152600160a060020a03338116600483015260248201949094529151929093169263e96b462a9260448084019382900301818787803b156100005760325a03f11561000057505060405151159050610b9b57600554600160a060020a0316151561127457506000610b9b565b5060058054600160a060020a0319169055600060065560015b5b5b90565b600160a060020a03331660009081526007602052604090208054600160a060020a031916905560015b90565b60006112c8610b8d565b600160a060020a031663cca9702586868686336000604051602001526040518663ffffffff1660e060020a0281526004018086600160a060020a0316600160a060020a0316815260200185600160a060020a0316600160a060020a031681526020018481526020018060200183600160a060020a0316600160a060020a0316815260200182810382528481815181526020019150805190602001908083836000831461138f575b80518252602083111561138f57601f19909201916020918201910161136f565b505050905090810190601f1680156113bb5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b949350505050565b6000805460015460408051602090810185905281517f4d30b6be000000000000000000000000000000000000000000000000000000008152600160a060020a038781166004830152602482019490945291519290931692634d30b6be9260448084019382900301818787803b156100005760325a03f115610000575050604051519150505b919050565b600061149a838360206040519081016040528060008152506114a3565b90505b92915050565b60006114ad610b8d565b600160a060020a031663c10796df858585336000604051602001526040518563ffffffff1660e060020a0281526004018085600019166000191681526020018481526020018060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360008314611551575b80518252602083111561155157601f199092019160209182019101611531565b505050905090810190601f16801561157d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b9392505050565b60008133600160a060020a03166115c9826120f6565b600160a060020a03161415611672576000805460015460408051602090810185905281517f14712e2f000000000000000000000000000000000000000000000000000000008152600160a060020a038b81166004830152602482018b905260448201949094528884166064820152915192909316936314712e2f9360848084019491939192918390030190829087803b156100005760325a03f115610000575050604051519250505b5b5b509392505050565b60008054600154604080516020908101859052815160e160020a6374b5a315028152600160a060020a03338116600483015260248201949094529151929093169263e96b462a9260448084019382900301818787803b156100005760325a03f11561000057505060405151159050610cd5576000805460015460408051602090810185905281517f32a16f4e00000000000000000000000000000000000000000000000000000000815260048101939093529051600160a060020a03909316936332a16f4e936024808501949192918390030190829087803b156100005760325a03f1156100005750506040515115905061177957506000610cd5565b8160029080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106117c557805160ff19168380011785556117f2565b828001600101855582156117f2579182015b828111156117f25782518255916020019190600101906117d7565b5b506118139291505b8082111561180f57600081556001016117fb565b5090565b50508260039080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061186157805160ff191683800117855561188e565b8280016001018555821561188e579182015b8281111561188e578251825591602001919060010190611873565b5b506118af9291505b8082111561180f57600081556001016117fb565b5090565b5050600190505b5b5b92915050565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c315780601f10610c0657610100808354040283529160200191610c31565b820191906000526020600020905b815481529060010190602001808311610c1457829003601f168201915b505050505081565b60008133600160a060020a0316611962826120f6565b600160a060020a03161415610e99576000805460408051602090810193909352517fa69032ee000000000000000000000000000000000000000000000000000000008152600160a060020a038a811660048301908152602483018b9052604483018a9052878216608484015260a060648401908152895160a48501528951929094169463a69032ee948d948d948d948d948d949193919260c490920191908601908083838215611a2d575b805182526020831115611a2d57601f199092019160209182019101611a0d565b505050905090810190601f168015611a595780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b156100005760325a03f115610000575050604051519250505b5b5b5095945050505050565b6000611a9f610b8d565b600160a060020a031663eb58705b86868686336000604051602001526040518663ffffffff1660e060020a0281526004018086600160a060020a0316600160a060020a0316815260200185600019166000191681526020018481526020018060200183600160a060020a0316600160a060020a0316815260200182810382528481815181526020019150805190602001908083836000831461138f575b80518252602083111561138f57601f19909201916020918201910161136f565b505050905090810190601f1680156113bb5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b949350505050565b6000610fae8484846020604051908101604052806000815250611a95565b90505b9392505050565b60015481565b600554600160a060020a03165b90565b600061149a83836020604051908101604052806000815250611c24565b90505b92915050565b6000611c2e610b8d565b600160a060020a0316631962df71858585336000604051602001526040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a031681526020018481526020018060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360008314611551575b80518252602083111561155157601f199092019160209182019101611531565b505050905090810190601f16801561157d5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b9392505050565b60008054600160a060020a031615611d5857506000610fb1565b60008054600160a060020a031916600160a060020a038616179055611d7c8361214d565b600181600019169055508160029080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611dd257805160ff1916838001178555611dff565b82800160010185558215611dff579182015b82811115611dff578251825591602001919060010190611de4565b5b50611e209291505b8082111561180f57600081556001016117fb565b5090565b50508260039080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e6e57805160ff1916838001178555611e9b565b82800160010185558215611e9b579182015b82811115611e9b578251825591602001919060010190611e80565b5b50611ebc9291505b8082111561180f57600081556001016117fb565b5090565b5050600190505b9392505050565b60008054600154604080516020908101859052815160e160020a6374b5a315028152600160a060020a03338116600483015260248201949094529151929093169263e96b462a9260448084019382900301818787803b156100005760325a03f1156100005750506040515115905061114a57600554600160a060020a031615611f555750600061114a565b600160a060020a0382161515611f6d5750600061114a565b600454600160a060020a03161515611fa2575060048054600160a060020a031916600160a060020a038316179055600161114a565b60058054600160a060020a038416600160a060020a031990911681179091554260065560408051918252517faf574319215a31df9b528258f1bdeef2b12b169dc85ff443a49373248c77493a9181900360200190a15060015b5b5b919050565b600160a060020a033381166000908152600760205260408120549091161561202c57506000610b9b565b5060045433600160a060020a0390811660009081526007602052604090208054600160a060020a0319169190921617905560015b90565b6000805460015460408051602090810185905281517f1c8d5d38000000000000000000000000000000000000000000000000000000008152600160a060020a0388811660048301528781166024830152604482019490945291519290931692631c8d5d389260648084019382900301818787803b156100005760325a03f115610000575050604051519150505b92915050565b600160a060020a038082166000908152600760205260408120549091161561213857600160a060020a0380831660009081526007602052604090205416612145565b600454600160a060020a03165b90505b919050565b60208101515b9190505600a165627a7a72305820921b47fe3810a9ce6b238d40c647951315aa5f116d1c85ffe01639754dfda9a600290058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054331d077518216c07c87f4f18ba64cd384c411f840058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0582050726f707900000000000000000000000000000000000000000000000000000a00582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0548d342b9474033a8ed04ff1ab654c64cf5b71daa10058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60582050524f5059000000000000000000000000000000000000000000000000000000005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0582050524f00000000000000000000000000000000000000000000000000000000060219191405581d0298fa55d889c5441cb2207b6d900b564df1f59fe76b7961ae1250a1dd07011921840219016205581e036a350675b981656d47716a047aaf7153393609323507040c5f09dd14500c054619a5887a138005581e03e309281f213af4193d24a85d7e841900e4129c3ee1eb2c0ba7143b09f00c181f4712715334525f990219c68e03a254f3ac4184602e7aafaaa3f61f5924d0c192995ccff84aaa5ed85325085c48036b60a0d3eb8b2b3fa8e8145b11ddbfe4422cd9b58d9f13ab1470f383b90fcc5703cde0e9cc9debc672fca7f17e2ece6aad6086877ced2594971c0a71b476544519032cfb8caa0fc98ad4b22eea1e0fb6a0476e55e9cfa72ee11192ebb958e9eab1bf034baf5e8d67a36db74acf03d02ef65bd818eb45bbb8db19fe6a61d4ae2f4c3ed3039e809b38f120bd49883a9356fc8f67daa46fa7ad63a49818254f9dece83632350219ffff03ffd481ad73a5b55a0d92914c3c3132e996b319194735b1708e96b925bece845103dfaf530d37634af99801fd082cce3b35969fc69ffc3465ed1343088ce810dc4f034bddc659f5494ebdf0639eafddb9466bd7aabb0dd14bcc2844270234ec24dc2303cb85522c4c4f5526000559f093a989f004fd31507149fbfa84a78e6d019a6bfd0219ffff0309db9ee8e27b1010476b6425a28a69b1f3485cf189dffba95a3cfdc27a34424803893d94d6c41f6727330df50fd9eedcbff68aad74dbdf127c365aef5d292edef403024c51ea86b5cf3c8137b2db337ab67a1a217bef7648e6bbb4e9108135b114780219ffff03c8bfb2869a0358406fe7e1cad3d6d3bd8a480732186c582cd220b1c9f9d6d6a003f612055b794a79e482954490220fafd1782f587b838e2baa7fc2ca8e8b01d0db0219ffff03e464b36ea395e78ea0334391c6a686e951bb3ad5bc017baeba3e28bd36c1cc5f03eefe69316dcc643809f119269ad3e21ed01040e13acbdced16c28d4929df1cdb03e8b88c2156197a6b5f9cf099a8e745fb6398381d809372d951614da5a11bd32203231254d19e66a687a07903242baf88836fd2c41318748e9c7d5c9ac0979eaa8b03421ac24fa44da7cf97181c881bc86883da18e2b038e060ce9f64c2402dd32c31036c6d71f6b5559f9f23f99549a9ec5d9467f7a619af391317041efaaab9f51c10032dc7348cdf53604bbae8e38700447f8d6d7ead1bf2cb6fdce210658537d997a9036c27e57dd38b3ef6047d86850fc7030ec535317e8cccf5760cd1d06f9c012c43038ab44f2f5160230fb64d832e246f1667ba74b5ad74e7ce8ff6c1c1e91d97727b037601f37f33eabcaf1a77b086cb037390aef45302e485407298d144197f581a61033089b47b8d5dcdcc4b813fa7e8dafa39b88896815936605c979a0161a2f526b2039f000068eca84f7a30baf298a003236866f34046d322c830844f616db0e4eeb60385af24bafa700ebf7694afb8f36ca99e2b776e4711cd90b0939bed6148c3cad603731416ef60de143486037f66a563b909372d03f467c6e681d1f5c5b678cdb5aa034377c6bf3597d94aab238d093ddfab1791ddb87c3f379f89c932126d33524bfb03d4c3767fdc26bed720598b8eda0ee0deef13b7c369714fe7cafafdf4ec004121031581b38622adf8a93573fe5a053c15beb3787e05792c054c9c92eaa09fc6e55a03aab18a37c4546e31364422854864eb8a8a8d4d0cfb0eb3e0fefedc71898ab1dd03a8d64d9866e2f5224495349971cdd232f2259c79110ab1a0817504e2af2f67a3033ba0dc6de71bdfa19fffeceac64876fb7a9c7e1ed89ff4c7059b738cd0174f4203b34bbcf4ba08907b3f26ba8a47353d078526622c7672bf33da743578b05c1eb003928c51f19b53a87745b2ea94d05b048817e03703082e9ed725db5e8652693766037688ae5f918d87cbabec1a32bf2fdc7643a4ef35df2fa8904b073bea42227f72032e5ae1336ae8fc08e65c9460918f2ab6e0ff110f5cafa723c9eb9491d9547322031e473dcde5a06669fa47a07e6fc7b45ab242499a82e2d5d2d6559928a38070d003ac97fdd09f707b86aa71baef3a62099a9f885962b0ccd5cc0182c84dd7bee8d503258666e54b7516f9441687b773a184dd35be49980c607bd719786b2011b33aa7034e0be5074381555c00d1bde05c1864b00f864a0cda3393990c09ae92b287fad9033c3b2d56eee027b904afe4299882966e9c0a63eab477797b82f2aaeb15f368da0321167f728fc9cb7a5321336f3e1ad6ef021baab988f9f62d4398700d7b7f340103285fba88e8fe7568b5c80b2320cd00f15c09bc20f22d7a1e16f1d6bb4f1bb1fa03ad736105f4cea992ad514e3f98cb533039f1f636f6e734d5f4784d242662077e05581e03f2065b644647e07d316362095d4060215b37c616ac03c447074541fd400c01465d3207a9c6f80399ef5f08e4beb3b6851664921d6ff7f19d23173738d02b925ee0127bdddf1a7e05581d0204a6200ef58d81644f2831599127e0b59b05cb9b593b86a0ce26c206040103647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0372279800b9ca9c5ba59f2654e2f282a50f928c8e3c99bf7aef45cc51196d378705581d0352e733c61780886527562256bd32b549a72d7f515bef5d4ed38dc89007011bffffffffffffffff05581d0320a1602e2da899ac4a2597f42698aa574815a2eaf2ba473772c053700c19139349058fadf330b0a51d0f0211021904010372c8cc1c8df1a602d094f89c4b419aa0903a4341b2da91e0448b05bf6679f8b2031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03435758f7d19b986011a1a25505f39c8ccedac099c254869d4d9b4d05d007011bffffffffffffffff0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803252d80f6f2cd0a29c1909ab2ad3daf020dfe21d991d2e724e799a854bdee305505581e0389a541933ab4129f4242ab0abeff45cce1be8c727e13d4dff7af4dc88007011bffffffffffffffff05581e035632880cf2a67d615f5faec984e6210a93bf8528db84da737698bb820004010219984e0219ffff0322ebe7f7edfff9ac30f5d39f324529136f60dd3b4428754c236b6f78780ac98a03c188676bd68e4aef752b58c0cff15e2227270b21916721b976c78d9c8b0fd7b003b662a6f89c914f212a33bd6c31299a8c93bbf0f9c6d55711993cc441eb0a03210219ffff033b30fdb08ef91e5e00c2d45486da787aea5064de5f193172f33ad7d2726d42c503786085903c3fc628aabaa7e15c808a8471441b8320a510e785538619463c868f031fcbb8dcb082dda44778b510ae246e32e05f6043ed2bcdf09c5697c4f9701e7703116845fe6048fb1b918784587b94e690b8317aac3b22de9e5e22eb7b30cd283e0368bd7b8b7874e1a4e93ebef489881afccaad0cbba8cc7f34c319e76d5efad81b03c59853a187232cda4b0f83e0d4f5c418b3ae6126bd6ae048adb78851fd9f052c03866630339fc4365f6e5f1424ceb3500e6c7e1b2e2253e52a6edd5c7e614c71a303f23d03586ac8e700f578d89d24b0a011f26f8237a534396c857f7f624016d17f03d1cc677158a5eb090c29acc055727387fa13af0054928368b847d4be96cc2981036f0999aac11f49b54b05b85028e676853dc4caa48d6df14607e8b9ca330e9cf90219ffff03fe651f0cb0f2f04679c68786fb5da351bb19b8ec2587b9e0a7416eeb65532b28031318db4d02bf5982caf0d5a7fb76fa7e6ef7a5828f83b77ae0db6f245586afd103b9100222d3f5cb745eb6d419acc7aefd3ae7d4360fd82b9d8a103c903dddc3c903e04ec0780af8c0af76a2aebe1dfd2f22ce7c18781c128b6ff7bf5e25313f24a40394edc40d2b63e608b2d7fefd6da13a5ec3d2cd28c30fed12841d08332e24585703ebd6ff89f6cf3ddd39dcf0602a81f92a159973e6589a5b564fcac334ee65d1550348b7613620e3e4102161cf58fc846a80608cea3fd86c192569c254d79e81bd46032051291790c3144877eb7face86ad9f4970dc8a0ca9f3b86ad344970d9bb17aa03e2280904fe17b81266dc2ca730e2d3d26233e1d95eaeb1c72777dcb29a6b175c034a1cd5e2a3592284fe99fd650833b5cf03fa6ec49ced5f815297e6ab24a3fed503b1461d17138e966945c34048ed38c07b1e37a5557f2e9d473363f3867ab3a3f103a614cb63705339eefcfeeac6e127c93e2d99181907a41aa3f6ab8c2699243c5e03e2448af835919bf97233bd25a945db3a49cbd6bf9150bc6e94d761594a3025ab03a8f94b82f7e9829cc037ce0f0b884fdc205cb584b8faaa7db38462ba14831a9f0392b9076b26cf34bcde801ac477d8598b0870a58c8e8e273695586f930a18f6d1032f1fd8500fb09be223339475172a31fb45d78c41e03fa3008346abfbb3d1fb6903f29ef68a4191c96a595725d346416ac9fbefb97bf7a6687ff164efa5ef721d5503aa5b36c6c156a4a05ecf8426d501707a715336a70a1ba2c9732deeaaaf5eea09031e6b73614ee273c6fa81f59bdb6c158e51f4d69506478337c7efa689d60570e703cce9bb4c0b09c079afb47d6f703ce4f87a782d512917847f02dda0d48b4b629b0337d45885a31fa58c31ac3dea985808df07ff3a2e8c7103f2beddf6c8a778854303ee0be9259a1885865e5d01a2d4147ff691a238912bf1bcd5a6354189629c121a03bb8f40be8cea4b63305465d088129ed53da85cadd93382b42ad7350dca8640c503b0211b9e93e364f69a218a5437bfe4693e8f5668dbb39776deeb8121124b20c603737885504340cef1ccc8d6079de83e033f3e9d9d00a9d0e2964c488beff4d11803126de2b7b7233969c58e27b44be6a6d982a45a270d999414e6f4212df941cde0032982aa055b55fc69098f8f6d2dcf2d21f6a1e2c82b07b205ea0a0dcbb7a5907005581e03cbcc9a866ea795214e252a06ac9d8c811f4e3c53a6c6c735192dd8f8f00c01470327b7e0e0d61003efaa373b1a70ef02cacd0b5f8002a35b4251504bd948dcc8f85eb958eccc569105581e03a15ea239f12642af6ad77c83a6d6d6593eb29bdd1a5f5f530b0b2670000c18324702815c7968ee7f039047f8e323076f833766b8721acd626068a304d86aabb94b2e4ffb81d56eafef045959b2608060405234801561001057600080fd5b50600436106101c45760003560e01c806370cf754a116100f9578063cc7e7fa211610097578063ddca3f4311610071578063ddca3f4314610842578063f305839914610862578063f30dba931461086a578063f637731d146108ec576101c4565b8063cc7e7fa2146107f5578063d0c93a7c1461081b578063d21220a71461083a576101c4565b8063a34123a7116100d3578063a34123a71461072d578063a38807f214610767578063b0d0d211146107c2578063c45a0155146107ed576101c4565b806370cf754a146105e157806385b66729146105e9578063883bdbfd14610626576101c4565b80633c8a7d8d116101665780634f1eb3d8116101405780634f1eb3d81461050f578063514ea4bf146105605780635339c296146105b9578063540d4918146105d9576101c4565b80633c8a7d8d146103cb578063461413191461046b578063490e6cbc14610485576101c4565b80631ad8b03b116101a25780631ad8b03b146102be578063252c09d7146102f557806332148f671461034c5780633850c7bd1461036f576101c4565b80630dfe1681146101c9578063128acb08146101ed5780631a6865021461029a575b600080fd5b6101d1610912565b604080516001600160a01b039092168252519081900360200190f35b610281600480360360a081101561020357600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a081016080820135600160201b81111561024357600080fd5b82018360208201111561025557600080fd5b803590602001918460018302840111600160201b8311171561027657600080fd5b509092509050610936565b6040805192835260208301919091528051918290030190f35b6102a2611633565b604080516001600160801b039092168252519081900360200190f35b6102c6611642565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6103126004803603602081101561030b57600080fd5b503561165c565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b61036d6004803603602081101561036257600080fd5b503561ffff166116a1565b005b610377611793565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015263ffffffff90911660a0840152151560c0830152519081900360e00190f35b610281600480360360a08110156103e157600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a081016080820135600160201b81111561042d57600080fd5b82018360208201111561043f57600080fd5b803590602001918460018302840111600160201b8311171561046057600080fd5b5090925090506117e8565b610473611aa6565b60408051918252519081900360200190f35b61036d6004803603608081101561049b57600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b8111156104d157600080fd5b8201836020820111156104e357600080fd5b803590602001918460018302840111600160201b8311171561050457600080fd5b509092509050611aac565b6102c6600480360360a081101561052557600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611ef3565b61057d6004803603602081101561057657600080fd5b5035612111565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b610473600480360360208110156105cf57600080fd5b503560010b61214e565b6101d1612160565b6102a2612171565b6102c6600480360360608110156105ff57600080fd5b506001600160a01b03813516906001600160801b0360208201358116916040013516612195565b6106946004803603602081101561063c57600080fd5b810190602081018135600160201b81111561065657600080fd5b82018360208201111561066857600080fd5b803590602001918460208302840111600160201b8311171561068957600080fd5b509092509050612490565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106d85781810151838201526020016106c0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156107175781810151838201526020016106ff565b5050505090500194505050505060405180910390f35b6102816004803603606081101561074357600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612515565b6107916004803603604081101561077d57600080fd5b508035600290810b9160200135900b612691565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b61036d600480360360408110156107d857600080fd5b5063ffffffff81358116916020013516612879565b6101d1612aa1565b61036d6004803603602081101561080b57600080fd5b50356001600160a01b0316612ac5565b610823612be7565b6040805160029290920b8252519081900360200190f35b6101d1612c0b565b61084a612c2f565b6040805162ffffff9092168252519081900360200190f35b610473612c53565b61088a6004803603602081101561088057600080fd5b503560020b612c59565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b61036d6004803603602081101561090257600080fd5b50356001600160a01b0316612cc5565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b60008085610970576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b9004909116608082015260015463ffffffff811660a083015260ff600160201b90910416151560c08201819052610a28576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a735780600001516001600160a01b0316866001600160a01b0316118015610a6e575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610aa5565b80600001516001600160a01b0316866001600160a01b0316108015610aa557506401000276a36001600160a01b038716115b610adc576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6001805460ff60201b191690556040805160c08101909152600090808a610b115760108460a0015163ffffffff16901c610b1b565b60a084015161ffff165b63ffffffff1681526005546001600160801b03166020820152604001610b3f612fca565b63ffffffff1681526000602082018190526040820181905260609091015262010008549091506001600160a01b031615610be557620100085460408083015181516310a537f160e11b815263ffffffff909116600482015290516001600160a01b039092169163214a6fe29160248082019260009290919082900301818387803b158015610bcc57600080fd5b505af1158015610be0573d6000803e3d6000fd5b505050505b6000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610c3357600354610c37565b6002545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610c865750886001600160a01b031681604001516001600160a01b031614155b156110f557610c93615942565b60408201516001600160a01b031681526060820151610cd6906007907f000000000000000000000000000000000000000000000000000000000000000a8f612fce565b15156040830152600290810b810b60208301819052620d89e719910b1215610d0757620d89e7196020820152610d26565b6020810151620d89e860029190910b1315610d2657620d89e860208201525b610d338160200151613110565b6001600160a01b031660608201526040820151610dc4908d610d6d578b6001600160a01b031683606001516001600160a01b031611610d87565b8b6001600160a01b031683606001516001600160a01b0316105b610d95578260600151610d97565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f4613441565b60c085015260a084015260808301526001600160a01b031660408301528215610e2657610dfa8160c00151826080015101613633565b825103825260a0810151610e1c90610e1190613633565b602084015190613649565b6020830152610e61565b610e338160a00151613633565b825101825260c08101516080820151610e5b91610e509101613633565b602084015190613665565b60208301525b835163ffffffff1615610ec1576000612710610e94866000015163ffffffff168460c0015161367b90919063ffffffff16565b81610e9b57fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610f0057610ef48160c00151600160801b8460c001516001600160801b031661369f565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b031614156110b45780604001511561108b578360a00151610f8a57610f68846040015160008760200151886040015188602001518a60600151600961374f909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b62010008546001600160a01b03161561101557620100085460208201516040805163a498463360e01b815260029290920b60048301528e15156024830152516001600160a01b039092169163a49846339160448082019260009290919082900301818387803b158015610ffc57600080fd5b505af1158015611010573d6000803e3d6000fd5b505050505b600061106182602001518e61102c57600254611032565b84608001515b8f611041578560800151611045565b6003545b608089015160608a015160408b015160069594939291906138e1565b90508c1561106d576000035b61107b8360c001518261399f565b6001600160801b031660c0840152505b8b61109a5780602001516110a3565b60018160200151035b600290810b900b60608301526110ef565b80600001516001600160a01b031682604001516001600160a01b0316146110ef576110e28260400151613a55565b600290810b900b60608301525b50610c60565b836020015160020b816060015160020b146111c35760008061114386604001518660400151886020015188602001518a606001518b608001516009613d7d909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b9390931692909202919091176001600160a01b0319166001600160a01b03909116179055506111e89050565b6040810151600080546001600160a01b0319166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b03161461122e5760c0810151600580546001600160801b0319166001600160801b039092169190911790555b6000808c1561128857608083015160025560a08301516001600160801b03161561127c5760a0830151600480546001600160801b031981166001600160801b03918216909301169190911790555b8260a0015191506112d5565b608083015160035560a08301516001600160801b0316156112ce5760a0830151600480546001600160801b03808216600160801b92839004821690940116029190911790555b5060a08201515b8315158d1515146112ee57602083015183518d036112fb565b82600001518c0383602001515b90985096508c1561143457600087121561133d5761133d7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78f89600003613f18565b6000611347614066565b9050336001600160a01b03166323a69e758a8a8e8e6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113cb57600080fd5b505af11580156113df573d6000803e3d6000fd5b505050506113eb614066565b6113f5828b61419f565b111561142e576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b5061155e565b600088121561146b5761146b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28f8a600003613f18565b60006114756141af565b9050336001600160a01b03166323a69e758a8a8e8e6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156114f957600080fd5b505af115801561150d573d6000803e3d6000fd5b505050506115196141af565b611523828a61419f565b111561155c576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b8d6001600160a01b0316336001600160a01b03167f19b47279256b2a23a1665c810c8d55a1758940ee09377d4f8d26497a3577dc838a8a87604001518860c001518960600151898960405180888152602001878152602001866001600160a01b03168152602001856001600160801b031681526020018460020b8152602001836001600160801b03168152602001826001600160801b0316815260200197505050505050505060405180910390a350506001805460ff60201b1916600160201b17905550939a92995091975050505050505050565b6005546001600160801b031681565b6004546001600160801b0380821691600160801b90041682565b60098161ffff811061166d57600080fd5b015463ffffffff81169150600160201b810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600154600160201b900460ff166116e5576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b1916905560008054600160d81b900461ffff169061170e60098385614247565b6000805461ffff808416600160d81b810261ffff60d81b199093169290921790925591925083161461177b576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506001805460ff60201b1916600160201b17905550565b6000546001546001600160a01b03821691600160a01b810460020b9161ffff600160b81b8304811692600160c81b8104821692600160d81b9091049091169063ffffffff81169060ff600160201b9091041687565b6001546000908190600160201b900460ff16611831576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b191690556001600160801b03851661185157600080fd5b60008061189f60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016118958a6001600160801b03166142ea565b600f0b90526142fb565b925092505081935080925060008060008611156118c1576118be614066565b91505b84156118d2576118cf6141af565b90505b336001600160a01b03166399eee9d087878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561195457600080fd5b505af1158015611968573d6000803e3d6000fd5b5050505060008611156119bf5761197d614066565b611987838861419f565b11156119bf576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b8415611a0f576119cd6141af565b6119d7828761419f565b1115611a0f576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506001805460ff60201b1916600160201b17905550919890975095505050505050565b60035481565b600154600160201b900460ff16611af0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b191690556005546001600160801b031680611b3f576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b6000611b74867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f4240614531565b90506000611bab867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f4240614531565b90506000611bb7614066565b90506000611bc36141af565b90508815611bf657611bf67f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613f18565b8715611c2757611c277f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78b8a613f18565b336001600160a01b031663a1d4833685858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611ca957600080fd5b505af1158015611cbd573d6000803e3d6000fd5b505050506000611ccb614066565b90506000611cd76141af565b905081611ce4858861419f565b1115611d1c576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611d27848761419f565b1115611d5f576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611de85760015461ffff1660008115611d8c5761271063ffffffff8316850204611d8f565b60005b90506001600160801b03811615611dc257600480546001600160801b038082168401166001600160801b03199091161790555b611ddc818503600160801b8d6001600160801b031661369f565b60028054909101905550505b8015611e6d5760015460101c61ffff1660008115611e125761271063ffffffff8316840204611e15565b60005b90506001600160801b03811615611e4757600480546001600160801b03600160801b8083048216850182160291161790555b611e61818403600160801b8d6001600160801b031661369f565b60038054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506001805460ff60201b1916600160201b179055505050505050505050505050565b6001546000908190600160201b900460ff16611f3c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b191690556000611f58600833898961456b565b60038101549091506001600160801b0390811690861611611f795784611f88565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611fb05783611fc6565b6003810154600160801b90046001600160801b03165b91506001600160801b0383161561202b576003810180546001600160801b031981166001600160801b0391821686900382161790915561202b907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613f18565b6001600160801b03821615612091576003810180546001600160801b03600160801b808304821686900382160291811691909117909155612091907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7908a908516613f18565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506001805460ff60201b1916600160201b17905590969095509350505050565b60086020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60076020526000908152604090205481565b62010008546001600160a01b031681565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b6001546000908190600160201b900460ff166121de576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b19169055336001600160a01b037f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918651614806122ae57507f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918656001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561227657600080fd5b505afa15801561228a573d6000803e3d6000fd5b505050506040513d60208110156122a057600080fd5b50516001600160a01b031633145b6122b757600080fd5b6004546001600160801b03908116908516116122d357836122e0565b6004546001600160801b03165b6004549092506001600160801b03600160801b909104811690841611612306578261231a565b600454600160801b90046001600160801b03165b90506001600160801b0382161561239b576004546001600160801b038381169116141561234957600019909101905b600480546001600160801b031981166001600160801b0391821685900382161790915561239b907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613f18565b6001600160801b03811615612421576004546001600160801b03828116600160801b9092041614156123cc57600019015b600480546001600160801b03600160801b808304821685900382160291811691909117909155612421907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec79087908416613f18565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36001805460ff60201b1916600160201b1790559094909350915050565b60608061250a61249e612fca565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600554600996959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b9004166145cf565b915091509250929050565b6001546000908190600160201b900460ff1661255e576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b1916905560408051608081018252338152600287810b602083015286900b91810191909152600090819081906125ba90606081016125ad6001600160801b038a166142ea565b600003600f0b90526142fb565b92509250925081600003945080600003935060008511806125db5750600084115b1561261a576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506001805460ff60201b1916600160201b179055509094909350915050565b60008060006126a08585614729565b600285810b810b600090815260066020819052604080832088850b90940b8352822060038401549182900b93600160381b83046001600160a01b0316928492600160d81b820463ffffffff16928492909190600160f81b900460ff168061270657600080fd5b6003820154600681900b9850600160381b81046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff168061274757600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b909204909316608083015260015463ffffffff811660a084015260ff600160201b90910416151560c08301529093508e820b910b121590506127ef57509390940396509003935090039050612872565b8a60020b816020015160020b121561286357600061280b612fca565b6020830151604084015160055460608601519394506000938493612841936009938893879392916001600160801b03169061374f565b9a9003989098039b505094909603929092039650909103039250612872915050565b50949093039650039350900390505b9250925092565b600154600160201b900460ff166128bd576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b19169055336001600160a01b037f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a09186516148061298d57507f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918656001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561295557600080fd5b505afa158015612969573d6000803e3d6000fd5b505050506040513d602081101561297f57600080fd5b50516001600160a01b031633145b61299657600080fd5b63ffffffff821615806129c457506103e88263ffffffff16101580156129c45750610fa08263ffffffff1611155b80156129f9575063ffffffff811615806129f957506103e88163ffffffff16101580156129f95750610fa08163ffffffff1611155b612a0257600080fd5b6001805465ffffffff0000601084901b16840163ffffffff90811663ffffffff19831617909255167fb3159fed3ddfba67bae294599eafe2d0ec98c08bb38e0e5fb87d33154b6e05aa62010000826040805163ffffffff939092068316825261ffff601086901c16602083015286831682820152918516606082015290519081900360800190a150506001805460ff60201b1916600160201b17905550565b7f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a09186581565b336001600160a01b037f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a091865161480612b8857507f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918656001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612b5057600080fd5b505afa158015612b64573d6000803e3d6000fd5b505050506040513d6020811015612b7a57600080fd5b50516001600160a01b031633145b612b9157600080fd5b6201000880546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f29983690a85a11696ce8a357993744f8d5a74fde14653e517cc2f8608a7235e99181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec781565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60025481565b60066020819052600091825260409091208054600182015460028301546003909301546001600160801b03831694600160801b909304600f0b93919281900b90600160381b81046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612d08576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612d1382613a55565b9050600080612d2b612d23612fca565b6009906147f2565b6040805160e0810182526001600160a01b038816808252600288810b60208401819052600094840185905261ffff8781166060860181905290871660808601819052630c800c8060a08701819052600160c090970187905287546001600160a01b03191690951762ffffff60a01b1916600160a01b62ffffff9490950b8416949094029390931763ffffffff60b81b1916600160c81b9091021761ffff60d81b1916600160d81b909202919091179093558154600160201b63ffffffff1990911690911760ff60201b191617905591935091507f00000000000000000000000000000000000000000000000000000000000001f41660641415612e40576001805463ffffffff1916630ce40ce4179055612f11565b7f00000000000000000000000000000000000000000000000000000000000001f462ffffff166101f41415612e87576001805463ffffffff1916630d480d48179055612f11565b7f00000000000000000000000000000000000000000000000000000000000001f462ffffff166109c41415612ece576001805463ffffffff1916630c800c80179055612f11565b7f00000000000000000000000000000000000000000000000000000000000001f462ffffff166127101415612f11576001805463ffffffff1916630c800c801790555b604080516001600160a01b0386168152600285900b602082015281517f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95929181900390910190a150505050565b60008082600281900b620d89e71981612f7357fe5b05029050600083600281900b620d89e881612f8a57fe5b0502905060008460020b83830360020b81612fa157fe5b0560010190508062ffffff166001600160801b03801681612fbe57fe5b0493505050505b919050565b4290565b60008060008460020b8660020b81612fe257fe5b05905060008660020b12801561300957508460020b8660020b8161300257fe5b0760020b15155b1561301357600019015b8315613088576000806130258361483e565b600182810b810b600090815260208d9052604090205460ff83169190911b8001600019019081168015159750929450909250908561306a57888360ff1686030261307d565b8861307482614850565b840360ff168603025b965050505050613106565b6000806130978360010161483e565b91509150600060018260ff166001901b031990506000818b60008660010b60010b81526020019081526020016000205416905080600014159550856130e957888360ff0360ff168660010101026130ff565b88836130f4836148ef565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12613127578260020b61312f565b8260020b6000035b9050620d89e881111561316d576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b60006001821661318157600160801b613193565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156131c7576ffff97272373d413259a46990580e213a0260801c5b60048216156131e6576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615613205576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615613224576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615613243576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615613262576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615613281576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156132a1576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156132c1576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156132e1576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615613301576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615613321576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615613341576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615613361576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615613381576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156133a2576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156133c2576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156133e1576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156133fe576b048a170391f7dc42444e8fa20260801c5b60008460020b131561341957806000198161341557fe5b0490505b600160201b81061561342c57600161342f565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906134c657600061347a8989620f42400362ffffff16620f424061369f565b9050826134935761348e8c8c8c60016149d9565b6134a0565b6134a08b8d8c6001614a54565b95508581106134b1578a96506134c0565b6134bd8c8b8386614b08565b96505b50613510565b816134dd576134d88b8b8b6000614a54565b6134ea565b6134ea8a8c8b60006149d9565b93508388600003106134fe57899550613510565b61350d8b8a8a60000385614b54565b95505b6001600160a01b038a81169087161482156135735780801561352f5750815b61354557613540878d8c6001614a54565b613547565b855b9550808015613554575081155b61356a57613565878d8c60006149d9565b61356c565b845b94506135bd565b80801561357d5750815b6135935761358e8c888c60016149d9565b613595565b855b95508080156135a2575081155b6135b8576135b38c888c6000614a54565b6135ba565b845b94505b811580156135cd57508860000385115b156135d9578860000394505b8180156135f857508a6001600160a01b0316876001600160a01b031614155b15613607578589039350613624565b613621868962ffffff168a620f42400362ffffff16614531565b93505b50505095509550955095915050565b6000600160ff1b821061364557600080fd5b5090565b8082038281131560008312151461365f57600080fd5b92915050565b8181018281121560008312151461365f57600080fd5b60008215806136965750508181028183828161369357fe5b04145b61365f57600080fd5b60008080600019858709868602925082811090839003039050806136d557600084116136ca57600080fd5b508290049050613748565b8084116136e157600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff87166137f5576000898661ffff1661ffff811061377057fe5b60408051608081018252919092015463ffffffff808216808452600160201b8304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a16146137e1576137de818a8988614ba0565b90505b8060200151816040015192509250506138d5565b86880360008061380a8c8c858c8c8c8c614c43565b91509150816000015163ffffffff168363ffffffff16141561383c5781602001518260400151945094505050506138d5565b805163ffffffff848116911614156138645780602001518160400151945094505050506138d5565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b8161389257fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816138c457fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b03600160381b808504821690960316909402670100000000000000600160d81b031990921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b1215613a0457826001600160801b03168260000384039150816001600160801b0316106139ff576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b61365f565b826001600160801b03168284019150816001600160801b0316101561365f576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b03831610801590613a91575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613ac6576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c97908811961790941790921717909117171760808110613b6757607f810383901c9150613b71565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c600160381b161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b14613d6e57886001600160a01b0316613d5282613110565b6001600160a01b03161115613d675781613d69565b805b613d70565b815b9998505050505050505050565b6000806000898961ffff1661ffff8110613d9357fe5b60408051608081018252919092015463ffffffff808216808452600160201b8304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613e0257888592509250506138d5565b8461ffff168461ffff16118015613e2357506001850361ffff168961ffff16145b15613e3057839150613e34565b8491505b8161ffff168960010161ffff1681613e4857fe5b069250613e5781898989614ba0565b8a8461ffff1661ffff8110613e6857fe5b825191018054602084015160408501516060909501511515600160f81b026001600160f81b036001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16600160201b026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613f945780518252601f199092019160209182019101613f75565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613ff6576040519150601f19603f3d011682016040523d82523d6000602084013e613ffb565b606091505b5091509150818015614029575080511580614029575080806020019051602081101561402657600080fd5b50515b61405f576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b602083106140ff5780518252601f1990920191602091820191016140e0565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461415f576040519150601f19603f3d011682016040523d82523d6000602084013e614164565b606091505b509150915081801561417857506020815110155b61418157600080fd5b80806020019051602081101561419657600080fd5b50519250505090565b8082018281101561365f57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7169391929091829190808383602083106140ff5780518252601f1990920191602091820191016140e0565b6000808361ffff1611614285576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff161161429b575081613748565b825b8261ffff168161ffff1610156142e1576001858261ffff1661ffff81106142c057fe5b01805463ffffffff191663ffffffff9290921691909117905560010161429d565b50909392505050565b80600f81900b8114612fc557600080fd5b600080600061431284602001518560400151614729565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b90940416608085015260015463ffffffff811660a086015260ff600160201b90910416151560c0850152885190890151948901519289015193946143b49491939092909190614e3d565b93508460600151600f0b60001461452957846020015160020b816020015160020b1215614409576144026143eb8660200151613110565b6143f88760400151613110565b8760600151614ff2565b9250614529565b846040015160020b816020015160020b12156144ff5760055460408201516001600160801b039091169061445b9061443f612fca565b6020850151606086015160808701516009949392918791613d7d565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b9390921692909202179055815160408701516144ab91906144a190613110565b8860600151614ff2565b93506144c96144bd8760200151613110565b83516060890151615036565b92506144d981876060015161399f565b600580546001600160801b0319166001600160801b039290921691909117905550614529565b61452661450f8660200151613110565b61451c8760400151613110565b8760600151615036565b91505b509193909250565b600061453e84848461369f565b90506000828061454a57fe5b848609111561374857600019811061456157600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff161161460f576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561462757600080fd5b50604051908082528060200260200182016040528015614651578160200160208202803683370190505b509150865167ffffffffffffffff8111801561466c57600080fd5b50604051908082528060200260200182016040528015614696578160200160208202803683370190505b50905060005b875181101561471c576146c78a8a8a84815181106146b657fe5b60200260200101518a8a8a8a61374f565b8483815181106146d357fe5b602002602001018484815181106146e657fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b8152505050808060010191505061469c565b5097509795505050505050565b8060020b8260020b12614769576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b12156147ac576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b13156147ee576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b600080821161485e57600080fd5b600160801b821061487157608091821c91015b68010000000000000000821061488957604091821c91015b600160201b821061489c57602091821c91015b6201000082106148ae57601091821c91015b61010082106148bf57600891821c91015b601082106148cf57600491821c91015b600482106148df57600291821c91015b60028210612fc557600101919050565b60008082116148fd57600080fd5b5060ff6001600160801b0382161561491857607f1901614920565b608082901c91505b67ffffffffffffffff82161561493957603f1901614941565b604082901c91505b63ffffffff82161561495657601f190161495e565b602082901c91505b61ffff82161561497157600f1901614979565b601082901c91505b60ff82161561498b5760071901614993565b600882901c91505b600f8216156149a557600319016149ad565b600482901c91505b60038216156149bf57600119016149c7565b600282901c91505b6001821615612fc55760001901919050565b6000836001600160a01b0316856001600160a01b031611156149f9579293925b81614a2657614a21836001600160801b03168686036001600160a01b0316600160601b61369f565b614a49565b614a49836001600160801b03168686036001600160a01b0316600160601b614531565b90505b949350505050565b6000836001600160a01b0316856001600160a01b03161115614a74579293925b6fffffffffffffffffffffffffffffffff60601b606084901b166001600160a01b038686038116908716614aa757600080fd5b83614ad757866001600160a01b0316614aca8383896001600160a01b031661369f565b81614ad157fe5b04614afd565b614afd614aee8383896001600160a01b0316614531565b886001600160a01b0316615065565b979650505050505050565b600080856001600160a01b031611614b1f57600080fd5b6000846001600160801b031611614b3557600080fd5b81614b4757614a218585856001615070565b614a498585856001615151565b600080856001600160a01b031611614b6b57600080fd5b6000846001600160801b031611614b8157600080fd5b81614b9357614a218585856000615151565b614a498585856000615070565b614ba861597e565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b031611614bfc576001614bfe565b845b6001600160801b031663ffffffff60801b608085901b1681614c1c57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b614c4b61597e565b614c5361597e565b888561ffff1661ffff8110614c6457fe5b60408051608081018252919092015463ffffffff8116808352600160201b8204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff16151560608201529250614cc89089908961523d565b15614d00578663ffffffff16826000015163ffffffff161415614cea576138d5565b81614cf783898988614ba0565b915091506138d5565b888361ffff168660010161ffff1681614d1557fe5b0661ffff1661ffff8110614d2557fe5b60408051608081018252929091015463ffffffff81168352600160201b8104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614dda57604080516080810182528a5463ffffffff81168252600160201b8104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614de98883600001518961523d565b614e20576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614e2d89898988876152fe565b9150915097509795505050505050565b6000614e4c600887878761456b565b60025460035491925090600080600f87900b15614f92576000614e6d612fca565b6000805460055492935090918291614eb79160099186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b90041661374f565b9092509050614ef160068d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661549c565b9450614f2860068c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661549c565b93508415614f5c57614f5c60078d7f000000000000000000000000000000000000000000000000000000000000000a615659565b8315614f8e57614f8e60078c7f000000000000000000000000000000000000000000000000000000000000000a615659565b5050505b600080614fa460068c8c8b8a8a6156bf565b9092509050614fb5878a848461576b565b600089600f0b1215614fe3578315614fd257614fd260068c615900565b8215614fe357614fe360068b615900565b50505050505095945050505050565b60008082600f0b126150185761501361500e8585856001614a54565b613633565b614a4c565b61502b61500e8585856000036000614a54565b600003949350505050565b60008082600f0b126150525761501361500e85858560016149d9565b61502b61500e85858560000360006149d9565b808204910615150190565b600081156150e35760006001600160a01b038411156150a6576150a184600160601b876001600160801b031661369f565b6150be565b6001600160801b038516606085901b816150bc57fe5b045b90506150db6150d66001600160a01b0388168361419f565b61592c565b915050614a4c565b60006001600160a01b038411156151115761510c84600160601b876001600160801b0316614531565b615128565b615128606085901b6001600160801b038716615065565b905080866001600160a01b03161161513f57600080fd5b6001600160a01b038616039050614a4c565b60008261515f575083614a4c565b6fffffffffffffffffffffffffffffffff60601b606085901b1682156151f6576001600160a01b0386168481029085828161519657fe5b0414156151c7578181018281106151c5576151bb83896001600160a01b031683614531565b9350505050614a4c565b505b6151ed826151e8878a6001600160a01b031686816151e157fe5b049061419f565b615065565b92505050614a4c565b6001600160a01b0386168481029085828161520d57fe5b0414801561521a57508082115b61522357600080fd5b8082036151bb6150d6846001600160a01b038b1684614531565b60008363ffffffff168363ffffffff161115801561526757508363ffffffff168263ffffffff1611155b15615283578163ffffffff168363ffffffff1611159050613748565b60008463ffffffff168463ffffffff16116152aa578363ffffffff16600160201b016152b2565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff16116152e2578363ffffffff16600160201b016152ea565b8363ffffffff165b64ffffffffff169091111595945050505050565b61530661597e565b61530e61597e565b60008361ffff168560010161ffff168161532457fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff8716828161535157fe5b0661ffff811061535d57fe5b60408051608081018252929091015463ffffffff81168352600160201b8104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082018190529095506153c75780600101925061533c565b898661ffff1682600101816153d857fe5b0661ffff81106153e457fe5b60408051608081018252929091015463ffffffff81168352600160201b8104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820152855190945060009061544e908b908b61523d565b905080801561546757506154678a8a876000015161523d565b15615472575061548f565b8061548257600182039250615489565b8160010193505b5061533c565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b0316826154c7828d61399f565b9050846001600160801b0316816001600160801b03161115615515576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b0382811615908216158114159450156155be578c60020b8e60020b136155a657600183018b9055600283018a9055600383018054670100000000000000600160d81b031916600160381b6001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180546001600160f81b0316600160f81b1790555b82546001600160801b0319166001600160801b03821617835585615607578254615602906155fd90600160801b9004600f90810b810b908f900b613665565b6142ea565b615628565b8254615628906155fd90600160801b9004600f90810b810b908f900b613649565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161566857fe5b0760020b1561567657600080fd5b6000806156918360020b8560020b8161568b57fe5b0561483e565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b1261570557505060018201546002830154615718565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561573a5750506001830154600284015461574d565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b61580a5781516001600160801b0316615802576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b508051615819565b8151615816908661399f565b90505b600061583d8360200151860384600001516001600160801b0316600160801b61369f565b905060006158638460400151860385600001516001600160801b0316600160801b61369f565b905086600f0b60001461588a5787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b0382161515806158b857506000816001600160801b0316115b156158f6576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612fc557600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03d5527aedaf67d9473d0734e58cb0224babbe8b3857738686e8da00dca7d11775039dd7dd8acd1337cd3f764c4af6d1e1030afb9fff886679133f80eb64f8cef032036f9eb249fda7c5797fec593be8f90202138c59b1baa91a97ca78f34bc3d7f5540058200300e7746238c0a7607bb736a3f273f02f74b1ca78983cc3167781e83ed3d1b0502bc9f3e83ac07f40c6320d33783cf0e503268466519911851ef8a5b5b62358804883a3394d156e486a8af71a2808a05bae00582003e8b3ec84a457f4b1d753240c933ec2e4247ffcdc6f30f62df9911aeed78e205820ffffffffffffffffffffffffffffffffffffffc12f0419d5dadecb4384d221a303e9f84cb75761eb3b5b853d52905f3cae5dabe1165af6a3b73caa45cc657bea0203db8164401b8255c1eee89466bfd592bae612aef104ea1653f1401e41a9a77980039ac9de2e4c0ceec1e94c5431490cb2ed676cc870d2c8ecc1d1c53f2100dec4e100582003b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00480948b5c5e756f5b103ab052fd3be8e3884809e29bc8b4641e5a5c1973c1835997d498868a5e704c01100582003c518a9345af8fc8d0d3a84458f22e5422004d17cd0f1ebf0b12d382b3dfa805003b07fb71681e04db1645173ab0cf3c8034fd41f57ba8c887955a17def27a67e447f17f934d4139a74a4ddef1f772d14b7005820033c19d2cacf40581c5fc1588876ef8b06335fd58ae7fe15b6f23088613762105820fffffffffffffffffffffffffffffff1c34de7f5dc3643bbbed3fc540f79c990005820033d76da9a86d875dfd969fddc0af198750209e8746138ce4c157dffc8898ec051014b26c0abc1077fbe6058b8ed83329dd803c3d26d953cb9bf3ec68935f2cc54c5896a27aacf38038ed8c5985909cd2458d700582003017cc3e4a628ebe14089eef66192fa35952c3cdd5bbf284a3bd90bb4eb27b05820fffffffffffffffffffffffffffffffffffffffaa646780a60f6225c5500496d02196fff03bc9f74e15ac98de6f398d95014adc440d03b8c8830bd66921b178dca2ff3f7d70311d88c4849ccc192e000eb4c6d5fb747bf0efc76a2d248944f2518581536af6a0307fdf69d8ab3e9945076909c6077234aa0a73875dae91f0afd0966b55f909fef0336bdb19a1ad0493c4167d039a8d1daef49037f42255803f1521bc9c4f6c171ff03c2f16656c286e837b6bf1b45f0ba63af4699437c6d893e9a3ca2e043c72fa65103c647163dd8bb4ec8c1ec3456278558df66039798bb1ef10752914ce73426911c03095953587754a41dfa7c379cdb8efdf4a1224870e5fa0edd4abd28fe3e6917d9036cfab089a5448fe4293c44c664d134faa24a0366cd5abad1991366ae7ae6317503fb9a1583d6288bf277c109c1e59a473310fdbf8ec3740331dd550ec06e87f4cf0346aba80d900f52c7cf6e819fe74ded8b21b060cef3978262127d5f204b0504c00359ea84ff3ed1db8ea0d7eb7b135fca221cda3c04534ca4aa1d9afa9d420582f5034970f31cff162f2471a3b82d279d1ea437873ac77528d6c1c0272840c699fcab0219ffff032a5ceac1f6033073e04f4fec8e43917649e93ef5af02118708d08ae60aabd8c803487af26629f6e7a2bc7b4054bc986a59f6cf604b1ce3593eb0cb00302f703a9403a09a1ad9497770010ebe0ae53756fbebfa33854279b174c538f3d4e1e5a151cf03e22446281c813b873777b63e67274445e7cd3ccc68e13860a1cbd47d2f279e0b033a6259fffa0f89cc8f7ec18a0b21c0bb3a31c067c17a619dbb9011924041c44d0389bb41cd479cec341cffadb10d3384c540b6c7d9b3c396b2f85ca6143a33cd8e03ee705b2dc955b00e7a5467a4fa5acdad3ab5179e19ccdb0961c0fba581ad50160352aafed6009734dc3bf6055e343734aab2fa8728f567ffe1b080cf1f46b0bd6403f4feda356c9df11fe2d4f6b54583f6ccebf6d224e482d90f47e51f6667660ea7033912c15ae138bc8fbe833c24642cbaf23384a7b16be357516163f734d34aca1600581f029ec4d9e2a0432bf95afa623eadd31a58214dbb8e6d88c8a17248ba5b190f4d04e42c6eaf715187d8bced88a300581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581c780078000ffd00f700000000000000000003922aba9c43a08b76175b0219240003607eced14d4dbf05780161d3fcdaa08a945ca71cd7707b69af3281a8b3841a1c0058200338f46ef96a48ef3d7ad12ed5895522165fda739435b784d75e264118e461f051017f66bc4c541d4a9f3c6e5935a81b5884032e76704c1ecfdf5c3353cd3557fc6178202c81b1ebbaf10cf552163b56d1c6cf0305764c024dc3e7a1d74252f62974af1cd630bb3c8614433df1f12e5287f541d903ab955f3704643fe53976b5a4456629133104fe3a41e736e923d9ce4010cc3345005820032f90cf3ebe342b03263fa627b8e1d46358af30ed5eb33a62c48bbf534848104d3a3b7033becf9b2e2204577e4003d516df337a66e0273bfaf725cb16f47515c87d092d4f0cbff4292f03ebbde886005820037d256ba382fd113ca9fa72da3f62f9aa1bbd371b1298dcc7fe5efe4d460d70513ca15632fdd5c11f1e7328bf14c186192303696b11feda6173179fd672dd135bbf93e4a7f7e3d05b6b849a58d7cdcb3ac6fd00582003fa3e0d2c1153d717da2a1f0dee9de3d8ed4372175ff06a6b1c4c366f8f0db04c0b63cc7a389b6a7b3cbcd2af03cab1c4430ccf66b8c16cf0c4981d8728930feb7bbab1b2a1a9b44110807446860219dfd503b82b9175c4fea4b2481cd6f15064d223696983ccaddb9009cc876a81c363e0df03276c0ae8019a468399d9266dc34bdffbf786985e896db0d8a55776df521c84dd03359a14fa860b5fba1d37aebc85631772bcf7e35580302293aa7bfb2a1d76d84e03f7f8f192842a25f17ed45244dad3339159e312e1cc53d81976ec2e41ef23d779031b2903861a6aa9b73a8c1e3df73be5bab0ca73392a99a66d2b6c980a88e10c9103ad46bfbe0ae5c9aa5d499fde2aa55be86c4f5132c2645eb45f7952d9467fea040219ffff0323187d6666e53ff425d8d8fcbcbff8c7a962d56ec43c306b5c04c85f149b724603e949c65ca46e92c70812d90788669c4b156320ecaff8436b2db3a49a35dea5bc03d99f632542c05a3aac8c39e931ed6a0fd32c5532e6bfa563c573c8974513f0cd035c212efa35386f548935ba9310ed4f8e9c13179ff5e5ea2817c11423aec6677900582003dfb8b38c86e67d9ce228c54e06fb19001969ce91c7e8e1f6eda23b4ce00bb050086fc9a75b904e0d4b0b065d3d6f5d2300582003c92a9b7d6ac8e1dbc57659b629824e64c5e7c56af46048c7a4378e1ea32100510f30ac8fa81b87b5bc93212c2e5fec18a500581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5201353e6fab168f5fc569fa802082d8e692f700581f022ebfc45407e11c7c9dc484b11fed0498f457a386f30767a53bf0145adfbb5143eb72650c1e1a327e02511ff6f0a8834b0219018003091d4b51a0da49df52d27fc99afeaf38c3b4b33a99512e871823381d9d9c0dda00582003d684ec5038a9baa1810cbc6b6f14353b22b1fecb03bcfc7eca494c4b9c84b0511493c2642b9c9b9c62ea5a3f1bcf174d1500582003be12ea05483dc056f935f4c8c62a9d1e728589a1232cfd60c8b43b737bab304704f98819dda51100582003e702e058fba4d8d0a48f5fe317a3462bf5c3dccc7822efa5a6ff78000f7b304e0d23a45158780f7542ef79d20f1b03ace6fb323a4d0dd99b8a3723b706f8bc5f55e7488549f6e3fe4ee21e74a76d27021978bf03b2d38bd54348d27ed538fd35f5fb98f08bc7cacf7de2f3c76581a4c119e42521037d46b1724ba6186a52241c4902acbb2ee29612ca3f9723a1c2cb14b7d08566ad0315b4357e6ef97803094808cc12a4d414fdb5e96c61d68cf0fb1e406ea1cedf9403b7f6b6921d8aa473eca56c0a6fde9ece429c6b219e0bb5654dbd0f01589c5c070336790677a95989dfa2e69ad87aeeb1977698f5f24c703090be18b349f2f7218203b9d2910ffa1da7554309e816ba53f5adf2284710e56c33d10f3e0e9e1fc2f964031d5f68fd106789d9d7e67c18d064dd11d7cb7be7fe7f5e8580892adb64a8ed4003807c6850b137af5c484844b0f284263c3dc080f2371d2d425b18af2740bb44fa03fc44bd60858de3e148ca71a9c2a77f8361bf468d777c21390eba45c906ef578c03109b5ba147b042a009d160fd3c083a4b93b9ea5c22ec0c619fd927d2c422786203bab3e31f4982b0bc3c3440ec683aaa708f64c7d549f4b0e32942fca6d091e92703a8d76588e0b66d69f0f885dff9966fa86920194bb593e1dcf00128699d73012a0354c20de5ec27e2f489baaac427c3f72324cca19e739bc5d2d2cf4d759e2bc0d203bec04576a9d11e8d59f2ce132dc5f815b706448fedd7535d85917113ec9386f203a9b4066ecd381a262c4a0bdef2d75da441631df7c9af47acc3fb1553629acb7c0219ffff0347c16aad302afa1208daddcaaaef26aafdbd9c0ae27a85c0a0d51ab3e5773175038b84c964226dea261f2700a7c1b3c54c855e890a8fbbf2303dde586f80bf32070336da1c542e6a6acac7dd1d1bbe3e13782630edd3f0d1463928bfec005ab95bb603ede2ffb6998f9290fefe9e7c31b06fee2cba1219a48ef8b7e27130f78e09a8c703a8dedf4353288c43e5554425b3fe9f32f1f8260afe466df256151c0d083371970393bf5ca5527d075977d6d3cc254ab65f93819d63f0d41f4c4145b063e4912331038979aa1b6cb8889c16808f31b3419a05a4f78daf6126bb5c659830e694ddd88703e21e3f99e461d5a6919a9cf20df2be645556264c4e5a8a7db2621b63194f16ce0362251eb3d317d0bc5ddb50147bb3950fa5f2fb1f2464d17bf1cbe966ce16a972030eb50fb7555b2996e8e3be3f70732586aea44a9a2560f8f77f39d85a96d854fd032bdc3535e0d7a42f77180da9fb5316cea8bb923f1a18f1bfef6b0fec293ad22303447e823908d8b984ebaa8566a0deb577199a96fddbf2530c16f6eb6e442d46eb03b3b06a639a50ae450899190aaf415bcac610b3f50d54f9e7e4b3cd732e48fc760058200357b1fbe119cd82d36b836a624615e7b211d6f2551c1e7826f850f9bc79bfb05150bcbbfa1bbf068689679d98af26f24d4a00581f0262b8efc885da5a3df52533c01637cc11c6fcf23b0ce5cd7d6ccca7af77d05820ffffffffffffffffffffffffffffffffffffff733721eadf845e7a8104b131f200581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5501e31fd5f8000000000000000025a1aa25c399ac9f02183003e102732cd8bd1796519281b4944f9dcf1ed67af8e5599bd7895bea4a16a049bd03b8b6eccde3a67bc68086f1f6033ec5b3e529d3cb8dda5d74f7982be878d7263d034005b15d84e9d715ff7c2f024e31b3656c2891ae95a2a3ae083c9e267b7c403d03b0b569f75c2c746e07fe5ede496e7f010bf706dd8ff3274f76dc206361eda4e0014101030f3595cc3172401139fffb32fb410d24bc4a1fda68798f769238055ac6cfac7b034968a80a76deadded0fdf95257d84429b3b8b17bc2971d5afce82680b86065ca034de662ec08eda818545dba16fa23761ccb0a3ebc3aa3f7a4c2f0860d1fb53ba3034d1f497e8a5168056a5bea3f817dc928cdae08ddb84da046154d17319cf5d069005820035358ba6e5bdbe7f6a78e570fb5583e828d7230aaa2ae1d6b4b5810541bde20513790dcd1386ae3b5281821c81fa70e772e02197dd903ed70347e88268e9958f367a99666f3816636253c5bb3768f7b8bc77de228c5bd0320c24e11e90bfe87fb80d067de1eb18efd143010672e91a86269f9da4fa4c81e03cec2c476a04a6a2eb1d12520800c5a13fc6f4664f79d3990b97405277267e139035e240cfad597035625993308e9fbb1d1b22578531c41fae51e12cbb4d4913b760385e8d1128fb33cf3111b12f5d9c3f15aef5418fea84f5956c93c87ecdf28c7e30219ffff032fa7b261f59de1a44969fff5c3fb80a00785819d1ccdcc0bd1855985fc63449703ced1d0b2af32431f26a66634362bf9aa44b1ad7aa9db6f21f91c9ac168477da503922ed13cae47b1c38611ae45e3805102a72f925adbdeefd0cc84a48ceea2eef3036948a44c0e395d54459614369a15dddd88c616f67e4e2d2b6544dafd8488a1fe03d71ab9d06b5292896dc0715bf0e367bee9b106d0eb232adad278a46e18ad19ad005820037c945b8d9ace30841c5057339f7776f641a4d98f3bab7a1ef1f98d7cfc0aa04d2a9d8a62509d1a6eb850b1c30000582003bb71cc1911f56fdd9658aa54bd6833fc754f7b27dc0668dc5ee0c4b4e3cf10518ba16228b3b45277e5c9f3c57a67b5ff46038c2db845381218a4d61e5643ee3f8faa0128000427a2c14bfd544f515687474e00581f02e41f565ff315100f319932506e5be60d635cd7045c024c3a855a595050fe4d7c40345d65949b1b370144675b00581f02316b96b9bc25f8be075632942795e12329c51660034d33088a7ec86c7d325820fffffffffffffffffffffffffffffff8f587035e37e17af53d15b6ded096384f00581f0298273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c969558200100000000000000326313d4188af050cc03ce9557fff9c8ab471da066329c0f00581f0242f40d8373e787ae9a32545e495c64f81fe15b7a7247c3b7f613dbe7cd2d5020dfb80bf3d14fe3df2b0c7eb50155a702190a81038ce076954aae101a6d5715aadf6adf1c6fc544152c378555207bb0f80c1f32710377b9df788c3cdec763fc3938fdf224ec724d631d43ac45acc5950406934974fb03f2ce25f1c61e997957db1a17258d77b10360a8b58fdab6773593ecf9815871870058200332bf48944702f45cb422b37df1e7567f3e4675e145d0a616fa753bc048a6f051b993fd7b852cfbc29097284f3e8b8d50f103bbfebab88a0fc24be7ef3e8f3bb829139639a56e295660303e287c4d12e56944005820034a9be5069114b715e1d0d691fac587de4c873d0628f184de0bae3665bd8a604d68ae2eebc6ff600a59b2feab9500582003e11ac2da8d6e4a8b53ce7e72e5edfa45fb80e8b46c0f7fb15ffce305b1ecf04c5914a521c605958e88ee910400582003b689aa6fe84f534e1a19669a3a6eaae558862daa9fb3abf3bcd2f6c3d3c22051086ff6250ce25b0b3f1e407ddb0613c77a02196f7f03a22e9939168d43f0d6d4d9710ebadb901a6ebec724880c40f35a761edb03533d03f877a98ab6060647eb9396294e264e7e1a636851c65c84fd5277ac32179ca9b303d4b80ba852989102ba0e5d8e5937842bee7258a704cd24276bc9b89577a8f68603bb08e082ac20fd123ce427539df51918820b35c8cefebd3521a836949ee74f7a035f1f28ff1d040b89b77a17f1a390791828412b216970e15e4ee9bf05909c202203a6aea703435026fed0978f2a8ddb9a401cc268c1e4e906525134741519892d970319f596d3a23339688a1a67de0976824d072803a7f1889a334b5e9bcf983e68b40325911603c4a4ef13955a8ba466d1011631cbef893c22defa591f9a980943c2510345592f22261b66bdad28644e74048c455aa8ab9fd48a19fcb9f50bad74a430750390277d5cf50e733f5ccde002bda2ee70f1ec6fd5ca31bd3e02e171cd4bf556190325852db4beb92fd965bf7efc38b0c9761f94d39c1fc50b6ee3fb8057af86d40a0219ffff03d5d93cbebb53493cca9366ea7a87bbb56a2e679e587ffe1173e73d8638e2f3160393602ca4626ea9e62f3cca7ec0d4cd09405cb368dd2fe66b4b0ca24cac4648bb03175cfcb2f2309596911fefb9e5e420470d1c42bd218aa99ea9f8cb86e608803103744d48276e72e5b05abd1709d819fc66e782d541df062db2eed264da0e2b828d03cd92c09ae4ecb32682ddb026d3b666486b141e9b877627a9b2b232bb6b81601f030748a5fce5922fcdec5abeb4ca36e81751696842b0ac9b4641789deea743ae490373027e4b76fbd4b0678e68abd3d7b96f84c958e9ebb4f2d1927855da8ab462a700582003f60c850dc92d93f13c22378a7c9ac291b569b225380076ede57eca563181b058200940484082055032004190c006c260280048000021b00011003c10c840c6000400582003f22728a79e545eae76fd8673b45e9a837ede64a035d7dc0e390795351110204d80d5b1e10d0997f0e6076f7ff60058200339991ee8d51f321b569736dea9f263ad49437cc284e660f8fc1cf50e4c4d405820ffffffffffffffffffffffffffffffeece5b6ed1f3ec03bae3683e7a7b5957260328007d5c0e69b29fdbc02ff1fc4ed873cb9d0705c47a2d3852b6db16fc03b2ea03cf52a0fe1aa04eca036f48ab8ef3789248ab5de05e35a531d35fc645d853ee8500582003c45b22984f3a8f2dea35fee188cfbca912254f485ab25cdcee6474940c63f04e02bd1253b73f6937e65f06e66df103693763955a25a91d945af569811a747fd3f99a9a7a4dbe2d9c6bd7d6cb055058038d070387a51db7bfa0e6d6113d88ee09ccb78bb1d2a30688f7f8fffcc131d288005820036c7910da469a28fdcf26f5d85fade277a6ea4049391f807fc28b113dd46d1051018bde7ee3201a45c081ddef9a3c0ac4a8030d403f8819389dbc0b22f30bc127e90f2f437ca0d15fa17d8018c1fb9467dfc600582003ff361f7c7df32c846e531727e2919f91d009f0871e4e0b21737acdf37713604e01324902a23de78eb836527bd3e6030c86d9c8a3b575068b394ab6de91efa8602b3b94241e9b38c55beb8f34e25d4303f4a6ce732d5faaeaf9bc0504cf4ac39b4581c72c6b80f28562f4d93e21d4fd8a0219edbf03601c82e1142635304c0853e244307f755b045c391295d550d4105fcbd113f9eb03a14389bb3f5ba8d23b2f57b7349b40b84343acdce2fbae9e82c10a4ac6648df5033fbfa6c0beb3ca392f8f2c6c77e6cdc443f5fdbce95f43dfde94047ef33a09c203d9f633120b92ae6d822f64d9992a4672537cd15741296a65617ed34186dd58d803258de34c6c67f60380032df9bf2efbe9542dd70cdc0f85b5fbf891091d04817303ac5a26173af651dc12fa8753d115eabcb8d9ac6084838a068b74051ac54193850315f70240279fad02821898381ab8e9c9faa1efb5c35d5bfaf5e7cc37b4db7f4c03cbab23131e461c8802dbb64237930ac6df617bcb978f4e9358d1d3b4f1280fc70219ffff03cb467fcc02bcc6f8e9487b066ac92495e8661e901bc954f1ebd0ab7a557f55f400582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6045010d480d480058200372f42c0d97200021be2c133f7869b5d6636435b9631988a54a483a675c43305076a7539a33f249a65cadac48621d16510058200329a13c9c9d0555bccf59475f63fa88b58c98b00d5fb60b2a97a19c5eeb2f004cd4c8645792df54fce5b8374a00581f02ba3508ecba3cf799647082b5e80823f4ab4399b85ba26645a62d110b62d05820ffffffffffffffffffffffffffffffffdedaaa6af3d621fbe687ee059a8daf9d00581f022d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e582001000000000000003263198f9866448ee25749f24bfff9c80f342bfc6632d0230219200203fa27383940e60e809ee703bcec0bd8123b96c5eabfb5f91f5381a2a91a0c87be00582003186b1893609a1bab0845ecf6b77da363a7ad48e4458eaae14702c60a4f90305820fffffffffffffffffffffffffffffffcf7a92fb035eb1b35ab5d2c539a18ac0e039e3583e361faa02bf036b48e132d43dde69de537370d47e24624cce00c3f32ee03ecc4bb0d311e1b06951422537b8aef591be79281b1919bd55dc666685f48a8c4037183a3a8a7ee43f6e67a51a879dfab4d9135a610c73d532fdb33fd5245d7f7dc00582003801a10bcf656aec782f49e532ee6ffdb40ccfca8ade27be8d08d8a9e184c405820fffffffffffffffffffffffffffffffd79383040d1ab7481a42d261d211649e000582003ede663a9af423e082aefad50d8c6d2119893ee42815c67599d793da5155e3051093fbb9d3b959a74afe1d9b157335f8f410219576f03d193a532eb7b6802b966b81ab10caa384f36ae9b4e56528d59ef143793294e8b038ca5195782f79a98c0033caac4c8839c6c1a765f2cdf5f7d582f253994a3ca2b03f0f654a93b88cb26fc0a378d533935aa690f96b49015aec040ce78da4d72959603192e0d0f81195cc0ec25291237a47b939b8cf5c39d569982bc746bee8c099426033cba1944916ddf9369cf3d92ed08ddef001603befd8081c1c33171561ebb874603156649ef2313897d43a1382656e136b2c0d5fc78462f508abf45725389571f8003ef80fdc4415cee472d839a3024cc632f6bd208b77e0961d8df9bffbc48ab5d1e038e2db85563405baf231c301b1ee56e8432bdbe5ad2ad34c03324eaefb9ffcc79038829ccc2082d04a6dea9dddf00ba2eca100680a1f8336d37c7c16ca2b6bb1b4603e3217c11b25b65fff92fb944bb6239392bba915f51de1ee832c58303a36dcba603dbd3d5aa587224d39d07ada0050837e1628a2ce35a3fbffd33788139fd9d1fe2034eb557732c2f19962d33ef6b0066c62b46c2d7bc7738de886791ccb4a3258bed03177974433b58feada180f40f3eb74421aa12b65413ac8d6062c46db77744bdd2038211655eafeaf57d5a604c011f2288da8d4e622e52d8ea865edc15547904e50a0219ffff038ee295c143c1c58b0b81e0dc28f78d82c6a2cf144de6eba8b053e434093476ce03f5b1e1cccffb4449d9cd0a8c914fceb14727346d0dd13ead4ccc588b3e20d4ac03bf74cf4f5a53743a7eef547ce263c482064ffe0fc65a08bcc518a18776ccbbf803b799a22e4628af6c3d55bd7088947435b77e342499ce31b570322d011f48568d03a591ca1445d7196d5731af8410b357e6c2db78cad8fb1aac0d2da7e719fc090b032a84e4268948e79579fd308eff022a7fa79eb4780bf2c4d664f24e6bc62641680315d3be42027b68ed72ccc3833162e3c231c43396f08adb1eab64fb004e59a3fd03ea37d11f331d42042803154b24935399592fb39c89628b0a2fae45023bd9c95a0320223656e135983cd92e13dd1efa1f463f97b01e1c1d4f6b9e7293bbe8f1a2050326769bb2d4b2c176bb37f9076bf65239f3873fcdaa2ba3feaa6b7bd7cc1f02d9039d595ec824428b8c54794704329619dee94cc672a2b851245485e3ff1f78939c03f6d6e062cff47f625629e7ccfbd439d0936de45f88154c5225ffc51a23e2b3a903e1d809cc4a26a3113cc18a2083c78e91db872d7ea1f8dbb4bc334ccbeda3d1640396646664fc5b2488269b84d2619f4922caf3b042ca80e4cd015f7d39a6bf926703812ae4cd163b7663fed7ef2a7ecd30226b0958262c7a9a1bd184b8f3f6874e9103ec8dabf0487787f017722c38ed91e7ca361b7a4d39c66ec617b6dc6b363bad6e034e1145416ca1ec298407e576455a6222d48b0bd938f6d820c32aa12365b86fa8005820039cd808c32021305aa921f76cef0c5a79688aa0d95298c29686347bfd5dd7e05706cdce376aa8fd00000000000000000006cdce376aa8fd03d4f31daac2f40f68d13e5665764d425ad8a395e5da7d8c8797dca14a801c13c900582003488ff202e8dfd8000e356e1b0c9137bbc8fa0e4808efa4e0b2d70be4f833804f02fde3ab29310e5ab3f676926fcc7400582003cdac38494a30ae2f2df32e6303156df65791b207b2204a1948f2ae928f0ee05103580eacd062343d89451d53afe5a4aa3503ae0a24218239c5f9778aa2718b2fa11a615477451d4745d103f6f8bc2e2d21e000582003f26a615d9dc4690c33243072e6aa1c41084c78954acb9d1eed827acc87f620582001655f21bb00000000000000324f77e2d2620af3f21a8e9334fffc44bd12d8b003bff83c843050e061945c0531fb9b8d88a22c78a593a774a4a76e4185434c53790379eefceda6d7b0f9b4748c1a52c91746393bfc357d52e9b961067b487df3b60b00582003868708bb6c912346aa689a2f817f006028af6554ad07a7185e388085cf05405820fffffffffffffffffffffffffffffffdd321aabb80fddf87ff2be227504b03aa00582003acd4ff7fdfb4a9ec449cc3c201f71193056bf2c502961ebd15729ff7068b004c8dc55296cdf0a580c13e813c00582003a171d795b1f4d8910ba74bcc0a78f3ea88084aacc9c2dad425159bb1927840542486ff197be4553775daf666a815deac482bb6b00219dfe80219ffff03135a6a2831639395bca9909dc68604068139a43bbddec4fc84dafd816085bb6a0219ffff05581e0358922460b0cc83086cc9e97f96885402c19f05ddcbb63a24e7fba6fbf007011959b2032992f01a49d248a64c76f3c7883ccdb8603b8f2fb59e2ddb7d06d7fcf78d393805581e030c2f975fcd36001f73ed70a9b8ce81ad56efdc448a5cb6aef121d15d900c0246d1ce4de0180003e6d4b64ad43d5f096f2faac13a8346184336e67af010bcd840cacc50e14d0e9402196c2e0303c418c29855e9ea7585ac27307e43937733b63ab7785572b33aa3b80bd4558003066f071e58a74006d2623d9b1af862e5e19bb7a07044b3351c48a707a45afffb0372722c9ad095581eca55995c4582f33b80ec90e9e74b02583efbc320dfb0ef2503b604f7c48c52fa84c80e1961c59c963f8954d044e0d0d95451bdfcf04a525b4c03e74036006a31851eb8dc95bd643a676c3bf7fd0a3bc20d1add57a9032a14e4b103d5d84ee58e2d6acbeba296cc46f0289ffa5d28503eb4f6f86a8eafc07112a5700365a362c3d1af1c05ae48a1677aa1ed50e58708ca4a881a5175b4233e5d25d633033669d11d4b90feaceb4f70f5dc82064913db85fa45e7f90ffb882921b51608fd0219ffff031a0016da62cc469adb481d3d3f22d849be3b1aaa8f6ada1a0e0169457751630b0319ae7a507ec6659e7177f0a998bb71be0218dcd735a4a098a042b27b0c9876c7039f01777928ce5d1e7502d02f4b8d6a8c9bf27ccdef06a711f769bc31ce0038900219ffff03cc1560c050858b68dc74679e886ece1e1ffd3e1be5bfb360de3e50245ea20af703e381b314f962449dc508c9ffa1d2e086730d055a8e5b9099ebef94c3a1c0d4a10300f46c606df19415f5d5f15ecf1b8b00a90ca5ea70dfa355e091f03acadc06b50386fa674186a1096fdc4c0a7a0e788b1c7afd8a9109c837c3a8d376f770fcdc0703ab032c59c9a59025ac6ad1009aa4be43336ae55fa48ad212b0929bbb26ae773503995b1db13b4fc2855d8b5ae75f41e54b6f8e367c79a777d650436be6956c5f9b038c2cbe6a0abc07c3963ab362e30abeb53b943c5d86d7bad1acfa6b9f31865ca8037d284eb987372b64a6b2f9d16d0dbac14680cea0d5c76bc9be799fd7e29d8e89031436238304ca8481393fc51df88b50e1bffd2602aa6b03731f2e07c96c7674900338b61d132535d4124a8bd8c3c9f2262fc1be2d8523f78a40d9a32f37bfb584d6036e3db0ccfec3f09a87b8e2fe5125a8f799eefc547df215ffda1c323d0ad73e1a03c9e2fbbcf4caddb4fc48820e610ec5075c655a8d04642b832035b7ea3fe416e10219ffff03668d506748bd3c518b3f470211bbd53bc84d61984863a61e86d4d5b9dc14fcd2030b27147199078f8407f560beab394acb7c85b0dad5a46deec494462a1e74b044033a5f0c980a8e3b32b9674ed65e9e5c984d6366728b2fedda6425a612ff1532b2037d72783cca5fb6cd135ee45d3e6439e61f0c07db95434a1484e1d5c3ec88a61a03dda9d046320c8ca6471d0ad1e0a54bf31336527243a1930374724c79e3e8b9d00306ad686f992d019d8fddc272773eff36776371f0354cfc40909cc7cf5de1865303ea2b7181bf38049de0a38ba59025d2d39527f29d257dc8121cb92efce8e02012032a11ff82c7483700a0842f42cd5cb6177cedc544fb9187de73d8ff152cca9cea03dff3b403cf1ad5de4155b611ad3aa3d6df8b9bda1b4ce8cdb1ded9580165f20403e42d3ecb64684f58af8272f1b620b3c854fa2f93486361c399112ed087d416f50358f0bb8adafbb93fd67029fb33ff335496030b96f22c0bf1173dde5278009486038d72008ede47366b8ac0f6c415ddbd17a3ae48450622f61dd7919195564a6cc603df44c6ce94e8ed5189963ecc17de9f5af1a9501ef2f06bfe7469e72a4ea0607c03e57d0ce922cdb9fc9449ef3a0ab9c1d8fc326d22da7ed8c910b5e30d38ec4abc03e8628681596d8e772ba8539654166b874c96d75fd4dc47d3fc55ab84c80a08920300c68221f5d7a7cc22e4270348a44e28dd1681eadb9d7c8bb7fded90f06969a4031d7c2f9b000aa3582fe0941b32b94836c62c73501c6401e839cba1d93d252cc903c13e986f2a058d7bbdb240045db5d5dd2f83ecf7c69726e68a357f92699db44503496da8d6f74959d33606174ef988c4ec02e45e0ed3ade4d9d2bdb893e3e578ae037e2020768cc73134b9356e1b28ecde9f57931682330fc0d1dc993a17971ce10c03b451ebc44741cd279639af083e1381c83156232ad8050b0f28147c5386fad75503a6f013380ff6d113e6adf46f1a7946dc05a221d9d1a9781ab169cf7cd5fc2dfd036afefbfc95012c45080bc48cce1d43cdaab86ffdb7106c349eaf8d4b2314475d03f2f86e64ad88c73f2379d9ff44cefbb2b98f9baea725c70fff60fee6c052893003efdce45c3bc2b3191000334af40a559e16b9af27f4798cbb8b85ffd50a43b357031ff96bfc21bb9d6e1fd55438442676506f982a2919076118a7d3a814ba4f9c780356ffc9c4ce0c3846918c7185e33d3694fe02a02fc51a2e3621615e9548f60da503c26c3e103436ea388d4c163fe0128c4ce371bafecfeb05a07a732abae4775ffd037c067aa00d412607ecb4bd3851bbfe965deed62e38e80c82c36235ccd1b8fd1803924a37c7282b14981b477eb53c3db63b76eba49a7cbb39fec8f39cb957913f66031b2d83245a0cb053a06c4d6e77567f566f14e14d77fb9dba5ed09ac12cabc8a7037657ff56e7ccde6e3ce14ae094fa7a89a387a4f6d8d810f240cac5715e6104390331dc984e790dbd02b783532556cd1b208ce4dfbcd0d291e6777076acc0f29b5a03943b94e71b554c9e77e2a11fd5dca9168dc4f70ae024e3c566351425232069a003443d6f66cbb954f3b5f376ac3a73510bfe6b4aa215d071efb30b8015537420e603f945d11dfbdec633b46636ea949eef7acaae5583b170675fc4e15b9cfcd1166303004542c98b45df797227d778b5ddcaece24a05e4f94b13091eaf3afd1438798a03342090a6b8a7478d1f0cbff044ae03b7bc018f1e7ba1c451b6eae18df401c6e8034f4999eb9e59e0f89e43f2cbec591f677b3c05544f821e922595b000e224ac3803b60dc52b0827092781b6462aecddb49b0cd5026b9a2b9aff1bf3fdeeb066522403354ca15335f4456afa13adaeb11a36d92543f19e71848e2b4f99923b5c1f516e03ad1b52353aa2902d972f5b792cee8150bd53c60b00acb41a15316f70807c48240330d74eebe27f2eb82897175e543fec1b2d21726f4f884e3df86d511a7a15fae603adaed95a01c131f826a27189f2e9d7b0965e3241858a58863b7afdc809c32f23038c670f9a38e89fde3a08b1e29370b4ae93d9eec9b282d7be25132f9027ded5c905581e0345ce425e6625be9b17f2df35691c568ab07f0f17ad79115a5fe047eb10040203f052a16b34721728942afbb4d3acba6819b543a18119f53e72638446ee4fbca005581e03f0eb139eeb3844cbd78bdbdad8e0784c14780db690db4bd2c76d2dde700c02470fc3ac3284920005581e03c7c965b7e3873a11c6a4e4e646f1bb2027fd4ab23f7cda6fe079c19ea0040203daf7e65aeb94d820ae052a00055059ddbcf36b290bf2535584954304f755379805581e03eb55eb9615490e72a684aee190a5ca00b359a2e5b92166dd5ed360550004010317a1d9676f08d0f0052d19a4f4834e556f4c709a3feb26c2549bedfa500b79c60219e3980219ffff0331b786f2eef03edb7630d66a2895253a1962caeba8941b23e305237f295dfd96032a99bfe781b19981fdaf9977b91fb08307cc9ca31d11c39a6db0f30ab72aa34f030d4a194c44159f8ff15acbb03d9de78eec55153b7dca86c39ea37b7e1b85db840219ffff035f136889d7fc7c27fb2e584460a2972ee7f8eb2b4323159d41917b9728ad3e45037562b6b62f675dd2f372cb10a1f9809b2fd1c3313968ace40c189d6385b42ecc03543933aef01495cc45ca47af805a592aa9f9964392bfbe2144a841c5accfba34038c74801ccf253944d2ebea9fe25527eec94b2049a4e8c23a1eb12c30cb2cc1e0036e5c6a584ac2321e68e5738cd6d96349350aa092b5f2c37254e15bd741790ee20330bd93c2bffe7c66a69dcbcd85e8082e179d4d4db1a6ac1df7679287aa7ab7860219ffff0219ffff03120d76f60979d07260fd010755da34c060333563a6bbf9ed101e6ebb1fa37eb10349c45fdd62a240360802b88ef6b368afa8ff69b908033b6ad7a352e20a179db603f9e6885283239b1eb7d82e947dd4a9dc867aa055dc8c38a776659960b329daab038eb4c427c2376cd64b069577c05323c67bca121047bb7ef995c7d5f37949a4f7037491eda44edfcb1ce63b5144229bbef00dd40f8c531c8dd156439b7f621a1d0f038ad7afaae9d8a2638aa87e15a646880a7d0d0b785e0ce9a39884fa457f12dc2d03cfb5ec3c2b3b0730e6bdd08c10232cc3e0a8545876849e974c5a50f82c5a53ae03c562e8b408dca1b3b9373ed4db4e627a603b40658b66c7279e9f7c1a8bd7ff6a03b2841352253d1135f914ae40a1076f98f783da2afab489c3d0e05a15702c003703662050811e286d2d3c5f1c1709ac68f4c709707afc3e70436a6ec892b8dd7bcd0339155fde9d8b25b080935429a532a5da5b4973d6b4f11e489beacbf841814802033f4fa4cb6e15fe485ec7c92423f51291be57dd5fdd84a1b4c3ae1c3a1bded8ee0323f758ddd94f5616158927bd3e23b124cd5ca08ed276c84b769f059eba6fa87303879180621ecd10747bc37f5c20e299a39268b70ae9459e6a53db59dccc54922a03af99c39fae3ff77a09ded643e7ff7af50f9440d018f123818e635a23c4387b4e03fe677a1acae3f139551d26b8e963fae0b668679d27853f813d60f266a0ae2b410313ad071e47a637ba71494b7bca7a6f74a2fb8cc51d3ce3afe5e9cf6b2792f84203c0a0e22a91d67fe50b27ed5586437bb0a5dea0f8f09f21bcb414c53cdb9f8081036910d9efe52c176fb15e3456f325afcf9546e6b0852a444fc8a735bfb13d0c8d05581e0359caed7cc1a7162552106d9cfd53c447c225a60b9f6e749623cfa8cfc0040105581e0373503372314439d0174e426b15b17b6f3a12c9c0b38fa7a334f46a542004040339761effbc06cfe46fd15d534f01a90fb13fd0f30ab007b006c9cf0dbdf3c52f05581e03953a776abdab0445a02d1444d74b634ebdd8ad13337931484cff83a760084705ebd312a02aaa036edf5c6075f78cc269c2c8bef3b78ae0e602585a1dbae319f6f7a13e6fe0ef3005581e03496952f9f6d6a4bb74a64e062f4fd5e68cf3a12f8e9adefc7d2b26ed800c1747d0226a9bd66c9505581d0280d7b49c7293aa50e6d879cbe5a535921fc5ea05ea4fdf2367f859e70c11471dba4cd387eebc05581d02d1ac3ebbf7f67161c433b45740d15741a549cb837206e1c5c8121d3b0c1902374803d3b0c9ac8bb07b0219402005581e0322e6fb3185ad9c0713f1bfef6012515d439f08d8866a7e1a5ace2a2390040403ff7286d0d18fafed38b314f736ea31d1b54efb355b3fb9723c865e6c9601babd0381f46fb256e76d502ea5b148dd4fa8ba081f0814ed7757ca55035e1dc3dba14303d076813057f8b6d5f18aa58b0f1c610f81a12ad900bcf6867fe7d059f67765db0219f77d0346f420de87b4bdf3f8a559cd00445f42a622235a8698d03092b76f3c696b779f032ebf0a316c07be0f3950ca78ee2b8176164c8e2c4179c67cce73673bb41a26be03561cc401170e9104b7221f6e82f431e1c10369766f0e75965b12c79d03eca1ae03b8b25f556fe4b2cb5dc9a624216519545ba8f0cc8751e154fc2ca4ef400afde4034156ee1bffdea38b55daea2d8bd54db768eb96327ac70ffd5117676b39403bec03f9b19662cd6ee9a8c25b3d19e17e22b042e75d5b306d380ac07a32c9a92b40660339e6507507ea64f5451c7c70b838e34f7aa641c27a96b42d8ad84affa6e5db72034302092b834c396350a035047a9f62f93403322eacaa439e66538fd146646cd203fb8dce3ae7214a42f04f89d9223f0bd001f002204d6472e3e12b940ab648199c0302724ae09ad0d82e55f48fa015ce380f595ebd29290cb661d13016bc7a2825120219ffff03c2b28c87716c0402d6e4069bbd769fa66cb8694630359d08390b5a75c3a7683103fe9070a681151fc1b4461055fd3ea7ed7447a53967866f7501ac1ad46ae150c50305487101fdb1c7e679d73af91570c4fea57a6eee8f14c1f757bf822f5b08c7970343b9952dc112f0c1de68fef81a520b13721b52e398c7fa08ef461c6c8ccf2a7f03fa897577fb7adff2c57d601fc971927a24fe272e7697d7a96bc781e6ee94b4ec03cf0b1c16a61778aa79f6c07dbb62c379e4a62f938d906efcbc624d12466fbed60219ffff03517d575fd872ef2345926a08587afd633c71e7dc145ba6b89e156d87ac8202e403ab451e36686a77c4c844da7e95c86742c0803f6c820bd0f031be675e6efda2d0030680248befc3e7becc4a8927fc8eeb68a8389115a7078b34c3499e95d1b54a3303fa61195d9bc01a5b2dc77cf4d4c632767e8411304e35153e0c3547c14f8fecfc0367f4e6f82b2524187a5669eb0b328d4f499143a8c4fc6fb65f770b8b24f56ae10339871634beb8818f06cc9e09a967f4b391995ad3f786721d899e98f25acb7d320300ab366bdf582bd3a47b76a979ace3a9067369c2a037b17bcd15ddda9d0d4aac033caab01f13930054a65c08bc77cca3b2fa4b17bf013639baf5a51205318a66b703e1ac3bdd67a8739324375b22124f6c5ab5dc54083515c8758026a229bb01bbe603104d733f0bb03bf723b604ea194e04c80edcc3cbba67e1df57c8082e969f817903d34576ecd680481dbed4ae0c254cf812eff5f2f4a61449299fcadc051d9e94b60300014e68e561f29d000dcf3be958972c59b1ecb757f008a7a3c56fdad2f981cf034abc12d69094ce696836889d2a2b0019b1458aea3b0ef6515d3e315a30c375f4035773946114209a824fc829ce1b547e6501d4546c00d854b7bc4b797237eceabe0219ffff03fbc374d62e116d13fe6cf2be574556008078607b1bfcebb7624bd0322c75e1ee03b686f8954e2426f30fb58895ccb38d486aad7f49e5c69aa501971ed2054d2aa503af4ca82c22b41cc9d8b340cc7883898b3e537981d73e8f5885030b4cd4e9e53c0371ec8cf0f7c0d5b2d194352ea4a92cefe3f05babb556ce20b806a37eae1d5f8903b49bc6b39864d33ca3434124faa64a74df57568ab9b365bb23ec55b126642633036fd789872f91aa3f5ad96f9f198a51bd60426243d4cd2ec5069a8e8bba10a4ee03639e554a4a80fce93d59f825b8b52d8034c27a4c7fc9c5562a0762f8bb33ab78035c06672730039b5ffecc9c2fa12f4d861480199c74312cb6e43672cc63ad4808030167bc9aeb7a14384edd8b23d71864250e336ecbc1aadb43ffccf2318a85112403fdde05596b4b66ab81f5c1078cd1b18975db4b88d03a4058078a71db91d57aeb033f628d560efc68a8d06d2b6652de3dd48dc21b5c84c586719b8a714ba728273203300a81684c16ec08eb7936e025d5144da3056f0948a80479b950db96cf888444039afc1d66de95c9c6ae2e34c2a6d6fd8996e88319a6e487cb9c4c041b3a4a321603e74a9b41e46722973233fe4f10be489412840f38dd6fa113a758dc2719fc4b4f03c5e25b22fcfe5fbe44e875cf8f1523a5e42c351bf4c2ab36ca94140659de5cb003f7496f82d5bbbba0cf765244fdc22e68362a11af9f9fcf72708f2ef49afa17a90332ea82634d088166d07c49d1e3a91726d177e2828d9b52a1cec7833e43ece7b603bceb99bb17506afe9f3da3b6776cb14f9dd6ce8eccda129d4d61002e4e3eb545038753e7a3ae530f043d1eeae3b7cc3d8b85c9dafbaefae902033b6f5b113e86ef03ed9fa6ca9d8b61a4493e47f9e1c89b56bf8f9affd70da042480f065ed240fae503fa00d686810ee91ff36880ec9945835645366736227ca6040edb826f8e42a01903da75a6ca8d91a13f4d3127447b1e2c695a52e7f6b2a373b60c1a8afd32faf2e405581e03aa231629e9a0f12b3125f26bc4a43c942e8321640de63b6f5fcb59b7400c0147080ebbe659bfd905581e03f4ab59274165d6f53d389727c64c3d217e57a0bbae9422ccc909b28e6008484cc12bc72628bbed03e37ed4af6163f332f7821b589a4bf34fb0d0752073776df81f8ed2a1fbfde15605581e033758f2d9277f657352bb6f51cae040073ec1737436c1ef0e04762306d00c1347b96ab00a132dbf05581e03a3e3ccdd0cd2ea26eb1dfe6cc95ecaffedaf79040f981c9049fcd600e00c1a00126e184902286de1f164a463cf05581e03aa499bd06d9339a4530e72cea8612d1f5817cbc384284b507a0d7eb5a00c014566342c75c703d41c78692dc4f6dc4dc53d2413e654b1ff2b365299a78297c68655d67d16cd080395e3f2b2fa8dc0eac3c7317a3a537757530967e06d5b6c6de690e0bb047a776c034314104750370ee8a693e9f24627faccb463528e35c994acee5c9d03e400542d0219bb7903d742415547643257411fbf8ab1173241550bb80064504a514b73f637ed356c0e0339b27db898d8ae707375ea17afbe03ae08bec3d6be26c9f3a91d95e4c846ed3a033bbd92382ca3ce022975f1814f623a78a749f77b9e7a681367d50b499ddd4b69036bc6702afab4c48b017d04a7484038fa6ba3452ceadf5c99fcf4f3044dc960520219ffff03fdf44b6f99d3685287da9e579ed4f49aaa6c4629bf07118949c9ad0c917e3b9703e0801a665fc76b7e8a81114f7a443dccb037d686883319b5dfb280dbb719039003ea655918424e3cc81573f176b901dea1a90016fbc29de4ef8c3ceb342fb735c9031f5b53cc8e272d7c7d6b93792933000a2288745af03a8999359dffcf06e060a503406fa3a399655df029c9f5a19e8c8846eaa636c276709775cd4d36c98948b8b003170cf15491ba62b8932f9762a57bc80d0894887cbaef4ab947f5d71218c887ba032275b571f7f8cf76f813a14f4d44e619a27f558dd407279733f0141708f6094203bbf5db8ba2865b7c8b0c3454fa279912b6e4989e90e6a326eac46701a884306b03435bef1010697925d095867f1b7abc2d8cb2f408a60579caa0e974a8a41660a603b3a1e34ec65c17f32fccf3999ae03f37754146aa073ccdddfede4351f17e2de50219ffff03c58dd55ca4dc1d906c2a4b74573ee956acbe2138844b0a3a16ad05f35ddaf4b6035208b524e1c7efadf8dfec0a5cea215404317977f1315b2475ad07727743ddac03dfb9e8598a5278af4817786ce1cd87de8ce1a17ea340b8c19df1d7d03e73edca0339e086c98648b0a28811cb4bcbfb0232624db7331702016ab377b52618c3107803e235ba4d3cd8f639537e4733d39f9561a2223f840ab01c29fa9c5f193904a75103d6d7192e9e77443a31997a7527543055715a1ac6dd9e3510eb4fd651a09180c903e5013d72e5b96ed272ae823e1b3a0c61628ed2f11743f24a91e3a59b6f2514d403790bcd22cca2b7dff62c458d8b1295e1bf924b8df6d604422bc46edc5b7018a20326fadf0266803480ebf1ec0c304d9aeb2d346475f52707e3c38d68c38d103eca03a61da85029f2dad8d34a89b278f282a115fb33599db427b99d603b41b98d3ff00385709fd18ad1b408c55081f3571f5ea811554c0ab8bf6a94072a92844ba7181c0327924a0bc4e557fcba15146e7af1b58f7913b38eb0f6959df7ff1b225cdeb9d203e7b779295dd601fa9bded28eaca12882b591f20f44612714e7492b6859b6cc26032436886f35eb853ab0f35296b970aece6d6345e58d140ed9fcace00decb213bd0219ffff03850f28d7e62c764eb960392e0b99aa147f7759a92f8729160612d5ce350ab4f103c7601fbc3e20b46eab51ea09f0bc98ec8c9d1c5102b139eb2bfbe47127e42b6003e72a777c3ecd1501ce565a2d284819de95559e9ce87ec4965a5f9286b637ef7303e46cc60d7b3cbe0fc7f5f28204ecca3c097051a6cc28724a38567d74bd5a59e603a261a6e39bce3d552bf2c76bfbfe8bfdb581c27aa8c5bfb3f81befb0091875da034eb7c54b45859cc26322e0830e5e2b012b2085646282c905dcf7d1ff05204bd40319d283fbfaee2cc0a8346f3abaebde047f2330f43cf952182e3f176e46b65ea90373657e8e070488583f4bbb3cb333e56326d4f4466698d21a698bd208d327cc1a030d9da128ac6489de32056ce621cf0af931c1ac24f1511b3e0becd9b020b138df03ae808e8471c534e0d53c4b54c0f5f5d7e747193bd2d0a45c93f2e82419e6eb1903b64386d5f43169bdd8b01b16c343fb08e141e7a1901dfbea22b87340992e392e036bb1e8b52619f5f88163fd5446595dfc9032a4d62b7b48c94b5aa174a2fb403103bf4a9f32cfa1e3f0891318c78c0333bbb134a2a8edab4822b6f774614340086003243f3b2bf3836acc3aaaed69448fbd2b189004031d94377cf8559b80663bdb62031fb7994c1c2513554ecd776505d66c125a6b67a74c8a950c38b40f56421f318c03956628e00d95b4a97be8c4f391aa10191ea66c385e518bedf2e5c61700e3fd4e035579ec2218b62eb1c538a6a296fc9c931f0f2b03e305a0826b888bd988bdad8d034c50b60e66749dc5166612238a84036137cd35331be29ec8c1bfe3209ea6e9c3032f9fe27e4e557cbc9b024215f5d11f0d1581a728fef9ebac58aa882b436c461e036ce29655d7ffa1ba391ac02d155d75812fc20766ca636dc618a5deeae12748b6037b0725aa3959940c3ce798813dfab9d0c3e9331927ff685b6e00e8446b435a0c035f648b937b58522eaacf0c7fa83adaf12a0b566b7423237f5cc072476fd9e27f0305cd75996727a52835e2d57498bac6fd25e09a3272bbbdee62939bfc536ee97003ce8ab8c2745b1699d2dc46edb7cd36be379e4c75ac9513a8e8a33efb9e04461503496c035be829a6fd305fd1fd6e2690b70c78971d3c80624f2ac06c87dad0d3dd03d2be17b20531b646ea1ff6770e16d825fac4b7ce53baaf643325c1542f3f726b037d3fd393f3f3505625bad9284983ec2130b09c24b54d9087e28fd69e41af428003023fdb24e514010b2deeffc985eaaa88bdd279ee0e3503e405984f677bd08be80387bcdbed0ddf0a8d7b957d7a29d70f2b24894cd00b90b341a7fcb38bd5e7194603ba6e726fc2d9976c801d998bb079d1f8f94d5e3fb6e6fe9703ced22f0b651d8a0359ec62e3ec2aa3835ee05bf8930249a8892b9dd70f3e90ae4191e29f6e0f9cf703c779cb7b4d38e7da4ba01d7e9f8858b67a02366488a784be1e79e1386e46f648030993e120b6301133c00e08c578f44a5e2d4428220376d1911ece10255fb8b20e032cd9b6180f9faf37c60366dd8586799bf4bd4910b4ca4c751ee9fcc4927eb42403d55ec74ddfebf42b7b0c9381e3c5465e442f8f83cec328cd496194837499587003dad371e57d1763d4f12ce0981e42bcc23e6ebc1c76be2894f2a7b1a96902901803d5075df4d618583079454bb2d2c930f7f84bb1b4ff80b912a56af9a85b29c1cb03505294cbda336eb566d84ec6810b0f7f83fa60fbc806e366bcecdc8d4b59dd27034b3f2a152f2ec059d26472051f3259176a1be6e12d3c100bd9b942849becb3e9033e716c373ec200a3fae8b9e4c8587cceb27c54befa8f687ce14e11a1529dcffe05581e030ebb500994f027ea4d6940b9fcfe84b0e4d7e9e6fa3890e32b692f50c007011bffffffffffffffff0331ead98fde8c20a6fcf7f7cea6e28a8e2edb64703478bd6f33659fed54cf3813035598bbd6c3e72a027bdf68fe631a46ec367d4e695f16cd625bb09db7ce9cce6c05581e033c3d8c6191d82e7be43e5ed58ac18ce36c99785872d48ea801b490d410040305581e037cd7a89ed8f81fac6da36fe8a35e2bc0a6dda237f5a2dd8e5b726e05c0040105581e0345a9e25f77e4961a5671338fcac037d89a160fd496e54065bdeca8ab300c0245f7fb5fa95804594cb66080604052600436101561004c575b361561001957600080fd5b32331461002257005b60046040517f1b10b0f9000000000000000000000000000000000000000000000000000000008152fd5b60003560e01c806307e5c0d21461384257806309bfd3751461365457806310c3405f146135de5780631c6eced51461358e57806320b045541461064157806323a69e751461064157806326367361146134655780632636f7f81461340757806326678dcd1461335d5780632c8958f6146106415780633dd5cfd1146131695780633e88c8ab146130d6578063454c96c214612f855780634b02d2f614612f1f5780634b64e49214612ebf5780634eb0364814612cbb5780635109d8b6146128cb57806354fd4d5014612891578063654b6487146106415780636ae40711146126b15780636b4be0b9146126585780636c4eca27146126085780636f5ec5ce146125ba57806383197ef01461252157806385db1a591461232b578063860a32ec14611d3257806398aed10514611bc8578063a1dab4eb14610641578063a87a1ae8146117db578063bd46a34314611422578063bdb69421146112e9578063c028b46d14611130578063c9e75c4814610f5c578063cd211e1e14610efe578063d6bdbf7814610e06578063d9c4535714610dd3578063e2e1d3c614610bdf578063e413f48d14610b69578063ee63c1e5146109b6578063ef0bf1d4146107a1578063ef35c31f1461075e578063f2fa6b661461070b578063f3e98cb3146106b1578063f65ca39c14610646578063fa461e3314610641578063fa483e7214610641578063fbb7cd06146104845763fd53121f0361000e573461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008060003680602414610471578060381461045e5780602c1461044a57604014610433575b64e8d4a51000808302918061041b575b5050906102d281613be3565b15610341575b604051927f9599127600000000000000000000000000000000000000000000000000000000845260048401526024830152600080604484827389b78cfa322f6c5de0abceecab66aee45393cc5a5af11561033757602090604051908152f35b503d6000823e3d90fd5b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152730a59649758aa4d66e25f08dd01271e891fe5219960048201526000602482015260206000604473a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489382855af190816103f8575b501580156103e8575b156102d8575b60046040517f19be9a90000000000000000000000000000000000000000000000000000000008152fd5b506103f281613be3565b156103b8565b90503d156104135750600160005114601f3d11165b386103af565b3b151561040d565b90670de0b6b3a76400009184020204900338806102c6565b50505060043560601c60203560183560c01c6102b6565b505050503060043560c01c600c35906102b6565b5060043560601c925060183591506102b6565b5030925060043591506102b6565b600080fd5b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760253560601c602060006101c4307f000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00180359060043560f81c60408116610610575b6080166105e2575b50861580156105d2575b6040519788947f52bbbe2900000000000000000000000000000000000000000000000000000000865260e0600487015230602487015287604487015260648601528660848601528660a48601524260c486015260053560e48601528661010486015261012485015260393560601c6101448501528161016485015260c0610184850152856101a485015202905af1156105c9576020600051604051908152f35b3d6000823e3d90fd5b6105dd82848a6138f7565b610529565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec013560601c92508761051f565b367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc01803560601c94509150610517565b613877565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57602061067f6145f3565b6106876141bc565b91909115610699575b50604051908152f35b6106ab91506106a66145f3565b6141af565b82610690565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f576106e86141bc565b156106f9575b602090604051908152f35b5060206107046145f3565b90506106ee565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57602061075660483560383560801c60183560043560601c613fe4565b604051908152f35b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f576107956141bc565b505060206107566145f3565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57600080600036806024146109a857806038146109955780602c146109815760401461096a575b662386f26fc100008083029180610952575b50509061081481613b73565b15610879575b604051927f95991276000000000000000000000000000000000000000000000000000000008452600484015260248301526000806044848273204659b2fd2ad5723975c362ce2230fba11d39005af11561033757602090604051908152f35b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081527379a0fa989fb7adf1f8e80c93ee605ebb94f7c6a560048201526000602482015260206000604473056fd409e1d7a124bd7017459dfea2f387b6d5cd9382855af1908161092f575b5015801561091f575b1561081a5760046040517f19be9a90000000000000000000000000000000000000000000000000000000008152fd5b5061092981613b73565b156108f0565b90503d1561094a5750600160005114601f3d11165b846108e7565b3b1515610944565b90670de0b6b3a7640000918402020490038380610808565b50505060043560601c60203560183560c01c6107f6565b505050503060043560c01c600c35906107f6565b5060043560601c925060183591506107f6565b5030925060043591506107f6565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760043560001a6001811660193560601c602d600060808516610b5c575b8015610b55575b6040851615610b29576014823560601c9201935b604051946020871691601088169383600014610ad3577f24b31a0c0000000000000000000000000000000000000000000000000000000088525b6004880152602483880101523590604403850152600014610ab05750608060648301526020608483015260a48201526040600060c45b838260053560601c5af1156105c9576020808360051b1651600003604051908152f35b606483015260a06084830152602060a483015260c48201526040600060e4610a8d565b8415610b01577f1f18b371000000000000000000000000000000000000000000000000000000008852610a57565b7f128acb08000000000000000000000000000000000000000000000000000000008852610a57565b8373fffd8963efd1fc6a506488495d951d5263988d259492949215610a1d576401000276a49250610a1d565b5030610a09565b503560601c604190610a02565b3461047f5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57610ba06138d4565b5073ffffffffffffffffffffffffffffffffffffffff6024358181160361047f5760443590811680910361047f57610bdd90606435903390613ce7565b005b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760043560601c60183560601c602c3560601c91604135927fa6ec335f0000000000000000000000000000000000000000000000000000000060005260206000600481855afa15610dc757600092836102a4928194825191610c868973ffffffffffffffffffffffffffffffffffffffff8516876138f7565b848452836020526034600c20908085526034600c20926040519a8b977fd44f70b4000000000000000000000000000000000000000000000000000000008952604060048a015261024060248a0152600360448a015260648901528660848901528660a489015260403560f81c600a0a0260c48801528560e48801527f07000000000000000000000000000000000000000000000000000000000000001761010487015281610124870152826101448701527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081610164880152856101848801527f0100000000000000000000000000000000000000000000000000000000000000176101a4870152846101c4870152846101e48701526102048601528361022486015260026102448601526102648501526102848401525af1156105c957005b6040513d6000823e3d90fd5b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57610bdd36614695565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760183560601c8015610ef7575b7f70a0823100000000000000000000000000000000000000000000000000000000600052806004526020600060248160043560601c5afa15601f3d111517610ecd5760209060005180913014610e9b5750604051908152f35b610ea6575b80610690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610ea0565b7f0d6593b90000000000000000000000000000000000000000000000000000000060005260046000fd5b5030610e42565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f576020610756604835605e3590604a3560601c908060011a9060001a60383560801c60183560043560601c614041565b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008060043560b01c600e3560101c367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0013582805b6110e857506000825b611004578584610fda57602090604051908152f35b60046040517fa6d73b28000000000000000000000000000000000000000000000000000000008152fd5b9162ffffff81169460ff90878287169283146110d5575081156110b4578061103161104292848702613fda565b928391039580890390602c0161485e565b5080158015906110ac575b611066575b50505b60181c93849360081c939294610fc5565b87919293970180911161107d579503908680611052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50600061104d565b9390508415610fda5782816110ce92880390602c0161485e565b5050611055565b90946110ce925080880390602c0161485e565b9293919260ff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018101611126575b5060081c8094939294610fbc565b9092019186611118565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008060043560001a600181169160053560601c90601992600281166112dd575b6004166112ce575b80156112c7575b604051927fd66940270000000000000000000000000000000000000000000000000000000060005260a08460046000865afa156112bd578360008094819460a4946080850151908a6001146112ac576040860151916060870151915b670de0b6b3a764000091820390350204809201910204987f022c0d9f00000000000000000000000000000000000000000000000000000000855260011461129b578260048501528860248501525b6044840152608060648401528160848401525af1156105c9575081811061126557602090604051908152f35b604491604051917f064a4ec600000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b886004850152826024850152611239565b6060860151916040870151916111eb565b833d6000823e3d90fd5b503061118f565b5060148201913560601c611188565b92359450603992611180565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f573033036113f857602060008160006040517f10c3405f0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd43601602c60048301377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd836019082305af1806113ee575b156113b157604051908152f35b6113e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036013560183560601c60043560601c6140fd565b610756565b60005191506113a4565b60046040517ff8d8ab0e000000000000000000000000000000000000000000000000000000008152fd5b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57306004357f000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00180359060f884901c90604082166117ab575b6080821661177d575b50604051946101e08560f31c16600501356116c4575b90859392917f945bcec9000000000000000000000000000000000000000000000000000000008552600060048601526101209081602487015261014090600f841660e002820160448801523060648801526000608488015260a4870152600060c48701526002600f84160160051b600f841660e002010160e4860152426101048601526001600f83160160051b850101600f82166101248601526000905b600f8316821061166957505091839183600f6101e097951660e002840190610144916001600f83160183820152610164906001600f84160160051b90828b8a60f31c166005019101377f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6002600f84160160051b600f841660e002018701916001600f85160185840152820152888760f31c1690610184369101376002600f82160160051b90600f60028183160160051b911660e00201010195869460f31c16600501351502905af1156105c9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06020913d010151600003604051908152f35b60f387901c6101e01660c080840291909101600584811b8b810161014401929092520135600483015260248201839052600183016044830181905292158502606483015260a06084830152600060a483015288965001611568565b6116db8684866101e08960f31c1660050135613c9b565b6114ca577f095ea7b30000000000000000000000000000000000000000000000000000000086528360048701526000602487015260206000604488826101e08a60f31c16600501355af1600160005114601f3d11163d15171615611755576117508684866101e08960f31c1660050135613c9b565b6114ca575b6004867f3e3f8f73000000000000000000000000000000000000000000000000000000008152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec013560601c9450856114b4565b50367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc01803560601c93506114ab565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57604051610160810181811067ffffffffffffffff821117611b99576040526000815260006020820152600060408201526000606082015260006080820152600060a0820152600060c0820152600060e08201526000610100820152600061012082015260006101408201527f796da7afec2fd46deab5d20e7c9b8e8917be952ec0ffa178ab44a7a3b2094fd36000527f245c96850000000000000000000000000000000000000000000000000000000060205260208160046000813560601c5afa506020808201600480803560601c5afa5060206040820160046008813560601c5afa506020606082016004600c813560601c5afa50602060c0820160046010813560601c5afa50602060e0820160046014813560601c5afa506020610100820160046018813560601c5afa50602061012082016004601c813560601c5afa5060206101408201600482813560601c5afa5061196581613dc2565b60a0830152608082015260c08101516003811015611b6a57611a7a57806101006119946119b293602c35613efe565b915b60e0810151670de0b6b3a7640000928392015101019102613fda565b6119c9602c3560043560601c60183560601c6138f7565b6040517fe67ce7060000000000000000000000000000000000000000000000000000000081528160048201527f800000000000000000000000000000000000000000000000000000000000000060248201526060604482015260006064820152602081608481600060043560601c5af18015610dc757611a4f575b602082604051908152f35b602090813d8311611a73575b611a658183613d81565b8101031261047f5781611a44565b503d611a5b565b60c0810151906003821015611b6a576119b291600103611ad457610100611ac8611aa48351613f91565b60808401516040850151670de0b6b3a7640000602087015193602c35020491614746565b60408301510391611996565b61010060408201516080830151900360a08301516060840151900383602c359180831115600014611b595750611b409250606001510180611b158551613f91565b60a0860151606087015190602088015190611b4683670de0b6b3a76400008099819885839602613fda565b0261472b565b8202049084030193030204020491611996565b611b639203613efe565b0191611996565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008060043560b01c600e3560101c367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0013582805b611cea57506000825b611c46578584610fda57602090604051908152f35b9162ffffff81169460ff9087828716928314611cd757508115611cb65780611031611c7392848702613fda565b508015801590611cae575b611c97575b50505b60181c93849360081c939294611c31565b87919293970180911161107d579503908680611c83565b506001611c7e565b9390508415610fda578281611cd092880390602c0161485e565b5050611c86565b9094611cd0925080880390602c0161485e565b9293919260ff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018101611d28575b5060081c8094939294611c28565b9092019186611d1a565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb9360160243560e81c1161230157600435367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0013510156122f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601355b604051600091828260243560e81c6027823760243560e81c810193849382519160028360f01c9401966180008516158317611ef6575b50505050505050506020906004357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601351180611ec6575b611e5c57604051908152f35b611ebf6004357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0360135037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb960243560e81c36030160243560e81c60270161485e565b5050610756565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb9360160243560e81c10611e50565b309161400086166122e6575b5060009061200086166122d4575b886118008716612159575b50600097610200871661214a575b60038660f71c1690818060001461214257600114612133575089519901988160208260188960f41c16610100031c8c01011161210b57849060188760f41c16610100031c8a01525b8360408716612101575b508089116120d9574782116120b15791888092816101009503925af1801561209f57600114612021575b505061020016611fba575b8080808080611e17565b15611ff9578210611fcc578080611fb0565b6024917f9a4464750000000000000000000000000000000000000000000000000000000082526004820152fd5b6004827f2dd205a1000000000000000000000000000000000000000000000000000000008152fd5b919550903d60018716150215612094575060e0915060ec1c163d602082011161206c578201519260019060108116612060575b610200905b9086611fa5565b60009490940393612054565b6004837f0310a487000000000000000000000000000000000000000000000000000000008152fd5b610200915094612059565b505050602081166112bd578580611fa5565b6004897ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b6004897f31560a0e000000000000000000000000000000000000000000000000000000008152fd5b9091019083611f7b565b60048a7fc7009900000000000000000000000000000000000000000000000000000000008152fd5b90506020915084815201611f71565b505050611f71565b98975060208851980198611f29565b986014815160601c910199849061040089166122c2575b508961100089161561224b577f095ea7b300000000000000000000000000000000000000000000000000000000905260048a015260248901908582526020600060448c82855af1600160005114601f3d11163d151716156121d5575b50505b8a611f1b565b600082526020600060448c82855af1600160005114601f3d11163d151716156122215760448a6000809389602096525af1600160005114601f3d11163d15171615612221578a806121cc565b7f3e3f8f730000000000000000000000000000000000000000000000000000000060005260046000fd5b80600060209481947fa9059cbb000000000000000000000000000000000000000000000000000000006044955260048401528960248401525af1600160005114601f3d11163d1517166121cf577f90b8ec180000000000000000000000000000000000000000000000000000000060005260046000fd5b9a602891505160601c9a01998c612170565b9790506010815160801c910197611f10565b9150966016905160601c91019689611f02565b600435611de1565b60046040517fdedc8335000000000000000000000000000000000000000000000000000000008152fd5b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008080366024811461251457806038146125025780602c146124ef576040146124d8575b662386f26fc10000810491806124b8575b5061239a81613a93565b15612401575b50604051917f8d7ef9bb00000000000000000000000000000000000000000000000000000000835260048301528060248301526000806044848273204659b2fd2ad5723975c362ce2230fba11d39005af11561033757602090604051908152f35b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273204659b2fd2ad5723975c362ce2230fba11d3900600482015260006024820152602060006044736b175474e89094c44da98b954eedeac495271d0f9382855af19081612495575b5015908115612484575b506103be57826123a0565b61248e9150613a93565b1583612479565b90503d156124b05750600160005114601f3d11165b8461246f565b3b15156124aa565b916124d19192670de0b6b3a76400009081019102613fda565b9083612390565b50505060043560601c60183560c01c60203561237f565b505050503060043560c01c600c3561237f565b505060043560601c915060183561237f565b503092505060043561237f565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009f8102b1bb05785bad2874f2c7b1aaea4c6d976a1633036125905730ff5b60046040517f47bc7cc8000000000000000000000000000000000000000000000000000000008152fd5b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760206107566125f66145f3565b6125fe6141bc565b50506106a66145f3565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f573033036113f8576020602c356107568160183560601c60043560601c613ce7565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760043560601c80156126aa575b806020913180913014610e9b5750604051908152f35b5030612694565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57601d60053560e01c60093560601c60043560001a30600782901c60208316612883575b60009583601016612877575b357f0902f1ac022c0d9f6d9a640a70a0823100000000000000000000000000000000958660005260406000600481895afa15610dc7578215918260051b517f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08760021c16519160088816612853575b6103e893848111612847575b84030292839102019102049560405197808810612813575087528360061c6001168060011461280757156127fc575b850260048701528402602486015260448501526080606485015260006084850181905291829160401660a40390859083905af11561033757602090604051908152f35b6004909601956127b9565b506008909601956127b9565b88604491897f064a4ec600000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b633b9aca00945061278a565b60006024600c6020938d84528c60105260601c5afa15610dc757806000510361277e565b8035965060200161270f565b6031953560601c9150612703565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57602060405160018152f35b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f576004358060001a908160071c73ffffffffffffffffffffffffffffffffffffffff8260381c16601d93309481604016612cae575b60009180602016612c9f575b600190818160041c16968792600094600094612c7e575b35947f0902f1ac022c0d9f70a0823100000000000000000000000000000000000000009586600052604060006004818c5afa15610dc7576000519360086020519616612c38575b63ffffffff620f42409160d81c1682020490039460009a9283600114612a8f57505050600014612a4d575b50505060405191808610612a19575092600080949381608885829760a49752600481019a868c97158c0260088401528b02602883015260488201526080606882015201525af11561033757602090604051908152f35b82604491877f064a4ec600000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b829397506000929192906000938880600114612a835715612a78575b505001910204938680806129c3565b915092508980612a69565b50935090508980612a69565b90829693508094670de0b6b3a76400009693969788809202049302049186808480020481838002040181858402040204936000916000948d80600114612c2c5715612c20575b505085888d8981600114612c12575015612c07575b505001928293600090888181818002040204915b60ff8110612b3e575b50505050500390879081600114612b2c57506000036129c357020494508680806129c3565b939498505090500204938680806129c3565b868a888002048b898602048c808b84020486020401908c8783109182600114612bea57505015612bc9575b5087818792821180600114612bae5715612b88575b5050905b01612afe565b03118581600114612ba6575015612ba157848738612b7e565b612b07565b919050612b82565b509003118581600114612ba6575015612ba157848738612b7e565b978691988c878782600381878002048a020204019203020490039790612b69565b89949b939250816003899289020204019188030204019790612b69565b909102048588612aea565b939192505002048588612aea565b90945091508e80612ad5565b50945091508e80612ad5565b906000602460086020938b84528d600c5260601c5afa15610dc75760008a80600114612c755715612c6e575b6000510390612998565b5084612c64565b50849050612c64565b93509350823593600260ff8660f81c600a0a9660f01c16600a0a9401612951565b9091506020823592019061293a565b3560601c9450603161292e565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57600080803660248114612eb25780603814612ea05780602c14612e8d57604014612e76575b809180612e5f575b50612d2181613b03565b15612d86575b604051927f95991276000000000000000000000000000000000000000000000000000000008452600484015260248301526000806044848273961ae24a1ceba861d1fdf723794f6024dc5485cf5af11561033757602090604051908152f35b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152737bbd8ca5e413bca521c2c80d8d1908616894cf21600482015260006024820152602060006044738e870d67f660d95d5be530380d0ec0bd388289e19382855af19081612e3c575b50158015612e2c575b15612d275760046040517f19be9a90000000000000000000000000000000000000000000000000000000008152fd5b50612e3681613b03565b15612dfd565b90503d15612e575750600160005114601f3d11165b84612df4565b3b1515612e51565b670de0b6b3a7640000908202048103915083612d17565b50505060043560601c60183560c01c602035612d0f565b505050503060043560c01c600c35612d0f565b505060043560601c9150601835612d0f565b5030925050600435612d0f565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57612ef16138d4565b5060206107567fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036016146f1565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5600c42060161047f576020600460003760206000f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760405180817ff1c5e0140000000000000000000000000000000000000000000000000000000082935260043560601c600482015260183560601c602482015260a0604482015264ffffffffff606482015260016084820152602c3560c01c908160a482015260308092029160009260005b8181106130c0575060c47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036013593019360005b82811061308c5786602081808903813473c537e898cd774e2dcba3b14ea6f34c93d5ea45e15af1156105c95760209051604051908152f35b60348101358652605481013560801c8086028390046020880181905289985060409097019690950394909103908301613054565b869550605481013560801c909401938201613020565b3461047f5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760043573ffffffffffffffffffffffffffffffffffffffff8116810361047f5760443567ffffffffffffffff80821161047f573660238301121561047f57816004013590811161047f573691016024011161047f57610bdd90602435903390613ce7565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57600080803660248114613350578060381461333e5780602c1461332b57604014613314575b64e8d4a51000810491806132f4575b506131d681613a23565b1561323d575b50604051917f8d7ef9bb0000000000000000000000000000000000000000000000000000000083526004830152806024830152600080604484827389b78cfa322f6c5de0abceecab66aee45393cc5a5af11561033757602090604051908152f35b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081527389b78cfa322f6c5de0abceecab66aee45393cc5a600482015260006024820152602060006044736b175474e89094c44da98b954eedeac495271d0f9382855af190816132d1575b50159081156132c0575b506103be57826131dc565b6132ca9150613a23565b15836132b5565b90503d156132ec5750600160005114601f3d11165b846132ab565b3b15156132e6565b9161330d9192670de0b6b3a76400009081019102613fda565b90836131cc565b50505060043560601c60183560c01c6020356131bd565b505050503060043560c01c600c356131bd565b505060043560601c91506018356131bd565b50309250506004356131bd565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f573033036113f85760043560601c60183560601c602c359180156000146133f95750600080808481945af16133be613f33565b50156133cf57602090604051908152f35b60046040517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b82602093926113e992613ce7565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f576134396138d4565b50610bdd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036016146f1565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760007f27a9b424000000000000000000000000000000000000000000000000000000006018351860e01c15613564575b600060405180927f0531696e6368000000000000000000000000000000000000000000000000000060277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe880360160188637368501906004360190820152015281602d36019160043560601c5af1156105c95760206040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff403601358152f35b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff203601356134c4565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f573033036113f8576020602c356107568160183560601c60043560601c6138f7565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f573033036113f8576004356136427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036016146f1565b81811061126557602090604051908152f35b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008080366024811461383557806038146138235780602c14613810576040146137f9575b8091806137d8575b506136ba81613995565b15613721575b50604051917f8d7ef9bb00000000000000000000000000000000000000000000000000000000835260048301528060248301526000806044848273961ae24a1ceba861d1fdf723794f6024dc5485cf5af11561033757602090604051908152f35b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273961ae24a1ceba861d1fdf723794f6024dc5485cf600482015260006024820152602060006044736b175474e89094c44da98b954eedeac495271d0f9382855af190816137b5575b50159081156137a4575b506103be57826136c0565b6137ae9150613995565b1583613799565b90503d156137d05750600160005114601f3d11165b8461378f565b3b15156137ca565b6137f2919250670de0b6b3a7640000908101908302613fda565b90836136b0565b50505060043560601c60183560c01c6020356136a8565b505050503060043560c01c600c356136a8565b505060043560601c91506018356136a8565b50309250506004356136a8565b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57602061075636614695565b3461047f576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126138d1576138c66004356024358181136138c9575b503360443560240135613ce7565b80f35b9050386138b8565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361047f57565b9190613904828285613c53565b1561390e57505050565b6020600060446040517f095ea7b300000000000000000000000000000000000000000000000000000000815284600482015282602482015282875af180613975575b15928315613962575b5050506103be57565b61396c9350613c53565b15388080613959565b503d1561398c57600160005114601f3d1116613950565b823b1515613950565b90604051917f095ea7b300000000000000000000000000000000000000000000000000000000835273961ae24a1ceba861d1fdf723794f6024dc5485cf60048401526024830152602060006044736b175474e89094c44da98b954eedeac495271d0f9482865af19182613a055750565b9091503d15613a1d5750600160005114601f3d111690565b3b151590565b90604051917f095ea7b30000000000000000000000000000000000000000000000000000000083527389b78cfa322f6c5de0abceecab66aee45393cc5a60048401526024830152602060006044736b175474e89094c44da98b954eedeac495271d0f9482865af19182613a055750565b90604051917f095ea7b300000000000000000000000000000000000000000000000000000000835273204659b2fd2ad5723975c362ce2230fba11d390060048401526024830152602060006044736b175474e89094c44da98b954eedeac495271d0f9482865af19182613a055750565b90604051917f095ea7b3000000000000000000000000000000000000000000000000000000008352737bbd8ca5e413bca521c2c80d8d1908616894cf2160048401526024830152602060006044738e870d67f660d95d5be530380d0ec0bd388289e19482865af19182613a055750565b90604051917f095ea7b30000000000000000000000000000000000000000000000000000000083527379a0fa989fb7adf1f8e80c93ee605ebb94f7c6a56004840152602483015260206000604473056fd409e1d7a124bd7017459dfea2f387b6d5cd9482865af19182613a055750565b90604051917f095ea7b3000000000000000000000000000000000000000000000000000000008352730a59649758aa4d66e25f08dd01271e891fe521996004840152602483015260206000604473a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489482865af19182613a055750565b92916044602092600092604051917f095ea7b30000000000000000000000000000000000000000000000000000000083526004830152602482015282865af19182613a055750565b92600060209481946044947f095ea7b3000000000000000000000000000000000000000000000000000000008552600485015260248401525af1600160005114601f3d11163d15171690565b916044602092600092604051917fa9059cbb0000000000000000000000000000000000000000000000000000000083526004830152602482015282855af19081613d5e575b5015613d3457565b60046040517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b90503d15613d795750600160005114601f3d11165b38613d2c565b3b1515613d73565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b9957604052565b906000808060c0850180516003811015613ed157613ded575050505061014061012083015192015190565b80516003811015613ed157600203613e3f57505050506040820151613e34670de0b6b3a76400006101208501928351900385510204606085019460208651910151906147be565b925180915193030190565b949193929451906003821015613ea45750600114613e5a5750565b80935060609192500151613e98613e8661014085019283519003670de0b6b3a764000086519102613fda565b604085019460208651910151906147be565b92518091519303019190565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b90613f2d90613f0d8151613f91565b90670de0b6b3a76400006080820194602086519301519302049080614746565b90510390565b3d15613f8c573d9067ffffffffffffffff8211611b995760405191613f8060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184613d81565b82523d6000602084013e565b606090565b8015613fab576ec097ce7bc90715b34b9f10000000000490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8115613fab570490565b9092919280831115613ffb57820392831180614002575b5050905090565b61400d575b80613ffb565b82614039917f000000000000000000000000b01f8f528702d411d24c9bb8cc0e2fff779ec013906140fd565b038038614007565b9290959493958086111561405a57850395828711614064575b5050505050905090565b60009173ffffffffffffffffffffffffffffffffffffffff8616156140f45761408f92508702613fda565b80955b038181116140bf575b5084116140ab575b80808061405a565b6140b69184916140fd565b038038806140a3565b90936140ec827f000000000000000000000000b01f8f528702d411d24c9bb8cc0e2fff779ec013856140fd565b03923861409b565b50508095614092565b9190918161410a57505050565b73ffffffffffffffffffffffffffffffffffffffff908181168015908115614191575b501561418357508147106141595760009283928392839216611388f1614151613f33565b50156133cf57565b60046040517ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b9061418f931690613ce7565b565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9150143861412d565b9190820391821161107d57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0360135906000809260405190817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc890813601601882373681019182019281519060028260f01c930195618000841615821761423e575b505050505050509190565b309061400085166145e1575b508961200085166145d1575b8761180086166143bd575b508a96610200861696876143ae575b60038660f71c16908582806000146143a55760011461437a575050895199019860188660f41c16610100031c890181602082011161210b578490525b8360408716614370575b508089116120d9574782116120b15791888092816101009503925af1801561435557600114614304575b5050506142f2575b8080808080614233565b8415611ff9578210611fcc57806142e8565b90929550600182989216153d0260001461434b57505060ec1c60e0163d602082011161206c5782015192601060019616614341575b3880806142e0565b9260000392614339565b9150955092614339565b505050602016614367573880806142e0565b823d87823e3d90fd5b90910190836142b6565b909252507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8016142ac565b505050506142ac565b98975060208851980198614270565b976014815160601c910198839061040088166145bf575b508c8961100089161561450f577f095ea7b3000000000000000000000000000000000000000000000000000000009150527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc8801527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec87018481528c600160208260448d82885af1915114601f3d11163d15171615614477575b50505b38614261565b8c81528c600160208260448d82885af1915114601f3d11163d151716156144e7576044898e602094888295525af160018c5114601f3d11163d151716156144bf57388061446e565b60048b7f3e3f8f73000000000000000000000000000000000000000000000000000000008152fd5b60048d7f3e3f8f73000000000000000000000000000000000000000000000000000000008152fd5b81602094604493947fa9059cbb0000000000000000000000000000000000000000000000000000000084527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc8d0152887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec8d01525af160018c5114601f3d11163d1517166144715760048b7f90b8ec18000000000000000000000000000000000000000000000000000000008152fd5b99602891505160601c990198386143d4565b506010875160801c970196614256565b96601691505160601c9601953861424a565b60043560601c80156146905760206000602460405180947f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa156105c9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03d01614668575060005190565b807fb11b97620000000000000000000000000000000000000000000000000000000060049252fd5b504790565b60043560101c907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001356000825b6146cd5750905090565b62ffffff8316916146e4918084039060220161485e565b509160181c9190826146c3565b60243560101c90356000825b6147075750905090565b62ffffff83169161471e918084039060420161485e565b509160181c9190826146fd565b6147358282613fda565b918202146147435760010190565b90565b909161474393670de0b6b3a76400009283818302040291836147688685613fda565b92810395860204910190818110156000146147b05703614795836001935b8660021b020482800201614823565b91156147a85701915b60011b910261472b565b90039161479e565b900361479583600093614786565b9061481c90827ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000061481061480996670de0b6b3a764000080988195828080958a020460021b0261472b565b0102614823565b019160011b910261472b565b8201020490565b600281116001146148375760010160011c90565b908160018082811c01915b84831061484e57505050565b9193508382048401811c91614842565b92909160009360009384604051918083948437820191805160028160f01c9201956180008316158117614895575b50505050505050565b30956140008416614c6d575b5083956120008416614c5b575b876118008516614ac5575b50849661020085169687614ab6575b60038560f71c168080600014614aaf57600114614aa3578a519a019960188660f41c16610100031c8a01816020820111614a7b578490525b8360408716614a71575b50808a11614a4957478211614a215791898092816101009503925af18015614a0557600114614987575b50505050614947575b808080808061488c565b8315611ff9578410614959578061493d565b80847f9a44647500000000000000000000000000000000000000000000000000000000602493526004820152fd5b90929850600182989216153d026000146149fa57505060ec1c60e0163d60208201116149d257830151956010600196166149c7575b505b38808080614934565b9590950394386149bc565b6004847f0310a487000000000000000000000000000000000000000000000000000000008152fd5b975095506149be9050565b505050602016614a1757808080614934565b83903d90823e3d90fd5b60048a7ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b60048a7f31560a0e000000000000000000000000000000000000000000000000000000008152fd5b909101908361490a565b60048b7fc7009900000000000000000000000000000000000000000000000000000000008152fd5b50838152602001614900565b5050614900565b989750602088519801986148c8565b976014815160601c91019882906104008716614c49575b508688611000881615614bd7577f095ea7b30000000000000000000000000000000000000000000000000000000091505260048801526024870183815260208760448a82865af16001885114601f3d11163d15171615614b40575b50505b386148b9565b86815260208760448a82865af16001885114601f3d11163d15171615614baf5760448888602094878295525af16001865114601f3d11163d15171615614b87573880614b37565b6004857f3e3f8f73000000000000000000000000000000000000000000000000000000008152fd5b6004877f3e3f8f73000000000000000000000000000000000000000000000000000000008152fd5b81602094604493947fa9059cbb00000000000000000000000000000000000000000000000000000000845260048401528760248401525af16001865114601f3d11163d151716614b3a576004857f90b8ec18000000000000000000000000000000000000000000000000000000008152fd5b99602891505160601c99019838614adc565b9695506010865160801c9601966148ae565b9550956016905160601c950195386148a156fea26469706673582212206df7261df7b31387b2be636c0fc85ee66cb1a80ef09fb56e633d91c95f77379564736f6c634300081300330605581e03d7b54761dbe09cbb841152f6eb08614ccb124d2cbebab3822be9d8aaf00f014101194cb605581e03cc0184afe0034863a238fe94437c4d136c09af460d753e21486acb92400c024702ebd93e71010a021971f90391066bae96a70484e2fedabf910cd0846d475f99cc03d45956b5898eff3e21ac03569f430c684a48a658aaba8e43fe07f47d7b54f3e5b67846987b32da96562b7403b0b005b8f38d9ad72084cc07f6e3b307508dd18287bca378c5c19a67d416783e036c47b8294f237cf6064f3c230d8b0b006d30cade1fe4d85ed16d9b4e5a3b250a0219ffff03c7631e881e42c943f78b2e989a721e716793d30631e2b704818d046438ab370b0219ffff03a487711a122a0522f3e05b43c56f9456bc99875e91c102f4ff9d8f3c99a59d5103d198ce96ce479c054d0dcb1535658e1bcd824c08468c7e4ed1f93feb9b013c7d0391a56762cf112bbb3cb59dcae5b9cce8fca15e513a2590bc97dc36ff5cd25b9603a8c0c4ffa0487876a44136eb674680de36d428ccca0e6e44c2d2029904e9f4290305c0c48bac71c578b70d828b17e3a12f4fc294028aefa93423d5268f9fcc8ec503e4b4c05a73845c1e908155f57d73b57a7baf4eaf13e0e82da585083e0fa1f1bc031a4206463d2875c988aa6888c43c70e1cd2bd0c786e48c535f829493fc960037038ae68374fb01fa15045e87be7ab85ecd241e15eff1eeb814a8a2c5973e6ee85703eb976b4d85ef2d99babe31c0c5a7b1f3577a4b7cf581e47514888cc80392ae440219ffff0353c4dd3840a736e1f4c4bcd94f1eac5fe405762dd0e932c196eb8653eac0757203458638b63b59203c03e94cac31005a2fd9d8c6cf9083995a41f3614142b23c2203418a9a0e8d78198080b52b04d3a34354eafb0b4e8e35113eb37a98dcf1e30a3c034e8feb576a839012b51ed30c13df3967fcf4411d0c8abefae187a917ed1a3a7703d120447a7dc753faadcba6017c321270caef7523b4af8b6903cf6504d90c6f2c03b3c2e064725f9253000087d07c9af91b7e46ae61ac34e2b1b2e8e9a16f41b3bc03c0c2b5a10d209a0a9a7aeac3f5c4fd39b3bec2e646fa8d8c7f6e7a8248dc8da9035cd75346a5bcee018e347c65be773c1fbaf805b98438fd0603de1c00103a01bd05581e03fa0c7d537f7bc393a0a59df6d7b2dd668e8bcbfbc99ecba6053d68c3d00c03470159d3734edb70035674e1a4687e6c442e17f73c19b00c5a9b5d2427f3a35f2eaa2b4b8aa4b6105703e239de442848fe1bad30df5f9370ae867d2740a55f5809e9db387737735f370605581e03165c9f154296ab3dcab029d097edf7531bf3eae2230af9d7299b0d1a5007011bffffffffffffffff03435908a6c27c97a668382d7d786a72ed85771175e81924b7d7f74695271f9c990344fa57fa178220e4f092f88247ca397f94e9ef588985602430352bac134e0d7705581d02ba6eab6ce62e6608b8e145cb5358f7ee399887234928d9ec63d3879c0c02470382d800f666f8045918b36080604052600436101561001257600080fd5b60003560e01c806348b64884146100f2578063648b5ab2146100ed57806364f0d35e146100e8578063715018a6146100e357806383092e47146100de5780638cc08025146100d95780638da5cb5b146100d4578063aad2b723146100cf578063cc518abf146100ca578063d1328bb7146100c5578063e09590d1146100c0578063ebf0c717146100bb578063f2fde38b146100b65763f3290d750361010257610590565b610568565b610523565b61050a565b6104ae565b610493565b61046f565b610454565b610427565b6103b8565b61026e565b610247565b6101ed565b610177565b600091031261010257565b600080fd5b61012d61012a61012a9273ffffffffffffffffffffffffffffffffffffffff1690565b90565b73ffffffffffffffffffffffffffffffffffffffff1690565b61012a90610107565b61012a90610146565b6101619061014f565b9052565b6020810192916101759190610158565b565b34610102576101873660046100f7565b6101b87f0000000000000000000000002c2512aba6e0a095548e94a15572dd005c6fe2a05b60405191829182610165565b0390f35b6101c58161012d565b0361010257565b90503590610175826101bc565b906020828203126101025761012a916101cc565b34610102576102056102003660046101d9565b610712565b604051005b61012a916008021c61012d565b9061012a915461020a565b61012a60006003610217565b6101619061012d565b602081019291610175919061022e565b34610102576102573660046100f7565b6101b8610262610222565b60405191829182610237565b346101025761027e3660046100f7565b610205610738565b806101c5565b9050359061017582610286565b909182601f830112156101025781359167ffffffffffffffff831161010257602001926020830284011161010257565b8015156101c5565b90503590610175826102c9565b60ff81166101c5565b90503590610175826102de565b91610120838303126101025761030a828461028c565b92602081013567ffffffffffffffff8111610102578361032b918301610299565b929093604083013567ffffffffffffffff8111610102578161034e918501610299565b929093606081013567ffffffffffffffff81116101025783610371918301610299565b92909361038181608085016102d1565b9261038f8260a083016102d1565b9261012a6103a08460c085016102e7565b936101006103b18260e0870161028c565b940161028c565b34610102576102056103cb3660046102f4565b9a999099989198979297969396959495610dcd565b906103ea9061014f565b600052602052604060002090565b61012a916008021c5b60ff1690565b9061012a91546103f8565b600061042261012a9260046103e0565b610407565b34610102576101b861044261043d3660046101d9565b610412565b60405191829182901515815260200190565b34610102576104643660046100f7565b6101b8610262610de1565b34610102576102056104823660046101d9565b610e83565b61012a60006002610217565b34610102576104a33660046100f7565b6101b8610262610487565b34610102576104be3660046100f7565b6101b87f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad09786101ac565b91906040838203126101025761012a90602061050382866101cc565b94016102d1565b346101025761020561051d3660046104e7565b90610f21565b34610102576105333660046100f7565b6101b87f0abad684336a33543c368285b5ef9963886aac97c274f2025585d7d02d04007e6040515b9182918290815260200190565b346101025761020561057b3660046101d9565b610f9e565b600061042261012a9260056103e0565b34610102576101b86104426105a63660046101d9565b610580565b61012d61012a61012a9290565b61012a906105ab565b6105d36105ce60006105b8565b61012d565b6105dc8261012d565b146105ea5761017590610619565b6040517fd92e233d000000000000000000000000000000000000000000000000000000008152600490fd5b0390fd5b61017590610625610fa7565b61067a565b61012a9061012d565b61012a905461062a565b9073ffffffffffffffffffffffffffffffffffffffff905b9181191691161790565b9061066f61012a6106769261014f565b825461063d565b9055565b6106846002610633565b9061068e8161012d565b6106978361012d565b146106e7576106a86101759261014f565b6106b18261014f565b907f445140bbf7687e3ded463ffa17db847fcd77210c567e166de0ab6e85c9aeed376106dc60405190565b600090a3600261065f565b6040517f2620eb3a000000000000000000000000000000000000000000000000000000008152600490fd5b610175906105c1565b610723610fa7565b61017561017561073360006105b8565b611007565b61017561071b565b9061075c9b9a9998979695949392916107576110b8565b610777565b610175611111565b61012a90610401565b61012a9054610764565b9a999897969594939291906107956107903360056103e0565b61076d565b6107a2576101759b610a56565b6040517f09550c77000000000000000000000000000000000000000000000000000000008152600490fd5b61040161012a61012a9290565b61012a60066107cd565b61012a61012a61012a9260ff1690565b60601b90565b61012a906107f4565b61080f6101619161012d565b6107fa565b9037565b90915b917f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811161010257829160206108549202938491610814565b0190565b60f81b90565b61012a90610858565b61016190151561085e565b926108a8946020600199989461089b6014886108956108549c9a6108a299610803565b01918252565b0191610818565b91610818565b8092610867565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810190811067ffffffffffffffff82111761091e57604052565b6108af565b9061017561093060405190565b92836108de565b67ffffffffffffffff811161091e5760208091020190565b9092919261096461095f82610937565b610923565b938185526020808601920283019281841161010257915b8383106109885750505050565b60208091610996848661028c565b81520192019161097b565b61012a91369161094f565b9060ff90610655565b151590565b906109ca61012a610676926109b5565b82546109ac565b61012a61012a61012a9290565b818352909160200161081b565b93919061012a9593610a1692610a096060880193600089019061022e565b86830360208801526109de565b9260408185039101526109de565b6040513d6000823e3d90fd5b909161012a92610818565b610a50610a4760405190565b92839283610a30565b03902090565b9a90919298959793969499600496610a71610790338a6103e0565b610d9557908c92918a8d8b8e8a610d7f575b509550610a91945050505050565b92878403610d4757610aa9610aa46107da565b6107e4565b8411610d0f5791610b2b91610b2688610aeb8c8f8f610b2f998f610adf92610ad060405190565b97889660208801963388610872565b908103825203826108de565b610afd610af6825190565b9160200190565b20927f0abad684336a33543c368285b5ef9963886aac97c274f2025585d7d02d04007e926109a1565b6111ef565b1590565b610cd757610b476001610b4233866103e0565b6109ba565b610b7d887f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad0978610b766002610633565b339161127d565b81610cbd575b50610bda575b50610bcb7f42103fa0eeaa26645ba1c99347e3c5a902bdf5fe04e611affb25c41d72e438aa92610bc5610bd593610bbf3361014f565b96610a3b565b95610a3b565b9461055b60405190565b0390a4565b610c037f0000000000000000000000002c2512aba6e0a095548e94a15572dd005c6fe2a061014f565b803b15610102578260009186838995610c5289610c1f60405190565b988997889687957f9727756a000000000000000000000000000000000000000000000000000000008752339087016109eb565b03925af1928315610cb857610bc5610bd593610bcb937f42103fa0eeaa26645ba1c99347e3c5a902bdf5fe04e611affb25c41d72e438aa96610c9a575b509350509250610b89565b610cb2906000610caa81836108de565b8101906100f7565b38610c8f565b610a24565b9050610cd0610ccc60006109d1565b9190565b1138610b83565b61061583610ce460405190565b7f09bde339000000000000000000000000000000000000000000000000000000008152918291820190565b61061586610d1c60405190565b7f7128f7f5000000000000000000000000000000000000000000000000000000008152918291820190565b61061586610d5460405190565b7fa24a13a6000000000000000000000000000000000000000000000000000000008152918291820190565b610d889761113f565b893880808a8d8b8e610a83565b61061588610da260405190565b7f646cf558000000000000000000000000000000000000000000000000000000008152918291820190565b906101759b9a999897969594939291610740565b61012a6000610633565b610df86105ce60006105b8565b610e018261012d565b146105ea576101759061017590610e16610fa7565b610e206003610633565b90610e2a8161012d565b610e338361012d565b146106e757610e446101759261014f565b610e4d8261014f565b907f2d025324f0a785e8c12d0a0d91a9caa49df4ef20ff87e0df7213a1d4f3157beb610e7860405190565b600090a3600361065f565b61017590610deb565b90610e9a6105ce60006105b8565b610ea38361012d565b146105ea57610175919061017591610eb9610fa7565b90610ec86107908360056103e0565b1515811515146106e757610b4282610ee26101759461014f565b610eeb846109b5565b907f6a12b3df6cba4203bd7fd06b816789f87de8c594299aed5717ae070fac781bac610f1660405190565b600090a360056103e0565b9061017591610e8c565b61017590610f37610fa7565b610f4160006105b8565b610f4a8161012d565b610f538361012d565b14610f62575061017590611007565b61061590610f6f60405190565b9182917f1e4fbdf700000000000000000000000000000000000000000000000000000000835260048301610237565b61017590610f2b565b610faf610de1565b3390610fc3610fbd8361012d565b9161012d565b03610fcb5750565b61061590610fd860405190565b9182917f118cdaa700000000000000000000000000000000000000000000000000000000835260048301610237565b61102d6110276110176000610633565b61102284600061065f565b61014f565b9161014f565b907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e061105860405190565b600090a3565b61012a9081565b61012a905461105e565b61012a60026109d1565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90610655565b906110b161012a610676926109d1565b8254611079565b6110c26001611065565b6110ca61106f565b9081146110dc576101759060016110a1565b6040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152600490fd5b61012a60016109d1565b61017561111c611107565b60016110a1565b6108a2939261089b60148361089560209561012a9c9a97610803565b6111bd96929161116e91610adf6105ce97610fbd999b9761115f60405190565b96879560208701953387611123565b611179610af6825190565b20956111b86111886003610633565b977f19457468657265756d205369676e6564204d6573736167653a0a333200000000600052601c52603c60002090565b6112c7565b036111c457565b6040517f8baa579f000000000000000000000000000000000000000000000000000000008152600490fd5b61120961120d9293610ccc92611203600090565b50611340565b9290565b1490565b61122a61122461012a9263ffffffff1690565b60e01b90565b7fffffffff000000000000000000000000000000000000000000000000000000001690565b604090611279610175949695939661126f6060840198600085019061022e565b602083019061022e565b0152565b906112c2906112b3610175956004956112996323b872dd611211565b936112a360405190565b978895602087019081520161124f565b602082018103825203836108de565b6113b0565b9161012a93916112df936112d9600090565b5061147c565b90929192611589565b60010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90611326825190565b811015611337576020809102010190565b6112ee565b5190565b61134a60006109d1565b915b61135761012a835190565b8310156113895761137d61138391611377611372868661131d565b61133c565b9061169d565b926112e8565b9161134c565b91505090565b90505190610175826102c9565b906020828203126101025761012a9161138f565b6113bc6113c39161014f565b91826116ca565b80516113d2610ccc60006109d1565b1415908161141f575b506113e35750565b610615906113f060405190565b9182917f5274afe700000000000000000000000000000000000000000000000000000000835260048301610237565b61143d9150806020611432610b2b935190565b81830101910161139c565b386113db565b61012a906109d1565b6112796101759461147560609498979561146b608086019a6000870152565b60ff166020850152565b6040830152565b909161148784611443565b6114b3610ccc7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a06109d1565b1161152d57906114d5602094600094936114cc60405190565b9485948561144c565b838052039060015afa15610cb8576000516000916114f2836105b8565b6114fb8161012d565b6115048461012d565b146115195750611513836109d1565b91929190565b915091611525906109d1565b909160019190565b50505061153a60006105b8565b9160039190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6004111561157a57565b611541565b9061017582611570565b611593600061157f565b61159c8261157f565b036115a5575050565b6115af600161157f565b6115b88261157f565b036115e8576040517ff645eedf000000000000000000000000000000000000000000000000000000008152600490fd5b6115f2600261157f565b6115fb8261157f565b036116425761061561160c83611443565b6040519182917ffce698f70000000000000000000000000000000000000000000000000000000083526004830190815260200190565b61165561164f600361157f565b9161157f565b1461165d5750565b6106159061166a60405190565b9182917fd78bce0c0000000000000000000000000000000000000000000000000000000083526004830190815260200190565b818110156116b8579061012a91600052602052604060002090565b61012a91600052602052604060002090565b61012a916116d860006109d1565b9161174a565b67ffffffffffffffff811161091e57602090601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160190565b9061172661095f836116de565b918252565b3d156117455761173a3d611719565b903d6000602084013e565b606090565b916117543061014f565b8181311061177e57506000828192602061012a969551920190855af161177861172b565b916117ba565b6106159061178b60405190565b9182917fcd78605900000000000000000000000000000000000000000000000000000000835260048301610237565b906117c55750611835565b81516117d4610ccc60006109d1565b148061181f575b6117e3575090565b610615906117f060405190565b9182917f9996b31500000000000000000000000000000000000000000000000000000000835260048301610237565b50803b61182f610ccc60006109d1565b146117db565b8051611844610ccc60006109d1565b111561185257805190602001fd5b6040517f1425ea42000000000000000000000000000000000000000000000000000000008152600490fdfea264697066735822122026b05c4b05a12df5c74dcef63578387e12f06d42d7e71481d322c90f9e543c7e64736f6c634300081900330382b90463be4d389295ae8caa1a614e833b9cdbceb88e392bdbfd770ecb448d94036ee67240a30eea804cb1cda7e0ffd6a71d6a47482ff4c6c8e3dc33434eaa5d7a03c32046e04f0cdedf279e90561f20b6b49f1bc35b28ae89069fca8565422a1a0c03194aa88c13b62c04223908d9f268a954f3b67bb5c3d6f8ef555926530c13399103b40590e2e25ce6a134b227e3c93f2f6475b7d6bd33c5d7357144efe4fe7fccbd03b89e3cb4cedb9eb340a9fbc0ef8f0c04be9aea7a1a478205e2236e4ea7a2ef43032393987085b5d6314d6e6ccec0ad4c339e07d08a4b4537d97a947bcdade40694031ba649c6ca4169a4c951551c5cf7c9cd2fa7641b6f4788735bbdb3db9e1609340357a45d6d99fb286dfd4662f39d48f61ea7521ff99474f475d4cde7dec6a42deb032c21989ed051f949e5fccd3f3edf3ebc35c96501950b8f06907143f61355aa590396d2a6d1169fe4ce0eac7e6fdc62717c06aa09c0f12ac2058935f1c134092d5403a5a03e38c32ea34758dce49edc6804dc02397863cd8926765486add6bc817925033518faf472b80fb76ab721a19c19cba5de9f6958a5a8e67d044398ad0eca067103be24732bbb0b8e0ed6e90b772fc46c38c7c8938dc840c66fc6d91191acbdd714034625b6396f022730273952afcf6d2bf01a41e7844ef0dd14e3ab3696f5edc35f036995bce338441d0d252b2202573fe0a48ffa056b43dc729e3f13833a50a1788303b2df318b6039f74edb5fabfe742fc1198a2bf79cbe8e47a667fedd6ad62044f600581f028bb2711a58dba914dc58dc5bd36a46c269a4f08054f20830af30b9c4397841010366ea76a98ecc62febcdf221da85bc3d34cc4dd530a8110ace5ecb5349dcd1ed103005b6b305390237b07e46dab6cebb9db0c580c8ec542a884e1857f5ae0de7b85039e8f1c3fc5d8b7a0ff3b16499fc9ac9466c892547bbde45e72886e2f90d186d903b425b12c2491342e7834e19362e2f8bb77b966d0994bd50ab9254fbdce4a674c00581f03c6fc621b2fcd2210aec7f437e08e090ab1bb97d2524e6b1445124d2a7980410100581f03292bf702c5b1c520f0c029970fac8791814ef55bcc6512359eb2248463c0410100581f035aae95ae57a03da140f8c2383551a57122a2efefb1789cf49ee5ed90389041010219049003aecfa03a181461fbcfd8f6c7d259f4e37eb8f31b133bc6681dd208df223327f7037201ae8c5a1d9b7c89b46975c6ea84fc2d0b9f4f45b012b478f4e8b607abcdea0383756a5b36332e6262ebf83ebf022b7176d0adbf91416f349a20e27300314f190219fff703138de1118a1c2aecc90462e1629f27e1cef68b32813edaaf669e0d2a4c29137303586033f932ad5e99c55d37390c791406730a1bfe5f2bd20ab4a68f78a542a3f203588e0bb6a7ffb3d41c1933ce6903c75fb9a3a2ff09f9c0c3c98e6abf7bdea4fd038f210ef87d65f1aabd988075a26b58ed9f98e1b3b52803d37fe1876605bcd9410319109b7e0659c385478bfb516bfbab74f65a074955b594feb2212f16801d9c710219ffff03ff69ad926e2c1ff697517c507c0f9b9eb9afc7fc20cb2a6e8866171ca9db78230373ed1328038fcde45c1c5acdb9363e6cc4f77daa42338d85a1bf042d7de0a13e032efd654991efc210c37a674e0bfcf119493edcae4e5ceb53b6d4712ff7668dc5033f9380f83eec3299adda8949316dfcbbbc9d63a311fb3664488ae2a54681027c03e990f3f5dfdb5f7e2b3de58c74d5bcccfcb7bb774fedfe7d76077bf62ad8784403e766604cf2985b0e33c5b3e2330f00e3aba77cfd0187e88a54cca036b775c724032b7a7a9ecbd1eb369ec8859a2730c28acb265ef4ba6c0fb9fa3b58729dab335c03037349c4763c77f1c0870da06f857bccb2578ff0e018e4414e144409a811e76603e6ce563678799d6d68b5905693400a6924650a3a7d4aa112a8780add23eaa9e8035b05abef26beb23995e84e92b1ad1de35f954ee66fce20dd1e82bf47319d38bd0329b0283e7acb799884e312a3ab1223730c5f53ffa643c25407818b57ef56d40f039bb26d44b726969d669f01ec7da8a4cb631f6ce149f952e900295c4f7056dd8603356735892a8ae71f315fd1491a0cda5362e9f8ec19fa778b510adfd155dde81a0317eb7d665623d451058b2873b101c6f62624202530a59ef17e17d026f722be830219ffff03810ceca2425cb75b7b3e9b1cb35993141ce403960e06c30f8e22738e95f1c78b03eec219788ef41d72603baa8e9b7b34849859cb356c9efbddfab5379b9288837203dfc40d7f04e86f6765736eca1e97cdd6770309d390cf10bb0b64ad97f488f7e9030966e3a9fe02e9b05083b18d720151c1a19aa5ffdc001c0622ef512f04edb42703a88746be253a793a326c367ee4b645c4bf6cc3f684f267978da0d9844565a5db035b3b0ae8da84cc152a6110cc913b305641656fdea177c78f76c445e89767280e0301c4c19ae742bd633fa22aa98c34b27210f430f478bd7541d96a14acbeb5022503e225b880fb31445a62cc87ccb7747bf26e46430d09966ae51eedec4119d902db0348276fe0b3367153d5bee27b5dd32465bfdf4868fa5021d5379f72e2aa7c8e3603c418970ba570fd6344cf658ec9de832dbc85f09641a86d6f50edad71d3a66cc40361d217757ed51415b69c24e5bc4924eda2e660089e149d44830fadce2a0a4c130373d9dcb04859d7abbb26fac664339f9eaa4abe958eacf74aa9a325b7a3852c7203476bbb4263423a2ce520ce87541b9d536a91ed5c73406e77659964029853106803e6daef9f9a65938df7303674bba24d13876dce11520e6536035f5a32dc5ea42200581f0383d667836e60895817b853116da469518fb516969e384a4450d998952ad0410100581f035b2ba4e994139d32f146d51ce104988160665dcf1a203292d188244b2e30410100581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0546e97eac711f309bf18d536a92428b13280d6f6e702190142037012576346dcf45b0c00c49ebe7fc4b7602fc443a66e8a87a53daea9126848a403a7f42fc2da35095ef0d87a5867fbdb5d701e819661f7c2f10ac33f13282a875403d62107a9b37c47744ef8ccb2757702d0f5f1d1bdf5277679a81cfebb71589f9100581f0285122ccff83cc4ee63d4c57ea5d3a0b9d9453ca565bbe1c6460d31dc5d9c41010310a4a08a3984eaf2dd79bad8f8fc52189e96cd1621295a85e30f5c2275ea66ca039495acff05c6f3e66d0b5f3bd04a675629647ff6207f217a86a2506a8a9bb53a00581f020b27eccc8acec3a817baf5f94ac09bc8e271e02b0faced68b4a9cf46851041010219f7ef03fa575dd237756fb60db693e0aa01ce320702ee7242e9da857bad6b517d3d6ab1037d3b3fd4d65eafb46bd838366f307b0818faefe8eb6cdd766f3a3f2e84ce90c5039d5a61b994339c50dafadde6903109e597038fd18dfeb697eb579a6d3602dd0b03246f8e442c92aadb7e6eaa87b351532641171507f0151865ecd65f21e5874d3603d2e78a574addff98e5717de255c7db5fa0a5ac1666f104cc5ff872934ed5714f036a9e4b73a348a853b630d818721631281b277414c5c582f3c511886d1a79f40b036ddd21a10eb4b8cab112d7960a97c3fdc4fd46ac092d1d7b4af1540a0a65ee0d03fce46fb4c834cd8124171c9a3e60c16f1bdf6a6d5d29263ccba8dedde74b6f6b0360fcb8751c5caa79efc9f0a77565dc833dd943dfce21072b3a74875e1fbd7b3e03252f43598515e381b209cae59d0016b30fe9fe85d812c53e51ab5b2dd464d9040219ffff03ab1d66103b27cbdf0da391475671f9204f0852a41871af475c2d45f5a38207c503f2883ff63da52316feeacaec9eb414bbbc9f8d62e8a56cd5e1095cff17f37544030db1cb4b8611b7c712d85ba521585169f558f2356f2d4e50b89a3d0430297c9703c5add1d6080414f9fbc6f7aa0dd0e30f69d1d7fd3ea9e1b4fe09fe3e3b02043a03c3474c338a66c0f694438e2d399cf7ce9d22798b754904b3de538922ae023732036b29487a39feb828f0bb55c3595cd7f0e0b8dd0551424c788638468fa814ab21036479c5a5e61e41119c02ffd05143032c547399848bdb1c7da537994bc7dfe92c0359fb4712c330208355eb0f478fb8a158eb525b5bf400a7735738ed1c6991e8860342ad1d2e818a4ddccac5b86ae1c75ea61ec4ccacf8a130d2e2a242e33b4442bf03f69dc38e65b57faf5a5ac1914eab3491cfd13abb5006f47250271a08d0b9904a0308c3c3bca098f0da4f63280918f56487f75a0ab53c3106b622dc857e10a2bdfe03b8b2ecbf2cd67394e92d203515e973977db49fe6bc90ef3e71bc9632066b0da20390813f1497931e35ce970a856af66b4bc0e90d68f9111526c152a808814c010b03b1cd401ff56b75230f3343a21fee0bc1db2e952c7f7cf20c4cf2f5df102f4aae03809956eae2463d61ca6e2270a93dce860bc5e27c0783a287d7ecbc3605ba7dc60219ffff03e8aabc21a7642c4680e49d65795477fc021b31fc90ca6d018bbde5eea6c212c9030b3f243707a2d112a88108e39dddefb70e44f0984c89e3bd42dbc8e3e612f8ed037cd6c7207cfc37b1a32d54ab64b0c9120ddefc76df1b321ec831f323a1aef16803c6f889cf9f60126e6731c021e022aee9bffb41b7d6a453528be57566fa6f57b7039c1275311532630d5971e5e741ca051b4c7c55f07f34a7994ad5a94d22f5f25703af1d0956c0db61a27442e783b465c2aeafd5ceb046ae2ffdb87b28745ebb033f03311b2aa6066f38d1f4962493cb39518504fcd96afc14177d23ff93a902c2312703f49a47ebbd1393c6528978611eed955f81496ba5fa6a6b39e612fa962a3ec9d803eb1c9d7edc4186dd03c7739f3c4089f58a46364a73a2a879239971d84747fa66030d0055653a34d0bbb3e094cd95644577e6ec80d490b6f13a509b419bd7dccd86030888e23ba0c8cd4eba12f649ed2781e830147b000b10e5f8deb0c599c1fdccbc03acf5d9587798a536b6649fad0d4fc5cdd4dfbf87d6e8b69778d58f9a2f1e364c034bdd762011a9f18fde5c87d58d7a892421495ef4f0e04c093e5b4f181d6aad1200581f028f4dc96b15bfc2a7f7dde858d59a6add8a140b21194b1f201cb38e943d8e4101030280132b095cf92f2d45dd1dd346bd6c2cf34ef98199569dfe72eee85605034d00581f0223b40d4183e787dc135bc043af73d87cd170e4acd34705556dba1415d6ae410103f3cc2fddf9d77668b9f90409eef24493532475de7b65d9b4db1fa88c5b1226950362287db6797d4cfc35d8c1e15684c9116e578fdbf54aedbb8992a80ec639363d0355a2df48a5d3260df4280bafdabb54323c7c8297083abbf83bc8a7fa73efdf8403f7cca3e1e0c766605c94e6258502cb23334ef298a371d91ba77ba81a28c8c3d800581f03dcdc1779c9e3055f7082efb7d53abee260721d369914e99237da1e52ed60410100581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60410100581f038f33ef44ad734818c00fbc5d47251e59b5c3b1a6c46257393778bd826c50410103a2413071309883e60f9b77b96415e626f648339a8427e3c43736cfe487a7422600581f039487c7fedb99ff81bf251ad1a5aff16e08cd0502cc2b98cf6cad0ded5f10410102190c4603e08334e3a875abede01c9eeee3c60c2ed84990b6db8a22a0008aa087a0185b1e0219ffef03260d3c3a15323c9d75073dde9c220f788fd555fab61b6b37d60d6846e2a8309b03080a31e6aee2a7ef297ff6cd0f59635245887c7646904df7182d141d018bfdf4037f8faa7dd03b1d9e5de0f868b5ef7b8c6adbb5d7b617851e17b0ae9590487b480364db22843024e8f07aec3e68564dcf1a2e645c4616d322a6529d52d069da0ff903b2c4234029b2d1f4247589648b6f08034150c686a4b74ba1c9f2187ecd4a4ed3031b8856dafd0e2447bd7769b048501399fdd3b2b1b1592b020636959b999e726b03c95c603bb52dd395ee7431cfae924162f2c04dc6a537f0dc89b54942040f39610379b77e679540de2b06f349e479eff7f64c8b706189efb863d309870132d774da033aa741bfc7285d786782e433b6256ab6e2df45a2c6711b57f9ef9a95019b9be003d21291d54a5e42d96396f1af0f7115731b84b01653911fb60cd6c510e2d3d7bb03f0e641c3bee5849b9f4c5f61a02ab0e9b31398eb9526d776b1570cf464c7c8f1030b4705000a9595dc57a26c84e66f4dd237c0e19e661ef559d1c6ab296260f42103fa078cb121d8413842943862e877089e6c5a52d4e63f7934023fa1c382e4a7bc039e2106fcedebd7eea89c46f16cf466586e4a45c4d2cf051edef8ee6dd9bc02a803911cace7363a5554394082da801c0ac9116d1011dd51e2ad155310fb69031f410219ffff0364ede3c3493b196fc9f6fb452576c4458bbd829faa39a175f86c30a88886842403c8097edfc1c39e1b77a9462f8b725fd14677f8b36a488880b0a8f6d6ba76d98a032595793ee4bb066a21dcf118e2980227fc960436836299c0fa5a7ed6da1177c203f23a1939128a77518a390e8eac5b334e9460e1e70d63cc765dee36fc07a5537603b79282076daedc50f411c7147e5fe209d7dc74b05a328fbdc470e76c54635d9f032129d56ea42606ced8eec6881da406c5d6018d53bac482e3e745c7480f8e2c2a03a77538da5e2bf4455be5f2e9996ed46a101eca3c580b338ef2513b47076b438a03f57d43e73044bb1a7bff893a5f5a52e22f9efc4b0d663804a043d1b1f708bbc70336f014d31d1a0229f34f625a8915821b3979625fd406549ca7d82f9abbe70ee403c0f620a46d7b6b04e233be648213ee4f96349b265190587729fd723cb406132003b970dab63d9d7a3bdee8d4afb0b5bc08f3e4f50f6400e61010984979a773d9bf03fc2fee240bd01eadc684968da32263a648c902ade5c72f6accf8fba9a05b426603cd5ebf24793a2a55c3958bb2ab2e3e195ec1d8836fedb0c72685d4525a27b83903470be26353bd3edf76ccb961f70d32d1702fce46bb66bd7360ba7619f339a0400219ffff0386c5430bca4afb81b91dd53ca8e04a5e74b61621fbc2f2d4afece5b3400bfa750380f7c5cc41b73d0a543b816fff935e313b59dcad94624634571fbf5bd6e7514e03a87c37700cf8ba5e52e38ea4cd50a722c0924dde5579fffba503182739e85da8034e957df88e751f9eb95d5c39bffdfb714b248523caca566ec8352f0896e1d29103a5b2fdacc3080a382a994720d993115af8dc4f985d7e80e0d64d2963510a7d370337f33b9eb3b86cb25f36ac1c4adc6c68e5f8b6ba49d04b853b289e4f5dee5fe503e9c92f6dc91527b26868d677c617ab58d715493ba8f3fd86ec7e5e137921754a034fb546193dff2cdb92d0063dac6e6adde8e585ee133b58f8a6aec4bc722826ef03c39a2d24a24f239d1cf22a4f9fb1924528f6bb9ac03e226bfb4db7b0fb938f8203330e17da2a080b7624c980ea6c02b07841f7cfc7b53d285bee42ac41dc83dd8d03337076839812d65042b1e81b737eab3c6c4c142bc250fda77ccb3c89f38eed3d03f5b7b879d5fde97e3c16588867b60af442afc5de2a77285c07d2bd0187a4a750030ff2ee0e7fbd6e59b4bae78f825292c12e7f2cda5369cee56f69c8eef5d64e5003d685ab10d4f21e739100ec89899b6bec8580166e623d9f017514bc448d5c6eb0030693e104bc75505fdc1b92aacddedfa99881fbbace2be1d2e30b6e5a5c9b2ea603d21eff05dd4401983c51da9a44c15b57bc86460e179ff3d1be9c8a1dfc0d49b803e54d5483b0f5fd4cecd30a3eef4e995aed309ac0dae409f1864c7aa8c4563e48036eaf674d145a4e2c829da792fa69543d98a7d80261193081868e06302c5bf70b0326d7e93d5cec4a3f5a3d886d4bacedbb94adf88670f133e22411b506d700f672032edbb4201b9ce965e2a5a5cb710693295edf5253c736fffacf0d03c90dc104b501410600581f033319de6854957369ebacf13cef2672c393395a93d8b92e81a884c4891f40410100581f0372cc7e03cdf79df3bbf57a4a2ae1bedfeb8a15d78c45b991d26df962868041010219300003d904bd56dd6e89fab62d4725c1a11ab942a4deb1d0bb6578b48c6b8ff86fc9a503ef980ba07f1f2cc3129367daa9df8166d61cda9a5f19ff9319ef4bbab637732703357a954362bf7c309914007866b52f843a6b17d5fc5d03ab3b52a6e208d913e4039842ef9a758a0d376f3591ed37b6b4b78654b13b577788295c8636802c2466e500581f021d5ad49da52c90aee98d32db0c4a88c18be473f6794a1962cb2ed598e9c441010380f20e494380fb4f1f3c3ead92d0bff7ff6c2ad390a3c6d5537580cb856fca050219e7ff03e7cecbaaada26b49df0e491cfd09043f25d9d87f1db025c06d0d2f313326003c03d61f08bb71493e8cbd8f6684b6bafa52552d17bee44da12615ce76944879d2d0030faeda01a34ac0e0b925fcbd0d9fb53b0043554ca8a59cc402d5a61840bd9df503dbc502cebb88733649cf3003c0c70e1decdc9d3ccf8b697c9400bb300e9d469803736808bd48b10efb031abcacfb158ded0a6b03dfcd026e21ff4afac1c518bcc90389469192f919250f960da4e11ebc4630b0611deb9427e16ac919ff53c29a337603611f1e372ebe25648903b502c5e69e881c4f3b06e0deb1cd3cb14e8d7c37efb103d9a7dd47a176deaaa63761e8be6909d5586472950ba6e9333ed27d9a22b052b903f447476fee280f499bfcd2196837aef9023b35ce0d29cef4623460672d8a96e40219ffff03693dda9d354f18505d242f4a6cf7cc013dd990a8c19d7e02e32acc27f3ed844703c5385f347cbe23cd1af5a761eb5d27dfae7d440393dabe5c53ec2b0dc4728ef303442681ead956387eeaa0cea1e4c488a999372f08940afd94267db2b0222b4c8d03bd3e9504ef81a44e62d1b2d5d4709d5dc0591fc5cb7eb41fb3cb17403614ef3a03a9059cefe53dac54ca30af96054be4402043b155b9600a9c7ca2e5feeb6d88e903d15dbc3def000b3a9fcf777a8bb74661ad5e4a651f2154530e93d613338c9e10030d8a5f6ca8725b6b95175cc81c564b4081b546367865f95678cb8b066e4d5bf303bb3c68342c09a3f6153f1b1911bc7a154eca1d0a903eb12454f3952c97fd5d090219ffff0352507e29e8047cf463e4c4d3b4abccd4393f574bd3df1483daec8e9e73eda90803d7bf8028c0ad18db18c8bfbb9c59b945060a6b0e1391bc8de6567bb319c6768c036da7114322cb2baee1ad92a11df3b0ce0505749be109c71c4a2f152e5efd1f2e0219ffff05581d02f09175fe1284953d4845d9fe591e556c13fdf5a8952320e4d3b842c507011918b30219480005581e0360f93df027c05c10c06bfab3c7d45429a3ebf0f22aed74345b34d961f00c01469d4bcc2c573005581e033402435d3bc5b58b2e33087407164422fb8caec03bea0feb47e2d32a300c0245012625d825021986b20374817d7ad1e8c703c88cc24924f37b1742dc534640680aa0dedcf710a913079103f976723f48e18cbcc9b5f17e38d801645a920fd0c4d19fb07d0dad431cef353103ec5eea2313beff7e0b6fd41b49c6fd1f7bea2bf51ce74179ceadcd85e36c102f035e7626978a5dc9375e1df74762d1036fb938d655b8c22da5a4596de166d1a0a9034f1590ab6d8a374eebba2b13ab156ba98eca4743e008c7d88470e8d20a3d53b203b1faa7bbc421adc6c668678f2a1fb82b4a19731310f95db28a6e73271bda8df30333a50528ebde09f5c23504d737bfb6057da4fdcdab7efae3bab82462819b1389038c964b3dd10abec804a2bbe4c7ced12e354b9f976590270b657f2af845abc603032d0707ec78eaa152af3a4d4d1399084d7bdff1100664ae116496a46012c05bdc0219ffff03acf908edfaffb0c06772a6ef2ae2efdb941a4149fb55510726ea935c0860d9ec03e1cd34e310f6ab963602681e13ca3b5a1cc4e3f32baaef4ec92811a3de7e96c003d490aad3a51dbb050cf84270deb0364064195551984264b458e6795c6ed741de03b3151992adfd9d80da283685e44e14c9ad9a10aaded123254a0b264f42bc5a1c03140304dbd3cf7f0bd5011f722b3978dcc0dcaf4aa812dd65266fb7f0bee7358403f9517f7d4178f4cfed30f71dec45d43910504992cdc69ab6572926d8d76147d903fe2e7fa0f0c21d3992c67b480c0a369c8d30cbf132ddbcbe47b53f0dd385cc680343ea52a9da81a59dae3e3b927f54d9e7f00ccf57573c8ae2a8eff39805baa9d50316f521efdaa0c95d169221647bd1e3ddb94e416b8d8e1692b8d9dc213029123f035fd599072d7c7c9485eb7f71c2e2b79b7d17770b1c78f71540cdd9d0d7781e7003d94fea6310c05a759466943b4ce045669cac0ca2f9e4327f3fdd816787b32476034e1c9b5ab3e23d148e18f8c71d439534f074a350e7713e097294a3b1ad160f80031414b23c6613b92f5369ed3477bc0d4b531aa4487716710402017b055a75660f037684a24d9f4223c802d8b46f32dd21c0bd789c6b452ac9d7ff35026f43b7b11e0338e55e51ebcb87ec55e79012fe45ab43c921c09226396cff8c6e72a9c4e122f50219ffff0322b93d1ed2ec6843fa74877ca5cc5db637ca7b6f52595b935e8edd9c4ba11fab03aba02b436b465e3c17d772df226a562ea8e2d58cecac97d703df3f5ed1be92c10377d612961fd3b78705f3307f6fe01e18b9cbc1b5a7b549d64fac26c0a6149b5f03745126b6c7b370384a0640af3d6871c887633b3a21b2c892d47bdbef2e0bbf7003316aec3268c4154bc2dc0ad25eada6026f2c3d0bb3e0c8126443b8c7e59255ef0395e4b7670e66fc8d484705552fe10f1a3d966dfd29984448d2fb1601cd4bf952030040a942a8bcda9de44758a3f502ceb98d63b2fee7978ed8f552577ccdfa4710031dd4586faf15e73823640e44564ccd5dc7109ad050bf20b4216965bf6e39f4280325982d6a22703803ba70635e41267f7f77eb84d23290fe7351ea459bc844b859039748bc411c2858ceb2b415679dbfa5623bb91d6031aded5382cd8db2d692b4c403fb92d4b405cb4340de806b696b94cb70559abfbbaa0d920c6db8a377d93debfe039d4f0139c4558f052362653593ec1a71bf81e52bf10a626ecc63d98616aa03d003e6a44cc3090dd8739a0afc2608bb61e02419420303fc9413b305610f86e0952c0334f627bcbd20fdea4100f6aa7103987774d97bfe159ad42b26e319db264a95ec033f170fc7b5f076c443c4daddef835df0a812ca8579b32dc24241e8369313f6ca0219ffff032f6942f27ade48ac86f417c260aec88413c6b2e9df139b73e15ff8c86957f8c40219ffff035d3a5310667cd4cf30d7966e8e5d9c8e7b0d71c3d38c5418317a57a503726709037696e8c3846943b4f265bd8b6f22cab91026243333163c538b190335efb254be03539cca5e606cc093a6ace4ce7ce44ac93d37b839b33126f289083dc1ffec266103b0f25e91dd186eb80c5c5fe58abf6b29b37504ef294c4459ffdfe634850510f40393bf5ba49dbe7d13967112b2a69c1624ee59bdfa8cc25013e25f6966d8becf3a03a9b90645ac99d9d6825ff80676762a15c0ea94df3b94eaee9d403df26ca390db0383f489c4f9a720197035bf4c7e69facc424b1ba5b95aded4c6a409f5ba6f505703fc016e306fe1b6b91f4a95abd92ca58801c038e96e3d3addfcc4fdd402648c86032702eff1629d2cceee44b584a83e505dd1b5a420a81bfe35f54a8ed9a3f113b103e562a1ff03edae4672c3420d4c32e8b98873f4f6173df9d4cf46d4554e846d8a0327fafd0970b62e217b7dd1c13b9c3d5d67e42beb3852c94edc0b17d4dceaf9b6030ff196a7e7c7cdb4f410824d97e341f9236a0c5dd5804184b78a0682665c054a03b13dd3a2a8393b7a2b2795ec6f577901e2a4820e7fb362a94b050830f886373a03de23364d27462fddf2d281e8cbe7edc221d8d186c878af0c7875ed54913f030c0344408d3bc0c947a095e27c891ae291f8895c67ad08dd3eab60083a8b84789a7503b0139e39298975e0e198c3d1660f82fe9a6abaa56e58c65a8cbeba44becbe1af038ec8dacf82e3e09a31f8688975c8700b349d2cb9f4f25511aa6a9225b62fe44703ebdaebcfb893ab225365916c98d54834dc939b80e16908d1da96314142bee246035133c583a74f2151199e6167b130e16c72603da30875c321cec61b6406489f7f030a4f885da5f28b073b5b2a950415249e4663cdc7d666e372ca09a86c4218bd4b037f31b55f78f7ad58308e62d7710d298754d94f866eaa37e1381096f21d222e50039a6a7da06afec77f8b8672b2a1e95c63b5219fbb6104dda4d9965931d2581afd0332d0a1337808aa27b4d385ff8e4ba2c02f80e37d00c2e726bedabebdb6877050033aa9eefe5746d7f72eb04755a12f84c5c72b28dc341abb15bb5b75984fe382680300da65fb4542cea3104045cefc749f7359e37bdf4d05dddbad360bde73c4cf1e036eb7c9170558a34cdf854939d66318b9d3ec221f87824c9499160e21da1fe6ff0324f0a97fe1e1e6c7f5e8bb23592c4763b26e1171518e68fd301f68a91f80b40303f16634d9efb8fd5ab0935ea6916ec0f9b949c124a17aa568659c352e0bf4694803881a48bbdfe6dd89cd54d7d5264b2e445992f4a11cb623d565d51853ab80a7b603de3c53118c3e397f83609f06fb473dd55ca9250d44512798e53ac22b896f87bf03bdf9f033f9187700d03d4539ee388645205385e6c65264808e03fd46ef1367610362006103d13643bf24b2d29a74b58b076b235e2a7fbd6cc20a896412ce3820b903e147361537b01481eac0d3fdf30cf40bb31682bd3b4ac4b50ba927128d2ce7a1030f49292cdda665d84275acf452d2486ed526aad59d4bb35e7d1a89a4a94600c80304e2d0e0815361409418edc26402f199172882797c8f67fcdb4cf73d1d2f4aba03b8bb8b5273f909fae8ae992d5029ac51ff5224d26758c4123c26fa574ddaf66103bd0eb509373737cea0ac919932a22770c73612df36db34ed0fbcac2303948af90373efcf43d2dd521c994ae685bf4a4c843893a634c169bb09d9fb0fd21d6abdca035dd8057d77d57eebbb69662972b42eb0e9d4c1238f7998ba5dacb733a913f55005581e0342274c810c2f7b52048b55cd126485b76bcb0e2332b4f8d9b9c2920d50040105581e03c39b306001db61e18560488b121c9e78690506eae942a1676ab67e0d900842036203c924e5bf4d858d2f23a769d27090112a6f8394f355b702c77c80babe6b99120f05581e03a266a5e9343ae53be4b96fadf04468a58f2a7f28e3a62415cc46cf90a00403036059d98b6d0016161b67a968938cd777d5b93085ddb06bf0291ceaca72cac751036dad64ed202059c70f006bb8968b2f333aa21144474922bb12cf34dbdb71335805581e03acb54a117d6e883a38c4ec50918eb7112cc78e8e75b255a7d43eb4e1900c024703e51b76a138d805581d023116481f54c13ee8b70d5939a04177bd18fbd3863637003e39063b9308476cda59c417b9e905581d02ea4dbabf43f6a0a3bb075963584669c7a042a5af0943dd72d09e36710c0147034abe8d0098000219808005581e034053bb9a75dcea15d24ad41eaa414bd5c59f9f6caa3d704c50546125e004020219b663038cdbcf6ff7d3ad142d453929ea8c7cbdaf3edafd9f76f6eb2166fb98f52d417803a3c8fc62e76a97663b13b0fd3a764042731e0c721c537016c56ede6fb1eb1e1703a6c734833c586646cd261de579e2c6dace40a26f9246c848ee8e37fe9f37ff4d032b611666fcada3bd368168627b7c41b887fe3b0e540a71464b0bb0c337789b35032291cca73e7411974c7783138ee990dc0c4cccd09e51612c84cc541d51c081300323adf640c2b09e3b9454ecbbc21011a3e10d40626478f8e499724c4c2a14873b0219ffff0219ffff0219ffff039de222fc1ced9a947b828c6ad77e4d5da4cc73c91ca6ce12faaa8d7640d8b18f03f18bf035f5b595a3b69b17ef46c8a7dd067d05652720faf4860a407f1e32dc410303afbd8516984fc685b46b3c70cec2f59e93e64bbc03e73aa864a861acbc06ef03a46c2e2e027fd2d8b22b2e9bae89447526dbd3b0829fbac18247172830b53bc303adbadef00d4b0ffa4bb2435b4a9e3ae426d23568371d0a3d451a4f6d6e58ccb8031b9745488d84770100d4af199f4f8820335377cd4083d5ca1c84fbbb8eb7269703d90d27c9584b632318a7e05784075354cd9eb9450b6bf2dad450413e937e6b5c030538ada74f5a41a8d935f87d51f9e1a49f350776d3433a704fa91353ebc072ed0328676441cbd571d93dc9117f670189d252b54c35bb3025cbfee406eddd7c3e2203f1ef54655499dcdc0f762fe4084f8b9860b0243ec021e15ecf4b50b44d559667037dcf0a86675e1947e3c851f0c65e6ce5f3a039dfc1b421d27cc4990e47bd6736031d6d107a903c044553dcb15d222d0d1f0c736d7f7fc7918170b5c170918b3f51036cef688bda981b6693be13fd0d65c6fcdd59b54dd45b29db6d9f59bf72a1796303178c635fbdf488d6aa0387e4375566a7b95a57f23e77a4b1a328722e2fd57b3103506681e5aea513b986c26fc78dd8ffb81210643ee68ce8b14913f8ba9369962b0392a348416ff12a5348f996979b1dc1c89fa24698e8f5f7d2e37b40bf89a7c6f203a9823efd19870bda0464bf6101045b59a1a260181d2a3c32ed1a9e9086983d8b03dd6cce51f26dc62aae818b1e514ec9b4e550e2f40c82a6eb0ff24f14203a0e7c03f59364994639996466190f6fa9339d9ef79f250159df8c90a761920113921fbf03f163abdb6c63e4ec9c993a53a4bd41167151d32d8eac41f3276526d12bc9fa820336e798262c5702f2cc2f3a0630ee6093a2e0e11a61ed37aad64a08434ca154f203c519adb1c8768e4559b1bcbf5b802f2c56e34f19864396506a913b314a05587c034fea9ce4f9d454da1b7ab67a0776c8c92c3187307e5888acdae70325f3f9f5ac03e9ab7220a7adc759416c2454e4d8d9c14642e6f02300ad13900ab681e7b558590345b2eaa971bac730fb136cdfe83c08c4c34f5b5633fedffdb5dd35374aedcc1a03a27ca77f74140f448ee9ee183ea15cf89cf2531512366f392ef288a1b8fa0828037f964b451f2f772e78bfbd86aa6030704629718f6f3d03165ab9bd29ff209fae05581e034952ba40c4122d49094ad84e087fd164945ae4bf88ca798af8dd7fcaf00c014702015da9749f0003bdeb86491c8408bde2a08535bf3385ac9bb02f432f72318f59197c1cf8a9c25805581e032ec08e35aa9e5f07b40f8966e526f9535279a98c9e6ad6fac572435bb00c18c5480e9cb78c1459ef4d031cb504350e2244281f77b138a88496387d8649dfb5432daa13062dbb149a7db101410805581e037a15e534d627fb41a614452aea1313b617cf240cb7bd1296399a358b20040103580efdc6a94bbc13036dd71a7174a6afb1c7a114a659ba50733ba6808adcaa7a030b5505334a03aba2e7f2db8fa1054e6600712dafc7d2d42210f68083f3915789031d990fed9168cfb23853095b04004b26aa946786e6de1127b24936bc697c9afe02195b27039f225f8f04830be24442d60e1b57b8874b443b9b1ffe83dadd4bd271cb69236a03f0e9b6783a5da5600825b95b29c2038566c8095a9ec554454a12f83dd13b0e3f037c0631a0deb3c252de1906fd34f8dea704611573151f024f0214b41b35825614034d9c953dc594fbf9fd0dac82ded0e0e38a8969f66f0515ec78d7b0a8ae0a839e038579ac5f14ad2486cb2bb3fb3d2c3839470adf51e1211d8ed27234501bcee838033a04d27656a6a10a0b190482ef860a3a3b2567d5bdc6b701b4fb9c958019e3b103466adc56138b0a8b4085a06909fa5b9203783e19885dd9b4c6e746daa0730d2b0310749b57a5006c0fb5e2426b2e76ee527deb764e9f26acf4aa05d30d32ff1d5b03709fdc190f499d1b17b2466f9fb393d0663d81fe2a6b8446699d6aac120eb6160345de6b836f9e12a9613eec9066eeaa1045e9cb62777c116a12f4b3ea589e6ce2034e9a1971192ea0cf1938f4a25164c0b79e9fabc1291566e58d9b4c00e06fb6af032c997d61b770c4fe963432af7c7e836629c039c9af72b93a71f71c611dafc31f0394fb4d1a1cb0b85a1b2f49d3a9df4df49fd5a2b0cdfc91acf097190d568da54903e69d968163775508ca2c6cb35f62f47ea7b4135e53f4ac0beafbbc7b919a4ab2034ba54b50e9beefc33bde59551d489a2284e3b42d8dfdeb5c8be6e2b0e1ddcf220219ffff03034fe22fa05cf5b62244969c721e39dbb9669b00ab5faff7c25b94d33018b51b03080077a00ca91107e261bd7df4a84bcbd7cd2bc3eddf2e26352a6d059cbfe15d0219ffff03b85c8b073fca783d9980c79ade81a987fb2091e0f404ad16611549d892293ba8032a9d6eda1c0abb7000d21470e5ccd0effbc9a4af7ce4b6df178e005f3ebfc9e203a63ec8160b2d9c301aee61649cdbb56db66e14fa0ffa6fe4c9e221a1ab2b04b103dac7fc95b261ed57a501b26b94ebefb07818f2ff49a2866395bb644ab3b41bf203d4b011e6b3add4c0668f027dd7f49535ec78239b8191b39efb85d9f9349b81ad03313fbdd64bac74efb82b05b2867519ec644de4ec98f2505977e78aa785c2a504037a09f0642dc9b3aa3aff9df8486b0eba4022b3b8a83cdf9d96ede8b850665adc03929e8ba261d171daab7c41a762d767cd3ae87358805aa6418fc8310d35e7db6b0219ffff03e804053bf4dd02f1ffd36cc348ba1f3aa4c502594db7ef18bd9081e7610480f70375359d235a32c27577d25c520e22ca10087d38d70797330271da44e49669765d03e42a530a3cf5dfb3b341629321e23e552e49e307fb679da1edb1fecf31b20f860394403d86485c6deda8ce1454b450518ab7d8e7d03e981432d83064ec58ed261b030347321cda0ac5feba6f607b035db1df060dbd3ff1c19fc0751254d7e81b7aee035a297870ca0bb19393406dc162b9554522364739ff2b0a555ec3dc1af6857e4f032f8c14cdd5efa83ef2a5710bd189c733cdee01c4cd36d30705182afa4498ab0d0374ff6036d3190df9241475f861c673933249f2fd297b998edcaf381e8e45dc350219ffff03a476373c165b93787c38121e623ce634a4a5904f36e6ad1f2cff1abbac0afb3403df9d28f56f5403fb78263279eff3badf8e8e80ea863aab810c15bf4a56c0d56c03bd9917085e7b10a2dbef0ae4d14e3374c2d10ddc204d7b63271ebdf6ba0c31640309e861620a8c4d02a1157d5825c6bd75ebbc9ae9e09e36c92b3f61547a19380e03344c78825b782e73cd86a2e64c2a23c6a7653b44110c38a78bed90545aa2b2e5036f63dd457b729086d14448c2ab9883d5e7be3de94598b8ae08f93304fa40bf37036dfc2783ad8ce0b6059c2e6de7db48269616271f08880427eb51f2bd04842120030a72d6fc632b2085f4757f6ec2b83ea59035392d43235483a008a4e9f43b724803fca4a6f7c30d82bf9f53baa1b5db4895e6a19fc3982fe0970044f8cba149f794032ad6e87534424a6c54062095a156dc36e4a1d8de9358ee7f95e2a9c00d8e7e8c036e58ad9a707fe8ff5d59e5772cc5f70275f43e7f1c5a2a36a5f21849080c87dc0365be1023fc1eb0205b3669bf79fb265d8be6ae40f19b06df6925767133b97b31034f64e4624b0257c455dcbfcd847d5f4bd53313f4c1c17dab28e33ead69f09c16035a368bbecc32478361ee02122e5f8fec4f6e9a7a2acb60241f70c6a42ac3585803355334e1dcc78908deb08659205d4c873216bad532bcc455b5cdf070104d711c0352404a160bf28ccaea0b6189bd1e747c489837a95d97ad597aaecd3a14be9f1703e4c03e0724fc44a26ffb30fbc81f06dbfd00f79562ad45e7db35386523d233d803b2f65206150de9b7e0b9a8b5db52cdd0b4dbe475bf8be10ea7e1ffa20162fcf403cf4e9ab7e065ccdb301514145dd9cf5cc71996092c7a276157612cc6ee69ef530313d3bff25772d3420b169351957b89824c0e9340d0bc9705f13a5e5d7cad8bd703dea580c4fe76aab069d2ac82014964edc7a3920824d5eb4e48b50f5ee00feb6f05581e03945e404c781166e555298b10a1112ab0ef596f43dc8aab41887b3582200404030a2bfdcb45add6860f56b84906a153e0a1e5d65427cb1931e27021218cadf2c303ec9f4d55fffc26604b4807a53975b3f42602e9eb3e6fb228ebeb20608ec25a75045910a0608060405234801561001057600080fd5b50600436106100625760003560e01c80631d2ab000146100675780632e77468d1461007c5780633414d32a146100c057806336569e77146100e75780635c1bba381461010e5780638dce54b714610135575b600080fd5b61007a610075366004610c08565b610156565b005b6100a37f00000000000000000000000065c79fcb50ca1594b025960e539ed7a9a6d434a381565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a37f0000000000000000000000005a464c28d19848f44199d003bef5ecc87d090f8781565b6100a37f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b81565b6100a37f000000000000000000000000238b4e35daed6100c6162fae4510261f88996ec981565b610148610143366004610c84565b61067b565b6040516100b7929190610c9d565b604051637c530f1360e01b8152600481018490527f000000000000000000000000238b4e35daed6100c6162fae4510261f88996ec96001600160a01b031690637c530f1390602401602060405180830381865afa1580156101bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101df9190610cfc565b61020357604051636ac204fb60e11b81526004810184905260240160405180910390fd5b60008061021283850185610dfb565b915091506000805b83518110156103f957600084828151811061023757610237610e5f565b602002602001015190506000807f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b6001600160a01b031663d9638d36846040518263ffffffff1660e01b815260040161029291815260200190565b60a060405180830381865afa1580156102af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d39190610e75565b509350505091508160001480156102e8575080155b156102f5575050506103e7565b604051635248181b60e11b8152600481018490526000907f0000000000000000000000005a464c28d19848f44199d003bef5ecc87d090f876001600160a01b03169063a490303690602401602060405180830381865afa15801561035d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103819190610eb5565b9050806001600160a01b031663181783586040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103be57600080fd5b505af19250505080156103cf575060015b156103e257856103de81610ede565b9650505b505050505b806103f181610ede565b91505061021a565b5060005b825181101561061557600083828151811061041a5761041a610e5f565b6020026020010151905060008060007f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b6001600160a01b031663d9638d36856040518263ffffffff1660e01b815260040161047791815260200190565b60a060405180830381865afa158015610494573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b89190610e75565b50935093505092508260001480156104ce575080155b156104dc5750505050610603565b604051631504460f60e01b8152600481018590527f00000000000000000000000065c79fcb50ca1594b025960e539ed7a9a6d434a36001600160a01b031690631504460f90602401600060405180830381600087803b15801561053e57600080fd5b505af1158015610552573d6000803e3d6000fd5b5050604051636cb1c69b60e11b815260048101879052600092507f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b6001600160a01b0316915063d9638d369060240160a060405180830381865afa1580156105be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e29190610e75565b5050925050508083146105fd57866105f981610ede565b9750505b50505050505b8061060d81610ede565b9150506103fd565b50806000036106375760405163af6eefa360e01b815260040160405180910390fd5b857f0d83c9346002c9fca728d3a5d743e61837b6479c5773ba8c8ade72febabf4fca84848460405161066b93929190610f40565b60405180910390a2505050505050565b604051637c530f1360e01b8152600481018290526000906060906001600160a01b037f000000000000000000000000238b4e35daed6100c6162fae4510261f88996ec91690637c530f1390602401602060405180830381865afa1580156106e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070a9190610cfc565b6107445750506040805180820190915260158152742732ba3bb7b9359034b9903737ba1036b0b9ba32b960591b6020820152600092909150565b61074f600080610bce565b61075b60016000610bce565b60007f0000000000000000000000005a464c28d19848f44199d003bef5ecc87d090f876001600160a01b0316630f560cd76040518163ffffffff1660e01b8152600401600060405180830381865afa1580156107bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107e39190810190610f76565b905060005b8151811015610b5557600082828151811061080557610805610e5f565b6020026020010151905060007f0000000000000000000000005a464c28d19848f44199d003bef5ecc87d090f876001600160a01b031663a4903036836040518263ffffffff1660e01b815260040161085f91815260200190565b602060405180830381865afa15801561087c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a09190610eb5565b90506001600160a01b0381166108b7575050610b43565b60008060007f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b6001600160a01b031663d9638d36866040518263ffffffff1660e01b815260040161090a91815260200190565b60a060405180830381865afa158015610927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094b9190610e75565b5093509350509250826000148015610961575080155b15610970575050505050610b43565b836001600160a01b031663181783586040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156109ab57600080fd5b505af19250505080156109bc575060015b156109f457600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563018590555b604051631504460f60e01b8152600481018690527f00000000000000000000000065c79fcb50ca1594b025960e539ed7a9a6d434a36001600160a01b031690631504460f90602401600060405180830381600087803b158015610a5657600080fd5b505af1158015610a6a573d6000803e3d6000fd5b5050604051636cb1c69b60e11b815260048101889052600092507f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b6001600160a01b0316915063d9638d369060240160a060405180830381865afa158015610ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afa9190610e75565b505092505050808314610b3c576001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6018690555b5050505050505b80610b4d81610ede565b9150506107e8565b50600054151580610b67575060015415155b15610b9c57600160006001604051602001610b8392919061103c565b6040516020818303038152906040529250925050915091565b60006040518060400160405280600d81526020016c4e6f20696c6b7320726561647960981b8152509250925050915091565b5080546000825590600052602060002090810190610bec9190610bef565b50565b5b80821115610c045760008155600101610bf0565b5090565b600080600060408486031215610c1d57600080fd5b83359250602084013567ffffffffffffffff80821115610c3c57600080fd5b818601915086601f830112610c5057600080fd5b813581811115610c5f57600080fd5b876020828501011115610c7157600080fd5b6020830194508093505050509250925092565b600060208284031215610c9657600080fd5b5035919050565b821515815260006020604081840152835180604085015260005b81811015610cd357858101830151858201606001528201610cb7565b81811115610ce5576000606083870101525b50601f01601f191692909201606001949350505050565b600060208284031215610d0e57600080fd5b81518015158114610d1e57600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610d6457610d64610d25565b604052919050565b600067ffffffffffffffff821115610d8657610d86610d25565b5060051b60200190565b600082601f830112610da157600080fd5b81356020610db6610db183610d6c565b610d3b565b82815260059290921b84018101918181019086841115610dd557600080fd5b8286015b84811015610df05780358352918301918301610dd9565b509695505050505050565b60008060408385031215610e0e57600080fd5b823567ffffffffffffffff80821115610e2657600080fd5b610e3286838701610d90565b93506020850135915080821115610e4857600080fd5b50610e5585828601610d90565b9150509250929050565b634e487b7160e01b600052603260045260246000fd5b600080600080600060a08688031215610e8d57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b600060208284031215610ec757600080fd5b81516001600160a01b0381168114610d1e57600080fd5b600060018201610efe57634e487b7160e01b600052601160045260246000fd5b5060010190565b600081518084526020808501945080840160005b83811015610f3557815187529582019590820190600101610f19565b509495945050505050565b606081526000610f536060830186610f05565b8281036020840152610f658186610f05565b915050826040830152949350505050565b60006020808385031215610f8957600080fd5b825167ffffffffffffffff811115610fa057600080fd5b8301601f81018513610fb157600080fd5b8051610fbf610db182610d6c565b81815260059190911b82018301908381019087831115610fde57600080fd5b928401925b82841015610ffc57835182529284019290840190610fe3565b979650505050505050565b6000815480845260208085019450836000528060002060005b83811015610f3557815487529582019560019182019101611020565b60408152600061104f6040830185611007565b82810360208401526110618185611007565b9594505050505056fea2646970667358221220faf6e44cd82d740bffd838eb7bdeec7b2016673d0af0085919246da346a53e3c64736f6c634300080d00330605581e03174b91358ca6e81fa64d7d191b8c5ba595a130e9b2bfd356e9986d070007011910a005581e0377731073b248914a7c1fc89326bea7f0d6123f304510937e9f3a1c08700c034701b4aaa60cb00005581e031f50cbccdd9df00fa38b35e18989b770a06ab7ab270d7c06737cb2be40040303562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0388030d64eb7ade46943088737c44907bf2ca5761a56ef469ea440b7e9007011bffffffffffffffff05581e03c2a04919feb6b44765dd0bcb62029c0c39d5c65b000297f647131d7be004030219d60e030458179989e8faf824467cf82780331a95106bd48fd1cccd3dffe7987c9e9316034cacb6b6fbe2364ee3aae50b79ae38542736041d637edf83a4e16e0d6ddf5fc303976426e3c5c41a27e973c5edb8f10f64146a0a59df3cad378396dad42a04aa5603440a6e3512f217bdf0bbdabf3e01a079f3fcaaf384b1da6ec9fde19985bd62e30219ffff0392a8f1d2cf0164b09ada1cdf0028e8bedab00d64521958dc5ae48c80ae9614cc031b6f5d3460e9bf7548fedf534dd8803f2dac76ce04508d431bb88cfc2cad371503cff0fa9386a3937b405685dc313fd6cfa9362f52d13bd3e950090d273da23e2303fd3a45c4d5fb31baebb7d80049a8e6527fd850e6a2532cd91488c87c14038b6b03c4e10fa53305f3d64831b93753774bd26acda42ef206499d4bca7ab9c4b89e2903e18582dfc74b536d600087696aca279c934093e7e893c9bc7ec39045e71154460305b28d597fcad1154dcde554ccdf4f95e1547eec53c225b0bd562a960554c2bb03840c5d06bbf4f2823d29f0de29db6df6dfc002a13d2e41cd9c48abe72789ba5e03dcfadf8b242b4278c0ff11003950d4233633142eb8adb4452ecdcc99eccea58503c7ced8e9d2c40a2bb5e1b4d0690fec8b1ca43530572f4f2c99bfc8aaca16e81d03809dae85946e7cba5f589cadc60ff7b070f19d659040e85a2860c31714800db303d62ddbf705f746c5068098099183f61108ff72e81f62b696affc74cbc500504603820f9bb3e02d3eda4afd5aa55cdb26a9d51fef6cb4f01cf2a7a83f5ce91876cd0219ffff03c031de2ab2606080fd03459d388e77238a9d8f65e0ad9bd1849a86177b38bdef030630f9d29a43bba763a8d01a87fee1d483ea3a0cea8b357a3ea2aba8abb27f55030bde08beb176903d0af73851338fb9b5d73b649b5983a9f061f206c323b9c0a6038b881d8b6b05be38fbc0bcadf8199975b89165b23535a12e01f1dbc6db76fa6803434fa4e153167ac3e8d5cc13e9c25a96bcac2ac775074784938ecb0eadd6bab4038ddb8e80fa634597eddc3cc878843964ab67032bc8fb94856c202a30b149453f037ed90c154f000881d90dbb59845cb244abebb09b6d42989b98d7b2781dadd1fd035509e6be8369a00326f01aee08b8d47f92ac3f4e53cdb4c1469ea38697aa5a53035165c25c097088daf80103585c2c6e8dbef8046fe935eee55ce503a0fed573b203219a7b37402f8bdfb863ca9ae0c906500c2b0bcc5f213c7e0783eabaa433cd710388e969f83c932bd5927154dd3391f23bb0a0f0f1c5f668921a515a048fb098fa03f78bb95cc3fe72b09b4d7433b4e5317649dbdcb13e28801f85920deb6ddb3f9803b670d192d1f86c9d93b5e327dfccb5fe85d7a8ce4029582fb0cddb7ab4f492be0367cd52386345f8cfd814038df158e76026a5441c7a9e47c843ab13ee69c00e410219ffff03750820dcb3c52ee8a662e198c00d295a06ec94ec489a50b4857ba232f6c6cda103b0922ae7dbd639c6c411c56eca3388ca662a39ee4508f5eeb2799912e43a730203b520d3f928e858f44e486072c4967a559f2a5707430cd78380037aa8aa529353034286f91ebc17135580ffd0d084572a2e9ea674169e5b8993f9cb733a8c557c0a033b1d349d237f738c5d5d541de6104408a77d85b5cbfd562255138d917e532fe5030040b1de67891ab2bab7294ab0d7a2c0bbcc477b16df1f89ee56a641d76114ab03e4cfc1733083e2d568dd80cd78b7d1abc1fdfc29352d8bf8c85da097b49840790398b0d0fdfb68b78dfa6eba60da3dbfc602dc7a54f9270f800d82c69bbd1e54d50219ffff033370463d3b745f01b1928a30da2514702d68834fb87102c2a7b31ffa381e6b880372ae60922d2e117ca6d81ddb92e325bd5303df66aa49e4d09ddc067458941fb003133ca5b478ce63cae06513ef9e946f8cb63367c04da8f8d3dc3dce40764911690342ac3106e9a5260370b875d4c22508db96f3e8b326fefda7b82b92c638b3d75d0319d791d630e096f664fbcaf4785cfa1324805e5f7bd28baeb278bf32dbc449a503895d6b6371d96b3871c2252fb963c570dcb40a1c76998a66de654cd146c20f92033d60b05454077ebbc8cbccf77157eefaacfb496bc514414f84fc3628a2d78f8b038ead49063ad5a9a9fafc7edb566395c7b148b7104d59cc0d23d5c2506d04b84403a8d1d6a35d27a17119b2aa4ad257636f52b4459e1f1cc2d58d7edbab930bf9c103d3acc25348fd0081f872c8ed01e2def89c6dbe82f8dfb43b8561f09bcc729a820359992a7676c757a89752b3be11773ee16b27a68f5592fb19cb64bed58c99b93f03d98fd0df1f6f6a7dfe01da1885c88685e57ecb4606763baae1a4f9712ee37f230335c9094ed81b59aae0daf6785f0f118c3aae2b6af890465c51f2ab3eba6bca3c03deff28bf7df2410c5daca9d384b653cac3b44d6f318925a321840b0a96fea8c50328c3e62a956c0b50f289154a7ad5d26c7986a8e24ba08cdb89752453c5195a14036f193d04b4b3974cec291cb4af65d9c4b6aa96df0348e2dc3cbce4cec5653d9f03cdd586852b41156e4affa542a6de6b321ef364b84213de642ac085c75e8cb353037010e5858fe27c6475994fc81434708cf3ae0557c98912c3677afc2df8efb38f03dc3048abee404bd762d77dffe11b1c8b887710d79cc6576b366a9fbf442869e4038a939284bd32af71419b09be0341ff2d38d6f99d9eb2a0db8f827f237f1f0c3b03fa0eaec1e80c6ae3231dc0be826899c514f8ca7661afdf4bae2cc590fa8c561503dadb263aae3ee9120e6150bf7fe19116538257acd03b05a9b4fc9df13844aeda0366f48d2a8d6add746459446431a80817f32cdb3e4f57921638a97fbbca0b561803ac37a691099a1cf8cd6760390e5f27baa175b49ac9fec08fe749ff40d64583b2033234575805517240447a4a8cd5854c84be0d2bb3dadf22353bb8dc90aa744e69035823c0d32faa002588a1398ba79478bdea00d6e1d114fed5499e23df4a5a04c903c4a367bfed92a4cf689079fb2d6a0c69cc58f744d2d8e2d6a8a49d3ec0e2370805581e03007fb4565238f69e22d419794b9b521d78bd4e0491332d36a73a98a290040105581e03cf9e959abb1ba2cd1aa218bf6e97c94a9075eb22553744ede22cd6b7a0084708e1bc9bf04000032d5041585a388918147f8d4739d0156f0a72c35037349bce7120e8853106aad103406fa588eee1f4a01e6cb6b88c773d03ad0721d8259ac1d7235581819a326d30032c07c3aaae76c3a60c3de99690c2727ba891882b8ff5953cdb972fc8220fe5c105581e03be199a204756d155cd81b1cf513ac80b82d17743af4844414ff818ded004010392880927f6926459cf95263e67a478b7bc46be90dbafd595f546ac6f6471fca205581e03320b116ac741eb4c22c33b3e12f99acfe168f5c23fcdbac291ebecbd0008470df02a7e91900005581e03151354a220bfb40b8d94549d7ad95ae370d1554777278a66fa478a7cf00c024706959c205562280399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908038964ca285741bb3be874b31a80ed4ba7262cb3e237de6f035e8652386c05301105581e031e447e7d58b60f39b6af954af13b0ccb9ecc26b78c9241fbf5c190ac7007011bffffffffffffffff030783e76644e1b5efe8cc77e6a60d172763ff5f5e865b73b4ae8ce792cd537c21037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e0318a524e347f11d8fad37366dc2c20be498ca616a51bcb58899a163c55007011bffffffffffffffff05581e03ccfd2f712b7f5630dbebd1ce71a5088cf497e65e19167b977863c16fb00c0b490120f0eb96be0dcc000219efff03101c56d8a5d08f0053876b0b96d55fe42e09615afd67b649c20e4b37bbd0dc64033a778185136e052729df1d6ef4112c38c8138e0a7b904e1e6c6a887fecd2e77a038c2212c9a76bb686db33072f3734e6000f99246dcb4176a82fe9d2f7ffbdf7400342fe9532bca6abf8a30af2bb4d72a280fc5a9b66e047e1f1084d73385a46cd0703ead2442bc81bcf1a37bf347594eeec1801c6c2782805b0d9faa845e2e8b7a17603f8ca9b0025917cc5074254d0d6679442c2bd3c81e634ec98a6b068ed254e3c43033cc89adf1eae41df6aa753e4daeeaafd4a1aef04e4012fb3d0be241e784045cf036097c4325d73f229b7e1a202bc22774cce6c72deeb99c488ebd1ab1f06b6326e03f65406c6dd1a1e3dbe1b1a62e7f90a777025018505d3347a7fc95eb4903f60500355698efed5abb0fa18d2bff314ab7e9528e4452ff6c0dadab8fa0313e1d32ccf0219ffff0365a89afcfdc7216843da68e11b7a2104c0c55cb14b885fc56f99cf61331cbee503658de66f8a6b7f5a3cb8cf79bcce0d5fcccc91d667001cc44ee75ca077a2863003b53f59c0219c9f041deac16c93a3837181fbc7cd235d32af5b4c6e44b1aba097034a0cf9e12b254b0644adbee9b8e63aaa8c2b146d1acf765be42e7f85f2a58d9a03a814a5d183e9afa2e34fbf4b2b31370550c7d0840b5a5219a5358bfab5fbd7ca033899c9c5ed98e182d814fff13a3f47f8311ae8940399576d785f2e09268baef703df275b15736213a5264590d12c9740a98b1298609d2d8520ff03f31d842026ca032a859de3b7e3b6e2b16d3733a953140d4dbd85b49af3ef2889ae384d5775bcb603c416cdf070f13bba6c09592c5ecbaaa7ebaf930d81b38ff20657fdf7677712570219ffff0322c7cb0ac258776270f488841e071a200b4702b0022df955e1ab26733da0858f03691de2425aa9f3ca4bd4345a927ae2db6d8e66bd321c46625c8a955d59d71b940344a793e15310a28cd8c81b03cde9b39c727c73a679fb16e7148e3d0bb62553e10219ffff03078bbd1729a3b0e3dde1a51fda70a2dc9c41ddaaf0b731d247b7ee5dc4e617d003c9cc458d41f41f62d3229e5b63c1229770fb7172d8642548bbf30971d9e1661903e48a824dd5dc2ef10cbd146cdaf84d9b1fb42be33468574cd82c92acc769cf7403c2b8ed424242f2af8c92b8d4daf36cdac490ed8ad932ba31a21b6e7e580d920c03aa3eab2ffca20f5d0d976f3c5cb2e2e43bee5b6eb578e290a7312e8fb44fe74c032bc5f2ed71394dc48e6dc471f76e1eb6992dd3c47158bfd0087df09cc9b1996a03831f3cd7b9150bcb49462e474f49f1d5fd2f04a41494832066ad3cbd669d8e1f038da7cc01e36278f757ef22061b5f521b0efa64a5988505be1b51c43334be601203cbe2b55b03b1784fdcde034ed6d8b139ba52fdfb22498f07b1db298822b3cbc403cd0a973330f8b17ad53e62a0d146710ff38684a2ab439d51f9c7a46604b8c3d9033607ae161246af25b43fbe1bde6d31461adda6eb894a3998b836cc10c077cda903ac39cf343fdbd068e83dbced7ec10754ee1ab380c10bc4dafe6c40125ddb216303ab30d5e9c792f09fed62b62f2a108300c02a238a421af30a289af69522f9dbc603b3ae820381a405511214f13f617c290273bfe15e077cc8b33e933442af780b6403a09ca9fe6b08b1c54dbb18fbd52d2be82cf3523018be568efec6c0ee67291a9f03deeec5685a298fc11f83eedf31fd1538c91714c7996ed9fc6a1db45f855491af034a78802224cb4a0b2eac4eb80bd57f8c5e5a63897b684b83a0ad50c88bb8ec6003b9aa3921fd3c8ec27e24a066857f92829ca038701c49e2ca41c8fcd866cf5c4303a22a6315ac3573d77a539fe0692aa09467fe7a901cb19703c1d25bbfd4cc5b3e03959ba483330e69f415aeccb49dc1757d74f77d4ad1e88f5315047902bc2259c6035a091816c6254974eeebdd849d4dd6db97f17d365bac7edb2084db645c10bd2c03f53a3babdd8550ca4acbed7b2eb05d9953b7c4dd82c9d3f01eedeb60257f75780313f979c424c9bea6353f81847e8864dbec7b953c5e4728e4b4d411d4b54cd0f303f3dfd18cb7c83fa448df78ca05a658c6c570e513400193a2f87fccb4b2f8e83103f12feacf1a055a1d2876613d10d4a58d6309593a847ba76a803ae64b85bf82fd035cc15a199afbaa92357646a73939352782ecba94f7216cc2e876f2872e9abe2503c52730fe962cd0cfb485fb7addc1c55a4910bfd88c9caff4f36295242f070e92031bb01f85cbd6a993ebfb67f6f2c214e583653a076f06f8a1543798fc8ee56d72035399c00d4f4f263f86bbe70b433d6fea8bd2f33a9c3ca592cdd7af71a93a0db403e9b8709787a47aee29da624da3c6e96d37aecc9ba55f1aa2b579b9613df5603305581d02c5519d64582ec2a9a1dab1d538526370050ccac8a16e3a9cdf9bf0710402045910e0608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d714610223578063a9059cbb14610236578063dd62ed3e14610249578063f2fde38b1461028f57600080fd5b8063715018a6146101d85780638da5cb5b146101e057806395d89b41146102085780639dc29fac1461021057600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461017a57806340c10f191461018d57806370a08231146101a257600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d6102a2565b60405161011a9190610f87565b60405180910390f35b610136610131366004610f5e565b610334565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610f23565b61034a565b6040516012815260200161011a565b610136610188366004610f5e565b61041b565b6101a061019b366004610f5e565b610464565b005b61014a6101b0366004610ed0565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101a06104d9565b60055460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011a565b61010d61054c565b6101a061021e366004610f5e565b61055b565b610136610231366004610f5e565b6105cc565b610136610244366004610f5e565b61068a565b61014a610257366004610ef1565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101a061029d366004610ed0565b610697565b6060600380546102b190611027565b80601f01602080910402602001604051908101604052809291908181526020018280546102dd90611027565b801561032a5780601f106102ff5761010080835404028352916020019161032a565b820191906000526020600020905b81548152906001019060200180831161030d57829003601f168201915b5050505050905090565b6000610341338484610793565b50600192915050565b6000610357848484610913565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338452909152902054828110156104035760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104108533858403610793565b506001949350505050565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161034191859061045f908690610ff8565b610793565b60065473ffffffffffffffffffffffffffffffffffffffff1633146104cb5760405162461bcd60e51b815260206004820152600260248201527f453100000000000000000000000000000000000000000000000000000000000060448201526064016103fa565b6104d58282610b79565b5050565b60055473ffffffffffffffffffffffffffffffffffffffff1633146105405760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103fa565b61054a6000610c7f565b565b6060600480546102b190611027565b60065473ffffffffffffffffffffffffffffffffffffffff1633146105c25760405162461bcd60e51b815260206004820152600260248201527f453200000000000000000000000000000000000000000000000000000000000060448201526064016103fa565b6104d58282610cf6565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054828110156106735760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016103fa565b6106803385858403610793565b5060019392505050565b6000610341338484610913565b60055473ffffffffffffffffffffffffffffffffffffffff1633146106fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103fa565b73ffffffffffffffffffffffffffffffffffffffff81166107875760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103fa565b61079081610c7f565b50565b73ffffffffffffffffffffffffffffffffffffffff831661081b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103fa565b73ffffffffffffffffffffffffffffffffffffffff82166108a45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103fa565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff831661099c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103fa565b73ffffffffffffffffffffffffffffffffffffffff8216610a255760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103fa565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610ac15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103fa565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220858503905591851681529081208054849290610b05908490610ff8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b6b91815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff8216610bdc5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103fa565b8060026000828254610bee9190610ff8565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604081208054839290610c28908490610ff8565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6005805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610d7f5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016103fa565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015610e1b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016103fa565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260408120838303905560028054849290610e57908490611010565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610906565b803573ffffffffffffffffffffffffffffffffffffffff81168114610ecb57600080fd5b919050565b600060208284031215610ee1578081fd5b610eea82610ea7565b9392505050565b60008060408385031215610f03578081fd5b610f0c83610ea7565b9150610f1a60208401610ea7565b90509250929050565b600080600060608486031215610f37578081fd5b610f4084610ea7565b9250610f4e60208501610ea7565b9150604084013590509250925092565b60008060408385031215610f70578182fd5b610f7983610ea7565b946020939093013593505050565b6000602080835283518082850152825b81811015610fb357858101830151858201604001528201610f97565b81811115610fc45783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000821982111561100b5761100b61107b565b500190565b6000828210156110225761102261107b565b500390565b600181811c9082168061103b57607f821691505b60208210811415611075577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220a1330d80ce66c5b096b76f1864dcf44e2d14255a5556ff956cf05e270fa9d22c64736f6c63430008040033031dc04161c6952c3afa8c66ac24276f95a3068a870fa0ba6c4811f781034b7f17038d9938ab37096ec5acf12a5d1a3cf21f86716551456d1e68a73631c8d07ff57503254a6f4795b576b56062e6fc7794e97cd465fb772031b1373fa5a93f5a8ca7e903c6257a6cfb83b1e7420632aca2e7dfe8758cec33f437900d1401eb958b5590a603aa742f002358a771d942d41ba3390fcd96307fde9167b69ec65447df4637925d03849e9c55557af85212b49c7ddd8f07a257cb95346a747baaaa98c4b03525fc9103d51fc47f707d200593539cadd41ec33f9904e9d06aa35a95af140ea4c130b55d03dd0e424b02924d2450bcc690be89ce868ac170ff51f430b94f748b13bbe1bb0d034d210b96a285871205735469ba9afb00fe9659407500a0bdb95f89a4ef6fc18b03f330e3e1f536e49d85550ceeb49230209134609bff0443ef279c7be1c4977447038682bff75fc57e6ec6314dd616c5d21027f6d4db288d84df9fc0de5b241bd04a030fbaf0997b86fe42f9e1e630ffe24e046733647f71068cf472b617cc38805e7003c90b328cb500fd91a3ff4b80b20b1c640b5d4ccba1ecee86ab9227299a3d74870396dc7bfb67b1c4216fbb06e17c25acdadd3d0a3d15b728bb743e41461f7c07b30319e9aa5eb11755bd3fcc2fc5a7f03e26e2b57d840d1e5208a4107b792b6e93ec032486472c4b12813e1932fa1f6dbcabf2917f68bf3e2aa64bccf15fb810a51996033f5000c38af8877dc35d04a904cabce2856ee925349677db603c0052010e878f03eb648981da5a971d12aaecd0d8757007856f4d6676804e17b21d969da38dea0d036f442b33bdea41bc49748f19ecb202100e12f90d813848b1cf570ff6da66fe07033afe4450e5df581dcb51f1f876a7031ab6acdada5cf03405b9069c2fe392f9a500582003c9585a972982bd10aefb818e68139ac2a83068e98f948d5c7a9545205be7305820ffffffffffffffffffffffffffffffffffffffffffffffe5faa96f26247fffff00582003dce8d6f7635d0df750883cd64e3ab6a14b30dc1eff4d38de427400d3038de05820fffffffffffffffffffffffffffffffffffffffffffffdc24602f465e568f4e303a003a5dc20034ec2afd1243b87830689af3aaeaa6cd4027542e4895172835000036e973c00cb790534832dc47292e6d31e7b94fb6904399d3d5c41b552ff4cf98c030b960ffec86b9546086c26675a75e27dda4cb558e180add685891f380b4e65c300581f0270e1ed6e57f13a3d120b7f866fb7221e574e29485daaa872ebd35f2d228849d8d726b7177a80000000581f0217e1459e4f6df0a0a56f3014ca6f5142a26e72128faac0caf9a2bd98acae4b0411a2290fbe565f8c000000581f02181c05ea990fd51e3a3b382c8e71ccb0c301f6c3683809396a4f23f16382490e3a36a055f880000000581f02510078b86eb0256fbf8046609d05b4616e490f7c9fdd614912914f843d825820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021904a20361aed169f6e29f184ecd5dbb7abebe2404a78b750f6896901fde32bfa20bd7fc00582003f9afb4b8d7c89f8ee919448a561c96eab82e468d869878af667a8ba117ad30490f473aca43b69094860313dcf3f2b1e49dde0b261a29d9d042ffab9a4efb1dbd5d8fcad8f9d8a6fa5a78031cd43fa2e5c79c233a5cfb6c0ea7ac392ba4ac5e6622bf2382f61bc340019c040326400ea6ad2cab6ea35a0d9e36c8845ce6d160222a7f524db2f0fd3fc467208e039fef0c346edad65f1f405880b35ebbdf64022c6e9d5738659188fde639a3576500582003b400b020347f763d299ed64a1b76e16e282f4d2e0c98d97b179a9f821074204a0479a8e100247376c91400582003874e6294748b1bbc145dcf4bb2ef03d2056bf42d3892a741dd3bd809c8b1f05820ffffffffffffffffffffffffffffffffffffffffffffffc18141789e302276970219ffbf0219ffff03032fdc6d62cdaf89bd6eb0bcca425d2df2172fa578649b94ecfac3508cc9926103d815a081eb76d865416ca66dc3cacb83dd5d80f3fd59a1d6eddc6767f48f32f903d93b70ff3428d6f092e29f3ef41bbd92633aa9dd3f2b253f7a98bf9f2619998503b15853558b50340fcb669367c8d540a23f46fb6ce4f622312ee4c98296cf754b03d5a30ced20aca24e7aa202cfc9d998111eb0848a78d7e8178d6a975a1029216703c28b6910fe4aabd1b78d71f89198bc4c198b311b6ee396cc99e074e7c95bba9700582003a46e7af471441a58acccb6db79fffa0b4522993f596473621669e2e3da53b05820ffffffffffffffffffffffffffffffffffffffffffffffa67962661e9ad5bf0900582003fe517c96271d5142fa9258b67ba598c9b598541dc576cc1f81c2e78f7948705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820039f83c3f29044779bccda7554212de7bdb83198307802c5dfd53903151e14305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030dbcaf3a9ddbd4466115bf7f50af12e79bcaeeca2c4702485ce1c4c2d6eba04806592a80af090024005820034df116d2edb13c33b1aef810d3073be473f7e82e0e35d4f5d60a9ae9e0cfd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031c4ce5199e50e23b65cd1b1d0946d8039d09af79be6fca20429dfbb78cf14609005820032a3b57dd40af5f2b15249cdbfddd490cf83a21e30294d0d147f562965523d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032303a526e4698fed907ef162b10553eb979b941c26a0136ce95425b384e38d1c00582003782b5215e02a157551435d2c18ecb9707f9b296e3ed938a37e3b6388ab4d605820ffffffffffffffffffffffffffffffffffffffffffffffec7bff135c9b5fffff00581f02f6509798f1a45c1414c39c0bfc13f6c598a13fd971abfef358f099b7fe8b4a3d8cffb1b7c26b97b70a00581f022122ab50ddfddfd2b5bff24752c3dcce02eed24459fdcfd5a4dd9c1aa5a15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0292a37e0d956ef9797ac6da9fde2d6f1f2b53281d35205cb36a4e10163ad45820ffffffffffffffffffffffffffffffffffffffffffffffe442abf67aab2a38db02190888033ef91e9c4ece9f0a0e4efba029257b863e9cac4dc85b5523d0756148a68cce46030c25fba355f6f0b91be1df95ab53c4bb4ec9abff7e97dc97f85eff2a415ba24600582003a9d85df6827babeef609d7e3da9e0242efbcbd15089aaf9eb31c9a5419e75049d8d726b7177a800000035153976952c5ee2fc7f9beb0b5bc22e5c29931c5020dba7f5dc737c642f7755b0325ed67960d532c247063aa20ff9924da25f3e1b010448e5e23d0de15a562eb0d0219fff703e2981b3151a007b141262619857b80839a5451c078d78cb88337f8af4cc38db603656a291e520aca35d640804249f6ca3f94cdd9f4bc008ffc46350c8c7f10544f0358a93f72a27d764bd139fa82a73b7903a02f6d6c1415b8c81c423d6d0b2990f70367219703fdfbcf3f6507296c3d74e74dfdbd9267d64a9f17419bd58cdc17bc3e03bbf9cfb1decdab14eca659c114bc894b1b860ff664b2132c25b28a041b1c31b703ccd3383b8ea853bb644485e40e868ad2073d7446919e2f1e05613efc404bcea1038f8229ae862da80cc4a933d41a2032fe89d7a7f91a897a9fd2ae0f73c2e46c44038528eba172b35ef15c7a2341e358f1f1292f42ec9a5921ff75f8ac39ac9c54f603b3208c87ddc4606cc47dea9c9e0f0d8dabd6e1c641b84172ada57a4b4d0854ff03f3795aa427532891a3b27a138cd69be9df31ed5dcbe172b3bdc13bbaea6180410397bcc0c6a5cefbfadf58583cb004d5241a439370432d708ff456a3c598f24a51039baa40038c3dac2e0cb66e9629fd428b48720a56f976bc704bcda0402d00b1a3038bf18ae04e15dc4018336beeb2acbbb52beb50c8a2b5af635b45e212af216e7a0219ffff03c06fb5f7d5fe07132bda004dbebd79728ec96ad50dcf767e8fc9f57ae0c50d2b0308954d8ba6185cc0ced4f6ca9649c144b2fb2eb622a9c2fcda5a09e4dc0c20ac0310d94c8c3f2cbbdf6ad9dd754bea05c322d8e561de89db1b916004496cebd8ee03f1f31378aea884c56a9b693a2557e799bf2536d3ea8bc0667435b81f69d3c18a0380acf7a501fed8b16b364a5cb0b1e881ab675a4c12328e7f3345e2d4fc8f47cd03e87a9044401ed47fa0139c323cb5415ad28771888983bc9e25237ba132cf14cd03df819ab861a989909f74f9a3ee1bbaa311b32da5a3d3fe82ac16f909646066ed03a1228b6efc724e7eb35fa15cc5d84e70dfca493546f98f6693a65b1a868761ba036d1646be90010a4b07c5d99bede1687124073f2ede293bc717b1ad5b5a7453ae033bd640ee31d607f43b02f1e29111e4a71ebf3911cbd94b54c1c93f01cb36861c0375ee7da0fc1d26c7fb19b0a19b421fb1c51de7320eafe726c07aa17d8ac83b56035f615ca47e7e526ce9c229d722c6e359fdec459349cdb68e07d08e5b0fa78c620302d8ec1ffdeb21812e9853fd50b740965ab70b57d848033043511c70fdd3c6ea00582003733a8e01d729c4637b95e73ddfb32cf3e37923a482ebbca338b90a3678933048715a4b663416f27303622c3f006a9ce17ff0e25505f31d312db1fa3139da4ddd32326fe5a74e3e0c9f034239d37f9cb5f45cedb1b653a454f5e6380f95a39285eb24c785134b17a387c2005820039a63c731cac763630ae020a1cce01b6674346e827ae65625979eec9c0515d04806d2c03a768d57ac00582003d58c6fb5b0821e965d39b927167760315bc8fccf2e156e7a622e5bb61fb9204a0268f05c9931c2c400960058200306a7e3fd92a4a9ddafe698e7045225c06e75e01d48c8ac0cd2cfe4c22473c05820ffffffffffffffffffffffffffffffffffffffffffffffed918d5965af2fffff03fffa4422bd05a787f51f92e9a1d07bcd78363834f91f29016111d60747518db800581f021e7363e69147d00cc12ac2d7f4f58ba738de840bf5e10f5b1794fda1de935820ffffffffffffffffffffffffffffffffffffffffffffffb2e7a607e5131effff00581f02e2b94820f398e7636abcc665639ace1b086423637387ddd91a04ba94df99464ed1a789cb4a02190500034a1593f5ad92710d987aaf8858ea0e19ee07cdc6ed8825314a62c3723138f8250361e4865af02120bf1f8574601abb0da94edd9a20081d0702440e81ebd6f282f603c8c3f9db05035191538a962cc51df935e2a951da0a32893733b6e01a20d4216400582003f2533211f7e35b79ed5d4be84b8e4992ca8d67f5a4fe71bad774b20a3b09305820ffffffffffffffffffffffffffffffffffffffffffffff93946ca47442bfffff035a8fce35ba69cfe0e9ab270fb611ace0aaabea7d6f798b54dfc6a1bb2d815ca90219f7f9037a43cc8f9b32582ea95ffc9c5406d3e7dc318d2db426263f75a922af8cebea01031c906c6e6953cfa17f77012ab8ba9acd7fe94ae539dcff58c9c45027ebdbb6280365b97bb1a2cba989a188b4518653ab302bdd6baa4ffcb0d9897a7a3ac4c2430203a93d7774130958898e97c36e2aeba709aba6cb3f0edd3010e81517999d8f0d6103f533c1191da076134e4ef4b1dfa32de08b8dc9bfc5bd2e5061a1663dbc6eb503030c7d812fabdb3ff61ba4d8c6f6ec04e0b1c24814efb1957297152bc18590980c039fe5201b48c032d2e717b6aef7d9cc95986371472bf291db27f2f8ffe59658bf0219ffff0219ffff05581d02a9cae5b67c68b1dfbd7b5c16c5fc4e00e9e78c2679d95828bbd8e8b507011910e003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d026d8251cc06b7ea01b93eceb30650e972527a1fa695b52248960c7f0807011bffffffffffffffff0218e005581e0350bd2ce00e9b28b8f3397d22fe2271f08ec6c7394d4552ee97de4c2b000847be33a07f62f40003b43516c9e8cc00cb7c592ab3b6e1e1019c2b58e266a0a2a8190dc64284f994cb0304af3bc6c04b522e09b0c3945cd4a66a7ff1c3de6aea9267d484589b581b713203d4e6d1841985a9187fdd344d3dafddde1538dafb71e7f8f4685bed96f0a57a5c05581e03da0bb68f9e8a8286052b01cbfdaf10fb951c997a6fb6aa3152e503bdf00c0246fcd97552a40805581e03ac93eb7128c9d4a1cc100abad6cdfad46ab5052f1f3895daa185934b100401034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03291d2ebf11be33734e766420c24b76162d5d99738230483f3dcc461b7007011bffffffffffffffff03044d18265e722f559fe1fa6fb66207b3a38690162000993fd54f3c0baf43eea2037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e038fdd8e8180b534a8a4da601dc2f2df3137ce8e2fe0609ca1bf9dcc15b007011bffffffffffffffff0219ed9703cf5b2e873d83e35af0bb5c3bee9895d87f3043cbd8b70beb6adfda80a2ffdf1a0219ffff0372c3ac10b7a0a597811acc6f30d5a819701620b4411cd1a1fdf1a6ccbb3b940c0331b11de106288ec68fb9b5709f6e0e5f4230049d0181a57d78180f5accb68932035cb0de8fdf74adb6231f22d511d702c6d6ff896ca6147625ec9159b773c512170219ffff03934e6ed4ce7ad6f7a2d37e744ffdd4f4cdc67c73d9a76955ab869642ce3d4a830321363db87fe98bf13ceb27faac0aa515acfb5d42580906353c36ea1e4d55609d03af18f56694df16c5c9c5dd80511d78c5c89a5aef52a9afa9c8d280118741a58c03d297d40ea8fd8a232a93d73f66e2b84bf3c00abe2c742198e4c12a3c8da39b5d03ab9af7197a1937ae0e3f911b73ce1f06fffecbd1c1a9432e16c8204573ba57740301d851289ea12abd803c082b3281600fe24f7c9b7c4623c124103db4425d3216034f2804f4d2ee03574b9c4cc2e9d834a4e78751dc0d91d835e749dd70ccf011e2038e0dc5279fb02f036a1b2e49a1e3a8fde801f02e4bb7bfdcee103164e2d555cd03b225a3eade2b2166d6f22619df88e8a7f91d7044a462369d40235377c340770a03b5615b47ab743748f34cf3dcb374943ded3b96f155e3be770015dc1324ca69f003adfbbba85f5f7ac87a0bf50c7dc386d62f2d3adef4615d37d12bc8975063362603376e8f295db71fd05071ec25a053b2d352ffe524f780d757e9e447ea4e638a070219ffff03edbd4d78f5378bfdd5e1eedfa26c0878e81bb60742789053904b37fce69dc522031158ca11456380441f5da9642a635b30d4bdef577769ae0a5515cc71d29d592f032b5fbb294c5170290adb82d5c85f5d85a3d9bda4ed1ca20a1fa77ba62189b4f4037adc8be23a5a9ef6930e8455f8cec28a0e66daa71e6fca3948bd355b39cd6cbc0349e370d4aeaf8b3a9efaa83f026d6f59aa8ea475083227fce1ad3713c93d6e6603e4ebb58cf5de0daa226873ea357dbb03463b534a061daea8aa1027c2500ffb6603985923321916c22e99fbd6a6deb9e1fc3bc198ec49dcb5c28648d87d93a572ca039b41d732f81ab424cb7d5d1a46af2402107af82560c9cbdaaccee1d8adcdd16b0360f5f52c61e139695605941337baf89233999ce303a65882b26f5052ff40557e037e56b233eaccd56619144350505a3a4a40635b259ca5c3f8e7fb6e4714c773cc0335716f99eac32c3f29642128555d7ab4ac785a38fa2a71fcfab3c297ec058e8b03c2305a558b64b91405745d52d042528a096d5be8a6a0ce230c806d98bafb27f70306ebde9d84c31b4da4893ed9787a6c52b96b53850b4c467f989770274f09abfc032c0ba255773599a903558deb539c7cf12babfc04e50e944256e5617bf2029dfc0376cd73b25291f41afa7e1d153c95655cae9947fb768e4ee93c5c884fa7d09ffa03ed599a4dbb983930266d874f37b7f9aa986e1531b50050dc51f38f7ac0c380940382da6f70170b067e2b9e31c29536030c5f8ec3c56971e1573f352a8e91f2585803bb03f97e769b84db4c7c3d4593d29ed2e1083b3af6d478366cae274fdd1d1f6203a74efc2ffbf416b7d52f6d06e73d21eae3aee010e9738abbe9c6167140cc34cb03ac2fd88db890dedccabee3e09635c66671940926df233eb81c9c2fadddf6805a03bce872731edf71e5d8e9546f32a115cb563a556faa47a60d74c662a1ce54ba2b03815265892b97ff0549dff48454467a15aea0f882f4b4f603c6067399466b5a42031fbc2dedd7844600e9f8e2b6e4dbd7ffc330f866bbe22714f42210eb15c2180b030266d4fe5ad62c8bd31cda047bcd57ccd9d5cc040a349a590efdc73b2b57d22d03f80f24a8baedce6a010451cb747a250f1f20d9748943c0d5665e90293c54eeff03489386371c464d79b4a28422bfa54ffdfaf6d851f0c9bd8b9e7b551e52b5027003e2f02c147d89e093bc82d6058fd3955e14d025f1936d5ef19fff776b9556229c030d9ac9407af1538bdfa8e0a97c051cba51b744d31a12c62547e0fc2c3a80b91e03883c227e067841491ae6ff4f5fd6eb27d0f4b6d350698c6a9f6a102de3dc7dd0030bc212d106d30b156abf1e0800dd95b5bda95e9cdba0722b41c285efe366fec303580ab2c8d6b50d305efa44bf2b6ed969cf918cab1070751ebd98c51721adc3a003bcdae3a8fe4d35f7dd493f03ef0ea90f2ce090138a9558766ef730aa49360e3503aa57e7e463870180755f15714ab864fe6e66f966be98968258816a84add4439b038cddcf62d25725ee39d51d42f05d8b482143365d5ffe9587303195af6d5d07fe039204c85ac3a38c34ce92e814ca9b4cb2e7ab04672cecbb2b4fedc7630cde29b80333ed622f56dda8cd8e8af33fb79c6012476de44c59145b6d7f30dbda9e1b525003b9957569965f77833e87e6978da500b2bbd4831063bb136250648a138205476903065e82b7158197b7549125e6e85eafcfe5cc2ef948d8713d216a14b01220b3ce05581e035c51df20eed856f53e353c76a5a0e943718fa71bf35ec5fb216438e7d00c0747014927f4ff83e805581e03f198f0909e1d222a8dd1df8a619dd80f6f59c026185728ddbeca4aa350040205581e030f810d517a0badb7b98ffb04a3b2160240d51401330a766bc0e66b71c00c0547628f8fca6c940805581e03f0431e6d7659fa94589512ca60d85a0bdd599b641c3ffcf7619c1521600c054707230c508b74fa03d9666b63d05217672839f31f94442b5640aa1092639e7988e258a48264ad13fd031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02fa3c9d02f8729cbd16e90409886f6cfc2a8817da939752f45500774707011bffffffffffffffff05581d02ec0e4acf07181340b10920966c1a5fbc8e092c30ddc9471d66a8c9110c19a9044802e2a700ecebd6050219220005581e03138e8f048659d0506cd2f5442f312984fb80c72f22314ea02af24be2f00c02462d785e372e0005581e039edf39d016982e24ef5bd162c0586fd2907d99e3f83e4480b307cd83c004010219f468035ae9486bf5e71c03d5d6db3f2361211fafa4835823db93d4a2743c7598f350ff0219ffff03c1b5eb97743f9cb6f72bb3c893969cbd58786dacb50787902387e7746f22b414035b17b0f0df0639ad2ec28dbc4fd46db616f0963e0a4667f63dc8850396302e3103f64d9073ad10a6a2b79f6bf82c6d9513027c8dba2b958be211a627e10d2ca93503804f3cdc99203d8471081ade996de2c70d4204c7171b5272a0787a2b81d162470342eff1721d9707a82d7178582c7b0653d8a140db04c25358ee34feea6f2fb5210310b3cf7e09b952bff44e3e551b645c518e2216a0f9840c2ac404a54c92952e9a03b90a8ce5b3baa9bdcaaf2a17b4ecdfc059127a7be81bd7041b34b998f9fb31a303c71b98509449461bfd3c1d64b544f599829e348b362bf494aa1ec7e988d7e1a103574c9af51557a1cf3f2bb8822405cf3952930bbf0cac1d52871191afcb0ff3da03570c92a98bf4179cd3f8135d7314210930754fb682c99b9b478bc8b8f97e798903d52563625504923703c71497a1b0d4e8dd7e054ffc15787585afc0a553a29aeb033332635e0465f0e57c3e5aaf51e83b1aea73044366c39f8e95d3f322e88121c30322612a1fda4eb35c5fbda74b199810d60262c309ababae893f7dcf77611764210355fef8b6b1f9018f470bdca56738d6db1625cd704f7f89f1bcb0cec7ebdb03ab0219ffff0219ffff03a09f64f6d5848f69990b7e7cd8e80b17bd73da081470b3e97885f87191ee246303b13ae0f8b0480093d19b9e7b6949645c297d77bd43fa07ef6bd06dc2d37e71d303ce0875b82c2f6d58874b01c75e2eeec4e0b14ecc3ead683233acf86a3df4f90003d5b4b5b7568eddc3c79d700ff058bf6537c9e8d475011acb1cfb3aa475068212031b75d4e82ec890cce32ccd1a6c715cd2d8c4516cf8f9512f1602ec0a026efcbc03e69f016d15951aba04a283d8d7f5d3fa332ad8a58e0746c291251242b687117403e1733a046ca4365915e98c514239e61f97590bd5be664670b3170d806f5dacb0033a958ec14c030bd50269f8c51223487abc3610adab32a6ae8f9f4feffab7599003c0ef4cca9b77ab6f56ffc223edee7a60791d326c6d274cc38b55552ea1f14c0d03f23e6323cbe93a3cf9bbed166c77b93aff9810ea1724adc3a990a8393e9779e9034a0b8a54249cdf6285f9a87b40519f098eb2805030beaf6040d2359c105640cc032208c5f4bff66248095826a5f5906960ddac749838fe156ab2942a97fbeb7bd20323879019a5ad3d3e616da105f60d0a068cc8168edda88efd2ea99f3c8a7e177903b5cbd755c6d9613f4e6f25dfb8726570039a38903f26cc0d41869d8bb8dd3fdf034f2877625782305c77f239ebd15788a97e58c417e6f955c65ad15d6b913cc29a035d4302563be8109723137e541b8f600f425ba00bbd336a2ae5aa7d937860d895030f8562ab843a86c1071e5b3909157ddaa967bb074d073febde0fed00115ffd9d03afc0eb3b444bee0cdb35fa3190cc10e7101d43c50a0dbab1dcee8828f89b267003ebda7933213c384a9bfa719e6e5b43cbc01efd792608bd7492c633edd052392703b2b0e7ed8a641eaa072d59422ecffdd9ebe85b7a420d085ee364c63af023d2210346bddbb6900da48330019dcc2ce533d3a1265175078c50cdb0aaa7ce4a1a795b03d1c9425d4a06a03266a93e424be79dd476866137fa6027961da74d7ce08cef4903733641d5229d32bf356fcfdf6568a6e91d23a563b0ee4614a1258427c256202903b8cf4567d285f346f8bf7a3fd70f4a052b88b4cfdaca2d86abead265c6af1e0d0315282c81113a433fd32eebb36789d04070636918284f0d309d0bab5bcf15849003f3050491609b15d10c85b23351518288003175ac438072c234ef63f68c86d79303928a1da11db08f788cab85a03314127bfcba49f1f4d683e68b935dbd7bd2ce0c03bfc0be79cb492d53e611aa601f87b0abc0daa4c8980600a0630c4002eb15d95f0392524659fdafd5b73e3c3926691b96c51614774fe0f635081a7c0828a63d45fc03552be9d27821ba6251b6a4cf37a23135eaead0b51e75e9dcd59fa65dc26793dd03e3360e2a26a00eba71af587f2bb245f270bfbd52d5e4bf070e0f0a4e15b0e0f8034ac71779ce3472170aa02d593028829a22f453a27172109119f1707a09b6b3eb05581e0367d2948fe103a40d27a31cf5f036bf390ba68ae25b47aae7d74df1fdf00c014656979a13334003b47d4c34be1c738e75b87510df55ce8c4a13e1e1700b75e66c7c0365e1cda15803defab24904c41a2a730a2f54162fc4dd4cbab3eefffdea8167673258a4efe31901410005581e030c781a8ed1314f157a659e65cbb5588192d81fa09d3c772d5c04c2b4000c02410405581e032d2deb720a91230c53477808b2c0a3a74ade1b42707abd57e5114d4110040105581e0352541dbad00e48750386a39d31630f51cfb70cc9f534c79be211e534900c0748205bea4c586c53a003f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e0338cbdf0d836fd1011d7cd16f8ef897d8787d37cc9bf8b061846824bfc007011bffffffffffffffff05581e03d2704709b442ab4615ea2d71e8afb24d689dc7ab57a8d14d50792192900c03470594ecacd50ba005581d020ab6bf75ebb0ba3ab88900bfeb0aeb763ee288eba002ff7f3807d8080c181b46694a9ba777a004591a2660806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb1461033d578063bf474bed1461035c578063c9567bf914610371578063d34628cc14610385578063dd62ed3e146103a4575f80fd5b8063751039fc146102ad5780637d1db4a5146102c15780638da5cb5b146102d65780638f9a55c0146102fc57806395d89b4114610311575f80fd5b8063313ce567116100e3578063313ce567146101f257806331c2d8471461020d5780633bbac5791461022e57806370a0823114610265578063715018a614610299575f80fd5b806306fdde0314610129578063095ea7b31461016d5780630faee56f1461019c57806318160ddd146101bf57806323b872dd146101d3575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600a81526923b937b59021b430b4b760b11b60208201525b6040516101649190611535565b60405180910390f35b348015610178575f80fd5b5061018c6101873660046115a7565b6103e8565b6040519015158152602001610164565b3480156101a7575f80fd5b506101b160125481565b604051908152602001610164565b3480156101ca575f80fd5b506101b16103fe565b3480156101de575f80fd5b5061018c6101ed3660046115d1565b61041e565b3480156101fd575f80fd5b5060405160098152602001610164565b348015610218575f80fd5b5061022c610227366004611623565b610485565b005b348015610239575f80fd5b5061018c6102483660046116e3565b6001600160a01b03165f9081526004602052604090205460ff1690565b348015610270575f80fd5b506101b161027f3660046116e3565b6001600160a01b03165f9081526001602052604090205490565b3480156102a4575f80fd5b5061022c61051f565b3480156102b8575f80fd5b5061022c610590565b3480156102cc575f80fd5b506101b1600f5481565b3480156102e1575f80fd5b505f546040516001600160a01b039091168152602001610164565b348015610307575f80fd5b506101b160105481565b34801561031c575f80fd5b5060408051808201909152600481526347524f4360e01b6020820152610157565b348015610348575f80fd5b5061018c6103573660046115a7565b610641565b348015610367575f80fd5b506101b160115481565b34801561037c575f80fd5b5061022c61064d565b348015610390575f80fd5b5061022c61039f366004611623565b6109fa565b3480156103af575f80fd5b506101b16103be3660046116fe565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103f4338484610a88565b5060015b92915050565b5f61040b6009600a611829565b61041990633b9aca00611837565b905090565b5f61042a848484610bab565b61047b8433610476856040518060600160405280602881526020016119c9602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111b1565b610a88565b5060019392505050565b5f546001600160a01b031633146104b75760405162461bcd60e51b81526004016104ae9061184e565b60405180910390fd5b5f5b815181101561051b575f60045f8484815181106104d8576104d8611883565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061051381611897565b9150506104b9565b5050565b5f546001600160a01b031633146105485760405162461bcd60e51b81526004016104ae9061184e565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105b95760405162461bcd60e51b81526004016104ae9061184e565b6105c56009600a611829565b6105d390633b9aca00611837565b600f556105e26009600a611829565b6105f090633b9aca00611837565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106206009600a611829565b61062e90633b9aca00611837565b60405190815260200160405180910390a1565b5f6103f4338484610bab565b5f546001600160a01b031633146106765760405162461bcd60e51b81526004016104ae9061184e565b601454600160a01b900460ff16156106d05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ae565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561071990309061070b6009600a611829565b61047690633b9aca00611837565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610769573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078d91906118af565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ec573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081091906118af565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561085a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087e91906118af565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108c5816001600160a01b03165f9081526001602052604090205490565b5f806108d85f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561093e573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096391906118ca565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109dc91906118f5565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a235760405162461bcd60e51b81526004016104ae9061184e565b5f5b815181101561051b57600160045f848481518110610a4557610a45611883565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610a8081611897565b915050610a25565b6001600160a01b038316610aea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ae565b6001600160a01b038216610b4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ae565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c0f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ae565b6001600160a01b038216610c715760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ae565b5f8111610cd25760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ae565b5f80546001600160a01b03858116911614801590610cfd57505f546001600160a01b03848116911614155b15611074576001600160a01b0384165f9081526004602052604090205460ff16158015610d4257506001600160a01b0383165f9081526004602052604090205460ff16155b610d4a575f80fd5b610d766064610d70600b54600e5411610d6557600754610d69565b6009545b85906111e9565b9061126e565b6014549091506001600160a01b038581169116148015610da457506013546001600160a01b03848116911614155b8015610dc857506001600160a01b0383165f9081526003602052604090205460ff16155b15610ecf57600f54821115610e1f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ae565b60105482610e41856001600160a01b03165f9081526001602052604090205490565b610e4b9190611914565b1115610e995760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ae565b436006546028610ea99190611914565b1115610eba57823b15610eba575f80fd5b600e8054905f610ec983611897565b91905055505b6014546001600160a01b03848116911614801590610f0557506001600160a01b0383165f9081526003602052604090205460ff16155b15610f845760105482610f2c856001600160a01b03165f9081526001602052604090205490565b610f369190611914565b1115610f845760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ae565b6014546001600160a01b038481169116148015610faa57506001600160a01b0384163014155b15610fd757610fd46064610d70600c54600e5411610fca57600854610d69565b600a5485906111e9565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561100d57506014546001600160a01b038581169116145b80156110225750601454600160b01b900460ff165b801561102f575060115481115b801561103e5750600d54600e54115b156110725761106061105b84611056846012546112af565b6112af565b6112c3565b4780156110705761107047611433565b505b505b80156110ec57305f90815260016020526040902054611093908261146a565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e39085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461110e90836114c8565b6001600160a01b0385165f9081526001602052604090205561115161113383836114c8565b6001600160a01b0385165f908152600160205260409020549061146a565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61119a85856114c8565b60405190815260200160405180910390a350505050565b5f81848411156111d45760405162461bcd60e51b81526004016104ae9190611535565b505f6111e08486611927565b95945050505050565b5f825f036111f857505f6103f8565b5f6112038385611837565b905082611210858361193a565b146112675760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ae565b9392505050565b5f61126783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611509565b5f8183116112bd5782611267565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061130957611309611883565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611360573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138491906118af565b8160018151811061139757611397611883565b6001600160a01b0392831660209182029290920101526013546113bd9130911684610a88565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113f59085905f90869030904290600401611959565b5f604051808303815f87803b15801561140c575f80fd5b505af115801561141e573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561051b573d5f803e3d5ffd5b5f806114768385611914565b9050838110156112675760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ae565b5f61126783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111b1565b5f81836115295760405162461bcd60e51b81526004016104ae9190611535565b505f6111e0848661193a565b5f6020808352835180828501525f5b8181101561156057858101830151858201604001528201611544565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611594575f80fd5b50565b80356115a281611580565b919050565b5f80604083850312156115b8575f80fd5b82356115c381611580565b946020939093013593505050565b5f805f606084860312156115e3575f80fd5b83356115ee81611580565b925060208401356115fe81611580565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611634575f80fd5b823567ffffffffffffffff8082111561164b575f80fd5b818501915085601f83011261165e575f80fd5b8135818111156116705761167061160f565b8060051b604051601f19603f830116810181811085821117156116955761169561160f565b6040529182528482019250838101850191888311156116b2575f80fd5b938501935b828510156116d7576116c885611597565b845293850193928501926116b7565b98975050505050505050565b5f602082840312156116f3575f80fd5b813561126781611580565b5f806040838503121561170f575f80fd5b823561171a81611580565b9150602083013561172a81611580565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561178357815f190482111561176957611769611735565b8085161561177657918102915b93841c939080029061174e565b509250929050565b5f82611799575060016103f8565b816117a557505f6103f8565b81600181146117bb57600281146117c5576117e1565b60019150506103f8565b60ff8411156117d6576117d6611735565b50506001821b6103f8565b5060208310610133831016604e8410600b8410161715611804575081810a6103f8565b61180e8383611749565b805f190482111561182157611821611735565b029392505050565b5f61126760ff84168361178b565b80820281158282048414176103f8576103f8611735565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118a8576118a8611735565b5060010190565b5f602082840312156118bf575f80fd5b815161126781611580565b5f805f606084860312156118dc575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611905575f80fd5b81518015158114611267575f80fd5b808201808211156103f8576103f8611735565b818103818111156103f8576103f8611735565b5f8261195457634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119a75784516001600160a01b031683529383019391830191600101611982565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202a47f278e97f2c5541e462a49c8b681e4e7c2979b11907f75cf506695069dd4164736f6c634300081400330360d37da8bf602f9444cd7647f04157ee7b2ea53e65cff3ded55c87c2e68cd33e03edd82b6f384481b63e7f29249b8779148e8a0b54293f6a35194276e72bac9a9100581f027051ff10310bf7c3f5bc8c3d9371924aa99ef869fefb9a7d1376ee14d679442589b6f200581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db94114021828036db875d31a1ea2063cf03eceb1ff3f0a398b30e8402fc399655c115593d87f7400582003bbdb856902c781691a7a3fbc50558e011a2bd7cd070dea0298d65515ab44a05820ffffffffffffffffffffffffffffffffffffffffffffffffffff5ae10fe8b7af00582003e2284399a1a73c9e15575c990f6dd78e51782488c0dd0c1310233d6bf968c0410100582003f564790a469116ad4da3809834dfd21223900c4617e83f35f82258df2006d0464a4d2265961b0219558103814485ff557dd1fc1c63c0075c60cde6c2decec3efd35f12f215b8d7f062e6e203f355607cbf27dbe9bbe76d44959d48d822a03a14181202721cc61ff157d3903a03733fed5ab52fe19e632bebe2130711bd5e0d455a6ab3af0e62675befca5ff62a030f4677f6c9daa5c8cd0550e7f5c559e4761e1f8afb7dc43fde8d4ee61cb7e0cf03d83055e3e96159efeadb4a0e7218c9cf7d511ab5a7729a2c579f735ef28dc4bf03b154970a18ea0a93d4c5e37626fc86c02b50b5ce426e9f8c8b0be7ff2a38bee00330ee06421a51cb05c42adda715b2bdc820d347c4033ef3ac6697d198ee5dfb5f03f4526c4403a44b57b4069b3bf29ca42c888d15b7bef08c9ef251a8905af1054703456f145d0708b4860aab08f3891ab732af86f86405c08bc04477fcf74797f4ed031213dc4f009d0323f9bd3936da636845fad927dd0b7d0687c08257f2c905a254034c4ced88679aa02036699b03147620f065dc5413f887e719edcd112038f5905903ad83eed9903b7a3cf74260c2b00b502283d0450cc21f146cf99877ef13d604a60312307c9c137bc1595f18ccd2f08cd5da502f5cb0b7dfc5a7a82ee3737347a7e00377faa03cd493827733af4b461fc951b4553e4b2442c34b05d03dacad04546fa80219ffff03e53e5b44da3d549bc52032c1e0cb6e51bf21837540c3121974d36e7b04b3cf5e0358bb71b093e109097884d1c5de9f6dfcdd34e76d85da35d38f181e631a396e660328f1cb95fc1e13caa9527b5b2ac0a9c474a622275ca9edbe259b8e695390789903e023237b20b21cacf34b2a626cf7b9b48728ce7e44495e1a16426789b1d64db7031712abbc9235fa0bdd0aa63af48c5cc3ab774d6c8f3eb4eb29c2eaf439cfa22703b89ba301593ad08a3448ff51b29374f071b66e7354f176a30093d6bb5f3f4067036a2ac38a17d209d6feb888bdcca76ce1733420d79c0c9ef8d38cf7c8d3eed21a03af8db1beb498741b89106d83d7ee272b44e6cbc009c6a22d6a01cee9bb521ba0034b1d3fb5b044772989ff03270a9bf6f1a9485460ed2b41c00f6c3bb2bd03e26f03e8dc92f9755a7ac6af1bd1849d848285c24e63bfc4f2358c4310498162644270005820034e6887d1e4fd73c1cb1d7289b9d624eee1be718a9919d7290db29acb7aeb805820fffffffffffffffffffffffffffffffffffffffffffffffffffdc157a709a9740058200342e65369566cc70d32e3b79fbd2a31cb4f5c40dc495fe3d904a46fdb7430305820ffffffffffffffffffffffffffffffffffffffffffffffffffef7a6a16bc0370005820031942ad5dd789415c063f103a12da7d859ed3881e92164ca9fd0c014a6ed3d05820fffffffffffffffffffffffffffffffffffffffffffffffffffefff3d545591d03a509e653c3ca426be03128623a4bb0863655af878f7a238dd3d3eb96f23b545a005820033691e6d88d5aa493bd78888b2293f2d24c14d80a01e4868b46eb220a8469d04425bd45550310d30141e76a687289b732c629ad069fc44758a7e82169c3a4616758f96b7fda00582003950bb558e4113770f233e76e9c342be2eccec81fa91a11d20b5d9e933be7a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820031a83f5651d716a8d3455c5634ca772e72c0d250dbbb3b7d98166980cfbff105820fffffffffffffffffffffffffffffffffffffffffffffffffffc6147c6db71ff03c37a374e8ec694cd636fdd24d6c609b3a7ab998bf01aba8127536e4bfbc51b330219cd3303be110de86065d8ed9afce1541413eaee2e207c8769651d59c63dd5f03d769e810307ff95cf709dd9ca462dbe06890aa2d6f099d299d48c3317d66eaea10fb9ad86039173bba600b563f91e438f48c7578ddc535255e5bd253d9a0666c0bcf474281c036a7441846d2f69d1b51a2b28d27af4b5c1db57f5590cca2d5e3fb3b2508c726303c35b473ef47f319c2721c996703861b1545621c4e3e81e852218c3a127570f4503de8ac6a732ddd7dc8337dd1ec22e9a56fa70491d88ab4d952a2c1ac2e223d8b00219ffff03555e29839bd5d917777329096787de4bcd1f5be951876272ae9af10306db9d8d00582003f3fdb3b1940daa7c60a9203081bd6e5597fc45a56458e18cf88c108e3bc4105820fffffffffffffffffffffffffffffffffffffffffffffffffffa41dfe41797ff00582003788c624327950b9f7c101453a500a48d1c0e1f00110e7b854b8c93149566e05820fffffffffffffffffffffffffffffffffffffffffffffffffffed725025d27ff00582003dd3c501d891be88433409b4e669fc69283160429d717330be38f427b0209305820fffffffffffffffffffffffffffffffffffffffffffffffffffbd13b0a4f1ab500582003248cf08386ba085ff322596fd0400ea7065c4fbe112ea3e03fd0df08e9975046576eaa678a6300582003a049fb0a822fbab2a1ea412ba9630d6d4d5240feb329682502d5c6ee179e60442caf552800582003c454c79d390f6cc71a9ad5cb89389171fc7ecfb0fc2995672e2365db3f5060441a2b67f10378109e69a9371e400c9002f83518e767809c41dc7b850d214baaaeaadbdfc33b00581f02a50280e5935eb3ca2e022788fb54c0d19faa99540736cb3373eda0659c8747071afd498d000000581f02e077ffd44e9fa7495f5c7e1dead634f20b3faa321fb2d96b35ce20cc02d75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68465af3107a40000219128002196a4e0313c767d078a2b139d147783eb85e0072ca4c1e8cce73c43cae612449f701a87003425ca34e8f18d8429c42d3e9906d643d0a8d150ec9c5cced089a0d56ce7fdcce032af548fb5d6b6ef7d89e7e2c5de24bea75d70a501de10481a3d59ca459c45239031575cadc51cf612696f95115f9e252cabf2619872fe77ee6fdd879f5eb60e3bd03dd4d3a4497fb6ac19e4cfef39f36c01470a386a34c5f432b1f8b18311e5f230703b2697e5c54885adee7ac6f43bee4edaa77e0adf82cecafade33772dab3a433b10058200203bb305b677693177799d33ca0aca1d4b3da70d7c8e141d8e94745d1085346467f52a79bbfe200582003d86d580cdd44249a33d66f6943cf54bba7cc36c8effaaec250fc84392fe4105820fffffffffffffffffffffffffffffffffffffffffffffffffff5ff921c630d2c00582003fa8da868b69d97bb7888297596ff4f72abc5bc01cf39a86d830017208e06c04715166526586c0300582003825338ac4b5d5f22771196c0e24a448dcab65599713b2f4d34c003e379197046ab15b7bf8f3c0058200351c35c9fccc0105012cf5bcaa3f30d4d22239bbe37b1c2d23b245f88676e905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03883578448ced165decc92a71c67f087a62c637bb32ce9b240a3d728a44e58bb600582003b1a1e890d32886fe1293b126b5a9b737208b95d8841d35ee46c6a6e275f7405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033300142745700cf87c5dbfd6f001b23dddbc78a765ddeada4cce4c2719137ea500582003d7239e95d08b660170241bbecf17994f6bf218336c116d81cf482766c7bba046224b7281dcf8005820037a2ae193079f16099d1e42bbc3624b547b75b0bd957f2d377d10f5289d95705820ffffffffffffffffffffffffffffffffffffffffffffffffff98766518af2dff02192e6d031e72a28c763faae86100368d69715a10219890fbd91c3d0a6f9d84a5adefe45303c252f8c7d351c71009cdb2664c1b34c26ec80829247af9f8295543549a48ac2f03ec9fa30c3997937705da384151cd90ac96563e57c8e9233b758ed1390bf6607003c67c77238bb3b27608cb63a36c7c6021a366a9ff2156a4574d4f81c6ebba601403dd6b83ca425a56c02bc9c5b36b775108f81d2d849cc22d3a9744c24a8a1be94603d5b4fb011a6f6c8538431c62dd6bdf2a384f29431ec4c1fb64c9b1259a0cf2450219ffff030d4417679ce5dee81cf4192201989ea2ec3f21f90e8e3668bead15a6e0de04a9033e76607d37b6f8935118424c05876588a34a62c073acc8d7fe48754bd10eb3bf03577142b493a488e4c65595579f152819e018799eeb849b44ceae471b5a0c615603b35329ca907f8c1336507a3764402c0b3e26658ae1def740a61e06824ffd492c03a1d6573a7c16644e9a2a44307b88851509ac5e600007d9e79e30f78a1470ec4e03ff1af3c608ab285043eead2dbf2de1b621b7371dd0fad2f069c7260267e54dfa0372eaaec47aad5f74ee29a7091c0675390b4d96acea25b6e92ef20f2f189631c10058200324e49673de8c8e794d38dfe18d160282cc3ab02c8ec54c706e2c9befa39e405820fffffffffffffffffffffffffffffffffffffffffffffffffffed7de4dee69fb00581f03e599fc1b81e95523852c082c895f20b8e562392916f9269f75f1fbeaf4e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03722fc67338ed71c0bb4f4277727f42254965574df88ca895de35ca7467b05820fffffffffffffffffffffffffffffffffffffffffffffffffff5540aeec0365402198001014105005820033c3bd35a7b6d67f083173520b43564f9d187cf3bd68208412daf7890b1d9a047041edb3d0776b6005820031353c716946688da7f128d3039eb33f4224faa5170220419771c6aa995e4b05820ffffffffffffffffffffffffffffffffffffffffffffffffffc84b1f81ebffff005820036b2d3860a091871ec6a1f2e4b597ab5aa6f026c37ace457e37a6937f64d2c0470232517f4984510058200315f4bd29510b52e3003f113fd36e544178b778fa46283d45c66711088ff6f05820ffffffffffffffffffffffffffffffffffffffffffffffffffa736521b2b5b3302198c3803b19aa032f9bd69f020a575e068ee02f838166d7d4d29955101f6aaf5947cd34103884c8eeda0a6a806af5748cdf16f32ab8027cc6c0137bde94066a2dc4fcf3f5003eabb40c857b9ec488d85108e48379778103aff83e4764b62ad778a92baf8736a038431842259ac77577b3bfd38a0af88e7c5ed3709583f157afb0f5d1da8c42f5603197e52b61fba978d4ff0fe073fb88078eda0bcb976c09280b57e8a5d03aff9260347c9e4b9d54503df507891de58a00ab21136d7808bd918b4adb9bb80d082d71003445ad4f51168bc805e0b54a7ce44cb64aea91961501b27a7a2cc8007ef0af488033bbbd80f36c21cc239247c401badf493f5d8708637b382f70dd536bce88fa13b0395a14704f1478a934580da0a6df57ad86c512135b3a1da86b030b564d55c251c0219ffff03ab75852e57bf423f007df982db025d1d76a15db19f0f3649407fdc214e4801d20334d4c6bbc045871aa20912174359228f2163986401b04e4af7ca2610cf393c750340c31dca6f577776c35066eeffdba8d43ea750fc27def2b033e387398e62a12403e4cab3acfaf195c33b83a4382bb61628bd9a815929dc20550ce04226d0d359490300230c61772e6c5c99c5304458c67114fccf354651aa8b735f9925d46f9534970336f114e272ee58f333b5372f4c0556c2775ae7ebad581f2474e2e99a9f4c87ea03297308c282aa57e7eee1398363449281fa81db47fa5bdb36b8fe08d2c712a5670394485dc01a2e1d95a3914727c64e8939b4d72a492b18ec9c65cee551371a03ce033ed741bf23d738ee165da585da7303542e60b647b06c915bd2aeffaf58b555ba0384e06c73c8d2ae7d3939b633eb91afbdfda8a9dd72ce54a90487378f0706fb2a0387ce72d5a01db17564ef9b4b3350c67fc76c5936ca0f1bb7a0c62be4ac8af9190396e3fae52e54c7cd80504ea11adb62443d987f2529d781ea43abed39a584e712033e8a75e78820449b9c69aba13b896f28982f1c84385c173acd48187d86c0b8f703913f96dad963f26274fa85c89cfb9bc2bb1a66d22b6fbb3b5faf736b089d37ac00581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af410200581f023140aa865948e94d9d9dc90e7a7f4a7e6429e4ef09c6ca960b831beb11d9471e070c37232e6e00581f028bde7007b0c2cd2283fdac54ba665aea26ca6b95f9cc43b64bfda2a5521e46ba8c9495f2e2021910600058200330c7bbf94197c1ffbbe2ec4a7f8fdc2f1e9903b212f85b12a60de6fb2116c0470181c761bd25b8005820033961d8b1bbb7239f5805f083fd1bd555bd20e23b57ed75ac2c7d81fa2a05805820fffffffffffffffffffffffffffffffffffffffffffffffffff7e79fae34a6c8005820038ec3952e0be9c35e4bc0c88bc33f076684e6abef07f12c58f8736c1b3fc2605820fffffffffffffffffffffffffffffffffffffffffffffffffffeed86012ae327005820036f3a9c1897d3cb4596b20844a80224e19a8be4ebd18a0ee0cf203e5e3e49f041010219288a0376027b8a3b964b102adcea010ae474f9a05f3d63f6615d2b6ecfd14b11cc9ab30219ffff03394f0255f3493c291589ede368b568af0dedade8a2d2ca56cd8ca709a02f35b003713ba377d2aa366ccf4c171f2b349409f68c40351be8b7f969d639695da908be0336a56e86f699fc8c3acc43fb27c030e2e97fcf0d9cf99e811f3545f83393e65003a19098a984a921afa374f33297bf75730a830b98c77457f34adf793c9cbde22e03b246a5c8086aa2846937eb1949063da0be15a7c6448ec1008ae19265d220750a0348e2acd0426ed9264311c7bf27c973c4a3fa200fa2eb96cf2b5c4e374d29d0de005820031e23562e5708941892365f53b6a61a117df3079a2e361ee6176d0c92191ec05820fffffffffffffffffffffffffffffffffffffffffffffffffff286fd9f3f5e5200582003d68f1573e0b39cf57c66cb5143ea7ad76ceedd2b93fa9eb02aee490a19f3705820fffffffffffffffffffffffffffffffffffffffffffffffffffeba2c855c905500582003350cf7051a1df7796679cd5b973da68cb8951ca5669088777efab0e4a8cd405820ffffffffffffffffffffffffffffffffffffffffffffffffffee97d364d220bc00581f020e83fa04ba3f842c5698ab9fb36dd8e0b1ef468766f3aa936bbcd403475347018be5ec52596b00581f0211c48f31be3e52fa65d5de74a46f5053d8b4000e483158aafdcc6b8d0e61480725b34709e61b7d02190410030a5749d1ded0cc7bb3490dac725d34ba79a9f36514575ba876db1c7e318dc838005820033cbf91b5790fa34f19ee6c9b2b4fbf070494358c666a81b64fc2fcc46089404101005820034b2d83986728e920c5478c3689adae0e7f63115a363c2e91f57c27290c7060468b1c05e5cf330219806f03667254b5756ae28ad6a46a4a713e3a0d581135e3fea7317963b6a2ca0c6cfe5a03335d5dc0b9f102209a8a52ebd27e767676860c4bd921a1c54841480e7029fcc303b79d9e52b9d5c21991a33735490a550d026c8018d7184979a27e9a9ff532d62b034ffaa18bab8e2f69d7d624d3ebb12d204c08a65af5e29cec7c5af859b303393203fc4ddd8cf3ebb45feab3ac0e58ebcfc15c7f86cad3dc1a7a6a22e7641657a599039122e6c63763d89e0ea6f69cde9a03515482041e3069136323024c82ec258c56035565240ba4ba0a5d83993fb506ce3893e2ecd8d3fb54c0ec7bb56f99eee6799e0344af68a281ea43d1763715c4b6d9dd26ebd0c92c1a0661615461e8651e96d4e9039eadb375d765b919e91868391ae0887f9f18297c4035968b247945c62ab88abf0219ffff0353a095b2657d626a8989a90d9571046a9c965dad8fc940d811468b818c8f76f3030180843d1acc63cb522923bfda621f8abd3107e0fe8d871cdc5f4cd95120f5f60371c88d99a22a6f2712bc167bfb26db530f84b0f153efb7ade33e9df97f7592a103351cabc3093718fd61d1696684b97d46f28ee33f94420198356dd8786f04182603e32c57fbdbb9a3c13c697af70b0a44528920cd33d41157c9557fb1a78800fc6d039922a2e33f2cb862d6aa561c1ed81a26bb908dec26c13bb5884b42080b0d51c2039481c3609471a1fabe231424ea08eeaf465b678cde3b73325f030af48dacc38a03821cd87270c1c17bc35ec221398f819310f67331bc610a2f9d0abfa51031891a03c77535c518aab2cac4ff2458e60f4941f891c3727088292884e7227345deb43d00582003aeb350922226af73b210e6e3024d1e85ec9d457c27d071851c38577729c300470149b084590fa5005820032b2d5f77ccfa4e78da52373eef92ff0757588f9c980e896dd0f3900bf5df905820fffffffffffffffffffffffffffffffffffffffffffffffffff94ae10267405200582003215e895765c176b2cce9ed8485dec9c517857ab4034f4ebd083847cbe3e5605820fffffffffffffffffffffffffffffffffffffffffffffffffffc20f41ed0d6e80058200355b38c99b1cad12cadea07f6b1e1b1b306d541880d17afa822ac64f5baf6a0442b22bc29005820036ba8f052d875fa9d088137d183d67cd8f7c634fdb9dacc52bed4b0e7324c205820fffffffffffffffffffffffffffffffffffffffffffffffffffc554dec8be0340058200329b8b242fb94db56a0e8da62049df70d6b8f998d5da1548ba1fa11395f58605820ffffffffffffffffffffffffffffffffffffffffffffffffffff82b4d70df0540058200337ceed84f2b5036c28f690b1e571f837ae4b9ea89743b94847564579881bc05820fffffffffffffffffffffffffffffffffffffffffffffffffffef533adc98f10005820038fba52621b417ad045807fb74984501a392b7f166f10868ab3c8346e9f6bf05820ffffffffffffffffffffffffffffffffffffffffffffffffffcf1d8316b415ff0361857a3e6e445180f23c07abe0ac25d54723d8d0c8164fddb18f63e2821d1e3102195e6503032d20a3f935ba0df69793d069dc1a0a4491d8514b39c2243fcdf58a9259b3a103dab8d0fee402d7192b681216f51b421fe66cec96f8d7453858098c3b83609ddd031f676809c35d620469c2081fee1893f13e3f28c6bec2cdd638f5dd2ad729bf8103c8aae283dab0c000ccd844403f7148400b993f6ffcb6fa4075f0fad4cdb4d23903c7553b4c5e140ea71bf673a2375e3379e5ef97d458b4fab102ef0c397ee4fa5503a175397d3a0760b4c30eaf54a19c72644b3a1007558759faa0d8c28031270b1003f7db23f405e7e21fe97f59809a845c5ad4a6b1330e1eafdcc9b9902ad5feb7c003128cc0b2f1b91f57c06e0ec2125a359957cbc97a20f615e2121c5f268a223d630219ffff03030a2244869dca33f5ebaafb715127cb675734c4aeaeb8fea326325c795f216e038c38126687c6d31b254adb9f10996b226ef52d288373c2250683f0e274c2c8f2005820037c688d16c3c1da05f5bdbd26af75eb9c587483ef008f37e78370d4dfb015105820ffffffffffffffffffffffffffffffffffffffffffffffffffee3c86c81f8000005820039f5ecedc457e47c5dd7c18e7ae5b1be0f63014234f6292dc4eaaca10c1b64043c043ec02191120038c16deb67a1ba488c6dbeee51eb98050c4bca3fc9408004215a7e88d024bdf000352b594adb85e8fa551630553747605d3a938f44d8832a3ac556b487ac9dab6ea038f5a345a343bd4ff75ffd1968457fe3c36cdc69b4cca50b8b42ad486dfd41bf0037fdbc627673b35daff6c17ff86b2ad5c67f714287a3ad7b77add9260e1fb9e23037ba9475caeb0c167fd830035ef5fc9f1bf72d7f5a1e8922af6b799d3a66d6667032858f9dbfacd667480c18f2402488befe0ae83e76a707dbd7462af0ad386be3d0359a68048f93482a3eb6e3589275ee4655211ebfbc0f8c47092a8b6f7aca2fb3703f254aa277f95059731372b654506a9bae7e916f0d45244f6f0c8e9433c78365d03c99eb9d9ebf105de5054e2631dd8637d865303dab93e7076df9746e6945be15e005820037c74bf722989d16e27b1583209ad79615c93ed91664e71f3c6a7abe77c1a205820ffffffffffffffffffffffffffffffffffffffffffffffffffdf0355076966ff005820033e3e7eaa374715767a4dea67c61d14bc0ea5b2447a8cafa7b2ff1e57dc09205820ffffffffffffffffffffffffffffffffffffffffffffffffffff0eb6f731c0b100582003ad8686140dc3d274f43821b5c7f76b300e86197bf94e78b45014c5b584ae205820ffffffffffffffffffffffffffffffffffffffffffffffffffe618a44ca9fc0000582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0420d0300582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440476a94d74f4300000058200325b2cc69f3e12ba9d3f90ce44b0fe0d30594dc110454f8639ef6d0ceba46205820ffffffffffffffffffffffffffffffffffffffffffffffffffcbc66db10eacf1005820036fbd7b486c49d87fe3460e7f87ae394cd6dccb3e7bc7b0ee3ff2f70e6e17705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03044ac4b48fc3e745a6c08f5b05b7786e78ec1ef659c8694c0ef56190f497564402190fe4034f875e50080cf9d826a8c494d455e0d81946b695bf1293d353a5c09bd20ce6a70399070ac6ff4613ffc5d5275754a04f52b7343d0575cc7281a1fd611b4812fee90374b248c401e4cce6ae4a268a7fae674d671f1ea54e040df2367e7898283a991003810205bcc572cec0e9f9612ca77c7730e0f0da48a3e928d0774d988302dc76c50219ffff03399b72762cce86f649c1add12134fb46174f486c23c9c1f668cd7b85fab4164603269c7944fceac2883208b940be684f5ac26179a6074aad050c4da518c0483d5603ddfa54486b2fee5bc51cdb969ec2a8df1c881bbf69522b2bda5005fac0a4623f037ffc529893bbff9eb9f5b67a5979c8152b120b8972f7b6a843f02f611c32537903b7b60e2f794c98535385cfcd52ea565530ad5d53e44c7a2101d5a8b08a5786a303e94937df3272c81071b7c9b8081873abc24dd3841cc8ad517584ef3ec2c0fa0100582003e2894c58f0e8d01dee5cd145ecb44eaaab919b6436034c7bf61a13725a7c805820fffffffffffffffffffffffffffffffffffffffffffffffffffb3b6dfa47757b005820031ed3604650b2aeb65f74a72d2bab8f72eeedaac2dde3d554b57f413b8aab404703b703d21b326400582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80410200582003e8729a4b347e2c51f1ba0b25f579fdfb012e4961d179a8ca64495b14b307005820fffffffffffffffffffffffffffffffffffffffffffffffffffe1b57580e0fff0394776eac9b0210c0bb6a38f5646854cbe01325da5b481bcf24f7d94e476f9a760058200399ff836209258e3dbc287d21f8dc0731b71a0870bbf729059fb0ead645a6e05820fffffffffffffffffffffffffffffffffffffffffffffffffff08e2ddcb2afff005820031527b2bcac1cb44dd7192320e2811d22e731df1712d78275abbd695b0f07b046675045daff6d02192d2c0319b89b527eb685614a36970e98ab533bacec5675f64c1a6a55d497d291226bc603d1b56356fe500ce08e4a8bb0f532b37d0836a3a12f6289050ed060b6ec40b6da03dd2f363ce8b99f9f53156508017a74787b012734f18760285fd45e9e39f8132903a0b4d0a1e6a3d9eccb464a0b8e41df042408d453caa0ff1ce656e652011f502103b1a5bd5b44254d72e7314da000146fb15e5426ad79fc5a0f3468d454cf313a82035496b230373f1a2e2bbb6468a8b2746edb06954b5dbdfdeb2286a7f7718e2f8203c6c65b18b0ce8b712d07b1d8cef528106c44649b114d130c8c56094ea014929500582003d07f610af1d7a59ae76b6c70dbef78d162ce47925bf6f68b280553c1f94a0046fb073ce2283400582003f7a0fac0112459cc832e5188e064b564c28122759f29e076ad73675c47f7d0470138edd8c7ee2800582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec057010001d3927981cafa537391a67a26d114d3d5a72098ff03a129fefb82d10b4d5205ef0d978534077cbb84eb92c5d85df712e2fecaf4f5f80381f97be1c6ef860dc09d84d12169926b9d8c99dcea006ff7ebc5b3b2cfe8286300582003978123b0f22302990f5a4559cd28ad3810b9a15b67bfa12071ad113f0fff204101021922d203dd48ba47c755e72eb58d3a48cc6035304b9a923d7ce54e849c79e5784f08f7400219ffff031f8dde0affc01dfb1ac7551b1486fb0f83a6fcd682c2605dd7a3a3b272d9f4a903558d28dd846ddfcc5b16c39ed68f349c906ff835aba1cc913d9d1f81b345002c03d9374c10d488d5837d15b7943719cd658fb644fb91acfd8b0384e16a146a3b2b036128b492234a2e0e52d9419a84b2e6bc62dcecbb69ccf6d4957b299a5c54b00603f2499d8d67ee39c36ca0b140738263d4b733fffd0a96fa3448ba34f3034b085b0338aaaa29dfb77a83484c730e031ac6f5d6b89459fa0ef6cb614d124e2d6b23da038e05b6f2c2e66387ce068a7cbd26cf1990d71651e9cde2593f37b9355b60473003fa9938884d299f16beeff7d66c873de0f3d38a2feb0af584346ead46919fbf23037fa3e05c4d897d0fe5f661065860b80330287da9575ff90ee3cad71b4adc19fe0391eea861ab0a73beffa8cf06f016f67fdecbfa59dd6cbb1da187c3ba50a2eb3e0324f0a11b7edf8fcd2be6f9b2fc21f36de63bbda17178cb592512d7a4fc5040830381f8e3042cfbb2162910528a58c52694448dde988ac08234bcd72270721034f3038c8c3f5a20564b98431c0c996b9d5e8d74fbc3892e829a4649c845782571e13f03d1ac4e62850d9f8a4659eb21a307aaf3ed4c7d973c4247666d89f3933dd0755803d3760135a808c4793a66071a9f978dc1f816f470ba76ae4e2a514388a78ce10f00582003dd70bc8dd5b33e8dd1d8ea7ea0b9de48efb45b4fbf878e5aafcccb570331905820fffffffffffffffffffffffffffffffffffffffffffffffffff3ac6b15f94452005820033b3fbd0eedaa81fbe6d86569577c47fef314af232cf7cddeb1fe89e67ed3105820fffffffffffffffffffffffffffffffffffffffffffffffffff91a2c93864707039bfc7e518bda356dc5f147800b7e2571a7200b394f9d767801474a90eb69873a00582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70411e00582003cb1802b680da907c7b78b9cddfba3c1fbfc8f35e0bc958f23d17cf22e2fe404701bb6753cf4ffa00582003cb3be95623309409d2865b9a5ecc23f5494fd7239db92e8626530eeadc80f05820fffffffffffffffffffffffffffffffffffffffffffffffffeac896b2c97710f021902cb0219ffff03d8f180ec5c30668150880752d470026b3cedfc722551b9ee8f96db1a3de08b380374e253cb420ac01333965813a27019786f4fc197152649902bf1650274fe831f03e4670d4afdd25d5205ec178bebcb2e4989c87f91f8c2877980c9155597643cc803377bc60c8aec41a0cc44e4b79e4257f100d1f0482fbb5ba2c19d0263ecaedd2303af0a5dee80ba4ac37618db5d7f83ee38e94d7cdcc20ef5f412d9fdca1de75c9403627058d07504ba39d9235731d1d589be88e36a1f55076ecab1fe5946c80ad1900338e7460bec6e19256f23901898e2c8f6a562af8ff27f65c31f03496c05f4872d00582003073b7349cddae13c1dae56171588d2f81d47641df965b918f2b4d7aa1b1f0044099289fb00582003bb00e47264164e5277d546f346fa4534e3f66a7b8b3dc726012d67eaba9a905820fffffffffffffffffffffffffffffffffffffffffffffffffff43c0ad117c280005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f044011cd71f00582003b47fc3837b0c07fa5d458b6d7aa455d9c76069446e62ff5541c46c84ff64b047098722b8c2bf5f0058200341c96d1d4e384d0692442e83853f83a9fb560ad247bf7d504dd8b5d87377205820fffffffffffffffffffffffffffffffffffffffffffffffffffd078680b0941b00582003487e970044e4c73a712081cc1aa131f491ca9eb324926c77283314b172cc405820ffffffffffffffffffffffffffffffffffffffffffffffffffe901dc5051709000582003b6c074969d9fc64750763c1741293bdf20624e14ed46381b94b3ee4cf9e240470859500bb9fc4b0219352603c4d98c84e56a68005911bdfab2138bc2db5b76a69cc62f4cee639dc87544291a039c2c80895440471ee3203295d787edcf5593e4c1b1bb8c5b5c90c5434cd31baf0395a6307e2d14b10c77c7d15b1025661f3a48afe11c146d3804087e4fe7c06ce60058200289f92636a47a98e597a3d0afa9b4ad5c28b41fd5b9c57bb861166099b881f75820fffffffffffffffffffffffffffffffffffffffffffffffffffca2a9ba0f4017035451a6b6ea89978ecdbf683d2b01b7aac64b8ba39a4cbee91546e1e1ac289e330339673e4f07ce7338a634f69b87979908417ee1e112f0f62322467d8a4e30ce7103f10d2c5b1ae57325f233d85664ee9befaa00b478d08aa89fd85e8bf8e740a0df03e96cd55b3cf3bd1751e8d8b2409a309e543eaa6f9946c57a0ba96ac0b58e36d9035010f741ddc54f3502624ba902bb12644549af28662c62aaf6c91713a47c98310219ffff0219ffff05581d02422da363027b6411dfa657d04087ef5287ee79487641c93b4063b95e0701191a2603d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581d0207cb3c0b76b62c408867bd537ad78e96d407d791eef40c182238742a07011bffffffffffffffff02192006039510ea5807a970b59fce245b059bae7161b7d97467e36cdacb32b33b664e08b905581e03e9d8d44939cdec9f7bb3cddcb5a446bf0319aec3645ffafb3ba7432190040105581e0331eabe3a8e813b00092e40496aaf66180085ebcd3e74b66f9274c3fcd00401021937ef0219ffff03868f8fef6bb7b20160f1c6fb1244a16e6402ed744a42c30f7a8157f6575e0f5f037aa8e2f843b1dd862a04d0e8448b9b104fed814a513e19ffbd70546d68faec1a0332b186ea7e13a1189372c11a3c62c189bc145ae212477f9f6e21d127f8fec11c03fa01fa0cbaccfdd929135f341dff52cf561713e2933376c028ca216613796e5d031a9f93ae6c7e51bf94e2d42dbc7e2c5900c6e845652c892d66299be3b12febed03ec73fc5b4b2eb80fa97a77c0bfedaffbe23f25187662d2c562c7e2abcf864fca03e812f5a67fd7762735fb78dcf13cb90cddc659a60669ca6194a92ce515382a1703ec6c2bd83dd4368620b10ce5155e35438915d191b06f63d7ee94ef742514f5fa03848aaf2ea583f661449078211d5059fb2fd06840999fab81fece87c76e68491f03db62c624dfb84a7568dd7b1238aa145064a59f4bb595ef45f4e927684eaa81860219ffff03c1fef05888b2422317fcdb0ac37c89c81a993ba0cc619ca2c2e157833ecf4cf8031f06b16f79d37e6809707f69ebbfcfcf315f2d6ca1283cd7c5794bce21e72d8303e8b6512804114c4ea173a6f1aa1919857bef60218be91d634c0369af3fb76cc10219ffff037b55d0217eab03714d3f47e82057c27ea7ab348adcc412e06dbdc76e4d78949e035835eabe78a3e0f60ff26b8c7c0ea6f294c0a9cb4f41768fa4e1db710aa220e00219ffff030fcaee845e18cca57817ab7c0b6760a4fa14fb2b60a7694ce87e4e60f8d5b92c030b75165c560ea0d95502ca966d9794d82b17889bd29369de3e896eeb403a614503af39dff2faaac313a0e2c4962bca4246e6171d2ec59414b0460613574a5e7dcf0317421717884ca57eb15cc69c4a122231985a76fa5d6e669ba1494c3a60631a0b035188e416ff4fc263843aed49e98753d1be9ea0810f9dbe99246861ae41ac069803c30b6b0bf8b4a35f49466979d1cb1efbaaa515b9d6f106fb40d95ea3ce28aab50349498eff1d98365bd2b7b36a31fd4b436579e42db5ee263ec45d1a42184c823f03a7d0231783bc03c66ea95f12341fda2d8037efaca54d46d3738c40460edce49c03e7a1e76390d72a3b4c4ad8ea6b334f13ae19493ac59c8d13f09fd86d31b3b7e6039b09b45272f7adf971fcc5ac97de1eb97466b84535dbe2444d20412838f8877f03b9bae7644f17fcd518a8652ccd205ab649db210e2939cbc6b5eb63f2fe4317e50326322bea012fc3b7768b6bf4072ba8de7db86416669318dc77b7e8e5a121476b033abd2ab048c76c1b18b522d9058916d757c252e5bb157fe9d04b273b56d52fc70391f7eadd8a743ac66b7b92d337c9df5f65b0a459cb82741914b3e01dbc3673b4031f8bedc57305c25172d6a27cf68462c4635544f244c853291d8fafa174e3329b03f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e034262db7326844ffe1b57909855e7b8c44dbde5c4a71de29608232d7dc007011bffffffffffffffff05581e032f9e360b86db7768225912c7fe7b0d394c87dfc048f1f66423d61864800403039e32052e5f87f98ee30b7f2945942ac7179200be184ce4804c6e77497020170f03980ab0c2d8279f8213926e58b47080518720bb835ae2bf3ded22f2cc2a3c54d105581e039a0e1fa7ecb7b05eb03359fc5d3404fd5874580d22be25fbee904fd6600f0141011bffffffffffffffff05581e03b5f8b58f35afe7e4a23eedf6ebc3c986c1d694c86da82933044921e7700c014703b58148632e0005581e038f459c44f5ba273a0ba1f4cf058dc848abe7dcc03ee4c615668d6b05d0040103c5741f256f036c88bdc1fabaf4eada0cc2aba549d5d5ad44c57e2476996cb96d038be7e5e46c16aba7c55fe797a750f2f3a4bdd2a15e0c0b6c2ba0a431d72c0a3305581d02ca6d0360b6937db4395dbe55ab85a33c1b637b9a0899142ef2926e6a0c0147048813d6427d0705581d02b545ee1efbbe12f5f592d2a2ccd9f5cf101ef4aabd3812dff2c7d4e404030219200203e16e1724e55dd4c325de76d4983e13970e23674aa47ba64d88f7a4b908c2b902021961be0311f2d4a02d5dfbc3515c28ecdbe054d7852b24b4373e25314dfcd4f81d0cd06d03895ed6635f0ba3e4cf1296582ea410e5e4509f7080a34cecac7b7cfbf99145b203ff89c0d3f5108a863e5f12a13dbf3e2d2733aaef975ad8a7e6e8583bd688f77003ad19411850def1980685b96176512cfb7c5bd72cb4d7485abe8985e804357676031e109333af0c2a08f18103d653dcbe350a27ad7948333ec76192067a01a3444a030eefed79e14e6fcc1b2288fd4cbf5510d919735203d57db840cd12194d654335038e3031ad74b0425ff65a7855f9f43dba53bde3fe721977fd761318e1345eab610325b46ad34bc5f0d08b126c54e431ca056bcc95f9a7d89ca2272f99e9b9c513e60399667ea70a6798220832fb2023a9da3912539a2a7dfe5b1786531d61989dd033031436bc5a2c0b8acdd202d25a783c748aa01930585742959d17778530ceb7012703ce0d249e1132932f5047f29ca163374979758355648951d2d5c4cf55ed521d7303f4a34e7b653b602ca21522d810f51d6e3f1a489cc88bd9ed339753b7eac1297a0219ffff035c6c9882b25268c496427ddb024ee601fbd1683c3bbb555a58071276274bc3ea03275b4c0183478eb5e45c2e8590a0469221653af9e8f2dab400b6d6aec3cb21f003b2f42b34de410db9187953856de31cbb8e79c2418d0112bf726ab1a0deb224b503ef4a54dbdf3e0070c2ee20f9ec5d16ce675d4a3ef2366abe9dde9bf75d8baca3035de1b3abb537999cb717277c1940e98de4e61c54d0e78f6d2f5514d23e9c1a0c03477df571d0cd837cde9e1a2bd7817aea0d33edd7e205c485b8355b02e70af03d03356e1ad35cafafdd1ad86795f0c4e3e5a8772f51db6b982130cb7a38957fe3c6036649ce9b761f4a6259d6744baa31ad6c0f11fbdc8a5a7ae966badd10852efd3303da12bb1987864845f14e84de6cb28f70564aa82cb61bd190a47f0f9636260ffa03cddab4d45c5b6ee479e6699c27c1e5b8c429cdabd9f876d921a7e7e65afd06bf037ad036f9dd3183e3fa480cd011e76c5fde5a4a6eec6402dcd7fabb9ed86e7f8b03358961ec5f239ede50a31d7dbacda06a4b438735bdc3e250b8f2ea9aadf5803603b91ad1f6ca851ffb76296e5fd00990802a2f718aac5763d8aee5b3e1a0a9205803aeda18532b1f2dcb529729c59ed0a98c6b412a61568a2b251a6d7f308c64ac1b0326bef0f64eed3b03dba460b0b5f463f221db18c4158e2327420c91d002708d080219ffff039293ba47a407fb0455d596f09784358b4450226122223a512a3dba752e181901034100e819fd894ed990c20cabf14a24380ae72a7ed90007705a67a551f3afd5ca030b2b7b3d3706ea53c501052b8f89a1c44d981ed60f6fccd5cf5005f6c227d61d030cdcb71cfe12ba6650641d170c6aa8b647cae9b688b945bae5ccac04263a3f6203a979e6b5c209e56fd835827274e81751cc3e8f2868ccc2b26c9e0129da0f28e603e01b0bb9a673770c241a809150f829bd5755525950b3c975ee4ad18a5ab43bd303df4d36093b825226ab8c426614abb068a1142cb8a5505453120de6d0e874f4a003a0fb213bcc154a0d870507fb02012275267ff2bacad32da6df19db599e9ecaae034d954003722a54419ac4375bdacdcecf461ef843db1c15c50286eda5906e8705038ead0667b6bc40f1d3d1d5917b5cc22883d4c690bab00bac1716bf2f14019e810219ffff037065b96dfb08b45bf8e627bea2deed7102593c5cf288bc8cf62beabdf60f07e60345c63edb1d469c42d59ab91b71d99556de4897753d21152393dc2d47cedaa4330323fdd4215ff74a2f4ae6bb209a7fb747ed7ed42f6cbd76b2cc75734679515247030601271916ed3154ebb4973c04e20a6e17400e401500ef0c2a2e789437efa22403d27f8b16074120e8b2f16e0c27d1eb227a5ebfceff9c7be048f8c1654ab84c1303a6e65592e9578079aa21b514803bdf89e5eac26b76e934b11cc8e8e96ac7cd4b036309a4caf87fe32ff668cb344974c94d310fac7f57fc4cf3314489006a45ceb6031c065ac3e4232e46020095f23c3bddad1dfaa9432b80656820a90efab96fb1ec0219ffff0369ee1b35f912dc13c4411a125ce4bf4700973f4a031872eae72f43d202ee69b7032ba7e33534f23f48c21713791f3077f0a49e222c27ce9133a51bce02cf4cba860378f3b25bd49d4976882089da1e0d44f6d2d7f0313292248651b177bc390298a6032b2b7dfdec5ce10203e08e2423f32a3e05a6101c7eae2ba52fc0265bad088b7703ed551bdb961896c36fd2d690d36058eddd10706dbc7d0abaacc9bf128e181c2e03bfa1a6aed9b609ba7026d0b177ca1f61ae416e9712c70975ed247b3bb76e7564031e23626bd42fbdc37817c1f55d0251725e4c27263da185b4c2e35ba9db0be44f035ec702a0fd45ca29ca90ee9955d97544e6696b1981bdeb042fac73ce7f257883031200c939a1c72037360a88314308f1b2fa93945df0bd96f20a648f7866b08c0b0321d4ed5ca808fb6e1fb990559130b2e3b8a7cb814b32e7ad682001f00fbefca903b7beaf37dbf9eea67f492c5a36ec611dc4bc85a6c920051dd35ce5bed8f11c3d0307b636c654803e77997ec605b3555769c388151fbf225f00afd2203e0c8affa303547183c543dc08c5d82897244ff2fee5ae58c878b2e7c61b1a400bb9048a77e7030802ac667e2510f9f3db15b95dc94bff835b5b8698d03e525fc91a0c777c73f803ea5e27a4378facdd4076d355fd0799c0f4a5082206e1e752cc833dd6fbc47dbf037dfbb7de896fe7a2fe13e0c5a3baaaa66cf3671bcdab01141cb0671dc1ba3c8c03d68375fa5b90c306e5002db033380a24c3c3b641b591dd05c892cc47151d5e0003870279344954a2dc232f058174de75e76fec6c9e92bc1a0dfe847037105e7ed9034ae0424448dbad833b866e9a93bdb61b59af1b585e1d7f142273c9bc57f20687033841caa3ef20899c606959c590fc29bcf1e586292dd0f23c7a3dbd9a139288c403a212c0bf4a58274fae5dd993871cc670c163824b90d82a7add100cd99cc93563036685887ed86749e6da3f831efcb8a9d7676ea5fdcd758f5c96a1d72770d13c730373227e68fbb1afa7c17855b269d48790ec1cb79963d721bf5076b48554c35a2b03b23a48d507e5e2a3398982115d9f0eb39e521e77cbbd3bc19cb95c68f6d0e5a3037ff6e0639df8389f4c8a5d92de06845a8e173cf0b302b197676f55fb54ddde76033392d70fb8ef78b646d0e34b1f14d1e91e6eb3ac3eeab13e29921fe4e7887dd9036b883cf8880754164948ded33a1fdd1e83b4b149173dff8c25f91f018ff56fbc03dc4b7670d061a4fd2a55d57fef7a4f368c8635c89225f3ede4b3cbeec13e334a03dfecb3b89b3c1290f51393dc15cfb5bb95607d3598c566a4f27de0e0bbb23d7e039af2f6b0110e05f61cc15ba6fc622bf45079d32fd73713097fbd16312300530e0318849810bcb7b64a08ceab94efda829b728981be252e52295aea7d658fc3bff7034aae8042e55987af948fdf561afbfb6896b0403df573bf7846551a874accb19e0389f1e898dbb74bd12ab0ed67b5c125ffedb8f5261d63ba501fbe40aad5f08e5a05581e03f10527295198236db70e1482013411da101dfd490d4363d5ef9c756d700c03470225c5e6945c6805581e0311de127930d75d86b4fc9f174e8c8d67f111069fa1ca8a72dd0048f2000c0547020bda8a0d28f303abc9ad69aa3611380e9936baeaee34ad86c168fd2cf15db85b2294c813e5655f03a7da835f20bd2710a328bd393d98dda285464c7179008a1b89db4b766d58dc330605581e0316cb964c328a2b8a88447fca3bfbf4487ea59bd358eaef69a90d9c2af007011bffffffffffffffff039226b2973d5d8c35373a32ae001fd8871af88a0dde6c2dadb17db7cfda4bb72c032170ab2781750d0e58cdbc98cf5678eb68a8bd18c1c68b642f4f5f61a21a0944031c04de6e64a62a82f969285ca186690fa41d8bd46d0a3e2fceab2a092933977f0219269a039fb1b55403e53c662925b1570e71f46e181772a310999fff4eebd9ba31ca062a03ee26ca9865e82d657a331c49490574837886c264b1bbf99413c081aefb418b9b03426185dc89f7cc85dc88435dbdbb6ecc2201dfc68e21a9cf8dad9469fde9278a038db259e559081b3e90c5d4ced2e3c1d3580384183dfd7e357c9350f2e04e55220219ffff0330717e12fc96fc64d016cb78f3bb55c09bdebe7732e9eb26d7bea38316f0580103b166093f86645438f46b52f21052ac11f630224e98cd4eb42dc550adf530e87d031212b6935f8464988040997a4baeace4a8540e5ea9049de7ea577eededea915003e5bf385e1b39042a217d98b15fcb63ac7649a0d533009e577a9d5ae6ae0834610219ffff032e8d319d0a86b0b6611b7efad714ad70d5ed9a3361071fd9052b1425fff626df0375ecb77f10133bbe2c226209d8d5a80119f4a23b8346530334d1c2e342c1e00803271b03b872f88078028ecac71fdbfee08db22c4c5d1e2e4f21b26e0067fd903303ea99351a79948386cf21776d10b0793f5c30b87e3b5c7cda34e98ac6adef46420219ffff0390778d3d797f1f9d2a12b8f47d88d58499c04b9fc9a2e6b8a3490a5f1800776c030c8a935b4c0ecfbef67b3fefffde3b1f9208ac4b1382eefd4cc548b368476c13034e18d4d93cfa336a8b9bf39a34c1bef6977171cef909ceaed13354fbcbfd5a2903fd10ea9065e3a05b0c20bef9b493b8132b43d34e1f1c5f64f9a0b7db9a1d00a703856b3bdc214006b3a6a7401ce5db1f94f3cebfb054d94ad406b84b73a003f8b203faa4cd71901852ebe2c9737ae1befa9d61daa33ca05df13a94aed47f9d12bcef035a32cbe511a203df71c65ced2c39f65665ac1601e25089ebeb51bac1f57bef6a03ff9ae76ec1494c4619faa731c102dec90f914ee6239c8dbabd65dee561a291d0030668d0dd6a84690833df38db227a0e08b28aeb1634f9af66d3ffcc572a3dd422031543570ddee38c383e327a8e375bfc24184572ed4680c6162d30089899a16d7b03ab87f6c334753afbfcb9f18f406a47b1007e2a70fa5d60b501a925aa6ecbcf9803dad68f3855af45803b4743b9adada53290c936c127430c9e19a44cd741883e9803c671b2c6bb5301a471f7159e20d85bcbac2b689063e3d79ef31ed4048946c8420381f9bf64e38dff3e0ba6ab91a6daba4bf7ee37f27a18b9a30d69fdd9b8969b5e035fd34d5ad3f48120d0bb82c12befa1f8947c1cf01b4a1a8e1fc9ec405b62078703d2b5d2b23384bc5fa4b4947689990e8ca5e0e61b8d17054eabc785a6394c26750352ce8ececf6f9cd7b78d05c273f96b3d555e8c2c8abfa6de04d8f975a79e175003d50bc28a2fe1f955a74c237940f7a04ddc79917b81299df0523bba9f97c590dc031fd357cdcd33657142681e75efb60a71045dc3682d93a45458b9001443ddf732031bda26e56cd5098203a229dd9b3bb9d1dec4ad424e319ba0e210d7200980f7a4031621812a6cbd3ed1f92c991662bb3be5b60777241fc1bdcd20c117737f465a09039ae3c0c36b6a86e19a4f51f28b2e8a176b0d88c28e6fecb88b8d8f3c8f7bf22f03e9dd8f0606861473bb1e345e98ff53a982e19b5994a532ecbc84c5da686acb5703c3481cecb1f17df6203360e0b7c2af9578d6db07be37445578c60412b919053c03ad62cf0cd3b68e813fb189c00c95205ba3ac72e367e2119881f2ea98ccc6dd4403bd00bbd8ca20916a5a227195562a337ff1f62ef1610940817b1e4415f8665d8603d8f1ed01f6f58e0cde457449a448884c7e598425a25b6f62a992289ef4c06b2c03ac3950cce2af794f79f7925da06d0a6b7923ef00cba96efb60c9a8ebf26918920361596a2d39076144051c8f2d3890400904976ef154233954a676f613fd60e7d90320822091e419d99f4420f2437d0ef48e184f6819df54663dec263d87c8b768d003cc48f924c1f48527fe23f57bd784c17c475e076b064ebfd48f53f320ba3224e5032fda9bfd45a9dbf6a8bcdef9c6e3de6a6be02abfe1a42e1cc01103aaa93afd9e0376cc8125488dca54886fb9a2d51435e2e3b7f2adf3495ba6234d2b652b121b2603f3507244659e7e1e90aadcd8ab3bb226d3d0b75d963ef655b4d6c4bccf4b495f034d02a44181dea60965cd1efb5691c3fa0e07878099d70dee5ee9e1c84f6abfd603964295ecc95afdca6b395662754e3b62d79d3fa09d01be7de78f3be0871831f3039e3095d297b054693e68e1661ec7bf5bbfef3afc821b9269414588409a835a20034f55826c596805ce56af1d0ba6766fbcbb7cfe689de1c500fe03ef7a1677607e05581e0357484c6cdf2bdbea6e2a451ea671303f115d5928ef64c912d294b7f3e00c014701289612a9480005581e03c1bc43b466df9258b62a9a373b4429293dea7aeb7f5ddbc669731747500c014609184e72a000036a557c513a29c705e2aed71e9b8400538b33a6a9987b0737ad517d74e6c68ca503088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e03d138e185271af81d1c39e45a236bbe0bdaf5059f2a3e70ca2159936d3007011bffffffffffffffff05581e0317f354d5657b12ac2eddfc673312715c50a51352ff4a46be3e2ea3ea900c014702d43fb2ba400003070b23eceb602bc8544b0cfdc87bbf14b5dd241114540d7953cf1261a6352164036f9a0070f939ca69dee5d711d252148a90f2e646b57c03db6bbecfad7e4aa17405581e039000acaa5c1ed850779e087183d7b055db96c48de8fee2f9f038a7824007011bffffffffffffffff03121ae0821124df37b4e6f561990518b8659f60083833775fe69c2edff9393bb205581d02d7fb178b60d72512159fafb68d88a35fe33c6c84f731d07fdd7f0ec10c1147013df552c0bee005581d0259ec3207269d511eba2ec83cd4887d80bb2bd0c430c632d815e8e5dd0c19038a487e891a06217cdd0a0219480005581e039c98b2280ca4d53ac34abde301cc92d4d8366452c1704d87831c9d02400847033546123b70000219f339032c98458c9d0577f2a25fcf74d817c6678f35705d2d78ea31d73c3db63e6eb03a0219ffff03f42ae8ffc479f3978b652064b76d6cb93f9d7ffc4b3dcd51736aaa64af133dc903a087ab8b4ec84e245b4d6770023f1408f5734e19ded4e5598994ce99e39a014a0395f73eb3bd4fa68937140e4322a285cdbd683646052fed9d2489b8119ff134bc03a74944cdb6d77b6bd1bdd7f96b80c4704f8604fbdb3ac88528c21abb4e67acae036e4634037e099490bb0cf14d1d7189594a4580f6f360a892416673b93de9e3cb0359a0dc1bc769f0ba25d8f1296e83cee7b19bf9e166dcdedd73b687ad54b01eb4039a5c12ab02d5f879e014a0e99f958abaf2631144985c1df177a92848dd34dc500219ffff03f5a43285d3df33895e374eaf03fa3691265765fdc9e9ca8b76144e292131ac65030fbfa22ba6b9145b38551c7cd067204d217992bf53a9a96c877bce135b0a1bb70219ffff0328461df0876e1f045b3ff365fbcee91690b525191825fb762b3d7ad81434c706039b29ea418b65bbb2ccea73f4281d948f1503642c88ef169b7c422a3f0443d3de03e583296aedaf802e053266c53c9c471c8dcd1ed30bd451c1cfd67c221f981a6d037782c36a1bdcc4f17d0d8ebc25be3d5d0c1bbf7903e83e311338997e867b028f03381ad5f8723176600d72e6c0c1b6c0e680d788c2fd23f4a0372bbbb8486562650322cf63eb20bdc2f3cb77ef4a7637b7a1870ca9308c458bfaef0cfb0fa247e86b03724bfb84639e1f0756bc39a7fed89fdca740031de290ec60e60c0f199d92f38e03fe37e37b946ba07d6acf5ee573fa9eb62e0c2fcc660842cd0a6fe8152c5da46f03af30eb2a5173f2dc738a778422c4fb03be09cb816e2add24e2e35faad84b8d1a03e867ff278396fb74e928cc883eb7b61b94228bda6b03045d6cda9693bac44efb039d777e71e4cde525e81fddf768aca9914768c87a20750b7764c53594831d548203e5304f40ec7a144b0b2b50f3b239de1cf5d54e4f01e07092eb54b79c08cdcb360219ffff036b7ea8deb458a8f00622947ad8262c3175b64432fdc305983ebd779e19806e6a03387b8517abc7818e09c8c1a2399252624dfe6e880212e72f932307e3c7db43ba034749ad9d9f16cd60024e108cf3f441217a97a0fe217a26fc535fa2f6616a1e5d037aebbd71d50272b5c2d9ba909d49f8b9422dcd16eb4477051716f76ed89726c803eab000fc22d8259803eb28a1795a516c9fbdc10ea8eeadacadc438a47e4c243103afff26a3847677ae40204eedd79ad443df9665f6d7c622d8d0a28d9b236669b903bb21e22efe50234a0223fddaaed3fa0f9ae659d3bb375a62a50ecbbdb901eed803bad635ab437531ccc262b1e886ce5a35a295eda0d1b74be5169babe2b662605e038ef3ee9a5b7bd4977ad09304c78badafbae899cb84d047be2c3a5ff325aaff4903ab4cb90348daea532cba53be005e7250e46a5fd4287028f254ba38ae2cba8af3037b5527f4891146bbb31adc37ed10bbab385eec2450558953399a92d844a36ec00316084501b5fca49eaa5508b0c09a484d8c28f120e834e9c0943e8a8de3054ca20304fa3fb6831848be17b057bfcda2e06bfaa5a2c9e56606c234a140e015894fc6033553fa35fdcbad380d624b5da581d9e55cfd5e28a8a674a95f7adacd127739b60341bce781f9fb18de162f9f747ddfe9d1b14d8c256087adb558ab2c6dbcefe1ee039c5644f25d54d6ad58db9db8ea24089d3e32227981e2575bc1ec440c9a62e8100316f975b3f009725987ca1a94c7d0004ffe42f588c0d7a0780b24033240ac12d403711c9967d268cd950632bfcaf1ee2972cc5ad6ef60ad69ed1ecd161204a39fe703bbce45cda98383167014077df75fbf4d0cc6e446fa269699baa0d0afb934d35303728930bb78648be00e000df131f3f092c84ebd6e79c64dbd74788f009e9abb4a03b865f04c11e05b8a424b24bdae0e825cba824d09901f89f92b7ed40599c1aed503dd214b82669932281f5b4fa0a4e2adc31142e8c4c513de7c6e1e1bc288b09beb034d1d844f275caaa84336bd8e4d2ae0df40ad25d4a4074068020d9a9ad520a3f30325b440e135f66bcc11d2fd6e880105d0d83a1c6a11d5e4dda8d513d44ef6418203176d69e492f0fa819de39bae2859e80df775654f4ff609ecae07adc8c6c99c0e03565b124b25e9b983a4ef2a10ccf7dc96882ee2c5ba66ef360abe4d48fb6edcfa03be9e3f9ade2483c9d55ce55ec658c22e9d725341e386a06ef24905e7374babe8031911c2e87d4a8c34e159491501c19f8e2ef87da25885982d06c84d70f810c7cb03ccae8e13ab077d644509ab9875107ca0800699c9891daccc57f63fc540466abd03d98ec8bf097f66816a5cf5ee778b05c8b417e70f56b5a72c03896bc6b22bd02d03b04130fb2ce89299d38d6922580823345b8ffed91a3e88761d2eccfe7f8066260343611c804ce2eeb9d8a74403b59ca5fc2b81c6a3338f6764421586a016353140037ac6559eefa9d32bebb2221178987ed6a273f8c71ab72badbb0d3f7b44228e0803d6d0b1006e21b5c5f771807fafdc06dc09246803ac84d2dc29832aacbc1cd73c03b4aed34671184efbd1a394adc496fa0593f4932e0dc6e3f355de8f91ead62ea8032a043957bb03405fd939e4a46ecf23fd7415052d9418fb2c66fee82fa79d8d0c0381a3db828c3ba6b0c9aa2a366b51b69ad50552bf8c948bb0a62a88582a118a6e03aa2307a9a7613449c97b288a5ef94e6d9ea967a06888365a4942e4d874fc9e02036ba8e4206c014f76ed8a494f19011320b41fbd3df5f36ca3895616c7a048907b03d3f2eb58141c9f6ce83cd9fa8d309b2073d75d30e8cdebc5c9d559fd11a3c19a0348c912a301f2d926f4cad06f9083a74c7d2f039cbd7db25d60063a0949929cae031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03c0d4b280d7a4214e8dd99ecc57b995051a9500964f7fbbd0c5ac30931007011bffffffffffffffff033133c6c11e8f94cd408adad17a71d96eedc44fdefc80066345ade2793700fe6c05581e03178b2d609496f07ee7efd54b3da646667ab7cb8a10acec74ed439ecd3008420138039ef54f35fa2495448d17aa2439a27ec8353d52fb88f9af03f5b4def464e15c20032016bbdb8a22e386bf1e3fb756217a236fe96ed8873263bfa455ceaf21bcb8f305581e03816a37aca9f5f7d14fe959fc63d1a9cc9fbcec80ca86c3464e65ba5710040105581e03404af075aedd82feec3397c31fbd996372fa206211c0154d14e3c939b00c01470304ad7c9723ba05581e039235e7293125744ddd12668fdc78f9ce0a6ca02de30216bf3265499a10040103b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b0000311e2dbdc31051a2b2c9e9e4c75f94cb2dd1cdc7314b4e63e027b09cbdaf6d40105581e03af8bf2469d5de0a75f9b06946c367529c3d575b93f76639a6d4ca90b6007011bffffffffffffffff05581e0355e4f181e1646d569e586d21ef868757f2b974125eaaa79e8ac01396b0040105581e039b00241091ef6317cb089147794ce74b30a94486172e7054d169ea7df00c0147013ca2b90f97b004591d91608060405234801561001057600080fd5b50600436106101f05760003560e01c806370a082311161010f5780639c7e1a9e116100a2578063aea0e78b11610071578063aea0e78b146105cb578063dd62ed3e146105d3578063e30c39781461060e578063f2fde38b14610616576101f0565b80639c7e1a9e146105495780639cb118bf14610551578063a457c2d714610559578063a9059cbb14610592576101f0565b806395d89b41116100de57806395d89b41146104a2578063962399e2146104aa57806397671bea146104dd5780639ae697bf14610516576101f0565b806370a08231146104575780638129fc1c1461048a578063881ed6db146104925780638da5cb5b1461049a576101f0565b8063313ce5671161018757806340c10f191161015657806340c10f19146103c457806342966c68146103ff5780634e71e0c81461041c5780635e0fac2e14610424576101f0565b8063313ce56714610355578063335f57531461037b57806339509351146103835780633a98d88e146103bc576101f0565b8063238189a8116101c3578063238189a8146102e157806323b872dd146103125780632e440403146103555780632f38466214610373576101f0565b806306fdde03146101f5578063095ea7b31461027257806315cb7cfa146102bf57806318160ddd146102d9575b600080fd5b6101fd610649565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023757818101518382015260200161021f565b50505050905090810190601f1680156102645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ab6004803603604081101561028857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610681565b604080519115158252519081900360200190f35b6102c761069f565b60408051918252519081900360200190f35b6102c7610726565b6102e961072c565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6102ab6004803603606081101561032857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610748565b61035d6107ef565b6040805160ff9092168252519081900360200190f35b6102c76107f4565b6102ab610814565b6102ab6004803603604081101561039957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610835565b6102c7610896565b6103fd600480360360408110156103da57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356108d2565b005b6103fd6004803603602081101561041557600080fd5b50356109c0565b6103fd6109cd565b6102c76004803603602081101561043a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610a8b565b6102c76004803603602081101561046d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610acb565b6103fd610add565b6102c7610b8c565b6102e9610b94565b6101fd610bb0565b6103fd600480360360208110156104c057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610be7565b6103fd600480360360408110156104f357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610d72565b6102c76004803603602081101561052c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ea9565b6103fd610eed565b6102c7610f9a565b6102ab6004803603604081101561056f57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610fcf565b6102ab600480360360408110156105a857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813516906020013561104a565b6102c761105e565b6102c7600480360360408110156105e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160200135166110cf565b6102e96110ec565b6103fd6004803603602081101561062c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611108565b60408051808201909152600681527f547275654669000000000000000000000000000000000000000000000000000060208201525b90565b600061069561068e6111bb565b84846111bf565b5060015b92915050565b6000635f1b13374210156106b55750600061067e565b60006106cb42635f1b133763ffffffff6112d216565b905062278d008110156106e257600091505061067e565b600061070a6276a7006106fe8462278d0063ffffffff6112d216565b9063ffffffff61131b16565b905060088111156107205760089250505061067e565b91505090565b60015481565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b600061075584848461135d565b6107e5846107616111bb565b6107e085604051806060016040528060288152602001611ca56028913973ffffffffffffffffffffffffffffffffffffffff8a166000908152600360205260408120906107ac6111bb565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002054919063ffffffff61148716565b6111bf565b5060019392505050565b600890565b600061080f61080161069f565b60089063ffffffff6112d216565b905090565b60085474010000000000000000000000000000000000000000900460ff1681565b60006106956108426111bb565b846107e085600360006108536111bb565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61151e16565b600061080f6108af6276a700600863ffffffff61157816565b6108c6635f1b133762278d0063ffffffff61151e16565b9063ffffffff61151e16565b60055473ffffffffffffffffffffffffffffffffffffffff16331461093e576040805162461bcd60e51b815260206004820152600a60248201527f6f6e6c79206f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b60015467020324bb546e80009061095b908363ffffffff61151e16565b1161096f5761096a82826115d1565b6109bc565b6040805162461bcd60e51b815260206004820152601360248201527f4d617820737570706c7920657863656564656400000000000000000000000000604482015290519081900360640190fd5b5050565b6109ca33826116f6565b50565b60065473ffffffffffffffffffffffffffffffffffffffff1633146109f157600080fd5b60065460055460405173ffffffffffffffffffffffffffffffffffffffff92831692839216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179055600680549091169055565b6000610699610a9983610ea9565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600260205260409020549063ffffffff6112d216565b60026020526000908152604090205481565b60005460ff1615610b35576040805162461bcd60e51b815260206004820152601360248201527f616c726561647920696e697469616c697a656400000000000000000000000000604482015290519081900360640190fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001633179055600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b635f1b133790565b60055473ffffffffffffffffffffffffffffffffffffffff1690565b60408051808201909152600381527f5452550000000000000000000000000000000000000000000000000000000000602082015290565b60055473ffffffffffffffffffffffffffffffffffffffff163314610c53576040805162461bcd60e51b815260206004820152600a60248201527f6f6e6c79206f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116610cbb576040805162461bcd60e51b815260206004820152601660248201527f63616e6e6f74206265207a65726f206164647265737300000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff82811691161415610d2b576040805162461bcd60e51b815260206004820152601c60248201527f6d757374206265206e65772054696d654c6f636b526567697374727900000000604482015290519081900360640190fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60085473ffffffffffffffffffffffffffffffffffffffff163314610dde576040805162461bcd60e51b815260206004820152601560248201527f6f6e6c792054696d654c6f636b52656769737472790000000000000000000000604482015290519081900360640190fd5b33600090815260026020526040902054811115610e42576040805162461bcd60e51b815260206004820152601460248201527f696e73756666696369656e742062616c616e6365000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260076020526040902054610e78908263ffffffff61151e16565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600760205260409020556109bc33838361135d565b600061069960086106fe610ebb6107f4565b73ffffffffffffffffffffffffffffffffffffffff86166000908152600760205260409020549063ffffffff61157816565b60055473ffffffffffffffffffffffffffffffffffffffff163314610f59576040805162461bcd60e51b815260206004820152600a60248201527f6f6e6c79206f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b600080610fa561069f565b905080610fb957635f1b133791505061067e565b6107206108af826276a70063ffffffff61157816565b6000610695610fdc6111bb565b846107e085604051806060016040528060258152602001611d3760259139600360006110066111bb565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61148716565b60006106956110576111bb565b848461135d565b60008061106961069f565b9050600881141561109d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91505061067e565b806110c0576110b86276a7006108c662278d006108c6610f9a565b91505061067e565b6107206276a7006108c6610f9a565b600360209081526000928352604080842090915290825290205481565b60065473ffffffffffffffffffffffffffffffffffffffff1690565b60055473ffffffffffffffffffffffffffffffffffffffff163314611174576040805162461bcd60e51b815260206004820152600a60248201527f6f6e6c79206f776e657200000000000000000000000000000000000000000000604482015290519081900360640190fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b73ffffffffffffffffffffffffffffffffffffffff83166112115760405162461bcd60e51b8152600401808060200182810382526024815260200180611d136024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166112635760405162461bcd60e51b8152600401808060200182810382526022815260200180611c3c6022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600061131483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611487565b9392505050565b600061131483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117d7565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600260205260409020548111156113d7576040805162461bcd60e51b815260206004820152601460248201527f696e73756666696369656e742062616c616e6365000000000000000000000000604482015290519081900360640190fd5b60085474010000000000000000000000000000000000000000900460ff1615801561141c575060055473ffffffffffffffffffffffffffffffffffffffff8381169116145b156114305761142b838261183c565b611482565b8061143a84610a8b565b10156114775760405162461bcd60e51b8152600401808060200182810382526023815260200180611bf76023913960400191505060405180910390fd5b6114828383836118ed565b505050565b600081848411156115165760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114db5781810151838201526020016114c3565b50505050905090810190601f1680156115085780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611314576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261158757506000610699565b8282028284828161159457fe5b04146113145760405162461bcd60e51b8152600401808060200182810382526021815260200180611c846021913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611639576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61164560008383611482565b600154611658908263ffffffff61151e16565b60015573ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054611691908263ffffffff61151e16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020526040902054811115611770576040805162461bcd60e51b815260206004820152601460248201527f696e73756666696369656e742062616c616e6365000000000000000000000000604482015290519081900360640190fd5b8061177a83610a8b565b10156117cd576040805162461bcd60e51b815260206004820152601f60248201527f617474656d7074696e6720746f206275726e206c6f636b65642066756e647300604482015290519081900360640190fd5b6109bc8282611a97565b600081836118265760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156114db5781810151838201526020016114c3565b50600083858161183257fe5b0495945050505050565b600061184783610a8b565b9050818110156118cc576118a561185c6107f4565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600260205260409020546106fe90600890611899908763ffffffff6112d216565b9063ffffffff61157816565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600760205260409020555b60055461148290849073ffffffffffffffffffffffffffffffffffffffff16845b73ffffffffffffffffffffffffffffffffffffffff831661193f5760405162461bcd60e51b8152600401808060200182810382526025815260200180611cee6025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166119915760405162461bcd60e51b8152600401808060200182810382526023815260200180611bd46023913960400191505060405180910390fd5b61199c838383611482565b6119ec81604051806060016040528060268152602001611c5e6026913973ffffffffffffffffffffffffffffffffffffffff8616600090815260026020526040902054919063ffffffff61148716565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600260205260408082209390935590841681522054611a2e908263ffffffff61151e16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526002602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8216611ae95760405162461bcd60e51b8152600401808060200182810382526021815260200180611ccd6021913960400191505060405180910390fd5b611af582600083611482565b611b4581604051806060016040528060228152602001611c1a6022913973ffffffffffffffffffffffffffffffffffffffff8516600090815260026020526040902054919063ffffffff61148716565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260026020526040902055600154611b7e908263ffffffff6112d216565b60015560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373617474656d7074696e6720746f207472616e73666572206c6f636b65642066756e647345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212202f6a9db7470493959023721b92468856acbe69d0704d6b42b5cab5a3768f1c8264736f6c634300060a003300582102036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db054f6e2da7d82ee49f76ce652bc0beb546cbe0ea52105581e03b31b89e2124417805eb5766cce9bbc97c75fa1180c92d9103a7aa879900701191d9102197ef90363980076de4398b81d53a2712ed13101397bc11928f3ce5b10f6724bcf2341ef037b741651886118cb86fa0fb95093fcc8e77671c08b8089ac156461c3ccce5e850219ffff03b709522d8a1fcee95cf481c2565fc1811e287db5db5205b70a031e242751eaf403b3a1603559fd4c71f2068951405a9db723fcb3f512ee5d24ea1107727c340ecf03be4adbbced121d85a25d1341d1187cc6a4e17969efbdb7c0f550ed759ea245c30397d7d8db511430625b7963f63034dcd3d945d97979c4d9bd220118d4c325fed40361cb075d2eee9e8290562d9417835bd7d400fdf14bfe29c97711a0bc1bccd21e0219ffff03dfcd1e53d01926fad935e1d006248b9c5982d13d64ba2767280a1b7f8ef8acf6034af5780c90ca98e7503999128121f2aaed9990ec42b1eb66d17682768a7a4d810219ffff031c688b5406469289a79e85b26f607fd2e70f7ea329ca7d194900c65bd0075bf80304a11611cc9133e9a769ec942487136cf42a1923a93108b411cc8718b830b89f03d4da1fd03d316d8a05d404a6f09216c3a0cfeb1574a7ed534c8722892d5fbce303a63d63b686781d2b250bc6807aae47262cd47b172196869d05a15ec762bec40e032fd358c84259ae45a6b818337e3a1642b22d92f003c1bc4b5953a68914c481d303e78bd02decb1296f3e39dc16df39ac9048106025d5f7cf34d6de6bf7fca155ce039cdf784413792c07025693e450a9f1e35caa2d265d29ceac54cb9e59c7e74da3035bb0048f5a4a5268496ca4c4310f0fd16f02ad6e47d65042cbcb8fe2642b2a4003fb41aa797436835759adbef90ab45db0c7a8cc567ba045ceb9acc49e5dcc940b03c5051354c852a21f0d795d1c497d2a3b54108fa9e9a8155270aec3f72aa9e46d0219ffff037473180b9df3ba0f300b17962c7a9f84c2a4a9b15bfc4bab4170393b4d0aba43033b7eaddea44c4d4e8920356e7f10aedd53b5401e9ebece9b58d8c50235cfaef603ee4bc26d3f70ef86ad301f5d488a1e40f5807601d98d7914c522ef51f9d67f9903072d3e055e19dcd1adc3952ac1b7abaa051bf15612688c1524a1937bf5121fcc0360664669de02b56fb14c07fbdbba3fb6e4441cf3845ceb241be39cfc734c7a980370942f2fdb5630573aedd005b9bcd7279781133c43625f9c01e52a66fbc933390331c5ca8413a720e702455fe06fbd539e48debd512980d91e58d62380a9d80fc9038e3fa542bb940b99a1ef7cbdfd037e8da67d9cb32d1b73d785ff7c81626f2b25034dbc1191b2b8e971d6d0693ed222136877a13217392339b175e25e4951e3761d03719ad047cbd7023a97862e466d5ee2e9a05e31683ee8d6696b1602933248d1d003b279693b3998fcb8298d2e16dbf0f78076cf87f0d72ef137892ca8e1050d0d31037c7746b341b8d6a0a03e72c4003db038c9a78ab8b6413c7554144e839483d7e303fd5603a6027dba20f9723c0151d5b605d7e870162a1b22bbda978e4686cb5afb033ee284c7c5465c53055fc7eae8cd629ea84a858edc5fbbce9f41b0940901113d038503b77cf4fc3f411ef6081c454a155de3391f54b6c72b8895d0b79435beea9f0362fc6f6d77bb549525c11ab4ad82c8b53d621b628e91afec917fb5cb069ea1ed0377ec52567b615ed695a8aae7ec6e0cd57d0b67eecda29a880e0b7f8ce0aa61ee032c520523123ae4de931b4c378634d7267f64b6832c8e003a36d3885ca0da851b0310d8dc231cd2a9f667e909f62cd55fa6f314683c34d94a3d58b7be3cddf08b6403ad900aa6826f8484e2b08486a9f4bd26bba319363fa1042ee231cd7ec23949d703ca8fda232ae70a9d1082202e2ace3b57ab5dad65849028ef0f162f905a87833c036f463c8b39bb3445b609b9d56701fd1a6edc59d8a18f58eef54ad9afe150150b03d77d7699d3c68ff89884e73981cd3a53eee415cffaabb367ab1484a48217f9e3038f24abf82b808c313a14c198e0c662fc174131cef7f0510091c8265312925fce032c9459cf4fc844baf8a59d50e167c79b04db00d2d271e1447b5763efc8a0449e032a0e2222c4b7db4b4c0bed97742e4ba6bbb0468056f5e75ee67cd91511216bb203cd21e5385ae1590b191734fcd92e3107dcab9c1be4f3b5b181a2ad6c2e30c4d803df8f7943680849dfb30eec401e53dc63552428606bb5567262f7b5292257302b034c79cebaff0eb990e70a23f819f1b258e3df1ef72ef41016a4503f6a3e1e1dc703002117a92fc85791b3448dd326829861653b0f4fe89fccccbdb043d7cd948cd405581e03ff075870f7335f1889f20d912478908b9dd8ef98089b9ac0066fdd06b00c01471f0aacdad3da0005581e030883e644b1e98a97922f7fd7b58340c3743019de14a48b263b0ddc27d00c0e4735869997c43000038302fd99393e9e0abf15783adceca763a50e26bde8220d41cec63c16af861de405581e03f5785fc7e50b9103a803bc09af790129fde093f96dfd0bf81533ea9db0040205581e036799303f0e7d9cf307302a7dd085e877c5355a190c0491a87253a79ae00c024621bb96b6fe4003fc57b61fce5fc409682f07a02796c65658ffd0075b2af08096146d0bda2d7b6205581e03f5301a283c33e4c407f13769759bccf215c8f0a5fb59634cbf5f34ce60040102193caa03f522e71305e0cb4cb2528dee229cf602fdf7bd615ab60eac93f40826431da46103314f4f3331fd198e5363dc14f5f00633c7570f581e28782e8cec76450f30539a033598341591358e9e9ee023635722889406c769a07fd29e1a2327944042b58ac203726d3eba8411f3e5d430b62a9bb88351ee9f8ab056e0c7001642400acca35ecc0219ffff03422118e407a71e283c442415625a2d871e5ab4f9e7d7932a52e5a1a8b1a58be80385ccf52c0a6c833242371ddb8f51a5471645ffdc92dc7edc31969faf1e91c5850329f59ec9e03c4fb02e229db3f1e58ffb8f5703f629a316b72043875e2398575403c738ef0ca963dfbba12e9dd1327debf355402ccfffb2fab7129754390e8438f1038f34e84ffd5178ee145da0001cbd77863e486cfa292924033223d9275b5b5ada0219ffff03894b17885290e69dcfbb92357769da88d4e27d24d5886b21e58bd35fbd21e44f03f0df841ee032a6b98b2382b6fa224f3dcf63218cff52767c6137dc002edf9b6f038bb2654be941c7cae17899b5a8f77593623556f5a2d4b5ae8b284646a64c73e80382902a0a8213b68990a39e5f432983ee3d8b15de552bd53d762623446a6b971e03170232ff11cc9ca0dff34fa80c4c4c9b142130aecfa8b4ab1a8e75c5c0672f6703b6e295ff038dd7e304271b69530f8d428e0f46c9be3257c20f19cc235f14decb03adb1e861779ae749c684f89eea0fc4dd4fe99ce3d4a3491aefb55772d5b7f97b0219ffff0384189915795d85f89071ba8bd7a26746e18c2a28ea405795543c17709c32ecc00375871d2d4dc3cc321168dea685774c8b00ac1fa25225d8d84de52cbb2cee926103bdc9c41de9a539530ea0334f2ae03d47cf38daef9c99fc37c42143b95a8de92103e74b8a149d88872ef9ed2e6095ac7bb9a89d466494166438d9a6b67b7a7b89d5035f91738411498f73c97541739b7db5ff92ce477b611318ecf5b6255b9fae378b03ecd1c63b5d7e74f978da4d6dc8f8b6ce50dc3b016f8a9a79e605e0eb9958599c03d6780cce9518352e5679d285c5d7b8d21dc8b4491ae58ba174503eadecd14f69036988d69472ef40b20ec817057290b45c14348ed7aa6c53e7b81f185d7957dc20039213e994b770117a5331f2cd4850336666f4c654b539bdf3f8719ca81975568103a502423fce1f776397c768dd395deb870e30fee4272fd6a49aaa1ad1c79aebb9031c547f1fb89318ea2e28a42388a00fe572340bded30bf33ae4a38cc754f3c98f03b6b678c8135d7b5dedc6e01efcb5868f75e695849c3f76702c1fa75dd799cbdf03d08484eb1a1b35f9f901cf9942510b7f4f434f5e8647c90333889224a52e642b03d9c20b0f14c03b7f0f493a9238194af7655d077eb68b6253cca8eb9eca55b18203055f2c08449fe77a66d82733d834b5d0d3682ba8672f143133188fca9bd388ea037851fbec46fad0fed81c60ed64e89fc822456a454dc7996a026a019fb9493c2903dfc9397f6e2a4fb6ecc852519404ed95e0436588389366a7d753d28d28e205f20315fd4cc90792d4e2eb7347ccb8ab9b6a985e4f5f8fa2617ae8b0fa999fcad241032c3ddc8d304d7047313ddd1b82f920dfb643bc815ea04268020e778b7cc9399803a241ca85fc3c569b7d952c0503bf4c5b2fa4d457d0163010c642aba06407720303a05e66aeab1317286bf6c48d4037afccb2805205eba04308fdb6accf497b1d3005581d022f660b127aa279ac25a63f4d9dbec8073df5e7ba6d260760716a7c950c1a001011ff49014de8a7e460835f4205581d02de3e2bd63402475bfbf3b1da4fed97612c9952210a079cb7a52f41c10c0247043fed7aafbc760219021005581e03ba6bc7a54b5204d43645a9b83eb3b231742bead3d53db2b80aca8682100c0145482d709c0005581e03b51cb942d4a78d67be32619cab4d0bf80ed0d19f195fc7c891c5659e200c0248020b16e9286fd49805581e03b41bb988a1f00e0649d34979480054b2da26a7fffe8f0c27bd6d3d4020040103f93f7d1e043ca8ff4a12c7e04e852449066e55832d2f42c99effad7dba668a2d03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e032dc95dd9d955afde5186e879ef66bdb1eff6830495ce8bd289e2d1c07007011bffffffffffffffff03a37e30543889be71e34c0c9ef8f148155aad3d63114c3d60831abd382ea5595605581e032e3591cd0ab5b2c2c5718de1885fc255cafb744388dc00a18c9fa4c94004060219171e03fd8101966f4f466642c58baf19084d0f9c1056fe9ad1e1100e792ff5e3c8001903930ebd427bc63131cf8c878966c37c0e50862a587dcaa05c64ed26559759969703deac247a11246896aaed2d7eb2145ce1203efbcfbe07301515773c69a1ec21560386701ab9b4093f373e795c2c8a4bce06675b18641d01bb4eace3dc99fcbd357903fb610116b7e2398502e04277ca74129ce5ecb5d759e89dbba5bde1b89a5d1e0603eb3babf1fee07967990ac6305d4a9d3c38b4f77a753a4486d1bf404a43b79c5f03154e879ab109f555d7057537e865f674e63e710ff3f718c9f5cb60a97ffd8aa70381f4790cbbafbc23d3805dac60de52b61b1d27354fdf9ac0947e8f83da32a4fc03a8ea376f8430ace6da39e1b78d2dc2396c035b3c9b55b67f5d048af6112b4b4403d0c290c6919f498690e3a3f60c8b35b89633b667a4ee99781a0f33f6a992a15803baed89c9f8e868a4111786a236ddecd9e383fe8ef07ce81e81125d513ab0fbea0219ffff037c32a2e23ec4b952795e2f94a52ef81b03c039dbb995c1a274c4e88b114ef1710302949424a2bfcda445d5bb351807ad778077b1e716d51cddf47a19743ac996a5032093ecdb2c430eeecf35ebcac4738c7aa234860332e39ef116459dba9ff0e4bd031e15eb23571e5846eb71281f29e42ac9fc229249592cdfc29cf235408459918f032df0060cfaa8e0cb5abd1aa1d4dd074db3ec5af5ed35ffb168d8ea83c9c01e5e0219ffff03ace847a62ab9d9aa55296c1b04d438fb059bb8d135eadfef22b9b25ba525babc03768dc8851407cab9a7dd5d36421ac4ab4c6c1779ee4d87ff74c51ebbd2e7d53503a015a27624c8d376f78b4c7966a7ef3d55c48176a838e574e951be26a9d390130340023f6ed139ce0d6884bd1b16973db92b06754312abd3c23ec425201ba1443d030136a4bab3b132c5f4c12afe410bb71eacc7ea490d3b17deb200acf0af202e0b03149a33257ee32a4fa7ac2437194a8351767977321bd4f1978c71a24cd1a8025e03d20f64af6f7537e7b66a28d503d4a63c2e2b2927dcb3f0ac0d2be4413266115a034493541b627ceddae1bd7aff36f0bcac9c5d84537706a542cf858ce7d60a2dd9031eb76129780ab1cf9cc61c4063388be35cece1500a367e06844e097436640bf5036f421487e3d7b584d37a6f3c26703bb4f00ebb4fe5f2a670130207d63ec9e6fe032534795187a10ffec1ac4d403a87b3404b42817b67a347b834a5fecec59e4f6b03bcd2c8abcdeac74498d2eb892732891aa480b1a2f835bed9aae5b1cd592e2706038dccd9133dd1c34ba8f321b0095eec4320e33b7c72b936bfed74d7a417f7772803ce86e5e2393d6620bb1fc47a4c330f4ada89baf279252ca428d87d66cada5dc80394cb7fc7dba2a478e5a44884845323ca6965259f8c803a00c64855c8b4c73e620378cd1ddb0a7ea877d25fbfbd64c3d3b9dc162aed747e1046cc2b0d21a4f45ae403f965d64af54d7d67bd54256212a93e4d57d3d1dfb1553fefee1d5010a27e0be303e4d6cd6c0e2ba15fb1584e25d4237378fb1eefa5851a1596595c8c8e8c7ccfbb03b17212fe3ac269aead3f63eb0e70181e0a93f6086eda9d94e11ebc503bec29ab03f8f943f518dbb04b2052f214f04f2436d0442c48f5040b15b4cb3837e9dba93d039e2f10810729d47130e06952d73323ead79cdc868415f76550bc308f5bf017050304c76e515fa10694173c3181da7aff90a6d4e2999072c925fa9128315b8f213c0342ebfb409b8d1253ce00d4d515f738beaf84a071c7bc105d9db23d071970869c0367ea11fc90fc2b4595c993928fcf4352747ae12f8e0fd15900b4b3c22269e5b003719ac7594103b24fa6f71ed48bd0d959f4995c16df41b7e1602aaf28211f1a9903ee9c22338fdedafc8041dd570b2d384962ba532950e51e7a9af7577f8ad999d3038788ea48e9a4a6fab23f686a53a43b35edf1ffe9ba2da5345b609c6fc6d8bba30344cb90c34f437f3b2c5ecda368c55117a652809dce8965568f931bb93b927cee05581e0379370a7bc76232c9a9da88bd030f0ba14fd3fa5acde9ddadd1510d94600c02466b5f5acfdf20031688af6d515e7379720101a77b94bb8533af70efb6cb2edcf8ce9e35af4daf2203aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581e030039bd72681963dc2c0dd808e46a0f26c54103649a3d47abbe07ddb8b007011bffffffffffffffff0375b7318cbed2fb8bfabc48a703007a0ad17407767aeed6dee8b320f3e29474ac05581e03ab2a0a392976f88747b9c9407eb58654150fc0065feb26a5098bc275f00c01470212d8b9bf7f5c05581e0316fa84aafe30775387f365039cbff828e0702f239b7299d0b36941cf800c0144ee6b280005581d025bce8505a2196a6def415312cfc5e5a8e44c0609457e08c097ba8b5f08472c7b8363a0ec8405581d0245483e4dfc9e831f218ee53c9348a55e259e389b0c257c7c0de24fab0c18264778eccc5a0992780219024003fc746e1afccd2f6aeb2fb4de5458b6b78eeef8a6fddab8efd190e8f5cf7185b105581e03708db65cb6a7ccfa966b0f6da9af449957edb8ca713efc378329a3311004030219c3e903ce636b3eb75bfdd4a178c7089efeb725f3722d7ee43a9755c4f87228e2997e320352d4722cd12bc8ef080969b9d875bd1f59d3d51d4513666923c35192b24097ef03457227a943e8e2925b33d75df13176e12ff8e5a6e5a689a1322f11e8cf3b08e4031d2d2473af468fc5e9b0f9507b4d0caa780092f30367bd2aba92a1ea36d979da0219ffff03f03be597466bd7006ad21b66755c7f7debcc97ee5a1de26977c17916527d27f2038db49499b790a92ba07b879da0e2be5f4848b64193cd867369441131d1cc4c1103021ae0ed484542f31b0b5645098885f6ec01cb94fcdacbd00c5ac4302f9330f9031ddff29040bd4ea21f9e04ad0cc19968cd36e16e131cce8446cd9020ac937f1503841fd4a52a9edec9a2e0f12869a25956edb0db8691cf70dbbf4b9679e81e2e7303bdabb46ab5bfbe8e0fb313e27c70430360910ee0078aaaab8e45bbf11c2b4e40032fee02a99a94817ea6cb2c2eb9bfe02464431f3fca17435c70affb374362780e039f05eec66b66b87195f06f52d4148a32057ec87ff433c3d38f7811b7027cf88d0219ffff0219ffff03bfba906651bbe73b45920b81167991dca701831f0db19f73580a1232e3be4a97037850e79c37f4f08cf17391a6d360855fa4634e9b35cef0bb86c6b2ee5e03a0d003a752fc7adc323409e0cae14033ec19314ff62740a41be74233a59c236387c8d403623607329eddc0e48a0986e8aebb47cd6f0669dc9bc7ee4179fe1c184c7156aa031e51c6fc05e709cc85a4d80f8681a7f38718190f803c81012254e7dc97f0cf9c0398af396f5a78c36b9691c7c7ba42f4ef7f5c98e2057389eb8f03719f1c792c7c038cb43db7b38fd4ec6727d6b0074a2b97507f614c296913674e6b1b26d06b59ec032d3658d1fddd7d036a72ee9d9c8f59b524cfba86ec612ddab473d4ea406b2af3039128889cce73bfc79f5d3eb334b6d6b97e264948491d014c4532e4a5d37439050374e3c765716e1ee107d7fb501e2ecfc0f4c947410b26f878da326410cf65a5a003d6d96527ad5fe9f0321d7fb5dc761ba4e85e62a64189399499e32fc7bd8ec13403b65aeae911752f8ac8d3afa43ad7665cdcdb639196b7a6de27e730e0ac34b8ff0363078beed791b1212e8d8f42aea902ced31ba717a96f4e4b2b0e933440acb46c03ab8b251d023f2e7c27f3f1a6d3b7dbf34eefe88ad8bdf81d20178804d0730efa03858176dbe23229c5b4873181c0c099c994adfb86c0b7dd1909a2d6be1da6502b03ecf19f13af03b0899443ab06626359b3055be5a9d56ea82fc1c94ce527bdd5ce03d9c8cc8f3d1d1d1666199c640d86e2096b63cf27cfe7a9cc60450645a50b10c903957b3151a9497cb77edb0bbac657a23c8ff414526ecca15bbf9e3b494982eb0d037b10bfa6ecc471b2d684bfa82ba1d52288ae087c691327e8f4057d92e0c261300351c9ea83b58ee9d2e6297954866c829135d9ce304dfd5d4ad9bdee8227516d7b03465846a75bbd47e4697cfbe7da74938758570f862dda89fd0951ed24e2e812f603ce0aff5b1103d7aa16ec2ca28490a300ccac7231335f23ddd273ace00e75fcc103222a0dc71365e3fbe21bdf8c158cf9d08b6666b570e4a924e29d91f5e175dcaf0373e2c5045921c137e8454c4ea26002cbde08283014a0cbe6cb5bd50991a55ac9036bb1e6e644925819f1721e4e32e771aba1d7e53bd1628ce2ee8180bb57b60f9005581e034fa8110903af230f68d24136e681c89a630131ef1a1152907f141753900401045907c6608060405234801561001057600080fd5b50600436106100885760003560e01c8063ba35d0b51161005b578063ba35d0b5146100fe578063c0a797d814610111578063e299197714610124578063f50246be1461013757600080fd5b8063268a6de51461008d57806352c7420d146100a25780636878bad9146100c0578063b93f9b0a146100eb575b600080fd5b6100a061009b36600461055a565b61014a565b005b6100aa6101c9565b6040516100b791906105cc565b60405180910390f35b6100d36100ce3660046105ff565b610211565b6040516001600160a01b0390911681526020016100b7565b6100d36100f936600461062d565b6102b6565b6100d361010c366004610646565b610337565b6100a061011f366004610690565b6103e5565b6100a06101323660046106c1565b61046c565b6100a061014536600461055a565b6104e1565b6000546001600160a01b0316331461016157600080fd5b60405163e299197760e01b8152600481018390526001600160a01b03828116602483015284169063e2991977906044015b600060405180830381600087803b1580156101ac57600080fd5b505af11580156101c0573d6000803e3d6000fd5b50505050505050565b6060604051806020016101db90610536565b601f1982820381018352601f9091011660408190526101fd91906020016106f1565b604051602081830303815290604052905090565b600080546001600160a01b0316331461022957600080fd5b60006102336101c9565b9050848151602083016000f59150813b61024c57600080fd5b60405163e299197760e01b8152600481018590526001600160a01b03848116602483015283169063e299197790604401600060405180830381600087803b15801561029657600080fd5b505af11580156102aa573d6000803e3d6000fd5b50505050509392505050565b6000806001600160f81b031930846102cc6101c9565b805160209182012060405161031895949392016001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f1981840301815291905280516020909101209392505050565b600080546001600160a01b0316331461034f57600080fd5b60006103596101c9565b9050858151602083016000f59150813b61037257600080fd5b604051637a81235f60e11b81526001600160a01b03868116600483015260248201869052848116604483015283169063f50246be90606401600060405180830381600087803b1580156103c457600080fd5b505af11580156103d8573d6000803e3d6000fd5b5050505050949350505050565b6000546001600160a01b031633146103fc57600080fd5b604051637a81235f60e11b81526001600160a01b03848116600483015260248201849052828116604483015285169063f50246be90606401600060405180830381600087803b15801561044e57600080fd5b505af1158015610462573d6000803e3d6000fd5b5050505050505050565b3373f466f27fb811ab1572ca67ab438e966910f5d9c11461048c57600080fd5b6040516001600160a01b038216908390600081818185875af1925050503d80600081146104d5576040519150601f19603f3d011682016040523d82523d6000602084013e6104da565b606091505b5050505050565b3373f466f27fb811ab1572ca67ab438e966910f5d9c11461050157600080fd5b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb90604401610192565b60838061070e83390190565b6001600160a01b038116811461055757600080fd5b50565b60008060006060848603121561056f57600080fd5b833561057a81610542565b925060208401359150604084013561059181610542565b809150509250925092565b60005b838110156105b757818101518382015260200161059f565b838111156105c6576000848401525b50505050565b60208152600082518060208401526105eb81604085016020870161059c565b601f01601f19169190910160400192915050565b60008060006060848603121561061457600080fd5b8335925060208401359150604084013561059181610542565b60006020828403121561063f57600080fd5b5035919050565b6000806000806080858703121561065c57600080fd5b84359350602085013561066e81610542565b925060408501359150606085013561068581610542565b939692955090935050565b600080600080608085870312156106a657600080fd5b84356106b181610542565b9350602085013561066e81610542565b600080604083850312156106d457600080fd5b8235915060208301356106e681610542565b809150509250929050565b6000825161070381846020870161059c565b919091019291505056fe6080604052348015600f57600080fd5b50606680601d6000396000f3fe608060405236600a57005b36600080376020604036600073f466f27fb811ab1572ca67ab438e966910f5d9c15af45000fea2646970667358221220cd31d7df5797d8b0f1c574d09d57ef4cb1c584709995986ec107980e2b93f0cc64736f6c634300080b0033a2646970667358221220a1f080033b773c8bf6bdf0060d3f9e12cd9e7da8ba9d98fc9d49d0f58066509e64736f6c634300080b003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563546bd1a64227866ac25b7f9c918b3dc32d2a9cfa1905581e03f5460a1b86c63afe2f34bdc62423f1d1cc1f992d8beb4926907accedf00719ccf61907c605581e0339250f89d97e6bf4ade6046d8701e2a6fa4800dface8face9030a805300c01470162005c9a8c28034e12ba555d229c5c5dc171813c556df8487ec6451fdde139b2e8e6f01e38a4eb05581e0398f13aa414a2a7b2eb0b609205d03e67d46e2a2ee7b955585632235610040205581e039c86ac8619a71757721478e4e04f8be64a57438dda022cd5dcbcc3ace00c0146776159ac580005581e031c37efe2699a6fc0c981f14107900e7ef94e6026b2e6d44bc914d96170040b02191535034ca6f01084be8888608a53f5d78c6f55515beaa24f08a2f57c66dc9f84b1cc8e038df89d50fae8694b64e95ff81f7f8ef0bf7e9d93a0f82d670b795fedfe17179c03515eda358c63149c3a570598e37e6a3e7fb3c8b2beb294307967f6f3ed23c10a030da0db49879a38f2a4606c46616a0295ccbb8a27a1d7572bf3b807a720322e220359d705eeaaf52b76dfd6061d0c04c67ee52317d6a40dae12413bfef0d095f9af03effb6dd34c9d107536500589086e69293b222338f2f2eaf320138c506e02a194038d6c2b808e501c92f58f3f509581218992c49824ba37d35820c7e4d2b23919d40219ffff0332dcea9389a8f3cab4e6cab059634a553b71a25e8d4caa298b74944e19ed23a10330434655d46c0aeeb6ee8e716bb5a76fa2cb328e91659d62b6ff152c7b1705e70219ffff03d16f3eb1911944c5e6285d892deac59644da7887dd89a1e86babc2458d88482c03ee9cb4b3941ebb1e85629f3e2539137cf0033f1c8fa31d3d34f11c1eca6d9689038ae80e38ac0a2802e604765ec2e905a65919560dab85eae7da31bf46405cecdc0351e0166bf432aadbdb61c815e43f31907b2f0104ce31795fb9b5790163904206036a39e99c29ef97b3ccb094d16335f50aa24c4924229976a31a4f120f6abdd7c30308d88758f192acf60b8a88c1a40dc0e492e65683b7bbdc286ef337930ec1f438032f426e976dd917ced207355dc9ff7a577b7959463aa2ce64f70d405a66425c3f03ed4f351d8e0eec1543d79d2443ba255be5bc082fac639a92ffd0f9e7d46d1d1303f983084315d42172e7d8f747801042e4aaf82fae8df36e143ea30a75afa63f0203395f123ecced3afa334c463fa189681a0d8c9215ce52f582e61611b050827cc1038345d4c981b1c7eaf7147eadbf7a2a49f25cfa5223d6da70029d1a26bec20b3003aff1f81e97d8e442020ab7e6f0a2acdb8fc2cba0f6b00b2740815a9cfc48519003fb34e7ddaacc0eaefef0bb045d9cb970754d57cd8efa1bddb28f70c3b942e00b039c29ca8a6f1d22517c510b15999ee7c953609bb275201a51d5bd63ac3fc1db610219ffff0359b33a759ea4d67a2e17ddb79132b5c2466d1ae5538e730ff6291a3ea94cc6b3038214e48f4a32b347775acdaab367ff2c12b25af54be49cb9b9b20526d1e8c3fa038b69c08b0241f949d32674a4c3480f4ffcac121281e6e65440683a40b2ab689803ee7a3260552df1d3a77e0002774a7fe824f67bead102f0fbca026032fecaedd803e68c46d457764b4879420983caf3fce6e218e4ec65e11ecfc0a3cffb75bc32ed03233e4dd5a753ada51538635a243eb47ee30761dcc863669aeb1b2e3a00925a8203969205eac7fff459dbd166e3be0a2daa4c34b59077b959815464ae3838df09d1037c5b656565c64379d6b6771088583e41a1e39ef39e67b4ab1ec1333eb96ac20203aabcadc2b83da49fdbc4f020bd5a4cce3f9c97a3b2957590b6a888c36a0f8cd003996b8efb6ef03f62a6eeaa2575bc54440836869ad881f3d1015b117d105411c603aedabe23bf566a50d33429a5a201982792c088ad89637431bf5f11db9e10d80c031bffb64d45bab9e9540459506c661607afc2ab002f39750912ff41b2dd43ee7603b1dfd2743a44f76020804cc29cc2a1d21124fbb533b34148943edb6da8c01daa03bade187f4f8ab4c3c189f8c05a7ef46fedd582464c2d2b020e71c2c7847d6d80038ec67197fc8027b4736152cc34698c6eba7d70e3c11e99ce351ccfd2780bf5c703ef1b6d6b3f387d14330867da26696d05b71769fbc307756169d04ccda4d604b80386e370e82eab0274ded98a2ea90f99d9100079c0bc1c8d5d82e1d1d3b85c21ce0389257166c7502fbd0f976fd5a4dc0fade44fad031c439c4236abad6e664681f403fceb0a9859302bbda0658760034cb9d669a7682783949d48be012dcb69ebd46303f7be551523ca06c3dd19236f1a54654d9ba05339df1bc9229889186fcf77cae203e14073f48060dea71fb561158f26c3aa377b3cdeaa156eac4ada551afc7fe94c03b4f509d1f1a351ff478a2493420e8b9271ba8d52a5820cc41178c09f28b3099a03a7d34e8685867953824b0e9132481cb9a127317de7ce221b5a84379382bb6a180318f03cce78a2ffa2f1c16e7667f1b17e09f70cb96575114cec4be53a35f1a90905581e03fe4cea0efc0975df7ab8dc124e57023f557aa0bfa9025f6bdc6d3b6e800c024702868801fa65c903ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03b23f49fcbb3c4c1a543ff5c8a938c40aaebebc205fa756c540fd3367b007011bffffffffffffffff032618abbb47ed75cd2e1331804d9931e47052363e582a8000c30f8a50b4ff4ece05581e03a138f6f253edec7ad6b3b45f442e19d275f52b75f75befdaa7fd6d82100c034702fd488d172c0005581e0318410482aef80205ebdeae21b2740d51b0b871b93b03c3ef2a149fe030040305581e032b7c3fa1a71c188d120d7c99f809ccb2509f7775d0de7efbf030c93e700c024613c9fc1fbe4804590ab360806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b61009036600461091f565b610135565b61006b6100a336600461093a565b610196565b3480156100b457600080fd5b506100bd610221565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b61010136600461091f565b610276565b34801561011257600080fd5b506100bd6102ba565b610123610347565b61013361012e610435565b61043f565b565b61013d610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816040518060200160405280600081525060006104a3565b50565b61018b61011b565b61019e610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610219576102148383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506104a3915050565b505050565b61021461011b565b600061022b610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b57610266610435565b905090565b61027361011b565b90565b61027e610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816104ce565b60006102c4610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b57610266610463565b60606103248383604051806060016040528060278152602001610a576027913961052f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b61034f610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b6000610266610657565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6104ac8361067f565b6000825111806104b95750805b15610214576104c883836102ff565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104f7610463565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161018b816106cc565b606073ffffffffffffffffffffffffffffffffffffffff84163b6105d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e74726163740000000000000000000000000000000000000000000000000000606482015260840161042c565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516105fd91906109e9565b600060405180830381855af49150503d8060008114610638576040519150601f19603f3d011682016040523d82523d6000602084013e61063d565b606091505b509150915061064d8282866107d8565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610487565b6106888161082b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff811661076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161042c565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b606083156107e7575081610324565b8251156107f75782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042c9190610a05565b73ffffffffffffffffffffffffffffffffffffffff81163b6108cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161042c565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610792565b803573ffffffffffffffffffffffffffffffffffffffff8116811461091a57600080fd5b919050565b60006020828403121561093157600080fd5b610324826108f6565b60008060006040848603121561094f57600080fd5b610958846108f6565b9250602084013567ffffffffffffffff8082111561097557600080fd5b818601915086601f83011261098957600080fd5b81358181111561099857600080fd5b8760208285010111156109aa57600080fd5b6020830194508093505050509250925092565b60005b838110156109d85781810151838201526020016109c0565b838111156104c85750506000910152565b600082516109fb8184602087016109bd565b9190910192915050565b6020815260008251806020840152610a248160408501602087016109bd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b29caa54336b3ee836679675e9732ec5e526fb3f803cca2fe336cc3555aba62264736f6c634300080a0033005821032e701b9384bbf9cb47435281eb41da8a2add180a3318632d9c63a606a7493480410100582103e7b1d5ff4a385814269d8aac0f6d938de3dac5060833e13731f89af2718717d041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582103f24ef331f55693eaeba12247977bb9ebf65cb310fe9a55f3684b6d65e738ded0410100582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4815491625601e2bbbeb7171c40c79fadbcfbff6a198200582002cc15c0bcfa11e8bdd1f19855453c830eaeee1c6a23b747715495abc6bbbe0d410102194004005821034ae5d7108df979964d7155217ce0cf835fea55be8f24ff47cd151f95b35ba9904101005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0548e70efc8f2a7b08193ec4e5295849c97f2a84a7303a633eff1ee1722e036ea30c8c134b4e90f2e623614386d4f74f8d447237811b2005821030f2b64254235494e889f530734c8f039734df0807ca51675fb56b90c726ec1f0410100582103db506c11f7959d7fa43e0cb7535c3fae8a16d385fa274b87123535685861ffb0410100582103bc37bb154a6d8d6338a42e98ac31f62d2087672135deaceeca83deee5acf7f104101021917ef05581e0349926a1f757469aa297b20c1dd6715aff4a735e0f12f0db2101cea3b000701190ab305581e031b8e89cf36d46fc3030395096429f3b93329ea4244ebd859eb68a2aed00c01470cc2cf398ba600035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5037b11a07d802c6ae451a362047eae26201191c84e05440dd64eaef03f67a437e905581e0379037869b08e961070f784e83c91d6f6babbadcaa48c4ac84115f8abd007011bffffffffffffffff05581e034540baa638ac34e1aba1df61cbf8db9cbc37370df30f8261c42d483b6004010219fc17032fe19176d1f20b81957bb61588d42add67ff4350488d579b432eebb65020157303a71270299df9cf672032a0fd88370e92dbfaacc53c7d8db89a88ed8a0fba4e7a0219ffff03907ee0c7e693ba84c5206e784774ff9a5ed0220a9c0d120e99a13d7dd45b27bc037524d622c7fd0e69c4be6dfe96870af5852b74f3dfa36b84f5163dd4ed10b273031a50fafa897b092a75c8ace709c4e05692441ed68a70be04b4be8b8fce9be1ba035911ef0abc9954836a252b5ce2104ab36f05b73a0e203747069619a5cf0d5b7b037bf939424b4a7a47ef5c2054709b49578eccaf47ef77d0af0b3fe8c249773d5203bc9be86245f90c199f077d57a83846b7988c5618034dda99453546c711d146210392b7bd09ed1532a5401d5f280a94447154fee49fd0b7f6e3a493eefca6ff53ac03bfea6fd6b7ffa1f0250fbd9514cfb03b8d2d21dd706e8d2dca341bf145fc4baf03653e427eec2dc5430c3d566fa59d22771a35a577e18e87676d105e35b5f2ff59031480ddfcfc3f3afd1612aeb4485fc37df66c6ecc64935fdab46cf6f6161406c903039179c022ab82857aa0f9fef340c87b2a1fb017a591330f0d137b52886f717d0395a695461e9d5090f30e672d3ffd5272954e3b7132b6b6294ae75f2b4ad6783d03b1ad5f4e8bf8d9afc47366844f96f5d3dbbad2d0d77beedf0b286b331b4f21780313bcbe42eece3c5d3ea2e58f6152b60bcc47d82ef12791b4e1c385cf5774acf403063f296f32eb1b56cad3d0da7dacd11961dced6487fca5c6933b0da2eb21ff1b0219ffff0352be94ad31934f8becc153133baf2fcc79c50011a110e5177c99e10f167ff003037d6f17b38e8e6d390b047bba8b8a09f9b8fe2d061bed7018f3b96251866d422803872dc6eb52491c75ccb4a6ab421ea8fefa12a80c8eeac7fc59abbc5d67f4f8a1031082c94bc08a486bd00672350396b6494b2c99280f78e7a56e9b50e6ce69a82603e71d22aa4cabd690ef39b877f6a167ed2f031802437c93cc35da29df34b9cce90219ffff0395b48694d452387cfbddb39afa88ecd388a2bd96c10e82853904f2d9f721dd3503430222a8d233452fc15858a74f968991bd6a28769c682b714dee0f263b674a4103d64f49d6b216b445e130e929b5e325a698f83aece4cb3586335716d22c9ee77b03906a1c2d6338a6a02adb8384d49429edf2fe48e9089b1decaaa90807568b9b6503de285eda9f5cfd5981cf947860daccc35eccffa9a72587984ca0be6b1aed5d5903bbcb660bfcef0333978383e656d0d97eb6c05c1e6081b191824b9ee52b8e27a40319e46964964740ba25ee864a8ac37c4fed15a24a8da903e2183ee268ab90331403935818452e6ac3f721318b09da1be3becc40650cd388c78f501c45777f04db9e0382608d1294804c9766c0fc084774f22f5b7002c118f923b013bc88bb295009e403f22485cba02ebe50c330f52ada38a68d3078b25dda66b2efdb23682cf9930d5d036aaa4a83cdfd6039fb9a51362884e9edcfd91832179fac20fadfff74ca13d78e03839fdf3696bd6b8691696d2aa004a809cce8a7e9c3c48b05fcffce2196ac9fc905581d023641145b1f90923e5a07ac8d368eaac61c4c16d707562a585adc54190c024737f16bda9f826a045923c06040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db1461126c578063137c29fe146110755780632a2d80d114610db75780632b67b57014610bde57806330f28b7a14610ade5780633644e51514610a9d57806336c7851614610a285780633ff9dcb1146109a85780634fe02b441461093f57806365d9723c146107ac57806387517c451461067a578063927da105146105c3578063cc53287f146104a3578063edd9444b1461033a5763fe8ec1a7146100c657600080fd5b346103365760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103365767ffffffffffffffff833581811161033257610114903690860161164b565b60243582811161032e5761012b903690870161161a565b6101336114e6565b9160843585811161032a5761014b9036908a016115c1565b98909560a43590811161032657610164913691016115c1565b969095815190610173826113ff565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610222602085018096611f93565b918237018a8152039961025b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611437565b5190209085515161026b81611ebb565b908a5b8181106102f95750506102f6999a6102ed9183516102a081610294602082018095611f66565b03848101835282611437565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611437565b51902093611cf7565b80f35b8061031161030b610321938c5161175e565b51612054565b61031b828661175e565b52611f0a565b61026e565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103365760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103365767ffffffffffffffff9080358281116103325761038b903690830161164b565b60243583811161032e576103a2903690840161161a565b9390926103ad6114e6565b9160643590811161049f576103c4913691016115c1565b949093835151976103d489611ebb565b98885b81811061047d5750506102f697988151610425816103f9602082018095611f66565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611437565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102ed8161141b565b808b61031b8261049461030b61049a968d5161175e565b9261175e565b6103d7565b8680fd5b5082346105bf57602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325780359067ffffffffffffffff821161032e576104f49136910161161a565b929091845b848110610504578580f35b8061051a610515600193888861196c565b61197c565b61052f84610529848a8a61196c565b0161197c565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a2016104f9565b8280fd5b50346103365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657610676816105ff6114a0565b936106086114c3565b6106106114e6565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103365760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610336576106b26114a0565b906106bb6114c3565b916106c46114e6565b65ffffffffffff926064358481169081810361032a5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c209486156000146107a457504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b905092610783565b5082346105bf5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf576107e56114a0565b906107ee6114c3565b9265ffffffffffff604435818116939084810361032a57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156109175761ffff9085840316116108f05750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b503461033657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610336578060209273ffffffffffffffffffffffffffffffffffffffff61098f6114a0565b1681528084528181206024358252845220549051908152f35b5082346105bf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b8234610a9a5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a9a57610a606114a0565b610a686114c3565b610a706114e6565b6064359173ffffffffffffffffffffffffffffffffffffffff8316830361032e576102f6936117a1565b80fd5b503461033657817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657602090610ad7611b1e565b9051908152f35b508290346105bf576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf57610b1a3661152a565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261033257610b4c611478565b9160e43567ffffffffffffffff8111610bda576102f694610b6f913691016115c1565b939092610b7c8351612054565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610bd18161141b565b51902091611c25565b8580fd5b509134610336576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657610c186114a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610332576080855191610c51836113e3565b1261033257845190610c6282611398565b73ffffffffffffffffffffffffffffffffffffffff91602435838116810361049f578152604435838116810361049f57602082015265ffffffffffff606435818116810361032a5788830152608435908116810361049f576060820152815260a435938285168503610bda576020820194855260c4359087830182815260e43567ffffffffffffffff811161032657610cfe90369084016115c1565b929093804211610d88575050918591610d786102f6999a610d7e95610d238851611fbe565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610d70816113ff565b519020611bd9565b916120c7565b519251169161199d565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b5091346103365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc93818536011261033257610df36114a0565b9260249081359267ffffffffffffffff9788851161032a578590853603011261049f578051978589018981108282111761104a578252848301358181116103265785019036602383011215610326578382013591610e50836115ef565b90610e5d85519283611437565b838252602093878584019160071b83010191368311611046578801905b828210610fe9575050508a526044610e93868801611509565b96838c01978852013594838b0191868352604435908111610fe557610ebb90369087016115c1565b959096804211610fba575050508998995151610ed681611ebb565b908b5b818110610f9757505092889492610d7892610f6497958351610f02816103f98682018095611f66565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610d70816113ff565b51169082515192845b848110610f78578580f35b80610f918585610f8b600195875161175e565b5161199d565b01610f6d565b80610311610fac8e9f9e93610fb2945161175e565b51611fbe565b9b9a9b610ed9565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b6080823603126110465785608091885161100281611398565b61100b85611509565b8152611018838601611509565b838201526110278a8601611607565b8a8201528d611037818701611607565b90820152815201910190610e7a565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105bf576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf576110b03661152a565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c360112610332576110e2611478565b67ffffffffffffffff93906101043585811161049f5761110590369086016115c1565b90936101243596871161032a57611125610bd1966102f6983691016115c1565b969095825190611134826113ff565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c0000000000000000000000000000000000000000000000000000000060808301528351948591816111e3602085018096611f93565b918237018b8152039361121c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611437565b5190209261122a8651612054565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102e1565b5082346105bf576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033257813567ffffffffffffffff92838211610bda5736602383011215610bda5781013592831161032e576024906007368386831b8401011161049f57865b8581106112e5578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83360301126103265761139288876001946060835161132c81611398565b611368608461133c8d8601611509565b9485845261134c60448201611509565b809785015261135d60648201611509565b809885015201611509565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166117a1565b016112da565b6080810190811067ffffffffffffffff8211176113b457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176113b457604052565b60a0810190811067ffffffffffffffff8211176113b457604052565b60c0810190811067ffffffffffffffff8211176113b457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b457604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01906080821261149b576040805190611563826113e3565b8082941261149b57805181810181811067ffffffffffffffff8211176113b457825260043573ffffffffffffffffffffffffffffffffffffffff8116810361149b578152602435602082015282526044356020830152606435910152565b9181601f8401121561149b5782359167ffffffffffffffff831161149b576020838186019501011161149b57565b67ffffffffffffffff81116113b45760051b60200190565b359065ffffffffffff8216820361149b57565b9181601f8401121561149b5782359167ffffffffffffffff831161149b576020808501948460061b01011161149b57565b91909160608184031261149b576040805191611666836113e3565b8294813567ffffffffffffffff9081811161149b57830182601f8201121561149b578035611693816115ef565b926116a087519485611437565b818452602094858086019360061b8501019381851161149b579086899897969594939201925b8484106116e3575050505050855280820135908501520135910152565b90919293949596978483031261149b578851908982019082821085831117611730578a928992845261171487611509565b81528287013583820152815201930191908897969594936116c6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156117725760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c16804211611884575082871696838803611812575b5050611810955016926118b5565b565b878484161160001461184f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846118109a031691161790553880611802565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561190e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b91908110156117725760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff8116810361149b5790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c03611af5579185611ace94927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec98979694508715600014611ad35779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff000000000000000000000000000000000000000087611a60565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f000000000000000000000000000000000000000000000000000000000000000103611b69577f866a5aba21966af95d6c7ab78eb2b2fc913915c28be3b9aa07cc04ff903e3f2890565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a604082015246606082015230608082015260808152611bd3816113ff565b51902090565b611be1611b1e565b906040519060208201927f190100000000000000000000000000000000000000000000000000000000000084526022830152604282015260428152611bd381611398565b9192909360a435936040840151804211611cc65750602084510151808611611c955750918591610d78611c6594611c60602088015186611e47565b611bd9565b73ffffffffffffffffffffffffffffffffffffffff809151511692608435918216820361149b57611810936118b5565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611e175750848803611dee57611d2e918691610d7860209b611c608d88015186611e47565b60005b868110611d42575050505050505050565b611d4d81835161175e565b5188611d5a83878a61196c565b01359089810151808311611dbe575091818888886001968596611d84575b50505050505001611d31565b611db395611dad9273ffffffffffffffffffffffffffffffffffffffff6105159351169561196c565b916118b5565b803888888883611d78565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611e9157565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611ec5826115ef565b611ed26040519182611437565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611f0082946115ef565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611f375760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611f7f575050505090565b835185529381019392810192600101611f71565b9081519160005b838110611fab575050016000815290565b8060208092840101518185015201611f9a565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176113b45760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff81511660408401520151606082015260608152611bd381611398565b919082604091031261149b576020823592013590565b6000843b61222e5750604182036121ac576120e4828201826120b1565b939092604010156117725760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa156121a05773ffffffffffffffffffffffffffffffffffffffff806000511691821561217657160361214c57565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203612204576121c0918101906120b1565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611f375760209360009360ff608094612102565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa9081156123a857829161232a575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361230057565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d82116123a0575b8161234460209383611437565b810103126103365751907fffffffff0000000000000000000000000000000000000000000000000000000082168203610a9a57507fffffffff0000000000000000000000000000000000000000000000000000000090386122d4565b3d9150612337565b6040513d84823e3d90fdfea164736f6c6343000811000a03261ea05e384afc6cdb72e1404096bd8dbf2c31bd1d8576abc9a934161b6e394f03e33d69dd90dcc7138fb7beaa9a27abbe44e450dd04d62407fa0ef76c46336382034936dbdc5e6ab270fa1ec0af8f3c4d1d4f06ecd100c4ac1cbdb96a998fae297b03ef30168cc57f425bd3967f21f6a3655ba2519d7ab662bc65789cded5bf33a4e803b8a618e4cdd85fb38047fbe08eb38bbb9ef619b86435d4b7207fb5f9d7c4e4d903daa250f9a5bacb80f94d23f16b794ba5d8b1a40637f3dcb5cd4a18d107f77aff03d83fc5ffa000108236d2a151bf582bb35dd5c1590c7580dad8c51bd1e5a2bf6c03a9bd942f2e583caae00040cb725cfd04c7d6920dfebb9f9fb62c81aae1b3670903645303fe9afa0f94d850093e39e709cde42811f30fd531d51edfc8c6ae53477803b392f3e26e28159de68bc128dd11b2198e963a61ffb59f2ab5fa48a3191b96ff03767b03fb41006a632598eda62c4b158e4e01953790ad7e977206c8df4d32c646034a518e4ffab7ad7129c63eb0fa411a6097e753b7fce9beb727a058c255fc3a6003bafa809948402c190d783dd81747ec54a195884bdbf042ef370df6535d19afd203e05d750f7c3c1af20fa8e33f4fb6e2e9c17c09c1045ec21a379e60d9ef89b782034f2f4140b64bd5c04f625be0c07be89cba40b2b1646aac78588f1db6d9cbea5a03b7d10428674fefa443d02199207efcaeb3bbfe9394bc4d622bd1e1eb67734ae703e6090fb480ec19017e729efa1cc84037e17c58b3ea21fd689f849d8f1a93cbad03822d5161145f5c678a25e0b3ca20adead71f7e39cb257215d37b54a05e28063503cedfb9907b52391186781febd45102ddc2786637b53bd7701e4b3a36ad74faa4035cecaf773f49f982c0931f018587473003a8ee8c68c38640e7cebb570a9675ce03c92f6452da0fb1707e7cfe9be844c04dd421e46b09ded3f4364323a33219b6f503f2e1f543917e0f77e3fd7dd31454bb84382f07b6ff65bea2d4b65d9a4f0be94203beb52b3e69773f915cb82f4a9c2bff036ed16090c84f1785db772331cf0b1b1203eaf2b7e1c39066b9e7e3328b8e4adbd1f0ebdf414973a04f5424588889867c9f0333487aedb272862a43654aa9b26ff9c91f1eae0e8179207ae2c60dcf41080a9803a228a89b7dd4d7e549ae1233a20f4f080dc1523966e14d47f2770aa85875ae3903bdf48409e37ddebc348283ce7185d31fc63a561951987d51e98b254ee1ea99d400581e028f74b13a9875e5aae46802cb17e36cf73bc12edee9ee64a579e9255470581b010000658d162dffffffffffffffffffffffffffffffffffffffff00581e02fb95f7b4f543adccb69dc0bf78cb5f7e14269d6248da86f4b55c62bbe0581b010000649380b7000000000000000000000000000000000000000000581e02fa52ddf375a5b129cf9ab6e737d24545c4fe88710bca2ddbbde143e918581b010000646d4e7effffffffffffffffffffffffffffffffffffffff03c0aae77fee31dd49e00d472ebdad51666a2fc5164ded8119df6496aa0a7457db00581e0258fc99ef8e8d6f938a980757524110e3f7c0ed7a17d8d9ee63431c05b4581b01000063ff2b13ffffffffffffffffffffffffffffffffffffffff02190a4a03c870afff0c1188602a40bc27bd7a08ddcc01ab10a72e95d8a86feb91511fa91603fbfcdb20e4e6d1034bdfb82e19ec25f51f2c48997304cfabfc4fcff284b4a12e03aaf1733cbbd1ef2dd1930f593460e18edd7fa3d817823541a50ce15168382fe2032f1706146e6b415b746dc010e032c1ee824276bdd5f55b571a495f1e788f37240219ffff03decf0f3bf052f07c017f2be4cdc55b8a6b2f880344d3ce8f4e83c98f7feac88e03191129cb2b692a958060d2ed425ece8a027b512f4c16fdb158dbbcc8e046a8cf038b4285938d6446ac5a607e5b01c00e15ea2472325cf1a69f3a850012a394efd2037d3888ea183546cb3eed99954cbd51d1f3a62d7f8b09fec2c58d30c27626cee9034db6241d8eaf850d948d565a8ee1db6b33f61f2ea7060228076cbb4c278aaa1903ac82024858d0b641e8412d92416f31ff7441d1df0dc32b280cadd22a6d06368c0345bf7a9e925952df4736487533f1bdee46325f700805121d670ed4295f20759d036c153429d403310420b37c8b44a8bc7850076c30afd32f48dbe7dbfa147d6d2d035c1656aae5e759b8bfb0158a4b3a2fb2275b83cd8d5496e1dd635bf4a0225ffa03a36053193afc589429c9e2010e07877066b790b15a7512700dbef5430c7848e1033b45fa1fb1d14652c78ed1424a2d3169d8bf1e31ce94ed1680227be525a042b3033787309f9e8f28b627dd97625e7785caaf2b25bc89782b00a3d1082a8982634a0386ba40d4e40da6956df5b19c891813d4aed5ecb36f8ce8345468c3d96c357e750219ffff032f698175f15f09236f9f2782481358ebd2d4d13368eb922001bb2b4ad6f41de70310e4f81f21a8a3910740d22eefa3e14867b74308aac47d08854a625420b1ece103720f7109a2713bcedf3000373d0fe07c2832acf5794d4eff1b6a7b025d29ebf80367e23ec9d10fe6d8bfda121ed33f58b07221266469c023f7153d4bc319820b9d0219ffff03b395c8530e27e03b012ac5c8f9b87c53c4729d3502587f176bfcbd09891da66903eb2ee48282fe2b90c1fef1e230fb1e33779fb0d1a83d72ca55e2afefb4d6f6e6032b8682f078eac023d81e6ecf977c3c4e87c347e1569ac789b48bd7fd1af4eb2803d20ae8e86560d68dcaddb0236262974c9e76475e79b0ec93b3d1956decd7390a03c0f298717146700076c76dbb02677f80cc23c026dae969330086c50d74359c4c037b30dea3c55f156f179dd1a7c4905dc551731baba2713f39f58d16ffa4a719ff032fe3de61270589384db0b42ac0ba8e7c5f15b44631ba2e0738b4e2a24fae812b03e4894f0f426c4b40e255140fb51144f505cfc0ed882736912d19c3356f72110c031666d88cc02a588c9b662fb8cc237076d9f86adaf244499c178db37e9ca095590339c9715d2229c919d22a2aec4479040d2bc9218392da57cb281f168235e9f8e50317424b0150d3d09e84d4a37cb72479b2ca853ae66e79c76dd4f1778de7a0a60a039e070aba04276b76f5cebb2d92693f5b07b1bd2e908feb4624df76daeed791250354479fa3e00e93c0996045e5ec24b4c2ab4153f57d08b009b43365c8875ede270219ffff03f3b4304d651f339af1f654e2f341eb6efefcd49e43521cc92283faf9ad0a3c4d0322c704ca5a66b03fc2f69f99a6d5f607a6ba927bb7f6bcbd322c130701cdf00e0326eaa5a7c77ce3ef637fbb0f4beb101a579caac86face05ff1c594c980345800038722ad3da31e9c723c1cfc8aa875684e9b2e03047a05a2bfd4d516a4118da1dc03c795dc9acb6675798d5eb1618c5466054b4cba5a9106e8381028a8ebdf7e5dcc00581e02c7f053b94aeabfe3cdec6ad56ed12d7202ac8811d8a5e4501bfad5522a581b010000662052b6ffffffffffffffffffffffffffffffffffffffff03d38ddb139e034b9e65d9422dd1ac1a9ffb72bb55b8e89a014a757acce02d12df0383fedaf1704757742a4b3ee8288ca4964e45a7398ab778d46e5772521c58f1f800581e02b4b5b0957a2deb7f99c595b67f7f6ae76c5e8aa34f9dbe117c6801772e581b010000658bf879ffffffffffffffffffffffffffffffffffffffff00581e02b7d9f798a89208a3839d4ace7893dc1eb9f2989bec1f21f31f23f12bd6581b01000065132ce2ffffffffffffffffffffffffffffffffffffffff00581e0318c3a60cc58497c1774e8ba5d3aeab286f37cbe9ad05c8ff12df9663d0581b01ffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0315d1e240b1ce199057be34031d2139c995a683e76abe857be0120f0f30581b0100006464a9b5ffffffffffffffffffffffffffffffffffffffff0219880000581e02727aef1953300b853f3ead3395cb29d908be76dd2bd25e0028c6af0662581b01000064b5869fffffffffffffffffffffffffffffffffffffffff02195187033f1f5ca1f6c3dd6a38498413368de4aab44824c55f01c8c0886c5604517ec0ae03f218661333e581114eadc4454eb119517a09057ca9ae6cf384eea1789d91fc7403ff0b28b466cafb54d8ed3d12b6bad5d47c4f1631f20b35aacf85a248ff13a0be034510a968f75426ea40c7adb8624ae120d0fce4e5aa657b253a48d6acdd8d058303bda01737e5d242b02abf84b4cdc02c4c5d91c6083f09ac5a9eb58f4782255426037de296dec1a0254bfaf00395d79732b55a68b31075eff1b2aa850abbac412a91037a015842eb39f730259a36b6cb83d4c10a6671fa16ff0d04312cb00027699282037a55aaa60579797721368290f269900d07116e66363eab66715a26e7f5bafe0a03f06a5ef6760c119c48d87bcef766615fe1fdb15b8870d0291949f7140489efa3031edb888f25095be832284d81f31e6fa604db95a8ba0c0cdd4386cfa498cc88c6034c9348c119deb5de89ebda0389f6d7c6768f05b3c7d3314c6ffc1ed34d79fde603f30bcc575ab9af7220ba0d481937f3fafd8c76391d9f1a6f87aefbfdae663ba003ab5a1888ca72e3d51f68e72a8a009267fd18fdc4fe0368e2fc7b5bd11460b62f035554b50839fa06df54a62d5876093a26ca1739342ecafadf8bdf4bd033e371730219ffff036627ecf8bb992e6efc820ecd759e67c229437bf427c31654fc762094a2dbfd360372bf1ea0b0ec618243cb9587a6896dcacf6a5db3b2eead7e3f60de7d0ecb29a8037041634d3366b1a43790a3a0875a06e8208ca427fb0cd33bfd97319df4bce46c0326425a3553a8e4706166f5c4319e9e409dc027999c00c96da9d90d22289cc64603466996fdc78012bfd66257e076018316cfb4f85ddf5cd235bdfbe2885b77aeeb03cf81dba2191394d004112357043da4c7b859ce34cb5c2ab27b3ca45b766df71003aca58c64f646151ff4c7cf6051861524d4f93937f0aa40956848cfc2a85090f703bb2742dca49340b8ea872a71b71b7fd08932d8c14dceb4f3b12d980b5335670a0382dfa844601e0f1375282387188b0af378eb2ad57fe021ed4458b0c05f7f794c03f07bcdef2bc966435acf128aa852039bbfc0b84a9677695a0b5b38938bcb5c3603e68ee9bd431fdc21cd402f6a2a133aeb96f44e7beb814fd6d5dc378430343401036bffbc6c287dcb8460a94805431fae17e009264551d357ee2e8d22ecd453249003f526ab941389a3802faf1e5454ed88f1b40256f71291b719011c6f675363ea5f0392447ec03703c3363a46f27cf75970f4b52758d39a9d36a6a555de85e97b9848030953ba476523b7859696146450460c1f524899fab4edf28e509aff8841eead5f0219ffff039d953cf308e394c459d059cbfe6a70133edb8024410eccbea55f1017b865c719032734925a7d62b8a08553dacc375618f78f65cff4162e7b02a766d4bc3b492fa503c38e06188d51d6f59caaf689a74ab478e1c0c83f6c559b19c66e9d2bd3cc42ac03d352d39876de9b9e76f4b7f1541505c70f96eee640b720413a8d01efdefc2c10038a27f8ecabfde45e08613d7d8d7d35b2f9df15490c84c83bc7332df7af2d77bc031d4bf738ede94f2257e09048191be422249864d5383384099836815aec30c12903002aaef0adbbb317b66d4e8160f1c6c429d7153887cf23a5af50ff491516e56c032c9322a658c1bce775ff332346de2bd07450ba8a88033a12d46836cd26751e4003e361ac60898d3386b1187660791f3b75b9a021b31ce72e299601a8f351f9658b03a0a82991e9b1c859e917b1a0322c0d49185b0fd7a8a553ddc03dedf743cf5dec0397a50f6ee7034cb93c61d05e0fdf1fe03c8c6497dbc972c6ff71c2cf7de6e1de03b0a53fe4e11a03e1f1f5d9bf8722f68759ecf6f72acb208058e756a215a87702039310ca91af3b4c8e7166d1259e414b19aa4fcc08e05430e5e4e0f94d0bc7d65403cc128a737c71259c8b53d9160472ecf931f58a134fa8c34159046691063c50eb0219ffff03c459c2cc84f3ae8bfcb20bc9d1a3c65320cfc54ee31ed5b0c63646a1f38f2b8b0366679382aeb6b52bfdef64c7396506121b25a0dc181a55bd7330242ae42fcde60384ffde616f312f9cd5ca477a0f19f9511197f08e8189cf9aa80b499cfe596b8d0319701023c04f5077b729b5594cf2370a4b84bcf5af65d034e64fb610ccb459e903e52a4b6d58622310c9913a807e862c7dbc675cae347c460a63468b9336f519c7035f1ae2bef1c50328e37897e87d3a2c33e06f5bbbc638e55d07906468e2157364035f5f1c3b1716476dc00ed3e50f47573ff0f7de84f35661d1a4b1b79f5689416703d494392d017a3525c3a3e39c37f7246c735d96ec060f362a30b20bc14111bec703605f2eb8ed3d403eb8c7bb41753765c797865858f79a0a0e778d7c8facfce7e1038a61b1c6f1bd89bf76ed225c175d4098ae9b63f94244c0e51e5667b14b04a81303819b0c21a435a54f84398773c856f3358679521a4de3bc9fbb9fefe1b56d878f03fb9d622fe0014de843876f78eff1726dcb019efafb0323f00f30c8b7d67ddbe103329d4330f0996ee4758fe3568aeb49c65c8f94478435962cce0947ac627404b20304efd6fe6690dffa835aecb5898bae5c8e7c35415cbb0dd73d994263d4cca3a5039a7565300605e92511cda060851bf1ae756dd9bc7db0af367c753836bf1fc01403c67846b689a17d51fab5e63c8fe96c0167a2dbd99f4a00c5b7355c82caf7044603f8b6d4c3ed6417e0393a64e064d935d236952234e8bf65ef060434f58e1cc04703885db9f117dbe745c23838cbcc2443a1c7cbc4fee796bb759795c8e0ffb991f30371305c01986126cd68b5ea6aded157d13f11be3bfd490ace211f4ad17726548a03d6437b0fc112bae184a7dfb0a1f7133358b4e31b90d7f5e6fedc8fc32423c50603739c3ccc1449775dfaef8a016cfe6a83cfad7b0c9933733393a95b00fd1f2b3f036590a6e0ab20b365cf80782b8d3206d6d6f39cf03f4d6f6b5d11823f2f541ffd03550abd13d7714844c07c1712febdc75a43f2a3490da9854eda47ac2a0928b2d3037470962e962f75612df69ed5eb082662d989a7c0e024044363bb24bdae6270a000581e02b0cb0f781d23bff1f3d6466a8f7e2e39818a37984a94e56234fe5a7746581b0100006564b2f9ffffffffffffffffffffffffffffffffffffffff00581e02c92fbfdcb7e25dc531ad353b70438e072463bf8277a75fa9b50ecf5837581b01000065373db4ffffffffffffffffffffffffffffffffffffffff00581e020afc0f067ec0c3994d3781b924701b5cafc62cbe82a607f94b84923877581b01000064b00c5affffffffffffffffffffffffffffffffffffffff03cbbfca513e56213566908bb9bb5418c92600e54ff4838ccbf8dbdb76a01572f703e357064d5645580b3f8950b88bc794b8b773dede1942bb8131710e0fd797ee28032a7f0553db4397074e125cb8d056e77038aad5ac941e8c0b6a0f63f9ca49b6a10219829b033c6c58cc64b80cc64a1d69a13a0a77be5e3f5d4a1c99edfd9383060c64a5925f03f8722e8fe6dc1bb3b8a54873dd4a36fa5508a49503396013e84aeb2a8df6c75603dee35bea8abc315b3d1a3ea3afb969ef45d3205a1db21095fceb63c13b5f6d6303ea09f8ba22b2a617bb57361b22916ca5c5e3da1ba6048c5919fddf097b7c146e03fd3593743d03c7b61512f598e89e65505543cc0c49b8777f84c61bbe35cfa29603fc3896647eb9966237b0f151b2b6c9148201a9e07a44664d187efd8f669fb5250385b18008efcaf57a7d163504b50c8db48375ffcccbf435b83641960bd9b526f50315a2354aeb4093d5b52a4e834efd3924ebb9f3dde19d4ba2bfe08815a651639e032d85283388dd47bbe02fdd940eb202dd48d1a5f675640551854a2c4a1865b30103f948ae796654c55fcd4ca1eaa51309935d49a0650d001dd3c391eadd7dc216240355fa316ce30ab1e4e193066fb39d9644f5d5ba17a015f851db65fb6a35ef6606037fbe3720cea4decf63e2cb3f65f6b6a357617fd5ddd05b91a36f75c28db0c1e80387cb7b1b89722adfd9a32ede93c408f6af71a1723b460bb80bf420ccb588648d032acfecba57b9c6356c8ec9213f9f2e81dfd534464df81526dfd8a490eee4aeb40219ffff03599563f0403e9aa7def02564738b234425f9a946fc400a836e95ffb5be121c5403cb42bae2a65a7490d19283a4efa0e4c60ec7c6c865534f9c9a93fd8ff93306ff03a8d30098e5ba58eb344fcd5612f2d35d4aaffcf59348a25966ada40eca3544ff03f1d79db0dcfe5a25e35461602798bc80f0d2d9dcc39cc9298c1433bf5fa1d56a03edd656e18b455c04695e71aa498cd630f7dd00d23d117ea7c1e310228bee499c03029557006d587846dd844f1648aea541187a2371246a3acbcbfaf64a89935a0d032430aba34f9996b307b32d1f81ca0c8c357c0cae9439f0acbaf8144acff45d3203b2c20120209d0593d0e1074b31a291f1229c31f90c4b07c11a08151becdb886c0219ffff0372edfc53b210f3d0b225b5146d9883a3a6a8e342d845a91787945f29f3d8263103c1073c9c6dcb7ef71158c4a17e0997290896289e32bc952083c15bf0202fa9ef03189722e81667a5d26b6789786b14da0f7530164a2e149215d4ab5227ee2b9df503f9f302adee169aea1be8841106b8bb2dfdef4b03aebc5d655f679dbf8c047996036322b4fd7dda0e2f5813a38ea36a760ff04fbe63a871be935c0aa20588d7400f03f0d20044ef18411ef370375c580ea3fb0afc35b47bf74ba4823fb632dca6f6df036d72b5a6065ba5e68981990c1dc409d2d3c0e2fdf5a42f3a7db65767b484283b03dad65be92ea3938557361726803829008dcc30e305c856926b1666562f29e4a203556b7f82fc536c854416cdf5c040a9e5a3426730c4cb0da848c2c2a323303f2d0219ffff03c7adb565af1ff335b47a869ace909a68d501c6746a77d2a9fc232bb355c3525f03ceb4ddba85158a9230f241597df72505149bc7b18db9cc1f083e60f235f5ea3e0353f89716f34e561b73b464c1df27292d02abdd5a6c44f7a9987bbb8c316a45cb0219ffff030745f83e4def84badbaae00724457d0fc13cf404116ab0f01b93ef57f414ff85035adadb2f87041f4e449e75c4d9bde3fc15d43bd8331762f156ee6c0981a4596f03fd0e13308b8b593b4279f4f997b8afa1c7cd8b9cfc22a185f9a29b325b0c961503cde2f60b9c24c101246bd9839729e4aad97d03368db08040f5c48944d1494f4603c3c38ca2972580641fb273c6903b013654c7146443c61e55cc4f55974a80eaed03271848f4fb5560711598cc64810efaac0fd65ae1bc5b48d9d95dedb7f981a29b038b823bf1dfb78dcf811487891f3b6cb5f36d80d7790aff2dc0a21da15e46013c0358b45ec560860cff25e1008f5654c6caf1383507012d68062393d52b29b7378c035969677aee43f4927f21bf47eabc602cd2610f0e533f5d580409b9127e3c17e603e4343d5ed875673eb13a5bda1fe4b197bd40eae5024614380011c178e43682ec03074c28b40bf77edb2b42fefdcdf41405daadd3a8cbbcabcfe4434c9fd42ecde3037b5e2fddecd9745e9e0b978586c990bf0530deedf7a51dedca4fe4508f1e998403f695f3d3f2cb26b0c5d8ceff612aeac409073e1b3e6281da70e09643fc56b24e036f7254f6cfdfa640793cffe419117784bc7e9e2133d4fc087e889fb072e1582d03166eea79a35268fb06efe9629a819e9db90a77bbdde2ed18de5d50783d228d110323690b8fecd784691b1c39775fcb3d11f9e38ad6863e26fac5fb7c64f4c0172e0381442bf0c73189a1cc0e915072fff58b1e28d444189f227153982621d5aee37503fcdd190d1b9c15e7c0bc4dfaaa5eba42ed8117c5d9ba3610255d48259fd61b78039158cddbd737b6bfe8d3b9b233e958388dc111fd33f313fb57abfa4b622683e203b45c190d1ac6b429eda1f75eac74dc9bd83fa46b1b3fc573188336c4f1ef468c00581e02e9f88ddee9433552ef834fac907c68f71ee03588e663b32d238befcc11581b010000643fcbc8ffffffffffffffffffffffffffffffffffffffff00581e02087d89ae24456b818ade5c27c81f35c22e479ec973a3027672dd8b6890581b01000066323cdfffffffffffffffffffffffffffffffffffffffff00581e022aa0f6c50cb63f9931adf6b5a6e75d426d7b95acc8bad85f17a23c9426581b010000651397deffffffffffffffffffffffffffffffffffffffff03f583e81850af7a7d4d645aa1af23358653c4cbada3095688e9e0147dd06636b500581e022fb1a58cbb5c5dafdfea580a5dbd27fdff206be8c02a651a4e49ba979c581b01000064a76d8fffffffffffffffffffffffffffffffffffffffff00581e02b0888f389fd2b967c122e0004b0e8645886cc0be221fe6392ab5920118581b01000064766380ffffffffffffffffffffffffffffffffffffffff00581e02fccaee35a46b23f4b4789ffaf6c3e20bcc3fc5ec598c2bc9ec5e93fd28581b010000657a0bd0ffffffffffffffffffffffffffffffffffffffff02193c550387d40f9a8a200bfdda82390feef82bdb3e7ec67d92abf5f5b0a334ee19dcbdae032539616877c796370a3fe4eb833c477fca414b3509ac890fb807eec0f0b7422c03e0753a91bb9fcb8ce8262455c338f536a6d573142bab257f79eb27e284db9b7103be6b29c329e3d58f930cf403acb63ed5789a016fa5c73901564e05fc281c02c8031cf0a13c1a844cb4defe900d42cc29591bdfb3e56889ede6896ea415ab279441036479784e30998ce49ab29611b7c3f9dae098017c24c03dedbed58ba40cc693880334c2548083169038fbb7f179381b27b1deef9b593c28562d792512e8698b2f1c03f563c9a44f8f3fe3da4e082d8f6346c57970fdc4371856791d20461b3692ee700385a7f9307cfb1988693344336fb3fb9b45f2e90d111f91aa211fb2a797bf33eb032014fa5827c531dee9971b33fa6e26cc0849a6113d850cb78cd18a6b3d0f2e6103cbd3d124cc63cd941a7f25e18e5ae93bf04a42aeea55f8dad1d0e5fb1305deb50350cac06996b1c97d954629d82d4fffba9a879ed53933e15717ff0d98c838f596033e74e6e8a6f7c52ba883ffc77e9e0c125f1cc2284e98453f3cc2435b734d3486031cd87b82dde3f1c9901539a5f060d83d17582601e9e6397292c2a73920ba455f0219ffff034abd3475a00de8e3fba5917ef5a67d44dac3375d7caa295b2af79e6af472c116033d9a2f635549e20cea99d563c0ef1d4165c660e628b6fb0dc600595b988dc6e003555719468b933fd93053da0b20dc59656d77fd88e5672c3ee553f0501e896ce80219ffff03957b153c3c07b5fa4f4c2e3c0f63dfef80abf54858a3ce1551573bf0af020f8103c0f9642f7c8eddc31b77378de10b42e2d25172fa44d51dc33a61f1f8a5030b370388bcf18da9d7f31cc327f6e773ed5061c5b3e9a05d1068eec773066f4845dc5b034e590318bf7466eb04bfcdb53adcf082059ccf6b6427b2e803d7a0124be92a5703f159324ddcfb3df5745c7384d02d8e9240b4c1b165f183c3cef586737effd5c303745b669cb83cede3c7ebb9a7483a82234db680f3b2ee1d3b94b634916f95baea0394cb2e054e0df07de8414ddb559a844035725ad81604c580a783ddb8de537f1303f175eb1d8060488d33c730131e48a0ba8e660f5f298e7daf8d8c4f58736b89e003ffcfdb78b9f3ddb9bc8558d0c2c98ab44f755d807e49bc192049a131743aeb3703e616499bc4258410c8881ca11aaaf2c9590e1ef37981711bbbe96c10ff07e935039f482e531dc4ad52c69bbc3cfd169dd10eb92629533622cc68bd11294b8224e003bc1cfb73d287e7b08c2cc864447171cfbc1f016bf5b6dd799638196ec2185be4038152f133982c38dfa557441653d3aaa6b17bf992f4bd1e7345b1fa8dff1e20c903f8d76252fa8158bfb34e383061a671f2337850dd55942e0e40569d14d06030680219ffff03e8e26beede4761a6c142a7996440eae4bb4cda6ab23024d1901da28a3a929651031f2a7baae78fba6b8fb9f2cafb665f4c52db0d01d09f8ba31073bf7bb45232a6039e17fe245f77736c013859f44b49b0dc78804a9b5af4c75ea10239b5657cbef00338485d854e4b1c6ab8dc316f0bced22b6d1d6048d2664293b8bd40c2fd4b7c24036692a7169f12bfd3314aa760e3d0e8af7d5fe926bb118ede095da1f873dafaa70315f170599d3492987ac3063cb171d26675be07e5f0aba8526cc402a1727dcfdf036dbb98b15a8ec4d4b67f23eb55ecfcd3b75755775897944b93befe203330278f0342e7ee488f3de292cd6b6dfe7068c4b92953c5cfa733fde489f4d477a531fcb603b8520b6f4bbc92f27eac96182e2268c6db6b811b50c7ca1598c7cdee6ac3a2b00381ff385807a9e58c458adf309a6b39900f02d05034977029bc164a5199a8951c035c0c1a73e4f05a805e568e0aa0d1fb2d68b9b9f35b891610aa0580331b2c810e035fd2c757a44c724e35c4f72c3f5f90c495a7059a05bf5d233243a0ef01e9efb703a11166cf7e2d254fca3a1ea5e530057375debf695f65ee2eb085d91c3bc37c1703b08b40b5e088782da4bf9fbb42f3f0b66631c0edb903c54d1de38cc65156fcc00345d064e33e1f9a6a17516eeee08e7956f8e4c1788887a35195eeafab7d8cb31d03c25ddf736a5172f72a60dff0e589d8983ba472eabb23bc6a33c73b4ef59d88a103bf9b38802e1526eafb72efec17838c4f8192bfd3d3a06686a1c113051c3acd8503bcfc8a462c054f29f0b4b22b0b3e76e49b3e08412462d5794a876d84325e9538035cf8c1b840fbf9dac69c113f7da04227f183e439532fb64a3a3fa6f6949e9d1803f0455ac327ebf4e5f3586613fdd3fcbba9c45167043b29f6eb85b0973786fff603d0fe8f19c4b0965de61f3fceabaef8b47de440db28992b5bc68d8a76269ee98e0375b804f188422dee20acdab18165b7a41a526e2f67368aeb2db3d9216132bfdd03ec86dc7e0ba19f9df7105e37e14fb33b9640e87c5fe4a5528dbf7fa38dd27d6703880754ed7c5606ec57628362075334f18a7c9ecd259d7864829cc6261396c68a03fbd0721e3ced20c55a2162e7fc31950caa052f2d31179ee2a5ae3aa5ed064bd403720b6a8e2b905a7ce2a83a3746867f654a7ea2f85dbd3be774b8edb2b581a6f500581e02966c35451192dee5164cec9faada2f9119b247e54e20d1ed978078b8ea581b01000064e1d1f3ffffffffffffffffffffffffffffffffffffffff00581e0291fc47a884f2ff69b61483a5d354e267ca464afea9d41a57f92108d7e7581b0100006657db44ffffffffffffffffffffffffffffffffffffffff0359314479b04623157eabb4110ed59c6c93c112b3c004ac5cd87bc0aaafdc8c160219288003736a249efbd28781c04951bbba98f6a23ec5d2036789dd457198e6cf97d7c7e4032770d46e23d91162dc12791a9b360fe7ef5c9e71079daf6b2b4f7d1dee98da7803d763336622d52bd18b2bad6fcc78c5351578cf2cab6098d9d3b0b6a2481c62bc03ef159a5af08b62a2b2a20f011264fe9c1568fe2f82d2010efa0df4f41136dc5f039b752e91846bcd3badf5945697345abfb3c89a5cdd0d11c0b0d91299cf0faf9303e3357191fb61c5de31f72b1eb464ea4567cd05c6c0e7a892304e01b5d4a19d0e0322e560e400d98ef7831eb63fc8c96a3c9714c3c5c407c266736a78f5d3a4a1b403ecdc191fc1cab977d144830ec46c66485747c967d0340e7d3c6979ada285365903e3ee0a87a2c26fa4e9122656d679ead538aadc67f56c5a1a97f396270e2de33f03a27d68ecfbf6109e6deb4d3fd13d72b7adf3ce5d4e07e4ca11e5191be85dc4c60219ffff03882644756c86b3f9a3d13543474663bb40dbab29ffa8af6f723b05e260d8928f0332405aec51b112050a13c45951881e5179f59244ca5acfe2eb38bfcbb06244c2039b2f92353283da40e0a00985a3fc6ffb87ba2d77c3e8b0cdcbc54b69aaa7728f031a5a7263dbcce8b7242a723771de77dd485367fdd90d0d798c0429a244bef37c0335795395ba644e33b55145bf3d6ce021fc8c026ebfd58f1d5c01dccbeaa7da7a0362bcdec0c7846c3fe7070c1c3240fd969438620f58c5e1e65c8d2d397899de5203d84313a4e5699a34fd2cc73dda5af053d007ffafeffcaaabb04d61a4db323fbc035a9ede4dd9c0ade17bd8082a90a46b3b61c02c1603b35d303db945cf9abf864103db17ad8448f9b8d25cbdac51333a3cf8b5b68368a465bd9d3a91b23ab448677c03b2ba0f8ab494c615a662eb1891eaaaab02f422b8598e392bfd9aaec399f0ee340356f84b493c1f8eff6cd7031d2535e85f590dd58c8f876a1f0776cb943b38e17c0219ffff030b009195a39a777dce3519235600f73a1d8a3b5e21a887ac6645878847b8955e0219ffff03c16da927b8808f60ce05cf87867d0ee6585a9a8790981c38757099842572c1b1038b7da55423be0d202804ab56c1d18f99709993993247427396ebefaabeaf84d1030ea6c6195204a78aa5abb6b8d8fa51ee57190480da08ed135421a43f5497471603c26b020801fa3dd8c7e1f9b09a9024ae295aa12ebaec2ed1b6383d7c43d7d9ea036e0dc365561e1c65661717df18326fa2a865521aa42a49caf5edc676ca1eb01f039b330cfe21afcda233084a49c2eed64291974a99450dbb962a37f0d8741313cc03235bd096c4056dee879a8f89087812d5d92a63740a92a792adbf977897b482390219ffff031d93f2b5e12bfee9d6941c776f6de7c879f37d73ec8f988dca211b7b2ac2845d0306b2cda7aadc6a93c57bf424779878dc3f32722168347faeee58435abb436fb8033c5e80bd1afdb763b7f7ae01af1a25c27efb9950e2eaf29092cebd12c177cc3b03a76319998f83d2bac0c0ced9478aa6e1c56d275e6e0f4955e66f48cb7464dc4c03cf487959df14f89530e0f6a3c6231419cd461fabc79a3d9dabb6c9ec42f79b7f0399678df4a0fec6db7fa497ad647946b0376c0ba6b0a25975d740a0a057ae9d3b0393ae0fa32b93a21263bb031cb2221b462837220bc5bdb87169764b16cce182c9035ea66cd8bdbc64e7bb5aded52b98080d1c7f6a009099bb582804065ff2da4220033e070207cd015fc44062b69fadd5de545ca655df2c0749a806fb34a8989dd0360369fb482b302fb60b7784dbf3f74b02b19abd085db89666d49dde0e53e0acc4690395cc0d64859e8180ba79d8b1857453c0045115165a6ce124d6c2bbd648c3a70c038b094eca48eb1f8db2f6ac54ee265f4340ea9411e75473e0650012f3ab4a15d0035b267e05cfa1f48532990bb085638940211836418b7e2a158d582a6874b1895603f1247554ebf704a9f9a63e2b5104fa6be1d6cfab194ccfdf1fa89ed41fc6f40403d8150c309d69093bb5c06998a58034fbe54bf93a0112ebfaa5bd1e5b987f6786032e7c44d51e3be58d6abb56e4d20d96eea974bc7830194bcc01ffe96b8ed478fc03e469c12032cca0d78f64cab403ec7abf731f7d0b285085a2fba6727cba0f1d9d03243d1216816892eec185e878a6c366b207a8593efd8389ecc539c820119a2cdc034228b20eca03729650329d81e2ea83b3d37004454be14e18b684f2841ca99fbd033762f5ad5a19a3afed0f4ee449e1c9475637a1aaab1553107db8f2a1dc4cb8a90393765ddfbe2bcb6f8880acd970feec27b2788da352d0948642fccf2eb3d7ce5b03852a67f45f341e0a6ea884e049132520c5a51421dec68f16c566e1c2020e37fb03cd8ba0011482d757cb4ba171c6cb5a40f8139c8058788947409a2ea326e463010349c00af61f63ddfde68fcbb9a673a2c4d1b49f28be10a9f814de830131e072ea038a6ed00f30a10f75af8914de0da1563289fc05f25c3406bc4ed0c11ecb453d6d0329348a512af130d4f1befaaa7e34890f34f4a8d5fcd972f46936bf9f3d4f9d4d03dff9117b7a386f069280391e2e163cb75f0ed17409f4b250e296532ad10e12a103b26a0b26070942288b95dc3aa5d2950747a592e6219dc932b613ff46fb1e5dc903f1e5cb541981ff69328fea2c33abd56abb7ccb25a68b81e7db2a01be36468305032664fbfb3f0fa2a7fad670cbdb77087c3a2a066fa7fb1d2ec0ebdc5441167a3f032c7a3d7d6234330266667603e6a7f990d0fe28ab9b6c52f1cd94c43bfee8b22d033b65d2ec1d1da896ab0b94fe44bac0f76b37be7237a3d85e1e1311c1558133070323216514038193d2b4720d6ef48ec956425acbf778d45dd968fc15655a411cde03aa50ab63ca634cc1d75aa3eb19c1d6d26d1c6b874e7f47e91cb0cbb0b205981503dffaa7f0f9d9c67c4da7b0481b63213f4364e23989ef7b76af0e1c3510fabe2600581e024376f741fcc928c5b29d6acd5835fc01b4bfc7e548d7a437326b8c5741581b01000066165cc6ffffffffffffffffffffffffffffffffffffffff00581e021394e51ac7b0aaeeb9b863e0228521a031fe968d6ae30dadf61ec46916581b080000663803f4ffffffffffffffffffffffffffffffffffffffff03805a94e7de7dc0a762c12c88b90bfd7699eebc2c88882f548a308555769edd480312504f5d1a08e8246bdaec167d8de265bf177f6c06036da1e0c483c1acd508e400581e023d303a9ce94fa8abd191f195b15be1d498ceb335ebcac01eb2e2d57e2d581b0100006607e680ffffffffffffffffffffffffffffffffffffffff02192960032c982fa5a7e87e5362466c810f65de2f7190792b3f250a012946b6a4cb874450031d54d267d8f0477a03a3a4d0fd42176fd87b8dcfdda98a8fef32f46440fb97770335e830d8d421342092eb80b167a49ef4a13f93418f0ff5c687624cee8b7630e70396fffe16d9ee82de2de188e147f3ccd048a99bf4c19dfc850e96e53a12814d8203dc51381177c113fccd1eec03a47754e556daf2bb219a80350d173e92e468537b0330a21ab9eb100df5cb89d21fce493635a3d7de9e03fe80a0cc3f15c3ca0a331603f52c000a03b6847e5a4bb1b3b0cc2f69354c5a8d3570848a6776e1c3fd202b8f0219ffff0361219d65d7b9a0caf65164e19591d04310582a41844fbbe6644bb01ab9f66828031e5116ffbfe4ce4f960d773a90b6a07f9f0dc667f428ec1448cb128c0d2c73e4039a559a89a7df99edceee7782cdee647e91ea001cd240e0da4eaca01083b128d603a8a563b1d633b334793709c019c1150d3df87631199a454e5b345261b495c4fe035eeca37fd9bc060017acaf363a077232274d8ed0cc36a7714e181d3ad2d745d503e598077fd06e2d0baa43f1c74a5d40ced0d19d09ce906badc06b7af5f066503603b3dd35ca6969a0756020a093036397a86371378c30499d597dcd7ef4a8ac166603b2752fe579b5b9d8a5eaac06967bacd698263ac67210440c03556ab5faa6214e0219ffff036007e6bee74fafa82e3d843480a44dfb3eddd8a6aa7ca88bbb9a2d0676cc09d003b8eadb581d0e75d9ce67d3e36c5f0e339704ce1fdf925716602bb58021e6789d030fcf2067fe99dfc1347c6a1c87103b74e1dc98da4e4230ef0e98cda84b8c3b160356c9da7d847b715cf114b277d51716f6a8fa6675333471663efdf874d8ebf54a0219ffff03ad292c2c8034e43bbd3f73a6d9fe3e223cc8fff84c8f5178714948c4b42d90f703da12a514f27185dac71d6190eae4bce9aaeee8a0847a61060e98224e19d5891f033ec6513461750834020b506d31caa9414eb33996525e835c8f6d75ed76764be40385a7955baf499f1a70ed41c9cde7154b8ceb79103a54b481563398e355e32a65033527229e1f13bbeef8af23ce7df471a5c9c67e1e02d8b0302bf5b201679cc0c50397d1c5c4407718cd7111d8195e527a465e6c8ecc703774f92bed61ea9ed8479103aeacf03d028ab60e1fc468e4a9906ce985244091c837649456c9c4896eb50c7f037c34a646376736f9f259b821f3fdd41c88c79cb8539314dd441e0457cd7bd55b030d4ce14a40bcc19b9dfb1d179fc8d7c72e8084817ac027236ba663ed94b12d1f03edc9b59524f272614c42f1d7ea3734362cc0fa85fdde501dfe865ac270048b4d036dc4dda8e371bd85c04b0b286904130a7cf0df33112d7f4807cc98f743bb96ee035362ecd9ac5bdeb6d3a22ef48d20ca3bd73b9cbb8bc7d1a1bb4065777360b61f0219ffff03ae5a36a1b18a57184bcfb2d4cb50edce5d0b6dd3465535d3cb536e096782559003b36f321718b236f8fe579c1763e8760ddae445a553e9a72e787214ec1fcf16c70371efc9bc491559a9045166d858506c0ceaf56cf731af20d831b8530b3ccb883e0219ffff05581d026e13bdcaff61b95238167ef377e01ba97f832b3f9c149aad1d9f6a2107011923c00219040803762f4d64d12bd066ef9778fdf43d2f954ff3d0d19d4e8a4eb4cfe8502a3da5c405581e03e92b1b9d463e39ca71cee60f93759b43f1d5d03f24a42d2585613b4060040205581e0332e44cf6d1f68b044b2ce38fa8cb417312144083cf9255bdb528a2ebb00c01464ed6ee996c4005581e038cc546a5f821a264843e2f2938bf7a6a1b0361a4fd317b4b111c9c82600c0146f67c5d32fc0003ea41189d362569b38146c94d07bea42f754a5afd0d2fd4178e3b6f7c2c8656a805581e03127bf4cbc6981d18f901c9fef6b8f3615e16582752bd62c757656701000403031deaf9d2e290905e5c24cfb152b9096749164a961d28518b6964b474e29eb09f0314da3c1ba100a110dafee68c76b700e909bd5515871b1c4d1c14a0ec41559e770219d4a70317207ea1bc39f83334f6d68d3bcb38e27d463ba7f2b7399905036307a6ea372e0327c47b9a0804635016272deb99e0baec4d4be80a17682aa013ee37549a5d4aa0038ab8c479fb4bf2de02d74dceb5af05f767e6af1b97189c00b05a682083479075038a088f545065fddb16aa6c6fe11c7697fbf1c18fbc5521aca1b736cce125322803211097c6aa298217d28cd710b604f0a1753815126da48de25e6e8785bf8e4530037cf9dcd073a21a812b4e8aa91bce2a65452fbfa4cb3a4d997a473ceafdb22c1a03ad06747d8f51be76fba488f4fd6709b1bd370411a2ea7735fe011c0b112a2e9e03b6cacc2033e0b948f6be264bc27e61402c6f38ec95b82a21033d9603022b217203ed522b74e8484371b78cee6de4ddab6337d302125b9b773bf30b98c6e30f735c037fc72381b1e036b06d48c535dbf7e3795e4fdd6eeebc3527b06434d5b285cef603c75eae1d25b97b064f718f7fb786ee5de514c08d2488bb5d4ba06ef282a78b15033c520972f9823a7a66902fe019d9765a48aec67d1c29b11903aa98979fd232310315eb6048c05108f12598e76d70156a9418b1c714d1f639b7bf0ed4c6683624a90336497f1aafc4aa32a7793a172e261f7b5104ab917f4189568a7c3c83855bd5260325385d6b19bc8a471039becf42f64df8c09031469a627c75d64f28bfc81df90d0219ffff03bbdee866a8d91d1511a5727aaacfa4edd6bb8125d0c20c60cf587b2681eb89c503c18094c24016321439e1c1bc3623368a3d0e778478dfd5532d7936c5d2a2cc7e03f79b0eb100e64be562f0a94c7441c5a761c8549542a91a0cbbdc9814dfef0da6030ba1bf925a09a7c287375dbd365b4c14730cb8250ab57f61e01d098afe40aa1203cfac142a333197d00f3c505b5fcf5d2863e1a8d27f51015caae25994820b2c76030ddb1f4e59f559e017e79699beb290fa5ab845ea9275328f2a9c6ac0a5504cfa0372c1445894fa0d596a0002c4e9aed7f28a64a8df533aab68008bc2d8820cc95a0219ffff03d8f1b0dbf63b5d35cfadb8f312c6889e0c0752c7018549a3774e9a6545531045033426fa91ae111704dc7c4e4d0682bace5208ab38dd84a3c90405f732ffdd663703ea994bea511c725ea3cb4c4fd6d793b0f68827d301e40db27c515ce6cf6d6ffc03d9e22fa4be4b4da277a682f681d2ed94a5403358f43a50bb7314498b520ba1cb03cd03365752eef36a50387c2294ef56988c91278c59261e8d6c7a266205845ad5038ebe82af6ef30f2930ebbfd86785ba01e2609e448218ed76383360a550ccd70a03fa29b541b7706f154eed997f8fd6a7c8853f22d82bf5dd3c3d7e1d9875146e6d0343244b8265dd12520d073f46279bb56445916981ca42a44f32764305deddc91f0346078fecc6a2604da4a1537cefe5c0db350fdfc81ec07ac19961f6ede288e5ee03e98759906104dd3e713815123095bbecfe0ae382ecf7fd7dd026ef7c28a3543c034c3f8bdb94482ad89a93e5b273c16fc1103c876b3fed488ed519536e6577b0b2039492a2d19bc6b2992b69fd2daf360aaff533b8455cd7ac53d6e9971537c4a4060345322b0a2b92438cb6aa23ba084c5a0ce2a5f56aff091ea2f1ff4ee71ca36981036fda8ffc21513ded99a691ba8396251dab9f269f659214967e34cc3043f00fee03d6dbeca88119a6f72e7b764e16c0cbff9550afdea73db4dd827f827f4a9e87520219ffff0219ffff0219ffff0374b1d2cafb8c5e6cb870b1c7939632a80d1cf46f3b1dd0629668a216dd28aa3f03607cadde4b02bc9881fb568875aa054b9114574c29a70cafc6fb37058386516e03fb387fe5de30ef4564acb198c93d96cc276c45fcea8717505f4ca0bb1aae1679038788d96c5dd6c2d82887549cb35ace68e4cf91014cf72c9f61f96f7ea769b62b033e656d82eaaebefe777f79805b9c01f6e634807bd37b5583a50e4587e1ba19ba03907f58ddf5ecb6229f7feaa6a7ba6b08e9e6b24f4f588231daaf2605938a31d803b00e410f80e7c9f5be142aa7d332ee51f643a3ef6431b3d4b24e0cb662befe8e039a06918c0f1c2da03d0f4f2eb31827e4d46ba3f2b14ab73da866a002bc024a1e03c9da96bd3fb3bc52623133556ac8641b401b41cf6577bd3112ac3399f13ad3d903858cd5f82a6fbca9c5c8dc0544f8d00fce5e1df3f45c7ffe35a5527c68d3114003b65c88c2c084058afb1495efaa21ebf64f841a6e09ac9caac57cb7569452600c0307d22d73dcca3984d7e2558ecebd6d3b0497055eb6f735b3e172e7b8af6b90c903a0e698d305b474b48b83c4dad30b74d91599ad5250b95764d066e3038ec1faf20362521c0c4f5708cac1917445e94fef227f59a2e751f0c4555419abb419320ef103e3eaa5cba56b12ca82d57dc37fd773b37079f0c317d9a88b0f8d7a82fb0b99a3035ee293ebd128be51cde9ad51e2553a0245304ac1cd2cccde72847d5a9c33851d03b2397df05f2f333b9166f876b557efbc5a505d4b4a619fd5d40ca6cf0de17be00458a26080604052600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e0000000000000000000000000000000000000000000000000000000082351415604e57808252602082f35b3682833781823684845af490503d82833e806067573d82fd5b503d81f3fea2646970667358221220676404d5a2e50e328cc18fc786619f9629ae43d7ff695286c941717f0a1541e564736f6c63430007060033037008d80d65bd7b0c5abf6566c0e85639dc54f421deebdd01a451d45ef328b945005821036db2e4b9f8dc120de98f8491964203ba76de27b27b29c2d25f85a325cd374770581963768ad300ba024f5ad70b1618d7414c7fa2e326cf4470b7140058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305410443637df3e2d86b6a5717254e1e8844a84a2a3005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace46018f2e79e008005820026ad886a7311a7ec1e786cfd18919a04abbf784b56b92109f6e6a9888919ae3410102192001005821039eb338bd3b35af930557b67b923ce11bba81fdb48482feca0b60d0dc094f443041020058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880581c6372a3df000000000000000000000000000000000000000000000000005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6581861cb96b6f2f2c8c61aa951c7f98404e8aa91bb9070c2ccfa005820027874c25ce16cbbaa9e4917c750b73f48d98964cc3d9e4df1e51fdd79da718a4101021901020058210373a1073955abe5102127044108e26d9e8d41f22b911012766532da8b4fc82fc0410102192c3705581e03692fcfed698c6606e6127401a1c7e20fd8d8491b24eced6a11c3e3b3700f01470ae0984e40793718a2036e288820a30c904485ae6bc6c9623df5bb0a064cd0fc3ffa24711c463fb4666c03821676e2c49ccd0043d2b1797298692eb68259321dec5536698d9435ec635e5305581e03271eb7dc2bbf46a020a828eab3396bfd5e776025797f21f43ac2ea42a007011bffffffffffffffff05581e033ef224eb0100c22899fc3d53791931b4c847490439778650494f393f20040103bbb7612319b3a6f341dc572340a002ff759aa5f3b5c6ef6442e9a4d5983c29a005581e031429dc21804e3a77f027a6de72e64af55fdf43299a822e3013304350400401032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c9420378ec10b48385b5cbb1f06c3047671071a70fec462d74f3ec885920bd499ec2d305581e035f289a0928f4335e9b15b8a7141b48d46d84af9d8e376e0ee512bd95b007011bffffffffffffffff05581e03266803438b50f6e63aa75f8388fc1ebae705214def13a5cbd4b1a6ad500c0e471e7f602517eeab0310290a5f84b553c5c1e1813812138f3dabd0a13774f6848dc44462c9c24083870399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908032585d8781b56f18cd15bf915b2204fadbaa66ee004e255bca86685f2d7104c1005581e03c91a58da3cccbed290b875dfa0ce5cd8001fa724aa1518c83d399f742007011bffffffffffffffff021971c7030d789a3137bfbd44bead54ee24553b3c983ce1f3a1a5f920132e76cd3598230603d0910858648e42bdf097065401046447cb1f82bd9e7f2b6f54576801d77d3c12036201a6e5a75ac1a1da9af8de765e268c30f54b63dc8ef81fd6b23cfc3c1cbc2903f7b7a3405fded0fa864e7efd5a6f8bcb7c78927d5a17f3e7733fc98c794ed25203af74c34d1a7bdc360444e85d73016157893e5659f3f1234c19e668d1fbb1748a0322df735bbff59ed5ce260a0e58f17996ff256a45d1ab8ee19fd02d7d7f4c99d703c2aa5c5b58c6156e3265705ceae9715343a9bd1175fba3055da76f872480cc500361620c73004dd04c89e14613ca864c502fbd8e9abc2f9915fae953e0a78b305e03828c07a0554a1ba50b376d7bb12d6ad6af27bc54b0ddf14ef6a36d224463c6de03aa1af2de84611104bb3ca9d3063d5033827b161f576ca516cbadc34460fd2da603e90860f06bddbb94fbec8d1aa9e1329a60dda42577cd520ebdd20c32ec541eff03a021ecdf94aacc437f313bd32f1adcd30f151270cd60be11611f689958e966dd030be2571968a533511882e65001e1bb4354b3883200bb320b48b38196a0f56a9f035627be8fbe11c0e994c531f637dc37c99ce8a735681ceb97e16fc94ffdbcc3b703042429e1495bb52fe5d14c1bb72ee9d3a3e5e0d7d043167635fbccb37455a08b0219ffff03aba574752c5b01750dbcc8a66cd782bbf46d906b2a9b8b6f6456d3d802b8c3dd03e3731a6a7dd91aa0c88e8d8094e4c179ef7ceb23c1e03c12d436a87c0d91553803d54656a486c7dcf3ccb1b0040b703679395b21746bc938a7169cb8d93604a5ad03b4a163aa16fe715be14918c051c33d6ebd0d9dc19335374e25a2aa9ee0b129e1032f3c72920f1441216f14da47b79cc79f57173b20c34f34c5a6ae0797cecce1c8039adb4014e9f24db8113344fd6732c867cb03341f7cdbebfadedc2823a0c1278403c093ab2f41e489f97db2de651c7f72eebf6eab10ec4461e6c0acb4e5694bd6db03327c894b262bc3cc060791dc864f18ee9451e3e53138a55ab9f4e9c7f79b13a5037eabab16aee7947c105700b9b986dd862b5be9402ef373deb3d7d33e7ed7299603f9cf2eb36f981144a47e78c8fecd4c87cc6ed3d905a97991fa768ccdbf9bcb3f0219ffff036e4f1640d56bfd4fd800b0a6c0f4b27d7f48bb0ec71e682d737c75ba7b3c6fd1030b4b60262e431e4d3d71cc47c0c37fd651d574e215f2d80e30924b8f93f7ac7403d41f88e336dc05de3b43e5e6cdcf1c15ec3f7ccdd3045593ac05640f05705ae0036e29f28dd86b99ff4effb044baf0a3834429f800ec63d39a82461f079179dc5f03e579ae92a97df1b35a121fc7f8b35275df093c9a2c9cd7045b4f709f3b385f5803cc70413df99eeb9938cbc1ac6c49fdb3de039f373274b15278db2d505272459b03be9d123fe8270aa17fa3af40a49446b1ec78e56b6202c433a80e635277951367037cbe10a2a5e86bac3e417f84be06c667ef705b48795dbfe97432c4f35aaf5bea03a1ffe6836ca49b8b93691ec42169b9e28311f2861f73132c131bfe5a6203328603121c6b2af4b08f190bfd35c6e205f52447ec0f5405b7836af422730b20b71e9c0219ffff03ab3a8d7314f6fab06334f24615d78f9312e43059ec31b357a72d0a7a03d4ec5303be6222172f72af05ac55389488b9e7c0f8d45aab962fe9fa5cf38df53024f9c3036a43e96289e00585298f6dffd42a95c50234312c97cfda10c371377221f62f2603cde75a1cb0e8ec6d98654bb88767379397efb7240d3aba89c7d7b7ebaebf3518037466f03b40fbf0fb51b875c27dbc9804c4ac6a16fafacc808cc93c2df57735ac0322d46a1d32f90759c4c749015c411792663d1446191525808bd0cb754ad4636503aabda766e53a20abeee7b736acd541dfae36c5e4e2a0061e02f0097649dd08d3036f2a272c651496678ccf7a1db9aa9fdc886837f8c177d664b106abf54e026d4c0219ffff0393ce7b6e9edfce8ab8f964aeeeaf6a3c0c9a9ac314bf5e0eb813a6bc6da3f99303517ca349f4753fbd322e57a9e55daf77b3900fc44090f275c2dd87d41c9ab6de0348f72dd561066e759c56035a1ac1005628f9430d071e5f787507249cd85d6a17032453ee9c795f242701d6f550f5a934ac584aa05cca87a6292974a098febeec0c0320499b8de0ca7eab56d35a5559d1ddf26e3ad7f79f01d5f6330223c88adbf6cf03e4ba9a366dc359d0bdcc40827cf318fb973178f3e65df5e1e874dac4a369c31c03b6c5b6ca925326d221ad568ba5bbc47a3246895a1662c9796454d9a53fb79f2e03d0bf69cb479805f0fe3dccaf80b848315528ca33d3538a79b277583d030f4c3d0392a18e766b3cbfaa96113db23f567a91089f940adffdf9abde53f71dc416ad7e037bf6576aa28f71587b2ba71537014e10a27edfb2165b7fe7f687b9694c27a56303ea034bfcffa34108ef2d5f873ce4bb0286e9b6c2412da43ad3a1bece028b116403315c6f42124e2f4f83bcd73dede62418a7f1795cccd9adb69c4eb5531ca17eb9031f74a1d8bdbc171f492653c8068a56707f6bee30f8567607e0ad974be826a93103535781891c2ce59ba1aea5e07469e35f87eedb666fd65c9ef821732bfeb48dd303e9e9bc143832f7d391cf85f16df42c7b80928619cefce74f76248c743add66c403c9f3cb317a1dffab5f07652a66e4ca349d37f7f3cb3be7382119ebfb1c6e4e52033b80dd64a8118bb53b983b236ac2b129bae482001be0343f3cdfea89331b09c303503ca6eeb4ae3e68504bd0c13862e2c9e7eb032a4642bd61c01f64695c1f1dfe03abc0d8a31380a5e899584d2fefaa62a7cea42ee855b9a17ec7961c89283df23d032aaae0f9865c1dc41e739e1d7fc936a0f8ea4c217ca31bee83f7b682ea09dd3703e3c5628b600e91812906331d600e6b81f765a7ce0f4d6fadf918d3eb8e6a477c03c148569e3e6e5502d4014cc7543430603dd2f4ecf51bfb8cf651209895996fb103e39b0377c2a9ae529134107fe07b2479cda7e9b951ae3fddf43d86de64fe5abe03c8c443842d351bea30c0f0189a84bb584c13d27afe5d0f3c6490057d3b42974103e36bb3c7b29ca3f66b102311bdfe8343105df315e6b16ef92fea67d1f7efb13103da728eeb062b0fab88b441b56f73a8c689b039292b9c5b44ebfbfc5af4f2eef8036a19cbffeedc57b3d3183c5c8be3366748d0590aa574a71b2a4d4c390c1efd790316cbbd426304e84da8da76783e00ce197854cdc601b1c4bc9b0b92898285c4b6033e2293c904cb1f34b8f124192fa6b38d2a011a0d36d0e5547acd45e8a9d4a9de0323cd3105c1b98068bdb7e2126e5322a5e5a6d365fc16f5222586d6003582ba1403ba4afc03db35e4426c0db0f213d2481a6ab02e9b73821affebe9bf30f6f716e703b911954acc51540cd121a681c0c7fa62a5344369a409584491c33f58686e9d2703c8ba8df33bef77e6afea6f221661fd3c6acc8642969fed2bfd8df079504b894b036e3e15f9851feaa479db29b5685b7dd3541f2a9f7e6e0667f3b9a04e5c8ee2dc05581e038c14055ee433282812f55209c7473921a1ae2421a872bdf318d464b26004030345343f061cedc3dc39b52153084a4334d7455edbdf69a8fddee68b31dee0a44205581e03ce02e600f0233cd71cc26d5151d323c7a063f8c5511a38b70dccd172f00401039ae37c4ed70e3b121ce19cc91d22b1e98961d30900d69d184b8a61a4e99887d205581e03d80f8c808b1da535a749b1ae43eebbae61e337210d4612cdd4ab5c54a0084903a21866de6064600005581e030c01b39c27511c9118dc79e74f566c661472f5fcf578b72b0ed98551300c01466ed08d20f40003f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03699e7b8448c721d7c51f130080975359a8541ec657af9f7b6ec57ef93007011bffffffffffffffff0219456b03e7a84fa75f70d3174b348d6af9cdb3bef3af8ce9e64dc433ad7850693d520ebd03bd8a2d3b6e1bb05df7cf72f1a0247290d8bf43c744c6f98c96fef10cd75ec55a03973d036e7a766bee5cd4bf513017fad183926eec8fa996c49ef5cc9b2f72ab930353ad703f6b9e1ad286922b5006a28a506de0ecfd18fe0f7ab75bd41b093217e80219ffff03a8cd65ade9e94f82a1a450f92793c12a91918ead4b65ab2fbdc79e98dd64b94503cea6b795d7a54ebf690a00cd710ee3a55e67703240f432aa7d9d36346410f5850327c0c217e476ec5f5920373a947299c20e94251d81eb56e5a999dd8ac946f2220302319677190b7336efbe3ad5571848eb2d028e5b6e4c20b4876b0550f3b32e71037d3ab6e2757788260ca679a1814dce8f3c70feae5ed92349a69af53e01404ba50362d3564c8d8c1338a279bc84482b6d2cd999b0369ccdaa1230dc6caffebb35e503efa683c9a788b0572b981b135b6bfa84d3471a9358fe29dcd6d00fbfbbffff650219ffff03fa7799f6e7f9719adc6ce8755b2edc83950b58c81fcec972bcab13ed7210f7660339a7cc3ad3d35160b2640108b0260e0186d46bfa2ee32782725efb4e8bbcce2403399f7d6d312788238e0f244cb7c624ecd6f781b5426813c1f15a9e0b8cc238570300518ed222c00d2aaa9c22488083d91f81bd3f0c67891478cd4802477c3b33580219ffff038f75def25502cd4999f7c2021da6d78cc4841b48eaec85d1a41be680b9a30fa503cb379a8da5626ddac385065d96dc7da481b77cf00cf77bc6301807e4e26d393603b6843d61773866c007b71f2fc1bf389cb5e784757a544442958ae03e5e65b5d80341bf8cecc0e3c6d36d8653b9cf10a9b1661aaafb73c1639c1988d190b40f491b039d73167081e29aa4c7f8d9f3b6f717d1a563f307c155c0d5b06e30db2519e2c8035600f4ea55df2417cf1861e7ff97e3cac03df1c3a1c1a988b24f161c0ff2af6203aa7543b282058ac83b743e55ce73cd8f454e4c71a4697e73bc919926fe589fb9030cd6dcdd36c9383c2e668f2f303e6192d6256fe635622a3344d359eca43cb1fb030334c90a3c0e9e5ce910afd6af56b03dc7ff3dbd18134793f803647c070e4fc603ce1b2f6b26264e00fa5dad970bc2b7f7a6bed59b650216c3e6534f88e59c9f8d03f92574173e53f0681051a573e4e49865993c49d203e5ac3aead1e96ba83f08e603b1b4ce0db81f01da3ec9bd1f42a6c913e3e2703d82aa73b62a49ae93095b836d03dd8a8bf720eeb1357a55978268d8b2cd301ae9739a5f0e8abba5c2311407715e036bc7733b5f92f4d4772d8862412279e91c881e8a4c7b2d4806606b864905488d0317a9a7d0bc390435dac707520f7ca3866fa38a5dd95a230d190626ca9e84e7d205581e03a82e3876df42156252732c2b5cd04db40239feab766aa0c96e2e56b00004080459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56401614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a034e249e8d63ac7408f6d839b8f3fa3056499c606a177c931a120bd7fb6834183e03a6dc8ceed8e674f0ef497fb945ee215475a7c103f349ed99a000aa9d4189da4a037c3bb6071e572e76983aee8b45bc5b97954f4fc1980768f66e82d1096729e6fa0372f9432da7a47f8a930d914628f9d87bde774eaac94175e7c9e2fc3964176300032cd37d4d1c981db3f90a485b00301e6f707054a9561497aa9e1d961d7f192378035df8d6933f68621696603562781f1d68ae3d7b0563d67a182f4a6be22fb9b497037455bf45338c8c0b53fdabbc843010b3cb66a81188b62b7b22e4106c4882a9c6032d2e7063bf2b63daeb7de076ba5a6a451cabe369357e6337e39097cdc321cc8a034aa51ec2dd85fb771ac558116daf335af12e75ea5f5c0bc3657f7419dc60890e030fb981d8cd26a8f7755653da26fc9347f7601c1085c8e726915393a0eb1834420396bd461157d13f672f5e38c98f81819918122c5c9385bb299a7cffd82534f56800581f02a270d34a878c930c200816f97e27739de97d856508c62f1a70c0f0a87c0951688f5974132c86bc481ef98d07a14a5f8900581f0271f66e770122af4ae0917a75a1962bc3f3f49fd956b7a5f53e1863453893510709abc1a6a92c71b4e7efc399776848ab00581f023f38a9332cf604d720097fe85a95bde0c644e5f7fac7df870ff2deab889c4e553aefc416af25c8b4a3ede74b160379e19c3fa9583e916e40800a0ccefef0dc40897e9111288a2b736b680c960c6d0358f170543ffc5ea8f40b4ae819c9efa998c463c930e44008f7d1fe6d0b66d0020352b6d995882095f8cba2eaa59cfb69198787ebb942a8648ac796f6274e1345ac035d8a50a4fe8862abdf75e25419c8eac42d46b9f880ab1a057de5221d24e7c40300581f0207d2aed1c22e4caee8114f1030a54d68b5bb045decda87a967692d2ae8f65820fffffffffffffffffffffffffffffeed5add836963bbba34c25d5a88e6c6041800581f032ae9de3a703a4e67beb7417ca9d3e1c00ea360d1727270ebb63174542ed04e1710a1db042381984d4765a565050361dcfc1abce5d6cf760509ec06dbd3dec7993b11f938b577ee6ff55e37328b4800581f03f1ea8dcaf4e3082fb14f2f614c5cc395fee9ba77ad1cc0ef543d465cfb905820fffffffffffffffffffffffffffffffffffff901829fa4246ccb593074c2d79a00581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010002d302d3016002ff1800000000000047bf69c46e4fb9e1689335eed6fc0219403803436af0c2f3433db1fce59d30c34721fdad29ccc950fc3b07cb47f654a74b4a9403156c78843aaac3d8789341050009e1cea234e8a944d719d61e6945138131451b0219f2f9037bff3319d045a2e30b4575a21a2ab6b64123e267c0369b2d116a928af97b218503b61360653831f8c03f18d4f3fce23dedc9a4c4e1328ca22608eeff50975b327f03b9a2e05f35836286c97299b21805e09b90b5c55fc17c35aa69bae7bbf08c781f0313d877437922945ea00abf5e98399d9690507215a518a66a72a51e0c53f8b7f2030f5d791c1282ed1b19337bfdfd9d9dc06086e93facac0d7d89b43df0b624cc80036ab69179cd1827f26168ba2637271265c3ef70578a82d3b8e9e3b03a6fa406e903b10db331e6d3a3474b010ff2229e0a33f4da26ca8c5670465b9aba1e334df84903349b4f7ccdbc8673b8407595c04607157b398701eb52494c73df79768c4e461e03b73d6e434888dd5524ea0671ab33f8ba058b700e8be9341bd873c045929bef580322d5f0921615845823880202b27ae9f954f60d527764b4cb8889c3109f1947110385443e6ff0f3f97187e5f9f41f42f634296ccc749e9fcedb6963e30711d7022a0399087c15a9af7b09a484593c689db576eb75396a92c68e12f5c99c0f5622677e0385899877ea0148bffd805af55438ff13a27339596fc7ae69e799c7f00e89fa6003e520689de526a2058b7694ef1e29f2090716b5872fa4a141efa880d2a3f22fe703429488e06b2e859a7148f4229497bb0ef22655194231475a3e3a54c30a97a4460219ffff033b4a77ad2590321db797b298b8a20b572ca9e5b2b00477d5fdc5b2a7c523b09a03e9cbb5e8123d610733e55686fd9e9aa4296f5292bba46c71c21f9e453f4d089d03a2faa3d60827183b93a251a545c76861659dcae53ef19c57dfc33c45bcb29ae303c484600b4c4d9e91fdb623e17eaff7cd43decfde55001c79a194a4d1e88d715803eee6459a8c1a9e432a68954919db68b225d35cf013358a512e0fd43229ce2a41032dd766da6fcc89ab99c137f618ab6ed8ddb02b2acc34c89f74438ea6ea3025640219ffff03bb21c831309f3573ea32aeac57c7be481de908707a55d040513965b02a75877c031ae1badad612f9464cf786e01494e2cf454b76a4e952f62e05fbfac49e6575b003f65e5ab40270912beb682f54a25c59c3243ca7da95971455f40ac8af3711996d03a09f2cbb082e98dafbcb095356f3448402439e1be314179e743151fb6611a43603e436782aa6a051d7986cdee58da57894b150168f33fe3117229e22742c27c78b039ce36069db60de581a873fcec1c31dcbf25a84f6234e9c47ba54064a8f6872a70350fbd47b370708c3eb0c36662cdc1b00563ec2848dbafb5f60d2dafe393add4303196fc24869b7404a73ef35a5a1e107a8511121cd328787f801dd1d70ee5f78cc00581f026f67741fb5c97fd4e6e38587aed89a4c5f99bee0295dfbcb0e7c15a7126b5820fffffffffffffffffffffffffffffef29b5a3f7d0e6bb297400b624e55488c1303a9f555ef0ffddb36d4a0abc960bc6cafa5cbfb6dcb801ea0d4252ee5cbc0245900581f02038109903912d00002891821f81f0a003742e7d185c60385589efd6527eb51bbd881ba23f711227efd1b4228521fcfce00581f030d8531f14ffa0edd1b45a359742384f2590e0f5b52314fc8a83c6fc5386051315636a20608c5d3ddfe83c952f198010000581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0520f69c949da1f42a7b9ff8120ddc448eba6ce02190110034a61fd180e182b77c38735a82ef8c961455d08b6ed71f227bab71a02e91fbd2503cd55653f846e8ee798ee5c6e64940560e26bfa1b1d330986f296e14f504594a600581f024e822ad8405b6f4ecf0e8b15d647cb42e09803d2e97a698b7d9870fdc44c52033401fcc8a02ed0b99c7a0ae488497a1d0703a627bdf904d65b61931928965f7c96dfd0eb3d931f5b058806e208b46f67221000581f02810f14e8c3d6e05584679faf9ffd115180b163d5f56815227280ae2a67bf5820ffffffffffffffffffffffffffffffffffffff8b1c82d67baa165f845dd94ffe00581f0296b1232df14614e5c12968ea51a5d83ac39ac0e2000def3a7dfd1b98d383511d2d29a9f6f630d5c4d7617d82a289d7e6034f5034a4be179c1d3f7b9f98500cf9316a0de5f5ec59d19b4c0e9d557765d12f0219fbed03d17247cbffb2e72b6ef1e01f119488bc191944760d87c617ae98353c7d571860033e161c0021377a1d9f4ac4a0fa7469bc7de73b64274baa81398960eed21b0ad1035d0e44e06d4a60884385668bf1dc55b622ac8b424e1e1b1afb71bf936130997903f21ba55d0654baa912c07dea53a9dae4d09d3f53c7d25ac35a9f321b2b95f432036d9b4d4802c6262c2e570aa67e22ae432ec6c826a2806ac1277169693f7dc0c40336dcd5f921f2a83e85c7a06691a7a799499c2224228618a5ef3099d639e3c5590386da7df4de1783b900e4d114d95414a3d595e32807667d3a844755186f51c93d0330b65c041bc80298dc16a5216e9d76905f36c2fcb4d4996580f7fe9f46108ada03a67cce624b7ae642159fde902398c1d4c3a576aa648c73971094716c69dd4be903a7254876156edbef4b4351c8361290ae780dacddc45c7711bb7c89fb1b8b5efe0219ffff03a60ce2225e5f0e75236b601bbd2c34395995bdd21dc68b0e0f214993c15a89550369c5848e83a3898683b58d762728c8c8d87a97bf31dee2e0f82a67a6b89d253b03d3f34527748e6414c3cdd60fc847ce527111c42758217f6c31f8f45d418705a4038b0afb4ee080c806552921260baefb9aa8ef60561921dbdad3080019f86d794303aa73a45c4ac6b232694ba2557abeae67e6e77005b1ab64387aff6423ce28e2b403a0001698118747dbfc44f23f06051a2ea8701357cab35b721c5c80c320fd06d503991fbf480f794b55aa1b7a1bb1875128c1c997b59432c390d3795ceaa94e278e0382f91bc2e481c2dd26e2485f25ffe0e38e10a4f6e7b6a2fa5c6ead0c323ea50e033895bef6c1728cfffbaab81655bdb5ba5b62ac7d15088b8798d4fda575ca51b0036fd747a63d30112f8cb43584dea1f0982d451b7adf10a0ce781878ec10a3bb2003a5f3f95bfb93c0d1a770e500b3106b7d46166b02bd35b3bab37458c8fd7c8556036db491076679230699ca7dfd262ddb53de190deb810dbe28b17dedd51c65ab6f03f4f5c4a0bd45fbdcd7a2d625cd5a877797f9f6f58aab62701f9b082a1bd38fa3030e718c3e8f1500bcd2466f671a34182951f4bc6cc1c7308111142cc80ba395900302b287fd01dd23fe782ee96960a2732ffae86c651b1fd0578ddaa7495c1132fa0219ffff03244c2278a9ea98e9806001e5f151819fa641e8f08df8d0930a1eca43d5b5abd7030775e74ed1cf91bc58c724350db68c178edf8fe2e53161cd041964562ca48436030a9305edd3f2dc8af933c4e2c74ff34f808a49e216643325eba6b57f2819f29d033ef4980d95ee959f94f379ae9ff28ba0a5b4096b084f20ee7318c0ad1354d5440336f4a8e4bc22d8fccd5809db985f9878fc920c2c86bba19a0500dad0c619fc6403d046665ea29a0c4361e8f24fda25fb63df00e3bb890201c862846b8741636abb0306e400b631b443233843886efb562739c7757e78dcd715839b504b699ef97457037f166ce33ec0719f140de19b2bc27321d9449494db369a804e3dd40a09284b31039b12b047947e4e2d8f6127d0e980a7538faccb7ce96177b83821d5f8724aff98038077d53e53a5e2620d4090b56ed9c078e0965b476ec2a7a1d606c8857da0bfbd030b4990374923c3b76550c8f7f87d7aefb6bea87ec69ce5b00ee10912ef829fcb038af064e4cd2dc80d692a1629bdbedc30697df6941aa058c8a69692cfcd53452403d7604790e9a20c5c8ca829429ac1ad68b7c8038d7ee9f326a3f16546680e7f76038c5e065af7a725f1a435331cc50a511e8b4b90530465b4bdeec9b0c4651c98b90393cd7ae831ac7fd1b2f24aa7391ae85d2feb6854e7bd82aa1df31228f7e31f600308a338988f51051865cd5918ea4721ef768ea97586c31bfb63a9e5692161e0fa00581f021cbd3f4ff6b2e1ffdc9724674a9dbd7424f3307c61703c94c0f4aa8277f94e0595e10268dc42533fdfb1e31a3500581f02304180e4199135efbe7733fed16c32a46c6fc22b64bd08e6915d78f7997d4e0177bd23edfc737f455439d9adc00342a7d642d810faf29a87b8571f29e5fbe02afd2eaaa977267ed90d6b57947e4c03e94470e6364aa93956f48eaf977686657b0d3c541367c1fb8c4ddc3fcbfbc1bb00581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b048711701ec67762ebe00581f03e2898c2da6141ef1728d6a6d3c435e4437a98398c1be7a27025ec8c0ce004d0ef3077d434c0b6377b8c4cf480219148000581f023ae9a21ea4d07d15120a8a6f81b993753a000cef837befbb7c68a148311b5820fffffffffffffffffffffffffffff7ec2a7e9cc6fe18fa4f653882291d4108f50396576604990d6331227986c73ee2b9e2897cc478fffc06a6ff26357cf9c84bdb03de7d0f3505fd7f78967b4cdab85ff93e50cc03020d16de4b463cb361a31f826b00581f023c0c993e7c49514d47779dd63c54669ea03f430c64f9b05e50d712bab3c45820ffffffffffffffffffffffffffffffffffffffa06f4a6417f9d31db0bb8f022f00581f02b043595506c12c0e78b27989e21617b71e63b7e3a55d2f5e472c10973ba05820fffffffffffffffffffffffffffffe24bbc04bfe0c60f8493c54a5dc197e17e50399bf7948bcbfada507c1baf5ec90a15c2d2d4dd58465b2d6f0c32b87e616a905035fbad3d94611fb9aa471cc1231276dc2ecbb572be679fee8c1066e91e8a84d6300581f0234b85b242cefc5dac60a1dd953b1881f44db9e4e8ab3150f0799b32b44b25101013be52bbd8522223bd05058d2c72e0900581f020774babe33ae54966706c76740c86f170435a4f1ec938b624dacd13d408a519649e7be9f42bb8878c04107149b0bfdfa0219f7ed03786fac74e4d6723be9ab2d323bff856409f9d2a999310fe1205dfdca66e492d103a513dee84e9fb22c126b74255a2ed981c5cb8b884bef707c0ae05e85c1c21ae503982fe9565483650de8f25e27a38f3e38ff99e4aee463925fde9fe5b94471fc2f039ddd2851a2aea90207ce339258021d954a6be615b388404a2e9f65deff7b7d6403f68d303b2fce068fad597904008c9fc70f0b3da9cfabffe0514355bd5e39c12d0368c44e2ea0a92c46c55708ce3d7c5a1b8670063fe5ad9936814ad9146e61950403daebb84a9244c34a7aae4b0dcb13f0c4f8fc6b3d3aff348083ce3e19f16b6983031585757b8290d68b4a3e4b96926c207bc68b6c9dd35e9509fa8c286827b66cf60341d86af9cb9e55d85aeda4708ea5c72c7f1fcf70ccda606d88dfcfdd8a1ea9b8034fc89f555826f3f706cfc024d1068a7192f270be3b78518f79d17aa9061c816c03afa118e9175f2ea6c0c364a6f3a3104fce6ea304215af310d60a9b42aa25ff3f03a0c5ebf6c1d2aae7be3bb1f6bcb008c6d7f64592a2c6f3c64c42f53aed3484b30219ffff03ea2e1f2898a79f30fbc1bf8d1abfd4b8ef47bf25a6dcd97e71ef7985e2ade7a4033b60ddf3125d134bea2f5ff3eaa40873aa8e61d90ec1c1dbeedef94d3726355d03e5817a6a28f663548fbbd154ae2c38eae619552a2b972bd5e1ddc282bd1ad62d037070874212298a1d0967990d8798b112a23d51ed69a9f3f6a3a0ee3b359f9a8503f9cd54f4c11fd817271e80060109d71410eb15bc75f5020c87a57310efab729b03e80bf5d52315608b107d0123c44c005df917ed88c90950c44dd5fab505395fe703b809f65a75f4950b06c787b0eeae070674a397e052fd462e74dc8a5e8c42c51503f1c38a32b3cece8af2f9cb1cf01727950ad3e911a6c8acf1b854d5e62918c07c03167392c402d84c2b249e8c52474cd3bb581d67baad6763ff9e6b4df3b8c3117503607abcf39cb8cd947ec2fb48f97253ec7ecaeee3f1c8f7a5a45e675ddad38ae803d6ec675bf99209a102ca5522e16d237ad2bf52e050a9093cb8af37cea8c2e6c003d7ae3dcb194974fdab42cd858821a34bd9eec472c5f1872629fd7d26819004e303311d638ad2fe153ff29058778214747e71af5a82fac5ccb7628ee1e5246b44e900581f0207a4ec6c5c28665131640ffa84926e0ace27570afab248f8c15cbf229e2d5820fffffffffffffffffffffffffffffe1e75d0947fb4ae306f5147ea67b38d8ced0394ee3e003a9c41ce77dedae2bd6fc0c2083858ffa708e35254452ff5f28d6e48036b7b63f9817f31dbee9a852759a41fdc69a9cfa779f98b192e29f869910d8e97038bfa43912476b04701a4e6603d5dd3be092f21ef342b2183eec4c957ad3ee9c100581f0214a316424a65ee1cc2cac6333a589c5b71cf1291b2c85025eb39a2c97b435820ffffffffffffffffffffffffffffffd54c4f7c8432c054b6516447d540bdfbc900581f02e4f5b8634c00c4b684f425f427f4e3105a7a435b85d690dd96c0715f6bb54d67534969d3bfb3150614cf9cde00581f0283ca3d3ef68e03615301483f3a5e619a56c87af63e1023d6216767bc27115820fffffffffffffffffffffffffffffffffffff359389c60a0d9b8dea3c0283d1600581f0258dfd7ff564a85b62fa11d867992f07ecdc8dccabed021e37861f06a43515820fffffffffffffffffffffffffffffdcd1958864d507ba10aaef5d30cdb0ce413031183a65dbc16b4382ab825641a88b929b180c6edc48ef44a55c012df51456a4700581f023be2e1951dbadd3468fb5d5c8407f62ab18103c8e7ec6a116524bd3f9a6c5820fffffffffffffffffffffffffffffce5aa83186accce08eb5985d3ae04b419ee03aaff3b175d1f92adc3ccb5287e4e32b458247c6e27829140fecc2aca04bc17f3032a56fd8149de2f94fdcfc5b65030def24546087711b0a6ebf4766956a94ef81c0320ccdf63b359569ebcfd0a59782c1881c69ecd306b23dc5668d65ebbb393f8c403edac7c8bd2777987e9be58b52bdce1551549aa51fe7f250f42f1a172f9899fa000581f0337fbe85ffccd90a955153fa2054d1f2d72999fc3a961f8ca21187f4fb9905204a8adf2ef2b2c164194aed35d087542fcf900581f034507d586979bec0bfe77864feb7a81fe1b84f1a7a44c9f02d95f6c28bf105820fffffffffffffffffffffffffffffdf042caf79f0ac44ac5ee44be8aafa0629100581e02748c526dc96145113197d472bfddfc33edc8a4959e57156030b2d1a3095820be7feebdbf671f7feffbdf6ba7feffbedff5e7af5fbf8cd7a9ffffdf7fafffbd00581e02cb6b5095bfed1797135c69be933c8c53931683aadb1ba383cf68ab5daf5820ffffffffffffffffffffffffffffffdfcca261af7b4896be032dfcfaf36c232002191010021906010219fffd03f407bb6136d2f62e49990649a8471f608a5f817fa31fcd504d328289dd803a8e0306b34dc96bfcc0386b720bcf869eba852f8ab3896b43f972e14604a3a2f7b556035a6a6a39451e3364ca78b46d0861e5e2d523ce3cf33ebeae64230cc4530bdcc2038cdea0e04338c6941957967f90d8afb63d1828b7e60b494312812c09cc097551030b7ff3754ce97c18083c6f8d260715c9ed98f8713e485211be5de882e286db750219ffff030533a0d3e4df94bfcaed96b66cad01960805d051cf28133eae9326fb2977625e0219ffff03da4dcfb6e96876a74c486095a298238552c82854b4b6d0bf6826e384cefb957603f7255cc1c4ce86d60ab6e6931c6970c7432ab7c79dc8641bc793961b435ba0da030be0414e092b28971ea55deada6120475bafbad5f29cad09f25267105da31f6c0339c7b76f6973a9fcabbe74d51ad4daa7183ca137c51f6fb31b2cf8a52ff7093c00581f02793934b943f755112caa96686980b1b7337280b94ea845017e7f87c22df651035a7fda787c083959f00d8d7e409ebdca03d8d15ae27ae5b0d60d6f6fe881be28b64add0c95f2212438618bd5af9397dee500581f0269434dbf0ea894eb6acec7c1074c347fe29250ec4c79a70c425721c43b594e25556937a72285bdddac770b9b0100581f02c8f6eb03b481be333f71428d9cf4004530417ce14258b4c6e8dbe640d8bf4e0d9f7a5752c42facfed022170a8c00581f02e6e7d4503cbffa8f3d16d0a3eb7caecdd9df9b4b4fe5c5dda6d031db25a6515e88a1aec6bfe66d2a5dfdacb7f24373630334e1c4edc73b57e1a7ef266cf273ba1577f9350a3c458f8583c52cc79bc52ee700581f0274db522868fe88399bc0ed269c760feb5b366b4ac78327d04a1f9d73debe4e2aaa7c407ec6105b8a0a67cbee230324581c9e98379ff626b4af4d704566686b53892d56f723bae06dbce11b9dd23500581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604e8e4bb3d6679bebb3ab97db32417200581f03764f3cfcfb28d82879fc2defdf54ba5690a340a31265f2f71981be4128f051255f75f62e721bd80569b9fe11c347a3f50219040400581f025139c16086ef4d952c094dd5dd000a98da680e0ed19bf0ede11d7b9aa49b5204d235bff6faa9a0d8ac3250876ad6c770420219dabb031dcbae02c6dfba872583b86368c87fa128b4109e2a197d889d6a30359c3ef783033878b08b3c77a06be5e6d90b938c4a07e3c2ec60f17c4434756cbb6edebaf3de031777304c98add285a223a546f977a796d1ac5fe15c5a5ae1d5c688c3546be5510375c2e3b31ba99c9fb932fbfcbc4a03a375f8ad61ec67e7fd56d49493691f6a1f03d3a8b7309ee695bf202671dc23bd81a1c2790c50577113b0ef74d6a0f5870e4803f12d7916b256738a6d160bc371cafbb38f18f28f036b2280e1007ca20f890148035f4755e2408b9fc216358271820c3cb43744c03243aa34b4151f229a6bd633c1034bf30e96bf389eac5b8f5ff136ec5d63fb8ea00e63b272de492b90e5803a328803ce19b478bfa4330d964d45476675269a70ea43cf800055801c445a6192602be6030f78d6d32a4c5b43b165ea8f5ae5830a9a892d129f8dca861f4a85f670fde61c035c6a51741eb0eeddf765af8c454469500c641727b91ce5672c5e0d4ace4265b30357d486179db04db6c087951bb86591b5186243146db894c63cad891cdd10263103d84f76124bde619e8bd743263620204f21470bb6001ba8e4d4e4f2f821b67ad2036e4e381a6e73204a879b9182779c180389e0e40ca3e8d0f7d94b746990b37266034b3d40183aafd90d8bfb8bc09799de7751434407ea04b5ed56ea7baf1f97fba50219ffff03b6477b46ff9bdfa52d1c274580fdaa108d7f11ec4adb01edc474935836a9d5380300e9593809deed802535acbe68e62543424acb7e4de35e44aac8212cee8d6b72032e151a80d87cae06df30ea0d30ba9806addefa391c0fffd34e1ccf9bfce0e4250342a986fdf05c443f95495930dca1f0c50dd254c68f037749a7dd18fac8277ffc0387c6e500758462bbf05d4716793847ef85ac353f828f49e9bcfec9886178a162036ec9f3f5845634db1f692430c5e267a2f30e44f00b14de88d9fbe02910aef71e039b29fcfdf8f48f6c5133cdcb65952424b06529fc732b5b56fd9e7651c4dea92003ff6262ee97ef9b028791089d658681b7c6425c6449d1ea57213eead97b8d2d7f0306ce987120733fb701b493f5e736f9e5e16f86d744ad7ebe3767c794b4bdcdda033e00ce315ec995a947aea064a7cfe000968df74be7969d2fb75f1b9b805ff7e003b98869c20855f0eb7ea715d70984e6ef06ac09b87f972c0bba604a636377053a0333e2748357a32e43c8715dbe039b78f7be2898aa670ff20974bee39bc7e32a6f030af5c85720d307d6b961e8cd9c21035b952565115e1e837b5e88444ac0453448034e5faf0ca943c5d6cd20aa2f765339276b4e1c0d6cce12b8fd445e6c2b7f4b910219ffff03ac73d9d5324e3be169a62d27332f4851dec981b5d478a3b8c073f251d26a4ff703d89724d24cc97788647001d061bdb741f1c2b8199472923297ad462cafa40b4603ff6480c818568d5546fd8789a1703b62d5663198b90d39ee370ae5b379d897e2032d12e682587d99be886bb3bb3f18804ae8c6eb80aa48bec6f71eaeb25eb8f6520219ffff05581e033e8ac06c4bfdb2157482e7a0a264c20bfd39bd733cb3bf258faf72c4b0070119567e05581e035cc3326b15d4214027feba1d57c66e93819dfb9230fb9164794fa0d730040703b118731ad716c6e8af4d155f5c808fb6dc606d84914e7538713b1fc0f91df89805581e03f8426f382a41d09c9d0763379a4a28c2fdbbf448ec3b2323e29e14c5400404033d060472145459f111fdcd47ad128a07a8a4be7d018e0c07f2ef0e1a4c2e89620365f2b060d60d8738e0ee34086ad609cdcb0b23e62c3a0c3d79a9b1ea4b1f4403031f667e6a796099f0d6530a3cdc55500b1f711c4910315aadd09fe9bf32d3d69e05581e031b791e75585ef506d27454c49c394e3f3315e93e149a124a53714d486007011bffffffffffffffff05581e039313397e5cec9598415ccd0f40eab2419de3d1f535ddb7b6610157d0c00c034701cd36bf697c0005581e033ab6fcfe51a9a320ba7905f5943c4c6588b5357d4b7f421ae4cd1e04d00c014501e7561a3802199e0f03964704a77d5cb79c17e67dddabeb1f5650211c6a52002d3248abe0b73c5d89940306f1c94536a974578ea76a27be59a23096e8214ea6448414ac2ece42ea55b12d03a00f6c683040fb9265e447aeb527f9895e8c19a90c2bb7adc5f9b79eb6ef49b10331b400b291891b46aac642b8eb6e19eb945dbd1bb97972c4b14154f78eb67a410365f20207c74a0bce0639d2e7fd13d7927bbb363498bba3cfcda603328627d8f703f23468e936cd596fe67c77ed959e5ce51d4accd939701c0f11cf72e9d49f80830319b0b13ce1942e30f8dd93611b7ad8747815834a092f794bc195514435c9c28103ec205affeef476cffb983a9f99f000fdb042ea6912abffdfb87c4ccc46a95ec103d34a847509e2932e76d90760e9dfc07defe5a093c42c584d322ff311742a41d1031e0dd35265090eadbe34edf5b581c88327cbeb22970f7fb505e9f6fff7a3173a030aa4908aaf795d8a4e75d59dd391657625191cafd87347f2e8addcb53c070f5503121e0517b36d4de39c2b540147815c86fd8cb506ca545e0fa5d3c638ac2bcc2203bb5899c0b5af9775cc10ab2ccf4183bfebbe120d85e20563eb4cb1b2b1c5649c0219ffff0390772253ea8b03ac84f24946664360615609500a8e97674f0c4571f20fa1577e03b2179bac83c6f4558c5be896f9d46c002ff8bf7fc009cd690bf7c7ee2aca680a03861963234472dba09ab19c06526ca8fc9e22fe58b9845e700a03b0466d11695703650d25df6cb1f7d83e154ed9fda1dfa75f0f85c78ebfc3dd3fcc49a4b8259d4e03a8f916d1295cbcfe53b3c1aec85ca38a4368ea248d61f83c55bbfbf55aa467ae03499303810511ec533c5ac3d5c3d38e5ef5ac052f3e8cdc3c06e9da8c29d396cb0389b8320a6b010a5c895a93b86335fb7211947851583cc88650c03ce719384a260219ffff034b2c2eec968f31e9b2ac2051529a32565af5f4c31d94e81a414d09e8a3e8528b03a5f38531b7f78ca3f2c91eaa29b94572d3cba85f94b181b638d9622dab3a50a603442fb2bdfd740bd68532014e2d8b1ca57b7306c61e4518b0d9d92386c97ae64103f6ae293d5ce63838aa2c78f13155b8423c09525e5996acc9c1713320b50121b2030e110519bb5520c102cc404ab030e1406121a157119bb390f9a933a6e4c8621703f523b2a32436fea1200010944420c4c000455a1e5d3b9c0368e5afc87f5386660386eca3ccbaa195817d713b6bd6759c627d6679092136dcb5014e62d8059e646103d8b0a14312c323ebd0da11ee9225b5a905253424efb0ede06ad521a30564e41503a3fd8be81f04f7c23dae90f3839243c353443516045716a06280ff1f813317540369d056533f1018f81d760b1cb9caf3341b8c0ab2251b46c2f886e801c445e9680219ffff032a334f34b494cd34362438400d645cf971f3a08b54af209986533cac78a4df830358807bfc9a106220be751f2cd77ba3afa7e5ee746ca4d5b1e269ef2e21093b68031c3166a148bd7e2530267af9d6526c434c736a1fd87cbfd2040f810423b4eea303ad85838da43c41bbd65bbd5c39e899786f5132109332e5e129b68f5115de7455034eaf18a78a0823a6a45a467698022021debb43e8064fe7e07e526316e628b8600327ad9650c6c142bd28600dcc798ff15e588f30ba917b83e5ef68a3a7ff290fff0399345235273a8d4b0d3b7545b9a0c084e669f82acc8e43898f005132e6a5c6530394cea740e67dccd64d2c72f98f908c7057b7fd7204a94417e6ee0c6e639cfbe203393af73c04cf8e38d1fb852c134e1dc8535c0e95f724d1505f747fab6b019f640333a16f753a7f85332cd2a6425aff747639f6bddc1b68b109f6a6ad4f5594c62f03ddd36118162f6c423e5708cd818de603f07643bb2d36e703ad77804b50364fc5035830063b374cc883877ec55aaa51d534b1b3f5972183132ac2d45eb588022d4603dd295d723f568490c775853c4c3cbcb6f715af215bdec478d974d6d84de666f303d866e2df9bef166ca78625d04487ec15a7f76968847c1f904b5db23318f2e7bd038fe58f49948ec0de87bd981894428efb6faf8bd9474d2150e09439565e4ed8a4038aae6aaf709413eb513d8f37abcb1afc82eeea25406a62faccabe020c19b969b0346c838cf489fdf8e005bb46983855f3f33fe72f2129b9550e634367a66e3ac0f05581e03d963403ebb3d4e4730fcb6e32a82b2d9386f9f1a04639357c6be6b6950040b05581e03f4ae9939d0050cda5988f40bfcb483d6cae2786d55912cc3add94497900401037301b6a00299e7055c0d570e3ea227a17ef4c4734a8c289c8ce2aa86935eadd605581e035451a3a5e30ff4084e680e29ec799a57c08574e6288703fac4d9d7f640040305581d02228e99af7deb135cfd3480a3a15cfbde88d1f48e3072341d4acf8f8d084702ca9ea90f4cfc035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503254b91246e34055543ed77ee2988a86b8fa644b2bfc6c05123e97b2cd9104c7105581d028954889da0a5d33a3efadcc2181bfbc54114faadbcbd81094ec94cd807011bffffffffffffffff036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581d02be15dc3cad78a5ed1f692818b05885ce289d48fd0e9c072e02125b9507011bffffffffffffffff0219c80005581e03159ad7dd1634daad51406e9cdcc63eb0be10a1051a8c02ea97000cae0004050340c47e8936e596fb2bebc5885612342013747e07240eff1783ca1c9fe978091e03497bef416db4dccbc046e9c879bc4f3633cdcb613c8acee233be449de921aaed03845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581e034932ab1cadda00b2e85d367a9619e13edf004c92f9502dc485de0b9ec007011bffffffffffffffff02196f2c036b96836a20a93ddd63fe630d705ce36803619f8470cb08aa138baaf827732ae10395f71d006356b5efccc0ac4608c4485aa71cd2a2e1cfaa34da1fd4ab566d8a84034404120f52440b9e1971202d81fd5ad2911009c058f1f56880f09516d70eeea503e67750a3d8d39c63001019d125bed93caefd17c293796f31896a32688e2ddd9c03eceab771971b681277890a54ca68b9aeb3cd555e12f9327de78fe33c0c0d2b4b03c757765c4d87d3114cfa347b203939872d86cf31d8d8b5d970f9e4608d99014c036673f5c301f089f7c2ff387bcb1096fc5f42223f56246db7d3a3a3e8cc2f435e036a69f2a8e6b7b99781801a532d1bca55de38a782f6d842fd274cb6d98a90e06003d6b9c1aba71dadd8debbf138d7172919991ac1a95953263fde1d9544c204f7a603fa2bd7b423155af12a860aed2a6460d773f5e90a6040c5c723e819fe92a733f103742f4d652b7be27f09ca9cacf3a0cdf2c35ab534961e914358372fd5d043baee0219ffff031dfbe986437efa3d45407409434a47ec46888ca5ec414d71c187aa53e199c30d030205b6f2240412a52fa3a56dcc47acef298460f91b7a7b6b48a9df6849f6dbc6031c7dcd75577fdead7c65320b4027ebdac460c4203535c072f094cb5854ab2c1103d8e40737f20df62824b74eb3345d0698690fbba83acf319be37cf8ba20d0ab5b031aa4a2d2a5a9da8761b0183d796e9fdb767da04927a5f0d075f3a4051a3c173a031a7e1919d97f7284e8e9c92c68889e48c265bd0465a5bcc336155822f3b338c903997b6f473d39a4867643574193317fe599bf2068d541fffa504b73aed6da72f203f42c7f38b748000055e3911c304de1cdf1595b20f3bd1b10626aa8e75348696103ed8e68a78652f2630247dc4ee6f1c2594ab29e1e12a04b01f2ffa936aa6e56b3035ae8d0c6b201f5364629a9b80d8e94aea1b33c527c0d68b436e7b10ce2d79b210219ffff03bcc73cb1a8317658756e20ab50bac3913c7c46326c64380ea3e68c7b0061584a030e3ffd3b3fe97be7d3640ce647cb7dbc6e9424bef95274f96e532f370e1f635f03ef86e3213ab1c24d32a97ac859ecb903739a79e05fc913fdad8c9601434290eb03c38c24181dbb4c0280b73e149d8d2c7c015ec0f92d510f32e104f5f5d436e2bd035621a0d20e01151fd49223245cd0450e57a7f31e5b9443b6cf63f89dd76e9a8f032347a5f5281beb460e8156acffdcaf3dc0408177ded8e09fd3e2da8b48d91d7a034a4ae7b71a38c84133ca627808ca4030969051d5b95a7399c41bc6f2f09455ee032cb9f275314a271aeda0af69735b89fbd9b443c79b05f4baae918d1f123b914b03b9fa2153bc248361d9c1daa16ccf6578957316a44d32f3cf8daf84338e180f0e0358a7775f75b796e2f771c889dc080a36c51b2972286e587d3c3c43ff07905293031918ca8c110d7d34566f878953cc105f1781d5ece1e0bfe681f62323e90a0a2b0219ffff0337b4425d47764df8e28b4e8370189f9205be47a74ac43b03443cce749b2f6c81036209b542b8907db38b9bf03f2de322abfc09828cc4fcda62b2f19ebd5fd0d82603cdec5ae9ede0ad8f15ec8f49d621b2832d34dba1238a20d09013cdafecb258c6033a647f1e57864fd5d7c37c5c4d900ffec8a346011570f682eae808793aa80f2c030149c0e527a5c433ce28e84108b8c392ef596003ebc699be022dd3abcc168cd9030c101d65dedaabf07e38ba46b22de46c2e6c68470d91bca40ad6ea660f41b38f03adca3e98346046b5e4d32e9a68a02879f227c6edb5b54ae33f4cda36c40409520219ffff03eaa833c5548fd716f6557507b4666a0a417e0cec0b46d81b4cb87a51e8cb8bef03c88dcea66be16ecad26e7715cd1223caadb57540dd2adb527728ad081b46a0400338d1c7f8fc5b28a6bfcda2de53dc3c9f672905b49447b3b32cf465b4aaa5a45303479e4d8b82b5bb767eeab2c77795e20c06125d5ffa5fc08302aec992c6bc6c5d030806ec0f724db42da0df8c6491705a5a5f7c3cc3c36ae8b2e3644e5180630c5b0392f121e596641aa16087cdd1ff0d649751de30096ac0a1e1669c569d2453b82303ffbcf97d77792b7cb799bd4e8e2a37cffae50e81ca6efb1e5be2e9db07db89b203b1e762fe1d1f54cc0d4da665474fc260ba8bf307084ab5797d5e02092303f91e03e109a275f4ea670613b1a7374b6984c24f752bc33428c77dbede871a877f9f4c0331ff349876770d1c62882035aab3d955cfc76b5f0fdab2bd9d7d1f7d9890c1d203301c6bc56a19f0f39e70b9d699ab93d6e4f7f49ffcfb2d61bb8f24ac1de611f303dfcbf85615d86cd337d1a19f2bc51e787ad96a93b1a9ca0c09e7120c9de3367d03c340cb9a13b7fbdf545effbbcc28a8481ceea25cf597e885ec85bceac29c73a903f2bc8d961d35593eadad5aec79c616eb96c3aeee0250187c48401bd73722148d03d1322244df25b755281a1af78c897a6ec65090e57b7d2afb2bcf92ef95f3aac303b69ae27d08c85872968a3c55d8f5bce96e3b90b2a1224b0c5ae081077dcf1852035580cc226a771b70ddc4186a051ed219f63bdb63d27f70aa74dd0e54b14eb91903f85cd313035a60695c0ba31ca0ddf8d2e9bb347f981f73a50299d219b07110eb03ca0079d496cccb2222712b3862889d1fc33ed651f924d4d7963e4f2bd04d9e33038e6ffdbf87cc345c458cd6b37d3da7c55a3bef4aa7cf9cf5e4b0847c82de69b403b37c0c550b191eb62b49678f335e71829e864c82b2704a4d4fbfa04359d6161903b32a111a3b261ecb0587f31f931193076d5fbd83d7549dc35fc906088eb45a3103534545c6aba15615a14ab7ec75c1a70c985aee3c663b8c99310e34c7385902dc0322f0d01b31f908bc49f9fb7184154408f4b4a6807c652811d24f0f13c8d27e17036e535b87ab9996a9f8ada4ce446afadeb3322ec8dc79d1364cf5db5d7d1ecf7c03402d808d8816fe6a820fbbf03d3cfa0f37f08fd033b70879f32690dc4a808d9005581e0321d73038ac5e9d356d77b974473bd923ef95b565a8b4411dcd447c0640040203a77777b95577fda28a6e77141d4c9a102077e0491ce4e5aa46afce6471bd9179039ed0fe0112070e9ccf63b98ca11474b0b9c58eeb3f2ab9216f77f5cf79d7049404595187608060405234801561001057600080fd5b506004361061028a5760003560e01c80638e0566de1161015c578063c1075329116100ce578063e76d516811610087578063e76d516814610b7e578063eb45716314610b86578063eb5dcd6c14610bb8578063f2fde38b14610be6578063fbffd2c114610c0c578063feaf968c14610c325761028a565b8063c1075329146109a6578063c9807539146109d2578063d09dc33914610ae0578063dc7f012414610ae8578063e4902f8214610af0578063e5fe457714610b2d5761028a565b80639e3ceeab116101205780639e3ceeab146108b5578063a118f249146108db578063b121e14714610901578063b5ab58dc14610927578063b633620c14610944578063bd824706146109615761028a565b80638e0566de1461073157806398e5b12a14610761578063996e8298146107855780639a6fc8f51461078d5780639c849b30146107f75761028a565b80636b14daf81161020057806381411834116101b9578063814118341461064457806381ff70481461069c5780638205bf6a146106d55780638823da6c146106dd5780638ac28d5a146107035780638da5cb5b146107295761028a565b80636b14daf81461053857806370da2f671461060057806370efdf2d146106085780637284e4161461062c57806379ba5097146106345780638038e4a11461063c5761028a565b8063313ce56711610252578063313ce567146103ae5780634fb17470146103cc57806350d25bcd146103fa57806354fd4d5014610402578063585aa7de1461040a578063668a0f02146105305761028a565b80630a7569831461028f5780630eafb25b14610299578063181f5a77146102d157806322adbc781461034e578063299372681461036d575b600080fd5b610297610c3a565b005b6102bf600480360360208110156102af57600080fd5b50356001600160a01b0316610cc8565b60408051918252519081900360200190f35b6102d9610df7565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103135781810151838201526020016102fb565b50505050905090810190601f1680156103405780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610356610e17565b6040805160179290920b8252519081900360200190f35b610375610e3b565b6040805163ffffffff96871681529486166020860152928516848401529084166060840152909216608082015290519081900360a00190f35b6103b6610e9c565b6040805160ff9092168252519081900360200190f35b610297600480360360408110156103e257600080fd5b506001600160a01b0381358116916020013516610ec0565b6102bf611148565b6102bf6111d5565b610297600480360360a081101561042057600080fd5b810190602081018135600160201b81111561043a57600080fd5b82018360208201111561044c57600080fd5b803590602001918460208302840111600160201b8311171561046d57600080fd5b919390929091602081019035600160201b81111561048a57600080fd5b82018360208201111561049c57600080fd5b803590602001918460208302840111600160201b831117156104bd57600080fd5b9193909260ff833516926001600160401b03602082013516929190606081019060400135600160201b8111156104f257600080fd5b82018360208201111561050457600080fd5b803590602001918460018302840111600160201b8311171561052557600080fd5b5090925090506111da565b6102bf611978565b6105ec6004803603604081101561054e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561057857600080fd5b82018360208201111561058a57600080fd5b803590602001918460018302840111600160201b831117156105ab57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611a00945050505050565b604080519115158252519081900360200190f35b610356611a28565b610610611a4c565b604080516001600160a01b039092168252519081900360200190f35b6102d9611a5b565b610297611ae3565b610297611b92565b61064c611c21565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610688578181015183820152602001610670565b505050509050019250505060405180910390f35b6106a4611c83565b6040805163ffffffff94851681529290931660208301526001600160801b0319168183015290519081900360600190f35b6102bf611ca3565b610297600480360360208110156106f357600080fd5b50356001600160a01b0316611d2b565b6102976004803603602081101561071957600080fd5b50356001600160a01b0316611df2565b610610611e69565b610739611e78565b604080516001600160a01b03909316835263ffffffff90911660208301528051918290030190f35b610769611eab565b604080516001600160501b039092168252519081900360200190f35b61061061207e565b6107b3600480360360208110156107a357600080fd5b50356001600160501b031661208d565b60405180866001600160501b03168152602001858152602001848152602001838152602001826001600160501b031681526020019550505050505060405180910390f35b6102976004803603604081101561080d57600080fd5b810190602081018135600160201b81111561082757600080fd5b82018360208201111561083957600080fd5b803590602001918460208302840111600160201b8311171561085a57600080fd5b919390929091602081019035600160201b81111561087757600080fd5b82018360208201111561088957600080fd5b803590602001918460208302840111600160201b831117156108aa57600080fd5b50909250905061212e565b610297600480360360208110156108cb57600080fd5b50356001600160a01b0316612331565b610297600480360360208110156108f157600080fd5b50356001600160a01b03166123f5565b6102976004803603602081101561091757600080fd5b50356001600160a01b031661244b565b6102bf6004803603602081101561093d57600080fd5b503561252c565b6102bf6004803603602081101561095a57600080fd5b50356125b5565b610297600480360360a081101561097757600080fd5b5063ffffffff81358116916020810135821691604082013581169160608101358216916080909101351661263e565b610297600480360360408110156109bc57600080fd5b506001600160a01b03813516906020013561276d565b610297600480360360808110156109e857600080fd5b810190602081018135600160201b811115610a0257600080fd5b820183602082011115610a1457600080fd5b803590602001918460018302840111600160201b83111715610a3557600080fd5b919390929091602081019035600160201b811115610a5257600080fd5b820183602082011115610a6457600080fd5b803590602001918460208302840111600160201b83111715610a8557600080fd5b919390929091602081019035600160201b811115610aa257600080fd5b820183602082011115610ab457600080fd5b803590602001918460208302840111600160201b83111715610ad557600080fd5b919350915035612a30565b6102bf61377e565b6105ec61380f565b610b1660048036036020811015610b0657600080fd5b50356001600160a01b0316613818565b6040805161ffff9092168252519081900360200190f35b610b356138c5565b604080516001600160801b0319909616865263ffffffff909416602086015260ff9092168484015260170b60608401526001600160401b03166080830152519081900360a00190f35b610610613975565b61029760048036036040811015610b9c57600080fd5b5080356001600160a01b0316906020013563ffffffff16613984565b61029760048036036040811015610bce57600080fd5b506001600160a01b0381358116916020013516613ab5565b61029760048036036020811015610bfc57600080fd5b50356001600160a01b0316613bf8565b61029760048036036020811015610c2257600080fd5b50356001600160a01b0316613c96565b6107b3613cec565b6000546001600160a01b03163314610c87576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b60315460ff1615610cc6576031805460ff191690556040517f3be8a977a014527b50ae38adda80b56911c267328965c98ddc385d248f53963890600090a15b565b6001600160a01b03811660009081526028602090815260408083208151808301909252805460ff808216845285948401916101009004166002811115610d0a57fe5b6002811115610d1557fe5b9052509050600081602001516002811115610d2c57fe5b1415610d3c576000915050610df2565b6040805160a08101825260025463ffffffff8082168352600160201b820481166020840152600160401b8204811693830193909352600160601b8104831660608301819052600160801b90910490921660808201528251909160009160019060059060ff16601f8110610dab57fe5b601091828204019190066002029054906101000a900461ffff160361ffff1602633b9aca0002905060016009846000015160ff16601f8110610de957fe5b01540301925050505b919050565b60606040518060600160405280602881526020016150e660289139905090565b7f000000000000000000000000000000000000000000000000000000000000000181565b6040805160a08101825260025463ffffffff808216808452600160201b8304821660208501819052600160401b84048316958501869052600160601b8404831660608601819052600160801b90940490921660809094018490529490939290565b7f000000000000000000000000000000000000000000000000000000000000000881565b6000546001600160a01b03163314610f0d576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b6003546001600160a01b03908116908316811415610f2b5750611144565b604080516370a0823160e01b815230600482015290516001600160a01b038516916370a08231916024808301926020929190829003018186803b158015610f7157600080fd5b505afa158015610f85573d6000803e3d6000fd5b505050506040513d6020811015610f9b57600080fd5b50610fa69050613d8b565b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ff557600080fd5b505afa158015611009573d6000803e3d6000fd5b505050506040513d602081101561101f57600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820184905291519293509084169163a9059cbb916044808201926020929091908290030181600087803b15801561107757600080fd5b505af115801561108b573d6000803e3d6000fd5b505050506040513d60208110156110a157600080fd5b50516110f4576040805162461bcd60e51b815260206004820152601f60248201527f7472616e736665722072656d61696e696e672066756e6473206661696c656400604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0386811691821790925560405190918416907f4966a50c93f855342ccf6c5c0d358b85b91335b2acedc7da0932f691f351711a90600090a350505b5050565b600061118b336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b6111c8576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6111d0614114565b905090565b600481565b868560ff8616601f831115611229576040805162461bcd60e51b815260206004820152601060248201526f746f6f206d616e79207369676e65727360801b604482015290519081900360640190fd5b6000811161127e576040805162461bcd60e51b815260206004820152601a60248201527f7468726573686f6c64206d75737420626520706f736974697665000000000000604482015290519081900360640190fd5b8183146112bc5760405162461bcd60e51b815260040180806020018281038252602481526020018061510e6024913960400191505060405180910390fd5b806003028311611313576040805162461bcd60e51b815260206004820181905260248201527f6661756c74792d6f7261636c65207468726573686f6c6420746f6f2068696768604482015290519081900360640190fd5b6000546001600160a01b03163314611360576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b6029541561145d57602980546000198101916000918390811061137f57fe5b6000918252602082200154602a80546001600160a01b03909216935090849081106113a657fe5b6000918252602090912001546001600160a01b031690506113c68161413d565b6001600160a01b03808316600090815260286020526040808220805461ffff199081169091559284168252902080549091169055602980548061140557fe5b600082815260209020810160001990810180546001600160a01b0319169055019055602a80548061143257fe5b600082815260209020810160001990810180546001600160a01b031916905501905550611360915050565b60005b8a8110156117b9576000602860008e8e8581811061147a57fe5b602090810292909201356001600160a01b031683525081019190915260400160002054610100900460ff1660028111156114b057fe5b14611502576040805162461bcd60e51b815260206004820152601760248201527f7265706561746564207369676e65722061646472657373000000000000000000604482015290519081900360640190fd5b6040805180820190915260ff8216815260016020820152602860008e8e8581811061152957fe5b602090810292909201356001600160a01b0316835250818101929092526040016000208251815460ff191660ff90911617808255918301519091829061ff00191661010083600281111561157957fe5b02179055506000915060079050818c8c8581811061159357fe5b6001600160a01b0360209182029390930135831684528301939093526040909101600020541691909114159050611605576040805162461bcd60e51b81526020600482015260116024820152701c185e5959481b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6000602860008c8c8581811061161757fe5b602090810292909201356001600160a01b031683525081019190915260400160002054610100900460ff16600281111561164d57fe5b1461169f576040805162461bcd60e51b815260206004820152601c60248201527f7265706561746564207472616e736d6974746572206164647265737300000000604482015290519081900360640190fd5b6040805180820190915260ff8216815260026020820152602860008c8c858181106116c657fe5b602090810292909201356001600160a01b0316835250818101929092526040016000208251815460ff191660ff90911617808255918301519091829061ff00191661010083600281111561171657fe5b021790555090505060298c8c8381811061172c57fe5b835460018101855560009485526020948590200180546001600160a01b0319166001600160a01b039590920293909301359390931692909217905550602a8a8a8381811061177657fe5b835460018181018655600095865260209586902090910180546001600160a01b0319166001600160a01b0396909302949094013594909416179091555001611460565b50602b805460ff8916600160a81b0260ff60a81b19909116179055602d80544363ffffffff908116600160201b90810267ffffffff0000000019841617808316600101831663ffffffff1990911617938490559091048116911661182530828f8f8f8f8f8f8f8f614325565b602b60000160006101000a8154816001600160801b03021916908360801c02179055506000602b60000160106101000a81548164ffffffffff021916908364ffffffffff1602179055507f25d719d88a4512dd76c7442b910a83360845505894eb444ef299409e180f8fb982828f8f8f8f8f8f8f8f604051808b63ffffffff1681526020018a6001600160401b0316815260200180602001806020018760ff168152602001866001600160401b031681526020018060200184810384528c8c82818152602001925060200280828437600083820152601f01601f191690910185810384528a8152602090810191508b908b0280828437600083820152601f01601f191690910185810383528681526020019050868680828437600083820152604051601f909101601f19169092018290039f50909d5050505050505050505050505050a150505050505050505050505050565b60006119bb336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b6119f8576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6111d0614427565b6000611a0c838361443a565b80611a1f57506001600160a01b03831632145b90505b92915050565b7f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffff81565b602f546001600160a01b031690565b6060611a9e336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b611adb576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6111d061446a565b6001546001600160a01b03163314611b3b576040805162461bcd60e51b815260206004820152601660248201527526bab9ba10313290383937b837b9b2b21037bbb732b960511b604482015290519081900360640190fd5b60008054336001600160a01b0319808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6000546001600160a01b03163314611bdf576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b60315460ff16610cc6576031805460ff191660011790556040517faebf329500988c6488a0074e5a0a9ff304561fc5c6fc877aeb1d59c8282c348090600090a1565b6060602a805480602002602001604051908101604052809291908181526020018280548015611c7957602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611c5b575b5050505050905090565b602d54602b5463ffffffff80831692600160201b9004169060801b909192565b6000611ce6336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b611d23576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b6111d06144f7565b6000546001600160a01b03163314611d78576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b6001600160a01b03811660009081526032602052604090205460ff1615611def576001600160a01b038116600081815260326020908152604091829020805460ff19169055815192835290517f3d68a6fce901d20453d1a7aa06bf3950302a735948037deb182a8db66df2a0d19281900390910190a15b50565b6001600160a01b03818116600090815260076020526040902054163314611e60576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c792070617965652063616e207769746864726177000000000000000000604482015290519081900360640190fd5b611def8161413d565b6000546001600160a01b031681565b60408051808201909152602e546001600160a01b038116808352600160a01b90910463ffffffff16602090920182905291565b600080546001600160a01b0316331480611f6e5750602f5460408051630d629b5f60e31b815233600482018181526024830193845236604484018190526001600160a01b0390951694636b14daf894929360009391929190606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b158015611f4157600080fd5b505afa158015611f55573d6000803e3d6000fd5b505050506040513d6020811015611f6b57600080fd5b50515b611fbf576040805162461bcd60e51b815260206004820152601d60248201527f4f6e6c79206f776e6572267265717565737465722063616e2063616c6c000000604482015290519081900360640190fd5b6040805160808082018352602b549081901b6001600160801b031916808352600160801b820464ffffffffff8116602080860191909152600160a81b840460ff90811686880152600160b01b90940463ffffffff9081166060808801919091528751948552600884901c909116918401919091529216818501529251919233927f3ea16a923ff4b1df6526e854c9e3a995c43385d70e73359e10623c74f0b52037929181900390910190a2806060015160010163ffffffff1691505090565b6004546001600160a01b031690565b60008060008060006120d6336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b612113576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b61211c86614529565b939a9299509097509550909350915050565b6000546001600160a01b0316331461217b576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b8281146121cf576040805162461bcd60e51b815260206004820181905260248201527f7472616e736d6974746572732e73697a6520213d207061796565732e73697a65604482015290519081900360640190fd5b60005b8381101561232a5760008585838181106121e857fe5b905060200201356001600160a01b03169050600084848481811061220857fe5b6001600160a01b0385811660009081526007602090815260409091205492029390930135831693509091169050801580806122545750826001600160a01b0316826001600160a01b0316145b612299576040805162461bcd60e51b81526020600482015260116024820152701c185e595948185b1c9958591e481cd95d607a1b604482015290519081900360640190fd5b6001600160a01b03848116600090815260076020526040902080546001600160a01b0319168583169081179091559083161461231a57826001600160a01b0316826001600160a01b0316856001600160a01b03167f78af32efdcad432315431e9b03d27e6cd98fb79c405fdc5af7c1714d9c0f75b360405160405180910390a45b5050600190920191506121d29050565b5050505050565b6000546001600160a01b0316331461237e576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b602f546001600160a01b03908116908216811461114457602f80546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f27b89aede8b560578baaa25ee5ce3852c5eecad1e114b941bbd89e1eb4bae6349281900390910190a15050565b6000546001600160a01b03163314612442576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b611def8161464d565b6001600160a01b038181166000908152600860205260409020541633146124b9576040805162461bcd60e51b815260206004820152601f60248201527f6f6e6c792070726f706f736564207061796565732063616e2061636365707400604482015290519081900360640190fd5b6001600160a01b0381811660008181526007602090815260408083208054336001600160a01b031980831682179093556008909452828520805490921690915590519416939092849290917f78af32efdcad432315431e9b03d27e6cd98fb79c405fdc5af7c1714d9c0f75b39190a45050565b600061256f336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b6125ac576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b611a22826146c8565b60006125f8336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b612635576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b611a22826146fe565b6004546000546001600160a01b0391821691163314806126ff575060408051630d629b5f60e31b815233600482018181526024830193845236604484018190526001600160a01b03861694636b14daf8946000939190606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b1580156126d257600080fd5b505afa1580156126e6573d6000803e3d6000fd5b505050506040513d60208110156126fc57600080fd5b50515b612750576040805162461bcd60e51b815260206004820181905260248201527f4f6e6c79206f776e65722662696c6c696e6741646d696e2063616e2063616c6c604482015290519081900360640190fd5b612758613d8b565b612765868686868661473d565b505050505050565b6000546001600160a01b031633148061282e57506004805460408051630d629b5f60e31b8152339381018481526024820192835236604483018190526001600160a01b0390941694636b14daf8949093600093919291606401848480828437600083820152604051601f909101601f1916909201965060209550909350505081840390508186803b15801561280157600080fd5b505afa158015612815573d6000803e3d6000fd5b505050506040513d602081101561282b57600080fd5b50515b61287f576040805162461bcd60e51b815260206004820181905260248201527f4f6e6c79206f776e65722662696c6c696e6741646d696e2063616e2063616c6c604482015290519081900360640190fd5b6000612889614826565b600354604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156128da57600080fd5b505afa1580156128ee573d6000803e3d6000fd5b505050506040513d602081101561290457600080fd5b5051905081811015612954576040805162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6003546001600160a01b031663a9059cbb85612972858503876149da565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156129b857600080fd5b505af11580156129cc573d6000803e3d6000fd5b505050506040513d60208110156129e257600080fd5b5051612a2a576040805162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b604482015290519081900360640190fd5b50505050565b60005a9050612a438888888888886149f1565b3614612a96576040805162461bcd60e51b815260206004820152601960248201527f7472616e736d6974206d65737361676520746f6f206c6f6e6700000000000000604482015290519081900360640190fd5b612a9e614f7b565b6040805160808082018352602b549081901b6001600160801b0319168252600160801b810464ffffffffff166020830152600160a81b810460ff1692820192909252600160b01b90910463ffffffff166060808301919091529082526000908a908a90811015612b0d57600080fd5b813591602081013591810190606081016040820135600160201b811115612b3357600080fd5b820183602082011115612b4557600080fd5b803590602001918460208302840111600160201b83111715612b6657600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050505060408801525050506080840182905283515190925060589190911b906001600160801b0319808316911614612c0d576040805162461bcd60e51b81526020600482015260156024820152740c6dedcccd2ce88d2cecae6e840dad2e6dac2e8c6d605b1b604482015290519081900360640190fd5b608083015183516020015164ffffffffff808316911610612c64576040805162461bcd60e51b815260206004820152600c60248201526b1cdd185b19481c995c1bdc9d60a21b604482015290519081900360640190fd5b83516040015160ff168911612cb8576040805162461bcd60e51b81526020600482015260156024820152746e6f7420656e6f756768207369676e61747572657360581b604482015290519081900360640190fd5b601f891115612d04576040805162461bcd60e51b8152602060048201526013602482015272746f6f206d616e79207369676e61747572657360681b604482015290519081900360640190fd5b868914612d58576040805162461bcd60e51b815260206004820152601e60248201527f7369676e617475726573206f7574206f6620726567697374726174696f6e0000604482015290519081900360640190fd5b601f8460400151511115612db3576040805162461bcd60e51b815260206004820152601e60248201527f6e756d206f62736572766174696f6e73206f7574206f6620626f756e64730000604482015290519081900360640190fd5b83600001516040015160020260ff1684604001515111612e1a576040805162461bcd60e51b815260206004820152601e60248201527f746f6f206665772076616c75657320746f207472757374206d656469616e0000604482015290519081900360640190fd5b886001600160401b0381118015612e3057600080fd5b506040519080825280601f01601f191660200182016040528015612e5b576020820181803683370190505b50606085015260005b60ff81168a1115612eb457868160ff1660208110612e7e57fe5b1a60f81b85606001518260ff1681518110612e9557fe5b60200101906001600160f81b031916908160001a905350600101612e64565b508360400151516001600160401b0381118015612ed057600080fd5b506040519080825280601f01601f191660200182016040528015612efb576020820181803683370190505b506020850152612f09614faf565b60005b8560400151518160ff161015612ff7576000858260ff1660208110612f2d57fe5b1a90508281601f8110612f3c57fe5b602002015115612f93576040805162461bcd60e51b815260206004820152601760248201527f6f6273657276657220696e646578207265706561746564000000000000000000604482015290519081900360640190fd5b6001838260ff16601f8110612fa457fe5b91151560209283029190910152869060ff8416908110612fc057fe5b1a60f81b87602001518360ff1681518110612fd757fe5b60200101906001600160f81b031916908160001a90535050600101612f0c565b503360009081526028602090815260408083208151808301909252805460ff8082168452929391929184019161010090910416600281111561303557fe5b600281111561304057fe5b905250905060028160200151600281111561305757fe5b14801561308b5750602a816000015160ff168154811061307357fe5b6000918252602090912001546001600160a01b031633145b6130dc576040805162461bcd60e51b815260206004820152601860248201527f756e617574686f72697a6564207472616e736d69747465720000000000000000604482015290519081900360640190fd5b5050835164ffffffffff90911660209091015250506040516000908a908a90808383808284376040519201829003909120945061311d9350614faf92505050565b613125614fce565b60005b898110156133155760006001858760600151848151811061314557fe5b60209101015160f81c601b018e8e8681811061315d57fe5b905060200201358d8d8781811061317057fe5b9050602002013560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156131cb573d6000803e3d6000fd5b505060408051601f198101516001600160a01b03811660009081526028602090815290849020838501909452835460ff8082168552929650929450840191610100900416600281111561321a57fe5b600281111561322557fe5b905250925060018360200151600281111561323c57fe5b1461328e576040805162461bcd60e51b815260206004820152601e60248201527f61646472657373206e6f7420617574686f72697a656420746f207369676e0000604482015290519081900360640190fd5b8251849060ff16601f811061329f57fe5b6020020151156132ed576040805162461bcd60e51b81526020600482015260146024820152736e6f6e2d756e69717565207369676e617475726560601b604482015290519081900360640190fd5b600184846000015160ff16601f811061330257fe5b9115156020909202015250600101613128565b5050505060005b6001826040015151038110156133c65760008260400151826001018151811061334157fe5b602002602001015160170b8360400151838151811061335c57fe5b602002602001015160170b13159050806133bd576040805162461bcd60e51b815260206004820152601760248201527f6f62736572766174696f6e73206e6f7420736f72746564000000000000000000604482015290519081900360640190fd5b5060010161331c565b506040810151805160009190600281049081106133df57fe5b602002602001015190508060170b7f000000000000000000000000000000000000000000000000000000000000000160170b1315801561344557507f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffff60170b8160170b13155b613496576040805162461bcd60e51b815260206004820152601e60248201527f6d656469616e206973206f7574206f66206d696e2d6d61782072616e67650000604482015290519081900360640190fd5b81516060908101805163ffffffff60019091018116909152604080518082018252601785810b8083526001600160401b0342811660208086019182528a5189015188166000908152602c8252878120965187549351909416600160c01b029390950b6001600160c01b039081166001600160c01b03199093169290921790911691909117909355875186015184890151848a01516080808c015188519586523386890181905291860181905260a0988601898152845199870199909952835194909916997ff6a97944f31ea060dfde0566e4167c1a1082551e64b60ecb14d599a9d023d451998c999298949793969095909492939185019260c086019289820192909102908190849084905b838110156135ba5781810151838201526020016135a2565b50505050905001838103825285818151815260200191508051906020019080838360005b838110156135f65781810151838201526020016135de565b50505050905090810190601f1680156136235780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a281516060015160408051428152905160009263ffffffff16917f0109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac60271919081900360200190a381600001516060015163ffffffff168160170b7f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f426040518082815260200191505060405180910390a36136d88260000151606001518260170b614a09565b5080518051602b8054602084015160408501516060909501516001600160801b031990921660809490941c9390931764ffffffffff60801b1916600160801b64ffffffffff909416939093029290921760ff60a81b1916600160a81b60ff909416939093029290921763ffffffff60b01b1916600160b01b63ffffffff9283160217909155821061376557fe5b613773828260200151614b0f565b505050505050505050565b600354604080516370a0823160e01b8152306004820152905160009283926001600160a01b03909116916370a0823191602480820192602092909190829003018186803b1580156137ce57600080fd5b505afa1580156137e2573d6000803e3d6000fd5b505050506040513d60208110156137f857600080fd5b505190506000613806614826565b90910391505090565b60315460ff1681565b6001600160a01b03811660009081526028602090815260408083208151808301909252805460ff80821684528594840191610100900416600281111561385a57fe5b600281111561386557fe5b905250905060008160200151600281111561387c57fe5b141561388c576000915050610df2565b60016005826000015160ff16601f81106138a257fe5b601091828204019190066002029054906101000a900461ffff1603915050919050565b600080808080333214613916576040805162461bcd60e51b81526020600482015260146024820152734f6e6c792063616c6c61626c6520627920454f4160601b604482015290519081900360640190fd5b5050602b5463ffffffff600160b01b820481166000908152602c6020526040902054608083901b96600160801b909304600881901c909216955064ffffffffff9091169350601781900b9250600160c01b90046001600160401b031690565b6003546001600160a01b031690565b6000546001600160a01b031633146139d1576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b60408051808201909152602e546001600160a01b03808216808452600160a01b90920463ffffffff1660208401528416141580613a1e57508163ffffffff16816020015163ffffffff1614155b15613ab0576040805180820182526001600160a01b0385811680835263ffffffff8681166020948501819052602e80546001600160a01b031916841763ffffffff60a01b1916600160a01b8302179055865187860151875193168352948201528451919493909216927fb04e3a37abe9c0fcdfebdeae019a8e2b12ddf53f5d55ffb0caccc1bedaca1541928290030190a35b505050565b6001600160a01b03828116600090815260076020526040902054163314613b23576040805162461bcd60e51b815260206004820152601d60248201527f6f6e6c792063757272656e742070617965652063616e20757064617465000000604482015290519081900360640190fd5b336001600160a01b0382161415613b81576040805162461bcd60e51b815260206004820152601760248201527f63616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015290519081900360640190fd5b6001600160a01b03808316600090815260086020526040902080548383166001600160a01b031982168117909255909116908114613ab0576040516001600160a01b038084169133918616907f84f7c7c80bb8ed2279b4aab5f61cd05e6374073d38f46d7f32de8c30e9e3836790600090a4505050565b6000546001600160a01b03163314613c45576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6000546001600160a01b03163314613ce3576040805162461bcd60e51b81526020600482015260166024820152600080516020615132833981519152604482015290519081900360640190fd5b611def81614d37565b6000806000806000613d35336000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a0092505050565b613d72576040805162461bcd60e51b81526020600482015260096024820152684e6f2061636365737360b81b604482015290519081900360640190fd5b613d7a614dae565b945094509450945094509091929394565b6040805160a08101825260025463ffffffff8082168352600160201b820481166020840152600160401b8204811683850152600160601b820481166060840152600160801b90910416608082015260035482516103e081019384905291926001600160a01b0390911691600091600590601f908285855b82829054906101000a900461ffff1661ffff1681526020019060020190602082600101049283019260010382029150808411613e02575050604080516103e0810191829052959650600095945060099350601f9250905082845b815481526020019060010190808311613e5c57505050505090506000602a805480602002602001604051908101604052809291908181526020018280548015613ece57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613eb0575b5050505050905060005b81518110156140f857600060018483601f8110613ef157fe5b6020020151039050600060018684601f8110613f0957fe5b60200201510361ffff169050600082896060015163ffffffff168302633b9aca000201905060008111156140ed57600060076000878781518110613f4957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03169050886001600160a01b031663a9059cbb82846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015613fde57600080fd5b505af1158015613ff2573d6000803e3d6000fd5b505050506040513d602081101561400857600080fd5b5051614050576040805162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b604482015290519081900360640190fd5b60018886601f811061405e57fe5b61ffff909216602092909202015260018786601f811061407a57fe5b602002018181525050886001600160a01b0316816001600160a01b03168787815181106140a357fe5b60200260200101516001600160a01b03167fd0b1dac935d85bd54cf0a33b0d41d39f8cf53a968465fc7ea2377526b8ac712c856040518082815260200191505060405180910390a4505b505050600101613ed8565b50614106600584601f614fe5565b50612765600983601f61507b565b602b54600160b01b900463ffffffff166000908152602c6020526040902054601790810b900b90565b6001600160a01b03811660009081526028602090815260408083208151808301909252805460ff8082168452929391929184019161010090910416600281111561418357fe5b600281111561418e57fe5b9052509050600061419e83610cc8565b90508015613ab0576001600160a01b03808416600090815260076020908152604080832054600354825163a9059cbb60e01b8152918616600483018190526024830188905292519295169363a9059cbb9360448084019491939192918390030190829087803b15801561421057600080fd5b505af1158015614224573d6000803e3d6000fd5b505050506040513d602081101561423a57600080fd5b5051614282576040805162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b604482015290519081900360640190fd5b60016005846000015160ff16601f811061429857fe5b601091828204019190066002026101000a81548161ffff021916908361ffff16021790555060016009846000015160ff16601f81106142d357fe5b01556003546040805184815290516001600160a01b039283169284811692908816917fd0b1dac935d85bd54cf0a33b0d41d39f8cf53a968465fc7ea2377526b8ac712c9181900360200190a450505050565b60008a8a8a8a8a8a8a8a8a8a604051602001808b6001600160a01b031681526020018a6001600160401b0316815260200180602001806020018760ff168152602001866001600160401b031681526020018060200184810384528c8c82818152602001925060200280828437600083820152601f01601f191690910185810384528a8152602090810191508b908b0280828437600083820152601f01601f191690910185810383528681526020019050868680828437600081840152601f19601f8201169050808301925050509d50505050505050505050505050506040516020818303038152906040528051906020012090509a9950505050505050505050565b602b54600160b01b900463ffffffff1690565b6001600160a01b03821660009081526032602052604081205460ff1680611a1f57505060315460ff161592915050565b60308054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015611c795780601f106144cb57610100808354040283529160200191611c79565b820191906000526020600020905b8154815290600101906020018083116144d957509395945050505050565b602b54600160b01b900463ffffffff166000908152602c6020526040902054600160c01b90046001600160401b031690565b600080600080600063ffffffff866001600160501b031611156040518060400160405280600f81526020016e139bc819185d18481c1c995cd95b9d608a1b815250906145f35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156145b85781810151838201526020016145a0565b50505050905090810190601f1680156145e55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505063ffffffff83166000908152602c6020908152604091829020825180840190935254601781810b810b810b808552600160c01b9092046001600160401b031693909201839052949594900b939092508291508490565b6001600160a01b03811660009081526032602052604090205460ff16611def576001600160a01b038116600081815260326020908152604091829020805460ff19166001179055815192835290517f87286ad1f399c8e82bf0c4ef4fcdc570ea2e1e92176e5c848b6413545b885db49281900390910190a150565b600063ffffffff8211156146de57506000610df2565b5063ffffffff166000908152602c6020526040902054601790810b900b90565b600063ffffffff82111561471457506000610df2565b5063ffffffff166000908152602c6020526040902054600160c01b90046001600160401b031690565b6040805160a0808201835263ffffffff88811680845288821660208086018290528984168688018190528985166060808901829052958a1660809889018190526002805463ffffffff1916871767ffffffff000000001916600160201b8702176bffffffff00000000000000001916600160401b85021763ffffffff60601b1916600160601b84021763ffffffff60801b1916600160801b830217905589519586529285019390935283880152928201529283015291517fd0d9486a2c673e2a4b57fc82e4c8a556b3e2b82dd5db07e2c04a920ca0f469b6929181900390910190a15050505050565b604080516103e0810191829052600091829190600590601f908285855b82829054906101000a900461ffff1661ffff16815260200190600201906020826001010492830192600103820291508084116148435790505050505050905060005b601f8110156148b35760018282601f811061489c57fe5b60200201510361ffff169290920191600101614885565b506040805160a08101825260025463ffffffff8082168352600160201b82048116602080850191909152600160401b8304821684860152600160601b8304821660608501819052600160801b9093049091166080840152602a805485518184028101840190965280865296909202633b9aca000295929360009390929183018282801561496957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161494b575b5050604080516103e0810191829052949550600094935060099250601f915082845b81548152602001906001019080831161498b575050505050905060005b82518110156149d25760018282601f81106149bf57fe5b60200201510395909501946001016149a8565b505050505090565b6000818310156149eb575081611a22565b50919050565b602083810286019082020160e4019695505050505050565b60408051808201909152602e546001600160a01b038116808352600160a01b90910463ffffffff166020830152614a405750611144565b600019830163ffffffff8181166000818152602c60209081526040918290205486820151875184516024810196909652601792830b90920b604486018190528a8716606487015260848087018b90528551808803909101815260a4909601909452918401805163beed9b5160e01b6001600160e01b039091161790529193614acb9391169190614e09565b61232a576040805162461bcd60e51b815260206004820152601060248201526f696e73756666696369656e742067617360801b604482015290519081900360640190fd5b3360009081526028602090815260408083208151808301909252805460ff80821684529293919291840191610100909104166002811115614b4c57fe5b6002811115614b5757fe5b9052506040805160a08101825260025463ffffffff8082168352600160201b820481166020840152600160401b8204811683850152600160601b820481166060840152600160801b90910416608082015281516103e081019283905292935091614c0b91859190600590601f90826000855b82829054906101000a900461ffff1661ffff1681526020019060020190602082600101049283019260010382029150808411614bc95790505050505050614e45565b614c1990600590601f614fe5565b50600282602001516002811115614c2c57fe5b14614c7e576040805162461bcd60e51b815260206004820181905260248201527f73656e7420627920756e64657369676e61746564207472616e736d6974746572604482015290519081900360640190fd5b6000614ca5633b9aca003a04836020015163ffffffff16846000015163ffffffff16614eba565b90506010360260005a90506000614cc48863ffffffff16858585614ee0565b6001600160801b031690506000620f4240866040015163ffffffff16830281614ce957fe5b049050856080015163ffffffff16633b9aca0002816009896000015160ff16601f8110614d1257fe5b015401016009886000015160ff16601f8110614d2a57fe5b0155505050505050505050565b6004546001600160a01b03908116908216811461114457600480546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f793cb73064f3c8cde7e187ae515511e6e56d1ee89bf08b82fa60fb70f8d489129281900390910190a15050565b602b54600160b01b900463ffffffff166000818152602c6020908152604091829020825180840190935254601781810b810b810b808552600160c01b9092046001600160401b031693909201839052929392900b9181908490565b60005a6113888110614e3d5761138881039050846040820482031115614e3d576000808451602086016000888af150600191505b509392505050565b614e4d614faf565b60005b8351811015614eb2576000848281518110614e6757fe5b016020015160f81c9050614e8c8482601f8110614e8057fe5b60200201516001614f63565b848260ff16601f8110614e9b57fe5b61ffff909216602092909202015250600101614e50565b509092915050565b60008383811015614ecd57600285850304015b614ed781846149da565b95945050505050565b600081851015614f37576040805162461bcd60e51b815260206004820181905260248201527f6761734c6566742063616e6e6f742065786365656420696e697469616c476173604482015290519081900360640190fd5b818503830161179301633b9aca00858202026001600160801b038110614f5957fe5b9695505050505050565b6000611a1f8261ffff168461ffff160161ffff6149da565b6040518060a00160405280614f8e6150a9565b81526060602082018190526040820181905280820152600060809091015290565b604051806103e00160405280601f906020820280368337509192915050565b604080518082019091526000808252602082015290565b60028301918390821561506b5791602002820160005b8382111561503b57835183826101000a81548161ffff021916908361ffff1602179055509260200192600201602081600101049283019260010302614ffb565b80156150695782816101000a81549061ffff021916905560020160208160010104928301926001030261503b565b505b506150779291506150d0565b5090565b82601f810192821561506b579160200282015b8281111561506b57825182559160200191906001019061508e565b60408051608081018252600080825260208201819052918101829052606081019190915290565b5b8082111561507757600081556001016150d156fe416363657373436f6e74726f6c6c65644f6666636861696e41676772656761746f7220342e302e306f7261636c6520616464726573736573206f7574206f6620726567697374726174696f6e4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000a26469706673582212202938f61342c36109a44868dd1c9a82c61c0c3b90ed86f8f0bd641bc4b1a217ee64736f6c6343000706003303e0c50bcc580402bae0c46d7dd7e36f5054859c61a9c7212ec8cbfe8724fd893a039bd04bd66798f595e17f5d88ef93ea83bb333be6c04f8f0735360146b63e9adf00582003de35293bb3c9bc9dd6571ec82ee53a34c187f0c31cf9f06e6aaa3fe1ed6570581c65c8a82b000000000000000000000000000000000000003aa93b272403aedaa556c601bad81f7ea7f85307be037c6ad0b525d54f813a08891ca0456d4503c3dcf58c3595eaab13a7c8f6886ceb44424ace351ca9eb70fedf48b6ba4e21c300582003b86bbbc8cf3c82c276bac4617ace316667fb0754d984b5482aa4887e4b2dd0581c64dfdac70000000000000000000000000000000000000026a242e41003465321e6587dabd1c21904339152f4e4cb06d62c069ccd0fce5d6f81dc1fed860395430d08e8df9f623a5913662d6b39bfcfbc8455c5964f7f25876d3a67ea086c035a22d127660418612c8b6df76de07a621e88a9ebf6becc47a95168d835df17d1035f13390ee4c458154a0e065a47e809fc9ebc1d35ad99980f20287e5e7203f53200582003f089291cbd4a14886f80f33a3ae9e083de4e54681d7172ebb60e076433aa00581c65f06bd3000000000000000000000000000000000000005cde9fb6000300372e4e2de6d500125c20b8ddb405b2f1746f458db3289a26dcba25f8a667b703061608a7082d8c3016cbef254cd75f62cd1a04589ca02661b24b181d43ffbb1c00581f024e4875b74d31ff9fd779bf2566af7bd15b87fc985d01f5094b89e3669e4f581840070a0001f7350647ddec946856fa8055ac2202f633de3303eee3d6c6b10abc60870bb7ded37f01583d2d5046751f0202cfbaef6741efaecf00581f02ca6c0b7515c1387ba6c0944d7828f7b40f2149256c8a98188d5335fd7b23581c659dbf1b0000000000000000000000000000000000000036baa7e1eb00581f0237d6422cb341df0193f27c2c6b696a0e89a0fb4191b3e64465fc77cc016c581c64e54b0300000000000000000000000000000000000000260cfa7da002190c5003c36c04696e66e28c9823ca264e92ace70c14f4fe4999c4a7e2d0c1e92f1e7d6803faf933de745f07f7497e50327f8ce4af47282a91dd52a621a590a1b1312525b403273141e590613e9ed437ae687fb6ad3be75fd7160054575de89b3e7727b77c320219ffbf03b589cfd2d73e52c4dca1447b0f9b4c042e3c00af4e62a3dac40dfb0d54d03a1403b612cd74d954a66126c86ec18858923166f7f74ddc0b3f902c43674372000e9103f1591233a8043be6141fcd5f9048045a0529d6bff22f3e9cd3b97709802604b303fab8c29c8cca81c6a1ba07675617ba8fa8363ce4c801e865b8fe3f8dac125f550317fbe7b14c18c5673eaa65f4886bea9fb1e1d1473a404be1a3eeb17d89e7ef3003608309071e38ba54dcfcece4d9dde532398933454e89b96352ca23ce850a8d5303eb8c268e9eb4e7cc2d15c9a0c401ec6c4a9fb849af935a33fdf83d7ae60df7af03181fb6c8541df51d43d2c7e0a5cd66fb582ea3a7807a653a2c1755305af7ba87036c44cae5c4e9d3f6eaef042328b003e2ee2ee7adde48539a25d77a7bd9367ebf03ec5c16af43229cb7e37285c295db42dcc087c4a5e45037b4a57d837796f5bf1c03db8931acee25a63b20afb3f1d98f5b3ba594bb96fdb56f45d8c06a28f1161e0d03b47c254428302541d0de5b6be99356f43d6ae84ec15ce3395071100daf5c822e03237ddd455778c942738898285599dedf0566dccabf82d8916cc1009eca63753f039b5a8f80ba970896d9b94064968d8b10419492701ff59c14c253b09456f6ebc70219ffff03676d4332b296278374ba4e91e435b9e7609f72f495cc6e50dbbd7750fa98f18b03f3234ee2b65ff19614ed2239ac0092e84e299ae812cf13bb85d40a8d79dd363d03a095a5e95ca7f737cdd44bff42a8ff75aa8d99202057585ee47c806dbf4342470388a6886db16da74635be95c8207fe6c62539b9b1fda43ed56aadb2944335ec050394fc9796519770379afad757e714c8a23bfb13b28e200e5e462ee4e95acbe66b03456109d978c6adc4405c2a4fafb6225b56ecba26db25182e9d72f9f2f6a05a29035a36050db8d247cdd46e59bd67c4ea2b2fdb91c971dde7c69151e00d67555f0003e713b565d4da4569e84167615204e7465ce33800f1d89d76c582321c877afa330302f851f436b1ee78ee3ff33d563d50c694122a5b0929fea57145dc2411586e3c03738a73e93724f608a2f720fd138f8087db6160d8e0c0e6902c373cd0ac060e3a036abc06ac6a867b984de331a5aea83d3e497619e122743414082d0d46a9c261000341e598987358884143fea4a0b711b06d924f1b9a072879a273810b590082e97d0377fbfe73b2684d463f062a6fdc1300b2685b5f0599eca7815526ebe40d363cea03ef05fddc43e2f8f1bf197f84277af9b0ac884d7707c507f031d1fabce67095b5035d97ca7fa93f9c8dea948bf3a12c000a7cb818aea2edf6cd8eb974a22eec96e903d387d83572b5da73de8dbd86043ac9f4da8a4dfd246da8c949212d282f72f68400582003cdf10dcee90db070793fadc2ba23a96796cf20ce63a96aa6b2e4a6eee04a30581c64c4c723000000000000000000000000000000000000002b9776f62f0328d4cfdc23264a7c767d446a792d98e96e97ed53970d490917e56e1be66044f903c0d796c4ce282c39e10bd9f7bc21411074071a2d5fd0a18ae3934344a1f7d3dc038db9a0833a57d1d94f02163766fb1836171bdfeecc067bd977eb57010424874303606e69a2e8329e24d24440211deae6810d1b1b9a56ee06d50de1ef59755d471600581f021c02e3565b6d8b030e10dd22c6b8a1f04118fb76a9a2a42f59fc8462bd96581c64449017000000000000000000000000000000000000002b36b1b2a800581f027168ad02120c63f1c72c830c971a9bb1cbc585be1250507fa3863090e9b4581c649f6b77000000000000000000000000000000000000002d086eafc000581f02e0c1c7912c8ae9135c17f680388dc7be586bffbcd1f041086a67cb7cc048581c646c2b27000000000000000000000000000000000000002ad9590bcf00581f02d1cfd4a50fb08e6baa1c8bab0cbfeb096ae8f6a1e6b647e42a8eb08a72ca581c65d9a0eb0000000000000000000000000000000000000044e17f6a4000581f02d38d53fb11185c9810e03ab73b8ccedc4db27d3fdd95985e89fe4c0b77a7581c6627e813000000000000000000000000000000000000004b51a0310003c1a3c257cd003601c1ddbeaa0c10ae978a74bbda4f061db2117c7ee73f2431fb00581f0290f11eb28812f961a55f2cdd0cf18427f6d83fd8dc4ff0a6e8cd52758244581c6571998b0000000000000000000000000000000000000033fa84568800581f030739967b042dae9d46491953d95c0de55f19ecdec1c4106434dd0e0aaf00581c6632c85b00000000000000000000000000000000000000450d95ecbd00581f035990013b37d1f24dba7bceb5bf5c2b36962a495574864e1dff9c1fe12800581c658354d30000000000000000000000000000000000000032db067bc0021921000219b0e3034c731530dd2d550cc6ee8d254e91525d225e13969b2f1337cd833c5fc389f6e803ac1eb2bd298a7aeeaaa0a041c9521c6177e03929a6ed6971d667bbf6073bd90d0371590430571f217678bd57826873827c32e14db78f1723bc4f34597767ef6b9b03d9a0478450c4e99a9c6558e9d409dba471e09f1cc24ec2e69e5079df85f599ec03e1789a0710bce5dcda45f932d7feac65ccdb47c93fda33fd8fc166205cd44df303beeb938a8854c5e2ca303a162b696e1417d1c78361fcac76b3e374fee2fcaaae0399516e8db1d58036b317cdf76c133bd07876547fda3072ba6541b11c8285640b0219fffd0351d0496534756857d92bb129888592f55a146f243e4808c956f3bd084f1fca0703ecbe9e5752599dd76518b357ff892c08943e424f1637fe561713746394ef397a031953dc8cada2bd5bf817d18e9a0ccbbfdeef534880ebf6ec4f0f7cba5d7832150219ffff033dffab3a479eec8ce3802d91e81db28d8284ff66bfc183afd6017fd618fac0970349d6a00c74ae730c2fc570a5073269ee95e34e6169fafc64b1f49694651d36040367131d324c9e0b814d44adbb127ea7494e2a2824bed1d5d34d380997858d54270311fae1bea1df535743165890feac3c05007fad6383e57e4f5c3e13898e7c3fb503670d4f12a2864dd6fc5d41f1063603600ebee5ecffca5c5b752e291ab28df22003a757c9d87d39d1038946a561bebf8ce66775ac58f61f6d135ba0f7c8f532716d035a585e93985f368c9097e1f677fc46332091a0ce38ff23f9fe3ad6c5d068b7df034b917c19989b858a7873e3ecf90b367739409192294d6be673c3aeab7464bb4d0344320e3aa8a8b4bc5ae26d4915037c9bab2e6e3a395d3f77f5b8f464f8f682ae03025eb9362fb9d9038570cf795286176b1fec7e5830a5d625088ed376c130f95f034a4db765dec9a04b5b398e976af8f7f4aaae193740bb3bfe2b4402f61a1eb18403e5aa050f370e7a391affbf30f06396ff6e902d1ab46a87527b4e85235d1871180321e904eb779e2a18310b3ca22092e2e64f7aff859f1e78278416cdab36dbb374038be8e82e442b51e19215b98f47b55932789fcb18477cec7f86cd1037adbcbb2e03e0dda4adaf2eeb73842bfb94c7fb764d1ac95e6fd16d374d6a5326e9dfd866fb0302a36506e5ba101cec7b28220d4bf730f9967c7e107611a68c4465129e99805603c64c0f99b66d008ef51317c61698291078bf5674f35c1888e4fc66190a54c7a003f672cd1cb7f75336d96c0b672b3661c6fc470c0d0d6b387338bc993967dbe3fa03e175976e611444c3a0920e8084094d85759cf45d672b8a7cc89aa402d45c4609033d7ef8bd3cf480ed3f20419ea13cfced822fea3194ea59f0616f71cd735d54fb03a5e194072e57436653efa28ca30e0b9b94963b25cb3128b2f79cf3d0565da9d903e1653452eb6259b1fa94bcaf08abb9fd723c41f8edb07ec06f6cfbfd1c5e3e8b03085b038061ca701f070e28db105d646a8a0acf07168c4ac358fd0f797c33bba4031a1721495b72fb88731a44f6dec0da20dd8c34c8f5e94ea5f633caae03b313dd03a18ced0d0963d39f24ee102fa5ac9a697efdb6fa345116f51248f627033cedfd0327e9e4ace30070b72f58b210d34f56cd2abc28557ec76df3f67f04714b38679900581f02a7637eaffb036e9d42299186821748722607c8a004b722c51ae077c56a42410100581f028af16d0796dc98964769c3000d9e594433a3c2e3701dc799899ecd09dd44581c649f0f8b000000000000000000000000000000000000002cef121a9200581f027370db6066c428ec0b09f7d03378decbac968dd8a3f14e29a804c440f0b8581c6582f12b0000000000000000000000000000000000000034562a773800581f0248b89961eeccda7448bbd6da9527ee9797155a54523029ead24a647ae6ab581c64cc5a8b000000000000000000000000000000000000002ab9de9ac000581f02a41433616075613936a83996295e4fae854f0c3c3c99334c51c5e29c70df581c64f02b570000000000000000000000000000000000000027ab59aac50369cac50cbffab58e5134301ab06718af2f8f4c6162b07f9849fdf503e976b0b9021984b8037cdaac70788879ce823b644e027efe556fbf15c72879b3b0fd341759dc3241780219ffff03c0f747f386a963b9a643fcc850eafcc2624a111a5f552379f0644fc587a56b4303f32d9462ec4561883cb6f702d64799cfe86de671f5d4720d1a376af8c7735af9035007ed6c32c415c0a276bdde667fcd1799fb6d3883631cfa6af2ddb82c1b409c03b90d00ed0f3c34da51e3192bb69dd2916722305d11e4b1caeff9872ed19b05ba03cf188221b04ee2bf20e3e9f13a980ca93f6cc78a67115175af6a4790582f683703efcf83dcf9194fb877532e6fdd628119667bc9e799291a0c899fb8f5f38bd2c903d09c2054ea1c50c9e2bc5a8a6a38dd1a390f24f55301cc2487b91e8611209b0b0219ffff030bf9384b148bf4ddfe99c46fd3639fa5660045736f0f2ca439515729b53be9b80361196774eec87543e960506e9a88b465bbbaefe9b3cadca55f692daff31aea0b036b13ab6a4db5a2ad2b56799d389795def71854479a9be3c11d6b7b0cd39fd5c703034220658cf79a94f64ff0a427f05e3f782de81bf2d5827c67443bb459c051450365fc7186fbc28fe89cf29015bdc12247c3f7072521de90c63f0837d65bda563b03cc258ad2d1437a12885a0aaffb0c9f9d3623fb26aa742ca0c4363cd911b697b60219ffff05581e034886b1a70ae77c25b681703f9ae09f52c32b850d7546182843fcc186b0070119518705581e03f62614976d284e7e721af792a75f5ea334ff31e55246bbb85e194a3d600c034703c8dc2c1bfa56033d7e485194480f49838c4bc949d56e6b0063abe0c261ee98cec86247293b44ae05581e0353592cf104ebe09e3a87f9974467a39d07deb3e57538b8ff3d2cf6bb20040305581e03781773c8c03163e3a3620539f67e736adadee52cfdae5c0467ea8bd5500c0246f332c079439803ea11c063b614c499ffc109ba9680df383896cf69420192fc985d144b34fca8b603eaa4b82641084a8d979c7a16e41d7c94ecc521c0121d302caa2be37e316f5f8905581e03a114801e33acefa30b651b7aadb5a0ced4bfb0bc3717d8d97d3ae9dc8004050219aee7038eee3080b5e295b90459ec5e1fd6a1cd53f46d20880f77288bc4871bf7c4037303985ffb315bd6621b3de584d9d43da813f32aa1d20b84ba854490c7756c3e7f2a03b8b23becd480d1e272a58e59bbdb31116dc851a40cdc652cae356b134318b6340219ffff03a44a48d4e85b90c4486604b60377ea323580cfd893fb99b6c8e44600dc65e776035c163cd15f31056ef0b571d8841bcd1d6901328d8e6b54c5c5f5a1e2ca2298e90372d7007fb95172b8239fcb435ee6aa484a36f7f91512e0f4e695b8fbffb4a77e0331bdb7c9b78b5e7d6a210bc3295dc7f5d02424c9ac24d21af6919a6684e0ff2203e51814b7aa1e7e50932c41f152ac5e0553dd6bb2a6b6dc70a961a5858a1795a40219ffff034453004dc3cf40b56de22f6a9b094e139f9dfe5ace93556aa3897daaf6750f8a035118c5388aabf4d5e63d0dc595cdf39d0b606e13c49462e2b9bd4a23fb9422150392de104646e29015c4e432cba4e8f663a0200a8553fc062d2f05e86831d0708703549d2d1e29adeff80936f4dd6404abdd4f6be6a7095f8372d94c13a1b4dee9bd03be728706966bb9a91e7e57eaa09883d371f2b49f38b7d62c2a72b48fff8c53a403717fb3c40746d7b70b2787c51762e1a7ea3b562df9ae9491355464af6ccbe33203d8d9e38f3dde8c166b33dc6d1827a9b70af8afd0c17bc95c2890ad5c4a213e2a03165c99e7db236f12901b2a704ed011d974b367d849f6cf73e3416c79564956c703133475dfcfbac8ef5216f5460baab41452b0869c6989c1c108d5a379e787048f03062b94d9c9c3e45da6451dcbcf07e18f8b0407842e0dca827da5fbc725009fc1038217d52d167638074c6aa5f56e227fd51f01d170bca202602b7f4248efccedc603118b6bc17503c02fb31568c95e4eb72bbff3abe369f797003110add97bd0ccb303f6feb48410af04d155a4aad53aa0f772c63099d25d518f1d20ea87dbfa70f33e03bfc41caf0567b73865db133f2fdff4a68dd77b9f44caed92e05444f612b4c1ae03fcd3b1f2a3554f53ccd6585ff0ccbc310a55615d6f13b7523082ca4e2bf37e7c0219ffff0390ceecac6d35ba13e84c42f184d531516c2595b198a80274576e331cb5a45b540379043a3dcafbba919dbf7bfefe6f18470d0e176a6f2627093151d0d733bfba0c031900c1d0ba905cea9525c129ba87955034b8ba95f1f941d2665a4adcf0dfc91e03d1eb3d2c2e4c0a36648d43abdeb364c9bb5bcc65182daa35535544990d11b04203c28485aec46ca6e667aa69fb171411ae164135f70c82e4f55def91a48b14446c030589f476b49696dc70992fbbe45b6c6aa7f7a2f55a51e5f9b1c428bb9e9bb0e103eec4e953d831a0ea40de9270fc54efb19046a3c81fc234d26e3054d51618937a03df53d2ccff44d07efcb798cb5f3c20deaf68243f6a2bec40c6a47c507cf180bc03c4ac5cec01e2eafde8ba695757c37e6c974e0e486edbb19dfc2944039037e23403528ad541bc765664dbeda08e3ff174fd2450b58a5182710ab109f52ab041d13503adf42ce4c7107e1816fd5114ca13882d1fbf82451b4b7977894c995b5dd647270219ffff036612b7b6dc8a6dc2493b8ee249747b17cbf12bb1da80a8c52a4827ed4a7c49e90373a780115f1f415a111bb7525f1699cd2335701bde577890e3fe1f553864cf210305ef1a20ddd36c080d2a5fc3208e51309b15bb0b88eec02453e569200c7ea425032e052eda5c97e638b5eb75e8e118f2be9553c712f7ecd7df6f309f04179860ab035a0ad6a48c29c9073512f7b2d52235f83491c19d0bf1fbdde9aed5f1fde8c7bd039811af06d6cc863374e02c83c5b27a850406a8f0c10b4be9b3424c34fc7bef8703f4b971d8809c7e1c2043db91cc8990799cc78ece4f8a6085ea1a2181ae987741035feab35badf03c1529003fd6d87b1a050c2ced669619de6e19b0c72afefbcec1034b5fb2ddd534e51bea10a20aa76509712bd945c3662e058e7407c3b364de834d03ad4d70765b29c20db81e3086117a4009b1342d171a74b193a272833bf0dfa56003c2d583aec05941643241a00239a645eeb25d09afd36b3a7a06d3076802476844032e6448d7abdd7a7538c8a14c0a02432ccdc25c647d5d04428d3baaf56407cb6403ec83e1ca16c6eef7a6d265bbc04e9a83d5c8b906a3197ca9be6af216559d211c03efdcfcc5253efbe19aa9ce42f308d423e3b12c7b536935a0c5a6f50094f4bba803b76c69136e1e65319d58fdaffdf78d0c98f63abb9c6e6b0fd16ef800fb0433f40328039d18123f47f0d5a4c8b5079cbfa5493f097f04f542d8f6f76c2dff4d0b5a05581e03950c48a16d3fb7780f9a00ce774a6672f5373ffd701371a9f66dd524100c01470206951daaec8003d9eaf83825446dedb5225e993f4b5aed7d4133277f54839b175cf610e9d3f751031a20e5ccfd822839e1a70d18a2f15c9e177f4cfc34ec92b19527498e9b81c39c05581e0309ce8a3491582eb28b0a50c108f84f55ec9637092671d33b99fe4576e00c014701311d9e62ad7b0459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c63430008090033030e922637053f06602f4c1ea7e3115cf2c46b2072d5459780dd77a6b76bc28f940388785151682bb988f0c1f1b32c391a9f1de61bdaefd2a313f7f3258dbfa6f49803c2637512eaaa26d1bf3cad17fe096bb4717b538988e3b1f104cd3f22b7b2245803996d516256d5ed40ba42f4dcdc485c70cd964084fae01afdc260d598e26c96b003d8474d8e788f701a1800a0185f63853e2d59b4b1f3c3d3abfb1671c75aa026970362823d010f19f5a9939ffcf3233164dcc7c5a802ad89c6c34bcbf6e1a7271f3d03ccc451b0eb62fc7a398f66c397574afba9983a8d66ba7440424c1b769c77cd7903a158b970ae6c95230288f3a5fefb3acff55d1bc886e64e733a3ccbf7c4730fe403dc3afe2963a62e0cc7a96954e9d497e8194533f2d42c43639a69931361353ea203b9b02465d7681cea38cd86e946f1203b51e647b273f31795bff5ce76c1c803560382e062b0af173025ff56c8b326934473278fa6b7231febe5054f0d584de9eb5f03139d826f1e258bd204617335064791c9b03ae96a40fff65ca50824ec0123246d03047724e5245a6718fe628521962e9054dd5738c2ac2ae1203fb93d7c6047422d03fd7cd39aa66d3b1d4d7f1b54e678d27ce5602807d521b5508561ddb4df9b144a00581f02436e3c2ea83df0ff72b6e7057bff4bd3bb6c0cad323e7272a60269c006d448548e000000736f6c03585dc29f4f7b2370f6e5dc16fd9d22dbe4891bb44856e4eadc958fd609702d9c03de451775b3d8cef5eb0f2ae4ad3fe2adaeef51b79159525cf7db35e3932f6b500348d954a7db1372691df6f64b1cd3e25a05abe22ac57d1dec9cf75d11d14f8bc4033eec8a5bdb6e2cebc55a0d4e09504cff55f0176b528a75db73cf3e7564f0d68b036b231366d74ff5fb066bb86559d1e758ef740e7e90dabbc4cfc30587b58dcccb03de4834e568c67196d89b7cd7842aa1daca027ebbd923748b171425fd366f944303b7d8a32f9d4023006e099e7ab0d1ac98646698a1b1c659d4bf880a535ca8fb2800581f035db7d973205e92312d9d3d248473043d290c87e2f7af45a68f09a152b080581c038d7ea4c6800000000000000000000000000000000000000000000200581f03900f7859d19d1cbbcc0d1379dca716aca6ab46350b5d7db9864ecda6e4d0581c038d7ea4c68000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48020219802003f9f560b4ee8445edca0cd2e34b5f0e3c1c2d81f263040be111093c000a11c3970360abd5e9846d46bbf0e2b1e70d19f318e7294ac4e6c6f831c71a06264c20c3090309fcc8e4c31c198bd4379c84e6c7a4082fa0520cddbcf4da85718ddd1bddff040309692381db3b289a65485a90edea5b2789033bf09a04c6cf5880e9581af4d59b00581f02a6c5fa86748a690d5957a65e950dbbee498a9340242bbb91afb2878e49dd4901c1f200000000a4b10219ffff03c75d1079ab9d5a367f894cf903b897babb6bdf03e874d4ec8cb051d2f7a2553403cef8d2d97ee136465e7cbc76ddbd9b428c5f73d1cb896837bfd4e6cf8af6777603b59c46157ba17fe349332ee2d9d80c50cb512322d3b09a5c32e0b36a6df5767a03009919efa97075d8855d2c715b31759fc3621b1a43abda059df753b84e0ce5e1035edbf6b856d57b15263174ec2fea595b47df23caea55b25551ba5370f15b5a20032c169404dd234c7bf5a814ed264d7819c2d274708202d738c61279a02fdd922c03feb33b57d1b7c3077c298e7c8260ff704f960ab0944972a54911c9c69f015151035cda5847dec2c74ae74d29057055a46a156e53eaf94a6178168d41b589cebf9c0395fbd3562329bd7a49d8a5b4b489e226540147d1adf6042346d628f4bd317d6903577ffe02789c6685618ea9bb952ab88c1fb19e922bcc423632af057145d4571f03f02cbf6b1473fa4de4415d131805e6f9e9e74f7dc8acb476b9cfa5d96396fc680219ffff03935032226073a29b738a6db5464cf767efcfa04a6071ba9cb252061e62deddac03a665bd78727030f8eae419201a8eb18426183011db518b99a30fc3bbdccbf076037a4dbb82bed96893cd35e995c0922fff869a596862a60d88522c5e6dd3ecae5d0301d66cff09d0bc22c5f5350803d1b04b4e8c26bf8c4a3442b2babb503d1cdec503ee66345076532a231f9c39d985fafb3bd770536b03fa47e604e2a718a0857442034e048a83386200bb17755163f82c6d82c9d8dab4658a7cba19ddf7807a50c54c0328c27968d755433b8f31855ed91d2e227171558068907a06a66a0813c184f9d503f95b82d11a8fd83eea8f37b89b81707d25b97870f755da89f88afcd29604677c0335839deed9c320991a7fe08fa0bea61d18d3655b1108843c95f7c6a96a34d13e03c2f560f6f6152a013c21489b47159f88c955a0d63c31553c2b9aad9ac4089ae50219ffff0331dc79d19015bc4887cbe4ca89b907c7374f8d0da9651e8e26e7f38e019499500348bb831191926d1067f36ab554bd9cc0b262a1f367ef6d620d5ee4b026c3894203990477856f8e69dea1b101b52bfa988956a9e57b9f797e15bc0c78c9e389ef1c03e571e78634861bedfb48b713b5302a7d4cd38a3802e50b854b9dce7917dcaab6034a043317246b391d8713a5b3ed28fb9cf6708b8a23e45e193ee2e5cba38d1f6003c7dd968ef68707de52cfdf600f0116630c1ee41ed7a61430df4c8fd664194824034b9f045c8a0f24082504e8d3f3092a104fd984a0c096dfc497ab67c694d8f4de03fd64c25cada30b75124affed91b4f43456fb37ebe0f3faa604cd5f4996ffcce8038d7b0266fa1b13808a5606e2a12564d19ab356a5a1ff59dfec1f82085236e04c03115906238ce4649fc265d869c3c62aa6e14111d81410e06a884ebb8a2041201603d87cb46e9ba1bbf047b1872b767c07dcf2ed0fd6db348c561454fc1586c4c2f8032ce6df2a7b4f7c0e602dca801848e22c6ead429a85ac312e4944727eba490638039ff83f45a38581b57e71ba2978baad73fc176e7b9fb481b5d319554f804031dd033da7ba5ca6386d21b4b199fe56b71e246afc5bad1b2c6cd3776c5a5909c5eb080300d8f91642b89b2cf940c8edc41cb1ffab3ccef218f616330cd14ffca73468230313de7bf802e4399e61bf0ac528ef7f0da16abda18aba75a0315c2966a072c9e1037ebb7f778e2c8b1a8312144cac4e05d78c34aeeb3787d56458ce8c6b18dfdbfb031535d25fafb3ddee8332f776824d8286a73b7ae56495913d75baec760dd83486035052765b807eab15c5b1c6c5a845e8a8149e3f25455d4e5d5500c24cb699ef1203103db854f5606916dc175d00a01318fee1b0f4fc6bb89b3d78e4c04560d78a5303e72ab28b1c5797a0fc48f4ec9d8991b8b1ba59f7c87643a8dc9b62538f92aa3a033368420cf7b8a570f3ab4e5de197e0f8341316ddcc26df9034cc485d99f8327203a980abb4672ddfe03a05da1feba8acfb7ab3de1c4abdc46741f52adcc6b0a4cd039246183dd2320e0bc4d4f9dd83c7d459cf1aaed9d3088d8e1fc25883c549dd0303be3f13ff338e0994b150958690aa4508edfa20dd91241d92bddff8596b15c7eb035af0078cf1f8de5ac3f296b734c6f3c2d750271f3b3f74e3d05ebf47d2ade1f9038573fa3b29e6a4d13b4a9200fc8cd93e20159338eb8768a5c8d41abba84edb3703bd5bcddf74eb54ca0e6ab987ba456a85c719a54ced4810e4694bc73f06fed9470324c0587835bf0c4f6307a4bb02560a08b044a9b9b00e93869b28d80cf426221903babb722604fd12e3657f3cb3c5b58fcf76ebcaedf443806f710ff438d9ce3a1500581e0224708b3309c48324f8b77fa91911e2fc4f9688d3d577783c64a3e0a5264c0c6026baa13600000000210500581e02df5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154a7b88a746fa457578d5abd6234471f07d895f46b0219080800581f03aaa862008bcd065ce866c7bc4f2aef72d849481caac65ed8be0a16450de04904fcb7f72f72ba5d2a00581f03c0039b1437bc246082c668f092b45ff720f02b1c6d9f98524a2739eb2f40442db7004c00581f03dd4bc4ca9aa8eea70acead3db4e64fd0793d448f1f55b63f8f714f69fc504802d28d688beea57f00581f034fcd01da162d258793e97381b70f801c3659c50f8936fd45581b8a7f2d4044033ef376021960290219fffd033dc453dfb2d090400e60eec6a53b43ff6319febc37f5cde1c6af38fafd49e81203fcde47e9b1183d78eb2017c5d4d20f6bab7814dc368647a8c92206f446134bab0219ffff0347a63adda020ecb409cfaa825f9ce0cdb2dede38899c35d936bdd94022e81ca803a382eef8bba98af9f5002988c49bb1bac58ffc144414c8b8301fa5e2b6d90c3c031aeb51f310a420d9ba6f241095450e733e710e69f266f3c0679105d9c92f0ad3034b87ccd90ce827731242b5674adb3c2b72d2e91af652d1839ee26e7984e439b6037d3fa83a5c4ca6f5736656d3603208c897366e3e371ffa758c8c656afeda912003bdb73fcb1d4b677c14eac24dc18c64a2c49756bdd1ff05856ed0b3d444d32846030709d145b807e6c978e98a16b90328c213344617fc84067990195bd8953531fc0366391457dc3c70619dcbb49451ef7f5a75d9288500ba88edbbffae67183ed502036e120f36cff2211c79cb06ebef9875e34eec35019ac38c6f9c8f5cd15a559e2403d726829795ce1623e4057202e88b7265154d2c1f5babb2509f37758197729b5203023e9ecc72556dc4cbfeb1d40b4f7fbb414c88ba92daffbc0fbf68f2b55c01fe0383858ac5bb34aa4c17f3144442d5fce11154d6118f151044b48af93b8740c01e03bd839fe35f5eaeefbeb7b88412309cf8d433f7f53a096710d89552737058b13d03b99861566fe15ff9eb11a49f355c413da23921eee6b45c57b739414d3e1ce5cd03ee5c3f9d2e9f1021c5f7fd455602447c3b5d1d0702256b6736ae3f6bb8aa1b0303576032559d9cc4a0e3f4ed2a2b112d1bfc47ae3b4f04a9d46d38810d1918be1e03cf80f336fcd56041c2383e54d1137ec882c62b28880f24fc3d59e400cef0184f00581f02fd6feac953a467da0e7f1f439a03e91de7f59d588b4aa0d8023432d1dd25436180f0035bbfb6c2171f626942b008f6ea679c6881ca4ae53ab2bea6458c469c0606e2b103dd665589c8c4aed5ee320543b4cb46ac5fae09deaa44e772d435670f3fe414f700581f036efeb6637848e9c1001f7ee17e3c45add5eb63eca6c9d04d887dab5576704d05b03a12b66da900000000210500581f037e3f6f5e6e1a5d77be22d4a6fb600d85293fb33e0a81ad7ba7fe3344c770440c3acea300581f032f347157f156aeba2b30e8fa94fdd29dba945d5149f0a516bcffd4af8000581c038d7ea4c68000000000000000000000000000000000000000000002021904500327a2e4a6ef6b888808cd09a85364cf6190d380744602a84db638d245cb2368bf03bd29ad688ff7c99e66e5746956b0578b8a7bb99b0ee196dc27bc7b44bcbdd80e0312919873a6a3f1a2bd8e7e01ca5a6aef49eaeff3b80a1808c645f1d900874824032b09c75ae36ccae9a3564c54285d40755815a8276d405b6095689929ec929c1f03afa85a9a00b6510889e2bdbb63fec0acb7c0fceb1c0703eac5429a7a74a7e16a03f5b239992e065f229183621cd45c4074b07aac619383f9ec633e2779cd4bf04603491022a93066e1c28794b8904e2307011264f2b94cd502f43f9e8b0777893ccb03072647039d7e535ca3330b3106b5682eadd36118cc283bc14de70e5183e77a4f030a4fcba113f6d32cffc51b6fe95d80ac0ffe1f3c28b5b55ceb6fa1fa358589bf0219ff7b03ce526a2406b02e3498e1f759911f4974a05605d147014b495f49c28a8f4616b40316ab07c54b0fbbbd136a272b61400e221bd70e2f707fc4c49dd7790bbc016c58035382a33defd7f71859217dc8801ddd8141aeef41c0504605f0974004b2d28eaf039d3780d1040d6db8df63c6558b9559762715100af6d53ef4fdcef485112e0e3b032b137b6e78ba87879fa74554342750ae855248855091fc021ae2cbc7b0380e56036304bd5146fc150988d652fe9b55d025bb0b4780c1db07e0b2f849d446833daf039084cd45b4f8cca5f5c2348de6cac8b781264edef9e36473e887c26259c46831037931c97b546275584ca9df36b9e439eb986aa67bba0073ab9c3c4fdd9903606c0326de4527762680b260a89e02d2a7de76bd9043784d8b6e01d4b87a5ee7e7526f03cf962db5ab4e88c857cdd0fe3f0b5673619662d073fbecfa5a3e6f41f257cf1a0323a19a37d87ec1f3f7b1c092088f399d37da1fe65b884fc97d3784273901917e0219ffff0219ffff03185a947f0c531f77233cf7070e57edfc1ddefe0519c9e9aa867d5e10614f4a4d03259d0e3a81ff2dcc72f71527541df70355d05e1b0330d02c9b7a9b2cb54be8470319dd3302ad830e5fca41111d8fffbdefcbcc3269650046bd816fef098e04ae6a031e7304e6578f823080f16f03117df3ba6c9751a0e88d60d14eee4b459ab3c5db036b9a0a88be03f60b6c0980fdd4de73a5b78262a5bf00cd6d2db43aa8d1942fab031f5dadc9d5df79c07dc0d5d2efebb56a275be6933bcacb1d3fccedac378bb2e2036edf5efca3b357c2116d5fae58b79f0fe42b7c2ce56a4e531f488314bd9ac8fa03c116b846116e0c80707e7eaa194056c9bf5fa576c5d4a545587856d6c31a0db7030354e484175b189ba4074032e45e4b83811279c7b38b1347eb763c83e0a41c570385d1bc16d82ba9d9aa36c018ff8e7c3fcc68dd11c8958e8b9e47359225cc5bc2039fd3731a5b54049cee97ef8e5cd927e965f7cb74cf63275d7b7eed155e27d84e030ec906dcabf51ff38cbf1f810156ef6f0b2031170147a3bbe5785d369d8d59fc039ff4897ace51b4d7b31ba427dd017447c624b303067e69c05bcdf99189e8eddd03746a8793728d2e8a45a5515829478a509fb2ea6f4853894549ab766e1c190edf00581f033f9046f1346f412ab24ce5ea11837aca051ed1a5cd59b83a9d08df37222047cd6e314cf5239400581f03e5a657087eb6d239bcc119bbff7f2f0a66a2777a09ce7329f7e5d07d3050414100581f030cf2b0f6ac0817b33d7055701863ec240aefdf9e4737b436165a1ec590304801f9d5ef6838132500581f03f00d41337ad71d8c6a118d550ccf266db3c42d84a612f6ad214a04e3ca10581c038d7ea4c68000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48020219014c0300402300f50cd3ea9ebd65a85b43be2c7c3aca5bb372b5ac31142f02fe2fecb803872631ef941fc71a5c9b6ee9c65dfff3dc79a1b51a77849da4bb290427718d0b01410b03e0cd915d3a7d46009546172dca3ead94ceef36aac45c802ba8f3235ef48dcc48039878cac12427a86936b5d471f96a8e39fee0b5dc72724aa577ea6626eb767c940377be27bab897166839ef143e5f98415f30c5dea4556855c2144f9d3acb31889203b4bd6f0129b48f2310866a3139bfc2418f73979793d35b1675b63817552bd3e603a9468039449e4e45af7ee481e69ffa0b9c2eb8ee1c8b624f066217562b93660f0219fffe03ac993b50416a3850dbe21043566e8f2ab6a0f65d1e6dd8635d78eb04a2fc6a48037605427e1b23b77f016eaa6f65f7d46777d3d9e6f295f93f13cdb7392bb10c920349c279d4e7bed6f4c567c9785a84d0e2e7982a1a8b6f9c755df91705b87111a8036cc7ff6b30bfaea75613463b337a0700e88fcc9301735f6c53a644b827233686033789c0d4507a5365fc9f025c7f6a8f0bc89ae2f1488e94f6a687c31feb8c47b003700206c41e92e5d5d378f4e65762f06c6a3e679fdbede28968483575a34a335903f883a7ba6efa97e9b85c5be771dcc07d7a2a9a41e8825c784c79789f541c260703a78d70da958a0054a5a7f2c95efaf56078494c0c4bd531ba19266de0bce814fe03f7859535c645c42aea38e6cc23cdb34fb534b2ac7ec0a86f680f58701e60fef203fca6c3df65c1e5ca3d44397a2f4e0d12ea073814b96a268fed8887fe1dabdd110219ffff03b4b80ba415e9ae933297eeb05f8ba08d7451ade8fb558738668fbbab416cded403a29a62caaad87b94012c3244b6599c7f499d4be765dacbc3b1193fe43ee98229031b92f554161ad993fca9faa48f82e3ff035a1677be846f4a85d80a7db9a471320304851acc5c3c640dc1106554a4fb771b59004ae2fdd6ebe93e4b3568c7da0a4e0371839e26be21edd267cefc30a44fd560c77e0ea10be07ba7c2e97892537223280346ad58a06f70c528c6736da7d42e4634ab700cc86900fc7c781e8c8ee5b2c4120344c16d93b3603a0b5f393e86361042fba86125ddf75f0a82f3a5f3d63e15ef8f032011bf1c6787425687ad0fe7883a4a20b4fa3dd66ff3b5155fdc5a60d735c560031861d91f08200ec498b0fcbb14762e52b173e14812710e24c2fe77520909e3420358f985e13bcd8879e70ca4590203775ef379ea06ad2fc50e69475fe3648a92df032c6c3c36731a1ad96882fdd1d94580b104c875d1388e36b3f0e38b33c5aa4a52033be8d67c0bb02964120d83efea500580eee58c8741051efba8aa9f47be2717bf0377cfc0e5b93eac2cba24354848e91e1cbc8fe4971450256d1819b05145da636603f7c2f6860ff5b39a33a3f11163eee7de34d47d94b6914d5a9545d110923a519303f5238aa24ddd75382c72d410b5010248b158e97fcf01de8690bac02757ae4ad103f8b21d23cf8891ce28d272fd6620c2a0555549a1c2bd2b7da3b4561a783386f300581e027205230cee2fc250454193f64f68ddfc44015869d93f80171dcfef3552581c038d7ea4c6800000000000000000000000000000000000000000000200581e02ef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d547ec2e51a9c4f088354ad8ad8703c12d81bf216770219500000581f03ee88c09b1da7c077a077e73eeb066e26e598e152c6da3ca375be61537f504802f0032ec8744de800581f033e7d6c450439338d3ee6800510e57c337ef0e0ada663076a01f8877c239049b6ea27000000736f6c00581f0345ecc5758de0a8782fd900be1357d3bad06e397aed6f8a330e5cb09e07c0445e42b71600581f03ff09ba2edeed02697dc0f35b99c053815bb3a33f9d1e80dd57529a29b2f0480163211723bf800000581f0317dd2004e6c59d0f864b99e28aa5232f9d635171c3bb36e288251085e1104c05997c678e8e00000000a4b100581f037452773643ffaafedd308be25349e180fad74b6e4fe3eeb581e1ea62f8304837883299c99ee31b00581f03e2ecdbf73a77a38f152c3e6228bed2b3609f2181c52f4ecdf7438485f8c0473485e7644d0cbe0219ea150353bd40dee61fd04deddae43ae7efeea2ed7fe4c1dfb3ac3a1edf5bc2df51549903a05804f5385fb6ac99369c049ceac8353fad6163018f2aa79ab496a711497082035d3c2c22f7f7e5612a9aa138a02b2a3080813879af44358208afd502f04e9eea03b294326e175d67149600f4f748983f819b3318b40066bba8913efe25a8fb81520364f48f7d305e5581dc721ebf7605af64945febe259ff55f82aad19518358bf19033c7356432f85e3d0fcacdeb4f6a7ec9e54e5335802594697b782ff6a148372bd03986ec624dce0481d1f7c970ba1e7a54c21f18f3b9fda0e748e653cbc66d5b096035df3f11dd3680d9e5a8612ae4b1f886dce910a3d05fb48fbb1b3ee1da5a664220385580847e2ae01b87d9459fbaaf3cb460cc2bf247dd1df88831dd908b19b1e940340ea1137e012ff29c9acf3c25f44ec3a99ddef0c06e5ba93117bd09611627740037a19719e2198ee38ec4d6207ba22a6c1b8bf5892318b264f881123f424ea80230219bff70324ebc8616d7641ec032af0df4a62d5f952fef7696cc5ec58065afd55daa7ae3703c87ffe9f0f49e2d134f6ff092b783f0e4e2fc7b209e3aa52ba35b2a57dd8b75c038a689c26cb94cee089aa67dc3b073c85275cfff66f94c45156aa8797aa1d7761039299d6404f8e77b2b2cfec99f8cde9a904a1fe33e16fd18434e1da76d3fdf86e0219ffff037185f7a5d18f068e514d1362a7045a81e7fd5887a2e30b4c125c49534fd878dc031a9c01343ede3264a9b8eed0064f7e9f703e942c1e65865e183298b69230699203accdb9417da21a900329513584ec3f360758811e9c5cdb3b5795db2ef85b400303519f6350d9c8adef3e48d97d6d43e41f6bbaee4357a3fea246f2b76d0c481ff4036a9b11e841da65ee43432b828901fae9e1ccae55208b2d873e45f2945e583e0f03c389517289168bda79686abeebf7290f175956e238d3b81485ded16e96d10d1803b6cc698e0226292e3dfae21185b5ea1802ca35fa5615c87bfa0cd43787ee493103e8d049be672f64a0a3e57824acba30f63ae3046f21ea4151587af330efe560a7036aec5aa7bf7d0dccfa452f2890bde96d8eee4586425d3c60d9393d5f6d8e951f0353b7017d3e684d6813a6f151800905012e3fe8e254c0c9e124c425241abab9040219ffff030a183e7c9082b613a7498c8244d6d285e6b407c2942d0e781ec0f9e7189c864103e2597816316b37be07789b21c28e3412ef67c4f33213cb693075f0b20e1f40b603c77694c83fd83daa04942387c2b685e78dd8139ee1cdd4dacc22a879148c23fa032f3263a5460ed22a19cfa93d19341a1853d676a4c7ce644a269470c5c1464997030a611f4a5366d683ebb5ce7942ef912ad0ffa780483a5ebe338ef70b6c88960c03fae2efcef16495c8e221ece5fe11e06bcfb16dfaaef443076b4b906602778953030cdad7988ff41e5f9180859e64d0a3e0b6e854b73e4f1ead80798f918695559f03a21177bb690dbcefbdcf9ec56561b9eb16e68cb531fe3a8b6cf9f07cc67a9fac035ef9e44c85f39429e2504702a38d85ea96d20508e1fb71b7ef6802b534d5bc6b03a8571feb0cfa86ccf602fc5551ac53f91296b6117af49a23390a27527ce2c4be03dcde09c89fd3ed62a30b885e20be73f3ebc02fa3dfdfd999f1baabbc84d7d33300581f033473ab1fe4fa77240c335c669eb604f5ee99fec568731c300a81922d8450581c038d7ea4c68000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480200581f03808dcf83f58a9abb1774e52390cc6a42b50324b5ba3972445a7223411810581c038d7ea4c68000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480200581f039d3d7424f22046d31b5925f1f74122c27429f3559d682bba25f51b6d66505468cc4ff62a37eee0be1fa3ce49c9cf53244f70a902194220038d80bcfcf08f671acb36df1e2297a5bb230bd522d8fdbb853e506d0c6bfe6c23039f747db9ac62daa4bd4d7aed9e8d2e4bd668bcf5e13e1d92847cfa85dcf0f2d603e083e2efe95630554e92803ffd48bff1bf10d6da694c4034bc3662ad1f6b589600581f02316a7c25fd410ed393d93d92cb2afa16bddcaadc5b0be000a672446838884bdaba9e6bef000000002105034adf0181bdf060ae20206791297f7d4e626a6e8bdcbb0236af44c690ba2208b00308c9752001460f194827a95bab358e05db7fa2d2c42a1edc083cdb062c30857403b0b2d5135e08baebcfb75e6e06bcbf2e3ec9d68f28acc25c547d30f7088606fe03d0029e4fbe48b903e2a679d033817c7d130b6df7131640f618c8efc3ff838bff036a1b530be729c7a8689ced78d2c294cbea0186e5eb180a033c220a731dc0b81d03463665658c91193a3ba5a3e1f008916934bcc40b01ca662f81acbfb5cbe0a4e7035ada938a1b99ac2231e5cfb4cfd20ae6fce291c7b6855b14cbaf8f673a75e31f0371809fe651e93186047e6d715e60ae76eab499cdd573d8799c798456c5dd394103f75db7ef68918c7bdc7795c338fd53955d611503c03d3db80ac28b2920ea850003dc32ce084fd1867b4abedce4dac9c11df167a097c6aef0b69343c0c233c226fe0219ffff032a8d5aa36ecd85ee6eb4c7ecded3ddf5ca2eb210784d1e2d0344b011afa3678f03cc53ba67c73b1dc0d6318a75059b15fe8bd9eb5986f911ffb258a6e4f5970cbe03504b7c516856b65fcf23791955a08ad115dd075f3cb8c739f477e49c1bf89a67036032b26c0b876161771d0e97e3bd8a35a482ebfb3d57c49c0d1484cafd8e5eeb034a0aee3b225d4e465424bf71209ee44e0d31366b22fc33e1aeb56e42a5a6ec3803b90205c95fc8f8cd83528ee864e331ed24e97ab47120710e114630d4c4ac40a303a35ed06913b932dfb008ff686ea9ae413f673a0049fd46b4c09bfc2a52aed890039b1acf28d9e52f5437a075411c8be6dbbf7a9cb07feb3337acea25b49bfe5d5703725e6d7d54e7500cb0c918e32487928d7163bcca865d89145a78d2ead35dae6403b542cba37847749313c8dce23f51af700dcc8c7435412fb66752867f720495ce031f07a1f91b6342fb766125f1e43e52fdf1a5491076235c1cdfc727fda9f6d55e03d3b21be2b7301f4e76a83d5b2c50447734fcbffa7399832d783deda952f30da203cddba559bc660049cc3f4521e6c9af39e62ff447dd80a84c6c01cbe6d51164c503494fb94c2a1c8fa6a739405505f21e6a711f44843d1b89442217bbfc643e38fa0219ffff03bbbe7f5a0bc5b7faefc91342fd69a07461854faa68f5842381efa7059e0de374036daca139aacae93eb4fc573d82e0226803194ce129be7cc94fdf2cced6c365df03a92d716e7894a07a4af330611ca5d660a74df0630a0c0ec95d8dbf4749930a5c037cae6d05bfacc54ee2ebd748d75995f9e795c5cc55ded7bed9ad4592d2a2573003e2f87e2a9a1efecc3f12ff4d824cdd868025fc5e5a94b96701936566e09807e10336e4c50f54ce46dacddadd6d732b6d9c85b50cd69a78ee7eb9ab0174cc73dcd20219ffff035dbe8e0221a551199f6d407072089f2c4b5b96b22cd6dfc8928fd6356863b10903b921e8069d8d709cba7f9d2528ec12ef4886c4bb208c35b2cc7c95fafe6c314203b02c879fe75e865dd01d2b245683f88b26a8f3ea9d6ec2cbf33c21c8e0b2b08a0392fbefcd4bc4a1ef0048a6bac9b8356f79fad4b3a9deff221930fbca24640d0b03027086d7865c1d56ea34bf23210cb97b4111dfb1077ceb946796e35e0c06bc580329f53d141c0d95468482c13e5a7576a0d05f5dcbf03854c87b7fa161d419faee0357fdfff7a525f4c678c98871157dce53c2ffcb40b4e58e113fc8adf7808e48e90324838f804bd8a7666413ea9c821dabb669c43754e95340573570923f2429acdb0391f39c9ea4d75b2e37eca2e18c678469d06541c6fbee49bfbf5351166bbd88a703cc664409fafb9dc00303ba24e92c9aebecf7c18098f09db43dedc4a082d49fec033ff0f199d0652ea1839a3d5fe3a17145f0d5b7152882c5f2f35fd4f604ada11303f18877b2b5ee0717bfb1f65ec3ff99db903a4a168ffe39d75c83caddb544e2db032abc2c4f391650978ff3305c9482c9aa2d14e79ed03ea1c5cace457c4dee3a85036ec3c111bc9b26918b0aa33aeb51c41982e81fdf8cbe9c1dc7885a2d27260ce000581f030564163e70e09214160ea83e6a4ee6ef643533e277f78f0e0abb2a8b62c04501d59e388000581f03c6dd7de6b96975fec380d4d994c4c12e6a8897544f22915316cc6cca28004c0400000000038d7ea4c6800000581f0393d5ada9864e3f1a0f6efe44db846697108f8f687ca5a6e8ea859d0c3740581c038d7ea4c6800000000000000000000000000000000000000000000200581f03432b76140ef9c0d00be20e677411150a4326147742bf9e949744bbbb5700443fa8fb560219a44403b5ecf4061de9568dcb077ea26b81f6c0eb5fd7f5901388521ea20ca67cf3682903af09b92161bc01cb5c23bf1f4569ef83a5dbbe639a03c9229bbbcac2b1c1b8b7031b54b41090cf62df6b648391e5787efa0320cf0f321fefce11deabbf90129a4703898b717657c7f48b86eed2fe76b7418c14ee4b0304f91bd7bebf95e08b348c79031a6d66915a26c17a97517a426f5a4141574e9eb3e096dfbaaa002840f4f41e9c03dbefc03ca4aec3cb40a3e065a231044f72cd22b6df1e6ea1ce06ef357eae14f20380ad9f38b2ac0ef706df6f0668a04a2dd4bca960f5d9f5ed385cb637b1f1c88f03a1254e8ce77aea0eae2860de41e876064409057809c002fbfc2c15758c2f42df0219feff0338b73b2a4a2624e1f56c9a8ec211475289c5a28f78a1309a5c4a9aa31bebad6403676aefcb39089238e8b92ba553e04b77691e81db04a990e42d19c02fbc1e1edf035133dafbc6165a686ed2c93bc0879be5f9909a20491897eec57a89b9a99bb4fc03a2f760ef2b05ec011b121f3576c2c491435e88e3f4958ed0d5a0577a4d90c55703ed591b997fd85e4137e9482006782fa7145183ca7ea324a24ebdffc64a408424036de9817393b195ed1313ffbbe0bc9e09e04cf657c5a246b9e40da0e6bca37d6c0397fb62c0b00e8bf9c579c58411d4f8cc3025926c8a7e6656c6cd2592deaa90670304cacd0789d40e3286d75cbc8ac8ee1186e476805fa93f44ecdee71d52a6f68703d90f02fefa7a6dfd42efcc4876701384dce37c5b678e62deb55bbda800f441a303eb41c18dd21f51782736acbe002b5c311cc5f87bbd092f81cbb4c47a8b59115303e722ba3424fc01b6ccba4b81bbba7cf8962d99bfed514cd07cda21478e22af040219ffff035d6371a535c6e59d080056ddc9e8e67653817321e3a128eb0b49bc94169f89b60303cc7b03be0a880d83f2bb1bcbef80cae3ce9563b523899541d22e33acbcdab203d13cb3f9419ed10679797f25896edd55f1fee5d6e67e2db3adb46898159cdbf403499b946c7d377eebbdfc8a1f8f0455c7c4043d46284fd181083de1ba9622785103488ba84aed21a81d054a7c85ac7017f0b5d572cd85108c1b856513957d2062b1038dc1d0f38620a8526f274a7b0ca438bb1958fbfcb41212a83415727fb2b3a4c303ad222908a8c803edc2a38e76d4f201e7b87b0fe87b8e6c4cbceb9d72b0081243033a931a0f1640476ee1cad6c4d51f09efb0ddbc8c092751288ff5fb520762169a03f8aac781dba81556c8d174c3f51488d1aa75c8bdebdda2c559edf6a40e227e3003f34454fd70b648d76f8e3dcd813f74a004321b90d99f6fe0a9638dcdb0afd0e60368cd7182405a6073bbf59d1b2e8284ed219f9deaaa613b7241675edcda4e821803a5337de872112a99c05c2f3106f4e8f8bf2d7fb8f96f90604af0d0f97946a5fb0219ffff03c62568e9452b97c73457ccb7e7e23723f26972a46498873844452ecd2a47c0b303fa41dfe2797ad3f5464d8753db848f5de9430b56f5feb7c5528296466336213703df745bff771f3aab1b929259a2f809db73d8a80476a6af127e2309f30570c68503fc9352e6ce77a5cd3e39e42c95f71eff6660f0f10109fdfe1f42355da001762603b5220e167d91a84b2fa6cd1b9c7a38768da50922120ee17457de9703eb798fd70330a375fe4be7dcb29ca506d23a5a7a5804614566586234f7a297a36cb2e524240311ee7f8c083489ec92821b09ae17a0d5a6020f4f9d0f137184c18c351acacbd103de329a3c5019c7d46085199ff0016ae83b95c4bc39a3df671f90da815ef2569703a91487bdd0fcc83ad1c8b8ab45242969051194f40a42dd6826019b98d80a639d03bdaad70a4d8981a6fba0df9fe269accdb438330522a45a658203a332d393961003f476b5e9e4fed8271a806e427e2dc25f643b3f2903f6076f3ed022a59df2301e032cc120da0cd21d06b6f78a9b2551f4c2872a81b59a0de74ee31b1a379bc3d8ca03e2b7c6c4488a36c65b602eade07784e246af0967e06162dc2bcc0b9d1cfd9c54035a217c4a597adb8fcd70f4a72715e68306956193225771aac2235fa7ae871e24034163c527a707e72ff64644fd6d95922a0d08893cd367eff518f0faff4e3bfe7803da947483fd1c9b7a8c5a16ea706ae45a6f7ffb435aa1d84a60a5be852a01f915039ca4caa777aff2545954992c47ee961c648b1a5e31c48d864188fa4adb902e2400581f02e5988e575a7cce8e825d4a1feb1dabc7ed64cc08bb705b500b185c95a75e581c038d7ea4c6800000000000000000000000000000000000000000000203151cdcfa484a1720335a6fb8b6ca201a2cd968cb141594f9fd4f411ec53f9c7403ceb6eb59aabb3c85c0c989df20dce28ebdfb7fe3c1faf38938905ffe8f204b2f03d86f93ab31c77659ac2e9fe52b9d961e148f2f305104253349cf581bff1519710348db350b4922d74d55af63fc1c1d514d84033b5057f4b7cf61056417061fdf3003ca9510d48d7f82b34e35bb9b82f2e00db3c1b6ef2fbcf90e2728422195ffc3de033d93c42a24f50156517dd189bf9d00ad7c442ca4deb53c34ca8ff65c269b28990389a9be6eab17b3e1979a007d780b1cb7ec281bb988f259faddf5a6f4bba016bb00581f0376d65ece6f431418781473fd344980fc5f4b5d583a596f00a228c1f687704905277e000000736f6c00581f03c56e58c4f25d89df5c179926d8a3735f6fd2d39654d288d44e1aeaaca59047dc185d9b0ce3d500581f033f1462038116850c6aef56b6dfb9d68e7cbe2d1e8e082bcec6347887a7a0441257004a0219804400581f0220313ee177fcbb67dc6da297e4a5304f83022cc15921bf4343c9a617572f49328631000000736f6c0219ffff030469c60ad186e25d72d81f23b9c8b70613cbdbee76bca2af527e80453880e8f2037dfd042e57bc347bcc86b58cdbe3ca390eba9ccfcae6ad7e232e236628e2cf3c0300b04f3527d1cbcb374df194f0a15511ee14e9da7853b80589a60408bcc7e1c703e54d9cd097d9133afae983e61f03f1c4cc5c5f660baaf519bfbf7bbcf4c5865f039e48c5cc1611b6ceb809d26b969d9d5ff0722adc5bd1dfd39495d20dbef1ef170219ffff03eb7b09c36547155b526d7fb004c9caa637f469f72939036a529a092ef723ef8103129ee85bd3a71765fc9cda88c9c021b69507b2774b229af116b87d5e89d7cbea03b5b36a669c66c9bd48cbf24103413bfc8055d537a9313100c08c4659d8779d6c038a4daee60a8f6a879bbc4ab08c09ca95667ffc794d0d585a98bd97af37f6e61003942de4a83899e65c8ec0aac51322ef535a5db06be0d4f81695885558e9f796fe038798654080e94691538e551105ad1a22116ae7c3974d1acb8ab695aa8c17096e0321f88a9a3d4edac5267f5b9b3e2eec6d330fbd816725387daa2306f51c20a16d03ee283618ad585a8d65ee9501632ef061a007f6d7e5d31da63d43c1b5209a4aab03101e7ae921cc13925a498641ae249ea559eb3e13e59a4e191ea44e48ed52bf70038323002085a0624f9f8def3e11b4ce6f2f0109e90be4f64b959792b5f4d18f7a038d3401af134e6d4ac258fef4841f86a83a7027d8e754fe46bc8512fb11ad27b903c4b3b9c4603a8bd24070d32a27771cab6c8d0a8ce36808a2b39818d069279f200383136548acbf0ac8b5f65ed821773d79252ed0df1eb91456efeb4b6ae8697cc10333b15d96cf1a8c8e29e7927b43d89c9d7ab90d7a202d0de42a0d185539766f310317be5ab51e49751d13611e15fc1ddc1369e73eb660af3cacfbfa7722c7cae13e034366cabd654ff5b24bcdb5dfa166adf2132e4efd72f79588b0346db3cbe55bea034cb5536dbac02d1e66b1615e1f070c6e92bb7407bd73b03972eba4b526d579b200581f027a2c8322f673272a1ecfe12811145c3e57a55c335f2a6be0c8ad812802ac581c038d7ea4c68000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480203793381c59c8a7f244fae39094eb52934d72206a926a7261a03bb1fad05fa6de600581f02c887f23dec48eb7fcfb6c6328a1d9f62b11fa8df016e99921d73620c2750490dcd6d000000736f6c0318d90e5b54994e7d23e72a3cb24bc5a3b5d48c3b695aa946391baac04d302b4203ed195e01fe43dbb9cbc5eceac1f6cade4c0d3b05c3a8e095e5b28caaabfbdab703333956bba9364dff2bee0576b54c6ded722463798b41a799232854d070398673036a38e415bb8b06e0a4afe9cea9161ca7cb83a93b4ac1b373e2031ce7d038b6a203f93c7d0155b424c9ed75eaa09a67b3d07ba7060843de8f55e5f7d12870a0885203582375cc556426788c2babb29be62b7e5b32e94c98719530f6e2ee162cb8f1ba037ecb69b63cd85adaded2ce54887e2900c2a38bdee59999ac6236a6000d249bd903752224c3108beb631a95fa91c5a2cce1113aa636970b113bec80dd87a24a71b5032f368ad8db4c5ceb89102a95612998a9d23c011e1e62be2401f9f9f08072074503667ae6d2f50666c665878ead0059f8aba8980d7e34297b1388eea2d46de4fee003711c4599cbda5efa60ef8a36ae1071699857a399fe0c9cf2e0b03c71cacc0c5e00581f03debb76d98f6f2105ff23090ea58d9f54962b8b8db2aede02d24f33a50a00581c038d7ea4c68000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480200581f0336d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb041010219010203853d3518ed329cd61ec836879dae4f442d569c59ef63b9c8777a2de410af52030141070219ffff0323f62b86a361c11df7bbef698569819a6c4bea384094bc34f58acc3af66a7e4f03732bc1ab645cedc3cec5115f35920c1f0bea2404e4c3b59a46659add78f4956603f99725ce9e1b680e856700613746d66b0ccb2ac86ae52c5ddef176db534fbac40219ffff033ca2416090554fe98ce346288910a205a88067a3af0ed7315c1cb02164208067039bc4f0d7fe401a5b189fd278c4630d655c2695e777021a27d4dd58b782d02f07034c43eddb86f6d511cadc6e10585071979bc91d6d9b703406254910137c521f4803dc6fd07e9a85583401e5922909ef458a65b5d5a413e720691aa6ea93706f4fbd03af283591635e37f2150a32e6e96f52e037b6a3668093f477741fe68610ddd36e03f83b32f69723dc1b8514677868f7181081b6e3e89548de7e75b0fbe235b9a535032b04ba1f31569ec67a3dae684123e3c6b461af807dbaef1266b01cd86d2a74da03faa74e2f1434abd1b4e725007fe12d6516d5a40fb1c064be6cf53b9c9d2e095a0219ffff03b2c327bbb4cffd1c2d8e8f3034565899d134dc6959e959216ff2e16776ba35e403733bbe750b33dbb2787ad0f18f58d746b24257a7674e1375d77146b9a81b9a2b0350733a1b0c33598ba6ea1f78a521a878551d4a401f6573f71943f99cb2f3990303755469b4c2d61473373f5788448b16f6635fc8e41248174cfb803f673589982d030a3978e60a43f7a3076dcbe02517c33865d1783b10764559d3e55e2c0180cedd0219ffff05581e030e6d9d5dd3f04eb765842c9d481f44f276a1dd6a013e8f3ea36c9008500f014907d38b7d0edef81f0219084005581e03d148b2324f9025ef247b3cc8debba0ac3dc00f1a8268681ac4705d30000c014603b846ff440005581e039a59ca8092c2eca11d27d844c84ce817fea98e9c70c58cbde7f66c38000c034713d2fafdd8c00003ecc90120eaf5fc527753facde499cb5307881cc26d0925f2a26b2ff14cdf597e021991c70334716d21943f605731cc784d9d3c7505f222f22d90fbf6020854d6cccfbc925b0372b5d6a11fe8ccdab7dd25cf91a2a644f99154a069db90f17abfb46dc5eeb36d0352f8cc8c8929bc1a85912158939a4d6e2ab49e8731fa6e111ab44608f3461c780376895672548b949c78536ff97cb0c63ae781c0a7636a614aafa85904157fcbcf033d7a17cb0b0f4a56a6ffbde4ab81ba2a3c063bc87fc0a58056da361408f417ef0365a5b43d1a38882dfc00a8788bb624bc197e53ceb6ba6dbdb72a9e073f22e6f40361be41d8a9b634f33c1223da777c750e76b07e38f2e8d4476af8bfcafffbbe62030efb7b9c929121e2e03875cdc17d402cc110b761bd0afee1e1ebc1adf11956fa03afe64a5c1d2dfefaf847bdba5bd9ac6689642e8571e2d10d3188bdabcb7b14e003740e402a34fc87c9b2ed253d59bbcf98aa8cd5be0242aca100953beccad0f38a035c20b7edde17c45358e98844e00ce79c2a3684499a3ebd48afaa85a6f50666d403fc77adc837c429f24dc206688b9793f1d707cc0ac4dcc87ad2415de27b13501b0219ffff03aa9283db2ea7eecbb63c54e9de4211145c5d22496463f9ba7cadc7eab69561f20323b4f9ab8c8d5591544819b2e86ae0df7fe96da39f13d91ebdc5c5c99f1ac14203b81e65651fda10cf525b1d3f220f035632a626351e62f8401a33e449946027c80390474359441965b646bc5b3ebc293c6642d230510f6954a54d5d6ccfde08f51703521cc36a5f4d967c53eca8d2238044ef989b5e545681019e458895dd8d0f18db03add83e139933da0bd7fb7a96aaed046dc229bfef4875543d27a9eb6775491e62037dd332bd0692f019d65dd090c8f6b4be81d5aa6c190ebf3752f954d49165beef039cd8e3b2e1dd1545186486218b4a4aadb7cb33f4628af96a28660bc22251275303687ce20b1a66e5a02e3d5b0c9b3d3cdb64963ef3435acbc2dae4991da772bb84033b714bb8487492e6080424701ffcafd821f6e331c051bf669dbd863c423388bd03e282e5e61e11e0d7087a642fc58a46f3d2ec06cd5c4d02c8b541b0d591f545ed03a32f289f899c3f7c6ea8bd281e94804518c7da1510dfa76fd5195a7340b671ab0398d0d8a2c13d56b0390e0bc05ae72929ffc74f0fea7300f171d36ecb6a9cc01003d6d994bf7e9f2e05bb22333eb01c00ddf5d5ffc2f89a1d5e0552d047d8444c24039a37cb60f8079902e7a24986e937c9844bba0bb187f3c2b63a23eb0cd3a771800219ffff03a40a822723e33dd05f4c8e66a679254981911ccbf82fabde612075cfad8be3a9037ad47a3a304fac03c03ebc236bf8f3a2ccdd5c1e13dbaebccfc4a8ad56c0843903907100c804208254b18c46e8254de5f82b85ff33b0732204323cfd7b2ade882b03a741118bbfccf085bf821139c7790fd13eae1bc8e3e769a6803fddcb05915ddb0219ffff0373ebbaeb3c7f66eaef583eb0933a6b075eaf1672c200958ed9484d0b574635250309163499d5a8dd52058aaa66ac5b050ed1628b031ccb5abd3b36e6d968d387bb032de16ff31fca84b9e8ab33b339d4b6200599ecd0c2d317916a733c73bfc6c6ff035b65b7d80f44d04a966ead30f74d325bcb049ff1284b202a0097976d3067862d036f09ba2407b3da186c5e0e3e1a57569e74d7bb208f05b2bc224873522bfaee23031c050e6ae896930221d5c4cd37623730ec0c58f59170b48b74acf828080826a9033aaca9d5e27c9bbb87f7b2fe013bd9fc21087796e790c470a6b8553d0bc9b4e103472e36f100006c17e5dc2ec9c4d1924ce4b8f536263c4e9894fef10d7dd9855303ff206b7dd780f2612f815d1de3a55044732344b18216abafe2f3a7ac8412e81103ec0c9cb9ce4796665c6588bafc6fa0a47ca53b5984c2df7db54fab11c8d639a603d73bf850d1f5738bf5ac8b86bb16604413a3b5b843c1d5fd95d961c8294af35503b7115d92678a20ae5f585377e30d423a0f7f1f6ff71ef42b24f5b28b2ba6e278033333066720afd06fe9daa28398f1d769a4224fe7d5d0b50daa26ef271a6f08eb0371fe480b7833fe8f209e346b0891c68f5f2313a237648e7c72d0ebb21dc051d40332babbe867791499759bd264595dba1adefbc6abca162712f902d768cc2a9ade036ee52e521241b6fd0fcff1426103f2b0b7d78399bb2cad6e4fff515d1684a3890353cb99e4cb4e2914efe8578c75fd6a8bc7f8c29a1e133cc3b7bca0f974b8318603be853d7a0e463b2ec8ee26b55da1da8fc0ce7e4aa63a4d03f8b20d84d1bf41dc036d96983e90f910fb42ac71d7e2c7af62ef3aab6238e628f8f47481c215d8fa24030cdce210ea881d77119c3b15845a0b854d4effdfd41f481db5201c4394a1fe7c037ec75a9d7e5a49f5cb5efe8cb9761d1ea5f47d7a9314559be7ee9c323ab44ce403ffdb2551b2900d5fbf2c9f4c3e11072945e06024bf90ca84175dfa8faebed2f903612549f5eedeb4caef539dffd3038ca08138af18da877b39df0fb0a00e5ed48b03e6acc0ec3268a77f24ce60834344c41c17d477fdb20dbf2c1e63721c9036024f03df4cbc65ae1ac76d7fe0bf66e9dd22300af40a05b6c22fecaaec7cc764525c640320322b6280d2fa0bafeba68ad3a8c9ca6e5f204f8e3f28da98f212cba3e188d40391b85c5b435f48feb6cd519bfe9a3041718cf364107b58cafe7c01f616eb8f0b0371d9e7528bd3de11f6a78d4f981d9fdcdc2cc55fd800fc33436c2bf439676c7f01410205581e03b5d8d715d2e619f384d5e14ab12888d16afbf7f9e2deeae39395fcd1500c024714901a3237a6b603db3c40e45dd63f24764b3dbe351cf043e0fe3369b682beee857750b6f2e823a105581e0349ed709ffe96a93a22d964368865c165b68c4f718bffcfca4e359e0db00847081b2678752629034a552ba18f76d4b9d3d4b33db25ac84c277d9ffff09255f8110258b914b2335105581e033aa30045db48b238224fa710b97fcee6817b8d7b3634ddda2f4c9d85100c014639a61c2c000003eae9cf7aed2bd232e4c11cdad0eba3e3272aef0d6131aedf6368780fcd09ab9405581e038584ff3f1d0ee683c0e8e630bc4a53fd1c1defdb0dc882402aa1b80b0008473c4087064c27000219833e0350a8133a50ea29db6a24e355bfb386883a877e9b86ad7fcaed202b894cadb9e803492b2aa0d05891b80e32c769f2ae3ece4b84b3cb46e71189e31f8ad15bf16fc9031e0c383eb261401976d47c884e0263d6501edb00012556f0355095726d66a13a03709ca45c5d47ff5c7a382f5b716bbc82688780c000887a5ebe1700c5ca53521f03f93021dfa95316ec7eb6704b425e39a76941eb42aa42e3e222f18e0c93dd58ae031a74c9d5fdd0dd3bda4b31ffe8f3a9b0f02ecdda367aadf4d3ea29281f67e31303b818d71bb24afeaa92e0823fa231a3994dda4221b73a57b24ed10fee09feb0c103934587184b3afc649772fa03fb7690d5706cc43665e208cf74fd4bc473affec2032d39686a7313003fa2be20d8a8ed9347b628b0515cd20f272761eae1913e247a0353e86a91b5817eb913ec47d1a14a7c631406fd6829a290b85d80c00fe26cb34c03e9a6c679f70b04a22f55d95b53f9e36877c4066e98916eb1725cc1df8fb6b07a03bb8b67e48f7bdea60d3d6eb158af0485f586ccf19747ac9ea41e184ac09de8890349ebf385cd688a5a8c09512052604420d48535f977d556de25ba54c1cb0f53ad0312efa46fc82045ba388d3557c780f687cace8a854fa0de7273441f1a1d2456670219ffff03f094d841b707e7c304567a6f017700d755c128a4d7d3824ba58d70f07509f2a7037a1f2d6607ddf5abf4f9e0650744a7c0618d1652ebdccbf20f1cafb3d31901bd03838d028538124ac60cdff902d790a611f335e64a05f30670ebd3b14d5be3fc4003c73c008e9ebc562726ef2a914241308bfea21108273a09985483f824cb3a7288030a1c098acfc992e92b244c896e7907e2319ec0221543f3f767e054b20d36befc037e517b2555bac0645ec9427a59f23164efc7917935939ce919d2078bb90586e703c3340868a27b4f55d5c1de0ee2838371fd01f316d9ee1aea385d531e5c99a1390219ffff0219ffff0340120de8daaa1a8dfdfde8bd2f38634c3e6ae5245c40bb9fe8797b131c1d1dad03e1e05b9ac9d00ad10f6bf5981d394f3f5fb2f69a46ceb7979a11d7193c4ec731031c6234929fcc6232559b2e0340b9e7476abc5b0b939fc55d6a4ef445c3b89f3603350d13897258dc0fa5da3ec05b119cef785aaee1e6984012ddf1395ece2c7ace0338f8e66a9c88ce08a4e4b4c3dfb8ccd40de9fa678d760ffd120cd50f5871bd4b036cd1da5ffa435bbcedfc62d6f77bc6481441f3ceabe68b387c06527d4a3967c8035ef345e6e4f960679e4d6227ca1f89740e080ade7c81107cf6ac016e2f81d57403da5632344bce670e75893b62018285df70ae068c670545cb557dfeb2eb3e5784036af32ce0caf6762f60c8eacbafdf697556e3a18c82126eef10d5f443af66720803313f4c8526ec9f536bc8048de85ce4c2f7a6aebe64ac882ea67085bb9c4d7db1032ced0c0f5723ec4b3441f0494e2131227acbf8421440f4f8059fc93ed65c627503a50b81809ca9443db1e7f45b20bef04e293709e31e934e0f54b2ad8feda68cd6038f15cc647e510204c476fa3a7827d2b241d559a7398387858dde6874c83f5b2703a3f404f95d89bd2c22eb1586298404927335f394cbb6fcc02a2a2f7769bdc7cc03a9da1e82ba5cb0fab6a2f3b48bd27fe462f73cc7ccdd85a532c51cdf92948bf5030f55bbbaa1e4bfa54239547e0dfccb750bf75fc8433d6ad87171c6d007a6b95203ca6ee3219c3661fb9594f73ad6fcb2ba53b1b27f5fc7e562259efacfffebfcb003ef5f4f899140ab9c83e6e21c63fd66c62e70e3cc87c9049b1d77f5a8dfe9271f03b620dc5507be217395e4fa6add3bdc0189e0d4b2a63cac062b1ec3b31ef45d50032cc61717fe8cececf84cdc58b13ecda7a84372bb937fd96fe9dab49548e605bb036cd023ab89c06795a7fc7956d63ddc93c29ee662fd4eac4137d58e716d427b1903c67626017c2b1fc6eb1b75b27679845ac283a6a73bd48ab4fc1b456fc47b9f5503691c9ac4f694cf5a7acc33ed8efc757c9f14dffc8bd3beac6eb313d73b6c0512037ca788be6c5b46d646d8d02075f74f48dfd799f19bfb1cc6d0b4d23eb603b73803167ff7748a7d48828aff3bbeb7d725e2c855fd0ca58a70c3e216f6a66ada58de03fd4228cb3731e030514ea3a16b4c18f4b4e886307a5bd0a1a8c58eb8fd5c0d84035957408308e8bcec2be75300789be5436acbe1122c224419638ede34180dfc5c01410e05581d0243664ff1bcf5a056ae873ec7bfd75bf15dd5b7e883ba01bbb9053b610c024701b61a856368000459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c634300080200330058210387a8b702c11a710635ffc22ccfc80487983096d55652ed9a8263c660bc4b3790410103b62805b29bc8e5f1c6e542a25527f2b3346ff74d4e773cf39f00c5fdaec407380357537f38c08f197e0843b38818ccf2ce6d992b1780f9408069254665f8ee1aca00582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154c86ab72dc6da7ef91a96650f3bc23125cd9971300058200260b7e9f0ccd6bf9a6391a9ca2c6888fac2896ce5b36f601d88d35fa63415dc4101005820021008faea9f2a6980362b51cae0b98c4af4c2de0a4cc6126f25e5889d93fd89410102194404005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054e67534a9f24cc000f467eaa17f920bf63b87a2cd038d4227d904fd99b616eed62e291c537741b3dcf452e88fc0130e47a4d0dc32970058210398a4a320b5832ccd560aa52cb403d6b3bfe80e40de09249db046a3458fa59b50410102190cad05581d02cdccd07922372191245849a4ff8b9c705e159fe056e83483e1b076db0f01480b3e695758ccfa1719085d0219040205581e0381f1590aafaa9c9f7f60863c32bf9db8906378f70c8a038fdbbd6c2f800c01461a2ffb0965f0030c29b438387f0b5fc11ad3de365a4f4527b7ca8eb53900481a61c93ff0d6261b05581e03c2e709e23d13e6e820595dbf339044d655785d4967a941b8b97dc91be00c04467263adf607d802190e68038e67ed02aea353b32c92596cddc88c7550ceababac2a2389467489e415ab206d03b331aa949eff44d8cd49aae8e32923d07ace5107d6f45d580f00527a3ea64a490359e26fcdd1bcd8d7aaaa3aaa2da861245433cb2ddb53d2aedd8520e6287a95e00340553c8f28ecddc9b440238740f73a55c4bac58a5ccefab2bc636a56c4d065fc03ee62cefdaaf19ffb159e0ef51361d979f4eb6a27c72c97424d879916c27653d70341cbc2ade6ad5a5ec9bed80b4994e943b30d28f89561dc9b5814f2cdc55f7af60386119c34eed9db5d93df6e7adfb76513c495073a69e8908b7a32a724886b96b503f4f49f6ac62d32aa0660e6e73a6419c960b6c56f2c714095e479c5e323b17149036ff069a3882289922ef2a7e795306b8a8e0126d4ec3cb9fa89f96d4edbf1c7ab03da3b213f5c1d150a7b995238f2468a1c00e94f68d797e201fecb21dccfbb5c9903bb21eace98997b6f8e3494071ee08d62cf461e09b59ec7f36fcee6c7a3753e9703122ad5c1a6533071b16fc50cb2efa2f491c7cf353aa0edc8f46eb92b918048bb03e970a43246b593f48e392f5c31169c08992708346f9b1c9f5df325cd39a7fea103f3a46c167c5250a4d939d925d645c587ec7eb86821fd7861dd0a4722f434074d0219ffff03e318f37f1e64ab7f3d573b83200e1fb281e1fa3ba75c618e05cb4f8423488d6603103636aa59d6dea2ef23e7645006a379eabf0881e306b80f4c67bb8752bb1adf032c1736c834b6cfce28a0d5cc81f6ba623cd19d2912bf555ea8520b2c9adfe40003d87d0136bbef08dca2fd808d65108eb6acf09284da9a69a5e5cd70081cc9dd65039d661729732694ac895f53fe42b2680c42823964c3b6c19cdf9957f2dd8881f403f89494c439ac02d110cd1c8cad72f1507291b3a52f2c055ae1c3bbcf28d99fb403f4741fe543c8706d9ec0431750e3fe67638e4fdf8f5cb1f3c70e00cfbcb787ef03320f01337e83c3f4a4b82f3c18bacca3303352906d2cadc2274321d97195326f03866483e260dca648b3522a354fe187aef0300dafbbcd4a26cd7e1373ff02b1b003875a273c4be6507405e27b1fe9e5425517fc684d3722de7fcfa3e6c744c8def4033b9d95f5b9539c1a7ca2beb1da1a4b748b4d7ce0027b990f3a85aadb58953c2a0219ffff033ba76362dcac0793d1e253e0286c63bce5189320e135e66ef79f623f7d6b7d5c0328fb6b1921549821efae61acb0dd232de8af31fb5c34ef140d115b1d67d11b2d0219ffff03c6f9217f8f74a579955b93170e976a9e0446902822888aca3464ab93ad186e3a0219ffff039ce43aa15fefc8c5f1de37d8f439c6d2ae9d5691f33cab7842fda5e2e034d14303ed61c7aa64455960f74f7e6a9d70c01a61cf1b9620dcbdf21215984fdd00c8f50396c0fa60a8a5a1659beb189788cf13ef0388919b23c765f731a6b0d2fe96164d03224f64dd07f2d8c43849027b049cf0b71fa2d828b3b5b7e68f6895a984c2040f03039f57d844dc9d74c48021c8cead1ea2ddedc1c67bcc384ecf2fa6338db8ea19037cc9e3c75f391a66ede2ea6d8d0e42894cf63dfb5ad81db51af01007fdc9711b0323f79fba83dbc538f64ba2d59a988dda5f9b3f44b3fcf6ed4bd8be97af0c94230387de0e91277bdca32df0511a80c0a7770cfb96dac36b8b90e0e2fd446306ed66038d996ae4e6df809b589b9e9dc13d56b3bead11b52b71a5c2fec26fba95833ec403336e84a30db8430799b6e8c2b60a847895612e2564ca652df6e178e69a76ddc8032133e1a176f4d4d09148e7d31a88d035e6664fc04fff1ab43815e4c2d4b3fde50367a53b3115c350035474ace3585222efcc696ff6ea621600ed42e3205c4c7e340310407edd24dc33aad2d77f34e2bf4c517cdfeaa67f3d3245090d1819631b6b2e03b75050d2a04a76c5e4639f6e07be5e836724e884df4d9f061d7801a29f4cb8070315cefcd778681cf91e860cc041d9a1f0c868747466facff401c0f477b46c310003bec2c2664df41e7a7c8167a4fe865f60cf7b09ff187e6e7c595bb3002c8dbe880390b4d87b72a01149fa7c1b7c9c8b1e4a0befc3539cfbd20c842b890c8465f3e7034296d9ba4417ac360c3f78ab90caad9ee2cfd135a6235490435609ba4dece163032463a2d4d9d25a5a8e302a25d01a61b675a249e48fdae0f222d3745d2277f98603427b8fbfb35c542435de5d0318d3cae26d69b2ad27df866fdb61020a0da81d41039c2ab36b0ccce9c4f9ce3c17228e6442128182510e763c943810342f3943536803fbce9bd9bd96fe067071acf6de523f63ece8b0973234f446faa6b49693b8c837034918299ae72979e6e73ad806b1943e8edb2aa3c7c2ecdbd5ae5cd9b75cf4c1bf033f41317a78afd99ed476025aede23b494fe1583b99935ac5a687d6acf6d664fa03043e91a50ad3df49cde43e5772df108cc58c1f9af331bd37e8e891a35e442215034dfb9c58343f8d1c56ae4ac25f8ceef6a74f4ffb00fff9024029feafeaaad8d0037a0210ec7f902beb5345799b5ed94e5caef7d1fd53e9df36a3d6cb3ee189b206033181b578e3cc829b7e9e5736ca5399f467822dc67e92ba06619d903096067ea00300b7fe920669ef34b3e973f4e070d464f4ca8fbb3fb018c3c4018649cea1aaaf03d253c5ede506c1190418813c22bb4cb7e225138b31ecfa8ed47c90973b17ce9f033bbfec4cfe81ac76003088d990677b8a60f0f977b57b70c3a78c5de2aad65914031d2822d403fc943d51caf32fa3718ab07d561aad337f17e9c9d9847e23affc6705581d02747c8eca3ea3619d94acd7b82bf4557cac208ff8645df6f88ca00fe6040105581d020d83b941eac61c93ba8b9e1ad4670ad619696ca63dfe9d6eec1317c40c188647a96a9d89b5fcd0021902800336ec0f1712c89b0aaae80d4c8137c12f97e83b8120ac580d397f41c24030e6f401410803ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0353fcb341964c91824b41f36c644d65e50f53a6fa896e2c5bce03db8f2007011bffffffffffffffff05581e038e811992def7abea3dc62221d2a9721b67922849355e2788e0b1a2b0400c0146653a0cf6a800032907226d322e5eb94daca44bd3b5f9e2cfa2c3405a30397e612e461b76e5d4f703df06406cfa966255082aac6ae07a964f8f12002d41865d154d455bc1524d35ee021902c703d95406f885dad60277418043f4de10fbf711bbcf703a84cdeff28d1be60e7b5b03917372b9430d61fda2079139bd90201c7cfac368fc484b82cbbd4f2a15cf20d503a955d33b8acf1363c64fafcdd19a51fa96e92f82148e49a5d4b224b2bb05611e036de079f58d451ad3816d9ad3ea21d2b9c7b463ea72a023ea2b6d81a1455c450b0219ffff0383ba7fa376a1653d9d77fa6118af63b39eb66873deb646adb86c5d2f977f51fb03e29056e1170d96e3733a62065e967933ef8dbe55156b3465b9dc626361c6689703c6edc0bbe2f0081104297ac12416633891d4280fce1fbef03d0af3057014a98e0399ca99a6d4f8deb5cc6a0131c57b6122caf5347ec408e9408e652a869e2f0ce20390b0a42fcae68072b78be2c709cfbb251fb7047af3bb72037743a2d134acfcfe03999b687f2070ec38688f12d89e4afdd915ec80c8e60d518d09bb4daeab8e9f4303313282820794ff68ae0b1ca3ef4fcff57e810b18d7d96276daf4a05c66a51da20219ffff030b55d2a068fcc25e850e739782275ecc5a4a6f071385803c42afc42e21f7000f032e1b14664aadc12b53e4390d3432f18b2e83ea7c387e09e99b96e37813b1a2ee03752b1e7ad4aa1c8120aa96a824865f8b03341f5529700675f13fe094a10dd2d90219ffff034f1c302808958673ff0f3213d6c9a371c84247bc98b4afd540eb2c7849c5a64c030ceab6fe3381df510280046363b8d7ef081fbb826d846a7b6925cae4e196509b032c3e695ac4f32356f0dc77d1016495be71a0142e61bd979747b60763f4a236ff03c99c65ea59568ab4054d9c406b63fe6f41761fbb06f30979b5a61f3b8f3975c80346cf5981c02c60256d9412134c5b86e8b767df9d141ea4110a4586c03905a6b90303d0620eb22996a430d6b03ddbffa439b8bc851877d0bed6d914b9c5957c443203782040342fb52dafd0eed9d97e146fc42791540ca2480da9eb4ac382c581198003fb10c943eca92aba3ef268229508297a6f569b42e99054d915bbf518e35e8fee039f34458f601687bbc591356cbf7080fd1d99ec5b646551c00f60b3f850b4103603057fc144b483aa75cf0a4422e7b19f950112127ecb423b8ac51c718808975afa03a524ee8bd922417b6d50ed9873b74e762288627bf3a25ea88f257305ad1b603003f2beb6a19341bc39616e25fe94f1efa4f58cdcd38d46294d845370351d66b7fd03023025292a341d4700083609eb3872c6fed5a349c6237840f31edcbe1ad51efc0383fe93e9bd2b81771ec18803e79812b2f811b5a9f499b727e3be76eabb0d156603ee930fe753742add227fc5119112e814707396996b6e8b68670ea9ba28653c8803b61d75ec4f1ca7f94837070bf838e64c54f1d9c56f9a6b60a43f72a96c770b9c032e24aecc8ee58f5d4ef1ccb32f9e0c06ce2e39e9ebde2d21d28486eae3d28dc403c8246eab8172b8d57289e908a6487c5c5216e0db9a1ed479cd5539442c132e72031689d18abe28a73d6939b2b7fac0c3e09bc4fb1d89e067172e43c350b98be5830359e35f0b50ff78dcf975e800b8b43bb7f69a99c9983be3adc41e8e8e6c6be0ac03adf1cd90d8bc70c34af3d4772492f9d6ab6784a4c99d85aeb1b2817383dee29403ad8d7bb69355cdc6a25e1f0b71129d45891338aed4e57ba07a7f14e6ccb99ce5033d59c7f6d34be931bf9d5e4d56052eab166889b3136726d0350e63c7311b7a120374d86aaf9b0aa77214512d030d456e8da88dbb02cb61b3dc45b39deac247ebdb039ae52142fb1a770281ba7984c1607e6987ebb281c71a170b4212b3da1c3950e60348c9bdbacd2102fd05ffadffb87626df195796c94d01c8db59420966f9c5563203ca4865f41e83e0496a9a3102ec6c06a550c9b30fe8fd755e7a3a9336e83d3b6003921a97a1a0c62eac12da359e32203d91de9dade937ffed5d7866b6661ef3042803e2ff6d5a1959b520caa3219edbcb6a7131ffe02d01d2540f72523ba6112340ed036e744d55f4ddbb2a96f299ed75f441b9be0e585c35c9d52b2fb88d6bf212639b0317aed02b4c04deed703ee6908862e978f44836377f893d318d3e9128d5dbce6503e010e4d8816d2623d0c88ebd508bcb8822ea0787df01cb189e00e65f56b8085303b2f2bcf945e32737f2aa1838f7df225ea1dfd339bf290d26353c7be4f343b75203d0d7a4acd28f3df39ff41512552bcf9aa44d035107db12ff7b343ca47bbfae4703b662f72e427784510c99f7ee89e485249760f2aec8b87f5c3ceb40bf4803101d036ef11045a430b8f2db0fc101c948ddf96e30c358321d5a26d52e44718fefe50c031a810ef728ead1a1fe686afb203e2574c6910c96614fe21745ff5d7744bbccb90363d406047cd412552640345847f3e293b9d6044da0336ca598b10bb44fcb062705581e0387648cca3dfafe92b963fd29b78bbe5dd5d56ab07684e1e5a705a253000c154701b37a6898e41805581e03eec121b39ae4c2ebcd46e320fba386b5f5931ac9d8686d2c66f2ef5bb00c04470228566958768803ef6ecb59eba6a9315cbd9e69cb49edf178e3da679c56b88e13df369ea661315b05581e030491fb6116387e5f278d6b3136bbb7eaf4e2e52a566a44204bf83da460040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03721f46d4a881f240a3813a7e808b876c5c1dffb2803f3e543f5cacba3007011bffffffffffffffff05581e03fc8d03ed7d2143d69be2037294e57a4afdd6516d1f9a2de73686b5f9800c0144b6b0304005581e03b1c745ea409200ac9eb68d3677e56f7060b26ed11e6b2e2adf37d583900c03468a7ddec090b805581e0382650663c4bccb5c798b8786ab47daf39cd983d29a88b39963fab91020040105581e0351c3a7a38f9100a2c308c42eb5f97aa512fb3acf540256615df9f262c00c18464802bdd2cfb2c16183032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0328b1b9a663daacc71fa778aeb206b170f7e22556f58d12389c6216327007011bffffffffffffffff0219f75803b71b2ad72a8703d13a600da7fb81a7813d70f2d99058c882ffc6ac047ae38fb0039e0230588368a702f1c28285bfb9d281c766544d6b1051746ad0fc079cffaa2e037e648014723bb5f0588f17edfc813bfec33933780aed86e881fd95bcdd345db20219ffff0368e6d84656b0f6e1f2b6f273827d1d772fae1e820599a0167b20761d7b356243037c4982e6db879dc730e0585b9cf646919c50317526f9576c3c477d41c203256d03a36c94318c546421d7eeb90e67bb864a41882ceda26960a25f36c00e2ea596ec034549aa0c33b7b2f065fa272acc95b01c090da5322d7b8497396ac38a67df97800219ffff03010c248273705ef4cf3580ae8ed75b71bfb13752f17639584807032b809d159603330afc3e15fe12aa90011a82e8e225b57dcd12bb293e9194ca11db78cc9184eb030d76a08ec477c0c990c30b53f5da716c9b5bb7c46dc563918d5b08f5e71584f80373d890d0c1eec646a15fae7397eda12471d2a6a676c9da036b2f1d8392d8e8f703df9e2103389d92d0e47429f22647ab79246182bf263f72debda8e1def491492c03e1bc2be92624b6e6f306d7f1c1c439c89600e357097ba657aa4a7fdc9a67601c0219ffff03997585df3a79acf7ec6cc02d77418f74d8289222d54b6c543c5097cbd3f7ba6003f3fde2b16685db1265cb8558fe9d31cd3b66775b130b09398882f5b349a0d86803be6fd9e5d835f6ec18c66223e852a070db8a21e80ce5edb3045353777717720103a3630f2142b36fbc6697e40dd0d40d77d8bc2aa62920bf33f8c922d93ddccf4503016f5391f8e46d614c289e76afcf2306900e1977515edef69ea196356c8b36c1030513bedc6e923647eb4088a5d65904468bf47cee5a35db3c2dc865488186355d03f650ef29529861e7f59ec87c4fa69319bcabba5afd1f32b5f71a798ed3fd90ee0219ffff0363db556495ed09355cae771b009f57d9db4e25f4abcf81bf2c3859c84d84b02f03bbd40c4f6699c31bf3d37be6f2103d6d6d1eb0b5059b0a32ef8c813fcf57f27803d20917121947ce12c74e6bd58092d6d521804178b37244d327bf065ba6288cc6033f685a06cd85a9e96bbfdb0f14b67d007743cc20fc860f90156545837513f75303a80af494ff7e14301edb3bacdb95e9da611048779c100e3112bdc110d9fedcf103b93bd09bc178ddba428d0271840cd8c9a37a212435badee3d69d69d9a9e9b7a50364f076768b18c21ea85c012f760db0ea966a679ee1603a4e02432b22d2c5d22a0379fa6254cc3d6519b9e93fcf58817a7bed6e10d72863ee78f5155cff249be26e03768d42dbfb67af0ef31689de3a55681f9bef2a4c5b5b49d3c15fcd7c069640ba037901cf9a63546ad47168f01eef354e3f7d23d54a060d8f9d10fc03e4df88d3f903106114d5da8a938a927bcc75a01aa58ebd4eeab068b77e9c1f1c5d62e0917e18036fff70ef4ded1158c996ee3bfb27e05a7012d235e6b794a25607759c32e5981203a72497b6867200a75471d620c9113f7edf18be9434966abc3cec1fe0193e3ef40305788a4afe15df7a2b5cf246da1e51e85ee6b09ae111dc07d6fa7950baa46e2003be68420c3501f01df91465c52e374712c5188a303ddc57572830bd5743b4d8de039503bcc2ac598a104f116ad69b754dfa383fe8cf68975ab73f80647e7304f2cf03c27280077c1357b21c7806387d004de4fe350d795978e89f92940dc8762cc6e2039fcac808f5c40aacf41e4a516186ef415dd0bb93a25cf1784628ff2de7e4957803b78e4031fa38df7c7897094f38b0ab53cd47f50078f13b17b7e6baf8de712fcb05581e0338cb66b08d5db782136f320f7a20776a2d22237b853e885a228d481b80040305581d02a832999852ed283d25a39256b02cca2521f54f20d24e27d1a7d33744040205581d02f90b93340c0aa78e7d963915a2411e49c9cf0c576c33ce0bbac211a20c054709d6363a84298202183005581e03099c3e1b788a30b9bc5b58b606fc612e2ae0d5e449b5c7e3567ec6c8b0040205581e03c6e6e6834621db0b61eb40a166c8b1846219e486fc9a9471db06679be00c044702689de293511703162ec5ee81aab22ec3d948fba16950f2dedce686d69fe2a3a626811660d9bf6e03f93a20ec6cc27d32d81c5111e999cae462b29a37ee3c939e780fa8d34ab3283a0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803977c56edfc7f4aa8efc4175198acc96ebea95265bb6584e5942087bef5500a5205581e0394c40a7e02c5c37823e70769385a93f3aceac1036ef000fd76409ca7e007011bffffffffffffffff032f62de9e12b8b39fb47ebbf539b557cc2a67e278b7df3daf7db9de218c5a828b05581e034974299f0df9a20e992a9add0addbb068693e4767914a63c36687507500c024702479cf0d386b003e67aa9d7881213e6e7170393589607981ceade9a01fdc03e31dc9ca47e98ceaa05581e03eec7dd3faf3b9f5d22e3a5564a08e212d723d247980b77d43ed2979b70040205581e0386dc81c381ec6dbd31551cfc60e93f1ea1345a6ca06cd4dc2d7acf3d100c0247282c6fa47785dd0219ff8d0319e79d0371f3c2bacfb384b1c0fb493a5338c822712eed412f6203a8469f61600310cbe5a5fec44dee1cf0c822d610818696d734775fc4a0051ee4ba9e272e347a037af88cb06bef5e7cb6e78451661770cd38094b14336f272cde80d981819f071f03efadd45ff70ac9b2c4fec31a59b64a01d3ada2e65ce8b927ceec2b0fb872d86203a86eaed7669e8f3b288457fc5f4968e73c04f625b2810c52d47b755399ee527b03ac6777c1083b53049f0cef13d3e98e8451d228028f9343ccc881f2a413d2257a0386987eb2373cfca7f6c51fbf818a53dd528b6d6bd019ba9f907060013edf8c7b03ee1117902a2ad3488491b752dc041a569910ed2542cf5c9a89d96166a35e8e7803cbbcf4971e5be13d16ad41897bb2d0e1c7258566e7e85f655a370e7b0bd54c3003071bddfbc398f828f4eb954eb1f307a6f4f73f4858f5376ba4f41dab6cd530c8035f387d6f8ce8ddc844d292f3743f9091b60d037190d03e3acce6dda3a69924ba03909efb5731bdba1f3ac97da92a9d11d78a065b830ff121280a10e6a73e80eedf0219ffff03875949cf41ac726f7dd4638a861c71be66593efe289a12831b8324b7fdeb6c4603f3cf4206e3ccd0547277e14c20a0d44c3380aa43bf9576fece07bf9b883a9a2d0387c0a530f3d97bbe59baea11fbc235231e9a54468a67a3f96aae97525fd63ca70392a8f3575f87b307a9ef59ee5bfc7e232a5bbc22f1106313fc9871330e05c06c034e4c91a6a702c94f56a7a75145e12a57296581c6305ac0bfbf12357dcc84590d036a990f8403d8e16725b44ad72f4d823f5e30cc0762ba703f3111b62b7e58c1d30376e836e029dfafdf7f7d37eafced4727023cbcf06ff3819b43829c90e8df3ac303841b8038031ade46ede55c7a4e961d079ff9d7767ad3ccc5e20ea589c3d440d5030eba1865c16ab3b489d83a973f3a891b6a70d0104459db40761eca8d1153753303b7168905e88da4a8e2fefdb7fcb9aa87ca36526c9c2952dd76f2a1970c838dc60308726e3c732a0a4d93e9f13c650b8be76cae3a5bc5836a0e2fb4589af7e38f38032d38b321355b124a0ad3939ee15d2446ada27ca9e246bf8713e75c7b55206088033853074d20425610b1f9f22ae8424a8ba207732f48f1d36c14d18724759894540219ffff030d5a758273d08f8d1459d88e18e260a430f1e36111618bc8a0cda39649e666eb038aa4b04634e2c62e1f99f3b84248cb3d29b1104ec3da6672d8a1911e297bf6e5039f6059230a8df73ea6c57c1dd011e67c73a8e264adb64ffd457f3ef8794ab59e03578c34f1038923c8dac2300e6d55a149b6f5242fb7a63c6c8ac755ce6b2a0ea9034c89cd6d0f9ee22a7973c92502e85f3fd3c09c0b9733606e26cb356ab9dfe934038bc6a55b17195059c83039576dd20030d5303023dc9caaccfbe5d5a0d02391220219ffff034cc46fc6d070f0632d590ceb567e6bb8e797859492b2ab1ff27048c06c5cf52503bbe11037daa09292ec037a2e5b34d2504ff7ab90d36f4e7d8c226cec175d257903d6949330edfc2284dda0335c8dcfa8d7e8ec17517e50f3dcf2a56da21a6a286a03b951895031aa120cf6a7f7efdf70b1d2e7cfb1414f56601677380f2bc8ed2c1b03fa27625a427cb889f581fda4379698de655b5998d7b1ce79d6982cf2a458aa5c03e3a26537b9fcc1b2e24907fbed31e9120340d238e5cd454c3628acdd3ee4acaa03f1497af8f7c9d707fe57c069f86184be236941df6c8ba837a2d46d7ce634b86303edd73b18fa72bb19544bfacdd0654a52577b4d9558b533a57b62ed229bf5ee9d03aba62306e0c06bdcb18e9fd3aa84971d99843de4f6e08dbefc038911f6fcfe9d0375614392169add61fc3d949c84348e6d4d50b533774e4561fa0507f75aa893100384c7ced58f651de36f82f211b94f4ef9597f68e9af20542f00c76453b55639f505581e03783953e8188d277adc8c8a31bb12c1d4247bca2586fbcb6f4c55b9ecf00c0247011b774ab965a803cca6ae36683ab17721c54b21265ed3b665b22ae4f2ae128f0da770ffa59fb54505581e0391c45f0f505926f213fe3c25ea30aba84379cfe9bf501fcdf192532be0040305581e036cd50346186529d4a0794673e3afe69ee17ae582551617e643dfd1973004182d05581e034584c0c78bbc240857498c911c8e9ed3cdf6f9058f6d254b1ecb511420040205581e033818c728ef3ab405d6f1a1a120d29031237241145a05b041d6290548f00c1a00042e9f490ad4ec3dba6dc5857403cc590cbf28064ad78d5876eab6677ec4fc6ad5532b4178745d8b031d60c88c9f03edfadbeaa81d2673e40b8b705b822525ab7d5fe0f9687eb8c3f9386abcb3f08f03f1646eadbe97dfe35493fdd521ac43de59548cdfb51759f8d7c9c2aaf2a971e205581e03482aa969a476458d93d101bda9fc2f1d7bdf5e8f28e0719e7051766e6007011bffffffffffffffff05581e0389a4aff43ea3233c86a2eec824c06cd17a61a5fd16e5b583f568dc6dc0040205581e03b9d6dcadbe91eba1fdabd0f4cf1e7dbacae98ecb80ac313f2a6cba71100c024701b2739ffa4d7805581e03fc232722cf8f9ce1e3c3d9c768a718bfe80b5cbb98d86e8ab90e00dd500c014719e01f6d4ae80003cfda615034cfc12c8f0ea9ad0090c81680f87cd41137b7d0006d4523b1c82f2d05581e035dd46671d4e58a1cc21155b1f66d4f67dfdd2fcd4f7aefcae839bcc9000c0147048859fde5b800021977ef03f778d9838a7e685f6a3cba94aa7e991b867e88374e52c2648fb0c0240649d0cd037005374d32a868aea71638d0ffeb7b2e15e3a73a2da3fd81d95d0398c88bc32e0377e3984e755293ffd9818d0211ac1cc1f6a460aec58f87e9deccae6909638a8c038c2f3d5435477a42d48ac5130b17738c7fa5ddfad63a334569f80c18f665043c03f31f957912495571ca57fcce25700bda5f31a41b5d26711dbb75be0a97f5a9b203d1eb366e4c8aaecb1238a6c43ee02883cbe1bbcc81c85af8b540b57d6cbc4cb603210d9309de2f6d5fea893b388a0e360ea1b897b6c9510fddd10ac2a417a3e7ff03e6f7c384964c094f0426592bcc961489bc99b6d0a50c4608d087504ae78de7f703fff7bbc6a34a95c937d1c8e50539a6a99413b13c5d327a4372b0389caf202503032d29c85479c344ddf3934030f2c17740e62db4f089514ddbba0cdb0f38c1bd0a03eda5eeb28bd80393601c11948be71c48c7c3e1d2138ab5f326484c3b9a6c78eb03d182305cea46acd460ef4b9c13000f932c6af7a82907e38f2c514fac79d0c40c03d87c048f836a1cb1e818c41ccb0492ddae27a5dac32cab70007307c351e6c20e03c470a963b8bb912f9bb139888a215cd0f4aec705125e377aa7cf5613e491ba530219ffff03998068ee3c27126ac495d1780741a7bce6b40a5238b55174724c4b45d4ce7c3c03a88f10a1b11714764c6fec044a41598f7972243410fc2c3131cb41cdb6ddeb4d03e430eec9061fc754612fa9cbae2fdca54d2ab0db3a0095cfd01363ae69dba71903a86594da5d024a8a1b4ffaca1e422040c2110726773b625bda10ca526db6ab500353f199c592fe327bc478ab13de3a1897bd3e66cfef9ad3d6974c0bda9bc363f603f00a4c52c194f56906803d0d14960e7aea8a61ee5275685d598216604525358d037bbc5b87be034cd60e5379b0ef1894dc85c910b3acc4abaa53e992b3de4a01a503a47a03c16e9f212340097690eb014ce37cacfe898d6fafeb43f8d72f6f79717b0307ca875563599a78cd33dccb406ff2a0f33b7db7f1265c2b407729862d89fcd903f5f03b0f05ce38e0ea1a4147efc2d5ae2606d87b6a61fedd681b8769917ae025038f6ad7e43d3626962e95c8ef9fba51acc9fe13d4ec10a0033e2d1ab3422ff2aa03db5e653910b6702b60f8eb41677cc01a3a8d2d2c59a9cbaaba717afdc9bea0dc0304962628137c07d35f22fffb7ed419f50b04aefcfa10ccdea000528b4509a4cb03f0c86fce4f4331a20cb5f0f465d7dddc72de578b81fba0464bd522a75b2b6297031b03683d3a4579ae44870ddb73d7acac8300c78cb43b2419977cf33a7bc27b120219ffff030a14dd9d82040ba86f4398cf59ee24bc18f6e77acf04a78bf890ae2df8404a1103bf815ac4bff250780ab21d46b2c8306bd0e524a16f1e9e0f21f9afce4558873a03f8be68a13f59b939c534dec06c1d27e94ff2a9d6e8010dec281357fd6702eef10365038f93933f08703e248f481bbaae3bad39326629e82f4666d0615f692115790301950edd4d96afe2b770977d73ad9e2224ade76f8b8ab37996113519877ad01d0219ffff0306a1187d7c6a8bbbb6da5984378ca34d1f2a28ff2736bb7c35ac904064eb326703fb46d509e6e693c24b408c16e9ddf9404cf2beca1f75c10edd7c6e0d596f18ed031d29d919212e499a1c540fcf7ad29df3798abfe4de2a3782fca95ca13dcfe106038a6d627153b25d6a3e04682e1637d4885481c4a9e37deaba956c69250e1ed56803fa164e03e7fa3e1787dc31b4556169b0d7df17d702d1ff2d24f97a2943bfa5fe0365af8cf172c468b511673518bf589627b937fea2fd7846363d03cbf0d26b15da034e70527efb613ad257ffb3e5ebbec267404699605aa1ab79b8595b8ed85a4ad003d2da8c8ca2b6faa935488c3dfde8a6a7be703beee09534654c4f05e0e88436a303e6b58927be7f7b955db714950b77eae30af7ecf5615a62c2bc207ca3171bc3f403f4151301b89432a6ee04448de2ea58b14dd3e00270a86e9c69576c2859512a6503b9e96fccc3740e2233bbda0bba26519ee2534e550dcee195facc39b57160ef2d03a18b6f5397ba3e19cbe981b97b0deebda17a756837ddc0fd4f24c903feed29650301a97e6faa78e6089b3ac4f210a962b8e5bea420478621e7e2dc40b5479fe90a034456778269b3113b2ff691855ab25352fd28504d2421db36ec3849efad643b7303d4521ddbe6f3d0bf75d38692bee6b85e26cbb5c97b03c88ef7c368f9f757c91d0373ede1ac2cb0b3d71c01c7369ec860b776895fed91f0ae6766ab978eece73f6703530bb22d75fd289cb97bd6e31204debe5ed1aaa292ba4ea132d744e5a156997e03f857efb7b637085771312af9c464e0f2862ec600bba6c51456e9b4af67a8d38503f7465778a2037fd48ea9636b334f44c0e08b24ab845ce7cdbbf62923854db5510368378f44c3c7c872d8fc7b0645826169b18932314e3a57d110c99433278c203603e3c09bc55d3ae2d34516e3a71c36e656222701073dfb7f87c01b721c1d3830290360f564932dd41a8a4dea3cdbee9658187cf3b3d537dd9c311204a31227978d9305581e0340d3b53734c1d12b10d85c37a30a53d267359c9dd544cee2eb43a47bd00c014680318300c4cf05581e03c63fba6fa812a19a4d2bde58064bb9648d4b937fc5ff24afc314b57230040105581e03a399518a9467d4130a1663984e5c3e234b77d4a17cf459e861f1a0ee50040105581e037d89949a83bcb155aadd6c3e146bbe624cde7c5e79907a83c6a4771760040105581d02d8f27d9d64292307e3723b797339411559538f2a7d9855d4251155ef0402034056229697eed1802c3f2860b7644530c859dbe56e7b1b95bdf1225ec867f3db03b38ecaabe48a66730df336d0a45a7435e9dc232882007aea1c0d7e3ba037b5b605581d02fd227d18106433c60a8312d05a9cd5589a84187dfed115503453494707011bffffffffffffffff045902c460806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e8383604051806060016040528060278152602001610268602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e09190610218565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101ac5782516101a5576001600160a01b0385163b6101a55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b6565b6101b683836101be565b949350505050565b8151156101ce5781518083602001fd5b8060405162461bcd60e51b815260040161019c9190610234565b60005b838110156102035781810151838201526020016101eb565b83811115610212576000848401525b50505050565b6000825161022a8184602087016101e8565b9190910192915050565b60208152600082518060208401526102538160408501602087016101e8565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ff8e6f2d761d58b3bd984933269e01a7ff1f70a460b808056daa4cff1ee8ab6964736f6c6343000809003303f9d62b7565beeae389c418784d5fa95d0346e9a84ee396357cb200246f698c1003bcde08d38073caa845627678721f574214b5b669676f56a76daae6416da2041e032741f5e337ba20e4ffef63fb07857269179bbe0834d8a339d4d4b344f86ba5df030491c9a7ceb67ae76348728a1097b8e108420715e2c55adc07149396c4374640035900c1b94c0aa1b5afefe8ad400ddf886ed1536b6d8eef1326a666b2914cbc9f0331719084af6f9df765a4e4fe42ca4eec66c1ab9e7497454ddd3f323a61f19773033dddd3481647ab6b615db756a82ac7a0d91612ddcbbda2611c8991cfae2d6541039a1ffc27f48750bcfd48872ea9204632d7615ea29a5cf64a1712589421cadfb70373f3072d363eaf373f41118addf0543c06695e7e30f04327e37044e77aa2ff4e03ff2bb60fa4acf37fc8256bf5b164dbb5d585ff4e1d67803db5471fcc87ee12f403d1bc3576b39192cce922749df837bbbb9071be66fd9b0f9d5f103863789ae7d4039195614767e5fc3f8bca75d9bf12602c9c2b020b8702e954e1ab4d20d8607bd7032096a0b9b702840480985dc29504c6dc4cd486de0bd819cea73dd6f18fdf190c03e7c55d75f4e9c5cb2f8fc36660a64395281911615156e9204cb6347090e8b4e7005820036b26733850d08ff5829a707ec75635cf80d188b104ee431f03f3fe4012a96041010058200341a2dd040414d9b43dee88aee4c646ea4c5264a2242d11617c95e34cee26404105005820035cbc59f2aba7be1f5eb3cc5ee9e39a9d4931d146582374b76594b5824ebbc0410300582003f68dbe81f89032286a02a996d00f24021dd9dd973b58456aae0d538764e7c0410100582003a219b13a840e8a7ca1f25aaf49a992abbbb8b5b47a41d074fbda1321126dd0410100581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d5437a35c2c8a29a099c3eb75affec9b3bfb7d3762200581f02ba5b10eb0c3238398dab8781560769a00fa2d3fadbbd3f3123c11f3c04fa54e4ae76d858a8114efe27fdbb418f2cddf282527a0219800403d5080182dfb6b07e39f023ff15691ab50429d74c85f7518b18aa292e6ded7c8800582003a64ea57546d3c694a9b356d5515de4769ec5a95fcf12e241d9260155474d3054aa34dde115e593dd26d0e6b250321803371dfc95021959f9033f5bf6df341dba246d2c16e9923b9ac35d32dc04eedf6b394541e19b8683d4f8038d69a25bbc4e9be889aa851c5e870248b365bf5649699b688c2d49cf7dca40d003ec1c6b6fafe9667b375f72927002cdaec79e4afc1288b2a953acc13b4aa1dc92037c553464f2f6062007206575f9214f13f51368ed1f63355193c66993e7e99e58038bc859ede0bc94827a654e67319d113b9385104169e3afaff441111ea72ae1d0005820035a6452c048bad48ced7fd73fd9ba8346df2456a6dcbb9c7e7670e9675ed030546e6bce3785ad2c6fc2afc6808fea24f72142edb7037d57583ac6f9f4eb0c73ebd2b701cd5b7d895bf9ad3b6ea45db06ed6fc2278e803ed3055c17beafb2abfbf3ef1599db6d4265a980ce419660845396b0a74e141040058200378029c99f0d3f1379b8c248bb038699e2a132bd453033d4a92870dd064384054f393d0abff92cd57c7263a0bc3aa579e9d618f9c0058200368ba275e6b1ba42aa9ea2aad60bfae8f0a35d82b9971b147240d336c9f40d04102005820030ccd5d2b61e2639aad3824d56530080b7f8c3cf339c1dd096c5026817d7260542e9a18d66f2fc535497cfb395d7f1bcb6746e5820058200348ac813ba46a4c1a59fdc295ca08a6886e197c39e8b7196c3348fc314f4850410103aed686d3c861f117d18587e9ebeebc48667e56853b60f381007c180b738e22d200582003f46d9c93d213cf50f37ff47e547fd3f5007ab95d78cb10e05275cb46ff9f404101005820036756617f312254bd1e7c649021aa4a56293f81d46e44fd2769426d377c429054d435b22d96bfe40752e8b01596c1e95b3fef3afa005820033c76f6e5d3b7ca9c801eb8e55c85e5fefa55941eb01cd6c09322887ae0f2b04103036167e178cd300d9129e93b6602f9639fff9e5ffdf27f18623407a674abe99f9600582003e0efb4abf685f973230bb129373d2926e9cefacf68218bd1b1eed73b97e1b054c5771cbc4230a08bd9ba8d04f0e174120857257d02193ff703f2035fe894a017d7ff71a19fdeb32f470a7c91f1168b3ea9ca53af528e3ac8a60356c9d226afa114d1c86d54a5777f3b03d92e390334e6d24d63de4d7a8f1af09103eba04339355ae0f45715750f36d0a926671ed8294288da0b6f65332fa502ed64038e0e31369f51d0e08b96973c6c7384cd1dfa536cb04056e8648d03a67453461b0219ffff0349af651c6ef5dcdd6983db57b6cfa82aef3e1fa1231b0c72c99e58bbcafb450703697699758c100482523d275cc377899575f5e24eb9bd3a0cca5efa6c871e117d0355b0077909f60d762dd2e3bf2261a95fd7932af1c8316c863d1efe1bc060cec6037f1d6f5490b0d0b569341735f9132250feac4d2be0c9d6ddccd70bc47ad672bd03e96978d5607539a54e1e6fa8695dc89dd1a3695fe07e3953d8706ecabd2b05a2035a85da41eb1a91c501845bd462c724e35207bf6ecfcb8b1041f8e9b2e927a7d20364f18b0bc889e4d07d2bc5e66ac51d18db176ba73b1ecfc7a430a1799d2fc9ff0317ecf691de13a0748506033c00f628ee09b132a2af466d4b4c319c2e692d719c0219ffff05581d0230aa5957ed0e9a093df9bfc8403d7e961c16cb50f01ed321dd617a4807011902c40219034005581e03ddae20b1bfdc1b7c2d8dcb0b510058c253966ed30c7645ed0d429079500c06474a8ca3857e2efd03c6f40310abdd6d3c439d9d1c986cff8e54a9b1f44b22e8433f690b01dd3636ba0327ad226af3be6806632e8e5f28a35cf29e63c1b726e36d91260ad6770dfc911905581e03b6d145a97ab3f8cfcb0ee09a7477405b06e8f86f19c75ed8df6172f7b00c03462472dd500e7803795dd7af273907603ed8852c041d0fb841f16c82806ae5612eba4838fb86a5a70219eeac03b1f28a379b04c050d45f90e52ef971f39af196720feffc43d2ebfe07558034ea038ebba1471e78d217cf96a24456a79ef2b7ff5848764afed755c45a890778024b03c8f5aebefc43d08aa0b4eb4200fc4e6d405bb2b936055f3631b752a61953b0fb03e9564edbec3565616881600975a77509de809b8a33fc20796ed0f094d57f4833035aba360ba21350bc48ad201c2d1692678e74d1b2c2190f6482c236fb73cf1891037c94d3549e10c5b3484947d80937bfadb8e966467d06bb651c55423321d172f8037fbea782eb852f7ea5e8df677391931be06cdf08ccfd232bbd78fa939a88667a031cde009332f0b7c5a2c435542fe4fbfac53980af91f6557355945d8f674064e803b44b83ac93e045da25bb34ad2bbdede0b968d3ee9dd57318bccb27436b08e4da030ac8665b52075ef32072010b187f28e2da1862bdc10498679e1e01af956d28f20305ca3a46dfc2f2f72b3e041143b3ade504b43f3f4b1cabb1d86c324c03dcce2d0219ffff0322803e188b290a66513de77cc2012865e862fc8c85ad4226f4e47ac9628f6362031167ca6186bff5222a4650f3d27aec96a3f2cc3645d7624b050ce4da2ffea00c03a23459698a86b6ef4e0aa6384057813df16486f0e0ae18d1c45d5d128f2ccf5a03414efa52e6019d6185c3e2522e73e236626418f7fcc229498470f466c562b88a032826df53f0d9edef6e909c383a53db1330d0c0826cf73c11392dcb2cbcb905eb03bd4a88dc2a51f5a6702bd8f3a4d5ecc86655a03230181f024801af6428f95c5503a8d81904f91f45e1826ad56289cc513191015f2fce6de6e2d1205a18a32713240323ff8c09faa4cc321dc0575a03e8bad7fc507f2f805380790211a32b13af5d8b0219ffff0349e5fb8b748c2b4ab972d7f8b913c5f500d59456b8246dba8f2b0804309daad503c4736b9df804c89239fb0bf859c42a2353d13605b38d5be8ffa0a613c8efd1610360755e3d5a6eef7ed156018a018fe8623b7f4122c372d1de51e4e3f48a7611ff03ba805c63c2fe44a5c270d63355b133503ebce2ec65b03fca30dbce10386f1a5a03442a5f39d92733adde90bb84d70ba82a541eb4f74dcd54c3770979e2b1704f730377c483c3bcb0d973edccc4d1803d8e52a8435cbbac546bae02bdd1fece0d9034030ea098a81a8e87e8ab6400fb7217c6e6b93e0355d6bc7da66a4e1b473d6230a803b18db607f7ed39950404667d622ad11b59f1e3a516b21c428f68b396926b3dac0398c9d19c08f27ba6e9f9511468a73ff7c15bb926471b235252526d9b7f37d3440359890304affba0dc97d8c4d0f06e0cffcd36437815b10033ccbde321d76f11e703793648a1311c8a3ff91804d37d9fadc717a99f364610ec6a19991f84dbb087fe03d08de04dfba6d2d950e0855c2b89b28f276618d2e19ca82bfbc69ea1c56712c40219ffff0219ffff039c296e42482ad67768984e16fbe980cc1df2a7ae6863992f7b19836c60b21e09038d82de4bf052f2de02e3b33b8d1ee6654b46ebea3e572bc8008f7e9bc80d069f033b4a100c49627cbd0a76b12f3421c38b9f1c53e8ffd74f40e8fb61d8ba26d30a03fa8a0dd5e8eecb2d5102f3bdb7eded3df497228c9316931668dbee4271125c2c03ba894bc7b5f63e1c7ff2e564d340d79ac3661f213c6eb249709c5bb6544d133403cd9e05ba0ada2517ab536e07602af8e2f8191301d7b808fc03a93451fb3ce5520389a16c3bdb20d92be6a79314132e2d2798adb599d5b86482e8e61a9beee83e430371389ef1f7b07a66f8769ab73835f8398fee5075206dddb6430da6cd66b527c40322a49708f656682129bf2dba6d158c1127e95cec1abc7906520ca35f04471fce0390da99d2d33bcbdcffd1e96e10db5274ce7e1bef4c3fba2f05163213cee917360373ed03d8b140a91eb558fb258d34b2d174390cf294b239ff46d609a9920dbdd50311082806a4736a0925062e993071e3d5dbc2a337db59b43a12c69dbb0f70ccc903e4de925170cb3dab670f5499d8e3ffe9b21824ff2bfb6a8c5120197a5920004503eda219500471195788c8f67611149a825872f07f8216121e4197aa23562bfcea030f2551149c529c380bfb6ef98e307c9b8b65bcff3672411749e065e926817002037d5f991ae00b8b68c398313cb34e1b633a7e0ea309bf99b2e2a2c33999ee3a2d03f3bdad1f0c5b0be434db3630be510ace7997687874c34708c1e0d9b061d7f2ae03c9976282ced29a038940dc86f250671d7479605b493a37e08d5b34cebcadd33903f6918ef447580c42c7013da6c39183766775d6e8d6ec85f80a2da37d785ded3503db11984b9195664fe3fd746f133a6e4d6340a6e5ee6db5b76a362e982deab178035b93f7566d0126c9892c0a1f6c4b3b9a349cc967970d405820f26dd159394381030161b138bf11a24f57415180c6ae7672124761892576d47d4e7450d4b6e9aaad03c1f3645e5665a75aa29bae199693b05b95acc915a75994e903467d2ac0c179aa032a32655d82db277a3d6a812e3608f089a8548ce4a37cec5999a9c0abf47a48d4034fd6a553997deb7615189d88378aa483ff4d12af1c237825651cdaf505f5ecda03d76e8915b06cb82ed78b3f0850d796d15785744c91a8742f771ebed6c7aef4ce03c27f99b828f8d31dffd10fb25f458daa7dc93ebc6c74659564e55449f963b7c80330b8d6aa30edf87ee77a655b1bb4f7fd957fac992c5989e8eab35c92d64c125403264df6172284aa6ef0ac11cce952af364d7d3c703e686ae6c6491ba2a387faf6031ecdb5fc9b769acf4de478fbb2529163235889916543e102d5772cee1d956bb50332b3846b5fb567d5ec54fe743a8cc0723a42b044219804ecb43b60829c4686740384fd48209a035ed52dcbd6bacd202e381d826815d21506f89aa29d9e7e2b9e8903e5a58e38acd934cc08e8a89e88168e3a520e2f3ff89453447eaf15fac6c728fd03da29c95a14ef41b3787ec87ced379c4cb803539e3a70dbdfc3a7cc440ad5addb0300bd51c4f433a169dd1a58f336b1b42b204e5b13261079992e3440e72080511d03a24288d4f2b197e3321035eccb18288056416a9d3807b29c398cb80df9e6908c0348ad809d7f98911db182f5e48cae62f900468df3ad3ca9cf3950ab46afd47a3503d7148cd6a637487247a2bebc860971b739d9a57b6b3ce7ad728279ee8f981a660371cd36004b2e63c56614af96c85c7ebf4d9afcd5eb4b7c7220b724cbafbd9ca4031e68f4bab31d0a8868be1df9adbfb7c1917b222e2478abd0796ed86039e35fdf03e12bb5b0798f055fe2b74ebb86aeda5184d19045be84a5d60c1bf46fbf3e6e160386e0a838ed70bec1c814a0d2964f8337a9e43ec591a095fdfec9bf925d666a9b03072474b3d452d4977de2bc668ebccc9ab10a32c2531d274fe366e4c2ca79fb22039a9f34a5335ac976d859ffbcdafed1662cb12564269b683c8db3dea5fe2f2d8a05581e03f15ea5917ac6219ab5a7815663570150188fbcdf92cd2736a2684f2ac00c0646503738a8226805581e0383912b0961b814705135fbb23afda2618bc85574b151ee9020b199dea00c0846a290f99b3e9005581e03da7a8a4b6c76114348f40daa5238e1073647dc9cc907267bd887fa8a200c0347014023338b22600342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e03a038a089512ad29a4071d38436efc0e6cd27fc1cf1802025f549f5508007011bffffffffffffffff036b50a459266a1a1b065b2e07ae209eb15cc0d65f8eb9940908d4deaac738063305581e0336585c72a2df38f64d5181e60202eccd19c64cfc61af8f2ffb0cd9faa00c01473e958949f00d8d05581d02e75304db1b188e1dffd7a30574b0436ad726c6e78a488886c0931e8b040105581d02e307001e81c8f5ff84fbc6952767ed2a46766e925d88b0ac4235d3c508474037a2ce4d800c0219801005581e03eb485eebebbcc4f2cbfd0f18f6debea32229fc2e583031732a161199700c0847011d018299c90003a0c694c32619534554eaf1d884b8aa833fbb9d665c35823ca5c678c68202bd1305581e03433181c28c092300fdd5f1731a4ea6288503b0a106bd8c68b653961840040802193e7a0317c141c841f3e01935c7cb7bb948da122fe8f90b44b46ff4f69e9917132e73aa03362c6d942db2f5c124208d253870b4eebd61c6dc1debeabb0af6a5e57e512cf103e53ddc547de4c41012a215c20573e92b54c8f11c7a0316d05223435165a96b3a0219ffff03412e7eb1e919c71fa2885995225d081fce2a1a4b80392bcd1b12df2b467abae403b52c090c9d8a60a7b9d62c09a4a50cc464c96ea8aee1dfb6753175c183242d3a0219ffff0365bfc35a236db21d52b3138136f23575ecae78d5e8d1cf7145a330b313dce1500219ffff032cfbcc281dd9fa9002966962c2f9a0464109fd7a6a09db03fe0bd8bd4d995970035475f23330064b55f4417b4e30767bcc8874af17521f7a0eb92045ccdd8f8d00039532958ae2ce8c59cb00bba4a8a12c85da120f1d17b0799b52d99da1126ca5a8032cd0d07011aaca4f8e133b85d6413a30cb22e6fec56aeaca7f8902d39fcd1ed803ee77634c5603142aad216e5ca607e253850e57006708569134dc7d527971cede03b132621d0cdf9a9edab2d6270a4402a9197b9eb3ed296776361d0ca408601581030d7e1303a63f650eec80edaeebde8f7e307087f05b3144ccae7f14e6ff68d74f039c23e070907ced147929bec385e15f5568d6eb91cceeba56ebae79dd49f5809e038ffee4d63b0648b3dcfc375a60839a0e9d91684214592d2f3ef77f4a8fe77808033e21cf431ca4ead34aba24990d6656cd68fec6fa80159581f0fabc0c5e78bdee036a5251a224ccc0f2907c8ebbf5ba6edfcb9e9a12bc11c7ebb13a68c99cc16fb103268f88f12877ec3af143dfa3657700cf2fa9e6e8916086a41712aadd2d39f4fb03d2924e2501d986857adb4bca43198f0ea67d7898dc67ee2ac34f9c2739c72fa0034a995c38d5679b438f7c202b5eda2f82feb6af5301527ea217ad4b102a0abf3f034a91dbf4130ef91f056b979a5b2aacba72307d2ac09c5307d9548faa8d0bb797036666700df0ee01b8c0ee69e712732737ad30b9c6cb1705a77056f11b5f4533ec0367899041f8bd0b75e309371ef969d1b64a3b37eb7679f4c1bb5be7d3153e122903c02fb446bc5d025b29c29fbec539dd013947d98dce44d6aca088f0fdacfa180e03145150b039014ff72ae8eca4137e1b1ea5a95dcc70540da5732d628cd43ae2a5037d0a5c0c88ff00fc5fd3244897a10ce818ccb9c663d80f79738c8db1de8a5947031853837dedada1bc2c8b072c02f49afce652fe87050d3d59e1340013e1f4617f03a55eccb757752832db87b0063cfa17d1c9fb18ddbbeb314305a4e4b95b6f454503831dc02d82eea2d45b5499cfd64979cd8b418332f8343690d8b211511171c4ec037aeedaaaf7960de726337e2d33e6f9c6712436f6c88325459a33c8b061aa170403c15c8fdfa92f5138873b87673d2b925876479e06e8c4656eb0d68ab030e5f5330320ec7846a3a492eb8f2e8701e8c7c52d43ecc436c1fa25ad5af20dff341722af03e3970b2c0d960dbe3b0e4bb78bb37fdb1ef9fdd06ad69d7d521db19b0072ba9c05581e030203f89954fb5966e88901b60a9363c2ca12348fa235d8cee9076890000c0d467c72a396c8e005581d02ffdc9f78e406664dad2646868851c44730b59c42c205f0047501672e0c185e4720da674b3ecfd0031e4366082444073b4bea23568c108c4288f2293bf126f5cd6359c41ec52fc7fe036735c207a202a55915f9e521ecb4f0994c5524d6200e6124d2291aa1f72da35b05581d02107bd740c119d05b344d19d461e57e13ca94b7dafc2414ed5745f06e0f01472386f26fc100001bffffffffffffffff0219804003b875a238b95b4df52f9c45281529e798c23462cf4edabfc72a0306258a4af48905581e03f0e13d44a379ae6b667d1597b93ab12354246893f2d73af1792ddbca4004020323fd8c574f9d9a2c7298f5c9e64eaef71133f8b8fe888c7151b9ce2229cf714805581e03a778fb7ad56bf540d3e31b4b3cb40299e34f0867578b120e20c00f2f00040305581e0367e28fb61fdb98e9e1a165f26d930f174d46f630e142160c5c9e10dcc0040303b97e2b69ead9486d79c9458c401f7f743a8528970464ca1fbed1cd42ad0fa99105581e035284cea3868e7de04be2fc79572309f60223c4a2f20d4730946c1a7de00c014701a44b33d0b75c05581e033d4ab9d96f77963b41d48b6151725c08b8dbdbd8fd282c31419a07f8900c0247015d743af3d71802197cf5039b3fc029353236311ffb7e21d37f52e79acaf17deb49b9ed8473a081a596512d03c4498946603dbfb6efec8fe7f28a025d285f4c58345f06cfd35e08f0028442bb03ca9c14c070df5b651ad1c5fa464d1a80b0efd5daf9f98e441885c17f26b33a0003fc1f14dc8b5cc3226bb2ee2ad29e6d1d8076d2cdf2cde579d4165b2fcdf2418903890424d5c5361eca45bf93604811e7a5860ca79b52a398ccd9c3e1dd8fba867103a7066bf906f95ce25957778a58bc7186ab7777910c42191792e9a6b6083d16f40376671993a61402768ff0cd1e6f384d94e30feb926ab813aebe6d1739ba77b9df039bdcefb5875b7860a6acece0cec7330588cdd069e2a07d7c0632d6f3e0fe699203f06c5bb6200a95610e1eaff9cf29e0b24c942f175d6653a05e3b7993bf6fad700219ffff0219ffff03c7aa77e1e85cfb493018ee3cc7d35975f6b375f5e72c5aacc13bea327da5e48d03b6dd454c7af987d7c4ae1cfcf1ca96570efee26b846c4bdb0e70d6078ca00c7b03fd0b278d6e3e8195b2d100efc97bd3fb6e91ac7020cc0d36b2f542fa98cdb54d036ec17d31ccf0dc39d4e1274fc28f0c7cca8e8bc8b7c04ec297cfefc713e68b6d03b3d46f8f2bc89d25d151a9b0d44db3f241eea499df29e625dd45fc7f5f6a99cf0343bbd6b730bcff529d6628a2c9c32789a7a2e294e2616eb72cb02de6fe9714920329eb36b789cdfca2f9d46a4ecfbc86f12ea98ceb4e21e2fab071176978852a4303320dae460d04706e6c9bba0160af467a8b436847056bac3d8fa300b4badf9e8e03333f5ff47842f5d07f670497370e3cce180133881ef5e65bbe0226c0798a216b037503b96cda76540b78acea9e95337186644c31a6904b31386952ba9ff8911dce0219ffff036701d2fde0e993573b325eb659ca179530067087b7444745e583e0e326160baf03315678caefb4572363bf54102944e09cc6e8c9a123c5df673099cbfb11a0123f03b0826d191d3dabf0aa8ee2a5114c5e916133415574e655ce4984573e52df85bf039297b1468eaaf614923ebce322eb7ba1b557ed3eb41284cc820fe75bbb05385c03250b4733196c07023d88e9bcc018701e4d6663e4970ae8e8eaf60c043c00f01203ac4cadf1169919b298aa20d705649c2c31a7d1d5be7016581a5c4e534d3317ab03da5b93ddb1061458a3daec674d98263b5ea726394d1f7dafb4bd601fced260bf03ffc5ec571c97d2a7db306cf06a23170163afe6c96bfad4a5f4a014daaed309e303ac05f32e5421c4b22512baab21d84fcce38b5dc0d68332227ab24ab2f2bf672e038547f7f98d3ab43ba1e7f1336dc89c4229c3dde01333e766fdd4bd6474a3ff9803d16eef65a556424a2f5df63ad0ddee20aa5da3621e394c7087a42b9acfae8726036986de0fb750ea0d07778bd4c98414dd25b12fc29d1d76e708ede25369e02ace0325b0570a2b3c5f1706afd428597987e7ef7544116209bde56f2fbcbbfb6a464f03a60191fe58c6ff37ca61d06a4b4635257c4dff4b68dee1f88c49d3511e2844ee03ae5d36374c8e554e3ccbbb35c87a4c4f4f9dd649bbfb80e2c0cecadbe7664d7f03aad18a4ab55697fec480e14139b4b28909ad86c7db14ef1aec2be9913fe3b4b503bb3c36e53591ea8bc0809fa87fccaeb6023f372360ee9fc89028b0501e62fa9303cfdc151e1c0e37fda5b1702208f6f1fc9a54dbbf49873dfdc90928fae7f4c376033682b36c7c2ca01c8d0f84f940f7cd5156950a5ca88539aca6490a4db7f595cf03fd1756005c0c917b96c3077c7ad8e33002fa4709b7210bd5091e5b5ccbcedde103e419358ce4ea7bf89548a94658234540fa1add9fc4f186eeb4af434b918210a5035e495c253ec60c77b6b7993197b9a6bfca71a87f4c25a6719276d04ab536944703dd947f4a057b2a310b9ec66c80b75c8ae1c063deffb7fb07bd5bfe8868bc0d3405581e03c8a6d9dab20b5f12522aa14db4a8dfa3569e5695b6ce337ebffbb210d00c07467de0425e88f0045938916080604052600436106101f8575f3560e01c80638da5cb5b11610117578063b9f9fc41116100ac578063e3fa62d61161007c578063f00baf3e11610062578063f00baf3e146105ff578063f2fde38b1461061e578063f6de30b61461063d575f80fd5b8063e3fa62d6146105cc578063ecb9e11a146105eb575f80fd5b8063b9f9fc4114610547578063d365a37714610566578063d49d518114610585578063d911c632146105b8575f80fd5b8063a07aea1c116100e7578063a07aea1c146104d7578063a908183d146104f6578063ab06e40314610515578063b8d1452f14610528575f80fd5b80638da5cb5b1461046857806395ccea67146104855780639e165a78146104a45780639f273fbc146104b8575f80fd5b806361acbdcb1161018d578063715018a61161015d578063715018a6146103dd5780637507bd7a146103f15780637dadbe8c146104105780637ecebe001461042f575f80fd5b806361acbdcb1461035157806361bb41a71461037057806369328dec1461038f5780636d70f7ae146103ae575f80fd5b806334efb1e9116101c857806334efb1e9146102d55780633fc8cef3146102f45780634cf3fe9c146103135780635864679914610332575f80fd5b80630eb9142f1461020357806314b7c124146102245780631626ba7e1461024e578063261423351461029e575f80fd5b366101ff57005b5f80fd5b34801561020e575f80fd5b5061022261021d366004612f20565b61065c565b005b34801561022f575f80fd5b5061023861070c565b6040516102459190612f3b565b60405180910390f35b348015610259575f80fd5b5061026d610268366004612fe5565b61071d565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610245565b3480156102a9575f80fd5b506102bd6102b836600461307e565b6107e0565b6040516001600160a01b039091168152602001610245565b3480156102e0575f80fd5b506102226102ef3660046130d6565b6107ec565b3480156102ff575f80fd5b506099546102bd906001600160a01b031681565b34801561031e575f80fd5b5061022261032d36600461316d565b61089b565b34801561033d575f80fd5b5061022261034c3660046131d8565b610d0d565b34801561035c575f80fd5b50609a546102bd906001600160a01b031681565b34801561037b575f80fd5b5061022261038a366004612f20565b610e60565b34801561039a575f80fd5b506102226103a936600461320f565b610f20565b3480156103b9575f80fd5b506103cd6103c8366004612f20565b61116e565b6040519015158152602001610245565b3480156103e8575f80fd5b5061022261117a565b3480156103fc575f80fd5b5061022261040b36600461324e565b6111df565b34801561041b575f80fd5b5061022261042a36600461328a565b61150e565b34801561043a575f80fd5b5061045a610449366004612f20565b609f6020525f908152604090205481565b604051908152602001610245565b348015610473575f80fd5b506033546001600160a01b03166102bd565b348015610490575f80fd5b5061022261049f36600461332b565b61161a565b3480156104af575f80fd5b50610238611690565b3480156104c3575f80fd5b506102226104d236600461328a565b61169c565b3480156104e2575f80fd5b506102226104f1366004613355565b6117a5565b348015610501575f80fd5b5061022261051036600461328a565b611882565b610222610523366004613394565b61198b565b348015610533575f80fd5b50610222610542366004612f20565b6119f1565b348015610552575f80fd5b5061022261056136600461328a565b611a85565b348015610571575f80fd5b50610222610580366004613355565b611b8d565b348015610590575f80fd5b5061045a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b3480156105c3575f80fd5b50610238611c5e565b3480156105d7575f80fd5b506103cd6105e6366004612f20565b611cfa565b3480156105f6575f80fd5b5061045a611d06565b34801561060a575f80fd5b5061022261061936600461307e565b611d11565b348015610629575f80fd5b50610222610638366004612f20565b611dc5565b348015610648575f80fd5b5060a0546102bd906001600160a01b031681565b6033546001600160a01b031633146106bb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6106c660a182611ea4565b15610709576040516001600160a01b03821681527f1886ee5ead024938d4f3f3251d2252fc79d5cea5adf88326e227cc271cdcd090906020015b60405180910390a15b50565b6060610718609d611ebf565b905090565b609a545f9061078b906001600160a01b0316610785856040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c81018290525f90605c01604051602081830303815290604052805190602001209050919050565b84611ecb565b156107b757507f1626ba7e000000000000000000000000000000000000000000000000000000006107da565b507fffffffff000000000000000000000000000000000000000000000000000000005b92915050565b5f6107da60658361206e565b6033546001600160a01b031633146108465760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b5f5b838110156108945761088c8383878785818110610867576108676133d8565b905060200201602081019061087c9190612f20565b6001600160a01b03169190612079565b600101610848565b5050505050565b6108a8335b609b90612225565b6108f45760405162461bcd60e51b815260206004820152601460248201527f4f6e6c7920666f7277617264657220616c6c6f7700000000000000000000000060448201526064016106b2565b426109056040850160208601613405565b6fffffffffffffffffffffffffffffffff1610156109655760405162461bcd60e51b815260206004820152601160248201527f5369676e6174757265206578706972656400000000000000000000000000000060448201526064016106b2565b336109736020850185612f20565b6001600160a01b0316146109c95760405162461bcd60e51b815260206004820152601060248201527f496e636f72726563742073656e6465720000000000000000000000000000000060448201526064016106b2565b5f6109d76060850185613434565b6040516020016109e8929190613498565b6040516020818303038152906040528051906020012090505f610af684848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610af092507f7e2137b52a88cc72d113166dcedbf48e41ea4ae592924fe4f494d74ca5a0095f9150610a6d905060208a018a612f20565b610a7d60408b0160208c01613405565b610a8d60608c0160408d01613405565b6040805160208101959095526001600160a01b03909316928401929092526fffffffffffffffffffffffffffffffff908116606084015216608082015260a0810186905260c0015b60405160208183030381529060405280519060200120612246565b906123a4565b609a549091506001600160a01b03808316911614610b565760405162461bcd60e51b815260206004820181905260248201527f5369676e617475726520646f6573206e6f74206d61746368207265717565737460448201526064016106b2565b5f5b610b656060870187613434565b9050811015610c8d57610bb6610b7e6060880188613434565b83818110610b8e57610b8e6133d8565b9050602002810190610ba091906135d2565b610bae906020810190612f20565b609d90612225565b610c025760405162461bcd60e51b815260206004820152601160248201527f4e6f74206163636570746564206465737400000000000000000000000000000060448201526064016106b2565b610c85610c126060880188613434565b83818110610c2257610c226133d8565b9050602002810190610c3491906135d2565b610c42906020810190612f20565b5f610c5060608a018a613434565b85818110610c6057610c606133d8565b9050602002810190610c7291906135d2565b610c8090602081019061360e565b6123c6565b600101610b58565b505f610c9f6060870160408801613405565b6fffffffffffffffffffffffffffffffff16111561089457416108fc610ccb6060880160408901613405565b6fffffffffffffffffffffffffffffffff1690811502906040515f60405180830381858888f19350505050158015610d05573d5f803e3d5ffd5b505050505050565b5f54610100900460ff16610d26575f5460ff1615610d2a565b303b155b610d9c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106b2565b5f54610100900460ff16158015610dd9575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b610de16123e1565b610de961245d565b610df16124e2565b609980547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038416179055610e2d83611dc5565b8015610e5b575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b505050565b6033546001600160a01b03163314610eba5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b609a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527fb0f5cdd73db8ff444fea735d243faf354a928879825665bf4f2f67600cbac97c90602001610700565b610f293361116e565b610f755760405162461bcd60e51b815260206004820152601660248201527f63616c6c6572206973206e6f74206f70657261746f720000000000000000000060448201526064016106b2565b610f7e81611cfa565b610fca5760405162461bcd60e51b815260206004820152601b60248201527f64657374696e6174696f6e206973206e6f7420617070726f766564000000000060448201526064016106b2565b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03841601611111576099546040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0390911690632e1a7d4d906024015f604051808303815f87803b158015611056575f80fd5b505af1158015611068573d5f803e3d5ffd5b505050505f816001600160a01b0316836040515f6040518083038185875af1925050503d805f81146110b5576040519150601f19603f3d011682016040523d82523d5f602084013e6110ba565b606091505b505090508061110b5760405162461bcd60e51b815260206004820152601360248201527f776974686472617720657468206661696c65640000000000000000000000000060448201526064016106b2565b5061111c565b61111c8382846125de565b806001600160a01b0316836001600160a01b03167fb67719fc33c1f17d31bf3a698690d62066b1e0bae28fcd3c56cf2c015c2863d68460405161116191815260200190565b60405180910390a3505050565b5f6107da606583612225565b6033546001600160a01b031633146111d45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b6111dd5f61269f565b565b6111e8336108a0565b6112345760405162461bcd60e51b815260206004820152601460248201527f4f6e6c7920666f7277617264657220616c6c6f7700000000000000000000000060448201526064016106b2565b336112426020850185612f20565b6001600160a01b0316146112985760405162461bcd60e51b815260206004820152601060248201527f496e636f72726563742073656e6465720000000000000000000000000000000060448201526064016106b2565b6112ab610bae6040850160208601612f20565b6112f75760405162461bcd60e51b815260206004820152601160248201527f4e6f74206163636570746564206465737400000000000000000000000000000060448201526064016106b2565b335f908152609f60205260409020546060840135146113585760405162461bcd60e51b815260206004820152600f60248201527f4e6f6e6365206e6f74206d61746368000000000000000000000000000000000060448201526064016106b2565b5f61143e83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610af092507f9e4717ffc98dc2d19df44510e73afa8a320e5810695ae0c3632bc30e91ae353e91506113c590506020890189612f20565b6113d560408a0160208b01612f20565b60408a013560608b01356113ec60808d018d61360e565b6040516113fa92919061366f565b6040805191829003822060208301979097526001600160a01b0395861690820152939092166060840152608083015260a082015260c081019190915260e001610ad5565b609a549091506001600160a01b0380831691161461149e5760405162461bcd60e51b815260206004820181905260248201527f5369676e617475726520646f6573206e6f74206d61746368207265717565737460448201526064016106b2565b6114ad606085013560016136ab565b609f5f6114bd6020880188612f20565b6001600160a01b03166001600160a01b031681526020019081526020015f20819055506115088460200160208101906114f69190612f20565b6040860135610c80608088018861360e565b50505050565b6033546001600160a01b031633146115685760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b5f5b8151811015611616576115a0828281518110611588576115886133d8565b6020026020010151609d61270890919063ffffffff16565b1561160e577fa30b4a30819461802ef73f5bd8d14569b88b857d9d64f0c5bbb33ea910ebe6898282815181106115d8576115d86133d8565b60200260200101515f6040516116059291906001600160a01b039290921682521515602082015260400190565b60405180910390a15b60010161156a565b5050565b6033546001600160a01b031633146116745760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b6116168261168a6033546001600160a01b031690565b836125de565b6060610718609b611ebf565b6033546001600160a01b031633146116f65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b5f5b81518110156116165761172e828281518110611716576117166133d8565b6020026020010151609b611ea490919063ffffffff16565b1561179d577f6df0471095ad1292c74e0f3615a3b6927ee7b5b7e925423a38cb8c23625ca07d828281518110611766576117666133d8565b602002602001015160016040516117949291906001600160a01b039290921682521515602082015260400190565b60405180910390a15b6001016116f8565b6033546001600160a01b031633146117ff5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b5f5b818110156118445761183b83838381811061181e5761181e6133d8565b90506020020160208101906118339190612f20565b606590611ea4565b50600101611801565b507f4c022f03c292dfa42133bfa9f90bbf55089da679c2df97df205f337c12ab7b7c82826040516118769291906136be565b60405180910390a15050565b6033546001600160a01b031633146118dc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b5f5b8151811015611616576119148282815181106118fc576118fc6133d8565b6020026020010151609d611ea490919063ffffffff16565b15611983577fa30b4a30819461802ef73f5bd8d14569b88b857d9d64f0c5bbb33ea910ebe68982828151811061194c5761194c6133d8565b6020026020010151600160405161197a9291906001600160a01b039290921682521515602082015260400190565b60405180910390a15b6001016118de565b6033546001600160a01b031633146119e55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b610e5b833484846123c6565b6033546001600160a01b03163314611a4b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b609980547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6033546001600160a01b03163314611adf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b5f5b815181101561161657611b17828281518110611aff57611aff6133d8565b6020026020010151609b61270890919063ffffffff16565b15611b85577f6df0471095ad1292c74e0f3615a3b6927ee7b5b7e925423a38cb8c23625ca07d828281518110611b4f57611b4f6133d8565b60200260200101515f604051611b7c9291906001600160a01b039290921682521515602082015260400190565b60405180910390a15b600101611ae1565b6033546001600160a01b03163314611be75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b5f5b81811015611c2c57611c23838383818110611c0657611c066133d8565b9050602002016020810190611c1b9190612f20565b606590612708565b50600101611be9565b507fd045926746dab8a5acf225487f413b986460165cf50f6052689a2e471198e05982826040516118769291906136be565b6060611c6a606561271c565b67ffffffffffffffff811115611c8257611c82612f87565b604051908082528060200260200182016040528015611cab578160200160208202803683370190505b5090505f5b8151811015611cf657611cc460658261206e565b828281518110611cd657611cd66133d8565b6001600160a01b0390921660209283029190910190910152600101611cb0565b5090565b5f6107da60a183612225565b5f610718606561271c565b611d1a3361116e565b611d665760405162461bcd60e51b815260206004820152601660248201527f63616c6c6572206973206e6f74206f70657261746f720000000000000000000060448201526064016106b2565b60995f9054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015611db3575f80fd5b505af1158015610d05573d5f803e3d5ffd5b6033546001600160a01b03163314611e1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106b2565b6001600160a01b038116611e9b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106b2565b6107098161269f565b5f611eb8836001600160a01b038416612725565b9392505050565b60605f611eb883612771565b5f805f611ed885856127ca565b90925090505f816004811115611ef057611ef061370b565b148015611f0e5750856001600160a01b0316826001600160a01b0316145b15611f1e57600192505050611eb8565b5f80876001600160a01b0316631626ba7e60e01b8888604051602401611f45929190613766565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051611fb0919061377e565b5f60405180830381855afa9150503d805f8114611fe8576040519150601f19603f3d011682016040523d82523d5f602084013e611fed565b606091505b5091509150818015612000575080516020145b8015612062575080517f1626ba7e000000000000000000000000000000000000000000000000000000009061203e9083016020908101908401613794565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b98975050505050505050565b5f611eb88383612835565b80158061210a57506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156120e4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061210891906137d3565b155b61217c5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016106b2565b6040516001600160a01b038316602482015260448101829052610e5b9084907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261285b565b6001600160a01b0381165f9081526001830160205260408120541515611eb8565b5f6107da8261234e604080518082018252600b81527f5265736572766546756e6400000000000000000000000000000000000000000060209182015281518083018352600381527f322e3000000000000000000000000000000000000000000000000000000000009082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527ff491ef6c4b0346e479a3175aa5104cc8d94bb01f98d210176535202b5198105d818401527f88f72b566ae0c96f6fffac4bc8ac74909f61512ac0c06a8124d5ed420d306f9060608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b604080517f19010000000000000000000000000000000000000000000000000000000000006020808301919091526022820193909352604280820194909452815180820390940184526062019052815191012090565b5f805f6123b185856127ca565b915091506123be8161293f565b509392505050565b604051818382375f80838387895af1610894573d5f803e3d5ffd5b5f54610100900460ff166111dd5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106b2565b5f54610100900460ff166124d95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106b2565b6111dd3361269f565b5f54610100900460ff166124fb575f5460ff16156124ff565b303b155b6125715760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106b2565b5f54610100900460ff161580156125ae575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b8015610709575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16905550565b6001600160a01b03831661268b575f826001600160a01b0316826040515f6040518083038185875af1925050503d805f8114612635576040519150601f19603f3d011682016040523d82523d5f602084013e61263a565b606091505b50509050806115085760405162461bcd60e51b815260206004820152600f60248201527f7472616e73666572206661696c6564000000000000000000000000000000000060448201526064016106b2565b610e5b6001600160a01b0384168383612b2a565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f611eb8836001600160a01b038416612b73565b5f6107da825490565b5f81815260018301602052604081205461276a57508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556107da565b505f6107da565b6060815f018054806020026020016040519081016040528092919081815260200182805480156127be57602002820191905f5260205f20905b8154815260200190600101908083116127aa575b50505050509050919050565b5f8082516041036127fe576020830151604084015160608501515f1a6127f287828585612c56565b9450945050505061282e565b8251604003612827576020830151604084015161281c868383612d3b565b93509350505061282e565b505f905060025b9250929050565b5f825f01828154811061284a5761284a6133d8565b905f5260205f200154905092915050565b5f6128af826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612d829092919063ffffffff16565b805190915015610e5b57808060200190518101906128cd91906137ea565b610e5b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106b2565b5f8160048111156129525761295261370b565b0361295a5750565b600181600481111561296e5761296e61370b565b036129bb5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016106b2565b60028160048111156129cf576129cf61370b565b03612a1c5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106b2565b6003816004811115612a3057612a3061370b565b03612aa35760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016106b2565b6004816004811115612ab757612ab761370b565b036107095760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016106b2565b6040516001600160a01b038316602482015260448101829052610e5b9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064016121c1565b5f8181526001830160205260408120548015612c4d575f612b95600183613809565b85549091505f90612ba890600190613809565b9050818114612c07575f865f018281548110612bc657612bc66133d8565b905f5260205f200154905080875f018481548110612be657612be66133d8565b5f918252602080832090910192909255918252600188019052604090208390555b8554869080612c1857612c1861381c565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f9055600193505050506107da565b5f9150506107da565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612c8b57505f90506003612d32565b8460ff16601b14158015612ca357508460ff16601c14155b15612cb357505f90506004612d32565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612d04573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116612d2c575f60019250925050612d32565b91505f90505b94509492505050565b5f807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831660ff84901c601b01612d7487828885612c56565b935093505050935093915050565b6060612d9084845f85612d98565b949350505050565b606082471015612e105760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106b2565b843b612e5e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106b2565b5f80866001600160a01b03168587604051612e79919061377e565b5f6040518083038185875af1925050503d805f8114612eb3576040519150601f19603f3d011682016040523d82523d5f602084013e612eb8565b606091505b5091509150612ec8828286612ed3565b979650505050505050565b60608315612ee2575081611eb8565b825115612ef25782518084602001fd5b8160405162461bcd60e51b81526004016106b29190613849565b6001600160a01b0381168114610709575f80fd5b5f60208284031215612f30575f80fd5b8135611eb881612f0c565b602080825282518282018190525f9190848201906040850190845b81811015612f7b5783516001600160a01b031683529284019291840191600101612f56565b50909695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612fdd57612fdd612f87565b604052919050565b5f8060408385031215612ff6575f80fd5b8235915060208084013567ffffffffffffffff80821115613015575f80fd5b818601915086601f830112613028575f80fd5b81358181111561303a5761303a612f87565b61304c84601f19601f84011601612fb4565b91508082528784828501011115613061575f80fd5b80848401858401375f848284010152508093505050509250929050565b5f6020828403121561308e575f80fd5b5035919050565b5f8083601f8401126130a5575f80fd5b50813567ffffffffffffffff8111156130bc575f80fd5b6020830191508360208260051b850101111561282e575f80fd5b5f805f80606085870312156130e9575f80fd5b843567ffffffffffffffff8111156130ff575f80fd5b61310b87828801613095565b909550935050602085013561311f81612f0c565b9396929550929360400135925050565b5f8083601f84011261313f575f80fd5b50813567ffffffffffffffff811115613156575f80fd5b60208301915083602082850101111561282e575f80fd5b5f805f6040848603121561317f575f80fd5b833567ffffffffffffffff80821115613196575f80fd5b90850190608082880312156131a9575f80fd5b909350602085013590808211156131be575f80fd5b506131cb8682870161312f565b9497909650939450505050565b5f80604083850312156131e9575f80fd5b82356131f481612f0c565b9150602083013561320481612f0c565b809150509250929050565b5f805f60608486031215613221575f80fd5b833561322c81612f0c565b925060208401359150604084013561324381612f0c565b809150509250925092565b5f805f60408486031215613260575f80fd5b833567ffffffffffffffff80821115613277575f80fd5b9085019060a082880312156131a9575f80fd5b5f602080838503121561329b575f80fd5b823567ffffffffffffffff808211156132b2575f80fd5b818501915085601f8301126132c5575f80fd5b8135818111156132d7576132d7612f87565b8060051b91506132e8848301612fb4565b8181529183018401918481019088841115613301575f80fd5b938501935b83851015612062578435925061331b83612f0c565b8282529385019390850190613306565b5f806040838503121561333c575f80fd5b823561334781612f0c565b946020939093013593505050565b5f8060208385031215613366575f80fd5b823567ffffffffffffffff81111561337c575f80fd5b61338885828601613095565b90969095509350505050565b5f805f604084860312156133a6575f80fd5b83356133b181612f0c565b9250602084013567ffffffffffffffff8111156133cc575f80fd5b6131cb8682870161312f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60208284031215613415575f80fd5b81356fffffffffffffffffffffffffffffffff81168114611eb8575f80fd5b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613467575f80fd5b83018035915067ffffffffffffffff821115613481575f80fd5b6020019150600581901b360382131561282e575f80fd5b60208082528181018390525f906040808401600586901b8501820187855b888110156135c4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18b3603018112613516575f80fd5b8a01803561352381612f0c565b6001600160a01b0316845280870135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1018112613562575f80fd5b01868101903567ffffffffffffffff81111561357c575f80fd5b80360382131561358a575f80fd5b8688860152808786015260608183828801375f86830182015295880195601f909101601f19169094019093019250908501906001016134b6565b509098975050505050505050565b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112613604575f80fd5b9190910192915050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613641575f80fd5b83018035915067ffffffffffffffff82111561365b575f80fd5b60200191503681900382131561282e575f80fd5b818382375f9101908152919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156107da576107da61367e565b60208082528181018390525f908460408401835b868110156137005782356136e581612f0c565b6001600160a01b0316825291830191908301906001016136d2565b509695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b828152604060208201525f612d906040830184613738565b5f82518060208501845e5f920191825250919050565b5f602082840312156137a4575f80fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114611eb8575f80fd5b5f602082840312156137e3575f80fd5b5051919050565b5f602082840312156137fa575f80fd5b81518015158114611eb8575f80fd5b818103818111156107da576107da61367e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b602081525f611eb8602083018461373856fea264697066735822122000521001f38e00d17b2f1d4d4d6c7a611cb86beaed129112b338e590abe7c88864736f6c634300081900330605581e03f51e993b4affbca8991b4e8496e5944b2e678855bc4b030608eef086000701193891033438f31875abdfb3cfcdd7d0c821cfe64faa91acd14c67a25ed1304915af3d5d03f76f9176642b56f9f25d5b4d61f3b189c3d54acba1f54eeeff1e2488277c815005581e032f9ddc34ae714e991afdae744e4d92c1d82679e1e26c1b332bfba943900c0d472c802220cbaa0d05581e0348f275c241608b240820a2dbb73ee42971f4ffb239bf198028269da3f0040205581e034a89b6bad228231b5ab4e116057657169054037a35426236fb093e50f00c01465f7ce3a7ac0005581e03cdb8b1c5af49d7e8c264236f292bdb66c4c90f6956438a3081ec3a23e00c0347126460b09a526b03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba0368e10edd4c9f8631d7b5b14fbcee440c6ecb9ea185abde66efd1ab89091b32eb05581e0314bad98896817df512049a454314b05080a8fc33dcafaf7597585fb85007011bffffffffffffffff05581e03d2f3c683f7e78952c1f9b6fce60b52c8ebcab23a9516622ab2c32c79a00c0147d178a84f1197d8035bfa487bb2aa69a467965a5f3693c1b07cc75c59b780aa46e8da863a9d2b16d403d65b687cd52423122b025baf771450fdfb3745d97cc253a615a428b81ebe494a03ad0fa36ed143daa98b8cfdc87a692972387393f2d707ca7148151c0da62d9c3f05581e03e07ffa796c61d0cd0d7a218530ada27bf4cb7c2bc9eb3d6a3f1815f5e007011bffffffffffffffff0219ff2b034c96ae697ad317a93f2398be8ee30215f2f39c569afb26c215ef0ca74a1ea62f03502a2d4185e751ffdd7f8219c0ca30e87e9006d7fdca63b5e46a809d4ddf552103843cf2e17415113ae7a8b2e8f8242686f251fefb351bcc5df7fbbcface7ad24e03363018d0979e9d5e4ac4850663ebb3bf0af4f0cf06449f640b4f4afcc647fc81037cf208e3d94cc532a44b7a862206d694a7e77802967d3f08473a61fac7d0c9b403e89fbda0783e7701e0d7ba64b43fbae776bdc7b1d19373e7c3ac423da431deca037d57cfe4948d52ac1a38fb41cce23a1781faa4ebc2df16dfa4c74c64ac22268f0219ffff038a53300a8dc7ebd1c809819b728947ee0e25b9d01378abe1e7d235aae71f0d6a031f276fbb7f298182c55f3b8679f8ecd4389ed8bfe22e38758933ab1b7547fa97037fb3dce7cbc1f257ae994cd9febe497f3e468aee82059eb092b941c3e419c40303004abe6bf05facdd983aa28381c1cba5ea13a949d9b17eff000365a13150ae6e03d4c389d3fddb08259eb3ffa632ea699cb75054fdfb42a46092509cc10ca18d8903b125e7d911483383d9065e7f075429cadd8704c078c8927dc4a519f66b07bd14030cdbb48f75a5e31cf30d2ce95233307b0bf59b3a32e9b1591a5ca2971406d1bc03d425d42dbb538b1094cd53922c1cd544525aafe42449d00009579807373342c403cac2193fdd2467e6f9e4ea1256648a4950065790192fbd335ba5cf30322679710219ffff0376d931830bfa5ca1916b47773e013bc5e38850d1f4ad71c89c237d2ef984777603648ebb0b4b6d113e2da6cd164f24b8a4aca0a321bcf8b34930add8c308feba1103a53158a9a9e2115f01e8b330f7c962428d40bca0a51faab15700c769d46dead00312ce7c2f825b7b73d4fd2ea92c3142526797c7269635135b3704732cca29c4b5038e0659f5a58ed7e0cf03b982e84e6aea50765849f50287b1e1a42c355966f4fd03d05d9925f94af2186a8b901c1b6cb5fa98591c94e1f9a0a4da44c9ef5cde935c0367deb13c97597aa1e8ab5ce0ebf3bdc208ee729bf3646629f406707e078159030219ffff0379f4b162ab5536cde5eef26f6a7d32761454cf9ba1551b591d68934392d2eada03a172050ed6925434f6d8c1ba47001bc49e4c9757f3084f3aab473d522bd705e8034adf47559c4229c7fff95f2b6eee54b2765f57376da2b443c952aa8f6bfde69303dd81781561e8b4a376ae4724f5153d4a259f52a6aabb91004507c2ed9c491e7203312d9d63ac3b2735fd55a848f838b7fa5c700e424e6cfa01002dfc24d41f673803c67fb0a0e58ebecfcb942fd63070ac56db2843946ff94f2f57408e335a88b0a603579cb7723561f81f61d01ab3985f5dcc359252c611b9b901154c9478aae3a954038c875547f2e36ee69d7b1fad159109d884cb42ade79ffca67c7480a4cbbf005803df2f7e67c2126462479561c4f2f33ca81804d49641f594094e7499fb9850e554034b493c3b13c28e0d86ab78af54ec1d04e3cf937417b4d45c12b05dad883e138903786cdc4c124d59b6f4421e2408f6d0e8ce8364e9225d8dfae10ebc4094d71883037e4e8aae82f4ad348e28a62158684712416f5f214fa65ef43670bdd676533cca03bc21b2dba3a40cf86b969453ae7a2f4a09c1676d3c04c53daed24735da1e29bc03a5c6cadabfef72fd2ae5d1bb6293368bb13c1429a2afba8a828df4182f30c7d003413088683734f50afd8b21fb2e44ab9085f5c96a46f57c08822d294db52b8e94035f17738412b631300b685ee3824d8e03d5c6372514e595fbe3faa9159b89102103dc02b90cce23aceb07c37c8a5b63afff4abda221399b24d420c6f87f0db4575003cdc0d89f31bad21bfc4b160e932f4c2f6674e49e2a021117b5d638df1a04256503e2db86e78d153ce54d6a17b4f3f94fa684c5e25fd79131e9fb11a7b74e287b6105581e0385b74a649c752d3be35ef46c0fa072203895760d4685256d58dc8b2e300401032a658c1a82f1a2083bfb61616c87bc4e7ded933f30736841a2a42df917e4a07501410e05581e030306e3c912080e9850653a26ee17a8ee5e9691ef427dec98c7d1eb10f004010373fdabcaf6f3f28f253efc77056994cf6e6697022d677883953ca798fc8edc5005581e030bb9b0f1253d3f2663505e3dab31052ad88c9c321a2775f3fa022aea900c044709198afb23bb00030b292f47a4777126bb52a4435e0413b86f8fcbda1abd20b17389a1b695bb88a905581e03e90875ff06af7c11f512b34fdeb9b62b39fa73420144be1d995ed1a2600401045935f9608060405234801561001057600080fd5b50600436106101815760003560e01c80637489ec23116100d8578063c88ae6dc1161008c578063de77aaf911610066578063de77aaf914610333578063f6c1b3711461035a578063ff7e506a1461036d57600080fd5b8063c88ae6dc146102fa578063c8b81d631461030d578063da6b84af1461032057600080fd5b806398f9b46b116100bd57806398f9b46b146102c1578063b28ace5f146102d4578063bbbc2372146102e757600080fd5b80637489ec23146102875780638a3ae43d1461029a57600080fd5b80631c64b8201161013a5780632ea1ee84116101145780632ea1ee841461025957806330201ad3146102615780633c3694ab1461027457600080fd5b80631c64b8201461022057806321c77c961461023357806324abf8281461024657600080fd5b806301fb36ba1161016b57806301fb36ba146101c4578063077822bd146101d75780630b57f091146101ea57600080fd5b80621540081461018657806301568b831461019b575b600080fd5b610199610194366004612880565b610375565b005b6101ae6101a936600461292e565b61040f565b6040516101bb9190612981565b60405180910390f35b6101996101d23660046129c5565b6104e8565b6101996101e5366004612a17565b61078f565b6102126101f8366004612a6b565b600060208181529281526040808220909352908152205481565b6040519081526020016101bb565b61019961022e3660046129c5565b61099d565b610199610241366004612a95565b610b58565b610212610254366004612ad7565b610b9b565b610212600181565b61021261026f366004612b5d565b610cdc565b610199610282366004612bc4565b610e17565b610199610295366004612c22565b610ea6565b6102127f95afddf5e4bb9f692716b7fdff640e6b8a0d2869597405c6e9d35857ed19a15081565b6101996102cf366004612c3b565b610ee6565b6102126102e2366004612c84565b610ef2565b6101996102f5366004612ce2565b610f01565b610212610308366004612d1f565b610f0d565b61019961031b366004612a17565b610f1c565b61021261032e366004612d7d565b6110dd565b6102127fba5673374f195ea076b91318b714c4f3d0887a650164f117b9a64de6237587fb81565b610212610368366004612e4e565b6112c0565b610212600081565b60c084013560e0850135801580159061038e5750600082115b6103f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c696420616d6f756e7400000000000000000000000000000000000060448201526064015b60405180910390fd5b610407868686858588611483565b505050505050565b60608167ffffffffffffffff81111561042a5761042a612efb565b604051908082528060200260200182016040528015610453578160200160208202803683370190505b5073ffffffffffffffffffffffffffffffffffffffff851660009081526020819052604081209192505b838110156104df5781600086868481811061049a5761049a612f2a565b905060200201358152602001908152602001600020548382815181106104c2576104c2612f2a565b6020908102919091010152806104d781612f88565b91505061047d565b50509392505050565b60005b838110156106fa573685858381811061050657610506612f2a565b90506020028101906105189190612fc1565b905060c081013560e082013560008161053684610120870135612fff565b610540919061303c565b905060008188116105515787610553565b815b9050600084610563600182613077565b61056d8685612fff565b610577919061308e565b610581919061303c565b90506000307fda6b84af00000000000000000000000000000000000000000000000000000000886105b66101008201826130a6565b868e6105c66101408f018f6130a6565b8f8061016001906105d791906130a6565b6040516024016105ef99989796959493929190613214565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161067891906132c3565b600060405180830381855af49150503d80600081146106b3576040519150601f19603f3d011682016040523d82523d6000602084013e6106b8565b606091505b5050905080156106cf576106cc838b613077565b99505b896106e057505050505050506106fa565b5050505050505080806106f290612f88565b9150506104eb565b508115610789576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f436f756c646e2774207377617020746865207265717565737465642066696c6c60448201527f20616d6f756e740000000000000000000000000000000000000000000000000060648201526084016103f0565b50505050565b60005b8281101561078957368484838181106107ad576107ad612f2a565b90506020028101906107bf9190612fc1565b905061012081013580158015906107da575060e08201358111155b610840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642054616b657220616d6f756e7400000000000000000000000060448201526064016103f0565b600060e083013561085560c085013584612fff565b61085f919061303c565b9050600081116108f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d616b657220746f6b656e2066696c6c20616d6f756e742063616e6e6f74206260448201527f652030000000000000000000000000000000000000000000000000000000000060648201526084016103f0565b61094c61090460808501606086016132d5565b6109126101408601866130a6565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061160492505050565b61096d61095f60608501604086016132d5565b6109126101608601866130a6565b6109878361097f6101008201826130a6565b84868a611483565b505050808061099590612f88565b915050610792565b60005b838110156106fa57368585838181106109bb576109bb612f2a565b90506020028101906109cd9190612fc1565b9050600081610120013585116109e357846109ea565b8161012001355b90506000307fda6b84af0000000000000000000000000000000000000000000000000000000084610a1f6101008201826130a6565b868a610a2f6101408b018b6130a6565b610a3d6101608d018d6130a6565b604051602401610a5599989796959493929190613214565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610ade91906132c3565b600060405180830381855af49150503d8060008114610b19576040519150601f19603f3d011682016040523d82523d6000602084013e610b1e565b606091505b505090508015610b3557610b328287613077565b95505b85610b42575050506106fa565b5050508080610b5090612f88565b9150506109a0565b60005b81811015610b9657610b84838383818110610b7857610b78612f2a565b90506020020135610ea6565b80610b8e81612f88565b915050610b5b565b505050565b60008083118015610bb057508560e001358311155b610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642054616b657220616d6f756e7400000000000000000000000060448201526064016103f0565b60e0860135610c2960c088013585612fff565b610c33919061303c565b905060008111610cc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d616b657220746f6b656e2066696c6c20616d6f756e742063616e6e6f74206260448201527f652030000000000000000000000000000000000000000000000000000000000060648201526084016103f0565b610cd3868686848787611483565b95945050505050565b60008083118015610cf257508561012001358311155b610d58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642054616b657220616d6f756e7400000000000000000000000060448201526064016103f0565b610120860135610d6d61010088013585612fff565b610d77919061303c565b905060008111610e09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d616b657220746f6b656e2066696c6c20616d6f756e742063616e6e6f74206260448201527f652030000000000000000000000000000000000000000000000000000000000060648201526084016103f0565b610cd386868684878761184f565b6101008401356101208501358015801590610e325750600082115b610e98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f496e76616c696420616d6f756e7400000000000000000000000000000000000060448201526064016103f0565b61040786868685858861184f565b610eb03382611992565b15610ee357604051339082907fa6eb7cdc219e1518ced964e9a34e61d68a94e4f1569db3e84256ba981ba5275390600090a35b50565b610b9683838333610375565b6000610cd38585858533610cdc565b610b9683838333610e17565b6000610cd38585858533610b9b565b60005b828110156107895736848483818110610f3a57610f3a612f2a565b9050602002810190610f4c91906132f0565b90506101608101358015801590610f6857506101208201358111155b610fce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642054616b657220616d6f756e7400000000000000000000000060448201526064016103f0565b6000610120830135610fe561010085013584612fff565b610fef919061303c565b905060008111611081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d616b657220746f6b656e2066696c6c20616d6f756e742063616e6e6f74206260448201527f652030000000000000000000000000000000000000000000000000000000000060648201526084016103f0565b61109760808401356109126101808601866130a6565b6110ad60408401356109126101a08601866130a6565b6110c7836110bf6101408201826130a6565b84868a61184f565b50505080806110d590612f88565b915050610f1f565b600080871180156110f257508960e001358711155b611158576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642054616b657220616d6f756e7400000000000000000000000060448201526064016103f0565b60e08a013561116b60c08c013589612fff565b611175919061303c565b905060008111611207576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d616b657220746f6b656e2066696c6c20616d6f756e742063616e6e6f74206260448201527f652030000000000000000000000000000000000000000000000000000000000060648201526084016103f0565b61125661121a60808c0160608d016132d5565b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061160492505050565b6112a561126960608c0160408d016132d5565b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061160492505050565b6112b38a8a8a848b8b611483565b9998505050505050505050565b600080871180156112d657508961012001358711155b61133c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642054616b657220616d6f756e7400000000000000000000000060448201526064016103f0565b6101208a01356113516101008c013589612fff565b61135b919061303c565b9050600081116113ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4d616b657220746f6b656e2066696c6c20616d6f756e742063616e6e6f74206260448201527f652030000000000000000000000000000000000000000000000000000000000060648201526084016103f0565b6114318a6080013586868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061160492505050565b6114758a6040013584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061160492505050565b6112b38a8a8a848b8b61184f565b600061149560a08801608089016132d5565b905060006114ea7f95afddf5e4bb9f692716b7fdff640e6b8a0d2869597405c6e9d35857ed19a150896040516020016114cf929190613324565b604051602081830303815290604052805190602001206119f2565b90506115218261150060c08b0160a08c016132d5565b838b60c00135898d602001602081019061151a9190613339565b8d8d611a5b565b61153c61153460608a0160408b016132d5565b838588611d25565b61155761154f60808a0160608b016132d5565b338487611d25565b73ffffffffffffffffffffffffffffffffffffffff808416908316827f6621486d9c28838df4a87d2cca5007bc2aaf6a5b5de083b1db8faf709302c4736115a460608d0160408e016132d5565b898d60600160208101906115b891906132d5565b6040805173ffffffffffffffffffffffffffffffffffffffff94851681526020810193909352921691810191909152606081018990526080015b60405180910390a45050505050505050565b805160e014156117285760008273ffffffffffffffffffffffffffffffffffffffff1663d505accf60e01b83604051602001611641929190613354565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611679916132c3565b6000604051808303816000865af19150503d80600081146116b6576040519150601f19603f3d011682016040523d82523d6000602084013e6116bb565b606091505b5050905080611726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f5065726d6974206661696c65640000000000000000000000000000000000000060448201526064016103f0565b505b8051610100141561184b5760008273ffffffffffffffffffffffffffffffffffffffff16638fcbaf0c60e01b83604051602001611766929190613354565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261179e916132c3565b6000604051808303816000865af19150503d80600081146117db576040519150601f19603f3d011682016040523d82523d6000602084013e6117e0565b606091505b5050905080610b96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f5065726d6974206661696c65640000000000000000000000000000000000000060448201526064016103f0565b5050565b600061186160e0880160c089016132d5565b9050600061189b7fba5673374f195ea076b91318b714c4f3d0887a650164f117b9a64de6237587fb896040516020016114cf92919061339c565b90506118cd826118b26101008b0160e08c016132d5565b838b6101000135898d602001602081019061151a9190613339565b6118e288604001358385888c60600135611d47565b6118f788608001353384878c60a00135611d47565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16827f58454165245cb04f65f0d8e8e867125cee46b1b301053018898247b85cb4a9bc8b604001358c606001358a8e608001358f60a001358c6040516115f296959493929190958652602086019490945260408501929092526060840152608083015260a082015260c00190565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020818152604080832084845291829052822054600114156119d45760009150506119ec565b60008381526020919091526040902060019081905590505b92915050565b60006119ec6119ff611f7c565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6fffffffffffffffffffffffffffffffff83161580611a8c5750826fffffffffffffffffffffffffffffffff164211155b611af2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f7264657220657870697265640000000000000000000000000000000000000060448201526064016103f0565b73ffffffffffffffffffffffffffffffffffffffff87161580611b2a575073ffffffffffffffffffffffffffffffffffffffff871633145b611b90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4163636573732064656e6965640000000000000000000000000000000000000060448201526064016103f0565b73ffffffffffffffffffffffffffffffffffffffff8816600090815260208181526040808320898452918290529091205480611c9657611c078a8986868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506120b092505050565b611c6d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f496e76616c6964205369676e617475726500000000000000000000000000000060448201526064016103f0565b611c778688613077565b611c8290600161308e565b600089815260208490526040902055611d19565b858111611cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4f7264657220616c72656164792066696c6c6564206f7220657870697265640060448201526064016103f0565b611d098682613077565b6000898152602084905260409020555b50505050505050505050565b61078973ffffffffffffffffffffffffffffffffffffffff85168484846122a1565b60a085901c80611d7857611d7373ffffffffffffffffffffffffffffffffffffffff87168686866122a1565b610407565b8060011415611e1e57604080516020810182526000815290517ff242432a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88169163f242432a91611de7918991899188918a91906004016134bf565b600060405180830381600087803b158015611e0157600080fd5b505af1158015611e15573d6000803e3d6000fd5b50505050610407565b8060021415611f1a5782600114611eb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f496e76616c696420616d6f756e7420666f7220455243373231207472616e736660448201527f657200000000000000000000000000000000000000000000000000000000000060648201526084016103f0565b6040517f42842e0e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301528581166024830152604482018490528716906342842e0e90606401611de7565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e76616c696420746f6b656e2074797065000000000000000000000000000060448201526064016103f0565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000e92b586627cca7a83dc919cc7127196d70f55a0616148015611fe257507f000000000000000000000000000000000000000000000000000000000000000146145b1561200c57507f6ef27d2d164cdaac4ef8be9cb79ea9f4c11ee76db3a38d2aa02021b5e501909490565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f132e766da39286dd5f8e802ff897cbf040a00bc4ff4c38c2aa9b7ee876af462d828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008060006120bf8585612336565b909250905060008160048111156120d8576120d8613504565b14801561211057508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b156121205760019250505061229a565b6000808773ffffffffffffffffffffffffffffffffffffffff16631626ba7e60e01b8888604051602401612155929190613533565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516121de91906132c3565b600060405180830381855afa9150503d8060008114612219576040519150601f19603f3d011682016040523d82523d6000602084013e61221e565b606091505b5091509150818015612231575080516020145b8015612293575080517f1626ba7e000000000000000000000000000000000000000000000000000000009061226f908301602090810190840161354c565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b9450505050505b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526107899085906123a6565b60008082516041141561236d5760208301516040840151606085015160001a612361878285856124b2565b9450945050505061239f565b825160401415612397576020830151604084015161238c8683836125ca565b93509350505061239f565b506000905060025b9250929050565b6000612408826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166126129092919063ffffffff16565b805190915015610b965780806020019051810190612426919061358e565b610b96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016103f0565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156124e957506000905060036125c1565b8460ff16601b1415801561250157508460ff16601c14155b1561251257506000905060046125c1565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612566573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166125ba576000600192509250506125c1565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831660ff84901c601b01612604878288856124b2565b935093505050935093915050565b60606126218484600085612629565b949350505050565b6060824710156126bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016103f0565b843b612723576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103f0565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161274c91906132c3565b60006040518083038185875af1925050503d8060008114612789576040519150601f19603f3d011682016040523d82523d6000602084013e61278e565b606091505b509150915061279e8282866127a9565b979650505050505050565b606083156127b857508161229a565b8251156127c85782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f091906135b0565b6000610100828403121561280f57600080fd5b50919050565b60008083601f84011261282757600080fd5b50813567ffffffffffffffff81111561283f57600080fd5b60208301915083602082850101111561239f57600080fd5b803573ffffffffffffffffffffffffffffffffffffffff8116811461287b57600080fd5b919050565b600080600080610140858703121561289757600080fd5b6128a186866127fc565b935061010085013567ffffffffffffffff8111156128be57600080fd5b6128ca87828801612815565b90945092506128de90506101208601612857565b905092959194509250565b60008083601f8401126128fb57600080fd5b50813567ffffffffffffffff81111561291357600080fd5b6020830191508360208260051b850101111561239f57600080fd5b60008060006040848603121561294357600080fd5b61294c84612857565b9250602084013567ffffffffffffffff81111561296857600080fd5b612974868287016128e9565b9497909650939450505050565b6020808252825182820181905260009190848201906040850190845b818110156129b95783518352928401929184019160010161299d565b50909695505050505050565b600080600080606085870312156129db57600080fd5b843567ffffffffffffffff8111156129f257600080fd5b6129fe878288016128e9565b909550935050602085013591506128de60408601612857565b600080600060408486031215612a2c57600080fd5b833567ffffffffffffffff811115612a4357600080fd5b612a4f868287016128e9565b9094509250612a62905060208501612857565b90509250925092565b60008060408385031215612a7e57600080fd5b612a8783612857565b946020939093013593505050565b60008060208385031215612aa857600080fd5b823567ffffffffffffffff811115612abf57600080fd5b612acb858286016128e9565b90969095509350505050565b60008060008060006101608688031215612af057600080fd5b612afa87876127fc565b945061010086013567ffffffffffffffff811115612b1757600080fd5b612b2388828901612815565b9095509350506101208601359150612b3e6101408701612857565b90509295509295909350565b6000610140828403121561280f57600080fd5b60008060008060006101a08688031215612b7657600080fd5b612b808787612b4a565b945061014086013567ffffffffffffffff811115612b9d57600080fd5b612ba988828901612815565b9095509350506101608601359150612b3e6101808701612857565b6000806000806101808587031215612bdb57600080fd5b612be58686612b4a565b935061014085013567ffffffffffffffff811115612c0257600080fd5b612c0e87828801612815565b90945092506128de90506101608601612857565b600060208284031215612c3457600080fd5b5035919050565b60008060006101208486031215612c5157600080fd5b612c5b85856127fc565b925061010084013567ffffffffffffffff811115612c7857600080fd5b61297486828701612815565b6000806000806101808587031215612c9b57600080fd5b612ca58686612b4a565b935061014085013567ffffffffffffffff811115612cc257600080fd5b612cce87828801612815565b959890975094956101600135949350505050565b60008060006101608486031215612cf857600080fd5b612d028585612b4a565b925061014084013567ffffffffffffffff811115612c7857600080fd5b6000806000806101408587031215612d3657600080fd5b612d4086866127fc565b935061010085013567ffffffffffffffff811115612d5d57600080fd5b612d6987828801612815565b959890975094956101200135949350505050565b60008060008060008060008060006101a08a8c031215612d9c57600080fd5b612da68b8b6127fc565b98506101008a013567ffffffffffffffff80821115612dc457600080fd5b612dd08d838e01612815565b909a5098506101208c01359750889150612ded6101408d01612857565b96506101608c0135915080821115612e0457600080fd5b612e108d838e01612815565b90965094506101808c0135915080821115612e2a57600080fd5b50612e378c828d01612815565b915080935050809150509295985092959850929598565b60008060008060008060008060006101e08a8c031215612e6d57600080fd5b612e778b8b612b4a565b98506101408a013567ffffffffffffffff80821115612e9557600080fd5b612ea18d838e01612815565b909a5098506101608c01359750889150612ebe6101808d01612857565b96506101a08c0135915080821115612ed557600080fd5b612ee18d838e01612815565b90965094506101c08c0135915080821115612e2a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612fba57612fba612f59565b5060010190565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe81833603018112612ff557600080fd5b9190910192915050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561303757613037612f59565b500290565b600082613072577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008282101561308957613089612f59565b500390565b600082198211156130a1576130a1612f59565b500190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126130db57600080fd5b83018035915067ffffffffffffffff8211156130f657600080fd5b60200191503681900382131561239f57600080fd5b80356fffffffffffffffffffffffffffffffff8116811461287b57600080fd5b803582526fffffffffffffffffffffffffffffffff61314c6020830161310b565b16602083015261315e60408201612857565b73ffffffffffffffffffffffffffffffffffffffff80821660408501528061318860608501612857565b1660608501528061319b60808501612857565b166080850152806131ae60a08501612857565b1660a0850152505060c0818101359083015260e090810135910152565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60006101a0613223838d61312b565b806101008401526132378184018b8d6131cb565b90508861012084015273ffffffffffffffffffffffffffffffffffffffff88166101408401528281036101608401526132718187896131cb565b90508281036101808401526132878185876131cb565b9c9b505050505050505050505050565b60005b838110156132b257818101518382015260200161329a565b838111156107895750506000910152565b60008251612ff5818460208701613297565b6000602082840312156132e757600080fd5b61229a82612857565b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe41833603018112612ff557600080fd5b828152610120810161229a602083018461312b565b60006020828403121561334b57600080fd5b61229a8261310b565b7fffffffff00000000000000000000000000000000000000000000000000000000831681526000825161338e816004850160208701613297565b919091016004019392505050565b600061016082019050838252823560208301526133bb6020840161310b565b6fffffffffffffffffffffffffffffffff81166040840152506040830135606083015260608301356080830152608083013560a083015260a083013560c083015261340860c08401612857565b73ffffffffffffffffffffffffffffffffffffffff811660e08401525061343160e08401612857565b6101006134558185018373ffffffffffffffffffffffffffffffffffffffff169052565b610120915080850135828501525080840135610140840152509392505050565b6000815180845261348d816020860160208601613297565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525084604083015283606083015260a0608083015261279e60a0830184613475565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8281526040602082015260006126216040830184613475565b60006020828403121561355e57600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461229a57600080fd5b6000602082840312156135a057600080fd5b8151801515811461229a57600080fd5b60208152600061229a602083018461347556fea26469706673582212208fbcf10fe536790fc9e50275d9a27e3c6cff912d911846204c06b85fbac937db64736f6c634300080a0033037c9d78916b46d390cc66557963e445d1406815c10a3fe4149c8bec5ca0953cff03a834a979e5e5b8695e6f9b73a775f81601f3bb090a14cb1413bdf8cb99cb9d680324ce2ea5ea06a8c1f8a53a53ad5c24c9c33b2ad25b080a6d7b005824971a553c035fce3c48cb2b2c273eb69870d4000137d2f01e58f6bc1018a0cc4b43b1a3a14d03d9b5c30911b255530a0cd6376add07e44279b1b857d5133f29a61f17b66978ae0354add619caae1d88be007fefa645986d72b54b428bc9edceb1850e4e21bb5922032382d1b098d661c755cf78385ff75efc975aec7e710ba0b20bd66382b405c8ab03f886cef3f2c86a702654242dd683257fb2e614fe30fd79e1c3812c3b08c2ce34037d4c3029086a954d3f7ae52991495f8c5e6ca4c4ab5138862060f327db8fadeb03ac6bd6f80e38dab677506d12e4131ff52a4959a8290ea443648b9bbbf5bf97820346aa8e17ebd9e2e626fc0c7b6be6a03fe74dd3a8d5e1937989c36c8d85bb1db403257c23ee78c457416ba1ffa7511b5005e6e3aa3c774e90b2a47365af6b9c567503b549b45d919b5a23e243e02b046e3f22d46519cb7d3e1a15b2eb8a0306f83dff034795d866c65516a282f8d02a2f276f2d9e8e05633dba90b65b931932125acb810306eb667fe847e2dbf09f9d0f0950bcdf6f00973406f89b511d8b1f2de4dbdc4b03e006f786ace8ba7f0118b257b06f6c610ca8dc16a9fc2068d6f9f19a11aa7bd603bc5ecffada12add0605dfd830f5d22ad22d7ba171bf200c0ab0db62f26a9829203af3ab0673abf7b69b53a3c285882ac82dbea52d5f8324e75fef195392edba0bc037b0bb3349cca847723c4bdee9081915bee8263d397bd71ee509a6dc426168311032bc64beb8a011e368388326a86ddbe636cf18e2f9e72d3e16af892c2ecf2a164037f7040eb47c7cc17ad28792bdd5aa7f8bd79ef1071f6d933b417949e3c6c2d48038d78ae6df6b8b6a3618a138f2e50f1443b7461bf57d73294fb6b758a2863cd8703bbe63a2746cf0b1d0ea448a8508a6e2ac9224d98e33a58f46fb0a5ec10bb5a4700581f0262a533bd78b31032373696b43f6060b961c82f57bbf3a68bc3eed9599879433d0d07037b06b98294fcef4ab754c210b7ee6acdb4be39a26c306e338d4c0909f7b5daf000581f02b789956c8348ecccea11b1e0c0e24035700e52f331138f9ad97e7924f48f440328875a00581f022a19af0c4e47004882ba74ad5cc4f6793c783b2de7f02e216f4f73a090724814c657e413005fa800581f0269ce4887a19bc2088b035ded51684aede367a2237d3ffb05c0379350ad1847136ec853fd744e00581f02c78282a2aeea697b38a04b7c0a72c52594673b5575e98ef3a08675281962440107f84f03200d03bd4110a6f590e053f1561cfcef4576ee530c2263a8a2ded4337b5c43e4021968d5032c28ffd9aa974378003cdd53a7c64393557a9305abd2e5d58ddcda999c11bd790219ffff03f6ea962f8472475eb15fb51a0ddbcf01d4ada99fc03235756f1279e3ee15df3c0340d2d6a56edcbcdc7caac1a2ede653a8602295bcf5eb3e8de849135086cdbe48034457acdfa4eae41480d43a4b43fa04e4604506b50d484cc336a5359e5b4c89e203653f91b64e7a3cbeb562eb270cbf40091a17dac73ee93bd91e549286d31f56ba03a798f864958b9fe8edeeaf960b56b1e1fee8cfe6f761ca958ffe754a8ea2b18f0369afe825b024a5a5468245b23c62c429f76dd2f16fc425decade8db9cd9083e7036f4db967c282840c92b5fd4c6edb0be1cdd1288a5fb6ed097f873ed274af3379036511ab155e4db44772bf5d1b33ddddaf6c8aa9fb6e6c425ba44416aaea42c3b00219ffff03a90bf38becc24d32ff2fe13cdee56ba5b40de31961246ec77b085af99d375b490324040561d9f2c1251dfffcaa54e9ef574cc895276d8b199db01a18c710d04fd903bdfd73b04ccaf94b5a7d2f81aa1d703765e45a4009a561c9a8f19d6d3c81ca72036c83b59faa7c6cd4545dbb7615eb218e63e696a90fd3c9729e90c7a51a487e6f03a03fdd38756c02798b3da27903eb8d840b1651615373ffe796119d5127700a5a03bffc3843e3b38706ef3b6ec6bb504bf42cfdb30e1ebe772ba92e4823739a140d03f6d9913f9bede6badb35b77807887c95d0e351d0899ecccabc54da79df2f3c09034476ae8cbf608fd3f2a1d33b2576fc1ae96a109da700b4160551b72eceb6fc380376b72f5f3f65448cd72958c4152b1d929946a9da20231576bc50876caabf5cbe0335f4e9bf7b56ef7605e7f091923acea701165bccec0b3518cde9007353eefe820314d42036ca8fb378da4e1acf522b89eaf30c1aab2317f95681766e9d437cc42b03aca9146854592f65a03e1c3b341764fd77a4433094fea7f18ffa1955999ddd7e03aa64e9d1d554f874476fcb2b593404f5967a42006daa9f43ec8a2f3f8ea04da5034c6c54b7e56d95761419e34bc2cd365cf384383a46761e0dcf88001859f4f11a0219ffff05581e03a9ee0690f491b5a824d6fbcbcaf89f30f92766d68d6a10afd8e6c27e4007011935f9038514b94641001ae400237199e89387bd043872e344325199f3f366b5a474a53305581e03303453a913480a9338ec7e333d841c136f0e9d60218b6f1573352c6fd0040103197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e03a8287980a3c83493fdff8a3ae425e2aa15ae21f91e631831ecc51cd9c007011bffffffffffffffff021974bf03ad64a2b691b0a611d64bc048879eeb0599a46ff42b9ed8ce2be462896c9394ea038a7e683817e4672d90925cfd2c0def5a2daaa2b72b9509229a40a4762555fb7203fdf5af97ecb7d60c1d97665a05be0c753b1370890c6a198dbd1958ca5223747103defe60c84c6bce1baa46ed4ef9ab9f47ba32255351d84145210456067cf8ab7203f12fe7578681d7356b0fabf2f8adafe9f3ed00a581d80246b1f1b9a4e765a7d5038ac47e43438dd5fb1d156ea3976bb4551de82b8b79f76bbb95018564f1b9206503b040c693c89d11f0c923bd5b9cce48caf895bfd36b88ec5ec019e1c7614d943d03d9da8b2bb57f0d89f9b9be0ca069a2595b59849f8ecc9afb2ac8438bd0f9d14b0340b4242deedcd65def7500c26dbac1d85e7be6460ad456e9affe4d6edbb9256d0328a19984189641c7ca8764837527c5ef4b40b0fe5724fe09a34201f8d90d347c03a722f0682824971d1aaaaea3d25b28c16fc4a7d045f6b2fddda26cad3f5db9160301b7acdaea7b74e33a8612c7cd9355ca3dbb7d355900f81ea1a1939b007caa8b0359322c8969674087a56de054a31fba1c3d176d59185a806805c9129f7910ff4e0219ffff03f81734b21e61ca5f90e04795a953bfe8736a281e968879e734edfc0b1d54f3e10316769748cbb070eea293a5a4924d254d188c41e766abf212d742d33ae06f549c03c4b0840b863efd655a686854e712e0de85ef76e8f250e05953b09aa2a284eb61037856bf44105993626a2cb147e62aa25d991336c4ccaedb4febe1f05368e016c2037c257d1223a28f8f3a899f336bef31eeefb7157d1d59d84e2fdedfd6fcafdcde032b9110b4e65b84c573bd55613cc55e5d1a5cc56da4a900ba2822d6c8f132f62f03b49b660dce8494e0c9c56c0f6cdadddc3b8f10280353c860267246c0d56d999b0219ffff03caf910714240fd740191030b527a46bd0f5de43dda80d49af3c29feefa5dac0c032157e26593ed5af589e8ae9013aba9bdcdfa27e9124c331c26f1cb7856dac6e403a5be341c58754e1c0fd51151f2ef4620ff518f81aa960cf78775f7c730bf8e49030da3e24911e9b917d3bf683c27f7af67c7ad5a7eb5dc61d5c8ec9a687c990a35034d96d80ef64227889eae6b119ae346912af644898e6117c8b11afe7e840a0451036300b814d454b64ed1c03899e0b04dcc13afa11beefd51ea4e96245f91cca8230313e2127f135698f1010f1cdf1297ec108cb1e3f3d34ca16b364ad9dd7479d7690219ffff03dfb29864bf1a1ab75ae9651bb2ee0ae56e1f61f71ec16ac560327b5258fb4e06036289df5ae94c39a8612c3961b3906f3b1a2be16dc50d5669f052730f7d5d225003452bb5784349d00959211c4d6ffc299919eca4aa0a7165da0d9f52e901c464b5031d66d18cf52f81b277b2e53c44202edcb29206803219132806215bbbdf960afc039123f4d76cee2583e17909e145eda328fe1d3d7401a721fcc0480d7c8838d0f60219ffff03dd87e3d5ceac1f29bec7f2ad893d543e80882d6c8b9b20b6d1b3cb8fd737e5b3037fddfc371349da689fe9fa96303dd39686bb416cb58c0444a6a38943dab0a71103f18096db097d04ae8d17a2d5c933f7d417527e12a5dd990d31faf88c645bbd540369c0ccd4e1589d97fb1f16f4e5aeb368cc18b9ed619fbd41db4b50d49c30a78c03f2e6032685aa629463f77360fd85e75a8611205f0d11d16bdb227d3fd69fea0403120cb6be0b67cd39f2e00fb6e27e67fc0de40e4cd30aecab969734cd02697910039de4310baedb35461298fa7aabb859aeda40d627bd11097d6ede098f35aa7c9f03795d5c4740bb6e9733d00df32e79707c814409b4a953155850a98132bd9cd894039f0c540f6485b3301026302ab7a6178f873ca80c2896d7e73311609fb4e9fd8a03a5dda76d256593fbfccbd2190334157f755c8e282556e7f1fef36dcb0372ae0b034efacfeb218b72898240bd35bda850d64c10e2e6bd036f8db96fa3c7bf7bddc1032d84c3975e3257f6132a9277e3d209488d50a4b71dc49bfe6922b35bfdab079f035395137865bb7ab61c896199c99c447fb5898460e003343e9820ca6f2fc8c5f0036f94b70b4092972cd8f24883408075e49847c52445dd98d7ad5d3e8d6eed16ef032a99394fd65984fa659ceec2c1b7205cf36a373c308d71c40a165f5fe9f6b5d003e6756a9a2a0f5bd7dc6105123de2de072be746ad48ad1c17109e1bd2435b2e52035204edc909362737a99d26c3f309f582166007444c67e01123add77d3509aaeb03026c96436a8ff17636b49f2b171bd50dedc5d24c8eed49f010c3eac2519eefc6035acc7036de2e737680182f5058b743f2142e528d442abeb8369399c7e1b0565305581e0381c293f8fedd0d9b99512849eecaf98eb04fbca1d6417b309005218bd00c0446c95ac36ba3b803d76a09e8ab7c72236dc658e0c47de51485dd81f153a0cb5d1ab188464b2b044005581e03f2bf82434b768d5913bbff957619982139f5e59214f7efb6a8c1a39c10040505581e039f6511e150c431373b233694e60200b6702ca48fb853fb90ed62a1c1000c0145939a7417a003e2e32bf791ca43dce691682c7cad3675b6850a11c6956468a1992e3f99df969305581e03159497221a25b5c2308c34072c4ec73a5fd52fb146516e548634f9cf000c014502540be40005581e037e022ff659a23d57ed326ed32857dd7dd444e6339c9cf1a2f66134b0e00c0245e44b275f6603f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e0358be77f7abf00d77bc0fd688b7c2d5dbab0559e992cd5f6a9e7f809a1007011bffffffffffffffff05581e037d8374d0625ef6bec93f543b9cb83ba1cbc90ac00d4f22a42070c8fe400c0246beee9a49780005581e0303bd62a315057dd08255225d12e8538111dd71e61feeb328c690aa9eb00848092236eb59b8a000034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e039ce2b9645c2340dae3a341bd1c37d31dfd7896f0f4c291fc626c732be007011bffffffffffffffff05581e03d2a0897e0e000ebb61c0775c7741488f2e215de22d94982858e922ee400c0947014db0cf7a3c2002196fdb034c48853f2d1095e3717de7d2c61bb89ffc7358189d61d09c0234485b0c37fbc4036f715dd6cef4650fc06be02cc727fb8a2079a73266364141bcf610e15c0878c403d802e4385c59d8e6df6b409440ec3ace6b34021fdc618a63838ba5dab2f22fa603d6a87df1bab75e1d7f13d400aad8da40ebe67671c90062cd37a36339fa7bff6603ca7382f763c11701876f5eb35a37ca1c8bdb6e49403063af4c39f44736d1b41903bb096e53af4704c8495e287ff2931bd7ec44259d8297147c540755d3a1197a570219ffff036586eb493b52d4ac5668536199842deb25003f3d114f2b4e26538f6aec5fdc1b030c8f9ad77c0e242169f7ec6efba3a88a4b3811c538b25a4601fc1546cccab14f038ce2f35b7f8fe50f052b56106ee93a03f660b6e292d13ed6ff9889249fe3a6770310edd311b7800b98930628beac233bb3e02b07bdcd3213b8ede6d01af1bce84a033a6ae791edadf8360958e141d9687caa9c8f52a4902f84f6fc0a18cba102d9b1037f4bb75ea59cfbaa98d886e0ecbeffcd0d903f9be748a46f148238eb14f523d80379fa8fd40d10b941b91b5567d39b0d1f7d663666f0f74ea2860b1b77861aae99036fe9ff1b08176d7e6b30bd93e78a3add6db70475554bf16279fadb8c9b7a5ada03d91dfbea9bf930c9a516f8de6227bd042a633ae9e310b0a74b1651585073aa2203d478ecd3691a86d587b42ff65b99c1f33bf81643f2bb7eda98d80adae330ec3d03ccb342d501bdef13d3ec6167560a40ea3e83a9206868a745cfadaab58101ab900219ffff0359bdd0379ef923e596ddf047a200bbd9b91757c4340a81d67e3e9495d42fce9b03732184ab273d5db3d7ee11f7c46ace7691bb901e346970a15d021ec42fd395b303280ca896723415ef0bc024b4ff99d9c4b9e1aa08cec28671320884bb9a58e03003de0c406a9d15afed8cf995d012d35b1aa17d875259d6c5395d4b92e88d72eed5033e7c853322b178a7e052c7477631db0335c91d8eef193220f3b0341dec86408203a5f7d2cbeed122fc7a296dbd02ca0e1f715672d653ea5e1d487d5f0b11dc4d27039708cf8bc0585ed997bcc4a347aca5fb6f28bc01d2e74f41e55938e3949fd067030f49573bbdb7b6b53918df6010bd961fae0c4be0cf6e9a3952bd9accf032ba3303e6d58e293874ee6872aee9b987a93fbe64365a8c7ba134c7dc83e1a2821a4e3803e226bb4f9017f6c6846b97a466abd482ddbe7a71bc213e539738e72578e3c1cb0219ffff03c6c0010bec78d31b8717c2adbf23f10757dfd7baae1381f00d05cab04c003b81039fea17d647faf9e1614aa45a671e77413fe5bbd687703caad83ed42ea36f3b970334e6c0526f7481448fd255338c5b18d94bf4d82b93ecc97408da21d6ae9cd82003229756f80b8ef2459a585f646e458aff7a5cf4bc138d37e388858789dc28dfa803db53e68373c383d7ec04d3dc5513f47b5cbf0b90c6ca5685ee2a07dde542c80f035ba02dc41df74bd47b0606f35fefc5f40a4fcc3569ba4bdbf3ce76f39e5c6f8f035ec9790d34361623af62c1e48fb72e3c0f47133c101afa0d38258f6b428c2c3a039bed5e63e54294f324aab8a77d9968996a2ae1d221175e4d51661ef61c39ad2003c22acf2203ecdeb728603d1d5bba3b009e155c2871f8429fb395a3026eb2eea00337080046f185eacc7a2084fc43b093854883974004a34d7a8dd8b593ca3e5b0a03b4efde68ca62c8cd6017ca17772267d04ce9f4494d45f08a6b1595bb0bc01f800376d2b5e3f65dde1e3c27f7a450772e74909c8ebe38d00de71597da9e227848fa031419eb692ab78b06e9cf1ab287abe76e1f4921fb21eba7bacf3170b82981184d0307bb96b8d65e6e43159abc77f12a08f1d35629390b0be204d8d23c3147789bb7035ce269988a64be1879427ccf4de34487ab3d6471cd841cab865a07688c052f4d037b4c34caa873dba01dc9c702d3734f7145b01dfa4c6fc184e0ed4e7ce2e077560307566ba98f956deef479957e47bab22c51ca46fed4825d850fd2c02c64b401d803a47ba7852e7181f9618de1d14673636d1635572074f1322ca010bc591884705a03022d94858f44e8b8910aa4514299ea2365cb22584d78ee037ebf5336d2c0136403b6b3a44a4755987d1a1022f4cdb08e61df430fa99b326996c2babe611aed9c0903848991646f52c3ccbf4a05f4ba6ca6ab3f9d90db482e912fa4a01427a0573bd103e981fb602854a7e888c4ce6308a418b04e5ffefb32784a00d02ff199cdaf4ddf03679788bb5e58568f58c03e07aabe8b8b1f5810fcf161085a4b585ca008ab0d7903f45035e0f4b49718f92faba7517e55f0db92dc00016b9847f5db893128f9d01103aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581e0344d3caddfbace704135bec88b334ca851c04b16014aee3f5839b33f4b007011bffffffffffffffff05581e032fea25245f53266d9666e9eaced1edf1a9fada7ae431ea17ea6ce592f00c014701109c514537c005581e03fbb5422674035c6ed6ca9914ec761fc625f1f6057088d44f51b3edf5800c0748058209a6dd6fe910033b656b4a7f7b33ba9d22c03e191d4f8f3bb972a8ef4bbc9be07ea1244eb05dea05581e0359d07454682f3f74cd40023c150f1b1d01dad66640ead2a7d5a4f1de600c12470134aac25b0c2805581d0229c46194e81b543680036323d19e63cabc6606b5d7a4748c646c2a6c0c114801fc7f05b375168305581d0226b3d6f30a77ddfb9eaa42e67567e3e611be3f83bf6280dd6d3cabf20402021920080361241b6b58c689498da63aa3deb63ddbb2a7080cdf053b988572570f6bbb0aa80326e7daafeb3119621bf6a6245a1ebe951f6b91fb5ed2dbe459b394ef2244828e033ef20c61955a197b204d6dc8f0b6ff783e8c2a0c6dd62ecca306188ebeab3494030fe59d89bd206138c1ad9171f7121c31ee8c51cd586e01247cb347cf34c8eafe05581e03a73d5325b86e1cf3c95c27101b2660b800194a43d8fefc06791d742ad00c18394693999f7fc66105581e03f383f9c8fd4f9f4b6da6791c749e91858f1606447ed1ff39a90c682af0040303f73f3928d96c9faf25f4e70291cede2c8890a316909f34379ac141f3532844f50219b7df03e604fe155b50bd94801146b48a8319bacab6c8f8a346c90d3470cedfd1e5486203f39db06baca06ab1e268f37fc6790958b90c069b371bcd74f281c15afb6ac74e0302e6a32e5584a5bbb65ab2a3ef4fd1eca67d7f9e56331f90793e76327e97194b03c323d330e278cb0b948a2b693d6d0d425d8efcc412f25750127f4ddb894b538003b048816fe5cc4fabd077750ed1fbaf56164737479aea4f5f8d157f47a02936a0033161c4538b81d91d12e7eeb0089e01e677fcc291532675f6780df97a8ef34a1103aea69e1c0c201e864ea78d6aa88962b30411efc193acf0090491f6a9a3dcd6ce03ce30d0ec856daf0a846d3a26e1793cc5c75b6cb04a3a2c059f20be67ffacd79d03905443746f3f879205a54355ba91a96b41e4f08c829a3a90bd167e6b96119d0f0219ffff03c8e677e2cd38a434b90255cd3164b7fa5c78d2064c51e24bcef19d4f131b0aca03854ed8d3a9ec7e79243c47f32c7abf5a6cffbb34cd05585d0bc4f08afdd56b5703decb13cd3ba6c5fa8d8a305c0dd2329d1729c9a8f23844ab63468cb880c4361c033b9f26b35bfe50a445344bc2601b27a3265c14652f9c89d8c99f1abb5b55de3f0330c7948e4e52664adc0e82479c9645e3ac4543aaaa8ff0f809c78ddbfd27d9f8032367bcff38bf763f3a8f5c34539da9e847f4b2bd6b903b163b79527d29542973031336d2fcab39e9d96214d0a44ddef456efdc401b3462d3c8c922496e6a07a6a103a1f55c477a92cf93ce7d2a7ee89b56f54341c7d29d754963ae63dab5d60322ed03b4c1758140c354330eb7aabd5864a64287610269dca20448a7c8b5d0f1847870033a9983e4c5f76235b50b390c163ff8d1fc6ee25606ba5533d22e2bd104192bd80307d67bd94a27baba059537494e6c38388b7cd0e8aa6e5cee373ad7a243b040a00311ad7ab9b26f3613ed5b2c18b0c4d303a7b9e03e0fad8fcaf0e82ed556eda99f03d1304baddb87e1372865fce875ef32247e644bdb615a47ce5533ab11d2fbca4e0219ffff0383762201ce818a2c28d1e91d0dce4a700c8e920a4fcde809ffc72c2aad58723c036f5dbc2b3251a7acad9c9aeeb0ed30bab6bb3acd4201aa42139eced13c8bb320033cc72a41597fe481caec9036f7fc38d461f0168ec10410f3a643c631f718231c036839437e3e3c3113ac0acea1b4e8bd9a7dce3879e39630a13581ba41dc9b1ef303e669a54b056d3b9c964e091ebc3e4ee9dcf6156195e9f399d4e052188226ae51039e0187aae85c1e6673716e9eef48012490e7fceb59f28efe578376f6293b411a03b921dbe0142c50f559f9e9ee30fc41d98a6c505e3d70ba8f871bbea669993e950219ffff03bccc9a1f7f9cdb97b0b2fd796e2d4a9b084e924514837598ab74542a7c934dcb0340f4943d60e859594838e5734cb33de41054fd85232e4b8e50136ac3e887742a035eab78f11909675e002c5922120940d20bbe0ca600676c3a880259800640ba9703ea2b0a11862a9513bc90e6a95a92b6464e05191c2a263a408ce2d0f054302cb60380d7b6998e66766bf837f3e8ea654371a50afeeaa56e6509ebd941501b57935b0219ffff037453bb1a1002389b53e5244e99581d62fe14ce0a4dcf1f49de5d1b42649f3d95037b464ec6996f6ff2bf6e81b5144c4ef5e9b401c36b981d584ec286674208f6a903743bde77f74fbde5de10e8e4afdef85d634fe2fdc83095742db40d7a92a4994403ce1ab94252f98dfd6f1c35d22abd5caf0c89df44e31233fa8cda88793f0919de03b6af195a3d5afad0c35d31700075e7604cd23c4c4f53fa5216638b2a45773c9503bfbe57d9648af7bff919a57e471fbfcc8e71249ebd32558c189e9d4250c3058e0362c245a278a3f511e7deab68df8a099d99ed04415dce67c974f5e1dd3580d59003fafafa43591812740000d8177179d740bf3158c97c02d35c501428ea09739c920322c02169e7f3f68d6dd50575c5adc7592e878b91dea691287fd381f04bd9a22b03f97231b65c2cf51d9a7f4f009137bb4fcca83efbf7d45b428c44259ad2e5dd0d037424008388040d60b56ec7115533ed462f8342e07d0e4da6fcb64b660cfe657903b3b7a2b70adf6eebdeeea6b7526611a7a904c63a9ee4c8bfd51a4657e8d767400334893b12afa798f7630250adb8520f947ae9144c786bd63869d36f733fc724100335f3fc02e5cb6236cb06f074bae7bc30ce43847e05cf263271cba4d7c2f327f6030cb34491dc2d7c8f1c56300296b97228de94011ab7e588b8997950e92e3c84ff035236066ca1d2a3b5c0eea802b1d775f07dbf91c948b2a7798347219ab492058c036fbf75f76690ddc32b1eccd9ba10c0b51380da5280d66348e239159e39ed7b7f0308e651d50aa5e2065ccb2fca866abe66d36773c061f9c0582d48d2a4c24b6c6403fdbb9ecb22b59f09101dca1253afc0c6ee18e6dff172f01ebcefa6e629c0e62f03218ec6f1463350cde6dea21830a3d840a5d16fca9ef7590a35bfc5f3c84c7999037cee3d424355a6ebcea799b90032294afab6251e747f6efa7f1f012b13899ca705581e033bf699392c7b9d0341094f39dbb1761cbeb67c7011b3c1e207d6430d30040105581e039f1d906325dc75e96b825958e225a7a2b3f8aba5d4c1250203b6b3fe100c01470810bd86326c0003a41582f537d03151d6c82d1c6bdc3a7b8a660756783202e0fda0a6a04c9e471a05581e03d948f44ac369a0d7f0b2c42f9dc32afa501176b7fdb2bf7c4f9f1e5e100401035b0d61089342cdd139a14cecf4015050d6850aa7491afaa448bf7a974094cadf05581e03390d91374d1905078941008904dcc388909a097f2ca61992fbb32ec030041833021984370363f729f908ca1dae9ff9d19307e1bfd818be3aab01186dc93ae8ee53cf625ae80302fe6b5523a5275b1e4e7b9b2ef908255d9fc18ea2ca1703b1bc033a8e98289d030476f1ff636e7ef558d65bd0390ece7ff7b43e125e3143a49694dc3dde3654fc032c1d929e4f5e6b2cba12a1dd1a1484dbd4e15c46a24a0f6b5c115754221ad7be037abea9aad44159deabe8cce507e047341951b468d5cafaf9a043adf3a2a2d7e1035867d341de2d257a8e81a4eb992846385d437ba9a042e32d79e0bd784116179903fbc95b146fdf92c0ab4caabdc8ec936b9c8dbb1ac5a88929f76ee48c4bf3a805038d5353ca18e3a45dcc95311f487b88de00285b381fe8455248dfad4cad36523303fe77101f7926d7b941234976238fda93f87c97d175ad4e10918c7b8af31bc81a030750e273c24cb4c6ed00405e39bb404e1533206ce89f8acd157a080f82f009a3032ac68ed34d05cd1004c95092b85ab9480b877172f6a85c5d03f6b79348d8dbd103b3307ad4a5734b208191ef85060db071ea08ed05e8a02d6914d2eef3b93db4e70219ffff035f5255eaf11ac07c2a5d7c1ab3740151ce238e0d0dfe7d872d374cccb94363cf0398c7cc419b18d44dff2facdcc776db4d4415551bc7a29bf417f02c721245e95903940845119b92aec324fef63d7af39f46c7e38b01ab5b84a10152ab5cfa52ffa003e90af5998538d07bb4ea577e7e2c6e1e5c10c1f29ebb6d40940260ba47543e050341a0d7920391a4ad4e4e78293a235d6b6925b4b0ccecda39db26c972abe5af82034ec0fe7df8415cb5547bd5399cdeb7ed61406bf42acb68fd70036984c38d78bb038a36a544b6c82dbf054e854aa9766f276abd235a8cda29a03800bc371eaab9b003d1531c856e5388dbc29d1a7cb0d0801f9292e1f2eb8e51a5fbd622e7ac0c0472036ec34978d1e57566ce28ac57ee04cc1744ebca27cdedf30862f3895019e4454a03c8f4ada2b9d7bc615b80d7ef569fd46004e56d3b4062ba149b97818bd4ac5e740385628d6e0ec487c03d9e0ca62a2c39dc154a2e956aafff86cdbcad377d7dff140399dfdf4ec43d9cc1e267043ef3ef4849b1a8f2b72778241d6dc294dd5e682341037248c8496ebef5998c19288e32536455e1b9aa9b9cfb7ccf945ab3b51d2765040219ffff0306c982e1c59465f79a663ab9c8d25a85ca6aff3485712ccf4da3d187bed4ebcd033c3eedaa37b8105e8b094d843ebbe7ee13f14074a5937bb1fa53e6bc60e2866e038305b5091909172b6d5c35cc1ec16cbc33f9f574676dfc95e1cb711572e5cbc1037076836399d4b41f30880181de95c9a7b953d2fdacbd1a1a8e9b2a198b4b10ea0334c3fa584236ccdd904594e7f62f5f69cb11d55e8e62f4605606f13430f89ad80371cab7a0d80d74447b7c09475bf07953f41e7ac209182577b50460fcea994f9a03b3276bec01922a15dedef388aa59a226c9f380fc863aad2f4a2e959bfe81f6340219ffff0311809cc7aafad821cd8fb79a37a8d4d7118815857a85f3b1f72e498f76952fa10398121c79d844c89985f8aa41af64fd476f34c24032581275e681aea3179d6eae0317f0143f24e7e77525ac815c2c3e42128d8676cbe29c18aa42ba51420c36a0c2036438235a54d94e7a62640045b5027c44be7bfcb33650c1d17df1593269043d95030f73f5fa8be323353e8d278794f85008ecb6f632be3811c814b14dab20e5dc030345fa88d7cc4e0db09f403df8e4e34a471b4c769ac5079a2150f81b14744d106a03c8ca85219f057b71e40120a0436bc54a41cabcdaf5b0daf1c4dcb381cc605f5d0318d66a15b39c4aeab6d58c7fd02af43fc5d6a889aa0581ad74b0f09df2221102036bf681fce995f05115507f36be7ef1c7b17ed2ee3ea4e9760795f7d73c062a6503578e2bca787f47690d6dfb2c31c3c705c089263020295dcc8e8a0c5c981520a703cac701d078ccb0384183d553df58b5ffd137b7d46b436d46acd4aba52f4e488c039f66762961c78c51b50cbf6a8975364c943f5ede6c3e7d2b7e70cc686cfd518803e93a74b890e41fd45885b026c094f98acc2ad6d8d3b2531a9ba0957233454750031db854d52a63840811d0265b7e8553e8f1d4515cb6c266c1246a15cc17dc072803438456d45a1bbdb418312b2f164fc6c569c6aa296c724d49f71bbe204f5dc42e03f0ca4ea03ef238807aa6b54fb9fddbc5e54dd3cfdb10363b7476f76aa44d6fa3034f6b1733bbcab658c257b70c4f90e8e989ab1a9f11ad5c2ddb7467ba20947d3603d558fbef3389f3e72269402058c230f411326fd5237f9e5444bad7b9a3f55856033b921ed061c767887557fbf268c6fb51a6a32bb002454c06c5b657ef4145263a03c5bdbcb71157708c1337afa2a37049781b30c25de0754905df685b604262054103b0c750d70e91665e348cebf08378150a2b6f637371c303ff969d35d2792ea723035b7ace70fab42cebe8e244c99d86fd44a01d7c96d01f809837ade1cdbd5a824203d835855f866f769d7a6a29ad991fb4f987eaf3c035955ccaaaf4a4cba89ac98503ce46effe8f0caccedf210ef0c5939c614e247faa1f61f66f9fffdc072329f31903e80c4332a5c9e5ce091ba3a5a8e7909c5be15e02b9438111eb885eaaaa37e3c80373c0f1836188978e6fec6280a50205051b7020668a0698bf4cde7c2be1a4ce21031297e63c47a7e4a565711b474f7491e4f5f0d3f04c3e9896a778ad0b38f5b47003f1770defe7c1361d828a378ebe3977f739316e4aeb37a7efc0827d352bb19a6705581e039fa487dd63430b06630f743013635242a063f4809b54b08a91620c9ad0040205581e0322ee7ef94eac2c60d4f1a73064dc8b4097b5ffe4b98a647375813a3c60040103b948bf760357f76b853b42bdd9a694fb76634744b97ed111e5887e97671d7e31033a298886186362e2f8ba7a9e33a4465bed3c3168321ee7503af639821598b1cf031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e036dc28e494ad5dda9554eb71a79607a2e3fc5d1040b294e50925e4a1a7007011bffffffffffffffff05581e036de24146788ca9dc0e3ea578798482d9bf6d44c1be604aebf52a79add00c01470b1b1ca2d03aa10219a898030330107502a4fc5c274f1ca9d5377408c0eaf64b41eb96edc42362ed73c526a203af930769c50402db458dee513165ec68099e87f327b1f968ead13a8551b77d430325748bb9bd4a94e5ffeeac42de1368d3498bb41b1c1281fc6840f8ed73519f8403be7dbec3042aeb6e804fb7fb6f48672669117cfb0eeab49b0d0330e4fa1139e30219ffff03e3465deb541f9b115f72872764b9054fd9d6dac0ca277875e0b77b33526a32b7031694a16768a1398aa69a9d25128decc3f52aa98af4a46f11be1730723a8f043e0345d4c6d8c2b784c41ae4fe10bf5858ef9cd19a57cd4f33a6f1250a39eaa85b9503e4624ca2f708a09d9272a165bd722a553a79c2e80bb315d0fe60f05b66fcb5540305a26f63884de32e962dbaf62e86a032fe702fda35aff291317d657cf06487c603b59bc546ef226bb7ceeeffdeb07342525fc8ff7c7ee46a30ad5e05cb52e47f2f032c4d7478b5b8cf287dd8acd4994f360920d8ad90d326b78e1f46a7ad47d0676803110f55417c187256ae43f9ede52053fc86d93079af31cd35b907b005a8ed700303d3a44ac6b6c3700e6e78bba789dfedd9be6344ed9817942ed6957af569d0aede03276b6e5e3382d1dee4f3f9985fd8d2ced63391cbd6bcee648df71e6df1ea5d7a0327be189ae99f199f227e2d6ee52f98b48600b01ab4d7684a50c28b24b07d9c4b030709eb5caea414aa65f554ccb994d56963dfd98f92519eec3538bd3b740b6d8c033248bca87b80f1ca861be181ab23de142bd0547482f28ba256831c025cd01e660219ffff037d755270ee933abbe722e1b077e89b7b005afedd824cffcf52e8ae90443951420219ffff03b166f2a428b47b6c1c7f491588dc3af030dc9027ffa552a6533c8484e06d177a0315ba0e22548cd21ee8f7aae6beb087f8316753f686313e3b14102fcd2a8355f5031c9337320f2c700d3a331acb0db3f72580631be782629253faaa943f4420205003fe705a0c17801e3875849b6e90850d01bd546b602dc288a6d01fee79f775422c03655197c36314d7286a3b9f1450734ce4623a8b956d83a9678024bd91fffb540403aa6d5bc88fad36778f84c475cbd160a3a3b51de74396c086392f11cf0564e53203a36f5d92b21153b9a1716f3309a4e93b3cff05d005c79674af16f7d55c6ffd7203b3cec6d1bf5048b6a71d6371339ebf92e9c253643a8b9fddad24b11876e9738103ae55056c6d321f57fd58c3e77f6effbb89bb0a3befbd0019439ec35efeca59de0379632d2d937264f800ae772f95bce64079d8bbf99757dc0a0c296f1e857e27c603d88cce878009f64c4dffbf34028ec5b31428a07c5b42c7a0fcb9ae31324d0b8c03922553bd37bd35f64ca9cd771bc590343f28f536397cef22bed735fb446afefe037bc32708ca6cc64928c77f99497d31ab19a81b5d1ed36c4e5b0639f55f576afa03656e737ffdc2a83c37f4375f8d005348b995fa74fb7d0e07a76dcabdbce13d270338cb2eed9e61f88328d3afd66b98f0f2046451907b47d63c4530f0a1d969418f037d27ca15463f4e45871eeea3acf77b0798416a94e9a468d039ab1334d8e783a003845af6637e04708ff52fde76c2abce90be8cc1f20f8d20ffd52a03f3e770ea04033cafdc73996ff55e34143904192b029bd9a4c03286e9652a71365a604da531620390bca89371e7629fac81faeb363fb852516a22fe4e4866e4b908d43b49f85d6f03ed93a0848eb3c27cbb4bad883ec525eee953c0a06891a880b5dff14a4237ed4303e57d9d43ceb35c481dae84a9f31ad05bbf97a2d245ffa9679e9a852a65c91ba1033a9adaebbbc4826e4bc6d1af5fddcc85e6076196ef4424fd5c47448abf844ca103bbc10a802e637d49e0b91c21e7d37b270c45e7532fcaf796ec500dc8dc0b0ade0387200b8e6113a6f90bdd5e23bc446114bf78bcb0651d9538dfdd54349e1e650e0316023171e4389a61f6f0bc1c14ecd31db3fae527879799fb9643c73ae764752903c355fe0674ce78b8cd2d50c34f66fb6cbc3870a9b0220acd34b534f3028f86a703f0fd664378beadd8ff5b223e7ef52f932f2ab6b35927b7118e3886c24977846303418295e2fc1c5297085e7502275c0e8cdf0e375d5320ad68f6791d61eefc9a7d03904f92cbbde2c8b77f343cffc3f49ad53633074a02b7cb243fe6bdecc81db4b503e12461360c9e187e7ce93e442fe8b40dfcedc9dc5c786e0116c5d6be74ce77aa039ac6075b91a79c5dec0bed71e749a1b8ecaa6cac0895ad3da6803e5f6dd8de5b05581e033aa6c94ae39a005a85f8b53f229d1688576c0f014afd7fa61a4ef6f2e0040104594b576080604052600436106104105760003560e01c80638456cb591161021e578063cad0055611610123578063edec5f27116100ab578063f597573f1161007a578063f597573f14610bf5578063f851a44014610c15578063f885838614610c35578063fb9a4acd14610c55578063fe575a8714610c7557600080fd5b8063edec5f2714610b7f578063f04d688f14610b9f578063f2fde38b14610bb5578063f446374314610bd557600080fd5b8063e19648db116100f2578063e19648db14610ae9578063e32204dd14610b09578063e6da921314610b29578063e985e36714610b49578063eadd94ec14610b6957600080fd5b8063cad0055614610a7d578063cb1a4fc014610a9d578063cff805ab14610ab2578063dad80e8614610ac857600080fd5b8063ae4e0a18116101a6578063ba166a3911610175578063ba166a39146109db578063bb3d676a14610a08578063c23326f314610a28578063c49cc64514610a48578063c8adff0114610a6857600080fd5b8063ae4e0a1814610968578063b00bba6a1461097b578063b02538471461099b578063b8977d6d146109bb57600080fd5b80638e15f473116101ed5780638e15f473146108dd5780639a89c1fb146108f25780639cfa0f7c14610912578063a6d42e4e14610928578063ae1042651461094857600080fd5b80638456cb591461086a57806389daf7991461087f5780638ac080821461089f5780638da5cb5b146108bf57600080fd5b80633f4ba83a1161032457806363b20117116102ac578063715018a61161027b578063715018a6146107d957806373b2e80e146107ee57806378e979251461081e5780637ad71f72146108345780637f6fb2531461085457600080fd5b806363b201171461076e57806363e4087914610784578063641046f4146107a4578063704b6c02146107b957600080fd5b8063548db174116102f3578063548db174146106d05780635bc34f71146106f05780635c975abb146107065780635ddc56881461071e5780635df4f3531461073e57600080fd5b80633f4ba83a1461066f57806343568eae146106845780634e71d92d1461069a57806353d99207146106af57600080fd5b806323a8f1c0116103a75780633197cbb6116103765780633197cbb6146105bb57806333f76178146105d157806338646608146105e75780633af32abf1461061f5780633d9c8d8b1461064f57600080fd5b806323a8f1c014610548578063278c278b1461056857806329a5a0b6146105885780632c65169e146105a857600080fd5b80630dc9c838116103e35780630dc9c838146104c7578063136021d9146104e75780631ddc6091146105075780631fa2bc921461052757600080fd5b806303b9c5ad1461041557806307f18082146104375780630a200fc71461046c5780630ba36dcd1461048c575b600080fd5b34801561042157600080fd5b50610435610430366004614305565b610ca5565b005b34801561044357600080fd5b50610457610452366004614347565b610d24565b60405190151581526020015b60405180910390f35b34801561047857600080fd5b5061043561048736600461436e565b610e60565b34801561049857600080fd5b506104b96104a73660046143a2565b60dc6020526000908152604090205481565b604051908152602001610463565b3480156104d357600080fd5b506104356104e23660046143bd565b610e86565b3480156104f357600080fd5b506104576105023660046143df565b611062565b34801561051357600080fd5b5061043561052236600461436e565b611597565b34801561053357600080fd5b5060d95461045790600160a01b900460ff1681565b34801561055457600080fd5b50610435610563366004614347565b6115bd565b34801561057457600080fd5b50610435610583366004614347565b6115ca565b34801561059457600080fd5b506104b96105a3366004614347565b61166d565b6104576105b63660046143df565b6116a1565b3480156105c757600080fd5b506104b960cb5481565b3480156105dd57600080fd5b506104b960ce5481565b3480156105f357600080fd5b5060e154610607906001600160a01b031681565b6040516001600160a01b039091168152602001610463565b34801561062b57600080fd5b5061045761063a3660046143a2565b60df6020526000908152604090205460ff1681565b34801561065b57600080fd5b5061045761066a36600461440f565b611b24565b34801561067b57600080fd5b50610435611bf9565b34801561069057600080fd5b506104b960d85481565b3480156106a657600080fd5b50610457611c0b565b3480156106bb57600080fd5b5060d95461045790600160a81b900460ff1681565b3480156106dc57600080fd5b506104356106eb366004614305565b611f67565b3480156106fc57600080fd5b506104b960d05481565b34801561071257600080fd5b5060975460ff16610457565b34801561072a57600080fd5b50610435610739366004614540565b611fe1565b34801561074a57600080fd5b506104576107593660046143a2565b60e06020526000908152604090205460ff1681565b34801561077a57600080fd5b506104b960c95481565b34801561079057600080fd5b506104b961079f366004614347565b6121d5565b3480156107b057600080fd5b506104356121f7565b3480156107c557600080fd5b506104356107d43660046143a2565b612365565b3480156107e557600080fd5b5061043561238f565b3480156107fa57600080fd5b506104576108093660046143a2565b60dd6020526000908152604090205460ff1681565b34801561082a57600080fd5b506104b960ca5481565b34801561084057600080fd5b5061060761084f366004614347565b6123a1565b34801561086057600080fd5b506104b960e25481565b34801561087657600080fd5b506104356123cb565b34801561088b57600080fd5b5061043561089a366004614305565b6123db565b3480156108ab57600080fd5b506104576108ba366004614600565b612455565b3480156108cb57600080fd5b506065546001600160a01b0316610607565b3480156108e957600080fd5b506104b96126ca565b3480156108fe57600080fd5b5061043561090d3660046143bd565b61276a565b34801561091e57600080fd5b506104b960cf5481565b34801561093457600080fd5b50610435610943366004614646565b61277d565b34801561095457600080fd5b506104b9610963366004614347565b612792565b6104576109763660046146e1565b612ac6565b34801561098757600080fd5b506104356109963660046143a2565b613017565b3480156109a757600080fd5b506104576109b6366004614721565b613139565b3480156109c757600080fd5b506104356109d636600461436e565b6132a9565b3480156109e757600080fd5b506109fb6109f6366004614347565b6132cf565b604051610463919061474d565b348015610a1457600080fd5b50610435610a23366004614305565b61333b565b348015610a3457600080fd5b506104b9610a43366004614347565b6133b5565b348015610a5457600080fd5b5060db54610607906001600160a01b031681565b348015610a7457600080fd5b506109fb6133d6565b348015610a8957600080fd5b50610435610a983660046143a2565b61342e565b348015610aa957600080fd5b506104576134a7565b348015610abe57600080fd5b506104b960d45481565b348015610ad457600080fd5b5060e15461045790600160a01b900460ff1681565b348015610af557600080fd5b506104b9610b04366004614347565b6136de565b348015610b1557600080fd5b5060d954610607906001600160a01b031681565b348015610b3557600080fd5b506104b9610b443660046143bd565b6136ee565b348015610b5557600080fd5b5060cd54610607906001600160a01b031681565b348015610b7557600080fd5b506104b960d55481565b348015610b8b57600080fd5b50610435610b9a366004614305565b613722565b348015610bab57600080fd5b506104b960cc5481565b348015610bc157600080fd5b50610435610bd03660046143a2565b61379c565b348015610be157600080fd5b50610435610bf0366004614305565b613815565b348015610c0157600080fd5b5060da54610607906001600160a01b031681565b348015610c2157600080fd5b5060e354610607906001600160a01b031681565b348015610c4157600080fd5b506104b9610c50366004614347565b61388f565b348015610c6157600080fd5b50610435610c70366004614791565b61389f565b348015610c8157600080fd5b50610457610c903660046143a2565b60de6020526000908152604090205460ff1681565b610cad613994565b60005b81811015610d1f57600160e06000858585818110610cd057610cd06147fd565b9050602002016020810190610ce591906143a2565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610d1781614829565b915050610cb0565b505050565b6000610d2e613994565b600060cc5411610d855760405162461bcd60e51b815260206004820152601a60248201527f496e697469616c20636c61696d2064617461206e6f742073657400000000000060448201526064015b60405180910390fd5b60cb548211610dc95760405162461bcd60e51b815260206004820152601060248201526f53616c6520696e2070726f677265737360801b6044820152606401610d7c565b428211610e0e5760405162461bcd60e51b815260206004820152601360248201527210db185a5b481cdd185c9d081a5b881c185cdd606a1b6044820152606401610d7c565b60cc8054908390556040805182815260208101859052428183015290517f5f3a900c85949962b4cc192dd3714dae64071dc2e907049ec720b023270905a49181900360600190a160019150505b919050565b610e68613994565b60d98054911515600160a01b0260ff60a01b19909216919091179055565b610e8e613994565b6000821180610e9d5750600081115b610ede5760405162461bcd60e51b8152602060048201526012602482015271496e76616c696420706172616d657465727360701b6044820152606401610d7c565b8115610fc35760ca544210610f2c5760405162461bcd60e51b815260206004820152601460248201527314d85b1948185b1c9958591e481cdd185c9d195960621b6044820152606401610d7c565b814210610f6f5760405162461bcd60e51b815260206004820152601160248201527014d85b19481d1a5b59481a5b881c185cdd607a1b6044820152606401610d7c565b60ca8054908390556040805182815260208101859052428183015290516414d510549560da1b917fddd2ed237e6993c9380182683f2c8bec486aaaa429528852cd74dbdb96cea0b2919081900360600190a2505b801561105e5760ca54811161100c5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c696420656e6454696d6560881b6044820152606401610d7c565b60cb8054908290556040805182815260208101849052428183015290516211539160ea1b917fddd2ed237e6993c9380182683f2c8bec486aaaa429528852cd74dbdb96cea0b2919081900360600190a2505b5050565b60008260ca544210158015611079575060cb544211155b6110955760405162461bcd60e51b8152600401610d7c90614844565b600081116110b55760405162461bcd60e51b8152600401610d7c9061487b565b6110bd6139ee565b60006110c885612792565b90508460c960008282546110dc91906148a8565b90915550600090506110f364e8d4a51000836148c0565b905060d454600014611117578560d4600082825461111191906148a8565b90915550505b600060d45460c9541161112c5760d454611130565b60c9545b905060d160000160d0548154811061114a5761114a6147fd565b9060005260206000200154811180611184575060d160020160d05481548110611175576111756147fd565b90600052602060002001544210155b156112b35760d160020160d054815481106111a1576111a16147fd565b906000526020600020015442106111e4578660d160000160d054815481106111cb576111cb6147fd565b90600052602060002001546111e091906148a8565b60d4555b60d954600160a01b900460ff16156111fe576111fe613a34565b600060d1810160d05481548110611217576112176147fd565b9060005260206000200154821161125b578160d160000160d05481548110611241576112416147fd565b906000526020600020015461125691906148e2565b61125e565b60005b60d780546001818101835560009283527f8a012a6de2943a5aa4d77acf5e695d4456760a3f1f30a5d6dc2079599187a07190910183905560d0805493945090929091906112ac9084906148a8565b9091555050505b85156113f65760e154600160a01b900460ff16156112fa5733600090815260df602052604090205460ff166112fa5760405162461bcd60e51b8152600401610d7c906148f9565b60e1546001600160a01b03166391c619663360ce54611319908b614930565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561135f57600080fd5b505af1158015611373573d6000803e3d6000fd5b505050508660e2600082825461138991906148a8565b909155505060da546001600160a01b031687336001600160a01b03167f6f225532a9c33b023b8e48247ad8df9d98f132ae17c769b97ff22d2b278fa73a8587426040516113e9939291909283526020830191909152604082015260600190565b60405180910390a4611479565b60ce546114039088614930565b33600090815260dc6020526040812080549091906114229084906148a8565b909155505060da546001600160a01b031687336001600160a01b0316600080516020614b02833981519152858742604051611470939291909283526020830191909152604082015260600190565b60405180910390a45b8260d5600082825461148b91906148a8565b909155505060da546000906001600160a01b031663dd62ed3e336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015230602482015260440160206040518083038186803b1580156114ea57600080fd5b505afa1580156114fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611522919061494f565b90508083111561157e5760405162461bcd60e51b815260206004820152602160248201527f4d616b65207375726520746f2061646420656e6f75676820616c6c6f77616e636044820152606560f81b6064820152608401610d7c565b61158783613aa4565b60019550505050505b5092915050565b61159f613994565b60d98054911515600160a81b0260ff60a81b19909216919091179055565b6115c5613994565b60d855565b6115d2613994565b600081116116225760405162461bcd60e51b815260206004820152601c60248201527f5a65726f206d617820746f6b656e7320746f206275792076616c7565000000006044820152606401610d7c565b60cf8054908290556040805182815260208101849052428183015290517f76f9e5e1f6af6a9f180708b77a5c99210fbf19b91f1f194f3918c262b8edf77c9181900360600190a15050565b60008061167983612792565b90506116836126ca565b60ce546116909083614930565b61169a91906148c0565b9392505050565b60008260ca5442101580156116b8575060cb544211155b6116d45760405162461bcd60e51b8152600401610d7c90614844565b600081116116f45760405162461bcd60e51b8152600401610d7c9061487b565b6116fc6139ee565b611704613e1b565b600061170f85612792565b9050600061171b6126ca565b60ce546117289084614930565b61173291906148c0565b9050803410156117735760405162461bcd60e51b815260206004820152600c60248201526b13195cdcc81c185e5b595b9d60a21b6044820152606401610d7c565b600061177f82346148e2565b90508660c9600082825461179391906148a8565b909155505060d454156117b8578660d460008282546117b291906148a8565b90915550505b600060d45460c954116117cd5760d4546117d1565b60c9545b905060d160000160d054815481106117eb576117eb6147fd565b9060005260206000200154811180611825575060d160020160d05481548110611816576118166147fd565b90600052602060002001544210155b156119545760d160020160d05481548110611842576118426147fd565b90600052602060002001544210611885578760d160000160d0548154811061186c5761186c6147fd565b906000526020600020015461188191906148a8565b60d4555b60d954600160a01b900460ff161561189f5761189f613a34565b600060d1810160d054815481106118b8576118b86147fd565b906000526020600020015482116118fc578160d160000160d054815481106118e2576118e26147fd565b90600052602060002001546118f791906148e2565b6118ff565b60005b60d780546001818101835560009283527f8a012a6de2943a5aa4d77acf5e695d4456760a3f1f30a5d6dc2079599187a07190910183905560d08054939450909290919061194d9084906148a8565b9091555050505b8615611a7b5760e154600160a01b900460ff161561199b5733600090815260df602052604090205460ff1661199b5760405162461bcd60e51b8152600401610d7c906148f9565b60e1546001600160a01b03166391c619663360ce546119ba908c614930565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015611a0057600080fd5b505af1158015611a14573d6000803e3d6000fd5b505050508760e26000828254611a2a91906148a8565b90915550506040805184815260208101869052428183015290516000918a9133917f6f225532a9c33b023b8e48247ad8df9d98f132ae17c769b97ff22d2b278fa73a919081900360600190a4611ae2565b60ce54611a889089614930565b33600090815260dc602052604081208054909190611aa79084906148a8565b90915550506040805184815260208101869052428183015290516000918a913391600080516020614b02833981519152919081900360600190a45b8360d56000828254611af491906148a8565b90915550611b03905083613e75565b8115611b1357611b133383613fd2565b600195505050505061159060018055565b6000611b2e613994565b60d154851115611b705760405162461bcd60e51b815260206004820152600d60248201526c0d2dcecc2d8d2c840d2dcc8caf609b1b6044820152606401610d7c565b8315611b9a578360d16000018681548110611b8d57611b8d6147fd565b6000918252602090912001555b8215611bc4578260d16001018681548110611bb757611bb76147fd565b6000918252602090912001555b8115611bee578160d16002018681548110611be157611be16147fd565b6000918252602090912001555b506001949350505050565b611c01613994565b611c096140a8565b565b6000611c156139ee565b60cd546001600160a01b0316611c645760405162461bcd60e51b815260206004820152601460248201527314d85b19481d1bdad95b881b9bdd08185919195960621b6044820152606401610d7c565b33600090815260de602052604090205460ff1615611cc45760405162461bcd60e51b815260206004820152601b60248201527f54686973204164647265737320697320426c61636b6c697374656400000000006044820152606401610d7c565b60d954600160a81b900460ff1615611d355733600090815260df602052604090205460ff16611d355760405162461bcd60e51b815260206004820152601e60248201527f55736572206e6f742077686974656c697374656420666f7220636c61696d00006044820152606401610d7c565b60cc54421015611d875760405162461bcd60e51b815260206004820152601960248201527f436c61696d20686173206e6f74207374617274656420796574000000000000006044820152606401610d7c565b33600090815260dd602052604090205460ff1615611dd95760405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b6044820152606401610d7c565b33600090815260dd60209081526040808320805460ff1916600117905560dc90915290205480611e3e5760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b6044820152606401610d7c565b33600081815260dc6020908152604080832083905560cd54815163a9059cbb60e01b8152600481019590955260248501869052905192936001600160a01b039091169263a9059cbb9260448084019391929182900301818787803b158015611ea557600080fd5b505af1158015611eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611edd9190614968565b905080611f245760405162461bcd60e51b8152602060048201526015602482015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b6044820152606401610d7c565b6040805183815242602082015233917f9923b4306c6c030f2bdfbf156517d5983b87e15b96176da122cd4f2effa4ba7b910160405180910390a260019250505090565b611f6f613994565b60005b81811015610d1f57600060df6000858585818110611f9257611f926147fd565b9050602002016020810190611fa791906143a2565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580611fd981614829565b915050611f72565b611fe9613994565b805182511461202e5760405162461bcd60e51b81526020600482015260116024820152704d69736d6174636865642061727261797360781b6044820152606401610d7c565b61203a60e560006141d2565b61204660e460006141d2565b6000805b8351811015612184576000838281518110612067576120676147fd565b6020026020010151116120c65760405162461bcd60e51b815260206004820152602160248201527f50657263656e74616765206d7573742062652067726561746572207468616e206044820152600360fc1b6064820152608401610d7c565b8281815181106120d8576120d86147fd565b6020026020010151826120eb91906148a8565b915060e5848281518110612101576121016147fd565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055825160e490849083908110612153576121536147fd565b602090810291909101810151825460018101845560009384529190922001558061217c81614829565b91505061204a565b5080606414610d1f5760405162461bcd60e51b815260206004820152601f60248201527f546f74616c2070657263656e74616765206d75737420657175616c20313030006044820152606401610d7c565b60006121e082612792565b90506121f164e8d4a51000826148c0565b92915050565b60e3546001600160a01b031633148061221a57506065546001600160a01b031633145b6122665760405162461bcd60e51b815260206004820152601960248201527f63616c6c6572206e6f742061646d696e206f72206f776e6572000000000000006044820152606401610d7c565b60d45460d680546001810182556000919091527fe767803f8ecf1dee6bb0345811f7312cda556058b19db6389ad9ae3568643ddd015560d954600160a01b900460ff16156122b6576122b6613a34565b60d160000160d054815481106122ce576122ce6147fd565b906000526020600020015460d454101561234e5760d45460d79060d160000160d05481548110612300576123006147fd565b906000526020600020015461231591906148e2565b8154600181018355600092835260208320015560d10160d0548154811061233e5761233e6147fd565b60009182526020909120015460d4555b60d0805490600061235e83614829565b9190505550565b61236d613994565b60e380546001600160a01b0319166001600160a01b0392909216919091179055565b612397613994565b611c0960006140fa565b60e581815481106123b157600080fd5b6000918252602090912001546001600160a01b0316905081565b6123d3613994565b611c0961414c565b6123e3613994565b60005b81811015610d1f57600060de6000858585818110612406576124066147fd565b905060200201602081019061241b91906143a2565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061244d81614829565b9150506123e6565b600061245f613994565b6001600160a01b0383166124aa5760405162461bcd60e51b81526020600482015260126024820152715a65726f20746f6b656e206164647265737360701b6044820152606401610d7c565b60cc54156124ee5760405162461bcd60e51b815260206004820152601160248201527010db185a5b48185b1c9958591e481cd95d607a1b6044820152606401610d7c565b60cc85905560cd80546001600160a01b038581166001600160a01b0319928316811790935560d9805460ff60a81b1916600160a81b17905560e1805491861691909216811790915560405163095ea7b360e01b81526004810191909152600019602482015263095ea7b390604401602060405180830381600087803b15801561257657600080fd5b505af115801561258a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ae9190614968565b506040516323b872dd60e01b81526000906001600160a01b038516906323b872dd906125e290339030908a90600401614985565b602060405180830381600087803b1580156125fc57600080fd5b505af1158015612610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126349190614968565b90508061267b5760405162461bcd60e51b8152602060048201526015602482015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b6044820152606401610d7c565b604080518681524260208201526001600160a01b038616917fdc9670dbabdd488b372eb16ebe49a39b3124a12cdffdcefbc89834a408bf8ff8910160405180910390a250600195945050505050565b60008060db60009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561271b57600080fd5b505afa15801561272f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275391906149c3565b505050915050806402540be4006121f19190614a13565b612772613994565b60d09190915560d455565b612785613994565b61105e60d18260036141f0565b600080600060d4546000146127a95760d4546127ad565b60c9545b905060cf548411156128015760405162461bcd60e51b815260206004820181905260248201527f416d6f756e742065786365656473206d617820746f6b656e7320746f206275796044820152606401610d7c565b60d160000160d05481548110612819576128196147fd565b9060005260206000200154818561283091906148a8565b118061285e575060d160020160d0548154811061284f5761284f6147fd565b90600052602060002001544210155b15612a905760d154612872906001906148e2565b60d054106128b15760405162461bcd60e51b815260206004820152600c60248201526b57726f6e6720706172616d7360a01b6044820152606401610d7c565b60d160020160d054815481106128c9576128c96147fd565b906000526020600020015442106129dc5760d05460d1906128eb9060016148a8565b815481106128fb576128fb6147fd565b90600052602060002001548460d160006003811061291b5761291b6147fd565b0160d0548154811061292f5761292f6147fd565b906000526020600020015461294491906148a8565b111561299e5760405162461bcd60e51b815260206004820152602360248201527f43616e74205075726368617365204d6f726520696e20696e646976696475616c604482015262040e8f60eb1b6064820152608401610d7c565b60d05460d2906129af9060016148a8565b815481106129bf576129bf6147fd565b9060005260206000200154846129d59190614930565b9150611590565b60008160d1820160d054815481106129f6576129f66147fd565b9060005260206000200154612a0b91906148e2565b60d05490915060d290612a1f9060016148a8565b81548110612a2f57612a2f6147fd565b90600052602060002001548186612a4691906148e2565b612a509190614930565b60d160010160d05481548110612a6857612a686147fd565b906000526020600020015482612a7e9190614930565b612a8891906148a8565b925050611590565b60d160010160d05481548110612aa857612aa86147fd565b906000526020600020015484612abe9190614930565b949350505050565b60008260ca544210158015612add575060cb544211155b612af95760405162461bcd60e51b8152600401610d7c90614844565b60008111612b195760405162461bcd60e51b8152600401610d7c9061487b565b612b216139ee565b612b29613e1b565b33600090815260e0602052604090205460ff16612b885760405162461bcd60e51b815260206004820181905260248201527f55736572206e6f742077686974656c697374656420666f7220746869732074786044820152606401610d7c565b6000612b9385612792565b90506000612b9f6126ca565b60ce54612bac9084614930565b612bb691906148c0565b905080341015612bf75760405162461bcd60e51b815260206004820152600c60248201526b13195cdcc81c185e5b595b9d60a21b6044820152606401610d7c565b6000612c0382346148e2565b90508660c96000828254612c1791906148a8565b909155505060d45415612c3c578660d46000828254612c3691906148a8565b90915550505b600060d45460c95411612c515760d454612c55565b60c9545b905060d160000160d05481548110612c6f57612c6f6147fd565b9060005260206000200154811180612ca9575060d160020160d05481548110612c9a57612c9a6147fd565b90600052602060002001544210155b15612dd85760d160020160d05481548110612cc657612cc66147fd565b90600052602060002001544210612d09578760d160000160d05481548110612cf057612cf06147fd565b9060005260206000200154612d0591906148a8565b60d4555b60d954600160a01b900460ff1615612d2357612d23613a34565b600060d1810160d05481548110612d3c57612d3c6147fd565b90600052602060002001548211612d80578160d160000160d05481548110612d6657612d666147fd565b9060005260206000200154612d7b91906148e2565b612d83565b60005b60d780546001818101835560009283527f8a012a6de2943a5aa4d77acf5e695d4456760a3f1f30a5d6dc2079599187a07190910183905560d080549394509092909190612dd19084906148a8565b9091555050505b8615612f165760e154600160a01b900460ff1615612e28576001600160a01b038916600090815260df602052604090205460ff16612e285760405162461bcd60e51b8152600401610d7c906148f9565b60e15460ce546001600160a01b03909116906391c61966908b90612e4c908c614930565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015612e9257600080fd5b505af1158015612ea6573d6000803e3d6000fd5b505050508760e26000828254612ebc91906148a8565b90915550506040805184815260208101869052428183015290516000918a916001600160a01b038d16917f6f225532a9c33b023b8e48247ad8df9d98f132ae17c769b97ff22d2b278fa73a919081900360600190a4612f8f565b60ce54612f239089614930565b6001600160a01b038a16600090815260dc602052604081208054909190612f4b9084906148a8565b90915550506040805184815260208101869052428183015290516000918a916001600160a01b038d1691600080516020614b02833981519152919081900360600190a45b8360d56000828254612fa191906148a8565b90915550612fb0905083613e75565b8115612fc057612fc08983613fd2565b6040805184815260208101869052428183015290516000918a916001600160a01b038d1691600080516020614b02833981519152919081900360600190a4600195505050505061300f60018055565b509392505050565b61301f613994565b6001600160a01b03811661309b5760405162461bcd60e51b815260206004820152603760248201527f7374616b696e67206d616e616765722063616e6e6f7420626520696e6174696160448201527f6c697a65642077697468207a65726f20616464726573730000000000000000006064820152608401610d7c565b60e180546001600160a01b0319166001600160a01b0383811691821790925560cd5460405163095ea7b360e01b8152600481019290925260001960248301529091169063095ea7b390604401602060405180830381600087803b15801561310157600080fd5b505af1158015613115573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105e9190614968565b6000613143613994565b6000841161318a5760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964206e6f206f6620746f6b656e7360601b6044820152606401610d7c565b600083116131ce5760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964206e657720707269636560781b6044820152606401610d7c565b600082116132115760405162461bcd60e51b815260206004820152601060248201526f696e76616c6964206e65772074696d6560801b6044820152606401610d7c565b5060d1805460018082019092557f695fb3134ad82c3b8022bc5464edd0bcc9424ef672b52245dcb6ab2374327ce3019390935560d280548085019091557ff2192e1030363415d7b4fb0406540a0060e8e2fc8982f3f32289379e11fa6546019190915560d3805480840182556000919091527f915c3eb987b20e1af620c1403197bf687fb7f18513b3a73fde6e78c7072c41a6015590565b6132b1613994565b60e18054911515600160a01b0260ff60a01b19909216919091179055565b606060d182600381106132e4576132e46147fd565b0180548060200260200160405190810160405280929190818152602001828054801561332f57602002820191906000526020600020905b81548152602001906001019080831161331b575b50505050509050919050565b613343613994565b60005b81811015610d1f57600160de6000858585818110613366576133666147fd565b905060200201602081019061337b91906143a2565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806133ad81614829565b915050613346565b60d781815481106133c557600080fd5b600091825260209091200154905081565b606060d780548060200260200160405190810160405280929190818152602001828054801561342457602002820191906000526020600020905b815481526020019060010190808311613410575b5050505050905090565b613436613994565b6001600160a01b0381166134855760405162461bcd60e51b8152602060048201526016602482015275616464726573732063616e6e6f74206265207a65726f60501b6044820152606401610d7c565b60d980546001600160a01b0319166001600160a01b0392909216919091179055565b60006134b16139ee565b60cd546001600160a01b03166135005760405162461bcd60e51b815260206004820152601460248201527314d85b19481d1bdad95b881b9bdd08185919195960621b6044820152606401610d7c565b33600090815260de602052604090205460ff16156135605760405162461bcd60e51b815260206004820152601b60248201527f54686973204164647265737320697320426c61636b6c697374656400000000006044820152606401610d7c565b60e154600160a01b900460ff16156135a15733600090815260df602052604090205460ff166135a15760405162461bcd60e51b8152600401610d7c906148f9565b33600090815260dc6020526040902054806135f15760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f207374616b6560801b6044820152606401610d7c565b60e1546001600160a01b03166391c61966336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b15801561364b57600080fd5b505af115801561365f573d6000803e3d6000fd5b5050505060dc600061366e3390565b6001600160a01b031681526020810191909152604001600090812055336001600160a01b03167ffa4ec67f9254455933eb145bae864b26f29dd0a7bbb76eb11e4d6b8b9b184c2b82426040516136ce929190918252602082015260400190565b60405180910390a2600191505090565b60d681815481106133c557600080fd5b60d182600381106136fe57600080fd5b01818154811061370d57600080fd5b90600052602060002001600091509150505481565b61372a613994565b60005b81811015610d1f57600160df600085858581811061374d5761374d6147fd565b905060200201602081019061376291906143a2565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061379481614829565b91505061372d565b6137a4613994565b6001600160a01b0381166138095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610d7c565b613812816140fa565b50565b61381d613994565b60005b81811015610d1f57600060e06000858585818110613840576138406147fd565b905060200201602081019061385591906143a2565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061388781614829565b915050613820565b60e481815481106133c557600080fd5b6138a7613994565b8281146138e85760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606401610d7c565b60005b8381101561397e57828282818110613905576139056147fd565b9050602002013560dc6000878785818110613922576139226147fd565b905060200201602081019061393791906143a2565b6001600160a01b03166001600160a01b03168152602001908152602001600020600082825461396691906148a8565b9091555081905061397681614829565b9150506138eb565b5050505050565b6001600160a01b03163b151590565b6065546001600160a01b03163314611c095760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610d7c565b60975460ff1615611c095760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610d7c565b60005b60d05460d354613a4791906148e2565b8110156138125760d854613a5b9082614930565b613a6590426148a8565b60d05460d390613a769084906148a8565b81548110613a8657613a866147fd565b60009182526020909120015580613a9c81614829565b915050613a37565b60e554613bc35760d9546001600160a01b0316613afc5760405162461bcd60e51b815260206004820152601660248201527514185e5b595b9d081dd85b1b195d081b9bdd081cd95d60521b6044820152606401610d7c565b60da546000906001600160a01b03163360d954604051613b2b92916001600160a01b0316908690602401614985565b60408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b17905251613b609190614a98565b6000604051808303816000865af19150503d8060008114613b9d576040519150601f19603f3d011682016040523d82523d6000602084013e613ba2565b606091505b505090508061105e5760405162461bcd60e51b8152600401610d7c90614ad3565b6000805b60e554811015613d0f576000606460e48381548110613be857613be86147fd565b906000526020600020015485613bfe9190614930565b613c0891906148c0565b60da549091506000906001600160a01b03163360e58581548110613c2e57613c2e6147fd565b600091825260209091200154604051613c5692916001600160a01b0316908690602401614985565b60408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b17905251613c8b9190614a98565b6000604051808303816000865af19150503d8060008114613cc8576040519150601f19603f3d011682016040523d82523d6000602084013e613ccd565b606091505b5050905080613cee5760405162461bcd60e51b8152600401610d7c90614ad3565b613cf882856148a8565b935050508080613d0790614829565b915050613bc7565b506000613d1c82846148e2565b111561105e5760da546000906001600160a01b03163360e58054613d42906001906148e2565b81548110613d5257613d526147fd565b6000918252602090912001546001600160a01b0316613d7185876148e2565b604051602401613d8393929190614985565b60408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b17905251613db89190614a98565b6000604051808303816000865af19150503d8060008114613df5576040519150601f19603f3d011682016040523d82523d6000602084013e613dfa565b606091505b5050905080610d1f5760405162461bcd60e51b8152600401610d7c90614ad3565b60026001541415613e6e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610d7c565b6002600155565b60e554613ee35760d9546001600160a01b0316613ecd5760405162461bcd60e51b815260206004820152601660248201527514185e5b595b9d081dd85b1b195d081b9bdd081cd95d60521b6044820152606401610d7c565b60d954613812906001600160a01b031682613fd2565b6000805b60e554811015613f7b576000606460e48381548110613f0857613f086147fd565b906000526020600020015485613f1e9190614930565b613f2891906148c0565b9050613f5b60e58381548110613f4057613f406147fd565b6000918252602090912001546001600160a01b031682613fd2565b613f6581846148a8565b9250508080613f7390614829565b915050613ee7565b506000613f8882846148e2565b111561105e5760e5805461105e9190613fa3906001906148e2565b81548110613fb357613fb36147fd565b6000918252602090912001546001600160a01b0316613fd283856148e2565b804710156140105760405162461bcd60e51b815260206004820152600b60248201526a4c6f772062616c616e636560a81b6044820152606401610d7c565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461405d576040519150601f19603f3d011682016040523d82523d6000602084013e614062565b606091505b5050905080610d1f5760405162461bcd60e51b81526020600482015260126024820152711155120814185e5b595b9d0819985a5b195960721b6044820152606401610d7c565b6140b0614189565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6141546139ee565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586140dd3390565b60975460ff16611c095760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610d7c565b50805460008255906000526020600020908101906138129190614240565b8260038101928215614230579160200282015b828111156142305782518051614220918491602090910190614255565b5091602001919060010190614203565b5061423c92915061429c565b5090565b5b8082111561423c5760008155600101614241565b828054828255906000526020600020908101928215614290579160200282015b82811115614290578251825591602001919060010190614275565b5061423c929150614240565b8082111561423c5760006142b082826141d2565b5060010161429c565b60008083601f8401126142cb57600080fd5b50813567ffffffffffffffff8111156142e357600080fd5b6020830191508360208260051b85010111156142fe57600080fd5b9250929050565b6000806020838503121561431857600080fd5b823567ffffffffffffffff81111561432f57600080fd5b61433b858286016142b9565b90969095509350505050565b60006020828403121561435957600080fd5b5035919050565b801515811461381257600080fd5b60006020828403121561438057600080fd5b813561169a81614360565b80356001600160a01b0381168114610e5b57600080fd5b6000602082840312156143b457600080fd5b61169a8261438b565b600080604083850312156143d057600080fd5b50508035926020909101359150565b600080604083850312156143f257600080fd5b82359150602083013561440481614360565b809150509250929050565b6000806000806080858703121561442557600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561447a5761447a614441565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156144a9576144a9614441565b604052919050565b600067ffffffffffffffff8211156144cb576144cb614441565b5060051b60200190565b600082601f8301126144e657600080fd5b813560206144fb6144f6836144b1565b614480565b82815260059290921b8401810191818101908684111561451a57600080fd5b8286015b84811015614535578035835291830191830161451e565b509695505050505050565b6000806040838503121561455357600080fd5b823567ffffffffffffffff8082111561456b57600080fd5b818501915085601f83011261457f57600080fd5b8135602061458f6144f6836144b1565b82815260059290921b840181019181810190898411156145ae57600080fd5b948201945b838610156145d3576145c48661438b565b825294820194908201906145b3565b965050860135925050808211156145e957600080fd5b506145f6858286016144d5565b9150509250929050565b6000806000806080858703121561461657600080fd5b843593506020850135925061462d6040860161438b565b915061463b6060860161438b565b905092959194509250565b6000602080838503121561465957600080fd5b823567ffffffffffffffff8082111561467157600080fd5b818501915085601f83011261468557600080fd5b61468d614457565b80606084018881111561469f57600080fd5b845b818110156146d3578035858111156146b95760008081fd5b6146c58b8289016144d5565b8552509286019286016146a1565b509098975050505050505050565b6000806000606084860312156146f657600080fd5b6146ff8461438b565b925060208401359150604084013561471681614360565b809150509250925092565b60008060006060848603121561473657600080fd5b505081359360208301359350604090920135919050565b6020808252825182820181905260009190848201906040850190845b8181101561478557835183529284019291840191600101614769565b50909695505050505050565b600080600080604085870312156147a757600080fd5b843567ffffffffffffffff808211156147bf57600080fd5b6147cb888389016142b9565b909650945060208701359150808211156147e457600080fd5b506147f1878288016142b9565b95989497509550505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561483d5761483d614813565b5060010190565b60208082526017908201527f496e76616c69642074696d6520666f7220627579696e67000000000000000000604082015260600190565b602080825260139082015272125b9d985b1a59081cd85b1948185b5bdd5b9d606a1b604082015260600190565b600082198211156148bb576148bb614813565b500190565b6000826148dd57634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156148f4576148f4614813565b500390565b6020808252601e908201527f55736572206e6f742077686974656c697374656420666f72207374616b650000604082015260600190565b600081600019048311821515161561494a5761494a614813565b500290565b60006020828403121561496157600080fd5b5051919050565b60006020828403121561497a57600080fd5b815161169a81614360565b6001600160a01b039384168152919092166020820152604081019190915260600190565b805169ffffffffffffffffffff81168114610e5b57600080fd5b600080600080600060a086880312156149db57600080fd5b6149e4866149a9565b9450602086015193506040860151925060608601519150614a07608087016149a9565b90509295509295909350565b60006001600160ff1b0381841382841380821686840486111615614a3957614a39614813565b600160ff1b6000871282811687830589121615614a5857614a58614813565b60008712925087820587128484161615614a7457614a74614813565b87850587128184161615614a8a57614a8a614813565b505050929093029392505050565b6000825160005b81811015614ab95760208186018101518583015201614a9f565b81811115614ac8576000828501525b509190910192915050565b602080825260149082015273151bdad95b881c185e5b595b9d0819985a5b195960621b60408201526060019056fe4d8aead3491b7eba4b5c7a65fc17e493b9e63f9e433522fc5f6a85a168fc9d36a2646970667358221220b27a31a98994ede868ad21a3853b07a636386da8eb024be283a2a01ec39eebd264736f6c6343000809003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563410105581e032d5f317ceeb31dfbb8b13c99f11f214fefd81c2c0a84c4e6ea00b999700701194b5705581e03ba9f9da2b59598bf6b0e213b0b3dc163760a830a0de955f5dfc3fc87f0040405581e0386d3467d4ca79ac5f72fe88086a8d328e8145ba965c545141559251aa0040305581e0327298439df6c462073e3e0a40d054eedac2984e7cd78925c0b827f3a500c014701837e36ff003003bed3ea314415002404df65774c09c688ee330df7e577e320c831563d0fce026f01410205581e032b20c8d28a0478d56fcfb8ee346062750625f8ba22b9c1fe3112400ce00c0846079ee2613a9005581e03a57cfb3dd23ed24122aa16a4b6690befe09b5a9dccf1e431b8619bb0600c014705cb2f445001bd038fee34777837fd1649dc0cd08ca2dc87c65cb0c5aa33ef864cef58037cb7d61305581e03998b15652fc087a8935ccd136264bffbafe1a0c993eecd89bc5ad82d10040205581e034ef0ba0177a13acea3d169a152789d42ed4182f561287f12603be268600c18ec4761b7dd280f764905581e03217d6ddf9238be56085bfbb153f431d6e8fdf3e615fd5d566074daad0008472e51ec56c165680219fdde03ffc4f61198b8069716d249063f29959b3fc2b16043ef4d653afc2c1159f0d47803c02a4a6022d0ba5a7e2efd427606ea84a3e6dd2c2015036bb2e6aa583bb1f0da03988e438942abf293849f0cac8f5da4c5a27f7843e07b982ad133581e56b87a8e036b1c3ed11705fd83bc4e3501eeb82d87bb29219932e292f5c648ff821b9d684703e63e70bd3ba6816af84c918055671ff7232993da67b7bb2f8169f7b82597e4e00219ffff03abc18ba6d5a466bc14e0ee13013e1ff5bf4cb6bad0981cb2f38ee137ae9b45e2033f9a5e64f6281aec3449b446089111f225f02bd35952f98871e61721707803b303741faa0b7ce75280859182ae7dd1839410004bc8d643c0ea77244699f5c40bfe03fa039ac57225bf3d7e3bccb0c75b332080c38aa70fd032484e85af9a5b44e960032b06d5b4303bda3627fec9833138d165416fc656a02342df962126672e986f4603a5e5f65f9b3315e77f43f99119409dae71d56565069ac65da83f68d97a3d3b0f03a1062cd6fa217b979a3c62748c42d7367dde4bee8f2698bf4691e0306c4a219a03d5e8ac32a1f65fbb09f3dd8afdcb4fb8d2916f05d7b2571266e76304775b1adc0219ffff03408728bbfee2f42c4c6f2684d847ffd14ca38ba0814c359ea552d87b85c29ec903787b228116775b1218afec8bd85d3103309576d99899fa7618ee3242f81958d0035f34bc1f2265ec3b027437c34947aa4256fe263c0e9dc71732e5bcb03b4f7c20030379e4814024c6d227efc48ef6d5f0db180eb276561ecb082e8f12b8b604feb9034d27d88fda14e8deaf7f23f384f67a1e9e8fb57899adab86a351a28a63e589980219ffff03ecd6ce1c5ace424bca4a9f1f9a6ebc953b7094d5e2e2b92926fc4ae83b63f2ad031ea5c94418d90652a80476cf40a8cf6b8d7c1d767bc809a2f9ba49d917756eaa0219ffff0305069621b5fee8266c51ed78cf17219a542134268eeb245379a750ecdb92ee2a03626c0d2bed4373248ca7818b557039c52da892920b1616f3606677d93d946aef034410a0681ef206dce51d360482a2b26daea9334c97660c82e0299ae48760f42e0355f1ec3bc30b03d30a11316ea7f4627381b3ec219e6a3207ab0d647091a1e3a3039af38c1483d1c13d76534acc585202afc0bf2db6c37b3ec8d3bb9dcda04d400003b5336c5d232327e849a14a2ee06c72aca9130d1ff5862ac560b4cacc9dc4caff03cb80b15c196d4926279c3fa272f94dd75cc7c3aad5f44ca21f2bbbcab1c8d9ca035e03e3c9f9578e608ee546a1ca7b5caa1059d9c755ae2ceb6ba9e4b8dbf3d2b803acf9a055734ca028e06df51fb0ff2043a799940d65415d4d6253337b1b9ccf5c039d88d6bab791d80ed4a12cabf17d465c47d37e43705f4944a0e3b511276c62490304f4894666e9bc99ed0e5bb6b7de5e5c675086e02672d8f75973ff76e90f872c03d675b3c2f5829017747b619793ea286ad7e6e19da0708364614f4d727f4e270003aa21d9ae77a45667a03e79b0fe448e06e267a35f993ef4845e8447fd22f6ac1b03b918324f29743146aee4f8ca2b7bb8a32fdf2dbc40458a68674b984aa02259460300b6ae56c50957c5b8ea8ae80f9382cd5a644d18130ab6e89baf8772cbabafca03b09a6b621c634706ac8200221052827710b3440fa2785bcbf97c76797de902ae031f07b17400f0b8e7ddfdebcae05f637430887b19d2777ff220d2dbbc7fff472d03fbbb5c3af7b9b0b6eeaab33f5c786527a95e8640a63168d0840349dec54bd17803aa8a75c5fe964a6708cf1a704b5778a9102bc95f9400a3dc1629fffdfa54d4da03c7871f5be299618b4f681784515a50853fe26dd51a4f26e67292fff73170955a05581e0390d761f0d4ca24b62b8ee33edeea9c0ef695c038d0f63467afd109f5400402031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03fe69de3ce1d698e3adc42a51b33b957bb04a45cace9cf8cedff0ed76e007011bffffffffffffffff03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03e1f9e6a012b22f3694b7e1b295417b8b5b02a3dd311f90a2af0c3185c007011bffffffffffffffff030c9527157047e99b8ba1eaaaa0177948eb6d95ffa23cafd41ccc0efd22ad3fdc05581d02cd25ad2ae9315c7ce1e6080892363d4cccd899556b0276b4920e97560c0a472af7a34d25c6a6036ba2c166d7a2cca5103a0d494cd3c419a508b2ef7c3257ef8f8df4cd58b729e203ff7464e4767c2a897bfcb1985a625289393eac344ecdf676dbfef65baff71f1105581d0266c1c0cec5724041bb9198ca5b0f170e9c52b96774eb9794b0e16ba807011bffffffffffffffff02194004039f5b481d4aba5b3d2ec0468b8db2c8c7d6cd5801fac0434aa723064f86cf8be403c1b7fa74f6e595993c8b08b4cc7abf0c3610fce4ccb65d11d7e30e0a4b53464c031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e037c11724516d68a1ce9c19be3c0e9cc613e8844f053d139f5cda74b0e4007011bffffffffffffffff03794a20fa844db1f50a2486d96939172302bf8e0a4a6500f2ce44b139890e23a903619e2d590fc3a1ded007b9664798d2b39b9f69ee085247d41743d8629ef8d7f605581e037ce223aa2e456faea69b8a74365c27d331b1523b0941489c3041d134b007011bffffffffffffffff0219e95603fc7e105d6c03abb32613d06a4fd9d08e4eff53b075539cf014088887f4196a74037d1e0f6a5e070d97c91f0f4dcbc68cd7351e703c317732d2adfc094efa37585903327237d37dcac778f081a977ca11009e14e250083d3e21b42d68d3ffcb2f2d980343949025026fc39fa55b31b1b5f5c27e4ff73a978db90605ffd1143c03e7478a0369306731d62e031be5910d980aa2f5dae49e6529d41422bfad29e6c85e4e1e68039759afa496e55c045032ac7675d7735a89c33a4f9c2a68cac5176eafe9a20c7e03fbad941a633879d00c42c34fdb4ed28e99636a2c7db60433c801c470a0c8762503cea937feb01b64a865237c7757deb8f13157a7d905f67afaf4253570d1fcf8f5034a4b424557527479c85cbbe83cf9a8addbb45f2cbddf47db195b472f99820b380219ffff037f4de1c9f15798a64161e1d61f418ef74d0344579215d2aaf77bc0897800da34035d65372f61092f685ac3ccdd3d18d0171120e1ca04d149ce2db1afeb1ced2c5c03ef2bb5408271a5362cc3d8093e1ddd8dfc01106c3b6759e7610156d5384f438c0367b097ad44e693b19b7dd505dbf8b1f1a762f049b5db897b70b8cc76b40d56b203afce01199c949ea19e1f306730e7a77ef6b4b16bb48bedc066ab62e4119b3a070326e165bddc31a786a6f9e1b05d35c554f50c3d304e6548c623947604788b0aa403eaa6c183be76a9bbc1364d458c84db577e3c7ef33d78aac4de530d4cb3419661033877ebd92a5cc119ed8f9b94efa7cf2d5fb0b4424ca80e7c2160ceeb4af0c59c03509305ec6a08b579ad0a11cf5c3524693bdb8eff4aa615de990d47886609bf340353e38ace31f613c49b1b2c2db0cb33ec3d55c67bc779af43120615fc2c0f151a03b050028a9f986ac770c5d5aecc1d7740d3a2029b96d52841e92258e683603d750384c97219457575fa55f8d26aeb3c81eb4f5a40e8e28a15614c467ecfd8d632b503e2eda6fb9da029509d925a5eec5a52f4477c1f885e335adb1788f6fe29296dfa0219ffff03c48c1e60c9b548fcbe94263bee084697173390b4f5bad147c9a627a68b8d414703a1d8ff37c427e70be5570c4870325360b31309fc055935033f66c257fc43b8bc030eb1900994c26ced12315dd16e34950adab98072e1aafdb1340013a2eaa3621703badf287d00452818b684aba4319a62d248978ffb7e6f645c24dfd03e7dd6601103fc16c256b9a5b3f975512c83d0cb174474a7c74a04b94c973ef54e8dd85beb1a039996870798378ac1362bbe64bcf52b6ba3d9d476f2fea0e71dc821519c26d23703a9391f9695d980e566b5dd20621dd5b8a8eb980f1b41a7b48ae1034b1a50cf910376ed6de210d879270ec58f7fa1cee80aed104857008d3691757a1949bd111c7703ff444b01221cb3a795e722bb71db0b55263cd609b6cb2ab7d437236853c6ff110219ffff030281b23e81020db6b313c437759c36d265c60a4f9f1491ddf0acbb12f0724b35033f1fdd526aa88ecefe7cdca2ba34572a01daa1339f4f85a022f50be1d536dd4b0314d30434cdd1c3e7aeba074b4db147bc3b5e60cd3e2b72f36fd9f9e9c37eec3503c4a847b594d1baf01cabc790e88fae55be088ae16f9f891e198c0680a8ffc65f033f02c55958873c08eef2cea162e9449c22b0f5beedc5df1fc270508d7af98ef403dffe6060793241fd16227d58ca76618f976e020ee3bd24ed576b8bcf0c02599503ed4bef046ba7c90dc817e32976e7e3ed05eacb603c67a8231ec085e0a33ce07d0376bdf9045e1939b2830b1cc6f0468cb1d901cfb51a3243bbb8197fabb17fedd1035bedd7973b880c07a1a90d4c29ea4d071b38d837e8c54ecd4008c9b2bd871d370219ffff03aa8620e276fd7f607540f3fa0d6628a1b688da753eefe8b232408c5551cbfe470327a9b12185beed53d4b9a11eb494c8ff6ed6393dcd5d9594da6129cc939f7f49034e74479e54bde79a96edca7046ddf76da0188c4c792ea887ee22aa0a55b93c6303dab704892225a6075a8093f41331a2dec7072fe2ecaba67ba06163762218563403647f3366abc50f17afa92e1da3c52181d8e0bf5448010d39d1ba7c5ce126a392033f74c129a0bc27addbaf7d51a3398799c4901b90816ab5216e61175c137daf31039f26938ef399f676e7b673770deceee1a2d979d7d2102b7a50a7a83db1b3643f03310012ea0b286af4c96ef95e2208ab875559f125cdf19886879b4759e2fcbbfb03fdb6982058e03a623491e6f13d8a048d88af0b500fe2ae13eb22f9f2ba3b5e5c03e15627488d16fe5183c0235f054081ee0b7393398fdbf81ef12a37eec37afa2a03d0a6365a2da4b1f8d2a7468926a955383b3b749518fbf495acde2bde8d2112e4032adfce3e256fae1daeef4cd7bf335ebd62742a6c6973f6634cbcae1690288d940346567b3763e0be07a3525858217d4699a918a39037e75fa7d93293663d603d7403e6013d2f72a40efb439c13b336f37ab5654cfeb447076f49e36a9dab13c8fc14039091b7ccb0d7570d9025701d2545dd0666d00ea77867421d9b6a272125afcc4603af7d21a30b3f1afce9171d72700366132bab3dadf14dca90d400e9e824ac8b8d033e3d6606c6e8c9c304714d90da3bf1dfa39ad6851b98c2f1d40bc296d2dd76e103615227784ea52a6be3676208915133f194b01c3dd81ca6803a3239ea7bfa957903c942e252ce8fe6dfb5f21deeea58d05c226f9916c6dba2bb49fed2d0166ac8bf038804cc51ba0cee89df047b2bcdfcb4091c106540b67b0b4656c4d73f674a6eae0384cb848d1580a46a58937626bf56a73d127a75fc7197d3a063d880bd40f98b7303c6a456daa352c14b753b00e691e8985373661a92d6e84130bdf2a8ea1c329c90035c667f30be98243b88dd1bf9c5d26e77561d7d00118230960afb719675353c4903b1a7352b2f5411075efa8561ef0db6135fc70efbe03875b31c07a24decae4faf03ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03289f70f72b62a4b6a7b740b570f6e9fbd3d8d85b0d1b19b4db83ac2d0007011bffffffffffffffff03b61098e5166791285ccb4545fbe4bc29507715b64fb891fa3bab0bab20be2d5705581e03c456b8dcb5c1c109796bc5f7ec896c7d0b0c256197592eadf8ad978b9004010387ba7b2fc9d36775437342253750bacd2eecbeddfa3e4c717566a2693404d67201410703fca74b97ba9f99c9a5f1d24e62a2aa77f449048d1d74cc59293dd784331029ba03c45ca6cb8cf5ca1280be0faf9f479674de2a3c3c92905cf2e7e80bb8021538a105581e037a66612ed74027c8513f633b91366791c97ef77af38f950ecc797675800c0246d844c1f022e00459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c63430008100033038830ccf47e2453f8ff86614d91a1d7e5ba203ecbaca70d948952ff73b9ff106503e6efabbf30f58f333a605feb9510504f65032be7b3d0f56bb57e16e1557b4b0a03dd591a50094c7d53b1bd3447d36c1f3d91dba2c0e8845a7e81a46d1f90a4ed7a03224fb7c2cb35557683f11ddc8d2e80e190a0d3940d1394604d85b6b78a01bfbd03eb6b937b3d8b54bcf08f0d48f1f31a600ab84329cf828b387c95b63bddfef2fa038da6499a05af11249e0e0233ed46f97b0a882e61becce106fc6c4266617832d9033bbded81eaf8ee40271a65ef25bfb076c9466b3943d68efbd1b6419ae4331f200324b7fc8dd35813ca0d78b182c633e0caf256e9b63d00ae374de097fcbdf691cc034fe842d77edad9ece0552850cb5daddaaac5cc028d173d2ad7c500cefd193c2a03a0836dc091c8c64231dba2a609724fe1f7c75bb5cabdd53b9fd41eea989e847803e0ebf56955afb062787f21ebbc3552ae81b8541291e3c1eee55763665793303e03d1367fbaafd1d9e7493fd9de31407790ae540c0f81acda4b526eda324bb933170340fb6272469c0a2f93e06b826df4749e57adb82db7f4043914426c60d141a89703a1e4ad13929aecbc60b2088846c86fd48b519d057e062d52616ac3c20892a070035393dfa0c1a2fcf68f6e51a1b2fa8936b234f80f4648916b19c8552b2ad9a8d203b878bb0a15f954761b0027274994f44f81b3559cea5c11f5886e83e958d3f28f03546b5290afc9e01626c9bfe4411c537495d8e37df81411b19374077423e6ebda03f29663ead2937aa6669e8bf53fc84ad78e8a05abd666c9f4eaa26de445c394c703c72f124fb798c8f51e484a49f309cae1743f33cbf97bdd573a8afbec50413151037da002c81d0591d0018a886fec9dd55cdf9ba7f4c2411a6cd295c07f02e2ba3603a4c2c1223e4a4ccc5509d4db9a4d1b6fd9231159c49d7359b96308c81f5e8b8d032cfc604eff93e22857a996874f5568998acdc27f1dfa0cced356864f190bee4903d58ad5e82d41bff9e8479d3c0663b4ec2de950309e902e8ef8a01c852109cd1500581f03f64683cb8093d1cb9569b7647d9051b08dfbe0208732cd50d18977b7e8d0582083575c8261f91e7f62e78f8f62ec8303dd7a41a1ccb3d0c184c8c3b01ec3c25d00581f033ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff904418701a8100581f03541994129e17759be040f9a1c176491375fdc6aee7b548bc500f2723c9c058203b7cee387c120c2661c750b031ecb823618b213bd888379d2d91600bca9632a500581f039fb1aab316f74513f2328aa915ec86e5efcf5f3500f4e9eac6c341d302a05820fdfa478b7988888b5449a13cadd46295bd93a737df41650dc4fcb890e17dd8af0219a11203025ba5651da94354ee0310dcff75873d81740a3e8c7c160a86fbf33eecd5637803c52758859adfddeb9b5ef0178cccea5c78777df63fc7a85bb77918142c8c2539031f78ea90347c7cfc44bdd9f96a56d4d0934ce16cc9e29a27bab1bf1c55421c33033aa52796f0f348caf14c77dc2788d9e818eed041d5d3ec8ee2a3170bc6c0aa2a03b9c056f4e4c6417e2dfcb3de327b1886376a50dc3686fae909a01de133aa470b0219ffff037d9a43d0d1e9439e252e8b697d696cf5621f936569b4179bc73c657bf23612f7035e0e15cf8accfabbd18846ef0e028cc9f8c8f7241d14c7ed3ac3d1aafbd7c5f3034ee22d6ab96bb08519fbd177f90fad1cf100975a89c8e14600ccc020b87c984b033d41049aa94a4c3547821fd82a72c30396cef29242e8544dca6908e94b773a5703573162435d2e163956b4f4474d98b769e2d01f5bffcdc95a1e9c882b1f93457703790dff69ffa940c44de236cd592832e206083fc88daee85d1a3f0b857cb6dbd6033f8de8e936084f1153792626903b9bca68ee6757630bd2a95bde29a99c3011eb0311efcc2695cba4fa0a5e76657a1be3f2c66c04796ea0099b2b84bcb0c01677c003f31d1aca9c57b1fea83e66708587026536829c99d5aa2197f4e45140b1fc48b00377a34492d8d85084a6efc764e1a1a86c1a648a5425c811bf2e76c19746a762c0039430853b18fe5c8794a7ddcc8fc86ac52ad2cf8a67782913327bd27cf70255ae0219ffff03714b1f43d368093bd7326afdc02bb538cc269c87d2e88391efbcef5acf997d93035c4c33bc56026b5420a4c310ac5de015e282e68bd9d1516d98bed30830d7774503a5d78b973a9724335f71facba8b530512c0a7bd6abd59026737d92510f3d1b5f039b12b77f55e4d62025a2d5781c75917d3cc0e76263d54fe953d85763d47119d4036cc8de709a6deff156ac600a4d7343b165aa9b42aca4d2696f33b6c12979a6d7035d7baca2910b283f4405d70e8b22c853708fbf1148f5b610cf5707d3f097fbcb03f60b34185b88bfcc0810b37fafe1b2cec4b4e418be91ce422b856c11ba29021b03bcc7206f48e8fe5bcd840804a9f6b2d2e66e823633c1fe0a8176c957feddaecc03ef437985f3b3d27ee36ed362de7c29714fa90d7994b7bbe27dffd63edae0823203a87916c01754fbc5670f56d4490aa09221496e8dca3e4b35aa4ccd00fbdf18460219ffff039184e049c38d9c5f948e3c280955fc4eb3d63a83861e14bc755f3afe4f80442903ed199348cdc21c7015b6179b0f9ebbe8c3a1d18c5cefa27044ad85d28cc8991f03fbee211a8b66f521aaa0c4802d4321725e0a8c9cbae8859ac0faacf8752eea0a03d67f8ee26c1516e123c5177528b1dbffb1aca2f9fb42847438cb37032d8e53a00345da3425164228ebc02bd1009382548e6073e58e658cb10aa5248204545abd8e037ac789c530a4d3f67f8f41c5ea121abbcf8303b59ab1921fbf7da659059f548303a5268a63fd8fb73f255419ce442445da87b0971b4e8917d6d5d50becb5c62509031f02911f2254a9858f0327ce488fc79ef92a355538e9dbb5868cc10213795f04037e0341868103781a91428c93fa95f79cc87c4686037ae7f7728d033fc0a427d70389c150e286a5a9ed77f37012a0f6682d144666e90365b39dbbf6385efdc6109703faedeee9f23c140a63c269c27727dc7407b11af0385c701d8d7d4e59221904be037a459f5277ad85cad170595ec1d6483a607f3e8b28986a38cdafe24478d847b100581f032405e0dcfa1ccea5dccde976d96a8639a40e81a7c0d50966f813b30e8b7058209fb2a748e8e62623685e8a99127e107ff13e6a57a4e9a4a8417bb223af59afcd00581f03ee271d04e66eb3c82aa50c3a088418c3216043fb9ed1164731a9847ebb105820e59bb03ca4926146b72d75a0ec4077cd55e5e9fa1385e51527650fe0242dcd7000581f030f7ec682d3b6402ac46e1bf6251406d7f1005de21cb1c08e8f6ad75f57305820c92475ac88ba416e592f25a5da7adfbd6f2eb5c1a5ae1e66cb65ed80a74e6fdd03e8b8a2691b1de6c6b210d83237e634074da56121c7e54b6d07e268217b47d8ad00581f03b6227927a0cfbacae272612faba761dde9c05fc4eb076a607b456987150058208c842d61e58f6ce091003526a5d3879d6b34a70b58e963b6fea6478d678018d600581f034cfdcee5a8080492e7ae343e4cff7afedd634dd26983b8e27fb19a82f1a05820e9d11b1110420e8f622809e6036a0c461f9feecceae3f211d3757a89be39891200581f03ba3c668af2acf2d1dc1805f23fd05b1e324de3838dfba16be19db3351600582075c8c9b813a7052a9d2c5b0a92ba12127d563d5bb9c839c6f76ab58d9fcf993d02196ac40333e8153bdebf68edc9ef10a2d4a01816f6bf33be81162adaba1d695d96f1b2e80395bf23c3c032674ef35c3ac0b2b86755bff640337579ad8ae73018705c6217b60383c03b59e240b8bbb5b06aad3186a137ed49e5d9e21cd01c168748c8ba5163fe0323d0ca4675272fe2802a0cca0128f792c9e341e716ca3d73178aabf39c7502ce03814e0d26a863b38e54c6622892dbd5e9efb942c5f5b57a2e5a6774a2423e031f0395f9cd3f01b51f9ea4341dc78e72e7dced1ab71ae61444271d946dbc9315c2ff0312c4d0c9d851940fbfd040df73a667b7212ae8e2583dba16bf04a92aa3a864e703cd8495d25667c99dfe2079bc068d02d76c8fa146531249967e27dbce19e9d26f03381b36324c1b2247300910a18442de3fdd9a2d2322c0aeb8595920eb1d39451903af77b99180ddcb929079f5152d7e8b401b861b1bbed485a0cfcee051fe5216ac0393b916529b16a03a42314b2783c36ea1688d91b61414e605078a36eb2df7563c03b43a58a831e8e5ef0458a76ab8edc291cee9d3fd64e65dfcd6bd82745b7bc3de03c897b18e1797eb77ee08f7de41764a19dc56c73469a58b446c812a15b1b5767a03b2eade0ee962148583a2a2a4e23fbf8f771bd71dd6fc3b63be4886a3c4e4472c035aa336301486a36e36ca1cb1915c766065d8eaf8e07bcbc74d19ae839e3508a40219ffff03ddd57114834346de70255dda38cd62d8fc059056956de2559e9f61a1409a3adc03af895ce69e3576929671e110f947703bb1650e2fab2ace74be1d4020704a504d03566291a0a9241395689cd711b326577584a721e8befb172f8a8dcc4927c014f9032580cbd4420138686ef92faaebfbade7f993fdc2e1ae30cbefe1286a25ff39bf034953d3c995ed31cad7bbdf81d3f8350861430da3368298104e8f1f6f8b11b1ec0219ffff03dd1d589e94a11413847f5363b2b00b352ff96c82ad763b0a2b49e5b2eb2ab96603567adfd8ded80cec9420e27a697a9e8054d95f5adb747e7d63ec9c227435c95003963704b855dd5eca3117c8b72ac3978f23bcad357a5d037317effc0947b648d20324b0b9e1e3e95bd1e100f99a1303250bb081f7fba585aa48baae76b88a5c360e0348ad03ed7cba93fad4cb094cfb0c2bc6d1dd03f776ce9f8e5e1b7cddaf7b29e9034a3ba191911ccfadacdd5c4fec54b3abd80b5b24548504c508467a5964a0372b03c383423c33fbd1a391da3d38a342f039fd8859ee52baf76d329bf5b9555dc41b03d037fb28cfc93b19f7834b5098766b248cf885e945c8c38f3361deb0771c968b036b4d489a4c1598124f55b600254bfc05c719ce15ecf287659bb1240a1ed4019f03231390fa38d7c6041f52ae2197d2b73bc64edd8b08cd7a89a5a21cfc9fa5cb8c03c5b4189f0f235f5c84f0eaae9ce71f7b8c985a39c58f68b83ded06a9ae3f9aae030c61ff05c575f2d0f6b8aa777c1d2772d38b67b8a1ce5eb95bc3e494571b12740372614bd95f9b26f435ddbb7d6eaadf220698d3379b183fc77833a4ad280d6df50219ffff031afd1d2ffac9f2bec25f33ba6073c678379d721c1d7ede469051bb54fec6d81c03f5cb75bd377c547db6878344817c9d8dd19d5a66a6b3828d91800c710df010e40390ad7eb93627e8e6cde8ec326741e488b7956c4752d9059f2cbe02d07cc88aac0384d6c89d6b4c43f2922310873694aec179f64f415a8e516c7309c4fac8c8751703b46cbf8dba9215b75cb31ca1dbb7b10f88e914c0a919cb5bf7b155e772c4eaf8037fd0d0f8b0ce86a3f0cc35da23f046f0bae04e8432954fa063aab6be551645fe03ca1eba39b593c4c2ffa921cbc6f942f48402e30d2950ae4df7d88191af3bf452031eb4813033daa1d6797ccb3a3c55be9f2075eccd081fa1c6225fbf62010a748603f7ee0b5ce5e2c07feb1058872b38d26138044fd30da114cbe3876afdebf3685f0355ac57522a692408b96069117b798fc52800bd9b93e1fe974377a2670caba504035f414ea487a4faff422eb7edbe313fee31b5c3857d02ec834b8591a15c71bdd7034b6da672553f102e6ff6d86de1861086637fbc52e1f831d9d4cf0e2eeea4e4560355c9841cb464763d7c4906a49978555a313a807c614d1cf14e980cd175b7ddb003511b1ce7f3d0ce01a23d0681866cd84346545f2cdbd853e1c45d6d6178651f8603534adee374d255f5ac8498a846ac238dc18283ecf87d3723a7df1a13ea21056503401a273b46b5c588d7b073017f715781c3657d2ceffc1256f76cc90205377f2b03c1ac426c355b8726969684c7fa8ad5a774495e6de68467fe4d49d28f7e40682d03c4e05fb305284ddb4f406fd15bc5e6066d2d4919b619a531e3d0c1ce781037df03fc811200675944c7e44bef6cd8200d236229704efe02f020300bc5e2137d0340031f135320ba74cbcf2d145dbfcecee274b419c2d38489c42ddb576b58d800425d031b6a4a9e8f76b618a455c760ca1ba6e809304e34df45b4f4f9ce2ed0ccaf9cdb034756ee621ef905b975ef75c48c5d351032f2361582a42d94d6f1fa2d18c654ab03ac404709776bbfa9fdc88e275269f936061da2c822a6d623282cb6684704fcfc03690c8639c5d4f8197e55a24a0fe8ad1859c644e00a7ee9c9d04a1beea94e923403a62000bf9e55d79baa550f17ca8098971190baf1e6c245ca45fa151fe8f683ab03f9b6349e6ef558b52e567fbc3b6f864f07f4db92fc2d5e7ab852c0f652f9bcd4030b71e738c31901413ec3c6e2e3ac754b2eee01df935bb4cefc67e9b195f9478f039588c39571d46dcd2eef3a09d6bb94b4c401c4b2e97ae02660f70f4c6ac365750376a95008ee00f22a2b74272f1ced348b1a6eb1a3e7df3d111b97630599d7bfc503454ad6fe8595ac9aa8a398fe58f7010bb6c4344dae21f0a11f5b69eacdd7228900581e03c9d96948ddf4bcae7c7cc1f23750f77779ef7cfb5b7e0dfecd02e51d80582092411b2f1520830f3eb790ddd5a55f9a1dfc80fcc69bb16c7dd1832feb93913b00581e03f5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054eb803eb3f501998126bf37bb823646ed3d59d0720219202000581e02ab40c5ee046b58de13c072fe1aed84721795935904da9446546b3b06e958207eb7e6b30a27cc783149dc8e2d840a5354c129d3718e094d26acea6accb209320219880000581f03d1003d0d9e08f5a965207e559d63d77e8c545543543b43aa27f7f001159058200f3c6016b925a0f1952429af9c23317a06677f6fec1eaf725ec6f6595f8a6bf300581f03f49a358267a92870325127d17a8aaf27cb41559ff9538e5d629e99d3e460582011704d4c5e1af8178a0c9e10af13fe4f549877036f079cca9c6aff23b57ea19400581f03fbd7d67d4f799a577ef81ae1639c9efb2375aedeacff6406f064569a02d05820686d86d1c9d6562bedbf37e7a4edf7066378e7702bcf8ae1c1749b4ca0019b0b00581f0339f9c59057cb42e4a4ef3e3c85d16932cfe0e6b1aef863fa0db4d7ad884058208ef7b67b239c49c640d850f4df0decaed07a41cda3bf15ab7fc6ff79c9d3019200581f03bf74f9a9e0f0e5ae36a447d9843d84986764abe3164cb182f069eefda940582061c7d3c380a8b49b3d46eb482fb6c451b25ab928096d6b428308d728c4c101100315c92c91b10de3c295283f9301178df50df9c2c18af4c49800286c93e53a209d034817455590008e3766fdeb6e1396fc88977e64a5581fdebc05f97809950041ba00581f03f5c8504ad6c6fbe7ea5c856947cfd5b52da51126717811f55bdde01e9d405820fc5d7528bcc166a154bd87e2fadb87ad0b124355bc42db4b10b172c91d7fbecc0219da390219ffff032912dfa15f741723fd386d473c07bd7b8370263ce7218b58b29d3531b04debb30392ad8b99d93e76a84718aa55be0fe68b5425cc85918987d4d4bfffb4dfb0583d0219ffff03de915ac6b5978133f9c35885ce003ba758fe6fb5b7999eeb404521b1b73cd6a20334fc7996821b6b624dfa271f5ef5d2e0759c6a16ef160f20545de039100db6fb03ec78930bf9c25ad6a99fe4b6a0207f8be2baf697926b46d6f070a1fdd3354d840374adc320a33cc91062c48572d824adaa727be2dc8e6fb166aa6dab26cdd1c973038351173b531f0f8bc7115a3c4c6e6cd090a4a3402665d484e292a0a64acf6666034cef8989b9ef8b949f57b16aecabd4ea1d8721ebd68f6195760c4376db6bd1e103f9e79ab549b6c05405ede25526d492eb01f415a48da3b65e310cc3740be46f0003cfa48572f6b619825ec9a142c6e764f2be2999f8b0cc381f92cbba6aa449346d03f29c6f974c8e74a9a6154610a8dbf262299ca5766071c1ea7197419e8ca4a8f8036d3033e84abe62a450cf9fa6186ae5049bc00b116c608dda9e7aa8351b6ba5de03b186628d3e41ecda7b1156f6dc52c4f2e20db9cca2abfc913820d41b322550a703372e2103fd31fbc113fcb7ea091af55d49c34bf9d7459ad2fdb1ae39239212060307e468dd2ff6c81707d312adbe574025a2ec4c4d53281d45f3eaad3254252c950219ffff03a4e5713cd52457681e1d10e6bb83abe5367f1154527ff55288544752e34a596e03e7f2678087cd57d82742a391a3b881d3fa028a4e9216ad970a73c421198501120341fb021c681e0d7a2f3c167fcb5c14440bd13c830c588c512555ad036d15cf7b0398e1a8e622fab071fe733ee32e37271ffbfd586b7a138a34047fff0f945007e203d4156b8520d7d7b0904603c137e68ec2371d26af7bac1106094110864f4263b20339dd111ca358cb7c0517bc2ebf9fc653f68876c9d36d7c3e8b3e777cc277d6c203bd57e440a10145b199460b6f7a49a80e86a28a947ebfa13aa0f4988c0d70677d035f58a716e0e422acc22c5e2c61c0fff850e5e4935f470cb13ee9713bf7f2eeb403235dd0048c3c2f7e27392a74718fb99e6b9e973eb11fc8e7f3cb99db277381d003a0562b052d7d7db4fd4e2c8870bb1a56e382713bc17b65a5d4230cf15e6da7b203f2924e588b345a91806090b11982e6bac9c6638c2451668792d37d92bc9b3163034ce2bf6158f01665e4344afb6cdf2d18ac286a3c9664a51aa8269d40e123a6af03e482ac92dca4388d4d3b7e3c27ef406b6a84a34eb80b4276970f827e8d7dbd20036c59b9b933b3abbcf01eaae8386eac8458c32bd383f046fcf106db4e61857ec503630f2f832ea24184a86e77dbf942a1778683e3ea1e0fe579fa067c065142e160034ede7fbabd4888faa7745a833a2eb5869f5c70b900867b8b7bcfe70184e01237031bb0eadd081493351da4ce800f6aa1342aa36320d2dee0b549bb504cd91435c00392c3c773ea2cf6af6e33f2661b5585b5739c3400d491371851cfccb561e02902030e53a622af3e495680af2f65e6ad9ed4154a475cf563e0a4aedae7309ac0fb8c00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054ebaed7a81c298b24ee6d59c22698a951dc448e0100581f0330c783252a5846f7033e846495e478c581d3f741f9935b03e43f7b3c7df05820c28a7f304dd8c1b86059b8dc6b363cedc350d505c3844b3efa2cb31be9f3538103e248f5e5adba7a053964273ee20b9570f51b0613a9968f3f7721e2845da237ab03135caddd063eb008de681e1639b6dbd74fc9fddaa601c4abfe012bcfb9db837800581f037ac073608fd2e0b856801b3c35d164f1dcb0530366d9d8036f12ea887b30582055f6da738b9692d5215107ec5ec59e3d70345ddd4809ed007ff3eb595494b6cc00581f036e843138c792250b5e4577d463f49860a46d39d4d4517b522fea5196cb005820f7ec9b05bce4c416bad401261e3e1aca9544ea2b0f3a80885cb499aab24f074f00581f032f333a031ed74d790b243b2ed82a32f790ae231920b6274547bef9a70db05820546f22a0e135bd687709e481a20f33347a5cb823bcb4789e2fbd07e13fa88897021975050379cce13d5997d3d36ff93fdac422c73f05e415adfdc51525877c926cd21e62c3038a37acc1b790dba4e59c37050fb383bdd8457543a2739259104794e7163d8fe503f164948ecea69094f5f9b1247ceff133493bd4b90b09c88bf004c3081d3166a7031f658a4616cdf9b00275e6459df8a0e07842f2049b7acf45632bdc937def28b603d71189d4d2e33b2ffce608d0b76cd7fcafa291d6173b9db1aa940cc515353c7403740c1778a990af14a588298c522181400dec67c6fafd2b3b9f6bef11a9b2e932032eca4342acc1a935cfc1ad2f3d8457e2f3c553730232051623757cc4e30a3ecb038ea0701602c2cead43fd71edab6c11b3101dfa2b72b5b0f4d60bab856b806ad303d455082394f67cbdc1cde3b6e4a258ea8261196af41b13f89cfbc0ff63f373f3032429fc6d198d216686a67f709e88559212c9a09b25171c400ae6305a71347e39031f557250613e4f9e1c3ad376e8760058f6f4b7173b1527e10f0be1c9a3bd73860310dc5ea88e9e1d752ef2b8380b582c944e1f387f8b1fcd7d57d0d350e379a8b703f8ff3980a30480e7e7c025f8edaa4c4084eda016728b4a250182353e34c9bf840219ffff036c666dff12869f5ad762c7fdd4556278502e9e884e357088fac94b50afb0762603726dfd0b8978da9bf20d684933a57d780249a0a6e6af98aad0045fd5d5b5f8b20383799d51d239fd5ed8c133d6ca25ed8a957385ebe9a83da4546da81176c40bd10347e6350a7a6348b0670cce39a3e75983b2a5186a3b189d11bfc429dfe0370f8a0219ffff0397df428c461c5ad9163bc22ecc460920ff75b185aeb604c559be8aed277e21b9039697af8d8e703fdd1dad68d6e254e26fd07f83db4155cb37fb67d8dc6578a0cf03ccbf0dc37ea8f60de8f98080a122a694ae9acfcc0fd4052b71b48e78c2df4159032977f25e975d32612b0fd9aa2fde73a15e735830c4241e602af845b48b2341b1032398ddcf7b95766aa346cbd16eb80823527d1fad2d75194198cab70135373ecb03a106bf2eec7fb623928e917d361f8cd0c0003ded9b9878a5fa05d835567641e80399c4c51165745fb65cde7cffae4673528d182e8d77514f925c9d7abe3ec5d6aa032135dd8b4ef5276ad2d460fbe09e4a87eed4a4a2914620375ed1fba776a265e6035fb54411b344cbfbf5819bff890ccfe5aea5dcee2437021131a986a4a0c027f603f7bbcbcae52440d1a0869ef5c31da4a6d2ce4ecb9e830e88548dffd5b67f6ea90395e7851c15bf85c2f67926d367e837b4f75276fa40b5502aab21322a5fd6c1ff03c085dcabf423961bef1d899f2314030851d87ace8b7179c384b3b2e7c565ec4c03442b740fd9669801ad079cced3e078b3a0f33c76c44ab06e0f2f6b0ce7a8a9e2037555f09fee84cde39cae84a6c6792cb9c7fb199a70ad57367262fb47f1386b6c036f47992eeb0667cc8eba354fdf4dfcd8f84b0837701813766e301934c7ba6182036722aba8a5357a7e168a49c190babf35ed566bde769bd2d9ec669afa585f9def0333e9d1b6e9b9ad531af3024baa6ff3c695cc13ae792f72058fb1b3293cdb7f3c0347562a87ac7787c01cd7050bbf060d7e4ab415dfc692057cfbce8010edc323a403cd7a398f39a3a39161c322b9153f64e6d0e5954a261c93edd3e1208cc9f9b3420382d89b986cd546ed76fb55295589ec2d4294e5584d0cd154b8dfd74202c772580305aa6eb37f5d884ef01116d0c587e8a4725a7f1f17a8efcd63315f3cfcca677603e6825e3710ad0793e5d2d6a16c6e3c3722c5a9990e097284c11366f59d68446003f9a629bb83f296fb84aacca6a45f6cb147a6f4b6d376e99a538a8707c1542e6b039ed24f657b853d5a011a568f61751025a58ac0a5536c7a8c76874b49cc5f06d2030ca4d85be2c30d02678a03bb09412c9d84862f18790c9ba6c9f372e097a1143c00581f03ec014cd4582cf67e1aa12aa1ad53beabbab97583c34e81ae326281858c005820bab3b1c1ab6b817434cc4a3d891ed3f26e0d98d79adfc7dd6cbe02dbf711af1c00581e022e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143084309bc1d00581e02f5e54fcb5ebcc22a4ab781e27d5697c862760f3318c012deda8b5e59af582098172a322efedd51504cb8815f4073f0b8bef59e1fb05fea13c48146817966f902184100581f0337fd4d4fa53ae1f696d9062c92458bf99602db14e17a825e97e5612076605820803e1720c9177c2737dde838e04f7cc3ee5df413455409fd2287a8aa9b6eb0c800581f03a098f2fd43333dd3f5b2b9c6fdac21b0edb90458c5b74595ff5640fb1f8058204124fd22293b71f8981e288a7be6363860f4f6b4b2bbbf6d4bcc1fffddb4685600581f034d201ddb06a229df838f3f550b6bb518dfe38181fe784648ececd203a2f05820c55ef7e5024961ee58dcad0be1d276facb2ad129a489871af34ade571c47412400581f03bfa8a52a8e0f3e9291cbdf5c653bec95b83e4fd1faa96d8126a8ba1416e05820a4605ffc31d3066319fc21e21637d83cd75c5d74a173d3b8eb059dccddf5a01d00581f030b9494a2b6c77f45df07c41867bfdaaafd31765822384c09f6a801dd7d6058205b2a835f3275b4c6557c650d78e67ee21382cfa771434b44134e5f1c815eeea100581f03ac9c3ffa59c326e88016b820716f231be57230546da6f21307beb45360505820db7f8191cd33fa3df42e8042e5fa4b7a89177c273fb7fdca84178f578c54479b00581f030ffc2eed4670d28a0529e3652aabe54d2ee1aed014c23f0fb7f1e1cdf4e05820644e7c3f6d212b861e48c5ab4405d4dfb0193a99b2233b79f42b8a50e2ddf3d80219a97e0334f94c8bd0c5d919dd5d314df251cb6e8f99548c9b58701cd69823deb56538da030df74081341acb966c60e38de9425da6ccf3bef82155d59d1545c2bbb15bd25f03ed9f0d553de72f6d630fa009b0283553729f8d989730f54b03b922e964b69aa903d3206a3c8787f08228ce527dd711bb1c254f0a4e5d514fa30c8d97df35f8120203dd05d4a973b6a0c256b81935d773c143d0bf9a752929f9ebb570eda534f1518303603909bceb18f910e1f5b859adec3ab903eb6f9e82cfd4ad2e0438ffae65220e035cd4b060f1aa876cfa99cae48b90bdd13ba9369fb18aa269bf04911ec651003103c9dc50d8839ab30ea5a2a4666b015cd4ed962977a2f0e3b3be1bbad95c6d84920367faf8bb1ef62d5dcf6e4ffb5d5f098e33a69b194178abb615f3fc8f7804bd3d036ede2d29cc149362f165e7a4aeb9794a2ab44d1cf69bfa6053822bb4b242700403a8d55abbca9ef3716522267770520fabc07a37c8f0c214ddb92ab3c9db3a38d50219ffff033462f99a18eb57ec8b53b91330892e80dded4fc8fc44aeb429bfecb4989cca5403b493dbc2dbd5dda3de68b05453c877524fa697e21bcf5cbe3512579fad454750034acd12867f523e0af4f9d2a5f80d6210407e470a77aca812e812833fcb7f6d62037d979cd6f43e9f4dd322c605b3440c1484508579c513456203646a2120dd7bb60219ffff0219ffff0310a6e75c89e937c0928db46d46c073affa6bbdcb552e2bc3ddea3d94763a4e790331fb6aab47388d0b58d95886f22055eb478224f386e64be9eebf9915e69fdf7f031a30857b6a7ce0db074f853deeefa02e2f26f8c6160252737278489d930555a403efffdde7d5306f1174ae2af240e12667bb6e8f1f0726eea2f70511cd356c45420370e5d3917bb8559ef5d7c727917d85e227216f91353ba880411aa408075b9e5603c6180ee2d4c85b8810c8859070a79ab50207f8581f005ffcea85623eeca0ea74037115b471184e4cd2bacd18e89d12bd11b7263b71e5cf57269e74bee70af598ef03e88651e593a5c0437f30c395063d5b64b51c726bc59c312cc7dccc549cda6e160397a004e28e83037eb1d3606dbb9a0a55093c833f593d48a558dd4e5ef693fd7803105e1a0d2d02b4bf58314fae4da10074cfce38222d59d6c5175f72cab7618d1f03d3340ac1cf57b5723b4037a2ee227f51d3d7cef553457a725b711027a0368f1e0332bcf341b5b9d00d3ebc3a7679a3fbed35eb98ffb2b2380eebb9038904923b74037bf16c1c0d97acd252db2c2b10ae201f2f36cb4648edf6ffefe6a5d55627ab4f03ec9376eb881b47bc0a1ea2670d2010b8bb515808963fcf2cf23e6850e0ba6bae0364dbed9a69627153578ee110387795dc1c8bccf383ebe16c24d172b99aa8f1e40357a0caa80c807f66802430bbc14e152b3b46219480892f0c5e6d1dc9d2defcaf03d55fa87e53a407c4ac31152fcb80c4084a7db6fba4df3bab126798eaf3aedce80335dbf8ce280d0b15aedb183de88464491e5c02648e285ca2e3ebff163bf0abff030f582584f5288bc8ec3c94ce05771f1f73a5e4d9c6d2d3905e539c55f1c846bf0363c25803a053b715b735be9c0bd1906e3eeb655bb4d7e3318b07ac042245e31103bfec010b906a74ff351fe419c17660b160e8a44c34d45d3a4779a995778b1210039d1a819ce93a5b36913363e29a11092bb8578e0928b9035020e00060c41348f0035d4d995196e70d196562149feb831798fc99894528b5f987b34a6240d3fa755b00581f03efa2629d5dde16ac378b3ebf335090574cf9bd5262609b24e35118dd325058209a50225d8d2a2d68f05ad4d90e39a99cc6840e9d4253d545daf7aa3d07c3af8e00581f03ac663d137b7520ebe6afc4ec123e78c29ec381ae095de66c666581376d7058201236ae6d959482d9c9f0c3f20727193a633850a16eb54fa39f131506542ef37500581f03b8ece8cd1863bcd6082d65c5b0d25665b1ce17980f0da43c0ed545f98b40439896800219140203eafcdad4712e62197a3291e7bc19deb3ddd8e18832c5ec6a31d7d0c6d0f4beae03f4f16cc9a3daf8b776b4bb310d90cf4a3780801b8b4589bb42dbc2f1a515f5ad03d1b971fcce3047145fc3fe2efc4220f2f87cc427ea127fb7ed5612abc3f21a3d038c2662d2f4cadcfe10ff3b5dc38c0df45224f2b14284683df3267116269c59720305d5bbe65fab65dbf6a58e35763ad153ddc00ff42f65868e36b70fc0dc1b533703385a463a7de7ed537ab6adf956f11fa940c718fd025d4ae6068ac32c88387f8a03187022adcaee0bf53adcbcfa8c15266bd26f421c830c93bd4e7474510fa9e78a034fe7961c227eb7fd1ff1808e71ff904c0854c2de72478fbeff0d422e8c98a54003939885ef4b21473d969404c2c7b435c41e4658eb515f180e151289e67e0a8e8c030ae015f48ba365b3f2fbe0c340da1cf1b1c5b77a2174c3dbf58ccb8e16502b9d0322ad014ff654d9294e62471a80878f703bd7d39d34119fec2f9b50db0097f01c03f49abe45ddbded18fb769b0a96bc1772f4b26c67d2ba64da8a8e40a8c5121f810219ffff0356a1401c2c3573f3479decc7949412d606c63d7d097aee5d3d16704c84a768980364cf0c670536a9b7003732e3b8b1558223ca84b3078e29bfd221793aba37bdf303a5c6a4e8cb7e3d4b53ccb65cae542ab86e1af759df32a9746ba2622558a73a1f03f289a4027d21d0690912d38772646e8c49e1aff5219795a3c6113e9569b4663f03e51da5061e07e57a6c0feba3532931f7575174af716b3861e5b2bf38b3dda8a3036330c4a3885ba242e7add51d588826b686635146e1442a4b4fbd3de73fbd63cd036bf7040a96b276f070cd7a76a1b15474282572ec799a44dfb2cbf12fbae82bf60361714d2ea4292ec05484863520d9a6d86ae11bbd48b35bd4f99852840243303203585c4970a7e59d595c3870ee9e424c8ced8425573b2ae4ba2e1762e515e20870036b5262a0891c1bc8ec1ddc5ac9a94c4c7505cc7dd575fbb81c5b2cc44e64f94b03f09caab0198fca84fb59cf7e5645cccb4fbeafeb566fc011999de3726baa3e170219ffff0338a4c782134c51f28b5a8852ffb0a41bc847a82f49417656f5f907754122f0c503bfda2deb8bd147665f7aa483d55b8c6eca0435f20292b0e110d02bcb1aa222810219ffff03024d8ee68e8301707d7f3f23b9d3bc7d51cf0e7f521c0d6605d23048e7fc8a48031eb3c1f92ae3255a1bc0c47ca7c1906a781e37337be1bdb26ae8854ccb41fa8403bcb1cccd56945ac5115d3490175e532a19091cd4d10d60a6ccc448629c538717039298296eca1ad3b9dae5ff1de696d4b8c55ad1655f69fda08f4e8d19db32b1ed0219ffff05581e03e0f9b8f4a113806f4398a7723a7cb71a4034ea331066a14f2862602500070119089e0219e31703e2c5e6e411403164f9e4df7d0434d0bf6251bab9cedff5cfbb35352397d0eb990391eb42b9b271bda7fac2670dec33469cdeb50ac8c04c2ed355551daa101f6dfa031ca4df3e81eac0faf179965f6622fff9b5207518ab758f1aa4424467c010d9cd0219ffff03f3ed6799298c65383ef85e0023293f04ed1217aff63c5c958d3d54cc7afe9660037585092626a66f3d1aa6addaa0c3100ae4982f0342d9429e8661717d95f103530353520f15be3c9ec72ea2ec9c3b21eab96b2c007cac077ababc00e7de91cb5e7703d0cdd95221042afd894dcf3f05fd90f01887ed184b7e169e02f2c74aca07b8f403c3897753ae66283e2e1b1e575074c463922c505dfcba7c7c78d5788e428f561c03d30e173176944f2f8521c1d304687fecfcf03eec320c375bc9ffcb7b12609c0e033842aba5b9f43d4b63ca44b54bd53e9d29bc770c7fb2a33e8d93a97fbb934eba032cfcbf39291744131a89329cca5a598053bd495ab0b29f8c08a10ebef93573620308014bf3e5ee1d3b63ffe4ae1a07d0ed91b31c3779a352a17a56ce43a3fb7639034732196f0e2ef0ccc95d62c3d25e4563ee9f0a0c0706082a3b854c1a864b92d503420184e9fd1f16ff789c85b5e11248a892aaaea946b50fe5d637d109319242bd0313908d7ec4fea08895ab203c7220921d1cfac6889976d931be991a6256a6093603febebf8a8cd90b3dc5008121bb7b91418175ccfe098051a2113384ad92de4c7c0390942b46d25e40ae98cb782e464ea9dbccadd989662390477b2004313963b08a0219ffff03ad88178a53faf1901b90a83318b75d82bfb74accd8dfb22ebfc1f90bc658704103f931d988393856198002be258851c0636d30ba71eecd25b35dae2bf41852028403f47b02fe63a57e2a056d5ccbbe07cf728d854e96724e53322c446aa078e750bb03d611298b056de482c87e28bfeedf8a3853daa94c57964441768621b9f37e7e3a03d834913ee21c16f1723704b0d0e631bcbc8da6cf05159d61c3ae1082009e96df03bab8fb84db14aef1e3e0324c7865f9e411af154d3572a87689a97623c3f9ba910219ffff031b8011c4c6395e03ed937d38f5c0491a6c2105ce1d9badf3396106b2ceb3711b03c8a0906c0f3f12987e9790e3f73a6d69b209ab76a3695d329c8384be6bfa634003eb1e6be20bedcf397903bf12434e2f9c7e9ca11587867daac9526dd57d50eacd0398f306544f24d697f6148893d9f440beffcee4c547549848e332ca476a41248503905c6d18ffc280936daa06aee77b52317395a8a008ec30af161b89e31c53f3a5030e62d4b212963c9b6e0b570bc565265355efef162ff2ddfc0daeefb7c9008ac503d4a52abdb5b7a139144681a7001a3171c95c4e2bc04ed745addda2ce55ec6fe7038dd02abb7379a78a33f88f606dc9f5bc69413460617067b3dfff8bac3d7d90a9036548ec8690865a0df469555021e1930adeecb46b6c5a336adc766e4223fee7c003ab6288f609e72f509219388de6b90ce94916eb9a3d4930be4481e14bc6e3eeda03c0897577aa33a4e2b84b67f966b81ec7de928a5e9c8dbc087dc256a9fa7e944503c8a87fe4b2aac92e9d356f87ee555b067a463a97279acd12a312d084598c007c03d4a9c2b03cb2a06abda8ab36afc962c11e2cd0360191bb6b71b02326c16808ec0374a91c54bd3e8a3de5e8178ab2400b0688c4f9ea708372ff48550f3aa9e2088d03cb86f27e00dae5743c9d3aff5b26723c1892d2be3168b7370c4474f0089a6cab034cfe31b1e6bd90200e1b1d60f21b754cc0498c511bdd6ba01e27fa27a41a59c10353ca47c7bcc231b1f789c8810a897378822c49b3e40ef135e563189d1f50b69603cbca6a351bbaab1f02606c749a307c1b664b6b15c4d00344f7b278356ee671e703894686be7992866c9c7c23630415b6aed3088406fd736e0a76baa2ee7a2f10f90326b40a5eae81abe748d2d2f706fe41ccc4470cd2039673ac2d994805cc58d28403852ffcee469ef6442a5f77fd3e231e0c82573f018bfa3b3714a62b81cf8d017b04595c286080604052600436106101855760003560e01c806374cdd798116100d1578063c49074421161008a578063e251ef5211610064578063e251ef5214610563578063e2c8344514610583578063f2882461146105a3578063fe80b087146105d757600080fd5b8063c490744214610503578063c4d66de814610523578063dda3346c1461054357600080fd5b806374cdd7981461044057806387e0d289146104745780639b4e46341461049b578063a50600f4146104ae578063b522538a146104ce578063baa7145a146104ee57600080fd5b806334bea20a1161013e57806358eaee791161011857806358eaee791461038f5780635d3f65b6146103bc5780636fcd0e53146103dc5780637439841f1461040957600080fd5b806334bea20a146103005780633f65cf191461033b5780634665bcda1461035b57600080fd5b80630b18ff66146101db5780630cd4649e146102185780631a5057be1461022f5780631d905d5c146102635780633106ab53146102af5780633474aa16146102e057600080fd5b366101d657346037600082825461019c9190614b56565b90915550506040513481527f6fdd3dbdb173299608c0aa9f368735857c8842b581f8389238bf05bd04b3bf499060200160405180910390a1005b600080fd5b3480156101e757600080fd5b506033546101fb906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561022457600080fd5b5061022d6105fb565b005b34801561023b57600080fd5b506101fb7f0000000000000000000000007fe7e9cc0f274d2435ad5d56d5fa73e47f6a23d881565b34801561026f57600080fd5b506102977f000000000000000000000000000000000000000000000000000000077359400081565b6040516001600160401b03909116815260200161020f565b3480156102bb57600080fd5b506034546102d090600160401b900460ff1681565b604051901515815260200161020f565b3480156102ec57600080fd5b50603454610297906001600160401b031681565b34801561030c57600080fd5b506102d061031b366004614b93565b603560209081526000928352604080842090915290825290205460ff1681565b34801561034757600080fd5b5061022d610356366004614c26565b610764565b34801561036757600080fd5b506101fb7f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a33881565b34801561039b57600080fd5b506103af6103aa366004614d37565b610c06565b60405161020f9190614db0565b3480156103c857600080fd5b50603854610297906001600160401b031681565b3480156103e857600080fd5b506103fc6103f7366004614dbe565b610c6b565b60405161020f9190614dd7565b34801561041557600080fd5b506103af610424366004614dbe565b600090815260366020526040902054600160c01b900460ff1690565b34801561044c57600080fd5b506101fb7f00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa81565b34801561048057600080fd5b5060335461029790600160a01b90046001600160401b031681565b61022d6104a9366004614e1f565b610d18565b3480156104ba57600080fd5b5061022d6104c9366004614e92565b610ec5565b3480156104da57600080fd5b506103fc6104e9366004614d37565b611294565b3480156104fa57600080fd5b5061022d611387565b34801561050f57600080fd5b5061022d61051e366004614f3c565b6113f2565b34801561052f57600080fd5b5061022d61053e366004614f68565b61162f565b34801561054f57600080fd5b5061022d61055e366004615082565b611807565b34801561056f57600080fd5b5061022d61057e366004615153565b6119da565b34801561058f57600080fd5b5061022d61059e366004614f3c565b611da5565b3480156105af57600080fd5b506102977f000000000000000000000000000000000000000000000000000000005fc6305781565b3480156105e357600080fd5b506105ed60375481565b60405190815260200161020f565b604051635ac86ab760e01b8152600260048201819052907f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3386001600160a01b031690635ac86ab790602401602060405180830381865afa158015610663573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610687919061524e565b156106ad5760405162461bcd60e51b81526004016106a490615270565b60405180910390fd5b6033546001600160a01b031633146106d75760405162461bcd60e51b81526004016106a4906152cd565b603454600160401b900460ff16156107015760405162461bcd60e51b81526004016106a490615315565b6034805460ff60401b1916600160401b179055603354610729906001600160a01b0316611f88565b6033546040516001600160a01b03909116907fca8dfc8c5e0a67a74501c072a3325f685259bebbae7cfd230ab85198a78b70cd90600090a250565b6033546001600160a01b0316331461078e5760405162461bcd60e51b81526004016106a4906152cd565b604051635ac86ab760e01b8152600260048201819052907f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3386001600160a01b031690635ac86ab790602401602060405180830381865afa1580156107f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081a919061524e565b156108375760405162461bcd60e51b81526004016106a490615270565b60335489906001600160401b03600160a01b9091048116908216101561086f5760405162461bcd60e51b81526004016106a490615364565b603454600160401b900460ff166108e75760405162461bcd60e51b815260206004820152603660248201527f456967656e506f642e686173456e61626c656452657374616b696e673a2072656044820152751cdd185ada5b99c81a5cc81b9bdd08195b98589b195960521b60648201526084016106a4565b86851480156108f557508483145b6109855760405162461bcd60e51b815260206004820152605560248201527f456967656e506f642e7665726966795769746864726177616c43726564656e7460448201527f69616c733a2076616c696461746f72496e646963657320616e642070726f6f666064820152740e640daeae6e840c4ca40e6c2daca40d8cadccee8d605b1b608482015260a4016106a4565b4261099b613f486001600160401b038d16614b56565b1015610a245760405162461bcd60e51b815260206004820152604c60248201527f456967656e506f642e7665726966795769746864726177616c43726564656e7460448201527f69616c733a207370656369666965642074696d657374616d7020697320746f6f60648201526b0819985c881a5b881c185cdd60a21b608482015260a4016106a4565b60405163d1c64cc960e01b81526001600160401b038b166004820152610acd907f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3386001600160a01b03169063d1c64cc990602401602060405180830381865afa158015610a95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab991906153f7565b8a35610ac860208d018d615410565b611fbc565b6000805b88811015610b7157610b538c8c358c8c85818110610af157610af1615456565b9050602002016020810190610b06919061546c565b8b8b86818110610b1857610b18615456565b9050602002810190610b2a9190615410565b8b8b88818110610b3c57610b3c615456565b9050602002810190610b4e9190615493565b61214a565b610b5d9083614b56565b915080610b69816154dc565b915050610ad1565b5060335460405163030b147160e61b81526001600160a01b039182166004820152602481018390527f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3389091169063c2c51c4090604401600060405180830381600087803b158015610be157600080fd5b505af1158015610bf5573d6000803e3d6000fd5b505050505050505050505050505050565b600080610c4884848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061260492505050565b600090815260366020526040902054600160c01b900460ff169150505b92915050565b610c936040805160808101825260008082526020820181905291810182905290606082015290565b600082815260366020908152604091829020825160808101845281546001600160401b038082168352600160401b8204811694830194909452600160801b810490931693810193909352906060830190600160c01b900460ff166002811115610cfe57610cfe614d78565b6002811115610d0f57610d0f614d78565b90525092915050565b336001600160a01b037f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3381614610d605760405162461bcd60e51b81526004016106a4906154f7565b346801bc16d674ec80000014610dec5760405162461bcd60e51b8152602060048201526044602482018190527f456967656e506f642e7374616b653a206d75737420696e697469616c6c792073908201527f74616b6520666f7220616e792076616c696461746f72207769746820333220656064820152633a3432b960e11b608482015260a4016106a4565b7f00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa6001600160a01b031663228951186801bc16d674ec8000008787610e2f6126fe565b8888886040518863ffffffff1660e01b8152600401610e53969594939291906155c9565b6000604051808303818588803b158015610e6c57600080fd5b505af1158015610e80573d6000803e3d6000fd5b50505050507f606865b7934a25d4aed43f6cdb426403353fa4b3009c4d228407474581b01e238585604051610eb6929190615618565b60405180910390a15050505050565b604051635ac86ab760e01b8152600360048201819052907f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3386001600160a01b031690635ac86ab790602401602060405180830381865afa158015610f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f51919061524e565b15610f6e5760405162461bcd60e51b81526004016106a490615270565b8684148015610f7c57508382145b6110055760405162461bcd60e51b815260206004820152604e60248201527f456967656e506f642e76657269667942616c616e6365557064617465733a207660448201527f616c696461746f72496e646963657320616e642070726f6f6673206d7573742060648201526d0c4ca40e6c2daca40d8cadccee8d60931b608482015260a4016106a4565b4261101b613f486001600160401b038c16614b56565b101561109d5760405162461bcd60e51b815260206004820152604560248201527f456967656e506f642e76657269667942616c616e6365557064617465733a207360448201527f70656369666965642074696d657374616d7020697320746f6f2066617220696e606482015264081c185cdd60da1b608482015260a4016106a4565b60405163d1c64cc960e01b81526001600160401b038a166004820152611141907f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3386001600160a01b03169063d1c64cc990602401602060405180830381865afa15801561110e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113291906153f7565b8735610ac860208a018a615410565b6000805b888110156111e5576111c78b8b8b8481811061116357611163615456565b9050602002016020810190611178919061546c565b8a358a8a8681811061118c5761118c615456565b905060200281019061119e9190615410565b8a8a888181106111b0576111b0615456565b90506020028101906111c29190615493565b612743565b6111d1908361562c565b9150806111dd816154dc565b915050611145565b506033546001600160a01b037f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a33881169163c2c51c40911661122a633b9aca008561566d565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561127057600080fd5b505af1158015611284573d6000803e3d6000fd5b5050505050505050505050505050565b6112bc6040805160808101825260008082526020820181905291810182905290606082015290565b603660006112ff85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061260492505050565b81526020808201929092526040908101600020815160808101835281546001600160401b038082168352600160401b8204811695830195909552600160801b81049094169281019290925290916060830190600160c01b900460ff16600281111561136c5761136c614d78565b600281111561137d5761137d614d78565b9052509392505050565b6033546001600160a01b031633146113b15760405162461bcd60e51b81526004016106a4906152cd565b603454600160401b900460ff16156113db5760405162461bcd60e51b81526004016106a490615315565b6033546113f0906001600160a01b0316611f88565b565b336001600160a01b037f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a338161461143a5760405162461bcd60e51b81526004016106a4906154f7565b611448633b9aca0082615708565b156114d25760405162461bcd60e51b815260206004820152604e60248201527f456967656e506f642e776974686472617752657374616b6564426561636f6e4360448201527f6861696e4554483a20616d6f756e74576569206d75737420626520612077686f60648201526d1b194811ddd95a48185b5bdd5b9d60921b608482015260a4016106a4565b60006114e2633b9aca008361571c565b6034549091506001600160401b03908116908216111561159b5760405162461bcd60e51b815260206004820152606260248201527f456967656e506f642e776974686472617752657374616b6564426561636f6e4360448201527f6861696e4554483a20616d6f756e74477765692065786365656473207769746860648201527f6472617761626c6552657374616b6564457865637574696f6e4c617965724777608482015261656960f01b60a482015260c4016106a4565b603480548291906000906115b99084906001600160401b0316615730565b92506101000a8154816001600160401b0302191690836001600160401b03160217905550826001600160a01b03167f8947fd2ce07ef9cc302c4e8f0461015615d91ce851564839e91cc804c2f49d8e8360405161161891815260200190565b60405180910390a261162a8383612c21565b505050565b600054610100900460ff161580801561164f5750600054600160ff909116105b806116695750303b158015611669575060005460ff166001145b6116cc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016106a4565b6000805460ff1916600117905580156116ef576000805461ff0019166101001790555b6001600160a01b0382166117625760405162461bcd60e51b815260206004820152603460248201527f456967656e506f642e696e697469616c697a653a20706f644f776e65722063616044820152736e6e6f74206265207a65726f206164647265737360601b60648201526084016106a4565b603380546001600160a01b0384166001600160a01b031990911681179091556034805460ff60401b1916600160401b1790556040517fca8dfc8c5e0a67a74501c072a3325f685259bebbae7cfd230ab85198a78b70cd90600090a28015611803576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6033546001600160a01b031633146118315760405162461bcd60e51b81526004016106a4906152cd565b604051635ac86ab760e01b8152600560048201819052907f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3386001600160a01b031690635ac86ab790602401602060405180830381865afa158015611899573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118bd919061524e565b156118da5760405162461bcd60e51b81526004016106a490615270565b82518451146119655760405162461bcd60e51b815260206004820152604b60248201527f456967656e506f642e7265636f766572546f6b656e733a20746f6b656e4c697360448201527f7420616e6420616d6f756e7473546f5769746864726177206d7573742062652060648201526a0e6c2daca40d8cadccee8d60ab1b608482015260a4016106a4565b60005b84518110156119d3576119c18385838151811061198757611987615456565b60200260200101518784815181106119a1576119a1615456565b60200260200101516001600160a01b0316612c2b9092919063ffffffff16565b806119cb816154dc565b915050611968565b5050505050565b604051635ac86ab760e01b81526004808201819052907f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3386001600160a01b031690635ac86ab790602401602060405180830381865afa158015611a41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a65919061524e565b15611a825760405162461bcd60e51b81526004016106a490615270565b8386148015611a9057508588145b8015611a9b57508782145b611b0f576040805162461bcd60e51b81526020600482015260248101919091527f456967656e506f642e766572696679416e6450726f636573735769746864726160448201527f77616c733a20696e70757473206d7573742062652073616d65206c656e67746860648201526084016106a4565b60405163d1c64cc960e01b81526001600160401b038c166004820152611bb3907f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3386001600160a01b03169063d1c64cc990602401602060405180830381865afa158015611b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba491906153f7565b8b35610ac860208e018e615410565b604080518082019091526000808252602082015260005b83811015611cb3576000611c6e8d358d8d85818110611beb57611beb615456565b9050602002810190611bfd9190615758565b8c8c86818110611c0f57611c0f615456565b9050602002810190611c219190615410565b8c8c88818110611c3357611c33615456565b9050602002810190611c459190615493565b8c8c8a818110611c5757611c57615456565b9050602002810190611c699190615493565b612c7d565b80518451919250908490611c83908390614b56565b9052506020808201519084018051611c9c90839061562c565b905250819050611cab816154dc565b915050611bca565b50805115611ce2576033548151611ce2916001600160a01b031690611cdd90633b9aca0090615779565b613169565b602081015115611d975760335460208201516001600160a01b037f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a33881169263c2c51c4092911690611d3890633b9aca009061566d565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015611d7e57600080fd5b505af1158015611d92573d6000803e3d6000fd5b505050505b505050505050505050505050565b6033546001600160a01b03163314611dcf5760405162461bcd60e51b81526004016106a4906152cd565b604051635ac86ab760e01b8152600560048201819052907f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3386001600160a01b031690635ac86ab790602401602060405180830381865afa158015611e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e5b919061524e565b15611e785760405162461bcd60e51b81526004016106a490615270565b603754821115611f295760405162461bcd60e51b815260206004820152606a60248201527f456967656e506f642e77697468647261776e6f6e426561636f6e436861696e4560448201527f544842616c616e63655765693a20616d6f756e74546f5769746864726177206960648201527f732067726561746572207468616e206e6f6e426561636f6e436861696e45544860848201526942616c616e636557656960b01b60a482015260c4016106a4565b8160376000828254611f3b9190615798565b90915550506040518281526001600160a01b038416907f30420aacd028abb3c1fd03aba253ae725d6ddd52d16c9ac4cb5742cd43f530969060200160405180910390a261162a8383613169565b6033805467ffffffffffffffff60a01b19164263ffffffff16600160a01b021790556000603755611fb98147613169565b50565b611fc860036020615779565b81146120585760405162461bcd60e51b815260206004820152605360248201527f426561636f6e436861696e50726f6f66732e7665726966795374617465526f6f60448201527f74416761696e73744c6174657374426c6f636b526f6f743a2050726f6f6620686064820152720c2e640d2dcc6dee4e4cac6e840d8cadccee8d606b1b608482015260a4016106a4565b61209d82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250889250879150600390506131f7565b6121445760405162461bcd60e51b815260206004820152606660248201527f426561636f6e436861696e50726f6f66732e7665726966795374617465526f6f60448201527f74416761696e73744c6174657374426c6f636b526f6f743a20496e76616c696460648201527f206c617465737420626c6f636b2068656164657220726f6f74206d65726b6c6560848201526510383937b7b360d11b60a482015260c4016106a4565b50505050565b60008061218984848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061320f92505050565b6000818152603660209081526040808320815160808101835281546001600160401b038082168352600160401b8204811695830195909552600160801b8104909416928101929092529394509192906060830190600160c01b900460ff1660028111156121f8576121f8614d78565b600281111561220957612209614d78565b905250905060008160600151600281111561222657612226614d78565b146122cf5760405162461bcd60e51b815260206004820152606760248201527f456967656e506f642e766572696679436f72726563745769746864726177616c60448201527f43726564656e7469616c733a2056616c696461746f72206d757374206265206960648201527f6e61637469766520746f2070726f7665207769746864726177616c2063726564608482015266656e7469616c7360c81b60a482015260c4016106a4565b6122d76126fe565b6122e0906157af565b61231c86868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061323392505050565b146123a35760405162461bcd60e51b815260206004820152604b60248201527f456967656e506f642e766572696679436f72726563745769746864726177616c60448201527f43726564656e7469616c733a2050726f6f66206973206e6f7420666f7220746860648201526a1a5cc8115a59d95b941bd960aa1b608482015260a4016106a4565b60006123e186868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061324892505050565b90506123f18a87878b8b8e61326d565b60398054906000612401836154dc565b90915550506001606083015264ffffffffff891682526001600160401b038b811660408401527f000000000000000000000000000000000000000000000000000000077359400081169082161115612487576001600160401b037f0000000000000000000000000000000000000000000000000000000773594000166020830152612497565b6001600160401b03811660208301525b6000838152603660209081526040918290208451815492860151938601516001600160401b03908116600160801b0267ffffffffffffffff60801b19958216600160401b026001600160801b0319909516919092161792909217928316821781556060850151859391929091839160ff60c01b191668ffffffffffffffffff60801b1990911617600160c01b83600281111561253557612535614d78565b02179055505060405164ffffffffff8b1681527f2d0800bbc377ea54a08c5db6a87aafff5e3e9c8fead0eda110e40e0c10441449915060200160405180910390a17f0e5fac175b83177cc047381e030d8fb3b42b37bd1c025e22c280facad62c32df898c84602001516040516125d09392919064ffffffffff9390931683526001600160401b03918216602084015216604082015260600190565b60405180910390a1633b9aca0082602001516001600160401b03166125f59190615779565b9b9a5050505050505050505050565b6000815160301461268d5760405162461bcd60e51b815260206004820152604760248201527f456967656e506f642e5f63616c63756c61746556616c696461746f725075626b60448201527f657948617368206d75737420626520612034382d6279746520424c53207075626064820152666c6963206b657960c81b608482015260a4016106a4565b6040516002906126a49084906000906020016157d3565b60408051601f19818403018152908290526126be91615802565b602060405180830381855afa1580156126db573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610c6591906153f7565b60408051600160f81b60208201526000602182015230606090811b6bffffffffffffffffffffffff1916602c8301529101604051602081830303815290604052905090565b60008061278284848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061324892505050565b905060006127c285858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061320f92505050565b6000818152603660209081526040808320815160808101835281546001600160401b038082168352600160401b8204811695830195909552600160801b8104909416928101929092529394509192906060830190600160c01b900460ff16600281111561283157612831614d78565b600281111561284257612842614d78565b8152505090508a6001600160401b031681604001516001600160401b0316106128f95760405162461bcd60e51b815260206004820152605c60248201527f456967656e506f642e76657269667942616c616e63655570646174653a20566160448201527f6c696461746f72732062616c616e63652068617320616c72656164792062656560648201527f6e207570646174656420666f7220746869732074696d657374616d7000000000608482015260a4016106a4565b60018160600151600281111561291157612911614d78565b146129795760405162461bcd60e51b815260206004820152603260248201527f456967656e506f642e76657269667942616c616e63655570646174653a2056616044820152716c696461746f72206e6f742061637469766560701b60648201526084016106a4565b6129828b6134c4565b6001600160401b03166129c78787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506135ae92505050565b6001600160401b031611612a6a576000836001600160401b031611612a6a5760405162461bcd60e51b815260206004820152604d60248201527f456967656e506f642e76657269667942616c616e63655570646174653a20766160448201527f6c696461746f7220697320776974686472617761626c6520627574206861732060648201526c3737ba103bb4ba34323930bbb760991b608482015260a4016106a4565b612a788987878b8b8f61326d565b602081015160006001600160401b037f000000000000000000000000000000000000000000000000000000077359400081169086161115612ada57507f0000000000000000000000000000000000000000000000000000000773594000612add565b50835b6001600160401b0380821660208086019182528f831660408088019182526000898152603690935290912086518154935192518516600160801b0267ffffffffffffffff60801b19938616600160401b026001600160801b031990951691909516179290921790811683178255606086015186939091839160ff60c01b191668ffffffffffffffffff60801b1990911617600160c01b836002811115612b8557612b85614d78565b0217905550905050816001600160401b0316816001600160401b031614612c11577f0e5fac175b83177cc047381e030d8fb3b42b37bd1c025e22c280facad62c32df8c8e83604051612bfc9392919064ffffffffff9390931683526001600160401b03918216602084015216604082015260600190565b60405180910390a1612c0e81836135c6565b95505b5050505050979650505050505050565b61180382826135e5565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261162a9084906136fe565b6040805180820190915260008082526020820152612ca2612c9d89615883565b6137d0565b6033546001600160401b03600160a01b90910481169082161015612cd85760405162461bcd60e51b81526004016106a490615364565b6000612ce6612c9d8b615883565b90506000612d2688888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061320f92505050565b905060008082815260366020526040902054600160c01b900460ff166002811115612d5357612d53614d78565b1415612e0a5760405162461bcd60e51b815260206004820152607460248201527f456967656e506f642e5f766572696679416e6450726f6365737357697468647260448201527f6177616c3a2056616c696461746f72206e657665722070726f76656e20746f2060648201527f68617665207769746864726177616c2063726564656e7469616c7320706f696e6084820152731d1959081d1bc81d1a1a5cc818dbdb9d1c9858dd60621b60a482015260c4016106a4565b60008181526035602090815260408083206001600160401b038616845290915290205460ff1615612ec95760405162461bcd60e51b815260206004820152605b60248201527f456967656e506f642e5f766572696679416e6450726f6365737357697468647260448201527f6177616c3a207769746864726177616c2068617320616c72656164792062656560648201527f6e2070726f76656e20666f7220746869732074696d657374616d700000000000608482015260a4016106a4565b6001603560008381526020019081526020016000206000846001600160401b03166001600160401b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550612fa68c87878e7f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a3386001600160a01b03166344e71c806040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fa191906159bf565b6137e0565b6000612fe487878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061420192505050565b9050612ff48d8a8a8e8e8661326d565b600061303288888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061421992505050565b90506130708a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506135ae92505050565b6001600160401b031661308a6130858f615883565b614231565b6001600160401b03161061314257603354600084815260366020908152604091829020825160808101845281546001600160401b038082168352600160401b8204811694830194909452600160801b81049093169381019390935261313793869388938a936001600160a01b03909316928892916060830190600160c01b900460ff16600281111561311e5761311e614d78565b600281111561312f5761312f614d78565b905250614243565b95505050505061315c565b60335461313790839086906001600160a01b031684614481565b5098975050505050505050565b603354604051633036cd5360e21b81526001600160a01b03918216600482015283821660248201527f0000000000000000000000007fe7e9cc0f274d2435ad5d56d5fa73e47f6a23d89091169063c0db354c9083906044016000604051808303818588803b1580156131da57600080fd5b505af11580156131ee573d6000803e3d6000fd5b50505050505050565b60008361320586858561455f565b1495945050505050565b60008160008151811061322457613224615456565b60200260200101519050919050565b60008160018151811061322457613224615456565b6000610c658260028151811061326057613260615456565b60200260200101516146ab565b61327960036002615ac0565b84146133045760405162461bcd60e51b815260206004820152604e60248201527f426561636f6e436861696e50726f6f66732e76657269667956616c696461746f60448201527f724669656c64733a2056616c696461746f72206669656c64732068617320696e60648201526d0c6dee4e4cac6e840d8cadccee8d60931b608482015260a4016106a4565b600561331260286001614b56565b61331c9190614b56565b613327906020615779565b82146133a75760405162461bcd60e51b815260206004820152604360248201527f426561636f6e436861696e50726f6f66732e76657269667956616c696461746f60448201527f724669656c64733a2050726f6f662068617320696e636f7272656374206c656e6064820152620cee8d60eb1b608482015260a4016106a4565b600064ffffffffff82166133bd60286001614b56565b600b901b179050600061340287878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061471292505050565b905061344885858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508c92508591508690506131f7565b6134ba5760405162461bcd60e51b815260206004820152603d60248201527f426561636f6e436861696e50726f6f66732e76657269667956616c696461746f60448201527f724669656c64733a20496e76616c6964206d65726b6c652070726f6f6600000060648201526084016106a4565b5050505050505050565b60007f000000000000000000000000000000000000000000000000000000005fc630576001600160401b0316826001600160401b0316101561356e5760405162461bcd60e51b815260206004820152603760248201527f456967656e506f642e5f74696d657374616d70546f45706f63683a2074696d6560448201527f7374616d70206973206265666f72652067656e6573697300000000000000000060648201526084016106a4565b61357a600c6020615acc565b6135a47f000000000000000000000000000000000000000000000000000000005fc6305784615730565b610c659190615afb565b6000610c658260078151811061326057613260615456565b60006135de6001600160401b03808416908516615b21565b9392505050565b804710156136355760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016106a4565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613682576040519150601f19603f3d011682016040523d82523d6000602084013e613687565b606091505b505090508061162a5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016106a4565b6000613753826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166149bf9092919063ffffffff16565b80519091501561162a5780806020019051810190613771919061524e565b61162a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016106a4565b6000610c658261014001516146ab565b6137eb600280615ac0565b831461385f5760405162461bcd60e51b81526020600482015260496024820152600080516020615bd383398151915260448201527f616c3a207769746864726177616c4669656c64732068617320696e636f7272656064820152680c6e840d8cadccee8d60bb1b608482015260a4016106a4565b61386b600d6002615ac0565b61387b60c0840160a08501615b60565b6001600160401b0316106138e55760405162461bcd60e51b815260206004820152603f6024820152600080516020615bd383398151915260448201527f616c3a20626c6f636b526f6f74496e64657820697320746f6f206c617267650060648201526084016106a4565b6138f160046002615ac0565b613902610100840160e08501615b60565b6001600160401b03161061396e576040805162461bcd60e51b8152602060048201526024810191909152600080516020615bd383398151915260448201527f616c3a207769746864726177616c496e64657820697320746f6f206c6172676560648201526084016106a4565b61397a60186002615ac0565b61398a60e0840160c08501615b60565b6001600160401b031610613a045760405162461bcd60e51b81526020600482015260476024820152600080516020615bd383398151915260448201527f616c3a20686973746f726963616c53756d6d617279496e64657820697320746f6064820152666f206c6172676560c81b608482015260a4016106a4565b60006001600160401b038216613a1c612c9d85615883565b6001600160401b031610613a31576005613a34565b60045b9050613a41600482614b56565b613a4c906001614b56565b613a57906020615779565b613a618480615410565b905014613ad55760405162461bcd60e51b81526020600482015260486024820152600080516020615bd383398151915260448201527f616c3a207769746864726177616c50726f6f662068617320696e636f727265636064820152670e840d8cadccee8d60c31b608482015260a4016106a4565b613ae160046003614b56565b613aec906020615779565b613af96040850185615410565b905014613b735760405162461bcd60e51b815260206004820152604e6024820152600080516020615bd383398151915260448201527f616c3a20657865637574696f6e5061796c6f616450726f6f662068617320696e60648201526d0c6dee4e4cac6e840d8cadccee8d60931b608482015260a4016106a4565b613b7f60036020615779565b613b8c6020850185615410565b905014613bfa5760405162461bcd60e51b81526020600482015260426024820152600080516020615bd383398151915260448201527f616c3a20736c6f7450726f6f662068617320696e636f7272656374206c656e676064820152610e8d60f31b608482015260a4016106a4565b613c05816020615779565b613c126060850185615410565b905014613c855760405162461bcd60e51b81526020600482015260476024820152600080516020615bd383398151915260448201527f616c3a2074696d657374616d7050726f6f662068617320696e636f7272656374606482015266040d8cadccee8d60cb1b608482015260a4016106a4565b600d613c9360186001614b56565b613c9e906005614b56565b613ca9906001614b56565b613cb39190614b56565b613cbe906020615779565b613ccb6080850185615410565b905014613d545760405162461bcd60e51b81526020600482015260586024820152600080516020615bd383398151915260448201527f616c3a20686973746f726963616c53756d6d617279426c6f636b526f6f74507260648201527f6f6f662068617320696e636f7272656374206c656e6774680000000000000000608482015260a4016106a4565b6000613d6660c0850160a08601615b60565b6001600160401b03166000613d7d600d6001614b56565b613d8d60e0880160c08901615b60565b6001600160401b0316901b600d613da660186001614b56565b613db1906001614b56565b613dbb9190614b56565b601b901b1717179050613e16613dd46080860186615410565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b92505050610100870135846131f7565b613e895760405162461bcd60e51b815260206004820152604a6024820152600080516020615bd383398151915260448201527f616c3a20496e76616c696420686973746f726963616c73756d6d617279206d656064820152693935b63290383937b7b360b11b608482015260a4016106a4565b613ee0613e996020860186615410565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506101008a013593506101208a0135925090506131f7565b613f405760405162461bcd60e51b815260206004820152603d6024820152600080516020615bd383398151915260448201527f616c3a20496e76616c696420736c6f74206d65726b6c652070726f6f6600000060648201526084016106a4565b6049613f98613f526040870187615410565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610100870135610160880135846131f7565b61400a5760405162461bcd60e51b81526020600482015260496024820152600080516020615bd383398151915260448201527f616c3a20496e76616c696420657865637574696f6e5061796c6f6164206d657260648201526835b63290383937b7b360b91b608482015260a4016106a4565b5061406261401b6060860186615410565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061016086013561014087013560096131f7565b6140cd5760405162461bcd60e51b81526020600482015260426024820152600080516020615bd383398151915260448201527f616c3a20496e76616c69642074696d657374616d70206d65726b6c652070726f60648201526137b360f11b608482015260a4016106a4565b60006140e0610100860160e08701615b60565b6001600160401b03166140f560046001614b56565b600e901b179050600061413a88888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061471292505050565b905061418a6141498780615410565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061016088013583856131f7565b6141f65760405162461bcd60e51b81526020600482015260436024820152600080516020615bd383398151915260448201527f616c3a20496e76616c6964207769746864726177616c206d65726b6c6520707260648201526237b7b360e91b608482015260a4016106a4565b505050505050505050565b6000610c658260018151811061326057613260615456565b6000610c658260038151811061326057613260615456565b600060206135a48361012001516146ab565b604080518082019091526000808252602082015260007f00000000000000000000000000000000000000000000000000000007735940006001600160401b0316846001600160401b031611156142ba57507f00000000000000000000000000000000000000000000000000000007735940006142bd565b50825b60408051808201909152600080825260208201526142db8286615730565b6001600160401b0390811682526034805484926000916142fd91859116615b7d565b92506101000a8154816001600160401b0302191690836001600160401b0316021790555061432f8285602001516135c6565b602082015260028460600151600281111561434c5761434c614d78565b1461436e576039805490600061436183615ba8565b9091555050600260608501525b600060208086018281528a83526036909152604091829020865181549251938801516001600160401b03908116600160801b0267ffffffffffffffff60801b19958216600160401b026001600160801b0319909516929091169190911792909217928316821781556060870151879391929091839160ff60c01b191668ffffffffffffffffff60801b1990911617600160c01b83600281111561441357614413614d78565b0217905550506040805164ffffffffff8c1681526001600160401b038a8116602083015288168183015290516001600160a01b03891692507fb76a93bb649ece524688f1a01d184e0bbebcda58eae80c28a898bec3fb5a09639181900360600190a298975050505050505050565b60408051808201909152600080825260208201526040805164ffffffffff871681526001600160401b0380871660208301528416918101919091526001600160a01b038416907f8a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4e9060600160405180910390a2603880548391906000906145129084906001600160401b0316615b7d565b92506101000a8154816001600160401b0302191690836001600160401b031602179055506040518060400160405280836001600160401b0316815260200160008152509050949350505050565b6000835160001415801561457e57506020845161457c9190615708565b155b61460d5760405162461bcd60e51b815260206004820152605460248201527f4d65726b6c652e70726f63657373496e636c7573696f6e50726f6f665368613260448201527f35363a2070726f6f66206c656e6774682073686f756c642062652061206e6f6e60648201527316bd32b9379036bab63a34b836329037b310199960611b608482015260a4016106a4565b604080516020808201909252848152905b855181116146a157614631600285615708565b614664578151600052808601516020526020826040600060026107d05a03fa61465957600080fd5b60028404935061468f565b8086015160005281516020526020826040600060026107d05a03fa61468857600080fd5b6002840493505b61469a602082614b56565b905061461e565b5051949350505050565b60f881901c60e882901c61ff00161760d882901c62ff0000161760c882901c63ff000000161764ff0000000060b883901c161765ff000000000060a883901c161766ff000000000000609883901c161767ff0000000000000060889290921c919091161790565b60008060028351614723919061571c565b90506000816001600160401b0381111561473f5761473f614f85565b604051908082528060200260200182016040528015614768578160200160208202803683370190505b50905060005b8281101561486f576002856147838383615779565b8151811061479357614793615456565b6020026020010151868360026147a99190615779565b6147b4906001614b56565b815181106147c4576147c4615456565b60200260200101516040516020016147e6929190918252602082015260400190565b60408051601f198184030181529082905261480091615802565b602060405180830381855afa15801561481d573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061484091906153f7565b82828151811061485257614852615456565b602090810291909101015280614867816154dc565b91505061476e565b5061487b60028361571c565b91505b811561499b5760005b828110156149885760028261489c8383615779565b815181106148ac576148ac615456565b6020026020010151838360026148c29190615779565b6148cd906001614b56565b815181106148dd576148dd615456565b60200260200101516040516020016148ff929190918252602082015260400190565b60408051601f198184030181529082905261491991615802565b602060405180830381855afa158015614936573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061495991906153f7565b82828151811061496b5761496b615456565b602090810291909101015280614980816154dc565b915050614887565b5061499460028361571c565b915061487e565b806000815181106149ae576149ae615456565b602002602001015192505050919050565b60606149ce84846000856149d6565b949350505050565b606082471015614a375760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016106a4565b6001600160a01b0385163b614a8e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106a4565b600080866001600160a01b03168587604051614aaa9190615802565b60006040518083038185875af1925050503d8060008114614ae7576040519150601f19603f3d011682016040523d82523d6000602084013e614aec565b606091505b5091509150614afc828286614b07565b979650505050505050565b60608315614b165750816135de565b825115614b265782518084602001fd5b8160405162461bcd60e51b81526004016106a49190615bbf565b634e487b7160e01b600052601160045260246000fd5b60008219821115614b6957614b69614b40565b500190565b6001600160401b0381168114611fb957600080fd5b8035614b8e81614b6e565b919050565b60008060408385031215614ba657600080fd5b823591506020830135614bb881614b6e565b809150509250929050565b600060408284031215614bd557600080fd5b50919050565b60008083601f840112614bed57600080fd5b5081356001600160401b03811115614c0457600080fd5b6020830191508360208260051b8501011115614c1f57600080fd5b9250929050565b60008060008060008060008060a0898b031215614c4257600080fd5b8835614c4d81614b6e565b975060208901356001600160401b0380821115614c6957600080fd5b614c758c838d01614bc3565b985060408b0135915080821115614c8b57600080fd5b614c978c838d01614bdb565b909850965060608b0135915080821115614cb057600080fd5b614cbc8c838d01614bdb565b909650945060808b0135915080821115614cd557600080fd5b50614ce28b828c01614bdb565b999c989b5096995094979396929594505050565b60008083601f840112614d0857600080fd5b5081356001600160401b03811115614d1f57600080fd5b602083019150836020828501011115614c1f57600080fd5b60008060208385031215614d4a57600080fd5b82356001600160401b03811115614d6057600080fd5b614d6c85828601614cf6565b90969095509350505050565b634e487b7160e01b600052602160045260246000fd5b60038110614dac57634e487b7160e01b600052602160045260246000fd5b9052565b60208101610c658284614d8e565b600060208284031215614dd057600080fd5b5035919050565b60006080820190506001600160401b03808451168352806020850151166020840152806040850151166040840152506060830151614e186060840182614d8e565b5092915050565b600080600080600060608688031215614e3757600080fd5b85356001600160401b0380821115614e4e57600080fd5b614e5a89838a01614cf6565b90975095506020880135915080821115614e7357600080fd5b50614e8088828901614cf6565b96999598509660400135949350505050565b60008060008060008060008060a0898b031215614eae57600080fd5b8835614eb981614b6e565b975060208901356001600160401b0380821115614ed557600080fd5b614ee18c838d01614bdb565b909950975060408b0135915080821115614efa57600080fd5b614f068c838d01614bc3565b965060608b0135915080821115614cb057600080fd5b6001600160a01b0381168114611fb957600080fd5b8035614b8e81614f1c565b60008060408385031215614f4f57600080fd5b8235614f5a81614f1c565b946020939093013593505050565b600060208284031215614f7a57600080fd5b81356135de81614f1c565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715614fbe57614fbe614f85565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614fec57614fec614f85565b604052919050565b60006001600160401b0382111561500d5761500d614f85565b5060051b60200190565b600082601f83011261502857600080fd5b8135602061503d61503883614ff4565b614fc4565b82815260059290921b8401810191818101908684111561505c57600080fd5b8286015b848110156150775780358352918301918301615060565b509695505050505050565b60008060006060848603121561509757600080fd5b83356001600160401b03808211156150ae57600080fd5b818601915086601f8301126150c257600080fd5b813560206150d261503883614ff4565b82815260059290921b8401810191818101908a8411156150f157600080fd5b948201945b8386101561511857853561510981614f1c565b825294820194908201906150f6565b9750508701359250508082111561512e57600080fd5b5061513b86828701615017565b92505061514a60408501614f31565b90509250925092565b60008060008060008060008060008060c08b8d03121561517257600080fd5b61517b8b614b83565b995060208b01356001600160401b038082111561519757600080fd5b6151a38e838f01614bc3565b9a5060408d01359150808211156151b957600080fd5b6151c58e838f01614bdb565b909a50985060608d01359150808211156151de57600080fd5b6151ea8e838f01614bdb565b909850965060808d013591508082111561520357600080fd5b61520f8e838f01614bdb565b909650945060a08d013591508082111561522857600080fd5b506152358d828e01614bdb565b915080935050809150509295989b9194979a5092959850565b60006020828403121561526057600080fd5b815180151581146135de57600080fd5b6020808252603e908201527f456967656e506f642e6f6e6c795768656e4e6f745061757365643a20696e646560408201527f782069732070617573656420696e20456967656e506f644d616e616765720000606082015260800190565b60208082526028908201527f456967656e506f642e6f6e6c79456967656e506f644f776e65723a206e6f74206040820152673837b227bbb732b960c11b606082015260800190565b6020808252602f908201527f456967656e506f642e6861734e6576657252657374616b65643a20726573746160408201526e1ada5b99c81a5cc8195b98589b1959608a1b606082015260800190565b60208082526067908201527f456967656e506f642e70726f6f664973466f7256616c696454696d657374616d60408201527f703a20626561636f6e20636861696e2070726f6f66206d75737420626520617460608201527f206f72206166746572206d6f7374526563656e745769746864726177616c546960808201526606d657374616d760cc1b60a082015260c00190565b60006020828403121561540957600080fd5b5051919050565b6000808335601e1984360301811261542757600080fd5b8301803591506001600160401b0382111561544157600080fd5b602001915036819003821315614c1f57600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561547e57600080fd5b813564ffffffffff811681146135de57600080fd5b6000808335601e198436030181126154aa57600080fd5b8301803591506001600160401b038211156154c457600080fd5b6020019150600581901b3603821315614c1f57600080fd5b60006000198214156154f0576154f0614b40565b5060010190565b60208082526031908201527f456967656e506f642e6f6e6c79456967656e506f644d616e616765723a206e6f6040820152703a1032b4b3b2b72837b226b0b730b3b2b960791b606082015260800190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60005b8381101561558c578181015183820152602001615574565b838111156121445750506000910152565b600081518084526155b5816020860160208601615571565b601f01601f19169290920160200192915050565b6080815260006155dd60808301888a615548565b82810360208401526155ef818861559d565b90508281036040840152615604818688615548565b915050826060830152979650505050505050565b6020815260006149ce602083018486615548565b600080821280156001600160ff1b038490038513161561564e5761564e614b40565b600160ff1b839003841281161561566757615667614b40565b50500190565b60006001600160ff1b038184138284138082168684048611161561569357615693614b40565b600160ff1b60008712828116878305891216156156b2576156b2614b40565b600087129250878205871284841616156156ce576156ce614b40565b878505871281841616156156e4576156e4614b40565b505050929093029392505050565b634e487b7160e01b600052601260045260246000fd5b600082615717576157176156f2565b500690565b60008261572b5761572b6156f2565b500490565b60006001600160401b038381169083168181101561575057615750614b40565b039392505050565b6000823561017e1983360301811261576f57600080fd5b9190910192915050565b600081600019048311821515161561579357615793614b40565b500290565b6000828210156157aa576157aa614b40565b500390565b80516020808301519190811015614bd55760001960209190910360031b1b16919050565b600083516157e5818460208801615571565b6001600160801b0319939093169190920190815260100192915050565b6000825161576f818460208701615571565b600082601f83011261582557600080fd5b81356001600160401b0381111561583e5761583e614f85565b615851601f8201601f1916602001614fc4565b81815284602083860101111561586657600080fd5b816020850160208301376000918101602001919091529392505050565b6000610180823603121561589657600080fd5b61589e614f9b565b82356001600160401b03808211156158b557600080fd5b6158c136838701615814565b835260208501359150808211156158d757600080fd5b6158e336838701615814565b602084015260408501359150808211156158fc57600080fd5b61590836838701615814565b6040840152606085013591508082111561592157600080fd5b61592d36838701615814565b6060840152608085013591508082111561594657600080fd5b5061595336828601615814565b60808301525061596560a08401614b83565b60a082015261597660c08401614b83565b60c082015261598760e08401614b83565b60e082015261010083810135908201526101208084013590820152610140808401359082015261016092830135928101929092525090565b6000602082840312156159d157600080fd5b81516135de81614b6e565b600181815b80851115615a175781600019048211156159fd576159fd614b40565b80851615615a0a57918102915b93841c93908002906159e1565b509250929050565b600082615a2e57506001610c65565b81615a3b57506000610c65565b8160018114615a515760028114615a5b57615a77565b6001915050610c65565b60ff841115615a6c57615a6c614b40565b50506001821b610c65565b5060208310610133831016604e8410600b8410161715615a9a575081810a610c65565b615aa483836159dc565b8060001904821115615ab857615ab8614b40565b029392505050565b60006135de8383615a1f565b60006001600160401b0380831681851681830481118215151615615af257615af2614b40565b02949350505050565b60006001600160401b0380841680615b1557615b156156f2565b92169190910492915050565b60008083128015600160ff1b850184121615615b3f57615b3f614b40565b6001600160ff1b0384018313811615615b5a57615b5a614b40565b50500390565b600060208284031215615b7257600080fd5b81356135de81614b6e565b60006001600160401b03808316818516808303821115615b9f57615b9f614b40565b01949350505050565b600081615bb757615bb7614b40565b506000190190565b6020815260006135de602083018461559d56fe426561636f6e436861696e50726f6f66732e7665726966795769746864726177a2646970667358221220ecc0e0f48d4c0b0772cd342e0c1c3343fb3991fc3e16f1d59c5240360646aa7664736f6c634300080c003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e03f001cee127278bf7de69fe2f718a3df292006678bcee6b0fa7bebdd5c00701195c2805581e037614a27d3eaf32b4f2d2bd5af2ef099e14e2437fe99b3cac64f91dd110040103d55343e25b50647f4a295fc25ba2cb7692122efa830d6fcdfe04747e6d34780c03e7f617c17db40ca81b4408f440cee1c8a5ddddc7d0a3029521b051825cf5c4b105581e0337a418c8e674bc33582abace8d8e393ff428ba1e025a58a5c608678e20040105581e03945b8bfbc7e1f999fa1b2a4890b0724e0d5935b64699524f982600cb40040305581e034b6f56cabe9d88f33e4fba1aae7e73b46efb71185128b02776ca0f87f0040205581e03939a9f35d9c1555f4e219c3b9b2d6783649c9383a3ce8a28dd5c260210040103a7da30b1fc9674d4ebeca74f481e38eb1928c9f0843549671467665e5b99e228037479e2ab588d05af240552e51ea2eacc4f841f4f83c751be50b1f1347add1d420219f3af0389b30398ae122f36096aee1f68e633cf044fd0a699a3800ce54b16664d5b4e1503457cdac6265d23e30a32c52c7a53ce1e33fabfb9ee9fd02173f31302154798af038eb7e7010dc3f38cc22a18ac47e5e55364f1e42c2843d6a4432611620576828d031733aac77a8d41f5069ce84229a90945a31bf3c58884d12ec6803cb117c96710030fa6bc481d2581f38b9b134c48ce9ad0284a8572ac96ff9c83e1a7ed550da80b033720ffccdb30ae17ceeb793d665f841d5e588186eb04a153ad96f52ccd74dfb903a393b3a61a4a25195e479765df8c342f201d6dce265a58dd8eb349b9bda3c16403d631f7211d7cbf46296a36f4cc44d8ee253d648eebe6e3f082785f470c916a3b03f71f720dd222dfd8b1b5ac798d83721dd8104d0523f584090bb71fd21875579e0313b891a1ebd2ebd0ffae5313f2b9bc4894aa3cdcd026994c41f50a56eadd47f80219ffff0361e2c01f9b768db92f17b10b5d8b7daaa7f5e6ba9fed1d5258916716157adcda0219ffff03b9654dc0bbf80881708ffb26925308bfd3ef48069c76782699980b566afece5b03ee1297d0551969ea017888aab154bccda075dd67b3333bf083a74fbbb2c9149803cada6802dd77e13da82b9166be705736b8cdf47f498c09868a04842e5c70ef71038493aae4f51c974f087cd9ebfc255b6e01fb3bf9e448c02d5d677a2b211d5b250357c04ef18ded40ea7add57a508792a7a548cc23dfb861978aac9155278ef5af30335cfff297ca4546fc23c34441bb1e0ac592c94c9cd7519df5efd7411a93b267403a202230d49b10137a2c661980dd91b2fb0ad6ae009ed156754c8e3258e0ee2b603ab35c8427069389dc19424c5625c1455bf5428f9619769fe1a6ea8ce69b6a6ac03463d126c01d97254506dfc1fae818a8aa26c8747723e6e9588f4021e2f0463b9037f60196c8546ce58060554faac04db02fadbe911b09917d14974953469e8a4800341a95fbcdf4b5d02451a335dc1d02b11a10f4917f10ea26cd2cd8aa30b968a620333efe7414dddc3aa3bd883f91486b3e7b11ea93b9f6f4775fb4314c6d203416c035a6e3bdb3b926870d1ae0a81cc04f16c11a9a3cccc901a80edd58ef72c4c0db003830eff0915ab462a145d89895c179285c01d3ca900740c98608c00283b7ef3cb033a2789f99f91ae2cfd69a1197e4c08ccec346d28654a97fd2ea356bb3db058520219ffff031077d64f8be7f8fc15cadd561bf08721679e979740d8af3df06637806303f89203f7bc2d213f2a7273746a548c26301d9caeb106b7dc5e006f20d9b1f810fbc1fa0370632a11196e328025aae104872b5291dcc7d6b3c3e14afa4e607438d32777e503068d9b2c13e497168f4a382661f5ee8ad1a0b1e00578b2f2fc53e2caf1b9d8f703b605e49a0de565aed166ea1ad53befbea5cccb66052db5af95adbe718f749fb803b2397369bdd7948c7a5429b83388fb84ad9e8c55783c6aef03028831304cbc0f033589d2e863a4eaefc5de7b6eb4812f72f6adc083da96d0c87f08000253cf0144030bae54727485b2a7cd42b3d6dfefbc3efa7a5c3f7137b40580c628c9a4f0010703554852b51453cf9188d6759f2658b4bcfa8770850993db5e626ee04dcd135d8203371c8a13006315cae2e26d2a38e8a8ddad87410a16c976a589ac69db312af53a03d45095e96ab585ca1ea8aaa471ac683fa28a2fc75363c74a2f0d2d5103f18bd9030fbea16692f408ce1057493c8d9c8d90e680153b919528671236b8fe8e9f6ed30367ada96c504951b7a5c43024cd88cbaa2635bc5e2f4f2e486f6ba1ce617d95fe0364580239a6e7e6d85648bb45c1b3a7a367d87c1cc6c28f7580b4c415254dc15603c69caf309a7698a155a3ebd5c35b747dd0041d3715e5e15c02b12c483a2cdb0403ccafe1346f25a15c465a5c937d4063c84515ca50c0c317dba45118c86167444003790febb2fd9db620a6c7b37a1dd0fa0dfd574eaece56ec3a7741d33744f5fd96031af8ba95ce09273878499fdbd0e4f2a54432464f87d2d84ff1ce44157a9244cd035fc3c520ae2bda55edfabdc3aed7566f080d690e8f8e1e0999a4f1fc06af15180301de1481376257b79a5b8c36fb3a1c15e034d91199ccac7165d99e710caa760e0305652563e0a9df9e20aa03c59857c75af552ed31305bcb07b74ba1d9002110e303c9f1af7f22ec54c7d2e81bcb84d7616cde7f452df48726621289bbd6dcab884003c143246926e3e6e1395f1b709248674095dd81784d5ea957c563ba26d683bc0203ff9ed8510bae6f643405f862148560f4d0873acc4e83c4762393d02d8bb2f9930397fbb47ddbb20b965b0f66a6fb700a5d435ce4cce8e896417716b888dae312b9037f65a5c9f2cc430682996ab5e5128eb9db72b022dd84e3be11ca40991890831c05581e03708674a2bb9e2b087fb13cd715f5d4caf6c181cc76bec1ea49ca62eb30040303cbf5118b8a2d3fcaedab8b469525195abfeddd256346f3fa701706ba40631a5905581d02f96873a5709fe96cddac98bad3dc9fbbc0a8b5ef69ee0858a7540a4d0c0346eaadfd4e2a0005581d02b7fd0638f2132b765bb8fbaf393a9ecffe1a9107f680542a4efa009b0c186148025ee28148dc029d02190600030d16b05739a1b5c745f48099241c2d081257a3c6fca08e85f1a857599b45a4c303a2639f8bcfb3a0a02255220dd4d5cb6bc4376357df4e896e9c163048a24e5c2705581e03848bd42381fde7de3e3de00f1bf7b940b6f0f88f1b7150c386efc10e0004070326a98a4ff05e5e0cffa5f5ff2c44e8ed35a188cd56a3035709cf87722864875903fa69b87d57b155ca27b93b45ec91bbcd3f9dacbef17583497fc82d25824c4e4105581e03fd8106a91a5f3674337265482819fc71ab152484daf5217b030cf336c00402021969b3037a1c6c20046568ba53393a4b622d728162c24e0aaf90e9d0ee755f55a677f8dc03f8080eb3736f647a2652151a69c741797a6a7a89c224028356552cbb93974b49033151b348a4a9c7e52480bed1f6bc79cf73cf7231cf53088077a39db7baa9018503666b07789ede020a45ad81fe6060d060ece330df3b796807493648259820802c03fbf27eef292544362c54fccb30c800f9df5cf9df2956adbfc7b60242be3ce90e0349c8bd714661565ed198ced38f08fa2c344df1156b07cfec79b6bbfc05f048c20331c5812081c7cf60f4c9cfac5122f2a1d0c2fb7455e5fd8042d86bd4002bcfd9039a275668be66e2f8ab2ae47a3447f4f7707c4432ae4d105f81afefd0c16d0fde033b19083669ca4efa2960fb6de9a83304f87c31b37478cf37c7147978e50f75240219ffff03df97b11179d9410d2332ca93f8f8e3a5f2958680281a62a3127b5928d2fc2b3703612de6d545bf8f0084c51481a0a5ec38d26243700f772418b88b1189deec66500219ffff03047c96ce74dad20b96fdd1b4866745ff101df8ba4fae407a657eaf76d97a9edf03697b929756f7acdc50efc891e117c8fabcf083f82d09e440136695c2bd8d865603e4857f9b13656f3828930bf94ed2b291ce4d27f2ab39297622e7011800f65d7b033a3af125872b223a1dd26076788939ad4f0239db448258630c290a157d8288c803e0534f3c5f5cef32f10c95d8227feec9aad62c7e1f88d466b7299a905aee73e0030031f40f1f0bba3e0a3fc5494eb9683e733937400832a4021c6817aeac625d5c0370e7b4a9b77ce8d561c21a2721333c41b57720782b5302207d7f1cadc28d8c7603090fbd4849d462d2109172d5836264c09914403c06c8a35bf1b300837b2c01dd03001e91c58e76383d00ca7d6d0389b13c0e720406739f4aa923825391bc1f3e2103760b5c72bdfa10cc25047071200e17a086d8a08ab64e4b17584a3e3398d30be60332c10684bb7fac573a248403b8c98d1b4967d5f121df6499376e5a69aab221d90380651efaa8f5473fb1424f51a98ff00050335b1782d83e5e8e12ee08377cbd5203b81fe68e4fae03eb2fd2c2742c8d7493aec5c3fe3693f914444fd08d836454d90358ceca4db6cb2e2effe4a445662dc474847d1186b0d409ea5528a2294445168a030cfbf2ee0a5f45390d6718d274a62a2f45a16cfc11b8d705e6069d37ccf3ba4403de87ee138e785a6340e5c963a1ed94787925c3540fb3fd1b7e5e64fe7cc5b4b3032120c7719729b5cbc0b60080dc8804ee2f7b5c22409efb7e322c6bd9ab22cfe2037bebf7417f993fa5e4d737a482101fa219203e17bc43f2005b7b1cf428f8c7ba03ddbc0fc1b6a64bcfc9f7a2be11602ac72e394e90fcae1e460ab919e49bb6631d03c9958754bdb1a9c702416f32a85b5d897a38b27167be70adbf8fd278404fbced0371dc573039e21df1c96e6f0f2b7173081ff9b069df1da9b26f2c8b533f3d630e03c6c42c2831337a743bc3620b0e3b4495eb5f62faf3b8eb396c0d0c5ea2bca35a03e461eda4ac827bec2dd726741bc967ae9066558cdc781d4ab91b39203f6b484403ce7d3db1c30744d4d7ba5c78e85dcfc0085a03faf76590fa8b670892683a76c2039289677e901600a97f59f12f49c5d9e34add9e8bbd1eeaef1198928a05c2f2c905581e039bbab9c44dce2f2137e41e49b93c7507997f48f585500aaab09f701cc0040105581e03d8a7804c4e734d8a04c0c56906d91a91abe52b88c3b8adf389430c66300c0245d06228360005581e035cdb21e6aecabded65b48cc56869ce23ccd4fe0174d17ec9343df66b400847a5d69aeee72a8805581d025d7e3142418601b570ef10a2c69f838cc48f08b6dc0a72e34b5e21a00c05472a71fed91c740005581d02004102cb4ac0e888213fb03bd8b2bbea26d2222393d160c16cadabf80c1a0017f3d749039955f6dfcaf4f11d02190102035dbd73cf75b3ddc75c3cf9f3865d56e5d34d0eaf6e5209b43d178e40fc886b9d032437fce9189b35b663608ad13e5911aba1c498a9d078e96706c7ea1c28f7f7110382fe80ed6adb3744366b4ebce73cac520dbeb21f530e0f5ebe6e610f6ce792f805581e036acd166f2228b9102cfc6b6ca217a84692bea68ae1978e5cecafa009f00f0141051bffffffffffffffff0332b930fe2ddb74fc59d2c942a6f1383a25a6a686b8443730cb92598cce73e1fb05581e03142fe6ae90f684413dac497e66641cd732ff685e68507905f4e2ce1a900c014633d504b4ac0005581e0311078fe3be11907de12ea09cfbe33bf85ae6ea9a3201adbba84ae6bbd00c024657061754cdf00219c1df0360b6067eb101a08b6263e014f4c36f0f24bfe158f26a864866e393e859ede6a7035ed65972c22fbf9ec003d9f363b6c27440773615a1cc16de164496c893cbe13b03fe3b91efc401367772c0ba0928a0a94718ba3caa3ded370a2c778a514fa438e10346aa913a4d87327e06ee5e43dd4aa4806e961f95134fb2fe02a7a9a4faf6bca0032243a199e7066ff88e8078e36190786779268744e675d1f01d07f4ffff37e84f0396c777cf3f11b80693605dd0a4243983b2ee591b7d3633a84d8ec98a04f769c00219ffff03858d34291c416491a9d29f3701e6bba2a7951656912451be3b02545394ad4d1f03f33b359216fc0cd585642ab73527963a59509b01fb68bfe4f70634a79b82f40703999c4f368a2aca272da251b38ce253b963ab46ee91eb279e63264a9334570626031e983da3b4d39cfb3400685766eeacda1b4053c20494e423783c8c941e169b090219ffff03c65996a93cb556d24866c2fcbd76bbf70b3f4bf866dbb2b639a2661464f213d5034421ef8ed9fa813ad4680af84e34ebbf6c332df15a699f3b1b5c041c4077faff03d9b5e154aac177d5fc7478f6125ea935cd3b9093b624958696b0482ec4d11cbf03807bc7c6f9ca34f9554b4d3e65588d5ba8559285e717f5712220202780aae93c03e4315e7b75b5b026bfacc11d380b27d31f1f6abd816c54e1e8ab45f667e32dd803beffba23e4f19154d83f3f472de312f68da49b3bc5640fb428fd48e7143492740219ffff03ef1fcee21534a861f9fe48c5b92770722b56d7fbaf1c4bf5d60bfda9c805650b03a729fbef8ef2ebbd486f8c5f583aabf4e0b3be2e645006d5c63a2c04c348872103837971b98caa7fe9fab0f183427c52a80f93481f8a0101fe092dcfc92f90031903d7bb94ce44eb323843c76deb7137a69c024ed8292ed728dcb435568e1f941fc503905eae459b0d394474d54e42f2db87ab75af25f7da7dea5eb24c5f820ebfdda90310abfa672f16b0aca83c94465c6424d53416d999b1e593147e12532a9d80ce0103fca126fc5b7a9d00409090306ec73716e894c8d64c92bdbfde95b3c913b03a85039aafc14cc24696c0bb4f1d5a5b154042b2598e7ee64b86cfef348b539c2b2bef03ddb3ee77d677608e1aa00d32fe4f76c976cc5d22dd71325c29ededd1dfc1b037033ed1faf48a98cad13c41f7bb652b69bad5982d636cfa27f7d9b9c4ae33149b87038b431409426567a418212c58fef8bc33c3f502fc9224c2c0d3cbedfc078a943003772a381bc3c07a746cee89858014e58d2db521bdc11771a931b4cbdf7d23048103541d3e41c76e7c535dadf4a79c1645cc94c7cf3cd7c3e9486ddb7aa536a7c53d032af4cee457db701f1d1b643b88be8095f5a06bfd7321b7345c8aa152cc5d9e71033c2bd005a560f27e4a421aaa845d2cf804f15b6c1a4a97bd183efbcba2278b7c034d61000744e0e2f8cc9b5b988ad870f21ee6404d5dff8203a83c6072eb33adac03129d3f059deb2703f9e9fa4c39c2b0eae27c536ba3599759eabfa38b1e5f231f03cafd22a4e8c57e92865241c571743f3e20bf35555e00d901b41bd9009a95ec9f03b103f37e4bd480f35d82f09ddc4d11f5137b02b06d217883b139f88f63453bc903be4cdf979078ff4bf6a58d1cc69dddfe48c0213d69753384b9654498f8beea8a05581e0394d5b853324b017d871bd28103f7b6b8d9e2e24b6f7a95433bd4dc1ec0084708c63fe844278e03ec971e0a56775ed2a5c173682b5114fad25d5b3715b0aaab22f638b75353f80501410205581e0359d2f1616efc45d5576b6156ef8bc1b119cfa1af445c2c10e019b141800403031a5a6464d6fe61bc117dd1fb7107f93670da6aceb61fb5124271cc2d896a554003d00d9d6601bfaa2a08576e4fe7b9021e850899f71ea5a0614e4fcd8e970ca3e905581e03bf913d85f805a6b026b5feb77a59c9158d21da451fd9fd816b6560a7e007011bffffffffffffffff033be6076dd8228e6f5997a5628c7b1c5bb63811d71f7959419fc2f6b835aadb6205581e03934e2fbf5514ba7841faf2a79c8223926d2bf77d114633174205bb3ec00c18ce469a2a5775655005581e03b29de7a27b0c123d1244878769ea7c7b914002d67972b59548a65f51d00c014614f14e0abb4005581e03008f105cfdad50763c793344a4ad6e1ff5bf1dd8784dee1201c3db2c00040105581e03de079e8127e71c2901a8995c331206bbec6d40943981a651b4dc0c5360040203a81c5f7d62fccbdec0ea2967414266785e7d98a7d550cbc9d5da321d997820f705581e03924528e07e3eef568004ddb2f98418425c31030770bd637849691e8af00403031abdcf4fa20865ff5ef459f8619f0ffaacdb833fe001018bf2599617d9b42cd20219f93f0342efed50350d26fa7a298715aa732c214abf0b9b6dd63f03a109b89979fffd6703d1fe67473cc71499839cb20305dc6168af9c4a6b662e64bb774b72e7ea956e5503a6dd4b56b030546975f8b2a8252331910259122cd88c8ca71603fac2746895e30352d8bbdbb2b11a4ecf3ec56502e7630adfbeca58ab22a65edaef167241dd7c100316a66da660d19498273bffe8ccb2bb4d065b78d5ab273ffce10f1674aeea01e20374f40e28b3d4ed03eef7a5320e828e42ac2580eb303e300039b370317003553e036273c3da9f50f71003fe71ade212caa449d20d494341b3d6502f1b261340e99203634f7d0a8a0cc030cffd7d8498fa2185dd25736834489a90b7daacf65157df1803ee8735ad75378a360187c32a29db724ffbe85f0151abc918b73125cf8a5263b70391d0df752ed4980f5d8b2e43e77cef6c20bc8a0a30c26f85bef3de92b8cbccfb0219ffff03fda71ff38a16541f237555b8c958967dfcd5f2097fdf5ec2588c6c508ea426c9030ee5d6ca83fe81d5d5b4349cdeb2f91f2aa80107ca9391b4caa499d3b4d1ccb103b720f2e4811480721e63067e350066913a16cd360e0347e370b4a0b4f64f663203355b69df8a61b863aba3bbdd76985c08dabceb61083ea7fe3175fd780d0f002c034e9625fb64d1f8f0960906ddd38d50a95e124b83edcc880da946fbc50367ec99039aadbb9e217802b79fd100cf59b40afbc990ae2e5c8857819d6ea54063e24f26036508bd6c2a6d4371e76dde69888de9039a4a7a1befb5add3eb6529acb3a2e86f0389e84e1e941ebea2032a65811f525c19c428c1fcd3e914fe5594c17fdbbcaab80314432b6f3cf4bbf5311a08689a7866e46a5e601aadbc7c3d9196ddbeda28018a03a5fc80f2796f8ff00d17277a39f8f1238b2d926464d72e384ecab71986d4a8da03f64d54b5a0ab89144cb7a390fbf71933b36158e2d8cb95031de43ea112201740030e609ee500c5745a0cbd5572ec6fa65571c31d1b16ed191a43e3a2c788f6eccf03175795ef127126ad3c30fb50e2eedd0c357ee89a0f26940fe59bed9e7b5e16bb0219ffff03ac0b8d487a336c0ed7e9fd2aadcfbdd9996e47d5f4386972eb20002b74cf797a034c86c686487865aa7031b21c8ec3e846350258e33283b96194e4625a52e203c20370708b8da66c951251cf4c79642be725cf452594bf064c1303580343c4ab3af403f6ca0beaf6d7262320f8b80a3b88b4991b76ec49c806bab7ff150ec3a6875afa037e5e1562fa50248aac3916dc3cc90e44682fe78df0c4266e72bdb1bfa8d4e03d0219ffff03f72c0bd3fd8b72afe2e2498e9fbf9825d638926ddfa7181469cbed681d974caa0307a6b6ed496ac33c84a1b6befd8fbf67b8f332de18d2f0b77b1405e6bccc766703f5590c8d0fdc5987364192422c12c3924eb0a61f930a85d2f44f8c124121cf76035d86752d0c28d9a49c04a3cef0e309e6fe1c8316d28755d21cac00a6a671c7a403894b44369fbefdd0acd97afec0ca71a7b869a29f3906b05e053c6c21457100d10219ffff039151a23050b45cb90259bd841e07231df543e354ac90a44ffc0f99b101d49aa4036b83d986265b8be33b7129c53fcb00d491796b5667114136784f6ffc4b112dfa039683bbd8ef7a345d9183cdab142dbd0f2ab953447b19a5b33d8dafb1c49e1999038efc69bdea8713907eca79c78ef0ee9e07eced97606582eb0e594fbfecf138a7038d8f80095676b083462e79ea1bac3a45a79e21df0c0e33f58a53643f67d5ace403d4c66fca8a77ee40dc319d73f11aaf6237dfe6c4f50951d6eb0ee9fcb8d0005103ba3b366ca8be8db98420164544fe86d36c447e2d2fdf40517ed9f107c328897403b6dd10142ce8a16374b399868d49568cdbdac4d1f017498d7c32aa109470de480363b0809a0c3ff7905279f978e39b181dcdbe1395142cb96a9883ab7cb208328d0371b6e2d67aae07d8c2152313caf5e7c17cfff7e233a3d3316269565fc8901f8e03d2f8897fbca831374668ebf818c78a4ee74b456c6cdd5a4ddec1042567d00b0303f045cdecb68b99f857ea2692610aef352af8790802ccc81198deba743ea44508039b3f1883057e84fb84ae82743feb1cf24d322b6ccede3f862cc501309a73d3b00398f9fa52d871b485faf0b7a62f922ef7eb4f768a22a82267011908a0919ebb1f03bc3a6f3e3366d25ba334ad1df4686e44df02bb86649919db8b60b220190f9e610340dd18a68d0545a89ce631a04adfbb992dc540803235e3df9ca7b626f0a775bd03d49f3dfa298ac96159e0559454350648ada0431791b8a210ec4856ecb700e13503c9c31bfdaf3de774ced666b18f5749f19fcfa4f7179d0c5f42ad2f702be49b330365363de0dfbc6a2b3616a75241f1f853d1258fe7cef7368664b4ae3839403cfb03deb5ba2280c12d4bdadb333bcb821f68c6894999663ca5827ffb9e869a54e88103c32d9fffd92397cc3d2e7be2cbc3e0a9c8aaa776fed0146b84a1487274de54e403ddc87f24de5fce1d969bbfb811fd52df2b45a9fa770cebc8a8063d6f386ade5303798b93de495cbcf00fc198b14ebf3def8f755637f90680fd2378f805921e32b603a41186df4dd5ed0286b4f35d1d66e575578540a7121bdb02528159b2611dba7203175202c8e0cbf60d8f0a6ba4084d1f16a56709cdf8f3b748674164d057161b7a03c4e2291e57199c508ed4b0eea704d1929b2597e5ef5357b1a7e8a7b272513dc9031e5320ed80e464d1173102f86b459ec936be1a0f3871749f43ae9c870407605603bfb6d38d2beea024bd16a5bd53878fa092b99ea303322ba0e0662db1be5362c10326e99d09659397f62d4e5181b191a29fb245ef0cac75ba45e895e805ec774cda0315c7f25b42b421f8f19286000c36b90a038e62a437d225e10b0979d3a44e90d40337aa73fcd40bf62930789378331bf94d39086029bdb2f94c7a458d161b8e1b2503a88135f6112028b2aa164da8c7c16de9de353c678bccd9b9aa7d3f92302553ac03ba27aa865b9d524504d7c2e996217d902e11ba74cacaafee9538179e36d23eb3034048556c193b6c4d26f5e2fd844e3ff6d574085b696abe6965a97e03ef8ce80e05581e03259aa55acaf0941a9efd53e48707cf29a654ea080ea99ffe2646827cd00c0146c8b465a74328035eed8a5b1f9af67bac05426cc0e0eba4a2f6218f178470ccda50a1aafc227e4605581e03ea71723fc8adc33b2f8533b93008a1c736deed363c7024bd1d7a74c3100c0147020e8cc7157f1b03c07ae66b0bd5d69abab6e10248a35b0bec5ce8f45fe94f2143f9cc3d982d21980304a5ca8af765006fa0de886f949c0ae9b63ad025bb54ce07abe2ef79d94c0ff205581e03efb0c1d3966d56d8b996615ea60f896397bc9ca789b4bbf47c843a67a00c02468c5aa862ea00034954ab9bbf283470e993f25765094fadadbf825372d7130c79ca5e8ad3f75d3c036bd40b7720b7291c289764b1035480ede86de8ee4646ba91f2a8e1cc7a686b2a0339fc91734fc5737d082a24711f489dd644dba0c87aec433f727757ded2d9e8ae03cf238e52abc0f04e5d35ee454cb907e12736401460ee9a4230f82624b414afb804590b55606060405236156100ae5760e060020a600035046306fdde0381146100ef57806312ab7242146100f857806313426d871461013057806321f8a7211461014e578063488725a0146101c657806352959d16146101de57806362d020d9146101f057806377f18ed3146102905780637948f523146102a357806387114b8c146102c6578063a7f4377914610303578063c07f47d4146103b1578063e33dafbf146103ba578063f7c3ee7a146103db575b61049b600034111561049d5761049d33345b61068e8282604051600090600160a060020a0384169083908381818185876185025a03f19250505090506106c0565b61052460015481565b610536600435600254600090600160a060020a03168082141561069d57505060028054600160a060020a03191682179055600161069f565b610536600435602435600060003411156106c6576106c633346100c0565b61054a60043560408051600080547f2ade6c360000000000000000000000000000000000000000000000000000000083526004830185905292519092600160a060020a031691632ade6c36916024828101926020929190829003018187876161da5a03f11561000257505060405151915061069f9050565b61052460043560046020526000908152604090205481565b61054a600054600160a060020a031681565b60408051602060248035600481810135601f81018590048502860185019096528585526105369581359591946044949293909201918190840183828082843750506040805160209735808a0135601f81018a90048a0283018a0190935282825296989760649791965060249190910194509092508291508401838280828437509496505050505050506000600060003411156107c6576107c633346100c0565b61053660005460a060020a900460ff1681565b610536600435602435600080548190600160a060020a03168114610a74576106be565b61056760043560056020526000908152604090208054600182015460028301549192600160a060020a039182169290911690600381019060040185565b6105366000805460d960020a6437bbb732b90290600160a060020a03168214801590610391575081546001546040805160e460020a630a1add51028152600481019290925260248201849052600160a060020a033381166044840152905192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b15610a315760005460a060020a900460ff1615610b495760009150505b90565b61052460065481565b61054a600435600360205260009081526040902054600160a060020a031681565b6105366000805460d960020a6437bbb732b90290600160a060020a03168214801590610469575081546001546040805160e460020a630a1add51028152600481019290925260248201849052600160a060020a033381166044840152905192169163a1add51091606481810192602092909190829003018188876161da5a03f1156100025750506040515190505b15610a315750506000805474ff0000000000000000000000000000000000000000191660a060020a17905560016103ae565b005b600160a060020a03331660009081526004602052604081205414156104bf575b565b600160e060020a03196000803591909116815260036020526040808220549051600160a060020a039190911691903690808383808284378201915050925050506020604051808303818560325a03f4156100025750506040515115156104bd57610002565b60408051918252519081900360200190f35b604080519115158252519081900360200190f35b60408051600160a060020a03929092168252519081900360200190f35b60408051868152600160a060020a03868116602083015285169181019190915260a06060820181815284546002600182161561010002600019019091160491830182905290608083019060c0840190869080156106055780601f106105da57610100808354040283529160200191610605565b820191906000526020600020905b8154815290600101906020018083116105e857829003601f168201915b50508381038252845460026001821615610100026000190190911604808252602091909101908590801561067a5780601f1061064f5761010080835404028352916020019161067a565b820191906000526020600020905b81548152906001019060200180831161065d57829003601f168201915b505097505050505050505060405180910390f35b151561069957610002565b5050565b505b919050565b600183815560008054600160a060020a0319168317905591505b505b92915050565b6000805460d960020a6430b236b4b70291600160a060020a0391909116148015906107535750604080516000805460015460e460020a630a1add51028452600484015260248301859052600160a060020a033381166044850152935193169263a1add5109260648181019360209392839003909101908290876161da5a03f1156100025750506040515190505b156106be57600160e060020a03198416600090815260036020526040812054600160a060020a03161461078a5760009150506106c0565b5050600160e060020a0319821660009081526003602052604090208054600160a060020a0319168217905560016106c0565b505b509392505050565b6000805460d960020a6430b236b4b70291600160a060020a0391909116148015906108535750604080516000805460015460e460020a630a1add51028452600484015260248301859052600160a060020a033381166044850152935193169263a1add5109260648181019360209392839003909101908290876161da5a03f1156100025750506040515190505b156107bc57600160a060020a038616600090815260046020526040812054146108805760009250506107be565b8451600014156108945760009250506107be565b8351600014156108a85760009250506107be565b60068054600190810191829055600160a060020a0388166000908152600460209081526040808320859055805160a081018252438152338184019081528183018d8152606083018d8152608084018d9052888752600586529386208351815591518288018054600160a060020a031990811690921790559051600283810180549093169091179091559251805160038301805481895297879020999b5093989297939693841615610100026000190190931693909304601f9081018590048201949293919291909101908390106109a257805160ff19168380011785555b506109d29291505b80821115610a31576000815560010161098e565b82800160010185558215610986579182015b828111156109865782518260005055916020019190600101906109b4565b50506080820151816004016000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a3557805160ff19168380011785555b50610a6592915061098e565b5090565b82800160010185558215610a25579182015b82811115610a25578251826000505591602001919060010190610a47565b505090505060019250506107be565b83905030600160a060020a031681600160a060020a0316632ade6c36856040518260e060020a02815260040180826000191681526020019150506020604051808303816000876161da5a03f11561000257505060405151600160a060020a031690911490506106a45780600160a060020a0316637684937684306040518360e060020a028152600401808360001916815260200182600160a060020a03168152602001925050506020604051808303816000876161da5a03f11561000257505060405151151590506106a457600091506106be565b33600160a060020a0316ff005821033fdd33ca20ddf72263aa15dea5230553394027609972e4c409667ee5dd50cad05820206b65657020616e20657965206f757420f09f91800000000000000000000000038041d33a984237f4d4f769787561a1885c33a85c02f3a3e3a62d7ab54c46f9b803f745c58500d1f7837d5951dc78539724902ae956310e6bafee030b94e6222745005820025ac4e7295fd56be8e23c3e42098a2c182a7e1cd3d42a58b2ab1650b374974742022d005820022dfc6bb5cf4ea69573710f48e92888734fb7ddc296fc3b26daeab1381e3a3b54a7f00a55324c13a880f60dee8a4a5447099e5e440219030003f5439934a6740d49ba54b59024ea133d3f7fccbcd9b28a9a3583785c7c0203a3032b756e86d235468430da0c9fda69f0e5c83efdb7b54c1ccc0e57ccb55352df2b0348ce5fe5e464a633b9c147bcfc651acd49c5b3632a72aa19d77255c74702456600582103379a247e3353fd50a989ab4ccfdaee3c40a945a71f56f4c80b54857beba0d2005820637420746861742773206f7665722034207965617273206f6c642c20706f737303b86cf926587eb4c4db217b4ff727ce238f53f23953c4a88c922de1babc65b70800582002fa734ade817fc59b9af8032a266f14dd744625a8d08c2258278aabd8210d8d58204f726967696e000000000000000000000000000000000000000000000000000c00582002f5b644f874db7b171799055d90f2d28e2f323c7f75d27e58dd94f2b2f99036544e8703a59fec01a97d4d2d76271e4f086dbb52fc00582002048a4f99d96a09429fe4fab0905bceefae13399ff0e8143b2dbdd56f2e82af58206f746f636f6c207769746820636f7369676e696e672e0a42616c616e63654f6600582002e6a4711c5a8c8b106b8079075cf9682e5f2d78c49654d9d8264b5828a5516a4102021949010314973ed5ced18a7e382a6fa183ed4b9605488b9bfc16a92895e808af31defc9403d7725fa048b597d57e94d9eab9022dc94dd1794781b730af9a8b8fc86f272dca0313587f378901f7852499539743bed166d9b1a78692438321302652c2886dc794035391bd337aea3fcc78b62bfd166a67919f3dd241ea5b8eb4833a31e70c855fb603f28f570388952ee0e90630682841416dcc798edf8f00b81419d9163f19db610103ffcddbd1ffb83d302aa7257bba290ee8af0adcd61b848267424f0994d24cd8010219ffff05581e034dbf5083128076617f24b81bb3694580c505f6394d4d58d0e3c25f03900703190b5502196ebf039b5430fe1a871a7352b020cf6c7c2f6de248d8444c56fae9f9de3152309d6a000380ab24550177af46b483de9b7ec856eb5813e57855d50408cb437abf148757e503c7ec2c26c8e977c506e03ce16f59a7aa2c53e40abd1bd56d74b92a5c4ef329d2035c75327732b62cc0f26cfaf31244203f64402456a6609dadd46eaf2fb22f4bea0396a3366d03b24d589dc7db94b4da89715c579f2d3b07af6f25770e7633160dc403228a43e32af69c5a26186c08a46a48b0d649b20156740ae15f0290897909d9670356e7cf82a3440b158f61f7691211129576369cc93e6ace358a4b932de13777c303f125a88337f19444d57250c5928e3e445cf48e3a7fa2ba999360c3359a492b4303c35561baaaa6b14eefc5f1bc210d9214502f468513301705dcdae51835a7543a0219ffff03479536accb23c0a92c828390fe2aa36dadf35a0d2a62ec06dfa901d3a38e74ea03cb4c4c2cc3d191933ec6350f389556781726d87015e3850a1f8276c3f55df67803b11a8869986ceaf9f8f4e09bc83c08f5bb54efa0c92591f1d453431e8d06babe03a8ed33a4a781bcca532b6583f91d0116ff3979d093d35efac9e55f70cd46e2d80219ffff030df8e08aefe891da96622a2d3d838460468502e375f1a28ed13a31dd33d366fb03fcc2eeabcf0cfa3abcbc089304f4f867b62643d69f12d8712d616a91c989e4de031b72771ddbb5b71ffa99b1a2b68b8e98a2a2ef6d49ab73696d1dc62ff8dc77dc032ee42463aac49b116dbb663a9e9135ebdaa66ffbc1540d2f7698cbf1d833e51b0219ffff031acedc84f01c1b8bd2ef72dc48eed22ff056371caf807f4a123a7e1876e04f2e0313056d6e1b437cc6d06b00d2447e082ab78cf21889b7de4f1501ebebc9b4cc4803332338ce563f0a9617e781903b5f37f8799b733155a3e733abd2b99767aeba70038a8a013168f306aebdd60a2edc71ae628e1245d2e59e16dccd563f4dab8606cc03f94b3c745942debf3f63df72240fe79e5e658ae39dc6f24b9c6ef3c5f3784013030c4e7962e31ee1fbb38e7bd7190a675cd72986c070d7ca4ee975f0c076651e1f0311f1d4b11f313027976f8b2f51d7069a5fcbe8f3b3c99e61ab4495d9308b46d603e18f0fdc33f24a8b9e382fd996f3389e79298691dd8219260d662a67618f870f032a233bca43bac4a54aa5aae75f54be5c177f6c67c9c714a0e874ef71bb225acf033a5d0eac1fd4819642f9a1bb9aa2ed615c0e01c80f938b089184b48b3ceec85a03e66da6bf7fff77b329aece8bf31bf76b61995d521b6e0e3ef7d10186178ea9360325ea8448c7012a0dde302940249eb5bb663c9a2442688254ba3103276eaca491038907f6c88943becdbb7e56dcd3f9ff7908ff0d4ae9c5b63edcc81fe24e7ed9650364b3aa34f60386192e26259dded0dfacc7883c165aab5085e79b658b9955850f03f820f7069ea22dd1218dd6a9cdb83e7cb3fe62e3d9f33db7bb93819d15db9f7503cbae78fe852f2a8bb3748eee2386ab3f52a8991f71323a3a3ee302bd56bc384c03b635c86656052c5d177d9d1dfc40cad213a67c55004110d794835bcf5cf30a9f03a0bad716b1c6d3827c37f57b20a3c391517a8452c04b60607d8f70bba645408103c70598c64865ab1b83a0b95bc28e0a43c9268b638f28d73802779a1bacaf3a5403e0efa66e0e5868f908a6d55ffb301042ba9d27cbd2053c58f59ded80e574d85903ac185c20c946dba5b0ea19c3ddcf4dea123852ada8768f945b5724df89f46e8a03ffc7413580618db51cacc91ad2b09fc232d4dc2752ad04006d1eb6acc7e5f9ce0333532209f38ce9c6d76c774eeb61f9244b284994300852b5ec0288d29fbf58b30342fcf6ce69302caecab5b7d03743e48b892c7d3f3db1da24ce369df998ef3fa2038a328377ab12317ff36fdf9f5aa68a731b302ba02f08c86275302af6f097d8b403cd9e1ef5540a4ccaf639e2d66ed0b4fdd9d0e5c00f733ac68eb58ef57c73b52303b479367b0cd04eeec47787965fe5176f5bab1c30f5e20f286cfd41b46fa49bb103d8771b628d618c96d8e3ca5cdaf97b9092b578f5c316f49b5bd6003a019ab1fc03ea61b2228dc9947b54ef0934528aa6874b1397eb2063b807d06b2a30cddf06f3034282b5a40cccb91bd1851c7d639f82125d5fc225e2f75480fe9cedddce08d69003f87505a53a170eea410297b6c589baaa4dfef0ec44110b41d37f111808fd87da039d3f4d299bf7fde0e2029a0a48a9e862a9b1752d5a4f55d2413de036bae28b9c03da2775854fdb6553e8497ee9c31c7cba6c5cacdd49f9afee72760493a3df857e05581e0324d017af2ad309433a53b4a32e95f15c892c2350216a2917ab34d7bcc0040703d32af108e52de3773976f32e0b158b8891819b200785f64d9f352ea3ea773bca05581e03953281d8d432cff33ea591e000ccfbb2a175023327063e16f3741686400c181d47550756cc31508b0326331ac874e2e787a647b26ec2901339fecc38f1896506377c3ccc90a8510de80346af1011a2b8c9668770503766437f7587f5fd7b7397416f80ea6579e4b2e1da05581e033f8b1f46d1c7e06d309a1670b15341a821022e8aca2eb3602de39f4dd0040105581e03fe84f7abce2d1303326528fa299e60cfcf4e9d9a73127c4d49042eef1008470fb2b421a552c005581e03785f07cbfff958c47d89aa56305bfb41ea799153d22d01db50d1de24900c04490555ad13291a652800021914dd037da19fe2bc3f4fab1195a0c43213f2dae2963f59c714a2ca365bb81a95abd9c603c18afc226a372e322ea7801791066468fc384e0de1796945d3d1337eaa885fcc0368cd97b743f987a63f1adb7435ea9b3d8fb30042aff5345f0014a74dd7e693780219ffff0316a1fd079fb3223d584ef34efcd0ad13e9446a252883b42b98dfda48d48519020355670157956714757ff8020c616175ff64c8d67cfc90da82730dc5d45926820f0353c397bf6d23a64111b8f55a1150909479ec0c8a2c37f1a1c50154ef33c3eec203dce8dbb517e2a1f512b5094ad0ca1d4cafa0d236ad6912c664e1023c9fa6b11003d528eafc668f24f603def4ac03cf279e46212ae5af2163cf05d4d6d042870e210362a9c9691a0607e47e7761f98e97c34a73817cf3538c35d077ebf9229269c2d703b7b641f88527cc5ab15d9e76731455896b658b6007d6259c6195da74733096d8039214603065d8a6ca64e3c0dbc9c3e7907e5f2b1168b5c76a25ed2a591fdf00f50310b4a7176b9be8356c45e4b6fd19f345f906daeab37277ee812d5ce1d6ef7a2b0308684f6420f719d61cbbeaaec068efe4682db424ede808bc1e8cf24a82a36b7b03b1b32a673d90289b48b4a5335b274e53dcd01fb001b69b2ca62c512f3b4a848a03fb22700f16b5bc5bb19c36bcecc70bd2cb2ed4fb3c73b5b4d218ae874171278e03a41f5340a1da374c06aadd17cc24987daf40ddab68dccd38b38a8c51acd542b703b82203733b6f73388cd591a5f12ea38d977b8a3e29f90f43600a6d075ee846bd036c6713c73357a2f7bc379fbaabeab2b5f206f488602a2935ad6aee7d27c748b20219ffff039a4b08c9e9de7fc2b755625336bd35458eca1cb98479d8ca76ed670788538bbc0219ffff03a90fb7ea127f3e11b495b521bb5a81e14cf3df1c1f7dcd4465a49422f460e5920388d70cb22d27e92d6295cdc4ff941253a1f231b716510d720fa52564e23fd3840219ffff039f2579d6d428ce70d10c0cac7d2766da834aba693dcc9c244c9e285096105269036242fa236e677ff067f56eedddee6b83ec4942755180f19db682bfa3679e5551035e8192e44b011e8a2be7b74d99e981d09d53d429c2637fdd07382df08e674ed603b14e03138b8c7078f87c3bd6e0e737441f5a98987a7ada76328ea0ead8073ac603f9fd32ea2c434d2f17416c417be3c788a45635d4bad06542b525ddef2e37800b031526ccf4f71b14287afd11d10d82607c5193ff0fb563e0e274788e015ac18da4039d6e7b1d0ea77e6648222199fd873e5bd90598eed6f149969e7f0aee540e4d6503252abd6647676564452fbc6d68d16e9d50cd28d3745194965530100a3bd8459803884037815457642f0581d6b11e74aaa482ee968c5a1924bce332a432c4dcbd7c0314cb5ea0cd1a51ad61cf5c82b3593e1b8fcd4d425e4c87a67d648119272865ca03f6b68889f3ccb8b5f6acaf9a3e8584c86408ccb257ff14c2056c7620b7a94216038db09a5e0ed4ac695f8ddba8fe7cb8fdfa2703bdba6754b6705bf3d750f8e110039ad69cda955a8bcdface3a8f39fdfcfdcc8d538e7444a79c8f26cdac23e235b303e13704fd46df24b49eddf21a5d25cf08d756ea1b46d9a3493f068e96586c8979037fd096f927edd464640fc413fcaf6542e574017039ce5c3808ca6637d25831ad0380c98eb3e4df8f431e07b75155d4a182beb97b31d1a4a1f43adaacf967407dea031a97789ec61941f52175be031c8f1c5def551ca78e002b846644aa1586bb3ece038597d8ca39f606e9e38374e6f3a52d97f08e8a67717a5d7676713341b57fb64b0380cb45f7586aca8213d0dbf433dadc8ae7e8cfb18b0835ab3fa573c964218a320369a053122294f7d0554784d0de0d469be8b6b7837017a25d49dc63b7198e81490398934cf437516aa68818eae59a099422692fc9fe980b3fbaa6d4857af112caac03d837fd2d144a1abe154084ff165dda18dad7868aebd82de37fa40e6ee7a1b4720372ac4fc6f3db673866e4fa1b490440596e98bc4e550dee21d10b78f0dadae5140363794913a6d39790df9afafc8211661ece8fbfd8b8d257cccedbdeecaf6a6078039e500e1ce5c11023a4516ff8d08b6e92cb5d94d141da183aeb7b3362b4b9e6ca031455663e8437bbb2eccdb7ba5b5e57b8587cbcbf7ab9455d3642f2676fcd385703f47be0c56aaf92deedadd00446a1be43448f58934c61bd456675144d00c4ea9f037ef358d2958af44d734d2e370d6dc4eb5ae92ced047da42055f4074b00d8e10d05581e03fba1eda01a531d677e0593189dc35fb491874604f6abe21c408de266800c0247049e6ac60728e803d34580c605ed0f3f1d3cc7a122fb345901bf6a10e370709cb5027b07cb7a046903176faf417f2b0c12dbd0e8263aa463a3e9da82b65f8c20d2008d6d5d9367698e05581e037292788bb278c29a85445904bdfafc1f613603cfb7d44ecbecf445c1a00c02470139ee782bafa40377ee181b9c764cbb0b38acb3c2f8b75ba4b2924cab08ff2c798501b1a6430bec05581e038913352ccf83e406e6b29ee0c3db205bd80c1f89a4df8fc50c9c0e32c00c02469346c14c59000342c8793d15105cd8226efd1f54353e79124847c680450eac8e9c4dc1c1d2e2fd05581e03b626cd40714b6e321acae23515ed928f53fc1480032da335f5a8bb97300c1447daf2c5abf06c980219c55503b1919c8237000d42d13d0bcb0e900731c57a15c4c7e839bacc2ddadef7eba77f0387fdaab3255172a53ec0178295bd901605bfb1a6685745f20b63b4080ec96227039d7919dc14bc9382e368e4c815f6a1ca9bdf0873ca9cfbbd6da5793e098904f2033197bb106191ddfac7b05ffaddd530fe72b3087a13856f6977ae5c47f2dbccff03b50ba0fea9fc4a3a8fb14d4d5623375d6889bacddeeb74294198c1d70d321724034bdfc53d5c9bee501fa81ba84033bc490deb526b5381bc48bf10329e43cfefde03d41ce42614c0574e466d3f7fe6e1865266050fe344726d17d2930ec441fc3b1403d993cd1ba4488b54e7bd4b92bf8c2a0cfac973eae6eeffae5dcfcb5c29ec185f0353be9b6722017b32f6eb6b2c411e8a8fc77dc3b7eb718ad068c88246182fd93b0336570eefd4e9e9148d236e508341654bb6c68d1873aac77b57071789b4f1acb20383335a8cbfd5f9919a5aa50af2cb004b56aec6d3562d75090248bbde6012a2fc0348b1f6c67611c637fde3cba2b5431f91af9fb3827f4a7d049a193308ad0cb6be036aaf94520afd5b170bd90d58b770f00fd395d51da129ffaeb1ca1bb407562f0a03663d096840178adbaae70fed26c1578d8881dc5b7f7a033f011f43728805e5500219ffff03d7bea471eb37e51182c796155e108e32850610dcb9a6fd72e418dedb695d572803eb2e0da049fcc8c2ba1e59207ee710d2c4a482c3fdd36df33f58b247320afb930219ffff032ecc0d28411ced916727dc8629283ecaf8d3c06fc12e1816bb628dc5d2f6667c03ffccfbe71fc719742a70ce2ef83511131672dde7d902b5da84ad53ec3ba034020219ffff03db65837c4dd44fa885c9528c3c6597a9461488dbbf65e82cf5d1257b5d312a2603edd74643b8cdaca9a98739433c7a9a41d19d58c59176bdb5979b75617be980820355b645bd6a5d01a0542b7c732e14ebae95a1de4eb7ad8677bdd33966623158a703a8e929ae0f07f673475721c964f60bdf59f100ab2bcac9713ca28e73b60c85e6038c3334043d211b6d4c2539193a51158c48123a21c5c8b0625ce2f7bfefe08ffb03cea334f247ef81e9b3d5a782945a5ae51a30d9685d948a2aba9555b753d7cd86030a9a44e786e249098c77ca89444b6f8e625642bafe1a0c707c0374b6f39b9a1b034b2d4e384ffc96e6188194300d74807aeabfd49169eea885ad157859125fc8bf03fdc3c631a8d7dbdb05d09d750fc66c1d0535dce3ab9927934fea2b95a2fa28710309418a62ed87dc595b3d260ddee5d63fc2dffded34017a40daaffb41cac7ee730392dbbd2ca904d707cd7dee10b428dfe1c2ad85d0bbc9aa21cdb6efd6a4c3a0de03851a571b4c62b407cad4a65894693a1b932ebb7e2cb7c2bca94b9329c70220d6032f38ac7f5c46db2f73a5965ec4d8e5b90e3cb3e97959a69f9aec5941b32f0ecf0310dad45eea018df95f38fa893d8db8c6bd2e7f71f0d30c9d18c4cf82c0ba92fe0219ffff0302c3cf1b256b2f2015e0e2e68155357387a9356e1176bf202cd8b9340df8b1b6037f257f86535f294146d8c0a53676745111cfc00907a3e4db556b613d341ae066036036d8fe3883a48fbba55cd76591533909a529f5acad244e1db9aff21ad10425039f2db42cd11ad53d016e07fe766b979032ecad8e7a98ab03b0079e9bf4eb8de203be1563c286e9e98d527fe2c2bbbb9bbe6a234b14d118b11b53ebb93472e85bb30342ca401b7af33e71f88c2ff811717c31e5aa5202505f306b245fdbb785b36259034f741aff7a5ac4e1cdca5db386e8ee3eb195ff215601c855acf746f5fc17c4f70332ceee0b2a4b38f019696e5c10fdf8631a7fc5033873761758812e950d1871f20361e7af891fafea49f45d239661ff57548abd52db3219a49493e88679c248409e03449dec85208b483d3a9a5fc3d1f4e5011e139a5e56caf7c486b464f70b79835f031101ed87eeef337f662e48bbd92be78c918bc68ffd8a7fe41b66e874292b6f2003a63be6f1f45f7c6c83bff115158fc51988b48de6fad486ec2793dfd6acdd92a6038d7d751b85b2077d5c74d81aa60b8485fa35fbc0aa22b38474b865c9618da317032e3b0884d4f6f7ac8eb34cb344edeac8795feac9d9f12634ba353d7e2ece338f03ef01b252afdaf4494d9f2ba9a1355633e6110f032be0d0b51f83b6bb6b728be603ba05acfe8660a48b8f097a55f6d6fbd3622526028203a746610a09f0542e390303ac807bc664ef0281f69c72e6f62f3fde243eb94d071e9a180680d0fdc06aa59503635e09acdcaa8ee6cd6f832adb089fce4ad2d15500147097bc703fc877a9374b036788b99475eb7ef42f77719a2b23d272971cbce79e2f26c0f795c42aee3fcba103b6b21f6cc2213ffd8e0844967553340cc295aeb23ddbdee39041143a8de61a0903b0c932396c7ead7379db8c0f0ca64254fed5e3441470df15a776b87013d4e3f203c039a2cafd70eb0f074428fb2a4f7a3a5db2118d4126c34a9310777dfc7b85040311e05e96f66c25f8548055de7f0f7944da16fc7acf7eec1d281682f3cd1d2b2103c481005cc2f5b64ab54226a1ab3e43db528598176d5bf59bf72af8e8f78e6a3403b2a6dae75187014cefb9ca4a575b0d602bea3de7745c1ae3f532ea27d3ec1481032aac348d80dac666641f0f3925e09d80e644819b653084fe925ad1532f66c850032cea1d0c944add1cdceb1d89112af9f784d7ffee24e3c4dfbd617cd73d61333603b2d9c7221622574b89e62a0f6495aef5c7a4f10e80f817bd6008959b9890f0fb03206f51ccdd32fa152fa00580a9a4b8806cc55ee75255d234c4bb22e18623b0bc03117f034bbcd462dbda5aa48efb42305fa4c4ece95a8ce873466f489bef696735037c40bb0aa1df1467ff05a88605c1571857745c53015f60462353f0ff8dc1d408039db6175bcb69fa7a73c9980fa4cf38d84570d1dfb974f3eb9f46d08d912ff645031f325ecf2d5d33c3d826b72ab42c3a6dbfe63c2f4eb0b9cb342716e877c6f501036d0487b21f7d3a39a9a3fefbf58dfa3b4b7850a4b815f0b98eaa42087c2f338003e063619e30451d35457604fb9cd0cf99770b44ac8e5e726fa56bc8812d26ceaa038cff869f03a90ee84a847c2daaacf072eaeb545baea3bf42f3cf10deefebe1e203013bcde3753bd20df09cbece72faa1b136a72c30bbfb9773658bb2c8b60c3040031266d73f1ff2b39d9d05237f58fef4346da87cbc24d5bd46c3ee1a80c537c16305581e03331c3081ab5f478e75a37b6dfb95a18831916d9e2963158138c5e5fc80084806f3f7044cba9d4a05581e037bd42e4ba0f21c95256647432ebbbfba36ef74522ec065f2bfc90c8b700c02472687790d564b500330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e03f9b4d2bda260a13291ac74b9abe540d639cfe9b1b15f09d5f8171af34007011bffffffffffffffff05581e0336b69e346ca5451d8aaf493b4946ec2ae608eb0eb46a11a9f26def1a700c0147b5ef3cb52c249005581e036c7cdd9d570d7235e4005a3c08f585440bd28fe6cf6fd80053910aa8c00c02461319718a50000358e11a495dbc5a1f37c8f0b1a6693222a7fc277fabdf43bac896e095d92d31bd05581e033d9ff9d793e232e7708cda99ed1423e510890e07183b09b7f55bbf4ba00c02470584b2b05703b805581d02a736555148c8d71a688aeb4f229b2e7b910dbf37358f608eb5fa36100c024701945635b6bba805581d02248f2ce33b84dac1a9c510ac208157054f87127ba5c1aa9b713deab10c192d42486d20468db6f6a0fd0219300003136234f0ea3b8fc90f47fb9f223831fad5f8e66e4ac1b3019f8ee217bf47a69f03b539726729159b573678149e4dd37b5a136cbd3e941af42a703fa2cefa26070a05581e03924f86cc93c3c9839ca37a8feedbbb901f9be8724637e099bc2c948a700c1544a106dbd30356261f4b04faccbef68207fa9641d7f867ac2397bdc2ecef2810fcccffc59fe902193fbd03a56cbe6b38aa8bbcc4ba110cc157eea7cc5a9b99be23b29811e2f4fd8f2dc77a03714e39d7146b94df701b7fa4e51686085a157088698d01f5ee791b7919e3371203688118dd362b1f87ab472a212e74cea8c6ee535efa18b5b12ec252b6140e8fde03457c25a8c0cdac24cc4c705b3f598fbf64e480199968b624363f23dae33477b503765ff97e158064060030ffdbd927cd78763bd77d863469e6737a8ff11b9c91380219ffff031a394ceca91c56afcec025d22bf2d95354800ac001b24b4e56b012849c01537b0219ffff03e0e9e508754fe3c913c1e493ba0077f31042fbbf6f0aeb6f2de64335c08b830103b57d7f1e8429006419e01fdcb5f5092e31a5636bae11fcef3e8c1f7801fb804f0219ffff03d625ea1a2a08647bfe35cd60b9c8337993c147c227ded103ad63ddff42985a3303a5757ae3800ecd1cc6afd9a1714cf3c5202f0520b4bb25c0c905ad1d718499bc0310127d6d36dedabaec350d67ce78ce56849abf9bd72ece172ceee81b02730a1303ad053da0d7bb9aa880254436823ffdd9dd7195c47fb938697972e5b4a15ba2cb0399ef336586918a77640d6cae2b336acd351176bd5f7db4586a1a66db459ef945030776670d038f0502c6c21ffd2a9fd62f8af729b5cd4a9b714621352dfee6c5aa0310a2290025a03fafe1dc783dac378b224ddfe4737db5d62617cb7794a5ea396e03eed85cdb53d4b6322ee8fbbc1f2166a68b6a6c5562fbeb7cef84fd68ec61ce310361ede8244fb193fe70da8a7b40d41b09b1dac4315e93e27e69c809fc69d3f885032819d98c4a12c0537b33e4f380656994dd67f052ee1248a5e474575fc6ee0b9e033d50cb346aae11dd5a16b779bcaebcee64a813b004b976a492cc7960ccd98f0a031ad233fe1d405334954558191d2435090b2b587699a40100b5882451f6bef95d0307294cf8f2a8b20c4b366dc0e351b40b5d4251e0fb97b02896a3b1995cdbd02303aca3f1b8a53b7b2b3b72f0c88cbfdd8019ff7ad70d2bf10cd0356a343ecad193031c4e1b11b68e6dccfb10fc6eb4e0b35356775c5747fe892da21d67c1c9ee43ae03b6a43375fdc71a710dcbbe2093309c1f2e28ef08659a8710af977a723046934d03f68a50f0ce818c29d59755110f67dc53c90e0288d031570f206c86c7f0516dcf033927d0c1ce8e6d05915c5559ee2b341d9dc137bead9b56a210b644612a09316103e45fe81a1bda26b69381d007b253b4e46a7c09c392198d6256c7a0ded5e777d203d72b5b9e8056598ae6455f820529097f1ee20872a16e00f632f6b3cc4ba4532403e94ae5efaba5a1181c712dccf00d609b1be49b6604d04c48345a1b93fd50b60c0313be1244acc0a0b1c14652fd1ab97137834ed76c642594577d9afbb780e448f503073abca772e8a0b8d7e47ef0dad72dcb0a086a37c11d6d2c77b6cd198856846c037305adc67daf3638ecbeb8d8dc1fbe67b773d56b3950fabf90bdf1c90b940c6203372ac0d2c0d6ff40b12372524b8b60f3e1a515f0e66bfd4728ba22c8812c074203101c2ce38b748c9f44a2ebee8bcdce0076eeaf842f12573d14b446d6244ee5b0036a854573b17cec7ddde1466ae728d7a011c8b41c4797449e4e532cd1a38c2251037533fc7793b8adb4e24474af061b7a9796076868b850cc54c2414fb559086ddc03fd822e98eb1047b17c977c763433f18672f11022f1e06368b44b7d2dfc9ddeeb03eb449b1a962d84317f286a576f09ae37e358d72c212186f943d3fd98583315330342564ce8fe90fb5eefd524987a477208bb43dedf055e2c368fb934c958211094037b4f3614220e41d7d1c32fdb2a6fedafe2c159dbdc1af3ac0bc87ffa8b04cfe1039cf110a94cdb72c24ecd8c3ceb338e790ebaa8e67f08243acc6302279b38c3a203d2468f4baa84d60e648e91150bd084e6f68e178fc3efefe65f3adefa36e90e9c03aaa7cb2f332f064191f14c1488d3980cd789c4932557246d49cd72a9c23f683d03fd86f6196aec227f960d2716dcca0c9eed2ae0a8ed8c627c9c3419c7775129d80355481d6b742e0e4dde8da0e2c5c4cc8643239bba0e62eeb3faac3d6a6dad5f3a03c5cb423a7df0c788b0e97b27dda2baf6cea72c8a6dc148b802551af277034109034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03d93d8eb96d25a7d28cb060c9bd087cfc08ca52fb7e750dd00e7ad148b007011bffffffffffffffff03d0ea4a1373927c56074e268c12840102357dab6c7bc013ccc07322e37fda286c05581d0245b1df9bb911b5f5f7946fe53c653f87928654728b8a5e8c020b82440c03410105581d026e4c6e13b57b340345af0fb07b9a15f623805c0289d46d5d8dbb345a0848049c026f66544c0002190801035643a19181826e61a90003deb553977f834cbd97db227e501fdf6b6650a4feba03200ce1326dc2c5a893fcb8d2935ad3465bfa4e21239d374a812f817971cc9bb905581e03e3870cd40ce2aee0e216137231e67ddf6cc5b672111544562f371879a00c18be47026256ed04c83d05581e03d65e9b9d206310f7985de8ea8b61041d90b8bde39a24806e33bcac33500c0c472d179637c2670005581e03efa99ac28e6311f5a234551c8ff729e580e37346ee6cd4af010ba87e300c05475b6aaa48aa6cae05581e03f872892998c8de09078cf460dfdff3645190858160ba1e132ecbb299e0041821039079c47563a31e028595b81d6f63a21164af7c1c9f723509de0995abc33c8a0f05581e03ff0a3152131670edc402b7e15687030260dceaec98f74cada7cf196dd00c181c47eeaf9e080abb4205581e034393592d387fb39af7d43b9954ff4e5a5c9cea7cdb49d7c4a7b2d9bbb00c014739f7784177736605581e030495d764691d774a2c8314e5b507f5d6273cb48df11f7c74d626cec18004020219fb7e0320c3f998f420b89bd145a53b4f6c51b18b0889a5474bc8113f92c19fddd2c5f903b5fe5c5538c4d60d8808da75e6f6ffc48ec4f534e8d8c8218caf406ee18b7f2d03b6457960f19f99b09c697efbf64b106298c2f9c7f4c552c131708b068cff359503d1934db9f543ec57ee350352bf0b9a9deba80cfb058bcf685369104501c60194032f2a5c8ba53f59e2cc2b51138583d9d17e8b1bf100f495c5b307a55bdb0e35a60219ffff0219ffff038143f5863a5e6beb04e4e73478121c50cfd17752f1659d51f3d3ae96f4936a02037163da0a72eff4fb409bdb7f6c1fbe83825194df7c8f11458b2d434cb0178ee403b9bc650026cbc4cd6854821862638a722154fff84c160a8d95295b3e7c105b0703d4afc6d43c46bbd844effb40d8ac96b7598d3d243f457b583102a8ac0c4913da03398dece7b31b121fb645777d286ccc6e8fcccb642e36a0baf9524a9d2384af3d03a4afb3527d834393fa9d6a1ca6445fdc54f9ce0b92a1a3946e54ff9f647f3dc103dd80779c7c55ba00dd9aa9eb41045df10702ebd5ce75a3cd45c2020f7693ad4803038bee1a1d7d9ee6a3550e87adba02b12b42343e27ce95a7edea7b6473826aa703209787b8f14865889a87764fa83f55f93895a99aa7877a81f5131429a97c2040035f22e382b7b6c474f37bec2c86881d286e51a0606f15afcfca759b490bbbc10f0219ffff0312591fb3462760a3afac1747ad70d9d6facc9fa00f4133cd9c9163b0eaa534b1037c9b8bcf11f4574599aec3cafe528cbdf816dda9fcc83839127149fb96bf0373032ee15f2f6ebc461273ff25b42b5452cf1cf7b274e441e52eabcbed1980249487033614ae87678be3fbb22f9ea386d811250d78116c38eca1cb7fa76b40de85103103adfab268cad8ecfeef6afbe450866d5ee44a5dccba2c058990dee7bc63fa65fb036d712b95937e30ef6541d5837e3beba164ccec6f219bc1d2b0f71a67ac585c9e0219ffff0219ffff0359fc17e0f8ccfd1c8ba6058f7bb014f71e9c42c5e2baa6f8fe2d745f655c7835031c8408f9ad76ce754ade0db1dde0285cfad6d81908c5475b0da31b9a7431875e03f9cca5785eafe10699977da911114425e0963563cc40fc583d92d17ffb04f1500361976449938cef0ef175be1d5a9ea0278af036f9da2836651f77f22cc8f07814030790ac44355c31c1a4a30607f07c84e7c5bc770d791665a75a7b97bfb7c73d9d035a1cc8ec14c0ce25c65b1bc5a7716f270b2b459511132365f7b4c3d46c25a9d8035d592f56b25447773c90fd4eda8feccccf6fc2a6cade84f0a22a95bf443b9f4d03757ba0fc24467937e2832df5af934bd1af3a6cdbdaadec8479824c36b988e7b303c93ff384b7ee43cc4ec07a59132cc07219a59fc6241a89eaf5dfa1b75eadb47803ec030bc3c75d4cd937cc7f8c8e5c5b27592ef6317b35b04c44693d3a6d935e8c036e6d431eb67d164fdd3dcf9382bf8faea193ab23c7965b2416e30cb5354532ca03d21036d322d026aff04110a01cffee8227cb019f7b663211531d924ce68d280d03e88b54b2ecd93273d70320e963606235cb55d446999ebe3ef6857ffb64c68b97031c750625efa6db739fe11332d8b24c35d8c2dcacf5b3fe104dd07d0429a30cb8033408fbd5878cbd6f1f64e300f902e184dea6704455440e3b3682f5f074ef41d40346139cd1eebc1f71d61bef17ba3f76b1699ed0c969da1da8c82c523d0003c3d6030b533339a2bccd418f92ff815d055bc9c74ad37b7794c32379896af4cea697c7031eb85996fc2db62cda104530537a87986ff86384c4336af7b7957d6f19f5eb610345cd339d678e7eaa2d3b56a7e5e7bb4beda1de1bfd83154d5801811be1ccc67c035f7f0be1ed33fbbf47f59ec5c08a8c87239499f136fa100c85a33569a725e02c037177fde17db16865863c77771dfc5a55eb5556ba93952aedc56a1994c64edbbc03f82db1002b93cf0ac276ef9c9bce34ce863eca59bcdbd0fa6968d2ccbed9694503918cb5ab7e3139cb46b58aba152737524b7f788156a061a7ffbe38d17d474f3e033106a3291ded7c9ccdc504ce308784145b34634da43d555d7860b7098cec992603a98f0f05c34a997d56d71694678d348cb7cc1fb3488be5a251dab1a2fe7277e7037e4578555a905e2ded3bd37ed86d40222ac3e7029e84e33207bf7daf0d29429c036032ff3c769cb01294fa2c7cc45fb7de8152d77cff25a4af7cf5717395c1fc5b0385cc9d659f561f06e08e3775fd105cf0b0390df1bcd3089a88aca9b3132fdbec03d316e6a057478af6d9bf8a0ce1ae48f189c3644aad2a1e74673da3752f8eefbb036a3a20a8b2c421b1633a192d3968ebb9e7cfb6cb019caa068e4089e39223c8890319881b88a969d2d26cd36b203a4932e6ea3b5dd7de4dba420efab59b7fd3c05f032009c8b8c2c1928dd718fa9002e7ddf34dcb7b0c4df522f11366388b03fee37c03f0edd2c5ec0fa768d4a50b1cfa8d411b844233974c6e3f4b2da9c3d6fb84063b03000494f03280a6c3d10f2e5b438056e76df4598261e4044981bed0463650d3f6039f559021d8d1808322058b962d78a8461c0888e513a052c3d4a7633af04dc2fe0369d8bc1658342bade31d0686c1dd5017edcd50716ad7bbce700287b6ff0f1e26034a00154f7fe1a5a0c6e80f1a095225642426c7f0e929db1e7f323eee75b8d48b03095756e6c386a910241c65ff1cb373573a0a43d13fc8929bbf77491a307e1f3e033d8cdbc3316b22cbce857c92468475fe50acb6fcba36614f18395df624f84be203f7e320af0685cba116ce9920641e93286ae49377ded7d5c99bb4b942bb7221f10358687493c237ff2c634128c9aeec9a7c36a164f52c530e633c7dfc9791b30d24031d7bc81de271088bcb992293bde378755f2dc7434944dc31c55199060c9d886f03ea2ea03475883f81512980130245a362e8e0b09cca871d621b543dcb4a8ce31a039c57d55a65392551d5beaae078e5a8e2037ff7128cfa804cbdbc9d5e84f1420d05581e0310705ae0997bed83efe47f231f53300185bd7228e7a488c3d54b260c800c034701831960e8c80005581e0362a59936cb0a1a75a681b73eb643d124a8ea1b2bfaf97b23396184a5c00c024701e53c99f7fbb805581e03f199e60a32371039dd196f492ce8a41c30c9c9727e866b68316e39af000c0246ed5d70faf3a005581e037a07abe9e41c1d91826b967fc4cf97ebf2ac653b16513c6629bbeafc000402034bff41b5a7131ca9923596fef5c94ed0b2587cc7e9529f75c9629ca171d5cb9705581e0372d5d94a0e455719c8fc6040db6f1e5bdbfb6af53310b0880ebefe1a800c024642cf8dfeab8805581e0389a0cbc1ef0e374cafe2b37b8a8016a5b944951fac1a30749489fdaa700c19022048023b9c8fe815cc2a05581e0367dcc56a7e7e64f6fbf98a447f3385c1358e0f59ba1398a40689446a300402033eff1b70d1e07d63a25c7896105520f522b0ae133ee22383b30bc53d0f804b4302198d7c032d55762313de41797f55bcf9a2de3f4e29b8af4e3bd6a521d71283e73a9792b20219ffff0219ffff03018c52555e2eca6fbd8a833f5f73d1bf34f1e5362edd01ed148306ea3c4b1680033fac7aee56b73d4e58a196ab12d6192a595459cdef0414f48046dfbfa172159d03a2ef5610659a7f21374498795ce1290163f7514a7d0f3a533941225a65161a4f03de38e9fbf9c76ef8eefd2163ca8c8aa3b99ffdbedb40cca23ac42090785692960321a8f3281088359873fd05e3e81ac7909cead1073a4b1778dd7d1a79e11c28d7031a25c79f757c46c2e76cf406932b862a15e32d0a725f790faa6093905a1edb7a0219ffff03929b82d057ebe5c08f90c233c176f3160f1b39966d88f7ab5e71a9ec6f05e39b037de58af9d0cb7c64e4e3717eff1996cac7f9f679ab5336f8339ccf1b7e8430690300015a9f8d5c9619f057a143c13146ebd18af41890b1348167357a717ecd6587038f7ccd69ecf9606133edaf4f1d202d9c4d56d96d91b2986067c29a3c295cd8fc030d08a6d425fb31c39e584c88e1da07a9a3ce99eff9680e78d43d068986e0eb8603c042ffcebaa88031b4408e222d56267ae28c89e07630838509b7cbb76b2a8fb9039f41d5b50099e96ed52b85e46ac2e4b912d6dc2ca91d609afa84e04629dbbd350374fa47aeb7c80edddb502a50a1745b8619e9def8b3c0c051c6e895b98b01eefc0382e21518d7cbfee05ec775169e3b8878c494e8dab24d5d2b11ddd6ce7c52653e03e1045fcb8d010c2184efde6be697e610eddeba41d7616ce7efbc42e99edcc27503706eb168fe704f37f15c39942606056ec803a8f467653ab1535dd9043fea4d6d03f6119067b7c3154a504a3ed3133f356134bdb1282441e9e0361453b6dc1c0f320372d81cd49117142539bc00d6dbaab4ea45fc7c104b7f60cac8994bcc7eb3859f03eefca7e970b520dfdea326e30c3b51c269457145ac826c9bf538e9ce8045e58d03a00f21ead9b31f459d74eb2b2b2711496d83efc694b202b2a5f598e6b5ee6a94030d3f74127249768d7fd8b513d102e6d65ba791e5c737a6026b21e85fc0ee9d85031d6a54f93a9672ede34b7ea218340062ff37269ca1bf4990f8b0407ff5bb5e7b032c5aaa9d85951730837522ad830aab1221733d83426dbec630412e4dffae4f6b03203d5c1c1463586c15fc423a3e2127a360483743e9cc97a5bbae0cd5a32dba5a0322a0b35c97011d33087d58d7ef4fe14d694dba0863d6d588c9e1323ddb59242203cda19f2e6adc2549830db5c15ee14b7c2bc8c954fea27f1248ea243133b8e20003a4561f5d7bf44ddf6755fe4211a00638a15aabe712b414a7c60ee09252e9da8703775c9d25a0eb0b9ea1127f776b6b07f4edf4cf0edd78c19efb2446486c49bc57037471ac1e50dc8bd816cf584314545782bb7d9bb746003a2ddac41322f930b72a03e9f761733cbaa988de202ed40a00c418bb2b733d8b20b74aed05e002cd1c1d2003fc5c9b6a8ffdcfe05489fa8af5bdb880fd6d7ba65399445d608ac951bdfa2d5b0385a0d1139ac27c7222d81ef105dcb637f6ff9a2eccf353494d25dad00e07c08d0397a955624349368ea65546a01c02c426e1b4d463cad270f9f044b543150dc6b703f5472c0bc79fcca392c20b6687c73830d442e50fa70cdf813a3f84239d6defcd03e37bd1ec1098b565d5c73957757c5d855f937e6f12dd5f8d2953c9cf57b0ecd6032cf82f2812ef0da467fe5168f2fd6a6cf53300250210fdc9343e3449bde1add003c447303269a0cdf3c03bdb9ddd9e744c1390a6a027c6d4473881fa4c6938d37b03dad76adce528593df47eb313b7d1f4ed58269bdd36f659a1d202fbc575d0e6b0036e8cf2e205d9097e764e346171b4ecc334008ecf78ead0b8e14cbc6e831a6b1305581e03923467ffc745a647478f340ad1b7da39b7f2dcf81ca232e71cac507c10040105581e0388f9a6b444e8ddf31841c33dbbfabbf8ea86375712742eeabfed584e400401037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03b5042d1fde5042ec6c13eda5e73ee950fa944ec705b962151ef07a7a6007011bffffffffffffffff05581e03bc2ca931ccdf876a986c2201901a68059ab758a0dfe04fb586d5cab1f00c014612821a856c0005581e03f35482ccd97c07bdb31e5bd5a44498e4a9b9d103ffbfc722403dd367800c03473bdfd9c318ac0005581e03b04b5c8476788f82ddc16125f98be2f7de2ff2a75faedb4eb8a586a2d00c02470642901fa25d0905581e03d452b3c0b880b93507276d8146d916893aa017391a3da7f8d12301e330040205581e037a36934166c8704960e5edfab5eff027f4cd95ebef49c49692372e58600c181c471b428eb827c85e05581e032d26d65d636931ca79ab82f402af7ec83ed1d86be53debed7fcec2f9d00c18a54803063c8ba60a90a003b4194876cd77759d9602758bde90349768d897bc4f59098ab20222499c04722005581e035254d212807d7fbde11a947dc079d28a87c98adf5d4e46bab1f6b80c200c0247017f50cd96480002198dfd034ce4445c8586d66b4f264f545f8ffa72b0860d0deaa490254b1e7296338d76ef0317e8105fcb83ce484cd3c7ac655fa8ce8d855ddf8e2ca576725614c101a058b0035a2fdfa237f43540708d458e302752910969915581594e12e03c1228819f45bc0219ffff031e87f345986474bc25adf53abce189827336d65255e4bf2a200daa6ff694f4a30331a1db4b3f78fcf3d7d5b5e6b96576196ed73615c93c76bd767ef366b61ff97a032064da076654576612e5db4b05e52a709a3fdb69f9e57c51e439120559d73f4703006c437bf5a79aa0693640bac635c6ca944a2b961563fe572cd806f018c7ae090377b83bbbef94bfee2aa10c07ee83b73004be9c7acd30cc59ce03fc4e0744e1f7031acc6aaf958d391ae7519e3ebb551c9d53d526008c6f2d1192e84c25f29451a90384155bb1b7ca88fe23b856c423d268931ee8610098409dc1ad39a9162a7da5dd03ac8ebbbcb09843bc93ab53453ef8ec505d219bfce512ed6b317c774b83299ff60219ffff0219ffff03e716338180f9b6cff04483f316e9630c82d52ab242df6a6e5416194bdcfaf69003e967f976d92c7c024ea9e2e99635ba2daa8f9dac16109c4d980eee046159d4a003c738b4cecbae26bcfd587345c26e257fff9c15c22bdc954412eceac5fcde71d40356a90a3a8d760f7d5807e4acc9a5db4365110d94a3b2892d33fbb511dd1c484e03a4fd64b6ce201c6b3bc7fae1858cdb8d7300e211ec2932f273d6a18d316fefd303e433bd160db5633c18d66b920f7bc55780fe5b4d6217a308f3bd229c11fb1cb303f336db1d2c767d0a5d3d6dde1db2716c77820b2b65f95cec39496b26c55cfe3d039d8449d28ae4630022c89791daa6aa19ba6df3ea9b9b86a1c25c220f885bfbbb03aa6c496f6b0acbf1cb71539c17183fd19f898843778b8b7f4dc479d0a1dd4c2f032a0622cbc06a6e7eecfc2b2579f7e8b8bb19bac4069a007343c04433bded1bd503381c26d0f6ef0894af63e2c35058b64ecf353e95318029b0aec9c62f52bcb7cd0313568d9202ab4953fb6cc87e3bc403d252542db3511739cddc0239685b224c510353c13984130148f55c7a16670f29c22cb0577750104a472ff6c6da2f4a6ff1dd0350e87ec0551902287eb8049e1dcceea5a021d8af4f8a99a8f06ac9615d6ff38e03a3039a279aaf73cc9202d970047340f71af4f80357b29412de6c22a313f7986e035087bf76cbbcd59d9ed8c4304282c402e8a93e019f7102288ead07b841d0f44f03edf92ae884b21706de640ed411e223fd858a5320ce1d3fc84a1a63440f5a618403f1669e9cc147837d54a741a616b445e6131863a202d838bb4930966d39c925f103ea879cd70a17eafc824fa90b3d08db00955005c39747c4e327a66afaeef7803d031ea730ae47e73ad0222f5cc77427b05bd618415ca81ec0346865551f59e49f29031338f87cb0857cdcb21d824f2d6822145edda8b7a83cbd73ea27ff95e3c9aadc03e0be288a7a85bc9f35db0932edcf563d662fd758b4c9cfb3f9ebaceddc21340f037869b1b5a872ddc447187802628984ab4980a5c215afa1b6522acad918d9f7eb03dcbd419e5ba6c47421f937e7b066c31f34232c4e726c029e98b6195d9db7b13203dd45c12ec00f18483cf6a5bfb9ca84e39cc9d93a29170a5b62ce150a7588e5f703e9d4dcf791fac2fb107d226648bf2ee72ff576998d878e149e015a808579867903f33a72f0eb6e3c747fd2f614b0affe6b8f179e961018a55887203fd550c71a3603971c3180a29eb5c9a24adc1148b89c8b619710121a6873b0f12d0667588a2fae0339d412ad61676b99cee110c50ba71b66565777f6782512648f2bc38a5a69d529037e6a78221f955f45eb1df0073ac8ca6c6983429200a4deddce023acc93052d02030324c5567952fa320ad0f98250e28365d1e4eaa65c57078692cec3459c26aa170385e0a6cf1eb5bd5fcbe4214409e2ef81bf7d991215676c93b14fe9e801045ab20372b410f337e24c14dcc102687af8cb6ab6fe40f348dd1b9099734660b5458596039e4e2c2b29b68419c713408defcf728106056e8eda1fca1e202011ea264f1dff05581e03988735ff52458e3a9a9305666eeef84ec0ead1f3d383db33854c84f650040103bee884ea12c6f036664499088381149941fb088690c2f2d13808154a6cfa881a05581e0355083e86b5044cc80107a273beb0ff1f854868aff355a96a2afb4ed10004010353bc80d6aca2c38ac018a82496880289f041501d823db2e367dcef9ad045a82505581e0385a68bca3026110269d9eaae64b3070999cb964bfa6646c2a4b6c1d20004010459184a608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638da5cb5b11610104578063d5ad4a97116100a2578063e3176bd511610071578063e3176bd514610403578063f2fde38b1461040c578063f7013ef61461041f578063fd0ad31e1461043257600080fd5b8063d5ad4a97146103b0578063d7704bae146103c3578063d99bc80e146103d6578063e172d3a1146103e957600080fd5b8063a85006ca116100de578063a85006ca1461036e578063ae453cd514610377578063bb7862ca1461038a578063bdc6f0a01461039d57600080fd5b80638da5cb5b1461033757806391652461146103485780639b1597821461035b57600080fd5b80635d62a8dd1161017157806370cee67f1161014b57806370cee67f146102e2578063715018a6146102f55780637d82191a146102fd578063897630dd1461031057600080fd5b80635d62a8dd146102b35780635e45da23146102c65780635f9cd92e146102cf57600080fd5b80633e83496c116101ad5780633e83496c1461025c57806355f613ce146102835780635ad9945a146102985780635cd8a76b146102ab57600080fd5b806329aa604b146101d45780633cb747bf146101fa5780633e6dada114610239575b600080fd5b6101e76101e2366004611381565b61043a565b6040519081526020015b60405180910390f35b6102217f0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b36781565b6040516001600160a01b0390911681526020016101f1565b61024c610247366004611381565b61045b565b60405190151581526020016101f1565b6102217f00000000000000000000000072cacbcfde2d1e19122f8a36a4d6676cd39d7a5d81565b61029661029136600461139a565b6104a5565b005b6101e76102a6366004611424565b61065e565b610296610853565b606854610221906001600160a01b031681565b6101e7606b5481565b6102966102dd3660046114aa565b6109e9565b6102966102f03660046114aa565b610a43565b610296610a9d565b61024c61030b366004611381565b610ab1565b6102217f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e55681565b6033546001600160a01b0316610221565b610296610356366004611381565b610ae7565b6102966103693660046114ce565b610ca0565b6101e7606a5481565b6101e7610385366004611381565b610d20565b609854610221906001600160a01b031681565b6102966103ab36600461152a565b610d47565b6102966103be366004611381565b610e32565b6101e76103d1366004611381565b610e80565b6102966103e4366004611381565b610e90565b6101e76103f73660046115a6565b60100261520801919050565b6101e760975481565b61029661041a3660046114aa565b610f65565b61029661042d3660046115e8565b610fde565b6069546101e7565b6069818154811061044a57600080fd5b600091825260209091200154905081565b600881901c6000908152606d6020526040812054600160ff84161b161515801561049f5750600882901c6000908152606c6020526040902054600160ff84161b1615155b92915050565b337f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e5566001600160a01b0316146105225760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792063616c6c61626c6520627920746865205363726f6c6c436861696e60448201526064015b60405180910390fd5b61010082111561056c5760405162461bcd60e51b8152602060048201526015602482015274706f7020746f6f206d616e79206d6573736167657360581b6044820152606401610519565b82606a54146105b45760405162461bcd60e51b81526020600482015260146024820152730e6e8c2e4e840d2dcc8caf040dad2e6dac2e8c6d60631b6044820152606401610519565b600883901c6000818152606d6020526040902080546001851b6000190193841660ff871681811b90921790925590929190610100818601111561060f57600182016000908152606d6020526040902061010082900385901c90555b505050818301606a5560408051848152602081018490529081018290527fc77f792f838ae38399ac31acc3348389aeb110ce7bedf3cfdbdd5e66792679709060600160405180910390a1505050565b6000607e8161070a565b60008161067757506001919050565b5b811561068d5760089190911c90600101610678565b919050565b8060808310600181146106ca576106a884610668565b60808101835360018301925084816020036008021b83528083019250506106eb565b84841516600181146106de578483536106e3565b608083535b506001820191505b509392505050565b806094815360609290921b60018301525060150190565b6005604051018061071d60018c83610692565b905061072b60018983610692565b905061073789826106f3565b905061074560018b83610692565b905060018614600181146107ad5760388710600181146107925761076888610668565b8060b701845360018401935088816020036008021b845280840193505087898437918701916107a7565b87608001835360018301925087898437918701915b506107c0565b6107bd6000893560001a84610692565b91505b506107cb8c826106f3565b905081810360008060388310600181146107ff576107e884610668565b60f78101600882021b85179350600101915061080a565b8360c0019250600191505b5086816008021b821791506001810190508060080292508451831c8284610100031b17915080850394505080845250508181038220925050508092505050979650505050505050565b600054600290610100900460ff16158015610875575060005460ff8083169116105b6108915760405162461bcd60e51b81526004016105199061164c565b6000805461ffff191660ff8316176101001790556068546040805163e3176bd560e01b815290516001600160a01b039092169163e3176bd5916004808201926020929091908290030181865afa1580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610913919061169a565b609755606854604080516393e59dc160e01b815290516001600160a01b03909216916393e59dc1916004808201926020929091908290030181865afa158015610960573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098491906116b3565b609880546001600160a01b0319166001600160a01b03929092169190911790556000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6109f16110fb565b609880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907ff91b2a410a89d46f14ee984a57e6d7892c217f116905371180998e20cef237e590600090a35050565b610a4b6110fb565b606880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f9ed5ec28f252b3e7f62f1ace8e54c5ebabf4c61cc2a7c33a806365b2ff7ecc5e90600090a35050565b610aa56110fb565b610aaf6000611155565b565b6000606a548210610ac457506000919050565b600882901c6000908152606d6020526040902054600160ff84161b16151561049f565b337f0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b3676001600160a01b031614610b2f5760405162461bcd60e51b8152600401610519906116d0565b606a548110610b805760405162461bcd60e51b815260206004820152601b60248201527f63616e6e6f742064726f702070656e64696e67206d65737361676500000000006044820152606401610519565b600881901c6000908152606d6020526040902054600160ff83161b16610be85760405162461bcd60e51b815260206004820152601860248201527f64726f70206e6f6e2d736b6970706564206d65737361676500000000000000006044820152606401610519565b600881901c6000908152606c6020526040902054600160ff83161b1615610c515760405162461bcd60e51b815260206004820152601760248201527f6d65737361676520616c72656164792064726f707065640000000000000000006044820152606401610519565b600881901c6000908152606c602052604090208054600160ff84161b1790556040518181527f43a375005206d20a83abc71722cba68c24434a8dc1f583775be7c3fde0396cbf906020016109de565b337f0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b3676001600160a01b031614610ce85760405162461bcd60e51b8152600401610519906116d0565b610cf38383836111a7565b3373111100000000000000000000000000000000111101610d1981866000878787611281565b5050505050565b600060698281548110610d3557610d35611716565b90600052602060002001549050919050565b337f00000000000000000000000072cacbcfde2d1e19122f8a36a4d6676cd39d7a5d6001600160a01b031614610dce5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c792063616c6c61626c652062792074686520456e666f7263656454784760448201526561746577617960d01b6064820152608401610519565b6001600160a01b0386163b15610e115760405162461bcd60e51b81526020600482015260086024820152676f6e6c7920454f4160c01b6044820152606401610519565b610e1c8383836111a7565b610e2a868686868686611281565b505050505050565b610e3a6110fb565b606b80549082905560408051828152602081018490527fa030881e03ff723954dd0d35500564afab9603555d09d4456a32436f2b2373c591015b60405180910390a15050565b60006097548261049f919061172c565b6098546001600160a01b031663efc78401336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610ee6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0a9190611759565b610f275760405163181f985f60e21b815260040160405180910390fd5b609780549082905560408051828152602081018490527fc5271ba80b67178cc31f04a3755325121400925878dc608432b6fcaead3663299101610e74565b610f6d6110fb565b6001600160a01b038116610fd25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610519565b610fdb81611155565b50565b600054610100900460ff1615808015610ffe5750600054600160ff909116105b806110185750303b158015611018575060005460ff166001145b6110345760405162461bcd60e51b81526004016105199061164c565b6000805460ff191660011790558015611057576000805461ff0019166101001790555b61105f611327565b606880546001600160a01b038086166001600160a01b031992831617909255606b849055606580548984169083161790556066805488841690831617905560678054928716929091169190911790558015610e2a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6033546001600160a01b03163314610aaf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610519565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606b548311156112075760405162461bcd60e51b815260206004820152602560248201527f476173206c696d6974206d757374206e6f7420657863656564206d6178476173604482015264131a5b5a5d60da1b6064820152608401610519565b60108102615208018084101561127b5760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420676173206c696d69742c206d7573742062652060448201527261626f766520696e7472696e7369632067617360681b6064820152608401610519565b50505050565b60695460006112958883888a89898961065e565b606980546001810182556000919091527f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308018190556040519091506001600160a01b0380891691908a16907f69cfcb8e6d4192b8aba9902243912587f37e550d75c1fa801491fce26717f37e90611315908a9087908b908b908b9061177b565b60405180910390a35050505050505050565b600054610100900460ff1661134e5760405162461bcd60e51b8152600401610519906117c9565b610aaf600054610100900460ff166113785760405162461bcd60e51b8152600401610519906117c9565b610aaf33611155565b60006020828403121561139357600080fd5b5035919050565b6000806000606084860312156113af57600080fd5b505081359360208301359350604090920135919050565b6001600160a01b0381168114610fdb57600080fd5b60008083601f8401126113ed57600080fd5b50813567ffffffffffffffff81111561140557600080fd5b60208301915083602082850101111561141d57600080fd5b9250929050565b600080600080600080600060c0888a03121561143f57600080fd5b873561144a816113c6565b965060208801359550604088013594506060880135611468816113c6565b93506080880135925060a088013567ffffffffffffffff81111561148b57600080fd5b6114978a828b016113db565b989b979a50959850939692959293505050565b6000602082840312156114bc57600080fd5b81356114c7816113c6565b9392505050565b600080600080606085870312156114e457600080fd5b84356114ef816113c6565b935060208501359250604085013567ffffffffffffffff81111561151257600080fd5b61151e878288016113db565b95989497509550505050565b60008060008060008060a0878903121561154357600080fd5b863561154e816113c6565b9550602087013561155e816113c6565b94506040870135935060608701359250608087013567ffffffffffffffff81111561158857600080fd5b61159489828a016113db565b979a9699509497509295939492505050565b600080602083850312156115b957600080fd5b823567ffffffffffffffff8111156115d057600080fd5b6115dc858286016113db565b90969095509350505050565b600080600080600060a0868803121561160057600080fd5b853561160b816113c6565b9450602086013561161b816113c6565b9350604086013561162b816113c6565b9250606086013561163b816113c6565b949793965091946080013592915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000602082840312156116ac57600080fd5b5051919050565b6000602082840312156116c557600080fd5b81516114c7816113c6565b60208082526026908201527f4f6e6c792063616c6c61626c6520627920746865204c315363726f6c6c4d657360408201526539b2b733b2b960d11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600081600019048311821515161561175457634e487b7160e01b600052601160045260246000fd5b500290565b60006020828403121561176b57600080fd5b815180151581146114c757600080fd5b85815267ffffffffffffffff8516602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212204fa949da5a6f969c6a44c7a0a63bdcaf482a68da34d665a46449b23066c0951564736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e0312471120af6c2769bbf7bbe7bdb03e254fd656be940b7b514ef0191c90070119184a05581e0349e9e7725b0c78cee3902c5c959188ad900b63dd107b31d3e02d4ceb900401033e9e91090a30aacb9ff1c5a0b7df5d51b2d15179676898c9d6f6f049e41f504005581e03c8259f2d0bf9e7e34ae27ae3614607615ef1329a4b4d930e80d76b1c80084806c810e86bfe8c000343a92124021391bcc1ff7b583d94795cff03ae1b4a424f94b8f7cffeb5b64ee90219bf2f03eccee682643563bc20e93740fe4f8177a4d7e06b87ab93976577c37831c7ff380389dd05efc1e404617e1e9d65b73edb0bb2482cabccd7ed2ac93ad971df9e97dc03e572b4f8e1a0d9b4b7bc2debc24ad40991808044e2e6402fdf2ab1baedd5882b03ae31630f75c42969df7d9e57342a24982245fe1d6592cd4def211bab26938578031a2fa4b7b216b075f4f828c893baa3c2370ea6ca7ce1c7a89918140143d6446403b4e3d667c5960e58f72b930485cc672867cb9ab77a960281e4f5a7646a9418ce0219ffff037ff354709c9f08e3833470f71abc73426ceaf7e7fdf12865853fc3e2cd79c1ab03277939af1a90cb6b0284d26b7d8689ff30f20f51d7250882cb5b1916fd28528703ca7349510495ee80e61d00c2e7ddd95439981a71df71603f941a52e84a6620ac03bdbf4065f1dc610c1ca154612275db155cc9f6b232e542ee45092da3ba5336ad03c504cac6634936781046835f48ad3d09163c3ce5912bc11e7507008b10bed3b9038fd87a2ef32e663aaa76c7b739427597e6d32d61d6d2fc7603a6bf9c9e52b90d034f2fff825582ba58baa98d5cb765d576c4fd9f4882605e0655b28d67e68a37700358d4f30f444aa47c52a647d4e7ffe381db407232d8a403561f25c669d97e528f0219ffff03016ecc02149e7c9875247957d718d139da3a38c6899f8d49d5129d55d55ba6bb0364475d1421b8a7b73fe369a13be3f89c7223b8a82f1589d250db56f094c9739503197f8f82ba52751b8425058dec85fe84c4a599eea2de06f8097054f94e6e4c6003548dab0eea8d9ea170815ffb3124ef2099c5d1486d601f7cb593a89e5b806c3d03a924d9558a0f2a93726febd2d09eaa49a2546ad2bef04b4c2203d6ba4132d03f036de4644771a848fc5384d41df33ef485028b73a79e26c0b28173cf59289322330219ffff0219ffff03111f993bfb10a362b9a400de2ef313ee5c2778a1c725302eff01f3b0a4898c15030d5b220ba1de896fdb939bf6494ff962a5ceeecdd4070a6fef8d55127e8f5510035105269af79d4603e16745f6ba0c9bda669f7889128c27d77c28954c2e620d9603b6736f8a2d412f57922629ba0ed6000337a6db6da3a36ea8f36276aaf2046bb5037116db13a8e4bd1bb021d3987254074b16afba2a24279c80816f9a9baeb700ca039dff8caa8a3ed2d0ede963568f86b90bde9f55ebcdfefcc9156eecf6671dbcf0033b80b69f863894cb3b429977271efa3cc2c416ab5dca25eb3ded3b604a9bb3e103635d7f93b083d595ee8aa00f4cc4ddad2a53f0813ec0f6e8653285f31a1e99c403e964b194b5cdc3706cf8ff62ff636bb03be19f06b91d9e5c7681444b9216d873030fee67cc79b1b79b59e758e784929c10dfc65df1be6e0b7ea0e96a023e5e4feb036d4b2dd956934f327132b2aa0536d23831be8aec589c168a3074939d395f0fe0034ea1098fb99b99cbd36cc30f2f0c029d6b3d7c04fb0a28226c069e7a319dfb0a03d47bb1152815a9a48a3b737ef18bd707dc1faac69cf27027225ec047a66593f0037a972de154b3fc497d655989cc55e9e6a1371eaefcd47fe39daa71e518c5bbfd038d1a6d21ad1d5e74d6826fc14b53efb5d6bc52696c93872183716631bdc0e7ce03a2ff22322ea816f3a147668d8983a5750be819c86f9786f1a8076e1c9a6b11ce030c86728450a7ae641630473062f30331e392dd415a9713d1140158b145f7e1ba037f6a69166f07d02a8ae2cb5628b92580a39a2ff5d9262cf44ad27b88382af109030aad3d9484b105a6cd7f11774a6698a0548bec5711ba094a60b911e88304728a03f9f5200e26b1627cf191c257a86cb6d9328e051f5930819945cf73b95445619a0305b65639fc7ad58bb1e61c43318f96a3667872dc410b0d0aa0f94ea3db16e6f00309be270c5e2b4bec9187d9f37aec0cfcb8608b9245e62a604da1dcfd5fa249660373e4d0b9269483794a4461cbaca876637964914cd7c0f5ec975040649f8247730377592779aa13b4e53d6541b2b3b7d5ba7f76e19f0095708a4637418b8106b1840361a2c7920ecfc0363529d3eb8ea5bf8cb3d373d20732217ace8db79b99507ec003488eae0e9c4edba87216c9997bb6616e8f2fb29cd232d3e19ddbae7a001cd7b803d688e646c51e4629b0c033fd546a945e8edd7af004b9ddd4a9e4b12abf26fc4d03784de892c4cf8dfca062fbf1e276a44b26e6e4ec8613c86bdd385d3f26ed5de1030144d01a0fd1315978e8b0e7fe40506476eb404ec7bd1db56c4b11cb1c07fc6c0335d23bc43425b4109125f170690e3e961bed1f9882355751d6d190ef77a81acb035fa0e6a01dcd8c7501a51dcf45b86299710d6efc9434ec5ab723b5a4aadfe89703fd9a4aec0f54d38a212632d95389d519b942e6a475e7c79929a050dfa7d32daa033dd9fbcc990aaeef99e0d923da2ba6541c57c17c38561cf49ca341789b0490d00340757429421ef3de15edcacd5786f473ddb5526a5de61db7ab15204691d3f45103c0405bad80deb771ad7239b3445fe79fed31cfc0230dbdfdcedd491a78a3bf2905581e03d8c51371281dbbf9b643b7077ec7f4c15e5659b9fb00c3c732e324c1200c0147118227524a080003ff06fe675c14a24d4c8ab53a77af856110788e66abc24313f456a2ea750276720351e0a2c14d89466b8342ba11b83f83f38abc0a8e2b692a8d96caeefc0b91528805581e03c176ee446ec5f2462cd5878fec19fdab14cd2f29db96be19f73c1a84c004020459591b6080604052600436106101db575f3560e01c806383f24403116100fd578063ccaa2d1111610092578063ee25560b11610062578063ee25560b146105a9578063f5efcd79146105d4578063f811bff7146105f3578063fb57083414610612575f80fd5b8063ccaa2d111461053b578063cd5865791461055a578063d02103ca1461056d578063dbc1697614610595575f80fd5b8063bab161bf116100cd578063bab161bf146104b9578063be5831c7146104da578063c00f14ab146104fd578063cc4616321461051c575f80fd5b806383f244031461043d5780638ed7e3f21461045c578063aaa13cc21461047b578063b8b284d01461049a575f80fd5b80633cbc795b116101735780637843298b116101435780637843298b146103c257806379e2cf97146103e157806381b1c174146103f557806383c43a5514610429575f80fd5b80633cbc795b146103385780633e197043146103705780634b2f336d1461038f5780635ca1e165146103ae575f80fd5b806327aef4e8116101ae57806327aef4e81461026d5780632dfdf0b51461028e578063318aee3d146102b15780633c351e1014610319575f80fd5b806315064c96146101df5780632072f6c51461020d57806322e95f2c14610223578063240ff3781461025a575b5f80fd5b3480156101ea575f80fd5b506068546101f89060ff1681565b60405190151581526020015b60405180910390f35b348015610218575f80fd5b50610221610631565b005b34801561022e575f80fd5b5061024261023d366004612fb9565b610666565b6040516001600160a01b039091168152602001610204565b610221610268366004613040565b6106d0565b348015610278575f80fd5b50610281610759565b6040516102049190613102565b348015610299575f80fd5b506102a360535481565b604051908152602001610204565b3480156102bc575f80fd5b506102f56102cb36600461311b565b606b6020525f908152604090205463ffffffff81169064010000000090046001600160a01b031682565b6040805163ffffffff90931683526001600160a01b03909116602083015201610204565b348015610324575f80fd5b50606d54610242906001600160a01b031681565b348015610343575f80fd5b50606d5461035b90600160a01b900463ffffffff1681565b60405163ffffffff9091168152602001610204565b34801561037b575f80fd5b506102a361038a366004613144565b6107e5565b34801561039a575f80fd5b50606f54610242906001600160a01b031681565b3480156103b9575f80fd5b506102a361088e565b3480156103cd575f80fd5b506102426103dc3660046131be565b61096a565b3480156103ec575f80fd5b50610221610993565b348015610400575f80fd5b5061024261040f366004613204565b606a6020525f90815260409020546001600160a01b031681565b348015610434575f80fd5b506102816109b4565b348015610448575f80fd5b506102a361045736600461322c565b6109d3565b348015610467575f80fd5b50606c54610242906001600160a01b031681565b348015610486575f80fd5b5061024261049536600461332d565b610aa8565b3480156104a5575f80fd5b506102216104b43660046133c3565b610be7565b3480156104c4575f80fd5b5060685461035b90610100900463ffffffff1681565b3480156104e5575f80fd5b5060685461035b90600160c81b900463ffffffff1681565b348015610508575f80fd5b5061028161051736600461311b565b610cc2565b348015610527575f80fd5b506101f8610536366004613441565b610d07565b348015610546575f80fd5b50610221610555366004613472565b610d8f565b610221610568366004613556565b6112c0565b348015610578575f80fd5b50606854610242906501000000000090046001600160a01b031681565b3480156105a0575f80fd5b5061022161172c565b3480156105b4575f80fd5b506102a36105c3366004613204565b60696020525f908152604090205481565b3480156105df575f80fd5b506102216105ee366004613472565b61175f565b3480156105fe575f80fd5b5061022161060d3660046135e6565b611a25565b34801561061d575f80fd5b506101f861062c366004613689565b611d40565b606c546001600160a01b0316331461065c57604051631736745960e31b815260040160405180910390fd5b610664611d57565b565b6040805160e084901b6001600160e01b031916602080830191909152606084901b6bffffffffffffffffffffffff1916602483015282516018818403018152603890920183528151918101919091205f908152606a90915220546001600160a01b03165b92915050565b60685460ff16156106f457604051630bc011ff60e21b815260040160405180910390fd5b341580159061070d5750606f546001600160a01b031615155b15610744576040517f6f625c4000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610752858534868686611db2565b5050505050565b606e8054610766906136ce565b80601f0160208091040260200160405190810160405280929190818152602001828054610792906136ce565b80156107dd5780601f106107b4576101008083540402835291602001916107dd565b820191905f5260205f20905b8154815290600101906020018083116107c057829003601f168201915b505050505081565b6040517fff0000000000000000000000000000000000000000000000000000000000000060f889901b1660208201526001600160e01b031960e088811b821660218401526bffffffffffffffffffffffff19606089811b821660258601529188901b909216603984015285901b16603d82015260518101839052607181018290525f90609101604051602081830303815290604052805190602001209050979650505050505050565b6053545f90819081805b6020811015610961578083901c6001166001036108f557603381602081106108c2576108c2613706565b01546040805160208101929092528101859052606001604051602081830303815290604052805190602001209350610922565b60408051602081018690529081018390526060016040516020818303038152906040528051906020012093505b604080516020810184905290810183905260600160405160208183030381529060405280519060200120915080806109599061372e565b915050610898565b50919392505050565b5f61098b848461097985611e7c565b61098286611f66565b61049587612047565b949350505050565b605354606854600160c81b900463ffffffff16101561066457610664612114565b60405180611ba00160405280611b668152602001613d80611b66913981565b5f83815b6020811015610a9f57600163ffffffff8516821c81169003610a4257848160208110610a0557610a05613706565b602002013582604051602001610a25929190918252602082015260400190565b604051602081830303815290604052805190602001209150610a8d565b81858260208110610a5557610a55613706565b6020020135604051602001610a74929190918252602082015260400190565b6040516020818303038152906040528051906020012091505b80610a978161372e565b9150506109d7565b50949350505050565b6040516001600160e01b031960e087901b1660208201526bffffffffffffffffffffffff19606086901b1660248201525f9081906038016040516020818303038152906040528051906020012090505f60ff60f81b308360405180611ba00160405280611b668152602001613d80611b669139898989604051602001610b3093929190613746565b60408051601f1981840301815290829052610b4e929160200161377e565b60405160208183030381529060405280519060200120604051602001610bc394939291907fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051808303601f19018152919052805160209091012098975050505050505050565b60685460ff1615610c0b57604051630bc011ff60e21b815260040160405180910390fd5b606f546001600160a01b0316610c4d576040517fdde3cda700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606f54604051632770a7eb60e21b8152336004820152602481018690526001600160a01b0390911690639dc29fac906044015f604051808303815f87803b158015610c96575f80fd5b505af1158015610ca8573d5f803e3d5ffd5b50505050610cba868686868686611db2565b505050505050565b6060610ccd82611e7c565b610cd683611f66565b610cdf84612047565b604051602001610cf193929190613746565b6040516020818303038152906040529050919050565b6068545f908190610100900463ffffffff16158015610d2c575063ffffffff83166001145b15610d3e575063ffffffff8316610d66565b610d5364010000000063ffffffff85166137ac565b610d639063ffffffff86166137c3565b90505b600881901c5f90815260696020526040902054600160ff9092169190911b908116149392505050565b60685460ff1615610db357604051630bc011ff60e21b815260040160405180910390fd5b60685463ffffffff8681166101009092041614610de3576040516302caf51760e11b815260040160405180910390fd5b610e168c8c8c8c8c610e115f8e8e8e8e8e8e8e604051610e049291906137d6565b60405180910390206107e5565b6121c2565b6001600160a01b038616610f6057606f546001600160a01b0316610efa575f6001600160a01b03851684825b6040519080825280601f01601f191660200182016040528015610e6c576020820181803683370190505b50604051610e7a91906137e5565b5f6040518083038185875af1925050503d805f8114610eb4576040519150601f19603f3d011682016040523d82523d5f602084013e610eb9565b606091505b5050905080610ef4576040517f6747a28800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50611256565b606f546040516340c10f1960e01b81526001600160a01b03868116600483015260248201869052909116906340c10f19906044015f604051808303815f87803b158015610f45575f80fd5b505af1158015610f57573d5f803e3d5ffd5b50505050611256565b606d546001600160a01b038781169116148015610f8e5750606d5463ffffffff888116600160a01b90920416145b15610fa5575f6001600160a01b0385168482610e42565b60685463ffffffff610100909104811690881603610fd657610fd16001600160a01b0387168585612354565b611256565b6040516001600160e01b031960e089901b1660208201526bffffffffffffffffffffffff19606088901b1660248201525f9060380160408051601f1981840301815291815281516020928301205f818152606a9093529120549091506001600160a01b0316806111f5575f6110808386868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152506123d592505050565b6040516340c10f1960e01b81526001600160a01b03898116600483015260248201899052919250908216906340c10f19906044015f604051808303815f87803b1580156110cb575f80fd5b505af11580156110dd573d5f803e3d5ffd5b5050505080606a5f8581526020019081526020015f205f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060405180604001604052808b63ffffffff1681526020018a6001600160a01b0316815250606b5f836001600160a01b03166001600160a01b031681526020019081526020015f205f820151815f015f6101000a81548163ffffffff021916908363ffffffff1602179055506020820151815f0160046101000a8154816001600160a01b0302191690836001600160a01b031602179055509050507f490e59a1701b938786ac72570a1efeac994a3dbe96e2e883e19e902ace6e6a398a8a8388886040516111e7959493929190613828565b60405180910390a150611253565b6040516340c10f1960e01b81526001600160a01b038781166004830152602482018790528216906340c10f19906044015f604051808303815f87803b15801561123c575f80fd5b505af115801561124e573d5f803e3d5ffd5b505050505b50505b604080518b815263ffffffff891660208201526001600160a01b0388811682840152861660608201526080810185905290517f1df3f2a973a00d6635911755c260704e95e8a5876997546798770f76396fda4d9181900360a00190a1505050505050505050505050565b60685460ff16156112e457604051630bc011ff60e21b815260040160405180910390fd5b6112ec612468565b60685463ffffffff61010090910481169088160361131d576040516302caf51760e11b815260040160405180910390fd5b5f806060876001600160a01b03881661141957883414611369576040517fb89240f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606d54606e80546001600160a01b0383169650600160a01b90920463ffffffff16945090611396906136ce565b80601f01602080910402602001604051908101604052809291908181526020018280546113c2906136ce565b801561140d5780601f106113e45761010080835404028352916020019161140d565b820191905f5260205f20905b8154815290600101906020018083116113f057829003601f168201915b505050505091506116a3565b3415611451576040517f798ee6f100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606f546001600160a01b03908116908916036114c757604051632770a7eb60e21b8152336004820152602481018a90526001600160a01b03891690639dc29fac906044015f604051808303815f87803b1580156114ac575f80fd5b505af11580156114be573d5f803e3d5ffd5b505050506116a3565b6001600160a01b038089165f908152606b602090815260409182902082518084019093525463ffffffff811683526401000000009004909216918101829052901561157957604051632770a7eb60e21b8152336004820152602481018b90526001600160a01b038a1690639dc29fac906044015f604051808303815f87803b158015611551575f80fd5b505af1158015611563573d5f803e3d5ffd5b5050505080602001519450805f01519350611696565b851561158b5761158b898b89896124c1565b6040516370a0823160e01b81523060048201525f906001600160a01b038b16906370a0823190602401602060405180830381865afa1580156115cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115f39190613860565b905061160a6001600160a01b038b1633308e612860565b6040516370a0823160e01b81523060048201525f906001600160a01b038c16906370a0823190602401602060405180830381865afa15801561164e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116729190613860565b905061167e8282613877565b6068548c9850610100900463ffffffff169650935050505b61169f89610cc2565b9250505b7f501781209a1f8899323b96b4ef08b168df93e0a90c673d1e4cce39366cb62f9b5f84868e8e86886053546040516116e298979695949392919061388a565b60405180910390a16117086117035f85878f8f8789805190602001206107e5565b6128b1565b861561171657611716612114565b5050505061172360018055565b50505050505050565b606c546001600160a01b0316331461175757604051631736745960e31b815260040160405180910390fd5b6106646129b2565b60685460ff161561178357604051630bc011ff60e21b815260040160405180910390fd5b60685463ffffffff86811661010090920416146117b3576040516302caf51760e11b815260040160405180910390fd5b6117d58c8c8c8c8c610e1160018e8e8e8e8e8e8e604051610e049291906137d6565b606f545f906001600160a01b031661188857846001600160a01b031684888a868660405160240161180994939291906138f3565b60408051601f198184030181529181526020820180516001600160e01b0316630c035af960e11b1790525161183e91906137e5565b5f6040518083038185875af1925050503d805f8114611878576040519150601f19603f3d011682016040523d82523d5f602084013e61187d565b606091505b505080915050611983565b606f546040516340c10f1960e01b81526001600160a01b03878116600483015260248201879052909116906340c10f19906044015f604051808303815f87803b1580156118d3575f80fd5b505af11580156118e5573d5f803e3d5ffd5b50505050846001600160a01b03168789858560405160240161190a94939291906138f3565b60408051601f198184030181529181526020820180516001600160e01b0316630c035af960e11b1790525161193f91906137e5565b5f604051808303815f865af19150503d805f8114611978576040519150601f19603f3d011682016040523d82523d5f602084013e61197d565b606091505b50909150505b806119ba576040517f37e391c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518c815263ffffffff8a1660208201526001600160a01b0389811682840152871660608201526080810186905290517f1df3f2a973a00d6635911755c260704e95e8a5876997546798770f76396fda4d9181900360a00190a150505050505050505050505050565b5f54610100900460ff1615808015611a4357505f54600160ff909116105b80611a5c5750303b158015611a5c57505f5460ff166001145b611ad35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b5f805460ff191660011790558015611af4575f805461ff0019166101001790555b606880547fffffffffffffff000000000000000000000000000000000000000000000000ff1661010063ffffffff8a16027fffffffffffffff0000000000000000000000000000000000000000ffffffffff1617650100000000006001600160a01b038781169190910291909117909155606c805473ffffffffffffffffffffffffffffffffffffffff19168583161790558616611bcf5763ffffffff851615611bca576040517f1a874c1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611ceb565b606d805463ffffffff8716600160a01b027fffffffffffffffff0000000000000000000000000000000000000000000000009091166001600160a01b03891617179055606e611c1e8382613970565b50611cbd5f801b6012604051602001611ca991906060808252600d908201527f5772617070656420457468657200000000000000000000000000000000000000608082015260a0602082018190526004908201527f574554480000000000000000000000000000000000000000000000000000000060c082015260ff91909116604082015260e00190565b6040516020818303038152906040526123d5565b606f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790555b611cf3612a22565b8015611723575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050505050565b5f81611d4d8686866109d3565b1495945050505050565b60685460ff1615611d7b57604051630bc011ff60e21b815260040160405180910390fd5b6068805460ff191660011790556040517f2261efe5aef6fedc1fd1550b25facc9181745623049c7901287030b9ad1a5497905f90a1565b60685463ffffffff610100909104811690871603611de3576040516302caf51760e11b815260040160405180910390fd5b7f501781209a1f8899323b96b4ef08b168df93e0a90c673d1e4cce39366cb62f9b6001606860019054906101000a900463ffffffff16338989898888605354604051611e3799989796959493929190613a2c565b60405180910390a1611e6e6117036001606860019054906101000a900463ffffffff16338a8a8a8989604051610e049291906137d6565b8215610cba57610cba612114565b60408051600481526024810182526020810180516001600160e01b03167f06fdde030000000000000000000000000000000000000000000000000000000017905290516060915f9182916001600160a01b03861691611edb91906137e5565b5f60405180830381855afa9150503d805f8114611f13576040519150601f19603f3d011682016040523d82523d5f602084013e611f18565b606091505b509150915081611f5d576040518060400160405280600781526020017f4e4f5f4e414d450000000000000000000000000000000000000000000000000081525061098b565b61098b81612a94565b60408051600481526024810182526020810180516001600160e01b03167f95d89b410000000000000000000000000000000000000000000000000000000017905290516060915f9182916001600160a01b03861691611fc591906137e5565b5f60405180830381855afa9150503d805f8114611ffd576040519150601f19603f3d011682016040523d82523d5f602084013e612002565b606091505b509150915081611f5d576040518060400160405280600981526020017f4e4f5f53594d424f4c000000000000000000000000000000000000000000000081525061098b565b60408051600481526024810182526020810180516001600160e01b03167f313ce5670000000000000000000000000000000000000000000000000000000017905290515f91829182916001600160a01b038616916120a591906137e5565b5f60405180830381855afa9150503d805f81146120dd576040519150601f19603f3d011682016040523d82523d5f602084013e6120e2565b606091505b50915091508180156120f5575080516020145b61210057601261098b565b8080602001905181019061098b9190613a97565b6053546068805463ffffffff909216600160c81b027fffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffff90921691909117908190556001600160a01b0365010000000000909104166333d6247d61217561088e565b6040518263ffffffff1660e01b815260040161219391815260200190565b5f604051808303815f87803b1580156121aa575f80fd5b505af11580156121bc573d5f803e3d5ffd5b50505050565b606854604080516020808201879052818301869052825180830384018152606083019384905280519101207f257b36320000000000000000000000000000000000000000000000000000000090925260648101919091525f916501000000000090046001600160a01b03169063257b3632906084016020604051808303815f875af1158015612253573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122779190613860565b9050805f036122b1576040517e2f6fad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80680100000000000000008716156122f5578691506122d3848a8489611d40565b6122f0576040516338105f3b60e21b815260040160405180910390fd5b61233f565b602087901c612305816001613ab2565b9150879250612320612318868c866109d3565b8a8389611d40565b61233d576040516338105f3b60e21b815260040160405180910390fd5b505b6123498282612c64565b505050505050505050565b6040516001600160a01b0383166024820152604481018290526123d09084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612d24565b505050565b5f8060405180611ba00160405280611b668152602001613d80611b6691398360405160200161240592919061377e565b6040516020818303038152906040529050838151602083015ff591506001600160a01b038216612461576040517fbefb092000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b6002600154036124ba5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401611aca565b6002600155565b5f6124cf6004828486613acf565b6124d891613af6565b90507f2afa5331000000000000000000000000000000000000000000000000000000006001600160e01b03198216016126b2575f80808080808061251f896004818d613acf565b81019061252c9190613b26565b9650965096509650965096509650336001600160a01b0316876001600160a01b03161461256c5760405163912ecce760e01b815260040160405180910390fd5b6001600160a01b03861630146125955760405163750643af60e01b815260040160405180910390fd5b8a85146125ce576040517f03fffc4b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516001600160a01b0389811660248301528881166044830152606482018890526084820187905260ff861660a483015260c4820185905260e48083018590528351808403909101815261010490920183526020820180516001600160e01b03167fd505accf000000000000000000000000000000000000000000000000000000001790529151918e169161266591906137e5565b5f604051808303815f865af19150503d805f811461269e576040519150601f19603f3d011682016040523d82523d5f602084013e6126a3565b606091505b50505050505050505050610752565b6001600160e01b031981166323f2ebc360e21b146126fc576040517fe282c0ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f808080808080806127118a6004818e613acf565b81019061271e9190613b75565b97509750975097509750975097509750336001600160a01b0316886001600160a01b0316146127605760405163912ecce760e01b815260040160405180910390fd5b6001600160a01b03871630146127895760405163750643af60e01b815260040160405180910390fd5b604080516001600160a01b038a811660248301528981166044830152606482018990526084820188905286151560a483015260ff861660c483015260e482018590526101048083018590528351808403909101815261012490920183526020820180516001600160e01b03166323f2ebc360e21b1790529151918f169161281091906137e5565b5f604051808303815f865af19150503d805f8114612849576040519150601f19603f3d011682016040523d82523d5f602084013e61284e565b606091505b50505050505050505050505050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526121bc9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401612399565b8060016128c060206002613cd3565b6128ca9190613877565b60535410612904576040517fef5ccf6600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60535f81546129139061372e565b918290555090505f5b60208110156129a3578082901c60011660010361294f57826033826020811061294757612947613706565b015550505050565b6033816020811061296257612962613706565b01546040805160208101929092528101849052606001604051602081830303815290604052805190602001209250808061299b9061372e565b91505061291c565b506123d0613cde565b60018055565b60685460ff166129ee576040517f5386698100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6068805460ff191690556040517f1e5e34eea33501aecf2ebec9fe0e884a40804275ea7fe10b2ba084c8374308b3905f90a1565b5f54610100900460ff16612a8c5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401611aca565b610664612e08565b60606040825110612ab357818060200190518101906106ca9190613cf2565b8151602003612c26575f5b602081108015612b055750828181518110612adb57612adb613706565b01602001517fff000000000000000000000000000000000000000000000000000000000000001615155b15612b1c5780612b148161372e565b915050612abe565b805f03612b5e57505060408051808201909152601281527f4e4f545f56414c49445f454e434f44494e4700000000000000000000000000006020820152919050565b5f8167ffffffffffffffff811115612b7857612b78613268565b6040519080825280601f01601f191660200182016040528015612ba2576020820181803683370190505b5090505f5b82811015612c1e57848181518110612bc157612bc1613706565b602001015160f81c60f81b828281518110612bde57612bde613706565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a90535080612c168161372e565b915050612ba7565b509392505050565b505060408051808201909152601281527f4e4f545f56414c49445f454e434f44494e470000000000000000000000000000602082015290565b919050565b6068545f90610100900463ffffffff16158015612c87575063ffffffff82166001145b15612c99575063ffffffff8216612cc1565b612cae64010000000063ffffffff84166137ac565b612cbe9063ffffffff85166137c3565b90505b600881901c5f8181526069602052604081208054600160ff861690811b91821892839055929091908183169003611723576040517f646cf55800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f612d78826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612e729092919063ffffffff16565b8051909150156123d05780806020019051810190612d969190613d64565b6123d05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611aca565b5f54610100900460ff166129ac5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401611aca565b606061098b84845f85855f80866001600160a01b03168587604051612e9791906137e5565b5f6040518083038185875af1925050503d805f8114612ed1576040519150601f19603f3d011682016040523d82523d5f602084013e612ed6565b606091505b5091509150612ee787838387612ef2565b979650505050505050565b60608315612f605782515f03612f59576001600160a01b0385163b612f595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611aca565b508161098b565b61098b8383815115612f755781518083602001fd5b8060405162461bcd60e51b8152600401611aca9190613102565b803563ffffffff81168114612c5f575f80fd5b6001600160a01b0381168114612fb6575f80fd5b50565b5f8060408385031215612fca575f80fd5b612fd383612f8f565b91506020830135612fe381612fa2565b809150509250929050565b8015158114612fb6575f80fd5b5f8083601f84011261300b575f80fd5b50813567ffffffffffffffff811115613022575f80fd5b602083019150836020828501011115613039575f80fd5b9250929050565b5f805f805f60808688031215613054575f80fd5b61305d86612f8f565b9450602086013561306d81612fa2565b9350604086013561307d81612fee565b9250606086013567ffffffffffffffff811115613098575f80fd5b6130a488828901612ffb565b969995985093965092949392505050565b5f5b838110156130cf5781810151838201526020016130b7565b50505f910152565b5f81518084526130ee8160208601602086016130b5565b601f01601f19169290920160200192915050565b602081525f61311460208301846130d7565b9392505050565b5f6020828403121561312b575f80fd5b813561311481612fa2565b60ff81168114612fb6575f80fd5b5f805f805f805f60e0888a03121561315a575f80fd5b873561316581613136565b965061317360208901612f8f565b9550604088013561318381612fa2565b945061319160608901612f8f565b935060808801356131a181612fa2565b9699959850939692959460a0840135945060c09093013592915050565b5f805f606084860312156131d0575f80fd5b6131d984612f8f565b925060208401356131e981612fa2565b915060408401356131f981612fa2565b809150509250925092565b5f60208284031215613214575f80fd5b5035919050565b8061040081018310156106ca575f80fd5b5f805f610440848603121561323f575f80fd5b83359250613250856020860161321b565b915061325f6104208501612f8f565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156132a5576132a5613268565b604052919050565b5f67ffffffffffffffff8211156132c6576132c6613268565b50601f01601f191660200190565b5f6132e66132e1846132ad565b61327c565b90508281528383830111156132f9575f80fd5b828260208301375f602084830101529392505050565b5f82601f83011261331e575f80fd5b613114838335602085016132d4565b5f805f805f60a08688031215613341575f80fd5b61334a86612f8f565b9450602086013561335a81612fa2565b9350604086013567ffffffffffffffff80821115613376575f80fd5b61338289838a0161330f565b94506060880135915080821115613397575f80fd5b506133a48882890161330f565b92505060808601356133b581613136565b809150509295509295909350565b5f805f805f8060a087890312156133d8575f80fd5b6133e187612f8f565b955060208701356133f181612fa2565b945060408701359350606087013561340881612fee565b9250608087013567ffffffffffffffff811115613423575f80fd5b61342f89828a01612ffb565b979a9699509497509295939492505050565b5f8060408385031215613452575f80fd5b61345b83612f8f565b915061346960208401612f8f565b90509250929050565b5f805f805f805f805f805f806109208d8f03121561348e575f80fd5b6134988e8e61321b565b9b506134a88e6104008f0161321b565b9a506108008d013599506108208d013598506108408d013597506134cf6108608e01612f8f565b96506134df6108808e0135612fa2565b6108808d013595506134f46108a08e01612f8f565b94506135046108c08e0135612fa2565b6108c08d013593506108e08d0135925067ffffffffffffffff6109008e0135111561352d575f80fd5b61353e8e6109008f01358f01612ffb565b81935080925050509295989b509295989b509295989b565b5f805f805f805f60c0888a03121561356c575f80fd5b61357588612f8f565b9650602088013561358581612fa2565b955060408801359450606088013561359c81612fa2565b935060808801356135ac81612fee565b925060a088013567ffffffffffffffff8111156135c7575f80fd5b6135d38a828b01612ffb565b989b979a50959850939692959293505050565b5f805f805f8060c087890312156135fb575f80fd5b61360487612f8f565b9550602087013561361481612fa2565b945061362260408801612f8f565b9350606087013561363281612fa2565b9250608087013561364281612fa2565b915060a087013567ffffffffffffffff81111561365d575f80fd5b8701601f8101891361366d575f80fd5b61367c898235602084016132d4565b9150509295509295509295565b5f805f80610460858703121561369d575f80fd5b843593506136ae866020870161321b565b92506136bd6104208601612f8f565b939692955092936104400135925050565b600181811c908216806136e257607f821691505b60208210810361370057634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820161373f5761373f61371a565b5060010190565b606081525f61375860608301866130d7565b828103602084015261376a81866130d7565b91505060ff83166040830152949350505050565b5f835161378f8184602088016130b5565b8351908301906137a38183602088016130b5565b01949350505050565b80820281158282048414176106ca576106ca61371a565b808201808211156106ca576106ca61371a565b818382375f9101908152919050565b5f82516137f68184602087016130b5565b9190910192915050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b63ffffffff861681525f6001600160a01b03808716602084015280861660408401525060806060830152612ee7608083018486613800565b5f60208284031215613870575f80fd5b5051919050565b818103818111156106ca576106ca61371a565b5f61010060ff8b16835263ffffffff808b1660208501526001600160a01b03808b166040860152818a1660608601528089166080860152508660a08501528160c08501526138da828501876130d7565b925080851660e085015250509998505050505050505050565b6001600160a01b038516815263ffffffff84166020820152606060408201525f613921606083018486613800565b9695505050505050565b601f8211156123d0575f81815260208120601f850160051c810160208610156139515750805b601f850160051c820191505b81811015610cba5782815560010161395d565b815167ffffffffffffffff81111561398a5761398a613268565b61399e8161399884546136ce565b8461392b565b602080601f8311600181146139d1575f84156139ba5750858301515b5f19600386901b1c1916600185901b178555610cba565b5f85815260208120601f198616915b828110156139ff578886015182559484019460019091019084016139e0565b5085821015613a1c57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f61010060ff8c16835263ffffffff808c1660208501526001600160a01b03808c166040860152818b166060860152808a166080860152508760a08501528160c0850152613a7d8285018789613800565b925080851660e085015250509a9950505050505050505050565b5f60208284031215613aa7575f80fd5b815161311481613136565b63ffffffff8181168382160190808211156124615761246161371a565b5f8085851115613add575f80fd5b83861115613ae9575f80fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015613b1e5780818660040360031b1b83161692505b505092915050565b5f805f805f805f60e0888a031215613b3c575f80fd5b8735613b4781612fa2565b96506020880135613b5781612fa2565b9550604088013594506060880135935060808801356131a181613136565b5f805f805f805f80610100898b031215613b8d575f80fd5b8835613b9881612fa2565b97506020890135613ba881612fa2565b965060408901359550606089013594506080890135613bc681612fee565b935060a0890135613bd681613136565b979a969950949793969295929450505060c08201359160e0013590565b600181815b80851115613c2d57815f1904821115613c1357613c1361371a565b80851615613c2057918102915b93841c9390800290613bf8565b509250929050565b5f82613c43575060016106ca565b81613c4f57505f6106ca565b8160018114613c655760028114613c6f57613c8b565b60019150506106ca565b60ff841115613c8057613c8061371a565b50506001821b6106ca565b5060208310610133831016604e8410600b8410161715613cae575081810a6106ca565b613cb88383613bf3565b805f1904821115613ccb57613ccb61371a565b029392505050565b5f6131148383613c35565b634e487b7160e01b5f52600160045260245ffd5b5f60208284031215613d02575f80fd5b815167ffffffffffffffff811115613d18575f80fd5b8201601f81018413613d28575f80fd5b8051613d366132e1826132ad565b818152856020838501011115613d4a575f80fd5b613d5b8260208301602086016130b5565b95945050505050565b5f60208284031215613d74575f80fd5b815161311481612fee56fe6101006040523480156200001257600080fd5b5060405162001b6638038062001b6683398101604081905262000035916200028d565b82826003620000458382620003a1565b506004620000548282620003a1565b50503360c0525060ff811660e052466080819052620000739062000080565b60a052506200046d915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f620000ad6200012e565b805160209182012060408051808201825260018152603160f81b90840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018390523060a082015260c001604051602081830303815290604052805190602001209050919050565b6060600380546200013f9062000312565b80601f01602080910402602001604051908101604052809291908181526020018280546200016d9062000312565b8015620001be5780601f106200019257610100808354040283529160200191620001be565b820191906000526020600020905b815481529060010190602001808311620001a057829003601f168201915b5050505050905090565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001f057600080fd5b81516001600160401b03808211156200020d576200020d620001c8565b604051601f8301601f19908116603f01168101908282118183101715620002385762000238620001c8565b816040528381526020925086838588010111156200025557600080fd5b600091505b838210156200027957858201830151818301840152908201906200025a565b600093810190920192909252949350505050565b600080600060608486031215620002a357600080fd5b83516001600160401b0380821115620002bb57600080fd5b620002c987838801620001de565b94506020860151915080821115620002e057600080fd5b50620002ef86828701620001de565b925050604084015160ff811681146200030757600080fd5b809150509250925092565b600181811c908216806200032757607f821691505b6020821081036200034857634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200039c57600081815260208120601f850160051c81016020861015620003775750805b601f850160051c820191505b81811015620003985782815560010162000383565b5050505b505050565b81516001600160401b03811115620003bd57620003bd620001c8565b620003d581620003ce845462000312565b846200034e565b602080601f8311600181146200040d5760008415620003f45750858301515b600019600386901b1c1916600185901b17855562000398565b600085815260208120601f198616915b828110156200043e578886015182559484019460019091019084016200041d565b50858210156200045d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c05160e0516116aa620004bc6000396000610237015260008181610307015281816105c001526106a70152600061053a015260008181610379015261050401526116aa6000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806370a08231116100d8578063a457c2d71161008c578063d505accf11610066578063d505accf1461039b578063dd62ed3e146103ae578063ffa1ad74146103f457600080fd5b8063a457c2d71461034e578063a9059cbb14610361578063cd0d00961461037457600080fd5b806395d89b41116100bd57806395d89b41146102e75780639dc29fac146102ef578063a3c573eb1461030257600080fd5b806370a08231146102915780637ecebe00146102c757600080fd5b806330adf81f1161012f5780633644e515116101145780633644e51514610261578063395093511461026957806340c10f191461027c57600080fd5b806330adf81f14610209578063313ce5671461023057600080fd5b806318160ddd1161016057806318160ddd146101bd57806320606b70146101cf57806323b872dd146101f657600080fd5b806306fdde031461017c578063095ea7b31461019a575b600080fd5b610184610430565b60405161019191906113e4565b60405180910390f35b6101ad6101a8366004611479565b6104c2565b6040519015158152602001610191565b6002545b604051908152602001610191565b6101c17f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b6101ad6102043660046114a3565b6104dc565b6101c17f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610191565b6101c1610500565b6101ad610277366004611479565b61055c565b61028f61028a366004611479565b6105a8565b005b6101c161029f3660046114df565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101c16102d53660046114df565b60056020526000908152604090205481565b610184610680565b61028f6102fd366004611479565b61068f565b6103297f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610191565b6101ad61035c366004611479565b61075e565b6101ad61036f366004611479565b61082f565b6101c17f000000000000000000000000000000000000000000000000000000000000000081565b61028f6103a9366004611501565b61083d565b6101c16103bc366004611574565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6101846040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b60606003805461043f906115a7565b80601f016020809104026020016040519081016040528092919081815260200182805461046b906115a7565b80156104b85780601f1061048d576101008083540402835291602001916104b8565b820191906000526020600020905b81548152906001019060200180831161049b57829003601f168201915b5050505050905090565b6000336104d0818585610b73565b60019150505b92915050565b6000336104ea858285610d27565b6104f5858585610dfe565b506001949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000004614610537576105324661106d565b905090565b507f000000000000000000000000000000000000000000000000000000000000000090565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104d090829086906105a3908790611629565b610b73565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610672576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f546f6b656e577261707065643a3a6f6e6c794272696467653a204e6f7420506f60448201527f6c79676f6e5a6b45564d4272696467650000000000000000000000000000000060648201526084015b60405180910390fd5b61067c8282611135565b5050565b60606004805461043f906115a7565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610754576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f546f6b656e577261707065643a3a6f6e6c794272696467653a204e6f7420506f60448201527f6c79676f6e5a6b45564d427269646765000000000000000000000000000000006064820152608401610669565b61067c8282611228565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610822576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610669565b6104f58286868403610b73565b6000336104d0818585610dfe565b834211156108cc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f546f6b656e577261707065643a3a7065726d69743a204578706972656420706560448201527f726d6974000000000000000000000000000000000000000000000000000000006064820152608401610669565b73ffffffffffffffffffffffffffffffffffffffff8716600090815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a9190866109268361163c565b9091555060408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610991610500565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101839052606201604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff89169284019290925260608301879052608083018690529092509060019060a0016020604051602081039080840390855afa158015610a55573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590610ad057508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610b5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f546f6b656e577261707065643a3a7065726d69743a20496e76616c696420736960448201527f676e6174757265000000000000000000000000000000000000000000000000006064820152608401610669565b610b678a8a8a610b73565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610669565b73ffffffffffffffffffffffffffffffffffffffff8216610cb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610669565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610df85781811015610deb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610669565b610df88484848403610b73565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ea1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610669565b73ffffffffffffffffffffffffffffffffffffffff8216610f44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610669565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610ffa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610669565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610df8565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f611098610430565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66060820152608081018390523060a082015260c001604051602081830303815290604052805190602001209050919050565b73ffffffffffffffffffffffffffffffffffffffff82166111b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610669565b80600260008282546111c49190611629565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff82166112cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610669565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481811015611381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610669565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610d1a565b600060208083528351808285015260005b81811015611411578581018301518582016040015282016113f5565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461147457600080fd5b919050565b6000806040838503121561148c57600080fd5b61149583611450565b946020939093013593505050565b6000806000606084860312156114b857600080fd5b6114c184611450565b92506114cf60208501611450565b9150604084013590509250925092565b6000602082840312156114f157600080fd5b6114fa82611450565b9392505050565b600080600080600080600060e0888a03121561151c57600080fd5b61152588611450565b965061153360208901611450565b95506040880135945060608801359350608088013560ff8116811461155757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561158757600080fd5b61159083611450565b915061159e60208401611450565b90509250929050565b600181811c908216806115bb57607f821691505b6020821081036115f4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156104d6576104d66115fa565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361166d5761166d6115fa565b506001019056fea26469706673582212208d88fee561cff7120d381c345cfc534cef8229a272dc5809d4bbb685ad67141164736f6c63430008110033a2646970667358221220432f6d6b4446edbe1f73c19fd2115454d5c35d8b03b98a74fd46724151d7672264736f6c6343000814003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d03e0a5a134fa8aa203e42b66b98b08b3b9e862839842d4407c54ec4e20070119591b05581d03d4d447e76c966592fb216e9c3b3a293a9e1ccedba0d50b66328f6ea00c18314704e7128c398fc00219404005581d023b5183c94509b58afc75ca1a85b3687052932ff9aff464be777aaee304030219080403377d0261dde42dd8ef75545f40ce05c692f89b4bc82b972051135825e2a0c8a202198d480329fb309a62f5d1825eac48ad303d25eb7bc6e3b648112c71fcb71fd8b3aa7f6f03d1668fe1293aeceef9173607f4825e6b32d49fed0f80dc2996890003de5a8a360372b7325285d1bd55210ec915ef37b3becab20985c7f6561d10b77ddbe3edcbb50219ffff038edf686332ea2127ccc24d68510ed85ab2a67ff3d9790f3472e9fe02e891814c0379e28f19e5cd856ddc073913e5bbb9f0ae9aecc35d675c96463dd47c20850e9903869e2173c3aca60f808f1be589b1b3c868296429294b8159cf3c4a118f9cc33103c6dd9ef760eba55b22d7184aea4859b11a2e31bc473312547e8239e718eb4fa603fe257589672a1dc0f1d4818de9c0f77442d2a035faec16c50655da4520a43e1e0219ffff03de536bb8496d7e7b68dc256db1b4475a09f44308f6b58fdc97ef073b31df8f3203623cd15f12ce0db004bd85db5389c415c0af0c0bdb2265ec3062f81a7748df790381b46ea982a52f4d096418d5b462f25b8244fb7abc9be22baa01033566b27d0a0300e082de49cbeb2bf58ed53b7c8068d3c3a684a04639dd9319f1487844d5be5503196411fffa8716146fd1a3df672bfd4958a4996ffd47da53af738ff97f7aa3b603fc062d176a245a90f782f2a65d39cdc7fefbf2776dbdf8cd779a47f0177579e903e8ad564aca4478adb479abcd171c96d64f529aa65dcdb48b9bce7395bf2006d90390447e7d41632bb82ba73000142c38e09550b61c0509a7c11863e08eb402496003c5cd3ea519e14f18ad146bddb405f8b44bc580cd34fe18605c41d120ae5514e803b8aa9cd1ac5137165fa9c1156861d5a9dadfabf98248c79809526b834d01dbd2032fe2f5f450ebf26f407c1e5c4e481bc44359a48fc52c5a931a5e85bd4556bbec037a91efaa9e7bc7c6270b93cea7c60ea3416d91b1c0812d91f370116b782d6cdc030e40cc568956da698d2c2b77552276732861c704d98957cf865b071eb89b229203f79242d46e89ed7568359e7ee77e04633a295f2347826e97785ab98d681eb9370219ffff03cec4dfdc575703840e8fa12c495c83a9035165d08bbfc3fbc5e27e52ca98f5e903213de7a38866567547108946a003b6a690267b9e634e5bfe581c2fb699ca344b03907cdc60835601e39804e2fbee540e6d641285cad897bee723673ab38b89f2a10219ffff03b77d03d1eccdc6d7a4f034dcf4fa0504d554b6fa4af8e60e9d77d298d49f7c300388a16acd71d158f207890faab6077848bba3dbf225811297c89915e8135575ff03c03b0d1382cfd2fb4d75c2bbe67366e2e837b1a2e0401eeebbb32343e28371100380725785a0192b32dedefce0c74e1a5ca69c8205188123bb6d5e5d3c89e0cc05035a9570c4d150fdd7a3eadbd5f7fff59224c740c0ade19f445c2dc8e227d89dd10309acfdb44fc1f4341e1b205f5f2cfe833bece56cdba3cdb6247db25d184aa5ae03eb9ec523e702b4b9b124653287817a11419c08f722783947c3778e4ae23853d303a026899d4e5d8bdb0b944ee82666ffdabde23e18e4152d0920a62138f5986efb038ba1c291fe9c06e8aec3e1076a8a9e5af377bdc763190595b66c8149ca1cbd01036aa8c20bdcf1bb2ba162ebd9eac0eb7f97eb92d608ff9eca006d86383519f9290378c05828d3043e655e1ddf6455c2eadae8dbb6633d96044f829856adfe70c88e03babf6e0a88d0d429dc8a202b8cb61295809d70682a643dfe888097c26ff452490374835f66465b50a6c01e32c1540caa425df722f612deb264bccfd32139ebde4d03910eb91287a1410ca6d3a64c83c109ff79ffd0207f8cb352275ec6099917a96403449903f6d6b8f1ec31b9e5f68294a95a138ccdbfa9aa15807a4efad598d3bee003f1092d3048b7652bb91647e008eac9d86de688cd36a910148c907309f0fa5e2703da12ac2125cccc24b0f96e1f0f2dc8fd1ee58f49ca7907671d36826299b27c760389ac17eb2d0acd6e9dfdf86526268bfc8cac06c54f6766a662b7a833b85b3a89037ff748c54f55c52233ec4694470001d4db82e08dae2ff97fc1b08339950e01d403ec028719b2a6bd31bbc1ac5e38f0b00573d9d1a86b624401473dfe8092450d1e033125dd50efb0e9c9885a73a5ceabd8ebb5b76640ba79ad34ce06185847b053f703a205fba3d625d1df2eea3f63e6e3c4113d9a7fe57fa2f34aee6f2375fdee0bce037bc96c3aa665ba51a15e11f864ed6ae2155ac9dc659bc8b2e08cba6fb7a9e0120331d9bd50cc5ed0060787675d5f60e27dd75ef97b3d52e6e3ec74027414c4aa1f03d10ad92dd0fa540337690634140e069a759dd74d895f627ab840ffb97c73765e0356140c80840e992fe3d759c30db9d8d9354f14f26782afff1bda5e6caa2c235d038b16583894f2bc4bd33f952ebf8c416ef11bd290730be75ef5887f38b53bbe5403511b134ca13b010f7bc464bffaa7ef7a69b4822857155c06a236f0ec290726ce0355b38781488d326eb9a855a1466334f989107bb360bc6f748cec6fe3a555cda1030d4a7f9e0972541576bf2519972ffe3bc01084ae898dc05756055d011a9ea5bd03fb0f4705108823975d6a3ea28aa1f78858da14f776db79f54cc3152ae20fea5a035f832010b4b6ad6be639241449a02051f76015900c6e8250b12e345782d83d9003e0cc922a5adca52337778383fbcd1800dfa2e1516f9b6d890eda687dd2eda8f405581e03595eee895213693f47f5e4f9688b20f3584060c434cf62d9ebb7b07ba0040203437cc9cae7245f0c990fe456c82da0f05ef7aa2cca70437686734e48b0b1edb4035bcdb9037a1d64d40b035ca0a189cf7bdb04a16ee0ea420aba37acbb45dccec0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e030ea8ed8a25325249f7039cd1c1140708c3ff2c8f99dea62dea004cd30007011bffffffffffffffff05581e0347af0539eebccc044d3a78bb7b2ba28b31713eb479d68d1b2a5e2b5a400c0a46a89c79184c0005581d02031528c21d1fa0541e9f67261a08123f8434b94b0d3cbabd900002c10c01465a85031fbd9005581d02869a085871e19eae8b21ca9c80aa40f4a53e42a46d5c03f53d923def0c034709912da3ea68000219202005581e034cd147034e3e8b16a7249abdd0ff7ff89c38ff8a5c46c37a97b032b9f00c0246abcc8b5ff60003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03720ba5ba7310792f7a07a76efaa179dabee3b4d93dcf0bd201567079b007011bffffffffffffffff05581e037e27186522b252c21bdae88b5268c7eff29a669b0c971d269dab151e400c0142138003376118ca4f5b7a007971d083d834dec92be619e507d21a40b5ab0ba5d97a424702197bbd03a581228def7f9bab3dbc20457b975939e1cef0d297951b8de206d416ca85d53b0342936a75bc397338466ece2e9b54429b36bb186c5c1071ec58347d7d0d6dd23703dfbd84245befe94a842ad47b026d7cb6afff602376418e74bc69106c0b0595a20219ffff03f2604fc7ee69f3cf746b5508751fa5e770ae7ac545f6616a6afb9ae167c2867303f8c098b4b56887e8e90bbbc64fa555350b07a491e8c606e43beeaf1d591f06ef03194fcc2d48a8e937f2da01d855f11705f9f8fc439146945775d7fc41da8336ac0372e92b0e298e2456be38285fa695b60e18a99daffb7abe805af7e3fb460a42940330cb63bcb144874d489fc6441bf347eb66b0053341195ff20eb0b76043018ced03735857d79a5a634ab910db58d5b59566b9ecf82097baa487f65609d062be7b7e033ab2d3e19422871cd655ffb811cfd3ba71a7625bd642657e3aace968f1f3fd820347bfdad6ecea72f7bfc98483448cf0cbac3ed7bbc4df4b0003268b777ef692bd03deefe8ca1681f2ea7eda6a66831ebda4aade25ef4969143c684711dbe8d8ce65032b70910c767d71f9712b2c0a7205759984cc9cc3287a7b6f2afb3eeff9ff826903e29c20c75798ea8b167938e53c519017cd5af6ced84243d1df6742c354eb923c03751001006ea752f4c6e454320284a7be4de7c40cd3300a339ee86650049368ac03f439a80493254604ec0d6184c7581fc1ddcffd9af920f5e40be7721d10d420630219ffff03b36dd4bf5f721b91cb3a39d485acc8da273864957b401cb0b63058b3b63461f40219ffff03ede2ee26a383ddc86098e20c38f0b0ab41ee9f69b88d85382e64007e5eeef0b103d514dd686007d84bf495fd6305424fc3be696251f3ab933fba4b435dfa07325b03fe327c2a233a44828cadc00e4d71bf544034e6828d8018fdaad09ca295d6b0a1039a31877a4d666fce561f5fc9a01707bd16fe0d1b3b7459b4800d47e8bcf0b6cd033065908153a247165160042a9651bb638faf6d4814bee4b053fdb3cc554420030363e3137518e7c5fd016f5f035f1ca77401f71f43433ae0d1428a7073d5ca558f037a8c281ee40920c2f08b6caf58a2b0274e1462e808e9eab589b01bcbfa57441e03a77271bb8ed548d514bb12e8852c3668d3ba789a47de05793925b41aabdd850f033a11382c988cda6338c200fc32547094baea897a738075864e377656d2fb64ed031262a1f0778b510d46c8331e6ca3944965b9cb48245162987baa642d2e3bfca8037142c518324443d850fd51c0894978ca81bd59a9962a365b8eaac5b797ed966603d63bccc00a97e2a4b4992a61f92144ec1e1dbb2dbe79c7f0445f84b2d4dd0745034a70813633810aef7366b48b6a34f6af19b3a9dcffd4e0db19e2e42c75453db703aa8ccb3ae5535287aa1e75cec2ac8f238b38674f1a59dce59e49940f2c9ba9a503e55e89747262ecf140fb26bdf1d0b59d094b58f0615ff93e0fb7735793976da403893afebd2534c6d0e1857bb74d01c23682c4d426df4d45cd3e15172250d0f91f035e417d50b50c44d95f80c0545c0a6a3cb3b382016a44720882c7a5c5dab61548037cf741e6399c1c39b4bade46d2e55a8c8476d2b58ebc26e4e21ed5119c8815b503609e9a7253837fc2c6ca11fa3b33b3eeea4e5404897265446c39f09f0d6d9ef80303314004f777b6c44342616241636381bf4b52784ff3946965ae0a22b5b329c10321a9fd8866f4b1835a77c8185d513fcdbef242d6f510e455cf2c28a111220d82036a21bfd59f6ea40090e2fe6c7d4fdfca7940d9b499ba5c420f9f8f3b88f9bc6d05581d02e190e6bdfd841d5a496f7868c01c5e815e0f8cea6ada4faa53a8805d0c188748076851deaea7646905581d02278c150286a68de15ed6b54dc53ae30d4727ece67e9a5ca41a9cbf320c014622f54fbb32000219200105581e036b94c4e454d7ceba5e4f24b8adf3657aea00edf14e76d935f0333e26300c03471be6ec1464ac0005581e03e7774efecdf0566fb34477bb91f90eebe3c8f48a821d74d0d4433823a0040205581e03ad795c6364813c54d5d6b70b5fdaac701a55c0e5490108314c939bc2d0040305581e030b5a5646791095a18fafffe3733703602f26ab78c4a7d383aec5a662a00848035ca1647c04961f05581e039f94ef633e9ae23ea7ebd15d641d64972d6b030931a9f8ae2772d555200c0147464a86d54be98805581e03613e754821c96962666b5f00151b2bc53f0d2a5c16dba220aefac3dff0040105581e033fb7ed4366f4a3f6f4165a173d17770171268caaeab6d165aff43e72300c04463db2730c853803e5b7453179572d86da7095bc317c66e4336b8695482fe7fda752ccc01bda99ce05581e0351327509a14b7fb625ded4ce6e42dd898e610a9cc97cd242a22f8915d00401021979570397882464ca7b995988ee7938a85c435c3558011f0ec8342a1e4dc995fce6e7b103cdb0667d60202ca7cbb5f538c0644f90d02eb5e6437952dc0ee003617e7ffe5403021356fbb924a3c9e16f77a37d761c1cd58aa158aaf84250bdb409a8eff80ce103715173d964b4986c83009938ef98863c9ab79a6f5a3d93e8ffc72e565c9f2c1c039244530c527d0026863c72f995279ec7723b947947317ed0bfc8bc1542ca798f038332d2a3ba094462e2271f22432c90c5fbe5a259c2761471dce99100176a00580339ed210be832ffa7be5c7c9d82fb98a7398fca59a06bb6dff2164e508e541839035ab952ca8884238c51029dd786f75b394e6d580f18041965b7f557ae63cb381003f138745228afca8e634787c40d572854d3b145c3a763608580a9c79c6a842c450390c0be9fb1db57a8aace2054f5c770d15623dd3b138fd0de27a83646e5aab532033999fd257ff8ac6a7384e875aab1e979aa444c47350670460040dccb7d71b95903f81ccd5b478fb570bd93350c32bc4dcc69a94cecdfcb3adf2f8a304ffff8fd75035f2e5edc41d6397ed0a84dee120429c036646ef675a8069da72d6d729b1d94160355e9fca5e89acd72d9c7e08c81f096dc158ae1a84749bf1cd49d33184c95d7e80219ffff038a3564e48e6d1e0148635420d195d512b0f5d8d4cdb1e942fcbebb30a5009c6a039df8de635f0b6ee8d235cd3d03cfceefcddcffe857b20a065c6d381bdabab4080370e9b71ed10b631cd4e7aca70ada640ecc1270b20f0a9ad256d0fc74470f4b9703c42652ea2863b4a076a94613071c275adc8123153f83e6045143a8c58456394003f8cff45f0b56d0ebf5e5279b68fae291ec8a05381e0f6c61d959289ae787c6a303521cd78cd2a0b54e3ab120810b0b0cfe6521e9a49c2136806261cfc308cccaf70303189ff680cbf180134f8b6c8eee0c0ac4da808b43b16b681749e66c897cfc36037690bb402ac30c0f1a81cbfe184e4582961e9ed41e9af8586e603ce187e27c2e03f34e36183a8ec10094d9b9fd56f201857c3e05601cc1482f1ad78572c88cc2bf0354e50e5c4815a0439c78fa819d3fdabb79bd4a38f3964e235220506045209a1903ee3923f7038e0444a4c3a8902d74e37fa27edcd2df4fa5cc2fa0f324095f7fa30219ffff03aa1cc24fc4da3fee786a64cc3c5f5b415b08bbed67d35dc6176843e287c37c5f03af4ef4046fb2fadfbfa0657eb9b33e86e44a2102507da07e4497ad2f4ae8905903bcc4d694df5081d9e862e6a28a4cc16273ebfbf4c99f2a4a1f4dc96e092fe8560219ffff03c9bd1d2667dbe87428992588b79abe60901346cfb2d9ba3c55dc0331ba253aca03eb2aa2d86df5f362c30045360785a629b3d1d0a76b166ee1b3252c2aa18bce890351d5a06f12b8449e6d0d2eef11c3bb4986be5450185683fb9a75da176eb34411034fb4f63711c7cc4b109325a328077ed554c1705235083b8541c9ccbfe5dda3040391857e17551fb3edfce7f64a6ad6983b60c66fe544b3a0b5c252cc54f3dae9dc038aef25b1e40b94bcc2e20c7305195537bb131b3b23b6ecb827d49f8cada9aea80219ffff033c232d7d62d1ae6c07eb18eb91848047b82877fea12103c437932507c9308d72032036af8c7c978cdedad871d44751b5bf05b8525d9ac91b1d20fe0345dc39b2fc03358dea07494270f0bdbda882562c1528f8bf102cd844a692692e8c1c52d66b8b03a16e41bbb56c5b076faa0bc10dcd308867e77709c21be5eb80a3b65c69f4a30903b86889eca48cc26ae69505ea00dc843c17fada69db477c56e46d72cd08a5006c03f306cda819d14f01571d139c87d7bfdf1603e95fb45cbd1e0560574119c68c3d031a7d457f2eee5132548200d7c9dce65cff5de05df50ec2b7a7956a14616700f60309afd6da8b1fdffea3c6c9ebb0b6cbb8ea2ea99f1e50fcb0949f41e673ed6e2a03347c61357c1b4db4ddebbd24b3b86945e8d266981d687cdb5c6efbf5654eaef60305e0a9dbfc072aca8a590d85423df9100f846f452ae14921189fd5f27f8bc5e103269e974de728a9ad0d5c81a02ae936db85cbf94f870f14c3f95f465b51bb79e2036005eea2a4a71c9b8a7151a9c816b49b261bd58ae675b28e870167a86781168603fd8202c62efa13049e70c99e778b038393e17274e21229f6d4f711f7219d037403c80f895876d90489db25b514b5905f36abfb079f158a34e33153ef8582c0236a0374ce508b5a17b2914c48e2a96b634085f36322f931ce9a69c655ae472b2221ae03b6b50475b37de6842f81b2c0559b16f8d5c8611a0fc7160cfe3b2f6a4080580505581e03bef74eabd4ae60a756468021e457763d0fd8e99079a7ad38998bb4ec500c01470234572e7a7e0005581e035f97b4776599f7b93b00a99909b0f7e6b3b581acd8cb35d54959bbfff004020383a2d60cb6d0cef3c2fc9ad12f6960c99da687e60a35c63c6a04f545d0a1a6bb030d64d663c4f7e78c4e97390e20aa6d470145396619f393c87174cdda051f278905581e0382fc18bdb78e88ccfa9b47bfe806e4725677cf8e2f67beb24c099e646007011bffffffffffffffff05581e0393acd920d9b9b89b7eda43a85377bf001d30f22ac7c5c3144110e46d90084606d23ad5f800039d668b1f4ae1d4c076a3fd8a4e5dff9561f4a421207dc2f8eaac11a5e3852b3305581e03af4880291adae2483d9101f05c8bec257c4b13dc5fd8687ea8374ee720040203be0e6e4982d2262390ebc254aea270b4df8abc2e5d062102394a594abe9e9d9203b31706a451b0e1c61de9c71d8740e6b18bdf36a51bcfbd16f849c9f83294ef780459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c634300080900330304ba2f0fa38746b36f57b9465721348c4391b8ea7cfe946f08088198cb43b7f6032f8fa9b865e965bf93ff61ef777149c2c43054ffb684f57d5ffb7dbeafb4d538034b9338947224915f59028560d339997b5342079638f45b353357716175b09b4103d9ab90e5059beb22630a96b1e4facb483cdf42fb976102fee79dcc8b1847298403f53c070aec07ed603a25db41bd789e8e99cce3431dc30ef8240a1d3a52be03c203c6c1a547c1c8c7344199d8f30bc0fa6f20170a7f7b922a9b5b27657ba2de73420358c3396acc9e769578fcb506809c1b0c61797c82f1943d7f1746212c069272f2032d8a07d40d9f39d206690a2f526041323ee2b36c8cfb5bf3a20bb2c91c38b5cb03221aef9e50c9aaf7df502dae7226082877ddada7bb1c20ed54560660b70a8c7a03f7568eab9895d7fb9bad40322d69f21950376fb55f2b68ac6104d4ef7fb5ded00399fe6cd59a34961f091b188b0ea5420129ed803abfca4e070c6d89000f506f7d03be7fad8903491cd5257e05000701c7454e41b93037bcb478faef02729c16947d03d373f34928a3147001738d6dba4c5ede2032b9cacb5dfec04e2cf192a8f5c4c403d93eff2f0f578649ea1a22683f8a4daa370204788e084b8c4912a8ffbc4781d303e581f4a2f04e3f7d9b344965c0c612ec2d7b57ec2ca023690800177f6ef1f7d300581f0234b900d1db4ff54fee1e3e59651e28f9fb83f84fcf23cdf8f42e7661323c5820e8fd2ce2f3c0d44b6e95eb10a98da5fc80e09e786d7eef405dfd55635bb5e85500581f02ac0adce00ce8a1f468b2a7e5bf8968c2626bc2b158caf7a85762b62d0d2a58209b3cf4c701bbc269755c3b33a4b8c7d76573f789941acc961f3f85bdf5a73201035e026b430f506c7c4c924ae53e51de5e55ba061d3931e3ca7781befca4003c3203d8e2b60f4484d3db7d0da6387becf25ec9e20668428b7b8cb78f6e4c15cb55390325ab1e792ec02ef2f51bc64af5e0f8a3af6f4446c6bff412c8ba491dc03ecaab00581f0230ab5cf91118a674addfdb6a09efcd166d22f81363ce6f6b4092bbaec5424b1290f200000000654accf700581f0281e05862c48f5a5afdd8d58a886b61f2b860209daab6d3b8871758102cce5820be60f41e805c6ea71e1ec0827b51614749c78f7334a823978afedc7bf6f8aa9500581f03121484cbd39027909bb06305f43ba5999885ce2ffcd26abe343d08765790582097ba3fefbd36e76e363d23b0557a31772488e4dfa9d8300ec956ab789320655a00581f03398dc5d676724cb3e5caa2efc0df14c419747021916049b09b0e4d6beb4058200901740a3f0955fd32ed0945ddeee081fbef7177e7432aabb1017db4f1383a860219020203ce93f2b9c10ff70b2d5f99b31fefb269aebb2ce9b6bf499622de8a9edf41ffb800581f02e23126b1a3efc598706101130085775505c90abc44ef2cfbf7be794e9c504a22c0000000006443462f03b63be076401b0a2148acc4777ee5eba0e880e32ad54f5bb2d245ee761bfc465903047e909de6185ca83f87638b020da8abb3d61b8097632ce85dca0429cdea215703210bed0fdcecbc1da1b9cc2ae41fe9eed9682e1ec2e223e99ef6835457aa08c403f4377f83920e5348b468db533ce38cc8a57cbc97698438ce7f540092c1c7319a00581f02f9da4a9a860d9994dad3e61b949508bbd3abea0d3f57294e6774665ed28f5820848139779a3e7f69f94ec85887540c934f8252ffc9c15f2d57ba02292e56f6ac00581f026fe4bf64c345040d52eb3c8dcf9a1d8b500162f6367cf31d6946a53761844b0cf5b8000000006510660b0219ffff032029e51773d4079227aeac561947fb74eef3987282747e6ad1205d468072b53703c12f5680ed2fc2b0ac070285ea4b23f3c4723de14470867301f3a66d799f16c4035c8758cb86e6d8389ad7214b2790b3f6e1efa46c16902b902b454e0900c6560103446a54f87305554fd07bf484a8c59e5a43dcca4ebc9c2d2e4c08c7c614baa3ec03c4ea3ce2416a90e66824cb935a6930f23402ac465f984290e906d6cc8e52d37503ab606a2ebb39ff08f15b1038e10d8fad956731660878b74a3e2db64d1b595c6f03b0386d378650754d09ab56a9ae5b400b1bb67e46f7ec1b141f7220c6a9cf24ac03c7e63f87ae51f3ab955d7c8bb3628ccabb6b73d51de118c877a1c3cfcac891f303177e9289e48080324c40498634b10e3d3fb7e1849ce4416de9ca025b5f0444940357ab46cacd62628ee36021bd3e6ffb727be33c2aadbe56bf800c38ac5cde588a0365cd6fc9d8a7ad860f0f576811c47c3adf15489799dbe5718d52b7e7280397de03b1c646db1f08eb9c98926454dbdcda98436db0f8b037db4bbaf13181fdd9cb080314b68c41973f053ceafc3b4c5c403f346a81067392de594442665e53613c43b9033cac7bbd0f3e3dc73ed28f8d3b27bf211d16f0f02d9d226eafca1b1cba510574030cd5eebf8388a270288a856aff93245ab0ee518e229a8353f4fc80284bfd38c00219ffff03c2a8b96976e664156cf057ee8095fcaaab01fd6877064b10ba5e2e619525167503f2a090fafa1f71c5b090b64a7feeadd2f3df8a381ce2a94f43134426a21aac9b0219ffff0393545b7622324e749c5e8987d3158e163703ced62821b0853d90c52a2396044203364603ced0772d72ec873c47f1f1eaa519d683c37a3b2ad95d8d0b21b5a6b30f03f53a1665301b83c51dc1c0bcb9ba7363dbb649dcf19e8eb676ad7dc9b1d2275e034185bac7ad2d4fbddf7d803b609cfbd5b3ea51fd9fe9c1036b1f80b2b1167b4d038fe279ae232875878f24ba60405df6af8e5a83533ec4953e90064e7eef073035039388af33a8f3ca58899f92b2b5bd6033ce110fdda84771b3f27ffd6d76e923fe0334a7ff8e39b12c8470f82599700e44bdbdccb38bf379b90fa0373cf0f7bddcab03ac5c60870823b754ff4c185f9ac7eb1e7a548b745901c672e49f98812538a58f033944434d8b6a460be82f372d29564a2247cae894342cbae3348598e2fb23c0dc037ee4d95c7f46191f6dd1a3a549a2b08258fd045f7dc4b75769fe8e1e4a742df60399efaf74593b36c777150a8b3fe30c0954afe34dc20227e7f8c82b5d27f7306e03ab70eb50826309bf66992f91f2d493f5288f88358e6494393422ffae5db69dcc035bb601e875b2489d1c72171f71c0786f4751194e66c6af3b2e2092b68ea690830313dd2d27405856ae76f4decb0007e93e07db9ea6fa274c3cffaf778ea7f6d7a003b1eb23b9c10d208b7e140b995a66bef144c9677ff31f96a759a6143da525c323033d93a62caa82114aaa099e416823976e46a064e3867d008235260f9d4bc479110379a67162e6cf3281d066dd7dbea774306f0d3b0b25dea4cda11c673255f21ef103022a55f9d94cdd48475607373feaedfb36b8bf609abb8a2894f15b5cdfa921c2038772e1cb43fd63606404280aba74987d3d2bb880ab90f48f132f9fd05d0c5d1d0344b02bd494d31b55c0b5c0bad72577feb5dcf6295ddbaa85a52aef4f11d0744e030476d1f78783596f5ff7f14d1801a2e9e6e586666a18199539b388dc97ee3cd9031000b199015c46eaa548be883d11d4961536b0ff86295794257ea31be36a589c03a7568b0bd133d42267ee8cecf221e19ee1fe1df24af98b61d19601e4495d0bf003d14d66e7e8f3fbf286c2e9ae91de7334e90078aceb65d22fe473479a884b819d03dea4a3fbad6c853c8265cf7be252218e55300cee484f960e50802a445839398903ce82428d0f87c6deb45d15def3b78fd9251624902fe28b0df3318a08497bef6200581f039d0ff002ffd9179f59696fe151dde0a0cfc875817d271e350f95706df83058206fb263e4c180ceb985d639145236ba5b0138f003c485b91428ec8adb2bd560f600581f03abe526038520877fc7c33d81accf578af4a06c5fa6b0d038cae36e127110581f148ee7daf16574cd020afa34cc658f8f3fbd280003ea00000000000007080002190c00032aa8dcf67b09cb5203f0a2f9af47fc7ce760cb87bca77e82235e52decebc3e6a039b753e5d0cd8379c80645d65f9e504793c1608bc2cc9c565ad69149f5f6e81fd03a4c61cfbe8e7b68e9fdd3ea423a0fc6912de735764a1c4985fd0a2a72f2009240329c3730fe8f34ac51389938d5cf670db8aa1e98b56176ce2081dd08d99de58100383bf3ac220ebeaa90415699752481683cf24c41b47f839c587f4d8e34a25375800581f02cd6d1449cbcf4fec3b187f86f619532a1ee40c523deac6acd076fa900f3e4b05956f0000000064c0cb23030fd4a4ceea4708b72a091d2ecd23cea2de7aa63fc27399b4d7a885c2f50ec0ba031cc00bc2c90fc22eb8bd23cf4981719107bc75aca8e7abd4cdbb7d675377bc3600581f02ff565cd6a1cd196b6281daa8fb60963008b3844eb7405a0ba8a99237d53158203c12a90f5cb1e0974b08a062d65df4d9e28b60f9f0ffa460399b07049ae62dbb036a40d4d21139e9a64a83093a8dd775a124ae30060d868a0c565905a10a92322f02197f6f0219ffff039fd885e0f8bd94ce334f9082cb51d326e283175f8ebd4e4cdd081c9338a696510373e26881206303525847480570b2a37af37bf947c2274966e6c5185b9dcc79b6038b9b1468f6bbda8c2584895dba06d518c0a4d864f517740c727f0c7243faa98f03ec3aae9e4bdd2cdc65b5033789a17483450d5ae2e2ddba78b4820fab9f2f7090036f5ce2e859351156fdb3740b517ae3df5e1c9a0cc5ace72b1dc696c5e835389703f982cf1b6c3fb86d80a966e70dcf3695b39e42d19523c4e5b151196618d72be10219ffff034cfc08ed0daabba5ec142393eddedf31554c0085caed493796de89c50ab5ded2036154df45912227a4e703a7814a77ee9ebc5152cb0305f4c76ffa0dae68003c1c031c0144837764780b5ab89e78d12ac1e9cdea62e00bcd5b5c5c6052694c0ad741033b86f300b1a171a79d88dd1c9fd0e5db386628781656300278f6ae2e637949a903668eb55c4c9a2802096c5194ea4696ebdf82efb26ab1c33dac4ea1c03fca638703f508690140a3269394564aa560145ead0ceb1a580572f85aef0d7bea124bb70d03a0225079423e4f59729ff3315888b068e5a99b974dafc9e5451b0fd8becc659803444a29f598d051d37224aff88f772c54b545c36995e244d2c84dea24980667c503f733e139ff382c4efb789bf9a5a9e1ca3fdda49d4b99fb4f3c86f73e04633d7f03e389c79ece484676e6c65d27bc58202b388cba478a3789284565b407e43f77d503c4f63ca9ce4ab34cb539928302c5fe29c4e73a585d6696031feacba8d7694c0a03ce1e32d4977f3e2f42bbc73c999cb4dd6033f071829e78bb596e9a0498aca24203aa2a7a0eb21be65945882dd1f17172e8944eb9ba73ed4a1704492b4633f60d180367c072911243b4e9bde5485dcdb402699abb994bc471abac4867c99b23ce5544033acc02fe5427b18f29347f759346688baa0005cde64f6e5a973d0eb4785779e503a67fc0e03e57184780d350176aa7e028f35bb89a750e405eb76da7d2a9fe4d80038a7d4ad2baad0d4a0777338301a1251c4ad198d16b1c173b9de3db23605c364100581f0206ec4b7b6322c3941034959f40efc626ec44e8215db74364d8521f6812065820833e6db7f008eee2d4b0100b35f72670cb67a3b1a938f8a73c0405ec4358a37900581f026f82c7fbc6ea825e3a41ce21fbd7e72127d33cb208a07175df84a884be865820d3b45bc900926f1057a4dc6c55cf6cce7f889998a3d23501a61b0204fd8ef1ee00581f02451179d51cb5048768a977018f682f5b61b1de8f00dc47017606231ed3f74b12f20100000000654e9cc3031c2043cddce78bb274269ed4585fffc73825cd78b3f2029c62925092fc84767a01410303f4036bb8eae1dcfeed36ee9c250c32ef159ab6db6406ac1a1630a08f150a88980326e5766c8c914487fc8df7ab20c60e41e0fba8626a6e0a34a554d8075d70f72f00581f0281fbeee73903b58336d9a00e3e4ccce75ccf0f6009241cb5f959ccadaf0858209be19f8d7e6f87b33eff21f5e8b2945e5a15b9c936d2f1e2de4db48289ca516600581f02ea84944250856a716737059479854246a026d947c13d5a0929bc8c1bc81d48016345785d8a000003f330e533d2206668df9d67f81da7eadbafba289635deec3c8bb4f35aca3ecf7100581f02b3a5abc491c99b24fcc20422ab7c852176fda903b0a00ec7345b94c7e20f5820da95aa0dc80a61180a022c8c50e292aee526f16957b935dbefeb0fe7d5beaf3b0333a7304ff20fa1a6f5c3cfbbff818ea4f101a932274c96b1b9db23365d0226be031f56e98704413927cc075050334d8ea74c55dbe90a68885546a839285358779e03f5f4a03b903ab85549166d8043b43a2667e07039ba389b0595de522e5dfd55ea00581f02e2ef083c5abb397b530997320d5bb6960bc7c945f1622eeb70bfc52e6da158202b28613c6910bb5bf65948f4e7681e11622c5bbe73b8622092eab093591c77ef00581f0210903e03e4da581b78cbb1f0d3b5e6a744f218d4a0dd11615417e66d72634b11b2ef000000006542106b0219dfff032ccb88e354b9a05768d1eac7a01272a8540754cfe500a5ad48e4c18ac3e6452503081f767b59f17eae443e168964b57d049498008b00d781453fdfb644c2ef3d2e03b372b12211739d5b251b0ad94e069f238355321a502df72b860f21496553026e03497b4523c9e532a4c679da3c2efb774a3f786412ad7eeed4a5e8b69c0da689f90219ffff03490f15737c5af1dcf04b252613c87e2f4d6d50c32f171a7214f26062a9ff034803f3343dd2da12f3627d989731f6768ff41039e4d43670abe5cb58ee6fa4d542b20326f2bb551f26a949c321780b558aa7d0307a3b4e0815c957e2dd6fa692f321d60343a72e517a694818c7a1e94d24d2cb8703c2c6c10485bcfd90c398773ccf29ca03ceee30003f24e4433d3c340e0b383c9f0404838594eee44604e774798a30817e0336c5912b14a868398c298eb145a320ade4f5421ecd8e8748b1a092e027d92f560372e880b5f4aed42e74030aa0a323cc51d43323f9abcbde7b851a0a3c76a3125d032bce8497599df7f16cab465e2030c5f272307190bc191bc8cc9ce1d42b00b14c037e2bf2f85836fb86c1c94a52072eb7432175b28214f0343f6c0aaef8444a72ac0219ffff039154eb98c31834d01ce60f296fc57ff7026e76e532c1ca5e624b198cc13a154203429b043294ea930c9325cb1990f8d8eda5e2c40614df69b7c43fb3d71655d49e00581f024dbb3dd00281810590331b00bdc57c1b8da0a7e78f5d5648ff7168b080305820b5b59c70f59874c4ccb68b42851b45c7d770c102176ae5b1a8afc3955eb4afaa00581f028616df3a24c24d42a5028f622c20a55fd518a939b3e8a0f037800176e8614b06d0120000000064ceb74700581f027acab5c9dbafd7ee9620e4ad9c8c2b156a5e5ff7bc02922f53aa01ad2dc24b1d013c0000000065bd666f039afa506d853ebeacdb240556730494f3f5f28381f0de6e7908e457ef1e24bf5003650dbd10846abde004a1d968561e96b26499b6591f74e644ef4a11c8f6c8d9d900581f03e93f8c73d2c1be015ec28e8cd2feb871efa71e955ad24477aafb09484fa0581b069780000000006632c9330000000000014fd30000000000014ff800581f03f91508552781d95d73407226c2b549a2cd731120066778087d618c032c4058203f3ef4932b4327e7e0fdd8beaee8d49c8905cf59e3f355286d3aabe10472d08d00581f03a23462169b377d533c1a253c8c719e5b820355edceda246331b476b628b058206bd5d9bb4e896eeac6c0dbee38451ce2e8ae43a60749813ec6c41d2833ebe4b100581f03301ab61f16135e7a321cabe4d6b14cd092a31306ae53b0eac3893c1922904b03e8590000000064ac04bf021922810315c8bf80b0e5d44282e716ea0a8555bedc1203bca6036e85e3e3ffb7db465f9703e34cf901d37673747362767648b965cf813050ac60bb046ceeaa42e00bd966e3030948d5aae9aada2abcda2cf806e4391f625ea2afd1824250d3e283437df0c59f00581f0274a53710586a2b6cc85312a0438f951001ef5cd33d762cb5a6c23c0da3ce58207ca80fe40eee66f866f778a7ec28fdd257527c53124a5f3ed90fc8e36b6a100703b3b7b0e17572e7eb197645ff645be3a72c8f00aedb39453070edc5c7fc09973900581f020c5e780bbc7816c6a405794232b533b9b0d4b4c4c0e16d06d087be8301b94b05a53e0000000064c17f2f03a39cef32981df1ce6d3e5bcdf592314c17382a3779b05e60c6e7a32c16e19ce702197dbf036aab87c497aada78c29ce1ac5afd41007d0cd9e25513b9b49863b590a3b13ef203148fbda2a8a7d580699888ab29c69b526246574fbb0e5f4c95e46dae5530cc2903714d602aad3e4077a956e1f84f51bd71f84bc730b7133cc3b2418152dc7f85af030e3a47c512be78c58844e5ada3889c07f5230fdb54b5d3053446c2e88bce502103855dca81b36c9b4879321f10d7f55ac97f7d85ea9ef64af188b7d2cb737d3ff403a5a8f3f527ad494a562c95bf94f0c362c2ddd1abf2f59ea6f7ab0c52d137c536039cc9514ec96a7ce9a48600b66c053b4a33a22b8442b171ab25902436910bc7d90323d8ca82243936e422bd78f7508a9704635468e9ec515c4a928d67aca8642bb90393227c18922c2b77e4a2741236ded356146d875abafb2b21ef6ddb2554b9d27603c049276f63c46781e5943929529e4532fe8e99c2994ac92abe55e38ed159ce71037e9273ec243412089f3a7112a821fa4d440618eadf9b64d73142818ab7d0954903116f12f31d2717b059d198a6b5db26bc0dfa6b8d6c5bbc0e5040f5213a64634c036413633fd979630d3efa6724434795334e6d20c64efc865b1fb6424bf00316940219ffff0316154b1b5817b84fe42369356f25778fdeed5bbe4adbd6ea04e1a33a1794db2f0362349d8a07bf4ce949ce9445776b727ee72d9a4dc25459eb7be43795389080bc03e89e90a5bba218d1d28e1b8d7030275c8d6f7b5ef11f49ad42abd3c255ea7bf5036d66aa6327aba1dce42a02017b5cf100f92f6ee85c0b6202cf6d9b2e06e5464c03074a8274729de557f96f7caab72ddc63176cfc6c081ee08b1bdfea0202bb702a03e5aae6b85d139d8163c207992250b0ba559251cd7140194134d2ce7352361cb903d96c81a5e341911bd0e6a2e66e1c2f1b85d699f09c2c8a9e8c6fa61f0d4249f4037c029343254792f1476a4d662a15279d08634b39978a064e19703981ab782cf80357bd050bf01605eb3c7aa7910b59ea483902b7c46b200156e987785c87aeb4b3031de3ad6b162d69870783eee57e6c934bd4170e5726f2851b0c81b2618f33242a036d092defa3333f2868cd398b76643847c38e9aa172af24568fa72629779feed5035c48a1780f0615c89fb2b465e8773830c296d42c5fd920ec9f04b4387a8fd66803794dbb7aa3974ee0a4fdb8b522f59e51787b08bf835a6cf27f21f5cd7b836e82031ed3c53dbb83497a9587cdece0aa93db595a5fb30e3de4907174a5d144d43b8200581f0278286753b874aeeafe6110d8a501f8b1e42079d6b4e695d59c966d10e5165820732cf38de6420af60a4e5caeaa775baa06392914658c78de18332cb39722e5e803e7fb4bed555462af651c5bfd3c79596c531965c4157d1c9e22104b75ab36c4a20379a2886130b9ab32c894ae425d39b6dc9877313bae45f2ae81dbe6291dc1c40603e185d500820c5ff67e26af5830f64e985078163a8f714df7e9c3ae1082bdbbc0035f499f935a703a877aba084c610ccf3e181ca7487423569e1f9c884b003d94460381afc78724c974f691321d40803a7b6b307cab7b14d21df10c6945bdc0ff113d00581f021ffd2644df0343c2565f4fb0a3c630ddcdb257ddcc39064e532b459af2eb582028e5be0c6a977300a56a04f571ce1065da9af4f673e855314ee62993bcf0bb4f03269c514a15a612e68f5825af182b26c87fd39f37837a4bc75ecb17b7f3098502030b460285515086d766df521959ddd18022aac225730639df270885675ddc94ad0364ce1a84447b4424bfa315f797b9e8aa35a6258434fd2ef54ebe89a1d885934203d5a426792db0097f4f5f26c008fd826831ff08210df2b83b77f35c8c3b8adf3d03fb69f7472751594166be55489361a7bf6cd6cdebfaeb272bbafb2d61698809cb00581f02526b34e748630db1e671539b9b42135852d62a74925002ab42f352c6c0db58209d9939aa6348a190a20ba8c0e7d2b49666f3307fe0a830554e6ff5c6682d792e034b9971ac4ab3761047fe58744c68f13dc551553a3df9284a9105c1e0a426122800581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810540f99738b2fc14d77308337f3e2596b63ae7bcc4a00581f0354b0e3d6e838f9283941b067cfb74ab6c8370e6c3bf3ab5107f957ba0a305820b7bbed04af948977aba014b4b9ac4f26df91a072f1758ab779a1b1de2bbab05800581f03e6ec773da87521e647e4667d4d4b404d038ea51c6b95ee5ab501b251dc205820ac1d0cb63266c422311bd7ffd62a02db52be119b48bfe1ae48cf09914100a67b0218910219f7ff039311066ceb366eab4988b0348bc4e65535da6645533454875612eb83fd623a2e03fe61c85177bc09a62ec614c9b72d5c0b93d5237a58fe6d6b2d0c1533f607981d0219ffff03c7294611cc4c895b9478e0e4eb1821a811af0f23441ba5aaf89820f2c26e079403f02dc9c7af60f670bce195a08b1664579142cf3af49e190a61995b9607b0685803d0e06cd1db4a0a03bb04e241a86b9a69b421fcf73f2f86eec4953ce7a3026e700328a9b755eaf4b10ca1f195d17b10c026186b735da17374f787e9c3f9873c932d03120ee07bf01eb612ba6e3b1e8d2cc1a0e2180fe9fe0ce0e8ae928525a53a60ad03eddee43f19ad42f6eec2bb91eadee93e1b906ce35c3f1830a881eb2a2db1ed7a03362d90a8059ac3a94a344b3efd3703f4a2e9e7446932702d9b3ac8e8b0162da100581f023c955c6bd25cb1b363c3dee5b7b5de4f53803b21afcd92304f0fe00071004b0674920000000064ca837f00581f0202f8be204903bd8a80509137e530abf83606473b67f9538affae656c839f58207f067cceb389ce99805528fbabfe3c152673a484031a1dee784fe7c4f4645b7903e3764d685f8ca844ca4f7aa3fc2a0213e723b409d78c15d36c3f4aa4008e032803d281a42e794bcf79fdd06f315ace8fa094b78c883875ee81f277beed1cebfd80036bc43835221da61b437965f36337611b137b0af8c00736618aa082838fb5dbd60312660dbcb34992cc5323de4acf51ff9cdec875e3689363b1750c782e98bf8cae03482192519cb65c2c0a7fd16bb9841d5b857eb96d7d48e1a80a43bb16e80ea72200581f030f867c46ec67d94c9b3142744d0507e6baa3e2872f6995860e6381fc89d04b15d14600000000656c9edf00581f03da4296480e231bb65b539831c4df7b3c4d2e9a9021aba388de5a19fd17c05820b34dbd03519eb2cd48c67bb2604c400868774ada43dc8f4ec19587255da2f58500581f03b909331e5e6f66acc558743aa9691cdebe0acfc044dba587f3166e02fb1041020219048403f3b0ea9e685549214fd50f2d90eed55afe6dc0060590355fe611eae76a861786030399ad1e37c87a4640be24a25e5e7b897bc63d78f070ecfe0f4b806285f49d0f038876820b3cc6e18713e37a54f3819a8f8c70a92ec9abfdc57d7f7fab2cb8337c03f6d6ab22b5ce9082c7e168b84cc472ea371c6d69b100df6f21ac978eb0d5582603f77f99203314eb540e5685c4ba93244aec85cdda69945ab6b1a0b1f8efeea14902197ffe03d4def7a3579d42ea1b42e316bfc65bc336eb250656d27a1d52e92d85cd3518de03c952aee1a1bc14926dbba507ee6005a7232288ad982bc556b3252e50fe616dd503369da81edbbf0c0af0264820aa0242a0db43e11806fbf9f051435a3e7446e4d9034b39c891a3e4b971054760d5473d513c671efa02e265451fdf7e0e7e53e8da22039f87c4685253aa984b65a52fa056b7f3997bcc72be08b9a0858c44e19478e9010378479ba49ba0efabab340dcc950bf321a3a9a20de6c413d87c2514d725d7baff03604d7a49f6f0d5394065ed751906410db3746ddb3531ba4e4f308650c646891a03c7d18e09c5b6fb3ed92cac8e2c0663b47435d6fe005b668ee2fcc80d641ef85e0380ab9d652432316f134c5414e5b26a6d5cfc1df901a72eff3b698d0bd84ba3000368f5db7ca135fcc0bcd71ff629757eac34d8acc5ab01f902a5f20a6a612d9c6703d34a09643f58aa3c031b85ff6201ef55d5256bd88cb70695863200a97763568f031125ee5e583cfe5517f907faadcf97a45780a76108daa1e97bfb9d62a39b35f90219ffff0392c4cd494fb4702c9b019c3eba6f303bd7da4a8735fa1dee7e72dea38a4100e7030b6b998b58bc9ef941a281f7e1509a76831884012c5562d05373e30808da12b3031c1d33b7854037eeaa1272e14123d5886801006dbc6350659be8e4f0d567d12803dfb7bc3db75aa457299bc3562126ba010b723cd7b2a93601c14e93bd58c835fe034093dee504ea076128d23b3871f23c6bd18707f5ef2bd38feb72df408d9580f7034614132e59697fb27db68512fb37218b0be91a94fad8cd3e3ba36c00b7c95b5903bbcfc0b1edd57a84839ac98c1507f7ec1fda2403b87899736441d20629a6edb903d7f5aca6153cca4f384fe875350653f9691037bdad36cd8c197ceca18733c67e038ffb0bd148cbd03154b790d02101c9da63636e1a5576bdbe7277003ed31ba4da030f7176c7ea0bc610846953f96906a2c56fb41a43c2c31715e6070029655d03df03afe5015f42ac480c2e2fb7c27ea78079907f1f0126b1bb9627d1d1351a6120d803d4ad7c5181d4d7ecc050853efeafa05efc4937a8fe3e6a9471c0e500db5dfcd603e07f7379dfbb16bc18e9f2a86b7a00e145ff6af387cc24394ba540ce6f1e7fe9035c1ce349bdedfd4b581e6c41144b897ec452d283d0c9e5a806a0368a4d4a71ec0324639db358e31aa95541f56286f09ff5639268d832ad45a3ff63b6fe3d09c7650303ff14548d4c3a91505d920868a7719d4fc7fea565cc0493acc47d8fe3db14360396e0fca5798b28206adc58c94c8ac173504e8c13a95c91788da0472ac798bab803a2eed8d1347ceee530a273fc58ff3019e586a609f7033e8a299440178a075d4d037445f1362008124e7130bbf5c7a9000ded1a649f5b6b682a81a3ddc067f394f8036eee7a8b18f493c222ebc1cdcfd48d43560848cbdd65ca5b4563aedd73d607b5031eb616bbb2150ecf280552fca5f3affd49b505cc4db57f7a7c42d9f2f9f60150039bbc93c8a08d02611ab359359193964a19408f9a3fbacac52f903795e5da49e500581f02ad6ff6a52da8460afee3dbdffde8602be62d92332086e8cce8c54359055a4b07b0870000000064d83cdf00581f02e978e30a10a8c533500c981f13141720d21817c078865a254c3b9605eb234a880e00000000662f0ebb00581f02fa92f6a9099ba2afaa294f4bd7522d22a4b629242ca7a2e22ac39a3231ba4b0881b10000000064e111d703a9cf5a860e5c00e4282aedc255df22b1cef4afab86b134f0e8782c41899d3960035b187ecdf9155cdb6b1912f2e0c822e31ba190d4f6567df8122c6547886aaa1a031a96257bacbf9bf7325d35440e77672c7d6ba9bd6bc6af4afab5185df0cb881d00581f0220e5de852c265bde891efdb6c54590e279d58424dd801eca0d21349dd8134b139047000000006554eb9b00581f036aec96b58dda1a003bd5d7b932e262e1986e42810a045e943b86a0af80e04b09c6240000000064eea9a700581f03a7f96a84725b87d0f4ead66b3de09d48b9aa972c5de570efbe41a86829804a8eb30000000000008eb300581f033c556817a5f239d7608c753455857e26ebc0c10cd7fb8a4bc43b2aa473505820d9069aec8fececa79f2db113e912f3ad720fe04dff1e549c9f58b638c6e4862e031439bcfe466bfc45f1dff2ea2e5f91e08873a611c6837d055e45e5c425c0e53702192602038110dd6138986f60aceb14f0f020c59108865768abf1af3406f403a090f33fcb00581f022b6261ac35005f6a88c5b0c9a9feaddb455b4e112ad6bfeefd86e1f659695820969ce743839899905945ed4741ce193944007ed53e085b3c24801ead98fb990b03b9f7a2f7ecfcf63388380cc79da5128fc2be7a98a8953d40320000d54db825690219ff7f0219ffff033219e8c2e24824cd6ee43eb63041249f8a2bd3a493c7125f5ebe588f4e2418e003ce1c3d323019740bcf240939ead145e6dfb8756348f27c025394d4b57eaddd4603e504ad51e2105304a86bb1a797fac8bd8a0f8182941bfb13235a346b6c2c1ae1030c673c73edd30b62bfcf9a05b36e341a45d01d98571bb3f0141162beccdf00b903bb0e6a116d8770471f2ff7050436e34577ccd3b89bdaab105f94797a844ab0d90219ffff038e8609f09bfb2fe040fb3d14645717c41bc58274e34269cd015327ae0fc0d7ae03f870dd11494cec7f3ab95bf507bd46cb24e7928f8d04622722744b7665020cdf032fc29ecb4f411821b1e7e184b1a81ba8809d6e95cc07cc98dfa356a9b966cbc203d976b819659ce78f7da4c509416f7b6ae9b973cda14c97f5258036ceb079edac03bc4ca872061548f30b0b48f1c71afd7c8f9e65300e077e5569bdc8a30b2710fa036090bcf1dbc661060280ec8c20b8f23c768b3275099816e031a54b4cf1cb4b290364e270a27a1be6b36e10a49ca3196d7078ec0932c9ac590ef48023ebdf76a998037066ea07122a6b0fc8d2eb42f1b204e16ec1e2a552859b5f5da12cf63478ff9a03771f4dd98546229aa80b575c5ba1142935705bb2c3137f0c00614d47cd676b58031214d412ca4f95071e9e85ca22efbf92cb1922d97dd133bf9a666d87066eacd3033d2c40cba4b330195442065fbf7b010a5b9f01c82132d451649030b1d1a506eb0327fa9f25fa44d0ff3f10b64ee81ffb8cb08e951bb5ae47d2d7159974af20fbb503f38d6380b98b52548672cccc499c2ab34ec696187b60d760fd36ad262039de50034afa8f44f919405eaff2f5222e856bdc3663d615f67f41088a395d9df262002b039c231366e9c52b8ae9c77a03956a3d298645013abf947864f1ec23f2a09da8c2039b4c25a2353e6c5c51380d7dab45cb92b87b4e8032263e574f3a1d4dd8da4b0303fac870777edee654adfc2e0c5b459cdb59c0a02a723d0b086a2c0b48f83154bf03a680c352cbc8508bf38787a313d517e73c2dabac7cf17fba67837fbda2a43aa403bce154ea57a81e1662a7d7dad11ccceca82f7b1a688bf14e5386f1e13fa884d300581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0543b82da772c825283d85d5d6717a77c6ff582053b031503e56a617c562930c73a7bf530e6f27806c0b5c4a43aa79d7498c4c972521c0219080103c7e4ebbc898ea57e012c9410120f29fc3c2e6f71eed28a41583f315b81a4796e00581f02567ac167db813ea2f9b913c8475bf2cc7b18e79a6ffd6d2d522b404cd97f4b190d290000000065916b33032558f2aab4f63917c192185735a19f2c82f86c6e60e08bbab9db962ffce71bc603437af8f114429393ccf09620dd3b7c9d93d049176563ed5ee668a366994e69e403d6e325b7790d7c8a7caa4ec1d90fa3eb37a2d97ae4c2b9a892cd92266f0ec94200581f02bd449b1f692b887db268b8f3ff20bab7c6a868b9631f1a6635e1b888a7214b12a14a00000000654b6bd303dfb85c04d8e113a65709c1bfcccfd6e958c1a57674af676eb61d748ba9ea00070313d370cdb4a502b6629f1be1c3d4e3c3994e1cda72684d73a2ed110163735a6e00581f02aaadbb46324c395d9176f884c55a07e0df4626ebda3f5a4358e8c6e1afd85820258eab7795323ffdd0d6eebba0e478e7c96f16837b82b97fde47981329f1d35703a2d21a888e3b7d8f383ea59abde580357af49f25459b062fcf19616aba3987a30334dd484330ba46ac1aa12c99fbaae740606eb8895fdbd4213b0ffadc8e1556f6039e783eec5fc24c93c49c5ba8d816d429307b6d2ee1978b03d013bf0477d7e27303a149b1230dd3ff06a71de97e25f2d8eb2df731c970261c4ee1bf63e6fae6ba450219ffff03bfa902f037f3de88ed0d053073a50eee4896ce2774068703465ea157fc84d42a03cb17199612322541222681279cc0a751531961bc03d9e0eb8c15b64779843442037ef2abe778509b75e3ebbf0ad0fe88059e7450eb95dd213cc402d4c35f888dff03b008115d127301857ca9924c24c99a7fa8d465d75f7bec4a4c58e17eb65080ff0219ffff036e182882f7edfedb4ed9e9961e9813ca0dd0a18a3e9d62435f37f28d1a7af516033bb69f7c8e8da52a5df99cd4565f0025cc3ccb089956671ff8a0a9c546b16b7403deda52d66c6d1b97ec5cdf8618772c627ce1243e8fbf85f3ae2e5f4b84e8a13a03061d51358a582bec5ae4bfe0eed3e66eed73346990fafcc8401eb0873509cfc20384b6a7c4ababecc79768eb5d454c4baa1965726b524bb7b375b426446f1682180316765e27377cd99ebb34d665feedd9e20daf98bcd4d13973fc8958d63cd2d6e003f14d310d332fb9c357c340e9a404a7a0dabafe700e6cf3f7a11e9b12a8ec945a03dc63bd3e6a67a22fd5ee721637eb8e339416eba049622a5c3711ba9be8c12d9503cfb466895e87055ec20e4a9914deb03325383d8a5d8e8dbf2601316427b4fb3603eb51547d94079e197cfd2605596e5cd17bffc009ed5dcc014c1f2f0b15bc401c0219ffff03ca1682dd926e4cac82db59b2baaff3f291c5f4db41f84b5642bcf796649a6ac40398e68ea5f388715e8e954f4aeb24f9aa0af85953ab351c85d02f487346fe4b4903b8e1712ad1ea320620be6fa9587fa56f27c102e1185c8979a14d06088b9e246a030cb8d08b5edb8ca5a90e3a3772f21c18e66a418b450ec9ef76e341d68cca53ba0380a424639ad9c9ef266adccd0895a52a60a024a8b233412a4f88773cdd96a1a9030eb93b6a65f6a3c2023a2b0ed3dd4dd9308a4f9076dd57f814e8a2659b022d270398de68ca0c40b374dbe1296e473ecfbcba48841817c150b124d957c8d3a564370390d5ed1642d22b58695f5ec0841f1709ccc76730cd13837e77f96c4ad22cccfc03f990b650a34b70b954f15274f8bcade7659ffb5707def425423e583772d0b97f0345b4030e313185dcb5047230625847cbe0c91d1a860ad1337876937470483f1400581f02905fd9308307c638bac8b1ed0b531eef8d93e78cd51bac40dd8b1854fd744b14cd06000000006561a6d303671ec529a61feaf43f425df309f1cf2f2ac8ebd1c1bb3f1ea84a40437bb139ba00581f02c33f8fd3380401e063c4d8a0da51d18ca12d1fc503d589ddad81520d8efd4b13a0df0000000065559323035fd97f88de451900848bf389ccb7db60dc49d1bde05a1ad664cbe3118fbbd5530365096121ad47eaff46a09acc3107a3bf858c15f1cbfab4f79bd38c3137c12b9903752536c4461a0aba28e10ed3c2ac69e3bc0fd91710280f7a57a9eaa3ec02322603e4d29fde08ab905a53a4570e9704c5dcd660de53158d759e189345ae3cb3211103444ada4b53b9a3d3c2cdaa94c247c5d9320e9d5f923a01a3bc2e9786119eef5903a4226fb0cc23862776b7aec3372a10dc74cd9b7c828e9e8db5a69cdf22b690d300581f02951aab990b0c77ee762de23b386122bc07d111c5626c12bb80b19de3ac0f58208ff855cd5a5a8522cf6d31e0bde75755437428d7ae7bf1042bdc0fe847d65f1800581f02d14b4247e815f443a90fba2bbec5813186f012fa60c61f58e5048ce964045820186bf16198c5f42480827a2447f56c5930f73ea34271e6503e2b30a672f025ec0219fbef0309249910d63ca42c108b40dfc13cf78b99fa824863ba5572ae820852d458b82403456e17c6b7cc4c448724dee251ea53f85c42064e7dedb6faa0f3e72df379aad003c89dae34fcd3292056ec21e3f075ca2dd253e7601f2155d5b55a98e6eaa617f203d8c80aca9906f483e781480e26b65ea46dfacd73b20956def04eae56eae72ea403402b4ea539151fbbb6ca960a6de4425f54b25fab4966e967e4954fd17b06ae7403ce2e39fdc0446e5aeca6b37ef0e8f2904bd6cdb3e6050f65b583e6a62fc5424403d5b02fde47a4dfadb7fa412324c0d81fe8e2303e19498afd99222273225cf32103edb643b5089ea743c7786adb3ef5ec26892fa3d4ffd0287ef80f78858d0624fa03719b7a80af905553db8ece2af8b1e52c3ed8fc7626dffa4f3fb2df06ef183dae03f13947728b27dbef5b92c8d61c8f46a9d08d57640f469f0c6792558a61709ecb03d230fd258d63b7e6322254de2df13bac448d5b704b9daee98cef9f5f7bcc5c2b03c3539383f3ac9eb9702a2aab0d33b1cf92c22617e92532d93b6b44d0f146bce203bfd69a382627cd05eef09c52ac2e315fdf333041a9ef88b5f9d15c16c2b3de460352f4254ff2d3759dc93722ab469f992afc56f3dcae46a75b23781ae4e5cac00a03ae50843a86e8cd17c3bce33eb58eda97c0d8a93db8f937294609e56fa005725c0219ffff0385c0ee104bff655de8fef3ad609bf60dfb867d7ef01df582b7006f52b57869da030f60eeddef623f0a2ead11811b072619fa432c3624957a6fa2919deeaba2f1e8032c53c8bf200dea9975ac48c63344490f1348dccbafc6cbb4ac95b2229b1b621603a31f61a384be492e23f711ccd8efcf9b2dea346b8173f47510156084d066823803cb10f5a23e45386d6a3fa78980c631c6c89185b71a7790b18214826b88ef377103978e7023b3f7229eb398f65e64c94bf323280fcffad8f66c66c32c827102ad5c03d312bdaa678a147b592cdad0f60a65ef44b062665ba348af204aa0057dc9eb1a03b38459871d5d4f2e60f11bfd850539d072bd788a0a27eed5a6f5fe555d15920303fd24ff385ddecacd63d831068d562f5344336a092dd175f300d7fbc64c9caa9f037cb4198646679300be5991e33b380df25ed1cf4dd26005a03d5f42bf75d4177703945efef636010e79c37a232495fa6bf5b0aa30db4390a954a20ab6b32113c4db0219ffff03cb5471ee6ac289dfef1fb1bf66afd6115bdbf95d41e5d601373ff0da54289771034f602e630fdc9d4cb2fc18316afb259125376a112e24d8d2ff94ab4983cdfe4503f20d0b0dcf5a39410ac7ac15418aaec0527c39173982ae2143871372a161adbe030e4c6b84bc203b36051e68ce1b26655b91fe892d4d23db6a74e5e5df88b355860219ffff05581d0294b9cce1692ff666ce617e884d84f1f0b4739cab10d70f055d45915407041908400372f1e909441e732be25eac81b54b77b0ceb163bfb08d9f73630ed409ab8bd0ba0219100405581e03c67921da4de4cf14852b2d778653358a88f2c02719152c99d1bf4d9be00c183d4769b3e7924587bf021957dc03db31646e0de6f6540bf6b527e0376e0db22cc2120440f8942595efef4822aafb038f47a6b81d2302af03947e84dbef6f75c597c60f502fd6b6dca246c14ed87bae0384a9ec00836a561a8658e8f10741bfaf7db589ae5a975717a2d445a9f11bb1640367de14540744447cfd70cb124bd54e9789e42eb5ce96ebd1578ed6014a5c15e703b6dd35342ed97171a70118ec27e0a4d1703034ef5646f1183131adf9c068e78303b98db5847dbb6267d070e3527895c283a4eb068877f38c44f207230b516dac7f035a8625b7a8624cd9a6ec7858362f4d14565416349493fe3b25d5356e11511d7603c280849ad8ffed7b4107651ecf62ede355e67f7bc87815637656c7eb96485450038746e540a6d19b55fe7264dddc48fd5acf471932eead2cbd886073aec8c534e603c2e1a445c03a073e800a0512cd066f14fe9de8ddb61744a3a4fc978ea3c84d2f03b0d4a10e467598e10a1f50d3b735e7ec939ee702cadcd0378f82118321cc910a036026216457877442fa3734f94483a2414d53741f021f74a1d51f095e3dd7b4420219ffff038ddb8eca5c887e31c0dcec032314b43dc2b597a11d9c4ca71b1573333db3cd3103c8e2604f36107e499b9c6e79c8c51bb694d4db698d41a6a8b8cba808cd2dd26f0219ffff036261b734b9a470be67f8be64c333856b155a9a0939790697ea4fbedb59837fb6035432cd52c3dc465f3ea6224347830f467dd8adfd245b10e077894a9f86e804da03a6240b30b8f771beb17f66ccfb62b68c27f52c6aed632dea6a15c40842b506c5039d2c42db7ce08ff01e4bfb1e9b59af8d4e4df5c44d9546d9795f0ef3743afaf903e6eb3781e2e9da884100d5bb0d45f2e07d8202c97b83a87a0054346aaae2eef3039e76c34be145ac9a0d77d7d855946823f5daaff6c7a20768e2961261a21624a3039dc211cb421076f7964ab28784704aea8b34ac7aeb3a5efa283b8b7379961c2603e1b08abe4d691d5a4fb6f86790c6a093c424764303025cad3964fe9cee7afa1703ec4b1b48b2a5e6a4411d50a4ff756c6acacb7f15b188ef2327fc6965704dfe16038fab4b0fb7b8c41a2643ebde02ffabfa795bc4fe16be5c8e4003ecf1dee2f3030316b49d43bc784809b3694c916844f3d4248a4423a6a8c2ec76599561567d82c003ccb6e4707c20732abe3081630b9addaa148d1d6b183afa39247069b53ae8373f03fe0ae717aa3566862b4fb80f656bdd216a12af6c0cc1442a48825cbc2799cc8803197a46293ee4cb7ff6b2c1953b445e79752b3bb723ac7c332f219ed32186c9a303ca8ac3675d0bf98e4fa934895e2a2c1a1955b7f1dc2cec6e4dd766fb1bc1ae890219ffff03fef61b9acc0c62840c5cd8dd8c9002105926d464b756dfdc42f4833178ca804403c416329edb306a6e004d0996b43da04cfced61c106de10c097f0b67d467d568203388e529f733e036caf810b2321fb04edf67a3525b18f1c16f3ab96c3b64aca0503ce54866a80a753e1302877d3dcb7e77dc2c079725b5433ecb29f39ed0bae90c6031bf0a1bf4629e90e3612a4b63db13abbf714a7072393099cffb5bd1accd947c203262670bed8b020e0d26b880263101fdd6799700f17fb3525bd5736c324ce7cfa03f591b32fca01ee8091e5f79a0b0d965565361aabbd056dbfa8453485ec52fac4039f18b544b2e50bb6601a419cb394280d7f1feb81e376a463ddde21b1c29ff12a03273e80307a32c6cb93474168a430975a79e9fa021f8c44a26c4a94d3163467c30367838aa15a93d95c83e2be2a82fa812316a78582c91f4f80761a7a1af20887690342c95ebe01d919d29f4164edd2bfe17e15ba01e92f6d7ae0522500970652e54203ceb1610252c12855d54415653d07d35a383c7f6a4a82bababff77a4058cd37e1033cd01309b6a75df29cbf154186644defdc42dc99c660885d783f1f0ebd1a1899037e21323bbd5cb19d83ada38256c2230a71647ba2e4cae9d38d614d8b142bcd72032d88a5be9232977dbd3474707bba915a1a5c19314e3a8c14047c56f2a6d0d1bc035b732eda5c8828c2e35d83b18143892b3cc9aa65175b45af3595c6a864a1101a033fb210212325e2747a184588101ad1d26ab78135cbdebdb1f1a605723fdaecc30317d1136a15257c39b0d39eb9215a1f1153bb91341f39714be50dd894413aa30a03f005640c654eec836cb6aca281725f3e44a7917a21c350cb93c75e9f64b1cab303d6344aea0913fe404d4dee867bfdd433c2aeb3d5a9f9f43e9973b5c4cf9c1091039ba1726ab38613dff60d08b0364174b928450852002224330420249cf8acef4503103a3cfbeefde867ba17b972fe99914cce8d7a763147cc89a1899f53f2042b70038a1bb89e300340f676d9b469a8854c180ba97d322de783c91d41ec98115f98c90359e35257455ed58145e9ed69ff092b9446d0ec4a44cf91c29f2d79665a801fe8034e58d03479ea1b510fd7b0c67360ef8009fcacc01d45cf0cf56e0cde0f772db6031d42d184daa457adfa3d9510365b54a418abfe91c189eebf1ab93ba413477b600379dd37f5b0a9f980785d999a62e1f19022ce732fe1b4d14db869e5293f1f5115036112fda7df3a2a9482978addd14878ff0b3afcacadb226d8794b357407fbd5f003e4573c68dbb24a721b5a133226960f72cfe5da8a9998a27eb847fdc0bde9e0fd03e1b51d85f52adb3774b97b93999e93fd6d3fe0fc562a590618ca1cf6b0a72be805581e03063ec5754f2de84997485fef4dafe3349066b56e32b92bb89a981e83b00c03470171591c3d870805581d02f9bd25416eff970cb631df056c41180f76543517a734bab312e770a50c184c48019565a206d0c17205581d02174c902757d981c73dcac5248d987b2a581e284664822ff4b2e946d80c0b464c8af0f500af0219401005581e0389eb7aade816b87f029e74e505970f418e3c2d500e63de2c215374cdd00c01465f17d33ee14005581e039a9db2d21b59d3f183f516c7e47a997f7ee70036449425ec65d389ec60040105581e03a12a3759b838ff283b4c511190b33a497222f16ded075465f9edc5e5f008471ad240efe4d0af05581e03a06fec80aa17ccc913817a9bd926a3281799f11bfdbb8bc0ff5c9ad4e00c03470361e31a6563ec05581e03099eef977bd24626d7773ba09f290efcf1bf9c192a348085425a95f910040205581e0392a6b5ce42cad14eccc8fcfd5a08a551382e43f4442b813463d307437004010399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908030ececd5dbc31241e7c1d21b8b944b714d279dd044f42ee6d4af2e276ea56ea5105581e038fc384590abfb39bd9ef274f31bfb6222cef772b5e7ca997c76401467007011bffffffffffffffff05581e033bda4db991f72d74e7c9abb62896468b3cfd1af703b9668074f019e060040105581e034ffa02bad5cdff3149377813755c7e780e42f1148ef26aa19cac20f21008481497ff2a7183300005581e03454a571b6234725eb70223b121c3fa297a52bc4dc5a7d8baba39f10e700c14473b45361606b85c02193fdf034d0c29ecd85ec7ca4379ff00eaf96f01b91e108fbf0d81b832a864224413efbb0373994de0a22d921fb5de21896c6dd7b2b4c6bca11dbf743f371d24c7e9f0761303fe4dbb9032116fdaaed9a7c3f9e6372b1270166a8f0209a0b93442d47b6d6bdf03a83fff46a92c8f12076d4b850a377f8a1c425637053663beacfc3918b405ff8c0315e84287f8ed683cc1dd782d6ad0d5aa2a20ec9ffe8e0e6df7d2f07f1aa6fb3b0352682b858894f66a1c26dd1372d2778793de7a0ab29d66003383209a14a6479a034d4af1d0c1f60164350445860a1ca82fa7e66e619c303c55438fc018c309ea660352240cee347f8adcfcc469b7d549292f17ba64cf57671df4bee8fd822a422c1403e15cecc09b26423931f8d8edc8de35f6839bb311c045501905998f6e34dfcd9703c7a8778e50243d8755427cc8f810d9aea22ef1d411c1a82e955bb3dfb56bca03036f97781580b57758a8daff8b358c9f7f675ed00364e2069d1ddd69aebf9f3c2a03100d1496f1cfd74ea0bfafda5c3a6bc2959ef28459a13fb341a9336a8183302603bf5628c8d8a1c2b32bbd056b3692ded2d1e70f7e4fab10373f065332f91ee615031b006a25b012d6d2223abc2c03010727afe27dee5f753196c05eb5000233f7a803088dd184e88b1a8b81362dc67f6f07daaabf488b41c58bb1a7bc75a625c1fd7f0219ffff03a8262915a90beba54c9e715931dcc1bb01303e7fc63f90364570b3d96faa98b503f619fdb1f07bbfff2a43063d9d76523b7b670b22a682b762c0b8c27b2370bf6f03768e5e700cc5cf40c100f990e5e1ed4d2ae0f1ff1703b7789eb073427ebcdcda0219ffff0333712fba09e494cac6252475a672f179c4daac81f04e9eeaa17803073bbef64b03188d0e9c263bd2d66ae5f5e1bd00007d905c2569e298338c280ac81991e5c3f903929f491cc8105cb0cf749dc24311d8268d184fec3816da75351f7e2ab6a16929034b290fed0141004ac2b45cbfdebfafacb7a7026d215714ee25998a5dd4f8b61f0322f1eac309a4f40b95096682ed6bc81e83bf917d707244eb324c816efb71408d0219ffff03e1fe7111388fb0e9d079b2aea4872111c7ae2b3a0cd01dac4bc7c5d1b1e96e5703534ce511cdf026145d8d8cf884eb9518b1c65005bc985f480aaf827c47240a7b0384102045091952972fcae0377e190df66952ffc2cda21c8644524e1e2a5bc94103ecdd02d8dd277d9f9bc143e2217da88fa87758301fc4ce3927a213404c26cc2d03ce0387d2c76f4ffb95a2709b0df9bd8bc77f61bb16ad9e9dc4ddcbdf15b206b803dde83f7204d2e6a5ee8faf2e66595f0a67b2064d72709e1ea5352caa423a6df003d9ecd98d24812c1932cb5d25183a18580d9161a3ab2ad7ad61fad4c878e81e610219ffff03cd212a4bcafabee8ddfb6b1c7aa6d802794828326bd068cb6b6096e0422a7d8603e10f2e80ba17adbcf5b9256affd4c5a1ec5184eaad15aa996b5eb86a0f4acc950348676b49c851e9d4c301e65049d4435f7af5c80573ca52d1de5eaf2ad18fe6b103b020f87f33f71c19f0184707bdcf15c1c7442bcbde438980d91ef68df7726038032aad4cd0b4de5c2294fa0e37c5e06ebfe8353df175d56f2e53eac0a3087e4dfd034434968f30bdc5a383e75398a007b9707d1fa013b86fd28a07af0f905ce0d90e031bfb8f47a4f1eebe1358ca1b49abe8cacb76e9a0392602fe9a50e9b3204d550b03d0a4270cdc178a099b61a143f3f4544dee9a30ce565bb56f4c07f17a47f1ba030364088e452e2070a3fd2ea39c2879dd5db18c559aa893ef46781e7b76486baa1003855a2247652822a92b97808973b5c509cf0f0abc3744365d9558507d6385749c0396dd3617c5dbf6a9bfe01c8310907f08e91b54af76c12c96ac6a1d5e3d3bd8e9035f843ed9935ba3f242dc49a82448b0abf514f94f6401708aff2563da520cefb3033f609bef99bbb86319260ec7d0344fa2db92308498e41f196d9e312a35d4b2ff05581e039f97cb32565ba33f3097e68430cf4e4079ba90524960c9d6100e8670100c0146046367feeb2805581d0335ff98aee7e91349598d74be50e71f7cc1dfdb0c3b2d9ce307c33f2004010458aa6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220d0232cfa81216c3e4973e570f043b57ccb69ae4a81b8bc064338713721c87a9f64736f6c634300081400330058210393a3ae4da5049eb74cee39e4cf5827f7ce7b1d1d1775ef1c6311eb60558e6d504101005821036700e13983fefbd9cf16da2ed70fa5c6798ac55062a4803121a869731e308d2041010058210354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9054db4d755e3b8735314147b9bb146327c269701e2d005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05465c7b3e1b877131986247b49474834b0347ef33202188e05581d0379a835744279c2f28345d37de1bc9b085c19a54d283dc596a560c1e0070118aa0218880141080393a58464ff1bf23374b494cc3474337a5126f0673024a5644daf40109d0b98ea034694fff7341571570a21ed9525481c15b49a4f3daf40b8a1d93890e478432379037e11d15892740b2e60d6f4b7f424a6e06176cf19f60fff26120999679a40d99503ff22ca99baaa62a37b0134819cf84f7d521a3ec91ff3ce1f64739512b822c641038370d2e430b7848d85cf7c869af3361c1fc402daa34224cfe9af50eee937329e0346acc0d6769397f400d8bda7122d1d646785938170f349e2ffbf2e16266c203c02194579031c07656344a500a8e92a8678e7355e140b69861cc793a9787d417e3ab73800fe032d48c4ea8b3482db77bc4ce7fbeba740ba9515815d7d1447e43b78affc54191c03a0d68ace4f221916bf583a5197329f9840be6d4ac872ebd9cf56815db9bb192b03e1e2cf37ec8440cd91be3e7f7270821867081de33fa2fa467add1fc65275bfc6030dd0177b6b20397028e94162f2de7a837199f6b354bb86a56ffb7f4555f9001d03140604706eded396daf4cda838b169f7dd7d578ff5679878174e3bc9f0caba97031dfe779abd78ebfc65c3520efbea0af374ea2ab727f654ec92f3b199054e5b5603bfe96121ca95ead56640238122c8e032dc2a1867f0a20ee01883b5203a45d2ae0356a17373397c97022f7753b5b0e1d5ecae153d42a795c95a094df83f93ca231a039d9b2c282605ad6da5d627ab11f8db667aaf40d41703e1d10ded7dc002dc948103b3cf6d0d53785579668b8847ddec5ed7bfe405952630dc7590db29840ba179b003eafa4a17c334599140fc0c9a448a0f113a53b402fcf0f867bacc09b1883d1919038bfb63c4e3f0a1a3edb028e5a6dfeab39b623da182ef05742f3b47095b5aba200219ffff03916d8baf24ea23ae1fcadd2350fa8e91fb9ac52deef4ceb486da3a0d7b0a53240390a17f184e765b6d09d1011d4e7ee901d56b4f8738d18e4eaf445276b504f59a032930927f75e7219411f9820b7ba6c5be9942dd91b5f5777e0bdfff7de5b7006b030360b7cd325c624bbd18e4e041a948d6fabc2fb2c91b0a43a4aa92ef619ae52803b03163a772eb6213ad5554c3b29579120c22a568279a29b1f4f6171777daae4a0353c335dbf3d230566c3bcf15f2c8cf5377aa06d0a6609b31a4f1ca4f3b4e94640359a29d3d9f887506cd49716d7a76effccefadecbb07d242a9736aeacef53b00103abeeb38dcf17d2a65ac7feec00069f16be40f3197e4a11db85f6487bcb7ff22303fd604737933a8ad02f90bd3f0412c027b19e5e3f44858493361bd4cd7642e3fc036adc038ad45a481dae50a24049fde0e0bfe4a8c7fbfee3c38f8c971167f8a80d035ee448efe4a2d5fb661c164564867f88e3727043a12e6c5aa93d729c409f979e0219ffff03e12b633f148c5b601d73a3de7302d857a28231925e3e6c5bdbee75847db967a10394ddaf3c60752c595c1fe86c455df869d24a36bd37cb8223509ce58eb34cebfe0369b987ce883e7b9d9c5cec71a65091143ea0e3428252b21c6d245e54082e83ca03c2f2ca3c565e3a6bcc984b495beef5b5f5086371186fa15af7d66137bbf75ef203e4bd7f0031942fbdcc62daf715d6731f64f8b34b9ef08df9585bcf197b3c3493035f6c9d7d9cb8b1a4a7d0a547e117be82add4215ed8daea9dba61b5e59b7d882c03c6ca19aa18fda78df119f9c2073fe37bff280be8e924e0e46cf873878524f45e03cf17a6d7a20210b87830cbfb313cad9249d47bde3f3303cad6520462ec7618c60382af2beb520296a73000d86c8a11237cc40e54d1a677a2d7865d7eab2f8089120219ffff03aa7ed7ccb27dd2c167c6c809fe264c58f47a9e9e45127d1397515165716de0030354deda9fcf3ed19026793e8e48656c97fda75c24b658ffdafc15440001137c3e036d94e172a7e5bc58f7949cbcddc8a13e62ca805780a69f272a82f9b4f9e7734a03f010f3c0500fa39324f7d7d7d5dd16e1801ff4ee3061c5144b0019446226dde103d74b2ac915e9db60ac89389c4b9fbf60434c9911e980f309476020f70198ffc6032dbc08af0c62ce90d9a719b7ab7dcc4914e6d729009f7fe6d122aea1dfaa0120036ac1d70b1ff7ec4482f669915140ecbdbb00e4cab914f98c465006834c56b56103993f466969294206d853fb7a976e49576c16cd00c2273cbd05fa63a2778e60440398b776573853bbcd0fe6feb5fa5eb05f825fa683280662c5e2e44330e831450e034f698b3406d223f9e1e3247c4fbb0dd25687f6e10864d68c90b43529e2abc006039cd63d1e4a21a06848f1f8c109de64af448ea6e9a88c6b5add875ebd64b4fad803fe0a2e4a6aa96f481a8c896e751c121609aaa54d1f704c616fc60968d452ea5a03c5b7bc6fe55720c3f8cf4cac9557d9ead7566ed5625ed16fb3508c7672aa21e503dc60ec26558ff965f466b93b77211d6e8aeaa67c6ce4ae503c905c190bca336503afd3abd4fab4d52e0f7e7d396b9a73d3994259028aab77eec8ca15c3b6074cc40317c52a7e1fc7108305c9b612af919b6b3008bff33f120fdc4e99cdf786e04a6e0395d494a21da942e81945ce5354da4b3df938be33fc348bd5db8971c5588efc20034652a4f7c1f48c6d3c1061c36304946e3e063fa3e5501d8604167935b5da0ba203b7500df060fd0ae07978a8a37fc0df35f6cc7d275ca241abff4ad5515f913e3a03e6f27aa61278cb72e11c259f05b3af6208958b51b25125ea354b35a9acbfdef103dc8a33d3154e21c40bf42a042683e0c65fbb3ea22543a3e7fbd60ec6b7035ed0030c8ad6b1319b540d28465a9fe221ecf281ec6e202fc709f7e4f33c2f77181c4f034bfaa05dde8e2e4f7f63992fd7306c913fa0d6c146303bf462ef31ace873897d0316eae6ad9e72395cefc2e103343c38b045c0bc8f3184f2e462cfb3f8bad6f1c503e117093ca8670b13eaa839680a9f28cfbb96a4d570165ee658e6971d611805de05581e03ce017d6cb352e8ddcc95fd44d999552d596ffcae8fd6404724f3c5c0700c03471a879607c13f6a03c4e9d7373225c51bd0b61c0762f846603e9aa0d370132f683c7b14e049b29ee703647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03bcddf9d89ea15136b2fb2057c11a50010ff38276e060dfe94a61e4f58e26676905581e038b04a8ec5f190226925b4d4ee8d177e6af08c43ef7e4a63bffdbddcf4007011bffffffffffffffff05581e039b0deabc59542c862f0a828294e3081be58fae472e8d6d91d79a200460040105581e035f3198e0f28bf9d9bdfb660433df3c3cfb1b13ba3ea60d2bc2186c6ab00c0147041463ec170e8e05581e03ca05c4103c481322d9f08a38eb890f84e6eaed02267e18a18a646f6a400403036e87a7b33c0c0c3dc9157758c53bde2faeaaadca3a971998ae8b22237b7653e801410f05581e0318d98b4143a83d7bf09834721c35206e043e40cfa8bfd5e37a072716a0040203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e033299eb7be80861f53b985326d87ad6ab7a6ce7de9e2d6474609b6c7ee007011bffffffffffffffff05581d039101481b5882350a79bab678c441d047d2a8cb0e5328bb7718e92860040105581d03005e6c69adb5cc09632b8608cb48f103c7afea8c08a3b492ffb32bc00c01471b88387f753ea00219900005581d024fd7fce4841859ad24f25faae3c57c6f6ec7ba04e7bf0df9600902ab040102060395136be3ff6ec31b0150dd18a50fba8744f42a9d9092d5ad5cd8709a73ca32660219f4f30316dd04481693a859e99253012ff17f2ca14924665503e0336bcfc35e16a7ef2c0308d97874355d165556ad581dcba319cb026242242e068b7199657a7fab3f7326031262457c2d28a12f75449d5d4ef68cc965f0436edf032c02bee2b5b5480b11d103fd9c3de1603b40bf04486e6beb92b733554e861a379ff10233c2314ecdda8c9403a15c06680bfea0a0c5becf63164beaed4df3be6cc866aa609a3bfe0f4c71e6fe039cda0110949ab60474a04fcb760ad7364dd2fb9dd9ef61a04a2c4a005d0841ad03b47a8c829d23c2d2a860db36538916ab6285ff8748eee6880969a7be0ecc427b03dcfafccb43f5d583ac24e77b2b3d32fec4e37dd51adb86cbd321ec193753de1903ef240ca33aff171a2aafdbfa3413a9d4d0d0c8c748b4212562c2dba4e77381910360e7ae46e73fdc1c9f31d930bdefb76ad9c15318066934cf0dae6c96c1375eaa0353f4141fbc5165a70bf7f36cfd58f4cbb389358044ec02be8670438d3caa06840396fef1fbb1292296a4492ee632312ad1f557b6f3eae43b09eb0eedd9c851b71903a40be97d32c9389bd51e9bea32a250ed47046442e49a0c80c03bb7c82d5e7515035f1714b74f3579aab9365d1fc778800a01d610ca65127a2b80568c65c74ccc9c0219ffff0219ffff03145fc22b789599ef63ac3be94e5a530643dac2ef3fe9aa87640fe55aeb9bfa7103ae3f48ce1f4dc39f658499cfc19d9560239e2bc4ae676a572b115cd09ea19a5903ad9f0848fff19954dac9c51e072dfe7b55dbc58de8e13d5a3551af5036c0393c03f5f4b7c5e947e23d54c1b3a22d3e9766b715c6b4d190dd2890f76030c03795980310ca8f26dc50a0d81d2d2832b10e0cc14dca2594aaa11bb212b4d074783370ac03819a19e591041697f58cfa9621fd2fee12580349be1708af1ad7570250dddddf035cf455515487b0dd42bf96a3adf926fffd832b1dbf712332706db55676fc1e0403372741269a46674085b4eff32edcf992b0fd860d6253d1ee46850e9100acccc30219ffff03b555f21f29f722761f4c7794e847a82d6a0901953b9b7aa35a94e09772f20d72036ea199385fe55847d60ef6facd09f1ca76094c01ada35e7dcb2238cf14373e440362bb1e0b9b7e1788b2baa6411d9226966ef293e6153bb4e65f3464d42947f03a036542240b14a2385400d4c5f361913daf97531a5965eb62c793792d0eba3e434003933fb96f79936047fca90ea60ed95d793aa72cb78a2036227f09d350375e503903a6856d4e00afec062046dd14bd82bb998a8e7e77ee294ee00821f8f35f3b258403543e2119e653cedca551ed11e08602e4a06a115977a9aa87643d3c21b551708e034277ef424d862835050f40f2e4e113ba647151dbdd2bd33841b16bbaec1578dd030386c405f95fb3f80f7caa6779727aeae18a477301a9e6d78a891d19442175a503908a13d41d009a420edb4ad33f0f866779de3b18ae034b52b77132a607ac098a038a4c4e99a3ef03a046ec230f6ad119b77c96e2bbcae8cb20867e859e7425e761036853c1cf02c5673bebefdda526d491dc019eceb1d54866a3971c095b3981518b03448e11326caa4e94d1bfc9777dda6ed198493f6f681e572477212bd102decef8038641a40a548c73becc8ec1987dff9177cb0fab594f8e7e2e6c23ed5fda4e5e2e031a912022a7b75455c20fda8fec494a614be28f860dae53e3ed3d248af5aa076a0395e6e949a67dfff8386a53612aad62682bea087a1804e1f81e404d141cbb565b03150d983986fba7fd5b16c6326ecdc1d0007432e0f851b4b7bab28d149e20986e0315ef3d97c431a93d9e88812f4003209755c4f1ab06a2c5ec7b4f103d24d2ab5303065bf1911afa6211e935f40b2a3cfa6e138501cb05a4bf39b8d1512e53804334033ef04fbd7ac53b77742cace6b49937664b2e246bff26ca23e689d88345c63e3c037d4c7bd18ce4cd855b7b95a467906eb979633c4a8f4a5f0186730744773fefac03e5b43f03001f374828f5ca3d75d0e028816f14f0af61a4f23f8107786b2462c703d5921bf6048339b64c786520410c3d2df320a5b055df69a1b8ba6de3bbb1d06303f944ecdaffba9ece6d690663377e8edc93ed81a2c63ceb58cbcfc3ed152a95e70365728a7b0772ccba8b0a2b6187f2f1231f43f4a3be9c74405f3826441dd5a431031a81cdfa845ff5af15ab26e2bc772666072f2102f869a7e1f05e57b128902c87035689737f3e998080ee06a9387f5ef5a629990de5c070a05f8ad5af4dcf583a4c03ffbd10aa33d422c82e488e13c8fc90c9d78e62eab3470d2b9fc9a2f3d22717f003cb07799c1b685ed2f6154a7c90921896678ec1b27896890ac4b339a7c26260ed05581e03e5321522aa3fcdc4fd412edd28fa68c477e5848fe259b2ab8af7262e000c0147171761a2fbc58b05581d035f2909ac5f9d3810ce866385f214963167e8a96b9b58e578b943b300040205581d033728715911a5f1cb5bf91d193fe4a87c28076ecb3fc7bd4ae34cad700c02475518d6706be8a90219100101410905581e03592e6274bc3b4b1c633966d1449ba69fa3728dfe211811ff448683c0500c0247013dde07d2cc0003d137c3471eecf169ee933e7373a12477a4fafd998d5661c202bc04aa9843cdce05581e0333bec8774d8a9994b7906411fdea8e789b82e8090c59f0756d02003a00040205581e033b34d2ec3a1b4b55d40402123de42a0de2e0b5c565447c5f60cf847bf004010395f22fffa27d569c1083a2ac3b1a136ab47cb06c5da3aefa7b9765a47065ad5805581e033a117c030bb16cae383c2d0dfc35efdb2cabb901dc763cc5f413c943c004030357e323586ef15d961799897016e0b8b299f8992d64902995983c20655a0d41c60219efab037d51c6cb0f2101d65a4c87d0d2667b2ddadb5238986505cc93b48fb91d4f8d4603f5d48ee4bcfc76b64e3436b2c1d7304f82cd51bcb86a7e2fce91ec991ae21a1803f3b5c0fea9d3d16d81a980a0953012e3b45e7939b5de546d630feaa3abfc1f950219ffff03509a9f0cb5d7004bc1a8752315eb9374f11f94c1e576e58580467cfe574f78cd0344e2854f54a9458aa83e71a721b6722d75ba77583c5eabbda8f4bc56a69b77f303c599da03b7335d5d2e7d28c859e316e6ddf78296c036b5e3ac3e111389a4424a0350d623259959df2c5143be6b8cf1c45b21a2c34067a89e58377626b0e05972d703224afda09fa5a825539f433a405b24179a3cd3e962b6fda69a4880845cf658180330a12bdcab0035bb8ad348691f467d12cd733076b5bab2443eae9e6f5e75d316030501df4c56bb6832e5286ac63f6f60a6dcd7bb93886d07cf9f9b1058c7b6a9790373f6eb87ba8f075db47e02abf911deb844cc73f3b7f428ea5501a68cb51fda0a03d4c4a9aa04bb41b55c3082cec92ca7444d34aa1e78fa6a37d66265fe262ebb0b03301ca149ad0073044cbec42a2db813833a4be70529ab4c3845c165798edca0f603647cc1849a89261ab0a57f67a56cd6bbea276923f76b995d3639d6cedc8e4bf30320d48239c410e7a515933a3e74f02cbd34a37203a7a6be646dae0b44b25f28460219ffff032b438907218afd4622224345f493bcd8340c5f235087abd3f479ba7eb8138ab603539c852a9a4a09d72d0f0b4994f09e9a67ac0f83aa37cff233b04761f8fe738203666e37240bbe03e0cbefe87ad2155cb4a8f236b6367f289dc2c4b646858db292038e63f2d8b84a590d808e82b476e7afc0fd14416a4171276e6bb372e6844e7a800219ffff03f13b26d47f5251583b00b6e30b3eb07833540397f7b27f45f59a26a4a69405440364d7d63fe822d7f730cea045c7915bae45d8d7b7420febbdbe3222bc48a8a36603111a8d73cc06d341758c6645d23d1a44330872a1e971d52490cdd6ebff01d22103fe0e13d5d048af7367bffadfc0814e3688c77e33bd9b42b0f23f57592128d24103c4cd9cb8080e5619fd292024ad55beaf06bff53fd4845860f06c37cb2cab1c670357c71747d90fa255e163f7be89a9e9f72744e8d2ddceffa72ced4925c35ddff203b4d8217a2580558f05c043a30032268b373037a66a342f3f2e584f19eed96bbc03ed86b4018edaf48d8e8edb8a92f2553f90b657f12ae49d13656c370f0f682adc03145b4fa134e94c75872fe4f09cb44d2be176e4df2c8cb5ad0bd437a083f481df03d112fbd77f3737462ff5a1b27fe61b46e39cb8c09b40d806d1593d1f3c206b330219ffff03c3a0743af7ebce65c949461a000e9f3bbc8293e0de0d71e482a6a0693cef5dcd03656e5b0fb80753aacda6e7b794972024dea49c0d7d2179675558dc3188a91173038b93b5800c423d51659e07bd0b3b1d7053b9fcb92627e4948b2283c11e8024c903e0cb86215409e1644ae45c139e06f1cd2259c4266413d5ae00e4ac28fdf14df203f75839afde96170b18bf31ec8eea8babb357aa9f1dfe757c3f7b0fdcc2fce678032d3b5065514b6905dda22fb35a82636629911a686616407153b4316673e0a0f2037c3341eaf00ef009a7b97701ecdd546ef7023ea096e7e70a322d8092b62e5b09032655e91e6401006153b16b89d7e3e6c09ad916e1d94eecff83c2f5b601044c18037357d5524caee4f7d0820eb267abff37969e67e6c685f6b42a04e405fe22292103618a51ca25bce999798049e1113a3205d44670e5a6cee62c4b482b188b4ddc1e039ff23dcd5202062a582742ee8e2efad3875023e4436dd664d062091e7a67f0ce033168ac760b26adeff5dbd047b8e48137732db382ce580c2cd4f7f5b20a919167035f0a4564bb68e07abc5c13d1bb6e9a9ae58de69cec0c194971913f9660d428ec032cfe4541944edd213103b6e5a3a4d0af651aa29ea5509812144828c243c47f40039c27ba42be6d98e8dd85437ecdba2b2bd163e5d901390604ff4048b0973ec87a03ab5dafa8f13aea923aad0be8d895cf3d608fd3425fc83fd3c1e19debae49091b0340eef401ae4d4ecf2c098bbb77291e32cca77c5463a468ca89b0adbfc98e15580360112993a81ab22e5890cb10f6c993273cb89ab03466bab984f81b39352b9d0d0350b4a8607522f98f38c822e96016c74f758ac673aa4eb774a640c06e8167624d036e45ec4fde02c59285502b0766b72490d83aa085cd8970e4b4140f7f80ab668303fbb3e898d5a7e90d11f07144547dfbb33af201ee9dcf2a55356b441dc883e23b037adc6cdda87216337b27d090ee17117e8739898206f1d3b5e255d528b444f44b0330f14c7665a3e3a857f65e3c70270a6d62fbdfde2099f5249f070d7a87e5b85205581e03d6711ea22a57bc3d5cebda8bc48058c685eec4f9e32e7e1c219672e5300c0447017f9b5575b6f8032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c9420325522e3a854326b3079b15e58010694e66f55a0f0253ea7a2185a2164df8874405581e03f0c34f1102e648649718a4546f1df9c77957cc8f9b7939ecd4a8090a7007011bffffffffffffffff04591fe16080604052600436106100fd575f3560e01c806370a082311161009457806395d89b411161006357806395d89b41146102f9578063a9059cbb14610323578063bf474bed1461035f578063dd62ed3e14610389578063f2fde38b146103c5576100fd565b806370a0823114610255578063715018a6146102915780638da5cb5b146102a757806394b918de146102d1576100fd565b8063293230b8116100d0578063293230b8146101cd578063313ce567146101d75780633644e5151461020157806349bd5a5e1461022b576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd1461016757806323b872dd14610191575b5f80fd5b34801561010c575f80fd5b506101156103ed565b60405161012291906115ca565b60405180910390f35b348015610136575f80fd5b50610151600480360381019061014c919061167b565b61042a565b60405161015e91906116d3565b60405180910390f35b348015610172575f80fd5b5061017b610440565b60405161018891906116fb565b60405180910390f35b34801561019c575f80fd5b506101b760048036038101906101b29190611714565b610449565b6040516101c491906116d3565b60405180910390f35b6101d56104f5565b005b3480156101e2575f80fd5b506101eb61096d565b6040516101f8919061177f565b60405180910390f35b34801561020c575f80fd5b50610215610982565b60405161022291906117b0565b60405180910390f35b348015610236575f80fd5b5061023f610988565b60405161024c91906117d8565b60405180910390f35b348015610260575f80fd5b5061027b600480360381019061027691906117f1565b6109ad565b60405161028891906116fb565b60405180910390f35b34801561029c575f80fd5b506102a56109f3565b005b3480156102b2575f80fd5b506102bb610a73565b6040516102c891906117d8565b60405180910390f35b3480156102dc575f80fd5b506102f760048036038101906102f2919061181c565b610a9a565b005b348015610304575f80fd5b5061030d610d70565b60405161031a91906115ca565b60405180910390f35b34801561032e575f80fd5b506103496004803603810190610344919061167b565b610dad565b60405161035691906116d3565b60405180910390f35b34801561036a575f80fd5b50610373610dc3565b60405161038091906116fb565b60405180910390f35b348015610394575f80fd5b506103af60048036038101906103aa9190611847565b610dc9565b6040516103bc91906116fb565b60405180910390f35b3480156103d0575f80fd5b506103eb60048036038101906103e691906117f1565b610e4b565b005b60606040518060400160405280600481526020017f426f6e6b00000000000000000000000000000000000000000000000000000000815250905090565b5f610436338484610f3a565b6001905092915050565b5f600454905090565b5f6104558484846110fd565b6104ea84336104e58560025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113ce90919063ffffffff16565b610f3a565b600190509392505050565b3373ffffffffffffffffffffffffffffffffffffffff16610514610a73565b73ffffffffffffffffffffffffffffffffffffffff161461056a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610561906118cf565b60405180910390fd5b600b5f9054906101000a900460ff16156105b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b090611937565b60405180910390fd5b6105e73060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600454610f3a565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610651573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106759190611969565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061071f9190611969565b6040518363ffffffff1660e01b815260040161073c929190611994565b6020604051808303815f875af1158015610758573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077c9190611969565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7193430610803306109ad565b5f8061080d610a73565b426040518863ffffffff1660e01b815260040161082f969594939291906119fd565b60606040518083038185885af115801561084b573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108709190611a70565b50505060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610910929190611ac0565b6020604051808303815f875af115801561092c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109509190611b11565b506001600b5f6101000a81548160ff021916908315150217905550565b5f8060149054906101000a900460ff16905090565b60085481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b3373ffffffffffffffffffffffffffffffffffffffff16610a12610a73565b73ffffffffffffffffffffffffffffffffffffffff1614610a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5f906118cf565b60405180910390fd5b610a715f6113f4565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610aec575f80fd5b610b183060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610f3a565b8060015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f600267ffffffffffffffff811115610b7657610b75611b3c565b5b604051908082528060200260200182016040528015610ba45781602001602082028036833780820191505090505b50905030815f81518110610bbb57610bba611b69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c839190611969565b81600181518110610c9757610c96611b69565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8433602042610d1f9190611bc3565b6040518663ffffffff1660e01b8152600401610d3f959493929190611cad565b5f604051808303815f87803b158015610d56575f80fd5b505af1158015610d68573d5f803e3d5ffd5b505050505050565b60606040518060400160405280600481526020017f424f4e4b00000000000000000000000000000000000000000000000000000000815250905090565b5f610db93384846110fd565b6001905092915050565b60095481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b3373ffffffffffffffffffffffffffffffffffffffff16610e6a610a73565b73ffffffffffffffffffffffffffffffffffffffff1614610ec0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb7906118cf565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2590611d75565b60405180910390fd5b610f37816113f4565b50565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9f90611e03565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100d90611e91565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110f091906116fb565b60405180910390a3505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611135575f80fd5b5f8211611140575f80fd5b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b815260040161119b91906117d8565b602060405180830381865afa1580156111b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111da9190611eaf565b90503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614158015611265575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561129357611290606461128283866114b590919063ffffffff16565b6114f590919063ffffffff16565b91505b6112e38360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546113ce90919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611386826113788560015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461151a90919063ffffffff16565b6113ce90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505050505050565b5f828211156113db575f80fd5b5f82846113e89190611eda565b90508091505092915050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8083036114c5575f90506114ef565b5f82846114d29190611f0d565b90508284826114e19190611f7b565b146114ea575f80fd5b809150505b92915050565b5f808211611501575f80fd5b5f828461150e9190611f7b565b90508091505092915050565b5f8082846115289190611bc3565b905083811015611536575f80fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561157757808201518184015260208101905061155c565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61159c82611540565b6115a6818561154a565b93506115b681856020860161155a565b6115bf81611582565b840191505092915050565b5f6020820190508181035f8301526115e28184611592565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611617826115ee565b9050919050565b6116278161160d565b8114611631575f80fd5b50565b5f813590506116428161161e565b92915050565b5f819050919050565b61165a81611648565b8114611664575f80fd5b50565b5f8135905061167581611651565b92915050565b5f8060408385031215611691576116906115ea565b5b5f61169e85828601611634565b92505060206116af85828601611667565b9150509250929050565b5f8115159050919050565b6116cd816116b9565b82525050565b5f6020820190506116e65f8301846116c4565b92915050565b6116f581611648565b82525050565b5f60208201905061170e5f8301846116ec565b92915050565b5f805f6060848603121561172b5761172a6115ea565b5b5f61173886828701611634565b935050602061174986828701611634565b925050604061175a86828701611667565b9150509250925092565b5f60ff82169050919050565b61177981611764565b82525050565b5f6020820190506117925f830184611770565b92915050565b5f819050919050565b6117aa81611798565b82525050565b5f6020820190506117c35f8301846117a1565b92915050565b6117d28161160d565b82525050565b5f6020820190506117eb5f8301846117c9565b92915050565b5f60208284031215611806576118056115ea565b5b5f61181384828501611634565b91505092915050565b5f60208284031215611831576118306115ea565b5b5f61183e84828501611667565b91505092915050565b5f806040838503121561185d5761185c6115ea565b5b5f61186a85828601611634565b925050602061187b85828601611634565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6118b960208361154a565b91506118c482611885565b602082019050919050565b5f6020820190508181035f8301526118e6816118ad565b9050919050565b7f54726164696e6720616c7265616479206f70656e6564000000000000000000005f82015250565b5f61192160168361154a565b915061192c826118ed565b602082019050919050565b5f6020820190508181035f83015261194e81611915565b9050919050565b5f815190506119638161161e565b92915050565b5f6020828403121561197e5761197d6115ea565b5b5f61198b84828501611955565b91505092915050565b5f6040820190506119a75f8301856117c9565b6119b460208301846117c9565b9392505050565b5f819050919050565b5f819050919050565b5f6119e76119e26119dd846119bb565b6119c4565b611648565b9050919050565b6119f7816119cd565b82525050565b5f60c082019050611a105f8301896117c9565b611a1d60208301886116ec565b611a2a60408301876119ee565b611a3760608301866119ee565b611a4460808301856117c9565b611a5160a08301846116ec565b979650505050505050565b5f81519050611a6a81611651565b92915050565b5f805f60608486031215611a8757611a866115ea565b5b5f611a9486828701611a5c565b9350506020611aa586828701611a5c565b9250506040611ab686828701611a5c565b9150509250925092565b5f604082019050611ad35f8301856117c9565b611ae060208301846116ec565b9392505050565b611af0816116b9565b8114611afa575f80fd5b50565b5f81519050611b0b81611ae7565b92915050565b5f60208284031215611b2657611b256115ea565b5b5f611b3384828501611afd565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611bcd82611648565b9150611bd883611648565b9250828201905080821115611bf057611bef611b96565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b611c288161160d565b82525050565b5f611c398383611c1f565b60208301905092915050565b5f602082019050919050565b5f611c5b82611bf6565b611c658185611c00565b9350611c7083611c10565b805f5b83811015611ca0578151611c878882611c2e565b9750611c9283611c45565b925050600181019050611c73565b5085935050505092915050565b5f60a082019050611cc05f8301886116ec565b611ccd60208301876119ee565b8181036040830152611cdf8186611c51565b9050611cee60608301856117c9565b611cfb60808301846116ec565b9695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611d5f60268361154a565b9150611d6a82611d05565b604082019050919050565b5f6020820190508181035f830152611d8c81611d53565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611ded60248361154a565b9150611df882611d93565b604082019050919050565b5f6020820190508181035f830152611e1a81611de1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611e7b60228361154a565b9150611e8682611e21565b604082019050919050565b5f6020820190508181035f830152611ea881611e6f565b9050919050565b5f60208284031215611ec457611ec36115ea565b5b5f611ed184828501611a5c565b91505092915050565b5f611ee482611648565b9150611eef83611648565b9250828203905081811115611f0757611f06611b96565b5b92915050565b5f611f1782611648565b9150611f2283611648565b9250828202611f3081611648565b91508282048414831517611f4757611f46611b96565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611f8582611648565b9150611f9083611648565b925082611fa057611f9f611f4e565b5b82820490509291505056fea26469706673582212202285d392272159de6da5ff7abb452588d13232dd478f0c1fb07df8ef48328e3c64736f6c634300081800330343e6c7c5e2cdbd3c7413380c6c80a5513e92d3395753511513b33fdaa0aac74b005821032f2f92e277068e584ec47e173db15178bf75b2ad99d6a739235d1e7175f6d2804a0f1dbcb1c620960793ef0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305509000000000000000000000000000000000000000000582103e90b8fb3be9541d4624b77e4a20343cbedf418e493270374a1f118d43f7a73304946046985c7b3cf258303b63b319974ed1a7abed85e2fad2501ef00c6785199b0dcbe7400d676007c9aea0360cba55359b09378082066fc3712c0557d09bde30f76b70a684995b0007c16d8005821033f11b9b138ca63356cff405b0b810f5f7c2e4bc460dd20a9d663f73aafe9c6b049756c70f79c7901760a00582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a152d02c7e14af680000003d78f698c3986bdd54d8d1d0731abb8c6cdf961b5ecf2f52b6c714acf9822c43f0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054b21958a942a6c196b8b70b85479e4793eb9e592203436d1d981c14632956dddbdb28f93bd918f7a3abf6ead0944044c4b126dcdc9603a371bf0fe147509ef387d61390159c5c488c7041f15e96d6054b7a43ccfce2c3005821032ac5b73225f2c622ccac7eb0e5c735c69c1d959882246bd9d0bd2bfa5e2913704949312b149b60b5632600582103d7805187b04347357e931c5f0126add374d873f6c8d5acc02b8c168fef29ed2049019d6bef5af014da85005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f054d5ea706a4b29df70380b322263dfc5a253fa2817005820036811a680e4616a4415822a267eec26951876bebc91d11d4c50d95762d706005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021940200141060219fff705581d03a90f85703a6193614a9ad2b9ee1c6341c4d40d9b6b240aa448622cb00701191fe105581d03f9100ae823c0dbe2cce3a58f41b414e90fcbc0498ccaaedb8184754004010219088001410c05581e03197bd5b0d2a2ea63b9f8a1a8a55ce5adc2017358bae4395a6a3cc725e00c03443b9aca000344f9c4dbb3f575b20c20d25ff053c7e8e5cf8079d15fc5857f26d3f92ef9e78505581e0358c958f0a80b6ec569a02527f55df2f8cb460ace70e25f609d23e1d290040105581e035d95e96f09cc4ad78fa0f2d1209b08162274eeb4cbd41347e0125aab100c024702067ac568f0b805581e033dbfa43201f16b6f37fb742abcc2cf59681b07c129dd9c65e4fa2f2fe0040305581e0362015a2b820f9aad643c003de5343fc85d042fc3d45af6c1b0f3ad7210040203d501926049cbaa26e07c749cecc8c5a297d7be5aff456040a85c65ba165af39d0300e0c5a0180381a78f7b4d2fdbf73b106aef2a6ed29fbf0f73ba9a938421d92f05581e03b2ae9600d1a4bbf0ec0b4f3e0ea58658dce656fb9b5013931d90217fe007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03b1710a748ecbc571b1e163c471f18b6f5eee16553364aecd428a3d05d007011bffffffffffffffff03fb2ea9fca10d159927b5982287f2045c70da1129c816438f442ba95c0142d4eb0219edff0367714e69b76d79e0be836ebd4a594dc85f593794beda668310eb65557b908e2103e0c9c1e9890452de5ea871e7f3f91f83e59b47b8edd90b032923b38ae85ce5a80342a598a2bf60ff4dc68260fa48f40f53e2668e2195063028fbae4722cd8c158a03b0a8c4ad9a789f035623e8fd8408d34f9681acff15303b94f25b2b648edfa79f03d14ffae593bd8409555e29dda2bee1d4482568cc85ec6e25472b79bced9787740219ffff03fd4714db22f1e15ea91bd0a097766806943c61695eb111bc8870aace4a98485003994b061913f3f0a6c4b7b1c108448699aa22fabb8897f42e82588e7ce59f0d5b036f3eb34486ebf805d652efd3c2f5e8284cfe29036152a4f07d0e1508af19acb203b154c97c14ca68b4b103a21ebd62a10520b64e13554279f7c05ab51e6cb5a7ac034b7e2d01b7e9896344611e780f6d3223b325dda9211d8d7bc5dfde0b0630a0aa03faa7f0186fb8090141fc721ca51cbd9907b1e68e508bf3ee2a8d492d2d85217d03b100ee6552f263738f4c2e8a2a493ed32c03a23d3e9689152cdfb39789abb43d03ffb881aa8e724ad587a4cfce3ba42624076dba0edc026fdb15f586fe15323f51030456a60cdedcdef7e0be56d715ee0fcf945bcb1b61e11770fa61a205342a0a3203650756206e2ee158f2cd60b63b5dba7422dc8be81f9875c8fcf90a8605329118039b3d3eb5e07d21c0bfd552caf62d48d1bb375bf1db831e1e91b144448b1983c303910a0d7c4d437cb0ccc3c408d4542b8eb8e9fff7fb3e6aac2c73b82fe280cb7d0219ffff03a537b2b380d9ca8ab59fb05d77c00c7c3d848d866e27c148e0bc26afe5a3d79003845ce53ce6ae1206f914069ad8b3ad3e45a63c67b8bcef7741165d0a3354ca42036f85ab17664f7e4973cf955420e85a1a81e2804db731d34f9513740333b9854a032e480bab7b2a165bf49494fae5e1c2e6f9134749cda3c187dbcfaecf9173f43f031849fe25a09f7802b1a2e2504a01e7984696f39c61a92cf78101b9f4e21efd8a035eb81b66811bde565507ca2fcd46fa64ae14ae812944b13d71049178a0f8f3a803354eba65248968c2eedb4096a427179d7ff047b10d6e5e4fbf1f3452a0ad40da03b3ce83b4e2fa376bac96f5970ff00a22fc26e853b82aab64f7d25462ad69e25b03be2b1e052afea4451a35b826fdf2668ab67f4e3fa39cef4d592a990b4291020d036a9f5074b3ca3cb37145c2f33b27de24836688209622436dfe67d8c4284cd1900343e6a9677639c2e85c7b60ce6b131c435fdf89875c72cce14d11ede238e8428e0363ef4f88273b6cf397644fd72098beadb94c5da992b02038b4b20c7cd307d22d0219ffff03cdf02611a2708abb887f0cce0861e481018ba2899240e318bf2452240cb430a60316803802a6fd2405cea4b1d51214f58833b794a6a4f5d0d8f7491f2947d30d7e03d8d62cbc5c6d102d86d59187a07db768ee0956a42516c1fa266eb099217ea2c703e2aa9bc2b2320a5ca72127a3b4f5f6c82e62821f5dc5cee9e34028a6483da8ed03692c614598df74762fe434e948a82377bede57d52255e94c813b2e9a3c1e294e0394449d57b53186e770f07aeddbd4ae30a4bf67a20c07e7e47ea9bae95d768b1403ff01da23614a67385ff4020e237fc52aac9d2fc12d672e64e44156b0e4714f8a0324aad4c78434a435799540f4fb0c932998094c8410abb9b1e2abf376609b6be003bf2160d11639dc31a25fa73dfc4210e2f86d5726e16bc0668e9eeb21e1dc5439039f651511b522135a82c98a310b77a419f0b2a8f100aaa0d6e7c7160ecaa1818e033090e497af8ca17e97f9c824a95e3705b92390ea3b0ead479a83650e2ca16cb503676c075c7239f9fe07563a4b9eed2133eb30fd23524f0c4d46db17b4629a7d8603f21405e3e6a8840c429d1f5b16492c34a793127488756b5b38eb7c9140a2a36903274a3b807855832379ae334d0f0c9ce80d7174afa8f65d807a579834181abf9603917607afc6db61d2263225e9814e0186cc9b4b96723f72239eab3692deccf6a103f84f3411e1c883283767e60e3b07d88760bc2bb59dac50893873be59389379ca05581e03b32679cead7e3b766a1fbc8699c0ca3b8228258ed998a204f75ff88480040205581e03fde6b86d22fbb600218e1ae8c8e85f0888bf0b1670560c0e4f0229c6900c01470452c57910780005581d02de8368e0ef9e7715983e7f38df726eb7147300776c85e8fa67c7eb660c034701049b6a09a69005581d02aa25738bb24eeaeffd0c4f76445c1c35c957f10e3e5e4c98230b41df0c09471b0028e44b000005581d02dab2cafda3e1550a42b405934513acf9a7a95c425389b967f7d16f16040304590c7660806040526004361015610013575b600080fd5b6000803560e01c9081634ce34aa21461006657508063899e104c1461005d5780638df25d92146100545763c4e8fcb51461004c57600080fd5b61000e610362565b5061000e61027f565b5061000e6101ab565b346101465760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101465760043567ffffffffffffffff8111610142576100b5903690600401610149565b9133815280602052604081205415610116575b8281106100fa576040517f4ce34aa2000000000000000000000000000000000000000000000000000000008152602090f35b8061011061010b6001938686610532565b6105c4565b016100c8565b807f93daadf2000000000000000000000000000000000000000000000000000000006024925233600452fd5b5080fd5b80fd5b9181601f8401121561000e5782359167ffffffffffffffff831161000e5760208085019460c0850201011161000e57565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020808501948460051b01011161000e57565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5767ffffffffffffffff60043581811161000e576101fc903690600401610149565b9160243590811161000e5761021590369060040161017a565b919092600033815280602052604081205415610116575b8181106102685761023d8486610acb565b6040517f899e104c000000000000000000000000000000000000000000000000000000008152602090f35b8061027961010b6001938587610532565b0161022c565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043567ffffffffffffffff811161000e576102cf90369060040161017a565b33600052600060205260406000205415610316576102ec91610acb565b60206040517f8df25d92000000000000000000000000000000000000000000000000000000008152f35b7f93daadf2000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043561039e81610344565b6024359081151580830361000e5773ffffffffffffffffffffffffffffffffffffffff90817f00000000000000000000000000000000f9490004c11cef243f5400493c00ad631633036105085761041f6104188473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5460ff1690565b1515146104b657816104a6846104767fae63067d43ac07563b7eb8db6595635fc77f1578a2a5ea06ba91b63e2afa37e29573ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b60405193151584521691602090a2005b506040517f924e341e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201529015156024820152604490fd5b60046040517f6d5769be000000000000000000000000000000000000000000000000000000008152fd5b91908110156105425760c0020190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6004111561057b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b35600481101561000e5790565b356105c181610344565b90565b60016105cf826105aa565b6105d881610571565b0361061357806105ed602061061193016105b7565b906105fa604082016105b7565b60a0610608606084016105b7565b92013592610712565b565b600261061e826105aa565b61062781610571565b0361069657600160a08201350361066c5780610648602061061193016105b7565b90610655604082016105b7565b6080610663606084016105b7565b92013592610882565b60046040517fefcc00b1000000000000000000000000000000000000000000000000000000008152fd5b60036106a1826105aa565b6106aa81610571565b036106e857806106bf602061061193016105b7565b6106cb604083016105b7565b6106d7606084016105b7565b90608060a085013594013592610990565b60046040517f7932f1fc000000000000000000000000000000000000000000000000000000008152fd5b9092604051926000947f23b872dd00000000000000000000000000000000000000000000000000000000865280600452816024528260445260208660648180885af1803d15601f3d1160018a51141617163d151581161561077c575b505050505050604052606052565b80863b15151661076e579087959691156107bc57602486887f5f15d672000000000000000000000000000000000000000000000000000000008252600452fd5b156107f657506084947f98891923000000000000000000000000000000000000000000000000000000008552600452602452604452606452fd5b3d610835575b5060a4947ff486bc8700000000000000000000000000000000000000000000000000000000855260045260245260445281606452608452fd5b601f3d0160051c9060051c908060030291808211610869575b505060205a91011061086057856107fc565b833d81803e3d90fd5b8080600392028380020360091c9203020101868061084e565b9092813b1561096257604051926000947f23b872dd000000000000000000000000000000000000000000000000000000008652806004528160245282604452858060648180885af1156108db5750505050604052606052565b8593943d61091e575b5060a4947ff486bc870000000000000000000000000000000000000000000000000000000085526004526024526044526064526001608452fd5b601f3d0160051c9060051c908060030291808211610949575b505060205a91011061086057856108e4565b8080600392028380020360091c92030201018680610937565b507f5f15d6720000000000000000000000000000000000000000000000000000000060005260045260246000fd5b929093833b15610a9d57604051936080519160a0519360c051956000987ff242432a000000000000000000000000000000000000000000000000000000008a528060045281602452826044528360645260a06084528960a452898060c48180895af115610a0d57505050505060805260a05260c052604052606052565b89949550883d610a50575b5060a4957ff486bc87000000000000000000000000000000000000000000000000000000008652600452602452604452606452608452fd5b601f3d0160051c9060051c908060030291808211610a84575b505060205a910110610a7b5786610a18565b843d81803e3d90fd5b8080600392028380020360091c92030201018780610a69565b837f5f15d6720000000000000000000000000000000000000000000000000000000060005260045260246000fd5b90816020907f2eb2c2d600000000000000000000000000000000000000000000000000000000825260005b838110610b095750505050506080604052565b8435820194853590813b156109625760a09182880192833560059181831b948b60c08097608094818301868501351490606085013514169201013584141615610c165789019a890160243760061b9360e0850160a452610104850194600086526040019060c437600080858982865af115610b8a5750505050600101610af6565b869394503d610bcb575b507fafc445e20000000000000000000000000000000000000000000000000000000060005260045260645260849081510190526000fd5b84601f3d01821c911c90600381810292808311610bff575b505050835a910110610bf55784610b94565b3d6000803e3d6000fd5b8080028380020360091c9203020101858080610be3565b7feba2084c0000000000000000000000000000000000000000000000000000000060005260046000fdfea2646970667358221220c5c8d054d9d5df7c3530eab1c32506aad1fcb6772c1457f0da5443ad9e91b4a364736f6c634300080e0033030262d3cebd2ded7de828e8d11cb9855dd9cc4eae3ba67de6ed24146523b3bbf200582103fb397943459080c735477e5b22409232943ecb8231c3ab8e96c35d63ccaf456041010219110005581d02d6c0eccb3770dfa2bc20c3b100f0dee5532a92faea02fec37960e21f0701190c7602192c2005581e03f7cb0a43681faeedd73e90a98b10683cac28f30d5a16b7af8b775fd490040103bc8860f972333de127cddad23b1d60848ad4b521e812975768b267f46ccd9c7b05581e03a51a7cc403726b26201fbecf520c2710115865faf80d3de3b027619e4004020316d8727ed5f3ddb30a3de2c3d9a39e2cabfae3f0f81dd6af6a9517aa212cb2a20219e4c80352af5f21869964014291e318523454be63bfcacf866f85d0598de2fb0f24f9ac03f6e8b9bcf77b123677d59c029858324194609d189d23a3445485890961410d9503e207719a0ca09994f32cfc38f8e6bad47a37c4efae4d73902b3db175aa1e1c7503f979a558900ab5c909798fde7031ffb82fa1001ff822ff9cc86eed617debed0e038855cb4783802485644fa69a73d08f65990c5a34664bcf16f02f59b4e23adaab0333f3299fe32e332286726021762497ea87fb785c79f18ec9eca87eb8c6ae6d60033696e65f6425555e055db1cfe08d3c5cc16529348ec6b854d6aaa572aaae9c85036938cea6414f0c800f8773e38d17dff9ddc08c283667fce0652e8d30e76ad235032a14d2a7913a669b30d69159230be5d41db967524cf41b0129937bbd6d82be2e03d82c242b567e9ff7b096891e67e6974bfce3c81b46d6047391e0876f358981a7039c31250a0396d8f410ae77b6dac9e45e2f89ed156b835e61e9e6faf3c86b187f039acf1d8a146b930921bf1e8591d9340682b847929375857da5928ae60c617705037274a9738855e891d214e5e6ff9c21dd9553640939a77c6f474a46dfd83e867b0219ffff03825b9ba4e4c7cf1ef8cbb9550d90d90c65e96a1822fccd40c8645577653175bb03af51838cfcf8ef57d1bc0ca2b87df721d5f16e39aad81cdebfeeb2377996c54e031ee35ebafa65b10d9a22c64c22768833fa1fa58a3ac2a822d9e911ec6f6febcc03a88097a1f9afb818e00db11ac0a5225c1d6ed1394bd535e1321b1e5990bcc803031db3d6f844b6711b9dc78e1d3a52b9bb3bcef84206d5976d12f317f3aa0c1d6103f65f6602cddc1ca4deafadff50c90557efd3117f82f3b0e80621e99b128fa6ee0219ffff0373df8c5fac65932044df5c10eda328eeae2418dd7d885a55773c9f6b59a6e7a403e20d08a38964a6338f3d7767193f6152397f231a7d1b745c485802982ea0dc3903452a09f67ed97c8d7096d5b56b4fa3d651ea7700b98907892d5a707c7a6389e203d5a3bbb599cddc4d0b97e3864a17e13d52fccd04edf9102716b6a1811bb4f1e103394d4fd04b5e7fa0d7052ec84b6fc785d1e8026052f4a9d08634276385d2904a0323754892c2dcde0d6faece147edb5e916048691c9f52a77dcab831b79f34c33b03fc7776faf3e2e1b5aecf0ac57bba198c92402e43e0b6c82a39d15e9e63f8872d036267329ab12e3f06e6b8ccbdd001dcef67cacf58b1b926fdc92e3a762e25aba803115c16bc0c3a03550dad58b77730877cb5301a8778a49b8472d2c00d1100c280037f1636d3f063715dc4b94379e9404ff0806570c83e6825a3be7f7a0a25db358303f61b154be52254add3747ffaf55bb21d039319bb72146ff8768480e21a5e1452036a3fcd9f6c7effbf2217f71864c7d44820cd0fb6e919d08baffb6c8feb32a3aa0219ffff03251750d22a981b37d43dc66a2cf47ab228df4224432f0a05a5fc5edcebee7cd303583c3f254688bd8915bfd3e03336800d58703837b49443a0bef456717c10e5b903d718837942c2b03c7cb77c67a37f54b693220d42dc19b1dde5d839a179a97d3a033f5a78c78db12e7189fe8284bfd250dab696fe0df15cdf4a55c3d679e793754f03a2e11b3752b2ca9ef8359631c279e4f8b640c5fd85cce7a68ea32476c7efd467039f2a1bebb58504de3f14f33cbd9b7a79915fa297b8cd02e5b9a9c92b37d6eaf00359f400fad1ad360d73ae3b1689fb8669888ac8fc7722ff39444dd839377ccce50334d5b200790c0ff343974079bc72a8a683e72e14e283d9d2921674bf64ccc77b035243fe582c0ac7d7c5b827860115c499aa7278da49e24a41570d5eff664651fc032b8794fadbdb01509b7585c6e6c20e4d36dd9377ccc5fe2ee562c7bbd1e6fe1103c1b966105aab0282c4a115f75cf195f5f1a495682d22dc5e72a8ebcb86ea35b703d4ab52594055da74a75ea4345329c1ccb8fe3fe8a0eeca9cb01ddad9bfd7bc7803d6b866782e7d56679fb6bad7efc5276097bfaac4d0173edbebdf7ed47a69d099036c940aaff82873124e3481608b9fd618cd957a3c2b9675900282917ecda974330367059ab60ff565d79cb942e175e7ffc804eba60f91648a703bb899613e2ad7fc0384d511de839a4b9bfc3651a56a79d9ba684928be3291c12334880cb26b64138f03b0b7771c22be1deb525725b0d4def19fa0332801586d8d7d53654d9273b72ca503df88ebda83143e93f8ce7814de04af8fb219be7c838ab7725df082ff1318ae2e03475b9dc11b981c6d2e3d565785e3e558157bd5deed58e247b0f56903c18d427203fada51cdf6cc5412e05ce1d5afeb8d267f0e1c39e93a791355eace6ef4b281c7031fe88aa66cad079ab3020dd53c5a39d1df777b61a24cd4300083eae2b9f5456303269e7759dffbe584bbe1e0d620e037799deb824526e7d47821e517162f5e70ec03beeb146d559e791087df2d068b47d1c049dd77ae862414fef3db849a275a1f41039fc9cfe6729bf70ab427d8f8f2a39b205555ec744f29c60d283bf9acccb49b0b038ac80bb9141daba50df99d0388f582a8b72d68cf803fa8dc940f9116a58bc040033732c5c1a8a61a64b49729d1d333cfd72f1a984857091c2b467ddc45875e2acf03cef1bb612d60ebcc389c665635fb66f62d3951c7046024c89708942e9e1c2764031a572e55d6f9f29debae7ca0d9e89629998fbdcc869931a3f9a80d9f096c6b4f039c809594a67fee10c2552d3cacd8a70bf1892ea75007376d5d3330bf3cd6490c03340a38e5c8120e88ca7297f90b8884e673a29b46d42d4f6da1b70e656fa3537103f25df58266c923fe0bcdeedb2d899570f27ee8696ad70591a980846e959de0520355f59722cf5399c2b1a7a0975d1d0e68f176d4701d7384c2121c047cf2bac8330355c7373ae3e257cb3952086262611aa2d93bc89eaa2d2e9624117a7864d4c2d803e78d3bf1b89c572c8bf33837f33afe8902066c614f6360a02eedbcde33de3fa404590ec4608060405234801561001057600080fd5b50600436106101cf5760003560e01c806368cce7c311610104578063a217fddf116100a2578063b58f66d411610071578063b58f66d41461048d578063c4d66de8146104a0578063d1efebfe146104b3578063d547741f146104da57600080fd5b8063a217fddf14610424578063a2bdde3d1461042c578063ab1f62211461043f578063ac94a9de1461046657600080fd5b80637db5578a116100de5780637db5578a146103c457806384fe7e09146103d757806390314e07146103fe57806391d148541461041157600080fd5b806368cce7c31461038b5780636aee5f781461039e5780637998ea0f146103b157600080fd5b806336568abe1161017157806350a7bc531161014b57806350a7bc53146103175780635619e07a1461033e57806358e3de6f14610351578063639433e61461036457600080fd5b806336568abe146102ca57806345bca47c146102dd5780634c4893ca1461030457600080fd5b80631ad52418116101ad5780631ad52418146102445780631de7bfe31461026b578063248a9ca3146102925780632f2ff15d146102b557600080fd5b806301ffc9a7146101d457806303b14d0f146101fc578063042fee9814610231575b600080fd5b6101e76101e2366004610c99565b6104ed565b60405190151581526020015b60405180910390f35b6102237f7d61affb77d4847fb7ed1aa1837313fe7cff9524de0388714b3afb2334f1c8d981565b6040519081526020016101f3565b6101e761023f366004610cdf565b610524565b6102237fce088eb4daf8e00559f6efaf5033e4a20a999465aef63939fc8291590e8b68f581565b6102237f9b9a548aa2ba34e30a47878c06bae11c39c3dd5d938ef6b753c528ab93bd617881565b6102236102a0366004610cfa565b60009081526065602052604090206001015490565b6102c86102c3366004610d13565b610550565b005b6102c86102d8366004610d13565b61057a565b6102237fd907a75d7f010f54d40445f238c47d32be78c7d74fe6c7cb00ad1a030e5a431081565b6101e7610312366004610cdf565b6105fd565b6102237f99a2b826efe74b18e139d0e8c752fad8ff60b7bd6f715f246d3981b65164d6a081565b6101e761034c366004610cdf565b610629565b6101e761035f366004610cdf565b610655565b6102237fa8d944a5277d6a203f114d020d26918a390f167b089a46be4fca9da716d2378381565b6101e7610399366004610cdf565b610681565b6101e76103ac366004610cdf565b6106ad565b6101e76103bf366004610cdf565b6106d9565b6101e76103d2366004610cdf565b610705565b6102237f381f0869cbcb6248e6fffbe44170ce68c8e237bb2b894637dd8b5ead3a90ac6481565b6101e761040c366004610cdf565b610731565b6101e761041f366004610d13565b610739565b610223600081565b6101e761043a366004610cdf565b610764565b6102237fe0c9b0afde038f1612cf25a9a50d0cc426fb91764673c34a47386568b26e197381565b6102237f62929bb83c08258143b690639c95d6a1af635a6fe1efdc47ec862aa3aecd13b281565b6101e761049b366004610cdf565b610790565b6102c86104ae366004610cdf565b6107bc565b6102237f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d87781565b6102c86104e8366004610d13565b6108ff565b60006001600160e01b03198216637965db0b60e01b148061051e57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600061051e7f381f0869cbcb6248e6fffbe44170ce68c8e237bb2b894637dd8b5ead3a90ac6483610739565b60008281526065602052604090206001015461056b81610924565b6105758383610931565b505050565b6001600160a01b03811633146105ef5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6105f982826109b7565b5050565b600061051e7fd907a75d7f010f54d40445f238c47d32be78c7d74fe6c7cb00ad1a030e5a431083610739565b600061051e7f7d61affb77d4847fb7ed1aa1837313fe7cff9524de0388714b3afb2334f1c8d983610739565b600061051e7fe0c9b0afde038f1612cf25a9a50d0cc426fb91764673c34a47386568b26e197383610739565b600061051e7fa8d944a5277d6a203f114d020d26918a390f167b089a46be4fca9da716d2378383610739565b600061051e7f9b9a548aa2ba34e30a47878c06bae11c39c3dd5d938ef6b753c528ab93bd617883610739565b600061051e7fce088eb4daf8e00559f6efaf5033e4a20a999465aef63939fc8291590e8b68f583610739565b600061051e7f62929bb83c08258143b690639c95d6a1af635a6fe1efdc47ec862aa3aecd13b283610739565b600061051e81835b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600061051e7f74088672d183ee797e5da8fa05521697933bd36698c07546fac57bdf4023d87783610739565b600061051e7f99a2b826efe74b18e139d0e8c752fad8ff60b7bd6f715f246d3981b65164d6a083610739565b600054610100900460ff16158080156107dc5750600054600160ff909116105b806107f65750303b1580156107f6575060005460ff166001145b6108595760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105e6565b6000805460ff19166001179055801561087c576000805461ff0019166101001790555b6001600160a01b0382166108a35760405163862a606760e01b815260040160405180910390fd5b6108ab610a1e565b6108b6600083610931565b80156105f9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008281526065602052604090206001015461091a81610924565b61057583836109b7565b61092e8133610a8b565b50565b61093b8282610739565b6105f95760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556109733390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6109c18282610739565b156105f95760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600054610100900460ff16610a895760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016105e6565b565b610a958282610739565b6105f957610aa281610ae4565b610aad836020610af6565b604051602001610abe929190610d63565b60408051601f198184030181529082905262461bcd60e51b82526105e691600401610dd8565b606061051e6001600160a01b03831660145b60606000610b05836002610e21565b610b10906002610e38565b67ffffffffffffffff811115610b2857610b28610e4b565b6040519080825280601f01601f191660200182016040528015610b52576020820181803683370190505b509050600360fc1b81600081518110610b6d57610b6d610e61565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610b9c57610b9c610e61565b60200101906001600160f81b031916908160001a9053506000610bc0846002610e21565b610bcb906001610e38565b90505b6001811115610c43576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610bff57610bff610e61565b1a60f81b828281518110610c1557610c15610e61565b60200101906001600160f81b031916908160001a90535060049490941c93610c3c81610e77565b9050610bce565b508315610c925760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105e6565b9392505050565b600060208284031215610cab57600080fd5b81356001600160e01b031981168114610c9257600080fd5b80356001600160a01b0381168114610cda57600080fd5b919050565b600060208284031215610cf157600080fd5b610c9282610cc3565b600060208284031215610d0c57600080fd5b5035919050565b60008060408385031215610d2657600080fd5b82359150610d3660208401610cc3565b90509250929050565b60005b83811015610d5a578181015183820152602001610d42565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351610d9b816017850160208801610d3f565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351610dcc816028840160208801610d3f565b01602801949350505050565b6020815260008251806020840152610df7816040850160208701610d3f565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761051e5761051e610e0b565b8082018082111561051e5761051e610e0b565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081610e8657610e86610e0b565b50600019019056fea264697066735822122003060c130a45f5e2d55ce25c67f309395e0835676e741e64e053299a6ca62d4564736f6c6343000813003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e03ea5f0a318f2b2c143e8a03380ac0b5271a175da000251b7d8d1d77cb500701190ec405581e03920064166dcd64efb3b5078cbb8217c5ad494bf5b7f200dac8da5e17600848030bb792bd82b1b4032ffdc9ea0264a8a4c93087ba4953ed8043b417919224e3a6c0e32ce9389343940330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e03af306356a2b45be1b5799dd315e9a302d5915bc5ab3d3b96cfb82ad22007011bffffffffffffffff03fbc3de4c51e17960ecbd964d55dc5985faa8d1b8f43c855b82d96b9d6aa08d7403ca73d68c4ad054d87be6da8505d8a50de51eb893342a53045634e7f4410f57d905581e03548bf67e7e4e8dbcdcb1fcfcbeb25f5578b50aea5fa059ced0161b5d0007011bffffffffffffffff05581e0332aa7294f394232760067b0c7f30a363bfc6c27fda662655a756edaa500c064723f2de2d99802c05581e034d6d0cef4079b58535a28c276f71bb86fe3f06ccaa1ac6296c4f710fb0040205581e03406930c00d246fdb7cef2765bd572d80714ec83caf250c240b87c7fb700c05476dcc0be252f12403ced1d0a0313db6c6acb35cb72cc663c588cc469e134a6026ca55c143718563310329c08c02158863dfd6336d72399d33637be2660fffda60b77a6da3ce372b92bf0219abba03d6761562123d4c9eb610010332eb51727382d3358d9ad35e6c1ee6f4f7bc4f12034e5aa76be02d536961a35b1d357c742c0c158d539101d35f9b73f30546f75ae70395c1d1a37887f47187dfd2c901aceec8095ad39ba4a66f8b5211d5acf6479bb303634c4ca07587bc94f12346775340f8dfcaaf22eb9f72110f3ef06fa14c4244c403d2c236a0daa4132f402de50366324feca0c9cb840ebc753aab98e7be96335635032793338c7f1b69cc23c44f626a3b2538d3f92dabdff18ec1afdda365e62a4e950325bbc6f6d24f87d61cc37560e61c1efe953d0cf02b668cafd038c0a92312b5150219ffff0349ac4733f3c5e80adde45b7f092f3d4eb90f7a4e39f169d009e4729f77992e6e0310e65074431e7659ef9373bd94b2d5af0c291c6d9cb84e2de10ec60850a7495703527280ae67c02c877d6104fea792a483d85a7d95e33f8a9ee095b2f803d8e431030fb6aa4bf7b5c61b48e294621fe65159b9b8906490dfda19cb1d5b41fdc08b70032e03d56012cb0ddee0276105d35caa15244a55e7e448530f793a1db38e6ab1b20219ffff03689296aad7af344d26cf01ce46307022b8b1e9a07aa472b67c5f54bb0b4b477f03d141bf7a3231de14cd276dbc5ce1483c79c6910a60f3edb7ab0350a9085c9aa80219ffff03628ae93b13b5058631465d60c02e25e022c1722c175e89ee5a118726a67f81c0033239359b77b8382985ca9133e5a7c0619ab64ba8d1b0b7986e250d652f4165300371934952c0117a850f5ebc8584e03e6fc12ac086e38760bfac29d920efa454830219ffff0318724fff91b32e2d4bcc298a02dc7183627d4764a723fc57a8c78b42faf7abc003507da9d562f618fce2633720335a12f268cbb206c2e0227d84e0ad4f81d530200301a87b4022c0a64a1c67adb3f32e559b2523dd8175d0358945cd12f5eb86d56a0362a03ad4b7acd4b1e098d9399b1bbd232f144671ad97c25619ca0dad1d71363a03837238c1f23f3bcdb9e4b0052d60dade18347b087f51cee1d7a7d981de872eed03867c146dc572ea2ca26744b4b0e6f1c92d10198f27af16b1a67435ac67a24a7c03987f21be0379dc7bd587ef98b61c742d24b2ee97575cfd58006e82d7d7da46c00327f6692edf013e96ffd7518f67f1d62c7805ce515314b6375a5a9dc9491a5b90034dc70f803bfd343896f37815f4dc87b0e757c0a4776018256f44834c44b1ca9b03a688e2b82c3f4a21683215ec57b71bea5f93ab3e60a6db4973b67fc6f48d9105036808731607151ac7d7942d4401187568fdd0636451b2c0a850f606f727ab68a6039383717c82e9446796001413f02a84b711c245b33d848406350797cfbc27cfc4033ffdc311f819068a3d8c65894a24b70e005ea2ab3c81dd5fa298bd718440ef7a0350abb195b967e2a01b8b1d6ae263d791b9e2d5fbe7b5e0f465a6a52358727bae03eb143ee352fdbed4164b218c84e9335a773c73aea88cfd223f0a9f4dad3328ae03496f833dcd63fc181a2dd47f56f6dbeb24c0993d71c444b768b2216489c24de603415e3699e6d170af703efe25527b907778270ac93f2a1115c773a8d8c51ba3fd0605581e039660501911875849bdd3723c1e2aa99a9935919a5430270351ba9dcda007011bffffffffffffffff03acb18429f9e6537d1a6a142d5d9e0ce5f3ef248d02b5ef9824d6d6836e4f7d1f03d709881f16a6b51e85539aa76ca5b5c639df8fe75a57a7474a4979beabbe071a03d37e204f158e9a83234151ebf796ade1bb08b52aaffaeed2154016bcc230818605581e03cbd655ba631aad9768a8900dd03b99f7f4635928be8d82b1f34d8d7310040105581e03996102646cbd87e4a9fcb8f7d2c62b4f39e16601486c10d996184188f00c18574796a25b77ce299d05581e03868523aca6b660b39d0d90374d205849d214b8ddd217346e7aff5dfa400c02416403a30641b506c50af9499edf60166c9f3c4e9b12f81b84c6d2fd78b92184c3b66201410905581e0333253d3ff4c01ddf707566caf3167ca334cc07d1c0403b79db2a7ded200c06485421da0c42eee30005581e036787abf674a365dad11f9273e923eb3024fc7c725b3d245c31d090c770040102196e970393a4e1d529fc93d304d3d3599f2477d143d3eb0386783fc13adcb195651e9de2036d0392b6021c952e50b3d0c21a796bd7a744c94168dc8633d9aa0d3abf843d9c03bd54a257995bd7506db06179e37a4ce6418dec3d2b6ac5afbcd007ddcad904e4032adc1bf5502bbc7db83ce7d369e79484c47308ac98d7b5195cce65447ba3184203d38b35c33c70e95f490c504bfcc73e360d7e10999f761846fdfef77412175f4c032faf73159bf55a1ef4aa8cb9542fc6644b222222ef6c01380acaccd39edbb567039396d6697ae1966747b2f714352c6b52604937f78853c41176fc08ec6b7200e6036f35d4295df1078a781303fbb0f20125d8410c7c8bafd52353f499bd3a755c2d03fc3bff1dc30c15491ca2a0b04331aec5ad8333a964886490d32309aeda89fdfb03a138a859949d7b2917db58e4165355406db251ce8583fea75731f695d7237e3403d7e7957e21f617dff022137daa8396a70c9cbadfbba2b39ba7798bffb5fa4ea6032a48fa9dc3103485b24d10c3bb32ca8360a24e400d820017c25a8777e4c5771803bab9be9dd6eb81b69045c98ac5b658728ca69aaa95f5cd7fc7b7aa8d756247f8034718f80d23abeba63088fd0de93808a9fdfeb9d44c30ab2c2e7a98c2e390c9bc0219ffff03dbaf8f90f2e1be8fc7306b42e8dbe10ffa8c0eed05dab971731fa19feef498da0323cb0aa5b3be3c621d166fcc8faf26fe2a1e7f2c77e9281dccbccc270ba3cf64039f94992363a79abbd9604a07b271fc6934b5ec4cb32c782da13c334a7f50a520034cec7b0c1bd49414ce7d48c471347ac434974e6f55f0c29a6b2180af29e77f390397603350c388ee88c1541b53cc4927aca1aa56c38739c050b97eefa0e446f3ce0334bb1debf29a638361d984b97b9b51c579dfa23096d55a57d95addefe7f1717903b9f2c6cb3a39673b14ab71d7dd9bdf2d60aca0dc3149729e155270f1d134807803655620b2362ad73db39b1b4b7be8dd39c7739ac98ac36f92ead790cc72b300b5032301454606bd190c66e5a36deb850730fb21b3047043503b8162ad9a2c388a02034c12e42a647a26b6d0ca5eb0d79906a5f273cdd7d5c70212d9dc13f62b155948039cc80d7c7191f3483d2763dd929651be889dce991897a7fa13c9ba91a244c16503510ebe6bd2186b8b74115af0ff16a8f73e174f2efb54c2031a90ae104f69ff9903f0d2d1bf3c7fca3b1045bfbf6a0ee18ca751156e35996e4c9646d58d71a25e1b03d02d323864fd956e8611fce58eda0d0f118e4c369dedbab0ee5653dc38783cd10219ffff0387ac9905305037e70ab081b20dc302bd814d5cdd6611a6f81c9c0703c09125ab031984394e8b9c6b989f2803bb678f334b8cddb4de9959ed5017d1803eda3a131903439e643c2a5e966881543ed10a1e67b0a4c264342c87159de5202f80356e7f18037e23f563047b1633437caa091fca83989efed71542d7403e876452a866ad3d310219ffff031960f9e32fbe0467527cbbfb55e1ebf1d269c0f21e033e33ecd919f8fdfcb97703ad917b5d532615eb490f8e869fc013619193b6c7025dcf65a3914cd495a3278b0314308f3afcb46bc6273dbabfaf1b7aaf6a44c88930f8c23441615652947761b303f75ab76d74a4f92c206590c85f056e75fa2f4e45eed29692259884684d89c86403257acf6f5b5b864a49333c761c97d20057124004777ae51a13685ef6b3fba4ff032cd1fe547097e26ed6367e5949a2f2e43ebd9ac17f9eb4bd9417324ca9c5f4f803586ac411a62eb75d61846c8a523b6c50d2de114c12f4f661d039555906f47c76037db4e278a152d0d9cd74558497a88a0ef72efb771c82c2334e60043a63ca05c803a5cb635398108058ce427e4b91abbfa87669c125b5e3bc3eeb76c06a3eb61514039d9272e1862b5d105040c0daf869003fa3ab3c344c419e82bd16da834e56ded503811816fe8a99319310a7df03bd64c64cee46c11a977029a3e5c2297893b794dc03769d1c109a50e44f12402b552450670d95829b65d57f9e409c5c40c4db3a8d730353e4fa074ea48ad8d9b87435539457c0c40a6c11948c0a8c9a6c531b99a2c82703f1308a6dbf778488e0265d8341d1cbd01494bb137b4ac1f541243d454b39b55003753a01500ffa51504212c7a9b2ffa86f7efbb1154222322245e9939b00d868cf03db0b4dd48b5145b29184c8d12f51287078611790cfa9349525d88a62af74ccef038b4bfe0584fe3fe401736dbe212f29fdd5ba956faa22eed5ba485ce0a617d9ee03faae22aeef17d2a9db585f8d4f0a97d9497b9f86cc3f277baaceac9416d2a6de03f3a87d831c0c71a9af3b46174a89f759a968af032520d7f0ebe9c35f0c76e1bf0309246e6962b32b8a5eaa0c7b6e515d7ba8c9c61dea938c93c1e2e050f1dc2d8605581e03145602da01cedf6d0a6e935b9511b4e4440d45d06242cb5b8a788a49a00c1548041168006d4b6783035af9edb063c8d14c6c2187cebbbba58feddd1ca2d9778706fe805634192305ee05581e033e1798ec790f4dc68967b1e88d338ea45433607cc9d407d39f3ae56ba00c014708a2285df2bedc03a1e04b5dec8633fd0adf82ccb6cd7b4bb08d3f831213292e978627f8dd4384450459080b60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a005821036b7d64daddca462c30b49208c384a27656e938b43b6b0e34101f75336961bab054ff000000000000000000000000000000000006900058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005821031a88f3936348d602f3078126bdcd162c575cb17fb9bbfe2dab00b167bd295c3054a5bdf717af725a47fd7378d3d9c833776951efa003417c071b4e7e837aa422e9656efe8ad4e7e7ac482350543079e0ec48fa003f6b014106005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054cc53b447afe07926423ab96d5496b1af30485ed200582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54d20ef07ca38301735782e3b89c0e192fd8ec002d00582002b4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308581effffffffffffffffffffffffffffffff000f42403b9aca00080a01312d000219802003500c183589f5be9b58be63b7e5800676742440575cdeeee7cecb26672b1b62df039ccb51b75340e607ba56aa267e5358a52b9dd9d5e3390f21b31df9507cc65ceb005821032153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c2209775304405f5e1000058210323a600fc2e7bbdd9a8091855d9959a272052f76ecb052eed5dd9f4c0a21ae3a054592c1299e0f8331d81a28c0fc7352da24edb444a00582103c15126c9d6cb6094f5d6f3cb2aac8dcbb22b2a1328bf6794f61b5e641c1be8e044012abdf200582103bc8f8995f362b49feca8e6cf125f2edd8705b8fad62d9fbbb085a4a09e282c30544ffb98dbc3086ba85d5e626a6ebc3d0d08533ff40219e7be05581e032a4e0b68645e018b6b9f507fcaf1489ef757891f9d95cc83c9a0b6ce80070119080b03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e0383e87406db5b3c203db5084a0fdf0bd343829e9657264751d21aa9f9a007011bffffffffffffffff03cc51f2662e47ac26308e1d5858fca3f7a28fc3f6dce017d2e9019f76927ed74e0345b68a0d4c42a6477529b56f2e991a3e94d19bfbd7d374b85cec99c1891638c105581e0399089225fe960cb1ec79465a65c8aa6cfa0c5e3592ad6174d51f3b285007011bffffffffffffffff05581e032adb525328177b5076c9ce3a9c75103bb2e822c64f08a2c8d739339f10040103cb0c33ab9d8748672ac879bcdf6bcbb0112228312ac195d28e88f50b07f902c303b8ea8000c6cc9f01cbdb541073cf77d8505e62f95bd0c884203b7fa6d44d43d305581e03b3362ba324cfca48b584d76c13cd1d1f10f0897f04cee4d72adcb81df007011bffffffffffffffff05581e031cc0ee2bdc651cf9ef5d1926bebd3f65348bd8a3427554daa67deedd100c0346fd43a69dde0005581e03460819ca21bc6ed1b2300acba35bc9adceef8e40b2bac95f36c36339d0040403f758f9181fd2cf6429f3f15ed486ec0ceefa01885cffdf331a059cca4e8ef13c03c1d7f41440ddcf3024213b972277da6671a0eebddb73f629541b1c1c881d4a6e02197bfe03db66371c55b5d360e45942686efd4826e58b1dd543cc6ea67920cb94e543404c03d2c51bdbf99225e50eeea9b3a13ba71fd273acbc0a763d8b439401e4196e7ae90349bff6d0261a4485e5c4c6df9f9ba3a41369be81a355e09c084fde18ce2a93060321d3d0fe66e4a8d0fab662d9bbfc4fbcbb246980e63015742f4fbccd992670bd0380943838071cab5d4b83e059c9a13bf469cb7f521652b351044d1e6d738851d1036469f34f4038a7c6130e2e47cf2640cf6315c82a2697888d45a04aca1193de0903ca6496efa131a119263e6aa3ea8f297166962995a5cffa355ddfc003edbc3ea8038e2961828ea29296a30c569d48458eaeda6dd76f8eb4582d3b7efccfbb37e43c0219ffff038a85a3703d7b3ace7c7939a0ea916a76c50b609ac7119c810fc2cb604699d53703aa72a2768ea8b474e15333cd5d64cad3362994724b13016220c1b5211598dd61036e0632f68b46b1bd2cc09570efbb343c87a536ce7338d603b7f290b041c847f203333b51e8a144cbdbedd0b5e263387cee5aa37fc094832bb934b6a765684fab63031b6db52de4c124ca68da8f89eb0b8d3683b93cd2585e3fa9cb1bbbad80b9d61c034122a5b425abd02c8af37de0daee7437eb81b268e654489655cceb5c46de33f5038d180fc71d4024a8a28ed6c49d279eee043803c5f07b013a093b5870f169a577031b38011f6a669e9c2cbeef596c7d41aadd1857d20acf9c5cef98c38f469bd5f903ffa4e999d6f362c984f264a678f40812803f3960d6d9d256d0ca247dd09b2e4503c8176f961cb2c1badaeb722d4af04f24a348898125d60d1632170649c4707495033e1e122b75f51a818c46f732b71019f65e132284254981f15ebc60c1fe0df9110339a5c133a3a7e522f655288fd90bee7936a8175c7f963d01a9046e295e9f2f960324197b42617404b351be4c03ccf6b1f4a647cfb70e68d6fcd4b5e29debdd08310219ffff034c3c30a62c1b867ccdf897e60e78f3f4fbb055e41714e5fb220cfc3e857ced9203b2687043dab0ac7d09fc98c580f18782d91c123e957721dadfad8b3a3c2e101403a5cd02e080a3b23f5ceb13e2a2bd622c9ecac1eb31351b4ac54e64aca6ce5ca903ccd78bb5dfe834a25fd716fc687e9521b5f29837e42fda5565b113675463a50f03020bd5c7a4a6dc3f0a2b8d03494157acc5fac6ff9732bd70ad8e133b5beb0ab603f50889f295e6c45e46a3556a70be79d57aa41609b330d12cdc91932a66b5cdad0347096763b840b4a2d72831669d197350cf5e41b79ee92e536d442736b871361e03dd9820ad481beaadc64e505bfc59dfc623c0f3e4ce6512c9f3795a5d3132c51803ca9d883ca42b709a077b3b68e46185f28bc47cd7c07f239efbe10e3c81c64ddd0219ffff03faccaa9a37b34055fc61c1fad66ab0290f8113b1ff473133773b3d9260a829d903cd4ac1ac087860a95b98b59d08e0a850788545bd9646e6b07e9b13900d710f4103b37c6c19a989df9621cd444162acad9c30fe71f92f44214fd2f18e7f35643db90300ceaee4388d26d9cc36b1b9918e574326f942e0f037c6ebf13cdaf9f1b117d403f0d74f0a031dd1519c8c6fefa71c443d2e1d745c202fd0fb4182fc89cfc90b2d03b09a0a0d65bc60811157fa86acfcde765d9e935ee58c44e14f9657a3d2f7fd250219ffff032d93d77f35e17c48fcc7917f66312dda35bac3f080cd67a8adabedb5afc9776d0328f66a12a807208dfb6b1289f06581a771d7b7b29f6594d0e46385621a88b04603119e7787657f7962ad14ad81c51cc0157edcca771d0aaf5153ef3830de249dbb0395235ada3b202ce68dcf0d7718367414a163a2d98de88d2baca34e379a32a95d03c94f4ba74b20dd62198c5df144df97a3b7135f2e9763f86344e15868deac25b10364dffa22c2830eaff2f87616d2bad2633e4aefa7d41efcd8884e53a9af361e09039e3b40a68a91d3b21d9e7d95fdcf7c20dc80dfc9fbe3aa73632b0e0aaa827b30037368813a7ba36b9f1341e50a12474bf60cd0c0eb0c79b545db09eee9b66cd34d03a1db5f94eb2f18a38ce955ffa6873936f7e908305ec437eb45372107c072265803ddc2876be58746750c5c31153d5ae856f742b8829a1e82508d4d7a45af64d07003e175e2c46aff13c97f14836af70c24e4c11d5f3d50c52c50dbf6107a546e969d03c28a93e357565aa8af73380ccbbf5820825d6846533e07bc2a85d861008383ec03cad21f277c8f032ff146320e88c2bf259c7ac04ee7750e6da6b68be013482b38037f37088de67552f18dd307e3ab62d780bcbc0053b59a4c22433dba82c3f45a74034e61cbc37ed4c7c1259ef52c0abb38ad67b857052104c862c5ca93abcce44227031db2d215664beb18d3a9ec47aee6587b8af85f2e13f3fc890d9c807427071138036928d833fc265eefb8139a2aa3ffb76d29d3cda5c8e41674811a599b0d995f6e0308389d2d4f8192d45518dcd264e502ebfc10f4b394895876804bb6ad662ae606035ebb2198e88c7e7f58312b033756ffe5165f4a105db92627c92eca7f60bf14e30398811a1ecdf469409afbfc0fb6456b8f613f5070a840ae5b7d91ff6f82a33b13033d125262d143d9067551c1dd55eb1c45e6290cc8f6ca3413d14e1b0b96f8d4730383a67e9a661f850642af6a147ef309b1fd39cf588dca749fc6b951fe6e49c2eb03f82b4f3320ed58d94f6fd2bfb79a8745e537626e96a96f88cf0578d9daea02870319a0e43a483a13dd42bbf9543848d3102348d6970740858e8ce2cf2c30ede46f03bef90a1b4c29d61d776f428c2ff85caa8404dae28da4c43e52e5914971a138e903c4a3d6dc11453f537a426bd018e4d7a1eb5a8b594af8d22ca0a94cf4de88a2f90349a6dd7feb6eb86ba2cbf57dc6238c748573c23133b4ead949005ca4d479bd180303f3c232b0c00866aa6ebf90bbc189a015429e0e780ded722759b70f6549e67b03f34d0cf8e7ef63745887e413dfcec7c56d685a666d2cc594877ff9ad167b8a8803cf51f46ff47f2be430e012334bf27a50dd49f83d64495282e3ad844bcf5ffe2d03a5bcd9bca9f349ab4f5858f693fa50f33ecba1ee1340f6ce82267e956c50ee6e036363b49d67f01f231d0fdb1405995d92ef1c759381bfd11d4d790d133e76a3bc03db55e3ff57ef0ff12ff3105b7801f0257afa621ca3a1b4311920810f7dc22eb903c22bf0bb21b2975c15ae9e4f0d29a2156efa192c135607795a853704a00f7f4403ac796fa17698a4b282bf34c4dab3070bf805989af2247800190df0e5a9a8875203357992313f10e685274ec2e7d2d7e810f651231e3b6f5ceb003bf7d61d628ef503b80ee9ca7120ff4ce4cd095652645d652666622e26fe064f7e5bf699c7dbfed50141080317c89e5a5cf5751b1ea398599edfb45dae16cbad2faaddb02d99100cc66fab8905581e038e618cb9ee2cdbc2153392af251297454db68c0f426618214cf1e3b760040405581e03e81fa11a511f45c28d6566f66b443ac504ad5421d171b4fd579b8710f00c0446be82ccb03d4005581e03f248ba46a24d2619da4c6b578544b4a02bac8a0e40115da09dcb58c1800c0346739f0ef1573605581e030c4a278f70136dd8293e66a8c87e1f764e3eb0620e2c5166fb29a9afe00c024803c687d544012c0805581e036e4b1cec3384458d23866f8adbcaa933be182f46233a15d011188401000c181d460cc088d9081a05581e0362aa17e122083d3693dd5819b77ff8a5cc64cb3cd3f91cad874ae3fc3004182003a393e26b8310bb667691d2a62842c08b7e17fd61490d60904ca440930b2a2e0503464f46569a25ea8aebb2c397173f3ee7926851978ed7ddd67e5c2f9bd44d3ef603642762c49e1e1094708b4635179fcbf2bb643da4fedb3449eaaf75bd6e1148e80219fd8f0363f0174815fd940d4c0ed0bcf4c45130264c19dcf5be22dccb2824b19dfa673003ea2b52f58962ff3e2f3919dc31e737f722717e7659623f9368d6d965c098e2250219ffff035744c090b0747c4f6bb0c9e32229990664f5cf05c40f0bd5595670aa447f276e0219ffff034c008590507807e54d882b4c966fda17e97e235aa85f82dc5fdd6b870bfa2cba0351d3b3ff61a24cb7accc47f56faddc40627423d3c3071999ad4070f2d71b8662034ed1e7cfd52cdd0b57c02fc3046a7deb7b45b947bafbfa37c8acfd49dc818f2a031e2759cd7b06c8ac707b3ef3dcd4df46f63620b3b6f8e658ed0942665a260740039d35021eaac3ac04f42e95aaf5065997b17675b386c590e0e815a060d5c6aa9d03a90b301116accb937565fb05695a62daf91e596248ab38e9609a872681c8546d037872603a9f47f21d2ecd1d200ba34a0a5228a13d79a0bb3f32b5cdfd27a069110378b2af843de561bf91228cb14cfa48525a02a39717c3d5a20097b08360a0c6e103677043af2285bfc969be64d6ad88cfa50b8987d12a288cb7728626096dc72e0b0219ffff0336d75561d2391966480df055e83c3712756fd7854ca92bbc20a338588f1809280351969abc2f2553901a3bfdae7b6512a8a8800e52f3e3cc405dbd34999f80470b03c88f2cd39530bd7e6d3bedd7716d9c93bcf838c7b7061d1e2415d2f6f885e3550377fc8dd24da6cbbd8d3af6950b4306cd90a2cfff5610eacfc52009c20bb38ba003e745f0fc89cedb8a730a0cd0559960554ba40358203d6e258365be150af7033e03ffc86128147dfd66ba3a5276c9ae5f920e3d7bb9d6aed855b0f8148c5481559f03821e2e46c70be3bbff0733c1c95de820e09e42120a32aa79139b7ddc2121c94803f6f2aef4c1f59f9b064b24445d28c54a6f29c40ba9af92a2574cef8cd3c7e9ac0321b4375397bf7d94aa08f1a141510d4c81771d30b8740a97b8a958044b66bdaf03598a26145695c3bd1fdd4de0190327e2405facf4c1cc7b97354836977f7515db0344870eb82a4e2ac0dec173c00427c9e50e44357fa1e5bef83e2588901457aa4003a04dd4da6694b8a3082bc40a52cbf6538d73ab36f64224029d8fca5ba596561a03f584fc2715bf2cec144584f0637e9d723439f13ceebc67555a62df9232b34e06036a37c0af6d7ef79dfcaff92afc1bc676c1c245146c9485d606532bb417d8c11b03601d0575a3b37e457063c88bb55a1247c076d9ba6d52073973ea258399d0e5e803b4cc694e40614221b7d0039e8e4a3a73b655dec95cb5046e6e346a6f4e6d44b703a2d833f5221678f65bb919bab928e1ac2a21fb16c768c802385743c1f20f33bd03043fc00d24b988a752d77513a768527ed80a0da888fe85f0d857065dd10e66d2038108c46b03243040019577d6510e8c2d898e677bbf917b50b3460b9de0dcf2bf03c060ebb3ca5c35618e9ce38906d1e6e151ca6de2d63285ea22a690741a5e44e503dbe121e8876909c295e32fd5078a93a364e504dd477505e61467bdd815154b6b032c53e4633f67dd8f1cd3b97857e2fa1888a08113bd4ab0ddd9f3f0667b75f31d03ebfe5a0154be1c4918681bb0b84185583e2381f1c034dbfeed740abe5a18a73e0375107398a1e3261c862c36c5625292a8fd5049742558348e1541f0a222a584720354fdd1dcf7c140089c99e10173a00bde1620974e76caa85b89c61386854d2e1e03502498b5d446cb9b791db1fbe9d3bd80ad4245cb006c109f24531cb8e48381ed038436e7414d7bd51873cf6d66cd7100548bc241391940c4596cb8fd8318c9eb43033ef1123618d733594d9bde1b472f2695835b273426ef0e82d2901eced8db740203c6d4fb8c8da2f5bd13806af815634247d82f88e6f346c80f4bc6aa9c4ea3cc6103d27584f834991d48dd9d39eaf146fd21299f67af62a7f0f8c56f316b58c812f503c22ffb33a73ace056ec28dccf8f19920c8075a47151913e13bb76de334454350035bef61b2be3a91a5d66d92b259cb46bbe3a8a5866efac22f59f73f70174791b503c892127d3f6cceb7c41af2f17aa67450342f091879adb9acf3a7b5a8c1035ddd03556d3ec12e5343a2ef72db2e7ef381104279b2476ce4ae4a56b660b50347595203835ea527241d3ff19f15c1d172c75245fc94e1e2680fe5d2551b6225417ecdbb03fffa2540a1573b228956fa86248745aed31ae6e2c983714f32fd9dd7fc58c36a05581e0329328c87be9836183768908f30171daf16714c1f39a360b617bd23df400c0a4629546746ae0805581e03934cc196d443b1d2c5588f9fe55fa70f673923ac0eef128d9203835d500c0147c7a8357a0fa80005581e038bc60869ca403f3d41ddf8575cfa5be7785783dfb7dccc395b1ad999b00c01470d35cd2acec40005581e03d4abd7a5e810b20841e6aaf7fdba78949602e371cc5ff9aac8f74876200c054702c0246afc0c000458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff0155000382a0d1acd225486c6438f898f97ebccb9b2fb4e553757bbd7f4d39860cee810e036fba64fc27f14bd01121c07e4f48e19bf95f7507208ad843ced27487cb31fd5f036cc66f40557d2d78d09219f432aa8557fde9a787b4d8db577672bae7d56fd35b03db64ce9bfed99a2aff6e666a4b87e20fec3317c9b16715cc83669303e50d2bf003b3cef1b870939ab668052bd043a9b6b1f07517c514f24fe64e3f81d3fa21f0ef03f4064a364ba615a1b0e48ebf3544d6bd95659f83c4b59f2f4797dbe5c18ad5e30344b3d1ab09822ad92538bb97a28ef26b3cfcc3a5a332c8751a9c94d4c5c11c6f03f44436ca86455282c740c70a7b2fb21a5da43f20cb27b3ee188e065a560b2be603ca7cc6144f49125f7ccf593c37686bee567d4a435f6cca0093b2ea01ab1b9df60375c555a05fb49e26401c4f9b01abe4d301c8c93280c367c005465d81f0baa18003c045a9c79c28ac6e31a667a208a908182c48e8ad464d92cf1d3fe2eb9dac07260335be855f9c55eba68c0eb20d004ca4e97f77c31b4af784a47f08b20341abec3703162f44a7bff60c4e7bf851b7dce5e4790284a7ee296d67b2dd1c4517002ff729038803c69a4610fbd9f6974cde5589282d1a754fd728dae8dd6e03f10f48cbb72103f26a2c98ab6fe6796e88fe1e39664e03516490ea53a3d05144d370ada57322e8036dbc1dbf95b2e1b66837d12cce041464715588f656d6ca420b1dbe295037f6fa03a9ec61d72c2d09730c7513a780fbccdcd6bca1ccefdc3cfbffed2ff581054363032b4570c0deb48d3bed405ac8e8ebe23a4aca238455bd4aa0195a9f771da640f203936883b169535c3f6d26bd289249fcd434bc1f8b231ac628aa8efb62362985ce00581f032005bb2521fd9f4a828e682ae2e0327f35aad0fdb5aaf6a5402c633edde05820764aaefade03fd488b2c89d0bff7b423679a7b663112e6886b57044ac9faa92e00581f03fa4e5d82eb7a47d8bd1ab54821c602243c016badebb60482220e75004ee05820eae3c39f40f09065d26ac7669c2cb3a584d2feeb3a91c23b955b2a422a19b0290219024000581f020ceb62b778bde6596b375fa7cb6cde0cee2adbac62bcf5cb67b5faecc9e55820dc8cbae4b891f8b506277bbedb36f34626d9e833e7c265124f168bc6dc6e4d6c0219204003ce78a9eb34d700255598dc8d16cdf43c75fbefee6b7d46c95032ea12cadd1e3603b0fbe29be671e94fad4632ec6c9442f362bbc3c2a9edec0495044700f4d1854400582003cc93d25d46c14a7b2b0c6d8cfc9c5eaa6935bf3545b36e7ff8a698d7b7f0805820b9a01fff9a52658f6829f5f1392aab858251de3467db7c5c9b4a859ca0169c99038a5cd372c2afbfb7d6e1b470b9511663d5a36ea386619b1e6621ae3a1486df1f03239ad9d18224a0a2bfb21bef05c12582602a6b8f636f4927f50c794305d87137034bb108e6b23d526e3149f2227847fc41a1469483a2682c51f51f7c84c6dc1e19034cdfc61757d980dd3428cbc0a235bdabe0ba32853f12edc4247fa6a72d32997a030b776ec7d354f7cfeaf86f29fb9ac178d23f16d66e54580570d11fa388f2220c0219ffff03ce110a1da65d87b21579ece8763ec720e971b2f9b817867b5797ed148d59792703570adf67387f9904afd2cc6ace9eb05904a202d2d713b9bcf8821eabf0cd3e7c03059057970eb101b6a382786a9037cd7fc22fd137d59c210864bb9060bab797480336e4eaa5b7cab1823840e7f07c9d1bf3008c1c1a43002287da5c3a2ad408fd2703c2be161afb7e4b49c1f64dfd6d74db6071ec175def9dcc5caecb661492540d7f0306c25d871bc59f932d023992508fe7c68de4b93c82103f78a2d6ed2df87047e103c95b915eb7208ffb8f9065bbdd57184f9d2d8a99f3d2a96ccc2d9ece240031020219ffff03d9253e351d771d8ec3af21db64dd64cf1fae08da7b96c3a4f1caade8c8c509dd03ba8340ff7dd97d38b7b0d4408394067bf51c3e3b21e6df5fff5d689dc95ecf340304fea456011791597993aec7b98d175468d9d6f459ac1a2cc798521d6d01fd2c0301a79563ef8bba2fcdbfbcb78b980e27858278eb0a3643bb57314c345891609503f9689e9ff95fe0b6d27e73c0c05e40daebb3de0c8c17401bbabfac677276ef6b0395d40f8515607851b6b792b455ae7bf626bd3f40e9a998f2a1c435b307ac6046031bc5edd050cfcc3169696200336ebda17dcd7a21143270b0a739d087c761ce8c03e2c83cbc847c5295486d3111e4ed2d0ec3449924097b5989fadce6f3c3301df80346c3469a9786b4ce28c266283cb962c14b51e2516243ecc1b5c547e6fd686ccd03ae333c6470368da170b76635a6e12c88d46e48b0bb68694795eaaff3f6e6817803a567a20fc6bac5d3083b10ecd703ad146c06580450ad4c8081b098f6fcbe9bd603fe3521a7739c78f602404cd35d767d139022e19aefeec298eb41c4ec1cf4f03b031c5843844d53a970f9a94f719be9e66ed5af31cbb3180637fb0f8ec22a08102c037fef5ae316f7f820c57252761eeadc098331ec8c48963807b66ed69a054bebee031362ab1d53fb2d83db86cf891b213f77d129f673464a597df8284ad807ee443003d5268dda421d143b56057a229fa92baa4140af52cacbc2445acee8c91a38143603e75751bd3fb969cc4dc8bcbbe5da5774c6196f61ba091e6eab91793a4ef7eb2803df0b5bcc3e851665d8f8fe5ef68cb619eb7daf02fd2899709fd74b699f26857b005820036da3cf5db88c28b553ba884a9fa304a0b92fc75ffde61b17014afe8984314044663298bb03a93005930acdd27892e7937217d7e5908da2e9868a7e939be21150e81d27ed700388b106ed356d90b6a06043ece9aa9d7b61850bb2faf950e53a013803cd8939b8039d1fe393cc57e2a0b0739a40ddd23c667a28bcf54f46d38137c10b15e8d4a00d0322fedf7436e9eea2d2f40a83227dcf7477d84a56e4eb0453ce553ce2b860a6970378c4522a23664f9982fd1792e30c89591f734c8d48e1a16922f8aef97363a3250340773d972f1a17e28926e91c20a8b3a15a1aacbbc5375866e32c1d76023cead003bd7feb11c4c343887409e55349a7e080b2b32ac8a0a70b5451fd98dc52ed49d903a85994eda99b8997bb132da605555d63b5da2b37d8258d96d6978d5d2ffff5e8034493de835abdab393acdd1a1eb1b241af8bd49e12a334a02b2745081b069439d0351dbcafcfd75b061f3cc0ca6b6a116a6181738af8c9b258ba6506be121089119036aba91326536f44ab8a2ac69cd79aeca1e662d7cffaf081081dd48f163799109031ebbfaf021ff13f9604d0789d9d57bba9643624e2d971e8926e4779062eb5e6100581f0248e96ff61be888d5eae86cb1ed70ab9e7c9f499d4ec246a93e9b252f7d7f446632588300581f0281975aecd3efc169bcba6356b6f720cb839f09ebdb93105b6947a15ee66a446631507700581f02bb3d9869ce6474491c698127965cc2c948cdb0b35bc1b44cd9badde0b53158202684cb3b7942807def42a02e8970c004646a4cfcde30015c28e8e57adc3bb15600581f02d3c21296274eb597bd0051f4d5f1493658cdfd5472c4f879cc6099bcef39446631db4300581f02fecaaeec3d9edb15aabde39f1c82ea49761856ba2f3a2b5caa9c4b29b0dd446632679b02198a22037b6e83d3193288e967110781cb1a33b5773d06e5d25ce4f28cec0e4c683c53b50219ffbf03dd63af27dceade555e996a44e902eaa951a239a6e93138abf8231f1aa962bb65036402cf49201df167cc2bcce7d6d7637cc99796691ccc4ae3f1b1a124bf9eabb70307264b106c984b8f3d36aef45ccf374ef71415e9983a1b9454ef05c6a66e85210311c075ab384a6dd5fae8865fe78764f8fa22405241215823847566be1f0bc0fc037cc652e923cec8f5374590af6df21c6b2a7d0a40a609f10b15ecdffd7c425b210389d9855c6b8833c44d932b2e52a83ab287f8f258844faafd0c00c186263f44710219ffff03bcc16b3a55045d404d93c7abdc492a6960444625fddaff4244b7e58716a4bd1f0219ffff05581e03a92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e4200701186103efc4a95eba2b0e8ca1e7050522d539fcaee456a9baaed13b74846ce6e9f5284f05581e0387d430445038d44dfe5f67a6a29f0e61137f74004f19eb39df5f6507100c134622a41c687260035a6395100cee14b8619641123268781a56f8d9fad4ec4d364c15d99ab81fd8650219d595035d3b51473708235f94b7786ec3d9e1141cffde44d1b3c2f8f50735bc89406bdc0219ffff0366ce657b7c122f61194e8f18b15e3499f4fb6ca6f17bf051455418ab29be5ed6039968f771f7784f8cf9fd9752e558d07e6d36a8f924ad2a8cad750c5240de56a903e45da9fe37e969afed21a06e65aab4b8219e0be940cf6c2d96a3312dde77c4ba0345bd7acc9e7efa2ec9763fba5b524338f27ba48e225763cdc7a3f34d4124d7d003d60fa00a626bce0862148fce6082480f621fdf13ceefaa278e5233b2972f532b03eaafb69bf34783633bf4d18df9135b554ab4451047a96721becdeb40ca02b0bc038b8edf37524323c055482d4b36de7b0a4fb0c9e8eafe195d2c0c2e3187059cea031c42793ff8e83bbf08d791b7f6b30fe3020419b25fb4e7abd9d6db2915662ea803762c18fc9e655adc9f9fd4742c06f5a4f201c807fa01d54db83104a19cbc38c103b8e8ee0bff130f18ef23a9db22ea5bb18e73f1ee2a82ffab061414df61a245f70219ffff0322045c978a93d2f2b1c71aab4ff52ad987a9f9e00da708d5822e3ca8fc729dad0361845a33bc0f2422896b795a6abca5b31cb3a4fcde794383446054743ae5e593039e8ed6d76233a75a6510c3a5eec05daef426325e72925b10e572d14034ef093d0352c7aa8d718d42c647551ed5421d4ce1630cd781d309d2df39db9e3080c9427c0371c64f3955573079156f175ff0d76974af3dfe592368b398eedf2dd57f4d3f7e0377729e94828aa800885dd3b046576b9f20fc31d5b312d54d0860ed386042639a03312816c7a54e71eab572c3e93586766b12799af92def526fc8a8d8577420debf03f3bdd5c054a53ad896441d97e422378ce4741445b07e3f8eb97bfaf0783ec26403ab63f6a34a7758f1d430730af929a064cca6a2bdd36d5f9850166ce1b92cb4830219ffff03da5b963d639f92db805373a2a92c749233737a274708f5d96ad1154782e228c90397c2b969977ba31ec1aa32369a9a0a5991dc10c206633b89a710f3010921dde503d9d083dd00095c66a62f88daff0284232235d243d4af623c126c1e2a25a246cb038ccffba3e39fe7e7b3fe5a4ddf1d9106801ae1465a988e57a99484e9c4af9b210369b1c097e341dad69fb38e29b80ffc6a5b0c50273ef8315177d9c8418b010ffe03e2fbb1fe22d69490653b105f82d8f1dd70778cc7ce820e2c2c55c9b0f1f6ab9b031e55dc283794e1af0c1e6f3b9345cb46c2839da34003d71ee7d0c4b5fcf7bf3e0342916d37de03a01040725c70cb8a9989e62dc74aca4df5d6d813a2f98ce2dd31031c06c45867090b06bc142c69a0d15ce53bc506491a71f334dd8ca6e4447e35980323016a98207857d427bf4217d90d6e56afe62c1b971d6ef49e9376c7a07eb1e50368de71bbc4537a76af8da5ca9464006573948ac151a0182fcafc0445d84fc8cd03f2965e094741cddcd92509b4aeeac7859c0a2d9888f62d8280e4e8fab0ec73a603f77b2f3fbb4b4af2d4e073efaeacf4dc27b6915ebfa5dbeae5029a9e2a414bb503100896444f72d0896fdbed886e5b7a669d2b81b1d56040d3536f70b47e8f64f70336db7f86dd6088b2f46c407a1efd85da97f3b7361268584705c0eeb2c50ebed0038870c1291816f05d0603db6e1b6b578522865d4eed3ded38b18097c747782b59034cec568388ef781a8a72e7a17f4496b65988df90a05248cf5e0516a64dda9a8d03ac7b03d9d4c03c0cac35ebc98a2bf8f4b9443f05726788d653d33e9d5ddec63403ae928a6f50c612b1c36f7ec4f61a6ad5e6947db937261c533137b809029b664f036fe19fe9b84f5cb3e8d64b2571a19df3696eec75c94f350a121d9df90571013e036be59f0c574f2dd5102e66bfa0585d5241e8ad5d1edc47423fe7d0fba5df60ee0339c797c55ac4aa6c1aae003e14d1d3b4a85a69bcafd55e996d56dcd0a0819ccd03794a9bfe870a1920e447e8c6c7ff144fa2ab4e9b513c6153d1b526756b5d8566033aa3070168ae2a8e22b4f0f36b7ce5ecd7387f6c5f584556e3109f61130778c2036dcd22b07564b9c09c9a809d429f506d84d764e515f9a61da60f1c466d2f3880036567b2ddfe71012fe494b2c79f02071b3b799033b6e2fa464c65b74d4d279520039318ac3da343144d1ba6f954343c7c3c82b2d1e10bdcd7c320826f98bde3a28003156fa2aca5bb8b13c621c831da520a2c7618024e9aa73bbe641855028a45c59203406b520520546de86b6e83ac0e088b9343da5a482781d0a8cf9c73b06220aaf803977d0cab8a915692d8713cf0705ff6c91487d43d138f8a5c08e2b4d5a1827473030fa790e12930478858aaf3b60e312adf3e104b6654c3ce3d2461d0eef2c93a6f030ebe040951c21ac12183923c039c1a65a2a8b41d0a0797487c3d1e2987b6b51b038743cea4970ce09de719c125b30198ea46577b0cb01ea4e1f02ba5c9858988280339051e20cdeb2da4f614697df36301eadf6417abf092bef5908d8cd7ba894f6003b110303fc0d9db98881f30008b39840e5c7858e22e8ccc2f2928d4c194cc522203133d9f8a0606a985be6e7e5e7052a931b0b5fade7b4b12e7cbfd7f6273eda3a805581e03da7e95f6b8b1d6417d158f32dee919c5a83590648d152671ac420150f0040105581d02b4f31dafe99626c609c8bc7702873bf192197ef2cbd046a9b215fa450c189d47328a74356f77c305581d022597531248a10f2f20d18c8bc69f1a177f87bc2c7e65d364fbb150690c0146045b423f9c000219900005581e0330dc41e597db6144e1a84bb4e41eee56f25df354dd67f06e0844c78e90040205581e0359fcaf62b04c00c49cd02c0438272011a218a66fa0ab31594bbd7685e0040105581e03f137dd0e493187b392918b8c99ed5861ca03d56112eae1724622a518e00c034701556058974280032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0370e3ba567fb2c78fd58098fe6f07d1eeabf3daec3ee2959852dc76afa007011bffffffffffffffff0342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e0356283187b8b8ce58151c4ccedcfba7f03b2ce4df002a2996d16049d8a007011bffffffffffffffff05581e03806517e75c7db14fb721574324753fabd1f1bab68c36e9265846aefdc0040103aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581e03ac55a1a07992720b4c13dd07837d35b7a18dd5b3439994f3b7d615067007011bffffffffffffffff032e5ae3be1bc0382103aa948528871f2a96e40b6f6e576d05ec3e8999274511b0031b984d9af3e49b5c0a7bea04f2f9531813aff2d79116090cb3639557d399f7d40219edce0318198243a1f69e4368fd29430b0306a57db056caa504054c005d2bdae3265205030dc6fb8328e88252436a7075198a742ee1c0f8f932ee3e859550ef2e6082355f0219ffff0376768ede4617c8e76d8eb765791b4215b61f32e82d7266d3e5f4c3e599b8d50e0219ffff03c8f89098b0a56557efe9534178357118adfd482b4ef496ead3b61f07ede0f4850314d4117fa7f431483a2f4057d395e00eec41677916b8fdbec96a3f7dce5335ea0383ea459984476f39030f148b6ae83c437d7721c4b0a0f5d6c2e2aa7080ae42450374e93c08b17fd20f3013e0fefb00e9bf280c73dd319b9143d2e8234ed7e084fa03b5a44d6e04b39029a39bc9c6095a09f59f57a5bcafb5c7bb7b46500133a108d903554d493618d44eddb54fbf9ca1f5c4f6e5c123951810a174931b401b6afaa84c0332f2fe6ab25fd44cb9b059f4ab71abec96a576d0ae25c5f45ec695a9dceb737a0219ffff0219ffff03ca357abf85dc72b90621bcde150397f15e29227c9a03992b210000fc77b3ee58038315db4106bd9bbe820505e0f79bc124ae456db13d46bf23f8e798e84a54abbf03bb1a08473f9fb8872014f9c7773ff1a7ca655152ebafe8a7e58567527679d838037b6ef9cbf52522cfef503455a55acfd2df8348327791eb430f8a23f9ec9930fa030898f0bd77eb78bc118f2b9ea0eb84e3fe584ea83fea6d0e6001a9717a56f764039a54e6b7763622a92f58af5fa758c277b80f0a1a5a14b4680edcf3a5bb9e595b03d03eb243f36cc0afc2fb8e714e340ea6ad0b52117a2e6950d3a32c53b4d56fd8033cf0b45fc8964023170f97d41a5b78c9473b9094137b03c703f62e29521f008603f3784837575a8295e7f1e82e2376e21b602cb1f658448a312038e7ae215ba84a03d99ff6621f61eb6589b4259be444ccb51c4044bf13556bc4afcf5046928846ab0318194a0f3fbc0b1e8fb0028f124dd0096d753521d44b35a2babdfe105e347c0703af9a5f8e75df5afb53cee997303168b495211d635d938e52a76c2d225f101dda033a98d853bd82768476cf675a38a17358e3d15dca976e06bff7f26e74489afd66033d8852e8e69c0a809c5f66050d6b2e8e8d653c071fda293b6ebcfbb10c4518d6035be7d54d2a32aa38fdb490b99bb55bf05d3ad2cf5e7d1bdb0a94a5bbc6810d5003a2f29adf2bd328db92a217499bede4b98de470903009aca78c03b374cfe30f7d03c596888392384b0a902b4a1d6f43b8a0fc0a2359ec63a91baebbbf104406fe9c031e37f17190ed31f242c40cc4d9c7a4c10dadf960efa07955fc2b9175f9979dc903843939069aa339f911b9d53e39220ace31f594f5feb3286bdc3852922a10dd1903c5ffaa2ba1bd82b3794d6d48fa416a3f230bdf0d0bb6cb58c098126eaadddc3103d6f5b809dbf34af0792ba2928a98e412286f1e14d5c37c675512e76e09a3ee350331eaa8ec143fce99e630bd7d30531ca0f3482d4890a25d522ef70d202c395b970356320a49988302c4fed4e0959ae99d6e9f2945dd8467e328ce8fb8d6cb6de7b7032cfff83f7724a922b2c794e7f04aba660fecfe251136554774dd26d2cfa2ccff0340c2252181afbc128f1fe6dc681f9754e0fa8b85d293bd56be7eb5e896ce0d5603d9be61eb1d3c5c039a3531bfe90097aea8a8529e7b32bec8ab56a3221af180cc03308555053018f9cdf1fc25d6902a9b36eb5c7bdec7159ba26fc0f38260c0c3a805581e033b78cd31f2e1057c9760cd20d6b9c737a0af07018e7059f7e54b1a9f3008473c4b69d3d1550005581e037450a54176fcf66f6d1a21bec1b7cc1bea3db44e06206dd9cd23da2d5004020343d76bd82f844b8db60ab3eed903730cf77c59ba859f22a178fecdb5d2bb752905581e030b1f48f18579de22c7b6a2aaf5983379683568469a636894bc6b3c78f00c044720b704737c020003f308dfbed0e36bd4b6676a27905f3b4249f37a801b976bcc7a8015557ecce5e303356fb7759ae37f52490275301f22d435bdd4d99dc45704ff1efd374ccfce257205581e03e76155cb011b804e45a73f10147c3c1f9e06bfdf62c7f01cce9fe7ef200c0346117b1b76285005581e0324cac2e815e852086ff83b85dc788f7771446acc49624bb9bf374359300c154507765a609505581e03332dd235716e29d8808f5a7a7250e8b979678362af9735443d7552a660084711c37937e0800005581e039fd5f29fdcc3ddfd7daf2ed7708e29d60dcc73ad47b08e7e28ac69e89008471c6bf52634000005581e03376aad7a0d52586027f39fbd699c88817dc33e285fe73615c02c5c3ef004030219fdd6035efec33a48ca24175dee170099eb1f6d3d8936de9b8ce55f9d76146efea27d8c03e248a702b936b44dc5331cf85e2837b2c2817c86f5defa938b3b454ab6d894680318c50e6ef08257892f869b549dc1c27532207196d47d0dd8f4d6fe3341698e2e037310e77f9881d3265d0c24303ba6e2ce74425d5de8631087d3294db1770193820219ffff039ed498e882ce1ff3773b71d8d3bdc427bf365fd150dfead025f41e34c026c6eb03fb9f2017e870432bd68bacdbf53e4f52cafe5a993174593fcbb6a9e0efe28bc503e36265793f7787d780000a8b70abe88297df3ab43bcffcdc8a9c80622b3eca8203af02cb3d6edc14ba59078cf3f881f885e4e117eb3dd0bb7d2246c10138923cdb036a8a75f3003b56c92b74e4e4fd70e6ae77efd5eaafecf9bec8a76a9aaa4069dc03f97c5d33e5f7c3a9997726bdc63268047f7d1fab41f4c366ff52c11aa96f4961035e19fb554d663ec6927d171befd10935e25165be1853fcd62faa494c8dea1d9303dedd2eb3601fff235dc035d350f8dcc9543099042d5a6f8c07effce67f71944e0382b2344bca6016e759940ba3da087566972ef3a873eeb99f674fa95464eb7d6603865efaafef3c4fa33f50b330bb61802d9d80dd0730a4211fdc407ed714f3c8e803d88eb508839c75fd5ec0b049c57d6d4cf4123047b2063bdecaaecbbb0c3607bc036ed83c1954903297f7492e60d636ff1dd7a7d0415c6f33d63cdabc937e6c6cfd03134490ae19c96f8b9474c3fa62878f7e9129e06eec9b7fcd881d13043a5014110379dbdfe7e60bf5dfbdda8084824bf1ff4fdecee66c61ffccba7dd2f7c5b9119003f5a77c2472f3d3a11e9fa3165effe80ddb10d6a5251fda6cb01bc57267c558f60219ffff03533b152770450e6976abb74e5e022ce0636b0a26c3eeb3dc31418c6e1194ef930381da5ddd1a5afad88e7daa49c09395e8a1e916938fd5b90b88ed0f74cb6cb3ba0336721d9fac472c713b67ef5b9b06a120a56b2fe54c6382f5237f70ed493b32e4030734d653cc9b91fab294b04296c4aa0eb0fc87bf739d59e8b1b65d4764fcc01b0219ffff03798479b4b2578694425103b8ffc1ac22af487be96b0e2a8090526a692ebfe59303e60f4f0e72e9a2ac5bf0ea41357997f514a33b5a37c481addcbb6bda35c38c05035eb5ddbfed770d82dd2519649fbc4247249fe8c35319ab5b772e886237768c9c03ee8639dc45cbd3af4fd5968b1b1b714f7b055176a05aefac5655841cdca3304403d9960b942fef0b3f0c1b0d1b2165dfda715b74b605a7442d369a22cb4edcb48303f72f6cc228f1ea8fc8b59258c2b4b08710022d2cb1799e40b4975237d01cf604033251497318ef5be01aeedfa0017761152a9a41b6b705204596d9d4d9bae51c5d03e83e167b966dd4b047315d3f597f9dd1c3b8ebf2ac18ae5dcd725578c88ff650031a14cbe64c7bf24b343b75da823298b99da5278d19fb8a9f2108d2ebf1e50fb903b9a03ddfc22d0eeffe5bafcc6e7ce3b32820e115c14f9df4450fa09b7d4097760361a6d7870db1c73e2dc0d9dd226fdb14fc55b552fbdcbfdbe4b898160ab963cf0219ffff03d85da7d87617808900780dee5ba283b1f5871b6c8d37717b17252a0089d524dd036c270d24400d0597100e3e745f0c866ab5fad18329702c2cacec521f4480536c03c58e44e3fb85d84e039c9ac1c8e19a0e440a963f6c17a14a403b6527dd92dabd03433a24460b1e617e9cd696fe04f88e0b97a809949dc6b840e9f4acdb239d6b45039cd60637bfb165ddfe4d62180ef1d35a735c77dcdfb7c0062547a185eec283a903df1c44f8b2bf7517eace6d783f28da9f8e653cb907b1be92561a38b5efcaad3d033890fc34e01aa536585ae13286e12009bd919d1190fa4c77932a3985cf50a2af03ebde395a7bb396892eb3372e72af7cedf31619e53c4cb1a1b66d10951a8d3b18031ad104e148aeb0d67b10a8d1371247ea94afd0967574d74b599903bd00f8493b033fb8fddd4425e098f579e0c010b9fff6b168a496af63c02e6f8ca3f25d93586f03b1075929f5811ebcea7f8efe4661ea7380263f6c9bf8a9f9435956722ba115fc035a533bdf499ecfa7d53c6e708efa78ed0b27d3c5f6eae680a1dcf09f39c063f7035a358f76e71e74fcf2689f500ae93b6a42f7e1c42870398f330d768aa0cbb1a103c6caa753ce7beb8ec4606c9b221074dbe04ef99716194c18f08a93edae9b1f070318d7ed162ea7e910a8797468eea27732430d3c04048b6e5c9593a43f1a8792c90315815a800e7192c9cbca3b7b6d03c0f3ce94807eaffa8ee040f1e0f1c628c0cd034b65daeed75979689231785bae2546b823168e1f01d4b8e1f7250a561b68c6dc0380862d2785bc712f50663dd348825d834f115ec81ef2a929a583d4cf9324e53803bf1f36284eafee57589821855b164d2cabbd0d26d01ccc3c56fb3ce18aed03be037dc23c590e5b7d8ac34beafa1a1e046da31ef485277c4266c68aac70dd0380a90398874ddb3a9237fa4f7f74236de5a91ac02d97f16a8051c515ed5181c8234b8903bbf0e5a750cee5088ef7ce6b1626a3c1561c2a470b9649989241cb803f654c2003172b1ae60e347977f68f6fcee73d2ea08688231952462483dedd852e09e0521403fb3eb0c3ff1dd1b0b838a7153e2a216ed652e75f8d3f4db84e686fb7756ea13e03f1b0a9d3dfb178cc4b8906bacb94d434a36eda3a8d0328bf1597d28df95c9d710331344b97661f7bccf92e7ec9bfb429137c442030fa33c123cac6eb69047908d203fe0568ff6443bdb312c14bdfb2dddfea35aee404537fa8195f794ad4b2bc386d0377a0c6cf62ae3c6b427bf4f8e3b0e63963427109bd3b7a26f760b533150ed08903d93d067707202d444a037432db6787c3a9291b91e92da4201c1068700914b263035b893dfa4584ab67144566b9e7461c4995d5cedce4c9f62f2b5609a9537ba03603a4e7488e06722a4b9e9f6446f7a3897857295059f40e762ea6ad9d32d9d2c1f8035332b4278934b95ddff4964a35df8751eb38deca97039f4c542cecb5b9a6f39a03bf2aad6b0cc2e14be3c0053430899f30c16d9887a5aeaf71b10097ff6503e79203bc254a3f690df5a8a4db8a39e868b325d960a9549e515f77f175d50c677813af035f04059f74c78080e54d5245def22448b456ac6c7cf835cad207c0d09435ed800365658307e31b41449c4e8430d2544af48ee295c58b97d06e6645690af01895e1031ea82a5247b8cbe4b40a166bb2512db5e1d808a805045f64f6cbc516f2212d9e034663bdfc04b2542a2857d0dc0c3ca9a03e58659bd4b374d85b5d6827fe3af1340304b1d6ce1601f93f0a9d2e391a77bc8d5b81a5db342630b4bdbbad65fdda752a0388d0c79442173988233bcb207132a3827583e6bd5439537599a769c52cf4228003a1e5572a1c1efca6cf82c6e21d8f39381e405fde108585cd0da12180aaeda40603fa72d40273234999ac8daa2e2499cd25fce68cbc3a65bbc6899862f9a8bc292201410905581e034589f7751892f30d66816cb7502f7b2abf9b34f3e84b07b96deed21c60084771d13655836d1105581e03147159c0d9ed0e40876e50b82c62169abc835b03f1cccfa460eadac2d00c195781489f3b70ce2bd1e22005581e039f20f818d46e6686034d0ecca8818ad50b5fbb186bdbb26d95f2c3859004030391794603ebe2ee8314c4ded9f2c392c75ae661538a741eeb8f341710a1b4c2c001410a05581e03f8c451f3a8503cf83c2095a67d954fdea3bccf26b6740d2a8fef98c3e0040105581e034293c5fa102d98ac433e53bfa1cc88e6e393634fe58844fde272240e10040105581e03c6f6c74d8be1142f52c1275a0eb5013aa5244bb6535f7ad581292af1f00c034477359400031794d972f8c273c77c75037ab71d60a66bb0f1f2da5e9ea879f8754c6d6602f305581e03892ebae0a99133adce5f09cf1e7aad6df67c59ff05b599fdb474955af0040502194bfa0219ffff037cee152f3d51a708aa71a1b775a3a994f10309cb080613b19b6e7218734778da0219ffff03d852607aaf7b80620ba7dab3dd56eff06b7b6657aea1d983a68c42c4b316d69a03f3336fa05718b0d630284453e68092f2fd26c609e1e645de3492e196bcc7ba9503d3284608162b8c827900263615efa80012ca85665443aba01666b3ab357e9bd90359c9d7820ad784d6739b7c172575c412c367f939b9d18e6b439723950a71c59503f36a3bc5bf5a4d2cbe90bfaf70b7f3d6892dd24dcd0fe2439f7bd4e0c638889603f718399870690e297aa179c89458a2c973ed2273c71beed754bf87df81a8eef4038ec7477d99141af8466f308dcc3fc148227b84de9dfe243c45ddca59afea2c0d03920c419d111ff4faa03e719309056e8525b549af8d066aca71f89b24417df8460219ffff0380157c2b503ff121f6824be1219c8f1bea8fd24d0abcc7104e03e11377eb4cb70337106629b5d43fc1e3e1a6b64fc1b8eab2879b1ab543ba81b4efc84d170473230394c7afbc1fc69c66b330dfb7b4ad6586f9b735c02ec71ada7a04a2cce479566c03f466fe9093ea932563f1d7e5472f0dbfc0b30f3b0a6cf3956a8c1f6dab22521703e93820b6e6b60a59c30301eafb0161383fc2d0d1606446d7f974d18dc1db6791034df9b29f999f9b2532e06fae2a4e3c906e94711873ab00057ac7d033af54e8f6033f7a29790537eebd9efe7a8fb2574bcf67dfbc7c943fce3460bbe1284073ec2603cf3930b517caa090bfd399077c39c85f6d745e95af5d352d71f8730f07007b22031174188bc4be4233e0053e0a2cc1309f614c1b529cf020407a9eecf61d630eaf037f355463d75378baa60e16be84791b87d4eaa26551bf272de3db9b153bc34494032afd8a1eb451de9db29ea2a4c6ab8dfaca330f7af2ba98a01e38d5bfee3b09e80343e1c994455ec24097dd3a558a901a7e6c1cbb5ddeb4345bef9f41ff09ca312303cd56447aad6d8a223979efd88814e2d9333f92166952706ed28d7500ccb3d6db0335d70ac1cffae6a5e7665869dca1d2eb26a3d120fb4ec1b78078b175c4d28618034f8b563bf8ba7f9b8ccd67bb4a6bd3d97ed1b7b93de8b2c7d66b5c3a55e7977303dbb43bca763371b8a8f8b5b9f9d6e7107b8a202ae86f178617b191135776b836036d217474666e649c6e59edf9241b8e342be12ebcbf28f7aa3313607c45b897d4037f5108c6e9dc99ad18d89a7f084f4baf8439121e465d96c63440ef7ccd97a0520318b1e117cb7d087cb3c574c58a16b8357e2696463b543d2d6697831fa02eb38303d2a6a4d770d7c2a446cd81b3c37c37b80fe74604ca10fdb8903dff9d0a851dfa0369f5eb4975bd4ea0ef6078b43d3c6a95e5cb2bbcd2f2017b04dd8f3917a346b8034e0547863637ca7078eaf8854e5c516c6c7d86d09a317f5e4a94a949cf70118203be4b0ce969ac66728f39112df935778b3d054a0d214d73cc4b066ad75e1523fd0307c71043a434926411212bd2fe45ba2c16c6bfe5876a3a79b964a8548ebdca7b03a74fdf315bcf7cee7170b04dde3f17e2761d8c6eb67746c60c4a34a0ba48728e03bc3224ef306eda46faffb95c76fe88fc2a4b66555ebab0d53d2bf8ad8c2c596003ee2fbaaa55c65c3fb21a6ec227935f93383ae5aaf81a45112d5cff4a887550c90304e252a07913a765eaaf658a0b4fc2228d3b987796161fe346cf7d8547a1445803321eaed3f50ab6889e1de8762170ce1a01b1ea575c3493337a748b4ddcd108f805581e0371b5a72524379126117d07a27ef03c540a2bf815c19d3caccaafb86ce0040105581e03d8326ad64dce1cdb5c8076e4a9cec750ffc87fca9d77e7b3710df00c000c0142138003df9a60875327b80cd0a6506f4a0be2fcdf44658c7da6fbc2ef28cfe2f01de11305581d0380cd774d3ea4ebe494614fa558b592e32bf956f906a2595bbfe731100c0147a84c64dddcc58005581d03955da0b8f34c3241fb75136401bf164c7c53ae843e423adb8f9471200c014704ce098857509e0219401001410205581e03f1b7f3cd39ad125a6e8ee1d0fe4426ae5789cc12affa191ca51bc261a00c01471195ffafa36000021963e103cbae3b44fe556e8b7bf60320e05dd2bb3cb710d66f92453109b6453e485a13510219ffff030321549060fc5d26034a780d59f5f14cf1d875b01df1e423e7e16f93bcef86430374387f8a7ac48119f4d1070a561bf281d453382b206cabd0785628e950bad33703a7320b499b0a2853bc15fcec7e5738b2a190ece8d0a08373fa9f9da7a9e6e8ec035409f65a438bd3f75da958d236087e5b5950c32992ebaab74eb4e50527036c9d03e6e1520ad3f9a78266b81209a8e3dde21674aee302ca7904e2e208deb9a60e8e03ce7175aa9142949650e64d03da18691e2b075b950d0b006050454178af9f04240357fa8ae715f95779c329e7e775da3387ad4b70109a949b8b20188984b54cc64e03bd8afb7dfa7f562be88b6f73cc46f94cfe1db2e45fdd042ab6015d592c54789903983f1c655b34a4e5a140de950e0906ddb2eff64d618f1cd6c693af71f549f09c03cd58cea6d383e8934e49c5fc267e55192e9873b536a3014befb57a9bc23809bc039dd33e363b5f97ca2cac80333355fcbb76c8c7a81f8233519f673d57d1d6911b037802b6b90ad870e0dfb35339e2738f812cfa832a8828372886c4bccc30bb877b03fef61a84ff331e2e8c94a16b458c6a9ef640d2a04df2e76c3fa19948141fa5ec033a0024f6a2b6fd77b169570f4e1af6f645830e26023d9f57ce099c8308d479ef0219ffff035982c7db9fd840d70255a00f058cd84bb16448384ccda1e090663f8f5c4f2f49038d0302b1f24616365e666446799a43c1b6a098682833812b724bb556fe4fa42203fcb79c4dce808a43d11613a3e56cdb3ce5218da34ecf1f7ef1722ae096dc0b87030ee2c67471f2770aad47b02aaf4c0ad3aa9f868fd21fb66c69d4ce95c9c81b2503faf8a68bc5be39d4566cf513f330c879d7b039284d9e1eace4308fd55b1f869203b2abb8f88658583937f86bca3fdc8006b7fd1df12732447ac535beaaf0f30e0303fbdb4fb3d2fb6e5b22f3537cefa678fadbdce653934b6b2f4b88a650f8a45389032e16ba62beee43884480c4075e29f5002f0ba56eefd16d82084bc365a1340e19038efa98c7163b03f59ee4b0e875afc8959a5d3d9065b530d6ffbfc582df8a7df10219ffff03b62dc0301d9238b9e1c36be62d2c6320e99ab9d731933cc4b7f7048cce6798d103d7d49f6c773cf65d87d56c78c57dee9aec1c322cdb1838d07014c6b86f0adf8a03608d55505ce2fa08f6b4d6f667c3d8d5dd72ba04d61f50f92c7a69fad90059d703972929d07a82e8b66e4d0a03980b68dfd8cbfdf54237151993ef86ec55e7cc6903a33ab8f23aa8595113fedee4704db49601f32aa5e24b175856a1e8a8a88a501c03eed5866279608ccbfbd8dd5aaa00f6626ba40861d47507a2336b99e96b8bf05c0391087207a8b777b6c100536a228feb6fd7f9d7b1ab81300e83844c42f8fb025503e7e996d0053e94cb3755084e6036fcea7aa6f151aaee6ac78ab48cef661d09fd0325edb72e617b69892681b5bd0bb2bfe7fb15d4de40b711d868950ec364707d0603a1176ddbc66b9445f94706e9f3d90a4c9be12c5b4326804f1f5f755324ccc3150345c701a19f4a3c96762c5b428d6094ea3db76c722c6c46502f303e216132ad2003b8bbb1d7698abf880408e8dd0c86334a266463caa4de33ae453d3f1f81562ab503cecd6a97422c31632836e0ce0be8557e7ecb32b10a68ddca30e8232479e17fd70396f8c11c7d21ad6b556384da5384cde82f8a3424482825f85d390c5501da0f87035914c0ce20d96d9c02823ca73a63db7e03e4774caebf10a2621ec810101b8ee103f66e19bf89106bd5ba0ed7b8f7024be15049a85fa6a470740482e3e2deedb6cd03f0d701e1292b9f954e23d795ea488f033e75214a3981a180b3a7e0e0ae2f45340386ba7bb7cc9696d48d3d8a78c1a76eb5ec783ddf64cc0d08129e82a2ae45029803e3264714998984e72ff39a74cbe785564194cfecb46bc89a5c1335a650a3a4fd03a346f5757ee5fda8fe348bd6a26fd14676e7e67acc1443272818268a0c252f8904592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203840250c8535e7e362450294d959d3926d553baabfeb23d476134809bdb488cb8033695502ae75fb20ceba7e5c12ddbde8c40ef18077f908625d945f84d2a244e2503b99b71ef05f15dc9d54e96fbe1da3ddf477bc660090692a7f2367e07e1d3b19b03f27ef531684afe7664863e2540a1349b269a79981d632ac21a900dc94b433d360326ced07477806cfa0aac91c6afbd4d3f554d6fc5737553e3632bd3ec9ba848ef00582002b786bdde72ba7cb68c8546fc9065f586774c16bfa76d1967f7ff18161aceb74101005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af501c9521e9939581627f0d7bfd976fdd7a02196400005821031f0f39bc352666b51627691eab3685b8957306c2bc83714d4547692ce5f2d520410100582103c48d19816c047917ef274613c820af7929e7ea993fd3c190a19c95f12f7a8f20410100582103c179f1bfe6f221a9021c5403713f789578f490de7d500fbc21d508feb2d12cc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005820024a5505bbcd44fc66c652929a279b94435ca268bbcba7b87edbccdab5e3a4ce5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200224e517d9254953712b6ad83219e896f86bff9e02f53140d0364e6d0e5d981541010058200219081b667bd1c1124f8d99282be8fd9e87933641049e83bb780807ad9a1fba41010366a6df2b1e9dba0639c87f8dec95cfdae9aa316f33e79baf79b450cb95950f6a02192b40005821032a4a2bbca389970d054616fab80fdf884d3912789fd5d17b21d2978227549cb04101005820022a569552b2ee69c019ad44f0f63f02f6c681ca509d70aec8b362070fd33d3d410103dea9b34001a8e545f38eb5ebcb283d3d79b82984ae3dc16908230d25fc1eb940005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85407d6d449e604d056f0f7190389ebabdcf0e1eece005820020e414f638e82495e625acd87130bd06b0a6aebd8bca0c33213cceac51eba01410102194045005820021a31e776289109c87ea4916829391f5b113cb58536a14dca7e747585f9ba68490223667b2f14128638005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219880003ea6dda05e3c354d0039d8945bb8d19202150fe2c4f47b5f62ade71b4b346b3c400582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632d02f000000000000a72c211c6253f22300000004cd80542dbd8a1c82866300582002f52dabe105079038f42a0c6b11f86a3f2bb6d5997d13f0f8ee591f11f56f9041010058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f541735db6ab5baa19ea55d0adceed7bcdc008b313600582002bd7b949ea394507eb20f0c26ae7e67aa37dc94dc3a28c6af9265f1326839334101021902580219ffcf05581d023fbdcd14f51656915dddd44b251f4d0706a5992ca66c4522557e20830701192c1d0383df57965f6e9f83bec2da0fa0751872a70cb8a8058087d4c29c08caa5796d7b0605581d02b1938f950d7f7ef50a5eeafa070987ee12620311dedb92c989aaaf8407011bffffffffffffffff0219040405581e034b870b0a2fffab5b8386f9abfe3f08ddd9a472d59d1bba9178dd1691800406030647d21769685ff23b5623c87caefdbe137f95edeaaa785a46cd68c3cd9398e803af5e5c50e1b0e8f3b4544427c121b8fff0676fea9304f38c4de727c032a40f5005581e036fef0171713615927b2022aa0884064c07049d15fb17b0a8a3a7f3c0300c034611a7ea2581a605581e03de65e028b761963c6b04875584db7d3081572c34a512f58442f6057b600c034704ff576de4399405581e03541c79233192ed4fd6004340b71c81e4903e47ca97d2bbd745e17c2fe00c0b46b884c5d25e6005581e03ee4718b4cbdf98dfe74cbdacc04356803af2012ae95c85f2eedf0dedd004010306bb508c29e2c79512953d7916f3e3f5c404b75fdfc6a19f549a7241d4029d1d03013b2fff73379d86ecbef2335c0a4f8a470ee0bf0d5959e588d8984a61c38180032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942031aa593b75e9badddf988da2b0652491a570f511942f8ee9bab55951b234e102a05581e031a1ec2599559283cd1a723eb9cb117f95c016f8faf0dea58c15bb99f2007011bffffffffffffffff0361eebe7d72b7290b3c054183d98bd1543da2016ef7f9a0828f0010504202790c037861e183222ef146d7698683e5a1a1855eda64cbd311d522717ae28369a07805037f4a9cee364760eeb819e631f5314118a2d5242dee1ca111df81a3dc5f1e2d760219df7f03b4dc74c0e29a5c717f59e38d92a44105ed4c04766aa3441758762e86041cc38e0336aa0495f3f9da63f32c9e8ed0781f99392171d0ccea162804d24d521169717a038c5a5004d6b1ef6d46f7d38d162435af457f6ee0efbabcbf713a2165c8e9396203aefa6bd5059f00c30171a477b328b683c4bfa63189be2c632c0d00c3bf333aba0326e477640e0f4d91b2f034b2a7ca8a758c01d065284a832f7dcb9c2de57ac470035624287ff329430e37a8c599343226bda886bf8e62ec602a2bb268423737733403c020f01ba7c5617c396197cbc7536ea1ae7d2fe0bcb64ae46f2b8f627b4a747e0382b40018bc17fb391cabbc90049126a7c1845aab871227673b200d40534d7cf00374c305eceaa376766bd7cc538cc6474c47a83f19fbcad0aa88b9984acef4854a03acafdfe4aa56fb8d8e37760e92e98e77ec6527517261c010bb5f384f5f1454f10219ffff03c7733c1561815dd1bdb0aa6e7a807c97dfa4b7c5adc618d429f05955b2c4830903f445f2bd6b000b787bb2a9edfd2c517fe2c38cf60ea5df569784ac52677952b70341514f3c5f9d5f9a96985e36ba25513051c0c5af3a447b1f5341dfaec0ecf1e20219ffff03144f94ea188792c229b286394a29aef9f5526eb8c05c2c726406024c119a5c6a039ec66e76675fb32c69415d700da38aa7d71c75dbbe14e8e07fb338ee4c4d3b5e037ac38b5e4cfe26845ebf3a5c10d97f65e559d52eccc4308871561bc9c19735be03abec0233ab4e54d79d1e438a6b4a8ccb915c7f0040a8aa158328e84271acd5d303a1fd7b820da2f7066a66a82f57a4065d0470c2dfe94979730ccb6e09c760851e03169453aec6d451a71835911b639207790d3256dab674f30edf0d8746e3a4be4e0321164ffb432a920fda4bdb2eb698a694e87e868eb7cc39bac32ad1884e72d139036b66b63ac9574c7e1218d34dad478eb757c5324bac28c2c9ac349a18deed388003e0f7b0c52d262f7d6d001f39157becb5a6d7f817e854b2cb9a50da76a8c3b14003e998d574a72b6d83a3612d35e91e62a768ec0f245b9f6ed18bc5ef6b9796c3960380648a1841b394275106dbb6196dcdeb52c97cfacd1415ff9394fb01ebc71b21038eaca5843f5fb26f4cd5410e8f08ce9a4fe7489362346f74f17114f78859942c03f6d5f10c0b4132541e548dfe65e584ac7dfaf50b1783a0b6da9b68d19ff949870219ffff039a4072e4dc3dc8ff820847a3e8ca4c28c4e5ee92ed9e0034d290cc80e6c20bc9033552639b1882bb5bdb9beda6f600530b9e12772dab365f1867a6a3cf49c91be50219ffff036e3c4d48c69548d8f371e475da8bccb58d3c0e0342f5d3fad604689a465fd98f031dd2529d6ccae047e01c5d626ed969fe14dbc1ee839572c298c9b3e7151272cb03d1b1009d1517b46450a875bff88e59aeec481431c192891575f4b0cbbe53b879031a87b0b8de2245371d74794f2ede81d5f8288f582db2e782fece024fd1b080fd036ca688c6b6b59d3cea7b359f7ee62e97d663a43a03556e03ed6b6221bf4feadf03fafa698332a96c21e49d92f224fc25432354c30faa8ea17d9caf491593b4047d037199bd55c427c8138f05c8a4f374b7d050f0350803ae633e1f9186a818469360037424bdeffd18186b9df5c0f497213959af63c14f3aa6b5831fd144cb471a01110328d0fed689a927403b08a93811a138edec74f6eb86d2dee7d20338729d118e3403de7e5b51158ab94f56716753262627c6fb2d78e993cb5ab2c39d8025f0054a52039ca3114367294ab19abd8915836c39a367cd9860c9eb5534702196583a17b84b03816fa9e6961c37da17dc047972c494ced47ebc9aed09e16c7390f21d12d694d003d7c5ec3e09faf56665aa9a51b7bfc4cf589b1ed8c899c55fd08eeec5969ca6ac03300ae97b759677919d7dcb0fddb80f185f1b0a17e2b4c1cccf8c1a160f683a5803ca2b6526dfceaffbbee9f702b0f924371a6aafb5e09379856ef2208e817644cb03919f4b3278d3848d39c1dc873ff751560bb8d9f0af43bcebdec1a99077f5cd3003f93c145bcbde68086493d990d12fff2db1e1f3a800d44fd74c2332da2c103c6503f3a748f390411ed52f892c7424776f3676c91bd54eb0457194651c0439c8fcac03f0700e3960446ad5c50b01b2ceb3225875b2334c9111de63302115a53bb34e9a039be493c13d60bc251146c0a7e58ba8d9b21ee8062897183b8a1b257df11d692303662af404c113e190fc5da397820ea38ee970cd11aa0b9e184521f663d154bf8b03b948accdd014329297adbe97b1fc0dd1b85cc13426634bca0551377fba96ad6f03e059ae89477229d3d33a19411c119f539ca592a74744a0ca970b83a2cde4cf3c036d0f8457cc9150d79410ea88cf8fef72b932d90675de55e1b2a86ec8dd41e0ac03f46bd8b0fa95232ce93d9afd588295a5432697bcaffd1f80b7aa8ffb3da874b2036a622c84a6497a544ae7c7ed8b80cb2dff793ed4d01c8060d14b394671e516f80459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000857ffc55b1aa61a7ff847c82072790cae73cd88381565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000857ffc55b1aa61a7ff847c82072790cae73cd8838d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000857ffc55b1aa61a7ff847c82072790cae73cd8838b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000857ffc55b1aa61a7ff847c82072790cae73cd883908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000857ffc55b1aa61a7ff847c82072790cae73cd8839087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000000b1d8faff1fe1ead5ab05729b0739d758ed260241614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000857ffc55b1aa61a7ff847c82072790cae73cd8831693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a038c21640955b1d35db087f175e15b1492e5f6aee92a935329beea706bddc27491030b2177b4e2e12f421b61612527ddee06f7499185e7276248773658f16722a3cf00582002cca6fbbbb4a54c8b7b08684fbc78b202f931343cbb67dc5658694a5d44231a4f716b34f2e0d5c1ed63d2d53a0bb39003578dd3c137850308c2e5b4240e45dcaf9cb644670666615ad00729643d95e1200141060301ca650e56ef0324186faf4a40bafaeb5a734fe2bd0711982446301bd4b7f7f900582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000ffa4c700000000000000004fa5c4eaa79b8284e773ac9400582003aaac318b76e5c43dd6dd8fb4fef45cdef271bed0c14e5c14ceabbb3ad602304d92bdf6803b1f0caf8b67954e060218410219031203fe2619666ad9ef089dfed06f8abf6d514f11b42b230d41dfa3d4bcb68dc3e4a600582003dd95208a6c15d820fc34e91337dc8ba355d4b2ad4cf17f7ec61d1aecff81204f015b0eb88fe99f743c640dca87f83600582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05013f0d787b834a788f67d235f210b3c0602182800582002f092ea301cf9a7c1c2c9fad3ae805b5f37fa6fad2eb74366cd8ac9779c66634e32a0b500c41bcfeed571c1f79c8e005820029744cecae41c8569015a697697ebb72d029a193d1595b6aefc798c66afd1294e187145cf64139af46f0ef7f7a8d800582002a5a5a56e48e4fbf7029661f07b77f512c3b8c1afec44dffeae03bad131249a4e07e27bfab088eec8076b41f28a3500582002755ec79030fb844d3549bd43a01a3d2e3767563a2afdb2e7d67105cead6bfa4e4b407227483eb406c7b4f1f9c70d0219144503a058885e0cb1ce3c82ec177a1ac8559ac3b10a49722243295a3468b697a1d40000582002daafd43d16bc6e65cc1e84d06f29dcd404f9c15db74592531b8276fbc959344e14f95f0f53d188e7c1db9a718a1100582002f156b1b81b10d3b67bbdbb083c4cfe59bff90ace5fe13edfea47ca61d443e94e0501bd91e9c0363dd47516c4054200582002d8456a2dea4d0fef2db213b860b48a39f19f26976cdcc15da752b1fc1655fc58200100000000000000000000000000000000000000000000000000000000000000005820027c1e23399f499ac69aa131a1383e7c20aaabbdc249644730d2acc79f12627b4f0ad520f671bb8589b8247629f95eda0058200262fcc8a319408c7dc091e18d04ffb05ad7dc8bfb6cbd5727e59fd52e33d4815380010000000000000000000000000000000000005820020bf0436dbb897fb64bfeeb95f9ddaa0a849868a303e6d3161a0516b3659fb2581829c46450fdd34b4a000000000000000029c46450fdd34b4a00582002083e44ed2837b1fa9f04b646b7ae27ac9a8641f9dbda9995d62808e587899f4e0e0d32f14570714c5e0bc744e25800582002707b74cfca48697836835e12002361c91e442b264ff8c4d0671f7f32bb901d582001003e8218000000000000000000023bcaaf268580db9ff5b3fffff055b37d5c021968af032bf29919d602088659550d6e1a8663384c634e4b7639bc5dd6cfd5647adf05e103144d7ae5e97245056136bf351c71e280012bff7e3d898f29d32a4fdc1b9715ee0330f0d2ab2bbbcee6b565f294fb23a7d4249209f15a3d006fbc3680c28bf8832800582002d60772e1e08e9aabd0d0d0751aaa061fd8a97e85846034c7d89f034cd08fdc500124280968403d0eb6283034bde11d16005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0491b10c15cbca68dacd100582003abb4cada2363d7752d6a5314f7df6473305814bd4f15eb4d14a7791da920504e21d48116242d8156ac29e40f3f10021902080058200280523d2a535f57580a07fcc29cb918be31687d16adddb0568e4d07fbbc0793491b10c15cbca68dacd102191540034d634e59b3d3379a497d0248e4e0162a1b857c6a3eb9396ee9e3bf7b43ca60f203cbecfa4d29ceac21a6ab82e328eaeafb1b9333fd8af6a1ff3bdf3a714877679903f4164285c8d6efee88ada3ac85844c39ef92c738c6b99ee13b7434c05368aa0d0312036c6506da219fb42527daf925c8a920e897c4733c889ef4447065eefb06c503c57acb0339eb6588af98f502245b22c10724976d5de59dcf8c794c744df353aa031cd1d892161cce332205848e47eb69a90fa579e42087db1bbc3a2f0c98cf00d8037afefade4d1dcf625d50f88f3c93a3842d7625ee2e73a15b4512c2fa1de2290d00582002df6c2751d6c51bbd887dee790267b318ddf4983dc07cba709146b9215e012748200000000000000000582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358200100000000000000000002e3a04f31619841bdf7fbffffeab49ea8b06632c4cb005820022061f2fa765f9d60377b0b4cd5959c61d609a7b2863bdbd240ae1f011f6b8d4e0c83f7d5f5c618361d013edcdbc703c492dccf64d4f5373eea9d6870de0af4fa6106779f7fa0174c9141f70a1058a303b865c71905d8d422ccdc7131eeb1742d24314f0c2230cd452939ca031b0350b20320b91d5c352659a66069646bd4b4ccaec564a7b30272687e970a9bdbd378e1b5005820028bfc4787be6db168eeb32f3685afc9c057e23e246b51d4b3d3561ea171ad4f4d4c5dc60d5ff00b8423ffd6057a005820022d98f3fc87adc249ea987f6415cde8a96ff7a9381666ecf404790881f4d8274f5b12f26d8b1fd66c1dea2c86910b7f005820021a032f795f190060622071b7dac0a23a942e13c4d6d4dd066d51625d0c663e5002a18b6069745a5966ba191062b380120219e1ee0219ffff05581e03cddd57298bdea40ab3120e9b254ce80a6e729b6a121088aed1d482a600070119567e05581e031f9b6e3527159b89e68771458396303b99de8b21fe03fbdadc07db94f0040303fcc9cbb1bac4601e9c49ca205c1950462af0e55de2da0635688b8ecf44f4ab7c05581e033ec8c8543ce4cff40fb486afd96287897ba4f903ff2f5fe653dbbf72500c014702a6e09dd1d4a0037768ce0caa49f5fee15e95844e05ef70163f243fc27759531bc4b1ad68aac2ad0323a2bd9804258aa919a4080ad3b18ce23f0fa88542e919623df3af85bb144a48034261e48e67555d63f905d938adf7ed58eb3b11d4c17c2fd2fa55a0252b90a3e303b847a594a97a0cc7f619ee57e3fa3f2c54726143c6ae656fee1f4aa8285ff56603822476ddef48c6c337d36033ed5c4e2970fad33abaeb22d601baaa4b48ee7af705581e03e1d106a9f84deb46c6e8e87855caed0c3669f1e31498d76ea7fa47458007011bffffffffffffffff05581e030f204dd780900728d6f4a896e5ef8e014aefbe71409c5a0d0923375570040105581e03ead783e83a0c74eabd74136c3dad303515ce89e54d0d423bbf0657e5d00c054701dfed93b8fec00219fd5a039f06dd75881d9f31494432b21fc8b7e7ae11dd154f91622aa66d93bc003dcce50379fc5720d843d8e774229a21771405133c07a3a24cd4097f1f163f2bdb2d680003df725f1c2cf8efe231ae0de94bbb320e9284146bfaada0278b01da50fc0079d4038f008f6f4217654e9171df6d9db40fec7502990e9feedf3e6e547d0d41b87abf035c4d9ddb05c4dd03a93b8fc176d29f57295d7778f4e7312642f5108b7dd44e89034fb25663b93ee4920334327973bac7760cd51c0e0fde0951097bbd993ec2a6ca0219ffff03d9919b04461c0a44687c70021e4ca7448d9165284734f38017a8854959d724aa033c1b16b507f08431dbc5e6c15f15cd461457771654510fd7725b48f42dda7cd3035e68016f1d44d04b80ee51ee2b2dd428315b841af5bd4dada970bcc945a4b9a203103aadf84bfb1cf43a353436d98421e0a285f19b769b72e076338363e4be7e3203bb8fe23396e880a3e713917fb36b17ed137853f99475a04edcb7aae66892705803ca70203b73656557354b1a42bc5c6219f00e5ca125a6ec7bb65e61183cafe94b035ecf58806e31e041dcc82d20777187d7d51eb67942f8d69b8c32ebb72b07bb1603d896f9e1f2a58cec23e69c48670668cc734f2a5f7a2b2cc8b844681a2aa5e699037ebab6a424bc91ce0a678cb1fc15f02493a8d437045e7f47019881a1166ac2490219ffff03d8df80ce9b7b172fc25180aa45be90d2907f5f559f268e90d369f157c94b04f203190462628ac0ee8d4902eead37c498b633964c9a675eb44ca403ed05a540d5c403e228763d618ca309d60b3d89311c1761db2e2ace878dca680d6f6423d765518903907b33eaad026f0dde6527c04d2382d7e488d588b0dbcfe350b6b223e5cd0c3f03a8f2ae0c947eb2b881503b481e3940fbcfca285d704e77128ee694693ad39ae2033dd226d4381c05722d3bbc7829dce1323374cca1863a97f15bb4d8ec6b3c8a9503bc33479477f333a1781a1d3b3c4283e674785dcedceaf30a0a4bdb71aceebbce039416fe06b0be4e6616f2e0e33524f57d62b9c3fca693f58e05f6e99cf4f35c3c03239e5bef7c3f3b6527c18a798631ea82f8636c1fd9a762539f0efbd2d2dd93480308d01d0dc2c7dd9049657f5f9b215d8855c185862973b5cbdfd653039a95934903c5f9ade3365e3eb50be3a4c3e53d2989432d8aba2fc8c2a3c62f07cc2f504edd039685577a8f0ed5ca16f67f0a0e298c468124b32e959a865776449c47fb36481403dff5be75d6d4d7975067a6b57386ed5ebb191ec58f5205e832fe22e1c6e24a9103683a386950d2b603c44ab77670b1a99f623797e5803c65fce8993b256dc1db6903cff60d821bb2a4306b3fe966c21a512e2235dbb030a9e481aed5949f6de7da6f0219ffff038b7d2b838162f8616112c140d79b5c076a1045df2ae5de00d2f2496ce695dacb03c1445f493a4762e9330e0ae3226277181283b3c8c1eb73ee33327a12d538f3300362674da999b8d9282c83625c4de7a3d1656193f7e8a2d626adf62519c110ef3a0344f6e225d251308f68e4863f79fce40efac51a9037bdbd87492596120860305603e7d09e66d51ec81a7ee373364177c81ebf5cf9c8e777b9206fc7916ee5e47d9f0330df275a1c5b84a7857ea579e8f8feb841a19962e3e0f6755b6cd0384c48f90503e9b2f443bfaa79c2cbe8404ca7ac238a8729708dfcd872f27c358f0d81f70436036991c38c09e371abc0d9842f781c931f0b56e2e5aa7dc6d8816a19c3abebc95d0339844008bb539ec8ff9a9aa5bc82ead91a36a362fe00525a4504e6dcbc263b0a03d700329a955c447d3a8828d249885b3e895ed1524dc5ec588f4666e65919959603062b99c36166d1bbfcf7259498b339e3ee74825159cf3f73ce274a8294f16dae0330c05509c96f7d57fb2f31b767bcb24d6fdc86dc21dcbb8529341cef26499386033dce7ae40848f70942620cd91307312700ff312fe810dd2c5f33a5ea730a361403b5b72f440f1dbb9b897ca7bccdf66539e6f65e1a73ba2476af464b6d42f0b00503749355de3c28cdd26c0cdd14d72881f7e36db247feda2ce38c70492c82625acb03fcfa47d2a3d6cf3c9b43a3f1bc556c73c9e7c870deadfc788963c669a53b06d80338d64e115d0fcb74163acde7d7f6939524713c04febdf0976a9c384c4431fcc303fd3851affcb003cc831ecb60983881ecd1c837eaf7b80cb3bc7d6a73990297990389ca562d4845cbd20e08eefc97cb25b4d2726bd258ede827c526fd1968f29d6d03c21e24d1dfe56194d74d7ec0a5cf0af772eede8fae415d18a61d897e033a80f303bafb4514d8807acf29938a8fec797f18f85124f90c6fefde84c10b0d018a3cb9031f9eaf70b8fab4da83e92f064e0dbfc284e868cc077d67c9eb80546af2f1aea80309ba12497a727a49edcc6e88e6f4ea434ae3d379ce922be1c1fbdf00f14215a603eb7901be63fb8c5dfaa5edb837936f4b63e8c1468349c0d6d64355b06540b36c0353cd9df3ff39c90cd4e84937657c32f8543a28f2fb47316e055c07b0ad4d7c9d03b8eabc5dbd7e95d61acd589798b72e4be142c92217e536e0d6ad530c88d0810103fc74fd35e5fbaa3a498488a7270d19e4b701a56228df9b0b7fe24140ca7d295e033f4d6b749f0ab300797b1c4674b425489581adefb57f1a2f166b6780cb37d02503ad36d2bfb240cb1ba3524d247b5767321b6d968346e9d830a95e39ee2b5223a4037d7d3185260c68dfe06d905a2a553b491bc3427d77c4fc1587f39b976490c56603b1ee41eceaa3d07b22141469a859d33fda0640bfb58d3b65c44698ccd3e4ae05030e3be38d852a8e6524427fc162eb9896366df93fc0ad4b2f7bfd7ba59aaa43a30386d139f14a7bdbba37342bf8f2b5315942d6fc2c0cf38c54337db7819ecceefe03ca7cacb1af42cc412fdf7e330d7670640c467c87be3823fc67f2b3b6e30e45c8038e1432f6a9d630a7f0f9088a6a777dae15fa21a07283afdb67c4be63abf169dd030ad8f9c19b35572a7c10d4c3e346d7ea3955251fa3d90d9d0687e5389187197e0327e12c731db170d1b662d6982dc5bad151f3dc62edc717e28534c683ed315d8b03d57f4b80e92efe6ffb8d1f3454c3383ef1620e8d8472852248226192279c4235039c06266290ab67c6ea9214ecbb75f284cfd00cbf236ebc20d55cb9be8d8513c60310046579d3e8a16ade7ef3eeffb861dc9057b254ac0ce6cffdcbc95b3126c9370342cb45701880a19904e9b4bb3bebcc04fe52ddee0dbc95620fbc74141cabf0d805581e0320da96e3a7caa43941d0bd7941dd55879e85a3e4ce1716597781c2ed600c183547bb3768988c49e605581e030a9043de3d05d56be6b89506bd4b265ab35b870e68b9ee4f83b34694c00c01460694d34d878005581e03122fea6718f4fe3ae4ed2abcc6f832b6abab65eede85302f84cfc34af0040905581e03b43ce11f59514807427e95b62e511b5203d36226917c3a3b21ffacbad0040105581e031d7a6d20d34f30471a81f788dc0aeda4a574a49939da2d3d53e47c10400c01464686df4c3b0803d254f0350600d1d60db82dc2e7b7ec4051a7cc2845f780773d77047c7a3669c005581e036c7184b6fc5bb2bfd4b967ef7bd25199ef2220ff380e80a389fad238700c0347428cd44c7ff48a05581d020dbcc76955a7b6f911eb2378ba44c2f6dd789b592e9de41da24d5c68040205581d029690481753bd41a44be91523fb7aef8898ae3c619ad0843753afc0010c184148027d88cf2fb27e0005581d0296d5f53199152273a911fc1f342393c3aeaf6d17564e33b9855ae6100c0e46daa13d98f4400219081105581e03431a8587557c59b484e1fc1505809b9e69682c4a892a2074a37c94fb80040103f3d052c56ec87aa1e85c7b99fbe61095134c986452e45eaad2631b6ac5cfc2ad02195ebc031bdf1da50a1eab1c26dc101ff515805404efc995c73113fa36c07efc8f27063b03abd7cd81ed717a238cf5e251baefc12771fe5a3ec1cef492298b26727dec5af30369209a14e5086ab43a8c140f0bcbb7f3b2606023f570495647c16be373dd9b2203b2320562a0315aa21fc8b89a5ddd38da6020777cecb007d8e4c0988b6834377a0219ffff03f5defa0ddb7f4313080264e596a980975e26010cf66f85afd0c8fb76626980900357fe8e13b60eb2ce8da126e0801ddb0f93d0dc4e7a475e1b10e02d813093e10a0219ffff0219ffff039a5b9a3e36dd7a4517e98a00f5c5a56a85f4e028faa1aa72a702f59f1d2807bd0325aff0b4834c96f1271b563cb0df93700b78a78821385224c0371cdba15600ae0219ffff03673fdd803618b51b3c61463bd2336ee462ff31a45f9d1a0b08cf3ec8eb2b62f603d3cd5d08e4cf2e6051f40181ca48cf6438ed56ba61356fb542eec9b6e7fd645d03b07daa533a027e8a48199594db0717393daa358b2d323e000ce800d48f1c986a03d2e7c3bdea6cefa7b26f5cbf0bba491c039ee5ab9988137ca4f361b709f2742203ef09a7d1811ec4916505b05e63dc7a6360612fd12d6056424e4bab09cfb9e582038adad0161d55e486597e3cb18b66553e07178875fe772643ff9c799857e4a5a6034764d58d0437a4e93a82469cb03fa825a566f1bae58ffa69f19d1326b910bd0c03658e807337c5f3fc228c377b4eab74f475a37ad71a286b891b72f3e18ab931d5035a8d4388559b340551f6799dde3c3214d18f607b994cbf66703ac4c440d7d603032824090693274cb55ca57c760095796d2ad8b8e0b117f6d97376f4deeb9555b00368456197736d73ae2e4eef445f96d013d669a5871f9efcc4b0ffd2b4995a057503942f5869fa68c7e4ed2a29babe6296dc3e33f10c05bc33ad3ce113aa3499b5cd0302f5396debd3f97f7be1d3c043690928c7716971a1b68ea67be2ecfceb8b98bd03d7ca0758b6798f1d9c6b3f004dfdcba269bf8411b61ebc842f5516366d2d3e6e037a9636048c96f557f64bfeb6646a5312bdd1f91d46c57a1d4486743684c1742b039ade4c165b5de547b488a0f6d491a9105f6990e1c9adeff35db79adda524b991036333f9e385dbc00795f280ce7e8caa9abc52910afdc41a8feec427723975206103c34deaff9df1af84941274eb2150939268b6479d655bcfdc976424667a4dca88037ac9830a52f3b3ed671c2afdec605141383225e91ff0e1c95aa8c9b89a0f3646037f88f516dde13d4871157ea58f67cb16e80b35b5b8b9042bb9809ad6b8b015700318e5c350dd75e631675fba9582152c13fc2a1895228ed1f6de44b45526b94e3c03b4969485d79b4587aff8105849dc370c6e0e6bb0a78ecaaecb5e62678c9bf8b6035dd695b301a17cd803a62bbb8bd20bb18fce17e6cfe68d9027a10a1e9f48c88e034c4d510be8b99e488dd288cde6c9bc1d2bffccaa4fae21cff0595e79da34c030033fdb3bdd8bbf54ac7fc4e76b376671499f5e5f5fe06e8de7676114a860af1fa703c1a81f22e7d7a439a045d66a3d6de72d2781a8a72e4642d610c1d7760d595a64033c7d512792efa12a001e0a93cdda98226e38f185ec3019ab988999b7129267e90311d3f34a809ac6652a1afdf4b43515eb9bc5e962d014148a92edac7bbd8ae5f103fe575a3a1716e1284aa3aaca863fb6b400e595527f0bb05c82ee0d030b37ee6603464630eb8a903de5cdbab71913c0fc93055a59c7d456d4321db473ca4e792d8f03e70eba3f1677245deedf3adff1fa97e37e41380afa195e69d52a9d5ae680d3a603c72000f307a32f042faa3857aee2414f71eb18f085544321848a528c8330897c03438ebb2f3069e375e62570504c594be606779dd3902ab54000c0b6e5a148cd9f0323dc9f77f0ffe487140e54ca0d78575d0c9979bded3ba73e130327b2531e0830039c334fb9cbf72796e9d78dec7ce495511b0e63dd22a94b90f7544e2b14422aef039cb99d72c4e7f8402c4ea5363733f48d81de70be1205ba43239e1c942e6669490367807004446234f4d36c8aab59e6bb36902501c4aa049f540c443f534e49e2030322cea736f8fbb1c78269094c02224c4a21793c8ca1fb8dc677ca3b6c2e576dfe03470431aa96019728e1a20c3dc9fef682b27ebefd259dcef2d0b9ed39fb598d52039034b658b10823f45e9d9a8290c1d2c1384b3ae079f67f5d9aabb74db24e1e3403c48e811b6d6a94b5099e4f210dd038bfda28c9b217f2c1fb87459dea479eb98903f5733ac64154b7e678488c35f7cb47856a2909e46fc1a7f64b7bf23fc714fb8e0320d43b3e52c60c2bdb28a411cf3b957c0ebaba629c9fba90f077fcc043cf3dfe03832b35d25d9ea3bfbc39ec1c3877d01028ee000d88b1ecfccee4c9278ca7a267031ac5149900ac884352277066148657af7582af4ab6fb8ebe7936c765f1df40ed05581e03caaebc36f2fc549b630ec69eb681b9be97b4319b3e5b94f56bd0a9ffe007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0311a693691336ebcd90c8d37d5d529e6dd7cb54486ae8fbf7648a87d5d007011bffffffffffffffff05581e038e91f9b280a057095a56c417b8a0ffdb06848be7401af46e2cb2a1c3500c0446364095ef70c003ba71be2d8dcc4b354f5581e7b0b94a014be093384f625617211edfe860c997ed0374294cf089e5fdfdc978036906718045a61fed3452a758c56110a57d45bea99905581e03ef6fc36afc410138e27e5bc4ca0fbef299e04a0cdd2087c0785b178f80040204590557608060405234801561001057600080fd5b506004361061004c5760003560e01c80631bb90003146100515780635b6ae8c014610066578063643599f21461008b578063aa4a95c7146100ab575b600080fd5b61006461005f3660046103c0565b6100d2565b005b6100796100743660046103d9565b610246565b60405190815260200160405180910390f35b6100796100993660046103c0565b60006020819052908152604090205481565b6100797f000000000000000000000000000000000000000000000000000000005fc6305781565b6100df611fff600c610420565b6100e9824261043d565b1061010757604051637944e66d60e11b815260040160405180910390fd5b6040805160208101839052600091720f3df6d732807ef1319fb7b8bb8522d0beac02910160408051601f198184030181529082905261014591610450565b600060405180830381855afa9150503d8060008114610180576040519150601f19603f3d011682016040523d82523d6000602084013e610185565b606091505b50509050806101a757604051634d0b0a4160e01b815260040160405180910390fd5b6000600c6101d57f000000000000000000000000000000000000000000000000000000005fc630578561043d565b6101df919061047f565b905060006101ec82610246565b6000858152602081815260409182902083905581518581529081018790529081018290529091507fc8bd73742a63a8ef565902b94304e65f46c90f6974df076790e322b8f7cbeba09060600160405180910390a150505050565b6000806102548360016104a1565b61025f90600c6104c9565b6102939067ffffffffffffffff167f000000000000000000000000000000000000000000000000000000005fc630576104f5565b905060006102a4611fff600c610420565b6102ae904261043d565b90508082116102d057604051637944e66d60e11b815260040160405180910390fd5b4282116103a757600080720f3df6d732807ef1319fb7b8bb8522d0beac026001600160a01b03168460405160200161030a91815260200190565b60408051601f198184030181529082905261032491610450565b600060405180830381855afa9150503d806000811461035f576040519150601f19603f3d011682016040523d82523d6000602084013e610364565b606091505b5091509150818015610377575060008151115b1561039a57808060200190518101906103909190610508565b9695505050505050565b600c8401935050506102d0565b60405163213fc81560e11b815260040160405180910390fd5b6000602082840312156103d257600080fd5b5035919050565b6000602082840312156103eb57600080fd5b813567ffffffffffffffff8116811461040357600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104375761043761040a565b92915050565b818103818111156104375761043761040a565b6000825160005b818110156104715760208186018101518583015201610457565b506000920191825250919050565b60008261049c57634e487b7160e01b600052601260045260246000fd5b500490565b67ffffffffffffffff8181168382160190808211156104c2576104c261040a565b5092915050565b67ffffffffffffffff8181168382160280821691908281146104ed576104ed61040a565b505092915050565b808201808211156104375761043761040a565b60006020828403121561051a57600080fd5b505191905056fea264697066735822122084a4d9ad6a8f559eba9050b1dd023377c76e89228b3318641f19ef78f797113364736f6c63430008160033036bf22a807ae9454c2896a87a66f65a3b73e7919be29a6b01e8cff4ee0a03b1e6035005d774ca46a746bcdee9e86cb647ca12a1bae4c37e33c580e8d914d11bc75703de92fc65206e18c7f8b17cb3ff17c1c26850e7d3276e39ef71e8e215a73ab194005820023882d8e85565fef6e1780815e928a1e72bce5b8bff8031201a0d757e9f2b475820d41a8c8fd35201636bc864bc69169080e4f07100a3a0922cdd6d8ecf3eec47f9005820023f6de7936a5a0944dc2ead30773b1854e9902ed4c4219d9e91cffc96db179e58203c52e0e49e05df0fdec8766591d49b39db2eb73814b7b0aafe43d5e27cb87934005820023306d88c6bab0ae096610d3603b29d398081a429508af219af2840d9c6b79c5820194df0e95384a553d426c1492d1d6f461cbc5b12cb69ea9c04d6a95b9d04084b0058200225e0db879c841e2c97d5894c8d720609ad8a222989f55878aca0aee111bee75820de4c9366237b9238eb1078813d92c6bb4972e5fdaf4857e0d81f20d37b0d27e8005820020ccf260bcaabe459d46c32d62406480b0fa7654114d450b57957b907a6b14d582071f9c1110ac99344aec56e8c12be31209cbe872ac9c940d756467c7983e0f107005820028f687fd0bda3ac4309f8fcadcf960ef1baf84c3bb13af7c1764762dc20f779582089920defa31ad097f79a1d8e93a96321bc5ff3489debb53c623be3cff8b523890058200229a7f9b0c5897142f1343666907b64118c4bce885a0ddec2b883fe66bfa11a58203dc25c7162cb50b1f20668d0302cdf5e98d6459ea501f2fed405ce1a9cf93d0a0316ff27fbf6fa980d7d2825c8fd4ee05333078aa5c66c656564053952c664c00900582002aaecd324ed00cb573b58604757a289ced08a359ece8b413436b1b2d4c5c97d5820ff971da84e6c4d04dea1c0605713169202a30800d890f1b3450c5323c2635f9b005820021e80c5fceca137366039f359f34c05b1788324f8cc911e98bcd376c8999b4d5820a88b32107a435a0e99ca9d8b69dc33b163e53979f9fa82d52733c97964c303de0300752879cc2980e947ff85a66f61b55257202a873d4d1aad1145d677a1d150c6005820020e82f6832fc6ffc8d07f525f48e82baeb5735062c25bd20f5556fa4b54f69d58202b9432ab88e63ddd3e67195f0e6860e163246003489cafee285ab040c88e960703e55ffd5cbaddd7af3a99773fbef134db1205293bf724f859973c3fd9f1cd59610219efbf03b1d53aae1f98cfb236e5740584ccaa5b2b5952ca6439e2929db009ede86b8ab50346cec3125f8dc6101dcaccee2847f87d4fc74f9a52f2a41f72e001237cd551480332642442b71ceac2c1b87f3491229c17cb6699f0cd6bcab0bb723c5a37ae334103fd3481842678320678a44cd80bd1ef923c3b87467c06745f6e336bad960944d403ab9b7bacebf20f24b7cd4f5136e861e60a70b77e8264a4f32c2b73fb0a4c65ee038bbe6970216216072143027830708e0f995e39a57bb76fe74128c70ae4d2f96f039b5113c9dc2adece42750aeb1d531a1d5b847e9e0daea43a37df2615c9340ac5032cad6f9a3bb720b870f1a8a852d3422804a1c913662b932beadbb2429db666630388db99befb07512be7a146d4ac26f36654553d02046269da1aeebaec9d764d2c03ed11838a122f9b93d5fa71623aa470bf0171eb71fcd0238d98d5b7879de653470365f76d00df2812c9c4eeea8fb20ebc724fb439cc59b3d4b07a7f0c3bb2182f810314f9536c558cb9622af575ca205817f7e075035b599dba3b403be2e44f0f8f16033cd2e3ba8564fef9e7ec159fc25fc7ae76cbcfed0e18763796bdad3e63e57f680219ffff05581d02827653371a52821ec0a3671ebdd125dc36ceb17e00bca891f7ef94dd070119055705581d029615935268571eb8c15273abb7de45876f928aff8b9b0545f76deff40c024740ac54003232cd0219801005581e0316bbd7e937bf244813d609c263f3fa983b7a3e06ad6423608e86fe08e0040205581e03f59531b6416f69e5f36864a67da5a464fe88896ff087cdb88e99add7200c0645011bf329ca0327f0e26dc13e657407dbc15075f5affa80e9e36731592b43793328bb7ee5665a02196b7603eff9295cf9e0f024a2f4be365e72e8f1f2321a3e0512f88309e3d1c3d2204ebe0219ffff0303e162f0524327a0e0b0516e47488a7abe25c94e4761d21eafbbee1b4224f79d0219ffff0343a4a0b2837646441958b0c78a0e6e98edb40f8aa47a59204e5f9f16bef6574503eef3d6db849e74b725bbaabd511a87958496b11c67679568bcd2c569f4e6792e03fb16d11b50967f6712d74fc7cf65b273cf9075814486d596aa678473154d4e5f03b46a30bcded52329eb38ff66d4d7457a02538800b2b409dd1ad6da5627d2e0b30371cb9092d878c259245d6998951ca5171b8beb294979327cd90a6cf02fe979b7031f507cd2660d26eee3836a6cc7e3dc2118ecb6c50cb4c002d589b9b98dc94f5b0219ffff034acc4d198517dc05e44085cae8b662f1275b3ce01b18adf236509159fc5798a603973dae6920eecf24dbdf530291ab99b9a61a9159554090cdf74fbe7285a4005e036295a0957600767bf919ba2e40be78bbf5567a5ad573924433765548390a45cc035256a4f23f1615b8d9aeec334f4078ed4c603a4e49974a79f386e2f159d4393b039ac0df76ce415e39b49a858e2454bf9a5a6e0cebf2a33bd2740a0f2dd44e381403e508047c86a162e1372d9d24e974b721b58b51f19618b4dd36de2e7f14054d4803414701912a7fd0916f707baf48a0270a686f80f90354085a0e794360a654ac6303d4a4065ad22fc35c5df72e7ab1525e0aec11be839d1c20a56c96237bc09858510344487b991df8855b0f30e9243047365b79ae0243f72e5d923d505a88ecd40d9c0350bbc853f194df2aeaed5640233cc8e5ec7ce44fb4ac6480df6fabbb19af12ab033e104c5f987d3a03bfbd31b8b10abe81949a232cb00f0bb1971af2f1e3ffa5f40304e00df77604102ed10c4065485e216068f6f42f076b3ddb4d3ab3a58efb6d3903dc058993ee6c67cba8ef3544ce574f1b83350c5fe08053d0cf4cc038563398b70318b6d8251a6d9ee3c01f86676eaf8b7b580774c817b498e0102b8454a1e960220372a06080db7219941a85fd5691ac7037185f6667abd6be97629dcfd40af2fe8d03e482e55a3639c2bf17109655f8d1c4e1b45a41a5155124093b0164c51f3dd2fc0341f237d04214d23f4c145d33e2fae2b89a4c9bf3dcced5c6a3db99d0041fc4e6037cbd3ad784561f31f0005efd958e6005c29f93fcc4e5525ff97d637901b196b803235449749ccee937aeb98535d5dbba6567cca78b846c895ecde570dab8cd475e038cdf0f8c4b067e73b0823aea1c29ddaa4d12c0cc2b68bd3785bc646230bddbbd03aa5b16cf0cbf2b7cb8ddaba010c043a82aac22598b5c22a73479f0f51d6b480b030ecb08e001acfcea04ec19a67fea94c9677c7dbb8c1ea5425b6c7506607f4f0c03ad58f1c35a4f80b61d25168f99021201f6715ae97bf4aa8b8de5e0190ec4a1900349cc9669d09b4504bf620e076c8e81602c101655a86e83f3f1f871b187dd048e03386c00cf67eae3b2637f87f193a86ea62e2bdb9691ae40aa3b04c5ca006fed3a031a53a10631d99874d65c5a4a6298ecadab9f11961c4ea37af2d2859b051d4b8f035b631d0ed41a3b9d029339186ac5d5490d40d7e2a150912f98200cb3db8461ce03e8f78c851e5f90fe0ada680ef845c991295ec6411f1180f7df25eb6761ab2e8f036c5c89e4016c1ae237d5700d2f65071a2649541885d3e3324cf9bfc448798cc90328ccf4865aa388dc155f2edd6c0963b67a1be05e9a1b88c827b6c7fcc4088d6c03065e721080967e0a43711b601054b4ce5123d4c6d60ba411218cf1c4fa9308e30363778fb4ec56ec932dd8911bb8a277c858b676d59948bbf7e0270be1c113586b035b8d15ebc4c957abcf93feab38ab4f506957d6b570429963fdd7dd45d903b51303f7935c505c681d45760d2b7a13155510702ce4a89715b0921014ec407540af3f039ecd266f0e9f08230bf884d9451c68f7f42705f3b64e5d52363bf2ca7fca4ca7034c5b6626c840f46058b3c28bd1329858993cd2257f28f2f8e286603648e035ab03c6e44d34d90c3371b5e88aaa1eac12b6b823187e3e3654dbd08030b39b1d97eb038fe3e6130f86ce4d968de5c242b06bb78c18b5d3248f608b5fc67810a45e6de503d7f0d37a477e65595c74673dd9f580ea7ca822c1192208461b1d01c79fb9cb3305581e0377cbeb25d7bc9a490b5388aaff61b4a92f5a631f5c9b21f02c5da3c7000848015fac468153f6e00339464d70f013795a6687175dd99b84d8b654a385790fc81b685f3a3b8109dac803214baab4c3654b2ebc679084399f1f17e69473553fa570fed54620149d1dc960030fe47b3d94c81083b26f753e4083ac01f38e6f85e7f09bcf5041bd63c41f364b05581d02040306f127e6a0596bc6105a50a44bdfd7e1a2411085539044d4f5070c0247023a3b39c3400005581d0232ed0d2c6cecb014fa82f9204608e029ebbd401ccb5989bc69f1aecb0c01472dd5303465274802184403bda09cfb2a074959d4174646c4a5610aa9fc24ecd250e47ad2b6c0465dce17aa05581e035863e9d02fbe03ab569a9a3906c268679941ed02b060ff0d52176829300c014650f1ed62900005581e03b8625e62df6cc53d2f72b9c930f03366efa009427eb7c4dce3b97e2a700c01462f638a8b847803a013811dc0523882b88c839b34bdeebb8b5f0a552e444a739ce4d1fb5342cb4205581e034915f4493cab1cbc1d5c62c61700bbb10508c51a0b8bd95793a0827440040202195fac0219ffff03448ea41bbef1151dddd305f558e90c97da4e4715e6953ad6e3c9929aa3d5f986037d9f35ca60bc0fc86e1ee995f7bc94df9be4a1e7b0e1b4272d4159f3eeb6a49b03443d4f9a7d08e28377311bdf9231ab62ecd219b62205fba671bece524ae0143a03726222ce6a4823b3e6232b5646385be4b2bf97d39ee6139579e4bc3ec25a43ca032cd25e98c3b8646ec2f8dfbe80b5713dac28dc25b14143550c744613b404e13803d9e78fa741f8e727331da7940582fdfe62d5e22081e57f549d366e003743596b0219ffff035cd768438ae98bbb33dae6307886585913567356bfda3ca5ebc503b9e8de11b7032dbaf31e5a4f041dc2704e5fd27cff7357110a3ec45948f920c73e895dc584ad0378509f5aaaff87aa76a1f82cd08f40a50cd2a7f3e3fd00282f6ff72c0f02a0b10219ffff035fc8d8f0f13d4bc86bfa77d078139ada557362adc2a773f099dcf02639697bea031c3b7be0ac965d1842b1b34c8fb240ea8271aa1e476b7785618a3fb329ac330003ba125c56a28bb6f3ac7ba8382c84958cbe4b540da95f903f96824df9705dddeb037eca4edd28ee96ea4d2728379d87975aeab3166025d59412257a33d56304c0f5038ad4fca6f888d193b8e154d9e8ae425a2bb13f6eccfb6edb4ee2dace7462c6550219ffff0314b07cbc77ae7981e21ee8bbdaba6a9b922324162fa04b657f9fa3a463f4a4b903d8cb5cc6098f54519c5f090270b6ef50deed02db7484e1b58ec187a76d65c595034b6481e0542f230db6069aa0923e2aaad62d435faff4686f01962efd22a762e903f8137d76f147fba266aae0793914c6790c6592bdb8ad49297bb40081326e65410392f7724a57f919a9858495c2deea389674f87012d0df124aca85bd30180c5aca038b5ce1fe7e24eb6b8d12b54bb7bcd78a318b0d89056097d0e9d7a5e03860c4d703f8656f52253cf3e0fee55b70926b2247606951ef3d911b901efce0712c6dfd3503d602b601701376f870c4619e504ef710dd30a663624004491dbe9c69087383110331f3fc4b93152a59172544f4be8fd37588b4c7beeebeaa7b4f358ee6d6a421ba03c9b2cc1f6380a31aa74ddb0850ec141485e4796050f2ccaa3ba5c69190154ceb03845092939a968b6e81048951cd64b381716a392916740335b6072009ee0a0af30322794f9265374a8a59daf09b8598f6d40d76b471f8f08e278353b6036f3fec4f0348be3877a308762e88435b8682541be7eb4dc749c1a61f038c188b5a6ac1828903f1bc2c48ecee3c4f4fb9dbdbede273106c7358039ad1288c7145a4c322a3855603c03b818b57ab6c69c1a1f06d34e330e8215b6ec349ecd92ad6c5d15114f6e7b603fa2442edbfbd10ddca793c465a5019331ca65da42ff1e38fce757dd1820dfc88036a9653b43c89eeb3f82e050e9e4ca87e6c50196c2c85da5081e65bf59f38801003fff7f38d16d6aba3b6c1a35d940e38dd5dfa383b502770718e4487f3399f74c0030d6b94e506438e193df2427a38ce5aecf385a50f085a77827d091ebbfb5a044303c460e2a20b3f7be9b4b4ddea34ae0c7aa2b9388b66160e0f757f8a3601d7747503a78355bbc313f20d124f675af8c348292a94efc64620876442fdd1dd34aaef49039d7e40ae3c9e984f135024acb31efe01144c14ff2f57a9eb3b697a619e7d687f03c977893cf51137e3859ec33f94d6c4c855db6fe277c9284acc1a742a30e68aa903acf2132e4ebf27f5cc7c840738378267e3042289afb6000ef2f6c80756c022bd03a496a27bf63ea5ea4d55b2c61c39558ba3540df6f786edc34547cf9a5da8da8303f37c3cba67c7a48dd9605fd529b1aa820f64a151cbdc4606626bb4e5e8fa02da05581d0260fc34f0e94e121f667e43d9ab2699206e7bbdbab93f36aa18d9a4040c0f480a7bfa4c4b8903e105581d02ea0f25cdc2758d474f2968e55c3d60839516c276c10d9b72f83c5d2908480476869c789acc0002191100031e49fc0e9ffa71957856eea5a10c76feca91744da18e02749a9068209f66d34b05581e03a92fb0173acfaf76f19381dafe67c84115d1b9942f266f8350f72823900c0247029c7a85e8f00003524f18bada3f0a1a6a3f7d5ddc3d4991fff90a71281cb2c95ff853f7245d17b80371105a042714f6bc4679b6fa3600ab897019f43ada6de9db354ee06a289f78770141040362ef6d20a11f602aa10fdbe2504dcf380e81819d2e899c819932bb560bc948ab0378b6b634144df6747985475eee26475f8316bf14694486da07fa0ef43f66223501410a05581e039b87f4f5ab9ce2c9e71d55f7c249947053fb742e65ca74eb534a0a71f004010355b1cdc20830c339e34f007f1e580cfc9d9ea2c091252f1dbb10157011be77360219bb3503ba12101da4925d79d55149dd43b5e25312c021810fdd47a8413895f652edfcd203136b957ee4e7359bc327d1f231b589494bab823319a8add40010e1d75c0ef9a303575e68e8badf80d91554fa8c49e9ab36f9a048617be648738da2ad6fb1574f97036bf7fcfa429b4da8d3e84351e534f4d86b8bfc5b8b960fcf70d7ef8164ee714303939380f524aa29ce7e43a67418978b0ef19b0e3810c29e7c2f62f4d26d4b2fd003375c5af72c1df415fb36cadf4dd7916afe3e7d68f71999e15d7da4f41926106c036690b27ba43184d4f97332f211b8ed70c47d48c31b4353bd7299c8ab5a43ad130345f4166a79503fb73354acd597f3c0d2afd70463cd199048b4b3b4ad7f5fd639030581deb81ae60ac3641c64eee39833d6d2b6c2c05e8cb237f1b44005316112710350067a9784c22c6bea00c1f066b89007d113a7d5842a0f6d088d25bca9d7099b0307afa734c17161b4acd3300570a076f37782917a03f3ba6d73e484d9bfce84f503d1748c1f85164b79f1345ea7507279e3718c66dd431d62fd276d7b19f56e281803288fa7397d6e466beccd0bce158244189ed0de21d65bf0b8bc73beaac1c1091903260f187e4a29c9c92e8fea89ae3e9db0431b204638cae7d4f57bf2a7e8579ca5033930508339586acd1e5efeb088f283e54fb74d8124990557da6e406ed4884bcf0219ffff03250ddbb29fdf52a7aa4246f0d52c0ee2f255dd9219bfd6d6692d02308b1720dc03aa83657f4a4264a2c4b019df67954ddb5fcb7b85b6e2d7b77089fbda26c7a69703702551fa406f5e34ec7ba92beb1781636816ef9a8ea8694f1346144c1fd4eb4f03420ad32dbc9b0d99535efa49dd1b551f5266901fc790e381eb160e6f58061d830385563637db81d401c46d2b31360954240c52cd30e58107e474abe3674f49e6da0324e67e368493ac9b8b2a1edafb629acf2ccc8aabb9b936547c8f6e13686e3c10039e7f235e13a25ed9927f85d52c1d4aa05a49adbd4bda73ef127107416780391203adb1578df6c20eab3903d23ad92255abb1b340d14273136df46f0ef75fdfd88d03c2fca66d9b2bde8d4e6ed7a44d69076fcc10727326de2d2a6fa81409e0096bad0219ffff03487a411dd922f8eadf968f2d01bac25ae8496dffd2e37618fdc9b0b1d7c0d62303b054c46e26a840db0731d5ac379ef01345c6b254b26ea463245df9583f0aa75603d3ff07ae22caf284eff7c17075d08a0b34b3a382b8cd1e87d11f4951d439e43f03c4791c139d4c124d3e553bbf52833815710ef377ca5efa2dc584b966582916b6031aa4cdbabd708abfc0c1a2308ef3363c27627103cedc3fbd443a8826bd303ed80219ffff03429484e93c85a852db61a93b51fa71ad8f1faf8cf2df09e1da168551d33183c0032701520f9440b14b242d27afaee0d720df1ee109aa7bdb2909f2498a7ea4555d03b8b4ff6749a11c46b63c08e869e0b23b82fd5a21795672bf727d3745ae05e062039f2d7c9f2361ad47345235d1573114143089f2d5bb54208a4c45aad942b25ff603946e2f12738572821bd28020574f5069d9e07423eb1f0a0cdb2ecf1028b99f55038dc269209e27d05ebc6d849f3679245df2f5d4195772be9c9d2528021b2506ca0219ffff030b7518ef9bf3f2fc94f6defb61c7a3f44b8326f663436b096b61e31237943a99034a87dda310ef31fc0bdcd300a92088cd30ef7cd5d6778d74264854581b130c6903f1503ea289165bf3a46a9c045337839ecb9628e48ed89cf581c38c4d4d39dd2d0342fba834c7be2de5a33b4f0f7f84ff4730a9e324a598e6748a90a140678895d0037b0c2084f45de78488830e8a7c2e12e833ea7a15f18b5a948b18d453a5d3930a03409b68c49c55ede3b0d4203f9470afcb46abadbc2418182ec982c02a328645f403622eb12b32befe5c54a166b8fb6aae45ac968be569035563046482db214f64b403bc7b9e0570953d16fcbe01271de05977115ff82d45c9352fc99b288d03391be503dd2b8445e7fc7f31dacd594b0bb69b4e2ad55899929af0d9623020b9b9f9bdf9034fc71a3a450f1f6e8d0561dc3d60a40cc8a4559568409f2eb511c57403ba93ea03b2fd140c3cdba3cc96e7c40138d5ae865f7f18ffbeb253313c70e782681f3924037c91bcfaed32c51f01c8985b776595965bf4b15213c6652e10129e7e461341cc0334e8bd2b9853f38894dc21751937e2b9c7da2abf9a145be4fad98ffb5b7b26f40336aaa171e5e918670c41327b18de93ade556946d68044bbd0a41832a81870c0f03bd9b162f558424ca39821d5aae7a1f9db82e587fe766ecabf8553b656d1dbb96035a86e81a958630a58cd1f0cf218511393d0acc34b45af917dec602c439e6c8cd03cab9eddb44c56f661296ad35a6ec48a6881d5e7c7d0f36b12da94fd04ae416690349b1e3eef2459f7697e414ad0af9fedbe3bb95da00987c30432dbfef6117d14405581e03e0f42b999427cb4985d59ca81f25b81c4e603e2638985e3fe264c5d3d00c044648f6950fdf0003dea567b18df9ba7ee78db444e29f2b30bcd4f5d968a488a046c8f60e00e82a8905581e0321ba32a5ab1a15cae9c4cf9b3dcb21550e7c4fe6cfb21686f1ef92289008485abc04ebd6a3c40003cf54d8133663e1a06bef858de10125744690d3d4a4dc7b05075e506bdc9622f503c9106e4a7f055370624a29d7b50935e0c48dd52ec523da692ff7149eca7b6ecd05581d02c434686a0439338b515be14159205d66b1f14dc9f61378b41e81c74b0c174741e2af1b232d9405581d02dde4f71aff9fb1f5b1c670793b85202dcce5451b8152d3015a6a28820c18204101021920100398579774dadedb07faa9fd10140b3da36b4f6fbf83b7ae8528b219c13de806a4032d332a5731bc742b5638ccff858e69f27303e7bd823a58aa8914a8a27f09d05305581e033eee467e29c11f960e3644c8dd40096e40a1607581eb2b32abe09f95300c01470b51008f6b319c0219af3a033706217af7215dc685ff971f3b643ff3ee99cdf4266b60a571faeec9d4c278f6037892e7d05e9e002379749a4c63f6ece4d4959b033ab2b7216c7aca967367cf230362f4364ed0259aa9207b67ac31d29647916f705825e6ac566fc61df2ead1e67b03fcef5f582c5b7dd11d984b48cf143d6410ddad4c541a4ba3304417f7999be0f8033089a1f753a68223fc5be6ea5f8cd3302837289cfae01df0c3747669b578258f03da1a88b492de30bbb4502ce9e01f6ae241b248d56a668164ed0c1404fe9d62be03e0cd607bc8348d72c527e8f215e89a5d09d5e780bafdd6c76ac1170cf755bafd039610c001de82a8cb379db7ad9ba1c0feb8c61ce776aa115813d411d69bc4460d03f351539382e8b0490cc9c2e03c01b75c0c9daef54a70064aa312751f19a9f2b903f2f3b334214c115379e2840ab7b4219df4dfde443ed7d1e001b8cae38325e8eb03461dff7157ebbab9bf802d53714ac55ea814dc0835ba2fede99c812b1e0689e603450b85b607225f76d42f4fa4fc5a16f71ac67250a3e1cc9dcb32d35e7b27b0c1036e5560768d67473f96a6c4c72249d8e4c36cbe96ba743274b4469e4da570fab90329a0f7b1aa7d67529a81a666b89b1391c1733bc9f6948b98369e66293ff434990219ffff038375b0c7ad9f40c1d8e717497b9d7c1a853199483a04b7371bb2bf95850f5e1d0348b4f5ac85b76866f7319aadaf072c55e4c3d419c623b4c8d54e81ecac28a46b038307573364d62b20cb846ecfe1ad81a25e02552136eeae24a267d49221dd4e3303477c38bbd0a798ab3872d462ef49f8aa7e19cb650b1f16cf8aa78e6e15d963d80329bd3f6e82cec30bc0c9798ac479a63aa273dd35b80f326c87dfc0b1035b5eec03f99db743d50d56a2dcc5054034c068f4f7587cac01843993ff78c95bb56acb5c039cfcc2560b50e763fcf8f565c0056cffb99abc792737017e288ad36f210873020395ebac64b73ea6b0b4ed7f9181470d9dd51bb242b40bf53ab51c0ca5706571280371255d063fd657061af8eed9594738c7f672c4e4e8cb0cc0e8f772a50fefcc5003f61aef8b19648f544f10bbdc4fb9cb3defa91d0ceede9045ebda218f1f19cd870219ffff034fd4d79e1b32f69e87bd4d9889d23e765973eeb1e00e76c37073288f739007fb03ee6b94a17e0ed9566be08096333f9b2dc9f6615436952292bc60fce91957f86a0322b1b17e6805b51badc814de0bb4eb853dd85f4cd9bd61ade60a8719efeda4ba03092d59725d5507095f58b00c226e6b1c9191f0dfce6c03486205afa5f1ecc256037ebcb7d92a2b82f61b809c20e441627ef48ec1f28a549d529a179e31a6a4bce70340ef1bf5f39d88f410bf520b4a6a1df0d0b5d7e51a258134f230b27efffe21ca0219ffff032f9cfc756245a01c8f6995585e99fe7f68541203990ec27bea8a92f7a9326cc10351fef0626dd24bb00d11e1388bed7a785ca0a07b43e865fad600cb9087cae5d703db857a18cbe85b4bd2b895a2e0aef0057fee2d466739884ed023354c29f5a59c037c3bda7e07677c13d88fd39977610354b28f5dc55ed769f49c34286bdb0d7f3f03425c590b2e99b2566efca150d3208e11c32f1b4a0ecdf1b8afd785ba7713022d03b564faa3a94b4001be65a5c18a28a918fd619b964b54b308e51345cdaf7585f803e07bd8d15ba9554a1c3d78d7950c56f742d6635c3c73e2073e4b53d8e47fc2d30325c1fe1fd282a382318d570a4abd38c385c32020e89f0579a032bab72990aaf3037e479b64c951ff7241d18ab3e1d67b4cffa9942bb0669d58133aec86235df83e0315affc270090493a313b32d15d71fcfe1b3e55686dfc08649e95a16473323d4f03ea6ad23d9caf15022fc70528df24c1467cd792ace5e504f15f95697fa3b542cb03575b5a9ec4f6218b0fe8182fcb05b73dc73a8ab7cb5d3eee14ffdacce08cac420377300bb3579e64aceeb78b08a6546dd2f11f0258055f80f8a10c042671e14c8703e2ad944eb46556148959f645938254da2481af140a1b2d32b30dabeca499bdc70362042f391f1b52795efb2297fda496dbe6338c1fd4ea82444ce09e19c0bd10ae03f044751ae1f7cf99e6e557187920a2a801fbb574e7e06b311a16e7e3a6f6e673031f4ab4f0a4cb28fe063530735856488345f12068e7fa85bd4aa312f46c16153103c4708a30e14cad5202c5b7b3dc34cb19429dbaec85524b5e203192382cb70814033133d5c9e93d93b7b75f11d6f50dda893018d50b4c7d6c1d5ffedbbec8f49c6b037bb7713359cd89394570653fd50c70db79e467717a24031b436903045e0598e80384d4dbbb11d69875ed83b561ee90a49ea2de83da5b5516ca355a7b8234b5f7b60347dd81fb3e9afe384d3a457cdeea924ff9f3b512e7720028817bc8f06111954703cdffdd1a35473c1a7115566db3f1bebe80f3dfbbfe9c79085f55111dbe19260203564764e6fa4be385aa526384f002faf25a169bcb71ff7e29cee347e533c3ef5003950e075f6d130dbd9bdb68032b9795bc80d29151c91875981db2d21d655d516c014200ab05581e03b83e588407d8d2da9a6a90171ceaee4270cf24852032a85c273825d9e00c014717bffa7ac29c7e03eeef05f227b538d3b7275f7837e48fcee0ebd7f3e625f3035d5b21d7653646e503e69280d5975692d1f6052e72b7b77364e75a2fd1ae2d96e4a8d240b52d1ccf5005581e03b7ee0695d3be133add1741594d16cbcad83a4828a275819d602cac64900c08468fc11151e5c003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d02a093a9258522ed5ef2aa6817b9c6e40975dbac9b61858c5d7f27d7ad07011bffffffffffffffff05581d02f662a1472a747222faf401144ea8ec653c4b7f8fc99a019cbfa1c21d040102188405581e0365889610ece2fc090f72a88ec9918a5788ee40beaa808c3de0003343700c10470100f8ef9b7a0003ba628e54e02427170e48cda316cd92076e3bcfd151f055e3c528ac7b9706d56e03fd20e4aef796eaf4b3bcf0925e03745118c6a0de21dc2cfd6ca804f334f0d959037a92698a42f7d3a37a3aef7fa97efb952ff340416dda320d81b97a74b89a6b260219f7b90376889d9b325e2a49ed9948e79b1513a58fb92d1a0da16f355d7e69f25fbb7906032c534653a637209072a835713658205adf7d0da5ab052086414cd6f0fd669c1403ea3af8c628a32f8cd35c8123b9955440064d9fdb6bda67306242c7e3f6ee7efb0371f6bbaf7f2328b12eabbc985f54f4ac5945f973671f620947715057f28a17710366d0698a37fe923d64aeac104b90dea3e7f6f7f9f5a39bbe31b9f1892b8c23c103bc86db9592c267ba1f4659f7a08bf8f973115a063c05b1361ffffab6f7581d66033eebc63dfd2417eabbf086382d8e282d32302a2553acc6e7b7bfcae24b8997cf0382d79d697d12f8c70edc8b25aa4dce1f8a213f473b69ce2b7d8b0d992f8080d703b9e287c0704fcd081fe2e9bc22746276d2cc768ecb407ac5c55b70517998247d03fd49b0617f2dc9cb276ce2abf70c783e76fd5ee4e8c0d6f1d5aa8247df9bd33f0219ffff03912a7179d9826498522206babfbd22a0dc426e6dd33bb2e571b744b643060ebd03ee647a6f86102bb4ed4dda9d7d46c77e3fd27e466b5720024ca561f23a3ec78b03154ea6f01aa3088a3ad7ebba8e4a4577e326768e77ac62562e7d799fda878c4703305fc33f2df1d4b1e9901aaa0c1fdba69da5bf1bade0865cded3b5001b8980400323e8f57b5025125b269efdb0b91e4b29ca675b63670f592366798c89c43d9920035de2a664d13f94b1caa669a18892ef43687be40620e92de038b0afec961a94a30219ffff030547c04669df54a0ddb87db5ec24f932228ff0ce64abd4da073ecc7d42e340b10346c17697164e5c8d391de328d9819dfacd14edc528da9d311d1e2640dd3b4a9b03ecfccf0c985521e688c145cf9e8d3dfdf51e60897cd1c15212990c0c50c9493703bd8a24a7c329be84d20bfef40291462d1809dc66b353660bde80a4898813094103adc36a873121f434187a1565dd5357fcade8c5f37f96c1110fc5473177856eca0302fdc502941a12f079dbd4f7c5b9f8b7b9d699e4e9e1341fc02d83695be860bc03e17e632ae7878138cd60705cf38565b09256a08b7b0ecbc64e981f9c7cb8548e039f34e1428882ab24265ae471ca66b67a2b69b2621ff52de863cab2c1e6b0e4cc0219ffff03b6acb5ea5b51e61ca580ad719c6118af4c2b9f5902a2edfb18bb277c1f1534890340b6c7919103a35b6facef4100d7df962d1f52bce6717f35da836164336eb37203ce07e5f73282ca6b6b38d2a822553ea6c9576f25e4c22041cba2a796452e60c2032e6c4fad1f69a5cf25e982df24563b46b5208554cba52ff4e8fe7243a3ee552d03024c3cebec9bf509ef036cf65bf1828bf13013b5a9a79e8ccf701297fbcb5fdd034efeb93031728e65ca0392aba0b84a059ee64a8c324a149205b96ff79b88a3c7034c12133199edaf9fc2991fc37adec6e11a0092a6fac92ceee3864c806dd59a560367d2b56ec04199c4275aca5471eb9035f82cf6dd4a6a95ade3f9ffe488260414031ff27beb7aca35c4516eac38bec8b0112d4bfa3840b9f6d121580bf1679fecd60324c4c21bf6ef5937c904fbc143c2c1129ae21c98088488347214e9f222b149ce033f758715c9dc4ed33c6cbf6a8b6bb02930573870dbb9331f7479cfc9c260922603b4c560d3fcea81c783303627c5c088445f57a86079c383bd920d23c048d068530350740abb673c38e460ec950ac862b682fa2a872513cdd3467ff944721d2081950349c2a74b38acfc27bf8be05abe055a268fad1b8ccc7706fa41462d881adbd54c038535accba7a6483e3ed4a1eb998986aa012a3792246efc884bdc7df7b8e4600d031e914a6480f125fcab8e7586f80797aa91648f5a1338668332d9b635b8b079ba0324f295308008dc2bba74429e3baea9e4ef6cc29a0150180e2cd97212bdf0178d03c4e645c07503365dacfbf5b6891f4e0a79b2a03d0e16d2591a8b1e6c09a6977903293b6a21aa1b1835293bd0b0412c2570cc56845428d9e442758ad0b2092ea64b03c90280b189e7dae583bb6b6bec09d149b24938cecf88b5948abf11f2ac6cac7303bc044318877c15d0b70952033ca8ea725c46994d869dc41178a0ece860d88be503ac4d7124cdbb14cd2ee103830f3f6f3dd7e97de2be73208090a169824f2c6ad803132e8cb8967bc0be1c7477986d0be7c75a88a68aaf20f0e192a2642dd3bd1db90366b96aea9b849f4162a9785b2c331faebb6d1cd2c25a2a2ceab9b2cfe198670303b776f3f05aeb9ff7a74fbc3596aad98142f68af6c38555fa3250f80c99d3e5bf03baebee1a37a2c0112cc0f091c34f100a8d9d48f3ffd792ee0d36b08c5ff1796a03bf23dc9b135b18ef7caad4035cdddbc1eff96399b343e296c8ccbfa4d073bd4803de664fa5fdb62f6441e12ccd1534dd662a7ac1b63edcbc758fc6adbb0a0b77c503e588b0fa4584e9150dfb946e2dfe9ca5fcfd5e08dee6293112ae60f882dec6cc0398c05465cdcfc79f22baf7fb15d5c4a49ec7aa75f943cccbbf71b70474e33c5803f68287dacda8437640be38cdc2910b4459842c0e9c6bdabecbff4cca1c85fe1403ecb1b7913dccf39d168dc5970d2fce21a2fdc8754f08ffc4ae9be0b6028ccf44038926434a3eb9735a360f86f26ded5485db4de710ac503d7c2ef356ca7ca3a16903801fab1a00b876ecefddc1c059787a1585e972c1debe53a4ffdcec516833d5ca03e6918d769d15d9551e1c3e51af069c711269d9861056e2407d03cd004b9d080405581e039bad4153e6767ac2facf34c63e6a1b5fb0d95e126e924fc4ad5b7d7e3004040370eac61f27207d501d74cb8cb4624911f293aefa46c0d226e25b432ea4504abb04591b7f606060405236156100ee5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631962df7181146100f057806319ab453c1461018c5780634830d5d9146101c957806348849c5a146101ed5780634bb377901461022a578063515a20ba1461024c5780637a386e88146102735780638a74ee43146102b05780639b19251a146102ed578063bfd94c8c1461032a578063c10796df14610367578063cca97025146103ed578063db00b84814610491578063e34f713714610509578063eb58705b14610550578063ec556889146105ee578063f5a9855814610627575bfe5b34156100f857fe5b604080516020600460443581810135601f810184900484028501840190955284845261017894823573ffffffffffffffffffffffffffffffffffffffff169460248035956064949293919092019181908401838280828437509496505050923573ffffffffffffffffffffffffffffffffffffffff16925061064b915050565b604080519115158252519081900360200190f35b341561019457fe5b61017873ffffffffffffffffffffffffffffffffffffffff60043516610689565b604080519115158252519081900360200190f35b34156101d157fe5b6101786106f9565b604080519115158252519081900360200190f35b34156101f557fe5b61017873ffffffffffffffffffffffffffffffffffffffff60043516610880565b604080519115158252519081900360200190f35b341561023257fe5b61023a610a28565b60408051918252519081900360200190f35b341561025457fe5b610178600435610a2e565b604080519115158252519081900360200190f35b341561027b57fe5b61017873ffffffffffffffffffffffffffffffffffffffff60043516610c58565b604080519115158252519081900360200190f35b34156102b857fe5b61017873ffffffffffffffffffffffffffffffffffffffff60043516610eb5565b604080519115158252519081900360200190f35b34156102f557fe5b61017873ffffffffffffffffffffffffffffffffffffffff60043516611061565b604080519115158252519081900360200190f35b341561033257fe5b61017873ffffffffffffffffffffffffffffffffffffffff60043516611076565b604080519115158252519081900360200190f35b341561036f57fe5b604080516020600460443581810135601f81018490048402850184019095528484526101789482359460248035956064949293919092019181908401838280828437509496505050923573ffffffffffffffffffffffffffffffffffffffff1692506110c4915050565b604080519115158252519081900360200190f35b34156103f557fe5b604080516020600460643581810135601f810184900484028501840190955284845261017894823573ffffffffffffffffffffffffffffffffffffffff9081169560248035909216956044359594608494929301919081908401838280828437509496505050923573ffffffffffffffffffffffffffffffffffffffff169250611102915050565b604080519115158252519081900360200190f35b61023a600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437509496505050923573ffffffffffffffffffffffffffffffffffffffff169250611142915050565b60408051918252519081900360200190f35b341561051157fe5b61017873ffffffffffffffffffffffffffffffffffffffff600435811690602435906044351661117c565b604080519115158252519081900360200190f35b341561055857fe5b604080516020600460643581810135601f810184900484028501840190955284845261017894823573ffffffffffffffffffffffffffffffffffffffff1694602480359560443595946084949201919081908401838280828437509496505050923573ffffffffffffffffffffffffffffffffffffffff1692506111b8915050565b604080519115158252519081900360200190f35b34156105f657fe5b6105fe6111f8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b341561062f57fe5b610178611214565b604080519115158252519081900360200190f35b600080543373ffffffffffffffffffffffffffffffffffffffff9081169116141561067f5761067c8585858561121d565b90505b5b5b949350505050565b6000805473ffffffffffffffffffffffffffffffffffffffff16156106b0575060006106f4565b50600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905560015b919050565b6002546000907f61646d696e0000000000000000000000000000000000000000000000000000009073ffffffffffffffffffffffffffffffffffffffff1615801590610844575060025473ffffffffffffffffffffffffffffffffffffffff16632d3e579a30836107686112a0565b6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b151561082d57fe5b6102c65a03f1151561083b57fe5b50506040515190505b1561087a57600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915591505b5b5b5090565b6002546000907f61646d696e0000000000000000000000000000000000000000000000000000009073ffffffffffffffffffffffffffffffffffffffff16158015906109cb575060025473ffffffffffffffffffffffffffffffffffffffff16632d3e579a30836108ef6112a0565b6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b15156109b457fe5b6102c65a03f115156109c257fe5b50506040515190505b15610a205773ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600191505b5b5b50919050565b60045481565b6002546000907f61646d696e0000000000000000000000000000000000000000000000000000009073ffffffffffffffffffffffffffffffffffffffff1615801590610b79575060025473ffffffffffffffffffffffffffffffffffffffff16632d3e579a3083610a9d6112a0565b6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1515610b6257fe5b6102c65a03f11515610b7057fe5b50506040515190505b15610a205760045415610be257604080517f45787069726174696f6e2074696d6520616c7265616479207365740000000000815290517fc0feee4291bd5b20db53763b87864bd1434da2717d6a9ba76efa4bafa8f6a99c9181900360200190a160009150610a20565b42831015610c4657604080517f45787069726174696f6e2074696d6520696e76616c6964000000000000000000815290517fc0feee4291bd5b20db53763b87864bd1434da2717d6a9ba76efa4bafa8f6a99c9181900360200190a160009150610a20565b6004839055600191505b5b5b50919050565b60025460009073ffffffffffffffffffffffffffffffffffffffff1615610c81575060006106f4565b8173ffffffffffffffffffffffffffffffffffffffff1663b4ba9e1130336000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1515610d5557fe5b6102c65a03f11515610d6357fe5b5050604051511590508015610e5f57508173ffffffffffffffffffffffffffffffffffffffff16637ddc02d430336000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1515610e4757fe5b6102c65a03f11515610e5557fe5b5050604051511590505b15610e6c575060006106f4565b50600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905560015b919050565b6002546000907f61646d696e0000000000000000000000000000000000000000000000000000009073ffffffffffffffffffffffffffffffffffffffff1615801590611000575060025473ffffffffffffffffffffffffffffffffffffffff16632d3e579a3083610f246112a0565b6000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1515610fe957fe5b6102c65a03f11515610ff757fe5b50506040515190505b15610a205773ffffffffffffffffffffffffffffffffffffffff8316600090815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915591505b5b5b50919050565b60036020526000908152604090205460ff1681565b60055460009060ff16806110af575073ffffffffffffffffffffffffffffffffffffffff821660009081526003602052604090205460ff165b806110bc57506004544210155b90505b919050565b600080543373ffffffffffffffffffffffffffffffffffffffff9081169116141561067f5761067c858585856112fb565b90505b5b5b949350505050565b600080543373ffffffffffffffffffffffffffffffffffffffff9081169116141561113757611134868686868661137e565b90505b5b5b95945050505050565b600080543373ffffffffffffffffffffffffffffffffffffffff90811691161415611174576111718383611403565b90505b5b5b92915050565b600080543373ffffffffffffffffffffffffffffffffffffffff908116911614156111af576111ac8484846114ac565b90505b5b5b9392505050565b600080543373ffffffffffffffffffffffffffffffffffffffff90811691161415611137576111348686868686611551565b90505b5b5b95945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60055460ff1681565b60008161122981611076565b151561128757604080517f5472616e73666572206e6f7420616c6c6f776564000000000000000000000000815290517fc0feee4291bd5b20db53763b87864bd1434da2717d6a9ba76efa4bafa8f6a99c9181900360200190a1611296565b611293868686866115d6565b91505b5b50949350505050565b60003373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16146112db57336112f5565b60015473ffffffffffffffffffffffffffffffffffffffff165b90505b90565b60008161130781611076565b151561136557604080517f5472616e73666572206e6f7420616c6c6f776564000000000000000000000000815290517fc0feee4291bd5b20db53763b87864bd1434da2717d6a9ba76efa4bafa8f6a99c9181900360200190a1611296565b61129386868686611728565b91505b5b50949350505050565b60008561138a81611076565b15156113e857604080517f5472616e73666572206e6f7420616c6c6f776564000000000000000000000000815290517fc0feee4291bd5b20db53763b87864bd1434da2717d6a9ba76efa4bafa8f6a99c9181900360200190a16113f8565b6113f58787878787611879565b91505b5b5095945050505050565b600154600090819073ffffffffffffffffffffffffffffffffffffffff161561142c5760006000fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85161790556114773085346119cc565b600180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905591508190505b5092915050565b6000805460408051602090810184905281517f7bcdc2f000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015260248201889052868116604483015292519290931692637bcdc2f0926064808301939282900301818787803b151561153257fe5b6102c65a03f1151561154057fe5b5050604051519150505b9392505050565b60008561155d81611076565b15156115bb57604080517f5472616e73666572206e6f7420616c6c6f776564000000000000000000000000815290517fc0feee4291bd5b20db53763b87864bd1434da2717d6a9ba76efa4bafa8f6a99c9181900360200190a16113f8565b6113f58787878787611a01565b91505b5b5095945050505050565b6000805460408051602090810184905290517f14cba00200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483018181528a83166024850152604484018a9052608484019190915260a060648401908152885160a4850152885192909516946314cba0029488948c948c948c9488949193909260c49091019186019080838382156116bd575b8051825260208311156116bd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161167f565b505050905090810190601f1680156116e95780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b151561170857fe5b6102c65a03f1151561171657fe5b5050604051519150505b949350505050565b6000805460408051602090810184905290517f9b487f3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301818152602484018b9052604484018a9052608484019190915260a060648401908152885160a485015288519290951694639b487f3f9488948c948c948c9488949193909260c49091019186019080838382156116bd575b8051825260208311156116bd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161167f565b505050905090810190601f1680156116e95780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b151561170857fe5b6102c65a03f1151561171657fe5b5050604051519150505b949350505050565b6000805460408051602090810184905290517f14cba00200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301908152898216602484015260448301899052868216608484015260a060648401908152885160a4850152885192909516946314cba002948c948c948c948c948c949193909260c4909101918601908083838215611960575b805182526020831115611960577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611922565b505050905090810190601f16801561198c5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b15156119ab57fe5b6102c65a03f115156119b957fe5b5050604051519150505b95945050505050565b600060006020600085516020870186896040603f5a0204f1905060005191508015156119f85760006000fd5b5b509392505050565b6000805460408051602090810184905290517f9b487f3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301908152602483018a905260448301899052868216608484015260a060648401908152885160a485015288519290951694639b487f3f948c948c948c948c948c949193909260c4909101918601908083838215611960575b805182526020831115611960577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611922565b505050905090810190601f16801561198c5780820380516001836020036101000a031916815260200191505b509650505050505050602060405180830381600087803b15156119ab57fe5b6102c65a03f115156119b957fe5b5050604051519150505b959450505050505600a165627a7a723058205fc3b051cd4d3a14bedf637273e558e504ea8035ecf63fbc381dc56f0efa8bee00290058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0041010058210374fc7bfb50da53ed1b6da20f0c7bb33905075b272cabb00e9f98ea8fa548dcc04101005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354226bb599a12c826476e3a771454697ea52e9e220005820027d458184994ee8577fbd7a8cd16f1b7f74b2892f9cc399811f961c7d1ed50641010219060000582103767fe4661c99bada433ad0c57c79e81b3ae4328a7f73bbc9204e3b18b582a9b0410103783b07fa88e72cf3665f62c4264ba33c8b6e7be55bb42e90102040ca50185e5c0362dcd4b8005efbdc12402b4414b227ef11fca3c362af477e39658bf66eba1725031186bdb69d1af16e5de855131dc7aa844f565fa6fb426ab9bb12ca727d4bcb47034dd5bcc0f30a697d2eb14dd3f0fbd279ef3203e83d8ac0e6f896ca370524e6fa00582103d4d422374f4cf7b434ea4d896959c80c075a68583f70bcf0513dfc0c75599750410103f3e72a1be74e44f10481489934d03d75f3662691259eb03de3737902dcf0e17100582103834986e9ba20ab9cd02c769f7accd85f2b30ec088509817f8d6e77fc8b851640410100582103464074279d5d72dbefc24d4fbe61e2e1e1c29169909369a638f3c51a1a536e10410100582103be15abe8c2bb91610a177f906a22cba6a9bcb8f30c790a18db82934f056624f041010219fd3f05581e03d2a1fa641bebd61d618ef45dfaead73366c79803479a583f71fe7578300701191b7f03c3b5cf4c00dc40dc951f4e4b4c732402ea9ff1c095083cab7f400c90426f9e0f03f3e204732050c83bed20adb55ef70aa28daec0ed4b5c2bf236978c2048b17bb005581e03d65327e474ea5396a6689c94eee1a70919dda32605bbc1c67d070121e00c0546570760a25ce005581e031395657947911af5c2a833e9546dda7a71289d11be4b8e06b555bdd3a0040105581e03d102126ad5411328252be8e32e55bf25f167c3a7e1a673499c521ed05008476bc58ddc51ef50037d323a183a9b13c11d4ca5e3cd781f0da14e4679f3c353e9822cf65459de8d8c03d4ab253ab63b27905b9a481e8a24d45ef15590d15737dd5b6425a9f20c291e5d05581e03b658e301f8c055950450db8801f3e87d3790d74200de12d14409581ca007011bffffffffffffffff0219e07f03950a2e4df0f52aa28da41ad19568b85d0b0bfdb0e2e44ce5697ed57b6756a6db0327a720af781b7dfc5362c96dbaf45b6dc0cb6cfcd1576317d7bb5dba3a798d05034f09170c9f540dc00b358e28d407a113fefd93de32d5b5553eaa986b8b8b1b60033a8822df03e342729f277e53da9812b50d2a8242cbae72921d31695c7001e39703f1e974fa14fd40f6080ccc29532ecef5c859f044f8d8965b71a84b30211975f70219ffff03939ad353c6109cd9eb839250a7a2c460d938991fa271879fe7d7f497f7e2fd160219ffff037017fc7e6f6711d861481d262e01a7601eb46d830cf047ee4859ef703347a66003b259910a0fb377cccb3f4ca62e7ff0bdfe1b4769a04fb82ca33d60571efe5a6c033ad034175bc3bf0a43dea987b4ba113d824049b2e709e5abf1351552913c0b6a037c67463a72840c88941e636c800806f6556c3caf857ec0e232f560544e7da5ca03fa107805eb2258d0e994edf37d0f218bacb87cec0e3b414eb42035418b22c16103119fa854e242c3ea98a160b2b358c82a219bf9cf8aa4549d6dbe5a643c97937d035462579c839821e4c4e8b64288a5d66a33223b8f0a6137afc8b174760706fed90377d7bf03e5c875061fc2520ab5804fe97e26e5212898929edd7956d982aa1a3f0219ffff031391b4e5b512e1d1bf9b58b064ea325af724b276e2acae83a2d25649625a6d1603fbf68245e8b89a102d1fbf0e5e1c2bf1838dafa689b49b8d00c5315f05b56429035598ace34bd8050aa5365471c34056494dff8d9dcbbea258236780d91c69047d036ba618d5342d4229d0c4647f70a26f21bf7067b8dc615008b1260388930a59d203ac18b4eeabd7e919d0e1f11d7f19f71de114c3b736ebf185c825f0e5253bb39f032f3b3706b087fb5b0fc0c7da79625638757ae17cde12646cd458dc58d474e651037ce0d21a769b344015fba1f8b84a8cff09392f415b31977abb80ef17c2ac7c3a03a13b78f48b42869365c0250c028058b3235d63beb6236a0ebf608b20cb84edfa03a4d0389eb77b8fee8ec9973402ebdac71148fbe8918d9ea01d8709e414a860a9035e8a8bc3f26605126bcf80bb5709b3bf0d0d734fcf154b8132e7db5cf932e0170345a56472d002660568ed3a7d213633d72d32c80365d6e12db9fe5108f3c94b040358336c810ab256ea5557941d21a86de64d47901b3c44020cd102e908b9d12ec203846f19dff777c35e2d4f15c9c1d0bc924aeb71f2f773a20a337ced6ccae23f42035073eac5d63c177375a49cec577aca6af25bca929ea947d3c29bc212e8762a5503b26052106741555d9d9b3be101876cd8432c7df70374cab103b0ccf62b43365403aa92f748b50f9df6f6ec97090fa05363e14a1233e41c5a98e99843ca522f40bc03c781662138d5a008d542ac61ec53d775533bbd5012c9a6289d59651bff982dd003153fd7d0489894b150a65399738692d289008bfb84fce3409732f8572235c70803b5a95f6377963c93a11f280b807f4777e88e5cb0687261da6d514bb9393c1663033ca82a8c606596c2e8fd5d72d46fac7c39d19024ea666114d3d8ce5f27cc291703e273c0771a2e17c41490cbc9590ff74f3893500fa99305cc08893d9207d0ccd803323d00c7eb4e434a5f84bccfbe4e3150ce3a3f1c51a81fc415bfdf346c78bc0003afb96de8bf23290b4bf6de35c9fb8d412dacec66f7dd0e7ebd69916ba9fe439f036e7583e6ec6382a5143f12d4d655a2b03b441b418bbc13880f0bb82271f6a5230347933fb72c1c1b713cdb2dc5f691ffd20d0ccfceb3f90f81df9119cd2aa8dccc030ff171a088a0225b5494d83461cf305a9390926c13b150467f48d5b7728c927003f8692baf0423941710656beeb8a40071824e68f4d61fc5b3f36e509ff2a12b5a035ceade4cf21f83a471e1542c81931e76427bf736f39c78dc2299afa574b8b1cd034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e0335d65418cb8206698bf64ffe8500a8b3f351671dea87dbcc512148e76007011bffffffffffffffff03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e038286a5f1cdfe2c5a8a3eef73c06ef9443a9c0e6d90ae5462cbd35b45d007011bffffffffffffffff03ca5b3749623e744c7860dad9b1ac3c466c0cbff146e76ef29991eed92b529a9503dd10cb8701cf62acf7587184573d2db18021ad8c0563d525de566d28e665a483035ba960929d709360d556a6d72002243cb1a2b9f5c8f09c9d85a448e34ad70842031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e0300cfe6a5e5a841f6be8cd669b3f085fe9d17e7619c38aaf82094a4a8e007011bffffffffffffffff0333fb579d2c7dad15f83b4b3a040ffe4e106b79e57c704cd9a9b0919f428565700383baa4b265772664a88dcfc8be0e24e1fe969a3c66f03851c6aa2f5da73cd7fd03e6ba909e457389a7a11f7110f1aba65ebe000138171718630665c8c5855c25f305581e03f130dc3e588fe43ed5980664f05c98fd344fb2d55ac3fae74817a76ae00f01485345a1e4aa9905001bffffffffffffffff03be957b8cd227d7f662240c2639d4e2c3eae14507f1ad71ddb1e0b3b61a990b37031fa7dcc2a455fb47e4c2c6ad7f5e446b1d112ed55678d1d82d430532d9849da605581e03287e1381998e015150127af5faff1ef159c365d00ded90c89449ffcd000c0347238e914286fe56045906a860806040526004361061004e5760003560e01c806301ffc9a71461009b5780633659cfe6146100d05780633e47158c146100f05780634f1ef2861461011d5780638356ca4f1461013057610091565b366100915760405162461bcd60e51b815260206004820152600e60248201526d115512115497d491529150d5115160921b60448201526064015b60405180910390fd5b610099610150565b005b3480156100a757600080fd5b506100bb6100b63660046105a9565b610189565b60405190151581526020015b60405180910390f35b3480156100dc57600080fd5b506100996100eb3660046104f2565b61027e565b3480156100fc57600080fd5b506101056102d2565b6040516001600160a01b0390911681526020016100c7565b61009961012b36600461050c565b6102e1565b34801561013c57600080fd5b5061009961014b3660046104f2565b61035e565b6000805160206106538339815191525460003681823780813683855af491503d8082833e82801561017f578183f35b8183fd5b50505050565b60006301ffc9a760e01b6001600160e01b0319831614806101ba57506307f5828d60e41b6001600160e01b03198316145b156101c757506001919050565b6001600160e01b031980831614156101e157506000919050565b600080516020610653833981519152546040516301ffc9a760e01b81526001600160e01b0319841660048201526001600160a01b038216906301ffc9a79060240160206040518083038186803b15801561023a57600080fd5b505afa92505050801561026a575060408051601f3d908101601f1916820190925261026791810190610589565b60015b6102775750600092915050565b9392505050565b61028661039f565b6001600160a01b0316336001600160a01b0316146102b65760405162461bcd60e51b81526004016100889061060a565b6102cf81604051806020016040528060008152506103b2565b50565b60006102dc61039f565b905090565b6102e961039f565b6001600160a01b0316336001600160a01b0316146103195760405162461bcd60e51b81526004016100889061060a565b6103598383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103b292505050565b505050565b61036661039f565b6001600160a01b0316336001600160a01b0316146103965760405162461bcd60e51b81526004016100889061060a565b6102cf81610475565b6000805160206106338339815191525490565b6000805160206106538339815191528054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a3815115610359576000836001600160a01b03168360405161042191906105d1565b600060405180830381855af49150503d806000811461045c576040519150601f19603f3d011682016040523d82523d6000602084013e610461565b606091505b5050905080610183573d806000803e806000fd5b600061047f61039f565b90508160008051602061063383398151915255816001600160a01b0316816001600160a01b03167fdf435d422321da6b195902d70fc417c06a32f88379c20dd8f2a8da07088cec2960405160405180910390a35050565b80356001600160a01b03811681146104ed57600080fd5b919050565b600060208284031215610503578081fd5b610277826104d6565b600080600060408486031215610520578182fd5b610529846104d6565b925060208401356001600160401b0380821115610544578384fd5b818601915086601f830112610557578384fd5b813581811115610565578485fd5b876020828501011115610576578485fd5b6020830194508093505050509250925092565b60006020828403121561059a578081fd5b81518015158114610277578182fd5b6000602082840312156105ba578081fd5b81356001600160e01b031981168114610277578182fd5b60008251815b818110156105f157602081860181015185830152016105d7565b818111156105ff5782828501525b509190910192915050565b6020808252600e908201526d1393d517d055551213d49256915160921b60408201526060019056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220730effc08e7ae1c19f69ae08dd52de483b649ded49db9428e4ced9875431474364736f6c6343000804003300582002869573a657962b1f94c00d375e20f1e03ec879eacd9d9eb87ca0014f75a97c5820ffffffffffffffffffffffffffffffffffffffffffffb56ed5697abda5413af700582002a360d1d2914e1a8c992b44d6aa6ca4dbaa9aca7ea300b499766750908135c94802a3578e84242006005820021b83048f39a882abcb4629b443a8c8a1a48268814bf24bb529b43862d9451d4905dd42f23f9667c5fe00581f024066c33013fe88f66e314e4cf150b0b2d4d6451a1a51dbbd1c27cd11de2854a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800581f02170765cf96ff2f97890fd74fa01fa50f4cb2198f113ba3ffcd4f602ca2af5820fffffffffffffffffffffffffffffffffffffffffffffffe2d5dc5c427b3d0a8020601410c00582002832668bd0ef67a51d658dae9db0d585b25a98bf561863c95aaf401f8c1b28b5820fffffffffffffffffffffffffffffffffffffffffffffff96b66439ed9088a69039f6fc2fffc766d5dbd3c4eddc5774a8b3d2b3388ac47359b9a8491906c3eeb98021968b00325124087a9d3fea39ceee5d4285c72ba0c1f3f1cb8894fb7e697971bf8cfa92e0058200237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81442012c00582002c463d8e4453471091764f5c8ba756f2516b31594725303cc7463726a79bd9b46763747c2f432005820021f2b0c878528162e0c1e1c89af99913c23c45302600df8a4bc73a8edc9d9795820fffffffffffffffffffffffffffffffffffffffffffffe5a736fba3934d7303c005820025dda208a08cc1c99840812dc198a2343ec453d2ec868f757ef4e786e3a88fa5820fffffffffffffffffffffffffffffffffffffffffffffffd525b249ba4cd4e2e00582002bea1ab72bd4a1ad4c77ead8fa21636cdd9b544db366707ba097f29108e31c0480163591cbb8ae688005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563410100582002622f7ab0fd2f10e0b7f501cc87ede926f72f02b1b7d92b79623a2f3202a929470e07b403af716b00582002cc9e60353e6f4d6b1782abfac4625e817c811d75838b650e12f75e30791c3a4704f47b253ebe5f0058200278c63892f3f3157c372f9995a11c0dc3dcb4352d75e0455d053bdabb69458d4a01e2b94552cc7a19fd920219d3ac0058200266ae7b3c531a65a97aa883a42428e5978d6a844229f8b7446c3b7c66990c4c467ad82d803790005820024a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9582001f400640096fbc8aafbc896000000000000000000000000000000000000000000582002731222ee0d66217bf21db4b5144873eb7ed188b5c837a3d5eb5dcc9d80b49a5820ffffffffffffffffffffffffffffffffffffffffffffffbb74e312247c1fcf2e00582002494c7bb1c869c4c0b3643c6066cf83ae463d271a7ecc9a7354d2991d3f98e25820fffffffffffffffffffffffffffffffffffffffffffffffe44505fc2ea16a96d005820020888504efcb12cf802aa0af91283c62ae060b9acedae23306ddb87aa80d7405820fffffffffffffffffffffffffffffffffffffffffffffffffd8083fee431b59300582002f4ba019216a9d3cbc20c8ea8852adf7a650ef944221aa6b2bdebbf7f2829335820ffffffffffffffffffffffffffffffffffffffffffffffffb8c97681edc4ffff03ae121f6ccd0b3c19b13e820c55cf285f1ff9b690cfd5631815a4ce3821e130ea00582002ad7a508de40ef8d7ac86fe369c66dff78a5a74ccf0949e5bb7991ef22880b0467638e837de97034f63e1c5eeebab48a73d858b9853e76481bec2e8172de69c061480dcaf30948802197f30005820029bf6e27f7cc11db477ecd8b96a4e8ce34741e21296d9b092829d9beeab5d6e4796f59f91bb24a200582002a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae5820472d554e4900000000000000000000000000000000000000000000000000000a00582003b3eda5ccf0206abe77b3c5f290772fc5f7a327af93108e74b42faf9ab342404796f8a7257146ad005820032ca43f428ea69e24d6a1713d76c2e5fdd42942c1b2fefd67bf27fe4a965e6047094ccb7522249902184200582002ec8ab761b93eb6eb41d61eb06423c2a3495a6a7d5c2aab668e6df9c3998da447173192d4479c0d00582002ae03aa6300a74b46c25d031c48ed9de6cdcf18cb02d0f957abb97abef632f1470611ee884e42af03e2e9d83384e0d9ac0625788258e31b86d65b1ee9f69cc0d9f18316ce34e87869021904d603496570d1ccecf3405ec70e5d606a3dbd869813813155fe3e22ae9a77a49d354a0350974c042c18eb10f67ed0425c8ae85c4d51cc104331659690ac2818f1336245005820039c50581d6622505422330e9cf3197f7d97741a69541673eb00aa58a4549260472353a706163246005820036009205cd7ba1c07894c23af1db544c5a88752d8db90bf7078254de7be51405820ffffffffffffffffffffffffffffffffffffffffffffffffe135ec03f23610ef0219c000005820028cb5f7896ebf1294d02f81325a10cf1589b4456c737acf57e02a2ba14c533c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200352fa6b5b3b2faeebbf8463f233fe704f678788be9020b553b0bf9d1164f3c047016fd2465effa20058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054b542d5cb34ef265fb87c170181127332f77973690219081000582002a4d412f8efc5bbbbac6388c9c3f6438ab163f3a510e8c7981a5245d939e81947095791ec5d986c005820023567a895d4d11f44e2c78e9c7ef8b72c4783fcd471a44d17328edea8584d62475e1eaf7395fb400219602c03831a866ae351e71578b336a4571d5968d3ae4163e99f673fd661f92a075303bd03cb4a68f7766a49d6a9cfad557118c3ccb011cd64632f72b9c264c01f3c0ac9a0032bbecb0fac116269d0ba3209fe312cff977fe5c9204916e179c916764facd21500582002c50776fd2b2fe42690a796d2d74442577041e7f66916602e4bf50c5735f04a5820fffffffffffffffffffffffffffffffffffffffffffffffa1881f1774018c43f005820023fdd9a87bbe3bf1005510ac7b49504df3cf4344a5385f8cb77c999c159c34b476318591f72b6a4005820035b9071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c04405499ef7005820031062d57cd26eede0b4a77542e9210ca631c7260db634a556309b77771b51004812c733164ec1ad06021909000219c24000582002a29cdbaffa109eb82e6658a1e340bd1da7d6978a5dfacdabd60deaf054a33b5820fffffffffffffffffffffffffffffffffffffffffffffffffa4ff82ad638f52700582002bb5acb184c316d1327a483bcb12c589b38548568d113d19b32f18ba4057eb0475d9705be3a978f00582002004cdfee1cd4613e5ff0f159000ac333bc5c284e5553a393a9062a3f8ec7d24801c040d6206ea50000582002a9db4cdbea0a37c207bbb83e20f828cd4441c49891101dc94fd20dc8efc34949058c871889981d09650058200295d419ec4b258d2c39309fdb3b71f1849dec25b8db5a156745424bee1bc7b15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200242ecd77a5553d03c72290a12d2cd6e2ef10124455cd167dcd9b32e1a8a38ec471796d43f4b951f02196924005820029e02c22a417edbfc0929d0d27046a8a23958dcb1c5fe863f21e119362aceb05820ffffffffffffffffffffffffffffffffffffffffffffffb3eb43cd153c286f390058200243d6dfb0385e1d2e5077da33998dff0839900376df46ce9b9994aec64f275f470e377f43f7520700582002568e4c66dd8cadc90926b0359aafa14c9b13f9308edb0af1ef250a6eaea0bf480160198ae76fef9b00582002284d6eb2a724a216f9b822ba0bdd5e9caf542f911a91997886acbe0c62d3a14a04a59bfaff1bdb90764b0058200204cc14d6c2908eafe1ca943ed14e3d3fb2725d8537c194d5d1ff8417ff687747282ba9a8a98dc0005820034bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d04a04a5ca3c5c223edf9a27005820032a20ff701a1f3e14f63bd70d6c6bc6fba8172ec6d5a505cdab3927c0a9de60546b175474e89094c44da98b954eedeac495271d0f021944000219c831039477a5083fa19b10ca0db5522a44ce35d8c21cf327c4dc01e150b75e18a8478c00582003e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7b0546c6bc977e13df9b0de53b251522280bb7238370000582003f3d925d25103b2b6931743529cb68b7e859d6bf29106c7e228beb74bcfcd604801bc7d3bd73ea9590218c0031ad82127a25d7142fa3ac63c39f45c3288336b00422264795c1569064f9e7e7e037767dceeb56c4a65ac10ca0832d6f0857331d83fe2f39b3f169c0cb55ea3cc05005820023ff28b99b7df834a51c89e147ca02cab93c9dee974d2df9bce01b5b0713ad04902c0b7717ced21546303202f07dfc9e47d4b5dfe25ceffdaed77ecffc2478ed2b3db1773102001efd3e50058200274622f4af2e0ef76f28f412bb7bc0bf3c383fbf54ce2f95209c11b0b822f595820fffffffffffffffffffffffffffffffffffffffffffffffffd39811f3cdf6056034fed21f3f758a04fd853754d452dcbb82f6022d3930e6dc214573f53bbbae03302191c6e03ee2b35eb9a5cb435f993cd3fd61972e64c9b1d1857e300c91c4217d6a4be76ca03ecab776ca043cb4987d784be53ba2dcbed37ee1914c9f8ead9ddf3a03a7cfb1b0219ffff05581d02bda1aac707b0155a8522b29d75d8829e686eb9e09f4e3b8ba62fa65c07011906a805581d02c89dad2373314f786d76bcd70e3a2567b70a3ea8a1af06b6752788890c0c465ae8c06f9e4802188105581e0357516d93b3a47c1cb629d8b8f84951790b70f56c3d6d7a16dd9872e8300c181b465ab5024a15ff0219e7df036ee19fa59b0a497681c70dbbe3330ef853e32a01dffa987e82f15c38202d77cc03653931ef10c2ef4a573536a1e47700f6d73ec25493fa5df2ab36024ec20dc666033a08646dd30385bfb1b70ba2839d1f49fff43be0f3d328c5210238c4d6d70f7b037b2dbf3ccf25450e2fbd69629bc003b36908068405b1e9c790be150f89a43ff70309e2a5f11d1d03a1944eaf77dd927ca0d61d23370b5419be5de2e93c0f4d528e03fef4a178ff50162bff7f82ea4e363cbc945542dcba9dd170322a730b6a5c9ad20346e53d78e5a60d7d99007a1439dfda9df950a743785ee5eeb61382739d9ffbe6032daf4c0509f76ad368a9b2e33054e9f2bf5527eabad904cbe9d6d8d455ad32150219ffff03360791dcd6d7c87d61089ab6fedf508cacfc47897fe3d237207782e08edef9e5033029fe55678236d3cf76bee92ba684f1db4dfeac90487d872147d0114dcb2ca5031c9e9f96fdb61d358e9eb223b3f275f62d956fc99b316e57bdf3ca338bdac3ab03c81e37065c924d6d04ef918fcf548e9f16326d985c02a76183f561b5c67f51fe033433572b705054a6bc9d2429cc9ba25107d254d5be9f37c7a546bee88c8a9b7503aa8436f1e82ad0ccf5e4e39917247cbc95226fad1884635905f7f73b0dbdfe3003f40bb0b37172584bb2dcbba1c7ae0ef3527fcc890fddc24707ecc80f0dbb6ee303365ba1367ba74b26a90de795d89eb5f525038eb07e303b7374d9918f424c08ff03dbed9a5650c0d007d3394b4f1333fc03a844f95ecb30b3d24d699b8afb0f23b503c0d9b7b620a37cc3195bee2eda1378bd14801b4840cead440456ade130b0673b0219ffff03c77efafe8e840605c7c7f94c4c87f36ae0eb1f8cab585faf73471c3301dc26df03af72fa8fb99145b621da2bad699a7e5d592d9ae92d1dc09a9b2cf51cc73fdb360219ffff0392b6e2c7cde97ac7aabd20514a65d8fc8c11d87821f8cd58a018e4633542d26003eb9168f896e909f40dcde489bfe2a1556e1fba748a6c7f093a2712cda3ddd0de032b924052e596044ed06c99f33483ae00f1f4b06790a1013ae9521da539981874039459c2a444fdfd85c007409e7422cc95bdf7af0163e7b4e840d1860c135ac67503bb24024f5f73714dc7be48245f3ee664754138afee04bd0b225ea6c8310485c303a84ececb7aa82a8d4cdc1876c60b54c9a94a5b028b725ebf2217b92d47a7f75203188cfab0b10e581f25c1457357e2eff72f381cba21f64bd231d57b1052ca20a0034c22259f875475e7902e355ac61cf803db2c10a85737073bd778665c7c698e5d032284c72bf18f49e5983207065c3aba862e45dfa4f875a1f4b118c488be6753430302fa8df979f39d07159bc143811ead266294364f78196d86c3a3acad858f2baf03b29f5105db84a3c5efcc0f9f476d2a32a26e54eb3d20b1a94b4e64bd9db92c2e03d98225f495a152da4160fd1f7fd0583148da962c527a0915633410fe43fe4cb403f8acf978e7714cfc22cf5ecb9064a2527f83c14442cb4667bf9b6755b700db0d03b6b78f173de607b84a08d8102e3d58a9d881653ca4a5dd6ed38ae2c3bb8cf1280347d7298141a884167399b74472d8d39ac2eea54afa197a8df78c56ed7ac53c6e03226131ff680a3ebb778e235bc869dbbd77ae0a5373dc4c9fbf440befb5d3cd7d03b8fdcd53385c27c6c5f2e6116029c3f2c5e382b25855188ebf924fd1dc48501803afc09b39828ba9f32bb1abd98e0860ccfaab464ef83280dc20fa0918507e4e8603c2f7b382f1ab4ec6a4abba82784612d940f8bc5168abd90379ca7c39e36e24f90323fbae60bb69875f324bc03bfb3aaf55bf34a42628ab45d80066d30c0c0ecb59037e7886b95befdebfd6634c01202f827c4d0da95a369e8180bf1aa204cc36e8c503b6dd0093b29b7b243095af4b4e15172a77820f99eccb4bf474f663f1015bd935037c1c8d26b9aec6c6b999dc80ea209ba62fe235c494228d214ee854b2f890a541032436f35b77350242ffb81c7e735346fdeb1516e26105cfcd55b4f6e5cd88557f03dad7dbea6270e361115f86965c9810276dacf9c6518be9fea7e75b22f4baf5b0031ac365ffb0795c2d1e8eb9c10dd1e1b59c39de38deff6bc432ad4a794126977103ccdb898745c520ecb7e0ec2c0e7f7129e31bf7cd375fb0c70ff713f24cdf601703390c6d8a5ec2882fe3db58edae40d0ffbe0f2ba5fcf775899b4e5410448b4285036ded5011b91618cddd3715d66ef58a60fa3e1632281153a9fff0d2bdada3a4e1036b67a525c3002c46d7f130ef58448fad54c6633d8e587f402b63ef06496130bc05581e03f2441c16f10367f4373314b931a73e1060d103e164f6d81bf4ccea98400c0147016a5ebab8d187037d01dd7265d17cb692f48274979792179c0240fb192c1329455b27b61d7fdeff05581e03fc762c746c60dd732d3957b94cfc0560bd5db0796da112cb9b5e9398c00401045904e260806040526004361015610018575b6100166103e4565b005b6000803560e01c63c4d66de81461002f575061000e565b346102245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022457808060043561006c81610227565b73939c8d89ebc11fa45e576215e2353673ad0ba18a32148015610207575b80156101ea575b80156101cd575b6100a19061024a565b604051907f5c60da1b00000000000000000000000000000000000000000000000000000000825260208260048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000033ca97c0b4df29103dc8da00a967884f165afa9182156101c0575b8392610190575b506040517fc4d66de8000000000000000000000000000000000000000000000000000000006020820190815273ffffffffffffffffffffffffffffffffffffffff929092166024808301919091528152610171604482610305565b51915af461017d610378565b501561018857604051f35b3d81803e3d90fd5b6101b291925060203d81116101b9575b6101aa8183610305565b810190610353565b9038610116565b503d6101a0565b6101c861036b565b61010f565b5032733b52ad533687ce908ba0485ac177c5fb4297296214610098565b507386d26897267711ea4b173c8c124a0a73612001da3214610091565b5073e80a65eb7a3018deda407e621ef5fb5b416678ca321461008a565b80fd5b73ffffffffffffffffffffffffffffffffffffffff81160361024557565b600080fd5b1561025157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f496e697469616c697a65206d757374206f726967696e6174652066726f6d206160448201527f6e20617070726f766564206465706c6f7965722e0000000000000000000000006064820152fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034657604052565b61034e6102d5565b604052565b90816020910312610245575161036881610227565b90565b506040513d6000823e3d90fd5b3d156103df573d9067ffffffffffffffff82116103d2575b604051916103c660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610305565b82523d6000602084013e565b6103da6102d5565b610390565b606090565b34156103ec57565b6000806040517f5c60da1b00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000033ca97c0b4df29103dc8da00a967884f165afa90811561049f575b8291610481575b50368280378136915af43d6000803e1561047c573d6000f35b3d6000fd5b610499915060203d81116101b9576101aa8183610305565b83610463565b6104a761036b565b61045c56fea264697066735822122022a6f8a80a3410719e8504e9b42af008259446db5cdbc3acc5d20ff3f8f338a464736f6c634300080e00330058210365132811df6b5613a478768e4d5ad03017b82e3cedd0186af1591d76fa86f26041010317a8abb2140fd4e4944cdf602bb42761b470056cfee98dd351a689134f128c5c03d8c3b967eda809ede9fe64dcaec4fccbbcb324fe5119712665fc3de73ea50fa803cd98b98f15369101e25c0e5f79d935027fc35e741ffaa97d349c469e9958c79200582103837248e0d5eb6d1c01c6b42f270fc090737bd9fd429a29cd27edca6cc711e4104101005821030e47b333d7626992d184fcd9890a06b28e0b896e992b7a7c109fba5bed4ccb3041010058210312f0d875933edb45ddd5d99b911d3b874918a4b7daf1f5fae34760f125e29760410100582103854e0c6e49e987dc003583f739738978c4bce3fdb55077e8e1e46a83630cadc04101005821039fed33e3768aef5084d11cf1d80bf3d6d96235c28126db01d4c228d20d2e4290410103d2c231bd5226aaadcd40e82d1feec8b6a0ede16265f6ccac6be7b04de6ad7efa00582103fb1990a622d46b00df2890450fa956cf535bd5c24460b366e22f7061a45e31e04101005821036452f670a1d097007815124c4263188d0e90d7f9839f24eb322fa087464661b04101038d9f89bdedec2cd303e5551cb6239203f6a60d6b2a5dd5770d38e3807949a14902197dfd05581d0208d327b05b26db67ef36212ee6369dc15b01337dc96e997a65112d9d0f014901456be7facebc356c1904e205581d026f0d4b39e33e358d8ce482b5b0c269c1857e65f9393538acae8333a90c014713d2fafdd8c0000219400205581e035f2d4352b4e9ec55db31e8dbbf1a2651f5ad9167b879712207f5b3c690040205581e0381527657d52f2b7c4d0a9c519cc4f50746458968f96fcc767f5a244e200c01470f09eb5c11dbcf05581e03b76393f2e56d31edba1e86bab7dfed7d4d296f48ac412acefb0b62d390040205581e038b706e85108bc9eeba22dba3fb0e4695757907ccacc38459ccb3a112700c0247046129f28ea82105581e03246a8570c160d71b1484dde0bac27a9b22ee83fc99fd7aa5ce608a5e100c014703242b81c93dd80219655e039b74df55df18fad5d3df6a34d2cf4677e57cfe5bc97de95746b466ea3694aaff03027665fb899e4a43b405e087132d47ee0aba5ab49f8396655e0d0b917598141d03a0f069f2d36ece55acfdd2fb82390c34dd94eae00137461dc3dac3f3d45c86bc03b66578f1e211dbbdadd67397d525e19ba68e00a6327f7c3f1c0725bc101579be0326bd00589dfff5f6801d3abdd8a81625c9b698f12ac77e655d493bc173a1a1340219ffff03685958d4e2eb1a4fd0d84b8ab4334f19a5cbe5b8cbf24df96bfc93ba93ea4ab003f1d769d5649d00a3ed00ccd8daa4ab9af8d2f82b2034577f1aa50d850ad76f3b0219ffff03ad26bd60cb5e74f4ea9c12b642b5e0c1bfde1d37404cdc464e3537ead89bbee8035ae04795d28cdba3b4776ce3957273b376824c52501315ad2b0f4b7184bc0c9603e6b87eef5c2819862a96d878d22c28e5a1a22b08dae3252a291421247ed047ad03d6b5179fba8cc4d0b2a49c5f250e494f7817684291ea89572ce13c80f6c5f08e03d36c480f3ab4813006743b85f63a567b54784a6167a8b903a0b3d3fe6857e284039bfdb55a46b67c1cfb291b613143a176d3689229c3d25450571be97f2979e3aa0355d4778e6c8059f2d8234be4d187f97c773286dc817023e6715f1e8642fc873503ec2aa3967db4777edcb791678cebb8e1a65cb7baef62a101d970a39780ff177a0219ffff03900f510ba17b59fa261ead5e8bdb63f08d4b0359bddb47f7e4584ac28fe3d2f3033e0573b50088fb5767f253debf695f0a79d51cdee93ac82edb074bc2b98c01cf03b1fecfda8a233b8d088704b57b7255d02ebd7c03b60c781903a2e6c809daf2700219ffff03d3a1def5560444956a23f76a2d2584ab22754168f5d1d9e7fcab6cf18a9df3740219ffff03a1b466a2c1dce0f45e151057794ab25a76d80046dc7333b93515a892fbe830a7030888db5aa1831c8f5fa0acfe6352332f03882e0fb7cfacc44afd6d89b444b258031bea438ac6f5ed8b3941f2c853aa9a8b9a95d091970873b445241bf6eec963950371e332eb2aa75a62fbd95bfb5477495e1187f90d08acfd3abb73c339cb7766f10391b883fd66463c73c416fc2003d212019f2421bff0c1ca9e183687c326eb5082034fe08046d5d1c18bdbca91a0a93372a47d4f8b729f71870da51e531329781f1f038c17bf3ade5a1acd79f35f8671109aee152792b15d0fe6dc681c6e21d92fa7b80337edc5727cef7413f841f381a64dcd4b41a9005e5eae67914c744f3d34bf59c8036d79b3517e8017b3064dae3c88f28770e3d0189ac3ab7dd8b8f40b891cc320c40353611b9b9a3f30fd77ec986bf5e5a70131083ae8410adaebb235a0ccd8011d3503581e39a14255c999987b055637464583b5ec6670fa733818768ecac81e32e5fc034844d01b0297673e3593aa823b56f2d2c76add25795bb99bc04a62403e6e7b5003b35393b559cfe1bb3aa0f3f813b9b29406871d1e6e30664545a413a3f6dbc83b05581e039eeb306e42bf56da2c27cf14f0afa2e8a4b55a396468e783d2ba4515e00c01471b973fdf50eac503f124404908afb96630b02fe4f20afd97cf4eaa1d4336c934036fb96b9dc64bb005581e030259676d668055dc1342d565885a7decb9d8b0a5b794e2ca7ea4ab6d100401036ed7504e42ca184dff717de16ab317a4f2ca3bdfc5a36574ceb7ac609c92e00105581e0379c838c0c82cd3007edd7326598cd546e6a4416b586100b1b30f5331d00c014702d0692720680005581e032eb990387a82de52b1a63745d2e5b8805d89f73e3f2da9d53078002e90040105581e037cdc470c19fe3c9b45e5c5ff6fe4004dda63fc69c87f07126d392ce5c00c01470233e2ffc2c00005581e03dc96e4a1dfca8ccc97460c30cca8733e2170a39b0ec962456a74565da00c185f4742900dfd5debf00219c55a03f4a26d7e3ad1bfa425f02aedaed1afa5a6439895681e9b82050fd74911e7adcf039c8fcd25c3dc2528c4224f40d039e13a8d38de68846c8c9d62dc1eeed7d701fd0345836aca7dc5b8a5cfb455ec132c83586974c60ef00333182e9cf57f310affa60356075212e70cce766cf660bc5363ae45a213c124454e8d41a91c9a39dec58a9303d98006558b81fe16e564e0cd1f74919243198bb7f28819a636efcf6e73b95e10037e93d599ec09eb3d5d0c46a5f9ad1b7bce9e00904cd55a93f2be7bfe0fea7305030280fa484c8f278b90064de7329558901b24e6e049746bd0c83b73c5aef05a4903d46bb4d7f2c89a10694ce2b6205a924f3e5baf4cf85bca13d5c4d738243601b303b97304fcff27e280af78aceb0935953de4317b1a00141c2edfeaa5e52162d9f203b4d1d367244c71c7dbcb7084dad6b34a935948148fe70bcfe0b845903dc935cf03ed1014e888542545377c83be5ca793d0ca804b7df382275b9e29f3c9f23f4fc103388e0e8de187664d378b79f9d48dd387d9ba2a85ae6536d41593c6ebf9348dbd0398e4bf04fc4be1564d7d2e2f4211e333d6bc4533cf24ecc9453dd8df23e5298d03ca2fa3675de92c31ef5fc4ebce8fe738eb39addcf820456089d54327f155863d03807489582ad42463bf736f24a31864ae986bdb25f1518dbdbe113ea2a1b6d87e0219ffff03dfd15a411cc90a6bf15768385c1115f33bbd1cb7f96de758a0cf375fbb64cf9403bd2b151164caaa2e49125736d4810ce68d8de0438aa58f18f50f915eda93603a0355d22c9312c672d4fde35122ea5b6ab7196e7d78fc1ade21b3ca7141742f08b803dbea83becab937b60931b5dee5ad1f540cf3591829053648e0c8baf3ec66c03603124d7b0774e5fb2a6ee74370ac67d78d818d7732e8313c28413d96f56de025ce03cdeed7d42e7ef747e7e06a13b6587391bb91ba31939ec9a774aa86a1b1cdc3c70353dc479ecb09d51e3a54d522a0e73b231dbaf2b20977293b01b7571760866dce03e62662a60352b156435416936eb3d7f21d647485d538bb7ff1ecf969371b995d031286c8a10355b2882ccaf9b1eaf25b6af8d0312ff692c68fcff4a9a8396acb29037e9820d7e60be5c74732fe4acd6eb34171e055b4ee893330eb00ced358cfcc6403b5dbbbc417a91d01c2343be7f24ef50e45b246a71731fa06a7802a15e90b51b2032b1dbc8de53f68efaaaa1d0c8dc1dc50b64336965c4e1b1b2a2e6972030653bd03c3cac43d109eba97e04279795aa6e8946d4532ddfa87286347b2d6585f0a6000038edff127b4d57da5f45a3603f9d996df0049195b5f9601cc3b32f2f255f9e61b0219ffff03e71d7c97243a06cda0e1f30c5d392093c02703f2fb9aada7eaf913367f29c37d03234aa309b3dde36cb317698b255b897075b4b61484ff135d3ba973ea449d2dff032c91eb0cf22f48bad89f5f742ee3d0ef5c8088c7350caf3b55329aabfd9dda510219ffff0320fd602110df31f69c32d08c86142c91c3ad9fb0a340533dd60e39f38c91585a034b46c6213b2f91115bb07bc2359c69e97f48a8f64be4d3da86c1a8dfc3dfb1500399867c246bbbf6feb7f57553381ffde6b3ca275550b0f0b4f15c40a7fc4bf65603ce1a3bd97fccca73eb07ea002a9bc41ae857b3bf4f0ac1cca7fc73e99735bb4a03cbfe141e4ecbf1ad9f6b8598236e2f98172f31d6005989d4309049cb642312df036e30e8953ca983f3ad3d0c4b7e93001e2431cf1dc4ae8e6c1c3eaf546a394efe038c909476f8a0c3d4c43bcce84e7d1b57e6da54f1daaa90f1d66a8fbc2d98f09703753a9e09e22889283edc0e8fd72b27f950628afe513dcd74242661b9e57435b7030e151bf0fc2110829a2f9d1b8d83ad3c652c1fcf7cea4b1bd4a695196b223b1e031954bfaa748bf92071b79f39c43f48e1300513b2012854cd74911e8fba417fdc03a3a98420ed9c6b4eb846f8fcb4742c49c48d8e77b32e5664e43b6302855948bb03da606a079823c3146f3163d8eb3fcf80f08dc0468d78ad70e6fbe46e27fa01680319889ba885eaecff93cb1c616f3e9e715b933a6d1c71d0207d2f52544f6bae0503dece3c83a8ef534970740e660df09120fc27c1d6f6418489d830a66844aa3d500344f50a78b79212593687721faceac4ece9c9f93715ed7d6fdf3fb4bb7fd0034003671791ff2b591928ffe49e465d59f195aa98752c3c2c9ea76e22488fc5ae7816039ffc1bb33ca6d98264590c399fb0556c4fcc6544105e74edc6eef4d307822bfe03331ef6bddf16646bc2df5de3c0bc2175d6410b3f073f592dfa98679ddb5ee00503da081c51e5e4d6d52ef7de2ab1762bd829827621102a9df62c0e1a0bb0fe112703752d598209fe889fe753aa5cdae1e752214ff4af61130f9ce5209dc17d908e4c032122d49ea58f7c3e72c483802e19581a9093d95082f2283db71aaadaa05a031103ba643df7c664c826cf44317dbe613aec5f8fa98f7404ee27fa7321b11f1e565705581e03f4cad10e6546ca38a90cdcf0e20508bfa065f29b0f31302b1a4d41e4e00c0146098cb8c528000383ddb57951acc7263116f612ecf46c60af99a898ca435cb506c1aabd04a2c7e105581e035e8dd98276a843860f69358bb84a947a8bc9999fe1317ee3d056d6cf600c0247029c7a85e8f00005581e03cecb871c8f54db15a4ceb9efccb87145fbf19dab594bdfdd27678efae0040205581e0345ad9890d5542538e98513357e37eabbc1c359008fdcb72541a78c97900c064702d79b8aae4200031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03986699d8a094fd45624b9c040646df85f056c8e32eca560ce364b2528007011bffffffffffffffff05581e031d402591d4372277c43e30defb2ebd45c60683f4ffaf6e98c589fb8ab0040605581e0344034d54103b9d810a66fa9c14bd8e91e3fa7bfd6e5d01714f54c90470040205581d02155fb9bb4673e414ead6301fbb70cc325b7f1c5c3d5a9b406fe9f06e0c0b4703cda5e64c059d05581d02e6761e6b13064937d13a0fcb5833af30c96915965cbc7b2e437ae01d0c0946aad1e67d92a005581d02c40458670ea9af82f482725d75274f17aaa170da081ad4905b5eb0e90c1a001030ed490691d383f24ee855a205581d02e3c3dfaaba9f61f81813cafb33650f04291322ce828c0968dda5b8d30c014701e97e9bd163070219288403cab2c6d6d20078f51e995c0e5a53f0f6e9c61c5d4cb1175d6d49155c974c650a02197b72033f30cf368dc7f9fc5fdbc0b8cdd0d7e4b7104e36f9bdba5e4c624c43a273ff6903ad1d97db3a4baaf4f063668ce82a5f2452839828477a8283e1df1ca207a12d5103134d8d1596107f5ac582ad4453b0e038aa912dd4010b9a83ed04a9c1c80c7c2403d7bc9b32fbbf4c53d556edb7f0242d31108e6ce7ec115c03caeae58a030351b803829580a61b3708ca8ffcf4de696b5e6f4d7d1b57184154ebf8bd106951c7742d03d85341dc8758e972ae78dc6f98f715b4059daec987e61b33e1a39e5d7089b0a403830deb6fe620dd3afbc991b600000f7096d80050139b0a7f662ae3ee146b75a00308288918343079c5da37c2d8acd69e2cebab897c7d93139d2b24540c7a2ad86c03e13fe1f62796533601f36febbd00f6afadc167821bc0aee80caccbffd4a4ba1003998b9776b74e62da7a6c81b4652e5eeeddd90a115cd399b385d6835da64f88f4038dea8688e6e494029dddc310b8ea502d588722319bbf7c4aa0b784737e21ad3a0325a1189cc1bb30382f8bfe5a6680b528eedbcae45b4f886bb1f333a6c4fd7ab9034472033c8b8b007846de591bd305a3dc7184c3a185b76b4645d54c67d404d07c03f1104941dbfc47c82a97c37986ed9c3ddd98cb6c8af99f157a13ab89c81b5f4a0219ffff03268865febe021df07baf342623a55e4e3d5cb4b3b39f6c5a30bdc68be22acfd2034b82f6d545aa0089a910a7cdbd8870b3f26a97c0dbec3e03c31dd566bb256a43032f6217368fff1ab738d146dcd33e5d6de1cd9a5c9b920429af8bd79b6c1661fe036dc0c3b316ec3b4989b6120e86bac1215b2fa0917f1f3616b9d2023d1a4f856b032e3df2d831a03e8ae69b119636f0f1b6cff150457c56af9b52ec5c6430b150fd03248cf116d140046167c774c0aed8343d7e5cc16f80bfe13971151028350d63ff0361cb11480f8f4e66d0409edf66a9366a934d97335129fbdcda45c1c2851ece9f0219ffff0313734eebb7a40f04ef568659a59905f43e6688c6ce45cef8f88dc9ee4f7aed0f0333980f99b4db1dd3635e0732375eb2594f718411e08b41fd1b0330db821b6af703add0d7df2f3a3c22076a3c74316159ef042207df613e9ddec21e9a2055c18f770311fdb116468f1c66eed5fe935395e1b09ee7da4f1c1a3ebd762441c6eb01c3a60219ffff039304349ba50c56f5273bd65fc1ca75fbd584f24c08602f0686573280914c629903c66ada5403382d37b858c16bdc106377ea59a721b67967821bc3d34af1d48aad034d4d7de226f28c92ae8c354306124c2349ed16a467c1a391a7f6967ebc1efcf003cb1ad58ed4468fc697609bd37acdece168f9488b188f79ef018ea02a80c8944803bbbf2a70b2f9b848d4143023bd17b11e26b3c0fb3125f6a97a68cedb27471ef003a1670bb503cb01063bfd11ce9d462109c3b07042ccc20bf0cec8021ec703edad039cd8dc0b7667d7e0b78afab79ff1bee875c66fb39600a9ad9bc9ed1c1d31a9a703f210c66a1587b02765eedef9aca29a09f72f3e7ddfa481397b4c418b8a6660c203f3ef59d814c3ce181d8f88c3830793d3fa053d226f247f49c3124f6d1c8a74a103e988fb1d7d7cbc207d076044526047afc1f1fec71696935c1e9718c4a1c10a1c03946540fff62d8b1f101f2884ea71ae789bbc618efa1c132015c59c946809024603013a92fee52e6192112ef7fc27850fcc081cd506195dcc7aa9bf97b7ad74907403e9f46d06b1f5da45d45b138e0e62540a2c9ce8627125d8d86a3e214a0e312ed6034f4ae2e449a5905c4fd665d1850bd18baa09f45fb693a1c5a5267a4ed1db8506031a77082e60cc798ac9a642c718801e9cde4a4b7ac99079c8fd022d70c716561a030eb4399f2452e4bac26ffff0bd6749fc485b1f4706078ecc3bf23d38899c621503cc0862cf7e79909ff23c99eb7d90e751ef03184d98977f8a9e01532e8b0cde8d03a7cae8f752d2ff9c066617beaa3fd8bbcd668d00cf59bf3c55700a6f9dc3aabc03e2521defc34243cd4c3c5b4d725bad98b2a777afaacfe80be18b37b7305a8189039c5cfd2c5a834c7efde43a02b62f3ddd90a183383fc4cc4f10027a30bdd39b7003c16faf7dfe6e36624751fb6e895ebd9587e46dacd0a4f5449d3c48883581ae9e03d557da75026cc2e000ef59b2760407a4fc6714b9ca48e27ca66d0136010208c30357384940d7b1eea0e2bc13270e59a48359c0e90128fa389371f6b7da9be47ad80388cd27a7b758aac1459bb17826eb03adbf9bd2889d3ce2ef72aed3d22bb0dd6d03d2244f80ec8cef521fef7e5d6ee4e35acf43bf4d9c9e197733d25b4395e8d1ce03f4254390e9635b4daa6038944c13992e9ed235c3c148b099fe3cfc86c660f8b503a1ecd2478f67a2cba31c417fd0613d26091980459755f0c65b550dce196e9f3303985931c0190f9aa514ead32370fb1b052a7293434d28bac9d23cb8400653773603eae18b67f6e4f4aa1ff31f8383ae31f0e3934a5d9965e1143f95b92744a6ad9e03777155ca6bdeeb5e477fcd877a0cc0e0e425c9ad5064721b32584735972aee89035139c3e9529b8dd7422c3218c53cc1772a12f52124815c238bf94b5b1d39313603187da678b206e7b8e4a200e7ece554c29f9d0a644dce4c993f4877b3b131e7c5030604763bde4bae78db1ec8d33dc636b70a564a0de18e70f333bac4e482e1a2df05581e03fc227a67343bda72a156512cd95ab1c7541c1bfa8cc835d30bfcb3e1800c024404c4b40005581e03e21d5c4f94c7afcc33817ec4aedca708315fd1910177c91503626efc800c0147011d9d8d355fb805581e03da26bbb7a15e68ed4904824025e602737ba520e24b0560fd9b5843b4100c0247026635a4d8b25005581e037c717601d3aa63e4bf15fbd6d60ce7d59dba002a9f2c551bff87bc50500c014702951b26715b0005581e030b2ef3da9bf3637e6caeb0e0c245fe3da613a8568d62168af041a0b520040105581e0322bb418626911805428b27b137d6b611fb0b34bccb80238a80f4bcdd100c084715741dbd1cfba20384e5cdc3f72f86af61073f5d7802df58260bd592601ab12b40f56f8cd1ef431905581e03f48bdff6c7bb488df6ee440056b85daee12dee0dccd72befb0843cb3d00c014717b99b09cf600003a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03b2f73eb3c9290134567b5f0a01f8d51a31130bd7895d03b3b13afc7dc0cd9de905581e031ea46f13d2bc25065caceba4461d40b189950cc59ff28850c9050e7a1007011bffffffffffffffff05581d029a3bbce473ce4bd606ae0ec3725de4ecdc1fc6b64c2ebb6bb0ea93d90c05464fc76b3606c805581d0256d410c9449bac02ec5acf026ae63b25ba4f0ec90d4f945a4ee7c0d70c064741c9a37b0a19100219050005581e037a765198a9b4b3c31c97308dc607728a078ae4fb075aa9bfaab09f86e00c0246a8fc75fce1600219de9d030d62081c97c610591217d93711012e8b95bf740512a1be96e7ebe2045dc673a803e29927dc3196f6151a1c972c1240096ab95d9bd9d4b906d13cdfc2b0686c4aab03c30d47d12f44e14517818c873dad4cd15cebc3299edf9a1236f00d0db8f97101030d18b8ef6d9b9133a7bde98645ffa890c37bc97678beeaeaec068ef92172e54203880e5e1500d5cdf811ddda69195f33d909222303bb02ab687574dd21e8e0de4203c267cecf378b31032615a443cedabd6714b2bb94a75c1f0958df75dc52b5cc3103e7f1d6807ec86a8f9ccabd64cb00facbb4fd1cc2283a2cd9b68e5467b62d0b5e036e8368f2716d8285cc8a37547cd4009dfd717ef80c94a9d6d32d2efce75bc91d0361e919467a46648284fafe2fc1c934a89c54e6b889172e175c94459e709ceef50343bd98adabdcf58a9f96b37897de34e881785b6ee12eec093ce4274dc0988feb0399cf294d536d9776eb583aec722692a26d2c3b94b530481294e94086834c2b3a0219ffff034fc11d088ed7085501c4c4c9f4446cec3d6ca9d3ebbaf32988803c019845084c03e2ff249a363f56f44aaa21c92e0546d5ff7283c6f83e49491cdfd55d27b2ead2039f32ea89721b340991a21a4bcb9f0394bb2a7214e93cb033cf2ddd9e09c6b3aa03a80baaca439d8f3fd797d1a0a722973bb1561c0416b3839ca3a065dda19da6ec031f5918ea26ce306318d0b5380e444d50f6b467572c0a9cc5f3aaa13d0e7cb68f031be55a0291d4774feaf3df2d0dcc38914de2ced4419b01f5ffe9181fdd616c0a03b92e34d2e79d44ae8f5de555eeeb074f3e6307f3133eba57d9e8c6442f89339803569f0d1c785d4567a1095167ea67dbe77d65062208cbfef6123591775178094c039f78efae9a51b29b883d9773e22ca3f1773d7018d609298f8017cee5187fcc1c0219ffff0337432f1cad19f18228febff36cd57f5a0567ac02eb5cdb9983b3a427ffc2380a0219ffff039a3cd03b72a13f907180de4467ede1f5983b764952bec260a81acccb7d572005039f4dab101d1bf648b4533e137787912872e16ce0b9c116398b57e483a1656a080219ffff0326333e3b5a584aebe90a26f270ba3249c7555d4090a384e40315147286eea51a03c29625bf47686abaab6c2c72e471959cacb630f1943e9b1feb43c453530f129d0381ada8c7240ef70a116f8eece21c12c9cac5d6cfe39fb57417c09bd337b385050326a9fcb58cf6bae425595e242450765479b6ecc6092bb746ae295219ef1942b40301c57ea54b9dd81743d7af1eff0e9f6ffd4dd7c1cab7a48b06669a10112b5dfe03e598554fa96d538e7c81f7589ef13d5dac2142085f692f5607b6489c16e5138003271c1796685079878744cb753ded103308b5aad200f99a6eefe3d3312d426151030fd7a7e6d6a95387a49346313cca0792dff0c9a0c97e561150c0e8a1840a75e30358531447ce11253e1b2c716341050c610af3347fad8e760a2eec870077cb08b90331cf20faba60f6f210a25de782d9c1ccbd2366f25a5040cf47fbe38a33d51d2203da5f6eb842656f9d99b835f743dcc4b06e4b9642de4250d79b56f9654494172a03ac6b389786a9224623605a96ac2a553ac6e525f2c50b786c668667212b19036e03d47c022cb8336de35d770089ac0a042e97910d836eeba5edf61b546154d6ed7303898bbbb93c8bed9c708ec686084d9b192c7c83f5c01b8a44bad058c0223005ae033d057f2f653331be9514a5bf8da29ef063ff90e52eb82407cce070878e9c239803701db5a76d2e4f3aeb97dca88b1005359ecf35d4c11a0109be327cdb1baaaa79039255f8e7e86701a3cfda35ecc6609bc12119b1969a4bd5745f0a0c46a0a465a403264aee8751e47ddf7434b28c55994f83eb8db1dea677a73cbdf05e1628c6c443036bff082630ced05647043383634e95a2266e05c07998476f9b03635b13f64ba90387d6876b259d6728ed308c1c117ebb1f100ec4d9f62cc6b5a22f5b206df964a903973c0d3d1fc7df57f62e6a842f76766e59d09f2176d507abc906a070ef5ebdc303c26296b91cb721d0dae1b3772bb839fd0a1b43f5f341c3943cd9b519d59e3dbc03944df16164b8e1ce8eb222c458f9a5fb3616838b0a7719aea459cfe0e99f7ee6032a0d8733a6b0188358c1000df1ad94aa8bf8b6268984b1f61bf82de95d5d96f203e4d4ace0cba2370a647cf0f1c58e3cf8dfca4d0e15067c89d469b00ffa808ea5036d16ee5906e63537882cd82c72e1fc145443342c57fdb0896093addb8b8fb32c03e2fd6843ba885620c2daefa392b06196f1f66351758f9af9897ee35ffb6cd26e03bbf6a8acd30bc9113abfe2b9f8e6d537af5cc5c6c4788e8645ea3b887f5c9257033b1fde0ace3c16a25cd1bd37da6fc39e849213a63a08fa4dbb7fefc7a930ccb203b90e69552ce98e7250c5be4a35f592c5e8e8e743bffda1d3b226a13a061da11303c3af1b3f1872a936c3edf5db69ce1dd36dcd64352247bea9e6d4e0bfd92410de05581e0354ca37af369f0f1182aeca9fcabfd35975eec707731a3986a2a81ec500040205581e03289211f3436203ac0ed8edc9803fc2bb0e70555401c73467b54ee2e820040103140583334ee351804d70e155e7b29819f4b43e0a7f1fb775760412c0834feb92030638bac1d77d7dfa8e25a53a936068fd2acd0fe487f0b30c01f59218992f6c58031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e031a2d861e23b61e643fa183126143b7c8d3821f9fe96524e839b7b8d81007011bffffffffffffffff03ffcd0baebf3c765795c2ad761436149e86fb11a8b5876548f95547ea4691a10f033b89c5446cbcd637cc2e43dc92d063dcfae494b56574838fd29045eeb0276a6b05581e03fe392001c81097c6f22459209b68e0c999949b2949c0451704147026c007011bffffffffffffffff03220c51fdd7e77f08b3980285a305232b4ac7f008706c66a7c0a502a5edda4ed705581e032273a9aa70fa90fab439f0f310929fad0f7356b9ce93e68b19285d8e200c0147129d7735c2a3c305581e03a259221d02aa4956eb0d35ace318ca24c0a33a64c1af96cf67cf245b6008480263df5aa469a19b0219e1ad03430ea61fa4a23be8189ff1464cd62e70286a13bd45308f337ce528e6ec3e9f5c03a5eebcca8c889808690f907060f9b6bf4cc5cb627ded7a608da3c88f7d03c12e03a8660a37ce3a0426759430fdfa99ed49efe0eae9ce137945d65f264bc3f20a97030fb59ddd620cfc909f5ed305d3e8e49c4b0cb6302261da47a7459e1a3722e3e303e342b3f7874a926cb78e63ce26e417be20c21f4479439966f391f8cd15b1f3ab035f10f0a87ca9e5c69de89d75e2e7c252eeedb9cb0d01149ae19cd2300888811d03d8f5b23911633b1cb9e5b75f2d78aaa215aa400a7b7a4db8206696b991f0501503126d3255990aedd4b7b5f8b78a64d8f235839a272a33ce5db2dee79c50ba25d50356fcb3b15d469157df3d3561a1776a104e243408b75e7265783748f7cd9f3c560323d8e6b2ca6767cb9be58fc65fe5ec95b65609131bc1a38e92e15db2c3fbee600374a33d0b72d86015f646f2605154f10e5fafb1f487ca5793e81f2188d934c24b03c8f1f430491f563e5aa73ec5fdbedb5594bde8883df6a5a65ef9a45d8c38d5ad037430163dd2947e380cd3b1ecda5221abe5f21e21c772c243f4c4042599ba6fb203c3acd19f4703cf5e380bac0c677593720a733be296ee30efcd7037478c6799c10219ffff0219ffff0390ecd49c062f0aa451b3369bba0e51907dee80f1310529a722d92cd61f8c70400325495c20fdbff9e75ffcb22472f42d638f081a8dd5108b2dba680caaaf6b2e9b0219ffff037d5471a5da262d1baeaed4a00314e4a94f5af338fb9457ffd2ba4d7542188268033c09a35b95cfd7c236f14c833a0703cb27851fd126c31a448e672d94152ff73e036fa3acbdac1216a07fd963ef143d96f8e75b50cee775a355f8812667f41ca1bf033620a285ccaa8f47bdb78c47b013ee7587ad0e0c65d7e7d16ed8fd1864b7815e03d2a30a59439d2cffc9f98409115a2633d8262549b116ece02e0879cd2989d9af032dde1ed0c7417eb8f198616e9691f7dbdb4c37fc3e597153b3dc08948cead48c0357039cf6fddce5b1052257e042f13300afb0989ecbaea2e4eda4b8f98b4406e5031c8e11035a8bc75277154fb698cbdbe420221dfaf46320472fc6b9edd4beb6cf0392eadbeae9eeb6064af422ec8543cd074db45d425922ae26bf20f6ffbe75ea250328f056f7136ce121394557851519ab928249b8cc38e73c6a304496ace442fbbe03ae89fca40affdc9ad66afa65d8f0f9d7fa24e9cb5f7576b231985e67f8aef08d031b9ebfde045ded1d8399852de00ba466a5defbaed29adebc63ee7633f29ebaa003b065fa3253dab594aebfacddb1d4ec2f01d983449629af5eb567308f119bb79b032c1740b6c7397d48454b808c6dc09a563b9be3861890ad1b5c8e66330aab909a03f9b947452d87565becb55087bcc210bfcabac51874d409cab389bc26b0e6733703e15f5d742c0c14b079cb692246b2e1bb28f8084ae61b2b630230fbd48bf0a4fa0350ffe6230fbde3e0ec5392c47c6ae27194d4133b25c7c5051fe5c3d8252a308f03aa90050b446f250a519214ce7a5271bc1d9f6db2023d86efd1c8ce66d97564c103a97cb905214b5afd157e0669f9241f13566e134159f62298eedbdb67cac60d30035fec88c030452edf874fd3e5b092b6cc12b946558cebb23c98d04cecc5f22e2303b6a828ff35345041f048dfbbbbea4a88377930774bbf756bdf795d9851260c23032c33b08ced01977c73b854c0f18ae334c6b976e8572fc6fee5b8dcd5a6fac8ae031085b82ae01bc878a664d73af8bb40dfc79fbd8fcf08acc2b81d8d6ec4a179cc03c04642da1cc973245b9da868149835b880ae5698f766318fad0fbd2b09f50a8b03e0262b9cf814618530c0389d47c85d5fc052a62d2e03ed0104d128eece3305b1036e3dd6d980fe59c5dc43bd3eb60b83fe13de10a31bb93a6f3362d598ed6bc4a60308476c2a75d0d6cdc820e053dcc61bf74a5c5f7525f47d3806aa9cdaf84b17d303a13e9aaf7a4e0614af11fe66acc1e8b752e4698a1ba0b0ab11030c6751a4a598036d36c3d614c8a6d31f9190ade2771bd87a7baebee080812aaa4976670ae5b4230325b80a69d65a1b6eee52612da8e5d0dc680392b11924b91f4617b3308838b29b05581e033f3b30fdb00c4e98493adbc7849698340ac542c725df6bb8f4c61a97c00c03460eccc543c08803d8e2a349d60eb33ea15194e708ad4771f65ba4c2103c501ca7c1ee306904cee605581e0355c589dd34d20f88f78d4a1fb03a9ca7c91d154b1a21fc2828ad0459000c0e4718de76816d8000032b6d5397c7c2a4e891bc3c06af189fe9f51eb0ee2a85670539b69cbd16b6ab18038585bc3487d16f44fac9fcfdb687ccd1666a4899444d793503782aaf1cb0938d039ca81264d6d4c2df2608ea87891610163a9b4a6bc099b57f6436ff6b1505f67005581d02fbafb1936cc89072be3c7c0c96281f0ce274163880ce60682ef5b6ad0c024702adc42aff700005581d03380df32dc9fa5a4bac43b5f9ad1481f392b9ec17279fc5f8295f75e00c054667f5414c939004595df56080604052600436106106625760003560e01c80638da5cb5b11610347578063c54b7358116101bd578063e6b4d60b116100f8578063ed3940791161009b578063ed394079146115e4578063eee21c2d14611604578063f020044f14611624578063f22395c814611643578063f2fde38b14611659578063f3db119114611679578063febeb1321461168f578063ff75eece146116a557610662565b8063e6b4d60b146114a2578063e6d35655146114b8578063e6f0ba61146114ce578063e826cdf1146114ee578063e9a16bdb14611574578063ec01952b1461158e578063ec7373ce146115a4578063ecb24fb5146115d157610662565b8063d6ebe4fe11610160578063d6ebe4fe146113b4578063d7c97fb4146113ca578063d835de06146113ea578063dd2c094814611400578063dd2f6d4b14611415578063e0fcd66614611442578063e37e1dd314611462578063e449f3411461148257610662565b8063c54b735814611260578063c94c7ff414611276578063ca067ad014611296578063ca24964b146112f0578063ca97f5201461130a578063d173d16814611324578063d3419bf314611344578063d385014d1461138757610662565b8063a0e69fe61161028d578063b69b2a6511610230578063b69b2a651461116c578063bb905c751461118c578063bd9a548b146111a2578063c06fda8e146111c4578063c24b7197146111da578063c25190d4146111fa578063c37a57611461121a578063c44ca1331461124a57610662565b8063a0e69fe614611053578063a4acf05114611072578063a4e9f29714611085578063a5b63cc9146110dd578063acac98dd146110f3578063ad11cd0514611109578063adb9875114611129578063b56c61051461115657610662565b806394be3110116102f557806394be311014610f5b57806395044c9214610f7b578063961b294a14610f9b5780639624b2f914610fba57806397881c2f14610fd05780639978924114610ffd5780639e1582761461101d5780639efbdcd01461103357610662565b80638da5cb5b14610e985780638e32e31614610ead5780638ec14dfc14610ec25780638f46500e14610ed8578063909e376d14610ef8578063922c317a14610f1857806392bbfd5114610f2e57610662565b80634fc7c972116104dc5780636eee2dad116104225780637bf1b562116103c55780637bf1b56214610db05780637d15132314610dd05780637d5ee8e614610de65780637e5ae4b714610dfc57806382ce18c614610e2c578063833c7fc014610e4c578063834e91cf14610e6257806385ea000514610e7857610662565b80636eee2dad14610cb75780636fccea8814610cd7578063715018a614610cf7578063729a90c814610d0c578063734ab62514610d2c57806375794a3c14610d4d57806376bcff4e14610d635780637813e3ad14610d9057610662565b80635ca2034a1161048a5780635ca2034a14610b655780635ca58adf14610b7b5780635e71cc7c14610b9b57806362e6ba5914610bb1578063662162d514610bd157806366ed6fbe14610be75780636bff950614610c075780636c4a8c1714610c8a57610662565b80634fc7c97214610a9957806350f7c20414610ab957806351e9a59a14610acf57806352695aa014610aef57806354f604b714610b0f5780635544986314610b255780635a541fb014610b4557610662565b80632e9554d3116105ac578063424e65751161054f578063424e65751461094f57806344004cc1146109d3578063448883d7146109f3578063448b775314610a0957806346dd847314610a23578063482a527814610a43578063489da8ff14610a635780634e47a79a14610a8357610662565b80632e9554d31461084e5780633186d3c9146108685780633764d26f1461089557806338e692af146108ab5780633a6a6ca3146108c15780633bf27cf1146108e15780633e2aec28146109195780634025feb21461092f57610662565b80631064a383116106145780631064a38314610748578063118b8daf1461076857806311b1c1011461077e57806319de5221146107ab5780631b9401cd146107cb578063243a7b94146107eb57806325782210146108185780632626b8291461082e57610662565b8063017193271461066c5780630181de421461069557806303524005146106ab57806308a1c391146106d55780630a1b494d146106f55780630ee9a59b146107085780630fbf0a9314610728575b61066a6116c5565b005b34801561067857600080fd5b5061068260845481565b6040519081526020015b60405180910390f35b3480156106a157600080fd5b50610682608a5481565b3480156106b757600080fd5b506092546106c59060ff1681565b604051901515815260200161068c565b3480156106e157600080fd5b506106826106f03660046153d5565b6116fa565b61066a6107033660046153fc565b61171b565b34801561071457600080fd5b506106826107233660046153d5565b61190c565b34801561073457600080fd5b5061066a610743366004615477565b61191c565b34801561075457600080fd5b5061066a610763366004615477565b611a5a565b34801561077457600080fd5b5061068260b75481565b34801561078a57600080fd5b506106826107993660046154cd565b60be6020526000908152604090205481565b3480156107b757600080fd5b506106826107c63660046154ea565b611ba5565b3480156107d757600080fd5b5061066a6107e63660046154ea565b611bd9565b3480156107f757600080fd5b506106826108063660046154cd565b60c36020526000908152604090205481565b34801561082457600080fd5b5061068260805481565b34801561083a57600080fd5b506106826108493660046153d5565b611c11565b34801561085a57600080fd5b5060af546106c59060ff1681565b34801561087457600080fd5b506106826108833660046153d5565b60b26020526000908152604090205481565b3480156108a157600080fd5b5061068260bd5481565b3480156108b757600080fd5b5061068260895481565b3480156108cd57600080fd5b506106826108dc3660046153d5565b611c21565b3480156108ed57600080fd5b50606754610901906001600160a01b031681565b6040516001600160a01b03909116815260200161068c565b34801561092557600080fd5b5061068260c25481565b34801561093b57600080fd5b5061066a61094a36600461550c565b611c31565b34801561095b57600080fd5b506109a361096a3660046153d5565b60a36020526000908152604090205463ffffffff81169060ff600160201b8204811691600160281b8104821691600160301b9091041684565b6040805163ffffffff95909516855260ff938416602086015291909216908301521515606082015260800161068c565b3480156109df57600080fd5b5061066a6109ee36600461550c565b611cc7565b3480156109ff57600080fd5b50610682607d5481565b348015610a1557600080fd5b5060b8546106c59060ff1681565b348015610a2f57600080fd5b5061066a610a3e366004615625565b611d76565b348015610a4f57600080fd5b50610682610a5e3660046153d5565b611e21565b348015610a6f57600080fd5b50610682610a7e3660046153d5565b611e31565b348015610a8f57600080fd5b5061068260b05481565b348015610aa557600080fd5b5061066a610ab43660046153d5565b611e41565b348015610ac557600080fd5b5061068260995481565b348015610adb57600080fd5b50610682610aea3660046153d5565b611f17565b348015610afb57600080fd5b5061066a610b0a3660046154ea565b611f27565b348015610b1b57600080fd5b5061068260c55481565b348015610b3157600080fd5b5061066a610b40366004615704565b611f51565b348015610b5157600080fd5b5061066a610b60366004615477565b611fae565b348015610b7157600080fd5b5061068260915481565b348015610b8757600080fd5b5061066a610b9636600461577d565b611fe9565b348015610ba757600080fd5b5061068260945481565b348015610bbd57600080fd5b5060c454610901906001600160a01b031681565b348015610bdd57600080fd5b50610682609b5481565b348015610bf357600080fd5b50610682610c023660046153d5565b612069565b348015610c1357600080fd5b50610c76610c223660046153d5565b608f602052600090815260409020805460018201546002830154600384015460049094015460ff8085169561010086048216956201000081049092169463010000009092046001600160a01b031693919288565b60405161068c9897969594939291906157e5565b348015610c9657600080fd5b50610682610ca53660046153d5565b60a56020526000908152604090205481565b348015610cc357600080fd5b5061066a610cd236600461583c565b612079565b348015610ce357600080fd5b5061066a610cf2366004615868565b612111565b348015610d0357600080fd5b5061066a612166565b348015610d1857600080fd5b50610682610d273660046153d5565b6121a1565b348015610d3857600080fd5b5060c4546106c590600160a01b900460ff1681565b348015610d5957600080fd5b50610682607e5481565b348015610d6f57600080fd5b50610682610d7e3660046154cd565b60bb6020526000908152604090205481565b348015610d9c57600080fd5b5061066a610dab3660046154cd565b6121b1565b348015610dbc57600080fd5b50610682610dcb3660046153d5565b612202565b348015610ddc57600080fd5b5061068260985481565b348015610df257600080fd5b5061068260975481565b348015610e0857600080fd5b506106c5610e173660046153d5565b60009081526090602052604090205460ff1690565b348015610e3857600080fd5b5060bf54610901906001600160a01b031681565b348015610e5857600080fd5b50610682609c5481565b348015610e6e57600080fd5b5061068260965481565b348015610e8457600080fd5b5061066a610e933660046153d5565b612212565b348015610ea457600080fd5b50610901612246565b348015610eb957600080fd5b50610682612255565b348015610ece57600080fd5b5061068260a95481565b348015610ee457600080fd5b50606a54610901906001600160a01b031681565b348015610f0457600080fd5b50606854610901906001600160a01b031681565b348015610f2457600080fd5b5061068260c15481565b348015610f3a57600080fd5b50610682610f493660046154cd565b60a06020526000908152604090205481565b348015610f6757600080fd5b5061066a610f76366004615868565b61226b565b348015610f8757600080fd5b50610682610f963660046153d5565b6122c0565b348015610fa757600080fd5b5060ab546106c590610100900460ff1681565b348015610fc657600080fd5b5061068260c05481565b348015610fdc57600080fd5b50610ff0610feb366004615477565b6123b4565b60405161068c9190615901565b34801561100957600080fd5b506106826110183660046153d5565b61245c565b34801561102957600080fd5b5061068260855481565b34801561103f57600080fd5b5061068261104e3660046153d5565b61246c565b34801561105f57600080fd5b5060ad546106c590610100900460ff1681565b61066a6110803660046153d5565b61247c565b34801561109157600080fd5b506072546073546074546075546076546077546110b095949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c00161068c565b3480156110e957600080fd5b50610682609e5481565b3480156110ff57600080fd5b5061068260b95481565b34801561111557600080fd5b5061066a611124366004615477565b612650565b34801561113557600080fd5b506106826111443660046154cd565b60ba6020526000908152604090205481565b34801561116257600080fd5b5061068260825481565b34801561117857600080fd5b50606654610901906001600160a01b031681565b34801561119857600080fd5b5061068260ac5481565b3480156111ae57600080fd5b506111b761268b565b60405161068c9190615980565b3480156111d057600080fd5b5061068260835481565b3480156111e657600080fd5b506106826111f53660046153fc565b612800565b34801561120657600080fd5b506106826112153660046154cd565b612820565b34801561122657600080fd5b506106c56112353660046153d5565b60906020526000908152604090205460ff1681565b34801561125657600080fd5b5061068260aa5481565b34801561126c57600080fd5b5061068260a65481565b34801561128257600080fd5b5061066a611291366004615477565b612861565b3480156112a257600080fd5b506112e16112b13660046153d5565b60a26020526000908152604090205460ff808216916001600160a01b0361010082041691600160a81b9091041683565b60405161068c93929190615a01565b3480156112fc57600080fd5b5060ad546106c59060ff1681565b34801561131657600080fd5b5060ab546106c59060ff1681565b34801561133057600080fd5b5061066a61133f366004615a34565b612894565b34801561135057600080fd5b50606b54606c54606f546071546113679392919084565b60408051948552602085019390935291830152606082015260800161068c565b34801561139357600080fd5b506106826113a23660046153d5565b60a46020526000908152604090205481565b3480156113c057600080fd5b50610682609a5481565b3480156113d657600080fd5b50606554610901906001600160a01b031681565b3480156113f657600080fd5b5061068260795481565b34801561140c57600080fd5b506106826128fb565b34801561142157600080fd5b506106826114303660046154cd565b60936020526000908152604090205481565b34801561144e57600080fd5b5061066a61145d366004615a7f565b612913565b34801561146e57600080fd5b5061066a61147d366004615ade565b612a13565b34801561148e57600080fd5b5061066a61149d366004615477565b612a71565b3480156114ae57600080fd5b5061068260815481565b3480156114c457600080fd5b5061068260a85481565b3480156114da57600080fd5b50606954610901906001600160a01b031681565b3480156114fa57600080fd5b506115426115093660046153d5565b60b160205260009081526040902080546002820154600383015460048401546005909401546001600160a01b0390931693919290919085565b604080516001600160a01b0390961686526020860194909452928401919091526060830152608082015260a00161068c565b34801561158057600080fd5b506095546106c59060ff1681565b34801561159a57600080fd5b5061068260a15481565b3480156115b057600080fd5b506106826115bf3660046154cd565b609f6020526000908152604090205481565b61066a6115df3660046154ea565b612aa4565b3480156115f057600080fd5b5061066a6115ff366004615477565b6130a5565b34801561161057600080fd5b5061066a61161f366004615b46565b613119565b34801561163057600080fd5b506095546106c590610100900460ff1681565b34801561164f57600080fd5b50610682609d5481565b34801561166557600080fd5b5061066a6116743660046154cd565b613162565b34801561168557600080fd5b5061068260a75481565b34801561169b57600080fd5b50610682607f5481565b3480156116b157600080fd5b506106826116c03660046153d5565b613202565b60bf546001600160a01b03163660008037600080366000845af43d6000803e8080156116f0573d6000f35b3d6000fd5b505050565b607c818154811061170a57600080fd5b600091825260209091200154905081565b60955460ff161580156117355750609554610100900460ff165b61175a5760405162461bcd60e51b815260040161175190615b63565b60405180910390fd5b60995482611766612255565b6117709190615b96565b11156117a45760405162461bcd60e51b815260206004820152600360248201526245333160e81b6044820152606401611751565b60006117ae613212565b9050806117bb8484613254565b6117c59190615bae565b3410156117fa5760405162461bcd60e51b815260206004820152600360248201526245333360e81b6044820152606401611751565b34609c600082825461180c9190615b96565b9091555060009050821561184457606b6003016079548154811061183257611832615bcd565b9060005260206000200154905061186a565b606b6002016079548154811061185c5761185c615bcd565b906000526020600020015490505b6066546001600160a01b03166323b872dd33306118878886615bae565b6040518463ffffffff1660e01b81526004016118a593929190615be3565b602060405180830381600087803b1580156118bf57600080fd5b505af11580156118d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f79190615c07565b5061190633858560835461329e565b50505050565b6086818154811061170a57600080fd5b609554610100900460ff166119435760405162461bcd60e51b815260040161175190615b63565b60005b818110156116f55760655433906001600160a01b0316636352211e85858581811061197357611973615bcd565b905060200201356040518263ffffffff1660e01b815260040161199891815260200190565b60206040518083038186803b1580156119b057600080fd5b505afa1580156119c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e89190615c24565b6001600160a01b031614611a245760405162461bcd60e51b815260206004820152600360248201526245343160e81b6044820152606401611751565b611a48838383818110611a3957611a39615bcd565b90506020020135336000613409565b80611a5281615c41565b915050611946565b60005b818110156116f5576000608f6000858585818110611a7d57611a7d615bcd565b9050602002013581526020019081526020016000209050611ab5848484818110611aa957611aa9615bcd565b9050602002013561351d565b805460bc80549091610100900460ff16908110611ad457611ad4615bcd565b600091825260208083209091015433835260ba90915260408220805491929091611aff908490615b96565b909155508490508383818110611b1757611b17615bcd565b90506020020135336001600160a01b03167fa6c4da636b3fb91fe9a6878135ec951f240c6b175b0636d3ed22ec30a6c34df260bc8460000160019054906101000a900460ff1660ff1681548110611b7057611b70615bcd565b9060005260206000200154604051611b8a91815260200190565b60405180910390a35080611b9d81615c41565b915050611a5d565b608b8260048110611bb557600080fd5b018181548110611bc457600080fd5b90600052602060002001600091509150505481565b606a546001600160a01b03163314611c035760405162461bcd60e51b815260040161175190615c5c565b611c0d8282613720565b5050565b60b6818154811061170a57600080fd5b6078818154811061170a57600080fd5b33611c3a612246565b6001600160a01b031614611c605760405162461bcd60e51b815260040161175190615c79565b6040516323b872dd60e01b81526001600160a01b038416906323b872dd90611c9090309086908690600401615be3565b600060405180830381600087803b158015611caa57600080fd5b505af1158015611cbe573d6000803e3d6000fd5b50505050505050565b33611cd0612246565b6001600160a01b031614611cf65760405162461bcd60e51b815260040161175190615c79565b60405163a9059cbb60e01b81526001600160a01b0384169063a9059cbb90611d249085908590600401615cae565b602060405180830381600087803b158015611d3e57600080fd5b505af1158015611d52573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190615c07565b33611d7f612246565b6001600160a01b031614611da55760405162461bcd60e51b815260040161175190615c79565b8051606b908155602080830151606c5560408301518051849392611dce92606d9291019061533a565b5060608201518051611dea91600384019160209091019061533a565b506080820151600482015560a08201518051611e1091600584019160209091019061533a565b5060c0820151816006015590505050565b60ae818154811061170a57600080fd5b607b818154811061170a57600080fd5b606a546001600160a01b03163314611e815760405162461bcd60e51b815260206004820152600360248201526245393960e81b6044820152606401611751565b80609d54609c54611e929190615cc7565b1115611ec65760405162461bcd60e51b815260206004820152600360248201526208a72760eb1b6044820152606401611751565b80609d6000828254611ed89190615b96565b9091555050606a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611c0d573d6000803e3d6000fd5b60b4818154811061170a57600080fd5b60005b818110156116f557611f3f83600160006137e9565b80611f4981615c41565b915050611f2a565b33611f5a612246565b6001600160a01b031614611f805760405162461bcd60e51b815260040161175190615c79565b8051607255602081015160735560408101516074556060810151607555608081015160765560a00151607755565b33611fb7612246565b6001600160a01b031614611fdd5760405162461bcd60e51b815260040161175190615c79565b6116f560b38383615385565b8083146120215760405162461bcd60e51b8152600401611751906020808252600490820152634531353160e01b604082015260600190565b60005b838110156120625761205085600085858581811061204457612044615bcd565b905060200201356137e9565b8061205a81615c41565b915050612024565b5050505050565b60b3818154811061170a57600080fd5b33612082612246565b6001600160a01b0316146120a85760405162461bcd60e51b815260040161175190615c79565b609b54609a546120b89083615b96565b11156120ec5760405162461bcd60e51b815260206004820152600360248201526245393760e81b6044820152606401611751565b80609a60008282546120fe9190615b96565b90915550611c0d9050828260008061329e565b3361211a612246565b6001600160a01b0316146121405760405162461bcd60e51b815260040161175190615c79565b61214c60868787615385565b5061215960878585615385565b50611cbe60888383615385565b3361216f612246565b6001600160a01b0316146121955760405162461bcd60e51b815260040161175190615c79565b61219f6000613c5d565b565b6087818154811061170a57600080fd5b336121ba612246565b6001600160a01b0316146121e05760405162461bcd60e51b815260040161175190615c79565b60bf80546001600160a01b0319166001600160a01b0392909216919091179055565b6088818154811061170a57600080fd5b3361221b612246565b6001600160a01b0316146122415760405162461bcd60e51b815260040161175190615c79565b60a955565b6033546001600160a01b031690565b60006001607e546122669190615cc7565b905090565b33612274612246565b6001600160a01b03161461229a5760405162461bcd60e51b815260040161175190615c79565b6122a6607a8787615385565b506122b3607b8585615385565b50611cbe607c8383615385565b600081815260b1602052604081206001810180548391608f9183919082906122ea576122ea615bcd565b9060005260206000200154815260200190815260200160002090506000606460b68360000160019054906101000a900460ff1660ff168154811061233057612330615bcd565b9060005260206000200154846003015461234a9190615bae565b6123549190615cf4565b9050600083600401549050600060c55442106123725760c554612374565b425b905080856002015410156123aa57828560020154826123939190615cc7565b61239d9190615bae565b6123a79083615b96565b91505b5095945050505050565b6060816001600160401b038111156123ce576123ce61554d565b6040519080825280602002602001820160405280156123f7578160200160208202803683370190505b50905060005b828110156124555761242684848381811061241a5761241a615bcd565b90506020020135613caf565b82828151811061243857612438615bcd565b60209081029190910101528061244d81615c41565b9150506123fd565b5092915050565b60b5818154811061170a57600080fd5b60bc818154811061170a57600080fd5b60955460ff161580156124965750609554610100900460ff165b6124b25760405162461bcd60e51b815260040161175190615b63565b609954816124be612255565b6124c89190615b96565b11156124fc5760405162461bcd60e51b815260206004820152600360248201526222999960e91b6044820152606401611751565b60805481607f5461250d9190615b96565b11156125415760405162461bcd60e51b815260206004820152600360248201526245353160e81b6044820152606401611751565b600061254b613212565b905080612559836001613254565b6125639190615bae565b3410156125985760405162461bcd60e51b8152602060048201526003602482015262114ccd60ea1b6044820152606401611751565b34609c60008282546125aa9190615b96565b9091555050606754606f546001600160a01b03909116906323b872dd90339030906125d6908790615bae565b6040518463ffffffff1660e01b81526004016125f493929190615be3565b600060405180830381600087803b15801561260e57600080fd5b505af1158015612622573d6000803e3d6000fd5b505050506126353383600160825461329e565b81607f60008282546126479190615b96565b90915550505050565b33612659612246565b6001600160a01b03161461267f5760405162461bcd60e51b815260040161175190615c79565b6116f560788383615385565b6126d360405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016060815260200160008152602001606081525090565b604051806101000160405280606b600001548152602001606b600101548152602001606b6002016079548154811061270d5761270d615bcd565b90600052602060002001548152602001606b6003016079548154811061273557612735615bcd565b600091825260209182902001548252606f548282015260708054604080518285028101850182528281529401939283018282801561279257602002820191906000526020600020905b81548152602001906001019080831161277e575b50505050508152602001606b60060154815260200160b38054806020026020016040519081016040528092919081815260200182805480156127f357602002820191906000526020600020905b8154815260200190600101908083116127df575b5050505050815250905090565b600061280c8383613254565b60a8546128199190615bae565b9392505050565b6001600160a01b038116600090815260bb602090815260408083205460ba90925282205460b9546128519190615b96565b61285b9190615cc7565b92915050565b609554610100900460ff166128885760405162461bcd60e51b815260040161175190615b63565b611c0d82826000613fa4565b60c454600160a01b900460ff16156128d45760405162461bcd60e51b815260206004820152600360248201526204539360ec1b6044820152606401611751565b60c4805460ff60a01b1916600160a01b1790556128f360bc8484615385565b5060c5555050565b600061290660775490565b60a8546122669190615bae565b606a546001600160a01b0316331461293d5760405162461bcd60e51b815260040161175190615c5c565b8260005b818110156129955761298386868381811061295e5761295e615bcd565b9050602002013585858481811061297757612977615bcd565b90506020020135613720565b8061298d81615c41565b915050612941565b506000609d54609c546129a89190615cc7565b9050670429d069189e0000811115612a0b5780609d60008282546129cc9190615b96565b9091555050606a546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611cbe573d6000803e3d6000fd5b505050505050565b33612a1c612246565b6001600160a01b031614612a425760405162461bcd60e51b815260040161175190615c79565b607d99909955608097909755609495909555609993909355609791909155609855608155608255608355608555565b609554610100900460ff16612a985760405162461bcd60e51b815260040161175190615b63565b611c0d82826001613fa4565b60955460ff16158015612abe5750609554610100900460ff165b612ada5760405162461bcd60e51b815260040161175190615b63565b80821415612b105760405162461bcd60e51b815260206004820152600360248201526245383160e81b6044820152606401611751565b6000612b1a613212565b905080612b2660775490565b612b309190615bae565b341015612b655760405162461bcd60e51b815260206004820152600360248201526222999b60e91b6044820152606401611751565b34609c6000828254612b779190615b96565b90915550506000838152608f60205260408082208483529181902060655491516331a9108f60e11b815260048101879052909133916001600160a01b0390911690636352211e9060240160206040518083038186803b158015612bd957600080fd5b505afa158015612bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c119190615c24565b6001600160a01b03161480612c485750815462010000900460ff168015612c4857508154630100000090046001600160a01b031633145b612c7a5760405162461bcd60e51b8152602060048201526003602482015262114e0d60ea1b6044820152606401611751565b6065546040516331a9108f60e11b81526004810186905233916001600160a01b031690636352211e9060240160206040518083038186803b158015612cbe57600080fd5b505afa158015612cd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf69190615c24565b6001600160a01b03161480612d2d5750805462010000900460ff168015612d2d57508054630100000090046001600160a01b031633145b612d5f5760405162461bcd60e51b815260206004820152600360248201526245383560e81b6044820152606401611751565b600085815260b26020526040902054158015612d875750600084815260b26020526040902054155b612dbc5760405162461bcd60e51b8152600401611751906020808252600490820152634538313160e01b604082015260600190565b6001825460ff166001811115612dd457612dd46157cf565b148015612df657506001815460ff166001811115612df457612df46157cf565b145b612e285760405162461bcd60e51b8152602060048201526003602482015262229c1960e91b6044820152606401611751565b8154610100900460ff16158015612e4657508054610100900460ff16155b612e785760405162461bcd60e51b815260206004820152600360248201526245383360e81b6044820152606401611751565b815460009062010000900460ff16151560011415612edd576000612e9b87613caf565b9050612ea78183615b96565b608954600386015560a1546040518381529193508891339190600080516020615da08339815191529060200160405180910390a4505b815462010000900460ff16151560011415612f48576000612efd86613caf565b9050612f098183615b96565b608954600385015560a1546040518381529193508791339190600080516020615da08339815191529060200160405180910390a4612f4686614294565b505b607154811015612fef576066546071546001600160a01b03909116906323b872dd9033903090612f79908690615cc7565b6040518463ffffffff1660e01b8152600401612f9793929190615be3565b602060405180830381600087803b158015612fb157600080fd5b505af1158015612fc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fe99190615c07565b50613007565b6071546130079033906130029084615cc7565b61441e565b61301086614450565b606554604051630852cd8d60e31b8152600481018790526001600160a01b03909116906342966c6890602401600060405180830381600087803b15801561305657600080fd5b505af115801561306a573d6000803e3d6000fd5b505060405187925088915033907f7fbc09d28fa0377bea9dd7bc3289ca8cf2ed47c19c59b30347c08925c18e82d790600090a4505050505050565b60955460ff161580156130bf5750609554610100900460ff165b6130db5760405162461bcd60e51b815260040161175190615b63565b60005b818110156116f5576131078383838181106130fb576130fb615bcd565b90506020020135614501565b8061311181615c41565b9150506130de565b33613122612246565b6001600160a01b0316146131485760405162461bcd60e51b815260040161175190615c79565b609580549115156101000261ff0019909216919091179055565b3361316b612246565b6001600160a01b0316146131915760405162461bcd60e51b815260040161175190615c79565b6001600160a01b0381166131f65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611751565b6131ff81613c5d565b50565b607a818154811061170a57600080fd5b600060a95460aa54426132259190615cc7565b111561323a5760a8805460a7554890554260aa555b60a85460a754101561324d575060a75490565b5060a85490565b60008161326257600061327a565b607454613270600185615cc7565b61327a9190615bae565b6073546132879085615bae565b6072546132949190615b96565b6128199190615b96565b600081156132b8576132b1846002615bae565b90506132bb565b50825b60006132c561468f565b6040805160608101825260008082526001600160a01b038a16602080840191909152600183850181905285835260a29091529290208151815494955091939092839160ff19169083600281111561331e5761331e6157cf565b021790555060208281015182546040948501511515600160a81b0260ff60a81b196001600160a01b039093166101000292909216610100600160b01b031990911617179091558151608081018352607e5463ffffffff908116825260ff8981168385019081528882168487019081528a151560608601908152600089815260a390975296909520935184549151955196511515600160301b0260ff60301b19978416600160281b029790971666ffff00000000001996909316600160201b0264ffffffffff19909216931692909217919091179290921691909117919091179055611cbe30866146f3565b6000838152608f6020526040902081613483576065546040516323b872dd60e01b81526001600160a01b03909116906323b872dd9061345090869030908990600401615be3565b600060405180830381600087803b15801561346a57600080fd5b505af115801561347e573d6000803e3d6000fd5b505050505b80546001600160a01b03841663010000000262010000600160b81b031990911617620100001781554260018281019190915560006002830155815460ff1660018111156134d2576134d26157cf565b14156134e1576134e18461484f565b6040516001600160a01b0384169085907f5b53344e2b3d15f33a2ab59e3c199c7bbcb08f5ce03bf0a25c14f978647299a790600090a350505050565b6000818152608f60205260409081902060655491516331a9108f60e11b815260048101849052909133916001600160a01b0390911690636352211e9060240160206040518083038186803b15801561357457600080fd5b505afa158015613588573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ac9190615c24565b6001600160a01b031614806135d157508054630100000090046001600160a01b031633145b6136065760405162461bcd60e51b815260040161175190602080825260049082015263229b991960e11b604082015260600190565b6000815460ff16600181111561361e5761361e6157cf565b146136545760405162461bcd60e51b815260040161175190602080825260049082015263229b989960e11b604082015260600190565b600082815260b260205260409020541561369957600082815260b2602052604090205461368090614914565b600082815260b26020526040902054613699908361493d565b805462010000900460ff16156136b6576136b63361300284613caf565b805462010000600160b81b0319168155606554604051630852cd8d60e31b8152600481018490526001600160a01b03909116906342966c6890602401600060405180830381600087803b15801561370c57600080fd5b505af1158015612a0b573d6000803e3d6000fd5b817fa1400508f229eaea44d95e98b6da371661f6e873726585abd7efdbdc607169768260405161375291815260200190565b60405180910390a2600082815260a2602052604090208054600160a81b900460ff1661377d57505050565b805460ff60a81b191681556000815460ff1660028111156137a0576137a06157cf565b14156137c15780546116f59061010090046001600160a01b03168484614a14565b6002815460ff1660028111156137d9576137d96157cf565b14156116f5576116f58383614bed565b60955460ff161580156138035750609554610100900460ff165b61381f5760405162461bcd60e51b815260040161175190615b63565b6000838152608f60205260409081902060655491516331a9108f60e11b815260048101869052909133916001600160a01b0390911690636352211e9060240160206040518083038186803b15801561387657600080fd5b505afa15801561388a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138ae9190615c24565b6001600160a01b031614806138d357508054630100000090046001600160a01b031633145b6139055760405162461bcd60e51b8152602060048201526003602482015262229b9960e91b6044820152606401611751565b6000815460ff16600181111561391d5761391d6157cf565b14801561393457508054600661010090910460ff16105b6139665760405162461bcd60e51b815260206004820152600360248201526245373160e81b6044820152606401611751565b8184141561399f5760405162461bcd60e51b8152600401611751906020808252600490820152630453733360e41b604082015260600190565b600084815260b2602052604090205415613a6f57600084815260b260205260409020546139cb90614914565b805460b480549091610100900460ff169081106139ea576139ea615bcd565b600091825260209091200154815460b490613a0e90610100900460ff166001615d08565b60ff1681548110613a2157613a21615bcd565b9060005260206000200154613a369190615cc7565b600085815260b26020908152604080832054835260b190915281206003018054909190613a64908490615b96565b90915550613a949050565b805462010000900460ff1615613a9457613a8884613caf565b60028201554260018201555b8215613b32576067548154607080546001600160a01b03909316926323b872dd92339230929091610100900460ff16908110613ad257613ad2615bcd565b90600052602060002001546040518463ffffffff1660e01b8152600401613afb93929190615be3565b600060405180830381600087803b158015613b1557600080fd5b505af1158015613b29573d6000803e3d6000fd5b50505050613bef565b606654815460b380546001600160a01b03909316926323b872dd92339230929091610100900460ff16908110613b6a57613b6a615bcd565b90600052602060002001546040518463ffffffff1660e01b8152600401613b9393929190615be3565b602060405180830381600087803b158015613bad57600080fd5b505af1158015613bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613be59190615c07565b50613bef8261351d565b8054610100900460ff16816001613c0583615d2d565b825460ff91821661010093840a908102908302199091161790925583546040519190049091169150859033907f2ef0b9f6641bfe4ae9f94f2b9b20ece8b29e13b163e6425c14ff8f520e79412e90600090a450505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000818152608f602052604080822081516101008101909252805483929190829060ff166001811115613ce457613ce46157cf565b6001811115613cf557613cf56157cf565b8152815460ff61010082048116602084015262010000820416151560408301526001600160a01b03630100000090910416606082015260018201546080820152600282015460a0820152600382015460c082015260049091015460e0909101529050600081516001811115613d6c57613d6c6157cf565b1415613f635760a08101516000848152608f602052604090206001015460ac54811015613de257607a836020015160ff1681548110613dad57613dad615bcd565b90600052602060002001548160ac54613dc69190615cc7565b613dd09190615bae565b613dda9083615b96565b915060ac5490505b60c054811015613e3b5760ae836020015160ff1681548110613e0657613e06615bcd565b90600052602060002001548160c054613e1f9190615cc7565b613e299190615bae565b613e339083615b96565b915060c05490505b600060c5544210613e4e5760c554613e50565b425b905080821015613f59576000613e668383615cc7565b9050600060c25460bd5460c154613e7d9190615cc7565b613e879190615cf4565b905060c254821115613f0e5760028160c25460c254613ea69190615bae565b613eb09190615bae565b613eba9190615cf4565b613ec49086615b96565b945060bd5460c254613ed69190615bae565b613ee09086615b96565b945060c15460c25483613ef39190615cc7565b613efd9190615bae565b613f079086615b96565b9450613f56565b600281613f1b8480615bae565b613f259190615bae565b613f2f9190615cf4565b613f399086615b96565b945060bd5482613f499190615bae565b613f539086615b96565b94505b50505b5090949350505050565b6087816020015160ff1681548110613f7d57613f7d615bcd565b90600052602060002001548160c00151608954613f9a9190615cc7565b6128199190615bae565b60a680546000918291829182613fb983615c41565b909155505060a65460005b86811015614233576000608f60008a8a85818110613fe457613fe4615bcd565b90506020020135815260200190815260200160002090508060000160029054906101000a900460ff1615156001151514801561403057508054630100000090046001600160a01b031633145b6140625760405162461bcd60e51b815260206004820152600360248201526245393160e81b6044820152606401611751565b60b260008a8a8581811061407857614078615bcd565b905060200201358152602001908152602001600020546000146140c65760405162461bcd60e51b815260040161175190602080825260049082015263229c989960e11b604082015260600190565b60006140dd8a8a8581811061241a5761241a615bcd565b90506000825460ff1660018111156140f7576140f76157cf565b14156141915760006064607d548361410f9190615bae565b6141199190615cf4565b90506141258183615cc7565b61412f9089615b96565b975061413b8187615b96565b42600185015595508a8a8581811061415557614155615bcd565b602002919091013590503386600080516020615da083398151915261417a8587615cc7565b60405190815260200160405180910390a4506141f1565b61419b8187615b96565b608954600384015595508989848181106141b7576141b7615bcd565b90506020020135336001600160a01b031685600080516020615da0833981519152846040516141e891815260200190565b60405180910390a45b8715614218576142188a8a8581811061420c5761420c615bcd565b90506020020135614294565b5060006002909101558061422b81615c41565b915050613fc4565b50614242336130028686615b96565b8115611cbe5761425182614d4b565b807fa82e56087acdb4c45b596e06c5ef2d1e974654985bfd4300ebad87555eec136e8360405161428391815260200190565b60405180910390a250505050505050565b6000818152608f60205260409020805462010000600160b81b031981168255630100000090046001600160a01b03166001825460ff1660018111156142db576142db6157cf565b14156142ef576142ea83614d83565b61437d565b6000825460ff166001811115614307576143076157cf565b141561437d57600061431833612820565b1161434e5760405162461bcd60e51b8152600401611751906020808252600490820152634531363160e01b604082015260600190565b6001600160a01b038116600090815260bb60205260408120805460019290614377908490615b96565b90915550505b6065546040516323b872dd60e01b81526001600160a01b03909116906323b872dd906143b190309085908890600401615be3565b600060405180830381600087803b1580156143cb57600080fd5b505af11580156143df573d6000803e3d6000fd5b50506040516001600160a01b03841692508591507f3a01954f64bfeed1c903bc3920f7a5639288ea25efc7a539195648519e4184a390600090a3505050565b6066546040516340c10f1960e01b815282916001600160a01b0316906340c10f1990611c909086908590600401615cae565b600061445a61468f565b604080516060810182526002808252336020808401919091526001838501819052600086815260a29092529390208251815495965092949093849260ff199092169184908111156144ad576144ad6157cf565b021790555060208281015182546040948501511515600160a81b0260ff60a81b196001600160a01b039093166101000292909216610100600160b01b03199091161717909155600092835260a59052902055565b621e8c5181101561453a5760405162461bcd60e51b815260206004820152600360248201526245313160e81b6044820152606401611751565b60008181526090602052604090205460ff161561457f5760405162461bcd60e51b815260206004820152600360248201526222989960e91b6044820152606401611751565b6068546040516331a9108f60e11b81526004810183905233916001600160a01b031690636352211e9060240160206040518083038186803b1580156145c357600080fd5b505afa1580156145d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145fb9190615c24565b6001600160a01b0316146146375760405162461bcd60e51b815260206004820152600360248201526245313360e81b6044820152606401611751565b6000818152609060205260408120805460ff1916600117905561465933614ef8565b6040519091508190839033907f584ea1a98d504e99c0dd0ca5ace55f5458d725e7e20a1ebb2e5e5af38434397190600090a45050565b600060a1547f315444e506fb06e32d43fe2cf48f37218994285028f458255be4a56810b66b8d60a1546040516146c791815260200190565b60405180910390a260a180549060006146df83615c41565b9190505550600160a1546122669190615cc7565b607e80546000918390836147078385615b96565b9250508190555060786079548154811061472357614723615bcd565b9060005260206000200154607e541061474c576079805490600061474683615c41565b91905055505b6065546040516322ce52b560e21b81526001600160a01b038681166004830152602482018490526044820186905290911690638b394ad490606401600060405180830381600087803b1580156147a157600080fd5b505af11580156147b5573d6000803e3d6000fd5b5050505060005b8381101561480f576001608f60006147d48486615b96565b81526020810191909152604001600020805460ff929092166101000261ff00199092169190911790558061480781615c41565b9150506147bc565b508281856001600160a01b03167f8b7c923d3e09b520f101439fe55b1b1ea3b1fcdfcb88afe6aed96873d341e1aa60405160405180910390a49392505050565b6000818152608f602052604090208054608780549091610100900460ff1690811061487c5761487c615bcd565b9060005260206000200154608a60008282546148989190615b96565b909155505060895460038201558054610100900460ff1615611c0d578054608b90610100900460ff16600481106148d1576148d1615bcd565b01546004828101919091558154608b9161010090910460ff169081106148f9576148f9615bcd565b01805460018101825560009182526020909120018290555050565b61491d816122c0565b600091825260b16020526040909120600481019190915542600290910155565b6000818152608f602052604090205460b480549091610100900460ff1690811061496957614969615bcd565b906000526020600020015460b1600084815260200190815260200160002060030160008282546149999190615cc7565b9091555050600081815260b260209081526040808320839055608f82528083204260019182015585845260b190925282206005018054919290916149de908490615cc7565b9091555050604051819083907fbf29afa7b80118742f9b6f15e4a2f6ae38b0dc246732b5b2bdde209326c7dfca90600090a35050565b600082815260a360205260408120805463ffffffff165b8154614a479060ff600160201b8204169063ffffffff16615d4d565b63ffffffff16811015612a0b576000818152608f60205260409020614a6b85614fd2565b608554909650909450841015614ab757805461ffff1916600117815560405182907fe745cd12d6f4eb3c23b4aeb859314255073bdc0805d89f7622090698abf484b290600090a2614aee565b60405182906001600160a01b038916907f17168db4d4772024cf56ab2222c1d7888481238be6bc32c3d7a8726a9483bab290600090a35b8254600090600160281b900460ff1615614b4a57614b0b86614fd2565b8554909750909550600160281b900460ff16851015614b4a576000614b2e615019565b90508015614b4857614b41848289615089565b9650600191505b505b80614bd8578354600160301b900460ff1615614b7157614b6c83896001613409565b614bd8565b6065546040516323b872dd60e01b81526001600160a01b03909116906323b872dd90614ba59030908c908890600401615be3565b600060405180830381600087803b158015614bbf57600080fd5b505af1158015614bd3573d6000803e3d6000fd5b505050505b50508080614be590615c41565b915050614a2b565b600082815260a56020908152604080832054808452608f90925282209091614c1484614fd2565b94509050614c2181615180565b825461ff00191661010060ff928316021780845562010000900416151560011415614d0d576087600081548110614c5a57614c5a615bcd565b6000918252602090912001548254608780549091610100900460ff16908110614c8557614c85615bcd565b9060005260206000200154614c9a9190615cc7565b608a6000828254614cab9190615b96565b90915550508154608b90610100900460ff1660048110614ccd57614ccd615bcd565b01546004838101919091558254608b9161010090910460ff16908110614cf557614cf5615bcd565b01805460018101825560009182526020909120018390555b815460405161010090910460ff169084907fe15c536009c86cf1fa16027c6ee4538c2bcce2bdcd80dd17fec4ea96182ef04c90600090a35050505050565b614d55308261441e565b608a54156131ff57608a54614d6a9082615cf4565b60896000828254614d7b9190615b96565b909155505050565b6000818152608f602052604090208054608780549091610100900460ff16908110614db057614db0615bcd565b9060005260206000200154608a6000828254614dcc9190615cc7565b90915550508054610100900460ff1615614eed578054600090608b90610100900460ff1660048110614e0057614e00615bcd565b8354910190600190608b90610100900460ff1660048110614e2357614e23615bcd565b0154614e2f9190615cc7565b81548110614e3f57614e3f615bcd565b60009182526020909120015482549091508190608b90610100900460ff1660048110614e6d57614e6d615bcd565b01836004015481548110614e8357614e83615bcd565b6000918252602090912001558154608b90610100900460ff1660048110614eac57614eac615bcd565b01805480614ebc57614ebc615d75565b600082815260208082208301600019908101839055909201909255600480850154938352608f909152604090912001555b600060049091015550565b607e8054600091819083614f0b83615c41565b9190505550607860795481548110614f2557614f25615bcd565b9060005260206000200154607e5410614f4e5760798054906000614f4883615c41565b91905055505b6065546040516340c10f1960e01b81526001600160a01b03909116906340c10f1990614f809086908590600401615cae565b600060405180830381600087803b158015614f9a57600080fd5b505af1158015614fae573d6000803e3d6000fd5b5050506000828152608f60205260409020805461ffff191660011790555092915050565b60008062100000831015615008576040805160208101859052016040516020818303038152906040528051906020012060001c92505b50506103ff811691600a9190911c90565b60008060015b6003811161508357608b816004811061503a5761503a615bcd565b0154608880548390811061505057615050615bcd565b90600052602060002001546150659190615bae565b61506f9083615b96565b91508061507b81615c41565b91505061501f565b50919050565b600080615098848460196151de565b9350905060006150a78261523c565b6065546000828152608f6020526040908190205490516323b872dd60e01b81529293506001600160a01b03918216926323b872dd926150f89230926301000000909104909116908b90600401615be3565b600060405180830381600087803b15801561511257600080fd5b505af1158015615126573d6000803e3d6000fd5b5050506000828152608f602052604080822054905184935063010000009091046001600160a01b03169189917f9055cdd665fdee53683ce213caee079a0b8a929160ad57c0b83ca49f032dfafc9190a45091949350505050565b6000805b60038160ff1610156151d55760868160ff16815481106151a6576151a6615bcd565b90600052602060002001548310156151c357612819816001615d08565b806151cd81615d2d565b915050615184565b50600092915050565b6000806001831b80851015615215576040805160208101879052016040516020818303038152906040528051906020012060001c94505b600086615223600184615cc7565b871661522f9190615d8b565b979590941c955050505050565b60008060015b60038111615330576000608b826004811061525f5761525f615bcd565b0154608880548490811061527557615275615bcd565b906000526020600020015461528a9190615bae565b90506152968184615b96565b851015615310576000608883815481106152b2576152b2615bcd565b906000526020600020015484876152c99190615cc7565b6152d39190615cf4565b9050608b83600481106152e8576152e8615bcd565b0181815481106152fa576152fa615bcd565b9060005260206000200154945050505050919050565b61531a8184615b96565b925050808061532890615c41565b915050615242565b5060009392505050565b828054828255906000526020600020908101928215615375579160200282015b8281111561537557825182559160200191906001019061535a565b506153819291506153c0565b5090565b828054828255906000526020600020908101928215615375579160200282015b828111156153755782358255916020019190600101906153a5565b5b8082111561538157600081556001016153c1565b6000602082840312156153e757600080fd5b5035919050565b80151581146131ff57600080fd5b6000806040838503121561540f57600080fd5b823591506020830135615421816153ee565b809150509250929050565b60008083601f84011261543e57600080fd5b5081356001600160401b0381111561545557600080fd5b6020830191508360208260051b850101111561547057600080fd5b9250929050565b6000806020838503121561548a57600080fd5b82356001600160401b038111156154a057600080fd5b6154ac8582860161542c565b90969095509350505050565b6001600160a01b03811681146131ff57600080fd5b6000602082840312156154df57600080fd5b8135612819816154b8565b600080604083850312156154fd57600080fd5b50508035926020909101359150565b60008060006060848603121561552157600080fd5b833561552c816154b8565b9250602084013561553c816154b8565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b03811182821017156155855761558561554d565b60405290565b600082601f83011261559c57600080fd5b813560206001600160401b03808311156155b8576155b861554d565b8260051b604051601f19603f830116810181811084821117156155dd576155dd61554d565b6040529384528581018301938381019250878511156155fb57600080fd5b83870191505b8482101561561a57813583529183019190830190615601565b979650505050505050565b60006020828403121561563757600080fd5b81356001600160401b038082111561564e57600080fd5b9083019060e0828603121561566257600080fd5b61566a615563565b823581526020830135602082015260408301358281111561568a57600080fd5b6156968782860161558b565b6040830152506060830135828111156156ae57600080fd5b6156ba8782860161558b565b6060830152506080830135608082015260a0830135828111156156dc57600080fd5b6156e88782860161558b565b60a08301525060c083013560c082015280935050505092915050565b600060c0828403121561571657600080fd5b60405160c081018181106001600160401b03821117156157385761573861554d565b8060405250823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201528091505092915050565b6000806000806060858703121561579357600080fd5b843593506020850135925060408501356001600160401b038111156157b757600080fd5b6157c38782880161542c565b95989497509550505050565b634e487b7160e01b600052602160045260246000fd5b610100810160028a106157fa576157fa6157cf565b98815260ff97909716602088015294151560408701526001600160a01b03939093166060860152608085019190915260a084015260c083015260e09091015290565b6000806040838503121561584f57600080fd5b823561585a816154b8565b946020939093013593505050565b6000806000806000806060878903121561588157600080fd5b86356001600160401b038082111561589857600080fd5b6158a48a838b0161542c565b909850965060208901359150808211156158bd57600080fd5b6158c98a838b0161542c565b909650945060408901359150808211156158e257600080fd5b506158ef89828a0161542c565b979a9699509497509295939492505050565b6020808252825182820181905260009190848201906040850190845b818110156159395783518352928401929184019160010161591d565b50909695505050505050565b600081518084526020808501945080840160005b8381101561597557815187529582019590820190600101615959565b509495945050505050565b6020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a0820152600060a08301516101008060c08501526159d1610120850183615945565b915060c085015160e085015260e0850151601f1985840301828601526159f78382615945565b9695505050505050565b6060810160038510615a1557615a156157cf565b9381526001600160a01b03929092166020830152151560409091015290565b600080600060408486031215615a4957600080fd5b83356001600160401b03811115615a5f57600080fd5b615a6b8682870161542c565b909790965060209590950135949350505050565b60008060008060408587031215615a9557600080fd5b84356001600160401b0380821115615aac57600080fd5b615ab88883890161542c565b90965094506020870135915080821115615ad157600080fd5b506157c38782880161542c565b6000806000806000806000806000806101408b8d031215615afe57600080fd5b505088359a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e081013595506101008101359450610120013592509050565b600060208284031215615b5857600080fd5b8135612819816153ee565b60208082526003908201526245303160e81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008219821115615ba957615ba9615b80565b500190565b6000816000190483118215151615615bc857615bc8615b80565b500290565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060208284031215615c1957600080fd5b8151612819816153ee565b600060208284031215615c3657600080fd5b8151612819816154b8565b6000600019821415615c5557615c55615b80565b5060010190565b60208082526003908201526204536360ec1b604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6001600160a01b03929092168252602082015260400190565b600082821015615cd957615cd9615b80565b500390565b634e487b7160e01b600052601260045260246000fd5b600082615d0357615d03615cde565b500490565b600060ff821660ff84168060ff03821115615d2557615d25615b80565b019392505050565b600060ff821660ff811415615d4457615d44615b80565b60010192915050565b600063ffffffff808316818516808303821115615d6c57615d6c615b80565b01949350505050565b634e487b7160e01b600052603160045260246000fd5b600082615d9a57615d9a615cde565b50069056fe40e6a337f1a78915df745fd02b2ca082e64e8a780a99b8fbb355f64409b399cca2646970667358221220f1587cea99072627e7ce195d26997cde8758a63bf5bc4d9b850240302608eb2c64736f6c634300080900330605581d038ffa46c5061bcfa8f0760c867a745f67750755556202cc8b20509e500701195df5021960000219090003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03dea94cb4c63d0d5532a8be38058a95f54efeeef0401f312f763382d0b007011bffffffffffffffff03afc16c0a3bcb021925015c276e4549951b47589d2b7e2a3e8ee2dd0782fa27b003197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e0329bcd6e41e08858d87490b5894060046f54299549926106f193f0ff93007011bffffffffffffffff02194ef9033edd8f94a5a1c973a7ff4e9e1a611921a53cc7609249ab3f80b6af94b569fcb403f13ea803d2be09154c89672327c357c82586145d92adcfca3d420fc63709b97f0340c0330482366f33f90052765ad4d22c79793d0aacbf02364054aa04e9df22960344c313c03e53e2c5e3bf67245178fb9efa1ab529bc320873275ae47c13d07ce4039c7291c1423887c59482bda555a9cbfeb31c98d40f46f4113bf85b03bbbf0ff90319946c371f2e0f3b71e7c307a0902d26e01446f960632db847dc89ae6be4d24a03ed98f20046db80d63b1e3edca700ed56c2d6645ff169147ed2e6721831679d180219ffff0310a09c2533e1eafc64bad1b555acd266019952730764c07da201dee1ac7f63d9039b3d304b819f492b5c76c431c9947a9f00921454a3afec955035d10902d344d503d07eb04c1f2e8be8031d7212c4daad39303c7e9da1de2469f615efd4a642bbeb03616df42aa87aa8a7d3cbc5f5bc9e4f516c3111d8bd295a927c24c64c549c00f403a74f37f47e284ad5927df0373d2850b19442992c2d743dbe52dc9e0117e538a20357a7c4ec7a912b1b91fa0f3e7da07ff736b73cf3fe9081245e2ea9c9e9a16ba303a02da08798aed095596f889515b42e41884f3e0774fbd55cb86b5591bc138ba0036df044cfcc9f06c8899894bd6bccbf736afaf503f5f3d2b078530a0cbba4705e0367dcf41f6dcb42d4afbd01db9efaf95c162dfb80bf4612959f2f73be0f68640f039273a1862277c6f36a60ab2f88e29ad271c479cc507a18a517d1076caca72a81034f9603e01330af100a09e3753378ef3488a259a664f97a78d28ef35e9f503d1e0219ffff0219ffff0394379f9d6b20484b3bc95fd1c76dd0b04ac09fed4c8aaf88cbd877aac46144e0032796650eadb2bad6783093dcb4838114790a8e81baf0ceecd6990851b51187310342d43e69db7bd2ef995dae970849c391013bf04bd52759e54d909ba27288da4e03ea627c5887a4312f624ba9905524f51295d9e9df3879eb7318566ed2550992a90320fc16a68b7f6fa9ac055edf0db045b2e6324335a75a691a3eeaccd8e928b0d0033f835c47dbdd13c0fbf8744a9a861a52d3aa2bc3d9df02c4565864b9eeaf96820312012b0bc8df887d68e77b117dea637c78f5c3721c2f6a3b59454d19f69d3fa1037bcca8855b817ffc695f4f2a4e42b07ab35cdd5719e5660876e2eb5562504ab803460600a9e14e6dc8d4cf08290f8cd8fdf875704bf7f73b3519dde71eafc8e5b1032fcd649e84c3129fa649f5b1bf95c3d048e769c9788c5b8b04739be643c45b3a0382670b6c75b013732ecf9a51f16d7b9a75ae09d2c453f8b2540c52c7fc66fe7c03f6081af829f6ff68b8d85491dd94f30bded817c5ce3bfe3d796498724adf1ff503a19b9d4f7b40bc27a6744faae3aceb3d3542987cd5a1b2adee239ce5b58f857c03121943f63e442177825968ac1b959663f722ec47f27b9c7b8e0e48f1e1699e0d0389c62859058c0586d90dcaf8a99b988658a72ac1c4217d83cb61774d0523f76c0330b482d22390f9a2587bec92368be92dfc0c0a0f616ef3ee32ae9812c8691c1c03beb7ede9725e4dda1c67d942fd7d1ab66a8714439fab9b058c714a7755f1af25039ff54e90a6bca5b8649741d9bb8f1b161ccc3b88377335c4f10f4ca35e86b6d503368cca1d384336d1d10e3c131fe296b85ff4ad74bd6d75ea09ad38b659bb8ae2035e23c784b389337aae235384c521f82c988ffe83cd4285571dfecffce6d79af5039b6c3e2494dd2d2203f80a8e7ae242032e843117d3687888d1659713b0ff1c12039900ade88c19b83b6c18232476611a5255174675fe6538b86a010c894fc1a0c70383dc0fff453645ea63db726db190692eab218e03c353901e1caf3042471d3bc40397277842c9fbda703ab735f7b5b21854d93cab9d1667f6d1e6635632b3f196be03156c5a8b9555ac322d6f6320e91137200ce591113cfdb8de446356fe4629992105581e03af904a36d2a84dbb71e6d37a0c03053446ca957bc4a4fcf96e46a9ff400c0347013d8e81789b700387edd226275da58c174e4f5c7cecf78962bf7c6cf44aeb41d2e8214965ad289c0364412ad46385b8208d9708a282b2ff2d82e286e51b7b83dbfd67264a0272ed07039c8660493a51b088681934a434cd24b36024fa9d0a8a3902724c8c502e2c24da05581e0328d0cfe5e9c24b9a9c071974688e52adf96d4d78619dc39355ef3046e00c1901b34807ed5314fc24662d05581e03db6eab2d5a9d9c4299dcfc222bf281473dad6f4690c46a94918e5d98700c0146045b423f9c0005581e038e7ce7f16d7b73e51e08e32438b4ea2ffd27eae9cbe2a97c2fe2f595700c09472f9cfe69a1bf4205581e0355619d9104789a55f205f16d73f922f7e9bb4ebf43157a6712ee8471600c0446dc7c6d78aea80459143860806040523661000b57005b600080357fffffffff000000000000000000000000000000000000000000000000000000001681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020819052604090912054819073ffffffffffffffffffffffffffffffffffffffff16806100ae576040517fa9ad62f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3660008037600080366000845af43d6000803e8080156100cd573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8481169182179093556040517fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156103225760008482815181106101ac576101ac611129565b6020026020010151602001519050600060028111156101cd576101cd611158565b8160028111156101df576101df611158565b0361022d576102288583815181106101f9576101f9611129565b60200260200101516000015186848151811061021757610217611129565b602002602001015160400151610387565b610319565b600181600281111561024157610241611158565b0361028a5761022885838151811061025b5761025b611129565b60200260200101516000015186848151811061027957610279611129565b602002602001015160400151610627565b600281600281111561029e5761029e611158565b036102e7576102288583815181106102b8576102b8611129565b6020026020010151600001518684815181106102d6576102d6611129565b6020026020010151604001516108d0565b6040517fe548e6b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161018f565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051610356939291906111f5565b60405180910390a16103688282610a0c565b505050565b73ffffffffffffffffffffffffffffffffffffffff161590565b80516000036103c2576040517f7bc5595000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff8316610430576040517fc68ec83a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610478576104788285610bad565b60005b835181101561062057600084828151811061049857610498611129565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff168015610527576040517fa023275d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905550506001918201910161047b565b5050505050565b8051600003610662576040517f7bc5595000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff83166106d0576040517fc68ec83a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610718576107188285610bad565b60005b835181101561062057600084828151811061073857610738611129565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690871681036107cc576040517fa023275d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107d7858284610c23565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905550506001918201910161071b565b805160000361090b576040517f7bc5595000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff83161561097a576040517f79c9df2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610a0657600083828151811061099a5761099a611129565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529185905260409091205490915073ffffffffffffffffffffffffffffffffffffffff166109fc848284610c23565b505060010161097d565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8216610a6457805115610a60576040517f9811686000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b8051600003610a9f576040517f4220056600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82163014610ac557610ac5826110ec565b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610aed919061135d565b600060405180830381855af49150503d8060008114610b28576040519150601f19603f3d011682016040523d82523d6000602084013e610b2d565b606091505b509150915081610a0657805115610b7b57806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b729190611379565b60405180910390fd5b6040517fc53ebed500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bb6816110ec565b60028201805473ffffffffffffffffffffffffffffffffffffffff90921660008181526001948501602090815260408220860185905594840183559182529290200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff8216610c70576040517fa9ad62f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff831603610cbf576040517fc3c5ec3700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081166000908152602084815260408083205473ffffffffffffffffffffffffffffffffffffffff86168452600180880190935290832054740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff169291610d4991611393565b9050808214610e905773ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260408120805483908110610d8b57610d8b611129565b6000918252602080832060088304015473ffffffffffffffffffffffffffffffffffffffff8916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110610de957610de9611129565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790557fffffffff0000000000000000000000000000000000000000000000000000000092909216825286905260409020805473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021790555b73ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260409020805480610ec657610ec66113d3565b6000828152602080822060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193840401805463ffffffff600460078716026101000a0219169055919092557fffffffff000000000000000000000000000000000000000000000000000000008516825286905260408120819055819003610620576002850154600090610f5f90600190611393565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260018089016020526040909120015490915080821461104d576000876002018381548110610fab57610fab611129565b60009182526020909120015460028901805473ffffffffffffffffffffffffffffffffffffffff9092169250829184908110610fe957610fe9611129565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055929091168152600189810190925260409020018190555b86600201805480611060576110606113d3565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff88168252600189810190915260408220015550505050505050565b803b6000819003610a60576040517fe350060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60005b838110156111a257818101518382015260200161118a565b50506000910152565b600081518084526111c3816020860160208601611187565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015611320577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8503018652815188850173ffffffffffffffffffffffffffffffffffffffff825116865284820151600381106112a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b8083101561130b5783517fffffffff000000000000000000000000000000000000000000000000000000001682529286019260019290920191908601906112c9565b5097850197955050509082019060010161121e565b505073ffffffffffffffffffffffffffffffffffffffff8a1690880152868103604088015261134f81896111ab565b9a9950505050505050505050565b6000825161136f818460208701611187565b9190910192915050565b60208152600061138c60208301846111ab565b9392505050565b818103818111156113cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122079ce9ceb1cd6ef062c451c557ad0c7eccd83176b8dcea1923408e68785f1a03764736f6c6343000811003303ae09dc0ac37e102886df1178facf54f229bba398d230109b54ffcaef0a6eb007034fa29e42ce75f8c3cc1d48e20b4d3fb8536edaa28173ec9adfe42ffca2a6756b0058200204df4991ae9d250314e8998d6bfc653723f90bfe264f7b8e5d3287f4391e92549e1028f5f1d5ede59748ffcee5532509976840e00332a25e609bf68f08d21444569fd8acc1d4071cdaa7ce890443807c1889dfd9b703f56494e66232687151c9eb3dba437e532e19df337c3ccf75168110de4fd092b0038f2c92a9cc6601cb5994ca961f5b68ba181014fe4a82b1541fa824a99366cae5033c1ff7545d252cce58d290fea927d5e48cc8a55a9f731e3ee4a737cbedf3754a03f4db103e16bb2f24451a57ee2c02ba88df0642c6eec8c350bda327f1894384c6037e414adeaaff4cfde00e4aeeb1ed0ac144d8c547182f4bae2b5aa3c113ad565d039d57cea8df87e6ed18844376d148cccf0cb61a7708b75aab481db978e0d2438d039ac8bc6f930afeac5733e8eab83c5caa6711fc939fca7b76a81b3929677a1c5b0361e2bc1935ba5c86ddf4d24ce0253a5589a329fc55aca7c142ae3843c4db9a0f0372f0bce304ecafb7ff8d9d32efb05465491ea32c3c24eb23bcc3b2f4413ad2a303ddc284410a929e6ea418ca86459340632f0147705832ae54610f606299b225bd0358408f5134aed79970b2307a42e3d02d7afa5650198b246e5b49dc7522f9a712032a2738c63a9ec8cd3785a204c9f2c8d0ae4315f25f5e13e4467ba21f97e2d28300582003abdfa98663244f68b42db684013fdaa0c840c6ad3c78246fe9a3b4836c3320543b70eb33948fbfdc3f2f2491b96dfb1aa18054e000581f021e5f2f7756c4a303be20f7e476d6ca992d44c0bb16796f36a2cb82cb513f410100581f02941681848edf65b5dd2af00e0a4261da450127b9b2a48e9270675a792b2741060219080103e7f3f2e927f3db508f4812aa12abd179b35ae20f148a817f2d4bd92f1e0b4f2a0218290304c502a4fcb0ea6d995cca6778140e51c26ab82f4d74fdbacd4583a046a194fb0219ffff03a0f44c052c17772f9a07bc964bd6e148046417d669e2fb719987915a3cda20b600582003aa9a7c852de90641e59d2575ad6b38b084210806a116ae6af0feb2fd8e929055076ef81a18e1e432c289dc0d1a670b78e8bbf9aa3503b0431a7c50b52923864782b244a8f888cf1804da83aca30746d4d03e230788bd0058200369bae2f9af1d29e80332be6239fe50342b1c8694c170e68ef44e58472c7b905402a2b736f9150d36c0919f3acee8ba2a92fbbb4000582003f4c29a9bd817f66f2749d15b4c196534e0e40835f4154f6220409c2f9d8fa055057a5c119ec5ddbf9631cf40f6e5db28f31d4332a000582003eb36bd7c4667adcd09c9ac641e775f07f0dd3bc60b8e9313a03ee7d75846f0410100582003780153a708699c41dd6bc9a4eb172ed49233bff984db7de772ab4715c493d0548ee0e43ace57f63a32e0cec573e7f40d6e3932a80058200342b9e0e9b8d563c46efd3982cae32bfb7ed389e75b3a85dabb9ad75aff8940410100582003ce588dd58a1fd45f20f7ec89b8d9f58fa7ff9d203ca88a533e5dfd618efdd05502f965f52046d7095d5080bd31459601f4eb24f72d00581f02bcf009279520d4c1036aa5865474189e3d6ffa6984928f4879002f46380d54a774e0bbb5dfb3973a083a756cbf28429d1dfe4200581f02e51d1857429326852dd25d31b509199bd956be444e28ed885c293a007fb741010219022002196a6b03a08b5be03dbf5bcca787b81f19921f2647f92fa28e9774f41a868e1fe5ab768803e6248011982e93682e78f71e729d871ee8f70ac16c781faf79a87db4488b743903ef6b06190ee8543f532427872a3c962720dd26f30da17236011fd97410fed3620344c8d53be36e7aaf95c9e6312bed7c696000c7304ece42ca283edc4b2e8ff55900582002fb5fbbdcb1f22a392e1070f899902202f5e2ee5e460ada50f08adde3dc60605450f9bde1c76bba997a5d6e7fefff695ec853619403e12a47988b64b855e0318a4d0aa48cec627d25029b33772813a0adfee50d5f180390fe7723e7d2677ac8b6fb2f16383bb078e217eb3095e811c5eafbea4f272db4036ba33193e3baba211ee18a0f82c9a2017aadd14d8afcd3c0bece4da3c7d0998b0314160bd7f5530e0e0d0378bf774f8a86d39346e8b4088cfbc01ae9c1c984172d03cef2ebc76ed891f6503950432f07cc1a399718a967587401284d21e86f66e4af03d1c658c948e9a603c9be6778d8eb89cfb4d818ccc08523e3c33ece11da75728c03a9ab2b3183e2f83c614805dc6de578f7f818e602e721e0860e9ef3b936e6001c03a439cf38efd11ed90814cabb1a1ba135feda75bea1d2c9b1201964d89780db8d00582002e32224007ce93aac9e3fe4813f6d2c0bcb10317fb7d0d0c1008b9f029d2b6041010219ffff00582003f991e00672e643a622c1ba7f07695f9a671e4ba0146519703e53e2ba1c7fc04101005820030d30518df63c3e3a5461a0f92359248bebc7ec3582d1c282df4db6629ae3c055032b7d2c78bd801cc06ddcf91dee2e8fae22814f7e0219012003680bc477ab2dff1405bd1c7794d5d1b2921253800e5c1e2a7ddde676ba537a1e01410e03e74ef9246d90e68ce8ef78a92eb2242762e2aa947ba2a128559ae3e7b9992ada0326eb38601ab58106175d10a11b29400280c427ef1b5b3ca8a61968550a9ec130031fcc8d01ea41de0353daee19f1a7694c218240d858488985cb6b28a970cda85b035fc51c881ce80c800d88162bce02611f2b74f99e1120ea772fe8d4cad5135ea303ffa8cc66d7e1905ca943fcebbf37c446654396131be8059186067a769e81a7f403e111c35ac2f01c68bd9fb8d83982811fe201a09c0336ebd75e4409d6696e40d103ac1e566c8f8f17541fdbed944073cd0bf4dcedee9c7f4d0ae125626b37f051e70376c7890f83e9bfde5d3c921e5d20bc700734ceae369f38dc0ec5fe2243a442aa0351dacd93c418c0de889b22fafca571f93f02e4c357e5fe324cd0190961bfe1ee0399d23b1f94e7cde8a78ed3495816cab24e4e2611f7728820db49155fc1ffdae703db9dcbbe6a25fa4afecb11ce0744f5edc826e9594cb25c08214863785fd9d4d200582002231b6beefd65379bdb1e8d3c34f69de8b90c1e40d8c3189dcf9844f369b3a74108037b44bba07f58ba0548815a00b1a45fc39cf9ab4d822c86dcf0f93a6446ee009800582002b13f74293f8e4295d90a2d652d5885b5790f2814f1f4484335de274b8b19fd504630a0d88f0af374d5bc7be1878863a40219ffff0308311e2ad3c428e89d98685f0297dafa33cd11a9c6ffe5d0949999b79844c83e031b4c338914227d29a5136ddd3935e1ed930cbb46781727f0f3c52f027778db8f0354b04b43970abbb0939fff37357e0c629e23e6b4d16ca4666227f45d8948781303895d00c0d74367d7f1316a5dd9cbdde132abf6767a5889f7762cf8974a6f94550352ed3f4478da7256db29b4c4f9667d1ef47208600cccf1ecf9efb37b8102277f0321001becf725a2e4e8c7c3e44c2b85428811d9125164cdf1484979e550748811036df69be35b882b255ce41c25d252f16b075f12d41923bc797b3d3da9c0c1781003dade70be9698b3018169cff8e2278019b11d866850b68461544514cb678f849b03628b8ff6b1d321476a466cabb0e60f76f968b36f313f9251de30f776f54ead930391f26f6f22724c1725fe53fa9fe5bfab5f9df08fbc994313c3ce0e5e0659809103ee018466bcb265334dfb3fc69a95243b27e95c14fb3da75a8e4b21f5072872dd0219ffff05581e03a09eca415d8f6002d825c3098a1f7fa31c41d02ba3f3bbca0caa47d5800f01460b8a09dbacfd1914380219dabc03240051a084e3407bf1a956fa3769b1dbb9f2d796f3510d406e92081979b9a83103668b7bb86ea7bc9da871352b1684033b320f27696b343d50cc9bb533deb4d4db03e3a7750dad63480824321227267d3739ec75f9fcccf91bf815ad2c472fc2c21603171e28b0642bcb62dc009093678fa12be573dbfe24dddbc283039b85cd6ea97c032510607ce0cc4c0eea2c53fea4ab5419a4e97c962237d6cbcfdc7d81ad003660031d89d79344d637913a3234c8a0785d5e13f7c60c3e0c68038ca6912d14a2962c031bf7e1ac5a84bdb5b56acdfc2c8ea496081f525e3a86576e376f80e2992a96b00332d9351b4f86fa531e3d4c7b831baa1adce40c2c3df6081362aa9277c19ee1880396637b8d7d58430b1d49ace7a0c7d793e8fc2039d5a075475e792447305b52e5035f62c17fe3e0b8786529c0689e13b4df1b5588851c4bbccea401d3b36b6b002e0310e7c030d2c8fb86a9e524b4e2a9020886706e444cfe7370b70dd8094d15f6410219ffff03ad9c8f3ffae992ae38ab7f67eb33e7d992cd7d143488b9ef5970a87bc0099d8a034b60bfbab029fda7b9662d8aa98da04c317017a8d46cda909667f2f345c2986c03e6eab3182221c991c13efe065f56afbcdbcb1c73aca031dd15aeb7dc3150ebfa03a6fd5c1eafd29adad81a62d37100659d6a45230e0f7c8aa0a4917eb1317c027803196eac64ed76b0d6272b7a85333c64e16e79ce9f43683bd1d094b3bb0d3a51b50301306d6433574676351912ece07448faaf6c2256a6fed3d05ec6aaf4cf029caa030f77b12a48da38f38a22810d71d57417c559b01ef6783f967f890051950fdf6103b1cd66ca99bb990d84d3bbafb22748e69b5500f2ff9d72bf9f0aee2fa107ba08033bd3f3191cbfac421db7cd49f7afd619a41caa42b6d38b9ff86547e81ca867500219ffff03814795b8fb0ea417ad3c41cf58179db810138d3a7ca4094cf5334e0817d8d23803f5b2046b4f246f5e1bd9acd971468f9926f282d3ee070995b99e01e181b1aba003ad0844115f19b4ce1e6d8bfe6530330dec27039a7e35eb7ca291ce52a7fc23500338a0ec970ef78c0a509b5e4f54aa8144038bbdfbb04b9219df1be718d37b19f10219ffff03d714fcceec0a4b2ef1e4c8db89aba070210942c8709a5346cb30bed4a9fec47e03823f5bb1167abf0d4236dcfeaa03e14234a0ce921cd5217ff5f204f06a03609003421d590636db1591e3be0c8994b9c7c55a7129573aca81cdc333723af36d283e030eac000f8db09b37bca603089be3fcbd0c591e604b5b402aebff714cdad1742f035933410c77ef4c7505350897bb3824e5b37ea2e3e92bc8f4c1dbe026bedcaf85039b3036376dd5d9fbb10138ccfe90ce728dd05ccae94a310de6f075c0067acecb0219ffff0309c40a346f2c8b11a5e47634f39f99c33d102455d268d8d3a7422b6a21ff98f803b32f280ec4a86abc486074ecdf4ac232b036ab213a0967f8ff03681b7cf527a9035551818a729273b5a546a841b5d389f96339ab996a01e983ae530116bdebd4d1031d98ead0de2235fd970a833bf41ce4e0acea32d12f92fc20e6dc01287fce4c4f03e7797605319c5434918bb4c4e71784d67bf4c339bb516d45903082a0ad16700103c93c286f7b346bf6d307769f6429e45f9f2f596e5a6ab4842c0d7b6ad1d71580030a21b04041cf3c4c8d25f95663728728accd35c98e3af4b953548d05505df2cd0394dfeaf044220cd3e19dbeee97ba9c3055df74028062696cee0dfc4876f6cde50353f59d96ee37c456d5ec923ff9b757479b8b8aba61774d4babf8dd13e518b0c6031c0581b97f9cca71e4dad0709ff2fd22da31a21df796e1069a1d146c7c9f65ed039b869d2ef8ac85ec6f2e39105b9c1f34e76ae9e2d0988b09c6ee0f2d741794a303a4ccc3af614de6cf745878a86981f838d35520517836fd303617776a6659ee56039d80858a11d188e4a694c711bbf434f7e1e66c8fe4b7bec8dee6f99c25d5559703b587f8e4b127889d90e078b684fc3fc853a59fadeb63e1f8cf2e9c68c1b7cee403264c1ea59a0508368656e8fa5b10797b1194ec1a62522ac11b28b49909839b370312f55c1b1f760120f0fa99172420d879cdc4ecec00744c2aea34c533fec6e4e40341125676e985058a4f6c01409f0cd9a6e9ebdf9934ed3dc2e3e1822909e6e4f6034ff7bfec148b8089e0eeb41aac4919fb6a325bd0416b71a749ac7b601efe833c03896eea4c19bdaf3fc55fc2922c65ca5a9604978f278ebd1934dfc2fc4c21957105581d02ef2d902a6ebfa6b778f6ffe6328f44d838a3f234b5bb2fe19310431d0c18d7463c3c9758c6d005581d02e2bfaf97e0884b4e2a0f7f8f7522a9e551dc47296d953dbe9c1fa16f0c014731e7f0ea738178021980200322927545c346e89605aa18bc1b83dcd7234a7f88338b4402a24e7d3e9036e9a103e821d9a8aebddf30389292bcca0a46c421307af253c1c3730072c651356c9fe105581e033d02ecc0069a179cb231092f66a3e60bb2ab2ba517d63fd34f2c67c520040103761717dc3a5df70ea4ea64091d055989f7f97485fa2314da8608db9b798be201035aba56065dab41e448ef9dd190f3b3e85dec6696761722cf1fde1c11326c9e1605581e030fc13110a0dc4d507bfabb15ac9aa9e43cfcb419e731f13d36093b7d600846708952a46c1403ebb461b2135851c0232486b40437c55858d9681ef66d20203578d7e79280f1840219cd2b03ce82882e525d0888b58513db1d6b334ccf056b1b6165318036791ca198672b79039aa6f1b5a06afc14f67b4cc8987e2c6f7866c09c2cdbeefb7172447f724909fa0305d6edc52151b5cdacb7b8a82f91f0d52598571fae6aaac78ed7a64a023c5344032c40e408222759b29160efd51c7c824673671a9e32f69938ef09668958d6c41003cae66a4edc9bc7dfd217131f69b3d571fbac6378381627a840a0aa738c50761f036385d27d97c50229536baa4a82ef6e0267e9628d2299615659f3e91cf3a62b2a0369be903b39887a8075c3f843f915a88567849f0b09365db05f3546d0959b5495034a6cea4ecbcbcf78743474e6fff85745d512babfaaf7234c4c2d30a0ca97c4fa03f54d870214258bb0d199308af87ddd15dbfeeb3fd6d86b20a00764ecd85ac3a703950d5acdeb2ef929471bdaedeb6fbcb0ee54001e2c669f647894e3f98ade2362038de23b6adbc4494163082e7099287cb9a29baa41fce2f4dd90b08f4a21c2c0680219ffff0302d92b7ff20cbada7126fcbaf47225dbc9ff05ed31e9888943e401d1932f8d8903704d6982ae0daf58d02f438bed01d74f24e9d50ab0cbac4601aeac0b8099cb740349fae01c44de4c965b8db86ebfb3d3c4108d7f2c72e4d2460439c23af13fd7260313806afa74098721cd460782c4064c5539610b9673385b618682f568884973db033b18180b6140bc4f1891e843946e5670f0ed41f440f9e15c2cb51841ab96945603ee8fd53f4a7b2c974eb9816d2f030c45f81bd6b3e5499eac43c1e159045efb39038c15efa437c4564431031772dbd0635cd17ff52415afa54eb16adcd88c0f8f5b03affe6662253127db5a7320a5e4c43e34c1c85d4f21a8970f4a536a8523bb01f503133df179c2c8a5f89c0002ee53d376e187cbc9b4bbdf8f13fe75ca12c0e17f3803890e3bf3033cb64be3e7f1f714456844acfa859dfaf7ec3b7b6faeb1f757b6960352344e4e28c5f3ed007637de4e4cc2f28694ed31f0aa2a9f28b59a8ba29399a10394a8391f2c2b79b28be5a06a1c73e5371d302ed94eb2076fedd3e91ffe2c0f81039f25d8cc6203390928e48ff484e84fdfb41768b0d88b59a5662f7a94920a78220219ffff03b63c049473bcb92611fe85e13d61aaab080adf5f05a5ef34f20dfd13effe6d8e03673e8ed866adeae8657ac85646f12ef3ecd3635aba90898f68f682d90b0971fd0322a66f5e22f24f33da3df35b41b58e4dc69e6d23a2ad6bd6491483c3fb71ce7d0219ffff03e9b763c23fa756fc11262d18f393566f1d5fcbcde88332a2c0e62f23220d890203eb58ee35487d4f5b382184d66252f5a3c8389d34acc6da8272c1d0b846805d7103ef5b083156e4e7d947cf9d64050fe84bc9f6a1153970d2d0035d73bd6724c3c00301b1393a91682676f4ddaa8d3e7b2571399822bdb8c7c5d465d7d117b0552748036f6d167b550326b894e3785fa3c45e9f2166f3daaaf1b1ab255a837be83ee93203d1d60de7a55770db534b0a53c3858df343f6e94b0b1a1d7c1ccd17f36b8095b803aaf174496cd4dbda11037b341d8d1b0e5d3076cd45802604912451de269b247f0387e64901b43921cd5b73b42a6d8d372241c9095a8d40495e305e38410fb5fd8d03e439ed299f87bbd4ed661d8dedde00013713fd550386fe3a1dc01cbd443b0e8f03063f06089fdf0903f966046abb1cb4cb2950d22a0569711e8a965efef657857a03eda2e4e07b40cdb382e2d1027477c44b17941359c8173ec2c9f5374b7c93ed5f0320f92e0b4ec1501ba109937ea814824f198bf4f16fa90813bece9d3b157997f30316d3db01e8be12247a18f22385c1613a13f0e5e10574ce16722d98774ff26d8a033ecf6c3b19c154e5d62e746c72265f8afef9a055215b75d8793d1cbe84f8ba3703241fd33a8f99e234fe3dde3c52e917fd2811408569358daf153d66f603881677036f28af65e990f31dcfbd40ae392ab45be9c336170d68e13472a43a5583cb8805030b078b9644dc1ebd2bd813e8e227e87c4c2c0aba4ade075e6f565797fa4378a2033c07e01e4b46b9077610501c0caff73176076516cfcd4387e4decfea21715dad0373f210e2582bfba544260c34c2888937dcbab6e62e35c3e90697f766f1d9bae30382b7ba9f39f9641fb4856d30630b5fab958c608e031bbac13d8ccfc2cedf827603c0705a2ef963b23618feae44c51e3d66ed02ba1ce20887fecbc2c874e718c3f003da25ab139c69c2943652137c1f67dccff309f4f0cdc75c3a6e343aa9b5182c0403fe2fbcdd849e189ba56097587e15937be5e14cfa4296f9f48c0ca8c1c1e84824035d483231ecd31391c7346fa0f0e10f7bcdfedc884a4435f02d275e199b7697a90336b3ec759fc2c7f4718e2666c452ec8350d515595e5558b9c81cc80337973be0031d2ebc476d3d0e4e3a1d59c1f278c5fe030668f23b98a671b0ceae7a23aae77c0356ae9fb8fe41601dfdfe284f8c4f21856d0cfff619a0096b4fae316ec2fd136003bf241f1bcc6b4a78bdd8848c95c4bc0dacbcf1d78692c0c46e644eae4a88e5cc03857b95feb97194f41080d1023c8b24eeac6b4d6536f0d2753368b4ece2c4f20b037f4d9267548599f964b5eaa21ba3bd52d40375d15f3c6db37b4642d05c643e3f03e99504ce0bf45c3c36cdab713e4a0f631872b0676e2e127f162dd15a37d464e80368a40dd8ffdc14f0dd4460ab6a403bb3c9c0a939872f510ba32d1970fb883c630399bfd041dba868a035e261923e7421e559cea7f9e6fe73ce634366e70bfb3af00388ba3d14ea8c219b11d5aacebecd302b29ee9b0383b7dfb6bd91ad08b190ad9a03528f301a15f7926d36081f8f7ea3917838b1fdbe3a931da45ec9faae519974d803fdd29845cd442ceaddcdccce0a87060ed78fa5a2abafb60f05127e6b5bd5efcf0381599558fe341d53e91791c4fa6e2cab93135db0b9fb7bfc331d60e64a6a7a0a039f8342939fae4327883aa12fa69e2d371824fbd2fa6733488431d1118d9c0fdd03a62913dd653082512a28ab6050183dbda00ae67b8ecc20ec0619ade87328a43003e6e6c6c517d8f0d2121e064ae1b2ec2f9e20980e618ac6e012c60428aedea63605581e0380008cc592efde7d2ccf0bcfc275464c8083e8623a8430ba188c6793a00c01477337de3ef16401032365dc9af8b1bbc305cb99cb85884231ebbad04bf11338075f139c9bf53f09ba03fa0e963ad2dfa2e8dd3d2b864ba0402ed8ebdfbf9ed42326ccf6da33883a6717045932a66080604052600436106101ee5760003560e01c80638da5cb5b1161010d578063c052bd61116100a0578063d1c64cc91161006f578063d1c64cc914610604578063ea4d3c9b14610624578063f2fde38b14610658578063f6848d2414610678578063fabc1cbc146106b357600080fd5b8063c052bd6114610584578063c1de3aef146105a4578063c2c51c40146105c4578063cf756fdf146105e457600080fd5b8063a38406a3116100dc578063a38406a3146104fa578063a6a509be1461051a578063b134427114610530578063beffbb891461056457600080fd5b80638da5cb5b1461046b5780639104c319146104895780639b4e4634146104b15780639ba06275146104c457600080fd5b8063595c6a6711610185578063715018a611610154578063715018a6146103ed57806374cdd7981461040257806384d8106214610436578063886f11951461044b57600080fd5b8063595c6a67146103565780635ac86ab71461036b5780635c975abb146103ab57806360f4062b146103c057600080fd5b8063387b1300116101c1578063387b1300146102b457806339b70e38146102d457806344e71c8014610308578063463db0381461033657600080fd5b80630e81073c146101f357806310d67a2f14610226578063136439dd14610248578063292b7b2b14610268575b600080fd5b3480156101ff57600080fd5b5061021361020e366004612406565b6106d3565b6040519081526020015b60405180910390f35b34801561023257600080fd5b50610246610241366004612432565b610911565b005b34801561025457600080fd5b5061024661026336600461244f565b6109c4565b34801561027457600080fd5b5061029c7f0000000000000000000000005a2a4f2f3c18f09179b6703e63d9edd16590907381565b6040516001600160a01b03909116815260200161021d565b3480156102c057600080fd5b506102466102cf366004612468565b610b03565b3480156102e057600080fd5b5061029c7f000000000000000000000000858646372cc42e1a627fce94aa7a7033e7cf075a81565b34801561031457600080fd5b5061031d610ea1565b60405167ffffffffffffffff909116815260200161021d565b34801561034257600080fd5b506102466103513660046124a9565b610eca565b34801561036257600080fd5b50610246611056565b34801561037757600080fd5b5061039b6103863660046124d3565b606654600160ff9092169190911b9081161490565b604051901515815260200161021d565b3480156103b757600080fd5b50606654610213565b3480156103cc57600080fd5b506102136103db366004612432565b609b6020526000908152604090205481565b3480156103f957600080fd5b5061024661111d565b34801561040e57600080fd5b5061029c7f00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa81565b34801561044257600080fd5b5061029c611131565b34801561045757600080fd5b5060655461029c906001600160a01b031681565b34801561047757600080fd5b506033546001600160a01b031661029c565b34801561049557600080fd5b5061029c73beac0eeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeac081565b6102466104bf36600461253f565b61121b565b3480156104d057600080fd5b5061029c6104df366004612432565b6098602052600090815260409020546001600160a01b031681565b34801561050657600080fd5b5061029c610515366004612432565b61130a565b34801561052657600080fd5b5061021360995481565b34801561053c57600080fd5b5061029c7f000000000000000000000000d92145c07f8ed1d392c1b88017934e301cc1c3cd81565b34801561057057600080fd5b5061024661057f366004612406565b6113dc565b34801561059057600080fd5b5060975461029c906001600160a01b031681565b3480156105b057600080fd5b506102466105bf366004612432565b6115f3565b3480156105d057600080fd5b506102466105df366004612406565b611604565b3480156105f057600080fd5b506102466105ff3660046125b3565b611a07565b34801561061057600080fd5b5061021361061f3660046124a9565b611b30565b34801561063057600080fd5b5061029c7f00000000000000000000000039053d51b77dc0d36036fc1fcc8cb819df8ef37a81565b34801561066457600080fd5b50610246610673366004612432565b611c3b565b34801561068457600080fd5b5061039b610693366004612432565b6001600160a01b0390811660009081526098602052604090205416151590565b3480156106bf57600080fd5b506102466106ce36600461244f565b611cb1565b6000336001600160a01b037f00000000000000000000000039053d51b77dc0d36036fc1fcc8cb819df8ef37a16146107265760405162461bcd60e51b815260040161071d90612604565b60405180910390fd5b6001600160a01b0383166107a25760405162461bcd60e51b815260206004820152603a60248201527f456967656e506f644d616e616765722e6164645368617265733a20706f644f7760448201527f6e65722063616e6e6f74206265207a65726f2061646472657373000000000000606482015260840161071d565b60008212156108105760405162461bcd60e51b815260206004820152603460248201527f456967656e506f644d616e616765722e6164645368617265733a207368617265604482015273732063616e6e6f74206265206e6567617469766560601b606482015260840161071d565b61081e633b9aca0083612678565b156108915760405162461bcd60e51b815260206004820152603d60248201527f456967656e506f644d616e616765722e6164645368617265733a20736861726560448201527f73206d75737420626520612077686f6c65204777656920616d6f756e74000000606482015260840161071d565b6001600160a01b0383166000908152609b6020526040812054906108b584836126a2565b6001600160a01b0386166000818152609b6020526040908190208390555191925090600080516020613231833981519152906108f49087815260200190565b60405180910390a26109068282611e0d565b925050505b92915050565b606560009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610964573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098891906126e3565b6001600160a01b0316336001600160a01b0316146109b85760405162461bcd60e51b815260040161071d90612700565b6109c181611e4f565b50565b60655460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610a0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a30919061274a565b610a4c5760405162461bcd60e51b815260040161071d9061276c565b60665481811614610ac55760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c6974790000000000000000606482015260840161071d565b606681905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b336001600160a01b037f00000000000000000000000039053d51b77dc0d36036fc1fcc8cb819df8ef37a1614610b4b5760405162461bcd60e51b815260040161071d90612604565b6001600160a01b038316610bc55760405162461bcd60e51b8152602060048201526047602482015260008051602061325183398151915260448201527f546f6b656e733a20706f644f776e65722063616e6e6f74206265207a65726f206064820152666164647265737360c81b608482015260a40161071d565b6001600160a01b038216610c425760405162461bcd60e51b815260206004820152604a602482015260008051602061325183398151915260448201527f546f6b656e733a2064657374696e6174696f6e2063616e6e6f74206265207a65606482015269726f206164647265737360b01b608482015260a40161071d565b6000811215610cb15760405162461bcd60e51b8152602060048201526041602482015260008051602061325183398151915260448201527f546f6b656e733a207368617265732063616e6e6f74206265206e6567617469766064820152606560f81b608482015260a40161071d565b610cbf633b9aca0082612678565b15610d335760405162461bcd60e51b815260206004820152604a602482015260008051602061325183398151915260448201527f546f6b656e733a20736861726573206d75737420626520612077686f6c6520476064820152691dd95a48185b5bdd5b9d60b21b608482015260a40161071d565b6001600160a01b0383166000908152609b602052604081205490811215610e26576000610d5f826127b4565b905080831115610dc4576001600160a01b0385166000908152609b6020526040812055610d8c81846127d1565b9250846001600160a01b031660008051602061323183398151915282604051610db791815260200190565b60405180910390a2610e24565b6001600160a01b0385166000908152609b602052604081208054859290610dec9084906126a2565b90915550506040518381526001600160a01b038616906000805160206132318339815191529060200160405180910390a25050505050565b505b6001600160a01b03848116600090815260986020526040908190205490516362483a2160e11b815285831660048201526024810185905291169063c490744290604401600060405180830381600087803b158015610e8357600080fd5b505af1158015610e97573d6000803e3d6000fd5b5050505050505050565b609c5460009067ffffffffffffffff1680610ec55767ffffffffffffffff91505090565b919050565b610ed2611f46565b67ffffffffffffffff8116610f645760405162461bcd60e51b815260206004820152604c60248201527f456967656e506f644d616e616765722e73657444656e6562466f726b54696d6560448201527f7374616d703a2063616e6e6f7420736574206e657744656e6562466f726b546960648201526b06d657374616d7020746f20360a41b608482015260a40161071d565b609c5467ffffffffffffffff16156110005760405162461bcd60e51b815260206004820152605360248201527f456967656e506f644d616e616765722e73657444656e6562466f726b54696d6560448201527f7374616d703a2063616e6e6f74207365742064656e6562466f726b54696d657360648201527274616d70206d6f7265207468616e206f6e636560681b608482015260a40161071d565b609c805467ffffffffffffffff191667ffffffffffffffff83169081179091556040519081527f19200b6fdad58f91b2f496b0c444fc4be3eff74a7e24b07770e04a7137bfd9db9060200160405180910390a150565b60655460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa15801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c2919061274a565b6110de5760405162461bcd60e51b815260040161071d9061276c565b600019606681905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b611125611f46565b61112f6000611fa0565b565b6066546000908190600190811614156111885760405162461bcd60e51b815260206004820152601960248201527814185d5cd8589b194e881a5b99195e081a5cc81c185d5cd959603a1b604482015260640161071d565b336000908152609860205260409020546001600160a01b03161561120a5760405162461bcd60e51b815260206004820152603360248201527f456967656e506f644d616e616765722e637265617465506f643a2053656e64656044820152721c88185b1c9958591e481a185cc818481c1bd9606a1b606482015260840161071d565b6000611214611ff2565b9250505090565b606654600090600190811614156112705760405162461bcd60e51b815260206004820152601960248201527814185d5cd8589b194e881a5b99195e081a5cc81c185d5cd959603a1b604482015260640161071d565b336000908152609860205260409020546001600160a01b03168061129957611296611ff2565b90505b6040516326d3918d60e21b81526001600160a01b03821690639b4e46349034906112cf908b908b908b908b908b90600401612811565b6000604051808303818588803b1580156112e857600080fd5b505af11580156112fc573d6000803e3d6000fd5b505050505050505050505050565b6001600160a01b038082166000908152609860205260408120549091168061090b576113d5836001600160a01b031660001b60405180610940016040528061090e815260200161292361090e9139604080516001600160a01b037f0000000000000000000000005a2a4f2f3c18f09179b6703e63d9edd165909073166020820152808201919091526000606082015260800160408051601f19818403018152908290526113ba9291602001612886565b60405160208183030381529060405280519060200120612157565b9392505050565b336001600160a01b037f00000000000000000000000039053d51b77dc0d36036fc1fcc8cb819df8ef37a16146114245760405162461bcd60e51b815260040161071d90612604565b600081121561149b5760405162461bcd60e51b815260206004820152603760248201527f456967656e506f644d616e616765722e72656d6f76655368617265733a20736860448201527f617265732063616e6e6f74206265206e65676174697665000000000000000000606482015260840161071d565b6114a9633b9aca0082612678565b1561151e576040805162461bcd60e51b81526020600482015260248101919091527f456967656e506f644d616e616765722e72656d6f76655368617265733a20736860448201527f61726573206d75737420626520612077686f6c65204777656920616d6f756e74606482015260840161071d565b6001600160a01b0382166000908152609b602052604081205461154290839061289b565b905060008112156115d35760405162461bcd60e51b815260206004820152604f60248201527f456967656e506f644d616e616765722e72656d6f76655368617265733a20636160448201527f6e6e6f7420726573756c7420696e20706f64206f776e657220686176696e672060648201526e6e656761746976652073686172657360881b608482015260a40161071d565b6001600160a01b039092166000908152609b602052604090209190915550565b6115fb611f46565b6109c1816121b3565b6001600160a01b03808316600090815260986020526040902054839116331461167f5760405162461bcd60e51b815260206004820152602760248201527f456967656e506f644d616e616765722e6f6e6c79456967656e506f643a206e6f6044820152661d0818481c1bd960ca1b606482015260840161071d565b600260c95414156116d25760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161071d565b600260c9556001600160a01b03831661176e5760405162461bcd60e51b815260206004820152605260248201527f456967656e506f644d616e616765722e7265636f7264426561636f6e4368616960448201527f6e45544842616c616e63655570646174653a20706f644f776e65722063616e6e6064820152716f74206265207a65726f206164647265737360701b608482015260a40161071d565b61177c633b9aca00836128da565b156118155760405162461bcd60e51b815260206004820152605a60248201527f456967656e506f644d616e616765722e7265636f7264426561636f6e4368616960448201527f6e45544842616c616e63655570646174653a2073686172657344656c7461206d60648201527f75737420626520612077686f6c65204777656920616d6f756e74000000000000608482015260a40161071d565b6001600160a01b0383166000908152609b60205260408120549061183984836126a2565b6001600160a01b0386166000908152609b602052604081208290559091506118618383611e0d565b905080156119c957600081121561192c576001600160a01b037f00000000000000000000000039053d51b77dc0d36036fc1fcc8cb819df8ef37a1663132d49678773beac0eeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeac06118c0856127b4565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401600060405180830381600087803b15801561190f57600080fd5b505af1158015611923573d6000803e3d6000fd5b505050506119c9565b604051631452b9d760e11b81526001600160a01b03878116600483015273beac0eeeeeeeeeeeeeeeeeeeeeeeeeeeeeebeac06024830152604482018390527f00000000000000000000000039053d51b77dc0d36036fc1fcc8cb819df8ef37a16906328a573ae90606401600060405180830381600087803b1580156119b057600080fd5b505af11580156119c4573d6000803e3d6000fd5b505050505b856001600160a01b0316600080516020613231833981519152866040516119f291815260200190565b60405180910390a25050600160c95550505050565b600054610100900460ff1615808015611a275750600054600160ff909116105b80611a415750303b158015611a41575060005460ff166001145b611aa45760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161071d565b6000805460ff191660011790558015611ac7576000805461ff0019166101001790555b611ad0856121b3565b611ad984611fa0565b611ae383836121fd565b8015611b29576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60975460405163321accf960e11b815267ffffffffffffffff8316600482015260009182916001600160a01b039091169063643599f290602401602060405180830381865afa158015611b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bab91906128ee565b90508061090b5760405162461bcd60e51b815260206004820152605260248201527f456967656e506f644d616e616765722e676574426c6f636b526f6f744174546960448201527f6d657374616d703a20737461746520726f6f742061742074696d657374616d70606482015271081b9bdd081e595d08199a5b985b1a5e995960721b608482015260a40161071d565b611c43611f46565b6001600160a01b038116611ca85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071d565b6109c181611fa0565b606560009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2891906126e3565b6001600160a01b0316336001600160a01b031614611d585760405162461bcd60e51b815260040161071d90612700565b606654198119606654191614611dd65760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c6974790000000000000000606482015260840161071d565b606681905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610af8565b6000808313611e2d5760008213611e265750600061090b565b508061090b565b60008213611e4557611e3e836127b4565b905061090b565b611e3e838361289b565b6001600160a01b038116611edd5760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a40161071d565b606554604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a1606580546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461112f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161071d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060996000815461200390612907565b9091555060408051610940810190915261090e8082526000916120a291839133916129236020830139604080516001600160a01b037f0000000000000000000000005a2a4f2f3c18f09179b6703e63d9edd165909073166020820152808201919091526000606082015260800160408051601f198184030181529082905261208e9291602001612886565b6040516020818303038152906040526122e7565b60405163189acdbd60e31b81523360048201529091506001600160a01b0382169063c4d66de890602401600060405180830381600087803b1580156120e657600080fd5b505af11580156120fa573d6000803e3d6000fd5b50503360008181526098602052604080822080546001600160a01b0319166001600160a01b038816908117909155905192945092507f21c99d0db02213c32fff5b05cf0a718ab5f858802b91498f80d82270289d856a91a3919050565b604080516001600160f81b03196020808301919091526bffffffffffffffffffffffff193060601b16602183015260358201859052605580830185905283518084039091018152607590920190925280519101206000906113d5565b609780546001600160a01b0319166001600160a01b0383169081179091556040517f08f0470754946ccfbb446ff7fd2d6ae6af1bbdae19f85794c0cc5ed5e8ceb4f690600090a250565b6065546001600160a01b031615801561221e57506001600160a01b03821615155b6122a05760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a40161071d565b606681905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a26122e382611e4f565b5050565b6000808447101561233a5760405162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015260640161071d565b82516123885760405162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015260640161071d565b8383516020850187f590506001600160a01b0381166123e95760405162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015260640161071d565b949350505050565b6001600160a01b03811681146109c157600080fd5b6000806040838503121561241957600080fd5b8235612424816123f1565b946020939093013593505050565b60006020828403121561244457600080fd5b81356113d5816123f1565b60006020828403121561246157600080fd5b5035919050565b60008060006060848603121561247d57600080fd5b8335612488816123f1565b92506020840135612498816123f1565b929592945050506040919091013590565b6000602082840312156124bb57600080fd5b813567ffffffffffffffff811681146113d557600080fd5b6000602082840312156124e557600080fd5b813560ff811681146113d557600080fd5b60008083601f84011261250857600080fd5b50813567ffffffffffffffff81111561252057600080fd5b60208301915083602082850101111561253857600080fd5b9250929050565b60008060008060006060868803121561255757600080fd5b853567ffffffffffffffff8082111561256f57600080fd5b61257b89838a016124f6565b9097509550602088013591508082111561259457600080fd5b506125a1888289016124f6565b96999598509660400135949350505050565b600080600080608085870312156125c957600080fd5b84356125d4816123f1565b935060208501356125e4816123f1565b925060408501356125f4816123f1565b9396929550929360600135925050565b602080825260409082018190527f456967656e506f644d616e616765722e6f6e6c7944656c65676174696f6e4d61908201527f6e616765723a206e6f74207468652044656c65676174696f6e4d616e61676572606082015260800190565b634e487b7160e01b600052601260045260246000fd5b60008261268757612687612662565b500690565b634e487b7160e01b600052601160045260246000fd5b600080821280156001600160ff1b03849003851316156126c4576126c461268c565b600160ff1b83900384128116156126dd576126dd61268c565b50500190565b6000602082840312156126f557600080fd5b81516113d5816123f1565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b60006020828403121561275c57600080fd5b815180151581146113d557600080fd5b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b6000600160ff1b8214156127ca576127ca61268c565b5060000390565b6000828210156127e3576127e361268c565b500390565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6060815260006128256060830187896127e8565b82810360208401526128388186886127e8565b9150508260408301529695505050505050565b6000815160005b8181101561286c5760208185018101518683015201612852565b8181111561287b576000828601525b509290920192915050565b60006123e9612895838661284b565b8461284b565b60008083128015600160ff1b8501841216156128b9576128b961268c565b6001600160ff1b03840183138116156128d4576128d461268c565b50500390565b6000826128e9576128e9612662565b500790565b60006020828403121561290057600080fd5b5051919050565b600060001982141561291b5761291b61268c565b506001019056fe608060405260405161090e38038061090e83398101604081905261002291610460565b61002e82826000610035565b505061058a565b61003e83610100565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a260008251118061007f5750805b156100fb576100f9836001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100e99190610520565b836102a360201b6100291760201c565b505b505050565b610113816102cf60201b6100551760201c565b6101725760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b6101e6816001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d79190610520565b6102cf60201b6100551760201c565b61024b5760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b6064820152608401610169565b806102827fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5060001b6102de60201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b60606102c883836040518060600160405280602781526020016108e7602791396102e1565b9392505050565b6001600160a01b03163b151590565b90565b6060600080856001600160a01b0316856040516102fe919061053b565b600060405180830381855af49150503d8060008114610339576040519150601f19603f3d011682016040523d82523d6000602084013e61033e565b606091505b5090925090506103508683838761035a565b9695505050505050565b606083156103c65782516103bf576001600160a01b0385163b6103bf5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610169565b50816103d0565b6103d083836103d8565b949350505050565b8151156103e85781518083602001fd5b8060405162461bcd60e51b81526004016101699190610557565b80516001600160a01b038116811461041957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561044f578181015183820152602001610437565b838111156100f95750506000910152565b6000806040838503121561047357600080fd5b61047c83610402565b60208401519092506001600160401b038082111561049957600080fd5b818501915085601f8301126104ad57600080fd5b8151818111156104bf576104bf61041e565b604051601f8201601f19908116603f011681019083821181831017156104e7576104e761041e565b8160405282815288602084870101111561050057600080fd5b610511836020830160208801610434565b80955050505050509250929050565b60006020828403121561053257600080fd5b6102c882610402565b6000825161054d818460208701610434565b9190910192915050565b6020815260008251806020840152610576816040850160208701610434565b601f01601f19169190910160400192915050565b61034e806105996000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b610100565b565b606061004e83836040518060600160405280602781526020016102f260279139610124565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fb9190610249565b905090565b3660008037600080366000845af43d6000803e80801561011f573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161014191906102a2565b600060405180830381855af49150503d806000811461017c576040519150601f19603f3d011682016040523d82523d6000602084013e610181565b606091505b50915091506101928683838761019c565b9695505050505050565b6060831561020d578251610206576001600160a01b0385163b6102065760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610217565b610217838361021f565b949350505050565b81511561022f5781518083602001fd5b8060405162461bcd60e51b81526004016101fd91906102be565b60006020828403121561025b57600080fd5b81516001600160a01b038116811461004e57600080fd5b60005b8381101561028d578181015183820152602001610275565b8381111561029c576000848401525b50505050565b600082516102b4818460208701610272565b9190910192915050565b60208152600082518060208401526102dd816040850160208701610272565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d51e81d3bc5ed20a26aeb05dce7e825c503b2061aa78628027300c8d65b9d89a64736f6c634300080c0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65644e2b791dedccd9fb30141b088cabf5c14a8912b52f59375c95c010700b8c6193456967656e506f644d616e616765722e77697468647261775368617265734173a2646970667358221220f4142d31b19c8d9ca756fceb11e0a14c189743e7b456cda04629fad4f5e08cf164736f6c634300080c003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d0246ab51485be7a1a26d6c09add9daadf1d2d10f5882947db7f6628c0307011932a605581d02ead2b1243fc47b03a1acefcebb58b25aa2baedcae46d105b373814ed0c014701194bafca11e10219840005581e034d73534ef2ae6f8013309eaa589de7370eed02af21968404169d08ead00c014703f9c93837707005581e030107d17f1dcd5ae21358416c9dd6288d1188de9595d6b4083c2ee8602008478700cc7577000005581e03f64fc4493e35064f4568bf84860ba959845ab9859a7224925e6b6d1bc004010219c0da0219ffff03f09ee9c8d2ac2d1c0c1dd080246c174dd1c7fd3a513f579ad85f6bbae50987fb03f5474fa7759d7e8d5977dec6329f8caca86195927a2d46d6daf65585a3220ec103b65bb7cb6eb103113c04fd3906af54d955ccfa822413d18ed80183ba6f204df6034e06f800a3ea87a205b8b4162e81dd522993492031050c5806bb9c36b22d4f2303518d79fc6ca9f938d0a095fcaceaa6e89769460c2dc60ce11e4bb21362a3a83a03b07ad1931ba7e3c471eb9723bd1ac7feb8b19c7b4750511897e4ec2df88bd48e03af2722d0cd1427692b6a4fce70c2e9c982ec23eb46efab09436f04ca2a24319703b7f41672bd1cc736413b6ab855ba187ad6ff6b3054be85101ca03587ac2221880219ffff031cef1c6cbe248c1637530fb84aabc3e78ac0586f804382b8e83b8a4a96c415140318933004da9ca9db89957829f16441c434057ea775926d54b115ac252666ab6603b1ec6b8ba6f187b2678c5db9b92281446ce50a1fbf42e23ce6091b1fbc5dec5003f420c851fa871eb1cd8d61953073e143176b8ba38b2e99249d7512bec4e2d748033d35db6324e385e7fd1ecd7b22bd107e315e23b4c603b166afd527a4899c65c00219ffff03389c424487c93e23fdd6dd2baa002481d78b86f21d881684db0dee23ff5c418a03e3c300dcadd4b0693a1c99c2ae65eb2c08907a2c11befa50d048242aa751bca203d5e783fb8582fc340d1b615307138f7ac45c38ff1dc6d61139084ad1e79d7c0d03483ba280a22565d99a077c075499e5e84cff873c0b57c63e67baa05bf0b4b16903e261156b8e6edac50512584b9dfaef3b855e8223d11ab26da4a991467111cdd803222f553beafb656f115fbe4b1dccb14386777fb7f4172273aec06e24b406745f034c688a2c755cb8fe55eeeb342ac99f3e62164343b5c9f969ce67c1cf308296d803215ea6e50e07c3545253c8fb5f347936be5bfabbb54a8f1b34a771809c0763a50325e1fd56c93b8ba4193c897b844ab2feaed83d9e4052fa85a1b965cfee9968e60380b1d11590a938fb981002ae85b79bf5a3d928ea618b515f1031565cf86297c203dba25d3ec97db5953622c26658d3da300988c341848867614a9365bb9061467503d56c58e718afaf8ff190fed604f1bf2b40f8dfac726ed010d2592f345d59b4e003c87c045656c1fab393c1ea8dee759b05588cde8fd6cfe1e14527e15cfbadb28a033229b5fb9f949129c7d520d93675b5437a01c1e3174cdb41565a8f6c598bcf1a0387a97360fd342565826c25c2c9594e8ac91b7673b1e4d94c2c07eccd9969f4cd03957ca122432dc046bbab7ae0e337b0cc8bc3e6692ad9e5f9a24290678505e12303d8cc01ff829df9f69c1490a9966c77715e1a18a636bc4f5d55fae6443cbc63b10373d0a7155c26ebaafbad7a276a1003229a0a7c58d9b46d32e5a164ae9642dd7d0392a4cada1d01866def5989539f90aef2c2597c4772999d02a893a0befb6b16950376fccfec2f7324476a9480eb019ddf767df75d9dcae943625bcf4e4a05f9310b03e3d4ed34f1172065aeaebd322b7238ea4e093b35cbe36858139cca5a8d31dd13032be832fdebf045ac4bbf3fca2f49758fe34ff677d9ed5b7983dfcb6c0fc52da703bc353ca79eecc32d74a2671db0b7420ad6e45d29bf4cb747aa6aad9f3811f36e037b5b39c8b721eb177e4fd1c142154562a6fe6878084bf928a2ebed939181d69d039a88f213ba571003dc4fed4a16b9ca8406ae0e5cdd0bb3c6024d59f67b3fd5c4034150b8048cdcb7591ee3dd96f742721eb66952885628b5d6cb1289622ab4607e0333142b4f9a261af0b49c76d3c7cdfaef4062892f8a438e88eb571c97dc8a1add032053a5a75d9876ceb9d2055571127855c1b7dd03b95e50a1ca3891eb8af9772703003584f693f0527cc50e89ab1c5986d97b6a0a47ef51d16f93e09223f5a085e203d25ecb17776c6f02fa86c293bc4c610778e9a9e2cdb67f3232c2013d1b77eafb034e621c2072d33b472dd43c46da1c15aea4eafa914979803b54c9504dde57990603a034f6dad84dbc93142fe274fade5183acfc0e05e6fedee26145a33db4ba008403c69a3253dd39d38c20b7e384c60697b50f7b8857bb0066dae0b06ae4444ccf77031e105f2ee27bdafabd9a979b0c5075d5dd8b9041e057049cdadf87ae4b3b914c03810564178ba4f98241c6cabdeb63a202847eed850dbbb793bef18115f2ed94c7030b85775ca4fd5a8bd0c4256315ce41d2520b9f71c5712bb2ac27f28ff5d4510603a018b6666348a050fb1213e6574efe7beea58461b9cf83ecc2e7a1bb1cad46be03c8d4b77810434c9f52c220a24e9cfe1eb07a8a53136f986dc5f58b8ad729a2ae03f72e0dd47e5cdaadb3b07f7e33722486d456244daacd3bcea887200bd3cfd76203d517a83dea51e48005ccfc7c134947d6bcab5b4902b5f55ccb8a116d4cb6877d03a5c83fd3a66657bfa8bc5a0e346c6f735428154e133d9b2ca4405a96e8f060e005581e03facd74536ab3fd607ab91e4c2e255aac6568565950265d3feb1a6b1e60040305581e0399a7b31b57ca2e87926e06536b1d6e92c9d32de8b463c52ff0915846900c03476a9a07248d060005581e0344da534ac2a0e50708d6ba5d607c3cc62cb804c22a3e6ac01289b7aee00c01470124a1dd6db60004591dd160806040526004361061015f5760003560e01c80638d839ffe116100c0578063aeb8ce9b11610074578063d3419bf311610059578063d3419bf3146103fe578063f14fcbc814610432578063f2fde38b1461045257600080fd5b8063aeb8ce9b146103aa578063ce1e09c0146103ca57600080fd5b80639791c097116100a55780639791c09714610343578063a8e5fbc014610363578063acf1a8411461039757600080fd5b80638d839ffe146102f15780638da5cb5b1461032557600080fd5b806374694a2b11610117578063839df945116100fc578063839df9451461027257806383e7f6ff1461029f5780638a95b09f146102da57600080fd5b806374694a2b14610213578063808698531461022657600080fd5b80635d3590d5116101485780635d3590d5146101b057806365a69dcf146101d0578063715018a6146101fe57600080fd5b806301ffc9a7146101645780633ccfd60b14610199575b600080fd5b34801561017057600080fd5b5061018461017f366004611421565b610472565b60405190151581526020015b60405180910390f35b3480156101a557600080fd5b506101ae61050b565b005b3480156101bc57600080fd5b506101ae6101cb36600461147f565b610548565b3480156101dc57600080fd5b506101f06101eb3660046115ec565b6105e2565b604051908152602001610190565b34801561020a57600080fd5b506101ae610680565b6101ae6102213660046116ef565b610694565b34801561023257600080fd5b5061025a7f000000000000000000000000a58e81fe9b61b5c3fe2afd33cf304c454abfc7cb81565b6040516001600160a01b039091168152602001610190565b34801561027e57600080fd5b506101f061028d3660046117b9565b60016020526000908152604090205481565b3480156102ab57600080fd5b506102bf6102ba3660046117d2565b6109b0565b60408051825181526020928301519281019290925201610190565b3480156102e657600080fd5b506101f06224ea0081565b3480156102fd57600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000000003c81565b34801561033157600080fd5b506000546001600160a01b031661025a565b34801561034f57600080fd5b5061018461035e366004611817565b610b03565b34801561036f57600080fd5b5061025a7f000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe2568640181565b6101ae6103a536600461184c565b610b18565b3480156103b657600080fd5b506101846103c5366004611817565b610cd9565b3480156103d657600080fd5b506101f07f000000000000000000000000000000000000000000000000000000000001518081565b34801561040a57600080fd5b5061025a7f0000000000000000000000007542565191d074ce84fbfa92cae13acb84788ca981565b34801561043e57600080fd5b506101ae61044d3660046117b9565b610d9c565b34801561045e57600080fd5b506101ae61046d366004611898565b610e2a565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061050557507fffffffff0000000000000000000000000000000000000000000000000000000082167f612e8c0900000000000000000000000000000000000000000000000000000000145b92915050565b600080546040516001600160a01b03909116914780156108fc02929091818181858888f19350505050158015610545573d6000803e3d6000fd5b50565b610550610eb7565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af11580156105b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105dc91906118b3565b50505050565b885160208a0120600090841580159061060257506001600160a01b038716155b15610639576040517fd3f605c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808a8a8a8a8a8a8a8a60405160200161065a9998979695949392919061198b565b604051602081830303815290604052805190602001209150509998505050505050505050565b610688610eb7565b6106926000610f11565b565b60006106d78b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508c92506109b0915050565b602081015181519192506106ea91611a03565b34101561070a5760405163044044a560e21b815260040160405180910390fd5b6107ad8b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050896107a88e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508d8d8d8d8d8d8d8d6105e2565b610f79565b6040517fa40149820000000000000000000000000000000000000000000000000000000081526000906001600160a01b037f000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe25686401169063a40149829061081f908f908f908f908f908e908b90600401611a16565b6020604051808303816000875af115801561083e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108629190611a60565b9050841561088d5761088d878d8d60405161087e929190611a79565b604051809103902088886110fb565b83156108d6576108d68c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b92503391506111de9050565b896001600160a01b03168c8c6040516108f0929190611a79565b60405180910390207f69e37f151eb98a09618ddaa80c8cfaf1ce5996867c489f45b555b412271ebf278e8e8660000151876020015187604051610937959493929190611a89565b60405180910390a3602082015182516109509190611a03565b3411156109a2576020820151825133916108fc9161096e9190611a03565b6109789034611aba565b6040518115909202916000818181858888f193505050501580156109a0573d6000803e3d6000fd5b505b505050505050505050505050565b6040805180820190915260008082526020820152825160208401206040517fd6e4fa86000000000000000000000000000000000000000000000000000000008152600481018290527f0000000000000000000000007542565191d074ce84fbfa92cae13acb84788ca96001600160a01b03908116916350e9a7159187917f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea859091169063d6e4fa8690602401602060405180830381865afa158015610a78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9c9190611a60565b866040518463ffffffff1660e01b8152600401610abb93929190611b1d565b6040805180830381865afa158015610ad7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afb9190611b42565b949350505050565b60006003610b1083611292565b101592915050565b60008383604051610b2a929190611a79565b604080519182900382206020601f870181900481028401810190925285835292508291600091610b77919088908890819084018382808284376000920191909152508892506109b0915050565b8051909150341015610b9c5760405163044044a560e21b815260040160405180910390fd5b6040517fc475abff00000000000000000000000000000000000000000000000000000000815260048101839052602481018590526000907f000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe256864016001600160a01b03169063c475abff906044016020604051808303816000875af1158015610c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4a9190611a60565b8251909150341115610c9257815133906108fc90610c689034611aba565b6040518115909202916000818181858888f19350505050158015610c90573d6000803e3d6000fd5b505b837f3da24c024582931cfaf8267d8ed24d13a82a8068d5bd337d30ec45cea4e506ae88883485604051610cc89493929190611b91565b60405180910390a250505050505050565b80516020820120600090610cec83610b03565b8015610d9557506040517f96e494e8000000000000000000000000000000000000000000000000000000008152600481018290527f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea856001600160a01b0316906396e494e890602401602060405180830381865afa158015610d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9591906118b3565b9392505050565b6000818152600160205260409020544290610dd8907f000000000000000000000000000000000000000000000000000000000001518090611a03565b10610e17576040517f0a059d71000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b6000908152600160205260409020429055565b610e32610eb7565b6001600160a01b038116610eae5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610e0e565b61054581610f11565b6000546001600160a01b031633146106925760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e0e565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000818152600160205260409020544290610fb5907f000000000000000000000000000000000000000000000000000000000000003c90611a03565b1115610ff0576040517f5320bcf900000000000000000000000000000000000000000000000000000000815260048101829052602401610e0e565b600081815260016020526040902054429061102c907f000000000000000000000000000000000000000000000000000000000001518090611a03565b11611066576040517fcb7690d700000000000000000000000000000000000000000000000000000000815260048101829052602401610e0e565b61106f83610cd9565b6110a757826040517f477707e8000000000000000000000000000000000000000000000000000000008152600401610e0e9190611bb8565b6000818152600160205260408120556224ea008210156110f6576040517f9a71997b00000000000000000000000000000000000000000000000000000000815260048101839052602401610e0e565b505050565b604080517f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae602080830191909152818301869052825180830384018152606083019384905280519101207fe32954eb0000000000000000000000000000000000000000000000000000000090925285906001600160a01b0382169063e32954eb9061118e90859088908890606401611bcb565b6000604051808303816000875af11580156111ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111d59190810190611bee565b50505050505050565b7f000000000000000000000000a58e81fe9b61b5c3fe2afd33cf304c454abfc7cb6001600160a01b0316637a806d6b338385876040516020016112219190611ced565b6040516020818303038152906040526040518563ffffffff1660e01b815260040161124f9493929190611d2e565b6020604051808303816000875af115801561126e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105dc9190611a60565b8051600090819081905b808210156114185760008583815181106112b8576112b8611d6c565b01602001516001600160f81b03191690507f8000000000000000000000000000000000000000000000000000000000000000811015611303576112fc600184611a03565b9250611405565b7fe0000000000000000000000000000000000000000000000000000000000000006001600160f81b031982161015611340576112fc600284611a03565b7ff0000000000000000000000000000000000000000000000000000000000000006001600160f81b03198216101561137d576112fc600384611a03565b7ff8000000000000000000000000000000000000000000000000000000000000006001600160f81b0319821610156113ba576112fc600484611a03565b7ffc000000000000000000000000000000000000000000000000000000000000006001600160f81b0319821610156113f7576112fc600584611a03565b611402600684611a03565b92505b508261141081611d82565b93505061129c565b50909392505050565b60006020828403121561143357600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610d9557600080fd5b80356001600160a01b038116811461147a57600080fd5b919050565b60008060006060848603121561149457600080fd5b61149d84611463565b92506114ab60208501611463565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156114fa576114fa6114bb565b604052919050565b600067ffffffffffffffff82111561151c5761151c6114bb565b50601f01601f191660200190565b600082601f83011261153b57600080fd5b813561154e61154982611502565b6114d1565b81815284602083860101111561156357600080fd5b816020850160208301376000918101602001919091529392505050565b60008083601f84011261159257600080fd5b50813567ffffffffffffffff8111156115aa57600080fd5b6020830191508360208260051b85010111156115c557600080fd5b9250929050565b801515811461054557600080fd5b803561ffff8116811461147a57600080fd5b60008060008060008060008060006101008a8c03121561160b57600080fd5b893567ffffffffffffffff8082111561162357600080fd5b61162f8d838e0161152a565b9a5061163d60208d01611463565b995060408c0135985060608c0135975061165960808d01611463565b965060a08c013591508082111561166f57600080fd5b5061167c8c828d01611580565b90955093505060c08a0135611690816115cc565b915061169e60e08b016115da565b90509295985092959850929598565b60008083601f8401126116bf57600080fd5b50813567ffffffffffffffff8111156116d757600080fd5b6020830191508360208285010111156115c557600080fd5b6000806000806000806000806000806101008b8d03121561170f57600080fd5b8a3567ffffffffffffffff8082111561172757600080fd5b6117338e838f016116ad565b909c509a508a915061174760208e01611463565b995060408d0135985060608d0135975061176360808e01611463565b965060a08d013591508082111561177957600080fd5b506117868d828e01611580565b90955093505060c08b013561179a816115cc565b91506117a860e08c016115da565b90509295989b9194979a5092959850565b6000602082840312156117cb57600080fd5b5035919050565b600080604083850312156117e557600080fd5b823567ffffffffffffffff8111156117fc57600080fd5b6118088582860161152a565b95602094909401359450505050565b60006020828403121561182957600080fd5b813567ffffffffffffffff81111561184057600080fd5b610afb8482850161152a565b60008060006040848603121561186157600080fd5b833567ffffffffffffffff81111561187857600080fd5b611884868287016116ad565b909790965060209590950135949350505050565b6000602082840312156118aa57600080fd5b610d9582611463565b6000602082840312156118c557600080fd5b8151610d95816115cc565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b81835260006020808501808196508560051b810191508460005b8781101561197e5782840389528135601e1988360301811261193457600080fd5b8701858101903567ffffffffffffffff81111561195057600080fd5b80360382131561195f57600080fd5b61196a8682846118d0565b9a87019a9550505090840190600101611913565b5091979650505050505050565b60006101008b83526001600160a01b03808c1660208501528a60408501528960608501528089166080850152508060a08401526119cb81840187896118f9565b94151560c0840152505061ffff9190911660e090910152979650505050505050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610505576105056119ed565b60a081526000611a2a60a08301888a6118d0565b90506001600160a01b03808716602084015285604084015280851660608401525061ffff83166080830152979650505050505050565b600060208284031215611a7257600080fd5b5051919050565b8183823760009101908152919050565b608081526000611a9d6080830187896118d0565b602083019590955250604081019290925260609091015292915050565b81810381811115610505576105056119ed565b60005b83811015611ae8578181015183820152602001611ad0565b50506000910152565b60008151808452611b09816020860160208601611acd565b601f01601f19169290920160200192915050565b606081526000611b306060830186611af1565b60208301949094525060400152919050565b600060408284031215611b5457600080fd5b6040516040810181811067ffffffffffffffff82111715611b7757611b776114bb565b604052825181526020928301519281019290925250919050565b606081526000611ba56060830186886118d0565b6020830194909452506040015292915050565b602081526000610d956020830184611af1565b838152604060208201526000611be56040830184866118f9565b95945050505050565b60006020808385031215611c0157600080fd5b825167ffffffffffffffff80821115611c1957600080fd5b818501915085601f830112611c2d57600080fd5b815181811115611c3f57611c3f6114bb565b8060051b611c4e8582016114d1565b9182528381018501918581019089841115611c6857600080fd5b86860192505b83831015611ce057825185811115611c865760008081fd5b8601603f81018b13611c985760008081fd5b878101516040611caa61154983611502565b8281528d82848601011115611cbf5760008081fd5b611cce838c8301848701611acd565b85525050509186019190860190611c6e565b9998505050505050505050565b60008251611cff818460208701611acd565b7f2e65746800000000000000000000000000000000000000000000000000000000920191825250600401919050565b60006001600160a01b038087168352808616602084015280851660408401525060806060830152611d626080830184611af1565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060018201611d9457611d946119ed565b506001019056fea2646970667358221220ee0123f9799574860117212f1063a9d587f5b66a8026fd746099b0706d5a5e7c64736f6c63430008110033034c6283a56605a386ef209cbe266add16410f3e07eea84604a5ce81803032545e034b5fdefc27501da69da0203010a34d70050f1511e42b1b7c1ca977041601f97e03dc51673a3fdefb2a6b5f861223cd659f7a499ec1d419a8f008f19777557af42a0397c69dd0e15a70b2fff30b3ea59cb2f80fbd831c9bf8c498a7556601005bc1a7032836450b7d9cdca56e9331a86cd12d3fdf8d7af545010a01ee70445b4731024403e9cb6bb7d9e9e92ac089659fe7f8fd933c5c99482d34a90dd2eab97d9ca00c19034f21cac1dd1239a1ae99837d135deaa94fb31e1e56f0c7b0a342183baa75e6a403104b3f5b1c631ab1fba381886a2a568c7ebb495060213301924731977c747a5a03b8f23f28eb8ad810668796a8eb26559c8c9f407088b9d791c2f586991fc5a2bc0360745f301fefb199aa9269d323d75cb68c22ef7b2e967f388223e17330a36f380315451ef3f66f2e8530942fae669a91cfedcb3fa2a97018b25dc10bdcfc48f21d034b0b5e7d41d7743daf6326f8f5972faeb570f69bee240837be8d8a3fc9eb33f203cf8160c58bef25672b11e2db41a647b0860093f62d23f386da628875db2ed349035c3812a79373ddca71e8aa6991cd7a52b8186690a033cbf5a58fd28fffe5a52d0354d8f128a1ad9281f2f9d9f1340b0e022be55c25798b76219dfe1c851988aac903222a1bd90cedba7fcd6ceb0dd9651938ea6bb6b18670cdb28783a3bb579e3ab703e10e64d8f5f5f44f5cf8691184fdcc844554ac8a02a301bcad2aa88ad6853f95036b5f44e5be848d324c6d8c7732a1ad95fa6ef51c318fcaf7f6b43edd7702b0d003aa7aa48af0d8793b50a987344750ab1fc051ef6aedf0ea6d0483e8d438cfdc0e03ce405a5bf990489cff142a31998368beaecba5292dcf8c85107ca83757f65ff1036ac004d95fc17db4bf21af91a91b56ba273b6d67e7b3eebcb35b801ac2da1a98039bd3a7462830248c58f63f7d88c6c7187482b8b8f326673ba80ed4e964f3f648037ebe9e0f3ff56188f99b2695c34d00658fabc6764a4687de5975202e17a50843033271083a36108f3352f889644b3d0a84e9dc7d3eaedad974f2ab101b6b5b97da034fdec47de1632f9c5464cd3b49046dc635af1650dd65c11414323d4c8bdf2c5403a44dafd0e86ddb6e73ed071b0c90fe0dec40b38175612e2d6d929abd41d674880391b9da44538c900f4da1d330fadf0f0a5644a27cb5a42c999b0a30fd234d1e51039013c484dbb8fb4e00cbf02e2cec17d3a92aba6765d9b54221feb5bf4e115b21035f149c2ab40640623998c7478562307d6f86d95dd395e2bbd37e7baa259e5ace0372a61adabc333f08dcaf810badfaa80e4a30db01f93766b60d33abe90e0ae01f00581f02b236db45e352030b15056ec83051d3dd3011f03734edaca2d11fe3a292c3446545e8a700581f028699acb9e29da051c175ecb50526b47cd92e9fd8d0fdc05a2254654d08ea44650f419700581f0216942b1b483ea0aaeb4ff867ac86f3ccbafc0bcbae8c69a8a1d235092ead4465d746c300581f029f7c74b4e9761182399f619789de0aaf4cfae27951dbbfe9463a1862574344650a677300581f021d3139286c5ef88de2c86fccce18593320091d6cd06f6f7ee802d2eb59ba44652d03b700581f02c10316200fafecd21d7462a32191bbe51006413d02f6cecd77a566ed1153446530d18b03b6e14a21cb7532d5fdd36c1c7b231dbe9019e39c404f883cffc82348d4903e3700581f022e030c49fcfaaecadadb19a01ef6d01852ea188b313f80a48b448c7b9cac44658682b700581f03f08d6e0e8c58cc6bae96236be3ef81296d3dc94f98951978cbe41ac6bab044661a975f00581f03f4a4bdee8d864b363bd4ea9f0b6eabe4d5d045756df0face31a6cf6761f0446632d00b0219180002195d6903e5924a65d3a6ca648128990850960f6b0ed671cda9caa7f80a9a293853d8490703b8adc7a8751d23a0b08825ebc3652110056c28be5b1611a9bfdaf3385df36ba0034ad008370ccca751a1ce89b1a6ad375c9d40b97fb4be0f3d49f8d922f60de1e4038ca713f9f94d3a2f7139b08c472ba4d8a680d69ab81834d8ebaca3fad04d9403032236e09a295dc79f7038d3d25d79a18118cced1a8564005493c7c9cb7893b4bc0219ffff03032341d7a42d872caa5d796342b87d1cf2eaa4677947fa4d9249ec8e283b089d03f488a635a04dd70682bdad9b6637bd1b97fc2b565436ea48fab502c392bfbb370219ffff0331f08bd3ae4a1640edc405fe61091ea98b7e3a33d255f2ac74e4a32eeea6328603551bf57db6d81409ab0eeef2a4664865b57056d307bd1e9fbf523af64e62403f039843982790d5d8952ff4ae385d6e9bccaf90249f3886b0f07c9f451210b5aba603641e0da571abfb3a772b8e58bc229cbbaf95aea3f5ce293934c624f5647335ca037a25159bad20491ff3a7b4185c1be784f29e5b64959a3645e97d0a1d5ff45366036a42c712f94ccffcfcd7acb01a3b92eeeeb2dd28df58f7c5ee6f2e776eb32f2f032560c68c1a7c460415cad3654c96113739855de3acf059c23e88c21a5ca3443203b9bc6235695288dac8ae3835cb7aaa6628df849a153e1ab6993c72499d85f75a0219ffff05581d02ddea235b89462304229e2a7e4ebe56a8fb2e06c470033e20c0bf78fa0f01490bdb363472943eed35191dd105581d02031604e634daf4d976cfc510386e4977f21b66606a6f09e305a4534d0c01470119b74ab81c0002188105581e039e3650ac592412dfa7f4e4995acc75f76570bf21ae34bb53e6a76f63900401030b119959ba9a4f7511960327e104fea371cfc4963892ae94f752e7cfa517105a05581e039fc571b96b63c6967266a59c025737c08bd2dd39f272c7b0716dcd60f0040205581e03072dbcf1e7121be81c10b1446f28583b6e23a371c39e9c106f429b87c00c0447041e1be27cb3000399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803c51e89b8c5e1a1c350a8155f29e6695705326cfee800ad9658f3bd4cfff6035305581e038ff72b8b3c4613730e32cc12e6610dd5352f3dc1cc3bad4b309921786007011bffffffffffffffff05581e03fb9b91374ee754e155b11d187047a49f43fbf2cd8d879b897c49b7343008472535f734f59c000219517f0219ffff03af676177a4cb630660528c2dfd8e42a3eb1102b98c580b8a3eb30d31819ef7fb0219ffff03c61ebbf852b7677598925690c0d141819019c9d5c36383cc3b50b3d0aba9884103c9d502d424e71ad0f66efeda211931e8ac4003dcb7ba52d48fc1f575e6ea6801033c68a0cd7eb1b50897e29245bc48cc2e161f68015e193b7539ead5ebe7fb3ace0219ffff031ba0dc732b37b657e1b39b0bba42a69a8714ff26425e64e9775603955f3d821203b1c261a55c7ac4832c2f7628f19034cb489415511bb603115ce72b488eb2b0d6037a586f53fde2c70de66c5f448f38b965c32a58fbf0dc07ec8a60843a3e24d69d0351c50584ba648523e361dd1977599335fa25f3f57c8b62135985ae90d8fce814034ae0c0a07d3b02f22bd7b88a5c7058d3b613e0f3f3ec65e6eac20475233b85aa03413f7db397ce0f52b7205715cdfd62d5c7df63f149eca1c89ac990bb3917be3703b14ce8f327804d99737204d1764d453b8622a1baca3d2ba5685de7360b1ed4f103d910f252c243ac2b0a5af42b28ff74885f3ff68b59f7439a03811645142d7a5203e6ec4e0edff4dee12ca7194efbaa462f5734a35b920bfd6faf9c3b8c4972c8d70338b5f62ae5bcedfa86988642bb44135e833f959b7c7ba8b2e7111a8805a2ac4203c92ed5555b5277397b2ecef5520ba68ca30b07bb009d2b81738c39d33d2bbffa030170950dd0f2e0207ff17b6174c130735bbf81b7f5b9c49083ede2793e58cdf3037475f055212aabda782f0426f6cdb2ac6b667247b171d5167c65d331c567b78e03859b3498fd7f86b2578216cfa605ef6d66482a2d90c71657833fd5775a2a95e303619d7681906d18b01b4ca2a5b54f1e63ba152d363da2d30b8bc0c44ca4daba9f0353fa43415682accceb4428d4f9213a6c3abd243bfe213cc688a5616aa3bd851d03fdba192288def90ba4971b005f5a64f453b40c71f409ab6bc4f96d059d42a4bb03e046b4ae2f02730b0db73a43a816720913162a3ab632c89bbfb9a149f358238a03ff39fd99924e4cb00acaa42466048b9639dff68af7f6e84c96d3658298408c0a05581e03c7841a351e6a7ea09ed23af652fb6decb4175bc8e8dcef7059c72d5cc00c01470b15c115607bcf05581e03d79c088376c43f9959a9e1c850a3c9c3bb195f2c3ab79aad0823ab47b00c0147065af344043ba005581e034ee1ad4ba7a15c46584e154feb894f5e1ebee84fe32464605e010227f00c03473be1f13dc7917403d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e033ada59df3b36b824c01b844ee7994fd76746a643d3731534660ed77c4007011bffffffffffffffff05581d02137abe9ce42ee31fa740106bf3747cdb68dede86ff03f7735c094eb70c01470bb75f5fbfd2000459086760806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106f1565b610118565b61005b61009336600461070c565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106f1565b61020b565b3480156100f557600080fd5b506100ad610235565b61010661029b565b61011661011161033a565b610344565b565b610120610368565b6001600160a01b0316336001600160a01b03161415610157576101548160405180602001604052806000815250600061039b565b50565b6101546100fe565b610167610368565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061039b915050565b505050565b6101c36100fe565b60006101da610368565b6001600160a01b0316336001600160a01b03161415610200576101fb61033a565b905090565b6102086100fe565b90565b610213610368565b6001600160a01b0316336001600160a01b0316141561015757610154816103c6565b600061023f610368565b6001600160a01b0316336001600160a01b03161415610200576101fb610368565b6060610285838360405180606001604052806027815260200161080b6027913961041a565b9392505050565b6001600160a01b03163b151590565b6102a3610368565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb6104f7565b3660008037600080366000845af43d6000803e808015610363573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103a48361051f565b6000825111806103b15750805b156101c3576103c08383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103ef610368565b604080516001600160a01b03928316815291841660208301520160405180910390a16101548161055f565b60606001600160a01b0384163b6104825760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610331565b600080856001600160a01b03168560405161049d91906107bb565b600060405180830381855af49150503d80600081146104d8576040519150601f19603f3d011682016040523d82523d6000602084013e6104dd565b606091505b50915091506104ed828286610608565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61038c565b61052881610641565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105c45760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610331565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60608315610617575081610285565b8251156106275782518084602001fd5b8160405162461bcd60e51b815260040161033191906107d7565b6001600160a01b0381163b6106ae5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610331565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105e7565b80356001600160a01b03811681146106ec57600080fd5b919050565b60006020828403121561070357600080fd5b610285826106d5565b60008060006040848603121561072157600080fd5b61072a846106d5565b9250602084013567ffffffffffffffff8082111561074757600080fd5b818601915086601f83011261075b57600080fd5b81358181111561076a57600080fd5b87602082850101111561077c57600080fd5b6020830194508093505050509250925092565b60005b838110156107aa578181015183820152602001610792565b838111156103c05750506000910152565b600082516107cd81846020870161078f565b9190910192915050565b60208152600082518060208401526107f681604085016020870161078f565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220bceca38d0e447b38e612e8ea5bb02b1e1fcac6609b19aa0fd3fd43aa4b97bf1b64736f6c634300080c003303c4323fa141859995f9ae180efaa5dc3d4604ee9179f6fd8e886eb1fc2e079b4903deafdeff708442abc2f1a162e7c6dc683b2b49b83336d02b5a80e1c70fd387e70386f152b9252ce4d11d5426d51ba1f339488b63a7d9f858a91b82bd35d696e5c5036327f79f7a7851525b7bb713aa21cf6301b657d67999eae5c5e8b6777c0a2dbf03c4f1884361fc45505efbaa9b69114bc1c7a62c87f7c47c35cdd2950db82ccdec03e34138732c0fd07b0947189f7e9bff0f6c10d278994405735ce2b6bcca3a53ff03c4a4c2f7a6ab071922d4d94451c83ff0ac82b153a62d1e7b61e4083483f797f1031bb44981b44a4203316e2d8c6dd0f9f0d4be1ec88267fea4680548e5e99420c703922df905b20c8835fb58b8876ebcb5ef5d17a81451d1ce55dea183cf6be9391700581f025dfa8d1bf59946908daa35538bb90e74c48700c788185faf0d1dd6e47812410100581f0282d81583da476d6398d1d3c83e7264330ac7bfa089cd7e5c71f34e8081ec5820012bff7000000000000000000000000000000000000000000276f0c38cd87c0000581f02c2fef7dba5390e6f52f1a26ee92d11916f20d059c979f88498a664f5540c5820012bfccc000000000000000000000000000000000000000001d59300a1bb7e0000581f02531cfd9a29f822cfe6796d65c465436e65dcbb315e510b86606bde8969b45820012bfd2f000000000000000000000000000000000000000001dc0f3e7e8f940000581f02517dd0027abc3af54e3f18335adb002d17762ade7c71a506ebcf7f2349dd410100581f0242f0ce26f3b2bc304bc5bfade943ed851563b8d64fde66b6544b4c70783b4101021993ca032a0ffd4dbf9315d6c355fb240318877f1e0989124af426aab4aa2453cf79e1a40325dbbf64e7759eec420c316d7309b590d61a5ab3b72b8758b79be3409b1374de030409708eebd75d6eae62ab9e8dc561f6221919acf0808b8c63aedbef8b390af10384e13b56b655c4acc386aa8bc486cdacafe52cd7adc05f9dad6a1e18a04cbf490372f80c5be6bbf499cf0d4de5e350157ad151a0ea3236134f77b1c46734c030850376ff4bc26a13ff61b8f0d3982e7272f39bbdd81910f8769fa007af9a035f1fbe031efa81fa84b8ee33732c85aceca1650e361e0791218a8390243f62c408e9119b0303e548913fca612441f1043e08a4122433357eea252a134ee4c752b56b49c45d03d8ae3ac4216e8ffc6966648f66467d95c077d0347119779c6bde36d5ee7a5f9703d88cbd3d117ee01086ba0e2d6db9cf46104ed5b27945697b8ea20b7595dbd33203e28b9f173a67f0923eec584425aade5c4d4595b1fd05bbda72b92682992aed6103f9b2a6af936accd7d12c7d09963ddf1297126a36d4f23f17587027bf466848770219ffff032b71099b8d386b3eb945d48fa64f9483a3579f3ce667068142c3939f2f448bc703d4448e838f52af3e6014a1ed209120589b493015802b47b0b53b6b2bec06737f03bec80d22f393950e16a9ef88c125443400ff39b0cbc78aa31c8fe20d37ff44dd03ed9cbca7a74ee83cec9140c202ee235b9d20bef90ae3087244b595b2ee2724b803169ad976922e8618bcd142345930da685f07111ca92211ffcf25517c5665c5ab033f5a277f17d591a543bfeeb0e9f21df68a762fc374db14df901d96565a1762be033af48d99f3836af391e96df0b55a91a7578778af2e3d963de65889d0843e14b903587093420c4573c4903f4840bf6fc7e4f6e167394d4c40218293a597dfec930003aaf8b9fd69a549d75d3f9162d5297405c6f0ce83998fc409e50ff13de9a153ab0372d157c36ed0bb2476cc17b8bd6a82ba2a5046d3ceebe3474a866fe7df45109c03854284cb70b90f90072155e9ac1edecc7ff9509fd3da02dbf76da1232aca03aa031b514764030eee9a113b698c8d7f9cb6e1a5e3c2f258c4f052f5f5c04ad53f6a03f49858c09422e5987270fa2080f5b15069d9e230aff20e0501edee3bc9c10e270219ffff03b45bb843e66cb406790ad0f71bb6992be5e079a9bd439390243c7e6d92814f4a039d1699b768c013ab13b14d4d2add33c106ea0a7d77149d30ccbbcf068726feb303d04cafe994ba4551f86e48c2c676d9360c25564b6d56dca55e9da43ee1f50b1603a325226f04adbdc02a9c4010dbabffbdce1e4c43071f6fad4b5e5da64962ab2a03e52e98ad2e4d8c3e8d061f356cd934f15ea10d1b776dc845614cd23ec316ee2d0336ab696b256706e69358cb4cf2af8e1a6abafbc5d93f7275d54026e0e406095e0335a35906090512a3d251f35ed744fca5732c5e606567b926781e86a1e8ef5b1503f70a9db672ad389a2d1227fd875f3bc115ecf86dc306d0f5c99007d8f651826b039baa531cd22879506af2e6086d00de437c3107f7f6e4522837661d1b2ea9b81a03451bbc0769fecbf11eab293b2c805f88222d8396d2815cc49941d5ea65bc310b030ce8f69e9964b5bbbed814a99c9a7fb9a13e23e5d1103790329f035449e7803903be0773dd0152fac44f9bc2b4f738b7e3e897631bf1d02a70988c2f880438e476038a372a74962dc157c03cbc737b4be2d3e077d0a18f876de4e539f6a495e179e3038b0d954c7a2a7eda071d28b446e9da0f435c5051fc1fe1b89a9e4269dd627b5203abbe92260a0368198a58f01f50f1a3e07c17c4195fa48c759b3d331ded67bb1b0301bd21e500e99f97ce106d7c3ed413a8c6a0e149bca8d53dc9ba4fce42ab917203034f70cbb6cb7154a87d4f1de012a621035db858d2abe52ef81eeb24132a5eea00581f025c5d585258e7e20ece944674ac6bc64d53903887d5319ce6fd89379b9a035820012bfd49000000000000000000000000000000000000000002af03d8dfa25e0000581f02ffaa36f0671005b04c8adfbda3ffaba1c2a01fecd00ee17e36434676228d5820012bfeef0000000000000000000000000000000000000000031ed1f8952dba000341248c47e19705df1bb08992daac5bd7c7d943ec119f9f7041d502d09a1808f000581f027bf3b4ae0733834f17244e6ffad8a03eeca0f63f02bb0d6e15fb179f50035820012b812a000000000000000000000000000000000000000000d6eaf2e7525c0000581f02372da4e22ff2981b82eabc28e4f5d435d37d12e6bc4bfa1150ccf1f7c3335820012dbfa400000000000000000000000000000000000000000694d61000ae7a0000581f022f7a9e9f80925f7f09f6bf0d5842bf72fc61b74dfbf3da65dd0ce824ffc2410103d6479227e3b5d1de52ec2ecbd35a3d8b85c2eca0aa6cb63f9623fcc267ba188000581f0287ef1706df32aca8f04e08ba7ec3d09c5c943b0b31396d244a7c43fb7418410100581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810548b9566ada63b64d1e1dcf1418b43fd1433b7244400581f0347b5ae6a52d8b640f90ff1e129e3a0577e94d2c25cd566871ead1b2b0d80410100581f03cc11b6a9b9ad5c7770032534e1269a73eab0c6c815e64bd4701de6f89360410103cad06e073d280408d73d3034b37a55c4c460a4ec3e1e681160b7c630cc109e2d01410d021902830219e9a5037a2c74014d5494041df1bebb786a4042466bdd291baa1a809c8e38cfc84ffcc103a9938bea6cafdc4e9d7a61e8783b7b269321b9a4aa8feacb0cd29dc1602b1f520219ffff03eba628503bbaa741ea9c38ab068ec16de4311171f20429c7991e8e7e09772727037a9e20cad1b8aceeca27cf88ebc60a2a1fcf46f8b702763ac2be836eb91a253e030245880e56272ff7ddc83e2a68e0859b06e5777875a4dc2577d1fb668366eabf03786e277f7f5ce5e7e3436512c936d7100c0212ecfb06a4f8358f18199f4f32b903499c321993965cd5759dcd489a07338618cccf332bd1f582f3a3feb883094e6a03bfa9c76a720f755305d8468eb69761e5b4ff309a8dff21fc6ecea92b591fb9f60322213d3ed43688937c41d09ea5a376b8698180648aa884ac71c198a0a6bc440803d18f673223c6f1b009ff589700091548ffc7ded3f3b28ae86ae3fd770332ac9003e9b56eeab0436df56921d120d4ec7942ea10f9747dc23c83ab6cab199b1263ab034077299649feb1c4ba3e423fe1478e7730b1be35d694a030e82eb068d56e826800581f0249717680da9c82f736541bda94479b545ba8c12ac85ddd7bb4efde16432e410100581f02178bb753fd6877222241bad819cfdc31a5c63c8a18feda33699cccc27f674101038521ab46c03edb86e49f295e87f3a5f03ec305bf6df2a94f8ddafa1f1c66f91200581f0223c142d55affe9e8c99044aa0bfd89b313808785d50d3e7c9e244411ae455820012b81600000000000000000000000000000000000000000025bae499446340000581f02efda7daddf569289ee3658d8e834ef70ed614004819908db3f0768609bfc41010329dfae894e6d2e1643fa918c17e13f922e984ade37322da01276366d7f6cbd410352a27c6b147a363b73e003eb5a6e06799c59b9364bf77c6263789b5d206bd4ac03579488f097e18e959894ce250c22cdcfa82c0750979766bda665f15a270bb59703948272dfbaa97da4d07bcaff5e4924c62c65e45ee1966df5817115a73dd38cc400581f02a83b370ed0d5a411aa4883f381e7c4de01a4b916f14bb7bc678228da24f55820012b6b970000000000000000000000000000000000000000014ae4aae7db520003f32f519825599ddd4162738b1b1efd8006f34b0b4329f12e6a790cf7df5bd7860219eb750399166602f651e44b767d250e0629490b74948006240b5a4cfd5d3161daa325e103e6d0fae3f3ba039257bc92580585d7716bbc7c4b9d5236ec1647f819196d2fb1031ff874b4a5141f8e398ce6cca8cfe6ac43d516f6661a45cfb6c97037eba4e02d03b2f5eb6c334efabf772266830a46a6ee0b1df4452e3a2dd81e8dee81c408f75a03d0739e5e354112a86504d31eafcfb9a9665f24e55c68435ae289d86a71b882ae036d07a7f11ae4d430c2b78b2336630953d14d788be4a81b53f1a0d15d766988d603e19e420a8a225bdcc45b9479561d1c8cd2ad809c5dbe07b0c118020ffabb25d203d0e686e4b2d973df69735c338866f1d5a4eef9004f6b45190ef2eaa071881dfe03995117efa89862dfd158f556ca21def22ba34c1f54e69d8fa28ff5d164979c180219ffff039bb0a11a885c3c3c71debd55837b81750c7772a23fc5f2f2f29df239b62ed54103cf7a794115b99ce56e57e2f35e38eb22082094eb4b39ac6c34f95e7a72dbf9a803fd83c57288865d0c1f3964b73119b3821d1a2c7af2fac3befa21345fd0ab58300394aec8bda8b84ce8d1dac9d90ba3e4af15fd701219ca69c1cb27adeec460c1aa03c31f4ee1d9fddb88ee8b52c71261a48c785fca80cd3eab41dab348731ccd0f6d032f6356fc6ccf71bcc0427cc273c48986e6f630939da5ddf5e4c9e02bedd63896030f567fafcb1032f62d0f9472d63397128e1a97796166a8b62f4da5b75673c94f03ae841f4ebb47713405a350292c843540b518f4fe21ad816878aa18140fcc75650219ffff03cd99fb856eb7ae92bee1a7dc3a9209271a6205009a6b50fdd99259346aac495603638b55b73febba7831d049df9d7831434572a241a2f4c68ffe04a9f899f3fa81030e0a897d72bff1956e785a326048a279168e3fc82852c8b29db07c5eee6fa8140333ffbcd6a6edff7056a05efab3ae62ba7ae6e3f463093657777a6cd60173c7ab03a7ec818a8a45570b412874097b3c604ff41a56a4f398273bb60108a7050e0a1b0347a09e9dc624c34b13972906509f51e36728e8a17811824f78be2da7053432b8032c85994ce183d685c4705e3ac09b99d06502ff46c8da64af8a0d88ac57789619035e824078629d9b803563db3cdc1daa95ce85b45c26fae2ef86f9f945cb45729b0316bf951251b69963a450781d0767bf9b2c5c845edb32abc1e4c4710a876c25be031a8365cbc4cd07c59da3ee440ae378548593aac82132fd2fae91ade531afb6d203048800afa579bad4df81b729e0613dbd73ac448d405f1dce0623e337e932c091036da6cf5c8be2e63b0b377c74eab5b2cdc5c7f4992cc27fc1865076a8563f73ed03e63f8512eccce27ba51cf2fab1b495f0a922e19e452a615bcc988b8db617ef4703a00fada7d382e1f9886d5da1570fcc4b477de090a051ad66a06ab88509d597ba031505f5d1581a97c130e3cabcd04dd9310808a20b5d4ab1b4fe3f731f692fe94c03a0689940f395ff36f0ff14a613d5633f582f1ab1a5531154ddc1195ab87ad4c00390517bd2b8a7006a5a48dfab5bfaa48ccf1de7dc3f00465cbcbb850a93e0bbc400581f023ca61d2437f0b39381dd013c80ee65a2b6747afe6fb45709ca64cadb1109410100581f02528d044da5684f3064b2266c24a378ac8049aeea2e67d19918dc979e74d55820012bfed7000000000000000000000000000000000000000005165ab711b7140000581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d544bb6731b02314d40abbffbc4540f50887401422600581f02fb5f70ada3d7478fe2b652c8190a799fcf060284587a2a69516fc521ee7a5820012c24ad000000000000000000000000000000000000000010106b51434f220000581f0204bc1f0b0786f1ae1b8f9476220d9bfd9362498f06b4f0123bd848721a555820012bff310000000000000000000000000000000000000000021046115785c80000581f02b99517ba329b1dafd0360c7ec72a0143829401fcab7217d30db91ff835895820012b6fa40000000000000000000000000000000000000000018918ecc264760000581f023212bb788050e5bb976168e5f848d84906dbcf68f01d14a453262bf428de5820012b6df400000000000000000000000000000000000000000089ee1153f85c0003ab7619ea5c7f33e2a4b8eaccb101bcafd015090e5c84778495505444fbdafd4a03fcd5f138c96aee4ae9ab435dd5c8c397a664dd3ff81bb59930891600e460afa3021924f70309f28520b796a266bea18aaa2cf57608c9ca7071edb48d6a1188cdbb3e887fb003c16550fa5059147102dbf0ad0f18d9d75058df76cb2ff6594e687281ac651017034aa306db6caa65af2fd031fbf61c964567f58c8d9bdb0dcb9bf5e169da55ca780313d659d201639f544830dc856783667e4d5ed0cf2d31fb85954b285bc993bd740219ffff03e8721ad98ff1f2769a77d9ed8ce52363bfe459371c9000962c27b17b6ee3688403bb7e9b84567891e5bdf46037864c8b1470693c538b0c17ea3d157cc1ca870f7f0327ce26ba7b39e878d2bbb6d532a24c36a438fd6c91752eeab8033bdae104c97903c961c6ea35c917837aa85e5c01b4e70af0b333b5d677070b6f68f6d1227d028403bd0caa0176158355b1ab9edc26d911c27063af19af1267762b418e017a8dc57c03285ae90c29a77b236f5bce5da34062ce59e9d9de97cdda0dfdb9626e3d86930703709a9da81dd8c57a340dd59965d1781d48abc142b2ad6bb63812c68de67f5bb80349371c2833fdb5ce45d633032767c54b731bd3713c25fd9d8bbecc99ce3d56f603365cd5806c25cd486cee870d95b9aabe26509ecbfa35486eb16a3ebd291199730337716933bd47389e0251223cd8fb27138852e9d376bb3cf74997d1e6b86cba800219ffff03ff1e03e17cfeebe265f5f4b99c95ee32cf8064db71b13504fe593c500fabeb7d037e91d3fae474a913765ec0b7efc9f965e2f5d371234b30efeb83539b054a403603afbe7b16b068ec2a5d086e156f57b412cf364c3d6c3f0b92a1ce99b7efd343e503744cd60cfd49b0e98798fe17d4df879b7287ee02d75b7721e8a6e1f01e5cd4db038bb1b55e11ec0cd166caf65a0c6294063c111c50f25d805f73dd3cd9c1593c25036cc0847a5267fd4e433de48e8d93ff4232cd5972ec31a12c690e581a2680a10003aa5052a160a4cfa1350182ea1ea2ba693a343d413c962d10ec4e165c993302260393e2392dffe741eb9d2cb165c2a23acdf1ae3d628f3c709c66f3df5ab06824ef03587e1241ecfbdbeee46054a27f0e759129e4625eb317bd725bc53b4ebb2c32f903f69542845f93c5f8fcdfe27c6e03115452e33a48f55846790d80f0caf512055303624ba07f59b703be8c1da3b0586fb1f0db6ad482e3be25ed0bb0f2dffd9aba1303629af9b29fad4d1dcdfc11141a25cd195d4c4b03dd6aa9bef874a5d5d251f36400581f02452f9a3437b14194f22358357d141c1e61a5ac9ce1676a8430df5d094af55820012bfd08000000000000000000000000000000000000000002651cfcd7b60a0000581f02966a492c3dd9c448c358dae3fe913e0812a71cc004c269714f3895484dff410100581f0232fe99cc4661ede65d8c0f275ccbb639a0dbcd1f59a5a85e03a23acf563f5820012bfd72000000000000000000000000000000000000000001c854380773f200039829c2992769626c183e669c841c2dce155ed8a4c05f6bac43c89c2414fcb8c1031b5beba0915f7abb37f8ebae30e51890f753876c0569ade19d2ced4fdc97eb7a036a4213ca22e7cce34efc5acc0627376628c495bdb25d115781102b88665dd8f503af496ac7a59b86dd1b6165a6f37f19d5561cf61feb6b81df454e307c93502f4903536105294d949b50826dbbc84ed985a928cdaa3cf59e255650f955ef0167368800581f02b48e6e1ba0a9665e74edbfc78982198a4628e070211d083858b028a61b9f42028900581f023fc7226de5c3537140d29ff7d75417e3aed9cb9b6174c732fe239533b8395820012b7bf200000000000000000000000000000000000000000e4d151cc240b60000581f0236aab3474b62752e5a1cb5e4d49d6e24e8c9b784bd50b210174dbe6e298a41010219e77f032c9405425c9781a68fc283ba5f1ea542218fe87cf41a9db66002ff219c6232860328e5feebedac2962795b365bcbe8107f8c52d9689e10f878ea4d46baddd0f679030d498cdc5e193a2898aa4b77a34268b24549e3ef9f9eecc3a5da6fc4164caa47032035eec9ac0e3ad566c899c9020681ff2ee9e73da2e46ad013ceba75a4e7ec070308b394a87af710a4026a90432f574a373df2af5bac5e0cfce5831cb7283918e203899c8e278538e819594683a73a46d0e014a5ff317df0b5159c5dff8a1ea48471035adfeaab8cb3a2433a40dabd1a0ebf0bbb0b23666328bd4848dcd969d415cdc50322dba04cdedba4350377f58ed65229c0794f2cb7971e71fe9722d7f92e37a50b03f31bccd0fb22705136837f76d8773c8089679f182ea746bc07be2b44c19bbbe303993cea3c4f079eae4d522a0bba0d4783f444ceb2706d7d9914a7b4629ec516450348e7f5fb8af7cf9ec574b9093507fe448c57cba6c4692d23c2e430cb6429dacb039446b47d5fa7805a26e245ac65af2570060e9938ebbc21737f5301f872e52dc003b483cbb506ce80b52feb5c9c48bd2746214efcfcb066004f8428c4cd21e818bd0219ffff031c03905b529a01e7b5e477ff22c1179798dcb7835f1c820087fe0514438d52380369dff6a3d9bb5df971c8a3c6a74c2c810a8f3909a569525981ff27130cb8f2c103355525ecb63e99fa30bf8af6106454e1f27936eb716bc090e7cdb011f23749ce0362be70ae6b4c97d3be420521c232bb4a2cf0a17949ef08e7015ef45f11cf88c5034fa090bc80b3b6af709f2e03e042dadeb5e78ca1a3ea540827b95b6054f933260332c870cc325d28e32915d3057b77dd8a5e445621bd2e7080b5292fb69f4e1b72033fcb6a65117ade7f70a261d1e98f2eb9b09c689829db4e5f1b26538cee201cd1038d14f6acf16c500f1a613e616f16182752dcd6a07edc579135417258615602ba032e044698afbd35358a07aa59be821083e94e2784cd3b1eb97d768ecd93d2dd570219ffff03a43ba609bb34dd5de2bab9cce44f717f0ce0b72e42a07b0c4696d84b0e4a7a77037a4e95038f0b317f88e4519b790d520f5a00ff21d648045b40b2b63ce32d0fbc0376c99e58a0bec7dfaa376646db0371b7204a0814926116014a9087c53d09912c0348406f555f7c1dd943d955b5bb38da666e4f2c08793dedb42d12310477a03ead037cc94e92c8b601f08ed208025314e778e18a0fe20d96dd8dfb6eb3af90cc60b00219ffff05581d0277f767a54701f5304f214dd3154174b4db87a7511a05ee2bfb1f57fc0f014a0164442d65f7258468bf1908670358cd53b47edd26c213dd4efe0499d274730080dff362ddb77fe13626b04622c20219020c03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba039f3c63338ac63c1666c23c3c3fb6684402db0f869a948c46154b3f01ee2431a205581e03e2504b8e582ce5625a206a0a5f574662184de574d367115ce5aa2768d007011bffffffffffffffff030b8b39967c11ece46a1f3bc2f09383c44720144e2b300739881f4ddfa8e9a4b405581e035801a9e036edfd58fac0b4e73874fd4f54343bb78b323ce4aecdbfce900c014703750d4e168b2b0219dd61038adb7e705d979d90ef088e71d5d0294a72475820ef87b8cf130b33d49d7d9d580327cea41be7d4b2bcb3a075b2b3b482b71e05bf050e2ddc160ed3c78e45804c0203332c077a9fbf4394ab4e918b4b9e63be8924405d860d926a9b8ffff636dc586103a68c7a5990adc6fe3210167361d376d0af24f18cd713726b1e78c8a33e38c88a031523b942cf4e9a8b7f7ed95c54900f8fc3ea4a157c41c2bc6313f1f9fc691c0703130bf51f0cac5092d2e826957de66f57486cfff125688c578f7323a063b8214403a64c8201665653eeb735b616571bf62dd0f55711c4982a4167caef46d09ccff20219ffff0380a83162862ccb630f33b710299e85adb38827587cc480751d1afc2b6c34bc9e03154947734b48d01e9a35ff7d1461261b16bdbd6b70d32bc10bef97fadda9a2750361a71380c331cbe2f09ea8b874ceaf9932fffe4268f934d3c66803d21a4ccfdf0383cd245ffee3bc89cc27d63db3f0faa33c4ad751bac3d332d960e0220ee237db03f1a4d4280936eeeb3b5d72824ef6ec2da0cbcff4ad49fcb7ab4afb4e00d77e9303e11716ebb7837e77df276ab59571a72b6a7137cb0cfa42670909e8eb826e964703df8e64eba00650869fc656d1416912c8fc5cb61501bea7e2aa85bf61351d999803137ebedb68d94a0e7c80af354c63fca0233fa0f9f07fdfad130214340e06202b03a8f9493eefc646a02a15c366569543e9fd2b3a80dad569221c73562aa2e728d0037072a3e513bf2a1ff2c8684cc74f78a73cb0d768f22266902788712f7f5e628503ec9a9930bcd9fcc90bc6630f73083fb3ed9989bef70d1e5e2c329f916d72f1fd03fcb60fd26fc7ea3fd77950395c993a31da01b76515ac8c49cdba245356c42a2a0314c0fe20741d54981f6197e4fbdc54cdf6f7f833b59338971bface5ed838eee403f4042fad98914bbfad501932c9d3a4b8492b50cc69e7813b3b8432ba732c957e0376f0a7d68d1d56fa7d8a8baae1af7d67ff41406dff5a5f38c2f4a22429accbf70219ffff03b3c75130c3857cfae6cba3a5ae7177e5db60d0a39a60a5836c07d6b985e7ee33039400565537bb65ca69576f1b45634016b2016ac47d32ba8d7e3794cebd3107aa030a02bfcbefc46e54ae2f0daccee769caa03f85793a32f1b0166a8a5c76bfb55c03adbf8f850de237121bdb67cf55384f52ae933cedfdea024500b19f1f49792a090319dd2a0cfbf93afaa547ff318c80785edf3736ad267d65ec07fa61799dfa09a003f4383c729af8488a97df5add6167468c233387c3086ed767aa1376340d3a9ab203ce09c284bb8491f7813e6e871f3e0b381b5191a7235270dfde6c61104228afc4030a0c8704d7234d4e5596e71f9ab63261372447a55b0493b56c86495e3479a6f10219ffff03c16e8d16823029020b1e1e5c2b63b54687a6f5e98ecf80c9de16c8e63bb704f20219ffff031dc7c962afd7d7abd6b8f12f5f8400846406f17dd60d8e6087dfdbaced16b23003c6d1ecef88684a9b9b1c33d78a04409ee5bea82314230f965a73601476b0eb7503c85605bf7830201d4274de84e1b113712ab4eb13a6727ea1f57caf9d11eb17660363cf8423a306827c357d974b1b416866d75bb9fc56cd1fce456b51775020f2eb032f3eb6a3ec5b210bd5d58f2c31f8e8ede9fb78042f80315f252e5aef26f3217b03456f95b4df4b990ca5ebb765f49c53735c92e545a4c38f5edc6ab50ab6ee759d034b9a41f82b2e1177c0a9ea9749ab13535ad8516ef6251aea388927c62b151664032c8856c7f095023fcfc478b4dd8c0f641ef03331187ee5bf3ba83642b0e94fcc03d1368ca159f4eb24334169a5b62b5309a4df281e10fb1904769eb8a226581f9103b528122b4cbe011d3ab7c3b903575b27b86dabe3705d521a3d26172998a7fbe40335bc0f1f21c9fc068baac5ed9752ecbd64a3abffc86cc8cf0f53bc29547198f3037236f067cf558e91dfd8e2bab42f1d580c9f890f05d1db4ac04a332ed9b46b8203fd3e521a87e04a138a492ca0b999b34ae0fd6811ddb7b874c0df908cd19a1dfb0343d0acaa85391f71d2e8067afce128da40d1580c4b44e0462aee85167a0bcce3030d608d32b3c55727807f772e2e437dc3a2ae0adf76d1f2bec4159cefef6499db034d2fb57415d58455bfbdcfe22baadbc66b2ba0f8527aa2e5370757438573dfb8036ff11f0ad56f4331e61edba535e836e0343c0d327832c5153d217fde0e9a6024033b84e551b9b3459a9d0e40edd3a48db8abd65d8184117fd52053702af42decfc031ee3c6cb5415d6d8190b265db3ce6dfa52f118efa0d47ce9c0c31a70bd66eb6c037c02d655ac537e8f782e6476038057622d500e6127d7d0cd8729c5586e408f8f0376b7d53fd33366f1626c6c3d899ec003745b60f6471f1467bb46524682079baa03078ee902f0950347443b4926b6410d2616d874c60f35d24b3ed4f8f7d116a11e0373d77e7af4f43c49101d0ec3508c0e2abaf26c09a6de8917f7c2963b7a5ee3280395cc687dbb74b029448f51284c0381ff245644db15da89a4ab30420bb950df0d03081fc818f04d2cf59e1c8a073b2b27e2a18a21956c09ec4f4389dc332e6f16a4039590165da07b0b8657ecadffacb9bac2231c7f702c8cc57571e19459080ff15e05581e03011d55ac99feeb6db77509cd5c1829d8c9cf620367ff85a2ebe4912ad00c01421b5803a55dd104874710327b66ca5edf0ec713ed735e66c5ee690d2828fb4790f791ba05581e0367ed2f69d23adab28f446e1ff553bb0d1171852f20a537110425403510040205581e03680a65d451ed4a58e586b742c7c86ac338f31db4ce9f1d5de39f4ee8600c02464d55730e2610031c5dd9ba773f24178c48a70baa2d61ff1ff40c66621dc51490478acd34caa51e030b87314ea942e8b1ad00699c1f3cc4cdb00f79671cbf4048a4d9f7d9490718de05581e0330895eba03c8a6fb1ec3a59f6f32ea2519f165aeb417d9748efa8e84600c07464d8dedabe14005581e03d78c65265affc567f19a248f2f93854cdfa94e31626ca69a49375f0ac00c01472c079b735ffd2605581e0365d088f93193c81bb73c9d76208162748f4e9c49d35d05c3a7d927ab300c024702670af6eff587032de1f410909a1d118dcf438e23b91e31bdf2503bf702a30d560250e2b7d0f92b05581e03f2a42ec599f0c4473f9ee6454dcdbbed63a995a23d71f0a6059fc437d00c0146b2b9158918000219bdfe03d947097f3b1673a1226ab689cd7fa0202f54f71d88a31dc634505b6d54fb3955037fcfb99cb3efb2ca50c80bb096401df0e053a92313f4bda15da0c86f01f7a01503cb8261ca0185c4fcb6b43bff62147706e874c2cd7c15502bebdd72ca0b609b4103415dc2e9485e0ea69c807d9920102eaaa3e08d607a74ea0c3b7993d4330f35a2037b81e16b0f2589b2c40d63c7dbd8f35fe7609ba9f34653d9496a8c895decdbcb03238b4399895d32dcff30e225ad268cd8ed5a85042663ba0b7c2764a23e7833b90398f6a346d39ff89ed955dc57bcc843796d34b4853cd44186303351f5cc9ba8030219ffff03037a6c57789a64332b5e70e41731ee6f240b68bb35890f0a6156e2dd6ff42e3003938724534a55d9f6ef3bf6fbcb237ea16c4c83343952d81d97baf19db8e7335703dc8b81f1710c8b8f85c2e4872e5b755b454c801135ca89d46fdf04f2bedc1b8d03dff66f190ca834cb508c9b3c42b32784e89b30b709e0ba3726be152040f5dea903df841966227f41472edbad2289e151802181804ea033fd57848564578303670503e97f35126820ef8e3adc929c2e3b6b42b644260f1267efa69608192fbed5eae603b3d0b0d361f4a4883d726a70f335a71e2789ad90500b55104c49ade60c8fb89e039773d26cd4f4cd57c4b67d2baeb8874236b21f1ace0eacbe494116dcaa57af2703e1af9cb8675e536388b912000a1349426aa796b0108efb60582ab200c03b325503e0a04744fba1d67275223a869dcb175afadc889d0515e0e073b2c168aea67fcc0219ffff03f36d0283a34c83ce97c3256988ad626ebe0bccfae419db644fbc5ba06d2a6ae103d11c45f2fd18414986e293d070142174ec470008b3c8c5c72e0ad74826c7f0f1038779c398e8909c8f95c480b9e2a44bdc2ef8d5dcecd5e128be553070d72a42dc03a3cfe5b27f352d2fd05829fde10544e3b32aa465bdfc3e7bedb9f376f618aabe03835126f65b1f758f33dcc9376ea214eb67ef7c66eb3766ef2bea47ac66a229da0219ffff03858b4c3873c13bcd28f2b6b97df71d678e710db6638045c098ec37d7d031e63e03cda580147d7372f44d30f64c23ffb42a33d647764e9915f730d423a714f1bafc03431e1d87f7bd4725a730b993963a74d7b5365dc90dfb9faa9f0ff365f4e3a56e038ebdedb88ff3399a4fe668ec35f6e87806b96e554d3d1d83665311af8b7c6de2039eb886e8e5877f38c49cef2b011e1f8b46793e284af813a512412b44ca4bc8b9036c0cdccc88263156f0e3806141b6d5877d014069077b22c21efdbc41cccab906033db52b3a263b1b3281a9dfc216903ba04a70ab58ab9106743908a5e1e26edcc303647fcd49b6ccdac1f21d33c40fd7e21e7d667bb3be8bb11075600256b9f6a34c037f21f186f909f907fd37c17ee7d44572c33e1ef1841192d26f7146e27766692e03271f7179d910b352ef4e4cfce37d74841cb58adacedb825c95710c3f4fba0ade0348b9448e884a1ccaba009d454ecdf68f2cb42caa1c22254de72791cebb50fdc403ec7e6e99f11ac95b5813586b9e276d535803f2baa89a3fcc1104c1cf6aee86aa03aab4789e5c292db74f97acad323ec871629f3b5ddfa126c50bf6d9eb85ec07c703f64a8ae0d791207ace144a5b6a031e59e280d17048f99a4c282086f0239932f303adb46720ed75c42815080975259dba62a0901b17db85e56825e9e3c0270698e003851da5359d85615fb510bf198c931f0a120887b5ccd9bfc5ec7282179e587b23038e7d4827225987954f0cd80a8a22774a8897ba2c6453a9dbb063711e1e0f9af603408f2de73d2e81693ee23a0a9895cb9bab91434bc465c6c9319baa83adf983090366ff8d9c94a7bb02ca680a49d6c5cb7974b2c0754650c0889d4dd672acb5e66b03e23afba4004132029e318bce92e9c20ffc2861eab48a9cdeaad41fe4039a80b80318cda16f0244c34c470f3e5b56ff18efa0d083315bc7dd9b0589291008040b4e0313d8d7edb3889aa72aaff5e159c38626a3b9c98ee1b9b9d62669bce8fcf37f3903b2ddbaf94ce21b554273a8ab0d1696929c2f6116f27ab70d28b2ea12587217f9033aa240c70091efb411c8b84dff8e463f3362eb41db4033a058e0c9f66a02e7cb0360941017f7cc07e5f31954a7e55ab332f232afff64478a7ffcf826908f46418803d6c4f6cdb61b6182fc5b583ba09c4fa72111898b09434dd56c0304aebdd90824033262ab5ac3e0b7300ffbccd5427258ed3283299b998c67b0559bfe673b958409036aac8169020751afb75f990b73ae2f5626b04454a3760bf07c00e2086bd973c703dfbfed49da2ebdec6da5c5fb0745ff99138e3224e40907af02e2f80f0aa9d87a0341a0102c0da90029f9e9431184ba05329d9bbe17778f5a9fc301eb0d9d98673003bb36f2b8b3bc18bfa39632c58dc9af11b5bc264c7fb70ba545ab127934fbc6510346ce54f483b158fdbe44f75664a2ad03aabad4a0f76a053e58098bae5b8863670369172499d25f5fbe5551959691b40fe6b9782e440650a6d3a4ecad538476687b05581e03db79ae2d287b75c6bc081796b425c3ab3e0218ba01bb0ded233ca7dcb00c13470a3d04d925f12a05581e031e91747292dc632a571fa8658473e03ad3e25da225e8aa7e5a84ef11300c034603a35294400005581e037905d523eea6aab61b92775564f1d8c904f1e428130c88e819d5de93800c014701ff22d25d200005581e0317db768ad9a3eb4d3cf977ea7dfb1a349e99778ea90f6ad00e825039d00c02476d0e23a8e5c4f40381d2817df868ae27b31b5c56a31849007350346708bb27e7d5f42e6fa1f6db5705581e038b4e2bad5da15050e2da28ec7e76da89882dbc08fdbfa760874acc41900c0146010bc1576c0005581d026cb68be4ee8821a0c0a4e2902529758fddafaa03d3472ef7f21f57c80c182c4732a09e1c08422804592b336080604052600436101561001257600080fd5b60003560e01c80631a8631b2146100d75780632d8f9d8d146100d25780632e071dc6146100cd578063339748cb146100c8578063339a5572146100c357806347f1de22146100be5780635d3e105c146100b957806360fc8466146100b4578063a89eba4a146100af578063bd61951d146100aa578063d0f42385146100a55763f7e375e8146100a057600080fd5b61145e565b611280565b6111ab565b611083565b610f80565b610d86565b610ac9565b610881565b610666565b61052b565b610400565b61014d565b73ffffffffffffffffffffffffffffffffffffffff8116036100fa57565b600080fd5b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60809101126100fa57600435610135816100dc565b90602435610142816100dc565b906044359060643590565b346100fa5761015b366100ff565b909273ffffffffffffffffffffffffffffffffffffffff9384841692604051947fafd27bf50000000000000000000000000000000000000000000000000000000086526020958681600481895afa9182156102fa578491600093610314575b50816102ff575b50506040517fdb74aa1500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482018190526024820152905085816044816000895af19586156102fa576000966102cb575b505080851061028d57507f52e05e4badd3463bad837f42fe3ba58c739d1b3081cff9bb6eb02a24034d455d61028995604051931692806102768733958360209093929193604081019481520152565b0390a46040519081529081906020820190565b0390f35b6040517fca935dfd000000000000000000000000000000000000000000000000000000008152600481018690526024810191909152604490fd5b0390fd5b6102eb929650803d106102f3575b6102e381836103a7565b810190611a37565b933880610227565b503d6102d9565b611731565b61030c928933911661256d565b3882816101c1565b610335919350883d8a1161033c575b61032d81836103a7565b81019061171c565b91386101ba565b503d610323565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161038657604052565b610343565b6040810190811067ffffffffffffffff82111761038657604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761038657604052565b67ffffffffffffffff81116103865760051b60200190565b346100fa576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa5760043567ffffffffffffffff81116100fa57366023820112156100fa5780600401359061045c826103e8565b9161046a60405193846103a7565b8083526024602084019160051b830101913683116100fa57602401905b82821061049957610497846117a4565b005b84809183356104a7816100dc565b815201910190610487565b908160a09103126100fa5790565b9060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126100fa576004356104f7816100dc565b91602435610504816100dc565b91604435916064359067ffffffffffffffff82116100fa57610528916004016104b2565b90565b6020610585610539366104c0565b80949161054c6080839695960183611b0b565b3561055681611b3e565b61055f81611b48565b806105f9575061056e82611894565b61057e88840135809233906121d2565b8585612380565b927f71c7a44161eb32e4640f6c8f0586db5f1d2e03306e2c63bb2e0f7cd0a8fc690c8135936105b3856100dc565b6040805173ffffffffffffffffffffffffffffffffffffffff9586168152938801356020850152830186905283169390921691339180606081015b0390a4604051908152f35b80610605600392611b48565b036106475761061382611894565b61062388840135809233906121d2565b6106428161063085611894565b61063c60408701611894565b90612210565b61057e565b61065082611eb7565b6106426040830135610661816100dc565b611fc4565b346100fa57610674366100ff565b91929073ffffffffffffffffffffffffffffffffffffffff91828516916040938451967fd94073d40000000000000000000000000000000000000000000000000000000088526020978881600481895afa80156102fa578285916106e493600091610864575b508533911661214b565b85517f2f13b60c0000000000000000000000000000000000000000000000000000000081528881600481895afa80156102fa578491600091610837575b5015610825575b505084517fbcb7ea5d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201529587876024816000895af19687156102fa57600097610806575b508087106107cd5750845191825260208201869052919091169033907f31af33f80f4b396e3d4e42b38ecd3e022883a9bf689fd63f47afbe1d389cb6e790604090a451908152f35b85517f0a4439e6000000000000000000000000000000000000000000000000000000008152600481018890526024810191909152604490fd5b61081e919750883d8a116102f3576102e381836103a7565b9538610785565b61083091338761214b565b3882610728565b61085791508a3d8c1161085d575b61084f81836103a7565b81019061178f565b38610721565b503d610845565b61087b91508c8d3d1061033c5761032d81836103a7565b386106da565b346100fa5761088f366104c0565b9291906000608085016108aa6108a58288611b0b565b611b81565b6108b381611b48565b80610993575050506108c784828486612434565b925b602085013580851061095957507fcd34b6ac7e4b72ab30845649aef2f4fd41945ae2dc08f625be69738bbd0f9aa96020953593610905856100dc565b73ffffffffffffffffffffffffffffffffffffffff906105ee87836040519485941698169633968460409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b6040517fc5b5576d000000000000000000000000000000000000000000000000000000008152600481018690526024810191909152604490fd5b8061099f600392611b48565b036109e45750506109b284828430612434565b926109cc846109c360408801611894565b61063c88611894565b6109df84826109da88611894565b612046565b6108c9565b60608601610a24610a0b610a0b610a058a888a610a0088611894565b612434565b93611894565b73ffffffffffffffffffffffffffffffffffffffff1690565b90610a3b610a3460408a01611894565b9389611b0b565b92823b15610ac5576040517f2bdb823c0000000000000000000000000000000000000000000000000000000081529493859392849286928492610a819260048501611c8d565b03925af180156102fa57610aac575b50610a9d61066185611894565b926109df84826109da88611894565b80610ab9610abf92610372565b80611c36565b38610a90565b8480fd5b346100fa57610ad7366104c0565b909273ffffffffffffffffffffffffffffffffffffffff938484169060409283517fafd27bf50000000000000000000000000000000000000000000000000000000081526020968782600481885afa9182156102fa57600092610d67575b5085517fd94073d40000000000000000000000000000000000000000000000000000000081528881600481895afa80156102fa57828691610b8293600091610d4a575b508c33911661214b565b85517f2f13b60c0000000000000000000000000000000000000000000000000000000081528881600481895afa80156102fa578591600091610d2d575b5015610d1b575b505084517fbcb7ea5d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015287816024816000895af19788156102fa57600098610cfc575b505060018710610cc4578697610c5f8761028998997f5f2e0499a3b6a21fd5e1fac44ac47c9aa7c3afa39076d67162a4993411d496da9486611d61565b9735610c6a816100dc565b610cab8a8a895194859416973397859094939260609273ffffffffffffffffffffffffffffffffffffffff6080840197168352602083015260408201520152565b0390a45191825260208201929092529081906040820190565b84517f0a4439e60000000000000000000000000000000000000000000000000000000081526004810188905260016024820152604490fd5b610d13929850803d106102f3576102e381836103a7565b953880610c22565b610d2691338761214b565b3883610bc6565b610d4491508a3d8c1161085d5761084f81836103a7565b38610bbf565b610d6191508c8d3d1061033c5761032d81836103a7565b38610b78565b610d7f919250883d8a1161033c5761032d81836103a7565b9038610b35565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa57600435610dbc816100dc565b60243560443567ffffffffffffffff81116100fa57610de160409136906004016104b2565b610dea81611eb7565b0135610df5816100dc565b610dfe81611fc4565b91808310610e20575081602093826109da610e18946100dc565b604051908152f35b6040517fc5b5576d000000000000000000000000000000000000000000000000000000008152600481018490526024810191909152604490fd5b9181601f840112156100fa5782359167ffffffffffffffff83116100fa576020808501948460051b0101116100fa57565b919082519283825260005b848110610ed55750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201610e96565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b858410610f20575050505050505090565b909192939495968580610f6f837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301885286838d5180511515845201519181858201520190610e8b565b990194019401929594939190610f0f565b6020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa5760043567ffffffffffffffff81116100fa57610fcb903690600401610e5a565b90610fd58261189e565b9160009060005b818110610ff157604051806102898782610ee9565b610ffc818386611930565b838061100a89840184611970565b9061101a604051809381936119c1565b0390305af46110276119cf565b918115908161106b575b50611064579061105083926110486001958a61176c565b519015159052565b8761105b838961176c565b51015201610fdc565b8151828901fd5b61107d915061107990611a2d565b1590565b38611031565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576004356110b9816100dc565b6024356110c5816100dc565b60443567ffffffffffffffff81116100fa576110e760209136906004016104b2565b9160a4611101606435946110fa866100dc565b8380611b8b565b94600073ffffffffffffffffffffffffffffffffffffffff80948160405198899788967f769f8e5d0000000000000000000000000000000000000000000000000000000088521660048701528a6024870152166044850152608435606485015260016084850152165af19081156102fa5760009161118c575b50604080519182526020820192909252f35b6111a5915060203d6020116102f3576102e381836103a7565b3861117a565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa576004356111e1816100dc565b60243567ffffffffffffffff918282116100fa57366023830112156100fa5781600401359283116100fa5736602484840101116100fa57602460009392838594604051938493018337810184815203915af461123b6119cf565b906102c76040519283927f1934afc800000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190610e8b565b611289366104c0565b909173ffffffffffffffffffffffffffffffffffffffff9182821692604051927fafd27bf50000000000000000000000000000000000000000000000000000000084526020938481600481895afa80156102fa576112f192859260009261143f575b50611b8b565b6040517fdb74aa1500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881660048201819052602482015290969095848760448160008a5af19687156102fa57600097611420575b508087106113e65750907f3193c546cf854c6a4c63afa03b04d35e4242c2761af34a4093fc5daa88dd5308916113d2888861139187611894565b9360405195869516983398013590859094939260609273ffffffffffffffffffffffffffffffffffffffff6080840197168352602083015260408201520152565b0390a4604080519182526020820192909252f35b6040517fca935dfd000000000000000000000000000000000000000000000000000000008152600481018890526024810191909152604490fd5b611438919750853d87116102f3576102e381836103a7565b9538611357565b611457919250873d891161033c5761032d81836103a7565b90386112eb565b346100fa5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100fa57600480359061149b826100dc565b67ffffffffffffffff6024358181116100fa576114bb9036908401610e5a565b9390916044358181116100fa576114d59036908601610e5a565b90916064359081116100fa576114ee9036908701610e5a565b94909660005b81811061167a5750505060005b8181106115c45750505060005b82811061151757005b611530610a0b610a0b61152b84878a611a46565b611894565b90600060405180937f9262187b000000000000000000000000000000000000000000000000000000008252818381611587898c830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03925af19182156102fa576001926115a1575b500161150e565b6115bd903d806000833e6115b581836103a7565b810190611ab7565b503861159a565b806000856115df610a0b610a0b61152b61163e97898b611a46565b89836040518097819582947f7d24da4d0000000000000000000000000000000000000000000000000000000084528301604060019193929373ffffffffffffffffffffffffffffffffffffffff60608201951681528260208201520152565b03925af19182156102fa57600192611658575b5001611501565b611674903d806000833e61166c81836103a7565b810190611add565b50611651565b80600087611695610a0b610a0b61152b6116e797898b611a46565b8b836040518097819582947fef5cfb8c000000000000000000000000000000000000000000000000000000008452830191909173ffffffffffffffffffffffffffffffffffffffff6020820193169052565b03925af19182156102fa57600192611701575b50016114f4565b611715903d806000833e6115b581836103a7565b50386116fa565b908160209103126100fa5751610528816100dc565b6040513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80518210156117805760209160051b010190565b61173d565b801515036100fa57565b908160209103126100fa575161052881611785565b906000805b835181101561188e576117df610a0b610a0b6117c5848861176c565b5173ffffffffffffffffffffffffffffffffffffffff1690565b906118556117f06117c5838861176c565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff90911660248201526000604482015292602091829185918290889082906064820190565b03925af19283156102fa57600193611870575b5050016117a9565b8161188692903d1061085d5761084f81836103a7565b503880611868565b50509050565b35610528816100dc565b906118a8826103e8565b6040906118b860405191826103a7565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06118e682956103e8565b019060009060005b8381106118fc575050505050565b8451908582019180831067ffffffffffffffff841117610386576020928752848152826060818301528285010152016118ee565b91908110156117805760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1813603018212156100fa570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156100fa570180359067ffffffffffffffff82116100fa576020019181360383136100fa57565b908092918237016000815290565b3d15611a28573d9067ffffffffffffffff82116103865760405191611a1c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846103a7565b82523d6000602084013e565b606090565b3561052881611785565b908160209103126100fa575190565b91908110156117805760051b0190565b9080601f830112156100fa57815190602091611a71816103e8565b93611a7f60405195866103a7565b81855260208086019260051b8201019283116100fa57602001905b828210611aa8575050505090565b81518152908301908301611a9a565b906020828203126100fa57815167ffffffffffffffff81116100fa576105289201611a56565b9190916040818403126100fa57805192602082015167ffffffffffffffff81116100fa576105289201611a56565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81813603018212156100fa570190565b600411156100fa57565b60041115611b5257565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b3561052881611b3e565b6105289291611b9d6080840184611b0b565b35611ba781611b3e565b611bb081611b48565b80611bd65750611bbf83611894565b611bd06020850135809233906121d2565b916122c8565b80611be2600392611b48565b03611c1c578235611bf2816100dc565b611bd060208501358092611c078233836121d2565b611c10816100dc565b61063c60408801611894565b611c2583611eb7565b611bd06040840135610661816100dc565b60009103126100fa57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b3590611c8b82611785565b565b9173ffffffffffffffffffffffffffffffffffffffff80921683526020830152606060408301528235611cbf81611b3e565b6004811015611b525760608301526020830135611cdb816100dc565b16608082015260408201357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1833603018112156100fa5782019060208235920167ffffffffffffffff83116100fa5782360381136100fa57611d5a6060611d5360c09361052896608060a088015260e0870191611c41565b9501611c80565b1515910152565b93929360808501611d756108a58288611b0b565b611d7e81611b48565b80611da1575050602092611d939286926124df565b925b0135808310610e205750565b80611db26003929895969498611b48565b03611df25750611dc982611ded92602095306124df565b8095611de482611ddb60408701611894565b61063c87611894565b6109da84611894565b611d95565b90610a0b610a0b611e1485611e1a946060820198611e0f8a611894565b6124df565b95611894565b611e30611e2960408501611894565b9284611b0b565b90803b156100fa57611e769460008094604051978895869485937f2bdb823c00000000000000000000000000000000000000000000000000000000855260048501611c8d565b03925af19182156102fa57602092611ea4575b50611ded611e9961066183611894565b80956109da84611894565b80610ab9611eb192610372565b38611e89565b73ffffffffffffffffffffffffffffffffffffffff611ed582611894565b16611f9757611ee7602082013561216c565b611ef9610a0b610a0b60608401611894565b611f05610a0b83611894565b611f8f576020820135905b611f1983611894565b90611f276080850185611b0b565b93813b156100fa57600093602091611f71604051978896879586947f2bdb823c00000000000000000000000000000000000000000000000000000000865201359060048501611c8d565b03925af180156102fa57611f825750565b80610ab9611c8b92610372565b600090611f10565b611fbf611fa6610a0b83611894565b611fb260608401611894565b602084013591339061214b565b611ee7565b73ffffffffffffffffffffffffffffffffffffffff1680611fe457504790565b6020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa9081156102fa5760009161202d575090565b610528915060203d6020116102f3576102e381836103a7565b82156121465773ffffffffffffffffffffffffffffffffffffffff16806120df5750600080809381935af16120796119cf565b501561208157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff929092166024830152604480830193909352918152611c8b916121416064836103a7565b6127e7565b505050565b9291908261215a575b50505050565b6121639361256d565b38808080612154565b340361217457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f657468206d69736d6174636800000000000000000000000000000000000000006044820152fd5b90919073ffffffffffffffffffffffffffffffffffffffff16806121fb57509050340361217457565b8161220557505050565b611c8b92309161256d565b73ffffffffffffffffffffffffffffffffffffffff9190821680612275575016803b156100fa576000906004604051809481937fd0e30db00000000000000000000000000000000000000000000000000000000083525af180156102fa57611f825750565b915050803b156100fa576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815260048101929092526000908290602490829084905af180156102fa57611f825750565b60849060406020949501356122dc816100dc565b73ffffffffffffffffffffffffffffffffffffffff80948183169788156000146123755761231e81945b61230f816100dc565b61231984826125e9565b6100dc565b60405198899788967f20e8c5650000000000000000000000000000000000000000000000000000000088521660048701526024860152604485015260006064850152165af19081156102fa5760009161202d575090565b61231e600094612306565b60209360406084939496013590612396826100dc565b73ffffffffffffffffffffffffffffffffffffffff948591828416988915600014612429576123d481955b6123ca816100dc565b61231985826125e9565b604051998a9889977f20e8c565000000000000000000000000000000000000000000000000000000008952166004880152602487015260448601526064850152165af19081156102fa5760009161202d575090565b6123d46000956123c1565b60a49060006040936020959673ffffffffffffffffffffffffffffffffffffffff958691828416938a806124cd575b50500135612470816100dc565b60405198899788967f769f8e5d0000000000000000000000000000000000000000000000000000000088521660048701526024860152166044840152816064840152600160848401525af19081156102fa5760009161202d575090565b6124d891338761256d565b388a612463565b60a49060006020949560409473ffffffffffffffffffffffffffffffffffffffff80968193013561250f816100dc565b604051998a9889977f769f8e5d000000000000000000000000000000000000000000000000000000008952166004880152602487015216604485015282606485015260016084850152165af19081156102fa5760009161202d575090565b9290604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015273ffffffffffffffffffffffffffffffffffffffff809216602485015216604483015260648201526064815260a081019181831067ffffffffffffffff84111761038657611c8b926040526127e7565b919073ffffffffffffffffffffffffffffffffffffffff831692831561188e576040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff831660248201526020948590829060449082905afa80156102fa576b7fffffffffffffffffffffff916000916127ca575b50106126875750509050565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000085820190815273ffffffffffffffffffffffffffffffffffffffff841660248301526000604483018190529182919061270f81606481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826103a7565b519082855af161271d6119cf565b8161279a575b501561273c57612734929350612907565b80388061188e565b606484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b805180159250869083156127b2575b50505038612723565b6127c2935082018101910161178f565b3885816127a9565b6127e19150863d88116102f3576102e381836103a7565b3861267b565b6040516128529173ffffffffffffffffffffffffffffffffffffffff1661280d8261038b565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af161284c6119cf565b91612a31565b8051908282159283156128ef575b5050501561286b5750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b6128ff935082018101910161178f565b388281612860565b6040517f095ea7b3000000000000000000000000000000000000000000000000000000006020820190815273ffffffffffffffffffffffffffffffffffffffff90931660248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6044820152600092839291839061298a81606481016126e3565b51925af16129966119cf565b81612a02575b50156129a457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f5361666520417070726f766500000000000000000000000000000000000000006044820152fd5b8051801592508215612a17575b50503861299c565b612a2a925060208091830101910161178f565b3880612a0f565b91929015612aac5750815115612a45575090565b3b15612a4e5790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015612abf5750805190602001fd5b6102c7906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401526024830190610e8b56fea2646970667358221220e3cbc8a6df982b7fe8f626f600ddac0c9b8782491f7f43fd8177701c1373964064736f6c634300081700330605581d029fbfdc175d5a97a7c1f80c4ef45bf68fbb755dc91103ae78f05098650701192b330219880005581e03c5819f39042445337d11ac85009038ca75d0a26fedcd2f7e26c4c9d1b00c0147069cb49979b00405581e037773682f3c033f23595b46c3f73b12a8cfa64d9db0088ab0f1ca1a9f500c034649ec7147810805581e0338f16beb21e0821ec5649ca6c44c4595047f069c67abee765e92fbe5e004010219f9b803471e3d1fbca862e5f53ca82c296f6a6a2b2bd64b450da96299887f071a62094403601445698146610632def8da8c005d9511d56d0195364144fdb932208b7f67d003d4b9e1bc668f00132685031001e3211ec964ec625848220b4c632ac7e9967cba03af5b2d1c2b42ea74d9da74bf5c75f7e019bff8a2ce2780603cb6168fe1f14c7b037a083af6d41730e3547059a0f95edf29a314714d7d1decc009f182d04458532b0219ffff03c02c11f4174368e712953598fbb51d15f36b12595c78572f10e6f7ca629edbb1033d44ab41bcfea327df7aaf0467389f83e18d64bf447838c761a5da2709c45be30219ffff03cd47a21cf7f41cff42fa031c98daf06bdc3aa635c46da9c3a53b30be13b3e9ae0313292c67ffb3db4d0b1423fc24e58884dc52dcda1b5b7b5fe2418579438df0b4030e602dac9c9d7f373f5179fcbd30cc67b535ea52f48915501b2b69fc66c7432d03e79bbe0cb59793181acf35b8a23bda5a1d072c89b3fcc23f074cf35df88d30310365b8cfa685a45ce6609f2cb6c35149def8e49efdf91658694d3660b5d0cd36b003c95d02abd6748389ed21c7411512bbda8f44ab0b1aa01b967a269bd4f12001c00219ffff0313d3478f0502434759539bcd12cf37fdd07a43f2710cdfe415b7beae002a70e20346b2590e36ea1bc4dd95a5e88756243a1fc7b1add73e110f0c4b6a9f94b9f48003a77c7c0e53e8955a1b75c8a36983f12214a118b17c242d8149ff9db80fa15ec403768a8ab37dcbed0de7e7c7513dd74e098d2eaa5ba8dc7d84be6e630c9f713ef803f62e496beeca5177c3ec016a3edae0b0003c53858824cea69d2f62b112d0d0f103679a9b6fe28066fa176d5b4651c49cede7112f69e5c67b224fbd5519f6700ce203678be0a50e9b535c31231c8f5d826668469d15ed9e8b48e408621e8e750eb80d0320e3c901dc347f84768ae346950af951ca268c10a6d92504fd94f6564c114edf03f084da1bffa57e4d04d863feb7dcd6f2fb92448372c2640875b0af20bb8764f203e39e1d9ac84bd849401553647e6398f0bac538ecdc6fc8fef29f2ce1a6735d53033ffcc28ca82f1e7b6593dcd1fcf09e928e0a40082a8aea29c5d14531dfe94a43031c5cfcfce81e9a6e7afbf2f82506f0cf73affa5ed7fd40958708cb8a659086ae0219ffff039138db72adb09029bff5b17273efd59154a00bcce1ab1ce661d1507b94116dfd03f49c71354da0ee184eab56fb926fb1f803064a09e47e855af182886de7c355b703d56dfd9d0321d4b64cafa010699c417578ca1286bcdae5b4023c38aeea44c74f03cedb49397da9fc6e593b1b0d864e74e53b7afae27a2182664f04c95247b637f303884b8bcbe33cdc4f26860c33101b8862ebc2b3d8ac0e2fd48a49a9b54542708603a067a416681edc398ac35bc9ffd016c7089c2a1201bbd165e276dbf37df67478034a7f5b2fbc5364bde6e686357fcb9700ee720f5f9fccd219af9976cc0d38471103f7452e91c3d15c5fc1d927289b340feabb62c06961e63fc50a41e3fdded5d4c903f61cedc776d3deb34eb64242f4abfdc0487e5e9473b51c993f0024846c29ef2103694940aa96ec8bda2c10f27b148d33d1b412719949b41d1e310d4fcb8bf0830803ab250b709bcdbedcceb5a679bdf46992ebee020172be88e6e471f0adb3df6593036946be991d93eeb5c590ba290b19b55395144d30cadc0182bf09096d5c6ff50e03b0c8a99704a263e8a1bdf4fcd80849ffb05652ad0027f450ec81fb492ac4a7ea0311c21c03215d09bba569a83865d1c13f17cce259e1e0ec16d79cf301d263248d03ec12e47a30d36599ba2b63b967c191085181f463c8edb5bdb3232383c4f0d395033ec5afc3f67b87acf1035eac841ed66fdfca5a7f8108761ac7eb172acb7d1269034d38b047d39b1ee38add20102598a02bd31f058f4a19a67ce7d294f171c60c9e036504863d080890c076197bf806f8e13eb861e864542844da156e0b1031d69ee00383c429f51a3101fe83c54068dda7bd141ce7da817e90e922050e297cb0e9e9ee030aa5daa00f27619a9a1db36150a5d8077817d7808164d61f95f511e329ee242a0315cf0cbf5c0c7cafcda27ad34f7c9679d38f901d65fffd677763112bc749cdcb036dc0f501c76b47cc11a1976853a30f61b0eb7cdfcdc08bd83dfa090ded755a840320f4aa344c57a77b0221c30b4e4c054754e755bd3376c00f3027ffd3fadc428605581e03e533659515d96332779f813b535d4e811eb59ea8e31f4e8498ee20de10040105581d025b38dee48960942fbf0816657b7eb833d04ec4e758a005cdef9017d3040104592da0608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610def565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610e28565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610e7d565b604080519115158252519081900360200190f35b61036a610e94565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610eb0565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610eb6565b61039b610f95565b610400610fb9565b6040805160ff9092168252519081900360200190f35b61039b610fbe565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610fc4565b61039b61109d565b61039b6110a3565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166110a9565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611463565b61039b611475565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661147b565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661148d565b6040805192835260208301919091528051918290030190f35b61026161192a565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611963565b61039b611970565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611976565b61036a611b6c565b61036a611b88565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611ba4565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611e70565b610257611e8d565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612cc06027913960400191505060405180910390fd5b600080610767610e28565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612d1f6023913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43726f44656669537761703a20494e56414c49445f544f000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d612073565b89156108e1576108e1818a8c612073565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff16636c813d29338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612c706026913960400191505060405180910390fd5b600554604080517fe380f72800000000000000000000000000000000000000000000000000000000815290516127109260009273ffffffffffffffffffffffffffffffffffffffff9091169163e380f72891600480820192602092909190829003018186803b158015610c4757600080fd5b505afa158015610c5b573d6000803e3d6000fd5b505050506040513d6020811015610c7157600080fd5b505190506000610ca6610c8a868463ffffffff61228016565b610c9a898663ffffffff61228016565b9063ffffffff61230616565b90506000610ccd610cbd868563ffffffff61228016565b610c9a898763ffffffff61228016565b9050610d056002850a610cf96dffffffffffffffffffffffffffff8d8116908d1663ffffffff61228016565b9063ffffffff61228016565b610d15838363ffffffff61228016565b1015610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180612ce76038913960400191505060405180910390fd5b50505050610d7c84848888612378565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600d81526020017f43524f204465666920537761700000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610e8a338484612634565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610f805773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610f4e908363ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610f8b8484846126a3565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff16331461104a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f43726f44656669537761703a20464f5242494444454e00000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c8190558061112c610e28565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b1580156111a657600080fd5b505afa1580156111ba573d6000803e3d6000fd5b505050506040513d60208110156111d057600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b15801561124957600080fd5b505afa15801561125d573d6000803e3d6000fd5b505050506040513d602081101561127357600080fd5b505190506000611299836dffffffffffffffffffffffffffff871663ffffffff61230616565b905060006112bd836dffffffffffffffffffffffffffff871663ffffffff61230616565b905060006112cb8787612784565b60005490915080611308576112f46103e8610c9a6112ef878763ffffffff61228016565b6129b9565b985061130360006103e8612a0b565b611365565b6113626dffffffffffffffffffffffffffff891661132c868463ffffffff61228016565b8161133357fe5b046dffffffffffffffffffffffffffff8916611355868563ffffffff61228016565b8161135c57fe5b04612abb565b98505b600089116113be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612d42602a913960400191505060405180910390fd5b6113c88a8a612a0b565b6113d486868a8a612378565b811561141657600854611412906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff61228016565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461150157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611511610e28565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b15801561159357600080fd5b505afa1580156115a7573d6000803e3d6000fd5b505050506040513d60208110156115bd57600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561163157600080fd5b505afa158015611645573d6000803e3d6000fd5b505050506040513d602081101561165b57600080fd5b50513060009081526001602052604081205491925061167a8888612784565b60005490915080611691848763ffffffff61228016565b8161169857fe5b049a50806116ac848663ffffffff61228016565b816116b357fe5b04995060008b1180156116c6575060008a115b61171b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612c96602a913960400191505060405180910390fd5b6117253084612ad3565b611730878d8d612073565b61173b868d8c612073565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b1580156117a757600080fd5b505afa1580156117bb573d6000803e3d6000fd5b505050506040513d60208110156117d157600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b15801561184357600080fd5b505afa158015611857573d6000803e3d6000fd5b505050506040513d602081101561186d57600080fd5b5051935061187d85858b8b612378565b81156118bf576008546118bb906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff61228016565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600881526020017f43524f2d5357415000000000000000000000000000000000000000000000000081525081565b6000610e8a3384846126a3565b6103e881565b600c546001146119e757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611ac39285928792611abe926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b158015611a8657600080fd5b505afa158015611a9a573d6000803e3d6000fd5b505050506040513d6020811015611ab057600080fd5b50519063ffffffff61230616565b612073565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611b629284928792611abe926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b158015611a8657600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611c1357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f43726f44656669537761703a2045585049524544000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611d74573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611def57508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611e5a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f43726f44656669537761703a20494e56414c49445f5349474e41545552450000604482015290519081900360640190fd5b611e65898989612634565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611efe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905161206c9273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611f7557600080fd5b505afa158015611f89573d6000803e3d6000fd5b505050506040513d6020811015611f9f57600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b50516008546dffffffffffffffffffffffffffff808216916e010000000000000000000000000000900416612378565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b6020831061217957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161213c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146121db576040519150601f19603f3d011682016040523d82523d6000602084013e6121e0565b606091505b509150915081801561220e57508051158061220e575080806020019051602081101561220b57600080fd5b50515b61227957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f43726f44656669537761703a205452414e534645525f4641494c454400000000604482015290519081900360640190fd5b5050505050565b600081158061229b5750508082028282828161229857fe5b04145b610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff84118015906123a457506dffffffffffffffffffffffffffff8311155b61240f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43726f44656669537761703a204f564552464c4f570000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c01000000000000000000000000000000000000000000000000000000009004811682039081161580159061245f57506dffffffffffffffffffffffffffff841615155b801561247a57506dffffffffffffffffffffffffffff831615155b1561252a578063ffffffff166124bd8561249386612b98565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612bbc16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff81166124fd8461249387612b98565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260409020546126d9908263ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220939093559084168152205461271b908263ffffffff612bfd16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b1580156127ef57600080fd5b505afa158015612803573d6000803e3d6000fd5b505050506040513d602081101561281957600080fd5b5051600554604080517fbb44dff3000000000000000000000000000000000000000000000000000000008152905192935060009273ffffffffffffffffffffffffffffffffffffffff9092169163bb44dff391600480820192602092909190829003018186803b15801561288c57600080fd5b505afa1580156128a0573d6000803e3d6000fd5b505050506040513d60208110156128b657600080fd5b5051905073ffffffffffffffffffffffffffffffffffffffff8216158015906128df5750600081115b600b5490935083156129a457801561299f5760006129196112ef6dffffffffffffffffffffffffffff89811690891663ffffffff61228016565b90506000612926836129b9565b90508082111561299c576000612954612945848463ffffffff61230616565b6000549063ffffffff61228016565b905060006129788361296c868963ffffffff61228016565b9063ffffffff612bfd16565b9050600081838161298557fe5b0490508015612998576129988882612a0b565b5050505b50505b6129b0565b80156129b0576000600b555b50505092915050565b600060038211156129fc575080600160028204015b818110156129f6578091506002818285816129e557fe5b0401816129ee57fe5b0490506129ce565b50612a06565b8115612a06575060015b919050565b600054612a1e908263ffffffff612bfd16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612a56908263ffffffff612bfd16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612aca5781612acc565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054612b09908263ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612b43908263ffffffff61230616565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612bf557fe5b049392505050565b80820182811015610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe43726f44656669537761703a20494e53554646494349454e545f494e5055545f414d4f554e5443726f44656669537761703a20494e53554646494349454e545f4c49515549444954595f4255524e454443726f44656669537761703a20494e53554646494349454e545f4f55545055545f414d4f554e5443726f44656669537761703a20436f6e7374616e742070726f6475637420666f726d756c6120636f6e646974696f6e206e6f74206d65742143726f44656669537761703a20494e53554646494349454e545f4c495155494449545943726f44656669537761703a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a7231582072febb9060e99697097d30ad78467c0deb02dffa096d3e1e0b5f205a8bec5dfa64736f6c63430005100032005820025e5961d3b0ece6446d2435c5fa4cb9a459cdc20162b54d9fd81e13b8352ca84607488b898c0b005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0549deb29c9a4c7a88a3c0257393b7f3335338d9a9d00582002a903bb1180e9028010fad57cb666e7e38bd91e31df36407d2f357b8ff430474603d62969e41d00582002b5be412f275a18f6e4d622aee4ff40b21467c926224771b782d4c095d1444b4203e80349ba2c90f8c1e25efeeb550b6ddea1d3088feda8e3a6acf9ad82015d790365800219d00a032062853d81ebe82b1ce4d51f32c1de582c440225024da77562af5aaf2f71d76b03ebaa46d391d69487266988b061c37468718116d6515c35f5bb0cf47615d3f8470343dfd1da3ae32fd38d53075583f284ad0ed401cf1ef78ffd897967c055bb05c903ab18c07ec5642e6ed20cd199cda13a27c9b602f2fb742d603ed98b58af8388600355c80cf937cf9443ba38a74169333bafb283d923751f912ef7f6afefe0cc4c0503c51c14fb607718adb9b75c011d383138bc182d687822b126637ee9abb9a4629400582002f7d42a7cbfe105c1c4016624fb655d3cf2b846a252605bd110e6bf52c454b2462d977ce65c49005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af544a9e0cf2cdc8b29c10f94acd1bbb644ea871883203abc1f434cbbe7d1eda2179ca938e907da1e20e81fce7e970cf945c7585ceec350219c880033692521031ec347d66f1a4c94ec5afc09d2f84844e28c3505a981e396fc98cf303c5b03601bdf38c1259b380a08b2ce64dbf39a7feaa2b852a4a3a6341f1601a4003a2e9d6cf5bbb1b9d9cd3b9f5c0858cd054f375cffcbab75244b028b708e6bd4900582002700d8d59700f0b1a1a4bc1b84108c9bea8145bd6a8eb036dcc46313bb55f9a467b88a7f3534d00582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582003a4e43962053d01cd805c11b86ae32f176afff78b26c16b1fb327b2236ec8605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219024003ba9205f155a3c08f83e544e4125c85f748807c676a6e5fc438c6845688189557005820024c5a094dcb93c7c0860afe50966612c0da22a2606ae2d70c846419188110325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0301805d3181b7a6a466ae302874b0f360f7f66aa75dc0990adea8d681976f43e201420047005820022fd9a09cd2d98d351bdc5c51bf067224a516300076d6aeaa4362c9307bee7e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c1d0038b47bb18536c84e3a1e0a7f6acceca4d0d99aa9585b335e6a4a6dfd5b348903d00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58201c0d83ce790a9d7de8c76ac4b1e30d6f5fad88ce4dd09d80c4754e5d8a57e05200582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80500107f785d1ad8912ddc1a99d7c0a15e700582003646c1fef6b8fb5e019f4c7f39d6c2ad2bcac38bcecb2a208cd7a5d2503cc705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02186002184400582002cffab0df0bf13f961a55d3e77dd864b2bb9783786441c9a0f32a9a2bf9507846044561fc00b8005820029524ec2318d98d944e72c11f1eb01992ae6ef60bae74d9dd72de5911218ca85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219a00803200ce159605082b594a1ad557f682ac0cdc7244ad38d2c530339519e94df058f00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632d02f000000000000214219bd314a727c000000000000000006883b6b9d8300582002840c40a56b17960cc3cdee5e1c815ad19bb7569ac0019aa8f73fe685e73df85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0544c19596f5aaff459fa38b0f7ed92f11ae654378400582003aaad4c603c3a11413af50aecfca4e6b385e06d82963a5d357c1a9bb457c3b04604282e68fa2a021940200058200282a5fb827a0fd125b57ed9834239fa6b41de5f3e08d1ffadaecb48bfe3e5985820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002fb4bd4a0765060f39ce3f04c3a1a0d5d5026e51099fdc14c9204eea7f24da85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021912580219ffff05581d02a69f57830a226c049ceee83d2b06bc3c3369584e6aa26840689c9e8b0701192da00219080403f21a08da7e3324a78a8f9b7c7b88f2b5fc4934ba0c3b18d43b8590f1e27e427903ae6f3b57435fad9671d53a3bcc8356a51ce996010d07fcab197f7fcf83607f4a03ee49c37c928c6444f210ece68f8ef156f093f5d448f00070e322e69f4843c77b05581e03bdb20900b6d359ef34c016ae8f885b7eb6a5b7ef323cb097953a87f0700401035e034914d381638290c2fde52f59cc37fe3f8768506353eb9bbfe2c5a669c1410336f3ab3538eb49fb13d8326bc3897b552e4e679615a4de9927e0b7dff441963005581e0337abeb4684ed6018fb18366f879b41716905241e8210b877678ee3b2300c0a472faa724163e9f103f0239673918650ca691ed3207102eec887b530742ebf707927fdc43306446c1b02192fbd03a38423559e332222c94f4aa696201aba7a875622c0a1ac18ebe5484c51025cb5033fd29fc3779d2745c36ecebf948f9183131f147248438ae937dcdc0acd29d44b0219ffff0352bf4bc6c1efec95007b2923395c213b2e5f75cea66f94fd28e14b70adef47790347781a919befa6c668165fb84d058c8f425c04691af4f6784667449c2895583103047e780d6f540843644e954372ba03cf98f5537f35e671c02c9bf5f2895e24f003696998fa0354ea5f779e542671794cec74ffebc7b0c8349197e522cfaedc24040313dac70d53775ae4b08f972e769936d6b32c602bfdab0f49aecc6b206e2d960a031d547e115f838c5612168bf6b4883f05eb9eff199e653113d6050d300621df7c039d5c0b62bd4c1c0155ef6b4fa913c832edfa61a2294489e9fba2a84f666df7ff03fa71abb848ba8850a0a122499ad7970b11790e2db4064a99f34a61d1b4f9040503cc92df665ebcbcb0db8f851de423b3cf0a927c8d62fe4eed5964c7ea71cf345d03a0e10abc3ccb38e3446c74517916fe5e15a725c93ad60383f5d82c4467fbd0ed0219ffff031a358cac81c647fc08138032e5bb5155d85d86fdf25ffb32c6c29d27ebfb7203038d11b51b701b967827562f65ab876f5e80a248947fd5344dbad4154b1c677de903373f490492a7991a77ce530381e5c99fa6e43b0427313f80446e56f010d09f5403acfa71e1fdb3a3f8a2b2cd742b1a61d3f8689be51c8df8c4bb8e19b10fd61ab003478bfa348aadf65daa478a551fab5da70f9359ed728d2c92bcbb36e7f828957603663dac7886395479e9e2192132fc265cf80d567792b99a2bb8e3c1ceb1df46b7031709dba73e08487938072b6a1e5c55799adfe97278b2079c22ffa79254b03cf303327fdb97ac65eadb1838edbd58488ad478b709dcb7544c39d3c784db493d3fe2030c83e56ecd6cb621481cdc99ed1243b3dbe5b61a0f28ba51e6adf6d10cbab192034749da88266971e044146f5d7aa6c8b48636f1cd54b752e7a0f440ca26df89c8037a9890d646268dcca90ae431aca43edf498ba4af2d8a3076e1b4a1379471ee520362b1d2d76b1475d3268f544dd6c1e92f0698b5c10240042fda1d6e9d3f1e77ae03fc46f8ac8eb251e3bb47ce163c5b573d582950627529542848b75db2ff22b224034fb64bc1c906f77c17f1c56ec5c04a213ed283d516288ca1e61ffc32b0a7b7640313a4639a52d2bc98b9754a0f428e9ba4370334e8e58596a813477f4a018c9ad80219ffff03b4e58b5b8ebc71aba6611975b70934aca2ee64a38b3b75fff3cc1e6c49aaedd503d13f364654ab1e6f4f643d89c4449304e2a3e62088bd9cc76d8f00a3ff951135034daa459219def81e2380499635cbbdf3b9fbf2bf48859ded206556c5f9de7cc4039fd4381c3fa94e59c7cfa3bd7e5972eb04b5bdc18a9d14b3ac9521ca711ae06403328ce44f222ff9b10b9a91cc9efc79e2fb9285b1e4b86e267df6b72f7ba0c9d2031be05f997e52e01a599b6233f7dc71d04d9f39f7d830208dbb0611d21c80c20b0386373ea4dfa9e0f66669f8e6b3855619599197308601c57cb269ea20785a3ffd03b0d6900e5a31a7483b99234ae1293b7448d7dd89f59b1cdcd88e68777a4c200903633ed98fb7cf9f6ca333d2df139d2a9b9dbc9f85eef67a28e551059020c6e6e50300dd740468537582ef7efd7faa34a3a7bec913b4eaf5d8ee36c4adb1ee2d85c003b8faed1865d97f3341f9247d64dcfb559381edc0a43137dd55e526ade6ce267d0219ffff03ea34f1449c742179d6b9236f086dc75c82e6ccf5bfae827454468bca9631d7e2034bf06fb9f6313596915f9965345fdb6ceffe479a5afc9e3ab0fa984aaebee4bd039571a667a6dff13bc87d4c29c26ec247d00b9ddae12a1579fb3525b93f2f2cd603e4187fdb3d526f0d523304a7fceb161fc6e64327ce3a099e26ca6fa9b79dc9b20340880599e29c148d67003790c0801315204090a99504b30305a7872bc21b359f039eda251bf5157212c4ecd1fc8825da463a3b8d03c9ae91532ed8f4b071de7a8503901194031cc27484ddb004b731626166c98af4a4d3ad5a6d5361438e348ecbbe03bf11af1a3101a3804ed810fc06d67e2a70ed0fb16938ba454e1366bb532b4f52036638b1e02844e5720f6952a99ea3d196c82411dc3137c785e90dd29856ce07d403de6fc3c0e42f8428317f8eb64051ab3092cf09ad8eda57febaef37b8e02f00f40387b90387b0194ee69ef5c6b6a74a65f4e004141eb639b1c0eb454c5728c2107c033d22008f91fd92ac9a5f777a6bfdfb9c74b87029b42284e8b0beba0d291c9784036dfd055e1ce962773f31c28ed963d677733a00049f17e1a265d781494f4af32c03eac5f42cba82ae5135ccdd4bf336f00fbbcdcad2957455361beabdd90b55e3b4032eef24e8b9982235daee604306401227c379b542248202550b56a05d793220ab03ea05ffcedbf06067c41783378530315f3389481b251156ee9ffc06dcb9697dd7030a4b775dc52aee063f0e8553dec1c56f1e180eef3a597b6b09b7bf22df08865b05581e03c6d08ac2d716ec68542c702245c46410c56bdec1a40b6d68afe076cad00c0147189242ca43e60005581e03bbcb9998a8f55ec2bb7b7fa57ffa1b68c86c43fdd019af371e1d65e0200c0c4739f62b584dd38503fd25c7b58d9496b7d179e553bfc729218af7904247bb108fed0f97ad6fd1214b05581d0211c585d30b366472fde98d3957543786c7d22a2473db488c2cd3348104020347290a2de38be498a051c3d8528e704d2ef6b6438b75500290ca743ee5aee393030e419cd4c489746d44c2469d64bda4dd3e5a8e195349724354c6918b0e1831bc05581d02e6af1d9254c6cde34df85bc599cb2c207ffda9d2593a55bf6904aaaf031bffffffffffffffff05581d02d678ca133215a18394805181f5960d83ba38962ea840fdcf52ea02760c1884480240310bb4f26e940219e00005581e03cf999c93ace8d8cc7d0b97dd6e08c60f5be935110575ff3d3aecd9e3a00c014703681e9fee6e7b05581e03f52a0253603fbebd767cf9a9eee07ba889e5e0c38ecb525d514fb29cf004010219a898032aceb9419feaeecd77d767c48f1999495da34b74520bde8a75e5a9722a6408b103c2a387200d9af027c1d0b4107cfe2a3f61024f5024852eeaf771d03250e70228030016968f36f22faa8c94dd6be3562a5dad8babd9a0831c3edb641de3979af7ed0219ffff036dd0bcbeb4924ef8ae4ebc556a857613d7b8a71f39ba82245786e8abb7133e1f03610d922d3e42e56aaa51bbb4a5015003e31e8c1b8219aa793b8709018e390c0f0372aedad4bb1e3475d1c708c849180c3fdc40294e98d23a9e3e4d8d03fcc19f9003331f2c8280377c038ed1606fcc94e9d3f220531edfd316d32bf16fc3346d796503ea6a50708bca6497f082611a430f174bc6b7221b515d4f98ae175fd37efa289003b8b8859c4a5b542289e526b65d410a5333c3bde842ee32f9132158b10dddb3d803c749b48da5ffc9911302703292843c666c123d8bca3f0980adb75906d56f174803390a3d4e9702b31f0795019af09b56bd000dc034515c72f18d2b3648d407c68a038b314868047821b4156ef56929f883f5600fdfb276ef05d524a0204989b6463603d5ec1c25964548e5540060cc78bd399bdedfd7b1d26e59e2260215921abbd4b2038c9b77c9bb8755f681f2f2f9505871ec0b0c4c1bdcc9e9c6dfd18ec93bf8c1fd033a73ff3a4e1f4effd823434a28515deab1dd1c507a1e9f3375223b718424910c031bde88d17bb7efe2a741f16234ded75745b2c370fb715e570566aa740c9cdf34035e073e6ab8b04cb57a14ddb9f6c8837b03b65ce95e40973bf7904d0f43b882120219ffff0321b6fa91ca4f0c7e5a1fa376fe5ad966456c52a21f7371c77fe267e7f33333e303f2bc0a3d3be76cebf5316c34a390a2ee44964644af21018bbaf998065ffa713103f4a077bb8deb4a160d2d3e36e243c2de15ad85c5f650565ef8b55d6bbbed384303c39bc1accc9be25b548cd5c6e24685b0333445858383519fedd4b7968b365dfc03787e8c2fde6b5323b4dee9ae4206f945ae5e58be83b5e4a9392fd2848a79377d03fdfcf2f22888660458fcd5b7ebe541142fbe152565db1a9ad1542f9c5550c76703b8d5715dfcae28c9ee10871e2e68da51332222ffcfbce323d88dc99f0429a62e030364bd70d2a5eebcfab8c4da5a49672fb12111c9b3ebb7a5f34cc69431321af50360eb77c2b963c6ca0ee58b12e9982ca9c59c76484a2ac6e3377c6c32913d384f03c65af19823b5fa916d44455b32600f475a0820c1e1aeebe9c47b57a04cfdb51903f32524e62db5ebaf8fb369943e44491be55b246f677304d590b97dbeac52c76a03dd0d6c21859972b73f1ba9e33e2bed0c8fdd8d8ba0819d4ea61b05a392f29bf6037588776c3a16a5ff72b1b790b2965a5a98a2e69966a884400f6c109b7729ef550335c21708ffac9ba6fe08fcbf048bb620613cf6f3fc0a6cca7e4edfa0866103110337e1720c5467a52ccffe603c9a24e7610cc10cbc75befed8c08570d976a5a3590219ffff03b72b7a3642009676b2f08207987b717e2e1a5380d70947b9e47e1237e36ffbd503090315b50ff113ee06186e92ae13055e6cb7f08c90e1a1590b089c299bce4a1a03dc3efd50a8c52063a72f3943892946f532e27c347426816b53da9fceacab713003c9c5ff13f7642e25f90c4bb2869f18f1f9d62c6058c1da472c3f341e0c08c6db03526524e24a0e013d69d5310544958eec0f1f50557931feff51cad8956412a83b0335e161ccef988f3664bfe357daa6cff060b8a18bdf403c863f8f444e04b4b636039b10da0cb51a8b3a3a130c2a68798a0846dd77a63826d955712d0da9f192fb9c03699f0db6d4c749716e34969102ef6db99dcdc1ecab4ba9795ca34f6e69eb744703aa36c5bc3ca174d43a2209ae5dfb755b6eef577b247f5deccfac9a061082993c037c5692e5a0d62d907de3d4c2f42933ee909e48ada74e768e649cf6443eb30d9003301e7643c6c659ffac0ebef341bde4d1df9f63e29460db72267826fb96016260039450c7476a9eb05987807dca7e6e753002a1a5557425992ee50ade335e56a37b03fc6a60c3fd9b94064d59a9ebbb786a9a54980958c451bffb0a35021ccb0ad820035380ea1a53339cce1bb8edfeccb97c3d023481527ca9bf8f558b720dd5b2920f03d5bce59aa7f5f4256abe5b4d0d09438f991d5d43424209f3f5bcc4400d4125660373d6f211896eff3f496dcb4f5c7ed7475a72de2a40fa736dd4c05ab832f5996b039b7ac8f34845d2bf14340716af80905b9191dc9fe76c26c8eab7d0c439dff31d0331bfe079ad5be6b41de35d3736f129530f4dd2a47c4cef351511ce0cee5e34b005581e031d8709f24c947e1a87649c059a53a6c03690c670ff4a3fd6b71eef53f00c024711e26575cca00005581e0319c8aa58046eed4cdf220bb6bb9a929041a0f1a48a1af5a6e4cde05f000c014713051782700d0103a9589328f4d35d0720facf497e1d8fa37cdd55efd7e07e75246d439f704d743e05581e0318fd9ec8594ac38f180e44d3670cd066cb127775e7b2d035529ecff83008471e32b478974000033cbebe4d06c9a3a5058bf53540207de4e03c79e94375104a22976cd23692b58603073d97ccd8b9425ebece1758529fca596248a5f5c0530ba6ae25c6718b5a72f305581e033c6ad2a560356acf2f94362bf3517a406acc61caeb32462f372a0207b007011bffffffffffffffff037ceb19edec60d0f12d46ff6de5cf704d9f59058b16b5f47c4fc3ca9425c70b4705581e03aae3e67884fb5a3f0d398b9a94b7f9a6bee2ae6ad0d97c65a73bf0d5900c02473348695ebbf26805581d023e79e71ae510b9285af84236ed2b22ac87a9cd2190d05e5c95278ee90c04465084da63740005581d03183a0845da921c7f5ae24e910593c8b5c09b0a391f4dc823c631bd900c199569483d2ed0082e5b4a2c05581d0320df0e08361c4ed647c2477a5be97694bd5fcfa35609db98d8068210040802191100021902800347f2ec0e11472b002fbaf5b8ad7000d4f0d4ebe5d9f9fb07dd7d0e63bd63f3700219f1de033accc0ab72e9eed288209b46c9b0b0a3ff2bd3862fd8f27becfd323d236cf79e03d6a4a8019a4a3b18da019d596df86f72983c03ba58877890e7d5b3c85eb9686603c293450d7201062d2e71bd0915d6df1ad6ceff0a384d8e32f9c00fa589a90a31038633a0f3727f6426ff82a5c4e4098b921fee238cb462195356594160fa497bf603b9dc346a94638e4137d9f4ab1411335fb32f6b8876b14338d4e5f23dadb820da038c0c6313c6433e6ee569e397775aa5f97c9a492484e54e188094f289b9e1fecd03ab620c93ab09da0446b54bd560138d753d973a59c78ea492fd36dd54e66a1220030da0e43f29756bc72c9bc532ba315a2cc4c45ae0c8df51f971014beda8f5bed903eecf50738d294e21320038764c1f7db4f7a464edad2822d129ab4f7093d8c94a03d3f93aaaa83955ecd1ed82e5e6143ec1222aece50fe03d27d4f4eaf87deaa49203dd4cc6f1b1bd86eadd863b95b202ae1c7fedfd6bded272da2d58928ed7c528d503f30b1abf8b9f587b5b37f627c7bc8a9d31e316ae43febf8db4dce4beb6cb5f3f0219ffff0310addcf4f595962eeb867f370358a028b083165a5e69bd55e8fc2bfdb83270d5034d2dc1680ff768955ed8f011b5eb5658d5f4ef358a0c30290673b73df60ff9b403dcc6ef47cfd65976afd33bdc0443bc9ac87bb47623fde15f715b97988d980923035d8070a27a70114fd8540a8bf24ea0bed6420212d5f503d9f4df872957d52efa0349586a89bb76d81903d83ef79570eb8858c71580eb0a3d1fc46e2a67209ba29a03e5daf4d93146703a131e45d2f3fc14940951cc54205b1f324a07c639ba31219103b7b959eeb8b2eeca8afbedad062bfbcb70163a02f5f5af99c2188a2905a0b6f703f0e6af6a025496731a1f8c859030320147e129b84ba0f22f9dbdd871c8d53aed03819a64dce9faba6606bf88f3dd354e4781911c61c1f7cf36d145a9e5686052a303e957cc4eae51e674ee59217d88d6e50edc0f9a8eebacc5b46312bcb692f957f503d19c740e8be0cef6d1f2eab54b44197b4b59108240a7df02d78ef3c6354498150219ffff035ef8d48bd720862fe74fc5741976173a328c2020bf7653b0fbac9f1dcde3cb8d0379313235fcd7e87eb1c2356bdf4d8d47bec51cfe99d2024f9301972ffd7291aa0309973d56869206a403e6ebf9cab4ef2b858fa637c0bdf3b1e4d0634c91fe9184039c830e9f4a33d42e641afa3f29d893289197b22539fe130ba2e941fd9569625503e55e258bbc0784fdc2a0986acee516a2c6540d702d4e555333dbcdee2d41f5f703fb4a49add605c5bd191e4942dca8a18c621fdeedb4e5eaa0fb7ad7953ce5f0a1034d73418f096ff1f0ddb136af782c7a57513b353338fe43938a6dcc20779bc46703a04cf1e26d9c5e13eeaa221062e78b212aa4f8fb2cd74b280513f70caf99afae034f25328c9026dd798837a3b9e17bf9be63cd63e14cbdb6643eeafb5169b5072403a11fb0d3dc8422bf132deb18311f0ba1c24ab147e306b9597d74f4109606f9a803087f86c9a7a3082612d2a8215d1099c2afbda420dc2c960e32486394a5d5b4fa03f0ceb1e607897159edce372d387c8d1050d8a3601728e24b4b1052ef71f8ec0203fe18b153d4a87125142a9bae4d4fbf74d9e78bede317c44a0f3e0681553e76d903d08dfc736a98b73c733f4a777895a23010882097543d1c64f7cd96328a4fe4fb0219ffff03cafa00421f02fe9c17dd5b5bc4a7619e06b41b5f870b46dd22e5d3fc0072fe8903cf2f7e71561a46edf7892c08e2920d9df36bd7fad5f97c94706cf5b9918f04ed0219ffff038ce2f1af29667fa105c14639d2720b18615cb87f035f5fc04d75eced0eb27d1403e3592495cd9da6be7a688e8163a0e0967519ffdd081640b6c3be02286c14b7b903e7cf37136327c6afd7c1a77736b911073b4c44d228d93049580fbd16145e6da00338410843c462ff7d04541de7c462f7d27ca81550baf3fd68ca8a42fdd1aa2f0f03db1d2b9f7e9d03d7bf5ade5992c60b7004f514fc4c278f6988a62eb014a12bb703db0d5e7b70c3509a7e9b0bb51c7a976710d572817a876f85d271281c38f11e970352075a9eeaed86ebeb369091bdb1f4bc5f0bf1896d7f4c178acb5ad455f61ee4039ba587408fc150881e3c96f7f88acdaf1a1096661b2d2d9c08a79f373f15a33e0384e8c5a41351d9c37b07245e36d68bfd512fb41d848be0a4819b7d4558388a1803ffe028a9e218c0ed17938ad736b221acfb9468ca5b9b83e67c45f688654a55dd03782afd0a1b77717996a61f307f7632892a768ed591994c1b2f89d1feb749724103a54ad8f584ba1b784950dba7967a0a28b026e6d73a0a1bbdb7224556b53122fb05581e038d2ee73838b6244b21d019784d8775356600de0c3c397ffb232449d7700c01470131a6f56fce2005581e0395aa62f9a401fcd0916a76d9c0809ab249e4d560dac625d42cb98c5c80040305581e039e8ed419d82f03e02d85848a1f8a5a4a6c322d762913f1d8fbf0c77d300c014701dcabc3404c80037510f44527b2322d727dbb0b2bcaefb5d62ddef76373bfd8a617072ab212216005581e037cc064b0ee439d042814e53f6b7223d1c0267a85edf5c5a398d27a5e10040205581e031ceffc22617fa39039f0bc9532aa928f57e413b4218d7fb561e40e90600c0a470258dfd9dfcc9503f4d19efb33b76df9fdb9aa19d9c8297fe1bb299b44d271fd3851b40f95929d5205581d02eda8644a64cec152c58f5aacec93d72fb0bfa705f0473f9043a8357c08410105581d020dc0be7cd1828503a18f54e866c3eb858322737ffc4f95d896aa2ab90c014707d01d828ecc0002190820039ea5ab98644232cb7a88669117c01f21b0a542d09109e8f52c8d82bc8b9c51f7037bdf835bf65e00d4a9db783af858960a9f00915bbf8682f0a4fde54d1e09c4e902197e6e03604d089c54708da1556d65024bd2a0c010948d4660b13286a2079b130389e87f03c48d44841daf095f498da82ec9c7f48e54fa7d6bcbdd93ef6f100529ed99f292036726bf6dd8575853c7f3389acca4a02618d01c96f82157f862fe0887a98d40a3037d90d15c346e1864e8515c068eaaf61770bac0d2b17ba40de0ec5d0f6e334b7003cd408244fac2b3ada187a31c688ec8dbc77edb568654a27cfa31df86511a0abc0372f30553bacd89513ff85215223abbdd9dfe9774ca3cb12157f7c989fd5f01ab03fe9774a34cd8d82c374e96ca959f9cf59a3405acdb2dfe4900a679b59b31fb9e03f0bef1704b9efecdc2c397b1e0f4046485bc4994c66f69af0780d50b103f520c03da9f72bd95ebfe5e9ffc263e844a4337f7c5911b46135ff04624e7645f7e758c03de6c6a2096d42639a5d8b410ca76bcba31bfe12852feb0b2292e3c2d26f6f6ad034b949ad3600e30db849347ef1c0bcd097c53dd267e8ec67c4b1e3419d92908f3035241c0ff519e7b46aa78ecc4019602f5100a0c1c5320b7a07d8755c5c752c3f80219ffff03b9cbadcdca86584d698641ec1c5fc35a664f23d30ee8c1b8ab8353db3a6fb82203b655d2543b5e58748299b2ca339ea0291397be8efc11f017ed12351d34f888ed033232535b9f001f96528cad2cf1d2fc43f8cc1a92e40c2a8f7022b08c3ec7d90203384331a7db78b5796a95f96c2b178da2b85660694f55b579664910fd26dccc3203472da4bc7c136930068b19a1a7c2ee3eac7bc22bb90efbedeec663f021f6eafc03c60e3595e1ea10d234ff110a6075dd7328ae5e59125410316f7ffc33b2f272c80375e8d854faf6b0258501d2cba465ccfcf5d98b27ecbe8128bee2670e90e0072e0358c563aefab6b2824ef471ba5c5c0670e5dfce4b052b520a7cec15339510ae520324abe3c107eb1a5b1f7647ea1087bc3f23a75147f78239064fe82935e785d28003f4d82ca9ab4ec9bb9c5b1481696b503fa098da83b59fe3ffb53cd721e8dec0bd03f891056ea7fd588c166f6772103b23b3e939d9e7b70c4937a1850c19eb4bb8e603e179ce25cd5f6346e90f77bf3cdb8d1eb566c16996fd8c485addafbfc33a742c03b1634b6eb1fca908b5dcd7fea7ba437d0b4848a9f5b76a578445283ba89a244903bb8fecf2b0f376ed0bd2d289a96b060beb9b27dfb4ea9234215a8f6ca43e714203331f413be7466f87e80f194603f3b7e9a360308041de5630342970d0a38929e90219ffff030afae1c7e8212a2a158bdaf82eef6643dfe5f646084ea82c8eaabb5d34510b78030adc16a48992df94adfb908b33c1c63b552eb6e234ef218ed3924ac245551294037732bdf312fae88cf27f831976c83b89c36a5e1ea7aaa442844729671960e8a303b43d6d4c827ee1baf5435e6e5273cafc461f0a71bc4e3808973c5f203c24a4010340c62d7dd3689cc11cbd0cbb9fb94dc1e141413e1d9033a11fa2b73f279c435803c2bdfee8a385938409785bc0c3cd58ed2df9f9268eb6b8561059fecab6af698403183a5dd82a5ddb70e1e3c2820feb38397132296999327a3b4b10b1f696dec3c4037dccc06d090b54c33229c0aee402add229de10a9cfe1e06da44c977b36f8e8910219ffff0395dfc3f81c3663a57a1d197e9837838777de2c77d633fb9a4639fbc97644fc240362493ed77ae54a84f411908e7221ceed6dadf8d641e88546eb5a544e23c5a73d038a6313adada58cdfb86f6df74c477f0f4490dd4d3539b19585b6b94cbadf88c4031e95edb195822d8469683a7477dee3b7e4b589cf4acba07c2bf3c637bada210903e5a159b9dd9a03bd515750e422622bbdd28081603d69487f2c44aac81c8d343403d269447a93328e934dea426f532c1a32bc0dc1c47d6e5bd7314120d514b52dec0312de11870507c8c9088c75cdaac430a6703437cde620d138187ebd0a0949f2c203732067e5e380df15fe5b95ec70118255d694d015b73dfbc83aeb6418f41110570370aaca252e6bda405ea1f09aed0498f7314f762a7d3766333249d2a6240f6fbb03dec10298805991def60bf5b8f0cf38a6ad0cfd6bbbfc3270091f608b569da045033e88d6e00d19f48045d6c039f44313eea957a271309948dfbefdb8cecd9366120371b6891f4565af768b482574f192a6a6c5dd727547adfbf7ddc8baa718a6c6e603cf2384c552b99018a8afa9697b66d2b2738899c7bca6e778922ca2b8ea3d1af9037f8b0b69dc867290a8f5f1aee3acbb066136bb0dbd9426bfe5af9e5846effed605581e03ed409b5299c4adb1cd4376dd5adece2b2bfc5c6ee154561fc30ff916500c0146060cbcf360ee05581e03ea4fe1382299568bb08741d639ea88a47b518580475bb5eca5982394b00c01480426c155e977300003c023d91756de3e21634e3e3c6d6e106fdec56ab423e1ae2b5ff1f5cde4771508037e054a2d078e8a6009bdcf8c06b3dacee675d045cb3c1e65d51963d0bef6399f05581e03a979eb7248f746c20c3f4b6c59f00ad28cdb946518ca4bdd59eac2ba800c04475a3442789d000005581e0344533f818d88ed6af6d6c733a05508d71d692e25b82c361835a9590f500c02475189cb7225a80004594e1860806040526004361061020f5760003560e01c8063693d77d211610118578063b88d4fde116100a0578063d86a5a1a1161006f578063d86a5a1a1461077c578063e985e9c5146107b9578063f2fde38b146107f6578063fa05a6571461081f578063ffe630b51461083b5761020f565b8063b88d4fde146106c2578063bdeb7a85146106eb578063c87b56dd14610714578063d2d8cb67146107515761020f565b8063841718a6116100e7578063841718a6146105fe5780638da5cb5b1461062757806395d89b4114610652578063a0712d681461067d578063a22cb465146106995761020f565b8063693d77d21461055657806370a082311461057f578063715018a6146105bc57806381c13a18146105d35761020f565b80632f745c591161019b57806355f804b31161016a57806355f804b31461046f5780636352211e146104985780636373a6b1146104d557806365f130971461050057806368428a1b1461052b5761020f565b80632f745c59146103b55780633ccfd60b146103f257806342842e0e146104095780634f6ccce7146104325761020f565b8063081812fc116101e2578063081812fc146102d0578063095ea7b31461030d57806318160ddd1461033657806323b872dd146103615780632e8ba1f21461038a5761020f565b806301ffc9a714610214578063031bd4c41461025157806303339bcb1461027c57806306fdde03146102a5575b600080fd5b34801561022057600080fd5b5061023b60048036038101906102369190613289565b610864565b60405161024891906132d1565b60405180910390f35b34801561025d57600080fd5b50610266610876565b6040516102739190613305565b60405180910390f35b34801561028857600080fd5b506102a3600480360381019061029e91906133aa565b61087c565b005b3480156102b157600080fd5b506102ba610944565b6040516102c79190613483565b60405180910390f35b3480156102dc57600080fd5b506102f760048036038101906102f291906134a5565b6109d6565b60405161030491906134e1565b60405180910390f35b34801561031957600080fd5b50610334600480360381019061032f91906134fc565b610a5b565b005b34801561034257600080fd5b5061034b610b73565b6040516103589190613305565b60405180910390f35b34801561036d57600080fd5b506103886004803603810190610383919061353c565b610b80565b005b34801561039657600080fd5b5061039f610be0565b6040516103ac9190613305565b60405180910390f35b3480156103c157600080fd5b506103dc60048036038101906103d791906134fc565b610be5565b6040516103e99190613305565b60405180910390f35b3480156103fe57600080fd5b50610407610c8a565b005b34801561041557600080fd5b50610430600480360381019061042b919061353c565b610d18565b005b34801561043e57600080fd5b50610459600480360381019061045491906134a5565b610d38565b6040516104669190613305565b60405180910390f35b34801561047b57600080fd5b50610496600480360381019061049191906136c4565b610da9565b005b3480156104a457600080fd5b506104bf60048036038101906104ba91906134a5565b610e3f565b6040516104cc91906134e1565b60405180910390f35b3480156104e157600080fd5b506104ea610ef1565b6040516104f79190613483565b60405180910390f35b34801561050c57600080fd5b50610515610f7f565b6040516105229190613305565b60405180910390f35b34801561053757600080fd5b50610540610f84565b60405161054d91906132d1565b60405180910390f35b34801561056257600080fd5b5061057d60048036038101906105789190613739565b610f97565b005b34801561058b57600080fd5b506105a660048036038101906105a19190613766565b611030565b6040516105b39190613305565b60405180910390f35b3480156105c857600080fd5b506105d16110e8565b005b3480156105df57600080fd5b506105e8611170565b6040516105f591906132d1565b60405180910390f35b34801561060a57600080fd5b5061062560048036038101906106209190613739565b611183565b005b34801561063357600080fd5b5061063c61121c565b60405161064991906134e1565b60405180910390f35b34801561065e57600080fd5b50610667611246565b6040516106749190613483565b60405180910390f35b610697600480360381019061069291906134a5565b6112d8565b005b3480156106a557600080fd5b506106c060048036038101906106bb9190613793565b6114b9565b005b3480156106ce57600080fd5b506106e960048036038101906106e49190613874565b61163a565b005b3480156106f757600080fd5b50610712600480360381019061070d919061392d565b61169c565b005b34801561072057600080fd5b5061073b600480360381019061073691906134a5565b611722565b6040516107489190613483565b60405180910390f35b34801561075d57600080fd5b506107666117c9565b6040516107739190613305565b60405180910390f35b34801561078857600080fd5b506107a3600480360381019061079e91906139ba565b6117d5565b6040516107b09190613305565b60405180910390f35b3480156107c557600080fd5b506107e060048036038101906107db9190613a07565b61188d565b6040516107ed91906132d1565b60405180910390f35b34801561080257600080fd5b5061081d60048036038101906108189190613766565b611921565b005b61083960048036038101906108349190613a47565b611a19565b005b34801561084757600080fd5b50610862600480360381019061085d91906136c4565b611d74565b005b600061086f82611e0a565b9050919050565b61271081565b610884611e84565b73ffffffffffffffffffffffffffffffffffffffff166108a261121c565b73ffffffffffffffffffffffffffffffffffffffff16146108f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ef90613af3565b60405180910390fd5b6000610902610b73565b905060005b8381101561093e5761092b836109268385611e8c90919063ffffffff16565b611ea2565b808061093690613b42565b915050610907565b50505050565b60606000805461095390613bba565b80601f016020809104026020016040519081016040528092919081815260200182805461097f90613bba565b80156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b5050505050905090565b60006109e182611ec0565b610a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1790613c5e565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610a6682610e3f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ace90613cf0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610af6611e84565b73ffffffffffffffffffffffffffffffffffffffff161480610b255750610b2481610b1f611e84565b61188d565b5b610b64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5b90613d82565b60405180910390fd5b610b6e8383611f2c565b505050565b6000600880549050905090565b610b91610b8b611e84565b82611fe5565b610bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc790613e14565b60405180910390fd5b610bdb8383836120c3565b505050565b600281565b6000610bf083611030565b8210610c31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2890613ea6565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610c92611e84565b73ffffffffffffffffffffffffffffffffffffffff16610cb061121c565b73ffffffffffffffffffffffffffffffffffffffff1614610d06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfd90613af3565b60405180910390fd5b6000479050610d15338261231f565b50565b610d338383836040518060200160405280600081525061163a565b505050565b6000610d42610b73565b8210610d83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7a90613f38565b60405180910390fd5b60088281548110610d9757610d96613f58565b5b90600052602060002001549050919050565b610db1611e84565b73ffffffffffffffffffffffffffffffffffffffff16610dcf61121c565b73ffffffffffffffffffffffffffffffffffffffff1614610e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1c90613af3565b60405180910390fd5b80600d9080519060200190610e3b92919061317a565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ee8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610edf90613ff9565b60405180910390fd5b80915050919050565b600b8054610efe90613bba565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2a90613bba565b8015610f775780601f10610f4c57610100808354040283529160200191610f77565b820191906000526020600020905b815481529060010190602001808311610f5a57829003601f168201915b505050505081565b600a81565b600c60009054906101000a900460ff1681565b610f9f611e84565b73ffffffffffffffffffffffffffffffffffffffff16610fbd61121c565b73ffffffffffffffffffffffffffffffffffffffff1614611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100a90613af3565b60405180910390fd5b80600c60016101000a81548160ff02191690831515021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110989061408b565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6110f0611e84565b73ffffffffffffffffffffffffffffffffffffffff1661110e61121c565b73ffffffffffffffffffffffffffffffffffffffff1614611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115b90613af3565b60405180910390fd5b61116e6000612413565b565b600c60019054906101000a900460ff1681565b61118b611e84565b73ffffffffffffffffffffffffffffffffffffffff166111a961121c565b73ffffffffffffffffffffffffffffffffffffffff16146111ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f690613af3565b60405180910390fd5b80600c60006101000a81548160ff02191690831515021790555050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461125590613bba565b80601f016020809104026020016040519081016040528092919081815260200182805461128190613bba565b80156112ce5780601f106112a3576101008083540402835291602001916112ce565b820191906000526020600020905b8154815290600101906020018083116112b157829003601f168201915b5050505050905090565b600015156112e5336124d9565b151514611327576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131e906140f7565b60405180910390fd5b6000611331610b73565b9050600c60009054906101000a900460ff16611382576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137990614163565b60405180910390fd5b600a8211156113c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bd906141cf565b60405180910390fd5b6127106113dc8383611e8c90919063ffffffff16565b111561141d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114149061423b565b60405180910390fd5b6114388267015181ff25a980006124ec90919063ffffffff16565b34101561147a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611471906142cd565b60405180910390fd5b60005b828110156114b4576114a13361149c8385611e8c90919063ffffffff16565b611ea2565b80806114ac90613b42565b91505061147d565b505050565b6114c1611e84565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561152f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152690614339565b60405180910390fd5b806005600061153c611e84565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166115e9611e84565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161162e91906132d1565b60405180910390a35050565b61164b611645611e84565b83611fe5565b61168a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161168190613e14565b60405180910390fd5b61169684848484612502565b50505050565b6116a4611e84565b73ffffffffffffffffffffffffffffffffffffffff166116c261121c565b73ffffffffffffffffffffffffffffffffffffffff1614611718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170f90613af3565b60405180910390fd5b80600e8190555050565b606061172d82611ec0565b61176c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611763906143cb565b60405180910390fd5b600061177661255e565b9050600081511161179657604051806020016040528060008152506117c1565b806117a0846125f0565b6040516020016117b1929190614427565b6040516020818303038152906040525b915050919050565b67015181ff25a9800081565b600061182a6117e333612751565b848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050612781565b1561188257600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600261187b919061444b565b9050611887565b600090505b92915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611929611e84565b73ffffffffffffffffffffffffffffffffffffffff1661194761121c565b73ffffffffffffffffffffffffffffffffffffffff161461199d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199490613af3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a04906144f1565b60405180910390fd5b611a1681612413565b50565b60001515611a26336124d9565b151514611a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5f906140f7565b60405180910390fd5b6000611a72610b73565b9050611ac7611a8033612751565b848480806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050612781565b611b06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611afd9061455d565b60405180910390fd5b600c60019054906101000a900460ff16611b55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4c906145c9565b60405180910390fd5b6002611ba985600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e8c90919063ffffffff16565b1115611bea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be19061465b565b60405180910390fd5b612710611c008583611e8c90919063ffffffff16565b1115611c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c389061423b565b60405180910390fd5b611c5c8467015181ff25a980006124ec90919063ffffffff16565b341015611c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c95906142cd565b60405180910390fd5b611cf084600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e8c90919063ffffffff16565b600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b84811015611d6d57611d5a33611d558385611e8c90919063ffffffff16565b611ea2565b8080611d6590613b42565b915050611d36565b5050505050565b611d7c611e84565b73ffffffffffffffffffffffffffffffffffffffff16611d9a61121c565b73ffffffffffffffffffffffffffffffffffffffff1614611df0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de790613af3565b60405180910390fd5b80600b9080519060200190611e0692919061317a565b5050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611e7d5750611e7c82612798565b5b9050919050565b600033905090565b60008183611e9a919061467b565b905092915050565b611ebc82826040518060200160405280600081525061287a565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611f9f83610e3f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611ff082611ec0565b61202f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202690614743565b60405180910390fd5b600061203a83610e3f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806120a957508373ffffffffffffffffffffffffffffffffffffffff16612091846109d6565b73ffffffffffffffffffffffffffffffffffffffff16145b806120ba57506120b9818561188d565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166120e382610e3f565b73ffffffffffffffffffffffffffffffffffffffff1614612139576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612130906147d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121a090614867565b60405180910390fd5b6121b48383836128d5565b6121bf600082611f2c565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461220f919061444b565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612266919061467b565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b80471015612362576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612359906148d3565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161238890614924565b60006040518083038185875af1925050503d80600081146123c5576040519150601f19603f3d011682016040523d82523d6000602084013e6123ca565b606091505b505090508061240e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612405906149ab565b60405180910390fd5b505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080823b905060008111915050919050565b600081836124fa91906149cb565b905092915050565b61250d8484846120c3565b612519848484846128e5565b612558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254f90614a97565b60405180910390fd5b50505050565b6060600d805461256d90613bba565b80601f016020809104026020016040519081016040528092919081815260200182805461259990613bba565b80156125e65780601f106125bb576101008083540402835291602001916125e6565b820191906000526020600020905b8154815290600101906020018083116125c957829003601f168201915b5050505050905090565b60606000821415612638576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061274c565b600082905060005b6000821461266a57808061265390613b42565b915050600a826126639190614ae6565b9150612640565b60008167ffffffffffffffff81111561268657612685613599565b5b6040519080825280601f01601f1916602001820160405280156126b85781602001600182028036833780820191505090505b5090505b60008514612745576001826126d1919061444b565b9150600a856126e09190614b17565b60306126ec919061467b565b60f81b81838151811061270257612701613f58565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561273e9190614ae6565b94506126bc565b8093505050505b919050565b6000816040516020016127649190614b90565b604051602081830303815290604052805190602001209050919050565b600061279082600e5485612a6d565b905092915050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061286357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612873575061287282612b23565b5b9050919050565b6128848383612b8d565b61289160008484846128e5565b6128d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c790614a97565b60405180910390fd5b505050565b6128e0838383612d5b565b505050565b60006129068473ffffffffffffffffffffffffffffffffffffffff166124d9565b15612a60578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261292f611e84565b8786866040518563ffffffff1660e01b81526004016129519493929190614c00565b6020604051808303816000875af192505050801561298d57506040513d601f19601f8201168201806040525081019061298a9190614c61565b60015b612a10573d80600081146129bd576040519150601f19603f3d011682016040523d82523d6000602084013e6129c2565b606091505b50600081511415612a08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ff90614a97565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612a65565b600190505b949350505050565b60008082905060005b8551811015612b15576000868281518110612a9457612a93613f58565b5b60200260200101519050808311612ad5578281604051602001612ab8929190614caf565b604051602081830303815290604052805190602001209250612b01565b8083604051602001612ae8929190614caf565b6040516020818303038152906040528051906020012092505b508080612b0d90613b42565b915050612a76565b508381149150509392505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612bfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf490614d27565b60405180910390fd5b612c0681611ec0565b15612c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3d90614d93565b60405180910390fd5b612c52600083836128d5565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612ca2919061467b565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b612d66838383612e6f565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612da957612da481612e74565b612de8565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612de757612de68382612ebd565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612e2b57612e268161302a565b612e6a565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612e6957612e6882826130fb565b5b5b505050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612eca84611030565b612ed4919061444b565b9050600060076000848152602001908152602001600020549050818114612fb9576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061303e919061444b565b905060006009600084815260200190815260200160002054905060006008838154811061306e5761306d613f58565b5b9060005260206000200154905080600883815481106130905761308f613f58565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806130df576130de614db3565b5b6001900381819060005260206000200160009055905550505050565b600061310683611030565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b82805461318690613bba565b90600052602060002090601f0160209004810192826131a857600085556131ef565b82601f106131c157805160ff19168380011785556131ef565b828001600101855582156131ef579182015b828111156131ee5782518255916020019190600101906131d3565b5b5090506131fc9190613200565b5090565b5b80821115613219576000816000905550600101613201565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61326681613231565b811461327157600080fd5b50565b6000813590506132838161325d565b92915050565b60006020828403121561329f5761329e613227565b5b60006132ad84828501613274565b91505092915050565b60008115159050919050565b6132cb816132b6565b82525050565b60006020820190506132e660008301846132c2565b92915050565b6000819050919050565b6132ff816132ec565b82525050565b600060208201905061331a60008301846132f6565b92915050565b613329816132ec565b811461333457600080fd5b50565b60008135905061334681613320565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133778261334c565b9050919050565b6133878161336c565b811461339257600080fd5b50565b6000813590506133a48161337e565b92915050565b600080604083850312156133c1576133c0613227565b5b60006133cf85828601613337565b92505060206133e085828601613395565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613424578082015181840152602081019050613409565b83811115613433576000848401525b50505050565b6000601f19601f8301169050919050565b6000613455826133ea565b61345f81856133f5565b935061346f818560208601613406565b61347881613439565b840191505092915050565b6000602082019050818103600083015261349d818461344a565b905092915050565b6000602082840312156134bb576134ba613227565b5b60006134c984828501613337565b91505092915050565b6134db8161336c565b82525050565b60006020820190506134f660008301846134d2565b92915050565b6000806040838503121561351357613512613227565b5b600061352185828601613395565b925050602061353285828601613337565b9150509250929050565b60008060006060848603121561355557613554613227565b5b600061356386828701613395565b935050602061357486828701613395565b925050604061358586828701613337565b9150509250925092565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6135d182613439565b810181811067ffffffffffffffff821117156135f0576135ef613599565b5b80604052505050565b600061360361321d565b905061360f82826135c8565b919050565b600067ffffffffffffffff82111561362f5761362e613599565b5b61363882613439565b9050602081019050919050565b82818337600083830152505050565b600061366761366284613614565b6135f9565b90508281526020810184848401111561368357613682613594565b5b61368e848285613645565b509392505050565b600082601f8301126136ab576136aa61358f565b5b81356136bb848260208601613654565b91505092915050565b6000602082840312156136da576136d9613227565b5b600082013567ffffffffffffffff8111156136f8576136f761322c565b5b61370484828501613696565b91505092915050565b613716816132b6565b811461372157600080fd5b50565b6000813590506137338161370d565b92915050565b60006020828403121561374f5761374e613227565b5b600061375d84828501613724565b91505092915050565b60006020828403121561377c5761377b613227565b5b600061378a84828501613395565b91505092915050565b600080604083850312156137aa576137a9613227565b5b60006137b885828601613395565b92505060206137c985828601613724565b9150509250929050565b600067ffffffffffffffff8211156137ee576137ed613599565b5b6137f782613439565b9050602081019050919050565b6000613817613812846137d3565b6135f9565b90508281526020810184848401111561383357613832613594565b5b61383e848285613645565b509392505050565b600082601f83011261385b5761385a61358f565b5b813561386b848260208601613804565b91505092915050565b6000806000806080858703121561388e5761388d613227565b5b600061389c87828801613395565b94505060206138ad87828801613395565b93505060406138be87828801613337565b925050606085013567ffffffffffffffff8111156138df576138de61322c565b5b6138eb87828801613846565b91505092959194509250565b6000819050919050565b61390a816138f7565b811461391557600080fd5b50565b60008135905061392781613901565b92915050565b60006020828403121561394357613942613227565b5b600061395184828501613918565b91505092915050565b600080fd5b600080fd5b60008083601f84011261397a5761397961358f565b5b8235905067ffffffffffffffff8111156139975761399661395a565b5b6020830191508360208202830111156139b3576139b261395f565b5b9250929050565b600080602083850312156139d1576139d0613227565b5b600083013567ffffffffffffffff8111156139ef576139ee61322c565b5b6139fb85828601613964565b92509250509250929050565b60008060408385031215613a1e57613a1d613227565b5b6000613a2c85828601613395565b9250506020613a3d85828601613395565b9150509250929050565b600080600060408486031215613a6057613a5f613227565b5b6000613a6e86828701613337565b935050602084013567ffffffffffffffff811115613a8f57613a8e61322c565b5b613a9b86828701613964565b92509250509250925092565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613add6020836133f5565b9150613ae882613aa7565b602082019050919050565b60006020820190508181036000830152613b0c81613ad0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613b4d826132ec565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613b8057613b7f613b13565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613bd257607f821691505b60208210811415613be657613be5613b8b565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613c48602c836133f5565b9150613c5382613bec565b604082019050919050565b60006020820190508181036000830152613c7781613c3b565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cda6021836133f5565b9150613ce582613c7e565b604082019050919050565b60006020820190508181036000830152613d0981613ccd565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613d6c6038836133f5565b9150613d7782613d10565b604082019050919050565b60006020820190508181036000830152613d9b81613d5f565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613dfe6031836133f5565b9150613e0982613da2565b604082019050919050565b60006020820190508181036000830152613e2d81613df1565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613e90602b836133f5565b9150613e9b82613e34565b604082019050919050565b60006020820190508181036000830152613ebf81613e83565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613f22602c836133f5565b9150613f2d82613ec6565b604082019050919050565b60006020820190508181036000830152613f5181613f15565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000613fe36029836133f5565b9150613fee82613f87565b604082019050919050565b6000602082019050818103600083015261401281613fd6565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000614075602a836133f5565b915061408082614019565b604082019050919050565b600060208201905081810360008301526140a481614068565b9050919050565b7f43616e6e6f74206d696e742066726f6d206120636f6e74726163740000000000600082015250565b60006140e1601b836133f5565b91506140ec826140ab565b602082019050919050565b60006020820190508181036000830152614110816140d4565b9050919050565b7f5468652073616c65206973206e6f742061637469766500000000000000000000600082015250565b600061414d6016836133f5565b915061415882614117565b602082019050919050565b6000602082019050818103600083015261417c81614140565b9050919050565b7f496e76616c6964206e756d626572206f6620746f6b656e730000000000000000600082015250565b60006141b96018836133f5565b91506141c482614183565b602082019050919050565b600060208201905081810360008301526141e8816141ac565b9050919050565b7f507572636861736520776f756c6420657863656564206d617820746f6b656e73600082015250565b60006142256020836133f5565b9150614230826141ef565b602082019050919050565b6000602082019050818103600083015261425481614218565b9050919050565b7f45746865722076616c75652073656e742069732062656c6f772074686520726560008201527f7175697265642070726963650000000000000000000000000000000000000000602082015250565b60006142b7602c836133f5565b91506142c28261425b565b604082019050919050565b600060208201905081810360008301526142e6816142aa565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006143236019836133f5565b915061432e826142ed565b602082019050919050565b6000602082019050818103600083015261435281614316565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006143b5602f836133f5565b91506143c082614359565b604082019050919050565b600060208201905081810360008301526143e4816143a8565b9050919050565b600081905092915050565b6000614401826133ea565b61440b81856143eb565b935061441b818560208601613406565b80840191505092915050565b600061443382856143f6565b915061443f82846143f6565b91508190509392505050565b6000614456826132ec565b9150614461836132ec565b92508282101561447457614473613b13565b5b828203905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006144db6026836133f5565b91506144e68261447f565b604082019050919050565b6000602082019050818103600083015261450a816144ce565b9050919050565b7f41646472657373206973206e6f74206f6e20616c6c6f776c6973740000000000600082015250565b6000614547601b836133f5565b915061455282614511565b602082019050919050565b600060208201905081810360008301526145768161453a565b9050919050565b7f546865207072652d73616c65206973206e6f7420616374697665000000000000600082015250565b60006145b3601a836133f5565b91506145be8261457d565b602082019050919050565b600060208201905081810360008301526145e2816145a6565b9050919050565b7f507572636861736520776f756c6420657863656564206d6178207072652d736160008201527f6c6520746f6b656e730000000000000000000000000000000000000000000000602082015250565b60006146456029836133f5565b9150614650826145e9565b604082019050919050565b6000602082019050818103600083015261467481614638565b9050919050565b6000614686826132ec565b9150614691836132ec565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156146c6576146c5613b13565b5b828201905092915050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061472d602c836133f5565b9150614738826146d1565b604082019050919050565b6000602082019050818103600083015261475c81614720565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b60006147bf6029836133f5565b91506147ca82614763565b604082019050919050565b600060208201905081810360008301526147ee816147b2565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006148516024836133f5565b915061485c826147f5565b604082019050919050565b6000602082019050818103600083015261488081614844565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b60006148bd601d836133f5565b91506148c882614887565b602082019050919050565b600060208201905081810360008301526148ec816148b0565b9050919050565b600081905092915050565b50565b600061490e6000836148f3565b9150614919826148fe565b600082019050919050565b600061492f82614901565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b6000614995603a836133f5565b91506149a082614939565b604082019050919050565b600060208201905081810360008301526149c481614988565b9050919050565b60006149d6826132ec565b91506149e1836132ec565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614a1a57614a19613b13565b5b828202905092915050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614a816032836133f5565b9150614a8c82614a25565b604082019050919050565b60006020820190508181036000830152614ab081614a74565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614af1826132ec565b9150614afc836132ec565b925082614b0c57614b0b614ab7565b5b828204905092915050565b6000614b22826132ec565b9150614b2d836132ec565b925082614b3d57614b3c614ab7565b5b828206905092915050565b60008160601b9050919050565b6000614b6082614b48565b9050919050565b6000614b7282614b55565b9050919050565b614b8a614b858261336c565b614b67565b82525050565b6000614b9c8284614b79565b60148201915081905092915050565b600081519050919050565b600082825260208201905092915050565b6000614bd282614bab565b614bdc8185614bb6565b9350614bec818560208601613406565b614bf581613439565b840191505092915050565b6000608082019050614c1560008301876134d2565b614c2260208301866134d2565b614c2f60408301856132f6565b8181036060830152614c418184614bc7565b905095945050505050565b600081519050614c5b8161325d565b92915050565b600060208284031215614c7757614c76613227565b5b6000614c8584828501614c4c565b91505092915050565b6000819050919050565b614ca9614ca4826138f7565b614c8e565b82525050565b6000614cbb8285614c98565b602082019150614ccb8284614c98565b6020820191508190509392505050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614d116020836133f5565b9150614d1c82614cdb565b602082019050919050565b60006020820190508181036000830152614d4081614d04565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614d7d601c836133f5565b9150614d8882614d47565b602082019050919050565b60006020820190508181036000830152614dac81614d70565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212207c154ed28edae4172a5492ceba88f8bf1db75121f7b2ac8c926caee28df1fb7e64736f6c634300080a00330375b885d66ea751a335844fab975510e47a20432391f05fa68a1ddddf2fc45a45036b0755d3f6852f5c018e31e0a4c3e4032ca6ea06b2681fd65d853eceb7bd0dac0357de17a989f7add144f65a10c6097474ed85b896de9b48330d49206f23fe896803b180f3cf046ec108fc5934a281fda7a5ed802259b3b0bde6ec61addad7d5a18f03b06f8d0d9c0b7da1cb1522e92afd138ef120d3d3126eee7efdcdd91984f34f6903239b9b669a06c5cf8f572c02e601a0ade38f9e128bff98f70920362e1f153e99036113c449041d7713310aa415ca1aed3e1bca783934a8af0365a10be9c62de021031a6c600fcd00469231f743e30a8a2901918437c1694ed582563e9aa3e880bbe603ea1d0fc8fe19308169c271c31d0e781dd19eb66d57176c89415a21471f7f7235037a9bd077758dc515447c76c3134f1d3e39c54621495f78d00f7204c497815b5c03b6b423e0fa55b138cb648bbf616fde418eb306f48bae6cf26a92aa349401388f03abd94dd3f937083b7e6f6c327c503a375d4c5433211c245da7a427b306393a0a039e3951fd49c97967db3dd051bcad11eb45b68d18c37a5df35a8803a0cd26697b03a81d1e27c8b77b7a09f936d4387543e01699bc01ecacd45f1a1f4b06bba0997403bc7fdea92767952d776fb909887965291cce6afc17e6dace343faadf6794b79103a1e87ac55fafb4f5984918581f8d819a63d708fdd4a78a4582c66258eb819adb0303ac3f80085bfb87ecd6a23ddefb67aae2695ec709e7990e65f29ae5738b9e2c03d47c0eb9dc41d533bd004be8d14062a2e2df6b511fb8cf78468b9c7988a174dd03685742586b14b86bc868ea334fec09dbc770d9ac891ce6e5a36abf8511da417203794bb537bcadf3bf663c0ec8841d2a7c3e4d53b923cd4125459cff7e666ebce003dd9972c18b6a8538ffadcf247b3408bbfc5c90f38de35d9e2bfe13ee4f5fc7970308a26db4736c161a73a1d73a82c2b8e74d0190df0631c4dd117a13108e92f1ba03e0347f0ed1858e6912927bdc799787fdd412d747e62ae970b68388634fbfc3e90361d1a253225e6fc7ed57eac0d039a326ab3efae1da6e72b5b4117d1dfc7ad67e034c2a3f6fd07a6368dc56dd468c04c652dac5e7b9aaf4944090bed43758ff9f2803eb7c28c96d963243f632181ba7990b1365a992697a11a680aec2e35e9bfe6c6f00581f0293ec6a8051a2bc552a68087d0f6094f0f15101854b507f759a109b6ba9ad42195e00581f02ab8293e5724d7eebf4bb1508f6ec6cb4ea2ad7022d37f4251e3103b8afd7421c0000581f022c85c7229e536274a928b75d9a412084984fbecc2ff08e563dcdfdac26355408d1fa6c9981bca207ee2bc7bbaf6604a2a80a8400581f02f01428303b095ed298efff12cdd980aa9ca19e2eaeaad349342039a0359642232c00581f02fcd3f1c6e9b07b6767d4f70b23bb95ad94f5e3dc1e59bf275aa65a9baba3410100581f021d5e972333e673be532cd2518d3764ba574b362d418eb1d31ea664d42f2f4101030d8354912b5daa29ca85e09f6d9edbe3b6489420462bf67d569f7278706e2b9d021991eb036101a8a0cdfb32b2d36cfaf88e8177b5a3c119235e6986356754159fbb8a0b8503abbeab5d8e6ad84f8fa1e0284464a4b5df5f50ead6d20d0511e1b5cd90b8218703f7d7a74cf196ee6965560f870005ffbee5596a2b5c95fed7feb159ba9387b9ab03abca382fc1e3169abbcaacd6342fc3b0087bc07624101c22647e259d4877525403ec4ef4a68d0aa8c61ca1a29a59cc6515ea539e7c6b86e786e952d80dcfd6d9ab03692238603574d7bdb5bde3de9e805926094c43dbf8f169ab9cb74032e36977ea033f468e3349855cdbf87e41234b36d68d6ee7fc4c7c8b2cfc451d98a2df6dc5090219ffff0382b8c6e0a578475bd018e705e7be08491803d182de79da37838a8d50d25ae98e03eb343333232d69bd9d4065a09f5dfe8c860068ab25f24e7c902eccfbdb50a8df033a2cf2cd3d6633098d3a558664a4be6a65857b22ae31f7c40c2bc426d0344ad10219ffff0327610aea63339f0d27f9099b0805d44eb18908b199125ba455c302da41f9665103e072fee31e816ff39cde571fc6821e0d4866299c6b83103b8548fb96b6d326bc037b072a5fdd247aeb9e8b720783d647e9b1842e07ff595f6f4123232bd0310e2f03c920aba6e1bab23777399f7a569c6b36c76c8366f071614f942df380a6df983a0368739879b33b1b3a5343bb758dd58451ea9dad22e0f5b52dfb9b6cb5ae569b030357d7ebcfcc9d3051c70d1a8aa1fd7e1b773c435be153252afc29b4e7c26e48ec03357843cdf9acb7b2139b804706d0a55eb37348d64ff7f1ef1fea4f230e27307603fba41bc721c2588254508a0e905cc12c72db98783759865633016e249b5fc265030eb9b85f1c62f20ab4dcc4331fe44481a294bf8de3415a150490a1fd50507a5300581f02cff53f8496c7bdcd58951dce2800135c11f0d26d530acf3a7244fe0a63c342074500581f023903f0836feb76b478d491a0c42e6a251095f3e4edd5f794817408dfc7ab4101036b872b5eb4da126b272133b941c6d3e8c0648a9eb8eb12afe37854fd433c850600581f0292cc1a25b3b1c2c817e974005093d524fcbefd42eb66994832fb26880886410100581f029344244fef1009a1863c84b4e256f4f47f41dcbebfba5edcac02fb895256421da800581f02ea40307e754c88b6919b344b24e06edfc1d8aede6fcb72608882c6a1b5184102030c3b18541a77d3461816a7e12188356842e7570928deb00b85181efb9d999b8900581f02fee93a6cd297161bd3561dfa8b56f789a5d2392fda08c4680f9050797d1041020313b7c22110e11d5957151d7015816452a0ae5f72cc0598a48614887afa85d7fe00581f03abfb3a9837671123e793f0accc053eab4eefaf9600165418f0ddd1be66905435ddbfd39ad4ce9fd5f9ee886927d45d7be7956a00581f036a3b55c0b20b2d9723b785e4d9f2e51a01e3f8014c54c4ec6dc1c88654b042228b020500581f02d9aca36257640a9495df4125e19ca5772e7c22d427c28f716448aa4a0184421ebe00581f02e62ae296cd99d2af5f78d48033cae1087398f9859ee9d21ab49cc7e2247a410100581f0283d8a12390bd6795a4610834a0962bcf9393ef906c1fdf5e2c691e3540a85483d55e68522271a12d8bfef9ff2a740e15dcc0f70219fdff0393377eac87d5e4f9809a481cb9da0cf78804998ff3ff5dd2f9f75becd4a5ac52037fa1275291944cbd2c66d9e41f61be11191e1373acf5b87b663b5065be93fff8036ade5d28a049077780c3a3d202058159ac476073611b954e5595c64d6130e0fe03cb5d8a0cf1d3d083d507db4cf42df09a208ffbad76c0210448a472a08b422e3a03410cbdb0444b996f4c1553ebd8f60e8b658965580d6b8d6b8b951163d2c3eba603044bec9eb3e8e4f2437cf53b69ea080947b895a44e02f4d771b6f0f4b66ec33503741759c829a7209819d84e2217f47090109be2fe2536b86629f263623cdae51f03091107cbb242038cb2feae630ed3c0c3e40846b5cd90cc9861c31f8e09fc7b4b03461b8e3a010dc53744e65b9baa03cfba978402bdc074788ab2d360734c0a636c03075013bdd0852bf4ae196d98f6273c7acd45bb6868135215f7f6c3fb35472eab032d3041e5cf4cf2d371ed02cc030cfd1fbb2ae518c9e8224c6d98c3eeec75e0b60328c233122ca061fd187e3bbefc089a4e3bf7cc20d8c31ca3e145d96c8eeb58520219ffff0326494c257e98a5c1a6f86b9977790aadc2571e2fa45cd90c010d29149320f68103b1a8127a9e1afe52ab2cb7fcddc81d6a8f2f200aceb2da439bf2e572b617d72103a533aeb751c131caf3d8cbbbbef09def0c517c787134eaf4c0f1b9183e16253b030c17eeabca5bb98363aaa7cd0c9f41d7ec2e29ecc83143802414f5dc154a017e03ae1618930199ba15bb82a10215f13a3bc213e69fb5b1516fe31d9f7cf1a7b20903a74ab2ecd5e3f6612ec6205c2672b782ada74740ec84d027b07cc63193852d47032314b3397726d271222ec44f7a51862d804928bf7ff118cc4881495e84dbc86d0309db0a74d1f79969185e74b3e2261cddf5bf0431c2fe1fefc99c2cd90dbe427203073966aa6a37f85f5ed6ac0a05b1c3ce034e15c7a35c222ddce1df6ef26e941603c6fe5b318d0a0f5f3d6152fd5a744585584279c635942f5131e1c06196a1557f03af33a9d47cbc5b6b8a09d8e795abeec5e2198c1faaa246ce733625287c9d4e090219ffff03aa24e550b3835f6a26ad170de9df64746c36054c70ba67529dc575722499ae250314fb683de2d6204811c651864856fc2bfb970523ff624409dce987a5afa9322f0361fe1fc0e33ec8942c94196a2e88bf1a9f77b9351617ba6a0de7578108f3c26c03404d53c31eafdde8f699ff2665cf00e78b09c71d2caaa792c895530e616eb4c903defda17c570e6706bfa9da228697cc402792079970c3847662d31ec3c92a9c8203fbedc5ad263c9c61dc5ca1a438fb12b1f0da7f9b92c15a49943237426670719e03a181b49a04b561e39c1778a439cd2ca12c5ad70f0e78552d85efc2108fb6efe703d4d584dd115163ca13770d15383dbae2a3c957e14724c8f59a0146febf13d03603caa5c7cfdd0fb1ee8350eafc612ef048d6cf9ecd3429f460040b8a7b0151866b03dfa35f5f452fde9ada9a520ef9f0ff7931972a8277d013ec2d544975ad45a728032620539bf1f9373f9428c0f62cc742f0bc12ca6d0525a89ef36f1fc0c9d7ab2a03caac55556d663cc6b989deea113b8b21e690e49c5df6265da01ad02572f185f5039a1ec75797010ecea6caa51a86f71b2997b2624699a7d0c162f42ecb0442936a038a100254a1feab3a5089d540d2b92128304aab71cf15b875170b33323753582603e732937b3c685f1d430eb48eb23958521ddf9535d1634671771f26949091efa503a639869906673bfe175160ebaa8dd07a13277bf08cf8d849bcbdc4089a32feda03729a51eca5921e9a9af9152fd69f3c443f0731ac6ab6d36c58395065a54cc51903292e1dc93edca4f3c3bf0ab88555db1051655862e42fd403291385834e84af580366f0c7bd03dcc6fedbdfe4cc4c2248815e75fd2c1dc47329417f9e6ce687008c0339d906ebf1e1ea3bd2dd0313a1050eb6f76f0a43315f96f7fadc67ab7f9e474f00581f03db9d87986cba3270f46cb74481fe732a7a4fc6f394bfea07e10a49bda7e0420c3e00581f03bc9b0c38db48ae093c71d8552bde07216304acc09315e0bcc7f1f983238054abc5ee710cd703d38f612bd932793e2f485550d200581f03ff16f286ffb42d549981061e32a97ef3ec580b1dd9973abb601b3ffd40c0421bff0219290000581f023bc214ff370248dca4246758cb88855b39d5b72a00693b25712310942812410500581f0293a47f061c5cc39e66048c0c349aa5c99075033fd637de6afb2f27275bc154ad1d0fa5354202b6eb11b45e3e8d8b5d1b2c7de503ba9b85d56252c5036cbb9f8955d760ffed05b33ac64ecb592f5c3f5ad05607b600581f0272440b720b576bc0ac3e74b9cebb22f6f8bdff1e177bcb6168bb2497381542052a03480c5df8968ec525fb3f0dfa1855259f9108f259dac32734a84c5baf36bd67bf00581f028f8e08a5da3d73206942e50512743e18a2a6482714b281784833f31cde34419603d743588d3f3e47ec56306fd7e74ecc47a264d70d7077c0faf08a36eb383ee9100219e3c603a1d33e0dbf4e7d59f21a8d2f2ee787ec81b30f8b8702a1b90a9b9127461df017036a2ffdae50de9aa6b02ae7cc77b20d483da1d98c0607f0249fb62cbb1efc0dd60219ffff03c26ee7048e76337d39797870065c2f91e5c85f451c7635919523a0c5a2d8239e03e55a34ab526ff3eb5e889728191da0e9e743e70dd1ec0d5ef97e82b4056a4be103a4ebf75581f3825921436dd2626b9db0f09bf33977e47a859919f7e5bcc8f9ca03c34aa9388d984df3cf975a4bd427f467b411d673e1bdf22b0491e699fef2fa49036e722919f046ea664b99674687d451bd4d98c8ff24dce9c03c8d0e7c22778af0036deb6e76c3e5d9575cbaa24d68d8fed8251ea068dd43952670f87a660da292c103336343686841dda7ff4dedd8ab18d65aed3545d497eaa40d0cb7503661e10db100581f0269b5b3ad1eb8575e32a030d34b34695136473724635f6ed50f50992d0534410100581f021204ece90516a958b70716d04503fb939ddc4f28246b414983eb6db9d26c410200581f02e4b2ef3dea18529c09c4057ab4d0f2957444eb545ed26ad09e4f33a7c3ac4101038ddf9d9024bd526a3e16d62ae81f3c7b63e8937edef9a889fe83d674531b67d100581f0295cd213cfffb438a7a85199413f614c29ab722916817bb9a684e948a12cd410200581f02698aa73428ae9356a2b149eb3547c830a8428614798fb194e19434afb919410103d8bb67496f8104278dc64330323de7eda171baf552f8833e4e262f5e8adde57100581f02051763dcb8aa2d9afb7fb6637852901c8c00fb90b82cba404506b39ce39a410100581f02e09ad273dc91dd8a793e76540731517d2bacf971348739c23c8dd5d2134c42207a00581f02a187ae7982056c38957d21b4b39cfa09f5c38f68112814a9ce955bb82207410103af2b0eb4e2531368d53decbfe6e73e2ce63cf7ffc2daf97dc5f7609129aef445021977ed03296fbedbf77ee343db8c1ef2546549b2f3d6f06a10fb760a8954f42aea3d4424030fd02ea126cd8222140194d0ca4dd1bbc55a02c700fab8b3356bc225dd445c9b034281d20e2ce0900511014281bd08bd2de223e4988e79fed6a8abd66ebebd423b03b9f545d8253ae7470a527f8a2184004cae82307395147dfb38f05e59ede988fe03e698a7e3d51caf6dee25c8d2bcc6111d479fec8309f52acb66895d648c8a222e036c570d8bccba872909de3243e4136559256f5f22737a29b8cabd6f32731ea016035358d41bf971a3b96c4dd123c4921066217a36a06518a364dfd413e6b3e7647303164c77a5426cb08708bdcf29aef96239bd92dc165800b2825b3437055f996a4103b8df657085eb2b083a45c0e29d9c23bd4bed34a65044c8ec2d153941e3e9fb2903c34d78f31f9c454bb5358f7a50bb2e987c532bd39671c363942642ef5f8f5e6c03d4a7384c28c76a1c0f1d8f645c3efed2ae6d17b025e05dd94a26b8eca01383d9035832d1481b8eb29745f6c972e558b89c71181397f634a3c1a9c7f6621518300a038c8d154af8328fd01769807fb7b93a557644a506129e3bde3ad02da79f38cc27035843f1ab42d14ff49a84b950dd560447ef982f75ea28182697fe8b2d8be08d650219ffff03428fb112d99ad2147ce14a96714ce18ccfcda47255b110851e8639934754cd3603659c1399e9cd74573f51c5d3046141259d22cea1a52b40571a8210cf2c170d260324270c249cc5aad93a0766e93c3c0890a2c7f5eb99b10c22b0d08df9476b5aab032a6fd4cc5757b286bc80b62c5b0eb8a1dfed6a86fda054d5887812752208cee003a5956a9fac2272a0c24ee99bde17d4f4e47688d51a1df069f076658c632e5b9d03226114fa647773d04aa2af7cdc7f310df56921bd4f846a8e50d96d8957e046780359f6407b5c9a51ecdc2ea66240cb20abe5914a4903d61d2994c3bf2255684d1b0219ffff03f32bb3afb8131c20d906d47adcaf40c0a16a404f534be55cd806fba4ee75ac500374a0950a39b04b032d4d94f413f62e2cd44fcbfce6f2735b1ebf95a6366a85e803adbdaf1a9cc34a0a90f05f0462c7bbf943dc30ecaf6e31d400890ee209636dd803f6c4f561446ceb92da5670658ae9079add0c3c957deb13dc89f2ec3c38fe1aee0377326eeab808a61813f2c6bc25fc6ccfd0e00a419d147e5d6c8491240f85aeed038a5ce3714607465ead53015bdc3b41cffb5a7c5ee127a0c9ce3c1d98c0d6bc1b03dad8aca911903abafe035adb1006818adaeb92f37306714095ca570194e617a20399b1cc217af6817d49ce005b2f656ce77a6cd6d8c2e4ef0cc4db8622b4c9a0950350950c760503f7a4eaf8ef5389d2801cb78c3e2a81a2b25caaea1c0449aa114903268e4f0e2b56b4bcfce678f8c9659b672ade1f0aad12cfdb3ea2d98b6b681d1a03371a8586ffc2ef4e46edf93c2a7f38cd821f48fa54f5fdb6e71cb836ba5df03103ca4566f7f33093ae339c1984efcb49e326826b96e47f4d7287727b31e32bf94303c64798f3de2f8dc85fb0e03bbfb80e0ca373c317d71b2b5995f836ac490715fb00581f02ed91cd1ba0dca0fb2d13d6822c29db11846698c87f85d12cba82918c00f8420fcc00581f03bc2c6adb1ad9ba1cd22ba15201c07bc816c4b130c0d332dcd355f16b56b0410100581f03554b6f3d1fcc9c808d18a87ae6a41d859a6aa4a508d8d4a6b5f932e22830410102184200581f027a72c4d3812bae83be647d6980e171e66c99f5e67f1dca54639b5f5d29df421f6b03d55985f802a76e326b09124674993e0b46fb1db9801ec489969296086b70c67000581f02e36619f32d4570ced8793c2a8939093eb676a2899ea8b5169ec6fa272cc8542e3ad7a8efd5e73ba07aefc879514a7e520c4d0f03986354749d33059aa9df8020f4ddb67ec06398b031d780d321dd3d4dad7c06f000581f028b28a758c2e378188f150a4111593bba3a6860d763c4c8d9119bee7bc6cc410103447f35f7e696ad4f14f0dc03b5c990c6eea58dda2b3c2b3acf35e8086d83a9b400581f02bcdbee6f443e06fbfa88db3352f192bfab4f48fa02f929240c976f561ac54101021919f7032aba5b49e5695830f30f5ace1be192ce014d7dc907c32e4832e65536cb1abfff03d7d1b7d425bcaa2032a553121299d5c1d6b16524e99cd31eb37e9d0d6d1b86620372346e6f6db5e24820d2b40c811b632e83b6d1d349e2dd326e0883bac1ea011703da2c7b7eab1a0373a17b0bb7468bae28447e450a4a91f8f5af09ddd05493609e039751d9b8fa2e71702650353c890c49ebb9a115cc6fb397959a7b23889fadfc9403eb309a2dad0dff589ad4493fde63fbb3cb9656d6517acd6ae70ca717c819a78803621dce15e6459b6bcae52a6e3f410b7fe1bae3ed2ef33d32fe9a2d3a243def1703f38a767df66eef94e3734c3a7207dca5ffcf97946452658fbc00affd9b87b3520341a863bcef9ba2030c9f964520b36a6ab3561aa9452893975af501d22f206b3703b5f9291e69ab83ffe85534535f9cf38f3d92cee93e730c290a74933c490ce8ed039c7001fcba8abbafe9e00e2592c05478cd698c7af004737c23822b5b5e0279980219ffff03fee1de7d3d23ee01bedbeaab956b6349eaa28749f7590763ab1c7cae2438c15303cdbf231174243cd6f250fefd915724109445522d0b1b0eed0aa760890abd0a2a034d58eee17a53d5e5c6760ccb342e4bda8a67583a5342ae42896526cadb9543d30341a4903f66b997cf20384366484dcd946ad2bc2df54efe876827e55a037b4f0700581f02240bea697ae7c4967cae4e747d5a04ce74d1db59e49b90afa175ed6ad633549f5c28da8f8622d36dc0f596142d66bb1512bab500581f02e6ff72c783f59a126e1b52e7bc330474a4f2899d16aba3365b3f3f25ced241020309e9026f6a52034acb8cf83efd8eb6c7e909c3d3004ebf983fc102cb0e41397300581f0275c96241d4e821f44d70c6b5b2f63823e3771d6885fff987757099f12ccb42269900581f0360927a93fc4b4f47379f1c4833307de35a8e8806537587514a10586b7250543837bed4055a7e0d9b1f180f038786e2e6055d8b00581f030348cbd538db6bc77f249c9666ef96575ca4c3e7c035da7f93c3e69783a04209fc00581f03f2358947f2390e255b93ee2a30ba799962a304d91c70e87030f2886e6920410102198c0000581f02bd28b1bb38644f4a84d72d82fa4d41e4b5e8b5ee307c58a417cbf6e5c2b2410203ed27af645e2e8950dbc67b3a5851835817822534017ed513d93ba6151ebecbec00581f02c7d75fdb2d99d823512ba45de2ab89195459f4bc22c1069e192ad0a05750420d9700581f02548217ad86ede4feea56d2c27d0a02e5c24719cb5b281234948424e734184209e40365b3058b1eaf60f1a75aaba358e8169ce67b0e62e920015f578e89a5a031696803989e737677b0d06d14325af11f966333bc0d17fc170059722ca8a22b82aa207200581f02a200bccd36853810b3cc6cf0abdcd7ac5232aab1ec05eafb5d51fee95fec410200581f0290c10178fa12c995eb8f298d9ba9ce80df8f19c0527e529f5598dea2612442094a0219ff73033c44e12bd895f133febd2c30e7d687ebbdc33e37291332b494a78807d2bcb0cf03aed3e98ae91428f63b134c2c0173a6c3bad8a566df9fb254c3ba572172c83bfa03916daa13e17ab9aee98d3f1e7817163c955e0b963602725d35be6b9546e4584a03c8152c5b874897d27538984d500b8f80d4f60d1b8dd9bd145eedde1c21dc5cd1030204205d0ce71e1353468645a0dd862e3096105f469cc352687b0f100cbb7d4803a781281045572bacfbc18ee26825938d1cfe35fc8b759d666d976435b66525f4031baddda39d7e7189a53072d01afe266c7cefd13d91487bcaefcae2e17f6a51230375bff759de35c838dd1ea2adee2cc43a2ad3c6ac2464303d6fc291cdcb08ed480324e6c72b21d3db43a9725bc1a0903856bb2d82e70c8f5f8fbe96268a57d81299039c471586093445c027f062022d769e2816eacc8eceb1f40a966ed3d8da007c27030bedf588dc0c161841cb51f1185af9044f6ae7175ef44364bf5b161d2bc4de8803892bb18cba775be5b6679a0cf63574839666be2a8ddc2ae45c805c59ced721ed038e4c57396fa4532ae65ad0b8172165d56981d18c7b251c8566dab9381fec75640219ffff03eaa126172289086839882e69cc1ee0d4faa4674191478a2aedb8f7030fd0b8d503fa3ba413a1b2e864763742f65fd8f11a320f6ae98af687e34be6dcca93b827ae03ff82ab7b5d8cb0b5ec6d7009b6365db7eef1e12eb5670cc9dc60fc055fb53c760349b72d4749a74f8b24afbb89eb60484666ca553b70d8dbcc002bb59b905e0495033aec0fcfabc6cc0157b8b9199fc40ed82936eed3dfe0ad23b8b6664f714beff6030f263de7c9cc200f8f43b8e018961d08c87b3a640e13865e5067636d1739e6b20219ffff03f5661d71f73ebb6aff26d1566b742ed8bb483ba9efaa7288311f4d124a62d95403abbf07d44b8e40ea638cd65f05e2b64ae000c216dcce5169eace1bd6f7484ac20339fd152b45fb423d0519b56fb5c4d2c08209f36a2aaba505492e4c3c59ae051b03552e2e3b89be075271bf2af45694905c833b42c6e5c467e142ca9680c4de7fb903ba2a67cd6e63b744c4ef22ee80671912972e7a76e2c817f20028d05f660c3158031683d4a054eb85367df833b5d51a22500c4aece4c6f845d45c804df31c37e01003f45073076df418d45bb25175e6b7eb82c906250bc9a9617c2997f4742b8a61490349fd222d7354eb56f8cfe7bdd25f54e53dd2743557ca5cc7c947682b1dbeb6140375a67cd58f5d338f5b5eed776d3ad14cfab5bb82b105480d7052aeceb75045bc03e28ed1528594131258426edcaca0f95ff44c28691d62cf0a79d56433af12367c03bfe70a29a688feed17b22b6af927f37808bb333914df0f11314b4f3fca357cfd032f02ef503ad6d601de79630dae31d4ae404aad4486fd5e72b918df75e1d0279603666535d79c8e0b355cd0bebfdd497eb26fd28595b146ae1c0d1b3caf1ecd4b4703f38decfa182a3cfa68514b0000dcc0a4fc0aa921925a057afd9019110bd0b8a90345639c90344869dab35cbafce625b0476ca2805a7c069c02b4ab40f64beda11f03af5f8ea13037fbc083171eafba20c01e8bc35402f4c37fc96d31899c27bf9764032fc9033a18da3b3ebb057537b1aaddbd2d8c4f67d75d44683e39a85bdc1162dc03a2a53ab7f391d23de37bd158d1847da702d417df2d668df6beab815d85f8ba6b03330c1b7b96fd6df5381becd10f1b484981c710fd17e53d88cc9581a68e0b52d103c0fdedbb9c8f14e08ad962ce99c82b2d17652438f5f59af9dad640396edb4fbf032fbef260cf8b4bad3d9fafb9e2611bf81364ad8bce820eb7211aa4e12f55420700581f02ae102469b12bd77ba9e0ebe26c7663eb13f92208e6f0c5ccf90b61759d034223560373d3485eae00dab0e1bbdb28c3b96b79d37fbf2d1b874ca8ab094e9a1befd51200581f02336acfe80efd1497b305d23f7c98bcb86fe0b264f6d654b45f1dc6f546534102037b77333d3ddd0c4d7278f0dfc5fcfb7f5c63909f8fb6575f006dd3e8810aa22100581f0295cb819bbf8d206c3c4b88d5cdcb655d56383801df3ac1969866a88a31ac4106036c23174961a071ee904417f878a6a41a8dc6b575b346a81002a6ed927317214c00581f0215438ffb74e1a9a61e505791475fc488999a92f347d5e9cc3fb5167cf33741010219fcce0320eb25b3e02548f09425ce60aa7cb1d3468f4767c164933285fd10e859a95f9c034eec163d634b03476eee490ea3816aa505ae8abda3f5530ba5664dd79198c36a03638f5caec27810ddd013f0f90e6c8e3632155eeb91b6b082ed78ed2dbc12052c03084ed8a7fa557fe93f08f5d0fac24a251545792a8316df557674fdc313fb80f5031941344a994352445033aa3bf14ebdb65c34f71a8d12f4bcacd587b30a18d99a03302a4354343970f4a14839a8ac1032968ae4475a7eae8a8c7f42bfbaa12640fb03cb00cc0e6fd51018ebbd93575830d5b8626601c1a69ee5c0b332d6f46901b4ad03a823ee860a07e80f07073532507a56f1953b8b69bc83aa3e252f2d3c723b673203c6f353b5e78870af3a1aebc2e95c8bf0fbb7d9b147b67120ad9a83e400d5422603676256c71dd24e19dce5a2c09f45df08208687e8376105fc051ec870e0b2cde80219ffff03baf363cac077d167e0021e7d7a87a17f4a47f579efa06ba51508b6dfdf1b049103fc9799c2e2feb7232e4944d56e889714a98266958d49e25cb40227b36f0cded903f9b78cec45c056c8d4c41b6bc8caee6c12e2e7ea0df64e35f6562de25751b731036de5482acbfb54b50f583b8fdb8ad046c35858fc22156a1a59aef17e1066bd6103f28fd3d372799b888315571221186d417c34459a923d1b5bef586b9df6e57c5503164d8b368bf9e0ba9ea9ea1bb1a7eef9a6ffc578318a47687d49b7df2ac4f118039719407e6d5d54194648b38b3972778ab732ddc61a350fd178dfd1e18a039dad0359cb0d269ee782f0c98b79220c4e44c4d55de650353dfff5b66df93ad8bd7a9503129bfe34e3d8cf0d0f62f8b6c11bd3a4c3fe16e0a327fb3510537955db513feb0382bf9be5e0fbcedf77a12081d23a7b827673ed8a624219521ef624e2d329b8ef0377ede6317fd43dd2d479837a09daaea24061b16c608d814dd0671b3f5207cad403e52dcfc6e9d079fd93c533cd8b51f156aef90fbc427347b45360cf0afb519be4030ede32b115c102885b3fbfb3aeef8f7bbb6f79477abe84ea50bf65b846ff1d7e03f2e7d5ac6eb898eac07be0ffe9a2ab90cfecd3c7835b5eff066339afe46d211c032e9599caea6e5bf28d07dec9ba9dd9d317c31947c9617cd2f811f3ce8b2230ee036488f3f5f2f6a7cf0048afd98a04b1fdbc8e55146a0f8134600238c1acc379d2039575531b7fb95e063dea909e910109d5b3a3056d37440538b231d93012020f5b03239bb156e6bca482fda57c3623a189245926f26ecdfe14a96f6925a46eab9a7400581f0241244d3b0674f139ed49c7361cf84184b14118178d4bf11946aad37d1b7d413b03276a75d71aa6dab98c83bb1fe485a8bb8c3bfd373ce87e505a248e2eb6321dfc00581f02b38d3f8a53e0f743d2244d2c9abbf258bf6ccebbb895fdf022bd0bb63bf742035803daffd6dc99ac6d59a1d7852e5fa460e3dc3f8c47b0be0a76e136cf27dd4aa8f103f15a12c4da5853c2af10ab63e1fdc4b31922d75451a8d3823480c9973e8df85f00581f02e74e2aa96d2cf76956deeb725a209f5a639237cd452330b158e5ba7ca115410200581f02b0b508a34d04d1c12d776ae7ad6adc0615030e62203e9fb118f6cfb8bfca4214180219d5260219ffff035fd632f118b143f0f232baa104cca2de880fff186d0878d8631b5c5f9c2f23c20219ffff0219ffff05581e036dc466c97411d1601d6d5a92ccc46e791884dea2fe4e3dd31edb0163300701194e1805581e03611cb314122bef242669aa1efc8eb8d324fc2bb1d9b911c4a26079ca800c0247104472bc17b000021986fe03c35f3534c2350b97b1d568b511373799e1dbda50b3aeb5e9162d6d345697000b034c40042ec764c19904bbb1ff3472a53fdce7c0c678a27cac73368792f32d3dcd039bb7b31b1fa4ce838dfd25c8a7e562de032a14ede140c6d2e13fc5b2f421d55303381bd8052dd3d7b9d4904231a157d92b6f368584a19b6d435ac2489ae5c2ee3e035a6e1fcf09dbf3429f2c7027efe11c934b5e43f4aa6533bccc2ef6a8ade023d803148652c7cb805d5f817332604d414ad5ebd3db126487ad58682400ebd42d1c2a03dd7b4295437e820c8873cd292133dc8a543591c6f8e8cede827a0f1401400e29035c16fb195eafb1d52f33085314863f967d5804ec7f7abb0f5c2c3685488666f803f6d5e699556a25ef914d639a638db0476eba8bf5f92c3430015bbb06ed4cb9e30368001de7c26ff40e1af23c3e34b532edf89565356bc3a592b6d13a31545ea2420389d975ceef8fa60038d835a61eb493b8be8e6d78c2683c258be2a4eaabb13a0a0323be02b8be11e32aecc6c4cb9867c0404c0921281154a6d00fb69f71004e85b50219ffff03798d47da39cd39b5178cfcf9c15e11a7377b39810565cf3455471d0c9c4ec0c703f24687646b46720ff4b0556905992025c9f907a3b12d3731bed5eba67751e7a403fd169929318925ab498934c212918f432a10c87b3ee9933dc1c92920fc7a896b034849433ef79b5b7d4a0f46f720b47665eac4a020f17dad22dbf88fa1d8d390780382c6daadda6838bdc07509f1db2dbd184b01a0bf245ded786775b46841227a2703de6b406592b71570c10d6418fad5130799570266943730d90f6c60ae62337ace03e644233db0c4d4e75ac05648cb30a8a3bf01f11a9ced69926cb99eb40cc264d50356add9263a25f66f7633b910a39d51d4353c335dd0b9301298dc3c3f51aa04a203332746d42d1cd9ad39041efb1296d0a5090eb1e2d4f28b3bd88431b21e27e9ef03f8d318a52762a8c09c7de5c57c154a52b09fee9a3cf4960504d48eaf13f0e82d0219ffff03cee44eb20b473a9c6f7ba5bcefa5f64678be0840d682f8c9c85a9cc118068545034052759f7b0936369789efc0bc4cef581e5c306fad77160d34f2b6f93a42be520348f52ab98b51476b633df1e1d371d0a269f5608f6f7cb8b38133a85226c2a0bc0383514c5af630084a7366d0afc0d3f5c905dec6ab6bf7b8ac3f46bfb264c12c3d03727dd450c0ad1aed2588506e8164447eaecb543e57c1d2fcc0862d601561fd5203ab13497fec8d785ca813fd6d2fc24605257bf776a7be6d54ca2d19ff65639f580320d04a7f5c0a76e9df3e2411dfaa2e75559d8881d2a0c7facb2f216c0b995bd603b0a730b682055b1f5fa40e8a0b6c58f8e07a6160e6ddff5e2310f3ed1d4951e9039151d8b3fb5f530af5954a28089b6318880fcebefe54a9b51c50e09381bf0d50032fcfe689aa458e95fefb676599f65a7cf62720c3d97a042ddfd9b73080dabe2c034da2a671b42fa32b37574ae51a72528e0364af528ef32ca8193d81940526a92f03321eaf8a3f8a1db9f5925f47e654b26fec8f2f9aaadca5807bffc69010add002033e2afa8f639203db84dcd9ed329267c7c32251ecf7ffd0d0248cb896c8280e030364bd803d882c1365646e5abfec2c25407d5c003a0be6016f174bc48297647c88035b927c8ef612357bf483cb9c243d6a8f183d40d6e827906577155254151af6250219ffff030252795f9778c8bf9c520f64c00e260a1fec7cc5adbe85ec01e5f5a1122e3cce038f3226b3c64269b30226767bd19397050e28f2f05d88986c01d816a2f5453dbe03973700a03a8ba60d7241c08bef595e89160c3899cdd493067c20fde4105f1bef03630e87fe533da218c6575015c40d2498e63b10852876611e74e46f74409b1cbb0330a055296f122e0f77be8006f56853af0a5eda25bc11b7af5d9d1cd74a397874030bc7c7a2cf2acdd2846c808b16a24db2c0204d7e192e43229d3a1c76791facf70344df56821a568e6e624d48aba33918ebc477e65c6e538f7a74fae99529e831c203293f8499d6ad22496e3b0942c8bef78b2974d74e4db3919d002d98f1392bb38303b859ff69fdcf58c8e93c32a47862af984a274c0d81e0a0ab2ed810921738721503fb49b93aa2b97915ae376599022ebc74c36340c439081c2cba884e23f5c6b9860346c3b60038963790091029a35b32a0527ae3a99291244d15843580f3baa124dc030ef9d72e9492e618e5e1dbca14d2c80a7d2097be1f2cae2584f1838deb6c7d9f03540a12748f311df7359afaa070e76dc5cd8573652d8c8c606685c39f46fc52d703f3e6feb11260eb8b95c25deb7b61804d16d4988068ca318454429700e80b5d0603dbea9eaa0cd9b76b6bb8980b4818929a7ca0e2538a656cf8692945d3c09c0fbc033febdce9c71cba6bb12b553ad90f5e2b5dfc537154c2bca9df97ed8a0adabd880307002ef7ff410fe0f4cfd854de521de11c131c0c6c1431156e19a7b0671f7a6e0344b24e510e98325334c1610b3efe2e9ae484e63ac9c03f38def4b0d5a9d7ff8e0308ea1b07a68844d332e6be057ff786ad04695d35cc88e6396a9d632607578c8301410405581e033a6e43aacbf2a05c4b68ca9d6eea2e2c65a467e01ab61acd0d0b6a6d30084713f93e2d409c0003074db128fa7bed1c013e544b5b756654fc9b2d28f3e0dc6f1c14666f0bd8ac1505581e03ef1029a28780aa157a249f4b4f9650a457f451773c9a6ccd59aa4226200c0346efa6dfe5f80003a7fc6f50bf45ef8f76febcf3cbed454234726622329015866106103cef28d63f036893dce8162bf5f610f8bb8faf1a2fb54cb66bb875d54494f5adf2a0b6dc041b05581e031f01c84cab442ba66399779ceaf2dabe9afe5ffcef55e9cfab3b6e58c007011bffffffffffffffff03f2840e6f99d42fafa7ee113b887985d3ed01143c2f55131e0fa0aa8543ae097e05581e03056e782972aa4953011a11f5c960dd2202a912d24cc8ae6c814fa5e8900c03467dcb93ba8e7005581e03593f69ea692c1408571c42e45f3727802b2c3981ac78d9ce840eb578c0040305581e03064dec75fd61327eecc603f95ab8d72ed052c151e90cb928978198634004010373873b9ab14e7d07e722de4d0825f6b21511c7a43607a6678d0c574afa21b4e305581e03af7744be6c2967b2083c021fc82184c0329a01fd2de18d63771b26923004020219fccb036e84864895fa8d191911237db22194314beb632e3c4881e0f55486c6b3ad968a038e0ded2996ce9a05e41d3654aac414a30f249a6868b1eee4a45dbeb7912c8bbc0315f53db3f7738575156deab1edc023d30b02046a42418a40e8f5e90f898745c1032f3183c14c22def8393d8f33e8632e0d91c197365cfbd623c5a7d0244e59393603abb71b4811eae934d1a977d36ed8087d81dff1ebe6874f201ae095237977a90d035084b3e25491dcbd66a34d4868801d2d54391aff15666942790d62d854432896035411f2aa4e2616f23b1b2f573903dbc98e7e7b5b200cacc73e1b5998b409473f032cd152584ab8eda8e5512cb981d1af39e304e15823a32a9aa90827da01ca982d0300a156bc65415fddbb0a72a1bde8a346ebdcbb0e2f3fb0fd7a701fb7632a322c038993d83746f93a009f866491818034e0c28a25f7043fa81083fe211ed9b3663d03e9a69d7305165a39e27784dd9c73f43945f3d5b5dae5ade9dc59fc23aa1f32dd0362472401b8639aad3c55eb4d81f96b66e6fc378d870ff14cf9b1b6e16701ee920219ffff036460634b5705c88c592042f610da587030dec2fb67c0d0690266df093c2c4e7903d89b7e0817f5e654bc0a1b147408d945b6604ffc0cc7821d01826575eaf56e4c03778c7312e4cc3f22d5bcf097c4dda8286a986856ab755433d88cf638cddee49603a4e68d053507a062bf534d716e14710164bfda694c7e642b63522a565e65575103a4d09eae349de6d5a2f3b81804126803207152efb4d199e3bb6539728cad0a73035220f43e0b6bbb100480dd80b8e79f050fd70d4f522e16320738d1f6221d877b03fb07d66f5909f59e554d0ae05dfbd53f4487e70a2738b07b7f69582c27cc09ca034f0ff28cdd7476f83b430b6bcbe922595b2c403bb7e42a56b4be92d6070b111b03103ba27a2042468dee99cd11d4363c374df27ca66c24677b60ea8b9ded74d37a033bc9d94af19db1fa3720ad7053d4de22c6a09122d0b0660e40c8dce5a09d95b203627db17fda36d90631ec58e70c58db9e5307188f4cf796e1146d0d5c83578bc0035ac8883bacf685c76f0896cc505e14f113b5c6b8fad7086c599a81d8b418db2c037f75bf213c3cf5b1ca82c821f4415b1d1512f231de916181baeae2e36d5299c003c76fdfb98c36f28581d722df6a855c7bc6800946914319ab263fdf2818999b8e032b212bc47572eea56a1e56d9538c745b0782d1d6fbda628e7356e2113976bd610219ffff03f28c9f40fd3f0daac6549b7da2a4cd323f7de6cee11d043d189869b2af1201c603a28db4e68676299865928ea880f55e02bbf3ae868d98e8773c91f75e381e86af037c8c7fcc6bef5293b3eeb71cb28603256ff7501e4eb9351908e7e3dec1138a9e03d6e3f3006eccc2eb991e8fc0cc99ca8e567118311eb9d744d9616df22064d7130343ca40ed93366832c1b35342bbc642ac9dc9f33f9b0e41a53972109b017d90f50219ffff038b7ba6bdde45f049866bab5e44a465b358a5e7c7a7c9af9d887c13ac38b7d1fa035945d8bbb1c1cbc5a377a4844470893a54bd530453358c8f87c2c87ea7ea1dd1033615cfb12209ae301cfffab166331d303efafa5df89fb295ab7c47140be6d0dc0219ffff031d7dbf4eac1479e8545d849785e9abee584d2020469d59788f3fdabf57c7f5ba034a55339f604d4326c729ec597e8bf27c5c4fa82c8384ece09ffbfd5ff2cab14b038c98884c12cfe14cab4cb39cbeafd42f9f6b8ed528728914c4f7114a1054638703d7337b7bcb6406e7b7ab71685f4aa6a0e6af390bc4c162b4306b503e5e781c1203e1968cf004a3ce5c33d648fc132e02c46dd440e0a934644b9dcf60bf4af23e5203e56b17f40ecf74ad3e9dc8d0cb4de21735e38f3e94df715b02097261f4232f4703b3344f7d3c099a4cf36e7d2b45de9dc8cf27714b08a7483bd6b048dd6ae26b25036ca16f9bdb0a8df27e48dbe7d272dcfe767226c835bb85eb05bd2f5bc7cf48ec0367dda0e9a997383efc81f083150f6485506f0d4ca14d2982e9afb456fe1c90940300c4694621927f66b6f1cae07cd80cfb714fd7a462d32a6afb97cd45ad5c5ea1039903e0c23ba231c1ce6542746ba12cac762051bcf6900ad9213207b70d7c363903c6847b709af6346c173308ae02d28a2d3b84b003dc49c2e040629dc53d71413c03cf9b06025cd7846b26a735becfa2687f65b6607951de2ba24e93c4357b7418ef033819864662228333a16db808f2ed6cb66a26bcf5bc1113fd6ed456ccfdf45bf9036599e88431f4dc58cb093bcece3b5bb9a547731be69299c3146c6eb91e0b847e038ef4d1f303d78f38a131e0b3249fa5caaedf83a6c1de0cb8a7a07e990ea6e65a037b0685a3189d72b215cddb8a693e5e0ed66f736ba81cacbbf570800fafb17eb5036fd01c44d11ea9d790bcbda5376e65743d77f829e6a2898c03a5d444015f6e6703ad02fc329b669dd8c7aaadf2bca676e9c513cc8834137305a80c087195a778ba05581e0395efa3a01d53667c51fb914ba45e72b3161de60af59d0805e54ff914c00c01470d15be480f9a7f03129d550b97e3fab4c26f4e7d4f2f703f471a03b6bc300bbb28d37bb586483b8203ad54b2520f01b23973519451927fcb1fd196863e02bb9b13e964e16e5f10d98e05581e03d29500478dfeb418ca25aceb5e0dca99c519f9ac8c4d0e198667f4e87007011bffffffffffffffff0459111e608060405234801561001057600080fd5b506004361061012c5760003560e01c806370a08231116100ad578063a694fc3a11610071578063a694fc3a14610245578063cd6dc68714610258578063f2fde38b1461026b578063fc0c546a1461027e578063fcfff16f146102a557600080fd5b806370a08231146101dd578063715018a6146101fd5780638456cb59146102055780638da5cb5b1461020d578063a63b8d141461023257600080fd5b806343d726d6116100f457806343d726d61461017157806347535d7b146101795780635c975abb1461019b578063642b7c7b146101a65780636cf6d675146101d457600080fd5b8063114eaf55146101315780632def6620146101465780632ee409081461014e5780633ccfd60b146101615780633f4ba83a14610169575b600080fd5b61014461013f366004610fa2565b6102ad565b005b6101446102c1565b61014461015c366004610fd7565b6103ab565b61014461040d565b610144610644565b610144610656565b609a546101869060ff1681565b60405190151581526020015b60405180910390f35b60655460ff16610186565b6101c66101b4366004611001565b60996020526000908152604090205481565b604051908152602001610192565b6101c660975481565b6101c66101eb366004611001565b60986020526000908152604090205481565b610144610666565b610144610678565b6033546001600160a01b03165b6040516001600160a01b039091168152602001610192565b6101c6610240366004611001565b610688565b610144610253366004610fa2565b61074e565b610144610266366004610fd7565b6107ac565b610144610279366004611001565b6108e1565b61021a7f00000000000000000000000036e66fbbce51e4cd5bd3c62b637eb411b18949d481565b610144610957565b6102b5610967565b6102be816109c1565b50565b6102c9610a56565b336000908152609860205260409020546102fe5760405162461bcd60e51b81526004016102f590611023565b60405180910390fd5b336000908152609960205260409020541561035b5760405162461bcd60e51b815260206004820152601e60248201527f47656e657369735374616b653a20616c726561647920756e7374616b6564000060448201526064016102f5565b33600081815260996020908152604080832042905560988252918290205491519182527f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75910160405180910390a2565b6103b3610a56565b609a5460ff166103fe5760405162461bcd60e51b815260206004820152601660248201527523b2b732b9b4b9a9ba30b5b29d103737ba1037b832b760511b60448201526064016102f5565b610409823383610a9c565b5050565b610415610a56565b336000908152609860205260409020546104415760405162461bcd60e51b81526004016102f590611023565b3360009081526099602052604090205461049d5760405162461bcd60e51b815260206004820152601a60248201527f47656e657369735374616b653a206e6f7420756e7374616b656400000000000060448201526064016102f5565b609754336000908152609960205260409020546104ba919061105a565b4210156105095760405162461bcd60e51b815260206004820152601a60248201527f47656e657369735374616b653a206e6f7420756e626f6e64656400000000000060448201526064016102f5565b336000818152609860209081526040808320805490849055609990925280832092909255905163a9059cbb60e01b8152600481019290925260248201819052906001600160a01b037f00000000000000000000000036e66fbbce51e4cd5bd3c62b637eb411b18949d4169063a9059cbb906044016020604051808303816000875af115801561059c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c0919061107b565b61060c5760405162461bcd60e51b815260206004820152601d60248201527f47656e657369735374616b653a207472616e73666572206661696c656400000060448201526064016102f5565b60405181815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d59060200160405180910390a250565b61064c610967565b610654610ca5565b565b61065e610967565b610654610cf7565b61066e610967565b6106546000610d7e565b610680610967565b610654610dd0565b6001600160a01b0381166000908152609860205260408120546106bd5760405162461bcd60e51b81526004016102f590611023565b6001600160a01b0382166000908152609960205260409020546107225760405162461bcd60e51b815260206004820152601a60248201527f47656e657369735374616b653a206e6f7420756e7374616b656400000000000060448201526064016102f5565b6097546001600160a01b038316600090815260996020526040902054610748919061105a565b92915050565b610756610a56565b609a5460ff166107a15760405162461bcd60e51b815260206004820152601660248201527523b2b732b9b4b9a9ba30b5b29d103737ba1037b832b760511b60448201526064016102f5565b6102be333383610a9c565b600054610100900460ff16158080156107cc5750600054600160ff909116105b806107e65750303b1580156107e6575060005460ff166001145b6108495760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016102f5565b6000805460ff19166001179055801561086c576000805461ff0019166101001790555b610874610e0d565b61087c610e3c565b61088583610d7e565b61088e826109c1565b610896610e6b565b80156108dc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6108e9610967565b6001600160a01b03811661094e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102f5565b6102be81610d7e565b61095f610967565b610654610e6b565b6033546001600160a01b031633146106545760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102f5565b60008111610a115760405162461bcd60e51b815260206004820152601d60248201527f47656e657369735374616b653a20647572206d757374206265203e203000000060448201526064016102f5565b609780549082905560408051838152602081018390527f6b7aec0929ea072dcacff8f1782131a82d304d9169e19c5aae49c087b6d12032910160405180910390a15050565b60655460ff16156106545760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016102f5565b60008111610aec5760405162461bcd60e51b815260206004820181905260248201527f47656e657369735374616b653a20616d6f756e74206d757374206265203e203060448201526064016102f5565b6001600160a01b03831660009081526099602052604090205415610b4b5760405162461bcd60e51b815260206004820152601660248201527511d95b995cda5cd4dd185ad94e881d5b9cdd185ad95960521b60448201526064016102f5565b6001600160a01b03831660009081526098602052604081208054839290610b7390849061105a565b90915550506040516323b872dd60e01b81526001600160a01b038381166004830152306024830152604482018390527f00000000000000000000000036e66fbbce51e4cd5bd3c62b637eb411b18949d416906323b872dd906064016020604051808303816000875af1158015610bed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c11919061107b565b610c5d5760405162461bcd60e51b815260206004820152601d60248201527f47656e657369735374616b653a207472616e73666572206661696c656400000060448201526064016102f5565b826001600160a01b03167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d82604051610c9891815260200190565b60405180910390a2505050565b610cad610ef6565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b609a5460ff16610d495760405162461bcd60e51b815260206004820152601c60248201527f47656e657369735374616b653a20616c726561647920636c6f7365640000000060448201526064016102f5565b609a805460ff191690556040517f1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a90600090a1565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610dd8610a56565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610cda3390565b600054610100900460ff16610e345760405162461bcd60e51b81526004016102f59061109d565b610654610f3f565b600054610100900460ff16610e635760405162461bcd60e51b81526004016102f59061109d565b610654610f6f565b609a5460ff1615610ebe5760405162461bcd60e51b815260206004820152601a60248201527f47656e657369735374616b653a20616c7265616479206f70656e00000000000060448201526064016102f5565b609a805460ff191660011790556040517fd1dcd00534373f20882b79e6ab6875a5c358c5bd576448757ed50e63069ab51890600090a1565b60655460ff166106545760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016102f5565b600054610100900460ff16610f665760405162461bcd60e51b81526004016102f59061109d565b61065433610d7e565b600054610100900460ff16610f965760405162461bcd60e51b81526004016102f59061109d565b6065805460ff19169055565b600060208284031215610fb457600080fd5b5035919050565b80356001600160a01b0381168114610fd257600080fd5b919050565b60008060408385031215610fea57600080fd5b610ff383610fbb565b946020939093013593505050565b60006020828403121561101357600080fd5b61101c82610fbb565b9392505050565b60208082526018908201527f47656e657369735374616b653a206e6f74207374616b65640000000000000000604082015260600190565b8082018082111561074857634e487b7160e01b600052601160045260246000fd5b60006020828403121561108d57600080fd5b8151801515811461101c57600080fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220baca75e4eadfbee3ca05bd5c2d7741f1f65b0052f36038399196ec27129a2b0164736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d0205b87e98dd9545fc2b2d058227dcd6e6a7f9ac1c5534ea9649522e6e070119111e05581d029eba191b87507bdf0ee2661692051fadd17c9ab697b8ebb72e4c2bb1040205581d02635e278c3d0c5c29fb8b1b144b6d76b871313b9606f7aa9fd95282740c0248072ace73f79debdb0219094003bd633e65c18af04aeaaa2eb1b6882ea5cbb931e0dab6e8caff0baf61fd78e0f20316a5de5e04c544e32f6d67fe0cf6dd1dab15e96cc0736d8f096b407eb30a215e05581e0308f88dff6c2d7766080c991706a1dc1c91114f02355fe56eafa331fca00c0c4691697fb3078d05581e03e27a904518262644fd116ac2b7d51da3e98f716a6bb40735869f32e6900c1746252c06e8873803290b9f9e817351e74ab703ba4adfac3225b9c22a6473929ad85b51b029c4317c05581e03ce78b639732c33f3433d51735ddb4f34c8b79ac608d7c8090e66ff46e004010219bcad03a78fdc2df31d677d2568e0ca4de88b1cf8b980963580ff1aabbd40c41f4889410366e7cd918539f50bd077b995795a4be71dd7c7f3d2adf09ec8e07cb6e5ba92d60391b89fc6f7ec1fb05f8b59f4f17de1896924ba6c8c1578acc7002b01db635f84038b03ae2dc05910fc9560d1c9764f70f0d3cf79874ac83bd251849b042f1850aa03113f9214a6ba84e5703461b1396c2537ff8ede911f2a301d06cc85468cc59777032259504e9aedfde987acee16b46f67685d7d3cd60f96eb188260332dee09a2040219ffff03bbfb32817e27e96a0725dfb80363745993667823cf5da0d6d6a917de150ee829030edd5ea1c4f96bafaaa2896bcdfe2f6e9c492d882235cb9bc3cbea24cd041105032bd051fb72b4f19c539a94d3900ee3e2b5dc536785d14c317d332b675a4e90e803c21cf74192fb617f7447f2f944533574262aa5f5976f99ea0007804a80b51c350312b55336f973786cbb93ebae2d9851f084aef40cad2d9399549e9c1bbc930efd03e112187cad470818efb06d53a1889bb716e22970554a99fcf50d0b6679883f93032afa3b71cef09d457afd3aaaffa410d04ddec57bc59f86e466407eab12e6b362039116f370b2f9760a24a49dd42e8c203b7927711c5f478c1df85bd0096c7fc2c403b821f1289831f1df184488c40687ac5116f5758e5a49df8b6abe9763f4a39be40320d71424fab0b3f77c039bf09344a6319407d342d859af1173793d6862d2f36a037ac0bf9400c36575d5cbede443add2da5c43363d0d20098bb1a1c8df1c26316c03ab68b39631ccf0761c224cd088dd10d5f66739b2d6584f20fa5677f50d0a72f10392785ef5eb06b241143820846e9b45fd02a9280a4449acc06f430797bfb2113c03e376b245decbb4c7ff4221e8179912bfc11f737415d7caa6d6a928f5ba732ad00219ffff03005b0760089b5cd4b3d561d881308cd5d357e5bc9589aa846930dd2ababaf8d10388ca97c8ed656a3bd5b589bae483b69e666a90929b427465456112a5a6af2607038ea4409620304e42e710c7cb105be927a641e2209149c8b382af3046977ff3780327cd8b505e9dac10e86267a899bbd96f91bd3af12bc83dd0136bedede4b3eb820324635dbb1f1435611bd54e499d6f49953050a2556f1b958bedfbc93d93715345035cf72607cab0061592f6045be9e5665ec1703ee73aec9e36709323a7d6961b6203d7e1652fe251bcbd8b6ac54c87839889b759fd442fc3d0256561e0ce0660f6a003be43ec3a70eb9ff0d981e32d5570dad9d821e2e4be05eeafc91cf9e25c5417fc0219ffff0344471a3cdf6f74136e6fc18d8401ce4acd83b0f80bc3520ee27f10d8971703e3037b02296c1e87d100e61fa5f93e575de3ad0cd46bc8bbae921827f0a94cfa7856033d59ad2af13663187df5311f329b2eac9fe723f9602ad552b5e4188a76d53bc503df5d4328ea0062a95f40b4d3c719f61a0e697745e6e14009faafb66f4b70a91503115c49e6f4b0b679bb16fbbd21f27d4ab5d0bca2f065b8e22fa6ede9a99839f8038852e93b75a8bb3c1fbfcea46485c71c11c8267cc9d1be050e19f9760568646903f9b0bb429ef4c1055bb21fd62d1e027d3864ab7518e3000df1d154a99b0110c0035fa7d6b02849d9f422783a9ae45e2ca78decd189b7fba92b9a201b0f9bce792303130784d7d5dcdac7f8b3b1eca41e71382a77baa19101167851e00cc2224c56740333e9b227c19728568f3a836588c63abf63db5566395b26a2b3aa7315b5a4315f03a011b3045e0208278c785308dd50c1bedf7104405b9bb0b6b58ca22f9b7b5fe703c321faa9a9eef0d158de26ac3a9936561200cdb659e0c26e75d1a940e6a288dc031c457f00072eac2ceb6694c74c068eabadd8f2ce7e9a528849fda8f3a2fcfc0c03f25aba990343a231ba27f5644e1cf6ddb3d26e8d36fa1200deafd840d1dd8f7d0219ffff0304c2fbd59e0a71ea3b8cd83c0620f2e8f44a57d61412416480e9175e18df8b5903183821ca73b827bae41de86afc45a19543165a48b2afd508e63782d4b903fd5e038751fef39b52cfa3e2d935941f7dfa0b589355ea969a500d6cd81db01e0d74390306de2b690771a9fbad4edb6aed144238cc565dd6cd9cac75a84fcf17f6e8113803d8e5772e228de76f97d8a8d6a38dfdd877fbbb9b44d5317cf0d8ec813b215d92038ee63c6f2e428d6045cea049e525078f607ad4ffe0dde5e3427cffb786b11c6103cc85baafccae1b6a08739162bdb8423b9397896b4c30573b24ca52394e37d92103aa8c2be06be72e8e866ad472c5d36d99dec8fcffa4bcadf98a2db295ecfbb9d803b8fb4547295452062ad78a012f0756ff921cfca194b8a765f6ad250faafc038003eeb191fe0df81a261f7ade2c20587e24ed0c8d5b07d4f8ce56c7e3a2046aba1603951360696b3f5b79ed150b9faf46285a01068551c1e4f78676b62ed1f3eb14bc03809228aa5d9788a9407993d33720c5f433cf7f1a1229d48107884e18457d2b88032fa91f10070328ee702e5e6dd51ec5d15ece915f773aaad59015d4e3d75011f30334b967c77bf3bf9038e235bafdd00ca0864cfccdbc432b946de456ec26a4a42703f74da18748fcc2c12b3fbe9d4f6881e5ad27723552e1e2ff967196547f83664f03ad08d71a66a4cd614e495c84b0b931ac7fe5b98d1650d7c8d9f9f1e140a4f98e03dac3a0279e5a6529932f9bfa182c0a5ac496f6605036b96f15048acb2d82602603c500807ff265cd8cc7cec16e319cdd6b9b5a08896d8942cc2872cef5270533660459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c6343000809003303ce88aaa893f9d239fafd178b0c4e0ff14a7704485989f757d394ef0250755a4003fcf348bf76007c88c6d50b0825e713dc3029f9d4ceabc120e76ed47e41532f7f036b4119b6f934cf4c4ed2e9556b890d8007c84fea49202eb9acf04df50d4da7b703c7536e3d97b88deaf1d90272526c17999421f230e5ef80aa5b2b5e2a5df11020039eda3662c5e8686e068585f91b3780e95c3977c53e1cc002a1897ab543bc15a503e2cbd2e5c572d26243abfc3c9bad30f8224f9d35d2a829688c4a3ee2f6aa0ef0034fe940c3ab94e12da194e4cbe6f681ab797b511136fbf4459aa66922f5ebe4e803f22aa8aa0b6f2acbcc8b8915820df9f8ecfcf8cfe6fbae0c6418e5299b09072903a1ed57b0c1687bd787f0b504f9880c25c13c95e35f8bd53b3c5e654348ada9a200581f02260a909e15f41837d7146d826e0961f0cededa035e91dbe96e38c37cceb64464b5eb2f0371248a6ebcdb9b4c771ccf9ad3b645e9f194ea0efa6fed07d3a72cffc657a13a03597eadb5b39433540e325863598350c8f7482af13d4b0959c480b0e0179f61df01410503344d1e8ceadaf72f10ba83a3aac0bb9fa2c775bd2af81c3960f456bbda10427e00581f03a1290f0a56305151552422b42d361699274da4191b4e86a78008cb5a0e60446484139f00581f033c5ebb84eb7c9c191a8c4cbdcb07ff1230152a97c0d1db9193e5bd33fb80446524c447030e7eeffe68cffe4abf827d614a97fe243562142b725298baf8cbb30d1e3bbc4500581f037a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db905820f371b98c3a1647b212a3796914a45ecb1f12b312e74af24fb2924c71d46b116900581f03274e9dface18c1c5aaa77e595ddecfb4605ed1b6879c276ca38c312421004464e651fb021988450383a756c7316f7e4a27e4f1d6f28b8fc8f1d5606b2399438a341675989aa4573b0363433a7643879d6496eeac76a055677e401b6770ee15e51f494136f99ec1309403512c6763247372a89c4373c3006087bbca711ea05cab0a851556531a8bf918f003bc0ccda3aa6df7a038bf84985920961c517aa546ed6c2e440d9da14dd5b110db03917227e950b003bdcd69d436d2cb8599fbb44ba5df832e3caaaa7276626f651f035f4f3d952072f707cbc9fdd62d18ac37f8c726d15c9a56780e550869b7635fc6038bd262eb8c213fc4dceb1ca09d1ca8f500a1a2f89cfa62cf29d0963d757a1c280355cf835ec3d71ee6c0ebc9e3890b62a4a06dce753eeabcdfd5c3b297e8916f19039e7fd35a605a3e8671785ec329492574a6dca011231bf9ffd62b5f72772a34f6037414c0539c1e2fc91576f2a03c05894786d060f5c81e53ce14f82a7c0ef9413d0219ffff03096f16d2354815ef95414a3bd85d9d698b8b300a450f6bc6a5106477666f887103e555cc1a9724f27b5636ed3bc400c5d3f57be77c2ede1a81aea5f25c02bd2922030f2779c50022b0f38bf70c318d82973e924753ef77e775e1aa53c989fb0537290387c752137af8bbeb4ea7832e4b45f71aa676d3f7a5a6cb13947cad0610f41d4703f06c258a2cad66abf531e8bfffcee7eb0321f949ec523777bb2e8751ce748d7003b762e68a98b1527a8746babf2a89257f84ec3c3695ea308205911655241093d403af6e23b41db4cd77a0328cab549ec26ee6167d05061279d73916e06d7ec440fd039df2ad5a7e4697a19406039ed61521be3dd7c1e07419d92bb2b573a1d7eb2a990219ffff034cfcccabeb60395d775a62cc3a072859f2fce96619ec48bb4491d8a3a2929cec032190296113d2d06b797f273404359cfe3874bc465b4527ca76ed1e26cdad844d03fa1f1511ec6439dcee430df11bd6db13303bd18326be07ab23d092aef0ecfc50038431f5d38962dfe52d1830667df2f78a4bcf37e00f865c27dd3e268462d1786303857e1fca462e490c8a7716f8ce8ee834d5147ca7c1bbb433d6253432c22f00f5034c6127341583c835b003df2f759f640301b2272617399397bbb89c94d668a63903f2365f5274696bcab95ea6ee0c31a985d742ed92ce17ddfcbf052cc715fd3faa03d0923d02649aee85b50532e935faf7e2891d79726703872d1229f59cee24488503f538b35c1c35bb8436354bd3a8ccb66c648228e446ed160c1f8741b1e0f1a2ca03775111b257a9788cb379a36c39864ae763a75140c4a1575e117f1ca4851b6ede033c2ed4406d5073a921b242d4f0d5858ec7a0be60f52067ab5d810e892fd5ae4b03ef34a25f2d4244c5eb1fa377138fe7652db465884e280b9df612121d86e360d7039c7a2d5efa6f04433e59664379080edf7c632375c047ecc8e5e20c46a24a159b03b3215d501040dfe5966fb5a84d80d479967ef5f3d60a7032a308d456772bebcc0219ffff03a6b7992f6eac82b4a0550723b2c61115d622144219843d7692fd8800fbcb38ff03a840d071a6625fcf5b012d8d845f01327866174afccb1e3cc3d28fe7a3fc0d6b03bbc94135ef97ae63bceb05c800df93bfa8ac03c5113b2e1fee744c27d55c30ec03044398c6963d01de567647c45edf6a22a2f7719690c700d2d638aeb4daf0d28003cd53a8830f0bee8b5f2d65e3ce8a8614267e437b14a7924d732073b4f58f5ca5032bf1efbdaef3fac741d6cd256bcf74c7fb5ad9923c2bedcfb320e8dc71fcaeb403fc51235d0b26f98bff07563541f39e03fe6e846b22dd97cf9e68f1a49e67096903ad113fc5047790d20da7873846712425b1255057126e3d210e1480bff578b5b603a8007a04a0bb97aea8a714a5fa06964f1deb8fa90c0c39b8e9de6fed4e6c69ff03e0ce99392ef08e896c4ea33faf090b22d0995595611faabcd93ee6af7c37196703ff10a2cccd55163adbbd406bf951befa7d41c64bc0ef88be0dda7ed877342a4e038660588a22cfc748a7b06e80b6dc36f83d2c5ce099356516161c9e652be1d03503b786eafb22a55a1486f70a65d49aef1c69ac292bce0a9f9badc6e6c889413477034c25a9244ba09937812788b798eb3e5b59e3396a61866d57d53feeccb04163bb03540c121c4a0f996c347ff6985f462f324034f88f1177ab6f191ebe897bdedf5803426de3c8ecfcda73cccfc3fff8d71e4e3da8cdeb290a1306b571f3a76940082803f0a1cdaf4a30759c4de2011c09d43d406a7e95cc07f849db66e43e3e881271db039e16f38552fba41a77f9d27716ffa02845358c850e1965e6b0b286ed2f2ea68d00581f02f5d347f935fcf3491c4e51ad4e8bc7ab8ebf7fcc16872f04f3352255d160446487719b03bbc5e097cee144e72012022d0ed3c79e9d986dfb1351763270a7b65b07a16ce90340d031dfdad057f6bcab792db7f089f9169f4bdedadf9d6fa73df6d57d75a55a03e9a6fc019f72b019864648d666c5afc0d8e46472d6618f3e6b327571eaf436730323e24442b3822bd637a7e074ac3ebfb2ee5f288c56f7e7a3c193f6628e8b8f0f0324a6139c5c324ce1f8c69588cfb5b571fa982b1a4b5b390612c7b1e4f64e1d8003956bd338a93415c8316c6d171d93aeb3c1d83792f83a04ebfccebce7d3f9c4130301dca53eaaa807498988e73cb487952d1f0731273e2497af33ce5dc532b1ea23036aeccb0d41c80399bef87159c397823f54889802251c6e70ff79406e036c31fb03c3fa7c13bb63397cf16781c3a8575c584778c5610dc3ef7183387a922eb2c39700581f032700bd638038805f0543963f8261086a97607a64b8a8fc3730e074840170446519475700581f0321a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6805820771fb7bf4241e52c33958f26d4222c3d6a29c9396e0caa12aff00c29e98682e7021910400334a0e63ac5a0d5133dca1ae69175fbfa28543568f39ff472470938facaef3861034dc104f1b027eb588740f1132c539281b0c02fa6980a65c5b682f105a1dfb9850219d7ff036ce0efd47c80eb8992653af97b5d1da0f6d5e7f7860a6bf40ddf598403dce0ca0219ffff03604b8724f2dc297962c79c60da88dabf7ca32a8f45dc9aecbb4dbf1c05ef19950342eca4127d8c2ae10167820ce00ffe14ce77c67de44820cd404cdeb3d710f21b0318e4be3372321dc226a217e3b86f13b70cfccf2bb53e3b91c6f6d246b82502000359f29bde13620cdaa00ff49d40c70078287a33c4cbca98eb91f7829604f6d3e40312731040f329a2e278b69522eddbd0cf72d5c0e34388728f676009cf559646c1031d2574c6fcde662f8e2a33b9cb593bcf841ad775d1bc851875d02b401ddfbb3603bc636ee3ed9a095dc8f74cfb56a9140c80ccb2993cd9e14f1858aac9afeb34af03d3934522b1028b066dfb298c469ecdc7bef062b34337e75beb7c31e554418282031521a02fcc8314864bfda5c56226e4c7153339c198fcdf5c1f3e0946e99ed8a803b957eaad12626301e5f778458e223e20ac6ab14a45b3aac577efaa4f6e8c4b1c03711661d2c8e13289f98d539593a4cf60da338a33136be1a7761a837a3943bf9b03d63d0c4b6b3fe45291ff0eeaa838857365b72e3aed4b7b3f6db7055b1e99d69b0381638f3c695e34c7b6f68ccdc8a9aa5132845a1ec1eeb1ed70935071c237679d03517cadbdfe7d40d1c6d3d3d6316d3235999cd51d700cd4bc24abebec8ca2a5dc0219ffff036d48376f949ee2a0f39de2da1300a571acce5a687778955e9d3cba6f75a70c6c03b624874e068b1fb13e7ef98587b17fc2c76e162232d1c39167a6ee36dae219d403eb2eaa5571f7fd9f1f88103c0b9728ff1361c132d5d695e39352e7a8a71ae0b603ad8871fd68b06895e9911c3fdc694ce944af7aa761522c534b3475bda277e9b50330c77a9bcc02cef0424da441f4912d80f008fa58670f4ef83d4b9dc2f7b3ceb903d4cc34f2c364e7a2820727cd2d8d37cf5a055e236fffd8236807303da46e21090304b0ea80294379d1a1306c10bc492450e2af3c132533bf5b308be14a9b4dae64037057c4a5a95fdbd60e926de4d775d009488a72606ab546581d0308fa0904902e037a929477bdea5165273a12308d131b4319e6f7299a71dd6abc61e98e8a437acd037f8a31e02f3de140e74e92e0212edb067e161f9e8454efb2688b4a3842cd720103bee6534275ab6527c8922ca891a47f8ecb2b5ae5ff30bf048a75d7b42ed3646103835c37a54808d5fec60244bea83ffd8f05d209b242d939e6794aeccbaa8492f303d4b8055cb6446e3ec60cfdbb73608d08b06e4f2bdc34ff00db671bcdf187a7e603246065ad55d6fff8fc22f3f2fa1c3b623378e97a5beb742d932da2caae2cfb08031637ee9597a7257fad9f03af58e169bd85445d93277c8ecb59f118d9640eadc103e2763a8ddf982b69fb9d836e03533f1033cb7e70127c5ae3cc42964813bac6a50393f6a4a0d81097c7f5aa8ec20095b182aebc63587f9fcbc41c4a914cbdf0ae360378d74746171d940712fea9f0bbabd48097e9ec36b7caab38dde8152aa9744db6033485067cc87e2d75d80da8d92196d3aa1dd9a05b26ed2e079402e8e033eac6be00581f02b6d530f9e5d128e6cd04d44998f350134860dc9aeae5881c850d54cc62fe446452277b031eb02af150e813d8b4ccd457e450af1876d3888dd3e085939d09b1e2b4e6d7fe03a2395573c2ef32316f4e72d86fcecf9ab21ffff6804479a1b8e1e0e407a56333034220272faecb6e3eb94de9ad8e2246b9a41f920e108637dbc8b6fc4fe3534be7037546b3391086edfbc5123fcbca91820edec7850945e94b686c7a4864e592406500581f02b4584e9f66097194ab9fe8b9fe24b4cb5313e33318c8ebd0415a66fcc52f4464c68b6300581f027932c2774ab35bda0972e212c2d1d148fbc4e8b5fcc961e62187a4e6c255446486207b03c2c99bd19bf5a963dbc76d782889f85a1288d11b7fb0a036ce4a01c5a1fd3ddf03d79ca92a77eb056b2f3d5533822d8d47bcd7fb7f710b5f6f714371fd7ecb6ad1035774380ceb79ed31dd9584b163ae77805945a4a4afc707cfaac6f07acdd6697a033e2f691a4adb217fce1624eb69810d9ed71e3786383c1ea244c53e49f07c5d890349e60398544ad1fe10946d4d4ef0d3f0b93a2075d4161bbd9e6ad3660294a7fb00581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810540f99738b2fc14d77308337f3e2596b63ae7bcc4a0300d1ec59ce889d4590e5dfacf22f10f9029e1b76d16fd7e695501771e4f90d0400581f03bcc73006da49792e109599f2b82ebfe97a595528af99f643918188f51ff058208d1316497d7954ff1ca9d911a8a018605af328c26d11761edf306d9dd8c430830350f29adbc272c92e51909b995bcbee9728c40bb679852cd9721ccf6f49485d6f021980610219ffff031700542e88a563a1a197089b24ea82ec4aec93959218bf697471ab23ae3cc434033ed97e901d134e91cafef57d437742a8e18bcee8ee831f1396ecb333fc8ce4f10219ffff03e530f5a76ba22e50ff41db2bf2570fe9c0d6df76f1e7382102e88168e3187ec703b983272d045f30eae05224de525b8f426e47f8ea0aad3bea7ac0eaa930f01ac103bb4e4e9f53e32f5f0ddd6709f5fd633553a8615b35b484cb0255ae82bb46507803e8e1f579878af35cd4b4341edcb220a6fb259f2de6ea2cec309c1ce1110e17f503f5f4902bb3e1118b647b846dba578ccac33c5651c28a9c175f9e4efbf1bab4a303dd9db2fa435583569f0229e9303ada5b03812a0dfba8732048c9b3723efb4ad703aeda45c43416e7612cc8e07cdd1e631129bea3914ec58af91a9467c8882280290315576a4547af096f4cc5f48bc0c4fde38829f722e0ab495a85ec2b9f8c060e69036f42f2caa1d397f5049973c2a2a15c9247db708c2476e5571cf5c28d8fc196370304b8a090ac27b779f34fb31b9eb07ac2b7f24abf420fef581ff07ae3cb2a8eca03efaefb43d20db721ef908d68bd8d4c817966f2a96bd8d0a74745ff0189bb840003ab99066d786687c44066d3a31ec661e06b6cf8a1fa043f66243d02300d00ecd603d23ae3cbfaffa3b904c292df2e1c636136629a6e1000c64c7f4f3c627ffe010f0219ffff03ef36c81850504f417bd9b7f6aaafe54f57528b1ef88aafbf4becc05c946f318703293db3b38213750aad0bfb0ac7e254d1c343aba0b5903eb61bd5b8e4480338cd03fbe8c452bbaffa72bd7fd01f13a73599554f7750ba38b2944fa9e3ab05e3e515031323f090e3f4cb93efa4c3a255f97e25541a880815a803084c3fe318343fc8dd03fac3d925a9d4c4a0c4c01828c111036a0f28e271b10a8539a570d0ee0e2e59bb031aafc5e37b92aed93c76ba86c168dda5324f9ab45dd37f2caf5fdd3d0cb4f474039977bae3b5d7825d4f48903cdc1ce96736d9f143dc1fe20015f499d133e5d011036fa6253ab89b6e3d276dc304ba49d4d859c46789affad3ad06702656486d428203ad226a4dfa8d2a9c0942ccd192070a3bd509c44fa495c089b338356c3df9b4ce0317be5d819943103809a338e4d7b31b36dcc657d219743aedc2219e9383c1753d03b87c35781141abf16e0044b0fda8b2535efd38110179a3d4352e59a12b648155035331a5345a8dd74433fca1c3bc422cb63c483817d5ea9831f30a72b141cf62d703e209f32f323fbef5d7cb29fd7ac1fc04245cf6a7101dfa5deee306b3405e16ce0388a2cfce25d2a701cf7e1eefcc63dac93396dd9c693e78a0109b4ad4e0e4a9a003d17f9aa703b79cb88e44459652880ecc52fc79ce4ce94f0161a1e09cf2da568e00581f02230ed1dcff4d99880e8f5e3e977639978102f3d76e33929e2dd172c3259c446483854303c445c9a6b079566e0a2fef6e4204fe8a234ff0658e2125a48909c5497dff1e5e0328065266c073e68902187e0347aac17882fea80311bc30ea343c00f336f95b5a03f69fa17b3c101f27c6ab4a01f19dffbc62a2771a6d1d1181f966b57d54c9ad0d032a426f6f3a1928d0b927ecfe688719474720a9bd39ac12823d906f03acb4655100581f030cdf71ef590e49a625dff5935e2c57f5c4cc9d517dcd01f06a612093bf3044659c714f00581e02171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5820df505e058e440eb57776474aa07f39289fbca41efba6b0ebc3e540d664c839b500581e02589d73a33b4b256675730352e2e8b690445aaa7c7ff8f16cc2c62299544464632bab02182100581f03360ab03a178dce515fa0fcd409bef655c563e6da838bb760bded2320e890582041e69f1ac8d63a0672a65b54ef9962c0b5ae6e75760957141a7894d3d9b1f4c400581f03f55ceca8e530b4c56e00a9c25f3b47e125e6b685a7b1e955d48ff6c6f3b04464732b470219409203004b73dbab834663c0103cf6e17da56d8fd6371365e490061fc8546c2438a86303ed6278c8e33abd66f70a73f438a47c69e3902248072f10bf91fd085b7ec6118d03b883bfc3531920d9393541fabacde55e8399792e7c2bffee86aeb2bee3db1bad00581f028fc554b23cd6ad15ac9ce8e4792ff54d7f4613c71107e294f12f11334ec1446527887703e1ff4ca75b921f1c3db67a433450fed318aafeacee12e70bb651e98765d4a4e500581f02dee42c6c91ae317d264c2b011207bb134166f615481c7b87c497d94a817744655c406303a6660365c6d98537a829f2f3f8237b91b746cb4107b0ff3840291c8535c5254400581f02a25fc3fcf65306b20c843b46c7a4ad542029a4e8b67783f06227cb641d0a58202a9ed3f0a29d3704a7e679d805ae827a318cd1c8b8de69066fa685758efaafcd0327b6aaef14268064fa54350754279a2e4ba96da8296a2d2878df7b2f9739be5f03aab93ae0289906b16bbf46a2e8a2356e3e767dc03013fc3a7959598a2e7cd1b40219ffff0304b270b7d9bd1222aedf8b89436e376c504b6b024610b172ada8d690e3590c0b03d38e8a7b145fcbe950c253807f7f0bf26161ce266abfc5efb54ef4bce858966f034c2b27eadd70eaacd45bd5c67bfcda42b660937976a88a3be4d065940ad5fe8b03403d06e10cce77cae2198c0514063a4a39d2c9f8cb250f3fdbf90867c12baa7103bb94bc33d15d60a1795e3accf7578e4414f6aa94edf24e39a78fac5d26779b6803788d618f78ea09451b94af28bd234fdb7501c9102b3a2c021af53fe703d9272d03d7fa68e9db9e6c9b27193accb994ba15730045ad114feb8b66c671acce19b54203ff967bea351007e990393b5d4ba26197f1efb228fd304477609a988564c9a244033c920bc540254ddac3454b00ca52f46dc0bd2a22d55f119723236c0660c638af03901ffb2033af858f4c057b0dff027dfba8193d225e2aa7f33d6917db74b3c7ee0357dc71c9e761f64338096e06f0702c9b78e9afe7cc6ec7301684451ef024ffe80335477f42cb46f67b7a4df523c7b4719cd657b2a623089e8c3163009b7753148303edebe45cd51b3e3249fa02da36120629f2d5649846e17f7d090844383b82174703428ed830b97985e9829e38298aa9c516d0707d6067d7a321259d3a8fac0935ff0219ffff038872c135aac76a1df2018f3c7a81c045f3c9ae601b790f12c41c7d6f03326cfe0219ffff035ffe3fcf1bc8b4315d88c943df04c48fc60dc6fb9e079bf01fa304c2e082ca500326cec218f80657efb737e7869f35dfab640d661a3f1d3152f8c1bf6224b54a7c03087183fbcb7ec093b00f19fc2fedaff1a535f2f58217b5cfbc06d1eb5eabe0f703fd57fb3ac6c3ae9c5f2a04bbc552ca9deee623326ba0fe13a5aa1970ebba4b67039de7b151c59d1077564d3c857b2b86d0e086159e1fe5c601049b7343398ee73d03ec14f68621bf65c8e7983a0319ee9fc97060b872086188c6042ff872a1a2cf6403931a8cf30c9f0f1dc595fdb33d591772624ba4cf49c0ac4f257f15e61df0374203d188269d73cce3e597514132abbe2c60eeb5e2b43802636c94b4e3f8ac3317dd038679fb1393dc11f47f3bc89212478242f96513c32b69a9501349e71f5048f9a9034662806bd2e101819db89d71757a9a07284f6f749fd2be88cd232e6d489c38890328e649c8891fcf67f2a6f863eb4170fca0023837f8f87500194968e48bc3cd9a03de93926bca0f07ee53c913e05aa59b2bcfee4903a52702c911c7f6925ee9972703bea4a97c0736649727987c0628e944fd6381730417fbde6dc82f0f015afc6cfc0335b85a620bfe5a853481897f50c8e04fced55263bf3f641b62e3750c469015440340d92e9205f8167c7a6039b7630ca266cf63fd8a8b2e94843773ea667a690d550357afdea21fdfb49a2fa0b2ab46745613909abcefeda8399bb02545900ca89b4603d12dbf4ee2fc1a8600499307f5b98df8e5ad4e966caf72a3b5317ef27173ce1f00581f02914af06c55547813a9849bfefcf4cc45d0c0962c586527ca802aa1c68e6f4465427abb00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0542e38cd55163137483e30580cb468c2dff1d8507700581f039db8b7c94d83b531518677a3c07427f8c08b847469af757c3959beec7d80582045670fc87ef94470f812e71bf5ac19f48990f63d9161e0029589087744e0eda000581f034f5a0ae7dee0ce3fd41832c2fcceaac2af9e51168f102aa68b87fa007f204464c52663021908410332f7c96987c1a447b0e243fc74c58bbb4162d89efd6a6396a4ce97869a6ee542030c21a0c9d3cf5159dff3c91717ce26c05bb44939ba3abbe8028e35657cdcad7f035117e08552ca49ce8cf39f669655ade8d59770d5e585dd6ef1dbbaec57d2a5ea014200e003e630540eb17d803a5db289b2b492fc8302219ee200f8517ab700962555220abd036e319c31083223e598710a2c47de6a0ab1ae81820cb23cb84500fe0d9561bd8f00581f0284839b67efb16c53d2dd343fe3abcdefbefb8138739b3c04100d42a86a6244648d355f03c65209df73159a7dc3970a29e3e20e86b239805dcc55640b647c4bdba0ff086303f49ca79b7233629df396cde9f3f5c931c2764c701f244bf6d265c28e1135bbb30305ed85f14b17e7c255d94922defe0a7cfcf804a7892d1500cf8bd380693bd9b7030eae1864a2b5abe24bcd0dfda6b419ea82f83a850539ce352357c150499c9f5f030f2e1007b3ffd7177b22e097ff327732731bfea1e0ae27e732f8dd51d2b0cbb200581f0261fba6a1fcb5dba0288abeeabe1bd415846c6c4e362fdef0f5034b663fac446423bd5f00581f02cc0813cfeb7c19794289e452cf6a779afbabac6beec67ae7c70252fe1ae24464999aff0219ffff0307b8a11b54daeea36b118e5153e53cd9738ba87f9084eefa17d1de6a1c9184570313765ceb28ad9619dd08044a29762b67b1ffed77f7b3cdc2f44a5c2feb32ef600358c209d44e5cf9aa74c81f042e4c6861c78c67821007bb676928a07b7277ea2a03c508c958aceef4b40bcc00a3ff1183f5473a5aeecf61418abf26699f757008a00219ffff030c847909c4fb693694ab3cbbd77149c06da8a5cca23b991ba6477d58f52725b003d5738fa4970fad50558167576e7e64225d1cf159736335072dbd18e47fd10f210355e529ebe911d7ecd6204fbd49d788b9ee6ef85ca6cebaec0745fbf93df4ef0503945a4167e3fb13922d73cb3bc4e531aa1056565df0d5c6559ec9e25f677c63050314ffb251b0f36c688d652ab28539569e4a1d52977d3d2923b6b880eae5645a3d035954cc0a8955d27473c64a539027283a52fe7912973cabdd56ca3a47810c4094033070a8938bda9af2fa69678ffa0bc62b78c71dabb93583ed796067b090ebec1703e59c5ae5738c367c918e9eb46d54d6b6eb7fa7c438f49aac35c24aad6f92bf5803e537cd41776a9f388d5af9989b4813b890c8f51b9470733583090f20ba953a4a0372ac027038f8ee452e42a62f80e81d0e5ce0cb30109a5201057366a76c18f4320219ffff03e5af6d5563874e2d9b8385392aa994daf0eb54a784604b6f115cb516d0d39f4003862a4eb099db31b0e5d93e51442ba6506b2a9ee9e2ed64f120be60521604ab4b03790e968503776ff2315420852aa572100094d97f4f8e66bf6bb677a6337ea9900394dfd36f7ae121c75bd8ded1657e4f39f7d9d6c38a13b77a93e45592e7a1416b037e9aa2e107a8625c558798ce76374854cfe3d508d559a54daca583921fc7ee9b032655bd8afa51286eee6120953d88b296eded8acfbbe289c16036efae6bd0e35103a5e0a9a5e954fff5828a269fd08258f577ec7e0affbbea50b0de60bac94a279a03ffcfaea2d935dceb7f1af6a30cd3715188542eb2c5ae1ffb50b02fdddae50f220327672237721130b0d13ed572d2186d120a5840294ba85a6d718423e4c6b4cb59039f2f58cea513ca06a6e93034bdddb07365a849fec8185245d29b24682d7430b303c8b9ae7aa795e49c453f383af256eda75338b14b97c30c4191ecac0085085afb0387cb9f49f14fece27c9d7dee5b0bdbe865bf9af5bd943b87beddbca5dc6324f803eac274110ca18c6516963e58e4ba93b23b009bc80d5a01eb9c166652be59b13503df91791a53bcdd8c853c1d14f4e2ab829caa9cd5a6bae49bfe5a515249b2403d034b03ac38863957747678f5fae43745e2de35b79113da6ab8833571d3297c111303c15f1585899a6e81dbaa9e4af76f5a28d0a305b200b94331eb6eee94c8568de8031c382c08d552b03d17a4f8e39d8c054413d76126bcbc10df3cfeba31410089d0039c60ce7142c8a030c3eafa1f35100e1c6bb12dfbba788a9c497d29e15a68c6dd0361c057a46807ae9abaff654cbe52e989872145ccecc1f51bea30734ce60183e503fd4951ec6cd56c93a0fa38c0ecbcbb3e6d735bb13fc49d43975b04531bca84af030230a17c3d317cc4dc9081a7af33a02cfc3416bf783b23d772ea734325d19ee3034da0855890fb99079df551c336f20fb9a6e4e1c396eefe4d82c1ca40248b3c3a03ef720ebf97defcddbb4f10b62811ce067e80e758e2d58cbee1c3a149d38d9b1f03489b20486c9d101258fbe4561c8ef36bf1420bd712728e5841edcd0c242b67c20362eec9d1aa32dd6f47a5d0dda57ec12c7102c399be24e6aaa7ca34d7a5b878eb03ab642c263bd88b77bba473f098f9875d210f60b9d7b620fe3954a72684e4f3b8034141e598d88d68c24878dbdbd0ff9c0329e8419a42f93df0d20daeb93e22443f00581f02df0ef8cbeb5aa9cc5ee9f5f3f270d98b9f43c2e4febe27766616ef62027444651bb7db03d4f2e4a48996e777a765cc92e5ba64292b16e1c7adfa59555d6aa3a5cf1f9ee6037390ba4e32d3f6cfd7cbda2a4d052d7b6dd59078800901331b58ae1443698e3703606d29eb52fb9366f82a82e036ac9d1bc1f80e5a59919176c03809062738cc6500581f03a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd05820b9b0dafb946ff4e917c239a7f0a7d6e7da6dc30dce18242b913526034d309e9a00581f036ee6ef9785542b50b4f6d7790d9cfd9f0d8b2836316fe86e8fdf2fba9eb04464993b9b02185003d41322374725813eecd063b45df97fdb62c7f3f9b234909b0f508a17df9b7975030811a81eeecef5cea0ce28608e98774d288e75c3ce84ea19936c912838e90c3f039f4433820160766d85f655ad1f2473cda642a1cac33ac36079b9be4d89a2b5b50219dbff03dc97e8fe0f0f41558a95492410720ec20658128c15802b5ec6839439bf64945e038c896782ab0bdb9be9c74ecfd0a823765da45eb67fbdea1f369d40f424af205e036ba27605fe5a8463afd69c917f9a1d994788c9c2411e1456e5007626f5bfec97037708bb872fddb1c91b20fde62d2fe06533d2e0b2e63f9dd223642362bc51bbae03da7df4526c6c05a9d422c9c463767a46e331acb0843e7cf5ee8e110f466b3c5f03f4ce29429f19225408afe3955f0d64c91a88b8b5908ade175c6bc4676c968c6103352dcb615beb38226e1303ae98240291277099e448e2cdc7cfea39f95be187b4036354abf77d79d5d16fcf5dd1c5fb9528eac44d24f285960fb6c1cb75213235dc0219ffff032e28c6d4413eb1af6f3bd2a9f974fc6e7c39f8ca12838611d49f67fbcd68939603ca495a605bd63e4a15d46fa23806406d799238c5387b167316f0702b0e45ad3f03a47162e3ad05a91a091a20a9afb64554a1530aa1cf6d24470c251aac94528fff03a49d9d536e06a840c49f6d455cdc7b5abba7aa22fc4b62c29af13d7c5957f7590219ffff037cd62a2f168823a2818655df972345edc86e2bf6c959fad2247df548d8bbc1d703abc5a6d6bad6433fd6acdc71beb9f983884d9487b9dfff5510c4b92b2b45d857038d02e7a5b64d633fb1fc999bdfc25d7c24080e7838d2fc52fe32478afb3ec0a703397645b6abb0564b39ab27102c9f7747210d9b262c3af98becf07dfd23fd2fee03134f1f2a3c7ce192deda23687bce019c28eb99e6f0999bb5b8944ed7ab97f9a40386d922e2a73099a148c892f8f5edbc6aa2b73995d2bd87f99fbdbded51ed09d403ddfe5231858a8695f51e315dad621e55ebc11c3e3dc1a965fc8aa2d588b739470350ad0a84360f3d693ebbd808781802555b7aa8c8db08f0d9619a8c6bf9e3e5fb033781c057892a3197cb87853c0035f01d1ebda088bdfb4cacecb0b5e3a098a80403fb613c29e96eb16b6ba4cf3dc611ee68d1be7856f2c56c5d43e62ee736e15fa503a4c7cf97f6dd11f60db07fe1c161f765ebf791a7409f1bf2d5137b447143d78703555701eb4a962dcbed361e1a271017a8da14b8cb181c7d9d5deec3c82cf1645f0376c4478877a5f328dc0aa92138d1ff075d7e6ba682f655e0054c7fc384c8131203c51faa8e1abc849283f7344720e2fb55e93c042cc0a51c563f80343b91bc289f038b802e7063833b5e1c83fa6cdf7d976d31637a4426012330f857d7578836192603ba3a41e7aa59bed5ee5187bfd6aaf641264f8ac3757d49eb0f0301a17d24a5b0014108039f9fe76a425bc48d0720365eef43ab5236b716c26346df931515562ef271d34403aa8a9f423710cdec6622045aee838b1300b519a91b63319443d20bad8b2ebcdc03e2c6656680a5589fe76aee89ea8ec7f766a28a61b1791d9e839fb4678afedd4a0332d2be326ee428e20a9a06ff413a574048951e0cd9b4db909c663bacf5310dea03e159c9d3fd3d7df729a2aa079e54478f49e7865b0c0d112769304aa1953a76d200581f03b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f42300424b6000581f033460a279ec8c22de554dc3182adaa61824d73cbc82ee859160f3eb0d37004464da06e302140353aa9d44bbc6dc3c1f49830dc3035cb95068dba0e6238e3a036304cd7beb96c9037251f24e7a88664549c851de51e049bcd6963405080b2eb4c2cce891392f827d032e755be0aa14bb2c246af1f132410b12dfc445952b65ebf6b06e069f4563c2b1039d5d1701f204ba3fbbb024fb76979346b39cf0be17bf1cb1c9e867a478a41b360219fe7e032c6611706c48f7b2358dbf844b05ba54f6d8bbebda5afd6f50341322170a75770389d65cdcd985a16ff5130c447602367750ba7f244c05725f467f62373b47613c03c4dbb9784be0b64584e35107ac07487ef432559638b9d3b2f620b616d24ae3ed0363f6b5de2f7dedf453513d6340c713c52682ceb10b4d9303ea8ca6341ec6242c0317121d7d79a5cfcb9df62b1bc26c28375efaed5aba988c1491eb73f295a2e2de030703d33df6be8ee18d08d1369e83723ea1cf7bd121e9157779f7b16d04163c8e03226ac85f471d12e3f1f51fde9f8e7ac867e8a8ec88f992d1bf928d82db83749e0329f9482b49490afbd856257be0c0bb250255a49120f5d2e9cc245d8dc3f6978f0219ffff03e1d469ddf26d05352831218cabcd30f41e0281ccf6488a2e4ab68a30e403fa2f03f3a42962d318bb5ef280506f25a6f41aedd28cf9065da272e532e4740df65c33030f712ad71eb9961c6abaf66b23432adb301e20d15d48d358ab80b16eccacfb8e0352d2ccf5aee6eb36fbf673f56fbfceb66bfc8b0b12212b662a0cb8dfb095888d03b47424e5823fc0077b99d8ee2cdfdb5654ef4ab7371ce3240ad565a6a2de821a03b7fadb63a33f6e5ab106fca227cf488e42c5ff51b629d6ea4068636129ea6c4f03ffc6c64e9c3b728bb634a87ed4b47c8468c73d7e3f87e50f88f4dc5112f664ea038c061a770078e51f8098882db117c57a796ea753d7b2c18cc2ad2798a4a5b48503c2d2df83ba559a23c2e115256bdcecf8e0c08fe8017c5b1fc0c23930bb6fe7a403202d3411b15787a7b775918ea24c6870666156af6e85bdafa30136396349345a033d817e30ad48d3033a52e8edd8ee593e6da74611e6836515fd233b8e47be17ab03edd8101de29fbb9c584ec0257907a7d456b680d835343617298e024de30b27290398da6f0c5f88cf395c42ff0b380f037e3548c3dd64b2faa06038cd19ef93f049037f33f6c61ea437242aed93154892e24d8d6fb1fce0b91172b6688ccaebafb71903d2f39ab3cf6222157f432085105c131c130246ad3835412db92e3d87bb91b1da0341799195a8133165280f2d56f4ce4c1985a657a6227816acace51af131be88a503edd45928e8a8cc77c109fcc26af7037d6ec94018655ae50b31a41393fcf1e3dd035732cc6d0e425e35b5e51af0b535b70a6cf45cee8bfa0a8dc3262f5626b0d7e003ae457283ecbfa646007c3d94c23e1c89548c071e5f78af654634357e0a53df850325cb686ba486a89b9fa225055b79dee3a9ebe90882d23c6518ee9994c5bebf9d00581f02a081d384dbc9926bfe240f78866e49549ddb367cc06312de4051a554d5454464603a6f03a86d3e794232039f9965d1aae978f22a997768bab4237fc847be6158fb9ac36103c8717d9eb0a70989d85e89444592b3e65d4385adf39848dcc4a35efcc2ae8a5800581e0268c9305fc9834b190ee2b561246296cb6b680a1fc59a8f674cc4bccd474464bfc7df00581e02c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c758208609f3d001591f19e67f55a6a730ada05d58a16ed49aa90d0e4af26e8b95a8f502184100581f03916a2ff16ab2a4468d6b0821ba16d9282126eee4bc6aa44758aea766d340446472ff13021940400317ce56137ee8b7571709f36315bc69e545a0dfd21bcd354b706d3038c60fc01b0330388e24576889fff38468d07804e7227a54810ad22098bd00766515e6a19244035f88f83afefb572299a6679f109d39a24f972f30a3e0a31b4d7044c4fb459db000581f024846ea3864965f068c7a1e19239cad5038c2fef7a6f96be2df7c0726c8af5820234a7144d76cad1e9a966c96e1364f41d9c45b89c0bef99fe1b37d30134dc6c900581f0262020592962ab9df888ad066910097aed18331e601f6547f463e5644215d4464d42c6f03cc410bc8ce11f68dc08a0098a3ad019e93639a829f60a52f40ab112e9157f55a0219fffd032ed7e8c6a5e4b3a53d321594f9fd50bbc0b1eea116530af4be6b0a501609351203792da909f044fbffad917736309c3f7f8313c915cb545c3f1fb8117f79131aaf0343db2e4ab65f08a10755c275386694e46231a14dbef26f440c2e8bd47726a5f203782589e040656b773d017f4d8311165203ca374e6909cce813b2b85826c1926503d59ec09ed6acde27161df9d7d13faaf42221a789971590ab65dafe551ea0ccbe03ca4bab4800ebc29a82de6f82999d9cbd47d08f1fffa0f25e18331ad3782fba4303c7ccdc983dafacbe1c89f345b4a7c13e711d017ffd818af210cd91c2234465c803e3a2ea60d450546156956ff01c5040abf3e1f32707ec819ad4ad04cb3922d68d03d9bd13450f80cff81aded707a75334c11ad5123322c0d2a8ada5539edd4d19f70219ffff0219ffff032fff96fa364bc37fa045da206f46c84aac8ce33db8a404523f372699bf7981a903177f3da9b3aa47f34672c3aba46ed418ef38fb14c62ee355046c063624258cb0034bb7b830b5602cb48afd0f6dbd42684e29b1bba85f56250517d0bb68b8fedd3903ab6be208e3edc4b1aae7820ce283746069f0f9da647c3fadbc74b71d9b3fdcc1033ada16a80173cde20519dc4bab8daa9bf50464adc56962c05cdbba371f8bdee803afbb64e39a6f4dc4e27abb5dc4800675080bce0c17a7008f1b8645c966fe425f03ba2bf90f3a0c31c5a9d1d196de24b013915398c3981c642f3eab19153a2f9e0703c5e36c88dcc0767e1910b1a20acd02fff2ead6d0ec33a47d321e4a7d82021332035577787018acc0c6b97367a5e1b96e8ed202c0c2e4b13fad96bd5bc3813f06f0036b9fa7a6663ba495007bbc56bbdeb8dd9363cb4f999f6bccca68ffde31a73f9603d86ccc01dd3905ae501998063a7cf3d31eb7c2687ca3eea3e3850421d56fa5ca037d72d5cd752673f393dcff09d3e8b787fb7ee562ff4946b68cba586031ce2f5903306846bb80398a46c403cc1fcef3261c631773a7a3ca32bf4d0e1b4064be80fb031f726ef7919ba0bc3e4cca273f1c1edbf504e6c8ac197357f3cb4f61dbd3d30403a4eda29dd36846e07dfa3acf2c9156d08aa8af5ca23ac55f327ce4b47d904b8203623168176349187f758a484c7161498a677b703c6b3ea6520f04654422f8047e0301502b330ce89eafd7b551c8b28e72c32bff998089820137e2ca516ea677c517038c3f8c6b1ae4bf7636de60feb784f609ab3047fa0d32bb7db4e23ca62da251ed03070b653cd0d44ace0336041c66a790d3939bd214d7b67a634a6a2c98d0f6ba8b0350052cd6378e3b167652b275c2a46544650a515cd1e6905b6e53af3223b2bf4a038456c03de67a02e10141949bede405d82304e54dd74dec80b7334d0d6ac3bc5403daa8006b793268074192ec94c4b34629768af0875d9b3aa169820cd9079ee92603d3f0d1c1f4b2e053ba416ef997ff3824109eb803706cabb95cee079ac7f8742600581f028e2682f9e152abd4b9072219b775b8b3205a2e2fef9d88aee960301dc216446507fdd303dce52b06a53938cc38d89dcc40f751f3b1cafca56f59076fac3d44105436ee0c032233e42a43771b003829be6397d74fbb0ae336ec09b7727d4eecdcfa5fec3a5c00581f038738339bb94994f0095dc2c78a94a027c840aebc9dd225eaf2239c3f86604464b2233700581f0308b37f4cd31e3805d384dcaa8413bfe4a7dd45ad68c5d602884ef89b03d04464a982bf00581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30582059a00a0d3de6b7b8b5b9a742d7ec472a4f4f92b230026d03eb4d2f654087baec00581f036a34a8c9588d69c2defb8468322ab6448f796085ccf51dd57f1f659b98304464acb7f300581f031fda9ac739de0717f01f7c978612683d305211e5e7b2d103640151f464204465601fe30219c421034e09e44d762a16ac3956030d27379da1e315af9a6337006b217778c658c3cdcf00581f02fa3d174257796f81f6082ab6bf8161a68a3d13e1dce836682d5d1edccf79446488c3ab03356b9f7e1a02805a50a5e78ad3285d970947bf37fa2a56091ce816c9503458150353f7e942163baf43db1c009d3ec2f1c0ae93fa57503c582dd18d31e13ab6ca8d03e93d8a12da7f51f57caab63b3daf05478cf2cd3763ca35b130ce6b341327ca7703a61d7e3b5deb09ef0ce8967a12ff07f31cf12d9c59fc973220d6ff84a21b79800356795fcf438a6a6c5e7dc6eb6ac66dc5de28d5e387455f746827a460c66900100353cc49cea3765a5f70b2abf7348e4eb2539e391f654e19e234bf9f7ac4974e250219ffff0219ffff0357befcb5458e52dcbecea134856015332da37afcff2b1a1c3204439c64e55c00035c02e51f269e030af8e4373a62323d63ba214a5850ed7d769ef062531a229c7f03eafb25b3bc2212740108026c5f5750bf0581b31074b08a0e51687edb7921e83c033cf2d8bbca654d60ef4743134b3d3a5c834480f001b2c54985dbaa91e6c4373203244c9f81562bc5d3ddb7f2be372aa309b0e231e433f2cb0b4e34656582b97f1903cf6c101b0e05495655eb019923aaf6751abf8f3491c80163b4913c1b37d5480303d61153ac613d3eeb79fd004c9ea44eb9a9e7910dd8084904a4aa19bbd8abfded038d93ab62891b329f8702743d864b6d8e6567a18e35329bef64e76b6204aed17603f7018251b00fb39717982b47c1cf6d40299b624a16c812b9f70eb24b43cbdb5d03aee06b56cecb31654f6fd5c3dc481a8588cd61413729cf2dcb0a64cef2e87359037a7120165ef65f7165c7d2a43480db0f6404efda6f6f81fdc8784235f08d925b03fa789331f3499fbfacfd6f79f6270cc2a542ef5e8ea57080266ca03acb89d13b0219ffff0219ffff05581e039fcc294ca01aa2a101dc636cfe687ef2da50883767662403c96376b520070119084005581e03219e6c0ef888e581dd55d47d5de28a013c740738997bffd9889e78ac60040305581e038c36b4ea1ca9cfe3448569523f1d3aec026addd6b36cf306d898ebb1400c01463a5a7e7b33980370d2463ef4f32b655498f057ba8344c2205657daa0f51f9a27d9b2efed3872eb035478225417c87e2261e5c99479d8a95633f3715e1d1786e37ce41e23e5dc417605581e03fbb9087068f2bc02c3ee40917e41bff21c7f975590ddd009a68566bd50040105581e03719eb4f96bb3548cfb1f9d6e55a51988ef3b1ed36246901698f2f446d00c01472af574a3ea6ec805581e03e85588437f7718ff9db974d837211737dde00186c6441001bb2377c4d00847c8ba735dcf400005581e03a8b48f10d8b544e14004634706da38cd08fdae01c8647c4c097dc9d950040202199dc9038c928bfd72904eee8b318eac682d01c11203baed90f035e9a4e387e2fde2ac770219ffff038fe6c36b52fc5ca27a03408995bfe32ec6e7012f9aa3a121fee61d4d73ea564d038d63fea4966b7cd55409eaac6b1ed70523b0504cdefbbfe269221b34eede64490393b269c1d90efec3e21d03d2d837ed8b3e4b8c9e66ec51f6fd6c00d8eb3da59d031d9a6c6a046032c9e69a2913e415218d50cf0ed220bdbbfe6c42d133c046c1a8037454fbd196f75741e00b8a0031d4d46095258dc6e68da50217742b5dc58464b20390af2f9757f0071be6bba7da7d2888dba8a2fbe249c0fc77052022053581bd2c031e2ba10b81d9a3a3ab0229ef1688447cd9e2df95de4d249e307be8220ab61225033b0b327c976cf417db8432a425cf5702c740bbfd4f611751cd1fdb86ff269a3603fdf32f004e75585e800180fe253f655d95e53e0d46c730f72a6fed9ba12e0d4e0373843f6e07daf778e177457fb5fd33ef5cbbabe108bd2124d15c72b15caffce403ac96325b7cb04f1a934039ee24c01142e49f142b63088a2bccf35e849954fe28034894175b928347b66f6f7e570f52156f095c9d04a59a16c40a97a37f0ccc918c03ddacf5d7f20e0c92212c469a59dcf9e78f8004668b0b93b937bb1a61f82c59080219ffff0361a7c4d3ab90d00973b6ba4d4b2c7d214608be2939154f3af77d804fdb75bb560313bb3382d180fed14fcd45ae48260f7eceec80bbb8ba711eb87008bb8de39c7a030fca40558748f35c5782b70cca9e15daa832500ece0029426af1c16e8b35ec23037951b2cee11965ae4066a37168ebe10a1499054dae7287dea13a845ab455bcac03eddb1d42c2094460bc2652a34cabd5fa8c07495842032941dc5aba4bb8447f19032b1ae067de86964993d432f41a11171e8564bf997a1f90507d45d7979634b7a3032f78c89aef7dbf3a49cdb1f612c34071df1a89bb85307802973bdad87824892c038a9ef7c2ce557ac2e039058542b9b486125406427cd38c4d98f7d167a6ec527d0369b93877ad423ea8ba024572a05a10e63792dc3e6fd415888af7f79a41fe539e031025ef7347473e6cd0db900d3bafc540feb70133d94704cb0cb04dbff1045621037f825c8dbf7f33c31542212a92f77def93bf584b06cc3d9cb42b8838da4910360366c27da8187a18239af3c65cd57cf5ff7f4c4d2bcf756482eda9675bb2359e80030eed9939655dfbee13d35e615385676b8fc6501493e2b3dc7fef20a7f27675ac038e376b5e0f959469c7bf24b545c390a1141db846e42c88db323d3e966e3d5db7030b313e6fc69f0e42415ec429aa83f4b1720eef7811a500d0731e0876165b4e6705581e03d9bacddb3bc4fc89f99090589fa72accb6a0cf15b48897f63ce20c05c00401034274b4ad3012b728f37e13f8f2d738800d7554079bfd318c4e8ebe8bd4cf6a8e03a15e01308a0d5bef00b208eb1c58375f7608fde0aecd3276b5076ac957bc057605581e031e810d2ecc9658b2c821e01bfa4730d330b7ce329f0ff32ce840664cc007011bffffffffffffffff03ba47733ae69fc133b38e8479a4deebfe1f9159f7858994b5b76dafe14c9c4b4705581e03346ee00793b023840cc7435ae4b3e47c23262907ff66ca6629d533cf20040105581e03f03c94c81a1dc2926878119917f3555df4f071aaf2c153638bb89344d00c0145023ef6764c05581e035f0d200dee374048def25111c57102624257c7cd01f2d6885333a65c70040105581e03d294f2fdf747bfe17ef533aa5cd3b1ca243236c0693804ce1c37ff1f800c1a0087e1a94a01f0a51d7cedcdcf562005581e034a2d12e7961da343b2f1ca597d71e23466b4ba001c1195f9fb46464fc00c02465573d601280005581e03ee6f0026abb4e79802ebdb903cc445e908ba71204221fb023618e95de00c01462abf0a4df00005581e0341c03158b993f5a3cfc507a67470dd681b7f4f62dcfd145b440d03c490040205581e03e69794186451c6f2473184d90f76a0d9aa4b53654d7b2dec91675ffb100c014743779d6ef68be003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e033a687893ee2d03d12b30ad932620f0ad2417cf1ab6df2a58e2eec7a42007011bffffffffffffffff0219d5df0324813050aced2956bb4c810ba0aab57d0ae4eb839cebbb8aa86cf07a1c3778cb03375dd36ce2cbde7c0e58a0ffc61688937464bd74b7c6be3ba6340dcddf7ba499038cdcbdaa37c747512fc715ef63741859d73a2d7255ff49140daed8bceca9b3cc0322a80866a6bf301dffdc896259e04ee3487f340c187e2ef2204ccc2383af8f3503e903c012859c02f482ff2b354ff5d1ceeefc55e0e117fd14d6993ca3dddb2ab10356d55dfd9fd801a4321f437c156eae7d27eccb95178d1c2c13bea73b76d7efac0351dd32b8b5bc75510e53110a5640ce9735b259dce779617f0e6435db882a63c903de99bf62d66189070aab6383c9bb4f402580d78765d8386fe04a6fae5253cf2603d56f88cedbd9f80e029346c7843af53c5e6cb590e27c51191eae358bf5e6f6e803f78a4d64239624bce362737f81a701d148e6b8733a98abe06808300cc6f7c6590219ffff03fc158954cf65f3c0378731d6ef018ac481989f499448ecbcdd7727e2da65d1c603db8bd3532a985638a6c1c225f37bee00c1630c990c73125b56120fd3d7b62d3703a64d8c1d3e5829f20c6ceb9928c54b0bece074ddd8089d4b182c587f3a41fc090395322d9476293be6041f0cf259db5cea866b8430e23588925191d61f5d32c8db036e34534d3af3172452bd7038357912bc158f75200b50a45fce703c8fd0f44c63039517084cc7117746189bc754f1c9044482cf69b281a398af7ded90975788ec9b03c84665f3b3a284d759a30aaf3c54dbcbc9040585920f64da93c1ff41f6d70659038defb9ea386999ec9f82f4f74576807b9dc4e0f9cc3aed5549448ce5334c5fc7033cb8afdd26f1119817c2f3b03aae522ea36a7a6f97f67d42ee359e64dd6bea3203b37854aefea173e9a8c245fad7ba53b60b16a906c64d7e81484d39526b9b52b503a30e346d960d54e81f6129e3b385c6e82c8ccbd41257dadc796ae2d3cdcf07ef0335f5a291ab536a3457c710f8afd8f096f83aae9c658d27b50960baa817cb49cb037e33de90640b26f3716c4fe63824cfba2318047ac12a84ceab9da971606151090219ffff03f1ae1de865562cac705d045295c9338f9feb63e309ef96489aa0786a52b8752603ab8aaa1213dfdfdf49c190c57bb8093d64b3c29c31402f748219d9f52a4f9f4403accba2f698599b7430fc0196bca0fd0440b7eb8b6e7db539a3c19f643a10d75e03adcf4855bab3002e5cca2204c2237c0ec705d1a91c1260f44711b4ba2b69e02e0219ffff0383785f8e75aab156dead532416b86218a964ad76183e13d5fc8ceb5de859c2d503594148431cd15999e9ad76297717a3b50da24b4bcc6073f15d3132654994fd4c03ff8b1abae1c6b866c3cb5ad79653c81fe48fc4fc08ca6d9ea68e6164787d05120359c15267164c89040e14e906abf0ecb0ca0f4767f00a1ed842316b9cba5b8af2035327527018d3c371edec84f5cc49397ff2d60a42e677c6cb0a4fdf717c71093803bba23155166416189664dc89b96fd91da00ff15fcc59026564ea8609fae5bc44032219b34be01d9a26ac3f3615ad5945d6b5c9eb7b3aa1617028b4c095b21cd58c0344426beb6dc5854f040000aa6d0c9399eacb1b6e7e3c72f2a38100077b8355aa035ddb5c042d95505586baa0803c4acd18a962ad7860835913861a6dedfc165ec303346d4068fd029327e86dbc13b1248cee4ceff1d7c8de8f29b3e338dbb4fb7de40357eb12c23aef9b9eb730e2098c7be2d556140faa37c8040a7c49d3dca344564803e4925cadf461acc722853a8c5b6727064a2c5fdc496d9f6eb7f90affad293c470382ae66898b1d2924d45d8ff6068e6a6110fea41c8df9fa03d5b6aa2c73f664bc038b511720ee16ed366d354f529c5d3a6c3e4240e2d8a8635fe69602e86b59b64003065b7f527a9c89ebd6c465b4f6ba8f8e91727361d62ee817e782081dfbb303c2033027ca943bd81dbe190e167a1b362b32630434afdf209bedb39afd3a6c0d8ab303ea26e965e85df84d74fda0b67a1244fa0305c0b86df827a01cf4e9733e93c42503cf6e514d974ea226483c19907341c89bc9b0ef6fea104eaf75fad59c40fb0af2036cf90cc76162d6efd4db12f4b385003714663718f013b7c71196cefd6b1578860372b469afbfb54ee62bfd5b911412d793a86e2b50af1f90dea0fe2897bc88367f03453e8998cb8b19b4c130c0d3db996c76118c9161af3da66a0d669e04555a1f3f038c3a71d08340860944a291ea149d58a3506d1bbd4cdecfd2f71b7279c3f05088034f1a6ae9c1528357ef5c51e0a88efe0598b06d60f3534b9cd385e25350643c77030a4a0aecc787b5c1774d0d5f2c322a78b41b105b825ea8fcff8b5fb0f7ad6f2a030337c30fb4b31bfcc8e7bfa838057fe3e4affd2fb5b5356390cb34d0629bf6eb031b5a64c25ed5ad83c356f6ab34121580e9a93b28786845a1851241d809e73e4903c096e0dfc25882b772d2da46052b2eef9c6e4ae78a0f989641fd92de2a93f88103e15b499aea3790ca4aa96872a0b000e0b218cd325a650c451fd3ac3eccb4170b0395346a8d56a3c5cdbf4eeba6e699ceac57cdc94cf689bf0f9e218fb58aa0f9ed0307afc629b77d576e33a91f4129d2033d748d12398a7dd5955ccc2b928ba1c51103f2a30230c0455baee7d5ed7f0eaff44ac6db673bd6dfcbb2b4342a380fccc7e20351494dd75832514ad7f26e0a3510d7c58289a63ab18893b2a7e1ebc89a3e424d03af3fbf7cfff29354145f9f29cac3856ffc90f0ce3555c525d5ec1ed2a8496539039b1dbbfe18effe58a0b50786efd0b0eebf19ad1c62d6891f30e70fad85df0f420317f7cb3b583e4244283e239147e0a2e7c759ea6010ec522bd8a73719f0d9b403038341d16b06e027c69043259989e7b8792ea1039933811b556fdf4881ed53644f03ae26b08cfa4ee2d5317d13708e3b637154a0361af91b9b0ccc88190217296537033f90ca2f3a6aa57f465ee192c50a8775c1b3d4b856305faa6f87133f9a513e3f038fe6432949a7e950c18355cadc0d0e1d82e96c8960f00d7e24525ea67329dc3003672e1efaee4cf348fd4e248d142de4f6f20ed89e794125efeace618e66de152f0366d4d14b855411c61907454bd2dbefee9c33bf51150962c32ab52ac8f7df82c503563a70791668adf6f8b2382836f7672b14116a5c079515c701b13c030df70e3f03a8690f5d0fa17e6b14e8ea058c966813e157c1c6d88b55e866a452ab40251619039f74371125e8e2d5cadf3772108ecfd80c7e2f59bdb8bb1c1be48dcd282919ac03f8204051c33caecfe6e8fa1ccc8bc2641ab3e6d540fc852672c0e398dc42ed08036e5d5ffaaf6d67486171f4e7f647148e03120498baa28f8da48776d352982146039fb623d1f08252abdf550de807f536cdf9b4cf9894c76d9b03cb836885228db9034adca10ef93b3030d3b5ff67edaab7e706d337c1733b4df3c4ab6ae2176b4d6903dca857aa8cceecd8e29f95e3b175a4df156442053185084fb10ec49f8f87c7e7030b49eedaf543deae0e53facf145533c748ce2391cd04342797e8e64ff12660b1031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03e6d28870061ad7bb64c8db45136148f78c3fab99f25c7e56526293bf7007011bffffffffffffffff05581e031ccbdd90e2ba59b8674d9f22551cb117ea015f58e14d7d6e50c05576f0040505581e03848555a1d9bc3545fe0c2aa6d6a114c90b19d18e1769d6f909d48780500c03470183cefc88400005581e03552b253d313a171a7d602ee35295af9ba8af493dddae945047b37448a004010459029260806040523661001357610011610017565b005b6100115b610027610022610067565b61009f565b565b606061004e838360405180606001604052806027815260200161025f602791396100c3565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100be573d6000f35b3d6000fd5b6060600080856001600160a01b0316856040516100e0919061020f565b600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101318683838761013b565b9695505050505050565b606083156101af5782516000036101a8576001600160a01b0385163b6101a85760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b50816101b9565b6101b983836101c1565b949350505050565b8151156101d15781518083602001fd5b8060405162461bcd60e51b815260040161019f919061022b565b60005b838110156102065781810151838201526020016101ee565b50506000910152565b600082516102218184602087016101eb565b9190910192915050565b602081526000825180602084015261024a8160408501602087016101eb565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000811000a03c1a18317a6db4f530222585e6681faf193008bb98da3a79c8ab238a1008922d60312b59309167646b687781c7db2d6e84cf9087df4f71ef9d88fbac1a84ec5f066030209eca8f46e3830b1bf87d1a781e79d264631dcf0f8fde8504a9fe68fed8dc1039568c1f70c9242d3b51d7a48b4879f21e3aea8a740792c1d414c1286502f2a5703a607ee36e3150125625687cbb83b27c14de05e19fe14f064b9be50711db1973703fa1333f8bf7a852cdc34f402d147673bb089f5b525cf6c077936c5af10c3c69f03ed0f1c18ad15a1f2c1fd28d7c0471991b5ac523dadf4a1572f38a2dc6c89d68403bd4128affe7a7d3b84ab8c16193c1f6b5e11b86d17b570ffba11dce81937d3a203725808a53ab8688e79e839aced559e4cb6b10d613320af05fd9f481193ed1fff0302ef4c2b0668b0e9a591d04062518c15e25c06ff7704e3fa9bb9ae03a6d7658c035024f0bb869e9db780eefd94e7b433314d4841afcaa53576907ce088b7c489460363500f054d6e68a6ca2da8ee1fb377d6686cfd11bc4c80ad5cee00b7e45bc0c3036075f3c6c12261c93d09a307435def9b5a7f74b25480363d111ab362d0b114200383737947a21f5aa057d014d0b7e0f6d9ade5c73dbc4ca9999f643789669e75fd033bd6e62be05132bbd68703624f47cef95fde704bc86872f252c06249433fa6500335f1791d829aa88797fad37f69c51215d0da19d6cfc3773275c1efbf14177031034eb7bedfe7930088e87055133e9f6843c1d25a4e87494c339383476466ab8319035ed76295b86f9106b58b6452278e3dfe5d070e89acee224a036437ccb906d0a0034af16c65146a36ce2497793c94c75aafabee3baaea0205c6e550a0a91cbd5313036ece6420c8333c16008e51b74585edadd4221b271a1693cd72e239f59b13410e0311ad5aecb181030f14ff1a31995d1caed9b9e227b472b3f0ba2c2e0990a2da1a03c5cc638dbd4e3b97f5cdb398f55a1e148ab2df52e8b0a184fd2ebb5da24223a603f5693348c0912a778f40f2d748f3100102123d82117216e971566bcc149ced750378b8354cf7eae63d801a73189164a63bb8b06302eec1b5ca05a3ab9710a0856f03b191949a6cc3684e4501da3cb680257e28dfa28c88759d2146a31d5ee5d2807e031076ab3b545b937da77c15659c31c5e63e2a9a10307f6dc9e84f6d7025e8ba7503293e769f4448ffe01ce8cfbf3fb11f31acf425f9e19e262d9c1ac187b635f0dc03a841e4c07c725e8c1040eda5fe3a7f352ea8402e3774a177862bd192a78e8412014104030779d6d849c26731fc7ed90da1e7e823bfa939af187c6868c0a1bb2a1306f4db00581f035ac7b36efb2f1f251e2a3754e0814bd1037cb659a7e8ae20b394f07f4960410100581f03a5404df13f9316cffac669b95296390285838eb80ad112afc11fe8ee045048448e67d3a66e000000581e02c98d6926adfc5de709af5c041d585d375242e759ce3c72c5aff19a7c795820371b1769945e149626698b6e6adc32181d365ba62290893508167b0c4525e52f00581e021ff545088c72e1ca8d50fc9872cc9c9170b9de26fae5b710b57774947e482386f26fc100000000581e02a3b3ca6ff696e22c11e8975c3804253fce786bd59516e12727febcd1d24803e2c284391c00000219046000581f0310198565da3bf4fce0edf038eda6dae6b730698f5b80ed27e3f0eae0996048d3a2e233b8b5000000581f032a1564b95e5bfe3d44547aa03fd477967461a9c1336703b244bfb62ba70048209ce08c962b000002192751038c9a1b26eb2d947e2451b69bdcb888528b5326df276f2f89d69fe8fcae5ca2e903266873704ad8980de9a8dabe1e858f1ecdaf06e4e6e4a73f746b64454afcb11603ff6317ba52ec4084a28d1a697f569fdec35dc687b814bfbb0685555098d1f97d030d89b2414b4f0f9db5debfbf16c0e2d8a446d052521f111c907f8234ee12211903a086a24343d503f35b66f1e789b7927398cf3bb9e873c021d47dffa7a402ede703f3a8dd32a59e70590c3a3f683080b9f8abf25df99f69a1a038079e16c4ba34db03aaa7be505224a630cec4826dc4fc49ec3e36ae7a64d655ba9c26b8b645b273220357ea1c11fdc1772a54ab6d825fed36a99314310e387d73ec5173f0f94195e6f503ba94a714e58cb59a995b411c4d3ca2688e302f5f774929a6a610b65f028c8c0a03d6c16f2829a024d16cfed43bd1756031cc4746cf788653018cf1d3c35511f31e0358f3940c6f24318928517cd7e9725da207f9f905060d6cc42f43dc7a387459610320b0eb1f796ff2feeedaaa6704bacbea58cdc63856dcfb5a8e07704996bbdfe70328f8c412a5082c662c471522890eb9d805ec4cffa6a29113c8ef6bad7f0420840219ffff035f5a98c544b5dd981697da5ed5e5fcfb358a4e23879a5d09a4b86d062e02ce63035c6a2e30674afb869926790ae894479c41f42dee191f4288b33e13b9b106d519037e7002682501494763ee6ec7ce9156742a674248a6b5b0afe6f54ed2067b3f0c036f36b5a08d2d1f03949e070c4795a8ca2ce1ad8a72e627de168138fea5afc84103401bc4ccb26ddb703fe30f1df0ae9b6e0506a26f252c87e8b2d80583ef085534034325af00945c77d5ffb2417b25698fe2368b55ec787361e21dfb67d9c79c84080316914a6dcf45c768294c8d8bd3618b56930287ef3e1a7f2ee73f8643186bef1d0372de8629aa66dbe5b9246a338813ebe5f71f34430a65108cba730754ff0314e1036048b027ed3ee3378fa4ac51c98d566537721f531f1f62ac86b6f35f43ef667f03bdac369ff646c4bffaa5319ba9a52192cfc798167e20b492304fd0e25edc96a20219ffff0219ffff03e4020cb5144baf44f0d5afd9ee53c5fe0760da240138537ed847fb275a3a821b03e05bc9073f632a41319ef3acf2468551740a6c66d15f654610ea68fc2ae0a8ec037b6d73273fd3f8a1ac4fc003ab9d4433de4aaa8393b2462d3c292044189fe64a03b8789d66208904ea517b314bc91e2dc6ba0f88c93d004b34bfbdd9e10fa9b3c503c18d07d67e26ea349604212a3ef7f14801e6356bd5b2b30ff1f41c12ae3a49f803804e808e474a8cd482babac84c88c6c03441bf761fa391c60653a3fb345f5645039ca5cd78cba42fd186bdd6b8fcbe7906ad3b4183dc806c7fc2db5353a2c16c2703537dbb52a9d9379b679cddbf192689ae7f8db7ddbd90d34a5262c9fcd465f8ce03e0e1bcbe5af2235549b3dff1b5fe4aba75d9a2fd61185de5fc5cfc9a7e69cf7803c89ba1a2fdafeac2903d7ef0553ce73f0b290896814f7ebf411c54c52c49cf6603e70522867ece5db5942c6c925bc0a666cba2bbea8586a505f1f5410a857e837703249934f6ebe1220beb36a410b96b93e07a71e72366c582f6885c4551f29c0bb1036dc4e43d198a9e553bed2ae1536c466fd54cfb86dd427cabc64d80564f8fa6dd03b1cc746c01ad3b36b0a0f2d27c0cf3919a8e1fd184973eb4bb758e27c7eab9e30332d91cdb1db1d07d1a9f1892a61fbaf322a8c5ef257212ae59950efe57c1200d03674099adce02a17670566a6fb77e70d8fb416e86d356f19b8aca708a5375788603fe0e416a522c08084324ec6fafd4621ce8504c12c24f9f0d2f4aa0144df6cd9a03d04457991d70a129b79c949c7d8c41400a90874b4daacb51f4a95161e4af134303fcd9fea17e4aa88fcdc34764ec8e0bed3e3e25bdad1940acc7d2e709f25597cb00581e02213c354cfd4d136d08551338c9fcb870304f8fdc149630a94c794eadcb480879c8692f1c41dd00581e02ef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54b258ca5559b11cd702f363796522b04d7722ea560219420000581f035860b6f8815b28784bad9e97ad031fb95165fbb4d1471933c3dfff902600482ee3ee7fbfcf7f2500581f037659c769ec0abb52934c442d099ddc891b2795b34a3aeba550440bc67fc048f985cabce586000000581f034f943fe5b7b0f0bc730f99273895ac9796e6ab5003659ddf8e650ddad820482a303fe4b53000000384cae4e596e0c953c0e655472e21be9a92e3a0c5b7b522c66e279f2a0960aca40219b02103a9cc4ed0d136901c49e984c7f4e1a3c8777c80730fbc01d0a0ac4d52cdabd71803564e5ab64b07ba49eea2c158b0110773435b91569217308147a792b0c869e48f038905e48b41887238ea68587b73aae6e7972bf66d89e488f7e8653f10a5c24db30355f87e56b72baf5c4ab90ee1a5e4ced751867272aa09dc146ecec048179295c303cd8767b5f362cbce0fe41d0eb31e9c4c999fc7a0fcb05fb2057aafa146871f090399d830b36568ccdf1f5994c0b51f86366d093a3ee0bde916d8ce8252d693e6dd03cdd5b5f059ad5846a6635dcac95c22469f3dbc2a7f2b948d8620423d8680eb80036af4d6aeb9e7b7849a5552e413f59354a894d1fcc258e94408d7a72c60297eaa038b32a30979f532d8696bd0602dc9e5571a58f638bc3777ccf735178b91f1d96003c3fbc812cffc3fb9cbd7d88ac5177993632d4e1f63fa16cf67ab046b366e315203cd9511779ed5158303e882e31d1dd63dc128dfd040134e966f4a0a21d795c6da03e877565b10229ed501233006ecdd8f10ac6a1fbeaa17c4ded7b11aed7986a34f0302a6223a96ec8a9bf1845f33f5a877bcc46cb7adce06d229bdb90820b6d5d1720219ffff033b93c698f3d3784ed35b5cae8a958b7187546bf8421d5c79d0ff1e5605e0a95303c1d5410728fbc91d3b192d4d59acbb17a028a1bea8f1834f29188303a9a3082303d519d0e0468919d9d10499d1bb63f7f58c74f9ed8d1a2152884ae3e2c417d63c03879802ed93773d6f4eb684501c5d9c764018de6d3d75646312abd48a4ae6778e0219ffff033efb0b73af8817c8803624724b7281eb02016958f386cbf0e06ae4431c4430f2033265caa549e3a8a469e002e03a7a35e223a2ae1c8f86efa26ee2cf7afe8a49d803cc6e5504b43ff6b3615839957df6f4f6d379b60e8b272d955cdc7c01aa53159e037797fd304fe8e9a61372c11a9df916cc677b69fcf9cdc371d57ad9444b57249303b03875aaf2d6f25b9c21e7ac6cbe5c36f34dfc71bb899e38e2c7d7a0afdbf775030ef3d7f392006b6938c94170c801a85def295b5adf48ed633ad06b0d9df8c1c603dcb99060eb867c617e0429b15b7807ee3129ded43d747259632b0f0c90e05a8e03b078ca655ca08fd4613993a962eaafc0827bc4dbe43423d50adf163adb62014503c7cfdea727b86db50ac1919f78eef1578dff81682c4d92c4fb8dd65c2e3f6aec031445916639e977df2638717fc330567f47671f686dbcc94a69107a372cdb54580219ffff039fcc8d50b827d270f8c3f53487e951c9df1d4160744254c46a30b1ed843c50d3037918d3abc2b34351185498d1d6a40904f7c9ae341a7c8080143c4d1b8ea2e093030858cd96717f4bab7513eeedc5382f10669d8be9eac1bae2402a0c70401ea48d0331b064a0aa148c7c18610008966c7198a52de1a8f9cffb720811d50d0aab3e1a0312c927708f377fac13adf0bc19d7cd45d9469d22ac82844fb8c803897786037403f0e77b4a60a0b42dcf5efb64e7ec8fe0c28515dd0d3d13d3ff942de9ef365dff0318b8def405f5c8bf32834a039a99b828a3c73f01c4941511889d1addee953a4503102945023b16baf72f8b759c074b4077cf538e654a1dd6603937ea58845efe020219ffff05581d02eb032a47107ba73de5ad5fbad17a5e413876d61ebe2d5e44cac06be3070119029205581d021113b16dbcafa9e399ea15f345d14101b184beeb19419faa46b0a3b60c05474904676b9f160605581d02ac2e71cb478a4786d95d67f2366639110600d9a066f2664375fffb87040105581d02390446c74cd1a59563540ba85adec9435ea03fff5a2c93f95e59252c0c0147035432502790000219404c05581e03a1dcff47b52f4b57fff309f199d76051ab054d1d62a7efa2ffc0ce2200040105581e0385c13fb7bf478abfeef827eba281c346bf8956dfc0f1f3712a8422d6000c03464c7466bfdfc00300e83d88c1a25d9271b7ad5a124efd4e8b426e4162b44297df76ce1275099547035b9ee66ff9c458d85243d34028615d6cde147bd17a7144019e1ce9ca13275e9302193d3a03fb495cf53d9a34b610e6d12736d6abb3d4ffa6310de6ddea68c54d0f8d2881ce03c8a5f775d821979a39eb4ccf40b17bc2e376c36daf2b1a86115f1f10da032b680346c97464db8a7e071aa4cc5f8cd53062c4777d3becc77906854b87bb0d96ec160219ffff03e278df630df4493ace2b123d67cf972da5b6d9ed5746f9705e3057a79ca15b5203f92b1f1fcd8812ea84a559bff9f5d6aa87e150ea8b4e4e14e444c26c0e6a1fbe03baf7fb72799b23e48c3910a03ce715a1e3f4113533993aee0d695a430b3d26990219ffff034101677f9bf088776622e1ed3a723577eb301956f3f37b3a43a21a8017c8328003f10b255b3e7e357ab72f1cd09d606fe6bca88cd9ab581834ae8a6e9feddda13f0390a8969ff014bacc58b338531f37cd5788f84d66b76575cb0d628033877082f70219ffff0219ffff03329b728b13e416cd49fe6b66b04733e6ad89389888470ab25e3ffee78c2430b003674c20534239959074171a4163ecdb093dafa27df041298d8eb0523da6ecc83c03376b734575e1c4794a55e5ef75267c7c9a9e0f799611f5296ef0de4bdde2c123032678c0216e5d8312d788adc9b416842ad3deef463d1e3a6b42b4e6b1f31feb5103008d7174f85d9363ce8db47767014960791673265809bd65cce49411c4f604160332348525185e8e8eaeb9fe72cfde9c3db8eb647d78d0beca59bd77160c1c300e03e23a415b0dcc8c1ac65074187112c9ff87534099df9be6f753698bf413954f5103bef04f1bfc9cb65a4941d6d4f9ed8b703e8b00753a59638ff8b7970c76ef858c03c5de662a94a0542712a27dd2c28975efc256ab4547b1482741a45faa436ef08903255ad8f54cf2b75ba487df7e876eb83436297dc7f483d1ff22fa5daa9716df2b03f53843dee74267629eda3f1fb7bc4ba0f0fe186db0537f6a764705417dab7b8f0365239c9a453fe99b0a95155957925dbb320d7a1c12090a1903c435eac6a3554a032e59d56eb08330b0514a2771607d76298ba08648c9e76d42e0f952f1d5083d6e033ad48d0f1f1e9e410043cd613c0339aed0ec3e71539e7eaa581199025fb0a3a503b2fd8ff26d8838427ed0ab260e9a50ca668c9cd2d1132adc45c52a52deee55ce0368faaaf47ab4a23df3a344c14c32e390274b28831f88e577084fe159f377171a0329e2a2fb807efc4ef58b8c17af50e73c3f1eed04ba78b42fd02525004399cf52036c63a6602cd28c5c738c3d7e3aabf7bc1f7d56bb1b8e6dea69bbc80d5f08e09f03a1c59469a4263b3eb89884b1b7d7203e750ae8b3d446a9160e1ce01f9b99680a03fbfc77865a1de2de4d07ed36ad0ac469c5efd20c88670003ac7ffc7579e791ca034630f6d2633dd3b498ab1eadc11fb62a6e25cf4569113c591165eeed17dcd33d03e5a1ffe2e22071f6c165f6f839196df14988538745aede667916e141e779a6be037fdbe5fb520f6b00b8a3d922e937157e7e0d570a74c0e1efaea44580dd611d06032cd8bfa94523e6c197ec60cea414451e917b61559cf988f72b5d35bcf334b9f8030d095c3126624d02238f5c5b2a37ef9bebd941b240b008e469e8e55dbe4d9ac303124cb19e0827cce8cd7f26d162bf14ef5e88b3986fc24ae77dbad2430edbd996038ff87d5f20a1d3f15c11e87e20dc3252981a1011af79b8dd322d9ccf68c6ebea03c4a106d76ee592ce5996ae997e94d7e023367516b5d89beccd6c6cb9878b943a0302da1a38cfd197a895ca814def266bc9fdddcc947aaeb4b3426c5fa7afb3040c035d748adc1cebba9812c0f5c444be04d2c20ac8f9db1357e9d64552465351548405581e03c5d4739459877eab04a7e1ce67285d1bf8d8822d2c4864d1d481021d4007011bffffffffffffffff034fd20c2aab7a77fc9ed2ea845d7bd0156df04b29779a6984cdf522fa7388bfdf05581e036a537fba8ba18ab7fc9008f43944f21c15afd4818867b97260a9d48c400c0f4757b990ef6445d903a5dcc13eac97af18226a4bd6a1c0cdf1b7297d65d9eae3c70975a44180af4c4905581e033698ead0a076993b4864970dc73d36e6e349944088a7a261f3b3b25a1004020366c8521d5056d71b0c8e33dc6c28e7034df07a1ed851e4766146a7b9adf2cc08031fe41f36a5ea4f826df9ea55a8d1b1af1d5490a9c50d828adde9274dffc9b85b05581e03e49c0fdfcb5a313a86b234e3b1c70c7a946fb4acf900d324fc81647d500c18b64815f9b1c5a87d327c0385f73bf26dd318b2c773e71290f7e133252b215b53040c0b9b65e158081e85840219bd2f03760b32e34d13ec16ed515be5392678acc879da47c4f7c7f530de418922813447033a392ea753ec24f7eaf744526acd8e051a29ac701cb95632348070a75d068077034b65f8bef2ccd910684d0b37d8a69e1483dcbf1c95dbd3bb10cf2b9db5c1009003f6835656e0e117713fe2f72345f1472733731f3672375c313232575caa9c54a70338e4fe13ba250f525cdcb8e95cf0a67a2ed0e9d4eb360c9f721212bf3ed240ed0219ffff03cfe04b868a3096e544d77aea6bf78929eed2c5734d84a40313cdd84bf3648f1d033ce1ca6758a7027a7a5f84e4689b807505702cf7db7e3189628150fb5983ef8b03cfe24293461bc8c2eeb4cee4a5e472df02bae9c4edd6fd2daaeb5ba91a7d22350315bfe9103ed22777865988518a24d2865bc6c52baf40993c7fa07a6b62cbb5a7035a80b9bff3b259aa0fbd30784f704dafe3f9568e86ca02f126e20c4c1f8d293903decb7f071c74d8b95f3769078d531fd1004d85af03b4255fa83899985d1b25e8033972fe585ae271e426f2ae7d9a33be8575d2749f6c72af6bd18635767805a74203d2840e7cd7b22b7b3c22816ba9c0c85aab06e2e7b289aa48b04a66f230fe097003a97d8996982afc6a0f22f46fc4676dcf7819e7f9513132de1f2c0ff0b905d7e603666e13aed7c51d191544ea54ba0244a84853a2777970ae153b91e17ac48dfbec03961a2b5ba8d5bb88ce755244dfa3b0a8c404f014555382fa10da73bbc4904088035ae472eff282dec79850021c59ef7f5be8fc668423f2f8cf900a6d5afcf1b7a50219ffff03309740086b6c57e302eaba6ff4a4edff7a9eb826cf05f9244094a3ca52b3738e03071742f50c5eec3fca6f15980f9a5451de798a588f1c327f3c456a1e17de846003fa660463b95c6bb80ce96dc5ef6cdc1f7dd85c41dd309db871079a172bc7ccb103fa932c1781a7911461a094b8eaf284a7ccef8c91c310615f292c98985088b47803fa21edc9373fcec2dc6ef889fa81a09788235c742c099b550124991b1e31d3fb0219ffff03c7b33b03356d4cfbe08187b8741160834e41dab56f65281b96296a23a74c7cbf03b7986976b5e8394a707cd0d13cf2f4e6071df3f0f462048aaf1a6bebc0eb29d603900d2a77849159929ab4bb6666618d9110db422c1a518b32839aefe643ba884a0378cca8f1f0776283fa7ebeaa7a00cf0ace5b1639145b550bfb3af84c522f5cfd03bfb8a1b0304b05ad71616e5e17455634a45ba5d47725a7d4b03cc219a45858a00303d4f75d24eb87adb3046391b4c7c3f13096bf781f5dbda0f0614e1e7d474a9103a5627c0c95edeccda7c07252bdaaec67c289c5a9ea54210bbc33f750bd3edd9f03d03f6ad7bd74fab123d2a6b4ce73b516c30e10b1d2cadeb5127703db2db7f28203b62c197b70f1c68f0f22eff853b03d1df6144f47f00706c85a4bd49c7f142dc60315d20b790ff350fe13e32733d226c6c31cdeaa11233c9dae133242dcedab9bc80316546966a54bb1822674b64bbc7e064e16ae3477591b4ef55eca85a38529692e03dbab9f6bfce018f8baf860ec9378ae76d01003b7ea68c9c28c20ac9757eb9944033d263fa3b70483181f92f55b4d19060dbaf692f0e85fd8140e444cd508476de303478ad2f6146acf3b026b03fbe3a83fe46253320635049413fcbe57213aec98e403b55a5086ca9421aa9a25d88487e68dd47acfb8538a535a32f90338cd463c4fff03e8b02e4fd22d6be63b846a29fc5030cc2e2bcf72434cf81b3124ea442cb1ef680399de9a28639e7c43e6ff82829437f883e1c043511f3f7213c4932df5ef480aab036070f0eee37c8b94ee08991dc43e66ca622673aa7a5ad4f8d990a54a522110b1031e2824d238b6b3cbb76d8001f06e5d9c2ac8e7036c81cbe6d177d445f8bf5f3703ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03b5c8c867cb79e3b7607958a42e08c9e01d59c5d448ef347691367496e007011bffffffffffffffff04593d896080604052600436106101d05760003560e01c80637d1db4a5116100f7578063a2a957bb11610095578063c492f04611610064578063c492f0461461065c578063dd62ed3e14610685578063ea1644d5146106c2578063f2fde38b146106eb576101d7565b8063a2a957bb146105a2578063a9059cbb146105cb578063bfd7928414610608578063c3c8cd8014610645576101d7565b80638f70ccf7116100d15780638f70ccf7146104fa5780638f9a55c01461052357806395d89b411461054e57806398a5c31514610579576101d7565b80637d1db4a5146104675780637f2feddc146104925780638da5cb5b146104cf576101d7565b8063313ce5671161016f5780636fc3eaec1161013e5780636fc3eaec146103d357806370a08231146103ea578063715018a61461042757806374010ece1461043e576101d7565b8063313ce5671461032b57806349bd5a5e146103565780636b999053146103815780636d8aa8f8146103aa576101d7565b80631694505e116101ab5780631694505e1461026d57806318160ddd1461029857806323b872dd146102c35780632fd689e314610300576101d7565b8062b8cf2a146101dc57806306fdde0314610205578063095ea7b314610230576101d7565b366101d757005b600080fd5b3480156101e857600080fd5b5061020360048036038101906101fe9190612d59565b610714565b005b34801561021157600080fd5b5061021a61083e565b6040516102279190612e21565b60405180910390f35b34801561023c57600080fd5b5061025760048036038101906102529190612e79565b61087b565b6040516102649190612ed4565b60405180910390f35b34801561027957600080fd5b50610282610899565b60405161028f9190612f4e565b60405180910390f35b3480156102a457600080fd5b506102ad6108bf565b6040516102ba9190612f78565b60405180910390f35b3480156102cf57600080fd5b506102ea60048036038101906102e59190612f93565b6108d1565b6040516102f79190612ed4565b60405180910390f35b34801561030c57600080fd5b506103156109aa565b6040516103229190612f78565b60405180910390f35b34801561033757600080fd5b506103406109b0565b60405161034d9190613002565b60405180910390f35b34801561036257600080fd5b5061036b6109b9565b604051610378919061302c565b60405180910390f35b34801561038d57600080fd5b506103a860048036038101906103a39190613047565b6109df565b005b3480156103b657600080fd5b506103d160048036038101906103cc91906130a0565b610acf565b005b3480156103df57600080fd5b506103e8610b81565b005b3480156103f657600080fd5b50610411600480360381019061040c9190613047565b610c52565b60405161041e9190612f78565b60405180910390f35b34801561043357600080fd5b5061043c610ca3565b005b34801561044a57600080fd5b50610465600480360381019061046091906130cd565b610df6565b005b34801561047357600080fd5b5061047c610e95565b6040516104899190612f78565b60405180910390f35b34801561049e57600080fd5b506104b960048036038101906104b49190613047565b610e9b565b6040516104c69190612f78565b60405180910390f35b3480156104db57600080fd5b506104e4610eb3565b6040516104f1919061302c565b60405180910390f35b34801561050657600080fd5b50610521600480360381019061051c91906130a0565b610edc565b005b34801561052f57600080fd5b50610538610f8e565b6040516105459190612f78565b60405180910390f35b34801561055a57600080fd5b50610563610f94565b6040516105709190612e21565b60405180910390f35b34801561058557600080fd5b506105a0600480360381019061059b91906130cd565b610fd1565b005b3480156105ae57600080fd5b506105c960048036038101906105c491906130fa565b611070565b005b3480156105d757600080fd5b506105f260048036038101906105ed9190612e79565b611127565b6040516105ff9190612ed4565b60405180910390f35b34801561061457600080fd5b5061062f600480360381019061062a9190613047565b611145565b60405161063c9190612ed4565b60405180910390f35b34801561065157600080fd5b5061065a611165565b005b34801561066857600080fd5b50610683600480360381019061067e91906131bc565b61123e565b005b34801561069157600080fd5b506106ac60048036038101906106a7919061321c565b611378565b6040516106b99190612f78565b60405180910390f35b3480156106ce57600080fd5b506106e960048036038101906106e491906130cd565b6113ff565b005b3480156106f757600080fd5b50610712600480360381019061070d9190613047565b61149e565b005b61071c61165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a0906132a8565b60405180910390fd5b60005b815181101561083a576001601060008484815181106107ce576107cd6132c8565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061083290613326565b9150506107ac565b5050565b60606040518060400160405280600581526020017f536e6f7274000000000000000000000000000000000000000000000000000000815250905090565b600061088f61088861165f565b8484611667565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000695915a52a4360a6dd4400905090565b60006108de848484611830565b61099f846108ea61165f565b61099a85604051806060016040528060288152602001613d2c60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061095061165f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120b39092919063ffffffff16565b611667565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109e761165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6b906132a8565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610ad761165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5b906132a8565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610bc261165f565b73ffffffffffffffffffffffffffffffffffffffff161480610c385750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c2061165f565b73ffffffffffffffffffffffffffffffffffffffff16145b610c4157600080fd5b6000479050610c4f81612117565b50565b6000610c9c600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612183565b9050919050565b610cab61165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2f906132a8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610dfe61165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e82906132a8565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ee461165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f68906132a8565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600581526020017f534e4f5254000000000000000000000000000000000000000000000000000000815250905090565b610fd961165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105d906132a8565b60405180910390fd5b8060188190555050565b61107861165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc906132a8565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b600061113b61113461165f565b8484611830565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111a661165f565b73ffffffffffffffffffffffffffffffffffffffff16148061121c5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661120461165f565b73ffffffffffffffffffffffffffffffffffffffff16145b61122557600080fd5b600061123030610c52565b905061123b816121f1565b50565b61124661165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ca906132a8565b60405180910390fd5b60005b838390508110156113725781600560008686858181106112f9576112f86132c8565b5b905060200201602081019061130e9190613047565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061136a90613326565b9150506112d6565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61140761165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611494576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148b906132a8565b60405180910390fd5b8060178190555050565b6114a661165f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a906132a8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036115a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611599906133e0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cd90613472565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c90613504565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118239190612f78565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361189f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189690613596565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361190e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190590613628565b60405180910390fd5b60008111611951576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611948906136ba565b60405180910390fd5b611959610eb3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119c75750611997610eb3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611db257601560149054906101000a900460ff16611a56576119e8610eb3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4c9061374c565b60405180910390fd5b5b601654811115611a9b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a92906137b8565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b3f5750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611b7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b759061384a565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c2b5760175481611be084610c52565b611bea919061386a565b10611c2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2190613910565b60405180910390fd5b5b6000611c3630610c52565b9050600060185482101590506016548210611c515760165491505b808015611c69575060158054906101000a900460ff16155b8015611cc35750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611cdb5750601560169054906101000a900460ff165b8015611d315750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d875750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611daf57611d95826121f1565b60004790506000811115611dad57611dac47612117565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e595750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611f0c5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611f0b5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611f1a57600090506120a1565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611fc55750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611fdd57600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120885750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156120a057600a54600c81905550600b54600d819055505b5b6120ad84848484612468565b50505050565b60008383111582906120fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f29190612e21565b60405180910390fd5b506000838561210a9190613930565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561217f573d6000803e3d6000fd5b5050565b60006006548211156121ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c1906139d6565b60405180910390fd5b60006121d4612495565b90506121e981846124c090919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561222857612227612bb8565b5b6040519080825280602002602001820160405280156122565781602001602082028036833780820191505090505b509050308160008151811061226e5761226d6132c8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123399190613a0b565b8160018151811061234d5761234c6132c8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123b430601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611667565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612418959493929190613b31565b600060405180830381600087803b15801561243257600080fd5b505af1158015612446573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b806124765761247561250a565b5b612481848484612547565b8061248f5761248e612712565b5b50505050565b60008060006124a2612726565b915091506124b981836124c090919063ffffffff16565b9250505090565b600061250283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061278b565b905092915050565b6000600c5414801561251e57506000600d54145b61254557600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612559876127ee565b9550955095509550955095506125b786600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461285690919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061264c85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a090919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612698816128fe565b6126a284836129bb565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126ff9190612f78565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b600080600060065490506000695915a52a4360a6dd4400905061275e695915a52a4360a6dd44006006546124c090919063ffffffff16565b82101561277e57600654695915a52a4360a6dd4400935093505050612787565b81819350935050505b9091565b600080831182906127d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c99190612e21565b60405180910390fd5b50600083856127e19190613bba565b9050809150509392505050565b600080600080600080600080600061280b8a600c54600d546129f5565b925092509250600061281b612495565b9050600080600061282e8e878787612a8b565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061289883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506120b3565b905092915050565b60008082846128af919061386a565b9050838110156128f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128eb90613c37565b60405180910390fd5b8091505092915050565b6000612908612495565b9050600061291f8284612b1490919063ffffffff16565b905061297381600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128a090919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129d08260065461285690919063ffffffff16565b6006819055506129eb816007546128a090919063ffffffff16565b6007819055505050565b600080600080612a216064612a13888a612b1490919063ffffffff16565b6124c090919063ffffffff16565b90506000612a4b6064612a3d888b612b1490919063ffffffff16565b6124c090919063ffffffff16565b90506000612a7482612a66858c61285690919063ffffffff16565b61285690919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612aa48589612b1490919063ffffffff16565b90506000612abb8689612b1490919063ffffffff16565b90506000612ad28789612b1490919063ffffffff16565b90506000612afb82612aed858761285690919063ffffffff16565b61285690919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612b265760009050612b88565b60008284612b349190613c57565b9050828482612b439190613bba565b14612b83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7a90613d0b565b60405180910390fd5b809150505b92915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bf082612ba7565b810181811067ffffffffffffffff82111715612c0f57612c0e612bb8565b5b80604052505050565b6000612c22612b8e565b9050612c2e8282612be7565b919050565b600067ffffffffffffffff821115612c4e57612c4d612bb8565b5b602082029050602081019050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c8f82612c64565b9050919050565b612c9f81612c84565b8114612caa57600080fd5b50565b600081359050612cbc81612c96565b92915050565b6000612cd5612cd084612c33565b612c18565b90508083825260208201905060208402830185811115612cf857612cf7612c5f565b5b835b81811015612d215780612d0d8882612cad565b845260208401935050602081019050612cfa565b5050509392505050565b600082601f830112612d4057612d3f612ba2565b5b8135612d50848260208601612cc2565b91505092915050565b600060208284031215612d6f57612d6e612b98565b5b600082013567ffffffffffffffff811115612d8d57612d8c612b9d565b5b612d9984828501612d2b565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ddc578082015181840152602081019050612dc1565b60008484015250505050565b6000612df382612da2565b612dfd8185612dad565b9350612e0d818560208601612dbe565b612e1681612ba7565b840191505092915050565b60006020820190508181036000830152612e3b8184612de8565b905092915050565b6000819050919050565b612e5681612e43565b8114612e6157600080fd5b50565b600081359050612e7381612e4d565b92915050565b60008060408385031215612e9057612e8f612b98565b5b6000612e9e85828601612cad565b9250506020612eaf85828601612e64565b9150509250929050565b60008115159050919050565b612ece81612eb9565b82525050565b6000602082019050612ee96000830184612ec5565b92915050565b6000819050919050565b6000612f14612f0f612f0a84612c64565b612eef565b612c64565b9050919050565b6000612f2682612ef9565b9050919050565b6000612f3882612f1b565b9050919050565b612f4881612f2d565b82525050565b6000602082019050612f636000830184612f3f565b92915050565b612f7281612e43565b82525050565b6000602082019050612f8d6000830184612f69565b92915050565b600080600060608486031215612fac57612fab612b98565b5b6000612fba86828701612cad565b9350506020612fcb86828701612cad565b9250506040612fdc86828701612e64565b9150509250925092565b600060ff82169050919050565b612ffc81612fe6565b82525050565b60006020820190506130176000830184612ff3565b92915050565b61302681612c84565b82525050565b6000602082019050613041600083018461301d565b92915050565b60006020828403121561305d5761305c612b98565b5b600061306b84828501612cad565b91505092915050565b61307d81612eb9565b811461308857600080fd5b50565b60008135905061309a81613074565b92915050565b6000602082840312156130b6576130b5612b98565b5b60006130c48482850161308b565b91505092915050565b6000602082840312156130e3576130e2612b98565b5b60006130f184828501612e64565b91505092915050565b6000806000806080858703121561311457613113612b98565b5b600061312287828801612e64565b945050602061313387828801612e64565b935050604061314487828801612e64565b925050606061315587828801612e64565b91505092959194509250565b600080fd5b60008083601f84011261317c5761317b612ba2565b5b8235905067ffffffffffffffff81111561319957613198613161565b5b6020830191508360208202830111156131b5576131b4612c5f565b5b9250929050565b6000806000604084860312156131d5576131d4612b98565b5b600084013567ffffffffffffffff8111156131f3576131f2612b9d565b5b6131ff86828701613166565b935093505060206132128682870161308b565b9150509250925092565b6000806040838503121561323357613232612b98565b5b600061324185828601612cad565b925050602061325285828601612cad565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613292602083612dad565b915061329d8261325c565b602082019050919050565b600060208201905081810360008301526132c181613285565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061333182612e43565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613363576133626132f7565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133ca602683612dad565b91506133d58261336e565b604082019050919050565b600060208201905081810360008301526133f9816133bd565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061345c602483612dad565b915061346782613400565b604082019050919050565b6000602082019050818103600083015261348b8161344f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006134ee602283612dad565b91506134f982613492565b604082019050919050565b6000602082019050818103600083015261351d816134e1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613580602583612dad565b915061358b82613524565b604082019050919050565b600060208201905081810360008301526135af81613573565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613612602383612dad565b915061361d826135b6565b604082019050919050565b6000602082019050818103600083015261364181613605565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006136a4602983612dad565b91506136af82613648565b604082019050919050565b600060208201905081810360008301526136d381613697565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b6000613736603f83612dad565b9150613741826136da565b604082019050919050565b6000602082019050818103600083015261376581613729565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b60006137a2601c83612dad565b91506137ad8261376c565b602082019050919050565b600060208201905081810360008301526137d181613795565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613834602383612dad565b915061383f826137d8565b604082019050919050565b6000602082019050818103600083015261386381613827565b9050919050565b600061387582612e43565b915061388083612e43565b9250828201905080821115613898576138976132f7565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006138fa602383612dad565b91506139058261389e565b604082019050919050565b60006020820190508181036000830152613929816138ed565b9050919050565b600061393b82612e43565b915061394683612e43565b925082820390508181111561395e5761395d6132f7565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006139c0602a83612dad565b91506139cb82613964565b604082019050919050565b600060208201905081810360008301526139ef816139b3565b9050919050565b600081519050613a0581612c96565b92915050565b600060208284031215613a2157613a20612b98565b5b6000613a2f848285016139f6565b91505092915050565b6000819050919050565b6000613a5d613a58613a5384613a38565b612eef565b612e43565b9050919050565b613a6d81613a42565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613aa881612c84565b82525050565b6000613aba8383613a9f565b60208301905092915050565b6000602082019050919050565b6000613ade82613a73565b613ae88185613a7e565b9350613af383613a8f565b8060005b83811015613b24578151613b0b8882613aae565b9750613b1683613ac6565b925050600181019050613af7565b5085935050505092915050565b600060a082019050613b466000830188612f69565b613b536020830187613a64565b8181036040830152613b658186613ad3565b9050613b74606083018561301d565b613b816080830184612f69565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613bc582612e43565b9150613bd083612e43565b925082613be057613bdf613b8b565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613c21601b83612dad565b9150613c2c82613beb565b602082019050919050565b60006020820190508181036000830152613c5081613c14565b9050919050565b6000613c6282612e43565b9150613c6d83612e43565b9250828202613c7b81612e43565b91508282048414831517613c9257613c916132f7565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613cf5602183612dad565b9150613d0082613c99565b604082019050919050565b60006020820190508181036000830152613d2481613ce8565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f359f5d3fad6646ddf22797e1fd97e7583f6af227deb6ef1c00f8d1b68dd5d1264736f6c6343000813003303c3766d429e52833810dba860acb5f5cc75c40d075ff380c0d1baff821569e9cc037c43405b1244efc424802ddbcabfe28369f601758b326a934900efe110042e3f038cab9561f000740ef487336983dd4453b2264292040729fac5de5954ab3aca4303ec53d0c1fe575ad2b50d19dc41ef5e25d8f3b577d551806b0b6f1bad29ecfc490350163b27380678393b3f9dacc308ff0de4270cdb71482828575d6a0d551bbda90058200352b3be9e2d21a966a037da072a25dcd14af3782ee141240015be0a9d2395805820ffffffffffffffffffffffffffffffffffffffffffffffe40d97b3e0d09e31fd00582003fe4345a97fb59e0b55aa1488b47c4b5d2ccdedcc027bd46a1734561bb20f60582009d6c90bb686d50d4222e6851579e0508a68bc7c48e198b70b6722b6f1cfd93c038b0c4ef937a6a81c85d84baa7741b80e92d04a2cc3b59f19d31896404999836c02190181038dc314744493d004085760645d5f4e3fd59c6ea05d92423199d99c91127f22f503b48a5cab288f7cce985e12b41b76b0483f828119f2eb10fcfda82bd3679a0a65036542d0538a756036a437e1e7b8a9366d8fd4d17070c9acbdb0386d07b86140bb034c48c7b4db43a20899ea94cd5c4f5abd0ff70b3a2a8d66887b5ee3a47e4c9728037d2338902fd562f57319db5a88930de86443ff016caa5d574b60fabb935a798a03fdee1892f3d19daced4e03fd5f57b4e7008b19d0607e1e6687243e79c167c0ca014101005820033b9eb4f3df69c8c742136a9f86f96c5443d6eb618afab9da4f872e1e0117e05820ffffffffffffffffffffffffffffffffffffffffffffffe24482afefa5b320950058200353768036cc037851112d1a4a447710754b46dea2e1b750bf7bb3e7c39769b05820ffffffffffffffffffffffffffffffffffffffffffffffae65ebee526146632700582003f26a261dae1bb8a39c0bb137dea9213002df7aa91f8d34bd4fbbc0c332d240581f90fdcb677c2d3e6503a37d16bedc678526d3adb9ac3db41e7a6177c15f907c00582003378439989d1cf97a964eb0785e2f0e65d012f05a4ca96fe1b1f1fd3400da70581f1f157836e15af69e4770fc0ad7112684ccb3de2f28a6fb45b20b3c7618efd40358312036911cc838662b950ec0e72010350c321536f56ce2ee7b7fc3a8a193d5021941b2030971d6126b0d1d199a3034ea499219acea872a7db581111004893c1fb7aadc4b032e25308962cdd7d4ea1ea4048e492f6d0bb52d23f384437812781ececdb4c93e03f1abe268a6973d9dbc03718386f1ec262c72495c1be5651e20e2bdfe0e0b8873031ce955a9390d2d0aa7d1bacdb80063ebda919f93621c6fe56f9d4198f1801e03038aee9b59b65eb4e9aa13f435f67a1c3601fbac67ce66f3271911da4cfff76db703e74352a0e75eebf486667805cd80591093818adb6e43ac1bf8b42c0e07ba02350219ffff0311b97fdb7875bb2239f23fd0a0421d8afdb94c0264baf578d62433c5680d30e800582002de91e0983cc9f7ddbd6a893a02f2752610da8898df878e080888d391b8458b5820ffffffffffffffffffffffffffffffffffffffffffffffc428e6b938e473e96a0366fe6632913e3b1eee2543ae6392e3c75da285e9e5750fb1cf2a73a96a96556a034d49c89d02f48432eb17ebde50b3436e1ae08f7bf416ba759d294db6283a995d03c435afb8c02211deee5f39d623953fc2e4d7fca55bef65f05f2d0e7f07c4c49b0383151ca38cac317e8eb13fc6167239603be3ba85ae31cf3a92433afe4aca1d4403ce45a0bd1fd6eb1333b87cc68edf433f489f2c07eec39672a066207142c2289d03c999d2439d64a528c7baa31e5c8dbcd949b400e4febbd2da4ab11f8d9110aa5000582003b3bd8d9774f5bcae0a8d73420250c061c871a14f40c30ee169beec1867d3205820fffffffffffffffffffffffffffffffffffffffffffffe577c73732fff31e2ac005820036fabe6b8ac5e3f9e5b6cdfffa6efb1cc5bfc7aeb852c028223136a446a8020422d5a00582003b871cc09dbe3059542cca437f53f1f1ed60bdb319a27e218cbcf2430703170581f102bfbcc29595a54be8bc88dba7dd3baef81b893d8d62444b3310a5a9783b80058200395a32cd7d41ea0328891c686a60f3a49d14e95d70cf0f87f2cd1be2b8515f05820ffffffffffffffffffffffffffffffffffffffffffffff7517e8ac3af1a56d9a0219804603acd515c5b544cdafdde0e6abcbc85e1c7c2a72bbe94e004a1443fb087309f23903c788bdad128b3c13eb44e4707da15765cd84271381fd3f08ba6902e06b85f54f03cdd8105452f1a70528b73ab44787ea9d30b909f8cf05a0b3af4337460919fe70039b769ffea06b3c1a1837dc40213da8b87ab6c8703e838e990c1ddb268bf45d5203802889ffe20defaa943eab509a4a530655a9f275c304813907dece74df12af4c0058200239d71c7fdcb9610e06de1328f7887233d4e1ac802f593ad219330ffabff8e3581f0780d23d2f137d59ceab04f8929b8092f52114d6ba1ee347833bffe287d52c031885374e338e6efb2a668b8efa4d7acb2a867c56a1ccf2923fcdcfdcc2f422330219ffff0344dc054af381eda21c6e0923a951376191f22d8af53527cc761a2b46fe0715f0038e3d6edd87255a532906a86302ac3d847a40014906774d794937216bb4e97877037ee19a33798283ef5ea47bc06217c76b8be4524c078e49f87abceacc1d81f5eb0389a845bffc440b225e8f69722f7fd87dae50818e3c7687fa4d81656b914cd1a103f1c2b08f28fcbec2bf790baa678f76404fe36ba4a427f142f3430b32d9ad30a40058200248fabaebe0bac1e2d6582c437895ea2794b5df27c5cb5939600f3af778f4225820fffffffffffffffffffffffffffffffffffffffffffffe8cf96123e8fe33c73100582003e5b69a74a2cac3d220e4bd5100bad1cfc46a3a185da131d772547ece7996105820ffffffffffffffffffffffffffffffffffffffffffffff695df5b185e2f4030a00582003233ab9283803748e350b54302cd7119e820cafed504b57ff645e266ccd5c505820fffffffffffffffffffffffffffffffffffffffffffffd2ed0eb206c8d98737200582003448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec4750570100019e8b54c2b5cbf03081d29d63f60d76ea80b54b51021982020363d2737a757f971f4ff9d796832deadd6a4c5bfe82edb9c76506f2afbca4036e03ff1f113da9a01b033c12a193ea71446b3df5ffd8a8c04f9d44fb8ab5e096af200323ad7ef6f8533d66afb6d82b8456081a94526ad44b91df1754ea60aa5375ffcd03b4d11fdb5bf09087f5e6af50c84a2d8e014f8807dd8c1a608234774498ccdf75005820029ac7c67654b08335b8352a2bf288022184178c62c65da7869ee13acb6b161e5820ffffffffffffffffffffffffffffffffffffffffffffffef7733ddc32dcc4294036fb9ae6f86725af2dc14e9e944078b34d45385cdaff940bfc9f5c83c21155b6e03c75176b7b10a72022d5688dab1a202edef1053cba030e02f075354f2251aad1503bfa5de9f134b615eb4746cfd31be38e082b540d2f7001a15334060123093b07b03a5685b2c1781300c2a53284305100f1ab27b2d4024abc4dd43f12782b4f6baf403e291af6d8b3c986aa836d798070231234b362011117108ea1b231cc90d6e9dff0219ffff03e76ce4c6c5c418d16db4e4d39e3134aecbc79da9e7ec345259cb592dd7b7447103b1ee3b7737bb7eeababfa23969fc863a04f570c669362891b23ada623fc47933033b9f390265edd4f88ac36ce5df3b13571a2806313bd5be7dc143eb9a330c02ac0312371f063ad577dd255e85a99ea172c3c2a2a99358f4931610cd0b4dbf46216003e2ff4e946616458ccd1a32a05522fe9d9dced30e23ac3d65802da2757278516503c3b0b9fa6018970c5ad0c4322b683c3ff9abc4d8f5d4d6fffe40a27ceb0e73fb030a216ddfcfa244d73dd59f008836715ae276e59c8d859c839a0bc0ee78d48aa203e7bace6ce5002a195dbc5967f610b91ec57e7d8bdfff6960086fa7d0a00cb5440320c0525cebc2a87b4b41daf211d963a94bc4760177fd34e8e70746433abb77bc03122ee5465230742c27f137d9354603358416af20a681fd1f6120f9ebce18fc9e0332917c20e717c442ca19e2515cd11e6dc5f804c618cf8c27acc8e1f1b81de69a0375777763454b9d0b90aa2151bd6b8971a5fbbe16c02bbd3a935128dd64e3f3bc03636f45188e37357ab8d3e0fc03fb1599a9086b1aebd379262c5d6975d7d5c1b503793f30fd0ce52af1e42f2dcde80c4d8ab7e97b05633719e297c22daee2a6ddfe0058200373acb47ce4e70c966f5ffea69cd6f021a47aa0c0bca0bbc10af308e88b95d05820ffffffffffffffffffffffffffffffffffffffffffffffe086abb348948d156203553983882751780ec05ce9bf2561c079fd741fdac8777fe2e450b9e4ccb9d61001410c00582003c9ffa2b7571cd98644ebb2a14118547d9b3c9c31f498f09226e9baeb4d55105820fffffffffffffffffffffffffffffffffffffffffffffe72174e5cc92b79358f00582003fc5c147528aa247e7baa76764943acccac7a1484192131c75d6b1f588e0de05820ffffffffffffffffffffffffffffffffffffffffffffffddf7849715fee9502f005820034ea9bcbc1315a65288501ff618e3fda027f5fcf4069eca99a949a48ed461f05820fffffffffffffffffffffffffffffffffffffffffffffdc6dba088ddd29ba0b80219ac8003e6bdf694f1979c1693a7251d030f675870020ae1f4125e758cb5428092f7a15f0219ffff03c39b128462ddf99069bedad19bf18f487138d089984b13232f506794f1fc36ae035bc8ee838d9eb83da81014a85d9172f2728c13a3c27ea4956e8e42d8097b0218033d1661331ebe649a1727c83a2a3613d185d5cf1a3d55b2b496551a810db1c9e2005820037f8a26dcf4cf6bad6a6cab10e5d4d6671b3ac449df00bc1b59cc5d13891f905820ffffffffffffffffffffffffffffffffffffffffffffff95e9ba409b11b6e926005820036c334d24ec48dbe834919c5ff2a30889b86ff9b563a778b7ca950092c3aa305820ffffffffffffffffffffffffffffffffffffffffffffffdea216b28b4cab824000581f0246310bdb7c98d66b68f9f652c74939c69b328bb0be58dd79aa2712eecfa45820431f05feb197409aa3665557b6fd9fc094df8d5b9f458ee6f9009d91524959f400581f024a16ab661a72ed937919aaef401e28175d4c7528e0b40a0af92fbf38f62c5820ffffffffffffffffffffffffffffffffffffffffffffff68200dc446ea34cd520219801000582003225d23e21a9830bf9659e7f763a57577143e20078dd87b646cbd642d29eb805820ffffffffffffffffffffffffffffffffffffffffffffffebcef6a2be8782ac1a021910c8038cb6d51ef6e94d85cf2414e3d1fe6c7a92a6809d639b97f096f4ccaf85e0a1ed034c4e670dd2974098df4a24ae42a3c087224f80479949f4d5f542423b9232aee400582002d8c39a66355aea991a959dbc7ae6f56b72e5ac7aea96baf8682be0d46ebbc15820ffffffffffffffffffffffffffffffffffffffffffffffa998151b76532ddbbd03d026bffeedf4556733f1dd758f3ae20b8ed0d4fe839f81580b212c1c2e5df37b03f560ed39a124cfdef503aef57a6b2063e4666b6085e431b573e90318c3849b270361541dcb08ea62c737ca2b2c52bf82dfbc7e0d14ead578c0a10fe33f6f6cc8e6035f5853bc6a4b84c044caff0a5759626815e55c2f72f7a1378d7c9aa9802d7bbd0362710b9db6b56ec9d924d5caeb393574bd8f4b52e963e219a37a65a26ff57466036e99ca30a580a3b5fd1023be4d73e77b19d7e9f6be7d68677577ee867382725c0365af580b8099935ff9768fa55999af7e4360cbc3b13ee7d952b021756455c7f603c15ad755dfeb7ea14213d7169d8d4d3aade1a03ccecb307655f946826203c2890219fffe03de2974a5badc6575185c0f074be6b797206789d523f8feb46facbc706f4d8c1c03a8dfc3d7a0cfb6a780cd24a5187ae069dca45b1dce7971309073dc4aef29a378031416ebfec0c925ad0df9791392bf63a868f67e2a47456a82744a794d9417666703afc8d7adae38718562bd264248f07897af4cb47f0a3db468bb2da1930ba8af4e00582003d3c0c84dc43d0a477b67c293181e9aa9c63dca08de75bf1d4ce442960a9ef0581f2fe8f5419893a0bf3f87a520cc6f4126417aaf4db955546d48eb612cc1a8540058200344aaf8f672921e9cc90d5bff07a7889b14b3bb4a3466f305106bed98f3ece0581f67c65ffde0fd12071a40c7aff6b93aba776f497303a06c574f8d1b806eaa6800582003c52eddf05233de0ca72bf4c0054dc7c0594d77734202f0b7e4e55dd47dc8405820ffffffffffffffffffffffffffffffffffffffffffffffd6e6b50dad225215d20058200341b85a79726b784506b3fc616c34f33555bd4df1a401da8c44f41821f3dd105820ffffffffffffffffffffffffffffffffffffffffffffffbfe1d1c799cfb3947a03f1d3feeeca31f90c1b7bd856f04ca5877da022dc315110e2cadbbc2268792ede005820032da97045cdac0cb1cf144e6932ef9e30ac2c26fbceeceaaeb0765c6b66c670581e011351edc2dad1adb3a85dc09f42b9669f3e37da49a3540aa7522373b23c0058200374ba2305f4e9bd87498a3de53f9218b497dfbdf364c074d135e6cb6b893c305820ffffffffffffffffffffffffffffffffffffffffffffff9065b416cde278cb540058200363b6524d22bda7f5d2258dd092f55f6aa7bbf7cef21bbc71014278bce26e405820ffffffffffffffffffffffffffffffffffffffffffffffe836b2d312fdd2f6080219ba4c03535627652d0f27164e01db8c25df065c7591d192d5f317c42a172842d535da0a03773d75c93b9840ea1c13a4a0e2c454c30a2087f0e58da04d186e4cd7fdf4aee603e8594ed5d58b99909d0a0f3886fdbc0e4abe087e8d56bb67f6366017b11273b503c91bb6acd25b7e25f63b26d7a760953e4c47d6ca85d136bb384f47cf8f0a0a0f030e4d0fbb6df98d18ad857192ce24d3b88fd015130d2e5221078193d1d409dcd2036f205f522aacc94eaae5b537de3e4aff4d6b555e8d8092bcf5410812c54341d700582002ff306f775de65eb2e8465e4efd8cb516cc4c09d1419f5f49a85d1bb70a48315820ffffffffffffffffffffffffffffffffffffffffffffff157c53db89e3c4aaf1037e377482b0af3261829e4e3d1df21133dcd437f8fb33c69c7bedb427fc68d88c00582002d15dadbf930626a4d6942fa6eb23a43b1e2d6c7ded3db1b9849598cc4950955820fffffffffffffffffffffffffffffffffffffffffffffff4db2964ee9e23e25303ff08b6d5c7e96edc11d4a8124799a5019abddff2a20f16d9e63a1523cbf614c8031d9f7859075a78c325e5519b428b280fdf92f1bdf2949a01f5431dc28b2986740219ffff03a4d9e63e90c8752270386635caa93786f562db8845862d69d6bf01588b2cd29b03889a6d062d0284d18b157667f418a447193e681f54325b11345364f3b4fd68f50372c45343b4ab8e38bd1c8c3d9bf7ce5f5fac95caa5457f122b7f6d181c1db6a103d52d48f8c710dd3508ae9ec5f8dc916ad47dd2971eca763bf685412fd759006503596d7556b829a6f6f0b11b7fc3eb4fa245b6ae8bfc01e9eacf2ba5b5d7226020033a7e25215df456dcde55819902a5e2a1896f19ab5f8dcca04ff7e4d8807f6315033cb082a5d1e00566ee486f1ac4d11522045fb1357874b6bfd244f3f922fc4ac7035c2e0548e0c4f0576bd5d66316e6738c1f47399109671a21a4f910eaf25869e1005820032bacb0b91d43e4b579a8e5dabdedd0971421b6c761442d0f18b84f0013f9205820ffffffffffffffffffffffffffffffffffffffffffffffb4f1ac28aa740d9d540058200394463ed7e9437030757adc1e96e983a2de5373fa9265263adec3ac1b6dada05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219032003c0fff57a2428b68ce3c954cb211b57a3b98b7854cc135f45ef16bb5e6202cdfe03dd371ea0731ffa421ea27144cc642c4b1850e35af48314148e37bc25a44cdb39037d0879e553c04640fb918249738722387fbdfe491ee6e21a7ef62af4cdde338103bda354d97be405499e7e296a623fbdf5f316753c6b0745da67b3e333186584e6032817391b8fb03483873a61c998b30adf7a85642c33700a0d2628cf6bde6a2c58005820034f1ed50832d169a7ead0a6f98b2a7eb64a1ae49bfd468703fff5e41ad93f205820ffffffffffffffffffffffffffffffffffffffffffffff536a0b529b8747cd950058200391c4add3fba7cdcbfd57ac900daa018f69f847eeaeba34afc511d7fea1cca05820ffffffffffffffffffffffffffffffffffffffffffffffbb7441c5bfc8fb49ee00582003a84ab56219366e1424aa9ecd403eac253728d1e840ccea04ddb83a46b411305820ffffffffffffffffffffffffffffffffffffffffffffffc291c4440fe9d98f4e005820039e38e1b977b673e55bfcdbc4dc98e45cc4ff303092c84f981ddc3c087796205820ffffffffffffffffffffffffffffffffffffffffffffffe0121d56b7e48367ad02190341035c1f3751d61a3ebb17f14357f5b606554921755e93ee96548cfab9da6ddf669a0392cbfacadc688dab52a9e7aaedf2dd3cf011f3238e60f4353d266f42720afec603a77cbd5d49011479a01ec21ba2f1153cb55787a627207bfffe2de46105488e190219ffff031b3e23b12c97a64c8fa2c79114e6c980b7c11625360546ae178698aab866b68400582003844c41421ed57d17fbae1f03b9797bc71b68a4a72558e469220629573f08705820fffffffffffffffffffffffffffffffffffffffffffffff8eeb62154d8c42c1200581f02f2a49b5935e789f9de4a92070554b2aff94caa3329c4d0ff4cf41a3b58665820ffffffffffffffffffffffffffffffffffffffffffffffe94e2c0d8bc7f40f3700581f022d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e4a01c75d6ae6e4814000000219200400582003e6185000c694d1de22dd90b18d1587e14b2e7a87e624f97c4a6bac5583a6704902e8b08934a251d39d005820033eb82c7edf1ad74360c0cbfb1ba5ca40199b36d0ff17055cd59803cbd80c105820fffffffffffffffffffffffffffffffffffffffffffffff555a13814049aa08a0219210a0363947a3665fe4f023729b1ed1641828f211ea7ffcf01620bc723293cd5289c7b0321efc78de4e69792de69db0f1901f384c0fb53bb61cb4dbb92fb7b13db9b2d500058200319b5d6a654e74e819c76ae348ceaa12855432701a9887286fc8fedf9c429505820ffffffffffffffffffffffffffffffffffffffffffffffdb73c2a2184fa3dc7f00582003f159b68e377a86a59acad75377f294289a9146f57c490ba7efe29dd0d0db80581f108826d153cd1b72ede17b4e43f9c181f3a590dbda03b401aac1a7853db75800582003968608700ad2655efd965051bdf706aaafda509ca33313fc544db23a55e1404904d587f873f220ee0300582003c24345fb1b832b98f49d18a2f33a8f757ea84831d7141058a926cf9e6fbd4048db1242556487c0090349c86d21edb8968c50711f3c060ce5de1d1ad4b7a7a6a98ecb46037de2d6f7de005820032743ad5591a8e2fb0e4d4d5b048c30839a5839267d6bd02e25a667caf556f0581fcdb53ddf9239dc81cd613e60f67508c30c796f66fdcec6fdf9a6036b097bac0219d5010390dafae1dbf49fd3e4c8656c132194b638e8a620277655823262b8a1913611900058200288d4be9deb4556b121a6dc0372fc2ee6be6f8aa01d2aa283d38d13f159e21649055005f0c614480000030d6b8ee4aa8a0cbc30be97be65229f70fb48daecda0a3887dca5dd53d24dbf49030ee2220428b159896578dc5edaa037ab295d7fc61bb96fe25b98ab23408bf72503709b014abb964929eaab9ddddd4c1571f6591d846f0fa2184dc91aa6cb461103032af74c9f6a74649a42a18273eedc46d4793c5d4fdc5fd16fed4af88363c7b8b80058200395e1af063c3ef80dde614cb4a6783b9afbac8c57a08b4f07e8daf712d747f05820fffffffffffffffffffffffffffffffffffffffffffffff2ffbe5e9c3292a93b005820035c9b0f2744312f74f52cd82561629084699f29fbd49889eb4e80fb502774a05820fffffffffffffffffffffffffffffffffffffffffffffff911d16a6606b597ec0058200357c18253851ab3cc30275ecdafdbf1b7067578c1bcbe5a5524af4b761369905820fffffffffffffffffffffffffffffffffffffffffffffe5b85ee6995cc36d41100582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444054741d798837f9f9c2363213087b5d6b8c6e5c384000582003fe49248b93b058d38aee137b15a9d2f0c1a895270a9a7e88ff1a1eab7d0f505820ffffffffffffffffffffffffffffffffffffffffffffffd1f35d7abf9fa4c73e00582003c75a530972ad8b7ebcdd7bcfe002b1beb31f5376b0ef4d77fb04862f61a9205820ffffffffffffffffffffffffffffffffffffffffffffff1294c7db19f103c17303bfd4f1b9308c7de3a6f9e54a4e90ea28a477b3f6f47fe11d684ca97fd6edc6bc0219871903cbc1158e2c24f07532f8b93ed3c57e06d54c4182ad793985ccf4b79bda7600c903e8500a637ab16815b4f1e736eb26e8a666394b255277823a8c9a36e4624dafdb03710b7d927684a83f4c376cf4eff7cdf6ae58ac1c2797146ba5e60f5617b25427031798ba76d456ace30ad11e2421ff6c849ffd9e3aa21b9841381abfe84a4c1bd30219ffff033d4ca23cf70295b0693346cd1e67ff98ab857848e86e20006afddd991d384cb600582002b554df2bccd3ed75bea31115a8b68471647987888128bf8d3fcca4bd6de13b5820fffffffffffffffffffffffffffffffffffffffffffffa77d6d6ae53ebfb897203aa51c0cb9ef3175840eecf7fa516c7837638ca759bbb533cb6dbce9e42a215d9038b664bd05e1e25747242e1085f510342a04e044ffe1034f4a780d16b1cf9d4d900582003caff903bbfb28e3f02f34255eca6fae7991214e4238f312dd3e130057ca2605820ffffffffffffffffffffffffffffffffffffffffffffffe8d283c6dfea3957a000582003a388a3b4c68f53627d8effa8a71da4b9b6016de181c6baeb940cc8762907205820ffffffffffffffffffffffffffffffffffffffffffffffe7073f2b4650582fc103c32fa04ec6e60303343600098047156f95d050301b55b7c82d8a1971d239cc9a02198012032e96dc07be67b7a7915990aba017cce079f041058a7d7ae39e7b0f68cb81ccf400582003cc9d007841b02c835b6061ebde8fb7e741d3686e07fd1f9f223cb36fa9ee705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200346b3437f1fc38bbbc540ef53762cbb8113f1fe26d38d8263f51b4660f9ff30581f02eb29c76b585aaabbd906e0b485de70cfa613679f2dbafbff6ada2b3267ec00581f0366cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15057010b46c6cdd6e3e0828f4db456ff0c8ea000000000000000581f03ac44917bf03a3b91007a1f1d74695e7b7dbc5bd66af00fc7a67d049ecf80581f10c0ebd0594085150fdd8675c26331648439e613c673f9ae7b8ae72ffc774c02194800014104038787f58a2f7c6a48171cb4a3a52c8621fecf359c9655b5d76a2661e219b810d900582003d12b33c672874b32e67149e2b2aa5996a65e6adb09c43b1f4a18a7abb393505820ffffffffffffffffffffffffffffffffffffffffffffffef5ce7b2405fcd63fd00582003064a49eb8e74160d5809bced39fc4ae1e6e68054899d4567e4d1cbfd2769e04cffffffc81723537339c57f680218af0342fcff6c6978ecc53bdbc0a75f4a92da7dd82ea28ee8cadca58900c9d8b5d9950348edfb8c765b0619345c0fd9389c0d5afa38795e5de0a2cb7b980cb4ca9a8310031d8d0641c7e4257fefd4d11f462168b373d5311230301642de9ab72197f8f88803522a09cecc7f0f4285b83175cbc51e62f7278bca6ef9a52e5b08c85fe72a44ce038aeaae512bdf6777bd29e192be9182a8c2dcdd2354e8daa25387132fd733bfa80378ecc072ccac0b8bccc4f89702f1e03316045cb178eeba9a298070de064b2270032b75fe11c3d5061fd5f8f9eeef92bcfac71e1d9bde522c3b83818a13760b5e2b035ae7f8969b735a7f7ef2faf7df5a9819f85c531e74dae1f21b56dd7fda788163005820037fa40f9b93d0a0107bf926a0454060a39c4c9e9c4c15d1b359111e73805a805820ffffffffffffffffffffffffffffffffffffffffffffffdc2dccbae71d1e57c100582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0547a250d5630b4cf539739df2c5dacb4c659f2488d0058200356ee0db6bc0ffff212c8705788b33c777e3649a9050467c19375594d061c104a581eaecb433a4f1e6e40005820034ce0cd57d105139dcb8beaa27935af4119eddeb4c62788859afecf6d3209e05820ffffffffffffffffffffffffffffffffffffffffffffff3171b1082d0e790c97005820033232edaacb811fb51d3ab1e7ca0fbabe1590e99173db674bcd5bfa207b0e705820fffffffffffffffffffffffffffffffffffffffffffffcf7da1ff284e7834fda021906f003291f1b83b33759c209da78784fa1d0779b4894753a98aff7b279a36f2388d78b0219ffff030b81f728c8d84985286f9a5fa9d1e0d2db205ed4a1b3b22d0bc815e8192654c3032813abccbeb11df77140a14d291ebe0c050308e070fd414f5bc8ffae626d4cf403ebeee09c0d5f29243bd967686df3d2f98d6be9c3ca61a524946bc0e1e4c0a6d40322d90fc92ab0541e1d95f77ce94edffe7a58724806e594cd5cda936a0e8f10e403405fcdb6351b4c816d2c9c4eea5a55f00074b7fc816ccc8f3dec1cc5625e6d0800582002d3dc52ef7c725e00332d47182838baed71a0d3f49ef6609b3513d202a12909581f6edcbf61042f9e7cf7efaad8fa4ec45da803c3e3384f673018586e195c79d803454f6a81b1c2c1297f8538364638414c2396c0b54f12f6367bd4297e9710a089005820037964fba003fdefc4244a1a6a00cd18b8556d16b6244fab9f0e98a7d8be8ef05820fffffffffffffffffffffffffffffffffffffffffffffe38b075cfcf2623fffe0058200319660c308901b8cadcf94e2fc2205bf1affadfb6fa5d3d88b20014956825b05820fffffffffffffffffffffffffffffffffffffffffffffff3b6422bc2eb05008000581f024697b565cf7187ec669d7f960d3d03d650a508a2c3b6d565ff196c0146fc5820ffffffffffffffffffffffffffffffffffffffffffffffcd85e8cdc3d1984db000581f02e9fc15b29e4a16aa7b60f3994190e84ff325ac556fcb7a0127bad4e73200581d34585283274e58d7afa6e1a90db80899a8a013f19ed1a1cb716cb1222c0219050000582003feef1b9a0c4d4cc1c63009bb4b60e35d740655bf127ba2935de9af60b53580581f13ad3b26fb2914d53360d1a2a599b7cb736f7b4268d35e09a0778221efd5d002198c200058200376a5c0fa5f3bf71e6c1e92d9d92c291777b24d4386bdb0a0aa99cb723339405702dfa92110c36f66464fcddf416b50e3dc7fe847e5774c00582003667fc956c9b09e6996debc3ccf081baf8de2d22c6b55baaa11a7076b0cc2205820ffffffffffffffffffffffffffffffffffffffffffffffb869263532b1bf5272005820033147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289057010b46c6cdd6e3e0828f4db456ff0c8ea000000000000000582003a2154005d521d9419f4f4ec80324bd34c9e01bfa219fbf2e8b2f3e297d20c05820ffffffffffffffffffffffffffffffffffffffffffffffcb591856110ad123a30219800e00582003b8184b92d494680a4f4a621bcb675a9c19dea1c2ed12b66a3e663d84ef94c05820fffffffffffffffffffffffffffffffffffffffffffffffb3365431ba0add52300582003f62ba2cc3b2c4c8e70145304d28b537e78cac31ef0a9e66d439062bd4d0bb05820ffffffffffffffffffffffffffffffffffffffffffffff72f2924f6b194b015c00582003ee2af10fd214764b55054185e5014a9421ec8e69636905f5f38173f524b3805820ffffffffffffffffffffffffffffffffffffffffffffff917d29fa1ffbddc48c00582003328637a2885044efc02ebb3a40c17cda151aa917fa86fde60e7e5f69432fc0581e0a0394e64d07fc7720b33a5dd7aec57f38ab19cac90ebf03f5016facc62400582003e72ae15c937958de6cf6f42719a0a75f00d282414f61edb417bf44bb6c93c0490586cff825aab4a8080219570003609d2656350cd2ba5064f25ffe9c6c470ec2c328802646e9d3663028825c2ba8035bb21459a3eb4374855e8e5139322bae68f3ca5e23574bd750dd07d75fa29d7903a3a65163ed3de79fe9fe29df7fe86e5913d70a181755d511d5a906a0ba89e1b7037f8767ffc1ca3f791d379cb17fcc2c341cd19718060ece2dd0f718fd4a17f6db038c5932861fe8418d261dd0a6b929eab217367dd4a8d829c7d7bf0dea4413571f005820037a2ed20d440b0ab76901d2621c921074a579cc33c2f30e4148ea5078f90e105820fffffffffffffffffffffffffffffffffffffffffffffe2eb9db095fe543b1bc005820031a337585fcffd08497e2bf7723fb1a37c3dde577b6548f01fdca1594fd9220581f02bdbde5fd4886e46def48ce033d535c749deda0a03c9c0a2791dfb171b1d400582003978641f4f484361e34de6e4f893b1be2eeb7a0bf0742f0c3ac195e3ef7db105820ffffffffffffffffffffffffffffffffffffffffffffffed76e4d7e4d5f73862005820038255620f1945b226060f11e3c87030abf317dd222ce0b5fd0e825a9f2f42205820ffffffffffffffffffffffffffffffffffffffffffffffdc3b15a3f38a74c3f6021903210219ffff0302812471204a20f8fbf1fedb51589bb25b762f85d239e62ba8bf3c99b4d88d0803965a9b76c8b12e0b2d77d65c07de1812bec2e54e8c0db02ffec32c2ccde23885030a59aeee00aeb46defb475d026f9d6de1d565227d02ba03d064200b5feec563b035b2d66ae79da517cad333caf16f9ba5818ec8802c51c254faf2d33e612974c25035623c22998eb7545c9dd81e2a255a3537a7b080e1f93fae39d28f3e66b4302cb0390f9bbaed9d436d67465677bd1b101d801f6838197e0d6d2b3898cc481d6ef7d03f3c9ff17dce521b1ea3eaef9e2b60d65626ead1d69ed5228462685b9e7155e9003312b580ec8e1f98cfff0aa10b5a724b1db861880cc8a94f799dc318775224bcb00582003f1df4431c4a655b588ab4e364a5f3f646f95259cd1b0ca508c69c0bd23e1a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200324cde3bc7cdbcbe1dba229833c7f1ca54edab429fc814405963b1b15f2eaf05820ffffffffffffffffffffffffffffffffffffffffffffffce6760593568a35c7f0058200317f83b0e3193e70394c5c7ae1acfab67f4851514044a643396dce840b653605820ffffffffffffffffffffffffffffffffffffffffffffffd2f3535687c29049b800582003f0951f30f1ad814668247938bee0a05db0e08ebfb1b6694e25d217c45bc1805820fffffffffffffffffffffffffffffffffffffffffffffe32a0fd70d13e59d0dd005820033918a55846ce42b68aff8b8f5dc9d5953e50ef375249e3c7c112ced508b4f05820fffffffffffffffffffffffffffffffffffffffffffffead08901b05c6a49ffa005820039405b3c475987e53af9a64af9a76a0b62b2a40e5b15b7cdbdc81b7566bca705820fffffffffffffffffffffffffffffffffffffffffffffe8412fb41fe532aaf3900582003cda671425b0c099a7ee2ee6552ddc4852f7fadfa3777f224dd7f64b64907905820ffffffffffffffffffffffffffffffffffffffffffffffe2a7d543966283b3b502196c8503137bed25f4cee21f3cf72da1b4a56e00c0aac9154f923c2eada1ab7810c481af03c87d9097edfee3e77c987b5e889e8e0760567b6b3ba1e1bc3518fc5efbbcaacc03aa16e0656311084e679f2129afb2ba5a24c93f7f9554428809ecff0c083d357a03b89aa65046a09b1467394a3c3161f677e4f24cbaf9ef5501a985aac648955b6b03f88432eb42ea491ede3f530ef62d07f6718784038dd49053b438650ebfe0f8c20058200332064ef9eb788b87b429ab78f189c9f2c51fee5ef1591d71c43ab1574eec505820ffffffffffffffffffffffffffffffffffffffffffffffe941b753f799dbe20b0058200368eab5b757f1f1655a6f74a4f148b0dcde83a96216d227c5bb00e71ff32b605820ffffffffffffffffffffffffffffffffffffffffffffffa5ecc4e40bc3b6260200582003c60c046022d5cc1735fa4e6938a74e1db9fa80d7fc26c012c42056302f6da05820ffffffffffffffffffffffffffffffffffffffffffffff5ba8f4950039f3bbc1005820030dcf8a961132437b5f45a827d9b8111969e86e85212092687d4d5edf07a7d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a22800582002c4754c55946df928f40101d37da90082102bbe051a50559f612ac75163e2c55820fffffffffffffffffffffffffffffffffffffffffffffe0f4538266e7afc943903a22d9aedbb0e1fde35d06ca989dd2d66887ed93dc3b42c848f7678c1bf7754290219ffff03e60d7d282e9f154f9530725e7496fdb5f054468de4d44c0645f645a3446b387403b4ccd53054e0c8defab212aeed3789cf3df2b4b6f805eb2ccd09b62e578ecda7032307760c60d5fd9713dc496c135d9ccba65297cd2b17e569d08502d0d4b82aad00582003b79bb2446c65f057583c5cde9b7e469e862daae58920b321511c9f9d8cdb105820fffffffffffffffffffffffffffffffffffffffffffffe423646fa17a7b543e00058200344e662206f8abb1107eaf439f2999a1818d2c1ee3e09b019f562cb8ba3a0405820fffffffffffffffffffffffffffffffffffffffffffffff0b1d137ec6ccc036700582003029688e2c744b535394d9fab8bad1febbd497c1bda42a236b41067ce8c53d05820ffffffffffffffffffffffffffffffffffffffffffffffa22a9ba71ac45bf70b02190206036726a9274d9a051a28db970c0a6fd364518e9cd282f9f521d8be8237f6dd748003a0886226a05bfe49bea8fced424f55bf9b263c461ccb3ad6354c20c77ff42ce1005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05820ffffffffffffffffffffffffffffffffffffffffffffd5832edc300c384c300003eec753a8f366f9e0e502ab3e5ee5e2568bc6a718180f3b6302d7c6e1ef2f8068014200b603c81f8a25ca3a81315f2f56f87922bcef8b15a00642c1a2cec2df21b3750f65b2005820036b636eb0bcdb19a7cb42fdfe8ca399631f2e46156afe324008e0051ca618405820fffffffffffffffffffffffffffffffffffffffffffff0124bbc1e567520cc1102195820037a1510a6ad6a5528757bb9c8c244fe5f860e48eab3c268b50cf33af9b573ff0d038dc423945e7bcd60b1f16cb1fbe2391326b2c63205be1a62572a297f1461e4c101410f038faaf8b7eabb0f84a3235416f88374edf37c99275952a285cc385c5562b3fc0003fd37aa92ccea393968fdd1c1b822c50bbb4ac2fd368012cfb9fea093afb42c3c032c2c3742cf20f06862d0d9ec2ff5a39a3306aae87a46c50843667e223c4ab61a0058200258bda7d69bfcff21cfadc75e5718accb5ad6b4825cebf82444d97070793ea15820ffffffffffffffffffffffffffffffffffffffffffffff9eac0b8c91d19db59d032f9518dda8249878460d6eaecf9c62fec72766e9e520d5bbbb5393843294d3f303427e43d55fb7d44e0adca353863aa9154ff8917109fdf49f501fdf64f8e2b7fe0219f7ff0219ffff05581e03b790f257da0a745858271f9aae8a2fd9cbff037744f3358b1f03cf5a500701193d8905581e03c5639ba0a21396ef525ac8d8a196ccf6e70491589a59284d62a45374d0040205581e031d6f8a11a5bf2210233e466ee94e76a3558a7fd185eb0432edae388d900c164714705bf664cbb605581e03b53bcdf5beddfdf51d6a868937edef639fde323e7c51f7b3699b5bc3c00c0446c51e60070a3205581e03a61512b4c4455de44ac6f45665ff4cc673cec0fc5b3193e6545e5ccc000c044804cc365f7ba6af4005581e031a96ec9cd131341d4d05c16a1d6a68d3a7aba6be14486473ad4b461c200c034702189a146ae00105581e03090424fa007df7f4db7a47a94236c3f4497d1d2d41b38f6724941c74e0040102197cc1031b3f1e591523e7d4b7d3710fa5f39aff42477c5cbd4eb9e1f3175de48045c6b70327ec55f3f3cfca518874603186b458d224e9ec5a503f7826b74ed455b964380903be3ae4380bc7d78eeeecd4af33fbcc8f63f5747aad1059d56f453bb1d2fd0575038c7eb831bb90c24d84d3ac58904a7fe709c1205cf22bb6bfd0402047c001bca003f31346820c144e397a3813612a5e0c79a8ed3c1cf374680f6d9610a53ba92ed30314274dbc650d6d162dacbe1737b2342fbafaa0e9f0efc159138d13e999ca42f70380151d2617db1dc5befb2f5b0874622dbcc76e9edc0e2a0234ae39cffa88521b0382cd1b0b42c66d2c0fc969eb28d3309975331992926719aa83743dde3e9957740219ffff03370c5377d6eec995832f61673a478049ce4339b55b37cf9adb98f24a37e97c4b03c5529f37a4feb5980e948eed091e3778a6f2b243a1b16af4a1ee8590e59e459e033994cb2b7849ffafa4006f2d8a18520e4a1164c241fa082c8af14c944bfb255f0348619298eb0890154a92dd6ffa5545c74ead9d1bcf1001f1ea331512787e779b0219ffff03713f94f3f555872b76890dfbfb78b2bbdb36504cf3b7a0432eebdb37c11650bf0339c8d90e3ae0f36b05ab723d265d1f6e983da7cfe250a77c77d71f4d1cf1add8036da313a0e0dc6e6bd4652c949b2ceef97926fc56751c7c3b6d9e51b5026445880339063e726813961144aa21ebd28649c3eda0e5eab6208eb0a0d1c01d5aaa12ec03b1ebddb2a249826f6852002f62b59126b5d5e8949b00642157a985c0444d45c603dba94fa98b0bdf5a76f0d4132a7a020469a871a1dddb873d6016ca19f4c92f7d0316c17a940219a241d541b64301b3ccfe62a8438a662c83e6caa83ac270ee286803a50478b55a7522a1c92033de5641b40f8964613111fb154ea34d8722936c60960396cf97acd95f7aa8bcc9188ebfc83937aeaccd4eb380949fcea5c595fe624db9031d93f4b99edda3c1403a2ee8fb6f5cb872f8cb7f166ea686b1561572f43b5502036b5d4c29379f876400b031e3458ddb50a50641de7e3caba3906463f4fd944db103a4415e8d576e8b3bbb0b1844d20ed638b7b968f80f230f53878c8fb3e87b0cd603d485e39ea978f421613562d6ff5376087060cb431dd1ee5db39eea520dbe6fd703bea91d1fc0235db6b709bba3478dcb564b3c5ea74c425cb03326a490bbbdf72c0347faf37806e43222823f3f613a25e7c3d4274076954e3c1731403e4edcee27f603ad243756229efe434818f49c7c15752f84aff5fff9a13972b998287337b935da03138f4d776f56f2430e1ab77f687bc8a5f534d1f6804eb36b3f7a66dab8f28f50032496757893ae4cb7d2fad45e7b19836e5f1d2d1158535f258cf656529e510baf035a36d2f7704cc508dfab7786d4a65ca06201555d6e1aa59e93314b4f06f450ba05581e033fc79c5ed2a63b07232ee0c93855f74e574770c2034a529f86eaa6d3100c1818476f0dac3113a7c003b5ac00fb4da91b0b066cfd0374aa75ac94ecfc85a1ca3450d49d5a783cabec2f034ad35cca1e0612eeaee329461331a98da151f896331503dfde71831219b4b68405581e035d03b94dd2cbe7958ecffb1657996206cb3c4072c98046035d7ee05f40040105581e03745ccdedb2b127f7967c8270c169ba53aa651b25915942229ae969f660040105581e03504f1e7240ddab674388495fb03614121923c81465c1bd5738ba9fc5e00c1347041b87037e820005581e03aa77bc464bad9c3b27cda9178d6ef42522ebd7fd6bb26b568eeff7bf20040305581e033243b525f61d2d64326fa190f250bca53d07ad69d0862721a5595831d0040105581e03c41ef4f091167778c7848dffea87930c5587ea474e416de6be58f9e0a00c014701b64cca2a6f3805581e03b40d4298c74f2fcf555ce9c1c5bdfdc4e4bfd7f13a2ca314afc92190a0040203b72be80d40dc5da08851edded90e44edc8544db9f5ef819530f3a581f91205bb05581d02742fd4bdb207784a9ad183e692ae5d484826450404138c539fc6c36208472386f26fc1000005581d02f86b8265aeb6f7edb8f04f702b3715ad9f083830d3a88d2b69fb90780c04443b9aca0005581d02939b79d19a1940a3142c2abbfc706110458034dee7bfe1ce11e36c1d0c185d47012588f754c2b802182c05581e03109f8dd4c0a79bb6fd3a5a32fea0c732d62c2b1b1ee1b5bba5280f56c00c024745308315cac2440219e7fe0323246ac7ce0c231d178f737377aeb816db7bdb8d4c164f3df54cf51b6fa1d99c0380f5f63b329f724d045b1ed369808adb32e3859d12fbdfc783998d6e0f3a0d7203c7448716a83b3e83fc0ccfdec3634aa17befe6c5b0c0a2ac3383790258e2aa0a03b4796ba878a141cbca2d262219d4f1fd1c0ddc37e9a448cd7e163133873a02620314d0e382a72463c3fe6ec771aab7cea7da42899b0f5449736fe13c55bc071f40037425cc3f946a9857e62ba9c430f93fffa42603efbe5fa4a18cb60aa80592f4630331738d958afa5f6d636f9d9bb99619eab133d91add8a9c1f420ac824887b6634030a449a0285d4a1356971dd388c04368ba7bb768c483527d4eb7072d24a50401803c7dbf6ab292702f4cec0f9c1160eb7e2b6b3aef0ca3ce9f0f2a4c67669c94fa903442b72d6288b9436049b27f434f67adb3d391baa545c5bb6622b8cc42fb3687e036ee4a4758620c6394ac8ad8e7f548e70fe982847d7e8555312c482dd947355be03dba830c8be8242646098c825a811fb8bde6c8f2ef130a60d4195e01eba4626ef031ba9ce9dfe16d822fd9e122001258eaca21f0d1283e07233032321adff6789bd03e840f84fe5f64a7d924dccdaa9a2dec9a927aa7e766a1f658b24f5ccf856008a0219ffff03c54074427dc62e1484659bc2a70ff7ee6ae87da7999021339e7b4ff75d0c8fbb037e79dab119b0063f78e5afd1b098e1e361d0a332519420097de1c6d9a596950003a968975d138bf2b79a4c53f9b912e4bfe7967a777ec09b9b83f731bbace356e603b5ca5d6af3c891be61567551f7bfdcf2258ddeefb03efa222b4502a937c6a4b4032143b73066d874750386c027f29f17d4db4f36351ac57acb5e1387f6285dbc6f0219ffff035a1c04e6841dd78dec0dc38c0c482576d60a6a3e5bffeba6992b10f98056015a033f73a9ad17548c564d6737fa84d7ca5cea1d2afa2e29694c38bd4a4721058bf60349b5b595898f5810e7e9aa48ef14445a0fa4b4cb26f0c2bcdef001619aac7a43033c682248719695a255138a1e8056f41ec17d560e4b9a6c00b911bf9df8d1c4eb03cf8ab4dfd185e678f4f1450c66f635889a65d1151ddd3bdb688776753fe5a9000219ffff03d192ad9fe721ceea862a50858efe6fedb2c27936f138d31f5ba545f1b2a2fb18036e3ec89f60cdf61ccffde50b44ad8e639a7368e62b4c4cfc5b451dfba8c8eebf03474b288679242167c636afd969bcd52ded471cc406d4277915d04ab6ad2ccc9103929add0d48c79626dfde9bbd95b2a297dd0aee06eafeb1591ec69c9aebc5874c037e466a15021c56d80495245f959cc98ba91250d1106ac2d313e6d6c95d0ec31503eaf434070eca83b54d321389d73d7600e126f07c8dac529ea3e01fdf8b5186b503fc3b7d16c65299bf599c0999ffcfdabfcf70efa0aa478ac3c3c77f62dca1d73b035e3e19cb7a707249d0a1b51c6624ac880c4bb1caaba602716d32e981fd397add039cf7addb165120299b996bac359e6f07a4f3d0afe1c0c387ce3ae1db5caff86903509a9918df7226ddec5c20c56d6b3a08a894ce68c19b1a8bf6154de38a8cfd4d036a61632825a926879259702ea7497d98abcd78e7d0a6ca47c542b8e192310924030f63669e26f8b206733383f9231523f784ddd19afa2758b4305a3f21f670b59d030ae484a8783daa32531d7138fe3c71ace858bb14e374e97de0fe6a4c3a697fbc03fef2ab377c80da3d48f12d7c67561cfe9fcfc1230aba655e0886d5bd9f326db203e7a60136cabb9557c6dfb41701f4d1ce884d208d90a339fe3d66bebceb635f9d0359efd03505ca1646c704ce25aac403bf4091efd60d0f7457fef756c0cfa1073003c5fda248b5884bfb209573dd55c95653e7434c1f243f0dc472b9af9352174cc30319f699824d8c13c28f0eaf066841b11e9470953cf3d733ecfbafdabf4f0e9dd003be9892dc3b4f6c2d72a28d9fc8167ff0deb9a0e34823101b87df5b78e9580d4703fe66753c6f1c47ef0e7ee4645bbfae5b250bc8d3737be0ad254c960c1989cfba0321d89e063394156a00b187893268886a378e42316fb12e17a4ff5fcb124ef98f03e299e528b51d8f06953ae359e1fff249067e4ebb1e439b5a31259d54828b43fb03e97dd785c8e77ad75abf16237b9231b7fc2556987c292a9526e15fb93878cc86036f04e559740ddedfdef8fc022ca1578efcd41f713cae46e7e1be4dae21dc85e803f333e71e387fd27676a4281da112a6b74ed28eb06e5abb1ba8fe31cad1f2830703eceb4c4349cad78fa0a85a8eb169533f85019a85c7d3f8d50d7607fda3ecd963036a2a747d9ae08a63c73df182d7bc8172cd226dba34e44c29c276399f4b3b133803b5f883bdaeb780012a9a7666a3b3f8779aacb73d7042262c422bb427d449b981034d14f16fbf63f4cc6c812acd07aee9f7896682a06d4baf3ff675209cb785805603da27ce9171c5911c2d25947524cc68e9fae0a4b5c9fe452de4e326a0fcad6e540386b8a0b51765e944c0c719c200fb11aa75625e1ea220d892aec21df5421f0f3d03ca42b17dec35b720578cdfd081cba85825478fea0b15fec8a7a11c9842887099034095499f865898b8b598230c07fc347388bf92acb1fef30639453902134b377e035e4eeb5a545aa946779515b15ecb006311bd74436af508bfad83f83e015ff3c303bfba613a8aa281b3b20e80f00038e3e84d8b272ce194ecf76e97be11ecb222b803dba5ceb740b43604b716a29cc7581543be3bcbfe6c2e7ab457958c18c1a1ad0a03681481ca645b85c4a8c27e8e030667208c56897f613477d2256f485c8202bbcb03a634b7984c7263de188253ee4db9df7f2cc60dac31d83d7837cade1aaaed38310310858b13eeac1f3fdfd449433cc269d94f6c2fa491063bf3e0e11e9dd71867a805581e03c93983f868e9ce9a399ef70adac09091a2c40cd96edf3cf5eb1fb1ec40040105581d0251f977d0d2037198eb45aed014bbb28b010873547879d6fe404de5000c09470471836e0aad5605581d0238ab96b909401fe108e74c200b611b384e54a34d85e4b9bb156d07e00c190f4a47209872a36364d702194010033bf90deab97c0cd515d86f2d31d43860f74c5ab743250389f06509c6570290ee039e90290762fa3e0645248dd3a5b7e4ca7848d97686a1ff9bcc52bd58c0e25e6903cc481474ce17b34a165f3af3a216f4f790e6c12807c7cc43f500ed727f38bf46038d96c08baeaa700748d7149211c1c9ce55ea78be7dbae6a3e3a95fbbbfb14c2b0324cd824f3a01a0b6c1c11868156d5cf0e49d4f75dd2e7e1c5f574f5a4a39b01a03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03c57f9a69201b3cdf60e9a91086079ebace2629f51ea2ac904ca68a3ff007011bffffffffffffffff05581e032ed516747deb7b1f3fe42532364502aa06627cd00d56b110e704c9f0800c014789639c173b84e50219379b03da3ca0b388a7662a0cf23f14e901c1d3abd9e3280ee91d9a262e4571358278b50314636aa7004028650ae05d9fbab77f749bf275d243b39e65593bfe3f557b8e710219ffff03b10c790f63fe85801b0b0e5c4971f9bf506d3410f757a1f4e127a1884c2c577a03650a4d8ab1b488072c78bd196fe6719c15d82b272f81b13dff9c99810d801699039daf41925a9cf34ea209085f70e34d0569f8cc68d4b0896d3644dafd4750f1a303eddcc6e82d8b6173fa0776f5d9311c4420b9677ddf44fb9d8aba67239fcbbdbb03c5ec3decb7e477d65974dca96e32704f60391913420e54e53818c60e45c211e903aebf3dc1a0eee2ded1c27372a83257147fd747a1b085a197c5c89f2c8a51092d0219ffff033605976a581ea0efcd924660aaf492fbc86939ee51399c97fea927ab43ea361b0337659e3c07791260d52adf7e557ba9b3944d5ecdccd9cf1b7e008377084e332103bfd92c8de8c17692963f57a8fa252a47439e8d70c25b22f4a6952f59723fd0b103558770f000ac7f405ba6be5f3e7d02d7d8e9daaaa0a843a18fb81cf6a965392b0314baed4878a36450f29731af3ec8e1e110cc6f69881e93277db533b5205d00d503716bb00b0bb0bdd0dcba68c0f9038846b1331114794433b74bf9d34c133a17d703d921066d09074c9525b4fb8eaad7f4ccb42d82d74683c6ecfbe9673676b9fe3d03ca479dc5287f03e6a00f331e3198b3ce13786c4417f35b9d555fd93781bed2420219ffff03f8ccb1371cc5cca3c53d285a303273586b69830d20dd5e4f958132682320ff2b033ee7e76b60046b7481ee00de49bda3d9211a9d9a7f4d56d0969e060e73b1b81c03b9837c9b030bc151e8ecf06edffab35b8aabb0be3d8620ef48307acaf96a662003b9943bf76d6cc79d07741a2695f0c9b9131c2b73973be06bac0875a38bfe97210394426cd48f4a885745371a7279d9ade50c15f9936e003ab8bb263661255de48503d2cbafb447c546b647c122eee232d4322f642ce02beb931a94c50ae40f17512c032694d97efa8243f7ba7d32258bfa66ae661e830d842a49bccdc62a0cd5986ae6034993b213fa1071e769470c7e9751e2fcc8bd55fc33b975c65c5d875616f1f01803c288c74d81ed72057e6ca1b157b61897ce770f55b87b0ed89b5fe6d394f1e79103f5942ba0e66a40d708644922db578f2d62dc4037ce051696fcb7c9b87f30368d03e5a1d73283bb7ae135f5ba22b1c5eb188d3a89d55f892637da1df5bde10cf0b50386dbad041e44ccf3a813c36316b4cd3e0e38f09d752228d38dc5e39d27cfae7d03f3ca5d4f07840100788c90626ce9c180340b659a8497113af202b86ca86b34810378298f64f0f1ddb73ae2151556658f4ca5aade6103d49da1f9ce109fc0c7730b039f6525d1d1db966444f7d6da563b70b9e30d41c312ca2e5d83941a65c364be4d0331455a61583ca9a493ea2ef0c9b741ca0f830753fd024e56561beb1fc93a23a0038916442d5d695984c01a2596b567cab12d41bb5df00aa28990bc5190ac5ae1c603a6f33ae26edd88a8917d2bfa7d15bd9eb936a7c32b55d60671275b609ee6bc95033db2a197b74e2372c1a08e13240dd3eadf6486eba3e7b55631f356294b72a28303a9d6f5ccaded908bc324b0b4e4eed7529e0e37796dddd7c358616a5a15040b4c03c84924ac93e3ea57cdba70103469b81cb8a1ab6f8f8b2f7ec2064acaca9941fb03e99b439bfce3fadf3064feab3ffe9d0a014708e74c0c0fe5e1487a5dc8e3ba6803c25f27090a9a04cde43e1194434e1872c57f811b8ee0ef3c041d6090931558db03e1d200f747c9063f81b0771a151a788348c2ad3e32d4a2c617f18c2a5773477e03cf0e4af5db7a38d32a1b2ba4b4cde08dee43821421bf6d589d6cc02790cb291e033dd6593272bb8328dbfb232abcbb751195d5196a9620e08f9ceaf85e55ef9da505581e031357f4109e5e6eac3ac0fa8c78e66aa290c567a00d4f6da78edf8d5bc00c0247048a7af8d311a005581e032538a24a098cd4cf66037335fff001e25a870b45ffd4dfdbfa9451ced00c0346b32b9c08fb8005581e03c01fa27f22821daf967a24dec0c2303a03a3ae9e035f873c8e0481c3200c014705299e9982b22805581e036fc2a1c9aa66f2ef5f6c912a2f6df67581bb9731cbed3a258c6b1f6fc00c02470368f03e903da605581e034585af1c3227ad72cf986aa3e386eb1eced4eda28463059f3be12980200c0447345235e795af080306023e6a7b72a0567db033293cb972b5550a9da37d2077d8332e7f98f48f97dd05581e0326ba4d13c3bf743d90e6e8ae278cad00711f131a42f3a4680af32b96e00c1a000554f6492ecbc6afec1d330f4f05581e0375686a3e7e24022b9b50b26e5f875d127b5ad475587970716eabb3e8a00403021957e2038e2512c4f581088aacec47d1558db60198d21b274ff0ae9684b1f3b92ba4525403d56746e913569e9eeba14c664616d76fc3e15006ae3704c98c715bcfdfe61b790346de9c7d68888a81829b35a228c39c80b6ddf5f7807b8c4f64158fcf3454ae51039a0b4be450a67326ce89bb843612804e9e8e75d318bf21c7fb4dcd6f2ad578670367f600faa186f8f3d096351b61a8ca65b53a56c7e7f0bf46beaa13ce2ee6d4c10311f21445a53ba1af6a2d09798a2f3839792677c0cf446ed884c91fc722ecb8080219ffff03e0fe43e8dc95ef1cde6adebfe6b47eb408a0663320045b41e850bb39306a5bf003eee290de78fef0ae9021077e39afbf8dad4ce7131ee5d601f499922cebed802503aa168e7b8ee70a3e5e7b9c6412986099fc44c4a6fcc8204f20f418ee068b7cd3032ba2a4ef66c64376082e219954afa55b8a4d5729512c5c4c189a43310406f8460308a68ee528bb17fd7911a537411f7ed2074ad83f766f96e3541dc33fcc2bae5c0219ffff036b27ff12070988c27bcbd9200a1f813a27cd938ac9a54eaae35d13c5013df65203d4aa252a0165c2b628b8195ff684845c41dd28420ff6074a74b50c1468fb10a7039425d7a32cdcb95f0d391def2dad485f1ddf73c4c5b3b640ba4c22653d06fa1f03810f9c7890e67f9b0ba29c8906161e34f65e90a141624d4bd22c797de8835e3e0320e2467a2a4c856b7b38589a97a2b42cb131e0f1192df4653e595bdfb4caf17a03ce4c99443ec21bc2a1566dca3434fb633dd6dafc5039b0411c953fe7daf5605303f82f723af86190143b69dd874136dbc6e2f2c062683877bc2bba1a10ead5ef0c0382e1f2991c1bdc8be08a9c555cd2f3b9edeba6aadc4780c1a725cfb0c137543e032326b1dba48ca99c89352b81673027ee8ed58d036a5b943611efa2e2083bb69b03ec23c92000b3869a5d23ca801f4b2c7c3930956935d4e93fe14cac38c749e1570345bae3001c72533802c5d161c39cb651335acc146d3ea2a0cbd294add98bc74e030f4267e2a41f8a1b262ef44031330613309e7f3f97b3f4efb9373aaf548915f203c87aa35b169bfe2de6814e4ee10ca8b0a0274d7f44df9ee3d3dd5bf83d68a38203fff5584d18897713b4c2fe15d2e886d7960dac606862997d702692b9797dd0ec039da8bd031c4e403c5f8acf0276d6655df7b03b606dc40338c44983726317de4703608c2132b29f0d9aec0555fee744c786809dd36cae67ba075b2e529684867d9903282c1156c8903d80a11cdfb9038cbf327a67594f8ffc3a0d841a585ee1d96d6d0390afb194c3ec3b812d7c465de0df4f1bbd223509510a5916f2b7cc5cdab2ebec035594861d4d4ace34fc93dcf7b38699d6d32957afc2ad93216f50a8c119c3475c03ef738d29995d41415febf2488e177d44eb6bb25d5ccc707e470f9d8db0686cb503c196fd9dc8596e7da8caae070bba8000e267aa74d5216ee0acc830c12c23a02203cce97ebb57dbbb7f8f70fda4cb817bfede4bb5b6f89dbba770b23db7440aa158030fc87018c0ffed930b0d12b54ace511fa07972b6ae699224b59246f00733afc603edd28e62bdad4c4a9aa870b4fed9d01750047f21eb52c049231da91a3d6219d803bdad6931f06cfcc95bc2868ce1fb3aabc6964187e786bc67aadd0c57c9b047a003f901817e0a4d48bc18f3fbdbf5541bbb4f1d0ff086a492322827e43311a35a0a05581e0375057f29f9950b0dc404547318ecd8febd99cb64855af4266fc6ac1b500c186c48016b01c1b436fe0603562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0343f2cd47be6adaa6c785a3f60e37de200fa383602cecc19824bdaca74007011bffffffffffffffff05581e03780e4e6e0fe2173008d914fdadcf3aa5cc93cddf97f2d895196e189a400c03467529012e81b005581e03cd7def698aa75e0ae9163fd5a3cfa56c18c41c0ce19a5da24c25f35900084726903fdf1cc7d503ed7c719bae3573044e9729b00876fc8a585b0414b4c5c45e9ca98ace0552d4a105581e03a3e44585abae7ff19e72a31240ee5234681c28d1dd7db5e666ff783690040105581e037c8fc380c132a14bfc9ddc9daaa0605b7bf8129322e786c4abb2e92df00c01464757a5a7a0ab05581e03191992aee2d5308a26ddedf6d6b53d48f650ba43423e1abf94f7a8d4700401034058d7b58adf66a9aec5134c2e8d685f337b12ebf7e6fbbd95804be5e5b2dcc605581e03688952c71aa6a983581c0a937ba443ae3d13952eead2f6b85036d400400c01472e8561189db20005581e033101dcd082e5b9e6ec722e50a147e2975c742d712c2d80a8a0222c3ac00c034671eb79a110e005581e0360ddb9e201cc3b00967a1ab7b9f565e351f264954a68a4b84f9ad229a00c0145f76de988be0219e76f035aba0c0e7ae84cd6ab78846ddb1129d247e37fbd67b99c2a1c8bf345cdf4e57d038cbdc799d437803c70fecc7dc6478243cbec22759a3d2bebd0fa65c832c0c6ae03acce27294186f8957c5a3498612d01b0340e2e080cf62f32b86ba47e953e17c403396ef8ee768c7bd41e9d6c9b50b6353812c297c6e38dff005852b676f11bae0c03cfb94e59d5f627584f5673eecd640e7dc0ff99e16fb8465f7dca03cf7cc2885103fd45ae0d15cea262f213b19487841b5d4e718554fc95e86f45f6a371703791f103f66c70ba6c8f40bf09184a7d4ea55de02d6a84fafc314df0eccadd73909583af0349351408b998de2f807f67f34618ef3d56aaa3d624ae8a77cd965f6735e33a660219ffff0219ffff03d165e65e525d8161873f7b092bafc6aa4d2883d2b6b22844bedea757ccb5dbfc031b026eedf85c4092b300917649014dc7df3f7baa641a92ce11132bec0a38a0be037f549fa982b5831b53655a9718c53a071397229d5bcc32f49284aec5780cee3e0381b50b0efb3b83f68d74956437af766134903fe71e7202a8062fd996b038e4e50219ffff0219ffff0344e96da2d9df40b5a35a083d121c2d64d82f1d1ab39900be8ec2156b5000047403397d07b7e6daae1f53a3ac95c4eee6473d384af52367ce0df34a38c080c45058030b72ba33d6cfd3bf4746ef8d3bebaa8b403d1c9dc88187593118a5caa5bab6370334cade0a8b081ffcdc22d2f356f51f28171b26725b94445c821e2b512293eec2039ffb25897a97327997d4969982e9dfb149fde88f2e1a6b2e04c83169e401395c035134ce654908969d217e7229f119d9b51e5a6baf7c9837741a93f116f6106ba603c80bf0ee01cb9fc099ba330f76b99c871562af4e6b59e8e655f49bd588b3cfef037afc4320f759626ab41f7d78ae55e4e77d0a1f4701d95c2e5ea96a54635279b903b786e61ff2e217004e7719d6391b2d8d0893d328602ed83aa16dcd36dc6789190380474a5bcef72968cf17b484a723ee9d3cdb27511b8b5e4bb9b221f227b3b40b039e40a4374dcdb4061c7adf9aacd81690020717116ccfa80b197df9c82c4b820e0383cabd11eac0f09abea54ddf8b9f21e0b591f38e170428e0945d09a55567083e0396db27acfd406579157ea5bbc452062df9ddcfdb44aa94c442035faf83403b8503a2ea261dc12fdaf1c762b628df855db93893ae7b8d17f5295490363860c4d38e0321ec5f6fab2a8528f84b449783678a907ecc858b0e103a86160cd39e05598e160373519fc056f154a44d1536e01d281b957e05c0c60d204a4cfff2759cc2350a79038639e65e8161a34ec46f5c6c4736b5e4180277f10f1539117392812c23d01ef00325fa0536a9b03a1b5dc3547a27ce6879532ed78c7de01ccc7a397898b48202cd039a165bc657c0dc131d847178ebd44095fb9c991b933653c7a9ff3d3d7f11f2de03c7d22a16f4f9d5105a4e42ac13aad6a6c6d9b8d3857d04a238ae8fc769f2f990039bc9889961c40889d3405a8073d14140e057ac9555486aa686acfac93b11b635039d0af4d8a59f11e48ed8f4ddcf427eaff640490637f91805fc55670d347bceb2031c2e322cf3fbf25b20eacbb0f175a01767ef0e33d0c861bd6da857a35a1ec5e303757c7e74d580dc0593e95b1600e3a4502d4d3f8defa05c4d6bef66c34b35193b03446b176b7c8a3973ecc50ded4f7dc01d2e9729cb1739f85bad4d53e51056230703b6fe81ef1a1fec613927b1b2edadfb529a614f94b8a274824f532e6b0ff2ec970376c5d44011f775cabb1161beaaf0dcc0692999c1032372e6eb7d63daf427440c03fba7bfa1ac48a9ca0a81c2ae9ecef44e3a2da6bf4dbcedfc0f7a4cf4596994ab032e9e77fc699a960c701729fc992a23633d5635eef2071d42571eacbd32f8867a0330cc464ff23b7e24930fd8c5fe06632cbb6db8909c1033bb8746e28b2eadc24303e9b22f272fc82b303d8c43a081913545f235c5d657b48a1a6adc9dd1a1f4a2c003093cf262cf1da7db54b780e46377e5e33331f54bace2b4ceedb388f516e0a9710397f2d844030ec29acaecddb052450fbf3a1a9a53ea88184b3016248e43a4289205581e03444695055dfa79bc4b34ecf7707fdc7977abafacea4a850e0dd24ec0800c02472ff038b78a83780459512a608060405234801561000f575f80fd5b5060043610610319575f3560e01c806371257022116101a8578063c7fffd4b116100f3578063def57e541161009e578063e7a7ed0211610079578063e7a7ed0214610845578063eaeb077b14610859578063f35dda471461086c578063f851a44014610874575f80fd5b8063def57e54146107eb578063e46761c4146107fe578063e57a0b4c14610825575f80fd5b8063d02103ca116100ce578063d02103ca146107a6578063d7bc90ff146107cd578063db5b0ed7146107d8575f80fd5b8063c7fffd4b1461076b578063c89e42df14610773578063cfa8ed4714610786575f80fd5b80639f26f84011610153578063ada8f9191161012e578063ada8f91914610724578063b0afe15414610737578063c754c7ed14610743575f80fd5b80639f26f840146106d7578063a3c573eb146106ea578063a652f26c14610711575f80fd5b80638c3d7301116101835780638c3d7301146106a157806391cafe32146106a95780639e001877146106bc575f80fd5b8063712570221461063f5780637a5460c5146106525780637cd76b8b1461068e575f80fd5b806340b5de6c1161026857806352bdeb6d116102135780636b8616ce116101ee5780636b8616ce146106045780636e05d2cd146106235780636ff512cc1461062c575f80fd5b806352bdeb6d146105b8578063542028d5146105f4578063676870d2146105fc575f80fd5b806349b7b8021161024357806349b7b802146105495780634c21fef3146105705780634e487706146105a5575f80fd5b806340b5de6c146104b057806342308fab146105085780634560526714610510575f80fd5b806326782247116102c857806332c2d153116102a357806332c2d153146104405780633c351e10146104535780633cbc795b14610473575f80fd5b806326782247146103c85780632acdc2b61461040d5780632c111c0614610420575f80fd5b8063107bf28c116102f8578063107bf28c1461039c57806311e892d4146103a45780631c8b9370146103be575f80fd5b8062d0295d1461031d578063035089631461033857806305835f3714610353575b5f80fd5b610325610899565b6040519081526020015b60405180910390f35b610340602081565b60405161ffff909116815260200161032f565b61038f6040518060400160405280600881526020017f80808401c9c3809400000000000000000000000000000000000000000000000081525081565b60405161032f9190614259565b61038f61099f565b6103ac60f981565b60405160ff909116815260200161032f565b6103c6610a2b565b005b6001546103e89073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161032f565b6103c661041b366004614282565b610c49565b6008546103e89073ffffffffffffffffffffffffffffffffffffffff1681565b6103c661044e3660046142ee565b610d67565b6009546103e89073ffffffffffffffffffffffffffffffffffffffff1681565b60095461049b9074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff909116815260200161032f565b6104d77fff0000000000000000000000000000000000000000000000000000000000000081565b6040517fff00000000000000000000000000000000000000000000000000000000000000909116815260200161032f565b610325602481565b6007546105309068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161032f565b6103e87f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab281565b603c546105959074010000000000000000000000000000000000000000900460ff1681565b604051901515815260200161032f565b6103c66105b336600461432d565b610e36565b61038f6040518060400160405280600281526020017f80b800000000000000000000000000000000000000000000000000000000000081525081565b61038f61103e565b610340601f81565b61032561061236600461432d565b60066020525f908152604090205481565b61032560055481565b6103c661063a366004614348565b61104b565b6103c661064d3660046144b0565b611114565b61038f6040518060400160405280600281526020017f80b900000000000000000000000000000000000000000000000000000000000081525081565b6103c661069c366004614348565b611918565b6103c66119e1565b6103c66106b7366004614348565b611ab3565b6103e873a40d5f56745a118d0906a34e69aec8c0db1cb8fa81565b6103c66106e536600461459f565b611bcb565b6103e87f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede81565b61038f61071f3660046145de565b612257565b6103c6610732366004614348565b612635565b6103256405ca1ab1e081565b60075461053090700100000000000000000000000000000000900467ffffffffffffffff1681565b6103ac60e481565b6103c661078136600461464f565b6126fe565b6002546103e89073ffffffffffffffffffffffffffffffffffffffff1681565b6103e87f000000000000000000000000580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb81565b610325635ca1ab1e81565b6103c66107e63660046146bf565b612790565b6103c66107f9366004614788565b6130d6565b6103e87f000000000000000000000000455e53cbb86018ac2b8092fdcd39d8444affc3f681565b603c546103e89073ffffffffffffffffffffffffffffffffffffffff1681565b6007546105309067ffffffffffffffff1681565b6103c6610867366004614800565b61313e565b6103ac601b81565b5f546103e89062010000900473ffffffffffffffffffffffffffffffffffffffff1681565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201525f90819073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000455e53cbb86018ac2b8092fdcd39d8444affc3f616906370a0823190602401602060405180830381865afa158015610925573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109499190614848565b6007549091505f906109739067ffffffffffffffff6801000000000000000082048116911661488c565b67ffffffffffffffff169050805f0361098e575f9250505090565b61099881836148b4565b9250505090565b600480546109ac906148ec565b80601f01602080910402602001604051908101604052809291908181526020018280546109d8906148ec565b8015610a235780601f106109fa57610100808354040283529160200191610a23565b820191905f5260205f20905b815481529060010190602001808311610a0657829003601f168201915b505050505081565b7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff163314610a9a576040517fb9b3a2c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f54600290610100900460ff16158015610aba57505f5460ff8083169116105b610b4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b5f8054600a8054603c80547401000000000000000000000000000000000000000080840460ff90811615159091027fffffffffffffffffffffff00000000000000000000000000000000000000000092831673ffffffffffffffffffffffffffffffffffffffff861617179092559091169091557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909116908316908117610100177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b5f5462010000900473ffffffffffffffffffffffffffffffffffffffff163314610c9f576040517f4755657900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b603c5474010000000000000000000000000000000000000000900460ff16151581151503610cf9576040517f5f0e7abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b603c80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000831515021790556040517ff32a0473f809a720a4f8af1e50d353f1caf7452030626fdaac4273f5e6587f41905f90a150565b7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff163314610dd6576040517fb9b3a2c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168367ffffffffffffffff167f9c72852172521097ba7e1482e6b44b351323df0155f97f4ea18fcec28e1f596684604051610e2991815260200190565b60405180910390a3505050565b5f5462010000900473ffffffffffffffffffffffffffffffffffffffff163314610e8c576040517f4755657900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b62093a8067ffffffffffffffff82161115610ed3576040517ff5e37f2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff166315064c966040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f60919061493d565b610fc15760075467ffffffffffffffff700100000000000000000000000000000000909104811690821610610fc1576040517ff5e37f2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600780547fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000067ffffffffffffffff8416908102919091179091556040519081527fa7eb6cb8a613eb4e8bddc1ac3d61ec6cf10898760f0b187bcca794c6ca6fa40b90602001610c3e565b600380546109ac906148ec565b5f5462010000900473ffffffffffffffffffffffffffffffffffffffff1633146110a1576040517f4755657900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527ff54144f9611984021529f814a1cb6a41e22c58351510a0d9f7e822618abb9cc090602001610c3e565b7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff163314611183576040517fb9b3a2c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f54610100900460ff16158080156111a157505f54600160ff909116105b806111ba5750303b1580156111ba57505f5460ff166001145b611246576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610b42565b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156112a2575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b606073ffffffffffffffffffffffffffffffffffffffff8516156114ff576040517fc00f14ab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301527f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede169063c00f14ab906024015f60405180830381865afa158015611349573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261138e9190810190614958565b6040517f318aee3d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301529192505f9182917f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede9091169063318aee3d906024016040805180830381865afa158015611420573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061144491906149ca565b915091508163ffffffff165f146114bb576009805463ffffffff841674010000000000000000000000000000000000000000027fffffffffffffffff00000000000000000000000000000000000000000000000090911673ffffffffffffffffffffffffffffffffffffffff8416171790556114fc565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790555b50505b6009545f9061154690889073ffffffffffffffffffffffffffffffffffffffff81169074010000000000000000000000000000000000000000900463ffffffff1685612257565b90505f818051906020012090505f4290505f7f000000000000000000000000580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb73ffffffffffffffffffffffffffffffffffffffff16633ed691ef6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115c1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115e59190614848565b90505f808483858f6115f8600143614a02565b60408051602081019790975286019490945260608086019390935260c09190911b7fffffffffffffffff000000000000000000000000000000000000000000000000166080850152901b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016608883015240609c82015260bc01604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815290829052805160209091012060058190557f9a908e73000000000000000000000000000000000000000000000000000000008252600160048301526024820181905291507f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff1690639a908e73906044016020604051808303815f875af115801561173e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117629190614a1b565b508c5f60026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555088600390816117f29190614a7b565b5060046117ff8982614a7b565b508c60085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062069780600760106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507f060116213bcbf54ca19fd649dc84b59ab2bbd200ab199770e4d923e222a28e7f85838e60405161189f93929190614b93565b60405180910390a1505050505050801561190f575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b5f5462010000900473ffffffffffffffffffffffffffffffffffffffff16331461196e576040517f4755657900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b603c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd331bd4c4cd1afecb94a225184bded161ff3213624ba4fb58c4f30c5a861144a90602001610c3e565b60015473ffffffffffffffffffffffffffffffffffffffff163314611a32576040517fd1ec4b2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001545f80547fffffffffffffffffffff0000000000000000000000000000000000000000ffff1673ffffffffffffffffffffffffffffffffffffffff9092166201000081029290921790556040519081527f056dc487bbf0795d0bbb1b4f0af523a855503cff740bfb4d5475f7a90c091e8e9060200160405180910390a1565b5f5462010000900473ffffffffffffffffffffffffffffffffffffffff163314611b09576040517f4755657900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60085473ffffffffffffffffffffffffffffffffffffffff16611b58576040517fc89374d800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f5fbd7dd171301c4a1611a84aac4ba86d119478560557755f7927595b082634fb90602001610c3e565b60085473ffffffffffffffffffffffffffffffffffffffff168015801590611c09575073ffffffffffffffffffffffffffffffffffffffff81163314155b15611c40576040517f24eff8c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4262093a807f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff166330c27dde6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cae573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cd29190614a1b565b611cdc9190614bd1565b67ffffffffffffffff161115611d1e576040517f3d49ed4c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815f819003611d59576040517fcb591a5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103e8811115611d95576040517fb59f753a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075467ffffffffffffffff80821691611dbd91849168010000000000000000900416614bf2565b1115611df5576040517fc630a00d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6007546005546801000000000000000090910467ffffffffffffffff16905f5b83811015612090575f878783818110611e3057611e30614c05565b9050602002810190611e429190614c32565b611e4b90614c6e565b905083611e5781614cd9565b825180516020918201208185015160408087015160608801519151959a509295505f94611ec3948794929101938452602084019290925260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166040830152604882015260680190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012067ffffffffffffffff89165f90815260069093529120549091508114611f4b576040517fce3d755e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff86165f90815260066020526040812055611f6f600188614a02565b8403611fde5742600760109054906101000a900467ffffffffffffffff168460400151611f9c9190614bd1565b67ffffffffffffffff161115611fde576040517fc44a082100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208381015160408086015160608088015183519586018b90529285018790528481019390935260c01b7fffffffffffffffff0000000000000000000000000000000000000000000000001660808401523390911b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166088830152609c82015260bc01604051602081830303815290604052805190602001209450505050808061208890614cff565b915050611e15565b506121067f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab2846120be610899565b6120c89190614d36565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000455e53cbb86018ac2b8092fdcd39d8444affc3f6169190613605565b60058190556007805467ffffffffffffffff841668010000000000000000027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff9091161790556040517f9a908e730000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab21690639a908e73906121d7908790869060040167ffffffffffffffff929092168252602082015260400190565b6020604051808303815f875af11580156121f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122179190614a1b565b60405190915067ffffffffffffffff8216907f648a61dd2438f072f5a1960939abd30f37aea80d2e94c9792ad142d3e0a490a4905f90a250505050505050565b60605f85858573a40d5f56745a118d0906a34e69aec8c0db1cb8fa5f8760405160240161228996959493929190614d4d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff811bff70000000000000000000000000000000000000000000000000000000017905283519091506060905f036123d95760f9601f835161231d9190614daf565b6040518060400160405280600881526020017f80808401c9c380940000000000000000000000000000000000000000000000008152507f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede6040518060400160405280600281526020017f80b800000000000000000000000000000000000000000000000000000000000081525060e4876040516020016123c39796959493929190614dca565b60405160208183030381529060405290506124dd565b815161ffff1015612416576040517f248b8f8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815160f9612425602083614daf565b6040518060400160405280600881526020017f80808401c9c380940000000000000000000000000000000000000000000000008152507f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede6040518060400160405280600281526020017f80b900000000000000000000000000000000000000000000000000000000000081525085886040516020016124ca9796959493929190614eac565b6040516020818303038152906040529150505b8051602080830191909120604080515f80825293810180835292909252601b908201526405ca1ab1e06060820152635ca1ab1e608082015260019060a0016020604051602081039080840390855afa15801561253b573d5f803e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166125b3576040517fcd16196600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040515f906125f89084906405ca1ab1e090635ca1ab1e90601b907fff0000000000000000000000000000000000000000000000000000000000000090602001614f8e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529450505050505b949350505050565b5f5462010000900473ffffffffffffffffffffffffffffffffffffffff16331461268b576040517f4755657900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fa5b56b7906fd0a20e3f35120dd8343db1e12e037a6c90111c7e42885e82a1ce690602001610c3e565b5f5462010000900473ffffffffffffffffffffffffffffffffffffffff163314612754576040517f4755657900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60036127608282614a7b565b507f6b8f723a4c7a5335cafae8a598a0aa0301be1387c037dccc085b62add6448b2081604051610c3e9190614259565b60025473ffffffffffffffffffffffffffffffffffffffff1633146127e1576040517f11e7be1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b855f81900361281c576040517fcb591a5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103e8811115612858576040517fb59f753a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612863602442614bf2565b8667ffffffffffffffff1611156128a6576040517f0a00feb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede73ffffffffffffffffffffffffffffffffffffffff166379e2cf976040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561290b575f80fd5b505af115801561291d573d5f803e3d5ffd5b505050505f7f000000000000000000000000580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb73ffffffffffffffffffffffffffffffffffffffff16635ca1e1656040518163ffffffff1660e01b8152600401602060405180830381865afa15801561298b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129af9190614848565b60075460055491925068010000000000000000900467ffffffffffffffff1690815f805b86811015612ce0575f8e8e838181106129ee576129ee614c05565b905060800201803603810190612a049190614fe9565b604081015190915067ffffffffffffffff1615612bf15785612a2581614cd9565b9650505f815f0151826020015183604001518460600151604051602001612a8a9493929190938452602084019290925260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166040830152604882015260680190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012067ffffffffffffffff8a165f90815260069093529120549091508114612b12576040517fce3d755e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b85825f0151836020015184604001518f8660600151604051602001612bab969594939291909586526020860194909452604085019290925260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166060808501919091521b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166068830152607c820152609c0190565b60405160208183030381529060405280519060200120955060065f8867ffffffffffffffff1667ffffffffffffffff1681526020019081526020015f205f905550612ccd565b8051604051612c0d918591602001918252602082015260400190565b60405160208183030381529060405280519060200120925084815f0151888f8e5f801b604051602001612cb4969594939291909586526020860194909452604085019290925260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166060808501919091521b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166068830152607c820152609c0190565b6040516020818303038152906040528051906020012094505b5080612cd881614cff565b9150506129d3565b5060075467ffffffffffffffff9081169085161115612d2b576040517fc630a00d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60058390558567ffffffffffffffff85811690841614612de0575f612d50848761488c565b9050612d6667ffffffffffffffff821683614a02565b9150612d9f7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab28267ffffffffffffffff166120be610899565b50600780547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8816021790555b8015612f6957612ee2337f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab2837f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff1663477fa2706040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e75573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e999190614848565b612ea39190614d36565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000455e53cbb86018ac2b8092fdcd39d8444affc3f6169291906136de565b603c546040517f3b51be4b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690633b51be4b90612f3c9085908d908d9060040161507c565b5f6040518083038186803b158015612f52575f80fd5b505afa158015612f64573d5f803e3d5ffd5b505050505b6040517f9a908e7300000000000000000000000000000000000000000000000000000000815267ffffffffffffffff88166004820152602481018590525f907f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff1690639a908e73906044016020604051808303815f875af1158015613005573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130299190614a1b565b9050613035888261488c565b67ffffffffffffffff168c67ffffffffffffffff1614613081576040517f1a070d9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8067ffffffffffffffff167f3e54d0825ed78523037d00a81759237eb436ce774bd546993ee67a1b67b6e766886040516130bd91815260200190565b60405180910390a2505050505050505050505050505050565b603c5474010000000000000000000000000000000000000000900460ff1661312a576040517f821935b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6131378585858585613742565b5050505050565b60085473ffffffffffffffffffffffffffffffffffffffff16801580159061317c575073ffffffffffffffffffffffffffffffffffffffff81163314155b156131b3576040517f24eff8c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff166315064c966040518163ffffffff1660e01b8152600401602060405180830381865afa15801561321c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613240919061493d565b15613277576040517f39258d1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff1663604691696040518163ffffffff1660e01b8152600401602060405180830381865afa1580156132e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133059190614848565b905082811115613341576040517f2354600f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61138884111561337d576040517fa29a6c7c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6133bf73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000455e53cbb86018ac2b8092fdcd39d8444affc3f6163330846136de565b5f7f000000000000000000000000580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb73ffffffffffffffffffffffffffffffffffffffff16633ed691ef6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613429573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061344d9190614848565b6007805491925067ffffffffffffffff909116905f61346b83614cd9565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505085856040516134a2929190615095565b60405190819003902081426134b8600143614a02565b60408051602081019590955284019290925260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166060830152406068820152608801604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012060075467ffffffffffffffff165f90815260069093529120553233036135ae576007546040805183815233602082015260608183018190525f90820152905167ffffffffffffffff909216917ff94bb37db835f1ab585ee00041849a09b12cd081d77fa15ca070757619cbc9319181900360800190a26135fd565b60075460405167ffffffffffffffff909116907ff94bb37db835f1ab585ee00041849a09b12cd081d77fa15ca070757619cbc931906135f490849033908b908b906150a4565b60405180910390a25b505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526136d99084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613f78565b505050565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905261373c9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401613657565b50505050565b60025473ffffffffffffffffffffffffffffffffffffffff163314613793576040517f11e7be1500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b835f8190036137ce576040517fcb591a5f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6103e881111561380a576040517fb59f753a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613815602442614bf2565b8467ffffffffffffffff161115613858576040517f0a00feb300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede73ffffffffffffffffffffffffffffffffffffffff166379e2cf976040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156138bd575f80fd5b505af11580156138cf573d5f803e3d5ffd5b505050505f7f000000000000000000000000580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb73ffffffffffffffffffffffffffffffffffffffff16635ca1e1656040518163ffffffff1660e01b8152600401602060405180830381865afa15801561393d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139619190614848565b60075460055491925068010000000000000000900467ffffffffffffffff1690815f5b85811015613c7f575f8b8b8381811061399f5761399f614c05565b90506020028101906139b19190614c32565b6139ba90614c6e565b8051805160209091012060408201519192509067ffffffffffffffff1615613b9a57856139e681614cd9565b9650505f81836020015184604001518560600151604051602001613a489493929190938452602084019290925260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166040830152604882015260680190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012067ffffffffffffffff8a165f90815260069093529120549091508114613ad0576040517fce3d755e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208381015160408086015160608088015183519586018c90529285018790528481019390935260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166080840152908c901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166088830152609c82015260bc0160405160208183030381529060405280519060200120955060065f8867ffffffffffffffff1667ffffffffffffffff1681526020019081526020015f205f905550613c6a565b8151516201d4c01015613bd9576040517fa29a6c7c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160208101879052908101829052606080820189905260c08d901b7fffffffffffffffff0000000000000000000000000000000000000000000000001660808301528a901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660888201525f609c82015260bc016040516020818303038152906040528051906020012094505b50508080613c7790614cff565b915050613984565b5060075467ffffffffffffffff9081169084161115613cca576040517fc630a00d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60058290558467ffffffffffffffff84811690831614613d7f575f613cef838661488c565b9050613d0567ffffffffffffffff821683614a02565b9150613d3e7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab28267ffffffffffffffff166120be610899565b50600780547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8716021790555b613e0e337f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab2837f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff1663477fa2706040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e75573d5f803e3d5ffd5b6040517f9a908e7300000000000000000000000000000000000000000000000000000000815267ffffffffffffffff87166004820152602481018490525f907f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab273ffffffffffffffffffffffffffffffffffffffff1690639a908e73906044016020604051808303815f875af1158015613eaa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ece9190614a1b565b9050613eda878261488c565b67ffffffffffffffff168967ffffffffffffffff1614613f26576040517f1a070d9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8067ffffffffffffffff167f3e54d0825ed78523037d00a81759237eb436ce774bd546993ee67a1b67b6e76687604051613f6291815260200190565b60405180910390a2505050505050505050505050565b5f613fd9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166140839092919063ffffffff16565b8051909150156136d95780806020019051810190613ff7919061493d565b6136d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610b42565b606061262d84845f85855f808673ffffffffffffffffffffffffffffffffffffffff1685876040516140b591906150e3565b5f6040518083038185875af1925050503d805f81146140ef576040519150601f19603f3d011682016040523d82523d5f602084013e6140f4565b606091505b509150915061410587838387614110565b979650505050505050565b606083156141a55782515f0361419e5773ffffffffffffffffffffffffffffffffffffffff85163b61419e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b42565b508161262d565b61262d83838151156141ba5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b429190614259565b5f5b838110156142085781810151838201526020016141f0565b50505f910152565b5f81518084526142278160208601602086016141ee565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081525f61426b6020830184614210565b9392505050565b801515811461427f575f80fd5b50565b5f60208284031215614292575f80fd5b813561426b81614272565b67ffffffffffffffff8116811461427f575f80fd5b80356142bd8161429d565b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461427f575f80fd5b80356142bd816142c2565b5f805f60608486031215614300575f80fd5b833561430b8161429d565b9250602084013591506040840135614322816142c2565b809150509250925092565b5f6020828403121561433d575f80fd5b813561426b8161429d565b5f60208284031215614358575f80fd5b813561426b816142c2565b63ffffffff8116811461427f575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516080810167ffffffffffffffff811182821017156143c4576143c4614374565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561441157614411614374565b604052919050565b5f67ffffffffffffffff82111561443257614432614374565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f82601f83011261446d575f80fd5b813561448061447b82614419565b6143ca565b818152846020838601011115614494575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f8060c087890312156144c5575f80fd5b86356144d0816142c2565b955060208701356144e0816142c2565b945060408701356144f081614363565b93506060870135614500816142c2565b9250608087013567ffffffffffffffff8082111561451c575f80fd5b6145288a838b0161445e565b935060a089013591508082111561453d575f80fd5b5061454a89828a0161445e565b9150509295509295509295565b5f8083601f840112614567575f80fd5b50813567ffffffffffffffff81111561457e575f80fd5b6020830191508360208260051b8501011115614598575f80fd5b9250929050565b5f80602083850312156145b0575f80fd5b823567ffffffffffffffff8111156145c6575f80fd5b6145d285828601614557565b90969095509350505050565b5f805f80608085870312156145f1575f80fd5b84356145fc81614363565b9350602085013561460c816142c2565b9250604085013561461c81614363565b9150606085013567ffffffffffffffff811115614637575f80fd5b6146438782880161445e565b91505092959194509250565b5f6020828403121561465f575f80fd5b813567ffffffffffffffff811115614675575f80fd5b61262d8482850161445e565b5f8083601f840112614691575f80fd5b50813567ffffffffffffffff8111156146a8575f80fd5b602083019150836020828501011115614598575f80fd5b5f805f805f805f60a0888a0312156146d5575f80fd5b873567ffffffffffffffff808211156146ec575f80fd5b818a0191508a601f8301126146ff575f80fd5b81358181111561470d575f80fd5b8b60208260071b8501011115614721575f80fd5b6020830199508098505061473760208b016142b2565b965061474560408b016142b2565b955061475360608b016142e3565b945060808a0135915080821115614768575f80fd5b506147758a828b01614681565b989b979a50959850939692959293505050565b5f805f805f6080868803121561479c575f80fd5b853567ffffffffffffffff8111156147b2575f80fd5b6147be88828901614557565b90965094505060208601356147d28161429d565b925060408601356147e28161429d565b915060608601356147f2816142c2565b809150509295509295909350565b5f805f60408486031215614812575f80fd5b833567ffffffffffffffff811115614828575f80fd5b61483486828701614681565b909790965060209590950135949350505050565b5f60208284031215614858575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b67ffffffffffffffff8281168282160390808211156148ad576148ad61485f565b5092915050565b5f826148e7577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b600181811c9082168061490057607f821691505b602082108103614937577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b5f6020828403121561494d575f80fd5b815161426b81614272565b5f60208284031215614968575f80fd5b815167ffffffffffffffff81111561497e575f80fd5b8201601f8101841361498e575f80fd5b805161499c61447b82614419565b8181528560208385010111156149b0575f80fd5b6149c18260208301602086016141ee565b95945050505050565b5f80604083850312156149db575f80fd5b82516149e681614363565b60208401519092506149f7816142c2565b809150509250929050565b81810381811115614a1557614a1561485f565b92915050565b5f60208284031215614a2b575f80fd5b815161426b8161429d565b601f8211156136d9575f81815260208120601f850160051c81016020861015614a5c5750805b601f850160051c820191505b818110156135fd57828155600101614a68565b815167ffffffffffffffff811115614a9557614a95614374565b614aa981614aa384546148ec565b84614a36565b602080601f831160018114614afb575f8415614ac55750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556135fd565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015614b4757888601518255948401946001909101908401614b28565b5085821015614b8357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b606081525f614ba56060830186614210565b905083602083015273ffffffffffffffffffffffffffffffffffffffff83166040830152949350505050565b67ffffffffffffffff8181168382160190808211156148ad576148ad61485f565b80820180821115614a1557614a1561485f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112614c64575f80fd5b9190910192915050565b5f60808236031215614c7e575f80fd5b614c866143a1565b823567ffffffffffffffff811115614c9c575f80fd5b614ca83682860161445e565b825250602083013560208201526040830135614cc38161429d565b6040820152606092830135928101929092525090565b5f67ffffffffffffffff808316818103614cf557614cf561485f565b6001019392505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d2f57614d2f61485f565b5060010190565b8082028115828204841417614a1557614a1561485f565b5f63ffffffff808916835273ffffffffffffffffffffffffffffffffffffffff8089166020850152818816604085015280871660608501528086166080850152505060c060a0830152614da360c0830184614210565b98975050505050505050565b61ffff8181168382160190808211156148ad576148ad61485f565b5f7fff00000000000000000000000000000000000000000000000000000000000000808a60f81b1683527fffff0000000000000000000000000000000000000000000000000000000000008960f01b1660018401528751614e32816003860160208c016141ee565b80840190507fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008860601b1660038201528651614e75816017840160208b016141ee565b808201915050818660f81b16601782015284519150614e9b8260188301602088016141ee565b016018019998505050505050505050565b7fff000000000000000000000000000000000000000000000000000000000000008860f81b1681525f7fffff000000000000000000000000000000000000000000000000000000000000808960f01b1660018401528751614f14816003860160208c016141ee565b80840190507fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008860601b1660038201528651614f57816017840160208b016141ee565b808201915050818660f01b16601782015284519150614f7d8260198301602088016141ee565b016019019998505050505050505050565b5f8651614f9f818460208b016141ee565b9190910194855250602084019290925260f81b7fff000000000000000000000000000000000000000000000000000000000000009081166040840152166041820152604201919050565b5f60808284031215614ff9575f80fd5b6150016143a1565b8235815260208301356020820152604083013561501d8161429d565b60408201526060928301359281019290925250919050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b838152604060208201525f6149c1604083018486615035565b818382375f9101908152919050565b84815273ffffffffffffffffffffffffffffffffffffffff84166020820152606060408201525f6150d9606083018486615035565b9695505050505050565b5f8251614c648184602087016141ee56fea26469706673582212204858b819e069d15c2eda851551489625889148d78d99fe49fd166f9ca8fd780064736f6c634300081400330605581d02f28caa60c0e3c31f9cba2c4584b8c5ddbc0781d3412f5afbf37e1c9b070119512a05581d02507fc708af66f882246f178c9c2b22573e4b7e5b8db424ef371a597708471ac252b5687fa605581d0257b7ba7267cd15020b2a54b913f4a09ccdb50be7c3150d1185ab6e540c0447063f1c26ffe53805581d02a3295469d36e4433d10920033f2e952b7767f3b332feb5ebc34bbf780c024720ccef9d38ea8005581d0211b49a1d686ae85ff709a1e331971c5174c0c5e40ea2a37bb0c375860c024719eb171c27b75502193d0003786f30d79020f7b9bf2ef7f476f9f80a674f78864ee7999350a5858e36ff643105581e039c474623e8df3b080d2d456f95399040b9dede31e103b26f847bd79fe00c01470940f689daed3605581e039cf89ac982a00f3007f1ead95554dfc9d63465ff66c2ea006d3a4bb1a0040103b44c1af2b570c70400d9cf57e852242031c49b28fb50d34cdf49d8be3c9dbc5705581e0332495c5169a6c535cb0e68daa5aaa88694b3bc9b1faf0363cb110a5c9004020219d911031e9990ace1832ac3df08de47afedd483b06105e2c89719cbfdf891ab367921ee0313591e0f33dbd0dbeae7951e6157f22cf2558fd1abaed6d9a3c589d0162f2e8b0316fb64d17c030cb1c57c84d291d1164a3fc8f4a8668efb56efe7fecb2932d8d103bca1cb128e02ff01f3779126faf9b5bf150dfba2902c9d4d5931929e7bc5decb0219ffff0369300a0c05c6dfe0ae7a5bdc20334caa257563e47e798442c678982b67e8f98203a92d184d6812c059c99beaec4fd234d2e5df706f1056a44c341a2438c3a9f9ca03fd0e8db0b6dd2e0f15705c7f74ddf6cf9c587f48c1c209aa7dc8b0ff962e501e03180fab025216e40f46db9e0102f9c1187b23326bb514697f69bc61c6eec914b503115886f16b0ec4d84aa3853818754be88302639cba24ed08becc5aa7f57fbcc90308bb3ccb9e0433a53c248e56688e215783e7fc34e424372746ec6809e95028f90219ffff036778141adf05468baffc1d5f21bd5d33cfbb9777c44c597ac7720359a36d942e03d2f881583bd177f19ff2439443ba7a3f04c66fd7986b255049d6927642f53a8a0219ffff03d7be8ce261b656b2b4a4dffce0719aeceed2dad1516b0869d1d81a8800512796031619a6a4cd436a3f35be2d7f2f1e873aef8b49ce642c217239be54d558fd0df7036af0cdeb8b7e1bcbfa69a591c1c35a1ab865e3f13af362c975376035a377c2a603714ee504940b285cba65971f4a90223536f510d6f4514128de42d97cec7b6376030a679476418b2ab911cc2a29e84ad80be38bcaf6ab07a113c15e5987e88bcb4003c9fb71227cda38f03e49e59ddab983bff6908f07cd1f282aeccf79a4e047b02f031c38126e90d72822abdc977f604344fc10dee8f0718ad47254de51ab69900f290397198ae2fc18581914d08bfa6d85672b89704aa819d2aab881a530525a98636c033afd4c1c4e9018cb284ab89e8717264ee113fc4159086ceb01e4ce5622574ec003520bc68e50354315b0d3805c660a3573db7875d836fcec56a3f1935d08202c20033316d29d9f4593e464a70082fe3020ce6853a528c8465775ac672d2f6596545703d67760b63c479e0e598e81e7d4116448e9f27e7e4e9912d65b3bb30849995cf603c4ca66c115e926164197f92c9fa6cdf79b604ded57f99607c762ac9f5f8f38df0364886e7f5764a3bf27454504ceb8c2d1b23383a7a1574cfc9f93c93d94f3e7410304fa34d5c99c7ba11677ba863bcb54b6ba2f91abc23d9d52e9f7e4b28ce25645033b0789450c9b76606c25a5aeedca6a6ddadff77b224507b612b65e9c5dce0274039aa1bd9ee7dfd86fb4a5ef4d1e8cb52953ee397b2f2c10a14ae5d0d6e0f8005403c5af09aec49c4acd36ddc6fc6f6cd3be636503071eab60a2794b428f1de1e82303b94330e10a35ed3b530e757483f983e811f68b601069c8af2ae9752fd514cf2303b89e1fbe6bad12f112fc33987f1d995d125ac3957f724136bbf43a8923c52c3a03adc20862908e12917f9f714758e8125755e685f8aa910073e383c06eab0a177603e4f0c3a50256da62cbc2425aa6ecca8d410b64fd43b6acc2da783e81afe6339c033245b7f7e2ba8ceee9c06c0ef3abaa0bc8c4df28d8776c7a227931dfe2a8e1010358d62731514baa1738efaaa1eaac50538a603f3cdc68125074e5fb94a9184c8103b97ecc8555575bc9a1f70ee39aacbd87959236574cb632d0ab714855c33ef2e903cd4e70a02575874f291dc0c216053a86cfbf974e122d6c8b4b0735d4e24d98e205581e03a3b855d864c7f5036ee907001008e665ddeb0a81bceefc24f88cde57b00c024701d0acf29c0c4005581e03f949de0367bafdf44542e78a210eea587d86f48e62642a1ac6f451bc90084a014542ba12a337c0000005581e032c241250e11ff697070b789ab25009f6afab5c6c2d52e4d61e2e8a27e00c014720eaa9de10509f0368c332f85548112bc86491924770010f9f95edc7a191e0183c9d87e93bcaa10a05581d026d8071cd6a826ae4173013fffcfe864b41bcede6fff5fc284cf9226d0c0647521c5f2e02223a05581d02d5897f046e631d7e3f7bef34e28f2cc50ebd8d9b12af07447c31cc880c1a009300974a0f1388f87ee308365ecf0219081005581e03fd5b8921e72b1f4ec685270efdaad8427a005e3bf5d4390465f7f43bb0040305581e03c259821a7e1c4f404b4800fcb87a47abe770628eef633c459efb1025e0040405581e034b920ea8266b9524382be87b67ba2004bc8a68288d041517f649a34c500c014671c671b5764805581e036eb658b41b208fbde4e6c457423728d19c95ecd6241f231a3424589ca0040105581e0322529ad42b234ef9bcfb39e0355c1212937f148b5593648c0caa4f76d00c0147018d9f5be7412f05581e03d5000010fefe5ee1174b13c64b520fa76bd8895bf14781aaf5bc5bba000c01471b3b2773938a0003088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e033bc2752016ac4ff4730c22d998292af9ff70ca52b5768a60668fbd2b5007011bffffffffffffffff0219ebef03df9e9a063f23fad932700c82a9c5c9ef7802a8ec1462ad01656bed4c31f519b303b45a94f53b1085562d0874feabd0ae31a8a45cf4bbab8c6f1d2c09bb51623bf80305c4efd156e6dcc8e8d64e0d7307d7983d72f3ddfbac4961ef92da7f1f1cce8d030856f83f091d8e12c94e2dd1b90558dac9b88425014babffba18f9a57cf55b8003bd9ee87669193dc523c39e54a0c732c6d4cba636f5cfb26d16349129a17dae04035c740350c387fb70107477fc5f37e9097a60d388317f211c79822a1dc83c963503e39567238fc916096177028841555106dd52be35c024791b89aa74f1ce876bb103d9ea88d3f25c87f2be244ee11e2ac4fac6260f688e20790d733881cea4026f5003d9c74cbc76153e7dfa21c97680dceb3b407e7ce608b319577e23cb03fed00e7703d3e558dca56d5ee9b281e0163f38a51a47269bbe4aebd2268666fa82c4b44275033ac7693106a853cd01a2f058c519c4a5aaea0be006a265c7ded3574cd7079f2803bf29b47b399066acffcfb90fc227ae2da985a789414620dc1d0fbe56c46c38680219ffff034e27fce93e4e03e34d337715eec5d3e03716b957f4dad48c2f3624ba6bef66c7031d63eda0471a3c887885dc589afe0d91d99b6e0f0fe4a38ad47d97f8c24d342b03cffedbc8b020357477d0c506a697b3749a6c4dbaee55bb5fbc6ad0f4e0b51bd703f8882cac5a0c5aee79c9f01ffe0426635cc47b1ad2af91c4debdfce555fd025803efb3c2f3aca571086e5006049dba03ab02be889f4e3849c3367360d144a15a000219ffff036e169c78ec8198d14e10325543ca9554baec0d65fa94102040c7e91d8ef943ea034e95453aa3fbb15d1902b202c0c61e1927a56a52a0df4e91515437fd548fdc1e0342487cd4c3ff28f346a114fc6aea26516fab6a58519c62b41e65960a81b8438203e99cbaf551fccd3284ad62a50e2957d43d4644c99e55b6f9e344761868ed168003e4dc305856f67ccd3576cffe1c4b4ecb1abc0c9b0bfc82194a8957f3a74c3c3703dba1fec21938ecc22aefb867af820a44f3420b119b8b8f319b5c8f44f6c764dd03f8ee6a4f05e5abae96c624cdb36f8def997c1de02cc1f9b391e8949205cc857f033ced44aca5565c30c5f89f83b5834a69113e6edfe43521430f24525644834fe20382e849a6760dde8ca144dc4d7e30e9bf9533a788a327203a5ba3285ee55512820344473dec4a6a8dd9f53beae67b2b6cc043b0f32ab5eb7f748b3ab87e59e4cdc70303f69349cab8d2093e25ca6a494dff9031ea14d34a9a03e50106ccb20de4ab8b03587a9cecce96e8226f78e7dd0ad8c1ffc98b976375f3d5ab1b05ba04149d36030219ffff03fa6a5cec78811656d2dba6bdc07df18e89850b412793a77fe9e8fe2c7dccbe1403924432880a6559700051f103e8dd21013d0eb61c15c956153d38e38cc2e15f00032a48ef5685bd63c5c187fac3e1c526a8fd8965c47176a95fe67dbb83afaf62a703965a7a4f1ff970bb6bd679ead4dbc8f524615e386ce3f6ae9bbda023929a0c7903cccdae25212a69a95298c1cfea3297e019afae20e05da53604ac69a32900f64903e3a267bc6e5c7e7c48ec1228567dd8bc1b9244fd22211a8cf12ddb70223846b103b370758d5cc85099f2c5bddb6e6cccb78dbf98d90656eacff44e34ad8105e1990360ce6d5dab41ff4aab03951eda244ddc73d3a50fb033c909766db42261a8ccf6031d8c1f74ef8327ef907eff2b4665148c8d60f2ef0d17e85b00f265ea3698007503aa606b224a55d0c189613495c2cdb3eb9c95645bb6d213ae8b4a74549cdf7fd403c028f09401184e871ea2ad99fca27e5a59ad57922f609605ead5b0f56234486703b9036f847e2c37569eddbb8c294c08f5fb3bb3a2f1bb10b64ec3cf80c2d31c0d03dfc85b8c722ad261b3b84029348fd171ae31de7c0fc4df5c5f8e639dd7e99f20037ce0dd2314453b6faeb0ebec682ca85eddb2fd97aba2b645d2867137793268d60307e0fc1f03e0663df0f1f7559522bbe212bddb6368764ed447bed024695e680903c78bd3ee17a2f208e423071fadccfe6f78b37033ed32048ef3dcdd7991a9f12203b2495378073db6871f35bb5ed0ea972c7d42078d80e9172ee842b2e3c5b9db9603a0c0604363d76338a09183b629e8117b799a281c4b6f48ff1da831382bab1cc90346f4bceee952f397cc5fd95ba07adc440e2539a0891779e313d164572d75cfaf036851ed26f68b9fb1d53391a34a4184e8e467ca8cd7ae6b18aad000effd79d84703bfdc97e721d6f4453338d176764252977d8ae8fa2f51d75b8b09666a23f631fe0340a60a24d2cd442a939727b9a786e017fc22c86e782b2d2fcae67e7fd5feb9a703e249e073e38274b038c3024f639543f317f819a7535f9d62ec741bd6c53ff9b3039be455a4f59a9c4da68af3620195027ceb0e2cf8f011925e15e084bb3fc3931e03948f4597487ef8fa47c0a3593c2a27ff71e6de37ee9669124aac28632dc2655e032ec865715bb92d1e8fc367878888eda02c75f3553e6acc285630a3f6a8c4dfb7038812cf1f30ae66b6b486f13e9daf4167dfe0dfe26fa6b31fca6f52ca9f986956034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03d56c7863d1434d88647e58ce3049e58ff87015c2f8c22ee45fea5359c007011bffffffffffffffff0331c698944767a5da3125d2db596f87ea8957d2b580bb4be80c42a8214f1e925703d23e4dda7eb1a5ebc7a72c9053851d683a26846e837eeba8b9350fe7ac1ba36603562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03ba485de2b0b335828be5a0fe1842369d134c1010ad256bb597675bf48007011bffffffffffffffff05581e0349109c86e3b338d5aefdba9f85164dea57c76bf4f988e5e23a2c6b23d0040205581e0304e5aa7b9292d3ccedeb3c823e3c4d94346c5d8c8ac2ada2b0dc8a6aa004050324c1ff217216ed01dfc2bb0e636e2ffacbb1d145ca54a10be5db64cacbf3b6e103f0a914f451cfa846c706ba9c8747bd96327375e6136d97cc366275ea12b10be003cd1b7452b8c5a1373de9d3b5037e6e53685fcd9bbd781936bbea94ce643b3fd605581e035c7e2ad7579fe781d32de7265713d029f80152f59a221da1d2375507b007011bffffffffffffffff0324704aae6ef1815d838ee85bc6b298323b4a797067fde0193d274231a049ad2905581e03ac42030e7b476c7a2efca7d6f82d774e4b0fc2d34d1ce6d1f27d3ccf900c183c4801cb3a1c1aaa8b520219bf9803e8b4efd66a39de680909053a7ed1545569abe1e3238547e67cf0ddbf55e1bdf40312ddb7912246ea87baf50c66c54083698c765d414693cd345b9faeefb66aa4ed034dcc6ce0f7bddf58f54bbdeb309eff4b4d647b8b9c3d2efa61a320968864b971038def8c5edc98dc8e0a17eaee4f44d72c1658ffdddde42bbb08a5788a191b13f20219ffff03c493f6c7ee8a4cefaafe016166b4d422b5ec7328361db8eec24ebb10e5dd40d203f0da451f1346e19dd8259b60041ff2974f3ceabf298280ea3537166b793e89200375d0b5e72ab59284453afbacee5f8652db31fe15f7690b34de0576b3283d87c20313de7bdb6c2d60c9ea17d8077bcc723eb51ce28188246d86e6b9cd3d043ed16d03d2251f196a23e6861eaacf021e2ebce50aa9710d3fc3d5ee95170fc0fd0b6e0d03ccbaa14dcd627441eb21bd3bac41623842d13e33a941f12d6121a6ba360981230219ffff03efa494fdd7d3a0b291ae2d5e76e8123db95a890d85d004abe719ce80738528ab03753b4a81b6ba532ba99be6ec991567909cdfb6a6bf5545db2558ec2e57c122f9032268fb5fd5f62170ef38cb338c7fc873ba9f23014482129a45a3253f5b371db003ccf3150ea171056060480b22ecea8f7c0bb957b84f074b5a003d4dc8c1cf8b5603521d357c3b825d0316404e137aad8dcdbe6499b2470a66b9ad1820e88b56929a03e0d565dff8a7a35a1c9e731654966f2c2a7402679f331a7f8298a28bf05d9c7d032f86288ba0d442786c5ed7562af97fac53e8d34d939c689596860dbdac4bdbb1033e7caac6b4c1ed2629178da1283ef733d440d38e51a625501be7dc949c440036035e0599d8f731b023d351e0d4da414c75fcf9cd04ac0a78d0e4244cb891a765650219ffff0368c41597b4057d99e8fab203ffabbf896b0e1702b5f3f4f4652be5161ec2c2b903eefd18ce4bed80b1d67c08f7eebbf290b3f6e1d56a11eff8fce3cae8257b7bfb0372eed8157525a326ef807971fcfa99060de91a9c27253906fe4ddffab78845800219ffff033e4ebf95499300aec5bffe64b390857ed4bdf852b8f91cb5cf5892d92657233d03e63cffcdf432b99118e32c5d5b3d943dea76e55492433f77d4a5da2cf7d20ad9035b1705ff8b01e6e8b9c364bf89924cd188972bd73bf617a67c868cb04af7c2a2031cac2e0bc1e62c3d7ca1b4caccdf8595d80ead5753a957870469c62e51eccf7903fa103ff28c73551d12cafe23d5b9a5f7ab3282700099f0a138bafba657c1472503c86c7598c6a3e2a25324a803f58146ae4a72c11509a3fc1493a79574981f0ae7033b04ce265dd1deb14b80ca6f9b6f29bb5b2206120c0bd028e88ea71de054222803f68d348dcabac2419a61cead7a903c649995e9937906ef42b6d33c1a2777f724038df133a8df9b8044ba2e0c38ad0cb6b8ba8f675d81529cca22f64f5f379f17b203f7d4623761dcd605049faa7cc905e7790a01de33d8f295b3f2725303c10ba3cd03f27597d1cfdbc1af830a085a844a178ebfba2a3d107cbfa4782e0d91efc944e20350c978fb764ada6d3eb6d7aa4596ac357b6724195c88c95708dcde0ca9d480c00366deaf2d83eb3a1bdd8c485d2303b9b4eace66a0a93d3c9873b884057e4107ae031fa260419eb5fe468eb631b6fac5cdc58a013f90e1552b9f3affcf415e927f6603c1c9ae7b10cd8a5d532efa9680d5ef3dc9002dad5526a5dd141d0ab2526d9bdd033862dc796e10d2ee00f8a3ae9d1538f11208fd39fa9d8322e6d51dfd6aa431f503be67b59baabb80accfc5c1030f0ee8e8ae16a4abc9fdbd75c630625f9a6081890313a02cff1f839f7244ddbd77232834d3b5141da8eac2b68d7165e3e03dde75b0032e9e7191fdf760017b2bb1c17c17ba599655503733b884fd4e3a3ac1e68e48a7036c05121bef05f2e43570ba4e1ae165a8ea45562ffab3ddccc48e048d4d96c6d90306011789f063614c949d2c6a47adca2b7227dbd172115fc091b0877b6a7949bb036aa53f524f88365eb7b67dd5d17a4f14a8914156c1a5c7720c4c0fa7074bc3b4032c72c5fcedf410d6a75f8005022ec31cf482eeb06d7cac3604fd939f2923fb790398061389a08f22e68b06149c115d75744c882bc1733fc32c3f112ecb87a784af037916be008a1bc3d2ef6c5f2d52818bd75363dcd4b6c77affb0def96d5295aecc035f120ffb92da09b34c5d8fcbe21f61475fe27a9e4e97c8d78d7249911db4b95e032e73fb2e1491b99b02ffca39c0eecc15d3ba1a4081e35e37ac775906374f0867032b8ca4a0f70a91729649a2a8968f1c8e68267d6deba4e5919772e0f6d4f8c724039383467736e9e48cc4a8b6734471d6ec448cbd5eb2ab8e474f7755bbb7576f4003e33a188ae726108e09c59aef34fbeed6f747b24472f555eba361ed08f55b8e2d037e4989fbdea94c1cfadef26635a0a309b1857251769ab6797e95ebeaad6b4a7503a5bf81d6c9949aebf09307c30cb850fc86c46128fa975f2018842fe53d5217ae0370b2083fdbbed8e4ff88c5aee7560d9578694032e6a583364e3a958a2ea0d85403c8b83b471659f5626bd66792d7fdd6e5461a85da00a68bcde3b8afdbf43b293603c51d192f701c016a0f23682b4224649ca3292bf99f988c49564175ad98e32b0f030702357a4df17252a9eb7650e21697a752de3da83ba6ae3baf7021e072b29f3c034995535830a0ce5b5f2bbe918e80578f31f2a2cb94ebf068b42873a075243e9003874f61f6e101dab5f8a6c602a6112638a5b682fce0d51712b77ba9db7a166fcd05581e03bd4ac7829d17a54077026de96c786bed2795249514e34d4333de5e87b00c014717aa55589d700105581e032263dcaf67bd5166e3c04ef89533a2c82a7604e8a34046fc81252531d00c03464b7849efa5a805581e0363963628148ce97bf9b0f11f18bed1d3f42e88b6b6999522388fc138400c01466a0069593c000338d7bb7744f22b0939cdbbd3e2554bb0cf9d9ac5b29383f06185e021cbd9e126037a6199e3e454fb1a7072a86c986f53e1b59b1e6290ea4f3683127d5d2c7b3d2505581e037689ceb2f492978173785c7eb56ede583b422f3b38361a2555008f4430031bffffffffffffffff0321e9bf6a1b56efb9c598aed3551824a017c70ef12db273e78504c761ae85dbf90459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca08d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f8b8b613b86565b8715611aab57611aab7f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca08b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca09087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca081565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000a2737455ecc7752e88c41362269c2d2abb6952061614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca016939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03f5a0c7dbec10ea561788260981e400df1e35d6349064c15c662535db95e82ea803f6c45375a7405b70dc21a902e5051faa7fc25ff5ce502a57ce92b82d6025a21b005820021c864627775b58288b07888527eded24fa9aac83fe95c75da3777186239b464f05e7b97cd2c736bdb91bace3074e1803715b9959e76ce83b8ab1302e8ccb9700c8f0e5dc21114c7545166c7e289e1fb40058200234bb9efe79c9ad9badf350f41aa131e81cfcdb67773c64aafcf5cf7dd9de654e2e7e081eefb2b4a5eb54d065515d005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100000100010000fe1f620000000000000000008b9a08502f7ec0b4e7b461037b6c8124b1f9f332aa7230dfcab148d03b07335dc4ed3d16129d21ab38bbd69f00582002504d0052f09ea92b2c84b3c7f2e9bb5516fce902657a2735e7ed62e595a2844c24fd50eaa1b38b6e9e00c2b502191a9803f63a7140479b5e5a062872eb606573cea743aa7b4fa5d794ce7800bfa5fbe8ce005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4e5d5c8011ed004158dd880b81a4cb03f16aff6752204b4963cf8edff6cde7382681f811c7798d25e4c622f44cee212d00582002e0934dd7af3d4fa75521e69e0f785ddbf414c0b44f06853aa0897d0d467d7e4c1f8cd673353338ca04cde21500582002782bde4ed7d93160b9bf672f5e39639ce771a6c12663447d3823dba8cefea64c1cc61a8411733bf8240f70ca005820023dd2aa453919a185bfe1d23cae84a18a4bcbec1b4dd9ee9044e947c96e93464e5ff6f80cd3d9a2cb48318d3a06e0021910b10311ee702cb7350b3bb0bbdffaec696747f1a8c6d4eee2536af3c68a20c379f9f50392c23a18664cb2c45626b4c9f9d8e4279f5c5d809530b95179a887255a6981b0039d076ac84222e4511aaf8cc96a502500d8136543e64bf078e9e513661b152c3f03b588a38ca51aca5549b9a360277244c494c896e23aa25a83da92f0d07e49f5a200582002c10a15fd7fc362de1fd35a993ad0ececa216d65af40015eee270950203502b4d02fe68475c56739fdf73ed747e00582002a4ee715ead30141b1cb5b0c0b7bfad5fbe40783bf54457d6a1310ac4c9135a4d054f15cb056b9de8ac8e22aab0005820024b79f09792c8dbd4f55e69c1d6a0691c95468a0409a3528a5bd9a2839731be4d02b06a045f1fc13289289bf1bd00582002143bc887530ead6617bfd2d5bca9f2f8e2a1a9cd03ed7953b3261a6e3c81544f05f2a816b6d2255c624913b975b7d9005820026e1746d1136bfa18b8b10f50e0f38649eb8ca29050e8aa7a6674a55c20161f4c208593be958c956515dbd90200582003d56731d664e355d2362d6bba5cae06af9fa4596caf1ac8f4592f69930a7e504f093dbd86b3bb73b9c08739b43e11ff005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a1100cf3da849ca69e14400582003e74c169d865ac405ab3ad15d5638852b3344b18c2ffc322624c82a1e49eb704f1897974b1cb908fe3d3f9f1bf139c40219080c005820027bb8fd7398e55ada3b9691f11ea76268074e6342a6c0349b324f09fca3d0364e27b31a1a04409d9b8ae01c36b1ee005820021c6ae886faee91231306a2eede875138942984ee14c2f85b57df7af63bb4684c344b6a75d8d8139f7fcd4d6e02194f4e030ee382cbe1df7e427ad1f9cb76125442e0ac987d031c06853a37cd95f113196c036389f779d5cbe3ed1aa02e9f18f3350426b84b67fea438839d09cd22d52658620380f94de0f8c6ea2f9d939fcbe30b06c6cc7df68c7e9afb3d4c13db897c8318c500582002baecca660c2758c2e90f65167f75e7266d8df422c9407e25a508be7b6797384f05f9df3e67af2c0b7b6c1d81faab7f00582002a856a6205d4f79490435ad4e1582f47a9486acf1b4a2fcbc09d3a025719032501a20e770f31bf07e68fd1d5d2a536014005820024a3f45479d10943e270796c93f9ecc11a3d3e66eb91674f92ae33d8942fc7a4a1100cf3da849ca69e1440058200214f8da8bd3cbe5e8d268dd67d773ccbc2a57f0baf6c8b6ec704795a283e6994c863d243a6a0b99178c50fb9102185903b51c67276ff03c74bbdab6a12adb556bb07ea73567c983dfdac805d8c6a4960c03a6c229b946b1db77e2a5737a76d7dc4467b5f8eb2a303988bd02db88d866bc1703c0eef2b0c9b6adfb826946aee4bd11316c53edb9fff2dd6e8a1dfdb33c1fd7fa005820029df17af05a4bb248765524bf482b8ababd020d25c435b065d67c8104a2e0ae4e48eb89701a4e5834a5e6f7d3287900582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358200100000000000000000000080033ba44bb7841f4b3fffef3c4cc7d686632c51300582002d46c5a7702284d858d4111448865a39570ebeb0331b1af9fbeea75c823d26e4d01ed9e864df70981e9d9cf703a005820025a5240217e5c807b849dec830811e5304b41f687cedca7a9e1cf84c8e9e7844e6b5c6ea75741f937b1312fc3cc180058200207fdb4e510e7e99a7a49a0b45be6a3725d423e9cb844572c178c7ce22ae8bf4c6c114be38497bd0551317f8500582002fbfc8829617bfb16f83dfce50e28daf3457a118bad67696702fe29ee7bb5e64f05897de6f1d1355fd6db37acfa36ca0219262b0219ffff05581d0236e75f929fb8e12465f3af29fd1686806a6a50b3d00e2feda4e50f4f070119567e05581d0237c992bb91f2a4741178f6b01f568cd020bc1d81dc5c807e2654e160040205581d02b9df0a2e74618037c4848e3d07aff007dc31090f1e532296943470300c02461a9619265c680219460005581e03650dbbbf20f303a177c3099441c88b2b26371f7b1a06ec6a1163a0ef2004060345abc60f80c736a8a13fac6674c992413aad63cd0214052b06603251f796128b05581e033364961c7280fe2e056ab3f7de2d7a03cdcc2af294d260e2a638f98a000c014704bea49b0a8ec805581e03838693cc9c668e05191a6c9e16c3860a9292b213b3919326ae482157500c07476407dbfe2df72002193dec0305a605809f34db2c54ebeff33602a770fe742911f045568fe828dcac73ddd7ef03f99001c819f2cb696800d2bce8b1720d5ac9d436c5697d6bd3382fcee1a1f42f03adadfef69c550cf63a056eb8603d7cc6322858f44b7a34c5acca36b96b5c739c034bbc99c05a4af2fc61a1c34eee8b90e0163255403e0f69bedbbb778f0fbc411803a53a3c6ae40425138cf61d0961ab9828f2737a26a1e7ac7809bf13f0528cc23403fab24d641cc42b90d2fca397080fc79f1e653be9048cc6a84e4fb1d3b2d5735d030611505446f626e1a96ce47fd7fefa9a77d3d8b029a520d47d423458df03ccdb032f5aa0a941cdbecbc3da9e6c2cf1fc2754d6f05c4477e6373080183d7b6c74db03457cb9078ee8e1b2ef491ffc7058ff902ba237507b1ace10fb03b7d54b0ac3b00330777fc4e61900e43059833df15d39577913d7568d212af930f3e20f95bafbef0398067208d758130b7d0b9a7b1fd3ed1752bbf4b4936ceeb3853df913ebb31f3d031c12325bd06b7f1cdf124c98a05b11fe7c71dee7cd75d80dcda1c844e4f4cb4d03dd372537267503b252e3c71b0b54c4dea8fd7c6e75f735fb7361eba98d23c95b03b2bca1d43c2150e82f44e4b55493a948cbb3fd056f13f7dc4beab09a519b7cbe0219ffff0219ffff0219ffff03a23c15618be189588c885faa9cf1811b654121ea0c4149d907dc239507d254a203b0d4e6eccc07c19a63845a3ce2dbc7f5a3181353c391b27b0d947918186e490303a501c2af94b314f4032d9647e61fd34887fa6cb44bf9efcd1039e9593bcaba9503fd0fff64ff4794e36878be497ceff1260d1de17eb7068f0942fef0aba33cb4c30342ebbb0c85e1c3ff50613395848bd6a59d617fc8d5a7146d448a8299067db8170302f4724cbcac7d024637448e76a7d623396b039bac5e11346d737233934b461b0352954c85e045e471d98f20515da616026213db0525cec19dc5640f1366d7ba0a035ddb8052c523d685ec6ae2ebd799f9c5963520d22c3944e36919d9eabf2f5c5303caff6f37e77e7d359ab68dd0e201ec4d19ce8cf07426845757290e21d71b96e4033d1e77aed2ba2c2897f42341b29d43952b19bfc38489136cc865a1e7c1ffbf3503c0d260bc9379090e89845054874eea5216c158dc028cecb814599ba2a6bc6d2a03b6b6f23f7300a838709cbd132ccb0cfaf80197e9d2034f4a591246c7b6f8499d0303b65196a8cf63075b5c7759679c4a0e6adcc16a841bc7900b0eee4782e5d41f03c8d5e30378a1ccf2976579229d51d39ccb05ce8285933478475108b66e2193e005581e03520f1c1144b24c2ce87e7459e0bc768a2b327757bdee9be235cdfda630040105581e03adc92a3d57103e87d72eae67f3ea13a730225d0e1e8e0af52b59c2b6800c034655e9e86224d805581e0320dc1086e8876e02ff4f7cbb69e79bb49001d246469a012822f6b05d700401034875555289f79c2c2f7431de427e59d5d70fd6f1d70b7aa84e71ebb4cb3d247305581e0314055b1c9397f758dc84a39c23a8056b3bc19add63abac4f3ddca21570040105581e037e2a455dbb9216f5da64ca9338618bd59782bba0426a3a3ef68c0cff70040105581e031aed6efe4c866f79ffb7b91ed02c6af216d04ef1757d9d6d53658273f00c054729084c5e764134038a70a36b03df65c40adce9a36ad23eb646131d89372524efd60698ec88c1a3fc05581d0287d6e269b41b8c7406da2c48373f4c3dba68e9d6d0acfd71821198f4040204595ba8608060405234801561001057600080fd5b506004361061036d5760003560e01c80638456cb59116101d3578063b7b7289911610104578063e3ee160e116100a2578063ef55bec61161007c578063ef55bec614611122578063f2fde38b1461118e578063f9f92be4146111c1578063fe575a87146111f45761036d565b8063e3ee160e14611075578063e5a6b10f146110e1578063e94a0102146110e95761036d565b8063d505accf116100de578063d505accf14610f64578063d608ea6414610fc2578063d916948714611032578063dd62ed3e1461103a5761036d565b8063b7b7289914610db0578063bd10243014610e78578063cf09299514610e805761036d565b8063a0cc6a6811610171578063aa20e1e41161014b578063aa20e1e414610cd4578063aa271e1a14610d07578063ad38bf2214610d3a578063b2118a8d14610d6d5761036d565b8063a0cc6a6814610c5a578063a457c2d714610c62578063a9059cbb14610c9b5761036d565b80638da5cb5b116101ad5780638da5cb5b14610b6a57806395d89b4114610b725780639fd0506d14610b7a5780639fd5a6cf14610b825761036d565b80638456cb5914610a4b57806388b7ab6314610a535780638a6db9c314610b375761036d565b806338a63183116102ad57806354fd4d501161024b5780635c975abb116102255780635c975abb146109d557806370a08231146109dd5780637ecebe0014610a105780637f2eecc314610a435761036d565b806354fd4d501461094c578063554bab3c146109545780635a049a70146109875761036d565b806340c10f191161028757806340c10f19146107fb57806342966c6814610834578063430239b4146108515780634e44d956146109135761036d565b806338a63183146107b257806339509351146107ba5780633f4ba83a146107f35761036d565b80632fc81e091161031a578063313ce567116102f4578063313ce5671461056f5780633357162b1461058d57806335d99f35146107795780633644e515146107aa5761036d565b80632fc81e09146105015780633092afd51461053457806330adf81f146105675761036d565b80631a8952661161034b5780631a8952661461045657806323b872dd1461048b5780632ab60045146104ce5761036d565b806306fdde0314610372578063095ea7b3146103ef57806318160ddd1461043c575b600080fd5b61037a611227565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103b457818101518382015260200161039c565b50505050905090810190601f1680156103e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104286004803603604081101561040557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356112d3565b604080519115158252519081900360200190f35b610444611374565b60408051918252519081900360200190f35b6104896004803603602081101561046c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661137a565b005b610428600480360360608110156104a157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135611437565b610489600480360360208110156104e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116f2565b6104896004803603602081101561051757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611853565b6104286004803603602081101561054a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118bb565b6104446119b4565b6105776119d8565b6040805160ff9092168252519081900360200190f35b61048960048036036101008110156105a457600080fd5b8101906020810181356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460018302840111640100000000831117156105f357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561064657600080fd5b82018360208201111561065857600080fd5b8035906020019184600183028401116401000000008311171561067a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156106cd57600080fd5b8201836020820111156106df57600080fd5b8035906020019184600183028401116401000000008311171561070157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013573ffffffffffffffffffffffffffffffffffffffff908116916040810135821691606082013581169160800135166119e1565b610781611d23565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610444611d3f565b610781611d4e565b610428600480360360408110156107d057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d6a565b610489611e02565b6104286004803603604081101561081157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611ec5565b6104896004803603602081101561084a57600080fd5b5035612296565b6104896004803603604081101561086757600080fd5b81019060208101813564010000000081111561088257600080fd5b82018360208201111561089457600080fd5b803590602001918460208302840111640100000000831117156108b657600080fd5b9193909290916020810190356401000000008111156108d457600080fd5b8201836020820111156108e657600080fd5b8035906020019184600183028401116401000000008311171561090857600080fd5b509092509050612538565b6104286004803603604081101561092957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356126ef565b61037a612882565b6104896004803603602081101561096a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166128b9565b610489600480360360a081101561099d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060ff6040820135169060608101359060800135612a20565b610428612abe565b610444600480360360208110156109f357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612adf565b61044460048036036020811015610a2657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612af0565b610444612b18565b610489612b3c565b610489600480360360e0811015610a6957600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610ac257600080fd5b820183602082011115610ad457600080fd5b80359060200191846001830284011164010000000083111715610af657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612c16945050505050565b61044460048036036020811015610b4d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612d7a565b610781612da2565b61037a612dbe565b610781612e37565b610489600480360360a0811015610b9857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a081016080820135640100000000811115610be557600080fd5b820183602082011115610bf757600080fd5b80359060200191846001830284011164010000000083111715610c1957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612e53945050505050565b610444612eea565b61042860048036036040811015610c7857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612f0e565b61042860048036036040811015610cb157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612fa6565b61048960048036036020811015610cea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613109565b61042860048036036020811015610d1d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613270565b61048960048036036020811015610d5057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661329b565b61048960048036036060811015610d8357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135613402565b61048960048036036060811015610dc657600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591810190606081016040820135640100000000811115610e0357600080fd5b820183602082011115610e1557600080fd5b80359060200191846001830284011164010000000083111715610e3757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613498945050505050565b61078161352d565b610489600480360360e0811015610e9657600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610eef57600080fd5b820183602082011115610f0157600080fd5b80359060200191846001830284011164010000000083111715610f2357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613549945050505050565b610489600480360360e0811015610f7a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356136a2565b61048960048036036020811015610fd857600080fd5b810190602081018135640100000000811115610ff357600080fd5b82018360208201111561100557600080fd5b8035906020019184600183028401116401000000008311171561102757600080fd5b509092509050613744565b61044461382d565b6104446004803603604081101561105057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516613851565b610489600480360361012081101561108c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613889565b61037a6139f1565b610428600480360360408110156110ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135613a6a565b610489600480360361012081101561113957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613aa2565b610489600480360360208110156111a457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613bfd565b610489600480360360208110156111d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613d50565b6104286004803603602081101561120a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613e0d565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b820191906000526020600020905b8154815290600101906020018083116112ae57829003601f168201915b505050505081565b60015460009074010000000000000000000000000000000000000000900460ff161561136057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484613e18565b50600192915050565b600b5490565b60025473ffffffffffffffffffffffffffffffffffffffff1633146113ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b6113f381613f5f565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e90600090a250565b60015460009074010000000000000000000000000000000000000000900460ff16156114c457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336114ce81613f6a565b15611524576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461152e81613f6a565b15611584576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461158e81613f6a565b156115e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a6020908152604080832033845290915290205485111561166d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806159146028913960400191505060405180910390fd5b611678878787613f98565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a602090815260408083203384529091529020546116b39086614163565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600a60209081526040808320338452909152902055600193505050509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461177857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166117e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061575d602a913960400191505060405180910390fd5b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b60125460ff1660011461186557600080fd5b6000611870306141da565b9050801561188357611883308383613f98565b61188c30614224565b5050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002179055565b60085460009073ffffffffffffffffffffffffffffffffffffffff16331461192e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600d909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2506001919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60065460ff1681565b60085474010000000000000000000000000000000000000000900460ff1615611a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061598f602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416611ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316611b2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157346029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611b99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061593c602e913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615a7c6028913960400191505060405180910390fd5b8751611c189060049060208b01906154cd565b508651611c2c9060059060208a01906154cd565b508551611c409060079060208901906154cd565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8716179055600880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff8781169190911790925560018054821686841617905560028054909116918416919091179055611cda8161422f565b5050600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b6000611d49614276565b905090565b600e5473ffffffffffffffffffffffffffffffffffffffff1690565b60015460009074010000000000000000000000000000000000000000900460ff1615611df757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b33848461436b565b60015473ffffffffffffffffffffffffffffffffffffffff163314611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460009074010000000000000000000000000000000000000000900460ff1615611f5257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611fba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b33611fc481613f6a565b1561201a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361202481613f6a565b1561207a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85166120e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806156c96023913960400191505060405180910390fd5b6000841161213f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157ac6029913960400191505060405180910390fd5b336000908152600d6020526040902054808511156121a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615a02602e913960400191505060405180910390fd5b600b546121b590866143b5565b600b556121d4866121cf876121c9836141da565b906143b5565b614430565b6121de8186614163565b336000818152600d6020908152604091829020939093558051888152905173ffffffffffffffffffffffffffffffffffffffff8a16937fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8928290030190a360408051868152905173ffffffffffffffffffffffffffffffffffffffff8816916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600195945050505050565b60015474010000000000000000000000000000000000000000900460ff161561232057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16612388576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b3361239281613f6a565b156123e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b60006123f3336141da565b90506000831161244e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806156a06029913960400191505060405180910390fd5b828110156124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061587a6026913960400191505060405180910390fd5b600b546124b49084614163565b600b556124c5336121cf8386614163565b60408051848152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051848152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60125460ff1660021461254a57600080fd5b6125566005838361554b565b5060005b83811015612698576003600086868481811061257257fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff168352508101919091526040016000205460ff166125fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001806155ed603d913960400191505060405180910390fd5b61262b85858381811061260957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16614224565b6003600086868481811061263b57fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff1683525081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560010161255a565b506126a230614224565b505030600090815260036020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009081169091556012805490911690911790555050565b60015460009074010000000000000000000000000000000000000000900460ff161561277c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff1633146127ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600d825291829020859055815185815291517f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d209281900390910190a250600192915050565b60408051808201909152600181527f3200000000000000000000000000000000000000000000000000000000000000602082015290565b60005473ffffffffffffffffffffffffffffffffffffffff16331461293f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166129ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061564d6028913960400191505060405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015474010000000000000000000000000000000000000000900460ff1615612aaa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614531565b5050505050565b60015474010000000000000000000000000000000000000000900460ff1681565b6000612aea826141da565b92915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526011602052604090205490565b7fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de881565b60015473ffffffffffffffffffffffffffffffffffffffff163314612bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b60015474010000000000000000000000000000000000000000900460ff1615612ca057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b86612caa81613f6a565b15612d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b86612d0a81613f6a565b15612d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614571565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff1615612edd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614692565b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b60015460009074010000000000000000000000000000000000000000900460ff1615612f9b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484614956565b60015460009074010000000000000000000000000000000000000000900460ff161561303357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b3361303d81613f6a565b15613093576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361309d81613f6a565b156130f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6130fe338686613f98565b506001949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461318f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166131fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e690600090a250565b73ffffffffffffffffffffffffffffffffffffffff166000908152600c602052604090205460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461332157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661338d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180615ad26032913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b600e5473ffffffffffffffffffffffffffffffffffffffff163314613472576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806158f06024913960400191505060405180910390fd5b61349373ffffffffffffffffffffffffffffffffffffffff841683836149b2565b505050565b60015474010000000000000000000000000000000000000000900460ff161561352257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b613493838383614a3f565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff16156135d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b866135dd81613f6a565b15613633576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8661363d81613f6a565b15613693576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614b49565b60015474010000000000000000000000000000000000000000900460ff161561372c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61373b87878787878787614be7565b50505050505050565b60085474010000000000000000000000000000000000000000900460ff168015613771575060125460ff16155b61377a57600080fd5b6137866004838361554b565b506137fb82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600181527f320000000000000000000000000000000000000000000000000000000000000060208201529150614c299050565b600f555050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b7f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742981565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600a6020908152604080832093909416825291909152205490565b60015474010000000000000000000000000000000000000000900460ff161561391357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b8861391d81613f6a565b15613973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8861397d81613f6a565b156139d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c3f565b5050505050505050505050565b6007805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152601060209081526040808320938352929052205460ff1690565b60015474010000000000000000000000000000000000000000900460ff1615613b2c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b88613b3681613f6a565b15613b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b88613b9681613f6a565b15613bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c83565b60005473ffffffffffffffffffffffffffffffffffffffff163314613c8357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116613cef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806156ec6026913960400191505060405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff9283168152918316602083015280517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09281900390910190a1613d4d8161422f565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314613dc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b613dc981614224565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6000612aea82613f6a565b73ffffffffffffffffffffffffffffffffffffffff8316613e84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806159de6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216613ef0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806157126022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000818152600a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b613d4d816000614cc7565b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205460ff1c60011490565b73ffffffffffffffffffffffffffffffffffffffff8316614004576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806159b96025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216614070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061562a6023913960400191505060405180910390fd5b614079836141da565b8111156140d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806157d56026913960400191505060405180910390fd5b6140e8836121cf836140e2876141da565b90614163565b6140f9826121cf836121c9866141da565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000828211156141d457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff166000908152600960205260409020547f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b613d4d816001614cc7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152600093611d4993919290918301828280156143235780601f106142f857610100808354040283529160200191614323565b820191906000526020600020905b81548152906001019060200180831161430657829003601f168201915b50505050506040518060400160405280600181526020017f3200000000000000000000000000000000000000000000000000000000000000815250614366614d50565b614d54565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600a602090815260408083209386168352929052205461349390849084906143b090856143b5565b613e18565b60008282018381101561442957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156144a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615850602a913960400191505060405180910390fd5b6144b282613f6a565b15614508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806157876025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff909116600090815260096020526040902055565b612ab78585848487604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614a3f565b73ffffffffffffffffffffffffffffffffffffffff861633146145df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061596a6025913960400191505060405180910390fd5b6145eb87838686614dc8565b604080517fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de860208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b6146878783615006565b61373b878787613f98565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214806146c05750428210155b61472b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a207065726d697420697320657870697265640000604482015290519081900360640190fd5b60006147d3614738614276565b73ffffffffffffffffffffffffffffffffffffffff80891660008181526011602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938b166060840152608083018a905260a083019390935260c08083018990528151808403909101815260e09092019052805191012061508b565b905073800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea6528783856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614860578181015183820152602001614848565b50505050905090810190601f16801561488d5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b1580156148ac57600080fd5b505af41580156148c0573d6000803e3d6000fd5b505050506040513d60208110156148d657600080fd5b505161494357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f454950323631323a20696e76616c6964207369676e6174757265000000000000604482015290519081900360640190fd5b61494e868686613e18565b505050505050565b61349383836143b084604051806060016040528060258152602001615b4e6025913973ffffffffffffffffffffffffffffffffffffffff808a166000908152600a60209081526040808320938c168352929052205491906150c5565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613493908490615176565b614a49838361524e565b614ac3837f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960001b8585604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040516020818303038152906040528051906020012083614e88565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260106020908152604080832086845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b614b5587838686614dc8565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226760208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b61373b87878787868689604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614692565b600046614c37848483614d54565b949350505050565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614b49565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614571565b80614cda57614cd5826141da565b614d23565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600960205260409020547f8000000000000000000000000000000000000000000000000000000000000000175b73ffffffffffffffffffffffffffffffffffffffff90921660009081526009602052604090209190915550565b4690565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8187015280820194909452606084019190915260808301919091523060a0808401919091528151808403909101815260c09092019052805191012090565b814211614e20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615675602b913960400191505060405180910390fd5b804210614e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b296025913960400191505060405180910390fd5b614e82848461524e565b50505050565b73800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea65284614eb4614eae614276565b8661508b565b846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614f23578181015183820152602001614f0b565b50505050905090810190601f168015614f505780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015614f6f57600080fd5b505af4158015614f83573d6000803e3d6000fd5b505050506040513d6020811015614f9957600080fd5b505161349357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260106020908152604080832085845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000818484111561516e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561513357818101518382015260200161511b565b50505050905090810190601f1680156151605780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60606151d8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166152dc9092919063ffffffff16565b805190915015613493578080602001905160208110156151f757600080fd5b5051613493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615a52602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260106020908152604080832084845290915290205460ff16156152d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615aa4602e913960400191505060405180910390fd5b5050565b6060614c378484600085856152f085615447565b61535b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106153c557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101615388565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615427576040519150601f19603f3d011682016040523d82523d6000602084013e61542c565b606091505b509150915061543c82828661544d565b979650505050505050565b3b151590565b6060831561545c575081614429565b82511561546c5782518084602001fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181815284516024840152845185939192839260440191908501908083836000831561513357818101518382015260200161511b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061550e57805160ff191683800117855561553b565b8280016001018555821561553b579182015b8281111561553b578251825591602001919060010190615520565b506155479291506155d7565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106155aa578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082351617855561553b565b8280016001018555821561553b579182015b8281111561553b5782358255916020019190600101906155bc565b5b8082111561554757600081556001016155d856fe46696174546f6b656e56325f323a20426c61636b6c697374696e672070726576696f75736c7920756e626c61636b6c6973746564206163636f756e742145524332303a207472616e7366657220746f20746865207a65726f20616464726573735061757361626c653a206e65772070617573657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e206973206e6f74207965742076616c696446696174546f6b656e3a206275726e20616d6f756e74206e6f742067726561746572207468616e203046696174546f6b656e3a206d696e7420746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737346696174546f6b656e3a206e65772070617573657220697320746865207a65726f2061646472657373526573637561626c653a206e6577207265736375657220697320746865207a65726f206164647265737346696174546f6b656e56325f323a204163636f756e7420697320626c61636b6c697374656446696174546f6b656e3a206d696e7420616d6f756e74206e6f742067726561746572207468616e203045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d61737465724d696e746572426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c697374657246696174546f6b656e56325f323a2042616c616e636520657863656564732028325e323535202d20312946696174546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e74657246696174546f6b656e3a206e6577206d61737465724d696e74657220697320746865207a65726f2061646472657373526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636546696174546f6b656e3a206e657720626c61636b6c697374657220697320746865207a65726f206164647265737346696174546f6b656e56323a2063616c6c6572206d7573742062652074686520706179656546696174546f6b656e3a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d696e746572416c6c6f77616e63655061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656446696174546f6b656e3a206e6577206f776e657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e2069732075736564206f722063616e63656c6564426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c697374656446696174546f6b656e56323a20617574686f72697a6174696f6e206973206578706972656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122005677c3919f4b149e065a5983baa9e2fb099cab5463ccd06429f70b32d8d9bdf64736f6c634300060c00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410103bdc011f506efa58f1b2550ca80958d2a7c39f979f40d537e110b221c62364ebd005821031347d38f9027b008ab764477dff5db62e1ce3cab675df1efadd25bb228ba1ee05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103216fe201c80e31523065747b4c3a11b5ce64700caa277669094d49e7d42e4c105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80205820ff1bba8c5962591285628e226cfe21a129312cfd293b407070da1d82f098460100582103517498924e66ba831af2769eea8312cb5261242822e63a2d7cc49a5c707be180500785ee10d5da46d900f436a00000000003b30d5e39bb2a266518592f8bf752ce6d25fcfd24908b3c862f5f487ddf91096100582103e453bb62162b907fe0133f23a577de7bec75205eca5e557cfe3ef2dcc72205905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005821035ca2f3d6ffed7c02f4752b25e41af1736966153795558b64be92a8283b5b1500430f42400058210317fb9989707d00d29edf83f0ce78ffe6efc3e7e2f0a33e6a7370cf9390ae63c058208000000000000000000000000000000000000000000000000000000000000000036082dea626a28fd5714b7132ebeda7497f1e481e325c85a848f757266e4fd23c0219fd7405581d020ab04938f26cadaf9df6fe1389ad0a110acc2ffd76feaa1dc72a138e0701195ba802182205581e035c0f632b2b143a27400257b92b6008ecc69a7ff00d34104f16bff667200c0147038e3c48e101c2021976da0375422af2844a3f87b243c9644f9f0ace175126b6492d47fd381fa2a357c1cb80038ac19fcc050a9e37b43a0f86466b5d2c5f9fe6e03a54a31532e042a2af4d43fa039b617dfcdc2dc5aea5cf6c052a8ae308801747f0bb7e141baeef835768b7806903eddebb3d9c98cca8c716e36fcb1ca053ddd936471a00f8cbbdfd18edab81e54403fd6aeaae8798f0258a6ccee26583471aacf6b73c9ebc543b7a58e8ebb3e31e9e0301169c038c640981817684b51c3e5cfc459871984377458a9bb7da2ba71e0f4d03378358a91de0e8a9248740f7b8fd7151b8fb651d32714e9e651d71f969f9de4e0393fba4b24677444331d035dca0bb5a72cd32ca6763e82c6ab222e08c1c6f6b3f0378dcd74e07bca5759db73a24e62d4099a3600f084d0458830897538df421b76803996080aefabffcc80a0feba456709477d477bad68d9d4179d600201790235f570319a9ba3f2108048e07191495f1499e56c1a33a96d3f7e135d3410d10cb6e527d0376afc3bf5b27d160ed41d005ba5d67039dd2f6f8f874efb2ce15b84a89675a6603f984c38c2d5a6efa92af5a93f30139b77e3d9c5b0c6ada51b61c69068461cc250219ffff0309ebb19d7fc2dfe6da9ecd1338714a160d5a64e065e89774354226d62ec9c4310317fd13008a4652289fe549b0058fcb3a3e2084d1a47b83713eb3167d32135013036a783f29ff06fd92a2610e761b056d6c042559c662f0fe1d4d4bc285afbeeeb203fdc664824742b3db2cc4e7259f014f1be7961819a0f908c5eef3e9ee1a53e1f80388d1ef713e773500504224c47852fa14daae1e8c48f9fe977034a841e19f89e9035fe607b364684151424c3e840b72daf1dc29e66e571ddae8a377bab6e9d1159303caaf730d769296817ebfdded66fe7a1907ce6a7d4b66f90c4b7f977bccc7df8c03bbcf7b41983c9c3e7db2ae9dd8fbd6bdd53137f1c90cb0adf172160d879a03a00387122b31edf05840c0161254ada1532c8ea9f981ae4641c75bd896a35c07fc98039fa1c7a07e22cae10147e96e609a945ed6c979f236ffbd190fba130d76f701730315273675a753a9f92ecfdd2fac0cf33ec7624f89ecf51d3a13d03cfb389304710219ffff03f18e0df087ef3556203ad1fe1f5fdd99d1c4101d328a1c5fbf029212a4526ede03e21b542795162658419d86f9d67b71a14c9cb4b43ea7a6253f9f977d519be75403427a8b6400d5c2102881eabb226154d536b424d93b63bb7f18bef925318aadfb03757f190a89d48b9362e8c87cc520e84c1b4ad2d9f3ed066a7d20f081827271fd0333041504a21aaa22f18db28fa3916cd158abdb230954aa00b1121016f006c3e2036e42aef0f1e45803db0f55eb4d138cbfd95ee6bc7c3d1d630a3af14229828d1203da298e57c6131c8f59f77c983c63175d913864c33fea846d3064f179c9e039660219ffff030b1bbc8323b3851b1833a4dd5e599aac9a626f571d6de1c1256e7f573e5460fa0347feb13db29831e0ba449f5a62dea111fadf74d4f4cdaddfcf1af66fa956b33803407bd6052ec2315a3ceb4ad5cd350c5b6fac7cd9f6bc966be4e8951041d2935f03dd350b80ca51e0338a39cc0dc1bf47d816611e7f1ddc2e63404a1b7b5a92969d03f75caa7f4b8603fa464def66c9c2e011bd93e09d75ba05db821d218cc4f7b79603f5343a82eae9ed5864fc0b92bb5d793644a31ebe5e4ffaeb219b7aeb6878438303c854012dc85a3302efbcebb7b6a6acd84de6a3c1e043edaaf4562d9a14feb93f03f40ff20715001e364076cfd909ac0b1e15ab61d14a41ed8f669facfc5a70900a03d4519167c56a5c1ac68938014b067579ede1b4b36bc1261620b6df5e6b6d1edf03853b7e144b3e26b0a71cbd8e14b1319025aa67bad75632b0ec792884d1e858d00375116d4711350ebbb4f15b214a4f478e70af2b8ee9287c0e4e09318de937ba9f0321b7c9f0e371585395f6934704040fce62beb4508b4f7f19add21549df4b946e03825c8df550402c41a2443879e0ea908afef8e2e2b10eefa23af9448ff76708550355243a0dd05dca180cb9ba252b77e57dc0275c7e5a25357ec44e648c66909f4c031e8e8444a8b8e1fb22294e031e37b3960718d13f4c075779e2245f918b53a0c7036a3c0d9a04b8aaee18d59bb9ca11810ee65f660c60dbe14aac846f6200b126ad03d9f519827a212fb7f9504fc9c3c6cd455386fb711c2a79c0a53044fe6b2dcded030a299438745db07f6e1692d963f6ce57287f830dc45081e44d68d2d8cf6bd95c038a54d1d1da0a6754f30d00a3d56a635fe5774ff0aeb64411c67e999c54bbd34d03a2c6cd43b1360c664831031c19c0b0d5bec68edb1092f98f4cb69eb2ef6a794703aa66ac38ea920b7c087404460c4b6e8484cb7d6842cc5ad5ce3cca2b70bdd3050394d13ab3fb791d677ab3e204f893487c75addcac8457c971b2d90de1219dce65037780126812477ae6aca9b1c002c4862d4a01c62e6b4bc6aa28909ade988cd70003c42e32ae18f725cd34565588da5aff682b1daf3c61e82ba2b7e667969f32224f0320c86d6598ac45503bae2f71acb49f06091ed89dc67a03bd20606fe754a5693b03abc93e8554b981834aadc518f334ca2a4db187dc49504a1732a5661f70d4800f03102c1a2a8016eaa0ea9bc491818659cbf0397171385c656bd7189128b020cb1503448540baca7a9103dbc0c6811fc89521cca9368dcaedfe09fed45e8324b98aa403bb674f78d7aa2fcf9da59642e5401b69be03b1aa10d2e5dece6a9440325b4321032d7ff95597c691487b41f69c066241a95609230641ccd57cb9ced165b990e3540386dfec5ec681855049e178ee003d951cb4c532c8367adb7141e460efbd5870ad0370ea6bf30e7d801a5bb50195e2d965e337a8e8ce3305bdd1b16c4a1a5c26049403fd0f8348e66fd49d6fa9c6e2da10b0bd4fbdc3018cf5b043837017c3c86918c2032f2f39f7a0eeece5b4e4a534f61aeb5ee5d03474002a1d254a20ced14c686bd805581e03547a034062f54c7a29ad5e37ca97fbe8db3dbb5a2e6972265df02f61300c024501954fc40005581e034362d1ef00e44c08629b820224fbc15f552697652de244d5874910d390040703e68932c57ba8ff26da88a306a1b6e652fa6da5d4cf337fc0fbbc11d618da76ba04590f19608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a457c2d71161007c578063a457c2d714610436578063a9059cbb14610462578063ca15c8731461048e578063d5391393146104ab578063d547741f146104b3578063dd62ed3e146104df5761014d565b806370a082311461036957806379cc67901461038f5780639010d07c146103bb57806391d14854146103fa57806395d89b4114610426578063a217fddf1461042e5761014d565b80632f2ff15d116101155780632f2ff15d1461027c578063313ce567146102aa57806336568abe146102c857806339509351146102f457806340c10f191461032057806342966c681461034c5761014d565b806306fdde0314610152578063095ea7b3146101cf57806318160ddd1461020f57806323b872dd14610229578063248a9ca31461025f575b600080fd5b61015a61050d565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019457818101518382015260200161017c565b50505050905090810190601f1680156101c15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101fb600480360360408110156101e557600080fd5b506001600160a01b0381351690602001356105a3565b604080519115158252519081900360200190f35b6102176105ba565b60408051918252519081900360200190f35b6101fb6004803603606081101561023f57600080fd5b506001600160a01b038135811691602081013590911690604001356105c0565b6102176004803603602081101561027557600080fd5b5035610614565b6102a86004803603604081101561029257600080fd5b50803590602001356001600160a01b0316610629565b005b6102b261065f565b6040805160ff9092168252519081900360200190f35b6102a8600480360360408110156102de57600080fd5b50803590602001356001600160a01b0316610668565b6101fb6004803603604081101561030a57600080fd5b506001600160a01b038135169060200135610689565b6102a86004803603604081101561033657600080fd5b506001600160a01b0381351690602001356106bf565b6102a86004803603602081101561036257600080fd5b503561072e565b6102176004803603602081101561037f57600080fd5b50356001600160a01b031661073b565b6102a8600480360360408110156103a557600080fd5b506001600160a01b038135169060200135610756565b6103de600480360360408110156103d157600080fd5b508035906020013561078c565b604080516001600160a01b039092168252519081900360200190f35b6101fb6004803603604081101561041057600080fd5b50803590602001356001600160a01b03166107ab565b61015a6107c3565b610217610824565b6101fb6004803603604081101561044c57600080fd5b506001600160a01b038135169060200135610829565b6101fb6004803603604081101561047857600080fd5b506001600160a01b038135169060200135610862565b610217600480360360208110156104a457600080fd5b503561086f565b610217610886565b6102a8600480360360408110156104c957600080fd5b50803590602001356001600160a01b03166108aa565b610217600480360360408110156104f557600080fd5b506001600160a01b03813581169160200135166108d2565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105995780601f1061056e57610100808354040283529160200191610599565b820191906000526020600020905b81548152906001019060200180831161057c57829003601f168201915b5050505050905090565b60006105b0338484610960565b5060015b92915050565b60025490565b60006105cd8484846109c2565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461060a918691610605908661019e610aaa565b610960565b5060019392505050565b60009081526006602052604090206002015490565b6000828152600660205260409020600201546106519061064990336107ab565b6101a6610ac0565b61065b8282610ace565b5050565b60055460ff1690565b61067f6001600160a01b03821633146101a8610ac0565b61065b8282610b27565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105b09185906106059086610b80565b6106e97f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336107ab565b6107245760405162461bcd60e51b8152600401808060200182810382526028815260200180610ebc6028913960400191505060405180910390fd5b61065b8282610b92565b6107383382610c27565b50565b6001600160a01b031660009081526020819052604090205490565b6000610770826101a161076986336108d2565b9190610aaa565b905061077d833383610960565b6107878383610c27565b505050565b60008281526006602052604081206107a49083610cde565b9392505050565b60008281526006602052604081206107a49083610cfa565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105995780601f1061056e57610100808354040283529160200191610599565b600081565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105b0918590610605908661019f610aaa565b60006105b03384846109c2565b60008181526006602052604081206105b490610d1b565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b60008281526006602052604090206002015461067f906108ca90336107ab565b6101a7610ac0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006109098383610cfa565b61095857508154600180820184556000848152602080822090930180546001600160a01b0319166001600160a01b038616908117909155855490825282860190935260409020919091556105b4565b5060006105b4565b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6109d96001600160a01b0384161515610198610ac0565b6109f06001600160a01b0383161515610199610ac0565b6109fb838383610787565b6001600160a01b038316600090815260208190526040902054610a2190826101a0610aaa565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610a509082610b80565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000610ab98484111583610ac0565b5050900390565b8161065b5761065b81610d1f565b6000828152600660205260409020610ae690826108fd565b1561065b5760405133906001600160a01b0383169084907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d90600090a45050565b6000828152600660205260409020610b3f9082610d72565b1561065b5760405133906001600160a01b0383169084907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b90600090a45050565b60008282016107a48482101583610ac0565b610b9e60008383610787565b600254610bab9082610b80565b6002556001600160a01b038216600090815260208190526040902054610bd19082610b80565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b610c3e6001600160a01b038316151561019b610ac0565b610c4a82600083610787565b6001600160a01b038216600090815260208190526040902054610c7090826101a1610aaa565b6001600160a01b038316600090815260208190526040902055600254610c969082610e80565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b8154600090610cf09083106064610ac0565b6107a48383610e8e565b6001600160a01b031660009081526001919091016020526040902054151590565b5490565b62461bcd60e51b6000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fd5b6001600160a01b03811660009081526001830160205260408120548015610e765783546000198083019101808214610e1e576000866000018281548110610db557fe5b60009182526020909120015487546001600160a01b0390911691508190889085908110610dde57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018881019092526040902090830190555b8554869080610e2957fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03871682526001888101909152604082209190915593506105b492505050565b60009150506105b4565b60006107a483836001610aaa565b6000826000018281548110610e9f57fe5b6000918252602090912001546001600160a01b0316939250505056fe45454649546f6b656e3a206d7573742068617665206d696e74657220726f6c6520746f206d696e74a2646970667358221220c6dc2972e098f955202a9d96705d4859349d3db216b095c65f091d01634aee1e64736f6c6343000706003303a915fa775c849770970026cfe0db6a58e1569034762bde58ca385ef01d4e729c03c365e0bd46b55238af6f1ca48e04489ae2ca6c3b316c58ac3fef4f7782d714fd0346eb1e09e805e802c8d3a3f7127a66d820ead14a4569b2672f42bc8dc3cbc398038917b55c6eed07a60c03e770231d6a858d2bcf08bd1c062317b8be47cf4dab330341026e585aa5cce3a8d922b740540b916b9ce33a7c1539cfff99ece8469a49c3038a1b2eeaf2e5da82a84899867fe3162195d9d0f456456305d77e8ca50f76ff0c03fd719b7553b6218cee4b44f136e0e6f2194569ac2fa3c385255992cac0943b7903f11c6e4c3b4e3e5eecec73ef7b146b47a20ede1e298f827290266d3df37fb79303cea4db83059bea6a0db13ed62ba46e8ca2df494b7b2e78dd01e8d4ad6fd9ea3003860c3cd5a192720024da352d26d68c040bdaf48e31f33791074976bfaf6d05f803df7c045181e2bb687115ae1d6c7672e529f3558ea228fe4101f057118e289c55031265930c5ee33e3a1ef9b7867de43780073950a9391a601895513eabeff29e1b036938152ff5019a2dfa86d02bd0581d2c357118854e2137dafe7945afdaf0e8bd03aec7d35f7468fd7e7204b52c672586f841378ae2ba04b7839c09eecaeac2e20d03179364a10e3960420503b2fed03463ded35fb3b2d008d3f4c03d97c663db8fdc03d9bf0517dab4aadb1f9ded397a611aa53b0603f64109cf4f9caa18de00ec8b8f03cc4155859b3418cc5a37bbedddb40ecf4e3ccc807e237eaa722690403d7f5409039c14bd263c7eb89e3f24a3da41acdeabd671abf2488e2a71a9906ed3881ddc0803a4624fbc25e78bf4a399d33cb32dc7cd3ed1dd6f5c3719cf63c493986fa82afe034ed814c3acfd3d12dc4a0f62fb776a3ce4d90f0b96d4631bb3f978b2c300905000582003fa1588ffccd0e80716dbdb6fd1d5eb8fa69fcb0fcc15b9dcc3ab934f27aec04716c5dc6d02a00003d89beda234bc2af94f0a1e7907fd76d9d75327faa3c1bedc1fbf13ab7a51e75b005820030e505a94085d9f9e18cf5d17f205423deaf72121a5efee58a8107b005782b0481c489d687a0d66780301fd8807ee69ec5e9dd53dc35f092782c52deeaddaec6ab288871d0c8ea0141c00582003922b815e43c4cb942374a8012c354364308cc27351b35b14c99cfb4574bfa042073200581f02cebc331a502cc954b581288c9a1fe09b2a27b1d9bf144d8467a4bba56ea75820fffffffffffffffffffffffffffffffffffffffffffffffff4e5d43d13afffff00581f02216ec005b97d43aeeeadc1d2c01b1113242627e1beb47268bd07e36a5d854815ab93501add531a0219090003087462d8db9a8df5e367d8fbc4f157810ca2323159b3188b6b61853b9cb2eb7b03d1de2f1a1a555b96b80640bfa20dceb69ccc1ecb126573ae3ea713a7bf8b99d5035df8d1c3187d7ee8f87b10d95b48dc0e32c4be17ac4c6cad0026c1919f939fc903a4463d9d090cfd0c0565688181ef6f5cc87075daa30b529ee4da63db8e541787005820033f50d0383282e299ff065121873e11448ce5980653e35b741812f7108cba80460453da79a1f902193a7f0396f93cb8dc0e563c75a8bc1f12f5f217afb0ca4470396437382a29c72e44972c00582003847a5cb5df4e5868d0bb344e1550e881e8bd46f3239ab75517ceea6ed522a04803ee281c298619ca00582003fa3eccde8982ccb0a39af122bcb17d3025f51cda3a913e94cc478c1881232048165015d061b051ff00582003698ba3fe328c901caf4235c45b22fc570fcfc3f6badff84213ce897f4d95d0480b17fea62c9e0fb803d5434618dacfe77808bc628dfe4bb83a3f335bdea0dabfc57caedc6209df8ecd0363c79c8de30adf98b7d3464743d178c1f43e5f7c60f668de28e0995bfa9b20b6005820032696746033fc4af296415f1dae1d5926b74c6bb61621e54626f749d4f3884048367d9ee84f6a4c88039ad62fc3914d4a49989ff8fe7970ede0d135616dc50602e0d8f785343cf5a318014105005820030e9f05d60474e3f7381f33188a3de80335ecae7c6be69713f6494b887642d04902ced6a117b00f2d5d0342441d09294982576b224b3a097cf8f61769707ef87c1c816bbb3b121fc1ce54014106039797ed66439f1b7507c7e581ab84bb1180034651e616019bf0d06da489a2c5a303ba35e410ba27feb52fc2f8ac779106036826f4f5d677e3fbfe3c8ebf343f163400582003a6689a2d40ebc051424f34111e35f939d0939ebefa10c10db8781d584cbe005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200357ada097308aa8fcba397f14ed73c999c651099f1392f652c7a277be0865905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02d8afb480b40aa417b8dbcefc274e8728d781c2c0f3059020c6afa0ba63245820ffffffffffffffffffffffffffffffffffffffffffffffffeb984d04123db18500581f02c99932158052cd568f0c5987fadf63154a66cafddf6a939ea4bc9f18f1195820fffffffffffffffffffffffffffffffffffffffffffffffccb2818ad4f0c053a00581f0275976531d07bb1e773c942751dac4f721297294f007ef61481cf1fb7521d4801f05ce7b9f6d360021904120375ce97a2823fddbff690d6685fa63f2574a0a96eaa0e2d815d40988fdfcbbdc90219fdff0219ffff03291d5748f931f6332a7645e5a682624dcbfe9c3fd145e021207e9e8d28b25e1303579e5d85ad63ca63986f2b4dd1bf242d762250b7e2a6c9a6931db5794ba3a8fd0321b031ddf4d5b342905aa8241e14f71945360a49015cbf4b773633759fe7242b0320640feba573e94bbe0411a59652d9db58719d43dc7caeeb9f6dde822ce5459303d8289b8efe215c2131a9a045445f87e873e19569ae1c0da24f57f61f4e9f7a3303320da33e99761d4a95f636d1890e52fd14f65d7f0aee02d48b7311c81ed4843903881be0da59bf72afd19fcb50ae5b25443d311718971dde476c4425f1e6320df40361f97ed69e6036084742f856f811cb70a1b2341308080010c3c90b0bfb70fca60309e720038b686b94c61164ed17b3d869f2e47dfbf5006365e5c5ee36f0b68f3203e684b46627c2687ae00b44b1ac8ac70b52f4b85698cdc8cb7b85848f15cb5e9803914c26230a5e94b92f933fa8f974bf605e2dc1626184c5847c9a19c27cd9cd0e03f9ca29fcba7bfc1611c875988af09103b3771c519a4e1746dcace65fae5137ea037c3c3a93a81d5e10df9ade7e4ea1f346768d930fe6d451bd9f3ca67a7a068a92030c98d702f949e9707232834648ed0d3a7a8b437bcf7c7825b7fbcd8034d81dc603580750351d381a8aadbe37b0c735fd60b287a067fc430498a948bd8bc275697f03678fa693b3565c48d35d2b80224dad246228b2bc4377dc83997d18b41b9ed6ec03844742b551e7dd82cca7214feeb3f673564b682e04efcd2254380bc26d49b3ce0359a180c1f2c832fa5b32efa535e8753ca254d15d3a5f2188468abeb763271f3500582003229445685ff49f78c3e1d995ec76e933bc75205d33739c6be7ddf9ef67280049045f63a0aeee1d659600582003cca428498336c7cd038a9020e079cd02e789c76b198a818280c59a55d903405820fffffffffffffffffffffffffffffffffffffffffffffffff05d4ac45af4713a037b18b9f13d694f61c14dc1a3c91948d5f37ff864325ba9713d8949db2d3822b300582003cdec99afc60cf749f21f12e751966130608162d85079fb08e03a765a5ed9c05820fffffffffffffffffffffffffffffffffffffffffffffffff88188dc6d49ffff035adb215604f8590b7db0f0303e33bd85d4f8ac017c321aae95f0ed1f066bcd7503e61294eb846ad5ec8bc92309d0c1896324f2ea6af8e08a5a955a819d8f11046e00581f0228aad20408b13768cabf37c635774643a759363c07a9b1746127bbbc9cf04806ca4986c4076e7800581f022fbc432eb5e97e0decff9af06057b07342a5424eaba3ca094d57f5e58e0e4957dbc5a6031a8c1aae00581f024c16ae16d6b0076d7a8fa56a636f74b1fba2321c3a2eb84909e1a5a4cc73480ddce23155b582ed0219608003879d57e35b24f3d347b0cebdf5b63c98c341291c3515c4e40393c1595d07543b00582003b258892a1deafa61dcedbcf46830194956e82495c8deab3dc10b28015237b0481544bf61c0767bae00582003e9816415546752d71ee6894162663a87ff89fcf006f60378f92b0ef69121e05820fffffffffffffffffffffffffffffffffffffffffffffffba50f569167948529005820036be9ac49f7c2861813d005be0d5c3ef6f3cadb89c487ba5a52142b464f25c04818027b73d6c217ae0318e7e8ab1479222a414cb5b45dcd37e1e269dd113b624d6a198453200caedfd702197dee0375868cca7f11b5391af1a96698fc1b6b5f4e3a55ad2be036313aa4729f8c41270335166979a4bb732f14c11921a47acc0cd244bae3be2ae7c71a6e19b2b6e6f3b00219ffff0340bf1c7ef5ae569d0e03c34c18877f7894f1f5b873c1efc6f6f0b8f72275f63d03c15e513985c03d00f9ddbbf58bf4e87c28a6b44a4ca789dc514765762ea5fc120219ffff05581d0263e393a05f6c3fb4321af4a7bb93c7efb65219a4155f847bec0524c60701190f1905581d022d27a20e132df983d6f82ceb4f50b3fb217df52508282dc28d36853d0c185a48041556ac8220a4f005581d02ef40931cd1f6acf73af4c656d63d271d5ab5405579ebbd4e6fc859b904040219220203e76800cc57bff3b3bcf78e1864f8976e8b9729fc2e4b8ed9e7d5afe7556cb4730373aa41205884ac71f6571171f5fa168128b23c1265f657b53a84e7bf6162260005581e0337cc7d3ae515e4973436cce956026cf97ab62a5b8ef61f6bc34c7284a00401036c674370dfa5924c16a499c7fc6a0a56633653d7c0611046216ead7e73dd109902194abc035354fa28644a9cc134be0ecaaf789b5ea0165359502119c8d1eddd35adb2bec903279ce3c7f8dca157f94622a8352fdc0de9c5b1eee874471be14a5f06d3f8fdba0219ffff032e8b50310163901baab460827cebcaf48282f9b126687d0bf26ecccd9a89227903e2bc47e50dcff326ec8fc0160d0cfbca3106ef929ed739d9129fb26a389864810219ffff039763e3616a619189f23ecd4ef38afcccde305669a1c8dda4fa674fe194da8c8f03dfe1afffe526d25f00b508f09fda5e074780b3d1e32e0fbc50afe80d4105234203300dde8012cc019a27e507f922395c60fe69f1b0b2d239dfd4c06a8ec6e42ad703f52f2b462d9006139e50dc42014b5e0fdffbe45683d61745cd7b2c634e1a599303fa4298cc570baf371d3d83626b31c76756fc8ca24b990023625636ceed4e9d8b03aec7d69f3972ecadbf5c26f3db142cb051f4dde1581429d48f3d011f0610ddb803a40a87f5b0a675275fb70fa97e5a38aadf3f58c03eb214d380e0acd94811b08003b7a37ab2b0ac98dbbb6b0f363ac4ab07b4c8685963ba4fd53b2020c035c4795f0219ffff035acbd081107466bee8c4a7434236a43ec88c8dad403c79020c2ad85bac622530038c02f734e7e6701cf48366ad933f77e129faba8ca39a2ef98e1b9d9584a61c4503d209d1024b0d1dfffd8d7e8d7c697b7d72c732574139251fef9ab755343c8eb70307f2bfcb5951f9693f0fa8d44eaba17554712f3970643db25f6da7db303c3371037eb1aa2c022590129460fc29ba02509ddb9b7cc4873bebe1d9f1e923490ecfd60219ffff033a7cdd47c2bce8a81e43fb5f9c71c893c03ba3b7657badf85622eb89b93b062a03696c4d88c4160238477abb6e81242c18bf32d0a1101f4ecf4530cd8ce1b6d64503fad57ae141e8f2016681a8e27a19a925596accf0874e3d77300753e5f340625e0375cdd51d7b323a64123e6caa82f50602402083f097c26f142f8b04ac356a517e037e1811ded370f8b01ebe808cc9e88785722a4940e88fd2867e7bb08c9394571f030d4595a97b01ab3513a0d61fcc6fb5ba73110d3b86e7c5a7cb6d65d5e1a3be2f03c0c2f40661ec39f88462cee783f021188a2674e840288f9e6fc6d12b20aea0be035ac9e1d154a304f1505f165af2a44bee2bb240f28bbb7204a7c548c054d49dd6032a65c2cde4dededf10c4784df1630b1a2ab2b99d0c48394ad8bd4d90e130eb0a03b67c6fc7d39da418f635ec4ee8b198c7c255211760100f6c3f2e5f50025667890372b2f39dc3bf0a59d11681caaa039d873e52739117e6e629beaa31335635583b0360cea1507ff89d28aeb83c5a9773d540026827378b4fcaea3236dd8d5631932b033464c577f9454b2273d31c52629e435d2ffc13b1100fe8a9723a6e74a206bc4603b2908f799965b69d82eabd425bc52f2b43b962f871a121f50955171b36f6e631034f70f51228ef6b9b68c832ad281f8ecd5839681246295f71d3d44f3bfc0cf91a037276c5fe00dc2489fa4fc1390372bb990e16c3e216ef616366aaed47a442f77003bc60ea2e37bcace0d46604bed7a3d13f4adb67ca201014c1d7e8d3a488f0e57d03d11a177092dabe6529d4b7eef671a0fef018197cf340e9e2ec30c376fde7c36c0303cccaca593050b95f4170552ae836fff9bbd63c3cfd87dc98cfd200966a0a580399280ac4d4f5026e854d0bc27601b569231fb227f2d550ce5133a2426407016803622841ff3f60e654f45c78fdea53050c047d1822e12a7d0fe54e4a36607a0f8d037231f9648e5f0240342050165bc25789524f59d45ce651e4837bb0daf4016ad403da56bf7bb38f7bf471d05dff1e5f09a9e1afbad867a19917e12a11288cb593d903f4260aa0beb998ef1594e88dc88695cd6efca9e153d729da8433c638671d05a1033a62e0c809797d93ed69c399e0ae603f5718861751b6a728719c5f0b715ecd50031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e039c8f86923e316bb5a14671c254ec5a73ba7bea2b6b6f27a97727335b3007011bffffffffffffffff05581e03361d0302a716d77005f2cc8d50c905b695e12c250444e7e784ce69c810040303bbbf5e868a41308d87f42bba92d9041519e7fccad20fff0f7ddcc7b148d5c12e05581e0392375de34b194a0cf2d5c3c4d82433964c93a07e2b53d75fe19dbe91d0040305581e039d46c45f01ccac724160d6b38ba5223ce9b6f2076365d2b137b40894d00c0147aa2d0161cf3c0005581e0331d0309c8568fd5024d14c4a6599371cb68f9150de9e9f25e28c6f38d00c1856470774dfd67a1e5805581e03901401d3ea3ba52ed8053483722f3ce35f049a40e5bf89195ef22946300c0147094820258b03cc05581e03ce356e194a3ec91789fd81925cb96ac574884c6493fc344727acc25da0040103e53289c12efcee5d4b147e46eedef6717eff23019b0fb40ed0ff64af905a197d03680cad33cde6903d87c969464c32af91439e6e42506813ea557876173a6d5a27038054f75f5ba76c3d02ab6cf15d60bb23c5fbb9b3cd3838d5298c8e0535ca769005581e032ce4c64ce22a0afb623ce9e6e24fe0bd48181733e2ff2271a2dedd0ef00c154814aa50d4ddfc70860219ebde038b4cfe3f741b7c2f484af9f810cf9f4d16c10e63a92e84bafe044a3ba5bcf2ac036c9d3caf31b95521bd82a1cf1b0b484d86c58174b48f3192c119e69c09c6193403d645f59a6e75c93b7ac9377c0abe001dcb73f98eb46ccc1e379a8cf3624b01a103a5a9e6bed6d6f2a8fbdbacf601299ee8114ed4838dcc63547fa439a2c0ff461703cdd635731115c8112eb08c0bbfb5e957d0d29bcac6212e1cfdb8f4815651c83803078437a915efc126e9f83947ae845964b0acd9ff2374d665cb0f990288e8536b03fe90c325c7b8125bf3448ecd044f3f9b28eade4e932265e2102397d7208150e2031e92aefbabf69e71bf9b79bf4eecc46bd91692fc2cb4c914284b36621e9f1e2403603c4c7a1c0d879508199ddab07fb7802008f4392980583728e01db9991b3f8d03bd437f7cbfedc908556dce0ced6a162c0237501a4c9f8d5372465fad88143b9603062fa2e7ff9bda3a5b1fa811fcac7f555e6cb5da97d0e730a6863bbeedf864120219ffff03fe814bd68c41683f9b7fdb3d4d7849701a21e2fd286b642dbe30bd27613c23c703c31260027e5acd7a3002466d97a0fb117b7672533e4592a73006bfc07bd8ed5503f07a6d238fbb6f13f25c44fee3fa08fe0b12ffe19eedf6dbe27f5bfd1689425603ae9a0af50156a24df367a0ab41e6004bc7c3e390d5007e6b765c9a0a2ded1ef10321371696ada05c8c1bd14ed2c5a6a3f602c7b098eab8856d60e1b90fbbe357b70321ae90061ea5346207b1f14ed4dbe3066915694a20f06b61c623c35d6a91902a0393c6f49e27c85efd7dc200a2db3e68bdd171035e8adf3b07aeb58869aab1cb5103347352946962ee7d9f6e59fb0c16cc0c6feea2548003335e3f974b31abcb80fe036495396259ecd5226c87b01948ddff5358c71463aeaded19c8c5ef5dd6abdac40219ffff036b75b921ecb9e4aba29b74d57af5a1c8a6a53d77468bb5594dc936e1ab2aead90355242a17160d560ca618e677a98fe665c7f61d2ad378dc350cae87a32871654f039a6a7c526b2d14fc9c67c152a04e8e2708c94cc27ba814f36f8e25db1d9342a70219ffff03380b79a7fb9b76fcc596ca46e7a4deefa0155c4b56f369c06f6bc2c5055a481103a5d376df1cad9bb00a6774a454991ca7b6d2ebd89df1245f8a9c9eef2fc47e3303cc8fe59b54f753cbe6fe9b7c1f3430a280c66102191d8bc5f48799562603cbc603cf86391f2180c45efd5a1b7dc1b23485f68ed1fee9ddad385797f88566f1f00603779d7c06653d930acd77071ee70ebfefa60fa6db23c508a83b03eaa5437927ee0322812ea7acca5b606e50b12bd74db34d454cf2c0ac3e8077793372cf746b97cc0394825b6b0941c3a6e4beef62e4306f431ed6ab16dd00f0bb8336fdc44c4b3cd003f942ead4b8fb4e6da76cafa2505ebea78a0610ef9f93ffdec803426220113562030ddcb9d2257af6774522fb892d5043d99739675662d864384efcf8212fac44f103645c3a15190fc6abc8ae763c0796e00f6af01d99d65fb3f270dc305f415b78790459412c60c06040818152600480361015610021575b505050361561001f57600080fd5b005b600092833560e01c90816301ffc9a7146109cc57508063150b7a021461097657806323a69e751461078c57806324856bc31461070857806324dec034146106745780633593564c146105a85780633f4ba83a1461054757806357c799611461051e5780635c975abb146104f8578063709a1cc214610385578063715018a61461033a5780638456cb59146102d35780638da5cb5b146102aa578063b85aa7af14610281578063bc197c81146101f4578063f23a6e611461019b5763f2fde38b036100115734610197576020366003190112610197576100fe610a38565b90610107610ada565b6001600160a01b03918216928315610145575050600180546001600160a01b031981168417909155166000805160206140d78339815191528380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5091346101f15760a03660031901126101f1576101b6610a38565b506101bf610a53565b50608435906001600160401b0382116101f157506020926101e291369101610a7d565b50505163f23a6e6160e01b8152f35b80fd5b5091346101f15760a03660031901126101f15761020f610a38565b50610218610a53565b506001600160401b039060443582811161027d576102399036908601610aaa565b505060643582811161027d576102529036908601610aaa565b50506084359182116101f1575060209261026e91369101610a7d565b50505163bc197c8160e01b8152f35b5080fd5b50503461027d578160031936011261027d5760035490516001600160a01b039091168152602090f35b50503461027d578160031936011261027d5760015490516001600160a01b039091168152602090f35b50346101975782600319360112610197577f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25891602091610311610ada565b610319612f5d565b610321612f5d565b805460ff60a01b1916600160a01b17905551338152a180f35b83346101f157806003193601126101f157610353610ada565b600180546001600160a01b0319811690915581906001600160a01b03166000805160206140d78339815191528280a380f35b503461019757602090816003193601126104f4578381356001600160401b03811161027d576103b8829136908501610a7d565b90818751928392833781018381520390827f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b05af16103f46130ad565b50156104e65782516370a0823160e01b815230918101919091527f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b09282826024816001600160a01b0388165afa9182156104dc5785926104a5575b5061049d827f1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c957f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b090614065565b51908152a180f35b9391508284813d83116104d5575b6104bd8183613054565b810103126104d1579251909261049d61044f565b8480fd5b503d6104b3565b81513d87823e3d90fd5b8251637d52991960e01b8152fd5b8380fd5b5091346101f157806003193601126101f1575060ff6020925460a01c1690519015158152f35b50503461027d578160031936011261027d5760025490516001600160a01b039091168152602090f35b50346101975782600319360112610197577f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa91602091610585610ada565b61058d612fa4565b610595612fa4565b805460ff60a01b1916905551338152a180f35b50906060366003190112610197576001600160401b0382358181116104d1576105d49036908501610a7d565b91602435908111610670576105ec9036908601610aaa565b92909160443542116106605733301461064e578554946000196001600160a01b0387160161063f57506001600160a01b031994851633178655600194936106369390929091610b32565b82541617905580f35b516337affdbf60e11b81528690fd5b909192935061065d9450610b32565b80f35b8451632dfb7c8b60e11b81528690fd5b8580fd5b50503461027d573660031901126101f15761068d610a38565b610695610a53565b9061069e610ada565b6001600160a01b0390811690811515806106fd575b156104f45760018060a01b0319928284600254161760025516809260035416176003557f26e41379222b54b0470031bc11852ad23058ffb8983f7cc0e18257d6f7afca9d8380a380f35b5080831615156106b3565b509080600319360112610197576001600160401b0382358181116104d1576107339036908501610a7d565b916024359081116106705761074b9036908601610aaa565b92909133301461064e578554946000196001600160a01b0387160161063f57506001600160a01b031994851633178655600194936106369390929091610b32565b5090346101975760603660031901126101975760243591803591906001600160401b0390604435828111610972576107c79036908301610a7d565b91909287861390811580610968575b610958578385018686820312610954578535918211610954576107fa91860161313c565b506001600160a01b036020850135818116959194908690036109545761081f91613214565b959097602b89106109445786359260178460601c98019561089062ffffff883560601c9660481c16868b7f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e27f00000000000000000000000041ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c9613e0d565b33911603610934571561092a57508186105b156108b7575050505061065d93503391613427565b939594509192909190604287106108fd57505050836017116104d157600160ff1b8210156104d1576108f79360161901916108f23391613dfc565b613e9a565b50505080f35b91969550929391508454841161091b575061065d9394503391613427565b516339cedf2960e11b81528590fd5b96508582106108a2565b82516332b13d9160e01b81528590fd5b8151633b99b53d60e01b81528490fd5b8980fd5b855163316cf0eb60e01b81528390fd5b50888813156107d6565b8680fd5b5091346101f15760803660031901126101f157610991610a38565b5061099a610a53565b50606435906001600160401b0382116101f157506020926109bd91369101610a7d565b505051630a85bd0160e11b8152f35b92505034610197576020366003190112610197573563ffffffff60e01b81168091036101975760209250630271189760e51b8114908115610a27575b8115610a16575b5015158152f35b6301ffc9a760e01b14905038610a0f565b630a85bd0160e11b81149150610a08565b600435906001600160a01b0382168203610a4e57565b600080fd5b602435906001600160a01b0382168203610a4e57565b35906001600160a01b0382168203610a4e57565b9181601f84011215610a4e578235916001600160401b038311610a4e5760208381860195010111610a4e57565b9181601f84011215610a4e578235916001600160401b038311610a4e576020808501948460051b010111610a4e57565b6001546001600160a01b03163303610aee57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9291909260a052608052610b44612f5d565b818103612f085760005b828110610ba1575050504780151580610b97575b610b695750565b47908110610b855780610b795750565b610b83903361401a565b565b604051631a84bc4160e21b8152600490fd5b5030331415610b62565b818194929394101561183a5760059181831b6080510135601e199182608051360301821215610a4e57608051820135956001600160401b038711610a4e576020836080510101968036038813610a4e57606096603f90818860a051013560f81c16600197602082106000146127a957506010808210156121cb57506008808210156115ee575080610fa857505050610c399088613235565b92909860a085608051010135600014610f9e576004546001600160a01b031698610c64905b356131db565b608051909a9990860160400135858b600160ff1b8314610f17575b50959a95505b600160ff1b811015610a4e5760428610610f1157305b86602b11610a4e578b90601782013560601c9262ffffff8335958660601c96610d1460018060a01b0393849260481c16888a7f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e27f00000000000000000000000041ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c9613e0d565b169286881015610ef557826401000276a4925b602b60405198604060208b01528160608b015260808a0137600060ab89015216604087015260a086526001600160401b0360c0870190811190871117610edf5760c086016040818152630251596160e31b825295841660c488015287891060e4880152610104870191909152911661012485015260a06101448501529060bf1984610db6610164820182612f1d565b030190600060c08601915af1918215610ed3576000918293610e8e575b50610de4931015610e875750613dfc565b9860428510610e0657309085601711610a4e5760170194601619019499610c85565b5060805191995097919694930160600135119050610e75575b1580610e62575b610e335750600101610b4e565b60408051632c4029e960e01b8152600481019390935260248301528190610e5e906044830190612f1d565b0390fd5b5060a051820135600160ff1b1615610e26565b604051631ce9aa4b60e11b8152600490fd5b9050613dfc565b9250906040833d604011610ecb575b81610ead60409360c08401613054565b810103126101f1575060c082015160e0909201519190610de4610dd3565b3d9150610e9d565b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b8273fffd8963efd1fc6a506488495d951d5263988d2592610d27565b8b610c9b565b601491925010610f8c576020602491604051928380926370a0823160e01b82523060048301523560601c5afa908115610ed357600091610f5a575b503880610c7f565b906020823d602011610f84575b81610f7460209383613054565b810103126101f157505138610f52565b3d9150610f67565b604051633b99b53d60e01b8152600490fd5b610c643099610c5e565b6001819c9b969c9a989794959a1460001461107057505050604092610fd584836080510101359382613235565b608051840160a0013515611064576004546001600160a01b031692606090610ffd90356131db565b6080519095010135600055600160ff1b851015610a4e57611021936108f286613dfc565b90919015611055575061103390613dfc565b0361104557506000196000555b610e1f565b51636a70124760e11b8152600490fd5b61105f9150613dfc565b611033565b6060610ffd3094610c5e565b9194929391600281036110b257505060045460805161104095509093016060810135936001600160a01b031691506110ab90604001356131db565b913561335d565b9193916003810361139757505060805181018084019390604090850312610a4e5782356001600160401b038111610a4e5782608051010192606084860312610a4e5760405194606086016001600160401b03811187821017610edf5760405260208501356001600160401b038111610a4e57850160208201809882011215610a4e5760208101359061114382613112565b926111516040519485613054565b8284526040602085019360071b830101918a8311610a4e57604001925b8284106113325750505050855261118760408501610a69565b956020860196875260606040870195013585526040846080510101359060018060401b038211610a4e5760206111c6926111cc9660805101010161313c565b5061326f565b60048054909592939192906001600160a01b03908116907f00000000000000000000000031c2f6fcff4f8759b3bd5bf0e1084a055615c768163b15610a4e57959394929190604051968795632a2d80d160e01b87528601526060602486015260c48501935193606060648701528451809152602060e487019501906000905b8082106112d757505090516001600160a01b03166084860152505160a48401528282036003190160448401526000938392611288929091906130dd565b0381837f00000000000000000000000031c2f6fcff4f8759b3bd5bf0e1084a055615c7686001600160a01b03165af18015610ed3576112c8575b50610e1f565b6112d190612ff0565b386112c2565b825180516001600160a01b039081168952602082810151909116818a015260408083015165ffffffffffff908116918b019190915260609283015116918901919091528a98506080909701969092019160019091019061124b565b608060208584030112610a4e57602060809160405161135081613003565b61135987610a69565b8152611366838801610a69565b8382015261137660408801613129565b604082015261138760608801613129565b606082015281520193019261116e565b600495509193508482036114ae5750509091604060606113bd82866080510101356131db565b60805190950101356001600160a01b039081169335168061140d575047928310611400575050806113f0575b5050610e1f565b6113f99161401a565b38806113e9565b51631a84bc4160e21b8152fd5b9391908051936370a0823160e01b85523083860152602085602481895afa9485156114a35760009561146f575b50841061146257505081611451575b505050610e1f565b61145a92614065565b388080611449565b51630ceb95c760e31b8152fd5b90946020823d60201161149b575b8161148a60209383613054565b810103126101f1575051933861143a565b3d915061147d565b82513d6000823e3d90fd5b81036114db575061104092506114d46040606084608051010135936080510101356131db565b903561328c565b909190600681036115d7575060805101606081013590604090611500908201356131db565b92821580156115cc575b6115bc57356001600160a01b031693846115395750506110409250611532612710914761332a565b049061401a565b8151906370a0823160e01b82523090820152602081602481885afa9182156115b2575060009161157e575b506115776110409493926127109261332a565b0491614065565b906020823d6020116115aa575b8161159860209383613054565b810103126101f1575051611577611564565b3d915061158b565b513d6000823e3d90fd5b8151636f5500f360e11b81528590fd5b50612710831161150a565b8360249160405191636bb50f4f60e11b8352820152fd5b90809392509b9a959b9997969394991460001461185a57505060409161161c83836080510101359185613235565b92909460a082608051010135600014611850576004546001600160a01b03169061164690356131db565b90861561183a5761165685613406565b876001101561183a576116786116c09161167260208901613406565b90613991565b907f57224589c67f3f30a6b0d7a1b54cf3153ab84563bc609ef41dfb34f8b2974d2d7f0000000000000000000000001097053fd2ea711dad45caccc45eff7548fcb3626139e2565b938481611820575b50505060001986019386851161180a576001600160a01b039485906116f7906116f2908a856133f6565b613406565b16948651946370a0823160e01b91828752841693600499858b89015260249460208987818d5afa9889156117ff576000996117ca575b50916020969594939161173f93613aa9565b8751968793849283528a8301525afa9283156117bf5760009361178a575b50906060611771926080510101359261341a565b1061177d575050610e1f565b51631093d5f360e31b8152fd5b90926020823d6020116117b7575b816117a560209383613054565b810103126101f157505191606061175d565b3d9150611798565b84513d6000823e3d90fd5b90986020823d6020116117f7575b816117e560209383613054565b810103126101f157505197602061172d565b3d91506117d8565b8b513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b6118329261182d88613406565b613427565b3880846116c8565b634e487b7160e01b600052603260045260246000fd5b6116463091610c5e565b6009829593949214600014611b1857508161187792939450613235565b9060a084608051010135600014611b0e576004546001600160a01b03169261189f90356131db565b9160009360028310611afc576040808760805101013596600019850185811161180a57805b6119055750608051016060013587116118f55750821561183a5761104095856118f09261182d85613406565b613aa9565b516345585e0b60e11b8152600490fd5b976000198901975088881161180a576119256116f26119879988886133f6565b9061193d6119376116f28c8a8a6133f6565b83613991565b819a917f57224589c67f3f30a6b0d7a1b54cf3153ab84563bc609ef41dfb34f8b2974d2d7f0000000000000000000000001097053fd2ea711dad45caccc45eff7548fcb3626139e2565b8451630240bc6b60e21b815260049391929160608286816001600160a01b0388165afa9b8c15611af157600092839d611aba575b506001600160a01b03918216911603611aa7576001600160701b039081169a16915b9980158015611a9f575b611a8f57816119f59161332a565b9161271092838102938185041490151715611a7a5790611a149161341a565b906126f791828102928184041490151715611a655790611a339161333d565b9060018201809211611a505750611a4a9098613984565b806118c4565b601190634e487b7160e01b6000525260246000fd5b601183634e487b7160e01b6000525260246000fd5b601184634e487b7160e01b6000525260246000fd5b8551633dce448b60e11b81528490fd5b5082156119e7565b6001600160701b039a8b169a16916119dd565b909c50611adf91925060603d8111611aea575b611ad78183613054565b810190613a73565b509190919b386119bb565b503d611acd565b87513d6000823e3d90fd5b6040516320db826760e01b8152600490fd5b61189f3093610c5e565b9193600a8103611c565750608051830160e08101358101936020808601359450909291611b49919086030184613207565b11610f8c57600480546001600160a01b03947f00000000000000000000000031c2f6fcff4f8759b3bd5bf0e1084a055615c76886169491861693853b15610a4e57604096808851998a9788976302b67b5760e41b8952880152611bab90610a69565b1660248601528088836080510101611bc290610a69565b16604486015265ffffffffffff808360805101606001611be190613129565b1660648701528260805101608001611bf890613129565b166084860152816080510160a001611c0f90610a69565b1660a48501526080510160c0013560c484015261010060e4840152611c3b9161010484019187016130dd565b03815a6000948591f19081156115b257506112c85750610e1f565b600b8103611da357505050611c756040809260805101013592356131db565b9180600160ff1b8103611d8b575050475b80611c9357505050610e1f565b6001600160a01b03907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28216803b15610a4e578351630d0e30db60e41b815260049390600081868187875af18015611d8057611d71575b503090861603611cfc575b5050611449565b611d1f94600060209486519788958694859363a9059cbb60e01b85528401613077565b03925af19081156115b25750611d39575b80808080611cf5565b6020813d602011611d69575b81611d5260209383613054565b81010312610a4e575180151503610a4e5738611d30565b3d9150611d45565b611d7a90612ff0565b38611cea565b86513d6000823e3d90fd5b471015611c86578151631a84bc4160e21b8152600490fd5b600c8103611eda5750505090611db990356131db565b9060018060a01b03807f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21660408051936370a0823160e01b8552600430818701526024916020878481885afa9687156117bf57600097611ea6575b50608051018301358610611e985785611e34575b50505050505050610e1f565b833b15610a4e5760009186918385519687948593632e1a7d4d60e01b85528401525af19081156115b25750611e89575b503090831603611e79575b8080808080611e28565b611e829161401a565b3880611e6f565b611e9290612ff0565b38611e64565b8251631a84bc4160e21b8152fd5b90966020823d602011611ed2575b81611ec160209383613054565b810103126101f15750519583611e14565b3d9150611eb4565b600d81036120f1575082608051010191602083019360208260805101850312610a4e57356001600160401b038111610a4e57849160805101019182011215610a4e57602081013590611f2b82613112565b93604093611f3b85519687613054565b838652602086019285849560071b820101928311610a4e578501925b82841061208f575050600480548651919493506001600160a01b039250821660005b82811061204557505050807f00000000000000000000000031c2f6fcff4f8759b3bd5bf0e1084a055615c7681692833b15610a4e578451630d58b1db60e01b81526020918101919091529451602486018190528592604484019290916000915b81831061200157505050509181600081819503925af19081156115b257506112c85750610e1f565b91938395506080602091846060600195975182815116845282868201511686850152828d820151168d85015201511660608201520195019301909187949392611fd9565b8184612051838b6133e2565b5151160361207f57600019811461206a57600101611f79565b601186634e487b7160e01b6000525260246000fd5b865163e700287760e01b81528690fd5b608060208584030112610a4e57602060809187516120ac81613003565b6120b587610a69565b81526120c2838801610a69565b838201526120d1898801610a69565b898201526120e160608801610a69565b6060820152815201930192611f57565b9294505050600e81036121b357506040918251906370a0823160e01b825260208260248160018060a01b03806004983516888301528886608051010135165afa9182156117bf5760009261217e575b5060805101606001351180159290612159575050610e1f565b516351940b3960e11b602082015290815290915061217681613039565b9038806113e9565b90916020823d6020116121ab575b8161219960209383613054565b810103126101f1575051906060612140565b3d915061218c565b60249060405190636bb50f4f60e11b82526004820152fd5b925092905060189a99949a989693988084106000146124e057505081036122b357505090604091828051916331a9108f60e11b83526020836024816004976060816080510101358983015260018060a01b03968791608051010135165afa9283156122a85760009361226b575b508190351691161491821561224e575050610e1f565b51637dbe7e8960e01b602082015290815290915061217681613039565b90926020823d6020116122a0575b8161228660209383613054565b810103126101f1575061229982916130fe565b9290612238565b3d9150612279565b85513d6000823e3d90fd5b60118103612377575050604091825190627eeac760e11b8252602082806122e96004966060866080510101359035888401613077565b038160018060a01b038886608051010135165afa9182156117bf57600092612342575b5060809081510101351191821592612325575050610e1f565b5163483a692960e01b602082015290815290915061217681613039565b90916020823d60201161236f575b8161235d60209383613054565b810103126101f157505190608061230c565b3d9150612350565b909290601281036123ed575060409061239682826080510101356131db565b92356001600160a01b031692833b15610a4e576123d793606060008094865197889586948593632142170760e11b8552608051010135903060048501613183565b03925af19081156115b257506112c85750610e1f565b601381036121b35750608051604091908101606081013590612411908401356131db565b8351627eeac760e11b81529460049390356001600160a01b031691906020878061243e87308a8401613077565b0381865afa968715611d80576000976124ab575b506080908151010135861061249b57845161246c8161301e565b60008152823b15610a4e576000946123d786928851998a9788968795637921219560e11b8752309087016131a5565b8451630ceb95c760e31b81528490fd5b90966020823d6020116124d8575b816124c660209383613054565b810103126101f1575051956080612452565b3d91506124b9565b929350939495505081146000146125445750600092509061250283928261326f565b81604051928392833781018481520391357f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b05af161253e6130ad565b90610e1f565b601981036125995750600092509061255d83928261326f565b81604051928392833781018481520391357f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b05af161253e6130ad565b601a81036125ee575060009250906125b283928261326f565b81604051928392833781018481520391357f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b05af161253e6130ad565b601b81036126d25750600061260481928461326f565b9390604094818651928392833781018481520391357f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b05af19182916126476130ad565b92612655575b505090610e1f565b608080518301908101356001600160a01b0316929061267790606001356131db565b833b15610a4e576126ac9360a060008094865197889586948593632142170760e11b8552608051010135903060048501613183565b03925af19081156115b257506126c3575b8061264d565b6126cc90612ff0565b386126bd565b601c81036121b3575060006126e881928461326f565b9390604094818651928392833781018481520391357f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b05af191829161272b6130ad565b9261273857505090610e1f565b608080518301908101356001600160a01b03169061275990606001356131db565b908251906127668261301e565b60008252803b15610a4e576126ac9460008094865197889586948593637921219560e11b855260a060c083608051010135926080510101359030600487016131a5565b9499939792506020819c9b9792969c146000146128b75750505050906127da6127d28585613214565b95909461326f565b91909261280460409687519660208801986324856bc360e01b8a52602489015260648801916130dd565b93602319868603016044870152808552602081818701941b86010194846000935b83851061285a5750505050505050918161284c60009493859403601f198101835282613054565b519082305af161253e6130ad565b90919293949596601f1984820301875287358284360301811215610a4e578301602081019190356001600160401b038111610a4e578036038313610a4e576128a860209283926001956130dd565b99019701950193929190612825565b9195935093506021959195918282146000146129ac57505060408093608051010135906000906001831015612999575050612988576000907f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b09260208382519363095ea7b360e01b8552600496878601526024948219868201526044968792355af13d15601f3d11600160005114161716156129565750505050610e1f565b91600e6d1054141493d59157d1905253115160921b92602060649695519562461bcd60e51b8752860152840152820152fd5b8151635461585f60e01b8152600490fd5b634e487b7160e01b825260045260249150fd5b909392915060228403612b1c576129dd93506040928381608051010135926129d48382613235565b96909382613252565b9160c084608051010135600014612b12576004546001600160a01b031690612a0590356131db565b9580151580612b04575b612ae2575b505060001984019184831161180a576001600160a01b0394612a48938690612a41906116f290848d6133f6565b169861346c565b8351936370a0823160e01b855260049130838701526020866024818a5afa9586156114a357600096612aad575b5060805101606001358510612aa05750503090821603612a9757505050610e1f565b61145a9261328c565b5163335f65f960e21b8152fd5b90956020823d602011612ada575b81612ac860209383613054565b810103126101f1575051946060612a75565b3d9150612abb565b851561183a57612afd91612af58a613406565b903091613427565b3880612a14565b50600160ff1b811415612a0f565b612a053091610c5e565b919260238103612d7f5750612b3d612b348383613235565b91909383613252565b929060c086608051010135600014612d75576004546001600160a01b031691612b6690356131db565b600280546003549296926001600160a01b03908116929116908810612d6357612b8e88613112565b91612b9c6040519384613054565b888352601f19612bab8a613112565b013660208501378860001981011161180a576080518a0160400135612bd46000198b01856133e2565b526000198901805b612c755750505080511561183a5760200151926060886080510101358411612c6357861561183a57612c1c93612c1591612af587613406565b858461346c565b306001600160a01b03831603612c36575b50505050610e1f565b6116f2612c55916040612c5a96608051010135946000198101916133f6565b61328c565b38808080612c2d565b604051635f8f4a6d60e11b8152600490fd5b600019810181811161180a57612cb489612ca16116f2858f612c9b6116f28883886133f6565b946133f6565b612cac848b8b6133f6565b35918761365d565b929190612cc185896133e2565b51604051633292f1c560e21b81526001600160a01b039095166004860152602485019290925260448401526064830152600019608483015260208260a481875afa918215610ed357600092612d2d575b5090612d21612d279392876133e2565b52613984565b80612bdc565b90916020823d602011612d5b575b81612d4860209383613054565b810103126101f157505190612d21612d11565b3d9150612d3b565b60405163288b2b3360e21b8152600490fd5b612b663092610c5e565b60249594919250858103612e5f57505060009182916040948551612dcf81612dc16020820195631f73fd2760e31b87528a8860805101013590358c8401613077565b03601f198101835282613054565b51926080510101357f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b05af190612e036130ad565b928215612e11575050610e1f565b81516304c25c1360e51b60208201526004808252939450928383019291906001600160401b03841185851017612e4c575050529038806113e9565b604190634e487b7160e01b600052526000fd5b60258196949392959614600014612ef157506001600160a01b037f0000000000000000000000005c19add791a23c55be09fab1db73bfd5fa80c2b08116803b15610a4e5760009283606492896040978851998a97889663768a074360e11b88523516600487015289826080510101359086015260805101013560448401525af19081156115b257506112c85750610e1f565b839060405190636bb50f4f60e11b82526004820152fd5b6040516001621398b960e31b03198152600490fd5b919082519283825260005b848110612f49575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201612f28565b60ff60045460a01c16612f6c57565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b60ff60045460a01c1615612fb457565b60405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606490fd5b6001600160401b038111610edf57604052565b608081019081106001600160401b03821117610edf57604052565b602081019081106001600160401b03821117610edf57604052565b604081019081106001600160401b03821117610edf57604052565b601f909101601f19168101906001600160401b03821190821017610edf57604052565b6001600160a01b039091168152602081019190915260400190565b6001600160401b038111610edf57601f01601f191660200190565b3d156130d8573d906130be82613092565b916130cc6040519384613054565b82523d6000602084013e565b606090565b908060209392818452848401376000828201840152601f01601f1916010190565b51906001600160a01b0382168203610a4e57565b6001600160401b038111610edf5760051b60200190565b359065ffffffffffff82168203610a4e57565b81601f82011215610a4e5780359061315382613092565b926131616040519485613054565b82845260208383010111610a4e57816000926020809301838601378301015290565b6001600160a01b03918216815291166020820152604081019190915260600190565b91926131d895949160a094600180871b038092168552166020840152604083015260608201528160808201520190612f1d565b90565b6001600160a01b0390808216600181036131f85750506004541690565b9091506002036131d857503090565b9190820180921161180a57565b91823583019161322e602084359581860195030185613207565b11610f8c57565b91606083013583019161322e602084359581860195030185613207565b91608083013583019161322e602084359581860195030185613207565b91602083013583019161322e602084359581860195030185613207565b909291906001600160a01b0316806132a95750610b83919261401a565b600160ff1b82146132c0575b92610b839293614065565b6040516370a0823160e01b815230600482015293909150602084602481855afa938415610ed3576000946132f7575b5092906132b5565b6020813d8211613322575b8161330f60209383613054565b810103126104d157519350610b836132ef565b3d9150613302565b8181029291811591840414171561180a57565b8115613347570490565b634e487b7160e01b600052601260045260246000fd5b91926001600160a01b037f00000000000000000000000031c2f6fcff4f8759b3bd5bf0e1084a055615c768811693909290843b15610a4e5760009484869281608496816040519b8c9a8b99631b63c28b60e11b8b521660048a01521660248801521660448601521660648401525af18015610ed3576133d95750565b610b8390612ff0565b805182101561183a5760209160051b010190565b919081101561183a5760051b0190565b356001600160a01b0381168103610a4e5790565b9190820391821161180a57565b9291906001600160a01b038082163003613446575050610b839261328c565b808495941161345a57610b8394169261335d565b60405163c4bd89a960e01b8152600490fd5b92808203600019016136315760005b818110613489575050505050565b6134976116f28285886133f6565b8460016134aa6116f2828601888b6133f6565b6134cf60018060a01b03938492866134c8898b8760025416956133f6565b359261365d565b939192909516946040948551946370a0823160e01b8652600493308588015260209060249982898c81845afa98891561362657908a8c9a999897969594939260009a6135dc575b5083918a9b60009a9b8b93519163095ea7b360e01b8352888c84015282015260449a8b925af1600051909114601f3d11163d151716156135ab575016803b15610a4e57600095608494879389519a8b988997630b68372160e31b89528801528601528401528160648401525af19081156115b25750906001929161359c575b500161347b565b6135a590612ff0565b38613595565b846d1054141493d59157d1905253115160921b87600e8d6064958e519562461bcd60e51b8752860152840152820152fd5b80939597999b50848097999b939592503d831161361f575b6135fe8183613054565b810103126101f15750518a9890979096909590949093909290918a83613516565b503d6135f4565b8a513d6000823e3d90fd5b60405163f8637a3960e01b8152600490fd5b6001600160a01b0391821681529116602082015260400190565b90939192936000936000948586600289146000146137c25750505061369d9495506080604091825180978192632007bd0f60e11b83528660048401613643565b038160018060a01b038097165afa9485156137b8578695613718575b5050818060208601511691161460001461370f5760ff845b169384613707575060ff60015b16925116905b6001600160a01b038216156136f557565b60405163da6a56c360e01b8152600490fd5b60ff906136de565b60ff60016136d1565b909194506080813d82116137b0575b8161373460809383613054565b8101031261067057815191608083016001600160401b0381118482101761379c57815261378f91606091613767826130fe565b8552613775602083016130fe565b60208601526137858183016130fe565b90850152016130fe565b60608201529238806136b9565b634e487b7160e01b88526041600452602488fd5b3d9150613727565b81513d88823e3d90fd5b95949293909691976003146137db575b505050506136e4565b9092969591939450604080519663923093cb60e01b885260a088806138048c8760048401613643565b0381600180851b03809a165afa97881561397a5785986138c7575b50908591828060208b01511694168481146000146138875750508185995b169283036138575750505050925b511690388080806137d2565b870151929350909116810361387057505060019261384b565b8260608693960151160361384b576002935061384b565b909192838a01511681146000146138a557505084908160019961383d565b8660608a9b939b015116146138be575b9085809261383d565b600298506138b5565b90975060a0813d8211613972575b816138e260a09383613054565b810103126104d15781519060a082016001600160401b0381118382101761395e576080849392613951928a9652613918816130fe565b8452613926602082016130fe565b60208501526139368582016130fe565b85850152613946606082016130fe565b6060850152016130fe565b608082015297909161381f565b634e487b7160e01b87526041600452602487fd5b3d91506138d5565b82513d87823e3d90fd5b801561180a576000190190565b6001600160a01b0382811690821610156139a85791565b9091565b6001600160f81b0319815260609190911b6001600160601b03191660018201526015810191909152603581019190915260550190565b6040516001600160601b0319606094851b81166020830190815295851b16603482015260288152928301939092908185106001600160401b03861117610edf57613a4f92613a3d9186604052835190206080840195866139ac565b03607f1981018452605f190183613054565b905190206001600160a01b031690565b51906001600160701b0382168203610a4e57565b90816060910312610a4e57613a8781613a5f565b916040613a9660208401613a5f565b92015163ffffffff81168103610a4e5790565b9260028210613dea57811561183a57613ac184613406565b916001948186101561183a5791613adf602094611672868601613406565b50926000935b60001984018510613afa575050505050505050565b613b086116f28686856133f6565b92613b196116f28a880187866133f6565b60408051630240bc6b60e21b8152956001600160a01b0393841694919260049290916060808a86818b5afa998a15611d8057908d9594939291600091829c613dc4575b50509087169187168214996001600160701b0390811691168a15613dbe575b8651958680946370a0823160e01b82528b8883015260249889915afa928315611af1578e600094613d8d575b505080830391811593848015613d85575b613d7557826126f78086029586041491141715613d6157613bd9908361332a565b92612710808302928304141715613d4d57613bfe9291613bf891613207565b9061333d565b9715613d4557600097905b898b6001198201811015613d3957916116726116f2613c31936002613c7b9c9601908d6133f6565b8198917f57224589c67f3f30a6b0d7a1b54cf3153ab84563bc609ef41dfb34f8b2974d2d7f0000000000000000000000001097053fd2ea711dad45caccc45eff7548fcb3626139e2565b965b855190996001600160401b0393919290918e840185811185821017613d2557885260008452813b15610a4e5760008a93613ce482968b519c8d978896879563022c0d9f60e01b87528d8701528d860152166044840152608060648401526084830190612f1d565b03925af180156117bf57908d969594939291613d09575b505050505094019391613ae5565b909192938095965011612e4c5750505287903880808080613cfb565b87604188634e487b7160e01b600052526000fd5b5050508b956000613c7d565b600090613c09565b85601186634e487b7160e01b600052526000fd5b86601187634e487b7160e01b600052526000fd5b8851633dce448b60e11b81528790fd5b508115613bb8565b8181959293953d8311613db7575b613da58183613054565b810103126101f157505191388e613ba7565b503d613d9b565b90613b7b565b899c508992509081613de192903d10611aea57611ad78183613054565b509b9091613b5c565b604051632b94ab4360e21b8152600490fd5b600160ff1b811461180a5760000390565b6001600160a01b039490939085821684871611613e92575b62ffffff90866040519381602086019716875216604084015216606082015260608152608081019281841060018060401b03851117610edf57613e8b92613e7991856040528351902060a0840196876139ac565b03609f1981018352607f190182613054565b5190201690565b909290613e25565b939193602b8410610f8c578462ffffff6000613f5394613fa3613f679935988960601c9a8b9a613f27601789013560601c9d8e109c60018060a01b039e8f998a9460481c16917f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e27f00000000000000000000000041ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c9613e0d565b16968b8614613fff576401000276a49a5b60409d8e9b8c938451968795602087015260608601916130dd565b91168b83015203601f198101835282613054565b848851998a9889978896630251596160e31b88521660048701528c6024870152604486015216606484015260a0608484015260a4830190612f1d565b03925af1908115613ff4576000938492613fbe575b50509192565b9080949250813d8311613fed575b613fd68183613054565b810103126101f15750602082519201513880613fb8565b503d613fcc565b83513d6000823e3d90fd5b73fffd8963efd1fc6a506488495d951d5263988d259a613f38565b600080809381935af11561402a57565b60405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606490fd5b600091826044926020956040519363a9059cbb60e01b8552600485015260248401525af13d15601f3d116001600051141617161561409f57565b60405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a2646970667358221220f311f649cfb8c27a86706243073c20d528a63e9eea9af4549193c62af1c4576d64736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0545c19add791a23c55be09fab1db73bfd5fa80c2b000582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b041010058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054a4c0028748d8f534e6d7bab20d9b696f750f114d005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0545c19add791a23c55be09fab1db73bfd5fa80c2b00219191405581e0383bb678dd1cc5add7fbb29ff18155749a517714d5b4a9a44543725ac50070119412c05581e037e1e8924e46ed7e3a0cb187b17080885d8e1dc42b52a0ea14740bdb2d0040105581e03e181fa80ad0253822332d0c2ca94c17c016719bea42a4429ad674814d0040105581e03457d63043d03f0f63c38ff7e9b690a07213158bbbab22c10c2cf78f8200c01470307e4c0e060000344deea03270b76523daf449bb2852d74b96775c7b88071dbb24ba3b668f5a5120219a03203dcb1bd753e7b62d80910ff7d67e29bf93cd93fa743ba2c31433cc10a0cf743a603fe9b3f4860257c6a303e8a99ffdb4127c2bc183c746d850a6b4b1b384682769503186d2e97bfff9dc942f59944df5f87ceb19cb706dd7f68b015aab2ddbe048f3103dd68dab2def853516fc666299e8af43f9060d5b32c77b32654e5e5f957070fd6036d019f4be67d90ca86bc7b0bfc2c0acb924adcee6f1ac6fbcc0bbaf912ef09540357825ff8919458758bc85bcbfcafe01c100fc8e00e15a0e6f2119967ece89c03033ed57420e6182ee56e447d33f951b2e0d8142626c12358fbfe996845f1ca721a03adfeb2dd29197f1f2635c654009a348a615d4f4d0e19ab2540e6eb2373869a370351e5c36dc1085547d3c0ffe36a8b08ea3e39e493b9071d65a847b0079191002903a137d738859dda69869ae6f44440a9b028ad9364c2426ed6cc9ac84d4b84c411037e4713ea3603cbb8fa27db33cfacc59d94e772d00355c5693ca3c63d9ac231d8035901d7b228eed06bf69224aad740d364148887fd98507adaba5ee9857b326b0e031a1bdddb8f50b1d48ba9cde171344ce21f561b779e315d00f29967ec67cae2ec03c80cc715198940c41b9c1dd2e52d5698196de59e4d6a47af61160c53ea5c4ca30219ffff03eb7a155c57577098d56dc5b786653b7bc0fa77710e662b8328584e56e4e1bb0803d72b3d9f158d51b45383edcfe33e3b0b06ac5e2476376a853981e3b2de3f2b7b03bbcd7b0262d9a7713126c560366e5c5c3ced7caa41bc1ec3b22399dfd72d929b03091ccde1d49e9b13620413d9fd0cf10c4a5974285ec92254a3a6629b41778d2303d39d16145f2aaaa79b98003b79c447fc5b3b4b20efb317040d638cd072e476a003ae06f1b0a01dad220647f0601ed16406ddaf94461c0e899a971f1d0678d1ad950378f3cf5d81b874920cb0e2114702762728339817518fff319579cc1b8bf18c6303e7b43ae27abd6797c2f64b47f9ea9ba98d3be8d700487679eb54282ce036ef51030ba4f40872e23807c39fdc33cddc5c151d78c7a2e65dd0da8e121a09b72b723c039206cce738d3d568ba04804c292756b27be17480cfc468b6496871878adf1de20326a85eda79f2fd033a5ea4f45f214b762f313dfee3a1fa9de0df6e85286ae5c30219ffff03ea54820fb5a0e5ab737bcf6b4579534ba1ab9c1c4d902f71cba8e496648ec73103403b1abd37fd919c1b39d6d5fdd47463e664b4f7c1f883f871c2635efc1c9e7e036315abe24d9011ebcbb002f0feeca2d80b9efe30ac33e40a1afea2731523e2bc032b0ab24046f4f27e0ecf6c299f5a6b50fff83695cb21868c238f1b8efd436317038d34b412b869c17d6b97ce1099a79187d60e2c2862b137ee2c61bae88bd946570314e421b147f0fc4a81fbf573b17673326da4b15e19790d4d9ef8660dfe37ecd103acebffce4ec5a098b723e66a20870ed44ecd162f975bf98e09bc4857b4c2ddd703c43ff72b1ff7505f26c70cd11b1d86e6d5612cd031bbc27a34942ea0498ec8a003117e42801e0753842d1abd7e1010ee7c1e844c438a77a906ad02b3d4685fcad00301bca2eac46065ae4aba9b35ea62ae361c75294a4f716bfb5bc1f9173767dc310363683e92ac054fe3ca5b72c1d850c7a5409f8b0035964712b65b920a6170ce5a0219ffff03f0ee8326275f6e853ddc7699c4122c63b063d525968d7a23f1ee414a9f25a43603a2a18082b440feb409aca05150b560c0a600acb6962f64eb172c699cb380827e030c9e952161db01873fe9a8f502d7a158c04954a0754202c5a8ded9748a46612c0328c8b50c063435f4e3b96dce3afb959779ff0b12d41b7813f6bd5b64fd2545d60308e134b41046d4e0bf09aec3468121d134c435a2600d327888d1cb36379fbd070359dcd034f00cdecc5e57a5626e7855a9ce569f31842b7429d01d761097d1c5ee0392807875727df55b51b1fda5245ce2cc7a178d12d51fc25bfce36cd25c36f1fb0387235dce727f993e401497e292bd7ed26d0bcc90d8c48567d0e3eac544c4291703e2c1f1d03b4543d6ebf0126bfb2be647cf5045d8c91eaab778d7121c0b1494680380976ff0d0fd52fa64463e39af1bf419cd19c1f3f246430330982f1ca62f1d65030a7f994bb7b4c8291669265309829b23908051419466456eecc742e8fa93a63303430339030685b284c6db232204e5effca818f763cd862dfe55f12c0e6b4e36a003f313f8e3bd84dabbd4b496ebffe19b26f55704382720ba24ba320d343174dea403c9f3477cd3c42978077234065fc33534859a654cb353f5ff549deb4a2de2ee280324a7f57573a0781d7424cc6178ab55aca6d780ebc864718e7db78562370e49ce0339bf6508904e5b0b52065df1881394a62cae5a613aebeeb3918a289f0a7e999c0349639bf85441803393183212415e16e93b2989a1e6e07f489c6ec1a5f6ef126403e2e72cc5b4d2d693fcb2cbf8761967f53c57933db7eca0572de0f32eeb2a50ca031331ac874973c586f2f3ad711da13c888e558e1846718414b0751cb86a3b022903fdeee4a0c9e2a40080796a3119c6deebd2924319aec46a226702ac0553282588033980451255e493e58008161f3645447b7f50756ea57a9af29b3dae54da936f0d034edffc1d9cdeed7e7ff9d8c07f0d3f0a08fe07394a9eaf6229ce064833b4d27405581e030eb6df00fe8353c79a84f50e3a341363dc73960c68f17058adf956f81007011bffffffffffffffff036539d93c354d77a449dbdadb4357619da56b1b843e00b48c4af740150fef4cdd0605581e038593e3bb268a385756ca4a4a9bf158039bd2b48e4e94472802d5cf382007011bffffffffffffffff0313f3cdd42c9408fd50d5f3852891d6613198b27962c4844d56ba1dc1671b0cab05581e036f0984fe7b998d6c47e6b342b4eae560622ace94c53efd169fce1dbd200c0346043be862ecff03920251724ac6e6366998f4b71a79aa3dacdb3208ea2f9c27550300988fd8974d0307f1026b17ab53074dfb84fc4a455d3360bf33a5b696cf9d6c14bfdff8c6b78405581e03fdc48ad1fd4be570de406e8f9264fa685d0cebff1b10378ea35f77c32007011bffffffffffffffff038e482dbc708e509addc3e3362f2c6227ea3305b186620d5fbe2f2801b68b71ac03058716386c4df3968a13ef7f683d7ea3149aa562dcbe2298a002564d7f695e5505581d026ccd763a9584cb7aa3396d06da3b6b6f178614a2c0578ac06f1a278c040103197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581d022e3aa9bde0c0cc29d995b9493e21f6362c22919515a4c11f8adf434e07011bffffffffffffffff0214030e8171fa79c372863bfba25b7c2d947a9a64b7da0840c3e83072b49e2de2c75803b41850cbd4d0b7f1d3571f5e6bfb7f89a6144d8269e78c9a8a949f393750685102195eb50389f679a4fa592615f5ff0e062f17857e15c5935d6ec17b51ccc56d971c5d8e89038a2b243d0c07b5d58b6ea505846d32b24fdb7b5752a11214095cd58e589aa18f03250add6d7d0cb91b13618193bdd3a0b89b7058080f0727208aa565a5908cabf40306a46de0172a35e6c6f001d1ad2e8771023ae25e48ae161f6b6411460a2eccfa033d56c09add7e3535b1b846f96decd40e7656e395da1709540cbe0002ee0c819f037fc2e5745d4d829fb239b3fed0749c2372c039b499b53b1802cd59405f65a8c703506a649bc6bea5aa0f2271fa24ac1f27810479bf672f70c9e28c2c847553bbda03c397d4eee7f0a3bec7fe469676a2e08340a4d47f46dcc67e43308cddb1365a920219ffff0303953ccfee93728282e4d695ec2b82650b23a1488b4e0648b744c2b1204babb7039312e7e592a93b3e1fa2f86aabf461171608deb92a60b600787ea64b7e14056303b35552351c56b78b48de55c9a35e3524e58ab75a32981329d6e8ca81d9856a9e03c61c364886afa828e78467d5303469f34febb9a527a04cd7e77077c08ebb2d60032eeed8b8319282ef470f2bd9ce05807a670c117cc8ceca68f0a020fff9da4d310335d7e0b3cc6299a85ad78667adc3e5090e2be15ccb2c68ca5d5893ae5f8606c4031deb2a60ce7832cbba01f73b592bbe538a865be99207bbcb53ef8d8ce68e59b80317baeea7c06147aa1bd7bbe35bc055ce73221efe5034bcfbf309d252569f7b5d03232b6bdf49cebcda39139bc83c0dfeee3fd0e1ab15a1e02eae1e0d3e9e766c4503c43a7d79958c562b1beafef2f8fd0cfcbcfb48f7e9d369af6515a31bd99f7cca03cce5407e99e4b6b6ffe6a9dc74f02d42859aa4bfff87bcf83e84af2ac2294a9a0219ffff034cc3a82076e8806f4b99bebbd67834b0faca467b3b63b7daf96dd4a1ae901b9403b1f34eef722903e368197c560333b996d7d41a86067475708250935bae469c880324fe112186a5f27e2e0e1db83b5a0dd99e24935ca12cbad1c269fb35580ace0f032c2c15b3f9f486ed48e55f314260745c8f8a98007d717980d50618cfde4fb67803f001956eb8fb5060cb276a72929a3f24a5c95069220d2f6adbeb11049b96712403a2ec46c107388a6f00775d883a8b5a3c2a16dae11d8270d2390ceca61b5c0d6a03e4745a9f751b202b0f33daff25cd02bc8b8f6e015424ba9d82629cb566fd0169036eccf3443658e3757aa5d593fbf625f9b32af5eecdb31b4df662c95acb0b450c03665e19cf9e1b8519e29b2297c8a401ba2ade5ec7916559583da959c8402460850219ffff03db0b793e405bb8ff7605dde255822f03399c9de43ce09dc39a5aae827e1a030203a2c9c04f2dddc594d576fd2549ee4b460d0b1dcc8039e2836669db2ba37a2f1d034002ad65a52f94a353f67e1620a5b6505ff0e4ed9e3a2fa8d79e36810f52b64c036eb683ab41c7fa1b3e090f8f7d03c853b7e43d41856278978d3c4ad847b1fb6c0315437ef64bc89e9542ee7e1dc4605032e14811ee2fb1d2dbd62df3b0ebb6767303d02ff633d3837def12484bd388c0223f03ffc4c7ece16178a6388b0faf7c9c46037e0ae16a392c9d3c029705f7ecc3d683aa57ac59937e7739ac20970701e81a0903454725493b41d8fe3ac7e2c9dccf062598ce3c12b2086f4a14a53d4aa3fa33f103b4f776bb2a8ba4a94373d728c93ab7f3a02bfef30c7ece39ffb3003ad974a45f033079b4c35ebbd4725b7a58260d4a79d476979e36f754ce1ea316a17881234be203eecafb992f9367465ac94016ad2893da6398fa44c1055f5b66b441c6d0627211035cac3e7ad31e4362ec9fa5e0f008d9fd7f7e057c7790f83f10f128cdf1288ba103e6bdb507ca4023b20232c0767597de3844a74c1a476485cc7fd7da45502a2d62030f4b3b5778c371112668dff1bd7a32d464a12a283cfe3d0ecedfefe529eb124c03225c138e329393e3d0e0217f656b4beca4298fa92a592656384125b8904e512b031a49359b833707a55fa6f83570ad6b2bf8f21e0bad2924aa43606fe87569c2240394d95dda2d055103672a37f81d9501e99b75aecc05c587f0334908d5e39ce50d0314e47241e3953878a0f687c46d2d04314a39015b80ca5b6db87b47948a5ea3c6031641347cd63e098503655679d0f0f579b9d5d4ab11ed5436544aa89bd79b580d032b5de353ce3d776c6048f8632a02e9a799dc82e635b1920cded3fcbadfd4870303d42cdced12ac6528c95ff6dd0ffe7e98695d44873edcd051078a7a1a72aeeca703e2c5038726ee0affe9a1aa781e5a623620bcb5ecb0e5fdad7eb322475aaa60ab03f58a2ced5f9c6b5deecedba363dff6b05efb2b4ba91e41f86906d64f106b0a2b0315a1ca7d7cd8a1f75cb256bd1090475ea7b5f6e3eddac8cdd32442d732ffaa4a0348a075fa48d7b7b1c1459c5609b35615563313c74ef0db063ff87115d0ef8952034d206a354e4039006e4f9391cc4200c9cb46f12c083e9ff7dfad4b9871e14a5403439c2bf7ee72ad508e295c2229b28cbd1fac645d8175f275bb1c2c7c5ea7a8460369667199178d86cf550cb0aaf90232bee2f128e2b77aaadc3bf0a981d5ed600b03ead483249af7cc0721117f64bdba8e8919437f3cb4511e683be12431d16d460e0351daa8fa39f6a5e8acc050a54458dc0013df2832d82366dd21356b10dc97b7e403f73593e40ebbe285c60f7122e2608b21c7857a29438288dfad1cf498c4eb191d036809bd9f600d1a61100f64ad2a079484b01fdaeea426d69ba85625e7546727c203391209880e1459437ece2979ac7c8664d0f3623d1b28dcad8a05c0a8dca0288205581e03de5660ee74bba84508392a0fb950feaa2db5d2f1a1045b5d238ed2dbe004010302d0d4238d6960ee44431d7640a6d93a627724b934d2d8cc86adeb0b9198c2e203c1a802451d6140026ab4fd57d4d67ea801498ebef053f3897a0ba971debaf6d605581e03fa57d31a70be23a4726a7bd54c533781b91d4913c896280dac7ee36ba00c02464ff2595dcf0005581d027d8991866827044b9a7539e72fb87d6377e3ac514e3199e407eb1a030c014702650d133ca4d805581d02514d116a5652c18b2568ef304faaab50ba7376d92f42ddc35a48ad880c1901414809f64f0b8451f5b702188805581e0392ccc309615da65444880eeee9591c566dff3f3e44b9bb28b251c3fbf00c03470149f30c874d6805581e0331aa16d7479644014e4be6ba2bb80c6228f01eb9b674a7b0a589a69f50040105581e0374310a22fd2356974bbe746eb0bcad3c300106375342a260753e12f9e00c0447396b47c72ac42c05581e034e0c7157104fed3a0f980b0f1e13b90aaf6b2c8e6f2ec8f267e4aeb1d00c0146dec8908d3a0005581e03c3c7cb49eeb37377439a40818b7ddb76e7b9d0d2d465436c014684f3400c014705004d59a4af0005581e0377ea834763960f56bf76b56bd1f16d42c31d2760d534c971114570bc60040305581e03debe30c6cad0fdeae9122a0b3715a2e0edfdc4a8bb18e4014c52caa1e0040205581e03efa2e228751ab6a93fbffb58d6f96956125193ed1ae4cd6833944768200c034650880e1780dc05581e039545359cb159e8448364c0f64def7cd56236867e3e1acfb67fdb260b5004020219d7ff036888fa501a969d80ce82cb530bea356e53559e06f3af17bc9258d55eb96d4f4503adb375b74170f053c0dc45e54c662c348c4967bbd6cb74d0908d9f40576bba5003f27a8326555dd1db6cf3ca604a91bd2fbc38cf46ea00a1b342ae2a7a6e7c215e03763b36c9f05275658be84f860c08c46470aaa23a7dfa56869c1c19f8bc0541b503710c4a68b81b7e811c077189c2754dad1820338c98d64e53b7b5af8db49d05e90219ffff0323cb59ebac234630427f76ecfd6b2f2f980275ba53d7e7fc94e8df08e2ecb1b10341bd5dd21a8c6f60fc7844d09123a4f5d746b3620e65a48ebec2f93a5d8e637403b1b7a1ade6205a49ef1bb80331d73a2d691bcd67f1404eb89e241a1b053684f203ded76a93a7937ef4b15b2ae7740d3de26ed1068314dd2ad39921c4efd655e4ea0314a176f1a0b17ffc7412a123a76deb85bdc6ca6919a21daca3863f0b7bbc8cab03f34b691efc1960f94192fab57502dae68421476da00f8e212bb5c6639e0f017303a66659c2f76513386a9a669a10d3e516642556cd76d87c7cb3d7a49abbe36fe00219ffff0316721c794a4f15d6099bca86dc659b00d9166c2e65454ad81a8785b49c38dd8d03a102cd3f0fcfec4d20eba45b595f91fdb285072a0b77350b6666eefaf8b8d3ff034686718e2b0b38daa3332f01f0d1eee2d9d738ba19acead8b2f1a1dc95e0949c030b3d88d89a14bd1065da8311b4004d6e07758988a95c8775680b20c5214adecc0219ffff03893d845acb1de855a838e75612736b0ec6dbbc67beda8841cc7c0d5f73a0252d0219ffff039e09772270c47c46af456d95889af3b8f481734f59f1206c2a20e39d5e6bfa8203ba7c239b6f5cb6c350ded622241c879c8ff8a3546f04c7396b223eb014e09b6c038f82c67cc966da6801b7c17e07cba9c2439e17dd7af9a55fb7c51efedd814afd0329ac2336f2466dac07b340e20d9642be3929defa86e7f7ca02e9ec0d170dfbb803187890d16824904d3f758d68364acc976fce455227dcf1937a5ad04e0c80ad70033d8fe09fdf7f3b1ea12c8242acb741fed5c3722790b75750800a1e0a1626f8950368f2b5c6d38ebc75891578d1e01da85dcc7304e640a406630158c27e8922db5c035bd564f75c8684db8018ab6b7ca46f0537d6b5527204ddec96df0ce9c4c04ba503978a8aff381e737b8c974257e8c787906d3979bd2768eec62382cb4b00463ee90342556c8d4c7614d3538524d77300159f1ace65ec8afd14bfb89d768034632c3403f43fcddb8e4d57a4ebf549c3b70eb4b914b8c5132272873b8209525bd02514be05581e0367173f82d220c8ef3b860f3f1472c5a1eeb00249db05e80b8e279d7e100c024703ca818b5720f803aaf5a8f336bf12f6c93e920db1adcdb7e449de4e6520e7c5e6fac33a47e6a292031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e0351b6b14afc369ed0db3cfa015a4283bde49d3f7dc8b711b94a1feb07f007011bffffffffffffffff05581e03398b664d25212e66a9cd2c5d7b1e225cdd9d1fe05757de83d293cc8b800c0d470294ea4070407103af373ad804297459126067fd30df2103b9e28fc61ebe3ec3f35c78a48064dbe201410b05581e03ed2897a76ee6d0aaf0c0089df9113df0b9067a15dc2c097fbb99c6d890040405581e034278c4821fc0d21dfaaf469f19b4cc9706c9d50d5b4c6c139ca8a4a8d00c014709f776e1639f8003260ff521bac45cf328ecb5357b3ea46246be3c20114a47dc5e04c580adc5a4c903836ef383c07363c245b7abb7b9325f822960095d2ca440741391ffdcb61ba5a805581d02615c1bcf4884fa9a4db524b15b4376172afee30ad54e49fb28db85790c0247012c44f8657a88045906de608060405234801561000f575f80fd5b506004361061009f575f3560e01c8063313ce5671161007257806395d89b411161005857806395d89b4114610140578063a9059cbb14610148578063dd62ed3e1461015b575f80fd5b8063313ce5671461010957806370a0823114610118575f80fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100f6575b5f80fd5b6100ab610193565b6040516100b89190610562565b60405180910390f35b6100d46100cf3660046105c8565b610223565b60405190151581526020016100b8565b6002545b6040519081526020016100b8565b6100d46101043660046105f0565b61023c565b604051601281526020016100b8565b6100e8610126366004610629565b6001600160a01b03165f9081526020819052604090205490565b6100ab61025f565b6100d46101563660046105c8565b61026e565b6100e8610169366004610649565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101a29061067a565b80601f01602080910402602001604051908101604052809291908181526020018280546101ce9061067a565b80156102195780601f106101f057610100808354040283529160200191610219565b820191905f5260205f20905b8154815290600101906020018083116101fc57829003601f168201915b5050505050905090565b5f3361023081858561027b565b60019150505b92915050565b5f3361024985828561028d565b61025485858561030d565b506001949350505050565b6060600480546101a29061067a565b5f3361023081858561030d565b610288838383600161036a565b505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220545f19811461030757818110156102f957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61030784848484035f61036a565b50505050565b6001600160a01b03831661033657604051634b637e8f60e11b81525f60048201526024016102f0565b6001600160a01b03821661035f5760405163ec442f0560e01b81525f60048201526024016102f0565b61028883838361043c565b6001600160a01b0384166103935760405163e602df0560e01b81525f60048201526024016102f0565b6001600160a01b0383166103bc57604051634a1406b160e11b81525f60048201526024016102f0565b6001600160a01b038085165f908152600160209081526040808320938716835292905220829055801561030757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161042e91815260200190565b60405180910390a350505050565b6001600160a01b038316610466578060025f82825461045b91906106b2565b909155506104d69050565b6001600160a01b0383165f90815260208190526040902054818110156104b85760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016102f0565b6001600160a01b0384165f9081526020819052604090209082900390555b6001600160a01b0382166104f257600280548290039055610510565b6001600160a01b0382165f9081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161055591815260200190565b60405180910390a3505050565b5f6020808352835180828501525f5b8181101561058d57858101830151858201604001528201610571565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146105c3575f80fd5b919050565b5f80604083850312156105d9575f80fd5b6105e2836105ad565b946020939093013593505050565b5f805f60608486031215610602575f80fd5b61060b846105ad565b9250610619602085016105ad565b9150604084013590509250925092565b5f60208284031215610639575f80fd5b610642826105ad565b9392505050565b5f806040838503121561065a575f80fd5b610663836105ad565b9150610671602084016105ad565b90509250929050565b600181811c9082168061068e57607f821691505b6020821081036106ac57634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561023657634e487b7160e01b5f52601160045260245ffdfea164736f6c6343000814000a03d16a3ef4c34b773cc1de24ecc3a6e84806c0e75f3d970be17fd474bb8be1671f031e10078ff813326c9576847fb9c9baf8f25b29d612e94eb10394c25a6ed110bb03675b785a974edae5e0f85a7c1548061ff3eee6562edd4b66905b03ec8c0c03cc0366994f406100c8a57d16cf4d561f43836e1e4ca227b1f4a6228c52f33e5501ec03d5129dddccad6c00dcc1e1a2a557d0480ba39913a5baebf957069aeb9f8bac210376a50469be20c204fdf0e255b424052909419819790fd47ce758c28d55fa524403f7f234810ec97f87e30006a0af7717c6319482a6484f991c3ae4ff6c1556f8c70379f56057cb11be5811048d660351bdb84e9441d22ea7cfd4c870806e75177cb003f220ca1ad9c84438940bbe4df9a3239c232025f30046cf76012cef8bb8180f58037c478a08cfe25dad2d520f5ccc659e55510de04aa6eb92310d8bfad6dab7b64f03af94fe2829172a890ada6dca3d977703f3db1b9d63c94418f0f596e4fe74c0a8034586696e6b421b1262efce1cf51f978bf3de86e7a3b2a4e24e49be35f0f3377903e0815efac746cd6bf79ad14bdda737cc151e7278492750965eb1e910d6a31ec603e5bbbcc5556b5f8cbacd97546c7d53c2061094f3c0595f2519fc402b4b2cadbb031a149c8f5766d5323fe0aa8208f020a9495ace88bef87e3fdae95ad0df19c216036f1d232f2085a17b5e7d13eb68ab470f928dd7b2ebfc5fdcfa7fec2d282a1135036faaff3296a79b562e6abbca9c13ae0a98d82dbcea83fe1508b58aea411879cc00581f0240b96ed11ca29fc6967bbda429364abad086a7e97ac71919343d908df8af4b15b81c126dc5ca8acca85700581f02b7fe1bc4e35451ee904893ba01ba82b67702f6363a1199ab62d4a7decead5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ea5f7c05d2d20b66005cc1915e51e222ffb91f8affd738f71419047ffb8d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219102803dddf13db945fba0ac5461bc23f9d8b1c73f42e23a0aaad6fd1cbe0beb9666a75035e9fd0c45acd03e03f5dea881a5eaea63f4a6766a645bd3f42b0e27a0b42bc9800582003dd663c8aa8d5f661e3ee3401db62de970f3780c3320981313a76b8389204705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dceadc9720c3b256af1df7d907b1e3e4ef631c816f495c12cfc2d982fc60b33a03c085c94e3aee0a0a2470a9b17ae7ace0d701e66f2b9ebdf392703f4efc47a0fc00582003f20e3549bd3fcee370779e668ba74f3c460791cdc3596db40a1061473cf2b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031e6b13273e31f44af50353c3a38a42d986d3ef13f89c8c1535817c2c9340d7650314cfcde0957c4d5e0b75adc3245994885c8a6271c1e7603136ebc35ba011290c03c456a566631aaf685a70771f86fda5cab2ddb4aa13cd125b8a859f9beff1355d03a6d4b52b8b7dce403392a6b73f6f8baf2b439bd93f585258407a7212a8bd79b603500e8545136d143c80ebfc8295f942e9d3d113fed4366b72a2ee466b2151b54b03f750cdfc22df69ec9aa7958568f059fdc1c0e6ff57bf98506a5ee873e1d81b3500582003abc1af39a7fb4107664a9033e559962f97e3c5a03a5d98e7997959ef9dbde05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03828b732f9b3aca4f96026b31ee94ac6c1bcb98ecd2fa56c204edd35986e986b00219fdff03c322d8271948c0b1960ad9d4d910a5612b1961e02e13675a240a1fc7bcc4990703dd92e4ec4beba16dde79ad6809ad703908439582c2cb08b48acc40f1b3a41b940333e6e53a4c51a5174083dd7d6f76c36bd624d37b962c164ba62f0bd2e3afe0880219ffff032f362a8ddd0e403da27602bd086a446af332a5a418a1dbf8f1a82c95761366280317ec1c3548c6117944d45460d2fabf614aafe810beac6dd42ea0b1e276ba158303a49aed9b8bb70090e30b9646bdb6fe3b83ead70e74ad45eb1c9fa526ad5bc9f40388871b3761572892256f99b023c1d55515d95934b1316dfc5ed6f403acebea5203db668d9e7232c66b2527790573d2e4bc69dbe27cd0446410f7d1877808635e6603eb5829c9bb0f98724bb89d2cc7c130fb4d93cdcb150280ed5c8162145967ab94038d4bf4355884dbf63a5ccce10111b3e4ddf9fabda0273e19d0f3674eeaf7530403acc99348593b778c3c5ebe95aa9cb36fe1b59d9a1acf43aafeb0931c3d92eafb033228d275c3b603760d0f4f7387cecf5ba551a03cf6a0c5f1cb181b6499b731e90342d78cf6bf8014761acb72e11adfd5ec8114368cb6251821908f7561d6fd0b89032422583c27be84916920dc9fdaba5f1c42a031633102fa114cc40c20bf2fbc0a03f296383d74b198a5bd62a254307486a5a7738ea36d7f4a3c8769158e4c1fff8b034a0a87a6192e9bb71ae2651310a40f8f8d7d4c5e6a2aea026e6968145383156c03d7d5e87040633e4a544d0b9fe3f867341ff0d728e3b7760a7df4b56bf357fb390312ce1cbf8c2f47d9cede9fdad20a6febfe397e1579cc38a22efd94a35df317c503917fe34b38835fcb7f55b28f7f5d397077755a836097cbfbb360df7fb57f17a300582003fc910d48d5c690816f75d7f19259b0950e543b2591678c7f61a311143f780043641ad203887e0b6f2b034c2a37ff7abed13e525879da3d2648616f96da0c2da7226d074700581f02f2c24df3e4970e3bbf023c736f98b84e0e33c614ae1422521712c8389e775820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0242becc09e266c005fc1977c4dd1d4adcfe4a9ff261c82c5dca4d449f81125820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0294786b59ab948da4e6a6df55e9cb9dff89740854519a4337497d42e753fd4bae5ddd47ae91840bd509340219180103a50563859e636c2acbfcba3009b1541d5b59f2cf9932be55f16bab76d0e18a8f031fd4a9204777e51d39fd5fa54edfdff384e5c5f32a33f0a4283dea238e5e46d40058200319309767bcc7b6600864cd4b5d2ae823e9cfdec498cf5799921c9f34f902e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003891bf900b13f6249ab37fe26a14f25669edb94213541a6cd12140df22b42305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03301fac8a02a62fc3e7581d3285b07c522cc7e6d8912b68d225855ed89f9b1ab903fa8f49a14e8016c041164d4ca16fa07c7b00e2befc2ceeecb73538af062e494a032d86882bb9f456d0891aa90b39afe558a8ee2e876498af430d9a89a230a5a2430219dfdf03ef9a7cf376f9e9fad99c7c638fd8c33c4daa23437486f9ad116b97a8804329780365789fe3772424797ec3d5cb512b5e08bb626bd727bd289616ef65f7b9759e070384be7e26748d39726d4fe03661ac9453d10cae038c368a5154c3fcd5741563f703267465b3139ab717155e2d0c30cc2d1525c835fe0b34604110179fd6e4050532031a43b64b025632aecf14a77f48ea68a1a5d477c4c9efeb410d15e33b7656060c03004f905828a574424285cd7e9259e2dc237c00bd00716bdaa6fcd71ee95ddfe8034c9beee20ebd979b99183ae57aaf42026424805433f4cfa27fc1361cd472923b030d2468da647628df0a4b9932e7e8648af4bb0205b8958de038a286bc06127bbe033c0f5a12a3adeaab2293756f06f73577c3b61315fa72a43e52930efd34b7438103b1ba2982b9919d6bb188eed1befdb048f571c240b5a8054399c3c49d59fcbea303c4c45daecc5dc1605c76f1564685645752e360026ef53ca647aff1dc78d2788f03de3f318e61eec1f7611345fad55fdb5b2e1b998b1f13fcb3026d6281c181882d0219ffff0219ffff05581d02367b28f680f7757805efb86319f0efaa1a8b9efac38f3f513c4a67e607011906de03427ed2b5a239cbc88f2042ef6a7f45894f7a58e48b10be826b59c56fe081817b0337ef57b5de73dfda53269bd6bba1bbcdf8c5ae79b340422087f3b6208234b98f05581d027540e3cdac30a26d01c74c53a8b73eb4b385e5491cef8460593976fa07011bffffffffffffffff021928020330aadd99c07088558e397982c4495b379eea3957ae4f9512dcec986b1f4d8cfe03c8410944b77416d34640fb0f1579f271f311dbbd26a5f3114543cc2e300263ba0219f3f3038073453dbe5e94c0328c806d8e13720fe856cd627198b56ef0237a89f146f75c039bf3ccf22923e0a05fce3a27b6d375267d152abd68a0fb907d714d56ff99f1ea031cf1d92daf6056524f044d2c7a44387247f1a3b8f4c200d7079f4cd9e6af9f73035916644ab9dec36cc32d6112c9c090f20358fa9cbda55a2c541e56fc2ebfe5b503d1f1020832af2d61f9b6a7c5bac4a1245ef44b736d451206a2c8b2a3d5e86e15031ea1936c7cfd9c80461421b0a250ad0805073cdc5e253c0f4c42134ff8294ab803d178a8bdfdc030de9ccbac635afe51a061d53493ddb61df659f999a4377b0482032df59d4a3497a7bc50bfbce5051f909fd3e83574d4c4103f4d486112484e87af0344dbfbc7ba0b56e9953d5db3507c2a3c1c50262a7a8ce5b4bf531074c75f0b1a035f9dbebcf29dcee8469628bb778c39646464322b3491c9357a677e915cdd167e03045a573fbb528ad0bf5e605d1b73b5809d1fd3f725382d5f82ebf9458b055f26030d0697bfe2c0ad24a5f06f4599d7f6215c57d70ed770ddc2cf416f84db585bde036f0a7b4673e0d54413cc0662dd3cebd7780fd466d4cb960acf363e52a29a86f7036e940ac80cfd5692a56cdd207a18a3fbfc0dcc81a5f8c276b9ee541ed8c2828e0219ffff0321f6e87d2c9d665324d74815a8981f361ec533f1ac428d07c816a1800553241503dd13c72d58c8269780b69726c4a13cfdafac095fca7d135e1bcd8c2cc6f2123703d164257b8c495783945990444fac46e44e1c834c1d3476f6d59fd7ce61a7c833030a69004b8e33a512540b8ecd9b34fbf5a3de80d43557f20f0bdd4e432152b62a03001f586c5ab7306b24ae226a325778817a940ac2f4dedb4ae3806b5ac0abe5420219ffff03dd80d3be942dc7e654780c1f33b87925ee0d3c8ee13977b355143dcfc535212603d4d6bd0ccc1d13f4e5cd13b6fdadaa0bc39e13f26c05ca43d3e5c6091e26a01903a8304c8b8fba794bcd1896e1929625d11dbe130668993abe1873593353513791032c90da1601850dfc637a2c0ec5665d70737592c14577b5378b2ca0054d9556f803550d1ee426807d9ad601b392eec2f0ab81cdfb0f1271101a66ce90d99ccea85703124730c71978f94f6c3c97a6c59770ff88151aeb46e70515b678f8e396187ee40340aa74c96ef6428b453b665ab9ef298ce8f46903283627dd4847b627267b232b03998894a978c264301e12a6cff104883a1d4c7c03c5f17f85b2af67bc2f8ef335032146b0a154e150d52ef191868bf8ca6f403777d4586e98f071da2f534c2c9eb8032f5c275f0d6f7f684204c9d058f1fe4ea9b6162a9ccfa336b6c1158456d6fd8603f85004e260751d5ac7125db07a1f21b70294e30e594c814962343abbcf698aac0392c03072cb45831a418bcfbfce12080bccd15328c0e42ee80894e44e6dfcec4303ca1dbd15ab2c7f6535056f7cc8b57db21a6f2a863ccbf8179e9e90f716a2348003f882f717e7efef1ab5f0a6a7b7b7b07c834985d7214478d1eea9eae684a2e69603f27bd3cd1a7000eba919b523304d714b16e562c312c8d069c11718c8a2cf55cb0219ffff03721368c67971eb4338554ae9a34c40920c5b223700a586f4279b0645a36dd4db0334f4da528c4b99aa1c5f2501f01320f0682938346f50c60980a6cb6e40e4e01403af28998ff7985279821a034ede634b59f9d7a757558b46f541f6adbaab1cc150035311484d55d4a8f17576cb6babd29c53c342e582916058674647417b2c59a88403abe630e7616bf8a9f4ba747a72db9fc50773fb530069f19bc50d1e4f2072a5ed03f2268d0cec98f0e98dac482a71aef3bc83a628461caec6904bad26c97fa8d54c039a9b14c9d8597e6d10b164d5a6dd1e25913b994b795d816a2cf7695b2e49087f034a05caad6b9fcf9715dc51ed1c650238da2764d96f85803017176d17ddfb348b03c1692eef450eaf22b389598e735a7b6d817da7c1640a520351d14d121b1dbf35034b73ae6bb7d7aa10cd00db3c111babaf89a8c81c83b81ea4c6080e8f97cebb1703d11cdc18f3093de73a43f19fba9e0c44e776e2b94d5fc02f99bd1a65fa6e1c58037a409fd8c4a59a29ca67eb4155b5efa05f073aa0ee3eb8c5fcbc09227ec2475a038ba4582c71912ff4deb41b14dede1b7da65f375a10ae8c56a8784f33712bb141031298c92f609d9f46795f6e0b1f034536e255bb605cb1f3c265b728c6f3b0d356037b5f1d5f5fe01bb91a10bcfcda02dcb1e1ad6508ce1d8579fd2134beb75972e2032e8b020ca6e263f4e55e64ad03ac7929ea38901b78091dc501b13cfce1be077a0354d5ef969adc7edd38922ed84e95433ee30036649c14bec0cdd70b44ee2f0dbb030635c4ada046a9076f99b5e466c3dc420121d5d29e34b2f6621d17da1a66793f03a4f284b27e1a6440c966c1d2bb71e2ca28f1f0562468dac516ddfa54f489781205581e030e72fe2dd2536f939c84a1baf8b97e500462cde3b8684a0f24cf969ea00c024601c90beaee00031c07e6720cc7337381b5adc0e0e4745b1d91227ce0a3af5ec53d6f4757f9639503d935d59175cd86b749f5bdadce60854ba4785a9ef20ffd3a24fc79aa1fbeef4d05581e03e62888391c368ead375a9eda20e6278a1a5526da75f5de1a6efbaf81c00c0147019f42ecac7619031f0cf168f4829e680a2e32600d58d504ae24a729e58af81ca27887081a2ab42003bc173adae20af6a95f52c78b93d8bfea48a94c95762354ce1fbca96d0f68392d05581e03b181d3a2556d18dfab2367743e619b4359f912587ec3b43ad390dc287007011bffffffffffffffff05581e03af255d3f641a8e07a8c3ab7434219539cbda67fb72d34c723094fd33600c054702e9c920b74000030048c49d9713ac5f44d3ec73477244f9cd8e985b7e59ef2d8187adf891bac4240219c7ac03122cf45325152a9afe55f92b2720c5dfacc68babca6ae260c1e67e5d46ba864503ac5915e1e9464a677e8d4950cbaae9cd9d6b9dc00fe19578f8990e0977bd2ac20356d5c4069b6f6d0ba997bf9fd7593eaeeabc5a781b217d439dd4e9bc96ba81fc0301719a5ec64ea86a1792e5d5ba8ea2bc4ece9dfc5c15f787a16651b3c5dc5e620340305ca3e920ce2488c384d8850f397ae8c789fe771825f00e71048a703f554f03aa95332987e09729dde0e74cedf32906b45ebd98230221b408d7bab60ac22a1d03b80f90dee1c2e81a81698ededc5c0c2146a42ad480f817042719ae04679d7fd90374ff34dd06925c6d125e17f7e3591a1838259b61663e057397fb51aac62a5d9b032c1b77e26cff67beb43cbabd742309151c9b434a7a8399dc8968c3397d88e18203febff2bb45ff7766d9db1c57d154100a8f2cd5f84e2cd39a2d7a900727d5256103dfb0d65321c5f7bedec89788349759136785a8783e4a673a7a95e9030894334203ca1583184639bbd75069d45c14421fc4c33a7799b0087c3afe967c32fcd12e3403b38ab492d7aac3aff993ab42d17c64d5fc8ec8ea23d07eb738de2ca10ec3bbc7039e7eec493a402f5810d088769641c9950ded191d009187660a3ed3c54254929e03c184277997734e8911bed736356f131063e6127b884936171d78c2ac2e0ef1500219ffff03b6f1e828b1a08230a4efd1382949350a3375231c2ce1bd6abbe492a7b231a085033415f1b08a911e90dd9ed9b1c3b642a973fbd5fa7a2c0c4ff74070f9970d2f0303aa84f41112c709c60fd0319d6e858c9454863816f1a75958cf887c10823f68f3032bcceb3e47032e4588659a3d670851599a34f9e73fe33f1cdca10aff0873d398036992923fa2d8a47970b7685eec45cd2e596403ba1e1eff6427b7f0e5653baf7603c50242af2f448397c54b7df3fd15a1ae6bf327c3814b309ed0952801cd4d5c5e031f33db9d7b0ce2100d2fd53a9c9e7eeddf9957961fe3e28ae2eab4186ae2d4c503d3617d5180a65c97a8170bc5937b6041307ec702d1688fc80b70599c64ae54b00381e9f4cd1be2d558fb36a673c69801f7a7b23b3ba166d0b9c8366164b8c2beba0219ffff037c44537fc52fd9ff264fe5231cadd2b6c8118ece42a5024063a6bd326f419b090362ca08a49badfa81f50ed652d7305eb097799001bd70dfb5a460cfa1b96de25103f4019b84c456688569dc23751b104998bc3c0c17f65b8eda0e6f57029faf3659033e7f14b8d5107bee2826c6de19e09d67f153a71e15cc6dbe0a2c8354cf34644d0219ffff03e3ed30f1946dec8d1e975c584c4ddafb9e9959e6ce90594689770f3e44adaace03b2932834049c75328ee345d299d9ff1977e7f88609fa799024178b36f992a69a03c39694223e57196acb3706b51e8d6367d1872d90618a1a9dc648048409e416a9033ab524ebec12b11c9e3a144a6b400b24acd6acd0611b4244457c28604117e665034313cfa02fd8aea328221cb18cbcce8947ea971a9649ef7d6f80e3005728ca4103054e9d5bce893044c053aaf183efc0d3d75c8a84c1b7b75615fb7bf6611484cd033b8a877a904b9e0dbfae2e2525a9fc55f7402789db5f635c22b0cc156324a50f0371c9f599fdb8a38fd745dece857fede187b32c4d8bb5a7c7a752a77487c83bda03895f584289650f7c8a4d7d066747d5fb9f40b7a045447a22352fb10e2e4dff3203218903332fcc6bfab4f61ce57cda5d7c9a37e10fa8fc9c740fa1f963d958ee0903be8cbba07c337f73a54e4c69a277e86780ec475bf8473e7b6db2aecd4931d2a5032767cbef6587165cc7c37c5bf97f23b58de2848d4038bdfbcaedcaa268c7273c038710a956cec47137feb54d89fcf609ddacbadcb5cecc7ba0c5404cdb860203d30381a8e5141151f5e53b98a455eaee0229bd8c607b2790e748200bc4d029599fb203be0628ff6b6ad63067d3622d01d0396645fd35f81b9b27f7aa5ca12aaee83771030e701decfbdb9afc6c8d9418f92c5c28415aa5c508f69d5ff0951c9c240c3d5c03be9e2f4e256121f2b5cf56d9ade216b1a6444aac143651643765a9926da73c1603e0f95850c0ba41c4a5eda13b93605cd1c1a6283a2d158271de4275b4c0fa71580350e7d8a89bae971797a2d241901627d852eba9106f1666fe28c37747b3619c6903104cdf7629c4e663407276f8649527da189cc2ce65585ecf3deafed6834699ce03a48fbdfbe47922f475d6373a9c55f33acd131ab9948648bb103f96dcdee10bc503b0d21f9e564662066b83086fff0d6abcdaf9190728832d321deb3355288b6d61030521330f92da4f3a693bfedc451ff652586d7db193d240dc1bff079d7b1c3f0a03b8250279958d0b29ce030bb790ba65e284bd7c3b520bfe1d1085730c02c18d7f03a1ed56f691a0bcf5d2b55d33b0abe1287764fdccf6b98335d5b754bb6ed1fc4b0326e3448ee222ce1e98e39080328d7f4f12477e62c0b3fe8fb556dc6c46df4d1c03ca72ae4e0408fffdbd68ab1d1f54f151b5a2eee96d5b05d850739c29213532b103b245e21b9911940208e180f4db47296bb209fa054fc0d4b04d53bbf5f1c2d435035b37481d01e4d8e88c655e1d03bb6ea14c126c33709f74571a16dbc62ec9aa3705581e03bd6f77e726bc634b8f4a3d2c5f136297f0253bde35c5b40d68cf4f8e700c0a470aedc6fbbaeb0905581e03531ba7f1a9096b6081a020a102048de8d96338b212a4ad8429fab113a0040103a69b6e12e5274f038228ad8ea25b5256553feac5c3bc0c8e7b8a9d97b0daa02605581d02e8d4c3ec3bb76094383e0351a1b489ba1587ac533f01f6d11c36f669084763bd277d6ca00004591282608060405234801561001057600080fd5b50600436106101c35760003560e01c8063715018a6116100f9578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e146103d8578063e30c3978146103eb578063f2fde38b146103fc578063fca3b5aa1461040f57600080fd5b8063a9059cbb146103a3578063be5ddb99146103b6578063cee8d013146103c957600080fd5b80638da5cb5b116100d35780638da5cb5b1461036e57806395d89b411461037f57806395dba44c14610387578063a457c2d71461039057600080fd5b8063715018a61461034b57806379ba509714610353578063883c3a631461035b57600080fd5b8063313ce5671161016657806341e65e0b1161014057806341e65e0b146102cb57806358794456146102f25780635915b17e146102fb57806370a082311461032257600080fd5b8063313ce5671461029557806336c545ca146102a457806339509351146102b857600080fd5b8063085624ed116101a2578063085624ed14610242578063095ea7b31461025757806318160ddd1461027a57806323b872dd1461028257600080fd5b806216d010146101c857806306fdde03146102025780630754617214610217575b600080fd5b6101ef7f000000000000000000000000000000000000000000000000000469206254fc2481565b6040519081526020015b60405180910390f35b61020a610422565b6040516101f99190610e32565b60075461022a906001600160a01b031681565b6040516001600160a01b0390911681526020016101f9565b610255610250366004610f72565b6104b4565b005b61026a610265366004611032565b6105af565b60405190151581526020016101f9565b6002546101ef565b61026a61029036600461105c565b6105c9565b604051601281526020016101f9565b60065461026a90600160a01b900460ff1681565b61026a6102c6366004611032565b6105ed565b6101ef7f00000000000000000000000000000000000000000000000000000000002819a081565b6101ef60085481565b6101ef7f0000000000000000000000000000000000000000000000000000000080f541c181565b6101ef610330366004611098565b6001600160a01b031660009081526020819052604090205490565b61025561060f565b610255610617565b6101ef6b204fce5e3e2502611000000081565b6005546001600160a01b031661022a565b61020a610696565b6101ef60095481565b61026a61039e366004611032565b6106a5565b61026a6103b1366004611032565b610720565b6102556103c4366004611032565b61072e565b6101ef670de0b6b3a764000081565b6101ef6103e63660046110ba565b610888565b6006546001600160a01b031661022a565b61025561040a366004611098565b6108b3565b61025561041d366004611098565b610924565b606060038054610431906110ed565b80601f016020809104026020016040519081016040528092919081815260200182805461045d906110ed565b80156104aa5780601f1061047f576101008083540402835291602001916104aa565b820191906000526020600020905b81548152906001019060200180831161048d57829003601f168201915b5050505050905090565b6104bc61094e565b600654600160a01b900460ff16156104d357600080fd5b80518251146104e157600080fd5b6006805460ff60a01b1916600160a01b17905560005b825181101561054e5761053c83828151811061051557610515611127565b602002602001015183838151811061052f5761052f611127565b60200260200101516109aa565b8061054681611153565b9150506104f7565b506b204fce5e3e2502611000000061056560025490565b111561057057600080fd5b7f0436dcb8b7b3be78d785be7ea8f04f241ce5d275057aea7f7fd4b6e4dfda3aa43383836040516105a39392919061116c565b60405180910390a15050565b6000336105bd818585610a10565b60019150505b92915050565b6000336105d7858285610b35565b6105e2858585610baf565b506001949350505050565b6000336105bd8185856106008383610888565b61060a9190611200565b610a10565b6101c361094e565b60065433906001600160a01b0316811461068a5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084015b60405180910390fd5b61069381610c85565b50565b606060048054610431906110ed565b600033816106b38286610888565b9050838110156107135760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610681565b6105e28286868403610a10565b6000336105bd818585610baf565b6001600160a01b03821661074157600080fd5b8060000361074e57600080fd5b6007546001600160a01b0316331461076557600080fd5b7f0000000000000000000000000000000000000000000000000000000080f541c142101561079257600080fd5b600854421115610827576107c67f00000000000000000000000000000000000000000000000000000000002819a042611200565b60085560006107d460025490565b90506000670de0b6b3a764000061080b7f000000000000000000000000000000000000000000000000000469206254fc2484611213565b610815919061122a565b90506108218183611200565b60095550505b61083182826109aa565b600954600254111561084257600080fd5b604080513381526001600160a01b03841660208201529081018290527f0188e46dffface414ae6c071b6f739093e36d85d0f016e3d159dffe68c1b08cf906060016105a3565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6108bb61094e565b600680546001600160a01b0383166001600160a01b031990911681179091556108ec6005546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61092c61094e565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146109a85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610681565b565b6001600160a01b038216610a005760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610681565b610a0c60008383610c9e565b5050565b6001600160a01b038316610a725760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610681565b6001600160a01b038216610ad35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610681565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6000610b418484610888565b90506000198114610ba95781811015610b9c5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610681565b610ba98484848403610a10565b50505050565b6001600160a01b038316610c135760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610681565b6001600160a01b038216610c755760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610681565b610c80838383610c9e565b505050565b600680546001600160a01b031916905561069381610de0565b6001600160a01b038316610cc9578060026000828254610cbe9190611200565b90915550610d609050565b6001600160a01b03831660009081526020819052604090205481811015610d415760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610681565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610d7c57600280548290039055610d9b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b2891815260200190565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b81811015610e5f57858101830151858201604001528201610e43565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610ebf57610ebf610e80565b604052919050565b600067ffffffffffffffff821115610ee157610ee1610e80565b5060051b60200190565b80356001600160a01b0381168114610f0257600080fd5b919050565b600082601f830112610f1857600080fd5b81356020610f2d610f2883610ec7565b610e96565b82815260059290921b84018101918181019086841115610f4c57600080fd5b8286015b84811015610f675780358352918301918301610f50565b509695505050505050565b60008060408385031215610f8557600080fd5b823567ffffffffffffffff80821115610f9d57600080fd5b818501915085601f830112610fb157600080fd5b81356020610fc1610f2883610ec7565b82815260059290921b84018101918181019089841115610fe057600080fd5b948201945b8386101561100557610ff686610eeb565b82529482019490820190610fe5565b9650508601359250508082111561101b57600080fd5b5061102885828601610f07565b9150509250929050565b6000806040838503121561104557600080fd5b61104e83610eeb565b946020939093013593505050565b60008060006060848603121561107157600080fd5b61107a84610eeb565b925061108860208501610eeb565b9150604084013590509250925092565b6000602082840312156110aa57600080fd5b6110b382610eeb565b9392505050565b600080604083850312156110cd57600080fd5b6110d683610eeb565b91506110e460208401610eeb565b90509250929050565b600181811c9082168061110157607f821691505b60208210810361112157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016111655761116561113d565b5060010190565b6001600160a01b038481168252606060208084018290528551918401829052600092868201929091906080860190855b818110156111ba57855185168352948301949183019160010161119c565b5050858103604087015286518082529082019350915080860160005b838110156111f2578151855293820193908201906001016111d6565b509298975050505050505050565b808201808211156105c3576105c361113d565b80820281158282048414176105c3576105c361113d565b60008261124757634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212208f25c13949d038c74acf5c2d39f639b1fa265ad4e1765ff96ee0c4f504ba27a864736f6c6343000813003303c5c3ec319f4e6a56de967a6d6227486eb0ca8fd54cead7902cda0f2a20f112bd03b46241839c7b939a33b403b899b74cfe48715bbd32c2dd43f08c1942304b9b7603962f8d2d6540f505ac699033a7f994c20695c049b4541e34f817892c9775873203efa496143bdc42947f22016201fd7e3aff52ae93aca44011fe91d586600339040377d19460c2ba5820487da123d962c9075b97581413c2e0d39d625eaaac4f036b0364924af2ea20e85e0b0901c11e8a7b9b3333406600badbbe5bc69e6310faffce03c7b21dbe232a1ecf0b8c0d7271fe18f5266bb81d5d7396e6db79193fb763e6f503e949f4218295a5765bffa8e535b9068aba002b46380f89243584a13acfd939ce032589057988a721677af302dcda287ca220d2dbf549b69767afa5cf188261c31f03b561f566b1472d93eff15c793ad8aeb06fc027f3f2a084a6b539bdbeab2b24bf00581f02ee56db865d43399e0ab1c2404bf1fc26f6ef12c3ea4fe60a3c34e3fdf7fa4901c63b6840e7de8fd000581f0230f6107352f6873228b4d1fa3493beb546109c9ec5fc276cb2d0a919d4bb48344af512b11f62470324125854bc0d4b02002baa6cd97a34cc469b418b1db0c4bec132675141e0411a00581f023b7194f8a72170b0f71e5cfe91ac41a590893ef0ee9c37ac63b7e12051bc490240c439f853a87000035689ed47bdaebdb1d241bb7b578f4574e936bf1476d276ce0b75fa4bad0d6ab300581f020cd26da9d6b5fbd9dc9f4894534829107c7890caf7e8b95b305c25e2e363488b302818f3d41fd00325ee0e344b508240e977fab980f13c8585692519194984b6887992af3fb58b5e00581f021551bdc3bfb74e4bffab5c56a10a858ce1ca3607def86d9b9d2e27109dc348a5eb2eb751681dfa00581f0209237c8ffe68c148e1070d812cd0d10ff2e46c03811cfef9cf22fecec353489fa298857f84f54c00581f02b622543096d107a99883437f64eca5ff7470bfac23a2b92eada875d2dd2a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219f6d203b3c5b8e66c5c53b1a8221830ca549bfd32d6e3e1abb6384b4668f0480152d6310397f6dd77635e29bcb1726d05fc8bca785130a32d2365957fb326c052ffc1556303717b4744dc88433cafa5d9425ed1f2b0086f360ceb60350bb93bbcd15907280303fc9fd834256e41833b805f7d4fe870db30a0688065008b0c0cb0c5363bc362510395d7f05257d9b96ed5268ade12cdeea7dd7793f1c1c17b48aaff5534376acb9e03db3321e0420a0d6860dfe2f9e201b4e30d39e93e2d0819b48bc272fab4c77e390361004ccd5d9533c37275a0fb3bf2f22a6daac90c2547cb6b4c4ab4be263a0a9a0219ffff03074faf6a1074e433325371f65765ba6dec3754db3b006576414fd289aac5e69b03f8ec85b0acab1471e800342e862c1c52f0ad7852e6221d51fcde34a847043d6e0312827553fcc86add94ec6b695a720305bd9e51b55f2da4cbe4b39df007504f73032e7b6d0707cdb83fe2cd81a5dfce21418ca4af8c827d6b5c4a6f9799f851c96a035020cfb3567267d092028f44f7ec0e729401c9925b7ebbb0f2fd74ddf2ad5a1d03bc3711c5eb696ab9e42927af8166106b1eabbe544145e5fbfde0ad77bfd9be7a036814216ced8e62d4695fad5a240a08fa80fa3760a645a8ca88a5042dd782aa3603cfa87461b7bcac1c413ab6ae511db617e5879d811f28463b91963df42faf734a03ba3ffbff880766cd7a3a2c88d94d9a448c7c35631a4228dd4aa7ca657983465103c1d4d6e71ea07bbc67987a0936c047ee1b84777bfd3fdffbfed6bbddec0e6c0703d5550decae1d3abdc08ecce93ef3dbe0c3e3bfccad98b467d15bb1bf9354359b03ca41a640e4b1c7d9e684f9b6417241bf036294d2436d4b6c4dd5ea2a1bc4ac6d03e166c03007ec76b08d91be3865a0ab12f15000119c67ec11992994f425ecaeda03edf831210397c82e3440fff284257b6c7d3fec0023f6c265bdaeb7f354a530ca0219ffff0357f43614043b989c1fbb4bc5009bd9257927730ae4feaca2d285f10f1844d10303f057fbb32e83c7630f030a34c75535211ad8b68f1d608d877e71eb43db5b8e6003901c77f0bbb292a0f12f75dcddee82d976dc92f0c1e09afd030a3e57d08518c0039f8917751a1ee09920a97134650f32da91a3aaac8e675ce7e347959ccd2e1fea034688133e941775efb65cf8548188f4cfaa9afab5bd9cca9b5b291ccfa59ceffe03f5e8e0c45d6a7be5e3c42a23d2e931c0ba30a6bcd46f3557c4403d0578cd0d7703df8850ab19f45acad6c7eac78ac06523bfee30592bcf11847244a35c7025a4ab0396b92c833acbf644be04970f91248914a808413c6551f4fdc8f5cd29ad46dd37036692b2153f95f7a5a3a4644d97369f27692d833677d5ccb4d520d74e53973d2403a7bd8a04b5d75704445c0081acbf4cd2ab423209a479cfe805c25c5dcb686d5c0352e9047c6c4bb2c879960526e4fd431dec87881ce5624d3859a12fa87ecf34a3035f687d05bdce0419aab13d912ff98d0bdd577e82152399487d1f856978ab56a4039e0da04459f4308695d7a2bc6f1e05d00f53ccc644f916bf2ccba8e05a9c9f96030059cdb0428fe9cfd8c30be79ac68dac9df653edaccd2a3c6840dc901dd3470d0302ddb6ffbdcdc5a8f12f160660508841c58bcf08beecde7be8d6277a4f4f2f9b03f32a2725a75a0ab41573b28e72ec6177a19942e3212583c936fc90ae6d0628360386c0bd08b276c28095d1b3e9a6d71d530991f8f6aab20a945742a94d6b998cbd03eee30706fc482365447b450b962345020629ac578aa6af3e69a4793ef5809f0f0319c76881a2038bc61d0d2cce9fe02864d7c50a2c1888de1d18e3495a76a65d6f037b356e1fc32378e84ddf9a919b9412ec191e358e7e480619dbeba4da5268b12603b3f5fe91e1ed41104c1274197de3577ef2bfaf4554ca01fcca4267a790fbdc7d0340cbfe240fc353cab267c705408a71d7c136f9c15c0c933b680e2c6e96f58ca300581f024b8f1ea855ea082f72e3c53bb2cc5bab2f49eae77ea3b2fa985594e967cb48198162d49c1da3d000581f02c7520e67d41cfe277546e0f73fb04018dcd2e6fd04f52059a085b0754fd75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020bfeb8513c6cca434c0cfc213759d13a2a255963665f7872945edf0665e34901b7de414bbe26f90e00581f022b37f5be83d5f62d9a2b401869fdaf4e1c99110b48d5ac7235b1f276f988480872b0589d3a905100581f029074b159f4683b12e340a9e4300c185f2db59d60af1caa39238fe7793cb9490d5608da5ca5f6f54800581f02af50401c0354ef6b3d0b3561a2f064bd822ce4cb75ad1c497b142611f74e49439999f51c601c000000581f02bde24e81d051b631c79789d3efc887655d70a2bd874abca1ad55901743a64a7eaa313bab30c44046d600581f02e0e47e085ed7582a4ba7746eaf8090cba43e8bb8a72bd3d52f0f4c0f9cf84901cd002875b1c7dff80219c13d031c36789637f522db0e0b443fdd47642fa6de7bd201f9e67a1f96df520d7660f8030e0c3e46268dcce601c97c3ec55410ac636816c2a5ef09eb94531e1136380b4303543a8a1e6282ae49b3dbd5345af8c91dc446d5ee99b2d66e816d87ac3278499903cae4d05666c38d0100c779551258acca905141c96a10d680884b1d5046f5471603fb5e6cc907b3b3a55e99ff371624524ed4ebb9a33feddd52de84d413b7c9c0e903df57a1e500a88cccbd16706f058d6ba5d684573ef501711975eeee579746197b03f7672b4b905dd75e0656be5e4657c984b7c71a5e7754cacd32947d217fe130ff031be6bd927a457379420effdb6cec4cd829538273e74c9b1fb644ceb3e31af90403b97e55441536277ce74fa29677965be441e304025915924f21871df2b46d0a150219ffff03e3c67d370071aa101034de4eef155758ad74fc0c633def127df7009a5029b5bb03dd6e4337958ecbfe076b2094263dd4f9acda461072abecaa7a8740703f12a17303e975bd355b203b5bb51041d9457b8cdd8fd0bae50cde743e6686d7731b306ed903ab184496d841bdc07e27095f15be5d468c566b869152193cf22fde40149c64dc0326c801085853e6321eeb4cdf6df37b65c86068d292f09f044f643c0c70f43c9d0219ffff03ead5ff6dd440f275b1d0ea965937dc20a61491ce1ab4f2f705f19032aaf6459803a28a8ddd67d1d15cb6bca65d0516db6c4a3e770262b5330348d859640624791403640206f4b2f07db238d1c9c61d09da259cc116418836156f0e3cc89fabd0e94103a640c855cbc9e70a1b4642e61397cdb2c2ce5814fef3f88ecc378ebc1d96f737036f7472f1a1ea71ce697ea50b0936b6d73968202291259baf95cb7d7507e848a80367b29af692344d751e6cc1e22db6b93fdb21b47b50a2057d6f3b766245d5a0ab0342f7da6f3c3491606da28970670253a97a31fec67281af71c6fb63b214ea1c270219ffff05581d0291e76da6bab1b31e6e32ea694c696bc2802783159de5be7ff7379d70070119128205581d023798822715a4c068ba9f7175ab5d8b634331f5570ebbbc3b79c945d10c0248016152fa78bfd100021980820311d793c328ab2979269d8ef4b9dc040a70af221f81140bd3297420d4ee4092a5030144da5df920ba3441314a04f976f5cba706d31717f521fef936822dc3a6cf37031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0330a4b87bfba01f84b1bc4e0a571ca85444c79c588df9df76ef711b4fa007011bffffffffffffffff03008680e5d79eb4874fe18b0458592773e65602255da7637f536aadd4f2a8d4720315ab4f34ce984602ffcbbe52b147a9196073f3cd34a58efbce398a987494df4105581e0303e2b67c36d4bf4f3b8505ce6607b6f901b4ca1c94581bcadb4a052ca0040205581e0316c8004a5022c80ca131a518da02da3ec526c8852fdc8595196aec51600c02450213f96e8405581e03c75b91f9a3dc59b0bfd24ec2ba18370d8132aa384ee297d1e2bbcf7f400c0147c94401d64f02000219d3ff036c124ad219c82d79f896afb493b2e2e65336db7d0fe788e498d07d8c8fde732303b600a2e4e471549b7a3a34452f94404a94b1dae81ea6ebe9d602448064b8733b03461c71a6377abf9367c8a5695a120bf2eb75d631e7c10979f92b409eda3fd8cb03fb565707ed879e32715b42643e032a0e85bc45255aef2885a32398a6b349af430354e054cf88e4bdd081260cd470f1716655efcebb5b37489e7923ba65be42432b03ef85d36eb7081c938fe26b7a3a30f67d5a0ea86c0a9b93f7a9e576d77a194394034aa1daafc6a0937cec4223e668efadec781b97a4a486452d95d5fc93a526caff0386a38bb6c879f8f7059e1e60ae5308f06a45a2fd33d69f8a543634b133e1e98303c3751817b61fab8275880e725d29c6604cd2fc259648cfe715164a5e7587d0690219ffff0324f2f8af8a20a235424877a2963adc31f2c8bd0e4e1a73d1c051678064a8bbf6036d21991fda1554148f6866f7603dd965e392cf24fc8bd687ee44f37e5797a05103234388ecd6d1a45de68e1aa423e82ffa1702a8bb74d481718d472669554664b703bbd5e548c2b19b360ae026365ab3d7960dd59b2b0ee94513154a426d84e4e1a703d2427c28f6e3ab2ed37445b21fbbe49fbd76671e450496d0bdaf543e56996dc8034aa3721f4ae8aa2205904aae12a0e477b78e00d063fa3b0e6b2196fc84686041033d381717227dfb9745254248cf205d64ba71986c64660e455d8a7b360fbb872d0316cc1c47cab1b50c668742813615b0868e90be3bdea0edf684c8c83d63d0225a035af9ed2a44bc602cf0386f70f0e2f7e7acdbae32029f8b3249885455a3e6f33403221204f0ec32bbff3a7c846253f21e18702465e656d3c6bd21a7cac8bf5d89c90219ffff030ef228f881612e8ab8158650e92cdef1d0e049bd142294d865393d29749a4f7203261307101220eeef8734fbfbda537daebad029da04d0d9e720dc57ad1fe7441c03db980c8ba93e3ad473c2844e2a623074abf628981337d1e7953f0441eaeaf7a503fb91a531b23d338f19470c92550bfe18c151df56a69289f769397f3ebb5c6dc20349aaef78191397fad756df661c253f48cbddc471677e2f83330c568ac0a3229803e0d78c6435ef12f83a9225f0606583c5bdd9914c999360737c141e48a15b90b603d501a05d5a929b9ee5487333a1b2c5dcc73c47025f1f2ce06e848dfb294a103803211a312e57f793238892ab4bd3118c73eecd2a9667666b46d2acb54079b171c90219ffff03effae48ff7975b31e73597dd61f4308e23f33f0703994a3b47db867bdc8d4ff403ddba59f351b549d83655b08ee16e65c47c5c6281ee31bf5fd18a7d2092523da8035f61518b337296626adf395e9afcae2c19d6697964a51392ba7c8a16c08fc8f503425af769a323679cbe89421e00788f40e3146be9d27664b7a624251a227d705d031b7825ccfd765c0587a832394dc67cf38157eb85fe422e978aedc3b6c6b7241c03dd5ca440b24037028d7d7f7faecb79ed889142b8867dab73ccb84cb977f6c5c0035ed001a29812b5a4fd8afe6d853b9d02c5b23e18432b4a551f0d4ad77a9caf62034582587cc44033c3b483aabbb7dcf8a0fb19f7e1c21671dcfbacac97fbbe88d003b253c3726ad5bac4a1d9c9c2fcc2a4c313f09561eb2552c35d0be42f9297d16303bb543b15895e808692e0c6bcd9e913abb1fefa92b36dcb083dec7aa09b9ae95603f95b374f19647a60a4a78f283df3bbc60ee6ea246e9ffc5f1154935671d6c2240341d1480909c70ba05f0dd024907193346146df05af8b92ac2dc1fcbe1a629c6203382bb429205cd65e8f97eb550684599aca86d68b6e90b13d3c52a96a6176378b0342f0dbc4ecd4898f772de57f8a9b680ee60d680b9f10f284a8edfcacc632b45303add655faf7990e05381261a2bf3f7c93c32146702106bf811775d6e00923ca600306564841a2df0a48f27c9108a81378048c488788a6f7c1c148ae2bbe4d3d656703a5c89e325964aad6025a7e7ad05cb7a486dafaa7f57baad4c2d6fb6beca487c703d85af4d0c9f6016f345a48d4dc1d1b5b7f0ca54047e42b128c21a2dda118ff8e03fd411f7d303d27a34ec74ad32f38c4cd9f40e634ab54c64b16b8bcd6a5c267f803f5c9416a6d313955e1c0d7230ef2e87550722b7f2ea15ff3f63220685fae426f035db49283e4ca31e68e4f8ba3e670a547b149fc5a24820acaef7345f739d6cf66037bdc1157aec4a706ba75ffa4be3d4d7d46c1760c93c57e074d9158839e80ea66030a9cb386c4ad4617a815a169154eebb114b596f4b0961432d96b072922bc3e540384a6375fa94e27f31e9b6e762ea1ffe374eb492cc0f7d911eb4188caf65c1bae035e2548a49cab563de6430e8288fc5af46cb7802bccc4a4cf1e27063b23f5fb8003d6c5548066aa6e86427850e7041d8b14b91ba14e208199d019a77a4a137338e80397d3118eb7a469ee8a29d28925a56c197651cfb0951f440b65dc7d73baa4278803562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0331db6de4575da5bc01346f23b49a73596741ce9f5a9255d1c124aaa11007011bffffffffffffffff05581e03e40c310e01720d00fd1af6c70d7e35795b713d9c887288b5ae83a815f00c0147061820e6475ee80307692e7e134d039b537c4c9c30d36759e8446495822a9e71eabf32e5c5c2c95d0459359f73a9abc45a98ac6f5bd44944babb425ef480abd3fe30146080604052600436106100e95760003560e01c8063b345c8c111610096578063d77c3b5d11610070578063d77c3b5d146101d3578063e2e2492714610201578063f9fa74e614610221578063fc55b67914610241576100e9565b8063b345c8c11461018b578063beabacc814610193578063c5354f8b146101b3576100e9565b806344b5087b116100c757806344b5087b1461015b5780639cdef1e514610163578063aed404791461016b576100e9565b80630c37ef4c146100ee5780632b84eece1461010c5780633b39d10d14610139575b600080fd5b6100f6610261565b6040516101039190612e72565b60405180910390f35b81801561011857600080fd5b5061012c610127366004612b14565b610285565b6040516101039190612fd5565b81801561014557600080fd5b50610159610154366004612a0c565b6102e3565b005b6100f661031f565b6100f6610343565b81801561017757600080fd5b506100f661018636600461280c565b610367565b6100f661042f565b81801561019f57600080fd5b506101596101ae36600461274e565b610453565b8180156101bf57600080fd5b506101596101ce366004612a77565b6104bd565b8180156101df57600080fd5b506101f36101ee3660046128b9565b6104f8565b604051610103929190612f9e565b81801561020d57600080fd5b506100f661021c36600461278e565b6105d8565b81801561022d57600080fd5b506101f361023c366004612973565b610687565b81801561024d57600080fd5b5061012c61025c366004612bbb565b61071a565b7f5d26fd0f24f42b91458dbfab1103638e2751069d9a0e976ead0d06dc61d8c44881565b6060600061029489898961074e565b905082806102a957506102a78b89610886565b155b156102c7576102ba8b8b8b846108c7565b6102c78b8b6000896108c7565b6102d4888787878e610abf565b9b9a5050505050505050505050565b60006102f085858561074e565b9050818061030557506103038785610886565b155b1561031657610316878787846108c7565b50505050505050565b7f8a86a7c966e57488ccc873d575261078b72776cbeaa8a765c7f917c324d42f9881565b7fbb030a49d1b37364f7119260cc9737cd720c251c3c1030d5e7b6cc0567e2902081565b60006104148860026103788a6133f5565b7f5d26fd0f24f42b91458dbfab1103638e2751069d9a0e976ead0d06dc61d8c4486103a960808d0160608e01612732565b8c604001358c8c8c8c8c6040516103c1929190612cf0565b6040519081900381206103dc97969594939291602001612ebe565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528d93929190610de7565b90506104238686868686610fc0565b98975050505050505050565b7f03651c586dcf8446a7e5a13bf0db304ab0ee2009d26debf6048a1f17bf02d10781565b73ffffffffffffffffffffffffffffffffffffffff831661049757610491815a73ffffffffffffffffffffffffffffffffffffffff85169190611011565b506104b8565b6104b873ffffffffffffffffffffffffffffffffffffffff841683836110a9565b505050565b80806104d057506104ce8886610886565b155b156104e1576104e1888888876108c7565b6104ee8686868686610fc0565b5050505050505050565b600060606105ac8a600261050b8c6133f5565b7fbb030a49d1b37364f7119260cc9737cd720c251c3c1030d5e7b6cc0567e290208d606001602081019061053f9190612732565b8e604001358e8e8e8e8e8e604051610558929190612cf0565b6040519081900381206105749897969594939291602001612f09565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528f93929190610de7565b91506105b988888861074e565b506105c8878686866000610abf565b9050995099975050505050505050565b600061066f8660026105e9886133f5565b7f03651c586dcf8446a7e5a13bf0db304ab0ee2009d26debf6048a1f17bf02d10761061a60808b0160608c01612732565b8a604001358a8a8a60405160200161063796959493929190612e7b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528b93929190610de7565b905061067c84848461074e565b509695505050505050565b600060606106fc88600261069a8a6133f5565b7f8a86a7c966e57488ccc873d575261078b72776cbeaa8a765c7f917c324d42f986106cb60808d0160608e01612732565b8c604001358c8c8c8c6040516106e2929190612cf0565b6040519081900381206103dc969594939291602001612f5c565b915061070c868686866000610abf565b905097509795505050505050565b6060818061072f575061072d8887610886565b155b156107415761074188886000886108c7565b610423868686868b610abf565b6000808473ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30866040518363ffffffff1660e01b815260040161078c929190612d74565b60206040518083038186803b1580156107a457600080fd5b505afa1580156107b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dc9190612c46565b905080831461082e57801561080d5761080d73ffffffffffffffffffffffffffffffffffffffff8616856000611136565b61082e73ffffffffffffffffffffffffffffffffffffffff86168585611136565b808311156108435761084083826112c4565b91505b7f80da462ebfbe41cfc9bc015e7a9a3c7a2a73dbccede72d8ceb583606c27f8f9085858560405161087693929190612d9b565b60405180910390a1509392505050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260098301602052604081205480158015906108bd5750428111155b9150505b92915050565b6040805160a08101825260078601546fffffffffffffffffffffffffffffffff8082168352700100000000000000000000000000000000918290048116602084015260088801549081169383019390935267ffffffffffffffff9083048116606083015278010000000000000000000000000000000000000000000000009092049091166080820152600061095b8261133b565b90506fffffffffffffffffffffffffffffffff8114610ab757600073ffffffffffffffffffffffffffffffffffffffff851615610a5f5773ffffffffffffffffffffffffffffffffffffffff861615610a57576040517ff182178300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87169063f182178390610a029088908890600401612e0c565b60206040518083038186803b158015610a1a57600080fd5b505afa158015610a2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a529190612c46565b610a5a565b60005b610a61565b835b905080156103165780821015610aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa3906132d7565b60405180910390fd5b610316878483611390565b505050505050565b606073ffffffffffffffffffffffffffffffffffffffff8616301415610b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa3906131a0565b73ffffffffffffffffffffffffffffffffffffffff821615610cf85760048310610cf8576000610b7b600086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506114399050565b90507fffffffff0000000000000000000000000000000000000000000000000000000081167fa9059cbb000000000000000000000000000000000000000000000000000000001480610c0e57507fffffffff0000000000000000000000000000000000000000000000000000000081167f095ea7b300000000000000000000000000000000000000000000000000000000145b15610cf6576040517ff182178300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063f182178390610c6f908a90670de0b6b3a764000090600401612e0c565b60206040518083038186803b158015610c8757600080fd5b505afa158015610c9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbf9190612c46565b15610cf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390612fe8565b505b60008673ffffffffffffffffffffffffffffffffffffffff16868686604051610d22929190612cf0565b60006040518083038185875af1925050503d8060008114610d5f576040519150601f19603f3d011682016040523d82523d6000602084013e610d64565b606091505b509250905080610da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390613345565b7f9c8b829578b661bfe74f6d7fa943ea59c34dc54ed4892cd2ceb1e24a2e3ce23e87878787604051610dd59493929190612e32565b60405180910390a15095945050505050565b6000826060015173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614610e52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa39061320c565b8260400151421115610e90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa39061301f565b610ea1858380519060200120611455565b600081815260028801602052604090205490915060ff1615610eef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa39061337c565b6000818152600287016020908152604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055835190840151610f3c9183916114bf565b610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa39061330e565b610f81868460000151866115eb565b610fb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa3906130fb565b95945050505050565b610fcb858585610453565b7f724eb553335573f549c39aeb2a156ff44ed2f031dbec2ac472abcc8543b2f4568585858585604051611002959493929190612dcc565b60405180910390a15050505050565b600061103473ffffffffffffffffffffffffffffffffffffffff8516848461198d565b9050806110a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5452414e534645525f4641494c55524500000000000000000000000000000000604482015290519081900360640190fd5b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526104b8908490611a2a565b8015806111e25750604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156111b457600080fd5b505afa1580156111c8573d6000803e3d6000fd5b505050506040513d60208110156111de57600080fd5b5051155b611237576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806135346036913960400191505060405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790526104b8908490611a2a565b60008282111561133557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f5355425f554e444552464c4f5700000000000000000000000000000000000000604482015290519081900360640190fd5b50900390565b60008061134783611b02565b90508061136757506fffffffffffffffffffffffffffffffff905061138b565b600061137284611b3f565b9050808211611382576000611386565b8082035b925050505b919050565b600783016113af6113aa836113a486611b3f565b90611bd8565b611c4a565b60019190910180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff909216919091177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff167001000000000000000000000000000000004267ffffffffffffffff1602179055505050565b6000816004018351101561144c57600080fd5b50016020015190565b60006040518060400160405280600281526020017f190100000000000000000000000000000000000000000000000000000000000081525083836040516020016114a193929190612d1c565b60405160208183030381529060405280519060200120905092915050565b600081518351146114fc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa39061308d565b6000805b84518110156115df578173ffffffffffffffffffffffffffffffffffffffff1685828151811061152c57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1611611581576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390613169565b84818151811061158d57fe5b602002602001015191506115c8868683815181106115a757fe5b60200260200101518684815181106115bb57fe5b6020026020010151611cb9565b6115d7576000925050506110a2565b600101611500565b50600195945050505050565b60008251600014156115ff575060006110a2565b600061160c856000611d24565b90506000815111611649576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390613132565b8454600090819073ffffffffffffffffffffffffffffffffffffffff16815b875181101561180d578373ffffffffffffffffffffffffffffffffffffffff1688828151811061169457fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16116116e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390613169565b8781815181106116f557fe5b602002602001015193508173ffffffffffffffffffffffffffffffffffffffff1688828151811061172257fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561174f5760019250611805565b6000805b86518110156117cb5789838151811061176857fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1687828151811061179257fe5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1614156117c357600191506117cb565b600101611753565b5080611803576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390613056565b505b600101611668565b50600386600481111561181c57fe5b14156118325786516001149450505050506110a2565b600486600481111561184057fe5b141561188e57811561187e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa39061327a565b86516001149450505050506110a2565b600286600481111561189c57fe5b14156118de57816118d9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa3906130c4565b61192a565b60008660048111156118ec57fe5b141561192a57811561192a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa39061327a565b83518215611973576001810190506001885111611973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa3906131d7565b600181901c60010188511015955050505050509392505050565b60008261199c575060016110a2565b60006119bd8573ffffffffffffffffffffffffffffffffffffffff16611e62565b60405190915073ffffffffffffffffffffffffffffffffffffffff821690849086906000818181858888f193505050503d8060008114611a19576040519150601f19603f3d011682016040523d82523d6000602084013e611a1e565b606091505b50909695505050505050565b6000611a8c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611e659092919063ffffffff16565b8051909150156104b857808060200190516020811015611aab57600080fd5b50516104b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061350a602a913960400191505060405180910390fd5b600042826080015167ffffffffffffffff161115611b21578151611b27565b81602001515b6fffffffffffffffffffffffffffffffff1692915050565b600080611b63836060015167ffffffffffffffff16426112c490919063ffffffff16565b905062015180811015611bce57611bc662015180611ba085604001516fffffffffffffffffffffffffffffffff1684611e7490919063ffffffff16565b81611ba757fe5b60408601516fffffffffffffffffffffffffffffffff169190046112c4565b91505061138b565b600091505061138b565b818101828110156108c157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4144445f4f564552464c4f570000000000000000000000000000000000000000604482015290519081900360640190fd5b60007001000000000000000000000000000000008210611cb5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806134e36027913960400191505060405180910390fd5b5090565b600073ffffffffffffffffffffffffffffffffffffffff8316611cde575060006110a2565b611cfd8373ffffffffffffffffffffffffffffffffffffffff16611ef7565b611d1157611d0c848484611f2e565b611d1c565b611d1c848484612067565b949350505050565b600482015460609067ffffffffffffffff81118015611d4257600080fd5b50604051908082528060200260200182016040528015611d7c57816020015b611d69612551565b815260200190600190039081611d615790505b5090506000805b6004850154811015611e59576000856004018281548110611da057fe5b600091825260209182902060408051606081018252919092015473ffffffffffffffffffffffffffffffffffffffff8116825260ff740100000000000000000000000000000000000000008204169382019390935267ffffffffffffffff750100000000000000000000000000000000000000000090930492909216908201529050611e2c81866121c1565b15611e505780848481518110611e3e57fe5b60209081029190910101526001909201915b50600101611d83565b50815292915050565b90565b6060611d1c84846000856121e3565b818102821580611e8c575081838281611e8957fe5b04145b6108c157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d554c5f4f564552464c4f570000000000000000000000000000000000000000604482015290519081900360640190fd5b6000813f80158015906110a257507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470141592915050565b600073ffffffffffffffffffffffffffffffffffffffff8316611f53575060006110a2565b815160411480611f64575081516042145b611f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390613243565b6000825160421415611fae57506041825260015b611fb88584612339565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614915081612054576000856040516020016120009190612d43565b6040516020818303038152906040528051906020012090506120228185612339565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16149250505b801561205f57604283525b509392505050565b600080631626ba7e60e01b8584604051602401612085929190612f9e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505090506000808573ffffffffffffffffffffffffffffffffffffffff168360405161210c9190612d00565b600060405180830381855afa9150503d8060008114612147576040519150601f19603f3d011682016040523d82523d6000602084013e61214c565b606091505b509150915081801561215f575080516020145b80156121b657507f1626ba7e00000000000000000000000000000000000000000000000000000000612192826000611439565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b979650505050505050565b60006121cc83612411565b806110a257508180156110a257506110a28361242b565b60606121ee85612459565b61225957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106122c257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612285565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612324576040519150601f19603f3d011682016040523d82523d6000602084013e612329565b606091505b50915091506121b682828661245f565b6000815160411461234c575060006108c1565b60208201516040830151604184015160ff167f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a082111561239257600093505050506108c1565b8060ff16601b14806123a757508060ff16601c145b1561240557600186828585604051600081526020016040526040516123cf9493929190612fb7565b6020604051602081039080840390855afa1580156123f1573d6000803e3d6000fd5b5050506020604051035193505050506108c1565b600093505050506108c1565b600061241c8261251d565b806108c157506108c182612549565b600060015b60ff16826020015160ff161480156108c1575050604001514267ffffffffffffffff9091161190565b3b151590565b6060831561246e5750816110a2565b82511561247e5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124e25781810151838201526020016124ca565b50505050905090810190601f16801561250f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b602081015160009060ff1660011480156108c1575050604001514267ffffffffffffffff909116111590565b600080612430565b604080516060810182526000808252602082018190529181019190915290565b803561138b816134bd565b600082601f83011261258c578081fd5b813560206125a161259c836133d7565b6133b3565b82815281810190858301838502870184018810156125bd578586fd5b855b858110156125e45781356125d2816134bd565b845292840192908401906001016125bf565b5090979650505050505050565b6000601f8381840112612602578182fd5b8235602061261261259c836133d7565b82815281810190868301865b858110156126b657813589018a603f820112612638578889fd5b85810135604067ffffffffffffffff82111561265057fe5b61267f887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c850116016133b3565b8281528d82848601011115612692578b8cfd5b828285018a83013791820188018b905250855250928401929084019060010161261e565b509098975050505050505050565b8035801515811461138b57600080fd5b60008083601f8401126126e5578182fd5b50813567ffffffffffffffff8111156126fc578182fd5b60208301915083602082850101111561271457600080fd5b9250929050565b60006080828403121561272c578081fd5b50919050565b600060208284031215612743578081fd5b81356110a2816134bd565b600080600060608486031215612762578182fd5b833561276d816134bd565b9250602084013561277d816134bd565b929592945050506040919091013590565b60008060008060008060c087890312156127a6578182fd5b8635955060208701359450604087013567ffffffffffffffff8111156127ca578283fd5b6127d689828a0161271b565b94505060608701356127e7816134bd565b925060808701356127f7816134bd565b8092505060a087013590509295509295509295565b60008060008060008060008060e0898b031215612827578182fd5b8835975060208901359650604089013567ffffffffffffffff8082111561284c578384fd5b6128588c838d0161271b565b975060608b0135915061286a826134bd565b90955060808a01359061287c826134bd565b90945060a08a0135935060c08a01359080821115612898578384fd5b506128a58b828c016126d4565b999c989b5096995094979396929594505050565b60008060008060008060008060006101008a8c0312156128d7578283fd5b8935985060208a0135975060408a013567ffffffffffffffff808211156128fc578485fd5b6129088d838e0161271b565b985060608c0135915061291a826134bd565b90965060808b01359061292c826134bd565b90955060a08b0135945060c08b0135935060e08b0135908082111561294f578283fd5b5061295c8c828d016126d4565b915080935050809150509295985092959850929598565b600080600080600080600060c0888a03121561298d578081fd5b8735965060208801359550604088013567ffffffffffffffff808211156129b2578283fd5b6129be8b838c0161271b565b965060608a013591506129d0826134bd565b9094506080890135935060a089013590808211156129ec578283fd5b506129f98a828b016126d4565b989b979a50959850939692959293505050565b60008060008060008060c08789031215612a24578384fd5b863595506020870135612a36816134bd565b94506040870135612a46816134bd565b93506060870135612a56816134bd565b925060808701359150612a6b60a088016126c4565b90509295509295509295565b60008060008060008060008060e0898b031215612a92578182fd5b883597506020890135612aa4816134bd565b96506040890135612ab4816134bd565b95506060890135612ac4816134bd565b94506080890135935060a089013567ffffffffffffffff811115612ae6578283fd5b612af28b828c016126d4565b9094509250612b05905060c08a016126c4565b90509295985092959890939650565b60008060008060008060008060006101008a8c031215612b32578283fd5b8935985060208a0135612b44816134bd565b975060408a0135612b54816134bd565b965060608a0135612b64816134bd565b955060808a0135945060a08a0135935060c08a013567ffffffffffffffff811115612b8d578384fd5b612b998c828d016126d4565b9094509250612bac905060e08b016126c4565b90509295985092959850929598565b600080600080600080600060c0888a031215612bd5578081fd5b873596506020880135612be7816134bd565b95506040880135612bf7816134bd565b945060608801359350608088013567ffffffffffffffff811115612c19578182fd5b612c258a828b016126d4565b9094509250612c38905060a089016126c4565b905092959891949750929550565b600060208284031215612c57578081fd5b5051919050565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b60008151808452612cbe81602086016020860161348d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b60008251612d1281846020870161348d565b9190910192915050565b60008451612d2e81846020890161348d565b91909101928352506020820152604001919050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352808716602084015250846040830152608060608301526121b6608083018486612c5e565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b600073ffffffffffffffffffffffffffffffffffffffff8616825284602083015260606040830152612e68606083018486612c5e565b9695505050505050565b90815260200190565b95865273ffffffffffffffffffffffffffffffffffffffff948516602087015260408601939093529083166060850152909116608083015260a082015260c00190565b96875273ffffffffffffffffffffffffffffffffffffffff958616602088015260408701949094529184166060860152909216608084015260a083019190915260c082015260e00190565b97885273ffffffffffffffffffffffffffffffffffffffff9687166020890152604088019590955292851660608701529316608085015260a084019290925260c083019190915260e08201526101000190565b95865273ffffffffffffffffffffffffffffffffffffffff9485166020870152604086019390935292166060840152608083019190915260a082015260c00190565b600083825260406020830152611d1c6040830184612ca6565b93845260ff9290921660208401526040830152606082015260800190565b6000602082526110a26020830184612ca6565b6020808252600f908201527f43414c4c5f444953414c4c4f5745440000000000000000000000000000000000604082015260600190565b60208082526016908201527f455850495245445f5349474e45445f5245515545535400000000000000000000604082015260600190565b60208082526013908201527f5349474e45525f4e4f545f475541524449414e00000000000000000000000000604082015260600190565b60208082526012908201527f4241445f5349474e41545552455f444154410000000000000000000000000000604082015260600190565b6020808252601f908201527f57414c4c45545f4f574e45525f5349474e41545552455f524551554952454400604082015260600190565b60208082526011908201527f5045524d495353494f4e5f44454e494544000000000000000000000000000000604082015260600190565b6020808252600c908201527f4e4f5f475541524449414e530000000000000000000000000000000000000000604082015260600190565b60208082526015908201527f494e56414c49445f5349474e4552535f4f524445520000000000000000000000604082015260600190565b60208082526014908201527f53454c465f43414c4c5f444953414c4c4f574544000000000000000000000000604082015260600190565b6020808252818101527f4e4f5f475541524449414e5f5349474e45445f424553494445535f4f574e4552604082015260600190565b6020808252600e908201527f494e56414c49445f57414c4c4554000000000000000000000000000000000000604082015260600190565b60208082526018908201527f494e56414c49445f5349474e41545552455f4c454e4754480000000000000000604082015260600190565b60208082526022908201527f57414c4c45545f4f574e45525f5349474e41545552455f4e4f545f414c4c4f5760408201527f4544000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252600e908201527f51554f54415f4558434545444544000000000000000000000000000000000000604082015260600190565b60208082526012908201527f494e56414c49445f5349474e4154555245530000000000000000000000000000604082015260600190565b6020808252600b908201527f43414c4c5f4641494c4544000000000000000000000000000000000000000000604082015260600190565b6020808252600a908201527f484153485f455849535400000000000000000000000000000000000000000000604082015260600190565b60405181810167ffffffffffffffff811182821017156133cf57fe5b604052919050565b600067ffffffffffffffff8211156133eb57fe5b5060209081020190565b600060808236031215613406578081fd5b6040516080810167ffffffffffffffff828210818311171561342457fe5b816040528435915080821115613438578384fd5b6134443683870161257c565b83526020850135915080821115613459578384fd5b50613466368286016125f1565b6020830152506040830135604082015261348260608401612571565b606082015292915050565b60005b838110156134a8578181015183820152602001613490565b838111156134b7576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff811681146134df57600080fd5b5056fe53616665436173743a2076616c756520646f65736e27742066697420696e2031323820626974735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a2646970667358221220ccd8e3cfcefc67534303673d09763035188341103ed48e18c981f04d255c1a0964736f6c634300070600330605581d025d874fc96d87ce7cf53f409c36c3f76e68a4ce50c0e531efa3c7eac6070119359f05581d0238da0063da51956dd36681874ce93577f7b58d20e6775fc817a580ac0c034762391b24554eb8021901010375b45d2da1336dc3223a20a2a227c9943cb181eb2a07b4f67f76cf0e53458b8d03b73f53ebd0f48f9d513a9502a56b9911ecec1cff5f8cb606cb204f8ba1f5049d031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03bc6f5890ee2bcca198e76012ae9e6313ffb769c3b4c3b8320ba8f11ec007011bffffffffffffffff039b01b19a171aaa7ebe90bb5b0ac04281a9f32d8a03b545ff600593400d48eb2502193637033b4c7ff4b568cdd3f43fefaec17a1cd745a572bc3920d3f4699f5d65ee09ae7203aadf73a7b168bbfe42f975a99ba78ef1bf65d8937b3b0a105ce7101dddbf06cf0301641e90557441360e9285a6ed5e74148fe30485a799e868e0ea5fef0291ecc90372b6bcf304b0ff6b98ebd3b67c14227fea3ef1e2ec0151622613cc281b535e3a03a5f60efb8250d4e627001b62ccd739254acfcf44e6fb895507188056b4750cf503b504c7cbb58f202721d9c195f3bf7482b1da4efe345c94bc8efb4eb5418111490376badfd18939a89f2758c216997d87e5fadec20bac2b04f575baf586406822060219ffff0333226f20732e09da319076da9285adf2ee9400a1ae0d58972f745fb543e772b703820033fbcf6dba6bfe2eb35595705beb45eff2485cbc6b46e0c2caef94265be00219ffff034e99d4d0c543729a620dd181d4916632c9d41a257f2b954aa4620dbab4aa5e5803930f2242c8297597da0c5b938cf7fcbbb44a68daa13be59b6a8018ca0a1a6e1103f4e3eaccecd2a2ab37b28d2900f529e618702a3cb549a0ba4b7ce8a59df2f3c20372bc9b8e1b34920541323c3e3179d5caeeef9f6e0fbff4c4f22537fc2989beeb036685b322b12eadb13178be01db0c7f9432d5270456b18dd51bf91fa22cf12933039b4ca9f1bed0fec77e9f2b5e1cf00b1a86f20421ec5fc00d58cceb17c5fb10b0035737dd71c1bb3b3f63fda9c086c4fe3df6c4f27962bac07eb74b2202a982ef93035c645e69a737042a5eac712489fd3eec30b4cc719751c5bb92855fed81cda4280305fa628a3007daca0b71068336a7b758107cce4dc887fe9690b762c605e16dba03415585f9d6d02a89e74d11528e6c3d4e71c351217b97871a7cfbebe9cadfaa36036743b12c1d856dd71917fee7d9d458265d18f4d737ce077522ef5a6647d034c00219ffff032e985fad5e6dddf83e59ddc87a8b34ca34ec688c26938d2382a23244c28d82160219ffff032c8053a2a8deb418285c124437c1b1c8191693a925d09416192a44d10ec46c3f03fd7f80313db1b1197e7ea212ae4498d155224a53957679082ee8674d4b0da0d3037fa51a9800ffcbe8217919d2ce6713a7e037dd7c615330e4831fced07e50a41b03de76ad6ba1aa16236bcd3eba49d32592ded6ec12ec7ec5ada8307b298701610003decacb79806a2f503623d56e9d19464d6304bacd7e2193b2ce8dfcfc47bda56e037fd6fd64153f3dd2a6f90626a39ee507d027e39b148ce659538a5c149e2f76fb03ab4a8c5884339a1de0b9684e554234caf06c6b72399f64f221e26672de3b3733033ae7a9b2d99b95dc6ee4bee370004071d2426fbafd7d24413457346b2d83757103215eeac77858d124ea12e6a153d44be10c11cf88467203fc9a2d29d12f2621f60385096c5984018179451cfc0dc5d6ef8659f5e82a4851f83f4348c387d80b3cbc037e38bb3f942955397f59d6dbb4085867298c7b6c30ada6030ed846b12cc69b5503dc5b46560bffa806abac18f22da85027bd51c86bb373414c9fd9eec1f045a78a05581e0366e3d3abf995ea30f7c3f23ba7df244a96e968c3e368a6d092f60aabe00c02470f55ff4fc804fd05581e03bb57f9e3e99a7357d20c8c2a89713655c3d579fbfb77928b79e23a34600c0147020d4f64b092810316afade8aa40cf415947b1e8cbac8270bf8b2ab0e308e82a20bc958b771e68490362b04833ae3c92d5d98e5591af366dd81960e2d9bc2478a57c2cec18e1c51a0905581e03219a4dbb4a9af5d7b9ff5358e5fe981388590e8ccd05f3e6287834bf700c0247019fe69ce10e0005581e03fd3a4094ace704a1ed568e4f147575a01dc4fe9a5d22171cb62abb9eb0040303ccf644155e09ab31e2fdd25bf48ab0c11d6e07c7a3fc3f836d13b599fea276ff02190ebc037625a5bed4a708191029170ed403fe0dd090f78d0f8a1b257e651b9f6eccf1c9038845111707b44727e017ccc653acd9f677b05295e91a7614080ba53acb8c8624033abd844bfa3872c537f7f0c45a89949604f4190cec8cd007816c7bd6b45607d0037687c6156593d13949ef6312db7e2525c0f7ecdb9b7e18e70e447bc704d5f0e60348ae9d3f84f88139e137f7e408cdc63bf55e3f9c32fd3d00c509276dd2e65dd103ae883b6f47321b477cd33ab32a13c435bd04d237cf343d2f3c44381e5f1f67a2034f14834a9c38b6c356a29d24b2fb5f3107b41190951333415d3351abe24905c5035aea85930cc9c47a3b48d8bc369889b6fe8d3dbbfc81307e2aed68e0e54899c803d850136f3de2f19b486951828d77d810fedc3b6d6b23a059c09575d639a981d0031a2baf26260361466dee3b5cfb7f93753c1bb308961668fdd3e76eae5653626c038899f24966efe5f65e2cca0b1415aab351853733bc47ac3709793f1297c88ec403443cb3118492ba127b6bb47409632f28b92789704b8ae5344c2abfd4a01278ea03419e65c6b64a3d901e4422eae4954680487e380191a030e52bd5d280fca5f94703a13cfef51c2f6f7a60d2691e617fe56c94e72d2177b0b6513852cc86719abea70219ffff03c7f7463951d2640cd2835c65029e8d954ee557611f34483f0a354b15375d14e8037fe15b39559f6f12e4896e378f615bd99a35287a50c9426dbc0df1bae767000e0329a00b8b55b6d6910a68b67a7e9a5a266bc9d46c1939d5d2cebb49c5eae71cc8038adaa2ab3e188346f7e711a2ed06d7c1041e9df9bd2b0e5ea7070267fb8405d503dd4b9502a7014e5ad8284dcdb7930eb87a7c52aa0f84148130497b65e4f1c61703b662cc2898e6dd524b69980d64b86ef79bfb839d4ac4a33896459981ce939670037b7b6bc2df3149d33d7f40bfddcbb69e2e4918637bc5aa9ee0236da958080fa403bbf7c7aaee389686286d52e995108c6fb6ecbe142d0904c1e3091988c0092025036f68d8e3ab9ba476953b7cc23f2022fb98031805b1d088ccca06711730a0c703032a63b9288d7234aef901252be447bd660aa29da617c17233704dc4ff2428ed3b03f4f461e5694edb77a9928ab971495dee662c3d8b12805469e3ca0cf3a0f141e203d4573c89dc9bd7bbe91627e1d365d1c1fe9eabbfceebfbbe90cc0e3b7cf8bd4b03f5e7e1b5a30e3d082646599d28cebfc0063e493cb0bc961014ca4cfaa7a415d403076b2d4f2033e45f15c9950dc8549b38816356973c6f2959a7568f38c85f755a0219ffff038173d3614d8f4efa17d34e5a4a7010e1da0e764a7d4c6f382e0cec0e6147d8db0316e6c20ed7f9c9585df1c4279f816b6df28bcea8b0f7978f543264bde8263c1103974234750cf4795dbfe8e6bb7f3ee47a016238f49f0aaa9e5a10c2f4cd18499b03e2286c56bdc6c807ca72082007e405630ad4149a61ac19bb801906b88ad9634e03f4558b61cba717daf097980fbe23cf508fa2f40c66bee24f40b4ab428fcf9a20039804635c2c1eb7ee5e01e50d2c0f70f12c1cbd61d2af2a91d3ad9879ef4493c003dd2d1ffbc1f29668df0a7d757bd4d53c1ab5372f466ba9d517897a464c4dfd5d03401d7f88f1a8a35d241da5170e42c5fe5f8279c0caf80dcc81d2f2448cec137403b955e8db7c90d246d02b1dec623b088ea6f092a8c1045cd3e8504c01fe72234103549d367404075d14671d497af93c38e992b46c8ebb9c89c71645c7b3c1558fa2038eb374823611317aead96cb8d7eabeeb91a78eae9dfa6ea2ee3473de8c00e1d403d58e556f1b58c171f8d9decf61e5949797981ed5499f9f327dde3fe5e0e0e5bc038a481d3ca269ac668d5d61d83ff337d7129ef544140df518173c2fbb646d13300219ffff03daba895ade9181991ac85aaa9376bf2778036bb7517bfe5f422c4e77fb9d10d70334d55278cf483af6f86fd8ce3a1fb5aba603acaa9803dfbc808d3af533432bd503c2b107fda3c4648cd2044d84f6751b7d5f5511eb06ea3209c0d494dbf94f7e1803f8cfb5996342d5fddfa86038d9563fac9b220bf7d01dd6396b7cfa4a5b3b6c4303f710fb60c908439cbbff8b6118c7d8288377a377c135a42e7fa1cb502f54eeb7033df65b18413073ce1dbf663ba1165a6210bd116973d6ebec40c81b53e0f63d3203abf0fd6cbc94ee404d8ecc8f253bae4d8cfe6ef86c07ddde6cd971077ce9d41903652f233ce4b617edbd13dccc94819a55f740fbff9806650afc086a8631ebbae003e773e30f9137aeb0cf53846ac3c36227a425c12ffa4d1bc2f8525067239c43dc03114d440a06c3dd9ffec67d3be6c7994c028da7267a778b4e1df6b4badc4e0e6103a98945ebaed3896dab12442d35bb2d7b45c6d21364bc28305ab6456e61458fbe0317d219c3c692826d2c2bcb06d69449981e0ea0e22baad015d2b9d2d06695e97c039504a21ba75dffc16d397de8800b57142b7e374288147a6e8ac04ae8fafc5a8103ebd5be29b961a5f35ddbafa647e830ef8a94114962b3eed16adc743b28d8d23e03a391870828f5b6f0b98ca3a62eff08125c8e92157cfc89a8139725c9c57b47cf03033b7bf4d3b41013dd1f4091bc049622f728f1bc55ea35677c08038557269a2d030446aacb1c03738e0de762314a11ea2b32b0adbcfab2fde826a49fa332cc4c5b033f74dd52116665ca521ae9154d51d38efe4db6fcf0d562f14bb4e39d7c6b6c28033365d3be29634107b4d62d0ef374bba4eb21ee3de7bd41e4b367a86c50d4e04a036b901488aeeca2d6da63405c92222d34732ed137d0e233ae7ad659064360576a0339bd307aa46e20ed57a60b95028559a2f1ab6154654987f0ffc6362f6e92e91103b90c89a45b6f93bd6661da56e93791c612dbd6a2d45d015d7dd37381b1571eeb03a54c2d153deb80274786acde78f193ccfc2618640bc199b3b710ffec7d5bcbef032eaa393c66aa34197d0867b01209ee2233b947768ca90240fa78f4dbd65383ef03f5fc76dbe193d84387e3c9f22e25c47b288c2c7b0896cb03e861441f494653b405581e03affd586475b90272174a164f4fe37d923bb1f79ca6e08260d22e1357b004040305fde2abf1bab15636fb71838a7256ce67925cf91257153aff46c09e1604ae8a0381815e2625c32c6592215a98f4ae11e52face03182a5201b45da0a771ac8ef7f036df61fc983cc54d382dc969c9b135506907fa422bc9a9e128c0110221d7bcbd605581e0392e1051822a075f05d43c958db60b2cc49c923348371a17474026015200c024706519fa8d570dc0398f1a255fd794d113e387444dbe5ac825a6bbc2bed77d3ce9ebc290140781db3037163ba9b235b928bb6b4aaa3df40597fe4c95c66757f8444517e301d83ba637b032c5b2390bc9cd3f4b58ab98f1e6f37205b7ecdf28c074b98694ecff91100a9a805581e034ef9f512b7628d5d37a8912bf4071d922276ddd65480417a5a4b2073a007011bffffffffffffffff038944b80f857a43df7dcb8ad6fd6e2c7f541635516f3f8accab7df231a147a3d5021972c3030dc9a086220a5d6ad8c01f666779833a1821030ce65593ff361d6d8c488474ae033f9e0611e0225e8bec449245f821377a3acfe9579c9eae317101a2674c24687703e958cdf75d7ca5c8c9ec84af6442d1e5639eb80e2c58426d98bedb18b44766f2032f8a9be110269b3cb761bdc08ddf2fcfe60d5978b81603a01768906fdf0dc17e0341c3d74898aea0c36334af459794982a77be5918ec065bd97857b4742dd0ccc9033b1bd9e25b0baa2a0082d8c3c4975c9f32e8c391c764df12f52f1d80cfaac41103e7a6c8c23f972545c74b38b26368faa203a7627ea6edceedcd79f1920245648a030db75f41ab93f56ba0d6788a9211a2c11f9bd10424af6df5e2865fc88cb8a13c0219ffff0359f8547ab4405d088ced72429e3ed78f6060a1f4bd851f05af974def601a9d3803357d64485d70a6ae3287d83aa8ab15272a921acef52ef6e23a888748ae642fbf03303b5059993e443456a3c57e0f624f663f748b844c8fadc6b61cdd2cae9560120369edf93b8189287a20bbb039683bbe1020d4869a1b3ec5d91160c0cc431ed953038ff24cc171ea200e189af66f45fd6eae00b46c1740700702b5475e3ce5f55c2f0219ffff03f987bb048189e7547fe8ec2f14434cf0123e9888bc9e8f530156c44c31a5b24c033b1f67809173e89ef5abb524951ce02c2bb2b843cb61cc07db06b7113f16b6b603e75b48e9d2c43d20708b54f6bf5b23afabbaca4ccf96d76e86d0578506484d240356f15b9151bd606ebfee59f2fb0094968345b5f9801ba6c05948e4d07bdbb710038a053e609a341f344f16276e4da1b3de5e3fafa671d21f4e5c910ddf208ea55b0314d6d269aef8be3068ee0298ec0db59aff22780891bafb8c8eb8c56bddb8006c0361fb3b1571c7876326791ce61de231c700e9960569a383ed60746636be44a179034f3b6779fd8230b4c49a866b6684f01360328ef7417d5f601b26917c65f63b53039b70a2125740ff7a2c6fedc4732cf63c2212f9919b55e42f096251d4825ed43403e8c2f827827aee9996856674c3f3a1100c36b874f66b96da0600e3e5983eb15d03c98db477a097cca309f6fdd2c8268968120276462303de56f70df35acc02d04c034b76c729661c280b2608e3077f8db104390d697bfd84f6df9c188d6db0e6d3f303ec7a6fdcf4910e523d66d5b6ef7b136869907a5bcba37b4fb2100f23d5ad09cb035d9afd069c454b844741d211dc9451950baebd6095dac5e6556b6e20c70456a503d776bbc31057e5ff1eb0718953b7a6cd3ecb056e85d84e9549f477662381da03035cf9bf6c20e184756dc9f48ebf8cbf6efb6f01f711d52ea76f3148cd1dc0db3f03c52f5908577154fbd5a90153a7bccf24d1836e0a8a1e809005cd317f3f370b3c03ffc6dfa380d9d0e76e3587f0941e55964c59e8f93172bc52f1f1d6bd7df634ea0316a787197ad9d99e207a5faea7763c565d0b8d0ae65ece2331e2ea895cfbacb103fd3914cafa4d325296912da37b6e7f24046de4e6257c44535b8a8cc9f091b66b03ebb4484fb9ed054c1069aedcf91f8cc78bbbcb3fa56b3107933bf195c2e8ef9603b445f4cd8f50d982766fa1d4edb227433c3d817d1fe7eb567bd022d819019d8e0325d148c3212b7e53f93d311685a9e21b60cb77d7e16269590b12ad23455ad81503a1118a47b0b2a35fd6aa14f840fed2d5e605bb530d5ec665f0e7c3487a2673ad03c4a0bbfd9b10453b05806248a7dbfd1cf355d5b2598348ec3d49550502ab252a03b96c767890300e02a75efd58c6935a6cf5f5255232a8fce6d6968332ef1e6ab103813317f6eefb41710cad922280bd3402e20b09fe8fed0fcfae108db4c2343c1b03c47b44703f5681d74d15984670bf6672fd1ef818b3f64fcd124fd24678235515032e91541d7368664aaba2cc4b3f4ba28893ac0e1ecfae8c94fd756df1221e429603c7dbb49876fef269b579a16b30069247b15c6e37efcdd29c99753b93d035ef7e0366ea18988729d6c8bae8f93bd2ab6e1700abfca3803b6412ca6cb651d127b01f038e74fc987f07a5b19b515fa3a25e7915e2a4d62da5ca62205cb6a64607be241b032f2b78ab207ff39a83ff39d9c47e85caa2a3f74c2058869f519beefe4a978e2603140005fc2ab9f2802c18baf89559e56d97e411ea145714714c884466d9753c3805581e03f458a571e8b2225a7c7147b453d7741981fd9e2d5419773df2ae2f5380040205581e03a2ad5cf77ee99359b7aa29b0fc7f8518b02b733fe7280186c230e241d00c014740762b156445b00315f6179bca9ac93341d01d41e29574fc8fd22fc1f4ea3f7a906c12072809a7050325f4cc7af87487b715d710edbbe710130a2bd5147a980646009673e910b48bff05581e03e0d2abb6524650013140cacdaff58b9b33ec7cc264aff9acf047f6118004030341e9e7cb9d8ff8bc69466de4c05e33adfa4317a4289826444196e013fbeb31780459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c634300080900330348682d573c07fb7eacb4dc33c05a746e89dd93b1b18cb1f3d82f8bf55c8534a503eab5cd97d283ffd5f86b75833168d7026e4941059c0417294dfd53a9260008e30347a67f5e398a88bbb9a377fa210436a409e4f248fb280b8bea93956f8aa4de5303260669c3ba8403703868432258295b722df374155e3b9818c06be7e5997f067f03d5124b5d9febd682a94d4233f2a633c3f70da96f1bc5f076324f2e79457facf8032c047b009a856655d294dc5da2a43271fd4ba91557ed0b02197750614bd55ae4034ffdcb293bb0f10ccb930587af86dbd076f6730703b07e575de6a29f28fd36e603c411ae73a2b9ede49de0e8b4ea2418157779b92eeea2ab1095e323ef68441e9803e9f4bd1b15332af3f8711f08c8cb1edeac9fbbb13f4c986cf859ad4b7d6484bf0379093177844b44a13c1bc774b790b2e46cdc0b24fb0ed1faf7ee16dc3ce9f98803862f9ddffe2e5e6a645432ca27106fd8ab93ddbb1cfa29926eda25ef87a4e59903fdc0ae0ddc6d712cc277abaa8cd918d1903027eea96bed6d760ffa5ca7a2194700581f027271ecae52e38a8ba1e9fee863de1b2708666da6d52bacd07c71f0a6a1db4a016e83b92eafd004000000581f02f68632eb68c6981bcb830e2439d358e06885e1197915ea2d8cef62286baf49d71b0fe0a28e00000000581f02f551eddfa96c9ecba84ffdbfc048da745ae2ae24b56f73678e639f47ebf34a01bffe09d7739420000000581f022d31d77313456d3252d8a12f6810bd9fbd7dd8561fcf1d057c427304e5d041010219805203339d7c2acf4bc69370f2403d53ab2a64a374c1975661d2d77b020d258e9daecb03eb92c16d98914954d8c848af857c6120d12abc669a227f5914d36ea631e8405503880ad2d58b644d7487f6c196debc187be85b60ae1fb9d135cfc2b3b7ac7fa9ca03487b0ee899bda83f1ed5649b429f5be34e560de274a2c5bb5a5e8ea43849dd2403aa838fbe198462119f8459bf097b5320dd7e46f50e76cabe9cb291f8b74ac96703839418bf106f1ce9c6f11616728897d1783e726bd0953d7234741b8bf5e622320219ffbf03da8fd7dd0520ff72d169f42efeb97007e4744c3afc5052150e230fdd69e98e7c03976383ce5989d5d81396f5b1666c008f8abdf95fec657f33d4ec6af1961464f403c3eee3b0b130a362333e5d951778be7b336bf26071cdd33cc61d12d8a5fc2d1603f79823363c0bec24755b4a816ab8820a2b2f97deea9e27a2c2cd455248e5c8aa032880da207dad0f319072d739973b8add86dd56af1d84c77d1f8159890f9d9384030d0838ebdb69493f6ec11a9829092bdd58c26d54fa5f180ed252a740c601a37303fd6ac56ea78e0c9890abd7efaa6c5468fd9a673d0fdfdfb496ebf7063e6c54d2032c680b0b1c3b8d4bb519bcc1ace0d6c664538fab68dc1c6088e4d30ff72474be0332234779392312943692144818bbab2ccf5de3f5f5215f72d5b1924501d36d68032b57d4221cba82b8f7cb85f2cdc27fa2d807e1d31a84a866ab9a53d6643024980388e2c4ba87d7d26632e88e367800cbf1ca24e453fa801a8979357f43ad05da4e03e2dc0418e4face293c5807f6bdd26fa392350561f483bfbb332cc91b1a122b430058200361f997707f94822d9421114087dae02b75fee823bdb6a1511b0f3c2f5e6900494bc925b9141c18000000581f02b9f3bfa8ed4d9f06753934b11249b3b591df15ec34c147488a80b977f5b04a0322f5cb02a91df0000000581f02b4dcdad7c9b89f992025fa0320f7866c9dcad75e8b679338e5ac1fc6cdd549424c88d444aebc000002190404035ce0970b39c1d39bb34443430c8c6ca390613baae585ba66122409bea21de59e036dca17a08ee56fbf5adcbad0601084b5f6ce637723ea0e08bcfda7e6eb4c446703372ecaba88b73d325617333784a8cffd76179b371ea524cbc80050d2bef18cb4035e8a3c0dca2facc090703b4ce87f80557226a3b9589b16a200f06c04e31ba34203ec75e2623b40c035b1d672bee11a4318741e95369d0c265c86c443149dba035d03182ce164ca51d26cc23b653acad71df8aa4eaf18fbafd34910de1f35ca8e3dfd03757e7efd00f5f21a547346bb48fa499530aff5ede6310d10710aa79b62536c0b03deee95e13df405bb694cd8f2a45d2917bce4d929b0fe11dd00341651bf4f2a59036dfa3fb08c93e80d77f3273b37a8e6240b016c9499c13b84ec53e4473717ce280219ffdf03685141689776ea40d7a1e518b61f4844f2eea5e69d2d1baea64b74654a90015603e87c3638859ee9c91a56e7eafe9fa78d03906ffb769a38ecff2ce9f3d6fce0ec03af613423a95adcca691cf7089ade76a034717aae2e61cb70f961bb0205ea9bde033489e8351fddace4192e3b7c4c6e2b9f2789444106d5bbf0fe703ba695fc57830219ffff037b3fb1f4edfd47e139a5e94e4d9f2963f3e357f646f44bfb93517fbb51d205140368ddd33faa454098187551d14581244f90db3fcc3ff00276384d88b3ce4d3441039f013089a581ca45d04fdb1c0131343858447814ba8c9aad1aab793d23846e4803b4160a023215d869512e886d3b285d7e4c1a7dd1baba43450f27bbb814d399e603544551183d4ae667fbd2cf30f7500ea7f607a6b1397f4cf612d282a5d47282e4031a72adaf85152d46b480b0c17a2cba663d138b160585615e51b3a641a31bd88703f1c56055263ed1ab80dbaa7fee4a02021669bc1c7a2c248090e4e274c8c678bf034aad547c377c622c3e3be4d464fb1ecb1921dd533a8727db1eeb95f4410843c1039a17eec85afc129c8e670b8880236635f6524d8d7bc6b38d6bb562f02f6d3f5200581f02861f43771be6ff4a38cbf737fc11a52c3d6e4d879200612c43cfe0ce7f7d410100581f02b122c3f7ed0bf183d6a7d91639f87ce39828b47ae1bce79b84c6fa9ca966410100581f02cff85168590c4c8301169da92ad128975279f3ac6f464891589c9551f4d949305afc99fb407000000219120103e82f81c45857fc523c0d2dcd8f67c325a2d4f53e2e69506bcc1713e5cab14f67035eacdde0c9b0148a057614ead08b79b7741b27a7ee2436c7a9e26252d6857d2a03ade4c38c955a8aab7bd2a4a2d115b6033db7c787b02aae375e9aa167cb847c880302f1ac84c374794240bb94e16a942c1a5c213c2925d3bd58439742a64d3f9425035ec627078ddbcb3eb435e954ce418e871a90ef37ee84d1b641429daa282e161103de0ddcad1a93543e646ae19dc3dc334c440fd68240efec53239bcb2f88be0fcc03c7a77f7595bc910152779cc53f4ca9ca31cce8d65abdf18eaf9b10c2b5f8090203a776b9f5952f9654122e24dd61b65ec77ca1b2db55108556bb0dd100b9a94d3d03254abb62d4d1cc44797d7e025699df34b22d57094adaeada9bc2f3fd3edc71e50330b7485af25d1cea26cb1911bd21d59a25a69fd5222f353cb0f863d61150022503dd7ef8352a8ea2db8a8dca2aaef5ccd926f543f177a072f7dce3c976bca625210219ffff039a400d9411316d28851fb2456c7af25bd26a0326b9bb71c41323bd19e27dfb330300c691a8f861fb1afa7cbda9332c6ea13424a79f2b11b9a4ca6515548986c05b0314c36a515fa66e4002f97cf84bae3df84bae38f334982d6c6e9107b0f54d21500326bff33e03ed78cdc4c1c3a7a6ce7be8fc20afaacef282be81517fe7d139b231030cdd86081c2176da418260db582552578b18afb74b4128017fdf860319f2bf3a03cc2fb15b9be1d0454a72eb5c78b3b8de98c6de3c81e832c16fc5115af12fc0e303a36509488f9420a097820fcb53084753e111ff5433f2226b95a73a69fe4c394303b388f94cad50ef065d5b03dda517977e97a016e584eacd90e98c13b500be76b8030dfbe7934199e5977707b06ac2263def26d9224b6dfb2043be47a01ff7db54b5038fc9cdc94429dba6b4b38ec147cebcadc33bb8730284f52cff2f01dd620ffe5a0219ffff03fb129c860214e08451d8031244bd1fb58a015437ea63464854e5b2d938abc09603e5d609d98e583dd8ad4fd79022e9f5731dd1e9dc15efefdd6eaed033ae6252a403eaa006b7e6a2986b7d9a520bf2593e230700bbcfb0332afc392b86911c326eaa03c797cb5890843d90d7479c12d2898557b9d78125d0ade957dc84e1f9ea9c558f03d350724cd0daf6df94b9144967b890e2a8bc16fb95f7ec91bfe8d6df1ffc6bf303a83cc89fa7bc1a713f36f84ce593d7e5ade3f62ee9cdcd5ba79bdd99d028685e03d00eecb06707eb1c5dac138efb497ba1779a8239a8c2c8223b1d39d5bb4c68f7038f828dcbb893d0f3f1cf20e5e6016b00fa6e237f204d93fab241b47657081bd800581f029696d8bce9420fd9095d52644ea1242de23e5e913d08fac422a7b076158a4a03b702081133d5bc000000581f027230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe44650d78e900581f0213ac5cd27b534e60c9e5cd3ceb54239cf06d081b02270954616c071bfc7d4a019e0e8b14244198000000581f02d132181728237f55543629cf1ff317c2fc40cd1f0cda3792bc45512876844910c03c86d90bb40000021993000058200396c272a0fc0989141c79edb491f776c561c10207fce8517cfad45f191b1f604a0428783dcc036250000003728c6a1059e483efc9baa6690fc4d9f529a65923e30d873c8b5aa26e006816fc036ed9715b60fe8d23cd2bb5ced076a1b93399097700e63662079933e07454d62303d45a6530a2ebe792d5eb97f600cc992c0921d95031bbf9bff714a709b2af0a56033f6922a6a074e2621ccfe703b976cc8e320c605213d1083a53cc1724347c0f6d038cf44eb9e74320b06406f7a4b89bded10d4ff4182885d7c10a437bbdd065a36f03fcdfd7cc51ccda21f3bc1b0038c4e644e742bcf4cdf8d92848a81d87b10d815b005820035f55a38aa98443eff11ae3f84e2f50dd67e3e0ab969e5d068510328ecc72204a03e40e7922603358000000582003cda35016ec3668a2ef966ecd547c79fc6bf416de6ac974ebdf73eca67534904935c6c3f828a38000000305ab03bf2796b3125ea6fd0d09773ed762cf12f13497833026481fdcda9b0a40035254e4be90fdab9155e568dc5ccb4c8f2fd6c6b75fb758fb55d3200dd19aeb270398c7decdd9a6cdc3592aeb7c83a8c9fcf61d89bdc97f90a89d73534c881ec56a0369b242e0944e2cf64a553b6a5b37792887ea43a91b8e5b9dd37dcbe563b7859303ce87f6c453263a76f18fee93738a87b67a4987668f722a66dd941927aa9462bc0219ffff0372a81255f425c889f064369148706ac5d50f9bfba10e1d8849e5022d469e9ef5030b838693d6b35044617f512fddff5d6bc9fa6fd382156550ceee74d6affc00dd03aeab61f2aed01972464ee285e529918c3792de9324c3d3c675220e0f8f368e320396d9866eff8a30f412d8518243d2011e44cee99eb780f66c3d34afdd95a44f6c03fac49336ab76c110827da6a78ebed2b96f321ca090791d59868d1cc2cf6a3614031826370f3dcc321c255371489dffd0c8f410af82c9597f8264e3695a9296ae4d03f8706a86db8770d798f66d2aaad2c33adeaa1251eb7cbedd2b3057444abaf0f4037da65b49401e6269956bdec1aa2dffa1b9371e0793f9c2b6c27b666623f57c470219ffff03246e0b8cf78310326001317f2358ce348d6a6753493179eb843e5432c63337120391e01897b75c1cf3351a2d138d8208d0205eaa4e63429360d2472ec69c3f5b5a005820038a0a455a0bcc0cb93e9fe8a023d9e0c88e31dc195ad141afe2007cd298df0049d744b204bd842c0000033c5c2b99fde8a49b512a99fd560bb9af76e804a2ad75c6d0b1bc707a38f4a49503a5003c74b3e2ab9ee4d95b96728d4a4ca5d0e8d7516a071fa4a03b7d30624e9b03fae08085a45173b950aabd6749688a1a62c2c6eae381291bd3cd6e3ee478f1a7005820030ac1445d13c9f8e55a6680af2fa09f0bb645a0654bb0d2a5fcba486f86d6804101035c3351e8e102ad69c6524e131fb0a77bed41c6fba6fc22cd8cae2a321ec916fb03084608875e4573b8a321c3f95c2344d9b0ec9c2147625f3ff3776115c4df8b8203eec1563c005a83dd3788858ddaf13164f9f5bd3eaf7af4379c09b80ccbb13fb3031d459c9c2618585cce544bf1553f46bd90b36bb19ca6c65f8007f85053f2639a038e15b56080f4d1f9d7121e825858443d419dd5b4b0738819e19ec950e708cbe600582003a5f333dffca51b8adc4043e5686eb7a4ad4f6a907c92eb47550f647700bf30496c6b935b8bbd40000003fede012a71245311a5b8a36d86bbf7f0e68e6b80388d2e882216c85da09fbec5037e9b666f1b36f731577446d07a782084aefbf6cdffea2e4e10c29e9de694166b00581f020a1753bb6403a8f4565264dbcf319bb1ca587f7bb16958b969cb6d4e00e849305afc99fb4070000000581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054de9228a6a71efe766c463e2deb645bcc3657d80200581f03b057edb4edcd5e683caabb8b32da501ccd0a66c7373cc860775603975ce0448a20bbbc021902010219801003c51cf522c0c8807abf0a96ca05a47b3206768559773e55a22e8c301c33f6253c0378bfc65cae1789bcdfcb415c1fa72f3adc99ffa75fe00d6202e84df3fd428ca70219ffff03fe072628f75b49e4dbeeb7e5c40d85c14dbc2171f19556077fb08db20f48ef660327e33a39c1d2436c9cbb240c976c4dd326efd7c7284d4e9875631ca0376ce8d503f4a19ddd07ffa9437d01045b113cc2685e8a8e519c462e5b274e1479a7dadf3c0309deae248ce937bf32b2b8409011e792c08dc7bfe52bff4b40dc6feea083d4940343c53c8844acf733f952aa52519c9ea0ccbb08a92becb06cea7491bc3685c90f0345b1a08a4b9db8ce0300c76609be9ac3f336860334fd12438be7dbe21221211303a9d4dfb884a31bf69389ba359baf8a31c719b6719a253e5cbc07db3029d9a40d03c134b94e4529e1af2e59d5aec6746c08702e42bba3e273bd4d3a4276a21b0e65035ed6d53b4638ba5352af583ab89ccd4204b8a8d28bb0d1b24d8d4e699144f30403a6c3d25efc04e8c58d5349ae2194d1ac8886d1b0cff3362f522b4f05f558488f03d5114d314a2cd38461d273519b6af99a96a46a6aa02f660d26fc7ad5c44bedbd0304df99cdce9c0fad70d495391130e31821700710a9769414a6af8fa14b946524030ec7e58edb5fb9e71436fc5a6dd2fc2050f2ae501bab6cc11ae6adfe51b4767a03d5e377e542521f67c4f4c83c7b5dd28f8588b11e13314819943a907d3a97bca0005820032113fd9a24ede69226f9757b84a8015e108ab186b5184df9183d4472c1a6c0493146e8bbe95e140000033f30c4cffd33bece039686a8e6206ee670be7fc5bd4807227bdc77de77e43b36038dd222ec334114ec47bd51f90508c922b2306229f2614d00d1c64244c004a3be03b78072f64efa5382675cd985dcc33173d82d9bac2eb4cfd91a14b3726767d7b20300ef9f655cc8e9530bafccd409a7465380ae0fcf3444d7e46e653145936f3abd03c9b5a61cd2d57dd3deba4ae406ef07237105a549513efc85d4b7ef28af3704e8035cefe7eabe78e05223ce4b71c16bee27b290727100854ed8155faff6dc12d09303b1af3bd982be8f73ec3441bfa86f7e26c4692b81640daeb490b87d5eee01795a03da268f336f7d3001a33f5d64b484a50e4f0d8b1c98f911c797b7e1e0bd62a6b003b0dc980d4fe0ad9663f67bc9f33f4c03b0ac2505e70ecc974b5da7e2971dacc00306403adb35c4a176125aaa901e5d69e5b4565a5a7441cf20a7ef5a68642fa4b50356fa85c221a112d1bdfce05c97a0c2a4c1bfe2acd9bb190d6288b138d7e6c93100582003b4fa522aa8a273a00cee4e7277d26728a70dc7f102dd3fd7784a1cec5a6b204a02aac6bcc8d47cec00000324e05557b25af82f7cf425beb07ae29ed9bf519cf1856ca0e92fb30a4a3db8850219ffff0219ffff03aaaf966c670991de7522d99aa15bc848693567bc30e8876adbd7fd37225546d503e28be8f38cc303fb11d173fee0b6398361ffa93021295b7599f7b90d9a736c7403eed4eabfddcf7f69d2a3df602e4a0127558600996b4c41850fe54decca09433c0396f64ec72fc2a5c31496c94eb1396d68060f43aaf77620c01905379b13aedc2e0331e3ee3875db71fc80470a509238f3757a30ca7edb0b04e7ab3c5f11b817fdbe0358ab9baf72e0b77ed763d08beb9f38d6625c99f0fabe6a29f10b88ee15eb00c003fcaf8d1f67bb195fe5903d689ae424290b65cc0b454165625d6d6e4949df83d003006640aed0babef2803c06df87f44a38ca346df289ebbca073cabbff21cbc53d039e4aae3f681ae7bf2837a25e55b3a142e9b3fd12d03cc63c768f111c67afa477038270f4551d382f5101a35c05132e976cca893b38f2f2fa20d7dcc48a5b1af7df033cde9ec1ea6ba81b6b76fdc6f54f853dd541e79d01a4eb589c21e4808a5d2fd303c9bf573960b14c4289e07fd55b7b19ff38c71945b9095c3dc9a134a968180eaa005820034666746964e661674efc13c10bf07215b7b84e2f870f04926e1b7eeab6a1604a07390d76dec5d6d400000348e309bb915c341d225952c22d52330cdae62ba20a8878956797ff15d46b0e89033f3a75cada6cd2dea89f6e0806cb834ffd594f2eeb02c6111aa4e4def637a8cf03bec54f49e9d6ee791189e83f328c3a63147d3e8a46b1fa1a90ebf776657b369200581f0232790540eff9d5c0f3077f38a0d87b9bee2edfe29133ad56a67c45602cc6410100581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54a9d733adafb561f117a72a71c3ff5c0e2c94da6900581f02346c9aa4dfead28921e8bbc2dc05dabe8c6ce1ed02c65e4b96adc988dfd34905f68e8131ecf8000000581f02d449c96f047ebef744960bd4405394de7c5a06d1272a8cc03e509a0867a4492f534f0aa5d404000000581f0257b68705e834ec499ff24ca459fa5a1780bbc7f390706ca4fee0dd9e6450410102197005039608bd898137b40803f0fa8b941ed230339a22bceeb2974093d514f646ccfaed0058200390121a53704fc5ecc3637a93c83008456c034cc64b0a29a5592651819987b04964816b291646380000005820038678d2491694254769155dd5ff3f87c5524049aaef040f7c8ad9136a1935f04a02fe18e5b5747c50000003e7b16f642458e5cc88dca423d133ca5312b9bc303e070946f3da109a5f485e1e0219ffbf036855cec6d5db1f3750b5686536ea7bba9eef9c79db38671747ab49a41ee195ba0376fcd1d0564fecd717ad00c4a103513d2730b300d058df1dd604eb5b5f4bb7c503513d6338e513164f2d0445a63bf7a9d3a0afb2bdbf6b4be50b5853d55af3d5230366add210f4ba8444b2fac0eff682f158ee0618acbcf88b9c8eea295a8b9c2cc5033764e7aa6918d3e085212c5e1646a5740a6f0743affa2ebe77e71b34ec4f83ff0330fe8ae3f1f01af2c568f77252fec0c78eca95ffd2fba86dbdaa4a1678126805039c98262f539c4650772f2efe4978a08f0546dc5c89434ce6514c38382661d8d7035938ce78d389d08b6df2dca1ab17b74d6a72a93018e6fdfbedba5c04620b1c6a035448d3de49aa6ac4b52f2842d42bfcba9b093be579e8568fea2234d910ad216a033fe3a99f45df8d23c3fc85947fa00e48eba9e7c654d58f3bf1fa2fe4fc066a110219ffff03c231d59556fd11aeee1f3e260260ca1332c29656734c215ffb08ccf1dbcf61e603c3870a9772b2646d552d42416a72ea5106dbed229662db797f2e8810f0c79de003ee29172218c485da24528631c50bf25476a7bea330a6c133e4c9b8834ddc573003c6f417676db172f63b8369ec7b30a9eaf01dd0c0ecb73b49eef8d7a247f3188c03cf09ecc2c3974a552ea8dc257aac6f5585984e3fc702158fcc3cf12c8546b79d038b0aa78cfe3918f83196afc18a640141b138eb5103bc045bf880a8c93b45505103502d54bdd911f6cb293530dc37df73d8724564bb06168564bfae3fba5123b09e03d6eb916d48165df19d7243741ac60d9ddb07636058d2309b2332ea9e9593f25f03f420e21e631ebd8324772e2a4ded26176aaf06476f7c0b4bc81d184102a064f5039f1e3fd6bfc81949185eca51e9eb7ad3f1e4ca9cc168213fd39b02b1ac92141203bc5ff79f61abe33d03a276c73a0cd3ab6f71e144e980c911d3cda548626241280058200378b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e054b11db272ebfabedf611a07684e82165db60dc70e03f4c74c410f63cee511abafc3777ea1ba199a2725cbaeed59038db4407844dcaa034844eae2faa64dfd93228a48174f40df12613dbeb4576063f3cb8577f03f94c903de269a68d057dab1d5dba5de63e67e185fa65dd1e74e40ba3f8205670102a899036daec3a70c866471316d5a70aaf9c988d977ae14fd6327e85f00d64ae8cb504803d90c1b7f56ee9ad80b77f282edf0e9e031b504aa02fc217a238874ef9e75ffb903e3340e3f6025cfc01267a7c9cd8a3632ec42b7133f2813c6c8b2083c05333ee70219fffb033aa870438797b8180a22ecd8e1786b871c9a332e9da2efe66a62b048425345bb03f37224616681ab5cff5a0203b7e27085476ed929baa65db924d2669804a0ca1703ff55a0b9cb89f5fc24bb0be87c69723dea01e90f3d33c32a3e5edc762efcbe8003e769b779157754cbc0263978c9687fb3f789981248806a9f2ed46c0dcfcd135703dd0abcca9fa4427c6edd2eae33b062420894d9cf7cce4d7a080d11c81398900003cb72a3e873f4fabbc5a1df7f328a6f2534c35f97d9f3ae6478d9628bb8af38c9031b58d58dba9d9413af1e38979a2667fb4dffcbff2bc4910771652f855b9dfa050306f74fae20b439d01cded94f68e3aa6dbe4eab2384165365fa9adc1dfdac2281037d8c4aa07d15a4e6f03dc751baca9483ace13ae940b26899c07efeab23ea3fd0033365a2be4f833897509d497dc81aabb7d10a75e2a5a1b6db721358d9026c0c3103dc89319c1403942c85a4d671d7d33307bee197fd2f0e755ae6583dd55bc233e703f5c4e9d0688dd5ef6ec30d51b7535afee0818f077755b803ba211f2143b235e60219ffff0328cdc36a7b1ce529e76652f9d3bdfb954e4ec8357a0e5c869f8919a4ded11fa9032b26b7ae1d7ee69e2641aa13da86cc68b3ab2a591a093d0f036a3c7620da711d0336ce9790c4d864805e1deb4ddc82e4e1fc6f810c811f6aa24a6480eddba85d6d03b98581c5f82438ab0c27a66d4a44c7b5e5fc16a1250936d2a609fb302b7e02740334bfd933c62f049dd41405bf6545dcbf77319b11caf453f7e907ef4cc8315f75037c270910f87750ea4d2b3ce136baa826065c8b1a4123f5c71493f0a3c7f6faf8035c87769b62ef38fd382575b04e28991c40a0fb0bfa6d0d54cf472818b0cebb5c0305b7f4ff548df5726a60e64614daa104c4a690a6790f9d64c5d85a4ae17cbca403e5fa52af8504e839f4c8a46222ffd0432bbfef5b2284bee2f05332acdf5623c4038f23c159c94523f46f31291366427f23af2349a40f8c31406781b89c1754c9900365044dfb80045816c5cdbb1145fe7819b0dd7ff3e99e6671bdb46ec3772c3aae03e9f4e7411cddcf775a4d1005ca1b5fab82430a0fa740e200a392015886d9243403e07f9f80f750b4ba13ba2612ee0022a6b5a5f67a75fbcdee9d8d17cad307ab3203a7d369f510f197ad6a1e9c26115e102774517922eace3a802487e0156ed52847034610fe2798fc64ba53754d3030d32210594f866d20a91f75924bab89f867c19703ab1b49e93fc96dbe3840b9f41edf3c31dcb131f2962c89c4e9683c930d7aefeb0314f9b178062abcd6f3787b5222ae4e30fbdac9f3f65460bc3c7a252591290c8b00582003ca0ecc45a37260e226c758ea46ff0b4d0e1a0e2c61221629012764bb831200492a48acab6204b00000037ac438e3b2d3b4136593df637e23850da13d86db3dc1d60b976bb036f7a8d29a03125bfbf2eb88b5ee0e7dbb96a0d0a400b86017b8934fa3a3b06846dab53e4c9b033459d20487c5bfacf2fe92caa5bae54344ad3ec52aa4cc66c5b07565bbc8b35c00581f0282fd46dd71c5f512301ab049782450b4eaf79fdac5443d93d274d3916786550136e6f26393b5cc4ea4045c03d08e0f56bb4772c100581f026c01c857b2d59d25bf15d27e5146e8001ed106f4f232cdd467b7979035624947efd30d40af5c000000581f02f095047519cb393136e4d897f2c0497becae2cca7f3d727b68d0ce0db86f4945ee58a5497de800000219038003dab850a3b293f4e1aca4b65af1107e2c621150b3b828eb7d6842c33df62194f8038bad33d22dbc14ca1997949ab99f1cd129ba39ea2e6500f30b5e6008d7ee0a9700582003ae5f08aeca61bae5e804ed91d2b7684918ab7f74f13f8e81cdee70bd6e1df049eabad23aad41680000030ce67b6008ba4df8d04ee2503a7bb337fdd753478d68d16aff3629cf35f8ee4103d528da488fc22c55d293415af81ccc785f0ff51e22eaac734e05a3d168e4eaa303a830d8e7decb8bab0eb25754fba1f7f076d48254d76f2fda46a1d7ea7ce6d3ee00582003594e3336de1d6808e84b2cbabfb52ea7547bfe720b77465af3190682ff90104a01956218e3dba31800000331352646d7eddc4cef3a30d273a87086ee06ea8d68d5deab475a60aa9a118e2403015a8f4bee1d9df06db5ab0f16328c78ef7322d375e35f41e182eafb5ad9fa870219ffff030d2fe0f29b537693cfeffa17bf091fc1d2d60de818507487a51f4f6fd7e1e69f03e7c00b8035b388e8d824bb09f02a46afae80288eec48f9e9bff304335916cfb803b12df18585241413ced895a3cc877040cfedd3aa909762812073c2503843799a0219ffff03893444539ede3457c8db69c0ea8151f99687525b8bde815be734cf9e91c71dda03dac70b99d79e1e33004e91f12a6786d80aa3e5653ab1a7ecd99c234f3b90ac7203071bac7e57359dfbf0ff46b2188f31bb516c8846b743d85a240baf0a7d6a2abb0219ffff05581e03e7c521dbab0a75b8601111cbea14d23199bdbbeb471820490b84be5700070119084003b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000035d8affc676620c1e6a84cbde289c9605abefac28f3d8929baf4da87e6726417a05581e037775b3a3cf92865e5f1a910f1c8f78f8ab7538d5b5f6faf11cb0da833007011bffffffffffffffff03707b8d1d485409a338f935b8e2e888a1d6c81de5d1f0023b916ccd424dfafb6d02199dda030f3d146d1aa9eacd678a4c1f4695f82464d449d8d3562f53a16d79c4e7ff460e03687ee4ef45a6f13a3bfbbd33b28ae68788e7e13163481869199592823b0091f703f51e5f54be89aba986fd98423e5aad6c21d1d383002bd753c010d191164e8a7a0219ffff0219ffff03c6d6512201e4017135ef73906ecee8120f16d7d386c0caf14502bff698cc8def036c2051bf5676473670622b67327768c57e7bf8d3e6d2c0bbf9113e32695b19a20219ffff03970be95ef77f491f1aa2e5822d0221b733098a10d8d7f5c757ffa2f1a1caece403d4331408e4372bdc42a4ef92becf6a0798cede3b5614ef2e50608e1ceba90005038dd0bc60865bcf7c65b9fb8c82034d94761179a5932404fe87d1b4581219329d03ef09519aba76dbefd2269faea5f1b1a13973eb251dee309b7ea1a0112dae075503e9bff438afb145dc9c8da121cba1faa8099f27409dc366b6c9da30b9ade8bd0903914a7b1c89829373779becf82c205f41375170a734d98b942a70cec88f38b050032e16fe0132d91f2836cebc1553016ceac8d101f7898be49ef7c36bf6fbc0729c03963f108bc3f76b1f6e60d157de57c63dc892d3587238da627a01a6e98c1f73e403274e92ab0b42808880867bfb34f916a1e08173186ab0caca708cad260250ede1031187e2902124020ea1d3e9a9148c55e821f31008e52d1d9c77a7b51357268ed50335476e4c74bd576497dced9d5a74f4625a90c170efbe1940ed63f3e6a14e6ecb03bc25ee9e56f09191173ac1a00fa81bbfaa05c1109ce50f8e09063fab1ade1f2503bd518b8fb62be0e27b8436c9ea8246ef04ec42de2ad0bc6d35838d8472d270f00303766af66440d43d66d617487dd72e49d200c2a8bfb5d415c1fcb40737fff910032a9382022480df30588b40434b11fb9e4dd98c188277cf212379a483acadf45603478953bf6d343cb678fbabbb60bc6b95c7e08ebe77be2b08f631bac8f5d9575d0305ebbd9cd3100c4f50fe351fd8e676c05676b67cdb4da99becdcbee7fdc11da40397e772a7096fbb88f020d63f4ac2a377821352cb76f0a7f5c9a2ee519fa9598c0366e96e333ba7ab62b668d337056fb0f99f1cf507aff817d345f8c138b048d12a03e3e49ec165e805d9e52d21fc5808efebfcd82ee3e56702ca8a46df139c15e77603b7b471a4d51493812aa996b158d14aae3799e01ba32d54da6ccf77cb33406ce60365d9315330986b211daa673fdb0048ef01d14fa6771799129d1faf657c7ae4a103fe4fa217ad0a1553cac11ab64d8da64953dce413507a31c61ef522c28091dc9e05581e03500bc90564c87ff97e9a7d40e055f84adf74493b2f1977ea0cd3de92e00c034742e6ffaf07fea804591b37608060405234801561000f575f80fd5b506004361061004a575f3560e01c806301e4d72a1461022f57806301ffc9a71461027857806317b1f9421461029b5780632e778efc146102ae575b5f3660607fffffffff000000000000000000000000000000000000000000000000000000008335167f0b9fa6f50000000000000000000000000000000000000000000000000000000081016100e4575f6100a7366004818461136b565b8101906100b491906113b3565b90505f6100c4366024818461136b565b8101906100d191906113d5565b90506100dd82826102c4565b5050610222565b7f587b47f4000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000082160161015c576101356102e7565b60405160200161014591906113f4565b604051602081830303815290604052915050610224565b7f8200a587000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000821601610215575f6101b3366004818461136b565b8101906101c091906113b3565b90506101f08173ffffffffffffffffffffffffffffffffffffffff165f9081526020819052604090205460ff1690565b6040805191151560208301520160405160208183030381529060405292505050610224565b6354c91b875f526004601cfd5b505b915050805190602001f35b61024261023d36600461144d565b6103bb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b61028b610286366004611485565b610751565b604051901515815260200161026f565b6102426102a936600461144d565b610761565b6102b6610802565b60405161026f92919061152f565b6102cc6108cf565b806102de576102da82610907565b5050565b6102da82610987565b6040517f66a2489f0000000000000000000000000000000000000000000000000000000081523060048201526060907f000000000000000000000000000000657e498d54000053b69bdaad008a001dbf73ffffffffffffffffffffffffffffffffffffffff16906366a2489f906024015f60405180830381865afa158015610371573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526103b6919081019061166f565b905090565b5f3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000068f116a894984e2db1123eb395161461042b576040517f979a7ba000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610433610a03565b365f61044260a0850185611709565b909250905083355f80602460c435018035607e81101561046d5763d232fd2c5f52846020526024601cfd5b50602081013560f81c801561048d5763641157745f52846020526024601cfd5b50607d81013560f81c91506007821060018311166009831117156104bc5763267879995f52836020526024601cfd5b6035013560c01c9150428210156104e25763165460715f5281602052826040526044601cfd5b60a435602401358061055657632be762245f526060602052600160405283606052602a6080527f436f6e73696465726174696f6e206d7573742068617665206174206c6561737460a0527f206f6e65206974656d2e0000000000000000000000000000000000000000000060c05260c4601cfd5b505f61056184610a1c565b9050365f610573605d601d898b61136b565b91509150365f600286101561059957610590607e605d8b8d61136b565b915091506105f6565b856007036105c95760a68910156105bb5763d232fd2c5f52876020526024601cfd5b61059060a6605d8b8d61136b565b60928910156105e35763d232fd2c5f52876020526024601cfd5b6105f16092605d8b8d61136b565b915091505b5f61060486898b8686610a85565b90505f61064c610612610b32565b7f19010000000000000000000000000000000000000000000000000000000000005f90815260029190915260228481526042822091905290565b90505f61068e8288888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610c0f92505050565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526020819052604090205490915060ff16610712576040517f17c3008900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602481018c905260440160405180910390fd5b61071d8f6001610c9b565b507f01e4d72a000000000000000000000000000000000000000000000000000000009e9d5050505050505050505050505050565b5f61075b8261119d565b92915050565b5f3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000068f116a894984e2db1123eb39516146107d1576040517f979a7ba000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107db825f610c9b565b507f17b1f94200000000000000000000000000000000000000000000000000000000919050565b604080516001808252818301909252606091829190816020015b604080518082019091525f81526060602082015281526020019060019003908161081c5790505090506007815f8151811061085957610859611771565b6020908102919091010151525f8080808061087261127d565b9450945094509450945083965084838383604051602001610896949392919061179e565b604051602081830303815290604052865f815181106108b7576108b7611771565b60200260200101516020018190525050505050509091565b7f000000000000000000000000000000657e498d54000053b69bdaad008a001dbf33811461090457636d5769be5f526004601cfd5b50565b73ffffffffffffffffffffffffffffffffffffffff81165f818152602081815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905590519182527f3525e22824a8a7df2c9a6029941c824cf95b6447f1e13d5128fd3826d35afe8b91015b60405180910390a150565b73ffffffffffffffffffffffffffffffffffffffff81165f818152602081815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590519182527f47d1c22a25bb3a5d4e481b9b1e6944c2eade3181a0a20b495ed61d35b5323f24910161097c565b602060043514610a1a576346d5d8955f526004601cfd5b565b60c435604581013560601c906044359060a2013560a43560840135828414158415151615610a5d57631bcf9bb75f528360205282604052846060526064601cfd5b808214610a7d5763b36c03e85f528160205280604052846060526064601cfd5b505050919050565b5f7f58d1345cbd7d0ceb38b86441d42a4086bc412b7f1ed7d947a569ed7d68b1b7908686868686604051610aba92919061180c565b604051908190038120610b11959493929160200194855273ffffffffffffffffffffffffffffffffffffffff93909316602085015267ffffffffffffffff9190911660408401526060830152608082015260a00190565b60405160208183030381529060405280519060200120905095945050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000014614610bea575060408051608080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f9081527f9d5b9438a9d7eeaa076af4212c6fe8fab33591a0bc22cc712826de09a81ab4476020527f88f72b566ae0c96f6fffac4bc8ac74909f61512ac0c06a8124d5ed420d306f90855246606090815230845260a08220949095529093529190915290565b507f8a806758477d159b24ea61747ac59cb52cfa39babd73268db8a19fc5d34953a790565b5f805f525f82516020840380518260410360018111610c8f57604087015160608801515f1a95508115610c6e57601b8160ff1c0195507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811660408901525b85885288845260205f60808660015afa5082845284885260408801525f5195505b50905250909392505050565b5f610ca960a0840184611709565b605d818110610cba57610cba611771565b919091013560f81c9150506002811015610cd357505050565b5f610ce160a0850185611709565b610cf091609291607e9161136b565b610cf99161181b565b60601c90505f80806001610d106080890189611863565b5f818110610d2057610d20611771565b610d3692602060a09092020190810191506118c6565b6005811115610d4757610d476118e4565b1115610dde57610d5a6080880188611863565b5f818110610d6a57610d6a611771565b905060a002016020016020810190610d8291906113b3565b9250610d916080880188611863565b5f818110610da157610da1611771565b905060a00201604001359150868060800190610dbd9190611863565b5f818110610dcd57610dcd611771565b905060a00201606001359050610e6b565b610deb6060880188611911565b5f818110610dfb57610dfb611771565b9050608002016020016020810190610e1391906113b3565b9250610e226060880188611911565b5f818110610e3257610e32611771565b905060800201604001359150868060600190610e4e9190611911565b5f818110610e5e57610e5e611771565b9050608002016060013590505b8460ff16600703610fb3575f610e8460a0890189611709565b610e939160a69160929161136b565b610e9c9161181b565b60601c90508615610f30576040517f5079331500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff828116600483015285811660248301528616906350793315906044015f604051808303815f87803b158015610f15575f80fd5b505af1158015610f27573d5f803e3d5ffd5b50505050610fad565b6040517f0ad3889900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152861690630ad38899906024015f604051808303815f87803b158015610f96575f80fd5b505af1158015610fa8573d5f803e3d5ffd5b505050505b50611194565b8460ff166008036110a857851561104d576040517f3a0e316000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052851690633a0e3160906044015b5f604051808303815f87803b158015611032575f80fd5b505af1158015611044573d5f803e3d5ffd5b50505050611194565b6040517fb89c4b0d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063b89c4b0d9060440161101b565b8515611110576040517f28cc113100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052604482018390528516906328cc11319060640161101b565b6040517fb6e39ba100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063b6e39ba1906044015f604051808303815f87803b15801561117d575f80fd5b505af115801561118f573d5f803e3d5ffd5b505050505b50505050505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f2e778efc00000000000000000000000000000000000000000000000000000000148061122f57507fffffffff0000000000000000000000000000000000000000000000000000000082167f39dd693300000000000000000000000000000000000000000000000000000000145b8061075b5750507fffffffff00000000000000000000000000000000000000000000000000000000167f01ffc9a7000000000000000000000000000000000000000000000000000000001490565b5f60608060608061128c610b32565b6040517f04789c980000000000000000000000000000000000000000000000000000000081523060048201529095507f000000000000000000000000000000657e498d54000053b69bdaad008a001dbf73ffffffffffffffffffffffffffffffffffffffff16906304789c98906024015f60405180830381865afa158015611316573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261135b91908101906119fc565b9899929891975095509350915050565b5f8085851115611379575f80fd5b83861115611385575f80fd5b5050820193919092039150565b73ffffffffffffffffffffffffffffffffffffffff81168114610904575f80fd5b5f602082840312156113c3575f80fd5b81356113ce81611392565b9392505050565b5f602082840312156113e5575f80fd5b813580151581146113ce575f80fd5b602080825282518282018190525f9190848201906040850190845b8181101561144157835173ffffffffffffffffffffffffffffffffffffffff168352928401929184019160010161140f565b50909695505050505050565b5f6020828403121561145d575f80fd5b813567ffffffffffffffff811115611473575f80fd5b820161014081850312156113ce575f80fd5b5f60208284031215611495575f80fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146113ce575f80fd5b5f5b838110156114de5781810151838201526020016114c6565b50505f910152565b5f81518084526114fd8160208601602086016114c4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b5f604080835261154260408401866114e6565b6020848203818601528186518084528284019150828160051b8501018389015f5b838110156115c0578683037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00185528151805184528601518684018990526115ad898501826114e6565b9587019593505090850190600101611563565b50909a9950505050505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611644576116446115d0565b604052919050565b5f67ffffffffffffffff821115611665576116656115d0565b5060051b60200190565b5f6020808385031215611680575f80fd5b825167ffffffffffffffff811115611696575f80fd5b8301601f810185136116a6575f80fd5b80516116b96116b48261164c565b6115fd565b81815260059190911b820183019083810190878311156116d7575f80fd5b928401925b828410156116fe5783516116ef81611392565b825292840192908401906116dc565b979650505050505050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261173c575f80fd5b83018035915067ffffffffffffffff821115611756575f80fd5b60200191503681900382131561176a575f80fd5b9250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8481525f6020608060208401526117b860808401876114e6565b8381036040850152855180825260208088019201905f5b818110156117eb578351835292840192918401916001016117cf565b505084810360608601526117ff81876114e6565b9998505050505050505050565b818382375f9101908152919050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000813581811691601485101561185b5780818660140360031b1b83161692505b505092915050565b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611896575f80fd5b83018035915067ffffffffffffffff8211156118b0575f80fd5b602001915060a08102360382131561176a575f80fd5b5f602082840312156118d6575f80fd5b8135600681106113ce575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611944575f80fd5b83018035915067ffffffffffffffff82111561195e575f80fd5b6020019150600781901b360382131561176a575f80fd5b5f82601f830112611984575f80fd5b815167ffffffffffffffff81111561199e5761199e6115d0565b6119cf60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016115fd565b8181528460208386010111156119e3575f80fd5b6119f48260208301602087016114c4565b949350505050565b5f805f805f60a08688031215611a10575f80fd5b8551945060208087015167ffffffffffffffff80821115611a2f575f80fd5b611a3b8a838b01611975565b96506040890151915080821115611a50575f80fd5b611a5c8a838b01611975565b95506060890151915080821115611a71575f80fd5b818901915089601f830112611a84575f80fd5b8151611a926116b48261164c565b81815260059190911b8301840190848101908c831115611ab0575f80fd5b938501935b82851015611ace57845182529385019390850190611ab5565b60808c01519097509450505080831115611ae6575f80fd5b5050611af488828901611975565b915050929550929590935056fea26469706673582212208cf0e76ef76b2bee85dd5f1436a047bf9c87ae5f888e0b194385b99aece78a8664736f6c6343000818003300582102708c6d5755a44cc0929209cf7d054d698ad37f6d5eb6744d994947c076cd5c62410105581e03fe01c008fbec9ca5468c2fbb2d0f8020af1fab2af56d8feccf96601d700701191b3705581e0365669afc0739b465d94991f4d34842064f666abc1f685de78e03992930040105581e0347065e53452c67e5eeab552ea732426755c9f347795807a1b6801857f00c0347028961145ea00003f91845412687c24991618fa5eed702ecf546f43e8b4cc802404e4558afdc49280142000b05581e03aac5dc93e7f50b93140b52763cba16c91e4c682f3dcb09973f768f03300c0947019eac88a629cd03d6b11caa1aa4840654c33af724c793bbe166df60147d73511a38c0290f776ad505581e03934c57758c086f41d98268ad93ed59250486865c0f877e67de735d97f00c0147026264f9adf44003df00d573cc77cfb49fbbecd3f0e372c298981119987045bc77a0e84c5e86d30205581e03bf103a8c0000fdb52104806c485c643f18020f1f94f56051ae47fab4500847028ed6103d000003a78cdae28b144745254c93dd948f4ab2615bb7d5ec287ee6bdb585707577430f0219f7cf0397749008c17981689ca9c66b2474e4c2b10b6a5d768f24a2a039ba98af434b0f0350a372681daea8898df61f0683377f2706bc71925c7a972c38c9ff622b7127350394eee1bdf6023294f505f7cd49d337c1a3fd6a6e26f2790149a653ea28c715df0219ffff03e1d5e727d316695fe61ff9f766a57967b03a6903a7fd919017e9dd2278afd33b03ad74ef4104f33d54a9e026478fb0658aa7dafdf33597376ab69c38f2d8feef00033849e1d2a5dfc7d0cfda4528260f2eaf81cee706245767bb63df9038339f70c503762ed12c7e8397c2d58c27d4a3578709ed54ff87d77369a14cd81baead22ff5803f0623f8568fb33d9212ecc93391e8a1b6bffa342b5e1d00dd10509c6eb02996803eb8e0d2b3883bd27edb3aff1f52615e37baf213e676a9d8f98fcd7d7858919770321356fd35217f7d43913ec36cc84e85fd0f4d6d0db58b06b9d385af07057e0060366f7d28db7535f865128e17040a777428319eb187d8338591461cc40000f31d803c0c51a78507ab6be507ecbfac447aea19b0f0d18d89cf0fce7a7d0184547761a037212a7ee1beb42e2209645d13508e507870ae55a01e52b6fae1cfdcce48e2984034363fc86f973ea0be023900139cd7a685c18150ecc3ab5021ccb50985aa33a3e03ba6c43fc32dfedde6f81a9a9ed55ff76da97f2f64caa94e65ddf7429be573fa20219ffff03f0bdc893983b18b51b2f7c0fdeec217cb86e928dcf0680cf267c3a68bd4f5f1c03d997fda766c26110d88d751128a39d62194f55aebdc3990c7d4a7973bc5de8900396aef1fb0101fb1f150c403426f5c4f0c63a92c1b6d29dc7c30ec7f9877043f8032886f70aef9efe429827fcf78a2e51545ac9f9d5705b7f8e3ff0b5ec4d89fe5a03005fed246ecc078158fd1770b6fdcbad290236a8243942e7b2ad8fc73ac3cf9803004fc065709d2ffb15cde29724db9e9d14c1121ba1dab732560a964acbaa3d2003fee63b0562fa4625e28f4ca1dae8ae75f5e2d374c232ea4511c3858fb6c06822037f05c0cca548d25bc22ad64993f779cfa7384aadae20e6c273c9697fb4d16a2a0359050c9f60f67931372d152407929912f730b750d3b80a0172ed1af13822b27d0219ffff035d4e58cc87e185cd33a5ad263eb57225984d57c89236712b94b6a1799ab22ec103c3f5051145a82f8ca60848f74e0b345e9f4dd34a2cf5829e6dd450bb13e9f2b303eccd1b05952e18c1876d7dcc65c8139c57f67833340e56f27bfea5989d0e8a6203b0dbfc1e4fa1b3bb74a871522040eb9715f8641a441339ac78f74520a08b96d10219ffff0219ffff03d1c17cf2c4062a960ff5fe93405c6193991cb37e3445792a63c26dd5c2bb7b1103652314e88334898aa8ece45ebbcccfca708965d024eca61cb6ee801ee7aa89ae0343a2a3043c842d974a47ef15b9721e42e105a7adc1c2f5c1857ba8cfe5d1a90703ca3ddea14b64992cf65ddef3bd62c16ead7fe73477707806bec8ed56f96975c5034ae71de593ab2bdf89eea279d0493abfef7924054fe384204aa5457084bc8783035b71cba24db4afbd3ccb7e6adb679d66a0fa72699d6d6d0d4807fe8db5524fd303737e5644d9eeecdf5ab6b1301f23b723cc023ba5f072556fdc3d622b12567e72038a8b90102fa1e8d242be3c7d289ad38a5a0a7d1e82edaa436bae62ce8c5a3e50037f097762622f903b6fe59266b72ce157e2addb2d8096ae98d1a7356b443848cf03a7f015c1c82239f2e2553ec9618c0ac027c6b9b2c972e9903ed26e3e987392c1037b1ad33c5d1435a01cf6e51dfba232c17ffdbf10d6e93ea8ab8a4ce65518a92003c5b14826a798db3132250c4215c6e70b6d2cd0973f020d8885d37439bcd8710b03a1ae92e945ea3ac89c2df584193abfa76c7206190bb6fc28151ebf5b9a48310c038473b1352f1361ae5390e443c15b24b06f8bae2d011d0e62b32c4e1ed7c1f8e9032ca77a8b9d8707825cf594c9aed280185c2fc488444740b711e2713358a2da8303cfceedbb4a5244b53e0bb544885c42c860184adac8c9251995ee61df38e4ef68036cbd66a348a4399f25e5af12cf70c07f28bd1d4890a0ef6adeb10a71afb8bf5503cf4f8579e4b4930422a42ec10cd589627bb2857e4eb87cd75a1180b14a89148c0356681d9fe489ca11716d5da01f1377adaa9a7eeb64d086a2a481e4a552aeb5480372a9781948c4e4903a2c3c69f1f9a0a963358a6905cf6f0337599db9db2f96550341e80dc49d6836543cd6dd1064f96d778f911f8476d417513d85317e5320a233038697714fd3eb8af784da3c75525b675e9447d9bfd6a0241896a3a2d6493f22280383c1d5a5f40c2caa3644d49249d842efa38de82725028acfe22380040214241d033244daa4cf4301f8440dccf69630e5c8517b6efabdb7267027789b184706e3840383afad1791b855ec85c5ff9e4707cf9134e4c8cd54e8b74fb328e0bff3ba519f05581e035cee0aa302f6eb259ea34056ff2d7f97db2f6bbaf48795b354a7a48600040105581e037fbc9d5f6ec49a1e72aa64ccf59c38e3dc6e59bb50ac384f8df5385cb00c034705083e0aa0da1305581d02e9960b1960fd8c75f36dfabbb256fcc2c8b427fad0cdf6c4cbc3e9e40c0448011433bdd5be600004591d3c6080604052600436106100f35760003560e01c8063a5a618b11161008a578063d0949f9911610059578063d0949f991461030e578063d39bd04914610350578063df2ebdbb14610384578063e42e0ea9146103b857600080fd5b8063a5a618b1146102a1578063b3dc8da4146102b4578063bc852760146102c7578063c2157c7b146102fb57600080fd5b80636c92c185116100c65780636c92c185146101e55780636ccae054146102195780637928513314610239578063a38511051461026d57600080fd5b806324d97a4a146100f85780632f5e765f1461010f57806352283e3514610122578063678fcd611461018c575b600080fd5b34801561010457600080fd5b5061010d6103d8565b005b61010d61011d36600461175f565b61044a565b34801561012e57600080fd5b506101567fb3dc8da40000000000000000000000000000000000000000000000000000000081565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561019857600080fd5b506101c07f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a581565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610183565b3480156101f157600080fd5b506101567f2f781ab30000000000000000000000000000000000000000000000000000000081565b34801561022557600080fd5b5061010d61023436600461171e565b61059f565b34801561024557600080fd5b506101c07f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a581565b34801561027957600080fd5b506101567f0f384c7e0000000000000000000000000000000000000000000000000000000081565b61010d6102af366004611981565b6106c7565b61010d6102c236600461191a565b610bc7565b3480156102d357600080fd5b506101c07f00000000000000000000000071630095e3f08a86afc73f7b07342192adf39c5581565b61010d610309366004611653565b610f0f565b34801561031a57600080fd5b506103427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b604051908152602001610183565b34801561035c57600080fd5b506101567f2f5e765f0000000000000000000000000000000000000000000000000000000081565b34801561039057600080fd5b506101c07f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b3480156103c457600080fd5b5061010d6103d3366004611627565b61114c565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000071630095e3f08a86afc73f7b07342192adf39c551614610447576040517f38647caa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33ff5b6040517fe9e05c4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e169063e9e05c429088906104c9908c9083908d906000908a908a90600401611b85565b6000604051808303818588803b1580156104e257600080fd5b505af11580156104f6573d6000803e3d6000fd5b5050604080518a815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee811660208301529181018a905260608101889052336080820152908c1660a082015260c081018890527f74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609935060e001915061058d9050565b60405180910390a15050505050505050565b7f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561060557600080fd5b505afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d919061160a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106a1576040517fb20ca36500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106c273ffffffffffffffffffffffffffffffffffffffff84168383611291565b505050565b6040517f7095d47100000000000000000000000000000000000000000000000000000000815263ffffffff85166004820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a51690637095d4719060240160206040518083038186803b15801561075757600080fd5b505afa15801561076b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078f919061160a565b73ffffffffffffffffffffffffffffffffffffffff1685856040516107b5929190611ab5565b600060405180830381855af49150503d80600081146107f0576040519150601f19603f3d011682016040523d82523d6000602084013e6107f5565b606091505b50915091508161080757805160208201fd5b6000808280602001905181019061081e91906118ea565b915091507f74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609828287604001358860600135338a602001602081019061086391906115e6565b6040805196875273ffffffffffffffffffffffffffffffffffffffff95861660208801528601939093526060850191909152821660808401521660a0820152863560c082015260e00160405180910390a17f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109cd5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e1663e9e05c42836109556040890160208a016115e6565b8561096660c08b0160a08c01611966565b600061097560e08d018d611c23565b6040518863ffffffff1660e01b815260040161099696959493929190611b85565b6000604051808303818588803b1580156109af57600080fd5b505af11580156109c3573d6000803e3d6000fd5b5050505050610bbc565b73ffffffffffffffffffffffffffffffffffffffff811663dd62ed3e306109fa60a0890160808a016115e6565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff92831660048201529116602482015260440160206040518083038186803b158015610a6557600080fd5b505afa158015610a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9d91906118d1565b821115610af557610af5610ab760a08701608088016115e6565b73ffffffffffffffffffffffffffffffffffffffff8316907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61134f565b610b0560a08601608087016115e6565b73ffffffffffffffffffffffffffffffffffffffff1663838b252082610b3160e0890160c08a016115e6565b610b4160408a0160208b016115e6565b86610b5260c08c0160a08d01611966565b610b5f60e08d018d611c23565b6040518863ffffffff1660e01b8152600401610b819796959493929190611ac5565b600060405180830381600087803b158015610b9b57600080fd5b505af1158015610baf573d6000803e3d6000fd5b5050505050505050610bc1565b505050505b50505050565b6000610bd5828401846117ec565b60a080820151604080840151606080860151602080880151885186518e815273ffffffffffffffffffffffffffffffffffffffff98891693810193909352958201949094529182015233608082015292169282019290925260c08101919091529091507f74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d16099060e00160405180910390a17f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168160a0015173ffffffffffffffffffffffffffffffffffffffff161415610d7c57602081015160c08201516101008301516040517fe9e05c4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000049048044d57e1c92a77f79988d21fa8faf74e97e169363e9e05c42938993610d4593859291600091600401611bcf565b6000604051808303818588803b158015610d5e57600080fd5b505af1158015610d72573d6000803e3d6000fd5b5050505050610bc1565b60a081015160808201516040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff918216602482015291169063dd62ed3e9060440160206040518083038186803b158015610df357600080fd5b505afa158015610e07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2b91906118d1565b841115610e8557610e8581608001517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360a0015173ffffffffffffffffffffffffffffffffffffffff1661134f9092919063ffffffff16565b806080015173ffffffffffffffffffffffffffffffffffffffff1663838b25208260a001518360e001518460200151888660c001518761010001516040518763ffffffff1660e01b8152600401610ee196959493929190611b26565b600060405180830381600087803b158015610efb57600080fd5b505af1158015610bbc573d6000803e3d6000fd5b610f5173ffffffffffffffffffffffffffffffffffffffff8c16337f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a589611408565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8a811660248301528c169063dd62ed3e9060440160206040518083038186803b158015610fbe57600080fd5b505afa158015610fd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff691906118d1565b86111561103e5761103e73ffffffffffffffffffffffffffffffffffffffff8c168a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61134f565b6040805187815273ffffffffffffffffffffffffffffffffffffffff8d81166020830152818301879052606082018690523360808301528c1660a082015260c0810189905290517f74594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d16099181900360e00190a16040517f838b252000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a169063838b25209061110d908e9089908f908c908f908a908a90600401611ac5565b600060405180830381600087803b15801561112757600080fd5b505af115801561113b573d6000803e3d6000fd5b505050505050505050505050505050565b7f0000000000000000000000003a23f943181408eac424116af7b7790c94cb97a573ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111b257600080fd5b505afa1580156111c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ea919061160a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461124e576040517fb20ca36500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f193505050501580156106c2573d6000803e3d6000fd5b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080610bc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c4544000000000000000000000000000000000060448201526064015b60405180910390fd5b60006040517f095ea7b3000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080610bc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f415050524f56455f4641494c45440000000000000000000000000000000000006044820152606401611346565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806114c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152606401611346565b5050505050565b80356114d981611ce1565b919050565b60008083601f8401126114f057600080fd5b50813567ffffffffffffffff81111561150857600080fd5b60208301915083602082850101111561152057600080fd5b9250929050565b600082601f83011261153857600080fd5b813567ffffffffffffffff8082111561155357611553611cb2565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561159957611599611cb2565b816040528381528660208588010111156115b257600080fd5b836020870160208301376000602085830101528094505050505092915050565b803563ffffffff811681146114d957600080fd5b6000602082840312156115f857600080fd5b813561160381611ce1565b9392505050565b60006020828403121561161c57600080fd5b815161160381611ce1565b6000806040838503121561163a57600080fd5b823561164581611ce1565b946020939093013593505050565b60008060008060008060008060008060006101408c8e03121561167557600080fd5b8b3561168081611ce1565b9a5060208c013561169081611ce1565b995060408c01356116a081611ce1565b98506116ae60608d016115d2565b975060808c0135965060a08c0135955060c08c01356116cc81611ce1565b945060e08c013593506101008c013592506101208c013567ffffffffffffffff8111156116f857600080fd5b6117048e828f016114de565b915080935050809150509295989b509295989b9093969950565b60008060006060848603121561173357600080fd5b833561173e81611ce1565b9250602084013561174e81611ce1565b929592945050506040919091013590565b60008060008060008060008060e0898b03121561177b57600080fd5b883561178681611ce1565b975061179460208a016115d2565b965060408901359550606089013594506080890135935060a0890135925060c089013567ffffffffffffffff8111156117cc57600080fd5b6117d88b828c016114de565b999c989b5096995094979396929594505050565b6000602082840312156117fe57600080fd5b813567ffffffffffffffff8082111561181657600080fd5b90830190610120828603121561182b57600080fd5b611833611c88565b82358152611843602084016114ce565b60208201526040830135604082015260608301356060820152611868608084016114ce565b608082015261187960a084016114ce565b60a082015261188a60c084016115d2565b60c082015261189b60e084016114ce565b60e082015261010080840135838111156118b457600080fd5b6118c088828701611527565b918301919091525095945050505050565b6000602082840312156118e357600080fd5b5051919050565b600080604083850312156118fd57600080fd5b82519150602083015161190f81611ce1565b809150509250929050565b60008060006040848603121561192f57600080fd5b83359250602084013567ffffffffffffffff81111561194d57600080fd5b611959868287016114de565b9497909650939450505050565b60006020828403121561197857600080fd5b611603826115d2565b6000806000806060858703121561199757600080fd5b6119a0856115d2565b9350602085013567ffffffffffffffff808211156119bd57600080fd5b6119c9888389016114de565b909550935060408701359150808211156119e257600080fd5b50850161010081880312156119f657600080fd5b939692955090935050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6000815180845260005b81811015611a7057602081850181015186830182015201611a54565b81811115611a82576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8183823760009101908152919050565b600073ffffffffffffffffffffffffffffffffffffffff808a168352808916602084015280881660408401525085606083015263ffffffff8516608083015260c060a0830152611b1960c083018486611a01565b9998505050505050505050565b600073ffffffffffffffffffffffffffffffffffffffff8089168352808816602084015280871660408401525084606083015263ffffffff8416608083015260c060a0830152611b7960c0830184611a4a565b98975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8716815285602082015263ffffffff85166040820152831515606082015260a060808201526000611b7960a083018486611a01565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015263ffffffff84166040820152821515606082015260a060808201526000611c1860a0830184611a4a565b979650505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611c5857600080fd5b83018035915067ffffffffffffffff821115611c7357600080fd5b60200191503681900382131561152057600080fd5b604051610120810167ffffffffffffffff81118282101715611cac57611cac611cb2565b60405290565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114611d0357600080fd5b5056fea2646970667358221220a94c217e6659d75e3f67639b067f458b0526afec8291566781363c9a7096b50d64736f6c634300080700330605581d02a65f52428b63b513d768ba82c134747602f6170722d5fa32fb2dd5e60701191d3c05581d027a34e07ff14cd05d55a587dd7f45317ae5f1e5902c2f4849c712086f08473815c19cd6f00002192102034899b385b7d4f86a56cd919f8655b5ff131eb0486e3fb5a8119de1442892600e05581e0329590318e643357cc8d8b8eeefb8ebb8faf9a6839b5cb2268b1a5f0b70040105581e039188dfc85ca37e8b27ce87bcccf1ae8484bf5e52fbf5fb51298d3458c0040303e0f5626060f5c72622bc3e10538f3d757771c10acd93e59325c7e8ce757a2ada031039a3e4c5564d84522c511391a383101e25d39af8ad0616875670bbb59d6f5f03b717380f5c9a74d593369fc6cef2762a8f31b2801cf341b973dad0f8af7b8da30355e883e4ef79a2f38950457b402cb36e9303708ba24ab36950bb683da6b03a6405581e03c820e7e4125b1e876e3e89ad7b44a2b412a287fbc4fa6cbeb52989c65007011bffffffffffffffff05581e038419a602dd1acf0176d8ba5ffb25b210ee4286c15ab3069412a759bdb00c0147194752d25ddf7005581e03541f531f604190051400923a9c3647cb060b10a1dd99e62bccf2f2ecc004030219fbb7038213cb4f284a76faa8bc0e7964d0fd2d78d28274fe8e369d9196568aee1082e30311b3ce28dc17f9f35a0d90d441229fe89886f1d56a3f6fbab153d962d7dd0332037f4d7de0c0056b76219612b46dcd1333f4bbf60a9c9765724bdba12a9c8e76ff030b1b69b6fd9a7b6928b23526fd69ef9dc6bb2b71a83e810f599c6df1ab6e81c3032e7ba13629c88353de1c5e0babd73c74b333af06f02e9f39dd9ba355d21539990362c4f09b2b90eaf07c8269c4b2f4a6e03c16d4b67b8ba6ea3ea27879197a581603be05731886ecef6d0dcc0edf5e139edd15e244772d40a3a0ec80d13f2c6f581803ed82d26db25d5a4b71da3871a934545b107634cc81a3cb4b030c4157dbe0d1c50219ffff0338604dc497bcf02cb9cc2b656bb08044596007eaed31969cb93ae4de2ff9b57d03533bbe948e8bae22eb9709e0dc6277db1a1c876287d40c87d57d5fc953e220750219ffff03295d6ef3d52a7f1b25342adab319f50e6e25e54aacb84b7d8a00671d733c858c03144ebae83208bbb60e20bf62d05f03901a92b84e7776802927a3c3b2743ee676034693a5a47079dbdd8896fb6d2228716a392e41cc5c9906d7690def01d405e430034e28f30e9900cc49a6ac4e40cd207d0f5caf1b91fe77ab8dd208769abe08c7ca037e8a5eb4a78cc1defa70a6efb51446f9b75a98c6ecff757070c3142fd035b7b103fa21c92af1d1b78840ea50fd51e75d927829a82f53a7c79485f54339388002aa0303abd6bdd094f3935dc3b1dc0333a104461f767f1def4cb9cd738f0dcf7fa48803d15d64d8f86917e0c4340ede45e262ddde9160cf5adad5961d983e6cc37ce2a603bde45daa3fb9558d97a1c02402cbcf718ed61dc0d3cf112a09cc51fc5f6e436f03b9fe932857a81ebca5e1418eb19807e6f9c054343945e14e71e6092523411e4e035bae30c638c66469f7c32a727c4de6bb566e0429264d0cbd8c9314c259b3d98e03741d25ef33fad60461af8ad7f6c8c00118744f7f5157fa0cee0b066c68ad1359038b6ff62257aea2b57b5d705f03e973bd1d5678eeca285e257fcb58f125bd7f37035535f0e549300de1d3097cdf037603b4c0ccf545be345425d0f0fc29313ef3420219ffff038d1b3a516221d29fbb7781870e1d4cb411dc270b4fd508520e5e703a7edda22a03b44554c79e2ce35cdac3a57fb456ca90a90d3c8eb5260cdaf938ff0da405007303e5a13f4cfb69d907601e9722c3b7c64dd47fed02fd9a2343f41fedb8945f7024032c682d78788f890e8633fb41c0ac54b8f6fc7a7d365ebc36d229f47f1cbd81c7031de3d72746b00490d318502d82873ccbe8ab8b46a03e44698ecbb9a0f5cebaa3033ba1e7eda65d42edaae1eb85c75353fd46bc68634a7999c253ffe3880f0100a30387a82f0654ab1a75f185182c4b4d7c7aacc5e6a8a4dcccbc686b3f54740056d103644b2826da8cb9fb8da1be30e2522023694708aa0ce5d43bd856815c8e92880e032af05146a57ba18089a268086c1a360b02d4979da9855a4ae4e89d0a51d799b303e5554f633723ecf85f00fd516b3d1ce5e2d766848164e49fce180217f2b7c2e503096d10f243bf77eb5f4d554b853212ee97af72958710071bf4d313bb74e592300318d03100dfa2092c3c564fd610b08fa8f77c22d8bd877e1be812a8f257999a6d03cf8da305aa0f269dc39581c3a35fbe1f290c192f60de1dabcbc7e5c872acae1203f56198fd76b2556217f10bda297eda9ff3511c0bbdf06cf2d7e4d899857e91e0030877cc811111cc543e811109163b45a74a40f5c2a9045bf3fe0f2db9d363bd4c035248179f4bf2e97c5ec6291a5cb8f191d3a6a495d1f6ee1b53811242d6529f58035bf945595564d8ddfc7d4719a917471757baa7601b2dcdf949805931d18db1540334f39914633db2ec807d6a7fd0c816195ffda83921883a1de63c64e530ca12c0030d7aa8efee2d5ecea5bbbd3dbc35452c7954a7aae01767d34ba71e5a96d87cdb03cad3b86d799b25eb0b6ff12d8fc14d23cded05b973ace944a9c74ed0f29f68a8032b21472eb26dcccd5a92f263e7a52f597b2fd69f2fe190a13df50ced80d6991e034fa4a7bc0ffe874adc6b9b50241426b16b6c3d345f16a1153f24ce5f28c4d1920349b02d30a7a95ed558b4c2a2bc324925d9d65f2ab61412b9a11b933cbce442280347920b4416aef293bfdb80e47c376ae10ee84da7161161b2544e040f9a7bae1c03183b9c78569759fa2d51cc2d3a2ffdf7e4a4be7e1ec0824d2f0eca0dfc86de29035ddf1d47652990ea0853a61d347fe65c4fdd185153579597de10cc9ba1e51ed403c42967e6f24915dad0abb6e5820ece461e0246f5b7de9db1973305674b580f730381683513f32aa253382e1482f72541556fe4e99970c80c869acc1757b1c9378e033a10d1a03156f3fe3090dcb60579c3fe2fff2f50a2ca3509a17f3570daa54fea05581e03076f47f17ac030414678cac876bfbd5f2c842672819752a5ed3c642e80040305581e034cd5c11041b43474e251cdea551da0a4a1711edb77c17a43a9868952100c024502540be40005581d021ca7bcaf3b2a0e6fee7c2dab2f2bfc19c189cc7cecb677aa6dd85bb40c06471a8a7f21e0813005581d0218adec30c2ef444bc100bcd93331d7477f91ef2050d3a235614087e90c0142138802120361cf16b6e08909f7bd27cd22735e73a8d4bfa9debdade93b4987cccb3697861605581e0322834dc088bd20dde8a3bd6d86ee054806a41dc480819ee06392a30db00c0247037a53b71dd5c003d7356d3385a99e539a0ec7b0b49fa919f8b2eaf023709a625f49ab0e8cd2589a021935a7037a5592519e0f066af38987117d437815933afecf39b0598036de3be8a1d1be12038d9c26152dd4656ca7011dace93a237f3ca9af323ac0613750cfb97824bc0ba103c635b3701c22c3276040672a0ba514e1d4b87fdc8d022a38472687eeeda5a27d03009eba8408a0263f8e89be90e2269864d7ce13f52278373aa6505e6591015734033e99783c661b07bef8169ec369c05690bcdd0e2accedfcbea6c142bb02c6ac200303b50b61451a26904814196277976035310f4644828d011861f06370bd35e4060219ffff03c5df94884b8e18a904307e3fe1a51e3fa70fbbd911152f87ec4eb5a39516d68703e3306720c05419b297b466d1f0f7afe57a813c69422a5caafde25d8c4725b9320379372bd1a29ea7c0e935b6173906d4fcffa7469fd41d7ce0df7bc8f774523cc50388c859ec39aac4bfd26674dc310c1d12f2816d88d56ffbff5aea15fc9e0154b6033da6dc4dc8bd90d0d4fb6d61dc9bd6f491936c41f435fce8fb9b2419c4c8d2c8031d94cd57f078c47209f023096f643be6f1a8f0ef387d00bd86cb3f10ff20b50b03ac6710f804c60551ae81dd4fc5abda848c661dd298e77e47daea096d19f868f703e86480874e106370ceaa05ad5fffe471eae1fc368d08233bed0fabe6cbf9dc32035a8bd844bdf0d027681cb5d01e033422ef180aa2f7d7be58afe32c7ca3e63a3c03ed7f63a85e36a9ada259cb8c333c8c72ccae187dfd919c6048f312353e91eca00310d501f6782c3c51d01a5ca1a57b55b193dc6523aab42d957c32e54ee0cd462d03b4925637f95a8a6ae3f38b55f04fde557ba31df95e67a6999123f549870cbd2d030e6ac6749045af4583429c067d533815bd15c5f24d06e765ab3c1a547c5ef0e40219ffff0372699bed74cf999d7fe93008ddc2c7e72022f49b467ac62c2723b6f367d1422c0347eed7a80cf8c59f875658d5a91797787f592f3fd24f7f2d5ecab548fc0012a60219ffff038b1046a063994baeec1ee815169ff36c7215f824f9ff923d76becd2bcdc758d00338ac6acec52d5bd6db4db091b123bf97b63fefb2b630fa37b4a00c65e4329aa1033885e4710dcb57f83f16479effc74ccdf9ab0922889d349e64261da52ebc03ab0377c71e9f1f80a6d5bee37c59a03e40366e7a8e23dddc3b432375ca57354d659a03a4885b60a920502d7e7681b60860906445e74dc1e511f172c5ee119a1f7c256603727d4a931e7680fb67f58251476cf05f88ed7287ae6cd32afc16717d6cf7e00b03d4359f76cc4f6ea9ebd275e02b6976e1b2d0a825db51f075fd73eee50c5d645e039092334c261bfcb78866cef6d3879a80b5319e7eada37a1717439effd296e2fb03793db21f05de274ecd3733de03eae313dd49e4d3890be73c30a152f85e1fb0d8030907e84cbdd942a171384f0925782d89376eaea4a3e377111f6bd1e5b31d0a3c0219ffff031ef5f6959e79df9e066bdd2c6b76e10813fe0c72d3171f22b84a348d4489002003346a770f5772afcb092646f40298b82e2e247ba2b2907c98fe2105bd2be8bb3103db8d64f983e5bbda16ffbc04d61d09dc87004c62fd7862d1fa1af095f0d1c6bd03d117d312a711e25413c077d0c80247779376cd7f8cc50607e1344afc1d57246603e42f4a1a316b69186eed84344bc5c8f1f8ef35192e785b6ee5989fbfb9c919c303e81cadf72437aa33aedbe1e5a2890e086fc49a2b7feecc7466269873aa5b111d03d10f8c08a33088c5fe8422405591bc3670e08ab952ac4da4ed4b27394334d7390386a65af7fd8742ff89b2b4172d244395a86f826d266925275c770b49d12ea3f90340b4ad60ce86d8807f36b04b693509634c3371bc4131d0405fa67de048ca75d103d53df3cecfd80a57b2fe9cdd9a61c7dfecddd1e016acc29217affe91066dd9b9037fa3898e7d06e303957a18013d3e74cdeb1c1ec78451cde65eceac4337375e03031651fe92295f5316fdbbe9a131f028425ba1f99c087de5a155f4cf720ffa6b1103ee65026fe1261d05e336b69ab40bfcb9efb0415471446fce8a6e22a9f7995a13039119d41a468b28ed8644e5739d72034b24ef46fe3c5a9a02325f088d79e5c10e03a7acadb057b2dde2847ce26f1f2df63b05a9d3db63ae5390667c2a44736afd6c031535a88df99f94d7e1bf832235fe4f67048d48a97cbf019b43f560ea18ded97d035bed4c39a495cc3698fb76da52cfe7d21e1139c94d41e8139cb7543377915dcf03c6abcf362cb5cf725de80883b8eb463ea135e54cd9b6ea4611d57bcb00ad365003541efae976410a4e396c18c09793268c76167a443dc0f7c0d0df26bfb265980103bfbc062b8396c17f223fd7bc07333ec0f9eea131f201cebb300ff68bc80a58a2032a86d1ce22ea48e3c340b8daff0f6b24c0782ede4e7dee8811389a5a9664c18203f4ed526bb5574a325132c3b44acdb5a8a8703bf9068e68918b1bde744faff87603e9bc6e11199f9f0b3b9db6f91f7adac500b719b9ecc63b2d213be9799ea63e1a036bff6bcd9b222928050b534626ca589fa1e3b830ad2e7c1521b43b77fe10d42c03a4442509103b9c95da9d61d8de84f7d91f72e30fab4759d0fde973056f5a8f9f05581e03a3c2e282f475f2ea461a87dde63be75590b82111867d4487c0261cecc00c181c468a33e1a9d82b05581e033ecf1f137ff476b2877c104b8a5ca6d05e94dd7e2b52c90d92f0170b800c1647234b466310a4f003dfdb2498259a192ca85cfaad909606119e707ac09b536f2ca5f132398e633cf205581e038c659c50c0f21699f8864ebffaaa96a5af90fd70f1ee4cfcc1c11f1b00040203b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03abb3df358faa3951e944dbd54c36f8eab9dd36d6fdefec580ffc0a467007011bffffffffffffffff05581e03c05c2c0a7311b907b3e4239c2b4a0acaaf3f3386f5d4f323459c6073c00c05464fd8aa0a9d8d035a7dd6ca6dd5c82589ab15ecd8b98049f66f1efce624f01c28f63fc76da9c1d2030d8023d5dae19bf188ff4837292373862126a3120a58aef291b03c9cc49c334505581e03efe69f0f10cc2ddd14252910f3b2d4d41f42f6f18d6b8bed4c5c9c36f008472386f26fc10000038d57d86d40e8f1805bd58208b4621b841239c077da93cb89f07a303022733e8005581e036d6af885e4e8fa2c95ec4a38a6ccffce44fe8ddc1dacb8fe161f22d490040705581e031740df27ec2e9e9217fca5053176fd0cf60b8524fa2caa9b6b0d325ed0040103d1bd1685156c8029f9c250bd454eaf535bf8f8c698faa34f90b9a2383f421b050219bdef0333dbb88dfd59f5349a594964d0e0c671a2b3f789ede47ce4c5c016862c035d6e0329f93054b9ce563e76bc0845b5ce51092bc14bafd5dceda28813196323a1749303fca23bae3cff67bcef8e9a75bebd996c26d57dae443342c533da00bc99709eff03fdaccdc91acece60fb07f0e853404a6a8d34b95747e1fe5d266537da7f93f2d70398745058d372153dd4a9e210e11d00a3de56bb3dfeaf3e410f6e526c584608c0039e788862a8a417cdd2a330dd125fe79ac857c8c665e120e6be923bad1f82deb30355eaa304defe81d5751c1a507c3127c10e23f4ceb4b64cef40ea5ea14edf37e503f69266e6066fd56af6002be080d01d9dd40e845bf6c69b58abac09b68d6e441a0301eb154774c8d58e3cbfd7c071092be17fec186d237237de0dfb3982f1223497039bf6f5b41d8f5c84f450ba74394963359571cf0da76a1c6da4a59e8c47dea25a039713b578ab03db55ac30b375fb067f5399585f46feebe5a28f4f77c1afc2c0490388268e90d3b228c3733190d4586b06287b2fc58ab47e7196e191869b35139c14031e894a4d730a09502a58f3e383d7efa348b6988034b4577652a0564818581e250219ffff0351d606f8a3238083ccfa3a1b2b7d5bea1418b95f2150c1c6cc46b7bc4451bbb40370ae128e6be79015502ec6c813ce8c02a9b26d8574c82851a0f5bab2933b1ef503134cf83a18c04ce1366e463fa6dbfc8403f53b57266b0150a4ad817d6e2497f303a71fce905372eee5e0ba9a3d5973cd719e376733baaca2dee1149de11eda4fc803821a0c149d17e030cabcdae5a1eb4f2037f88cd01601abf7e2e49bff0404e669032036accbecee39d23eeb18fb48b0dee3eceb55e941e7e9f2f54497c7d47ba9d403efbb4816f63ff211e150a9f0f964cb224591b95638af14e2ce3bfd28acfcd7ff03b92b590861a58ec3a339868a40326dc8abb6a509c8ce1bbb995a3b4961f0462c0219ffff03f598c060f726ab5f8e19670118fccd018515b4dfebf754868ddd21340616be92036fc67b441b7363cdae0975ab32acd41487dcdfe7bd8cc0dda6b27146b8dfd9b00310bcc2868e4da093da29119be5d208907f69ceec59fd3689299a8ab53fe1f89003fae237d69db4993a7b5329b5e2f9c9983f2d1cf7ad5beadecd04d79d3b6c5a0b03c124c29dd0c05daa01197255e835a5f0c0b758aa8d18a3bc13fe46318da076ed03abd6545b2620e97ba8d2d688715354ebde966dfd721cd7f9a950fd2d6bf6add70395d698ce29b6a8ae0064753a3eeba2b34991c1dfa627a3d00f3f33a4cde815ba03b4d16abd62afe913cb8c9b6c74b92c88840da3465feefbae0a85c7ccc1850ad7035507e5a15f7b6c3992885270aaf54768c977d5f7205885d50bcd336c522007f1035a8c53e186cfcf0e8bf00fb3f8a388dc65f18991d499d07807659cfb1d17baf60337a4cdfecc3f87cfb07d6d3f9d03e13ccfd4c301ca28ab68f54fe20261723577031d586fcbf9f2de85dacffe14e12d1ea554d7fdfd84eeb07c3a2d814176ddd919039424098c1b7d38f52367752edffd3b42233716d5f1eb630bf9f90bf62756256d03146feae0b6a1d3a2e1134230c7c0d0a69a9249909acc0437c2798a1d5b6703e10219ffff0219ffff03571f00e6c4d1a5be7cfe7af2b51fead57ac96b25ab153461deb5ae48a480db95037ec21ccf76ee47dd2ddd3da571f70558a63383332393a37a812b25d004745674039726af5dafa7f63472da333611b2af352e9b9e0c9e37c3dbe998d5ec2158b5cd0374dd99e1fbb63ad265afea39af43c4434fd3b194fdf2c5594a1eeaa1897d9fc8032d0c8b9344e73cf888b5f3e3e13f56ede5d3e859ec1f1b867288e59c02fdecf203d430a19b32a865817e4cc9f5abd7557a9d54317357327f86e826ac4bcc08bd3703cbc58abd65bf1f0d677818ff09a9233662343c9b1525b92c8288992ae9da121c034434691d056b3c01e769e8f5059d40a2edbe5827e5c6507f4c64a96562d2337103bdfe2fc3a15823bd036949ac1b420206e1ed577d1dfbbd6fc447e81a05baeec60393cba393dd231adf67c58d7bb2cc4a8191ceb724a9ca890ce3759e13b162c6e603523120d30988bb0224c3726a670a280ec5c5ce496a69ede98fdbc336ef91999903a6e1135e2c3ad2e6f48aea127c2c80dbfba9f443a0112a309496bc6e7152b91e03eb772476e89c078236de868657c8d112547063c43c592d62412f5b1a801ccf990365de6f3a83790d4ac1d65c77a8598971b94d0b7ed22517e0413d0133de9f437f03da734bc0f7a0e0227eecc63058ab68a4ca0f372ccc8f66f8af5e2d2e6e88e5c4034f1081eb7c753e00b5e5deac9101e20b1df6bf895077be19595f61907ca4044c03b59cada476ac971adea714bc1e8c4103fe9d661740b5bfd96436042502ad301403df86ef6c919d473206f617ed5f10bc4952deafddc88e5bb655a5602e7e270965035baf512a5f81df0232feed1c08ceef3270e6fb78b8580e43aa97654f00559b22036e70f2687f59fe3db4d759960878224d96a29bbb688ada6ea1c6094592b010f403bc630e7717478c2daf45e867bb311afce045712e7839fbea7faca9951fb31eb603f4d571de19d31976057c8e2dffa2dcb73d79f2589968ca1bf39b7b9043e0a48203f898ec53abe17a1a693da0517aa9746427f22447b4dd49b16e38b62273ee9a52037bbf186afb05bb04f2763f2ad6614431eedd7401eb9fd28ba24740e762571402036c45167da50326fc100600c8ee9ca97955926501579075516bf7bc356464687a03bad3109ee458f31634d5d8f0731a8135e1ae1e15b3f120f49d65ed41117901160381cd7cc10819777cb98fe6567190ca494e668015359b96bd42eef20a6de500b8032ca6634f1f6c92cce7976dc6cc45477217908512f9326b8896c494ac65bf559c033c5e63688916317e2c198f70e61dfb06ff454d0a7f8e2ea8dc5c3c10b472934003f39705e4fae5789429154b5c150eb8c956a98dd0617d3a4f0106910ac142eeda03a0abd31e1ea4d2da123e1001400355a973e51d1bc9b4b654d22a188efe13a68c033aef7950d729dd170b7edd227a9d06082809056ba82658080efb1f9356b11cf203a9970ba7e119de5c90dc12f7a8356b536eb389b2f9db5d50f6278889581f8df003914be9f0e10c98f89a99ab3ac0f20c5b286f3b9a3bc7caf8c5d324e78772815d03cf86db486855d8a4dfbaad2e6912c43f3f3d6dc194774a3f6b75842c031fac0503f4e8d96952acbf408ee6a2ca80990067c4948e01a0f73e88b46bb88064cd971003edfe953ec7a85251b2b2155231d902d2be65472af17b4f10432d1826c7b0c19c0337881562c4ff67e0d0a4aaa7349f4d56f8cd0446b8a3c74c4c2736800c1528fe030a1c48e84357d91ad77841d9bbcd59a45f56dee70e5ba57abb0d43de00c0ef1003a4b680f8dd0a5ce26d7cee2714f2b1a34f8e4d12731a15878014ae31342548470373db2ab57c3c4775702232cda9d74fc969c982b59ee43bf7d5509694faa717b40345d6143a4f875e9865c860e7a8b2c9c4a8d30336ca0916177f21f62f8b3c554803e6202e10c290ad12e84a62ef7880661207c334c21c6152f4d9d2912780ac5512035d7b6cc25b2b4b86934976bdf8ff5a1baa8833cc0cf6eff5e4b4449e29667b5f03560b5bfb24d601e41773552259653f04592ecc99b5e02debd4729cb86944183703fea36dbe5437fc848bebea714df40f73dcbecbfb513939d0e21582080eafa0aa0339260cb177c9d00203d5658152c00c3b377fa4dcb3891787b8f7bf92445d6b9f03681768a88230ad31b383f4677fcde813893eeed9b76fac7c0bdbad118ea067f4037cf489fe01453a87b92b69e9be66e0f5b324e2170a01a2845bafbe7667ce3be703c8bab910c382db48522de9485ea5074d36e56bbf67fca52960be3f02ef8e9bc603976285267439f145ae442e387c30c8d7e5be1205701f027e7d29389d1da97ae005581d021db09304ac1a41478299226460d223721ad2df86a7953e07e9c466bb040405581d025f4c18fbb93d61b01444b4afc06c6786d64869843a0f6f5c4c0639240c18d5479021d28fcf4a1405581d02f11707e76052d4cce3b51a48aa22916485cea67b01770a5bae86aeea0c01470229e1dcab10000219420205581e03253e3e3bb2f72b733682da8d72083eda45d201a80a29c3abf2ef4c83f00c03463eed498679a803809e9818634d6edeb30bb0a8cd8483585e78cdf0f43f8baa9061ba6e8ebd0b7405581e03966e875e931d602a23e8440652c96600e3801eb36e4b762a2d18c200c00c0146434d77b6a00005581e0359286136174dd8d257d66cbdbc5dc0442ed20870a4249a47082d2689f00c03470d82c78f03b30303ec72fe7ab0f4d6e536943fcc30ddf1b06dbb64f19c38635dc9f25fb38eb3731105581e031632eb3073a6303352999b92d2d8b037eec87ec85cb2cdb1727a3823f008480109345bc6eaf54203deb85cc6f7741a2f1cdb3ff27c15bdd67d609c0ebc3421485c7dd24f8f3088f403c4e1966773354cb283f206447d8726ac67c2bdb8b79007395ef18d3058dc2a5902197b0d03c9d739c04ef7aa14b421cd6f0e876e6016c348ead3710ffdce1ccfad221893e203e17387605523bf58170ee614a04ca8cbb55c4d30cf6c6d21bfac3371f3732051034a56753bdffac2b1ed3a56e7f1c0508bcb1df03edc3852e56d9bf1aabd0d4e570219ffff03f0112d55c082e77c33b29eb48081ba4525843a1f90ef5d005dc18aa604c2fe330219ffff031deea3958ec47966bff1bf6bb29224ba2cc1d43fafea2cc2900bd0f039f46fc00393a07267b5aac41057174a35c0396cb36f84ec35f93647a40b90fa065ef7c9310219ffff03bb094f18a198a1f7ad803db6d2650e669616f5847462fedd696d4b63b19c566703459045656587b824ac43ace20055a4e91e543ad7f4a55252cb845329f77082b40346009df073faff9000a214471999b59cd507c5edb76754e402a0813a49fff4dd034748f307306f3d6603a83f99935a3b6d9a0900045e95c15a789baf89cc3d864b03f6a1e00095a245fc07c2443ee6f60ebd437f37916f7d5b16b1ffd33f5674796803659faa634c93fb014276d0bdaa457de2d0694359538781ac2a252d05dea3c4c4033a62852d62dd8c8250b40f7983b39e55ed448bca568298889f6ccb8c6cbf097c0361a237ec2bcd64829ca1491318b444c64b934a4b7f17fddb0c64dcd803da309e036af158249af3bab45e56d3cd2e4e69b06c7e362289cfbf4e12eef4da12e3c28703fb674d57f2c15346fcd96439eaa8262533dbdb117c22b5b11ff132a883667120037dfb67a11962096ca9c001e06473fd6a7081b4fe0456491a01f833810a751a3e033b57dd1c2cfb13f86818a915783cfd02b6b7380e0c55112150cbaefc935423b603e3de0170a1b2154c49f3765615192b96fbf8640658e80b577e41a40e9827010003e0e313687f1d915da0872eef01125ff16178f538a4125846e94bb5218711f86303d67ba4882a63bb172bca769fd70cf409ae323e0782b75569e1cfb6274c36739903bf81a868f091cda246b43034b9ba90a9c32332988853ed8667aa931231eb381603a32a4b41536b826a50bf23c1b83c92391ca87dbf01413a416f33624cf42dbbdd03cf23d44f5712035e824f207983b83c476645a91c9a4f87f909c4741ad3bcac3603291fcd411b559522894684c78614bff8f7863ce0825b9d4d9e2d314d23341c5f03bcfa39a0d9256c607ed525712774abb694903f2ee1c9acc8ce96fe3d8e1ce25b03212ef4f39e5de408fedba8b0780c064a51f255333f8700a6c164f50cb55cabf003a17a8cac26534fbe7583d6e6318a781b1f53fd987acef976fa833bdff7ad840d03d47d4252a92baa62620ed206cc1a923651106071aa91af42caf3c552feba22a603ef47dff3dd9116867a739889bf525fb972284db77ccc29cf7a603c6f3f6b45030345b1fbc720f30d229bd06965ee0dae8417a5c5a3cdedffb205ed4fff66348fe4033b7e28972b82a6b3d6f203d3eefcc5b749db2ef9d7f2753ff338f4678c8c6aac034bd2db3fba1f762aa1c2b12103c688894ee990ca4a2bcbddea9a2e4acfeaec8b05581e03d190b113a5f31a9485e611a1c63c12a9c93db7856508849f2eb210c7d00c024745818f401b233005581e03fcb050771262ae2482a6ac7f2f7a2debe7a40c9a9e5bb6b914b735aaa00c02473b6b6449a9316005581e03a5ad4a95fb95cfe1e514159c59bdc56d43309eebe0ae2ebb692318ffb00c02461bf3ada51c9005581e0375d7232edcb52ba30bc1e6e6819ef5d786c664c30881037b6c96b093900c024701b1de4293fae803381f0348f39aa5f970fca2bfc614aa86904b676cf93f987001d5c1ab6b44667103b184ddf07b2831e5b7fe27aa9ee8a2606376627a4a8632a3b28bf7867d0b63e205581d0293e2e127b606834c2cd6fed8eeeed897e5e96cb0f3c6678579533e5307011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02c2ea0a113e37291dcb6124a5d975e637daf32fb1556a766757af95bd07011bffffffffffffffff045911e660806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461014257806306fdde031461016b578063095ea7b3146101f557806317ffc3201461021957806318160ddd1461023c57806323b872dd14610263578063313ce5671461028d5780633f4ba83a146102b857806340c10f19146102cd57806342966c68146102f15780634e71e0c8146103095780635c975abb1461031e578063661884631461033357806370a0823114610357578063715018a6146103785780637d64bcb41461038d5780638456cb59146103a25780638da5cb5b146103b757806395d89b41146103e8578063a9059cbb146103fd578063d73dd62314610421578063dd62ed3e14610445578063e30c39781461046c578063f2fde38b14610481575b600080fd5b34801561014e57600080fd5b506101576104a2565b604080519115158252519081900360200190f35b34801561017757600080fd5b506101806104c4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020157600080fd5b50610157600160a060020a0360043516602435610552565b34801561022557600080fd5b5061023a600160a060020a036004351661057d565b005b34801561024857600080fd5b50610251610655565b60408051918252519081900360200190f35b34801561026f57600080fd5b50610157600160a060020a036004358116906024351660443561065b565b34801561029957600080fd5b506102a2610688565b6040805160ff9092168252519081900360200190f35b3480156102c457600080fd5b5061023a610691565b3480156102d957600080fd5b50610157600160a060020a0360043516602435610710565b3480156102fd57600080fd5b5061023a60043561081f565b34801561031557600080fd5b5061023a610847565b34801561032a57600080fd5b506101576108ef565b34801561033f57600080fd5b50610157600160a060020a03600435166024356108ff565b34801561036357600080fd5b50610251600160a060020a0360043516610923565b34801561038457600080fd5b5061023a61093e565b34801561039957600080fd5b506101576109c1565b3480156103ae57600080fd5b5061023a6109e6565b3480156103c357600080fd5b506103cc610a6a565b60408051600160a060020a039092168252519081900360200190f35b3480156103f457600080fd5b50610180610a7e565b34801561040957600080fd5b50610157600160a060020a0360043516602435610ad9565b34801561042d57600080fd5b50610157600160a060020a0360043516602435610afd565b34801561045157600080fd5b50610251600160a060020a0360043581169060243516610b21565b34801561047857600080fd5b506103cc610b4c565b34801561048d57600080fd5b5061023a600160a060020a0360043516610b5b565b6005547501000000000000000000000000000000000000000000900460ff1681565b6003805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561054a5780601f1061051f5761010080835404028352916020019161054a565b820191906000526020600020905b81548152906001019060200180831161052d57829003601f168201915b505050505081565b60055460009060b060020a900460ff161561056c57600080fd5b6105768383610ba6565b9392505050565b6005546000906101009004600160a060020a0316331461059c57600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156105fd57600080fd5b505af1158015610611573d6000803e3d6000fd5b505050506040513d602081101561062757600080fd5b505160055490915061065190600160a060020a03848116916101009004168363ffffffff610c0c16565b5050565b60015490565b60055460009060b060020a900460ff161561067557600080fd5b610680848484610cc4565b949350505050565b60055460ff1681565b6005546101009004600160a060020a031633146106ad57600080fd5b60055460b060020a900460ff1615156106c557600080fd5b6005805476ff00000000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6005546000906101009004600160a060020a0316331461072f57600080fd5b6005547501000000000000000000000000000000000000000000900460ff161561075857600080fd5b60015461076b908363ffffffff610e2716565b600155600160a060020a038316600090815260208190526040902054610797908363ffffffff610e2716565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a0385169160009160008051602061119b8339815191529181900360200190a350600192915050565b6005546101009004600160a060020a0316331461083b57600080fd5b61084481610e3a565b50565b600654600160a060020a0316331461085e57600080fd5b600654600554604051600160a060020a0392831692610100909204909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680546005805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0384160217905573ffffffffffffffffffffffffffffffffffffffff19169055565b60055460b060020a900460ff1681565b60055460009060b060020a900460ff161561091957600080fd5b6105768383610e44565b600160a060020a031660009081526020819052604090205490565b6005546101009004600160a060020a0316331461095a57600080fd5b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f72656e6f756e63696e67206f776e65727368697020697320626c6f636b656400604482015290519081900360640190fd5b6005546000906101009004600160a060020a031633146109e057600080fd5b50600090565b6005546101009004600160a060020a03163314610a0257600080fd5b60055460b060020a900460ff1615610a1957600080fd5b6005805476ff00000000000000000000000000000000000000000000191660b060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6005546101009004600160a060020a031681565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561054a5780601f1061051f5761010080835404028352916020019161054a565b60055460009060b060020a900460ff1615610af357600080fd5b6105768383610f33565b60055460009060b060020a900460ff1615610b1757600080fd5b6105768383611000565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600654600160a060020a031681565b6005546101009004600160a060020a03163314610b7757600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610c8857600080fd5b505af1158015610c9c573d6000803e3d6000fd5b505050506040513d6020811015610cb257600080fd5b50511515610cbf57600080fd5b505050565b600160a060020a038316600090815260208190526040812054821115610ce957600080fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054821115610d1957600080fd5b600160a060020a0383161515610d2e57600080fd5b600160a060020a038416600090815260208190526040902054610d57908363ffffffff61109916565b600160a060020a038086166000908152602081905260408082209390935590851681522054610d8c908363ffffffff610e2716565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610dce908363ffffffff61109916565b600160a060020a038086166000818152600260209081526040808320338452825291829020949094558051868152905192871693919260008051602061119b833981519152929181900390910190a35060019392505050565b81810182811015610e3457fe5b92915050565b61084433826110ab565b336000908152600260209081526040808320600160a060020a0386168452909152812054808310610e9857336000908152600260209081526040808320600160a060020a0388168452909152812055610ecd565b610ea8818463ffffffff61109916565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b33600090815260208190526040812054821115610f4f57600080fd5b600160a060020a0383161515610f6457600080fd5b33600090815260208190526040902054610f84908363ffffffff61109916565b3360009081526020819052604080822092909255600160a060020a03851681522054610fb6908363ffffffff610e2716565b600160a060020a0384166000818152602081815260409182902093909355805185815290519192339260008051602061119b8339815191529281900390910190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054611034908363ffffffff610e2716565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000828211156110a557fe5b50900390565b600160a060020a0382166000908152602081905260409020548111156110d057600080fd5b600160a060020a0382166000908152602081905260409020546110f9908263ffffffff61109916565b600160a060020a038316600090815260208190526040902055600154611125908263ffffffff61109916565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a0385169160008051602061119b8339815191529181900360200190a350505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820a1e0f5cdc96081f44eea73f352e7ef8fbfbacd306ec0f0b7275c9752d31fbe32002903d9bbd4564d5e87e093fa209507f30c8a3acbdd1917d86ed3221607041383b22d0304f05cfbea4394b0989a0f10bb481780b839793c3d076d09b7ce698058327f1103265c4a936a6a7c9824865810f01a232c45821e75dad05fb6c7e2d24f4d5db56303326e2c009e662cf1327d633df474905b7817c0a193185a3ba5cb066c99859fbc0385cda006112d7b0c78edee7c0a47351370ef1b3d9f2a6ce6b4b08ade8f85563f03a19c3df8609f0fd620c1390b5bf3e95458ef28a57370efb4613e5958d05a262e03fe698e5ff86870a6f5ca53b737907831f28e26cbb6c07255746c362da17013e503a5e4397147df3753d56a797c674614f8eccd043eb7c5274d16eab48028705c370322bc0d1f5df46336e58909ea18c126246f10745ff13b5bd1bea8ba3dc3be80b60356926be3fbbd0e00770155a451070b1ae36ddd7645edbf5d25417aff10088e260319f331ef94dedd11c5c92b6f2a43bbb6d5cbd6c662f1bb6722b264f8d9bd43b803ba539003a5f01e5caeff6c514b1da8b590a0516a7e49e42f4903047919ca29dd03bde5eb462e6c7c52a38a3b406c1f59435e7bd82f08ee0ef71a43dac30e34a9c80362286ca69ad1f2b9a54cd99ed0690398364b2a46e55f87c0a1580088d5e8a76003975c40380c0b01dd01af9910aa7e27e2d49e5ad55a5c19e3688dd90be1c2737703d763614437b10155236e1316a3c6de4ff4a466d8c32b52241880b881d8e3626603396c290432248249c56f114222834f81f11bbb8bcd258b14cd8653ebbb5511d7039d870da3a58efde0448ab5b7cd20f5c07bc42298856772c499c2d90dd02934b4030bcce7c1fd5e90563f742c81068716fc19b98052a540d46daa6523e6df35442e0322ed1ce7de19aa2b30c5647db3a551dd267444cc37dfe33aac0ea595080a0f9f00581f03efde3270fc1ce2734c0f2e9e49837c9bf092965c36dfa8854a5d7dcc0ed05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffdaa95ff00581f0337531e3c0f409b2eb51ec563cdd464193aa27cb8c022ae3dfcaaeafcd50043021c4c00581f03f4b03f697ebd2deb9c4bb542724dc56817c43ee8ba08d01840fba415de905820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc41af7400581e02fa23910e319b190a332e28bdf212cc13a5b04321001afef7a7f050ae605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3c600581e0284b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db055ca06411bd7a7296d7dbdd0050dfc846e95febeb708020a00581f03d8475854f71876137f919f4a5d52f3634d0164fc956284cc3d3860781b305820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3af50400581f03f71c21d050f40dd3fe8bb29de5776d8fd00ec6719b628a3b71a9646d4ed05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe91660900581f030f00af664db23addb2c78a8d1502dcbedb7f63bba3baa5a52aeff31cfea04d0c9f2c9cd04674edea3d77595002196469037d9a038721d6a52c5f9c63da8cbfe14dc1abebb3b30b7866b2d0f03b1c0f176c03d96c1b5c90868dffe2f359f3344351125dbec2e5bcd71d02596ed2b43964d56603421610c221caa1f2301e6cd9da4d80f3a4051359c97327cbf18d130196d6e3c5031526741157f78a318e196a41d33b8cd5257c33b3e6159f4c188bc798d2e439fb0219ffff035f71f2c369c07f087ee490011d40d08022c515f65f474531dba61bc1138943c9034a1f2138a313471b3044cc5e60b059a06672bc1f4f2938ed95a94c7ef11b4907033f2e8b315cab4e9c923149c3598d026f361fb7333be9aa15d8c59037e2efa0f903da6e3d5a8b0f071002c1d0189038707e50f683cc4e0821c2e97027a500a2b90803b7d4ef6a657cf0201fa8b46ac6a8707ebce0dacfbeb0bd5d54d35d21ce03467c0325e4eec5ea1e7d92a3fc07c673388a2ac98abffe93f2728b17e60332c775cc1203d1b16cc66e5e25ae908af040096871b3313ad7f31db38cd15061316bf2a0cf60035d60ccd4a63b6749f2ba1960854347cc490766c8cf933443e0bf57117faef3f603ec68d9815d368702cfc9a01b4a45aa7e6c0c6713580811488d29f3e0f029e0c80219ffff036a8ffc23a5d9185babc3bd93be75ba496172d9920b900b69a8544dcfa8b1a9310393b3d6810628cc9c64260f4475b751cc2b43b8fd8e3d488873e86fc737498cab03e4bae308a97c5c291a116be04d4bbb8734a3f9073919a3aaf7b2b95e3ad62e1c0362e476121bcd183ec98bdeb4fb1b137afccb3be423634f232085e1195a493a4403c3aed0048cf2078c06b70fe024a4d709a9c10a3e560481a9d0b40887e03b3d5d030b0b7b9c04763b58b457d0d36d71f72f9ea410edb80687950e032664ff5a4fda03f80588cd26f48b31eb2dc1f3f8dc7ad4fc697f08dc82abd34f0be7ee738c01e903ad2d140adc155875ea80865d959171253e2d15d86b0259c357a4e468dfeb740c037b1192a1ede50a798f58424c01239083e60c241b782dcd229a74ffeafc4d17c303ac8e9940c859edfea17f0363746d6b364b85b4fecd49b2be55407dca3fa0841a033523543f5f6c16fb3d0d95072b8eea7cb26473918ca0db50974b776d9fa57bd403b61215cd1281723f09f331eff7acd7257da28712f81dcb3ea85dbcc5ac3ef4790219ffff031c49a09beb7e09ab436929a9e2bf24aae6bda0824dc501b55efdde1fcc8724230370fef23bee3436d5f153f0b8143bf2fbd8807efbaf391f88c3bb01087e21d06e033c10263e626be9cbfabba489dc22b8ef9b68f3e13119bddcfbc6d38b7a87e4de03279e8a674f13ae87ea6bdd4fc6fcea773c8a1885503fabae3e4399b0c55a64e303acda0ff93c47bece1d6381295a5cc0c7c8f6deffe25f0d4e54a42321f75958fa030ea0406074cd2ad0e9ad5a4189b78a38ac0a67098906259740a13f9c9f4299e10348f1ef39af566e21a086dc81982dfbce1a1634b047cf9adbfc4917933ad7096103c68ee1245607ccb62d7655c0c6d5b2e3fd4997ead88b74610a157513b54cf3d70355eace23fa86ad70e8cda192a06b31df8b1984de00c04c58744daf9308ced1f703a9a631c32146350261010fa67588ca0835a4887554d9d0dab23a13ab8ef5258e03512acb2b7d333622f7ae803d187d419c973f37ba59c659c3ca01d205bbc32a68030e60e290a5282c81d7da2a2e75788eb32b8ca4afb934e049a99d1a5565f5d9ee03721a1cd31310014c6eac4d4a0f4679b96c9e86cdd4a24d9f7505e23ef4f047c3039403d2d70fee2260e06c4563088ec8bc2b3972053c7e443eb3715c400daad7390383cb83d0631968b995ab13fd70ef6ed2803fe47ae286f1e3fcf29fb733e91ffe036aa705db873ba18662be756086f6790a46baced1bb5b70e9dcab0ad745a676f8032325818b5bf4f2359cd296cbfe6209b10f8720570436b2a44094b7e984d9c1e0039899a12cd933c4d175a6fef1aa33fe6683998f07f95cd0c664a2d89168e8a59d039ecdbfbf802b9abb6348050846a65e22155e1d015d685a450cc741cdb0b4eb190312d5f690c1d37ebefda65e8f6e0c5365d65dfd23f5578c4f92f1d36a1b4524f503673e05b1aba4e76144c72c54f449c33f964f2a087e97c55aa9aba9132a9bb82f03c80b61f16ea55da2f1ac6e890f014ee0fdd9a08a1ff478d0e32fcf8a72c5f0af03aefcdaab0ed30ca81c2536bff99c9a49a32504cb753ea1bf13a1bec15d40301203159d865f6bbd167f4077e5197ded847eeb11d2446f6f39e9b90097890c608d62036f4e7dbd8255f243f55d58e5b240f4c2f72f149450cdfb2e6dfdb08a5b5f8f9803f575c165dd241095d2f87d9771db1ddad93f18ee81afb7012390502f08b7ebbe03a10ecf43e0a2b3ca9dbb2690fa9730efc41769d0965a5032b6c5cbd3cc60b27603937b36c70c0f2fd4e79f8ce0955dc3f8155c65755406914c177a9f1493099788038f0d475c1309655b377e2ec8a8e2ed27aecfef4ecbdc1a18087c773b948ea7fd0306caf69b46e7c4046f3edc09fd32a01652b75a7ce49f88afea019d47c464002303961cab70f68d5f31e6786c807ec31a01d9ca7c9b49d9f1496beb5d0394a5c64b03767614e156ca251bb63d09804743837eca1cadedd6fa104c4dd4034ea29772b303a5e62402e700436d5987e9597c99009d62345a644d348393742a05aff3a442d803fa5a06185cecf50d3ae1da86ea94f2f06913559a588811fb88e6ae441a5bfeb10356b26f1724d83a3f8c49adc4a3ea1d7a7b028f1b15fc3e6a8e29c7eaa9db947603ce816378c89db7b03a15a4c6cdd5df64511749a98f6df454af1896cc557908aa03897d3c5edfac5577fba0ed8b0664be1c8a5efce4d266bda038dc92c57907d90803156781ccff00b8ebf088b3071d0471c57660a753729e3c9866cf6668d274300a03691114346532dd5586f1bcb79401e8ae3d38b75ba60aa19d5e2ccb1b64e1c2f303ed3b1b9f8ddf3764d3de13befc9ed14ca0956f18587ea1c15c5e62f91bc8034b00581f03cee94354fec0934fc309ecc51df08695e11f7c446bbe2e6d2773cb41f5f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03f5fcfc4cf6e72b1bdb015e68621c60a9dcc577275b72468834dee42980705820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe70ea4f00581f034ccb8a129150ef5e535a5d75ab0cbd929329d33342cc5a944fe810d080605820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08c6f500581f03f6e0746edf9780bbddf90a96787c71aabb209a6e78c0c63c605213e322d04302e63000581f03e8b611ff6eb3cf19bdfc42de179b564574badbc68741ce8da47d48161cd05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbed3802190a2c0330adc2d96c42218056da065ae3100aee2b38edcb72357102e41efa07351a039303bb4ff9b4f84787f5135c3bd052cbc5c9e9de924469d6404300d746d27c759dc103fb447e3c48d7604e7c4730ba862b083e5ce173eb1951e50ca926246221d2f1ec030312b3e48668816304e14f83f2d5ed8972224d60a119877ca064d30490e351ad0303069015c9dee8506c6e46e6e93e10b3421df2fc0d6127600d67ff8468d2d47903e2d42e8b32228a4d08dcb29f81000f61866823aa69fbac2d63fdec3ca72d6a2903daf1a8b6406f8552fbca3161a99473014b5862772af9535bb96a4612be51345b03dd79e92d385c0fcc96bd9a12426eaad61f75ac5f72c554088748117e59b675e803ea73bcfbb219f11e867ad9158fd0c6056c73d2b7eb583e53c6939e08bd9f10fb0219ffff0330f525c5638dfde1eb95819e1e710ab0739c0285f47af25cce1610b02b5f01a5032552dd89606037292caf53f24802557761656b553361a1d1e450e244fbb5f6f303b7df98c5b090d76213cbc8906169a8fbf5759e7c3b76fe9a3d4ebae46b2d94750389f2e692d3ee80b5b8863b0ff35ecdac3a720b12eb5687d25122486d62d6110c0385b6b9e81d9a12f891c290b3e4019d1a30ba7b28ed543ed05bfa5a8651314f770309c2c845d44b895f52eed89eccc2568cabaa47cc13747fef7fd9a92cf0dbb0b003f7b17e0565df31fbcdb9927ae8d69a023ea27fcd20870f0dbacf639e8a65296e036d16a7903406208d9c79e979740846d4c924706246203856d5061a569c882f110219ffff0219ffff03081b60965c04f17fade02ace925d3f2248cf37407f709f9f0cd3c86ff3f78aac0322b8565a7867b302b46e84cbae8d88a0ef1a7e6aa9e847750cdf5a319bc486940219ffff05581d0240759031b3b9352c1680bfe7f2d376c5eb1d3f71c79bde5d7b9e147107011911e605581d020c8c69a267d22f83f9a5c44d0fab0881877bbcf46a27ff36120aa6990c044719cc826f20c6000219130405581e0373f9a2fb2f2c5faa52e8f70219655e6dec2531c4d88936d8f48103757004020342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e0350b664c18e1b276ee3f6b4c793ba1b99b3cb0691a6f165c874ac6522b007011bffffffffffffffff05581e039f530c4ebcb4d338e2378149ebefcf30396102387a80dc69303c5ab2600c0c4713b4c3b5b0382105581e03d865f0da1bbacb9d83ac7b0c19628c415c1ae7051c756a725bec95c0900c014702de0d30050dc0032c6924031e36e4b5474c9aeb40dd3692bc91142439aa5615956a6e6df7bae0990219abb903a896834b3e0ff92c47eb433c6545a9f122173e067bcad93af5c18b158768b0170312d8128d147efb0dd76870fc761fa531667870872340e18019cbd4244f200c9503035fd71cf0a983827e86a784b2c6428cda49a5e0f0f5761102b405ad64e5dde2036ea8c1bfab109203e0f8fdc0550ee31eb5b891dbb4673753d7fa57d824e6ae640342ae14eefa479988ecf9f0ad1089c43cb3012b0a8dacd87900b4115706651f4d0319424487030cf75fe811dd40fb04aac05112e1e3eb7660539e4c8936cb96da7c0328d2c3d1f7f51eb4b0ff2aebe7d5207b0bf5f8ac5350a380c1e5c169deabe5790333dee8a3b8f87ef494b0a167ee984b96a1f9d92f6a9e1db0dcf88ce12c888d45034bd7159ed2462fe060eb9ea2ad84113a959fb0b64d51c873193147b220d1d2f503b47a1c320a41551156094f00504d9a41a008be78a96007f4a517f79a30b9c179030ee7263f4f9e377ae1c06ec7d4c34f82cb54d601da5f406947a9d9f4ce343cba0219ffff03fbf23ecc5d825f204bcf17769c8453764ef95efe5dfb74282eb6ca8b51b2a1a003d438575177f59837a3540c2fcfb6c8b7bf6744146f33fe29684151f175ad13c40219ffff03e9cf4df1fb8ad54401f0b10bf8dd08f3e8a1e60689410cf2a573609a00711c3d03dd64d1a0d79ee256d68f8790f099317eb7d02b452403646422da87b639e16f6903250cc4858b259f4a11fefaea9d7a9817b470088c0cb056ed4a8416f581e1931403619ad53d29d4e6b50e8ff7b29f8b43e7c5d68cf42bfb7087c72d32003f1c965b036d75984a9bcfa6209449e10c443ab27b17b2bd3e48fe1f8e24b1a0a91a19c9dd030da52e6b25b292d9092a3c807b1684def4a68c7a1bdb7246019800027351d2980313bf38172154e75f1a489affe329d36213468c570206038090030e30e1c2023d0219ffff0219ffff03c65629dc951256d615657dd5f6584625b317923b6eecdcccdca5d54d547ccc1303ab915adb17c024d9c4146ad5b63c774d3ff1d91ab8c95294aee54f405f3338c1031b8bcbb529c2e7a69d9bf236bb77366207096d71474d7b47664bbc1bb66180330318a9850ea616caa3c33b5cd0bf9a2f77c5bc6ad043251e2ff0e8c70481732f5f031c5db680de9a1011fd41e2e8ec2283b9558acbd77e91844997f6d0689600a9a8039bc83db54ed77ba23b1c9d09ba41a218a671180f2fe5c200406e9e3f749b1d7e031bfc59ad70b87d76459429c02bf210c051602cd15abbb957b3e971dc6ca660240396af8cb2dcbbddd490a109662c5ae3b7419ff13d790fadc28284ea84b304300a0364709165243b62ef06d7d0d918fb81367488b2dc8ee15bb631e2101ff4c249e503417ca3785340da03c31438c4729ba7a764aa6175140d6b2830f64574f0c02f9a0304f4dff53b19fa6a943213b0f27bfa111d4de77ea85669a933dbd2b4e53d409b03ecf5ae6ca848505498d63d4cec5e1ea5ba96c611d00ae3c5abe5d34bbfae8eef03a4ae1cc5e295c3d771fc048864c83bd4dacd8aa743d86b978da7ba041bd56d4f031da33cc50ed598ac6b474999b0312417c1d9da53cf2790227c414bc01525e530031bd99c4555c72d436a225241c88c422ced4646aba31f5ad1f6739ad58f6098e003c5049d8a6ecb23437b8d32d9e733f83c359132e3010cff50549d72ba8532589803fcb0a70a0947f3cd8487f96a3dee1ab0e5f4a617f5f56621ecb9b7090534f8b6037c8c0da5be8e04bd9037a82622028ec2cdd5ae3d4e380b9bedb9d82c2f2ad295037f80917db7b4788de9538ec3cb06b5f7c7e46a12ee1a8590694049880d6eed91035f7ae1fbd2da3395e35d2d837a2112ae540a025219411d5a7ca4f0f5e5d6a407035a6b52619d6d838749c0cd054a51b8bbb1368d7db7f9f85136e56528c6c6e6f503fc344c82660bead40ca2738377fe97bf86a55957972a99c3fe08b3aa15c0833a034a443b7fae807b26a1aa568e068fb0a5fbeb35d6111e33c5165ef605d6b56b5803925c7ba79c9eade5ddb17d8cdce16ccef75ffae58824d5c2a15338298e518e8e031ba6634fe082580b690f10017b45263237985f9db9b302db35adbd3ff4dbbc7e037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03c702e72e3772649917978c6cd92829e653d1d07a128de36e92560fb99007011bffffffffffffffff05581e03fa176f139f675782d5b1ade8d0c5b2dcf2a555ce238d9d3a851a2ce1d00c01470d5489e961ec0005581e03645e82878daac94db0a61c23fd7338978b48c89f0f7a1b22fcfcab6db00c02470136cb35b9aec805581e039b373aa4440ca51548260c222d7c25f1aa60435f1de0dc9afd1b9d9a900c014659841f8eb00003b93d491a4558a87dde46f44c61f4ae13d80b75f3161beec17f85d4e5001c41b205581d023038acb834a6948c0659d71b6130547821fee59cc055bcd692d2be1c0c02470976020ec1f40005581d020289bebe6952db07f49c48552e99ac91cfc60ac052bb09742e653d6c040305581d02505015e023f126715925be5aa3c901d9369bfe2fe952de24c78ec6780c04490151eaa101c20bc51c0219240803af2a09978fb00b5ad453e369e34ca4754530a655f604372eb2bc105583968a5905581e0379f0778d6d4d42209f26ff0894c989f77c7bd079440a9ccffa8cd018b00c014702c567e6ecc00003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e038fcfc634dac0eeb176136a5e6bf685e65ab7fe4f2abf601f0d38eece9007011bffffffffffffffff0350bdbc627d9d04c0870a0f927b2c72749dea34fc6e128ed410ec18e694324bab05581e03f45146bbdf5a4d374d92c315421d666845f3f8fef98177cdb47ba046400c0247016bcc41e9039f05581e03d4e3409b9341a482d444ad9ce5e8945edaa55a2aa5249afb1a5bdfb63004010219bfa703dd26a1a671165c9ad2c16fed650693a7b9b2c0953be0473f0effcf9d593a41600309d5238101e43f5cfaa5b46c44ffcbb07cf2e5bb6f5f073ff7d8f90bf27d638a03e13e8649566ee7837a94f40fa7f29fca69aa8436b434b45fd49f67deb1d98ae80379b12a3fcd3eb96f35c2c3416170d05eaddc35e57801e6e741d4e43104e0b803031286d6788b19ef298c78fdc4fa9a93af07af9fe8320328e8c04a1acae752504e03b49d8ccc0d8ccea1b9de0a7af72aea125608a544bf40c0f481013e401e4e4f3b03c0b74abbf2248577c1eff10850648d7f79741a6bb6ebccb6d91ee5c05d52701b03dc1a0b8f98e544077095280391d43fb36fcfd3ffc3648389d8bee803b788cd5603cfbd9890e44632945fb23b1f7e939288742c541e68cf90ad2405832ebd3d545c0389968333fc2091abec3f575ff6e8403d7328a7115608a33f26e0d904ce79ddba03b5d4f28f4c9c6ab91d2fc51ae69cbb94920623a0a1c070739d9266bdab5b3cfd032b1443992be1aa33f083f9a8000ccfa9b3fb9f0c5dc30dc4bd7a4b39dda37f70034764024dce8021b7bacc9b7a571710760f168c90dabfb1e348a4b7218d4c206c0380229eec766d76052932c7425668c507137352ae201407cab07818876c89ad290359207ef54895975381b00ef8aed040092906636e83a0ee051b8c5d01f3cd51b20219ffff0327a5ac0a4804719f894ccfa1d09b86bea01a2cb77035a7ba9b9b5716bdabfead0347f065d6437d0bb19db895ddd037c19e79396ec18119589aafe3b384465aa31b0219ffff0354487d69b12b60ab5835a02ece4dbadf82c6877a2bd2a957f854dcd8423a77e0034c7a2e95ad1340e78e950daf232e24acea42a6c4552fe507850dcd9162bd4483039ab46c06d9cb27cec1c834941c5ff79a9b3aa66509a11e630585ba3ebf8202b703a45d90de4c7badc60b06d1b13e52ca199fb7b5b2fcc4cbdcdd0fb64e3609f18d0306463fd981d5ff27792377b180b945cd2630eea0f1951ff003d5db00e48a097a0325632cc4875e1b75f502d5407508f6d7cb2d702f0090d592b9d904da861c6ed20317ae554cdfb3c0fdeeaf81f72c3e3619e06301d74a08509f538e664f04cdcda603eb78ad4b1c75cd462996326ad8bde400b7523dd93b39b6054f8af00af68f641b03d85cf87cdcd90e38f2dbed9b5617c2ebf1db506fdb7a45aad48b7f47df3316f403d3e9f3b0d7fc633e023538d40e9aa6f93e4a2db419727f3dc61de03f5d2e67c603f980ef696e723bc699eba387cd7efa70a6440b6e9c153195bc9e2e0f0d32dbea039aef89f8fdb35aaef6ea6e1a03fa17795f8291f79a6d30e378a2e51b69bbe70403ff9642d54b8bd456002df12da306123a1eeaa5b5fa267094e0f4a2e4f53d9989035742780246c60ca6244a9e7fb4f502bc30f7b33a69cc181d7ca7f622b84d154d03430045310b7dc2b8dbd0ee5db11467a2e09fbc6ed3a93742c15d2e8876d1cbbb0219ffff033c6c79622a80ca73cd877a397bc1ae149af2d71613d8474e34343e1cca9b6577033ca9cc27a918ce5b14fcc44cccdb1e627f216fba151a8380b7e8b5587388066e0304e1ce5c8fef18942c906e32c94768aeacf9c5a74d2d4cdc7798b024aea81b570219ffff03674132c998a25b9768b71622c4a2692ad81b700770dcb88ccb82f729b469da8c0363b30bf8812c17dffb27ee9a24fb0cb49688217daf381bfd6d19224b869074dc030bd55a97cf4c724a8d84caab8c5e343d27eb0659dc8384da67bb1d55adea1d100301ebf58fb87d83c1fc4c8344f6249ec1af466c91d078d0ba852aefa8ab30a5e20339bccfb3b5eb43ea2702a6d0b352d8247514e4ba7144d7c16bae5efb846ffe2e03304dbe9407c64ce4c8aad9d681feab61b0f4b7c275166424035f15a39021fafc039a2f39a82bb02b5a818d2bb60d66131fe9ef14bbce023811321e63a8688888a203e28053895ffd099c1b26f36d63b6b67fba6ad67ca2359a6481429d5d6e32b644036f8a9548075a7fb23e47ce7b281206dd65baf9d737832aa6418f1c9e063b6949031b914c4f699f71e0a1e124fe84c927fe6b3a3f1e56a14c209da60e96e6686872033096f776a2c65d6a3337946b0aa68258fef9d414b53f6ee79f7f09ee7526ddb203cfa5afef114ab0b0cd52290b7b115d2083fabbebafc19370fe23a635bc0e5a7903d91d1600ef2a2b1e4265dcf43595db9c1cdd31c3222b2e941171b95900907d750390add321995f47eeb4da00e205561ef6f06978e42675169486f4fd7adf03e8dc030ab9441d407d11e30742f49a58e89ec9d1589da9d5b3003d7babaa43906d55b203fd1839f66268476eb891305b2525b7d19c36cbf2ab65705002d6d289e5a8a4a4033a870135425054e6ed3a51b72408cd4c866a82bc6a8f9d2153b966499fa82fc10310ba6c0971a8622cdeda74dd6c3b2c024985c51ce7b8db3cd153ba16bedbf0bb03a9ab215c72c1cdd0f7409ca5960980474736d3605179fd195b4e52baeb0196f7039254a06e3835acb6bebd355d4095ff8127cb4ab60ac86c8cde229983c8a65b12034b2b38ea5205ffa1dc7fc36a37abf2b6fb1d89f0a926371c94a6fcbce21d0af30316e1403146776266af97d00abcda53232a238244c87c51b10cb0005c36bef98703986bccffd7bb3a9ffadd96013e3eeb4920e352f01b3c46e8ac79887438270cbf037c6c70c2d91ad1de25dc6d1c287ff859bb543cfdaf113aed19933c82b635a0ec0375a472cb291b731f91223b6696047d025f054548a20f39336fc76869785135b203aaa171cdbefee01bd1b9b2160f0f9b3b898c102bfc6268f3dfedf9cbb8f4a65a035363a974bfde39ceafac45d550cf73f528bc11486ff9e71ed6dfa890ae5c80b003f09ccb58f44f5673a1390e13bd91e01de3b87e4bf3a52a39c84b42bb63113bf4033fc7911f9a5f34a4ed50922304a7242a60129dd68669fffc2427f796a5861f4405581e03a36600b0e44bc453e2d4d5fd240d883f5f1476a2e498089539192e1ec00c0146e15e6eae255005581e03ffe011194f717f77161b0ed14eda3cd26ba1cbd511edb285e1df52f8000c0247029c7a85e8f000037a4af711a74e0fb24a2d6d445539fd8716fe1c3ec01c1e8f62b70eef4adb63f30342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581d02d88714c80183b35045d85f73c96129b4f8691781f8e5c4b64f47166f07011bffffffffffffffff0459025e608060405234801561000f575f80fd5b5060043610610029575f3560e01c806370a082311461002d575b5f80fd5b6100476004803603810190610042919061014f565b61005d565b6040516100549190610192565b60405180910390f35b5f7399e4719bf949ea8b41b4b813f95027e3c19362ed73ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b81526004016100ab91906101ba565b602060405180830381865afa1580156100c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100ea91906101fd565b9050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61011e826100f5565b9050919050565b61012e81610114565b8114610138575f80fd5b50565b5f8135905061014981610125565b92915050565b5f60208284031215610164576101636100f1565b5b5f6101718482850161013b565b91505092915050565b5f819050919050565b61018c8161017a565b82525050565b5f6020820190506101a55f830184610183565b92915050565b6101b481610114565b82525050565b5f6020820190506101cd5f8301846101ab565b92915050565b6101dc8161017a565b81146101e6575f80fd5b50565b5f815190506101f7816101d3565b92915050565b5f60208284031215610212576102116100f1565b5b5f61021f848285016101e9565b9150509291505056fea2646970667358221220c4006ca2a10bc1b30aef4713ff79d0f066225af9c133867c6265ac794855640864736f6c634300081800330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563058207a313300000000000000000000000000000000000000000000000000000000060058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605820347979687800000000000000000000000000000000000000000000000000000a0219080405581d02934a515913478aadded9df01ebaf7b3e9eeb31b8480b597fbbb598fd070119025e0219208005581e03452b0bf5b71690492b5ea3eac6f7fff83f1b0de79cf7abd8065c852cb004010366b01fab61168b83893110ae24af4c3f76650e444bc55da0e4c6c5a32b2a92f402192fc103f070fa0ab428b1e348ace54cc34ffd33429b88b2ecc456f8d34b24c7fcf4ef0103861384bfb6548ec618f3019c1acca319f74ac9b65f2669fcb6e1ef94cb8a1f580327f2e9ff3c43bd0b569bc77c9ab1a60aa0a735ec0699d46792310ef5365a2829036dbbe4fcd741417e8239678ffbe94d983147f98f6e65d3d073c222ad924c42480385a490c54ff23f67a35d5a80b380f63ea929bebe3816850845c08134a4c9a77f0219ffff03c1c7a4a11806624916483d3143dee0dd71e0552ff867578b2d0382abd611444303142bce8ae58451c02e6b13ad6b4e5090bd4ae48de9bc06d49b5db6c7a44a04f8038154da0a13815ef3f195bad05323de6a0376159a94dcb3fec3c19a019dcee83003336fa3a1389effd1757c5f0fe5d74a91535d621df8ec643856657a2a765e99fa0364846d8f4047b05abeaeba3c8f3eda62b4eae78db3e991e621b13697e5ea6445032c41b55b390e73d40ce25d4aab3b9f05ce543d0867f6d31cd51d6fcf8d9aa1390389707b38f63345569dff84654d554a09a5e1d6de1e802dcdc61ba2e270eed9b803ada953a98beed8f8ae7fb789c2e87c44799ab95fd22bde6983b596e9c08782810319dd75f0b8de5436223a250b31f92bbc0990bc939ad1f8121a1582f60a51f86203c6339e9c2e9d32070e7c370f533aab662c8493668841b1dee1ba949d41d0423b035ed1abe76ae5c361943e2d513bea6c384ddd14d7b0ec62c0a81a353c21d046cb03f9f3bc2335c34f22555fb3934e7c82f60510ed21cb3d6a18afba2a9f1cf928ff03d9540c09da99cf14d9dae0ee208e3562ab39c863508eb404429fb860ceb800a1031f8acd5ad20fa79812c5b4aa6e425c969f5ec6f978c39311357066aaac185ca203ece34ca5e8a03191843b1aa8964ded919d8517c54b1eca2ec2d09dc613d833d60219ffff0219ffff031632709046186c882c2a95fae85f3c9d81f847c8fb939fd2d871ff3d33addb640313b70a353b58cf2545a3df3f160c87b7dfca58d90639cc90d80506bf530af3f0031a50ba754340b6076f7809acee16f247db95887400c7aa8d370c0a17507b383b03f34611aa16663d31e92a01b90504224b8ea405030f3e1b332eaf4d2b2b5b9a7f03fee708067d93c0be611af61026569dbf8518adbe75b8971f77df360848d79df60349062f17afd00ca4e803750be7400cf743c3b30fb76d4b53fd65611a82c2c82803ea8f024c270cc7c4215ed667972801b698d63775ce6cb0947b8e316e88910c3103e4ca47448e7b8b1ddc4029f684926b686c5ced14be6b95228e91a814cffbba2e034b50e79c64239c125d54dc4dd027ab93c1a649083d3387cf865d22ac952f301603abd4c47c24678ed2fa6b15dc9e0eb7e09d52ff048da0583eb036708755d9dee30332d8b099514712acb1618d05e80c7d2071839720c34cc6120bbeb032f22f402c033da5d26128248dae255db507c2b779c279c3d1200e4daac9a26dde42095d8400033195767acc421e153623f479c68abb78d88b29ccb5be3dd8921a8ccf0db49d5103515a085dc4fc6aac101863290e80573480ae49332416f7c32daed0229136829b03fb51fbc3707737ccfb8bd038625f424a01c8e53d1437cdb9339755e9b9328a1103e287d453ee47368f4a0be476f8f83b8301bd874fdeaa530c4fab68916ee514c003e09ff64a9d1f786bc2cf845486cd538315065e869bf7f5ec1ba1e6fa85074be0038d54ad857ca16123867c923f5667b3393dd3483e0bbe9db355eed71a92779c9a039fce2823458aed980209b25da9a06e04641ceb5f312106a4a186329d6262a69c03497c550e447f3fb2fa36df80234b35b64987691b381698d3ef19c5022be01f1f0335f157f9de02917282acc12a3c05525eb45ef7c63b17d2ee2dc7cc8292861c4d03e396d0e7174cbd3993a6f7aee4f5d2aac774b5805d48371557f9f587c738768a03b5834d2f53dbe59816c0b4dbc0cc95037cb10f7bb61a50d0bf4e95e85543755603ca7d19926f124f06db3ed6ae930eb3daa4a736a67e0d6e1a324ad4f7129c042d033769cd617da1f8d3837825c0811750369efe028ccc2268389d99b93001d6afb303f44b112e678a521094f14e31e99455ffb383d535422eddb6757785863e7a2ccb0360333281e942cb7a0d8a74a4e34298adb55a5172c566a7f84944cfb39ebc4f63039edca907ea72cc116182a9398d9695fd36c642f6875f88b2c6bc70f218626d110333d6ffa9f039f5922aef12afa4a9f1bf2c4f2f4adeb25cc1b71b0a6cfe41acf6036fc39f006c440d767f74d5017ee1b56eca67f93467b3257bba12befe384743a3035bcc29aad56a92240a5824161abb693dd7a26549f703bc8a9c88a733bffccd0203e0d940f235878544bb345e2c182e019af5afb5fd76b51ae2fde27e23ac8dae7d03bd2c692e1f714e31069dd9401333326a5a52e3fd7972e98f9fbd8620e9d303b9032c12b73899a497bf300d134c965f1cae5fd6359da951fe2604a9dba8e524992a05581e033509389932a75d0f82d7984417071ff86c62564ff4d198739fb07057b00c01469e1c1053895805581e034672c41e00a23cbb67a7bfe303218c9fc85bae8bdd763772f034a13ed00c02460aed75ce960005581e03effb5f24a2d390700c2b416021480a0a97cb8eab9221672ff32bd575e0040205581e03e61f86758070902cbc61e004cc10d21fba426b86ec8041e0d3fa03bd60040105581e0368c80c7522b4ef7ce2ababbb93e0266e8c48832857623261595a54e64008480115182b9453500003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0382b3f29a2bb9b83683be1daed9617b22e01c1590a908c4f869ff7c1f6007011bffffffffffffffff0459084c60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106d6565b610118565b61005b6100933660046106f1565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106d6565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103bd565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107f060279139610411565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb6104e5565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b8361050d565b6000825111806103a85750805b156101c3576103b78383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e661035f565b604080516001600160a01b03928316815291841660208301520160405180910390a16101548161054d565b6060833b6104705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b03168560405161048b91906107a0565b600060405180830381855af49150503d80600081146104c6576040519150601f19603f3d011682016040523d82523d6000602084013e6104cb565b606091505b50915091506104db8282866105f6565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b6105168161062f565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105b25760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60608315610605575081610285565b8251156106155782518084602001fd5b8160405162461bcd60e51b815260040161032891906107bc565b803b6106935760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105d5565b80356001600160a01b03811681146106d157600080fd5b919050565b6000602082840312156106e857600080fd5b610285826106ba565b60008060006040848603121561070657600080fd5b61070f846106ba565b9250602084013567ffffffffffffffff8082111561072c57600080fd5b818601915086601f83011261074057600080fd5b81358181111561074f57600080fd5b87602082850101111561076157600080fd5b6020830194508093505050509250925092565b60005b8381101561078f578181015183820152602001610777565b838111156103b75750506000910152565b600082516107b2818460208701610774565b9190910192915050565b60208152600082518060208401526107db816040850160208701610774565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220981164b09810fb7b2a90b1ff5d40c88ad522c720f729a8dba3442ffcaf61d94964736f6c6343000809003303c849f6cc3780fecaa474b3dfff15e87d28731de926c456075e778c43aefbee0c03a8a65dbd5939c0f7bdabcbd4c5b762124cd3ef78532653a8f54baba4befc4b8f03588c01046dd429a0fee6f91467ddca1e953824a559399b8fe1d3746ad4093bcf03a520537546bead7a9bc39b8c5a8c409771f32a1e1387ce5e192f774df1cdb3c70308d0aa3f893b1c3b57a9c50d26af4051f243db6e308befb6bd19b26333f351210393b164399932cc68f29a798dd7fdd14a2d5b3fbf8baffee7181a38c47f823b2b03b26ce38514bac9429322310e61920013cff0cd6893dfd8aeda511c39806e18580345468f0ab6ed60f26ebc5b6c2af92e9b9c779ebba162b48435a1a2fcab83c246036ebfb085ae47eca0fabbe32f546ce722feafb631edd560152a5996f98688982803bf34318a20d118f537626131a8fe5b8035ca1152284ad59d5b971c26471c5fc7037e5e4be856c42d509b5ba6c54b08c4d8e22adaa4b2b9ba8852cb4b08cf7dcdf103863e45783177e21e781661a9ecb21f5291d0e57f3518d9266dcdb8d42afd9c9203dcda69d0c8eff6f80d4f9beefa865c041ba816c281d03eece59736fcae00f0f003233130d5571af75ea641408e9808acc11de9ccfea2d08a4f9d5e3f4ff200ca63030e786d658be42569af785912652e33b01932be812100a16c1b3cf48cae33342f037c7bfeed4ccf8c987cba7dfa06548cc3dba393fae905cbb30b9f89538ec9d52003cab6ca9935f4f3bb721dde595f255a10e8b3867ef8f3fdcb4a343c1fd262e95103e4eff58333bc94453ef9c557940cfaf283fd3b838b9ed7944dd15c6418d30d4903b66d827f96238249ffea8c86a36ec2b9906c614a6be79c02fa03323ec511651003d4f18a1db60823d1bca52d92063d6baba11c3d389c712ab34c6aa0b3f8da2c5403ac7e3b8f69e65b4024f8230b5c9e0fce79f122bb74e7293c596354eeb2178bfb034c91a2909006b431d00cb1a94a3e73c40981679c0ab4899610ad738367201d630356fa9fc001a1cc46b0cc90208e0c200a90f4bb5ba1099b8d63b2909d5b047f5f03b1bcb08f5db1fc1eedb60d80f88c2620365641b6f93b8fecf093a793d4d9f97b03ef16c1d61e6a017240a388ee8a24d0357e2cb1abb3538426854ebb9262bde78f030d7ea7783832912785f51379bd0a441ebda42490f7e22fdda0af794745cb7fd303a533366cd5cac4cd0854552d1e7045bed2d44391eb5be1f6bf2e904f859eb29f039d31282c4131f5547a5e7420f8765de6168bb22cb18265b7e33d7185498404d3032647e122d6f9b9e4a7bee94153ca5fe876378f5d0e7b8f5b499ea4d72ccd9ab60378bb2f18e85101184b82c139c3dbe6322171ba4f95e2ec9d9fed527e58fc35c8038172a2380a3dcf47cf4297779706b54a8a9009e2182241792346ee507a6974ee03b67651189bfe16fa47d91849ca778d8a20e6d293fae2d396d559938f237091dd03b71fb2a5a5e68ef438bb30ad4fa7e91f9941c8b01c2f77f7bb9f5a066aa3249103d4589141a15977899fba8bc27d46663f4948ab6da8df04e948a65fc88301ed3e03ee10e26fdcd5483a8beefe1c1d61b845b4862991c6a831684d1570615e2bfd7200581e02e7218f8d2d593adb3415b4159750aaee8aad32cbedec5b4d02c9c4e7d442ffb600581e02df5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481544193249e07c89d90b827be4ee3b65ab2c20068b000581e0299a9f283a8da7ca52b424befb905026ee0e4e6ba106036b809231bf3c3446273508a0219280400581f03401c82ca58b7feb08fd82df1e08d8ce88249a2adb762c7c71a38267be83042010000581f03c295b7a5af7572c287d35f41ec2530f1b1d75156d3e62369c834cfc89c1047010001000025f100581f03d83bf6d0766eebc4692ab47a77e72b89c104711ad3473a1299c9f5e40a505767037d968d4acc952da5b8e9eb408bd125496f2c01000100581f03b46d51aee78b9a2fbc362c3f9f42a162d0ea9551c0071982f18961e64a1044622b9d780219014b0219ffff03987c86d38f1cf2d42579851ff2625089c12f1d199edd69152924da62edd488f1038c13bf22309c4ff90a99340ce244393cb877c024a4fdbbdb61d517b772fb12230219ffff03e443caff5712d27e157c75f37174855100b9ddf597ce6d758971b4ec280f733703e5c45fc782ef03a1ab35224ed4ec9e6f6a91c9d3c4bb077918ef8cd00761fa3d03750861534cbf8b97cedde8f2b9f68542f2ea5c5ebafe373932ab6be74f342b2403da1d80b0146b7a9096c00e5a5ae777ac1fce5f52cf450ddddec16666c54bbb3603510f4508aff9ab9b3cc1d3c1888767e998da81bdceb2af2ede824f63edd6a29203d5cbbf1e239b49aa74d9ca952bd7ef2a071b64e04189d6a0043e8ca9b1fa6803033aefa7ae9e3f8dd7f9b6937898e6767f1af69c8973dd472bbbbe418d243e5e650383248bd3304d1d1dc78fba768a9b0f93c894b7ba81ff991c0ac4b0a40b1aa74c03237cc80b94ae8a896442fd8e54c0d3be44b5e122c49d7d8c74e0c0b9b79b6a6103e880f9a5f44cc77d97f93f2ac353f3141f2fdc8005978e9785db95bb78011d3a031b333574dc2f6d7220a166139241d0f843ed5c8a2a333576feed4d84ddf190c703d1dcaaeeeb350327146700c8ff3223c9e6e5582a95f9fbf92d7fd0965944cecc038d77e0eb345eea58bfd096d555946e35b0e2e9001fa870f2acb700f4fe06836e0219ffff036688d870635b7e2136eb56a047ce755f592096e584e61ae37c1718f7e8ad30a103b6783325ce4e7acc30d7249f0b08f7259a10eaf2c5b3420b2821cfc1cc2140fc031b9f8f8c6f7815e77e5fc0cd15ddc3a78a57b2d575378766eb3a376d52fb456a03185581f798fe9248a1c7e6d39735e41b901f62de80af12905645ee3e59cecea303e1f3ba4f121b60f26e167e6faac435aa2e4a26408b5bf015d4ea9c31d092bf6503eb9f72de597bfdff07aaf3dd48277c94bbaa2cf6813682f60dead28399d4d48b0334f818d29c1dd84e9646540eb6a834d4125a0c6a938eb09237b8f590a9c83c7c039591a29b126b777904fdfe25b81afbbf339004117e5aa07b278c89b8d6c8b9b8030af619c90ac4cdfe41d7b25232cacd9080e273ec3d74f31e10eac5bccff4be0503d2403e81adb96b343436a57334c0d045abea993951972e963bb7fb9350f4c909037ba3da1e677f38ce92eb5c683981c918dbcbdafba7db8841e841a51af6ffeadb03d5b35f7a188613d4a8d08d0d2d869196d3a9f0a0c1a3b62988240ddbb032b57303128f17b813f38864283b4448b1548c54cd6824785311a15f7f91d46205480b5303ed36c10d33e085f97e80bf635c45b9af80196fada95d12f26940c91e259dc7a70305376deb01f180e6d546ccfc4ca3d3cd65f92cfe1aac9888ad5817f5ed21b552038b774bc8e460f75c4ec6b9298c8a822276079952a629503ddfc1b5cd2fc8778b0341d027711fcd92bcd2438b3eaafcbf754441e9e284194a5e16c27662871f23c10382250d2c7411814957934fbfe4bac58789833530a071171ef78352f4acf5ca6a036072d3c97ce76d7898d03c49bb5e35b6fbc9101e8461a45e6f52c29b84c3692d00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054f6a03dcd27a4e3a2e2173e8521667f75da05f2b000581f039c9b2c84158d9cef3f3fc54f060df39d32ad9b487c2f38068cb211e1aa704710729fa58404bc00581f03e6d935414730eb2a7e08550536d6770304b3e7f4aa5e2818a7f3c518b0604301834f00581f03e0af36195c49158fc12e08ddc95fe2912b5be00ab49e85946565a1dc2c60552b8a8e5b547c516fbf8846a498a39c5b9358e8910002190443033df892fd846d5d6a3c4109f97fcaee3615133edebe5ea9f4b164daf97ca468da03288a8d2789db565ab8c3e5c47a355394fc2dc212bfebba85f1fdc71a22516fbb032981cdc28703323990965d388410959b2fea23ac6b27d9931e6e7a9e855ee84e03787b63f7eb93355da5094d94c7fec98c750d55364c13c61debfb8590cb5fa2290353061c6a41592b0514ea4df35cf2a3908a9a3e45e24a38ff7cd6b8c60223b7cc03b24fe95d80fce38ed80761b04913b12f69b53306f00916dd9846a4194b9318ed03a1e74f9decab564f5d39e2ffb9415359077d2f7f56a681bac2765249410de8c4037b1414200da186c136bd6bf4d86eb44fdc745cb7be0e7040d48b1d9f3679bbb303fcdb81eecca75c92396204728f6035f19bcf24e97a396d98a3c74401c120e1d40314f8e8ee8ebd4cff035bdc60366401c7bb3a06ef4cbf9bddeb9079791ce8f1c403701301cd8dbeb44d424871e20c265570d65e8649374b66191f334d6bb91df0020352e122149c9ebb2e3de842f6413ec2710b9b2e50de0efd10a9844193bf5a56b3035a59ee27e435cf0331f0880eec076a3a14ee07000ea8a8434e02a2846ee904790219ffff03be010be41b12740846ac8aab7725615df1b65afe8b700d3eac55e1c670accd43030a36779a702e8775e74e2fb1bdf627d687d5729cf2b33c9cff908ee16c47d50e038779b045c0bc42d32159e89946f78cf720918a564317e888c19943d3983d187303d8336b6d441237cbc1601c369e1a180296a20bdf81b2adf8688c654e62b5048c0219ffff03f495dbe0c7bf84e0472e53187cba929cc38f5c4cca9083a7814224d6e24d09b3039a7bf9fa646dfd16361aacdb177b63f829a9534a37e19b1392bc0dd0ce8e592c0320b1d4f359e62878349ce61208b72e25a660cec1734264b46a6006bac811372d038cd140986622b03ec94f4c86610faa660980bad91aebd0cf5b379d88610082440391e2963a84986c94d26373fb61ba03ad75ae394b5858d21104eed35c17400752039a3a730252ece0f71b8e1b6db4699ca61f4f0f30e8718f7ecac784f3af519a01038d4af6eebd696d1e96d3958295fb8fafd1c17ec814a16ee822d7f8e8973e91bd03b16bea10219d6f31ae1d9a6b959237e36b94416efe5748f7b4eed8b305b36035035a5f93ecf6a1a223f354648863b1de99798d31bc69f1fcbb03f98a42af5b7418030ebc453853c6a3c462466426ddbbd18250452e40bee63712a5ccbb924723c08a0219ffff03c743c8d366b1b138a8704b9f68aa8d889557ac6164f648a5710d58abc7a2017b0378fe5ab011839591746f969bcc63a742bd38dc13cb5b4e4635c864b3f13f87b303e33638ef169e8dc8eada9cae47346848c5604717a85614777ab19ff6d79d04be03481b311011140853523265b4580c62e0fdf21b3ab43724ed3803c7df12d473a2034e221852037907327758b3ef6d44e365cecbb5638e287acaa4f7eaa8cfcfdcfe031458bf77712ae85299f70a90847665d867ce5c68340fa82335e2c694ef4fa28103e8395e6f71ac48db46f22bbce34c18cb66aacfdad76ea5e71aae3b1ff488db3b0304d830f03a6544f75885f854baab0022c7d6a5991d303405fcefc2b1a19484db034c4cc5b1b56e7fb3356c0d65690515ff97772e6413fad22b35700d35a056729403a394ce87f3a86e259296854a36b60dfa13665ebb32057a95c942c2626ca6fd4003c84c61f3cb3c1a8b575af5e4760aaae922a060291cb78b368dea45e5da0d6afa032cd7701644ed4740a5cbee8e44737a67e729d680ad17fdb1135a01c68c6288e703d8053f3ed7e58a1c3d4647d684e224c996f8194df81812dcbbf7a58692fcc79203f989e8211c0b2b365dbfc00355bde6449a16b8b923fd3d731e30bf150d06f29503017d770013171662e7f1ad23434fe198f89488822f4c96cd00d1107f61ce8a0a03657e26743f841128272ce110d07073123be5d473aaaebeb830cfc090aa6a498703fee5ee0c9a2a1938c61a1525e2e0ad82171a91f17de9fa91553ff297435a382d038f11a2928d64662630c4a30a0ccf9721b9f8f21b9c0d3ae8e3e0ad0310e864aa0371f54013954abf6fa9929da0324e723546473e31262835e6441358753f6ee5dc03a19cfc0eb0c51b5e5e06b38c52d92aa697b0ec6898684c412f49eb7efc2c8b070309ae585769bdec6c0d4dbf283bd9e4023ce03ce64568959ebb28a8092e99411803f437b2845f1803307863f3d8ba554da06623108a794c5fa023ea7abdc232005a00581f0356b7b2a45d446023675e02d52ab66d6c2c7abc368005002f128625948a10410100581f03b9c01f7bd826cd0a23ee3a91a027b64d4567ff260d5d6531cde323167d10470166010000802000581f0324c42e32b5014535c76479042ce33744991566456fa51e3b2ac8bb559840446238827f00581f03c332942ff9460084621ff2e3f9c7af25edfebd128f2c6e1bf2299a34cbf0410100581f03afdf8c478d024cfb02c93c09a28a562ec29e4c4012911169d32f75ccbbe055556672afd82648836847c23fe73f38c5ad1c5b950000581f034ff7377173ec690d8aec111dbe0a14d0c395b38784946ce4804b6f71c0b057104be7518a497a8924bf2d3dd04f03339e9f384101010100581f03138a3505dc3d3cd84a77912f4be1a33df2c3065d3e4cb37fb1d5d1b50720541891dcfbc9495c644351ffce49db0ba34af050350219b83103072d83cdd0065f607e2f1b59b6c7e665cb4214953b9df84ee37a0232a189f4110317ed859ec77ab3c7cbef729ff4b7430a78ef84ed63373f34b44eb3a644c888f303e47f8cb824064fe907f52bf045154f3be0a89726ff099c642cb7ea631541647f0219ffff03d0c9beb3d5669b2a8e3ccbc332d245751249bf726073475f92ac814948f7dafa03f683e5abc6ef1e592ee874d2fa6baf1f792d6e40840b092ac3fd69f2352f11d2038b34d65eff61ae5552c0862d23e3b49c64dee6ca511639acdbb38e46c3296de3031f23e4e23014e0d935dbee1f979d19c0c4ae768d3f1b0203bec857aa09331888036e63c521b4307bf40d909f54acd5ba6975c4edb766f2827c1a5c54779cb7af82030bc9cd1f4cd20063dce83f0cb722c2a7692208b7bf9b4b15e82bbb4d4591aa0103c367ce22b727ccbec73f89b63771a34a1917fd0085145a8176dfeb37f7e378f503c171c13ccb0838e5de06dc7f03ded77d0a2b9bf25e38b2a6a1f1ebe0d546e15503402004e3da851576908def390de61a6872fe1bd086510e22cae0418b0b9ed27c03a30edb57ce4ae5e3bfb40587d1bef89c8cb9f99fd88f26dd1b4d66f6f3577111038a1db9f3eedf23a6c2070f7bafa229c82b6e3eb127b05005c615dd2e1b062efb03052ff81d5e06c271741394bd184507ad99b95eba9af0f419ea40062d3cfc3b6303503d04f94ac4851557e801617097ef6dcf25c09e59056c984b3560ef406e5c0d0219ffff039bf25eb21bb6c8e07518243c749fbb22943dd89f0a854f6eaea63484b4c6c2ef03fe2e388c51b4992df3a100301b62e55ea8132cc208f8a82ffae5cbc7ccb0129e0318b16638666a7f3700fbbeed5dbfeb8bf9a33b7ece51b2791c1c00bf1f46d72903126d7b141bb1534c322f6366a5e4305fa1fd47e378446b131bc3bb86b0a33784030262edb6aac151273deb973f0b50a8404b2b69d55a3e047f0322412c76066bbb0387981b20cbe1bb146754bd30b368998f964ee88806d088641f04ab9fe8154c76036add1bfe5b19c476eaf4c6fc286d2407ffa9bfdb875ae4b1e465d3b924537bf703984af04f65bf1f0d48669d1eba1b970b8800d68906b10459e9e13b0c6433e4ab0392f5b80a6b9f4cc21e3a3f7ae972f82cbe481719ae5f3a6d6557b4e154e95cd5038527b83aef3b2ec2cedfe18226c5a391e9dbf8718009ca1e3644411c1ffc89c603df69cd7da5c3410b99c688155ebebc4b529bba3386b6495233567d23752bc31f03a18613c44bbd387db7dae1e08815c458eacc7ece701d273089851ba723f3625803aadbacb25f094c978d5e807acd710775dd3e5b3f43d70f24d6a9a4ae2ca4058c03281e57fba1b8106d5af051886337159c6c7df16de216ed392c104feb557ca62503b557712a00cc91e348a28115ef940194bd9815570bae4359625a45f5b6364a9b03396e7d3a95e336912b04f143b080c46717fdbb06614f1580491d2d5c3eef0e630355747b7db7501e3a6efdb8b3847715d9e907e5ec603cf526f10e8f28cd7f7afd034e3c85ef5971d3ffba45924650905286a755707e940599ab96c3a5628797dacb03e083b338a5f458b30b9965d4263b822abf31fb0af1c73a4b7008d81629828674031fbf5f9b86d82e41686afb1a01f8fb232aaaad2582ed50c6e93e1f57a06ed90d035021590363096df548272aa91aa825e345781c7a3e526c6866ffb4e0be0ab24203103bb31f01c413b20374203b5eafcbb38b3f04c725fcf4c13ae8205461eb85f503c08f6354748080a202fd89fcb8a5b943cb8cbe4516910c68f582dd5b4390e58203008ea9e90c46694b4c1ebd7d70ea5eeb0fbd04f7beacff9b471eae113e04606903b18f4b062f96de14fc27e469cdadc364a261b2a28328333b62cba8be0cb9d1b8033c3313f6c5f042df27d37d078efa94b99b7d30da2736eea6468d506a39e28fef03829f481dc875d15d795ded4f6dccf5bbf64421da7f0806634764920bef237eee039e8378f3d64a9fc58cd5f4a64520c4b64eb440d9f2de70d4be36c2661519d84100581f033970b1e0688a533042dd2617afd39fd56d00e31ba6484e21350f8744a22042010000581f0308922855bb1c3a3b83cdd85712960a7d0fcaf9542aabb93fd753ce975bd044621c988000581f0344d9faca479c4647addcda1273e1180c037cc549bbcccefd0573af2e717042b3eb00581f034f40906b00f416ecc0beb934c01cd26e1bbc7f7104912b3cba342a8050b04462089d9e00581f03ea5d095f2748bfc90961eaa034ffee3e0dd569b163994f90ace9f89e32d05780146786020d9f90ef154224ca3980148654677301060000581f03a17ed986c07f827229709e1ded99d4da917a5e7e7ec15816eaf2cacf54c054ae2461a7c635d9f7573a971bc5ef79d4111f1fc20219239103b6a9b429f3e4796a4a23d5e3ff4bf49fbcfa4bc5b2538563e1c312b70fa2f0a303a627722f4772d294fbfb7a63f29aef90e360c53235b57323cfa2aac285b0a5660219ff7f03049c416ef265627593bd1beb7b1f813374ca03dec56728967ed093c2b55b68a603be9230c7529febf0d592c8ca96b046570466fb6445070957927453df552ecaa303f0d94320bd3e9d42622bd91bfeee961e73ac9f79469ba6d6f44cba3bccb9b44d0219ffff0305850ef8125736a2df193e896c43033d3f65e97435586fc45b150f6bb7475b2b03889fd5e748f8fb6828615858b207b2dabe630adf3177c075a55f3d9c0def9f5103be9169791547b545f85ffe78f70ec0c24f9af51a94d6410aa648233ff275e15603798e1db51cc42b8d1be185db222b20c790db7658269d3794652a92e883568ed303297db372061fa2492f1296dbbdbf88b5382c9cb3fc12a4f5f38eda362f9f860a0219ffff03fa8961299de5cc65ca4617b5a6fbfa114d02f40929f9a0165a33eb286cdf35970397d45b7a8de81267ad92ff7ff2fcf587b2765c3fb01eae04fefcf0e5eff54782037bd7d9f72de6a101e284d6eea5f9db90d78416892bbf099b20a504fa9c86dea70372d8af545c7fe548c9c08048d1542f534c02bf5cbf98e42a36efbf110793d7e50219ffff05581d02177ff3b6c0ad2f3b7e695a7341475830d8dedd6acfdadf164de2c3410f014802d4161af856d44819084c03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0373c5dec0c39df458200472668fadaba3ba732e214eb245cb137876ede47c718605581d02d153767589b2dd73d5be958139677ceb8e0c6b33b45f7610d85d33da07011bffffffffffffffff05581d027b01a86c6de8b84ffd0ffa28d82ead1eb479a01b848615dbd25b5c310c0446a9e5a5a6c90002190601033918afc2ccb8ca97aedcbd8109eb8d916966ddf21ba83caa6e8143cc6ea3b812034844d2a9d4e1b21eba90b7b88213942ecd5b503da309713aa7b49fc60dec6b4f01410a05581e03b46d5e8cd22ca77bbc4af2a5751a90a051a7cabe4830e72fb83f347330040205581e03a2fce4ae5196794e63d8ded0ef053b7b623ee275c4cef9df03c6c107d00c014618a18fc73b400219d0ff032c464d900a6af72a18e695d5148f0834873a0f6cf10b4aa82ded4b0576c5ffdb0326050b62f28e1f4755fcbf7957812b875a6536acc656063d1ed5d246847bd6740350a909dd6e8313e3e8cb4ea5168cc9e15da72221c1a5b21a24f9c885d6d010e6036a94784e5a7dcbc2d77f0226724362ead4a5069688a911fa5400b3b2e4e71c8e033424155c7a3389eb9d949cc9de1d579798b908a0d86ec8cbce2e89233356b6eb0305e98b3971be179b0d6e9b4efd8e328cedc43ded435aaf2e268d3aa9b1de53510364f52ff57e0f61284679c623f4a83b4c8612485f27dbed725e5cd07d423229ac03d77dcc8ce810120dacebc210f9c843b91e48de2725e3c4a30b7fcb34b618b1b5034570d8874592df2bacc56e0c5538b2e0464837a58c52038af35fdbb846fcac3d036381ca119c6e6bb61e4dee12c44fc13d19795e46c347f970b4c80ce2c7ff75b50350803784637effcaf31674e0292301e6ee50c399a4d88e5a1c83cea9a2f71c05035d6ef5d7538fc7b2f14ecedacf85f1fa78877e541453cfb95f55a9d1fa646ea703703c2e332aa121dc4298c5fd7dcb39166b6ce7a3c81d002a3ad13d2fea16bff80219ffff0308d5c25532313c481582dd60c7fa18597c51c8d37fd9a55a4963afa1d4d340af03f53433224924b75498c04f6478fd2a2f5c0501488be80ad8f25d7f1e020424d90219ffff03b5933da1286da0015adeb292fe6ebf11b499c7b514022db4e5b195636063e1100219ffff033615a45f2c4487c374699487e6e8f66a460a258f0eef81b9b21166c1971661d103655576e7eaf01b6ebc5f4fa45fbd5a677b57ac817978cec9a0d45826f765fa480320647cbbee743945d12186e8d71ca9e6b0ab2e1e6d876b543da9cdc59e004b2a039638e5669c87b70f9ad637bb6d1cbc293bc0ddf9c491160f6fc78834f55bb9ca03edb25af6b91ab8527423879804dc1eb46a44670c2eff8e9eb9c2f480dcf3f13d030e6c8e2683f849eac1b4a52a8ef52231561cb06bdb81044fde7db60bc0f830f9036fe6a23a11a18619b0110a434de9f66cf7ee6dcb813aa41deedbebfcb84e4a0703f9bb682adac9299b403615c1e90715ae399edad6d5fd5888efd73cfbeece66f30321f76183e2c60b292e9089c11bbd85aa81447d0b46dfd0099a562ba94061fbd803823163f562d9962a112ad317c0b1ff980a9b3998c8b68b9f1b6ed4a78e783d1803fa3018b19de506ec5abb557114b6623bf82f56e87f466db731ac8df70db17e270328aa4ac03b4771153785e0c2d152a88b32608f3ddcabeb6e3c20a9b6ab270aaa0371a40ebd31020395d831061b8663d703da4ab561c2712dee6d001d82febc4325039bc9963a00590c8b64e97ff2351ff19dbdcbc460eeb2aefe5a91598f87ad2a4b0349d6943daa085320d3ccb05b0610ab15e104ee417d8c6e257d7255984682d4ac039f4915533c5920c24a737e8b087a9bf2eb11fc5b292409637a4d8f494142a0820352721349322bbdf9ad98f3df1c19d21c718ff9ef6bb5466949f6d8e771c6735803ce405d95cf2f39f12abecf6f039c198afee555ff735a05e95b3da063989e611603c3f93f6cff3d3525c1b3b2fe27e166c89e60780cf2c2eb92e5673a691721f3d503ff59e7594c64ffa4c8f030201fa43f268ca24c8d69908dcb21b402da693a38bb03e8755f5739c6ef1390b2c0e78fc3cc1d1dce8440865214daf592d17902bc2bef03a7ac5d537b6d00063068f2fadb58c125912c5a680b72f56942ed3126db8e2bbe0354e4f98c46350c87f3766ac34628a9a8ca590c302378d32fea111d02cd9ed323033d6470e2e9091c1f187dfb08f57dafa38b45b069560af836b759398031be5de0032fe1393c5b90547c225b8f091a8a239891d7c9d11daf8d97fd43e741abcd42c30392a968e86efad668828bd4afa5b7d1c14572fe13dc58575375fa1154befaa3a703d7891ed13f40838881a83526ee5c9943911e31a9780c4c475e8c3a166df7a4000397cf99b0188070961b209cd9314d1ff6fc7e4badf24591b09b23226ec9b78d3c04595dad60806040526004361015610022575b3615610018575f80fd5b610020611de5565b005b5f3560e01c80156100ec57806306fdde031461013757806346423aa7146101325780635b34b9661461012d5780637423eb3c1461012857806379df72bd1461012357806387201b411461011e5780638814773214610119578063a817440414610114578063a900866b1461010f578063b3a34c4c1461010a578063e7acab2414610105578063ed98a57414610100578063f07ec373146100fb578063f2d12b12146100f6578063f47b7740146100f1578063fb0f3ee1146100ec5763fd9f1e100361000e57610f46565b610191565b610ec2565b610ded565b610d89565b610cc6565b610c0a565b610b8b565b610b24565b610a72565b6108e5565b6107d6565b6105b2565b610493565b6103f0565b610372565b61032e565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9060208282011261018d576004359167ffffffffffffffff831161018d57826102409203011261018d5760040190565b5f80fd5b61019a3661013c565b5061012435600381169060021c60018111913415830361032857600382117f0203020301010000000000000000000000000000000000000000000000000000831a61020f8160a0840260240135877d010102030000000000000000000000000000000000000000000000000000881a87611e80565b9490928060051b6101c4013596610225816106b9565b61027557505060443560243517610268576102509461024391612584565b61024b612649565b6126c5565b610258612715565b60405160018152602090f35b0390f35b636ab37ce75f526004601cfd5b61024b925061025096916102bd9161028b611201565b93848361029882956106b9565b600281036102c257506102b8916101043560e4353360843560c4356122a2565b6123b1565b61245b565b6102cb816106b9565b600381036102eb57506102b8916101043560e4353360843560c4356121af565b806102f76004926106b9565b03610312576102b891606435604435608435336024356122a2565b6102b891606435604435608435336024356121af565b34611e70565b3461018d575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d57602080526707536561706f727460475260606020f35b3461018d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d576004355f526001602052608060405f20546040519060ff81161515825260ff8160081c16151560208301526effffffffffffffffffffffffffffff8160101c16604083015260881c6060820152f35b3461018d575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5761042661275a565b335f525f602052602060405f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43014060801c018091556040518181527f721c20121297512b72821b97f5326877ea8ecf4bb9948fea5bfcb6453074d37f833392a2604051908152f35b3461018d575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5763929eee1460018154147f00000000000000000000000000000000000000000000000000000000000000019081156105a9575b5061057f575f8080807f0000000000000000000000002c023f954ac2029e8941f30defc209ef5c994c5f600a5a04fa3d1561057a573d61053b610536826111c7565b611148565b9081525f60203d92013e5b15610550575f9055005b60046040517f70a4078f000000000000000000000000000000000000000000000000000000008152fd5b610546565b60046040517ff45b98b0000000000000000000000000000000000000000000000000000000008152fd5b9050155f6104f4565b3461018d577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60208136011261018d576004359067ffffffffffffffff821161018d5761016090823603011261018d5761062663ffffffff6020921661014461061d82600401615c33565b91013590611245565b604051908152f35b9181601f8401121561018d5782359167ffffffffffffffff831161018d576020808501948460051b01011161018d57565b73ffffffffffffffffffffffffffffffffffffffff81160361018d57565b60a4359061068a8261065f565b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600611156106c357565b61068c565b60809080516106d6816106b9565b83528160208201519173ffffffffffffffffffffffffffffffffffffffff80931660208601526040810151604086015260608101516060860152015116910152565b9081518082526020808093019301915f5b828110610737575050505090565b909192938260e0600192604088516107508382516106c8565b8085015173ffffffffffffffffffffffffffffffffffffffff1660a0840152015160c082015201950193929101610729565b909291604082019160408152845180935260608101926020809601905f5b8181106107c0575050506107bd9394506020818403910152610718565b90565b82511515865294870194918701916001016107a0565b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5767ffffffffffffffff60043581811161018d5761082190369060040161062e565b505060243581811161018d5761083b90369060040161062e565b505060443581811161018d5761085590369060040161062e565b505060643590811161018d5761086f90369060040161062e565b505061088861087c61067d565b60c4359060843561105c565b9061026460405192839283610782565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261018d576004359067ffffffffffffffff821161018d576108e19160040161062e565b9091565b3461018d576108f336610898565b5050600461090b63ffffffff600435166004016115e1565b9061091461275a565b8151905f92361515935b8381106109315760405160018152602090f35b61093b81836116ac565b519081519184608084015161094f816116c0565b610958816116c0565b14610a5757825173ffffffffffffffffffffffffffffffffffffffff169261097f81612dad565b610991815f52600160205260405f2090565b9461099d8a8784612e07565b506109b06109ac875460ff1690565b1590565b6109c4575b50505050600191505b0161091e565b60608301515161014084015103610a5257600195610a0c610a37928460207ff280791efe782edcf06ce15c8f4dff17601db3b88eb3805a0db7d77faf757f0498015191612ec8565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b610a46604051928392836117f1565b0390a15f8080806109b5565b612ebb565b50600191506109be565b9060206107bd928181520190610718565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5760043567ffffffffffffffff80821161018d57610abc368360040161062e565b505060243590811161018d5761026491610b1091610add368260040161062e565b5050610b08610af563ffffffff8094166004016118e9565b92610afe6111a4565b9216600401611948565b9033926119ce565b604051918291602083526020830190610718565b3461018d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5773ffffffffffffffffffffffffffffffffffffffff600435610b748161065f565b165f526002602052602060405f2054604051908152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60408136011261018d576004359067ffffffffffffffff821161018d57604090823603011261018d57610c00610bec63ffffffff60209316600401611aa3565b610bf46111a4565b90339160243591611bf5565b6040519015158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60808136011261018d576004359067ffffffffffffffff9081831161018d5760a090833603011261018d5760243590811161018d5761026491610cb491610c75368260040161062e565b5050610ca460643592610c878461065f565b610c9a63ffffffff809216600401611d2f565b9216600401611426565b9133811502019160443591611bf5565b60405190151581529081906020820190565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d57600467ffffffffffffffff813581811161018d57610d103682850161062e565b50506024359082821161018d57610d293683860161062e565b505060443592831161018d57610d7a61088894610d483686830161062e565b5050610d5c63ffffffff80941682016118e9565b92610d7281610d696111a4565b961683016114b5565b9516016114b5565b60843593339360643593611514565b3461018d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d576020610626600435610dc98161065f565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5767ffffffffffffffff6004803582811161018d57610e373682840161062e565b50506024359083821161018d57610e503683850161062e565b505060443593841161018d5761026493610eaa610eb694610e733684830161062e565b5050610e99610ea260643595610e888761065f565b63ffffffff928380921685016113c7565b97168301611426565b931601611948565b913381150201926119ce565b60405191829182610a61565b3461018d575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d57610ef8613c1a565b60605f5260205273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000f9490004c11cef243f5400493c00ad63166040526303312e3660635260a05ff35b3461018d57610f5436610898565b90610f5d61275a565b5f915f5b818110610f7e5783610f795760405160018152602090f35b613cf0565b80610f8c6001928486611d8e565b94610f9686611dce565b907f6bacc01dbe442496068f7d234edd811f1a5f833243e0aec824f86ab861f3c90d610fef610fc760208a01611dce565b92610fd460808b01611dd8565b60048533148733141715911417179861014061061d82615c33565b91611031611005845f52600160205260405f2090565b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016610100179055565b60405192835273ffffffffffffffffffffffffffffffffffffffff908116931691602090a301610f61565b906108e1929163ffffffff9161107883600435166004016113c7565b926110898160243516600401611426565b6110a961109c83604435166004016114b5565b92606435166004016114b5565b92338115020194611514565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040519060a0820182811067ffffffffffffffff82111761110257604052565b6110b5565b60405190610160820182811067ffffffffffffffff82111761110257604052565b604051906040820182811067ffffffffffffffff82111761110257604052565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761110257604052565b67ffffffffffffffff81116111025760051b60200190565b6040516020810181811067ffffffffffffffff821117611102576040525f815290565b67ffffffffffffffff811161110257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b611209611128565b90602082526020828136910137565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b91909161014081018051917fa66999307ad1bb4fde44d13a5d710bd7718e0c87c1eef68a571629fbf5b93d02604051604083018051928351926020809501905f915b868684106113865750505050506040519160051b8220917f42d81c6929ffdc4eb27a0808e40e82516ad42296c166065de7f812492304ff6e9093606086019481865101905f915b8a83106113445750505050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08660051b604051209401978851907ffa445660b7e21515a59617fcd68910b487aa5808b8abda3d78bc85df364b2c2f8a5282519383528451958552865261018089209852525252565b8380827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0600194510180519089815260e08120875252019201920191906112ce565b80827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0600194510180519088815260c0812087525201920192019190611287565b9081359163ffffffff90641fffffffe08460051b1690604051906020936020848401016040528083971683525f5b84811061140457505050505050565b8061141a87848180958801013516860101611d2f565b828287010152016113f5565b9081359063ffffffff92600593641fffffffe08460051b16906040805191602094858585010183528184981684525f5b8581106114695750505050505050909150565b8083888093850101351683018551908360a091828401895287608093848484018737820135160101908d60018884351601901b8851928184018a52833782015282828801015201611456565b9081359163ffffffff90641fffffffe08460051b1690604051906020936020848401016040528083971683525f5b8481106114f257505050505050565b8061150887848180958801013516860101612879565b828287010152016114e3565b96948093949296611528923615908a6128d4565b93909186519082519261154361153e8585612cee565b612d4b565b98865f5b8b8d8783106115ab5750505050505f5b8481106115735750505050508461156f9495966147a8565b9190565b806115a48b611590868f611589600197896116ac565b5190614665565b61159d88850180936116ac565b528c6116ac565b5001611557565b826115c76001956115cd936115c0848a6116ac565b519061461f565b926116ac565b526115d8818d6116ac565b50018790611547565b9081359163ffffffff641fffffffe08460051b1690604090815190602094858584010184528183981683525f5b85811061161e5750505050505050565b80838880938501013516830161165d838851928984016101a085018b5261164e81848b8186013516850101613046565b8452878a820135160101613078565b838201528282870101520161160e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156116a75760200190565b61166d565b80518210156116a75760209160051b010190565b600511156106c357565b5160058110156106c35790565b9081518082526020808093019301915f5b8281106116f6575050505090565b909192938260a06001928751805161170d816106b9565b82528084015173ffffffffffffffffffffffffffffffffffffffff1684830152604080820151908301526060808201519083015260809081015190820152019501939291016116e8565b9081518082526020808093019301915f5b828110611776575050505090565b909192938260c06001928751805161178d816106b9565b82528084015173ffffffffffffffffffffffffffffffffffffffff9081168584015260408083015190840152606080830151908401526080808301519084015260a091820151169082015201950193929101611768565b9060058210156106c35752565b9081526040602082015261181e60408201835173ffffffffffffffffffffffffffffffffffffffff169052565b602082015173ffffffffffffffffffffffffffffffffffffffff1660608201526101806040830151611895611861610160928360808701526101a08601906116d7565b60608601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08683030160a0870152611757565b936118a8608082015160c08601906117e4565b60a081015160e085015260c081015191610100928386015260e082015192610120938487015282015192610140938487015282015190850152015191015290565b9081359163ffffffff90641fffffffe08460051b1690604051906020936020848401016040528083971683525f5b84811061192657505050505050565b8061193c87848180958801013516860101611aa3565b82828701015201611917565b9081359163ffffffff641fffffffe08460051b1690604090815190602094858584010184528183981683525f5b8581106119855750505050505050565b8083888093850101351683016119be838851928984018a526119af82898184013516830101612879565b8452878a820135160101612879565b8382015282828701015201611975565b939290816119e39186519036151590886128d4565b9190805160051b6040017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082018051907f4b9f2d36e1b4c93de62cc077b00b1a91d84b6c31b4a14e012718dcca230689e76020936020835282a152845190611a4a82612d4b565b955f5b838110611a68575050505083611a649495966147a8565b5090565b80611a87818c611a7a600195876116ac565b5187815191015191614bed565b611a91828b6116ac565b52611a9c818a6116ac565b5001611a4d565b906040516102008101604052611ae9819360a08301808452611acf63ffffffff91828435168401613046565b600160208501526001604085015260208201351601613078565b6060820152608060405191602083016040525f83520152565b611b0a611128565b9060018252815f5b60209081811015611b9557602091611b286110e2565b90611b31611107565b5f81525f828201526060905f60408381840152838084015260809282848201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152865281858701528501528180850152830152828501015201611b12565b505050565b611ba2611128565b600181529060203681840137565b90611bbd6105368361118c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611beb829461118c565b0190602036910137565b909192611cfd93825192608084015191611c0e836116c0565b611c17836116c0565b60048314611c248161315c565b36151590611c5d611c3583866131d2565b93919290929a611c43611b02565b88611c4d8261169a565b52611c578161169a565b506133d1565b611c698884848c61353b565b611c7a611c74611b9a565b976116c0565b611d0a578593611ca08694611ca8948a94611c9a8e611cb89c819c6136db565b8961383b565b505b88613944565b82611cb28361169a565b52613a36565b815173ffffffffffffffffffffffffffffffffffffffff165b602083015173ffffffffffffffffffffffffffffffffffffffff16906060604085015194015194613b3b565b611d05612715565b600190565b505084965091611ca8611d27611cb895939460808401518961361c565b978894611ca2565b9060405161020081016040526080611d898294604060208201602086013760a08401808552611d6863ffffffff91828435168401613046565b611d79816060840135168301613078565b6060860152838201351601613078565b910152565b91908110156116a75760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea18136030182121561018d570190565b356107bd8161065f565b35600581101561018d5790565b7f000000000000000000000000000000000000000000000000000000000000000180611e51575b15611e1357565b63929eee14805480159182611e42575b5060031415901516611e3157565b63a61be9f05f52346020526024601cfd5b6002905c03611e31575f611e23565b600263929eee145c0315611e0c5763a61be9f05f52346020526024601cfd5b63a61be9f05f526020526024601cfd5b93929190611e8c6130a2565b611e94613cfd565b6101643561014435428211154282111761219c57505061020435610264351061218f57927f42d81c6929ffdc4eb27a0808e40e82516ad42296c166065de7f812492304ff6e6080528360a0526060602460c037604060646101203760e0608090812061016052600161026435016102043560051b6102a08101919091526102c081019586526024906102e00137610160938260a0528360c0525f60e0525f915f5b8261020435821015611f925790604060019261010060a060208560061b99818b610284018537858b61028401610120376102a48b0135179c019760e0608020895201978989528a60c0840152610284019101370195929195611f35565b509550969590916001610204350160051b610160206060525b8261026435871015611fea5790604060a060019301948686528760c08201526101008960061b610284019101376102a48760061b013517950194611fab565b5092509593505073ffffffffffffffffffffffffffffffffffffffff915011612182577fa66999307ad1bb4fde44d13a5d710bd7718e0c87c1eef68a571629fbf5b93d026080528060a052606060c460c03760206101046101203760c06080205f5260205f2060e0526103c0608435916120818373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b547ffa445660b7e21515a59617fcd68910b487aa5808b8abda3d78bc85df364b2c2f6080526040608460a03760605161010052856101205260a0610144610140376101e090815261018060808181206102043560051b928301818152336101a08501526101c084019290925261012083850152600161020084015261022083019490945292949060609060c49061024001377f9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f3160a06102643502938460a435940190a35f6060526102043560051b010160405261156f61216a61216383613d53565b9483613d9e565b93710100000000000000000000000000000100019055565b6339f3e3fd5f526004601cfd5b63466aa6165f526004601cfd5b6321ccfeb75f526020526040526044601cfd5b9590919293946121be86613e6f565b6121c88183613e83565b806121d857505061068a94613f63565b90606495969493929160208251145f1461228f5760c0906001906040845260208401527f4ce34aa2000000000000000000000000000000000000000000000000000000006040840152602060448401526001888401525b02019360037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc48601527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe48501526004840152602483015260448201520152565b5060c0868201600181510180915261222f565b919396959092946122b38183613e83565b806122d3575050600186036122cd5761068a949550614071565b85614061565b81519697966064969395939492919060200361238c5760c0906001906040845260208401527f4ce34aa2000000000000000000000000000000000000000000000000000000006040840152602060448401526001888401525b02019360027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc48601527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe48501526004840152602483015260448201520152565b5060c0868201600181510180915261232c565b919082039182116123ac57565b611218565b919082156124485760843592610104353360c43560e4355b612443578360051b6101e40335936102643560061b905f5b8281106123f6575050509561068a9596614133565b87876102848301358c85612422575b9184939161241c936102a46040970135908a614133565b016123e1565b989181612436604096959361241c9561239f565b9a91935091939450612405565b610268565b33926064356084356024356044356123c9565b604081510361258157602081015160c06064830151026044019060205f73ffffffffffffffffffffffffffffffffffffffff9360405194807f00000000000000000000000000000000f9490004c11cef243f5400493c00ad631674ff00000000000000000000000000000000000000001783528484527f023d904f2503c37127200ca07b976c3a53cc562623f67023115bf311f58050596040526055600b2016946040528180526040860182865af15f519015612568577fffffffff000000000000000000000000000000000000000000000000000000007f4ce34aa20000000000000000000000000000000000000000000000000000000091160361256357505060209052565b61543d565b82612571614f3d565b63d13d53d45f526020526024601cfd5b50565b60c43592916101043560e43560843583156126005761068a95966125a784613e6f565b604051957f4ce34aa200000000000000000000000000000000000000000000000000000000875260206004880152600160248801526044870152606486015260848501523360a485015260c484015260e4830152614272565b9195925092806126116002926106b9565b03612631576001850361262b5761068a9394503391614071565b84614061565b9084929161264261068a9596613e6f565b3391613f63565b346064355f6102643560061b5b80821061268d575050818111612688576126728160843561435b565b80821161267d575050565b61068a91033361435b565b6126b8565b9092836102840135938185116126b8576126b18560409303956102a483013561435b565b0190612656565b638ffff9805f526004601cfd5b919060a435908133141590600460018211911016166126e357505050565b61270f92601c83516317b1f9428552600163ffffffff82165263fb5014fc60605260801c930191614390565b5f606052565b7f00000000000000000000000000000000000000000000000000000000000000016127515763929eee1480541561274c5760019055565b5f905d565b5f63929eee145d565b7f0000000000000000000000000000000000000000000000000000000000000001806127b9575b1561278857565b63929eee1480549081156127ae575b506001106127a157565b637fa8a9875f526004601cfd5b5c6127a1575f612797565b63929eee145c1561278157637fa8a9875f526004601cfd5b90813563ffffffff811692604051938085526020641fffffffe0819460051b16860101928392602060a080940291018537602086015b8381106128175750505050604052565b848152938201938101612807565b90813563ffffffff811692604051938085526020641fffffffe0819460051b16860101928392602060c080940291018537602086015b83811061286b5750505050604052565b84815293820193810161285b565b908135916040926040519363ffffffff82168552602080641fffffffe08460051b16870101936020643fffffffc0869560061b1691018537602086015b8381106128c65750505050604052565b8481529382019381016128b6565b939492915f946128e26130ff565b5f357c4000000000000000000000000000000000000000000000000000000000169681519361291085611bb0565b9860205b6001870160051b8110612b5757507c400000000000000000000000000000000000000000000000000000000114612b5257612954908392969594936133d1565b5f946020945b6001850160051b8610612979575050505050501561297457565b614612565b909192939495868a01918251918215612b435788860151938215612ad057878d8b608060046129aa828b51016116ca565b6129b3816116c0565b14612ae75750916109ac91877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6129ef9560051c01918a61447b565b612ad0576020850190612a556109ac612a1784516effffffffffffffffffffffffffffff1690565b60408901516effffffffffffffffffffffffffffff1690612a398d8b516145dc565b916effffffffffffffffffffffffffffff80911691168961383b565b612ab957505050907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612aa5925b01925184611cd1825173ffffffffffffffffffffffffffffffffffffffff1690565b6001602081975b019594939291905061295a565b602093955060019450905f80929b939b5252612aac565b6001935060208093955f80939c949c520152612aac565b915050612afc9295508651908701519061361c565b8093528215612b315750907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612aa592612a83565b97600192505f60208093950152612aac565b97602091935060019250612aac565b61446e565b8a81860151612b6688826131d2565b6effffffffffffffffffffffffffffff821660208501529093909291908415612ce1576effffffffffffffffffffffffffffff84166040840152850152805160a08101519160c082015191608001519e8f612bc0816116c0565b600110179e815160400151908151905f925b828410612c6b5750505050606090510151938451945f5b868110612c0157505050505050506020905b01612914565b80612c0e600192846116ac565b516080810160a0612c2182518b896143f9565b92612c4a60608201948c8651865181145f14612c5a5750508086525b8a8c36151592885161442b565b8094520190815190525201612be9565b612c64918c6143f9565b8652612c3d565b90919299612c798b836116ac565b519060048410825110179a608082018051612c95908b8d6143f9565b92606001908a8251948d835187145f1496612cc493600198612cd1575050508084525b8a8c361592865161442b565b8092525201929190612bd2565b612cda926143f9565b8452612cb8565b5050505050602090612bfb565b919082018092116123ac57565b604051906060820182811067ffffffffffffffff821117611102576040525f604083612d256110e2565b838152836020820152838382015283606082015283608082015281528260208201520152565b90612d586105368361118c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612d86829461118c565b01905f5b828110612d9657505050565b602090612da1612cfb565b82828501015201612d8a565b6060810151516101408201511161218f5780612e0173ffffffffffffffffffffffffffffffffffffffff6107bd93511673ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b90611245565b91905460ff8160081c16612e63576effffffffffffffffffffffffffffff8160101c169081612e3a575b50505050600190565b60881c1115612e4a578080612e31565b612e5357505f90565b6310fda3e15f526020526024601cfd5b50612e6d57505f90565b631a5155745f526020526024601cfd5b91905460ff8160081c16612e63576effffffffffffffffffffffffffffff915060101c16612eab5750600190565b63ee9e0e635f526020526024601cfd5b632165628a5f526004601cfd5b92919033841461304057612eda613c1a565b93612f1482867f19010000000000000000000000000000000000000000000000000000000000005f5260025260225260425f20905f602252565b908351926002601f601d860116106102e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d860110165f146130325760018085169081604103927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60059388010160051c93808952880160209384820151928560238560e81c94019460e31c169081528584519118526001925b8684106130135750505050509661300d9161068a9798612fd160405f209261570a565b5f525260405f20907f19010000000000000000000000000000000000000000000000000000000000005f5260025260225260425f20905f602252565b90614a07565b85859101938684821c841b1660405f2081528786519118520192612fae565b5061068a9495508190614a07565b50509050565b611d8960609161016081853763ffffffff6130688160408401351683016127d1565b6040860152838201351601612825565b9060206040519263ffffffff813563ffffffe0601f82011692848401908737168452830101604052565b7f00000000000000000000000000000000000000000000000000000000000000016130ee5763929eee14805480156130e1576001036127a15760029055565b50805c6127a1576001905d565b63929eee14805c6127a1576001905d565b7f000000000000000000000000000000000000000000000000000000000000000161314b5763929eee148054801561313e576001036127a15760039055565b50805c6127a1576002905d565b63929eee14805c6127a1576002905d565b7f00000000000000000000000000000000000000000000000000000000000000016131ab5763929eee14908154801561319d576001036127a1576002019055565b50815c6127a157600101905d565b63929eee1490815c6127a157600101905d565b90805b6131c9575090565b809106806131c1565b9190918051916131ef6109ac8560a086015160c087015190614d1d565b6133bc576effffffffffffffffffffffffffffff6020816020850151169482604086015116946080820160048151613226816116c0565b61322f816116c0565b146133a35787158789111761339e575191613249836116c0565b600180931615878910166133995761326081612dad565b986132816109ac6132798c5f52600160205260405f2090565b92838d612e07565b61338b5754918960ff841615613357575b5050508060881c918483159260101c1691156132b0575b5050505050565b86979614613343578187146133265786829102950295029385019484861185870302809103958386116132e4575b806132a9565b856132fe926132f8929894959798036131be565b826131be565b8015018091049404928311613315578080806132de565b601190634e487b715f52526024601cfd5b925050508291939201828082119103029003915f808080806132a9565b8103955093505f91508190508080806132a9565b606061337a613383945173ffffffffffffffffffffffffffffffffffffffff1690565b92015191612ec8565b5f8089613292565b505f97508796505050505050565b614d4b565b614d3e565b50505050509250600191021861339e5760019081908290565b5f9350839250829150565b600211156106c357565b81518151925f5b82811061346f575050505f5b8281106133f057505050565b806133fd600192846116ac565b5161343161341d60208301516effffffffffffffffffffffffffffff1690565b6effffffffffffffffffffffffffffff1690565b15613469576134639051604060808201519161344c836116c0565b61345b83606083015187614e36565b015183615d44565b016133e4565b50613463565b61347981836116ac565b518051868110156135285761348e90866116ac565b516020906134b061341d838301516effffffffffffffffffffffffffffff1690565b1561351d57519060409081830151918401519263bfb3f8ce918501516134d5816133c7565b6134de816133c7565b61350a575b5081518310156135025750916134fc9160019493614d74565b016133d8565b5f526004601cfd5b9050606091500151636088d7de5f6134e3565b5050506001906134fc565b6020820151613536816133c7565b614d58565b60a08082015160c0830151604084018051513615985f989597959492895b8381106135d7575050505060809660046080870151613577816116c0565b1016612b52576060948501805151981593905f5b8a811061359f575050505050505050505050565b808a8a8a8a6135cb8b8b8b8b6135b860019b8d516116ac565b51968701958651998801998a5190614e92565b9052015190520161358b565b82888d838551906135e7916116ac565b519d8e516135f4816106b9565b15179d60608101918a8a8d85519460800196875161361196614e92565b905252600101613559565b919091606081019182515161014083015103612ebb575f8061365c613655855173ffffffffffffffffffffffffffffffffffffffff1690565b9685614ed1565b9082885af19361368a8173ffffffffffffffffffffffffffffffffffffffff165f52600260205260405f2090565b9081549160018301905560601b1893156136c25750604001906136b08251825190615c7f565b9390916136bc57525290565b84614f86565b9150506136ce57505f90565b6136d6614f3d565b614f86565b91825190608082015160058110156106c357602083019261372073ffffffffffffffffffffffffffffffffffffffff9283865116331415906004600182119110161690565b61372d575b505050505050565b61381a601c91608061382c980151965f6040519889936301e4d72a85526020808601528860408601523360608601528051608086015260a081015161012086015261014060c08201518187015260e08201516101608701528060a08701526138016040830151936137d76137a761018096878b0190615b45565b80850160c08b01526137c2606087015188838d010190615bb9565b019184830160e08b015286838b010190615ba0565b0193610100928501838901528085890101946137f38689615c03565b016101648101980101604052565b828660401b8d60801b1717910152525160051b9061239f565b9463fb5014fc60605201925116614390565b5f6060525f8080808080613725565b61384d815f52600160205260405f2090565b935f938554948560881c90811561393a57506effffffffffffffffffffffffffffff809660101c1681831461392b578282910292029402019383851190808511818711176138f3575b505b6138b057505060881b9060101b176001179055600190565b92509250505f146138ee576040517f10fda3e10000000000000000000000000000000000000000000000000000000081526004810191909152602490fd5b505f90565b93946138ff86826131be565b80150180910495049380851190861117613919575f613896565b634e487b715f5260116020526024601cfd5b92955050920192828411613898565b9550509293613898565b92919092613950611201565b916040820190815151915f5b8381106139ed5750505050606080910190815151915f5b83811061399c575050505061398991925061245b565b47806139925750565b61068a903361435b565b6139a78183516116ac565b5190858883516139b6816106b9565b6139bf816106b9565b156139da575b906139d491600194339061516a565b01613973565b50504784830151116126885785886139c5565b80613a30876139ff60019486516116ac565b51866080820152613a24895173ffffffffffffffffffffffffffffffffffffffff1690565b6101208a01519161516a565b0161395c565b919091805192608084019182519260058410156106c357613a846020870194613a73865173ffffffffffffffffffffffffffffffffffffffff1690565b331415906004600182119110161690565b15613aaf575050613a9d9061010061270f950151615416565b9290915163fb5014fc5b606052614390565b60049195935051613abf816116c0565b613ac8816116c0565b03613af55761270f93613ae89183519360808560601b9301519086615392565b9290916393979285613aa7565b50505050565b9081518082526020808093019301915f5b828110613b1a575050505090565b909192938260a082613b2f60019489516106c8565b01950193929101613b0c565b9094939173ffffffffffffffffffffffffffffffffffffffff91604090604051956080926080880192885285602092166020890152608060408901528651809352602060a089019701935f915b848310613bd6575050505050508282859493613bd193867f9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31989603606087015216971695613afb565b0390a3565b90919293949784836001928b518051613bee816106b9565b8252808401518c1684830152858101518683015260609081015190820152019901959493019190613b88565b467f000000000000000000000000000000000000000000000000000000000000000103613c65577ffce34bc6e1752c1117e5063116d25cad2fa2bdcf15ff2d2e275eece7dc31ba6490565b6040516080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f527f32b5c112df393a49218d7552f96b2eeb829dfb4272f4f24eef510a586b85feef6020527f95f740a33d720b7cd93c75d515ac95ca3bbaa2594cce46ea48e00974ea8fcd14604052466060523060805260a05f20916040525f60605260805290565b63fed398fc5f526004601cfd5b7401000000000000000000000000000000000000000060243560c4351760a43560843517171060186101243510166102643560061b61026001610244351461024061022435146020600435141616161561218257565b90815f52600160205260405f2091613d6e3615158483612e7d565b5060ff83541615613d7c5750565b61068a90613d95602463ffffffff610244351601613078565b90608435612ec8565b91905f9260a43591823314159060046001821191101616613dbd575050565b9092506102043560051b90613e5d82608001926301e4d72a8452602060a08201528260c08201523360e082015260843561010082015260606101446101a08301376101e06101408061012084015282015260a06102643502956102a08701610160830152868201935f6103608601526102c08801610180840152806103a06103808701965f8852015263fb5014fc606052609c6103048901930191614390565b5f60605261032482940160801b179052565b15613e7657565b6391b3e5145f526004601cfd5b90602082015103613e915750565b61068a9061245b565b9060649492939160208251145f14613f505760c0906001906040845260208401527f4ce34aa2000000000000000000000000000000000000000000000000000000006040840152602060448401526001878401525b02019260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc48501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4840152600483015260248201525f60448201520152565b5060c08582016001815101809152613eef565b9293919091833b1561405057604051946080519260a0519460c051967ff242432a000000000000000000000000000000000000000000000000000000005f528160045282602452836044528460645260a06084525f60a4525f8060c48180855af115613fe057505050505060805260a05260c0526040525f606052565b883d614004575b5063f486bc875f5260205260405260605260805260a05260a4601cfd5b601f3d0160051c9060051c908060030291808211614037575b505060205a91011061402f5785613fe7565b3d5f803e3d5ffd5b8080600392028380020360091c9203020101868061401d565b83635f15d6725f526020526024601cfd5b6369f958275f526020526024601cfd5b929190833b1561405057604051937f23b872dd000000000000000000000000000000000000000000000000000000005f528160045282602452836044525f8060648180855af1156140c957505050506040525f606052565b843d6140ef575b5063f486bc875f52602052604052606052608052600160a05260a4601cfd5b601f3d0160051c9060051c90806003029180821161411a575b505060205a91011061402f57846140d0565b8080600392028380020360091c92030201018580614108565b9394909461414084613e6f565b61414a8183613e83565b80614264575050604051937f23b872dd000000000000000000000000000000000000000000000000000000005f5280600452816024528260445260205f60648180885af1803d15601f3d1160015f51141617163d15158116156141b7575b5050505050506040525f606052565b80863b1515166141a857908691156141da5785635f15d6725f526020526024601cfd5b908591156141fc575063988919235f526020526040526060526080526084601cfd5b3d614220575b5063f486bc875f526020526040526060525f60805260a05260a4601cfd5b601f3d0160051c9060051c90806003029180821161424b575b505060205a91011061402f5784614202565b8080600392028380020360091c92030201018580614239565b9061068a9592939491613e9a565b60205f61010473ffffffffffffffffffffffffffffffffffffffff9460405195807f00000000000000000000000000000000f9490004c11cef243f5400493c00ad631674ff00000000000000000000000000000000000000001784528585527f023d904f2503c37127200ca07b976c3a53cc562623f67023115bf311f58050596040526055600b20169560405282805282865af15f519015612568577fffffffff000000000000000000000000000000000000000000000000000000007f4ce34aa200000000000000000000000000000000000000000000000000000000911603612563575050565b61436482613e6f565b5f80808085855af115614375575050565b61437d614f3d565b63bc806b965f526020526040526044601cfd5b91602091935f91827fffffffff00000000000000000000000000000000000000000000000000000000825116958180525af1905f511490156143dd57156143d45750565b6080526024607cfd5b506143d4614f3d565b818102929181159184041417156123ac57565b919091828114614425578281830961441857614414916143e6565b0490565b63c63cf0895f526004601cfd5b50905090565b9392909384810361443d575050505090565b61445383614459930393420391828503906143e6565b946143e6565b83018093116123ac5781830304019015150290565b6312d3f5a35f526004601cfd5b9193929382519460808601519060058210156106c35760208701936144c473ffffffffffffffffffffffffffffffffffffffff9384875116331415906004600182119110161690565b6144d5575050505050505050600190565b6107bd976145c9836145d293601c956145b5608060409c0151958a8d519d8e6301e4d72a815260208082015201528c6060339101528c608082519101528c61012060a083015191015260a08d61014091829160c08501518382015260e085015161016082015201528d6040830151986145876145576101809b8c850190615b45565b80850160c085015261457260608701518d8387010190615bb9565b019184830160e08501528b8385010190615ba0565b01906101009282018382015289828201019485926145a5848a615c03565b019a6101648c019b830101604052565b8960401b9060801b1717910152525161239f565b60051b9061239f565b9401925116615450565b60808101519060058210156106c35773ffffffffffffffffffffffffffffffffffffffff60206001920151163314159111161790565b63d5da9a1b5f526004601cfd5b92919261462a612cfb565b938251156146545761068a9273ffffffffffffffffffffffffffffffffffffffff869216926155d1565b63375c24c15f525f6020526024601cfd5b92919092614671612cfb565b93805115614796575f92915f925f928091815160059060051b83015b8085106146be575050505050505080916060855101526146aa5750565b600103613919576391b3e5145f526004601cfd5b6020809501948551518751811015614739578190841b88010151908087510151916060928284835101519201511582518210151761478a575f918391871b0101519283019a8c8c518091019d8e9115911060011b17179b9a528c518d8a1560011461473e5750505060a090208718614739575b97969761468d565b6154c1565b83929a5090869160a0945182528b8401518c8301526040918285015183820152608080860151910152338c820152015220968401858118614780575b50614731565b855190525f61477a565b50505050979697614731565b63375c24c15f5260016020526024601cfd5b939190938051926147b884611bb0565b956147c1611201565b90600196600182510160051b6020928360205b8381106149a357505050505f5b878110614871575050506147f49061245b565b4780614861575b5061480d575b505050506107bd612715565b5f5b83811061481c5750614801565b8061483161482b8793896116ac565b51151590565b61483c575b0161480f565b61485c61484982856116ac565b518561485584826116ac565b5191613a36565b614836565b61486b903361435b565b5f6147fb565b61487b81876116ac565b518961489b61341d868401516effffffffffffffffffffffffffffff1690565b1561498f5791906148b56148af838e6116ac565b60019052565b5160408101518051905f5b82811061491f57505050606080910151908151915f5b8381106148e857505050505b016147e1565b9091929394506148f881836116ac565b5183810190815180614918575060a0015190528c949392919085016148d6565b83886156f4565b61492e818394959697936116ac565b5160806060820191825161494d575b0151905201908c949392916148c0565b608081018051908b90526149868d6149798b5173ffffffffffffffffffffffffffffffffffffffff1690565b6101208c0151908561516a565b8282015261493d565b9190505f61499d828d6116ac565b526148e2565b8083015180516060810151806149bf575b5050500184906147d4565b909193504710815115166126b857876149ff918460406149f68b8098015173ffffffffffffffffffffffffffffffffffffffff1690565b9101519161516a565b5f80806149b4565b909291925f80528451947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101805190876041035f9060018111958615614b84575b5050851485151516978815614a7d575b505050505050505015614a6857565b614a70614f3d565b634f7fb80d5f526004601cfd5b909192939495809798508452604082527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc8401938451957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082019760205f60648b519c7f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8c528d520189845afa9a8b614b28575b50505050505252525f80808080808080614a59565b5f5103614b355780614b13565b3b614a7057614b775760600190604164010100000083515f1a1a15911416614b645763815e1d645f526004601cfd5b631f003d0a5f52515f1a6020526024601cfd5b638baa579f5f526004601cfd5b909150604085019081519260608701515f1a90614bbb575b8652835260205f60808560015afa50838352898552525f515f80614a49565b50601b8360ff1c017f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84168352614b9c565b9192614bf7612cfb565b9380511583511517614d1057614c0b612cfb565b92614c178483876154ce565b8351926060840194855115614d055750614c53614c4b608086015173ffffffffffffffffffffffffffffffffffffffff1690565b8884896155d1565b865193604081015160408601511890602081015160208701511890518651181717614cf55750606084519301928351105f14614cc257509160206060614caf614cbc94614ca0839761169a565b519451905185519103976116ac565b51510151910151906116ac565b51015290565b60609150614cd5614cec9195939561169a565b5160206040614caf885188519003968451906116ac565b51015251905290565b63bced929d5f526020526024601cfd5b965050505050505090565b6398e9db6e5f526004601cfd5b428082111590831116939280614d36575b61219c575050565b508315614d2e565b635a052b325f526004601cfd5b63a11b63ff5f526004601cfd5b63133c37c65f526020526024601cfd5b614d71826106b9565b52565b90614d7e916116ac565b51805191614d8b836106b9565b6003831115614e29576040820180519093908015614dec57927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe614de692614ddf6060968787015190608088015191615af3565b0190614d68565b01519052565b50608082015151614e24576060927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe614de692614ddf565b615ae6565b6394eb6af65f526004601cfd5b815192915f5b848110614e4a575050505050565b614e5481836116ac565b518051614e60816106b9565b60036040809301511515600488141517911116614e805750600101614e3c565b8363a8930e9a5f52602052526044601cfd5b959192939490948587145f14614eaf575050506107bd93506143f9565b92919484614ec56107bd98614ecb9497866143f9565b936143f9565b9061442b565b9190608490614f38604051916398919765835260a0601c84019633602086015260806040860152614f246060614f0e604084015185890190615b45565b9283608001828901520151838388010190615b45565b018094608082016080820152010190615ba0565b010190565b3d614f4457565b601f3d0160051c60405160051c908060030291808211614f6d575b505060205a91011061402f57565b8080600392028380020360091c92030201015f80614f5f565b63939792855f526020526024601cfd5b92909260405193815190602092602060c087028801016040528587526020918660010160051b93848901928160010160051b019781810382821002820160010160051b9111975b81851061501a5750505b838310614ff5575050505050565b60a0859183858b01526080908181863e60608501518286015201920192019190614fe7565b9390949197869084838c0152608090818b873e60608087015190818489015288015111615047878961510a565b171799019360a08091019501910194909493929194614fdd565b9290604051938051908185119482808203911002820191602092602060e0820289010160405280885260209060010160051b928389019260010160051b01915b8382106150b057505050505050565b9091929380959782848b015260a090818a853e606083818c018487013e8481015190870151608080870151908901518015911417159111176150f2858861510a565b1717980195949360c0908101939190910191016150a1565b9081519160408101518015600385111661513a575b60208091604085015114948451149301519101511416161590565b5060408201517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9093019261511f565b9290918351615178816106b9565b615181816106b9565b615216575050506151c56151ac602083015173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff60408301519116176124435780606061520d608061068a94015173ffffffffffffffffffffffffffffffffffffffff1690565b9101519061435b565b90919260018151615226816106b9565b61522f816106b9565b036152a65760408101516124435761068a93615262602083015173ffffffffffffffffffffffffffffffffffffffff1690565b9073ffffffffffffffffffffffffffffffffffffffff606061529b608086015173ffffffffffffffffffffffffffffffffffffffff1690565b940151931691614133565b92600284516152b4816106b9565b6152bd816106b9565b0361532a57836152e7602061068a96015173ffffffffffffffffffffffffffffffffffffffff1690565b608082015173ffffffffffffffffffffffffffffffffffffffff169273ffffffffffffffffffffffffffffffffffffffff606060408501519401519416916122a2565b8361534f602061068a96015173ffffffffffffffffffffffffffffffffffffffff1690565b608082015173ffffffffffffffffffffffffffffffffffffffff169273ffffffffffffffffffffffffffffffffffffffff606060408501519401519416916121af565b9493919260c060a494615402614f38946040519663f4dd92ce8852601c88019a1860a088015260a060208801526153ec60606153d56040840151878b0190615b45565b928360a00160408b0152015185838a010190615bb9565b019160a083016060880152838388010190615ba0565b01809460a082016080820152010190615c03565b916125818360801c9263ffffffff601c818760401c16956317b1f942815201951690615c03565b631cf99b265f526020526040526044601cfd5b925f906020929593827fffffffff00000000000000000000000000000000000000000000000000000000825116968180525af1915f511491156154a95750156154995750600190565b63fb5014fc5f526020526024601cfd5b9050919091156154bc5750615499614f3d565b5f9150565b637fda72795f526004601cfd5b909291925f905f925f9180805160059060051b82015b8084106155005750505050505060608293945101526146aa5750565b6020979697809401938451518651811015614739578190841b8701015190808651015191606092828483510151920151158251821015176155c5575f918391871b010151928301998a519b8c81019c15908d1060011b17179a99528b518c89156001146155795750505060a090208618614739576154e4565b829950905f8493819360a0965184528186015182850152604093848701518582015260808088015191015201528d0152209583018481186155bb575b506154e4565b845190525f6155b5565b505050509695966154e4565b81519294935f93849384929091825b8160051b840181106156015750505050505060608293945101526146aa5750565b6020909796970190855182515110156147395781516020815160051b880101516020815192015160206040840151920151158251821015176156e9579060209160051b0101515f60608201998a519081158d8381011060011b17179b0199528b51871560011461569557506060902086189060408c0151610120820151189060208d01519051181717614739575b906155e0565b9160609397506040826101209351855260208101516020860152015160408401528560808401528c60208251910152015160408c01522093602084018281186156df575b5061568f565b825190525f6156d9565b50505096959661568f565b63a5f542085f526020526040526060526064601cfd5b600981106159a2576011811061585e57601581106157c057601781106157755760177f403be09941a31d05cfc2f896505811353d45d38743288b016630cce39435476a9114027f1d51df90cba8de7637ca3e8fe1e3511d1dc2f23487d05dbdecb781860c21ac1c1890565b60157fbb40bf8cea3a5a716e2b6eb08bbdac8ec159f82f380783db3c56904f15a43d049114027f3bd8cff538aba49a9c374c806d277181e9651624b3e31111bc0624574f8bca1d1890565b601381106158135760137f54b3212a178782f104e0d514b41a9a5c4ca9c980bf6597c3cecbf280917e202a9114027f5a4f867d3d458dabecad65f6201ceeaba0096df2d0c491cc32e6ea4e643500171890565b60117f2d7a3ed6dab270fdb8e054b2ad525f0ce2a8b89cc76c17f0965434740f673a559114027fc3939feff011e53ab8c35ca3370aad54c5df1fc2938cd62543174fa6e7d858771890565b600d811061590457600f81106158b957600f7fcc4886e37eedd9aacd6c1c2c9247197a621a71282e87a7cbc673f3736d9aa1419114027f1da3eed3ecef6ebaa6e5023c057ec2c75150693fd0dac5c90f4a142f9879fde81890565b600d7f8df51df98847160517f5b1186b4bc3f418d98b8a7f17f1292f392d79d600d79e9114027f6b5b04cbae4fcb1a9d78e7b2dfc51a36933d023cf6e347e03d517b472a8525901890565b600b811061595757600b7f32f4e7485d6485f9f6c255929b9905c62ba919758bbe231f231eaeecf33d810c9114027fbb98d87cc12922b83759626c5f07d72266da9702d19ffad6a514c73a89002f5f1890565b60097f6f0ec38c21f6f583ab7f3c5413c773ffd5344c34fde1d390958e438bf667448f9114027fd1d97d1ef5eaa37a4ee5fbf234e6f6d64eb511eb562221cd7edfbdde0848da051890565b60058110615a4857600781106159fd5760077fb58d772fb09b426b9dece637f61ca9065f2b994f1464b51e9207f55f7c8f59489114027f7ff98d9d4e55d876c5cfac10b43c04039522f3ddfb0ea9bfe70c68cfb5c7cc141890565b60057f25d02425402d882d211a7ab774c0ed6eca048c4d03d9af40132475744753b2a39114027f1c19f71958cdd8f081b4c31f7caf5c010b29d12950be2fa1c95070dc47e30b551890565b60038110615a9b5760037ff3e8417a785f980bdaf134fa0274a6bf891eeb8195cd94b09d2aa651046e28bc9114027fa02eb7ff164c884e5e2c336dc85f81c6a93329d8e9adf214b32729b894de2af11890565b60017f832c58a5b611aadcfa6a082ac9d04bace53d8278387f10040347b7e98eb5b3029114027fbf8e29b89f29ed9b529c154a63038ffca562f8d7cd1e2545dda53a1b582dde301890565b6309bde3395f526004601cfd5b9190915f5260209060205f20916020820191602081519160059260051b0101905b818410615b26575050505003615ae657565b8351808611821b9586529483189490945260405f209392820192615b14565b9081519081815260209283808083019301918460051b0101915b84838210615b72575050505060071b0190565b8160809251805185528281015183860152604080820151908601526060809101519085015201910190615b5f565b8051603f0163ffffffe016929161068a91849190615c23565b80519182815260208080808501948660051b01019201925b828110615be5575050505060a00260200190565b60a090818581835160045afa153d151761018d578201930192615bd1565b615c1f602092839283815180845260051b948593019101615c23565b0190565b829060045afa153d151761018d57565b604051906101608201604052615c71610140918281853763ffffffff615c608160408401351683016127d1565b604086015260608201351601612825565b806060840152519082015290565b90915f925f9260603d10915f905f925f905f938615615cdc575b8615615cab575b505050505050929190565b615cc4939495995060209850615cce9650880190614f96565b9590960190615061565b9092175f8080808080615ca0565b509450925060405f803e5f51926020948551943d878201113d8888011117968715615d08575b50615c99565b9450809650849192505f3e5f51908385813e835193808560a0028701013d10908360071b8801013d101761ffff8584171117955f80525f615d02565b815192915f5b848110615d58575050505050565b615d6281836116ac565b518051615d6e816106b9565b60036040809301511515600488141517911116615d8e5750600101615d4a565b8363d69293325f52602052526044601cfdfea164736f6c6343000818000a036c49a5acc73113a86de030dd7a7e1b42d731eec106c44996d7d94dfce6436df603a7c8a81c102b7975651bffc3bbc8a39bd3305616270961a9861447b2b21a73e3036f6af59ca57592cba287de486e5d1f8ddeacbb837cf2a84e5d2385d8dbbcf33d03367d42374da64ef53a527d8fa3965bdb1952218ed48838f12d5c900b3a482f9303eda5cfb60c6e4782dbabc98d790dabb9240c5f0f5123ffe507ef84a439034f2003e8a5fda2c768d47621e8e5635cfb45a61977dfcb6d923cc8f8060888e4b1659403b74f0fa51c7b57ea4c8dd23acbe2fcadba82120f14ba152c15ac235e957423610360d917595e1edee7bc4af0c2497d7275f8ef7b901d44443fe2c5c845a73fe80203da623a7dd519c5c13493824cad7e7792c4a04f6229fb087ac96ca240da21f3870357d83901e0c3b49c4eb0a2a2114449a5485ff3517071cb32ccd083132ff4600203d41c68c1a333eba1435307d30c3857e6559b40b13ede30a786722d15c9c540430356d6d1913b9fa7396cbbe6fe7f2be9abc3ad0ecbf50e6494a4a2c760bdc74c7c036df7d0415859b9b9f726e3a0e208fa73432fa99d8fc88ff498481f66a9f1184c03317b8d5b810b1c3e4023095026b72fabec077fd774306e01afe1761ea80f9afc03a6c7fba798b0ea92da8bac9064cbeb3609ffcef8be82eef7dadfc9685db34dcb00581f02637ef244a4ad6fcb5f86b63a2896ef27f216aab6091c03536fc9f682ed5a420100031073836e71f61661bb34f40aa5660f1cc4df0111b2a916b887634bb92b62fdcd0353b055f4aad6a0aa2c32cf75faa67ce8f97feeb4f643f5bdf0f762bac646430a03e0efbb3f3a02d11716844548d22498637c8d55c9f6c240516b87e6d3cac42e02039895877cfa3894194c563b5d034f0fddb2900aed6c37e659c12b1acda25d4bac00581f02ad96c49ddf880f6a6c45752ceaaa55ffb0cf0b61a88d4075d661ed11ff64520100000000000000000000000000000100010384eef5b867bf28e778669df8dbd3c2048f6ac404b43b2904ce7c9424b8f7c3bd03be2252fab9908847c0b2f01bc881ce5c4b8976984612988f80691a5f67b0ef310219ffff031438cfba3c2296a34fe11bc2f85c3feaa8a0df252175de4b1052752e02b4d36c03ece57b9865ed57e146bbaeea694d28304ac32acdfa4c3d095a1a5109dd2a4d700352baba73d3f2a0efafe03fd24a42756314b8f594d188c62fad83d8aa37ed8fbe0302a559ae105a93d34857ffda20d77a9b859f019a6af715ef02dfd3b1b9e7ae26039c5a2b818f279131ba630d676e3439ac50b650dc6e94c2e14ab57808b3bf1bd8032bfd99de041dfb48a46d0b3d40c0731ff603a449cb2c3f9675df220e3b4a233b038a9c000ec6d184daa5722b18b5c0b909dffd7870a68dbefa3de3a8db238ecba8030301f9051c5ee386639ed76a4939b4f15ed8132b71bb55326162a669853ed0c40316fe810dc6046f40d07d8e9080b8b0d9e50f1cc07627595bd6f4adc3ac5484e60385d126b85593183e3c78ccba26884e30874391577d91ec2dfa59b0e5b5f0e51403080011fb64789a661d143f833d0faffa9fef817a310351a314e6148aaaec0e9d034f9eeb139ca554eca3b9b96f768ebf46b99488204d3a0746e9353e9aa80b31d80300a650611dab25b6df8df20abafb7a65f7a11398693af8c679a20422a8fe7d41038c1c6d927dfff9645a54997706931fdc54d68574dad5568dad5ddfb987b2cae903f02d6edca5504fde304cd258f8c22ffee05cb0a7198c571ba82c835c29bd67ac0219ffff03df9ec540fbaf2c68536ab2085b6113349bf7d218c21ce5f067d15e808160e83a037dc4e8ce6e07c7240d55bd506e6e80dae883c9673a4de2aadb18c7ec06b266f403eb4c0831db9657195d031e19ad15719d8ca80ecd8b70fcbf65719b48a601782f03c7f08d216d78764f57361882b06255dcc4a7b85ca2c2219f2497578b30d7d5f50365d1f00f1bcea6c6c7579206bf8eea557b480381404dee7ca9b51e898f493b7603b80c8b91bd8c2b81eaede48000fad8287e109abf2e6d60fb731e748b90ec71a4034100574a2855cce004dad5d3d41fc3e4c84c017587e4045094b3c551d436d133030decbbbff36500ab02c7357a328aca1994a4812fef4396ac720a0d756efb5c2f034845cdd91f0a82f4964c84f6a6c4b71aa72326da916812efcc9d1ba9b64bba790383bb509243f108b47b1ff4f41fe1bb9e746cd4fd467f51468957aff377fa3949037efdfe04dc925318004c62207894d03e27ef3fde127cba0600dfc21b2d9a56a10351913ff414e7c96ebe3cea8f62cbf4781afb2a41292133392cb810aaef321295036a52e1432f57c8e53d14313d893b7a333f1dd581a3c1357abc8fd49a4a4ce4e303f50a52e65975e61045913777d75b38cd9800ce643662b805ba2bbfd36a169511030da143e924a5013d42ca3997af71bb7cd562ef72b8916a64e217d7dec82b813e00581f034f7679b11eb827ad82d422743daef42e4bd286494b20f23b9de3f4b71e705201000000000000000000000000000001000100581f03d75544776654a57d7a4c18f9043395d5c4d851ef05c61220bbc4d82939905201000000000000000000000000000001000102184803d143e7d127f0443a8ac21a620fb2546b75e8ee3c9cac487db278bf5d6797df1f03471d6b43c218871afd9cf2c82b0146fadc5dfc38ba96b57439481b1f3cabd1850384f35ea2399e4561da430a7e94912f8f6aed7741e8981e3300282f10db587839034f2dd95d869679429a5b5aa015502dfc2d9772abe6483dd1de21a04619b005520329b512cc49e3f8586cc09da0e58b835d1e00008ca644fed1883e7b57415cc2620219ffbf03f78b9544fd40cce0cf97a71c221190918f223314bdb74d31e393cd220e132bc8030d962de84e4f48015a621145fddbad5ce9aa5b00c34682b6642b0c3dba81ca5603a91c64e5ffdc8f5a01fb0a491175c86dc82c09cc49cfa0df379d789365549fe1036a486aafcde54a022b8766a94e990d8bbbf275add92f927ec5bd539827ffaf19033385b75d6d790fdb081d2f57af1c84b8ddda2b6d2d2f69e57a351724027f38d603a76b05072b50c3aea45b7b5167d2266cbe0df380ac00b742cde92d4aec66cbea0394069bd048b7177d6fd837b90a2a102fc4dbbd626134258437b6f2fc4960bb1b03dd3efee62a5490f18e3783a5a56be94b20ad8afd7284d3e09280abad4cdc95690373b3d7d30a35194a4232adfddba8f30ced6ec187f8282751015b7755d3381243032169857da2a5b020722527932e1c0b0734ff1fe16e03ff598628a745f2b5a5330219ffff03261cc8a01f74cf6751547a0e67f46c1b3f6fb3cd366308c397263ad307b75243037a8ab37bc9c05e7680a64021c793cc7fe2a85119b538fec5a8295f069097ae5f038a4729dfd8ec0d7d2b01eb380b4d97ef341c3758de4ff51f8e38684b1c24e7c20396f7e091fde7cdf763cb4cd7c8872247531db2dfd4efc579123f9729e86c220b0390f23aa7ac79061d1da263ea6e16675f3013ac92c79dc13a34fa930439aa0bc2038ab97ebc9b9a9f508df96bc3ec15d9aa7b63781f21d6478ee0afc8c38dcfb2ce030d0763e1e44550af45ea54c1029ff2c6ec604f3b5d1957dcf7242e67fa23ac190341cf8e0d0d7f9b1b249cd3cf87af7727aa732eb384ccaf338f4e3ee74b56ebb80219ffff034cd03ffcff38b8a019c12278234514f7567f11ba31b45c3d606ec3afb78a467203594bcec4ccf5da1c9ba540aaf80f32343d68ad6ce5ded9790261ffe3409fecfb03970eae2aa32e7c0af8816eb68872e35fc6c5926edb1e1915359cb3da6038c1a403f164593e401a479cda2a23b202976a92afca647cc9dcab0d0d3c9e1422ed86940352ad1bfa56bec617ec897ca7a514bc67b245b790d6ce00d61deb9270bc794207035b2eb749358e8d1e644cd2dce7d29beba218351046eb1785210ca21e8c896a3903f2935f64fa9a4377b0acb21e5407824ce1338bc13268f2fd3383dd8478972b8f032ceba7ce9dc6997d43b0b544d0800ee9a4f36da8b40cbf3f13a18713351a42cc0386c43645ee6d876459a926e24fe685ffdf5dbabfce9378ca121e0fe23c5f9f9803ae45a9194b3090bb18b700773a61ac43e22b510b9ead5d5b98dabde814f21e6c035f560ba9a93a8d1f6c082b521b920c177667b97c108817da412ec34e175979bc039bc7bc20e87d7693170f89dd9c4cf59f3606bdeab8a09158d92debfe220dc7c003df5fc622d1d053355c55da66524aa804ce2015596abbfd2372505fd6d4297408038dadcf789709e007e0fb8414d5bdd5bc47dd99f798a383bacb02018433ce3bbf03409e6c343c7fb54da0c14360d1c472192fbfdf1cabadb069eba174d49803f88f030aeb4484291bfa524b2588b4f3b926f91ce62fd054e6e8a69a6c970368831dc90338507d54fb73e6f9dffc5d782d8f2ef749096d26626216d572f56b8a398b37c103254d2ca0f1d22ba567ac66fb400d6ea92dc207f6cf5ae2eab00e41ad0cbcf53803491128c26f8d8582080120485a2d67b99732f78b35fcbb7847784ef98d9050ef0360aa46c80c140ee18aaa26fde6accd8b5ecd4270ff8eafb2efee9224c23952d80372d043c14397bb61ef33f23fdb3f7620aa7461693b3d526c3c5044f2d1a19b7e0390704dfa90c2f73f2a75e57848cc106be7e63913fa77c9b542c5b5e649aabf4b03d24602797e5a22712cac2e78e0b9b6ce5162884262da26dbdffb832385af920303baaf65d10695d593901fcb9763d05bc57d82b85ab2a560ee20cdc6869e99ce9d03e29bd346951cec5376449b25103b7f6d139ccf74d6b7fa705f3a4b4d834e494703ca14cc5edf7b2e245b86c086afad6ef47197ab16a88412b04ae064a09a690e2103becd9aac58b656b85e20657bc35e2ab7cdb3e25e07afb3f6ac7c375e26dd745f03b91f5934f3714e19aa54f8e9da34c75e5487e578f0c56ad4756bda90d10b9fb803d53d5bdc050e77e3f8afb78719da4b643e1b721aab1b5b325174bc7e861001360302a65627363645ad860cb98f46398e314d47c358f1626325b70ec1dd81d0e73b0371991b0d888e516a9eafded178489d784f9a57db1c1618e5e523e0acd0eef235034eddcd89cedf1aa2413446cb44162785499bbab3f9b18091334e34230fcf91ce032599ff5942e682a0a47480071e62bbe5fa80c90c2edfdbc0f5c00769ecbf9850033a1b98c22f70d45a51682b52506f15bf039b6d04d9b361d3ef94322cb097921403f84c7d0cfa0ce6f2ed529204303c21dc17371fd76333d94a32687af4c15816b50308aac4c034837134caee2a813f31f208336f55332d9c1c3070eeae67ee19ed2a00581f029d46c00aa712a7741d1a65e5ea2fffa295010229519aab0eca2811fed3045201000000000000000000000000000001000100581f02728286758ad1275c0eaa4a73a669acb826c1171869873cbf37a741e9c8a65201000000000000000000000000000001000103d5815592a5551c881e18577edf519964fa192019042274374b7a5583a02b813400581f03ec1fd822ef7f2cbc7ca576c625176564dea0289f242ba772fc5713bab2c05201000000000000000000000000000001000100581f034846b63d9516b78155c6f5226338ac0868b1174ea44123cfd9ba75e34b105204000000000000000000000000000003000100581f034396f7de567d55c3ab02930ffbad3068090b8c29b082ae62dd745cef35a05201000000000000000000000000000001000102190111039880e204d8dbc200ae66f205e558b876572663d4e819f678e234435bc68fb24f03b937efe955fb81bf4414143e9e50870cad60cfe81253553b1b6180c61a1f66de00581f022903e2f9792421d5fd150782ff16d376659c810afd7e07cefa8f387cf80952010000000000000000000000000000010001033c5dfccfc70e2bd7347c528d1aaa4d9e1d7356ed361992391c715d6ed814440e0219ff7f0219ffff0318e159375d3daac679fa8599c6716bd273a719d3933a50b1cf088ffdd3ba43e00219ffff03b077f6b805e09c2c3d3dec1fceff81af73dc68930c3c1410f2738c8887fbf75c030c7e06e2939d29cfb55f6ed1fe9ca7bfd59057e4ff438e94a813aa9ee0018968038c8e1992fc57a9ffa50c0a33bd0603e2db067ae43c848274019f208900c65f0d0397fefd51a9a8eb4b685b2d4361a96f70543f45aa07b0330376bb8f558bf8919b037aa559efbc0632ff046fe71956658c78796ac6bbee1fdf3ad1dba24085b41bba03a0a2e0e9ad9b41a098a508c621eb6c003ab5727d0a073e212d0a53b0b56cf6f103e1817f1ebd2b43d347413ca997ba88b74dcc8813fdd25fea3f41a4eec2b6b06303d702fa4e8654ce148ff11f476d622af03dc064917845d61405ec110e45db02450330863caff9f1d3652a9638f6853737b2ae50bb2f6de6188e1f3d47f7a19969c40399607dfc4c5353f5403ec11f7dc3f10d96ea2b635331c8604d93b45fcc3e4f5003dcbb24b0ce94a93757e176a689e3ba00580fe55f2a817029a95f5bf65b66735203903012fa9076014c93ee25665738856c69ab839ff2615811690abad8d6ba85c2037aeb626ac1969f75d23465ca94df653e2018fd2bf03451838dbc5d65b5f54c3103c73815cdf5a91a6baa7b21e4b576e767ce6d6c95ee9c7e193a4cd02b491fbbdd03c100a2fad3446951aa52f398ff64be1da6d6c90084b28adc18b5b4e85bc8e18e03cbadef449ada64488627bd3a4cea74b13c9979bc73e761dce17319401a8e313b037b7722b506772c199eec21a852350101fe115b7506f6282bfc6dc898a49ca91503065da5b86f5ef50f44a874fbfb79b62bcc4464d4c59ad1e0533ceb6fde2cfdfe03aef4ae379d8c18384b3e34a2081634927b3feddc27f79154191119de66c27837035f93bb4a455d687669a1660370c8bad3705ff6cbc194de0cab60aa3a825e3cb50396007dcc63f686d2fc8e77b4d5662fe7a5f0750f2b95680feabf05ad2ef8f4e60358c1dc8483635386ca80f3911f70e14583a4b85d75d9e4d5348b94bdee124272034c4f4c0f1a6ab832caf84113f84efe4116b6d32bdb514838748e11cc0078f757039643b193553490685bce8348e21f9004e7e9f86b6e51d1926924c4f69706486e0305939f9b08c1bccf53397da4d0767b0fc4b6a49f8043db91329924a23159240f03bce2e65edc5c7719fd85ae99114d53ed3d70bad3cb19d827feb2ccefd725d2ab0367b318a1100dd5c47b0a478d061a57d92d0d8caf27b5a2ec45611525beb11c6d00581f035c2a5d4b1ab87390e0811200cfd8c3a233fd75164b351054574bd1dbbfd05201000000000000000000000000000001000100581f037cea92f9623a350a5109e73b83207f4aec4eea5ee0fa116e1581a95d9740520100000000000000000000000000000100010218880362f705f2c9122b2da98e9a4cccd7e6030ee516a39b008b5738aad6238965b1ed0395392f43dc17661a83e0f1e5faec6693762f4f822d9a0d0827c23705a59a367b039a27d86dc97ae69c630ccf22b3d93a481e9db2f98b146f33fe85090427724278038f7b385a2c54cfb1122fda69dad3307057ccf7e7baf54269ea2f5f520746d54d037dedf388318c5966a9502b9260af4e2b1f29e74a1beb062f3bf8e3ecc2fd1a8a00581f02b36d4f88ea1e259bb08b8381099f6bcb64e42f7da6e24c643b68421dd9f5520100000000000000000000000000000100010357ad4ca9c88b8e215e85526421826bc9c7e861a78a832b71971f08a84f23678e00581f0286d44fa1dee73e8436346af18e1b321f9d257114db6128963e590a59f1774201000327fe1717635ef37abdabfa318aa6ad9a7425ef89962468b7666c1c33dc7fc094033f7a6c645c5ffc5444342e2718e1eef960153bf503886fe8ef8b2d721a1f09e30219efff033c2e4c0f0616d9be867d2a7c31af69216d59fda13ed17d13f739c2075903758903f59ec6d824620a4dc83a0101c6a11fde78d61225023a19d3b8d83af545a2f3ea039e6a6b33bed0814409568aff788ef05d28b9456a64ef7b7db3c89ce5034a74c30219ffff038dc94e4108433099a407baa808f728e9c9808210f662cf70ec4c2fef1d39b25f03e31120840dcba4e31b325ff047b5d555d1c311909344e999f563d1a815392f2a030becae04e6dfa5f57fb2b9af17df6e5d3e03631a0c23a716981638fe0cdd557e03e0e46606894bc324f025ce8177947b4692f892dc9aa3d66d485e573b3ef8ce2c035958d2c213bdc383b0331db5e1f9746cc5342457689e85f9f559aac41af6f82403b2990294aefefda7c219463ced4ca985d6759a24d8284819e22d6751d78591e80395854cb84a892198bcdb2ab23551940ed7fa138a5ce1978bb0c5b7212bc9b5c303569c5e63bdea7f0284a2f55dfefd858acc2bdefbc941d2f2f56101a880f3f1ff0219ffff038f56bb5d1e9df5fefd7d4abcefc0dfdfaf36675cf774e1477c48833719fa90a0035ae40f69a57f813f108ee5110423ca47bde444619e2d53c0aa4213d643916ff103ba60b030c9c2028d4486172376d8d1a584c58bae31c0d54f38ca35cbccaa6f40036b48dbbe5b73b6958447eb861058f7edf56dc87b0af23f6bdc5fc37636b862720360f52b3f4e6b2b41e2699def6af3f4f0d8973d30ef5a4cd0e689027a906968ab0371115b92d5968455f914ffde152991f1169f832c859aab5964fe9bd06a4a6ec6037f252afb61a665d5ea94631b0d0f13461bd70f91bcb4368f371f816f0ad7df2d03d8e1e8ac89aac8df23beb5bd8e6927024390866b88983dd13151e8bdb822e44e03d8096e33bc3e9a007fdb006ce5e88eeafe58c7828a634b40af5e8d9242ebcc3803a879254ffcaa55bd8d2673791a89642af72d847817812a2d5f1ca6367303faff03fc4992885635fba6516bdd27b93afe637b9c6d6a3e275df2e376e34efe175441037b48d18c2e9b6c35aa859cfcd7cfe70a711b22a54ab14868be2c59705e184fe903d6481fc4204e9b4c1847395071b4554ebe220c58373d72a284e9cd0bedc5e02303d49635aecbad1f6b7134304884910823d297de2f38a31f239542220b7adba81d0304b6794357b5ecb185f8c33c814a45e31fd3f9da8a3b0dd01635125b7464f96f0381ac03177134544c8d3b0311ae580103e2bd7b653530fce66bb56c319912498c035d10e9d2ffc17d09f357d62009a988ae38c7765203e141e59dbd859af205c9770378dc3c0c3360c87e488b30b68cd0450ff0dbd12e569a79d07a8dc29af73fa81f035643d025fb60deae8c87ffecf63004b730044cc8d4782160b66ee5ca2d78fe960388cc12e80c7a7daa7697609e279dc0c4473c0c9fb123cca416b5f0a4a83b8be103a5d27457ccbf68c571d89885f903c3138998a9ae3ca7a6b21ef38f31c81df02d00581f02a85fad778df0bd07cb8de8e551a38790930b991062566e410a491f1a0a0f5201000000000000000000000000000001000103c685612a9946a0c280329c5841fcbc4242c02a03ad9ed7ff2a71856a1985e7ef032ecb4f0ba152f0fb71381d9d6b947624e0bf745429b53e0d800668288f0be381037d7223ce1ce07c2be01bce3ae144ac9f446f01aec26b34b8c51759ad1a15525203646604e66fa9e5c91be6ab41c5c508f4d66c32296e5825bd3196b22fd85a294700581f03a861d55b9bba47cc8b9dcfeeb36174eb05084f3c3fdb1fb6bbe95aefed00520100000000000000000000000000000100010218840378e993b3995a51da5d02f00e294d22e131feb7da27115b64bf330c164dbf812d03c6a874ade90d8a372b258842ca011eddf1bc0dca1821ab2791baa720ad52044103c4db685829abde4918c04b3e190973778167b26fb084c2fc69ef1f23b12c3c9203bf12a33bc25ecadf1ac42dc16f01ebcd37a403fb65c52f180a356e97e18d798b0362c193a346a7da7bb20ae16088f18ed803d80f224b52aabcdb981e40a863fcf4030727459fece134d706f32d9d7e63417ed2ea5741ad893f654de1ecf39cdf3aff03bf4d04a36811a33f713531bd8034c0bf64bc5ff02814f2c229540e96ae44e8e2014106034c92a3776eea479e8bf0be3433236497ffce564c2c9628fedc8af80d6653ce3a01410d03db90d32a7692c1fde10d90d042c5a6012c3b3a0fe5fd41abd80b7dcf216061c903fa68d6ae0c08461090eee7e2521ba840a114e7eceeea1b207fa4153c04b506060219ffdf0336f9afebfafd9aebee537017f40a38e328a8dfca95bebd14e37ebee630fd73fc0336bb1d3e9c50a54cc24e2e9e40d5687f4fa16b904c0df4bee031dfdd084e51960354fd824947b987fb44eca81b8ab9f79b1ef698d904dc25932b79c8c3662b20b7033728d4c56d8739c5da4a46aa794576c3343b3c8b303fc005773161188dd7be7803c0c8d3634d18d6520949ee184f671487da13b756aa296a73d3eb515d1e89d70903238ce74b712827070ce50a72dfffd878bfc102edda10b26fa59b80c2008de3730219ffff03528a33088cb17ff0bb1988a8422b53f06692cf69a337d83127de2a32be9c81f60378e3a4e8b287587e61c5b63bfc918bbead5c92feee16b2ca2c87b20e6437f0ef03f7b9eeba541e2c74ea0fff8de6c05d2e0126ee9c378ac4224d6edf1b252e2c1903f0a1ff93de34c1cc70476e1b79376275d39cdb05e3f6a6f33bfcb15287b80956033affba7c314ff67d959c43b0d5dfd630fabf5243276efb33ea7de055304c381e03014566cab51c16d6127837fa86dc153928361e5936f320eed2932d9cd7aa2d07038876278c9821396f86522530174093d870d4dff2fc6459396d94cc7fe789c96c0341fc86f1d8787c07a506fe5ddaabb4c2da7d4d67c865489b2d6ecc5833427e5903449192034489ae5af38537c9977e4f0ae3fd82ca1889d748461e021789328f5903f81b8ccbe7df1a3ed566c92d60e1b68f60d62c21e314e75ad852abc10ecae9f403fef7119dc4c3accbc4b05ef1e4a325523587b24fdc80f16b5fecabce7b12e3b200581f0229040dc601ccd16df3fbe7a996185f850e08b52e3487b0fe1468901c42dd5202000000000000000000000000000001000103415ed7b373a53dadea9a10a67f4bb48b722f42bc875671cebf1fa7fe6d0fd01900581f02da9038ea535a120e5dc2be6353e3f06d396fd735140f9e9db3017389fa0b5201000000000000000000000000000001000103b3364975ffcd2e19ff07e3bb35c7141f0e82a9cb484ce07fd4e66505cc2de937030a019ec555c17f13f8e3078a10bc3d3741c7e52a4364057aa84bb0abfb1b2f2500581f02abdc995143dc3afc003fabfb6c81826066dff4b2c12cbad9834ad2bf86395201000000000000000000000000000001000103337516f5ecc4d723aab59c2f59dc5eab76cb0d66e45c59458cb7e0f6cccdb06d03a9b085254ea28a3c93be2cd2bb2bf035a96ab1faa3ff847c14129ed3c9c97073014103031121447a55e663e3b108be31fb4631fe12ed531b449ecbdafbbf7591058172820336b70b9e81c646097c4eceaa71ad2047d35fe2b756756947710890ae41cbe7d5037c7a967bdfca10d0c6f71af03b3a5b5047bab63d17b8c11941b995b14e94f654035fab29c7f3b65f43b3d9588c548ac40a1919a8acc86e2360e01a154939bca445036ff0168db11c0b86e283895770bcbbfec7012efcbf591a461e713ca6d4eb39b20328d31cbf74a90ffb53558450de08179b019f29c0b8e2dd9fb33c434f9a3225bb037b890f2d05807812d940d3d9906367e28d1dd2d500157ab6c6d00886f286aaf90219fff7033c59d29195813e50278c47e3cf1f7cd0bd12214767fa5d7eddf23e6f370d6f0f031b6e0d615b898ec8a03be0076f266c9f1547a8712664ff20f922c6594f2dc44f033fb417a558a9efaadd0399f809fea342c04fe59f20b27bfb6aee5a416e0a0152037d926b3a040331a8292f1a24a9e86623066fb790e79bea68757261fc7f26da8c0333a723f3e27ad12b5e70eb3afb720e19a1a33aa111957197f6c5965c6926439303f042a1c9b8c2cd328c480a60d6938e2981cf1687edbd7f2c4604ecf840333ef003b618e5448cc06bc8403c579fd51a4cccc8f8b342dda3ae12b57afddf23b9a24303c13f5ae355d6c59e84b9f17d665038563b1f2eea940cfaa485de25385572d5ca0339edcc14c2fb4aef157229bf8ce88bf94b33d0b5cfc9182537f4f752177fcdd203faf091ad131540d5a521b4fb649661a264806b236503c178ca9ae48d9636429903903cc8f833962b88297570a9dbeb743ca1d006375957daf9b40752b2c21fa8c1034e02bf03fb8c275ccab2d35948ec16890d8278a0b9878092f57618959e73338d0219ffff0219ffff0219ffff05581d0262d4664f72bbdd2b504bcd8d9582ce6a4ca9986666a3ee4d0241a7a70702195dad05581d02feb89bc07331246cc6bd1a6a4e178cd60300adcdc73d74a76eb4fd81040302184105581e0387f393a155c80aa57e0e530653d400cc9c87df0a1b343b4d6f694f0f60040205581e035e3e4ed2a2dfce62a3fe76524616ad3127444395400299b357aa640e900c014729101a7d26680003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03ca8ae3c86eeafa79787919a66bfb77d8f5617a60a9c8882790a92b5a2007011bffffffffffffffff03f0c612ce576db968d6104f78ff4649fd93ea8efa149001a97d268a88f4756b0b0395c16f4432740d9b9e4360bc4c00d88a814a1a93825fdd7d1bf34b1e343c7f2f03616b73f8c66f6930a93e1dcee1572c95a0396383cb5e665eb70e0e0687f8105105581e031d0e2a41583d00da08b198437f5045aca1c0a880ac661deb836a412070040203e0b4ae068eac042c4b9ac23960d09af1462ac332a9955ec0a1663f3327ba20a20393dddbb02b011646b8d37f776ab7efc63a64dbcf38120e49bb26ff41dd8fdf0e03ca11daa594cbb39a25abe1c793d0bd9958047ed553ed18a0554a367064baf49303371e33fa06b32decc22318b148918a59b8dd1529a5d417fafc8d8f7a5b420ab20605581e039c76223dd8fa08c00f81c2099ba2d22eabbc4e9e9c40caa973b2fec0c007011bffffffffffffffff0219fde3036b3b8401b35f85482068ea23011a071c293f07ebc93aff137c64f725992d154b033d4270f5218ccf9bb5135d6b23bac8395eb54d3324ad91352ab3002c0842d3b503a81a39cb675c52e9c417b222b1740284d84d3c03b067e87a5cba14c0b49ab5960219ffff03fddec4f96781aa8222d1b400d3b3097d67fddd51c350b2fb95588d17cb331963030ed440939b30533b3cf50c27ece21f2dc93e42e4e4e528f6bbba7427d3505989032f018dcd969a16555296f9c86b0f8e0363cc9871cec3011d7aa96af78e90d1fd03d1705db90b88a43a26f7b7f68bb1fca782d83aeec90eaec961f44931d21e7c7e0370aa573b5931277f2f5ff951a37de265a28c98ca3e9cadf75bdc53b80b9ef9b303e124cd52f763d982a93d89dbe678364ec2d70fcd7b63c8edf556fcc9cd11123003f526735ecb4b5b442bfa38cb25fef72297005e90c0aea07d68ea453d4a5103de03dfb0c7aad350e76f758ba86b632e21cd2326ab230c7ecb12454b0669bea894820308a2aedf165bcdc9431ee7ca4d014ae95bcb14f383f35483ef2eff951302874303c7a9aafc1893752c7db97ec6e9dcf927c706af66f5349fea65937d11739ebb9103a3ebc521659d5e7e743142c36864874a9a0468d8c2e81147462323315ffbb7f8033fee3b0a49b5cc95a1f6764cfc2515ba1e95b1f529d79915b036483fc79a1106033926e360daff034df3a29f9db77c19f8f7a1b9591b02d50160f18466f9eb911c0399fa860e0fbf38b23744e4fe7f1ad482c0059df8e8150cce6a5d28d70af598be0314ee73093195a92bada06c892e11e494a11ff4100f7828f06b78fd16a86327550219ffff0219ffff03adcd0bddb0dd4eb86f827dd3c6eba2af281e511e92e790c1d3c413e663698bdd03dc5e20d6421d44c333bf745eeeb03fc533c8e419f79dda4b7271c0cf448d3b210398b8fd6a5c6943d5c268303ff257143113bad52f43f21d28408f1856fa4a96d9037fe6258c8cbe07eabdd557f687141fec39581492660b49325c971b5e73c42aca035280e29db0a65e765b6abfeabe6499b13c963b517fb92e3236340d45eceac50903bd97a3b6167e05d33c3926d58c7be720e8da7d48c86741f20e6ef332179df1cc039b22e6fc22c91e523a310669142c3f1a0af49167ed510c8dc318ab503b86540b035779a5f11278d25dda1d28e2aa243d76a9c6c5c485e7c8b50da4d2202872377703c1b4b5029be6b5ff687d2df69aa769777a4ea7fda940cccdd42defcbbe6f8d8e03cbf93ba29e021b9b72d9cc45660e525b7438bf04968c182bc6236eba36ddc33703be6edda8e750f1e60f816c0fdd3e15dd913b609319fd07827e6ef16f9577687303aedf66f855be451d2219eeab42e0e7504a9c91227d1412ad9de4d7c7b67d5e3603e1343fef5453ca935d97302802c04369d90be9372fd39ecd88ce949352b4ca960316860a4b32c9e865df9a2512d37c6e47a9b50457322f15665a91d4460782267503b053d0a475e78b28523a6fd576efbaf8f4eb9c904df855156830d729b4cc72d903ebe1bd2d9127111c59e31e6a0a8dd3c6f9595ca26af4f2161622429aceb91bff03681e397119dc46a141e8c31aa35195ab71f69ab2ee77d9f9187e4775136851e90348cd6a037ceed4a30fc93569a3bf356b5386b49a4f935bcc759b7f62a98b3cae0374dd307bf35c7c7d64ece7e7d56c1565f67c35f6e47ff33a0952582fe375cba9034af1e9607c8354df8eb4a8f700a6cec4d76f93d760217e313890379aeb3613d003dee42c406e6aaf4afc7d7893c438371da3c266b0e35983aed3fcee2666adfe7f03c8230e3bf81bb78db0d11ac23fb70d811fcc04a8474c1eb0f31114cff6e972a203acebb816601b90c29ef4e6cbfe85d295960d267cfd98d12ece3cbda1c119df28034bfc845b0f6c78f6256c79ba3a61143034eef4d5d24beafd3ed45d7d2db332cf031dbbb64553ecddfd1923e3eccaa470b3bb4a4518130c71946fb3098ab4e1096d03546681c1f1c9793dddadc5b0fc48e44711d567bb6ad2d39bb746db418da48d7c0396ca7129bba8c31869a628c3aa771559930f7e84afd2d62ad037a6c91d4364f403b63ed55c1efcb6eec7b746a03252e5d4d005123bd3d21397e51193e43759428b0336aee05e5ee69482a1a998870e19d1afd7a4b7b6737384a98e487bb6df981640036777f50fb0b446df21aee6becc0eef4c9829c43e4dbf2a591ec498764baf0684035fa3ee166fa82b556c1c1384822c4ffefdcbca5817e897f2af280e56ef5f4c9c034f0c07b0463a0e96b2958a96b8f64fbd1ace3eb2cc0b97ce2ea3a162acf00d6203cf626b10add0bc3fac86370381dffe44b6a4598eea149d80a839549b4132e92f03b342569a3554bded0f73e43b3e6093e4ac0d74bc25c68a59a867c0fadcb602e10308f5947c589fb3e71569de4e0e117df84e20a34a50875ef57e9eff6b2f7b6bb103636e77998238ac3c15eb29fee6d628c39b8506e01247943e1ced9f879466fa0903cc438e2ee8296a7407a047ae24e95a66b74dff608c58e270778c2b56c0cfe00305581e033eeff29981122bba3ec25c64d610b07c7280cdd46262ccc9e9888a0fa00c0347034118de9d3c180342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e033534752aa13898ba40229c8e14367654e25d3c796ea778c37c2fa39c7007011bffffffffffffffff05581e03ffc9e773dfedced36dd61a7491acf5dd699201c9b7bb6da181fe58a2c0040105581e038bcacbcfeea22bf3df4c435df786e960d4fbef90b34466fb71fd6beff00c014702c6bbd5b4c8000459359d6080604052600436106101635760003560e01c80636ccae054116100c0578063c7a7696911610074578063cbe5190211610059578063cbe51902146103d6578063d33f532e146103e9578063d547741f1461040957600080fd5b8063c7a7696914610396578063ca777fbf146103a957600080fd5b80639879c48d116100a55780639879c48d14610331578063a217fddf14610361578063c4d66de81461037657600080fd5b80636ccae054146102be57806391d14854146102de57600080fd5b806336568abe1161011757806354fd4d50116100fc57806354fd4d50146102845780635c5c5701146102985780635dfd9bc3146102ab57600080fd5b806336568abe146102515780634d8160ba1461027157600080fd5b8063248a9ca311610148578063248a9ca3146101b95780632f2ff15d146101f757806331f7d9641461021757600080fd5b806301ffc9a71461016f5780631624eaf3146101a457600080fd5b3661016a57005b600080fd5b34801561017b57600080fd5b5061018f61018a3660046130f2565b610429565b60405190151581526020015b60405180910390f35b6101b76101b2366004612dc6565b6104c2565b005b3480156101c557600080fd5b506101e96101d43660046130b4565b60009081526065602052604090206001015490565b60405190815260200161019b565b34801561020357600080fd5b506101b76102123660046130cd565b6104df565b34801561022357600080fd5b5061022c600081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b34801561025d57600080fd5b506101b761026c3660046130cd565b610509565b6101b761027f366004612cb5565b6105c1565b34801561029057600080fd5b5060d26101e9565b6101b76102a6366004612f12565b6105e3565b6101b76102b9366004612be3565b610633565b3480156102ca57600080fd5b506101b76102d9366004612b69565b61066c565b3480156102ea57600080fd5b5061018f6102f93660046130cd565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b34801561033d57600080fd5b5061018f61034c366004612b4c565b60986020526000908152604090205460ff1681565b34801561036d57600080fd5b506101e9600081565b34801561038257600080fd5b506101b7610391366004612b4c565b61071a565b6101b76103a4366004612e46565b6108ed565b3480156103b557600080fd5b5060975461022c9073ffffffffffffffffffffffffffffffffffffffff1681565b6101b76103e4366004612ffa565b610a5a565b3480156103f557600080fd5b506101b7610404366004612baa565b610a84565b34801561041557600080fd5b506101b76104243660046130cd565b610b73565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104bc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6104cd848484610b98565b6104d984843484610c3c565b50505050565b6000828152606560205260409020600101546104fa81610dbb565b6105048383610dc8565b505050565b73ffffffffffffffffffffffffffffffffffffffff811633146105b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6105bd8282610ebc565b5050565b6105d58c8c8c8c8c8c8c8c8c8c8c8c610f77565b505050505050505050505050565b6105ee8a8a8a610b98565b6000806105fd8c8c8b8b6110e3565b915091506000806106138e85858c8c8c8c611231565b9150915061062386838388610c3c565b5050505050505050505050505050565b61063e888888610b98565b6000806106508a8a348a8a8a8a611231565b9150915061066084838386610c3c565b50505050505050505050565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff166106d4576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166106f9576105048282611390565b61050473ffffffffffffffffffffffffffffffffffffffff84168383611444565b600054610100900460ff161580801561073a5750600054600160ff909116105b806107545750303b158015610754575060005460ff166001145b6107e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105aa565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561083e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610846611518565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156105bd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6040517f5b2f30e90000000000000000000000000000000000000000000000000000000081526004810182905260009073ffffffffffffffffffffffffffffffffffffffff861690635b2f30e99060240160606040518083038186803b15801561095657600080fd5b505afa15801561096a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098e919061314d565b505090508060ff166000146109ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f524445525f46554c46494c4c45445f4f525f43414e43454c4c45440000000060448201526064016105aa565b50610a50888888610a1360208a018a612b4c565b610a2060208b018b613353565b610a3060608d0160408e01612b4c565b8c606001358d6080016020810190610a489190612b4c565b8d8d8d610f77565b5050505050505050565b610a65868686610b98565b600080610a74888887876110e3565b91509150610a5088838386610c3c565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff16610aec576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660008181526098602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527f3fc30fe9d1afedc310e6ec6fd5f84b0ae3b800cdc1bcb04b65b986fdd35868f091016108e1565b600082815260656020526040902060010154610b8e81610dbb565b6105048383610ebc565b73ffffffffffffffffffffffffffffffffffffffff8316610bf05781471015610504576040517fc0159a61000000000000000000000000000000000000000000000000000000008152600481018390526024016105aa565b6000610bfd8484846116ac565b9050828110156104d9576040517fc0159a61000000000000000000000000000000000000000000000000000000008152600481018490526024016105aa565b6000610c488347613432565b905073ffffffffffffffffffffffffffffffffffffffff851615610c8b57609754610c8b90869073ffffffffffffffffffffffffffffffffffffffff168661186e565b609754825160208085015160405173ffffffffffffffffffffffffffffffffffffffff9094169363be2974769388938b938b93610cf3920160609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908a015160608b015160808c01517fffffffff0000000000000000000000000000000000000000000000000000000060e08b901b168552610d67979695946004016132bc565b6000604051808303818588803b158015610d8057600080fd5b505af1158015610d94573d6000803e3d6000fd5b505050505080471115610db457610db433610daf8347613432565b611390565b5050505050565b610dc58133611985565b50565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166105bd57600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610e5e3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156105bd57600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610f828c8c8c610b98565b600080610f948e8e348e8e8e8e611231565b9150915081871115610fd5576040517fc0159a61000000000000000000000000000000000000000000000000000000008152600481018890526024016105aa565b818710156110d5576000610fe98884613432565b905073ffffffffffffffffffffffffffffffffffffffff891661105b5760405173ffffffffffffffffffffffffffffffffffffffff88169082156108fc029083906000818181858888f19350505050158015611049573d6000803e3d6000fd5b506110548183613432565b915061107c565b61107c73ffffffffffffffffffffffffffffffffffffffff8a168883611444565b6040805173ffffffffffffffffffffffffffffffffffffffff8b811682526020820184905289168183015290517f149635d19f798f6b7c74c74a500d362c89316a0ab808abe5e0c0de45da9b1d2c9181900360600190a1505b610623858585848c8c611a3f565b82348315801590611109575073ffffffffffffffffffffffffffffffffffffffff831615155b15611228576111188483613432565b915073ffffffffffffffffffffffffffffffffffffffff86166112075761113f8482613432565b905060008373ffffffffffffffffffffffffffffffffffffffff168560405160006040518083038185875af1925050503d806000811461119b576040519150601f19603f3d011682016040523d82523d6000602084013e6111a0565b606091505b5050905080611201576040517f0579ec9400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260006024820152604481018690526064016105aa565b50611228565b61122873ffffffffffffffffffffffffffffffffffffffff87168486611444565b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260986020526040812054819060ff16611292576040517f2a070fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061129e8847613432565b905073ffffffffffffffffffffffffffffffffffffffff8a166112cf576112c88787878c88611b55565b9250611311565b6112da8a888b61186e565b73ffffffffffffffffffffffffffffffffffffffff8416611300576112c8878787611d11565b61130e878787600088611b55565b92505b6040805173ffffffffffffffffffffffffffffffffffffffff89811682528c811660208301528183018c9052861660608201526080810185905290517fdde2f3711ab09cdddcfee16ca03e54d21fb8cf3fa647b9797913c950d38ad6939181900360a00190a16113818147613432565b91505097509795505050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040516113c791906131f0565b60006040518083038185875af1925050503d8060008114611404576040519150601f19603f3d011682016040523d82523d6000602084013e611409565b606091505b5050905080610504576040517f6d963f8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526105049084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611d74565b600054610100900460ff16158080156115385750600054600160ff909116105b806115525750303b158015611552575060005460ff166001145b6115de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105aa565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561163c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611647600033611e80565b8015610dc557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60006116b88483611e8a565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8616906370a082319060240160206040518083038186803b15801561172057600080fd5b505afa158015611734573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117589190613134565b905061177c73ffffffffffffffffffffffffffffffffffffffff861633308761208f565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8716906370a082319060240160206040518083038186803b1580156117e457600080fd5b505afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190613134565b905081811161185a576040517fc0159a61000000000000000000000000000000000000000000000000000000008152600481018690526024016105aa565b6118648282613432565b9695505050505050565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152849160009183169063dd62ed3e9060440160206040518083038186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119189190613134565b905082811015610db45761194473ffffffffffffffffffffffffffffffffffffffff83168560006120ed565b610db473ffffffffffffffffffffffffffffffffffffffff8316857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6120ed565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166105bd576119c58161227e565b6119d083602061229d565b6040516020016119e192919061320c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105aa91600401613340565b6000611a4a836124e7565b90506000611a5860006124e7565b905073ffffffffffffffffffffffffffffffffffffffff841615611a8157611a8184898561186e565b611a8d888888886125ad565b6000611a98856124e7565b90506000611aa660006124e7565b905084611ab38386613432565b1015611b2d578986611ac58787613432565b611acf8588613432565b6040517ff52b9cd600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9485166004820152939092166024840152604483015260648201526084016105aa565b86611b388285613432565b101561066057896000611b4b8987613432565b611acf8487613432565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff8416906370a082319060240160206040518083038186803b158015611bbf57600080fd5b505afa158015611bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf79190613134565b9050611c05878787876125ad565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a082319060240160206040518083038186803b158015611c6d57600080fd5b505afa158015611c81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca59190613134565b9050808210611cf8576040517f5743851400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105aa565b6000611d048383613432565b9998505050505050505050565b600047611d20858585856125ad565b47808210611d5d576040517f57438514000000000000000000000000000000000000000000000000000000008152600060048201526024016105aa565b6000611d698383613432565b979650505050505050565b6000611dd6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166126c19092919063ffffffff16565b8051909150156105045780806020019051810190611df49190613097565b610504576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016105aa565b6105bd8282610dc8565b8051156105bd576000611e9d82826126d8565b90506000611eac8360206126d8565b905060008080611ebd866040612728565b6040517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018990526064810188905260ff8216608482015260a4810184905260c48101839052929550909350915073ffffffffffffffffffffffffffffffffffffffff88169063d505accf9060e401600060405180830381600087803b158015611f5757600080fd5b505af1925050508015611f68575060015b612024576040517fdd62ed3e000000000000000000000000000000000000000000000000000000008152336004820152306024820152859073ffffffffffffffffffffffffffffffffffffffff89169063dd62ed3e9060440160206040518083038186803b158015611fd957600080fd5b505afa158015611fed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120119190613134565b1061201f5750505050505050565b61202d565b50505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5065726d6974206661696c75726500000000000000000000000000000000000060448201526064016105aa565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526104d99085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611496565b80158061219c57506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e9060440160206040518083038186803b15801561216257600080fd5b505afa158015612176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061219a9190613134565b155b612228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016105aa565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526105049084907f095ea7b30000000000000000000000000000000000000000000000000000000090606401611496565b60606104bc73ffffffffffffffffffffffffffffffffffffffff831660145b606060006122ac8360026133f5565b6122b79060026133b8565b67ffffffffffffffff8111156122cf576122cf613508565b6040519080825280601f01601f1916602001820160405280156122f9576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612330576123306134d9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612393576123936134d9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006123cf8460026133f5565b6123da9060016133b8565b90505b6001811115612477577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061241b5761241b6134d9565b1a60f81b828281518110612431576124316134d9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361247081613475565b90506123dd565b5083156124e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105aa565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff821661250b575047919050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a082319060240160206040518083038186803b15801561257057600080fd5b505afa158015612584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc9190613134565b919050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526098602052604090205460ff1661260c576040517f2a070fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff168386866040516126379291906131e0565b60006040518083038185875af1925050503d8060008114612674576040519150601f19603f3d011682016040523d82523d6000602084013e612679565b606091505b5091509150816126b95785816040517f6c544f330000000000000000000000000000000000000000000000000000000081526004016105aa92919061328d565b505050505050565b60606126d084846000856127ae565b949350505050565b60006126e58260206133b8565b8351101561271f576040517f40f0f32900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50016020015190565b8181016020810151604082015160419092015190919060ff16601b81101561275857612755601b826133d0565b90505b8060ff16601b1415801561277057508060ff16601c14155b156127a7576040517f18ce829400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250925092565b606082471015612840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016105aa565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161286991906131f0565b60006040518083038185875af1925050503d80600081146128a6576040519150601f19603f3d011682016040523d82523d6000602084013e6128ab565b606091505b5091509150611d69878383876060831561294a5782516129435773ffffffffffffffffffffffffffffffffffffffff85163b612943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105aa565b50816126d0565b6126d0838381511561295f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105aa9190613340565b80356125a881613537565b60008083601f8401126129b057600080fd5b50813567ffffffffffffffff8111156129c857600080fd5b6020830191508360208285010111156129e057600080fd5b9250929050565b600082601f8301126129f857600080fd5b813567ffffffffffffffff80821115612a1357612a13613508565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612a5957612a59613508565b81604052838152866020858801011115612a7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060a08284031215612aa457600080fd5b60405160a0810167ffffffffffffffff8282108183111715612ac857612ac8613508565b816040528293508435835260208501359150612ae382613537565b81602084015260408501359150612af982613559565b8160408401526060850135915063ffffffff82168214612b1857600080fd5b8160608401526080850135915080821115612b3257600080fd5b50612b3f858286016129e7565b6080830152505092915050565b600060208284031215612b5e57600080fd5b81356124e081613537565b600080600060608486031215612b7e57600080fd5b8335612b8981613537565b92506020840135612b9981613537565b929592945050506040919091013590565b60008060408385031215612bbd57600080fd5b8235612bc881613537565b91506020830135612bd881613559565b809150509250929050565b60008060008060008060008060e0898b031215612bff57600080fd5b8835612c0a81613537565b975060208901359650604089013567ffffffffffffffff80821115612c2e57600080fd5b612c3a8c838d016129e7565b975060608b01359150612c4c82613537565b90955060808a01359080821115612c6257600080fd5b612c6e8c838d0161299e565b9096509450849150612c8260a08c01612993565b935060c08b0135915080821115612c9857600080fd5b50612ca58b828c01612a92565b9150509295985092959890939650565b6000806000806000806000806000806000806101408d8f031215612cd857600080fd5b612ce18d612993565b9b5060208d01359a5067ffffffffffffffff60408e01351115612d0357600080fd5b612d138e60408f01358f016129e7565b9950612d2160608e01612993565b985067ffffffffffffffff60808e01351115612d3c57600080fd5b612d4c8e60808f01358f0161299e565b9098509650612d5d60a08e01612993565b955060c08d01359450612d7260e08e01612993565b9350612d816101008e01612993565b925067ffffffffffffffff6101208e01351115612d9d57600080fd5b612dae8e6101208f01358f0161299e565b81935080925050509295989b509295989b509295989b565b60008060008060808587031215612ddc57600080fd5b8435612de781613537565b935060208501359250604085013567ffffffffffffffff80821115612e0b57600080fd5b612e17888389016129e7565b93506060870135915080821115612e2d57600080fd5b50612e3a87828801612a92565b91505092959194509250565b60008060008060008060008060e0898b031215612e6257600080fd5b8835612e6d81613537565b975060208901359650604089013567ffffffffffffffff80821115612e9157600080fd5b612e9d8c838d016129e7565b975060608b0135915080821115612eb357600080fd5b908a019060a0828d031215612ec757600080fd5b819650612ed660808c01612993565b955060a08b0135915080821115612eec57600080fd5b50612ef98b828c0161299e565b999c989b50969995989497949560c00135949350505050565b6000806000806000806000806000806101208b8d031215612f3257600080fd5b612f3b8b612993565b995060208b0135985060408b013567ffffffffffffffff80821115612f5f57600080fd5b612f6b8e838f016129e7565b995060608d01359850612f8060808e01612993565b9750612f8e60a08e01612993565b965060c08d0135915080821115612fa457600080fd5b612fb08e838f0161299e565b9096509450849150612fc460e08e01612993565b93506101008d0135915080821115612fdb57600080fd5b50612fe88d828e01612a92565b9150509295989b9194979a5092959850565b60008060008060008060c0878903121561301357600080fd5b863561301e81613537565b955060208701359450604087013567ffffffffffffffff8082111561304257600080fd5b61304e8a838b016129e7565b9550606089013594506080890135915061306782613537565b90925060a0880135908082111561307d57600080fd5b5061308a89828a01612a92565b9150509295509295509295565b6000602082840312156130a957600080fd5b81516124e081613559565b6000602082840312156130c657600080fd5b5035919050565b600080604083850312156130e057600080fd5b823591506020830135612bd881613537565b60006020828403121561310457600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146124e057600080fd5b60006020828403121561314657600080fd5b5051919050565b60008060006060848603121561316257600080fd5b835160ff8116811461317357600080fd5b602085015190935061318481613537565b80925050604084015190509250925092565b600081518084526131ae816020860160208601613449565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8183823760009101908152919050565b60008251613202818460208701613449565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613244816017850160208801613449565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613281816028840160208801613449565b01602801949350505050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006126d06040830184613196565b600061010073ffffffffffffffffffffffffffffffffffffffff8a1683528860208401528760408401528060608401526132f881840188613196565b90508281038060808501526000825286151560a085015263ffffffff861660c08501526020810160e0850152506133326020820185613196565b9a9950505050505050505050565b6020815260006124e06020830184613196565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261338857600080fd5b83018035915067ffffffffffffffff8211156133a357600080fd5b6020019150368190038213156129e057600080fd5b600082198211156133cb576133cb6134aa565b500190565b600060ff821660ff84168060ff038211156133ed576133ed6134aa565b019392505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561342d5761342d6134aa565b500290565b600082821015613444576134446134aa565b500390565b60005b8381101561346457818101518382015260200161344c565b838111156104d95750506000910152565b600081613484576134846134aa565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610dc557600080fd5b8015158114610dc557600080fdfea26469706673582212202609506e57eb8c5b40a5be25d97ef6588887e4575fe8f8a60db135dc324407c364736f6c6343000807003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02bed0e055aed33d0e36133b9279666f8f639c651bf6315bbf62cb0052070119359d03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02881e19125f72cb67ed37cee093c9370162e3e7a6fac1566d3d0e41b607011bffffffffffffffff0219204005581e03429fa6683c53b63b3b97812ba06cc305aaf69e0de331a83c3564bf4bf00401032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c9420325522e3a854326b3079b15e58010694e66f55a0f0253ea7a2185a2164df8874405581e03f4e0249a0fe554965f51f188adaa5f86b8c1a48b8624bce0010f0aa3d007011bffffffffffffffff02197b9a0219ffff03d46a36555ffbb634dd8b8fdf52145b73809d96f55799f6ec0c119fcbb65ae6030301a6a351fe52a4a8c4751cfff3dbb28827bcf19d805c584345212800f451649d036b288c0f9ac9bb480ee9eedd75bbfbe3ecff3d9047740c587dddd143d6adbc1b03ea73f049d65172dd64f518e61d6feeaa8f3ab620113468f82c0f2d367b65b12603b26aefdee7deedf6b5bed9437536f7d80ae71944c68532c0aa8d97cbca4a2a64031abbfe1444abd3f7e01c87daaa98bf175141714d230bfbee6bddd28338203072032248665cb7ad73dfac7ade3f5148b89cefec8c4540bbe16dd281ad82291b40d50219ffff0371edaea6112365ab08e42d29c08e70450153e1942db603faeb2f06c4c232103003e4900c4d02002f79f82a5218666cc5075537add691a7f5d53bd861bbdb6426ae039dd9ddc36438bcb8f37b8623618303643f35afd7c6766f6bd2ebbdba9336f4d203d2cb6a6e6329e9a0adde44af9c5f664467865e140e6d4ba7e375765f2d284238039f8fb88630caeefe9c70f953756d81589c9dcec33a3e53b06b54293109935e610219ffff03255be6fcc2ba1708fb127702f908b0ef6e3cede8507dc7f608d04c8d297afccc03d993c75dfe0bcbc7695a7996020c16552dfd3bdf9999cffdaafa95937c6b576c03fdb8716de7a7d03cbf45361d9b8d9ea2e1f3698ee4e8b3b526e349f45493e1b20219ffff031caa6fd24a00961b1fa831d1536dbf50200f853affe4e5f5ca62302bfa3614b7039cdb1e7f7764d582399ac05f73f1865730fedcd98d1470f07009d7eafb72d1710359c590c101d4e77a4aa9211a85f74a6ec8957cce3596c7b8f1b69ca48aec3ce20395072507fda109daa0e934dce1edf4b9713cfd46776a3686c1299ad7165329fe03f2f13a67eedaecf0904f03a8b60172c55315f56c26da40a905dab62aee1fa3f803046d0fb0b01a1cc86f9a9910d7dc5cf59711bf3f8627049e172a4d98f093ba2903b5bec6ba0ed5e9d11d7caed30a63e3da159b9a09d36a6b7ca7b2769d572d68420342395aa609e8b957f9c9dff983911010babd0339f38ed868d1c391573da9d86703a349aacbd30bc01efc98d63136caa142eb451d47198a4c235b477aa262fe343d0349840e0bd6af05d7e66a303e3dffe0fcc6531023f0628d1601a99838d253665e0350a7faca99112143dc2b0354eac7b7323bed4071aba49084e19a7d0cff60f49e03d49c1a9ca08d37901d7e048dd6a45dde949b8de0e1e438f7fa7f77afb0310f7203f8b963c4dbd9c653e576ced1db0a6f7aa2dfb0ccc425274e91be4ee8a1929fbd039e42559b0da50c1daad67d286bd8b1b1155742cfef33b6661871b659dd9fba6803f91a6c628bd0fd6ede31fc861ac324c3f21deeed167cd37806d584c678a0bd2903a3fef93d26cdacd370d1682651215e4d548ef04987d2769b1e50f2580fdc207803dc6ae5a594007a5121e7284fd0d20afcd76e67d4e7643220aebb6413bea2abdd030c1b29f6ba5e5220a9974c361dfc96448f996c248a30d693b9735853499b903b0380fa4860c65370fdcf198562767b66b6f6c685310d7f7893799a7bb475f127c003236269e8c0650e926318f96d77ab5010b9ef19414010244d268a1d739f36f1630353e1d66d08ffb47f2c25e0aaa416cd9c86666601e134b5948b25a27603b9266e0357c7390c2fd820438dd5367ea50708d938a546a04dfe8da254e9d116cec928d003f38e4fd3ecfe0947e51c973dd029261b764815c359183546f5d0b73e022b237605581e039647a7e7fe1a16eeb1e834c6442175abdb0a76bce4d6f687be81372430040105581e03bf154ed3cb228e3162fbdee569530b7c0efd20053a1c7aa859caba58900c0547340ad5b4a2670003491943e94b7f55bb7b8cfccc7ab14dbfb0d9b9115ab6e0f99ee61d82a8ae412f05581e033ee93dc80ce8578ad29904016d28c0401fbf3845d513e9d286557b2040040705581e032d0f23c4bb09e59dc0a80934ad0f4731bcdbc650ff0a85f4cb65a51a4008470a453ea84c321e05581e037f43145b97aa5e91f67f1f0a8832c4848d46d10da819bef831acad70500c014213820346aebcb41f2babd7bec5b77160c88633c0e3fbc234040a68c0d93ce5f7c123b403fcf39de169273f462e260dee2c8509438d274f29990f2fa9a0c422998777b72f03b3bf54c355be335a08f5456a9969e0ac33b32347fd24c1a61c163c1a05b8663b05581e03a0e27544f2b14bff1d68431986221ba73d1552bcc889b5ba266e2220600c0148032a5c8adf3fc5370459083060806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea26469706673582212203e9545bbd92f25742cbe30879c764c7ecf7eb84d039a044082903938bc50f48364736f6c634300080f00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005821031a88f3936348d602f3078126bdcd162c575cb17fb9bbfe2dab00b167bd295c3054af6e19be0f9ce7f8afd49a1824851023a8249e8a005821036501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e9435405820010000000000000000000000000000000000000000000000000a118b0000044d005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810540475cbcaebd9ce8afa5025828d5b98dfb67e059e00582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d546481ff79597fe4f77e1063f615ec5bdaddeffd4b00582002b4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308581effffffffffffffffffffffffffffffff000f42403b9aca00080a01312d0002198020005821032a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8205414536667cd30e52c0b458baaccb9fada7046e05600582103787eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae0545050f69a9786f081509234f1a7f4684b5e5b76c9005821032153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c2209775304403938700021907bc05581d0218c685579beae5bdf07be03d36465d0040a3a135488c36e2af093057070119083005581d02773f9fa03ef85d90a5312b91f1086745b25ab3792ff02ece9e681a4c0c044701fe59c6183fb10219808003acd966e72c8d54e46aba8973c0e464eeb6e71303547e10e2c142f491f659f82d03264afc4cce473105eb1c3e9d772bb0ab1ec634e78ffd917b1d21c7a50e17d75d05581e039f3947eb3b671886eabc455cbf4735bf49d37a1097e3ec8211aa86866007011bffffffffffffffff0219dfe9033c1fa7006cfb7c486e9f7e85c7d14e1d518912ac38facc2bf1e95a0965bfbf9d03e3c96b7bef0b947c96aaa5f4d50a64d93b6c76bff011bb3c386e7f703862dd8d0312c8da8804a77bb879438e5fe371b8a0f825ebccbce5fdde4daa9288efc2dc320394001260bac69c81083bf3466a9c6773ca7689bbc7268e7703afc4ef17525b8d03ac67c22354952f43df2cffb871756935d64b08b068dcff84e1cd1ed0991cae6f0393629febe17d3c1d93904d32e929d3f3220ac3c643cc8c173f946c2ff9b5401b03981c47270e6f0441a93cf445c6388e61e4c0aca67bfd660f268a1fde36671356039734e325b871a6dd4114d7a40c64a9edaea9325f8d05347547b8804ecc5b539503904692fcfa479950b25ad49c397989cba2f0e65fbc565e2bd45010bf001b317c0219ffff03e544c5a005781ae5f7e0fc29593940fd217c05c49d0481375702699537fdb72803174e846479eda4ffeabb332fda65aec9f5e937653d2c5abdfe27f1e55f5af45e0306246a43316076cca14ef9f79de9984b07bae84b01692b1cc41835dbc1e9fdfa038e6f8bdfa0abf6259b1fb8cea02ed4514cdfae984d2b977341c78fe19a5ab96f03707a477986760372915d456b7c522503723fd16ed6cde86ecc122f4d88ad87340219ffff03e7b0ff41d96d531297ab9c7be172d5ea1198c29b1f07276c44049b0608f882fb03c3e4e2439b72af795ce004d111e7be012c9d69cac7dfcf162e9305f2b8c9f22203bc9c2a2b7f8dd4f673ed12adb1286b70536a545fc0d6ba861597c7c136312e5a0334e7c2720be4ccfd9a0e2b937a79e32a9d838d13c3e598deaa80ab371959dab003dbe6104919f15fb19ae61431725f49f24212cedbfcdb76dc87c3804f8c5cdef503400887b0c333892dbfc2b3d740f57669e67afe5493eb303cf7912ec0bf2c307e039c87227b8a22cdbd88ffa67226476af5fa58a3c76c27760bc49f32e3b10fb2c20354131109f063a17a29917875edeee9f10be6a8ad17a1ecf13c86f2403ee666f003fa321eee3f61bbf9aa2c860fd3737ff1464704687809170004a45f2afa850ce103f82dd0168bf65362f759098449f2aa98961a578697c935f1b97c6e6f610201de036588a4799938c30390e9f895062e1bea187fde24bb3e01eb966ddf8f6b94a4330310d53527b5c6ed6d6bb8abc7d5c48e28b4b873524c44e76039a77c790af41f3103b4bf367b91070b7f9e1429377b62742d01c45d3641ced1f906d39d87e0bf391a03e9ffc78b453636441d12a782366dcff0a7c3d30645cf7a8a3e423bebfb09b0ad039404c072137562acd9d7ca5ad4aebf2544d9b3b71cca623b13e6c5f503babb3d0219ffff035c018d9ec5e7bbf064df3fa43b6b7b535e14c673ab48d52e9d8a70571f796f0d0375386e92e44b430eafb0b80a250e569b2c6785f8146f4eb60ac6e5d9764d5ccc035f6441a0e5d96b513b6192bcb00441d7fb9d33b51566ea2579db7119d445f9e103169961917f1299d5d6633d708e857713528e599bc90392696b78d803427fd2b303938efcf010037a743c1aaca4937aacd6e859b2521c5de54821a8f8d2e4a1d59b03933421d81e568b6adc1b00f8856617bfa325672bb83e69fc3f71ccdbbc24561a03c6a589562e8257d3d03ee2fab69fd2326f6d58438a24f8e2d7b294b329c76c2e0342942767d0af97ccd5558186567ef78d0939eeab02a3947241208196f7da280603f55ca83bdb5d146d1aff34ea1b5e592a39329cbc6218388fc35dfaffb951c8530338283978e3595fb166ded497222c75b33e23e1c8d5205e8e2ef9663fdb24169203752f81196fb714b3569ecceb8274531f92cfc1c7c266d8d47317055f9bff36bd03fd7cdca52d8ae5739b63f2c3bf8d2ff3d220a1da0becf9b1a9d76c0ef2d3c3de0337f63a1dfbfd630d260a5a69243c7bad13f39b131d8ef88b06214bcda2d74fbb03201c65ad261be77fa52d5bbc27155f558122c3f46d3d2ecd621703c4947dc88303a9e1f6f09d040fde814838aea50b901dfe8dddb50e95eb13a31e92cf6949dbdd0358f2ad876b304eff55d5381878e78b6b599cd6069899f7e808ccba8d7422b99903fb00ea34375b081723f962a0e6b1a540a57f00beee9907fa0a39f37ae2cad701039b69cc2dbd1eb17ec78788449beaa3b27ca226f471ca2227f05a02dd9cbc127a037f340a1190bf5316ad32e6dc0dc4ed1bc1aa3e8fdb8b4a56913e143e96018cda038bdf5e13e62c879fa24bac3b81cb99383a259d498e8e07ae3e27499d40b8329003bec98534e8b87768790e5c56e62dea55a99ec5214ce024ec07fc342c6de450f80349e4e5d590a0707aac4bb5b4dfcbb901005c7f91a59da8f2b660899ad4396fc1038344a9f2fba808a73bd313680b5e5856b955132649ab7ce66ad32b24a120403403bb9f756b979004881c28e918c3ff30715f7b48a8bf6839798021cb8965cea2b60316eb6b7eb3f3bfd7f5c1501a45f11e706ae7417b76c4526053a3e51dfaf6b160030e8cc138027a0268cc24944cb378baf2d3752ffcd7549c790a37b46135094ffd030f29cca50d3c4108759abccb4966287803f341d1d90d6dd62bf308eb8e09828b034291db6113f73ef4299f1e7da816139e8e3877ea2236934eb04a90e08de0a41903d1c473adfac5f2384b98a81552913c5ce1800434c0d39e72f1c1368b8d4444a50352f875fe068fd25c7b06e2259e7de3446e5af97038bb55f09440536977bd717205581e03daea4254b5136334ae561fca624de34f8588cfba4e09500baa2e12b7c00401035f1945cce933485b0e0604614e45d5467eee35c387d26a3dde70e4c72e10e90d03dea5cecb162e5d608fcd4afb0ba6e3a0a54f7e1852bc80b2c76ee6fc26909dda0372f067647dbc91d5c278fc0e81a28da6d517cd1604219556c90371ffa0d72552033105c192c8acfda2f19043e88e88d487047b51fd095c345ad13a4ab670d4c9e505581e03f416cdc0d9427d72e5e9ac952bb444ce6a9ec59f0c945b44822ad66ed0040205581e039e15eb7f64d60be5e58b7cc3251b73d180d941f53012fab949e3e5ebb0040a05581e03cb82e4d2307ac1787c8266fba3ddb205fd6681474af8f0260d2a7b2da0040103d6ea1347366e442510d849e3e1b819c671c8b8d002560fb6f4d690a498c8cd1d05581e031781080f30722c2f3fd5ffb6a47b8bb6523ae7d85fb6cf6b22f80aff300404045917e9608060405234801561001057600080fd5b50600436106101825760003560e01c806381e91d42116100d8578063b0da48c91161008c578063dd62ed3e11610066578063dd62ed3e14610331578063f1b50c1d14610377578063f2fde38b1461037f57600080fd5b8063b0da48c9146102fe578063cca5dcb614610311578063d505accf1461031e57600080fd5b80638da5cb5b116100bd5780638da5cb5b146102bb57806395d89b41146102e3578063a9059cbb146102eb57600080fd5b806381e91d421461027d57806384b0196e146102a057600080fd5b80633644e5151161013a578063715018a611610114578063715018a61461024f57806379cc6790146102575780637ecebe001461026a57600080fd5b80633644e515146101fc57806342966c681461020457806370a082311461021957600080fd5b806318160ddd1161016b57806318160ddd146101c857806323b872dd146101da578063313ce567146101ed57600080fd5b806306fdde0314610187578063095ea7b3146101a5575b600080fd5b61018f610392565b60405161019c9190611476565b60405180910390f35b6101b86101b33660046114b9565b610424565b604051901515815260200161019c565b6002545b60405190815260200161019c565b6101b86101e83660046114e3565b61043e565b6040516012815260200161019c565b6101cc610462565b61021761021236600461151f565b610471565b005b6101cc610227366004611538565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61021761047e565b6102176102653660046114b9565b610492565b6101cc610278366004611538565b6104ab565b6101b861028b366004611538565b60096020526000908152604090205460ff1681565b6102a86104d6565b60405161019c9796959493929190611553565b60085460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b61018f610538565b6101b86102f93660046114b9565b610547565b61021761030c366004611615565b610555565b600a546101b89060ff1681565b61021761032c366004611651565b610567565b6101cc61033f3660046116c4565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b610217610719565b61021761038d366004611538565b6107b4565b6060600380546103a1906116f7565b80601f01602080910402602001604051908101604052809291908181526020018280546103cd906116f7565b801561041a5780601f106103ef5761010080835404028352916020019161041a565b820191906000526020600020905b8154815290600101906020018083116103fd57829003601f168201915b5050505050905090565b600033610432818585610815565b60019150505b92915050565b60003361044c858285610827565b6104578585856108f6565b506001949350505050565b600061046c6109a1565b905090565b61047b3382610ad9565b50565b610486610b35565b6104906000610b88565b565b61049d823383610827565b6104a78282610ad9565b5050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812054610438565b6000606080600080600060606104ea610bff565b6104f2610c2c565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546103a1906116f7565b6000336104328185856108f6565b61055d610b35565b6104a78282610c59565b834211156105a9576040517f62791302000000000000000000000000000000000000000000000000000000008152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886106038c73ffffffffffffffffffffffffffffffffffffffff16600090815260076020526040902080546001810190915590565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061066b82610d16565b9050600061067b82878787610d5e565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610702576040517f4b800e4600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301528b1660248201526044016105a0565b61070d8a8a8a610815565b50505050505050505050565b610721610b35565b600a5460ff161561075e576040517ff2a5f75a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517feadb24812ab3c9a55c774958184293ebdb6c7f6a2dbab11f397d80c86feb65d390600090a1565b6107bc610b35565b73ffffffffffffffffffffffffffffffffffffffff811661080c576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b61047b81610b88565b6108228383836001610d8c565b505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108f057818110156108e1576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604481018390526064016105a0565b6108f084848484036000610d8c565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610946576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff8216610996576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b610822838383610ed4565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad097816148015610a0757507f000000000000000000000000000000000000000000000000000000000000000146145b15610a3157507fa4ffa33a4dc85ea9eb88b15a628d426c6d17391411a1fe43943f02491dcc875a90565b61046c604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527fa42c0c045dd034e77a5fb2d505eaf58fe1a4d32ca623ec82477faa47844b37d2918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff8216610b29576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b6104a782600083610ed4565b60085473ffffffffffffffffffffffffffffffffffffffff163314610490576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016105a0565b6008805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606061046c7f44617461204f776e6572736869702050726f746f636f6c0000000000000000176005610f3e565b606061046c7f31000000000000000000000000000000000000000000000000000000000000016006610f3e565b73ffffffffffffffffffffffffffffffffffffffff821660009081526009602052604090205460ff161515811515146104a75773ffffffffffffffffffffffffffffffffffffffff821660008181526009602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f73121574a4eadb4cfdeb2ba56a6a88067b03edd1f0a0dfcac0a5a95682a24367910160405180910390a25050565b6000610438610d236109a1565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600080610d7088888888610fe9565b925092509250610d8082826110e3565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416610ddc576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff8316610e2c576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020908152604080832093871683529290522082905580156108f0578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ec691815260200190565b60405180910390a350505050565b600a5460ff1615610eea576108228383836111e7565b3360009081526009602052604090205460ff16610f33576040517f8cd22d1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108228383836111e7565b606060ff8314610f5857610f5183611392565b9050610438565b818054610f64906116f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610f90906116f7565b8015610fdd5780601f10610fb257610100808354040283529160200191610fdd565b820191906000526020600020905b815481529060010190602001808311610fc057829003601f168201915b50505050509050610438565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561102457506000915060039050826110d9565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611078573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166110cf575060009250600191508290506110d9565b9250600091508190505b9450945094915050565b60008260038111156110f7576110f761174a565b03611100575050565b60018260038111156111145761111461174a565b0361114b576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600282600381111561115f5761115f61174a565b03611199576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016105a0565b60038260038111156111ad576111ad61174a565b036104a7576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff831661121f5780600260008282546112149190611779565b909155506112d19050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156112a5576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260248101829052604481018390526064016105a0565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff82166112fa57600280548290039055611326565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161138591815260200190565b60405180910390a3505050565b6060600061139f836113d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f811115610438576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b818110156114385760208185018101518683018201520161141c565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006114896020830184611412565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146114b457600080fd5b919050565b600080604083850312156114cc57600080fd5b6114d583611490565b946020939093013593505050565b6000806000606084860312156114f857600080fd5b61150184611490565b925061150f60208501611490565b9150604084013590509250925092565b60006020828403121561153157600080fd5b5035919050565b60006020828403121561154a57600080fd5b61148982611490565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0602084015261159060e084018a611412565b83810360408501526115a2818a611412565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611603578351835292840192918401916001016115e7565b50909c9b505050505050505050505050565b6000806040838503121561162857600080fd5b61163183611490565b91506020830135801515811461164657600080fd5b809150509250929050565b600080600080600080600060e0888a03121561166c57600080fd5b61167588611490565b965061168360208901611490565b95506040880135945060608801359350608088013560ff811681146116a757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156116d757600080fd5b6116e083611490565b91506116ee60208401611490565b90509250929050565b600181811c9082168061170b57607f821691505b602082108103611744577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b80820180821115610438577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220d1f4fd897226505c3f5b5bcae087698b272e3ea89f5c0e8c83d5e518baef815964736f6c634300081800330342000d9dd8b0c130fa62d2988d4a48424fe18f0de04e0a928ead135b785282fd03a58b82c78ef0ce3401eb7fc7fc8a74b6230bb7580ccff12697e5ed6279c92d4903aa0c578b8501e0b041e05e6081d3efc1c69c8f85daf917d04965f3726de4f614033c1f67f39df8546ef4083d733ac981a127ebcb6fe5fb550483cf7725e9fd050403ee7965c6b714458f365b5c512c5d3eff562a08cd7f43772359245f31fa091cde0393a69bc55b36a059c82adfcd08ac9718b369a9a11bb17d434f6f282704867e05036c229900e9818adaa2f395f1093f8dfadd4e6a3da0a649a56a49398ab278663303ff86daa4964f46a3f818a672f8ec5e40317d66728342d0b9615fa37dcd62f81f03173d31f32dfccd2da2b4a7f51b049724a6ee7a9b402dc62f9a3e98065ba73ac803bf061ddd223acab0df0b844a284fbc90ed5dd16877d7e43f5895eb4dd12e58800361fde918cc7d51d26ec072558f541d36f922e44e4a1c60d92c2cb4d6d02d4445036da8ad1f19bbdb113c907aeeb9cca18383e3de44e56b700f12f5cfa50be5d2540349f0f04970e7717dccd54b95e720408ebe536f5af136c5329bd8db10d7bcbb6a03d24ee2aa3a949dd081e88bacc4fe87c2891393b8d9576160feaf3998bb4b9e4c03931d59b98d74a3966893f056259f43cc3fcfff3d4d913a63bf857c59ae1f44f5034c02c87d83a0a34baa06ef9505ed38fc2ed25ad21b8a79e94024d5df3bb240d2038ee52e13d8cdcf143e4edc8ebdc64221e0986b558ac967eb672bdd689644bd0303443caffbff0ba07cd87673614b44e1c293fabe3f0c97be6fadfc751026f1f61803bb7bc46ec3e194990e2371e5ef6b595d72eb927ee4d4885bbe221a1d9aaee0020359b02016693ce5e83aaffaca658e3b51dc1ca43c58bc505f7870f6ce367f505f038512fc8746cf39e81c8851fc6b17a485315104ad8cc4e1c907e26e84c735681f033476656ece25a7977bce8ac2e932a00b808409080cca49e370a7462332b4a51703cb33e3e1f793a420480b1f3cca5bedf929c5e9e12260b214f880e69c016b637503debe4523e93f0a7373f884189f67d008f6ea52b3e53ceff88d54b5202bef5e8403c0837b42cd7c31804ba0424d682829fd30eb509cd3dc6b2379056c05b1c872a80325b135d13c6bf72cbae7d183cd161d13466aff74f740abd0ebaa0a7fcf4eb011033dea13dad4ac252fb79989ea4465b36099295fb0a3aa01f0a227eaa7e293563400581f02fce82a8177722d1dcc739f934042584b3cc01b7f21bf52a0e7d9f5bef9df49195b7959b388b8000003c5f904bef69541a2faa5f2033aaf3d2a25e8791df19957b4a6128b01bfa9f3d703b0f76b2f8711e60868f579ef42da9386992e644c2c0c5b405ca94ae425967e1b00581f02a046ff87d9799eb8f1eabdef6e7710684a5d516d3c975eaae1ad6c514b73491e6dc4d20aa410000003abbb66b121daa8247b3fd9048c43207b1e9122ab881f802d58ac90f1b5af9b7e033e8f01ff23abd280facb4dcdf158461fb229fba35892cf179314d8a14ff478db030c9d6581f675178a59e67bbf97e99a9cb3776c44134e71103fedbb61d6c4494703104354ef9551617e0dc39f201e6139e59de47a6a92a29a31bf642b47be71acb703ee4319179b946351c99529155564303f36bcf5cdb6408318c6a47a4d2120e52000581f027c8b1b24ab898d616675367e6d27a64cc567f040f4a2eacfea948d87159e49195b7959b388b8000000581f02f2ec0edb9cd291802ec4d6b82c99716cc36617da92b23a660ffe42ba63de49195b7959b388b8000000581f034a53d33b0e7043f4aea69ad351b35299b8c4e6abb1763d2a958d9bcaa8904c086eed14e10df3e7d23ad86800581f03661c0cdb7dda0a3d6bbc8a0c95d6ead96084343a947683cd8a0e7905e6a049195b7959b388b800000219401000581f02326f14cc71a18c3258ebfd059170bcc75854c1cecbadd0afb2efa331872c49195b7959b388b80000031eed684e7d5569ef4e11acb6b1e1f609591c975c293ce9465469e3b51a8cbc6e0219ffff0358f60c702bd362ad321e6eba3780b0c9f1141e09b3ef3111fe249b7e912cfdd603e9bd658c3ccebfe9ec703476754024095ba5eb1dbafc0ede9b4f92a09b1f9ec00219ffff034013b69330ecab2bebf865b2c65e7db006bd84936ed7411f46cb1fc70ac5041f03bf1213a6aaa773c61cc92d5f56be0bddcbe40931c8e4c74b420edecaf41b906d03a768966dc71dd86c61ba84694e75aecb3dfd4fe4cb684724e14aad32c5983c240219ffff03715af80b0d44c8af9c75b6d95cdd453a64bfaeb91eef0990892290924903684803dccc1a3ff75e2c4b6a69afbe1022248b75bf1339d7a02e931145f160f983644a0316f0aaefa10d50d2deb85751d10aa5df007a6a75f03149f97fab10e4d1e1bc570343753f28098d6d0dd84fcc7092688417074682ec69eb6083974eb44b70dce4ef0342cc85e6d18142850285a6d1396d2a471a88383e3fbbc25c1fe35cfcae1dc14803afcad8e0af81bcce8328f9cc43fc77e271cdbdb6643af79c5343764c332ba65903eea56e527b03b64b099713e98f490f87d22fa4d33004e1acb5c7a172fde1384003442940c43dc8f89bb0752940ceaee78d945f2c25a6844057e1d311339a9e389c0367fba281ec85f2620c198e980be53deae0cf4eef6a17d6935009f36ba08e892e03956bc280d7b44f2ed16954d2c01be8bb7230cf4de7682aac4bee4ef78003417403da8d8ba90dbb31a011597bddb2772c8793fadc0522c73fd55ea423a5fc343ad503c831d67e009cd7bcd8cfc9df8480ac2653e3834b676c17f0e81d7f98f490876b0313733d8e28e342af7c44ad9700669163100b3a9141a30e66b97b440efcbac662036f33b68fc2390a36d110209307ef545779632354fb1902901d9ba25ed663e1b5034ff7fb06d93317df0465264dcd7aaa033b8a94a5d2518765f486cc9686f8bc790373b3541aafac240d9a76a7dd8459f5795d07b5225d56321ff05beada518bc21103e9d9241b86c376b0a3a41aa9063936fffb13eaa924b54038a42c9126f6b1d8f403922bc71d6f78d6c502a173732219610d4e31afb5aeea0eb9e0f01e47dfa1292703ca7f71a9fa79f082006e1d4aff95038334b5e2cdc658b1e893eb506c47d0efb503c96ac4f921937edd1b765157b793ee0db19eb33852a0d5c3c6cbd5ba4b9850d0039c2e3d1b40ad3a9696d09f7990fc7d2089233b3539e101d6bf03cd1fc57a77ab039e557a207e13452791dbaf0022d7e7303a434c88141853d5a52c88dd88f86bb903aa79c78eacf5c21ca2cd8834586cfdcac8d17eb58ff749ace51c86cb8bf4b6ac03c32748ed369e8a3c7b21d940b86c664d2d7dec9f0794843ba804ba261f37b09903c43f40568bf0200bc00914de9e376bb71a1151376290914f2b61af3aa88b12c803da8523d411fec4d467ce22038c76b11eccdf7242a3a7c6dd146def69ce3c2d8b00581f023d0fdbd55be4c3ac3e81b5074cce76d415977e6f53c8c98efd931ea39809410103c26f787be6cc76aba9f611c35f05868224c7801803a90cfc08a6560592e3e6f903101eb2c77fd58127257720a70c609e58b3d3c9056bd2e4c228c4bd2c1c423b8f03b4f676c2bfd39024e834b80c4b74f23816fc8ae5521e43f072a1c1e59639f3160334da541cccb904f45c5e54ba33f3c1b0f8d232ee32a62892c621305eee9ad6f9037558707c1e2dac02c6779fedfed9d50f763ac0abce1b2b6e8a29511a6fb8aef2032425e6b6c1df90e1cdc788e2b48711ffe8b10f40671300030791c45e8503879e00581f02af74384b8764f6d0bf116f2cba31e52298cdf5c1662dee3053bfb3c77d9449195b7959b388b8000003a5ff2eed2dbcb4b7e411967c68c90d95efd004f503dbcfed1663dfe42543c5f600581f02d16d7601b108ad8b6ac45cce515b92590759a3d431fa97c215cfd0a495bd49195b7959b388b80000033cde091f859975c94ea0742253ea4f62df062b1aa4be4844f790b1f03eed56a803b86f546af208b7095c6c239a227b4b1a113425b198a57548a1509dccb445fac00219ff7f0343af4133e65bb32b4baf4f2168e34fa29ab19a96b3addd5c3ebdc76b9c0f543703b2dffd0b330fc215b2b0a4e3d9ca0bd2c9ef37ca838e6ea83610436caa72275c03fac46e3167d2e9a1524e23d63096a0775a6152ee7d4df407628b52f873e983b10340cd9e2abc4713cf9d6878db07b2f97b279601224969f7b0906a3e4d7df026dc03b1aff37eb4ada1370094add4d9d86aae48207099bc91ee652d4152706dbaf36f034adceb23bd751c0e5691a20c11e02b5d06e317ff3e2273c095d1fbbd4a73ec44033042c5737c5739acba39843dc6458c63b56a4698fc857d88049877588a206207037f3e3b36ac28485d48964696d5072980c0d5ea94ec89722969f63e16f12f48bf0219ffff0375e1347580d4743474fe10e34f72589399dad784d2a41403ceb6a036a6b05d6e037f2ed9360daf1ece108fe280dd06a9a33da3ed281ecde68b9044ff5763f34bf6030f9fb59c55e61b05e2b6d9fc450621b1d88cc2a3621a010983581cd48b27d64c0219ffff030f46b847b3ff2bff52c486883fbd55907a692d794fdafe202fa91efa58d840f2039d0c3b1aa7d25e4dfbf9fba9f5953ffe226a61d7e67108814fdbaa771443308303d322dbb7587252daad6a4f9c2a37b74f1cf7a8ba67d25fc0d09313cf4d43753303444bbbccb9f95fbc354cf4b8f27952ae15f4ece4eb393a9dabc8e736770f532903d8223039efea6b6bf43a6ca54d41f62636c94fc6febf40ea1197d2ff94cb04c40361080e96cd8947f4e9bbab398d3a084c3cd1058f12a4949b3d23693a4715d4df0308c05f7e29f30f62b46537745f9cbd98738e922a1ef5dcd21ea1a8ce1a31cd98036defd903d538ba8c0bb86053f6c4757a0b777a39eb94de31bad8170b59d24b92035a8464e5c7c90ca6aa90f1bef61de6db90f143094c010bf35d3086b519df7dba03163cbfef75fdb167405de1dd1cdfd8b2cbbb8a5ef47e0820311385e2771a417d039bc1ba77c74cf6997d3147c29a3abe1d77354ceb68474517cc453653f68cd62b00581f029b764a34e55c42a9452289882f8dd942b5f52b2a6d36ed7758a27d5d744c49195b7959b388b800000336c3898e12010619484c6f1cd40cb9deeb6c626b215e66f832457b25268b02db03af4de518290377e6cb4e1dedf55005a9150b1801cad84793fe28468a26921fdd03256cbc766834903b5f01cfde18a3e314ab8516bba96ab3a065ea4d07a1c9867800581f034647a55b364c0f9fbfa833056bdf6673fde05e196c5052044829857156e049195b7959b388b8000000581f038ef5f1c55ac01ae069e90b1bb723b25e8e8bf0c387520c245b4e9a89c12049195b7959b388b800000219030003097e1790e08a79eaf98531502abdf2e0f9b05070909c6c9dabdec05e83955cc203139fd46c5ef2706f9319ec3280510fabbf86ba7ba9ba6428ce3265e2db724f83036c487ba0de4ce69e7877bb6726e74d8c372cf09a3d8b8ac029964810ed209d1a00581f0235935b2a7788b1adcf439f3a4454e4d8f98b1a16b733cb69c3f3c5946b9449195b7959b388b8000003fea7b2d8d2d77b0131b813ea6566ec1a3990f91e073acf27cf4f3e9e7140f56300581f02a830a261dc9307cfe300ce812c5dd704ba0972cb54def976faa42200a3d4493435f6e73ef93e8a2000581f0276455b1fe7c18484b8a8dae6ce9768c08c4e068230b7f7d512c27ec80e6849195b7959b388b8000003004158057bc5fcfb6bd86abebc71cb780ff56ec99b769c3506c97d52a3192a3c034981506abf6c90ffcaa7193ca26d83951a7f3f32bf504ce5c617306db357e3f10219bffe0328e8756c330cbd66cfb0238858ae005c89769ed6e3e1340c37faf4829379966d03a53ee7677566cb8ce250f2f885218134d792695ebc8f9f66a226f1b66ede765c03e6e6ce423022dfe53c7b8f3ac95f1bdf213746852661c5a9d594848308cd51ff038893f88e346f884e4b07e487bb308044136ec64d9f5c821bc3c1dae44b41563e0319e23a42345ef195841c5f7a71f1baa87b5f403158e1128c93e8f81990089c8403095c4c9ca841b8fbcaaa18115c2c62922d2820882720a2726f1691b244fc476303b3ba14ad27700e99167bcd25aef80bacb5ee42d6e6df7faf5d34d299553203ee033fd3c33509d748d926f16c94528cda8bb830c0bff27b5dd39ef3ff5bed33cab903268b83b82d07e7468932b60b1bee345e918a1b54c824814fd3622d99eba575b30219ffff03994cba25d03e3e0f70a759f55597e39b393d9b53619e2947f208cc30aa67941a03d8fb5ccfed99459997f6a9c0f9fe57095ae67007a5b3ce2487b42c70635b40de032d07c4a1e0248398d2fb94b11cf6bc3d36337b52593c007d0ff6ed0979beeeb403ab2f47a41be602ce7b83ef5376abc5e818bda1ada8ea9e28fe5d66f4cae5f46c032de98ac0545f9676b31a404ed58b07308fe4b337036fd2a91fc8f8e67f11a9f80304d6b94bbb3402ff7b1528e4310fc82feeabb5dff0f7ccc9b4a7814c4f4c3b1f033e5d3b745d98cc62aeb1709f257a54fc8dc0b9cc173532e22f54796879c7c1fd03c7893adf573eaee9d1b462645dc680380a01ff394bec37e7452666b7578d98d9034fc14c1a25ca5f843961b906e842968b4f9c9c1fec3cea181df2959774d7a5e703aded994ec92dcb22730710a1711ffa24665bd5daa6aa7a330e1b15dbd2db6ec30219ffff0316c0bd419a3088c8e46621e6f9b329acdbe3689c08076a07509c4def93f73755034e49fa15764bc3ab0f0bd18e18582ff152ad6ae2449a5cf67f4c53ef1e9302dd03ae1fbb0d49f246b9ea61c0f8df9354484ef99dbfdc7a880d66bfc303c6609f9303d92a7a2a49dcac2a924b9bbe5262372b24569b6c3fbf98c2ae3822bbf54f605303e504a0129202c98fea95b97920ce87119769d7dd7596c908519ef16af272708c03f2eb6e451fc5ad1843a74e91f4db0b08d12cd3f01f841231e9d5bc719509cc1a03315001db3a0681d4b61297860e913e733c238aa9b06cec16efcf9731ab5088190398a1c222ec4ba715e9a49bbab45ef638bb9b23258c365cc45c034d49010a0e800311f0c8644b36456657fcd44f7fb42aabebf05e1ec465a28feeabc6a61e91443d03da694f59022cf858323d300edd7d7bb3f998dc198ec5f20cc53dbad931d54a29038d15513e6a1afac78f75b58ff8e403b37bea2bb468efd80c07de585729e98c86036f2c67ff873ea302266467a69d75c8409a1a61ba44d1649af69bb49098e4705d03a4608f292c131eb0d7c2eb5ff4d29bb2c3884bc931cedcdcf9f283017c9afcbc03f820ab49a60bec8d62e9d552b500549930e437b77289a7174349fd846504692803b39f1838538b7766b301151dd77bad1faed43e001b54275c1c9c6028d139e21103d2c4f6b0430ade727cf807c625ba509c2309747a2f1628aa8ddbaa7f8c176f8303bc259a5baf829323d36d882547a5f0927da8efd308ed9f17f944db7afae61483032d19bc770f87327398521fbeab43c937ab0a9ce39fb7a2c28376c20575f0dea203e40948c934e79d5044f77bd6bf460b422ec297ec72046e7dc74d0d13216bcf3c03dd8ca61514c93b053874266c6ad86397c73dbb674d8b21fd0af0057714b93d0603278c2dbff65ad57b4ca475f64d540f93991d4fe6387305a80655cb533616056403a6188abcc595744ef3e190e0a1e777adc89d9a84e08255b38c3d462ce11b763003bb80bcd0a20c3393900295c2b95d88b82a5e8afb5ab48cb6f93df35d2743696603de2748c27ae4de95f3fd2cbca4e6c4cdd26d4e9c04937f87d4e30affee8a9bbb00581f02a1a2a091aa9e048f3285a8b62b59a5024920ce62e6d849a7a784fe72671d491e6dc4d20aa410000003e2b8dd3849ba558be70ece60116501a8ed96735235235c40f06c33fe44e517b8038e51fb9242a7f95859c1ed2e9e1167b704e85dd4f2366a2e9156bb4f7159539503caa8e8394641b283a799392b174ae7b21ebb6d00f71c63523d086c750387ca0403d95363bb198cde0cf95ecc92b4f0e341bfe226de34ef219872ef94871318853d03dfd35b4507604f564449572a1d5479650b738f677a1c874a650e82583392200200581f02a8d1eaa39190f59fea4515234e9b061d3670afdbbed4559e2676ef469e4849195b7959b388b8000003ecf40fd4dc39f6a8f693e6be3bce6df822c6e1f37186bdc7b4d82b90e7fa1f4901410100581f03352f807acff2f299b5952306a63a6ca08ddda5a5c60321cebddb06a83610491e6dc4d20aa410000000581f03ef9ab0313750ce1ea15f1ddf683818928debe0fd40b0c30bb64ce47fd07049195b7959b388b8000000581f03a5032f86baf3c09df63d7767e27eb92fc79608d897ccef1dde2b601592304c086eed14e10df3e7d23ad86800581f030f9041d80dc58f41bf9333c8e6e93d3c5490017b9d812baa8b2494ff481049195b7959b388b8000000581f031402008f2a381b06d0d6441eb0c92a6d4bc4440bf3a8b4b0385195b1cb204a021229ade459bd4540c00219203c0307ea9bd2123fad35e41afa3cc094c96a7c968b532a9dc841fe7678da4ad485ac039036891bfe77860993f83519c82b4bd65bcd603316ed66e89bdab92bc8b3bab8035de70bcaa658d601bd87d3e41dd9cdd2e9b339b48c5611c15f2994674afe23130219ffff0315de95d385e11aee0b6f1c87dfb473325fe1865b95a48707e924325f505636a2030c7fd55b823280bd9e0dda9d6d9d3df81ec9a2efa7def728b6c166158292f2be03bf5001d2c8c68acf22d205c6bcff1eb3c307d05862f7566b71be35357a7ef886030011eeef1835cfe8462abbc3c2b06dda83fc15eff5a36f4a494f537fd14bd3d8030dd2caeb47d9e10c76dce5cbdea3f14fb46a3c32d5651d81224de133aacf00d30334bb58117082a8602720b14dbaa5d3a700b86fc7d75e5412923ec5800ef9ebf003f80118ad93157545bf01d2d395a4551e998628ed26fcf60980a9d251441204640334ea46c346320031a568a9be482808df035a5a44b74b3efe8e53592113ad39430219ffff03a739d47b1f9485a993f7ced53f8be7dac058e3e6cebe6f6bdfa760c7aaeeae2d03677e1aa4787c0bab62eaecf67a26fe97a8385d6241ef93f5dfa2a2748c88faac0219ffff0394f5ff55504a7f7b247274664e536bdeb5664314b78418d170c39f9357f8012703f2afb57f3f461c34f4293fac6c82f51ac307e8f7cf16b086086cd0c13a6e8223030cf137eb1973821ef608b55424188c14976c1474c5af5a6c45cd315363e753ca03ca78d0597f2a2f09538655628e7ce394bfc51b52586421c51ae1e243b6ca516a0311407fc6eb316a7cce02a59338e1c7ea9a1d8367dc9e953016f65d69ab935a8203c1802935453c39b083ab3f588a055ecb72f9c3d55ac0cc28fa068a6518cd7e1e03d65d6e7590cd49705598781622eb2a1185927c2f5f4b65eba7cc1d2ab4b8135703d1bfc876e5bc7cfb6b33d74a728325bc95297cc6d9a5a102ea5d97147ae5736003d77cc38dca71783f1e61ba54128b494099210126ab8f0f9f77f2b7364fec0135039fd1d2f7f9aa0e5062dc578e1c6178df4a1047eedd73d8d0ee8a0069ffdd2153032ab9804d2368d54c13da9fc5a1151e5f454bf43f9702014afcbdbf17a9e51eb80376f33a0d914cbb08ea96a22ceecc2b163b4ff99951d5525a8589696641b43d4b03d6fc762072f0d998bafbc451c77e70bd9c3ffd51ec971c3cc819b4553c4d57440375a681a71ad280c666a932e4a96b835f7151237c4b6d7bd515948fd3aba125090352e4c544e873970274fe106297ecd207b917317326eb4599948a5f87abc8a44b03af13fba63555e8a47abb8d10c684ede5da33ef2152dec7fd24b418b04b11d6f303b3e713a494576c49bd82728c2a0ee25da05ad1037b9d9341a3df1af2d153564703b620c6a771b2dcba9323dd461b18c3cd9ca1efca14587958c23b1a20647ed497033e53c68bbdcc425d06585e2686429bb5d1897b02bf3e551189e074eef491517403a5951df31d700fd5d6989178e22f88b1953bcce8e2848e2e74253c1048633e6003a331200e4a86c81d1d493636675700d7dedd1b1bc7508c5c30244d10e88dbef203e26029c80d8123da834f968caec6f1a6f70a8e826cffd931b82b9b4517a256f6033c862edd14715084577a982326c208ae0f7b9f49f4ceb4d4ec9613e9d3b1a3d803581ab0b17458e02476faab86f335712932cf01d0566b42924c3dbba7b2a84f0900581f0209b3c5df8127d0ba3130bff58fdaf7495dab9baf62e93260bd15d2bd6f4949195b7959b388b8000003a8439b694e675397c492affdd6753cd9cb956990654d2449d8475d691f5151ee00581f02ada9fb813deb1d1c2fcc36076613a426e2b09298c5e32be19f7f2df85bbc4b0426c62f9c8f9ff32c9e00034330178699445de46b9f98a5fc5e6b0f4694b344c418a47b0855fc38238b538e032c67502e5f998ae0f95fb3f8235280e9332b39896af179b9da11f21502c7118d0313a0abbc53b3585431533bbf3de1c642e99166f133448d402c8f9f4f0b36f1480383f3cda88c8feeef2504352168fb2a367f4f005ad3713c6b8285831733158fbc03c55d824ddf02b6ee22a77dbc41fecf67a5cad03165fa34b66ca86dca3d75576303a06b1349f7f5d38a85d0704fad8a9020d46a27e3b89327c1ca5cab475d969a04035a89ba73d24314ce63c97a2cd4666c850fb443583c137b827992d802ca99bcd50141020219dde70352d6bb992c2bb67d01cf9f0b15ff43657e8f15e918608e813fdf7a5f1328f5a303e8802694788f8b4c34aa7f2554c0c6a35453c1c8b30ce19048db026c17a8303f0219ffff038540c03489e05e0a1457b17ba62305f14535c940d538c453923dd3400d746b0203637d34543aa02bdcdb55caf2f1e2830dc8905de3fb898642322ebe4d1a87ff8303e93dc1803f4046163024df218ee88b2b6e2038eeb73e9af47d550e7055dd9a5303a60f42964afcc7f3a0f7788ec2caebdbfa4b29cc75bbaff07d934dc8f4eb390e03db11b45dfb0f63c17dfd516cc293dea210a8a2f9af66e67ee7f804251e7f0d1d034d1199882e5d47760eebdfe04e63ec04cd2a884404e6b57171db69295bdf1d2c03e701e92a46893b4219e03d4195103e9ab51808e9646804e85e9f1f62a727c39003252199c7224f60549c16e5c037a4fae879c23d688fa830275c56144268129127037dc4204c5177dc2ba393c2c8c44a7f2de329ff165659ad2c67f7a2d539e135fd0219ffff03ce4e0bffe39c53c0af048b22d21eb108ee874f20363836a7ec79989ea8ec67260316cec322a4e626f3dc069b328033cf8bdd1b07d938f275104c36774e0f8ec5f2032bd26aa76ed937277ccf82cd8c44001c59bb3409ebc59db331e02962b91e79dd03c18a3e65eba46155d94c4b37a5a98a3026a72a1f52e725424be40fc7744eb426034ec396a9392509433a7a8ff59c1a5e1f185ee32b6f17f38546ef3b582076e3e30300909a8e55fa2cf4aea24f20ff0e7c6477a378172b3a96ebf2570322b7baf1fb030e4cc8022fa6d64b0663d8c795ea81356e761487572ea6e8ec899414ce67b2cd0309303dc489c71520ff5b29f7fc7c9ca8fafb71362e9e0f12fd7104c26189ac8503194c9aa51fce080358c70ccefe57a70c1118178fd6124f66c18fbd7b14e32656034645b2d2737cc13e1e4d92156a54dc17a05417ec3d633321b5778bd18fbdf6b703da8b640c3c7e2f2997cec58c698e7a21694f739ba4a1fba8d2b5311da9151c6200581f02592f6a0bb26d04f751f2d980c2c6e6c04a31a702c11a9f8f07d9d040077a49195b7959b388b8000000581f020a2b3edeeb3b11b19d83e6cefd43748bf1faca2d6c97a64ab8bcd4497d9a49195b7959b388b800000320863e930acfb77b8f77938a5ed0f84339be75e5ba465b0b28c8ce34e9c8cf5e0356beca2be35a2054511fe078b07b968cb90c6cb7628cda92a55f44ea033fa3ee03d81ebe900ae8a56f69ad18ba9105281966b4e3ad7a1fa9e559d191e8e75dba8d00581f021ad8fb7a4727aa7ab0482bc64362dce5215b4128741d02ec0266f9a1fbcb4a096c598eb4e532d0000003ec4f7bc90265fc3cf72249ab6d3eb82d64e9da102bfd7a3295d25b629a12fdd50327d2b41c102ef09862fdca0af89fb2353f37adfc7dd2655f40a651129f31047c0307dc14388c933d28209f8e0cff90c71468da6cb014a183c3fdbec23ad9106cdb038b9a6f39f85707bf7fc9a01bf1ad9faf7b87040d433a28a98c41b7d8c501613f03aa803d51db123b00dee5d0df56dfed596a13f66ba546928b3525078f913f6e7a01410a03f67ff91ffe1950df84041072b3f9d7c5e1daf7d34c0078c03a68f6662e6daa8400581f0260e8822b504ffb9b9fe15a1b191640066a42854544a5470ad5307d4cf98049195b7959b388b800000373b66efb20f3c6a3aa3431a6a3f30e6ae7c04e46f14f9b6b544a6b012457f82f03e0ed517d7157c7b6d5a7af8cabd7f7232efe0fd851eda279e72c5be7527f7edc03680d5ba0601c51fcb16f9901d66a38ca96ea5e1b96d64e5913cd9d026231a7bc0219ffff031509ea0909cf56d1265d03db4da79f5f94ac17a72837e5260b46f1d142ad069d03608292ea5f3b0cd07660ac653262b6c8cb34a9c254f42349964ec3d91884a3d7032b1d33684d90c3119c89ae787f8c11f271a475503ab40c95bd5110a46e98362503d256cac1ead594e67184818cc3acc4746d45c3ed2bef7834f57376eafc565d1c03b6bce1851f4da90d437167fe5652d936df68aa7b83758e26bf56b67a907be50a032d315bcd09be0f5c240f8ed598bff9f5a6634a898169b9f963f37c9b744d546003ceac38fcd5a171e67cb0e3b26afe61638f4ff8292685f1baffd15308f14fbb3503f72a16202eda2f472a3cc148cfdbffbbaa2fe6555f978e91a40e6698907704140377cb894836f83d856bcc584ef679a0b75652c1b80372da8bf1b5f057d00167bf03adb9376db17835f0a21be23504ee47a5d99a62fa0560efb4dea9a11aad1f712d0219ffff037c6b69fe33897e9a6e092e9d571445a610ecde8cd2c9e2b876a4cd248d4c96bf03e32d9d27da6e7599f3a4033e9837d124dfd55a507921f8232abc396fb578663003d48b3e07d924b45d24d6c0e646b2d51375d2522dd98ceda5c59258066acfc84b03d9fd187a12e8daa5356895448fbc58f6046c9fd4d6fda1ebde3628b71f51d22003ea21ee75e59e8f57f1ea2856da4b51a033b5249e4b4f3f5358e080ecac19c0b103d9045faab008d18543c24de79e5b3666ef88b8ebe2881555a7a6f0edd56ddec703c6449f481d5ff4333abc955dd714b6a6a6bf7214a8612c8f536b6e7989f1667d0368f9a07c315ed31cbe0e9751a8c1797c1932c078b4f2a2d0948dd9de127a91170314b637a9ef7bc5a14bf981e1715035ecdca3612e6314bc7e8c1e7e759d15a1600219ffff03505dd2c44219082a537a917b6d78cc8cd1b0a74cf60e872cc3accaa45cbdb23c030a72c3a13b6f59a4db7903767976c5951ffef6894f7253465a5ae904670b66d9032377bb4bb18c745925b0fd25f253ef57067cd03ff859c2b101a852fb3830c7930219ffff05581d02f4fefe581946f60e70538d5df5e6ae9aeb502de5af1c76a959ff701907011917e905581d02ae963061a1b234f5ca0f82249c064334d3a7f9d67a77ffd98656d7fa04130219080805581e03b8d7c9260bd275cc62152653f2b85b58b7d204649d02d31f42cb378ee0040103cfa70afc302ebd7bc091778d9b538f2545d1457672bc1335e23f7a15979782e30219ddff039066ad20895e5eb15951e943317e2630a34a0ae5c23bad2b2b2eee35941e814e0219ffff0348fb04a59852bd7b374a3b2509cc9b4e2536856d6b72e0c89686b73b7aa993b1036f267d2ed4fb329e34e8de8f00812fb6777e9cd16ce67ba92a4c6ec548574ea5037cda80ecba3ca3786180c05ec6f710db0f53dd2b1521d31a408b22c62f5f81c6031cfdff54a76b26da718f820ff15623d0f9003a37f842a0fd76c1dceea44aa1b20380a8c59312c024a0e03bc6dc058abdb7f12c456f2f5605349960f8b1d8e17f0103aa98fc3055cb9fc17af0349dc388ebc50aa54afea7deb76a2141ae09d3cd704303b4f05960317de544898eb71db69a54fb9e4b381c8486a6393ed8a292f754db420340621a532e246235db80474a4d71e17e92bc6399f957ce11cec8a62d172343eb03e56bc3135afb49939f21f8fba033f848211f3b79d2c334bf3aa2ddbf7fc5f93c035d53b70512ed2edf9a4bb6c6c45345e0cff3f09a9de5a3ad5260391f19ffdd6503ca446bf3c3890f3d3b2c183413cb3259a0fa109c130bcc0499f37c9ef1a14b2703cc27b4303764e9b7290058d9ac305cf94b0d4a8fc010a2c963e209bbbc40d55203a4604fbe38324ae371a748b18cd05d67098ca7b8cbb05dfdd1c81b0dce464b990219ffff03069138fec80187b83d5f070939fc6f3f05247c50a37b0199a29d9f192a1264ba038a7890cb74f046b7ece5d214c3f95af762c0921c2eb678ae4fb9de87259abb2903eebd6b162873fe2a6290ae9e725244cc55e1d9fc6b81cb4845d6bd4a9415937e039e707c6fd3e0af4ba4b7beeb91db54bcd370b915e3fe272ba93e3adad01c406603f5ee755e328dc0fd5bf5f9a430103715c31bf48ffc8837409f2ead2cd8cbd141036f7a9f2a711f2d99c0dc19f248dc23f25a7bd39b35e83464ebf6cba146ef7f6003b592b40a4e310a185884c96de6b4f3f1219c6935d7ca7d58049f70f3f85a78f603a99541d731ecb9804721dff7239a2e1bc04176c531821ff5df7ed71d2c7f59d405581e035411d5087539924febc7d6126d82a81c28ad775fa14838b307ba07e1b00c0247025db9356ba0000328439fb1723e0e3fc34f78b57ced2e734e5f82985f794013f4962647c5399a6e05581d022d631932c7413406b21824f2fd50035540420105227967b0d95d5009040305581d0285b2caa96b5ddc2e5dae9f56dacaa2d75ffc1f50acbe86d2e75be5830c03463c672874911005581d020b8a6468e53a2759d600ced91adbb0e08b1f59ce879fe073241cba2f0c188148015dd44b86c854040219048405581e03cf243ff350c9f4679fef106910856f2f20f02f8a6d6989a34db4dd90500c014713a62470dbf80005581e03a2ca47ae683e3b7d516897cfdee6614ac8854215b5f6ce127af968bf50040103f3f17dda4ff8ac7c1e01748743079bbeb8e6db8229b36ac6403bb1753134016605581e03bd873c535b085f44ebb58eaaffc8eb20f0e98ee679dccbe6448e75a700040205581e03e084f2af78a38be9ed79065a5763e91f6ef3a60d415e14ab0d96b823300c06464cf6f55a69a805581e035e8a1a9d9f91032da846b60a51b9e5816d28cfb5a5efe2339af029f3100c188e4703a843d1e3ede40219c78e036dc8c7bb36b2521dd25e0e087a27d5ae700e303e851c8ab161c239d5dc9b08bf0332e6ed249400ed0a96fe004da39918360e31d724114bedf3ef388c9f9535ed9f0376f92ddbcd932b25dec9e1b51859916d74c0fe4dc3ae3625f45c994ab919fac0031c337eed3ecd97bf87abde5d2e5cf82980928e464f1e2da1413c599b81e2fbdb03c061b31eae1f444d0503e5ba384fb52e44fdbf1f967320c9bf55e79076165bfc03fee17a3a396aa4854205da95f5bf629bb22f8cadfdef100dfb47600a8b9c59c403fbc9e672e1b5db67c4558ce5d1811b187c4e0e5b79ef0838d4d118cdb6f36f61030953698069cb8e61fda0022dde331d57a9f57754640529e02a664347050aa1850219ffff0325e26d3c8cabdb1a461840cb35d36f97931073209d5ee58f75a364ba73130cb903de0595d45e1bb77c2da0879b68df4f3db985aa54ee8738086ff76f91f4b498d403a664ab298d3f92752c4c86c059bd3ee34db139880357ffa3950c21a89db4940e031445709c349b7c07a33e791a7b6ae6c9cc719c637d774fa15c825fa55eb799a403fa4f11d68f5e1768d4100a7ab9d729edb519ca4728ff118d61ef83ce60650a3c0382cfb6199602d373b9f70c9fcd7ae7878b7ded6d6157687eddc175395df735fc0355fccd9722a01f171c276f540c7f67985a801c846f81da7ee6112d34ddad08f703054ab89f1e35d5ecfaef463fac061e4ea0284b4a7ff8f3d085e259b4b825ddf10333c03b700f71a5e7f174da3f420cc0ae05b860114081b53a02ef7d82845a086c03775e78a28f3a7eef1743db4cee9d6c8dce04ef890dcf937675d9521ef3434ffb037435f9009f7c36d19397056c73b8d69c3f1200e09328da850cf2ead1432ec2e403e3f056dd53260e85ccedd9941dd1019109acb984ff3fd868db5175d38412bae90300de905c9c647d74d0151d10eb0fe7b44c9c1a33db425f86630ea571c70d7c7803f02f11fcc0d696553845e0d2ad40554ab97234683ed5c9c78dae383e1cf5f1930335d77298f610a524d8e509e30dfe85cfca5e1a3b27c5ecb41f87a9df128ec8f40219ffff03562e4176e52e0755d68c63b8b76fc2110abed86cb65bea4361bbe9382ff671d303937ecf5166bc2138eb832adf567edcd4492a685e32d8949218159c3f42c8454c034a21543f6ea1e8c5a3d3356f0c568f4d1f05c68499429940379326bb5b873dc90374140790382ad240ad5cb02acaa03d646acb7c379a89a2933a19309206fa90aa0219ffff03267ac7cdc7c9d994c4dd85386f87976eb61e865cf5fde6cb87ca713267e4dce203b5de819144a7e28e9b8908864851014ec3bdd3ae74195ac7aafae743a62d5215031e834c29122534f46fbfe451db05a95356e627a01d64974df01a9f530dcb904b0219ffff032dd9826d9ae2a32c9077ad24a768d48187e150a6ec87dde12fee84bae91238d103d24ffe43a891d44a70d347efa2df613d84b04a90b998213ad20364bf3fb53954032b0999acf9f6a57fc2a309917ca8bf60019fe6c3b03f1660b44a37958f0f77a703d82d97f644979c4143b02719bf1006d3e9c7027143663d3a12d98380db18c91f03d7d8f743d5cf5993bc400d5c67613b86045431b9497d0c768ec12fafa066591a03aa591b1d62a2153a6feaeb187fad61a4af5381adfede644a827efe819abfe019037af23ad7f3c012b1d242747debe38c2ad229f2cb339beec7bc7f10833227751103f4d1becfb511f3d57c905b89991292126addd3d8ff749c7c27d034cdb5a464740321147b201f01edf0cc278f49568f97a63a4bb9c92835498f1347156f6834f0f403ddd47791fb6f725cf8418d57cb9a6e167297736325aaee2dcdb3943f48b3e88d0365acdb116a8f1e91f66755cf8ea07d52094e7d7ff6eb2667c35a2b9ff4536a5105581d02fbd18a955da95c45a65ebe627d22923ea500c5255703f91d139b7d870c1a0076b8574908722fec39be2c9dae05581d026c94badaf879e966595795702abbaa8c5bad2703d2c293c18ee3594e0c05460a32081164000219010205581e034f24759c4c517a946624d6a7593cbe895c60d364bcc4be65a49fc210900c0547219069233f04b005581e035e65635d78d976af55c369ccc18c24cf26d7c5f236eebb8a7c8e3ffec00c0147017928429dc80005581e03b0612cbe3965c4764ad49dafecb857c5e2e265a63f9c72e1db44156330040405581e034f0318704847ee366924d3da18d1a448c3392f5eaf547e6a78b8dcf4f0040203c5c636224f0f8fa0895663e54fd7588bb221c5a09c01b8446c00066f7baa492505581e03e0ab4daae3c162ed27c38b4c3a0c24e68f2b33e092b5c2b2f4031d18d00846ee37008f4000037ddc0f230fc7852c9153ddc819739a4e4e2fa47c353087ef3e514c8a08386b220219df2c034fe887eca1c647feb16fa2740b6ec754a52c8356bd2d0757dc64f77ab65f9e9703f6b08f394606c7ec70f8ff34ee439a2e8f3d402cd88dc46548cee5c2048e02b10319b044b4c112cc3337af06a11272023a9179937147f3de1415288803b14c9eff0383ca5f4bf966f763ec00ff127d1b9a1334306e87524eedafa85893172ee8657103dff6dee650de3a0575bf985479148edb83a4b76774928caa978429efff42d6050372538d3414056f5b1fdc8060ae4d2fde44a6bcb5b74ee3b182ae473d6ad04cc903a7f7d5db50f277d475e0a7a78df48ec21164fc54d8a5d677df14aa076bb11bf903066b0bb1fd6451c5b40aadd3927172e2ddb6614d7217025f5925049e69dfef05032372b33b3e6a67d3e1ef287faabd839ffd8eea59a8e4d6a2ab94408786f2267b03e02ae6327e8b4cbba1309260a58ee5691683a1bbe314f5832962a209268cc78a0313b1cbaacbeefd4a3b409970e55b21bf9195e3002a5acf3220f9cfdad8d9267c0313102915d2dd037bf36cdbb41e4a0eb1ee91c339b8bafd4e6d9a20277d881910039fe2862d8950a2c7ca45f754bd876b8b69a132eb17b1a02fe513d128f033bdc7039b5ecbc278ae87f3993e348a03c7167b6f3619ca5bc4f2efc9da9bb4649b17d703358e423651f518f5db62cacf72185a8bb30ea88d6fe578ecb3d6202f7dd6e0360219ffff0367ac67625b439f3871054236a881730e783c2ddc962631e5225ddd9ac13a67420334abd5c775f19522a8109705d7773ea923a8907652c8619a085afc1eb0790ae903894f800f04c18005eb344ab9e71c45840be3570a788dae0906c80ed9a1d7d6d003f7b5f2b4aca4b1e4bd5e214f30dc85907d4877eb4387f62282a1e23b4de6d8f50399249ee52be2ca8aedbf151730fb8e8535401b145f64725200e3ed0e551b522c037127a9b65c4b138ee8d7fa48f7c05e0b9c60e3c6cca76699110c42024947eeed0338750f270843ce3c144f8157629ab59859c79cdaf1ba8d10b1c6c0dd7fc2341b03295d75b891d84c898b155322561ca6898587a208815a309b1d6adec8e177bef803f51da18fce186443fc45a27fdb5948516d846e5ac0f775bafbe3f706d6aee4070310f61d0fbdf5d546ec9ad4d743ac26f238b1e14d61387a26bdaa119dad066dfb037573297ba7b134bc0e5ac69838616815bdaec69435fc8f5ec02ed9eb1f419e5f0219ffff03e7026086a2500b89248f1598a2491cea760e182e41c4232cc114896ee2f59c800321149477ca0691d8ad9b82e795b001784227ddebd4c98bac7244d493035ec00a03324ac71d0a76cc4e72d6b01de469f1b4da7fca2bd01ffaace9dc7e2061ca67650396d779b39f130c86fb7ef73a3105df4ea2f75d91eb99e329904fa613d9dc8e5703600dd8813b0a429210d36d955758e0a14b9d0927495e7c62bae9630fa8f57d2503f80bff4f9f5a0c311ded075f9a50e9c4fa55ed49f2bac452c4538454c872531703e15b7bc7601cc85a44c2c3c10e7d3516274cc5a24401b01feb918bfb9e68f77b0346b6a004f14c9839a4033eb0d42b6f3a6e5c263f6ee6ef3b2a3571cca2af7f3d037525a74c052ab93195a9ddcd0c7f6823f55301b7d5f681c2cbf3bbeb5474bea903f857653391d15e6f7a4751ab272d4fd248853d56500e0ef39bd12fd12d45f6ee039d3d65df7738912fe0a784a92b5744c56c458b191fe821a4b9a9911ca5f673d2037f7532a1ab04d96f069d7595c1e16dcb0b4b7fc313e5dea11eec4d37f6fc72330219ffff039d6aeaa7170c0e5f5e8b8848ae4aa030c1403465aad3789baae2cb5e684db18803599b5f4f9b18ce4933d1b4ae38548edd0af6e6a29c2ca9096ffe1cc96f37e12a0310f3ef5180e4d136e66d61ab82d803dff4a51f040b8584c0128b17b3274dc12003017263c62899ee4bc747e3f95e952a038d30665c2bd3f67240a91e64c2ce07af03919049f20090e857b7560136d955c88f90b8949cb9d52f2a3f34a4fc70c86c2203b7dec243eb4c7dc59771a44a04196b3b8063822fc85fe3d587bc8dd9a9d702240346e8943d1796fd33953d7e34c761f5ea7423723eb77cf21117a6bf6824ecbe1903a60f1e8a6fd2e2cfa6cff80ad64111e3e489a418301e2118598718fee8ee767f03c6a11beb98530b18b8eb16bbe19c7ae740c1fffd374f934afc57c952e3276d0303a8f21fc3d5d31127db2f67cc510b1bc174d49c4b185fd29f24b2c2a484b0155f030883157df55a7c2601b9259442361c8e6a85bb524fe716db0aae36c3cb1343f203931b2a6ed764bd4a48075f89cad752042affdc047ad5d690a16019e4344162ac0333e9d1d5689495019114f2ce57f86c1a5743bf877988e1b4c4c4ab874d0956a30309effd566e2bd31ac6e4b852b247fb1fd80d75dcf3323fc99b13cc4d1b178e6f0339ba5ac33c90aa085964aed3b9e23f8f3a9eaa6ae5f3bdff6672be443c9d9b13031c9ef62c52083bbbb13813cba7de2d89d507636c44b1c17a81ee70cbe455d78703c59bc49cc6eee537fd0d1caa8f2224b1d6642095767eced169fbf12bb6b5f41605581e03fe44185d515955832d8b5128b31f85e7d45cffa9f19211478ca921d800040205581e0370b0dc5064aaa168e89ac38009d86974cfd16218c528c3943c413351100c04462780ca973f9805581e038d0365a4065bc60f5ce88dd600aa01ff7d78f28924b83f4579a87e9df00c0146736ae81927bc05581e033a72f8aeec50935952cb8fde02661c5242ac6aaca1d888a57fc06fe40004020366a4ff6309a49b7dbcf4a027c14095aba522a06005455c5bcd2ca794641992c203619e2d590fc3a1ded007b9664798d2b39b9f69ee085247d41743d8629ef8d7f605581e03265f4f71d86c2c0676a2dde0f398e2f13aa5584a521693907d5d458e0007011bffffffffffffffff033e27a396e80822ca71f42666c3790623525b714082a5006516c9ee7e0d18ac3b0322731d854e073e2de262afd11ded3a7ede9436fbcfcc6191fa9462e8981b677a03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03846bcc8b98d232186e3cb486aeaaafec8cf12d8f1a593c33e93ae1c5f007011bffffffffffffffff05581e0328c24623b43ac7692f727e487069a9c585fd8f4b962dfeb9e0fd6c5430040104590479608060405261000c61000e565b005b7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab26001600160a01b03163303610081575f357fffffffff000000000000000000000000000000000000000000000000000000001663278f794360e11b1461007957610077610085565b565b610077610095565b6100775b6100776100906100c3565b6100fa565b5f806100a43660048184610313565b8101906100b1919061034e565b915091506100bf8282610118565b5050565b5f6100f57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e808015610114573d5ff35b3d5ffd5b61012182610172565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561016a5761016582826101fa565b505050565b6100bf61026c565b806001600160a01b03163b5f036101ac57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516102169190610417565b5f60405180830381855af49150503d805f811461024e576040519150601f19603f3d011682016040523d82523d5f602084013e610253565b606091505b509150915061026385838361028b565b95945050505050565b34156100775760405163b398979f60e01b815260040160405180910390fd5b6060826102a05761029b826102ea565b6102e3565b81511580156102b757506001600160a01b0384163b155b156102e057604051639996b31560e01b81526001600160a01b03851660048201526024016101a3565b50805b9392505050565b8051156102fa5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f8085851115610321575f80fd5b8386111561032d575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561035f575f80fd5b82356001600160a01b0381168114610375575f80fd5b9150602083013567ffffffffffffffff80821115610391575f80fd5b818501915085601f8301126103a4575f80fd5b8135818111156103b6576103b661033a565b604051601f8201601f19908116603f011681019083821181831017156103de576103de61033a565b816040528281528860208487010111156103f6575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f82515f5b81811015610436576020818601810151858301520161041c565b505f92019182525091905056fea264697066735822122021e23b4641727aa4aa8fd2d3ef7960a43cab420d4c8632503bedc3eb2d30690764736f6c634300081400330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db005820c94971efdfb9af3491e2db340223c29c4187c45e26c5f9067c8c91c6b958589e00582103f1d267ea1a86dfdb3c46b45b174495d9d2a0eb5937172d25a0ddb440647b7750582069676974616c00000000000000000000000000000000000000000000000000000305659719a7507dc064a8838bcdced8c2c755881c193a0d41a15511d2b05e02640058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace054d49cd5f9776a54fae89b68205f6af69586f98203005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810545132a183e9f3cb7c848b0aac5ae0c4f0491b7ab2005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05410d296e8add0535be71639e5d1d1c30ae1c6bd4c00582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b058204173746172207a6b45564d0000000000000000000000000000000000000000160058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880530697800000000000000000000000000000000000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b414d00582002bb06cb7f92603de181bf256cd16846b93b752a170ff24824098b31aa008a7e549ccd205052c732ac1df2cf7bf8aacc0e371ee0b0021844005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3054f98ee8c46baea2b11e4f0450ad9d01861265f76e021995b705581e03208d17076e93e51eaa7ecde23a3bcca904109004755ff3213573110090070119047902199eb30362e240deb60af7c1da76f1312b0f8bd69457c2a0502cacba4767e4e2576709e003f58e446d83b570085898364c21545b7a043323a56d7c152645821d4b5a2201b30346b6170cdef6b112b227f29de252423860584191aad9897bb1d62d181b7f35b6032eac6e179b9e1bab9e8c3fa99be6927e520c9aef0d3c72213aaea693fd4f9a9903efd4d38e0e37c3cf11b05addcaa40b7c4bf3057425168336cb05716748aac38403b41ad2067b2d2c69f811bdd302deec99ae7b08d9964a4a5c836735966bad0d4c03f85ddd4d88f97f0f3deaae13171b8dff41fbf0fcec661768e5a25efc17a83c7303ad3112aea6cb0f4aa75db89d0b357dae936ca864f5fa6ccbc1530f6a7ba53e59036bfdfbfc60b467ae6ebcdf64041f5577cbfd2ba2e67c2c0eb803797fb80ea2e40374caf36b25632cb1ad188f18ed73621bfac026742650521c5594b6a233b71dd5036c5cc72120263faeb0697549f084f530ad8d20db630eb9943a42625cb9f0abcf0219ffff0345f461def84226f6f42758e59a9bdbdd14c83336efca05f92a1a0b120e06905503af223057cd3aab2a078f99c8610dbcdf44acc9c1a5cdf1d0090a1716b7a5e0a503f2b1df00070a9a4d1ee46a4f214fdc6462257df8f3dba2a2e231ec19e0e334ff03e197b2c9612ff424e47c3d6560a7ca6f59788947496957b94bc7a5942d15a72b03888ec8fd2d28581875128ae7a5c3088136e2d92762183c1ec48afc2fc6a4feea03204ffb960415bab2ba555dde7e6c786459803d59fa5f6cc44e34dda456790be9037089c75ea75a57604627434cfc35873ec92e52750d22218cd7f50b2fab3b50fb0341c79c6a8427163094d4b124b33222f952fe8422c12bfb4a92cffbefa5ebbc8c034b371dd13220d8cdc7a2709ae3246f5f3d2e4d45e32a675e504e1a50a3d73a4f034d20b70d50271cf5f04d09a2ed17146637200bfdb45bd75901ffb18efde8ff3f0219ffff0361e149191106e501c9c1550c82c83095167e66000f4972789d9c5d887a9249dd037ba01ce59e76e15a508e13b9ff2d2c8d9bf4cab1569850eb7fc1bbc35480878903c783b6aa4f46637a0342ee87c98a3e3b0e5d57c238584b267d3312f7079fd6b303bb0105d65629d267b269fc53c39265ecf932f365a45d10f884c0429c5a105429032b96887ae7a9bad5153f695516df0b6142cfe46f71e7527360dbbd2637d569c3038189be95d6cb5e12998e9c8106be3bdd72fb65b2994d398fe1d6e67926c1f30903df60a284f958e671d24aa19d521e0736683882c330f2f9f6a01a47da6ca27476033bc1db75cd9e8a57dc1233bef4d6e14a19a7e5bacddf2d4be66da2fd358694c303aba779e9f342b3c8a99e851cbd007063eee49ac68b048e6c79a2bde4d088a1a303fe8b2b83b40ef50966fd3b0b1d9df32b6b0e632d59136bd90c08465357951a8b0219ffff03111dc649dd9d752679fb33c961033d0ecc84720b65ee12a2d1e93e01f5e0c1f603951ed7fdcfb3b2ae7f78f5fa64bcd416cb8bbd6289e5cf0fc8a728f1a756fd4303f82f6f2647c97c453abbe1735d92657d753739056c94b6c9d769413695c25acb03ef171467cd3f5a284aa3df4db5b74d19a71fc300697b707b24fdcabce38afc2803e44ca47f01f080e07b4e81e1d86c48017242cfbc0489974953420ef81bac3e140340c119e86f0678a43cbd977eed5a74a4c8ff62493d38c8aa73f04ef98b739c4d03a399e9d53ab0381939dd53491b7f739a1d5bfac76e4b927cf94b59f4cb22286f03e290eae4a5e5849fb3223416c25a2d76b684918e43d7336ce55a9bc31ffe6e2a03f0a81d47dbcbec5dcf2b028b04f05aef6376220508f6404dde2dc9d5ddf58dbb03b11adb8bf5c1cea384a471d21d85d1948b3443483506545370ff7e357173a3900370f67ed778004a4c126c2d2eae4996eb20aa77f484492dbcb0e6c85b9e876c1303d9e7888d6f5d1d972034cbc7683880ca045e88588c619deabcc85045c973c299030a2dd57d8c4d7b0c0bd1e5dea25920ed2daf8229a5267f27fde273271686db8903cf897e85ec9dfa3b006f8b20c5b4f9eb494d9093fe8eb7bc0e59ce8b46158e3903b10990e2735889b13b2bc2c7bbd7739fb0ecbf347116cc3dae92133f39df362003832cfe722abd6a350a16b56639b40a6871b0f9d1d0a102e44a2518dad90fd61f03f0ab21bfede49670f91675102d55a945a14b363554af31672333a09d7b83ac8c03498c4fa67e4bf55fd693f4d605cdc6995278bb2bebaa771d4f0f926d00bc67d6037bc3553375ba89caf08b776e53762996774a2a9cf9bd69de37dbda1336de85a703845749dd31c453ba25469a4d92ee17d18d48954270ccad10e079b6879e157a4a03e025a6643f4201a397930f090a5592bc753087bbf26882536b81cd712c35722003d42638db605f2ef16be1b8291b622df7b77498d7c862826c8d2c442764b0da1803eabc5cff5e6794dc5edeb8edd1949d453a3841dd3b2b3df239657ea4b2e0739303b57ad1597e80e8d74f99ecc470d809456e1cd46b44f7a099e2ce319ed7c5991203b401d558f92192ea9c58e69f5234b962f4c74bc7a037adac33922fed466b8cf303d8967c609ce92ddc32ff92f73ce32249047b4740fea1e9f4d90782333936d10103a4a076a7f889f27ed9088598b0fce59c354f3850af419819becf9703f6ed3b0c03f255e1ab633ce84bf0e3fa4e001a96b6185bedac0ce2e5ccf53e8a9e965c379503292a50fa079ac2e166e4d528e240d7d679543f7b29414067a2c68eb7c31dff9e030b84c035bb4de69a462933319842ca8ef929bf17a85b1039cf513cc0dcbfd6990307b9d77ee1a09ce1ebf8f6c5b49bc53b0fd3443e18a1972f585f0e73a97c764103ea25a66073fae37407623e093d7adfb0caab8d5cf4cd5f0ec89a9184f1ffbdf8032bee4af349ccc652c737b5d4106e4e3e8f555a79b0295d6dc48be38b239f21800325d389b12cbc37c7e228dfb656631d32467cd49f95c7d159273241df11393a6205581d0216870ef72786e758df0ffcc4e98fbade01de9d69fb0dc21f4acc268d07011bffffffffffffffff034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581d02c17293d352d29045a42904139fbfdf74674a2490e6ba7b4a80d2d7c407011bffffffffffffffff045909d2608060405234801561000f575f80fd5b50600436106100a6575f3560e01c80638da5cb5b1161006e5780638da5cb5b1461014b578063955123061461015b578063bd98b2b01461016e578063c7065b6a146101a8578063cc780aa1146101e2578063f2fde38b146101f5575f80fd5b806328aee03f146100aa5780632c09a848146100da5780635027ad2e146100ef578063715018a61461011c578063897630dd14610124575b5f80fd5b6100bd6100b836600461079b565b610208565b6040516001600160a01b0390911681526020015b60405180910390f35b6100ed6100e83660046107ff565b6102e1565b005b61010e6100fd366004610854565b5f9081526001602052604090205490565b6040519081526020016100d1565b6100ed610353565b6100bd7f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e55681565b5f546001600160a01b03166100bd565b6100ed610169366004610886565b610366565b61018161017c36600461079b565b6105bf565b604080516001600160401b0390931683526001600160a01b039091166020830152016100d1565b6101816101b6366004610854565b60026020525f90815260409020546001600160401b03811690600160401b90046001600160a01b031682565b6100ed6101f03660046108cc565b610604565b6100ed61020336600461091a565b610675565b5f8281526002602090815260408083208151808301909252546001600160401b038116808352600160401b9091046001600160a01b031692820192909252908310156102d6575f84815260016020526040902054805b80156102d3575f86815260016020526040902080545f1983019081106102865761028661093a565b5f918252602091829020604080518082019091529101546001600160401b038116808352600160401b9091046001600160a01b03169282019290925293508510156102d3575f190161025e565b50505b602001519392505050565b5f6102ec8686610208565b604051636b40634160e01b81529091506001600160a01b03821690636b4063419061031f9087908790879060040161094e565b5f6040518083038186803b158015610335575f80fd5b505afa158015610347573d5f803e3d5ffd5b50505050505050505050565b61035b6106f3565b6103645f61074c565b565b61036e6106f3565b7f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e5566001600160a01b031663059def616040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103ee9190610985565b826001600160401b03161161041657604051632693fc4160e21b815260040160405180910390fd5b5f838152600260209081526040918290208251808401909352546001600160401b03808216808552600160401b9092046001600160a01b031692840192909252908416101561047857604051632c3631c160e21b815260040160405180910390fd5b6001600160a01b03821661049f5760405163a7f9319d60e01b815260040160405180910390fd5b80516001600160401b038085169116101561052b5760208101516001600160a01b03161561051e575f848152600160208181526040832080549283018155835291829020835191018054928401516001600160a01b0316600160401b026001600160e01b03199093166001600160401b03909216919091179190911790555b6001600160401b03831681525b6001600160a01b0382811660208381018281525f88815260028352604090819020865181549351909616600160401b026001600160e01b03199093166001600160401b0396871617929092179091558051888152938716918401919091528201527f7a98750a395b9ee50a2644ffda039e31f1d5d06de45510275f972bb20b229b309060600160405180910390a150505050565b6001602052815f5260405f2081815481106105d8575f80fd5b5f918252602090912001546001600160401b0381169250600160401b90046001600160a01b0316905082565b5f61060f5f86610208565b604051636b40634160e01b81529091506001600160a01b03821690636b406341906106429087908790879060040161094e565b5f6040518083038186803b158015610658575f80fd5b505afa15801561066a573d5f803e3d5ffd5b505050505050505050565b61067d6106f3565b6001600160a01b0381166106e75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b6106f08161074c565b50565b5f546001600160a01b031633146103645760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106de565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80604083850312156107ac575f80fd5b50508035926020909101359150565b5f8083601f8401126107cb575f80fd5b5081356001600160401b038111156107e1575f80fd5b6020830191508360208285010111156107f8575f80fd5b9250929050565b5f805f805f60808688031215610813575f80fd5b853594506020860135935060408601356001600160401b03811115610836575f80fd5b610842888289016107bb565b96999598509660600135949350505050565b5f60208284031215610864575f80fd5b5035919050565b80356001600160a01b0381168114610881575f80fd5b919050565b5f805f60608486031215610898575f80fd5b8335925060208401356001600160401b03811681146108b5575f80fd5b91506108c36040850161086b565b90509250925092565b5f805f80606085870312156108df575f80fd5b8435935060208501356001600160401b038111156108fb575f80fd5b610907878288016107bb565b9598909750949560400135949350505050565b5f6020828403121561092a575f80fd5b6109338261086b565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b60408152826040820152828460608301375f606084830101525f6060601f19601f8601168301019050826020830152949350505050565b5f60208284031215610995575f80fd5b505191905056fea264697066735822122064c0d129cada23b1959b7d0fe624c766fe0fa3700c3aac07510980b5924156f764736f6c634300081800330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054efc9d1096fb65c832207e5e7f13c2d1102244dbe005820022944a272ac5bae96b5bd2f67b6c13276d541dc09eb1cf414d96b19a09e1c2f581c585dfad7bf4099e011d185e266907a8ab60dad2d000000000000000000582002ef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc53581c4b289e4a5331bafbc6ccb2f10c39b8edcecdb24700000000000000000219a00002188405581d0218aa0aae21c9138f0dfd3947b5dfa9c68e38b7a2bac8420ddc5b1b4a07011909d20219290005581e03666bb1a653858622897cd5d30c3e3fca3aa43c8cd3372bc9e90d88a6c00c014714b82c505480000392252777229791f83bccb3bf93a14ca08a3c4936348dc36407a9d23e820293130605581e0390e211e53f337e2be0e47c0cc17af9a2bc7324958648bac6d09159435007011bffffffffffffffff037b401ab3b945991aa44ab60f95b21d69fed98062016c730c1737b02f40d3e3d105581e0376dd3cffe637ed1bfd9c909a13ff67bdb17fba40559d2b3406515f1670040503ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e032401a7379ee2384773ae1e34ccc0137f7001ab1e1501c7a4f0d567cc0007011bffffffffffffffff05581e0376895665390ae196374978293cc61f6e071504592334683328d886f2d00c02470f01b4a38800000341b1923bbd65b1d70a33bc761a234848dc3c43fdda99d4a1505aedeb9684defa05581e0398202aa4fb11f119765473ac1f1df17997748caa8d4b299485322d4c8004010219adc903799242590e0bb9b16f7a592ee7e8a144a932f66f7a0d1690f1e7520399833f950219ffff036e161f0fd0e8f5de42c90627ae25038e8c1011f3ddc72dbf3dfa05ee29131e36031d3b5f625abe5b4922a272a394f16be2d1c8dc56c8d81bd46df76ddb10af64e003d423ba5971071bcbb3796a57b67ed65a05b13f4efa883020962aec5b3ac8f155039f60a43ebaa5ceb9637cb92e2f2e9c2507e2c8f34e101d2cb73267d47603ae0b03658af403b56a4781af58e7affafbf6a8d4f0578d147406238f3aeca5f832acb603ec7138742b4f0ab21b99e24c5426b1f9c3d9774c13f95ed60787054c2b5763360386e7dfdb791dd64ecdfe2acbde86705303616137104910a475dbb204e7a9404a0329e92ec4f379f953fa44af123e4888fa41802688c225882c0cff21583816119f035234966a3334a02cb5359f92376ae13b4e60fde36ff70484fdddda7b148e2ff203d86c61a4714ada1f5dfc8514f8b09505bb49e40cb49b1463f59c0552bcfe1cbf0219ffff03bd394fe5fb45cf6d9a1957beda0f96e661616ca5084bf9051e73cf40bfd41aa503e3d0978c6664e0cd32129fd175c70590465acea36c06aeccd38d5888382b4f2a03f64de3deb3ff0cf6d1f378f63cdc7d36a255e4700d9e1c28dcb913cb99a4f7ce0309f426ede6d9bd6362359f140840a8b3f014100bc9745ad328bbc22e4f3c3d4f032512ca75dd72452651cd19862ea58355f9b9c46e2204f2532fc6deffa578addc031cee5ce01bd06725086bce2db24d3c8857fe95d9e827c225416b226033b1f56c039dbbc77fb27dcff1c7d1456534a85d3ab5ba3169908e90e7e49d26c86d40dff5039175349dc2de4cf4986129c625f1c68971c66c177cf1428fd34314912250826b034761be003831a2f8e1e4bb2bd828f54c9769cde992c7a6e51211c46203f30dae05581e03c4f4f8fc8ef0adb3f8e777e72eb3667d13d4530d0fd69d379fa5e7885007011bffffffffffffffff05581e036621451dad484ccdf43ef4e3a2d3a2c57b6ee46000bcbec343e54a32f00c07472738c66e7bc20005581e030c6c454609a5683815e67ecb799008ed374b132fa87b14fde442bbfb80040205581e035902d75e98056a019d23aec802ef64c10837d566e25cf87d1279b96fd0040103c4eeb0527f677212772b4475e2a90cc9f17519a9cedee9c95b6474ff1b2ff94303f4e9248ad79f3c7e07086f41990c189942aa4f5db05e798b73fcc16844ae966005581e03e61a36437e43b96438635e98053c43d570705417172a3d326fb34cec300c064768ca36f115c84903ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03c9c006f3200da7bf0e9a9334d45dd6b1ce2988cdca177bb2fb25587bc007011bffffffffffffffff05581d02bd9558e00e9e5065c4aa5a5b85e8d7b7c5f3238799e08d247e0ea2b10c03465fcc6acc876004590c89608060405260043610610049575f3560e01c80630e787cce1461004d57806321ea0c37146100885780632b85ba381461009d578063837d8cf4146100bc5780638da5cb5b146100cf575b5f80fd5b348015610058575f80fd5b5061006c610067366004610437565b610102565b6040516001600160a01b03909116815260200160405180910390f35b61009b6100963660046104ad565b61019c565b005b3480156100a8575f80fd5b5061009b6100b7366004610437565b610233565b61009b6100ca3660046104fe565b610274565b3480156100da575f80fd5b5061006c7f00000000000000000000000063605e53d422c4f1ac0e01390ac59aaf84c44a5181565b5f8060ff60f81b30846040518060200161011b9061042a565b6020820181038252601f19601f820116604052508051906020012060405160200161017d94939291906001600160f81b031994909416845260609290921b6bffffffffffffffffffffffff191660018401526015830152603582015260550190565b60408051601f1981840301815291905280516020909101209392505050565b336001600160a01b037f00000000000000000000000063605e53d422c4f1ac0e01390ac59aaf84c44a5116146101d0575f80fd5b604051631688317760e21b81526001600160a01b03841690635a20c5dc9034906102009086908690600401610555565b5f604051808303818588803b158015610217575f80fd5b505af1158015610229573d5f803e3d5ffd5b5050505050505050565b336001600160a01b037f00000000000000000000000063605e53d422c4f1ac0e01390ac59aaf84c44a511614610267575f80fd5b61027081610317565b5050565b336001600160a01b037f00000000000000000000000063605e53d422c4f1ac0e01390ac59aaf84c44a5116146102a8575f80fd5b5f6102b284610317565b9050806001600160a01b0316635a20c5dc3485856040518463ffffffff1660e01b81526004016102e3929190610555565b5f604051808303818588803b1580156102fa575f80fd5b505af115801561030c573d5f803e3d5ffd5b505050505050505050565b5f6103455f836040518060200161032d9061042a565b601f1982820381018352601f909101166040526103a1565b60405163189acdbd60e31b81523060048201529091506001600160a01b0382169063c4d66de8906024015f604051808303815f87803b158015610386575f80fd5b505af1158015610398573d5f803e3d5ffd5b50505050919050565b5f834710156103d05760405163392efb2b60e21b81524760048201526024810185905260440160405180910390fd5b81515f036103f157604051631328927760e21b815260040160405180910390fd5b8282516020840186f590506001600160a01b03811661042357604051633a0ba96160e11b815260040160405180910390fd5b9392505050565b6106148061064083390190565b5f60208284031215610447575f80fd5b5035919050565b6001600160a01b0381168114610462575f80fd5b50565b5f8083601f840112610475575f80fd5b50813567ffffffffffffffff81111561048c575f80fd5b6020830191508360208260051b85010111156104a6575f80fd5b9250929050565b5f805f604084860312156104bf575f80fd5b83356104ca8161044e565b9250602084013567ffffffffffffffff8111156104e5575f80fd5b6104f186828701610465565b9497909650939450505050565b5f805f60408486031215610510575f80fd5b83359250602084013567ffffffffffffffff8111156104e5575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60208082528181018390525f906040808401600586901b8501820187855b8881101561063157878303603f190184528135368b9003605e19018112610598575f80fd5b8a01606081358015158082146105ac575f80fd5b865250818801356105bc8161044e565b6001600160a01b0316858901528187013536839003601e190181126105df575f80fd5b90910187810191903567ffffffffffffffff8111156105fc575f80fd5b80360383131561060a575f80fd5b818887015261061c828701828561052d565b96890196955050509186019150600101610573565b50909897505050505050505056fe608060405234801561000f575f80fd5b506105f78061001d5f395ff3fe608060405260043610610037575f3560e01c80635a20c5dc146100635780638da5cb5b14610076578063c4d66de8146100b05761003e565b3661003e57005b5f546001600160a01b03163314801590610056575034155b15610061575b61005c565b005b61006161007136600461043d565b6100cf565b348015610081575f80fd5b505f54610094906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100bb575f80fd5b506100616100ca3660046104ac565b61031e565b5f546001600160a01b031633146100e4575f80fd5b805f5b8181101561031857838382818110610101576101016104d9565b905060200281019061011391906104ed565b61012190602081019061050b565b15610244575f848483818110610139576101396104d9565b905060200281019061014b91906104ed565b61015c9060408101906020016104ac565b6001600160a01b0316858584818110610177576101776104d9565b905060200281019061018991906104ed565b61019790604081019061052a565b8101906101a49190610574565b8686858181106101b6576101b66104d9565b90506020028101906101c891906104ed565b6101d690604081019061052a565b6101e491602090829061058b565b6040516101f29291906105b2565b5f6040518083038185875af1925050503d805f811461022c576040519150601f19603f3d011682016040523d82523d5f602084013e610231565b606091505b505090508061023e575f80fd5b50610310565b5f848483818110610257576102576104d9565b905060200281019061026991906104ed565b61027a9060408101906020016104ac565b6001600160a01b0316858584818110610295576102956104d9565b90506020028101906102a791906104ed565b6102b590604081019061052a565b6040516102c39291906105b2565b5f604051808303815f865af19150503d805f81146102fc576040519150601f19603f3d011682016040523d82523d5f602084013e610301565b606091505b505090508061030e575f80fd5b505b6001016100e7565b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156103635750825b90505f8267ffffffffffffffff16600114801561037f5750303b155b90508115801561038d575080155b156103ab5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103d557845460ff60401b1916600160401b1785555b5f80546001600160a01b0319166001600160a01b038816179055831561043557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f806020838503121561044e575f80fd5b823567ffffffffffffffff80821115610465575f80fd5b818501915085601f830112610478575f80fd5b813581811115610486575f80fd5b8660208260051b850101111561049a575f80fd5b60209290920196919550909350505050565b5f602082840312156104bc575f80fd5b81356001600160a01b03811681146104d2575f80fd5b9392505050565b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112610501575f80fd5b9190910192915050565b5f6020828403121561051b575f80fd5b813580151581146104d2575f80fd5b5f808335601e1984360301811261053f575f80fd5b83018035915067ffffffffffffffff821115610559575f80fd5b60200191503681900382131561056d575f80fd5b9250929050565b5f60208284031215610584575f80fd5b5035919050565b5f8085851115610599575f80fd5b838611156105a5575f80fd5b5050820193919092039150565b818382375f910190815291905056fea264697066735822122019187880ef018631bf0e762a19c723629eb5e5bba263838a250735ee92adfb1064736f6c63430008180033a2646970667358221220ca640be2d963a9d3cf3c4fea7d17351d495a3af1be83375ee73ddc7373f5269c64736f6c634300081800330605581d029ab09da8b2cf4c4e0f20e29c36f450f6bb3d3314db30e8df677350c1071831190c89021203c14dc609b091ad3b8274f51895ed2dcd4b99ccbef110b19b5729644de28e3e6e05581e039a1c512d82365e6c0f3900fb50b65b1e839b08f1cdb5cd111ade705470040305581e039d324f2029c34264b138e9e6aeee86fe76285f117f97014b465b9eda500847141731c16a04000219e7cf03c04b179a47a8744a0ce1d5dddcd2fe78c0a178469bf5ac7622a2e76b73c3eeb203ef107f3185008f7cf0422b95c6af6f14565e13274be48308397dbbf125966fc703c40b9d810a5c3432bcb9388ef3e1d055f3c3801b65003ad38869931cf694bee403378b3fcefc81a1d97e7a777273b913aaa806f8449d40c9528bc0afac300c279c03ce35aae402bc560f2b4da19782da54dab5a0c32073a5b0cb957e636a7869068503dc09ef6cb381c2ce35061c690812192453db1084855e2854fb6e79092819ce920391d191aa2e1a50f0cc83fc74f7cd3add221b6f0b5397d146b6daf695643f763303fec543bf593f5fa0cd0262404adff115a5360caaaf461e0612ff8058af37eeef03170f998e8032536d935082548d6b5cf6790e39227b3568944755e42382e3c9dc038cac05f40ff50a01307a67dca8fd5d6e247f00a0745e2da2e67cc45b589cbb410390bc1b7c4db5c14d961ed70189f65d4e3772d013d4cf2aad61ceb8af68280ddf03032405bff4fa33cbb0c5990234ecfea6013e42d0e8e6aa717d5cfbef1055ae0f033d144ceb774cbb94420adf3acb76ea66dedfa0278d542f314eb44347155a34af03694277ccb1b599986fabb08c6d4f33c81042a1d841caadbb426eb0432f22c1f90219ffff033aa55abb3c5c2fc675758a259b68e22be2dcbe218cc5141924281630cd5803590326321cf9dfef0ba7743ce314cdd634ce009bcf7e2f5a579e268fccde7208a7c60325259ad9e9b2a48ac874777aad7c2e76d073b3b2ccf5989175f1b721bc878d0103e669e76435eed918901250003d6cf99174065e25f0f6d9dcf3ee7cd9fd5a3944034579229341733dff127c52d4ac999470fb94ad5b67343ae5d592c50734ae5b6003ff94641d594829ae1e0fd584f5c1b1c638540f2ff743decbc0d34f418406fe31035e84e8beebf7f0b000a55d4e3ffc16acf5f8cedfe35814c644151ee74caf8db6039622740fa762f69902ada50d2eeebb702b81f356c00d8c22f2c12512471eff8c035c48f88de54fa1474448e33a878705651bc6b6c2c24090cbc182186eae075fdb030cf14670b34406dcf0d7e6b3fc6d616903c84c9d7d6f1b1828dce331ed7c54070219ffff03fc86c7311f6da943793390ede547d57844e04e2a7b726dcdbe709c7366f2652603cfead104b9d74b910b7f14235d71cf998f449be68e755731983d4f2c6c0d75df037c4885a48ecbb31b19f6a4b61e1539d83fdfe92f872c4dbc0847a7358686b3070303c99e85ef92fac061816c9cea3f615c42eefc75aac5b94f093d70c006fd8d780219ffff03ee8db89aecfc02b29464ff3aaf5f984bbef40b1dcd5c0dc3444f5d1baee6b465037bf3c4415adf746a6d28d6648ead61509a28cce5835b279d3530e9ae6a04abbb0319e0f28021008781aa526208ec458526b76122be92b8b15d6dd8ca03607ad8a10360cef35dc55bbfcba35f44db05cbf38d54e92c8e08d837f2cfb09a0c1c391718037f095a6100918a5cf9fcae6d12f816f5df26849ad8b71119e1dc1fe262a3ec40037018de60a241ddb68f1ffaa8c00125878d304d4cf9ac1659e74c00ee007b8d6d03d508cdaefa817aead2ea6279a4494fa92883f93b1c5cd4f604f222e2ceebe2a80320b02060eca16cb91d68e3b4c06ae77c4c563ada907dadd945d13491debfea59032d5df0bfa5ddf41293d70c18dcd95272485d8b5f917f4e30ff568f30e8af97bc03c64dbc70db2538f9ee988b087f682b4826aaf23d7ce34a2df615260ee956619a03635b42151681242f778c164140654771f82f2e3a6b0a0a705447c06c23aa7d9803319bce317104e35850c3a177ef35fdb662fa795bc861db2b2adea39bb00e68dc035028f1fa661c3cfb60af809b408e8cf4dde72b805030a1eac49269e9bb8d648d034d257e0a16671e6686b72ebf4228aa5742e66c825c850950ea94a25c6873ee390344b9cc04b5a85f0e6f4d1ae445f1431c44f6b1ee58e5b8e711bd5c7c034352140370bdad5079036a5b70acfd3f3a3ad9b79382f54fbe9fa812631aeb33e9231950039499df872a977ce979518c9b5e9164cc056ef34a1701b9b10067cc77141a7d55036bdfee30d327dd2b937a76cd2a29660def1ac56ca9308d09464d46fbcb2bc113038f7fb465508c87c8ac6693794fde4aea54cca19b91bc1714572e63020410b80b03db1c50ac816d4e32846111f80428ece8cfdae2e55e7b991781cc0b5dae2d12c8039ad63f3c78a71f0c4e7027bb78e9198d0c5240828af7595f54c3447f5801a04603f5278d0a0663a17f7f37ac6eaaf08b3f922fe97e22e6c7a02039b8a70dbf73e003d239b2cd2c2ed343910716e022dd5fc44917dc2d17020ecd7b79ba1daed34854037d3d2f5ecb83e4048cd503a738c271986404c726b2729334b616d82eb49eabdf0368f0a6fe416ce4ed7226733033e5830907010a0aea27cdfc56640bf0a894fb9d032fe6613209c7f3302cfbc6c2d6c339cb697eb558c04b2b371b963a7e9856d803032f2f528375b9595b4840481385a479964a500ea5d66865931c6505227c65b3d603900a7db1ee1b6a103898ede1eb45c1b6b2110ceed61e244bdbba8f6b909f546003cdc38cfb221e53e5a2ca080fe92a96e394a16cea9d7f6842ee55be7e79913189032d5ab90595d314c6c4d356d4768d6fb42321740ca287998c6c201f411113b0bd0335dba60018b0cdb797b69f0f751f7a0876496e187d8be80213b5236bad5ffe1003356fa4cdf5295f1d12bc89614d3390a9074d9bbae2a9ae35d4c0ca7c966ca03303c6ae246aed869447ae3c5b46c97f2e2480deeb23535b0d22edb8f8e276b3b0f203059d3d4a76a71a75dcc8b685717f4d5b7c5ce41e77fdd9ddbb67aa259905f11203d9ec82ee37794eeb57353c7aae6f98127333306f01b6ddbbbf19c2930c568032035856a21139415027d4e93e56e92cb44bf0ef67cdb9f77df54aa6e3b02f297b06030a8a6efd078d6ef4aa676745714a14112abea98be3e4d2b508ef06343f465a6e05581e03afc462fc205aface60c05dc7feccca8ca5a70508cd7bf9d9c00bbab0a0040105581e03797b0565fa7c77e81a4bee5811b1a4cb43764550145e1709282b4283b0040204592f2660806040526004361061003f5760003560e01c80634630a0d814610044578063878863a4146100595780638f0af3741461006c578063d5bc7be11461007f575b600080fd5b6100576100523660046128ec565b610092565b005b6100576100673660046129dd565b610258565b61005761007a3660046129dd565b610462565b61005761008d3660046129dd565b61084c565b7fa65bb2f450488ab0858c00edc14abc5297769bf42adb48cfb77752890e8b697b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0161010d576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001815584600061011e3447612ace565b9050600061012f8d8888888c610a38565b905060008686610140600182612ace565b81811061014f5761014f612ae1565b90506020028101906101619190612b10565b610172906080810190606001612b4e565b905061017f818a84610b7b565b8d7f38eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b995378e8e8e8e8e8d8d60008181106101b9576101b9612ae1565b90506020028101906101cb9190612b10565b6101dc906060810190604001612b4e565b888f8f60008181106101f0576101f0612ae1565b90506020028101906102029190612b10565b608001358b60405161021c99989796959493929190612bb4565b60405180910390a25047905081811115610245576102456000846102408585612ace565b610b7b565b5050600090915550505050505050505050565b61026181610bb1565b60006102736080830160608401612b4e565b905060006102876060840160408501612b4e565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915060009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa1580156102f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031b9190612c1f565b905084811015610366576040517f275c273c00000000000000000000000000000000000000000000000000000000815260048101869052602481018290526044015b60405180910390fd5b61038773ffffffffffffffffffffffffffffffffffffffff84168783610f07565b60808401357f7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b388c6103bb6020880188612b4e565b6040805192835273ffffffffffffffffffffffffffffffffffffffff918216602084015281871690830152861660608201526080810183905260a081018490524260c082015260e00160405180910390a18b7f38eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b995378c8c8c8c8c898b898b60405161044c99989796959493929190612bb4565b60405180910390a2505050505050505050505050565b60006104716020830183612b4e565b90506104c18173ffffffffffffffffffffffffffffffffffffffff1660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff1690565b801561054657506105466104d860a0840184612c38565b6104e791600491600091612c9d565b6104f091612cc7565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1f602052604090205460ff1690565b61057c576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008073ffffffffffffffffffffffffffffffffffffffff8316346105a460a0870187612c38565b6040516105b2929190612d0f565b60006040518083038185875af1925050503d80600081146105ef576040519150601f19603f3d011682016040523d82523d6000602084013e6105f4565b606091505b50915091508161063f57600061060982610fc6565b9050806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035d9190612d43565b60006106516080860160608701612b4e565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915060009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156106c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e59190612c1f565b90508681101561072b576040517f275c273c000000000000000000000000000000000000000000000000000000008152600481018890526024810182905260440161035d565b61074c73ffffffffffffffffffffffffffffffffffffffff83168983610f07565b600061075e6060880160408901612b4e565b90506000876080013590507f7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b388f8884878588426040516107eb979695949392919096875273ffffffffffffffffffffffffffffffffffffffff95861660208801529385166040870152919093166060850152608084019290925260a083019190915260c082015260e00190565b60405180910390a18e7f38eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b995378f8f8f8f8f888b898c60405161083399989796959493929190612bb4565b60405180910390a2505050505050505050505050505050565b61085581610bb1565b478281101561089a576040517f275c273c000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260440161035d565b60008473ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146108f4576040519150601f19603f3d011682016040523d82523d6000602084013e6108f9565b606091505b5050905080610934576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109466080850160608601612b4e565b9050600061095a6060860160408701612b4e565b905060808501357f7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b388d6109906020890189612b4e565b6040805192835273ffffffffffffffffffffffffffffffffffffffff918216602084015281861690830152851660608201526080810183905260a081018790524260c082015260e00160405180910390a18c7f38eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b995378d8d8d8d8d888a898e604051610a2199989796959493929190612bb4565b60405180910390a250505050505050505050505050565b600082808203610a74576040517f0503c3ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008585610a83600185612ace565b818110610a9257610a92612ae1565b9050602002810190610aa49190612b10565b610ab5906080810190606001612b4e565b90506000610ac282611044565b905073ffffffffffffffffffffffffffffffffffffffff8216610aec57610ae93482612ace565b90505b6000610af888886110fd565b9050610b048888611209565b610b118a89898985611276565b600082610b1d85611044565b610b279190612ace565b905089811015610b6d576040517f275c273c000000000000000000000000000000000000000000000000000000008152600481018b90526024810182905260440161035d565b9a9950505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831615610ba757610ba28383836115ba565b505050565b610ba28282611736565b6000610bc36060830160408401612b4e565b90506080820135610bec73ffffffffffffffffffffffffffffffffffffffff8316333084611860565b6000610bfb6020850185612b4e565b90506000610c0f6040860160208701612b4e565b9050610c5f8273ffffffffffffffffffffffffffffffffffffffff1660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff1690565b8015610c765750610c766104d860a0870187612c38565b610cac576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610d2d575073ffffffffffffffffffffffffffffffffffffffff811660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff16155b15610d64576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff82811660248301526000919086169063dd62ed3e90604401602060405180830381865afa158015610dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfe9190612c1f565b905083811015610e71578015610e3057610e3073ffffffffffffffffffffffffffffffffffffffff8616836000611926565b610e7173ffffffffffffffffffffffffffffffffffffffff8616837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611926565b60008073ffffffffffffffffffffffffffffffffffffffff8516610e9860a08a018a612c38565b604051610ea6929190612d0f565b6000604051808303816000865af19150503d8060008114610ee3576040519150601f19603f3d011682016040523d82523d6000602084013e610ee8565b606091505b509150915081610efd57600061060982610fc6565b5050505050505050565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080610fc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640161035d565b50505050565b606060448251101561100b57505060408051808201909152601d81527f5472616e73616374696f6e2072657665727465642073696c656e746c79000000602082015290565b6000611027600480855161101f9190612ace565b8591906119df565b90508080602001905181019061103d9190612dc3565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff8216156110f5576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156110cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f09190612c1f565b6110f7565b475b92915050565b60608160008167ffffffffffffffff81111561111b5761111b612d94565b604051908082528060200260200182016040528015611144578160200160208202803683370190505b5090506000805b838110156111fe5786868281811061116557611165612ae1565b90506020028101906111779190612b10565b611188906080810190606001612b4e565b915061119382611044565b8382815181106111a5576111a5612ae1565b602090810291909101015273ffffffffffffffffffffffffffffffffffffffff82166111f657348382815181106111de576111de612ae1565b602002602001018181516111f29190612ace565b9052505b60010161114b565b509095945050505050565b60005b81811015610ba2573683838381811061122757611227612ae1565b90506020028101906112399190612b10565b905061124b60e0820160c08301612e91565b1561126d5761126d6112636060830160408401612b4e565b8260800135611af9565b5060010161120c565b8383838382600181146114d55760008585611292600185612ace565b8181106112a1576112a1612ae1565b90506020028101906112b39190612b10565b6112c4906080810190606001612b4e565b9050600089815b8181101561140157368d8d838181106112e6576112e6612ae1565b90506020028101906112f89190612b10565b905061132761130d6060830160408401612b4e565b73ffffffffffffffffffffffffffffffffffffffff161590565b8061138a575061138a6113406040830160208401612b4e565b73ffffffffffffffffffffffffffffffffffffffff1660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff1690565b80156113a157506113a16113406020830183612b4e565b80156113b857506113b86104d860a0830183612c38565b6113ee576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113f88f82611c6f565b506001016112cb565b505060005b611411600185612ace565b8110156114cd57600088888381811061142c5761142c612ae1565b905060200281019061143e9190612b10565b61144f906080810190606001612b4e565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114c45785828151811061149657611496612ae1565b60200260200101516114a782611044565b6114b19190612ace565b925082156114c4576114c4818885610b7b565b50600101611406565b5050506115ae565b8760005b818110156115ab57368b8b838181106114f4576114f4612ae1565b90506020028101906115069190612b10565b905061151b61130d6060830160408401612b4e565b8061153457506115346113406040830160208401612b4e565b801561154b575061154b6113406020830183612b4e565b801561156257506115626104d860a0830183612c38565b611598576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115a28d82611c6f565b506001016114d9565b50505b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316611607576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611654576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa1580156116c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e59190612c1f565b90508082111561172b576040517fcf479181000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161035d565b610fc0848484611f4f565b73ffffffffffffffffffffffffffffffffffffffff8216611783576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b478111156117c6576040517fcf4791810000000000000000000000000000000000000000000000000000000081526004810182905247602482015260440161035d565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611820576040519150601f19603f3d011682016040523d82523d6000602084013e611825565b606091505b5050905080610ba2576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d116001600051141617169150508061191f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000604482015260640161035d565b5050505050565b60006040517f095ea7b3000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080610fc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f415050524f56455f4641494c4544000000000000000000000000000000000000604482015260640161035d565b6060816119ed81601f612eae565b1015611a25576040517f47aaf07a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a2f8284612eae565b84511015611a69576040517f3b99b53d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082158015611a885760405191506000825260208201604052611af0565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611ac1578051835260209283019201611aa9565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b80600003611b33576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611b8c5780341015611b88576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015260009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015611bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1d9190612c1f565b905081811015611c63576040517fcf479181000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161035d565b610ba283333085612023565b611c85611c7f6020830183612b4e565b3b151590565b611cbb576040517f6eefed2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808101356000819003611cfb576040517fe46e079c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611d1061130d6060850160408601612b4e565b611d1b576000611d21565b82608001355b90506000611d3d611d386060860160408701612b4e565b611044565b90506000611d54611d386080870160608801612b4e565b905082600003611d8b57611d8b611d716060870160408801612b4e565b611d816040880160208901612b4e565b876080013561223d565b8460800135821015611dd6576040517fcf479181000000000000000000000000000000000000000000000000000000008152608086013560048201526024810183905260440161035d565b600080611de66020880188612b4e565b73ffffffffffffffffffffffffffffffffffffffff1685611e0a60a08a018a612c38565b604051611e18929190612d0f565b60006040518083038185875af1925050503d8060008114611e55576040519150601f19603f3d011682016040523d82523d6000602084013e611e5a565b606091505b509150915081611e6f57600061060982610fc6565b6000611e84611d3860808a0160608b01612b4e565b90507f7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b3889611eb560208b018b612b4e565b611ec560608c0160408d01612b4e565b611ed560808d0160608e01612b4e565b8c60800135898711611ee75786611ef1565b611ef18a88612ace565b6040805196875273ffffffffffffffffffffffffffffffffffffffff95861660208801529385169386019390935292166060840152608083019190915260a08201524260c082015260e00160405180910390a1505050505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610ba29084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612380565b73ffffffffffffffffffffffffffffffffffffffff8416612070576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166120bd576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff838116600483015285916000918316906370a0823190602401602060405180830381865afa15801561212e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121529190612c1f565b90506121608286868661248f565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152849183918516906370a0823190602401602060405180830381865afa1580156121d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f49190612c1f565b6121fe9190612ace565b14612235576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661225d57505050565b73ffffffffffffffffffffffffffffffffffffffff82166122aa576040517f63ba9bff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015282919085169063dd62ed3e90604401602060405180830381865afa15801561231f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123439190612c1f565b1015610ba257612355838360006124ed565b610ba283837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6124ed565b60006123e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661266f9092919063ffffffff16565b90508051600014806124035750808060200190518101906124039190612ec1565b610ba2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161035d565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052610fc09085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611fa1565b80158061258d57506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa158015612567573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061258b9190612c1f565b155b612619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000606482015260840161035d565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610ba29084907f095ea7b30000000000000000000000000000000000000000000000000000000090606401611fa1565b606061267e8484600085612686565b949350505050565b606082471015612718576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161035d565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516127419190612ede565b60006040518083038185875af1925050503d806000811461277e576040519150601f19603f3d011682016040523d82523d6000602084013e612783565b606091505b50915091506127948783838761279f565b979650505050505050565b6060831561283557825160000361282e5773ffffffffffffffffffffffffffffffffffffffff85163b61282e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161035d565b508161267e565b61267e838381511561284a5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035d9190612d43565b60008083601f84011261289057600080fd5b50813567ffffffffffffffff8111156128a857600080fd5b6020830191508360208285010111156128c057600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff811681146128e957600080fd5b50565b600080600080600080600080600060c08a8c03121561290a57600080fd5b8935985060208a013567ffffffffffffffff8082111561292957600080fd5b6129358d838e0161287e565b909a50985060408c013591508082111561294e57600080fd5b61295a8d838e0161287e565b909850965060608c0135915061296f826128c7565b90945060808b0135935060a08b0135908082111561298c57600080fd5b818c0191508c601f8301126129a057600080fd5b8135818111156129af57600080fd5b8d60208260051b85010111156129c457600080fd5b6020830194508093505050509295985092959850929598565b60008060008060008060008060c0898b0312156129f957600080fd5b88359750602089013567ffffffffffffffff80821115612a1857600080fd5b612a248c838d0161287e565b909950975060408b0135915080821115612a3d57600080fd5b612a498c838d0161287e565b909750955060608b01359150612a5e826128c7565b90935060808a0135925060a08a01359080821115612a7b57600080fd5b50890160e0818c031215612a8e57600080fd5b809150509295985092959890939650565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156110f7576110f7612a9f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21833603018112612b4457600080fd5b9190910192915050565b600060208284031215612b6057600080fd5b813561103d816128c7565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60e081526000612bc860e083018b8d612b6b565b8281036020840152612bdb818a8c612b6b565b73ffffffffffffffffffffffffffffffffffffffff98891660408501529688166060840152505092909416608083015260a082015260c00191909152949350505050565b600060208284031215612c3157600080fd5b5051919050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c6d57600080fd5b83018035915067ffffffffffffffff821115612c8857600080fd5b6020019150368190038213156128c057600080fd5b60008085851115612cad57600080fd5b83861115612cba57600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612d075780818660040360031b1b83161692505b505092915050565b8183823760009101908152919050565b60005b83811015612d3a578181015183820152602001612d22565b50506000910152565b6020815260008251806020840152612d62816040850160208701612d1f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060208284031215612dd557600080fd5b815167ffffffffffffffff80821115612ded57600080fd5b818401915084601f830112612e0157600080fd5b815181811115612e1357612e13612d94565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715612e5957612e59612d94565b81604052828152876020848701011115612e7257600080fd5b612794836020830160208801612d1f565b80151581146128e957600080fd5b600060208284031215612ea357600080fd5b813561103d81612e83565b808201808211156110f7576110f7612a9f565b600060208284031215612ed357600080fd5b815161103d81612e83565b60008251612b44818460208701612d1f56fea26469706673582212200a8823153d0213ad29448d07b945bc5a6e8253a7933052a9accdc5ac502c53e864736f6c634300081100330605581c021d99b3db863ca195d700460e03afe22108ac3eb5f0b2a82c1899e00701192f2605581c026e55341e691d97f82009b31028d37951fda9745c8f8afeb8914280040302190420014200ab05581e03faeffc2724d1b32f362cf01993e17d92c6f8931a61ae0c4e448ea04e700c0247d35e3ac30aa83b03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03b528ddfe25a6853f76145f34e04f149dcba7c7d3e3deb6574b4dc0112007011bffffffffffffffff05581e03f6583485683360bf5b17f461a5129bfd2d2cbacb3912c437797565eea00c094702f2e12340dc70030986461e30146725f425a4e7c141360b85391c48aed83b30a6a87689fd08c16603868b970aa84803b1d4d806d81ef52c5db42e05a4de7cb2708c21255e5f5c853805581e03dd85f663f96eeb1ca928cd2a12b990a0041e1dfbe2fcfe3100246f9bd00c074713204c24a2e52d0219f62a0365d9f5f135a188d10f9b97d74278ba5540c80da1439c341ebcdc5ff459387e6b03f9c72a0ccaf7865744424784462920b2fdad3aa44955b21ba6e8ba283ef2539f0219ffff03226ab7471dfef40503a2ce98866311db9dca5b5ec93c4117de057d328e50cf4a039511efc2b079f1304174b8b0037c2286f1a50118668ae2667c88e9d1e58a403703060ac890f8c986efc3fd157c4dad04b2b56f0a09105a631866c712fad7e5c3d20359c5336923a7f5a3d36372b2476cee9019a6d423e3ec90c5d0f03c4781b7b4f103b04464df8cb129af1dad93405608e16a0c34c7074fff26d52fa24e431ac1411303f840b35aa5c7e5e7eb8a247f89768fa1153d190cf78dea3e99293cce13b826620219ffff0219ffff03a1068ff29e89dd1cca29eed9f98540827e3bdfc9573e569925c834552b854cb303d0e48abcf4cad02998d8acc498d24ab0782124ab8da2aa0069393cc40f696e0b0346c71d8934a0f8adff2462fcfe75b2168dc7430825dd592cdbde92c518b9d850031ba3170674d3015a3ab12a246436aed5dd9b26bd288d72a24fcd550e6ff2fef6033a9c47a451bc6e46ec666fd0d69360916f6b669931ea111e9dfebdc0b2d644270360310d2355c697f5f313f96b4ee257cd63cd422c63829b9fade1a2ec91ddc88403bfb0598a74c4e91e6cbc88c0e0b99cc4ab3e052818b622a928e3a44dc663138203168126dbec76a27ac0e3cfc594ac5b73dd76e0fb030c605fadaf8f9b172f0e6003a35a450a035d923e46369fe3935315b5f0eb093a9951bf1103e836bde8c8db08036c3ccee1d687f367ac11ec540f2008e53b1849da4986d4409473d50ae0456987030d7031533c286188aee7613202ff978e510aac3b6a8301ce51fa2c5472e5350103db22d9bf19af66476642cca4df3ee9f76146a58b0265f310d01cd7adcd251444030c0986416465a315901d3bca99f57fb7f9aeab010c47ab9862ee7b9a69c3c19b0386c0cc4f08cb8e437c337f9431000da59a44bd58bf0a03d48e041fd0012378c903ea47a74ee8d333a3c7f5c5834d1752a6ae65db214455d09c1a6de490bc91fefb0377670daeb5cd4a3df792d222e27422fb4156519d82ef092e8f44fb248ecbd0fb039202c2cfecce6a0de665ddab9e8d6748285511d89691a6f011fe3fec14407897030bd24ff1be43ad171c161e96dd0a1d1fe33fbbe305831eadb76b83ab960e09440394a547338f3176d36e41120adc6b6dbaf37a93f1e1ed49c110776a7f5a3d0e9c03b06f642d077fbf15f7e8e079526b870655616ef20be96df7984e12695bac939805581e032c787f4546ac7aa0fb07a52d8a6d77a284aad0c416b384e4e7336e12300c01461e592fa0f400032705dbd29c927bc49bc996b65034469e411ac651429ed199dd279d1724bd312a03ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03f9667edacabb72b4cfe4c71a84b791460a0cb70d59a813ece23272cae007011bffffffffffffffff05581e03d7211d15e0765c47ca8254534a8d2c48a66b26e17723679690aa514f7004010341f37e74ca2be5ea8f3a5b729535fa5e125ec9bc290df511edd65016469b74c10459088c60806040523661001357610011610017565b005b6100115b61001f610169565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a5761005361019c565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a576100536101f3565b63070d7c6960e41b6001600160e01b031982160161009a57610053610239565b621eb96f60e61b6001600160e01b03198216016100b95761005361026a565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102aa565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102be565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101a66102ce565b60006101b53660048184610683565b8101906101c291906106c9565b90506101df816040518060200160405280600081525060006102d9565b505060408051602081019091526000815290565b60606000806102053660048184610683565b81019061021291906106fa565b91509150610222828260016102d9565b604051806020016040528060008152509250505090565b60606102436102ce565b60006102523660048184610683565b81019061025f91906106c9565b90506101df81610305565b60606102746102ce565b600061027e610169565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102b46102ce565b600061027e61035c565b6101676102c961035c565b61036b565b341561016757600080fd5b6102e28361038f565b6000825111806102ef5750805b15610300576102fe83836103cf565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61032e610169565b604080516001600160a01b03928316815291841660208301520160405180910390a1610359816103fb565b50565b60006103666104a4565b905090565b3660008037600080366000845af43d6000803e80801561038a573d6000f35b3d6000fd5b610398816104cc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606103f4838360405180606001604052806027815260200161083060279139610560565b9392505050565b6001600160a01b0381166104605760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61018d565b6001600160a01b0381163b6105395760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610483565b6060600080856001600160a01b03168560405161057d91906107e0565b600060405180830381855af49150503d80600081146105b8576040519150601f19603f3d011682016040523d82523d6000602084013e6105bd565b606091505b50915091506105ce868383876105d8565b9695505050505050565b60608315610647578251600003610640576001600160a01b0385163b6106405760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b5081610651565b6106518383610659565b949350505050565b8151156106695781518083602001fd5b8060405162461bcd60e51b815260040161014e91906107fc565b6000808585111561069357600080fd5b838611156106a057600080fd5b5050820193919092039150565b80356001600160a01b03811681146106c457600080fd5b919050565b6000602082840312156106db57600080fd5b6103f4826106ad565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561070d57600080fd5b610716836106ad565b9150602083013567ffffffffffffffff8082111561073357600080fd5b818501915085601f83011261074757600080fd5b813581811115610759576107596106e4565b604051601f8201601f19908116603f01168101908382118183101715610781576107816106e4565b8160405282815288602084870101111561079a57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107d75781810151838201526020016107bf565b50506000910152565b600082516107f28184602087016107bc565b9190910192915050565b602081526000825180602084015261081b8160408501602087016107bc565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220949b1f520f279848d7da9a3cabcfa44e230fb00bdeef00de9a6df70e81fc72f264736f6c6343000818003303c87fb38869b51797af53600e11060de79df1621f0009e975dc0662c052ca1dff034b17f0648caba43025eae126d4a98331318d794fe283ba1e1f35e88509e8ffca0330708eb8c2eccd033a24a17fb0c7be28a2363fb4124a0172eaef89cf39bb5bfd0356b0060c1747da5439a2c4166defe6f178c7cb79899c877a31ee00fc950e8d1f031156d24cda91b1988fcf7184f52d046705ead63c083d3a2356acad9f387c6d020376d613fa68996b2e2f2365f64aafc7527a5b83c2362e1a655127f7e944e580f503235b68d2237cffc010fc3acfa59810af9869bca4e68a4d66d8369742a4c29cdf03e042b6e3e87b63fbffecd8c8c873f53141e328e4ccc2755c33dad0dc0599bea403276481dd560267bdec7f2e43aaf05a7c296f701dc5756d1b216505fb622f0bff0327934095ca8436a80ed5d88b70f98b1315b399d463e9c218487d4fa847ee09b8032858d173095a6a5b87340efd2e91646131abc1d6a09e71873bb4902d748c2f3500581f02656a9df77e67d44e75a081c28d811601ce14a760c481c2d9b116601ea26341010389bfad5b49e4a000936439d32822b4a8550db8c708dda7dd1a3132697e965ac000581f028e2452ea02d844927b21f9313db0c2cd5fe3e7fce5add6bd9199ca1b0ee4410100581f03b95c350e796a5d09df94874c4c4e6481c37c8756c64407f9893267cd7200410100581f03f6eea7eee708cd329420dff736ab2a93bbbc0474699a662b1923437795f0410100581f030ee6d84af2a44fdb6efb1f0ba0256ead1d5b5ae893c4514f4553e550f8a0410100581f03976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d81405501d2639676da3dea5491d27da19340556b3a7d58b800581f03192c4b75d1582461f4fffa814f488d16afc99cc240877be1c612b5ed1f9041010219864403d0ab4af56987933384010d9227f49187875c313599fa0d46b8978cf92cc4e8fa03aff1af0ba5703bfe11ca15a930f62327a089c82d790b234f7b960573d163481900581f028b435ae4685f963c012b6796578ec27677d0b271ca834b30b702e63a98b041010303901220c1b39732e10f9a92e69f3ffe7dbc6427ce35665dd652c6e68005c45003d60a2178850087702a082bd45a927967a12d0b75a46396e6a00e3fb94ca563410340eae15e1f668c126f90ace154e75ed5df1ce376578d6df3aa878613c7cc9e53039f1cbf3521d221c340886e08cec0f12125381311a5f68a6a8174cbea254db5e700581f02fba2789d15bb381378160abedb763ccdbeceb6d84096de2b36e3dac11ce441010219ffff03f1aecd924e780513c74b889d67b21a733a4a2de0f2823c260456848f478117b1035134a36946e9a85e6833a4ae74b1afd4d3edc30ab2139a6d0ea66de582df690603e8a374fab790edb3c8621d5a5923243a6926947f55fedde65aebae545acdc78803d12caae8fb7d3faa955cef725ce42f4902b0bfa1b758a52f9d635e315cf4143103b0a936e02ea4f8867752448de35e6065d60f6b3d7cbf3a57bfba95a59472dfc0031e85838a988ec81cd9daa963dc25c311710cce75ddcea0c2f6101c4b126f5dac0319abfca9965d3a2bdebd73ff25ac08b2989f45f000b570d1a6081cd5456d50d103e7351ac80fd05670b7abd3b88ba3222835e2b8a3454168f53ce28d5f425bd2c503f2264654b691c9d9f60aac67feabbd6117093d9c57a33a36ce3c12a664fa0c5903a1494ae27ad2e4c9c481d67b3ec86c52cb8c13e59735100aeefc067920347d9e038a5145163ba0f0cef97e32e4dcce06418fcc0fda051ca6452cc632be62d15a27032737cdca96819c54e66924eb1eba94c7d0df5ed82af699b008f7727a44d4345c0219ffff037b8b2ec769f697c2f82b0b4a55fc45f85f86d9b4ae16665179743e63bf180c8f03d180776af6904ec913180d4566279eaff0e39819df11403e56420522325af4be03be007bacc18023cb394b9ac0d80273fa46ea2951f401a738e725c4a27ab22ca9033ce4a9bdf55fd0a38ac6b58a40acd53ec06002647afff4e0b3d060dce87b582f03aeaad25a89cbb20569ec886aca90bb66f3baed18ad6e468dabcb28ddbe76c0b403219936d60fdad124aebaea5e5480ef193e2d1a15985bea7426496a054b76de20038f1c613cdbf5c852e2804acec7bf29d967f95566db518fca80c25ac06573e78003ecedb108a5b4894794afbea96bb6f5fcde2b020761a798bf98a7ecb1f32b6f8c03a177c2e953d4b29f0c9ed0f92896031df939c5e3c055cd786386e1caeb54d8860383cf262344167a92c0fd6d63cb36f28dfa3eefa672430c83e4d134a1e6856c9803311f781939c739e9ae72354aea7f9b1237528d30ebd584e1dc6dfaf1d073fc0e03a52cab1ec721cfb3e2ce48a93c02c793ead04445e9d91d9e50317904f2589ece034941d64dd0f9034bdd3495fc110f5868921d92a792587ce2981813be8b8b349d0219ffff031f31192a8870ddf571f62a5ba2d5092197f662913048c0773cbdf695e5e7b842031f4287fb7f40bc5017ceff0f13e52de3d7f2b09423997329f6221cd47faf1a6b03c996617faff50a593a120e671defd38e2d757944d5463c6e9e4791e5edf043ea037d05242b8411df566f178faaa86777a6673a5e50b659f9c7a0f6fabefcc0b14f03fe4a2e91ce51b3f0e25ac043b458ed90f4f119ddb949e75ee73a0ea700a85eba0338b06d5f8f32936090de71a4ee803194655b9588ce00516ca76359aefa8bf3200349aa38e80ecedfc112e4445e45082d8378c131c6b739cfe9374c34c9d41d698403835772e48d3dd0419779d77e6052a3917dd9594103aaee4f8fe37cd834b0996503b457b1dbaade950367dd3d3d1ed9314e28e20c37690d10e67cc74cf68dd19c9303dea8e795c5dcaa9e39eacc0b31996f187696a78c326dea95bd36c99145eef6160336938daabdbb14f3aa46d7e328ae6d9c332d35b5f1d7fdfd806607cb8c0e483a0389fa05013debbd51b59b116d919cfe1fa95c9bc6bf1ac767444b06df3ea019b00345c564195346b09213da34459dec6d480a6ddb22743ca8b382dd0ec917d6643803676f1b6d4aa293f883ab8a655853cd1589f7a5d6e5c7759a5817217851c7d5ce037502dca6fd184e3e8e41509bdb8c641d9b19a064de312da8cb5f9ec745cb435a0386ecd2b33b9925e2fb3fa37ef79d39ed69fcea33077bc0abab5686edb74ada810393ef36f9d1428296e63c735a4f2ef72d4c727e97e07709bbec56f481c0d9a10d03e5bc4f97c4411cc6134e63a4224966bcd2c5fa858c6dd349144df0f2cd9a29e3037d351cc21bb12e94cdb4b69602e2730e974e67c15653ca14c2dda9e6c88af8e003be2764bcad991dd58aac3ec967339fa2731c67b049dd2144f9e7600963e7d26c038d0b7d057a618c50fe106cd69f5383051c95bd65cb84e8b6c5bd00c2e4083b54032a2f82b2be7b1b35850e2815c0a96919083df41dd78f4afb46419329db2bdccf0357af92e8138aa51527e8a3d326b84ca58906a05f77d305e93067ed43f33ce02203d3eea1c6f94adf944ac0576ba2e88fa4eebec014e802db568eb317677eb3e54a033698e75e51056b53bd03905e5ad538739981972b8215e7c4c71d9e38faa52aaa0303230e0c346f101b3b76e751f44641a130547d0a2be8d32f99020349d585964b038d0a2b507d5066ec7220b45b6dbd6da51c645259943597793562c50d9fdc8d1e00581f02ca2b41c0ba6765fc8def1f0697e49bf30b196c012cb5a916d09fac60a904410100581f0358ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be4047016bcc41e9000000581f0371cc9eccaa087f213ba3c9f93771929884386cf35556ea9cddda4f06a600410100581f03dcc0ee03015b97a4c47bc4e06e733775d399139caa28917e9d1a0570caa041010219041200581f0214d92f217af6a50918d32807c6e252a62afcef5448e1d1dd3bca555445454101032ed4f7fc8e9fb0f30c2acd4e150ca0beafcd4f49fe8f8fff765a0133f4ac154903e64d6be75b1907fdf263d3989f1f5b22accdd9a96a73f273ddc529a3fe58bf92038984e76580e491b32b0da93b48e25d1d12b8928691f604091faa1fe0d4e5067100581f025810a20724d4cc2641ea85ed3e57a7e2b51577c29ecb57b9ae3c49be22c241010219ffff03ba7b6d222f7dba3fac5be619e9c0f9d829e845838007b22fb14ec4ea71d9484903fbc8714f47da51c5decca97cc940ad895a201e24ff6269f6752fd916f5d22a540219ffff0329350802a896f6a7157a968b1b1a885a5b3ef5e888e6211b10d57e5a6c793e4d033648fa323aa7012e68c83c87a5929c7e68872d1d4191f0ac923e938405bb9fa903b1a0018f9ee7649df90ef7a69b6921080debb47e3462f906f6965abf4ba7303e03de52581dde1b4cefa30dca207c918f5a3b55f9c33a56f8a4724328fd3004996303677c423780d0fc269ada9925a0450ba06b2ab706331cdb700a1870d8853a917a0324559bd1b8463f2c77547b47d0117b9712b4fd3a821ed930336b9ca41635876e03f4075b954931e2377dde435e7a8c86c058e00e0c6c10b94fad83f50295bb27fc039e2ced1105ebdc1c8f249e1c7cc87e7764e72d69fc970441138c4d9ad6d3866603b3bff6bd9d1ac0c377897f05873df27d8119ca554cfd208ca70f3d99372d4ac400581f02ef77e76b1838f2a20ba7603050f8068c97e2fa4ab35093e0c4a6e3d5273341010366190f823690f10397be4be06df33a1c0c66affb6a31be41c2734a15d7916c37037d4125e2bf7d720f268e115fb52b0152eecdd580bae6c4a3551d889e754ff7760322c91fb31a7e43c5dff0f846524ac86c2b4fd7fcc113922ee0e20aeff44800f303527f55cf2ba1c21d0969475bd96b57d3cefbd2ff4f28dae3ad3d88137553e27c00581f02652390c87dd9d837bb6434eedca4bc19ca6e8458bfbd2c57e6c0bd87dfaf4101036c62b89ee2f95ab8215ed2c6f2afe3d163290f89293e8100092c8eb43b599a3c032e74800db9bf152f4ae8ddbed13a061c0ca8432ddac145109252bd1e94574ae300581f036fb5703f25a4bf3be5db840747aee7621eb2d2834ad3d13128961937a22048a748d022ac94500000581f03945bf00b0a382a37facb56e394f7ff66950b69bb700c6e38164b1a3429b0410100581f034c2fab5c50feb5d6ffdeea5cf709bbba46dfd957af8b7cdee9de0c402bc04101033faf8c9ba5ce7afacc3d7bcae1496b5b66b644c9db7ee09e378d75b39528f21600581f03ad60c9d3833bb50664cc5acbbd5c327d82895e1641db3151db10a476b44048d4b67311503ee80000581f0321fcd69de0423c306494fe61985a500865fe054ba9bb720b09dbee348080410102194c1303850d28fd621ace7895edced2751ddaa222b09ab6904dc59e495b5b757c7cb64d0219fc7f031073fc2c6c4d8e0af32726f456dcbda97fe19bb81e275dcd1aa4fd73c7e6f78b03c1b4a3c8c42e86d0e98d4f4467393bc4125d281f30771ffc88ac6b0a7b18f24503402ee57e17318b32c34ce64efbff67828fd2cf5d52409e760b5721ce53fa710503b8a2d8a1fdd8ac9ac5a66a71fb61d9a4eade2aaf3ef1563e366b4b679c274a5703028f40be258b5182175928809fb080b9e8db04ff1eb86431ae897c8d2ad6911d039fdc640c0d7c6554fa14cc775d63236c933cc1d711d2954d38140de86e0571ce03e9cf4a2912b758984383db645888f7ac90ced0290864ab5bfa86382558c08b060378c106eab5de9a943efd21e81fa6d6514651752d4cd91cac5279fb0205e8b1cb03841e352ca5454078cda882ee9227447e77b4032043082647e24ea5c88f954df4031e772f1bba38b85e5ba61a78b7cdc31da1dbb14ade11f27df65f74e892000f400390e86753ccedced2a9ddcd06fd621913d0bbcb9d9e3f2ab78ae44851b6f1bac003fce912ac57dede10ae2e2c26cf7eeb418464e399861640e7f8de7a09b79abbc203dd9284bac9c689c0850e6d19b4ec6100edaafff83d58e5c0ad037594e34861090366b49486991e8c420f46772f6d50b36ccc56d297dff8514efdd8654b4e6a0214034a65d09a1f2d068e2ef2118df14de8ca70457c484efd05f59b3e800878ecb6fc0219ffff036518f55c9d4335df5d8037e6ef10afe8491d8f31b7f04eebf8e2d727175d84a203ad36657f5cd68b53c68917a164da141b0b1207344a8457351ee0926fa613b79b03f75aa4bb20438150e03b78c584d95401144f4d1d2666b4529bed6f6895809205030330fd9dba964acf97eea4d47e020edc386396486c19c69a3f4458b5893ae30a0219ffff03d648cc23a9c8c58fc6d8e5d7f9c8e7fff90786ba7c588fc83bc4ab2ff5d144a9036f121e1c4d478aea25577fd08640c1ff344c722ff17dbb9b736cacc190598a16036ddb8691ef49123f24bf54c3b97c4503ca013314fc35d4aa25e5c080cd100060036da8a101a6f3abef250b3c11b433a7f1d10fdf0e8155bfee45c6ee270ad298430311672a303e6c816daefd95e9d134b043633a24d309c5c9ee7c5687a05fd3f54100581f02df5cb0a68247a04de7fc5bd681d6f43e4a32e72b9465543856c510ed6c15410103725dd3ded7874e6aec88d234717d9fee4b53791c3329a88462837a0f8e97e49c03d18a7bcc72b76b1ecf092a1f4ea5c5bf32c7b7c4f85917db8b025691c064389903cf9c47a45b3c7bb290425067d3b2ed8bd563874b62f7f345b7814b08f9d5ca6403adf79e601599c81f3be7300ce25e408f2ad36a6f47bf440c606f9d89b139a9a400581f02bde1d91370017e8754092994f72b5ebc484ed24bc947907713f13e5e0735410100581f02268b293244540d9fdb4fe3a9ea7ab79f386159c15836e6976d7f77c0d732410103a6b67bf2dc5094275604e6cf643b61c7e13016d38a8f0ae2afc3eb3e3465e0430345562cf292bde4c7e5bde32b12951a63dd4b4a5adcac7daf6c37929f32635aac035d36bd8a5343f47acb102e5d9e5d9f17ed485e75868dde9e21dc29f4d655428d0373a91daba8ccc226c9ac0ce6c23111ac9f9964f43bb0fe891003c5fd7477e3370312513c5fd68251f1a6982f1d6a91fffeddc2552869d01f8e32ed49cb43cd42c500581f03e394e98e54c97fef563357ec4b121d781f90901a01e8875b583e9a1005c0410100581f03050b7099f98bc519f29b78e4980c6a2a8a9dda18032a85c98095867569d048a748d022ac94500000581f0311d8b1998c4a9df3270cf624b409df6e2fc75a77e1b7269c2b954a1041b0410102190844036d470f3455b074cd483e84f6677f85425ab8051fb49f5d40b9cd2e1b2add675d00581f0217d48817a75fe6aa7ff2acc9b12dfe13dd1e3467c8e666c1759dc235517a41010219ffef036d2b4f98cf93b6604364f691decef7d747d26dd2a192aa61a5bc462c779f192b03b7abcb1abe00947f6ba023d6c65d02db89fcfbab9752fad3499eeef47e502daf037ccb40cb91f0ca2f2b9b0a1f758735749176926b232469caf1d09ce8fd34dcef03b73e2dcad919c247ef1294cc1a383a53f0ab30a9ca433901fefdc93fda48110f03b9840377d31f1eb18e63d032c68f08dc40a93b020356f1c3704d68017138c53003767c432f551940758e053582f8816337be41df2cc082647966b19e8d76ccc20703877b3fe2f25a03c32987f276443c128fb0f135ed68440dd125cbcdc27e6c1b7e037a7a399b94a37199618d18afedacbffa9f91b97ac526e18931e0bb212e5ba8630356fcfff1a6b9a9c4a2729e53b17655936a59e22e5989fedeafbcb2f98c92db1803c5cd85fc4ce54b27bcf85c312080e186c3de9f76a23eb259102f038cb0ec8ff800581f02e43cd1be09fe4fbae9a348599deac0730b825578ff777b510de44946a25b41010375ec1e5914087c46541f70368f5c426a2e1bd04dcef61f9d577f2d1e519c8c3603eebd732f96189f5c464f5742a82f1f45dbe7fbd7f89685bf827b417cb1cb8a5001410a00581f02bed3c8b684976ea84f1894dcd20c10d2c871a71d467173295004f188e8c1410103c81acc953a7a65abb757a0851be98ff93152db3717e8f79dc3baccd9bf5d375b031c6203f3f938dca8939e924177bec06eca2e4ddf5a9c8dfa0d528e58d781976b038a0f4d736db2d5f456f94902ef0badad5883c1df5e175c8a81e38160389207280348b3b1caa862c13f954ec3fc4cb825eb99a4640f48ea745c0eb6c3c0882197fc03f724dfe6acb8b8ac534de7d4e9c04aafd425715556b1afc9cac380564c236a3a03a48165c8767f0bfc32ca2f4942a6e0420386dfafe60bfe2e385a315d259366b10367ef08f09a60f708337c68c4aef68d42f73d293303494dcce43ea8a5c519e03300581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48105442a72499eddb0374ebfba44fc880f82cce73661400581f036bdefae69b5e7eb175c1ac11e5a621154e2a8b7d215c5d632c9bb5fcc91041010218410219f9bf03ad3762573d4a7fa578bf3a19fd32b8ec066fb14a5069f681b2115bd33bb4877403922c8cda2e8bad4fde27749481eca858151ecc68e68b3e1245a9452a493d52980219ffff033e8c40ebe41480bbf18b905e9d03aa502b4b05cacdb466cda7124a8a89d1e71403eaf0954a4d57404424638d26324eedd97a3b6067cd307a7d0fafbce825286ef2038426bb6b34b0711e5301ba7ba6933632d6dce285aa3e64d9a89e9687935d2765039ff6326f7716f830701dea80a27d65cf8d52e30f3ee3eff869530c8f743db6c00327bc78849d96e1b8c7561a372e32f8a2d24b78d40f1c88457406803467cb811e0335b14e99c6184b23b7b367019c4b8d2e9c8854efcf373743f16c5de4e227c5d103ceb7779c256ae3afc29e5a4407da5321f11b1da156fccb2a2f5f5ce361f4966903dcf1ef6f9411dded508f9839d37539665991b5deced956756b3401250788f36803acf31ef46e081800f69f1962a95bb5d9aef0a4c6b45ee3416f362e73f4f35017036c2c83f67234b174a0c8b3c13d01597a0a633f97ded0d6416a5a6aa83589a14c03b349dcaf665c05b862d455d86f9652097b21878eb00db0accd96de61d2de34b3030a21313b2c064877f838668bf69a08300347a3d1673c2c211eedfedc11d256ae0308172fe6502d07ff2bfefa8c10f5cfac0ea61b5552ba27c14ce1b52e4aa5fd490331c12010a594748350a94fab060ac32d4e6ee51e10188644c40af26f1db3d8a5036a9537b23fef2e4337a186c4c41be7fcfba98e3bfc61f10c0549a85e99e383c0034fa52ea86a30bd09e2d1f93a0a4aa5f1fc93311b549a008627050f84e878ea3c039c5e0c88ea6601838fabf41e426d39e16a3bc16df4078920fde7ee080e7a327e0354fc15ecfb881b6699f9bc729a26ff16bf6fdd3a6de2eb834d98c6010468e22f0352a3f44fb685c69ab144e0ea107bc01868c39b6ff6b47ba1fbf9ad742b33234003ea249632fe60f3c05c45087e126ab194bc5f401258cb80a7e4f8c5333d4a927103c3d8dbb2a24003faf23c42ac3ac04a7513ee0643cd342673c9be759650bc5cca03e28ce983a63bf03fec57f7eb2a1290d1df7328959d8c65409c7b234a6f9edcbe03c376db0ee289c492fc7d3388c3c6d1840ddb528fddafd55f89c704ac6480356c036dc7f21943105bf3566fb9c6f26eb9231e6c746d263e5fc536a96b8ed004437f035e3c14178c85b8072dc117ff0f83281406bf34a4f0c38c704a53f80c8d78eab0034ed2e167d8bb9e4dcca4b240f9fa4cf6cf6b7e26282b46ee2cd25aa50c4ffac303e84ca51221089f2e013f9bbbd3de3dcbdb6ad85fed0106248f7311d367d2c21d03383b1a3dda80db40ce239a8a788126c66fd5c9834eb186d90eb1cd5b71c891c303929f0556e6d50e51bb781e4e6c3e36bc76a09ff034db2f602a9e6af4629e89e703adf8e5946c3cde28deb9d48acebc43ade817605dceb06f816a34ca5340510a0203bde28238a33eb175032dca6e8dce9366e0d056deed160445ccd14bea16f7aab703dbab21be84ce26e61f3866a68750daf69c41fb4a7e0ecd63c7b334c8c019582403d8f4f4e85d79e85b767ed08290fbb8703986b699cd644a74e9c58c608f8f820e0304421ddcee04633ffd01d47ad2db24e2f683a8d114241378dd53f13e7c208e9303767c52f514349d8a9bcd83c6214f920799b76290f752e6082ec5918c7da396f003b0d24b65005896e6c93c2b3f74dbb22cc91bab77ea7618dca88af56e905cc613039edf46fe8def7b363bafaa9a6468165acc484e41335d01fabc5ddeb2c4bdadaf03d6eb99ec4366becb2e6a9041a557d7d4fffc40ee831817796347d9d182566cf803519955667e3e778b594e98796594b8b781e7208229d1f36717a50afb349ca39200581f034b49740821f158a6e16cfa03d1dbbd10ffb30b93ea14915e3565d4cce040410100581f03d3181b0f805e3c80d75d2223d7e0cc7c605f723aace18ddfba58bbc8bb60410100581e0246ce5ed8b47eda8740757c0b289d71f7b99f04620e40da9a1a3603352b48a748d022ac94500000581e025546f480b222d542fb3be51dbb424597ac1c38f79e190df5c710c4ebaf410102190880021950800219ffff0219ffff03d453166a89eaa8f344ea4fdaf0e1b7e07a75202e6b428bcf7306bcbd1c6fa10a03c7682e1be05a1942f7a59d7e706742168ae90e5798c23fbafafa1bd8af452e3403246ba8a11ee4d496a3f6094990057e15605a6e88ba76577daa6533a9aad60e7c0219ffff03465bffdf556c7b2f6f390d1fe536fc17c6a8a8936c6a4fbfd2faf74ccef077b403ec8256af3f39f868be0b4aee7d60a5518c6861419a33acdc61d62e60b8e678f8032508189e312d58212858507d85a98459e24d7fc9dc884c722bed9f8e9a000442036566be5552bdc883f07c998f53deda187f4ffcd0cc620bb2670677bcd610276e031e9bfb7b6b0af08bf1c3f1b9ef0084b221bf2c79afc0c47a372fb64624a6345503713fc7f95ff631253584199a2348f97016b4b04da6cb7df503cf5a0391ed2d3403c899db1d00027afeac3322af4ad861123153d1816d02486fa70d61d58c5d998403711ec5bef8eab6abfe281920ab35a10cbe219d93d2874dec725b16728f7cda8303b073a06d6cb1438ffd519eeaceee6e34c1053f6f565dc3d5cda7b6e8098a59060361247d1735a692078917aaf3a2636135c334b3d4ab164674000bc3041ae4e30a033355f93e0b46e3640f9f3af43ff948b95f7a2f66b30ec4506977ce57c893b57503cb848eee5772e11e77855af2cd484262f7fa626c6119c18277fd7f3a17d2a38d0327585c70524536d928b7c04e5de07be91061beef9b460c77bd5d3801573b25f70341d788d5a0f12eaf4db10bb39147e1500468f27a6f3a0756d0d02dd90388a065037c670c8808b91859141c4b1ea253f3476e5db48274bbfa3466c8b8b68c817520036c8916226e2ab9db3a5d015e5a0b5f0bbe2c433c67af77c7ce7205371c512c4703710cc11d190acb27356b885438b70989997c8e6897cfd5eda796b9412ba71a980365a52170fbe8a5ae7f47061941c073bc885960a2307585cd5a7b211eeafa203b00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054f310ac7d07b6d13885267170fb8cf49a196056df00581f03a33beb1d2f1d1e467d185d540eac937569ee785511472e8159b9b7614c304902842d029b346840000218210356c8685c74a9dff36450796a6bbfef036a1b31af1d8a826e47d6fc8f30e3535103b034686393c146198da6033c1b9194452ba09a45bc9fb78ed4a3b5f41900d4b401410c0300ba6610f18c6469653f694a96964f3cf443acc15b56923b47c642c5234c99ad039581f4b666118cdeb775e01db6d4ef0f7749dd56edbc5b720841af091deaf11e03dbca4180af6a173b465d5ceffc1e42a0b728fe9efe714a88f2d056bac4780df4033605c006ff941e62acc78ec9170da8db7380f5caba95d69effe8bbe9e5e8b13803c079c6d48d3a9d80a863bc71b342f8939814cdf484a3a1b75f00518ebb05ecdb035ae8be2bbd90dd344b2c38dac5131bd6ed405800a89d9a5037c9b510432d754b03c7d1d63b3fcb33c1b953c25779aa9ea51ee8e0d96c0b4a70ee139cebb892a199038bd613c3219225ae40d42772e98fbf9d85c4d1d045da7f43fad86ca5d869e63e03d2fa44e251de827a814b2d5dd303694e33e95b992c68f107143ae776cd65a63a03a1e76e4f70a56391e9f181b088c40fb1f69fafb9498e6d48f3ea8e1924c5fe6c00581f0281266454edcbedc707c26bfbf763c5553cb676a440f1aab6ceaafc8269fd41010219fffd03587d41f7ad5bc0e9197afed1f045ebb24888cde4ce7bcecdf84127f62380560503ce9413131892b1461c7b3e6960365fea1ce1e7480acd2ab4b92f8c837ba4304b03de8afdaf9a3d4e91654f3284183eefe6435a15dd186c9b062643199f0bfc3e770300ef95e27c785cb448b85eeb3ea32b64cbc7f9e345907f40873628f595b51a170219ffff0302b586cade0916523f6a1996f628d4358aa2722594046f0996c0918dafb92b420334380f45a692f0abfd5a3996e6dcf954a04db5ac4737661c7303f4c6fa1b59da037cbd755c6b9336dc2fee84bcf2b360e2ddcd62d9aa4039d4b964e94142700123032ce022e2a0ca8b4c6d3eca0a01b88281fce971991992eee30c82dbd0846f034b031c41125aae57c958f8b8dbf089370598d10d4ec53d258b3584450ba7e04c5dfb032195dc242a5d07fceccc55c9526e4bcfeb24a9d3e815186453322ee1587112090391e42c8aa85bfc323c356fd13a9c51187364635aaa6764eb3ea5679f9965247c0358949fdb856c59ddf606761de9e0931a46047d61d2ea52651ae46f0373fcecf20375d083d25176c5e871980c247e8c1cecafa779f1b8c8a07faeb97874662cc90a03d7c8ea97252ea874a30536056d2ede26050e9d975542435df6745c946d38ccdc0219ffff03affae4ebca75c353a205b3d93c6ec69e948c71472dc31147cd95785c53299a9b036086fafbcced5bb382f5d1b5059cdd555e4932f2dbbf967ca4b7f31f3eb1cbff03e7d1ee333ab9c8b45505ae29fb9d4f11f5690d5511abc4e2c451dfb722cd17e4038b457e598ac5ece1389e98bae7c2b4608505e71ff0dc54eff82e47090d37ce45038f707d9a42580d34db21e1d7e6d5255dee2701bc5f689041236872a1f8b91d13034fd68e1a2c2356a6bd6ae7833dc67d8f9daada5a06ac8b7acb3c65f322506ccb03f00e5b45a1e3768f38417311e3a0c5ac9aca3dcde1add5b55251536d28c6f335039f51992e354e06cd0dc87cffd564985f87f8c3325732d7769762a6b49e192ab403f4c16191438ecf9b7f42e7ca138111c5c875bb9dbb41c2d9b47352e8d7e4158403dbcb9f6769d6beba9d3b793677feb53e6827a3953aa98f6d6ab56c5c9b3d773d03769257ed81f9d789ad9a581dd1ac847474f7840a00961024e437b0a71ff25e6e03caef824c9a8e965b381a7a8183e17789face942ffacbd1c1c43a326afbb314a303d4173449f86c221c3c1d48ef5d95a571244b6ee7e86c0f61cbed6a19008fe55d0344edf1fb0d64bb209e3381a24355943eaec6a6cc311842dc12960ba1f4f14f86035d9480551051dcbcb45da73e6673c078b4982df73716834f3ddaf41fbf20f17e03447996a7f4531a11bd12f59d1d7b3e965c99cc97bbad6261aab6d9b33778ec800392e4e8c420ac019e168c328be993cd15388da9c3f6d75e44cb3e1fc3ceea6bbf03e784fd2740a5736f6db7583985722f71ce61e9de97a3b8aecf7d0b2cc8481c5b031ced631cc8ee7ee7a3d42d81e135fe3f00d4fedb0fd4e0ae96c3598c59e2a95903b6104e16276ed194e82666ba03ce5d4d26cb8efbb147565e4d8f2f3585c5c68003b17be0b62e9d4c6ff5099f88d1ef823117da178885b5a3e6f0916d5147985ee503cb66c1aaa0818ab488b07564710a0f3c5600bb5a394ea223d280ff3b1fcd81620330181b63cc59463beb7a6bdf55b90d6f9bc5b46668d9306853024c1d2edacaf903f1287a5ad3613e12c4a6f7059b54d24ecd4d8655d84cc21d994e844cd52d03ee03dd2aa335d6dfc7d8d2963c37629c3bdfffc42fd1b18ffc354a2edaede63d0071034feeb7d5578e43ad6fa16826ba545274372786e03481829514fb0c09b67d7e7e03744d9985a231e8afd3b232ffff0c2de4649eedf378add96de0fb5c11e6b70258030d9930177f17d26e0d13b1053b1d0e1e938dc987a9d78e47e11b6124ac423f7a03015136889372f8bb640f16b0ec56001c6f6ac2935d6b3580b3ca9f379a26733b03c1fe71785ccfd06b66cc4f9186c5a210bde2cbc7a2211c6f46a5f9a251c1ce9a00581f0239fc3d915a210a544bfbefb66773fd955be83f1ad46883c00a77110e03594101035f89a5e0aafa7607149c9ef8fef8b364ff4a1e88b25b41ab34a4120b94f4963703b5ace8e33e7f6a6a268f9aee744816ab46c57052e3902e933f9f3ea4840823fb03755e775e14aa579a3416c13e9ed2576cdcfacb1d119bcbc658aed936aa626dea03195233f3cc44dd082b333166d848ed08e71799e663b5b18c4a201828a12f35eb035d4aa3dd3c293aa861c3bcf8c795bf4a7f91e095a0e9a99e6535d39d7ad4a98500581f02d034365162e789008d4909c15b2ea1610bacc1dcce940bb046ad50f60a7c410103dde994e0e672dfb849157b99b326424d9f58c7bb3b1e2526dcbed3f81344642700581f023d86372b844f54d142f270739a5db294ac30d814d21f0563c0bd3dc260a34901fdc59534dd3e400000581f02645908a4214ac47a3c66232d94c245376f4e3f0565c7588f0e9fd3e01caa4101038472fb5d8feeb9a4796fe51638a0ba226f17fe4c1ddc0e49d31c0cf29018a668038f40a315a30efa0e591e5765b84ae2f3092bf42990e9a81bf42bc004ff446f0e03268b2e737c51f1e7495b724c9f652f7b375dcbfa7c8c4d5d107769124278d1ca031e445c39c86d359a06077dbcede9a62960a7dbb2ca35f0c33f6e5d8fde97a5a2030186af050cd205c637311fd3f8b3435de3b82c58fe00b333f9e3b94655673bfe0219ffef0219ffff0219ffff03d1fa07a369207479b5fbd263f09496627e0e45f9b978b4a636ef3972c2b44c6b03453bb2020a39f6493cf0d8686230302864fdb2be09ba14337f23875f1b215b2003df0851a77ee35c299e7c59bf3ebb0394bcf8d11fdfc893d298db102a0d11de9b030f37842c527d4a8b88c76eafda362f79df26d6af6944df012245f9a891743b22034cb8062fc54596b5b9b28956b0fe3cbe6bd6efb9c555d7ef1947c5576e2f9cfb035a7712421ff705600a9150dc76a3c58d4b25993a70bc5c4005893255df3a067303b068bbc1e564e3b5f515486687cbf733ca9156f56b989551372343f3912fe48e0219ffff05581e03f1e9f38a2250be8b1146340b5492c72af8d48f54d7348425c29ef0b7800f0149034c019ec65518b36e19088c02192c2c031f68c7d89dfc1bd9a02ba94abb625ab85fc1a3bc0c0774ce0326f83711009d5303bcdf775a25bec518577ef652c4ff1161067e6c261bb223f0512c0078ee25f17e03e484d5edc963ca65406e3742bb38b9d522147d4c0d51f3b1f9b98e073fb03fd503350119aad9e5a92773cb25c64bfbaac79c45f84d37372165e29c628b1bfdae7203a9b0586c41c9ce6e3bcdeed7916198fc7dabb888d6438332159ad4a2aea31663033bb77da0dde03f23abaaef3cc4218ce056ef9c5da685a9c25ce06cf153f3385c0346a5af20d772ddbc922eaff963b5b4510a6e3d58f995bdc07c78596c06048d9b03907a07790004186c316d2d1d00eaf3b7e798b8eee09cd4c9e3187be65697453f03dace15fa0c45a69b2e3406736cc9946965bae41358010838c50c4da880892cd303b0741d80ef08a555b0b76a740263b3d6d7eefcd9f482cabb74fe9c99874b68f403b21dc185d23bbf74e4d08c8ef9df5abfee9a4959a21891b76b458d8fd79b4d62033c565a71fab4b877a74397e406b3d2f9d44bedb5b08ecd70d8c545031878b98e0345023d39f89a0d34f1daf485bc988a6b4a49c26578819547217b93d8a3095246039d741e9078a4a71020bfeb674442ad2529841852600200697e1788834d5ff335030d68ae0b563acdcb2732869d3c600295a868164947de2ccde319420e5a5c4ea20219ffff03c8919886bf833384285c05fa71ae9a2cb257e6c8248d5f1cae2bb3aa31e6b8000377c569fbbe868cb35f1707c4880da9395d8a012e54155208e0ecdf227cf2418c031d0014fd59b77628c224dda5c8994c942609181935c5823effc99e5c7cc806110321ab49c83cf99d54f4304b7591c5101b7751d7d03c8cb59fe0487a21d3e0234b03ae56962a18c11a3c26825f1051dc049e1d41175de5e7ada00ec3e31319233f5c031341c51ed5b2630e769cb6ade1742728c559f2527339cc04a76bd4e80fea4677035d676270aa0f4636d45c235f8aa1e4a18b7fa240b44b8e2d5a5552dafe4da6d50388e62d933b6234132173cea9cbc513a62aeb38eff49f44c49bb0742700238cd703f50cf030adfcc96fa02b89c11c883944d2380280eb922b19a94c9eef32f9923c0219ffff0311fdd5a0f7dd8ba990017f51b1e7abb3af3f03cb1f6c2612553562c9b62ca25c03e0a3bbd169101a9b872c50767c8afdf95c209ad01ba59d439a3b26f9a66c19d503caf9020a138f5b0dfed70febd1b3303da7a373166be440d4d37e8eec2e259f8a031d35390dd114c82628f92544a08e2c2d40d747436aaaee7504394b812d9468d40219ffff0219ffff03874690c4323f62595b74d03a77ea42809d74fe87c2d307aa0355bbb7d99148c703bc9d61b0f4c42458ce801f20d8a1f9a8b6ae1659de8d7524740497b9c4f42c7403e90a73e7f687b0c75080fc1e00f024f10d0e9504e6867fba216f99529309d64603ead87719db7d8deefcd70fbb08c9ee6fa07a66c9d6869a46c38bb63c4ad5b42d03e900305c89365ff6b49cac9be9d729321ffae7fda8b44ac5a7fda537114457100322988ceb5dc31f67812fe4a38522d7cb8bfa26f43f758f2e3bb30e2d2b670082031f4c822de4d4530f1f84b17e84e05af28b3999be2c118ded13cecf42e4ade8b70328f1310a1604e52cadaff0b99bb23f759a97d67073340a6e7f7e215e152582fe03dc00ca6c7ec85370e69b78ef77a4fdbaa9fe3b57f4057297994b186e6c5686010365b7c06ad6941f60664ef1734dd7d4491631940eb939f2d5b5c2ade822c1af5b03e3aaceb2dc8405edad833f3d7d722e84ed605110ff7a037e3e6716980ec9dd9303cec10dd2d3c6444666c5fb86d560046ea62177a765d4284e5acc05f45d0c7f3003961ea5f811645edae02c5bd9560847eb84e08755e6e0d99d8dd02f624b5dc3550399a870f0ba147b849975fdc51c1eee7967f01bf5add1697fbe8eabff971878d003fb814d4a017f14de02ce48738ee5b0977bdf91ccfaccb58c624926dc3d482605037dda2c1d0a2018831742e3defdda16146e16e6a1026f131c7ce78be90addc9d503801e6a14c82d9687d226acd0753202292f9caa5358db63e1f001d218084800bd03e20dd18729c17122eccc8400b670d8f174f03993d7ac6f5efe7c4c23f1f177c20374e99358947920d8fa16b60afe1212165cfa88fb41752b772ed3c4a370c186c603e3364c581d00cde9f0dbd98ec6ad1691bec234cdf7be6d1c434fafbb2f52944d03eb440f6e245cbebdab78703cfeac9ef32ce06b95916d455528cc2189670351c00308e618127c81a0d8acb359993d59d8e61be478b6fa84434457a2c9e4c9c9db8f03daf7eb7bdc69f650a45e5bf706393f35645e5ceb2985f4e8c8b60a4dcf543eaa03b2a5a255b93d02b4dcb3322ddbffe1c0c5d72d2b0aa063b5b61555e9ab1fdbce03062222479aabba73c309a558125a5c879469c9ab1dad70374675f0c1e0c67a1403788bd008c76950b942aa49be7552b943c95cc7c454ee3fee39e32184ca563a0a03b717380f5c9a74d593369fc6cef2762a8f31b2801cf341b973dad0f8af7b8da30353e99d689f51896d38e512d7896e85a54a15a4776b3d1b1e71d170e683b4545f05581e03e3dc784316e1ef8b67840636a3af947740f3f2f383b2414f005e91e5c007011bffffffffffffffff05581d02851b6db6498b80b1d7ce367a1aae0b0eb07291bf0365d0c0caeaa1bf0c01470163bfb4cdcc0005581d027707934607a794ebb5f7feb24594c590acb123193668d0efca4fea960c1a000219a1488936973670c1367a0219400405581e031fc4cd14af22f9012c7aba51bdd3def4860d08e83f52ef6fed3819c5700c0b472510b008f68d7f03cb9baafcadd7e4d52c099f925040d2aaf2c9a6f387d8452046981eb0d40d02da039dfda2ccf5821c6124fa90a2d8ca93613758231dac63ed6dcaed3491ac7546fc03d924b0153cf76576b7ec76fd1c7a58a48a5cce7ed41d314fafa5a59df6a2073305581e037a14160c665b264fbff1aa265bedba38faa9419dc70d86f9413fe202a007011bffffffffffffffff035b43b1ef4dc3c3f5f25a7b7823fe963a85af5062820f646bc4e3363b0b5dd55605581e0345507471d1c5d9d39437ba41d14396af1e91346e5dff7db502e58fa0a00c0147133235256c1c0005581e03fbdf31f02cfbbbdb6cbd35a61a55836110a1f9b5d884c5e396a6d03ec0040105581e0316d6c3f883e5dd070160098112d7ba52f81d5abdf7f62117f0cc569940040203d0539c960ad27f1cdeecf6e64fe55d8ee976f4b7b734e5eceb4456e31722efe402192f7a03a7b3f69b301e24f926d42aaff1073888b8dd816afbc2181cbe861c6a86e3b56b039a8060a2bef6d3e0b6269dca0df963282ea3504aa0b33c005acb6bdddbb7c2bf03824b0f84e5c75540845c64020e18e7f1edf089a55306bf95574655786d94066003778d2af3777a32f968355928a1012836762602dd8bdec4cd1a033a8670fd831803926052091ab08b293567cd59b57d8dbda5f2f2783f638b93ab8366beca4c286903337ea72b201ef9cdbeb93649a43b66bc5976d6810a51e06ce3ee7d08bd7516900310ad93e9a4b4892d8231bc52e6102be645154cb5e985e7a5e445799c2a45447b0343a3ddf830206880f8739499bfa05679b48454b0c22f0055ffde36404344c3d103faf6439d42ec52f042c33d9674ecd4972b40c89235a54c83057c7affc98f9fd703737ce12ebf65eacbfad33da0c04d303aa91d1a9564889337176a02c5f1104d49037d65dea7262fa4add566c138a36718dfb6f57e7a656a9acfc73d96a328220ef2032d05df471219dce487605547285ea611e9b8d401cec7cc3fd15b517b19476fb403fe00c3aff42a42a67eb111a729920d7a04dffc308077d44e3c18537f4dece97a03c6885635fd50207f375aa258915d9f0a6bc76ca048da1e1dbd25b3a3e8d5f0f30219ffff03e486665b3090a5f6dcd25ec069e24963991ea10ee29cb2d80a88b1a0248e17a603b151bf7117e212c3a11b5730902ef8843f1eefba0064494ab9c0df97baab980a03cc8379f2ec3db2181d2859c135f5ae9d7316befe32fc4c5ffe0f68a9c143b48d03eedb477f73f70335a6baffffd42cc2824d39dabb74372a8b658d73fd55cd037003cd4426fdd1878fa333514e78afd7c383b340cdbeef616c3abf96edf134ea295a03af5f90121585e514cdd6e124e0009942ca90b3d63f5628f6a530641a2ae4a95203c95de0e9f5745fa53b32fc4c229c76fbd147000bf3abd25daa39f08f05414d93039dfbf0208e0c7e24b376bea20dfa977dc002496dd6d1164cf9053c3730093a2303fdae464cfd540ecdf410d74c8ff1eaf73e377471dc2cfc3087e5c5b9a7e2b7470219ffff03e95a640438fc2a0936dc1568fbc5a5ceec2d0b1bffc5cff022b3f8bb6371e8720366941d8f7019ee6cc2d1aee41c43479a30d818bf8a19cf46d7e4a0ae825b93e70219ffff03850aa5ae83e946173354687426d4008b04feaf1d9d5278575bb62045bab920e8031b325afc4ce7c548e93e17133b5a4ec68b1eb88ea6768c816e35be4fdf4b2ff903c1cc324e66582d72ae16e53a947ac5ad7d94e02234bf6cd8f16d07183b834ac8038571ef4a204661f7e66bf070e8a6457aa0b55b4c1f83a45c0d079574f4f9c04a03d6534e5310a6029458ac449f5dc5a2d69632e0f0b96fb7edffb4858059db8105032d11cabd29e918ba8d1ed7e33cf6dd786b32190fc1a34f52b4b0073c186e0ee60329e3254448ccca87753be183296e5bd76b81ea8835ffd6b7f7c9677f2ddd185803f451f8c92fe2a09fef249fca052d69a642873fddceea39b1c4583da167a7cb9803316256fe333fc17cb9ba72af1cb627c86da29fcbc935095dcfa7557fedca8d36032d92b8625e5232be5b0240f5645f042d0b06b9d213341668ff87aaf550bcf1ed03238dcb08858b586a24ac94118421d809832eee14c4d2d4dbaef4350fd5944a6603ea188d68ae889b555b50de49ab642185b8b7c550ccefef878c3eb5db336930400303b905ae2ace7027775da4411b515a741c8ae508f8f871f608157186b46636670391ebfbc8077040e6c6bfcf8423b7171504da84051d0226be81a70741fc28a14b03bc65f75f9ca89393e96975af3126cc4eb12bdbfbfccf6bea7d085e19d9a98ab10311a8b59b82a809f55768e5515e7c6e9390dcd2f4afb9a91aa4f3dd4d29e0fcb403611c3f338a266233c2ac4bc505ab82f25af831134e9cc068b76df366b1538cd00364046f611c5535f7c335b9a52c1cc340fab3c74251a6e5ee30fb0895e0ceb5aa05581e03f863c31655d38e4412bfb171a8350128b25633f94863cac1b3ab184bc008480de0b6b3a764000005581e037126e2ce643dfd272c5ba60eac35916fd41b54962f968c341ae0818cb00c014670f48033704a05581d02896002055d4441887d904f2ecd805151993f6636d06103587e75451e0c0847011160306b0e1b05581d0263ecf467ab7b14a2ed2b81c694b2fdcf0dd4fe2b5a0e67b9ae6fc98b0c0847031beb246a53910399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908032ca2336254b3139d6cdb2b31ed6c070dbb21b46e499121db54d01bf635f612c605581d02db4737a9f91237039778abaa8fdac7e48d43526438a74ea20d8b600407011bffffffffffffffff05581d02eeb78d161ab5591512892761c23ae77d3960382b7b50c25a56187f2e0c0347018a4da2168f480219320205581e030a8cee00aa850d09385e8762b7aff625619dcf9f3ad09a819876987de00403039fbdf9ae76b7e885c2d51b8948774a0bfb1ce5a786d2edbbbb34cbccc2545e9603562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0309c9aabdb5eb7ef33b71ec00b2b7f0ad795f52a10d543fddb0ddf18be007011bffffffffffffffff02199123039164bf92cf90a7a09253bc07613aeb41e7a6649287860d7ed61a08518491ce40034bc7b311207ffaceae4564b49fc60d88e4f1af16098e83ac789206da61ff120e03b091223de331690761d262a27dcb6b112daebd1c6399e6f673500b1ff069787f03bc646633f9301a8981efcb0b443732bf0b68f418981fcdcfd5d4f18f160befd5031deb4faa5919dac68d52e930dc7b85d9f1066d68885953607ceb2a536a1bcfe4037de5abb145de7b4c116182525f722a5b1115f999fe5eb5f954dce01a4766b04703eb89c6be47e5486368599e6e896853ddb24c2a0f30e912788d28f957302e62a603880cf76bb2665e9ec34cd997d09adabe722d2fbae69c3ba891539843cdcccff603b14d53a7531c4860798248a44ff93254610ccbf6f38c5717c1e6e29c6196aa2703a35a0fee75369793ca3e382d280cfd45a9841f24f93c94e5d33c29c5ea44e00303107ad72c171bb8ac5cc38ba751f24dfd8bf8ebaec9e0ee81cf2fb0df8d2c516c036aae0ff25b0f88c1a9dd2779c97e10dc4994ae9a915014fd6e9cf4dbdd6ca69403436a20118b266fb878c313b26b1223e2c0efae4cd589533a1529f6d1249a5e9c0219ffff035d657c65dc254c44d291814357caba825ba201ff39b4215b374dec91346c31dd03fda93b1f9363fda0e588e12a717637dad16a52e7c7b710f594c9ec19d6c83b9f03c61097e549755e0dc48ea48316d1f3b8e488ef375aba950066fc936d731ed2ed033b4e3e2b872bcdafb87e2159bb2c07cbce4c1efa0d2bd8a68597598483a27e020343bc2c9a4f187b902ad429cfd71df8b3b10ea92f02b3c6ca32489b9751da860d0300bad99f3483be9405e801435f24bae4e70cb75a9a4aebc6941286414947a0700219ffff03195e4a170358901fb190119e263d6a91ff2ac02e6ee4ac8b985a80ae61af73a30345bee15934f302e75ea54b8a4f6bc3220c3fdc88137d6ea2da41de384686490103ab38dac4a5417b0995f705f761a17cbff0c2d1d28a43844ca891eed886cadefe039547a29987e17199c4ea4f6452f1e614b09501c9fb617d2a43b01af1a441868c03abbc63d923586c2c73c36aa1237fac424f8f6e67514f98549a6358cf68c0d3d803310e3606391f7e22963df744c524c2b1974d0720a15fa68f5454e05d5867707b03b745beda86d4bc9bf001fa937eaee8e99d9832df006c5c926ef7f7ac444b9ff1039579710d49ac4b9bf9b9878a61637c3440fdcd14a1d58e99e3c3e3a8444ed03d0372e6dffb03a543bdbc7bdb820b5c9f6be199620e94cdfd71e0a4d54b9a9fb841032b3a42d31de65a387a1e97ac79f28325c2c09b7aad94bf6ddebe1df1cbe5c8c00219ffff03f63ce8702859aaf64807f23d61ebd7d390075b54a282552b44e410ce5fa7823f03d2834a9433a0b967e7326de070cd6cc8419d35bc6c0364a81a6a5d7144d14e0203de934f1d475fe3921fe3aae124b9a693f095e96bb7c6714db5cafecfe08ece0003014c6c2362d46919cb4adbe604e535487401d96c06183ef89d5ef003cad479360340d54256b7378758303b1f53fe3f1409fbe67a8e240a57629cc00b94593e251803b20ef3a20668a3a4bd72373f172ba42debc2d93a6652eb8fddaacb4626d61c8c0219ffff030e9c635cf12a85a6529097c3dcd13dea1fae45131435bb69e3b9d12cae3ea63f0344351a5b1a045cd2821b944ed7944982a312ba44dd438ddf7b959cd69dbe3eba03263f3a3fb2a1eb94ee4505c2837c414754ef555f3a4ff9d59e8c629506d36db00384d3ca1020bca3f96a0f4b4b5cbb861c402592871c38900142c6d804866f8f4c031c3542d9f0b95686e156e8ab2bd5b61250cbe52e66ba0d4e30f6e57d872194d9038b2eec82a298dc0abb35119499c69eb8076e3a4a7b36a6b67d5df2fb24168893032a5d89356c53e1bee65c3aa4e3f1e966942b76cb851c2a57173b2a8d5667a38f039c052f6a0c26809d24c9daff60e4b1f1cf77c0d1630e7182a29432527e07751903b5121f8031e7665cc8530b946944521489d490e238a61955daa82e5f431c3320036fd91a674070b251e371f24dc69c0b00d5d97a479909d3625e1e79cf1f6399ee03a2b584bdcaa79f45f20f00e2e805f75deb39fda12c34e983fdd85edce2bd0a0d03b8b545d89867fa9663af1e9c3593a170fa1a2f62699ed5987caf63f375872cc303a240655158d38402625265c38bbcde0d89c773100d25b4da5e139b0f9ffd304f03371a2d78a0fbfb0efebe4c19c646a7ce9b36cb2f08075b36e58a61b02f28b547036a8adce912204b3397cf085c36c23105030da82886404bafe4873f0de99fffd703aa616311b24c995273e822c770a3d09aef9501b332638b35fac5810635a5554803d9192f86e89fa89d03715486fb8a94c393294d0205310bbd15a9b1e3c873ad8f03e66566f4555568bda3438584561268191cf1a0b5ec0f37eabb824f8a32eab8b3031733735f4b522adc648c32621d5ced97611530967ecd140ebd07030af3a8c1a403898427c08a386904d7e19323097794d50bc3245eec67853ab88101508e7d1f7003234bf9e0d71e33c31d6a5f20bdb1e678a3e4f08445fc5c5d1313b70d01ea982f05581e034e26aaa0ad9f5c2c27bdbf12ff10d02fdee0c3f7a7540a88ffd09661a00c014671dedcbc340005581e03f48c2c89927f7ac9fcd16075184e3e7dfb796f39e44e37e9b1abf82cd0040103fb4d9b777fecc0e5c727efad9d1aac711c4d3bb26aca2fbc5ba5f6cd5bef589403f7707aeb079c438b4bad520f94f4e83aa66ededf5550b07740916901e62afee805581e0391d8a907f36261a55e156b51735de8e58ca54a9d20cbd3bd89944cd5900c04470224f25e6eab5005581d02d17b58b173021f88e7aa8aad29bdb3fa6a4faeccb2077f42cb2b42f90c0847e498999041d2e205581d028a55659a6e34e07c0cf7a84f18f43d6568f8e0097931aa17bb1bf46f040105581d0298e4303e253d6bd67d0605c03bae4f640be188b7db86719131bbf1660c014743aa4d6fc0cce00219022205581e03de54e2d70b5a3a9d0a9fc67215566a1b16bcd304bed1759f5077cd14d00c0346aec2687e5c0005581e03ad99657159eb68134ce2145cee3a4b91608fb140898696a25d480c0320040305581e03f44ce443b9200fa7e99544137488555df460c41cd20adf663258265250040205581e03f41ddc5a22a3d8f9f45405012a7fc83d33db8719cbd6160ff0883e8cc0040b038688e8bdcfededfe69e2a21d31beb402ce1d211f09e3776cd605788f9f63abc702196dbf031141a4045fe3ebba109fa6ecae8c553c015ba0e944780dc8a46029e0a43da7240219ffff03df74810932038d53cf0e783619a0da323ff453248d4466e088d4337800a814c003f0138ce516b1b366514b34ecdcf5e3d71ce17a10d74e3ec8581db2941e54a2fb0334ba316af4c0feb42ccf1e9f29cccf3bff75204ede42dc833c4be33473d830db03a0f418f1de14d87db5a05fa6ed6822b050efc9b7b82ef7c11b3944c75bf2345d03dceec4992ae26bbb01df49113fcc94d75f0df389772353ba6a1f93ee41320c2403cdf7fe0bcd46f64b99f156f27bc4085730cccbc697bdf6cb2e77064d61a09a12030f17666948ea9fbcd19ae45942005f440aa2fc5ba2c392ea0dab57b6acd25c4003b23625e3b57c6c40e4030c479eb3cfa023579d1bdd543fa4a7eacf369ba2e9e103833d0ee220310f3d8222114308334820acac279a936090a98d1cf2af852e9da40219ffff036277bbfe23658ca3f8b0b2492e6e3e23084c5a9964d629afb7e00b5b570e0caf036fb1abe780824eab0f458e9f31777f837e2d182314fbc43599cd490660654e9603a614fa146f004a2f2cf86b7223534ba7713331593f416938aebd567d05761ed503ccfae907a4562d2341fb97a35a14dedf2c0e5a88472b959dc08e572deec78b0d0391775c3476a7b1f7c29bfbb126839c253930beb4d70305a092846c990f955d5103eb8ad06878b82a8dca2fe5f943da0392f561fc6f2266731f67bded1ccc07e1420396063af8a680091b33bdcec3ab922e1f018a0e5a9a3a589fc581a8e452f7f7ee03a936797957831b9527a8db0cdeb04eda12679a4add7b302b78a3b02cd35e5e9703f54a6905d74fb9115a225696b7115a8fea59122d716780df380b1081b1879257032ec9b211289f5110a4179d669b571ecb9b063017451a5d01e94bb78ff7a5c79f036c9bfd9b4c412c1564927d30a5c4043515cf249c3e0818bcb5e81db56756006703f035ec437589a0a7336705ffa6c4052a6fa31beabfad7239241538123a13c29505581e030f30fa6e3e6702a42962e308e95b359d0234146f4f447451ab28984f400c0346a93aa25daf3005581e03988a08e9ec9920257776b80afbdeefb82a410b87a12a2f72526ff312800c0147097722af7fb16805581e0370e1454317073d334518f7c19fa2b9ab1f294a39cb02d7b3bc87a2c8e00c014744d71c3b623e7803d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e036986c117ab8d91737e10d5fad19a620c84b65e9b13a29678b2e1942f2007011bffffffffffffffff05581e03e2a788c64dd32c07026fcaa445fb06b70be53d55b55aa93f2b267f0b600401037c836f06b7194cc895b8c5024d9625cce1234f587be09caa067b7d4c3095b30805581e03dd27f1fe4ce9afc4ea2a6089bd0a43fe06189961b934239b786f7d1b800c1818467f29f61cf2d8036ba4549ea9892d413770c6ddb3869bc5c231648e988d51670163818f974f1a3705581e037a7f3a855b00d7b57946e16861da151c9926cd5b80f4cca97204679fc00c014702f4b31873fed405581d0221491f6c3078d5a2edfa16da91d0455d99b3e5579e9241cbb0db0ba0084803cd9bbfb3f9800004590a43608060405234801561000f575f80fd5b50600436106100cf575f3560e01c806349b7b8021161007d57806383f244031161005857806383f24403146101f8578063a3c573eb1461020b578063fb57083414610232575f80fd5b806349b7b8021461013c5780635ca1e165146101885780635d81050114610190575f80fd5b8063319cf735116100ad578063319cf7351461011657806333d6247d1461011f5780633ed691ef14610134575f80fd5b806301fd9044146100d3578063257b3632146100ee5780632dfdf0b51461010d575b5f80fd5b6100db5f5481565b6040519081526020015b60405180910390f35b6100db6100fc366004610709565b60026020525f908152604090205481565b6100db60235481565b6100db60015481565b61013261012d366004610709565b610255565b005b6100db6103f6565b6101637f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab281565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e5565b6100db610409565b6100db61019e366004610720565b604080516020808201959095528082019390935260c09190911b7fffffffffffffffff0000000000000000000000000000000000000000000000001660608301528051604881840301815260689092019052805191012090565b6100db61020636600461078b565b610412565b6101637f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede81565b6102456102403660046107c7565b6104e7565b60405190151581526020016100e5565b5f8073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede1633036102a357505060018190555f5481610322565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab21633036102f05750505f8190556001548190610322565b6040517fb49365dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61032d82846104fe565b5f81815260026020526040812054919250036103f0575f61034f600143610839565b5f8381526002602090815260409182902092409283905581518082018690528083018490527fffffffffffffffff0000000000000000000000000000000000000000000000004260c01b16606082015282518082036048018152606890910190925281519101209091506103c29061052d565b604051849084907fda61aa7823fcd807e37b95aabcbe17f03a6f3efd514176444dae191d27fd66b3905f90a3505b50505050565b5f6104046001545f546104fe565b905090565b5f61040461062d565b5f83815b60208110156104de57600163ffffffff8516821c81169003610481578481602081106104445761044461084c565b602002013582604051602001610464929190918252602082015260400190565b6040516020818303038152906040528051906020012091506104cc565b818582602081106104945761049461084c565b60200201356040516020016104b3929190918252602082015260400190565b6040516020818303038152906040528051906020012091505b806104d681610879565b915050610416565b50949350505050565b5f816104f4868686610412565b1495945050505050565b604080516020808201859052818301849052825180830384018152606090920190925280519101205b92915050565b80600161053c602060026109ce565b6105469190610839565b60235410610580576040517fef5ccf6600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60235f815461058f90610879565b918290555090505f5b602081101561061f578082901c6001166001036105cb5782600382602081106105c3576105c361084c565b015550505050565b600381602081106105de576105de61084c565b01546040805160208101929092528101849052606001604051602081830303815290604052805190602001209250808061061790610879565b915050610598565b506106286109e0565b505050565b6023545f90819081805b6020811015610700578083901c60011660010361069457600381602081106106615761066161084c565b015460408051602081019290925281018590526060016040516020818303038152906040528051906020012093506106c1565b60408051602081018690529081018390526060016040516020818303038152906040528051906020012093505b604080516020810184905290810183905260600160405160208183030381529060405280519060200120915080806106f890610879565b915050610637565b50919392505050565b5f60208284031215610719575f80fd5b5035919050565b5f805f60608486031215610732575f80fd5b8335925060208401359150604084013567ffffffffffffffff81168114610757575f80fd5b809150509250925092565b806104008101831015610527575f80fd5b803563ffffffff81168114610786575f80fd5b919050565b5f805f610440848603121561079e575f80fd5b833592506107af8560208601610762565b91506107be6104208501610773565b90509250925092565b5f805f8061046085870312156107db575f80fd5b843593506107ec8660208701610762565b92506107fb6104208601610773565b939692955092936104400135925050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b818103818111156105275761052761080c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036108a9576108a961080c565b5060010190565b600181815b8085111561090957817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156108ef576108ef61080c565b808516156108fc57918102915b93841c93908002906108b5565b509250929050565b5f8261091f57506001610527565b8161092b57505f610527565b8160018114610941576002811461094b57610967565b6001915050610527565b60ff84111561095c5761095c61080c565b50506001821b610527565b5060208310610133831016604e8410600b841016171561098a575081810a610527565b61099483836108b0565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048211156109c6576109c661080c565b029392505050565b5f6109d98383610911565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffdfea264697066735822122051a05a35ac88fdcc6044925b155542688003cc311dd484f2331363234620430c64736f6c634300081400330605581d026034d11aa79e08882b92af3123863365f6d3346addd8de784124e9d60701190a4302090219e6b703dcb44e058efd1dfa5aa894159b1d3cd3962978d4b9744843ed2ffc048ab07d5203f38fcbc2afd0eb79bd0aed1c38dbacc366aa1bb02de6c5ddac1a289880b5752103ca91f6f85eb286f546daa6783ff46b7dc17dcb3faaf6b81d70f4252bb477e150038f13b4396020eb9ed9e4b2a4b920e1ff9f4391eb0f6041d21041e674737f41d40334384be2d3963a39b96b69d5dffdfebaf76453a31e6fd88ecd2c3a4e68a17e3503f8f70a49c70b316a2b72c1b00d67a506dde69e1a62cefbc532c754abc289adc00320c080d0285381d53c4627cc3037bed8a94e230fd3787adb020919e970ec8de703f7bac756ae4de96e6316c4cd2883968b95de74494ceda97b191945832a9a4d8c0312397a30a9bbc427bf2d95b92de2586649b2ab21e12f1fbe291d15d866c81d090219ffff032bc2268c99b4927093d9e91323340a6ae33f8a3347a274e47c1ccb84fbde3a82035f8e412806f1a085ab7c25f67757d4da330b41ae91e15ba7730b1d1a7727769c030f7609e39581185c0f5ba5b270cf30a07bc600946254eb9ce1cd402a0be417a20322803d7888d8d355e5ba91859e48eb5c84e308a795922ec0b3396db244ef3b4b035b704d18874ffbb8672a76f794cdedc29f33aee343a5bdff4adfaa80db43df3303cf95e0da911e4f11a87ba65dc5dd33bf8b0710f5c24cd394023fa62362f8cda1038081c4b3866f55dc78e437cf0c23652422ec3bb01047e80e920d1f91f41aa2590392f7b9f9a064575d8866a71f7faf6fa35c6173128e36d53d9ad2d4b7f16b60d903f870e3fa37669facd8874517761ef5b5e80d03a66cf2b916670bbfa1a3c8d7650382331c2d38110a863d317ee72e4ba70511bdd30c5d26a9ab5629a087174138c4030f4a3eb66b2d2344a0ddcfa858d36aef5da8b4e6d45c428dbab689835e06366403901bcee2f39146102403468be61a136d96dee2821d501eef259d327f03b061a203194b1051e068689c2aed752257290968ea4cb7e76e121712d7ea0f2e405e239c03e73c4e06bf44e1eb017ddd6e6a0499e1be7e15016189ef70a88b449a79f2cba60219ffff0322fc7a4575541cb9ba8085f25301ca01a5cbf77f224bd57e44cc60de214978c903e92f5c8a0f8aea82b9c6d18cbef65b5bca7dda334593c109e2391bcca86a7a8a03dac7c85d0f67bf1937d1b7a88c7ae9aab1d944630832fb99ff0f24fd4a03e58303816485a09252b556b28050f2b5ebc58f8a134380953d551fa6fc5c59d12ea0e103260335234eebf01d067e53e3c5f739bba433cc83c6420f9aace055833a5a7c4a036c43ee1933bdfae33894b204591a2e44638e4d80cfb250d6f8a2298425e17bdf031428779da4ffdcfd35ca6f30a8b5d19557ba73222b71ad37e11cd66948eb13c8037444cd67bf9c5d3bb62feea7b9c724459ec7ddb302b8e27034d58c14361e17f4031fcfe6e2780e9ef2b0c0ff58213cdbb21ef5e683e60473e617885b7c33d52b2603d220d17f1ab53c6f23809094a8a9ec730068170c9d2040887c22bfc10d46fcfa03c8cc2d980695f7a8989945ee8a2bbf46deffeb63fae9bfd89f12fa16f97da72f0317ba680d6331b30382c5b82635d7e99bf21a94da1a356591cd9bc8d9ee46dbc30303ae285d34bed5af772e684aee79fc5e6428fc780ab1459e6f174ff37a6507bd03070582f466dbbffea38dbd5a2e3c2a935d4b8ccaf0dcfaa90efb4dd705eb79a503ca4ac81587be2983b9e2b85a0b5ceefa9fa3c5e325198475a969513782479cb503b1b5038deb798ea87bf0660ae670c7a4d34ce50b9c0ece8b8fd9ed635a114f1d03aaa828e0e6a9ebe250a5468d30fcce381375ce95437be08fa263d1a20a3b9fa803e788d17225b35f432bf543da10c14843372b30ccab70ac92677b611e21c320c303363ed0d77ff3fc2c670e5bade9502a3f6b1d7f33fe6e3b7058e87f48b2ac995b036bdafc5430def88c6513b0675928c2b5f1b55a37e5d4113e065d432e03d8b5d4039081ce679ea9b24e535db1cb13292b51753c7dc925c9293165b6f1159e4a657f037261167e2798ad5d2b87b289aa32f709771f4af75b6de2bc36bfbeb73867f8f003be1d61918055f54be3dcbd76dfd1b95292cfc45a49955520433cd795073b420d03b0dc902c75585ec12ce0fa7319774693bc3fb7214074403d40a4fae520d1ab5d0328be2c321aed979e19d27638b11df6f20fdb9149d9ac77cbc86a8750ea391faa03ae2bdb0fd1e51ca59e5a5f90795dc96a041bff9a2d7a5996a7b1ebc438d81b7703efaf0fc7d62ec07740eca94ac4836d097d92f848e420da85cdbf57ffaa8a9f1803acdbd722c351118411393fab619014b472cd10aac178fb662988a4d5049106cf03efb3ced4fae9141461cf78aaa550d73a1b5afd89239edd911ff5e2712a7d1de505581e03f13e1afa6006cd2270b0c707351c67e6c98fdd40ed7e74fdbda53f53e007011bffffffffffffffff05581e038e2affe54964a1d855326197126b600361c3ab327202ced358ddceee300c01469e19d1e323d803197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e03e384e0583ae888e89974725fe6fe6055102d5a2c547d3c90d4f55c94a007011bffffffffffffffff04591d1160806040526004361061014b5760003560e01c806385594e58116100b6578063e4f4f8871161006f578063e4f4f887146103cc578063e5db06c014610405578063eb990c5914610425578063ecb7cb1b14610445578063f2fde38b14610472578063fabc1cbc1461049257600080fd5b806385594e5814610317578063886f1195146103445780638da5cb5b14610364578063c0db354c14610382578063ca661c0414610395578063d44e1b76146103ac57600080fd5b806350f73e7c1161010857806350f73e7c14610254578063595c6a67146102785780635ac86ab71461028d5780635c975abb146102cd578063715018a6146102e257806375608896146102f757600080fd5b806310d67a2f14610150578063136439dd146101725780631f39d87f146101925780633e1de008146101c85780634665bcda146101e85780634d50f9a414610234575b600080fd5b34801561015c57600080fd5b5061017061016b36600461196d565b6104b2565b005b34801561017e57600080fd5b5061017061018d366004611991565b61056e565b34801561019e57600080fd5b506101b26101ad36600461196d565b6106ad565b6040516101bf91906119c8565b60405180910390f35b3480156101d457600080fd5b506101b26101e336600461196d565b6108a8565b3480156101f457600080fd5b5061021c7f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a33881565b6040516001600160a01b0390911681526020016101bf565b34801561024057600080fd5b5061017061024f366004611991565b6109ee565b34801561026057600080fd5b5061026a60c95481565b6040519081526020016101bf565b34801561028457600080fd5b506101706109ff565b34801561029957600080fd5b506102bd6102a8366004611a15565b609854600160ff9092169190911b9081161490565b60405190151581526020016101bf565b3480156102d957600080fd5b5060985461026a565b3480156102ee57600080fd5b50610170610ac6565b34801561030357600080fd5b506102bd610312366004611a38565b610ada565b34801561032357600080fd5b50610337610332366004611a38565b610b5d565b6040516101bf9190611a64565b34801561035057600080fd5b5060975461021c906001600160a01b031681565b34801561037057600080fd5b506033546001600160a01b031661021c565b610170610390366004611a72565b610bdd565b3480156103a157600080fd5b5061026a62034bc081565b3480156103b857600080fd5b506101706103c7366004611991565b610e9d565b3480156103d857600080fd5b5061026a6103e736600461196d565b6001600160a01b0316600090815260ca602052604090206001015490565b34801561041157600080fd5b50610170610420366004611a38565b610f31565b34801561043157600080fd5b50610170610440366004611aab565b610fc6565b34801561045157600080fd5b5061046561046036600461196d565b6110ee565b6040516101bf9190611af1565b34801561047e57600080fd5b5061017061048d36600461196d565b6111a8565b34801561049e57600080fd5b506101706104ad366004611991565b61121e565b609760009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610505573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105299190611b47565b6001600160a01b0316336001600160a01b0316146105625760405162461bcd60e51b815260040161055990611b64565b60405180910390fd5b61056b8161137a565b50565b60975460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa1580156105b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105da9190611bae565b6105f65760405162461bcd60e51b815260040161055990611bd0565b6098548181161461066f5760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c69747900000000000000006064820152608401610559565b609881905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b6001600160a01b038116600090815260ca6020526040812080546001909101546060926106da8383611c2e565b90508060005b82811015610786576001600160a01b038716600090815260ca6020526040812060010161070d8388611c45565b8154811061071d5761071d611c5d565b6000918252602091829020604080518082019091529101546001600160e01b0381168252600160e01b900463ffffffff1691810182905260c95490925061076391611c45565b4310156107735781925050610786565b508061077e81611c73565b9150506106e0565b508060008167ffffffffffffffff8111156107a3576107a3611c8e565b6040519080825280602002602001820160405280156107e857816020015b60408051808201909152600080825260208201528152602001906001900390816107c15790505b509050811561089d5760005b8281101561089b576001600160a01b038916600090815260ca602052604090206001016108218289611c45565b8154811061083157610831611c5d565b6000918252602091829020604080518082019091529101546001600160e01b0381168252600160e01b900463ffffffff1691810191909152825183908390811061087d5761087d611c5d565b6020026020010181905250808061089390611c73565b9150506107f4565b505b979650505050505050565b6001600160a01b038116600090815260ca6020526040812080546001909101546060926108d58383611c2e565b905060008167ffffffffffffffff8111156108f2576108f2611c8e565b60405190808252806020026020018201604052801561093757816020015b60408051808201909152600080825260208201528152602001906001900390816109105790505b50905060005b828110156109e4576001600160a01b038716600090815260ca6020526040902060010161096a8287611c45565b8154811061097a5761097a611c5d565b6000918252602091829020604080518082019091529101546001600160e01b0381168252600160e01b900463ffffffff169181019190915282518390839081106109c6576109c6611c5d565b602002602001018190525080806109dc90611c73565b91505061093d565b5095945050505050565b6109f6611471565b61056b816114cb565b60975460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610a47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6b9190611bae565b610a875760405162461bcd60e51b815260040161055990611bd0565b600019609881905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b610ace611471565b610ad86000611593565b565b6001600160a01b038216600090815260ca60205260408120548210801590610b54575060c9546001600160a01b038416600090815260ca60205260409020600101805484908110610b2d57610b2d611c5d565b600091825260209091200154610b509190600160e01b900463ffffffff16611c45565b4310155b90505b92915050565b60408051808201909152600080825260208201526001600160a01b038316600090815260ca60205260409020600101805483908110610b9e57610b9e611c5d565b6000918252602091829020604080518082019091529101546001600160e01b0381168252600160e01b900463ffffffff16918101919091529392505050565b60405163a38406a360e01b81526001600160a01b038084166004830152839133917f00000000000000000000000091e677b07f7af907ec9a428aafa9fc14a0d3a338169063a38406a390602401602060405180830381865afa158015610c47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6b9190611b47565b6001600160a01b031614610ce75760405162461bcd60e51b815260206004820152603d60248201527f44656c617965645769746864726177616c526f757465722e6f6e6c794569676560448201527f6e506f643a206e6f7420706f644f776e6572277320456967656e506f640000006064820152608401610559565b60985460009060019081161415610d105760405162461bcd60e51b815260040161055990611ca4565b6001600160a01b038316610da65760405162461bcd60e51b815260206004820152605160248201527f44656c617965645769746864726177616c526f757465722e637265617465446560448201527f6c617965645769746864726177616c3a20726563697069656e742063616e6e6f60648201527074206265207a65726f206164647265737360781b608482015260a401610559565b346001600160e01b03811615610e96576040805180820182526001600160e01b03808416825263ffffffff43811660208085019182526001600160a01b038a16600081815260ca8352968720600190810180548083018255818a5293892088519551909616600160e01b029490961693909317939091019290925593525490917fb8f1b14c7caf74150801dcc9bc18d575cbeaf5b421943497e409df92c92e0f5991889188918691610e5791611c2e565b604080516001600160a01b0395861681529490931660208501526001600160e01b039091169183019190915260608201526080015b60405180910390a1505b5050505050565b60026065541415610ef05760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610559565b600260655560985460009060019081161415610f1e5760405162461bcd60e51b815260040161055990611ca4565b610f2833836115e5565b50506001606555565b60026065541415610f845760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610559565b600260655560985460009060019081161415610fb25760405162461bcd60e51b815260040161055990611ca4565b610fbc83836115e5565b5050600160655550565b600054610100900460ff1615808015610fe65750600054600160ff909116105b806110005750303b158015611000575060005460ff166001145b6110635760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610559565b6000805460ff191660011790558015611086576000805461ff0019166101001790555b61108f85611593565b6110998484611750565b6110a2826114cb565b8015610e96576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6040805180820190915260008152606060208201526001600160a01b038216600090815260ca6020908152604080832081518083018352815481526001820180548451818702810187019095528085529195929486810194939192919084015b8282101561119a57600084815260209081902060408051808201909152908401546001600160e01b0381168252600160e01b900463ffffffff168183015282526001909201910161114e565b505050915250909392505050565b6111b0611471565b6001600160a01b0381166112155760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610559565b61056b81611593565b609760009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611271573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112959190611b47565b6001600160a01b0316336001600160a01b0316146112c55760405162461bcd60e51b815260040161055990611b64565b6098541981196098541916146113435760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c69747900000000000000006064820152608401610559565b609881905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c906020016106a2565b6001600160a01b0381166114085760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a401610559565b609754604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b03163314610ad85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610559565b62034bc08111156115525760405162461bcd60e51b815260206004820152604560248201527f44656c617965645769746864726177616c526f757465722e5f7365745769746860448201527f64726177616c44656c6179426c6f636b733a206e657756616c756520746f6f206064820152646c6172676560d81b608482015260a401610559565b60c95460408051918252602082018390527f4ffb00400574147429ee377a5633386321e66d45d8b14676014b5fa393e61e9e910160405180910390a160c955565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600090815260ca602052604081208054600190910154825b848110801561161e57508161161c8285611c45565b105b156116cb576001600160a01b038616600090815260ca602052604081206001016116488386611c45565b8154811061165857611658611c5d565b6000918252602091829020604080518082019091529101546001600160e01b0381168252600160e01b900463ffffffff1691810182905260c95490925061169e91611c45565b4310156116ab57506116cb565b80516116c0906001600160e01b031686611c45565b945050600101611607565b6116d58184611c45565b6001600160a01b038716600090815260ca602052604090205583156116fe576116fe868561183a565b7f6b7151500bd0b5cc211bcc47b3029831b769004df4549e8e1c9a69da05bb0943868561172b8487611c45565b604080516001600160a01b039094168452602084019290925290820152606001610e8c565b6097546001600160a01b031615801561177157506001600160a01b03821615155b6117f35760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a401610559565b609881905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a26118368261137a565b5050565b8047101561188a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610559565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146118d7576040519150601f19603f3d011682016040523d82523d6000602084013e6118dc565b606091505b50509050806119535760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610559565b505050565b6001600160a01b038116811461056b57600080fd5b60006020828403121561197f57600080fd5b813561198a81611958565b9392505050565b6000602082840312156119a357600080fd5b5035919050565b80516001600160e01b0316825260209081015163ffffffff16910152565b602080825282518282018190526000919060409081850190868401855b82811015611a08576119f88483516119aa565b92840192908501906001016119e5565b5091979650505050505050565b600060208284031215611a2757600080fd5b813560ff8116811461198a57600080fd5b60008060408385031215611a4b57600080fd5b8235611a5681611958565b946020939093013593505050565b60408101610b5782846119aa565b60008060408385031215611a8557600080fd5b8235611a9081611958565b91506020830135611aa081611958565b809150509250929050565b60008060008060808587031215611ac157600080fd5b8435611acc81611958565b93506020850135611adc81611958565b93969395505050506040820135916060013590565b602080825282518282015282810151604080840181905281516060850181905260009392830191849160808701905b8084101561089b57611b338286516119aa565b938501936001939093019290820190611b20565b600060208284031215611b5957600080fd5b815161198a81611958565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b600060208284031215611bc057600080fd5b8151801515811461198a57600080fd5b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600082821015611c4057611c40611c18565b500390565b60008219821115611c5857611c58611c18565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415611c8757611c87611c18565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60208082526019908201527f5061757361626c653a20696e646578206973207061757365640000000000000060408201526060019056fea2646970667358221220a7b0cb3cf71cdb5256fb15bfe475d018f2b85f6e5dc28544afc2cd784e4aa59c64736f6c634300080c003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e0398aee7eebfdf842f636fd2b3ad32c673e299bcb6f151f3cbb13f7420100701191d1105581e03acd2325c964d3a4fe8eae6c460140dd7cd6a2a2c125f9e1b32365bbba00c014714091d7532057505581e035d4baa68dd92bc4175a763961837649d58e9e58ef15e57dced011153900c0a4715c8c842647be20357d0cd7869873c5544fcdaf8e38582332780e4005a61aafc9ce6e38c8eddbb8e0219cbd00219ffff032b6eca9af619cf531b0c2b4512414e87844eb9161fdae03ee77012cf489c74970305224950a3be9847750b0c79d235735e1e4b45828140a5a5292cafc419f84e2f0326c7ee8574d4735014f981f4f73f1366531d0c8eda3bf50e4aeb70a2d3162552038104badd866050cf43bd2ca5adcb1a7935b0a4f8568861b919a06f055a798af903cc329007a96af33df9b4209c934770a4f0b2b2f3356eae052649cc2f62f99fe10391cad714d8cb739a25341819b36733d0bcb18c5bc3d062706f6b536e6cdfee230219ffff039a2e64ee64ff9189b07d652bb21cb3ba8a252cea26cc8250ff8eb52a82416687037fed663575b041158628668f849c2c37aba801679f731edd3f6a034914c0f67703cb5b7d433647b482046100af0503a1e4b6ea0e892ef7495884e424242e0ec5f2031c1566c55a68a911f5fe7874583dce0d64e31423d8a950a76a5845725cd41937036b9adfb03d3333c25c15d4c10dc20ccc682854ba52e0ad542cfb23d834beb8a503fe2144f33ab1ab6bcab1b51e3dc28bfbbdc3a34c47fd36528c01be5ec62f3c6303778f72ac94b0037e2d4cec580f74fb274081eaea46d2f95a0c93dbe426ea50410219ffff0388a79b347371decb1f280ced4cbb3aa575d99cb66bc7e067a7fe590f0459037e03b5297ee98dea28ef09a8fc69ad3977715395b3f8d3562cb58c1fe37e733bf279039bbd0502105d7d02669b68d258cdf781eadb5a26954cd97613b476f244ac3dd30357b2c7fbe5bf41771891a2fa0fee0a6384b879a1586726525493e3cdb0e03d460328f4d6d1e57a27b9fa91f4746466889d1f7a6a3ae138ffbaa0ce33bd85cda9a60360f2fd5a57c61bceec2a73b10461e81f743ec6b02eecaf3e05ddf295840e4fbd037ab5d07a4971b4ec76424fc584faffc2874cbfcfb82f86a48fde6d8c33ac99dd03418f912088bef986e51c649d9c5a78e75e25493a943b351535e27fcd1e9df00d0342ac7358f78e4c783fe3b648602706a5d18a5953b2a2c8eff2a435cbbfe610e503741baf83750581caf9bf9bda30ba225b4613ac873661dd38baf458a9b3f014e4039bb234b7449626ef7e0d9d252e9717f790f17f3f862ff48faee1001b8fec6f45032602eda96eed777b02241c92adb28b99fc521cf9aafa7f2dee372778169210b003f6a7703e14437ee156d43d334696bb2249507fe20f7b9bed4c3fdf318f5aadbe033a60bec3fadd78ba8a66a3c1d2c989244c206d65d8095cdd272444b0c37763a903601c8e295c954d977dcf489e887df5d3f21890456c6f43ded3e9a6d25225faf00392c6464a388539a100944daeb1eef55406d2f16042f70bb3097d193a5d87180c03ca8f5518fa0406038fc8d8cd3a0580fd481ab461cd9043f0c237c63e8860e7ba039eda77f7020894a20ee82e7d2dfe6e3e7a4b13e2acf6141765006bb1bb3a7d6f03049009d0cf898a8f37f36d6812d5c38d6e1c55de08913450e25557471846019103a6fda84d5273ebeb9d49cfa7eedc4e3085980e0a63d4e065622ba5a7743c35a10304c7e554bbfa0527cbec204c1be93ec61058417b3d7117dc2122f1541eb48f5e03ec652b75d3ba95cfbae9ff5bac6a84d865d292faca2cbd30acd829bda386b935034c24ebd5e5d3f0f858c6cc60a2f3b0cf190c570567641c52c53e3febb089bdd7039f90096f24d373a82cde823abfdfabb69430efb9fb829aadfee57a822ce501e205581e036340434476bb21ed1d219c6d3b0dbdc0b7cf08fc6a87cab0518f0861700c02463ea8de00760005581e03b8cb590eaca5ed5e38ff23867f45267b47a5b37ad899eb9294d90196a00c0146e1ad82891fe505581e03a21b28719a46a52f8427ff08fed59948e4a9c74618c5a68ef2fe8a08e0040105581e034dfa7921fae35e54d758d88474d624b07c4eb38164834553de787db2a00c064709e6f1a32f748d04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304812f6e1ee9f2bd4e500582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0500b4c8a0891904d2a1199aa61d9d2f8a40058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054fd26e39807772251c3bb90fb1fcd9ce5b80c5c2400582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58205103716800cb611efe6c26106bf39883f46b95fba6da83b233c7ed6688c35ae6005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8530fdfb2d06e7bc4275231dbe95ec1d4c199523800582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba41020219014400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd004812f6e1ee9f2bd0fd00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632d0170000000000000034b182259186ce0000000000078c95974d0965195d0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218480219f44505581e031bbb84995283817f99cfb179cfef86f96d47cb43a4e7c10791ff88eb100701192c1d03d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e0321b4db4afe2be22918f4c0315d37dfff2fba6e7e586fc8fe29b3034dd007011bffffffffffffffff05581e03e3ec99d1db19322c86d5767f034e9866fd2f160813e7c76e68a0ba03100c0546cfa7413b10b00318922c726a8c6962e15dce29ae570d24f691a4b747c0579aaa7e2d873ccaccd905581e03d562107345ee8fc3d67ac8b719f6cf31dd54414d46bd1c9b1863059e2004010391467a02b16bbc537309ad76945f5d5a191166a2cf6a2dd1283106b54e87b46702198f5d03cd755e098bab8b14dad79f999146bcc60fad260309c81ddc7e9888af3ab54f96032d8f8641b9e780690325814f11773cc2c9c4a8a3020a93b69b5b3118bb11963703bffb87868ce036fc1dbcbc733c61d66b522bb7b25ba71e44818c08c3753edd2f03207d5fed9a466dad980a9ed5f6bbab927baac3e77f3b7dd2d7d4124cddfe098c036ae0bba40ce3745f7609ab283942ef9a2f76c1b54a5782ace2cb45ae0db0b8d7038b47f4c7ce9459d763a313ddcdfb101c8018ba823b686aee9f62bb344a8c01d503519985e1476321fd0ee98367c44833a1fd75bca431e7ba8894c22acbd095211b03cf702fcf03da577471aa306565ac408fc7e6dc2d145ec982966ca9211a199ebf03bb1015417df7af09bf91f143e6042049700f6fb0d28633cacd9c94102e2bb51903f375ec07044f5fe08759124837fa798f609d67c3698d89bc01b55511054dc972039bd79caad209e750a6344de52210094a3297eb5a48ec833a0962dc77c8ebd6b403b18a6dc8bbc7b373af6a93b8c293e0a39a61a48404d103f2fa64c2cac8213d660219ffff0344aa7a1473c2fb745dd90088b97ce5fe18e58f4c3f2958a7f0188079adb37104035823deaf602d029fb31f95f3b6c8b1d9a220004b44a4116aa019c8e35506cb8d0219ffff039f0d55a02fd3fe8df874ca92ecb22a827489e961e7725ecfcd4f78d20263d0f303f85a4909b6adebdbac748682fd34881dc30e991df46e8c38221b91492bc5a06a032fa70cbc6dbc332475bf8251f70ca17ed2fc6b290856d047341876afb3b2e4e603ed03bb7c49e5ad8bc90f0232b584dd352ff43156c35ab0c097bcad5fa6d2037003e2c05422b1a8f53384857c70f5747d3d736ff6bc9d33a2b478ccf168877b0df803ac334f37423c755ab7f374206384759b2d54f80d0151a6a60cea51c8dadb9770030fb857094fc76d56bd29a0fd0640e507ff062dad63d84f61aaa658ea372282200306c34114513f36f6a1e20d2ce2822243266c5194d544cb7882e79cbf56faefe9037bff3bdbd74bbc6b2dcc34393c5326f637133a5a3bb1ad1ac8ce118b6758090d0342347f42b63e2053978634c18fda461aeeab39431d399eb47b8584d4df7a3bf303d5d62ba113d4257fa0299de916d51bce94b643d40bca73692cf90c8d71d9dea20394b34f1dc5f7aaf17eb6a69bf19226a4a7f1da381a419606036734ac73c86f600397307def46b55a31895d4b5a20139efa5fad95839641b9560d285b44849e388103a311bcf3e008fbd4952790aa4a0040fb588094d9160b4b1e015c23003fccdd8603f6fbae5215ff69877be4d7bea7f279865281e0ffb8ed28553a1196672f0c69a803d2bb19e5736f708dbbad01d5ebc0214f51f4ed41ffcacd2563fe20ed36a6299b05581e03fa3d5b33a2c4bce8fc5df116fbbfe0f707e5740493913658b8cf59ed40040105581e03b048836f6e3dad0e9d7e4f755365630957fd94e67e16ca718b7d02c070040105581e03fc38a2c5760b43f67619e4b2b49a4411db8d1c8813646fdb4af1f69c300c014203e80458ab608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c634300070600330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00412200582103572ab7394b431c83e7e5c30337891f8c333964572e871e8f4088cdddba1ff59054fc31892c5500abe00974280b28907baa9190e3840058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d9db270c1b5e3bd161e8c8503c55ceabee709552005821039031a532dbb3adc186e27ef2d159f35f95d1ece2eee849fae3617477bda32e1054fcf1f182fc79047d99e5db0d7113c0efe2ec9402005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c0410100582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc530540c5cc5155b346453154059ad9d2ff695db92f77403f7743dd3ba0f172bc647c164d26e5bc58efd7d8773405cfd0ec6a1b91ad206f8005821036552f9043f7dbde1a3842eccf846aa02c647c3d99f9371aae3c93798f73f1ab054f48f2b2d2a534e402487b3ee7c18c33aec0fe5e4005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0410400582103c0376106780bbe6933d7ffd35f256b543f6e0376b3ebad26cbef11ff9e080fd04101021955d705581d02777ad2efd0ccdbbb5c10c0b80bba5fde32245904331b2cd2fc3198530f0149b6dd48bbcfad40a4bd18ab0330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581d02a0c9474abafa99540696f907b7317896f8ac6c5bd1bcd5172b3e361707011bffffffffffffffff020303688a7692d2a478b352f3373ae81c8feb9382afaa63036666c8184164c72e8e2503905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e031ba06c7765235e41be5dd2ef17b0aaed63aaf834282c34ceb9207a39a007011bffffffffffffffff05581e0371612f6884764e3e287bef53c12cfab3193f1cc701c94335436475a4300c0247032a41d689448f0219ae9c0359a8b9082ab1866486bb428e3708df026ba77b8c01cb3d47ce84ddeaf2d783e303565436d68c9fb904ef9753c77bf62275e416ee6198fa0671479b29a7f5fef58e039c857d6d8a3ad6bb54254d887c67ee36fdfb2cd2ddf7d4169208751532af0ff60362c3c821189ae3ef90f986194bef7ccd627a75875e690bd09829c864eefa414303d9076d0d3942b37fd5798be874e400572e419922ce0baa4c0cbcf63c73bb866503df9c2e646434a24d4c4e9904f56ab0e9af1c17ce51906fa3ec139b6f008f898f03e0c51dd56607880d91704b206c74ca9b4133cd46b4bb1b3b6277a8468b6bee3f0219ffff03c72ada92df6c5d252011b66e584af44f6ec1f908775efeebc8521826e1da9d3e030b2bf982ac67d142f359014e8aae3105a05306540c17bb65a1325c4f934e765f033cd95404e9dda04a30365bdac7706864bb7288b793ecedca2a21d2f9d3d554690367c4712b2cceb2e526976c9d834739f922a8063808af1e1c4c6d1f993e5046b20322c0a64cb29b364ff5909afdb0960586609a63141aaa0c7b6a1a7411d16cd13103b013ce92342ce774d71d22960bead57097665ca17675e1ccb02a6a1ba1899a1903a6762153f5432d77175a815f6d56bc8afc16e42e9abe7b48e4a29dd4bf3463770382e75f6a57a318f2b95c019061cac4c971fd8cd9c192a7e165b9b99100b51280036025963203c801c4de8fb8771f0b0f4e873cc73b59420f9e84417b4efdd0cb9c03f4a2bd03416c948246e40ecf0951039431f0e06462b7fd7598724fc4ba52d4aa03a597f0676c84e2af0036e8b4aa2d94fd9732b5109784e8ddca85eb78fe5268d503f1e6719165bd829280b54cefadf49a353b5697725e1e79fd7903199b1cc255f0038e9eca128ac9574f2d7a54d0d51a86189eae6b0e78e4aec40b354d13a2e899ca03ca877dccc7d2d5cb8d9da494d796c7454639bec7440d33e37f8c91d1c0a205ab038674f8b6f130953899407f5664749ad2b34b4a4ae3586bda0d6705307e4587230219ffff030f8c11d5be30368717411cbf3abc35ce500422a88715a278663cd4a3bf6dde4f0219ffff039d8b2503512a4ebc59ccb73dfe831bc9941e99c3b21d69100c459034943543430343b2acde3414826fc6814c915b3cd9f9ae9f567821435a2acafa1d782463480b03a4b6793fbbc23ece56c1ece23b10f8a4fc7e3b051cd4b0f429af4288f99a7c6703e9f1c769017b167a403713d5cafe6a4aaa33ddf2d47938364efc33253cc2825703fd7b990ae7d8946ce29daf294a4ff44d1adb264b53bd5976049d061f0d24a8e1034b8653e441eaebc1e408078517c158ffcbea81883cf8bd789c7a6c918dcdd274037cf100c967d2ea1cd2315fe5ff61886cf8746a260f82b354bc48aef6f50ca7dd03046368785d1e9fd1fa22ef4c79ce4d915813df1b742fd65ef6098612d19c74210330f18b428ea67d9f3ae22ec55497dba811d7e9166f9268b37d315e9e0ce260760335533df4a56eedc69b41f4dca47a0de7f5848e7f5bafdde682e0430eb2d7df0e030fa95de24cd530fde8f6dbdb797f21ebc5bc96caf7260785325fad6afa862ab0034e381eb4ed9f189154f24e298d643fd5fab35205f51ce68efc70aafca0123ce903570261153bce737534cbc815caedafe2fa43da159e392ca34b857ac2249bc6960391eecd4ed47c7ea15016e16f4bcfcb5720083a0b1c103a3c5d43db018535e97f0370d5d077c56728618f84973f392e8888dab3796e92378e9c7ce7a6c72a10b54503ab1ae5cefcd9c7079f42b0b96367c1db3d00b2c089f24ba76132bd4755eabeaa03489a53667cac1ef134f73b2b8f988d1e4b8acfbb509958cc249df36f5be5b99703ddd875923e1ac424d4d4fb437f27307bf61edc334b7b261cd64b5fd7d54bc44e035a3382f04daf3c91da78a4b73b6ae6e06ed7718b95142e77bd3668e28e93b9a90312cfde9acb2ac065fa5977f7c0c13393683673bd3007ff380d1798a93cc90d0c03e57792de43dece35fab31911a56fcbe16c323f02b1dc166eea5e2392bd8a7cce03e6d76a4e950843eefb55f842c34cd4e8be846558571489256cf56b52280371d603fb00af8ea0e5fc9904105e5dad35cf09bbdb687f570ccdc6be4f6371a677d6bd03c1043f709803ab64d156535d311a9e929e09886b8303a54e2ea3224c91e72d23033d977d6a5a76e2da2e12f4c78f55acd6a94cc04dabb0d02ad4557709a992427203236a22fb929e051e35f40e31344172d5cd45cfe3fb12e76953a8f4ec9b13d2b5031431136ef954f37e4f4d4f14f196adb4de4d04b2d60c6cdfa5981414d4457bc70380286fc8235ce2571124834335a79bd0677c1acf93a5d053ce4910bf1fa4f9c103e503a871bfb064f0d5d1c457e24b56028d38370b0fe8a421b1e4b184fd79cdea031d29b653613850713b4fb54e3b95cac2ec752a91e537f24e6ef2a33b678f6e0e032a93f89f5fb6be0648a7d5611d79f917640e6fdd65800bddccf71a56994c79a603ed55613342025278abd39de86f4ce05fc21a95f17e4fb890faee011b4312f0e505581d024ab371b2b130c1a1c5a2ef82882b514a00330a3e44759f0a2122753a0c05480263040742ab100003d4aa95ada60a54fdf3021325873ec5947185cffc6b31620dbcca71e55897feb10219404005581e0313af1e14f3ad27754cbb94ed2393e8b2c12de5c896620090292a5e60200c014644364c5bb00005581e03d4bc129ca011c0dbed05f7a2068c3a6f8a780169df7a505843e72589f00c0347432bc2709494e905581e035ac8977af3a61dcc84b6f693f57b43afd3cca884c90176d825a68873f00c014501bd11173e05581e0337ad7573c101fa10769268877e40eb7f84659896ee93629e0144f064e0040205581e03fc6f1edf45db65aaba415676bae093e8d00171491898064db5aca21f900c0a46ade3424f424005581e03f96a068cec8e5fb097e4f510dbc32c8aeca92ec700fab7cb865c5c60b008475543df729c000005581e0385810cfb83c6c5dda1209d467c9eb4105d1c3216f1e14408af1c9668000c02470bd212954e540005581e03e034e05a5ead72824491946311d8389cc65eb7dffb3662315168edab300c034701fb09eb70660003ccc8f1fd534bd8f85c621761f36676955c4afa5456951d6d16da81972477fcc8021927df03c4fc32c8f307841438f03ffcc3a3399dc3083805bae6be9ab74a5e646441b6ba03780f5152629c19ea040a6f2922edc51e12dd335a19b3d58cc90175a97560092503e495e1b635c08f9f5a23c011c9102f38d05ca494c044ed42a56a3d1aef4fab2503b6a771bcfc7d8d791553cf3b7123f31979c3a464c6aaf9a69433209ac7688b8d032d6e3be2ebb7f17ff331a13f12167fa00d81908420ebc232a11c81fb4f0f769203771e451b2af9a30170409ea829afa645873c8ce68a53b5358c750421cf42c0c503671fb1519b73b4cd64302f249f2596b8304b9da090880867c5f1da2b5d84cdcb0219ffff03025766d8c9cb771b5296f267be570b9866ced4f89da040eced0dcd13f739f1750314a93e336039311d1845ee3b3f54c00d06e97d0dc31e2ed871240157e1183f5503118f0bf5b488b6d18649fc7d8db19ee9bf59176f355e35e96d9d64a4c5335d2e034d73e520d573ba12d435e429ec957628fcf1dbc1d7fd1d8c804f702da63c7c0503195793cd7f971e6ae73b0c412ab381b08269b9d8dfecc00b085341300a1029ec0219ffff03e1050c1bb4a95092033009b0d328debf606b9bad0be40b520056bf2dc0980dcf0338d7fb9268566660097329cf0573083a222f3339e18a19744f7a39142e5e9bc603cf9c07b58635244737ade3d37983750f8e1835d72ea7a097a1dc5e69d63e0f1803c90c2ce357da50ba87cdc57858343616c0117c9bd8bd4035ffb9dde5567570ac03c29e490d7bc299e7d1287c13fda6e0fe9af86ef60c763580d70c225b3d090afd0219ffff033d284c5639ec503eebfe34c330b08ab85c0e9b37d306083aa07092f1930e575d0366e1714e43ee66ddb52f4a37a153f8aac24b8ffb3940621e8340b19c9cfb66eb03fc3fedd23182ef5f7856d42d8ebaf04ba87cfba642af3f4f6f8e9c03c6b75c730339a0c78dc8468bf255881dff1c95d8d706decabba6450527c5381559ba41d7ca03706c8bb5d4e8ab9eeb751f1eb293241cbc6d805b5f4048d89b5e1d392da9b8d703c4581a1a88eceb20aaae70659fdfcc268fad8fa1e9416b44df0a802d9d0194d8036281f5c30ff26675242c7dce059122b246936454f63d293333fc11fe670559390351a969160ff215e6d5a2402851201cdeb74f034f276d74a384a589acbece8b4303f6c9b0dccc6dce65fcd18c9bc74b29bc2f5eae6f7b0953a3dde409a8fae03ba70219ffff0357992fb8f2556d496d39e5a0c8cc080f21839c0c74c46661b8ff0620caa40ea1035b5e4e9e447188f7401b62ab3924e6adbf4587f35ad5aa10caec1ec1545ac46203aa720d4da0f9803a1bf29f427d38a92ab28a1e1ff0231d43662ec3e57b2ee2630343a16fbd4ec3e0f72a8b28fffeabb944a9849bd6dc5b754704df4899ad24dc7303f57ebab0c184866225ca9888c9817ce70eb463a6d221f8e1301684df3feec19403b9f5caae8fda9a22fe28bf0759eef34b56a5d26830f03718a475dbad6baf45380382daffbdf87bf26ede789360a8b9016b5561e78933c894c889985e695e6acb0203230da9ce7479d88d50e1e80c25c1d5acfe9e1d586c44fadd7dfc58cf489b3a3803c616d0e5423fdfd0157a64af19c5533cd62c80aefe450fadf9d6cd901fce7561032b59218e579f890cab65830c3b26d634b4283c1e9ac4f8c388addef59b3402700372b1ecb63ba196e2c40b7c0afef1d6be87696d36b908101185179319c592be5b0312d98d28800741e5c04038a4cec09dcc80f581acd5a78196272e3e8260a30ee10303cc31d70983d265538df99d798e0460d925b7a150f35178402b727e8e7c14bc039f6cde11eef2dc3d5268eb2bd155e62d22158da80e24ee26334939f8f08014ac03a1a5f543f25537286a4c4530e3599ff7b2dc6054f6e45e5850209ceabac892d1034876bdbd7bc6a46ea173ae3790d75d4cc557fc16c71b43d1c708c7bc39d3adc505581e03fe85173262a444deb6a47020f6e780c248c86462906d50d594b53376900c0147127b1bfd9ff18a05581e03874ad508497e8c7967a2520dab635804df85f8305cabe547d8fe5740f00c01471132d30da8496d0368797fb1949f0b9c4a212cf528a1c88715f9314c2f3b819d86ade64dd0801aa6039a0f1d62589dba91ca21ac70df72e791d8f296c7308a404387d4eaac5a12886405581e03e8c7f2818959173aadc247a4e9a94b025a8f7e1cbcf9ac033b66cb127007011bffffffffffffffff05581e030f5d8136245c2262b050292f41d0e418d831279471737b1448a11914e00c0244f64efce1032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03215cc85323368c0ed0acb79070b2fff9256963096fde4f4ce982bd7cc007011bffffffffffffffff05581e030e9106053cef6f6576fbfd4ba99f1e847850ed1d2ca013ffd4778da2d00c03470144407f768c7004595dcc608060405234801562000010575f80fd5b50600436106200038c575f3560e01c8063841b24d711620001e3578063c1acbc341162000113578063dbc1697611620000ab578063e46761c41162000083578063e46761c41462000aba578063f34eb8eb1462000ae2578063f4e926751462000af9578063f9c4c2ae1462000b0a575f80fd5b8063dbc169761462000a7e578063dde0ff771462000a88578063e0bfd3d21462000aa3575f80fd5b8063d02103ca11620000eb578063d02103ca1462000a14578063d5073f6f1462000a3c578063d547741f1462000a53578063d939b3151462000a6a575f80fd5b8063c1acbc3414620009ba578063c4c928c214620009d5578063ceee281d14620009ec575f80fd5b80639c9f3dfe1162000187578063a2967d99116200015f578063a2967d99146200086b578063a3c573eb1462000875578063afd23cbe14620008b6578063b99d0ad714620008e0575f80fd5b80639c9f3dfe1462000835578063a066215c146200084c578063a217fddf1462000863575f80fd5b806391d1485411620001bb57806391d1485414620007d957806399f5634e14620008145780639a908e73146200081e575f80fd5b8063841b24d7146200079057806387c20c0114620007ab5780638bd4f07114620007c2575f80fd5b80632528016911620002bf57806355a71ee011620002635780637222020f116200023b5780637222020f1462000714578063727885e9146200072b5780637975fcfe14620007425780637fb6e76a1462000768575f80fd5b806355a71ee0146200061957806360469169146200065c57806365c0504d1462000666575f80fd5b806336568abe116200029757806336568abe14620005e2578063394218e914620005f9578063477fa2701462000610575f80fd5b80632528016914620005035780632f2ff15d14620005b757806330c27dde14620005ce575f80fd5b80631489ed1011620003335780631796a1ae116200030b5780631796a1ae14620004875780631816b7e514620004ae5780632072f6c514620004c5578063248a9ca314620004cf575f80fd5b80631489ed10146200044b57806315064c9614620004625780631608859c1462000470575f80fd5b80630a0d9fbe11620003675780630a0d9fbe146200040257806311f6b287146200041d57806312b86e191462000434575f80fd5b80630645af091462000390578063066ec01214620003a9578063080b311114620003da575b5f80fd5b620003a7620003a13660046200490d565b62000c20565b005b608454620003bd906001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b620003f1620003eb366004620049f6565b620011ed565b6040519015158152602001620003d1565b608554620003bd90600160401b90046001600160401b031681565b620003bd6200042e36600462004a2c565b62001216565b620003a76200044536600462004a5a565b62001235565b620003a76200045c36600462004aec565b620013f9565b606f54620003f19060ff1681565b620003a762000481366004620049f6565b620015a3565b607e54620004989063ffffffff1681565b60405163ffffffff9091168152602001620003d1565b620003a7620004bf36600462004b71565b6200164d565b620003a76200170a565b620004f4620004e036600462004b9b565b5f9081526034602052604090206001015490565b604051908152602001620003d1565b6200058362000514366004620049f6565b60408051606080820183525f808352602080840182905292840181905263ffffffff959095168552608182528285206001600160401b03948516865260030182529382902082519485018352805485526001015480841691850191909152600160401b90049091169082015290565b60408051825181526020808401516001600160401b03908116918301919091529282015190921690820152606001620003d1565b620003a7620005c836600462004bb3565b620017e6565b608754620003bd906001600160401b031681565b620003a7620005f336600462004bb3565b6200180e565b620003a76200060a36600462004be4565b62001848565b608654620004f4565b620004f46200062a366004620049f6565b63ffffffff82165f9081526081602090815260408083206001600160401b038516845260020190915290205492915050565b620004f46200190d565b620006ca6200067736600462004a2c565b607f6020525f90815260409020805460018201546002909201546001600160a01b0391821692918216916001600160401b03600160a01b8204169160ff600160e01b8304811692600160e81b9004169086565b604080516001600160a01b0397881681529690951660208701526001600160401b039093169385019390935260ff166060840152901515608083015260a082015260c001620003d1565b620003a76200072536600462004a2c565b62001924565b620003a76200073c36600462004ca4565b62001a1e565b620007596200075336600462004d6a565b62001e7b565b604051620003d1919062004e1d565b620004986200077936600462004be4565b60836020525f908152604090205463ffffffff1681565b608454620003bd90600160c01b90046001600160401b031681565b620003a7620007bc36600462004aec565b62001ead565b620003a7620007d336600462004a5a565b620021d8565b620003f1620007ea36600462004bb3565b5f9182526034602090815260408084206001600160a01b0393909316845291905290205460ff1690565b620004f46200228f565b620003bd6200082f36600462004e31565b62002370565b620003a76200084636600462004be4565b6200253c565b620003a76200085d36600462004be4565b620025f3565b620004f45f81565b620004f4620026a9565b6200089d7f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede81565b6040516001600160a01b039091168152602001620003d1565b608554620008cc90600160801b900461ffff1681565b60405161ffff9091168152602001620003d1565b62000975620008f1366004620049f6565b60408051608080820183525f8083526020808401829052838501829052606093840182905263ffffffff969096168152608186528381206001600160401b03958616825260040186528390208351918201845280548086168352600160401b9004909416948101949094526001830154918401919091526002909101549082015290565b604051620003d191905f6080820190506001600160401b0380845116835280602085015116602084015250604083015160408301526060830151606083015292915050565b608454620003bd90600160801b90046001600160401b031681565b620003a7620009e636600462004e5c565b62002a71565b62000498620009fd36600462004eed565b60826020525f908152604090205463ffffffff1681565b6200089d7f000000000000000000000000580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb81565b620003a762000a4d36600462004b9b565b62002d6d565b620003a762000a6436600462004bb3565b62002e09565b608554620003bd906001600160401b031681565b620003a762002e31565b608454620003bd90600160401b90046001600160401b031681565b620003a762000ab436600462004f1c565b62002efd565b6200089d7f000000000000000000000000455e53cbb86018ac2b8092fdcd39d8444affc3f681565b620003a762000af336600462004f94565b62002fd1565b608054620004989063ffffffff1681565b62000ba062000b1b36600462004a2c565b60816020525f9081526040902080546001820154600583015460068401546007909401546001600160a01b0380851695600160a01b958690046001600160401b039081169692861695929092048216939282821692600160401b808404821693600160801b808204841694600160c01b90920484169380831693830416910460ff168c565b604080516001600160a01b039d8e1681526001600160401b039c8d1660208201529c909a16998c019990995296891660608b015260808a019590955292871660a089015290861660c0880152851660e0870152841661010086015283166101208501529190911661014083015260ff1661016082015261018001620003d1565b5f54600290610100900460ff1615801562000c4157505f5460ff8083169116105b62000cb95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b5f805461010060ff841661ffff199092169190911717905560858054608480546001600160c01b0316600160c01b6001600160401b038e8116919091029190911790915567016345785d8a00006086558c166001600160801b03199091161769070800000000000000001761ffff60801b19167103ea0000000000000000000000000000000017905562000d4c620031c5565b62000d787f084e94f375e9d647f87f5b2ceffba1e062c70f6009fdbcf80291e803b5c9edd48c62003231565b62000d845f8862003231565b62000db07fac75d24dbb35ea80e25fab167da4dea46c1915260426570db84f184891f5f5908862003231565b62000ddc7f3dfe277d2a2c04b75fb2eb3743fa00005ae3678a20c299e65fdf4df76517f68e8862003231565b62000e087f66156603fe29d13f97c6f3e3dff4ef71919f9aa61c555be0182d954e94221aac8862003231565b62000e347fab66e11c4f712cd06ab11bf9339b48bef39e12d4a22eeef71d2860a0c90482bd8962003231565b62000e607fa0fab074aba36a6fa69f1a83ee86e5abfb8433966eb57efb13dc2fc2f24ddd088962003231565b62000e8c7f62ba6ba2ffed8cfe316b583325ea41ac6e7ba9e5864d2bc6fabba7ac26d2f0f48962003231565b62000eb87fa5c5790f581d443ed43873ab47cfb8c5d66a6db268e58b5971bb33fc66e07db18962003231565b62000f047f084e94f375e9d647f87f5b2ceffba1e062c70f6009fdbcf80291e803b5c9edd47f73cb0569fdbea2544dae03fdb2fe10eda92a72a2e8cd2bd496e85b762505a3f06200323d565b62000f307f73cb0569fdbea2544dae03fdb2fe10eda92a72a2e8cd2bd496e85b762505a3f08962003231565b62000f5c7f8cf807f6970720f8e2c208c7c5037595982c7bd9ed93c380d09df743d0dcc3fb8962003231565b62000fa87f141f8f32ce6198eee741f695cec728bfd32d289f1acf73621fb303581000545e7f9b6f082d8d3644ae2f24a3c32e356d6f2d9b2844d9b26164fbc82663ff2859516200323d565b62000fd47f141f8f32ce6198eee741f695cec728bfd32d289f1acf73621fb303581000545e8762003231565b620010007f9b6f082d8d3644ae2f24a3c32e356d6f2d9b2844d9b26164fbc82663ff2859518762003231565b6073546074546001600160401b03600160401b909204821691168082146200103b57604051632e4cc54360e11b815260040160405180910390fd5b5f62001060888888885f60745f9054906101000a90046001600160401b031662003287565b6001600160401b038381165f81815260756020908152604080832054600287018352818420558885168084526072808452828520600389018552948390208554815560018087018054919092018054918a1667ffffffffffffffff198084168217835593546001600160801b0319938416909117600160401b91829004909b1681029a909a17905560068a01805490911690931797870297909717909155600787018054909616909417909455607a54606f549390915290549251635d6717a560e01b81529394506001600160a01b038c811694635d6717a5946200116694938316936b01000000000000000000000090049092169160769160779190600401620050cd565b5f604051808303815f87803b1580156200117e575f80fd5b505af115801562001191573d5f803e3d5ffd5b50505f805461ff0019169055505060405160ff851681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249893506020019150620011d89050565b60405180910390a15050505050505050505050565b63ffffffff82165f9081526081602052604081206200120d9083620034a8565b90505b92915050565b63ffffffff81165f9081526081602052604081206200121090620034ec565b7f084e94f375e9d647f87f5b2ceffba1e062c70f6009fdbcf80291e803b5c9edd462001261816200355b565b63ffffffff89165f90815260816020526040902062001287818a8a8a8a8a8a8a62003567565b60068101805467ffffffffffffffff60401b1916600160401b6001600160401b038981169182029290921783555f9081526002840160205260409020869055600583018790559054600160801b90041615620012f8576006810180546fffffffffffffffffffffffffffffffff1690555b7f000000000000000000000000580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb6001600160a01b03166333d6247d62001331620026a9565b6040518263ffffffff1660e01b81526004016200135091815260200190565b5f604051808303815f87803b15801562001368575f80fd5b505af11580156200137b573d5f803e3d5ffd5b5050608480546001600160c01b031661127560c71b1790555050604080516001600160401b03881681526020810186905290810186905233606082015263ffffffff8b16907f3182bd6e6f74fc1fdc88b60f3a4f4c7f79db6ae6f5b88a1b3f5a1e28ec210d5e9060800160405180910390a250505050505050505050565b7f084e94f375e9d647f87f5b2ceffba1e062c70f6009fdbcf80291e803b5c9edd462001425816200355b565b63ffffffff89165f9081526081602052604090206200144b818a8a8a8a8a8a8a620038f5565b60068101805467ffffffffffffffff60401b1916600160401b6001600160401b038a81169182029290921783555f9081526002840160205260409020879055600583018890559054600160801b90041615620014bc576006810180546fffffffffffffffffffffffffffffffff1690555b7f000000000000000000000000580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb6001600160a01b03166333d6247d620014f5620026a9565b6040518263ffffffff1660e01b81526004016200151491815260200190565b5f604051808303815f87803b1580156200152c575f80fd5b505af11580156200153f573d5f803e3d5ffd5b5050604080516001600160401b038b1681526020810189905290810189905233925063ffffffff8d1691507fd1ec3a1216f08b6eff72e169ceb548b782db18a6614852618d86bb19f3f9b0d39060600160405180910390a350505050505050505050565b63ffffffff82165f9081526081602090815260408083203384527fc17b14a573f65366cdad721c7c0a0f76536bb4a86b935cdac44610e4f010b52a9092529091205460ff166200163c57606f5460ff16156200161257604051630bc011ff60e21b815260040160405180910390fd5b6200161e8183620034a8565b6200163c57604051630674f25160e11b815260040160405180910390fd5b62001648818362003d08565b505050565b7fa5c5790f581d443ed43873ab47cfb8c5d66a6db268e58b5971bb33fc66e07db162001679816200355b565b6103e88261ffff1610806200169357506103ff8261ffff16115b15620016b257604051630984a67960e31b815260040160405180910390fd5b6085805461ffff60801b1916600160801b61ffff8516908102919091179091556040519081527f7019933d795eba185c180209e8ae8bffbaa25bcef293364687702c31f4d302c5906020015b60405180910390a15050565b335f9081527f8875b94af5657a2903def9906d67a3f42d8a836d24b5602c00f00fc855339fcd602052604090205460ff16620017da57608454600160801b90046001600160401b031615806200178b57506084544290620017809062093a8090600160801b90046001600160401b031662005135565b6001600160401b0316115b80620017bb57506087544290620017b09062093a80906001600160401b031662005135565b6001600160401b0316115b15620017da5760405163692baaad60e11b815260040160405180910390fd5b620017e462003ef4565b565b5f8281526034602052604090206001015462001802816200355b565b62001648838362003f6e565b6001600160a01b03811633146200183857604051630b4ad1cd60e31b815260040160405180910390fd5b62001844828262003ff2565b5050565b7fa5c5790f581d443ed43873ab47cfb8c5d66a6db268e58b5971bb33fc66e07db162001874816200355b565b606f5460ff16620018b6576084546001600160401b03600160c01b909104811690831610620018b65760405163401636df60e01b815260040160405180910390fd5b608480546001600160c01b0316600160c01b6001600160401b038516908102919091179091556040519081527f1f4fa24c2e4bad19a7f3ec5c5485f70d46c798461c2e684f55bbd0fc661373a190602001620016fe565b5f60865460646200191f91906200515f565b905090565b7fab66e11c4f712cd06ab11bf9339b48bef39e12d4a22eeef71d2860a0c90482bd62001950816200355b565b63ffffffff821615806200196f5750607e5463ffffffff908116908316115b156200198e57604051637512e5cb60e01b815260040160405180910390fd5b63ffffffff82165f908152607f60205260409020600180820154600160e81b900460ff1615159003620019d457604051633b8d3d9960e01b815260040160405180910390fd5b60018101805460ff60e81b1916600160e81b17905560405163ffffffff8416907f4710d2ee567ef1ed6eb2f651dde4589524bcf7cebc62147a99b281cc836e7e44905f90a2505050565b7fa0fab074aba36a6fa69f1a83ee86e5abfb8433966eb57efb13dc2fc2f24ddd0862001a4a816200355b565b63ffffffff8816158062001a695750607e5463ffffffff908116908916115b1562001a8857604051637512e5cb60e01b815260040160405180910390fd5b63ffffffff88165f908152607f60205260409020600180820154600160e81b900460ff161515900362001ace57604051633b8d3d9960e01b815260040160405180910390fd5b6001600160401b0388165f9081526083602052604090205463ffffffff161562001b0b576040516337c8fe0960e11b815260040160405180910390fd5b608080545f9190829062001b259063ffffffff1662005179565b825463ffffffff8281166101009490940a93840293021916919091179091558254604080515f80825260208201928390529394506001600160a01b0390921691309162001b7290620048d3565b62001b80939291906200519e565b604051809103905ff08015801562001b9a573d5f803e3d5ffd5b5090508160835f8c6001600160401b03166001600160401b031681526020019081526020015f205f6101000a81548163ffffffff021916908363ffffffff1602179055508160825f836001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548163ffffffff021916908363ffffffff1602179055505f60815f8463ffffffff1663ffffffff1681526020019081526020015f20905081815f015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508360010160149054906101000a90046001600160401b03168160010160146101000a8154816001600160401b0302191690836001600160401b03160217905550836001015f9054906101000a90046001600160a01b0316816001015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508a815f0160146101000a8154816001600160401b0302191690836001600160401b031602179055508360020154816002015f806001600160401b031681526020019081526020015f20819055508b63ffffffff168160070160086101000a8154816001600160401b0302191690836001600160401b0316021790555083600101601c9054906101000a900460ff168160070160106101000a81548160ff021916908360ff1602179055508263ffffffff167f194c983456df6701c6a50830b90fe80e72b823411d0d524970c9590dc277a6418d848e8c60405162001dfe949392919063ffffffff9490941684526001600160a01b0392831660208501526001600160401b0391909116604084015216606082015260800190565b60405180910390a2604051633892b81160e11b81526001600160a01b0383169063712570229062001e3e908d908d9088908e908e908e90600401620051d4565b5f604051808303815f87803b15801562001e56575f80fd5b505af115801562001e69573d5f803e3d5ffd5b50505050505050505050505050505050565b63ffffffff86165f90815260816020526040902060609062001ea290878787878762004074565b979650505050505050565b606f5460ff161562001ed257604051630bc011ff60e21b815260040160405180910390fd5b63ffffffff88165f9081526081602090815260408083206084546001600160401b038a81168652600383019094529190932060010154429262001f2092600160c01b90048116911662005135565b6001600160401b0316111562001f4957604051638a0704d360e01b815260040160405180910390fd5b6103e862001f58888862005236565b6001600160401b0316111562001f8157604051635acfba9d60e11b815260040160405180910390fd5b62001f938189898989898989620038f5565b62001f9f8187620041cb565b6085546001600160401b03165f03620020b05760068101805467ffffffffffffffff60401b1916600160401b6001600160401b038981169182029290921783555f9081526002840160205260409020869055600583018790559054600160801b9004161562002023576006810180546fffffffffffffffffffffffffffffffff1690555b7f000000000000000000000000580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb6001600160a01b03166333d6247d6200205c620026a9565b6040518263ffffffff1660e01b81526004016200207b91815260200190565b5f604051808303815f87803b15801562002093575f80fd5b505af1158015620020a6573d5f803e3d5ffd5b5050505062002179565b620020bb81620043c2565b600681018054600160801b90046001600160401b0316906010620020df8362005259565b82546001600160401b039182166101009390930a92830292820219169190911790915560408051608081018252428316815289831660208083019182528284018b8152606084018b81526006890154600160801b900487165f90815260048a01909352949091209251835492518616600160401b026001600160801b03199093169516949094171781559151600183015551600290910155505b604080516001600160401b038816815260208101869052908101869052339063ffffffff8b16907faac1e7a157b259544ebacd6e8a82ae5d6c8f174e12aa48696277bcc9a661f0b49060600160405180910390a3505050505050505050565b606f5460ff1615620021fd57604051630bc011ff60e21b815260040160405180910390fd5b63ffffffff88165f90815260816020526040902062002223818989898989898962003567565b6001600160401b0387165f9081526004820160209081526040918290206002015482519081529081018590527f1f44c21118c4603cfb4e1b621dbcfa2b73efcececee2b99b620b2953d33a7010910160405180910390a16200228462003ef4565b505050505050505050565b6040516370a0823160e01b81523060048201525f9081906001600160a01b037f000000000000000000000000455e53cbb86018ac2b8092fdcd39d8444affc3f616906370a0823190602401602060405180830381865afa158015620022f6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200231c919062005277565b6084549091505f9062002342906001600160401b03600160401b82048116911662005236565b6001600160401b03169050805f036200235d575f9250505090565b620023698183620052a3565b9250505090565b606f545f9060ff16156200239757604051630bc011ff60e21b815260040160405180910390fd5b335f9081526082602052604081205463ffffffff1690819003620023ce576040516371653c1560e01b815260040160405180910390fd5b836001600160401b03165f03620023f857604051632590ccf960e01b815260040160405180910390fd5b63ffffffff81165f90815260816020526040812060848054919287926200242a9084906001600160401b031662005135565b82546101009290920a6001600160401b0381810219909316918316021790915560068301541690505f6200245f878362005135565b6006840180546001600160401b0380841667ffffffffffffffff199092168217909255604080516060810182528a815242841660208083019182528886168385019081525f95865260038b0190915292909320905181559151600192909201805491518416600160401b026001600160801b031990921692909316919091171790559050620024ee83620043c2565b6040516001600160401b038216815263ffffffff8516907f1d9f30260051d51d70339da239ea7b080021adcaabfa71c9b0ea339a20cf9a259060200160405180910390a29695505050505050565b7fa5c5790f581d443ed43873ab47cfb8c5d66a6db268e58b5971bb33fc66e07db162002568816200355b565b606f5460ff16620025a3576085546001600160401b0390811690831610620025a35760405163048a05a960e41b815260040160405180910390fd5b6085805467ffffffffffffffff19166001600160401b0384169081179091556040519081527fc4121f4e22c69632ebb7cf1f462be0511dc034f999b52013eddfb24aab765c7590602001620016fe565b7fa5c5790f581d443ed43873ab47cfb8c5d66a6db268e58b5971bb33fc66e07db16200261f816200355b565b62015180826001600160401b031611156200264d57604051631c0cfbfd60e31b815260040160405180910390fd5b6085805467ffffffffffffffff60401b1916600160401b6001600160401b038516908102919091179091556040519081527f1b023231a1ab6b5d93992f168fb44498e1a7e64cef58daff6f1c216de6a68c2890602001620016fe565b6080545f9063ffffffff16808203620026c357505f919050565b5f816001600160401b03811115620026df57620026df62004c00565b60405190808252806020026020018201604052801562002709578160200160208202803683370190505b5090505f5b82811015620027795760815f62002727836001620052b9565b63ffffffff1663ffffffff1681526020019081526020015f2060050154828281518110620027595762002759620052cf565b6020908102919091010152806200277081620052e3565b9150506200270e565b505f60205b83600114620029d1575f62002795600286620052fe565b620027a2600287620052a3565b620027ae9190620052b9565b90505f816001600160401b03811115620027cc57620027cc62004c00565b604051908082528060200260200182016040528015620027f6578160200160208202803683370190505b5090505f5b828110156200297d576200281160018462005314565b811480156200282c575062002828600288620052fe565b6001145b15620028b45785620028408260026200515f565b81518110620028535762002853620052cf565b60200260200101518560405160200162002877929190918252602082015260400190565b60405160208183030381529060405280519060200120828281518110620028a257620028a2620052cf565b60200260200101818152505062002968565b85620028c28260026200515f565b81518110620028d557620028d5620052cf565b602002602001015186826002620028ed91906200515f565b620028fa906001620052b9565b815181106200290d576200290d620052cf565b602002602001015160405160200162002930929190918252602082015260400190565b604051602081830303815290604052805190602001208282815181106200295b576200295b620052cf565b6020026020010181815250505b806200297481620052e3565b915050620027fb565b508094508195508384604051602001620029a1929190918252602082015260400190565b6040516020818303038152906040528051906020012093508280620029c6906200532a565b93505050506200277e565b5f835f81518110620029e757620029e7620052cf565b602002602001015190505f5b8281101562002a6757604080516020810184905290810185905260600160408051601f1981840301815282825280516020918201209083018790529082018690529250606001604051602081830303815290604052805190602001209350808062002a5e90620052e3565b915050620029f3565b5095945050505050565b7f66156603fe29d13f97c6f3e3dff4ef71919f9aa61c555be0182d954e94221aac62002a9d816200355b565b63ffffffff8416158062002abc5750607e5463ffffffff908116908516115b1562002adb57604051637512e5cb60e01b815260040160405180910390fd5b6001600160a01b0385165f9081526082602052604081205463ffffffff169081900362002b1b576040516374a086a360e01b815260040160405180910390fd5b63ffffffff8181165f908152608160205260409020600781015490918716600160401b9091046001600160401b03160362002b6957604051634f61d51960e01b815260040160405180910390fd5b63ffffffff86165f908152607f60205260409020600180820154600160e81b900460ff161515900362002baf57604051633b8d3d9960e01b815260040160405180910390fd5b60018101546007830154600160801b900460ff908116600160e01b909204161462002bed57604051635aa0d5f160e11b815260040160405180910390fd5b60018082018054918401805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03909416938417825591546001600160401b03600160a01b9182900416027fffffffff00000000000000000000000000000000000000000000000000000000909216909217179055600782018054600160401b63ffffffff8a160267ffffffffffffffff60401b199091161790555f62002c928462001216565b60078401805467ffffffffffffffff19166001600160401b038316179055825460405163278f794360e11b81529192506001600160a01b038b811692634f1ef2869262002ce89216908b908b9060040162005342565b5f604051808303815f87803b15801562002d00575f80fd5b505af115801562002d13573d5f803e3d5ffd5b50506040805163ffffffff8c811682526001600160401b0386166020830152881693507ff585e04c05d396901170247783d3e5f0ee9c1df23072985b50af089f5e48b19d92500160405180910390a2505050505050505050565b7f8cf807f6970720f8e2c208c7c5037595982c7bd9ed93c380d09df743d0dcc3fb62002d99816200355b565b683635c9adc5dea0000082118062002db45750633b9aca0082105b1562002dd357604051638586952560e01b815260040160405180910390fd5b60868290556040518281527ffb383653f53ee079978d0c9aff7aeff04a10166ce244cca9c9f9d8d96bed45b290602001620016fe565b5f8281526034602052604090206001015462002e25816200355b565b62001648838362003ff2565b7f62ba6ba2ffed8cfe316b583325ea41ac6e7ba9e5864d2bc6fabba7ac26d2f0f462002e5d816200355b565b6087805467ffffffffffffffff1916426001600160401b031617905560408051636de0b4bb60e11b815290517f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede6001600160a01b03169163dbc16976916004808301925f92919082900301818387803b15801562002ed9575f80fd5b505af115801562002eec573d5f803e3d5ffd5b5050505062002efa6200448b565b50565b7f3dfe277d2a2c04b75fb2eb3743fa00005ae3678a20c299e65fdf4df76517f68e62002f29816200355b565b6001600160401b0384165f9081526083602052604090205463ffffffff161562002f66576040516337c8fe0960e11b815260040160405180910390fd5b6001600160a01b0387165f9081526082602052604090205463ffffffff161562002fa357604051630d409b9360e41b815260040160405180910390fd5b5f62002fb488888888875f62003287565b5f8080526002909101602052604090209390935550505050505050565b7fac75d24dbb35ea80e25fab167da4dea46c1915260426570db84f184891f5f59062002ffd816200355b565b607e80545f91908290620030179063ffffffff1662005179565b91906101000a81548163ffffffff021916908363ffffffff160217905590506040518060c00160405280896001600160a01b03168152602001886001600160a01b03168152602001876001600160401b031681526020018660ff1681526020015f1515815260200185815250607f5f8363ffffffff1663ffffffff1681526020019081526020015f205f820151815f015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055506020820151816001015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160146101000a8154816001600160401b0302191690836001600160401b03160217905550606082015181600101601c6101000a81548160ff021916908360ff160217905550608082015181600101601d6101000a81548160ff02191690831515021790555060a082015181600201559050508063ffffffff167fa2970448b3bd66ba7e524e7b2a5b9cf94fa29e32488fb942afdfe70dd4b77b52898989898989604051620031b39695949392919062005380565b60405180910390a25050505050505050565b5f54610100900460ff16620017e45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840162000cb0565b62001844828262003f6e565b5f82815260346020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b608080545f9182918290620032a29063ffffffff1662005179565b91906101000a81548163ffffffff021916908363ffffffff160217905590508060835f876001600160401b03166001600160401b031681526020019081526020015f205f6101000a81548163ffffffff021916908363ffffffff1602179055508060825f8a6001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548163ffffffff021916908363ffffffff16021790555060815f8263ffffffff1663ffffffff1681526020019081526020015f20915087825f015f6101000a8154816001600160a01b0302191690836001600160a01b03160217905550858260010160146101000a8154816001600160401b0302191690836001600160401b0316021790555086826001015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555084825f0160146101000a8154816001600160401b0302191690836001600160401b03160217905550838260070160106101000a81548160ff021916908360ff1602179055508063ffffffff167fadfc7d56f7e39b08b321534f14bfb135ad27698f7d2f5ad0edc2356ea9a3f850878a888888604051620034959594939291906001600160401b0395861681526001600160a01b03949094166020850152918416604084015260ff166060830152909116608082015260a00190565b60405180910390a2509695505050505050565b6085546001600160401b038281165f90815260048501602052604081205490924292620034da92918116911662005135565b6001600160401b031611159392505050565b60068101545f90600160801b90046001600160401b0316156200353e575060068101546001600160401b03600160801b90910481165f9081526004909201602052604090912054600160401b90041690565b5060060154600160401b90046001600160401b031690565b919050565b62002efa8133620044e3565b60078801545f906001600160401b0390811690871610156200359c5760405163ead1340b60e01b815260040160405180910390fd5b6001600160401b038816156200363c5760068901546001600160401b03600160801b90910481169089161115620035e65760405163bb14c20560e01b815260040160405180910390fd5b506001600160401b038088165f90815260048a0160205260409020600281015481549092888116600160401b90920416146200363557604051632bd2e3e760e01b815260040160405180910390fd5b50620036b0565b506001600160401b0385165f9081526002890160205260409020548062003676576040516324cbdcc360e11b815260040160405180910390fd5b60068901546001600160401b03600160401b90910481169087161115620036b057604051630f2b74f160e11b815260040160405180910390fd5b60068901546001600160401b03600160801b90910481169088161180620036e95750876001600160401b0316876001600160401b031611155b806200370d575060068901546001600160401b03600160c01b909104811690881611155b156200372c5760405163bfa7079f60e01b815260040160405180910390fd5b6001600160401b038781165f90815260048b016020526040902054600160401b900481169086161462003772576040516332a2a77f60e01b815260040160405180910390fd5b5f620037838a888888868962004074565b90505f7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001600283604051620037b99190620053d7565b602060405180830381855afa158015620037d5573d5f803e3d5ffd5b5050506040513d601f19601f82011682018060405250810190620037fa919062005277565b620038069190620052fe565b60018c0154604080516020810182528381529051634890ed4560e11b81529293506001600160a01b0390911691639121da8a916200384a91889190600401620053f4565b602060405180830381865afa15801562003866573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200388c919062005430565b620038aa576040516309bde33960e01b815260040160405180910390fd5b6001600160401b0389165f90815260048c016020526040902060020154859003620038e85760405163a47276bd60e01b815260040160405180910390fd5b5050505050505050505050565b5f80620039028a620034ec565b60078b01549091506001600160401b039081169089161015620039385760405163ead1340b60e01b815260040160405180910390fd5b6001600160401b03891615620039da5760068a01546001600160401b03600160801b9091048116908a161115620039825760405163bb14c20560e01b815260040160405180910390fd5b6001600160401b03808a165f90815260048c01602052604090206002810154815490945090918a8116600160401b9092041614620039d357604051632bd2e3e760e01b815260040160405180910390fd5b5062003a49565b6001600160401b0388165f90815260028b01602052604090205491508162003a15576040516324cbdcc360e11b815260040160405180910390fd5b806001600160401b0316886001600160401b0316111562003a4957604051630f2b74f160e11b815260040160405180910390fd5b806001600160401b0316876001600160401b03161162003a7c5760405163b9b18f5760e01b815260040160405180910390fd5b5f62003a8d8b8a8a8a878b62004074565b90505f7f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000160028360405162003ac39190620053d7565b602060405180830381855afa15801562003adf573d5f803e3d5ffd5b5050506040513d601f19601f8201168201806040525081019062003b04919062005277565b62003b109190620052fe565b60018d0154604080516020810182528381529051634890ed4560e11b81529293506001600160a01b0390911691639121da8a9162003b5491899190600401620053f4565b602060405180830381865afa15801562003b70573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062003b96919062005430565b62003bb4576040516309bde33960e01b815260040160405180910390fd5b5f62003bc1848b62005236565b905062003c1a87826001600160401b031662003bdc6200228f565b62003be891906200515f565b6001600160a01b037f000000000000000000000000455e53cbb86018ac2b8092fdcd39d8444affc3f616919062004526565b80608460088282829054906101000a90046001600160401b031662003c40919062005135565b82546101009290920a6001600160401b03818102199093169183160217909155608480547fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16600160801b428416021790558e546040516332c2d15360e01b8152918d166004830152602482018b90523360448301526001600160a01b031691506332c2d153906064015f604051808303815f87803b15801562003ce2575f80fd5b505af115801562003cf5573d5f803e3d5ffd5b5050505050505050505050505050505050565b60068201546001600160401b03600160c01b909104811690821611158062003d47575060068201546001600160401b03600160801b9091048116908216115b1562003d665760405163d086b70b60e01b815260040160405180910390fd5b6001600160401b038181165f8181526004850160209081526040808320805460068901805467ffffffffffffffff60401b1916600160401b92839004909816918202979097178755600280830154828752908a0190945291909320919091556001820154600587015583546001600160c01b0316600160c01b909302929092179092557f000000000000000000000000580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb6001600160a01b03166333d6247d62003e22620026a9565b6040518263ffffffff1660e01b815260040162003e4191815260200190565b5f604051808303815f87803b15801562003e59575f80fd5b505af115801562003e6c573d5f803e3d5ffd5b505085546001600160a01b03165f90815260826020908152604091829020546002870154600188015484516001600160401b03898116825294810192909252818501529188166060830152915163ffffffff90921693507f581910eb7a27738945c2f00a91f2284b2d6de9d4e472b12f901c2b0df045e21b925081900360800190a250505050565b7f0000000000000000000000002a3dd3eb832af982ec71669e178424b10dca2ede6001600160a01b0316632072f6c56040518163ffffffff1660e01b81526004015f604051808303815f87803b15801562003f4d575f80fd5b505af115801562003f60573d5f803e3d5ffd5b50505050620017e46200458f565b5f8281526034602090815260408083206001600160a01b038516845290915290205460ff1662001844575f8281526034602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b5f8281526034602090815260408083206001600160a01b038516845290915290205460ff161562001844575f8281526034602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6001600160401b038086165f8181526003890160205260408082205493881682529020546060929115801590620040a9575081155b15620040c85760405163340c614f60e11b815260040160405180910390fd5b80620040e7576040516366385b5160e01b815260040160405180910390fd5b620040f284620045eb565b62004110576040516305dae44f60e21b815260040160405180910390fd5b885460018a01546040516bffffffffffffffffffffffff193360601b16602082015260348101889052605481018590527fffffffffffffffff00000000000000000000000000000000000000000000000060c08c811b82166074840152600160a01b94859004811b8216607c84015293909204831b82166084820152608c810187905260ac810184905260cc81018990529189901b1660ec82015260f401604051602081830303815290604052925050509695505050505050565b5f620041d783620034ec565b9050815f80620041e8848462005236565b6085546001600160401b0391821692505f916200420e91600160401b9004164262005314565b90505b846001600160401b0316846001600160401b03161462004297576001600160401b038085165f9081526003890160205260409020600181015490911682101562004272576001810154600160401b90046001600160401b0316945062004290565b6200427e868662005236565b6001600160401b031693505062004297565b5062004211565b5f620042a4848462005314565b9050838110156200430257808403600c8111620042c25780620042c5565b600c5b9050806103e80a81608560109054906101000a900461ffff1661ffff160a6086540281620042f757620042f76200528f565b046086555062004379565b838103600c811162004315578062004318565b600c5b90505f816103e80a82608560109054906101000a900461ffff1661ffff160a670de0b6b3a764000002816200435157620043516200528f565b04905080608654670de0b6b3a764000002816200437257620043726200528f565b0460865550505b683635c9adc5dea000006086541115620043a057683635c9adc5dea00000608655620043b8565b633b9aca006086541015620043b857633b9aca006086555b5050505050505050565b60068101546001600160401b03600160c01b82048116600160801b90920416111562002efa5760068101545f906200440c90600160c01b90046001600160401b0316600162005135565b90506200441a8282620034a8565b15620018445760068201545f9060029062004447908490600160801b90046001600160401b031662005236565b62004453919062005451565b6200445f908362005135565b90506200446d8382620034a8565b156200447f5762001648838262003d08565b62001648838362003d08565b606f5460ff16620044af57604051635386698160e01b815260040160405180910390fd5b606f805460ff191690556040517f1e5e34eea33501aecf2ebec9fe0e884a40804275ea7fe10b2ba084c8374308b3905f90a1565b5f8281526034602090815260408083206001600160a01b038516845290915290205460ff166200184457604051637615be1f60e11b815260040160405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b179052620016489084906200466f565b606f5460ff1615620045b457604051630bc011ff60e21b815260040160405180910390fd5b606f805460ff191660011790556040517f2261efe5aef6fedc1fd1550b25facc9181745623049c7901287030b9ad1a5497905f90a1565b5f67ffffffff000000016001600160401b03831610801562004621575067ffffffff00000001604083901c6001600160401b0316105b801562004642575067ffffffff00000001608083901c6001600160401b0316105b80156200465a575067ffffffff0000000160c083901c105b156200466857506001919050565b505f919050565b5f620046c5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620047479092919063ffffffff16565b805190915015620016485780806020019051810190620046e6919062005430565b620016485760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000cb0565b60606200475784845f856200475f565b949350505050565b606082471015620047c25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000cb0565b5f80866001600160a01b03168587604051620047df9190620053d7565b5f6040518083038185875af1925050503d805f81146200481b576040519150601f19603f3d011682016040523d82523d5f602084013e62004820565b606091505b509150915062001ea28783838760608315620048a05782515f0362004898576001600160a01b0385163b620048985760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000cb0565b508162004757565b620047578383815115620048b75781518083602001fd5b8060405162461bcd60e51b815260040162000cb0919062004e1d565b61091d806200547a83390190565b6001600160a01b038116811462002efa575f80fd5b80356001600160401b038116811462003556575f80fd5b5f805f805f805f805f806101408b8d03121562004928575f80fd5b8a356200493581620048e1565b99506200494560208c01620048f6565b98506200495560408c01620048f6565b975060608b01356200496781620048e1565b965060808b01356200497981620048e1565b955060a08b01356200498b81620048e1565b945060c08b01356200499d81620048e1565b935060e08b0135620049af81620048e1565b9250620049c06101008c01620048f6565b9150620049d16101208c01620048f6565b90509295989b9194979a5092959850565b803563ffffffff8116811462003556575f80fd5b5f806040838503121562004a08575f80fd5b62004a1383620049e2565b915062004a2360208401620048f6565b90509250929050565b5f6020828403121562004a3d575f80fd5b6200120d82620049e2565b80610300810183101562001210575f80fd5b5f805f805f805f806103e0898b03121562004a73575f80fd5b62004a7e89620049e2565b975062004a8e60208a01620048f6565b965062004a9e60408a01620048f6565b955062004aae60608a01620048f6565b945062004abe60808a01620048f6565b935060a0890135925060c0890135915062004add8a60e08b0162004a48565b90509295985092959890939650565b5f805f805f805f806103e0898b03121562004b05575f80fd5b62004b1089620049e2565b975062004b2060208a01620048f6565b965062004b3060408a01620048f6565b955062004b4060608a01620048f6565b94506080890135935060a0890135925060c089013562004b6081620048e1565b915062004add8a60e08b0162004a48565b5f6020828403121562004b82575f80fd5b813561ffff8116811462004b94575f80fd5b9392505050565b5f6020828403121562004bac575f80fd5b5035919050565b5f806040838503121562004bc5575f80fd5b82359150602083013562004bd981620048e1565b809150509250929050565b5f6020828403121562004bf5575f80fd5b6200120d82620048f6565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262004c24575f80fd5b81356001600160401b038082111562004c415762004c4162004c00565b604051601f8301601f19908116603f0116810190828211818310171562004c6c5762004c6c62004c00565b8160405283815286602085880101111562004c85575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f805f805f805f60e0888a03121562004cbb575f80fd5b62004cc688620049e2565b965062004cd660208901620048f6565b9550604088013562004ce881620048e1565b9450606088013562004cfa81620048e1565b9350608088013562004d0c81620048e1565b925060a08801356001600160401b038082111562004d28575f80fd5b62004d368b838c0162004c14565b935060c08a013591508082111562004d4c575f80fd5b5062004d5b8a828b0162004c14565b91505092959891949750929550565b5f805f805f8060c0878903121562004d80575f80fd5b62004d8b87620049e2565b955062004d9b60208801620048f6565b945062004dab60408801620048f6565b9350606087013592506080870135915060a087013590509295509295509295565b5f5b8381101562004de857818101518382015260200162004dce565b50505f910152565b5f815180845262004e0981602086016020860162004dcc565b601f01601f19169290920160200192915050565b602081525f6200120d602083018462004df0565b5f806040838503121562004e43575f80fd5b62004e4e83620048f6565b946020939093013593505050565b5f805f806060858703121562004e70575f80fd5b843562004e7d81620048e1565b935062004e8d60208601620049e2565b925060408501356001600160401b038082111562004ea9575f80fd5b818701915087601f83011262004ebd575f80fd5b81358181111562004ecc575f80fd5b88602082850101111562004ede575f80fd5b95989497505060200194505050565b5f6020828403121562004efe575f80fd5b813562004b9481620048e1565b803560ff8116811462003556575f80fd5b5f805f805f8060c0878903121562004f32575f80fd5b863562004f3f81620048e1565b9550602087013562004f5181620048e1565b945062004f6160408801620048f6565b935062004f7160608801620048f6565b92506080870135915062004f8860a0880162004f0b565b90509295509295509295565b5f805f805f8060c0878903121562004faa575f80fd5b863562004fb781620048e1565b9550602087013562004fc981620048e1565b945062004fd960408801620048f6565b935062004fe96060880162004f0b565b92506080870135915060a08701356001600160401b038111156200500b575f80fd5b6200501989828a0162004c14565b9150509295509295509295565b80545f90600181811c90808316806200504057607f831692505b602080841082036200506057634e487b7160e01b5f52602260045260245ffd5b838852602088018280156200507e57600181146200509557620050c0565b60ff198716825285151560051b82019750620050c0565b5f898152602090205f5b87811015620050ba578154848201529086019084016200509f565b83019850505b5050505050505092915050565b5f6001600160a01b03808816835280871660208401525060a06040830152620050fa60a083018662005026565b82810360608401526200510e818662005026565b9150508260808301529695505050505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b0381811683821601908082111562005158576200515862005121565b5092915050565b808202811582820484141762001210576200121062005121565b5f63ffffffff80831681810362005194576200519462005121565b6001019392505050565b5f6001600160a01b03808616835280851660208401525060606040830152620051cb606083018462004df0565b95945050505050565b5f6001600160a01b038089168352808816602084015263ffffffff8716604084015280861660608401525060c060808301526200521560c083018562004df0565b82810360a084015262005229818562004df0565b9998505050505050505050565b6001600160401b0382811682821603908082111562005158576200515862005121565b5f6001600160401b0380831681810362005194576200519462005121565b5f6020828403121562005288575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f82620052b457620052b46200528f565b500490565b8082018082111562001210576200121062005121565b634e487b7160e01b5f52603260045260245ffd5b5f60018201620052f757620052f762005121565b5060010190565b5f826200530f576200530f6200528f565b500690565b8181038181111562001210576200121062005121565b5f816200533b576200533b62005121565b505f190190565b6001600160a01b038416815260406020820152816040820152818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f6001600160a01b0380891683528088166020840152506001600160401b038616604083015260ff8516606083015283608083015260c060a0830152620053cb60c083018462004df0565b98975050505050505050565b5f8251620053ea81846020870162004dcc565b9190910192915050565b6103208101610300808584378201835f5b60018110156200542657815183526020928301929091019060010162005405565b5050509392505050565b5f6020828403121562005441575f80fd5b8151801515811462004b94575f80fd5b5f6001600160401b03808416806200546d576200546d6200528f565b9216919091049291505056fe60a06040526040516200091d3803806200091d833981016040819052620000269162000375565b828162000034828262000060565b50506001600160a01b038216608052620000576200005160805190565b620000c5565b5050506200046c565b6200006b8262000136565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115620000b757620000b28282620001b5565b505050565b620000c16200022e565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f620001065f80516020620008fd833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1620001338162000250565b50565b806001600160a01b03163b5f036200017157604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f80846001600160a01b031684604051620001d391906200044f565b5f60405180830381855af49150503d805f81146200020d576040519150601f19603f3d011682016040523d82523d5f602084013e62000212565b606091505b5090925090506200022585838362000291565b95945050505050565b34156200024e5760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b0381166200027b57604051633173bdd160e11b81525f600482015260240162000168565b805f80516020620008fd83398151915262000194565b606082620002aa57620002a482620002f7565b620002f0565b8151158015620002c257506001600160a01b0384163b155b15620002ed57604051639996b31560e01b81526001600160a01b038516600482015260240162000168565b50805b9392505050565b805115620003085780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80516001600160a01b038116811462000338575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5b838110156200036d57818101518382015260200162000353565b50505f910152565b5f805f6060848603121562000388575f80fd5b620003938462000321565b9250620003a36020850162000321565b60408501519092506001600160401b0380821115620003c0575f80fd5b818601915086601f830112620003d4575f80fd5b815181811115620003e957620003e96200033d565b604051601f8201601f19908116603f011681019083821181831017156200041457620004146200033d565b816040528281528960208487010111156200042d575f80fd5b6200044083602083016020880162000351565b80955050505050509250925092565b5f82516200046281846020870162000351565b9190910192915050565b608051610479620004845f395f601001526104795ff3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610081575f357fffffffff000000000000000000000000000000000000000000000000000000001663278f794360e11b1461007957610077610085565b565b610077610095565b6100775b6100776100906100c3565b6100fa565b5f806100a43660048184610313565b8101906100b1919061034e565b915091506100bf8282610118565b5050565b5f6100f57f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e808015610114573d5ff35b3d5ffd5b61012182610172565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561016a5761016582826101fa565b505050565b6100bf61026c565b806001600160a01b03163b5f036101ac57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516102169190610417565b5f60405180830381855af49150503d805f811461024e576040519150601f19603f3d011682016040523d82523d5f602084013e610253565b606091505b509150915061026385838361028b565b95945050505050565b34156100775760405163b398979f60e01b815260040160405180910390fd5b6060826102a05761029b826102ea565b6102e3565b81511580156102b757506001600160a01b0384163b155b156102e057604051639996b31560e01b81526001600160a01b03851660048201526024016101a3565b50805b9392505050565b8051156102fa5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f8085851115610321575f80fd5b8386111561032d575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561035f575f80fd5b82356001600160a01b0381168114610375575f80fd5b9150602083013567ffffffffffffffff80821115610391575f80fd5b818501915085601f8301126103a4575f80fd5b8135818111156103b6576103b661033a565b604051601f8201601f19908116603f011681019083821181831017156103de576103de61033a565b816040528281528860208487010111156103f6575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f82515f5b81811015610436576020818601810151858301520161041c565b505f92019182525091905056fea264697066735822122021e23b4641727aa4aa8fd2d3ef7960a43cab420d4c8632503bedc3eb2d30690764736f6c63430008140033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220870b2736247e402809e4591737e06349b1c58e8231c635707d5b94ff8daab9f164736f6c6343000814003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e030f5c40fa7ec74077d6d49bb4c942070bc70e04dff5932e9658d6d149400701195dcc03f0fac421c4e95768da828785fce03898c8e80f6bce05c2d4492ceb12e552487002193c7d03fbefe0e0cd345781aaaca5ab7f64c978564a2e155090a8967e888f15c3daf0c403982294d5eb9affe2f3550a59be0fc7a72d25963b819287a635d0938663404eeb03fab6a9262fcd2cf56eeb912002acd0a60b4552866c4c540d044499eb7c9d080d03e5a494175bda9e3729f21d6b3b0b333a2789e73d5ec041987f9f0f9b116b0cc103ae44a4a49349fb4a898de4394fc974daa602a2e562056fddce07b8eacc8ec2f503f1515ece9600f0e97390ce15c1b2f913cd357b105ae3232fc1c6a9a99ab0702d031d17d395d8c2d97bc6db18a6ceae0be5427fa3aca1d9c1c38e1c1ea22339ca8503ad749491a3944c97d150b781cc432a90864a1c58e59d6130aa46a2d7e66ec528037b1da3cb21b5535e6da1ed68595ad0b4eba03505c1c7c1397719f8fdb2df27c80219ffff0319f3a4d5defe1c7b12661a12fe58a534c01d93147b9896e0b5d8a19ab8a8363c03065ba2f448f037671da6844ce84dd1e12cab050b85d398f3f2b32a6bca44852b0397380365b802f315cc5f760f9f7753a40237ebe19fd4e450f0233afe83b1f79303472b7b3a9a6bee871035b9372a97c7a0f42f47ec965c9abbc1b7ae703364683703500add61e230ce3b4e419666b5f3a5c813e8bc4e36e759433a124447aff3d30203c6c33bc5079ae69cadf28fd4db5c2260993f8d8324f4f4938f8de393b00fc8ce03e2daf5a07d1c5fc2766cca952346c37080e0f50fb6de7a2fd8fbad631702929803921a4f492b64345cf2eeb24eb9096ee9c9ef6956b65ccce350c49e1a1d4c01a903a49b91b89ec31953e721af848e11c447afe43f0f29eb26b7ea22283d40e5516d036a3102bf14389370470aa9cb4c73123e43ece3a61174ece4145f70743804f27403f5d695cd0b59e591a9f22281a35c062c90024dc004244400c70ad063a6639cbd0341ddcbdfb21692e1585091960e25e6f98ce4364ae9f3f0eab3c65f81e443d2eb03382eeb54f24e84be90710cd3347d3ffcc79420f439f9dc668b2a4df3cb64146503670f12fffc0f79b7bcf6b8cda3b387186b1e23adb770a6b5ee8d5bf420a85ea003325995031b4775974c9cfff58b1c5312651fb3cdf1bdb9b8e60dbd1c48deedde03f38ef326eb0a9f05c6c613e52ccba12091d98ea13608af8bd91c537d29df045903ca6e3956b957398792a777d28f9ea57bbec50ffe0174145eb49c892d0fcf9c6f033c7eb4f4a6eaadc3eb4028730c7a4a963ce0b1210009fed815dcafd3585f73dc0300ec06532d99f3872d7237890f5e05449b8cb59a46745edb01b240a21c9f676003559f7f4538ce5d8c62820074ac7a9997dd00e988c7218aec44ec865f9f026eb703be0a3595eec9e46ebc3871ac8761461a7ec278827111a195c30f6e6a9334f6a405581e03b2b98c07b4aab760618877f3606afcee446d8ff68f79b559b3827302f0041203afbdce1667e88371da8d824530735344e90e6065589c747bcab006161489683103225e2fa34d458566d88f4a955d933804fe80f8249aa88c7c279f56a731747bf305581e0336fa1176e2c719cc4434efd4e14a58e3e7a17a67cd307c2e4dce36fad004020331c4d4afc3bf55d7607239dd1a6832f4d727c7446e3b67e875b30c154ae63726039849be5fb18976fd4f7fb46f17420960a629723b14f134d867780b281ceac19d05581e03bd8fbaae456c1f3e4fcdeffc376b8e3cead08bbafdadd6896ccbbe5f000c0147035252a7da8b9a03795deb1782c8cfbef844ad099e589d6fe4bff51a57550e67252e7207bd4dbc1a0459112160806040526004361061003f5760003560e01c8063116191b614610044578063119d735e146100815780633ab65506146100dd578063ac5288ad146100fd575b600080fd5b34801561005057600080fd5b50600054610064906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561008d57600080fd5b506100cf61009c366004610db5565b6001600160a01b038316600090815260016020908152604080832085845282528083208484529091529020549392505050565b604051908152602001610078565b3480156100e957600080fd5b506100cf6100f8366004610dea565b610112565b61011061010b366004610e66565b61013d565b005b6001600160a01b03821660009081526002602090815260408083208484529091529020545b92915050565b824211156101925760405162461bcd60e51b815260206004820152601960248201527f57686974656c6973744d696e7465723a20746f6f206c6174650000000000000060448201526064015b60405180910390fd5b881515806101a2575060018b1515145b61020d5760405162461bcd60e51b815260206004820152603660248201527f57686974656c6973744d696e7465723a2063616e6e6f74206d696e742060306060448201527520666f72206e6f6e2d45524337323120746f6b656e7360501b6064820152608401610189565b3360009081526002602090815260408083208a3584528252909120549088013590610239908a90610f37565b11156102955760405162461bcd60e51b815260206004820152602560248201527f57686974656c6973744d696e7465723a206275796572206c696d697420657863604482015264195959195960da1b6064820152608401610189565b6001600160a01b038a1660009081526001602090815260408083208c84528252808320818b013584529091529020546060880135906102d5908a90610f37565b11156103315760405162461bcd60e51b815260206004820152602560248201527f57686974656c6973744d696e7465723a20746f6b656e206c696d697420657863604482015264195959195960da1b6064820152608401610189565b600061036e8c8c8c8c8c60048060200260405190810160405280929190826004602002808284376000920191909152508e91508d90508c8c61074f565b60008054604051639cb9f9d360e01b81526001600160a01b038f8116600483015293945091921690639cb9f9d390602401602060405180830381865afa1580156103bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e09190610f58565b90506104248285858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525086925061079b915050565b6001600160a01b038816610555578634146104945760405162461bcd60e51b815260206004820152602a60248201527f57686974656c6973744d696e7465723a2057726f6e67206e617469766520746f6044820152691ad95b88185b5bdd5b9d60b21b6064820152608401610189565b6000866001600160a01b03168860405160006040518083038185875af1925050503d80600081146104e1576040519150601f19603f3d011682016040523d82523d6000602084013e6104e6565b606091505b505090508061054f5760405162461bcd60e51b815260206004820152602f60248201527f57686974656c6973744d696e7465723a204661696c656420746f2073656e642060448201526e22ba3432b9103a379039b4b3b732b960891b6064820152608401610189565b50610570565b8615610570576105706001600160a01b03891633888a61081d565b8c156105e75760005460405163ec1b14ab60e01b81526001600160a01b038e81166004830152336024830152604482018e90529091169063ec1b14ab90606401600060405180830381600087803b1580156105ca57600080fd5b505af11580156105de573d6000803e3d6000fd5b50505050610674565b6000546040516328165e7360e11b81526001600160a01b038e81166004830152336024830152604482018e9052606482018d905260a06084830152600260a483015261060f60f31b60c48301529091169063502cbce69060e401600060405180830381600087803b15801561065b57600080fd5b505af115801561066f573d6000803e3d6000fd5b505050505b3360009081526002602090815260408083208c358452909152812080548c929061069f908490610f37565b90915550506001600160a01b038c1660009081526001602090815260408083208e845282528083208c8201358452909152812080548c92906106e2908490610f37565b9091555050604080518b81526001600160a01b038a8116602083015291810189905287821660608201528c918e169033907f9458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3c9060800160405180910390a450505050505050505050505050565b6000338a8a8a8a8a8a8a8a8a466040516020016107769b9a99989796959493929190610f7c565b6040516020818303038152906040528051906020012090509998505050505050505050565b6107ad6107a78461087d565b836108b1565b6001600160a01b0316816001600160a01b0316146108185760405162461bcd60e51b815260206004820152602260248201527f57686974656c6973744d696e7465723a20696e76616c6964207369676e617475604482015261726560f01b6064820152608401610189565b505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526108779085906108d5565b50505050565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c829052603c8120610137565b60008060006108c085856109aa565b915091506108cd816109ef565b509392505050565b600061092a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b3c9092919063ffffffff16565b905080516000148061094b57508080602001905181019061094b9190611045565b6108185760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610189565b60008082516041036109e05760208301516040840151606085015160001a6109d487828585610b53565b945094505050506109e8565b506000905060025b9250929050565b6000816004811115610a0357610a03611062565b03610a0b5750565b6001816004811115610a1f57610a1f611062565b03610a6c5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610189565b6002816004811115610a8057610a80611062565b03610acd5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610189565b6003816004811115610ae157610ae1611062565b03610b395760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610189565b50565b6060610b4b8484600085610c17565b949350505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610b8a5750600090506003610c0e565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610bde573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610c0757600060019250925050610c0e565b9150600090505b94509492505050565b606082471015610c785760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610189565b600080866001600160a01b03168587604051610c94919061109c565b60006040518083038185875af1925050503d8060008114610cd1576040519150601f19603f3d011682016040523d82523d6000602084013e610cd6565b606091505b5091509150610ce787838387610cf2565b979650505050505050565b60608315610d61578251600003610d5a576001600160a01b0385163b610d5a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610189565b5081610b4b565b610b4b8383815115610d765781518083602001fd5b8060405162461bcd60e51b815260040161018991906110b8565b6001600160a01b0381168114610b3957600080fd5b8035610db081610d90565b919050565b600080600060608486031215610dca57600080fd5b8335610dd581610d90565b95602085013595506040909401359392505050565b60008060408385031215610dfd57600080fd5b8235610e0881610d90565b946020939093013593505050565b8015158114610b3957600080fd5b60008083601f840112610e3657600080fd5b50813567ffffffffffffffff811115610e4e57600080fd5b6020830191508360208285010111156109e857600080fd5b60008060008060008060008060008060006101a08c8e031215610e8857600080fd5b8b35610e9381610e16565b9a5060208c0135610ea381610d90565b995060408c0135985060608c013597506101008c018d811115610ec557600080fd5b60808d019750610ed481610da5565b9650506101208c01359450610eec6101408d01610da5565b93506101608c013592506101808c013567ffffffffffffffff811115610f1157600080fd5b610f1d8e828f01610e24565b915080935050809150509295989b509295989b9093969950565b8082018082111561013757634e487b7160e01b600052601160045260246000fd5b600060208284031215610f6a57600080fd5b8151610f7581610d90565b9392505050565b60006bffffffffffffffffffffffff19808e60601b1683528c151560f81b6014840152808c60601b16601584015250896029830152886049830152606982018860005b6004811015610fde578151835260209283019290910190600101610fbf565b505050610fff60e983018860601b6bffffffffffffffffffffffff19169052565b8560fd83015261102461011d83018660601b6bffffffffffffffffffffffff19169052565b50610131810192909252610151820152610171019998505050505050505050565b60006020828403121561105757600080fd5b8151610f7581610e16565b634e487b7160e01b600052602160045260246000fd5b60005b8381101561109357818101518382015260200161107b565b50506000910152565b600082516110ae818460208701611078565b9190910192915050565b60208152600082518060208401526110d7816040850160208701611078565b601f01601f1916919091016040019291505056fea2646970667358221220ece763ce9bf89f54f384375a376ca492b7a0b07856cdb62ddc0c0ad53d18b44c64736f6c63430008130033031bc23edcfd88bfbb0d7b5a475b8616e08e1b7023c2d0b390d4dea3a8bf1c41ea034de4219d48d7ca90f75eb445af31061b94a2fbdaf0d839a19dea83076541ef4403fd907290848a6f94fae361756ee6ab677d1425f920ebcd802f376fd810b3d2b003b19a1ad930ad1f298563d0ed3770edc5c9f04739cc48c038e6b1373550c9cadf0303fa7accd1e732965df72337bcc366ae09bb3cb63765ab25917ad125d69cb50c034d03fae9526769d381ae615e779eacffffe3312cc80dba6bb82ed8ca05b31bfa03cda6668753ccd8985d0a9a4da22e823453114be48e4cfa409820c20fd745033b03bf7e4ed9c61ad9d97451783a15626b18b6d11bebdcecf9dd2dcc47291924bc860358907fa0b2f54d1adca14742fa32fe043a8b294a4f0110d5945e13f484f07e61034b54bfecf056f0b43e196357acaf218c29d7e74858e8925befd63391d9a313d10341135adfcc587eb7772cb54018b07238c7408c308bcd278d7e199b1f1424a1bd0315c46c6adf9a55eeed00f8fa32ceff2d43e293e9b6216699174ee877bc2cb2e903d861b12f4d72ba5054338950fcd429257af80e72524f245b57f180c9a236492d0367a9f5dd0601394eae406853f2e20e458df3266906e01646d13c30800cec88660389cdd75f25362ef66352da7200931ec5e79bf78c2ee0ee16ff699b91ff54eee60311b49c5b10f81009b1927ce0473675658ce72d3479c56eb3df17b77879f6d669038816c6642127b69fa6a83d0e864d0762a58fbeb4a9259e8dcd78eefb294bc7db03a70c45b63b4c42ceaa98b603175bc19cddb222e3dc111c13c648d45aae1b8ce7033b877086347cef86c9193be46fefba0a48efcc4301040aeb368006c8bc868d6a00581f03d796a9ae1468f7f400cd76210321f5f311653fa0eb4c06626f48d11abc60410100581f034238fa930e1afac039e06fd0962801cd4bb16af7edb710b3efd9e1e601304101021920200367e370dbab481e73c69cdd963c915461d6788ca9c847a1af73eb9cb91abed6ea03ea4487830316d36c4728da8611550d9225f07e03e8dc38fb008fe962b50a9ae90375241583262c8b8088a7b40d2496bc67c8cff2ab5821356724f0dc4efdd928c303f3593d6883dd81d6caa1141b70c4f1661a4804d191ab3690dc1be80f9df3f8d6034b95873998f0a4e21a7a99c6ebedfe96fb652f6c7c32f431e7059a549438ff280219fbff03afb57792c1db30070fcfd9e5124aa100aed8b28348248a67548c4c85dbe79bcf03c35397d931dc5946d97ab4af8b32fb4fa93cfc954f84547413595698ca7c663003ab8d6ace8271e2d703cb2478c2014e2c2bf0677329d2e8be64f24f87271a6eff03cea4212bdc6edf659b74e3b678bacb873cae475fc49e59bc4c2a299c4e34f5170314ede084540cdf86e1ca97fdf86cb8fb9870200a6b972af7902fc8a1f15ed9a503a14e8f254662615721a92cbdfb069f5453f4960ae9288569c46dfcf28b44e0610219ffff03dd2815793d7a720d62342531ef1f912b15588d2bb69c3601338c7653a5075acd031286278a5cac2199b19cac748cd2a2b5126dc38dc6fc8ab8340aa6e6c1f6d54903a7b97d8f1fa099922d19451bc3c134cd56461dca1aeb2d861de4e4606b65daf203fdebd415cb76d2716c5a22b09a9e370955d2bba4a8b843bffaf77f51083ecce50364da0e59eb2a4492561f068555107c012c5cad95e752a545f500a67d7fd7efff03a1680b13d3446b5e41818e7be4fcbb558c41b92e2061f7938db7e1d0c7d06c91038a30547a67a45544986b116ff251809f7813fa730faeb05e95cf3e87bde530730368f21d2ca696c4375157298d9d02078356128df1eb38ea229097dc36efee0b1d0399d239a0423f0ed85514536d88a9407130f8cf9a241d4c33db1c69e8a06c804a03010454075eb078157b8107954686a1c6519ffb4d3f0195f80df671f4fab6069f03b0c3b5e6490a41d5fac95c097d3f702bcfff218331cde96ba8b1bd79df4f1c3d0342bf4485d77113478f26207db7a14c696dfe351695fdc59494ce526d58dac23303360badb196b1a16cb105172e3590cefcb8e08fca0ddb2ff68a3002b126dd5668034613bcfa3f29bc6c9c9274d2b1095f4a33dcf2c8fcef3a0eb9b5f9c3f90dc4be0379618cd6f98570a88b79f08fea18183f564b649a2f8b976069cee09e2d1a3ea3039b0a78120653117b8afd567683be8463f2c52f35a6682807a884660081a1d0ce03f1ed618ed7b5635da61bba606977fabb5260f61c106884048ad409a7130066430335b10b5d0f0d02f7833158aa72c4e39d1652896796a60e296ec280151711f39b036e650ae863f1feadf2a02461f12729eec4d08658409c167f70077f57ab3ebcf603aac47e4f2c3829989cdd960dbbf027d4d5b74739942cf5819d134428b3f613a60344aa760a42dec09ab5fb5454bf0c5b84c1d5750ed29cec36970c70fa9f5f889d03351a0a896f7fdcb50f95f62f918f007289a2b41dc59f9c604a7170e180668f5e039d64994b1f99e6951808347ba3413abe486d7a043c86607197d98e9b5a3ba58703af01e9319d7f5534b185c610d57ca5ec4a1a8591c939fd1615b14c7377fda5e6037cc4cff98582dfa87c716df78feb270fc754e4c3cd1bf989bb64fa30b605ae63031303840fa428949ab0926226df3b7d162ae890e1fe8afbda26f81b6bb2cedaa90395b11396071eb1b62872a8ba5be1aeae56f8bcb776336e0cc38ee826967cac2203081f3c68577eba37452ebf02e6cc07f28b1911119e9d29de501f479e92061c73036158a2a6589c9620397f8643344c5d1e87590297cd406f121d9902b46f3e5b3000581f03e3bcc346e4b5de3c69bead7acb8c7d6a5f8176eaf0cdc27ee16d4fb2a1c0410100581f03f1c94a1e3d2124f586e7ee5f0d6fc792b1463a62351a079617222a4047f0410100581f0315c10f32e7bac499a13034cf253d36d24a2c8aa577eb22981fa9bc45ee50410100581f031d55069eb31dee896cec72d6c4eb12e18d9eb6458121943ce9fc9a67e4b0410100581f03330e8f00f58a2ab679f84548a8a2a77f308159ba06c520fee504800b95a0410103a60023811b63781369ea67c71ef9c2e3012f8fcd4e848847e234f7b7fc677cb701410003c6976260c0445388edd15ee72f8277145fbe117402e1c3086cbd4f3d77be2be101410c0219b9810311bb076ef00a2fd1b56580a6efe3d375db01276191ce68134098adb8217fb8c6039b198ee2014500c1cd0f57f8e19fa083bc3243032f426c7517df3e85b64fcc6a0367b56521de099243c724ccee30f1214cbdfa85d6cc9bdb7997214011cbd0224f0325a837bce43c31f6eff164c0af7b9f8c233cc5398c1db618024a9b33d24350e403d162e195cc3ded91ee3f7730d85513004dcaa355a2b4d14fe41970918915f83403a94b5456dfebf8b0dbb2aa3d3b1f934053935a39e8f6bc5ff32d8ee57b7282d40219feff0343d6486b1e42f0c8c39aad4ebcdb5096afd368da41230f9a003f4e9c2e7e08be0348b2f8893638b16d6f475271d0080e6b46fae238a297b836065540082a15bf2503409db5c1d8fd2fc1dbfe134ffb0da61d5731099e8ea4af2354b4b2a1350b82400219ffff039226a7e0b41aea28fe8b6d9c1aa47b350e547072dd40e3dfb1abfa100a72e6f603fb2a4fa87960a9ef2632a13e8487f51d69db5de71bd0ac56510a6b77253b8af103af95005868a13d07d7eb32c83cfc42831827e33ec72ac08fda8e8f12b15dcf24034a6725c0be3805ba9b710ce9e728fb2500f301ce0d70e5e561a05864edf927830219ffff0322288a0c05bda8726eb593867b03fb62c87040161fc303e1e6a5605564a0fd6f033dd6c62f59ad862759b1c789cdd35ceaf843fcb3407c7b79f044fd399725993403d00c5fcab05cedeb2f0059f257307a6a3507f66140f7bf6d24cedfbecbef4bd7036a3a665433e0d85c4d3fb4902ed0aa47b2047270f944c69491a75c9488f260fa03f2d12202105b7385149f7a65be6c0aa6ade1b09513d0f4acbc2062f8f2b3a03f0336dbe0d9314a57ddb0fff5b62391c1607e1006bfacd8f734fc77d5b99e84e2960389fb7b37b69d1b3012daea46390721c6c6ff5502e7f1e602bef8c6b4500c93f503ca50341f38eb9102c45fc37a6ad10b3ac965dccddda11490711331b6d8e9294d03494853b7426ce01a6cfc776b4491f0221a8add6ac926cd7078034e1a39000a4a0355bb2bc0c5c11b50e138302318c3caaa48223ce2dd4c349ceb7a6036b9bd20df03938f8321b1519a44c056c150456e6a7fe103a34af13e36d8864a6c7734b0930d03cd6a272125bbb37d481cfc6b8eb8f2c5909a3cc9b1280bf1a1f708554096f5870339402536ccc9763f6bf2f0f44f0b782aa221f50d99f21473d60ddb25671dff2303b8f96a80d03b3676636f218fc0627e92892676546c000322c9e20dda549e28be03b4fe2e7694728a59bcf43c02dd405d936ee8368a7d0a08a31534485dd328c84f038d9c5d16b8ddaa768dda4a07d6d004ba1569c2e36802d4f4853205046764608403f7e21517c22012d03e03fd68087edda6c7f96ba290bbbc488f8b1f3cc8e8d6be0392e423636ceb1a0aba7227a73408a016a6d1243635938e46b2ca4f2e9dc9460b03816d7a69a27d6f9f9c95f3211c47930c27b56f6b91a2dab05db8df7d8fa3e85d036d8b4a2f5099fa9a28e0265675b1d91585d47c44130cfb4e897e812e17c9788a030c6f3c84bfa8d3e96679a83e2d307cb48e260f937e56d3150516f53cdce4f83503df250d62add6782794884985c7ec616b31c4b71c631e4bb64be9d162dfa86a0603866f3a42d6bba67a648b1816c22ee477d11e16fdbb074b44e2d67dcd3abfe300032b6dcc559e79d4e06f0b9cb2def2637a639b2a2a0577f204e85c070533ade9ff00581f032aacbe4d7a46d72f537feaa9469b10237af10ff49a47e0cfb300763414c0410100581f03c1df0d8b3468a9eeb13c692ae65e089197e59602ea3e16818f4203affce0410100581f0324e7f196c786c12f8ec4e55dd14f87b15144b2c7270da1552c92f0ad65b0410100581f035e1aeaed33eda670cff94ff2c9ea9d86fbeff7560ed6256adc77c9d208a041010219225000581f02a65b57c0c016511c535bb820be9fb6ac065ab9cf39aaba779e0d8dbfd7d1410103fd68f5971d5c8188123f8c387654711e60b27606cc4689c17e34148251af14de0320ac1a28a5d7e742c669fce0ad2da029fc8957365343917117403dea6d5912630357cfb16961b0db247fbaaf70446a907c42d982c738a544e31f566c633b000b7f00581f0203575e91308ae2781ec833fd8ad534a84a49fdec5f4aa559f68017f45bf84101034c514f05a1d38c4d6d1579a0e1648310ef77ab6017121547be191643b5c654560219ffbf03ced233cffacc2a2fcd15453af1f694ad9ef63e07da62b7d22356ff45d7c8e30f033bdc7167c639e05247ca644a9956f2ba7ef2b35151b7d300c60c3d026cff57810309714bd6a00ef7e7e31fb408974650eeaa5ae815e04db819262ed4945a458ba10219ffff03a4ca6e26a61b0f042346ca4edbab4d1eed908e1a5c9a5b40b8d661f174e7663e03864c585648ba1294210c16a63479f9a663e9f2df05c5a947a3c0b6556f0b490103f992323dc48137a0ae2b1b005294f8937bba842cebaa37083a835303835fd5950370871459a2db8df300b91c362da69fd78c1440b840062ae6a3abff211b8d3f8f03d0eb15ce1a316389cf7e2687f8650b45762e29f16320e8459e2bc6b74fc0c39b03c732851b764919c6629b1d5acaa8d1cc0ba22af53c4c0466172bbeda25bff5d0037ccaa5a1760060295c9115cd319bf926c83a592706e9825de6a0102cd8077a0c03ca70058c49e575229c508c8b03aba3fbb4daac0ee40eb6d04710ec4257cd66ac03cdc4f404ecbdd15abdb5f34fdefca318e18e9ba201225fedee0195bba543eb6e0399a7f8ad5a10ecd69d69f75e8e0b882cf615ac4222b12318301fb3bab7fcc482032cf836d09afe3d9f3fbacc281522d2f0ca5baaa57f7a5bd103704402706846500302b9786dfab691e491bffcec0857eaf30c209132bf18a8db3f72b9d5d5d5a3cd035b2206c74627f5615d95cbff585b6ff2fff0315e836babf8445433dbab1a9231032ef5eccaad6a085dd9c88957de8e162896c09ba9fda5b5999df6814a2f2e7ced032d1808c2c159029bb4d3e70594bc86927e1f3a4cdc609b3cd808aaaaf8d97cf103d728a64d9a9f9afa44a65a373fc4c72868a910f8e4d8a2ffbfb14a612db065930326efbbc5ca904e8e51c0d4f6621d6be0aa5bb5473716e7b5eac6ac10eff920160390ff7ab12eb02fb55045efd90172e67a34efdcba9b56e68fa3aabc04e8af8f66031ed9cc18b4eed558c756d8ba78cefa60e4ae48b144bf72f663ba8be79b9c861c0308e70419e6bd28568fbbc9f7bd106717c3150bebe3793c314c0c1651ff6ed817031f7405f50c25217e79c37cab7c7cc9c7ee583e6bffe7ff3e761700e8b10c13ca00581e02d2ba17dccf565bd838b0a8de7b36c7858100296b647117ff3564598ec1410100581e029c32ea1c2a8c56583ff7b232bbbab9f35aa925bea1060e0fbec24c30ac410102191200039b610d5e15172bf26d108440cc0b06bb93e604d0c5f497ebf54021d8e4e3dbac01410d0219802003702be5367ce587e84d81b7acd99f6a8b48fb56dab2b5dbda1879c17982f342aa032c9fe737df370076296532e8b3a82769555e1e7cb5b0b7df08d1ad6403f73aa80327fccaf42962412f930c0c3238cc1006b8e4d7a2d911911f5af889311aa9eaee034c67aff97a81d9371771fa6fa5090eb845141cfccf4e50b01924a1255cc86d0603dffb1196667e1d7ec237965dce8a1b9d1fa186ddae115e405e8f9bb1ea20c7d803fb9a3793e19ea24d95abeab5e0dc398d84275e61e8dbac8646f9767dbf2ad36000581f025bc70a44a03bb96609d7c41a819367ca58ed863708c37affd3280332c8e3410103ec252f778735d03fa5d3bcea92601d2a0f75ff0640d45a0cf482d6a8d83c1bea037c4bf435ffd65d0b19b768e744ed80520926eaae973ce6e85a9c27452c210c8f00581f02c0a86a34e61780412fd1754b9a27cac8b29c5163ea19eb5dcac0e674f1504101036eb369536e170613074be563328f2fd0b61459c62548ad006e71d4beffd9ecfe0340b6442035155128167cd11ce679f4f8950c7f95a8fc3d5bd56688298b2c302f03539dc66a2841adf0e370293f92c7269763706c3de99e9e28a4d151b37ecfa09a032670ab12ca474a12fcf7946ec070cbba9a9f37d20ff13a73dfbe3eda7790a0cc0219ffff0312f428e29f43225c10f5c0dddd36375df8d105b6f38598a6d7ab72af7f1a9ca90219ffff035c3d83c19e39da7f1c9bc2b8559eca2e3909471cbebac7b70f631a793c32140803ee7c6f1ba27cc8add1b57eff45e3357c755fdd2c8c4773db0ab03dade55f250d03fd6b517c6381da80832c509851121ef77716da7e55eaab73052131670dffbd3803af5c95ef953ea17ae9b03c3dcf060e883d0a04ed1f223f10ca3549b01c24eb710219ffff03c499b314bf0bcd3302edc7d73955466806189349c5a1af3dbd0bebe1c04a71600367e331793301d337ca54fca89532271636f038b72ddb614f1806e0da9c3923ed0347e4853ebce09ee75dfa47d68e8acfb4d5b9406f23fa85d40acda914846c706c030bfb9a69a568d487e05b407119873dc6fe910ca8fa1d9775083866e99f25c8bf03ebfe9f54d50e4a7169fa0999a4e7a96eb5db54b2e3a4278befd8ffff8f8136e30382169dc6d44134c5882a49b377fa88a36da29590a169c241e5211085779a4a17032e327d6e68f9681181adafac4510ef188d729d7c6775b50ad45274a1011dd648035f2150b48598767e468655c6c1999815411380e7cf4b9eabddf2a564ced16a3f030ebb3b128b50d6d71cfce2d8835ca10b4ff46d2b4ef5b22a9760e6c7906910af0328492af920d3f4a246008b721e8350ddf6317fa3937e4a16f9b04eaaa34b57ae032bb57943ac2e161277b43ae3fb3d9a5641957a4d6c2fa571e187518286ad46020334959aabcf48951f1d6041b10db82678442628b73c899523b0a04bb32f3373e9037c81161b773b373e172b70461efb154e81fc2899be6f11a0c6be6b95719fbbef03cb4b5e36ed26b50fd737a06f9de19bc7be60c62d1f4b1a5f191caf4f572e817a03cc0fe2133dfb2075a52fca115394e2c70e0fd60a8fb462a07c75577bf1e1b70e03ae8f5b636cfcbdba435eff02cd4987df23bc5b74bec527397a93399060a4bdaa03256478da350fe90f7d72c7f379c7f8734ce77d0b8406ce8540c2b18357507fa90354edfb647641a14bebf1fb9575e6e367ae8f33664c0efff1d1f328dcdd83525203e3a9eef6a06f06f1719f3b9e7df293fa9016df839806d611fb2953f6508e2bc403450e0e19029f79c92a03d5b5235c403a9eadc516321149fa3af2e8e432c1824003f4604d592c6a56d3c30b24997b21d6aea59e6c594ff9b67178e825f05b54fdff00581f032340f7f64126986da652c1d06d150aa55e7eb7d0d678582eadbf8fd7d150410100581f03510df30ebd49976075c2fe32c2a7e26f0d139b27c5e063ac06bf6ae558e0410100581f0354a72024e64c22db2b2b7e4e7baa58e72fc1b72dd8708d6f781bbffdbb40410100581f0372958d60bab16a2561ee98810ff4f07cb3be64f57c2f0e44a807f51abda04101021928a0030b2c138c2728fe05e10aa0979831c8174897696469f3a54227031cb429139c350219ffff03727173953153826d3e08fed09afca986c61a6e12f9e489a92484cffca3f381da03f351c970db4cab1d0232b5390664f8457cfdeeee3d27583a3caedd8d450fb146035d79652ca4f42a83d3958eaa3f6cd6688e519599a81b2d0c405cab94f413b95d03a1c513440bf4c8a7916d73d09a3b9da1b40b5fc924def9d2900ba4514e19110e0335caf670767f6e49dc4d53542656cee4bebeca13719b50a68c05aa150e668c4f03354f8e20812d39747a30c7b6e4efb1cfe4f608ce0886c88dbc9415dbeea29663036fc0c985423431f7590049452ef5b2c28b7f371a0deff23cbddec3823a9111ab039751a8953cdd885762afd9667f45b1a3acfe9b8a2764934e7e3a5f663159fbf403b9b7ab4e08e0863445fe9999e291bf19264bf39728d924dd43130b2cd925c34403967c04fdeeac8d440fc8fa82275efe2a974a09114904805467e8de8754514d8f03fc13c8923c3a5c8f1d4dc1f8a3d97d604b98b005b54c6f37879241dc4eb8e2b90219ffff032cdd13260a0a2866b36baaa194c5b36798538643ea6436b09af708e149801739037f0e1be1edf08ef0e6cae3080e62f0d954578b5d444d187f273bc88c8e2b27df036be2dff2c478dd81843fe3955efa299e129b07870fc85e64a4ab98ab6cb179f20316db1c9d692196b95fb8c45e5dd93df6cbdd0deb2300885e249af5ab2d2a42f50395352f3bbc325052aca1a5cff641c7dae2d1f741bb3f7ed3fe1c0d627d2ef90d03d97febe441fe9ab570798b4c2c0a67b30ff17cd541817382e10871584955757d0333b8bb6ee347c8d88e8c6e6e26f027050960609a5859886e094fee8b42913c33036ef5d75d2873d6fbaba09b6587099f442f6d7472b92f9829b92adcf6d4624829030da283c44cfcffb5ad7ec2e12ea1efefd454c4a41cac275e69acf6e035af8e1e00581f0333696cdb859fbc93f3538f30fc19e59c1867b49bdfe82c827dd00f337a00410100581f034ed4aa5813c0e6d41c500d2421e1c0359d277a93312b64f2d1a5cf641ec0410100581f031bcb33f06052c5a3c32e71ed30d70b58e1b1ccdf71177b13ad2a7408ebc0410103dab8e7ea8ab9a52f6b31f786b5b234d4e1820b5a0e61bedbfcde568e482c580c03a8e9250a7a7cd7fc8d9c9a0c280990f27fce8e0a4ab32b999f9dcc39ef707453021911a8030b7c5e20d2e435fd16ebe1a01f91bbb0c6d06b4914f9202f3ef969cc6bd46d6603c0b15da1b806d606d1c6265a08a2c17053b9d67d49445576d1931854361da8a703d6c2c1fb63ea9c109ea67933148b812f9e97cc340284eb4c9f01335e1d9d327103a3676f67735bb45b270eb679912306a724291f9e0ae80c73bead7300723e3b77035372cb485d6bdd2a224bf7371bd756c3d91a70933bce06494fa7c9666bdc3979033dd3d4fabcea670583de264ef2b1194eb0dcc0d4e9951fc72295a33fdc428c4203ec7b62f770f047f71ebe1630ca80c07c07d9867ab15fc33b4a237f76c891e8d30332481e89fee869dd76c7475002f8315d0fc298eea7180d52209c5fe6d39edd9b039b72bf5a5f35b49653f9ef6f868dbaeed61a4b61d4d9073ecd7e8cdfbcb0bce80342439944a1d4964a321c9ce2f3197706d2f529b9f65a29e1bbe7722112ed14bc03cf5721cb79d27f7adee4e20af21ffa737f3e38aff057f25ab9ef894a2e24a1e60219ffff03b48b7353074f71f15df48fdf37d6f7b2f85bf6c8b7273fe200dc3a1dc699c2a103fbdb3bbbcab9f2eefaea9714e3d62eff48e03f27eee42f3fd0a91670b6c9dfc2038b8b0baea8ac0d3ae889821c3f4eb681c43725f09d6e4d2a1d85f657991a933503b6fd45ec1bc69f8e0acd3abc927bc75a25ada59f24fba49687f7e7b6ebb0e396036b7e5fb45eb1dec7ac08290f45e11f5eb287a60e076b77c82af852ed752eec1f03f80912158dea8cfc1be060933d6b6394a1bb1c392325524e80c5deced10f7fda0354e516fed9cdd1cd129e1a2e9ccc13a2c6df5c23ef46558b259a6e8f931b448103310b437aee1e43085abf0e815a8b6d1f836bb4b216f4db67c11b9ca08dad188c03cec4d371d30ae4834ad7f663666acb057286cfe7f2334d447cf28f2d2caa9488036048482f2f252a0bff822d104e80a422da7764bd5971d0690b74f640da3ca6ee0219ffff038faa3bebee772fab51dc2485ae1c036e89247c8a95f111dfd4e029c8018fb28403d6759b383634d9104015aeaef63a092f83d6cda6ba620809bef349cddbb01c0603bc43d301151976bba5e06bfb6dbd19023ddd8069fb5cc515f221ac6079d238a703bd7ff8c7fdc7bc8a71bb4ba33dddc6386f3bf35f4ecc5bb3e0b1243839ebfd72037e9782832a9ba5261cb1a57a3ef0e309b824d062ceeafffb89a074d38d8578a603dc25931057e6d30a14ed5ab43c2bb99ada5e6cfc0e96f83ebba15b9aada293a303a719b229244a22322e8924354fad9bd4cefcb25fcf488a4947554db5390a9e3c031c9ec17d357b83673300657406aacfecad648e2d44bcf252c335983791dcb9b203f21d9f28e3f62f8342e85d925d7f1ec6a95c9f430e17c1d4e43d1a91d72892750372f0523675b230b97a594479a1c8b8f18fdbbae154fa355680296d4fd70ce6e8034599abfd6a2d6763d6a29a2b3353664c102d560fd63ebf3750dcdeb957a0463103abaf7878ea622d2ef8e8d175c06b9f677ef7182806ad9f56ab5b776027def6da033f7a00a37d1aca3c3538355ea33717ece9a8810c9c2f2baef10eee0b02a0cdfc038951dd70447a4352e507d26aa09a3c4334c0ea6f951fe55f6cdc0d9ba838715900581f02d21a9cb0a026ae2713ea8b598e053c404f312c2a769d4371476e5b0dca7a410103aee544f8ed15a1c94e38976f5e6086839dd2646bcdcb684e95fdc9538bf583b40308552c0e1bf76a9ee1d44f4c1ac014c9e802d80ece6c7f318015b6caa70d1cbc00581f0357ce7b7147c2c96612c44f1c3d98ca75045a767354bc0650c2e092e85800410100581f03c53dacdf6b92f1a1d12f45a6a284d7b3975eb1e73bf23d66b75104559470410100581f039c7ce59359a537927dbae7d7783c663016c03630f1612bac8da0364ca0f0410100581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630547127f0feaef8143241a5fac62ac5b7be02ef26a902194601037da8a4d48867815cd919e089d0d5ecfd9898c456a313e10925756291244f0c6b0324fb91ea78d008a9f54544a038363e1567282297d751968d04dea7ceb63842750219ffff0381adcc6119d08fedaf49c4b2f2f2c2507e651d57b6d523e972e38ffe6598af15035e4503e34e85d1136b107429f3e82d298f9186b209c7f0513228b27244521165034a8d7ced70430058e8de2de2a6da1e760013680171217b6118e4080705e4851c039fe83bdf82be6657fd0bd3cb7fdbc0e8312e385f062176360d6214efab5534d7038312214765e47f659bd3a9e3227fc83b523373eb6ebefc2cca5bfafe194700ce0397b451c8f7c779e1274cf0ce1cb635c478ee22ae879e164f271bfa4c1adae1bd03dadac985f53add2f05195709544aab66723082a3658fcfb6aefd9c7a1b0c8ec70339da9629b7d85819eeef21877bd8092ebf8074790acbdbdf09bd4be70c1e08a403decce135ab04963c7a1a4bda32a573985e36d93661103445299a8450eea90bba0381e68cd4f207c55e008f1819c5fef86ff77e3a9f4a56917eaa58cc647df8edb40315a74817b60f75921d148f21228c46d8e5ed14b5aa9e3e8fbc56b6a807a50f4d0362b4810e8afd82dfad44d2cc397f382d6a5eca4899790af3e8a5f614bda89eaa03bc3c5b632538eff62ad333045e68888678163448f0c7f5e381d95a465d08756303553a3fe86b2511c8225f2aba07279e6b3604083e4c7196d400bf13effec2159b03e712af4045c52e44d5fa6f0fceb8b467c2fb25f8d11ee987cfe0fa5abc54d1980219ffff0366beef9df98a53f6984d6613e988662a9dff83263670619accf304a1b5e8d8a603895bced874f78cd0b78ed434c99549e9085d56d64a949546594d2479e73a7174030845274b5430c9e29903c836f370c150eace6e53880c866ca78a2ddad64aa0c603d21db47b633ee0f94545089dc1dcb3dada4d97de34c43a3acf0199dfaa216fca030e7544d1b638366005cedd7ba41e75696f14de026f7855b24a16e7c734942b0f0341dc2e419b430950c531e33c75fcb864bc54a6329c77b0c66383ada01abd996e0219ffff0393ceb587a3d85379825cfc7017fa979b086783c07db8249b9b24a3437ccfaabf03435f13e4e93f8e54981aa4139f85d2266145db636df57940355a647160ca8ea903832e2d1f6523d808fcbf2eadfde5fd6f6c988c2fdd7445f42ef623ea812851c0034affe2c24500be76c4accacfc6cbd95b72f420cd3acd58f466f975e918cc08670336b5b8508ed0bf938b88f37d56c298cdde2d22b721c044545056f1b7df7e07390343987e19f9571d24ef5197cbfbe95c4839cbbdf5fb88ccee31d7060930f4fac903f8e715f437663ead2c0da3c57428cdc90523d0e21cc570e49262521c8b3bd7bf030c2fe7f67dde9b8dcad2af40c9e043e0f2012e8a39abbb38ac0ee8b389b639490340f51998d47ac2585acfa8de6c296b926510a481dc5d5448a9af1a285583d025034b7a55b99c207351c24d8cedfe666aae17e0e5bf7a4d8209a2b9cec2fc68db8d03fe1dbefc97d021df9269c0d041fe2c1085e3f9f86b83b2c8dc855e5d4963db6b035be8214e0299c392ce96ed432a96a00edeae1495d8045f8f602513e0005eeac40398267e60ee1a7f3ccd430cd7a4a41f29c780977f11d69869a1731f9c630b2dee032269b390cd19321a4243284778d2af187180a466a9dcdb16f1d56a416917b80803506df258761ec7a02c03422c018d8bbdc540a1445ec5d7d449ae32185a9e122d03e793e4871e482102c744f5fbd58244b371e5c922b9b97d07ffa52376d3544e5d03d7c5ca8c9e273bb85048d7402f072827c480c3af80cc4425e63dd0aa03c6af7903bc0246f845115f00a44e58d88c44cb1d0ac08e5ef6a93f7be187074741c3971603e1730bcb6dac256b5e22587974d493c7b40ebf55a5132dbafcd4154f4994fb5d00581f0317b859a5403ec3ea3f458a29143d9c236fe8b8f7c99dd6a85b280ef565a0410100581f038c2eb2b13fd08d8df37cbd5251897fef8d0037fb544fc93e3476f147e300410100581f03da1822e78087d0de08a5eeda1c7a03154039d00c13107c22bab7b2496700410100581f0392ead9203eaac942f5fd608d9a91c02d721ef8e7e07b5a0d9259dab79f80410100581f03576d66384511903ce1f034e54d65676dc910dea86e7214f47af224147660410100581f035d87428a00af06b139687986f8fe77444a96ba169dcb60035c8a4a3c4790410100581f033c02c804adaad7c17181cdcf7e28f073a32388b838b3d3b45965b9bf45f0410100581f0300a8aa29936aa6c4b055cf4f88349868bf49cb8646bfb8b6ee3063adc7a041010219b5620307649b360bddccd6dd004b2303e28afb69402d485b82841fcc93d3cef9648a1b039db8d302e1763a235f599dbf542544143aebc4fae9ced1d6226332eb93fd66dc00581f03d49404b95964da7ec57d54019822abbed21180a8b84a61d2e32891499220410100581f03176a819970c16682da5940a6c92ade0beac2bd6f16b927ffcd84a489e0e0410100581f03557338ecad4bba39799993ac446e544f0ee9b6f1351998bfe12de72c5b90410100581f0361632ea9920a72849cb5bb863b057ae706b269c6199903904bdf87aabe70410100581f036106cd6e0f4425f3d1ddf62de3ac67ee05c5c4420640ab8826493b8971d0410100581f031fa5e0788d3a7ed1f7095e8504488bb93f3e8bb1f66f8c4d64272746f020410100581f030767f5d4b3aa2db5572b46f1e3be233042f68eb3eeeffe820e9a7f443e9041010219958a033b8fd7e1ba45d6d870e7fa37aaac93e383aaeae141c214ff67ad50eca7b1f0810344cb45ce4ce08e450e93dc52c5a33c8b6eaadff4f56bd5bab731334b42a86c3f03eb47ec0b35e6bdf04953e8d6ad217da41ff5dfaaf288b0a571ea3172fd5399d903f78aa54b68a4e540de2b609caed2e4d74af030558213e65c58d90c0f8334c7cb00581f0273b0a249e2e3ced58e9d04e069907525c4315c57658c68ae2629d74d2e8a41010372d834eb977d1e7fecc4dfada1a4ffee7f2b874a7effc1962e20691964044c990321a7c1dbf403d4ea01fc11ccf8f4393131e07aa13e1a1f9afdb62251fdf0ada4038698a7fa3d92925e8223fd57168e2dfb1ed2c12566ee17ad927e70eab26c3af50369ab937c99124bfb229a1bca079d5b269279c1e2984aa7e5644fb90e607e90ab031a857cbd0a6a143aece72df3952e1472b8247e601c25a5b0a6418c20c0590d1f0219ffff031f9f0321b9c3dc28687bd8a07e5ae8fe2ddc8decad75d7af6ace1b2b25bc7cd20395a67b8d60e76e6a45a67302016f876f8a208b307c950bbc67d82a5445cff61c03be04ba0e70ce8a125ce2e294ae6112af083d5e629ed9fba8f813cd34663984a80219ffff03da88605e31e306153ff7509c068e6e418a88630a772b4cbfb9f48aa09d4908340315bbb3188c38a8cebc7f7b738e46b1c3ed6ca6293ba98f08929135fe3fca180e0340f31b54e712f7dc1efc698935df569f31cf8d9055ee03c2be6d39d22a1b530603a15c3c92535e9017c362bdf21f2cfcd5de1aa3f826c64be65114087441918fa703f8399226c2423a8940f9c2caa09a8d45944d00200d7ad3c7238b29d51ccf0fcf034eec4c1332c59e5cefae52a22a4a9bdf4c120ac5652ec4a421afde0a774b9e4c03636031baf339f0c1244902afa990b91b8123f143e99d28f375eee844f502696d035da138a47a7439f30450c58cacf56c526198abadcff63df07708a131ef14f1ee0314d5d76fbd23a3242c6cd2696d4696b7bf18a2b80d234cd48356a8815f84096f032b4197ba25dfa83af36be15afcb5dbdc8f5832e392abc229d6ce6c2de177047b037ebfbbb4f1f8b7cf2937a1b85305f022bc7a2c3c10d9359997b66fc3bb50472b0219ffff035f75f69a44e8ab98ba3546091d5ed5c01073334061ffa8d91da5f6c83e0b1f9803884847481a04ea333a92898bd08ba87fbdf13002046d2081b22da9d039713853037242311c0247aa8d6638205a0e35d27e732207ebbe74576fec2208496af1bcbe034f6184c39f0e6087e2b8737b0a26ffcd30e27b8f59bd244e2df3d012511686680341a51841deb728eeba1d6094bfe4995f54e8f653ed810bbc65cb0156cd492960033d55ea46825e4d0c040aa7ab7339954eefb0dde50176810f04b7e4840099cb5a0344c5e490d91e6df469de8a4d11fcbf8635db24bbd0924809298d3f9b3496af8b036d343b7f567a7889848ebd6a4c01c93f96a9c073000e54b80cc31e8f9cfa430503ec720a8062fae872202c178f4bad7a4a76724225194d6bda26516c52f88089c403b8147a6f2d3f78b8fe4d3b06fbfab1aab9da0462ec3e6aaf59a38be57632389c03a1acb57e7da779c2b6ba18f7d988f68e6d1eafe4c37f6b332d027704fa252e15037d56ef1d709481df0eb55b6fe79a459bab41217f1ec8a4cd088349b71ecb5897037c241147da5cbfcfe85b1f1e84cd63b04b478e83790424a516a2da4d76aa5c340350aedc2a4bbe8b28a3e219a5b345b4c2ec0df6e2e99c3f7db52136655d24cec703cd3f1dcb1869e634789e23cb41c5edd33c84119ae3e1dff34e960787aff20a7b0389e8b53a29f1fc75cc9f98894501375c856b54964105fb0bf9d21ad8cc88f3390349759cffc1754e4d617517c088207872e2768f5f0cf5e3279309744284b8bc3903cf64d676bc830565c0c079777d0cb36adafccbc4b60ba5355c0c3e9f18d18c7703f157f3052f33d20f19b158c2bf7fd13b376958d19265610ec46d1fe07eba18490385995d7bef15d7bd68e072701b01e2905ddec80114824a4257082089d6937fe0039f264e842cbdedc68402c4c86157e4efaa84eac97e1e6dd479111d40dec98ed60375a7e06385863a8acdad7389b1b2894b49d1c32b2c31114f2421d6328bfef42100581f03e1858194df9b93d5842683ce5f7fbaeb3620570d45a85684eb828684d790410100581f031ab70c7d9413c8c5178afcab22896b45674cbabebc8a65aa8d0db8efc320410100581f03bee5e2e74ddc3b2ecea03e98095073d474bcf32af29267fe768129267c50410100581f03d6a57742c92abf6d95b858ba76431581e7165e2fd98345774c51e03bb070410100581f0334ec281522a5cd341c03dfca8eacab5e9a98ff30123f607d7072f6747d6041010219018703440c16f1f3531c109a5fee33de8129270aac279b66dcc1ea423526e53423569a0336cb9728e916102ce7a1849057671e77e22e37bc694c957966b91f5efb8f7b8003e7d46cbf5616255caca70d37c945d84fe6a3e4e6d074fdcd88af144bd15afee803232624bf8d77fa99b7180fdb55ba984800ca9eceb75fb178d9fa75497034ff2c0219ffff03a7617586f913385d15bdb10751ffd76c480e832734e2f899cacae2f2696001f1031c6f55eb331a3e7e98ffc07042c69c57fd61e9dab047d69bdf9a329df14266bc03af2486f419d7f8ca732683647351554e4d4800a7381ee22e0ebde05c87185f3b030cac36f48dea47e9890f27f4db4e6fec97e13f8de939397452770b7fccc90234036611759db0af41f50369592a963b36eb2aa57d79b0924bfa0cf32b0a255b16c40219ffff03efcb5eecff4142be80e9a46cec43dc5d8ef8b4e56311577cac6654ecf951c0d503ee54ecd3cf3d3a04f61ac256945432a409b458ec611f8f6da222505c858975a8031e4e329ddd62574de5a2fb2f24e3b7df69f28e26cb741bca1a39196763aabe7a0345b5d4fa675b5bca02ab9b9ec95c1eda4f12da64bfbe9f8c1d00d5e28d9f1aad03868c90a7b666d284f400660a2f09443f1e0edb6967e71acc29b5d24348cce28703f7574a48b19666cac37f54dfe60ec9f740699abbfda90fbc8a558375d96aae630361e53a25b6bba6cfcf90bd630b58cca810063ded346710e3805f11da54c0080500581f025e452594efbbe311bb46f77e39bcc33762e86fff59dacdfdde2b57fde0e74101036c58e0b534482a0fdce7c226b941a07bd63507f47c3d8e6bb32d905c19b6b3a20390279653ff54f3f4ba2dcf9e25cad616028b6553e23258115ef4f1bbc77bcc31034f2bcbcca554e9a0e1f31f4772a023c1b2f0900d097b6d51d43a170bc5e71c6c00581f0242594b75f9eb604afe9dbf2dcd70b3a75484b5f3c0e7268189fdf931b8ae4101031985c05ac7d112aa16a61f87cf047496e76351503eb1e577cc2d3624b7f0f0ad037894714dad6d178c13f25f40d5e7fcc43cd73b29e888e3822eb2f20be517487b03d00f37a01118d4329a8d63417ca532cb733a5b48a61dfd6258f7fe5b6e3c8afe03abbd2c9c3258000b8c0db632f9b4676dd28e98b6bffe92d72f051f7352368e4a03944c7d8006eacda983ed62abaae3bda8c0d9d6907f865cd13f7d2566e4ce98270219ffff030a95dabbd25dd9f7cff08d44a4d12d881f3cd15f5c09cc809f531f6114e01f4c03d8f00407598e3d4c77deeef648e040ed34a747a57d922f96bb73bfb9e24e342d03c43a2b57d3cf1f46344a796c21d5112914ddbeae8b8597f2ac06222901aaee1d030fe48e08827f0e8f764b4a44a8f729d6768f2d9c00a670a68d9abdafb0e88edc0394d87a3fec16fe313adfcd4e3ceb050aa1cb518abbe6f58db8badc5d01aa024f03566ad972f7e68d3d3f03ecd5fff8617d1336f7d3af4982ea3c50766a3c171d9300581f0306c90500570193fdf4ca10da9f7a05dfe541913a46bfc5bcf6924e571440410100581f03726e16c4c886443a05ae2d3af1d3234cf826ad571a721cabdc3abff98f00410100581f035e18d2fb424fbbd9b1efacacb414fc8f7f7ed922ce16e762cc7c4cfb65d0410100581f03c7c3a595c0db2d718de403df929f303013a9d517697d255cb198ae68a750410100581f038fb60beccb4a7a471d4694f202e0746c5b849a3d74535296a5c95bbd4dc0410102199812037a8f7ae0156a9ad64815b54943139067a2b146d3d6d4c1d856140e2f1fdeafcd031a6812b7330f0a77e97549e5342c926a5b34f8e4474cb92dbaaf636e9bb8026403b3c45150a050e485ed1cc0c49abb03c42c772451a09de6993d315974985eaa6c03644531adff6f49136d0a22d8e4ac2780fd2acc29b8d4684c4018c45808159f6b034a045735bfd4b240cae209b82f31edbe23ce6cd8ce1d612159e43f56fe6494cf03729749998b25d03e4f3ca20e18f40a279330995a86063b243ab04c84942ae82f03ffd7ca8e6fc38093a13fe94b59e0ab98803ec0fc06749ac0aec1b2cc4b83a89803cb7476bc040487318fed1e2bf1448cba294d81a8611f3b21c0db05b958dc000503bd09f4b656c3ca0bef5f2c34fb1a5fb88c5b0c1093b4250b0b6d8ffd3d5b28470398c7e07403d1b5cf1e1cf017913977e6bc1f3cf9e9ac92672b924eca923f84760219ffff03ade4e5f16435b524d42fed1bde37dffbb04f7d4fe2a3d871ef191ea5237f6e8403dd2b8b343e3b7509cebce87460bbc73ab8b89281ba252ac77a9f8e511bcd343103ad7eccec7e7c4a114a8618445668f7617364fe42f6e4fd946bd7be7b393e406e038bf523ec86576f9e75c53e48c369b69691a5e245af951b61b2ebd0b5d4f414d503c0713b876ec1a1e9aec48802db62d8caca88f192a3edce827eddd6428e4db3ec03f2eeee4af50ee55827e185a6e150a3c37ae52aa986d1bdae66da697b8a8be52303371ae9f2bfe08194d07bc56e482f47d814de15603ea0f5d3a834ad53888297660332ec0a410570c3fbe4927b661fb29f6ad136557d5cfe923a0d3e2a8f4fd579490321f8486fa67a9cc5a259c768a76cd236018f0c9194912b720c939e09e1d7eb6f0307a61bcf9f93daac977d0cc9bd3405eaf3d30bfb1e3c5f8757282424b73e6ab003f3dd3a58ef9a3c676c4114ee1e6dfa554c552b8484f5adc896a7a06c0c4dd1c003dc9305a34fa693be752c5d583ef0bbecea0a5921f86ae586cddbd905217534690219ffff036452133a88b688b32a2e10d62a9cd20377264bcc4a067ecad1899de4c2ddb19203245775b4cac87448271f752664b45020e1fb938dbccddcc42faa39fcdb59655603d8663f9441333f67df259b47f59b39f966c0f48afd5593fdef87c82fe45fd5f7032bc2e490125f99d48d73857464b63887aa53d01619ecc21765b2538211a6abac03b44e94dcfac6c7de60a20c00ec808e864d438d10e6d57ee6d5ad35ce16163cb903771fff856c0e1e4139e3abae291e766be8a8296fc1f8e8d0dc6cf4925f0e59470304aeef3f026294240ae1ca9a77c33b77a93dcad277bffd2fa58b4c4cda45eef30352008fe8b62dd1c9dc66ab5b9a40568b045313a6a0e00f53100a4402f931b10e03963458c18acb4c9de79cc7c8b818225aa929a2649e46c4546c4264266acb125203ac1ce1f6064ad4231dd3771b9b9710848ce792258d14977819a7c411727170ae0376edb9740e313afa9c6b4697f6e1fd8ed4d9d8947e6570a13eb393c07dc5805003082f7e29c1c06742ce8232c8bb936ae52cbf7c847c8c732f9cffc09c816d5d6203cb3860adb0b632e0314da7befe0ace0957c79199a907f8c385aec599e2cf6e3703958b1a94f3519a27df3ebfb34dadd5463fae8bf3dd5d99038a082ba061b50a07034b432549d77dbc239e049df47bb9e73634896388bbf6c507d5c83d22743f5bc00365964a3382c0de8229b9f3bc38a7865ad310935b51e6a7385f54e4826aa73e37032a5c4688c5ba78fea3e9b4ae00718feb4253eebc746fd94930367c8be4931c3c0357875e1437e839a72929c5b6a7626a1c6fe881b02543e019844e92c9479993cd03fcea144d64399d94cd3055fc08f4849ba8fd9660bc310922289c0b815cc914bc039d4da5d1968bdfef3946a185c350e33a77f4894a2a1f06df7c194c656c9aebc803a3816794d8d3b63649bbe9c2c805a05d0392f326740fc71ee0d98c24c2cc79ed03f64fddf574eaea42134df7c122bec330720e85089cc86a312bce76dcd590d4b003acac9f0ad73e906a261668e2ba833aa5d82c93f1a7d41ada9e035b8b4f4c3d540313a1b1afb3ddf50e82b6d9a6624c6e5a0505fa12e31b3f5a52c6748289e5469403ca92e8bde7974dbb3405051d53181c00c311a8262b41a4f9ccabbae672d6519a0305819aff80f4e2a1b687237dfc17c14038297b6726c9c572dc3570e878c454860344f4c4ddf7fb9fdae58cfed3307d6a948d8050e743cf7517f5fdb58ba88f4dd1039f7832dfc398c6682f3bc1c72a032f2ab13822d8621736385033fef90bb8f9c400581f035ec14e00a15a93f11bdad1a9302a2bb275c5eddcaa2466d0e8dab755b530410100581f03daf006a299982d900354f8771423f668298ed1cec07e7fd41e00f1b3fe50410100581f0318942dc289a50b5e570d9fd47b8fc406f1fa9979ed72575cf123285fdcb041010219802203f19531412071fbaea36d558d0b373c60aa81924a6e6d27786a77b7b387e6c318036b6c05df6edae0c7fd57dcc906a51320cc37cccd7cfa3130a02563e6a754c3e103788d6df699bc30282a86981f15e45ec966041dc49516e028cf88d1f8a6a39b6403f1580a43c4645fe77c66b884248147426dd8e84b62d6f9f8a0cb13c5768d66db0219ffff0219ffff034e1f0abff197ca9df7bf80aee96801a9630a79a68315735b89757f73faca5224031ecc8d9a3b4597d5636abb67e0d5fe367fa40d9e9969aece189bf34391de675c03581bff8d6bbe01d2de9369ac13607ce0ffd51f0096df48c58b563ef946efdbf9034f538eef8c01b9404baa40f6c3e3ab1fcf89c7af3523290a4b4f4aa145c7c77c033f058bea50d9fadf71ca5d80a98f001b0e9a6a0df26d8bb4c0cea28b43b414cb03c1fe471c892dcc78dff64109b47740166414f880a6c89eeaff334f32159e62bb03bcb1de91b46581219d6afa2b0f697581a4f949931b5c51166ab8b3e9a45ddb860318091b17bcc10ca593566f856c17f8956fcd7b6b050f1c549056552c87fa275b0388276ce1e2034bdf7e5df9d4634cc597d0612c95a4d3f1a1a68c00ea49cc60c903a5890228e96be0d9e3cdc3fd6ea99746b573d501e136f919008e5e98e8cbc2a00361b65657a730b70800784158643cb9157e1c7b192fd7fe352ab9389872c049ef0365ed9a4a637695350f8fd9bffc52129b4a7f7aac704bc73f5539af2d81e08b8b039d755f8336bf933ea8ea9b5f1d27f709766ebff60eb302b4ec1fae88f186f1e103b4a43e77155d6aa29ca7dd9ac5d3fce6df882c774c13b06c8f8a416e6b603f3303236a2aec9991b626b6c7efb2d57b399903ea329b3a377ee17db61c14d360a1fa0376d5ba247e31723c78b12187715729488553dc138a0f64879e7b285295dd783903e9541192f318dede8814dbf41ac5c555fe3626cd6ff6f8487b74b0ed0ebdc7350341e94a7e635b0c41c4305f231747feb2b0ca5704e68cee099f91cb6c705151db030dc99c4cf0337d3d99d8559f8d50d3fc1471ff9817da332cc0224d1e83d7f9eb0309195001a8f34d73dd456267931b22b268f967fb051630154f9fb510e70c99d103d599af6722c5c83c2948f7fbdaeba774b5de4787475350f069f7a558c8fa20d103a57243cb0ef767be0323b43f11d94bfa1f7c4c0fd1d501119991f0eb7a7e618603cc624e2a2288591200891c172fa1cc65673049676b0a7f923a5554604fe0205a03c7056add94ea303c6e727c37099d1373afb04f03495f950a6d974428bc10c17f0344601a4295322646d34134bbc7294d9a621d84f525c75f70f3332bff5a1fdab503dcfdc955f77f999fcb31496e08e02c7f00711caed07f48d080e394c03924e032031a0209674e1be4dae0edb7c667eb07b2820d1c7034ee56e84d1ac1257a9f4260037e243e9f881746faa3c7a8bbb91a0be1de8d94552c208d4b34da78f36e708f2b03fa99cd1fe437806a18509c3acc9deaf18f0133b797bf0bbcb86192cb632f74af03b49ae7751377e26c0c49e08e6762ff971ce69a768db506b05cb1e68df7d62b8f039f30f359042c3d49331811b056ceb5c78218e04ea9fedceee006eaa5d4f443a903a219c81029497303348489e7590802425f7731dc45d6258735ef8355be932d0603d57a365b45c2f29a154af3749700d7d4cfee229227f7d6120eb033162d47e9b700581f03d26785e4e82876362e58e8d29f076b62d78f715d400a95775e13492f4480410100581f0337f7d10b52ebc2b392114d712f5d43c0ae3502a2c0edf0e1f0c107937dc0410100581f03b4c45d587eeceb1730df5594f5490bee71fe83f68efdd9c3dfafe6ab5450410100581f035eb09ae9d26e0c815d5c287b09b2c8590ec6e2fc8a42418133627268de3041010219018a0219fffd03a829c91ce3d8ce518a9683e810bfce0a8a5ba4f632dc839d88c6a8a851a5f9a80219ffff033bcb88c5317f62cccc9c6759a199de23045473e73b971f64fa7136c464800e45037605d049e48cea0094e93004beb2c6f8194d04fdb48c1824107904cf714dbd0f036e11002ac9e29e282c03c41678750f517c4b5a814bc50fc85dc25ea2a1ae064a035b6acee5d687a12e08743a4975ba7345d7c5b3856d354046e1db91402c7788e203d78b17c7fbcd7fd40e952865f238f33258b754d6c228c6096c92bcbac5ae18df03bf06fabeeaebd1d678e1fb245b4da5331a3d5ab7a4d497aa3971d541c46e803f0335d18f24d0956f55d5dac972135b4e2a96fccdd4ce9907d8e14f194d5150ef4e036eb22d58ee67e6acf034c7bf5caa6bccdbd1cdcac8bb504a5ab48a2786a4bbfc00581f027aac5d85038c93426ed66700d0df60090502541e42848063cda7602fd879410103eee2bc5cabd91531f03baed0f4d06022b30fddc4ba45e7e58ad0d34c46045437037f084959daeb9628038ea49675bed80cf6f5a7b489e8bb9633c85e09f6f599fb036d03ed4ae7a90d483e40c1051bb65f52641a706ecfdff05fc55c30d6eb0d391f03bf293d79270a278f36b414ee95257149b4ff0b8fdc69699172272100ae94aa2c03a36cb3389e976cb48143b685d3463163d735a86b0f735220cf70c679f9dfd81803b01d142422fa198d77d0e41a2838c2c73b9b64eb1418ded0dac54c41e7b2aa6b03866f49d925e751ef242baf1780e6f8227e47537e5c054c4ba4ac4091de50c96003c39321402f98ccb94789fa33a14196b59dfbf9d4556f83c92c2ea0c564c1214300581f03a5f6df73005425d020e738973b2c40e30b061acfd34bb05234bbd68a8550410100581f036f9aee665cf3ecca7fd8a2a2f9f0aa300dff8660703088ed497a34181170410100581f03d23b0121e47c2dc00ae4b050feb7cb2d305351ac2ad7b636b06e9d3187204101021843033bab3827369c5b3eb931becacabe26ae3fe69c70526647a64dbd64dc64e553f1039da140abb46acce1b327bd1838495b4075be9f53b6a1cb056bad9a02b18e1d9003d6821d644d4435f47dd16338043017a4a5462626297903e0d04bffcbb8ca9f1f039d37657923ab6c5434d123e94c435648cfaca59a8d725505c3e90c83682fd772038877ca70a5276992559308c41cb462dd3093ef143aa00847f13ee300bff148ea0219ffff030fe045d8d5ab4d78432e2cb98586b9172aaacbe6ebd7908b9fc0a8b36cbef109037fa8aeb4e461959f8c7d0feaff8ab1524d0de610a5781878fb863b710c69b3c303d3d6153f56bef71eee9dabc493363e34265276451aedd58160d81fcd37101f5e03737867d48ef9d7a63f88f9d22ebb46ca2dbc54d7af1b278c53e46e9806d99a8703d8a9382d98628ab9526141ea2827aeac5dac7a5c011d89f73ed3ee3e427e09b60344e803ee93470c9a5fcf54e4e960b539e19cfaa9783924fc85adafcb6b07883303a763edcf2b1d97faebbdf942bacb093a63cac14b50107370d0d40ef91be6c2fe038bd6622aa3c6ea1554019cb371de00bd3cccfe5e3a1b4c6fecc6bab5e5f7c70c034eeb1436bd7a4d6bda24a68bbd65c15b97fb729dec305b9f4f4d19145aade69103f31741c58972d34e5461a3d2fcb739e9ac941381636f73411f34211dda6407f60219ffff039e1fe3da843e508461ee3809298f0fdf2a2fc96ecf1743d9d481bf4e9b2ea1520219ffff03bad7a0cb05f213dccb82c0e29f92cb025f0d40c33466ceb3309c72f2ab46c2a4038f58c47af373f493484428ab024e0e78fb7279ff19b23fdff27b14781d8e627203d9d27b88212cadb13c0c55dcaa8cbbd3c24e324bad5cf9b83a856834c9a84e080343b2f8194e2145241180215bbc58d8ebe8dc6cb056014e61ead6adf2e212bffe034b6766dabd4d320d3eb8adf39c289d4a27299155769d231b610fd639ed57df6f0313fc29031f13cfdd235711a06cd42583a234c2898b7421dbd9f0ff563c6133f503ae7b207afd7616f6b9511f2ae0bea181fe0ac01580fce463ce8b50cc79b716fb03c993259ce9f5d4172e734a8beaecc7597fe4e5d64d8e16ed60a12969a7d0b2f800581f024df48ada76a96e60be16e212e95272c7251a1d6374b36ad8d6725ed0a10d410100581f032db26ff9cb9c88f0323ec679a264ce57bc21bee0b2f8ae578840220ed550410100581f0309432dfdd58162b727212677b2aaa4859f7e7518c1db71c3a6d4ff3fb060410100581f03be34ab893a7373c4d7a87fd9b9b0c0074419c09487cd809c6043161c8fc0410100581f03e233be12f97c3513024a95921992eab8c9cca038f52dc6e8185577ea3b204101021934020311b39f8e4d0af06f638d3811298ac281c80f5b4a26dd4bed873f11348136467e034a7da9e951a505d7f849d6e5b98cff0cea510b5de217cf1af6857441e3803feb03243bbf166dd99b89f269e20083e519f5a847c5846bdc2c9248bf449f2e99f4ba037d12f451d663753a8bd165b222b4cd4667a9fe6d4e685eec2bddc0a4857b30b8031e99cc768318034b31c85afe6edd99d343a91320e391dca479fe689b53a1b2600307dd3b875cc0d68694e9b21ba41cb65e4d39d85c45d3d7998a8b11876f3f8a3903bfcf428257b0a774c1d48f546d4db56d368dcca0e30b35806ad6355baf31704b03cadc4f32c49f47624882a5ee695da8182fefbaf4e4a2d08e859a7614b83a24ba03c6d29fd590d04c040f732015e557768d2b4df0d4ce8a4cc00d310ac8eb025b000219ffff0313afc1703303fd4734261656c44d9a8061d91736eb1513549e1da36f53e9f8870398ca1dc676c1ed2096d1275936b376b169a2e6efbc43c83f9b330415f831085b036f6c65d927a3861f7199ce899648a4edd1ae3f8fde6ee3e7ea76c99cf0f119ca0328c50208248b0def74c2f5b4eca4cbee48354b607e071fc55548ef75dfd06ee10372ce148aced42e2b1ebd25a67f7b9d5d03b926338ea2c4a0c9d2003300382529039e1b3586c61d246ab62c87452bf433a0b18794acef1b6e197b509c320d5503b703dd394bf92b8a5da8b67e34d1ae919ba226ffea883b2761bb6a83dc60320053cb03ea2c5868c2b4f216ea4861288041e52c35c887b8670c3a2a630a776a43405342036c5227e287b0fcc112b008f9f9b6e6f089db07a45057bab03f13e8a015f4003d031e8cdcf6387de266308a73f1a1da91b63774dc59647d763492a48b4d02866d1b0377e413aed250b625474c9f28daa6b985369e98775f128c90c11833eb0a9f694703fe75b83355cfca76d3c174a96e9cf8aefa1ef48505f70a635b73efd953feeccf0367d4bbf1958e877df70cb8145b9bc71b2e1c20b67ec49b5dec46373b062416420219ffff0330ef31510bb2044f29c51ba3bff351617232f85e676810bb182f2565bf4730bf03e9ba71ef2991082af4bdeb42f9056228d1768893eadd0b804c8ddbef1486988103b9c4a737d0c1a53bb0567285e05cf924b36331ab2dc3a77e3abcd177a84bd823035c9ea6c85379aa802a3d3a83cca0369d0511079174fb834fe087705392d3a06903d3f52daed1e7528a8683cf6ebe19679d5563f76af9e3f71b5f76f5fdf65517f40394818bef715c237316ab18919084039b1ebfd76b818a6eb2112852bfce9e6c3303659553b44ba9f6bd30a339b90cbd56157339ae976b8254d098113d485c18ec3a039225d6d26ca5e0e3e6a5b3975690a555383ace25f845bd5f2156d0e9432e3a6c039f7645e0979a4f08146933382cb733066b7f8ca55af6281cf2a1bae83815e1c603ed2df164dc3a4722864211e87c10575944b82c7da28cf1b873e94022ebb4c53f00581f02a34ba3f920e44e297a6d625d1043a9dbb7f4268e3acc1c17fcf86eda3e7b410103c23bcd9f5b6dd4bf227756d6367dbca11046704f4c9c3cfc57ce5d4d1fded93e03c8d1bc396a7e3ceec230473568f76e80f2cf9973f9b152a5db741b8635007eb003c3b2640e9a22eb0df8ae9b25d2a3489af304350db42a8561ee697ac727ad8a3f0365dc0fbbfb74fa67aec758e0f8eb2da1f99edf6296065f42913273505868b101031824cef4d5774731491a4495a428f168e30891aa797a136d97f1de13742626cf039bf87aa802d41be87440eac3ec68ae2e212bc899bdaa766962a19f83f335ec1b0219ffff0343a43a992cdf0b308e855a7f2056a725c22a08e01c03f7f6abe00903bf97efcb037be1d6f0fa48ef2ad20acabd5df87ea5467c6d87224f2a6129acc4a76c13994003dec9308727d165c21a500b22f716215853c664d71aec590aeec82a5aae487e880353c714e0ff9ddf6da3ddd553d54659312ed6b0ea894288038871678012127b4a03a8aad617d1c17aac1b891a564a175e89b643d3503a0b344779517cf394e5ca9303768918799ff0a961ded688f1889a4d0f18d3d88b78d339d7c4af189947f4583703ce6c497fbc5d24ec7c12e3fbd80bce248bb151120c7f9094c5225667c05a9533030fe8d3f0126b15f9f8d29459ee73cd76b94d93050163f5737db0d9c7f5a1f5a6037f1ebac82f1dc6cffcc6279a91d64f498e41c71571b452a3aa92e9667266f7070304a3e57fd959777e891a45ee4d8eeae0840b7e1a0ef5c1c08998391f2e19c72303e85a2f4fd0dfc1c1c7af542a01d6e98da98464951272bb05ea98b709c05e061003caf11b1efdfb99fa92cf7943e1d499d07d22414773bcac19ae9e1c3275c195860348aca3f5dae0aef786856a0747330d56cc969a89f8665f75dacc857c464b7e5d03be105bf62902a67368afd1cc381efe17df1deaa1878f63405560d1de6fb01f6103566da5b6a01332afe454b97f7cae223da1f7fedfff0ad345ab2319ea9590e5ae0219ffff0327948c5a9fe42cf11413318b82139472b2022c6a7e8a3dbbca9d9a4c6b3ba5260394ea127236cd28087492290818756dabe82073bd9b51d99bde118c411fca228d0330683c09a33a8b724a0e47d02c57deec0d1eb7add0cde8b929408b5de663a1ab036a90c2ba87ea20a47ca11b502ed2048afe0453365c78dc7fc29c6abfef886b3103fdb40701acef80c37cb9799ed547345fa31c7a31ab9a9f5e6259a88e6b88452a0363d2157be5d53cf384a099a28831425f0591580c9d9f8a2ead7bc910a903a78e0339826ca0d68d55a425998ba0e32d1f67d55b1c7d1df73aad969e06067c7ee0f103ab98e29bdc2d89a772e288a08e19daef3347559d4d94072891710fdaebbea96b03d6cb15a28daeb5c3b5efacad25ec59152ef27e51f9ee5b735ac7c8430ecbdda00361ffb09822b50b1cd1a1e984c45158a3fb0ee58f1093947fffad01ad71797abe03ffaf5099ae35bb4b6a36317320ec93ae2b209b3147c662e03d99fdb53b5d6bf80354270749443798b65210e869888cd6580b0ec268b284c6dca225b34f6d23df1e03a5d037d975030a1fc7df153c14e19dc9b5d5dc3e24177fa771191ad72201a4c3037157dd4704aa37e86b8c4c8d823bd4ed52fc782d824fe3383541e6cde24a0ff303897e3e48cea2956d78ab792434d866824a6b57171782a8b05957b7654e0b7ea70391d4e684252eacef4eaf88b1fc489f4a886e250764a5957879d8a4210f3c51cf030d6f9d8b614d861794803269de4e2b868076796d8399e0b6cbc683632d909fae03f0b8c074664191527b92d6fe76c3ec3337cff6244668f0121f292035c2e8011200581f03ee0e0d9d468b6fd6e8b842f8d858eceb81c9cc20b6efa7a2f0f7f42314a0410100581f0365a0ee81504fd1ffa3e5f429db2fc4a33701d141dc2c66ef36d9a3048440410100581f03d75ea9eaec3b86997c27e00a6e3027d7d6a44cf4fc052be184a344946a40410102182a0376116471cb121472a41b4e373cfb6d228c16742b4d1a951be4b11907a2841cc7038f98e6138b3adc9c50e6734ab8e4422baeaa59cdf6d987af5ede5e9f62f6ac54037fbe90e48eb68451b0745fcecb3c17e02c186774014ec4c19d9e70fecd7a01ff00581f02803684416fe9579acf60f6fccfc481a072f8c66b41c5576b43e4cc4b5b2b410103bd30c38bd17d7dbf705694b4ec9ed3a48137b285ea12b8db67df3a3a3fdf065703b3d9a204e316c020fe30e5723d5619f2985df0e3a442f910c3d9186147d2a1f203e7478030caec7df0b839157b4132d84f4f71c3978a09e311a6e5c8995b69ae1d0219ffff03c0d2d76d7b4c043211a54dd6fe2d66dd11575f7cb3137f1adec0cadd2d11248403761c309dc16587d774da8435d74f5d5976c0f152aece7bfdfdc7d2b7722c4d4503008762b03cdff7123ef0c6c0cec350bbcb2f2b5d2ecc14284c83b285b6e3601803274e1c0c07286e787afce62de24374fb78f83644aa3309c0e767d52226cff74403b2b388dc90716b7621f49568f1257832c9f5093185fd6d16d091dca8b4b624210219ffff03208e2a51272e37417cb346774a4b39d3d2c248d6c6be068ad34f7088f49471de033395941e24ae61c2573f04791d86646032a55d04ff475c9ba3a39a5846259ccb031c2a42b935103113e2b9d922f85d0670ffdf4ec7b152ec581e96466808dab92303b5aa951ee621d1be376699f15726fa2ea92d8c6da0f74b8c64b8e032824c826e03fcb2a4b2f7abb50ceb73bae1d3c2925cd8e996f670cb2d7305bbf608205f8993039bfea7f1ec6c89e12e58c42cbe590ffade608227953d4cbcb6c82b7ac2c207ea032fbb7020cf0bd3d5e2afdd10be4650b2f7009d37a17ba0ef49878ee49ae72f1a0306da1cd86f9240cd904e5c16971322f54912ff80e466b7d97406ce75db7b9059039eb05075092f542d66ab702ed6d3f76c53526919077b675aef2bc78c3c38c5710329d5d0f98c691a7f2d9e017e0ee5b25ca346a77b2de3f55b38e199bcb926dcd50352f6427c82d696eae63ea43186c08154be4ce00cc56d6827178ac4e09d8c1ad303f6031eaaf7068d931884afa7ad54978d0c175d50dbc11d1ca3bd5386500528f703363b9ca4778957754a7ef9707b32059c89a2a4f6cd29fbe9234324890c6e5d7303f5bbbb9c71d9e4baef830fd2c76a3b53da8971bbef0a95edf6bcb32bb5856d1200581f03e4dc42ad24811f80fd5fc5f577a073bcebfe4b5f082d870ecb8640e89650410100581f034f839bcce4415d1a4cb0edda6afd3ec35d35f5e4de33c416999a16abcdd0410100581f0358e2ecb27b1549a408249c66575b3c42e99e8a341abb4669f974c9502db04101020e03c1bc2ee151506b34c3b4e5e5d510a3451de49c702e8dff9ff134e63b92be3b5003de91b576d49e8d825a25cd755f68b4e83654a744c8b50c8a4445a4c3326d908b0363e25613caf8b46472b514019dd3075eeb5e819fa60aa7c1ea36cd2f87ef753a03540c28739403f6c4637175ac86d3cfc368ba21d1d2cdf5b79e6d3fd26cd2fb690306631fea4bcfeec55fbb3355b7c66ed0f0bb780a4caa65bbe65f1b68de14253e03c8a302700c24f60ad4648beec4700e586a4a72d3cd36ac82451271050179f98e03c383e6acefb7f3f0dde2fd3915e6c8c5f9df29a66a10a90bb40405a03ee130df038decea729f9f4a4226ab6c4ecfb4c276f5a8e878d232dba77e6de4c629b9cd1a00581f0272648ea96bee6cc04e1945919f2654b2082ecdc4656eb65bb9b572e4f98b4101032eb3d59122a3e00d1b93affe1bda17c8d28841a53e379e7f44bb4360fa6536af03589a0333bc649428dac3cb0203b734b4093b96e95a71cfd56ea422b0e319ace603cdb0632d2e8122899e8ffee63701c2d065c1a818444f8042d49f4035af69a3a30317935451ca2649a99d125fbbdd560349fbe88cb7d70a5d08b803c3818d90ab5003d509914ff7ef139f639139c1dba15dca9929ab0b6765b5a5abd7a01c08f11de30379d37d6901809500c9e214b708e027196f478f74f57bb6282954483dcd6cedf60219ffff0354afaf9b09a91141e8835087c9db2f7e4ff4d920a5c54569af35be26ac065e840317c14e25815e9b9ab28e63d900e19c51466d6f7e7b8233e98018108cffd8cc1e035a90797e93798f774bcf3b16ab24f556914024a8d76681e86a7810944521e72e03fff9b5afc7c3b56bf8eafd144b7c50e2bbbcf053d81d15eb249a81901ac4f97f03b22dee277ba6fb24cb0c0491cc01b485118982cc2d38621a033a56e7d828df2e032a37ad42f88f86c519db878397b78dc5eee31d9e33735aae12ea27f22e6443450219ffff031c381ab71b4c8dc200a5e1e5d08c7955f094230b72d8fcf9b00656260cbf0972038424b3c461f98f0fc833461a06547cfe5991e8002ee304a46b42be875e1713e5033c0681bb3061d08665030f5e3764e223a0b1a4db95076d9ab1c10a1a1e30e2ee03a3c097b2f2e15bcf14b724aa8585ed6321da29d90a0be97646fd274c71437e1203b4f627b6021675ca21a202b808dbac0e66b9a78d1576fec4359145e1b7bde13200581f03b26648d3a3db73f37780ce5cdb0462271c16b73272f9798dd20a07bc23c0410100581f0313e6226b946a4aca39bed4e7a10d42eead771a5c0f6ddea1cc15ae1879804101033541055c4ccc38df9bf0c2cb85e063747637ab2280b2e29b1c03bb85a0b1803900581f03f642bd55ceddbde4755b62153cb52fd467fe16eddc7cbbe8c47d57c05bd0410102192091031cd02ce2165cc40a13d500fbd5191ff4d95762da836506e39ffe3f8e2dd3ac58034b9a26ab492f04b6a0c5de4120fdd726285b693a2525759d282341e08d167205034f4caf70933bd011030af21949f3690cbd04872925d86c5a2872519ca493f2ff03a2ce89b0bd78ea30e86b7d776c7fda2d26dd34953ce132912731f98d16d517ec031de1569c7925549f0d2d0c707e9c1074a727d11cfba52eabf92460bf5914a19a035db3ec24ce718c8f779bbefa59ade76576a991360a0372fe6bef6d85517146490313a7f0aeea714b23934dcb2a5ba90b2049d184bcf95b5bebe27cc87807c9c9d803c7afb5b8c7eb931112bfc74357f73a70be7520e5055566cd7d1c86a57344dab403669afb1788e6eb65ce6b4ef70b4a52a89dbe3a9ba5af78ceef0070a28c2068f30323508f08d7d7cdd7b7ff51872f27a1c7445609eb1fc129c9c562bc420e6239f603a32a956be01331b03badf23d85a773dc7f6f1cef13e8e591b302ced57aab735a03b1cccc3c15771774191ae61d0330b7188d297e441397e94960b84622a22ec9fc03e5a2a4ae08213f1c0f1815783783fb623940b484c69eed459960c435f3f6f0c20219fffe038a482e13faffe4986034d46cc225fe3f6de5ad8edb860a506d4510b1f772fa9b03a537aeceb1b1147877753454d0afc7c3cd9c81ae3638f865e90ea93833dedd7903022c42f20580a685385699035fe7f1f703ad91805a2ceed1a80a5a160db7f32503673d73dc9679035afb9e04a4d26d2f66a941296934d48efdbee6896981e30cbe034866e5e1bd571261bb026a778567432f5408bf8743a455ad0ff0b0465879723e03411c913e463e7cb0b1f1092c188bbb1a381b059dacad4e098fa522df7e65e47d0381c7b6570d2f8ce54f89f0b24fbc3a94846213d9f9b69e1398ebaf77d2dbb814037c634e382ba19ff8651d4129f680c6c39ed436517f508c5d1b4e47de0d88dc6b0324cd9cf1c28c3d1e10b255f35a745ebc03d79afef13aefec8e13605eb54a5aa5032030e39bf40abcca60bbee10dda25e9100304845f83bac41a8cc1714a1c174520368abee7e713c1848434b5fe37a765c58d3608df4eee2c2f60bae5b91f739e7340219ffff036e48fa820f7d98a6ccf895b2379a4ea50df425307b78c30ca527b4451f866128035ec74e40e84d4bba34b22fd3668dd45d0f711823b2f9a906130f8c7b8ebdd95003ebe34427b4e9b657d1bb014ea31974ac0822d76c3aa6c83c0a9afc5d7216482203c276fc4c14959f6139148d2b0484a09f50868013502588c6fee014eff133ec1703b6361b945b6217df9c699a755666cc11f8a9e0c1ff5ccba65045c81e8ca44d0e00581f03e2a817414935a1aaeb1ca2edf5b47b0b4927a06d00f0dbd1d086fca2ac10410100581f033353ce28fe9e9f79bb4fc6be08c186135030f9d269baef79b516fde99c90410100581f033957028aac9902515c18d5a5920dee930f912431009848e35f1b435c5f3041010373b48d9707b7bbada07034fdaa36a500c4cc0e39c7a11a74538b64dbc663746e03d41672574bc82608f647ea39dcb5a400f3b48327074f7920b3b848b1db23997100581f0377ca8bd35c60a5d20dbcb8dc35bb7b30c087b599ed575dc692e1db9e6ba041010219a72003509530b520edf35a3c2179a0a628aeb0ae922cc9307e724f9a0822189234755603f93c4281bef98291889d0db8c99e3f1b0ea86020d9b7c183aa84926dcb4376e600581f0218c21bd46ae1420e4bcb4a368cd226203fab3d239b3cf8df1570f0dcbc4c410100581f02e83dae39cd3fa37d774a32eaae179067b3046c8fc40e676552b9eeb1185a41010347c5286373a62a10d748dfcd20952d7ee638a735da5c9ca53583fa69d1e170280371098063522289b430aff784e3de4e0b514c007e2d6dcbbecc5048b57c9d0c2c0333d0271f78df04649746c99d13be9118cb86bc8fccbbe1501b8a2dd102bc4bc203df7890801c05d6fe6b5f38195e1de4c4548f3bc56f1f2dc777b0102bb582a39103a344d6cf50f435628110f6377f58bcb9ba01632f56cbcbd83ef96ce5e2e3d49b03896f502b49ce626c496a6280282593245dfe2e755b6d924dd0abbc48311f567800581f02816e7f95cb5959d186d40cd7a6d52f7de52c8df6b4cb2b330503f8b40dcb41010219fff7031c00506a63b3c2755ec62fe4d7d38c38cec636ad80b309e9fa6da4aa190599f803414a1a18e0962f330de1b02342d2ee3bab2d0c8eae034b716db13b66f74af24f03eed2a2432152662d9569c648acce0f5bd8636945ad6166aed4301682619445f603dfd467d1148154d2c7d95a2eee8e1a1a583cec6ea6e9627b0152a2fd4f10fdc803fe7503415cb01439180d7bbcf2e4f7e137b5246bdf515cfab9cea64ee9078b720381d684ea18ef9769b70daa9236a6ddc45394c0f3afe24d8dc3f7b0083b7a54af03bdd224f0f149fffb29cb01ea4e33d338158d83bdac8413c3f780437a45194a75034098c39d3c4fd4b853f69d847c682c9b5431b02cc640c60a6d1ce437cd6cf72c038820268378ece318b76f297c6bf53b3a4c4f600f575cfe42607b38f6167af3b603647b0ede99ddf1db9fbc52a23bae10360b6634efb32abb599fb4eac78a977d4103d960042e15ce2cfdd2b3318b6a819d0ca71242e2379cd7caa1f748657394401403f33d909100d6df76294af9cf4d10907f1f79e7fce56597899b72dab083a6698303540fd47500defbdd94735bc680d3efdfff4a13bed6b5c0a154e13873c383daa80305aab7b3da8e9c568c8acacf852a499f755b9a71bcc66e7f047d867ed68c49ec0219ffff036da71d68c8896407e161d53e26fde3cc0c9dc26e36887aa33f00977d9a1dcb910380bf815547889448f709007577af82de2f270b41b0c4d57f35066c37fc82bb280219ffff03a5a6bb193ff9cf8eef49ef38840733a60dec879890f194328a44d71877c0c12603a24bcdc6ab8795dc76c0fa7e8209da2a2d11ce5ddeea042940edd994018adc6d0312aac617c167fc75bddd99a6d8b4971cabb7318538d9ce1d2b3771a0dad65f3303d44df8a4c45a41c97586b26a51d2ae5bc47edb89259620fb34505b9987fb6bed038394d37a259725de0e5dfb2f66f36d6b531a0b525207ce0a082fde6561db6f9a03cb6bffc001cf28d246ad756f3bfb260ef4b5f46bc05142fad3391b0a0554d4370302a30471ef1551e71742b9a24b53317157e4a1f003d1a81ff80f787ba9fa72ee0378983635e6dd26865c30d0282ab39779a03efe808ca1dfbb22f12f6422e12b7403ea94a2f3dbac5bdbf780047f189fdb221c51ca25043dab9e170a2d01714383a500581f03bb3ddf93d6008513ca9793da9fb16b2d6b08324d711ba6a3d7d9e43c6c00410100581f03a429282703ccb2bb93de41486a5bd47d684b0a030aae8e7b2b0bac732540410100581f03d9865efd342f28008bbf988900d751b1d7cf9312c26f6f0263d21c285ec0410100581f039c6dd484e49612ead45c553c95bcbeb20cc7df394e78ac6c5e48f1f725b0410100581f03bf6c612d672613f4c1165ec406e61790c924d88c9fe7ca4fe459b3b8800041010219706003a021a06d599d318d3b14f673658d354d0a7231341b675df00fb6dd41b436ed65037baf5e8a4b0ca5134f4083a1ae4ae18747be3e69992a2b4d2d43616c991980110337d2958354366f211a3e3003229136b41309f2a456a546e5ac71cdd3f3d96c8b03baa1e20eaa177521fc39087313de1ad0610fa634d6739aa95fff9cece27276770311b5e4153c4d8089354b01b6a143f71cfd82773dc0966a1b32ef2f91a4d39d3303315247ff17c0196df1acdae90ec55cb7b11a6e7de0c55c8f9968664dea2bcc54038b22e19df8af3736fc5cdaffa929579a19135714766c504fe3e90f943ac1f41e03db59ffb71b4e780d63c9a0928141b7ae95dfa9706f76eb7263c48a28e42aba1d0336ee3d5df244089559459e696d02a39674916d777bf57ad332241e122d7035e80219ffff0387f366531b6b8d6c7400f0feb9b8a5a0f5ea8463e4f2138555a9a04c7c36cb9503e04769fdfff07e7820b4b580a6d0e886cfe2dfed4bd19191010be5f3126767e903caebdcaf244ff45a489817038975eb0cbfcf1f449f2cd45f2d95818d7a83c5d4039fdf936ca7e1c1f417a1d06f37b4c8fb5de9a2ccaa8ea3324d32ac20b420252803848db1b7bcc6a70a7c853579fdb83909a61eec24bad55311779d48c21f94cba603b7c547aec6ab8a4ef26266859e84f49aaeb3244005d1f1c1073152b31af69ef803a445dee9a0181bd06fb7f0ebe0ff911fccd894eec12a74fb01d9f0c33a34b59c0383a92bbcfc1fbd2f98321a1075bcdd9ab1ce50a4f6b3c22e3e40f9d476b966e103719fa9b4453ad0fb5613ae732b1654b42f75bd015b68098bed34a15e90905c7103aee7fb291bc09d30e85bedeb2486ed0d8c1166b7639675206bd96fbd213bac0b03a4e57a82141ff6baf6c1455951341eee3a7025af20ea7c1f4ecdb641f31bbb7503f8a3fd0f8ef5d15be17bc17becc91b145ba8b9259ea5793e2d98f13e18a56dd30328b2b1c1df65daf0961384f963d0fe85b8798575b9308d05389ecf459febc515036f6fefb5d01f6b9ff339b1ccc9a1c3a93ce5bb6caf3ed6dca41bc852b2ac6ba20219ffff03d32320cd50bc6929f166fbc2a08d0cec29998744a05e5b6d92fea67edf1aaa3f03b49cab71bb60b72fa87703980de010fe8d07848be0fbee2f1c7a9c9c578b509203ddd71bce0d79a61af54baa06bd7e50861d675a3b6f54f073af9c0840b6ba4d1603bdb95a8356784226ccad54bbda19747b714f10a341ce6036d76c496d50dfdc6d03ac285d738ebf53cd24b58533a614d1889e09041d88687c2e95f06f4705bdf7b003adb04131213bd4526faa1ee44904e5c24b451beb962e35c3a1fd271590a9796e0390af9855a2022bf93aa163a6e3d95a8600459e87b88d36a93b205b9b876d92da03cd6586541cc6b4bc871b206cd49eff5152266cd150a6fdfba0430b6bb9c4929803d659a007cd9c2c250505f2bc5d7fb3f2bf5c405e3e2e2e7cb009bc63bc28b49c03bbeaf484e028c47e6e3d9163a570b2f1174414df534a58e20d54ac9698ec73e00381be65c6eaf99234304d1c9e0c2619742f238a4a1e72a99842ea95d6b99ee4ae0386f49452cd7d97ee46ad73e9df38be529aae42d5f0f5d548dd5094c00a6f4939033140ab111b690effedb91277bf05e7851a0784f51557f8992745b4536d2800980328b29537fabef0f63b3a11437e27e021cf69af9fc0f214d8152dddc72c94979b0396d9570a835ae3c44a620d132251fd5cee6e6d6134903d9ec8a106a4a1e2454203d334c5f22f1a9faf78ade09b800e252622588d95ecca76946b461e1668a88b850337ef33ed3fb1fd25625f6538b323593b2a72cf18d2095d03b046b927975634fe03e4589c315feb63d6138d60dc4e665c616f8519a1f42299de63787758e6b3e60a03442f4e2011812de35a9d76063a3d3354c3c7f39b25a1fcb5b98373795441954d03eca6df139eded4e3562b3d63d147c257449ae27a8f633b59981bb0d229916ee903bfff1b930d373d8ce0e0c626a19ec8b00642707d5e77a09452242af9f2290dc100581f025900a0af6ebd6ab5394da71c5300bd71bf25555b37232327d852f8a2666441010362f667104e9945853ac01d31028648e74052375d4df23296fa9483d473bedf66030e055d405115ac4962b35e2e813100a4168f5a84d28b0cd55c3d3b0629a68c060319fbc6a48109c84ccbcc8724b722c923d64564f710c347e2afe9ab7532589f7000581f03bdd70b8625ede546875ff875bdf11ac2867dd4fa6227db664c9ae3139f90410100581f03ab824b8b4a659cfa7a9edd9aa493de4e8b65230f695c2c562e57676996e0410100581f037339bc1597d68e59b7eb07b0a2f24e195428878d05be396db6ec4cafed80410100581f03ffc826efbf07c776975cde67c3f3f23adc2801d75c4d6f96d5e1df01d1d0410100581f03a5e8b62a1a06de84c5346ae130cb94709f7b0faa7e4000677b786eeb0640410102191d20037510c2a1667575410898654b2e1f0ea0830d28e723e15399ac859bb01c55be6003eeff2aa69a9cc9aff6f3f33628443cfac277f2d55578ee105f799d00e8e4ef53032ee7837309a7e3bd968303fd6ebf3e8e389de9f341211d74be1f551b7ccfa4aa030cf92832152b4017d459cb352400e5b58aaf76008c31829d151bdf90648028d403b34cb48f6e535dc7ea9ecaf0e3ed5706ad384146071ab9936148d1f7a234d5830315a7b4654775afdd6ec62b7cdb1e3cbfacda21e5c3f17ec70c4a9571efbafab403a550b780fb37be38c198709806d3bb9d77c7c9d553eefd6d8dd488729476dadc030f62e38b7b0e627ad1bd915fa8bb3397590f5d368187a74d8cb96697b5ea349f032fe07de1431ed52c7268fe04e4daf2f5eff727c471533dc807910d8a6a83042d0354e2393f309a2a743b640f21c792988c3e110e8e0b5d7279f70f3c01281be40b030629183e8f46bb9814e129e7cd36902046640ee9f4f71d8773b5dd6b0ad4dfb70219ffff0219ffff03a5141928f8b994fafaa55c1a6d15da5cf54b9e202a9c7a7c457e72875ec1d227030f481c7553ff266307eff9ff827edc662e023129970025d27eb440c08905d68e03beab364263a65f59348338711411554ef82ffdf5c6f41e4b05ca5731aa5ae624038219dc7db3e57ce5a7579dc0cb76bebfde6d8d836ac73fb5f4053990836648fc03d085a3031bdfe36d44ed4b60b3115498de8fdd8fe261ecacae3184b241276c2c03ff3f7878294cbfc066d0ba3a24fa1e6e3d53eeb19e533bb8e66f94c08e582bdf0219ffff0320ac17b5a5740a771634a57e782f7660ea99437713c4dff35b660c932d643537037448f2e9c472ac7d8af754805e2742ab9e6787db1a166c67febc304756b3eee203a87fe255acb28fd23357ecebeb9130cf2ad8e2b252772163190e6fae90861db403fd4e483c17500ee226edf86804429ee8e2ee194f47173ce3b8e58a53ed7f0f8d034dd4c9230b91dc71e5582038d3ebadd276e204bce79d7f55b09ae9285ccb760c038fe8e3a546e43693b8fdae39fdfa3239da0cff4da09f4899f62763145a6f1d9003bda618f8110686226e9dbf703a3a58782c1b53f93dce94857ea937ea851abc4e03ab8e8c673d749628252a01bd8f8f3502ebe849a84000155137b0cca687a5514703f8f357bee6af656098ba3fac8f7d969665508f9c0805bd59a8a0e9a67b2a8f9903f922044f2f4d5899a8d6407d4dc38dae8f886af1945be0ccea991e02bf6d49b303d4678a59696b09d5480769168a74470f00709d5bf0d72cfb1b8a4458c081face034a24b945339a23d55d74de626bac6220d440041ac3d7f15bb6d356388bf22999033bb2043c482d8afbae82dc478b295741fd894ef0c3ad046ac7759beb231a1aaf0322da8efe35d193899c75bfd8562e43263f54331c54ea46df5d25bc3b54840c9c00581f0376ef4840e032dff22de318ceffeaed8ab01788dfa5cf64d9485f59463c70410100581f03519d4761b842896c9d7a377e4bfe969de200446ff739fea75df94f23c340410100581f032bb8e6ca81e31f0ef091eca9a4dd7504728a9d750706cd4b3e10f54cb98041010219101403b402bf5cac9df41262e203577c2b043aa3353b73a182ad4b796d30cc9cb7c1c503e3e720d9a87e45fa52975fe9d64fe2c2353f6b79f36d3a4782a21e846f266c66030a216d68aa29c62b603058ca2ee0983ddb6ad945053ea73987996f614e3c24960360429466c7282e183de564b35a185e7a9b116f2423da6962613aa7a3f999efbf030aa2dc7eaab8f5a5941f63de2523bd13b97ff9e2440bd8a83daf7184f991086203d877e914b3c7e60346ed1aed630626e08157f6b928b0d3e9fab5850c6c397af9038177bddf662cd64d76a4288fa9b207331c0592a44d4aa5f250d56482276ecd47033c90224da857ac33cfc23dc737f3e3fa81e36e70f0be8aed6df1614009e6bb93034776f4377da55578c5bebc743380c4cc4c21e057c73a65bd0c40b0d0eba391650219ffff03b2c9c2237bb9c72bef245b5e384780453fa7a525aee04efe6af5960f969f59f7030c8b19b45b589311513174cc0afbda282eee87e0434687e31dde5f9284b7a744039e2c75aec1ec39fd9f3a103407cb71841018715b271dacbe7361de5feaef423403be14ba36c5e042037ac0078fb5dfaa317e4b2df3c0229641042547361a6a9d150399c53e2b7c13f44d8c463a6731d23547b4502ec0f91b7cf64902b27772f72885030ea995cc380f5f15564ea6c9b6d57fd3b60030deaae9f2486186060a9be3be5003744db7636501906a2f2434ea4c31de0eafcb3ea62983e7e2b8aa5860ff864ea80377a896cd8e04ce443fcab6b4f2dc384663de91ffc60d5645078b90b798e857a6033bc6446ba12cf2486e02123e2becc519798025056dd4b0a639e1a79e474913e9038d832c6c5e74c03e9aa70d64a8ed8544721d36284937a5968abf52ea5202f7f103bba124b8c7d71d25d600ebbb9cc095b01482aa5951c88c47d96b4281fb281fe2030e51e3819f52e6863fa7e72085e2d60d8cfd69550ffea8753233de4d8883e32e030eadc0ab8b821b563e9db6e4cb6355f90caf1c6731204159d57fa560803374e0037e6de7487e387879c02b47001e426fc4d83430f0d2606eb7a12b27dd0548da3e033b674987140128e487c1d698a4b1e3552cc4e22d287766b98ad4c309cc9e5f670219ffff030fe7d77c7b594a8f85a1bac2701f0f0980ffb0f2d67bfd88a2679151e6f7e8e803fd9e0e76b4188495231dfdb1b60a5e8043f7ca86aa55345588b8183908cfb7800340a595c17f98c94d58d5997b275634f1b7bfc673c89d9628b80328e0766ad0e403f347db66b461e66c9446608b1f768e49f327d57ba5930649081fb64bb91aadcf03d8e3afc3f1164036dd5fc5916be46ca198ae0a84f2b6f08ea1e14d55f1b40d100365f401f155e186b11045278612ab312cc2840e4f6153952f1368c94b2a0e12860396bae898859f20e93d394161f378d5a2f065233cefd5fddb9e75280a2dcee50b03a6f882e9328c13daea38da64bd1d803c9a2be001a820072ac0ddaf52816bdb880321dbf7c361b2cef13cbe2cdec8d15d45ddea07c49e6f39c4f2d27688c4682fc40328ade0f5f595e0c69bf942478c0f856c3f4dca2ca6d4960071749e5b67d639e6036ad9665b5bc6244460070aab5c2de11829e7037ba8c0e7c8fd468c7c5533dcda03c165c81eca70ef633b7852e048090ebf98038e859625ddd57a10bfb814e739f2034d01e79b4f4b166e245d3a6574b366687715ddafc91cf5dcebb6a6367c4bdc640314cf358b8e964c8d342c5ff25ff62d12b42d92d0e6b29b19f4b1883e2debab1e039a87c4c4c0d1f7563192d9852f66701139e6e31d3447538d35d647fd230c6ab900581f0235f678f07fd37586e5b7586692aaf6b74bc23140857b24377e0f190a30344101038e52930a3547e8f243bd923fbffd90741985901bf838d5f4c4644580d4852d1c03a24e69aabda8cc2a5b66b440a778992960374b5df2bb4a9e9651876d90b27b9f03d30550a3eb21b7986a68c9f8e4f515e52f68497de94d0c304043231acf21b9a0031dc9da0287587e9b91a0bfe5d9a3e010f4ec803ff73f99f3f25dcb09524cae040334f2af1c21312f7982c9276b3324cab1881bcc546c1fe2120cc5f56701574ffa032ede14d5c1f376b26967150f70277d21083038caf8c2d597d683a0fa442d2e7903fa4fbcd327e4074e8132a4339b08b6a26329d31725b7cbcc98295c4aeb16755803fb06be072ecaec504d930920497ccd50eafea5bd72a6a4367d0106ab1c17ed140349fff8943f70a77ad5c6da97acbe64afd4e741ff872bc3449b4acb835a48415b00581f031c19064138c62d2d5c334630015869edd66a8bbb83cdf2c168175196a4f0410103b70d5ff3b1c115d83b9ae509a611cfaa372a95e83988f56afec3f65cb702e4ad00581f034e8d21654af1fd26cbfe50888c8c91df0a2fb94ce03051478c27e603f9204101032d93e224a2c80bf1e05ca7ceca402fb514c6b17a738663a30fcab9b7a401f9720219034203e46ee17c4c31d3a43fff78e2d573990e018c0fd04a3d88b6de818d64de843a5f0334a986928326384756f14d0f9965195a2bd728d1bab98d45fa93fb28ea60318603894b5ab5d91fbc46993737f3fecb8eba0c1e8ef307b3a0b8a729b3e1b0e46ebd03ea987d982d6982d59e60025f1a5c3a18a272765eb55c4337148b917157d13c9a0219ffff03790594f85d1b6b07586ff425047126c14b775b7752504b399c795cd8b9fff53103e99bd1855d9d552c07537afeac5b8973f8050b9e06a23d383727ea3cd265e486036434fbdae2e1468552df842791e3a380b9777035f6911dc5a447904a444645c4039c32f99c767efedae80d028a6b4495b3a1ccc15ca56a17d6e4b8ab379367cc4f03d338d1d779ea3bd068886eddbd9e314f0e473e8e966bcb61306426cb46eb6ad00219ffff0319eb37bc386282c65b9f43c2cdb24dbd068acd6cc4ffa337b0c368ab8f573edb038a66944346839b7384ee89105d7cc0d9e87757bc7ab1136fbbdfc073ed7f2b3403cf08c3cc5ecb9b64f605786124a6fe6a001e75ef85034b4b524833133e8e6c080219ffff03aa78cf1cb661aa0327a92bbbf638e1db857e2a1d74da25c3f1ed3218f8a22a97036b75da9d505eced0cbe31839f1d47c9eea15957fa078ff60ec0be64ee2fe44ab03e5ba1f924daa1056ce3352d33483dc2ae024772596ddbd9dccd8d6b7cde54ddb036c9fdc9017775a98ef2f182856e98798e83cd1d4921d4352fba16fc94ef738c9039c8a6bef1cda983d1ba8979dd63e605143866a0940262456e521aec45a411223030b54cbb1290e80824a52b9121c3d4e96f46696e61b6d87afdefc1e2ef0718782034f84f364c9f2d574095e01b504fb7284bef3eb184ba108b2fc813a3c888d708603b1c0e05dcb098db35c48cabe0e58b2bb4ae6d11a71cf38e3d2509138e96bbbef039a835d64245e130f83e0be07c22d935dbda07c58cbd6f8a58387d29f1ce80ae8037db1fcfd0a924bbef2d480401388ac85cd1e8ffd49c4d4bce79c200070f9898f03a098ea97e10078b4c461986696f7fdb1d3469c8da8dad98f06e30cbe2a1cd8220362ac5f6716100dfff6973dca7ca10d9951686fad274d0e15dbb4f0ec19a9a3ff038c3acef1e5822b881d9a9db1f50eea6966a1099b5ef0cf13463345a53f5064ff03a3f12e0020622553e589998d25aad5782a0aeed5add8406f02c66d90baf6497403d9da76b93419f07e65e23be4f3d78ab3aa9be59ae8a9b72a84ce7e4fee4a6b0103a1773a40cae5649fbf5b58757fb852a05bf41181e36ee2f4ef53c13c67af9a4803789eafe49c572dd566776d81965a4b44ef22a15757908136c382067502c500ee0373f31699634980a5ae01605d390420c0196f0b9f0772963478cddcca3868f66e037e87efffd5874698a8668785d0526cb95a8d08b92684928a1d5e4f9bf7663cf9030bbd3282da3322ba7a46a564aee969c2043b7007c0f683119287598c6d9bdc66033283218d6755a369170b03b46301de57413f74a7019ffde0ff56785f856b270a03e7d93cc34f39cbee0eeaae17ef874f3e2b283f5862b679f93ba6aee89a0761da034bf0f2e8077bf6275ae61e30236946cdace64a2bd7952e890d0e424ef3c3b2f9037899057dab3ba28b8f0f4db7d9a2d9c64ea666fcdf8739b79b8accc16fd6346e03c18efec44df1cc2f347cf67a00d002d36f3119713fd9c3715a39b2edd6cbe579037de8c52601ff93ba49cc836dbf349611170e5dad1f4d1ebfd3d4202fd4dde48203f5e75b86444871382ce6da9b3629b574a6558d9979da5c0c268c53aeb0f461220312cd17c5354573f97ad14d7fb2058366b74d54883a7080fab529f14dbe4d0a83037bad74888a92ba071252d3962645ef96d1e8c21b24a40ae669cc4687cba223a1030da4b1d971097e9feec1f6c8c94cbb58d74b59499d975efdd4cea1185b1c3bf003c65d53df3b6530c83dad261bd4ba2980c3523610285abaf82ba26844b798861f03a64d4bac6957368891f7d4702e0d2aee102289cb687710af02396c1f2b1eee7403debc051f055cd7ff55220e062ca0f13cc25a80524ab368331e31a59315fa0a4c030b25a55e3604a3ba5732bac462847b62d54ee67b925c221732c290c8242e164103d88d407774662818aeb9b8b971814e0521e27c5e621e3e6ddcd2d850b3fba34803641151236baf975b9d19f1f76271f9717577f0cdf9318f8f4b0d2e4dd6683f5800581f032676810ec8b295cb94554a799cc35d1eabd9e919f7726d5f1d79a1608550410100581f0348adf97bf0095a8d5293dba1d88732e14f474f5ba9497df5244b56db6bb0410103ddf9a7e47551f04cd6aa38158fd9fc03f641b0ecef0aa6020d8f0dc59a5724300219504803c4de6a7e83af81df373f8aed6d8b3fbdb093eb7f60eb0f1630f4c5137faf653a0219ffff035f3cab5960fbc86cf8ead16c71178123d36acd80a2d2965ea17488e5f41c90c40219ffff038764b65f6114cc598ec97d23afa9b1858839ffa840a2fd219558436e4c6c61d703ee28166c29dc86e219e5e80ef1a7b70e168c3d7111c88822385555cbaba0e7f403d731d93223c0ddebb8fa54c6f4bdd2ce9864ca055f64c95d25f0cf58cec0ed82031652959b6d64283e3b5ecd505aef7c112c124ecfd40c7ee315f5a548bb326a100308548966cb943b1f08419d8633041aadd26fa3a637843f36ba2edcb1a26c12dc03295e4402bef53e7314c8e3c16dd490ffc3ad30c07f24bce8d91e8b9b6222be930313856edbdc55ad57d33af39e690236185cfd524e933b20906fc0a1ee5f82312a03e93340d51bcbfa2bc099d9972889e87d589b25b6d7c46e469703aee1a6ede2890219ffff03b0905dc00375d1d4cb7484332ca80153208b9a8fa22e2c2b4a61a66c19f05b0f0311280b9ebe287be476102d8c0daeed5a4ae5b20eb683d8207572a9fc4b67e82403107811caa07892e9c9128323a770eb261b9c01c2d5c6b1bc1a5b1ce5d66f2bcd0376eb2c16e657464b209a9d8fc6b0410c3a7aea78a37cc2e7b978b2b0cff9497b03ac270a74a6acf5d260d422e872018752cc01d03b3468cc55cf38b4e6d4575493032bdec080797fe9387c4192dfe8895d115328cbeb95d623efff5bbc07d4582ad403ff85027cfde63961de5f896942073b8c37353f33c12d07c4d4f22af340ebeb770337d8740621b00778b4a9662d1c7b8dceba3b06e29c0652393041059fe46c967103b00df428db40520ce55b54d501ab6a6cfddc3341675c243a743e3c4bc4c553b603627cf0e1d3268ef4423b2eb6e1a32da1815a36e098f0dc856219393bea97f11503649237856550fbb00580e122c208a3d19032701c00a3af205fd1ed7d77ea11a703a3bb9a17787d5dafaf941d924a67ec8bff2fa5e722083dde6106d60adf3a9f3403ecfe3d11a202082acdba87e4f24e1eadc248cc58cd9abec28095a43c538b1fe203ee3c6a6e9c6091afe9413f6bc56833a5380fb55c0e383bc59c2919386da0802703e56af12c4bda93945aad5daa3a7f21542dae90c38ee5dabbe2a9b0dbab538ad2030d95db5b60792476f384abe708df5e2daafb46702c35eb6c31bd094ec3bf81fe0300724fd07eaf21142c7ab7fe0642a41b102ebf427e365f66739979bc660c157c03a5a4015555ae341df86240ccb4aa34c17d0ea67c10593cebe557bc7fe22e9121030f212d35d5502db41cd5569c670feae2636bc1d03d28495536722d9fd7f68db503a60ee34205866bda9e15033c5c236eaf3ecd6fad35feb9e19c1ef1de88f5ad43034824310eb41279968b6da5780c4bc9be62bc2bd843318edc9e25ed87be2a70d100581f034b606371fe2db80c20eb655ae43570f5b486d5097acbe458185f5437e5c0410100581f0329ab5493d6b1d35b1c568329c2a5a830e86f452155d46b19cfd838f6f9e0410100581f039226651b5c55ffc94beb1a2fd3c70154f83d7ec0b034673055fdc0fa7ea0410100581f03ca047d99fc034b682689aba85b3442ccfac6fb995d78394413f396427e10410102195088030685289d31b7aae427364e38bbe31560700540c5684d8740ad300979c58164fe03dbe0902f82908bd9c368c564f04fe6a462915e23ef4347575f0718cea48f535200581f02355a8932d0adec2b38f6af75a20151b22a97a4f69218fb10c045061bd705410103116e97726c69ccfb3301fcc4c5efde0de01b1ab28b19bfdaa3b45896e0a07b9b0398320f5f2c688f2418d299aae9891dd3e367658ffb42382b8a8ce334442f495303f9370c02aab9f8d6e0d13ac9d19853265e157c6f94271e65ba365ff761a7e8ff03dc2771028a2029e4f3c64e4522a08dd9ebcad894c16dae2d78181f65ad9cf3880324a251f5890df8f158fee59dcc9253819a51ad167bfe3cb48f81206474a0ef9b03132bdd148865995a97e9f55c204720ab0edf6b9eaed580a6b16222c050eccbd103f7df8114e97e7cef6fc324e6483c433b71ac7b8f31d8d37cc2082c2510bd318603911de1cb397f39b0e657a0963f393bbac9370af84b9e238b7046787ec84cd9110219ffff033a64fe4d0e49379c30b7abeb2d17b13cbb6654226fc137365bd4f4be9b6d666703e3e3a26b390c5c7f031a511706ac6c466029c5e727eb7884c6d670767bb5629b032a14c4770b17ba93936b9665051cbb44057076ad705b4210c5d8d85ffefc32660219ffff03cacbda9eda624a1958cc67476841f0b6e57a5f9f14232076c13af378efc7c4ef03e31e4d67d75f3d6704327b8c638d8bffa6142624c958ccd71e71bb79efb76863033badcddf06e5ae8ebbad3d1d1e1a055909f16a3190fd947a413791696f17fc5c03d68892c51aae9d6f8627287056603989dd200145d707deb44a0f0ab7e6f6d4e8035d4eb05397ef7bb90a5541d949a3ecb1d4ec046fbd24f1077c9da1a5f2eb50af0315cf188dd21edb1bdb7a1f0230ebb261e4bcee1f858ceed5e2aa9c6f937d39d203f90861ba4e00d207515094bf5f729c97ed59c8ac5caa2a5224518ea3f48b93f803e2c467910d8e07a2ae6e6fa58029de5f5962967ccdc39392f0fd4739f4922b5603996d50972dfe113e580932932b7c9010728f08b915092264e7e925bb4e4f44f8034e037e7c85bae37675c45770778da378d969a5e7a2dcead5aa8fd3c851798b0603501fbf943bf4ed30da5eecdffb54355e10aaec72730616d0905d91d28f2e3474031288b191f505f6fa887122473037630b617b7ac884ebaf06d474739a86ca5ef7033a45028386acfb3796b667f90ad8e21d91f0a6c186da4a26dcaba6002143d674039197ec88c985dd70d8c46ad2f870ddbeb7cca1d710e55f3a5c89f8ed4fdc87270341d83c94e17e620d5d3d2e51e72ad6982b8575d2c5e349dbe9f53b0a4706fb4f0371e0a00644c6ddd986d13c774fedac6873b2e4f085e932f6e754401b84121f4b034024783ef2156ea08f83b544404c01f8652231f78cbc80b35c124551958a7deb00581f031c45af6afd80d88373daff3107fa1e369fc0ab4994afbe8f72beaef917f0410100581f033eed179b810c9a463212d97579dcc248c9fbb2cf53fa8544f2a256cd1430410100581f032a91377ba483fe6c0bdcbd3621947b24ffe9c58edc51f35b303c713095d0410100581f0385eddf9f02f081e08c5eb868660c0cc656bb747964198908bd5ef43cf3e041010219044c03de9a669ae41a43753c0998d168f2f462e0180f1b75d315afd680be486003670303d4b7d3dd78280a3659be660ea3001f75d4ad039a214e6792abd7a003b661db8c0219ffff03284f3c7fb9c7cdeb3c9c21f54deed3a1589c167e9b9fada1d8d04da486a20b8103186bf11f2d68497326483a581104e43e03d69d674b658ef14dbaf4aa4a607bb00379d27edc7924eb0061b68527fcc9d5d2441df2b00bfe5773285c360ea4bc4e6a03101855a4e28af5d3c54eb542d30f6469eebe2214f346950ea1fea14a83d43728037c7afc18cddc2b64d31a61e4aca313d586566bc3389c411d12d8cbd0b600fa8503de57d90643ccc8fc465690808fa9dc4c5c3e2cf534ef65ca228d63c8e59c49fb0334313f35b44e5fe164bd196d5da4ba2e750c88fbc2ca6fd223a0bd9918d4d07103abbbd4d1fe1fc94e353d396a1c65f301bea641c71227d27ae35b50f6f2c5d6a4034feb6d1c8d843932d14607ff2626387c130ca666838c6ace9731fce4a7a8a4da03302ad6fdff5c2f3932cbe1b02d4b3446b3e0512066cda4955602d364199f858f031f3a242097fa9df43e173ae565ed6f76db50ddadd293946d1b3368c79b11e3c90219ffff03262071121e8759e73119917bffb6ca8b7bda4194791c9d12ab60fe74bf7bc626035ea3a64ed89965467b27de24c400d2fe05c62cc7dcf1bc4771c67253e81d8460032cad0b306cc15cf043fbcb0f12cd6235c56dc68ce6a9e4dc0bb4d3fb89cc09c00310c7a62ffe2e117082aa8fe70e6c5f62260686db9a3d248941a15fb3d9fba80c035de9c7347aea3c6ae6de7607c594e73c304b6f382c14e4eb19365938ff07f747032c58fb58412bf3a362a35939cd33ae270af46f04ac6c9427e90d72f064934fcb03d7e8fd6d7da5e169fbca22155705628425e40e8047fcf0aaecc29ad698cda094033ae993bcca9c6beaa87063a0c6045938568bbba599dcb911bf0094614127b0d1036bfca4ab3caac44418ff0cdd0e9ceb9c6c0addc8e8322ab39eb97740178389150219ffff0361277d5fd0786af80659c46832691cd613ad02d7e2212f77d32debe9fb41e029035bfcdc0e9764cfc50cc64e6ff549faa8ccb31e7e2e23e16d3004c7e20520d180037683346263c38730007eb9de964ece45a1457f244564f60846c10271d4a8fb76030b5a3093f0799acb693b6b2c63fb8a38224dd8a73c0b133bc2579054f117a2d003791fc12eb185014c0e430475edaf10999b7529ffe98f3e0f93045cc1f79f765603fbffc8f0d5d15f6e266b20a8c62d7113061f98fe3722465348437521821e266603e9cdb0118b67b0d2c2367221cacab835c17bd738931aa02d8128156fb3a7420403cea3e9dcbef4d8c3e213b6e7fdddfc99e6b4228a3de933e998a85346bbed8d1703a0a92a45d981521e159e43402ea817391ceb0af4a4d7a9973e59708d5c66300a030ade4f823feed1c3df0b858e8524da370dcaf2560d3f442d997c8883d9d709c303da368eb8e4dcd5bcd95b29dc43887ff07e78d099b7a821626e268fcd23c13f00031b1ac43e0b4b38570584ac95d89d8805844a1a467dba527310fdd045ace0170703bc3a39352ff6c53fc45ed942fbf82b08b0642665af795ac90f73be84de14a8740333a6015c05c3906e08a42be6d0b3474f9667e4dd7177540592cd288885cc5ab603215ac43e72316ce41c46ef1217c37894c711de6a04ead44f510ecb27589cdf630322cae8c9967cd4b8e31b93827b24802ec93e1d8698de3a22b6fa1588d40bef72038f1b4e73eb13ed17b6b5470dc1f7bfcf8b9dbef95f63e5e7a682c01633a53ce8037e5cea2094b5b01eddb3dcc6b50630c8b88ae89fbd223208930b04703133181b03109465f6e66af01325758830979354d77800dd4cc5512338ea36aab7729d74cd03b16a3da15e7aa9df5a4d8217459996ceea9840faa0bee2911874d343618dadc703b3a92cff8b2c8c660359995d5581a7372682174549d45923da5633cb9c09e60b038c54ef4f86836adcd2d6ef64a9e2a927248d15717f9b9085fdd93e092f5764a203a62d153a54a54a4fa6514385406ec79f72ede9648de6094c85c4af47f70b20c003fcf82dd5e75886019d4fadb992cae08ad261db9ae2c1a5877f8cddc98dafd6bc03001ec71818bc01c8900061ceb7f65867f4fe565a5915b7556ee9cf411dd169a0034ca21d11556284f7bb59b74565f3065f47a4aa300ac0f8b5444b514e9f94e34903ae2d5a7ad2fa11c94295afcb5b4f7e9d6862a329cd52d4fb0ff76404edbf4903030c52333086818a5915a26239a11382127b958ba9d616cc80545d930a2ce0d21003fe09e2c65dd96782dbd7a3df43056b33ddb72ea81f56e2a2403de32c46e1852903124095d4e27c08b4773d55fa955a03aace209985b78cc512582157619ae2c93b038e519965afd98aa4ac3ef1a5857e349755e3a1c205724e68874e0d57a0dc2f5b00581f0329495aff5c42472520eb0c4975e088064906edd97b5f079bb0800a63f450410103e83b52d4d034a23e3b80e649e9110a6665c6bf901f3f6d64de962f6a9e92f38e021902040304ac1deef6c1b6a15259671b9a85fdac58fd5190ad1620cfdcc511eff13bc74703e1729c666f48f535a4205c211dcb89f0e89c26a978192e8e1787f1ce3322aac603357c211f918be6a0e1c11d46257318f8a2b5b4889bc6dde986254adbcfeacdeb03b8c67f83fb9d1f5dd6bbed73807b0fbfe7a94a0481179e2d1dca44be7ae7ae660219ffff03c435244a73ffe346c5e987ad85dfc85c6c279eeae71a3108ea822084251d8f85035cb613c814adfd8b034597e920d0eb877b191e2d0c52aa96dae478ed34257dca030c32d2c4c9ea6febd76b2711c6486d98a44e8c85290a63d197d73e645ad822570219ffff03024595a097e6d42aaf354e0d0cd6bd7f95c0a90d119c697002b21432a8a2114603afcb33d38926ec76319ddd7e4159bc1199c8f3cb1f625b59d2a4f4703d1606fe0382b7f53f5bcfc364736ccedf82839442a4a71f23ee5c8a891813d808d164454903e4cc4095f27a4f0546db1e3c22e53434360f0621f988da360b460bfa6af8d409035f54873dae2f82b09a119f0c8ff56f83aeab211ae07f1abb4ec0dfc6a7aaf53203d7d5823d53b7ae808d87b8d10765dd7a0fd40ea9d0c94faee2a57e5b5819df7e039b1d20291d2463bff85188b05b94b006f1b4dc1da582b89c0179d1084ba26e97038f851402d0a090767cd6b761c37bad7dc6248abe4943f2ade441e139a6788255039b040ae8686444b8772628786d6d32e42044ce31da586f8d3db4a9bcba0aff1e036e77d6f9c47befb18e793e07ff9e50120c73ea8748877b0f35d9e73c3e197f1403ad8dc4cf3240781a1f7ecfeb4c1a7c4ea0236813bdafa4a2f612d0d9c145127f03bd6d0d914725da70616da41899ee55912cf1bd93ca64d63f1db2c094cb4b4e7e039afab8330a4ee03752ee0a20312492bd301c14d548564906874f0be0685b2cbc030349c29174a73a0a3f2fe00fc448af8ba8e5b08fcfaa5ed8bd895261b4328a9a0347ed495fe308dcfe11ced29b201925dc677fb508168dc9d4012a6d2ac85f1f4603383d1547da197afdb20bdb420377a2d2a33f64772ed62973a5d7284314285c1e00581f038ca325240a1ab71a1a36db44331f7ae231240f8c274bb488ea0d44892050410100581f03e3a8c2966e6afd5445dacafa64b0ef01d4548bb8aaf5f60120e6019f6c704101035c68448817b1ef11b045fd58d8baf654982bab02c825937c4ecc5256a9b78b2302190508033432ec72c17914a01620f16eadbfc2395d6cfa598f64d9f91e99b3d6fd465ad403d82cfef512970fb5505fb682024ddfd00327b60d0e76f525b59fd83094fa1e2403a89b7d8cdc0c701c0ad81a964205365fcb22131d23e633bfa7bb9fe412f0244603d760859c49b893f8a2ae919e18142a09d68016e4a3497ba4a7c23f56d06d128103bfa5beaac104d865f1bd014cde6a58d038f8785299ca645e16e30431e261866803c80b789c833aaf30e9cf4e1b4f77ba0eeec9b7d906824d6b38814c15367457a100581f0298be48fefd005a881056a0c91c9ee8e7cf87a6e326399694d87fa5ce456641010219ffff037e4d69fd14b29af9f32942b4637a04a4ad34ab8ea15ce09fde8910e1ba8309fe03e865c5de42719ee2a47b2a9f89dc6b931f5dc7d471e4f7ab2560f954860f8fa3030e3ff5d737db044552807ccefab8bee862d4a82e4d66a8603d5852a6192a8cc503d3d15934eebae0f4fb0b508d86cb60ec492e7c38d9c6e97909c7560621f3d43103fe40202ec5a98ef72a9cf0faf8c3751b037cfba8f69cd26f33f97dea2b173e6f03476d0cc39ba7b6d0c910e3872c3f4d64c605e24ce4baa45f0b36fe6c4cd8791803ffa27791dc7d6208c4891b78db8fe506a9621939943e66a80765a33dd74834fb03eef9ad74e79162a7084a706a23a142d9c174ff20c46e31caf0f436bd37895a8503ab11104dff175b1f9f82e43a16c71a6e8a76fac988f49e6146a98536c9c6515f038e7faca3ef4f849395426fc54afc2d2fcf68d4235327d0a551742e2e970c9bea033fc581e4d74c517929824d230bf1f13dfb0f64a9e3fa07b3361df1ad6e423d3b03f5c0a597b8c973ec692a572862926443c15232aee4e09ad40b78a31735f5582b0396641060ce6c9367f6354643feee93e3611ac786f4ffec4877af020d80f190d703c7252109a7e6f234164d965098b2dba7893addb60998965a1e837b64f1ee116300581f03636515dcccfb56721b262411687177002bc8de8eac78019385c66fc80c60410100581f031f2f1a9c96a643a0c06a24f9271673fb05fd1e75a126eaf9ed855d3d0700410100581f03e883775d59c72a8a5bb0d34aa4bef9fe716e059a163dc57c0b88ee19c210410100581f035743cf6b1982ea2bb2fdbe4627f7c7b5f41d1e341e37bb160b64be5d8010410100581f036d7bcc4a135233c5a6f078e6081d9b43f9b9ce8820f3e18a1384fe00e8a0410100581f039164bb4a85a98030b073d0146cd23d277084412d8699c1d5a67cb3614e50410100581f0393a78eb36a5008d86d26ea5bebb6cac6847ce1ff223c4cb3b7062c28657041010219a638038c532e10c0369e3db12d0e7f02ff98017bd39aea4890601b8aae2c2a564e82af038a0d954ac207f2d66064b4b5271128142449c55988663c1df6d46cc88d01179a030897dc02b3e2d52300d09956601c5c6bcd222e431c1504a696c3532c19d8712f03a939431849c243470561623b0fe22ef4fd2337ce0dc364b463608fa16fcf4aa200581f026475688823755f51c28e1b87613a35b35ad73945459e2141c509a766e912410103f135acf118b8aa33f32ce29a3b87160e8aaaf76b44a57a53111973cfcdbb6efb03b45bcc7b8ffb7c15c5c3a490b81a559716271fde237b65dc4c31346a842f7595032c629fdc10a00abd261bf8f5077d9dd096f673c6670787517390b8244dc537c903028261f92d47634706063583ca57d674b184cfe56241b81a1039da8b992b55150219bfef0339c2c7fb88c45b3318efe501045fb16cac4ce81557a1807de1431df967beb5c1031e86c7fb67dabd955337defb76f65214fc735b4be4f2a700ef331511cb4890e60219ffff0219ffff039c018eb4a590eb280827e06d3afa6fd0cf1d40e30fbfd2589300803c9094b02403aa85506e97484daf9eca0d476d230d003c1b09b43ee60684c3bb105b2256aa2703d225afbe276832f6150cb683a670904c9d88283c02bf2b2cc3a99991d1c55ff303be0e131044f1613e312ae06d7ba2af7f194b358bbb16bd2024c3c7a18ec26fb1039517f36322ee48fe5d53d0a684fb9a17e7073ff9dd6f346584968801e63e7a1f0365d5fbafa5f116030c7853c21a4331416ceb3753620e1719c6f6641727658df003d1c5d85dddb7be7e6789c4fc1aea0447172c8605968cbe113a9311a2cbfe4302039bb7872dfdd2eef46c8bd7d3634a21586bfd00346419390817d35fe1e5a3e77e03260164714285ec8728449d51c634463af676df0b68782aa42bda7ca64e7b389103d12a1a77269363095ccec3f7b0d4968045ee86108f55115797cd7286d7e5af03034c54ee2cbd6d5ae3b9a27df1202204e882403a6051155a41f3ad4b94fdf5e2c20394302663517399d6f61142898918c235e72064ea0b865bae0af9c04c4b6c679803df11882ab9bc365adc299ec86b0c70fe562fcca2787a48a577aa82ef2f512c4403ff534a5ed6bb097f99312485ad243e8b486bbafab70f7ff95da399ecd9282ef3030831d2033fd49b0f157a3fa87b1bbfbb3dc5e0a3d51d0a077895113284e30ee103a7f4e088317e87ef3bba4f34650b037c4dff7a4f54b548c9f124cffd6811fd9503050d50be722212cb298ac5ec6785d37b892462e54330f244148d0c3769a378e60321153a0eea44cb254fc9684ddbbe2d1a2c571fc02e52b9ba8852ddb0540d6dbf03e4c2bc4eeef205bb90dac3ae244be5d43874bdb8ac1045df1521c4f4aabe634203c61f19027c0053069a971b393bc0486b59a5dbd44d96fefcce72cc8a55f3d63503e75b9570662655d5f22cd0044bf6839bc04c898d0cc5d740ca06a0d73a16f171038176ff2222be91fd331818e767142735c76b165d67c5fae2c8f06f8425d898070373b79e6a5e50f2d37d4ce98291062686b3d1db24483347a4de3a3388b94288a80330c89bfd3aec250dbe1c1392cbd4478af142678fe861fc36b79bcd1386aa238303fe576cf0f7f789862e2453498b06ae8fd391a9a200f0d935f9cbe6882d11401f00581f03bff5c7abe7b828244bb493891ba6d3c1f97a6a4cf0b101373c84c06f59a04101030a1eaf56adb6245e3d8f20c8ef8c616e4b304a6c16f3fc0f05c2e8ae37c4718100581f03f71dd62a3cf03858da21d7c444059b8647da49cf411a3dd8646e5e9f0900410100581f03a34c63d16ddb18baabba38e2fa5f83f98e89016d76f435ed898f465279e041010219884803ccf0abf0474cece701ed9ba630108e7773cfb7e94e070a347ec331dd86aea5c403f291982914882e5520432f445350c64c0d733bc45f03510ed10a09afa6fcfd6803a91bdc296db9bc069729115a62019568c8996c70302b69f973a510648a92325303684fd34b972adc82c5a8a3a88b383ec4c35a0e46b92e32d49c74e5880829cb670219ffff03128fb38d5457a524cf7307307bd7558f95378295e79ce61b614594b48f26c50c03979a0a429bddba390af7917c8cc4f1db936b711dfd5d2ac0fe5936e560a93f2d03f755ce25be5f4622a58497a2062b6222beb0d993b7f91f43c664ca736e56a62403eb3002705af789da4c7f94edaf62ccd16b660586069ba7fd5724f3743f8214850399559819726ef9f87d67564e76d0f2be9ae60247e4182b325268bd9f4accbd560219ffff031b39f670bb2d40ba99fcd153f0a369fbaac773b03504c803e98f8fdb7cfda20803d1f3146ca0f07708c7330204a22e39ac3df628c7791e5c2557e2f6f32822dfa3038e645e28886065b38bf7313b738ae2cdcf5f27f2b1d451ddaa58b987d50dc07703aafdc182c12d1ab526f612af3ec12d4a724c2188268f1ce6fc4ca34db06ca6fc038ccb4e62283c41b9a7bc685ba6e030d8e3b5dd92d831317a1c73a645172510b5039fcb8a598f235c16e29662324e00a66280528d05502dc9b3e21549cc9a7a639303864f6a653e950b94c8a93e85580304554fff4f54dfb23b8e809c946a4a02e2b903c8e957699926beeb7da8e63f4ad4dfadaee2de040c894562e7ab140a29905506035f93824ce7885e1bc3d5976fdac530bc535e62609190e01b2ed0f00c5fca5a8e03febfe4c76c1351fca58d189bc48ae4c82ba4ef48f08e31f8d92aa052808d4d18038f9b40fb16b1ed3f40b2cc9d48eaf14d400694866096f09c949c1353798f939d035a24c91867abc2073133d1390f5e6b631dbd2335222df9db287864c9bcc67053034d30db2fb5e74f9ed60bb7ec2db0ad01da3e23932a8ea7cf2db47d96b4bed02300581f03ac5559f2737a69503138d0c15708776677f5de0a71571112d3da5392a070410100581f03f476ec887bf14d3ab3cc68dba49f8b60a9572d49bf44cc5126140ee8b7d04101035642a837bdf1d1046a95cbe3692b68de84bf90f8316989666a5979a7cc976ceb00581f03a45f2cca899e9545832efbeb680b9e820b22076abca74849da069d15f0f0410100581f036ee8cb77379fa34fb07fdd71f0277a0f953c5dac467a1ba0c911d0cbf080410102192e80039caaf81a51f8f141330f4662b5c10eb611027ac3cc50fcf6ec64f0cbf94c9a47030f6f3d1dd650a4e3d316b32ec52e93f9f7f2e81ffda3bbc779b68f0ae1f05a610219bfff032c47a61aa08acff76c12fadccd52e9011a94d9ada93c45f8e5f436b0c556294b034a98ca71782507762f3b0d7fc312f0ae05705c373833a43daf61e3297d9730b703c0d44f56979cfb4a497d095f75a246e597d9e315c0d2334a7fc0096eadb7d29803fa1400836de0ed369f9a2c7a02ea50163913f4a2644eeb92dddea4c1f5b6e8de03c6df48d79ff060bfa6fa71fc48e5c070da89da7fc5704767dd5927148373ad5803d7d3acb366543f7a389f655f971818fea5766b09dbf4fbf3b09db70444ad237e0385e9cb4ecc4c634552f9a812f96390c6190bfc46af76c3ec7b4c93e3fba80e07039b8976e2dc9fb1a61fdca8359bcc1359fc193c97e6c2dc21daf0a830d68f68c3033ce42fcc050b801fca8a5b12915c91a962e54d9f59ddc32bf8b919666f50067303b7afe402945aee476789c8d71b0ab13180e1155976e5b3cc58b65e4044f584e0034b22997d45bf4a5dcfdd90820f7e5601b904949c0f332706030ceb8fd6ebe95203247aa632f7cbf1870de716a91c9dea09f9abc506fd4d5b3ff1fa5786381f0dd403aa5cf19d61e35608ac1434c520263825d4fa0727526fae91278e8de29eb1b48d03696a39515a050910406f6a1b2f36cb301125df21135e771d8c8743e27d8775f70219ffff03aafce4a23ebbdb4c923873d1a4655d33d0387024ef612ca9971bc30b49c2cec5038b8c650275b77b919aa13909e6fb273254028a026c2aa08d40ba0e4de3699ffd0367ca46ad8de3facc689dab9e59f3af1cf56c59845f076d4a135be8d93757168d0377dc7d6edc2dc77cb0e8dded15275b2986f6fd7c9735e68e2ccf59fbbec6e273039903a920e67b09ee8339c382cb969aa8fb6bd8b707ad6805ca12b3c5fbf283cb036f9d0dd115447de3f7f6acda2de6b463d90ad22ef3cb3188bb3b81341f6ee2a3034431e288459137134d5bd61516bcc00d81a9a6a3cbb8e560ee7de3d3955cba960349d3fe2c07f745603dc1345470279dad9bbb43f2fc3b250bd59697bf051529740398b00ec710d2df316370eff20b8a69266ade0a4b6b2c40a88df88eb5757a610d03cbcf02e5a6a338168e2883288377467d93c15d2813350912a3ee85aac5346f460219ffff03176c6bd891a86c73b64093759a4544e4a3abb77be61f34262c54961dea2d81e103d2aa9979ca9532b98ed70f058a42ddff1818e6c63f980602db8ab91925ae974403d516784cb089fee09b5aa3fe9a68a063054a70ac1b28812f37fe2c0e9bb75426031e7134e10b9a7505caecdd948150b881ef66e5c07bf0123d55bf5556b6c2317903bbb29627cc1fd863d4087468ead2a4224e44328f9d5ff03b415c8303ece09d4403b936c10ba3475bac42f9a9a4a54a637fe926e2a9438a16710f815fbef77b52140329abfb04b43b932156e736792414a855fd83e45ad14f9e89d131866030386cab03894057247492253a620c4b2ba2bc00936659a47aa105733c6c00cf194357b03c0360465d1f28d1af56f0e14f25599e03c92fd2cd4cb214cd8df2bbfc52d527b06d034b8c3778d1a567650c7f0e9d9ef9345cffc7fcf66b4386d7b88fc3b00abe2a9c03813f593c6e76802621f752614d714581e5bf9a03084ac0b58b42543f0b79157d03861d383e8f49afdeb85c543ac8a6294e5ba6aacfba27cb738f4a747e6a6bbea203c359068b2eccdefa94855051d96639382fb64ed6b12ba65416355fa13d9dbfac03e21f8bf95e8e3e4f651742c105e9f1485d3c4ed919d90699a27f62833dd4855703cec5dbdefdcd8fab063291ad8448ae15d90f6f78267377b79e2ca388f85e6f0f0303f325b05c57e7b1ce6da2c41a39f27655c16bda662adb9ae849074a5ce2f8f300581f03bec97881f704eace17e0e3cd435ce29dee9454418ec2b9ab0370f15e2840410100581f03799e691264355d1b7f37c4de908e6033bedf8db7aaa2a324878f35a82cf0410100581f03ed2217b0444878d46c61f460b7f8501de084ccc874fc2072827cff11bfb0410102191031032e1dc31e84d361f45425ab634dfda43f1a508ed6b0649c99ab261a226f5fb632039c3717d08e417a03fd4c39145cf61311cfc5619e61f06ed2a7078d8abeb6826a033013e39a14bab4e7cce31841c682c5adfe344460d396f9c606b4aaa55536bb84031327804fb56c584b96c6f0ed52281a43655edead92fbe8bea0a1b1748fedee60034cf3936b9b0ef4749129dc807e08d91054403b152f8e29e0caa67d2b20c0b6e903c119fce2ef08bf99145eafa17262e17b832e20f77bbf4558df408343298ec8ce0374ae220369a1d14c6877acbe8b1d5e0321a6a9bc6061dc696b05b59c98e5a3bd0317cfb5163354fe40b599e1ffced298d8b71dd4b84cfc0ed726227983bea2347103f2136779b276a5cc0b961695bce5d9c8f685079a9ad4af132a8ec3916b30c43e00581f02a98626b15df60a36b64d5077c9c2c43aaeae307ae9453e1f54f877737afd41010219ffff030ab79049ad5c8a648a2285f49949366d6e0e1c7cbb8cfb824214e769c96b215f037298cf157014e0ea0984895d7f4579141f2b12f978c81b14f989e47029271c87035603195e2918534914cbcf9c77d7f2a7130101505536e53a16c6fc3b51450562033725ced9368fae827f8403e7c38b2d39bc24bc9faa23e06453e4ea9150ebf63d039c9489f13f959630b9ab24958a616f259812890970bf91ea0c76f2aafcaff88e034d3df56ebfe2e7e486a4fb349bba4411af92588724e14f563af0436de74ef20803e82c6c456a0b89607bdabe75f28a3caa603a8233e9be0fa8c9b8bd764648dab9039b058f8434788d1789739b528399b87090d99ff8730c83289de2093028c2c71f0344086bec3ae73fbdaa840306430520b8d6025e163906461bb4a16e9f9ca14d81034d93ba3b235018fa36e06da0e7965e9785b6858dc6814852f7b82c7cd56dcc300219ffff03b28122947d364a9851bddb01026e8ae4ee0b55e6d064ef8f815409cdb5d466c1033926a5b78300a8f28ec3a0da3e9dba33a55aa21a858113dddb88cdf143739ca40312a0c57b25ec07e34f872dccd1f4d734b4f9ff94e5a4269f2d3534e8fae5843503e096b6ea009ab654747140ded33ee2c4aba79a6d7b6b80cbb135861924e42b390387624c2a0fde7c608f047a0b71314b55ec6510cb0be539cbf39242ac187c85eb031e4fbd57c09c73edd74f400d3db42288c13d3679c675e0c19f4363ea9dcfdd630354dc4a54a150d23c8d363f117e80bd19975bf8780adc3dcfecda198a49f46d2c03780e5ceb56a058d19fa5f82553ae83cfb5da44d7b3cefb0cc13c36dc86c1a3eb03981b24b8fe732e2d3ca383f8ff6d1572ab1a140813d140a0f6c7eecac84ebd6303a9208cd250f08cddb710bf5ff038cee3a3a32f18f37d867990a19ec72d2ed9460219ffff039d8d6be30eb6a812ed211dd281789d1bc17079a98239163b9950b3d4489a2fdb03dfdbb53d81493547813eca9a9effc56a9569796e2d0ab38cda03bf5094e3f7ab034008e7a1122ce4d69dd79bc82cfe0918f4fdc6c0a3d0e8f0555819babd5ddd64032d057a871e870eb0c65a4b1f51fdd6af10a29e0252a8ee8fea1e1087d6b38462038e87acff7c985fa08913e8370f5a0cf1e49487361f67523f65b97b04e607a0bc03e8c2db758c8588fd6c8138993fe6ea27aca68ab772656f2c356a03a8fe01d47d032ac342d43f1ef6b13f29aa0776b5952abbae7ee2db1a7e962fa7c272d210fab00343840b60769d65f932ff5eb2dba5cd293567af04c24bca0df4152d8f65b21a1203f8057df43d8624dd882d0f2674bb6cd9a31f311bf15c067bce84d8d1eea14cf7039f80bdd62561b14bf71c6720a373c3dfad89db9d9b75bdca2cb409f8c80972b9038d901ffc52fbaf3f2c790c184a3a708fc0e7642754ee82adbbf113789d6ecce1039887f6eaf702a3cd598b99a33ae1e89c9e815736193d67f3e316d0c9c951046803cda1b237cfde7d63701d868dbc948f1d1f3029336666eff5cf43033e1d664a3800581f039eb83b0c9c605304b3558c48ab04b27d55c7e7ccfe6198929896e5452e50410103e428000ea83d270c41bac0f8c413f4f3d171f4f7306d287df6b55b1cc013779a00581f0392794394bbcea02015f700ccc924109a27aef2f04593f2ae736975e49e004101021928080358b0d3e0648bac4df15026bdb783587b88484b0161a64381302b4b10c2d8249003fe5e55006f2372fd753ccd3bd45b41cf2175a9428a75e03a530fb8a4797b89340356bcff80fa09cbd6154213603d69f6fefa9dff48efbd87d8640d160556dad82603dc2933e8c9c14e522db3aa0f78ce4364e5204bdc9a547468603f0a99097a92e903cd6575b4a2a2158b99d139f4a92dd3779c268148f8bbc5e241ecbcaf234d33db03d8aacbdc8391850539d6192e4959fb8ac218e50343eb11498309dc06d1beed62035f393e938ea2614331f44a3eb531067fae03a1af6c855213f905550fd5e130fa03d67747c0b4bb68cddef521468de55c1e180537008145288c9f4b4632e4807a6f032c70e13c83c6b546a48e8e313e7250eb24b9b4ac2ca7673afd8eefba08a3861903b7691448d2b5034560b2c12bf8fbf854a5bd0f1105de15beded0bd68a37e308803f872c7df43b9f08cf3bf624abe49923fbd36d263cf442a0db99b393d499a1e710343d56540e790c9c84cd840e2b0a8996e2c1d4a756da815ff45bb3baac03d829c0219f7ff03a91001e498895292fa7709427a104f4d40aadfc8b26d294f5c3d906ac38ad13d0358e2290193cc71efebec6acad6cc72ee5156aa6f2b41a04dafbd9248db34c8f103982721451a1d7f7202024a8beb7708ded2811df71aa4620366e44b9aec55933203291f4d1ccc47721a9714f99138a8ba39333d629dacbb07846b7657a7acf46d630219ffff039d848e970a6bd3cbba4dcde3fa675385b6064ca14b44d5bb3ea248a8efa47584037c1f21e92c42a2e078fea37af9f6ad24aedddd1d507af215f3619636629fa8ff032f1e8a4c1d7d6a671834ee764036ca88a11b741a558a2205de91582b32d374be03b174a91bf75ccc11aea8a867ea88f9db0363a37db1fb24084fbeff043f3ac9ae03aeb643440b62a36b58d89c70adc803bc31ade3d50c216dabdf24af2e910c59c30331446d172308f42786e510da6bcc862cdca21be403af584ac7cd74586cd465690383e935cecd6879dcc0dda01f8f49e209ab55b81bf4c2dcff167d6df50a98cc8503fe3e0e1d11eb4f8debc64388254af74f80f24094ff37032c32bf5653b9c6f2520313b3137b0760202a16ac9731950d2834fd59796394a73629a6db4227fadea2cf03d34047c8d02459b826e3e09219eac3b64f639be693088501d2e563dcf1d6553203266cb0b071fcef7ad2accebd7a79824304ea4d3787a144a8f38c4ddac40ef9ee0391829b67665747be616321ed7c0c951569f8e677249e20ac12129bc03ae17085036c2c500f4e8fbff1faaed5fd32a62365a8f39f6655e3fa019a8eda95e3fdcbf9035526fa4e970577a8b37d59e2712760d9df89d2d16f6e7ceb1ff27db7025d45d90306e6577f0e206046bf23cedcea88d71bbd74d74c00e35cc34dc122aa2f025815034d4e7ca3d91a51062550620a7dcfb1d6d4e51c8b214a6f61c8b9d78718c6245b0390e46498d24a9b2edc2a2389d2b8c0fcb6542ff7f4bd64670ba3264681f7bc3c03122be09e92576537d8847a071465bf77bb5f58893e4491d87ab9c6b905d84c7703ddfc5651e526ab852279e7d28092eb4c3d22aaac6df7c2d06e1691d9186a54a2030f5ff309baf50522182bb0659e25006c7d692320403bee73bd0a85c3ef38fc160397ec06c2ed7681248b05cbcb4b591145b2df337b131d235f31918ae4cf3873410348027e3135fe2f94a4309641825b2847f166273f2fcf82ced8837576fa60b58c00581f03ec292070ee50d2858111dde58722b9630f7c61b13bf56274fcc35e04644041010370ca432769f6da172d7751c0aec6077e518f8b66286cc842d5f261b00572b268014104035b28ae97ddcde0ec265b1558fec7a2280523a630e76743b721c9052cd3afe17d00581f03fa17c3d1b22c319c7e5e491ab0b457204ecae140e96143bbbe7b19b4904041010325f77d199fe3ba41d1144756af82d588fb548e3241b07c010623541dc8c638f300581f03f2d07edda4d2f9912f81e759ebd8c3b884dd484ce121926e1c2030d39de0410102198c1503c4976a0bcbb6de809b83293a2864f67a08144a4f6028e2afc99840b87c26246e0219ffff03b20ea8a5d1e15576f6ee224b8683220c0c6ad6509467cdbaac6e86ec0ff412da038b4dc18285a2b5140d75e1a6dff1f2a0f2f80d3bdbb646feaec71d7d1c59fc42030fe06cd51363eaedc5b10367048672b47cc33e8a50a38f90d3c3fd3007e727ab0338f0eeb864e746ae8de3630bf09d4b7bfc764e4d33ffa5b5797da42d5210c212035d9e17ae6a33f2758ef9da0df17cc8cbdc3d801cdf78f5770d5cfad362cf2288031bef333ab5227aae6e976f648e76da8098cc328c953816a1de75446cde162c6c034b7bed9bc5bfc912974ae7ce4afc8b9f48f87b0be459dec856bc8022d998133b0219ffff0339dd295c6594a21b22c8dd1281e8c438ee1561db2df7ffa14a2a225ce3f6f74403a2cb3943b18462240b3665de95c2b3aed67cc8cb047210b27a48ab4a4247c63003ad59ccbdfce61cacbdb9dc11fc98811f204700cea7d4b5b905ad983e24fe4aed034bc58da475d1472395447d86fccb4ceb9458c8af856edd37c9a8d7498cae10d703e488e33ee2702c304e27333df60f0ae28a8ecff15c4c3d5d7e0cad2977511702037ad466c95751a88b315cd5e44cc27d7a464cd860b2be6d28f7e87d88bf488adc0395677ad9c7beb178ae3a12e6b54e650357efe1aa2889e5e6f0136d0f825e08fd0396c85db357cc9b3877fb9e278033799427b24bd77b5619084fdf2b51d76cce8e03e05b890ed927449d2477b6c5c77a8e29646b12e247c15a5b2f78558fe33357ef00581f03e91195a65f452889e4859d7523fbb2013edb2d7a05f6d9195843dcb8d950410100581f03d254bfa9438d0cbfe6c32e229a516e852a1fa55f5e6cfc4b0f8172c475f041010219080203e4c1aa59ed865a74b87313207d4798f2288e8afbc5a861e5e9e3a4e91b6f4fc500581f02982d823526503b36c96e4a12987ccba05c3f78b0ba378ca3f01363b0c7a3410100581f028ed9b79ab0fa99afbbff4244253f1751a0b61987f2dd130272b80fa12c1e41010372ecbf7342b1d94ea8b576e36a18dfbe78978643dbb0a2528802b208a6cabc9603d63c6672a213c6072e6fef8d3771d910117f111e3b863292b16f4377019c3a5b03986225fb807a5d642e5a95e4ac1aec19ac6e595f7ea8c1f339839dbe04f0295d0342f28e1e2cdedc9f98df3329fc74e35a7cf4573dab3952224ed476a5b688585a03a35dc7cb9dca9d53245e51691f5e674d8a7b2752c2c3d7d2395918da52fc6475031d6550d03eb4520718d42f73c90b05f6e0cbeeca785cce0af3e14fdfa334451600581f02d7dc57462e6d77adb9c88893e350d40e198adc3587e0f51785ae9f36455a4101030bb71599d779edb349d07c7edb8f0177cd40a2762b58b0350c9db0d16f225ec003c8218d18593d614ea9f5a402ad39871c1c32322db8f13cf012e64e44f46da78a030cef2182531dd42d4a538034861cb68ac4598787d87137f3585b7514b5e689110356e3f41bda69f4fc0d7cb25b9a111c3dc98a7a458f3d487cfa71bee7821587f00219ffff03bfd3fa9adb8067c2add1ea1214d36393a1747c0dc6801962620b443cd58e06710331b636dd05b9dd704eeaf92b109a13e0347db6bc6194f9f91452cbe2ca1e80da03b3fd0c3af9c0864789a2038542ae419db5073e108b1fd99289facf09ccbe321a03f4eb81a238670b39232850ed04dca4b5a7353f043254b942f845c6b248ad16d8036b548d756891303b30fbb5259142484722e400caf24f8f1f31218c9696f5df8203160d98fba4bcf043a8e78bdef3d45bc49a3372071cf627ab8fa0a636f95384fa0338870a91085c9965c4cca42d40cbe7564e3c95e1a8fea497da1f21b3eeeebbff03f03c2600b3b6474fb60bfece5ad0a949705ae3ea595bb8c5c137886a7e29f4ab037c2caf7ad631323d22dce9e7d3fac4ca44674284b810f2a0e4d0dde491e825d20389984091124a3ab8b3796351ac44b8cd58d13896fc8f95b78bd2b993518fb2d80308401f9dde07e5e702c05131c459c59e37b6074107744c11fc22de85f9b319770219ffff03b91fc2ca3e4a55ef93fca8e0ae748ac456bf2e16cedaf4df0f01547d356d6a5603f30dfb9d17760174ae69a89fe9cbbc8e43fb2f66aad4c5d27d63ed3996ca31730318ea5840080fae089d5e7caa105ded26e0243569e900145bed7b8a43424fcbfd03f77ed21850f2fd01326eba7ea1480571612b7d47a874fa9952e09e719455fac603f7842c9728161f43a3cdf3cc62ade9afa1dd58f2086d3a5cee76077455f846ba039aa62bb81036ec7f2e24bdf885403368d9163e687d2255addd7f5bb1dd1169c30343a5bc005dd0f6a756f326689213cc22218ca830994063bedb36bd843d90e291039df20de04466de8a87634dc7021ad1f3741b76145395b3c7fd26bbe570912dbf03ccf559416b964db345eceae8c34275ae0f523bbc32a7084cd73f0f783334bc760219ffff0219ffff05581e03c47094e99821070be4a2bf4d0e8b02ff0777947b65e1ed3662829174e0070119112105581e035a6ac5347e7ee735699ae853e21f31270ce2439acb37e2e9a5244d8bc00c0447016d48b80c1c6803ec5581a782d1f2c80d52fe9010996f2b926f0cde703018e06b643fc588914ac003fb86eb1ac900b9c43e930d302938b8aa0747bcc3d5b48b6cea7e65148bb4f9e30219df760330061a555ce3213b20a68dfb751538531adb391d2c6321aceab54f06884a9bb703d8f19f63084653f7112c7b1a6a118140381a7ca4c1259c78b488833a1adc282103d1d2d0ff1ed74723286c6f5bda917b39c57256deaff384f2a6940468b131a8ec0383ca4444b447b8b084b6363c4a157bfc08a4643be1fd074e541bdab9f53014b903c73b569af8d8d16c44e8dbb1171a6af891c0b2db189aa9dc67896e5897d608030307e23eff6befd06f08c8af7b808fa72c4c0d85c9e83026eadd4869c2f8b388d70219ffff03e1f9629cf0f031dac557d7f08053c3793e5874f654c3a5be75b867c7a807f5e00219ffff03c0d51b364baf6e248bb3b67cb3723de21412709a6d4f0bbdcf7e15eaf20ae9d603ae430e5d6bf672b465e96e83a67cc8db82e5fd9de47d2d18a8b95804208f6916032b95086dcb3fd26986c22450a6b953c241c350e92432e985d8156c1925227219033cbeffb2d1bd0bd1e324e6e44a168f9c7a890163d8e5bdaadb829deb5ff42594034f44e0919e6969d766e19bf62f6cda90a79bb15f7b3c7006453f26d5f9b1d2a803c110362a01f1e91048561b1c8ff7883d5f50f7e27ee9d6e5be6b74163b2c6c6003cc896aee6881b9f40ecfc8926d7dcb66d13737c5fa52cc7691672512b52e727a038e1e9274f89622ba26e224920e2b80a21076ec3553f19864974500bab96d43530375f3ffe986fcab93113e7fc3f00a6b7d072c30d187b25c9ac8b5906a427f2b58038bead597cc32ede529558d5fca03bc3cad8a9a159d537c9a2c39e092e2c036e203075305941b1b36797295d9c92ec57504a386c4a65dcd1676fcbf41c2b6b698960219ffff03b88d3a4e20689a0d2388ce457773696d43432900dfed143508f3e1b11c3baf9d0372332f17868e9f405aefa93bcfaf67132cae11b98358a643e715b634c1a0263003ccc4b37f330f19cc53c722e2f2dfa54543d2d4bb1ffaf4c0f5fc1e7b927038ea038959f143a81385c4b33817d4d7ccbf744bced9dc933f22865be85ca14318958903737ea935aa22f3ef457383efca99ac2c0475fe295258f8499eec15e847534342033d38abfbef2a6863ac31741f7079a3c113ac17305b82e6af6f31de7644df527903f61d704872b0cf7c74540250c1004eef90de938b8758dcd18787961162465a74030280bab9b6e69dcddd3be7e6d97a54b4f1ac44f4267a4279cab7d730886952b703f3c106ecd55879f91acd5a21be25f3d5590de4c7dbf0122f1bfad336181c3f3003dcecd51d9df75cb95e6764b4aba756469b8e7e4b2c84eb8dd655d0629bd723f703c02a84de3a979b68a6fde39798201b97367c67e1de902f5f83688849ecf46a250304530b90f4ec0f3e3dc517f064fc552e6e03b256c8abbbec7325e6e69b18c88c036cf5c6b55c49e66d15f511a0ae35b38459a385d7eccff5ff46d7e2a8091df2ee03d2c96f01b56e38029d6a0f728fc67840e78f6f03e70d9b948ea8087bfd2bd57c036ae7b614c53e192c8a61c3a8104a5c5732ae1a0531c7ff90cc06a642a5a3cbdd0337308b11c7c2546f80de873a747b1c9969b2d0ec5880f28580d865b94e4f8c9a03e184fa8df83eac77ad34766b7c7514cdd1a24be530c5711b1708d1a3382a053403afced0efc14bf6b069ac4ec4cdeb02c4969d3d6843acbdd1b91d0e1bd00ce5cd038595968279a51f04008df12cff14cfdb688ac6a226d914101695f4c093ab99970315ca7c3d825b560a6a109c14d434384ac7600e9328586ebce2001f5f8b2ea9f303af4883055f698d69c9397e201354b2a6bafe92c70b58783594f4ef032cde949403214bfc8f6448339249d01986e2b84672f33bd73d9ea7fc70d05d6ba54a9010ac0331cd3c6e6c2ec3533e3a0a829939a864a529267118e92b043f1befa1acb15926038a8d7adff0eda97e95cee8178f35b5432837527c5d23674975273283752ea1ff03d07ddd5e20b96098327a76f7b40a8f14a3dfb0b9960b499d89dc14f1f7eba2ad03f70dbdc7214c6b0be6d33a3a580dc6ed5904b7b29085a219f9ab72f1f76442c6033cd232095b76f140f43b2e5df3400d4a5d3d8c982cca08ec97e1f16f1882cfe4039414a82e163e03d0aae38c67bd6b246809923001bd0061e3ee2ea6840296d8ab03fa196c7ab6772535be387427bb7a99fcab57e90e0d29b20953973d71ed7ea9b703c51c9bad249216bfb73cd4b62b7975a10df1bebf034197e4057b1d2a6fb170d7038c6c0314b9ab59b7e6300bd5226eca72d78c2d6da4d7647c7140217f791202a103836489085ecf69369b0328511543f2d01a0bd6a2194e63f0ceeda2f859b67bab031174c210ba4fc842cf8a1bf400214fb13b162f7ce0901b015e96bdc2591a303503415bc8b8e464889eebab9e34111663023445f52f2c010497f399c063caa8088803c4fe2a075a00485824654c17eace999d2fcb9487b2968451ab52d2bb7da767790605581e035906a321231ada6f21269909f53ad8784d4093410f3bd3ce6f124e9f0007011bffffffffffffffff05581e03437d9e1f65c068e3699b7fd482cd198ca3191feccc0febecd68e24ecc00c024681c12bfd16f005581d02444f2918478621905878d4ba64707d8fb836607a3733514ca3a298020c1903f0470d241a2149ff7b05581d0240ee52043676c89f7714a1ee1aba8714ca780a487dff377c42e50234040102191040030ab15a3020c13a6359506a9bf47bdb75959dc7ae45d91a1a4e8729e2c0711b7203a0227c8c9a2ff8c4a649ece99eaca907859bc65db5786c16241d67b44b501ec705581e033ad5be6041b5c676dd4583c5d9ec567b862a3e541a9cc39e4767f82a80040103e888978e8f56b6c905a26f7b7ee6a57236e270449ab8e4f7f47ee61aebe70a7e05581e038d0a5c875e6cf0debf6f9339d0dbbdd561277877f43c3c2246080cdb00040103e96b07dcb9479c1484ebf072734b7c0a24fe5365a6c449d6ce0f8a1fc3025d9303f06617c08831987a08e945780651d07c43686b52cb3d9dcfe26aec789739d3ba05581e03589210d9a4109a17c2bcc50c3cf150b8047ca393d21ff0026cc2b6d010040103f8dc34b26fabb195064b76317cd5ec99f75cd23697b65d18ae2f026ffcb45d0b03be41931a3fda3004bbda520430ac6c7f08b397e038c966b9d03d633b6c0c74780219ffb7038f188c65df74a38a95e80cbcad63c9f504e0d9e0a914df34649a5ba303016dfa03099d15dced8aeeb43b781b16662ed8e9629006172c61d97c279b773caa6bde600330b91af0b5a623caaef5c2a6b9510ea0dce3d2c1e0f7a317f91cd41c16c1f1af0397f0d41138fe644fb5d8a022ffe2e0e7d94c509fe224535ccb1effd2992c00bb034a2b6c8e32fcfe02bd23d0c5b312a44dbd3bc90a4a6dacd62298b8f4cf4b1c9a031afb04c1cd2fa4802796214eb39f487d0eed762d0b342057fee1ca29bbf187b003de0c30a0d7a23343bf5783d0a2999ba689de49c543b876308479f4ae2f53c0fc0219ffff03b3c25d510ba69deb4eacaee31ca9b28b1b9978f23e8f6e866630971085d09ff6039b050346d031d799533c85cb5c77830bdb08b42ca7fdfe9d87c26d3b84e8a92803b3e033691a2513f7e4a68c252c55532552e660d44d141d4c787d5882325a9b790219ffff03d29a74d5333dbd8bb53d59bfc2b14336f71aa8e3ae37b550da7d7b0cf9f8d08603c094e15d319b35b8a4bb0742e3acf4a5125e8a674f7ec4b8392154a64f8deb7b0219ffff03ee4e1dfb5c181b54bee3138384a8bfb53fb1a6e1f53387befe8d4e5b81908436030238a68bb1a3f8ec27465fd640a0908d1079fbcad75370ce6d265a9633d8149103ea9da129971fac91b5a7765a867b4f837b7874599372923cc22395581c8cafa903021b8f31b5e7a66cb12299441e0fe8b9b49bc4e2070fb0783ad6f43a1be6b45003657256f289a40a720f20e016bf5ecf0092eec236d436cec9b87bbbee15b149cf03c65945ec0a9d1acdb9c62e840ac0f8d7d4196b8b0f48bbd3a91c6bb22ddd277603db8a3139fec27c51bfdd60c8ec91865ae017b40da1b47500c9c0f42cf07760150395e18646d5ceb60edd92cd370312a980e8f27ef572a699b3ae51492ec67d183f0364ec9ce13b388856253bae8179ac5c97e340c3c047bb8ef33ff45f0f6215202f0348d5236dd04f311483134212be861b80f22a0c7f1752b7cb53b65b83506bc4e0033c8df2c6635bfa71570589f6e2c1263a52517f3fd1a55d2f71bfc037b79496df0328c379412f4ed20442ec02f7ca379311eb920936bd3c70ce09617e8814f3c37903b6d43fafc0c4ef7c1340672d0a89355d6bae2cbf845edd210a371e35cbaf24be0330f8ea97fd424d9e2bf1584af5a5a8d65295fa76047c9bacc8dc67e416487c68033e319e3a6914439c8f51e3c3bcbe5fabf0734f2e9f653f55ddd1a915708156b30379e74d3fc8d68d7dc5078ac3c01f73be5f5d987160ad6dc51c8b94e1a4f260cd0375cf5a6b29e8618c98e44e2469a3a09272a3fc10a96380567547e5cae603903103fb2b40a8abedfc25971c60963acc56f0b9fd952116ab3c49ba64c6856ff07e45038a98b5201b9597eb6971179f8b31ce5ee3953a986d80ab4a9c87655fb19f101d0325996ba402ef6613d6fe59f2c9341e95eaffea868f9f93ee3c6db7dcdf0ea5f103b6263d860ede58dea66724bd35aa68a3f3b311d09e879ba14756df5ab54469b7037e26b782874a955bcd5a95377afc04ac9b30102a16a9e9cac0f46d0d23728ef403f2415585aa8fa21118062f4a49814026fd45f977e3dc3bc7d6083f4ca106163503bede9f3bf8c5ec18ffb2c275871f48070d5c64e5b2837fa71a46d4c104493cf70353c047f42cbacb3526c1dd7c5f6adc56b5da59850f8228b010884410fee8e0f00397798375b2b816e718f9ad4830026b7e4edacbc7756bad9a9fb09276e76b6a7c0373ca7e8d11f6c92b6acb844a308532bf915d349eb3541834feeb9dbbcbd9129b035ceefc61817bd5b12c87055390644db4f210e5d73deccd0750f507f222c203fd03e4adc5620fa213473829ba19a9aa3bc18bef220c65e1812f903fcf1001ae81b305581e03b47fd8c4076a36205a99caf282cf80ebbc2f012ef4f5a59bb1c7d93400040303d92333ad5f469b9954fa3d9eeee2ff4b66965ce8c1e86d083fc71072d4379e450349d8c1ce249cce25c3cf1a0de7b68dcbaa72561be4d15fa454aa8ad2c31c5e2d0141080311134262f102a7b06a7c1b00be80154dd7ce01e81a94ca9c5d0ea80eca5f8b4f05581e03d11a6c6f01c9d39378362e2c59b8f11e197e69fa43104529b52d43bf000c014714b82c5054800005581e03c47f2e846f2ed68596769e53b38bc79ac5269a72f4f79518389071ffa0040103ca128dfda98bcbc78b8167ed1da4b60d7c18ccce0983bfc913952c4d78017d4b032ebab779e53e64cef878263e96a6f52371302db9c99fabd2cb1b6933cd4f842b05581e03d5bf533213a9cf716a72d3634688b274d6e90562525fda803e4b1b64a0040603f49805d991d75952c93c9959e68f7354badbda8bf3b6efc153f3ab1741d5e85805581d0297303c89ee1baa2515b7f8fef036cff09273ce4e1646eb8ada1f87780c19023e4902289be89915155061037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581d026b4c71e926d5780fce9dad26aa9b2d5b9d96ae9f08c302333550ddd807011bffffffffffffffff021940800219df5a03c29d7a6574b3d7e227fcc5d61c4551ba1d7f7cda4e3d35788080441159ed847203506d1459864a42fe2342da23c28480fc57545f98b2ccb3ab75caea442469753a0353e513407258044fad54e6e85e9575a50978c8acac132eb9b28b55c47c4f7ed703cf949c409293d3bb1c1383baa8e10ba807ed7a3e08f86f74559bb8d49999abb403f5da2c89a2b78f53634ac2b1b3c21cc5e92c0deb86a4ae93ede17a79e49655d203e4e16ef5589321b6e65332d4d9282f2e5c9c0fb9d9ef185d99c347d480d1b1e9035189c29406a72ce236ee6d9b41221a02949d2ede3712421f117a32b9f4bf4c950371c73ba5f241cce54b2b1fa8ff5fee4900f0ff60bd81a4b4b83f92388181ccf90219ffff0219ffff03daad56c4f1654c255c34bb557a652f9926ad193caf6282f01740d88bf4aa612103ff43b1189097a306213eced972942c4074a16b555eb420646492dc6b7097f74003cf323cdadd85b81d0520170a302fe6aa4c9cc6ce0c796f1d828ccc79d5257b23031d083e6c5e89d4d5bfe155daf68dfe53ae4ec0b7168423ce13d100155fd540640390d175cdfa31db705b60d4b17968019e38d2b8002aac2b626aed313a58fb816c03cff1527205f429f5c72b3d19e0710a29a329fc304e0a7a6062f1ea3b50fc428d03199c59feea24b845c342cf6a654f9cca759d2d18134e7186615cba0374a2dfcb03bd6c796c232fc46321e03ea6050136b7e704610174f84f646666d401d8b567c403edfd6721655bc8466624fe67bf5f210c239abd1e3e81730d704e1dbd1002fa89032ec1f3a06723b9e3544de66d67ec0da0cbb6f8912f23966b7713acd583ca1fa90219ffff03e35e8bd96040a541084a7f9991ed3af192ee67de09e25cac9ad51757426c1e590378ea22e836f882c4894656d29124717c5fe2a9b0fa711ee26d1f98089b8f6f3f03649d54f53d0610c9836c0e1f3e1a8496aa0f670f4a8f7f23d0b0ee76e8371e15035e44732c2828badd61360a6cfca885c75fef6bb949eb0771bdf422eba2beb20203d3188ac1e797d7da0f01f135249a623c40ecdf5e20b172d1a5eb072c39e6a11b0324d49b0bf17c1d66dddd21713bc7e547dc6dabefe616e2d42a2964fe3a5aa401037944250b8474f437e62df9cacdfcbc2137f163847e3122c71db2320502757e99039175a5eebb04fe71409e14fb5502ec499a1838985cb4706a0680de9f1d35350b0219ffff036b7cbc6d91dc941567cededa24e8c39b7635c16842d5e198d3fb389aecfebb33034e2da3262ad85843b1b7767352045a8b43b8268474d4c1481bd910390774b4e6038f5c341b48c1a8992e1537c176c0149bb0501396c3fad3995c103692aa402a8b03e6aafb7136ee2cbffdebfed92709c4ae1471084bbe8403ac93a1a7cbc47f030103a5db18174ea6e7ea53edd16088189a6f85a6b7eae59bc7f0f5f858771cf67da603aab251dae5da27322995993adba151045b6942b2f7a1589835ae6df3d0101d0e03f52b95301a40306087aab9455ab443a2cf1b0acf50e527e3a10cf1fb5bfe870203be7e670318d590d05f2e879efa819f9d8c7ee5b724b0b40c52f948ca4cbced30030b864ea474a39e2943a456deecbaf70aada99ba90cbcde5c020e71c1a261c8c503f4fe0ed4816e9ce45939eaa922816550899900c3b3c282bbee7449f8ce6786100338bdbbee0b3f3a5346fa57df9badbd32a63966ec9ea3baee12bb85ce7b91b6e10371ea8b098acbc48d8c8ac5ea184fe5034161d7f79ece2d35c93c8311becfd0ff039919b2cc51b6cd1eac2c10a51cc76fef00c14a291e34270908d489947eaa1ef003d068272b9693990b6af128086e1406b0720899be77fd73ff864baaec98fad3ce03ef4bf596dd07120f49867e3ef252912c2484f9c678083d88ad431a8b1a04cb3b039eaa64413437edde6003236359ce258640ce721d184c382477fc7c98b7e11e6f03470fff8f4f7c6af58bb40355540f33d2a64ab49e3ca70f4e6f827fa5278718e3031a9788ad50cbe6ca0af61ba52de1fee14cf5ce1e1205f74ed4808798c1651056036b68b00b0ffc8515ec371bd2663409442d0cbb606874716412a846709c9cc7b3031e2a2d8d10838cd242ca74699ca5787cf1e4bd91a694a95bfb6078dc93c7bc4f038900d69b83b72d32a4b0d6abefb00a03c9163fa154bb0e9a4880f4afb422a5820375a3f9f9bca49f5a402bcb56c2fe2493431cb033201dc7db6b30b11b4c0ba76a0322c68e1208c5ff18bb9b446b049cdaada84750617dacfa3ec2a1980a8d8154de03c79f800a7b4a37339be8cd25d2f9461a5f033d8acf197e301e31105ecdc9f2fc031bf8c3973e710ced53aebc5f776945d3c3ebaa294fff99b8ce3aad7c9f0f7bad0396580a714f8fc8dd1afde49243aafb2e092d2350f6922cbb0f0e7d5a766689d603112cf3164754295e936bcb1934181b455f2a9b3b31f38f7d5cc2bedb1f27c5b303d9ee2e75524776de560b959ae50dd340cbbd67520585d057a8fb59cb8e67c76603419b12b02642a22dfefd96b394bd11b3a0a0da12a0c521055e763cd2cd0471a303c31197d5d42ab9e9e36048e9ab9df668a5f89992ab985d256d66130bb74d86c203be3fb1bfab78103409c8127f3d1baf4c509507ee030c96e75ac43d350b7cad0003027300b1ace6375cceb2235e3fc96becd18708c37f15b0405c88f743355f493c03c3d451b8d8c252ce0c8591dc8886bd6e3eb2b90d486ee0aa9a34f10c7b982c170392dfad306800f310af216e69f09a507f2db5610884c970640bfd863888470f9d03d357cc3fed0287ca59e09542502c3e091f95fbfb763a844953f28f22dc1a578303ccf10370ce7ce4785877ce851c6b43e591961165118e4a9daa51e7c1754f7515036d92e2a12cb334975430b48f2aeca2cb5a308305ce89198c524673020d71e8cd0308b53bc8f11bbaa9c7c9795f8e6d8f4d5e40e6e4080717a37a5d3284ef3c3e9305581e0375ca9a6991683e8dad3c95c5063f212f862a036d97ba2521b1d5bb26a0040205581e031efa61381843b0b9be72a1d9742f97273e0fbae2d8830dbab753d3bc50040105581d02236ddd90981fd68bbcbf72ee6a93d8c2bd85c3cac0cab7d99329c35f04020459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c6343000802003303d99943c14898c00a3e1e9b6764f23c25faaf88fbfaf2e864636f5f74be7a2852038c7c2115dcd71a22a0f2820ac1cf0d8988d0e2ce5fa252d521b426ec461faa310354250e6c0894591a414d955c91dbb6991ce012c1b0a953568d44b1af12ebabbe036923758acb083f79926de83187e50c9b7c78bbdfa0d44abdbd165bab8143a3e603c7b51a4596ba43e7d1cf2ce9fe7abb54075c0033c326b600250f7d6d84aca0bc031ca9cc186131b2d30a65160fc8a5f897927f16f05b5c5b41970cf3d4042abd4b03133813e74d55b5fada9d22f0a2dc150a44c9a29f40c0ce7c8313b0edc0dd57250335337f03c889fdd380ac43a8c4cb36b1e4a4d511a1858406cf13dd41f77f74cb03b9b43b29da4e6f52d909e25272f39016d1feb3ea89bb98d4688f64a2ed6a39c4034078acb4d6012713a11b756f35ac1144632352a847c87daaacb1a65d3f4eab6a0306e7d06afa5380652e0ae0d97a94c23ee3fa9efabcfc017ee2ac9b45ead58e9603fbb70d68907d8cf2bc5b49d2b2024b063dd5cbdc2bf11f8bb6fec37f783e9d2d0350a13942afa8de2e4c92121e2ac58319d7907b7f81ce16c1410b723ee88dcf4503b9dd4b977646d29e2e79e39972a1f3698f936417584fc824805b34d9ebea2f56032e8b2bdce9dcb639412e6432e48537d17936348c35751a1a2528c905882f869e0361288bb2c37b0a0368ab0a9340b484f837ce8dc2e820c25035f092e58c1e679603ca7f76af55876d11f35f2af559bda56f79389a21db9e46e6a66c165a83e1fc4f036e9196fdf46ea6fbae0208a13b02a273742e5509563a312c0badaf01c9f5d603035bcc1695686aefccacd0630b65ce209860abaae64d0ee8202f7af9b7481bb90603cbe88885aa9109a2505380a177db3493b3bf2a577e275e1334c939a2b9893a8a030fede475b42c88b3d7f9a312142a575c903c129ba654e24df73e13df5281b37903924b4d734d83e11a6f1b32838893b4ddcfcffea1f2b95a6d2e3ad02fcfd235ba03838ff8fe87183815bbf8eefbd7ce92dfab6d6295aaeae0a2c0332aab7361818b03bb2b8b8c311bbfd6c065cb6a39098b57f4c9494bd8aa4501f0ef10255b406073032f36b29b81b0d77c342158d6d4e720272ec0326b4973b80ea4a551062136960003ec95ae965714cf284028c0da058c644fef80306e54599a86bb85a9dbf1873edd0377bccbf52f4455e29486ff4dbe900fa9beabbecf10bbcdb564b0f15fd16a9ae400581f02102b7e65feee072ea790c730dee885d7c84f7bd62c08df375fd7ccd72f0b5435e3a5f9a59a441f5b87416ed68eb99753e5917100581f031e47f92775a34f7eac4d13740eeaa2845b04c520a4ccccbefac010f176b0410100581f03abe526038520877fc7c33d81accf578af4a06c5fa6b0d038cae36e12711054f621fb08bbe51af70e7e0f4ea63496894166ff7f02190880033b012725867fc7ff5b05eb06606232e1689ac314edfe8e90d22345c9f918284600581f028352a268cf98de2d5245a9573486d4306272fea9775c6f5177da1d607f7a473795ac2f169231038f6dcf648011d999126446b8663366f1994ae5388db00efc598bd9a8db05336203c9372df791529005b17046555676840b79e75a0163efe7d2cbfb3c1086534e4903309c32b5fd1907a5308b5cbf1d166ecb453e77bd60fb6be14f6f5624b32bc96e0347f798c39d36333e6e6d19ff6d245053ca697cd503e23a06eb5093e53b0a5e0f03f6bcc9b0744f3318a352693e3ebb3a566fbb8180a27af6f1e8dcc2f935e4f0fe0219b4750219ffff03ee5371d861b0447b58d29571f019902d6a9dc6c5700cede08b7279fd6244a64003e2d2bd3b2c66fcdb5b8750666fb11fb14b1b95e2dcae4d3a2d7d5cd3823b845703739a5723cefa83150afcfe40d718079bc03c8a3b1c64506bf2583d8f07499f39034d43239aaea2f58d7aeed3b6fda0d3477aad10f85e5c37d10a2b5b4013811d9303e2458a593fd6c2b1bc6be78f9631e0e2bf5094951d2dd2bc03366a5b27123f2d0317bfc5fc746de071b823a23028ba995683eb6a4787b32e595196cb58faba637303c370ec514712a1145d0c562646f41be46904e0494f7c3b3eb34954cbd444ebc5031f2c8c227ca4c3244957ebdff7d4acf5436a07c168bfd673b7b16fbfbd7dc680033926a1ea10daac207742a02b98c1f422c87943d1da62d345904433b9c07655080329062c6bfc9e755d58ca2ad12f121d1c70275df237734e7b217d237e9024b5be033303541014783c7bdc37b6c2c77123eecfcf540ede3e4bcfe7a766006f8dde9603696814dc68abe466996ac72ef4a798cb081e13c95642157229095c3cd478bc86039e5dac2c7d6e38a2b1b816b221e91d5e8a3e861d9ae211ce3153ef7e5fd36195035f9cbcb5bda5a004017b84e761a78e9f30e46095bd99b75d6394f6bc8a03a9d4037b4315d77b58a43ac94a95772eca7f3fc0b812c094e2db2c7895795a929ffc9e00581f0220b21fafdbb9bb41582cbc2c14ad9d8ee60d474ada041263fe90a9f3bdc354591aa4c0f26713f94982e8b2a9bf826cb8fee42e0337875a61fd7e800f9335eeb84317bf77511ae4b79548deb06e11d78a2b088f3003b7866176cc8ae3a79b6e23da2441c1a4aede97ec979ee577325fbee91b4c43cf03bb3fddf1404de27624a12ec0cb581e75de9f632f62a8643cce4b5de4b036eb6500581f024d3b0147aa9446d86c3e8b565f23639bc6bce5b0adc9e2fd56f65da5f7d0410100581f02433fe35c90cba867dd984b9c1a70d774596a68f4cc851eb9c3f81ac96482410100581f02d25ab1c7679a6404f0a86e4f294ae872fd9ffd644c3223904bfb93b7f52e47b1a2bc2ec5000000581f02f556a58ba3917db1087c59656f737b2eaef65cd581d1ea274ef3146a7181486124fee993bc00000384bf245c451cec9f2a78e990f986fcd1d759f3a809b21664699a03b252b1c6ac0219dd1703959eca9a64781456c3e16fd0d396e0a92f88819078d8bc586af59b141d28f61003c0d364624c2102643c55796f455bf6dae8c1207953f4bef9765598383931aae20315b717ddc9c128acb1e31c13bd4ce5448f7333d5c4472ec5793cf1b8680d017d03998efd0da94d5ba8a674a0a25f2c572b3917940706e8a4d235ff60d0013416550343a47ccc467ecd5a5d51040fbf36f43047473cd3a44694c094c971286fb705c503754d933bc5f183a1065c171433e2f010e5e77e054494b75aa4e9c929a87db5030219ffff0219ffff036b00d044ffdc4011cec6ec89108316974178794fa45356a2dfdb9947b56b6208030c5e569c391e78249441343730980e9866800508ed127dca4aca4e9d7ce39bd7039a181379a7e06038210ee7ed7568563503a353e00c32d5a27fd6fd6c3f9d22aa034db3819b427da2624fcc87e7df948b48a5d524c631577d789fec84f3a13cc8aa03c3cb83ee10f1818a23befd42a0cbe7b59b2309c934bbfc22eea52dd0944f43340390f58724e79ffc6e7ce38aade27eba68816dc6f750177b234c8a859651ccf924032894417c8f1fcfcc79d86b2b4513a0960fab6a6ae4fb3467530726976455ffd80316da5a55a14c55cf2db927fb32c73d0a0c263cdd0f21ea910e26f862c23d3046034412ae5f0e65f7250e37763050fbd96b556acae45652895baaf9ca72cb6c0fae03aa03fb45fc0af3e1ec6d7008a632921261e7f6e8935e438bf6e1d4f26bfbc9820395a0aaa799e22a5032f77cb21b2d190dde3110a261438564a8096eb0885684a90319213a5a4f17d49918a0e774659f0211e47b14d9c29822c71acf08cbe7edc8f003e0161c54dac79840a500b22be17fe5f2476dce61af5f7726edbec205bd52327a03c882f4864b7e7dc5122b63a3e2f3a0e72b3a4cd75baf9404ef2a6abdf0e71e21036f7fdcb2d64dc76f430c72a6488dd444a1e48554023b7c6f1adf4c22e777690003f35abd005236551954ec4b7e54508a493779fe759019be8c263ca26e9a77d5d500581f0273d4060674a0353254012c71024abb46cde712a0619712343cd6fbd3b6784398968000581f02d8b6153d581198d0d921483d9e6d5c10b7876f2e4069393adcddc07a9d775403e0c59b67f9e722825179cfafc0c0a65125915303f5b5ef769e3ce9c6656ebf20074ea262f95ca41af9117f04218e654191f0395600581f02ea32b03274f8aa2ab4401725d9d92e74d90d43c59e05e474c6afbe2e01e154979991695832f3321ad014564f1143a060cece010397a357e5f2850a8438cb638e34220bd13a8e6e568e3362a4b729c2f70e3616bc038718811d76240dca626962a9111ebe33d95e240d250b67e9bf024de4cbbd597a03354f96a95c4ee0f9b4709ed25d6e0ff8a0f232b472441f71929958282abc928c00581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810541da522b35363c1eda4833bc121c8f3c67b2caa7500581f0352f4a711c6e5075b9f534c0a9f28353e000cb0dabeb4cea2f15b8ef1a3c0446e9e39df02190201021981bb03b515dd76a902e6f1c512c33200a010abfac7ba59f2fa8413d1b57d03f8274399034d8c17c13a8944444b1f4aa2026e148839f614dd16202387328a0a23bc0a55800219ffff0375208d9c00fe5f9821ffadaaaeb86598672c1ce4ec8a320031ee0cafbfcea2ec0385bc695162f769b36cde634f5cd471e6f0220fbe747443f81cc4b08574234c9b03dc3336b5d624016ff6fa8bab34b271b9648ae6fe642cd71cb4c53fa7908fb53c03b5d14d0c459ef04e0c5b3cc255d1570759572bea4fe0f39031fb4f745760521503fb90acdcd628c2904cd5b7aa685a9e4d3edef8a16e86040a94eb7c7c00eb3262030deb48550051151d0717ea6a39a15b879533db9bf592ebe7ab334dafdc8c16ad0310ec0fd2cd374950192cdd755ba4a21fee674aa89ae0284a915fdb27f4ea22b803141da2ac891a124dfc1a400acf4fd9a23befecb1a1e6efedb8404cfda9f129b703f8c98c12d92f6778dea999e5728d6c977c3da41e64ad011e9fbd9f5e3da1e0d703e697d7cf82e9a0689466231954dd7aec709df7b4aa5f4f2572d6a544bf37e59e03372888a58895ce6b51a7a7746f4a57d85a98fc47e2c0c4b3d3d28bc473041aef03e2c6375a37b13bf724c929be22798d59732c81ac60ea98cb05ac0d7a233250ae03d2fa23643f43c37e107475904a1e4b64281cfe874f0cf81d8758859be4d71bba0219ffff03a3d7e3aa97de0cbbfa63d77c7f70d59ddc149cc93705cf31872c7c9b80c672ed031d8f4cd9fb897719522694ae47d7e11463053f217f831951d3e4455e7594499a03564ae4b6344541de4cc2bbbd14f6f443bc102c077d2ccac10cc210747f202b6803023d592b0f8d9b61f747913340c3581f24176c4d4c31471a443160130793457003c2ee3e73c6a4485e335983264c7f1899d4c6918b9286575e5fb34e325a486a9e0344790360ce0752160d4c1ed748ea3930179621e84c10827c0d0ebf69bbe9ebca032b625e2ecb50762956014754594d9834d96f72b5fe6cce6f0e9a5c0a5abb441803a72d843b8a2e805eb81b4c45649393f6798b50c27d886505e6cf13d813573714030cacc36e3f585c74cc04f105dec89dcebcf603cf316b678f757012f8ccd84f8503d8dffb7b38839cd285621265936c8a71f4ca4962fd8dde18e68e1aa0145ce1ef035e90b4077c5b9b213abcb971bdf8afcc8defaf6f179c42d0b78543b826321a5403f5768958fdcb9afb82fc48e44e9b3229a95ceb7e3edd6dadc22e33c6a7f5ef7e03b2970bd90594136d16c1275d8f31d5a762b55bff162aaf204971240ecbf1358d0399b8e6925e4208825a811a84764e4a4a24c6c3de5d01163bc12993282b83890b03c5080f83139e260693d16fd8c2eb034b8f4f2697e55e0329a88875d8390745eb03288dc8a13314fa191827006df8d2eafde95dd5ac6c9e3c1f70292af39ab61e6f030896333357e139a2f0e9a4fa1e9c091113854a46243cb760cb63be727afcf01000581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054326adbe46d7e6c1b3927e9309b96df478bda6d1600581f03998b769b34a9f9b47f3011424ac3f0c167822f554834dba72bac942f343041010219080103c433f8ee6746a8207d75148c0e114ee007d6ac1e8ed2ffb4a3a8ff08f54f7fe40337e0580b6e31722ac20814ffa303162b595ee1115c20050b6d24a7c80bd8de1400581f021f0f0302f36398fb9ab7fd4dc64d82de5d7f2271144079dc3b4c9954717f54c92e8b5c489704ea31c47e0eb478a3a3889b1b4900581f026d0796519de0eef8c0ce5624733ce949a63d19614ad832311a087c6c18eb435decf200581f02242bfc2e532a6c6b0474766434221340b027e211689934bbc3540283d2c6410103f64cd2e1c56df8dacdd605a20e82eb7105f99c134d55c3e098fd108adc5ba47903359975665e905b7f21ebf71f7aa12d9ab4653b818e517bc6182dd6710771fb8802193e2c03cb4367b647dc598bc1829026a5cb776e16e0f8a00957743c5438d7f566f608b6034b307a98c9715c90ff8e29890a166a4020e77090b606e8ae7d54399f3064586d036fceb0bec40f48f933022eef9f4f0fc4673a03c030a01b93a426999fae60b6e5033eb0c90e9d58ca1c5e2232bbdeb9059413d717b3e4b99e6f6d8885a38572f6110219ffff031a159b981da0053c837d00d39900ea504b6ea3d09ca247845ca89ad8564acb3e0390fd938493baf1ee97cda7035838df446ad37b1b49047e1565823e8e0430ccd203a91cf6b01ceb55fb53fd1f8d5a9b87ca9192e7e0d85d85cf419968acab1a4d540302e474551120e3aae51e007b44bb818049ebf3f85ca75ec4dede7805d79f5fc003134972574f5ed18c4c3e2fc49bb1e414826e3361826be6444f4bdd70a853ad6403721e0db6818f89e42555c0f7168b35423a3c25a3356ab42c99ea1e55c95a2e2503d68cc60b505eea14874029851501d38c48254293db7c457e2e197b4f4925f2f103211f61c86faffe11cba03ca83d0290350c60d435705c5a4d6934f5dc0bf1d59203c5f52cbc264c2b85469b15aa41a547bfe4edcda906639d831824c2e9fa8afe8a038ead23e9cc312d615bcfd5b443994dc149331252941eb99caa745def93d585680344fd75fe9188fda4a75d6d75697d51200a9b3714acf57ae63c0621994a04e0020378ff626d40d475f0ebb26cd84c3ef920837d74d2a9849971a3c4555f0cbb9cbd03d16b2a051c9924ef0f3a19ad195ebf4d7714fee83c438f4714f299b39dbc92090377e30731847cb2e63876af50f4638800acd82868283258669c14340af157e14b0339cc434827f51b5ddf0e2233f5ea4535d40973007df27694da1a9a6a7c5e080e032f652d22cf1257e7c0fd4f1f759308a8683d52e4620f09af415a2acf7bada43c03b0f635de14fd43b4748eb556d41638161c0d1995a3e4de561dc63f50a62a081203a10dabb2f40e1ef1fdd96582f3534a69675c0421829459aa71d933423397909b03917facead8bb5ad4c3e69927bf5169b3f22d219d71ac00e8a9df5238dc643a9d035d5edbd6039a7667cfd311fbb9c56aed99e4e1cdd8b2bfd5e2c39d4f4651634700581f02f577d965fa633fca14aa0bb6b83d80163d7f150344624323ec64566825565501c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2038f8468ba676a3b4547514af3fc56d31aaa848c60c40fe07c611728e06f6e4b5300581f0298dac599d56c2865847752aa2c0eebc918d9667d235d6b63887646285f7e472aa1efb94e000000581f027328d043f111cbdb384eadc3d2ad64d015dc4de081ee4cc3ec5db26714975501c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20359807329323acf4df77015f70a3c1b06a847f5579fcec33bc456d64c3deabfb400581f02b0f68e611205925b85baa7bf3f5b52a6b4bfb9d66b4638a6e684ecc1a96c54ec669b13aa37d3178bf48f9ffb70c43ca58ee7d600581f02e26379ac733acab318447678e024f4a52a033a108f3d2ec5e97975fdcbd154c6c84944ec25fa4334fd1f2047813e0757526b1403db56b21ff56406ad03fcb489c398a2ada05cce3ec5c55c2111652b5750d1345d00581f02ae6f8f6be3f99c3aa5357f116e6c4fdfd9f78afb920941fc0fbc5565e4b154216159481ce4ab15e7d291e606b1b84bf07bc02303a5cfb6d6e7fff15221e3403306532df31f2d836a7635622ef091bb237c7db42d00581f025ac6557761c404ebc73f58e9949c2a79faab6e5b2ee65c920d6b084f09a7410100581f028e05fbd63f717084438e57f54e8ea8ec1f0272f43b9d5426eb837634da7f54e12286409bdacda63a6931c8e51ee1270dcbe88f0219feb303f96b939a192e4a2c97742f8d46483e0501bb965695719be77801d337406c02e2032c35b31e3ee2b189c865bad5ad6bce9c733ad68f04510c0e30e34a85a0aa3b4f03e15986fe6853f4002086a7e14c170c52d3afc53061611942052dd8a591ce967903b07e1c1b525eeba564c2ecb31d904c8d33d3ab59db8c23ba6ccee1c3368433e70219ffff0219ffff0398dd2f75fc8c0b97fb5d3cc0be7b5151c1fd654f54c68a234385ee57dfac1577038ef37238261094e81ca3b02d3a0ada1fbc1f2504de08d6d6fd43268cce9d76ea031e2f67fac1d78d4b03dad25edd9147fc171ea8cc7f229c56c16a166c001be0c10311ebe827d9aaa11baf59c16adf5878bbc26192a12e99dd2a413cd8d4cdeee75103f63ae8c25743309d92ec6d47d92c059d380323e36256f94e12fe5733a059c506031a5050892bf7dd86d41781bb80c9f3b331e4c21635dd5ddfea5200c792f2468703c03bab8e39f7a68fbec284d5cf3ad275bd39f45525759bcf71eb36691fe17c1f03ed76f02e8c071327b65c223406aba485fa5bfdf37957930acca17c6ad037933f03a975a551c30dac97074b2fae445f1f63499a01a9c49cfc034b48f8b1677df434032c457df3579be51e898596d26dc7074bdf2e11cc224504e7495c655dc74d55a303e839f71b250c371e66f12a1e3555451056f4ed06d0e68611272f8a142d47209c03467fc2ae283ea07f61d4738f5039aa11f1412e6c10ff051348fa36a7bb952d7d035e63188498d341a23d2c91e686f1c300fbf0322f448c7ef22026c30590049a170367ddbf6de827c0d416f8a77ea253b90fc6fe5eca51dc197b7b5a4f431c17243803b86e7ddcb7889ac81f746ab78ff655d5f676e260eb69f1de38f25017727902170350ea15ea8ebf09ed006245068b16dbda265c07db762be7a77d2147b0cbef570600581f02bff2d26922d69624758e67a0c98ca37452aec1b829b95b6fc47b8d9f1dad410100581f02933bbed4da957b05f86b86ee6bf98139ff799f95a54543bc8bfe919e77545467cc7e512b89ed07eceb36b8353265bf33434324036151d66eb7e39f72526bbefc37c58c168a6f30191660304c28df1dd6313db6da03d0e2d842080f7951ed5a6d5fc36af6d7f0c8542909c617b184d672ccd546002b00581f02e4c848bf2a2dc2e2edec6a4fb21806265f8e1572743eee05c00d1d4eb0f0440121ad7803d49fc24193343a3ebfb23e891892e7e62733f3bbc1d36d6a0b8bde705bca25f200581f02eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae545523985926aa12ba58dc5ad00ddca99678d7227e00581f026a1c66cfc34b8f3c4a80f64b26c7d2895be41f22ca4281cbbd689f26e32554a7c4581b3a4cb687199036fbbff2aed93364299600581f022c2b07cabe76d2757a84b962ecaa178222c3cc3c121cefccb67ac1127490547ea891aad396a0cb8231044871a466cdf824bb2c00581f02dc569357320c33be57d15c1262622db6601fff8c2731997dd3f4672c6e5a45015e86504c03b1964d50380f8816730cbf4e5b5b2bc87da5ce1e1bb7a6aa77f0182031d28d97031f1f688a4104cd4979867699f0ee27d12552b1e50a759f414ae7d9e38e8a557a00581f027e1e74c331eb7bc2896ea5934673122952bb170be63be6846f0f71897421410100581f02fc1cda87b15090d36334e156ee80a64155c340acb77d3ebbc914c13e68794711c37937e080000219dffd03a70f6265e62b15f2e54b9b80122737620b30063fb31d43186a749692fbe4516103e4d24640ba6b430ea21745b991355794d48a3af7ab7889ad2f9790b34f74d83203827293b62750e7d017bdf069967f4a41ece474c9418d5da1dc16dd51a58de0da0301225c05840e7ef70cc7b2014914543a8d5056154393b3110fcc39a76e2cf40d03fe2e8cdbc6f261a9e89a569efcbc0d7691822e2df7506dad44e69b98aeea067903aaadb7969317311b01cc54bfc75a4bb4de0111a3ca4f962411f9ac63f074d12a037842a02463c3bda442eaa5aa8505894b99e2badc531bb25dd3d25162901534dc0219ffff03712d6fd1b8f965cc92767ea14046fb0b5222170ffe76c28b00bc7b3e6e67c7560354fe7e3f1c736fc1d3fd860196d39eb12bb2752d613ecbfac10cce18bf5cd55303d2f4dadb617640257851b1d1a2e89dde59414d83d75cacff2ce14916cfb55da503c9d1af5be45a3ad8846cf5472d71b463bb34162c57e53231fba20fca1aaec9d4036446a00c2d46644cbe53a2a6f177395bf2391ad6912f8a41369d41e9a0c8e24d0378fe81e5a31838b74317a7f276af8fdf9442adff3e5e88dd3d876f75ab085a7003d0abd7fdcc06a2b6f8988a8b363787467f573ea9e35e71b3817340b0d2e6f7490301e6f5e1750b5c6c66e01b278e27e5d3e284e8a163ec9059d5c2716ee3f4e3100219ffff0354b424355aaf2d16f137ab32bf6b4b09a4aea34d91211cdcbf3922435fded5b0035e2ba88e5d8c9ceaf86c0c8f16a972d5057cc83b1234a29cba7ec91d06761e550380c3b55d0b91415287b4f87797931f5f5109472c02d43d20486d61581bb828ca0379b7c9673093faa35f25402b7ba74ef7bf940f02d5eda7c3bf994fd0411f8a86037e5197fecd3b627cd82ad138697a5b9648312c5b1a9efb3c07839d31f9171c7a0340f4f899782bd393be8718c2a974b75f2fa5a80682be2fad94ea1465987944a4034967d27dce0e1fd073b01a74e5adfa82b123b0174caf9e9248c353aaed9e91b5034926d630f6bb6692f9a61069539da24108ad1cbe55bb12f94596c64278210da3033fcecd48ea94babfa913a888ce73182795c99d0c7832cfcccb0d6c0537edc1b703acc520a96de911883423225bb38d35f7783fc703298ba080385612df6e13aea303bb3d1c5fdfce6d15a93d46d82cc2de429eeeea390e2aa20928ec6693ee9bc93203483602d1d008a216ce711585c3c9d220fb52478ca58de977f7b8006e93502340032abb44770d26e00a86f255207087e0bb41a70ef641c05fa514cb3cb681a66948037bb3c73d86925323455c5abb6f7051e3e14cc2f9ad353cb3ef5aae3c71234dfa03cc6810eb996f9ded3cff1ad091e8e87a967cf0b820a75890bdb29fb2532679ad036bc0190d2f90229cd6fcc6e31b4f5a4dec028011f80d96a7a4f532607806107403e62c6e809138a74330ccb8b5442539d4fc452e362effe06e3ceaa1a10238883b03e251cb9c4a1cad61eafce432daad803a0ebb9ce96e9c2531ccafa3b157a627d600581f029be0e7d225421a50d6ef38bfacaf21514a0561394569eb1bea1f6173dbd8545936eeab739c6db9a0bb5de8b79a4bbee65200a000581f029831bf468b8cc4cf259b4692960926da9e9cbdaa2fcb46a743cdd07ea324410100581f02a9517276453109cd409aca4e6605d352be558a324745016b3381a38c2f4354f34b10d9f4dc5285b309b0761cb878650c41c56b0387b85db948ed288d2dd6914c384d65e1ee687ec30fc447e86034449509f81e0000581f027ed0346df864b8878a5ac35b0cc9e37f4e631c61328cc4fa297bea611f7254e682343815f10b639e082f0e468c1d28ccdcdf650307b7d2c54d89163685584303aee9a5ccf3a24a6c7eeb01151a852a376ad570c300581f023f15a74c48e791ebb3bc5f142327cb2f5d61f1f72d99bdfbbef23dcd96e15501a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800581f03dd0b0abeaf7b8a99114ebe98535f54fb33ffea432a0b822d0b6c04b9b0e04901712fb4e060a8e1c600581f03c1409759f2f0365424494d18a3143dcfd9360f56cad3d175265f6d1f02205501c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20219404003bd5954abfed6a6382e16d1dba71cb07b55b30313d006ff12c604640f6d49408900581f02ca654a3f6f2ec2aa8f0ab080f1b99006199fe01c1aade7e4415a12e0766f4778cad1e25d000000581f02c36e373c7d11926d61dad18279037314c066d06213dfa490cb57aa96f849546ce67d88a67825da3559aa300f84ef273631d28c00581f024d5c513192206741349dd4545933f73c073543df84825bbb792cbdaea80947071afd498d000000581f0280b3a72b7a60418e9edab739725f285bdbbbf573c26e24cc2f7d2ebbb88f54f7727c3e90a54b4446eb4b9b30bff3fd92e43cc50219bdfe03111aab49e2c237389cad5b1ff3e62297aff229699cc9cee92277112e9b458287033ce276b5efa77e29c99479a15f14410e4b261f418452c1ab40580ddb013afcdc03382a4f5e17e8bb2515c5a70b58fd8f6e3f9278ac1a355cc5a21fc87736e4898b03ae8f2fa0de890d27cd4fa021a44ce5ef29e0e9d84306e93e8fb9572ec2c645c1035a756602ec12899cbda3a071d16558e9d26a1b6855cb8ab759e1da4d9c9d5bb50219ffff03194fb421665bbed4b0cc1107c400a2ae7bf464e928a9f1712de358cee2e431c403c34f20842168fcf7fef77fc34ee242fdd87785aba7dd4e809571ea5404e8829c03bd18ccc8796fb673cf136c035a94a5813ed30d224ea832a9da67ad2ed8f57e3403effc80692583edca1a7f1262373479775a332bbab27305b3adce356e45a19c1e03057993c32b7a6fc0a58b104a6de08f2ac1f08b0f33c44386c5295a2615b0f82103d143501e430193ce132b0c8e7edbe6b679f8dac88c6711116e413ad88cda023e037b7a2f9164c84464751c4ef18dbf55a9897b832367e1c8f650462e5e6bb244580341221924dea334271803a6576abdb0401c06bcd2f34f818d4a29a3df7b45e402031b18a406d31515fc8c06b7c849ea1b0b74115d2524df50a4a5fa5debbd27ace703d2b32a4bea6850942224a693671fa5ed80e05e753d8fd118b7c3b43d1a4d280d03490185bfd663a284a1047c5645a8450e114e13da7f346e359a8e2b980289ce2d0219ffff03806b5efb977bf2569ac572b0acd70b6beef552a5e9ef88eb0eb65e57c2dbd3900219ffff05581d02531e1f7466e02b0a02db10faec371e2857e17c8dc05740e3f3ecd8e2070119085d0219801003b59e16c1f3a9f614583620c3f28864a67ff28121d9363f59c90abc25e5f20d4605581e0380c69d24ccaae51821514aedbf5d9c753e3b42352b85564aed74ae28c00c0347017e299b8675b00355221cc4399821fbc01baa416fd66372c157c03938d2efd0e8931d8750c8a05003d43020b57c247305fc2548f8863385ce50dc5d8ad4479bc150cda9afd1b2d18a033a036a655d494273e9d338c76ba104508ac543f672195fa333078b1b9b61acef03ba5581b124d53b87d3e80ab94b93a96df57ff80f5cd715a251c5a2070f0dde5c05581e030dd8141ab3488f49dac7d5c267b8bd8491762a85fffe8ae7bad6fba680084825580a20056afc0005581e03a4ee84d2fd94979f118d4561e83c7c932c6b39ac86a2c2c60cf9e58e200c0546972acc73cbda05581e03e595587fe830c1842834aecea61756e13c6a74272c33a9a8e4248fdbf00c014701f8e1bc94bf260219ed5f033d47250d7322b818bf22c3da96a3a0b4eadbef7b3d63502c603430431072f99d035bea1687e091caee0103aeb3a2f165a18d1073127024b71c4893a3b7899bed820310093ab3529a02796aecbe9ec8817c8a636bb4c039ae726e0bf4f2e9a19881960354dce51c017486ce17391bcd4078bb7c3c507907efce1210385c8c3a85308858030f736352c73ef05933e5ee777e19aabdd15d752b6a37bb6b31d8c568b546f0330219ffff0219ffff034f857101d0259f2feb8d4c91917c4f13ee7ba8ab053fb3641a0191cdf026673603ba08759a11f647e742d5b3f395d44fecdadf18c0b0bec0fde07dac572ff52f7d03b274013001d4768f900250ba39c7205683f66242b6e9eee782334f40700f72150219ffff03d714d85ebf89780d4ef0cd8afb003304ed768845a82ad5f3398edce6b4b1a5fa0322bbc83d86c0eed0463b50a3663589263ab7a0d7cb2a6e6b50df28a24084aa600324ca3fe19b9ee02544ca54ff52f48e3758388147cc3b9d51947ff26de69594d003672e8bb86a1707cae645e197ee198707d1497dd7e11df591b6674ae4804bb5e003f665cebf6021ed8c3b968fbaedc7c1bfb5bdecd63a8835c37f75985886a5227b035f454b8fd4cd290a141306cb16626488b2f46715ac8adec6f98f8f1ef2d0367d036a9c264f87e33a93dc6c30a44fe90d7f882fcbfcad474b5421df693da06d34f603e94e8303f89bd86cce233b218487c9a5d289cfa841f6a35b42f778c5dbdb6dbb030da11f961b106b05ffc568499087724d363e1fd667fb5d09c99d75c14d7c0a54032aff658a5c7879a40584c1bfe8efd05d74d8b8a6676bedcbaae3912ee41b81e303b5dba59d9c528bfe9d466d99628bb45dc01cec5ea4c65b41e661ffa8532ede1403409673d045f3e701df40087232d116785079d03c8e3ea8a59e0f4a79456d08400308d7f6e0ed8145f957111b97df51283df76aa355bcdfb31e79268f2fea2bb79a03f57a8396f3481521d858806d2e3b03a67465b3f1ff332070f72f9e42610a6e6f0219ffff0368a5b4f69208d86162b0cc99ec023bb04029f85d71cee7b012cbf6fd91781c3903529817fa1101125791d8b77be39e1d82a3bfadb2e5a7c3ecdc57e8ff4050f42803f2bda5d54ea2aabd0ad8afe0b5370121e6f9ca2e1b862f2e533df1c4cf3656f203a645fa09f5f08993cf7d1375a9d23d9281cc0d1eae177439a4b094a2bb5252aa03d1eb55eefe53d0da2c66a9c13dde643d8f477d2c5804cd13a77a3ad1988c805803a20d3a75b9934abfaf684f1aa2abd91948a7a23db2a4e26460bd7dd502a7bae90391cddef9fccf5ef23802d0cf16ac3e5168f0605474c35877b9749d5c44bfaa120337311edfc4a370ef195e446089a071bc4eb98ff0974d7e5cbb227ef8af23c80d032b5d17bf0c8c96afb7cfb1333f7887ff06968337fc520ba7e99ef907cf7395ed03e6ab8c84038a8088685d23384be34d042aba4fd830d4dfeb8a9173832453660803aa7ecd832a50de5d3ae577f2a2946eecc41e802ef00012bf24a33e23cec8712d031ff76b2fa2b0f58d358d6ba2e40201c40aa70b54436dde8ff3dc42bd314b2f67032fa724958b144e4ca3daa182aca10a6ad3228f750b4d170ab47e002f8c31941d0352698d704f20b2d9176e5faf118ea4f345543667f3bb6259fa49ce2f23542a8f037eed0b9cc2335e896a119d4376a62a08a75ca40185b8f4dee21b460496de830303ca9ac47e8bb185eae45a23d51489a100b3bba985f20e5bf06fdf4468fbc8181e03c317aa995bdd71a62f47258a5f62bdac7956efc072e9fb87df062e24943f9eec0321d390a19f7bce8f4a554bbf64097ed27f8819ad0bd7b3c73af213f8a3163218037f29cae2e28b7a4c50e9946755f697200cfafc5647339ebe0fa0237a47d6505a0398d69d177c9c7214152cdd3428c37361cdab937e68c502895d77c87e6799c53d03962db98e6db2f1c26e33f0c407dae70403ef3e8746ead8fc57bcf9238223ec8b03c910dcbeee88fae7ab44eecbf1e3224ab64cf4984b0d8b1dfab958d024aa8f9503c5dd6eb64c2f3d9d593cd3f6b66b7999b0c8f0fbe947175c097121ecc34ae000035a6baeb2c9d2f10d357219363be5ec9dae212b00be626f5ecf7917e292d3b43903adcbdf0e25cc52f764d0bca85aea209b9662310329af89187b7c5ee30ee0287503448a8a5ff6f096dfca91cec8cfdfaf671809fe00bd52e64da2e3a86bc7134e860385c8cfa3adc28a657e94165fcb38affa4925e2d159407e5582e01572a14c3686037d90dec1f4a774efa72667eb3ac510ac5d6281477b8d758036baf116e57db77c03d4d3611734846b87c0ba95712b9c075aca8e0fd84d71a15a4bcc9167bc3f894b037cc421d65017b3a0fc15e9e9b69029960f407548a3d364d4460d3ec6291b869e03eb70ada16a0fe4d93c4a63e74f1f15c2c92d12c0f00b4eddeacb9e7495bea859036e5bcd5fe71da07777ff8f20d52ef80a43576866e80ed3dbd3c57df55f43ffd705581e03482d52690d6071037a6d9061da5571011bbe7276a9c021b0bede73daa00c0e480346bc52e0f97f6b03a9db1414df48f5f58d424770de544107098fc3022276a4fd2b902b047a452b0a03a3cb6ccd34c622ad2db1f25ac0f46ef51c25101e23bf8e3ec4db8ef3b62d397105581e0335d9302053d51fb392f8ded875ec4a83035ebca21089290991fc9e1c900c0546be19ab73154e05581e03e960efb36106473bb042ae23b37104c9be1e581fe814954090779bec00040703db07041580af1fe984ce5e2e62249e5fa31fad767bfed853f08d922936e80427039e6cd6c82b41eba29a11128da373f873eed03732b2fbe68fabbca0beb61244c505581e0356ac140d4f0b6d76e63f94a882d18a4db83559c222c95995ee1603bb400c0b474a10f0b97dda7505581e03f3a7d2a7994ed1428a649fc5a3e0493d812274ed875d0c3b9af6928e400c01471ba61d7fd33c00039b19b0c5adce852b92b41f7f1adbd6cf10ef16b3e3def6d345cfe3062bd1ccbf01410d03a8faf141c157e88c4b05761128bf3686772cdbb35bcf0eae9711a40a7965f3f603f440201262a1dab47262e4ae426b855be385cc642f09619484e308736a1f231205581e03e20a35a1de34934dfd5e35af84a6fcf71f58c8a2dbdccf73ba373390300c0347035a33b79baf8b03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03af3d8e9ddead0da431c431e6d56b5795ff6f61ce3819a9b73285aa39bb01d81e05581e03e06b31e725ac503e46952b5fa6eea20959e5b200fdaee0c45fa3d226c007011bffffffffffffffff02197ffb035ff05099b158eff515ef27c482d8bf45c5f7c20e742a2fa528f0693d5a10915503f38d1873dc69a3e32390c337ec1e99ad86192127f918f9cb6405a111fb37a5e203ce56512d064094af067a297d56a16f98e0d609f6711212e9a3a8b5fce65b9c49035177940836168f65d7c861ebab3a2f0cb31d28ddd0b62c94a95f78a48a50ee8403f3a2edc1f621a5fa3c4f6fa27465692def71d1baebadb8cf433dfa1fb688893903bcf0c0bab58b568e6b887778c17876465fc5640d3fa5869ec355fc83a964ea21031a8a5b30c63e758fd5b3ae7778dab3593f30a9f4e87b5e7d4fc12907f22bb70f03eca127f6f17b39c87c92c4cf3ef0d610f33a9087e7d4df4de67179cd7faae13b03588f6fa537a6b01dc0de66796ed91fa3b4049f0078cdbf53f40d660e9cfbb8480308ca2ce6cad34591fbd4b010d17d8d04d4f0af9e6f59781c40c77969eb2b6d3a037d6d147500eb43b2f7c3ae26db5a1b18120216eb3e49e0ca6ff7e04ab4875b600219ffff0351ca72bd5e083ff80cc640b3e9442eae291300a5af86774d60d68af6c7e795ca031a73beddcfc6661cc4abaa7d0c449c3f5f4d8123db6a49f262854d255e806b4c03e923d4722388e7fb326cad92df10d17eaf39ff6ef401f94a4fb97a42f5d6925503f82f1dc4ece08947cb845f3ae748fbaca5ba89b41620639fc717fa7246eeef2e039827f1ff8dc8ca9de55767afb820bfad819fca3fce13ab9eae190733785653ac0357085f0003584165c956f7468b8e6bd5933694aac46c22a3ccea79b6f4b32dac03a6aff92007230a201903b6cf0040373ff955e8c3b3fcf71b27c0005b738f2982032113b1fed1390eaebcbc832f6dc87245eedea5dd9ee169a275784e9daa2c5c7e0355714e03ee6c5700232344fa3a33607831dfc152ae937d2e32490dcc30a7d9060219ffff0397de4980ced08ccad254388ea36d76ca029a10dbf289862ee1f5ac258f6f82ff03afda77b10747b0739e8f00fd3cc53dda64910c17af24fc46d59c69dc258924b9036a8531442f2445d90b0768161e9d16d4a22fafe23b7d9d95dfc972887d5fecc20219ffff03201fb11061842296a5f2e525e3fcaffcdfe111f9fff2c5dba608c8ad0441a95b038d47629d04249298e6286ce64b8f6a3bad847f3798135744754dd895a32d28fe035267d36c8f257c69f2c4ce379da56a26fcf71b46b0c90d1f1c2ad8bcbcd0895203a3806fa2bb96d548bb7a69bd4299dc39a0cebc5c529a8c7a8b87ee5accb7880603b805fcae56c88434d5dde37a8814521cc78ef743afa6c6ea95ad509a02a3407a038c27a887588351de7873ae2ffdd12ebb08c359dc3f27c3d28ef32b822b7187410325c5f45bd3f64659c9fcb9a4c8e10b433d79bccdab2b5ef231cd72fa955a9d6b030c0ad616a394d98e999faf68811b6883ca258b2cb5d0cad23db7f9c4672ffd97039e68a2de580d40a98ed2928fe45fed20a188dbbbe05fc3d714eb4356d8c0dcd4032fe696f393286055a90882026d198a09ce87a1eea932cf85729ca7c2c98ae5a1032c90dcb4ffd0d6dca2a704a71916e04f5748f925dbbbb9cd294f7cf06bc8730d0363df989d98ac8717827e3e6a826dfbdf9b31c980b5742aeb66d493066ad7f7f503409d2b591c4974b3c843fcebee4d7953f0437fcaaca648f331a46d98da5ed69103c9ec69c6fb3236e699f766a5e3327c22c4c849e2c2f439c4070c70b88070745f037188cf8f6af887d4c2162dea288130e04d0c70a0039befb54c2b026ef84601270375665f4c58fb32bce293f9a56cb3a2bdb5f2eb94332ad8f4f7b8b30adfe0e9770374dede1bec8b4f14c7927eadb888bd7f1eeff143610c969e3df1ef1ace20e8b205581e030eff58c3d63007787903f8164b87d68340648f663b24e85abc4e2d8c20040303647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d033a3b14f74de407225ceadf004dcc9cbc088c4060a923e5921723c84d32b4f8b205581e03ec71c658eadc02eea53dd98b93b08b67d167a70ad69151968b51f809d007011bffffffffffffffff045910976080604052600080516020611042833981519152600436101580610021575036155b6100575760405162461bcd60e51b8152602060048201526002602482015261155d60f21b60448201526064015b60405180910390fd5b600080356001600160e01b03191681526020828152604091829020825160608101845290546001600160a01b038116808352600160a01b820461ffff1693830193909352600160b01b900460ff16151592810192909252806100df5760405162461bcd60e51b81526020600482015260016024820152602360f91b604482015260640161004e565b600383015460ff1615806100f557508160400151155b6101265760405162461bcd60e51b8152602060048201526002602482015261713160f01b604482015260640161004e565b60405136600082376000803683855af43d806000843e818015610147578184f35b8184fd5b805160208201516040830151825160005b818110156102d257600085828151811061017857610178610e29565b6020026020010151602001519050600086838151811061019a5761019a610e29565b602002602001015160000151905060008784815181106101bc576101bc610e29565b602002602001015160400151905060008885815181106101de576101de610e29565b602002602001015160600151905060008151116102215760405162461bcd60e51b81526020600482015260016024820152602160f91b604482015260640161004e565b600084600281111561023557610235610e3f565b0361024a5761024583828461038c565b6102bd565b600184600281111561025e5761025e610e3f565b0361026e576102458382846104b2565b600284600281111561028257610282610e3f565b036102915761024583826105db565b60405162461bcd60e51b81526020600482015260016024820152604360f81b604482015260640161004e565b505050506102cb8160010190565b905061015c565b506102dd83836106fa565b7f87b829356b3403d36217eff1f66ee48eacd0a69015153aba4f0de29fe5340c3084848460405161031093929190610ea5565b60405180910390a15050505050565b60010190565b600061ffff8211156103885760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201526536206269747360d01b606482015260840161004e565b5090565b6000805160206110428339815191526001600160a01b0384166103d55760405162461bcd60e51b81526020600482015260016024820152604760f81b604482015260640161004e565b6103de84610877565b825160005b818110156104aa5760008582815181106103ff576103ff610e29565b6020908102919091018101516001600160e01b031981166000908152868352604090819020815160608101835290546001600160a01b038116808352600160a01b820461ffff1695830195909552600160b01b900460ff1615159181019190915290925090156104955760405162461bcd60e51b81526020600482015260016024820152602560f91b604482015260640161004e565b6104a0888388610920565b50506001016103e3565b505050505050565b6000805160206110428339815191526001600160a01b0384166104fb5760405162461bcd60e51b81526020600482015260016024820152604b60f81b604482015260640161004e565b825160005b818110156104aa57600085828151811061051c5761051c610e29565b6020908102919091018101516001600160e01b031981166000908152868352604090819020815160608101835290546001600160a01b038116808352600160a01b820461ffff1695830195909552600160b01b900460ff16151591810191909152909250906105b15760405162461bcd60e51b81526020600482015260016024820152601360fa1b604482015260640161004e565b80516105bd9083610adf565b6105c688610877565b6105d1888388610920565b5050600101610500565b6000805160206110428339815191526001600160a01b038316156106265760405162461bcd60e51b8152602060048201526002602482015261613160f01b604482015260640161004e565b815160005b818110156106f357600084828151811061064757610647610e29565b6020908102919091018101516001600160e01b031981166000908152868352604090819020815160608101835290546001600160a01b038116808352600160a01b820461ffff1695830195909552600160b01b900460ff16151591810191909152909250906106dd5760405162461bcd60e51b8152602060048201526002602482015261309960f11b604482015260640161004e565b80516106e99083610adf565b505060010161062b565b5050505050565b6001600160a01b03821661073f5780511561073b5760405162461bcd60e51b81526020600482015260016024820152600960fb1b604482015260640161004e565b5050565b600080836001600160a01b03168360405161075a9190610faf565b600060405180830381855af49150503d8060008114610795576040519150601f19603f3d011682016040523d82523d6000602084013e61079a565b606091505b5091509150816107d05760405162461bcd60e51b81526020600482015260016024820152604960f81b604482015260640161004e565b80516020146108065760405162461bcd60e51b815260206004820152600260248201526106c760f41b604482015260640161004e565b7f33774e659306e47509050e97cb651e731180a42d458212294d30751925c551a260001b8180602001905181019061083e9190610fcb565b146108715760405162461bcd60e51b81526020600482015260036024820152626c703160e81b604482015260640161004e565b50505050565b6001600160a01b038116600090815260008051602061102283398151915260205260408120546000805160206110428339815191529181900361091b5760028201546108c290610325565b6001600160a01b038416600081815260018581016020908152604083208201805461ffff191661ffff96909616959095179094556002860180549182018155825292902090910180546001600160a01b03191690911790555b505050565b6001600160a01b03831660009081526000805160206110228339815191526020526040812054600080516020611042833981519152919061096090610325565b905061ffff811615610a15576001600160a01b038516600090815260018301602052604081208054829061099657610996610e29565b6000918252602080832060088304015460079092166004026101000a90910460e01b6001600160e01b03198116835290859052604090912054909150600160b01b900460ff16151584151514610a135760405162461bcd60e51b81526020600482015260026024820152614a3160f01b604482015260640161004e565b505b604080516060810182526001600160a01b0396871680825261ffff93841660208084019182529615158385019081526001600160e01b03198916600090815287895285812094518554935192519b166001600160b01b031990931692909217600160a01b91909616029490941760ff60b01b1916600160b01b981515989098029790971790559481526001918201835293842080549182018155845292206008830401805463ffffffff60079094166004026101000a938402191660e09290921c92909202179055565b6001600160e01b03198116600090815260008051602061104283398151915260208181526040808420546001600160a01b03871685526000805160206110228339815191529092528320549192600160a01b90910461ffff1691610b4590600190610fe4565b9050808214610c3e576001600160a01b03851660009081526001840160205260408120805483908110610b7a57610b7a610e29565b600091825260208083206008830401546001600160a01b038a168452600188019091526040909220805460079092166004026101000a90920460e01b925082919085908110610bcb57610bcb610e29565b90600052602060002090600891828204019190066004026101000a81548163ffffffff021916908360e01c0217905550610c0483610325565b6001600160e01b03199091166000908152602085905260409020805461ffff92909216600160a01b0261ffff60a01b199092169190911790555b6001600160a01b03851660009081526001840160205260409020805480610c6757610c6761100b565b60008281526020808220600860001990940193840401805463ffffffff600460078716026101000a0219169055919092556001600160e01b0319861682528490526040812080546001600160b81b03191690558190036106f3576001600160a01b0385166000908152600080516020611022833981519152602052604081206001908101547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d546106f39389936000805160206110428339815191529361ffff1692610d339190610fe4565b9050808214610dee576000836002018281548110610d5357610d53610e29565b6000918252602090912001546002850180546001600160a01b039092169250829185908110610d8457610d84610e29565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550610dbb83610325565b6001600160a01b039190911660009081526001858101602052604090912001805461ffff191661ffff9092169190911790555b82600201805480610e0157610e0161100b565b600082815260209020810160001990810180546001600160a01b031916905501905550505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60005b83811015610e70578181015183820152602001610e58565b50506000910152565b60008151808452610e91816020860160208601610e55565b601f01601f19169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015610f7f57898403607f19018652815180516001600160a01b03168552838101518886019060038110610f1457634e487b7160e01b600052602160045260246000fd5b868601526040828101511515908701529089015189860189905280519182905284019060009060a08701905b80831015610f6a5783516001600160e01b0319168252928601926001929092019190860190610f40565b50978501979550505090820190600101610ece565b50506001600160a01b038a16908801528681036040880152610fa18189610e79565b9a9950505050505050505050565b60008251610fc1818460208701610e55565b9190910192915050565b600060208284031215610fdd57600080fd5b5051919050565b8181038181111561100557634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052603160045260246000fdfec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131cc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131ba2646970667358221220321b01261069b5a16f3e8ffab503a6323741f79d0634fcd86190942b13f5966764736f6c63430008110033034567e1411c1ba662950abb512c980e4add432fad9e571ffcb6de580a876a6575037d39e9ac94c28720bfd583989c355ca0bf1c9e60ceb087ba5f0cc163b785868d032a58d5c4309307c679954aaee7febbd3eea79abe98aa0bed1f0904a21d4b378003beb302ddc8ec22e269adf328f6a2332b409cdf0398c17de3223bd761701d3fdd037aae878ee473235ec1060bf84b5f0b01655b29a12186cbe97a65af03678573f10344f0b8af14b9e15a5a31e6fab673ab96e0ff6dbcbb0277aaf862aeab66d6893d03b7015c2719cf07fcb06570888cb65c23f3e2ab8f9cc4251c15b15dcafa6f0d3e03968fdecc64643a92ddb77aed158e7aa6f169022349a803626fd1a48d47fe0f1d032c3ced091a4450e32637da174a65553be45c87fed5b1f9acea5319675fb1445203730bf3e83f4593ea124c3a049241746707cd2a9c155c6423d8453f181e0c597103fcd3dcfaa48f60eda4190935ef0782988130a4eb3cd53e3a1736f660b801a77603bd40e76f890c40d587290f12656a03f1038c7082c9464edb0ed241b5a32b4d7a037df62acbf18c52b6993890a79c19de8d0674cd60fb178ce2a67bdfc8003ba0dd0375792893f829854858d961c698cc218f422c32169c8dd9221c216fa03342602d038d4d91ed962d480c38752ed9356f423269ab0a07afcf9c823222760654c5be000358c43b6f3dd2e041592adfe7fbd1b67027cfcfaf9d6ee33d0f8548b680d220f303d86fdaa2038c907184c5180d27d301fa621ecf0cba50b62700f5883d1e554f4203fd54448a9abfd2c8f9567818a81b96600bf08470b96faf56f62955e85c319a7403964f7a413f986a06de66ee587832804dd2f2a5091dc8de68287abefce6db5a28030253af6452d00e1fc2edb8ae17fa4f6902fce43f7cd53f6cb00fa62ea6c98d9803740fe50b14bd65e2e56c5840f143da4546f597872935e936f16beb1170ba2608036f2f2c1cab1891cb17e552e0b29c73f0b8c61c600bf96124d408af4aa00ef120038d3d6e163c74b6677841b1fb56dea017939acc64791a1ad093f1d8a4eeba45420335d0cc14a1360d60fec3c133386f4ad486347af1b8f928ed777683b142aa04bd03f8007d9ec6326e8fa865951aa4bfb5b32f689591c675dae46190978c9aa2a855032b0a4c24ebb0c8b6a65d4c9468f1099fed1a0db02244c2a5c41127da4c88df050333fc558c79291eaa7c57d766f6a9c23f65efe867887b1f3d5f7bbce481c18df500581e024a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e44044aa20000581e02137176c158fc41568650243e8202c59ade5ae50b80a334a02a02f06a80410102191100038675aacf7df0e8a4d69f58e4dafcb2b854f37e5734e5df361eb7e2b2a1533588034e0b366391dca9dff5e7e0612d6dc68a4baf10274839f432dc9692bdcd16137b0372b5a6f4ef37fe080a1f3d0f2646bae21421cf18ccfd21cf247cb0891fb5f61203a6f7542e7ef346ec24102ba89315875b8d01d557688dc850d674ce6eb73b1338033e611ad0589e4469d057cdd9fadd84ac0d8db365436ec327f8622981061396fe0374b7a085b811ff64af1de37632a0e9bb922e034b050d9de1740e1a576a97795503eeb7cde4d3ce8169b03bd58256ec54b801c8d58e7e54c73ca5bc38a2a76f9e4c014108033c25f78ce1dbe1cd4e3adfb6049537b48b6f6a061b34895a7dd64987d97927ef03b741520efc9dcba90315e52b1e5354b467bc13d3f29b30381a34b867aa016cdc03cb4f25b13ce6eaa45b0156f2308c816bb2274e24ac47b2a8b3e682fa8a9688e60219deff03e9012db1d88867aaa200415dd116a87dfa1ac7e017f2dad42a287a2c4959368f033859387fb14e83d496d0770be77cbc7aacd0298d4c6b0c22384e82a50cb6aaa603d858f2d73bf1ec9c3349cb61ac78eeb25a90ce44bf708308c67cca45a731866d0219ffff036fbcd8276135f6f7b315df827aaf8743cc1cbf461575a47c9c9d4ed63d441f8903bf2b9de57dc29dbb2063fdac64b8794143c136debffcc59fb2c6c3c292e921a20323a8e4a4fef3f7d15d9d01bbb28cb4161e3fa8d0e0f66bc5e3de28a7d658f518036ed1433da8851d550a69a95185174e2fa1d9339fca790c8d98078b46aaa7b98903201a16b08ec8ded29457384cee040e34da926e16e78307fa27c9f27f6204a0b30374042bdbfd3a49063ab75fb2c1ec311f0c6fe5a966fcf71e2126eab2c521d51b03ff3dba1913bc5c6bfe2e1b324e4c79f66a0c03ec91e481c2b868a15bc16506aa03a07fc0bf93e5421d4c70eddfe43e587170f7332abd0c8c3b68b22388c22a4ca10219ffff036bba2768bac93fcd00167bb16754d4968597c52af6be7cc69969cc075ffb67db033f98a6ca9800dd158ba8b229eeb4a76292d91ab11780befaaa16b7ce9d463866038b82a2bd95818de7ea59ac26a2b6a7fe22c2fb01d648b3c8f9e4d270dec7abce034e35cb776a088274cd502eecbe95b359330a9b99612aacd104ae97879dc01e730333cabe09d32bc860021bc7379dfaf38c430fabf0f10de9984437628f3b1442b603d226541cc7ac3617fc06eb2618bafa645cb19cf9260b8ad4c4553c1b02ffc03e038f489bfb67fce9770b653d1dc9a7e47e404891cc72648c8b6c938dfe57601f4803bf3d68eca81bf4d6500a0acc414241981ccef309fcf27f163d1cccb6a00edc880337293c8d51d07c5cfcd020b597a8b1f3a01bb84f3a7f3647b59b0630fb9a2cb503edfbf6cbebbbf78256c86af0d33284037d267cf9d9cfec3582bac39790a9741a0219ffff03888d1fcacb77558335f4ab5b15a735c40fc6673924c58203aecebcdd141d639d034bb7e4e61582ec0ae49bdebdf0bdfb8e1ba05dfd85aa9bddf96c546cf87a5f96035274ec0c4d952ecde82d48e75b8f8a24c1d4eb2c6bbfb74992b9f91604bb5cee036080cafd8533dbcdccf4b3d6c9f14c751cd59291a60d6d0c80ccba56a7001eb3038c9b3ce726346a5993b3da63100a6b61eb4c0cf6aea0029ba3de8cfb472a038a037299f4adf93ce409016b546c1dfb29369e3f1e19a165753c4ff816c9fb215d6503dbbd647b4036f527fca9814f347146e332fac99bc9ebea20f1b82e6247c888380365606f1fe6c19e3657869599718f084033a4e64373b8fd1d2ff3511bd7dd3ff8038d56759fce8f15fedfbb4cc643b63da795eebfff531d27773ce9993b4ff75c51032bb9049fca7634cf0ee77e4cdb35f12317968bfbdabe1e10264fe1625dc05960030b6f8635cbebfe7237cddb4d84cf016a5fc980e8be1e2f9658387498e680b74f03941fecacef1a4f771797cf02941e34f27157f709725f5c41bce8e48acba38cd903ac565807ad3142e83704e3d173f203f5346543d12c03a824ebd14368effc7596031c9d7a3fd1d3ef1c5bc816b23c13cc92f41d7636f343c2dbede55a73bcc36b8303a2c62c40f43c2e137f94b48684af25941b5e8d53ed63ae763d9a62894362314c03451940076829adfb44d971fe7276571f4fc987a9548f71f2b9ce31e27953deaf03199f95eeb668ee7c89a4054d78a2c585585c731f0b4fd39956dfad75f81136b103fcc886aa48923ecdc2c1bacdc94ee4a61d0ff264498934c7e932b85244a224d103fa969eabf9524311c5be217bc7e21325fe934692f89685e7a9bbc285c4d4854a0305b8b56773582a741c989b52da2da025dac2f1e629455dfa97a6166d4cf85c2503b93db0cf0002c44ef53538dd77a6b9dace7302df30ec59c67320e6f74183266e03bd71d383d7e29d9ff4625c387567aec008651e1f068efee5ad3ede49a4ad2c0103184f0eef01af25f4e84a7610089143c847a66ed89e33990cc01cdd6ab89a2df703dfaaf76ddd68be1c814f516479a4a58f0cbda134fb6db3560a1bb68692cd0f6f0315bab219ce3e80234a6137237b5c4d42d8e674db6e0b9c8956bdd59f72153eaf03665bffc136214c54ac4be1346554443eb40238fc9035b2165902a472b58449d803602b7bb20f0b616289c09530fc5fb15e4e5762f082fc5e4a26ee74ae4a093af7031007a8748aa27866c990727e3bcd9306474615c61e109f21e238ea0c96cd019403b40b43a7afef51728abe76b2caa0f8a403660f2a505f0d9925571fb2ce44e0a103c2b47f37dd9bfb46f10e98801e3598a09823416fb71f668d1c33de567f4ab8970393eefab226e79839e19c627219cd9b61d0f3725b4a6712c18a53f2bcdd6785410323933af72d8b62d81dad0a1bd12e9d39951f02c018a1dafc28f6e0d213d5672003de4ec265396bbe222898c61b5040290af2c5fae8abaeaa139043a8ff5d510e3903276f5e433b28036193b3308c724db25e106ddc5ba961971be0e835bccd6d18ca03b9ad7f83f1a02ab8a2eb440b0575218c779a2015338acf6ab8df7a8e2cb3dd4803eb07844a2cf1501ed24303a810c09b855f56f266cd8db058dccd76cbda74eaba0374158209c5da3b809210102a365385a4016a173d85ed8979b10c705d9b4204b500581f03e9c5004af36ee5be79eb5011605664479ded2829d97e5874df627afab010410103999ff65090087dff98ddb651c81e9465011302fef1f36fa1894a68fd7cbbd69d03de0420cde9c54cc59c0708d3cc863d1d59427faaac7760bd03282d9d3be9191903cd1e1fdffe83bd345a111d44f4b6841d2db76292abf06751632736dcb335f54600581e02b0ab84a87b1955c4a23ee5e6a05a368914a960c31e50913c45554b3db8410100581e021a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68433093dc00581e02bdce2308303fb5a78e6a15fd596e6ce445514f0f44405a4948b5b60035582015dc8d884d8d3eb40e9d7c4e4958b5b8d5dbf15f9088f1bd7688c6247a63c3ec00581e02c9fa07ff7eed3d346714cdb88ef79375a7ca0cdc1065d12c9b805d1d2041010219080d03c4eb52ee003e5441cbc2813ef50c14bc69795f16eca80b9d0d6efb961d52e64503c6265b0b1e81c130068825a8e257ae78dff06de5a80f021f4ab84672cda8e7380336d1d5bd6f2fbcb9c3c1b5c659cf7cee47d759d686b380d5aeb4041419aaa8310219ffff03744f6a095e869ddba2014bf270af2e68d185bafc6937a9abac45ec7bdc2e3003034ea2371a70203cfcf9b169ed38dfde6507b290b8dcaf78b40416ca411cf8c11f031d067eaec89975a4f9c59b4d2d04c4ff1eea2e9f6b60b801e1c0320357a5c5c20219ffff03c029722569ca46428fc974d4731d001cad5c53bce2fa4aa3e2c20383dba24ac50219ffff03ce64d1378ead276195acd98fbafe3ba53e7fe47b94bee272e29d94eaedf9dbc2034ceb7634e554caac98d9a74989458810207fc419c97ecd91f9dcc6ee1ffcaa6703638ac5a9dc273cf6709be59ad47f92fac39649ac1135b66ea9290b6e2358315a03ed9f272fb2fff59e643cf050c3e3e77ef1a182e015d26439c84d1ba55b66440e039684c1eff3e3563380974c48d7299badc72aa1bae375ee4f08298585ea55126303c4c886874d0c93f73a36b23a4ff1e3b3993d3eda9fb4a9257f92acc8959fd6cc03e65133cd09b2482d11ecdd2aa5ef67a5c6c00126aefbef6ef6c4ef01e6d90db90333df03c7c06adcac18c06c2d2f114d1d20ee0bb83fd97fc42dd7ffcffb3e344e0354bfa56aab6c520ad261b2c53daed3897028e152ea7a401b832530673c9166b3035a23737f334c7c56f49e8e1960dafad672b240c68a388b09cbb250117809830a035337cb1288edad3eb4262d66e01687ce62e4440ef2b94a7af62064192128dab603b4795b8ea9adb404c67ad5324e60b7757075965437bbc409eb270be14abb11a303187cff373c383b46f32219ab8bc851c313450f3f28829759ca4d46c9359a0b93030ba75035afd49a9292a333ee6793970bb5065e280b3adfd8bbdbfd80a4d14c6b0219ffff033baa02dbc6e7f68134012170d774f1917268fcc6ab586d38cf5e12184456803903b449ed227cb795e6dc4be9ea1d259a40dda434cd174c2e8859d4af126f78647903ec9af72f0a170aa5ec867b2b2a60ba8c4f7a50f1467f614bca09db961342de0c037bdc03e7c0fcfa6c7c80ebb8745268414602b4193ec7e56c2b10e70871d2e9e9032af6ea8b5ea51e66c099d233693da56dab809b273477393aa9ecf729f926033403215f58533272ee7cb853d216336f285b2fd16d044ceab9993dbe424a13cd5e050310854590491cff5cd944af0bbbc2ceaa2a069d5be6b93129ef3d23dfd74a5c01037edd9ec82d3b85580d6f1c7ad6c10025d965bd23c45507ebbcc82d4e9329018c03c56d05c04ee89c6bde6e66ab8943e588946f385fa7be42b7e1954218e12db592032684f6a2605df6776cb5663827cc20a213706fd226d583b16d98f73e733b5e0f033a41ae10d020d48af5f15716b08fdd7b03ad5b2423c4d451d18c77827e158784033a6c0b1b75172b21a3f8fd878fd4d30973d0587c68dd89c3fd85737a95693268035968c7cf2d883924ae86b2e542a01b3991c3aa452f19d4ad455d36c32e44e335033db5edf6b7ae356f84184c12046f1df082d2463eba92b47f05b273c2e7dfa91a03e0b08fbdadf9c7882ef69e4de01c087ff09c7f9b46b5ec016ef90076885bbb6003cb4ed975c27ac6d9d0be3510c8f2450059c515349a8ab721073ea27fceff84b00351f21cebd77fd5b7a5787d167d4e08ce2535894c7ca06f48dfd5adfb5ada18d2033f83dac00653812666860267577227cab92334b0e2db0c9fc32ad425dab816ce03bfa9242ead69b40f179610209e983244c765512625a2fb80650091c49028e9dd00581e02681194b6eda7590f8efbdf44189a5f78dd47f99c78c6bc5a7e6908c45d410100581e027dc0123e69e4b1c5ab5c0581fad04e24e4aa632cb62c35346a6c23a3bf410100581e02d74cd810659a5aca2572d6f35a1b0426794f89ada72b28b1caaa34a158410100581e02edb6600b43beb4fd9ebb4b3d0a192dade4eafa5c7002cd6efa005285b9410100581e021661b7ff7372b6fb45743e044039ccbc88ab503047c854d05623a1cc0558207f2edacefa45be9de629e560f8e2b251d0333f769a5090dc2eee0c25d314782900581e02a65990eb21497d66a52af392cfd1821806e1820ec7e9db96fc29160fab582072364f843f8c58a49d35395bc4fe95969076a810661e9c7ddf64a7412ff9e94e00581e021d19dd08d101065af36093f4b8bd3023bf87651ab459e53d31ca68d42041010219107d037e3474d534e9400f92ad776cfd46ef35cc06d55b4451d2765af3924350df79d0033b95a08f2f3122cc504e807a0ea58672ecff5badac47f3759640268290cd9e0303f29933ef5cc1fabfcf25c81affba590d5ad7cd25e8990cd39745e19b9981650703d9c5673b3d219335cb8365ab2abf5b037b8127d297ccd0e200424f0a5e3629cf03582e143a19e374e30d3cb0356973a6d8894d9ce51aa69f8f64f0610d7e2dea3903973f6f286986719485e0cd8e4543081c5029a8e1510d062a0f33e2a7fe170bf9031b561b3f8ec747bd08e057b81684ca1bf659f15c830e6e198a8043d65f50c1cc039f7557b9f7602964a29226c65b13b278468242f18e2cb5145f89a2721194350a00581f03942ba6b6c1210853710c5f746199958e35344c7ef5e947c6d48b7a3ee5204101034b81a315b17d9206ad04425883028afc622aa967f6e56c0484d0fe749f489cb003a054ead6d5ab867d4ff8185fb85d3e2fa6615cf050cb151e68f975f05243759701410b03bca83a1fbfd1b6c4b03ff1c763475b9dce76a47cd04bd89b20a9b9acc53ab55c0219ffff03ca83c9040d50db097ae2ec19dc0f9030c1de668a61437b28a743fc6cb50e335603f9ba2b9a4c3cac2de1d0c5af9db177537c6502f568aaba4785ddaa11578b158303988f3720b5125e077f56dacdfc33cf255f888fc1a5b8ed452c25157405f211fa03892075b2560df143b4e2efb493f00c67628d547f007339f8d72e92ca60ede53b03bdfe61a8cd583a47c37b6bdd844aeee11c0694e7dde76314859783818aa200360393843efd0006947ec400ff5c252e5d0261530f815c869592a91c030853b61cec0369740eafe6e6bbc686ca79d49af3932bae6242f4e0167ffa1595736d1480a4e10377d54c3a50b6879bab0cfadc83e26c24e2de002922e07e18bdcd7fb236332e1203787075b1f7b56a013e3882807266c1b65d7a8713388ac65e8f2eb2ee5e2ebf9e03d7c52cb1d8f3ceb1fc210d04d8ca27562c8cdcd1bbd671a2d5f79dbdda94b45803e4acf2f312e0eade140837b24f8cbbdaa2f1af6feb2cdaacfcc866cd83a4611503f4c88d77988d8411be97cf5b3dd80c57548a59e618af5a4a86cca789cc18c6c70219ffff03a3c9c270f0b5bdf2138e6421acf2c3561b3b214275448e282fb15ec3c63a67190333a8d6b13338cd9618c0b17718a01f99e7fb11fd4609d1c93c8d98bc46c9d6640219ffff03409d1d4812ebd102164b8697e18e345bc129fc2f8bc3a65dae465e76902b434803e3470e7ac7501b9374a774f9b4be47ebaaecf1eb0b572bc11e47f44f3276d71303a99e71c5242896d5514af25f2de1079834c2b0431923bf39cc06172d66315bdd03c1a80a31171fbebf3930e54afa6a41e2d33ec3e5cb46f20807c7d83077430818032c069551e695168443c19a63ef43cdd81385c4c7c517f529ce05f2ceb1747132037dc794f8faa17514672803017b5aaa684a55249a50e1fe8623c8ec856e7457f303eb0c7bfac33ec47e8d89715a961df933fdccbb720b727cba08d822b7cf08071703a5b20d74efd0425ce9f06b3512fe4fb697b4cebbe50d43b94b9658e9398e151c03666e43f97b0c2ca7b9608dacbe6c3745c3307afa03d76c835de43ae131827f6a03ec76f0a87b4c35a1cbcc79985e2256cee9e8c9962843db2b9ae7c1aeb3b8584303ec960712a4a5a1f8ae079082365d46d25dd3b4ef1275fdc3f0e038b6eb68e2ab03595ff3002a59f764f12b10ea1aa105a803b270d3843c2d295096b53e79eeba0303b768b97c6b8cb072ae357c5f835a2c44d773694bf66f827ab454bb2174a7c43a03e681e35f2257b8393149fa691d50bdadced13de179e834c3b30b496d7427623a035fef04be75b0e71612d9e0419530392a44cfa2e90cd03066d77f437701c63bc50219ffff037c456c2c975ae22aeaa55c215f70141485fa02793dc8b4efad2b9a2a3a884a2803bd1d262262dc0feee33b9f57acdea69973804a7f07e8a37b4b2294b498dc93f9030ca9fe3dcf5ca97f398f172bd58051feec7b428d953eb275ab31b935076ad47303aa43d30dbcf593cf8bafef09f08b5bb5e861f96a816b6f16e96f8b37a2fbbeae03ee758b65d745320cc8f803fef93ce4db2fe72a988d2134811f31cad07a37c30b03849ebd921c195268cdc91295dc4b9b6c2e5433fc633af032e2fc24f4acb69f2b03228ce4173976b5aebf7e602d4634c9bde0e3b633d477335b613fe21b788fcac9035255cfc86859aeff63508f49750bc34528cf79699ee79f9ca02323c71c9fe7f003f86ad94652cbd9422b1ea710f830316a4e770b7a1aeb4187a230db559fefcc450357e588b88b3f3481b32adf6cfd59617690645e385a1a6bbb307fe3f22c84efd603be60ef639142e57797705d2b21cfca7157fd6e60caff99d41113c0cbf54983a503b31f16e0798ac64eb98f8d3a720e8c3e50374ee1a79c188a36317978c57396e2036d2646d905637e27f73f627b31dee302d91c61c5a6e5aead77d8700c24ca7a2903e0e262cd3ea5da7662f1257a28b5ab5a5c980b0da3f4f6b6589fc347d08b6a2e00581f032f23250ae4f8845b54159eefb509c9d878837b592692d9ff96066d1bc110410103489c71dea5c558c576e6834a68f3bfd81c98d154bacaed9d8ba0997f96ec824503d154fb1adc6daf24b11f163798a0e353b29caca302db9f6e238674baefd3970b03f477abd2fbc08f5acefddc6086baebfa085b6714e4ebe4bdbd51a80acd191dbb039775795ac776ac1e37725fe185ab51985bd838bc56cf4fe7caf36500211cb6eb03d6cdb45cfae6deee0654f7d1107d1d0da0e77005d13fb11970ddbc099ff3619800581e0215000b9060d5d9779512d4f5be28fa75ac6a401f8ce603368bdafa6ebd582070c5cbf104420ac035141de6363b24e21b11d374a9522bbd856fd4b287dcde7200581e0219740253c39ceed0869395a77cfe66eeb8561a88a8b2fa19614ed46ee0410100581e029082ccd7d5fc35421fd68def8bf6c0fb7a1aa619815214a651beead362410100581e021cb1246b1a8d91aafaa8f9fe970f20e5e9b26c61f1d348e066aad0053f410100581e02b0aefd0d24e29a92dc41f60cb797ba95a07b0c4c8ffd4fc0a853c10dce410100581e0270d73a67e2bb1be159f222172a99f0251a6a064e591b94f8679f41f93557010005a57f9ffd65fc0f5792b5e958df42399a114ec7e700581e0202d2bd2819ced521890936907aad64e3118498027af6427d5230d9a87741010219a5450309e7abc5214890159e9532404288cd0a59d9d0811b1d21bcc03c5e81fc7d8ff100581f0396c861da4e4b422472c03e43fa71711f10efd18c73c1d5c814a0e233e1d0410103c018e663d77cae1312b183d26e81354ee3b019038f7ecd22e4dbf905414d951000581f03e732e2de9b6b0ca9fc315d2136d0509af6c003175c349f7234d3a74f7f3041010351028c6724822da15bb0110a080dcf112e40e162bbedc04232152f466fd700f4037ca7d08f26b364ccfdbf70786d2048ea35974e220397edd05c5cccdc1da7c22003a8fce3f5edb71d34020611303bb8b38ec8a17ce5e1ad7f58391464e9301401180219ffbf0302aadab1bf0dbc0568718680204fdccdfa551e901933c7db5d8bfd1641ebc7460356b07e6ddd9a97d0381aba411e51436572ad4736dd1f2d49cc02a6d21f9947ea039265b595ae62e6d8afe24fb9bcaf070ac83d2dce03d22dff4f64f80e375acbc3030eef2f308db620d6bb138fd725e4efa1e9f5b939f862b1834f53bb51622afdc603db686e2185ef7ab80546179c6f0a98d34b8861155f549ee932a8fcffb2e1eabe0382e0b424afa050996dc094aa7475ad91e89d0210dd022545bedf02b43236fc580219ffff03f57fe0fca29f5eefbb14d865fe66f017d87b3c8b58fc9572b3ac694f8034014303490ba4bfaeeecbdaf79e65ec7f9e806ba1af30add289cec393701bb893ff311903f07d0af847bf52612ee0cfcf3d15dd9f7295f00b93bcda8b944c715e65f289e803bfae90453e4cda66bb76fad541a7df3a33048a1cc7c01f028290f8958113323c031e5eaebf007fd297e51a0989cd6ad2c6027d1e288a6950f3e44a7a319a76f3be03fb10281b8e9b54a82f48342498ce3b147e381e44f2bde99f38b37dd8772a6f8503e2b014401ae95ce0ae88d53f7b280fad290d1caa41d1fcc7554d7611b2c0a491034be2bf82df3a19b242a5d6a06241192d1e1da4a24cfb3cb279017184ca69b3d203395d3dcbe7e5cfcd2651958de92f7192e2cea53220ae343259b3440de6a6486903ad35b2e730bf1e09afd2a9369dc285f74da9f3a92447eb3240d038f3db8984dc030d0518dc69dd340b14208e020349c82d6ec39444d5cc7c08f43b60b2b51673db0219ffff034afb2c08039edfe84b0a136f1604e6ab46bfcfa69f0886df0acc6563fbf950cd03608ca4ca4f4e4e3d8b0787cf791707ef5c6874a673d3e211a8ec44f9a0b3644703c05066edbab369bdfc76904274ebe8aa4358fe59e5514e082137460429e1906803068f1f307f9472439563d43b2be8f72d8be3e6c7113f3efe666fc6c321c4bb4003df4795ce8d3c059839b1d9c0622585eaebb00a6646bac89a0aa6ceaf71391cb203d1c94d23edc19cb8a9f2b28acd6712384057d70cd5e04855743cad8ddfe4f4b803d61e11c77e3260efd8244fe259a3a8d1e60fa868912d9b0c8555747c70dddc550377b611342074ffa88cbaa595b65b0252aad712a9d95d6516877dcaeda2251146031f1d8d147078fa0832cae8369cb4648a95cfb962fa23d9e06faba3b69e53919d030c29b2310105caf97585e05ffb2a279721ae055d3efe5fa906e62e0e9dd86e31038ccaebc264359207b75f0dd14f67937fcb22a317fb60643b98da83917d996d3203f3d3e39969c626b86fad2543d90292a85a9f085a0f10ae38e29d8b563ec899260303d7fede0275b9353afa9852b64d065239bcd0cc4fe979f0288551c560cb003c00581f03c864512e4110ef21cefa7993d329f309b6b68f027c9df8dc63f9fdf3d1b05820dbde6eb9e130fbc84480bf305be300001f91d7498ef90232b90c3c0c9a5a6e4c00581f03faa6def3f907b551ec4f8ea0486c1431aff2f0fc1ac34a861778ffc08b704101034de549ce2830746a02fc295dcbb68700b52ff1e715d261b9883960abeb474da003aac6eb6849a18ec9f9a87458efedb5a17f15a5c126541e6542c49e41c0449d020386750e9990c26937a7f9e2c0e595cf8595ed37415ec2b34984434b41cd493ec103258d86a5a7050fc17dbfb648957324bf189507dc74c5fafc6651b8f802bfa57a03e8de452045e015b31ee2c02154591d03271c1a2ad096751b9389f2366aeadb20036c4e550dd4b5f1b30d02be4dcca6ce02b2231f24f58b09eaeac8dc68014e98700316838d588d3336402cd0f3413da3364a8f79134a1232a8bdb73fcd443e87a92b03a4073477361ef968f2b63de7c6f494c7b853005be6791fd1f2dd1db6af3e52760359e2472d6c78d3bd99a379fda72d15075750df900f6e09fa16cc665f18ac0cd203f2c2f0b4855b70f7a77898760ca68be354653968028ab2e983607ee9bd49e3750141070219feff03bebab66d2b9ada25d59898a462a7857bf241409bbdbd07d9c88266a11c126976039bd15c3aab4cc323a0cc52121c0cd3d839339a5a8e96573b95844bb305538ff6038f45d02b653061640c681a9d927798d653a69d6d15998544c9cf3a4615c211e60353a6b6e481a059530a78677297a735803e790824ec3b8409c5e5d8fbb235290703f7d5460c323966564a21984ebb9c5472357a126d3418b3c9b844207f36e25041031c7e9adf63eefee147b4a5266866ff29cb9d2870b99d834fb64966ccc00a820603dcfe41ab268672df7c9843781a238e93357653ed6de10b3eee8536565f1e3bbe03c7672da8c1bbc45fe2abe6654cd01a8f05a4e9c01f4c8dcf19cb2b6a6dee7a2103027f082c938041da1796e281894f94e0ebc622cd06a1c795b6f32aa144468f1e0315aa0a9b9dc03f55f812a50258a97590fb151f718b5239a7e48c8db050969b550219ffff030279e1912fee29382aca67241be26ef462fe435deff66997dd2057c8713c816f039ca23c8672ccbab2c88b95906633777fc1eb459d3de152c5fd6982bf8db28704038c398fe74a504487e2f4f84063a73cc85d7746c709ff9a8cacdc5b07923c9a600398002f76c301d4ee9aabbd41d38b68c641017d06213b5aa7c9cf0ad7f8882d41030ef456ec1295d8eccc2a2fb904efa1d50f86ed85b24aa66cc78305944876d5f203fe4b1acf90624334b6139a98de4029711f9d84786b1ec855acbb078548d16d370359a89f8251952342f70c8a79e1a2f0c99ecd758f027f787583ceb577e774137703ff9cd63c894f95acb14a9b41f021fd07a8101161acd81ce50f873bf9fabbac7b03da9d7f0659450f836c39a8cf3f88d24b6893b8786b61ec489d5bb0a5420b842d03546582e8becb18367c9189c3aa31af6fc3259bdcecff407de1d472999e528d6e03bea5538c71a613ca6082614a9185c7f8c0dd8f7f31da759de5579da5959403de03d7edce66f3a5b164af6d4edc9d2bc8112fd05ff991f4c050755a9290960e299b0318828b8fc7ff5dc32eaf633dd0c0db331badf3312b03db885cff5eece481b0f503e1affd004b0b5277cb7c8d6bb8f3d912907333843b556ec761565a1b12823c660339bbe134599026d33850233fcd6fad48ccec87fcac9c81be1cbefed5445f47d10219ffff03d3350f2bf387c41ad164f42da3828f2d3c2b9a8735709ac9ad1cd524b9568ca703e517b726279c7d38794dea702b4a55d7adec33f6ea24f988931398828e467a7203928327ade8d15fa507c1e849ea582faa1a54c93fe4455667f8e35f31da34f2030314aaa281773c43ac612468c2ef3ea989ba5642baabaef8fb77c871ed38e585a403f2105f90687cd3aecb2669c31b113e74c36ed67b31fc16b09bfeb38f5a2923b203a3edb8e27c519b775660c57fcd66942560a134277e4beb77d64aa77721772c27039bb1aa29af2f5584e49f9c7a98ef7eaeedb468150fc466b48a6503dfc10dddc7032f66c13fa398b1f143317cd363dfebf29fb38fb48893ffa7857035bc0cd4d1f0037152677bf018af215c5e85a9fef8c1e5b1ea1079311f8fb7969d86c9374760150219ffff03cddf6ad5ad524274b6639e485e0ba76880b67d14ab48eff01b9cb96396fdd35e03efd3bc003cb34c0c0bd45879a13720cc8002ad7dd4662991b9405426f4fca39103e710c9beb7917aaf3cc0686f38c633626941a908907c5e42342284dfe1f2348b0396f6856dc51a99e14120d94e555821ea45f5fd63d763cf08290f8f056f4d59240355f716e237b272cde7572fa7ff6a78b737c07eff7636311f74562733e294bd940301c98d84f4055d85137096ec9a1c23339f1fae60374fbfa250775522d41317830379c3d82657c7dce18324ccc1c17ba7fcf10d1f95da0b1c3c1fffe056ebdbb851039c4a031279d7cc6b0fc3dfc2fe4f27ce4a44773c2da85d3010fbd183ad6ad25b0341d40004d2766b7e111ea4665297f76d64515bc208c1fbf01585a0703f8cd91603581fcde6a110cdba0d7fd62398d65f220faf4cf925f838e7d6801b40cc20c14f03f72f1d934b2974260586ed337a58c5a2c1c5b80745254b41ab4ef33b9bfe88380399d72e7a63fa02860e459927a67c4ca8e2f391d9072713e780dc5db518b339460345ecb78b8b7fdb8703759438e39311ff8554190f233e923d8f909ff3bac59b2703f5b9559e675e185292d64fe5a9ab8143029bac8c139524b009215ebaa90d905003ec4625b79e03638c32c9194b95f8b13bcafe32ef98bde7491768daea0b219ba703ee702848e3eeba8bd413cbba0c6faf402fda0b93e98055873c0a241970cfcecc033d47fb8ef69f1f4b8167d315846676a198ad3f8bc26e183847c7bc0310b3b29f03bccd642dad1a58f20f1c9dce960ca57c5214db0a2280e41dcecc9f774ef40d0403847c6d4cceea2a25588bca2c088fe3fe4a197c33937e15334c8fd4a10b2050860330157c5f438f185b0dfaac5c3979111993652e840bd113fa0a5c5bacc9d9e63a03a92b3e2306088beb8e8e071761029ca60c78220676b660ff3b433d8d55a0a4250384c0e54790d4a88f273a64fa240940d3ce3bd1670719097fed654f362f3550d700581e02f8fd7008e3d53b67916e73460df9fa5214e3ef23dd4259ca09493a3594550ee6b280000182b804c4b4000001d4c0000f42400000581e02562b3291af5c3af690ec4112e0355f92d65ed209f3c196471f4197efe2410102195200037a946a629ac74f3c74d5915a1b3eff85766211d537132c88c5cac306bdc8dd4b03b05fe15f5fb3a3ead963a32dbd4803bbfc7347d5a55c9b556ab14bf37f8593d203a923a8f6894f40eb1e053d7db160036335b6b60dec1005ec6abd009c8e2a1a5903e7708148a2defd27d6be0eb7713989abc988894aaf727b5584a1fdb78c4256550380f9536c8db11ab1b2ad93022a319e6d7e41387c1fa6f95c939a0eff7d56e0d00327870983b90c02e645144dfab7e1ecad246011334eef6bd7cfcad9dca25bbffd03385158266bd43b411939339e1b9971d8dc8d44de6e02f44cb4f36f398d5c9b5603a0960d9055087b8c338c8a4f45429e7333299a54e5d33b610ae5da476742ac0e00581f0363845e73a72c82dad0367feb6e662361539fdf0df1d4f57713166c1172504101031ca7154036200947f6846dbfd8d7ae252e786a8d15912076067df7efe355a97203c6c52d45bc0a09d21b8e5e10b91ddcfa6a8377480812cc9ecda642fbbc6351bd034adfab8c5d545e4dcf2ed32b0b0dac2ccd6d6c6ad489735c4b1fb743c3b8074e03e5eb6d1388f55c6bcb76ea5011bcf622ad1e0194c7da965cf6d79e067f5f480c0219ffff036c48acbe9968268778277e74af69969528e5b1acb84368838c58ba8a9c3e6f5503ed31d5833e00c78109df0915572bb00e8e6e88ab4e1f43fb5a7f2dc67f88b19b03cd49a4e6766d36a8eda93c14f6b4a3dc330d3a0583a26aa8078fde5c31e3df3f038196e8f1480e9c20d81c4a4fe73f7cb5aee4101d7154b3e5da482e9f71cf30b3034c824465593c2dfe63bf89a19a0d7c21819fc423a94d7b62098a7b33c1cc4fa30219ffff03fcf42482b864fe71ece3dbc559f36fbd21dc155e5d16d5c5d3ba435948047c4b034bf7c70106ed8f7b904f65a7fb2642296b005e769173db346c76f7b44c803d0203a9ad300e511cc4ede969968d23849cb0f45ccd94e6c92d4ad8f96ac67686b50d037da2dc78291b7be7f1bbbb21c6f19a2292dc3c7b706e43f98f29ce8dfc3caa690367249e607c2bf39f618dac694819407567408181f58299caafbc627655b42c750321a8428751440813c0fb5f7e4f25e8cec6098c291d8ef6e722039609d2fc1ee503a1af5c71b3023e8d68cbc4f6f3134faff47997567ad046b609d7a84a46fb394a0339ab03e16a2e443c02960099cac0893906c844693f59e9335f43b74639d007d3034eddaf5ecd19a91224b43d8679e42392d09ae50be184338234f5972cb454482d0396fe9ae631e713f1117468db8ba2bc438046849d6a3a09038a8caabf7ae0a609032755fc424ae04ce45f97b614cddb1244f181ee0017182e32e2d230a7519df54f0219ffff03ae3aeca4ebc178746d89475056c1e3b6c3229b30005e731af3ac90bc7840e7970395c95ff24b0e08d14d3e19df7a56293a3e212dce539149a8047d3ee4d467fda703f8fe8703069c1ebdffa6e6cb6bf91ee5f93fc10b41641cd940c958609aece208030fa3944597b7595c0fd8e43cc5d91afbb67e060299064a3c7bfc4bebd8e8012903ca2d33452230ce15fd6e902b842b055dc975dbc419e0983b7e9d55c013f86bc003256eaf01f4492b58e2a7eb289076da55416895e69bceda40d170a782cf61539403d25408a40c79b3d2a0549fdd12076e729498c31b5bbbb78795e0127b6fd4e9220389dcb6673a2a19726e94e22a5cf11819c68e82daea238a7d050b96a94a245f4803621a5be63c705523f0ddcd0d4ac4fab519564d92fbcb879b6a027ced541d9517031442b31cddf7faed5460aea3786a5480f980b34aa832c7cf70da0d26296f7885034a2fab2e384a68f5db6ff24d201d918c736567912f38ccd2622613d62f8557950219ffff0394125cfad1ee104d2bce2bad7fcd9d2f47e8b1d43a76cbec5e5a6bca0d1c65b103da35658593b71259a9e821986167b0ce36a22c5286b08b86a83adeef0b22a1330379a57e49c70ed408b416c15e2468dfe4f2f67e2f512e91c48446e85433c1d927031abe28305c31f0e0728ffef9710e6a0e5ef0e52d8def5bebc020fdf52a4dca0703cf07294af352599a25a643bb66ca03065188db5525b007bb1ce75229bef1a9190366fd53bac8fbe69b874b1537b28cace11a4ed681a187b0b9a2c201746b6bf39d03756a9954576c7247afe0df4aeb8a5a69e64ae7005065652ffbf9de62433eef65030a30c060eb4cf3a384455b36c5ac94bac80d1e3def35b2eae063b14117d8613e03dd2749ecd2b52dc0dcdddd7ab3619b75c7dc834c429d8227d6a8bdbb4790015103f779ccbeebccd4b057941d58384ecb12a61f2ee5e034bd1fff31ec4aa5bb633903225e358d7bacc6c73bc6305b381e148b61c4319a306066c428feb97c38f99e58034e445ebdc60db44920c5581637be885fee15b8a0af2442514d0d46d43f59a233036228d234e4eff8bafde06757a06d5b818530ecf2b8824b5acd11b3ddadda076d03649814aee41deff2b1bef1e91766b3b96ab4c977b3337e23bcae6b4308651c0f031d939850e8278aa2df38a3fac05e76f4f09722bdbb2233adf0ac1d7f4703b30403b664d4350e2a29562af5ad30ecba9dc9d4a4cb56018a275aa544d1e15ff3d295034245010dc3c7ecd51d241ed51f1d7d248f3791adaf75a81ccc3a22b3459e2ea20328cf6de3d0dcd9b8065362dbf5027a674a45c49d4dc522a1563af19516daaf34032752a5931e94a492cc767400afe8e06a08c1cf83eea2efa7f9a9156cb23543260367921f38376245d27493d45896634614cf353a8722fcc3049857ed4e3625b8b1037a9f06046ea5cd0b714bd8b40561160c209efe33073efb5ca453c7afa7e3a07f035aabd8e2519a4e876daf63b08aab70240582d8b7bd2ce88b2f7cf91e59881b5403ac7e24f2647d02b86300438e11f9a7e44880cbc7c4085aa1435282049fa1287e03454d2616a282993f4de96027e60c429c144ce98254df05e85caf0488e67f4037032400ab69be0fb45a1617bf95d9f81bc4696d3b97153553bcdb1c7860e6047f26038a52cd798c586175e4696ef2ad3302ede3865a271bc7780e75f6e02c6217de92032012da7d74452c4b63ddefa1803bdd6066f68e23743843aef6883367acc2217703012c421fb5f3ecb2e553448a9492bb7e028aa74f8322eba6700026400a07aeb6035dbc6af04ff248309be60c12483614ef8b20f14bb7ac725e2fe6da4ce9708b2503e4ffda1a81373f06f7ffd1218eb393daa491077d8fbf3c15d533df840ad9940903f3abf14234501e1aefecef62f209048205aaa9a17f186ab0a349b1be777c0a0e03c5183bc1acb9c55984c11a54824f53591f0fe8fcba2a2dfe4977777b1b7a18450314b01b9130479a53b1f02363f273ac6aa8a66244f9eee8bf5f4120ba4b73181a03c33fcee45240183e5dfb8cf50bb7f2e26fcb8d70fc6363f79d4b84cdd558022703a2ee4c8cf3ad016ba955630a6ca9410f35ca89cab07e658757fe5a0e80a6459c030f39fdcc34121608848b9ba1eb47781eadf41579ca4bf43dffa5875cec2dc822031efd34c9b30f207c7738803ef41933be12e3d58cc8f8e9950dd0cab3e4391f6d00581e02e573a4359eb45409b6ce777949eebe4cfb02b28d4877dfdba2bbc95f9b410100581e0219253739604ebddd2e2a2bf43d900e8b646735206aac9cfc75522943ba410100581e0218b612cd21d22a37ef7413c12b41c9d701d9c2db1be745db33f42403395820f9f239542b3cc054ca14f55ebd2041a7e1b7f9c6fcdd98f4c26ceb2827937c870313ffcee260c42ba00eb8dd4ee6799ae04a6fc69ca3df307e772f76459aebfdb800581e0253b8f121411bf43f4f8aed0bbbc1237a833163d14be7c38e385279cb875820137efb5cb29b974d60dfae5872310322cfdab09cb67902b44ff21412676c135e00581e02aeda05990d27294c7ec8e0c177bc04a76f2a3ef6b0ece2488c8fec6c6458207ebc754aa6cd9e6aac21fdc4469f867af42d68810c97da7b6c83073a70f754550219f402038459135f492e734fe4c4f5970a412d90d568da8624c7c09f7e7831715fb804f303baa3a89b567061fc7365176615a4cbbbe6fa5cbb0e9f148fa34048b1ce717013030e1820ff106c2f7c9468cc87c059bfb7c0a54df3e485eb5d9301aa188e30657101410c0219ffff0343e542641efce2313c39cefa0b8e886562afff84cb0b49d2b0bde5228dd0716303a788e203d5694578ddbf992d8e2893ee6e6350d767ee426273fec1322e48f712032bed7ff7c7052c30f2153640690405aa552ab9164c63c2607231397930bd921803c2b1cd9bb85484d0b0caa832f42c0e574606cb7f5d562b710ecc033fd73105ee03fdb7b68fe4c5cab7f69fa20f778cf41fe5cc9738d6f625295de1f0beac3d6c9c035373265ad187381eb0e2d2977cff13d356e1deb225a94717797bfcfce9a36a9b0305f0848ad45505ca7aaf2a294c85b8d4ba040152b3b96019078b4e2e3d38177603abf6e879f6d53da27164bff3c3fec21d3593c8af864bdb8737ee441b23e5bd22030077bcf61e8ca81b91d37e0bf6963cfa3d11d3fbd3982c263f452677d2f4c99503aaea68b663261a4d8bc65fa7c06314889f146f3005984fd0280ec6712d7288370219ffff0322b2a48bd16e5cf4a8d437f7b1151990e1da27231ff1fd14d296921fcd56d82f03acd2c619fc2b1ae042c44d17f7965bf4a98aa7d74f204fddac8f9b3109d36ed70219ffff035172653feb4f7c11706285bef2ad7e6c25a749b6a63bd2b33408bf1ca598295c030de3b43bd5df8c374577d3ce5e39a8ec7b4be3a3044606eb312ffc743b27fe3503f171409951005fc2e8766914b7d0a7eda68a9df6e9f0ec216f1262e241ad5622031c9d7299f577f351de79b6b3eca25721a1710b00c002db5b78dd78f15427b018032d9ff940a5e8a6633c562cf5a8b2030abb899db2b1b7ee4d8845fecbecd899c30337b441f21263d962332a8a8ffbf09482de5bfd674ebc135a9b10e9c4153b7fd803f8e27edb1dce1fbe1b43489212797a6f41079bdb5084d7f209073f6616ea4d6103a4a1d0f19767a2c79fe42f55168af25c13e3b5b16413190a82f1c1760f21583403108f39c0739d49d1e7c727598c3e7bbb9f360c86efce3fdb7e99033775a01e89034fc95e295f9cddfb18b582168b7f47e3c39723ff825f4a5f226d2c0d7e0f7cd4031d9682e75e692c2a8fb3f3bc9c680c9a8b2b9dde9cba1538908610bd04eaa20c03a31a7a7678310e42d1b816d3403d542c56b2cb867d9d46b47cc04f960e8383e903e0941a4b1c2d19b4fe4afa69093993b3ca03eb8ea9f2e4a266a6824caf563682031081d7118ba50f5bee8d0ccf9e0916925db49030937947446106f773942b3289035cc025c7aba5dadf200cfa39e540f29847a7df7e15c3e3a70ca1dec348dd36ca031a22c279669741aef14cd15829676f9ee5a4e887ca062655b9d305f01313cd2b0304c41e1a0dd50cdd7ed169483653f3a656c27d310eac38867c4dc24e6b55386d03b7a49478875b28755ec120b5d0aa74b6daada4cee48d67b22006fb67fe17397103207e40b6635d5d79e1425ed7cac310cf074f5893a4a67a7f0d2281ca1dca91760354c8eef9eac7bff1969b74bde25f2bd2e3ea100096f2170d4f0ba7daa4de7d3a032bd35cf4e760a18ff32ab3bf94796e00d0faefce021e1806efeef0cee927855903b7122cf0e712a53e89d3dda811083654687501b065e59422fb7823bcdf9b73fe03c4eafe889070295881f9a39733f2257d10098fff9d0b823d1148f4797e0f3db903b7b4b86b57b6c5fa8cc7852ef0327560dd9a8a8d533562fd2172f69cbcc48ee103956de4844d6772fe8182ea8db4ace6a013dff29a4125e937d1b6146fe4f15d17037463cca4941d45611364be0c1161475989671801cce788bba89849c6d9e95f3e03826074d7fec16b5b97f8b79af9bf2a79238027f917372083a4cc20614463994503c2707856dadb4e0840bed14025d9ae02b5d1af6442c0a3a433c6503f191d9157037f3d72ce05bed2c7f22df25b35d1e78abd56562b5748063d55ce373febfe5f4803a5da816050c1ace6606d0433111d50695c31222ad41af262872103f52066b0ed0339883bf46c6c3413b807fcecb8b7285118974cc5443251c42315335f7befb9b6034b0cf815eddcee4943a46c64768feff9d994a5207d7b2a7573e0ded7ce33346d03d073eeaf7c22c4dc529ea1dc8d55ea6a0c60c24f8f09538817978aa5af7f0547032c0c38d0c2323335381984e825d7fab332cc7f7cc2953d3f2caed788d4b285540356e17acc64eec6e9f0385099e0df5445c504b9cc8f96ae4b8052859d92ebb74f03ae904497a8f31e02071864e73c506b6f1853703d9c24ba960f9daeb5839acfcd00581e0238efbcee5ec8db944a8da110647434156ec022f106e173f801d6ed38665820ad6a7edbdc1d304256c5c82652af154cb1a86c2c178ea6a91f9071f33600274400581e027e49dd91f35c2c3b538b81bf3b680e294606d00d7a6a2f20b744c5676d410100581e021aba87465b705f36af4d769ddcaba265f2fffaf731cbd630c3cb87bbda41010219400c033d36eb1f175479239674257396420de0def4171055bd56e0574c4596414c253700581f030881e025ae69fa265a6e2f9eb567771aae88232a0377b2bb60b8a2f899c05820f285c0af0d6dfefdbee9c434931b64944b2953a8c4018b8d9d0b73fa1e3ca6fb00581f03af77a9ec3b24eb1619b8d1945bcb09f7e19d8019c4d351e1a50d1c7ed4b041010336d37b9ab3e80b2366f1193bdae04293c2d2ae7d4f8208237c282ffb20c7f727030899eed18c3ca20cc137a438eb24be58d2b1d376ae3503cfe1d3d7a7296b5dce03c8560b5d361a8202eb33e39c6fc65a9b84d9be9f40e8a3106a0ff8837c32c6ac0219ffef0328c6a82d8b40d26cd2cd437823a9fde69f82f7459273e860b782c4b29cbfaf0f03042e70d900ccdf62120be2bbfe5a1fce9e36939c87740c04c5e297cbffdbf841036db58cf480f28d7a9a4e4e79fd6f59bb23648b1e2345e86638eff93d1706c7560219ffff0345adb62e1156ca3f399e747cfa2d9365e8b397f50580e20b2ec126bfcf222bc60219ffff03d13c2ee1cc08f89846888a8fd7c4d8b82a7583e519f657482000477948e93e7603b063f28b197583ccea4b63155e310159b0408f0e946e439cafbfc2b17fec669303267ddfb001478f8060450d83d186dc327904332c26b6d534fa81babceb4168d8030ab871080c9410df4f801553b0042da301b05f63a08ed859c5dd0fd347fd1ca503517b2123ae7fcf4b48d125d8a25b237b5873b7f0fe1ee9616d6fd40102c71dd10219ffff0391fd4510fc87226504d5f5fa23aa7865d301fca87a4c24ab016e7f662991c59b03940f7f97d1447deacca8f8f275b877057584a89a8e301bc1a868a5a6469561fb0349ff566749584b24bd9ba974010614612a7189ad0800a668e807275b6820413103a5cf62e87ab5a0e568da5f95df3745b0b9ac87b638dfebdc343e22087272d4bb03d5e2d709f24c58999552e015e0137c8aa679827841d2546620c974ef1d854dcc0352390598e21c7399b7d313e1d4a31119788182648a2ccb9bac9641218333cf420376db5da3e5d60961b2fc80d2179d4c3008d0bc3cbe3f19200ba46f1f9ed4386c03d78667678ea42c0a8fcec06bcc9dcf9f9e35b40d095624b9c2273c299a43220d03e0ef4be148f4b19bca088d8e3eb9adb634172f29bc4ff06857497d7c9bfb7cf50301860b80c18694a706ef6c9cbb5ef13b10036c0853fb366be019f5fba484906b03da3a09e692cc95920d11eb06511d68713177c3638a7f737eefbb6150b25111e103f7a13aaf68681b6f6a7e2e70691856d776e08395e75d96c74f48bdb226b5021803880bbf4763da2f3715047b8ac410c049353fa14ca4ca18c6f2e00a34afc971fe03535d02204cd7243b8a9f6bdc354ff9e3fcef386089b0e91168cd3b3ac368c09a0388abb0bd984616d64c7c5fd0bce49da1d7834489efcdc9eaefdf1971269e7bf403e21c0cd3208b2b928d29fbc2df8a31b7ee3331ae7f4e4bdba45245b73b88a29a03ca75e7bdd81c1285854efde991b45a49c16e92c9e4066fe77ed2680a2faa95bf0306cf063d801352c8e933ef9dd4c3d5f913d8334be5ce8bf3543a59b0a85cd28503c26dfda9c41dd420269f77a10a2e198880e77b50b2f19c930cb197857743954803ce4945c64f78f324cb4ca6fb176fe167a2eeef96f52a1e0ace9a1743d7e6362503b0460a0fe7e4c2cab0c127c5d36bd65f327efcb1877c5506c97fec465aa7a1d803e878bbcf34b1b82cc6c16148bca5b1115cf5347348ab84c4a23ffaffaf0f680b03a77bbbece791df34082138d09e502ca2785ce1afe6a80e80b2511a3685e91be403d2347fdb906da8718e52711e4b6a53b1d3602e0ce1f5e5c90f104929bfad040900581e0296a07ac429a8eda414f34120a125b7a76a65660da31e30859aa895351f410100581e0200beb981f5978134b3dc50c9679d84fe38b9336b9a41c9c04e114d1397410100581e0267a19abb8e428aee3915406e1a538c74079a59401d5f230838c1569fe7410100581e0296dd4a65f4db35e899c088e522fd3ccca45e8fecef692786cbf3f66f80410100581e0298afd57151b6947dc19caff89f62f04114305eb200369ce5fc330c401141010219181a034f1d19993e11d12085cd77801af142dbd0f56387ef25778257f06d82c8a02024036862f3114a95c11cebf54a50eba63ede20ff4b6b3be08fccb6a01cb6389f1f5d038041f4a1188568c35faad896bf29a842d8fd1d5cc4e60e09174f3e81b05b841703c772f0bd9ba1691c5fb6ea81c1bef588093b3d8ac4c1695d54c0defcdeb43d97032fd23a699c4f54b2ab55fc16ad11f6b32f5ef8190767c9b724ca217418fe4db600581f03dc5658438c02434aa78fb4d23912acba35f37ed1e29dd2e3ed674a89153041010355bd7bddf8a4e22813dcf871825e157e29978af7155591c15717306b519e795e03c0e899d9530014e7895b0fc2016e7666f321038dfbc76107cc819f0497a9a47d03ccda48034992f508617db9de8ef4839a01ccca8898ab68a44b1e859ac2c223f503e061071789db28718c1b44640edf9c79d385e629075427a28a4ade707e9532d703ea92e8478ae393fb48b8a7df470bb3e50c7c2cee6fee78d6d237edd9be0fa62603ce237c3166cd301ddae90c1316fd0657f5a4fec3e47e1fb662220501b7df990c0219ffff0328d03e73e148a5179a5e56fb43cdb1d0f987bf61cb514d45c7c66db69b2dae8a034a74d0843588468d9cb00313e4afa4894509bbcf2524758e54518ad5952c748b03ee3f1c378fdc2256da406ecac6226f53e84bea2ecfee448eaedae2bb0c4692ba037fcc45d9d4befc75a37f7d7455d6a54a13bcc04a792cdbed32ad70181bf21ca703e0e4724812d3f576323f7588c38cf71fb9104b0266c9018add2bf582253b6b6d03fe00296f4b55cbcfeb7413af0d002181f453b1254f5267561cacdd1a52722b6e03e256fb2d3be49500bba2bbd32db2492b3039744ba7cf26788e67790f6218984d0341529085a62f09208f8e420e660747cdf3dc7d1c40111f9540367f58dd7f1262034b1b0d6d1006f805dee944f9936f5c3f33b3aa364dafe4c2827a7e9ca2acd68b034eeaf7453f49106a40752d363adca2f2ef0f5356291335b14499e0097f532d39032c03867c6774338fb471db4d63469f6d3197acecd4bc2b7fd54f9194c05a1e41037280276c089e106ab5ab74ec2fc5af31d9ccb31b53abd46653e94ef9f1fadb9e03e0a7714f63d61879dfef1aafbf297c04ffa3a1ffad80eaca5c03f4e5785aecd70219ffff03062e79c4cf86c938150a52aadd8e866d1fc079d9e4de638ce8715d45f51b2ffc03799210fc2727ea3c98c65f2f4e5ddadc90a8be3689a34017cd0df0a3f3452644031adc1a3e9485dc622b3abe019a16a6760ee4161a452bc2d4d47807dcfedbcb6a0219ffff03968d2ad2cb41884afd0fae9ae89691d996ccfe78282d023f6b42b8b2966b51c603336e8a0d38f15a4fa514dad6ce94ffcdb50f7626ba8c5731b309b84b21e8a55303b8490778b9165a40616f5c71a9ab61fce668a33d1c7b866156bbc293d99ba8260316eb8e51425e5bbb2ef1f1d56a0f9ff9e7af070215867019e4164610115699ac0338f6594ccdf6b05714809493a0af7258246e0048d67172998f1a8912864d8d5403ee2b49ea5ec09460f0964b22ad5c21ea704164c85928c0110df654e674df2cbb034290ccdaf4147daa9c6fbad755c3e9c2dbce1352982b430e8a0f3544626e53eb030db3fc63fca47f39972a37a0d0f648eaec01b76716527cb95609bcb72c42182203d8c300f21f40861b8b6b088999b6dbe2c4b68ebe9e01af5f37718f0f3b9182f803fb71396413a4a418558bc187921b6b1103a65ea609193efadd05b94f19d936500219ffff03ccdb10cbd34212d6f99e4fcbb5adcbcc458a7d22a23cad591c51bcb4dcb0dc5d03b163585ff03505670a84f27995f4414212c1a91b4fdb3a54f86630dc5df2b21b03b421fcaa0180b421b4c6b9e8c8575904e9783ff8bef31100e435f9b64a10714e0359908599ce3ecadd5f8c57ddcd9a0b7919094c64c6138529d3bb2caad837cf6c03d62778e0442a0bdd154b4e5e83d0ad83c439c4b340d81f4da6774b1fb2be608703c0ed2a773342f9c162b5a49e256e5991e2f6dc827b5ebf15fb8bfd80cd9b83c6038923c062e35f52e1531fa0d93a536eefd0da723485c8b42c821417893c8d706903873fa4bf871eb4aa94c49eba443094e9f802338160f93f32a61628531b6cc02203fa912bb910c2e6378564b8eacc08c9506a592cd322c629892383f660e22aa6410373fe8fc8f2b4b5f08da2773951e32f6cb61c119cc6ed7ad6ae4fcd3521b8df6e03ae6595b3c1508b4041dc8e32bf2835fea60268b7da61c90697f10fc402ff3b03035cb36b583fff6332af52665293b13205baa34393e23072345fac8810a31b3256031fa75021ff64daa5b29974496a611ea28f1fef36e3c2408ed8f7d8c4ce68610b03dfe5bb4f5a5e6ee56c0658aa172cd682e7cf3cae5ea7a88fcf3eeee20835d17c030a7f6a29120ce4dbc160c471816417c93ffa380403cff51522f49ac0c7faf9d603d8dd3ce7e7805242b95a04d85766fe865a71b76f1df93102a3bdf6efed48059401410000581e022f05abc91d0f531805597b42deae468e9f908ab420433e284106e6b5435820a0eee9fd6df9c6e2f2c377bba0bd7133d16343b9a9b1b9ada730f0c005fb0c5700581e025182fb186549b76f14a7e3e3fd4c88d78b610700b5c8b8fa8765420afa41010219020403e49a9e92e4d5d1793a58e345d756a3ecce0936fbd8866aec7fa648468099e01603e73d5621f7595f05b3bec38b84cee698e4330d683853eb754ff1abd3d737c03803a2968f66c5acc0e90d30769fa7ac48afcf0982760ed198b828e6052b83fde14603335b6e8d1272d3461c2ee02cf261ff9f4348eca751d10a45574f1fa2b7d17d7e03483c568221aed321362b8d782528fde81ce5694065e5c29ff9ca945aff621dbd033550b3aa28f052e678975f3cf32fef71002617b615e3dd24493907613e6826ea03477415433c5dc4ec2be0fa74c716b37f54f83839bb257131665d53cc070fedb603d2fa0c45cc71fb9d846e7624452ef985ceec54eea5f15b9994191fac8013afac03b53baad170889a39a782b349fa065e909d58fb9b2c8c606e771c4ba5cb56f5fd0390f73de9e7472d9476d9084e21b9cdcf804845dd4128f15dba956bc746ba1e1603a746360ad37aa956aeae0098bb3d1794c2d1dd7cb0bd172de7a2813194513e19030d66c029f3982054d3e8278be8c714e87f481a85ea2e99ae1b04bf5c9878d71703a0df3bb64c15464ceaed6038752e15d1dca7ac4be530d7a31ff6e8e55dd0770b0219bfff03c0e053a482eb4d085d5fcfe41657ae7a4daba7ab1d95694b3e7e7080fddc87460374b41c795b1095ccc5a624e695f4caa3141c3e0e245efc107d19d31215447332035162af8b171a729912576d352944f4b08d1cf527f9781f62fc07f85714dbba60038c38e2cae6d020171b4bd0df2c13b9050607a66ec37263d15c0d0ab7684863ad03bdb059b6b75aa16db420d30693441cecebca62030f19db69e742bbf9e378f4bf03277cc75b7d3b25c3e6ae690843627e8d710b89e2e976ac898a200fba9b26963f03b4819b69f75e7725a1bbcce62ebc17f0e353f6635273b8a19005ebf2397384f9036a1b7a19c7c0d9a645a14db3bfa20be3d9825bb6082071b92028ab89223d8b400219ffff0393afa8c1f380f44bba9a199e018f003d991d93f9d930f5f3ceb39dbe916be75a035bad23e5dc121f2368b39754e52b1fc1e4162f0be8951620873bf76c370cadfa0329d24ccf2e5a296169e3f846dadf9fff9b963b902f8d25f6a9f316035abb0d6903fb7a596ac5cf3b2e95b26e9d5e89820ea2c1d8c2a4915a27aa73109483f683860376749c2003d7e4571c9797be6ece586b2d0074522a741aa501d2395e00b28e9303a427c12a506662d6c04f9563d73ff67707fb4186119a2b3776ff209b4491225603dae8e3fbd31839c1d2d0fc56092551881dd79e9dd274a574df5115097ed92a1403dfe036afee1d0e8b97db372c26846322ee046ae5bfcdd6893d1f75f5911968e503e029792f646c89d7533bdb423b8a6f5b0ade61c155a90b6a2daa7009d8c8921c03d05665c0c31496b612673b0ad31c8bdef574298c89c2b533dd7039dee42295220326757e631cd601e3276180711f04887d7a3450725db2db619941d6600edd82270219ffff034cc4d925e39d46bce01c829ec76606156125c445d9a870cd8afe2dfe951b137d0325bdd00974aab9a6cf4625b45f5db999e288a09d9ba0b33e5129dff3dce4e619034b34fb6346c5dbe5115025bfa1023a0d6d7eb68e10c454970bc7813930b713f6035c57837417d6ec8d5793ea8bf92a39e0745f77a7cd053d48fded96d1a2bf8c7203dffa65603d6af54106c52401b82e42e54b394cb3bae237236b4ebc12eb6872c703edd581516b2c5844a9d59600cf4ef42be4e31f7c287ef6e4f26494eccf3c1ac503f051be02018b048524ed820d63aac7ec6532add6b4e0fcf307ec06241e00370b03cf3b8dbbf8a7dda9c7ab1163a7c829270bfc27785c0ccd74d69babd6b38e50d503be82b683e3df44941fee309366a209e295517b5e4d4da699aa04b188b851527e032e35e15ddf7a22ac198f3c7b1b465ef086c6c08c0499e2872da71266bbe0355503f45d8dbeb266e7000c01aa7ff2336a27ad5503b640e9160a75f710ce88f47acb031859ebaf0062eef9cf856400c5d22ff31d8e69635dca570a95598eb7d92df4d2035b0dbe8c8246097f5ab956173e650f9764f43a5a2f85a48d6e7012a1376b776a038fc34705b8ed10af48bafb2d5bbd424b1beb265b5b92c7d508b474106d0532f00219ffff0219ffff05581e03442e6bc69eb1ec9e2ff1fe0c9657c26dfa5836f560fd714103866798200f014a264e456b68b4ad5049d619109705581e0388f6cc301a2e314c1388ab8713b1514c904246b74e6e053efb69b8379004010313a3439d21726fac58991727a50099eb5e0909aec3908b47136b29ea2cbf64e70605581e03d2d2d110b0d16ae443aff659c6277d1d67eac395373c0d6c273fa80db007011bffffffffffffffff03477e55ba248c43b4819eba981b99f83ece64d9f28b7d1cc7cef7e2ef1f03ccee03d2cac65b5b487ce5d725d967fc5fd454643cbfb4c6d492a0f48f1cccc83c27a703b0dff55046352cf85aed977d4b17a578a054cdc2cae6cdfe7cf78e4d67676610021975d903188f0336f01d0ed05455780d9a166c0303b116f8d5f3c7c496d379ee61abfca203e25121b7ff8588771ab67cc445373294efa55bd3bdff9a0c72ba1cef0a5f6cab0345bee27de7280a6bc4e55af977fea260c357c89892ae50e181469a9123a7839c03c4f68f801a839853a1575c8c1aaac9fd6f9d981b9fa2eb4b06806b895f66ee98034ca6b463850fafea36e23ab0f47e06d849d678e9655e2dd3c8517d94996c8551038ba87e6ddcb8550bef146582e55f711476066d86e01cd331f5bd1ea36dc9f7a303b0c1b0a3975a61530a0cedbee8524ace6722a47205ff65e496c951f206c532f5034097bd60320718e301c61103ab49938625d51211a6f1a5f65b23c0ff53a3743b0357dc223bc32c0fa30332968154e95843aeaef9497db58fa7592114f9b0fbfc1403468cdc1f7fb3ebe966fc7b9d05b64d7bcbe3796316018afb84a041a86bf1afd203a562b394e187d151f5d7bb026904762f6a22aecf4a7dcaf4fe69d541a953fcb20219ffff03f64b294476a2dab6a63aa7adf00c50de4c4e8d613024392a95e76311491ce4b903edcbd2a21c0fd55789115edba7fe6ddbb0b730090bda4c27b7065340438c763003f8bfeff6fe857d2fb76517805016cad1cea056c1133661575564203b1d663f5d032708131de0e36751d9474d3dff2db0bdcc4c6323049636903e9d3be022496546032c0f41212ba087f458d0f62d8fbd289b62f3106a43551c815fbf49ae03aa73370219ffff032c59f3ad713589350016e86209be6803ebe8993839ebc2ef6d57371e6b24cd8403364b0d5fa49ef6bd89f5663f78429336db9b8c8b1c00986fa2f797431a8fa00603c8038cfd3c6e303bde9ba36d58dfd55e832cead3ac32bd46ad594dced478c63c03e0c4c36a4270b2ee14f7b85521ec969c5284f515f98b8d4ff30ebb30b9a60e9c038d87b695df59f352ebf159303cf5e2a5e3f3f8a891e096a1f55e8f1f262f522e034be4e32f2ff8007b316600c63a8ef9922814970ed9972b9d71bdb7b192408c9b0393ee60245cda784b34a35ee6fbbc562e2f936d5bf64c0cc8c48b1e3b1291509c032222905ecf6f37056cf5b0c4c6820acbd1ccce7bb63b874e2d75f3da9852f3e2037a406560083a36369c601660e21b117b54231691fc9c28ac8e59fcdc2e45238f03c4bbd69dd368308ef970bd8e7bd2e2df13dd1fa1c79b9188101c4f7bc855641d0349cadca85615c7b561c146b7584301c77e2b71d02f67b1b84e327b8a934c24df03f0487e70f77fd4b7133b1ce7a400e4854ebb6abb739c62dd3b2efa349e5a3f7603bb925f96ff5d804dc63edfeb258877f0c3aff1e552c4954ce443cc96cc21ff2d036f6230ac9c5fcccba6415fae44725ddcf1e6729054613274e5e50189bcb7db5e031f68c275cfe9dba097a251ae7347ce804f9c38c3503552658b474b3699c50e910219ffff03ad586696a89e775b263788747e5a08d0ec8640ae1a15c8c077b4b4db539932ba035f50c42a6082fd7b24224d4e1f4ecd4530092c3ae7f877e13175b20bd44e95fd038405257e1cb87a2358c016f8971a9099d1f7b9e13ccbfd95b175dbd9f967b6f8039eeb9d9475973cdd135d8a89c2223b5f13541cd3a93ca0ab76006e291687f6460326c84af1a6e29977606abd7c055bfbdcef59f507da57400d412dc2c018cd7cb30392653b51598a22d9ddddea5ba914d7cd762df2d27e69a4a6cc9c1f5b9468266203802767f514765fbd4d6b4ab81bc8264f10cd55eb926960ff42aa8af352a0a52003d3372c80bbd338cc3a240d48001dc4f411062a19f6b575d62fedee9bbee6d83305581e03960328c8676ad3763740e25fff5576950b77d39139b0d99d8760311c100418b005581e032897abceb104bbcd3a85baa9732193e8ac3e59d0eebb6e2d649c23a060040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d022630d6f4682d64ea862a166676e9ecf8274d134feed0725a5a29ab5107011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630480c69a4ca95001d6600582103a0177b2b994427449d9ddf5207088f993b8dfea745aa553fabd3d65c6b2bfec05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf60480c69a4ca9500197e00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0521a565fb99d1ced9abed92682b9d8076823dc0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58200141f60c06b22067b9305e921e16821f9afd6c170bb72d629f92a973748051e0005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85127032dd9af36c7d142eb34a1a3847a798002184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632136b000000000000201000570bbfdcf00000000000000725b34709e61b7d0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54ad8f047d9b742565bb9e10c7655bd3ee9c1eab750218480219b45d05581d0226adf9a1d717b845aa3f6353eef0adcad9cd9737c323ea6cb3465eb00701192c1d02190880037e891825fc845bcbcc1487efbb17ebee5fd6f4baf4849b560ca588a79660528105581e033344c850ec06f5f31aeb9d086a261390f184446f76b13adc78925f4430040103ea203f4d5cfc7dc8232a2744caa1f1d6dee28a6eb55328f4cbbc82a52d395b350322f98f5a485b80392c2a417e910248d84326d118f8031042fde0645efef659ad03e919fdca60bf6eaf017ac53108c29ca80f434496a7869ffbf6727ea060dab73503ed59feaf19237eaa58ff62aedaecfd2a148dca021cbb8ad9761e9ddaf537a5c205581e03a65bff0554f767f87abf09c2ac5301d257596781d3f359aa9cef37f820040102195d9d03e337a38ae56b925ed2202651d1fa8ca20a99fd71c979824828b198d50cfad5f3039c7e357cd210f8528fb25361a3d3e33131034dee8934d3ce79f28e2771ce6202035862119a1647ca8045973bf28d79a77cacfc4b711b165e9ae0ae61136a2acfb4032074e4c4769b201e3c947f0b42ab7af6567882dc3a7432e4243938b79d3e10cb03fae189c9981a86a0d9f32b048dc44ed9841dfea68553fb91151bce053fd7eb9a03648d35fb2c08928902d5dacd5b4e5c5e4602a7471ec4ef5885ec7705df79ce3d0372a1267e9730d594fa07e05537298448f5212498ee24abe63b9fdd76f35f0e3403181349445e30d5bc4193ba23291ecc447e198f87c7ec7545c84eeb6fc5222e8003e9a52f8c7996a00783c9faefe735e402f1933c29b24736ebfd848cfc92c0c387034d92665d1bc052685a9573c1e33b6c6fa09f429b7bb3fcbdc06600239fa5051b0219ffff0356357cd60666de08329365f0d45a58efbf4b2120abc560c346c7bc1f5477d83403493e56ac8ff78d0bb8741948d69d07afa637f2dc886f263d60f845fb9fdf553003d2f4f4d9282ae8de4029009e5733b212d3aead663cc5e7f4985f548edbda8aaf03c596d40f6a1e526b699e0aa0e1bed9b12cb2f67fdb43bdcc417f9872c077b22b039d27cb8db6a9c6c8c409f80de3c291a5abe1aab8b44bed1e194f6712d9b8f0fa031b07bd8e267f5f5fb759f4bd91502fd3848f145e776d9021801df2e03b5dbaba03804e7b99aa4fb8ff0810a7c8a3ed1541e8846a9062275bca1b29d240602bd63d032d35c68c77d861138bb97344e840503b4df2f664c93697153c23604ac9ec7ae903b9ed562853a0bb21d02ae44d10ab4a24d68336892fb42894c49ca1fb1e6c300903d351b5547de1cd5d40ccb4a21f0be79e8cc7d0f8506e0fae15db1384415ff822039cf29d83524a1b94e196d00e3cd53993301a85c6e4c1277e79ca92859e1258e403dddacbf9dbd446a48862636f36e6632b630792133e5e8def4e10501882c5b57403336c7d99dcab806c6488e78f5caf0fab56ac361d1509dbc656676668179c64e003157be1a12dbd9c5c01de1ed426cff1c4556991679931bfe17d85bf750c0ad73f0219ffff03532290bca99aaf6fd91e9b791200854981ae4c4bdcf3b81350e09bc36d3c4ab6036cf98331d910315a2373afdaf6ee2743a70ee7b789afe0a1b9d74efc180fb85603e75d2a7c8d5338b9160c20b6d37cb502fa4da2181d54b1fa3abfb5a8722328320357ff410203bdb1321bdbe93610f26688bc17978fe8b019f4966d863a4dca004603284962a47dbff51eee74539651b6638acdc3b9419f155a7b2435646e61a0c5b803dd3e92020def8ce6d2cc430f113491b70239056c39bf18be0f56e77c23d9662503eaada41673744c6b05a037f0905c64504d969e1df32c4496c80b903ae25d7b3e03d136d591dfdfacce5707ab947862fa39fce76a797d9622d28df5edfbe754566c03f6abc6c9ecbc5d5e4d48717c88bad0d8c411ddaf92d675147e78376d1e3693810313f708557e83fa31f67bde9281cb79f4d7cf82cd738174dbad8eb5df734cad0303e3f7dfbb3b41c4d9f1224d9af586571244600c2c93e522ebd0e21e7bff450eb503d8eacf6f4e671333436b5e759e936ff6838c6eb374123ba29fff6cea9eae7fa8035143540ee512ba2b35f48a84e2e92fb48357350724451e8ba457d81dbca04fb903b6bc087732cfb100c7d8a0c6f3b4c5dd5385f5283db523a237ab67e16acf2918039d4bdf3042bf40300350ce692c3a6aedf3f75ecd1634b90d77de3d95ad9f09490219ffff0219ffff036d4481eeeeddc995b83244c2795d3637044d1a89ae05ae32cf18d100d29412ed035faa4a0c22c277ebf1c41b40ce48993020dc77ceb4403503117045afe2956cd5032b722e5fbf2aec213dc491c4930304c1663221db1ca043cdb99c0aefdc2068130345530d497999c84cfade69a3c21584607ac0e9ca8cab6d12382f3682fccbaabb03d92cdd278d5b263da34c39d49ced3064b2d7f59d56ee2a7463a62108d6f6b066037cabfdede8f664e1bdeab628fda666bd05afce4ad42d54870ffe860d68bfc264036992b1e637d49b9d0a5aae42d54e82b128e969758247a7a0e234539bbebad84b03da64cbfc278ce27df70517d6e3baa36be4d3c1bc84268be1fe781bbc41625e8b0354b4d6339d1c49744b4db4053f38397103b9090646fcb128777a0ff16a015b7603637f4c7e4bd636b005e1c27e5865f579649860bda5558c875c4e8fc3bd704fb0038f6820c4363d608fa3d502ef262b4309b8c9b7aeb182ef843ad51afe8031925c036b7c7c8f8ee3072b386320bac2a1906e78f6a7c1fa59c9540541ab7459589c000300788926ddf1ece13b32f8abb727a2f8598775b48a2052a82a737b30f0a13a8c030a19f14d8c0dd783da6245eb5e2317cb00ab662dad157bac76b693cf1dd85b18035d155c65490fa87d0aacdb6c020c94f3daedbd46b484076791cd341d502aaa06033279cd9461c4ef7e092e1445f5fc6df29a1ebe73875f03ba3180e7399af2129903bea7d9451139c8cc523ee01ba48d03ec2bd20c365241c9b17c66c25a7b79e24403dd6fa79d9b3d8bf3e591182c7e82f5e36fa7e1361c2a2ca499b031839e684d9e03915498f9d9deed52ac014ef97116872fd3e80b9a170c97daad6e7293596f7167032cc1c06f696e3809f3b5063df0248bac989a6709aae9ef7568804a3823f5f1b00334c97603dddffcf5c1e81b9f5985ec0c99d188321da43afc4a1b10bd726658dc03a099d92d962e8ce4a1e4d47bf3f6687d01a09b8a99ff03a70f31bb4bea12514503b4baf54b4b8ed39a038f1f44a55387801f5d5dd189f7acee2c6d22dfe0a7634d0361d27b7139f3c3c1f4ff50e9425be6883e173c59ab9cb7e25d783a367bc657910363cc2f17c0257b83881477c73b0060502202dba760393b8d823951e866a4417a03dd7b0628af3813d12f098f9259c6215a4c5d338efe765c6a9de6b6542904c40c036b8c85ac542ece80c49480bc30ee388be5d9f34331c52d52d8bd1efcb678a6a903e676eb6bf023744cb2e25a45c05c1b545fe292b52abfa178d65312cbf9005cc805581e0316a604490e1af371980659605ddb4c7d982c64f8fcb4e333eeca674d600c02462d33aed8680005581e03273fa5c173479b8bc297bdd32adadbb90adbbe9a6e45fb1da2a026f1900c014701156533dcf30803905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581d021bfb8da3716636c421781fb8daa3cff30cb507849029cf22136a2faa07011bffffffffffffffff04594da66080604052600436101561001257600080fd5b60003560e01c8063078dfbe7146130b957806316ac7e30146130235780631c9bdb4914612fa05780632104902814612f2d5780632477bfbe14612ee45780633659cfe614612ade578063366c771d1461295c57806338b8765c146129225780633b7d0946146127d05780633e39b650146126ef5780634e71e0c8146125e55780634f1ef286146121ce57806352d1902d146120b45780635925570614611feb578063632c096d14611edd578063646fb67c14611df5578063698766ee146112ef5780636aea2826146112725780638129fc1c14610f9157806382ae9ef714610de557806382dabb2114610d7657806389c071ea14610d075780638d66c28414610bc35780638da5cb5b14610b715780638f45ff78146109a05780639efc757514610964578063b292bf9514610916578063bfa5b324146108d2578063c291230d1461080e578063cc88370e14610694578063d45f5e211461063a578063d5cd7d201461058c578063d68ffecb1461035c578063e30c39781461030a578063f144cf171461027b578063f4359ce51461023f578063f7f03fea146102005763fa78668f146101be57600080fd5b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5760206040516303bfc4008152f35b600080fd5b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb576020609a5460801c604051908152f35b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57602060405162093a808152f35b346101fb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5760206102b4613240565b6fffffffffffffffffffffffffffffffff90816102cf6132e7565b1660005260a1835273ffffffffffffffffffffffffffffffffffffffff60016040600020019116600052825260406000205416604051908152f35b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101fb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57610393613286565b61039b613263565b73ffffffffffffffffffffffffffffffffffffffff906103c0826000541633146137f4565b16906103d982600052609c602052604060002054151590565b61055b5781600052609e60205260406000205461052a5767ffffffffffffffff1680600052609f602052610411826040600020613a70565b156104fb5761041f826139e7565b156104fb578160005260a06020526040600020817fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008254161790556104d461047d62093a806fffffffffffffffffffffffffffffffff421604614c3d565b8360005260a06020526040600020907fffffffffffffffff00000000000000000000000000000000ffffffffffffffff77ffffffffffffffffffffffffffffffff000000000000000083549260401b169116179055565b7f336f0b3cc523e98d21e261389542b62abaffc094a21a82f1eec2779d7c8323cb600080a3005b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b602482604051907f4753d2830000000000000000000000000000000000000000000000000000000082526004820152fd5b602482604051907f9e7f1f410000000000000000000000000000000000000000000000000000000082526004820152fd5b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5760405180609b54808252826020809301609b6000527fbba9db4cdbea0a37c207bbb83e20f828cd4441c49891101dc94fd20dc8efc3499260005b858282106106245750505061060c9250038361348b565b61062060405192828493845283019061329d565b0390f35b85548452600195860195889550930192016105f5565b346101fb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5761068c73ffffffffffffffffffffffffffffffffffffffff6000541633146137f4565b600435603255005b346101fb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb576004356024908135609d91825492838310156107e4576106e38284614962565b600181018091116107b6576106f790613b14565b94825b84811115610720578686610620604051928392835260406020840152604083019061329d565b8581101561078857610783908360005273ffffffffffffffffffffffffffffffffffffffff817fd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7b01541661077d6107778784614962565b8a613b90565b52613b63565b6106fa565b507f4e487b710000000000000000000000000000000000000000000000000000000060005260326004526000fd5b857f4e487b710000000000000000000000000000000000000000000000000000000060005260116004526000fd5b60046040517f7f52b2bf000000000000000000000000000000000000000000000000000000008152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57610840613286565b6fffffffffffffffffffffffffffffffff9061086262093a8083421604614c3d565b918216918260005260a160205260ff60406000205416156108a15761088e9250609a5460801c9161446c565b4761089557005b61089f47336140ad565b005b602483604051907f760c443c0000000000000000000000000000000000000000000000000000000082526004820152fd5b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5760206040516a084595161401484a0000008152f35b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5760206fffffffffffffffffffffffffffffffff609a5416604051908152f35b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb576020603254604051908152f35b346101fb576109ae36613356565b909173ffffffffffffffffffffffffffffffffffffffff809116600052602060a2815260406000209367ffffffffffffffff80865416946109ee81613afc565b946109fc604051968761348b565b8186527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610a2983613afc565b0160005b818110610b4c5750506000916001809901925b818110610add57505050505050604051938493604085019085526040838601528351809152606092808487019501936000905b838210610a805787870388f35b918597508287610acb8799849895979951805167ffffffffffffffff16825260209081015180516fffffffffffffffffffffffffffffffff9081168385015291015116604090910152565b01970192018796959391949294610a73565b8083610afa610af5610b4294869b9e9c9d9b8b613bc1565b613bd1565b16600052848b526040600020610b238a60405192610b178461343f565b89815416845201613c07565b8c820152610b31828c613b90565b52610b3c818b613b90565b50613b63565b9895979698610a40565b958099979896610b5d969496614917565b82828c010152019895979698949294610a2d565b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b346101fb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57610bfa613306565b60243567ffffffffffffffff81116101fb57610c1a903690600401613325565b6fffffffffffffffffffffffffffffffff80931662093a808106610cd657600052602060a18152604060002092835493610c5384613b14565b93600160009201915b818110610c915787876106208888604051948460ff8796161515865260081c16908401526060604084015260608301906133c5565b8073ffffffffffffffffffffffffffffffffffffffff610cb8610af5610cd1948689613bc1565b16600052838652886040600020541661077d8289613b90565b610c5c565b602490604051907ff7e2d9d20000000000000000000000000000000000000000000000000000000082526004820152fd5b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57602060405173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000007b1014c88f14c9e910092526db57a20052e989f168152f35b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f30a9d41b80ecc5b94306ab4364951ae3170210168152f35b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57609b805460005b818110610f05576fffffffffffffffffffffffffffffffff610e4362093a8082421604614c3d565b5b8180609a5416911690811180610eec575b1561089f57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6c5809160005260a1602052604060002060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790550181811115610e44575b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b508060005260a160205260ff6040600020541615610e55565b8254811015610f6257610f5d9083600052610f5873ffffffffffffffffffffffffffffffffffffffff827fbba9db4cdbea0a37c207bbb83e20f828cd4441c49891101dc94fd20dc8efc349015416613c59565b613b63565b610e1b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb576001805460ff8160a81c161590818092611263575b801561124a575b156111c65781740100000000000000000000000000000000000000007fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8316178455611184575b5081549060ff8260a81c161561110057337fffffffffffffffffffffffff000000000000000000000000000000000000000060005416176000556fffffffffffffffffffffffffffffffff61107e62093a8082421604614c3d565b167fffffffffffffffffffffffffffffffff00000000000000000000000000000000609a541617609a556110ae57005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498917fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff602092168155604051908152a1005b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152fd5b7fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff16750101000000000000000000000000000000000000000017825582611023565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b158015610fdc57508260ff8260a01c1614610fdc565b508260ff8260a01c1610610fd5565b346101fb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb576112a9613240565b6112b1613263565b9073ffffffffffffffffffffffffffffffffffffffff80911660005260a3602052604060002091166000526020526020604060002054604051908152f35b346101fb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5760043567ffffffffffffffff81116101fb5761133e903690600401613325565b60243567ffffffffffffffff81116101fb5761135e903690600401613325565b9290838303611dcb5773ffffffffffffffffffffffffffffffffffffffff60005416331493841580611cef575b611cbf576040519461139c8661343f565b6000808752602087015215611bcc576fffffffffffffffffffffffffffffffff6303bfc40081421601818111610ebd5762093a80826113dc921604614c3d565b1660208601526a084595161401484a00000085525b60005b84811061145d573360005260a260205267ffffffffffffffff60406000205416670de0b6b3a76400009081811161142757005b604491604051917f903482f500000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b73ffffffffffffffffffffffffffffffffffffffff611480610af5838888613bc1565b16600052609c602052604060002054611bb1575b6114a2610af5828787613bc1565b906114b66114b1828587613bc1565b613bf2565b6040516114c28161343f565b6000815260006020820152903360005260a260205260406000209073ffffffffffffffffffffffffffffffffffffffff851660005260a0602052604060002091600181016020526115196001604060002001613c07565b6fffffffffffffffffffffffffffffffff815116611988575b5067ffffffffffffffff8216611648575b50507fa512c82e73ec974de3c794a3ea6bbdfbad18531c1394ace9972f3f0166b67863604073ffffffffffffffffffffffffffffffffffffffff61164396600183519501546fffffffffffffffffffffffffffffffff8116865260801c60208601521692a273ffffffffffffffffffffffffffffffffffffffff6115cb610af5848a8a613bc1565b6116166115dc6114b186898b613bc1565b9367ffffffffffffffff604051951685526020850190602090816fffffffffffffffffffffffffffffffff91828151168552015116910152565b16907fc71e393f1527f71ce01b78ea87c9bd4fca84f1482359ce7ac9b73f358c61b1e160603392a3613b63565b6113f4565b90925061167873ffffffffffffffffffffffffffffffffffffffff8616600052609c602052604060002054151590565b15611941576040519261168a8461343f565b6000845260006020850152670de0b6b3a76400006303bfc4006116cb8d6fffffffffffffffffffffffffffffffff67ffffffffffffffff8616915116614459565b04046fffffffffffffffffffffffffffffffff81116101fb5761170e8c6fffffffffffffffffffffffffffffffff6020818095169283828b015201511690614c63565b1684526118c8846fffffffffffffffffffffffffffffffff602061173460018801613c07565b6117c8838061177a81866040519661174b8861343f565b60008852600082890152826117688c828085511691511690613c35565b16885201511682878a01511690613c35565b1683850181905292517fffffffffffffffffffffffffffffffff0000000000000000000000000000000060809490941b841691166fffffffffffffffffffffffffffffffff161760018a0155565b828285015116836117d886614cd4565b1660005260028901835260406000209082856117f8845493828516613c35565b169116179055600160405161180c8161343f565b67ffffffffffffffff8816815283810195865273ffffffffffffffffffffffffffffffffffffffff8d16600052818901845267ffffffffffffffff60406000209151167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008254161781550193519083825116908554161784550151166fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b81549067ffffffffffffffff8082168184160111610ebd5767ffffffffffffffff90811681831601167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000919091161790557fa512c82e73ec974de3c794a3ea6bbdfbad18531c1394ace9972f3f0166b678636040611543565b60248573ffffffffffffffffffffffffffffffffffffffff604051917f913accad000000000000000000000000000000000000000000000000000000008352166004820152fd5b6119b573ffffffffffffffffffffffffffffffffffffffff8816600052609c602052604060002054151590565b80611b6e575b611a71575b5073ffffffffffffffffffffffffffffffffffffffff86166000526001810160205267ffffffffffffffff6040600020541681549067ffffffffffffffff818184160311610ebd5767ffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000918184160316911617815573ffffffffffffffffffffffffffffffffffffffff861660005260018101602052600060016040822082815501558b611532565b60018401906fffffffffffffffffffffffffffffffff611b3281611a9485613c07565b611b2a60405191611aa48361343f565b6000835283806020808601936000855282611ac78c828085511691511690614c1b565b1687520151169381611ae160208b01968288511690614c1b565b1692839052517fffffffffffffffffffffffffffffffff0000000000000000000000000000000060809390931b831691166fffffffffffffffffffffffffffffffff1617909755565b511692614cd4565b16600052600285016020526040600020916fffffffffffffffffffffffffffffffff611b62845493828516614c1b565b1691161790558b6119c0565b506fffffffffffffffffffffffffffffffff602082015116151580156119bb57506fffffffffffffffffffffffffffffffff611ba982614cd4565b1642106119bb565b611bc7611bc2610af5838888613bc1565b613c59565b611494565b6040517fcb6b4f3c00000000000000000000000000000000000000000000000000000000815233600482015260408160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f30a9d41b80ecc5b94306ab4364951ae3170210165afa908115611cb357600090600092611c6b575b506fffffffffffffffffffffffffffffffff80921660208801521685526113f1565b9150506040813d604011611cab575b81611c876040938361348b565b810103126101fb57611ca46020611c9d83613ba4565b9201613ba4565b9087611c49565b3d9150611c7a565b6040513d6000823e3d90fd5b60246040517fe7640c03000000000000000000000000000000000000000000000000000000008152336004820152fd5b506040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004f30a9d41b80ecc5b94306ab4364951ae3170210165afa8015611cb357600090611d83575b6fffffffffffffffffffffffffffffffff9150161561138b565b506020813d8211611dc3575b81611d9c6020938361348b565b810103126101fb57611dbe6fffffffffffffffffffffffffffffffff91613ba4565b611d69565b3d9150611d8f565b60046040517fa24a13a6000000000000000000000000000000000000000000000000000000008152fd5b346101fb5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57611e2c613240565b611e34613263565b90611e3d614917565b5073ffffffffffffffffffffffffffffffffffffffff80911660005260a26020526001604060002001911660005260205260606040600020611e9b600160405192611e878461343f565b67ffffffffffffffff815416845201613c07565b602082810191825260408051935167ffffffffffffffff168452915180516fffffffffffffffffffffffffffffffff908116858401529101511690820152f35bf35b346101fb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57611f14613240565b611f1c613263565b60443591611f28614917565b5073ffffffffffffffffffffffffffffffffffffffff80911660005260a360205260406000209116600052602052604060002090611f64614917565b508154811015610f625760609160005260206000209060011b01611edb60405191611f8e8361343f565b611fb160016fffffffffffffffffffffffffffffffff9283815416865201613c07565b90602084019182526040519351168352516020830190602090816fffffffffffffffffffffffffffffffff91828151168552015116910152565b346101fb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb577ffe870af61f024df0d7f960ad100676f3ffaa7ea6a44bc6c7adf2756cb8cf4b386020612045613306565b61206873ffffffffffffffffffffffffffffffffffffffff6000541633146137f4565b609a546fffffffffffffffffffffffffffffffff90817fffffffffffffffffffffffffffffffff000000000000000000000000000000008460801b16911617609a5560405191168152a1005b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000001fad3ce1c1ab563441d58b79e49cb0ebc12c1bd516300361214a5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57612200613240565b60249081359167ffffffffffffffff83116101fb57366023840112156101fb5782600401359261222f846134cc565b61223c604051918261348b565b84815260209485820192368583830101116101fb57816000928689930186378301015273ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000001fad3ce1c1ab563441d58b79e49cb0ebc12c1bd516906122a482301415613506565b6122d37f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc928284541614613591565b6122e2816000541633146137f4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561231b57505050505061089f915061361c565b85949516906040517f52d1902d0000000000000000000000000000000000000000000000000000000081528781600481865afa600091816125b6575b506123df57608488602e89604051927f08c379a000000000000000000000000000000000000000000000000000000000845260048401528201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152fd5b969293949603612533576123f28661361c565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a281511580159061252b575b61242857005b604051936124358561346f565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c828601527f206661696c6564000000000000000000000000000000000000000000000000006040860152853b156124a857505061089f93600092839251915af46124a2613708565b90613796565b906026608492604051927f08c379a000000000000000000000000000000000000000000000000000000000845260048401528201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152fd5b506001612422565b608482602987604051927f08c379a000000000000000000000000000000000000000000000000000000000845260048401528201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b9091508881813d83116125de575b6125ce818361348b565b810103126101fb57519089612357565b503d6125c4565b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5760015473ffffffffffffffffffffffffffffffffffffffff9081811680330361269157806000549384167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a37fffffffffffffffffffffffff00000000000000000000000000000000000000009283161760005516600155005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b346101fb5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5760335461272a81613b14565b9061273481613b14565b9060005b8181106127695761275b846106208560405193849360408552604085019061340b565b90838203602085015261329d565b806127cb917f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82015480600052603560205273ffffffffffffffffffffffffffffffffffffffff604060002054166127c08387613b90565b5261077d8287613b90565b612738565b346101fb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57612807613240565b73ffffffffffffffffffffffffffffffffffffffff61282b816000541633146137f4565b81169061284582600052609c602052604060002054151590565b156128f1578160005260a060205267ffffffffffffffff61286d816040600020541692613c59565b8260005260a060205260406000205416600052609f602052612893826040600020614ac2565b156104fb576128a18261496f565b156104fb576128af82613977565b156104fb578160005260a0602052600060016040822082815501557ff2e3b584c4d1ed5ead9a4b7de2a8225fd42d13f09e417cd294d03f1dd07fc914600080a3005b602482604051907f913accad0000000000000000000000000000000000000000000000000000000082526004820152fd5b346101fb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5761089f611bc2613240565b346101fb5761296a36613356565b604051919273ffffffffffffffffffffffffffffffffffffffff9061298e8461343f565b6000845260006020809501521660005260a082526040600020908154926129b760018401613c07565b916129c181613b14565b9360020160005b828110612a3f576fffffffffffffffffffffffffffffffff8761062088612a2e8989604051968667ffffffffffffffff899816885260401c16908601526040850190602090816fffffffffffffffffffffffffffffffff91828151168552015116910152565b60a0608084015260a08301906133c5565b6fffffffffffffffffffffffffffffffff62093a8081612a68612a6385888e613bc1565b614945565b1606612a9f579081612a9a92612a82612a6384888e613bc1565b166000528386526040600020541661077d8289613b90565b6129c8565b612aaf612a63602493868c613bc1565b6040517ff7e2d9d200000000000000000000000000000000000000000000000000000000815291166004820152fd5b346101fb576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57612b16613240565b9073ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000001fad3ce1c1ab563441d58b79e49cb0ebc12c1bd516612b5b81301415613506565b612b8a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc918383541614613591565b612b99826000541633146137f4565b604051908382019282841067ffffffffffffffff851117612eb557836040526000835260ff7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435416600014612bf657505050505061089f9061361c565b8516906040517f52d1902d0000000000000000000000000000000000000000000000000000000081528581600481865afa60009181612e86575b50612cb957608486604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152fd5b03612e0257612cc78561361c565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590612dfa575b612cfd57005b60405192612d0a8461346f565b602784527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c818501527f206661696c6564000000000000000000000000000000000000000000000000006040850152843b15612d76575061089f93600092839251915af46124a2613708565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152fd5b506000612cf7565b608484604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152fd5b9091508681813d8311612eae575b612e9e818361348b565b810103126101fb57519088612c30565b503d612e94565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b346101fb5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb576020612f25612f20613286565b614205565b604051908152f35b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5761089f612f62613240565b6024359073ffffffffffffffffffffffffffffffffffffffff90612f8b826000541633146137f4565b826000526035602052166040600020556138a8565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb57612fd2613286565b612fda6132e7565b604435906fffffffffffffffffffffffffffffffff821682036101fb5761088e9261301e73ffffffffffffffffffffffffffffffffffffffff6000541633146137f4565b61446c565b346101fb576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb5767ffffffffffffffff613064613286565b16600052609f8152604060002090604051808383829554938481520190600052836000209260005b858282106130a35750505061060c9250038361348b565b855484526001958601958895509301920161308c565b346101fb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101fb576130f0613240565b60243580151581036101fb576044359081151582036101fb5773ffffffffffffffffffffffffffffffffffffffff928391613130836000541633146137f4565b1561320e571690811590811591613206575b50156131a857806000549283167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a37fffffffffffffffffffffffff00000000000000000000000000000000000000008092161760005560015416600155600080f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905083613142565b915050167fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155600080f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101fb57565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101fb57565b6004359067ffffffffffffffff821682036101fb57565b90815180825260208080930193019160005b8281106132bd575050505090565b835173ffffffffffffffffffffffffffffffffffffffff16855293810193928101926001016132af565b602435906fffffffffffffffffffffffffffffffff821682036101fb57565b600435906fffffffffffffffffffffffffffffffff821682036101fb57565b9181601f840112156101fb5782359167ffffffffffffffff83116101fb576020808501948460051b0101116101fb57565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126101fb5760043573ffffffffffffffffffffffffffffffffffffffff811681036101fb57916024359067ffffffffffffffff82116101fb576133c191600401613325565b9091565b90815180825260208080930193019160005b8281106133e5575050505090565b83516fffffffffffffffffffffffffffffffff16855293810193928101926001016133d7565b90815180825260208080930193019160005b82811061342b575050505090565b83518552938101939281019260010161341d565b6040810190811067ffffffffffffffff821117612eb557604052565b67ffffffffffffffff8111612eb557604052565b6060810190811067ffffffffffffffff821117612eb557604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612eb557604052565b67ffffffffffffffff8111612eb557601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b1561350d57565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152fd5b1561359857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152fd5b803b156136845773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152fd5b3d15613733573d90613719826134cc565b91613727604051938461348b565b82523d6000602084013e565b606090565b919082519283825260005b8481106137825750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201613743565b909190156137a2575090565b8151156137b25750805190602001fd5b6137f0906040519182917f08c379a0000000000000000000000000000000000000000000000000000000008352602060048401526024830190613738565b0390fd5b156137fb57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b609b54811015610f6257609b6000527fbba9db4cdbea0a37c207bbb83e20f828cd4441c49891101dc94fd20dc8efc3490190600090565b8054821015610f625760005260206000200190600090565b60008181526034602052604081205461397257603354680100000000000000008110156139455760018101806033558110156139185790826040927f82a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82015560335492815260346020522055600190565b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b905090565b6000818152609e602052604081205461397257609d5468010000000000000000811015613945576001810180609d558110156139185790826040927fd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7b0155609d54928152609e6020522055600190565b6000818152609c602052604081205461397257609b5468010000000000000000811015613945579082613a5c613a2584600160409601609b55613859565b819391549060031b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811b9283911b169119161790565b9055609b54928152609c6020522055600190565b91906001830160009082825280602052604082205415600014613af65784549468010000000000000000861015613ac95783613ab9613a25886001604098999a01855584613890565b9055549382526020522055600190565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b50925050565b67ffffffffffffffff8111612eb55760051b60200190565b90613b1e82613afc565b613b2b604051918261348b565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0613b598294613afc565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610ebd5760010190565b8051821015610f625760209160051b010190565b51906fffffffffffffffffffffffffffffffff821682036101fb57565b9190811015610f625760051b0190565b3573ffffffffffffffffffffffffffffffffffffffff811681036101fb5790565b3567ffffffffffffffff811681036101fb5790565b90604051613c148161343f565b91546fffffffffffffffffffffffffffffffff8116835260801c6020830152565b9190916fffffffffffffffffffffffffffffffff80809416911601918211610ebd57565b613c8673ffffffffffffffffffffffffffffffffffffffff8216600052609c602052604060002054151590565b156140665773ffffffffffffffffffffffffffffffffffffffff811660005260a0806020526fffffffffffffffffffffffffffffffff60406000205460401c166fffffffffffffffffffffffffffffffff613ce762093a8082421604614c3d565b16938482101561405f5773ffffffffffffffffffffffffffffffffffffffff841660005282602052613d1f6001604060002001613c07565b6fffffffffffffffffffffffffffffffff83169286841015613ef857506fffffffffffffffffffffffffffffffff62093a80840111610ebd5762093a8083019073ffffffffffffffffffffffffffffffffffffffff861660005284602052613e1a6002604060002001916fffffffffffffffffffffffffffffffff62093a8087011692836000526020526fffffffffffffffffffffffffffffffff613e0b8160406000205416613e058360405195613dd68761343f565b60008752602087016000815282613df38682602086015116614c1b565b16905251169162093a808b0190614c63565b90614c1b565b1681529462093a800185614c8a565b908060005260a19081602052604060002080547fffffffffffffffffffffffffffffff00000000000000000000000000000000ff70ffffffffffffffffffffffffffffffff006008613e80886fffffffffffffffffffffffffffffffff86841c16613c35565b901b169116179055600052602052600160406000200173ffffffffffffffffffffffffffffffffffffffff87166000526020526fffffffffffffffffffffffffffffffff604060002091167fffffffffffffffffffffffffffffffff0000000000000000000000000000000082541617905591613d1f565b73ffffffffffffffffffffffffffffffffffffffff9296506040935061402f907fa512c82e73ec974de3c794a3ea6bbdfbad18531c1394ace9972f3f0166b6786395969296848416600052602052613fe2600186600020016fffffffffffffffffffffffffffffffff8951167fffffffffffffffffffffffffffffffff000000000000000000000000000000008254161781556fffffffffffffffffffffffffffffffff60208a0151166fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b84600020907fffffffffffffffff00000000000000000000000000000000ffffffffffffffff77ffffffffffffffffffffffffffffffff000000000000000083549260401b169116179055565b61405a83518096602090816fffffffffffffffffffffffffffffffff91828151168552015116910152565b1692a2565b9350505050565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f913accad000000000000000000000000000000000000000000000000000000008352166004820152fd5b81471061416757600080809373ffffffffffffffffffffffffffffffffffffffff8294165af16140db613708565b50156140e357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152fd5b916141f4906fffffffffffffffffffffffffffffffff614202959316845260606020850152606084019061329d565b91604081840391015261340b565b90565b67ffffffffffffffff1646811461438557600090808252602091609f83526040812054801561437e576142686142a5826142486142428895613b14565b91613b14565b90614299604051948592888885015260606040850152608084019061329d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938484830301606085015261340b565b0390810183528261348b565b73ffffffffffffffffffffffffffffffffffffffff806142c4866143c8565b169460325495614303604051978895869485947f84fe17210000000000000000000000000000000000000000000000000000000086526004860161438b565b03917f00000000000000000000000007b1014c88f14c9e910092526db57a20052e989f165afa92831561437157819361433d575b50505090565b9091809350813d831161436a575b614355818361348b565b81010312614367575051388080614337565b80fd5b503d61434b565b50604051903d90823e3d90fd5b5091505090565b50600090565b94939260609273ffffffffffffffffffffffffffffffffffffffff6143c3931687526020870152608060408701526080860190613738565b930152565b60005260356020526040600020548015801590614446575b156143e85790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b657900006044820152fd5b50603460205260406000205415156143e0565b81810292918115918404141715610ebd57565b929190926fffffffffffffffffffffffffffffffff938481169260009584875260209260a1845260409082828a205460081c1695861561490b5767ffffffffffffffff1695868a52609f8652828a20549081156148fe57908a9184832090855191828a825491828152019186528a862090865b8c8282106148dd5750505050826144f791038361348b565b61450083613b14565b928488888c8f5b85851061480157505050505050504689146000146145dc5773ffffffffffffffffffffffffffffffffffffffff61453d8a6143c8565b1690813b156145d85783614580958751968795869485937f72cbf870000000000000000000000000000000000000000000000000000000008552600485016141c5565b03925af180156145ce577fc78a580f215ba474e75ecbd7636c375e8d2cd25edb0f2467f99b2d0752e104ba96979899506145bf575b505b5191168152a3565b6145c89061345b565b386145b5565b82513d8b823e3d90fd5b8380fd5b929061462092506145f49085519485938a85016141c5565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261348b565b8589526034855281892054156147d45773ffffffffffffffffffffffffffffffffffffffff9081614650886143c8565b16603254927f00000000000000000000000007b1014c88f14c9e910092526db57a20052e989f16908388848b6146b3895194859384937f84fe1721000000000000000000000000000000000000000000000000000000008552886004860161438b565b0381865afa9081156147ca578d91614799575b50804710614762579082918d94933b1561475e578a916147148851978896879586947fb2267a7b0000000000000000000000000000000000000000000000000000000086526004860161438b565b03925af180156145ce577fc78a580f215ba474e75ecbd7636c375e8d2cd25edb0f2467f99b2d0752e104ba969798995061474f575b506145b7565b6147589061345b565b38614749565b8480fd5b85604491479151917fe098b7ca00000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b90508881813d83116147c3575b6147b0818361348b565b810103126147bf5751386146c6565b8c80fd5b503d6147a6565b86513d8f823e3d90fd5b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526001600452fd5b899160a191614848969798999a9b52528d6001838320019073ffffffffffffffffffffffffffffffffffffffff614838888c613b90565b5116835252205416898b16614459565b62093a80908181029181830414901517156148b0578315614883579083614874920461077d8288613b90565b908d9493929188888c8f614507565b60248f7f4e487b710000000000000000000000000000000000000000000000000000000081526012600452fd5b60248f7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b839596979850600192948392945481520194019101918f96959493926144df565b5050505050505050509050565b50505050505050509050565b604051906149248261343f565b600082526040516020836149378361343f565b600083526000828401520152565b356fffffffffffffffffffffffffffffffff811681036101fb5790565b91908203918211610ebd57565b6000818152609c60205260408120549091908015614abd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90818101818111614a9057609b5490838201918211614a6357808203614a2f575b505050609b548015614a02578101906149e182613859565b909182549160031b1b19169055609b558152609c6020526040812055600190565b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526031600452fd5b614a4d614a3e613a2593613859565b90549060031b1c928392613859565b90558452609c60205260408420553880806149c9565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b505090565b90600182019060009281845282602052604084205490811515600014614c14577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91828101818111614be757825490848201918211614bba57808203614b85575b50505080548015614b5857820191614b3b8383613890565b909182549160031b1b191690555582526020526040812055600190565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526031600452fd5b614ba5614b95613a259386613890565b90549060031b1c92839286613890565b90558652846020526040862055388080614b23565b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6024877f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b5050505090565b6fffffffffffffffffffffffffffffffff9182169082160391908211610ebd57565b9062093a806fffffffffffffffffffffffffffffffff80931602918216918203610ebd57565b9190916fffffffffffffffffffffffffffffffff80809416911602918216918203610ebd57565b602081016fffffffffffffffffffffffffffffffff92839283614cb08382865116614c63565b9151169384911611614ccb5761420293613e05925116614c63565b50505050600090565b60208101906fffffffffffffffffffffffffffffffff90818351168015614d365750519151811691168115614d07570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b82604492511690604051917ffbd384a500000000000000000000000000000000000000000000000000000000835260048301526024820152fdfea2646970667358221220fed2a82f319ddb96b26e78f3c080b668c7f6f30fd560818f5209ae214e9bad3664736f6c63430008110033005821031df491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff6970430493e00058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60550100000000000000000000000000000000000000000219080205581d0245c6b2bcb0405637ebf9390d166b0bb9cf6126ae751689216a590e1c0701194da60219400205581e030e0d70042f6dd7e7ce2f8922a13cb61db86ff0d14c8c36a441ab34e0c0040303686a9b36f162d878800730d0d7a5f05927d6cc88d0e84ba9c112cff4c2bdf0ad05581e03a5e2ffed4aee393aca9cc2fd05ce718cb56f04e7fa1e32acbfbe1a8a9004030353ec52846921cd5a5b373d4e240e04b6a8f0cff4ff707d5c00fba56e8c789f1805581e03e67e60e0c7fafef2f17f400d18677942b8839967200438ef88b4ddd9600c02461d89fafb5b7003354f8c1222b956a6a8bbafe93e89e3dbaf6b44f9689bffaad23631a39a0dd91f0141020219d9cd03456d4e15db29c0fd611c8d29c51caa2a730ed95b83cb7c4be7d6d624b49ddf6003095143aa9faf6bbc6c870f15daedbdc7e54eea868c6aac560f3e5f3d1f45e35903fc16c56e75100c37715395f0a51f264158a60301b7db18afe0f00d70a316435303b6261cc8cc8b93deeba3f50af966166dfad8d0df90d770c0fb5605c8b483aab00361fdefefe53d5408ccd95fad0acade049bab88811d1800893b3d84536a9f5484036ab128ccf06c125568b7440b24e358e21b08fa2a28bdd9b69ba11eecbdebab7a03802c42bcc6414991b134c7ebb199379df6309670bda8333be2a782c52e47ded903d80b6cebcfba7c4894abf7e37eb47b07bc97712e16e4f926e49274b2b684833303f888091bd0f53de862125aaded5b2f35f659c4340f817290c0b1a94488aa3a850219ffff03c1ab5467d071482e4874929e1e356d59e98c0982a7a9b7d33babceeba8a71b3a034b3e1237d0305dc4c2a18f42cc55b0d6c3af994a03b9b1f69605f8fe4a30858c0219ffff0360b3a883cd8e55530b6f5c5d5169e1e306809ead6d0490653b92f324c672d34d03cbd6bd21256a96736e07c4a57f0f087ae3e0cc90e5c163966be1694360d706c50338e3407ca92a0101e3fdccd9bc1cb6792e414e1b203a8327d71080ec193f3cd40399283727834d10aea68f304df991c081936a17d5860ffc6be9880fb2da020a61031843552806ebedc0ee998b210d2d12056fbfef1167704a7a1d27876e80e016d90394f9c1342ad5c425522459e4534a6a268df0bef85154ec30420a4a1e5d319811033c3b34b2bbd3302836a600b594047fd1966be23af8789043f342afa3b07c0b850330bbccaf5c78acce37de365dd6a12a9c886780bef0161eb1d00d7e00d516451303d39f501ede6ba1321346183e0fc4759029845acc6c5e20b918e049e4ebf1798e0219ffff03d05c97824c8afc5f5d103e0b77a7afd8ac4b42e8c6b9e92e411c11b6b49b51a60364e96e5eb7f2fd46b2bf08e3d0664f160dc287414774b48206080d87b6892ca903cb48d887b5848abee51da2779d0fa35cf3ea32e5ef3d704d5202307fd296de5f03090ec90001d882e70d9fc733828a298353e6d20599ed2c0e493d8d62f78d4f6603ba477c48bb204d25202b901681206468b4f7845f39040d6f8630b4fc5247d5a003c186127d7028071b72d4a13f1990e6d8cdd322bfdb5ec24dccb94ed6dc791d9203269845dbd20c38c01ece3a97dab80536e7fd244bd14b65682d8b16a39cf9ac3003d3365b3114c4ae019c492236ecd37df46ad33aff83eb0b446b7759bcc0f6fb55034013f8b6e111192253d46195b848208e34355528635a0accc20875b8218804f703983e8e25d00653ce8a35d99df8568fed31c1b5bed69fcfcb9e587ef13adf3dc40380220e0c36ca4a1a2168bb5c0c705087159bf5dbc2b374c11c2563acdea2b8b103f18b8511e4d1291f151149cb06067152a3d77eb2b76c9218863a3f4447dd8cb1031bf040a6bcf803c92b9e3373a48baf40aaed9e466f593234ae21b9c81d7a636803d862da6c07e1bd86cdffe7baa33cbedfd48e1d63f14cb5d0df3529a45b00f55c03935559ca3f7dd8baa1fb4160a93d4cdf594245b87d8deac13c828056e87d4c4203de398b772ebc8280331a2bbe569c8588deee01d1c1d775ca08fd50eb7b4b814603395a8927ee9737bb17175d1e8fcae8524bb63398c632017eb8146265ed8b27950352735e492c15def9961466350ce04a50592d6eb669853342e3291298e36378620329a73e1c8b9cc1c74b0498caef92dba4b485e9a7fbf1e5ffab765af3e178a862030431c289ad28e2980437a79aad674bf32916e11db0e368ce42eaed6dd6e36d460301c1e3176e42d1df49d3ffcacbe808c1cf1368474fdd0aaf020254132cffdc77031d8e261f93a94f2e2fbc4e829d5dbae23dcf0ff559c263f7657f409cf34c14230362f184f08d7af9cec16864e31a8f5e8b2032a459b7f9cbd9199279db73255d8103ed54f7919cf4116bedcf385d01a6727db17f5f5f69bb257a0404f1364e01096f03abc1e80c36d88c9a632051be1288c1002d5bae7e887ac1fc584038c6d8eb293f03636da016009dcd248b1d66ef574315e5c7fd84577b1dbfaf1d659ab605024fb9038d0ef63921fd4b044ed2b9292a3b35223d3841e951eb0d0382dfead312b15700030cfcb06033c04a5892d0dcc84be7eab1d59bebe511d4c632171e14850a9a9e0303dfba3300bcb01e153b153430159def0eca9d9ea6e8d7f3b09cf0082ce1b45a85031dfb033a2a81712a281ff360ec0b5712af9a1c9acfada60500fb734336f1653a03b7e68246b9913f74c9ffa7c989e4c3e314d39b2d5f3a54d57e38b1bfbfd245d9033b7d587d875f18ab4a096751cf6bc5e3820533a0286debeb765bbe11c61c520d03540d010afd3294484f9d5c05b42c4258337af68822618878fe1d891df89743e203c2af9ff9600fe1b0ddea2336f23f5dfc0ec9c1916a9e415d37c75dad6d4c30f405581e03be32a71361cb00a7c62f3bd6168145209c718cfaf16eced3dea67392e007011bffffffffffffffff05581e035cd4857596bbfbdfc42fb611cff5fc9b20c8cbc9df94c9110d93a9e4300c0846600aea7d000003bc0b037664073124ece02cd7e5f603da4ab50387ce6beca3210ad804eee2b3c403bff11bfca31f29ece60c927acec86b4b746b3450c42d3039639b08276766123e0326c95152aa8e5631ce914a93b3eeb0bc9a6c92528f2a82edc0521f295153469705581e038f41183b0755718a5a2e52ad3a37057b5520776a0fc14465fe1161aa20084702603f8bea100003e7fd1437510f0890103fddb6b1baa45c5c94a391d51ff9e57691ebb54840e82a03052d91b7f58be9b75bfbc5cf9072c8f313bff916377ca80e7752766f2d6bf74105581e03cd5211aa518ba54f3e39721ad6591b669e03318d718e8131798244f760040104591903608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f9578063a457c2d711610097578063d539139311610071578063d53913931461051f578063d547741f14610527578063dd62ed3e14610553578063e63ab1e914610581576101a9565b8063a457c2d7146104aa578063a9059cbb146104d6578063ca15c87314610502576101a9565b80639010d07c116100d35780639010d07c1461042f57806391d148541461046e57806395d89b411461049a578063a217fddf146104a2576101a9565b806370a08231146103d557806379cc6790146103fb5780638456cb5914610427576101a9565b8063313ce567116101665780633f4ba83a116101405780633f4ba83a1461037c57806340c10f191461038457806342966c68146103b05780635c975abb146103cd576101a9565b8063313ce5671461030657806336568abe146103245780633950935114610350576101a9565b806306fdde03146101ae578063095ea7b31461022b57806318160ddd1461026b57806323b872dd14610285578063248a9ca3146102bb5780632f2ff15d146102d8575b600080fd5b6101b6610589565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101f05781810151838201526020016101d8565b50505050905090810190601f16801561021d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102576004803603604081101561024157600080fd5b506001600160a01b03813516906020013561061f565b604080519115158252519081900360200190f35b61027361063d565b60408051918252519081900360200190f35b6102576004803603606081101561029b57600080fd5b506001600160a01b03813581169160208101359091169060400135610643565b610273600480360360208110156102d157600080fd5b50356106d0565b610304600480360360408110156102ee57600080fd5b50803590602001356001600160a01b03166106e5565b005b61030e610751565b6040805160ff9092168252519081900360200190f35b6103046004803603604081101561033a57600080fd5b50803590602001356001600160a01b031661075a565b6102576004803603604081101561036657600080fd5b506001600160a01b0381351690602001356107bb565b61030461080f565b6103046004803603604081101561039a57600080fd5b506001600160a01b038135169060200135610880565b610304600480360360208110156103c657600080fd5b50356108f1565b610257610905565b610273600480360360208110156103eb57600080fd5b50356001600160a01b0316610913565b6103046004803603604081101561041157600080fd5b506001600160a01b03813516906020013561092e565b61030461098e565b6104526004803603604081101561044557600080fd5b50803590602001356109fd565b604080516001600160a01b039092168252519081900360200190f35b6102576004803603604081101561048457600080fd5b50803590602001356001600160a01b0316610a22565b6101b6610a40565b610273610aa1565b610257600480360360408110156104c057600080fd5b506001600160a01b038135169060200135610aa6565b610257600480360360408110156104ec57600080fd5b506001600160a01b038135169060200135610b14565b6102736004803603602081101561051857600080fd5b5035610b28565b610273610b3f565b6103046004803603604081101561053d57600080fd5b50803590602001356001600160a01b0316610b62565b6102736004803603604081101561056957600080fd5b506001600160a01b0381358116916020013516610bbb565b610273610be6565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106155780601f106105ea57610100808354040283529160200191610615565b820191906000526020600020905b8154815290600101906020018083116105f857829003601f168201915b5050505050905090565b600061063361062c610c09565b8484610c0d565b5060015b92915050565b60035490565b6000610650848484610cf9565b6106c68461065c610c09565b6106c18560405180606001604052806028815260200161172d602891396001600160a01b038a1660009081526002602052604081209061069a610c09565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610e6216565b610c0d565b5060019392505050565b60009081526020819052604090206002015490565b60008281526020819052604090206002015461070890610703610c09565b610a22565b6107435760405162461bcd60e51b815260040180806020018281038252602f81526020018061162b602f913960400191505060405180910390fd5b61074d8282610ef9565b5050565b60065460ff1690565b610762610c09565b6001600160a01b0316816001600160a01b0316146107b15760405162461bcd60e51b815260040180806020018281038252602f815260200180611875602f913960400191505060405180910390fd5b61074d8282610f68565b60006106336107c8610c09565b846106c185600260006107d9610c09565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610fd716565b604080516a5041555345525f524f4c4560a81b8152905190819003600b01902061083b90610703610c09565b6108765760405162461bcd60e51b815260040180806020018281038252603981526020018061167c6039913960400191505060405180910390fd5b61087e611031565b565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b0190206108ac90610703610c09565b6108e75760405162461bcd60e51b81526004018080602001828103825260368152602001806117556036913960400191505060405180910390fd5b61074d82826110d5565b6109026108fc610c09565b826111d3565b50565b600654610100900460ff1690565b6001600160a01b031660009081526001602052604090205490565b600061096b8260405180606001604052806024815260200161178b6024913961095e86610959610c09565b610bbb565b919063ffffffff610e6216565b905061097f83610979610c09565b83610c0d565b61098983836111d3565b505050565b604080516a5041555345525f524f4c4560a81b8152905190819003600b0190206109ba90610703610c09565b6109f55760405162461bcd60e51b81526004018080602001828103825260378152602001806118196037913960400191505060405180910390fd5b61087e6112db565b6000828152602081905260408120610a1b908363ffffffff61136316565b9392505050565b6000828152602081905260408120610a1b908363ffffffff61136f16565b60058054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106155780601f106105ea57610100808354040283529160200191610615565b600081565b6000610633610ab3610c09565b846106c1856040518060600160405280602581526020016118506025913960026000610add610c09565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610e6216565b6000610633610b21610c09565b8484610cf9565b600081815260208190526040812061063790611384565b604080516a4d494e5445525f524f4c4560a81b8152905190819003600b01902081565b600082815260208190526040902060020154610b8090610703610c09565b6107b15760405162461bcd60e51b81526004018080602001828103825260308152602001806116fd6030913960400191505060405180910390fd5b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b604080516a5041555345525f524f4c4560a81b8152905190819003600b01902081565b3390565b6001600160a01b038316610c525760405162461bcd60e51b81526004018080602001828103825260248152602001806117f56024913960400191505060405180910390fd5b6001600160a01b038216610c975760405162461bcd60e51b81526004018080602001828103825260228152602001806116b56022913960400191505060405180910390fd5b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610d3e5760405162461bcd60e51b81526004018080602001828103825260258152602001806117d06025913960400191505060405180910390fd5b6001600160a01b038216610d835760405162461bcd60e51b81526004018080602001828103825260238152602001806116086023913960400191505060405180910390fd5b610d8e83838361138f565b610dd1816040518060600160405280602681526020016116d7602691396001600160a01b038616600090815260016020526040902054919063ffffffff610e6216565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610e06908263ffffffff610fd716565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610ef15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610eb6578181015183820152602001610e9e565b50505050905090810190601f168015610ee35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828152602081905260409020610f17908263ffffffff61139a16565b1561074d57610f24610c09565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081905260409020610f86908263ffffffff6113af16565b1561074d57610f93610c09565b6001600160a01b0316816001600160a01b0316837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b600082820183811015610a1b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600654610100900460ff16611084576040805162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015290519081900360640190fd5b6006805461ff00191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6110b8610c09565b604080516001600160a01b039092168252519081900360200190a1565b6001600160a01b038216611130576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61113c6000838361138f565b60035461114f908263ffffffff610fd716565b6003556001600160a01b03821660009081526001602052604090205461117b908263ffffffff610fd716565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166112185760405162461bcd60e51b81526004018080602001828103825260218152602001806117af6021913960400191505060405180910390fd5b6112248260008361138f565b6112678160405180606001604052806022815260200161165a602291396001600160a01b038516600090815260016020526040902054919063ffffffff610e6216565b6001600160a01b038316600090815260016020526040902055600354611293908263ffffffff6113c416565b6003556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600654610100900460ff161561132b576040805162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015290519081900360640190fd5b6006805461ff0019166101001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110b8610c09565b6000610a1b8383611406565b6000610a1b836001600160a01b03841661146a565b600061063782611482565b610989838383611486565b6000610a1b836001600160a01b0384166114d5565b6000610a1b836001600160a01b03841661151f565b6000610a1b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e62565b815460009082106114485760405162461bcd60e51b81526004018080602001828103825260228152602001806115e66022913960400191505060405180910390fd5b82600001828154811061145757fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b5490565b611491838383610989565b611499610905565b156109895760405162461bcd60e51b815260040180806020018281038252602a8152602001806118a4602a913960400191505060405180910390fd5b60006114e1838361146a565b61151757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610637565b506000610637565b600081815260018301602052604081205480156115db578354600019808301919081019060009087908390811061155257fe5b906000526020600020015490508087600001848154811061156f57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061159f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610637565b600091505061063756fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e647345524332303a207472616e7366657220746f20746865207a65726f2061646472657373416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f206772616e7445524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332305072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f20756e706175736545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e2061646d696e20746f207265766f6b6545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332305072657365744d696e7465725061757365723a206d7573742068617665206d696e74657220726f6c6520746f206d696e7445524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332305072657365744d696e7465725061757365723a206d75737420686176652070617573657220726f6c6520746f20706175736545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c6645524332305061757361626c653a20746f6b656e207472616e73666572207768696c6520706175736564a26469706673582212206e15dde2dbd9513414f58305bc1fa8bee122abc8b78c5ff4bbe6dc2555054d4f64736f6c6343000602003303efd830d6d30f545e465359a266cfbc9b779ae53165b183586de6c05bf0737be80394f26d753060d607722f3f46f6ac8abccced597ac0d09a58bb76f007eb0da14c03918b487af44de036fab8a924c0b6d20ae1f0e57ed34ef9786e7189606a06231303318e02f4ead70590d49b56416bef3da7d3d0a3469d050b738d466383c906157903cf11b3e7fab54ac8d2aa86ef26f5bfaa5aa62c3dd7d0488e293b1de26f236787031e7455db4c1a1b78b4c5840361826527fc0d5aaa1b4c39a02c9ee441ab75ac3303674edc5af723a4bc6384144fa3a44e89509d98bacf2309aa10e0dc342227d540039714912d950f5c57afbbed49683234c5f9e869b4c383ea414ea41249ac4c2a960314afc0f5ab435ccec06fa35eb2c9bda203348e51ea6099f2b5d3d7da499deecc03d970f52682112b3beba14f5ae4f04c23381be44bb2e6cde06118de4546654a73031abd7d9804112252cb78f3362cf5fc9345b58d0bc4ced386926275e6d937e75b03479f308a86360e42ed68940b6925091e3b719d77276a2e7753f2d0d149d2f13103219b693f92dbdc58065946dae9aae34e57c13324518a36445fd659ef6364b51303680d301790c971a92399cefbd2febb0e4b8e81f3c135fd2802fb5d85a62304af03208722e67fab80bddc70dbf02daa14dcf54328e7f35cf627caf8898d29cec6940392bc408861eadc00785fe825204db8256ac59940f6ccbba40597361928a524da03badc7a10748fc84bbac35cc4f6e09f54cef40c47855dd2f3c532cd5779550bd703874e11a7ff3220a211feddd957bb6b803c275d8424e156feca702c78a56bba0003e200fa8bb91c6643ed86417f55f0c744da2565ad9fa1d2d8ed3d086b833b4076032e2a9039ac259fc85e004cfa6c6f43d47ecc2b4b1c7c9353573328aa1e89ac22033dd22abc6d8cbde492588cccd4b12ed95d79404bf614c7fda9b8bcb64772824a00581f028360579d5de2fcbacf5781da616f90aa62b700c413b5278ae70d0c8ada134519de29999000581f028527c6659e6d17b3ecedef902a5bd28e8d2ec4b5d408209c88f33333ea5b5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffcb7cd03510386ec8ad88095d74bf5289962e471ebc660904daea6560dfaa8c0421dfffabea303bf237fec5a74890d5414b0ed429b730bd6296741ecb48f307b71249b15ef690e03eadf92720002a5bcd0ff0a86e9c959fa5b33a004b6044a74d957b35533eef09303deb4d8b8af6610bdd67d0aa9652f904a5a8fdfae2992954c527523eca7824aa800581f02024d7b5fe0d2655b5065ef5ce89fbeb774d4c4f8f1b469abccd5cf46430245327a497800031e9cef09b1d416e17288774b1c90a767a3e0c2bf84a2e922d03cb0f664306b4603ece6f6d25754d7a19670977541abfb5df92de8dcec6348ed533d62f4875fafed03e847d1f0407f46ef03ca9c3b1ad84807f852fe3ae5c75fd9476d552fdc69b9cc0349f35b583075ebc878ea84c35666d3b761afa0d11b02412c0da63c2165ecc09a00581f03f4357d4c9749a05816044af77c4e466993f1e90db886972332948e5080c0463093ef0e084000581f0340e606cc278a042008a33bc679721b9ed5c2abd40fd54e8a2de5dee697c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe216bbe24500581f036ceb79c40c29881fb43367dbcf3694a07ffb1ea86d09d95601aac6d26660444d7c6d0000581f039f914961e76501cdb744afafe0a16e5dc70cd30bc8a88cf693ad73594b805820fffffffffffffffffffffffffffffffffffffffffffffffffffffff45bc48bff03701a7172eb60ee8655e0e23cc23766b0ae99d07e609d0b4f77173e59ec62e1ce0219a2280372ef8b575075a475de85f3c270aad1fe1cb25bc31ef1b77625a27bbadcb933350352f1a5dee991d4f171375f21f06174e297e71ef0d9f7233a71a9429c61dce08803efa9091cb2893bf50ea38b937a2666ef9cbdfbbef401852ef479766ac661d9340219ffff03a4e25c117b647242357e01fa34de36b446ca81da7b7fce500a12fb9436fc63ca034f7fc7960e97e2205626dd026a031ea960e5eb3a0f569d1c44090e9ae102ee5603662a0884182295f3a1256e4632cc91d6045890ea2da91b6bb51cc66a309e54f70389670bf1cb2da1f4d1811024ed087511b7c125be76682ca8ccfb9d47503f95870219ffff03e8ccd2110f7997b2a34896023a78e4f413be8fcd3f7bd2ad60f97a5421e3c22f0351512e41d15619ed79eaf46d3c9d37edc2f044bae20ba07ab75faf8bb2a9e0fe03255eac0ad49c43ff8ac48327b7571bf0ea2453b8981f05fc4f9d595ebc6ebf320310afb4009f19a918da331be446ea53b34a05afe54bb31bd7fbf9b6fa63eeebf003ac6c8584ea99c6e5208c34e4dfe0ef6b16e31b8079233dc91cb7cc4e9a1bc90b034a9c175847c03d0a670912db826b711cfacff8e1eb8c69c0fcd1651bec54e43d0315f1c3e00afe7985bb2d0ed49c2d5260f306186e6a1359a8009e171d5059a0ed03dd78f76f57f8618f7a750ac3cdff0df2661537571503001f7dee3540307d6abc03bf40b9d8dd64bca7dca75438ba840d738133eb289d24b795f3a8bc89f0bce3db039c561df43225cc5efd9a472b4add5b8d6dc48be9ffd9edf90510e9cdb0910a8303226e156252bcd5f9155904a69ee1458ce3aa05b4f49ec05e1bc17479a7d4d0bb0304ffb14cdc034b58a0cf35d24c54682d4c7f58cfd9b7a1015f6b21a8485011d5032944764a9217169f08993e383370e318d5427cdbad3f2b9b35648444aaf2a76f0219ffff030ac39e78c0076ee66a28ef89136aa0124b246b5a2eae2cd2b1d54537c70981940362c639d5bd8c37f9df59403ae3d2125105d7f9b0e49a1d1f5801fe5bcdee107d033543fbada7800284a494548c593e2950fc39a4562c2104062fa8ffcc4425f4d6034ba1b652b154696addfc42ac572d3e41923276af2b95c28ddb0519d8744525220323b6211bdfde342781f0ae135a711f3b51adf72774d4bbbf071e6db0e6e7709c03b20ee6b548ecc2b8045569d7f7e511040c69f2d26743cd3e71ffbaa69a54a5640334fc480e5fb95988792a19c21fa9441a8c8be284d96c7a38adebe8696a48f7580366da63d108ef217646c75bdc9889ef5f2b2d95dbab08bc95cf4c5cf271c25cc70304a85ac4ba7f258d065b3685c459d986e63611a824b4f8cc26e6ea5a2b6cc010033e20f8f17a701650061567429685ec12c72ff40e3cf394e4367e0268d6b10f6503cc3567a5a4319bbe11e2ef3144c5a7caccd713ddd52f24239f2cacfe4d58f67f032e7253a0426809f7c9d4960c65da4059860267bfdb14ba9397d7f1de94a77925036ade3651c5a7dff4b56fedd3a37157410f793abc7fcb427a7a740b3671312bd8030972486e30069341ef6d40cbef8b896c14275e3bd23b909409a56a50e7c511f903adb3f1a42e52597b5a9d22cf4b703ac329a3169ac9c3e0c8e9245a12b1c5e56c03fe5ba84ed5efbea08f3ff0ec1fdb005e9539b32f18cc6965c6e55acef8fe3eae0342c6faf0227ff633f1fa66aad40c304a0194883047b6aa3bb51f17c29ce4b616030021c562835c5bd38f0319ea480f9527a500b99ec1071e1c81a703ca9bd22fc00394267cba6b05a9d9dcbdd2cd5c25694884a5862423127fd0874cef37353733b6039dfbba2392667996cfa752280f7cb55fcd1aabd59879ef8ea068a721531cda7c03c6e05bc9ff84edad4231c9b0f89e82557a59bca9cb10abe5b7819aa84508657a0372159302bf44da9d84010f6915852d64f4b4ff87758ea0776086b4435a9736e103b76c1a78ac4171e9086f5116f42f82c825e601daf35ff66e58f833469153e28803a6d37a101d9e3ef87004cdeb21bd1bab0facdc74ff7be7fc33c81b6bf6c078b80344aeeb7f1b006221bbfedb5b8776fb8a4eb7b28d0c6f48e617796ef071d27f6601410d03ee783fdfd74ec4b042d01e9c13d3cbca896ef6d25aabafb6056db4698e1acbfe0332f42191d6f83d0d97c3f93e20671fe8ec4be25ebad21552d44b7ea15ef7b9d8037b87789ea81bc9a0bddfdce9fd1e1fd007767432cd5218a7f0ee2ad52f5119b703b76a9917cb48a0a0485829ba9eeb51fee18a1e743cc84f72acc3de28713c3c6401410c037cbf05564b15174f0109f08c3ed88e63edce598b79e0194131977c58ffecf3f503d762dbeb279e109dca45feda424c80f76588208ec9423acdd4e6080386e9e6f8038d16424f8999b6633ffaab9ec4d73c1061fb8d68be9318d42e0bf1cc93434afc03945e49e9fa8dce8cdbe114a12df7c1a7e25f66d3d19dbcc69905b8423557bdd7030119813c188494be7c15b4d8fb99b5f6978c3cf8b6d311b53c8fc13a01ecf14c00581f0200fc6cd103f02f9e3d6439d7bcd9fad5c250b7ac930b96153a9fec72aa25520d4c71c39c8a4037de50aec22720cf030b2b00581f03c86050be1bc4d16065ec7334ffd1ff527918f9f410da04d4763379d0bda0468b57ecf513e000581f038ca683ced347940eb6a9a6fb8b1160c1b1b6f8a98e0a01549c6972c162f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffd16f122fff00581f03232308b84de2f3d432d6d79e3eab4086a3701078faf7ce93419b1c6eeaf0450c74d9370000581f03ce50dc6a34c48d4ca43027e991e40ce502a3faced78d3630825fe95c0ad04404e5ede500581f0328115d32bfb1a1676151abeb16c24e089b5e2c63d13766c44417099d709045256640555502191e10038947225b11ed05b7db541e264005acab64b1cd61c4acbbff7c5dd80ac941a4a203f813126a222074a2650166219904a75ad2a2b7a3fa21ff7bbaefd5ae6ed04c4e0219ff6f0219ffff03fe7bccc47fa09ede2617deb4920202cd357b7df972ef3f16b218873d29aed0580373ba05f46f570276c0911671c58296cec545f315be77e689ccd1a64851751113030bb645515af232f7f33088662a1527809daa371daea1403130640a7fe510195103a5aa017fa77dd0a6ee8dd1ee0076e4e7791b174b3ad5b1b63fd8b92632a79124034d3799e84a201107e693feeec3a1f1bef1d819fc92856f5b6623051da14213bc03f9bb77c1e68c7c0edd36bdc0f6a95f55b92fbf66c2e2a193bf5408effc92a877038b02b09912196594d748f0d51fbf6f5f7d882fd7d392e69e85a00709555f0814034ae68a9c55fa1990e2c70d299a04a61ded0fad2556a95442a90d5a82cd29c12b03ff3e221b7237e0b5a323fec486b5ef35ebaa744ebe207f82dc8df06fa0fa1b4e0219ffff0375944a0dc8d027e85af412dcba9d93926335e3e9aa960180e8647a585c64351a0378ed39a7e12fd97a38ea040c92896751247a3c8a5ccd4e95562f468c8a1a4a15033cf15cb165978de1adb4d8ef9adfe061b4102584668dfdd08c779cdf3931ea180342415978a076196b930189104e4a7a8995507958e5606b3e708c50ac3b571eab0397b638182e3dc21a2e7de51aca9d3cd5bce10cb8e2a81f887ab0d043e48e930a03a1ed5766a8fcdc0290155a969a0c58566643706ef98148ad553f27f01e0f09d60336e342e2c3f4d81e4065376e60c2773fdc6f3a884ff099ab10539c8beb21136603fd4ac4e6be73ab08b2409ad39b690f66815d3707510eaa208a0fd319df2b267b0306561715f7a852201c29332164fe9e7764ca2d86b2374f24c16bb7f5279b340a03009641a91bd64a12f59ae8ea13dd473c63dd4e04f5eb94e98033ed0f9ff9fb11034bcdfa7d7fd53cf478cc95d2bd08f14e1e88b47f4b57c0cfa5ca8843fd0cf41a031203ebd8a526dc3837c47d93b80b7a323e678e10413b55252614c2aa141e0e5b0339a320bbc0264b38ffdf78772b40173d680d105fce2ac4316bd0e73fa604e4c503747b1738ffcbc65eda6ae967b8ea8178f98bb50d2af25e651bb6744d46a80c3003c2a7f87aa1756616c3ada8902f74f665e7b8fcfb3b21b78ae84ffabc63ff343800581f0290799a6462d682b876e0a3f00f9b6aba146d29bea42014e3afa3718e2dbb5820fffffffffffffffffffffffffffffffffffffffffffffffffffffff7867012a100581f0322313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0410800581f03fd6b3c317214e2bc8d834830af35ea78870e08a42020cf3061354a7c2ed04521fe473400021940040385024b587c188f5b7844c293202b47d7bf05d76c688e18f236d59b82d520564b00581f0262039762312c6807d353c97258e66abb988ea0956a9ffca43ee4c45b89625820fffffffffffffffffffffffffffffffffffffffffffffffffffffff4dac5294900581f023f556c6eedcd234d4c0b0070e533c100ad10d41f6325ebc42a29f6ae7fa94406f5623103d60ad3e5f0c6d78eb839be16098acf439b6f8902eeec07e82a6fc62b83e98ee2037e53609ee159de080cee79d8f4a95e2b227c21aa0481b0b067c7b5098304fa4903ac59c4561c82bc2fdc182ae445ed9a045c3f2673b7e342f8dcb8f263d0afee60034658e1df06035b8765790d4be409f6937e88e652c74763c5d1f4fc495e47041000581f02966c3fc24a1350a71307e0dc4d5c37c69aefa7991676a622a0eb5c478f9845021817b04100581f0219e49f4f1d663a7d1d2e234e98321c8fa95c46afb360b2b43d60a70eb43c5820fffffffffffffffffffffffffffffffffffffffffffffffffffffde537040f6200581f02f6d74ddadc8d0422579b4ef30616a21b9742367b9a96909e4ffb1ad5d75b581912725dd1d243aba0e75fe645cc4873f9e65afe68535bd361b4039cfe1c1d68062ca73c857cd56ebca24090b197a73be4cefa312d1b6914b6dee0039dff5222e1791598a87bf97ec72b171326032ff2daf195e3f1d3da0c7c50acd300581f02a3ec6ad4910c0fc9d247064676d0cc84e5f0a67349b02d40ed99670690835820fffffffffffffffffffffffffffffffffffffffffffffffffffffebbf18c5ada0219ffff03932346234b27c8b3817cdd15aad32b8bb3302503a19fc687e1bd223ce680f69d03ec22879412f9989fad8299f14a3b275a65c64e81fdf077fd9e05edc46377510803d4d1e7e9d3e3467629b78264f16c1ad30b7697161fd8ffbbd39be9562bd6c22203bd25f4326e8d33d8a138615de9cb6560c68cfb9ede45d027719f91aef853f5f103a506918f1dd1bb6b158a24e1d5b7f3fc1de43450e218943c23e0b9a0aaaf2edc0368d4b3813ceed4e60d1dcd7aadbabb4522e5ac9ed53c2c67854736e50fad696803a6bfe23cc8f47daf80615672ae298fa918f1303fe1cf731e2027dbb817ad62a7039e37342947d714e43797d24c3cd6c9a3778773b368074e58c5a845f1bd09fa8003d7e14ba32db890d32f2f9584f0ba5fee7b22f99bc25bb9993df515f14e378a6d03c619e7558468f33dcea9b48f5f9ca6a7f2ce3d14c8e7a98ddd4e4a239f81ed890219ffff035637d796993ce72c4bd2294937518534d3d71a32b4a92bdfa7a9e2cfc6c71cf903dde49e49e8a87cbd9ff86770ef54dbacf614fbfb3211815bd3b0b7df870e1c220399077405e47747ab950b39037f497ef981d2685d8e68f3c2c95b974ea7476aea03f00ddd527e8f9db1a29f7c2d1f0d3cc825c238a7d8aed806d318ec147d83532403f0ba7c1ec6cab6248c4423b0bf44cd348f99ab366636ba6cd440516c2b849b8a03235fa5ca1ddf9a1e2f8de650ca41d96a20b93dbb72cd80d2a42fbfd90a47a83803fa5683260d3d3161823ac7e06b209f0c2a854bfe9c1ab5b62d902b664fe43f4603e4ece36c91d5c2bd1bd2fea7b4e3806a7320418e027715bfba086cb407f516d003caffe797e4af4957fb4c5165316e0b5fc1993e9bdf4a7eb648349f6f710805f00219ffff0219ffff05581d024d71f9d8270d02b9a0ea9dcf93e69efd9194da9a5399acdbc6af0dad070119190305581d02d8124c69015bca971f7cc8360fb3083210a0d63a7da54eea91eb29c40c01470135eaf85451db035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503f893401c710771d76dd98c8e9b7d79e3aabee12f01219c5dda4dcb09b61f58a205581d02623e4ea9268907782088117c1d8c7bb5a11eef481224d48c09ab400007011bffffffffffffffff021944100219caaf03cbd22e033b70b7c24550ce0b9714c543154dad1f2912137cf7d843914c87cfc30387fdee64ba31c0ae79dedae9dede8a401147c58aa17109fc89c135fe6cb0780d0219ffff0395e6b47514e8a185b6c8e6083bbd37218afccb7621a2150894805c482a9764f8037f2a671637fbe290e12a9622ac4726e8b0d046ff975e8e92b90726ff475976ba0399697778aa11f93503439577f3c644547536c03d3520a766a19f3151c9df832d033ae2880813a4a07e1b079b93dab031a92881e333b64e3820cdf06f68705bf0b803ab6d007c5a107d7a2dcf499abf5765848c31a112f08c72b4eb0e8c2da914458403927fb46de163cd85ddfc6a053dc515d7045117ce32e49828eaf64edb01a8508d0219ffff039acb2a879bdb95b0b27b861eb79bd762f8566daf151d6cbd6d5c5727c7901c21037c0a3d0288ee5f424b69875e633fc0d17811ba26f6183eef84ea3d0db8254d16034f07b14b4aa8529cf16efd0390b3893452dced82d49eb2ff750fccc69a9819d00318222a854724d4e75c4291cfa096a9b723109045fe81045016516c0b44dbbe6a0371472aa41cf24710006c7a672e34c59d4cf6631b6b38d84e299c6cf35a8b049b03312abd9e44569546379c0ce2bb9095653f79c0aee3688f3e5b2798ad0ce2ca6403eedb7640ca36306b68d70bed3665e6a316360ad0ab5a74fdbe5db6131fd5d8a50361bf4580049f4f3357b838baa21ea7127fded2602406edf5b0dcdfc9ac2be8ce03e1795fe21d5e2b6997f73e119e49a260f67ec9293c2ffbe1d28c585ab818e5e703f7bc8cfc7ddf6a3eb486d566d50f9e6c42fbe97cb786bfac42b2c4bd5420b4960219ffff030e2d37957fa42514ee387c1cd58c11595a4061400d68d03febb987daeb31ed900313d113bf79b71e04ae9d44190166756bfee24e51d81244688a282143b55336c203e677112e55facdc940d898439f8e0a79278f8b665315fff3542e5671b10678f503ac8c4e24ebdfb6d290e566192c0fb8e8757a846a4167e19bdc93ddb6e3c898a003707c1f3428417dfee3366e4def6d72ef629a177c607f70929d67f644a6497f2003f02f6fa7f91f9dccfdb302b96f8071a677041c17e9897380afc4dc36e3a1ce5d03d0a5de72554df89890f6eee4c4bee4e63f2c7c8523d59e849fa8152683e7f47603fbb2c0915812770a3fd47b41ef676a5ead2ace063c90c55e058e9b549af9578603dfac23b88238254c03474cbe5247a737c6065cd42034d676f7d601e5f3d0d085032156b51a8e2cc7c765db6302a5630040ec83d3007954d27377c69bf59698e65103e64a6df96146fd28b69109e0327494db40fc8af20095c699710e6f22ec15c65c03b13fd689e135713282ec80d63b7df4892780d783be0262f5b650532244cd982303954d86e573a325e388ec6a0613a7410939b0003c63771024973df668b56c1c8303ff2bb825c6c4b04039c84ebfc3eb4deec08ff282548d416d8c4cf177f644ea63034e72f999c4e3db63cee6b21d778cd2621478d69a9cdfab4af7edbbc6ae22b0210371569a96ca71c49f02eb851ded157aad15e1749ff43d9f19587e456b1a36fb6103764d78fef026981b5ace0046c25700a73a0a9a0a88261ebaf4c7bdac887f181803528e3d89e9a68d50c2985dc89da8586311cbeeb5e51439f94b9b8f1ef126533a03f03069932842acc1f97bc7e6afc7939e249c672e10708cc58ca6a3f19c79db8e03f29dc85d8de4347437149c6a1191289cc638f7efdb4409c8987d5993ceab325803f03190e455ad038674ab41493f2a74e039c54d47dbb05cfbc0a9b78b985d65e6035db3593d13972210f324fa08047f6664e40057f278346cfc0f80a6c0e0e1d81403ab8bc138f34d6ec455a8c6bbe3a64256741f1481109ab65f4b5176f86fac3dc00364b7a3550fd246bc3aa6820a9c916f509a15ce5c94c446d945596f879c8b9de703917ce4e0b293a6c03263da011c38326c01328f68ae53001e7c1a19afe83cb32f0390e0ccca1b89c7fe62b3f3d5e55ffecfa0cdfe5e79bf7c24053e61a913a9d59d0362559e924b090c330d27f08413e4b01bf02a75f20a3878ef99b5468fe3a9d67e03ec1c35345332a45ea9c4c41f15eb14310b3389ff172def3c64a41f68adbafe0e03919c10c3a569d1a5c8d3644baae2b8c22a4ae95893a027cb38086db6f7fcc10c0317dd64f332a3ea3e7a96ba6da6e4c3c8379cd628c16cdad24fc9ad5f8398365e038f31b2ae5859e22e3c24b7dd8aef8656b261584da29094a512b797a4692f8d3c03cfc8a7f139f86006763e11b0461ab64f61e24cf2f77f48d5acff6841f53668a703cc318d5e1cab6e32356d097846aeb4f92ffe4cb4b26842711f3f283aaad1212803bc924e0ab9c00c4483ea6efec93523e2f9903f5af4aafbb9f363bea1713a86d105581e036bfb28f9ddad609422d682880abeac7dd64a7f6cab496027f360a5f2600c034707ba95ed4d7fc605581e037722c76851082b9501351f04c2bb709b525ab112e8f53a5a64ee83e6d0040105581e032c8e4372b27e29333d614f55db69b88db9695327e931ee6ad6dfeef1a0040105581e03a659b55eecdf0b5b85d0241a7952d072754819941ce53d55c59ee27950040103cafd579c9d42201d66b3283d81f14e2ed6bde65480799c227d99492ed5bee69e03799a4f974f93d287ae49f0e18584cb1947812d264b05381befdeea6c4435ff52032d7831c14cde649a2da3ba0881e7db1960cbfdf358d66b8ad063ee50c3fe651805581e035541629a94353ca2bf3761b357a0a58e02bae0713e36b3753a169aae9007011bffffffffffffffff05581e03ed4f47d65826a5f9d4789d92200572ef400d0338b9f191ff2dcf91ba60040105581e0307dc75755faa10470926f747e8d2f1d094d056a2e2421da670bcf974000c181f47cc9af15912ba2605581e0377a79e97ce4a0335db25e8cb12f956fde0d91634ac36780a94d1a638200c15475312c9c157ded405581e034a0e19d6d7d622c8fc29658f1a46ff6268cc5768eec9fc840a29d101500c044710616168d5e98c05581e0360df1f017aed61c35079e66dc5325d13ac097bbc17556a09565258a9a0040205581e03acd6ab4bdabfcdce941fb398caefaef580385ba041f40d9cd28213081004010338624574799da5309a95c937015c9910b8eae6e249ee7471d9da37bc4ed279b40219faff03b17b803a200e50671a358ac9f0fe88cbb9dc856076b69b0829e0349bae03f1980303b194eb2b4db04b9becd32518ae663533cc46df5e615accc8690d90d5eb4399037ec15b0ec35278235f0f5d9414b1b1cbc7516d6037bc4aee7f1a5a4d3b65b84f037de590ef037b6d8b4f321adcf08525b437e141a872f749f27e170851f06ee1a60219ffff03dca48330d0fb62bb35d77865f2fa55120100e201a705fb10c2034530f5667f4e03f37b0dfd4c4b0a6dc85e68cc737346042d61ef104b0caad61fd0d3296d237c1c03ef92a96d9d7172c1a1efbed00f78bf013a8416368e9a080693bcd839bdca223b0219ffff036146a2906415da66e8ce236d0fa8c131777bb01a34051feab8b36d7b7c74850303b01e72421fae38b271da20614cca4de6d75935899801463058169de88cac9f43032490bdcd68092a55ddf9e51d0075384bec5a4f41b774c117664a88eb0b14f81d035db1e395a995ac50b04d7242f0fc2b9a2000454c48c6c72cd755f33d09ff58e803c8aff1506d1b7c4c7dda23d83a97637f155625a51299e241d95e83f53c2afdd303a9d779356728198dad5f453ebc822e9f12b8e587750b2e6eabf68c9f4dd0fad9039a2f3386c1cf6a1a1e463853d81458a1b179ecfaccd4e41443a1e616010d42ee03b36235ec3ab38cf44c056c769ef0936abc3ad0081d78f431b4994198f72208900219ffff03c8d9aa09a1dfe2085fee542a39cf51d869dbd1231796a38f138164c124598c5a039a644e9209c5930469921829d0ca9acba82ac3b0366fd9a668ab11dff8e4fea603f08240e36628a9a70781eb245c5e9ee9bda089d0b1b2d466989231c6dcb0fa5d0219ffff038ebc9734481c6cc2afb7b8e480688c65804824369afdce1b86eb46291adb054703ff8f396c79386a0cfb6329d6df204329d1ff8f260ee28e5475724a0ee4f23350039a02b8eb21afaea66b566e5f4ba1fe3f33ae0a491a1fe6a75d538ae8be8983d003f85ca7305e67ab3b7d23a1a0b3a968268838264aa19bfcf007f2612313706fff0398d07b5d492ef4b565cf2bd97845170b624e4e8dccebe38f73691cdc2f3d171003b62aa3d902642ecfd007e4e2aad672eec2dfde1c0bd013f790d4679cf1fd1f93031d9f1e1a66660d5ded0d0a6059295954af8a31c4b44c31b953f1db385006a4cf03c9eb92c11ec0100aaf6a954b4c8e5824a3bd5f23953baf6ed2ee2144031863a4034b1340a3b8d2d9690ca505fd4b9b8061a6ef42ad756bbab2f9a33ecdd8b6ffbf032bd960749362f22dd1d1279607ad94e9854befeb29e06c5ae0f789dd4589b77703d9eabd47e3d38a5f68e2234e3cd7a0b567fe3ba95102cd4a623cdb3672b68973031291ba3226786e0834ee0207d6b7471d05c1acc2f25a90e5702d12a36c623015031ee1e92a9eedaf67e942f1e7f6e19639dc46c2cb09ce02e56f27cfe30eb2b7c203de52640cee8407f78352504df02d77b2f4c144e3c99c9686455d884a26dc2c6e03d21ab69a8baefa1f67abbef3eb7301f318e84d7c2a993674f17c676c93dacf25039fab6bbf8c8336f65d6fe152a4c60dfa17442f146a505999c1bfc4e37e50792b033062b86d8ba2f3aa2c3dfc25ea8b1a0414caa51498445130ddc13a5d149af787038ea220c4e456e92a35a247d73f6bf2a28c0443107ec4e10f5325841cbffd533f034fe84d42245e872167299803a2db0754335058002f1ed06709c874f17f076ef603a254af74b43395e1d34a2fa8e9d26f42b2b40725c17e36c5a96021fd1702d589035012d7901dbd8e4c05b172a869fbf4151d9044fc87da533b0f4824ea84b60070035b478a62a886dac926efce7e8226c5c9facbace3668e13aa3ed60190c28eaa7f030852d21f49dc571d8990c6cf91e6f7e5d0909d54da1709b46536eba0fb06da91035e0dfb3c69354ee0c960021ac94bb2986cc00c14fff22ca6ffe625e4c786cb2205581e03877deb4f307b133578299b68eff40d026f08b312d45e818684e28006800401039e3eb4ab4d707946bca34d121c18fdadfaf6bcc6b01cd0bf4db1779ce75826c205581e0370168d5262e48267887517e6cfaff7c64133062fde490f873c83da8060040105581e039081564f551f3bbb2ab772d15ce6d7d2e8461be549e35f3731c36246300c19033647ac02eeb98db8630219a884032d28896d2d02ecad96eb3dbda7a1c6df030c6dbd49f896e130df15a8e667e53803947614f7caa4cbb2ea0783faa43517c70d93cf2b2d0052bd38bcc4052de323b50301e349c77379c4235e459418393901e070fb5457844e9303e4c7f16fbed30aeb03383a87f295d4213653b28701bb34f0597b7b4f6e74ff45811adb85d7be593de50390c09b4b54df2702df48d9a21fd17813ec45336abac2c1999d8c20f09384f9e80398fd13c87d2c2814d1b72e6d44776e150beb11baf14d046d4d02e8c62ea55cda03da09787f3f8564bd73a29ada3018823c37ae1bcbab4f232789185de065468b7d037baa9123341f4c8bb57dffcbcc1b58d68e1fe145a3eb1d42435d6aa70b1b823d03193043554549c68f074c401cd91a948276b70dbb87331dd774f6e693ca8e13a20354ece73296d47a3bb883da5db088771b8de230dcab529687691c9cd1cb51360b037906942f50b2db7180f0e87b647251036bb50cc34ebcc1253218566bba176eda03a330f535087c90e484f1d0add767f4df1d4c3e94a9ac9ab05f4270596d3f0f890307aedf920d24102dfd184f8db3bc2191209a166d1879d0bb4c02c09c08e03baa03f1079e0bc28286b05c9fb9081472e27069157519c3b9e8666dae0b9653a5b6c903c907c30a8a281c1cc6158e11140e16c62fb02f85edf34dce89472122d2f360c80219ffff030c9ce031dca7e4c33935edf467fe6989d7374765fc0656866c23b39c8f00686403c5efe67205d936e11fd8d773d5d9dc2a57b9eeb8266c22cfd601b96951f563910219ffff03b68f849743b594eff7eb53b9dabc174afea8c1a6967f0e4a51ab50dbfeae3f6703d1768927bfda477f7fbbfec1a471481be07684b03c09af38884784da6c5a9f9c03828bd4f0539202789e9a0197f038f0744c4d1c241fd57f3204c2de21d4ef73d303087874a9b1793c03f719399a15dc634b3a294d083494c76497bf8533482d9835039f5567a661b7a2cb3d692d6423891c422f44559970cecd5ad050540c926592150327502f0ef12bb8f9fbbdf91c2ec6c1c9c1a8762dc5c8c3bbdbf4251bcd7a893f035a96cd4d3abeb3fb6757cdefa475eda3888e7cade0f05cccfe0cfeaa31699f520312fa89e25e9fdbd56790287ad938bae8642a6d46377ff18c9b1147812fa3855d034e522e3fe71bd81e405005f3d01667cccd647e6bd8f66571d18cab6a868a12d60304d223b121532e0c511c55fb83bc78c9afb09f13307fc6d7563f34ab526175dc03cdd0553684c4b0cce07b7e118b85618025a67fae99b4b7caa9685f899006a2e203ca96ef6388dfda03be5c3fbb766f5b4041c9017a88cdfb5e476e92f1756361f5035bf6f608df39e56d37a81f707b2ab8c43cc9d74372df85a87d651049b5828e99030d8aa582c4495ea904898794f557b585dfbf5e036363b82bb26ab929b22604390219ffff030c2bc267c4b84ed10a5d0d4c3bc1498ffb67502a5fcd777a61f4054140613c6a0371f3bc5a347746f4f4ed659a0bd1cd2be3d46138561f9867e3d0ee858a952ba6031d8df32495c42cae9e299b91b3622036e4bb33bd818f040d88a0a60bae2d7c5303f9ca7f16b8c795db9c3b32d3f5353818cf36d767c59794aa942892dfd92c2c9b030cf1057ec1a1e99755cc5b68b059dab0b5dcf781c28e714a799386fdc1ca779d0361972c05d0209149ae4752ac5605c11907d5ff90efaa5de97e414a028371b03703768a6799f4750b4c57c8cdf66cb1621581cf7fbf16ced1e85b9804db697b1dff037f839b21738ad6bd0d082e2e8432af7b209cf9892f482a348785a033c5ebc1ac0358b120d0971906579caa041252955e492be7df5f42a8a5f4d0685838c23b79bc03c59549b20e2c4bfd370c58dc720bbd576c9a69213995629044ecc16e9a13077c03b2e5ec0ff2b4dedc38627bab8112e90d6bad262da72c01e189cb88711cfcf3ea03ee6be74b0c87610e96e5a1e6cc050c1d45fc3c41ef155195fed38ddfaab78a360373995fd46c4ec4a95be15350341d7abac38908f0360954b5560886364eeb544a03bc2e41a5e1707cd92e340c19b75776fb6d797ed90274bc4b3b0019250cd18be50388748cff5af8c3fb9dc7ac433618c3aee03baad4f1c08ef218048161779cf65d03763d2e70cb779565040ec0fc4634d7a133c4a57cbf55f2266a1f7bde7d27cbe903e9310ab4a0cd07d4985a64fdee8d23e25ac1c7111bc8a039adbc6beb0f464b14033dca936cd2c586d7a8581fc39359103174ec60a7713d51788d32a7268c8524320357ee9f242d0b2c481134e21a9ab9c2c784b4c08ff9501145f6b435e6a857bad703a16996b264d15be119f6613bcf8c343055f567140638951a10aaa39248297cf40308c722dafa509f8240b4d82c6285fdcdeb7f646b34525db2b97cc232b06ec158037d61d0c37003093508187ad81f72d826cbe3dbfe3cdbc557dbe3209f2f3d3b5f036235c93260ce767edbdf5bc26636981fd16163f1514828da9aef44df1200054f05581e034d54169cca4342dde10c5557200a301d70ab3af9eea56c12ede78f22d00c0145c015d4fa0005581e0399302de9281b6316475c260c9989154468dd41acf2e34cbfcaf82f9cb0040105581e03f3d049401c148084fae0d6bebc3c44779d079fac3beba3776f417734200403033980451255e493e58008161f3645447b7f50756ea57a9af29b3dae54da936f0d03b5ab4e6fdc733a2ca8a2a4f42cfe9ffa7bf9c22deefa4aa2e3c8fefd68bad60c05581e034f4a12420d1c471b7096c218aae7086b15647ca7989fea70d84685ba4007011bffffffffffffffff05581e03e9da95e1b7be4487f323fcbe9dbca40be591e9724e2e47aac9f1e626000c0247014378d5475cd805581e034e7378e81e11ac1d54895602d09b7581fccbb98ff40fa8d24719a54a500c06470362dad73e0d4804591ba46060604052361561012d5763ffffffff60e060020a60003504166306fdde0381146101ec578063095ea7b31461027c57806317634514146102af57806318160ddd146102d157806323b872dd146102f3578063313ce5671461032c5780633cebb823146103525780634ee2cd7e1461037057806354fd4d50146103a15780636638c0871461043157806370a08231146104f157806380a540011461051f578063827f32c01461054b57806395d89b411461057e578063981b24d01461060e578063a9059cbb14610633578063bef97c8714610666578063c5bcc4f11461068a578063cae9ca51146106ac578063d3ce77fe14610723578063dd62ed3e14610756578063df8de3e71461078a578063e77772fe146107a8578063f41e60c5146107d4578063f77c4791146107eb575b6101ea5b60005461014690600160a060020a0316610817565b156101e157600080546040805160209081019390935280517ff48c3054000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301529151919092169263f48c30549234926024808301939282900301818588803b15156101b857fe5b6125ee5a03f115156101c657fe5b505060405151151591506101dc90505760006000fd5b6101e7565b60006000fd5b5b565b005b34156101f457fe5b6101fc610844565b604080516020808252835181830152835191928392908301918501908083838215610242575b80518252602083111561024257601f199092019160209182019101610222565b505050905090810190601f16801561026e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561028457fe5b61029b600160a060020a03600435166024356108d1565b604080519115158252519081900360200190f35b34156102b757fe5b6102bf610a43565b60408051918252519081900360200190f35b34156102d957fe5b6102bf610a49565b60408051918252519081900360200190f35b34156102fb57fe5b61029b600160a060020a0360043581169060243516604435610a61565b604080519115158252519081900360200190f35b341561033457fe5b61033c610b04565b6040805160ff9092168252519081900360200190f35b341561035a57fe5b6101ea600160a060020a0360043516610b0d565b005b341561037857fe5b6102bf600160a060020a0360043516602435610b56565b60408051918252519081900360200190f35b34156103a957fe5b6101fc610ca2565b604080516020808252835181830152835191928392908301918501908083838215610242575b80518252602083111561024257601f199092019160209182019101610222565b505050905090810190601f16801561026e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561043957fe5b6104d5600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284375050604080516020601f818a01358b0180359182018390048302840183018552818452989a60ff8b35169a909994019750919550918201935091508190840183828082843750949650508435946020013515159350610d3092505050565b60408051600160a060020a039092168252519081900360200190f35b34156104f957fe5b6102bf600160a060020a0360043516610f97565b60408051918252519081900360200190f35b341561052757fe5b6104d5610fb2565b60408051600160a060020a039092168252519081900360200190f35b341561055357fe5b61029b600160a060020a0360043516602435610fc1565b604080519115158252519081900360200190f35b341561058657fe5b6101fc6110a1565b604080516020808252835181830152835191928392908301918501908083838215610242575b80518252602083111561024257601f199092019160209182019101610222565b505050905090810190601f16801561026e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561061657fe5b6102bf60043561112f565b60408051918252519081900360200190f35b341561063b57fe5b61029b600160a060020a0360043516602435611221565b604080519115158252519081900360200190f35b341561066e57fe5b61029b61124a565b604080519115158252519081900360200190f35b341561069257fe5b6102bf611253565b60408051918252519081900360200190f35b34156106b457fe5b604080516020600460443581810135601f810184900484028501840190955284845261029b948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061125995505050505050565b604080519115158252519081900360200190f35b341561072b57fe5b61029b600160a060020a036004351660243561137e565b604080519115158252519081900360200190f35b341561075e57fe5b6102bf600160a060020a036004358116906024351661145a565b60408051918252519081900360200190f35b341561079257fe5b6101ea600160a060020a0360043516611487565b005b34156107b057fe5b6104d561163a565b60408051600160a060020a039092168252519081900360200190f35b34156107dc57fe5b6101ea600435151561164e565b005b34156107f357fe5b6104d561167d565b60408051600160a060020a039092168252519081900360200190f35b600080600160a060020a0383161515610833576000915061083e565b823b90506000811191505b50919050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108c95780601f1061089e576101008083540402835291602001916108c9565b820191906000526020600020905b8154815290600101906020018083116108ac57829003601f168201915b505050505081565b600b5460009060ff1615156108e65760006000fd5b81158015906109195750600160a060020a0333811660009081526009602090815260408083209387168352929052205415155b156109245760006000fd5b60005461093990600160a060020a0316610817565b156109db576000805460408051602090810184905281517fda682aeb000000000000000000000000000000000000000000000000000000008152600160a060020a0333811660048301528881166024830152604482018890529251929093169363da682aeb9360648082019492918390030190829087803b15156109b957fe5b6102c65a03f115156109c757fe5b505060405151151590506109db5760006000fd5b5b600160a060020a03338116600081815260096020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b60075481565b6000610a5b610a5661168c565b61112f565b90505b90565b6000805433600160a060020a03908116911614610aef57600b5460ff161515610a8a5760006000fd5b600160a060020a038085166000908152600960209081526040808320339094168352929052205482901015610ac157506000610afd565b600160a060020a03808516600090815260096020908152604080832033909416835292905220805483900390555b610afa848484611691565b90505b9392505050565b60025460ff1681565b60005433600160a060020a03908116911614610b295760006000fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600160a060020a0382166000908152600860205260408120541580610bb65750600160a060020a038316600090815260086020526040812080548492908110610b9b57fe5b906000526020600020900160005b50546001608060020a0316115b15610c7257600554600160a060020a031615610c6557600554600654600160a060020a0390911690634ee2cd7e908590610bf190869061188d565b6000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1515610c4857fe5b6102c65a03f11515610c5657fe5b5050604051519150610a3d9050565b506000610a3d565b610a3d565b600160a060020a0383166000908152600860205260409020610c9490836118a7565b9050610a3d565b5b92915050565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108c95780601f1061089e576101008083540402835291602001916108c9565b820191906000526020600020905b8154815290600101906020018083116108ac57829003601f168201915b505050505081565b600080831515610d4557610d4261168c565b93505b600b60019054906101000a9004600160a060020a0316600160a060020a0316635b7b72c130868a8a8a896000604051602001526040518763ffffffff1660e060020a0281526004018087600160a060020a0316600160a060020a03168152602001868152602001806020018560ff1660ff1681526020018060200184151515158152602001838103835287818151815260200191508051906020019080838360008314610e0d575b805182526020831115610e0d57601f199092019160209182019101610ded565b505050905090810190601f168015610e395780820380516001836020036101000a031916815260200191505b5083810382528551815285516020918201918701908083838215610e78575b805182526020831115610e7857601f199092019160209182019101610e58565b505050905090810190601f168015610ea45780820380516001836020036101000a031916815260200191505b5098505050505050505050602060405180830381600087803b1515610ec557fe5b6102c65a03f11515610ed357fe5b50506040805180517f3cebb823000000000000000000000000000000000000000000000000000000008252600160a060020a03338116600484015292519094509184169250633cebb82391602480830192600092919082900301818387803b1515610f3a57fe5b6102c65a03f11515610f4857fe5b5050604080518681529051600160a060020a03841692507f086c875b377f900b07ce03575813022f05dd10ed7640b5282cf6d3c3fc352ade9181900360200190a28091505b5095945050505050565b6000610faa82610fa561168c565b610b56565b90505b919050565b600554600160a060020a031681565b600080548190819033600160a060020a03908116911614610fe25760006000fd5b610ff4600a610fef61168c565b6118a7565b91508184830110156110065760006000fd5b611013600a858401611a1d565b61101c85610f97565b905080848201101561102e5760006000fd5b600160a060020a038516600090815260086020526040902061105290828601611a1d565b604080518581529051600160a060020a038716916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3600192505b5b505092915050565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108c95780601f1061089e576101008083540402835291602001916108c9565b820191906000526020600020905b8154815290600101906020018083116108ac57829003601f168201915b505050505081565b600a546000901580611168575081600a600081548110151561114d57fe5b906000526020600020900160005b50546001608060020a0316115b1561120957600554600160a060020a0316156111fc57600554600654600160a060020a039091169063981b24d0906111a190859061188d565b6000604051602001526040518263ffffffff1660e060020a02815260040180828152602001915050602060405180830381600087803b15156111df57fe5b6102c65a03f115156111ed57fe5b5050604051519150610fad9050565b506000610fad565b610fad565b611214600a836118a7565b9050610fad565b5b919050565b600b5460009060ff1615156112365760006000fd5b611241338484611691565b90505b92915050565b600b5460ff1681565b60065481565b600061126584846108d1565b15156112715760006000fd5b83600160a060020a0316638f4ffcb1338530866040518563ffffffff1660e060020a0281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360008314611317575b80518252602083111561131757601f1990920191602091820191016112f7565b505050905090810190601f1680156113435780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561136157fe5b6102c65a03f1151561136f57fe5b505050600190505b9392505050565b600080548190819033600160a060020a0390811691161461139f5760006000fd5b6113b1600a610fef61168c565b6118a7565b9150838210156113c15760006000fd5b6113ce600a858403611a1d565b6113d785610f97565b9050838110156113e75760006000fd5b600160a060020a038516600090815260086020526040902061140b90858303611a1d565b604080518581529051600091600160a060020a038816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3600192505b5b505092915050565b600160a060020a038083166000908152600960209081526040808320938516835292905220545b92915050565b60008054819033600160a060020a039081169116146114a65760006000fd5b600160a060020a03831615156114f15760008054604051600160a060020a0391821692309092163180156108fc0292909190818181858888f1935050505015156114ec57fe5b611634565b82915081600160a060020a03166370a08231306000604051602001526040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b151561155457fe5b6102c65a03f1151561156257fe5b505060408051805160008054602093840182905284517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0391821660048201526024810184905294519296508716945063a9059cbb936044808201949392918390030190829087803b15156115dc57fe5b6102c65a03f115156115ea57fe5b5050604080516000548482529151600160a060020a039283169350918616917ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c9181900360200190a35b5b505050565b600b546101009004600160a060020a031681565b60005433600160a060020a0390811691161461166a5760006000fd5b600b805460ff19168215151790555b5b50565b600054600160a060020a031681565b435b90565b600080808315156116a55760019250611884565b6116ad61168c565b600654106116bb5760006000fd5b600160a060020a03851615806116e2575030600160a060020a031685600160a060020a0316145b156116ed5760006000fd5b6116fe86610fa561168c565b610b56565b9150838210156117115760009250611884565b60005461172690600160a060020a0316610817565b156117c8576000805460408051602090810184905281517f4a393149000000000000000000000000000000000000000000000000000000008152600160a060020a038b811660048301528a81166024830152604482018a905292519290931693634a3931499360648082019492918390030190829087803b15156117a657fe5b6102c65a03f115156117b457fe5b505060405151151590506117c85760006000fd5b5b600160a060020a03861660009081526008602052604090206117ed90858403611a1d565b6117fe85610fa561168c565b610b56565b90508084820110156118105760006000fd5b600160a060020a038516600090815260086020526040902061183490828601611a1d565b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3600192505b50509392505050565b600081831061189c5781611241565b825b90505b92915050565b60006000600060008580549050600014156118c55760009350611a14565b8554869060001981019081106118d757fe5b906000526020600020900160005b50546001608060020a0316851061193c5785548690600019810190811061190857fe5b906000526020600020900160005b505470010000000000000000000000000000000090046001608060020a03169350611a14565b85600081548110151561194b57fe5b906000526020600020900160005b50546001608060020a03168510156119745760009350611a14565b8554600093506000190191505b828211156119d65760026001838501015b0490508486828154811015156119a457fe5b906000526020600020900160005b50546001608060020a0316116119ca578092506119d1565b6001810391505b611981565b85838154811015156119e457fe5b906000526020600020900160005b505470010000000000000000000000000000000090046001608060020a031693505b50505092915050565b815460009081901580611a605750611a3361168c565b845485906000198101908110611a4557fe5b906000526020600020900160005b50546001608060020a0316105b15611add5783548490611a768260018301611b2d565b81548110611a8057fe5b906000526020600020900160005b509150611a9961168c565b82546fffffffffffffffffffffffffffffffff19166001608060020a0391821617811670010000000000000000000000000000000091851691909102178255611b26565b835484906000198101908110611aef57fe5b906000526020600020900160005b5080546001608060020a0380861670010000000000000000000000000000000002911617815590505b5b50505050565b81548183558181151161163457600083815260209020611634918101908301611b57565b5b505050565b610a5e91905b80821115611b715760008155600101611b5d565b5090565b905600a165627a7a72305820e0e31a8f1c74e2661a82a8af63c985ee5d966d6285181f007024cd53c503dd8a0029038330e8deb38046b1348a33c69860c23ad29deb53fe59dc9511fc83feb2c7b59d03b57d7f022c607e28f01af70353c155f17aaae8c5c17d40629f44485ce1201dfc03ef986723bf03986a5328ed4e869bdbd447501a976947c781af50c20c524aba58036aa29204176f77d5899e67df2adabec6c1601d6c97ac9b87ec2caf3e5965b878033fe5fb3129d1d32004bca74df83b0b930c6f5468d6b21a3bad820ce5da62027d03c1804fd8533c05b3407375a7a15cb856d6bdd1dbe9ea895ca0fc1bd49640b96c03031332db189aa40959c01f49a23ed1a1f21fb9df63f963b143de7f69cae5b16e031f091cf0d634528809060f13c1c8c347b7936d42668547feb985cc0501b73e4903006242f038e325908c5d158a47e02126eadbd412a327578521d720a93da017e8034c1b3878d53eaf53b48ef8fa9e49cb094e91db3c08825dc54f7b5db9de08049b039d61559802a3d35b1ca0cf8f811e7eebec0b818535b5101a4bddb4b9243851b003752c9c59787cb1dfda772af505401cb4fb8f3368f42bd843ef8d8e374a6de9b0036acb2d368e03c936ba08a7dd09117a2c47af979cfff09a1a822cae75895e1dbf032a5c86d16912a21151a7904843444d23d75e374816f5a37faf54d31c65a3ef0603edccac74cf4cb76aca38f61f417c3f37e37dfd67cb33dbb2cb1bfa668511aa2900581f03db94a16a5ebb5fe334ef99547ef6062e9cf1775e0f042b1d6068deeef760565af3107a400000000000000000000000000000519e1800581f035a7a685e1c709007eaf3c84c732062a31344f46e5a873cb4baca0c2852805612309ce540000000000000000000000000000050497a03ff7225494bf713838eb70bdb540be3cc53ed5cd767cae0d6161098051cf9fe58035dd25b8d428701ad6e377a4a0bdfdb622520a51dc3d30dc52a4b2fd3c095313600581f03047cca201833cfc09883d96bb94cb1c2be3e81114be604f058dfdce5e8f05819190b89b838167800000000000000000000000000000059ca4300581f0350c4cec85a6c66492e47c30d8681a7a39602eb43a01e0d26e123c288a1f0581a021e19e0c9bab2400000000000000000000000000000003b9b9700581f03652c6d962227e22f51095afac5bb4f7fa23625537bd3a80362aec166d9d05502540be40000000000000000000000000000575cdb03a0aed838a98884fb301e435d894c3576e30bd649799bf58cd1b76ddb3bd364bd00581e024068387b171af19e995b1a8f57f559680ac747b9671a4e60bcc8e3f902581a560470e0250bea3445e600000000000000000000000000417df600581e02a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db955a1c957c0210397d2d0296341627b74411756d4760100581e0205537699dbdada44aedd0e7519e292ccc03b8a78732dfd62169e9e099e581a8eefdd2db9c0bd6b0000000000000000000000000000003df824021908a0036871881e90839bfdd12a95b8fffe3aaea0849ca1c1c130ffed4b5657ba141dbc03614319aaabe6128a3f650d31a909a0115d5fe919ee2a98a35ce896ce6539d66003ed106dbd7854c60c42aa24fc49f8ea2d4d4cb4542e2c08d7a90ab998e51b99eb03d8b8747bc5ce3caf10c4367f91fc89792f9618a4b58d1de856cac26da634f3f00219fffe03c653141fa48eff651575e71f4783bf15a71d42f806d67f335a84d497d07b84f003ac788f1802c9eaa350ee67180365abe9c4a56985bec5cb9a7873e90129763d2f0372a8fdbfc1ed38868f0e1e0f863a350503af98d964ee8e1cc1a6f16ff802246d03747c87f37b4b4542bc26c5873c46feb1687a129d11558ec0deaa275fe34ed6cf037445f38752111cff1d916e4ee0691c5fcd6d42cc5d593b94fbe124c72540a58d03ea5dc21a73cf2a8dde4aedaac9aef2b0a3a368c7b193406d84fdc7706f5180c8034956089093359793bed8ed6b3dfbeca12d2a8267841a001e5d049b2ae96c3a360306a8673916acc58237f5a807c368cc18c05dffa59cce1726f6819aa17069c76d03ca93dbb5b2a167a65db86f9bf4a7fdd022310807ac621c86e86751ff8ad17275034fc49687645e722eb9e0b343c522bfac58686de1b603d13eb86c8bf891e850c20219ffff03fc06bf616e2956e48bb86c2bbd47efcce7c8693c9d1f6852a386a8dc17c90d2f038aebc9dabf39e942227668b90ebae5a3f5cbd7e6b4569119272115969f3b6d4803fe3ba5e3b467b338052e9a8743258836d18e4780271d0843edc774aac53bfaab0394a71a720062f499fac889c3c8a651de0df277797c8c484d2978cf5f3f0c116c0370a3f6ccfe81cf5c5316f68c909016aa14bfaab6867536d239ac9fc2ff0dfb7d03716a9e32f262f3ef4f99ea7a9802f6f5857d591426c486bc9ac8054fa7f027ba038bb8a03b2a414d81d35967ec3d29b4dc2ff1e8487d349bb4d50483f58f4a8bd403b5b7fd914d1eac5ea9d6245a389fb7a7be317b66dc8e89110aeb546a051f4fa30219ffff0363c92be55458f4ffe42caf8bdbc1b2b4f9f334a04cad27059fc66a5f8cb8499a03f0f42c3153ca57335f4b84066e4d9a40a607b1a8ec71ba28f719fa0f483c20c703819bbd6a73bc4623a02fcf7143da7d16007d8e1bfd8f27e11ea7d42e9947568a036d8308ce181aab64a80be9a40472b2c4695d533a38141181df7060e57852482703c749727d8455733266834d011095e2b899298b34e519c70be0441163c08f4860032ad3d762c4099a2c101fd6a2ba7435d2bd4351174dbd0734ba11d9851b8f64860343ab0eda4102d11e3abf4c9cf5d2cf88dcef346582f810d1d540812edb1c461a03e473f9cede55eb1d5b1f10e585d2fca996ce477f3eda828608893cce9205abd003da9ab628fd02ffe4b3cbb72c8fc9c7ea9db15fe5bc5a2c3551bcdda21819f06f03d07ca424d355f0b7194102279d8c1abe5c43faa6d54f2e0b6ec1f0a8b50df3ab03149fdf8c0cf78750c2ee68e185c94078e6984b001ac9602a2dd44442eda7555f033a54135df055e6ae783576b1fb58ee7cedd63e11b6c4a034f7e9eac6e02368b00364ac6b8a7ce5da45a8725717623d57efc02cd6d87fa4a5ce854397bc4cd68cab03de0bbccb2c5ef10e83e9db603ca8728d3b61e437593335b8f24b60e13e3f235603b52ae64d300d8c11ec25e449cad2b8cfd2721b6732bdce9f90202a976248bdb6035dd252e7fb9fad99150b909f2195dee952a6f84c694fb1609075356db6379cfe030d0a74ad133536a98f3c1d10f3c32621f36154b46430c7dcd56d68b804a764f003c7b367818e42c65efd322dd9e2eadf5161d591f4688a337520f64a26de0d43bd00581f03f5fa2f6fcaf015b7bd95ec43ccd0a87b729876b96ea8b2f7c01d8e5429b0581b06b5b5cc25a5c85685c00000000000000000000000000000eebb9c03ec45e2f08336fd0a609345b973de18511e54b92e030b91a6f71afec35809d9da03598d09930cd224b50fe09d3ea1e070af5d12083d2e76c37aa3569a0012a0413d00581f03072d5e4a054907cb9ac043c3e0c09cb44c7ddea9f69cca15962763431c90581ae8f863f2b8580784d00000000000000000000000000000bb446b03e3b557583a1bbabd034ac87865ac514b38a9b943289f72d26e34e2b8469d9b9b03d07f5ad1b2e1fffc563999249bc77d068cec41a488e9febafaa1e4ba061c255700581e026c8d931ef86e055a2d75b227e21ea3d5f675a0ca763d20a3898e4750d643a4cc3300581e02744199be9aab804e2f36b102bbc170ce6abc86a9a1cc534170e324336c581b21e66f835841a85038ee20000000000000000000000000003ff5250219060003f389a9f683dd0584ec69c9ba14bc0ef92289fc4d91d5ef7c5c8d77a2b2f16b0d0362fda73e0f9646eef5d2d74620cb12cb4508b31ac4b2e099cb38ec239cc1c65103be16ebf3d1e30a10836b24f295719c49509e1b041592756cf2b85c7126ac1838033c42d18b08449a0ce2f29caad7c0b537acf06193906007385be0b0c7f3f303e503e8eb0c309c7794dcef6df88df1d98c97bd47945a0229fefcc64788357c27694b03cbf4774352099b4a645364d15b99e34c43df7ef9b5b36f4227f4c4e92fff60ca0363734b74158ebd49a8f86d7d457791fcc051083347f835bd101dd4fd631098c003a423b3ab85dc1cf3d243587c0a8c914759555d08b70b63990ad5db2f08398e5b0141020219feff03bf1d33d4f2f4888f71646052ff25725d78c6d90d81e21128b06633f965f70ae503c28aafe98ec378a07ca46a13a544e8818244bbf1c8d24a1a52174ebe99659c0103097e9befd115a706850d81bcbe772ab690c31816e17c8278c5727e0ac2648e5f03dd1e36408fea32a44f0c8e12e28f3ee8b4fd3c9b29aa38e7e70b8596e2c011e90219ffff03f767e2e927c956a5712b128f26e8c9a7abe6df88dc5831b150372d2281a5c59a03cb799228011938e9ca5c49e41b457d0fc5b1e52d7846e2735cf56646e67a2fb803ead673b59a17048f5592f73a724fd70106195a71f75e87f5cb1444372eca9c3403b41004e40fb2585e5333866e336f508708fdcf1023a74e4478690a2044ef5a0903bd1970dc5174f5eb75cca796aa2eba8e24ddc19887cab1a2bfcef3f74042815403034b681402e1e665624863e4758bb7adc23cda57e5858e5a85d5b17d45a13a7003e646505d33f0e968d32ef046321e94ea1933edc766fa64d55ee294eb7efab42b036db65087b1d0b1e41863c7bd103a348387eba578128299613fca20e216479ed5030e75c3f9d09fa67d6e6f17374545466fc45d51e9a3c99847e3946c6ee6fda2d30219ffff03413f6fb62f94fca12c36a079af384a72c1c562f14b360bafe744fcd3213e7b6e035ddd7f4a50a0a2e67627910e35b4ba3d02766431bc452eca40c2bae2dd68a89503e782a20b12b2dc171e0893b70180fbdae03ab48113151c61d884cea5ca25e0ab03417bb68f0e43aae5a58f89bf6f17663e1d502feab7fbfaf8d0db144b08747f7303707d29b064aef1f9ad343499ee4e03af0f0f9f358ce22caad0e85f89a9d3910b039f63bd4caf52747a90034dc88748de72fda6e1f217c83ad45fae078d7ee6af0d0324f1818b23c3480f2d1fb387346ce1e7c300065b61947980dc0ddee9f157bc45030731ca15dc8397af3f7837c62f276ffa7ffd0045a9249fceccd6d10b5d59270e03a341c37a47e261e8944c51986f903a7faf66f4b3443db1f97d63c43be55ec2e50307924899ba0d856a3949c7895c39ef9190868e965f25e40001f2a135138ed3b20346fa7b41e168993bfc789520cfb0c25335d6fbb13805a2649696b9ffc403a3c703405eda5e04b36e2308d7911fb73cb6d65bf5b28d6aca215294e53615700b4fac0219ffff031bc3b910db8dfcf625286cefbce1e2cd9a1310ae60deeb3e7ee68b86fa1fbcb5030387ef9181c33bd964db025f6330430ce837c7e951a0336cbd9ccda41473268e032fcd9309d299839dc268cc56ceaca08170099fda702c12a98ee5b528dc557c5f0318bf7c484f3a756f8a933701479c1f66a2d328b19a426d8a87adacda5003873c0377560a241e8862b904a2c657f426d0596425fde3959a5123a03e34038b886b4e03819f2f2608f416db2ae531ffea4f3a4684d075bdd1b601d2d09571081a58cd9b031ecaf2aef58db34250f652c7efafb1d35b9238c9e8a56d1ac3b5a9bcc9df945a03c26cdefe5d8a8fbf3a1aa2a24d6b673f690038d986d39ecbd4bdc926b6d0b15a03feb527401ad8b09705ffd7893fe06f13fa975e6dcf1df8c44fe9ee567ba31145036e9851cc9752a49ee3360c4d890b6e744d007c782f5ac5931033b69d8d9c0be403111142fd81b31f32fe858e4c1322409df46ac0419a6d72d0306236298a169b2303d521adb5ea7a0b1deeb403291de00f000b15a885283b1983ab6af17d7db3fec4037866a04e12074d590126ffff6a2e1cc6ae108d6bbfbe3177869e98834e96bd1503b5f60b86b4708e344fd8703bd5c5c0990b4788d9ec097e2d2dd249263d54ccdc036edb485e99cafbb2b78fc491cd84ce7fb33aae0d1294f2bcad45593f42a65508039630c4d34308f7a37fe74feea58c660dff89137ab8c7a509a706b8baec381c940360454cd4668074fc2175adc7fa2909c3eb628d838785acfa1c10972a68809923031be6645f07992f7fe26ba0312d006667c3f6f3ab7ca771c0656a5aac1442f76d03ee8048be2eb5d973ee7aa405a93e1577e1ba04d35c2a5eff3aa3305f4d40484f03fb01647ca9700901ee2e0c615563c67148cb39b11dd3f8d32ad28deb290a828703dfea47f5980a7d69515013d8d51fca49a76dd038119e132e3b9e5e75ef15d95103d0f2fead42b1456cc19a9e01db02bb2e417865293b8f6b9dc4b56ac45f983a6503dfc4e9c8880c2f9b3cc3b40489c308b90ae83a67b08da8418ed98a2f0341773c03478fdfbd5334bdf39adc40d70b9f1c96d5b717b15b9dd770ae2e4e49a5e30cdc03e62aa6133f39178897fdae53bc8b45ee02d1fcb8f183aa36a63b1b4868fe08fc03c6088dae52fc2fa308f138760016aeb111a4415416ad0cbc963e2f34a65bc0690352f10e8272fb44fef3f85a3ade35675dcb98e7caa539bb9cb871b3b752ebf69403172f0efc7347558d5e57d7bf2031f49574ab77a95ae64d1f9a6db711d1c86756032d429b3029a869a1b815e34f506ee1cba446e1172be22a97b055de6859c27c560354b9c104fb0706b8ddceef4291b5a1a5ce9f613ef55ca4f840c68405ff0f8a5c03e7d4fb27d32d7dc3346feed667ab7b9bea83329e6200b48560d4062dbb4410ad030e9e7705f97eccf753e062a0074366e945d19335bfe2a55cc7314e15aaf13dbc03313ce2dd7848e4d9a22ccf00d9d81ac7e0572899c3fbba1273a9c3f1185d1ccb03ff40be8e8740a223ac79e7e178ebbcf4089d2efe8c09fecfdd499ed0fbfde272031bad80df088bf6758e6300935effa2e56e754efa2455cf984e6a5c5a410abd7f03776b2d9ca6a3b6d649db19da1f1c7df006f74993633af8ac083ad5b789d6da2d035eaa444dce310b09ae2f2c4f42a1291f6f9163f0b38e78b4aaf58683a5ea78f103fa01f165c61876dc71778c65cec3a5fc697dbb379b7531dda825e42487c2d9e2036a6bf4d19911395fa4212a4c7d0fd2d1a60c4f6326313d5a592be6cb2333e1b7037aa709aafe48cdeff12996500105ebb068b5f175e3ec8d16bab79427f33eb83003505310d1cbf7b0bfd4bc582a49a0b47468b2be92e5f91f843fc5c5d7cbc9933d03cb184103266610f372a3f93551992cd6b1a690e682461d6bf049c634a02888da03a9490be490386c453ad1473ac50ab572af2aec023f9ed2cc8af6500f07abdb2000581f0349efd23057346ae94f358c5e5c11ff1b90f7e3091c8a7d6113df468f3670581b0103531e723581e53e70d100000000000000000000000000994b0303bb877650600e2e0fb10fd735a5c78954ab42b279511205bca3b0f43b91d51a0f03c46d82951b0c9fa34878cb97adec3185531c9ae81f4ac6e327aa659bfef421a603e3b6f729ec37668970c622b927dd9d4a9ff3cb7e762c0818bfae9467237f58a803f0dedb055e606511ed214fdd016024e485ca5074a320b3597423e3c783ac5c3c0219f7f70355b159822a997ae9eee259334acb72164724cde9951aa5d67c84ee4f7af57bcf0219ffff0354f4f2868899308f91e69ab842a3ac928b62865a2eb61049ce0f10b9d7cf0a6f036b7abcbad3bf55e83fc26858e049d2b10dbafe43eddf6e2fe48b1323e19bb94c030a6572f5014df8d51e563aa538673e30b798dbe1c18bb761a1443f31f7575e6c032a2567d6bfcfc0b88e4baec9f0a2d5b5cddf63af9465f6d47b23561023d103e40336a599edd6158d38a716e4f57624409ccc72fb0b9ac0bb58148a944047a398320322d1d68c26c990bcaf9a1ed46d5759b18651643bdbf5179444bc4e175e19443e03d83dfc72b97e81adbe3472d6b564234b21d6de963f67030cfff233c56b57fc940219ffff03fc35f0141627500efc0b7ba89f1c40c7e55eb6c4eef90ebfdcfa1cba024463510392a9a442604be8bfb43863821ea6220b107dd4e14ee84b2960df833b1bf55c0c03a23032721a31f52897a826ac8660066f4ac482c6a8562d77913830b82a5153f2030abbe89e9b928919f7909bc8436aacc93403ca6e23ea05b5622ff07dffa8148b03019e53f133ed810a482277b7a0dddd3017af23c9cbd8bed9f2e8a9a8d095629f0325bb1d40361c656658a21827fac36a8ed9ef122059f7bdc6c9e8547126aa34810363c0ea80e8648f3131fe32296abb308226ef39ef1e4626cec4990e1be6fae53c036c1e9af2a84ed7f8de573d40df5b118d1c4f8ba8237269988039bd399e89c365031f46295701189c4c9991424f54bbe02301f0c96fab2b996892e05c110e4fbd1e039d0720fc5e370c09f4c46e5c328e9f39954e376b6d4b029e37509c578380180703451725a15f8dd5d08b19bd9763d0353ea981ae4608c4e8f19a724d4cf26c4657036885f19982b69c956ee87c08a365d90fcb467ccc035def377f1e564918f5276f03d05757aa6be2aca207b795c6c613478ec1753a8436ffa1154246312189a76a28031407b9135167e077fe4bcd89d728d524bab9337c01eee34989482d32c86f7ad603449964b044d710184e309ae80ccd3442fa300c42cfce7ff49e81aac2a28d4ead0348e3dc8f9156544c2f7c9c70f0213f6e6ffbc3e836d683230ef111335db2196c00581f03cf77b576241b90c9e50cacdd2b1f1b8608fdedb23f4b9c23cdb6aac0cc20581971ac38e430a6660000000000000000000000000000003c876403cf4423a9f11b058f1f934afc43596e9feff2bbf501532d455f809dbf2373a19200581f03bd780b701cc417ef323173b307a0fca7671df48def5868cc13e8e10341e041040331fe85a9dd87d137ed267e66e6ab324ddc26a68b154e2541b89cbe40fdd0877103c20b0de84303898269bb1e4d3fc84c2cbbc56db116071b8da155b4b2b0de412c03e26e5eca8e68c623bd9f58270a1aef160fa090698e0725c2cc6296220a21c69600581f032b9e0677d2877e17287fe1f86bcec4a4f8f0e2f74ae0ef5121cff27466f043897c2300581e024a5bfb928edd68071b9e73bdcb49ba01c43b4e0af3ab34ad1e0160cc2d581a0cb49b44ba602d800000000000000000000000000000007bba7600581e02734a1e5dbc5838a7317d618f3ea47b49998445991fc8fea1b11b5dbadd423bac00581e02d5bed3b4cf31967f7143abbc586ff503f840c65af86ca8f8ae9adcc358581a5374799062384a440000000000000000000000000000007eb03200581e024deb3a0fa2a0cf24671d91911a1b96158e60f0ccf110bc0ccc515b8ca6581aca5779ed2f33fdfb3800000000000000000000000000003b9feb0219488803a8c7d246db3e48672838fddd616acc9530823a1bb6fd79879af1522cfd401b9100581f033fc2f62d82d707d9b6cccf24f30c2190f3c2cd7e7360626c792ee747b0e0581ad256af1e4c3e16400000000000000000000000000000003fde99033abaa7dd68c6881dbee69712843a911c6f66a8092474669fe91ec58fc15f3ba60303b47403ce762307df6a8fe948530345cc75dca5a63a9dcc1bc8484e1ce2ca5b00581f03c4e961d2ea9cddd45a49684eeed3d3d493cf48ef5bb89d2aafe010109ab0437c746c033ba58bce854f536ac060a73d99deb8576fc54256c40b7d7ff5abac4eec1d02db0219fff703df40727a8703ce94a246449f4d6d15a99ec12c42477ede52e16f480e6c923ce80219ffff0308e77e8385909230a1de1750f6fb7512c8b7a619f399567d403fede9f09613b4033be4e1c0c15a30467286ce0c0c48546cb29337edf35d8debde7209c97951a5090367612bf719f93f0bf3f4413e1a9a6a94e2f691a1e5dcd032d0f96a88683be0fa039a9957a1fafd845ad2f7b6214ed8d1e3328c6e20aa733e63a11f86f71aabe074031023f21571eeace7cff50db4a2beb75dfabbab84a5e4ce28069c5070b97f50010371228c7ca01095aebe4e1ca7bc9c7261e099ae8a44685b78c53187d023017af9039302ffce60eb48e47621c53ca4d76f83675cd43c348b16baea16c794b100eabf031d355de3d54fc337521304ce9bb82dc1455e7a347341ded7f8de8eb9b7a57c7a03d85e2ac42c76fa66cc045dab0e27841dc8fb73e20ab27b526be5c2397179fefa03790de02fd464c9ab63b0093af07433bb93a0e47abe03d265366597c60c09f0c003e6fb1e7c54b15fd1631642fd6308b73b574a6bbd4e6521200ea82b37cf85b8e803d8befd0bdce682c9ecbdbb84ae995466af3ca11224d91d5ee469b0f68d115e97038a765fcc0242f8aeadc526f2b9a012767a01e1666cff3c3704e4bdb5e5b869c503060021bce718ebbc1ff5b238fcf45df734df4fcf5e46e5345605022b1d7cc3d90219ffff038e008cecbf32edbe53e2dad2c3d6e3605dada0c7b080a84d1f0f2f44d008d2da03ee26ea84de6de53dac6d5d4afeaeb95f9c79fd64d41e14af49179be04f849b8e0219ffff0352c14e4cf7d0938466c3b7afe4735f5f3f0e1d6053c2582a8875d4b79309b5ca03fd6bbde9780e7953f8a35214ea351c8b0fe527d467625d113d2e7bc07e2cf7fa03ac434faa8fa0ad3a1736376aa40b37680a27283912d2c06dc38548f56c078884037f20a84cd06d43edf5ea781da9149a07a73cf33fcca3824427a4bd71b901fc1d03496fd4788965947f748bc36af07fad6a90bf93a118d3f70419b7590f86901ae2033cb93f003aa1c1a9ad0a54d0adfef983a953f07318230ea3ced4134ea1193023036ec3d6774bfe2b81319d90493d50cc070335784e129d29e3851e41e884fc01a903eb965ae9a75de73b008624c28582f24ce88e4db1cac4e258ff49ab227cdb36d603e8264eb694922bf48fec5a698a39e19c35f3804a84fda8ec892535030802f1e5037833295fccb04bc11acbe2560b8aae8cf0276cd3c6852d1e3a06af05a5bf89f10322f73acd22dad03c8a0d5c1e0dc77e50a36caf4cc420c2f8c8bbc56829e7eb0a03bad4d459ab96aeb613ac67ebd70fca3c3e553fafa9c5bef7215dd52b10dd200f03de3fabdce9e0313af0b0d4f0c9eba6c3092ad7bdbbb7b10711e3b785d9a561cc036033008e711612b7a9d8b17fef93b9ba1b48235ebea3b8ece91baa8a7a3880e803b8371b4d9fe947eb79a7e89ab47c5f9b9c2af1fc2778725dd14789f33941626f03dccbcf365f0578d4623d1467a6ceca97f947923d6152540c5d76caa922f108b103b89190480df032613e59e14022a1aad639d086c75fc3dee8720c779d18b1384103475163a64296206f677c58ecea8e629c525f28ce86c59210d1f4e5e57f4e6fbd03c54ddd36592c468b016c4bf5b14c37b54679ec1681c612b755e314ff59ddd8d903c5a93af65466b8fa5fbb324f93527ecce0e45d1f30bd2157f8745fb5d2c1a451030714db85836228f2c0164e769a72bd0bfde664ead2e2897b2fb36bca47874448030259337aac827dd30b7409d8540d379044287d636da5e2becd90be51ea7d260303b4ffc6a857baea7f6e28db90b886966a9c2f12c5ac225f85195e3e9224b36e07035eb45bd518500d6bb84959ca70542a47b6efa0315d4c7c49662b8b0e7505ef6a032efeb38b4b8ff1af941f0185c994870cc6e4dbbb0240828b73e18055726777bd03fa3e4d78e1e2b48eaaf70a175e45ccbdd681f4602007c9a7b072678d8b52f58e00581f03769f2b81b4a033585de5b210c527b76c81e5481ab0f742a3edffe2a315e0581bc50467ab1e350431c63800000000000000000000000000003e78fc0311bad7eac10ab5ba1b201b364780362a5ca3dfa019fbee06af24b325b06176b10341f1ecf39c37b6aac968eeb98c7bd3840bddfe4b2456d68466b109837bb8f44a033126d77460e7c51936aca6b0911932983514fa26e6c4d997a4193e5d760d24b603fd3b037e129850f01fa579adb0464c1cb32c36f057eefe67fc37cb19b0f9dcd70343422fca2890c842c31ec31766f32a3b8940a22bdf52753abb4faa78d7ef5a9100581f0389a361887def1eaaa4ef909c493a1e99306c0ab226dc7901ef1b512e8110581909015e9a37df9a3c0000000000000000000000000000516a3000581f03112d587e9845020dc4b5999685ae9b6d13e70f2e5d20acbc82f2e687fd60410103d3086ed51ee4c337654d9a9ebf18773a7dddaf8ef02a4dfa5cd92ea44bb1569f00581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305452ae2b53c847327f95a5084a7c38c0adb12fd30203b6cf3caa12decd6b964b775f536fa8c87c0c30f08890cc3820a5a0f1ef79c8d70219fff703adedbdea70f211f26880207b58d1bdf3416ed6c0d4ac9853f775db7ac7755f3903a8969a498e1d1321625ca9a614e47c775ff7253ddd5a17a95faed23328e98bfa0219ffff033e13ed7a31c8adba2e950e58c7826f6b97700cce426e9e8e430cd1b868434bd603e1637a682b81f0e2254090b8f96c8f9499a5c782317da23292630847c964ef11030211bec62fed0fc9a265a6c75dba3f15934a3c482640b1d9acf2574852eae7bc03e48dc7f23756cf70bf2f1f90ac0f1d47d82cee899c6b453747c2002097730f9f03e2dc098b0af76b784901adddafbbeab47a1f90538eed2891137ef535dec5805a03ad9ca0cf022fd526bf62b216088e73c2f4e6952a204ba23d006189a5b19b96870385a0f4ad6b8f4b74f6b4e9bd659ac4f40efac6425238a5aa799c84dd31f4848f038adc98d4be67bd676c707ad028103fe3a3e4786daf6ccedec303717f209ac6c7037404c43ff64db80a6c25fd4271efcee0350bb7ebb7ee33f74154e7cfb2d09d1c03e4bd39c435ab5d56a51f218b312d35a28d5ff7618ab0d95e4504a8794c50b6e7037c8ff57bbad592b5f1d566896684fe8ee45cf15df1cc1e034d2257f8c1e650a503c2265ef721ce60fc09d1ceffe2fbeef9e9eb8f3d1328d43f36c2da49b1c9b81e03275e93c4a715d963b80f71c4ff1df80dcba1b1f09e02170a3b1aa4dbadfa733503c286fce8b25c5d65f07bae9fa1c2a1a275559d2ca70e3c41fb5e2314c70402e403ef06eb0be8a1f373d4d3e754cbd5e7912a575adc8ac3798cf22b93982772e6200219ffff03f9d380ab9dd0c64cde2d1ed6aaece777f065a47adc89f56844628dba489a4b7b034a84b265c98e87777d43be0c6c79dbf7bde24cee0ab94d1e3c8842d979779a260395c607f7a46df53440d7762c01e12dc7554edc2a53fb5ee907f5c2eb3e73b7fe038f1da978ecdbcdf9a6ef8e911c0a8c1b097d3c402c4ce84431e9ad251d276ec103b3415e6151164adc1b329a11d4b4a48ef076546313e01446bbf3108524d8ee8d0309c04accceedecb7e4426bc02e7ac8e7ab3a78e933c52da45ec670acd3c667520219ffff031f4a6dbebac16a6485bf855ec911c11555d92783318cf7714e2198afc5cbc015039e2dc0fcdb59b8e142a420471a44e3e3b00ff5927a571a129d76cc8a23b0d02e032ce58096d523fac12ca01278927464d4e7e6ff8753310a69b1295a4c7fa4f19f036785b6b3752b370f7f09b1753e8dcb2d5d18f4541149660218bd4f0b9b1885b203ffba9538361cf17935352bdc5a53b3202ffc88bf5a639bfe5a2b8bc9e33caedf033d32a257f16a3d4c1d488bdf24ebc4c58cb864336ebcf14660751ed916d89b7003a6fe68d7b068e63a98c39afbf19931caf19b31b054893f2add9ab4c3ae29a2c20396b494613574c172b20a5f6dea9fc540ee9405ba89753ba91a630721ebc4133e03d866f8f886b6b3dcdbda289a7fc27268bee2c6f0e3e8d49487e72e027c2c2f55035e9b9eef9c54698b3343dfc34c40082564263431954b02c0a5aadf76dd320374036e5b9de08e7143da8aa52f71a357c7e1c30c55d36f05d1f4489ec6648281ad58037af8ceb8d9313d56a91c0ca772d30abcadeb382edd81e0231aa0dc29654140e203be8e8af50e6531c6e1c7a9c569628439920f1d6e24e01d6117a8253819cf363b032d423515f7c47de5ae20470ad099db41693c069d513114e670b5de1e3fc6006f03806af9abcd4d0ae4b9505a44496c453256c914c08beeb0fce8f8afae722e864a03890019bfb48b51a8e99c77542dfd1eb4182f51ad86f4aecbe3927df744af2898031b20fbb6d0af47ab6fece7dba622e65e3e78307cc252a520d22c13369bdc810703d36343eb5ccc3aace8847f61dc5126fe09cb3f8064510bcaf6747d0e5f8327de0300a445955ce5a7ee614fe53432fd6ca84839f7e14b547a8990b76d83363553aa03a6e548c699162dba1e015d08204044ceafa5b8aa17dc0e689da9d27378646b4503e1d72dd56efda650c645d1340dcac083bbb20f796ba19dbdec808e088fdb4c37032b66228b699f1508aa7dfc0b04ab9c3150e99bbd7d8ffc677f43582eb15ea9430300f49ae132457b4eaa545f5d40e81c04c242e3c0f20d17e862ee89715cec3bd203ab1e5d11d5d821c4b6bafc7d31f4b9667981fedc23c7b4c8c79e811a9cee4e94034bf0d5258a73ed8da92833c4fd648e4363bbe8756398d2a444c391156a441d9303d34dcabb0d5543adba5c3bba22777cc0f1658efb828b1006a6b37ffb07f5de31035f129fc2a50b2d9f40dc4fe1887619ddef777bd5d1f4a19ba19ff3268b40fd6e03059a809ebc9cbfa1098bb285bc5328ec779398ea27ea75daf89310b87d6798e903d4a0c887a5f267df194d32f36f96e7e04c6978634d8ac508963d5f7e2a3943c203615fbb056e8a5c36bdced4b77ac42bf0aa9290c8e38068aed439505b5687f15f03805b7b05633d041e7f17bf08290f5b06868207d0200a9f13c91f8d75a8e9857e00581f03deda69123dccbfcfe55ef6a52f5ab801945501153ae1af22c95c88eae0b0581ae8c49e672807f540000000000000000000000000000000ce096300581f03fd75d4735640747fc0404fa4bc0fb9aa85989c414177a1f72eed307fb6f0581a156efc93e06a9d2da9fd000000000000000000000000005edaf80346c2100fea7d8933d996169656807127f2d47ac9b370e792e1325d2ad0a263f103c8bf434d722993291ba2f9a369910fcad17917d7ca23b28ffb5afffe723b653503fd0c25d3c1eea5df229a44e98d28c5e8e95a094eafd20d3302589078f71fa46d03f22cd63c7db4816c52e67dea4ddf1d5fcfd1daac3fd9f99c2a4b399709069cc0039a38a60468110655ff57c76d5336a6960d2c041b38c7c5b880fd92399197bc870334beed02eead1cb6c1c90cf6bf8519ec9965a7888374343ae1cd79ec5af37f480219ffff03c54460955d41c487527288102028d0ca290553528ae0c887306dc33fac495fa90330f332c1e93593f97ea6b1d4ab5fc3093495329eb74c4aad3894eaf772a9293b03e53fef4a60e2119c44e28ab6339dc0455574e3c3cf755786645559af54fe2c4f037c02b56d9ac05c4c9696f64edfe1622e9451c553797246ec98ab609d382d285703145b19d19068529a96ab29dcdb8c908a4acfd16b365b8c951e4483fdcea31d6203206029f9133d182c1ab23fa8bc1442948c9d4538af91be78aa30f7cf134156e50354724c85b5057b54faa0db4f1f4548d486c1958462f23178f0b01003b206de9003013caef2ff46018c679b1732764379660a6bb9551d1af3cf9f20d599a6dbd803032217f1e0181683c84cee5939a0e2fb785a419493be45d3bc23788bb8ea926f7d0219ffff0364e999a2e72ac2b490f189c77599563437550530e1f0aac346aea6f9557a5aa303ebf2cdffd343618d079ab7bfae5bac57e8a0ae1dd53ec121c2cfd9df6b860207030afbf801ff4adf14f6f04ca3251aeeb07abcd6f465bf24bf24cacdec64ff5a3f0345a5eb09b82874fc5ff32931233270ed6ffd89f55c2588c15962eadcbe5b4555038a7bfeaeac507bc4bb7b099b81f885514c44c2ace3ca5de56ba7bf6f363abee003eb4faacaea505764c7c8d7ae15d716813b8b03fa8e29e6cac7f6236d888b774a039928c4f3ceaa01145dd9d9cc3a9827a5d3f88e2c3feabe88dd221f3ca363fd9f03210bbdebcbab9a4e5a3f7a0cfcc6a97cf52a6b7f78d6a0ed8c6934cd43691f920361efcdd0e2d93023462e55d5d2c5e32cce4e0315faadf294bd3e7a55957320f5034bedf2be5b3c966e45db4062681d63a403e272319e26a4a61d1e03d3c4de5d440219ffff037526b0c45aaa5c95715303f53991426a738c9da00620e6d6d1e9fcffb4d36cd403c7dc52ac37d3581f320d58bdc812a24ca786e01d7549c9c504de88d5122347c10379635cceffaac072c326d3d1bc5359ceb66faef75d3237c6a82e2841ddaa151b0366c02af1d6f011a5f588d091ac28ffc5ba12ccceaeeb6def339be9930b8a08ef03fdb1058487a7f043c24e092ac471c14a090dfb52ef1ab99ba0f8117cf69498e80219ffff030208b178358a28bb100d6d2188293954fef1ae6e09d4a56ef2afb1686a5863ad032416cd38efc702e1e4ee65df696da21f37e1c6c1831bb13ff7fedb3611e5f8f0037a3043ad5798497977ca96671d9854bf31adf5435fe7e6a457002c01f3e432ef03fea61b23a68b80145a5afbec73ca6e50911066cd5a75f4b3d9b61ded725ac07e0307baf8c625e475113206de2338ee97160bbd923044fc36e14c0f66ff05fe7f76037f94b7ef0280f43943efb7f62d1d493393a56c4c52f05e29dab390c7bacf2f09035d6843a20ef7454cef9b442fcb452d2c81d3cb99db29d873291722b9434c7424039901ece8915d16ff7ecfbe5aec1b04376abfd4c63636801eb25526c5751722a903da5d1deef80d6aca1d48de60e257d0ae6c2aa0350809c2129eba381b48d0a6ee0356c501c9de55d2dc0c6d58b939bd7966cefecbbaa851c09f3f7fca3ce8e9280f037b61670a541f6b2fb102ecb98d4d579261ab0c2d6ec0e95eb5bf378f87169c890331df9debff4df6689c403de89357f7cda2ad49ffe50f6a455efb001c5cf825bc039e9bbe9047ec229d061f12cb75ee0359ef5f3be97c889c5c25897fbcb1d6d17d0389cfd40d200a4cf549372c7ee70ccb03ab98c180c8f5fd0cd209c61b0e1f981c03a94d5d684b14568964407fa4ce2b299f0a55160afc8a8078a8424a19caa7302b0373277f09fe65a72444fd8542047241751abf81231ba637600b47c23df41ae47803d39fb1bf22b414d2211a3aec2b27f45e675bf255b31308dfd97bb96d149fd17a03d33cea5c87685ebdde7b6a31123f11ceeef7a151be571c706402558a4669442d03c6b77ad69ed047f9fb7705e752e92595cd94a9a0d06c39ce84b94f3e2928b7ea03239cc51544249da70aeda91e6c223629c13ae7b7cedc61cd1ca4f2b2c0af92a803a3ca3a174ac43822429af727b4c59e729016458a22464d905062d2297540abdf03343366d5b83bf0591aa1676953de3385e9a5c7927632d36ad4696ac1f492edfc03b90da08f62a6abb242472ad82b377793a3bd94c63d11aacaf54b236c71145b3a03ebd5e58219f2224ea9ce92c95d67aa236512246b936344c38ac7e4d20a49915d03d29ad63bfa7fa693952bc7a052228a6b0e349eb048a1f74dc471dfb1823c030903f9f3957fd7e1e28af4f0ae6633acff8f41e37e63360d39096bd325277a6f0fe403bdfdfe789ddfc7689b8e6d90fcfd1023112541b5558f500b1509663e82d07af70315a1c2f9b1ce7c173dcfb5aa3d3209639d3d62688f1ffc26228a4e8ac14995cf03a52f6129dcb4fddeb0645955945b5cf79830fb6d2ea2a675114073a3195cfa8203a639d8ca90685f0379e59309493dba192479f3f3e8c4b8ae081503e8010f3636037044fc56d103d6083fcb7bb1ac427319f472e7cf0359139384b60baaf18e469803fb75fad896316237622d9eb7f4b044b6736e2f7d58fa49cf3a9d0d127b02e0b603d8ad332201cdf11951650e3cf49181f4590c77369ca3128ce8d1a87405ac4093036eb5c59c04fe1a0b825d475b90cce9d10137c14fd05615877f5899a75651374403bb883003e5680f28ceae7ed855e77b1a1c8be560ea1091f8c90d2814dc4392cd03263827ffeb121436dc5c0831bc82e604b610b5a96406e3f0825921e6cff3197e033203968cdada5845f09125359f08afa27f100a3b0e23bfb62269bdbbbe06e10600581f032c6b3f6ccd5e5218c9c39b5d3b785ecb2cacb5f3f123a42f2b22c9080410436310fd0357b866a1a5860a0fd26ae2022750a9e49dd1e0d79f387b6d43a5790b9bd53142014108039cb15973f936fcee7f083f7103ffef368db3bae1fa79ab6bd7ee0052fc576edc03658bdb8cce9255a5ea4688589d8a21d908c738bf35e2612d44ec313d5f231a4f0334f9ab1aea55ec13b5ff6757eff7442b796659702054c0ad29cb2e2dbcf85c8e03d82118e491ea42b635a7cd6f557a6589faf5badf968bb75449285f5cf9f970f103140172f2ffbcb2ca39eae84b7ad6ced7eadec6a1e36b444d4675fa0740790cd0014107034480f91becd18d85b6e68632a671b7ebba2434509d1d473c363383a1f62ab6c203434023317bcc18467849b4c39aa3d84fe8f6f2aaa26dbf5234aac98da5711eb900581f03bdaf0eff83eaa35b92bb46baf0a62832259b28e389b766fa0700e4a8ac60581a3de64ff56e771240c6ec0000000000000000000000000053c2b400581e02bf59704e834e52d359269362611ed1a97263d61c03a5cb146c30821751581a01efcb7ed57d927927190000000000000000000000000129ca5000581e02dc9ac9c903aeb5e1bf3b7e34dfd7a14fa26fb7e5eff3be5697597ff37d581b445fedd0eedbb2b345999c00000000000000000000000000732bad00581e03231fbb25a25d09d5d9c531d8e901244348accff9b5e206c9eebfa4f850581a1059726c4eada5cc8000000000000000000000000000003f6ccc00581e038e3781e452f80aa5e539ba06ac8439d5e6fae9429dc768ca574d2b6540581b084595161401484a00000000000000000000000000000000bd7dea0219404000581e028677455b64b693498a65def87aa816575b23e22e6b90a0d7835753206041060219810a0339f7ce34c9c5098e90ff29ea3b68eb532bb22e88da8ac15758a769cdae5ee49a00581f03a51cfc76849dd91cd7091896b22972275fba0d4299f7d3da67da57eb9390581b3ab54579c4c314d297c3b0000000000000000000000000004dcea0021977ff031967e8c96f32f963636690f4ddbd2509073e5f0560fe3a9374c42079df7d7bfb030c55d5f7e5a01839e51b6f8600801460f55ae916321c5376daa76a8bde87a0030219ffff0310563a7f3e1b8a3ccb4be485a9042b3f37301457882710d2d2b6dbba803fe6a2031755bf4a430d6437f4e94089438a842bae6465755c6748e4491f5040553e6c1203f226d27f98356ecaf3e61a8e4d9b3ad1e98f78046ef8a9e890378fe2e3e711b403784ee114564ff85e862e23af06367e4d78f3734493811abdc6ccf6dc4970c70f0219ffff03c8a4844e72e8ccba37af4ce025eda1bd3683565c1657e1dd044b40548cf5ca2a034011b0cff2428773c74db11535e08dfd707bc0e48528bf6b019adffa672be1e30373ebaa9fed7e44fd4fc59fc014b068ffa1e30cac2a40fc8a7918f460bb3b1fff0219ffff03b5ac35dbb961aa2ee3b4009de039cd4ed0edcb2ecc39e8094832a2364787e349034ff77dde87fc7064f11d574630c936ff72dd4bc0b73fa01f4db55efa9398776803e37c894f26206bf1b9ac3fe7240fd9f5e9cc34f244873596c2e4d36d04c442ff03315dafb17083637560964f62d67855b9ee11a82c0490ef697fcc717c443959b503c221003c76c04273fef4f9a96a0a07834eab2d331d0bfa3dc9d456ab2fc279bb0321178780065dfbf0d5ba085ef03a480eb3c9319d3f597ee4995f59bef7c72c0303c798269928e5ab1aeaa8b6929ebc7aff3ae980a23dad355eb553f4dd3b33d75c03a4e9f1401bbcfa4e599ceb83add8c34c08fc8005cdf703f1833544392eaccb2503a702c98dc8fae53071fc4622d2d1915187e5f65c857c15a1d958df889e2ba10f0372fbfd26d91d878a5ebdce1e636522303c1dbdd220af7cff18544d505850646203f959ea78b5ad85f98da29bfc7dea1bf4d30218514c5b293cf56640aac13bf9f2033dc92882a996fb03eead36dd13415c184b881a2e0d5e0142220004be8d06c36b03d94c468d58cc6e780a502605685368dae190ab586a605a6cfe40fd18cbf72fd303bb03c4f12ba9589f3d8168ccb90b032985b8982e31183fcfe39c15296b38a7070391da711bcf9801133ba0ab0bc8d01c8e2d353c90857fd51175ae88fb4be2a777031e446c9a14caf8c80462db22ee520f10da9a2f71cd9e9fc11d29fe09c391c200030066a81f244fa2cdaf41688f890c6acff6cc1d7876587883206aeb0a31b2d1d003714ef4e8f26e360a86bc58131d32c13d065bf41c3936c131d5b6036613146be6039af4ccafb8b59b3b3d25ce66fcc84a5fdf20594204ffa68aedb7dafb1e5b8a36034025ec2a989a20bdd8f5c9b5bab22e8a8fecf79ef78a70289496d33e138bbb18034f583612c4efe8d160db16db1d78413cec22cf4d51925ae6d08860e917ff9c87032286b7d666f2e6add26cfb76ddc0f6cf13a7025a83c291e41e150dfa58efcc2003fac188a5b2d995023b36e4c8759ff03157ae46287d5a0a507fb0c57756680edb03bae44c7faf8a34dde83077b3e7bc9c97291d277a742debcedb59a621cca691a903f163cbf1b51c4ba0257a05b2338b354561511169fcb69c47388dd462c2fdf6f603493d11d71c2522e931eafc19e975398067bbffc9b0513c435b33343aac18214600581f03fdc2613f90990de19452408bf72a073458edefc5910caf47a22890f933a0581b014ff217c233af047ec800000000000000000000000000003e1fea00581f035d0b81bbf51537fc24b55fc705f8ba24f483e0206f491d39c8231901f7b0565af3107a4000000000000000000000000000003fba3100581f03035ad274aee254cfe3828a97c85b6e89ad6b5b6500fdd47aadc33bc7bf70581a3b82610b31cf2ca27220000000000000000000000000003b97fc037c89c05c373af60cf126bb04158b1461f0c57fcd9a5212ad0d65f94a10071a5c00581e02a61dd8fc45af94c2badcb1a7cf8654f817a27c1b92eb2d04a06ce6b1e7581a1efb0c1f6a461edeffd200000000000000000000000001217e3000581e02984875d19860667fa2777b8658ccd1d8a8b415cc571cae0982ba84791658196c779d065197f36400000000000000000000000000005086e10219900000581f03e910757d1cf7105874a25af1e4ccccfb64fc238a8261a933c30f160bef90581a061f90d9e4fac697a0000000000000000000000000000119e33f03502a49d867afcb1032896d4dcfa2b3aa493c28b59a247aece786e0153544c646036f1a929fcaf638c8140f5bf35f5bb995876be2f06f681125f61e3ac5599e81f4031522bf988e88274eced50b39b88f20b3d57395f48e202496f8ddf081aeedbe2703b0bfa7febbe71a5bc76db278fd6edb624ac1bc91de4c59559be51fb5d633a5d703380ebd87399e0e558d4fff8b68a449bcd6cac0302fe102ee3a3013eeada0684d03d7a950b8af65f4ee209ee8782943e1ae912ed735189a45f127c236e55b7846d600581f03da31b8e893a5179378ee6c723a0d857e04427852a0de7a5c5ef9db99cb60581a263e4aecea93b8aadc000000000000000000000000000049003e03ed64e15abb0ac1d874dcb00cb8812e81b38a0328a6e84a74e8c90e6b543728f00219bfff03cc500c538e48239011fd5bfe8b82e5e4a1235b4a6161b5574b93609c8b514572039e7905aef9fbd0386ed3938e9c93f1fed19a2cf02d409da5a6192c4da0f36208033702fe4eb7ddaf17c54b9a61611020ccc69ffc604308a6d962c8230717f4b57f037b90ae386dcde064f409ac04b716037d88227897c5867182c8555ffccc3ff270037bc3b8053f65aaec7a2565bb966c7cdeeb549ac62a83689d3e6b690fc90c333203ee2551766ecc60c3ea9b683a6141ed751846f52168554bd97f1ab9c9092d0ead038ff239a6f16677904e3265b60e050d039d6f1b09c94100a1c6d0668c54859dcf033323130326098000f5fdf7dc52b3e0a225bcd1ce32755e2e5347677e273b283b035294defed9c0b4a264eb63c8cb18d06e246776387c2c42ec3de3ce28f5e645d003390295565588a3db15cde5245c8d07bb932d7e670e92b9d135859eb889db8e44037c41e5a4b5d51c69e96246216ae5f3f8076d82e45b7153bd42c57823255ce7c90219ffff037610c1478637e9b5067ca136a011a1f08e537904f3563cc715a3337fad943d23037913a0b69ced6217d5812567492d6abc7e249d1f45f7a693952d02b0ae5f4e240363cd82f4a585ee1829de563847a3d257b35ae8e410bf296dd0e5224ecd8444fa0350fb5dd1f0c6c29246b733d98f96539358a3002634db02ddc35327b60e662f750303ee1941eb472a55010f4549be6ff681c22a4476f2426a455fecc744f10f470a03185dabeb26101b84bebb23af45b73c84a813845c807f82d54c93752e0d1291eb03c825f37a9fc03f7785515b8f8a29387a59795b49792ae39d73b0729b24cb5d0f0313df20799e905a3f207eecb326a9b74ce610a8e4cca8513ea25fce64cc2b32ea0219ffff03d91b2d7fb5e8d73435947a628693cf7850a6de23d2fb98d7ddf9d86c1210d0260219ffff03cf2269eb9d636f423bd8078d84cb1ab8981d09352f0ae0bd68c1d45621e4e75403ef8112df213e6d77303da3bef056bf4ff42f7e72b0c81fceb323c989ccb2e2900325df79e2ab5e8c146a2e8fcff137f97cbd96f47ab3d889cc86a1a2baea74de62031cba413abc3b4e1f3f2e2b5505442f5d0e61bb62e1d6dfedcc69489d9540f6f003e822943c443e47dcea81881ddcec8b9ef6dd33e4b71d1eef90d4b522133ca41703e1d2ff7775555c188e3c1ccc810be5c6eb78b255890bb7eaf5810a0b739a7bff033c4bbd38b9e606af2ed16b897837f452e7d65bf9d475c479e60677d3ce493beb0376de0d97e556d9c5cd1a31609c169276ba57c85ec9964f580a7e523d95bc90ec034e9bc467e741018ce8728ee3c243882fca4aca413797c81552fd36309e064cd4034b18c325d6f3b6c8cd2a99960e3cffd97277ba4adb09e967348cd3bbab9b566503b806cd605ee3b41b145c4ab999c6dc4765993f7d62d6d1c9f5234fa18b2b5b1503196def3f348ec8897745de7b3568fe666c4dbef2c75c1c2f56bf97955402b22b03c5f1dd75bcb6078d7f1a15704cdd43b1b9a135d5e0323b4d68a5cdb02f613e0403e8c3636717b585acba854ff863a50c3167551312d3359536aa55794063f52e9803f0dd2de499f1a5e28877cdfc66b4c24daa1a2d5f5ff465eedde2cbc665f7df91035250cc432ed327a39930fefd41a24a72eb31ef19a63c80bdd7a88c9dce84d5e20374a212f85990be8084635a34aeb08b82da41769efa1a36a2071039778a2d8a5a03e84719d1042ae96820f36f90bdea44c258328af1e983547a7e82b7cb289c86650376fa40ac0bf88300b6fd2e2a981acc81af0c3d3c94f17db64d5e7cbce8351f74032d6110cc070764e2ab337e1bffddbfbab0b38940ea9bdc9123a488c507fec628036ff38ea7e2476c35c2f622940aa066b59814452c9e92cd728d28f2d89951f54d03f77f28df01c2fb34bc5837ad09df1fc2eb81a21307b771e6e2b0510a0ce59f3c03bcecb45815677100e1b2a7b960787fe2147851d26d88074e72b6ae9db50c39b700581e0239d3be8d5c38cccdfff0fdfe750fa57bc566b34a3ff04e103bae18e86d581a30cf89d8641041d8000000000000000000000000000000a1840800581e02c8c097474759ac697406cd136722cff5660676dfe526c4e13c7af52d33581a0246ecf1911bd3bfac0000000000000000000000000000ad48e500581e02741faea7c89db66412417a4193cacb2d5975e7f9e2278ed081ae48b6bc581b185616128ee8c1c984ab4c000000000000000000000000012dcae70219220800581f0307701dc6d56731b6076f63066ffb73545f65cb0959aa67e786dd99338770581b059ab2b4713d9299f76f5f000000000000000000000000007bd187031051746010908bb3ea850b79f9648da67b6305d1ed8d946c0f0aa7422502226000581f0375e94cacd0dc7a51578dabef9837db542ab8536da43df5d5e835e60b7cf0581b051907c2e7c6411667f000000000000000000000000000003f776d00581f038f5cb565b33fc507f72a55a3dcf374fb02b6ee3ddd87c0221e3a3b4a49e0581a0a8e6dc0ae862293800000000000000000000000000000addb1b0396f6301fd4ec27d9143d2e18a8da1620f3c72f2b13e2fe6ff101fd5b04c3af7e014100033ce7ed1296cb6e2fd7aa7c835ee02638359ac2cc4e06ed08bde869822b56d9f803d640c0143a1f4e6fd8df994e7f9d5e6699a7236a920d9f16b610e489ce0aa33a0325f4fd8ee2f82ea1034f1cedfcdf426a99355ab035bdbcf91d6abdbf30db54fe03bd634f5f965e9ba1f20c7570fc98bc0a1c4aef2f1b56183c1622e9abf5786f0400581f03461ef9e7cd706815c4617ff9a871792666b72d275f9fbffa9f72c66157d0434d339d0327d2fda1b2a7d6dc69154a3757fbf5c46825d75228677107ae6a2cf90ebf5cff0393b8175e3a558e699936b0bf93cdf2d0ea54a13f178e044d83f2a2fbd33d617f0219ffef0314aa46099b4c7f9c3cddb5c13fe5aed3412c19dbbc9c7dba0cda4dd68685ab1903f7b4749d69ce1e0524fe3d8afce2fdc98b2df883fb7990e4dbbd9ccf5d3d663d03265349a9f4dadd162feb2553fb6d70502c146c7e9aa9b7da9a574d6c7bc56b7a03faec5473d0ab7b1aa2c32dbff5e5dbba4aa33000628b1bb9f735bf381240831c03dce1c4068d9da89043758975c8894b8b8ec81c9d24c93ab49bc3ca78db5c403f0387690c6b5f1e192a4aa6f590b8f7d46d00cb7a0344ffe6eae183006297d6f07c03849002bdc76cd6faeaccf322ff9af6d84992505f63b3c6a06cdca9e3e57e824b03079716b13750464e64172fe3708d4343c659a396f2fbf652de084fb9dbaebe04031b76c35506013228c6cdac6b6c632ef40b9e4a17044b3ef126e00720648be0e90301263d8c9e0477e2395d4112af3c5734c41e005f9c7873ff2d0f34bdd2a3835703fb3a519015e3a79b0617043018a506fbe59f310d81c4c91a011dd790fd089d440347c962467e1373a05b9d91edf245f7fdf555630402e180d6d13d8438779b879603ab7ef7a6c92a3d532f85ec580bd2e97ce60e307913de489e1fe72875d8d86e2e035c01c0c4a474080bedd3ab0b02f05d742b35ad3bbf8f40e193ad8501a194bc5c0219ffff03e560f604f6f6d94d6e926f00b2f953800bba81746164469120f3eba6381ce46c03f7589ddbae3e894c5c43416783cdaf0dab42b3c076cabb1f09a2f375780fc3f10219ffff03cf720f9d4e25a71c26a7b0a589680b11fb579e3c91ffe2adc456db383118f85d03ad2981a4568832149eb5017bd034296561e9a40f8e819e4e13e12c9908d1c15d03f487ca9e614be54967051da6f4f0180bad5275cf1b562532f1c6167caecc76d003fef3fbd1c217c7702ac91bf8a1d6b250879f58561067550506d0269fc4ea77940301f37a750d0bc46ff76287661a9352cc1cf0626d6eacb6b6a53bad22c285bd0603ac5606224929bdaac3554d66bc4a47bd41ef8a547b926808cf76a7f9dfa2599b0318957607d8a8b7e207b067b68c6b2118aa69ec77499cdbf98cbd39e71779cc95031a9a7815d470e3f7eb695cd182244c990df57e9dec81bbfa7aec093112abde770219ffff038c440942bc11512738601d4ef202b92e4e2bc2fe5d8b5b6395154cf9ac2c247703136a0f91d8a5f9efc79d39a5f0d57297712d5c7bed0ebb91b4931204331c99d4038263b2bfdee51ac9c9a23519d1a1ede93dad6f487cfd49286fee44c74c432eed0302f9e0cb6e9058a89b6d7019e6598ffd77cfe069a211b4352dcc8b4ebee34ea2033e766e1cec314d98b18a9cbca9a09b01c994a03e200b9032dae261d136cdfbf0036c24f68e37b8b563c25284452a6309c9875f442d5c0445b8603cebe3c6337c38036d985018ede0eda52c5853f4a4464ffcf1d54e9a3151ca8620d749cff87c6f430327fe314f8e29fec1d8fd3394cddf0002436f8823e3eec05b323a7ee61b4bf29303a51bd04e2f0411de7a8c9b2dc22fb211490058d0d44b8ae7c677abf80166ea7d03107801d0a3d8c8e419346eb70fb2e0c9d383cb2b6419c636abefb46189282fd003b6cc879cf43bd845ecc8d29d472b9261f508ed238a31c2e18c715a0ac34892f103654790aa0f4220356f77bb5ceba27a1870a4314b1872e0a4ecd40262bd5e3eb703425a8875d59266f64cbd6139507fbe3b036f7241a19f4a76ea6320d8aa082d3b030ce58f9b26008310dae616871d886c5411943e5002dd65fbe587ec63aa7152f803a965baf1db5ca1377d934e7f95b1544210ccde05aebe4b302835dff53baaefcd0324edae85215bc42e52d5f3ee1d9f9a9f7ff1bef834f78ce2ba3696e7c5cd820303caacbcf3e298ce2a71b8748f0b272e113d451088d8fde02d62be3fdf27a9736d0371f79fd991467938cf6195865952efb128d0388e055a986c834c675111d4660003b82306892c9f88c03331f4025314d147b6ea6f5d26a282ddbb3549fcc84283f8032f94c9178a6991160577911f97ae175f97b69952d80eef9f30434758dce83a8600581f03906573f2582816081dc37c02bdb3c956a84fc479a6c9cfcb57f90c1c3df0581b0c3e9484cccae1e955f200000000000000000000000000004b167100581e0262c80371389cd54d3adc0dc714e7ca267a84e62c93b5b8b680123e499e581a0689d87442a488540000000000000000000000000000006f056f00581e029fdab9dbaf908272f4fc143c486bc1bf1bc5ae7c92fbac89881d6698be581b0fc1e718060339a81f4deb000000000000000000000000004ec25500581e02e08d5f98a401d5effce07f847ad33544c48734b2c16b5d4017824e9b4243b66bd602194102038cf828a1171206c39bd8c0509f57ff043c12983786579bce373ac49bb937da1600581f030bba375f62dc079e26584bc34f9e3f0447708d111253f20aa3489925c7d0581b1839c729c952ab745df830000000000000000000000000005492a000581f03520d1008115299de88d12f1e1993dd959590358dd083208a601801713720435d7c5e00581f03cb66dac3fcbd0e0a79da62049098d01907bc988e0a0d8387d44d4ed4ffe0438a4d57035fe312357d735fe6d2ea3427ec28a8fd5883f75656410f7a7ace694a547723d303920430e7a8918032350b1078655d1c547ca12c9bba3382942677977ad736e320039c9330d5efbd43c99f786c4093caf8803d3d91914b9a921f69cbe5016b3a432e03280950ca97df94316cbcd258e3b3e15fc54e900243fd01466ca757468cd7a459014301073000581f03f500b925621074b56a6b92481d5eb55824627dc2ee2f453607d81a1091d05819ff675b600528e35800000000000000000000000000006b45bc031aaf0d59d06e4d6cf63467a1af136ec5efb45320577b06d2c5b9641b98f316eb03ba19373cd48444e612ab374634bd384a0299ced5a731ab2f5875b2b51bb2213b038784ce5a7b3519046d983a271a1c394fda3b04daef9e74092c2e7206d93a21a80219fbff039bb576b0476f4867626ad36bc8a6f30579363937fad1337039a597efa05bef5e031ab235150e38352dcea3633807aa1b51083417a7a63c96a15a388cdac815a4c803904877c341f38b24a875ecf93a33b93a01f5ce26f99e4dee6aa053fc8968fd1a03850be7691e25549d41327bade19cf076ace28bb8b738718299b8872a7c0f5dfe03a8e36f1d3c7ce126c7e63e9afd99b46ee3103dca4aaeb6a008b45a8d8829a8ec03824784c359edd5a8d6bab3d1c191e67591ce81f8caefc2e2f81a8e9cdcc1eb5803f69b5b8a0e07ad61b944c39ed67d9cd4235d0206a4b503b11d02b2d991c7d1c7039bfe28a063843301fb5fa716251a007bf64f5db2127a87a41daabf6551c68d7503b8729129b7611d82dc8fee4160dcc8d083d7847211ec89aea9f57ad2498ccd60034073565bbdaa41538442d5c5acf1fded3a91ea299babd28f724b92c1a4a14de80360cde3db3957dc090497c7b5b9d19f5a19f3ac9d64c114024c7d0cb2e86782070333c238e0998d3b55d19260d8cbb57bf0c5382b4927b57fc87467a2b310e05bd503d7d5924d8e9e99b0fac08ade138a46d0a31beeaf38e5d86e64ba7ab96cb8fef50219ffff0365a5569864dc9a7b4eeda72f84998f33f888ba9674f8b3ce6b05be53bb8c6f4d033a1255a32f451d0ce9c9288f76f12c7c4d181fb845e369c6595bf30b821240f603cd5f22cfd58072751ee370032c3e7aa698fa4d6204311d2891b6b25239019ad40377bee4a3d0eb6cf372074e772d04e8b7b711f6845dc073f8c16b74d245ba1394035cfdfc022a1ceee71efc9293b6d32d13943d596a725e6da5cbab31d94e70c697033fb33f748d90eeccd5c4c5ffd59061f507fbf040a9d3a84e87852e215fa121b7034cb5fda45b5d07eb36698771f37750ea3c490df7abe877d3399054b34891ae51032c562e5d6b6034b0ac1afde3f00088bdd8a7cb4308e2c927d1fa38de73d7c650036a0c00183d053d17bd0704956c8bf31458e165107aaba7cfb540d0ca23f61b00030e58a00178432ae710d3c1d39b5998eb38ed5ab6254ed4d4c90c35b074f42ad70219ffff0393b549b8acda493faa71de634c969e9cd0860fb94fa2af56e446026f9d52117103c9325f4c949c2703f61011bf0dbe6b5f30a62b9c1130d053f0af021dc335821c03bc10bdd3dbf6f84ec69120ddee1b8a12f33ef79ed2316118da2e29b6c62472a303c2040e9015ed1282111d11876771e9274e5720a87267511c595983bf177c975d03f739dfa7a838720e5d725f60731dede20fc73bbd826e41af02de6189d0dc5c4f03817b6011fc2c757d5b6c9dccf847c2a75f5dd6a549d96f284e4e8db267ca444d036420d44c145730dd792b68c2eac53510cf234a1f47577f81fbb23e022511475603af797ea99c4873929b8c770a382c1fc45ac0514f6702c627e65ed477e80115820301693ca35b8dc8a9e122e0463a969ce5b5f8ba05c227291bcbdb45fb070edbb40219ffff0219ffff05581e034a4d6a50ca315ab1afe8fe53b42606ac45b85f21c319cee616f097f5700701191ba403d5e7e1f700e393a2281684d047ad14aafd38394f198e3291a4b85851c0922a4e05581e03cd8e759fcc8c24aec0d169f12baf97767b37b4796859b1b5ab2a55d6100c0147099b9ab63ace6005581e03d902171f09289a898b1ecaa6896c2501235017e7d2b1b317f534162ad00c181d4702c15a62ed2b4805581e03ac7c77045d3094027cd934f9cf1bb9602d7e557aa2cf6c0ee2aa0f27c00c08470b7dd6ceb762c90219e5770393eb9d5ab6dda0438c4b67291365dfdf5234e1b9853494a125883149e4327aa703ed61d1c588421b822e9ad8e80fbb56f4aa11cd15031ed4b0b5320c38c7f458cc03de68b967090333998ff15c580e27f51d7e4520ad8170ad9ac860126e066ff6aa034302399ca3a9e6803103ab71b356d1275f5ee80874bc5bcdacb1cdadc3cb239603703d126bfccf915e3aae3a50a56dffc544e9756c59a1dbc98433dba568b5d9fa03d15dcefbae4dd5ef2f7abbb658c713eeed8eeea571854f0a02e2454b4589f6430364048b6b8a4ec03b00f5e650a7809a0dc0d30fc08e082289994fe1db63ed23690303c2188b224b6ddbf215801974b51115ed5973cc2cb88e454873a20479bad7e7039746cf2a2923d384e3d347c9d79087c4d98b728c0f6a076957c20a0986f31128035aae5eb079721bd006684dd5a143164a834f6805371f48ff751ae03256462cef03ff2c6be625352cb10bf6313a415be3f4216ccdf9498036d8f045f4889f27ff4803ad86463d490baa9bebc9a413d485f08032175979550e20b99643bdfde75d820a0219ffff0343c6bf435a1b6f4299cfa2a5f6bc547c34adb98930002c1d58c0ae8be769120403d7662d55fbcb12b362e401360153ea12f5a01cb13ebec09baf12be11501f8336038f50ebccea3bb81896080b0ef1685ceabe32a91c0ea85f8079dff3ba74c2aac503f24bd2a7ee18785fd5d08acc218d9e1da398f45029ab022d91a726905a08ac70033fe0a011e514ba382d989987bf51814323b58882fcbaa9052b8e995866e3c55703e712d8dbc3f9f08700b906af611cca2594eec6649bb473604a0c9cee848c413c030d9b8d649ece0b3fdd61c18adacda539dcab34059e3fc6fc1b670eb0b395bd330219ffff039c56779e6908e1c5111595189ecd4cf813829da32b179094e2f749a576ff1b7c03c97952b20c83a910545476783d2bd54e794c6db43c16280e564facb8882d62b003c88ceaddfe6d4ef8a626978cd64ce1217269583fb237feebafa038dad04e0c7e03257cbfa8e74cdaaf55233d223f189b5de1728645af249da43f06c4a140b3180703168a5486a9116f62bee4bbd573d5458cd9f629a0e247b3834797336be7bdb75203e6b66f433bab4c3d3a2f88df15a34a76c91289d5cf59b4928715ceb949eb5ccb033ac9dd74130501c283f730688e57e7d4be412c079fd907793a290bf6a8b1b38f0219ffff03656c9ab37d0c57a78e277e9a17ea31819d34da3aa0235aef3ec9acb8fd4a072d0219ffff03c5e6856e15405e6efae0f5683aba368a139e438223e4bd3c45ef69e265c8d25a036b72a0335809c6a831f4b1c389688390e615d8a53d76b4198256f68c7146e88e03efa5a8e3326eb6ca9de23b60b252282be78ebc4c68cad3855a8990920a952b6d0332ebaf114910aaf1554f4e1f9f0aaeaafd937c1b3772c7566f5dad181ca88cad03c8faba28258b733215a29645b654822e59668d7b690a6afbc47d016140f2413f0386c47661b96934804068d493d576858949f08c9594a436312f1fd4c162b0e3d103026a866745c0726ebdb02bf0b46e60157bdf695ff09d74b95cc891453e4b569b03b7647a87464ab8ae4da15d0badb35894a22259aa8529cee59112c90c546eec07030bf9ff3765394a36aa5478ff0aae44b6ac978cf6d68a4151f9b5c25f7568ccab032dbea917b357b2b5186688f2e13d4f94b05465d77bd16641cb8bf1fb96ee0d61034be4cc759662b32627dbef2554e8b900d1c2cac8b5f8107eabc67415832efaa803ccc5e6696c39a8eb2b20185d95dcdf882afb59467e11e0f8c1e74f6cf71f41fa03fb8b93e509f8429c9ea877d376860ff2274dc3c7aae0c2c11c87ce3cc18e150f03e451ed5a48e24de89ce416cb0de9f2d4a97352163ea30a37a389e0decdb32f0003146157878d7bb38fac8d8ea2ed28e277a6caeef5454aceada63b87e48f6e734103bcb497b6eba23425219f62c52d80c431445f0a0b9f2f930a1a15cb7cf5ec1991032572326e4147f125147cc8f47b5201e5fa09c8ed0a2ec57dbe82e10d5c43d76e031d62e22793379830b7c6c1ec6d2a82361ca3b543f76f2fcd5c95d4c5108ee93b032af97cb795c5dc2faf7fe9596f978d7f1e1c000c7c575fa55db47513a2e532210322dda1804deb7ca7a87b2139a0439687e0ce3cd53162c90b73d0351bc2d25a35031c0f2eb682ac2902780b1c0ad319d3ccf6ff675486d39728a8aa79536247b60a03655fff84a0c125067a8c9c8bb5d876dc7489c2f9660e7d030257780865a3367003a99e43e22dd15dd4c2e5057542bb3b4aa9a5c0ed3b75a3b74559e9e9c1e319b703cdd8cc822b8f71ba2e58924c6af282ad039fd79c4ab99d0ad3b235087355f24903dae81aa5068cbfdcd231d234dca66b48c627fc5ebc4a2e7cca59e954e874687403295e51a0412dda5d9cd1ef0de528717a94945279eb9fd41b188ef83a0027564003f2c33a51db84357e5bae6fbf124d5eae218451b7318c8510512ddf5e1371eec2038f5abe1fbdcdfbf98bbe3541f19f8f594157288856bd123fd74b4ca4eafe4e61045907e2608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce567146100fe57806370a082311461010d57806395d89b4114610136578063a9059cbb1461013e578063dd62ed3e1461015157600080fd5b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100d957806323b872dd146100eb575b600080fd5b6100a061018a565b6040516100ad91906106d7565b60405180910390f35b6100c96100c43660046106ad565b61021c565b60405190151581526020016100ad565b6002545b6040519081526020016100ad565b6100c96100f9366004610671565b610232565b604051601281526020016100ad565b6100dd61011b36600461061c565b6001600160a01b031660009081526020819052604090205490565b6100a06102e8565b6100c961014c3660046106ad565b6102f7565b6100dd61015f36600461063e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101999061075b565b80601f01602080910402602001604051908101604052809291908181526020018280546101c59061075b565b80156102125780601f106101e757610100808354040283529160200191610212565b820191906000526020600020905b8154815290600101906020018083116101f557829003601f168201915b5050505050905090565b6000610229338484610304565b50600192915050565b600061023f848484610428565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156102c95760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6102dd85336102d88685610744565b610304565b506001949350505050565b6060600480546101999061075b565b6000610229338484610428565b6001600160a01b0383166103665760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102c0565b6001600160a01b0382166103c75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102c0565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661048c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102c0565b6001600160a01b0382166104ee5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102c0565b6001600160a01b038316600090815260208190526040902054818110156105665760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102c0565b6105708282610744565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906105a690849061072c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516105f291815260200190565b60405180910390a350505050565b80356001600160a01b038116811461061757600080fd5b919050565b60006020828403121561062e57600080fd5b61063782610600565b9392505050565b6000806040838503121561065157600080fd5b61065a83610600565b915061066860208401610600565b90509250929050565b60008060006060848603121561068657600080fd5b61068f84610600565b925061069d60208501610600565b9150604084013590509250925092565b600080604083850312156106c057600080fd5b6106c983610600565b946020939093013593505050565b600060208083528351808285015260005b81811015610704578581018301518582016040015282016106e8565b81811115610716576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561073f5761073f610796565b500190565b60008282101561075657610756610796565b500390565b600181811c9082168061076f57607f821691505b6020821081141561079057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212206223bec80d9a0576545ca8ba455dfdb114a1e2ea5250ab4a5c6c5ed0c8ebaf8664736f6c63430008070033036843711cd7e193686107a1087a8afc0f518ee3895f8dd954a538d4126e41e718030e159b0caa890de1373b610ed14bf86a54d3454b21ec518c7c48bae0638da12403a9aa9332c123e381630090bc2bd2cd4d5bae3f01612d38dc663a52d769557bf303e194d6bbf0013781700668dec22e3ec3206bfe2258ce496391d7970c8133631503a8eea2445eff24bed44f6ff48939765a1f36cb9801951e3537175a3dde87dd800367b67b5a01806c07e4361120ff60f013463af57b86def35be9ea32a79735ec9a03a78d9f047d69f765d057f7c97e7e94ae3cb9ae03914212f642f735297dca8e3903cd9f0a9673296c4f8aa3bfb681801eb5ce92e6ce58188f83baa093dad9591e590382f7308d93268dcb2d9f1aef1935a85a2cc280b54c626296c1c06c6f432deed70341067d77af44a90806bb782ae15476f1731b04378797035a4cc868b905e849c503fa39f2fac616fc69037863bff64fe3c6cd99451ef773aabaf34797538f094e39037f08cb4db666297a64896cdc3e995f8eebb39675534f9e8f983785db23b33ef6031bbbafb8585e356c27fc1feb83d8d51c301bbd8362395968b947c25b3aa6c28003dac4e903143d07b1a7109246fbc6676583d0224d973a99b16eae62d7b8208222037d6cf9f7e7d48aa795f6c66f76945e040ccaebde9c3025f589b3e9483e6e4ab5031fd7c5894f619e0d2e704f02ca83d06e31fe1f75bea43e9e919c2a38eecc3b4503ebff3fb88f147e2df4c7b848ccfb24b9e610dd7ffea8afc0f665b642b2744b1a039417d3b48108309b7e15f2f4177b498a3467b8329863b960188a69ff18bdd5f30394b451b17a4d7778b2c6e0bca1862ca3463b393b5ed140b33c0b6605c75167ad033f81c02c01a68faeeb44a7b1dbc06b6ea8ad4e53591231852295a9db33ace7470338d973b98653cbe8d7c9bda847735e42018f4dd4fdb8d8190fd4bb12a22f393103843fe467ee5f36b84ceb7054773a72bb44dbeb8c7f1571be349463ea079e093703efe1b849e738b4dbbc521fb7e59232db42fa9f1465f219a55abef39e6b53f1540332becc487649c0c7153fe1ca26ebd8b73c29993e360aeb722d800ea70e202c1503e51adbc701de7198aba8652eb06651bb057a061a5dbc0483219a853b8d1a5a4a00581f02d0b1922bc88e51c4987141f3ddc0711af50977c42756858a2a144e243ca149013408bbfa6ee1b8a400581f02b31c5b65e5419087e9cebc1567eda97494774e1f68c59ea16ef23ac1166b480b819f04f1e6c40000581f02a6c377650efcda33ef45498b1c33793bed075fc427e26537ff62ec894ee4480de0b6b3a764000000581f03fdb05893f9ac36d34c03ce9a619dc38a3f27afc5b69ba1d61f856f30f950480f43fc2c04ee000000581f031ce010b6fb987cd93db3dac5d6cb69b76e464711d375fec3ad3fdbdcc650480c35301e8d62940000581f03ad8b74539e05debb37ea9d28f6e4b914ee194c4d3058acad94415e71c6e0480de0b6b3a76400000219080600581f027583394c0bc29cd9b09519137b44b7c6dc7bc445c0d629f03502065ad4044802178b0ce2bb600000581f022462915dbcfbfd755dffd3859d1a18a37288e78bfe94466d48142e496fca48101ed8caee3af00000581f02cbf71c9a8e847bdae813ebf4932f5d2c4a35912fa110846d1cd9dddf6f1b480be3ec0e3b5a580003988d9c6a7c10edb678d9b0ea36e049666163dc5e6ca27a2eac3f7305c786c05903ca034472d0a7a2ab1db2c04089fe8a51df4db92804a3066a3169abfe876920e400581f02a0604e30d31de4809d83f8ec7e8a401e1dd60da2bf7bc1d07e2cfacc058b480f75e401faecf80000581f02fd6b5dfafe34d00ea9a46a4d3217f0718a2a8e7d2d83672062795caef9d44853b84754b4dd34000379bd12cb59f6b39090ac3dd407bb1a5147bc7a9d8b79027868774fb48e8dfca50219fdde03c8dccaa4e11b2120d77598181651c25aab90cc1c65217f9c733d768eac580e9e032250b30d1bc9fe109766d123c5e1fcefc1d085c85549f6657faf519173ebe0c403060d2463091a5c03fceb9763e6f0a307eedc2f628dfe1bd87c4759f7aeb272b00219ffff038e8cd77cf1d88c02127e6562a11de63aa242bd0b94e30a602630c09e829b6736030cc19e5d0ae24ae094bf49ba40e1006993d6b8c7591109470adae173454baf7703248c2ac6588ce3557dad1f70bc23a7917efbbfeae5841f29e788cc0f866c4fc803de1ee9c421629694fbaf3500567475703ed4208990da20437583eaee2b5c08390219ffff032ab87bba4a6598367e3f0eb9ade6404b8033ddf8b5885b5d596b051059f1155103d3a69b16f42b8e44fe74b872ccf3aac99b89f90aad58647b465ea2a88546a696035e8592cc1df5724b02614ed51b544b7247fb7fd0ff20be4c78a146d7fb96359c036fcaa499ab8885ee4dc4595bdb762940371003bacfaf8d6c91c2cb34248953d903a459f899dce1c069ca99974ab52ce651c2642ffe659e43feeba9540fed1d35f5037e0649727cdc346dc2e7afd2faf3fb6d8f93968b965ec0ba267c774a4c35cde40397abc5aa2032755f29fb7fc0d144802dbfd65b35e484cd339a9a681434c80d4703ce41d05099a28a172295b0b7cbe5e336f8d4f04836676f34080207a0fe71ca3803ae64ca8affe4b4feb95a7e2f1723d8ccc2276b14ec056f9f951137f89225d09103170c864d13f7ae708504ffb4e3d88ec89db65b8fdb2046b63e95ea83c827624903fb268df4fc528cc6973c1eef0c645f06a30f37372a632c69d65c4f23333c90970311aa4ad38bb4a2d1dea246d1d5c2cd68897b3d76775b588add4132471c24f0270324bc50fc23bbd04aef8c8c84fdbd54b83eb1c9c1426f832afc3cbfe6e83bafc803f2356bad69f908dceb85cbd5778028d64d4dfa54d3bf493ff7bc18b97bcb7a4703aea6c278ce8969b6ee4505c6a310a268dd1dd661806ff036dafdde90ad0439e30335acfbe6762dc7e6def41c1c2c517fb2b264a4f92b1fc516344d1365cd91ccb5035c0141f5aedc53bc13779e6f2792a3b8774414c11c093e497fbcb46e81b6f1b4033aa6416bcf1e3c0ce8b3c2f9725f127b0ba12648d2f340ffc9617aed70a393a103bfe2733472571c03a4d93b6c5951ca2d081f4133e317930efe6c415ef104642700581f0281f69d5187c2dc40dd3825785624f4e15cdf39f6161951225af0b698f05e481bc16d674ec8000000581f0287a3cac474bd3c6633464272ff472fd8867b4da1541e7e842d784cfb976548156acb5c63d2b80003bd62dbbb1178d55df87e1bfd4cbd9099a609e90548795db246e8f2ab5591536b00581f025925cd058127acfa018c742b3fbd86e42c1cce9b4d61179b3263bbd0dac249020d83acb86f26400000581f0268471088778a127e4efb66092eb0a6cc88dc70c608434079f76044ece5ed480de0b6b3a76400000343bae255d45c07a37fe12f4afc47083e874287faec3182170c35589b6e2f059603e0189c29a2b4f8e31567f26403d7d6024213bf8ba200c064bda5ab2c58e69578031d984d6afb22a36c4bc8a2c13a36db28fb48194a5f21871e649fa65f41b39cd103fd146a808057e8628e65a0c4a8da616a0c457730b61af95dd223f48c6b7281a603b965e611871c79f185b4fdcacd1ad6c987998c4e37f55263a25f8f731348ec840321e12ec9d4ca9b602578b877e0b8ffdc22fb7c1add52f886265f121a54ca6a6900581f024f71954ba8746aaeebe8077cd5b7d0f604130d0bf581e470da420467b5f44816595676cc93540000581f030325fa7e73ed80d62affd5e16401270cbfa516c83942a721626097c288c0480b6d9bfd82abd80000581f03bd7b7c636ac888be2c82ba1bd35bfcbd089293aeea601b756a7f2865e6004a02a8a1a1d657589a4aa500581f03aaedc8b401220bd7d86f49231ec5911732023967779e18938ab52ab394204814d1120d7b160000021980280219fafb035f7ac98f82952b4a833f7cca8741cbfb419f43c5bbf8c9990c07c63a0e22f7f303db5eaa2751a20e95f0a2760c4e1501886b823d4cbbf748834dfee8d008ccad0303d158c8da0e88ec777ef7bc637ccf60b63f08d8f49ae2e61f1924f2e2773c175f0219ffff03470707ec00301825c56bcb2682647ff95032332c15252cc59f93555415dcd9fc03b691b5ef0dbfd0950a51bf20db14e44d6dcd0180846f716088ae4debb21ac0b2036fed653b85c38cb8e35044153c82cd12457432e8a72b725f0bd83fd0ae85cb07036caa01e9faed438f99f633419ff6ad97c020af3197fa150ddb426bd176bd8c75034479b288e35486499355a64872ce9b334feab909d04d2675f13e5893f2b5bbad03b09f18917607cae1e8de9f2c9866420f5b4dc1b7bff968f92dadabe55475e8d503252d1f55057813c7224f0359abdc84a2776572a4ce7310df5235ff07ffe6d7ef03d482adb8d18e721088616b2982bdca4dee9bd2a8890ad540f59f42d7e49353510219ffff03a34c88a34fa2251eae045d0caf4f1c74ac31711b3edb167d736474a0e552c1770368aebe259ab55206050bd4306b232f8be2e8ece9dfb308ad38d77bec840eee6f03d83baf47d1464ab7f92a6c6c0639512e85e8e2b1931fd9c7b456e22de55fbd6d03e0d5ccdc39be221f389129bbd0f2fe34bf2374476ac91a6a43cea40d47570b2503132b9cef97eb7cb4681e849fc9976b1be2b8bc30e8329dbd6014983a088e4a0803ca8c2320e2268bd8aeda131eb6e7af62ec34a80890ed70dc7226f7c182f70a27031e4dbcfae09ba85ba149c1d5b28221efc1f19dca37b8727579130a8d7d489226038d2b449a9d72cba24b3d054d8393e3047e91ed43a83bbeebfe6efa5d72af374f0390a049df9d6245d6e220949dc1254ecd6a18a81ed98ce90fb6ed2e5073c520b20372ab0879046d1535df8b8368e25a51ba1b8d1d8d71dbc19aba19a2a687b5eec6034c563bd0b7601577c35f199ca463038f3f7579e91483dc11ce308e2a45f9844903796878f083cb06a60784c615221a9fa5db2bfec2bdbce8d7135ade950aeac9b903d1f27b6477ba1f84a961458be8c12d135011f5a3fb2b07432b10e71555321a8900581f0234a6cfcbda3b3002112dfd149bc4359d282561a18105657fc563627092ab481bc16d674ec8000000581f0221e4122ecee65424fd7bf5bf251c755427f883c035358026e8da3dc4684b481bbc2226673fb38000581f02cfa773506f38222ef9be0378c1e8927f83d7a86199c9cb762655c048e3294816e468786f78dc0003b19746f96484d61d3b316a61aaa55652fab764e3691ca656e35ce70b76d4fffd03ab4dc59194e8863e7ffc445217694213d4f7e3f4dfc584f1449b1475a97973cc00581f02f4b7b137796b8211851cf16c0d9eb15a7dad2284c1956262f770ee71877f4818d2c3bb033ae40000581f0263af260cd2d4ee44147bafb250e507918c0702cd3daf98f7a18b8553949648428390bd076ad40000581f022986610451111c8bfd3e2254462402681bb8a710eb72441f731d4ced2209480de0b6b3a764000000581f0380e05d761ebe36f94ed94816ef3eb247cd70e677c58fcf49b77c4f561070496c6b935b8bbd40000000581f036fbc1c20dc414841ec6bf0fcd769e65bff37a1a256d00a8d5b107f84c2d0481bb0dd9cb23b580002192020038f89b1ee8fa5755b6dd33b81074ed2d0fca8c7045e3b789279f9f8345e58912600581f021dd5ec95ec92baaadead1ce4b57b6fbcfc3e0c5ba1d57d60ff595816b66f480de0b6b3a76400000219f5ad03dd95e7099cc04265420e814cfefaef1835ebca5c3f542f2f02b6bc727bcc760603b808bf82c81243d8d61c67a3c406b0b100452f0d021113cf0dd11f8b9f4ef4230308e251c4d5d5ea3e6a5d8ac3a1c90c0ab76a4ea40b3cd9248e4ba16c31e56b2e03a69d9631a1a154551b1a23fa694e821c5146cf03ac57634706f667c0d5a203ce038ee8f282090dad929810bcdb11002f2aac046767f84b7e252f58c4d9d513150f03f3e304e45b264c01777cde82a1703d1f60add2234a7ebe8aa1c6711a1a4406a103358b20c3aeac48ee5c5aedae92c7e1255ebb71a5ca09bf7eb6388f45e6490a520326e110430630f6d8f0a6a227f607518a41e65f40b98ab05a8f2321ecd75173250219ffff038eeab70a96d33b63dc4effc8b777612a95cb6793708c2f280b53c455b018164f031efcce948d37d7595bbf4937e60435ef33ba41cc40056953b77f1711198560c20372a10e252d700e8061d835a0b140a7ac930571ed5600dc01a89b24bf49e5ea4a03d4357bb3858420edc34947326c2f57f074237d658af1f2632ebe55d035d1bf90037239883f24fa858d1946698f3cd9bf1f38370b2e7c9e77975ccad7d24899d8db031247d0d9d8d3e7f964b8a32eeacb4cce47ab58c20bafd1f89ea88bb2c961f509031ed61eef4f9f42f071f967ca9c30d89323d257a5bd2222028646383529603f65034bc9a1e1157f10f41d5469f7f4fb277362454a992b8a256bf3de2dd7bcfa482b0343c648b3e13ffc8eaf3ac7ddc5960008c439c0e5f51b64f26cfd51b543a19c29031121e021c6d629314b37a74c10e9a99ad0b46b19a51e017a0d603d188092bd6903285b1f33efb2c8d9b31f3ba6d7e0a70aed12501b850875504b33a11e9bd2d2d90219ffff032481141d0ecd10dd18a7865a5dba8a730510d13b72bae3aff7032ead59251fd403ea0c7b154501d0cfcf87ac5ad33050ec24bc9ff2eede54b500e028048bf2b495032a96711122d7872d9920b538e6561f83c025df545d4e60b67f70ce4fbfd31c9803a937c0a4e6f8b7c6b9990f224d1f189ba8e2c2ef6c5ba6ac484ab617476b4689037f9226a75424db0bacea2ec72ee4b36c7a998b41f08b360e4e355dea9833693303c66734babcb2024d2094228766899351741f673870d9d5c16896bedb234bce3b03078db9ac961632017aa4fc461f171c5c91a1d643f724003611ff734e97d6971903dbc2863d51940ed16090194c0f2b3ea3af230ddd8f255e69d66334b49111a8ea03db39c8e767bfe4ccc9762ddcb85bee2dc8410a5af66deefc31609a4a529b0d4d03b3f45729920694594738e0cbb52263418bb84029fe4b81a5cdc21ba6a7e4e1ed036f69b263158111c913daa61032eeebd63add1fc7a181e8b24339860548ea306503b078ca6ad443b83a0672a8b294936f77d2475fa9f09f272b29e71462813af0d1036598ebefd929272b0a37007047cf4c7073930986b40991a6536ee35fa5f6a4b4039a16de7f36ee4e389abfa320c8eb0638a86a039529be3d4a9542a7bfbfa512c603d46d45d58eb523218dc2caccd0a725190b2e4d0d5d5c262f2045ded4d82770af035033e17d8ef4d86281d46fe4aba3aa60c66da6430682af4f09a3edb07a53f68603db87dbd336cda4c40cd540ddaed5e5e1dd54a4d523e9882fef4539d5b638d5fd03fc8d35cd7b6cc709b3c4198cad9535e9aaa8e4dc41e7a741b0b8aff5aa22c5d1036d4d390eb58fe5d3f549386b826b7720a02cc73d96cd0826c9a34e46506037ae033aae004a91f8f6ced63ce2ccc175374f7bd589e46da0420b8e64bd8181a6fe4803ae3d7b9cf78b38b45d35ba5afc12d4fc31180f0d9a54e14838bcbe9df25ba99d030b6fdc9a7cf1db9109903dca431fac0dc8dce6cfd6e6969d0478b7af36db9f210395a9cdbbf04cef6a7d0e1ec73bc22e47f3e0f9eb5d0dfc1dba86d3c4242ad25f03158f8c308359237cc32a0f59c4e497fe4461bdb0b68cfaa463473c1dd35a55e003ecc32af7fba0729b7d0167e72076ff46d4eb22f7c703fb43169106981c0364c403703e87b52bcfcdcac84e812cfe4e03b8dc1d35c6d2d34278258738c5b3049a2803abf301b82647ac03799d0ba86b6bd9f69fa36fe7cdae4ee98f8ebb2efa28941103c583d64edba79846d47dd7b696dd11a82aa4e5abb69ab727206b1e1cdd1ec5ac03f2d042b5463ad374e8d6f617b2ffa4fe4ab0de7d6ba1a1f5d9016e8c3cbd49a903062ac04bae791d1d4190ebf723adc104337c51912e97989b0af645b407245aee03b118f2cfa77bee3de0b7722dd7ee08e54f14b0180279da2b4393c2ed8a63290800581f028346c5be9e9d201b8da8884a280450360cebc92c63f5769eae658b02e46e487e2e56ad4b48c00000581f0294ec55c397730850802addb01942f27266bfac21d9588a52ed3431ff808c48083860657cbdd80000581f023a4d977cc888453fd95a8734a648e4a5cd27cde20713e8d5ebbd85bd20ca4838d75b40cd78400000581f0292e8d99ede39452e5a878a6584c16810bf7bfe14750cdd97dcd0ce52cbf04b0224614f49684d8dc4000000581f02ee0b681d1b5cb26a31b39ec6df517c92c7f212ed8f9b970a17acb901dfeb480de0b6b3a7640000030f09ffc969ef41c4167cfdfb94461dc2be15db0104d577a8ac04cc7552d3e6b80309e5e1780d9177065786891cc504e442af23f3bd8409f5e19285bb47ebd5f32500581f029954b9425781cfa253abaaa6f8489cb122b20cf9c149e00b9fadc1869cb0499dcd70b59daad18a1b00581f024eda98e4df18862b736daeba5dfe9c05591e550cfdf78ba2c7218d91bb424806124b3589908f0400581f02bce34bb701c7b8d72c6aab2a6377524b0de7570add8ae2b9645dd443b64b4818726bd5bd18a400035f296d28dd9acc2ccbe82467c19721d6c44b4b5d4e4e810f6c62f5a94f61cf5e0219fa5b0315812889189597fecce9b5534d1ba6209d56a410fe5c27cd2593e81a0bc5b1020387f2f0bc5f7d7e5f41aecc3638de8f4fc7921d4bf8ef4f2406a777d7a72a35490219ffff030c2dc3dfba774124c37d4a351881e503a300b3c75b070fcc1dd92b632cf5c32b0373af5a8238bfe747f7cb86eb8176f5a14813a738d107243d21adc105b645a45e031e2c4cccdadc13835ca7fd0dff2e6a90dc6c4afe8234fb30df2f5a9894fa6f2403c8d1c4c78cc16dbc0d0634a9e1dcf61ea4a384ea0a2f348c91a08794b36e8c8c0365c0455822a0167f028b1ce697e6de5431261816566946b0e6caeafe617e8df4037682aecaef2314b933275c01f64aaa63cfee557b326c6bdf4223daf31951696c0219ffff0219ffff05581e03b81871fc6fbd9ddae9d0f4270e30d5842949d8572aaae90830743912d007011907e203f051374dd3fcfef9a24dce83808b8ce8ca940d5ac308b80d5e6fa4a3600b06e9038b5f4a9d16131192e6157dc9f90b3a99390b33a2c648d7d32d4ffe3bbd149c3a05581e039d3ef2ec69b1d17055181fa49359cacc76cdc340a1d44add5ff2eeb8d00c024719e01f6d4ae80005581e03973fb0b40660eb96382d5d60a465acfb063d6c03f45f9eb24b59396750040305581e0303915d6e27b5b0bd5664471c4e0198353d2f7e9fdd58b6f4fb588022500c1147024375ecfec27605581e03ab1991334e493517c38f297e74f2e428f9a2af055a9509e2c4723194500c1147078bc44980c000039d5f05bdeef9f0d44947809af10c95cf5ef176bcbdf7336908cbe2583f8b95420219719303a775744149fd2acadd1dc3dcebefb352643760e49469fc8bd5c6d2721f7116a903810c1bf87eb15b269ba9eae9b1b83db11b5d9ea85d892fdc27ae0a39b16c334103264feac2b3845497f36ab3684dc13c2524ceee17ba0e9e9a2b6ced9f3140751b0343123810a40e443e61b5da1ca5a332382017af445f304fd26a68d0fe095dd41903ebd38d8b9a76332beab1c8123ecebe6545baddd2ecc1c1d78b8aca8a6395c5d703a9dc431d7e2c698edf302e71e78f4f39acc8dfd4fa627328fc49191f2e9edc1003208cf6acc8a1950dd5868af601c5735366bc96c33e560228268c88d14f21b73403ea71e43006254688cf33e64f6e4a51344b3a9afecde30ddeaf6a347f6b782fb103bf9740ee7a17785739201513be4a7acab90d2761452c7324bde6084ba52518c503d46f3b3d92e3c50be93a14a7f426c57d5e627d232c4720be14f390b9821a81310219ffff03a634b5fb47076267747cc523630350505784a8b67bcf796230f847f15996046903c68eaa8c654e98c91d9b54de215a7b93820fab69de00206b39f608394d1b7e6603ec689de98c7b938c4e9d8d1dff12b7a272bca05b871fd67b6ba171d1eab191700219ffff03eb79e5a6762baab543f0d957a5f57c1f850a337a03e2c417f251c8130dec4de903829d547ce24605d703101c55c725404d62b3ba3a6d0dce4996a4e9a7e82bf60a031a105a84614bd8097f21c6745b1a3f223eb30d37a65efb8738c304ea77cbe78c03dbd33bdce5cf0cf8cc33654e39c3bfb180f4efcb6889156653082e1ed13c36a2035a49f601847534dc929c7a9ef02b1b548a0959a9c8444fd6aa40740cce61c56e035603df028134104015da38b03485e680e0d25f6d345b9263f37aeb846b309c24037f7528c1eb26ab4e42b7a4801945f2ff86d2a3d66daf5da8c540eaeba0e453af03f845691140963ef81a79cf92a271d4f0841fcf1d5eacee61ee9e93f38675c01103e817f6132a62443a6e8025b44ed0181d0559112abfd0633352ecbff192f131aa03f8f941fe01ce7362bb928df612f6d5c630f223e066d5f7efca4f20449d582c8503bb3007e88555ca804a962bf4b0d313a4d5be5b03d3dbd7781fb0e855b4b5445e0219ffff033bdfca4b3374397f7b55c6e42a7e15e8a01a37bc7b58e6416fb6f26ca77ccb550361f21b8cb26471854a3e97715a00fe2d8ad356e8b16ef05e5865715e53d68b0e03776bede464a25e0c7791304eaf63068a8d36dbd64b340e69e08819decc7c90560368c8e82fd7ec38acdb120a8e2255d5143c85efcd4c356beebcc8e9fd74724fe2037a89cdd913af6e9216ed6d5573d43f228bc933461f333ac976f880f6cd299d2e03363bc9d4bf3e8082eb5ab00fa5d48278350a030a2ef5355a961620029d296b9f0318a9093eedb77f193692ed93d8a0d3d55a125aced786f993181ec1418bc2d6cb034312b0a85f17a3aee569b5804985d79c96442b08d04953251b116ece8ba159e8030d24f4b2ba4e97efda1b55137cbbdd3e9a6d58ccca94fe35ada14d8656051f7a036c54fbe6292bac5b3612774a8ee7b7123141906542aad3770fa5206c8d9552ec03f78069429afc20a028d14b8a141a95280a0b3fedc98bbe0026ea429cd54423030331eacc14af731599a50fa096085841f2e11699cf2c4df23384bb14116cfab80c038abf45aa9753804608ff06768d285eae80636bab0bcf025ddaaf19de8533c92c032896a411e1cfebee38957a30c54bd2520f31f4b0042a66dcc175c5bd0e69de1e030a2272f38b369bfcae34539e80f0d1f5d89b56739550911d0a6328b505686487030481586dd7b7d0d03b40bd8c934d907b291510ed45b4f2401d15e489643b0be3032c344cdaca72bda103158a7223cff6f4af41c7ac19f59617d269901a55a051f4031787e6764c0b61f7dd3c59c7d7e4613cee8b567da822594ee6fab1882497d190036f3faeb3380f227b3e412638d0bec778bb2baab2d63322fd713298d26cefae2b033734d7c549b0edcedf07e8b266ceca4c103fb79d8674c52441f62ae2ee8617b1032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581d02f7208ec68e5d1505eae0bee4c24295c99faa78e423d9e0cd9ef79e8307011bffffffffffffffff037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581d0270f62426434c069b5763139b7d1de5502756183d7dd49ad577b8235007011bffffffffffffffff0459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c634300080900330351f7363cdf5005aea538620c9141e916d493b0b8af9388a261458b74f06818ab038790630dd266e07d1780ceb37fe18fd26c256fc32fa2171f747f8f232945dcab03b0bee1a5ea87f1b4a88ee39d7126950d48d6a2b45ef9e076e1e9c3256da1a4fb03a786578bee6f9c7e0f914be18cb2c8b64eb2b4f422e111fd86c1310f9159db9703fc5dc48c77d5428011332cd247f647c986bad04efe2ddc09dfa11b6025f7a890037c4af835c124f6d0baeb883a15c0f52ba6eaaf474e69a87acbdc9cba20c4b53d00581f02068387334044181182d2437971f4c668e964f432ee72fb3207fe1632457254553d5845acd5ead4ac8120cde65f5a86ea1e457600581f02981ea73c867355f0895079f924f3d3df97c70f856f11b87be4a9390b9c03413000581f0208b3abc66f59a28c4cbd059927b2f0aac5dd7a3d5b44d251546ad93b991f4102036530ef32d6f36ba25e10312b2c60ee5d891d25c0cd11b7ff05246260fc6ac50e0219029203e3acb4174828548c68b89e9f63487f3f6aa2d05ab2e415c2b7821ee2214ce0a003af302f502c722acc59378f09d9bdae79ec8a2727b0a46d833beea2d1fac2df4403b70769d24ffae697893d75caca988ff98290c566fffdb2b630f4ad50b1948555038a04a2271a307f2f1bc3f7eb8ca7f55b4535c3622294477edb3273b2c267ccef033d8c8a0ecf087dd3a1069a0bf79bf606982e17c69936e52dee344cc663d615d503abd9811ae7901b8052959fe189718e9366bf451065e116209db5802d7cac7c13031c5c7e680e232302d3f2231d18a2ebf20195d4cc94288a6e751e8db0fb9ffb8303c51efaf45f8c7412d24274471e81b4e6113385b45beb2492acb7aa2bb45d7bda03617581494e979e2f95938007d4cc6f3613055ab9eee5fe6d7d173bbca232acae0219ffff033a70763659b8e8bd43229c4aa81cb45ebb5edcc520392483315f28004fe12d33033d5698c3bd8262bb2a56eabee9cd40238dbd7b41cfbdbfa8796c798a073e689903d90ad3652d456efd2c9ebe07c67eaafaef8e5cde396d60791579596ee954e3f6039ba8e7c381fd822cd1fde26b6edae11cce44d2fb88be6c506826df6103b4cb320330d3f2c3dd5a1a33763b6c7623d71889268da29b3c24ee45717d4e99aa9b1be103653b1566a7946ca874b62ceff58c01b2e412f23d1c81c1410c536c0faadfbaea03bdffb18544f6b844478d6922577fb6bc559359dd748da6c206815ac72b35055c0330bb6959aebf33e98848cc96409c78670fcc9e83a4c68ce7c4946f5f79ed3f62036f9acdc853ef43753f4cf6855d9e367f9fa1c6c7b7298f51d8f8c2f16684674b032dbfc2ae5c914a3c533d2663a7425bb74ef2a4f9c655936e4dead4b6fb111c7c032979c66373b586d86f5d7f397339e6f42c26b7fecf9a24522d316cd9623a4dbe03941ab1e5d781d279c0cf94b325265a4abebdb795e3fb68d715bcae79fc277cf90347e3fe719b8c45498cf43091e10fde220a6c8cd245d9e353f517c829f27307ea03de6c5fbeb8d26a87f4cce1a257feb434ea0bf4564d6bd1ee3e95a75ec49cb19f0391f0a9d01407a0447663a15a640d715afd1fc5b14e394c44d8665863abad9b030219ffff03e3260f2cfb7974b99267b59f3b1337b8bc0d7fc3c06e7c54d05d84a4d2fd4f400324b8d767aa1d9520034dd24469714d43e85a68267ede01158690ad680aff4d220328f71f5fe0299a626ab116b3e9d9c20f1265bfd1d3d18c366d2f6ec312bef2b203e06499463e2af5f555eea14a6e12bc72cb69024d405db05a2106916ff19d3ce903a5d6ebad53cca58b15ea146d5e4ec5c9be0383de69cb8d36a1032f1ef4ac829e0371248585f2713125c5563876440f98e1f615f81048516a18146e6ba590005390032cddf92c8c8b85dd49199628e4d1982a73f92774e5e9e9ecb55d0d392e0a1de203950ebd5934fdaa0bc1f3148d2873f8ddfefe607fe45be63f1da9872076b2fa8201410c03c3fa3cadd6b84aac7812a1dd7b99bb2638deae094d1a1bc37a9cb4b5e433d87703541b39755c9a2333ba44bbeb55e7aec9c4df6b4313b97a705dab8e05ce07143c0337f8264e13c8388b60254ad8735e314d8020620305f5dc243ab8789f15c9b0fb03a2a2128ad0ab3bd3f89827425ec3b9d2513f32a5c2a9ecc3efb596e3d6239e5500581f020ced7c32040c289b7bc4a5c59310e1c46eb8bd53413d055f5158f1deb67454a81725fae8bb3930a95debb0adeaa184b5e9cc1000581f0283ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff954de641233d801dad0702767ca2c909890d7f1ffed00581f02416c29daba631fe1fffb50f9ad9db923e5d26c98289b94d8792d07e78a984101021945080373eee70f9133708960175aecbbac2d0fbeaa8fcec6073a3cee5db8dee5c00a510388e5d5711fb91797ba22d8d20f8ead067d83b4a900d733a3a8fe7e7ed7bbb5080322a983a213df8b40381c027bc27b539c5857628425cfe7928cbc5b05d54618dd03aa6a76946c0c1bedfaabddb0361558aa5ecaabe6b4d6fce902b8e95b110eeff90316b6c4b50476c99be39c4bb5d6dc1a1199e376ecf2a7142bf578b0b59b5bcb410352c24283ebaa350a8f627c7729b40b7622077a185545ae19c4922a58449e7a3f03a007361bddceaffffd35160d1cf521fd01f8d2e5cc5fdad8f0081fa7aaeacace03e6e002a99d2d7eadfd19e2428a2018e3ceeb7a8ab3a919a732edf85c2164fa6f03478e471209adc6be1eb3129d623ab97f0f31134d4f9286785936a311cf663f1303b4e2b7b3d30f7ea99277b27767c557e0ffe19336be68c19e361c24c479c748bb03424df5a5b140ecabbb0b6915e13e811dfd03eed7adbcc9c8cc24c780f4a4f13f0219ffff032156dcdb611815473e11f8a8a12177c7da5b1a14e8b9cf00c855e1340ffdcce703181918ce1e6e477ce256ba428b07db94c85295097e7e644918bef899b120765d03fd6f9cbad9016c801ca76c19345687ac67ecf520fe82d3909431025273b357e403401d237794772d8c57686df94e1024f0e99de7676b5b3bba76a2d5118ebe7893035b1a82c7f0a346b00f3ee3e38f844a663e5eaab14bedff6a05d9c1ddcdb89cbf03d7a35eb965cceecb15eaa0f90091d23f06c098290cf1fabb725eb9f3110cd592031dd34b02e9c8f8ea1c4fc89fbb03bc22101b52c1a98714868b6a8976275be05003de4a73676c86d12b4b6fad6f82e14d896c4026b4b2f23ec295c3a619dbe4c42e0341bbc4836e015c9828665ed7db092393c8c9b3c4d27ee2095bbc2afccd20690403414b9aad6af4496a926aadf3b2d2c498649242a44d8fbeedd72fb7fbbfa4c2650219ffff033c6a42c11d48e88e60e6e3f6e413bc81835e6938ab81771b2d4c9dc9ea28137e030efa94a71e0cda284050ea989d9441954d363af02a339754001216e5995edac203668aecabeae2f277563d7db233b5a51a0359418ec1543704506ddcee69893e8903632ba00621de76a533c0a5c11f45eef1a5b55e403bb04bf6f918a05cebff6ac3036aca219acae9df47d5c739238eba2acee3dc6452395b0312862039b5cf0b66b9033653eb26afacbdc2a993cfc08223d24bb78b26a531d9505f1e561dfcd57fb26f036160ec3259641d2ef4f20e2324e04b22e60b482e79fc6154c6def3b66dfd487b0314baabc41370b3a8121ff763acd9a522b462f7f0ad39d09a882bf6ab6164a35d0301ca88ed408c8dc7ebc9a993351a556e9b64fcb81add4a3312e53285291f901301410d00581f02a35e7fa2ca7ca3c54c5d3be60a1757e9f1db5c0b530d848487e1457ec82754de641233d801dad0702767ca2c909890d7f1ffed00581f027230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe4211a5034dc7968c935c6a019f64b9b737eb92a154a9275802204df6f9299408b62814f900581f02afaa36ad3152ac58142263d3e8f7f46fda33c6a0c270fd4be713436279c0410100581f02bea828abcbd3e0a3c74cbf300b1cee20f974b2771ac679ebc11f983da2f4410102198ea00375e6db01234976bf976f5d46f724d5d624b5ca21bc23855697e97f88a1b583a403860c82572f282735d1e9a5a0417be875b67a227bfd62aaa424645c3d42d5561d0355ddb1b64b4b8e785832aca5860a7899ed79492b32bf423dd78cbfe5d29dfd7f03d88d45e8198888715b90b4db736b22d4af027f7924cd7c497705acec4ed4a1c50319572c835027dd91b1e49321b4a7ea18c84d8349a9ed4764aaff96ce81649319037baeec79b495ab05aa229882b2100ba8453d28ec556c9774373558a1469bc2030354b3a278edcc82468ef718480cdb3bb8295d79adfb6b900f167d419a64bbed2e03bb0bd91b9b5abbe79242c131210f08a4117657efca7955ce3e46d7ba6c41ba97033870c3d2a37bd7e2a1e2294a3fd0febbfe8b98f038dd50a1d28f27710d5d73550365ccc4c5408eefdcf9e7b61b542bc86916350c7a9ae8b5a20244b7390f954f9a03ca9dce944ba62297d452587e2462667df98a2984ba7dd26d39486789a18ed65103fa3affc14f8d81522df5b6a2a9194784bf58b37e2610d6adb04c8bb02ee6ae85035b79b1d7229214b1626795214bc256a6adb3567368b130f91b363ec823ae6ec303265e4583d338afb941c007104c30862fae265ce6ca125e810801d004f94f51b40219ffff03f65c8c75a6f4d6d3403fdbd149338583af44d2602b56efb79a1b75edf8cf38bc032ff30bb6a51b86f334ceea791bd27ab9f3ffa0b5a5f1703451b210081c41ab99033d1c17a5de3931b4c17be587cee15033ad74cf2160ebeef4b5c64ad54757c9ad03eccaf90c06c56801834e775ded3373965f12d997056ca07890663cfddb89c7280309c762c705cb107a00032c6dff1d024a8bbbe57d4f88f9662f3088ca065d11cf03a045b3b86d6de2420621da1edd56ecb7d32501764fa9871722fa12181265504b03be9fc151998dcd0f038b0694470117a375da20afa0f90e096abb1f3c8f772211032c07a5ccc2682a26194e0ef21c1229992e289c69a31aa3ebbb644029fa6d3bb20219ffff03abb7dd6d73cd3afa1477c498ea05ca3c46a246704a6afd7df24f7f35ceb0671f03c55474db6c4cd2c9ea7aa2429c0d34132b98ada159f6dbd64d7baac2ee8909b8032f61c0855208dfb797104f193ba2673028f8250477cc07bf7b69cd52ff168441037ebc9faad81e0fba71e28a2f359c16f812fc89e9abbb32fe63785c07915acef3031aacd9f6cda5a1ccd8a75a315d9b8949102fe5c192525c8f066413e9e5c0ca6e037a575ff579503d6ee7863348c3445c28e976ef9279e7915a01900e0962f763e503114dbfb8cd0df3bf647893b96065e3436c5269ec198232cd668fc313794dd05603631bb7ca26873407aa1edfbf585e44eb692fae332baec9c3056505dc44bcc41203d1a48e01e529e50a8c6b847293bd0dda4dc1397cbd8dd905ad8ea6fb7ce6419603c37f30281595eb774f00ca49355452c41afa3641b8c96a9bceea817a8afdb22003cc998b651764f78756b5c8698fae922ec939e6b27b56808ab5716905815360bb0396027fc9ad4d0ff7d76979221a9c7f803dba259540b8e1e5b095b5bc07821ef403b60b94f793b0428546be586ccd198042111a5396b3dfd4441d38620bf1819e910322a1211acfec5afb7a43f4c7d6c6e9ff557de808735d968648cf5d0d5c92305c0371140efa317cc732729fbaa69ca5bae92498c4163804b11c187352dde916b37400581f02ac7a0a54806f2532fdccacd6b4e32693417381adf02355cd5f37546656ce54cfbc8a1e9bc10343c452072ae1de9afcc468b71a00581f020dcb5625f5ad19af4b844d7f0b6d98d88c4d5bfe601513bafd66e1989011547a20f7d09acbe5f7722dc5ad362fa9a43475618300581f021fa1bb622d7318c9fc10fe5a9da6d81608d55964f3edc349185153d3f02e410800581f02e85a2e91e4e26b5d036221e6c2cd74e2344bd25854c55c1e39dfad48c5f1546488479c90864250fdd1720bf7ac9081b71ca5fd0307839a4786f3deb3f4b1289079e993da17767524fc5ce9396c8098eb817fc45201410c00581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054bbaec6975de834231d2c92b2d1153c7df9b3612900581f03f7c4e45bc6e3025ca73b1d9353805ec56400d228d5a286a2be386dabe8f041010219400102198d4103beb5b9ded0835465a88c826f313cf92a1e7b5d28312226024ad0071d78364b6203e51ed8cb578ab0fa4101359d580272b4d13c26ba27e1c92efcd14477eafc2a9b0219ffff03bfc0ba940fd07451882cc86d413576d19538758b4c4ae12ee9e0c7661346c505039b8cb1789a66bb80934daed5b49a90a21291a12bee7dc57e0127c531771c80d0032c782f3fdc246c8be002812786d5b832f99ab213d80bbd8c22dc02c863e025e8034dbf073c7acef8c9d74abbe7bcf847a3c4455d9128a3060626318aa03ae6df4c03e16b9366e5198b1b3e136a79565e1c592589193cbd7c2ce312bb9e425134a9bf03f386c78c6f4fd7f0859094da60c26768f6966641b6f21fe475c50d3f94b0316903dd59dabe95033edfdedbf22ddb96a18edd07fca67fae4e666720b68d92f2d39b037d9c37e0448f3e3d39cfefcabb182d99be1cb2a1bb95553544632ca41ee9a1cf031f5809657059938f6ec6cdf2f93a2b37020b9ebda628552661496c68eca0760d03a05ca140599542522de5fbabdffddca4aecb10ebbef80e4481766b4877d2784403e6f685267891651bc2c7e8d8ca7df0eb1e823deb061a20a112949a9774fc9624034808ce962b5ca4c7d8b9784eb720777ac5491360b4bfbbe9e1807613106e954b0337f500a0d4955d02ce5eae7a518e8678c1775f3f3e733be921a49c80a9c1acd400581f027ce655fc6c81bf9e83eaac1556fcf8b4d55288c7e1e6e1b5b68acc8141ee54b528c573ddd7acaba1a1da77a4fd5a1ea4a329900379cbddc98150b44467ac084a6830cd0f6bd1c1e08cc17db5266e38afbc1f3a3500581f025282511e0798d76e7bfbf7757eec1a9f5275b0b787ba6e1ece5b34cef110410100581f0214aeb9030851aec6ea7286e8e649ac2df116a41a3867441196176c57eca154c01dd87c39f8f79f9d15b2bb000c426f90fca84a00581f0291900bf3bde64e80aeb29ca35b6c976b58500d251872b92e658dc29177af5485e7377ebc3a15a8b80b8ae982c0c3732c86d58a00581f0290391121b8e7c4277bcd9b8d460c48045a82761f290e2bc35c02360cdd5f410103abac1dc88664fa1d77c94f1616c633ad13cab8486632e2453070aaf1aac4f4b80219809f03569e0dc062f59ead5cf344c09af1374b0b178bb6a8b4df39e772df006244adf90326996f8f5ab7d388a37484dc7cd672fe52224c5941ecf58314578e9b8f6926d2031ded78438a7faf10c6e748e2737c4ecacd814e9e49a46cadf88369f98d7c661d03d224db98510333d4cd46cc5400d8bb93ba331b80dbbc00a6ef74350832b684770342295b6f44f0eda4b79b73af2db8d2fec612f5da0dad05afdf20933e6638569a03bba6e1814359dcf47608bb92347f800fbcc2182793a46169da982ab74037f6d703498897cfb54af3492e6c95f265020e1cfb42c081524ce4466dc29bd909610888030823877fb60d491a81b30606c24051b1aee6ab1d3bb3479e35b6822c9d49b82503e55560ad04cd9438184bd647d6f56f3c7a5d183f03325cb5934b2a1aa4ce61db034a21e454ee199c0d67b26f07d7a4e8684e661f9e21a3d7b92b927f0146699b020385e32daad1e45efb65182b1b42fc4a28c40e51ca2d062a170b90c03ef7f15bfb03b5efa3ff2b4d05b7e65d2835e0555e39a81643cde0e12e957a13fd83647be4b70219fff703c167e149d23fa2f008da7903d04072902b71720fe77df4704ce912cda5bfe3bb0219ffff039de1ed1cd620c426c40ebc8388d621d68342098118f7a593ead38af41786e22a03397d74065a715c49ad3312191e6edb0073721a82ec225974209d357295dfc4b90361233c4d57e777ae77d99ea767208934214c6c47bd6d3e9acaabca88d381df4e03f4d19860d5cc4c782698541fa3d523d999c30315cd00b28a1b2a95a7de46347903ae9e15e6696e9121b536b8c287ce8951f11b370bb9dbcd17c854240b0ee7517103007032d49de07434db58f3a73fc1d26d4dec426cea5ce757aae7f7dfe7278e3d03c97debfc92cb8ac2188cf86aa2f0d694577b1edc80499bf3b1dde16add66b0c4033ef86d559a3eb5a384667d8a53ee629fc4232c48c0cd8bb5f9dae4938058811503dad573d2382480612dce3f545f6e6a5e52b21278bf658ca9eeff4bbfee0c95c3039323bf98b2f4b210eeafcc55c470670b132837e3299cbbef95589ea0dabef6bf033f5dd04cd8e3867ba73108f1e581ae6e0d1822b5cf7e939df4e0a7b7e9e750b90311bc77e7b8ae730c4409fd9852116a8b3642d15d4f463f0cf881531dc78cc08d03b938962718098840c2b1a6c642e1add515cd1cc32b05a1ca3cdcb13bf3ab31d500581f02801798ee9b0c300ec2d4d80b0e685620638b9c46df749f58f64612099557410100581f02e923bd1dec87195b3333fc84459f8a6e4cf8bfcb8a3a4bbb437facfc883e41a800581f02189fc1a43b8ded584b509efc051db843af696d8d5fcb17f71796edb461ac410100581f02e5e49232970c9964a28fa4800d085a903603f8e3b47ee8832a8532ad53ac410100581f02c7c6afb30370e55e6e005394ee7f4185e257715e6a2c04cc6104e004f3c254767971d7ac5c9091b9056ed1122402c5de2c2b3d00581f021b325ca047373ffe5526cd8ccb618489080aac9bec301fbdc241275a955c54c8d2881578f210f92c4e4df7cf0b01e6235150fa0219b11803a1349fd9b109488a886d262e508bf93ca3c06c3ca45eee058265d08eda3ba0a1039388913667170632513bebc1f1a84eb9ad640955530757a19a54885b89f85ddb032e65c340ed4e393b3b0a8d39478f49559989bf2fbf05d470a3fdcc09970d5cd40389d5dfe22af3cb7812dd47615196063be19eb49960d9fc62728046d33a500e9f039053ba509470edb5aabe37b924896c499edfe49dde64789db7af72299c39152b03c6b16d9160b4789953c6232b02454e251ae3dde6b97fb71f5e32e84be74a7c0403d9dd28a86e7552f33233bbd26bfd9842010fca8db2cb00cabd62016b2e0f90f10341e3b365d1e3e9e9a0ad09a07a28e8adcfd8fe127cff0f708e48cbd25eed1dff03aeefa4ecc6ba7cde2b5c4a2a7aaab33c4f1904b6d94b0634ad8ae1b01525adaf0219ffff03ab5ca27644d3aa25138cd603fdb91e008a5a8f4ef201bfddefddcd38e406c7db037bdca7a7d4eeb234f10a77e5bd3e9e7d305e68a38a2a9ca9efcf520b76ed971303a7f33a7285b23dc0785a19100e23b1b10d00d51de344ffb91cdca447a053ba3703a73cf000501f34838a73ab50e8b9ff9639456ada4eec8b3343c763bdfb556f20032c5a824cb99d1b4c7fb557efe31e99fa387be697b6a8b418aaf96ee5b7ea2bdb03b9c7103d14f0b98aa9b15f2243e31e3e8271b5b591bde202cf1ab680ef9e699b03b06d3490a9aa335dcf83c339368055787cd9a263e43e4666a374425e7ff3cf6d038d8bfae6fefee2c9826bdf43eacf13047540c905070fcd6b9127587bca7183690219ffff03cdbc1379683453b3c40aa356b557340642b2b09100048f5f555acfbda8324e21035f6d34a01db56232e0005b753f44574418f7434b066bbbf662a62858161c2f2c03bcb0f05219d4971dbe1fefe78b6fade518295fb9916cf79694e0a75fff4b971303829af8c914126eadcbfd7d447242c5e78d565fa5715578d0e7ab7fd3219ace1703eb7b613c1b1f4a0113f16b2e46908adc6b50065ce7e16b9ea9a34bcd769d13d80394f262d9565869ca2d8e0a59c86c463a6ceb99ddf2ebf4af70ba8867b38c816d03d644efd2a6abd56914c671e49b8f663303a7515cae9b22da3f20b1a559620fa70379a3468d56a02f20eb728b40fb8234d3a8b5841ae7c1ec499afbd737f814bb1403344cb16603ee00f519e9a43ecfe8c6c7462d8c5f87384f906dfff23de1acdc3f0320c3f0afe8e476055bb41c90b2598718bcdf50be53633dea7455f2e35458da63039fdf00908e34bf66f2fa5049a548839445b238d8e7422337fbc1baff80142b120362d0547e5e93cd8ee3f558d7c89d24f5fe3ef5307dc258f0a5793c0a9e7dab75037bb57ed7133ff82193d064bdf1cff9c1e8d8f15ee378aaee4a913c5d9bfc6f5303d7ec4098f0de7574a80608b58c8b21fa2f70ef363f62d7afcf04a48eff7df22b0393ec0b9cbc3203e3415fa36bdc7047da061e5bde2c6a68d20022ba09485897c20348e7f2d23b3ee39494c1af33c558bf6ff7acf522d645fd1432c51f54772b0e9400581f0213cb5f247aca6b0fa91e823bc8a4fe4fa7893fb853e05e84ac26722ee1ed543d9a7d5354dac191fa6a36a8be46cee7a64eddd100581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d540d8c2789d0c15e386e050ebaebdf059e38f921a300581f021c83b1ac35c8a317b8c0599d2a11c1a3a5f21436361ac5e9b23f552a8e85548a351fd5f7df22b18e34a339991f60577bf4aa4c00581f024d33d80ea07f196aa2b617ddc499042d7f2e69e994838150aec39684a194410100581f0244957c7933ebd3f8e94116de77c0f98a1a4a376fa613a97073d83407d89a540bd386309f6600e0b216ae75635dc11d727c083b02190265039f7841534a92eb7949b5ad800a9ef5ab219a88d619208b468de78b73decf78c30317a812b82ea621ad403e5001ee050a8881ff54a5b30ff580b1737919071b18330337e35c5284b0a9c4143d18f936d691cfa233c91e5601d4a4a7b2b0746f73b4470312675ed5ad12ccb867b00e5c13ec53a434248594a93874ceffc590bb3fb5ead90219ffff03ac88272ef51e35e87d4ba8cfdf9fbcfb2feab48da9bfda0aa4443c3024361ab003983ed2d2626016119e98f031afc118d876ca315eb5de9185520218ce9c33625503b5a7306f8684c6fed11e6545a00dcb1ab1066d4c09b93483a3c739588e28f9d303bb293450a1d6928147244a611fe1e2352e03dea613eeb55abc9209e7635acd1503007e85f8a0c329ff355d9511fe064e5a9e751e924f610a36327cdde6588ba52e0377466e16863d5b8e5cad79fc5a80087d20b97f2dfd2958a35acf1f6ec7725a45033d2320013000b2fa523ee80a8e1cd2044f958d37d2d9be17937febc6c2053fee03b396c51f89a00802d66ad1d00ba9fe313e6fabb29a842a9d8318bad8ac03f4f703effb7863ec71e4b619f89466702998227e33616f4b6cf2d23a7dcd0a4da274d603954ee1929efb97a6e553b8df4fdbb533f45a6260a9d0b9307ea6fff0c1d963840219ffff033812cf518e455b932e590aa6eaca8d0929f0a3c1e0a76fc5959ca51ab1073ab903ff13f9e88665b2238b348727ac839065642f535efd3cff7f352f1cd11624c0690374dcfbb4bca8abb446881098cdc3f0ad6ce0bdd74b1fc0ac720fb3b1fe2ea413032930f605efca59356dac4c7de860ad0928394aa67c6fdf36df03a07d139d185b032b2f242a4781ed47e1b89f56ff7bc6c134d74588b965258157ba0a5a2c974ac9033c26fc58cd5b65c69a1079be35835ebb6cf981d650b0f3b8a6e52fb854367a0d034850efbeeac367bd373b00394a83e0b75fb0ad419161ceef74d6f4009fb194450376271d7e2449b98c60fe0f06b84ea355cd89a1d8e32d25e5cff2b46d98a6ea3803d0de754447cba3f23e766940207ef69a1606373e7d4cdf12b873a4217a071e6803a36bbdad4d6da01e484fc42ca54c98ba06db5c50d122a24448aad21dd6a0fae40383bc8e03ddc96e8701f90b65857f366edc0f62840a8a63cf5cd6726c61c1306103772455abc55182a1f096fa9f784ec39c3a3025ced25640c04fc4b0f822ae77650358cc0db20b8ab92e52a5ef51ad4c3a098794b575110daa8aca9216b8c9851d48039ffb3b173f15e7f174115f45df92f8c9d4eae95d2f2c8f5bd035546fda57f42f0301c0a4cff6a2591a8a154c68c2a8cec6a02d7ad260ade50b4202090872974ab1039e678107f555b92a262127ef3f8c5cc38857f313f0187e12f4e209719574349203bfd88eb410e9a4deda421c828c6637d97a3e7e7da74f8b325126ad9ef6718a91031e6912437e6dc09126495454f16a1cbd69e3cf2374690c5295167510df6d178c0326ffe20bffd29e416c11a69ceb8a411aac55ab74a546368811cbdfe740020b8e03a3b4bfc85faa5c9874e521f7e31b90fff88381aebc41b88553cf86c02c2217fe036319a1db4fb85c767f523e2fb0b7ad5a0ccb5796f38b78bb6eea5db118c0726800581f0254b523a8e2bf204eaa87b0767d4b67a8c1b1226d4cd79eac80f34355d89254de641233d801dad0702767ca2c909890d7f1ffed00581f02748a491402cd3b1e71d94c5ff7318a4a8ca3056d99a6163aa0aa41f08158410100581f024106933e60d8865f42e4a7f629c27a02f38da498be45a65c82ac606a567254b2a2586872938263122699a7795b1939c44c337e0306a7fa9f7fdc44a60ff59180ce31956340f0ee4754e023535aa29295f3a3ec5c00581f02fbc764f2eac5a8dc6a8ca73229c97db6f860f3c1a17aadaac9ec1061cf4854d54d8dca56553da201a59c255fde17c6268d4f4e03a61eca701728a1a0e8c4c2deb82873b9dd5c0ce0b1e545f2fbbf350c7efb02ef01410000581f02836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb581e2710000001a700003a5c5d89d6c906c2ca6fcdee676e405113f8c0b245a700581f02c83725a2cad2f8525372a26d53dbb6248347a6aadf1d4cb482f85d2e1251545292cf4e13f7ed082ec2996f8f8a549a05b2e6af0219d2b10357341d19b2ac691cdd1cf31ec03d420d82683b70ea62d59a5e07bd3bf3d35dfb033ddcde7cb5e9e497cd160a279d678a069715868602ac71a6a82c7a1e9b9f1ee403d1e0be1b2e5a29328f708ea03c574317ca1616feef7c38333cbb9acae5d879d30219ffff03ba2adb010ce982e907a0314681be6d4d53203c0eba4cb6967b23fbb90bf6ec4703df4c7d94050981ae97840fd52672da6787361a2c8912d1746cd3b7d734033aed03fb322ec4db6acd9105bc5bcac6f3998bd26eadec355c635c4b24dee203291d6803901dce2069c621a5afa3850b7426c143f50641a672a18bf605f1bdae6e16c6020335328683c6626f7ddd4d36c088f3d7cab27caf1a7c7c68b14af2dd0326716521038ba1e34d9e6633b39c6b9482c2c79b0bb8f75b7971842f953fda74699efd24290340e08b9decc53e580eea9d2ef2be1664df8b47b4139fd4613be27d0d57ae4570031710758ad157a685c6902d36ffde2aaca979527c326bd04cc59d43168b489e360219ffff038f63349228b8d4f98eeefe39c375d9e777a5bc394ebad587ddd7ab595e455656031fe685e1e14af464899f93d14284770026856f3ead13dfd9d0ad28050fbe0107030620f06835a3b331f0ec14bc6c0532221799b14ed7be9393fd5a9daeda56939e03322b167076487ccfb26d30e0c7799dd24720986c6a16876d5aded2fda76d18c403467f5bb3664d59907c45cdf8e3f47a42b31a70868262fadc9ae214ed38faa7320219ffff05581d02242329a9e9dbc1bf112f794a548d4a6c807c9852d9b0958a96ec0f93070119084002182903542d8555b2d19b7b38bb9f17ba1c230e160a242b39b3f27dc1357299d45d86f403f904cdf1aef5ffcd7416392d110400a2a44a15b86ee4f4c0fe370abebe61855905581e036e763b0912c5828b3269c9148d3a1062331aa1c2247a1bbd6049d920a00c034611c32eb6640003e31c13e14fd3d57924d60029e05456f7196015458e6ac7b20a0b4c795ef9e03d05581e034a4014989be94004264c6332d6c1a068a9802717f5eab80f836348ed300401038013abb671fa810901f8b28461cf9230abe6a6a8b1ae52a0421eef697abbf30d035952bc2c760369ed48e240fa2c52ea1e8019fc0bd24a64bf31e639de92ace33f03688c4b313f2b8311625413fa497c8e33b52493fd8f7c02800ff33cc921f38c3f03e689ee62babf4b5f3727903a531c04a9904a94e246baf7b234e9e019cb8b31fa0382aaaf7ec15c4a3a2a12a8263c689a2346d85b9bbdfe69173f7ffd5595e64ce90219fd5703af1f762736510b30d81d899b4eb03d12e5e763a3fb3c9a395b27a965bbea99ba03970a6c8b065cf6db5427363670cb796ebe88eaea84e3c22302ae0d46db041c96034614f60d49ee5a58211c46da53fcfc96e3ffc2e7788e039b6fd423ba5a43ab76037760ede9790ec653df24abd16cff221b34d01ca30290304681a77063fbd058660388c0bf9cc157a1994cc9aafea5a84a17625089e6acf042609cb014bac890161003ae69bc458af27f41df4f17fb5d4e75fc73d4c9d9e76cfa557f8ddc03422e02d803ef4b09b5f816f2269beecda2ef81fc397cf67f9e76fdea22d402e5af4efb1b610323359c55ad047504f23c23ef571df6c71ce8285069449a44bb4df87e83fa03390219ffff03638b77b7ef14e3d0bc8c29481a8d0336b0892130d58e81884320052e87282e5f03ea3f4912c784fbc737923c1b155f1c6db24a508474c0b0aaa4ac600e7b55f34e0334b8e70a5814983508a7717fcd600c4018f6e970ade568b1dac4dd6feba20c68038ad3aa29a08cbb5f413d6bc5c5d6e06301841747d44409b4362e8e3ac4c7d529036cf65eb6b18b930e072ff03a3f309f87cd9982c5cfd0013a749ec95a8b6baf4f0361d0ee0331da79662f4d5fcd84ab5cca83f17af1e1f76b1f65f24d90c5e93e9e034f105f28f2e5390a861e3e0a47f85c92a10d0061ce58db5f7a189b64940fb118036f68c4cda6beab7125576d192883c5c90be3ea74de4ec23f3f782204bf24408a038147899c5a20102812ef884bba36f6efc95792bdb181081bb83445fcd191410b03fe08fd288b947b8b2b1c8516a3dac6e282bd6ab2bfdd7e05bf28c5fee217fd260344656df647a11cb1f270ec11dfee5d4ec1113577d8364e133f3cd24a522048ba03896e725184e0be36f8c81f3bef3a76b67af5fbbef1650bf73d50ac80305cc4b50219ffff0399e18ef8beb2f1c4ec4c1ccb62e522c0108dc0f8c31761ab880ea6399e9ed70d039062384d3698c60c22fb6c8284245557a0095134caf495c5c5c7098b61d59575030d3bea4f5010e7c48708214e068048479cc7355452ecbdfd368fcb4247bdbf48030e4af669e0273a70d5738c5364166f8ef603602198b3e3673897b311ac5e909d034143e23c70bfb0e5a9c47dbe51e7cf29b9483ab6cab76b09bc8b6864c203bc9e03cfb635fae9ede62546498120fe080fe8cff50b038f394d9235d1278a75cf51bc03adbefbbfaafc70b67273a50e2ee87706aae62871e98fde6ce041be3d555aa9900219ffff033e560cffdaf72cafb10b256fcda2811c77c5ff57158c7d6d4696e9d4ba7fa99903747d82a6ddb76d5b933ae1678afc37ad13b9adf04d42a221b9505b9a4da7c2b2039b9bf29a8eae22af08e04d0788a6f22b1a0e300e8d8a45483c41d64e333e28070393af83701efa5d8cb9913d142275c7d2c99bbfda0c16e8943aaae03b99c394d703390ff176ce1aa90d1085f3b5cf99ae51e7e95c04c9a8672d97b40706c6a320150399a1905e205013da04435dcf78b81747c07b8dc521bac3c7785a58f19c36762a0348510a48afc719466767a6f9cbed8dc6938cff45748e2b0abf65b71ff36cfe8703389e63b04386ebc85913c02ad4eaaec3f62ad193e6df205d5e8fca3fefa1fff103c973f261d5508e3c51154736e7612b4522d5ee70500aa6b6881c4d18daceee8a03f50f99f2e8268d0d7e9b2599e48c28271a60db0358df7c0a0e452acee8a8d66303aed039b025e45b37f875d210eca28e7b1f2f6cb84659bfbb51ccefc44d8f2a0f037bae4e065fc732aa1a2c2ba04128999b627c01c26ee72c557e0004678ee4c4c6030741835d3eae443c2e227b89a05aa6735b807ea279d0d21ddcea33dd08558caa038fbfac409146c2a0846f5223362232a7f16d55c00464c29b1eceda7f05f313b003629146347868aac64580e2dc448d613e1a8f4f49bc6e512c2574c6a62b3d738003941121fceacd92d983e19a181011a7e82a81ab963819c07f13006520b920fbde03a1639652744ffe5de236df7df83aee3e55c60b8f4086007df6575c2e611643b503866a6fa658aee93b63294366b22f8e52c3df6ad005e3559947da06769a7292780304ed8bc22bf4b6ce55298c16a6d0ca122b4aaee857d81498d2b0a9af8c84f72503571188b3bc8995eca1f7b473358d0bf7b527fdbb07ccaa45ffd8ca77b6c0037e0333056bc198788e42ed1ac03cf3bc44ece69004f1017a9ff27ea9a54b7dab421203d3578a5be899aa434bca75e068d02b179c0648b5adf72733f6fcaba9f7442afb038490c71a584e93fd0fd5097edeb47f4305512c30860d6406afebfbb029178f4d038fb11e57c16b243aba4707f77aef3b4b0eab088012878aa0392670212dce6e1605581e038053ff4e96caa01c2152e6e627b230012baa5a386b231f7d44afa609c00418bb03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038697117fd81c06b06b788ae2a0f80977f36f9340e97ce65e362344f30007011bffffffffffffffff05581e0345f688654aa37a3a79501210323d7f64301f3195d8e888a6e8c55048200c044680aa3629f4f805581d0324e09cfa3143cc228d32c5727d891a57009cb512dd1ce09638de6e4004030459031d60806040526001600160a01b03337f000000000000000000000000e8ac39f0a15dc7eb9cf32c7639e633f24f9ec9ab82160361006a575f356001600160e01b03191663278f794360e11b14610060576040516334ad5dbb60e21b8152600490fd5b610068610106565b005b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54165f808092368280378136915af43d82803e156100a7573d90f35b3d90fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f1916820167ffffffffffffffff8111838210176100e557604052565b6100ab565b67ffffffffffffffff81116100e557601f01601f191660200190565b3660041161018f57604036600319011261018f576004356001600160a01b0381169081900361018f576024359067ffffffffffffffff821161018f573660238301121561018f5781600401359061016461015f836100ea565b6100bf565b91808352366024828601011161018f576020815f92602461018d97018387013784010152610193565b565b5f80fd5b90813b1561022a577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a280511561020f5761020c9161024b565b50565b50503461021857565b60405163b398979f60e01b8152600490fd5b604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b5f8061027d93602081519101845af43d15610280573d9161026e61015f846100ea565b9283523d5f602085013e610284565b90565b6060915b906102ab575080511561029957805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806102de575b6102bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156102b456fea264697066735822122030cc9d72e095e794d8286b088776326d90cf6b4d62a84a41c9928eb1eb96b3d064736f6c63430008150033036bf9111a4e63036ba43b1ad8b3a21ea3a1bf1583e3d327b04a5fa000cdf1cd8b00582103b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720582096e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630545c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f005821031ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680541f98431c8ad98523631ae4a59f267346ea31f98403ea63581ce01a703eb6ece6ed458d96aa452acf103a0200c73dfd99b33a2d69a603f7d48beefb88db52e1984205b63aeaa6bfb90eeee62ec4971fd93c72d7538823035f386ed974528f8a87cfb29c07e21ef4118cd779b15b7b44a5f99dbd3484dba0005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05446affe1b4f3fc41581fd20fbaf055daeab80a8b503d5f2071d9b48cbe281d6cedf2cbed725df2818b6c6fe0755b39f69b97f07ad3e0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688042271000582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e041010209039b8aa1895cf233ea696284244e5cc7b2d367995715eb2953c9fc35b16432614202190802032b862613ed3bfbe3f9cec1078efd720626732f4189967861f59a9ebdf0d549ac0327cfb13450cbe366c6f97e00de1d7befd7887919cf37871946a2a889d2ebc1400058210328a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c60410f005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219fdff05581d0365e1068e21405c053274a59672d54b44fa24c79ea53efea0eab136a0070219031d0219200801410a05581e030ea64d72d2dd2d80d58f0e44353cc7296175b643867dedf40d2477be600c182d47478144d653500003e09b1c7ba83761b81aca61084cb1fcba49f5226c000307819efb42abcad1b1c40377c2216d17f562429d033b705155e92fcef8f524b026ad1a42ca5771e8d82b4c03e3d9fa01a5830db36bc5ad827315ea63d76349f0953d2bb2d5570a5b15c00ff903647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0373c5dec0c39df458200472668fadaba3ba732e214eb245cb137876ede47c718605581e0352ba6cb1ba80cd19836ab5fb85366505097beff6427103919802d8ad9007011bffffffffffffffff021967b7036f6f9b23e43e770a16783e16695fa63f9e580d5acde23d3ff4eaf7bb450dcced039bfd18a448a023cff2ffd497548898cefa58a8015c140d52a700e05d9ae3d4c10219ffff03d39cd5d38fcd1d430051ff77b09555c85d4a8c311932f8a179c14e932d3187e7030de1ece90926618fb227b10d2f2ed7320897ae8397ae645099b7c6be45f4bc4903008dc33f71713496084ab1835c20e27d473197f6a6bbd3421beaffadd8cf3b69030b0b1db88e87f55903f19e1120ecbf7257f6fb03525b0445f3e81f09530662310395fe632ed18aa20b25a9a23d5495706f6401e8d6dcb1ca1000d8cf866d9490e403a5bac68310acc523d9c5f92b48c9821da6a823c133482ee6b3bbf8ec57974448033194ad3b592b71d875492b887dd7eb5b941861da51570246ef736450773327240313e98e7c413ba906924f328f2ddae55d182f5441f5e2390f737e94e3eb8f895003f72a3508db1eab1758a7b804f59e70d93069077158f9600ec21d130375618eda0219ffff03e7b5956a8e1afb42e59dadc67bae61ef1fa4f551d350277155fcbe167e5d8d0003b072aec00592caf89363f784b26cb2b159a0c56bd6ad6813e6396271ce8006b40383218e7071ae0e9a715a91a0ca46c01deded94f6ac9d21540f70a749dd28ece1033a9c219bf47b1d020547923c603a16bc41cdcdda3ba5fa2144d7144750e05f02030402e1ac7e6e2d4dcafa10b099b36a9b849e76489af0f15c4b71ccfd6ae8be9703c5ec307f63584ea6abac14f2c978c4672253b8866a189235a7a8039c89486ab803d1e3b5bd7c3e7e9b63f881b817338e8ea5fc065ae2fac4a0c3e4f3203047706f03fb8c265d5b36afdd6db72a41d4d3095872162fde2c8bb8c01884bd64ee2dbec7031beaf734463a15c371b0fda638a9fe9f2d83cfa1995765de2eb5d23030005a9703e47082f8c1ed0fc71981dad37a8f0b6a8deaeff8ee763217fe23f87e5adf8e5203bf268e6fbad6de4537ad366bed67eb698932ef37868d0f9099dbd24816b5736f03b730f49596da7e5ff8211afbfd639ad61d1e61f7e6e38f4a8e29fd53282a9ea2032b862c113822e540083ce97c9af9739c1c8ea0e0fcc3bfe0564bcbd2770901830219ffff0357631b07e36f569a1f4f6ab390d60e4a35538638184abe2e8879a3a5f7d786ba039e46165e2f02287a8b9b50fd2e2344bcdb74f913bc016a1f729a1c2c553530bb03d99f21636111bb8ce0d030c1584d874adc5298db60b0ec574a261678165fa369036b292e02ee0945f52102025d55dad76cbc67dbf8fba7183c914e23c433914e3e0219ffff0219ffff036f7a9bf362ec960b7fb2f165812ea46c2312dcbc1e2f92ec86c048109c13b2b80371cc1049717c58c5665ffb53af77bc652ac5efee66cf1bbdd16b4be5c0d0e1ae03668432c614dfcdde7807e502aefda69640b3b6894da695d42865f7b11019c6e40381d06bcb4d6f18f4671f94792709649f93ec2a3205e94f5333c93700c9543dfc0387cd8c397e4b514a77cf08de490e33dcb3922f78a017ecc655dfbc3cc15a18db0359c7dd32d6163d48d42cc8277174280ac9e9153c467e82693ca808d5ed46906a03ce02f6bfcaf8a497d9256918c4ca84fb4a3cb4581e43278989841cde1411736f03c390aaba697693f9dec3e38f06d0b05a48c1734090b5948c3fa80b5e262c91c903ec038a3982f934944bd7a09f0a7124563f975e9fbae1f67a8b7babd811142a920356a01660de8abbe18fa78dc917931badb68e48ebb438bfae15b9aa0d482f01c7036ac3cc56a734873c7858422c4f4fdde491d411d59d0b53bc5f0266b66e1c0eff0359e65d39647dcc0f14aff84e215a76ae3a4d61e74284d277f2ad576b5a7ddcec039543b08f4780de40f626f260f5a97cef51d75b777b699523b3b27aa99ed84e7e03eb027f94c4fc80361dcdba87135bab6676bcb3eefdfbc814bee52de42c410c97035cde786a3268d6971a66e4da303c339b38cb1332eea7793a6acd8db74f81aa2f036a8d44e450560cdc6fa64da1f80e79c02492056388a8414185599db3b3e59a7804595245608060405234801561001057600080fd5b506004361061020b5760003560e01c806375d39ecb1161012a578063b6dc010d116100bd578063d0c93a7c1161008c578063eabb562211610071578063eabb562214610c2e578063f30dba9314610c50578063f637731d14610c9d5761020b565b8063d0c93a7c14610c07578063d21220a714610c265761020b565b8063b6dc010d14610b0d578063b8cca34e14610b7a578063c31b8d7a14610bc3578063c45a015514610bff5761020b565b80639c421449116100f95780639c42144914610963578063a23ba09c146109ed578063a34123a714610a3d578063b034430414610a775761020b565b806375d39ecb146107ca57806382cee55c1461081457806385b667291461086f57806393ffcbb8146108ac5761020b565b8063460985e8116101a25780635339c296116101715780635339c296146106d15780635d41514b146107035780637074d2df1461077657806370cf754a146107c25761020b565b8063460985e814610566578063490e6cbc146105aa5780634f1eb3d814610638578063514ea4bf146106895761020b565b806333580959116101de57806333580959146103a95780633850c7bd146103e05780633c8a7d8d146104215780633f442864146104c35761020b565b80630c033b9b146102105780630dfe1681146102cb578063128acb08146102ef5780631a68650214610385575b600080fd5b6102b2600480360360e081101561022657600080fd5b6001600160a01b03823581169260208101351515926040820135926060830135169160808101359160a0820135919081019060e0810160c082013564010000000081111561027357600080fd5b82018360208201111561028557600080fd5b803590602001918460018302840111640100000000831117156102a757600080fd5b509092509050610cc3565b6040805192835260208301919091528051918290030190f35b6102d3610da7565b604080516001600160a01b039092168252519081900360200190f35b6102b2600480360360a081101561030557600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561034657600080fd5b82018360208201111561035857600080fd5b8035906020019184600183028401116401000000008311171561037a57600080fd5b509092509050610dcb565b61038d610deb565b604080516001600160801b039092168252519081900360200190f35b6103b1610dfa565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6103e8610e14565b604080516001600160a01b03909516855260029390930b602085015262ffffff9091168383015215156060830152519081900360800190f35b6102b2600480360360a081101561043757600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561048457600080fd5b82018360208201111561049657600080fd5b803590602001918460018302840111640100000000831117156104b857600080fd5b509092509050610e47565b6102b260048036036101008110156104da57600080fd5b6001600160a01b03823581169260208101351515926040820135926060830135169160808101359160a0820135919081019060e0810160c082013564010000000081111561052757600080fd5b82018360208201111561053957600080fd5b8035906020019184600183028401116401000000008311171561055b57600080fd5b919350915035610e58565b6102b2600480360360a081101561057c57600080fd5b506001600160a01b038135811691602081013515159160408201359160608101359091169060800135610f3d565b610636600480360360808110156105c057600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156105f757600080fd5b82018360208201111561060957600080fd5b8035906020019184600183028401116401000000008311171561062b57600080fd5b509092509050610f5a565b005b6103b1600480360360a081101561064e57600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b03606082013581169160800135166112be565b6106a66004803603602081101561069f57600080fd5b50356112ce565b604080516001600160801b039485168152928416602084015292168183015290519081900360600190f35b6106f1600480360360208110156106e757600080fd5b503560010b6112fe565b60408051918252519081900360200190f35b6107376004803603606081101561071957600080fd5b508035151590602081013590604001356001600160a01b0316611310565b6040805195865260208601949094526001600160a01b039092168484015260020b60608401526001600160801b03166080830152519081900360a00190f35b6102b2600480360360c081101561078c57600080fd5b508035600290810b91602081013590910b906001600160801b036040820135169060608101359060808101359060a001356117e6565b61038d611886565b6102b2600480360360c08110156107e057600080fd5b506001600160a01b038135811691602081013515159160408201359160608101359091169060808101359060a001356118aa565b6102b2600480360360e081101561082a57600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b036060820135169060808101359060a08101359060c0013561197e565b6103b16004803603606081101561088557600080fd5b506001600160a01b03813516906001600160801b0360208201358116916040013516611a20565b6102b260048036036101008110156108c357600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169160808201359160a08101359160c08201359190810190610100810160e082013564010000000081111561092457600080fd5b82018360208201111561093657600080fd5b8035906020019184600183028401116401000000008311171561095857600080fd5b509092509050611d1c565b6109be600480360360c081101561097957600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b036060820135811691608081013582169160a09091013516611db3565b6040805194855260208501939093526001600160801b0391821684840152166060830152519081900360800190f35b6102b2600480360360e0811015610a0357600080fd5b506001600160a01b038135811691602081013515159160408201359160608101359091169060808101359060a08101359060c00135611de9565b6102b260048036036060811015610a5357600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316611ebd565b6102b2600480360360c0811015610a8d57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a081016080820135640100000000811115610ace57600080fd5b820183602082011115610ae057600080fd5b80359060200191846001830284011164010000000083111715610b0257600080fd5b919350915035611ed7565b6109be6004803603610120811015610b2457600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b03606082013581169160808101359160a08201359160c081013582169160e082013516906101000135611ef8565b6102b260048036036080811015610b9057600080fd5b5080356001600160a01b0316906020810135600290810b91604081013590910b90606001356001600160801b0316611fb3565b6102b260048036036080811015610bd957600080fd5b506001600160a01b03813581169160208101351515916040820135916060013516611fcf565b6102d3611fde565b610c0f612002565b6040805160029290920b8252519081900360200190f35b6102d3612026565b61063660048036036020811015610c4457600080fd5b503562ffffff1661204a565b610c7060048036036020811015610c6657600080fd5b503560020b612210565b604080516001600160801b039094168452600f9290920b6020840152151582820152519081900360600190f35b61063660048036036020811015610cb357600080fd5b50356001600160a01b0316612242565b6000808480421115610d01576040805162461bcd60e51b8152602060048201526002602482015261544f60f01b604482015290519081900360640190fd5b610d0f8b8b8b8b8989612396565b90935091508915610d5c5786826000031015610d57576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b610d99565b86836000031015610d99576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b509850989650505050505050565b7f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca081565b600080610ddc888888888888612396565b90999098509650505050505050565b6002546001600160801b031681565b6001546001600160801b0380821691600160801b90041682565b6000546001600160a01b03811690600160a01b810460020b90600160b81b810462ffffff1690600160d01b900460ff1684565b600080610ddc888888888888612628565b6000808580421115610e96576040805162461bcd60e51b8152602060048201526002602482015261544f60f01b604482015290519081900360640190fd5b610ea48c8c8c8c8a8a612396565b90935091508a15610ef15787826000031015610eec576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b610f2e565b87836000031015610f2e576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b50995099975050505050505050565b600080610f4c878787876128e4565b909890975095505050505050565b600054600160d01b900460ff16610f9e576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60d01b191690556002546001600160801b031680610fed576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b6000805461100c908790600160b81b900462ffffff16620f42406129f9565b600080549192509061102f908790600160b81b900462ffffff16620f42406129f9565b9050600061103b612a34565b90506000611047612b6d565b9050881561107a5761107a7f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca08b8b612c05565b87156110ab576110ab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a612c05565b336001600160a01b0316634040682085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561112d57600080fd5b505af1158015611141573d6000803e3d6000fd5b50505050600061114f612a34565b9050600061115b612b6d565b9050816111688588612d53565b11156111a0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b806111ab8487612d53565b11156111e3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b838203838203811561121157600180546001600160801b038082168501166001600160801b03199091161790555b801561123857600180546001600160801b03600160801b8083048216850182160291161790555b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60d01b1916600160d01b179055505050505050505050505050565b600080610f4c8787878787612d69565b600560205260009081526040902080546001909101546001600160801b0380831692600160801b90048116911683565b60046020526000908152604090205481565b6000808080808661134d576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b604080516080810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b6020830152600160b81b810462ffffff1692820192909252600160d01b90910460ff1615156060820152886113eb5780600001516001600160a01b0316876001600160a01b03161180156113e6575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038816105b61141d565b80600001516001600160a01b0316876001600160a01b031610801561141d57506401000276a36001600160a01b038816115b611454576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b600280546040805160c0810182528b81526000602080830182905286516001600160a01b0316938301939093529185015190930b60608401526001600160801b039091166080830181905260a0830182905291908a13905b8051158015906114d25750896001600160a01b031681604001516001600160a01b031614155b1561179a576114df6151fc565b816040015181600001906001600160a01b031690816001600160a01b03168152505061153d82606001517f00000000000000000000000000000000000000000000000000000000000000018f6004612f78909392919063ffffffff16565b15156040830152600290810b810b60208301819052620d89e719910b121561156e57620d89e719602082015261158d565b6020810151620d89e860029190910b131561158d57620d89e860208201525b61159a81602001516130ba565b6001600160a01b03166060820152604082015161160f908e6115d4578c6001600160a01b031683606001516001600160a01b0316116115ee565b8c6001600160a01b031683606001516001600160a01b0316105b6115fc5782606001516115fe565b8c5b6080850151855160408a01516133ec565b60c085015260a084015260808301526001600160a01b031660408301528215611671576116458160c001518260800151016135de565b825103825260a08101516116679061165c906135de565b6020840151906135f4565b60208301526116ac565b61167e8160a001516135de565b825101825260c081015160808201516116a69161169b91016135de565b60208401519061360a565b60208301525b60c081015160a0830180519091016001600160801b03169052606081015160408301516001600160a01b0391821691161415611759578060400151156117305760006117068260200151600361362090919063ffffffff16565b90508d15611712576000035b611720836080015182613644565b6001600160801b03166080840152505b8c61173f578060200151611748565b60018160200151035b600290810b900b6060830152611794565b80600001516001600160a01b031682604001516001600160a01b0316146117945761178782604001516136fa565b600290810b900b60608301525b506114ac565b8115158c1515146117b357602081015181518c036117c0565b80600001518b0381602001515b60408301516060840151608090940151929f919e509c50919a5098509650505050505050565b6000808280421115611824576040805162461bcd60e51b8152602060048201526002602482015261544f60f01b604482015290519081900360640190fd5b61182f898989613a26565b90935091508583108015906118445750848210155b61187a576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b50965096945050505050565b7f000000000000000000000000000000000000097451ff859c3282305ffa26a9c581565b60008082804211156118e8576040805162461bcd60e51b8152602060048201526002602482015261544f60f01b604482015290519081900360640190fd5b6118f4898989896128e4565b90935091508715611941578482600003101561193c576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b61187a565b8483600003101561187a576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b60008082804211156119bc576040805162461bcd60e51b8152602060048201526002602482015261544f60f01b604482015290519081900360640190fd5b6119c88a8a8a8a613ba2565b90935091508583108015906119dd5750848210155b611a13576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b5097509795505050505050565b600080548190600160d01b900460ff16611a67576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60d01b19169055604080516331056e5760e21b8152905133917f00000000000000000000000070fe4a44ea505cfa3a57b95cf2862d4fd5f0f6876001600160a01b03169163c415b95c91600480820192602092909190829003018186803b158015611ad757600080fd5b505afa158015611aeb573d6000803e3d6000fd5b505050506040513d6020811015611b0157600080fd5b50516001600160a01b031614611b43576040805162461bcd60e51b8152602060048201526002602482015261554160f01b604482015290519081900360640190fd5b6001546001600160801b0390811690851611611b5f5783611b6c565b6001546001600160801b03165b6001549092506001600160801b03600160801b909104811690841611611b925782611ba6565b600154600160801b90046001600160801b03165b90506001600160801b03821615611c27576001546001600160801b0383811691161415611bd557600019909101905b600180546001600160801b031981166001600160801b03918216859003821617909155611c27907f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca09087908516612c05565b6001600160801b03811615611cad576001546001600160801b03828116600160801b909204161415611c5857600019015b600180546001600160801b03600160801b808304821685900382160291811691909117909155611cad907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416612c05565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60d01b1916600160d01b1790559094909350915050565b6000808480421115611d5a576040805162461bcd60e51b8152602060048201526002602482015261544f60f01b604482015290519081900360640190fd5b611d688c8c8c8c8989612628565b9093509150878310801590611d7d5750868210155b610f2e576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b600080600080611dc4898989613a26565b9094509250611dd68a8a8a8989612d69565b949b939a50985092965090945050505050565b6000808380421115611e27576040805162461bcd60e51b8152602060048201526002602482015261544f60f01b604482015290519081900360640190fd5b611e338a8a8a8a6128e4565b90935091508815611e805785826000031015611e7b576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b611a13565b85836000031015611a13576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b600080611ecb858585613a26565b90969095509350505050565b600080611ee8898989898989612396565b909a909950975050505050505050565b6000806000808480421115611f39576040805162461bcd60e51b8152602060048201526002602482015261544f60f01b604482015290519081900360640190fd5b611f448d8d8d613a26565b9095509350898510801590611f595750888410155b611f8f576040805162461bcd60e51b8152602060048201526002602482015261105360f21b604482015290519081900360640190fd5b611f9c8e8e8e8b8b612d69565b959f949e509c50939a509198505050505050505050565b600080611fc286868686613ba2565b9097909650945050505050565b600080611fc2868686866128e4565b7f00000000000000000000000070fe4a44ea505cfa3a57b95cf2862d4fd5f0f68781565b7f000000000000000000000000000000000000000000000000000000000000000181565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b600054600160d01b900460ff1661208e576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60d01b191690556040805163bc8520d360e01b815233600482015290516001600160a01b037f00000000000000000000000070fe4a44ea505cfa3a57b95cf2862d4fd5f0f687169163bc8520d3916024808301926020929190829003018186803b15801561210157600080fd5b505afa158015612115573d6000803e3d6000fd5b505050506040513d602081101561212b57600080fd5b5051600114612166576040805162461bcd60e51b8152602060048201526002602482015261554160f01b604482015290519081900360640190fd5b620186a08162ffffff16111561217b57600080fd5b6000805462ffffff838116600160b81b8181027fffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffff8516179094556040805194909304919091168084526020840191909152815190927f0eb63f4a36d6bdeee05aa00020a97d80c3e84f1b5b3ebf345fb67262e62b0f3392908290030190a150506000805460ff60d01b1916600160d01b179055565b600360205260009081526040902080546001909101546001600160801b03821691600160801b9004600f0b9060ff1683565b6000546001600160a01b031615612285576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612290826136fa565b6000805460ff60d01b19600284900b62ffffff8116600160a01b0262ffffff60a01b196001600160a01b03891673ffffffffffffffffffffffffffffffffffffffff199095168517161791909116600160d01b1790925560408051918252602082019290925281519293507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95929081900390910190a15050565b60008082600281900b620d89e7198161233f57fe5b05029050600083600281900b620d89e88161235657fe5b0502905060008460020b83830360020b8161236d57fe5b0560010190508062ffffff166001600160801b0380168161238a57fe5b0493505050505b919050565b6000806123a588888888613d43565b909250905086156124de5760008112156123e7576123e77f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28983600003612c05565b60006123f1612a34565b9050336001600160a01b0316633a1c453c848488886040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561247557600080fd5b505af1158015612489573d6000803e3d6000fd5b50505050612495612a34565b61249f8285612d53565b11156124d8576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50612608565b6000821215612515576125157f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca08984600003612c05565b600061251f612b6d565b9050336001600160a01b0316633a1c453c848488886040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156125a357600080fd5b505af11580156125b7573d6000803e3d6000fd5b505050506125c3612b6d565b6125cd8284612d53565b1115612606576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b6000805460ff60d01b1916600160d01b1790559097909650945050505050565b600080548190600160d01b900460ff1661266f576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60d01b191690556001600160801b03851661268f57600080fd5b6000806126dd60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016126d38a6001600160801b031661440d565b600f0b905261441e565b925092505081935080925060008060008611156126ff576126fc612a34565b91505b84156127105761270d612b6d565b90505b336001600160a01b0316634ced80a387878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561279257600080fd5b505af11580156127a6573d6000803e3d6000fd5b5050505060008611156127fd576127bb612a34565b6127c58388612d53565b11156127fd576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561284d5761280b612b6d565b6128158287612d53565b111561284d576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60d01b1916600160d01b17905550919890975095505050505050565b6000806128f386868686613d43565b9092509050841561296f576000821315612933576129337f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca03330856145c8565b600081121561296a5761296a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28783600003612c05565b6129db565b60008113156129a4576129a47f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc23330846145c8565b60008212156129db576129db7f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca08784600003612c05565b6000805460ff60d01b1916600160d01b179055909590945092505050565b6000612a0684848461471f565b905060008280612a1257fe5b8486091115612a2d576000198110612a2957600080fd5b6001015b9392505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca01693919290918291908083835b60208310612acd5780518252601f199092019160209182019101612aae565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612b2d576040519150601f19603f3d011682016040523d82523d6000602084013e612b32565b606091505b5091509150818015612b4657506020815110155b612b4f57600080fd5b808060200190516020811015612b6457600080fd5b50519250505090565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310612acd5780518252601f199092019160209182019101612aae565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310612c815780518252601f199092019160209182019101612c62565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612ce3576040519150601f19603f3d011682016040523d82523d6000602084013e612ce8565b606091505b5091509150818015612d16575080511580612d165750808060200190516020811015612d1357600080fd5b50515b612d4c576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b80820182811015612d6357600080fd5b92915050565b600080548190600160d01b900460ff16612db0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60d01b19168155612dca60053389896147ce565b80549091506001600160801b03600160801b909104811690861611612def5784612e02565b8054600160801b90046001600160801b03165b60018201549093506001600160801b0390811690851611612e235783612e32565b60018101546001600160801b03165b91506001600160801b03831615612e955780546001600160801b03600160801b8083048216869003821602918116919091178255612e95907f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0908a908616612c05565b6001600160801b03821615612ef8576001810180546001600160801b031981166001600160801b03918216859003821617909155612ef8907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516612c05565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60d01b1916600160d01b17905590969095509350505050565b60008060008460020b8660020b81612f8c57fe5b05905060008660020b128015612fb357508460020b8660020b81612fac57fe5b0760020b15155b15612fbd57600019015b831561303257600080612fcf83614832565b600182810b810b600090815260208d9052604090205460ff83169190911b8001600019019081168015159750929450909250908561301457888360ff16860302613027565b8861301e82614844565b840360ff168603025b9650505050506130b0565b60008061304183600101614832565b91509150600060018260ff166001901b031990506000818b60008660010b60010b815260200190815260200160002054169050806000141595508561309357888360ff0360ff168660010101026130a9565b888361309e836148e4565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b126130d1578260020b6130d9565b8260020b6000035b9050620d89e8811115613117576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b60006001821661312b57600160801b61313d565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615613171576ffff97272373d413259a46990580e213a0260801c5b6004821615613190576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156131af576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156131ce576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156131ed576fff973b41fa98c081472e6896dfb254c00260801c5b604082161561320c576fff2ea16466c96a3843ec78b326b528610260801c5b608082161561322b576ffe5dee046a99a2a811c461f1969c30530260801c5b61010082161561324b576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b61020082161561326b576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561328b576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156132ab576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156132cb576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156132eb576fa9f746462d870fdf8a65dc1f90e061e50260801c5b61400082161561330b576f70d869a156d2a1b890bb3df62baf32f70260801c5b61800082161561332b576f31be135f97d08fd981231505542fcfa60260801c5b6201000082161561334c576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561336c576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561338b576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156133a8576b048a170391f7dc42444e8fa20260801c5b60008460020b13156133c35780600019816133bf57fe5b0490505b6401000000008106156133d75760016133da565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906134715760006134258989620f42400362ffffff16620f424061471f565b90508261343e576134398c8c8c60016149ce565b61344b565b61344b8b8d8c6001614a49565b955085811061345c578a965061346b565b6134688c8b8386614b06565b96505b506134bb565b81613488576134838b8b8b6000614a49565b613495565b6134958a8c8b60006149ce565b93508388600003106134a9578995506134bb565b6134b88b8a8a60000385614b52565b95505b6001600160a01b038a811690871614821561351e578080156134da5750815b6134f0576134eb878d8c6001614a49565b6134f2565b855b95508080156134ff575081155b61351557613510878d8c60006149ce565b613517565b845b9450613568565b8080156135285750815b61353e576135398c888c60016149ce565b613540565b855b955080801561354d575081155b6135635761355e8c888c6000614a49565b613565565b845b94505b8115801561357857508860000385115b15613584578860000394505b8180156135a357508a6001600160a01b0316876001600160a01b031614155b156135b25785890393506135cf565b6135cc868962ffffff168a620f42400362ffffff166129f9565b93505b50505095509550955095915050565b6000600160ff1b82106135f057600080fd5b5090565b80820382811315600083121514612d6357600080fd5b81810182811215600083121514612d6357600080fd5b600290810b900b60009081526020919091526040902054600160801b9004600f0b90565b60008082600f0b12156136a957826001600160801b03168260000384039150816001600160801b0316106136a4576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b612d63565b826001600160801b03168284019150816001600160801b03161015612d63576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b03831610801590613736575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b61376b576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c9790881196179094179092171790911717176080811061380c57607f810383901c9150613816565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b14613a1757886001600160a01b03166139fb826130ba565b6001600160a01b03161115613a105781613a12565b805b613a19565b815b9998505050505050505050565b600080548190600160d01b900460ff16613a6d576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60d01b1916815560408051608081018252338152600288810b602083015287900b9181019190915281908190613ac69060608101613ab96001600160801b038a1661440d565b600003600f0b905261441e565b9250925092508160000394508060000393506000851180613ae75750600084115b15613b2b5782546001840180546001600160801b03818116880181166001600160801b031990921691909117909155600160801b8083048216880182160291161783555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60d01b1916600160d01b179055509094909350915050565b600080548190600160d01b900460ff16613be9576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60d01b191690556001600160801b038316613c0957600080fd5b600080613c4d60405180608001604052808a6001600160a01b031681526020018960020b81526020018860020b81526020016126d3886001600160801b031661440d565b9095509350849250839150508115613c8b57613c8b7f0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca03330876145c8565b8215613cbd57613cbd7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc23330866145c8565b604080513381526001600160801b0387166020820152808201869052606081018590529051600288810b92908a900b916001600160a01b038c16917f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde919081900360800190a450506000805460ff60d01b1916600160d01b179055909590945092505050565b60008083613d7d576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b604080516080810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b6020830152600160b81b810462ffffff1692820192909252600160d01b90910460ff16151560608201819052613e09576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b85613e545780600001516001600160a01b0316846001600160a01b0316118015613e4f575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038516105b613e86565b80600001516001600160a01b0316846001600160a01b0316108015613e8657506401000276a36001600160a01b038516115b613ebd576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60d01b19168155600280546040805160c081018252898152602080820186905286516001600160a01b0316928201929092529085015190920b60608301526001600160801b03166080820181905260a08201839052918713905b805115801590613f435750866001600160a01b031681604001516001600160a01b031614155b156141d957613f506151fc565b60408201516001600160a01b031681526060820151613f93906004907f00000000000000000000000000000000000000000000000000000000000000018d612f78565b15156040830152600290810b810b60208301819052620d89e719910b1215613fc457620d89e7196020820152613fe3565b6020810151620d89e860029190910b1315613fe357620d89e860208201525b613ff081602001516130ba565b6001600160a01b031660608201526040820151614064908b61402a57896001600160a01b031683606001516001600160a01b031611614044565b896001600160a01b031683606001516001600160a01b0316105b6140525782606001516115fe565b896080850151855160408a01516133ec565b60c085015260a084015260808301526001600160a01b0316604083015282156140bb5761409a8160c001518260800151016135de565b825103825260a08101516140b19061165c906135de565b60208301526140eb565b6140c88160a001516135de565b825101825260c081015160808201516140e59161169b91016135de565b60208301525b60c081015160a0830180519091016001600160801b03169052606081015160408301516001600160a01b03918216911614156141985780604001511561416f5760006141458260200151600361362090919063ffffffff16565b90508a15614151576000035b61415f836080015182613644565b6001600160801b03166080840152505b8961417e578060200151614187565b60018160200151035b600290810b900b60608301526141d3565b80600001516001600160a01b031682604001516001600160a01b0316146141d3576141c682604001516136fa565b600290810b900b60608301525b50613f1d565b836020015160020b816060015160020b1461424c5760408101516060820151600080546001600160a01b0390931673ffffffffffffffffffffffffffffffffffffffff1960029390930b62ffffff16600160a01b0262ffffff60a01b19909416939093179190911691909117905561427e565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b80608001516001600160801b0316836001600160801b0316146142c0576080810151600280546001600160801b0319166001600160801b039092169190911790555b88156143085760a08101516001600160801b0316156143035760a0810151600180546001600160801b031981166001600160801b03918216909301169190911790555b614346565b60a08101516001600160801b0316156143465760a0810151600180546001600160801b03808216600160801b92839004821690940116029190911790555b8115158915151461435f5760208101518151890361436c565b8060000151880381602001515b8096508197505050896001600160a01b0316336001600160a01b03167fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67888885604001518660800151876060015160405180868152602001858152602001846001600160a01b03168152602001836001600160801b031681526020018260020b81526020019550505050505060405180910390a35050505094509492505050565b80600f81900b811461239157600080fd5b600080600061443584602001518560400151614b9e565b604080516080810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840191909152600160b81b820462ffffff1683850152600160d01b90910460ff161515606080840191909152875191880151938801519088015192936144a993909190614c67565b93508460600151600f0b6000146145c057846020015160020b816020015160020b12156144fe576144f76144e086602001516130ba565b6144ed87604001516130ba565b8760600151614d8e565b92506145c0565b846040015160020b816020015160020b121561459657600254815160408701516001600160801b03909216916145429190614538906130ba565b8860600151614d8e565b935061456061455487602001516130ba565b83516060890151614dd2565b9250614570818760600151613644565b600280546001600160801b0319166001600160801b0392909216919091179055506145c0565b6145bd6145a686602001516130ba565b6145b387604001516130ba565b8760600151614dd2565b91505b509193909250565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000948594938a169392918291908083835b6020831061464c5780518252601f19909201916020918201910161462d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146146ae576040519150601f19603f3d011682016040523d82523d6000602084013e6146b3565b606091505b50915091508180156146e15750805115806146e157508080602001905160208110156146de57600080fd5b50515b614717576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b505050505050565b6000808060001985870986860292508281109083900303905080614755576000841161474a57600080fd5b508290049050612a2d565b80841161476157600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60020b600881901d9161010090910790565b600080821161485257600080fd5b600160801b821061486557608091821c91015b68010000000000000000821061487d57604091821c91015b640100000000821061489157602091821c91015b6201000082106148a357601091821c91015b61010082106148b457600891821c91015b601082106148c457600491821c91015b600482106148d457600291821c91015b6002821061239157600101919050565b60008082116148f257600080fd5b5060ff6001600160801b0382161561490d57607f1901614915565b608082901c91505b67ffffffffffffffff82161561492e57603f1901614936565b604082901c91505b63ffffffff82161561494b57601f1901614953565b602082901c91505b61ffff82161561496657600f190161496e565b601082901c91505b60ff8216156149805760071901614988565b600882901c91505b600f82161561499a57600319016149a2565b600482901c91505b60038216156149b457600119016149bc565b600282901c91505b60018216156123915760001901919050565b6000836001600160a01b0316856001600160a01b031611156149ee579293925b81614a1b57614a16836001600160801b03168686036001600160a01b0316600160601b61471f565b614a3e565b614a3e836001600160801b03168686036001600160a01b0316600160601b6129f9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b03161115614a69579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b038686038116908716614aa557600080fd5b83614ad557866001600160a01b0316614ac88383896001600160a01b031661471f565b81614acf57fe5b04614afb565b614afb614aec8383896001600160a01b03166129f9565b886001600160a01b0316614e01565b979650505050505050565b600080856001600160a01b031611614b1d57600080fd5b6000846001600160801b031611614b3357600080fd5b81614b4557614a168585856001614e0c565b614a3e8585856001614eed565b600080856001600160a01b031611614b6957600080fd5b6000846001600160801b031611614b7f57600080fd5b81614b9157614a168585856000614eed565b614a3e8585856000614e0c565b8060020b8260020b12614bde576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614c21576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614c63576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6000614c7660058686866147ce565b905060008083600f0b600014614d4c57614cb56003878660007f000000000000000000000000000000000000097451ff859c3282305ffa26a9c5614fe2565b9150614ce66003868660017f000000000000000000000000000000000000097451ff859c3282305ffa26a9c5614fe2565b90508115614d1a57614d1a6004877f000000000000000000000000000000000000000000000000000000000000000161511b565b8015614d4c57614d4c6004867f000000000000000000000000000000000000000000000000000000000000000161511b565b614d568385615181565b600084600f0b1215614d84578115614d7357614d736003876151c0565b8015614d8457614d846003866151c0565b5050949350505050565b60008082600f0b12614db457614daf614daa8585856001614a49565b6135de565b614a41565b614dc7614daa8585856000036000614a49565b600003949350505050565b60008082600f0b12614dee57614daf614daa85858560016149ce565b614dc7614daa85858560000360006149ce565b808204910615150190565b60008115614e7f5760006001600160a01b03841115614e4257614e3d84600160601b876001600160801b031661471f565b614e5a565b6001600160801b038516606085901b81614e5857fe5b045b9050614e77614e726001600160a01b03881683612d53565b6151e6565b915050614a41565b60006001600160a01b03841115614ead57614ea884600160601b876001600160801b03166129f9565b614ec4565b614ec4606085901b6001600160801b038716614e01565b905080866001600160a01b031611614edb57600080fd5b6001600160a01b038616039050614a41565b600082614efb575083614a41565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614f9b576001600160a01b03861684810290858281614f3b57fe5b041415614f6c57818101828110614f6a57614f6083896001600160a01b0316836129f9565b9350505050614a41565b505b614f9282614f8d878a6001600160a01b03168681614f8657fe5b0490612d53565b614e01565b92505050614a41565b6001600160a01b03861684810290858281614fb257fe5b04148015614fbf57508082115b614fc857600080fd5b808203614f60614e72846001600160a01b038b16846129f9565b600284810b900b600090815260208690526040812080546001600160801b03168261500d8288613644565b9050846001600160801b0316816001600160801b0316111561505b576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b038281161590821615811415945015615086576001838101805460ff191690911790555b82546001600160801b0319166001600160801b038216178355856150cf5782546150ca906150c590600160801b9004600f90810b810b908a900b61360a565b61440d565b6150f0565b82546150f0906150c590600160801b9004600f90810b810b908a900b6135f4565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909695505050505050565b8060020b8260020b8161512a57fe5b0760020b1561513857600080fd5b6000806151538360020b8560020b8161514d57fe5b05614832565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b80600f0b600014614c635781546151a1906001600160801b031682613644565b82546001600160801b0319166001600160801b03919091161790915550565b600290810b900b600090815260209190915260408120908155600101805460ff19169055565b806001600160a01b038116811461239157600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091529056fea164736f6c6343000706000a005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581b010000320005f300000000000000011443cbe4a1d08daef0fb71d000582002d30442b945e900a78e8d50d106f6d41000bb7a4f9006eba30d9821990125c441010219220003e94f7375c9c6f068c5c6ee4c0c8293adb66dae2207f8c4133680fa923c88004c00582003b1079ece0ad831f0f1074f6a775e9225773ef14459118df93d6d85b418b070581a561a92bebb57734343ae000000000000561a92bebb57734343ae00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04a1effc36fd44e202029f802182200582002b4806c8a85463b72c96d1e28b395ac8720d33928bb7d8891c45cc54954255b581857dea61e2cc43181000000000000000057dea61e2cc431810058200278b39ae72a7132654c78e283d9063f156e01fa425d0ddbe4be8e18d00968c341010219240100582002bca9edd621e0f97582fa25f616d475cabe2fd783c8117900e5fed83ec22a7c58200121c0000000000000000400100000000000001000000000000000000000000003d7bd9272cb00e8d3d532d6a340a45b7e2d26e635a5a7477feef8fe7ebb76218200582002e3a2b8a888f9fd1579e26225ef7cafd6c97bbdf98211be7e564b1849298cf9581a0828624c07648c80024e0000000000000828624c07648c80024e0058200222043af4315fe1b47cd0a7f1d4be92fb49e476f05fe985b486b7159228eb0b4a03ece5c235caada0074d0219242103055652f624a9f92282eb2df05c0531ce42507657dfdcfb26f68256243f3829e8033714d27fd0e8d642c2fa9ed08393435109461e931d247ce524bfe097ca7e21ba00582103ffd52fcd00761b543798bf5c2063afcdce87a1ada1e6412b72a79a509eb325604a010755abe4725670055803e88f8333347e829892b3d307c5fe047d9cd20a64f9c2cdb11cd90df5462eed5500582103870608ce0980bf5e35ad1e30269b2ba72b6ea6e0aa3c9f8add3bdeec2f7b4a104101005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf658181171aa0e8bfdb71600000000000000000e7fc2781a823ade00582002b8cda726283da1bda880315b9ce00c94e05dc86ddfdc674caf561531f45b0d4a561a92bebb57734343ae00582002a72fe54d096d14ae38743163131f70f5ca902e7db16ded03cb6b42a5692e6d4a12ea7b61971ee600205d02190a0203c6e2afc1988dfcd424f2e48adb386f924aa3d5de96fc536016191a0a716da78d00582103c2887b4c41079070e0138b68d40b7999501be0e33faf357b4b50a82fbfc7f5c0410103b83a2a9d34c80481665ef7d02e5655fbec7115022f8038c170f56be01eed24ab0219bffc05581e03af5d65cd2b28ec42d4b043933257e26f0496317ede567f4d2a9cb63bf0070119524505581e0360422f06ea299b20c7ff1a1bac06d8d2991728eb3fd100eaecb26ec1400c0147015a2fe645af8005581e037ef4fb5a395235b669c50b2187a85abf33ad7a2643672e338556faaf100c014702066def0a5929038333cfb93050696e9b71f7e1fda310c19964440e2b833fd3a9ee452b420166b00346c3ae2cc24d2d0f266f4a65c52acc40386df6809829b9d79ff245e7be82695f03c4eb89ef136b1005c016d1c30bb367440c2663143bf9126784f8ddc80f37e78603c0f095152201384c55fd1771d1f69175a153e72f92f093528514612cb8d663dd01410c031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e039ec058dd3cb00de8697106a303eb1ae0f0a9f94d4734bc6c97a4a337d007011bffffffffffffffff05581e03bdd94286f5aa3d1f069c967278c4904796bef7a1bb74d8c59529c057b00c1859463f5082c967f80219f1a503dab51b0ca3b3aba1710447dccc7b4fb1889e4468dbd9d8924373fed4f863f5b103ae410b28609f0f54df895a4c98013a51b851e077145f2e75854ffb8ba3be2635033ebfe3d253039621ec0cae06e7e0262ca603d7005e414be4b9483e0862ae387a0342c313e717a15bebb9b05ff3ab499c3a50f29ce865b9159329bf73f0cf4c1912039b1b0f5f0075979ca2d72716ba024383447aa6f8e96f96c3ac6e805a3d80853c0309f52696ba736415da0d9b240a88d73ba58885b859a4fac125a4d8af4fd57681033cef4417315c336ce9ca0b52b9ba200721a50e4625c9a9063fe883cb84d2673d03e83bac49372cea90e00329f81a4b76c7df58bf5b06c5b1a26d94830587d1e8c903acbfb576d095c7d60baa2a4e5a6006994ccf555d754fccb18422ae08748e0a0c03fb6c0118de4c530da25e14b5ae159070944f358e0c629df70faffbf98d8934ec038b1113a5b8295af3bfd52b7ad359ae31c35e1737c168e85cb11b77cff0673b7003845289041637c8416a70512a298bd48937cbe1e2032006b5f58e00059708280c03ff01b1aa43efdfc698f66ecef815eed0296295290d6db6219f79c8376e259977032166a00ebde6ef5a657c40c8b2e34d101bffbfc887dbc2e9f5fb5e2c88e9f8980219ffff03deec4ab478745a7f2311a11376a4b1a72c023b4823fe6e81b06e828135e66da603d7d8066d7c1a29c7beb4d3354e3ae8390c49200f95d690b3fea21822cd5d8b48034dece61f57ce96726a263c1bd2f48a15068874859f05ee5420b6a09226833323036428aaeb43f31f8fc84507fa2edd6f1006272dc6afa4c3108c54e32b39f2f99103384bf6c44726029f44a0762dc3c48fbf80d5a24a55a43c9c2283f1b8359dd7b1037851facdf1f5184462deba1076841ea050fedff79c65a5891ce826a5c622e2d4036409f9f7a66f0b9053821af2a83719b25fc9f92a1511c628340b53af45707c8603f656341b50f645f511712727087898e5a8ca6c1a748f8c3bb8a261383a4a783a0309a95d03ba0e9380d4079c4bdb60e4920314c948fc01931c2491d5f8e84a08b3037cbacd943d800085230a608019085b92c801277d5c7e12b6e31b60390b9007c703f264a963c02f5c42dde91e504667df9a22035aece72825cc5dff4a9ef9b6c5b2037210c4243d84abdfac41b43ec0dc4f52a57f5921981df287ba2dbf2df56b93e5036a4fa0da04da4c8414202b6c961ed61b5bfe82795cd4c2f46ddc671f4056705203bcd4a5fa62cb2554296cbdf11f266f61397aac06f8a6196c1c80ca2f787e0fc30219ffff030f61258f8b0ad93799e23fee57f6500f96c5142918891877028b47aa0e53326403bd7d0ca9c1e91f6e66ea83e30ed8874a27572f4c506074eb8dd828e53ac687e0030a33bf9d07ffbaabbf910d5e0c374b81fa800eb675eb618880f1a94c113abb41033054276c070afbfa9a2a2652f95ef4bb959ccdc363cb319992c93454eb374b4c0380e15e0258f96562114b6a444e079f2031719addb59a75e1708c07d27116f2a40219ffff03a86f32bb97af78fd51c3a70e32b55e80d507564e9b44186e0395f29bbc82f8f303fea4838d1933c31ac517295922ce01631c61fd885ae15bb2ad29e77ac22ca0ab033863d7dce41f9c6652963ad494c2e9d48d613cb5ddee023c73797f3583b2eb7203baca80286a65e47eac94d4ed5ed8ddab480cd66e2822d9709e19f54fa5371a0d031a23278e432fe04f638f5451ce449b3c8508e819f5df5639fc7b8c412f70986003feeaa96563cdfa9ee5b950f81e1339d0a2a1269dcd43aa1d9f5f40f56bbfdf9103318bfec9141635d7644bcc02806fcd4a9480cfb4e09ba7d151d0c7ce27c03e8b032d9aaab1eea3d7f9ebb39f906bfb100b2f38a0fe526536760ce4e7e1d68beee2039bd017b241a5e3532952ad131507022ea184b2744a616b2aa8e04ca6ef543bb403f8a240b275ad8907c52bc529964a8b2d94b10539976dc20bea78f89afcef8f5c03910a33ed2499d1789182e9c22de0787b495d0fa4a14cb07105fcf5b82db1b62d0219ffff0307e859db7e557ac0d01101a85e4a0bc2e690d8cd1a3f2a6f2be880138cfa22f00374b848ef1601ee4af51ad4f90719619181e7e4e83f875e7d69a3f04960766bd9039b6a72ebfa38d3c92c98c7c0b0278b46d53a511b6c5ac744d0c844f4326eb15f033bbd927bec80b135a609bddf903c5edebe0708658d7aeb7a5f6393e34d0f05c203360173bd897d5025fc3b7df7c5d5f89c0a18336558d3482872fd12b92e18f35803679acec5704fe97fda695c127a86e4088f9683bc1f4951109710a4c8c90f8c62038c898752cae84390411a9e8dccda4679d48352502ef4420b1bb8f594b79e029003ec48a6b09ee68f03ec7713cbe762c9388a5da4e341d0ddd4194e0782e73f6e4b033fbae23bb2efd7a7126c269492df8fdbca6d356533a786fe0ffe032c555d95ee03860be36ef3b6045aa2b4e71e740c1ab8db6b2593c33db6622fed39d994cb922203798be7d523e461c84669389b818432ad80bb5e5878ebe9588bba1d65a08f16770340030e9dea5b268c2dcea9fb9c8d9d0ddf641618c6c9128312fbfd1d3a0e969903b3e4fef09c736a19e96c6ce703c9183a4d9ec331a672d1036275fe7e4b2c804d038e2a4db6337f28bea3b5324f3f17b2803d84cb5b0672951346195d17604755060311c89069036d53e84bab9dd45d086e18465c9cb1696a334a50c71ea0e43ea8b9035b65e1b6f6603be8a410ddd67dc160533e2efcddafa6f478dd5812cbadfdb77a03b53ecbf120dc78602e1de4662893c977f25125ce13a2bc2f83db4a9b43f75e0e035e367ce8a8a83a8a6125ae9aecf9c32ed3d49f139a079d64fc23d7afdcbdf10403308c5e320b7c098c99efb2de52e78883fc883503742aeaa5cad9dfdf542d1a4303a958bea53e748438a1e1ad6a832548261bef6438b041b7bb2662a0ceea6a8eeb034652f9f47d1546e18594cf15e3a2b40fae20343724dc660aec264d2b296072ac03d1d24d7a45ec97846ea331f9a0336756947af7dd1b7654e6b7368f2686aba256031610a6eba295131ed17cc004444b014724ff8ebc3a1e88ede9ebbc54f07051ab0346ffa4e0287e7d5f00c6351a8742f29902e1e4b563ae3a244e02ea6fb80be74b0303c82b78229c6d5c57f06c99550de8505966c23da01d5b6b68225bb582a36a180374265f594de96381faa51376fe63d970820f73d3066bbaa946176d01a5ed07c50375c17a7180866285a943b81be641c41e57d56422a2aecb1b192fd47e604778b503a7cd89caa1e0ae97ac4f6986ff60dadb1b38bde5bed847a0f7c653866e5c48fb05581e03e7fe2bc04893e63913ba37fe932939b5ae938bbf4cc9e09795a03a6dc0040205581e03b8b6063bb6aba9a3ee7b658ceeadd4fc1982983010cc3bb34fe90c8cf008475fbcac1168f40005581e03f9b0c2481f0752b85d868912d62d9158f7aaf6e8f4155ebfce4a3adf20040103d7ddb3495f9c8cb1b4f5719adcba32dee1b669101330c8dfcd63230757a4bd4105581e030886c9dd7385db04ba26ccfa40854051ac1ddcb4e4791c989d427405d00c154721805cb985f06803f2294850a49a287b7f93e721aff148add3fde9c4e173179c8badd556627f67aa05581d0248baac208ddedbf0111b783f4404d902ba4e3c78c00a916253077788040404590c51606060405236156100b75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100bc578063095ea7b31461014757806318160ddd1461017d57806323b872dd146101a2578063313ce567146101de5780634000aea014610207578063661884631461028057806370a08231146102b657806395d89b41146102e7578063a9059cbb14610372578063d73dd623146103a8578063dd62ed3e146103de575b600080fd5b34156100c757600080fd5b6100cf610415565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610169600160a060020a036004351660243561044c565b604051901515815260200160405180910390f35b341561018857600080fd5b610190610499565b60405190815260200160405180910390f35b34156101ad57600080fd5b610169600160a060020a03600435811690602435166044356104a9565b604051901515815260200160405180910390f35b34156101e957600080fd5b6101f16104f8565b60405160ff909116815260200160405180910390f35b341561021257600080fd5b61016960048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506104fd95505050505050565b604051901515815260200160405180910390f35b341561028b57600080fd5b610169600160a060020a036004351660243561054c565b604051901515815260200160405180910390f35b34156102c157600080fd5b610190600160a060020a0360043516610648565b60405190815260200160405180910390f35b34156102f257600080fd5b6100cf610667565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037d57600080fd5b610169600160a060020a036004351660243561069e565b604051901515815260200160405180910390f35b34156103b357600080fd5b610169600160a060020a03600435166024356106eb565b604051901515815260200160405180910390f35b34156103e957600080fd5b610190600160a060020a0360043581169060243516610790565b60405190815260200160405180910390f35b60408051908101604052600f81527f436861696e4c696e6b20546f6b656e0000000000000000000000000000000000602082015281565b600082600160a060020a03811615801590610479575030600160a060020a031681600160a060020a031614155b151561048457600080fd5b61048e84846107bd565b91505b5b5092915050565b6b033b2e3c9fd0803ce800000081565b600082600160a060020a038116158015906104d6575030600160a060020a031681600160a060020a031614155b15156104e157600080fd5b6104ec85858561082a565b91505b5b509392505050565b601281565b600083600160a060020a0381161580159061052a575030600160a060020a031681600160a060020a031614155b151561053557600080fd5b6104ec85858561093c565b91505b5b509392505050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156105a957600160a060020a0333811660009081526002602090815260408083209388168352929052908120556105e0565b6105b9818463ffffffff610a2316565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a0381166000908152600160205260409020545b919050565b60408051908101604052600481527f4c494e4b00000000000000000000000000000000000000000000000000000000602082015281565b600082600160a060020a038116158015906106cb575030600160a060020a031681600160a060020a031614155b15156106d657600080fd5b61048e8484610a3a565b91505b5b5092915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610723908363ffffffff610afa16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600160a060020a03808416600081815260026020908152604080832033909516835293815283822054928252600190529182205461086e908463ffffffff610a2316565b600160a060020a0380871660009081526001602052604080822093909355908616815220546108a3908463ffffffff610afa16565b600160a060020a0385166000908152600160205260409020556108cc818463ffffffff610a2316565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b60006109488484610a3a565b5083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16858560405182815260406020820181815290820183818151815260200191508051906020019080838360005b838110156109c35780820151818401525b6020016109aa565b50505050905090810190601f1680156109f05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3610a0784610b14565b15610a1757610a17848484610b23565b5b5060015b9392505050565b600082821115610a2f57fe5b508082035b92915050565b600160a060020a033316600090815260016020526040812054610a63908363ffffffff610a2316565b600160a060020a033381166000908152600160205260408082209390935590851681522054610a98908363ffffffff610afa16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b600082820183811015610b0957fe5b8091505b5092915050565b6000813b908111905b50919050565b82600160a060020a03811663a4c0ed363385856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bbd5780820151818401525b602001610ba4565b50505050905090810190601f168015610bea5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610c0a57600080fd5b6102c65a03f11515610c1b57600080fd5b5050505b505050505600a165627a7a72305820c5f438ff94e5ddaf2058efa0019e246c636c37a622e04bb67827c7374acad8d60029033e5f3d6bdf3059b0f0fa71ea501754a33a77716c27270002f5fc3f64318a5af9033f5992d5b86118d6650eceb54a331de28ec2c7330b019cb60d46cbceb2402bbc03ca3f7b62ac583613364256a0aab48ac61eb79d2f08ebe9cfccccaa6f578bfc0d039bec13702ad971effda12114516968a562f50e249c2bc817d197e08ccbbea73a03bb50c9337636f0ea804dd779c7f09ae3b8e450c20a3966c0fe215ac2935f8d2c03743db3cfda06c8ae6336e3396eb2425c7d9c42c49d77040f6e4cbb269e1c761903ea882ee2e10171788dc22905249645532f174f4cfb43374e4de81a851661e14a03beebbe62672e332eefa5e4ba7a97e0a8ac2e4115264b342f1f4807fe72e5a43a03ba2a6df923ff97f4ad331617e4754ea57f2e82611b206aeb34d92b1c539f3b6c033c8e5def72455da86aa571c3af528bbfb2de9eae4c6620d6a98753ee946e4310031d28de67a19ad8d01a3e4781600bd9bd9d902b87a95d4126742eee0e149c35380390395448ef1fa69dd63e81b334e1e19e6ababe13a01fba8ae5f503acd41cd5b6039c6f4964dd49b7cf7bb09bbfe3c520f24efa805021b1812f5db8437c7499aead0389ea392f15b1d53441321d546c554263f733e12fff8524895add53853d502efd034d830a350fa94c74c4a838494b492d518232d900b2d63c6951267984ad24a069034b0ffa926d3e32194b6e1e6618f071d905efa52728ed3aff28e1c1c32836717103ef416d32a6864f20f9d747a32a9457b544abd608c9122a43fcf35967656bfdc703c6140d62540a212bda0bfd6d164d91720610fe1c8ab5ae4ce4e2525d9525b6a203a3f8328c2d34ed0fee85857fcff832442fb964abff8c88fd1ba95e7d232830a3030285b929541a35b1e9cea6cdea05f2707e6cfa45e3fa289975fc6fe63f97945400581f03835af9409c4379f24cfadd6f273096da12f4046af64cbad2d1aaceac8a70410100581f03e0299448b4958f312037eab49a4a50b13cb3468d5acbf42196e4e2f960305820fffffffffffffffffffffffffffffffffffffffffffffffe7d1fef59ab00bfff00581f031facf7f4876f5471de293f42597656b1c83c7f0919eb0039b59b680464205820fffffffffffffffffffffffffffffffffffffffffffffffe100ea85c02da1fff00581f03acb278a2cfde3a0bfdc1448615a54ad18f6df17d4e775ed2adf018cfc650482769b4f3fa1c000000581f0369104f2599b36047e071e74f6ccc33d814849d2944db756caff219227e50483d9a9124ceb7140000581e0256b78f16f409ab43b9ca415d4a36b0bf192e95d2c9ada6ccdbc7bf28624a08936ab471f030f3f0b500581e02a21b376531db6b49274f08dc7dbc404cf1689257d261d782793b488f024806f05b59d3b200000219408003f3b0fd9b00d3b95a114485597665e3dc9c2aae5b80217ae51688ee2022e11ca300581f03252efee8a6b8d189168706a49579418a60ba38a4b27cfe004751fe5f067049042f49b3fdab231c0000581f03daaff3863b860a3a53f8d5c279778b13c62105dc9d62d3ad8690af1f64304906f707f51d25d4200000581f03771a4be0c050254753c503ae1b947b47d35be52719801f45971886f40e2046583212deeead033955388c735312b5395a3d449a1184cdd170e6d0a16efe4ca85074f3daca493a0219feb403d1e8e4121566cde0f696693fdb683c3c3a05d1c8a52827e4ef34846c5203696c0350c548c25ee61d3bd8ecc81ed59e062280dd808678eda750e61ecaf621a5cf1e03b332650522a956395880b648295ceb9c55b8088b6b172562983368baecfb48750219ffff03d8cfed583ea8bf6ef5b52d06367bed5dbcda8714229cd759692ad763c6616b3203ee9031b6e73c99f3c8a05e78315e995b7170d29539a25b9318e8a090673fc7a503f7a026160047f7049e103792352241b13707a78647af627123dd1e24a3bfbab00329cefee4ee8f102e275b7d1d7b3427d27775eecd0a80424565df77a10f4f79d303f51c9be911020a735d0fde13460be4525d6118ff856c920dbfaa702cba9004f00339ce0d5dbea9042db27d1c2339d215da9e39e073950c471acb4e4b07d979d6f303e706963785e0fe69f206a9d060aabcb21b7cdf5fae578bc7e7a1eb1c5f2c275103ba3a9f0014b7f4dd209252c96136f40451c487589ef767b6cda5cf3c8c7cd92c0369037592166113756b4a686e57548d0dd83850c1fc35ef2b139f2995367b46ac0309712eb7796767dc32ac95b2585c055296b1c38e5c25c37344602ce1cedff425032c26c9d45b3bcba1ddcfa961654e66e2894f20e703fad670fac401c473bbe7ce032eb9dac5a1487ad1bf815c149c450ced8ba8448169cfeb617798100afe7f09f80339d18d0aab73d13fbdd89d2027a927e3dce2313f81025b0c62bc1b07a94f2539033b45421fb83edd443d9ceaa4fd11f5bd7f818f87931cd0e530d9088fa9321ee50219ffff03da6cc24954e33c4e3c883f44d3c9813fcc46d12bb555fbe2a3fdad34adf936c303dbd7d1937339eed8eefaccd0a43aa297946080ed63c79816de55708db7ed3a9003da54f4a3111e57d92b365b11752bc800ba6870eb1a473a66790de70b8d318dd803e7ff2b8a25a8c17c55ec3e9a671e762b82e58805992c5420c8909a0e0589e875037a928b813355f3e108a643f93ca29858c792abff655cb64d173eb6e8179acd08032bab7a17c400ecfaf2cb6ba04b03da46ea7a7e4fda522c79929f5d4d5d9b5f54033003be1ac5bbb09fbe8fecfc451548a90896ece646fb9fffde0a6adf8090c87503b0ea3cb0be0d6d26b5e6ff067a6a0ab1fcfb7fdd529d488a7c8bac4245fde5b903522122f96fcd292872e0c4169a9fa7cf0d050ac0544579025dc0e177e4a6edcc03ee906cbe90046b70b154b13f8a50796b17155badff5190217d840222cd9f74f8033dd15cef47d2d0ca510845c2fd08f75f661f85043d4b31c404ac1f8a96b67f1f03962af08ff638be92f3fb6206a2966c4920ad6013974dba6357ad7a4fbc59a80e03d720daa44dddedbd9b4536676cd97af62b4f2e483be4538d1806b9de0364942a03cbcbd0dff5ed442104dabc972bb894b86cb11c496f6925adde0fecd6ff185b3b0219ffff03f11ec61a3258fffafb9a2ddd25e298ff36d77a56da9854b4b76ee287bf8bca92032a68f2035951f46d6b8ff4fa35e9d0f2841581082b84f1c89078b39e488e0d5803135e3e169463ea0297a269a538218f6e2d92fd7ccb7c6d36a6247d6d5c099bdc03f9955a1b2ebf1bdafbf59d5949baa23db5f2c0d568ff5004daa472ff71349f8203f0042981110461e3dadf68d50b394b7f2bad37f955da0f4e98b8b08fb25b728d03c3fa919810746e443c4ebef2fc46d69819ef963d8c99258091f812e3d0101193037ed365e6298901f57eff1fbd83b2934670c89843897b6dabb968e0108c211bfa0329b300aa02f7fbbbf56f6895d7342a45cc715ee1eea50843f8170ad283d3037003c37e35ed367af3939dc53472bb858f9c8e80ef3fd1cd7f5fdd3c3744875e57890313a89a8cd4428fc1d1d74e159e42ae828870afdae34ae36f1b3ae90ba73e5304034915e595aa70c6c81efe0249f53df4e917ad82a7df69d59b03f471ae92de4b5403e38c767595b44405857245cc2217b199a79cbd69cd5cdc62d09f2af2c54d753b032bed519a7e66d94233a913022c586f66d880ecad8a8d1be6dbd9f09eebc8cf6503c6b15a45d061dd96f019ce6b029553c02ecb309bebe137e86bd6f5f71fb04f590393cd383fe3d7505d2997f0cfe71aeebecd4f33f5b33b8684454810afd54851d403461f70888d4ccfaa03405bd10082dc330de55885bf2c0c473a09252ebdc345cd0387ec7c83745db1e8bb06be60480d110b4e2de9f31bcda0cbd8f04893075dfe27039fdae0df438a577d4718042bf9c3b1972f3849a66f165d0cc42d4ccdccf03af700581f03625385bc0be660df66b9c9a85a65abd7c2fb2516cc416c851226fac1b190490d871e61dbf6140000035f11ffa51d55215ccc9bd4d2de102973e0453ccaaadbcfe23e993f578447831a00581f03d266888afc7f6b8ba2d4d393b82c88c7d26f6e86bcfa4a2ae7e3f2f3e4f04829a2241af62c000000581f03788dfe2b44ccce155d5e2ec89d3cbf6f3cdf49a2742c07e85346f11f7d104702446e303fcc0000581e027048d2ba28368aa1b9208cb262ba9f13e744bb1a6853891ac3172e3c0a48b0572a81a797440000581e0222d1a5af919ab2d625a274e3def67809a68eb59fa95491f06ce1fd4c0a4902aa54460087a18000021904020301121eb946065d58b35ea906ab465ffba77475e311e56790c3edcb6e2a4439fe03101247ca941e0c52b28453f3bfc7d56ea44898632a5ae5034ffb4a4cbad93ee600581f032ba84d075cfcba4df6043357fd3c47e40b65a99e91c874ca616bcb2ad1f04703ab27403dd4000370dc8292de654f63bc7d5e857525b78ec13308f1910fa530cbba483bab8ff8d200581f03b35b6f678b3482a4d2e33c4f5f7773f4017c486e31ce7967a61a0f7eb6304905ccf269f0e4c1a800032bd17da1eb17ab1d1b2f6a61c6679a8639edc598cfa8cbb19d91614af641402700581f033001a62df193902b819f2b97e3e96585886f90262ac967d48a7bfab0b6f04705ed749d9f38000219e76f034894484ac18de5db8b0cf9f35a847d6ece6adb0881f28061a1f5f56e63ec144203c7478823e0307a85505a31e15cb8dfed961153c4cbe63c8646795c3365d0fac8032e9d664fd842be0416f45337932e589bf1af552f35a2c323aa56a48a27adc2f00363dad3f862c26f22f6e30007c2397b531d2a3696d417534ed5801b2724a695bb037c3cd2809189f7e9d57245fb7ad20d60392c042688655be28f0455463745458d038219d658a449f2d1d1927bf2535923c59e500413ca463e6cf50f3b6e97dc5755037b77b01afc5822238e0b5d968f38e9e25db6891cb4b7062b18aedb833fe5e19b03629b786cc6a666697705732ed1d0167b30df0ee5e511ee8503de07d365fe8b3a03bfeb290b13a06b85ed42cbfbb76da1b4987a3f5c5c23324bfaedf3539783e3b70341e1cae42c5a71f1c4e65bbeee8294203d44a84c67bb56001d345c3515c275b90219ffff03426d1c980b258bea407ac78a6e42e3a13877f80fa4bfd8ccb1cb841c539aa7bb03323b232203ec7827f73f6a86b2b0e87e10e1896e230fed4fa3d1d1eaa2fae7cc03f40b709cb8ab5ea7f7cba20a20ef5f5a83c2e2d31feacc8117db758ff8a5df86035b6bcc6d234247cf83164a5756015503d0180bd05b4b46abc106a38dcdf134d703b2db5625c08fd4834c21237683592459470071117b4ad3d342cc244c9a4b065a03773cf3b8967d5d8e074346da3aaf41e39669dfcbbd2fa58132da5e6f9f9d3d3203c438ee212d65c5f5ac24c3321d44605dfa32fa6a87d68113fbc2ccbd8c8d94ab0338c5bfb3d10ad6c40b9e61f121485ad1f81b73176fe0855411f89cc5b9210c58034cf610fd3afa7dab7c30be8b211db776bb35dc7ab58650356bdb59f4b2dc1749031ce9cb23b5a7437b9813b44f71993d6b1db613f57d57c87840edada535a6825e033a48c361d132848f23fee89b52fbdfb905ce469d5bf8d20803e27a80097c28b503c6616206f3285f3b5802ec9547640e6219ba940413e15a3fc0ed61447968a2f6036ea7d88f83d360a5a3174132776951166af92fe92be3bbde452ae0ed37b423cc0219ffff033d2a04ef87ec4819a8254e5f5e9662afa396af61fa9a8eeddbeb71feb38f9c5603e412267c7e432b2eb177cd7a2bf85e177c88ae91aa888d8458ac50175b3da181034ef1861f213e851dcdda3a659256b13af8150d973e6411ad2de325bfe744a9be037570cc44fd6888549f1ab7197da1ef75b55f2634cd9317ab0bf08b73718175fb0385796555352732106542b3743d40c7d7505371c569fbdd3b3b8c2df9f4295bf40326899b56501a603c9e32194cd717cf065f55bf1bdc58c7806f2a15f577d8a46303883c7b8d8a3f3aa3861c0969ee59a6291dc5372844d7f4aef5989c28751dbf0f03044bf6c5d3ed84a8c622817c973177cdfd8fd4314e5891e7808edc2f10bf2f6003b2ea0bf09466dfe199430e74018814fd680bfaf8ccbbfa96b8f060383f2d00f90219ffff030729d25e0f77a3059f5e0a7bb1acb9286a1ab03f6ccf5a8ff67526e2adc1e8e503cfd98cc0698ae0a7352bbc4599d87d0a353fff9dddcb438a251a78603706d8360353455149ce11d2ebb484f71f70a5c4af15b3ed5ccedfc8a18b940d406c34691a0219ffff05581d0378cdbdee389ffae487e52692852fe4eea72ee89c2df62f7aa6826b500701190c5105581d036ceb55f7ad68b24036819da29a4ba0377b9a74178d5ca202f407e1400401021904040219400205581e03c22fed90dc76bb7d3c84ac58f4a01b6cffcb387a3b890178083c250a900c01470216061f65f92703673e6aeda9ddfb3b47fd730bc9a0cfca6fd262f972a611451142f5cfe64f4f80038f72e19892d0e60d5312e4f0f95bcc6c968951d8676a44438acd28eda2446e140329e5a40163e31fa80c1851a8915fa45b33de0f424782d27c599895297324431f05581e03c4c55b2e3f3c669cfe66f79ff3a395c3795f32d9db4834ff86a4897e7007011bffffffffffffffff0219bcfc031feba819ed565b026233f5bdbbb926b0a9589bd99e152b97e19191c3ca94010c03302ec4fc565d843e6cf4ae06d01769b54928f27693561efe2fcd5138f2a2fcec031951bd9e2d4d0bc475b01823382e5143cc604c0129a172c903145891a551a26503c1e18ff4c0d1872ab6cd3565aa4815602d9d142adc3845ac57c82cf660873b450369070d95ee2a89c824660e848313e6f035a2d5cdd6c64de982a6be3d78cac7e50371ceb23f42be0bfe7a6f51b7e731f332042f252243b4524070ae0fa700c772e203aeb1341a37a2311a3fb648d81e0c86568aea15cca8abab71b23d1cc400f2af0403b4e5b79b8011941b08a1c2eff02499809261f04cf2433afd6484e4ffb12ca1eb03f59f3e6ec3b676146169f0b460e56eed951134f0d805c81a710fc2486d669f5003912e0e00131a01f4ec2dcd7cf87569fe1111fa4d75a6cef7a30030d423cecd120219ffff03eddb5e4e299f434455792719d3b38d86a5de4fc9f51356a08e730eae4fb25faf03052abdbcccf896537e722b42eb006b24d7339c5b07d1b2005b6d7e92372b420603c21780a7be6dec5808794f5359d6625d482da67d446d47fc0ed75584cddee63f0219ffff03fec210a5e85e5b818d873f813d6996db229ca9481116c7c853b247427c2ca9a103aab236c829ece18578721359aa05f57dbbf2745e19098691cdd41482ddd1c8ad03db2145e664f78bd5f6ff67174623219178a8b9527a8084c470e92a74dd7a202103679a1135beb6ae80af06bbde11c2ead099654fc992a08caac4033c265c9117d8036b6f72027288ebed3125f3a3494e67eedd4e1175e41a7a119275dd265691a9df031a1eb3bae69d0815226ada80720afccf18df84cd752288b4a423e40f50309345034fffe5c69adcc0563d8be32b952e282c06270f4bfca023a05f12c99a7335a3110329e6fc18bb5e09ee61b656d2be4819dd00c05e015384ddcc91fecbb2cc6fc0b7032cb2daeaf6f6311b9a02ba9043ef397d17e15d819d7c0237e89bbac380d95eb903b39fb4d0ae253e2ad4b5960a385da29d3dc1635a43689bed88aaf4645b3c16af031994ab6412551795a6c032f1b2fa24a7ce634d1bcc8659979bd4fe7f55e80fce03b6749cd875a1abddb5284fa349404ba595a389dbbc720bef5c5674e4624947c3033e71489fc80e214af6dce60ac0e47cf45e0e8ee6a5fcc68a3efc71e98c8601400219ffff03fa9064dff7d4a640e3d1c78a41d81ff123f32f0e7ce7ae558e5b0c21f879ab8f0322533c9f5a82cbe41f317eab1405d32f1ffbaed82c1f4fecbd563c82459428c8037ac008da9a80141f05b6d851eb9140ffb4b1e973af8d49c2eeeed045c554296603724e00a4763185da6a4cf1eb5abf32f04865b3c9da53aa4e0a4b6697c2bba6e9032171cfd8bceb120b4b78ab8fcb11f5c0661604c555b91bc0f531902e6219ef3a0340df31fa3d206037715f0357f0c8e09adfeaf060bd8c9a92c0156e45b8c054fa03985634d3870f670f376b3cd7e3ff188fd4d2f53ec943e3aa653fd098215bb48103d01ad5008f67f2b35b851148231efb2a89cdae818d12b6ea455833eb6899b37e037cbc8fe05286d4ffc08b328b6e8d866339b7170c7e40c9f0fdb9c1666a72773103618c0c6d1c1b370a049ea5e651726973ed09fd78edf1f3a6b7cdb6edbbed5b760364db9c6fe1a9ab857970ffdb1bb5c50e8b5c10b4c33ec46760bb16e67db109b00307aec830856c2cf0b10ed7f3a238013f413658663f42a6cb9754c7b31188251303e727b63fb783bbccba3439148170f4b157dfd4879b57c78040ca0fc9e6cfdace03753a1e14c135ff38c369c8682109a8720432aef680d2f828ce51a559ced8518203361a38bfaebc3021d79f10cd5631ddaa5e13c5654f06233c2ead1898e223ccbf03a43896070939f312abf311f1059ef20e498a96fe11d54797aefd084248584d3103dafdfed34c12819784e258281c156abf5a53fba114544b8553582ae53f517ff203456c2473703304fb07c47ad9b3e176decb02a0b7e0c21fb795b2601936958a4703bc7f0005cbd098dc71936af19b574ab07a975d951ce38f28f78af8523daeba6b03d3da2cd068ba521e00438a877789b472a5e7bbccda6e346b225a2b3e728b11eb03469bdc3b5aee5ed12c58e6fd07e16924d2ad909735250c23c8756f12ef5f7f4d03bc5d1999fe0aeebb7a0bb4a2bad74636424a1eeb60d12adff75db5f35db5c27505581e03de43884d2132ab056b1691efae20dced9b4b6f0a6916eb6297a4eb855004010364dc7468fc8e498a62b092c9e63b3043b49bf6d0b3fb350a15563176aa4e7d78037934d4cae1614f9269cfbeb5c2d7a80f361b2c609c5429d005e2c1d68cff66e901410705581e034cc6e56e8168ed8b57d637d5a944dc69389547e497812a137a8fa83850040405581e03041a2d9de16c052fdaaa4e61a5b0a598ed0103fc40f3ac5053a4d7a87008474547258d1ec00003d77e3dd65e20ccdcd0de280b0b1c8451b3e2946c5baf8fe83b6bade9e1d69d5a05581e0321bed0fb34863e805a5895617c3a520fac232ee3081ae41e4a2b48ae3004050312d907c35d31a4116beb195d6ed15306ba0a054f02fe9f6581d9e285c49744a505581d02ec6c1a76a010667cf453b3b2911e3c5d088a7cedce4e70de491e034e0c0446e9788ebb800005581d02006e7ccbca4e8bacfbbe78820d76210011636439ada88d20bf28aed40c1a0002aca14899b9dfefe39509a9021980100219e52b03eaf81b366546ee2801a0849fdd25baf028aabab8799270aea7cb70dad4ebd894033aa758207a05062e0b4631f895bb9ce739b266d1d8293b889d3466ffac5230bd036e794b026f12c2f9b4b0c79817c2021889b328ca65168421a8acc09b65492a0c03a4321ab59c510c9f59f4ca7e8ce24d5aa2f3e53a166ccac9e2ce4da0aef06cc30375677898dcf9c9308746303168c0d92c8bf5cfcecd5d5e21ba91ec3715fadb160305cce0f5cee09c92f07d119699d013ef20d5de6d35b12c8ace97eb97c59a90cc0385b298c54917df9d92ecf0bb5ca70d0d92a85eecd4d813acc0366683cdc57ea503976cf2e4bd8e66179a64b27aceb837259b7211b1a147d35caf593caeb52b740d0389cd3cbf2ea3441a8c715d30075f38adbb5d88d00f44d60874ca65d6f0048b3a03158cbf8623aa4f8b3130020fc8b8e9abb4fa4b5d145f3e5e993338e174184d7a0219ffff033347da4c1a748a670f8c72f97c4a82b686de86917c1f1264b20c3c40400e3602037e6d7bd2ddb181b5443b80a20e2c978895f0ed42db8d9ce824beaec73517fa9403bb976d7f338a4ee410c1f5bd4a2c6d44dae2c6ab4c8f9fcf1ebb46359fe80d320351d0560829322d6c51979c21c0c9d41e2fe3b43671138a417612cd35174e49f103a8eba14b99c2520c4aff64011478684024c6abc048f8fb00dfaad2ca02737eaa03ab851013752ef29e10907c76e26a5daa77e2b040128fc2ea6c939c205c91d9d103be957b23e5654ddd72e77235746085f17c6b4382d5b5baaa0eaba43605017839035952f6a6ab9fd20142665f3b731b9f5b950a86aa164f22ca454eb4ae33c27b010306c368510bb6e9cec41ba1eb66755640787f744afa6e039dffe1ad1e5bdb395f03f4315a8f4f8594232233c4763a6bde53a87b318df305ad4548a3677e76e66175030a3ae8f26c9fff32751d26413fa51803af145f1159637e383150b4bcd95df7ae036270be6be5ae211fbd15c5d25ed4c06d17fec2d9293c4ff98dbe2ffe1fb13e670219ffff03fe0fffcb552f61658c14305c7c29a3b919c8de3540a754cfdc323d7eb4be7dea0375ccc6611fbfb8ddc51a85cb50f7728f718e8b6cb67359d35d89ee76d03ca60a0323ac1e9fd8d8a8d2b59931b00a8ee707842a6b9f5380b4e094d5282c4ac588290219ffff0344f4e4272c3f67ec0b698a160272d2d054472da6a1e9619598dd981f0dd251f6037e325ff0e46ecbc89caaac2b8c15eb1c7e71e48e8232093abd16daf65013fdd603d1d20f396f4adc541385352dad1ec01941b6b2b985d509ab651827fe9cdf1e5b034cb6423145bbfbac4d3f4df6c9aef051f5db5ec1547eb2ceb20f18f695caa4df03b273191e66a9e5c2885f9bef4d1da640a2574faac87a9e22dc618e40f84b7a73038da09da05ec427b48fad08bfe0ff2afc682a5230b7c8b0597a229984f892e70b03b7c5f3e7f5c57a0079f8896045ddf989bb8eea34201f5fb4d19592f2132bb93903be049313367bc3cc5e5535dcaf417f73341296ca31a672ecede6c3dd64e4e4b603e0f6f8e930eeef91ce438a57ab30592272767e11be2c42de38bf0d45de931aa603f906f975dcd482a62a36971741819713f7eb3b109c3418438c130a870f4f728303debf1a9fafa7a631645b9603ceb126fe9b79e25eba7eccf922d7d9665a8e293403676a2ff6c33dcbfe27d0e043bce258e07c96a299c0dbf6869e6d082fcef3648e03a2ff0ad3c0a8f85da9b0230e59a5849578b7b3bc840cf71e34e72b71b46236d303f3545be6d560c09668b2af5773ad711e515dd8c16facefa4e42cd7f2d6cc55fd0320b92450b7b84262fba829340c66256611a50ad31a03ff2aa3175fed1667ae2505581e03b94e639c01fc37968fba841e8f9f0aec6a3bda9601b2e8fd3a059d25b0040103904f89aaac85b988039100dea2d7b44f1378bfc610986db8ac5a6e38b711c60d05581e0388ba076e091648ac736408eebd952e830523d7e6bf04062f45b8da1fd0040205581d02779220eaa9153c34d90c6f5e4e5950398b81cba40dac72a168e343b90c02469546ec8a608805581d02700bc6701552ec6309800004fe71a8e7b59e32319fa45e7036d2f3a30c1995cb481afad311f65bf19002184105581e038aad2ef47252d3dbf7cb3c957568eb5953abd19dfbbb80c0dbd3816ec0040105581e0329cdb422e4bedd284ac4be69127883fc7286e6df97e50acc8c1b30e0e00c01467edfd61f4cac05581e03decaf959335facb9cbf380becd92e61d319fe8a0a581a2e6ab2df275000c0447014987f797210003f06012ef19e7b99e860bb3facea109d85dc2b86784e133016b07c30102b22103030fa589064e45db45fccb351e54baf39e45b4e7f958083726204bfb47cecaf10005581e03885fd40846cc1aa821e2fe0555f1a526fc256fd11a679499e7d9fb656007011bffffffffffffffff05581e03076f15f8934add95d04af28e802f95706c4fef482217f2a7843769ad900c0247029c7a85e8f0000313a3439d21726fac58991727a50099eb5e0909aec3908b47136b29ea2cbf64e70605581e03c25ff031d624fa6a03835397ba3ee49a0bb60b66e3cacb38d24d0a4d8007011bffffffffffffffff030865cec1e9ac3048b12a85fc3b9fbc682c3831784e3396416635df4cb88c3fdd0347e5318a61cc48cdc73e7c53c38e0bdb38924c15d3ef2edb197e979b20c1d52c05581e0352dcb4f08fb900fb71087bb54c9a572d1e9a40743dc7fd300a7121efb007011bffffffffffffffff05581e03aaeddf972a8bedd3b9d2bf60379e815b7f95c452a4c61fdcec11e5d6d008471ebd40a7f927c003446effc83a5c062fae4e244e10567ba2c9e28bc62c186116096de7ae79e49380034ebf60e22debe940f4a31bb59a7ad1f0d31d3aed30fb722e3599371bb31a292d05581e03ff84ad92a2e90308708e19d48575b1f505e80bcb1f5191c6d492d76ef007011bffffffffffffffff05581e03a353f9f9c1a622d550101e3ad6882f96fc25de52282c5d9343721db1100c02467bb2b978c1b00219f7fe03acea5f0606149358106fed420257ffd91d4b80544c0e4faa0e1d8fb3bb9bf10603d0bde3514efebde62bf8942137e8346ab2f8933381fc1643b81ae75d69f4485103662d7de3709982bf22fb8e60cdb8a2640d18c5de20f02b39e412b9db9852e51203a9a8c55d9dcf31eb7d5b3a00dff13ec7b6baac37eabacf6350e9e8f97b26287803fc3e942aa99c903dc792850c3c997b212662b9aea4cb5aee7f3c93360dfa9157031dcfe5442c6656bc2d53ea327e4e41b3324bad88148fff0f5545783c8ccb26ab0356a56bc719f9baee6757d555a7810db80e93fe78fc993ff82e8b937e1819075903818799c30efe448cc4ecb1ed333d8ffb9281707573cdf693f37f18e534f9315d036cfa5937854b1ecfd5950cd8ea77fa764c54c208d58cd3e4c8d73f4a9e0ac7160219ffff035966d246d6b75a2bc8153bf4e4e6b62921c225a1ef4a275fd6e6232a07809788034097ec581e4eecdb3e9e4ba6d2cb678e8793a057465eedb1aaad7c4dfc6acbed03da406bce4a853946dd0551e2bae68a7c8e3cbd291eea34305b51817dcf22045a03070475112784328bac1f1c03fec9a4cc35695157ccaba4ce934845c698e0bf9c03dff2d45dcdd277a0caa94b21fa26cbb9ed71c055a4c0ab37f8305006d59ba8170376070ac038cb54eb889641adb754805663ef5b9f59ccb4209e588601f9afb5fb0358a5f7ac9f83a5c1af270b55e71736477f518756759f3fbe0e65ff2f41d390000333559eb4bd1a46205473419b19096e22c599af6abf33ea52eb512838ea1ef4e80300d9e287ab75b2b2fdea36402267bdd0ee573e09351519d1039c97d91824f03c03fd59edb174ff29b3431859bdd365c7a3fa7bed02c57411882d5e5e4aff7feb7c03d390b934b2c0ddf113c4d8187b3a4c08fd62e7e47ab257ebfbf8d3636b62c24f03a9c42120e8b1d9a818a7accb0507a1d159da860da2921a51d3aa322841d45f47038408ac21e45e035ed9dfbbd69bd587c8e56116ad2464299e228ebebd50b37ace0219ffff03b357bf9311813d4efb0450b7715ba5722709a611b43313400a670323b82738ea03a3082e2019ab2d8277a43a2e3425e9de504732c4d0bc8e360cf0bb8173b6a4a503cd2c2aeccee9b6712dd35a85012accdb23be31f3f38be61bbf208c028bc53214033d663a4e64829889fdf6d352fa13a714502392e9bd019d498747f23927d0216b03b9b848bb0cc7ffe11f52445b5f2c44d32e69733db367e6c3a8c9695856b76a02031c235d837fe856cddc04c915eaaabe8386ab5e6da892e1521e29dc9b94ea439703cff7faf6b027f77d2cfcb22d45e0367fe3b1e826bed54cd65b8024e94ae754d3038a7fdc53c03cbed290913d7f99f2d5245d1c2f7c6528ca88575f41437b0879fc03e215500d86151da14e1150c11b8d53097ea434d41fe79ddfc1caa0caa604e5790380d1728665f9ea1bed17f58fd328a67938339a932f438ac3b49a1181b7fd83040219ffff039f762a319d1f577820b9632d19dbe449148ed964aab70865636cdeca378c717f0219ffff03e5a026596b87f9418990984656245e188c8ad97d71313e8dab68fd730bd31d8c03e7e08a9d2f892e5e1b302b4606d8584036115662fa48df9e09a004e2fbd4b8f10342a96cf2c999bd40b214654d50f9e2489c64aa86a223888e3cc281b70ded408a038f7ad1c2a9a280bbca4f8b67882f60ed6d53946871e08e0a8d34a732612bd22703f9207536384143a5fdaab9e1cb95eb46e0b82563d470fbeac5b4896c1a34515203f1e02e6c271f818e9b4d59f61b4978a0e0e68ad1aa7a42aa684992bf4f65e9650359fe0d1efaaf012cc674c45abaaf2fc8a31d0049d45a0e3258e5b982d8a4223e03e5f89742f2bde9d8a245b9599ee814d972d10abd0f9f08f4b86965ba4572f7020354d8ce159604d79e2ca1fddec37e0ce7b8972607473fa46442edab880d187a1a03ab83ab3055c7a93a1e1afbf1d031d57d32604304464aeb81c79372e33a82795803e81c236ff18f6bde05962ae7b535909deb93cb37212aae39c93c8f1d8dd121d7037280c2c6a0b6a6668bb0e13382f528d7489bc07fbfb11e39495c7409c2dbb76903de2bc4529710a5db55a5385aea073baf21f2c9f9a80db06001312127201c6e7903ab5e86804b59e97530b233791afe76dfc216d09c3729debddbafa6273cf630e003b2e0a976ea16c951e514f278ca805a6da7a5a92d7799ee316758e4f97250ee3f036647a0c12da2569c686d3a903a45ecc0dacc83ac77a5854c3caf1d7e42efb86303ffef8dbb82b28b03e02dda733724b750317c0244b8b19910aa65e75b78adfd4d030d74728f898b53d9c9ae77fff86d8abdf49ad168c9c6dd5ead420a8a122ac6b703200483016700ec8fc4a897cce0bc8f0d0cae9694d9641458064d91712735311c034baddb89d0596c821f49266d63581da5137dd70dd0f9b020e1154ccce47eeb9b031bb37f16b765c10626db64324dba51ff1616a9139c6452572812ab4a5305fd620316dcafb5017624c3f244a66bc270ce8f89b1f7783d556d3b9988fb93d2ccc05e0350a4ee2bcbc07a1169ca9116f7072027b662c7112759b7c258df53763c9889ab03b861ec541217f294f138253fb01696c4e93bc7ca67c54ca0dd954d5a86a02c9f035404af28934822d098fc012ebc4c309419e9a7814db4e25bae9a4ede40146279038d134970dfd75be39c5c314fd517800a7d4d160ebcb9d7ce3e7baa51eb836c990396963785e266573e23dfaeabc56e9f95765a96b741266bfcf92c7072a1d1e1ad03db9390f7b46dd4221de2abb4978902ca2c04d30f7b31fd285f973a2245c13c50036bf699e4e0f6fa4a826ab09881f7e776403521fdac661940914dd883e88cea42033692e5dc1bff490d3447e8bebd00a3028f2aa4585a6b6de7c5e4050f5bb65b3203952c2171b2a6d70588b635eb7ed244711668a38548b18ea8914be758cbd62265038a560caea244bfd302d061db762991745a6e3f50d1f50871f3650cec53ae7ff50303c881a350890623904ab281959a70dfa7f2b90c7fac45cf84e739db31d2f5490310059037986b9ad3485c2f907d31de13ba82e6daca2803e00128c49d7de6bf7703f60ca289063fac57f843d683b1c3784a55dcefaaadf57470d2ff4691ae56327f034efb08a1a5db8e0952691f91ba39b8402c2c94a979222ddabf245187fb93857b036bc710ab1fee4989263bbe79dc6b40b55027c3b0a55bae6e9066c8331ef42ae603469b7a690929050164ebf2b6edd8c0a59436efc657a921a160d4fb327188bc0d03cc189030b0b3d0ded58f7319026a457ad145b1005520299e64cdbf55a619e67303e6bd1ec3de640ad4cbb05ec52622ab00d9e132bccd7d9b038e1ba52b915d088c039f0ce1771b90b1d626788646c4db592c6ad2a0dacd0195ffec8122174b84e10403b1b9ee462a0c9624cf38a81cc53f93ef760283a6351a101537b03a424350070a03c6f0cda80778277850f25a56b56115fa2a6f19f6bbad68eb74016c7bb8f5a39703fe9d1af2b1cf3b785ad0e823809ca151e8e76626bb4f5f05d6cf7bb382bc74b9036c40b2d83d3e0742fea94105b0ce9f02d7d7c7546d5ee22f302b46687497e1da0397766b25ad664e924254d5ebfb0a7fc9e0f135e8a68e1bdfbe516bce9694a04205581e03345a41b5e6ca1d0461de409ae287c9ce67c2ca2c22360d7ee29c2ce2f00c0147458bb75ecb545805581e0323771d7b44456c797c4eb3bcd16ad744525a190d9ab86171ebb07a22e0041105581e03f1c6c36f77f20edb594843f84e465585cfba3df1d72490e60f8a7673500c04466068050a91a005581e033bdb75a0a788e0393a3ca23a1fadf4e97140b247c5950352ba3b6622b0040105581e03dbcc925c6dd84dd28d9cbe7779fa30658dcdadd3aafd2abe131de285b00c034802d2fbe0722197dc0367435c5a5c5cc3b944c9452dba7352cf3d951dca0e25b315207cd4090e87780e02195cb003e7d124631c90a66f05e4d29810b3e9ae6749289736a8df812ab9a7e54b746e6503ce2e2761212a6db1e3bb935f794c915e98920a3605b93e72b5d989acf2d485cb03aebf0835c1d71bad09773fa75364ab774e17e482d481eb751b410eed5de4d7350387eee50d2bf60b18dd14806d12c0b1b87904845f5bbc4f0061f9a4784d199e1003317b8355b30e8295fbf0afbd9f01d75d612303e0fc9472988837abe838b4f9ac03b847172468b79d9acdc7489c8e15b74de4409dfdc82d1dac4407e84eea41884c039de4f3abb14e20139a4fef4440489988053d6420e983438a9ffa7cb2eb4c2d2c03b1f666bc18d0fe3700ce8de755ffc5e63dfaebbaa8e802df4bef0f105ea7c8190219ffff0219ffff03f8ccf5e01cc762effbbb8007cb0a7972eeecbc5b9c37db0ade9d27e7560b528f0336a5847b67d551408c1388c48bc25d4e62a9e632927eeb800be975b5fea67cd70390bb5ca81cc0b67073e9220bb6fd7d2dd4e6652cb6bb28488324014ce302f7b60219ffff03cbbb0fca8fffc654385fe7d18a81efb65f13d306288ac2032923f9b0b1b2296303da0edb892870d27e7f9b4fa8dcadcb972db111ba807675493b5975c0a127215f0308ed1844c428fdbabfb748c72193b069001c25d2e11d188e33398daae2ddeca603b546c661121d0120c0b837453a8961ac26335906a7bd7f0a48000dc5295d06550219ffff0318be1fe4a34bebace9e4b38e7ca813dcb2af60513b16ea2f5895db188aff4bc103392a1ca4584d7705748865850595dedeb64b3b83f50d75f845949f43bae3a1aa03c769a17d16064a78428646644bcf40034854471cc206b9ed07fcef8aa5eabaec032b806db5c85ff546700bd673cc04e9f81ee8c7670cd89bc121ba6e51e869838503037d1df0aae055027d6e436e04f4b9af93378cf36e629a870f54620e9350cd0a034317d5bd199ba19f0ee64f57c8e173370de970f1456a561f1928e558b6ea7e9503ee26ae82a718cd36f533f08fc5b79908a1965191c410caf21a8570a7d0467a8f03c5b69a56300452c53d986f1e0344d57cff73ca48a4042593d62931dd9b8b32ad03b007566074aacc3cd3dbb1b5720dd4fc388381f6b9bb8e9c61a79f0a2a1a93a103111bec0748fb0999b62fe5ea3d2e59121a336b4fe09002b2b574b0b42281d42c0339b212677e3199dd36bceb6bba24bcdad78127bafbcee01ed0719792a2f2ecc203da7c303ffa0d7cc72c161d11f6c7bd9b136f2d02f2806c3c8796d0a4fc1b48560302033ba3334e7414592b6234f53415346f5f996beb1fe3ba7243b957b01ed0da03c3b50d8772ebee9fc48df105fb5fc3b7d9bde4b219a94599160abe5df47464fa03a278cd359303f24d281542e15491c6d52013a098d2bd11636921d2db8a8698db035bc0b286924ccfcbc2a10b047ee6330df49cae0134f8d18d84642cbd2f0e1e5303b78f32843ba6278c02342ed44e0b552706f8118432f24076638a3afa65cf637703ddeabeacc236f53eb0942a435f1d45f913a83fe891a70acd025072f0b35169c703c3323665156d3b3b83572d68f12d6eddd4c9dd80db219c0a5143c7c896227aac03a381886cbc37748d828d978ab2e186ba16072e5d7cad570c3e30a473e4ddbdad03491d8e6f686829ef2169ab0387e25b086bbad44bcf9858c7af2882e5be46cef0031bce083bfbae3d9b90d92d61b7d479acce84778e196c95f5d7109be048e10b3703dafca94cdac87f4e3f35b92cd8191f5b45add70613ed88df86bd3d895e7eb72e03dc1761a66181ba5d1b0831d1f4b4ff2ae523f6588d67ce22c2f65f2242adee3803644f3a1c0c99247014aaff5177003cb0f3bf5c32da84fa7babfbe1549730bf0b0328e56c9bca895bc77956b95b391f9f0a1e6e076657ea012a5c94c312e2c56a2d031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038cb28f3dad5acaff118033de7a093beeb19f56087a88b938139e6467e007011bffffffffffffffff05581e03ed332e4eb3374c7f1d6e15063a0f7e04d379a372af42183ca329df87200401045936c360806040526004361061019f575f3560e01c806370a08231116100eb578063a9059cbb11610089578063c9567bf911610063578063c9567bf914610578578063d34628cc1461058e578063dd62ed3e146105b6578063ec1f3f63146105f2576101a6565b8063a9059cbb146104e8578063baeb7a7d14610524578063bf474bed1461054e576101a6565b80637d1db4a5116100c55780637d1db4a5146104405780638da5cb5b1461046a5780638f9a55c01461049457806395d89b41146104be576101a6565b806370a08231146103d8578063715018a614610414578063751039fc1461042a576101a6565b806323b872dd1161015857806331c2d8471161013257806331c2d847146103345780633bbac5791461035c5780633ef947211461039857806351bc3c85146103c2576101a6565b806323b872dd146102a457806327b1a8e9146102e0578063313ce5671461030a576101a6565b806306fdde03146101aa578063095ea7b3146101d45780630faee56f14610210578063109daa991461023a57806317391e491461025057806318160ddd1461027a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101be61061a565b6040516101cb9190612656565b60405180910390f35b3480156101df575f80fd5b506101fa60048036038101906101f59190612714565b610657565b604051610207919061276c565b60405180910390f35b34801561021b575f80fd5b50610224610674565b6040516102319190612794565b60405180910390f35b348015610245575f80fd5b5061024e61067a565b005b34801561025b575f80fd5b5061026461074e565b6040516102719190612794565b60405180910390f35b348015610285575f80fd5b5061028e610754565b60405161029b9190612794565b60405180910390f35b3480156102af575f80fd5b506102ca60048036038101906102c591906127ad565b610777565b6040516102d7919061276c565b60405180910390f35b3480156102eb575f80fd5b506102f461084b565b6040516103019190612794565b60405180910390f35b348015610315575f80fd5b5061031e610851565b60405161032b9190612818565b60405180910390f35b34801561033f575f80fd5b5061035a60048036038101906103559190612971565b610859565b005b348015610367575f80fd5b50610382600480360381019061037d91906129b8565b610977565b60405161038f919061276c565b60405180910390f35b3480156103a3575f80fd5b506103ac6109c9565b6040516103b99190612794565b60405180910390f35b3480156103cd575f80fd5b506103d66109cf565b005b3480156103e3575f80fd5b506103fe60048036038101906103f991906129b8565b610a66565b60405161040b9190612794565b60405180910390f35b34801561041f575f80fd5b50610428610aac565b005b348015610435575f80fd5b5061043e610bfa565b005b34801561044b575f80fd5b50610454610d29565b6040516104619190612794565b60405180910390f35b348015610475575f80fd5b5061047e610d2f565b60405161048b91906129f2565b60405180910390f35b34801561049f575f80fd5b506104a8610d56565b6040516104b59190612794565b60405180910390f35b3480156104c9575f80fd5b506104d2610d5c565b6040516104df9190612656565b60405180910390f35b3480156104f3575f80fd5b5061050e60048036038101906105099190612714565b610d99565b60405161051b919061276c565b60405180910390f35b34801561052f575f80fd5b50610538610db6565b6040516105459190612794565b60405180910390f35b348015610559575f80fd5b50610562610dbc565b60405161056f9190612794565b60405180910390f35b348015610583575f80fd5b5061058c610dc2565b005b348015610599575f80fd5b506105b460048036038101906105af9190612971565b6112e1565b005b3480156105c1575f80fd5b506105dc60048036038101906105d79190612a0b565b611400565b6040516105e99190612794565b60405180910390f35b3480156105fd575f80fd5b5061061860048036038101906106139190612a49565b611482565b005b60606040518060400160405280600781526020017f416d657269636100000000000000000000000000000000000000000000000000815250905090565b5f61066a61066361150e565b8484611515565b6001905092915050565b60125481565b61068261150e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612abe565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516107449190612b1e565b60405180910390a1565b600d5481565b5f6009600a6107639190612c93565b630a95f6006107729190612cdd565b905090565b5f6107838484846116d8565b6108408461078f61150e565b61083b856040518060600160405280602881526020016136666028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6107f261150e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546120b89092919063ffffffff16565b611515565b600190509392505050565b600e5481565b5f6009905090565b61086161150e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e490612abe565b60405180910390fd5b5f5b8151811015610973575f60045f84848151811061090f5761090e612d1e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506108ef565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60095481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a0f61150e565b73ffffffffffffffffffffffffffffffffffffffff1614610a2e575f80fd5b5f610a3830610a66565b90505f811115610a4c57610a4b8161211a565b5b5f4790505f811115610a6257610a6181612385565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ab461150e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790612abe565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c0261150e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8590612abe565b60405180910390fd5b6009600a610c9c9190612c93565b630a95f600610cab9190612cdd565b600f819055506009600a610cbf9190612c93565b630a95f600610cce9190612cdd565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610d039190612c93565b630a95f600610d129190612cdd565b604051610d1f9190612794565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600781526020017f416d657269636100000000000000000000000000000000000000000000000000815250905090565b5f610dac610da561150e565b84846116d8565b6001905092915050565b60085481565b60115481565b610dca61150e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4d90612abe565b60405180910390fd5b60148054906101000a900460ff1615610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b90612d95565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f403060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610f2c9190612c93565b630a95f600610f3b9190612cdd565b611515565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610faa573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fce9190612dc7565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611054573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110789190612dc7565b6040518363ffffffff1660e01b8152600401611095929190612df2565b6020604051808303815f875af11580156110b1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110d59190612dc7565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061115c30610a66565b5f80611166610d2f565b426040518863ffffffff1660e01b815260040161118896959493929190612e19565b60606040518083038185885af11580156111a4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111c99190612e8c565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611269929190612edc565b6020604051808303815f875af1158015611285573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112a99190612f2d565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6112e961150e565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136c90612abe565b60405180910390fd5b5f5b81518110156113fc57600160045f84848151811061139857611397612d1e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050611377565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114c261150e565b73ffffffffffffffffffffffffffffffffffffffff16146114e1575f80fd5b60085481111580156114f557506009548111155b6114fd575f80fd5b806008819055508060098190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611583576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157a90612fc8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e890613056565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116cb9190612794565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173d906130e4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ab90613172565b60405180910390fd5b5f81116117f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ed90613200565b60405180910390fd5b5f6117ff610d2f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561186d575061183d610d2f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156118c6575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611e085760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611969575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611971575f80fd5b5f600e54036119b9576119b660646119a8600a54600e541161199557600654611999565b6008545b856123ed90919063ffffffff16565b61246490919063ffffffff16565b90505b5f600e5411156119ee576119eb60646119dd600d54856123ed90919063ffffffff16565b61246490919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611a97575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611aea575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611be257600f54821115611b34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2b90613268565b60405180910390fd5b60105482611b4185610a66565b611b4b9190613286565b1115611b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8390613303565b60405180910390fd5b611bc86064611bba600a54600e5411611ba757600654611bab565b6008545b856123ed90919063ffffffff16565b61246490919063ffffffff16565b9050600e5f815480929190611bdc90613321565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611c6a57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611cae57611cab6064611c9d600b54600e5411611c8a57600754611c8e565b6009545b856123ed90919063ffffffff16565b61246490919063ffffffff16565b90505b5f611cb830610a66565b9050601460159054906101000a900460ff16158015611d23575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611d3b5750601460169054906101000a900460ff165b8015611d48575060115481115b8015611d575750600c54600e54115b15611e0657601654431115611d6e575f6015819055505b600360155410611db3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611daa906133b2565b60405180910390fd5b611dd0611dcb84611dc6846012546124ad565b6124ad565b61211a565b5f4790505f811115611de657611de547612385565b5b60155f815480929190611df890613321565b919050555043601681905550505b505b5f811115611f0757611e608160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124c590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611efe9190612794565b60405180910390a35b611f578260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461252290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ffa611fae828461252290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546124c590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61209d848661252290919063ffffffff16565b6040516120aa9190612794565b60405180910390a350505050565b5f8383111582906120ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f69190612656565b60405180910390fd5b505f838561210d91906133d0565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561215157612150612835565b5b60405190808252806020026020018201604052801561217f5781602001602082028036833780820191505090505b50905030815f8151811061219657612195612d1e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561223a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061225e9190612dc7565b8160018151811061227257612271612d1e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506122d83060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611515565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161233a9594939291906134ba565b5f604051808303815f87803b158015612351575f80fd5b505af1158015612363573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156123e9573d5f803e3d5ffd5b5050565b5f8083036123fd575f905061245e565b5f828461240a9190612cdd565b9050828482612419919061353f565b14612459576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612450906135df565b60405180910390fd5b809150505b92915050565b5f6124a583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061256b565b905092915050565b5f8183116124bb57826124bd565b815b905092915050565b5f8082846124d39190613286565b905083811015612518576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250f90613647565b60405180910390fd5b8091505092915050565b5f61256383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506120b8565b905092915050565b5f80831182906125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a89190612656565b60405180910390fd5b505f83856125bf919061353f565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156126035780820151818401526020810190506125e8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612628826125cc565b61263281856125d6565b93506126428185602086016125e6565b61264b8161260e565b840191505092915050565b5f6020820190508181035f83015261266e818461261e565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6126b082612687565b9050919050565b6126c0816126a6565b81146126ca575f80fd5b50565b5f813590506126db816126b7565b92915050565b5f819050919050565b6126f3816126e1565b81146126fd575f80fd5b50565b5f8135905061270e816126ea565b92915050565b5f806040838503121561272a5761272961267f565b5b5f612737858286016126cd565b925050602061274885828601612700565b9150509250929050565b5f8115159050919050565b61276681612752565b82525050565b5f60208201905061277f5f83018461275d565b92915050565b61278e816126e1565b82525050565b5f6020820190506127a75f830184612785565b92915050565b5f805f606084860312156127c4576127c361267f565b5b5f6127d1868287016126cd565b93505060206127e2868287016126cd565b92505060406127f386828701612700565b9150509250925092565b5f60ff82169050919050565b612812816127fd565b82525050565b5f60208201905061282b5f830184612809565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61286b8261260e565b810181811067ffffffffffffffff8211171561288a57612889612835565b5b80604052505050565b5f61289c612676565b90506128a88282612862565b919050565b5f67ffffffffffffffff8211156128c7576128c6612835565b5b602082029050602081019050919050565b5f80fd5b5f6128ee6128e9846128ad565b612893565b90508083825260208201905060208402830185811115612911576129106128d8565b5b835b8181101561293a578061292688826126cd565b845260208401935050602081019050612913565b5050509392505050565b5f82601f83011261295857612957612831565b5b81356129688482602086016128dc565b91505092915050565b5f602082840312156129865761298561267f565b5b5f82013567ffffffffffffffff8111156129a3576129a2612683565b5b6129af84828501612944565b91505092915050565b5f602082840312156129cd576129cc61267f565b5b5f6129da848285016126cd565b91505092915050565b6129ec816126a6565b82525050565b5f602082019050612a055f8301846129e3565b92915050565b5f8060408385031215612a2157612a2061267f565b5b5f612a2e858286016126cd565b9250506020612a3f858286016126cd565b9150509250929050565b5f60208284031215612a5e57612a5d61267f565b5b5f612a6b84828501612700565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612aa86020836125d6565b9150612ab382612a74565b602082019050919050565b5f6020820190508181035f830152612ad581612a9c565b9050919050565b5f819050919050565b5f819050919050565b5f612b08612b03612afe84612adc565b612ae5565b6126e1565b9050919050565b612b1881612aee565b82525050565b5f602082019050612b315f830184612b0f565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612bb957808604811115612b9557612b94612b37565b5b6001851615612ba45780820291505b8081029050612bb285612b64565b9450612b79565b94509492505050565b5f82612bd15760019050612c8c565b81612bde575f9050612c8c565b8160018114612bf45760028114612bfe57612c2d565b6001915050612c8c565b60ff841115612c1057612c0f612b37565b5b8360020a915084821115612c2757612c26612b37565b5b50612c8c565b5060208310610133831016604e8410600b8410161715612c625782820a905083811115612c5d57612c5c612b37565b5b612c8c565b612c6f8484846001612b70565b92509050818404811115612c8657612c85612b37565b5b81810290505b9392505050565b5f612c9d826126e1565b9150612ca8836127fd565b9250612cd57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612bc2565b905092915050565b5f612ce7826126e1565b9150612cf2836126e1565b9250828202612d00816126e1565b91508282048414831517612d1757612d16612b37565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612d7f6017836125d6565b9150612d8a82612d4b565b602082019050919050565b5f6020820190508181035f830152612dac81612d73565b9050919050565b5f81519050612dc1816126b7565b92915050565b5f60208284031215612ddc57612ddb61267f565b5b5f612de984828501612db3565b91505092915050565b5f604082019050612e055f8301856129e3565b612e1260208301846129e3565b9392505050565b5f60c082019050612e2c5f8301896129e3565b612e396020830188612785565b612e466040830187612b0f565b612e536060830186612b0f565b612e6060808301856129e3565b612e6d60a0830184612785565b979650505050505050565b5f81519050612e86816126ea565b92915050565b5f805f60608486031215612ea357612ea261267f565b5b5f612eb086828701612e78565b9350506020612ec186828701612e78565b9250506040612ed286828701612e78565b9150509250925092565b5f604082019050612eef5f8301856129e3565b612efc6020830184612785565b9392505050565b612f0c81612752565b8114612f16575f80fd5b50565b5f81519050612f2781612f03565b92915050565b5f60208284031215612f4257612f4161267f565b5b5f612f4f84828501612f19565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612fb26024836125d6565b9150612fbd82612f58565b604082019050919050565b5f6020820190508181035f830152612fdf81612fa6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6130406022836125d6565b915061304b82612fe6565b604082019050919050565b5f6020820190508181035f83015261306d81613034565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6130ce6025836125d6565b91506130d982613074565b604082019050919050565b5f6020820190508181035f8301526130fb816130c2565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61315c6023836125d6565b915061316782613102565b604082019050919050565b5f6020820190508181035f83015261318981613150565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6131ea6029836125d6565b91506131f582613190565b604082019050919050565b5f6020820190508181035f830152613217816131de565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6132526019836125d6565b915061325d8261321e565b602082019050919050565b5f6020820190508181035f83015261327f81613246565b9050919050565b5f613290826126e1565b915061329b836126e1565b92508282019050808211156132b3576132b2612b37565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6132ed601a836125d6565b91506132f8826132b9565b602082019050919050565b5f6020820190508181035f83015261331a816132e1565b9050919050565b5f61332b826126e1565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361335d5761335c612b37565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61339c6017836125d6565b91506133a782613368565b602082019050919050565b5f6020820190508181035f8301526133c981613390565b9050919050565b5f6133da826126e1565b91506133e5836126e1565b92508282039050818111156133fd576133fc612b37565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613435816126a6565b82525050565b5f613446838361342c565b60208301905092915050565b5f602082019050919050565b5f61346882613403565b613472818561340d565b935061347d8361341d565b805f5b838110156134ad578151613494888261343b565b975061349f83613452565b925050600181019050613480565b5085935050505092915050565b5f60a0820190506134cd5f830188612785565b6134da6020830187612b0f565b81810360408301526134ec818661345e565b90506134fb60608301856129e3565b6135086080830184612785565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613549826126e1565b9150613554836126e1565b92508261356457613563613512565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6135c96021836125d6565b91506135d48261356f565b604082019050919050565b5f6020820190508181035f8301526135f6816135bd565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613631601b836125d6565b915061363c826135fd565b602082019050919050565b5f6020820190508181035f83015261365e81613625565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122008c2e8d7f1df192aa99a35e5e48afd9ba3142c30e568f79b9944ac6663c87bd564736f6c63430008170033037df3d46c09f13bac8a9eaf75f21c95c82a41bf7730c8e8fcfa29f2032c3e465f03f0695b63fa9860550d4b8286fa3d59e15707183ec581c48d818faa2abe52ec0403bb61ba577e1a14d31ee4e17cce3baa5df50d676be60da95b60d844a125707404005820034f67686c37f891b01f09ec171aae248ed14a721ccd8cd0aaa804bed5bd150046396f92bb94f40058200305219a4954bf32875ed85a852a3b2850cee2e2335fa989a325aa3689cca8f0463e66db5f4ed500582003b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0054f23bf8825b9e3c295ac9c087be7342a6a6058a6a005820031f1e654ef2a63d0abd41786950ecda1a4cccebd7fc59ac3f01c30cf739c0105820ffffffffffffffffffffffffffffffffffffffffffffffffffffd8e448464fff00582003e46994a9429c9fabc97febd58aeba42dfa9b11e4aa018d49caff5cb04628b046b86bd315ddcd00582003ed883a64a3c0ea18e52ebba7b81b9acef740e8337de823e993ad852bb43720460fbee8205e4b00582003bb22c4c81188a74fdbb13713a0451c3a960009c1dd8a8b825c7ae59ea5ba40461ba5d3894d7e021949cc038a79ae261ec392fd12cce3cc7f699b1007b5642edba3b5b3fd9c3924069168ef03d50ade47efe760593ff705c7caaaef3da4b85fef7cd4d843953ccd4dbae41a7903de2b02b44f8f0169a0866d8935afe15e0109fac3c73c46581fd081ce3fff94bc03a3ac3d1637a9c748bd780bcb17259d094f7d47e3bcbaa373fd1582b92b3790c503242efd51c5107b7d1ef6122cf43f7ff334ec85fcc43511a4bcae5db282022a6103540385ac481b498866534fbb305866139f32f68d7f1cc593ebf83b4231a7f50103cc9e42b05e212eb0e941629ca45f18e09455fdace6310df03d507d7442b7d3fa0316b6a07ff7e69e3485a2ade45eb076cc847c1fc09e0828b09c6d68cef661be0603e1d40bbcca813e846805a6b59cbc1975334c5b1ed0c944d1618dca6bca2478c003e41ca71226ad175a8a68faad95a2526d3e92f764c0d73b270457c8eb0000baaf030cd495db6ae34ded3f33142ff2f500c7f9155542cb1d6666da1466430f36361b03784649edf89b62f2a3d927bfdba252d511fc6dca6a18c7a9d8805445904a33320219ffff03b1345a4a456247ca6a31cff2180889133a7d1a7e3c2145f57866da2fbbf9bf8d03916913df56ac1033d105aa6a8b4bd4bf0f0b7d64da20f0c79b26e7fafa09591303b105bf4107bf488a896f081bfbfc2e303eccd4d8cea086f8032e8a611f4292f703eb592aefe79864f828ebd24f60821cda9a826ab5e756336989840e71530d3c1b032687378b42f7b377ac6785898fb7b233f91de70fe59068d44591baef0380ba0103a62d1891670df89c2f80866ee07a02d97cc6e483ee8b841368927867dddfcb29032fb11d572db438caabb88ad79a317b32f51fa95a419c66d9b8750911a467490e038f6021fe4c2b5e19faa83051c03947efb07206ca417e15423885140d636faf5803caac20deee182416aa222fd7eb1c50f9ea0a98ee78165eb8c04d86433c22d480038ed86930d3f5ca55a5e1de5dafc9122716793df1c007c8750d538d11f2898d27032b2e6649dd37c84e6120be9696d5653ba2de965f03e032b314893da908a4c992005820030207a5eb8600b1b698be0be275ad405c44b6531cad670a00e82681826261d0460b1443fe45bf005820038d0431f01d3ae58e449fd0eca471af0e564576bc2b9bb04a81ebc10edaa1c0460da4a451a1ba00581f02ec4127c8cab751133aee34fdc92def9c054276f8e7851698e2b10ba9cfe15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0247dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672480276f642501c000002190110005820039dd8952b6720cd28543da3a33b531e8a2795309594cd8876f44f26a1105b1046d42984fe193600582003697af5b5a93d7b13feffa347a3328745c8c8a59ed727032f94d8111d8422b04101037c2d5aafe1ac2f9550e338c4c76aa584257574c5a9f1f35a615611a99301dc90021981c303e8fc2d96ad86a2d39c68bd7683fa9f7f5e99fcad9324a31eb847f6783f7bb309030fe12192c3f598f83944b3c8dfc5a107bbfcfd8c1edc3aabaab9c313f2fa47b703404f5c7c4bbf69757d1f55e8f6e08c9edcf3a40f243b185aa85cf5548a0d32810310065188d65f2d6f8d864da37448bc98572b01d57ebb89f7adec3520c6b5ce6e0219ffff03d716bc0274c7e1659559b93ce0c6fd1537627fc75e1c625fcc807b518a6ed63b0307a2148501e75e8e32159d986cb8afd41e6a75b580f57fdf51bcafb77250bdc3037d69ac21dea137e2b09f071d98c72cf329831b853ffc880fbeb65e4ecca69862030efa3752d66ac738af0d1808e8d624cc6e3a5c7e0ca7fcb305ed22e5e408d2ac03fd0e42e0525da92c96ad427e12fa64f530988d0bda9ec71d26b7aecec25f1155038fcac71a017e1e8e8e6a5b43face144df2e5fcee7b6cdef9acef4f78977c1074037dc6a8745e92794b9fa9b7fbcaab123ee04832b76835ffa6f78e9cf4d2dfee0003329d0a334a41553b147b907f917179d2ed291aa6e6a3270d12244138b5c86ff903d814dac8e8f5e3d97c6a55ba0276b35a0fb8efe2f3cc0fc8a6de3cb56e488df000581f023ee17301c485c8b388623b07762fcff4e6efa462c0a1d39602ed7dbcaf7b468bce7bf45c8400581f0201519c935266fdd9d0a3ceb7922d113ca8a0a0690f8d632a0167f063e3c8410102190208005820033eb84b7db990a42e253c7fc76f8d3266fa8ec5e9f7825af0b1786559243d30461ac0a48048a200582003c5b0de9e7e41e10a9c7db33686b12a093b764960eeddaa211408208580f0a0464b50321f46c100582003a0c9eafa26fa42675a7a907c70acf38140979c20e69c3a1d2ba3b6b4e453805820ffffffffffffffffffffffffffffffffffffffffffffffffffffea2c7eeaabe20058200308c47b9c7e92788e63971a4aece170645f7f10efd4bbdb8db9365f6e5991304701268c19ddde59005820032b212b7ee80a18627c005dd865e91794f228984b93ce6c33aabae74dc5bda04613bf17639bd403f379fded77fd3e40062d728febece3ba03c29bbbe291af931b1bf3e8a43c28f90219ea96030aedbac6e1c09efa5b3512876c8874c9ae4bbae5a24299fd4a65b7a09d2d26b600581f02d0b3cf1f5d2c1f9d6ec59cd152dd1c39ab16c94c82d58f6ee6b668933d1646beca7fa1086f00581f02e373b03029a72fb93b2f20ef956ab36da4d03096f94a558da8f497da6199466834e497508d0219014000582003488a552905790f332228ac67d0d2c420a844376ee4f62d82b0a3fe1f1c8530460aa4a4e9b38f00582003292cb9ce06264c67ccb408521eb8ce06c66b03087308c3e1632e8fb50989905820ffffffffffffffffffffffffffffffffffffffffffffffffffff0648d85c95940058200386a059a1b94a8af3b2a88da7c343030c6b2972df8539f1923f2aca5fc44fe0464c8f3c57978b00582003a859ff2f714b3f42f6ccabe9634d329ed5a0efff1d9b7cac3f436fa6f42f0047048361b14726f00058200354c7754aa0f20a48eea7204e6d1a962aab76cf9391535f4ae46dfc48cccc905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a71a639fe6b0349c751c913a131873d89ea064a6a2028a1507d36a63b632e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffbe5057de5f83036b0d6ac29681bac7eadedb8196507d644bb4b5f82810da94fe264ca7bc9f8ed60219ea1503989af9d972e39aa3c06550b559210f0edf96ececd5535918855d31f31c0bb5dc03532ee45a717a63cb88836414b52653d0fabe2f214e3f37e6ffca110822a96e2d0319cecc063ba3cf94e903f63c49d608dd4eb3b30cf0a2c5c2e9ddf0d457f535250347aa22924dfebd2d6cccc6e52a11c16577e00528120c472a6995affbd29acfd7036a00aac38686be36350ebaf628e8ca4171dba170b79d568a1881adb5552e99a503fe26feda1f0145e5378406f4e2714cb01ca7f48e5cd05b98f45064b6a50507700219ffff03e4300ac51dcad037fee42bf4365520bb1cd390e39669b58e9092460d614d8eb603317049b6fc0041a1cd4d2ff96a30e8ecea5aaafc306542f659bb5ff4603b6be2035d41d391653470d26e521c5b5f87b31771d534953d31dcd15c34c9c7a33b1a450357cf39322ad8efe243ecce88733d67cd76d999e64987a1f4e8d03abc1911732e03ca2f62f70981ab454488e6e38ed7fadc1421faf82baf3f83e5b663c2f4e8119503c2eeeb0d244a3c4b2d0580e95182c74520cf02ef2f4d3391e4053651e2fc86d1039b1639cfd5ae7ce77e1fff0063d52ad025d7de5f7b653916e9a37f5c2b52618703eabada6fd376e2427350f1c8dacf4415820cfbd3fc20129848fbcf1adc7b7d10030e2f5aa94822bb88cd14bd6a7a5bfa6aff62e6a60ced27d5ca6fdb3b90b66ede03f60f501bdf38d7ed3dfb9d7fff2f882bcdfd93798411f24b89155729bee94ca3034f4cc27dd9bf28183764f2fc3ea3cf8c24707eb27f42ee729ee19f2192a8d27d03f20a8e54de2f1acabe8c338b2a06099c24b92729612112dcc78d7f5a02019439033f640f0304be985658570ccd5ee0bbd6ab0b0bc3c31e826df0255b49b736ddea03e11d896f2c48cf2218528cebee41ef69e63f8c5d36e1dbc1f0c48fea7de4655e00581f02ea0004d24ab6f536c7bd36107d965d6c2677d44ad47d876ab57595a971cf5820fffffffffffffffffffffffffffffffffffffffffffffffffffe5de62dab3b8e00581f0219db2226542ed1ee90c51749676628b9c69d4e8c667dbf178f0001ff18315820ffffffffffffffffffffffffffffffffffffffffffffffffffffd1fa8986290e02190802005820036505a1ecdd736339a06759fbf2b7bdbac079c7e35f429a0229d480c2dce6905820fffffffffffffffffffffffffffffffffffffffffffffffffffffe2e56b5dfff00582003a9ae73dd5438491b9c197b2c8fcafe33e00104d3eb579357f7e7f0f925dbd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200351d22e9cc5ad331945dfbeef09dffa144e862681eee2efc162f7a5170efcb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e1208d46a2dd6e11de4bb85bb3e1bdf5aa960d32a67b0de50b0ae559017940463250caaebd5500582003d7b5da065cf722166f3df854b7bae4311687bd3685fc4ca8bd8a2fcc08d6504606d8e8a54de103cc62394c7a4fb1034afd8ef7beb2531edd9ae0beff5b4e5f95662210841c834102191f2803b50ca8e001f8348bec777a079b311a9c302411259436a25837a756310a5ef53d03471cd84d0ada5a1cf9f6c9108b041fdaed303d33c62e1de0080c59ddfd3294000396c9588d91c603a23e6772cb6ce1478934c0f287449727b3c0d4f036a039848f0219ffff0398c0e61076e4915cc7c01bf82f8008f776062b165befa1336c1cda8ccc7aca10034baa45458b45f638e3ed7cf99ffada8f8a517dabd5749f42d10177c5e8c781b40315bb241516ff19ba2abe248d1d5094c58ff5a32eb96ab43d61ae7a30e47224e00371ccb000ca94a37fd6f3b199bd80ca435e679361ead56c3f889be447a84322b4032e60076cf2cdf9dab1717cce8ca0bd617a307e1bf46ae2305d2b2e0a37bcf6b603686cc98cb6e0b70274a270f5e89700167b7e33c0b75fee29ac19d889b3543662035174084f784e76d52423da330385bf82f729a5082a6e64a010b425ce63c4299e005820033348879cefc0f0924a91c7b2ef6aae649645f5acfcfc339c4fb3e8473308a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffad7c9b7567be00582003c02ae9cf5410a850c1334adb4eb32996a9b52a12d522448d34c2eda5a476905820ffffffffffffffffffffffffffffffffffffffffffffffffffffec207147d5f300582003ba8b8d13aea36f4eef8464e05c11ca1e431fafbaea159b8c6dbdf4533e09b045cde156212800582003acdbe6ad1e87970a23fd0297023d258e9ec6f41c5cc4942e3361e0c812b4104617520a90877100581f02d1b315d4730d12e3705194f7affa6d5a77283a67b03c3cacd905010fd03d466e0f1d1bc99800581f028ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090547a250d5630b4cf539739df2c5dacb4c659f2488d0219400100582003501132807ef9a1a650861385bfb5a0bca8ca2b2c8971451b95a3494617fa605820fffffffffffffffffffffffffffffffffffffffffffffffffffc0cefc6cd02ce0219aa5803b18bea8f4378400ae224580eb42881c343fdf9f74b3989d3dd6138b0af040c9b03f79a55ca174995a1b6faa020dad96493b3c81ca6d0e8ac0ded3209be848605e103f433548856a1ec5df7190f02fc88866d1955f0ef486accea58f8182868ac0c960329d5bdd6546235f8d1c5f01bb5dd2aaf453f95270ffab8f51df98436dc244dac03176c43d72a0ccb8896b36889430d8de08ec44f28a823236c0c5e56c0e33b5eed0388ebf8446ff44996c0296f8ef3a3f73de2eb55e4a3561a2f677a40528b92717503f88ab068205296223cbee076e712684fd435b54d132aea615b55bca626f2742403b0051263115f2a75c9daf494913bd79f2a1d557b1470c25d8d996fe4ba47d8e8030d46392725aa9eba46ac1b861b58eb49a57a59c0a3f583e9a0d8062e19cc7b090219ffff03a585647e88c64957b1326562dabcb99178f3bef68fe7970577a857dcbe603b6f0360b3286fb50100301880fb9ff700ee98654272b8c5a377a48d043a2f91b6dd2103fd7a7c371bd3bd2b50a269484e8802eeea5916bf52a07eb855ff6df1f75dea9f03797e0fe28ad585069959ead369611dbbab5ce5321ec221bc193f2b903cc9f21003fbda409e5d4692d351d218683cf1d292af88b02ccea72f18e1157b94222f0bd003c242cc3c95ad6f5bcb7aa4fe6d443fd0c4c97dffda27a9e6716051392fa2e5550348f2e3ea3b84337372cc4e7883cf4fb7618c5a82700eeef69dbab854580e526e03783e4932d5ec21ca6b7ef7b6763e58e1567edeef574061a7dd707e664d20d6600350fe8e27719b4bcad20c48a79b2da52654ec72a7a4dcd9079c8eaf0323c21ea803b7b22e78eeb80968596e5be5c2d3aa5f888c50868d77323ffe4d1b0903126bc0036e51c9dd7d5188c83cf45b47b9525e9489898dc3cf60a6c54298b4ef942cbf350348451ef491ecdf42607dcca1ef3d2b70c799fa342a431166fb8eb9be8cf5820b03c74f9e61dd87fc7d183ac05ac8f14dec2371d91309f6705717d653f3c17c05c703ad5843eb9585bab8db6f4c7de73bbabea181888cbccf630054f80afeb8de28dc00582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020480276f642501c000000582003a82e0609ed792734914cfd27617c08cc50111a6bc5959eb68e7e4a1f220c405820fffffffffffffffffffffffffffffffffffffffffffffffffffed4c593e9e52e036933828b2cce251e42bd204cf2aa1c92423a8dbb0a4dffaf7b8131cce198ae4f02198006036e6ca232b740643611254777ff63390c48521e80a8ab5bcbb90d1740bc9bf63c03a61c870a1a4214f8efde11d108c9b1d0b847e81a63b0567a97c29577ca04cb840219ffff03b08bdd9793845d6ae4c78b7c6608c0ff80e283db7cc5047e3da8dd9e8ebd859603b200ea37f6bbf7502264bf2dc8351dad5273c1f81b004881bbd84a2582205f2400582003955a7491328e07d6eeca58acaecc28328d04e4e01b9e67850a5ba49cf928b04702afd1bb5ed00000582003b60aa548dc2c6159e9fd290227a525fdd70755e2eb337e0cd95db245a5ee105820fffffffffffffffffffffffffffffffffffffffffffffffffffec2845841f5470338911ca577d3274e12827048ce1e969914ea1ecf1cec4da53e364f26ee0b138b01410600582003dd4b25c529ec6ef6f90eda34d65306eb839d9a2929e60244ae4bd0df2e79304602f88d5f5af603a9807509a77b2ed8ecf51887cfb5c2dadd0ec45b6595b852432a28e6581c614200582003772624c64ab879129f6397b6fe8a673f8abd48aec35d6673f0b8bcdcbf1e4046083d3ae6083800582003b0c6a3538229b3e5921ed98cf1cefac971166c3af8587377da2e3961bd68e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffd41a0ef3be6f005820032bce05c1a8e3cf1f6b5237bd16dd673cad3aaf4d4df93858f73d3024be1f504710471d66e0c82e02197a5503c67fbf4e53ffa97893c2fbb921817bca84ccf9b554ca1c9b0cfd0dd275f0027e00582003a7c1071dd120f6ab0df2bd9a04d92e01f946697868678aebf5b03bb9c7a6b0470567ce569e5f5300582003d64461279561aa0b2ee128d3708a8eee10e2d53b5560a773ad92a077fdd31046c8217c389979005820035c45a6bcb41e7279efa9258d2f139b6183d89b7b0153166f0679bafccf5fd04702722e7f7827610058200338c6da3f874b699c0058da884cd8e117d1fc25956048decb56be4d81fd71305820fffffffffffffffffffffffffffffffffffffffffffffffffff72aa1e33affff00582003860a359dc31de0dced722fcee812e90c3b09a729226d181a5ee9f6c1446d005820fffffffffffffffffffffffffffffffffffffffffffffffffffff1bd68c8ad8e03dc56054845ee1244a7357235e9a99b66373da82c1ba2c029ecd101e10629e169005820031edfdd7471eb119fff924cee45d097577c44fbbe49bd8bae909e325ca0fba0462cef2f11d7c30058200383dc9872f42e87ee65bc452d5a6ed3c7d1dc918262b002aefc16ed3d4a72905820fffffffffffffffffffffffffffffffffffffffffffffffffffff87a650f3bc30219e6700399c437567224c2dd5703c47dfd5b48ccc155d82a1f817fd023b76cf611406d0e03bb799409c557fff1c57a55335d48a84a9091c55393a25ccbb5552ec3e78c0bb003d9aebdf19cb99b10039e8ba3672fd883c868c08e7bf252cc9848645e43a0a0dd03542ba2e9b8547985882d19bbdde41992e6e17667a092a0a73216042f8919e3b20314ea318f5ee23a3a564632d4f2837184f62b2866a80b52284d5daf3b6f3f86a60333445f7b7361cee4a4b7d4806c5c756219651bde3258553bb498f02941ff3cb00339d62673ffd82a03d2f1cd3379b852ab3b8cd85a4e795f22062ba66251f7ecbc03c8148ef09c0344bc50364a3e98c9aee91d99a0ec10474c98170efa25d11315250389c3fc64f7fc1c5e71d27efe3b0627f6bc040440fd126e32b3e6d55877c7376203ab0023a0ac1058f18ba67ba0bf97e66c4c422c495a0bed69a2ca1b0b1a1db1a303915eb064aba8d6d296184ddfdd462dec278ad42365fe1fc2968aa274791653ec03e0866c1ecb2f75192f0813ebff99b762c545faa5f05655176c1fd109db98470803f0e4b84f96a5b0a4d24e4cb53fcae9bde196a9ce74ef6360545755f67612f5ce0219ffff03f481dbb3d01472757d81d6c6318099860d670c1e65764da90275e661d43343a203a6278065f10ce74c69661f49cfcbd58441a8279435b6da92d146c5fc6206512c03232d27ec228ad28f7217b4214f084d150cd816584e1e131436b6722bc936857603d6421c62154dbdb22d737d515cc993ba5d22215e003d95620ec7ab145fbe42cf03760522caf51b5d60e1e16557c5314ed1b95ba1f873b582552efb78d41c609f0f0345eb7b38a7093313b540ddd14114b7f4f24fce55b708066c4bc62331f83933a603d2615ae1bf46bcd7aae69d1256530e81b8a9c18bf772ba79e4c726b2b6f5709603073428c8094ab14c0678b1cef66da15594c1f77a8e4dbe126d5f74c63d89267903a45a9ad01b50df621ed0a4c720dbc3a2fa54eef63ceb2f1bb6118eaa814b1ac10058200299a2113a4364a0ef2af6f03fb9faeed4971078f5c83ae503f93f5cc3459930470335b98c5c00e303ba8def89678370b126f6c43fa7ff2f582abb7e31b318af6b6d37507195c4892c00582003c252198f5b48e2a692dd32d8e275d3f64d178af3011dfc4a154c0427d72430460118ca5e0b4200582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04209e600582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440470c9e86723e000000582003be540f4c2f628be7d18c29588c406bcb90a611f41a46020fcd5deb0e2ec2504636d6cd5e514d0058200385bc0664b85357b5e8462a579e89d1a2320804549bda2affabdf0a3b683c60462005c00dd6ea005820037bf025565fe71d1eec7dcb96e2a8455e1a781eac6fde33283434158e1b3900470225fbae0f155e02190f8803313f6b2db4329ad17ff67fcbe5d8f9397ffb9a42fc5dec66e5cf270056d527fe0356d9aaea11ec07435ebb6ec525cf3b2ae6feaadba2731736a53e2eaa78966e1403c9e0eb7b1dc68f3e18c6ec80a5dc57e61865a6412c743e857b6b6e1a1cebd35d03dd0ba93e00cdb2dca9eba162b5a78f2ab1926e658350466a59361eb884142ed40219ffff03f9ca54e82f934860d8bded8de113bb9ac785bf5673e935611d9e60caee4382740338395639d098008f6b3b9d78ca876cf1f9c9512b4d3cf40c82ba85b95975bd7503e6ab478e2e604d3e689084a2adb5cfe9df0898e9251af9289f73421a9ce031b6034e7a4f313b1b78e2c6ba676ba170a57308fdbe3aa7241c65eb6cebed80cc3fb80378beb605f90258437a2d9948a99f72787ba2a7c06cfb84d15c21887bdb48a6cb03b6298a9067ce3b6931969516e69b361bbef9c2a61e877eff92ebe07f8d643bb6039e7243b2ac7511a352e6216542ea34d559c39ef1ae9f01f79212650af246b140014101005820031ed3604650b2aeb65f74a72d2bab8f72eeedaac2dde3d554b57f413b8aab4046081b41c7e75800582003a1cb2dbfb718be3c9e1fee5ddace1c8576a84f1a79e8380d7b122615fdae704706bf36532b896100582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a804128005820030dfc8a321654886fd93b04804ac27d410ac505423fac2bccfb476112f2f2c05820ffffffffffffffffffffffffffffffffffffffffffffffffffff5f785b803fb80058200321f682c59d2f4fe30cd61c368f564a3621f9e29602aa4f6a6bca7669d3a0f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219047a03eac16bed530e0c71863b16a4b6823365ae49ce93486c13bab373c69364bbb00f03510a8dd300d066310b0de13f8493429fd878a4d632e63f9fea77b2ca30e48f5c03523d4202250aa300c38769f30124f572078cd1e6b415917d6660fb8beb9ee72a03984ee0fa41c6f01b025769bc096a23a5be2401238ab43ad92b5f5e6b3e7c9f6403588687c01f8b12f769ccd9eb7a58e96fc12a7cbf643340cb9df92f8b5dec171603da8d09c52e50f2d4eff148952f109515d111b885f8d1af3ed9c777904407134d03c581ca6a544779749c7c4ed3b1bf09928284fc1322d6cb1d0a76e600de17df02005820039a5a65c1a85fe546fd8105fcfd03dfd7458afbc9989f211f123119fd07bcc0460f9fad5feeb500582003ad9aedc27674b4f359baf4be8197a3157c4205ff98da8aab1912295eb9a7405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec05701000166d5871236685ec4470142b6ed86b61fcad0059a030c834c9981f8be22752511c82a462df716f76096ef5bdaa432116f6f7a057ded0218e80305ae27d611391a5434fd05e24573f948447b3677d1bc1caf758777bf81981b950219ffff0392692ceb1d8b03008bf6e8cdcfa326a1cf9d05010a39b15eeacb639357d13e180373c209078bd243fba8aea25d3ef6f7243a17515d0fcb898d09941d17857b1e1f03c013e607b4572379db121746f2b4828760d938cff1d5b7a97a929a3de755b9f6032db8f58b483acc6aea38cff544abf962e00e18fe49099c3faca2e5388af794e30359116d303225fd6f8a25585589b3fce7b81cfbefef339badee12fc72193b0f4a0373b3485cb2b8dbeaf26941899b80ff8530e6f53188d6a73b5b070558d3ccf6230376d734e9779b06caf18c5a8c2c3921519fdcbee600dc6bcf60c3c98f01acae240058200310a1abf5f6ced7a1e393cf4b8555fed1b183e6959728ef19393ce5991072a0461402462f6000005820034db6529c0e1f961d0fcd5733aab779414992f70b84c1c1f81d34ed12e81b6046fbc736332cf9005820032a8b8d7616088776bb6a847d9d41e9b8e4cfff9cac1b76d4c05c741bb2a4504701f324a5a2e900005820033c3f4c40275d4e28a7b12b0d8eba1b97c90eeeee1615f4bf04af318c535bb0460be7e52a7f1b005820036595600fdeb5182875f9b895047efb2a63f80e673ac5c01474d7747920ea205820ffffffffffffffffffffffffffffffffffffffffffffffffffffa52dff61cbff00582003589f2792b32cd8722a65d2064eb5ae2de45d6773b1aa191ddd29625c2cecc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffc1250491c5d3005820034468a8e946051206c24095654778b6baed14a717415069184cdc086d9b9a505820fffffffffffffffffffffffffffffffffffffffffffffffffffe202cb584fef6021903ce03937988a96f1ec8f8b5130f07d6961662bba1d6d85b5ed5160422d07a928817310325ed873a2b8d55e5225f2441b91b5043db1e69dbcae757d8d979a963c302d83003ea50a01856bfda8b28aebcf940a98b997e78ff562c2f6c342462f2dea575325303f74f9c4b4734a62e18875fe8a7bfd580c67505f6ba9b2b0e4523a4a9c45f2a95035670eab3094862ca4bdf3f8c2ee0fd5cf59db2eec5d3bfb7a5fbc8faa41525520318e39e71086b072fbea4616491f6c7af66c65903432812567a37e0347f0e12490342038e6366d1a3c3b99c85827f31a670e4fcbd9fdf96ab6cd825c5df9773794100582003d27f3379c5bd21f1c5f287e52837c6f6a1e26502db4c38ae2db24aa1ca1bf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffe2a19c8015c60058200367f4969ada423f1f5cfd334e1c13b5e71a153ef704cf0d0c23a61268bb2170460da475abf00003167ea0de7ef21ce7fb7b0560bf26aacf615f5f4afb83a315ea41c81335bfdb6e005820032a1183da47c9dca2aab2093549a09ea7ea7ffcdd1a7ff609dc8f752e942e80467619a15bd4eb02192a06034a6b116ff5270ca8eb1149b66e23ae16884922e7781ecea219403c5d72f891610219ffff031a9b35c15a4832c3646931563985c018296a8f8bea5543e4d24b9185e5b4f58203803286df0e4dad015aa3d9d5d3a9ba106e0ecddf333a8b23ee4fd8b4a7f505dd035eca58aa9a7b98cf121efec00341d49604420c58d900764e08fcdc9ae7482702038c231ef0ae703d5739b50fe55b7d1ba5a3929ea3def80d0e329b02a7ecb9625d00582003c6eda0ea6bee03eac7003e0a2a9754217156010efe8750b5d6f9621c7253604603f510b39d1f00582003dc5b10965138e1eb6699cbac7a1bfae1849d0d95229a25679bfd0200a9a72047058783d5f8c121005820033cb1f8d654fe5bdba6dfe9a6bd7863ffe461a3e7ba54424b3b7d42d17e37e04627eae85d5a6c005820036598d5c400037dc53f0d0bc89ec3b9b4201c450f0ae24880b19e3f3c73dee04602a5d74ceff20058200327a999599e11955c3c9d4cdf0a68e1b57394cb19ef58201f9605c7add20f705820fffffffffffffffffffffffffffffffffffffffffffffffffffff87a650f3bc30058200387ddbf44165e03e50d55e88258116aa94701639ebf9972bf111f8117ea5d305820fffffffffffffffffffffffffffffffffffffffffffffffffffcc850cf44fc9800582003208543d7ff490ca412ef21d72f41f72138bddacd9143d829d05f1b29e6a8d0463b3f23a02d4000581f024d953d6ce1d08162817b0f88df54631a06cb7aa78dd85d1053accb3dade8470336a6f56d43ae00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee341020218a00219f1a803f0921e97fe0ccce0c4a9b922c2f3e3f0b93409056a6994324a1415d8d25936d8038a0de4dfc8137172474d709d808784d916d2b106150a9e8027e86a5af6031884030c2154b5fd5b4e82006d323c96067b403452e59bb8b7af85dfcbfc9e512c9a9a038dfb79214ee1db898960dc4412bf2c09478c19dd6efcb31f13a3f078ace2814903fd2ed4e2712d0109488db064e980ccd656c99fa95d1327daa32242f9ca47ce38034179b6547bee63d437669941c7e133d21c8ae24616098bb040f87ba7edea104d036475bf35203d842f050394fe2ec458536840455c00f462c690fa034265a12a090389a99cd45e19f055d28f96930cba64e76e80666674fdc28a74d75c2b63bff22503362595d523e4729e69cb13cc5981257cd778e6790eb55cb131b7170bada2169703da7dc35c056970599c8744c0f446857f0d700c6bcce1f636b8b2ba9a971565c103e1039a54402f7a507652d3fdeb958cb3b89fcd07d737c9da3d29a3195e93f12803e4075bb348d97e3b66f9e32522e54d704db808827fa1dd3bd288222036d140c00219ffff0219ffff05581e03b89ed7b8562abf570053a8820a662249591446a132005ba1750b2934c007011936c3031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03e9ddccfb4fba78edb54fbc4666f20a6dfd761467bf6712d80ef54131d007011bffffffffffffffff037109c0fc24cd19ca26cd8eea0b07ed4c4f492b8ebd90a052e42028ec4e08c1b905581e0327a867aab90249dc8debbea11b5c1adfe2f2ae8fb005051c55339b02a0040105581e03c2025731f2068c58a3aa96b4c7cc67416d2cb226ad557e13137bacb1400c014704c0fa0714c00003060900159961f2b0a81fd7a4b1008a50fcff439cf3f499ac421e63e8ac497f19021958bc0376e49f6e90e0e47adc2e8de07c189d09d794827743bcbdd3a92dffaba4bb939e032a4cc3e3eab7e65203bf6325eec4d4228d332678e411270c998d22d7ba0e2da703f846efc35e4eccff6aba42c97288a7fcc949248fe8bf3b2fb12935d32ad1bde103dbd6363c804bc4177bcaf3edf6019679858705cd688dc22ea70d93c0998d292803739bf91697aeea88b62ed019eac4be1c94a2237e1983f50993a4e9886fdb99190363491269d11397f30f65587c78c48f14a4167a16176c1abdaa77cac55ab0907903667f71972f93d9a90a06bf88f206ae014481aa48fd9a717f4ebb81b4d167817e0219ffff03eda71fbc1192371561607b207dbd306c1908239438753e8c70420a3be26ee6ed031e612cb3fe97ea2039dc362ee87abfcee1432f0755948e34005ae0109fad056b03359dc68b16b7f5fc40d52eb61a7e15d4e14156bf3a3a4eda8b0ae3378c6bed8803dbdda646488a7f3d718d06a480130dad66c4206efea9ce4c1aa043389c102b7c0379a2698dad899d6da745737b91c80f34d8c2ae6458357e58908fc20261067e1003eab1368849eb9e45de13efb345458d3ccded2d9ee47af8e5d22e3fe4db8cb081039ffa2ff3ae18e7857514c8427d8c9dc8866ba8d7e7afa21ee34406d9075258fc033bd7effb4b4f7d5b02f8d8bc411b90bdd86d41bb133ce93730f9a9f27a3d27a903b3e02eafc3123978144339821eaf971f4ee8d4c75e8562de1fcefc2662298b5b03b20d02d92e4045c2c9f5e7d7873154542bf5592b8cff3cceedd3bbf0f522e3a20219ffff03a4e4c725667e2e550cfbba2894c3164c1dfd43ea38c321e322fe015d3c1e6c67030cfc3affd575544d090f4b1809bcb6f4f13d569cbe8e0ad0084029d7ebb66d5f0364b12de1b1b484f019c16ee2f128db15f13c3a891b34a657fdb33456b421a1c603dcfefeb5673d85186f5fc57a4b88334d09878ddb684a7cd8633968ee75f2f92203ef72a24447427c4df280771e6ad16ab0cbc63814a154f061e5af2392d75e681203f5303abbf4b08deb0f4af8abee3346224905e84a9703bd1b477f737afc05f2c7033fec09e378b7224ef430f56f4f8a3c1d2eed6fbb14e101ba12ba6fbd9fe08cd103ea69c9533bd2be9b606381743230fcbb09611a20c36123ab1751206f2e46f90e030e6658774ab187fd758020204b4c810a95f703cbe40c4cf9c6dcd47c1b4d4faf0219ffff03071d3fb65449a01fc9b87d9c6a000e6c84243a8d2ecb669af123b2c70537c8bb0300bc3d21c5422dd2af0252c5976c2a8f42589c665f0d4dc200880e8a3e2601fb0381417a19e5e1bf51888ceefc5515b92bf47fff03d739d6a910f918be48344d810334e2f1cbaef2dbdb9ab9caee82d722a06959ec1af82dba10f624348e2d8f941803711e43995fa8d0425479c15c0f3c86f0b741c6941a9e3821a9240e1774b6c34003e66e1d0169a38418f9ebc83df1d59084303e8456d992df16f6d2b340bb91f533039305ba07f96be19e146f3180fa9c4b6965f7f2c5fe48069c60a036a6d5dbb67d03c2894af76540f1575cf703cdb5292462e29f3cf68de70b72730add16ea9a974d0219ffff03e5d0b06663720c796c8bbdfad56226410ce88e201cde8399101ca2aaccbebb8003102605e0b4a0559f41fec701873f896662481eb04e65eee9c00d09d7408e1323032c4d382a332303bf52d4545ee93e1056bd4dbbd6de9c5061281ea92b76bfe2a203532319c6b60cc0be85496f65b759c2b829271dea88b3c0f98fbb677c4e8789c203d5a8daf61eab03a12e0e1995d7b48ac7d972905ef2d1bddc9e1c76b80dc4fa82038fd07c02efe92d38c1812ff1d4693e1d6d58863109d3646bdd472bb0ae79f4f4035abd3c68155f13f7bca856efbbd4933f23c68c9f62eef583944bc5eeeeb0cb570399debe799b7db4b71fa8f33b82230ad2a2f2407ed530fb95e8353be9ee35f50f03ed66d81530ea2c930ced89d5b61544646a49094a17c0c6979cb77323e407181a03e3309679f4b37089d3029409e331cddefff30b6d48a8d7b15ad1801a296706dc032e85a70a912652f5766082c6b750e5a4ba02fc57855daf62ae2956be41c726bf03f628a1b9881cbd5df38d920055f84232ca03d6f622bc28aa93b5b429e06b7fef032c04f5957b658aa65744e6a832f29e4fb06b71d69ee921c893272b8cfc758e6b0307e1b08cd8a5e357936967e414f62baa4daa6df18f40b051c59caa92ac7fc1830301e5b9bd9c26004a8193ecc1cdb4f89bf02184e485a74f273f037e61c0e25e9a03dc7c17cc4eb164d1884679f26ff4bf1097a749f182bf6a90bb852070fffb75de03f339975fc6dce2b73704adbd76153ae87bea2a1de301b536b6e1181b7640e9fa039e3b8c7be847f9ddc612f87d8a006a3321c3bb0715fa2ab83cd953a447d4c5ba03d56e3789281fd8a07be35d8df1ce75515cd815ec6a59f7fb5e9d618466b87b80030ce4e0e93b9f0b21ef30fc6e6038fdce48e8f1543eec60a31c0eb21dc3bad3b3036761de65a4f0ad0de85046b49c51bfe0dfa2b5d20314ddb72596fcfa3fbef162038c6e5241a44bdc19c439f3451835365f3c6293dfd48aaaa67fe93e3fea97350403dfc4efa42763101e25b97ba1e1e6ca87c5c9d49a1e204198392eacd76deca50c035e2edc2c89f1f6ee8941b48151fbd14cc50b0d52f75f3fc7a28c6faf82ba6d8603d359e499f4aef958afa82fc5a7c9c00ee08f0674ad97ae7464dfff98cc9b0d1303c3e5a7d75d05bad155d7160911da7b7904e0b5b2551ec5fce29f6b5f385bbab003055efb7ecb451fc63769011b45d1e27f3cd645e61bb5b7d7e60cf8b47eddd7ed0399246ea1a34e354bfe14e9584313fad0a41a5663857c12ba7362160534b8365a05581e03a0639d6bcfaa5ef089d3ee5facb95be66448cf0d8010777e1bbece29700c024704205c22d0500005581e0371b376d1f18bb7a42c3b0258c93b15e6b452e38c931914a718c7a4b4700404036b22bc61606ac11ba808a2e3718bd69a2511daadcd1b1cbddfa0b267a81565c20372a7e6113c845a3cdcf22bb4727cd81d380905d9bd87e4d724f1d1b8d430677e05581e036c721b3a121f063145d0b9780e019523eb42d16cfe6bad0d9eae2195600c1902f84807980c0a675eea9e05581e032f528a82f591f31f28bd8b8b5be248265df1cb5e20861d56eb806ef8d0040105581e03c7a4899d6237ebaaef5eac4350b0c07b2afec628fa452d12692cee41c00c024714de5f336920000369bd2c14b229600d113d4a79baa8b742b06e9467f0e2562a829e7cfc6e1a4da602192f260352f1acd0afdb8e8daaaeee44b97444f60944209bdc5fa1954be9680a2519cb2a032dc683ca3398733cc685113285d4fde3f98d7e5f79c90c7ed5b15893ff2776c60393eacd9fd4da468deec32f02064f8afd1094ce7210951fb83480fe6bbb1b9fff03de11774f2a4e84bad50ceea50f4cb110af25737d55c1d49a25cd03e9be8d6dcd032d110ce33930228847f7872935b4be455eea57400aa8ea29ddb9018961fd925a03fffc9e37e8f73313676eadc0ce4f822f6ba5c5ba00146613bd3751e7fdacbf4203bdf43796d30174187bda680dc54d31fbf28fb84e1e4f8106c2d93fd2c33c66e003545027cbabd29b320acfda9fa9a9f4a7c6448d3ea32023c30bbbbdd33f59e66a0219ffff0370cfd6f88f17ef98d58a360dd5d90656b1aa409be137b98939bc07930ac4e85e03d42afa4cdfccd55a444070ad6e30c42f7fb7af6706339ab9220baa891fe2ea5d0346dc2046d6ff726e07da26e1e5e8b760268df3d88768311da89bd7297fe8aaad033ee0eeffd00ec0bb22a6de8c3017aa2c30a029a82761f4cf2dbcde4745b590440364aba80aad6a1439f3c8381d96dfd7e7779011bd2becbfa334e89dec9e6fa9c303fdc1c8a73988f1de93fb3be677bee794b9394cc767741fc6e106246b144f3dd903b547b213b9f676780fb769aff82a5adb577a0bb592f273a4aadb425d01fe5252036f682f83e457ac0228526958db4108f9c6324cedf0a545beead148312eec756a03987370ed14c2c02403d9fe0237012cf2356304fd901adb00e778561438e7a382037518a841bae37f52d7525f03fa56b1cc13f08cb5c0afb1f1e8653c4d627aec3d035ed2ead87284cd56db083aa47de182e493383f6bfa10a9eab25bc6b5cd368933039ffa107f72a9b3ef0a15c264e14f06fd29062b657b046ecbd4dcc71cd9e0f74303f7b1d73a6f3e4c8f88a1e670833917e7e45d9cfb9f7d30434eb7565045033d5e0379cdb8d4f539b26cf8f9ef9d0116846f73c9c76953f85039a481eda193cc7201037178cd3cc7fd36df51d913bab65b32ca4b8f76e98800278b8e892e3c5314cb880219ffff03f19a0460c8bf323e771f706cc6bc19b6ee2bc33267146c8fd108d4318bc34f9c03fac4531067c106e9e6e292d373b53a432db0f94f2695cdc01cf4a66ea8f19d9c035eb0b00a455115839ed673f7a2e74e690e5f7fd1c35bb66beac73b84ebf9187a03092843dfcd24f2cc1fff36c4bc5488cb6dbd424f35243dee921b74047274fdbd038d5fb09b7451ca1143537c35b8707dc0f330ff0475384ee67bb397fbf6b8e1830219ffff03c30eff930a3c1a36ed5513aeba8bc5f8df54147e534cb89fb392eb381313536203a2d20b312f1217e4ab769925644aa97351403812d7990c8b904f36b67c58908903aec445824a6b07e414d6b1880c9ccb6dee0065a43c97408ac5744c845ca2010003a08cfe893c06b939fbdec22b65df523784e22bde94d576950c0287c8375159940219ffff032bd51fe911c3cf4bd0a43d91f695754c88700d831d6c10ed978dd46bec879a5b0326af2df15271362ebad5c8e8a984e887b2301c2be6fa075cd3e526f855b68a5003d024fa7d43ed605b94ba9503397ce6bb7566f466e42b4758b7f920b96e59c6cc03f510bb69884594bc95c1f2c751449eeb0e8aebe088b96b7ab383366a12ef8b95033005f4d2fc81467a4c31c70e27e2bc83f684dc3a551ed004f861c44526caef420352c9201785e5ed7af0a3400176a096d31c7619c1aa52999ac699354bed0ad43703921b65dab6d00297d5384f68b88cd135ed5a7a6e1e959b742eeb2e9c058ba6700365ad9970cea008e7b2307869bc593c03d9a3bdeeeed571db9c956b0f35da015503010af4c7c789838ad183580b4010af4dc33fd4efb731ebad39fe4e5ab203d4750356deb2f15e9cccca2bea9e1a0ba6bf4a5245fa73a61783bd5a4c481e719028750307a7459cef29ba807a731690eb476bff3bfb355810c784e3fc1a7349f3538562036ac013d15f6e56e2a9877a580c700acbcfc826c5558efd39982bd5511e635c95032023786e2a9bd42831eaa3898a68fc7d424f33588c45dc48942f7f2b70d0c198031662a9b7b545c22d0354e36c4996b9dc8f497d9e8f3399f569ee3a7b94a4848603dcd336d1b86f2f5b628ee483e075026a6fc15fd24b1ef9d0084b710b24c89217039caef99fb4fa61d6c48d18d8cd6963439d640c03e44705056d40d80dd67f50060321f12e0356ae5a0beeada0a666d895a958cef93c0d50b57ab0a432266133ea0003d88de817dd52ca41fdf284d2c32487005ef1ae2779aba2b08a63e92efa8a2917035a1e9cfd2b8e5328ce7710208b7cd7264d9ca4a56823ff7590c009d2db0ddadf0310e18666ea19af36b88fda25ad21dd7a4a48bb1c783a862e2fafe9b80f35adab03fc4397f877c00d8d69003cdf6985e0604af02628c5adef9e1cb0193fc9224a4303f9f6b80a68b07526e36f10b7aeb25ab78a59a3fdbf8abaaf729737fc833e40a703ef7a6fbd71938cb09998e51a1df4214fd57c4e4bf79d157abb65ab4f1538a3830301d91992da309984296bf521e1787ff10f16232a27112c5d818510178ce0ebef03e20359db6109ebd92b667b289c9ea95b3a8e0a07c7e36b917fc0aac5660410ef0394e4e57b798ba87f756f239b8e916499401401edf077fa2a0d865707561dcc3f038753fac30c765ae39cb5aa44e4942a19d60d2e380b89f04287fa869cda7fc9e50311d51f7da84068203e8b590ef2a19ed9b4d7ea7bb0cb2c8de8e4c56f04165aae03461ae316309ca9b8f891a54f01b175c69dfad0c1c7f074131f656a58a0d4de3a035a5a8109c873a6b160187887b338bf165ef58aa42ca9461a58e2da56db2c4b3b05581e03103525ba09afb41e072759a34a0f337bda3ccbac129c503da2f8c38ac00c014703a8f7f558a32405581e0306f3991bb83ec8d1495aac84d01212cdb0f2dad2988e3bc3556c0f47b00c024701dff17ed5d530031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03162640bf9228ecfbe7339ef8cc4bbbb58d58e7a7af00c034fe9f58ee7007011bffffffffffffffff05581e0379f0a53355333122b775ac34350e17abdfc0836e235ebc592daf0c64f0040305581e03161981e8f1cfabc0576a101d4658220cf0e3509083255be71b678db3c00c0146e3b30efa2e4005581e03dd66202724402c1d722b865e037a227ab22f493ad2e733399f74d534a00c0d481e1af8656a2dd91e05581e03f0a0b4eca29d8fd851b25015cee7357f142e6aa645bc0d289d840d41100c02470a55206be24fb40219ca9403b4b367e59c217b125805c64747f4ec3c89c611532d7ef2a45f53005049e08d0e0357093e1c8cab9c100da62a95d87d7f8c56a00ea7ec705e13cca342ef5691a0470334a7be6db789fb9b8d08d7ae6464347bb77190b48d4634fa0e9b8b4febb2c49003e0ce8dd9a7e1d9bf6664181362c2b30faa5ba6f53a0c848415eebacba5101fed033dc019f7eab25095db27dd9144f8811f16f800cb5240e875a5e7a43f3eff500903ffada110f2ca7efc3cbd086732c8d911f4431faa1d15aa038a45e9a3f6f8f22503fdf430d52b8c7fde201492356894b3b286129645b2b0abe31fc773579fd0069a03dc7ea32e0ffa948f841c26ccb586ca00f36fb98b7642170d96ac66f5cb6f60510342db6ec553ade7b22992854f41e80b9fd3ff79e15806a424f16353bf7035709c036a781cb38351a5db195133184a4fdcc7e56c3e8d7d848c1f386296ed81387bc8030561e78d27e7587e70f63e5709eea33bba06916bdf5c0c99bb595556a4c1a67403f417a3d9cbcdf4ef1f38c93af02b0c60a376bf32521c8d3f5e2b16758a8778e4032d6ae6d0ed2938580c59cff366def4265105f787d803e73bd1095fa513bc396703200bcc35bd073051b8d01d2cb65204a250c3cc29db937eb67f01fe08bc8b0709038ed97fc7fb4a2823832dc3c5b2a9672e9bdcd3db1ae7003231cd9841d798da4f0219ffff033fedcf255a66d4fb488628b270bedb3072760b084c124cddfdb51b04e10aac40038e0d9a3f0ac8f008b3b62bec642a7d1d59e8b91e7aed26e9b561abb21935200903ed9138919ecbe5c2ad9c766ee09c33e5f2bbf59d6531700d075d696463a9b50103c03ffa4d663993fdd5141dacbe39e9fbeb319458c7f51ad14a004a5b2993529b034fa7b7a01eb97416a0c5fa7dd19dafdfd8579e4cbd43e0dc0ed4c200529cd81f037f1fc24f4d3a1ce3a103d3d31ec1741f5540125ae9ca1ba463dbaa4544f2fd3c0219ffff0341640b04d99779024714d93f1e1fd02814860b1c0ac3fb5bd785fca84b9e0810033719cefbd710d347057b82ed49069fc5b753b4b92ee36f5e16032c8f052510ce0219ffff03c449054c588ae5a89ade941be4bd3138e1d95b639ec03a6763fc092a40d6aa4b03ecf1e6332bc7a9185b0ab23a928c57cd6d8e10b5721133771f1720908b01ed3903c7dd2d2f2dcba9b66732a77150e5c982d4ede521148660c34ff38604018f947703a9807a27c480e83af2ab28920ce5a2c9bff43035c95d530a853d8ff1314ba4fb030fe44cacc993521f4ed977148290526047e045ad2c873aec0405813b9e3a243e0363731ec169c7b344f40a8a39c91f6348bc99c730d6e274b239a6eeb55dc163bf0322b579f47d61de0d155e30da9742b3c2c742ba09a3330777205e4e9ab31769c0033c4cfb072afd727a3b7c4816a57b624e9b498f2a38c6b877e9c7c510b1b5d4b7038df1351eeadaebcccc96fe10190287cb419f635d5a638ae3bfc6f0d40f66388903eb377463e87992f6db26c5f3ce6b72ab01916eb276540edcb800077bf1ca7e0f033dbb54a4560e0063b0307f9e33357e943618ef5e31af3d958408cbcf4ab426b1035dad1d8b73f9797f31efe415269fa553aeb08bd8c3038cf2a0903c5b4c3b4967037f14acb1c9f6e8f0d99847b8bacd72ad7569e76668cc30c3180be682ac6ef0de03388a62f84cb0b36b5da8c2194a05c229551a705869810c004ddc2fff74906065030c194ce8bd3dc2cefec63282b622c0d43b0bd77f5670e2b7d033575340ae060903cb6ed59eb9c7de1f9943bdec967154f464be62ecb62b43eaecfbb7ca45115ea503c0da30082c7630cf2c5e1ec325439c7e8709bb22c9636f43fd9bc25b97b4da6003e30bf0701308a1cbaeccb82a03eb7cb1069201d940510023dc9c2dc6681da0d203f0f75f4413f5b26174d1cce984ad5509368c2676895a9f6e7a3b7b294815878203337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba0343d0b6870e9834cb53332056208f42c59f8ff514e0f82d7224f779844eae990e05581e0397d29ed0b1e18ef84e563ce6dea78da7b27eade05da7590ab699c1918007011bffffffffffffffff03b9d88fc6a08709abfaed4b7c9c054ecaa78b6372bb47a085f877dcdb01b31e5c04590a8c60806040526004361061007b5760003560e01c8063515a20ba1161004e578063515a20ba1461017c5780635c60da1b146101a65780639965b3d6146101bb578063f1739cae146101d05761007b565b8063025313a2146100c05780630add8140146100fe5780633659cfe6146101135780634665096d14610155575b6040517f6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc790363d82373d3d368385545af43d6000833e8080156100bc573d83f35b3d83fd5b3480156100cc57600080fd5b506100d5610210565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561010a57600080fd5b506100d5610235565b34801561011f57600080fd5b506101536004803603602081101561013657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661025a565b005b34801561016157600080fd5b5061016a61037c565b60408051918252519081900360200190f35b34801561018857600080fd5b506101536004803603602081101561019f57600080fd5b50356103d4565b3480156101b257600080fd5b506100d561054b565b3480156101c757600080fd5b50610153610570565b3480156101dc57600080fd5b50610153600480360360208110156101f357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610695565b7f6279e8199720cf3557ecd8b58d667c8edc486bd1cf3ad59ea9ebdfcae0d0dfac5490565b7f8ddbac328deee8d986ec3a7b933a196f96986cb4ee030d86cc56431c728b83f45490565b610262610210565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102fb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b61030361037c565b421061037057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f61667465722065787069726174696f6e20646174650000000000000000000000604482015290519081900360640190fd5b610379816107ba565b50565b604080517f7472757374746f6b656e2e65787069726174696f6e0000000000000000000000815290519081900360150190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015490565b6103dc610210565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461047557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b61047d61037c565b42106104ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f61667465722065787069726174696f6e2074696d650000000000000000000000604482015290519081900360640190fd5b804210610542576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180610a2f6029913960400191505060405180910390fd5b610379816108ee565b7f6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc75490565b610578610235565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461061157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6f6e6c792070656e64696e672050726f7879204f776e65720000000000000000604482015290519081900360640190fd5b610619610235565b73ffffffffffffffffffffffffffffffffffffffff16610637610210565b73ffffffffffffffffffffffffffffffffffffffff167f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd960405160405180910390a3610689610684610235565b6109e6565b6106936000610a0a565b565b61069d610210565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461073657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661075657600080fd5b61075f81610a0a565b7fb3d55174552271a4f1aaf36b72f50381e892171636b3fb5447fe00e995e7a37b610788610210565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301528051918290030190a150565b6107c2610210565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461085b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b7f6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc780549073ffffffffffffffffffffffffffffffffffffffff80831690841614156108a557600080fd5b82815560405173ffffffffffffffffffffffffffffffffffffffff8416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2505050565b6108f6610210565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461098f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f6f6e6c792050726f7879204f776e657200000000000000000000000000000000604482015290519081900360640190fd5b604080517f7472757374746f6b656e2e65787069726174696f6e0000000000000000000000815290519081900360150190207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0155565b7f6279e8199720cf3557ecd8b58d667c8edc486bd1cf3ad59ea9ebdfcae0d0dfac55565b7f8ddbac328deee8d986ec3a7b933a196f96986cb4ee030d86cc56431c728b83f45556fe6e65772065787069726174696f6e2074696d65206d75737420626520696e2074686520667574757265a265627a7a72315820f0711983683a8e75a5cebe0ba1e54123d11ff3519f1af44dd6984e8728864aba64736f6c634300050d003203aa96f2d0551286fe3750897af82b6f7385b895f1a5243b2f32a367524fa5e9e00381d63f58e09f23472b735c12073ac6d6608e6c854916fa08a65ef1438ae524da03d2b59ce761f5085fc9e3ce1fdce7bb8fbe65741d48c64a7604bbcc9b6a468aa40369ab775c49ea52f7785d49b62dd91b6a986bd73084b3d35cbca0c2e983f4f7ad038997925f28b9e9b6b0fb1832c6ef64e8a041cf1530f43824b26f7b97f4b294d30346f5b78a8763b80aea465dba4359131452d00358f50efc7aeb6445f4f51f89bc0375940734ca1a29ea72804e21aabd25c83e5ff22e1bf257bb6bfe07efa899f48c03381f03799cfb01716bc755c98922a5bf2ff9f1a46b03e6b03951a8d1e66805cf03ce72e06f6ef81f6174bb4eb9d5b5716a507d957b414ec2dd5004cbebafea050603b42bf286d9e067a8cb5eb08cf7f077d77675d35b4a8f1ef4d7f790b3826ebbf603a3770125da5d11f539e338680e3bd93e86460b95ddc88981691a6e4e4ef89942034d072f78a83506fec469a97d3571122de1744850634cd4c50ad50db86b28625b03fe35319cf5a53b749a380c7c9cc0f802cb38b61444c452db9f33444476e9122d03f895fc6043f757e35b718578b873e52392aaa5f96b35195836e7ed16b8fbba5803695a3cabda30c136d360892a6d0725802699e8390f4971aa3182b62597176d1d0366b722172d34a5f343a645be44a06f192d1a7e04c66c78e39531313ace086d11033a1c224f849123545148ab82df153b28cc3604a100fae6d91a88bf649af4183e00581f02bd726345c045363eaf43bc98ecb378cfb1d991d60e3367313f0a6aa515d654095527f5bea113e9575b662c5ba01d990a280f2f0325ebf778948f3447572d831d66ebd52d90ebe5c64f4f6af8af4d82a236ce0110038767ef62ba5b64229dadcd02f2febb0b19e19ceeedfc812aa40cfe3cf829f835021924140219ffff0389f444742129631500d7f2df7e576a8073f98e5640ec75970b2ddd411b79862e005820032138207ded84b229feb92282dd9dbfc58b0cde6766777c577047bba91cd1a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffff5d04bfa7ff03af323a87756053ad7faea594fc9f7b8033347a6b6d0a16d9c6c094a02079220f0349280ac313c462df5c41c7130d431d1b5cee1c714845f9478cde55a94ea5f39b03ef2c7b42bbd5311f0186a6f9b3e37f82120b936fafeda9c7e7bd7b8f6ae414520334e9741d758a070c0e59ab591d6468b55550797c32bb4486b91498812be405f203d624a05f33aa3cbfa8296be07c976cffbb43823888577b94b5cbaff0a05dbcab00581f022907e66b0911e6494780e5226eb357b1fcd1808b115c65d28f64b1061f7c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffdb5bb16a1900581f02e0ff5250f2954b733552e7d1f5d55c308e529bea349c00fec3b0a0c3b2e145877e6986f000581f02df589cc93b452b371c9ae675260aa28f74c42d0fc03f390a4597d70c7b5a4b4a817c7fffffe6571addb000581f0289537a9c3541bd19869439d076df44f3dcbe183f2e244e1540d112aee9705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffcf877c3b5200581f020f4faec58f961aaf30dc59ae1e270570cf80dc24e5a69af0e0a87ff2eaa1450b4a3aae8000581f02ef07e81dbf7e808a682c0efb23ad1a503773cd97da7e8aa9924a421fa2c75820ffffffffffffffffffffffffffffffffffffffffffffffffffffff1171aad02100581e0284b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0544f4ac7a7032a14243aebda98ee04a5d7fe293d0700581e02122e2f4509e5e7ae2d6bb982d7a4cc7c72ac076ad024cb2cf48abe51a25820fffffffffffffffffffffffffffffffffffffffffffffffffffffff89817938a0219040801410600581f029878df3dbbe7e250d067e318e69d8ab7f6f3c72b08442f553aa2260d6e4c440120656800581f020a10d39052b348b812e5f6acc9d7f006f1f4ac56e67e87ba5c9bd9f700a545c2068477400219ce650349ad8276a422acd5b560651ab75eecd8056efe20dd43f1fec13c0fac469d51e103d76f6fe88aadcd1738722e9890a9e9ec31a4e0150f900f39315558036c508bbe0359e51737a9b9b0a4e68af1cc989bd99657fe7c5a2286ce354a379dccfc859f8a03797a465fc30bfafb46bcf75799e9b5dbd2f35895162d6e599d626106e89c242e0303e4473098a7bc99fe39e3b2eafab926060cacd246714e083836cd17a5dd5aa003da46a46fc745439ea8e2562f1b8c2d4bbf626392911dcd89b01fc6f6e35c0311036e31fe3effbb370ce655256d33739f91b7086b9c6c4e6b99d23c93045b79defc0370620a19d1baa448e892dac664720578f5a4d7df9a8f1685c064f3a4069d70ff03b912b4fcd9be8b6c4836a50bb88a41a897b9072c9f3e88695c36e5a1e9a0c6da0219ffff03c92c6a3bd5ef8e8156ee229789b8e6d46dba9f048df490ccf490e69c4c68209d03decd553c83051d60a248b3471019928e0a35b4529f3faee57589b60b1f61b65d033536643cf693a4aada3cd96094dc4da6bf038f2ba3c38a72452a391b6c67013d03eff3860a60791823d8bb5c7ec36046ce26938adb147bfcefdd67ddcafebad01103aca7e005d7c3fa4b3d557396d49581bdefe87ba19669d9f4d5ff86c80bd2a5220367b2468a1e387d8c62ff5659cb1c916350cd04bfb0f0f859ada56365659297e7037046e39c290c06f130e19d2ad8d9afdb783b1e2442f1eae1ca31f07e573713990310d87e6c27bf85c50d24585b52ab4a1241ccd0632c90c216179578db6d3ee27603489218c67c51427647f1d4b7db1d6c54bbcc13ccc45befa0ee093cd0a3c597e5034b53c367b0963f0c0f2f548214b3a8a53d909c1a6fe97f21abbacad344a1d41f03238d91373bdeec416c7feec86c1385c6f235198e31c5f0a81129476d0efa5ce303ec54a07d2eb1854075271be298752947a8dd0588f57a4cbe084f1572e586f31d0219ffff03748957bf85ac0b11c234405cb140015313a1179b80f12e2710b13e35cf13baef03b22c5fe555f0840bd1c7f7b8669670714e5dd6e6517eecdeb86894aa40f12250036d9421d2da46bf08a947cd1ac263820fa5904f927ff18dd87c17b8fb8e4911f2037eaff40d41c84353f0b343ebe5feeb678e5955cdd7ea5313fa754d3d71c2c8cb03257524505f503ac4a6ea4425864c7e81f82e38e08e975cb5908a69f2fa90593d037f7220c55c648e14045be6a7588c44602f39a3b8ec711b7c30957ba2c468168b037013c4294b3d5f20f3f10bec8b12e0bacc58eac73f97a22b03f68e1ff50eb31000581f02e5173ca308786db94512ad5a9bafd58e5dad3976a784e891a43e1e7a91f95820fffffffffffffffffffffffffffffffffffffffffffffffffffffb78ed8fdf4200581f020b18935cfa6a19c731cd9e8d24392fec99c589ee434f513affbb148e52f65820fffffffffffffffffffffffffffffffffffffffffffffffffffff867f9790bd200581f02b79f33a15382688ed9a5cd2c9a69f0a9ba5a267cd6b2f574bcc94330a817453ce1baf23d00581f0252ef0c351243d55600adcbf645d5f67e77847fa8cbe3e6dc66ab9ed68cc35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f023fb57741fc5a5e4438208ee225f13e25f349deb4d28f94c8cb54827a04135820ffffffffffffffffffffffffffffffffffffffffffffffffffffff798d4d908203277721a828b112d1ac7d67716569f1b3f4c6f9d2970de5cef80fe0a5b37f11f10219c23403077b28654ef06eb3461ac834719c686c0cd04ee546be3436e213adc8313bb8b0037de49a8d8182c4531d7c24a94d8b0bfa3383146cd9bd1497725e918ee9e7421e03d8ca8efa492fffc54a7d7fa585866a6a535502ebefe4b803a2d82e3e0429971003df0a3d4d73e88782b4ed5f77269f3781989a9aa7e99377288aed463c61dfa7e40380b1bade70be5ec0c4b4447a3c2810a98e4468719e843cc4f3ac72617c1bbdfb033b92a6f56f59b17529d8f427082fedcabfbbbede483b2518300d8979e72296650389c8980d8494d14199010125aa29ae0d8347e69364112874d66d8f864c0dcaf0039a27eb47add5bf4327e4b27571330d96bbb965b41db656b860d4718b55f7e146035579417c45c74694dfa43e1202e30054b1b2d0651b8e53f7e5f6f81b74b11f5003b428d8ad7574c6bad13ecfd2a410c1975d4eec0a073665a8f0e726d2c950d7a203d110e3b5429a7a398db406276cb1fde6273412c2a080267d948e5cbd5391fd010219ffff03f0c77530e1bf2aabd23698bd74267cc64f1efca29a42e2011d2997f8f1311445034293696fb5218eff6fcb26b44ff8cc1c276cc775ec02cec4b3016e200388fe89037dde012e37aa81fcb42cd4b414c652089b2b41cfa3b7def854ab62b27280843f037a72a17b56d75b35328700d15f524fa8f4e574867535adccd1487f8e6f2c3a080356be563306d703b4b592fedf2b2bbd1fc2cbae98058730aa35bd2d89ef766afe034ed994eb1c2b3ca46bd0ec729c9d19854f3bc16b953c45f4be3b468d7085fff40397b0fabaf714c77722ada2216839d830d63c61b444f4210a735c0997c4b8ed89038ff1820967548885790550fc08bf5d41600cbfc7bd3948977d12a734aa98a60f03ce2069cbd15587a38ec8cd14268f8ef83234787d1d847c8fbb676ece3ead92e3032f063f9bf97ed4bea3cff03b26d286db61d54c7bb99a545d0e0d4f75a10ab7c9038715675c6d32c0e81a2d21e5a0236d016ac433717bd9d0c41064868460719f9a034cec28351564f3d92b521364ab9eb9ce626159ea130949cd4113dc2ef6e93c2f0219ffff03ff89633ba52dd8308e7d1c1270e48a02204d0964a44f89b70d323cc142abde4403479bb3271e7a3b39091cb36d961831cfa38aef9f133b14846bfb42b2d918fcc4031ef0852691bd5b1c39b310cf9917db3f5fcf1247cff4a1ce87d134f9e7e4db5c035a89540409c1cb6a2a2caf13a7ef4a683d161913e16f86d6f7fd78fcaa5a00ac00581f0270a497d8aa97765924827635ce1046ae9daae25f96b92c6fa0e4e91397fe4509d023d7bf00581f02e8e96a8e47d0e7c1f5dcbeabcd8ad8ee9ccf1218cabdffbf9100a49b6f2d460f23bad8274000581f024da5d4bec0257036774395db8fa3f501227542ba9226fe99e1e2760550c35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032793e1d41ef2b04d9e1bb04ec5bff83570d2ab44600a54a5925838f94e9da78400581f027ccc8e1b64e6bd20853ecd2f3a249fcca9df128962b94c3dd78f7e7bb526459184f66c40021940970376fbf7c6e8f6309ef632e20ddefd1013111d09a5cece0460afd5d81b69e71353030139cecad36d283c3c1fd0e27024b28ad3a6445288aaa42d9849ed0da3daf91e03a4c0bd0a65c35241e88249bede045e6023b7188c9842e4ae1c0230d41769fea80317297f13081842de3303a8fb03905ebf9c18fa7c1a0b004c8adeaed0ab3476e00308c4f49456f84856156e205d5559adc2535a583588d1f6678b0f79890cb12fbb032c6b45ce60b1df1219eec576a245bc8aa0280edde2ebd4087a6316397b91eb2103ca6a600abda93ae80556c1229e2718f18623b7ebf51141dda8fcfe2038bd239900582003f04ec8af212deb5b450ff73f768b3836b9d1f83f37f8cc4c6d77ad17d2a7305820ffffffffffffffffffffffffffffffffffffffffffffffffffffff4f24ca9dbd0381c16c25fca632694490a8b9193d6db245ad9fe4756fb2003c22d3c6335c0ffa03ac2f87e928845ce47855de50597c57f31dbc1671cda35e6987ad94acd83d52c1037a4c9e05460f59245d6c2263070c621f43293b4985f11bee86ad5666f34642b403789009221af5a38d5d263b7f3d6b87b24c7e7c5977a736f0c52e927f033c9c9603bcd59ddd7c8862c9a192335b771a250b5905168c27d88eed250cf5592b3faa2303eab4d5066fdb64a225d13fe3ff608fbcf66e96a3f203ef14c671a3f81e43c6940219ffff03c425cee2f1528c885e434b521f540263390740bb178eb8c826e267f6283a97bf030b12d507d9169613d1f121bf38e50c67ae76466337ec0ae058aa7f5d7bb9c035031fa67af638db92b0c312127ef2a8479d70fd8a68c0a7a74978c6e6246d8ed49003bc52b5c1a481e84427cac6e01d1df53aa410f33b2bcaf69b9e89543be5916bbc038f5b2e518e854f2530850bf7d86bf82eec36dcb25b77e01fa997e30b5f8edf4003979420aa66299d6b47543ceb6ddd57abc4ab6585c16d3dc613f3db7e42a5c38803ef9acdf3e9359d2da6d68ac04a19ae6c802e934235683bc86b13a18a3876db21037c248d529ff9b1af6862da91acae35986eb87cc211e7cad781454026e69c284903b29562972e26b656543982b1b1a752253e023162fbd0ad97093cd7f0e8a5492503ccdc0e4977ef6a76094175efe80451c17584365dad07e10524c74d2936a82f7403032a2ab88a0fa289fc3297f53d816b873bce419eb6c0c35c8254e6783c97400300581f024197fa5848a925b5377e0bf8e7fb144fad9c29795157cb6184db379124a9462868875901ff00581f02c1a2ded40f2bb38725c360099c4f719e4aa4267a4ac6eab9f1b62d73d25a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe8b4a6d5ef00581f02791db1bd6c4c5bc50939feeefafad2cfbc2f0df58229dc2b0ac951bb666b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffeca4cdfe1700581f024c16b4cdc2ae8de4a8eba5443262a2fce536d63f54719291773a4d5c8b185820ffffffffffffffffffffffffffffffffffffffffffffffffffffff45bc0bb6ff00581f022c7b5f92f1ad509726c993c5ab9a7c2e10e3b68d2ea851b6424113f87ce95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffc92e2de2b000581f0275650f6606691bdfe9252718bc3cf0b272db911671a64fe845ecaf4ada115820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02d4071e6aada2066d119bd8dbd04af4632193906f67fed7a44ac62d0844895820ffffffffffffffffffffffffffffffffffffffffffffffffffffefe3c43f2f9b02198a5c03a9f902c3cf96efba54a216b39206036d37482ba7fe3d26739e5ad2facf9a3c3d03b2b83da803d12e2f5ddf7b3904a975c72b5039e1ba50205bb34eff85b69336e90353426b1fb9496abae0dc7d3a36c17eebdb4b1681f8f6b4c9bd79503958b34a61034a66666968f7fff1bf48a2ce9db2e6202bda1cbd366497cc9a5bf79ffe05052a03ca06a240ad61eca347930e2e859b6ed6d5e9ddd9b59a9199960318676a6c90be0385213a4beb23471072da24781a9bd217f30b32cb8f93d4fef669426676a4640b03c1d25b3ee4dc0fb927f977e29963d21bd6d1049d2104806f2e490668924e44950219ffff032fdade301099616a48195d23f197b70a3897cdec4a3e340abb6c74dc5b19e8ea037c3804ec39f62aa9eb27151acda65d61960b9c5e5b38921f54c71f117046ed8f03c40a1d0f235d401713aae8c0016ef2010b319be7dbe925a1b4ff95a6d731c9da0328d491fdb54cb1b096e93e190e600ad322b22f61c38ac93220aa0323f5e8819303d5248a7bbbce2b9214d5566068f0e8cfe7e9e16e6c9272c7b31866720c5c5cc903407c0063ad223d741119f0eff83b022c5dae9d4f34140d1fc0896f840e162b400348d6d8ec38bb04ee578c79abbbef34c940ce1bb76c951cbddd527175f7ec19e103cc13e7295ff52a2c7f4986e383e482d1569c88c3bbc9ca572a10b4166ead11140387dcb50cb32be0a13567dae6b487bb813e77ce830dd1310b24eb702222689b670219ffff03d1a1c6530590b8543aa224ae1927ae4f5fda53142f5f2910407c81bec57adb9603ff10820bc66ce99d078292c32d74a79be84da9c12231662a65bf13bae65a636903c8418e489302a3ab198a3c0b81b97110ebe3b9539d171d44ac95487ac949047a00581f0221d3697dc6bc60e6b3e17d3c431d85c96e0fc3ecc3a920bb8c69269847f745063d39f03100581f027fdb03760db598f7666136be4c5a2b48df2ebba94311abe091fd50673cb94557150fbcae00581f02ef180394bc1ec29f93af0ecb9a06decc39c6ea112398d47ef54fbcfbb5e15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219012403ec548af4d91457ebeec55b2d46dcd972c7dd8eab478f4f54ad642b9b86df1f0203d664fc269198b5a233952ebcdad7a1060aa86d3d42e897dd99a9bff82687ad8f03035b4fa81c263f63bd9cdaac8428851619465f8271967468bedff08a2a26769d035fd128d4d938b900951f27287b2ff55e57bad3e8c1fdcf9ed7dcf356de48492803763dbb0637bb8ca77c5f72a641be821ca0b31f03a18f585ef0b7f770195b63ae03562732516eae1228c26048867a478f131c7d7546063230f695d3645ca78a5c94038d07a843256086db6d8f93d1fcf5fe8209ed3524a3b336962a40b38b761a7457031a9d6bed8fa6631b4f789dd75146c846c320e1eaa0581c86045964497c061a87031372588eea73d48250ea76d1fb46394865eef30bbbd83590898bca3855b3c64f03b8d296b42b7b6f46064889e0a70a9f654b7fd34253620fb918e604d250e0bc120337412d69eeab273f479cd4e1cddb6d3aaf61ac8f37c43cce8ba26cc5fbcf37ff037f34627425dbf5f1d04d00247969d20b546de701a7cb5594b6582a0c2c07c6f40219ffff0387db3c71f02ba2dfe62285317a8d90c8d0008cd46f5fd0e52843405770f93d8f037570881504ff480f8c018a538747de796902956c750165d831b6ed6e06994ca103c13bec9db378518a3e219fd64df215f6f3594cf0062935a2d7f3fcb8b48795320313f0a4f8695fda30cfffc112e4271bedab1b186082284e2e0abc54258fe4a33c0302bc9a9ffcc055271efa0f988be61e262fd57db1a67e9d58b071e540e5194a1a034493e2a7275d894f56e0aeded5875ac741a67a664a95d1cde0f1cb9d26726cc403b912256d58c4d6942de6cb7ed8ca8fd7fbf54c7f7af9c90e7823aa60c7a6bbba037a2e3a2bc4d681c453de9e44fb1435cf226f35d85b3d4b35181f1fb1545005050395e37c490696dbe1c6eada569290428921efafac07978747048b2b08edb7de390370fea809140f66624d63364ded28ecf38795eadc4429e10dc49e166240da1a46031f5e28bd7914cc2596a68604ea48f177894e9b988e0cf2efb319f3a1a828f1e50369995e9a6b29c64e9624840bef2f58a06d3f63ec4f0bbbcc0fa7ab18e18c1d9b038ce0cc0125fae80b9fbf9cca893d9881d5cee1792e4d69abbbb007d55483f9ee035909b7cffcdb7286754257df499f15a1cdb6262b9d999a290a4ce7dcd557e4ed035a52a2970e37881e3bc53f2fece419b0ee0e077353e49ade002385badac8e0200219ffff03ef72a4aa0d6f1166f19a6a9e85ccb40e0fd155e233683c4f0689776a042936290339d257fdb5b2eafc9b5ca52a09ea8f3a89dc006bc17c65731d74958b7e84cb5e03a33b3a4ed85ce0e681e18fe0cfc474fec55bc6df43c473f3148f9522ecb32b85039407bb860536b906926983973710911815d12299e8ae68b84ac81e87d7e1b7ea03675f9c807c98be1b9e2a100b695aaf70a12182452374aa881b28cb89dab65bae0310929730fbebb7705d3322e53ab1fa47bf1768ed62a7a745c4dfe4b8686626960391f32a197689ce6fc7c1ba8becef719dd5999d1be863ccde084971821999969a032833a0a827182321331d395e4e206840e1d61d1564992f81318e6d3b3fcca9a4033b28af7cac1ee195296849cb5bf7943ff098220eb9edfebf0edf867f1029ff91031cd1ed487ac645a2e793712942913ca3b199ebfc2793962180d25423164681c403193d00f8da8ae3c7fc9d46c27f019a7460d0e4ca7a901ce99dff1db27caeda3d03b003935f0f0142502349bc04e998884147b64d3b80e45c2f9b529e4572f60432038ae550cefeea5ce4a781f8d601d5b772c5f6258e77620c294022481fff46c62903393876ff74c1b66948fa20fb57f6218b849c02f17cad8338336e3d7fd7f26b53038c596ac401fb86fbfb7912d584a68748f29353ae9d5775078406fd9738d7154200581f0290260693aa3222f627022e0ba1ed0282a04476a5c8f71d39b05b56e977535820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f027bc993466d77a60d4bec3591a0b17114e36521f8f7d05809ce79913a7429454ab9f9df8400581f025a75fd38c2fd5f12988c9ec7d73c73f5603a3dcbfcea46a76c952142b796459933db340000581f02c0480a30a9a48a186cf22b2ed18c1561cc964f0daf3186b6a3f04f4953c8452cd186018c00581f02c08663a0c3ee0f424f6943d9e7eb041156f79070647f626d97278fc9d9064609b43c8093c700581f02db7a6e57e994a3f851c0f207a3f9bc06308603100352b3ad1a4558565c6d5820fffffffffffffffffffffffffffffffffffffffffffffffffffff71395094e620219215c03d19cea15ea517cde728533d82917c5441692ac432e40c9cfc0267715db2b3fb403ed1d97be11bcab19c2957655710616575edd44b325f4dcdf86ddefeac8676118031ff6975aabc1aa5be328e55666f48fa5fda60c28b3acbbc3a1d03bb4c6b83a4803b7a0a3467a0e4f4666c87dee75774d23f1d530b0d2ec4a865ab15a9a5ff846af0348c138e7fc615bef8584185f54761f93abf38fa0b24ea47a06be42d30558d85c03f81c244c647901d821ccda43267373298245d8d7cceefa426b2761d278573fd3037b449c7ff642d6622a0e1a03acfaa2ee7c6c6e86298094732c3a0575a5ef11d2038ba16af597accb8f50c9809db41ce1e523a2278c87088712dc657df430cf2d5203a20d7dac31c2931cd48553858b319f02dcca37ccf994461ed9f4ef4d3258de530219ffff03473bfc24d9f062868be198606ea4d08afc3b42479c90dfa168329d925d800f8303760f9d36d42713d306069f8500aaae3aa66dfa78b7e975508676ae2a3d118f3c03a8f7db5fa0d5c20e8cdcf19311d491ab41a209b906eb5bcb9f106518c41c7592036ac85b0e5f45790dcca8c12df0d0a8f63e5d50d0a9ec6658670389bd0570484803a8e614d7f0c20f4782ef95f59d0f97152b96b576dd9811cf136f53aa6cfb4f3803804f2b10a3699d53fbeeb2f51990a82e9385d4d49d6cbf8ee4136bbe3e5975cb03bed3df8dfa1a54cacf7fa6f6a738f79330d76c7647d26e2f6365cd125b469e5903a232d470d23c78a750cb14d936e02d04653e969edff65ebab82f3346e1794b270336502c6e6a12f2217d18120ca8a54d72a448c87e50a57e7d812220f67e1f3078031fb9e9572cc708e2b500303902b02707515a0ebfc743e8e7fdbfcbcd56cacd1e039e7e37d5b73ec454709d0138014432ca260ae1c847b94a8293a70d83af0cd6e003e9d4de554263a9272f9590a406207150f97f3445a380a33d751015177ef292e90394667394c9a4d1b6cfb5a3997f2017ffde072187444a42599d0a71a6e90fc2490377fbcb3139ce8b5b315653845bdfb479c759384d867fcfd8d77847c656a9421c038eaee81ecc9625f4ccbfb8684f1a2a72ad43c84a1301855e3252c4a6434ff3ef03a8ac9c02885ac20f6ceba21a6ae4d79741341458f94e0b8f70c1b5980fea51650304cc98abfd3644b86d69b53c8bcd08fc531aa495dd7c05cef0e59a70bb1c18ad039feaf37a96439e1385157f5fc7a5288c02d35a1995f98c5a3ff4b250b67e2867034267563fe45753bde971418ac5aa859551da2b6c70756a06089bfd6ce838f62800581f02ef12ebb9e76647be9b4f2b4dd326dfe484cef083f229213d2582b09665ea5820ffffffffffffffffffffffffffffffffffffffffffffffffffffff99e0dab3a400581f0223d849de93365b414e93ee302d21e93eb3e4d9a9f010162e1017b0377d554560d2976e8000581f02dc7ee12a86e72f7d6d6fbc30fa66001474460a43764609b6d588a5da099f421f4000581f02e2a1004f3e747a7e07b271eaeadbd96058ac788e50b7356294dded590f4c4510ff239a0000581f02480db359cc9f5c9234de762f7b54a14610ff581f88cbcdc561785f7852744513ca65120000581f0290e6f4b13f944add9474c34c6b48bc0f624d9a3250fa59f527ba9e40480f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffdb096c3aea00581f021d7530df078eeef7651100e1a1c4868c7203fa37d5da1bff6fcd5f0ded4e5820fffffffffffffffffffffffffffffffffffffffffffffffffffffc6eb0b7709600581f02ac2db35dd7981cfb35fe31f0ae78c27f1c4ed2a0c2e9b89c4d6eb6ea27f8450c692d662c02190acf0219ffff03fde62967f083577760d311c534a904f0eba2132fc3b067d7b81661f69f7451900219ffff031bcc9c79d867caeefd996c9202a57179b7b5e9f8c1cd52d67bff3679b0c52b9803aa7f22789ed1b04c6e281f3bcb48c4986eafb3f996226d6d22e0007ee524eed6037975fe8adae17ec23d2a648fdcd3a94fb23d4178831e90375b561ce37e440894035947e4ad373d6a006ff8448aa42fda44bef3f1a4e3b9842526f8dd578f45cce803974d4e965a3617ae38d9e91144a985224ce9903c7801ffd13dcd30d6a2c6807d03c9079cf43b1e5cb29d28e859ecbbb57e86e109250f868e77810eee3c532d573c03ed5c56aec9a9964cfcfc4e6ec436c99935b4b8b45011bed59241b2b82a01596703e4624446ff833146f6b39a49ca16e8067559f5044ccb7b96d7abeb91b32e9ed303bd39b88f6899b85f404c52b980a13383ff02aca2c87bf5e22cd10441b39f198d00581f02ad96aad346271586e51f8a5df6f499ef56f197de0becaaf3a5e46e067d5d5820fffffffffffffffffffffffffffffffffffffffffffffffffffffeb40647f349038bbc7849871ebc9437429082e5bb80b177fef12c795c74be9bf5e87086c5ba7400581f028658018d138f34dbb1800e6433424d60125b6c1da20c7aa7147cdbeaff3f450f9c393ae900581f0222eac65fadd9053e0a94ed744e9652a3d6d2990ff15c1cd2d0eda106ee1e4506c3d7bee000581f02b769fd13b054ec3159989ed85d57dcf79c6806d7c2fbe8a6fb3060d1f0005820fffffffffffffffffffffffffffffffffffffffffffffffffffffca7aef2d24900581f02d3dd9eeb136939dbd8f395aebc1f24d8cf9613a2d479d28200a2a555bc665820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032ccc71ed7dc39d91a86c0c609778ba6c8f643981fc23f4469142d46ba9cbdba80219c13a03ae432abc9785757101e6ec2e638ff7207612e56e74ad9241344abd01b4ac644403e474f776187eeb2a6d20774098c44ee6d31e155576d7ecc451e8b2355cb0d2fe03d69363466f7ad984a3e1451459825437ef45f0f46b153582ab2381f948bd143003ca8d329bd8abcfedf96e63a0bacc122d0ff6597953bd2fd9d98cc62bf690f266036f19bee4244f5cf6a3fd69cb4c62aa8fec05a88328726ff73ae5e8666cb8b5040361616f9192a2fc2239b79bf45f56fb542ce47a93ddd36b535b58a0fbfce3b7b1039701054d9cba663e9a3625792881a1fc1b029b2e98a9c80cc5aee4d0676345ac030fec859085fbd65e51a830adc8ab482ae72e76088226418ca30bc114f463d4bb0219ffff039216e57cfa5d23937e60dc83f84d64b2f9c4a68533b2756aa4f70457bf922b26035cd9163f9b948787315b3bca9747f863ba9f782e4b8bc181c16736387b85ed4e03d414b9c681bb0ce3b39f125834d328bda26849466de91836725834c5aa68791a031d8b4221462aecf4d0195f1512254e2f2d2cbf65b98d929e8c1baaf6b0dd14d603831798cd285a15ef33c679b4755e5f61d3a051b97e77c33568683d458433df8d039646ce764a844fcebab82f314ddddab241505be45603cbac3fb963f1911c147b03907e9e6415a91080cbfa04554c5c19e85fe5c2e6666203147c0f8bdbae28fbed034f66239af0d26b364643caf6e190105383d39c75523c1827010d5eecfcd30d0f031ecb5a48feb0fbea1eb91dbfad5809a1ac34441456108f5e161342983cd59cb103772ee8c4a5e9b451d43b022c0403b2b4a5f998b29d86b308beaed6d435c11a940306cfbc37c5288587801355ffde2c3b1745cc2b792209687fd850f945eb8be6ed0344295a62d5cd981a06faa6876cce7a71cc06a0440ede62c1d0fe61c958717b3103b75bd9171dc91e1489bbafcd37902b504f6fb86afdc6e702a742d0aed6b3486f0219ffff035e832b1a6005df1a2e4d4bd30a96269f8c0e403a26fa166e51cd27a59cf0f223037c58fb475717634e91a42ec4a1bcca7f8620de231d9a3fefd219d7374c93280f03c67f9ddc94eb1da92a29b8e84c43c0b0313257d2f977de7b0f591ac809b5ec6403827210b74c8685111e0d07c644f9ff79d41be069409704c4df7c9338f8babb8f039c5d576d4093c77616d8137e0c1f1438eaff86a1915f7c216afacf4838cfe48f03f9803ed5bfcd607863bc5aa64c90caebf2da02aa1089999b3fcac9100b654f8303cadea52368af1b8f313b9a62591b032ea39869ecb277529118b20ff8302c157f03794265c2a9b728af35094aff074cb7b24d4d159bbd0bc54ed00083b4f344b2a603bd04da3ef8bf86eac82da3218c890b9c37799c107e2238786dc31178b363cc040333bb899ceafd0d15332f11faa5a1fbdd8af0f6a02c9d2037278e26ee07302e3203ade574075e8e22db5d58ac30e15f456340e42cc8be5da72b4b9b49681275099603757fba8b7727ee8b06710a08c64ac860402f0253f7871fd4f1218c9d3cfbbb7c0302f1385ed91b7bb2f1149411c9ae5ecb86cb52e416ca6a28e69eeb2fc526268003fc9daaef4fb5d179d8f421689ce6b784f1abf8f04ae50d75903e8e54a72d729203a87cfad59ec9db0c91cdf0fa6e5027fb3b9652ebba55259e06b03c786932bfb703e7ddef4bb2f72f45f5d25e8523b093ba5480e1ce89e3a37070177fb84522f27303dfd6f3c1f2db6a975f10db9e3c5293d6c8adcf23a3e4c8e3f7c6c5a2bbb97e7e0397ee8ea4f642034b3e560a8cb523c3846fdcabaa0b50bea36f75a3815d78c148039f68006eb50303e6d36158b49249d1036d8938634520e874339728a2bc2aa9cc005820039e00b554e0d3868336e670aa34c72e5658ac8bb1b9e32bcd2f3a41ed495c60443938700003f1e202dd0a36f4033012682033a809f6f78cf77eb6a8f6dbe4719209d225827e03f157ab888153b1091ce6bcf2b5170962080681153aba1f75ec349ec21ac485de00581f02506d6931e0f528e8dfbb2038ebd9bce481e353bcc1f093faf7206979d3575820ffffffffffffffffffffffffffffffffffffffffffffffffffffffc5761677f5034d69328a3e9accac23824b328d23ff8e21df4f3d5f82294e7322411a34e995fb00581f021e8a9272da378527882ad46e83bbb128cd807589d39bfba95dddb3b56e224515ba9f3c5400581f02d3979ad3f64f8140781f128412b95ec5e8c241a93b416e75711d06f7a6fb4502d20afe2e00581f02369eb99a6a36e7ae312109837081a23c856b53797823a5775aee8899e2815820fffffffffffffffffffffffffffffffffffffffffffffffffffffecd3f24ffef00581f0243efbe68fc21776b37f317d9f1b28d302c754d8f1a3e0bc34610bb496ffb45014b12946202194e12034dc0ea626ead0ec656a500ecb4abadce1391b94172b69b5e71e1da50bde26d8d031c5d6729bbaf384cef32726115542b5cdb78a11efa8d6868a640e9b288ff69d30360bbe6098948d3091c19b3ecba94bf2ae42b1429daf3b40cb961421864330e0e005820034c10b89b27706b256ef29dfa934b3bd4393cff29a4887db79714497bbc79e04221320344dede967e8f7e7adb8d1abfa46ba8e3533aefff4d54614c231ddbc69b24f97003073bccaa80d4ef58f90342b05bc048ce0c41a6a1514e723031b62b14140ffa3803985e043ec3cd996866c86326f258fd620f955f47b205f63a90fe49fa3c8770dc0219ffff03bfbd229e92f84cd51f29e8b5e775a9b2526d37dd577d0fae2592c18200b4bf5203dd01a7d249526582d6b6873afcd663788d9cb9cbaebbfecd5a6fe44886b4cc6e0306a3ce7bda798097406159b602289d1d55ef77a14b427aee22858baf3fd90c7103e38d91c091bd9c29ae5da53281c190d0c95dd27495b0ee8f2dac3580bc7f5bea03374e3136579b833c9533d2123aac8b532eaec33a99e0de1497f406c9d7e822f70379dfb61ff667331eeb67de680624f97cd6db42816135cb59064dfe7669e9b01403b81203ef9d95a8c5ed7751f0a734e605a41aceb1c120b3c59010bbfee8c92c3d0367f3e21244213e83210b5e1ab00bf8a202a5bf860b11814ec5baebfd214273f70328f903119040647d4ff6159a4ade7979ff8f8b675b4b37c31297aabe0cc235ab03d2a735b593222d642d42ef180c9cb7abc9b552fd8af6245e298e4d998c4c8a5703de283375eb7b8bab262e53474b27600a165e3d32d14d3814325e28195a73cae600582003b281ec8aba431db3e259dc2d9d2a2cd9793332b7172a1535fac5845f173e804502fbd5ef95032a72b138d43c571119b04d646263593dae429eeb7bc43ec014c82e120875a5c700581f024b49f5778fb0c66bed1a583b0d339a238f8ac17661b6b81ea4dc3a6b61a445147d7357a800581f021edbbde4254600e128d998b22dca74ea0e44ccc32b7583b1dabd0c46cc0a450b9567bc0500581f02397c8179ce8b32cd298c71baf98805f0e51305817bd3e1229588983c1a5c5820fffffffffffffffffffffffffffffffffffffffffffffffffffffcfb41e5f82700581f0237e7d03bc6492f0cff930f38fde0b9186e9cf31de140a5d4e03c367d631a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffef033ebf021942c003cb5018736b74dbf8c87f4e7a6f4a308fa8d5f4ee494992a1860aa92c8ad74b9b0341579d3df6446910ba5669376eecb697b0c7c2fb239bc92e90859c34d35150e60219ffff0219ffff0325815da37c7ed5ea21d55a45a35cefabf3658e4366af8503d842b40b44d6c83903072e83f0ab218cd819448cc8ec99e1af3669539b069ece943660d122d737465a031fb82d756c9eba51dc2b068490a53319a24b12faf1e097d0f0874e8f26eabfa4038790419678ef13f03a4e5db8b3ec526eaf82f6cd18650e937e0322d90f9b3279032cd974612ae869c5f9780ef8558060072724130f4c445c0220e138098390af5d034b59fd2505953d3ba560946e266ccf416efaf633e9d42fc0311076ea2eff037d032d78cabab4b8846d0ead8025bec62bff6f1bf252cbd6bdcc8a5c95b07ee3569b0306e8559f55ad932c67a561d43e2c2d9c0c6174aebca04e04bdd8521a1173eb9b038e6ab9fb55c0a6b7014a991d4d1c6c5f0bb4dfff76fc8e5d6540d30366183253034448cff3bd0033bf54b586d0355a8da45b3cadf524887b27df743f490acf965903bcd98ca039c9651f0965c6d7aeedef3ad8b6fee6cbc42d13b3c2dbb10640ce7c03befe6debce71ff8f98878cc25d4bc23b6882cc1dab4ec9f146d802b84cbe38fc031488198e532b8e0c6ef432787750dbeaf21672af890fb846d7a3f4d1f910832d0398834fb146dd908c8790ff613eb1c0292efe577991a4db7ae9eacc90a879402300581f024ee8395bdbbea94b167f72f526832b37b7c278391149b49a5b3911f54b045820ffffffffffffffffffffffffffffffffffffffffffffffffffffffa2de245fff00581f023e15987719cc2562f7adce069bc538b13074a9eb8c137fdb165b244b63315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe5ef51561900581f02f66258cabac18739fd84f2952074fd083601c96e8ef7fbd977bd282d03fd4606883b6b9d8303a52e949567eb437ea2080782c2cec7b34f7b7a5ba3978c2536310db91e8ca4b503ba9717f6eb47c78735a86404e405ff3435de83aae84e60d4e145d170e0f5fcef0219605800582003aef59b55830d272182bceb5c4027b4afd9a100852b4f9139324b129eb722a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffe1ed8e1aa1eb03c3da174fea9ceda9874df328efa17426d30b1929b5b0a13254c45f7ac1a5278a03ca83264b61b074e0b05de510610bfab2b72ed61b3ac56121673bea96f18b76620219ffff038709b6dd461a475eed26efbc55c63bdd17a7c5059e6ad272c002a6b66446a7d303f762c5d44cd86d5729fc6c327a06e75086ca4e6992152d01872540e01b64d4bb03e7f87cdf7cf01249df6e6fabb26ca14504a9f313d196502ffbdd1474a0573b7103610ba991766dca57b81f23cf3f169e253efb1cc51a9536785166508c5a47ab460368ea4da63481566f8756c964ca1e1cdcbf36e0a83e2052445bbde7ada2368f77035152049d6e62b7a2c2b311beec5261704957bfcfa2258eb649f4599c49bfb252034b4d146cd22bb8c0379a2dfbd4baf3b05065bb590ef311dc844277e46a77bd7703eab93eef84a275423120a4aa530f41d0a413b13b464bb1769885a2da7d4d2d0003d53e0ab35bfbbef064e3863ae0bede05d21f117f77349612e89df8f8808c00c3030da2692e1a396400af60dea915a24d7d036a27d013bb285257d02cc331deacdd030b73dcd08fb10be14ace2432954e5011acc4bd8b8142095d79e9aece4faeb83503e3fc501b56cb6adfe96b395f5d3a35b749744610abf33ec3e66b04980f8770d00379c090da2fa3d445b326e3b0ff75103574cd1b8163786efeec2403d3da3752fd0219ffff031e6157da7d9607eeb95eb2bce48f83038849ad9a3c02a3480b0f9fb64aaed9fa03059a066aec7029586ab6c441755ded8f36b6c5320f938afab6aeac5c629bdc460398b315823ab78f972b62b4c0fd70b814001783f501623d665b04bfdc433b4e1903700df202b991e12cbd61ad67d646a94fc4bdf4103cb6103daf30cf012b79542503f98c2705b530f27c90874273ca37664c79e2b73953c0f4f13c1df3b8794a094f03759e320fa093fe6ace759443a49272013f736f02d0c991698f7b65f84070012800581f026dd9c27021e1523e00ad36ab65804c65563ffe9dcbd2efb7338577f2c7535820fffffffffffffffffffffffffffffffffffffffffffffffffffffd30e70285c600581f02f1fdd4558465e8667f832d19dacb2e76bbb2c8245efb20c17a7a5a26a58d45612bb04e0500581f02b054b2f2e637951ac2aba50ba293a45bf2026bdaa52197b56871a7c57fbe450833c79de602192081038d77810a2c156027023a0a52f6eeb35ee3fb2e9c46c4d91f01de6a6814c8781203f41489118c48210d1f8d6374a340b0aab4f7d107bf19c8dd54d5c8e0928a449e0395e044ed52a4c4b3aa7d615e061cc6f2eca0a6f3808671f5f26d1013bc24e909039f0c2eb5e6155502cc7120498fc4291f5f8a55407ce2c601acdd8999d30bee1903acee0baaaad368e0a5cc889133ad782e764b1de44fc9aa4dbf9ee688080a82c0039eea819ba3338510d9ac2d11c730ffcb9d79f79b447518563e672b5fc8123a70033081cf03ff90de90607b6221d1212935522732ca5815040200e927b7bf9832e1030675b151ad2da195ea1ef89dc58e3963ae06b13c85743c571f71204af250e52a0318ee61341e5c41e47c20dda877fd47c8e67cb4000814e93621c0bfd8c2787ba4039e1ea5b0da7ecf910cf688f88e450098fc06a6a3b4ae32297ed4c886911d1fe7033366c5e2b4166fa939918eb28fd91a40020b9cb6b9c7b1c81cbc6f566c3ee16e0395046031104ab071f5503b6a1c7d59ec26bb690d6ae5df63216bef6205243ebf031750a0c3ce07433e0e6521312a0d943955d151d9cbbbc9cdadb42acc034f7735036d20560e039f579a36ff0ca18411afdfdf4702790dd23a772b25fd069aea9dc1036d62c965348015e0536f528e19988d30f7d6941ba4abaabd3565bb99ae2447e90219ffff03f9ef3617aecae14fd66e85e37b84351ac05c3128d159756c90ad0ddb1bdf6ac70324d31bb6ae4de538dad10613ac8372bac8cb00a44f9c27cd3f58c9e970f0a48c034130a2882f179b5a4497a1c9ceed2c107e914fc67d95c942b0ad860a8a916a0303253ddccff6b66a8f8d190f6da7372db5290772cbab2fbd369c2419f146049112036b283bd2669ceabb780b6b879c8d91db4c8eaad706f58a587a84c3a0dffc3b3b037e7a15c395aca03ff23580a695385b95da294f78957f1bbddf6935d3ef8f60240366802ecef4f9e766db1d63b1e8fdc4729e59382db466e2cf9ee693a4a7235dbe03499a5871df798017c5e9d6c8d7ce5330f3610a694ce2e3e300bfcd1578ec88ac032c864b01a4abb3cff5536d61acecef6ff85423e7f4a931fcb9ec40b6907bf31a00581f029919708bd0edb847008a512988ad6ffa150953bc698af3a059eeeb8acf555820fffffffffffffffffffffffffffffffffffffffffffffffffffffe145d41761300581f02f2af9dad3b37bce1214e0cb3b670acbc0852688a862bfc1bd1bfd311059e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffff3c13edea8c00581f028bcd7954f899130a09452552e4baa611392f3dd903fba9becba99b43f7ba5820fffffffffffffffffffffffffffffffffffffffffffffffffffff3b4fb8f981f03061fa0285773ec88c28e52c7eaaac9c1fabba594a6de412e510eca1e767f4f3d00581f02a3db07fc074d3c392cefb6c74b1daaf1792dd638ad1b7c952c2493af6eaa5820fffffffffffffffffffffffffffffffffffffffffffffffffffffff712c1082400581f020589a92adc4ad56ba164dcf28cfbee81d2230bd5dd981be3aa7382da13ad447735940000581f03097de5e507487b43b313a08beb177a15ed9c7033587338feea347479823045034bfc91e200581f03d7e08563abdc4bc444d8dab2609c3e691417b881f7dd749e582f3454df8045593f1144a502182400581f02ac74957fb18b3d2af6b573f29dbad32ff376b916a13178bd3708463350a845219bad8fe9021943e3005820039d7fa254a2fc4ca8baf1228d60d292cd89fb6c8e9d590a5965bbbc7c8188d05820fffffffffffffffffffffffffffffffffffffffffffffffffffffeafebad8369039665c8541aed52f7697bad9fca0e0c11a883ee9b5d403131b6af1c7e2adfb5640362c609556c337366d402fdcd5393bf259339d9a4f31decd1a21b870770194e2503f19d01945b294376026272808e47f9e6844613f6b761d9bd6e5bfbf17a8c158f03633379f1488dee9751310310847675a2faa255290de161651f238f177474170003ed782e4f58d866d9e0f2463f3433dacdfa4143406a310fb7abaa702ea218b1e303af84cfcb623c97f37663dd307554cc8ff1d4fdc5ab9e952830c3e7514307866d0219ffff03dfa32d4da91d042f91059aebdc8457ab13e77e448d97555379d310da1e2176cb03078a734c3933dadb832da8d325927e748b31b825227722eed73a0392573133b703aa2df822fccdde547a8af25abd7c15a9800883a10848899d77dce0fe11e3df4a03455ccdb94a76bff29a704f69d6b74b1bf3b82e8d40d824d956b29813356a2fc2038f4cfb7ee6932fce63e6e3f7a5c0ac10ac96e65168182711ab2e721c3346431503e56043319c9f5722212e0c8adde903d9d03d5ec158bb375ac1203dfaa618ebd803d2a67a90ef09eedc9eee95e622c0bafa0bcf6baf6dcb3b752981f5ccc5faebb0038f59c68558ceac96b6be037e273b23de50975c8c48aa3d7f72719c0ff0180ad503081e8795b9ce40ffd29e4de31519519b3464d6ba96f51562c95fc4da3e73c9be00581f0266ac135234949abc9c81084bb035acecfca97e3173e63b0909cfb57bea335820fffffffffffffffffffffffffffffffffffffffffffffffffffffaf8a7f564ff00581f0360c4da917dc6c463626f8b6511e348cb8787095e85a8ba38016adf4957f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03df615fd23a48d439cf8f0c75494a9abe47a813d9074dadbfc906a9620f3041010219408000581f028f72e3fee0011cb30011b8340bda70220424f4b39c0c671e5bf5af98d5a7452dc645ee0002190188031742e5052b1dc0bf1b14fd3d8c052f15008286e014670f251be008352f1595c003625a85663e9211a877e5e60da58e0dde06f28717d7cfde5bae09f263a3d3c51c03000d77bff6e96d73377959200d8f1f98d9f8f0a0069f4d7aa466dbf2fa85d6690141060382af65fcbc4de8e9d37772b81db22110f5215423042616682354ea05e2d1195103cc970b68086c52e8e0c6129529d0860cde825b7667f4c6e53cd9b79d5297b3e103cb8e67cf99189b4daf8bf4f5bce387ebe6735aaba09033d30fd8a66b2dcc9b7e0307d9fe1736e01c84b78ed20b0951d7e657dede56c00b78a66b03beb62aa6acb0032d4c140ed49e06b711f787aecfc9fdb2d0734afc9e69cd748a09bfdb102b679b034ab61acc11b948d6c49425d265d060a29d13faf2929cfc55a12250f44ccfccc403926bdbca69aab3d0dfc90178c87dc14ab827d7fecba8139a6ac99d3a19fcf9e103871b61249af4b66c24637cdf27b9b9cf57395f87824286beddd0eee51c15910d0219ffff03e01da81ef03ec794e418096ebcf407cf8af703cee789a63bb818bbf80a3c2bbd0354bdbfea9c0bf164f961361886e399fe25e750cb2a636cb1934eea9474aa93270219ffff03790f2901da59eeb707ae1e8bcd2fbfe515755b5637920ded8c2971a8e15b840f037afb28aa149004dcff79d53f711f36fdfd3b8fffdbb33a833ac1ba3fa1281a0603682b3673743aba9b1048a021e12d69edcf37f295ffc428b0bb301b6dfaf1e1280316ddfa2b93aa302a3f2cc0fc4423b159c06c3191b2a2d5dbba3661de81ad410f039624d78da8ddf283c0e31524b43db29268345174083fe355e47c686e4e894d1303bc15eec0f0964acf0321dff1615d817b97fa2bccdd3649d58f11a9857dabef010396ae69970007bc6b9f946abf5485fd3db58e1a394125fcc2749c12daa14239c0039fa1ea7725471ae466a37c298d08d88c3d3f95388059db6c3ba7e977f772670903211f2fedee525d200676b617197017e092b092802c72e11cc583481a1230e2620353d6802bc5cc43766e535dbf1d8a26ddb91cf9c38cc0d2563f6b98d1ac0ab23c036985d9114032da6ad70766f80a111f2bca2ae347b009ba4228eba138a0565f7f03def1c5185125846091f58f56f4533c6dc95f30016907abe7576880d2eb69b9b703b33c3bd965e05bfebe88b514066e2319d67570c014c00c762e204e270c3649f50319d32004840e2d62af20450a972e6c02d951ff206771f8101ef0ba0d5d4d728a03b488c3ab7771e7613c1fb5633201b4fe281709dd00ed8663c507f71debaf236b03abbb5be3e5fd64c8d3e1414d2a1d77ba00c12b43072dfd190bbea2cef11aa0860348d3cd83db35866510503b4270f219114702ba06d32df817c6c277ab83fe43f903f3cd99656df8dbb1dc39c093685f3f0d81293f9208a0265effb4ffe4ee533e890310e481fed88860f0c204e97a73129f066c39a0c972ba4754322a618097a5f623030df7258bfe53c9e5428eab3b6cf6ffcc63a90f4be7e8ea2d60c132377ef5ef82035ded13108d3f15b4a955b3d9ca206d9865f96b95a6c927db7f9d64db5b7bf64c03bbaeeaac92358c8e6c14625a4075d9c03c382b2e47e7cbc5f0852d1dc9294919033695c6f1481c1069e9e6280bac7407754120810137e7809b7982fe085b875c7e00581f0257f9bd834189155d59ca3e2746e79d796bd388242dc8dca1ad12865440e35820fffffffffffffffffffffffffffffffffffffffffffffffffffffff2347b930b00581f020e7dbb546578d7a4bb9e562f4bed513b89cf10e02e7315d2804b36a4f5254c204fce5e3e24f54f71db0fee00581f02566de145303f985ac82c8751994e6b234e107f4582a088be3d02cafbc8c55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffa4054ec9d30219011103ab24cc390594f55003113748825511edd407c39a3af2f960722879fabfc8cefc03a9dc1a551ba586e355a1bf6ca4fe73b3509d9394d02b5b26b74bb6bb1f5e195603bc8b7d780a8373b03fe6e614bd0f81aab5f0fbbbce802cb573282cae9bfc00bb03db0c6cfafd956f4a5c1db6a613d6ec8239369fd6862271f0e394a5415475df050219ffff030ed6ac4c78d4f7b159c7ce0a9ca0504eb33d42889b06d7026eb901612b0ac88f038c620bd3841903a3b7792531c1429c635fb707368a0771dff4eebd6ab98a0f2f03d684250fd3cc0df8f63bb950d3cdc2dba32d6fa24da6543004118a97546526330219ffff0317a465bba4634311ef3b163e081c4abb59838e9940a6d0f370035d4ac5782a6e03c666a8345ea8c155d7594c249b31ff68412fd53c8fec072c606da0a79772584a03c17196d9b2de8ebd932f49cefdba2431025443f7862bbb0f2ad6fef87a86388e031ce945aeabe5a0df969aef88310374c96eff665d26ee628fcd48005857222b01038b107a014f199333646885e29c35f46fa17eb72329bdef79dcc88c708e4fbe1503c39c9f9ea64a70036ba26948d16a6ce1a67a39f398a1208524e4ed5559fdb5ec0325b52b84930c8d6c25c0e7b947e44cd0915e0a0b0e41787524ac2c694d9739ab038a212e78bac8d9c008b2ef03d06581126bbab687bf0e3cd5735c4bb41cb0592900581f025543b8feca379cc7897c768d3c1715b888e778e3a022f11c128eeb233a584509c08ba47300581f02bbf371592ffbf8c874739b17171a4205d94252df89d705ca8ad4b09c33a64513caa1594300581f0228e9579343fcad9200c1673650b3fed37e2db4d6e38730a5515862be0f6c5820fffffffffffffffffffffffffffffffffffffffffffffffffffff48a4691482000581f0224d649bf6a3ec5521780a82a4b4a97302a5f80830f0f6c222b1b9d6bb6295820fffffffffffffffffffffffffffffffffffffffffffffffffffffebcaafdbd0500581f02024de1c4dc92a0130a6725e51b9f1740bc138b529ebfc85e381344dca94f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffff9efcbe316000581f026719fc1953dc081fa67705f6cff5336c6317ef83e50033813e3f1fddeddd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffd53d9721f300581f0255b9f27ecf4fe08a625344ac1695465b92babea7a2048b638782521289cf45388b9f8791021973c003d9e0b0bb4b440cc77ba9472a30324e776d1250b9d87de999bb4b89d87f8a369a0342b20760c6a8551cfd52eee918f72d54b19f9a13f78f899e7984de0b9c6404e6031cde51a902c66351d2519f14da5de340ac9a3bb21bf737fca7e2ef0687f46a3703f59d19f9eab5d2ecdd88d466eb8db646e4883f43cc8c7d517871461c520c2b31038cf28f7eacdf6ac9054c7f4c3ef59111bf3652eedbf2f7d2588f59bc2d0b13d8038f243051589ffa7759fd1b37922ca835c6b78974b0cd7ba8771ed7302eb0f65a03423c5ff5d277cfddb5c792e58afe27ce3a5e4362290ab35ec72de86b5dc0cc260345a8ca5a23c037c673d721da8c48e09e7248680750b4319a542c9f16059dbfdd03186f78b6db83bf56d3200d29495e6c83f21178c48f07bee38a89122b083f13650396a1ff172491ed99e70379a7077e9a75bf9cb69672c65ed8c7afd3b44ad7bdd80219ffff0377f3b6508ddeb4813be53b50d274a3ce50cbeee6fda216131cf7595cd4e0c86103e2662105905a110f80d46e19bc2e781d94733a18aaf1a95ed5456d908783c7a5035f5572d7736cb459feef2e1d4504870e0847c2c9c3fe4a369521bb67bf99963c03ad9e8656211ec3fd8f999e4ab5110d1a5f7f5480095e9ef5d940c670ebb4ba2703431424bc2a619b112e163077f46bc82340d672b9f1bf45fd52cbe431c61516fd03ee9626adc020f932dade986a1f1062374e0b642848e0a6b916df3a3e59a87ee203a5cf1978d436776797138c3d41f266cd18cd25681349528cdab3c5970b7d9a3603292c1cdf191533f6500a471d0de937db752716ecf4ab90f1de8679806be296720342499f78b43f7e066bdc296c21e03aaf492223cfe1cfe643c141756022db8e82038c08a4305497476cb2ad1f9e977167c749801282a0f5e1f09c78efa07665b64e0340cf9abf669048b866acae8e2891ed4361eaf1bcd23d3efd28c97cf09fa47f230341b730f60c5acc9f1a27df570a89a777be448120c70b289e9dbe46df95bf303f0219ffff03c0dce76078747b57d73d774820304bdae65b0569745c0c425e0155aa86e1188a0305191b9cf57999b07dc0b7204184aedc98544483c18aa7fab7ccc975559cf214035f4b26216b124ba4f6cb08aa2470853bebf2d988528c91ac50ecbd86e0f4b6f10364e72beca5f0b66ab06ac7c81ccda23e63356b3e51c081b143e7764c7283c531037bae71ff2d72a27b3dd8b22d0a20040afb562c225824203206856584d1cf7aab0345dff65437004490d40569482b54885e56446f4c2ee9354e6d97b49db585d40b03eb38aa0b0d7846258a268b88b591bb7c02c488a5b7b0ab7f93dae69aed1e4a1f0340f2eedfc24ec3549337c31426211c60357e5cb57ebce5ad6e7daa3c26655bda037485f2b8dc90e46d8d0a7576ecfe9ed47032144cdf27a866b08e20f56bd676f103cfdd5fbcd3b9cb519cbfcbb21b3a07e0dd48d63217f8a5c7ab5f02cce72e15e5038615e775fcc1f5dfdc11cc257cd722b3dbf30dbca74a367549921828e27de5490308b3343909070eb04adc5cbd62b7f175f246d59241275836fc5931573b4cc81e035ddd3dcd845ddf06ecfe2cca22375de4a7c3c37c339b73a1cb5df8a9b941fee9033febe1763b4bdf33092cfb86bd3dc0e12127e27de42f2cabf7702823b70568b20379eb188e85616d906dca211090831e7c9c25a5032f967dba314608b5b3f14edc0329a46c1efe7c331ba66cbf279f2abd2feb9d89d9f188a8e9beb59f40c278615e0318a6a755fe74f2a6bbc2227923fd6003f355fe278fe278015dd3e0d10a6f82be033d2a904eb354efb49b709c88ca050fa4f98b4709d49bef16bfa14f059268c31c039ce1f645c7a005f3b7e8e63dc8978c54af134e98f537c6291da948c87a7438b403e50bf3f259ab4a7a3d892caeba1450253bab347f6f155a965b1d3290f070d82f03d3c0cab515b5cd6509003516ba8799137fc055661c20b2401c4ee1e68976142103d7ebe74b3483e9327e720160336334ba59e949c2003eeea03ed59130a9cf576703d1a678df743c2304bd6a8eefbaa582b97ff8abaf1f82e026ca7ab4aefb9af330034ea0d6bea3aacc91f2a0f6fb5978e0dd4861fc28bd9a3a4adcbe7b059166ac10032e0ee2aaf3b776375ff8fc6d0a89a7a21f0aa10ff76ffb38ae1422b4f8e42b6e0385d90182f2b1c4d23eb27b86e84a15aea0006c724915766225c874f9b005b0bf03da020bcd34f906a3831856f2d6a1b32c623ba16fdd9670c2a748ec207dd6372b03ca0286c8303acb32e531b6f76e05ce028ae05a4ff7dffcc9b5c71113dcf120cb0388da9fc2791f0b9095e0fe608701b380db99a492a2852c83bf72c0139227844100581f034212b9cf0f2ab69ccf25482452f35fa850aa75f73e7b417e145c1ae12e40463c9284ce0e8000581f037008961ce9e9133dc70417b5a90ff5f3bcbcf982e3dc10538dc5ee0b22104604b1088cb0af0219040400581f0278d93f5bbb532b182254b07409db6b767a17f8987237a1f62d5f13d8b9d95820fffffffffffffffffffffffffffffffffffffffffffffffffffffe70d4f2c75e00581f02c99f22b3abfde49ab12f69a35b71b93aedc175ccb6782f36e2ac0bcc9fe045dd863bc8b6021940840324fc75ebf43ca125e7769dfc608de021d39c107dd4ded38ac0891b724a4b2dd90357aacc7f7fdb8cb6662e198e843160ba83695abe16ad5905ed59a40291f400a10219ffff0219ffff03c11927a131831acb118826396a716d447ccd90c8cfd977fc9ad8ac3711f3b781036091582faee399a3418960ad3ac08fd018a58634c879748778fc8b78e1c74ba403289a852d42ac2e509c528d027e0a902935cb163d8ff3d01c95deab8983a31c4d03afc0e795763ba987770103b3ec8225bc3121e16088f95b0c3425dbe599043aa00327b01f120ab82f31b81556b00fed6d8e8461b3507522af5243f5e160dff27aaf03c851969b83974e39900f5da19ef74bf631711cce3a4a11709126d3eb78eab01b03bf8b747504a300b10c7fb9918533f2224363d941d83dd3c59e7b22886416c353030ca472750d77ebf1136894b6e0ca38c98ca7b0fcfb28740af1600d351759e0570313b58315a1d3fbf77aa226aef1fa9a78820775b2638231ed55eadcda579d19e30329aac09853d72f3071133e510f8eddfa7f2c2cc9edbdd4849714a6c4729b80b40341b17dcf187bd03ad68a6d53f8376b51faa4449a1e32dcc93f4aeb60afe3b032037b15054525677c1091c56bd785df1553ef3f95b554f31fe3ec1e5e89c878ccf300581f02d877fa9deeb3f5627d0474d336e1980fd0291a04dc58328d6fe97d064359410100581f024e0c5ab50dcb1ac54e6022eb4829ee8e75482f1a319d1e34ca6c5df197055820ffffffffffffffffffffffffffffffffffffffffffffffffffffff0deb0bba1700581f02ed76b49bd321bda0715b294250a50353c1deab50ad29246f09bae5fe1a694518a2a8d03100581f022ca5ad1f47a15563f3d862eae51d209b044f86061725c648845323268a945820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe2f2f8f17a00581f02f460c86548c9e3b680fa1ab1486eeaf42c788e2cdbe8e3d6d65e99f60bc046427d11656d9903008bbf10a01d9714f7daba59614b0f860f4cb5f1b751f11d64c860b18dd52afe00581f026bd028f777be3404a2065152b9dd1fb55912353c40933e9e39a8933fa993410100581f02cbbaca9642f6f83bf5d59691337af13cdf248a2e54d48f649043cc34cd895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219f8a903255b82202ace5e55509f773a7c8968783dd4479b2d98cd9f44e37d0f2799789803227c7aaf52d1e3271ea8757f2b9222798cad092b75449ce0381661c9c1744afe0357f15adfe1f762e8ad5fa1542bf4bf6a273b7c4b5b57d78fcc4c87076a3ec9ac035a8ab6d63a7ff63aaa5e0ca8d5ed2012b8816a175911640e3dbed6ebdcbc075703ae61230e9dacb6bfb9b3f445967e008e4bed1e0bbaa0ff2f70583fa9129f7e65038197007779e5c0f31f5b9a0ba6b7e885768db1daa20ccfb8a3d3b6cc799afaec03969d3af717eebbc3dd15de9b587a37cfa171df553baaee1c6decf7020b4432c70219ffff03877575be3ed963d052abd71f932050ad8675e5d9b824df90a66b499ab30e6a4503b3a1181e89cd73c2b56b6b692622c218be542de5fcb3dc6b4077fbcf360363a103b1ef00d2ebbbda85176296cf9308e44a278ae4a6794f01edbce20aa5b74022f803b8b0cc130c3d8ca87335be3fb6837a191118ce6ba3fbc2e19ea68b258e048b1203c60a819ac8012681d80f6554a315af51506321a9631e87409460b25a250f94ff0350549eed83e6b4c4a5a498fe5977ffab764093101155ae4d85720961fe2f3e7903ff22b4fc6605771de01c571b6c2f2c1f0d845a2c18ebba5c51d57f9c2c646caa03be6d13f271277bc6127883b8d09f96d3a5b1d027ef287334400723cfffd8e31603e05f58f5190f800cb7de619b99adc8a3dd211a09d739a3095da369560227d99c0354b5f37fceff506ffa43ffe4a8ea939e71bea32c83ad49c54c52b309600936830399ba78d7d69c6925845d63e61d50723560fea42296bd29a1bfd1a0972f103e8803ff3a38922391d1d0168e4fc6d8de6b673364dffa000315a6b8908ff6b63d59bc0219ffff0383c32da02838c14e765069b05c280f6883770a87b4cf721f5ca43ff9ed24ed01037502a46e9ed62e3e24151528620746cebced4a9c4bbe7362aba2d965cb1d842f03c7ef4fc388d6201eb76b3342e208fb9e3d43b7ab85fb01173148972c211a6250036f701d8992f0081c76cde7c403d774a0c2463e0e5fd649bc293dabb13712f6160399fbe596b39486da787d1dc4bef7cfec5ec1ba3155200c73a0d00dd32d72095d03a0507cf24c7269a3ed7ae8e8e1b0858798520e6f2383a6a91cbff505d3fc3597034bdb56ea2ac9242f8a64e02a8bd8bb08ac8cbbd5df6f6789ce629f268c2418be03312c74e24ffff35d73b1e210ced099de7b200931d4747abf4d9506ba488757570326ee3a88eb7e8fe3f7f878e4859a43b530bc0d15154fde9334955a36c625eb7a037c11f7329d5429b416fa1bb12dc38b010979040d0cdeabab6e5f23d625b1644703f5efb2241be0041812bccf7a6a30ebb75793405a4f64e7c6dde3766153778a7b0364dc981bd3a27db99fb0d5129bde5ab825dfc55c330be3e2753a46f3656d9fab03817383315f9c5c904947c78aa4da57f974086e5dac37160ceef9c9dc1c0c325c03b52551d3c075521c0ea06b6572cf9d7196195ea1a66328836ab20d179e99996603b98304cb9f08fd716685fdbb815f4d2e96501a7d8802312894fba00a9029cb8f036f61c63c0f28ce9e022f79b120954195c09be876e9c1cd2a75ff1b55c3941530032ec5c37b0baf0f920369bf1e3feff77b8793ea7e7efc043e180f19e65398be7f03fe1bed21b32fd6f7879f53186ef1f980a3d97ec1f59a4f9a33bbfaa333c08af400581f02b647f5998ed04e18b1d21bceb44949d05d55edec42fa2ee2247cc4f1158542240503def2096b07f0ce877964986936829eb4fbbab7343ac9ae72b00a0da85ffec41d00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3545fe2f5f2cc97887746c5cb44386a94061f35dcc400581f0254f084e52b245072ef5c3d4be92bd855133f00d690eb61b89151674326bd452700e18c8a00581f02bb692bcdee0e862038d78265953f74ba276b9d677d253650da8ebc95eb154519249cbdff03aaa583e34ca8fed07da5e4562aeb230e4f7b44d53492db2b4a8dcddf886b968800581f02f489523050e0452d6e9a17b2bf116ce9b42322bddc0bda98e2c2d40eb2bb5820fffffffffffffffffffffffffffffffffffffffffffffffffffffff6be23846f021971e00219ffff03c93cd484094725e0a3bd482d95c89b409fd67c9d6ac85c7bdaadc0dbe734141003acd7101cec89543e9936810708824896076eb94ba3d1577233ee9b1df670db6c034fe78ed71979406b3b0db41e65de1bdb0a3b28bd47d03b52a66dde79674b4032038fc20ffe3fbcffc47a66840fa63fbdac8aad1bcf8f07b21c57b7ee84b356a651038d4cad8853a0043571907dfb4b74ea1f798d6927c218abaa1441ddd5c86e03b1036c6f9c0d913114a6de1d6c6e107e49bb8965fbd9372a37542391e6ec647fea59036a637ade2901a230ffbfdb908213e864ded14482ce60ea4e0dcd913f940276ae03fc7ac6da078ee80001d8daf4637547bf1c4c87c7bce8ea45d6e0288e986f6fec0341333d68d1976f57c578362d15086c97b7cf1e0a9ff2ea980add9beabd3c249103cb2d68a246e0e9c0059be3d20cbde27b70116c0cdf458f30dd970e93ea89efb403bd8b00aed00ce21102544e880ff5339a49001e96231fd688651c764fa1abd84303678157f62c84afed7c5086596099ccde7c3db53d4f49bfd4006d48f98ba8336e0219ffff0219ffff05581e035342d48fc8abc25d5f538920c2ddf27bcb02a7ac069823265b62bd1b600701190a8c031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03675c5ede83a2220399dc965246ee754fb2819b27de1131aaa5e29e799007011bffffffffffffffff0370c804109b9e3a5ce6f948007b6e7ed60166c7f3535fae0beec72525641ce47d05581e036d0e6406a1f57190524f38f5126a1cc7750a37aa96be5f88cc2f3bfdf00c0146dd179c43020003226986766e7e20af933317339d8e1a05a0cdf5f60ba0496258669377d5fd9e7d0378858d933e20c3f2028fee22c82ea236fbd23d7b50a0f4df7d7b941adb6599e105581e03e933c4356531c8a1096029141049d06563555a1e47d7ec9ad33b6898500c02470335483e8506c005581e03161c3be9d51331b6291ff8b4e6208b5306ea7f0885b331565027a5d0d0040102196bed03a1ba4c25867a127832a0069bcf6f4780bcd0e448daf9690dfe993c077e64963d036077f8a2c1042e11d2c8d9450baff02e5ac9160b23690e68a33de38d3c9480050348bfbb89549acc1a589231a58fda50ba185790819a5cfcbfe16b3f1f25bad11103d3ebe1a3cce367826ea6673dc2d952138c585687a33e894bd9738694fda393a803399b2bd6a2c2acd35ec08420b449c13da219a72b0daf93ad9f6e79fe8e1baf4b0219ffff0396dc0ddf6f856c4a93b78221eb29ccf685bc4c571ff7be509a8b27d5c9dbb69203da155a4c48fb2a45768f64c75a1c3042be1df03889d17cb9d12b6d89f88c98e6033a4c39201ae2f34ea2932fbae3dd6d6c8c894749c78f13462ab36364b15df26403f11bd6e651c8cce330cec0f22007d942764bf21c3314cbe612d9b10810c983aa033ec6fca57c0d7072e2fa0df7aef593c802f5951b3c1864ac5ed2e9f8ac3ddb4e038d8d83f74e243a944c7075d0b4ec84f8f4967773f3f22a136aeddc39d9c8b297037969f72057a4d2202c64d48fe3b064e4877934cfa251a6d7eaa9cfdbb4b735f903ca7ef0a7d8a01c02188e020de4423596d3cf86a3dba55d50e4b6fdc4a317b26d03635e84695b04efecbadf7c33811261e06b76186cf2e8e29543a6253c8320702e03849a841a0c14d6e7c14b205dcbb140de4288024f57d80e0c1d3cf9134a12c4a40383394099b89319e9b03d25decfd7427e35aa37f05eb451a7a76a0c72a8bf45eb033e2e7c4c784703c71ba248376425e99095751648e3bf6a6c22a0be70bff167960219ffff03dc6fb734fc6409abd702f6f6c457bae8e00332f2e1b74af145d1fd9ddf717ee60373896167ec806a7a5602c029f8315321572034f56bf6a25f3c06e726b8daf64d03952a6ae51c5d8a21116fcfe4529de1ef1f378e1669f3e81ee86ba2a2d98491660353469d408c3552d4fbf0d7f79e4e4ad026dc5fec9bbcbe7da7bca28ca6c276ce03eb870a6f146a98a143388b920be372f532c5415274421a4dfe676de7ee7981d103e0ba4a577fabafce23f0d1445a3c6aabec29ab8b73ab3392df64f461ea971e4b037a25a64dc7d7b25780f3c15d6412c0ae978d62bef33239599d8d7ffff812344703e915fa14d15f3d2bf839acbe627c9dfc27195cced14769a21277c9a4cc34ffd803b3c6817fcf586012d26a570ca5a8bfa8576e33e042123bc46df5d16ed785dc1a036e4076aeb0fb242868f1a6f0ac342ce5a65aea7e7a6bcbb36f42dd8df2add1e703d4a9b3c38bb43e7fdbf26201bec5c8f2b31766991f6f22db356c1973bc2550830360178f94ea11a4773724d0644edc8fba4eb159709096ff5fbec9117757991e4f03971f6872745c3f9a31379e794f76c0256088e41a7a9759e002229ef8842a5cd30219ffff03c94fb3abd4ff09f8fd90f63e8184f766d190f81bb8fd5a311caca73251255a8803ec921c84c309a4b9ed4913223a67ebc1fd92dabb9b2d3195b4ca45277d94b9b7037e27a54923b14aef29c15a26249a48e882d704c61d40b100aabfef32ccc0fc150219ffff03f41a4216e3d4d4e2bcbd3ba6667ee9d76091523eedac6f46459dec7c478f77a503b7d26fb865e5515d98582625ca9733ed75acdca922a502a93a9f1cdc406cdd9503740f74d352afa57e80f022aaa71efe30619ff6f1724f6ee7c321f47edc6baf7a03b505a4d703bdccbafe5c44bee39f024044fa8bde6587f22a697d67ed469662db03cd01b4103428e1058d8907749264a429e119d83484b4b86207da6439b676e13403e65e5f717fff66f4b7389bbd371aad7e98209b023b12188a99b02978d6397036030392b4e6af24316987adddf1016b8ab7d2f4a2f0ca333513404a69df7c74b30203a4c7b90a58b4869c4f495fa643738d2fc61dae273c407a18701be0857777ce4f035089d6f417836d2eaefa2385f1e17b96116ded0709994a11fe8f7eeab743ce5703fb149a4597539cbc943cff6cb0af8eed1c26f3660bcd620a7fd72c0901d4c14303545e7127ff434e42bd0b2656856a5e182aab655b50b8f569aecbb1d0b2f82bf303dbe80f368bb438fd31fffb3836aa6e9145e9ec886ba60a08ee86f2b0e08916c403472094a9c216c91413e678eaba89de75505782aa39e378c31bdc9fb37eeaf35d03f0f0ecf38aa63dc8e4ebf75c64176234e09e3129203a3d0d864659ccc9c2dea803e9264f6ad51f1ec4b3daadd5667e1f80de4979cc80551a593bb180a4b1fa677b039557db38e212170efd2d3b0dd1e0cd45f786b70839452d621900c06ee49160740306f6031292a8a63608dec223fe32531f958a92ac36db423511ab00e1fa05324003958f35b3646d192d9f581e9623ae6c82927b05cbdd3cdee8ca140c481a0c7115036247bfd5abcb73ee8a388b4e9f56520866a7eb9d0d35e9f88a65743251586002033227a1e66a2c4084a6485dad17e7a29e2c90ce14f933fcb94a42ca7411dc278d03474412d96b095920883c6de6c2de1aa5332efd7795ae24eb3104738bce260785035bcb20d61f0416c6f4f813940a8f2ea5f2451d6bd99cc1d20f0cf9015f39adbc03695528afa2d48ee242b714bd3ffa247cadb2058ee5bfe5947790690404857b2f05581e03ca9d26f3d684f4bc9792a5ac9fd5c21d87031c2a8c8cb77c13cb4b5d800c1a00117bba4a022949b520bd7fdca28c05581e03d33f129b231c19df816ccef9a08c5b4c40fd2d944ec1da4398f9f09b400c18b847067f2990661a3f05581e039816226e3aa2cacd1c31cb76734c382be1a3ba8d286a2b60e9d1efd8600c01460f761ef6100003f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139034679df709eb335a7df17aade4a65c3cc6c734dc107cdfd3d72ad68444dac4f4305581e03291a8561649c56fc3972c113b317d7dfaa534810b9b4b7e5335fc54b9007011bffffffffffffffff031758d067f776276a2e6fd24d9bc203d3560be591c8ba867ff58682df6589c8b105581e0366182c490d8b3d5bb24240032969e0ed576c16636d47e85572eaa847400c024701ff78b9380b9805581e031eceab7b1f924d2b70ee318e203db25c2ca208686955607480a0b278e00c01470190704e3bf60005581e0346657b067f22c8f052045ecb11019556f18ff7b88c2052842da57872f0040105581e03ba615d5872b8116b14a070dd3a289d6e3cad1bf2b151566364567b3fe00c014716773c37782c000219ad69036ee5ccce3555db9d6b9a6c01a84e6d2e1bf4ca2b3a483f588f0303132e3e02250375c05f9afba70a5a82571af02832f33021e208ab978c7b301221c3ddc92d07fc0322a864fe2f2fc0c0f9ba8688488d2271bf57497269be90e98edb896d723327890364ad17b779e81d2ff8d85dd753926d2f4648977e05c2bda8d940a550429418ea03925aee8c81be65b726ae145dece95c8f31f8fe5451a532144a1cd25d99a9ceb2033aa452298ded0d864f3a22a0c56a64ea27aa58dc34e0e32217acd77934979d570219ffff03f803f1a2fa914fb9f68991e3010329f1dd0a3a00cfcccbf7a1b91819ea5b82f503f6b4bac7bb72f7c40b7554c2003669d4598cccf7c10a7934d688f27353e7ddc703b2373734a2f7076c1ef3090892feaded8179eba2d3ae039aa1f1455a05364f7b03f508b48832ad9e0f4df2060f99adf0e9954800c9dfbce640be1d5021774c158d03915221290ed9723930ba73a576ee417e0b9f7034ea4602588c542e9a8d344e3c03910ddd29cd415837abac548b909fa4bed8e6e54b40ddc0ef63e56266da85aeb003d09e2a1fefa28d8249591541df676f574ecef21616bd271e20f48708d353f9c0030f3f788ecdc9da7c5ed3122218138c3164ec3cc986dbe454610b2e335f7110330219ffff0382d0118272f512dc54825059441fe561f36e3b93d4f7305f25b9b316521a2c3a03db9521a801f4768caeff42b32df46bc5e85d4a5ef2db3a6654fd4b1eedb43ce403e62d137bffb4fb49bbd19ce0b50994fc988eee35dbc0c7bca3c76f85f01d922603c0c4ccdeef53b0dbe8908b84c5981b999a509d2d27068a9c60dfa9fdfe584eca039564129361360e984141ee90686c6e1a5927533403ea64e85e7e91eb614c00450321e80337a0c64e24e78446a6053eeda2809b1dddc9c10027e202ce5844f7aca003c7463a9f70fbdc9e8e2822a58a0074aa1fa6517556fd8e09910a4b9b1afa38c303003057369f87ef66cd6e58c35485f3ae6036396b849a2cb0d3d88cde649bad3903446e3970e07b0ae4508d87a2dad93ec513c337e81c2180aec18114620da8ec9703530cbc234bd72738c1a03c24ea30bd2406802eb9421d1ca4841dcea60545fa2203673ec88249c14716982f826e016da6ca1464a1bebf2b0fbbb233df492fe359bd031fe864f666b451b263a0b9aef2420b91811c3285a1ddb3de8c9fe136ffac0035039a6fdde0880df5789bb711f19d0b19c5a499e8e547af3e5123a5fb3ad11273770219ffff0392a25b5716c2deefa78ab35a973185dd5a585ddf911c8ea6e76ea0b945b3e9d903a8087065792021817c4a2c987cd8b98f3de62cd7661e9aea1d9d5ab00a57586403310e38e92b85b4fe27c56e40f4e1854e02e765f380016f53b7efb96b2835015203f9f9d88130573e3b59b3c3f0c0f47e1149109ec6cd5b131c11459b7809c15df0037d61ec98d60492fe6b988bceb64e0a5663cdc3c21d620002cd44edbf56807e1b03ebfdb695070b850c701d27e141fdd7e04df639880e2dba2a1aeaac312084570103e05623343bb6502be1dfe417c59b36d3877ee7b962b43176e85826333f16dadf030873329c5c62f378b1fea61c845f8abdc4095635a3a7782ae347604ced1d368503bfb93b86b239e3451d7e4edf5300be37f2054131378205ca5bc4c54735787dde034a5f95554e903ef59db4756a110b20ffbb6a40f1d80af3807d4d38a1f8d2c7c50219ffff03b4c90f7f6242e288ac656a8bf5fc5008e526dbea179e835038a9523f78b03a6d03af1cfaa693d0caffb28e48208a028a706d36c6a906316b4656eba32ee1e776380363d440f32b45c01982a6706c9bb5c97fe051d02dd2ac1e2d4a83090140df08ff03e0914158f05d11fe36813821ca257f572907f429693288dc58da007bdb50c33603209df29071f6bb4336be0daab04beaf05b9e044ed55ab30d045c915c2e0e4216033655dc046f5d7ed9557ad169a17cc87f6340fc559c411d98c808fc0208bc6499034b7196e831916d74e55620ac5a107c8983956288fab37c5c1ce351b059a1f27a03b985719bad57bf4b21cf0e5dcb69365c743345c5038f52ae8a676e769f73189d035bc9da315eebb37102000a1d54db4a4d0504b60ff2e4b90d6f49de858839302f03ac55fd8026026a6263d80932b1b8f57172ed7b4cebb287ee77140ba9cb545ac7038ac657fa4abec42008aec17b093c38a72ad714159461c500ef1ce05cfa34616d034b8838ebd3a6388d972f81ffdc9ec04f2fa171cd0d4d2fa0937b89e3f0ca5bb6034b331ae20f5427030b4bee9a474b66116405fa55c6cca4b53c77c64bccee219b03cd0b1696b98f64d306a965b04bd9b0d8b656e16e5b9f9d0a6048210ef8c9fa2d03b4963c9812dacb4bdd540fddd59b3fe26fa91e5548f60c70e2aa4dd9c2305de803da4ff65a95aa5701093f36862396f6453c2aea0597aa28aeaea100b3fad8219d03b8e70212b9a9928b2f989355d71c4d5da3c8e018fbfcefbc15bcf8c7c3e3755303593529de28f45bb61540ae6da2877a98a620ebf5c8f5962e5e804d4d65f9e06b03f97daf92e7c3ccd465e4ef79e645843be07de073463dbbd29e320af9958789cb036cbabe45ee25e97022fea83d079e39f7e7c0e373993a3d72a40cca61d972a31403f74a29ba5c411be53dae31fb1b80a65b1d2ddddd868353c1f2cf3781789077a80330cb58f99174abc631582e04db8c8bdf7d59bacaba968f3b3cfef7a0eb763ae303f36afa134185cd983ee43d7c1065b232a1114c6772ba68a1d9bfc4dbeadbb6f703a4f219d869fee450907222dece67be9e7e81a0b3c05e8eb7e1a105cf75aee84e03bd3b4b48cf700a8ffed5e7e4a4fe8a9e23fd7a20d0ff87d590cacd3e912b5d8905581e038cfbb39366ebe46240981b128844eb948f9a92ddfd697c244140bd02700c01470150cc3d65fab605581e03f7e64bac92242c27db5238a9a16c7e4bf9f4cf2dc912465ae4f5371920040105581e0371e17cf23dd95d98c74faf430c328645092cab3721e61918b3e3fc72700c01471e043dac2143a805581e03d77ac1d1f81e1d01c47be3866e57869f6f133469813f74adaa8a8c27e0040405581e03dab82256cb999b066edc5b613a06281feee1eeaabab9072161feedead0040203098a5d985290ff5ebaa5281c8f68913ecbe3fdcbd011a4a3bcf05e961c7932c505581d02ce8807b0267c336fb63c0f6704ee998f4dd6aab2e730419346be5ebc0c0247106abaf864f630045942a760017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd477f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001610151565b60007f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4782107f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47841080821692505050600082146000841480821780158481169450505050507f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478384097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478384097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd478482097f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47600382088381148581169550505050505092915050565b8060003506602052806020350660405280604035066060528060603506608052806080350660a0528060a0350660c0528060c0350660e0528060e0350661010052806101003506610120528061012035066101405280610140350661016052806101603506610180528061018035066101a052806101a035066101c052806101c035066101e052806101e0350661020052806102003506610220528061022035066102405280610240350661026052806102603506610280528061028035066102a052806102a035066102c052806102c035066102e052806102e0350661030052806103003506610320528061032035066103405280610340350661036052806103603506610380528061038035066103a052806103a035066103c052806103c035066103e052806103e0350661040052806104003506610420528061042035066104405280610440350661046052806104603506610480528061048035066104a052806104a035066104c052806104c035066104e052806104e0350661050052806105003506610520528061052035066105405280610540350661056052806105603506610580527f1bca4baf67d7ed15d72a8c15fbe6be97043cd947412e9c02cd89f7b0ec168a6860005261058035806105a0526105a035806105c0528461033b8284610048565b16945050506105e06000206105e0526105e051818106610600528061062052506105c03580610640526105e0358061066052846103788284610048565b169450505060606106202061068052610680518181066106a052806106c0525060016106e05360216106c0206106e0526106e05181810661070052806107205250610600358061074052610620358061076052846103d68284610048565b169450505061064035806107805261066035806107a052846103f88284610048565b169450505061068035806107c0526106a035806107e0528461041a8284610048565b169450505060e0610720206108005261080051818106610820528061084052506106c03580610860526106e0358061088052846104578284610048565b169450505061070035806108a05261072035806108c052846104798284610048565b169450505061074035806108e0526107603580610900528461049b8284610048565b16945050506107803580610920526107a0358061094052846104bd8284610048565b169450505061012061084020610960526109605181810661098052806109a05250806107c035066109c052806107e035066109e052806108003506610a0052806108203506610a2052806108403506610a4052806108603506610a6052806108803506610a8052806108a03506610aa052806108c03506610ac052806108e03506610ae052806109003506610b0052806109203506610b2052806109403506610b4052806109603506610b6052806109803506610b8052806109a03506610ba052806109c03506610bc0526102406109a020610be052610be051818106610c005280610c2052506001610c40536021610c2020610c4052610c4051818106610c605280610c8052506109e03580610ca052610a003580610cc052846105e28284610048565b16945050506060610c8020610ce052610ce051818106610d005280610d205250610a203580610d4052610a403580610d60528461061f8284610048565b169450505060205160405160581b8101905060605160b01b8101905080610d805260805160a05160581b8101905060c05160b01b8101905080610da052846106678284610048565b169450505060e0516101005160581b810190506101205160b01b8101905080610dc052610140516101605160581b810190506101805160b01b8101905080610de052846106b48284610048565b169450505080610980516109805109610e005280610e0051610e005109610e205280610e2051610e205109610e405280610e4051610e405109610e605280610e6051610e605109610e805280610e8051610e805109610ea05280610ea051610ea05109610ec05280610ec051610ec05109610ee05280610ee051610ee05109610f005280610f0051610f005109610f205280610f2051610f205109610f405280610f4051610f405109610f605280610f6051610f605109610f805280610f8051610f805109610fa05280610fa051610fa05109610fc05280610fc051610fc05109610fe05280610fe051610fe05109611000528061100051611000510961102052806110205161102051096110405280611040516110405109611060528061106051611060510961108052806110805161108051096110a052806110a0516110a051096110c052806110c0516110c051096110e052806110e0516110e05109611100528061110051611100510961112052807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000611120510861114052807f30644e66c81e03716be83b486d6feabcc7ddd0fe6cbf5e72d585d142f7829b05611140510961116052807f2d19f86a2342079b8c1a6417471d461040256eaa689be51f08e6a92e1243ce65611160510961118052807f034a5608bdef988e2c35e19f3a64124ce80e799e111d8b723afb4c65ddbc319c61098051086111a052807f24a1fcd63e9f03b27281db85fe631ec8e5c466f8178a4ee94d4942b7ccd90e1c61116051096111c052807f0bc2519ca2929c7745ce6a30831e3994426f8150622f21a7f698b2dc2326f1e561098051086111e052807f0d5eb4c216db2c3262de3f6a2ef71a9be95ff21a7a1a50ed069d6131e7d54e5f611160510961120052807f230599b0ca5673f75572064c528a3dc13ed3f62dff9f1fa43d449462082ab1a2610980510861122052807f26501ebfe559ea5826f023d3e76e4b66f170cd940408eb5590a4075c80b498d6611160510961124052807f0a142fb2fbd7b5d1916021e29a130cf636c31ab475b0853bb33dee376f4b672b610980510861126052807f082a7bd4c0a7e4352229d332c27a160da18f0d7c651f3047df41b80345532f6e611160510961128052807f2839d29e2089bbf496267283bf07424f86a4dacc149a404964a03d90aaacd09361098051086112a052807f19277f31ecb5bfe8604677099c09556812b0b5c50cceb2b584098183a5a6c5c861116051096112c052807f173ccf40f47be0415809ceace57802f5158332836ceabddbbfd874104a593a3961098051086112e052807f20bab6e5f766b4edf82399e9c5ff0e40d4b6875321a3d8020e18521d8f5c7241611160510961130052807f0fa9978ce9caeb3bc02cabccbb824a1c537d60f55815988f35c9a37660a38dc0610980510861132052806001611160510961134052807f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000610980510861136052807f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec97611160510961138052807f12a9c31703ccb0bcd5b5b57cd4dd977803fa8c04c096f4fa7c9164c78338136a61098051086113a052807f0d94d63997367c97a8ed16c17adaae39262b9af83acb9e003f94c217303dd16061116051096113c052807f22cf783949fb23920f632ef506a6aa2402084d503eedd291044d337cbfc22ea161098051086113e052807f303a348fae5a4f041e5c056919bc140f68267e2fb55a522282b02d6a100e01a0611160510961140052807e2a19e332d7512599f4404d67c5444dc00d6a18c45f1e6ec131c829dff1fe61610980510861142052807f1951441010b2b95a6e47a6075066a50a036f5ba978c050f2821df86636c0facb611160510961144052807f17130a62d07ee6cf4a089faf311ab35324c48c9f00f91f9ec1c3fd2db93f0536610980510861146052807f04fe6e3fa02c3830525c10d7bbf567639bfc836de8fe4e471c889a638d381c71611160510961148052807f2b65e033410567f965f434dec58bf0f98c3764da90bb224a27595b3062c7e39061098051086114a052807f24db2e49a2c215211bae763372d0d8b05d0140adbc6d9d63f2a226fb711fd87361116051096114c052807f0b8920293e6f8b089ca1cf830eb07faccb32a79abd4bd32d513fce987ee0278e61098051086114e052807f0f6afbf59e2fef78443acf353ca6d17cfc07ebc6343141cd56a9102bd4864004611160510961150052807f20f9527d4301b0b17415768144da86e02c2bfc8245882ec3ed38e5681b79bffd610980510861152052807f1283ba6f4b7b1a76ba2008fe823128bea4adb9269cbfd7c41c223be65bc60863611160510961154052807f1de0940395b685b2fe303cb7ff502f9e83862f21dcf998cd27bfb9ad9439f79e610980510861156052807f10e6c9ec7941500e1b1095e82fb0034bd9e95777ca9ae5ce296eadc089110518611160510961158052807f1f7d848667f0501b9d3fafce51d155114e4a90d0af1e8ac31a7347d366eefae961098051086115a052807f25ad5db2a6bf79a14fd0d2ffd3d0927af7fdd30bce40f88fb46774fd262d767361116051096115c052807f0ab6f0c03a722688687f72b6adb0c5e23036153cab7878018f7a8096c9d2898e61098051086115e052807f2cd3ee06866876806a4a382f7a95576f34fd9ce6aad8bf350670ed33fe3259ac611160510961160052807f0390606c5ac929a94e060d8706ec00edf3364b61cee0b15c3d71085ff1cda655610980510861162052807f2f835d9f4207df4efa4ffa0b2bbf9a4f54221c57cc506b7a5f8dae90bd2e3d0a611160510961164052807ee0f0d39f29c0dabe004bab55c1be0dd411cbf0ad690516e454470332d1c2f7610980510861166052807f30526acf1fa80f36309d80530d854ae7d52fc97bcb8d0a6a2a7f852e7b6e9d79611160510961168052807e11e3a3c18990f387b2c56373fc0d7553041eccae2c6627196270657491628861098051086116a052807f0af04af9c243a8b4b8767330b8dae01f562d7641cdf0a0c4d288e395c0aebb7261116051096116c052807f257403791eedf774ffd9d285c8a6783dd2067206abc8cfcc715911fe2f51448f61098051086116e052807f2387d5be5175ba27fd2f8779b460ffdd830e06cd2f6bcf30c3715fbed25b1b67611160510961170052807f0cdc78b48fbbe601bb20be3ccd20587fa525e17b4a4da160807095d51da4e49a610980510861172052807f18c95f1ae6514e11a1b30fd7923947c5ffcec5347f16e91b4dd654168326bede611160510961174052807f179aef57fae05218169d35deef48109728652313faa28775f60ba17d6cd94123610980510861176052807f1ed7bccd53b52d451436ae36d9f0225657083d7e909edb5560d7ea488aebe0d1611160510961178052807f118c91a58d7c72e4a419977fa7913606d12baac9e91a953be30a0b4b65141f3061098051086117a052807f0ba3551f265c0941ccb3766d47b26720ad620a597137ff3c84310bd3e28e26c961116051096117c052807f24c0f953bad596e7eb9ccf4939cef13c7ad1ddef08817154bfb0e9c00d71d93861098051086117e052807f0803f4ae22d04b4c9c282c70c843e12bfb2d84b89bd7ef84dc3b90d60053b1c8611160510961180052807f286059c4be6154dd1c281945b93d77312d06638fdde1810c67a664bdefac4e39610980510861182052807f29aa84e8187de51daa6de67f44fe365fbb789d1e5f97bc95844628487ebd3a0d611160510961184052807f06b9c98ac8b3bb0c0de25f373c8321fd6cbb4b2a1a21b3fbbf9bcd4b7142c5f4610980510861186052807f0e4fc6c7e1947e44222db52506e305b8a9ad70f6a834db5a4778d4a30f1c6f92611160510961188052807f221487aaff9d21e5962290917a9e52a47e867751d1849536fc6920f0e0e3906f61098051086118a052807f20816bee57855658ecd8a204faf6bced826a725b63c6a1a388b4609a2478809f61116051096118c052807f0fe2e28489ac49d0cb77a3b1868a9b6fa5c975ed15f2ceedbb2d94f9cb877f6261098051086118e052807f0d44b8855e09d5ae332469459793c1444814f6d137f9e93e780bd41c97e37caa611160510961190052807f231f95ed8327ca7b852bdc70e9ed9718e01ef17741bf8752cbd62177581c8357610980510861192052807f07fe49da5568a43070d955e0d212d956e1ff8abd41a763c737e292bee0476699611160510961194052807f286604988bc8fbf94776efd5af6e7f0646345d8b38120cca0bff62d50fb89968610980510861196052807f2c6040b2797deab65e00a7ee9018fbdb75e916de605bf24fb513b6ca66b1478d611160510961198052807f04040dc067b3b5735a4f9dc7f1685c81b24ad16a195d7e418ece3ec9894eb87461098051086119a052807f2d944f7c9d9b18f93a10ba016c50556fa616881971f02bf85e3e72381f7896fd61116051096119c052807f02cffef6439687307e3f8bb5153102ed821d602f07c94498e5a3835bd087690461098051086119e052807f07ed599903bc9e02d1a890537eb12acd1593c37d5bfe146b75f6aab8e3f566bc6111605109611a0052807f2876f4d9dd750226e6a7b56302d02d9012a024cb1dbb5c25cdeb4adb0c0a99456109805108611a2052807f2f6d5dbc65d9e42565b5259fa7b05b83e83bd240f447c0c743a36e342cbbd6ed6111605109611a4052807ef6f0b67b57bc04529b2016d9d0fcd93ff816078571afca003e875fc34429146109805108611a6052807f08ffad227a9541acfef016a9ab142439aea1e944b29b6d943ea2e35ce2b445a26111605109611a8052807f2764a150669c5e7cb9602f0cd66d34237991ff03c71e02fd053f12370d4bba5f6109805108611aa052807f2a0b54f8b103ed4d0905efc495dde86cac699ca13eba75245ae7da68d467c52c6111605109611ac052807f0658f97a302db2dcaf4a55f1eba36ff07bca4ba73afefb6ce8fa1b2b1b983ad56109805108611ae052807f1bbeec9a5ff9190308a7669eed61461287f04bd8f2878ef57e25e1b9f02fb1ed6111605109611b0052807f14a561d881388726afa8df179420124aa0439c6f8731e19bc5bc13d9ffd04e146109805108611b2052807f032750f8f3c2493d0828c7285d0258e1bdcaa463f4442a52747b5c96639659bb6111605109611b4052807f2d3cfd79ed6f56ecb0277e8e247eff7b6a6943e48575463ecf6698fd8c69a6466109805108611b6052807f0653096e0aea3bee59084d8596a3ae7b353413078b39c22199382dbf5c9757cf6111605109611b8052807f2a114504d647643b5f47f830eadda9e1f2ffd540ee7fae6faaa9c7d49368a8326109805108611ba052807f180089fc002ac7cc97ff3ca4bd9a7d619478f1cd3811783125e6ab03a33233046111605109611bc052807f1863c476e106d85d20510911c3e6dafb93baf67b41a7f8601dfb4a904ccdccfd6109805108611be052807f2b0a14fda96cb98ae032e8b833701c150104c893945f6ddbbd3a62f9fde629b26111605109611c0052807f055a397537c4e69ed81d5cfe4e113c48272f1fb4e55a02b586a79299f219d64f6109805108611c2052807f1ee9b22299f8d2c2a4a89b7bc09e0b44dbb47bdaea5a81b9a6754c34c1431fb06111605109611c4052807f117a9c504738cd6713a7aa3ac0e34d184c7f6c6d8f5eeed79d6ca95f2ebce0516109805108611c6052807f1b00b3359bc5f05b89367b38d3c79e73385f39114184a3f565d1a8b80bb1608f6111605109611c8052807f15639b3d456bafce2f19ca7dadb9b9e9efd4af373834cc9bde104cdbe44e9f726109805108611ca052807f0e817e26285be10d74d796a1e82669eff980e2f0c91a70f95c29a456d7ce5d5c6111605109611cc052807f21e2d04cb8d5bf1c4378af14995aee6d2eb30557b09eff97e7b8513d1831a2a56109805108611ce052807f1a3021b85b6b675621d813aa0c588a797c7e7f6c849d31676a67d0d05b6b4e0c6111605109611d0052807f16342cba85c638d39678320c7528cde3abb568dbf51c3f29d97a24c39494b1f56109805108611d2052807e7a4dc361069950d7cc013db4be2feeca18869368a658bafd1f9e32682bfa0b6111605109611d4052807f2fea00af802b06d8e0844478ccc3286e5e1b61b5111317d646c2576187d405f66109805108611d6052807f2b98b79f23c299c69a888a76102d40984c19d0a4f1f95b85b72b4ffbb1f7c6296111605109611d8052807f04cb96d3bd6f06631dc7bb40715417c4dc1a17a387c0150b8cb6a5983e0839d86109805108611da052807f127036f13a5ba58cd93aad0c1803d033be2c2c2ec08be200ecf67639cdf4ce716111605109611dc052807f1df41781a6d5fa9cdf1598aa697d88296a07bc19b92d8e9056eb7f5a220b31906109805108611de052807f2f47e203cdc81a75bf6264cfe4067c974020c186bd6b1c5c9a688f90b8e8be406111605109611e0052807f011c6c6f136985b3f8ede0e69d7adbc5e81326c1bc4e5434a9796603371741c16109805108611e20526111a05181816111e05109905080611e405281816112205109905080611e605281816112605109905080611e805281816112a05109905080611ea05281816112e05109905080611ec05281816113205109905080611ee05281816113605109905080611f005281816113a05109905080611f205281816113e05109905080611f405281816114205109905080611f605281816114605109905080611f805281816114a05109905080611fa05281816114e05109905080611fc05281816115205109905080611fe052818161156051099050806120005281816115a051099050806120205281816115e05109905080612040528181611620510990508061206052818161166051099050806120805281816116a051099050806120a05281816116e051099050806120c052818161172051099050806120e052818161176051099050806121005281816117a051099050806121205281816117e05109905080612140528181611820510990508061216052818161186051099050806121805281816118a051099050806121a05281816118e051099050806121c052818161192051099050806121e052818161196051099050806122005281816119a051099050806122205281816119e05109905080612240528181611a205109905080612260528181611a605109905080612280528181611aa051099050806122a0528181611ae051099050806122c0528181611b2051099050806122e0528181611b605109905080612300528181611ba05109905080612320528181611be05109905080612340528181611c205109905080612360528181611c605109905080612380528181611ca051099050806123a0528181611ce051099050806123c0528181611d2051099050806123e0528181611d605109905080612400528181611da05109905080612420528181611de05109905080612440528181611e2051099050806124605281816111405109905080612480525060206124c05260206124e05260206125005261248051612520527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff612540527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016125605282600160206124a060c06124c060055afa141692506124a05160006111405190508282612460510961114052828282099150611e2051905082826124405109611e2052828282099150611de051905082826124205109611de052828282099150611da051905082826124005109611da052828282099150611d6051905082826123e05109611d6052828282099150611d2051905082826123c05109611d2052828282099150611ce051905082826123a05109611ce052828282099150611ca051905082826123805109611ca052828282099150611c6051905082826123605109611c6052828282099150611c2051905082826123405109611c2052828282099150611be051905082826123205109611be052828282099150611ba051905082826123005109611ba052828282099150611b6051905082826122e05109611b6052828282099150611b2051905082826122c05109611b2052828282099150611ae051905082826122a05109611ae052828282099150611aa051905082826122805109611aa052828282099150611a6051905082826122605109611a6052828282099150611a2051905082826122405109611a20528282820991506119e0519050828261222051096119e0528282820991506119a0519050828261220051096119a05282828209915061196051905082826121e051096119605282828209915061192051905082826121c05109611920528282820991506118e051905082826121a051096118e0528282820991506118a0519050828261218051096118a052828282099150611860519050828261216051096118605282828209915061182051905082826121405109611820528282820991506117e0519050828261212051096117e0528282820991506117a0519050828261210051096117a05282828209915061176051905082826120e051096117605282828209915061172051905082826120c05109611720528282820991506116e051905082826120a051096116e0528282820991506116a0519050828261208051096116a052828282099150611660519050828261206051096116605282828209915061162051905082826120405109611620528282820991506115e0519050828261202051096115e0528282820991506115a0519050828261200051096115a0528282820991506115605190508282611fe05109611560528282820991506115205190508282611fc05109611520528282820991506114e05190508282611fa051096114e0528282820991506114a05190508282611f8051096114a0528282820991506114605190508282611f605109611460528282820991506114205190508282611f405109611420528282820991506113e05190508282611f2051096113e0528282820991506113a05190508282611f0051096113a0528282820991506113605190508282611ee05109611360528282820991506113205190508282611ec05109611320528282820991506112e05190508282611ea051096112e0528282820991506112a05190508282611e8051096112a0528282820991506112605190508282611e605109611260528282820991506112205190508282611e405109611220528282820991506111e051905082826111a051096111e052828282099150816111a0525050806111a051611180510961258052806111e0516111c051096125a052806112205161120051096125c052806112605161124051096125e052806112a051611280510961260052806112e0516112c051096126205280611320516113005109612640528061136051611340510961266052806113a051611380510961268052806113e0516113c051096126a052806114205161140051096126c052806114605161144051096126e052806114a051611480510961270052806114e0516114c051096127205280611520516115005109612740528061156051611540510961276052806115a051611580510961278052806115e0516115c051096127a052806116205161160051096127c052806116605161164051096127e052806116a051611680510961280052806116e0516116c051096128205280611720516117005109612840528061176051611740510961286052806117a051611780510961288052806117e0516117c051096128a052806118205161180051096128c052806118605161184051096128e052806118a051611880510961290052806118e0516118c051096129205280611920516119005109612940528061196051611940510961296052806119a051611980510961298052806119e0516119c051096129a05280611a2051611a0051096129c05280611a6051611a4051096129e05280611aa051611a805109612a005280611ae051611ac05109612a205280611b2051611b005109612a405280611b6051611b405109612a605280611ba051611b805109612a805280611be051611bc05109612aa05280611c2051611c005109612ac05280611c6051611c405109612ae05280611ca051611c805109612b005280611ce051611cc05109612b205280611d2051611d005109612b405280611d6051611d405109612b605280611da051611d805109612b805280611de051611dc05109612ba05280611e2051611e005109612bc05280602051612660510981818360405161268051090890508181836060516126a051090890508181836080516126c0510908905081818360a0516126e0510908905081818360c051612700510908905081818360e0516127205109089050818183610100516127405109089050818183610120516127605109089050818183610140516127805109089050818183610160516127a05109089050818183610180516127c051090890508181836101a0516127e051090890508181836101c05161280051090890508181836101e0516128205109089050818183610200516128405109089050818183610220516128605109089050818183610240516128805109089050818183610260516128a05109089050818183610280516128c051090890508181836102a0516128e051090890508181836102c05161290051090890508181836102e0516129205109089050818183610300516129405109089050818183610320516129605109089050818183610340516129805109089050818183610360516129a05109089050818183610380516129c051090890508181836103a0516129e051090890508181836103c051612a0051090890508181836103e051612a20510908905081818361040051612a40510908905081818361042051612a60510908905081818361044051612a80510908905081818361046051612aa0510908905081818361048051612ac051090890508181836104a051612ae051090890508181836104c051612b0051090890508181836104e051612b20510908905081818361050051612b40510908905081818361052051612b60510908905081818361054051612b80510908905081818361056051612ba0510908905081818361058051612bc0510908905080612be05250806109e051610a005109612c005280612c00516109c05108612c205280610a20518203612c205108612c405280610a8051612c405109612c605280612c60516108205109612c805280610b40518203600108612ca0528061266051612ca05109612cc05280612cc051612c805108612ce05280612ce0516108205109612d005280610b4051610b405109612d205280610b40518203612d205108612d40528061258051612d405109612d605280612d6051612d005108612d805280612d80516108205109612da05280612580518203600108612dc052806125c0516125a05108612de052806125e051612de05108612e00528061260051612e005108612e20528061262051612e205108612e40528061264051612e405108612e605280612e60518203612dc05108612e8052806106a051610ae05109612ea05280612ea051610a405108612ec0528061070051612ec05108612ee052806106a051610b005109612f005280612f00516109c05108612f20528061070051612f205108612f405280612ee051612f405109612f6052806106a051610b205109612f805280612f8051612be05108612fa0528061070051612fa05108612fc05280612f6051612fc05109612fe05280610b6051612fe0510961300052806106a0516001096130205280613020516109805109613040528061304051610a405108613060528061070051613060510861308052806106a0517f09226b6e22c6f0ca64ec26aad4c86e715b5f898e5e963f25870e56bbe533e9a2096130a052806130a05161098051096130c052806130c0516109c051086130e05280610700516130e05108613100528061308051613100510961312052806106a0517f13b360d4e82fe915fed16081038f98c211427b87a281bd733c277dbadf10372b096131405280613140516109805109613160528061316051612be0510861318052806107005161318051086131a05280613120516131a051096131c05280610b40516131c051096131e052806131e051820361300051086132005280612e80516132005109613220528061322051612da051086132405280613240516108205109613260528061266051610b80510961328052806132805161326051086132a052806132a05161082051096132c0528061258051610b8051096132e052806132e0516132c05108613300528061330051610820510961332052806106a051610a6051086133405280610aa0516109c0510961336052806106a051613360510861338052806133405161338051096133a05280610b80518203610ba051086133c052806133a0516133c051096133e05280610bc05161338051096134005280613400518203613340510861342052806134205182036133e051086134405280612e80516134405109613460528061346051613320510861348052806111205161112051096134a05280611120516134a051096134c05280611120516134c051096134e052806111205160010961350052806134a05160010961352052806134c0516001096135405280611140516134805109613560528061098051610e0051096135805280600161098051096135a052806135a0518203610d0051086135c052807f0d94d63997367c97a8ed16c17adaae39262b9af83acb9e003f94c217303dd16061098051096135e052806135e0518203610d00510861360052807f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec9761098051096136205280613620518203610d00510861364052807f303a348fae5a4f041e5c056919bc140f68267e2fb55a522282b02d6a100e01a061098051096136605280613660518203610d00510861368052807f2eedbf565be4b0b88a0e251d750f7559486d77bea4d5c9612ce3041295d380d5610d0051098181837f01768f1c854cef712e4220990c71e303dfc67089d4e3a73016fef1815a2c7f2c6109805109089050806136a05250807f0cf547ca658485dd9a20bd27b080d3147ec1caa826e725f7f7989fc9668dd16f610d0051098181837f077ebe9a531776ef7c9e90d5a0685181f70e74298eca38a6c92d84d4c0457ceb6109805109089050806136c05250807f077ebe9a531776ef7c9e90d5a0685181f70e74298eca38a6c92d84d4c0457ceb610d0051098181837e32f4eea6716d08d38119c3d378a36e865ffacfa73eb2357603f3f3368c88c66109805109089050806136e05250807f0d71dfba734c88cf774db4e0e4f959cb98acfbbb1fc789e5167bbca1fcafd24e610d0051098181837f25ea65fea4371c04dd1eaf23d69f2e0f9524ef5b9845d01cdb218e89a80523216109805109089050806137005250806135c05160010961372052806136405161372051096137405280613600516137405109613760528061368051613760510961378052807f12a9c31703ccb0bcd5b5b57cd4dd977803fa8c04c096f4fa7c9164c78338136b610d0051098181837f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec966109805109089050806137a05250807f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec96610d0051098181837f1025b522462e72d539ad797831c912abfe0dc14b7e56dd9687bbceb53c8a1b376109805109089050806137c05250806001610d0051098181837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000006109805109089050806137e052506136a05181816136c051099050806138005281816136e0510990508061382052818161370051099050806138405281816137a051099050806138605281816137c0510990508061388052818161374051099050806138a05281816137e051099050806138c052818161372051099050806138e052506020613920526020613940526020613960526138e051613980527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff6139a0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016139c052826001602061390060c061392060055afa1416925061390051600061372051905082826138c05109613720528282820991506137e051905082826138a051096137e05282828209915061374051905082826138805109613740528282820991506137c0519050828261386051096137c0528282820991506137a0519050828261384051096137a05282828209915061370051905082826138205109613700528282820991506136e0519050828261380051096136e0528282820991506136c051905082826136a051096136c052828282099150816136a05250506136a05181816136c05108905081816136e051089050818161370051089050806139e0525080613740516137805109613a00526137a05181816137c05108905080613a20525080613720516137805109613a40526137e05180613a6052506139e0518181613a205109905080613a80528181613a605109905080613aa052506020613ae0526020613b00526020613b2052613aa051613b40527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff613b60527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001613b80528260016020613ac060c0613ae060055afa14169250613ac0516000613a605190508282613a805109613a6052828282099150613a2051905082826139e05109613a2052828282099150816139e052505080613a2051613a005109613ba05280613a6051613a405109613bc05280610c0051610c005109613be05280610c0051613be05109613c005280610c0051613c005109613c205280610c0051613c205109613c405280610c0051613c405109613c605280610c0051613c605109613c805280610c0051613c805109613ca05280610c0051613ca05109613cc05280610c0051613cc05109613ce05280610c6051610c605109613d005280610c6051613d005109613d2052806136a0516109c051098181836136c0516109e051090890508181836136e051610a00510908905081818361370051610a20510908905080613d405250806139e051613d405109613d6052806001613d6051830309613d8052806001613d805109613da05280613a0051600109613dc052806137a051610b4051098181836137c051610b60510908905080613de0525080613ba051613de05109613e0052806001613e0051830309613e2052806001613dc05109613e4052806137a051610b8051098181836137c051610ba0510908905080613e60525080613ba051613e605109613e805280610c0051613e8051830309613ea05280610c0051613dc05109613ec05280613ea051613e205108613ee05280610c6051613ee05109613f005280610c6051613e405109613f205280610c6051613ec05109613f405280613f0051613da05108613f605280613a4051600109613f8052806137e051610bc0510980613fa0525080613bc051613fa05109613fc052806001613fc051830309613fe052806001613f80510961400052806137e051610a40510980614020525080613bc05161402051096140405280610c0051614040518303096140605280610c0051613f805109614080528061406051613fe051086140a052806137e051610a605109806140c0525080613bc0516140c051096140e05280613be0516140e0518303096141005280613be051613f8051096141205280614100516140a0510861414052806137e051610a80510980614160525080613bc05161416051096141805280613c0051614180518303096141a05280613c0051613f8051096141c052806141a05161414051086141e052806137e051610aa0510980614200525080613bc05161420051096142205280613c2051614220518303096142405280613c2051613f8051096142605280614240516141e0510861428052806137e051610ae05109806142a0525080613bc0516142a051096142c05280613c40516142c0518303096142e05280613c4051613f80510961430052806142e051614280510861432052806137e051610b00510980614340525080613bc05161434051096143605280613c6051614360518303096143805280613c6051613f8051096143a052806143805161432051086143c052806137e051610b205109806143e0525080613bc0516143e051096144005280613c8051614400518303096144205280613c8051613f8051096144405280614420516143c051086144605280613a405161350051096144805280613a405161352051096144a05280613a405161354051096144c052806137e0516135605109806144e0525080613bc0516144e051096145005280613ca051614500518303096145205280613ca051613f8051096145405280613ca05161448051096145605280613ca0516144a051096145805280613ca0516144c051096145a052806145205161446051086145c052806137e051610ac05109806145e0525080613bc0516145e051096146005280613cc051614600518303096146205280613cc051613f8051096146405280614620516145c051086146605280613d005161466051096146805280613d005161400051096146a05280613d005161408051096146c05280613d005161412051096146e05280613d00516141c051096147005280613d005161426051096147205280613d005161430051096147405280613d00516143a051096147605280613d005161444051096147805280613d005161454051096147a05280613d005161456051096147c05280613d005161458051096147e05280613d00516145a051096148005280613d00516146405109614820528061468051613f6051086148405280613780516001096148605280610d00516001096148805260016148a05260026148c052614840516148e05282600160406148a060606148a060075afa141692506148a051614900526148c051614920526105a051614940526105c051614960528260016040614900608061490060065afa141692506107405161498052610760516149a052613f20516149c0528260016040614980606061498060075afa14169250614900516149e05261492051614a005261498051614a20526149a051614a405282600160406149e060806149e060065afa1416925061078051614a60526107a051614a8052613f4051614aa0528260016040614a606060614a6060075afa141692506149e051614ac052614a0051614ae052614a6051614b0052614a8051614b20528260016040614ac06080614ac060065afa1416925061064051614b405261066051614b60526146a051614b80528260016040614b406060614b4060075afa14169250614ac051614ba052614ae051614bc052614b4051614be052614b6051614c00528260016040614ba06080614ba060065afa141692507f2965d4d0d4b0e9a8871ca5c76a69eb778fb9a9fc4039369b4771648118a60927614c20527f064191cb0ee0e1e30f9fc8e83381811701bab5bae59f3b30d388c64d724eb701614c40526146c051614c60528260016040614c206060614c2060075afa14169250614ba051614c8052614bc051614ca052614c2051614cc052614c4051614ce0528260016040614c806080614c8060065afa141692507f030a8de16d0491e1c6452575645c48617874c5fc5d5654f209246e9a1d9daa8a614d00527f22e2203b405e3eef35157bf3386d80cc9f0b94ee295f01d51103cee95ba38b0f614d20526146e051614d40528260016040614d006060614d0060075afa14169250614c8051614d6052614ca051614d8052614d0051614da052614d2051614dc0528260016040614d606080614d6060065afa141692507f2e7f747b95b1ed49865955ef4a5be34b3712925c85dbc768d1e40031345555d6614de0527f2ce2d15363bf6c2bfb22fdbf4ca15e64157e3f987bbc01d11f3edf2e572c50a1614e005261470051614e20528260016040614de06060614de060075afa14169250614d6051614e4052614d8051614e6052614de051614e8052614e0051614ea0528260016040614e406080614e4060065afa141692507f17d4dfcdffcb32d9016ee9ff46968844db35f995ea7505a04c2582d626d2325b614ec0527f290eae079977df185e8de97d934efab43e287da44df1752151f87d4abd4164b4614ee05261472051614f00528260016040614ec06060614ec060075afa14169250614e4051614f2052614e6051614f4052614ec051614f6052614ee051614f80528260016040614f206080614f2060065afa141692507f055c4b280cdcc18cfa14b6a93e2805d9ee91d4b3ee435f0e2da5ce55cda30b74614fa0527f29cf86ff4d478b911d19f2b0eb0bfdba824f3c708d4acafdc2261eb911c77e6e614fc05261474051614fe0528260016040614fa06060614fa060075afa14169250614f205161500052614f405161502052614fa05161504052614fc051615060528260016040615000608061500060065afa141692507f251c79fefb6e22a065bdf3fb722b40d652ee84acd343784e80574e534f1f80d1615080527f26d19ed627ec0c293da2d331124317501542e14af27eb2b1e90304eea7f265c56150a052614760516150c0528260016040615080606061508060075afa14169250615000516150e052615020516151005261508051615120526150a0516151405282600160406150e060806150e060065afa141692507f0a1390b8cae20de565dc5cb2baf280d443e13510efef2b1f4e82c7178cd09a27615160527f2a0474512d606350b77f72c65e047792fad5dfeebe71b7dbabbe4311aef29cfd61518052614780516151a0528260016040615160606061516060075afa141692506150e0516151c052615100516151e0526151605161520052615180516152205282600160406151c060806151c060065afa14169250610860516152405261088051615260526147a051615280528260016040615240606061524060075afa141692506151c0516152a0526151e0516152c052615240516152e052615260516153005282600160406152a060806152a060065afa141692506108a051615320526108c051615340526147c051615360528260016040615320606061532060075afa141692506152a051615380526152c0516153a052615320516153c052615340516153e0528260016040615380608061538060065afa141692506108e0516154005261090051615420526147e051615440528260016040615400606061540060075afa1416925061538051615460526153a05161548052615400516154a052615420516154c0528260016040615460608061546060065afa14169250610920516154e0526109405161550052614800516155205282600160406154e060606154e060075afa14169250615460516155405261548051615560526154e05161558052615500516155a0528260016040615540608061554060065afa141692506107c0516155c0526107e0516155e052614820516156005282600160406155c060606155c060075afa14169250615540516156205261556051615640526155c051615660526155e051615680528260016040615620608061562060065afa14169250610ca0516156a052610cc0516156c0526148605181036156e05282600160406156a060606156a060075afa14169250615620516157005261564051615720526156a051615740526156c051615760528260016040615700608061570060065afa14169250610d405161578052610d60516157a052614880516157c0528260016040615780606061578060075afa14169250615700516157e052615720516158005261578051615820526157a0516158405282600160406157e060806157e060065afa141692506157e051615860526158005161588052610d40516158a052610d60516158c052610d80516158e052610da05161590052610dc05161592052610de05161594052610100615860206159605280615960510661598052806159805161598051096159a05280615980516001096159c0526158e0516159e05261590051615a00526159c051615a205282600160406159e060606159e060075afa1416925061586051615a405261588051615a60526159e051615a8052615a0051615aa0528260016040615a406080615a4060065afa1416925061592051615ac05261594051615ae0526159c051615b00528260016040615ac06060615ac060075afa141692506158a051615b20526158c051615b4052615ac051615b6052615ae051615b80528260016040615b206080615b2060065afa14169250615a4051615ba052615a6051615bc0527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2615be0527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed615c00527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b615c20527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa615c4052615b2051615c6052615b4051615c80527f186282957db913abd99f91db59fe69922e95040603ef44c0bd7aa3adeef8f5ac615ca0527f17944351223333f260ddc3b4af45191b856689eda9eab5cbcddbbe570ce860d2615cc0527f06d971ff4a7467c3ec596ed6efc674572e32fd6f52b721f97e35b0b3d3546753615ce0527f06ecdb9f9567f59ed2eee36e1e1d58797fd13cc97fafc2910f5e8a12f202fa9a615d00528260016020615ba0610180615ba060085afa14169250826001615ba05114169250826142a257600080fd5b600080f30605581d0231aef3d11b0cec8692e3468d4aeac9cc0ac89196984f6eb09e4c2f2c07011942a70219010805581e033792dae49d7b7caa75d1c5669cd1292ff3e15a5230b1a5710c940b68900c0247021216d2bb9c140369a32570e6e5e6ba2150d7b5d751d92c4afa1f5ee2e714c6bd6f94ae80bcf32e0219cc1f03a0aaa7c28f1dbcfe6a260603df135ff53c54ba195018757582a79a6a9e40d9ae03e856ed05ee53094015b45fda2fadb6f5e7d6324176a504a489f18cbcd933214b034d7a314a8272d952b2a8af27bd289b53839a53a49832b0eee3af46d7444187510338fa6e36dc46e82cc967310ea48a205d0e669299d43e32beba8f103e661c680103d1192339646d79c330d8f65410b985b84ac31abc85bd60bb3252aa33781788b103515fa517d57e35810fe437793f09925bb68ab786ce5d9f55b12ff5ba2435d665036986dcbbdaf07017c50789a29d1d157dfd4446a52e9e64996e1985daf87f0e19031a4dfadd56b78a0e5bfdcd8d2f863afbfd67424b618e3b076c2abb1c6fe0785703e91948b082d0f22cade8663ef511fe55002833d6fbaccb31c1207d67919bc29503f5a2ed3926b8cfc1092d279b33f220101b465bd4f1011268bb0ba06dead280720219ffff0377e4adb824dada6909eaa37e7f8a5c412287b5d93f2210ec13d62576727f0724030dfd7734a796257ad9bb84bc08727c219ee25b14481cdbdde39f8d47c214c89a03b377fb35f7f227d563d6c3486a34ad85e6b39a96354b92a660b7f843555344b7036e0b12a8bdbe63e35e5fcff5c14f6aaef11d0fb76514dd8ff55845ef81c5e80a03f294975b31c9dad42c75f5a925429fa9b1a8673e5b3113345357e3a988c7bce80309a3ba44b0197b64a72a94b154aebe7c0f6e98accd8895dd1a3c762f35e193d203f44caacd7f97c068cf60ba97f5baceb662f6c71486b8e583b8e1120bc37c66f803a5f99561a2c2ba75293abbcdb4da39cbe45cb15f10802841a3bbd20844ff2768035b4285246bc8afe7a3b920e2b18be1ec85a2a11d0ab6a434c122f5d86ce96be403db420d17676b62040bf12b6e5ca4ce94ba5a1b2e341ac1bbf2adfddc039841890219ffff0219ffff0324f343ae675ac2e81d25c7730c64d4ccd6700fc1ae8baa7e985de5e7b9d8ba1803bdb770851027efcf89b6518b5d44b0c8536279bba978b760b4fd094d9f9bff5f0393d154654193dfaed1cdb0ab051f245b9603693ed0dfed08bd75e52b129d55ae0316aed1ee2374dac68d19470b9a88467604b542ebc3b486df9b55435bd44c2eaa03a23e1ae2c3424f9923619b8a14bbeaceee11fe61bfd6c52e7e049432416f6d27038a58b14e71dab4ce55d92705fdaabd5250d1c9a7d3f69a17063d67c241b48df903afab536968efdf9fa0dc120fb2990a1168822bf04a2eae8989b0d7728bb9c6ed03bb0d3c73cdcd619529e0413a60ee06cd9818dbcba685783699a219e2e8982ece03a852cb6994110d710fc6dc093cb39a26dd4de7dee8d16e9d433076946ac3f7fc03bdc181b22a54a795ef897267d6bd656032a9203c05603344574c6096f21b2270039065f0346186373016ad88e6f48e590e7599bcb25e7f3b1692945f427a138e620394be0129c75743493e4003bcd7fada05694ecb1283b88108c90bd3ec15415eb403eb0006f8715cd3f38de0416918842289186dd36e59bb800281505e8fa8ec03a003495574de125dd543e2c37ac9857b0c46efea0eaad604249abe74e6da8ecce00903fa991a571770c55f71109e830227efcd1e757e6957855609c8a10c50c3419dce03c8b9cca9dd3c5271767546f4ebfa6fbc516566c8cf53e3883dcc686ac72a183d031d3406b55f060c811294b6b0c0463e8b90b2eeb9f4e7d182b019299a741cfadb0311d8a6acaeef64c56f270bd11fccc1322c31ca4dc035528df1026d282b76bd3d0316981ed18d1101ffed45c10993068f8ee0f940e56fb1d9c9afdf7e084b526def03bcd82d7a5de461c99b157135d900c14ac91860d4fea978e0b7c4a9ee32746dae0333e67dfd2f88e418859e16d12436bed3100237aac9760ecac6ea0e3a8c878b7e03eb7e9b58b2ab054575afd0eaddede7db195552e6cb81c748e5c00a85d09eb137031934f6a39a250c7d14debf8085810d09c6b3ed97f8215cfd4fc5e776e123e580035a10fab2d24a9e9b4267e85e3e4266e016536fd8ac187805dd6fbdd1b04d5308036614b72db01a9c643d7ba66a7d4ab19bb6b0fba2475a186269e7026a859025990354d9c11d22e6858c302d5708c205dd5946999579e2683f816429d16065c582270312561d12aca9c46baab6b2335bcacabb54627bd0cf2a3f3850e6ce3c9952b61603961cf0eb5d2e9667b3ce16c10d6c05b733422d7864c082b2df652e4bb8e10590038d8a86e8ec04931af63293cdc592c497aecd02a14284ed83956ed73c4674020a0356f9fa0fac4e2a48d0c073ce3640072bc291becaec00fa7092204239a5b8699c03959e7849cb380471ce2762c4c9750f9f9feaa3138cd4dcf316842e7ac09c6ec603bd65c34527136a6fde6e38ce95f5bec86487c8604179c065cbcc9bbb6f155a49031561dafc4d084dba0d1c525b3785ac4b32ff904dd6d8b7119b374674fc2d1e43038f91aa701390fe5a8e4a64d7915b9a8462f5bef27243f9a6ea77f9438f43847c05581e03bf9aaa31eaa620500262d0885a172c908ad7cd7f8fe424f5cf54e31940040605581d02abd51fee9b3971cac31bff6dc0929c1b6748a4533ad563e6b59ea0b0040105581d02795e4c04d5978fa11af012359437d864d76c0d9944ab0c557437a0720c185e472254a0e975d1ca020905581e0353b19a7596e6ca1a24f7409eb405b99b8fca6c6ac848e117443fb263600c01473c3716bb96b1b8039bbd9ab279683151556614890316cb3482c6fb0652493061cab0e6ae8da6d78805581e033fada10f409b1ad433082669e5c1ac53cde97123c95a9fceee4c7f1dd0040205581e03e5f0ce11a5153a1c4690a413c5f5e46c066bb56b835b0d1514e753504004030334bfb9d156828c2d0814685b622771961d3127e8dfee2975e2b023ff1e1ef159039c2f438cd99a39927c7ba06cf0293eed3824c8b519a8b96f4154e6707e7ab60305581e037153ba74765ebeaddf99f569c2d6263911db0da0defcfaf4b00eeb6a2008472493b23150b9fc0336c9c25ed0852fba1ec7c51d9c59703eb929cac4d68fbd350fdbe9c2f758bed1030276746f93729d3cc781be849d331b24c5005e8f701d83c28a38734d64d85d2905581e0345d51afb9f97afa9710b327b59f2af9f9356727e60748b9fe4b935cb800c0247209e09fd8532000219f7cb03f3caf11b0250684cba7ac9bda0b4ce3c9ba94cd148a9d2891efb2ad56ac2370c03cb27ab4a65479ff6b49374e86007ed72b1130057dea6620298e89ea3df80a859038bf3df9e2c41ab5204fc42e3c2805cd48e84b7be5d5417aa9f7a7000609f6bc203411aaf92a2682be9db96d0611f0bdc4c0e89df55695c7aa3530bdcba7188b9e9034b202bf9e674b4da842d9c66847f268740abc2e7cbc816a53d1e505441fdebab0300deee3fbd89a8e481d630686f455b8be3ca59d07db7da1bea607a2efc213f5b03b2e6c7f1490f125e3824ae478c0f7a3368b13a364a9149ef3379c9197aae25830219ffff036bc63593e102a9ceaae2e4434400262893f090439bbb4edf951fd80566d034b70219ffff0313728da2d1d261579704d7e75a64ea9739617da6f9a24f160406f3cf0823e72103e8d1e66b6e14920c038cc78ec317a78eaf27e5ed56f35e30706f62279bd056b103a04ec9ade9a22341fc9b388b2ad497d193478d57f9c4b772ef6dadf587ab74c5035fc9c21b5274a57939f0149ba39e117e7cb089a18785364b17f7149e84749e5f0327d7e2861b900b5c3527a45176b15630febf8117ea948b783be32906fdb70650035f5733cd07464dbf4cde8c0f5d917b69d19c0d1f5cad2ee7b97d3b9b22ca841b0219ffff037768d7ba36f849f123f3a93e94ef3932e3ac038902ab49c6b345466ad67a8af503252f1f191b289aee07c949a6d112baf24ed5c856cce54e2a1dca4cf193713d37031e4d8d986c394a3b2b2046805edf283d4d727a18fd7355daf38772241249e02f03d7271f06f8b345e1632d8dc972ab71bce884181638527737c1092de4729ff79603f52a3186493053c60066f32ae3859272b80c48fd8b95f0b859ae0d99ccddd9430378a140fd3c100ce976fa8d0a9557cffa3c54a212e250f9b4b9cd34393caea62f0315d57e347884e1aaeabd96a2e0f9ac879f3d327d69598e07b71df9215eff941f03e91818b2bed16a4cefb7e7a886f75ddd206294cc2ac39da7fcd528775410ee04030909406448c3cfc1a07a6d548d71737d2401ee9e848dea8e41a036cf5a21bf0b03fdf2f75e53e132792d09314bfcaf78da9a0b94f7357f0500234fa481bb5f9ecc03c5b1abde70d8d2d541fd8a350bf405175d9f2f2d007180276be88765f56d5e2103cef9dc2da59c9661bd0bef220032fefbfdd5aeea0cc6b3712bd0cd38da0f66520372cb8d9ef0cede643ccd638df30af30b5405e41e87e0649a7403e69ed30b342a0315f7900629d94ad63bd282d2df5faeae377757899b57165df2962569b38f210b03371800715181d4fc2528e9fad2edc8abaa5049c3f53d2757d7f3de703d32dd6803d1713c053613f3c123627071a0256295b43247510e5d2d56dba57d90130b8e8803cbc1830c35dcf5e3a7d8f25c30958b30c06c4a2ee8bce2f35395d8db1abb944003fc03bc1100c17e0f69aa674b6ac1595b5614115846f1a06e6d41ac90667f6d7a03a4ff3dc8e08e3a04be229cefd5b0ace5b4836793a9140e718f26e70022620746034fdf3347a306c958b33ebe8451d2c35413189b9c35609043b163d770f4bff5ca03d40f8506a778ea346bd44e67c5ec620acb19ae0e052ce82450c2d858e4434e34031ec2351476576ece115387a913280c1518fb065a939a0f939e7b541b5dc27dee03b2faffaf99dc463457a57f42376f85a5a449eba8646b1f1def79472ddec234f005581d02b53e834983537dc6b8f011b7afb223be6e61caa3fe5e330140ae141d040a05581d02c503d653587edf5ad1a418b19330c220afd083254ffb2550bff843e60c19055948432d37c1ce1dbcc30219401005581e031e49f87aa3e8cbc6b51516c6d3d4340374d13f59ff25b39bf49d4881d0040105581e03a6b953490e77e76d0bd4c02220ce2679af2028517aa71f1006a8680a400c094716d6cf6500fcdf031932a92ced0ae518ad5fbf70886b82bb2f73c06e306e3ab269a7ae1fbfbb276401410d031c3a50e47681e5fc966a86d6b23902d31c1c56c22f4a5a6720f1a79e7c7dbb0903bb557f703d974e0c39ec212fb5557d893c5e7ca3af4e6a38da6078da59f2785d014102031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03eeccc618a0023d1c690a88ceea2f6f80e828b7b0991a8fa643a2ec88e007011bffffffffffffffff033613ffd58e5efb28419772f566757825ea70fd95f06b26e539e2bf0d0e89ef6b05581e034d5f612d444f805289e47f2493f901bb4c1e814793a24e8cd74bcab5e00c01478b22a78ff682da03a40e5b2b999f693cfeb63324b09006651b99d27319fd60ff192bc4306284b48005581e0351551b0ec951bb86de9204351056664609126cd0b356c48e0276fca600040405581e03ca6d2263393293b2d561ba8b3af23d5c07194aa4381acb347977689c90084801388bb47a8a90000219f93f03f8dabd2cfeb8ff37bffdfd7b5b9dfa9b6dd9035c94c5f8edd4ba9a252a86aa4703d5f4d0e3268fd384cf37ce7802641a55d89997915a34f5d17fa9c03afc4a2093038fe11ed86bc775ceea1c7bd321df32772b3df754ef852bd595b773999aa359a80390a96b9550f9ce7cf202fbc15aa9140dcca5944931e755fae333f57f31d7434f03af5ae1a9e98f7b6e51389b2005f176e07d7b294c90c88dceb6bdf2200aacb2b9030a51fdbce048015eddeedfb69a7611bc56fd5bbf76f4f94fa26bc1d85b00cc890219ffff03f2a661bbb63342d155171c39716c62ccf171ed24e90b1b6e189ba8a96a97ce0b03c9a9acfb92265b5283f9437b75f993b6cf1200127ffec2020f83d29ee0d5ffff0393e08c48810b41ba3af5dc351ddf5f6fdaa8722959188da2eee5b7a45fc578e303b31ce7e1dff9429deae4ed6a73e209defc9c1ff98b4a7a38560358376c22906d03c0ff6dd47216d8cbdc472bc758f9823b20b96399c6ec7a03354b23a3dd31649403f4c61ac71fa0e8194c2cc12660e92c4a517acb770e0b022442fbdff825e114a10219ffff03675455c87961335e637469d1861640a35dd7dbcb513925ce89668030684740c20396abc5b67cd0c3ff7e503a90b243d3f25f5ac7777b8c5e89977a1ba9a8d938f90306bf1fada113629d597a55a5985016c93a9a28b97dfadd9db19b7e9fa76629ea03c0b2cba1c1a46f3d55b0f3a15fb66585e5fc641ba0fa757484acf33aff75a28003ddd4722108bbcbbf05c379e98f3186c05b9526df1d36428310520846c2ab5729036e8574cd6412f2c1e94419f2b42f50327efefe72876150036140be158d0c080603811aae8d144de0a85be0a3f7af5a3658181cba91f46bd8e707ce29cc6dd8493a036212070ba815a983ad9ad787a46d504cd3cb4f5c66f2d2c787e326632f9c52ba034dddb0b556e908439107ccc6df5cb4adc51f5d4f90047382dfce518132953a0603628330031944e5442257b62578e6e1107cb265fbafc3b4b0291b7af2286feb2c036d3c558647d1ea960a89ecd4c4ffa9561603243aaedce8184aa4a13c0fef374103c83022eee05e189be743053bbcb7078003888b131d0f4bd4a56974528c2157340219ffff03b9bb97540114fff814bdd39ed193bae5764a51b24c5ee8503d60c775cbb6c2b6033500c9213518885477959f9c9bf73056b40d07b28de020c381c1f9e814f69698037aff849e99872ae49ac9b38529908e5d1192580ed5cd12a39bb91b29b626db5c03fcb8b53767dfceffd11dbcbc66508a60e30a9edaedbcebbfcde38901c4f54c57036315f878f0a1e3e388a284ce558cba9136d2bb747019dbf69f7e0ccafc53ef6e036f7775ec3c6a6da7a006efd578ed42ea6777c10373532f44cc88dce0fc3e7eac033b6317abbd2490cbba31f1079afa0d3d3d964d9ae83ed8fc78f021178d4558540321cca3210e7d4e45889f9819a2567c4b1b0b11b61fdde58af943cdc725aa3ce40347878c20ef72584654e34a2a5c5e62018873289ea109d2cd5308cac2eb564a1103a89144679b0ab790eae39a514e2f3883ab653b37afa8071fa9be6e1ea7667d0503e8371437aa14464dae65989ec907ad2c10ea70c2eee8788c1d8bbfeb8629c31c0394acc1f8dbd051abeccaa80930d84ca6666f6abc23ba31f766d782d1df1b48d7032d001622fa68971eb74b1d1cc4fdb6ef8855d29d1cedbeb6a20e1cbe32c61c7403bb8592e98295643216b20c25be9ed26b2336b5625e17345632ad25e8920c90850301f28610789276516701c1a866b4dfa180451d68024493a0b0751277f27009ec03d3ace08e283ebae0b6e3dafc3ddf40f7a5107585b0e3dabd55570a2c6351cde003fbf195e35c26ec49e9702c8250b70cbe5eb76f9ef3a6b14121cabf42905df2310376e652f2854c63cbc94a5d89afc3c25e7b12bc0e212df0143b16b1c90dab8ab903def399e8725d479d33c080597476339ebbacc17b9a8f1343f388845993a567bc03605db95390617605b1bd8f748f321ae66f900029fcff3eba818e10c675440c6903c60e884d541500b0331877de43a73b5f4c41bc26802a30cb35d20a3a5aa33b2903391cee10de3310fba86d6794e2e12b58aca52d446f621a24c42c0e0d804ffaa10337b4c4d4eb3dbc3dec33ced2a638abc30e33ced9773ca4d2189adb113e0bc6d1033c3a1a4cdeab3f85b41ed66943828078a07bcc1be6b00a8c6c87a2bc0c021cde03b9bb3b879615b1490321f98da35dc342ee0c96a64bfb3498d48e841e95f3fc080331610ef6e2740264549aa2b050ca0df2203f4b2335f1bdd9ac362ad4e157996403223e938df93d55283d8bd8e63280d596ceeba75aa70a2816c1f8c706c986aa7a03b299a6459520d6569aea9b10947d5e289136e52615b9194bab33abdbe49c274003695179278248322e732861f1c1517fee436f334e787dfc13f4f8bd4cc3925ba003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0321c3d8618473ef9830d27464f9304125d1a33cc0ee89ed9fe463ee7be007011bffffffffffffffff05581e03cbf9d20e574f526436c106bc8b5d898eae5ce330c042d2e9cba3f206c0040103e937d99e01e70fd140762f8ad5765f4ca4bc1d2786dcd21c0279e89f3b38b70a05581e0322e42ae63e3795db03eaec22a36b345317b3f6a8baba8bfd3c9af94570040105581e0314d105e95331bd5780a34a65449ba02c6e9e9294bbd64d5a67961931d00c02472f4301b36f4e0105581e03cc34b80dff106b88fdea713eb1becfc031ed82da6d2d282df69ca1ebc0040e05581e03f2023d27ea7156122ba3c1db465ee8fe894a52bf229f0df63f69f83f00040105581e033dde799942c2f55ee78d6437d082726b12a66e7869f1b7bacab83323a00c0147425be9dd8e521905581e03d909823dbf72db88ac4c8d92dad6e00baed1163b008f617cf4504710600c0346a8faec495249045936f4608060405234801561000f575f80fd5b506004361061014b575f3560e01c806370a08231116100c15780639ab24eb01161007a5780639ab24eb0146103e1578063a9059cbb14610411578063c3cda52014610441578063d505accf1461045d578063dd62ed3e14610479578063f1127ed8146104a95761014b565b806370a08231146102f15780637ecebe001461032157806384b0196e146103515780638e539e8c1461037557806391ddadf4146103a557806395d89b41146103c35761014b565b80633644e515116101135780633644e515146102095780633a46b1a8146102275780634bf5d7e914610257578063587cde1e146102755780635c19a95c146102a55780636fcfff45146102c15761014b565b806306fdde031461014f578063095ea7b31461016d57806318160ddd1461019d57806323b872dd146101bb578063313ce567146101eb575b5f80fd5b6101576104d9565b6040516101649190612a17565b60405180910390f35b61018760048036038101906101829190612ac8565b610569565b6040516101949190612b20565b60405180910390f35b6101a561058b565b6040516101b29190612b48565b60405180910390f35b6101d560048036038101906101d09190612b61565b610594565b6040516101e29190612b20565b60405180910390f35b6101f36105c2565b6040516102009190612bcc565b60405180910390f35b6102116105ca565b60405161021e9190612bfd565b60405180910390f35b610241600480360381019061023c9190612ac8565b6105d8565b60405161024e9190612b48565b60405180910390f35b61025f6106ae565b60405161026c9190612a17565b60405180910390f35b61028f600480360381019061028a9190612c16565b610742565b60405161029c9190612c50565b60405180910390f35b6102bf60048036038101906102ba9190612c16565b6107a7565b005b6102db60048036038101906102d69190612c16565b6107c0565b6040516102e89190612c87565b60405180910390f35b61030b60048036038101906103069190612c16565b6107d1565b6040516103189190612b48565b60405180910390f35b61033b60048036038101906103369190612c16565b610816565b6040516103489190612b48565b60405180910390f35b610359610827565b60405161036c9796959493929190612d91565b60405180910390f35b61038f600480360381019061038a9190612e13565b6108cc565b60405161039c9190612b48565b60405180910390f35b6103ad610966565b6040516103ba9190612e5e565b60405180910390f35b6103cb610974565b6040516103d89190612a17565b60405180910390f35b6103fb60048036038101906103f69190612c16565b610a04565b6040516104089190612b48565b60405180910390f35b61042b60048036038101906104269190612ac8565b610a6d565b6040516104389190612b20565b60405180910390f35b61045b60048036038101906104569190612ecb565b610a8f565b005b61047760048036038101906104729190612f54565b610b54565b005b610493600480360381019061048e9190612ff1565b610c99565b6040516104a09190612b48565b60405180910390f35b6104c360048036038101906104be9190613059565b610d1b565b6040516104d09190613107565b60405180910390f35b6060600380546104e89061314d565b80601f01602080910402602001604051908101604052809291908181526020018280546105149061314d565b801561055f5780601f106105365761010080835404028352916020019161055f565b820191905f5260205f20905b81548152906001019060200180831161054257829003601f168201915b5050505050905090565b5f80610573610d5f565b9050610580818585610d66565b600191505092915050565b5f600254905090565b5f8061059e610d5f565b90506105ab858285610d78565b6105b6858585610e0a565b60019150509392505050565b5f6012905090565b5f6105d3610efa565b905090565b5f806105e2610966565b90508065ffffffffffff1683106106325782816040517fecd3f81e00000000000000000000000000000000000000000000000000000000815260040161062992919061317d565b60405180910390fd5b61068961063e84610fb0565b60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061100990919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1691505092915050565b60606106b86110f6565b65ffffffffffff166106c8610966565b65ffffffffffff1614610707576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f6107b0610d5f565b90506107bc8183611105565b5050565b5f6107ca82611215565b9050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f6108208261126a565b9050919050565b5f6060805f805f606061083861127b565b6108406112b6565b46305f801b5f67ffffffffffffffff81111561085f5761085e6131a4565b5b60405190808252806020026020018201604052801561088d5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f806108d6610966565b90508065ffffffffffff1683106109265782816040517fecd3f81e00000000000000000000000000000000000000000000000000000000815260040161091d92919061317d565b60405180910390fd5b61094261093284610fb0565b600a61100990919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b5f61096f6110f6565b905090565b6060600480546109839061314d565b80601f01602080910402602001604051908101604052809291908181526020018280546109af9061314d565b80156109fa5780601f106109d1576101008083540402835291602001916109fa565b820191905f5260205f20905b8154815290600101906020018083116109dd57829003601f168201915b5050505050905090565b5f610a4a60095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206112f1565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b5f80610a77610d5f565b9050610a84818585610e0a565b600191505092915050565b83421115610ad457836040517f4683af0e000000000000000000000000000000000000000000000000000000008152600401610acb9190612b48565b60405180910390fd5b5f610b35610b2d7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610b1294939291906131d1565b60405160208183030381529060405280519060200120611353565b85858561136c565b9050610b41818761139a565b610b4b8188611105565b50505050505050565b83421115610b9957836040517f62791302000000000000000000000000000000000000000000000000000000008152600401610b909190612b48565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610bc78c6113f1565b89604051602001610bdd96959493929190613214565b6040516020818303038152906040528051906020012090505f610bff82611353565b90505f610c0e8287878761136c565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c8257808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610c79929190613273565b60405180910390fd5b610c8d8a8a8a610d66565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d2361296b565b610d2d8383611444565b905092915050565b5f8183610d4291906132c7565b905092915050565b5f8183610d579190613314565b905092915050565b5f33905090565b610d7383838360016114a3565b505050565b5f610d838484610c99565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e045781811015610df5578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610dec93929190613361565b60405180910390fd5b610e0384848484035f6114a3565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e7a575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610e719190612c50565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610eea575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610ee19190612c50565b60405180910390fd5b610ef5838383611672565b505050565b5f7f0000000000000000000000003b50805453023a91a8bf641e279401a0b23fa6f973ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610f7557507f000000000000000000000000000000000000000000000000000000000000000146145b15610fa2577f4cde95c8d9f8c105f529b0759b37567f6477b15eb9d27c405cd8f198f744aade9050610fad565b610faa611682565b90505b90565b5f65ffffffffffff8016821115611001576030826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401610ff89291906133d8565b60405180910390fd5b819050919050565b5f80835f018054905090505f80829050600583111561108a575f61102c84611717565b8461103791906133ff565b9050611045875f018261180d565b5f015f9054906101000a900465ffffffffffff1665ffffffffffff168665ffffffffffff16101561107857809150611088565b6001816110859190613432565b92505b505b5f611099875f0187858561181f565b90505f81146110e8576110ba875f016001836110b591906133ff565b61180d565b5f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff166110ea565b5f5b94505050505092915050565b5f61110043610fb0565b905090565b5f61110f83610742565b90508160085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611210818361120b86611894565b6118a5565b505050565b5f61126361125e60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611b15565b611b24565b9050919050565b5f61127482611b7b565b9050919050565b60606112b160057f52656e7a6f000000000000000000000000000000000000000000000000000005611bc190919063ffffffff16565b905090565b60606112ec60067f3100000000000000000000000000000000000000000000000000000000000001611bc190919063ffffffff16565b905090565b5f80825f018054905090505f81146113495761131b835f0160018361131691906133ff565b61180d565b5f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1661134b565b5f5b915050919050565b5f61136561135f610efa565b83611c6e565b9050919050565b5f805f8061137c88888888611cae565b92509250925061138c8282611d95565b829350505050949350505050565b5f6113a4836113f1565b90508082146113ec5782816040517f752d88c00000000000000000000000000000000000000000000000000000000081526004016113e3929190613465565b60405180910390fd5b505050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b61144c61296b565b61149b8260095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611ef790919063ffffffff16565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611513575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161150a9190612c50565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611583575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040161157a9190612c50565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801561166c578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516116639190612b48565b60405180910390a35b50505050565b61167d838383611fc6565b505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f2a7f7c8e85ea4f689056fac54bfa0e8c82ac1878e4eaa8a7a19fc050425e70eb7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016116fc95949392919061348c565b60405160208183030381529060405280519060200120905090565b5f808203611727575f9050611808565b5f600161173384612074565b901c6001901b9050600181848161174d5761174c6134dd565b5b048201901c90506001818481611766576117656134dd565b5b048201901c9050600181848161177f5761177e6134dd565b5b048201901c90506001818481611798576117976134dd565b5b048201901c905060018184816117b1576117b06134dd565b5b048201901c905060018184816117ca576117c96134dd565b5b048201901c905060018184816117e3576117e26134dd565b5b048201901c9050611804818285816117fe576117fd6134dd565b5b0461214b565b9150505b919050565b5f825f528160205f2001905092915050565b5f5b81831015611889575f6118348484612163565b90508465ffffffffffff16611849878361180d565b5f015f9054906101000a900465ffffffffffff1665ffffffffffff16111561187357809250611883565b6001816118809190613432565b93505b50611821565b819050949350505050565b5f61189e826107d1565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118e057505f81115b15611b10575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146119fa575f8061196b60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20610d4a61196686612188565b6121f5565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516119ef92919061350a565b60405180910390a250505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611b0f575f80611a8060095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20610d35611a7b86612188565b6121f5565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611b0492919061350a565b60405180910390a250505b5b505050565b5f815f01805490509050919050565b5f63ffffffff8016821115611b73576020826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401611b6a92919061356a565b60405180910390fd5b819050919050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b606060ff5f1b8314611bdd57611bd683612234565b9050611c68565b818054611be99061314d565b80601f0160208091040260200160405190810160405280929190818152602001828054611c159061314d565b8015611c605780601f10611c3757610100808354040283529160200191611c60565b820191905f5260205f20905b815481529060010190602001808311611c4357829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115611cea575f600385925092509250611d8b565b5f6001888888886040515f8152602001604052604051611d0d9493929190613591565b6020604051602081039080840390855afa158015611d2d573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d7e575f60015f801b93509350935050611d8b565b805f805f1b935093509350505b9450945094915050565b5f6003811115611da857611da76135d4565b5b826003811115611dbb57611dba6135d4565b5b0315611ef35760016003811115611dd557611dd46135d4565b5b826003811115611de857611de76135d4565b5b03611e1f576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60026003811115611e3357611e326135d4565b5b826003811115611e4657611e456135d4565b5b03611e8a57805f1c6040517ffce698f7000000000000000000000000000000000000000000000000000000008152600401611e819190612b48565b60405180910390fd5b600380811115611e9d57611e9c6135d4565b5b826003811115611eb057611eaf6135d4565b5b03611ef257806040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600401611ee99190612bfd565b60405180910390fd5b5b5050565b611eff61296b565b825f018263ffffffff1681548110611f1a57611f19613601565b5b905f5260205f20016040518060400160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b611fd18383836122a6565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612064575f61200d61058b565b90505f6120186124bf565b9050808211156120615781816040517f1cb15d2600000000000000000000000000000000000000000000000000000000815260040161205892919061350a565b60405180910390fd5b50505b61206f8383836124e2565b505050565b5f805f90505f608084901c111561209357608083901c92506080810190505b5f604084901c11156120ad57604083901c92506040810190505b5f602084901c11156120c757602083901c92506020810190505b5f601084901c11156120e157601083901c92506010810190505b5f600884901c11156120fb57600883901c92506008810190505b5f600484901c111561211557600483901c92506004810190505b5f600284901c111561212f57600283901c92506002810190505b5f600184901c1115612142576001810190505b80915050919050565b5f818310612159578161215b565b825b905092915050565b5f6002828418612173919061362e565b8284166121809190613432565b905092915050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156121ed5760d0826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016121e4929190613697565b60405180910390fd5b819050919050565b5f80612228612202610966565b61221861220e886112f1565b868863ffffffff16565b8761259a9092919063ffffffff16565b91509150935093915050565b60605f612240836125b5565b90505f602067ffffffffffffffff81111561225e5761225d6131a4565b5b6040519080825280601f01601f1916602001820160405280156122905781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036122f6578060025f8282546122ea9190613432565b925050819055506123c4565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561237f578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161237693929190613361565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361240b578060025f8282540392505081905550612455565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124b29190612b48565b60405180910390a3505050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361252e5761252b600a610d3561252684612188565b6121f5565b50505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361257a57612577600a610d4a61257284612188565b6121f5565b50505b61259561258684610742565b61258f84610742565b836118a5565b505050565b5f806125a9855f018585612603565b91509150935093915050565b5f8060ff835f1c169050601f8111156125fa576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f805f858054905090505f811115612883575f61262c8760018461262791906133ff565b61180d565b6040518060400160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508565ffffffffffff16815f015165ffffffffffff161115612717576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8565ffffffffffff16815f015165ffffffffffff160361279957846127488860018561274391906133ff565b61180d565b5f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612872565b8660405180604001604052808865ffffffffffff1681526020018779ffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506020820151815f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050612963565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506020820151815f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505f8492509250505b935093915050565b60405180604001604052805f65ffffffffffff1681526020015f79ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6129e9826129a7565b6129f381856129b1565b9350612a038185602086016129c1565b612a0c816129cf565b840191505092915050565b5f6020820190508181035f830152612a2f81846129df565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612a6482612a3b565b9050919050565b612a7481612a5a565b8114612a7e575f80fd5b50565b5f81359050612a8f81612a6b565b92915050565b5f819050919050565b612aa781612a95565b8114612ab1575f80fd5b50565b5f81359050612ac281612a9e565b92915050565b5f8060408385031215612ade57612add612a37565b5b5f612aeb85828601612a81565b9250506020612afc85828601612ab4565b9150509250929050565b5f8115159050919050565b612b1a81612b06565b82525050565b5f602082019050612b335f830184612b11565b92915050565b612b4281612a95565b82525050565b5f602082019050612b5b5f830184612b39565b92915050565b5f805f60608486031215612b7857612b77612a37565b5b5f612b8586828701612a81565b9350506020612b9686828701612a81565b9250506040612ba786828701612ab4565b9150509250925092565b5f60ff82169050919050565b612bc681612bb1565b82525050565b5f602082019050612bdf5f830184612bbd565b92915050565b5f819050919050565b612bf781612be5565b82525050565b5f602082019050612c105f830184612bee565b92915050565b5f60208284031215612c2b57612c2a612a37565b5b5f612c3884828501612a81565b91505092915050565b612c4a81612a5a565b82525050565b5f602082019050612c635f830184612c41565b92915050565b5f63ffffffff82169050919050565b612c8181612c69565b82525050565b5f602082019050612c9a5f830184612c78565b92915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b612cd481612ca0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612d0c81612a95565b82525050565b5f612d1d8383612d03565b60208301905092915050565b5f602082019050919050565b5f612d3f82612cda565b612d498185612ce4565b9350612d5483612cf4565b805f5b83811015612d84578151612d6b8882612d12565b9750612d7683612d29565b925050600181019050612d57565b5085935050505092915050565b5f60e082019050612da45f83018a612ccb565b8181036020830152612db681896129df565b90508181036040830152612dca81886129df565b9050612dd96060830187612b39565b612de66080830186612c41565b612df360a0830185612bee565b81810360c0830152612e058184612d35565b905098975050505050505050565b5f60208284031215612e2857612e27612a37565b5b5f612e3584828501612ab4565b91505092915050565b5f65ffffffffffff82169050919050565b612e5881612e3e565b82525050565b5f602082019050612e715f830184612e4f565b92915050565b612e8081612bb1565b8114612e8a575f80fd5b50565b5f81359050612e9b81612e77565b92915050565b612eaa81612be5565b8114612eb4575f80fd5b50565b5f81359050612ec581612ea1565b92915050565b5f805f805f8060c08789031215612ee557612ee4612a37565b5b5f612ef289828a01612a81565b9650506020612f0389828a01612ab4565b9550506040612f1489828a01612ab4565b9450506060612f2589828a01612e8d565b9350506080612f3689828a01612eb7565b92505060a0612f4789828a01612eb7565b9150509295509295509295565b5f805f805f805f60e0888a031215612f6f57612f6e612a37565b5b5f612f7c8a828b01612a81565b9750506020612f8d8a828b01612a81565b9650506040612f9e8a828b01612ab4565b9550506060612faf8a828b01612ab4565b9450506080612fc08a828b01612e8d565b93505060a0612fd18a828b01612eb7565b92505060c0612fe28a828b01612eb7565b91505092959891949750929550565b5f806040838503121561300757613006612a37565b5b5f61301485828601612a81565b925050602061302585828601612a81565b9150509250929050565b61303881612c69565b8114613042575f80fd5b50565b5f813590506130538161302f565b92915050565b5f806040838503121561306f5761306e612a37565b5b5f61307c85828601612a81565b925050602061308d85828601613045565b9150509250929050565b6130a081612e3e565b82525050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6130d4816130a6565b82525050565b604082015f8201516130ee5f850182613097565b50602082015161310160208501826130cb565b50505050565b5f60408201905061311a5f8301846130da565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061316457607f821691505b60208210810361317757613176613120565b5b50919050565b5f6040820190506131905f830185612b39565b61319d6020830184612e4f565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6080820190506131e45f830187612bee565b6131f16020830186612c41565b6131fe6040830185612b39565b61320b6060830184612b39565b95945050505050565b5f60c0820190506132275f830189612bee565b6132346020830188612c41565b6132416040830187612c41565b61324e6060830186612b39565b61325b6080830185612b39565b61326860a0830184612b39565b979650505050505050565b5f6040820190506132865f830185612c41565b6132936020830184612c41565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6132d1826130a6565b91506132dc836130a6565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff81111561330e5761330d61329a565b5b92915050565b5f61331e826130a6565b9150613329836130a6565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff81111561335b5761335a61329a565b5b92915050565b5f6060820190506133745f830186612c41565b6133816020830185612b39565b61338e6040830184612b39565b949350505050565b5f819050919050565b5f819050919050565b5f6133c26133bd6133b884613396565b61339f565b612bb1565b9050919050565b6133d2816133a8565b82525050565b5f6040820190506133eb5f8301856133c9565b6133f86020830184612b39565b9392505050565b5f61340982612a95565b915061341483612a95565b925082820390508181111561342c5761342b61329a565b5b92915050565b5f61343c82612a95565b915061344783612a95565b925082820190508082111561345f5761345e61329a565b5b92915050565b5f6040820190506134785f830185612c41565b6134856020830184612b39565b9392505050565b5f60a08201905061349f5f830188612bee565b6134ac6020830187612bee565b6134b96040830186612bee565b6134c66060830185612b39565b6134d36080830184612c41565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f60408201905061351d5f830185612b39565b61352a6020830184612b39565b9392505050565b5f819050919050565b5f61355461354f61354a84613531565b61339f565b612bb1565b9050919050565b6135648161353a565b82525050565b5f60408201905061357d5f83018561355b565b61358a6020830184612b39565b9392505050565b5f6080820190506135a45f830187612bee565b6135b16020830186612bbd565b6135be6040830185612bee565b6135cb6060830184612bee565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61363882612a95565b915061364383612a95565b925082613653576136526134dd565b5b828204905092915050565b5f819050919050565b5f61368161367c6136778461365e565b61339f565b612bb1565b9050919050565b61369181613667565b82525050565b5f6040820190506136aa5f830185613688565b6136b76020830184612b39565b939250505056fea2646970667358221220bf246cd17d7eec2843c7037f1def146a2dfd39ce74d0610fa0e1e646d3a4b97264736f6c6343000819003303edbc19cd5102860d3a5942bbf981774bd1f448c1230f482d4e9703fdb431e1290300be90c25bf03e38e6e8c98dce7b6d8b6d25baf383570052da3a40d914bd125403f9daf6fca33e4f9b1c1cbd15a4754124ccab296bdcab62a1819c2617e8b4f50403bc4569422cd951e2ce406f140956ccc7046f2fd3cc1264d72b9aed90c23fdf760302b391958a48d74f8d9996ae4b97becc270cb3adb647ed6f40378ed8a9d93186037c5ed89313a43442a128bf7e23cdfc65eaef2411779cd673ac9fc83bbed1be210389b7b05328bb59866be53aff971d62f89206543268197940476344fc19d086280334e4fb2e33110b7eadf46a05f1cfe46694968e7d7763d087c74056e498987a0d03a333f209958e93b8898cb9b97d19184d998ff74bcf1fd1f2d2d92f8d26faaddf03e41a61e1a439b6c0f3a95d40aeb03d9e125d259a74c059dde9b402300b71f66503e5098bfff25df9d594aa25692c7db0fc14984069f64645ad218bafe110ab9a1303cfb25b84dadd73af3a3e3b4c6a165052f8c290d07ab96dfb671dc25639176ddf030f7ae22c118ced9374aedc5038c1233d0ea39995360bcefcf2cf733e853ba84b03f0ed757bd1024dac5941875f20cc13c5a3ef73536010a088244ccc45680093fa034d74184e209ce3a8aa0cdbc8388457ca60073b6676a248d6209620d6112a40f000581f0298e9efbd0523daae3c9a2d658b97b72b44f6c59ce53dade23a36441c23a1490882d00c2da854000003c3b356283e538da46767d73c85d7ecb41e3f71fae9dbce00e19ec6e7b0bce8eb00581f02bcd1b18c4b94c055a378033efda7176eb48882c81bb26496c25b49760c1d4916fc2e998d3da0000000581f0289c1bb67be38ffb1ff41ef3408f9bf72b561c23ee0aa102f85fe644ff33d4924c123dfcd52d8000000581f02d5684d8a4d0387a78cd71df276c27961e90f919de499584ff9a4a10d91444910c03c86d90bb40000021950c203679e46e42cc44622dff7e122cff517cbfe5f42569abd4ca7ffc9bed948be2d30039fc6000254a6158a564bb3e9fe2e6fd63a83d0d93aa4226afb1ffe78638b70150219ffff03e7da6d364f3ab18fe1241322938547dd2acd74a897b2586a57bd986c134f334f03086a33351bddf065bb90e8f1b3e1dad65e6ecbdb96d5b1806fc9c5ed1241a9eb03d1a2806ae54900f073e3e0d6c8b1f323a0411a8ece6b2fb332d01fe74fda660d039cab52f252889969709883e4595f8020fd6a8b0e3fe3ddd56816ff4c09b2fc180345acae41e1332ff81db4888065d0507b440906117d7bac606b4a25ff76da9d6503f9c33a637263e74c9047ea529cb4dfa3df02ce4270deb4f6653300b31ce5fc2103e67528a31dc210f3e49fd630120ad07e74458c0e58c8554b292716305751d1840303995f89d60e1161e1cd3266fe788c474de906c4b008661ba628e26b6ccfaff803b0c7e67a41b2c118b4966e8ce2b850a5d7da4236d612c17a822112c12c62535e0303093e696dd8d7e755d7072708e73099f9ef8d7a9f6e7e36a4169d10363be0e8039d6f089ff4ae02581aa5453df337fac57d0ea524af5c7cf0cc29c4acb8c47dd8033a77aba6b170767b12e2bccc77abc9a77ffedf4ed9ee6c4555d11e21452826e803f96b3f1216ce7a32ac1825aaf96afaaa4dbc28bc19c5214a05d0420ce3aa04ae0219ffff03f411900c0f4bd5a4b8dc7ebdb53a82b800fa89d0f9b4af330d1098372f222c1103ce88523e0695d2ab5fee87f14dc920946b09aa38ceb0d6dd1dd935776fda938603b299e5395c5182f32819bef9b67f4f2987e36810e3f8ebd4026c4cf613e9927703aac0a892d76bacac7f3b589ddd301ccdc2a02bca28f399a66fe8e9136c7eb25003384fbd90ea32c54e7b16d21d36c4c209461db381f9171ca23b74796a92e8517203f25c08f105f1379f9f50c70a9f120d69fbfb78d069a556b2c3885f10ca830284036fa61411581c6635fe887b7925be5ab416994f4d16ff143db5174b8e59809b940375b5287571dd9671b8a34552da5f16f5281cd1a5fa1b082f249c98e059bf592b037b792a81fbf4155ee4946422883ecfb962b9f6500e0ac7db6ae450f76c2973b80312822c49bbdf53c291e72063e823bbd696e3b328351ba13706dc09d4882cfd7b031a4ce01944ce1298f4ffc65dafee819c4e8f359c5f39dd4c9ed6152733932c230323df179529191bb9c5e73cda4f6fad01f02c4f9c9bc4202564e772669d890dd503e8f3685de4b22acedaa8185c244332048153566c666dbfe35d7744a138f167e900581f02300592174b19c0529743b91147fa3d0529fee431caf10f1edb48d2981b3b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032ac7dbd54850b67335bdbaa31f95d7011b72766ee14dbb5597fb54e418983c5b00581f028c382e19ee7e0b0091772801e7e9837ce3ef1673df9eb94ad9c7cc62ad664a0269e20dd22dc0110000034932ef41156c2ecec4ec6a854168890325e902dc7fbc0da371e70d4bbf80c31a02199210034bd60d523a16d64c8d54a273f2f964c6bdd066b5d9e2cc1170461f185a01fbe803029a2965345025d00cd9a134352976df2a5800d60802db0ec75c6851472e97b303a7f4c7567b8e40f00a8eba78009d8115f50a99adf0d24bb733b41338d93cd78a03355100119fd41439ab0ed4ac87c36ca2be996180b653df3985dfa359453fd0ad0316e6ef5a3c4314ff4343d4d53f61acffbb83a47eb700f67a6a9a3761137625af032a5c5e2f7d0481debd10fcacb1a1b8ad4c5ab76779a2df84d4232d8f6296ccd20363490c231cafe1a86cc755d409b3d253651a5cefb457a77490973d0115f01e59035bfc2d578fd05a0bb270029c26f6e1d82d046d8817248f591cad86d88ca0405e03714f07ff3cd4b51cd424f017d5fa64339a93bb84ce647e69331952306eb91a2803b52dd4aa2cc16094aca79cfda74a8da3152dfe957664a1fcd4a1d94496bb934f0369d4b9097281774ac4d94d12ed8ad9c72256df660272339a664a93f49d7afae5034f9ca0dca1e32f28e64c015af054c6c0319588994948879b53d9daea09a3679a0219ffff038b72e42aaa5957cf2dc4e5bcdfa733be54ce2a43618edbb180153db9bd4f816f0301a18dc96bae1dfb6bd640b1776f82ced42eff2037b2948baebed567befadbb30338cbcc4c404488f06bb98f234ac6a51d766af4fcada68a68ad81a8cb5e6c050e03d5ea12442f866212a41bf0014db2a445b8112d584be9679907b684600df135ed03a91a800bc1e6e04f66c05498bf75fa7f1aa796bfb740151b42dd38a1f0dfd58d03d11858b9d826543cd6f760a9d2bf83b6d65c2c695994d03d99c998d279b557ae0219ffff030ad508ec9859504c5cc2d0b7b0de091d3228af255a6a7a3b4ca26e7cca8ac1b4038a017301529efd100408c38ed00edd19c183620a37bcce4c88aec274c111ad3b03b585490449f531d5b5ef4372827f27d58a5edf01903aa10435d325e5159b88ab031e43c172ceb7fce31b28932510bc0118b2154c509f5db28bc74c4662552dd07d03e5a2bb23f26ebdc3fdc1d4afbe98c7eb5ba5ab4351df3a83b0c64fb1eb6dec25039a16399426557c76c5199b2227c7516f4710e743e24cee9409d11a6fe6b4fa0e037e741a10736a57928bb5e12f6dd4715847a72ebbc125deadfed06235bf7bf0440367491e18056e7e2af4f9db9128770fbfce2224f6c1e6739e5c66cce239bc992500581f029ea617ca232599fe6a6ebac22dd7624a4152437f14bbb8e71a1937b3c25f490ba7b970e194fc000000581f02ddfa2016f54e6db863950f1937a1963058c9e75e9a3c948b4454568d8e3f49249781bbb25cac000000581f021bab6bc63ff5ea25af81d87013b61fc41ade1fb6b20a95afe1fef6729185492a6d08c7806436000000581f0203ae9cfc9d88fa29cc45023f8d90860497b9384f11bc6c65b92aaf10b9884930a0602b7d8564000000581f02f3f5463647d666c100d4fccd435227b6fca40fd6fad1af6efc473b7104a34919b21248a3ef2800000219b50003f90659a5b45115d9b271f149e24c41a2df1ea53c5ba1dccc5889ca335158af34039d08a97dd29540998b78ff59727e41492c8ee0820e5e68e6c32c3f0a4128ab8203829baa22542e441b83e142c29c7e4eb0da5c73863c87d458b10bc3c36b7a818e036a8f6b354d4711d1070d31892420ec19d5e9032ede76ff93181e8437ab419a46038f919d3eba279aa3b805c7928d5c3fd687061714f26bb898e97a41a7a5df3b2d03e931703fbd0136449d866ebd3e0fc20025e00bea7d8e158bac0f1b945d8f4dd203ae12d90b92ab4de1a24dfd132eca7121da931ee2addeda9a133e9d32edc2637b0371eecfc77f7a5110cd136cea3035c52bc4998337bcef0389c64860049cf1b43103e923f5485fbd0cfe5496944d85700172cbc266a03a7fdcfdf482cf3578dc0d89036ec13be30bd6a7232fdb1561a88e48843b5bd2575f5f0c874f0a629d2e004ee7037a9df9dd4d7fca75b136f97008677a0d91581b9fac6752e8890f1537e16f618f03f43c3e27dda168364dd23b249b43a8fb0e4c3ee49a88fef6a88049fda67192500219ffff03112f57e66e7fc80296969c09f17c7dc5133c2f6ba95784ed620f866f3299ab4903be5d5971d9177a5138c18ce84abf7f260d042cdb333a1680d9781ebb16798dfb03f34f6ffa0abeb0f5674e1260fb9af15ae3e014d1381c0d0551df1e95b4f49c1d03650cc255bc3ed96eeacf72b21f79159bcb4d409c3d15b174d8de598067da3869031655ad3041a2f75b3c2a823e348e3755987729736e86937a0b5b9b2c01a386f803a9444b876c65d39a889ab38221409062b20b0686480b71245a08a5c97392b66f0340c3fe00c901b1490f8125ebd004a1453caed2c7242a2895607a744c8673fe9a036bf8d73ba230ffbe4ce458bea5ff4cfd043a08f9259c93802a7d71971a7fc65b0321af91ba1b0b3b11adab31c4f4254cdf9e4e4328f77d7cb356b0fc56029a6cf00393193da790c788c6a974f9a2ce671564099330896b1af53273013ff24a6515dc03934e1f1412e002b858cde9a89159590d32500cafb2a8bf5cfeadea5f0206257b03eb61f1eacfba4c39c123a7925aaffcc7af78d039e8a3b6ac92d85d4a82e481c20339bc3bd37d583a8718cdb1bba4a04e338b0d11ea8ad0351e1bc393794101f5d703513eca066f098c4aea2e7b35aa8083068fe21c62b4c7b798497f652b364260d403cf0c8c3ae08a4d816b4e635c70fef3563977cfd1720f6e09b337229545d82dcf00581f0229be4503cc2243609093ec501e2d6db2628498ad53c3d4a692fa0de78ecb4924287c0615218c0000033b12534e196ff57438f39dd19f8e5ef6101339030418818260f64d045bf5212500581f02ad561865e6fea3605b5a7478a2a24aefc45e9739d13e03cff08a07d3a70d49133e9d5b211fac000000581f02a695bc12d742c9ae9404c40a9413ad768d9967b282b2b9988ccc8051c0335820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020063abbe64a001536ed50d2a92ee89688b4060d115a57585bda48141dd3e492d28327e93ac64000000581f0255c89302f37652d1093f971d4ce96830aedc67db868392d718fb804a2ce6490af35029c214e8000000581f024422e124bb3c30ccd22b6eb73a5a765cb750a877edddb7797b58ce4bedd34be2d922b0ada47f15d4000000581f022eb48eacb28fd4d892c051195cae94bf00f2d901de81e9f83f20c38cfb2749980f31de791ab40000021979940347a875c1dd6cd321238f009d2fde0fd73bc4561dba187d946986696a0b3c616d0219ffff035dfb34677c66d145fa068a6d7a7827ef9a959a459caf44d440c5a9f95fbd495803c9b969ba2188d91960f81ef46ffa47d2937e115385a98631b202d72508c68ab9038bd59aa1b218c8e9a2fe757baf859b7ca8934e90991bc6f15b9190e63ace82d303a7588e34e2af9994fee20e249b9520567122841d2a56467bd69e2f432dcf95b1032166ce98abec39e522e399f01c279bf8f25686b530bac93373c62a38e892aada03347e3ac87553d038b876bb3e9356bb697abbc1497fd8157e26781825241aee3e0396317b4a5c392a4fa0949ff3933e41b6e8d1cddb1ed619241c04dcaf7813e4140378188193dfa3a86480a4bf40894d2b042da13875b00f75d98d092bc9df36cc8a0219ffff03addc0ac831011bffe2105d7ff2f757edb951860a6b6fcf96f84aa9372f17c911031aa363d7c061d15db745dff6e7efbf6ab468b0ce55f0790e56194d2c29e07130038143d85656d037319e9975f221a4ff73fbd7d2a5fe42300308a1b657b1d8f1ae039de77e19a5e90a0f1be7cd0d503a554589923aa2dde8e09c1f899cd8d32f9f0703558488a1aeeb31253c1cf133f6a36de4943148c8b525b3b5c1a036d86d1ac79003101e394070f193724dbb22bb603cfc17d2bd960d204e81bbc36efde6c387d8fb030fde7fd4da7cd3557051da7f19424e4842099de7e12b8c6628c5826487a1ad3c030c5d91415d17fc8d4f59e14d40e4e6e51c4b9804fc95578f7b5e8183ae5fc05b03e790f23048f1ee4e297c71bceb94a3a381aadaa14ea75d37b96287ef50bda6a903ded2fbd0c945d4049db592c8f2762e4aa934c1a0b111a6513beccbdaf5eaeb5c030b223b1263e29c0c1d89339f3a09277c87bc4f8074aa9c870f0dacc5b107de3b03712d86a44764954c46753b86e0b5041706d98b364499548934d1346b9ecc8949039c29cacf010439314b4d9f7ba284400e5e82924ef42d03ecec32e9137b241e52033af387273b717e81f95ea8e38f77b4456701e4ba13fe0863e5670959994d306f03c8187862931237dd2d600cecde73738000f400c5b16e3674630f0bfe35cc769e0302db15a6c35577a3d74b8358f21a5cefe7e41881a48238bd67901b251c7edb9f03df4f9bae0fa29ecaa05d516759b3b9585d9c13cc84e46b3006da7001c4c00e75030bc3466a0d6e59a73a15bc5cfeb16b43f06db8cd8397f45fc3021eba2365555a03f994e5aed67abcc583056704f2d30d5df78c0aa5a9de5c09ef2c1828891dd3c703d8bd7f2217a6f6e23c08bb19edee78cf65eaa28db6aebd0ad23964cd9f00d837038a5772b95674f2f73b683ad198e45cf7b7d5e8261dbeaedcdb2fd214d5a2d4b403ce1812c0e3e66ca9fed7e42977df4a4e91dae5d10a3cd016b660ae5f4d66f3e303d75a3f698ec02c9b257bbaedf3d48e85ccfff0a31ddc3ba532cb4e260bdac93300581f0203535abd01a0be8bc074e3853701088cdb5275847568cbbd5c3bfab0b3f749ff1cde928b1c48000000581f025b1f66848c9b168dac84918e96d5924c286e305aaf88d189bd7a3068c4c35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c4f5d4e95e0b79a870bbae3daf5278d6b2079e87cab4865213727276639a4b045fa898a98cc19dba3faf00581f027b5a29f35e5d4d3576f6d3c2da0804dea6a3db6bad121993c8224c09180f4967f998d6001f38000000581f02b2372bf12d7e76bda5c236dd2a3682ca050d630de411606b6d911bc04dcd4925836ddda07a500000021941260219ffff03590205b541f1fcd95dee9de8205f7b63a68258f5f688c34049660e0d495e5888034f6a972573959c3c55e05c1bac05aacd8c8980f40194c5db47dad20d83dca3a8038bbb08242a8c2345480d38950511b879105e5daf94929d2d0552d41be56853ba03391806d23418a140172d25c4f9961c9f30f558512eeaff0916a1a712fffd856603fecf257442d8ea1c1ca6e8bc38107346b6206a1e96b7b8320daf0a8ae7c5e48f0330010b570a48e0d7338261bb9ed67277d83ede7d6b7fa95b91016d2e2f71646003b3d841ed9e15fbdfc5a6cc349e79acbd62f4406dd24d9da04d6784b44e9089910219ffff03bcc3c6018e5cee1d591a5824475eb5a2bab7aa8e4dbc954c2882bd66ce4dbb4803e1357199f6075df15909dc4d48c197ad536e0e9d292178c2db6f2b31889d9135036629016678032727f234442cbb2de318b6725f75d0175967453166af4b59bfd803e5460a516a59020215d9a317f4e885eb1c206fe36144ebe45d61a7a6d21772f500581f02d198b9760f655d7dc53f585b9ba4e5475c246bb6f11ac1351b693375f5fb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ca4b74c4fda6b5f99f4d52b649b3f8866fc008ca225a06078150d1d74cc3491988702488f8fc0000032f96ca06d1aacf087e929cac52faae92c1b378e9e37a41568394d847ed4f314700581f0268b2968d076021d3613b5b056488f65a913fe1582ae9d97e744c37d8af134919e99523728cb8000000581f02e38cab2e32fb8c0daaae4c80e13a365b79b2425cfaff16e8c2c436b6b1624a168d97e9a59fbb20000003dd9893b0af7449aea308683f87fa9fa293a3c640b01bb2fa5fd0c6365a0010980219c956030fb8fa8fdcc299581ca78cd3027c30e8419346d3b8a2b088a676b360911ee49c03d769e8d7915f876bae8b4553df3b6acf7e3250a9b0d6bba68e03a51ffa8346a903be668cb9e3a8b85f06efc482348d917fbbb1ee102559f9e802c78872ff7423880379cd95895e63fa0bd61efff925e1b3c8bca2a8086b8374e98b77c0e5e322c70503b37143e2c106b42fc5b6b5e59e96918bc8dee4054744ff3ae7a752e7ffa24c12035a9c5139078dc5f10ea2710630f44c7b6aab571ded856b6015151c21423fb253035a9654692253e30b8bb4477f7e084caccdd6e18889dd790589691a8b5e8246160382af527fe27c0bb8cd39db90def91353ef6e8c369e178367b02f78955a416f8f03cf0b17a505987ecc75a9595e7355d7005dff20b2cd435e64ed8edadc5d6cf8a1035ae9fa5af8f51756ac9f4cbb6663f7e154efe813f70480bded3c8ed810b23d570341d30514a14a1f171e21a4801943fa520c088e22b84bb11c386be923ae4d6c7903842e0d26954e1fd1c6c12dd815ef566426b1f46135d65b4259958be003a2506003ebde7056b2f15afaa4900e19087d24d1c86ae7cc4e0f355453aa54f5699ce5b703a67788f0dd5c6b6da24eb682e931289af8ebd03c665665ba5fbb9375a8a522c80219ffff03d90760fd91050a15ba5424eb9dd10cf96f8acc73d68eaa389d77ab1630cbe7dc034352e4c4b36109adfc9c14aa711f831c462de9cb7eae4a4d29ae755fe5fde8ae030ce04c98f8a210c1defe53d9040a5d5368e0731c0018e977e5d12010216518fe03bd2c9db577e526db0d90cdcebbaaa61a616deb861206e5dd5511a50aff745177034b40d10b416e4519214982ba03682ea7ec7c9ab82af15d1ffadf060b20014f21034ebfa7a2c0a3a5afb08c39645b26b52b7a2ba166f1806863e5a70f2497af81aa03d6a0d467d1802310e3456eb3ce27072c5a35267d39fc75664f29d9f508989aeb037b76ecfc7c2e3146b0402d64a17caed2464eab6713a06ff572a6f2c8ddb6dac703c334fc222b2e6ea471c8fb8ec3aa582728405006cb0f3283f92a018bc532620203f9639197dbdcce27d0fc61dc675177717645cfb0a89cd2cab409beca37450f380357c98559d1f8ac7fe5dc37d9d394cb511e6426653909d599644e383124e5c4240367cfaec78cac60e087125eed32640d3a69dcdf695bf78cfd336ee681bf7401e50325d7690a864c12c899bda4a123d3b5cc6ffdb51fbd465f0ce74d49649c74a23403ccfad3f654fbb3d666553f79872dd8eb4aeaa4d2cf86708779321d6f990c8711038193566f20b74995891780a503bc10a6eb2351d5684f7845f85ec2b517171c7203ac75f608a5635c98d4b5ed114b3589f4d21ca596d8c76435004d6474ffdeb7ca030935ec40de2a470ad6faba2c3514c39cd85ef5e5e0bad188f6b516ff88cff46803b8552c0c5a5dfa2823c1ac5d8a62847533a93c50a2b61a0d89b5a8b50ae2d4b30341be2bf7255b40d01cedc92fd92575aac2419adb40e192bbb6fe7c44b3d503a3032bfca3ca658f96243c640403f5d80d46c1e1b4fa50f0da7f36363bde10fa2591030c7cf35374152e01564f6564d73b428a826484eefbbaf5781fffed05e54e476703d269b83d2cbf40a00e6ea32ac6c0f0d41131c47bba0f2325c26355088204d6fe00581f02d9abf34a8c527d6cffd0916900d1bca1ce69b3ed85d1aa1a9549ad67a1f4491671677688b3b8000000581f02f1bc08c7fd4f38dd94d4b54c0174173a3cd43159745346ec3636a85f6b8a4908670e9ec6598c0000030a13b6c975d059122f1f35454701ce5493712688385cbedb052cecbc31442b9000581f02635e198075f38e76c2fd088cac0abc725a8567367a1148dc173e58321528490fd45064eaee1000000219518003af400b6515ce24552535042383ca10f74b97b52217330f52edb3df28b64a0d5103a845ebdbea6fb134e3985d33e446c1b85476922060ceb99d617e6035e98766270219ffff03d1c9e04ef6bc269653602aabd2fb1c4c3e2cb0b0df28fa975713e66e0af897dd03b79a6028248c345bef63b55b6f81eb399be6bb0f41049fa3a387a730819eb92503b349ce250d92559fca637737c9b7117d1680291e7f32e42d6411a2f857a0c65003830910db948198cecc24f3ba77e994c8cc25b864599b069eff3bd0b79e1006ad0219ffff03cb09549326e68cfd552015fb6891352d8ead22e04c551d42ec77875d00a4910c038b4a89caf00ddc32dfe159d0717e57d3277229d9f940825ca253a59346b9168a039d2bad0e1315a52a0f10e8b9e5e90d221e2180961a6b77fdc4466a58982ea2ba0330dd80e3efb8e92c5fb83cef4ea5a71f4fdc2411cfcbe3e2699edb61f51fe78103266f6ef3c2cd1b4df7ecb744670a0654a0ff79f6f37cb78bd508972fee83cdea03b3b588ff9861a9d54f37608f092881f537c96a959269d152b148e1dc6012e84403e83a3084b4ee0afd48edd7d3890018f841438a5a56a9b6fb0edf123a5fde095003c14dbf2de8429680d724fd73047f378f76009323deaccd886d4ebd7b92587017038d83b79b34b4f3d5f6335343ddb12393a0535ccc8179a52a9beb28a7eea4404a03d928d074896db77f2fac3a69537c8523ee0843727d5d437008659bd4daca347e03acde176b6860a0e39a06a72ca56533368a06e77b9a5090aee622a2a584ed5b2c03d627e9d5ea17f1b9baf2b31fa3d75bf5b83f6468cab3e9b2a9e5bcceb0cd39f803f99b1a5c1353963461feb666f6154d7efefe5c91f9e3a7f36d69b46053f360930378e413bb57c570a5b3b1944e693daf93c436975b2e588593850806ee4661503b00581f02f983acbc5bdf9578cff01ad3ce83427a39c8908c52f392626d1877c629f54a01df002210dd9790000000581f026b19e544c28cb0f567aab3322c2243c3d03638b0b7f9a6bc2cd413e2b977495561840b4ad83c000000581f02df9bcdb08c5f7ad24f715eb6050ff6124ee1e1e4f19d3806753212b28ace491d009dd172d1fc000000581f02bc1ef9c0b1bd908b8c155fd868051e48cf8438a7cdcb42e9945de2c16fa24913c9647e25a994000003fba86818d882e3164115dc71de76d370bfdd723075a14250ccaf01c83274a66500581f02a8dce2a27989f0fdfbcab8fb225228f95b11efe99db691f868f16ec421d64973d8d521b051c4000000581f02d5a50d21e48f7d64907d5e67a5a3fcc714399694d522e2ebd794aa785e3149105136d13bd094000000581f025e53dde28b651bf9e2048f25f743202299dd3c10d1f26af1cfcb1aae2dc4480de0b6b3a76400000219f688036a477fe88cd6de9b869b795d30195421f780a8e35f90b3bbc4d0717c5d836a08033900c236ef35105df86e60340122754ffd771daca8da045e68a4573e8f1964cf037cf24a36a266bc5b0460c292cefa5e79a010c2886372eb7408fbb84c7f1815e30219ffff03a1f6ea78b69c48af350aac54a7d132db2daacbae7b5515aa2fd95d1ca5bc24ec0370deca7b83bc89b142bc49866b98d14b5444c0e180d72f8a58dece8c51c1062303f485fe08688fbca51dd97f92d750a1c63707c1996c2073650a6d60416eaef7dd0306e1dce8988fdb173800dad5f9c125a2ed64380dc49051a5b10455ad86593cdd036042c7a9f0b5a135bc8029e2e2a043cd16828e8dbbd7dbc2382546b9cb24394003906bca27eed8aa8495f36222f123356142b402aacf346c7c64c76a931334d83a03b19b9776b1ffb63a332d48731292b6891523b1520cf8730fa3e2bd174a9b2baa031730a4e053b1029aa00ddc28dd5fe0fbf023aa91f45b3e171644d5470d244a3903c908fab2a42b3a24be3faa85d344f5ec74d29cd73c6f580661a8ed4e192f50c3033767a51a6a3715d72cd717693d27200cd6072faf1fad91bee3a3bce12482df40035fb17a50922c27f06eeafe4d05c8f1ea9ca61ba7698a423d766c5d3025d3c16003eb72c9f32f42f71a65a5a3b7113d854b266e8e77abc2a410755c733d97b7aae4032aaecc981e7da23126e54e5a1c796cf54e39c35b984acb29a86c27cd787c5c860219ffff039af8976fa9aa150c5c99da715a01a0ebf863f9c75201e1d52048cfc9f229a47903ce813a2c29115c94ff7f1ec1f13c46a59040854e1e9280fd15fef83c6b5db20103c847b23670132754b3b88a964d41768c68256d19db91d7403138dd7fea5631ab036787f6eaf0f071730ca3bc0620c58d0bf2d7e507c4834d033afd5a1a3d515a4e03e5cc0378a2e4dffe67a9072e1bd48cbc554adf00a060b80500aebafa0f6098c703312f298ec8ee01562a360e6fc29773c21dde99e91446d94c3a33bcd17e8f1c97032627b7b43f32f4f9163052968a96471b09698b24f8703e0072e9fe46a09595b8039840ee267012295d09f20c9746e8da934142b0733f013aee8e782060f9c07d4a03731cf371c3605f064fde5771983121bd0429d835600c0efe1526da54d910e37d038b48b1315c4fefb068810e336b7cef70b6ed6ab65399527b2fc78ce1d63ca63b0321c0e15e85b0a46b74f2c467e02c33d659118942ebff1384f48e417f74342cae036ccc232739397146050247bb2bee4c432b33daec0caf235e9ac30b332e9fddcc00581f027f0b01a5967ead08711aa656c20a76f1635c7f715659551ffc4a8263a6e84909c2007651b250000000581f02fa4c7fde7b160fdb5958c72a88214be358612100989271121cc2530d89df491190673b5fda90000000581f028c24f44d913a324321fd59247818bdccc6519c2edcb2f1858da7babefe4b4a01374641f19484f8000000581f02c945f5d635437fdc9c5e4945b3790b06b6d9975952e2bd5109e5bf8eb6f1490dfc78210eb2c8000000581f0227a392879bc9ee3fc7d2a373238fc736be477f5e3ec4114acab499c8336349434655ace673c4000000581f02fdb4dc586056fbd8e55a7fcf8570d500c44da6a7dc42ea96df0c0e532a9e491717f006f48c68000002192b4103ea3e0eda3056b097535f52d9334d9d4f8333cb55c891693f544767bef5384ec603be155479bbb58ea8884e5bb5a3bc7a20bc7b11ac3d8e3b43c5b5af4d3821ee540367aebc3020371e2cd5c1a07af21f433421a53c0f32f76f0888c703d3cbd8ff0603d120b1d13296b9e9ce6acbc2cdfe960c82241f48a87009dee200d57475934db003616a94ad613c0325392344459917b8acaa9aa8d4a5a8dc062f9a287371d050db03a3627df0c09c6b52cf45c8b75f769c1285d9e14187a1c5bcd2e43d46cda08549035f52e993d229aa00a6c3e903484843f318273cf75daf71aac82071125d153801033ef284d0a83e298de0a7a8569cea844275e3811ec75e12b38fd47b1e04e2646103997050def3cb5e2e84ee704a1102ab299ec5a2f996c9ee038fb149df7b5f821a03269eab0ffbb7337bd1831c5d976bb1651cef0dff5d6f59dfa825a0a2c31b1370039d903875251a70ff65ce15ee5c5c4430273e2afd1df913492054e16a8835b3e203d610c23a5694ab700e55cce9d457a683f84385f2ce3487022d119ca67f9974150219ffff0339102e69920307cf575da9ba664f300ac8c78b5f18e6deea8582a06b24c5518b03ffb5c1e909343938da7c46c0845787232bed8fc6d39976a1218e4e8a9fa0a2cc030bc650099101972b89a0e6e41d383a2bc21d76b4da738e3aa1ae81e2857bdb7003d94abf5de89198250f64444a21437faec387b4d014723e82fec04fb64b094eab03941e979ac74d1a8a1f20ba713a800d32253dc119414e136ddfbfe32434a73aef03a72edcc6d29b7d5e82f83f511daf96be84541071ebfafbcbc64346675049b0d80219ffff03869c61f2405c13869e0919ea7ab21a6f5489555e2ce854541b9ec98dee9571bb03a64ca50a5b4073537ebe3f305125b334d7d304807f3d37d33c594e560dd4bf5f03182b0d9746195fd9c7ce53fdf193804c7b79aa198e1d2a6edcc94042247eeb69034ed5cf751e622f0a3515bc93ae8cbfd9cf2c829f49be74dea9614d3b5842ed4503995523d90101120fbd83388a76cf869f341fca292e1b3867f582c11063a3597c03dde75d8293dec34b2781e79cd1a0965db5f78308a951aac611efab0dd47fd649032c8169219ee06b837fb315c1f69a1d7e45577940c5a5f5ef21f9e1ea8ace206103106dd50a9b6ac5026765add268ab74d0dab2b98f726bd91be707d717c62a2d7e034243a0edf319b75a8951592b26aef66c226b32746044b3529c09413a4e3a0f0103adc7d0211b4388baf5a17806e7f787a0cb03869ee164b4683e91688eeabd16cd03d181711c10b91945b385a04c83856f33f9b7b98933277863dc5c83cd421d94e200581f0257573a6d84fd4546d00963b194b9c71f53ab33105f58d6ec0f7840cd0b44491a745c467716a0000000581f0211a8ae53acabdfd61196ec39fd119afc0a4eb9c1b1c09a36aa645928a52a49077b227cd83be8000000581f02c62aeff04fcd51b840de00fdc5bd2a3c61651072b8c38f3a052266a0061249a59ca449ea925c000000581f0231f3eedef6bee6ae27df264b6f1e63a0790c9225699af479d6d0bfab4551491717cc80021ca7000000581f029cf19bb684d7b54ce267e7c9a67b3a56e0b6507388f0c41edc8560b10632490c85c4dc1c0b3c000000581f027cb3a490e144e1ed6a69ae31673e6a43aba8caf37be1a82485fd02fa25bd49c23c1d1c73d09c000000581f02d088df8d161471b163a7c31623014913fc3744a14069da2c11524669b862493015990878fb7c000000581f02e9eb9ff4b0ea77d6b4eed4be660b22ecf78b41f34a1fe146b647d3fa69e7490a1544be879ea8000002193993037ae6bcfc99c4ec1f00855f9770b130205fd12d76e86970a48e58cd9d48e49f5903106093aadb1d87958d49fde96d8a13e554585d7e5fa19338de2ff2602383447903f22236578f9e698e01780232f7ff147c17bb983bbd5c93f3325dab2fdf07d99f03128a5db3c379eb65b89388a57ebb40b0c78acdb5ef4c6e4812f8e87900e5ce510364e58487e31a29420bd5f8c9b66ba639b8e76c712215efe1590862b424fc0f9c03dd08b33831ddfa30abfe993f7b87477dcdf9f94bb50f6e1dbcd70bcfc2d9a7b4035e8948e3b6aa503a32e7acd964dc6265f9acb22771a4bf4934711cb6405dd84603b2dd34389c2acd94afe5dae8548f5ba3ba97e0a186012e34401427ea4925259303adee5b349892b93382969d860ced4f80065a7f27fc20d3b4eeb9d896aa7282b803199869d1d4b3cb2715738cddb657f455d1bc435c335598658be3ffc359b69ca50219ffff03f4884e66990bdd6bea182465084b74cd9c96d89c3002aab5e1fbc6f1323615bd039ab8a9f43e39cb1fa9ac0e4c51bc5c179742e8bf6fdc6c9653c1cd0796df05710391429bd1658675aca30dbae55b02dd04709547a766aa8357f072f873467a67a3039401dfbe8c81ad869db0708a93c183e423ddd0d83dc8ef03e8319bfa59248bf803cbe3c50f9ceedc0e9f65e32447637fbda391798bc22e327b54b400546264ab91036833872392bcca56b471adb8c6c2674ab815bef8a1a92d83dcc20349d7f38f97036303f4cdd436fd45d1f6006e2fb11fc5875ec122d8d2d9308759c174751fad4203a4448469fee1e7c24a9f49efb56c94ddff1d4f1fa8e05654c8c8d4bdf1b790be03a513206e3c63246ec2b8ef26835cb2dff046af5d3b189b1c602148c2a4d787670219ffff0304a37fb021465905762b90f655b0874fda51b84a92840e657fc005e5ec22e3330363df88356825751b5206df19c73ed67e698d7eee8e349b2da70ae25671473e2b03a305b8ef2bf1ad886cffeff45caec10c4ae5860bc94605d5b6a141171ddb19e7033913812caec284aabbeaf4e9b0d9f9ad7416e7bfc563762a852e66352d74fe8803b89dddb3619838271e21531efdd5a8451398ad077fd1c0f2552701303c24bbc200581f02bcc30b45c864bfe22a6557cd5726b3f7499f861835989748687250f84725490c77e4256863d8000000581f02837686eb7eeefb6cfddb98813d6585aea79caf3e2a1dc598887ddeb54714492ffa4e47cc539335b903ab5fdcfbb162291d15b5712b5e61a64080509242cc157a1b3fe37de3722b315501410c00581f021afbdb261441b537a2700e4f7efd8fc8577b2d62389b9e97ba8a70d32c9b42e4f600581f02626268db63f7941ce5488e87a4b1409c8a1e76cbb48fc94c1af5180f3aee4929b004d1a9d364000000581f02e496f70b4c455d235a23af9452853aa8b54f41649d2c0c0fdc1ad4f5fbaf49204148a38e0d6c000003237061390102fc2e6b6578bc03455e48eef02e8f479df058f23f9c69e28a5cdf00581f0262c15c8481dc94d91d6f31aba81d9c142beba4833167e5f9c3d1702d67b049f61d281a0c917000000219d72203f20ca3cd07e993a22194f5c7f1d9d59de625c08bd2450d4783f4c63bb3c57b95033ffd635c8f26ce40df51ac5722102751bbc028134d19d6d16d0ee565dbc82ff30323255737ae44b5ebbe98a34b97ac579df4182528c9400ce7d9c55dee1373395803ae980ee76da34a80ed3a8e1db5152fabd387676e61018d97f5ebee09d46ad2ec035a5799b69346f29218a3b475043183b54e74c9c08e7231a86a1846506c26029003e5112f2bfdacbf179db8a81d46e42affc0f9d4ac9a51910004638fd3c4487d8b03e5ec8c54b48e2eb64dc3782ad3885a4c9f6079772d86127bf3c70cd237ba922e031013b9023e7c5c1b2aaf22cfdfe5c0cf2ffe1f2a66a74b2b8d9fcc102cd4ee1203147cc6f667c2e7f980aaf4a17572f40d8bf8f7f4d25666126cda569ce5d614b3031e11ef0e5a11d4b0a53a2a3a3e62f341466607591eb1486239604dc17c2e9f7a03b551af159e4757e564714201c0b4fbd107f6627584c0fcfbd4ea96f36ad63f9c03bd5defad42a07535831309170478d44d75be1ff02a7901cda93c648373ddc3f60219ffff032b95826ffebd5879f617f1e312d51839934c4dca4d78afc15affd25109e0bdc5034aba34e8c61840c7ec19e5e882d6a165bb56d1e69a409c0b87fef1ca1d60069c03ad72d22a6b5c68933bc35e7b981536d63e957c47bef6d7d9a1c973f29e22d65503c6aa117ddee7a7bd9bd63b79c5992bd4dd14ec9547f5adadf2bca1c7aea6f8f30312ab147140e0ce21891ec060297486e62536ab68138b495656763c5a6a380a31037b17c688cf50cb8111019eb5468db15c66cb583fed0b2608a98aa028105e51d503c036201a5d7c271f4502f0818c07524ecb68add297f3d9046cf80ae02bf2f5ae03a348453e2501e87c1bf6029621415efc7e5ebc1f6c149a984132363204c6d23b032ac1771190d5296be94411a6414eebfee24afa10ee56f7774569337c542b78b4030c9b794f9005b9b71275ec132553f27a689a8ad1947548997e0f4b88422a4e85037c7e14172a6e5c7561d7565dfce33df24aff743ee836e4add0960d537c46f47b036e27ebddcfc21d90ad161f5ec4eb73f94faaa29cf7bd08b5514a00fdb24d5df4036eebbce05db0e40433f88eec1be8fadd7a46b92c278b55ba3c52c2b69f33d044036836e3e6aaa11b0cb13fd3e25aefc957d1b64de9f785485adf869e44f7facdeb03ba770ae3bd11c776a7f8c7f9099c1f0bb2beb9cc158006fc45842f590963f5cf031d2d91f32d190e2ef3148a7cb85eb64c1134956d83976f2e9c39ffc322a51fc800581f03216af1a8813cc8a71dcb293f782e1d6384fa52324ab9b6db7ab6605ff31049b8507a82072820000000581f03131beb2d7f719bd5ef34cac7e71e21ac05c4d3292c95946b0b4fba1637c0490ba7b970e194fc00000219208000581f02eef3fcca3f1ca88175a3e69dddefec6953bc1e52ec7c3631e4afbb2734f2490d7f91b4bdd044000000581f02d7bb49415233bceecf81cf2bdd21a0858e01869b1c954eaee1952098605f491c30731cec0320000000581f0275930e929920a527897c70d0122fc0d2230545c65e8668e786fb0c7a7a244a043c33c193756480000000581f0216bb0c2e0071dcec77097e5f066664d7ded9f6f5e75cc4f7415f77d75134490e873f44133cb00000037841d11a59a43749a0a05aa4a739c885ede9fc8c32f8545e35555782c9dce0b203c18a20ed3bed7a4878fa0f6a3948bb3516a29c04e298b9629802541193c4ea3b021906e5034611bb73ba32eefd329ac0249a25a8b2f2de79802ece6c79705139a83f9828c303a11906da091ad4e60166033f770c8e5095b95b39ab1d66fe598aefd299643b4903c106d4cbecf91533af453cd7c5da59cdd21f02bd7f66fe1e843a1e80c24c797e0392e82d1b1835882ae6c6b198fa592b601175c70e88e1ae236c49148f481c9928036dc19bb4b914a9a01ed4e915517e9339a2bc0911fe8227b970562f08f6f46ccb03969690611ce50c7185b3a4a5fb04cf881aaaa68425b49f84c717da56ab2f01ba0368f4faa60ba1844e0d4fed48bb68a439da3c2ccbd25dfd2831557da2b717059e03f329b2d16a8d2b64bbc530f6f89610ddc7c32d9207686f41b42798e3074d614203b6f49c61bba7d5ee33cfab026827ecb87042842775f75635ea425d679c48694f033f5217090c0522d52ddd92c8a8312b13ecec350b079dd3a53fd502a0a9baa0b50219ffff037aecf33d943abdf455cdbcdce4357f8968527b81430ca9b8d443da834c966e3f030fc383527ee5efb86a999c255dadfaec428f8d3265cbb6e0473f30ce86d3582503bc2ba62052b3b312f76d430adfa1a49f7f6e1bcd0ca3455fe851c1a20f35b5590219ffff038bd0ca3578530a5ec1839ecafa6dd938ac443eef2cb33999462ddcc976925d870302f5a349537f77ce6acacbe1486e3397858ec887772e00c306a59fde4354b43b038cd4a43680b766206952be327144778e2adb3f9cf9395ab697cba8848fd31ae803ef9a884be9c793486ab3f1d267a14a770396cba98da6e559827b4f337616d3e603ac03708978e415cb867cabfe9bbf05133d28a8a48b445446fa58d493e92fe04003083cdfdd857f5d258e169d97b1696c3f9acd308e38bbd2751e3ded53354a07c8039e535e54919eecfb96b0444427e6fe73b9a3672ae4ee259df795767dd3c1c56a0367023d5d982127629943fd07e179fc5aed5236273bb3c00c4b41b6d63911892803d32fc14cdf5c420a2bc54835e6193296596e4182eb239dcbb46d21fc4f931c3f032c8d198fb8ae1525f55442f01b4285354a7d84a4022e32b0b221729248e5a5f6034ae443a3befb87dfec86b1bbf2b1baf4544b29848e53d1ec0175a1433089a9d4037e1c264459f91bdb23844a5163fa56826da0056b61100a809ee36436edf6177403d710284e3106ac676c086d51fbb8f9364a073b683bcdcdd2ffa2dd14f95075e8033d72a94cfe7d3a4fcbc2d61045d4b066a7d40e6f8be54d418b0579b5e1c1d360039ecd2fc7054d19d98758c51d20cfaacb00c43c9b69d95f55fb161187d692d22d03d9ea781ef02025536da7ba8ecbd4c1932091ef86d3b200b0704ae13e33d6636a038683b47d93db18c0fca6dfc25e6ddd9605ba04da67483fca3bd6fd9a4c0727f300581f024fea7d4fa506da351e5d89711f947067711c1e83360250a82ed0dd3ef2c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b7992e0b006a7b178ac72b7ee3e1b36da89ffcb99f05c01c17302b2536ac4909451a0a00cfcc000000581f0233e92fe18fc0123aa4f12d13639fb624326c3d944489ccdd29a1524c533b492a646e18c95378000000581f02fad2672e28688935e38e55a01d1909c5f251ea7030e0d47339ff09402a3749168d28e3f002800000030e14a81e340a47958c425ac85a7ac1599273e107ce5753477a9735da4874a5d700581f02ef31dedd2f6bff3941abca367f5dbd856e92fc62dc9e4e593177ff01970c490d2c4d6c87e3ec000000581f024b441be12e7fa97a3f010de801b49350169570123845131c2e803af9bf39490c77e4256863d800000219d42a03813019d72f98b9f77ad564bbab229d1f943bc2fb71455bb0da1e6b7c819c8e5203e2f21a6b6b9189a2b5197a7fdb1cbe5ca4f60a20081b6b2bc96d1c48a74f9676037b6d9ff05e434ec2f34876c8323627b2910f079d91182330b958abf4ca14fa2603c7ec1d03f833e86a1a2c8c86bd6c891e53b442def0164cd7389af908411f14e10340253c57b517ff54f78654db75e59a99cc8efd53cbcf5475fa6e8a87df868a180346b2bfd7c7a7c5d86fe7760d641afff4a29df6d52df19b023bf2777a76f238f90219ffff038b59580f2a66e7a5aa96ed1b3361a7b90bfb90f572912504cbfcf78c4215e670038a330bf06665284886a8db902085f6229c008445729114e2e5e7a6034dbf39a00309be931a7964565bdc5d3b25968d4bae45ef8dba1949f5dae27aebcf1ad335300327ff5f42c473a632dd967b24ae688101b13c95f5bf9baa024cabbc401d77bf0103e3b2bd3cec54b8adb9c52dc55a2830cc7310a963c078e691566387d014d4046403371dbfc4cf623a7efa0b89586f0b72ecef8f5035dc5a4f5f480a81bc7e551a8f035cd16c89c04da0d4142dc0f56093b56c5d8149edce75a47d141b5c70419494f90219ffff0353a5a01a03a165ba73457260545fe041613fcb28307cfb0102ab888c552e08770390440db1c3ae1a2e24e4d1aea1b28b6a5251f9ad7229af5e83c4520d22701494034ab28fb8858bc4bbd17fb2ce130807d097e1452536d0aee3edf2a7bcdc3bd9f2033974b682f0e62c0e7af62ac6935552b52f01ef65274c874ead84b846a16739530396807909d64c234561a28cff71c17a87013dda2b1f88707f7fee089a11b2fdb20325ef23f0122a3960d2a9a3a3f13bdbd2671d2e0b7727a56ef1c0d403efc8fd1603144e654486e3b0a42815fcb71a2c2a5ea2896915190ffa9456f7084a374406180329472ea4a92e97058403cbbe8fe61fbf079c1f2340bcff3158b81444e3c39c890333f6c4bbc57818104eeedc22d7fb9065fe2361c8a5d926ff82a9245123f19079033ef6c8737abd4ba2df1ce24526c17a517aa630ecea0cef9bff0552cf9bd578370374b88f8b19577d5af00fb9b1699b55a6df9fa4d2272e563a2f48283842d1bc4d00581f0281dc359da267e6a9596f7d7d02d0a3e3c2e45fc6293afaccddc0874a7d7f49345df169e9a358000000581f026a82b9323a19e551013866a0a4e44e4fa4228a6bb39d5f41b69a67535cb85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b0e417502c30a0a440bd896c7c16c70562a4b84c60795d39a8e2d314abf949cb57950259aa3c000000581f020bb84dcd98f841fdf57b08ed8e74ced5d3b5ff0c9bbec70b355418cc7a705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0274c2fa0209ef71a913ddbd3ad99e422ecbd61f6794e9a704be17dfedc8c8495c6da0d285d9040000030c70f2fe20bbbc543bf8147801c9f9836460a3911b9f1855ed289a3b0faa9cd200581f02fab96f8ecd642555ab4afe59dee9039b384f3e9dfd0dbaefad8e2be3085549083d6c7aab63600000021978930354fe3b64539bd2157f0f022cff18aabf66e414a7d02162b2cf159ed21c24d6c20387d3adf0766fb3a59a1d6abca38c0eade8fdc0f8961eccac45ab749577d1bfed038834899c16dca0cc9809a747f2d1af39b41c4e3673de6618013988491428cc1b03feb7339960a368205e6ac9769fb949dbc1311d9aa167f13555dff1a613760677037e9b5919f53f77d9608eb0fcaba34377c2affe4309e0665ed7fb277945dfaee303c8c2930b8fbe24616b2cdcaeee4b730114d561c72f8ded4fc39d1622da43cb3503c20091a1361b46f476ba65cc40ea8c989c01b082915a2298c98e6571cc77fb9603ab95d0c2435019dbbc172900c879725f1e7d73245302c33fb55c71aa077189a30327d6f2a24946bef58d84afbdb12a2969d8c00c27b8e648a84825771b1aa8e80f032909eeef8e8d3fd781ce39dbb225e8d837e040c70f1c02eb89161c3d078673a30333ad0d49468a09623356932c415c8077db1f30e0198b27f6fc68f8631684571e03db225a70748708815c7fc2e5c5fdfa4a8df413c8ae6fe562ee863163578e0940031cddde6a6673520c94db282d47f509275e46e84bccf5481c11138a5fb14feb650219ffff03f63322ccd17b210565530f297683958c1b15ae81b1e675a5d76cd0bbef9efb4b03381e225479df3552011eebf0e6282f82a451582e8a4d245c70c1166bdb571939033dfd5ce6b1266719b96553ee1901d12b06c98eedd91588f840d52d2f49a4f49b03cfb878fcf2bb47661d02140b57c586d8e95cd52315177c91d51d78edf469826a03fedd77e0c9cfb44867f4df5cb69fc0f75c7db8df1e8f970f7d1f0641f37e4f0f03229c02c1b02f03fb17a33963c030ab8aaf1ce72a0c031af6dd0bab2d0fa184d1039512fd8ec238e3fe256c83407e4d5abb3d7d4e09b81ef1fca69d5686fdac9c8a038b63bb66674cf3780f751e85ca172cbecd7abbb5d6522ab808c18ceda4cd23460219ffff03f1c06199e04ef053c0839ae244413bc85502d0a055f60f6a40a9bce14276357e03027ff9d8c45e1972b0d3ecb1919ce271c48be484a249517d64eaa6cd7dea10e70301560d8ffa03634cea7c5b7d66e4a1f08d26de661c0740d093bbec3d2640eec403c418b5021acb08986d37adbf2fb3774becfebeab31d4b209d36f5adb3811892303f98782c10ca6d5093f1af2e1d3114152a56ed04d7e85ad1a3f8fccb75ae23c6e0395ac9380ddd266e6302a8fa5975d671653bb764c71ed4e292e3b05b0cd4a689b03fb4d6aa2774b565fb6f44ab9442575afa6632d6af734c257b5a859533e6d7c8303632b0ac53e38bf86464ab1f17c4e6cce4237cf692d22e207544e627197a7f02703911784b4cf2a69e167150870824d540089a63d86637a55644c33a2b5d70b5ffe034eb19d6f7b42e30a9425d44a70ac4ec8e9b1e318dda356cde1a8dc11831eb7b9033ddfa8642a27a924678ad24dd8b48be0341d6a57b6d3f5fb9dc21aeaa31d401d03c54e75f883409a8fb266a6b1e63ec505905b9d75ec9c6890571881548b86ba1d03f6d6629359148f20cb86f55879c225210e3c29fdbeab8f8d9e872995eee81e0400581f02408c2e03a6220c3b06ab0d3e7286196811ef3976d906c39e156a13ad2f1d492a1f0a87470e8400000390c2e6837bea95854a91280f99e312bed6f43a7a333200d681221c6476da7a1000581f02e3836dc111f654f0bd0b68676a5c071516f94e7ee8494389361eb5558cd84923050d0958665800000326a62652ea99e1d268cba6d78e69ebd3ddca24304e3a71e4bf9899d47318f60f00581f029bd53da3c3370855eb6912af436beaf0bcce0a07cd65a4773fa2399a44c2492cc70d7faa18a8000002194192034c20980d3f6b8983fa684d1a8c4345b6eced55b62c2b61e2bd961518b1eadfe903b50a917104c1cfd450a17c76460e84395cff0a058e1252f245e1531302105e080328cde2777f7205026aeac5d19edc64e3ba7cd1b9fd8d43714631dd174de7971b03c053f1b1a7dcb6c0586804b039a66fce139d8cf102c0756d6f8ce7792ea6f5be03b0e8655c8cbaa658aa6f25f6b539d4160b50606d6e59b27d96e9ab914ecda070038d90f4b5fbafa917784aaa789052b92b13979b667d7af3f826e164e6142a454f034bea09f25746c2640e86c47623ed80bb79bc708049742f5a1813cb118ff61b40033e2bc712d293bea5a6a90a19e8adf99e2a3dd9e19cef4f80c4401d10780f82110383201c7222129a49777f535e0dbefbd598d08007c93ebba2e5bf5d21faae8b26033223a6a240f8f196da4e9bebbb78298bbdde3d2cf2615926b271ab8a7c38cc9e034b73337f3ba909bcc9f2681343788a55eaecec7cfeb09127a7b15e53222b26bf0311b6e1448eaa1c965d48722c60512ff429f8f445ac38769136d26c38c068cf17031567abf972c126152408afe6871b72ca46d0db6753b870bee05c81bd86d70f870303961ea487dd266fbf5f45b94fb795fb571ef23d1907a0872dd5778fb97a7ca10219ffff0358df05902c1770681138fe225f6076b3b0ae897c4cb0b2a9bfe3f8102686b29c03312b8b09a5130270370aed7d472c51120f5df3df4a3b4b112e3d40aeabfff8fb03e77dbb09053c7f1a53f028230c1c690eae447368c9f9c6016c0e0c220895876f0219ffff0219ffff05581d023bf52e73123ebe0ffc99ef1e430fd8bf63d1224adb68c755bdda597c07011936f405581d0244ebdc00c3c2d175099dd6adbf27f8880345466e20da79277399951c0c01470279154e1540c6021901010219c3e703ecbb785a1f324d0a564f3de61ba6d4a444837a3de5ac584f50c4bd09b06b9a4e0219ffff03c0a53b11ac9aa727996689c42541e6a0955970acbe8ca0bdfee4ce09175a3c1203230f2c93432f2072bb086e310484f29a66ee5386b8941970b3ea10a353602b4103c2f64163dd670312103ebebe17d252c48f1a6ca841e8791f63e80b0aefcb577903d5dce8cacac9ca6595e35a0027f4edc898b0e722fe41fd56cb4166e0fd87a73103a9f5fba2a0e9f198424b17aa66aad78463fef4661e086d4c050f3bd38c5bca5c03f25d97ac257468397ae4e5c20b80f99b851c5c38cc321b1f47603b4ef636576f03c43a80674dd19ce3729c22fae33976f7dea316b7ffa79038dcd4ab885a82115d030fbb659aa858fb961640ee5960e30d25741a6501abd3ec0ea37cfe2becacae240219ffff03267bef27c610663439518734feae5d6ec4575b3b782cb76304e282800c8ac04f03f61b7ae6c2bcfd2f97a2777f47757d92c34414358d70d26d382290923b98450303fbcba0e6af136e99738b398f67b2a034d36e873a631a4a3e16a3a6e551f4425803c3cd6fc95dd92c6e3c392a1a3f3f119fbaddb1d851f0d415ccdc8a662fff8b810311fa577b6a99bc3bf119433fe30d57d202e6b8804f0e3baaec591248108c772503ee44c730fc7f67136abfae9f130a6a2298c85f4bb3577cbf197ec07ed129c08b03dba5135fc8a899beb0b3dcb25bfd553149bc71ff84bd2572747aeadd89c3014903991e46a9a8116a7bd2ccc9967db60a3e2ed569a4ce564ea7c884932135766fd40393442e12c7eefb4fcc3144c846b88e31c286dbe742e2ecce3d0a574d5b277e9b032c5eac321abab3e0ded2c22bc5dc13578dd7a2d9798e04fa5a322005768d1502039c9c3a2cbc86ff68bb85dddc153f0c4526428b1afe6a13f12ea7cad092f530b903e9aca2b9242fd4f8f4ae78ffff2743d3a842c50ad6c5d42274df6917fe359bb603d5d7dce07c6e0bb18cc670e9b6a77bd0bead502ad71e62b6dfdd1dfc83d9ae590359dcb8d9d26de83e8b27d3efef937467bd3738766f4e6c1bfa2452e0cd0c621204592dab60806040526004361061028e575f3560e01c806370a0823111610155578063aaca7f69116100be578063d8454a8211610078578063d8454a821461088b578063dd62ed3e1461089f578063e8ca9212146108e3578063ea2f0b3714610902578063f2fde38b14610921578063f5a3ae7f14610940575f80fd5b8063aaca7f6914610742578063aee50b1e14610776578063b4e0dfbc14610795578063bc8d69fd1461082d578063bff51ef81461084c578063c49b9a801461086c575f80fd5b80638da5cb5b1161010f5780638da5cb5b14610696578063906e9dd0146106b257806395d89b41146106d1578063a457c2d7146106e5578063a5ece94114610704578063a9059cbb14610723575f80fd5b806370a08231146105cd57806370d768cc14610601578063715018a6146106215780638129fc1c14610635578063838c00391461064957806385ecafd714610668575f80fd5b806339509351116101f75780634a917a2f116101b15780634a917a2f146104fc5780634c6d7aac1461051b578063514d327b1461053a57806354b762a614610559578063638b1b141461058f57806365473fd2146105ae575f80fd5b806339509351146104415780633a591fc01461046057806342966c681461047f578063434998441461049e578063437823ec146104bd5780634a74bb02146104dc575f80fd5b80631bf0d240116102485780631bf0d2401461037c57806323b872dd1461039b5780632842d757146103ba57806328b5ce12146103e857806329b1c15c14610407578063313ce56714610426575f80fd5b806306fdde0314610299578063095ea7b3146102c35780630f3d9c9f146102f25780631694505e1461030857806316c66c1e1461033f57806318160ddd1461035e575f80fd5b3661029557005b5f80fd5b3480156102a4575f80fd5b506102ad61095f565b6040516102ba9190612812565b60405180910390f35b3480156102ce575f80fd5b506102e26102dd36600461285b565b6109ef565b60405190151581526020016102ba565b3480156102fd575f80fd5b50610306610a05565b005b348015610313575f80fd5b50601254610327906001600160a01b031681565b6040516001600160a01b0390911681526020016102ba565b34801561034a575f80fd5b50610306610359366004612885565b610a41565b348015610369575f80fd5b506008545b6040519081526020016102ba565b348015610387575f80fd5b5061030661039636600461289c565b610afa565b3480156103a6575f80fd5b506102e26103b53660046128b7565b610b2c565b3480156103c5575f80fd5b506102e26103d436600461289c565b60056020525f908152604090205460ff1681565b3480156103f3575f80fd5b5061030661040236600461290a565b610b93565b348015610412575f80fd5b5061030661042136600461289c565b610d15565b348015610431575f80fd5b50604051601281526020016102ba565b34801561044c575f80fd5b506102e261045b36600461285b565b610dc2565b34801561046b575f80fd5b5061030661047a36600461298b565b610df7565b34801561048a575f80fd5b50610306610499366004612885565b610e3e565b3480156104a9575f80fd5b506103066104b836600461289c565b610eec565b3480156104c8575f80fd5b506103066104d736600461289c565b610f38565b3480156104e7575f80fd5b506010546102e290600160a01b900460ff1681565b348015610507575f80fd5b5061030661051636600461289c565b610fac565b348015610526575f80fd5b50610306610535366004612885565b611030565b348015610545575f80fd5b50600f54610327906001600160a01b031681565b348015610564575f80fd5b506011546040805160ff600160281b840481168252600160301b9093049092166020830152016102ba565b34801561059a575f80fd5b50600e54610327906001600160a01b031681565b3480156105b9575f80fd5b50601054610327906001600160a01b031681565b3480156105d8575f80fd5b5061036e6105e736600461289c565b6001600160a01b03165f9081526001602052604090205490565b34801561060c575f80fd5b506010546102e290600160a81b900460ff1681565b34801561062c575f80fd5b5061030661105e565b348015610640575f80fd5b50610306611090565b348015610654575f80fd5b5061030661066336600461289c565b6112df565b348015610673575f80fd5b506102e261068236600461289c565b60036020525f908152604090205460ff1681565b3480156106a1575f80fd5b505f546001600160a01b0316610327565b3480156106bd575f80fd5b506103066106cc36600461289c565b611328565b3480156106dc575f80fd5b506102ad6113d3565b3480156106f0575f80fd5b506102e26106ff36600461285b565b6113e2565b34801561070f575f80fd5b50600d54610327906001600160a01b031681565b34801561072e575f80fd5b506102e261073d36600461285b565b61142f565b34801561074d575f80fd5b5061032761075c3660046129aa565b60046020525f90815260409020546001600160a01b031681565b348015610781575f80fd5b50610306610790366004612885565b61143b565b3480156107a0575f80fd5b506011546107ea9060ff808216916101008104821691620100008204811691630100000081048216916401000000008204811691600160281b8104821691600160301b9091041687565b6040805160ff9889168152968816602088015294871694860194909452918516606085015284166080840152831660a083015290911660c082015260e0016102ba565b348015610838575f80fd5b5061030661084736600461289c565b611469565b348015610857575f80fd5b506010546102e290600160b01b900460ff1681565b348015610877575f80fd5b5061030661088636600461298b565b611512565b348015610896575f80fd5b5061036e611593565b3480156108aa575f80fd5b5061036e6108b93660046129cc565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156108ee575f80fd5b50600c54610327906001600160a01b031681565b34801561090d575f80fd5b5061030661091c36600461289c565b6115c4565b34801561092c575f80fd5b5061030661093b36600461289c565b611635565b34801561094b575f80fd5b5061030661095a36600461289c565b6116cc565b60606006805461096e90612a03565b80601f016020809104026020016040519081016040528092919081815260200182805461099a90612a03565b80156109e55780601f106109bc576101008083540402835291602001916109e5565b820191905f5260205f20905b8154815290600101906020018083116109c857829003601f168201915b5050505050905090565b5f6109fb338484611775565b5060015b92915050565b5f546001600160a01b03163314610a375760405162461bcd60e51b8152600401610a2e90612a3b565b60405180910390fd5b610a3f611899565b565b5f546001600160a01b03163314610a6a5760405162461bcd60e51b8152600401610a2e90612a3b565b601054600160b81b900460ff16158015610a8e5750601054600160c01b900460ff16155b15610af757305f9081526001602052604090205481811015610ae35760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610a2e565b600a548210610af557610af58261195b565b505b50565b5f546001600160a01b03163314610b235760405162461bcd60e51b8152600401610a2e90612a3b565b610af7816119ca565b5f610b38848484611c6d565b610b898433610b8485604051806060016040528060288152602001612ce9602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611e6a565b611775565b5060019392505050565b5f546001600160a01b03163314610bbc5760405162461bcd60e51b8152600401610a2e90612a3b565b60198260ff1611158015610bd4575060198160ff1611155b610c0e5760405162461bcd60e51b815260206004820152600b60248201526a092dcecc2d8d2c840a8c2f60ab1b6044820152606401610a2e565b60648360ff161115610c585760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420746f6b656e20736861726560681b6044820152606401610a2e565b8385610c64888a612a84565b610c6e9190612a84565b610c789190612a84565b60ff16606414610cc05760405162461bcd60e51b8152602060048201526013602482015272496e76616c696420636f696e2073686172657360681b6044820152606401610a2e565b610ccf87878787878787611ea2565b6040805160ff8085168252831660208201527f0c375c34ad37f834432281bfa81db66c11d48f4791d5fe61439f0ce78187b253910160405180910390a150505050505050565b5f546001600160a01b03163314610d3e5760405162461bcd60e51b8152600401610a2e90612a3b565b803b63ffffffff1615610d635760405162461bcd60e51b8152600401610a2e90612a9d565b600e54604080516001600160a01b03928316815291831660208301526060828201819052600b908301526a19195d995b1bdc1b595b9d60aa1b6080830152515f80516020612d318339815191529181900360a00190a1610af781611f37565b335f8181526002602090815260408083206001600160a01b038716845290915281205490916109fb918590610b849086611f59565b5f546001600160a01b03163314610e205760405162461bcd60e51b8152600401610a2e90612a3b565b60108054911515600160a81b0260ff60a81b19909216919091179055565b80610e48336105e7565b1015610e8d5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610a2e565b335f90815260016020526040902054610ea69082611fbe565b335f90815260016020526040902055600854610ec29082611fbe565b6008556040518181525f9033905f80516020612d118339815191529060200160405180910390a350565b5f546001600160a01b03163314610f155760405162461bcd60e51b8152600401610a2e90612a3b565b6001600160a01b03165f908152600560205260409020805460ff19166001179055565b5f546001600160a01b03163314610f615760405162461bcd60e51b8152600401610a2e90612a3b565b6001600160a01b0381165f81815260036020526040808220805460ff19166001179055517f58c3e0504c69d3a92726966f152a771e0f8f6ad4daca1ae9055a38aba1fd2b629190a250565b5f546001600160a01b03163314610fd55760405162461bcd60e51b8152600401610a2e90612a3b565b601054604080516001600160a01b03928316815291831660208301526060828201819052600790830152667265736572766560c81b6080830152515f80516020612d318339815191529181900360a00190a1610af781611fff565b5f546001600160a01b031633146110595760405162461bcd60e51b8152600401610a2e90612a3b565b600b55565b5f546001600160a01b031633146110875760405162461bcd60e51b8152600401610a2e90612a3b565b610a3f5f612021565b611098612070565b6040805180820190915260098152684d6963726f5065747360b81b60208201526006906110c59082612b2c565b506040805180820190915260048152635045545360e01b60208201526007906110ee9082612b2c565b506b204fce5e3e2502611000000060088190556b019d971e4fe8401e74000000906111199082611fbe565b335f818152600160205260408120929092556008549091905f80516020612d118339815191529061114a9085611fbe565b60405190815260200160405180910390a37338402a3316a4ab8fc742ae42c30d2ff9b6f43dc55f818152600160209081527f32423ee8e4687c495b031e6184c16e724574af8554a483ee8668befadaf1592c8490556040518481525f80516020612d11833981519152910160405180910390a3335f90815260036020526040808220805460ff1990811660019081179092553084529190922080549091169091179055681043561a8829300000600a556706f05b59d3b20000600b556010805462ffffff60a01b19166201010160a01b17905561123a737a250d5630b4cf539739df2c5dacb4c659f2488d6119ca565b61124e6012601b80601b6008600c80611ea2565b61126b7370875197acf27ae827dc056ace22f5893fd55ed56120d5565b611288734adfaf09e978657337ba596f5d1d61d068962ec26120f7565b6112a573465fe58cafadea9c80d04078b72c5bb1136f28c0611f37565b6112c2735bfaf16cc8e39cc34ec575a1e510e4f293eafc44612119565b610af773e9fcb23a23ade85d424625b00c77ea99f8e64c0d611fff565b5f546001600160a01b031633146113085760405162461bcd60e51b8152600401610a2e90612a3b565b6001600160a01b03165f908152600560205260409020805460ff19169055565b5f546001600160a01b031633146113515760405162461bcd60e51b8152600401610a2e90612a3b565b803b63ffffffff16156113765760405162461bcd60e51b8152600401610a2e90612a9d565b600d54604080516001600160a01b03928316815291831660208301526060828201819052600990830152686d61726b6574696e6760b81b6080830152515f80516020612d318339815191529181900360a00190a1610af7816120f7565b60606007805461096e90612a03565b5f6109fb3384610b8485604051806060016040528060258152602001612d5160259139335f9081526002602090815260408083206001600160a01b038d1684529091529020549190611e6a565b5f6109fb338484611c6d565b5f546001600160a01b031633146114645760405162461bcd60e51b8152600401610a2e90612a3b565b600a55565b5f546001600160a01b031633146114925760405162461bcd60e51b8152600401610a2e90612a3b565b803b63ffffffff16156114b75760405162461bcd60e51b8152600401610a2e90612a9d565b600f54604080516001600160a01b03928316815291831660208301526060828201819052600790830152667374616b696e6760c81b6080830152515f80516020612d318339815191529181900360a00190a1610af781612119565b5f546001600160a01b0316331461153b5760405162461bcd60e51b8152600401610a2e90612a3b565b60108054821515600160a01b0260ff60a01b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061158890831515815260200190565b60405180910390a150565b5f80546001600160a01b031633146115bd5760405162461bcd60e51b8152600401610a2e90612a3b565b5060095490565b5f546001600160a01b031633146115ed5760405162461bcd60e51b8152600401610a2e90612a3b565b6001600160a01b0381165f81815260036020526040808220805460ff19169055517f4f6a6b6efe34ec6478021aa9fb7f6980e78ea3a10c74074a8ce49d5d3ebf1f7e9190a250565b5f546001600160a01b0316331461165e5760405162461bcd60e51b8152600401610a2e90612a3b565b6001600160a01b0381166116c35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a2e565b610af781612021565b5f546001600160a01b031633146116f55760405162461bcd60e51b8152600401610a2e90612a3b565b803b63ffffffff161561171a5760405162461bcd60e51b8152600401610a2e90612a9d565b600c54604080516001600160a01b03928316815291831660208301526060828201819052600790830152661b1c1d985d5b1d60ca1b6080830152515f80516020612d318339815191529181900360a00190a1610af7816120d5565b6001600160a01b0383166117d75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a2e565b6001600160a01b0382166118385760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a2e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6010805460ff60c01b1916600160c01b179055600c5460115447916118d6916001600160a01b03909116906118d19060ff168461213b565b612154565b600d546011546118fc916001600160a01b0316906118d190610100900460ff168461213b565b600e54601154611923916001600160a01b0316906118d19062010000900460ff168461213b565b600f5460115461194b916001600160a01b0316906118d1906301000000900460ff168461213b565b506010805460ff60c01b19169055565b6010805460ff60b81b1916600160b81b1790555f80611979836121e8565b60105491935091506119969030906001600160a01b0316836124ce565b6119b5816119af84600954611f5990919063ffffffff16565b90611f59565b60095550506010805460ff60b81b1916905550565b5f8190505f816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a2f9190612bec565b90505f816001600160a01b031663e6a4390530856001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611aa29190612bec565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa158015611aeb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b0f9190612bec565b90506001600160a01b038116611c25575f826001600160a01b031663c9c6539630866001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b6c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b909190612bec565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015611bda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bfe9190612bec565b6001600160a01b03165f908152600560205260409020805460ff1916600117905550611c48565b6001600160a01b0381165f908152600560205260409020805460ff191660011790555b5050601280546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b038316611cd15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a2e565b6001600160a01b038216611d335760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a2e565b805f03611d6c57816001600160a01b0316836001600160a01b03165f80516020612d118339815191525f60405161188c91815260200190565b601054600160b01b900460ff161580611d9c57506001600160a01b0383165f9081526003602052604090205460ff165b80611dbe57506001600160a01b0382165f9081526003602052604090205460ff165b15611dd357611dce8383836124ce565b505050565b6001600160a01b038083165f9081526005602052604080822054928616825290205460ff918216911681158015611e08575080155b15611e1f57611e188585856124ce565b5050505050565b8115611e4e57611e2d61255e565b601154611e4990869086908690600160301b900460ff16612624565b611e18565b601154611e1890869086908690600160281b900460ff16612624565b5f8184841115611e8d5760405162461bcd60e51b8152600401610a2e9190612812565b505f611e998486612c07565b95945050505050565b6011805460ff98891661ffff1990911617610100978916979097029690961763ffff00001916620100009588169590950263ff0000001916949094176301000000938716939093029290921765ffff0000000019166401000000009186169190910265ff0000000000191617600160281b918516919091021766ff0000000000001916600160301b9190931602919091179055565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80611f658385612c1a565b905083811015611fb75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610a2e565b9392505050565b5f611fb783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e6a565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f54600160a01b900460ff16156120b85760405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a59081a5b9a5d60a21b6044820152606401610a2e565b6120c133612021565b5f805460ff60a01b1916600160a01b179055565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f611fb7606461214e8460ff871661272c565b906127aa565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461219d576040519150601f19603f3d011682016040523d82523d5f602084013e6121a2565b606091505b5050905080611dce5760405162461bcd60e51b815260206004820152601260248201527108cc2d2d8cac840e8de40e6cadcc8408aa8960731b6044820152606401610a2e565b6040805160028082526060820183525f9283928392909160208301908036833701905050905030815f8151811061222157612221612c2d565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612278573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229c9190612bec565b816001815181106122af576122af612c2d565b6001600160a01b0392831660209182029290920101526012546122d59130911686611775565b6012546040805163c45a015560e01b815290515f926001600160a01b03169163c45a01559160048083019260209291908290030181865afa15801561231c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123409190612bec565b90505f816001600160a01b031663e6a43905845f8151811061236457612364612c2d565b60200260200101518560018151811061237f5761237f612c2d565b60200260200101516040518363ffffffff1660e01b81526004016123b99291906001600160a01b0392831681529116602082015260400190565b602060405180830381865afa1580156123d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123f89190612bec565b6001600160a01b0381165f908152600160205260408120549192509061241f9060646127aa565b905080871161242e5786612430565b805b6011549096506124539060649061214e908990640100000000900460ff1661272c565b945061245f8686611fbe565b60125460405163791ac94760e01b81529197506001600160a01b03169063791ac947906124989089905f90899030904290600401612c41565b5f604051808303815f87803b1580156124af575f80fd5b505af11580156124c1573d5f803e3d5ffd5b5050505050505050915091565b6001600160a01b0383165f908152600160205260409020546124f09082611fbe565b6001600160a01b038085165f90815260016020526040808220939093559084168152205461251e9082611f59565b6001600160a01b038084165f8181526001602052604090819020939093559151908516905f80516020612d118339815191529061188c9085815260200190565b6010545f90600160b81b900460ff161580156125845750601054600160c01b900460ff16155b80156125995750601054600160a01b900460ff165b156125c657305f90815260016020526040902054600a5481106125c4576125bf8161195b565b600191505b505b801580156125de5750601054600160c01b900460ff16155b80156125f45750601054600160b81b900460ff16155b80156126095750601054600160a81b900460ff165b80156126175750600b544710155b15610af757610af7611899565b805f0361263b576126368484846124ce565b612726565b6001600160a01b0384165f9081526001602052604090205461265d9083611fbe565b6001600160a01b0385165f90815260016020526040812091909155612687606461214e858561272c565b90505f6126948483611fbe565b305f908152600160205260409020549091506126b09083611f59565b305f90815260016020526040808220929092556001600160a01b038716815220546126db9082611f59565b6001600160a01b038087165f8181526001602052604090819020939093559151908816905f80516020612d118339815191529061271b9085815260200190565b60405180910390a350505b50505050565b5f825f0361273b57505f6109ff565b5f6127468385612cb2565b9050826127538583612cc9565b14611fb75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610a2e565b5f611fb783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f81836128065760405162461bcd60e51b8152600401610a2e9190612812565b505f611e998486612cc9565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610af7575f80fd5b5f806040838503121561286c575f80fd5b823561287781612847565b946020939093013593505050565b5f60208284031215612895575f80fd5b5035919050565b5f602082840312156128ac575f80fd5b8135611fb781612847565b5f805f606084860312156128c9575f80fd5b83356128d481612847565b925060208401356128e481612847565b929592945050506040919091013590565b803560ff81168114612905575f80fd5b919050565b5f805f805f805f60e0888a031215612920575f80fd5b612929886128f5565b9650612937602089016128f5565b9550612945604089016128f5565b9450612953606089016128f5565b9350612961608089016128f5565b925061296f60a089016128f5565b915061297d60c089016128f5565b905092959891949750929550565b5f6020828403121561299b575f80fd5b81358015158114611fb7575f80fd5b5f602082840312156129ba575f80fd5b813562ffffff81168114611fb7575f80fd5b5f80604083850312156129dd575f80fd5b82356129e881612847565b915060208301356129f881612847565b809150509250929050565b600181811c90821680612a1757607f821691505b602082108103612a3557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b60ff81811683821601908111156109ff576109ff612a70565b6020808252601b908201527f43616e6e6f742073657420636f6e747261637420616464726573730000000000604082015260600190565b634e487b7160e01b5f52604160045260245ffd5b601f821115611dce57805f5260205f20601f840160051c81016020851015612b0d5750805b601f840160051c820191505b81811015611e18575f8155600101612b19565b815167ffffffffffffffff811115612b4657612b46612ad4565b612b5a81612b548454612a03565b84612ae8565b602080601f831160018114612b8d575f8415612b765750858301515b5f19600386901b1c1916600185901b178555612be4565b5f85815260208120601f198616915b82811015612bbb57888601518255948401946001909101908401612b9c565b5085821015612bd857878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f60208284031215612bfc575f80fd5b8151611fb781612847565b818103818111156109ff576109ff612a70565b808201808211156109ff576109ff612a70565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015612c915784516001600160a01b031683529383019391830191600101612c6c565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176109ff576109ff612a70565b5f82612ce357634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef887b60eeb739c5bafd6fb91252e90ed0ab7744b0cfb29af5b58a41abc3ba6b1945524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212200763efdceae5b9bf02d1b4eb2322fce703f5b5fe522927a3275c2b06fd9c41db64736f6c634300081900330605581e03d6b3c7c69d99c0c7cd5e483b1f10d0a875bf95b26535f60c04b9d2d0200701192dab03b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b00003cfbe19e250ec3f22cec3708a030efc8a2be0fff8d9458858152c2d6e906e7f9d05581e030599e0aa8813b88c471487fc0d3a6b093671bc00516c8b6f6f0764db0007011bffffffffffffffff05581e03e92010691d75cf092627574075a2cdcd0398c758c2a0a72c5deb543130040105581e0337fa98de52cf96d693bcb6ef1434ceb85be54386eb47f6a0475e7e4a300c024601196262279003961cb6540f0f6d7058ccf0078769be839c847dd37974efbba8d55cd5ae834abc01410a05581e0317a9034afae1710865ca236451dcdc1c49e13a5cc138ebf6db43758c800c034706d40618216d0005581e03da27835d2f83f4df701ea86807836ff7a4a7e49c4550386cc98d0be6e00c0145018b92f5040382ed0cb848822864bc6cce476c10768662639469d613a7dd7b449e338ada2bea05581e0351d37f8915d0a9ae15d5c067273d98695a232911477ac784ab06400b60040105581e033d0b0ae0830d2ab8c7b59b345d5789cc91eb848417690f1450a9e57e600c01470a2f7f145f00880219e7e5035a908a2fdfb2ad0a6313b955acb37ed03beac2ba15005ea7b4f8faf96e0124da033112e592336e4d0a22c9aee45a570f7ad65c5ee7f865dc7e421c237fa667b48603909d6e25c2222d9328f6037ed478bc61de906ef4ff6e85e4f30e5aaf1aa70e4603d94befc38e3bc0a783e19bcc635f2a919c3211777821c5be6529a15fb8a572ac031b8931cb9338d8fe9102dc129c53b14c69ef92b5d52dd080183d344b4eb8fa91039f4e7fa3e15b97ea55724478e86acd3acc7cda478ad9038e6f7726f4f4dadcad03a43ecf3681468f173a2e7f1a8280d0792ff5132c189ed53a3aafdfe441d2b6c40329f8b42ed736fab16cf550441564152e2c798d622d52e7ee8a833967b1a6672803f77d35d67daff9bb25623ea2489578f1ebbeec82d6151253138e20c140ea3a71037cf9213df1328612ec7fde432ec469e3802a4f97dc6f308ced39562c6a7768bf0219ffff03207779723b5f326aae8ea4075a974c158a31e6f990270aea8dccfce2ea05f434036c4cdb997c62f856ed265d4aee717b13f1db74b197e9886891b7ea5143e56053030ac39de15bb07b66f789774d0a5e96f14db71455550f9ea728a38043778693840335eb59cebf4eeb421b737bd0612174fa41e84cd5aa29fae4e905e40f64fb4e8703ad4a9b909e1f43eba623eb6401d7e537bfccea0e729223bb00ec25de1dcbeb23035044b7777cb985b92b7ddc8fcfed848c1b91ea119a130d378a9ef58d5d96df3c0381277a5c63ca90fbeaf63b057388fe76649bcb27e8678c9653f12d7ec993d1b60374d134e78882b46b1ba968733dadd8b12fa66b6bcca728547ae95a22278f662403e31bbf5a05b927b7de75ef27669cdcce7809f372fafb688b8c6e6bff88c06659036a764d34d173441aec95d1cb27abc3f9e289b1f1b7d4655b8633f16df038aacb03399c380ce5a428e8412da4064f55aee00a59316617e4849aec005b1960bc10d103faeff6b117fea4e570455f27dd9bd4ad45f4873bb1fba487aadb63532d7a3cc90219ffff0347e1d5bc04766fcbab96b56f93ed85a31f7c65e5db926c62e818e96f36ce80c00219ffff03b39c94e433cfba62560b40fef5ba47cb509524bc4cb5bef5a9c85b5c58aadd75037ff588e5b388ff208c433994507e89531ff4b4dfc22d93669fdf84ddabecd05303c9d56afe209749aba17f4c9ea0c4c4f9c9a89f0976ae58f24c60edf7e645ee5d0354818cf5987ef333ca41f41c43ebe6d1780911a90b1482eda2a87f08dd291aad038c94ce9360f1923d68c16291fae66f22ac396afb040ed0269177f01f251d158503264f137927346bd366e762c897845bede0eebb895a06af478a6959eac6cedc9a031ac17f60635b8b4c9a9d12d5bf46dfa0797bdeea0cbe61e195fda57868787b0f0219ffff039dd8d9a92d191d57963de05d93d82b8aa7eeff22b8133708ca797be2a2fc752e0311957f10d9bf3f386d9f23bc653a1e8b97863982313e8b4b1b55db50a583d587035a924e1e2d0ac2253c10741211d4d2252b6f862667b71f5a7d183f44c35fc32703f852135ad064c19d877943b40ba107aad4a2f44164517cdf3d7a06ce1674fe6c031184909ae35597604571c1bb3b7bfc0b79182e8a4104c779d439914edc4598aa03c12bdb83a6e74489b4ca1cd4d3a9a99191f3ee3d4b2250ddfdafc3edd2fc27ff033e81458f593f541255ad80cbc0df2bb681e7956337f224d7b0df9b01b634607b0386d6e2213e0db7dfd8df71986adce1367718786ea9ba6c7f05c9d7b122b5ec7d03ec4efd67167e1fa738d014d1f72664cfc6b485ab96dc007998db16b2a0c4d8420376738500ee29d27237e53ad61397d15119c0fc4bb280a92b33a33e6cbe481e6d03daa60019f65d937daf6e58647306d1b1ec6b4a3498147e78d75df46f655db1a703a0e0365767237d9f312d114b20889abe807080eae3a3383786dac1e2d3f0a63703703f58be82cae3a5dfb497b2f6489035be4f20dfa0ca4352b0972595d53915c203cf4d82245bd7fd45cee916226f5092fc26715199f4a450005711d351598174180344725190002f70273a349959c48e8f23d42f67eeb905efbe08714ac5f0026c9a034b575ca5cceead972bf6d0e375043dc480be636886c3d145259d7f3e0c7c926b0322017c13adabf0d588f34c9ead2e2fec964f96a2ad7ca0d51c3595993948a90a039ebdd70d579d81bbf22a62a948fca785e65775a1fcb75ec39e9271f8be39f67b0398b58ba95a018a2db1fa75f0075c842a7e509e61d082164bfdfe8900bc5d338e0370fd8016e4398d7bb4326dd1653bd201114c0a18a78d6cff772add3a03dced9203bce0ffdffa8fcfe2f104b70efed88bc6f34d113f16b5042cb5bf44a85e2513e7030cb78482abe1add1b96a4651705ddc0133d12c1e0d3d50f3d52b70804dc216db05581e0360a77ac1e3a4ef93d14d2eb6addeeb445e5171b2a8f43117793b7f137004010351b05e040aadfd11ddc1dce7bc73d6ddfbee0b316a28347b62c2e7562d60a80d03aa9793046a9449ca79b044376d09b870c7b7e2215c89cc03342117c077de2dce05581e0370dcfd85ebaea32c04e6228168ab89814379ba8c0b3a5fcaf81b09891007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e034623409c6fb55f32c7373e5825791af1bc78a61349048973fb3e3d543007011bffffffffffffffff05581e03f301474443f45515b763981f481eabe61c5272a3e49f4801fe5f12a6b00c0147013c811061c00005581e035cc34a56361807709ca4001dfcf4397d82ed13345d9c20067ba18a6da00c014702f4f507d37c8505581e03ace65a9a734ac166dea39464d71ba94874c07313931edaf1ddcb4382300c02470977e95f47760005581d02ed1a28b049e9d4fe5334c5902fd9bc00c42821c82f82ee2da10be90808410205581d02201baf6b441ce64cf1b2203039d35c93fcdbc68e4e498b3fdacb0a670c0a47021a49ea1fe9600219014005581e03fd422beb48c1ed0b6cb6dcdd5562bd3dd8f09b36938f52a88baf9c7ce004010219adfc0345f1ef638f1fdbead8405c25bc216566c62a6df6eceb16b8f85334f426cff3ce035cabce30349057b51395f883f8cf6117387e27faad81c5603e4583a9a67cf2210303adc463728368d1d1dfe4fd9089f5877694fd9da7b02d603231942710664ed503175b0a73cad8419386aab959e927f8ab988ee0e787b83145fd85a4af306fc098035b294eba69f34a70bea985e3ce729fdc4ae7ca47dbb78e1300a3523563d8fbef03990627dbb66dd82162459d5fffd217ec50c85535f874c2d4088885a199a75e6b03b05fb3b08e93fb45f8acfe229fc310eef831786fd11c937e8e8b0e113514e1e903f0cc559799f20c450095566881fd55d087c14b8469ff4b16a7e58204c5486f4503c8b706fb0e0fac7c38a642e76bab5492e4cb2d4956a7ff91269f81b4b58b703b03e417e5cb0e9ce34936ee9b9e9ef8073876c831aed336ff651947575ef5f2e0e2036196537c4dc0eab4a8c1ba1894e5388f4ced4c7787ca8d49468d99e024a650c4032a594eec1e3731fe8d569f1f9ed4dc0eea28ef42ab36ea826d5a5f0a742d2b70036f3278b5ad8f5dfb926e5a1784e5ded71adc19fd30b8d93bdbd0114b9398a6270219ffff03f113e6ee6562c60b26fe93477e8e081840d2cd6535a86e71d877623b65d9a13503379202e8317d7ece2825eeb4c9ad23e3f525b171716f24c914df6f5c43d444d0031d495f642b7bf22cdfce59576d611b010d0f145c6892ac1c083acce06cadc1130378b7d001dd410b10bcc5003aff2f9b4ea30fae89d698cb4a792ca2976965063803b6fcaae211899f53d5bc746f243b66a713c1da6bba0d5b34cf6c83a9dad0f19a03a299a26a3f40a822598d33ffa3f7740aaee7bcd901e7a493dd9c952ee1b6629e0341c86ce3fc413e563f72a1d0d6d26e367af5401915ab3a6a0add9b1194a4274c0314c7487067bbe86d1aa8037daec2496abd4444b7cacb07a4151eb302a93977c603e55be0122eeccce6810e8391a6e0dc656a02eda990748751cb8e9558922d718a0362b94448240c034d959b82b444572740a73354b67ea45dec964fe06a0d52c1be03d4ae6030d660065c1589dc2390138383d369865e37e3fe6ccaaf84320fc35160031c86eb03b66883225c8c4df50e1191e82fff536a772dfb18f8a00d61e4b2432a03cfc513c0416e2a0532502c8be2616d965cfc2d52b9d8e1b195c34640a69b14ba03aeacc17991419d12b7c27f34725e4de8a1293eeb8cb71e45336cf2f8714858b103468c4425760679a9cabf61260e6ff1cede1ba819cb8d72ff80df80abac4123ca0219ffff0388819d4a90eb35ae67938d4cd28b874818a7e005a8ecce9d035b1bfb6647362603c351b591916a0aa13dc8105f15a650c336ca78200c2b44b53d982679e12ef1d703f36bc4430f09f7fc6950df7c1299fb32b4b0b848658f407173a829c9921f17a103d0b0b8095782982f3f553616a17f09931d66720d61760574578d89f45a1312e303860a28725a40b2371ebef64355159f4cefcd3a99ed2ece91801f743b435f9e11038288257069b2569abfcf828f6157bf9b0bda86b98ad3561ea4b5fbb168d3136503651b4b1878c9aa26bc24fbcb3ea6acf975d0ea09c6d91c8a3612f07665fb49300219ffff03adf54996943ad1c3a37cf4b45f1ec8ddd3697a17e8fd6c16f7660c879249c6c503b00898a0e3c941dbfa6df95151047894ef57ed5ece34eb9f93c42c395bf46e600335e58cc634c872fb8e00ee070db5e2393a113f2e7d96bc691f61bea94d88061a038886f7ed5d4ef69a82d7b031a7979f2a131354ec50686c46079fcd46526e9fe9030665feb23477b8ea4f16b1af25908e346162ef6ba121289fd4045a3679ed63ec03f1823b04e8b927aa320cb47408b21ffea7251835569df62c80a3957b1d68be7b038798f62c9737bda3c6aae4e653007455cb135bb742c882f2f546fada9e805dd003b65c9c48181351c4f0405ad0fd57615a9f2485289ba87777262803baf31a20f7038535b927f8273155bf98d141c332e73360d1a2d029a48d0eef35b4debc30ceb6034161ec375c2af33eb68940106a375481a95999c1bbb2886770f733a7ed66221603f81f893cbc9b2af75b5ee38ec328ce3fa0e6551358f68c0e41a9d597be772cbd03999e0fb951e23b0cd8106573a299ffa93f25fda2e2ca75edff853e2729d0e1ec03fc53db350db04bc0c16116af0f59d1f4d2ebfc2740fbfac4d93e67bd5f072b0d0384c86ce7136d23cd4712371b24e824b263001d6fe11c3af00e15ece598a54418035cc88395cb0e648ed19e26c48b3bb6e2f5c231609614c400cf82ffd6f21779540346b884221e4fdbe183320d2f57deac4e80c2c6ed67d4547a10153abc3a8402b40360cfd9f96e3440dd53b5d3a7b3c7b8f3ae750788730938d94d41e2dee37c18af03941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03e9a3d392e411898e63f06d94f38bbe721041dd7899c850350ab4301cf007011bffffffffffffffff05581e037c23f5c62a87aedc010ec172adfb2eae7448b79d4425c2e22e921eb4200c0247016a9f4366e8ab05581e0381107858becc4ac581bdc231bf54f5504f024d97ba411b73c79e7455500402033456ef258b619d989710a35e93b471b07c74d6cd5817f4bcf4c16a4dd40a070e03bb9f98e02f2e538dc47388d31ab3a7d7367368b4854b9a5dd8cac6a5945c92ca05581e03d8d3b72e0a543c7edc49d1bd40af55d7e8edfbd98b3dd9403cd1ba9e3007011bffffffffffffffff04590e086080604052600436106100345760003560e01c806392f5f03714610039578063bc17c2901461010a578063eb365adc14610148575b600080fd5b610108600480360361012081101561005057600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013582169260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156100a557600080fd5b8201836020820111156100b757600080fd5b803590602001918460018302840111640100000000831117156100d957600080fd5b919350915080359073ffffffffffffffffffffffffffffffffffffffff6020820135169060400135151561015d565b005b34801561011657600080fd5b5061011f6103ae565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561015457600080fd5b5061011f6103d2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614156101f857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f544f4b454e5f504149525f494e56414c49440000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff89161561023f5761023f897f0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582896103f6565b6102db85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505073ffffffffffffffffffffffffffffffffffffffff8b161561029b57600061029d565b885b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000001111111254eeb25477b68fb85ed929f73a9605821691906105ec565b506102f3816102ea57896102ec565b885b848461061c565b610306896103008b61068c565b8c61061c565b60006103118961068c565b9050868261031f5781610329565b6103298286610750565b101561039657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e53554646494349454e545f414d4f554e5400000000000000000000000000604482015290519081900360640190fd5b6103a189828d61061c565b5050505050505050505050565b7f0000000000000000000000001111111254eeb25477b68fb85ed929f73a96058281565b7f0000000000000000000000001111111254eeb25477b68fb85ed929f73a96058281565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d602081101561049757600080fd5b50519050818110156105e6576040805173ffffffffffffffffffffffffffffffffffffffff80861660248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6044808401919091528351808403909101815260649092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905260609161055891908716906107c4565b8051909150156105e45780806020019051602081101561057757600080fd5b50516105e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f415050524f56414c5f4641494c45440000000000000000000000000000000000604482015290519081900360640190fd5b505b50505050565b6060610612848484604051806060016040528060298152602001610d8060299139610806565b90505b9392505050565b8161062657610687565b73ffffffffffffffffffffffffffffffffffffffff83166106665761066173ffffffffffffffffffffffffffffffffffffffff8216836109c1565b610687565b61068773ffffffffffffffffffffffffffffffffffffffff84168284610ae7565b505050565b600073ffffffffffffffffffffffffffffffffffffffff82166106b057504761074b565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b15801561071c57600080fd5b505afa158015610730573d6000803e3d6000fd5b505050506040513d602081101561074657600080fd5b505190505b919050565b60008282018381101561061557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b606061061583836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250610b74565b606082471015610861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610d5a6026913960400191505060405180910390fd5b61086a85610b83565b6108d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061093f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610902565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146109a1576040519150601f19603f3d011682016040523d82523d6000602084013e6109a6565b606091505b50915091506109b6828286610b89565b979650505050505050565b80471015610a3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015290519081900360640190fd5b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d8060008114610a88576040519150601f19603f3d011682016040523d82523d6000602084013e610a8d565b606091505b5050905080610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610d20603a913960400191505060405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610687908490610c47565b60606106128484600085610806565b3b151590565b60608315610b98575081610615565b825115610ba85782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c0c578181015183820152602001610bf4565b50505050905090810190601f168015610c395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6060610ca9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b749092919063ffffffff16565b80519091501561068757808060200190516020811015610cc857600080fd5b5051610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610da9602a913960400191505060405180910390fdfe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122050397ee787fb1d58e3e903238c7d1718cd391327e4fcea9bc1beff8a1dd1012d64736f6c634300060c00330605581d02d2204a69e2cab0614ded273c14f6ed5507d3425b08ae058f277830550701190e0805581d026b665531c0015e4919985cceb302c6c3c10fd194d31f351b52e694a008480402f5085b8459d605581d027b02eda395acbcca1f278f117d8dc3881bf21ec746fb555f3be2bc6c0c01466aa6d003a45802195080038d712fe74b9ee69e7222ea2a85c0685b7df0374eadb16949ebd897c2463c6da405581e03c273b15c6227faa815818138aea127c617c45428feba3efe649162c2300c024616fd3a57bb08033997290701117991e651a2d16583488a31adfcc520f7b2b4b7ddf33e34d21c2303e376e6a774b34999207f4f5fef5fc6ee5f822ffb11b7ed3e10184561363f52a502199b5c030acccd5f9cca5be57556cc9c2549e2ab8c5429a802efc462cf6474ebbb63fcdd030a70e9f58155c0bc8a81726fb974eb1f6a37acc117f93395640f39adf21582b303aaf949e206ac6d006073b4000c469bf188e72c95b5f356dba1b96e1fbe80e8f8032709ad3b8548aefac7246f3c603048a585b67ad734d0defd49e3368e596af06603e6d51fa5911ee40566302a68138b14578ef60be78d0857bed40ce4fdf2e003f203ed2cd7a3237aab244b796bc5c5e79dfb7494366a64b3888fdb818bdac7b52c5a031c742a4d485ce5012bffe5d8a33790b136662aad35beb4cdcf4b6826296886c5034bd16d64e864e5d57a56f682b517540c480d1db5590e200ca1fce4525ac30b4d03d387501f307cc515c492ee68359d6fa2c6cfaa526107b311d0a247307aedd44e03fc8b785b6a6d1db12b6ec20489e02dd966ee6fae5c791c2ffe23fa85b28b2596033b1428e816015b5fc58bc1f3d4744611c03fd4c1d5f338e07995e3e7167c5420031b6da0a1d7e37dec193ac5a23ac34a75c936083a516be2fe060ad12ba44579fa03ae45309eba83a21de330c7e707a531b334c78571b82e67de1ac4678ba054b6070319554ebcf1420a8f49c7816a791d02d908a4f5506060365bab46e46c6ef2cfd30219ffff0327c24b2f76e21be4e9a31455f18091a04c85eec638806530a425a2422565b0f903d7ac49550aa42d70074ce95f3ded56f2c5d117b3161b4b24cdf608d366c714420219ffff035de4e345c738d69955957c19dc7ea996be0d4122d1faa540738f2c6204590022031cfde68878843b21f5a0367da12372b68d2cab628272383b6ab96f446462eee503654d0402b27973014d4206173b5cc694b38d6f5b8920f2ba3f3c60e6b2603eac03ea2ee3ea4de3c24853737edbb10faf3dcdf1087f4f7705619c6e9eef688e0d1803eaaf2dd166c2a421dc3262d49dff93d3530c25f4cc5ba65ef6ab41bd7a35b81f039cfa31ce9be3f5c6e2b10349f735948170ee06e4a1d61c4508d3739c68b640b7032a71c6fdbab94dbe35a42ff5c562d4d9d07b47f9344fc3b05b9065e6206d625b03d73acf5a300b3adc90a62dcddf10a1bdb060f7255c06ae04ef58a641efa83a2c037f810f90902545c2cc017064f7072fb64b1e47d9db88a7df41ad39d5706fb36103e767de28d97f85885e25dcf8d26d04f2c6e06cf942530426d1baf1654ca39a1803ac86c90e547c99086017c49748418d44ba039c148313313a0d4559ce363a2dd703856d544051904a94722f60d106151a255340de7b919c5002f9444f247a4681c303fccd2b7d5b1ec7b9297fc4515a9221a879b0a689fbc2ad1ad4e66dc463f9ab8203fbd586e60f0502e35dec6540269aed1904d6a063526ece78e4510d544a472f8d03b6d8b7561817d1c7cf5fdb9eceb53e7bf6eb705ab414df52ea22dac8c32d6a8203db067826833038f89cadeb2c52d7c318e91b09ee75d4837bf42665c5980e454d03c72fd7f01381a940d522accc631f78389a24202f7bc155ed1bd7e57f9096fc1705581e03d7fe947947dc9d4157ace5e84cbfbdbf4ce122517b00eac4889876edb00c0248524ce418ae9d680003121e0ce0b21422756d088a73747e15545ebdc80e716fd0300ee8cd1c8cd706c105581e03972281aad573a2fee1a940b24d52bb050576a17e80ecdee33a0c596f7004010395c1c65e5f33ad210e9c1e5d30102433e9f4885c313df09352303668737e0cbc05581e03c8fe1f8210260566bc1c466452611c0276f061212ef5428e81287afa500408039595fe293f8f67d03e36382074f7dfaee611b36b3c4826cfe14743f697a942e305581e0364c618a84b7f68be293efed010e031be1307ffd12b35ab66e96f60eea00c0847437e9288c4039903dd7317517675424ddcd51ac67efec6921abbd86bc92e09029f28540dd766cf2a03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02b7289ee1970051d1cab299b8b297664aa4e2e25824ca24c60dd6c29507011bffffffffffffffff04595673608060405234801561001057600080fd5b50600436106101da5760003560e01c80636144a2d811610104578063a457c2d7116100a2578063d402972711610071578063d402972714610534578063dd62ed3e14610604578063ddeb24061461063d578063f812b9a41461065057600080fd5b8063a457c2d7146104e8578063a9059cbb146104fb578063b488dbc61461050e578063d240a93a1461052157600080fd5b80637fedcdf9116100de5780637fedcdf9146104a55780638523c745146104b857806395d89b41146104cd578063975fe3ca146104d557600080fd5b80636144a2d8146103d157806361c2acc31461046957806370a082311461047c57600080fd5b806323b872dd1161017c578063451df11b1161014b578063451df11b146103855780634552788a146103ad5780635c9302c9146103b65780635f169f5b146103be57600080fd5b806323b872dd1461033d5780632f52ca3614610350578063313ce56714610363578063395093511461037257600080fd5b806310d9d349116101b857806310d9d3491461024157806318160ddd146102545780631823b7dd1461025c57806322bb5e541461031257600080fd5b806306fdde03146101df578063095ea7b3146101fd5780630fa7609e14610220575b600080fd5b6101e7610663565b6040516101f49190614e34565b60405180910390f35b61021061020b366004614ea1565b6106f5565b60405190151581526020016101f4565b61023361022e366004614ecd565b61070b565b6040519081526020016101f4565b61023361024f366004614efd565b610ba0565b600254610233565b6102c361026a366004614f3f565b600c6020526000908152604090208054600182015460029092015490916001600160a01b0380821692600160a01b928390046001600160601b0316929181169181046001600160581b031690600160f81b900460ff1686565b604080519687526001600160a01b0395861660208801526001600160601b0390941693860193909352921660608401526001600160581b039091166080830152151560a082015260c0016101f4565b600954610325906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b61021061034b366004614f58565b611075565b61023361035e366004614ecd565b61111f565b604051600981526020016101f4565b610210610380366004614ea1565b61148e565b610398610393366004614efd565b6114ca565b604080519283526020830191909152016101f4565b610233600d5481565b6102336117c1565b6102336103cc366004614ecd565b6117d0565b6104286103df366004614f3f565b600b602052600090815260409020546001600160481b0380821691600160481b8104821691600160901b82041690600160d81b810463ffffffff1690600160f81b900460ff1685565b604080516001600160481b0396871681529486166020860152929094169183019190915263ffffffff16606082015260ff909116608082015260a0016101f4565b610233610477366004614f99565b611c77565b61023361048a366004614fbb565b6001600160a01b031660009081526020819052604090205490565b6103986104b3366004614efd565b611fb1565b6104cb6104c6366004614fd8565b6122aa565b005b6101e76124d7565b6102336104e3366004614ecd565b6124e6565b6102106104f6366004614ea1565b6129e2565b610210610509366004614ea1565b612a7b565b61023361051c366004615022565b612a88565b6104cb61052f366004614f3f565b612c44565b6105f0610542366004614f3f565b600a602090815260009182526040918290208251608081018452815464ffffffffff81168252650100000000008082046001600160481b031694830194909452600160701b810461ffff90811695830195909552600160801b90048416606082015260019091015490928181169262010000830460ff908116936301000000810484169392810490921691600160381b810463ffffffff1691600160581b8204811691600160601b90041688565b6040516101f4989796959493929190615047565b6102336106123660046150de565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61032561064b366004614f99565b612e07565b61023361065e366004615022565b6130ba565b6060600380546106729061510c565b80601f016020809104026020016040519081016040528092919081815260200182805461069e9061510c565b80156106eb5780601f106106c0576101008083540402835291602001916106eb565b820191906000526020600020905b8154815290600101906020018083116106ce57829003601f168201915b5050505050905090565b60006107023384846135f3565b50600192915050565b60006362196d804210156107545760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe83398151915260448201526064015b60405180910390fd5b6107866040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b6000610794613718565b815260200190815260200160002090506107ae8183613736565b60075460405163f2b2914160e01b8152336004820152602481018790526000916001600160a01b03169063f2b291419060440160206040518083038186803b1580156107f957600080fd5b505afa15801561080d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108319190615147565b9050806001600160a01b0316856001600160a01b0316146108825760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061088d86613872565b90508060e00151151560011515146108f25760405162461bcd60e51b815260206004820152602260248201527f4844524e3a2043616e6e6f7420706179206e6f6e2d6578697374616e74206c6f60448201526130b760f11b606482015260840161074b565b6000601e8260c00151610905919061517a565b905060008183608001516109199190615199565b90506000806000601e8411156109765785516020015161094490601e906001600160481b031661517a565b9250620f4240601e8760a0015161095b919061517a565b610965908561517a565b61096f91906151b0565b91506109c1565b8551602001516109909085906001600160481b031661517a565b9250620f4240848760a001516109a6919061517a565b6109b0908561517a565b6109ba91906151b0565b9150600190505b6109cb82846151d2565b336000908152602081905260409020541015610a425760405162461bcd60e51b815260206004820152603060248201527f4844524e3a20496e73756666696369656e742062616c616e636520746f20666160448201526f18da5b1a5d185d19481c185e5b595b9d60821b606482015260840161074b565b60c08601805190610a52826151ea565b905250610a6886610a6384866151d2565b613975565b60018115151415610a97576000606087018190526080870181905260a0870181905260c0870181905260e08701525b600760009054906101000a90046001600160a01b03166001600160a01b031663317e2e63338e8e8a6040518563ffffffff1660e01b8152600401610ade9493929190615205565b600060405180830381600087803b158015610af857600080fd5b505af1158015610b0c573d6000803e3d6000fd5b505087515164ffffffffff166000908152600a60205260409020610b339250905087613a24565b610b3d82846151d2565b89604001818151610b4e91906151d2565b905250610b5b888a613b84565b82600d6000828254610b6d9190615199565b90915550610b86905033610b8184866151d2565b613c39565b610b9082846151d2565b9c9b505050505050505050505050565b60006362196d80421015610be45760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b60075460405163f2b2914160e01b81526001600160a01b03868116600483015260248201869052600092169063f2b291419060440160206040518083038186803b158015610c3157600080fd5b505afa158015610c45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c699190615147565b9050806001600160a01b0316836001600160a01b031614610cba5760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b6000610cc584613872565b90508060e0015115156001151514610d325760405162461bcd60e51b815260206004820152602a60248201527f4844524e3a2043616e6e6f74206c69717569646174652061206e6f6e2d65786960448201526939ba30b73a103637b0b760b11b606482015260840161074b565b6000601e8260c00151610d45919061517a565b90506000818360800151610d599190615199565b90506000828460600151610d6b613718565b610d759190615199565b610d7f9190615199565b90506000828560000151602001516001600160481b0316610da0919061517a565b9050605a821015610e085760405162461bcd60e51b815260206004820152602c60248201527f4844524e3a2043616e6e6f74206c69717569646174652061206c6f616e206e6f60448201526b1d081a5b88191959985d5b1d60a21b606482015260840161074b565b82821115610e14578291505b6000620f4240838760a00151610e2a919061517a565b875160200151610e449086906001600160481b031661517a565b610e4e919061517a565b610e5891906151b0565b9050610e6481836151d2565b336000908152602081905260409020541015610edf5760405162461bcd60e51b815260206004820152603460248201527f4844524e3a20496e73756666696369656e742062616c616e636520746f20666160448201527331b4b634ba30ba32903634b8bab4b230ba34b7b760611b606482015260840161074b565b6000606087018190526080870181905260a0870181905260c0870181905260e087015260075460405163317e2e6360e01b81526001600160a01b039091169063317e2e6390610f38908e908e908e908c90600401615205565b600060405180830381600087803b158015610f5257600080fd5b505af1158015610f66573d6000803e3d6000fd5b505087515164ffffffffff166000908152600a60205260409020610f8d9250905087613a24565b600754604051635e21bb4560e01b81526001600160a01b038d81166004830152602482018d90528b811660448301526000606483015290911690635e21bb4590608401600060405180830381600087803b158015610fea57600080fd5b505af1158015610ffe573d6000803e3d6000fd5b505050506110188933838561101391906151d2565b613d7f565b506110368661102660085490565b8d61103185876151d2565b613ea9565b81600d60008282546110489190615199565b9091555061105c905033610b8183856151d2565b61106681836151d2565b9b9a5050505050505050505050565b6000611082848484613f62565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156111075760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161074b565b61111485338584036135f3565b506001949350505050565b60006362196d804210156111635760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6111956040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b60006111a3613718565b815260200190815260200160002090506111bd8183613736565b60075460405163f2b2914160e01b8152336004820152602481018790526000916001600160a01b03169063f2b291419060440160206040518083038186803b15801561120857600080fd5b505afa15801561121c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112409190615147565b9050806001600160a01b0316856001600160a01b0316146112915760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061129c86613872565b60e0810151909150156112f15760405162461bcd60e51b815260206004820152601d60248201527f4844524e3a20485349206c6f616e20616c726561647920657869737473000000604482015260640161074b565b602081015181516060015160009161130c9161ffff16615199565b90506000811161135e5760405162461bcd60e51b815260206004820181905260248201527f4844524e3a204e6f206c6f616e61626c6520646179732072656d61696e696e67604482015260640161074b565b81516020015160009061137b9083906001600160481b031661517a565b905080156114825761138b613718565b6060808501919091526080840183905286015160a0840152600160e08401526113b48382614130565b80866020018181516113c691906151d2565b905250600d80548291906000906113de9084906151d2565b909155505060075460405163317e2e6360e01b81526001600160a01b039091169063317e2e63906114199033908d908d908990600401615205565b600060405180830381600087803b15801561143357600080fd5b505af1158015611447573d6000803e3d6000fd5b505084515164ffffffffff166000908152600a6020526040902061146e9250905084613a24565b6114788587613b84565b61148233826141c6565b98975050505050505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107029185906114c59086906151d2565b6135f3565b6000806362196d8042101561150f5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6115416040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b600061154f613718565b815260200190815260200160002090506115698183613736565b60075460405163f2b2914160e01b81526001600160a01b03898116600483015260248201899052600092169063f2b291419060440160206040518083038186803b1580156115b657600080fd5b505afa1580156115ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ee9190615147565b9050806001600160a01b0316866001600160a01b03161461163f5760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061164a87613872565b90506000601e8260c0015161165f919061517a565b905060008183608001516116739190615199565b905060008060008560a00151111561170b57601e8311156116db578451602001516116a990601e906001600160481b031661517a565b9150620f4240601e8660a001516116c0919061517a565b6116ca908461517a565b6116d491906151b0565b90506117af565b8451602001516116f59084906001600160481b031661517a565b9150620f4240838660a001516116c0919061517a565b601e85600001516060015161ffff1611156117525784516020015161173b90601e906001600160481b031661517a565b9150620f4240601e89606001516116c0919061517a565b8451606081015160209091015161176d9161ffff16906152c8565b6001600160481b03169150620f424085600001516060015161ffff168960600151611798919061517a565b6117a2908461517a565b6117ac91906151b0565b90505b909c909b509950505050505050505050565b60006117cb613718565b905090565b60006362196d804210156118145760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6118466040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b6000611854613718565b8152602001908152602001600020905061186e8183613736565b60075460405163f2b2914160e01b8152336004820152602481018790526000916001600160a01b03169063f2b291419060440160206040518083038186803b1580156118b957600080fd5b505afa1580156118cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f19190615147565b9050806001600160a01b0316856001600160a01b0316146119425760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061194d86613872565b90508060e00151151560011515146119b55760405162461bcd60e51b815260206004820152602560248201527f4844524e3a2043616e6e6f74207061796f6666206e6f6e2d6578697374616e74604482015264103637b0b760d91b606482015260840161074b565b6000601e8260c001516119c8919061517a565b905060008183608001516119dc9190615199565b905060008060008486606001516119f1613718565b6119fb9190615199565b1015611a2257855160200151611a1b9085906001600160481b031661517a565b9150611ab3565b848660600151611a30613718565b611a3a9190615199565b611a449190615199565b925083831115611a52578392505b855160200151611a6c9085906001600160481b031661517a565b9150620f4240838760a00151611a82919061517a565b875160200151611a9c9086906001600160481b031661517a565b611aa6919061517a565b611ab091906151b0565b90505b611abd81836151d2565b336000908152602081905260409020541015611b335760405162461bcd60e51b815260206004820152602f60248201527f4844524e3a20496e73756666696369656e742062616c616e636520746f20666160448201526e31b4b634ba30ba32903830bcb7b33360891b606482015260840161074b565b611b4686611b4183856151d2565b6142a5565b6000866060018181525050600086608001818152505060008660a001818152505060008660c001818152505060008660e0019015159081151581525050600760009054906101000a90046001600160a01b03166001600160a01b031663317e2e63338e8e8a6040518563ffffffff1660e01b8152600401611bca9493929190615205565b600060405180830381600087803b158015611be457600080fd5b505af1158015611bf8573d6000803e3d6000fd5b505087515164ffffffffff166000908152600a60205260409020611c1f9250905087613a24565b611c2981836151d2565b89604001818151611c3a91906151d2565b905250611c47888a613b84565b81600d6000828254611c599190615199565b90915550611c6d905033610b8183856151d2565b610b9081836151d2565b60006362196d80421015611cbb5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526000848152600c60205260409020611d058183614348565b60a08201511515600114611d6b5760405162461bcd60e51b815260206004820152602760248201527f4844524e3a2043616e6e6f7420626964206f6e20696e76616c6964206c69717560448201526634b230ba34b7b760c91b606482015260840161074b565b33600090815260208190526040902054841115611de75760405162461bcd60e51b815260206004820152603460248201527f4844524e3a20496e73756666696369656e742062616c616e636520746f20666160448201527331b4b634ba30ba32903634b8bab4b230ba34b7b760611b606482015260840161074b565b81604001518411611e605760405162461bcd60e51b815260206004820152603660248201527f4844524e3a204c69717569646174696f6e20626964206d75737420626520677260448201527f6561746572207468616e2063757272656e742062696400000000000000000000606482015260840161074b565b608082015182516201518091611e75916151d2565b611e7f9042615199565b1115611edd5760405162461bcd60e51b815260206004820152602760248201527f4844524e3a2043616e6e6f7420626964206f6e2065787069726564206c69717560448201526634b230ba34b7b760c91b606482015260840161074b565b60808201518251600091611ef0916151d2565b611efc4261012c6151d2565b611f069190615199565b905062015180811115611f3557611f206201518082615199565b83608001818151611f3191906151d2565b9052505b611f47836060015184604001516141c6565b33606084015260408301859052611f5e82846143ab565b6000611f6d8460200151613872565b805151909150611f7e90888861441c565b611f883387613c39565b60808401518451611f9991906151d2565b611fa690620151806151d2565b979650505050505050565b6000806362196d80421015611ff65760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6120286040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b6000612036613718565b815260200190815260200160002090506120508183613736565b60075460405163f2b2914160e01b81526001600160a01b03898116600483015260248201899052600092169063f2b291419060440160206040518083038186803b15801561209d57600080fd5b505afa1580156120b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d59190615147565b9050806001600160a01b0316866001600160a01b0316146121265760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061213187613872565b90508060e00151151560011515146121995760405162461bcd60e51b815260206004820152602560248201527f4844524e3a2043616e6e6f74207061796f6666206e6f6e2d6578697374616e74604482015264103637b0b760d91b606482015260840161074b565b6000601e8260c001516121ac919061517a565b905060008183608001516121c09190615199565b905060008060008486606001516121d5613718565b6121df9190615199565b1015612206578551602001516121ff9085906001600160481b031661517a565b9150612297565b848660600151612214613718565b61221e9190615199565b6122289190615199565b925083831115612236578392505b8551602001516122509085906001600160481b031661517a565b9150620f4240838760a00151612266919061517a565b8751602001516122809086906001600160481b031661517a565b61228a919061517a565b61229491906151b0565b90505b909d909c509a5050505050505050505050565b6009546001600160a01b031633146123045760405162461bcd60e51b815260206004820152601960248201527f4853494d3a2043616c6c6572206d757374206265204853494d00000000000000604482015260640161074b565b60075460405163f2b2914160e01b81526001600160a01b03838116600483015260248201869052600092169063f2b291419060440160206040518083038186803b15801561235157600080fd5b505afa158015612365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123899190615147565b9050806001600160a01b0316836001600160a01b0316146123da5760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b60006123e584613872565b905060646123f1613718565b101561243857612412612402613718565b61240d906064615199565b61448a565b6040820181905281518051602090910151612438926001600160481b039091169061453b565b60075460405163317e2e6360e01b81526001600160a01b039091169063317e2e639061246e908690899089908790600401615205565b600060405180830381600087803b15801561248857600080fd5b505af115801561249c573d6000803e3d6000fd5b505050506124d0816000015182602001518360400151846060015185608001518660a001518760c001518860e001516145ae565b5050505050565b6060600480546106729061510c565b60006362196d8042101561252a5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b61255c6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b600061256a613718565b815260200190815260200160002090506125848183613736565b60075460405163f2b2914160e01b8152336004820152602481018790526000916001600160a01b03169063f2b291419060440160206040518083038186803b1580156125cf57600080fd5b505afa1580156125e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126079190615147565b9050806001600160a01b0316856001600160a01b0316146126585760405162461bcd60e51b8152602060048201819052602482015260008051602061561e833981519152604482015260640161074b565b600061266386613872565b80516040015190915061ffff166126786147c6565b10156126dc5760405162461bcd60e51b815260206004820152602d60248201527f4844524e3a2063616e6e6f74206d696e7420616761696e737420612070656e6460448201526c696e6720484558207374616b6560981b606482015260840161074b565b60e0810151156127435760405162461bcd60e51b815260206004820152602c60248201527f4844524e3a2063616e6e6f74206d696e7420616761696e73742061206c6f616e60448201526b656420484558207374616b6560a01b606482015260840161074b565b600080600083600001516040015161ffff1661275d6147c6565b6127679190615199565b84516060015190935061ffff168311156127885783516060015161ffff1692505b60208401516127979084615199565b8451602001519092506127b49083906001600160481b031661517a565b60408501519091501561281f5760006127d18560400151836147da565b90508015612819576127f7739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808860000181815161280991906151d2565b90525061281681836151d2565b91505b50612898565b6064612829613718565b10156128985761283a612402613718565b6040850181905260009061284e90836147da565b9050801561289657612874739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808860000181815161288691906151d2565b90525061289381836151d2565b91505b505b6080870151156128fc5760006128b28860800151836147da565b905080156128fa576128d8739d73ced2e36c89e5d167151809eee218a189f801826141c6565b80886000018181516128ea91906151d2565b9052506128f781836151d2565b91505b505b818460200181815161290e91906151d2565b905250801561292b5761292133826141c6565b61292b84826147f9565b808760000181815161293d91906151d2565b90525060075460405163317e2e6360e01b81526001600160a01b039091169063317e2e63906129769033908e908e908a90600401615205565b600060405180830381600087803b15801561299057600080fd5b505af11580156129a4573d6000803e3d6000fd5b505085515164ffffffffff166000908152600a602052604090206129cb9250905085613a24565b6129d58688613b84565b9998505050505050505050565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015612a645760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161074b565b612a7133858584036135f3565b5060019392505050565b6000610702338484613f62565b60006362196d80421015612acc5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6000612ad784614894565b90508264ffffffffff16816000015164ffffffffff1614612b445760405162461bcd60e51b815260206004820152602160248201527f4844524e3a20484558207374616b6520696e646578206964206d69736d6174636044820152600d60fb1b606482015260840161074b565b6000806000612b52846149b9565b90935091508215612ba55760405162461bcd60e51b815260206004820152601f60248201527f4844524e3a20484558205374616b6520616c726561647920636c61696d656400604482015260640161074b565b6064612baf613718565b1015612bde57612bc0612402613718565b9050612bde846000015185604001516001600160481b03168361453b565b612c3a6040518060800160405280866000015164ffffffffff16815260200186604001516001600160481b03168152602001866060015161ffff168152602001866080015161ffff1681525060008360008060008060006145ae565b9695505050505050565b6362196d80421015612c865760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b612cb86040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b6000612cc6613718565b81526020019081526020016000209050612ce08183613736565b33600090815260208190526040902054831115612d545760405162461bcd60e51b815260206004820152602c60248201527f4844524e3a20496e73756666696369656e742062616c616e636520746f20666160448201526b31b4b634ba30ba32902837a160a11b606482015260840161074b565b33600090815260016020908152604080832030845290915290205483811015612dcb5760405162461bcd60e51b815260206004820152602360248201527f4844524e3a204275726e20616d6f756e74206578636565647320616c6c6f77616044820152626e636560e81b606482015260840161074b565b8383604001818151612ddd91906151d2565b905250612dea8284613b84565b612df733308684036135f3565b612e013385613c39565b50505050565b60006362196d80421015612e4b5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b612e7d6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b6000612e8b613718565b81526020019081526020016000209050612ea58183613736565b6000848152600c60209081526040808320815160c081018352848152928301849052908201839052606082018390526080820183905260a0820192909252612eed8282614348565b60a08101511515600114612f545760405162461bcd60e51b815260206004820152602860248201527f4844524e3a2043616e6e6f742065786974206f6e20696e76616c6964206c69716044820152673ab4b230ba34b7b760c11b606482015260840161074b565b608081015181516201518091612f69916151d2565b612f739042615199565b1015612fd15760405162461bcd60e51b815260206004820152602760248201527f4844524e3a2043616e6e6f742065786974206f6e20616374697665206c69717560448201526634b230ba34b7b760c91b606482015260840161074b565b60075460208201516060830151604051635e21bb4560e01b815260006004820152602481018b90526001600160a01b0392831660448201529082166064820152911690635e21bb4590608401600060405180830381600087803b15801561303757600080fd5b505af115801561304b573d6000803e3d6000fd5b5050505080604001518460400181815161306591906151d2565b905250602081015160009061307990613872565b90506130978160000151600001518884606001518560400151614a80565b6130a18486613b84565b6130ab83836143ab565b50602001519695505050505050565b60006362196d804210156130fe5760405162461bcd60e51b815260206004820152601d60248201526000805160206155fe833981519152604482015260640161074b565b6131306040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000600b600061313e613718565b815260200190815260200160002090506131588183613736565b600061316386614894565b90508464ffffffffff16816000015164ffffffffff16146131d05760405162461bcd60e51b815260206004820152602160248201527f4844524e3a20484558207374616b6520696e646578206964206d69736d6174636044820152600d60fb1b606482015260840161074b565b806060015161ffff166131e16147c6565b10156132455760405162461bcd60e51b815260206004820152602d60248201527f4844524e3a2063616e6e6f74206d696e7420616761696e737420612070656e6460448201526c696e6720484558207374616b6560981b606482015260840161074b565b600080600080600080613256614dca565b61325f886149b9565b90975095508615613402576000868152600a602052604090206132829082614ae1565b80516040015161ffff166132946147c6565b61329e9190615199565b81516060015190955061ffff168511156132bf5780516060015161ffff1694505b60208101516132ce9086615199565b8151602001519094506132eb9085906001600160481b031661517a565b6040820151909350156133525760006133088260400151856147da565b905080156133505761332e739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808b60000181815161334091906151d2565b90525061334d81856151d2565b93505b505b60808a0151156133b657600061336c8b60800151856147da565b905080156133b457613392739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808b6000018181516133a491906151d2565b9052506133b181856151d2565b93505b505b83816020018181516133c891906151d2565b90525082156133e5576133db33846141c6565b6133e581846147f9565b6000868152600a602052604090206133fd9082613a24565b6135c3565b876060015161ffff166134136147c6565b61341d9190615199565b9450876080015161ffff1685111561343b57876080015161ffff1694505b8488604001516001600160481b0316613454919061517a565b92506064613460613718565b10156134c957613471612402613718565b9150600061347f83856147da565b905080156134c7576134a5739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808b6000018181516134b791906151d2565b9052506134c481856151d2565b93505b505b60808a01511561352d5760006134e38b60800151856147da565b9050801561352b57613509739d73ced2e36c89e5d167151809eee218a189f801826141c6565b808b60000181815161351b91906151d2565b90525061352881856151d2565b93505b505b61358860405180608001604052808a6000015164ffffffffff1681526020018a604001516001600160481b031681526020018a6060015161ffff1681526020018a6080015161ffff16815250868460008060008060006145ae565b875164ffffffffff166000908152600a602052604090206135a99082614ae1565b82156135c3576135b933846141c6565b6135c381846147f9565b828a6000018181516135d591906151d2565b9052506135e2898b613b84565b50909b9a5050505050505050505050565b6001600160a01b0383166136555760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161074b565b6001600160a01b0382166136b65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161074b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006201518061372c6362196d8042615199565b6117cb91906151b0565b81546001600160481b038082168352600160481b820481166020840152600160901b8204166040830152600160d81b810463ffffffff1660608301819052600160f81b90910460ff16608083015261386e5760006137926147c6565b905060006137a96137a4600284615199565b614bac565b905060006137b5614c80565b9050600081600001516001600160481b0316620f424084600001516001600160481b03166137e3919061517a565b6137ed91906151b0565b90506137fa6002826151b0565b6060860152600d54158015906138185750600061381660025490565b115b1561386957600061382860025490565b600d5461383690606461517a565b61384091906151b0565b9050603281111561386757613856603282615199565b61386190600261517a565b60808701525b505b505050505b5050565b61387a614dca565b6040805160808101825260008082526020820181905291810182905260608101919091526000806000806000806000896001600160a01b031663a8d5fd656040518163ffffffff1660e01b81526004016101606040518083038186803b1580156138e357600080fd5b505afa1580156138f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391b9190615365565b604080516101008101825298895261ffff97881660208a015260ff96871690890152938616606088015294909116608086015263ffffffff1660a0850152911660c0830152151560e08201529a9950505050505050505050565b81600001516000015164ffffffffff16336001600160a01b03167f861000bc726a08720e9c88acb7203b0f9cc6f1c91aa66ec7d3dba932eebbb6e860a8846001600160581b0316901b60a08660c0015160ff16901b60808760a0015163ffffffff16901b6070886080015161ffff16901b60288960000151602001516001600160481b0316901b4264ffffffffff161717171717604051613a1891815260200190565b60405180910390a35050565b80518051835460208084015160408086015160609687015164ffffffffff9096166dffffffffffffffffffffffffffff1990951694909417650100000000006001600160481b0390931683021771ffffffff00000000000000000000000000001916600160701b61ffff9586160261ffff60801b191617600160801b9585169590950294909417875590850151600190960180549386015194860151608087015160a088015160c089015160e09099015199861662ffffff19909716969096176201000060ff988916021766ffffffff000000191663010000009286169290920266ffff00000000001916919091179316909102919091176bffffffffff000000000000001916600160381b63ffffffff909316929092026bff0000000000000000000000191691909117600160581b9290931691909102919091176cff0000000000000000000000001916600160601b92151592909202919091179055565b8051825460208301516040840151606085015160809095015160ff16600160f81b026001600160f81b0363ffffffff909616600160d81b0263ffffffff60d81b196001600160481b03938416600160901b02167fff00000000000000000000000000ffffffffffffffffffffffffffffffffffff948416600160481b0271ffffffffffffffffffffffffffffffffffff1990961693909616929092179390931791909116929092179190911791909116179055565b6001600160a01b038216613c995760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161074b565b6001600160a01b03821660009081526020819052604090205481811015613d0d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161074b565b6001600160a01b0383166000908152602081905260408120838303905560028054849290613d3c908490615199565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161370b565b6000613d8f600880546001019055565b6040518060c00160405280428152602001856001600160a01b03168152602001836001600160601b03168152602001846001600160a01b0316815260200160006001600160581b0316815260200160011515815250600c6000613df160085490565b815260208082019290925260409081016000208351815591830151908301516001600160a01b03918216600160a01b6001600160601b039092168202176001840155606084015160029093018054608086015160a090960151949093167fff00000000000000000000000000000000000000000000000000000000000000909316929092176001600160581b0390941602929092176001600160f81b0316600160f81b91151591909102179055600854949350505050565b8264ffffffffff1684600001516000015164ffffffffff16836001600160a01b03167f5ff6c3d9b175ccaaa9cac4061a5e73b1b21691ce56f40c846a0b12b4bd349ad460a8856001600160581b0316901b60a08960c0015160ff16901b60808a60a0015163ffffffff16901b60708b6080015161ffff16901b60288c60000151602001516001600160481b0316901b4264ffffffffff161717171717604051613f5491815260200190565b60405180910390a450505050565b6001600160a01b038316613fc65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161074b565b6001600160a01b0382166140285760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161074b565b6001600160a01b038316600090815260208190526040902054818110156140a05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161074b565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906140d79084906151d2565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161412391815260200190565b60405180910390a3612e01565b81600001516000015164ffffffffff16336001600160a01b03167fd1531219a20f2d83d987ee404dcc7e73580f8c88df13e9cd7568900c8aac2ac560a0846001600160601b0316901b60808660a0015163ffffffff16901b6070876080015161ffff16901b60288860000151602001516001600160481b0316901b4264ffffffffff1617171717604051613a1891815260200190565b6001600160a01b03821661421c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161074b565b806002600082825461422e91906151d2565b90915550506001600160a01b0382166000908152602081905260408120805483929061425b9084906151d2565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b81600001516000015164ffffffffff16336001600160a01b03167f563d5b42b3f744c16f6022019dde74a4717db5f2c3c420c2507537bd0b95151060a8846001600160581b0316901b60a08660c0015160ff16901b60808760a0015163ffffffff16901b6070886080015161ffff16901b60288960000151602001516001600160481b0316901b4264ffffffffff161717171717604051613a1891815260200190565b815481526002820154600160a01b8082046001600160581b031660808401526001909301546001600160a01b03808216602085015282166060840152929092046001600160601b03166040820152600160f81b90910460ff16151560a090910152565b60808101516020820151606083015160408401516001600160601b0316600160a01b9081026001600160a01b0393841617600187015560a0909401511515600160f81b0265ffffffffffff909316939093026affffffffffffffffffffff60a01b1692169190911717600290910155565b8164ffffffffff168364ffffffffff16336001600160a01b03167fe8a39971ed535d13041f79f54ea41f45a2435bc8e608d91068e374606bce9eb86028856001600160d81b0316901b4264ffffffffff161760405161447d91815260200190565b60405180910390a4505050565b6000605a82111561449d57506064919050565b60508211156144ae5750605a919050565b60468211156144bf57506050919050565b603c8211156144d057506046919050565b60328211156144e15750603c919050565b60288211156144f257506032919050565b601e82111561450357506028919050565b60148211156145145750601e919050565b600a82111561452557506014919050565b81156145335750600a919050565b506000919050565b8264ffffffffff16336001600160a01b03167fc4a10ff9f52151128e34f73797cbcc4097d1c7af612b87e89216517ec14ffc6b60708471ffffffffffffffffffffffffffffffffffff16901b6028866001600160481b0316901b4264ffffffffff16171760405161370b91815260200190565b6040518061010001604052808981526020018861ffff1681526020018760ff1681526020018661ffff1681526020018561ffff1681526020018463ffffffff1681526020018360ff168152602001821515815250600a60008a6000015164ffffffffff16815260200190815260200160002060008201518160000160008201518160000160006101000a81548164ffffffffff021916908364ffffffffff16021790555060208201518160000160056101000a8154816001600160481b0302191690836001600160481b03160217905550604082015181600001600e6101000a81548161ffff021916908361ffff16021790555060608201518160000160106101000a81548161ffff021916908361ffff160217905550505060208201518160010160006101000a81548161ffff021916908361ffff16021790555060408201518160010160026101000a81548160ff021916908360ff16021790555060608201518160010160036101000a81548161ffff021916908361ffff16021790555060808201518160010160056101000a81548161ffff021916908361ffff16021790555060a08201518160010160076101000a81548163ffffffff021916908363ffffffff16021790555060c082015181600101600b6101000a81548160ff021916908360ff16021790555060e082015181600101600c6101000a81548160ff0219169083151502179055509050505050505050505050565b6000620151806006544261372c9190615199565b6000600a6147e8848461517a565b6147f291906151b0565b9392505050565b81600001516000015164ffffffffff16336001600160a01b03167fce84afc26010d49051ae429b96ad50c0ef3a958a5c5bdc44c80e090dee642dbe6088846effffffffffffffffffffffffffffff16901b6080866040015160ff16901b6070876020015161ffff16901b60288860000151602001516001600160481b0316901b4264ffffffffff1617171717604051613a1891815260200190565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810191909152600554604051632607443b60e01b8152336004820152602481018490526000918291829182918291829182916001600160a01b031690632607443b9060440160e06040518083038186803b15801561492457600080fd5b505afa158015614938573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061495c9190615478565b6040805160e08101825264ffffffffff9890981688526001600160481b039687166020890152949095169386019390935261ffff9182166060860152811660808501521660a0830152151560c08201529998505050505050505050565b6000806000806149c7614dca565b855164ffffffffff166000908152600a602052604090206149e89082614ae1565b855181515164ffffffffff9081169116148015614a22575085604001516001600160481b03168160000151602001516001600160481b0316145b8015614a415750856060015161ffff1681600001516040015161ffff16145b8015614a605750856080015161ffff1681600001516060015161ffff16145b15614a755785516001935064ffffffffff1691505b509094909350915050565b8264ffffffffff168464ffffffffff16836001600160a01b03167f4880f72426ed087acce5733f8d2607065f5eb9cf9888f4ba51e605c3f5d0efdc6028856001600160d81b0316901b4264ffffffffff1617604051613f5491815260200190565b6040805160808082018352845464ffffffffff81168352650100000000008082046001600160481b0316602080860191909152600160701b830461ffff90811686880152600160801b90930483166060808701919091529487526001909701548083169787019790975262010000870460ff908116958701959095526301000000870482169386019390935291850490911690830152600160381b830463ffffffff1660a0830152600160581b8304811660c0830152600160601b909204909116151560e090910152565b60408051606081018252600080825260208201819052918101919091526005546040516390de687160e01b815260048101849052600091829182916001600160a01b0316906390de68719060240160606040518083038186803b158015614c1257600080fd5b505afa158015614c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614c4a9190615500565b604080516060810182526001600160481b03948516815293909216602084015266ffffffffffffff169082015295945050505050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810191909152600080600080600080600080600560009054906101000a90046001600160a01b03166001600160a01b031663c31245256040518163ffffffff1660e01b81526004016101006040518083038186803b158015614d1c57600080fd5b505afa158015614d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614d549190615548565b60408051610100810182526001600160481b03998a168152978916602089015264ffffffffff96871690880152938716606087015261ffff90921660808601529490941660a0840152921660c08201526fffffffffffffffffffffffffffffffff90911660e08201529998505050505050505050565b6040805161018081019091526000610100820181815261012083018290526101408301829052610160830191909152819081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b600060208083528351808285015260005b81811015614e6157858101830151858201604001528201614e45565b81811115614e73576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b0381168114614e9e57600080fd5b50565b60008060408385031215614eb457600080fd5b8235614ebf81614e89565b946020939093013593505050565b60008060408385031215614ee057600080fd5b823591506020830135614ef281614e89565b809150509250929050565b600080600060608486031215614f1257600080fd5b8335614f1d81614e89565b9250602084013591506040840135614f3481614e89565b809150509250925092565b600060208284031215614f5157600080fd5b5035919050565b600080600060608486031215614f6d57600080fd5b8335614f7881614e89565b92506020840135614f8881614e89565b929592945050506040919091013590565b60008060408385031215614fac57600080fd5b50508035926020909101359150565b600060208284031215614fcd57600080fd5b81356147f281614e89565b600080600060608486031215614fed57600080fd5b833592506020840135614fff81614e89565b91506040840135614f3481614e89565b64ffffffffff81168114614e9e57600080fd5b6000806040838503121561503557600080fd5b823591506020830135614ef28161500f565b6101608101615091828b64ffffffffff81511682526001600160481b036020820151166020830152604081015161ffff808216604085015280606084015116606085015250505050565b61ffff988916608083015260ff97881660a083015295881660c08201529390961660e084015263ffffffff9190911661010083015290921661012083015291151561014090910152919050565b600080604083850312156150f157600080fd5b82356150fc81614e89565b91506020830135614ef281614e89565b600181811c9082168061512057607f821691505b6020821081141561514157634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561515957600080fd5b81516147f281614e89565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561519457615194615164565b500290565b6000828210156151ab576151ab615164565b500390565b6000826151cd57634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156151e5576151e5615164565b500190565b60006000198214156151fe576151fe615164565b5060010190565b6001600160a01b038581168252602082018590528316604082015281516101c082019061527190606084019064ffffffffff81511682526001600160481b036020820151166020830152604081015161ffff808216604085015280606084015116606085015250505050565b602083015160e083015260408301516101008301526060830151610120830152608083015161014083015260a083015161016083015260c083015161018083015260e083015115156101a083015295945050505050565b60006001600160481b03808316818516818304811182151516156152ee576152ee615164565b02949350505050565b80516153028161500f565b919050565b80516001600160481b038116811461530257600080fd5b805161ffff8116811461530257600080fd5b805160ff8116811461530257600080fd5b805163ffffffff8116811461530257600080fd5b8051801515811461530257600080fd5b600080600080600080600080888a0361016081121561538357600080fd5b608081121561539157600080fd5b506040516080810181811067ffffffffffffffff821117156153c357634e487b7160e01b600052604160045260246000fd5b6040526153cf8a6152f7565b81526153dd60208b01615307565b60208201526153ee60408b0161531e565b60408201526153ff60608b0161531e565b6060820152975061541260808a0161531e565b965061542060a08a01615330565b955061542e60c08a0161531e565b945061543c60e08a0161531e565b935061544b6101008a01615341565b925061545a6101208a01615330565b91506154696101408a01615355565b90509295985092959890939650565b600080600080600080600060e0888a03121561549357600080fd5b875161549e8161500f565b96506154ac60208901615307565b95506154ba60408901615307565b94506154c86060890161531e565b93506154d66080890161531e565b92506154e460a0890161531e565b91506154f260c08901615355565b905092959891949750929550565b60008060006060848603121561551557600080fd5b61551e84615307565b925061552c60208501615307565b9150604084015166ffffffffffffff81168114614f3457600080fd5b600080600080600080600080610100898b03121561556557600080fd5b61556e89615307565b975061557c60208a01615307565b9650604089015161558c8161500f565b955061559a60608a01615307565b94506155a860808a0161531e565b93506155b660a08a01615307565b925060c08901516155c68161500f565b60e08a01519092506fffffffffffffffffffffffffffffffff811681146155ec57600080fd5b80915050929598509295989093965056fe4844524e3a20436f6e7472616374206e6f7420796574206163746976650000004844524e3a2048534920696e6465782061646472657373206d69736d61746368a26469706673582212201c180c0e9f0e271ab1e90cf6295bc8f67783b430d675a76437afd1b121f55a9c64736f6c63430008090033033221bc3bf0d2379884deed865fe66d4797a0c31af6a814e229086ef988f9079e031c7261d8e557ca345f0dba9750e1611219e225359d597720e852bec9fb7afc2f03aa52f603632c56a2eeba4adbab957703e09b9c7c15f398d9e2387e1f00bd3a70038b9d2338d73db0e1b17e788833d0255e84345ca7a72ca147fdd8becdf2d14a380386e752b3b838620ddeeee9aec4de6aa1172cd1ac0a39f5050686684a63f6745a032f9d7a2798b5f1a9b497fd6c0da240a9a2eb6ffff0aba5431ff88114dbcef8f20358d51456624b57db65401b3583ceb57247c0614259ad572bf41f38b6a6ef6ad0030ad600570fea8f1e0e55a2a9af9fdccb62a268cf0e1d3c3989b3b87d2f67db6d039593580afe1c638b96a4ca20e2930e10f4e28580683a98ba3e2b735fbbef628103825a996fed2f6411b7078d751a0c7e626dc540009e35a2d75a8c0ef2c385d35803f84f1011a7972727c4ba8ef87425ddf4142eba25a2e5181793ce83bb0344895d0301b7728db9853a49a40f7e8a467657fb5cade993f01bdac6470bfb272a1c05f603dc881f9057ab26ff62e556813156cc37c907124bb0378c4973732efdf79bdbf103fadd418e8a01722bb6a4662b8b18dd354fc23f62bc10ff69bf3cbc3ca4d98444036536908a71198321925b3e1d54414d1e0eab4c1746ceb280811cbf21d38550a1033381ab9f3aff6d843b723aee7e32520c5a3ec1e9775da263498f2ea9c5c2ea1c033f8773a66ca97df4905575931bdb9dfb2631bad3cce5862346c9a0722c2735d703910cbd3a5d62eabcdc6cfd5f5c3ff75c1e4d104c013ca6dd9b3e80ae19efaf0303f537f93df807d489d065671812226a3ca06432696c92645fad10478d807e924203d8451df6e7e4d23b414ddc1c87def5a8c5ec772109aa8413c76a8974c20edb3b00581f03348a4301e5b18e49a15bd0f8b3b62bf831ad206138a9db45b1ee492b7220436400d500581f033579066c203ae5dd165a057ed004415eeb736e62d76984ecb918f8e08550470466b7d3a3b0b000581f03384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00542b591e99afe9f32eaa6214f7b7629768c40eeb3900581f037d36b15559f2d915e266beed91edcdf7855719ea4e5ab9d52b5fb602b9a05215b302e60000000046ced6ba1500000841a300581f03abd141da5fe1de5ae20fc4dfa74aa1309efa446d4b8dcd7a22b1dc59c720520f0e00a70000000152e3cf196b0000026157033c1afeba2f8833331b1b265c80090ebea429d0dac518e3c7d7591b83f325d73500581f03bdf34755f96214962aa7531d875e96aca51ebfd05e890e7ba7d0ca163e004801770ce909866f2a00581f0363cdef405bb2d48458a3641e1602252bfddc35fd6e93e572a21441c34c605205ca011b00000001889a37c376000003190f0219ec640315f79c09677a8c3067e8d78a64b28b83285a3e2299b5efe6ef4596c00e201a7c034ce1995215acace51b888c27997e76c507da316a2c1cc8e8b5eb800fa11b4505030dd242d4820473481e85f01ee090ba2f028841f2b5f9fe509055e70319c0d644037a5fec38b4028be0cfe27ab4b46a30407bf0d032a7acb1b30036ddd150a78e530219ffff0350d755e1cb3536f34e08e1b1cac632dd394d4550f586e81cdf27060549580ef603d04b92477e9eab2639e88f4901a402f4cff36e707e3a239559989c3ca1cb090e03b32dc05703573390c3fba9fad4e36d46cbe50deeb70e569a25a636add92b19b703536b6a39573edc4e1e811cb696e8f2f667b46cb9c3b79aa47b6755955aa34ca4037e5a4a656fcf1c279b764e2dba44b5b0488618f946d9d7fe65e1dd8d2f05befe038d1c259206a99b993326145313483ab1cfb9646820744432cee91d5bae23dd7c0303867b65403df7e1d729748eed676d0689f892cf6117b9bfc35cc9b7e5a624d2033219a3164493f0b691cbd242515b25cb44822dd6ee9af3d75f1dc3b2b2e52b2503f8a42857a635ee971de1a747772365ccdaf23433e8db6a1e65c83b9e893d1b9a0219ffff03715f1b2f9a0d7288edb1e62b58f135f13c8b43fcdf85dc8030f8af0f597b6c080331a78bb6b9bcbfcb8b3c3dabf3376c6a36017e1f9cff3129969ed43d283fb32d03a68a2f371d4c0b7cec6993c4eb0932fab984d77e7b102360cae7d5afb5c181af03901babeba7768b51dd77a21b33117fb2bf859662627ac57574c9b8bd38172025038b5a3667ec1900b1c010e57f9023388e7ba01cdfc0706a26f4ae60c2a8282aed03d6be577f349d0288280c1227a3c5c5857b9fff14a12656e9c3d169ba79fbd5c3033da2cb534db26e78a3c36b5905c4f7a51d24306043eca1bf07aa5f7a930b8af803df6e8183d553cb494b4703564262fb4b04dd781217e7b7c6b7d419102f86a61d03a909cbbb23bfc8939133e14a730ccba618d518266ca76a7174d2baf642322912036e8587b6e5d019e26b428c26743fb1d964e01380a4d23e4a4ebf4777c94e2a0d0347844be7ac85ac5adfbb31394b127dbf5e985157998ae9b5dd955002f1f7c58e03477ed1bd2b100a5f0cd2f483a6d0b2f86d203e42499166612c9b9a4e2388df570219ffff038e9bca975a8312d851768216c6bcb69170e93ac8efdfbee133472df49c4fb1af039ec49aa23ef31ed41067db015919f15affb61e2596e9d7c30f5bf54c2426d48f032818ef4f9bea5d7547623145c3ed3cfa96263101e0fd982db7e395f1e3b5d80a037802b33fe3763bda3a61f26002ff7aa03d535c2d44db57a97926872b38666781039bb1092cb3fe07dc903b5bd8ada5710a637958fdd608bda90ea28926b561a91b0350540a8e48c594d660a401a20520469228733e3f2da45c11e05b56e75a9cfd6e03a723722c15602dca06eb1e0069b3e67438bf5c56a324cffca5728fe0f759946503a7d31b5a60fbacf52990f1dd633d41a7b0035685daf178c40ad95c6c6336a23e03a1c9e52ec24e67a039942946d3ebd43e8c597024389d570952e12d30a399fab703ce86824b548c7c47f68fe80bb33b14ebef46ec7c9d00e9d59a3ad63ae8ee520e0314db2ffbbbe30d8a7f68bf6518044465622150fc9e8d0a936f680ab43db72c3003679172cfd92b271c626957a191e674ad00abb47727e111e360264d88c1af62df0356c7ceb43737f3b68ef0a182163e77f3ae6559018ca964969fd7d4829e1e1ed60327ace0c1828ffc3aab7acd5307153e78565efca46e4435adeba2c6d8e20633b803fde89eb21d7adae343272f810b4404beca249259795bfc75089bdab8f8c7d55000581f03d0130beb3274db329fe11e4cff22d86f5c0989fdc06f184cdcb19d5357905215b30057000000017fb4293018000001ba8f03c79bac6ef2ac57c7cbc6511f41aabc3523c4447be53b5121cc829fb3be27921b00581f0334e894ff11be5adf79d5ef4168131000fde8fae809be34529802d63431505204d903d5000000015257abc57900000a409200581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04a1e9c1ee7aaa67eb055a100581f03c1e90fb8c5439e3dbd49c5e9478752f76a41755a16c9b67e9095fce935d0435a025b00581f03659b5837e2055a4744ed7744fda092a4570b0c888ac6782bd7d8faafa5004702095f42b524c40219258903a36c63f517640a6cf5029986b01604fe37d2339e822c917c24627087d0e25d3903d9355ff808264b1ec92ad12e5b03dd257e298bd87bfa55a6bc500e5e821910f2036b4985fb57938a4ff07c5273ed7e9f066a3280c54d6cdd0d93f257300dd259f70383de8972eca0583e963e36f6e2e15fdd9774b37ed3de5b0396cabc5a12ac3b8003da45d4e0b49165b90748d0a76ace4a42f7e76e08b2c22176cec6c7f0356dfd9d03a8e2c5a763352f5e6b60297ff973af4f144cfa425144649623188b585b613dd9036402d71e3439edf1bfb39f27814f10e7698136ecd3f7cc7f8bf4eb88622df2c703a1ee7d86bb7d92baaadb5e39a0ac9c0ea1f113bf1e7156d698aa647218b1817a0219ffff0342ab28faf124af2290e056ac9e54e99e5b118f221cee252c4a8227ded4d425b3035a8ce23578de99ee8817d5b9982d18fa8d307ef314f44858e47abbd192ce03de03146223b0c0dcc12663d7fb465e244637a3cc315dce7939f98254c86ba1b1eccf03e6cae46ff8ed3f2105cc0151a129514e98ecf656e9496933dcd8fa8fc8c581560322d7b23b2b26da240682d9ff37638b1a5bfcddafeaa6c2ddc1d484adddbe01a40326921c7dc663c9e0580e7b125f8dae5501c81d17e989b4dc125038512b18c38c0360b9129d7e42b0a1f1c82af7b6ae3544eff10f6c9874747a18c8239a025130cd0348d1e8c7ed0f242362c30c489f00e1aba2d9d33a5127d1585e48933627b5c24303624f8b63b3996d9e902649fea0faa67622de18b6ed33d3cb0a1cd47cb5b0e4ef03ddf07d7e72565c51307c7a7ca69eea028191e39d362b5136c730e0f42c5141a10219ffff03846812ebabb5961492074a25be1306857e9be493dbd0d69705a5d510e5b39eae037011fb780fe8cd5c46037adb1ab85802ccd18417fc26dcd814c778df98e50be003d0d964656a6d757b196095af2b0a64d59355cecde8fc11d822cdc9b696435906035aeecf30d5359ee8256c4fbd603f6e5590164f3018a4345d86e2dd7692224b8a0342caea1ed5954c33a2c8a9fd7ea12262ac208b11851c8bc25ee3e95e43782bb40325a6d66fdff3ac808fb5603812a27b430dd3455752c5df49cd851ccde888cba10370f5f0a9c66db5b7d12c81171185887bd0475abc46219ed720b32e7cf22bd7cf036717d29e4deb00e6ffc04b1a2298e0b7275c3ca2d44c311dbd0ad32dfaef98e7036057e2f12d802e6c168f5ba42d10667d700aded394888c8ffba4a7849e3c851703187400f97952cd9ed5a26682fa1e65ec9c17434775371efe4d09b94d677b554a031eec52526516b802b2979f81a210fbeedb5ffceb201bdb51e51b2b00b0e7bfcf0321191870e7a8cd70d029509224860417931667cb6c042b9d69a5ac1afd553a89038eebf2c495c27635aa8653927b11a28ed08571e2ed3b71ce9dacfc63cbf20e550389404389710d2d6160f5052e14585de8d37ae258341de927ce5263c06fe09e3603237c18072d4955d6b971945091b4f354a6ef346ce58ef368fa0641db3b379af40219ffff03e223f5e73b21df5d462af1b2e1ba4fc95d8ab241c817230b020ce875403e1e0603afe1a78a451e49fe4c1c7bf2de9ba92e3073a16ce54bc6d8905684639b848bf7032e916a7c3214d212258740af57db0f89d4282968391aa60bd19c5836b305a70d039d32793cb7d162e645b9ac185962330a88415f0fefe4706d4af855169b6f1ee8035ed2df5a4551b18fcd5d46f8a382ecf5ae5d1bffd2b43a09072d4ff565e51beb03c27cf3518c4abd16cc8b081a74d8fed148bef85127404b5def19db24a6dde6bd03326411bd5e7ba11f44d369c3e234c73a595fd2039feee1aaf7411919d26bb221036323f785e30bda42d27b8c7879679cc1574c193f325a52ad6149485570153ccc0338cfedf1cfc836c213653e5111becb9cf69bf0a600a73b331afebb8498a9773e038ff8dd7ad53db74f6e2ce66c1cf2cbbc690aaa7288401e8a5bdae132332eb52703ac86b6c3ed9c70c79ca9388262fb7bf5fd74153e8840e5987d33a6664172607703656ac312e2302dc955d0e3767e6cca8fd943bb64efe992d1f7067b1f0d0cf33c0372f97da1660605a97228ffc728910e9b9fc553332627589e85ea0339bb6ed280033de77324a4d74bf1fc858ddc2e3f3f3ae06ae969e559af785f8dc67de8eda603037837b273d3400420b52bf5830bc59d1a7f339d6d280e800f54464baaf676d71003d99c00abd73b32d3729bafd1e34c889bae39dd2ce6d4662f1c019cc248069e8203ae16f74431834d663a313fc5b9716dec821a35e80caabc3dc2c56bde8bd6c38f03feeced05948db1aea3274678651b439e83dcf159e9a56516f29772c3d5b31c4b03816f0bea4d465b707069a97d22f22aa266ebf52090e5d1be1fd16321196062fd032c8d02f6e39d52ff2afff1caf6bfb480370b08d08800bc70863af5432e4ffee403cf0d3e16c0a3f2da21316e851c83244cbdfecc99501e2c4dce04934f29d7df340368487a3270ba5a4f9ff2a7b21f2d65d25a123bb4f16b365910fe095be7409d420328e4ac10c7f2d19f9ead0866130045e95caeaf93bbb4494a104b4ac59ae688e703ed2d7bf99c1999235fe0c2c7d8279c48480f0fbac194903ebb19d57b7c4ab6c103c64a3daed8d8f6355574eec856ca5a9460ae00c0f690b35e1f0f0da42427c51903bb86398e6a702228b27db1bd55bdd2b5fced39232173edacc6678967eec1e65103955216a0bd719ce32b48c1e4fff3083733c56e721d03e6f54ef721fd58eee67103a11a7a0ca492138e91939e8dcb5b11a2874efea3d4ee502d0641a1d61d83b69203b8e76cc7977faeae4ff35bf973dc4eebd1c4b33bbb4ac8bf37fa307419e9e3200373b1993796c95cdb36181927dd1013e1a37a842c57e436c58223586543d3167e00581f0352cf99200c154d1638a988011e431ad9c27af05d596ce12de0c9ebfe171047808d729d96961400581f0393c32e01c1a1df9ee9e6248b405b2932f380bf3b384693b93cf69b1057704364000000581f03a5c3d21ec83b3aba484163cdbe7b710ddc51ff03e6ecdabc8a52af481b80413c00581f03990ccee1d45086f6210d898c31ebfa5bbbb623ed32b1d61090f6352d74b04364000000581f03642a2c63505211b01e5c96b633945c7bdd64878c228720255b6c751685f0520190031f000000100aa9359c26000008bf7400581f036ba98c8eb3152a09f20b8b6a6106783e75154c174f24bf83cce022c815704364038a00581f03a24e9960e4552a0f71b22cb3dcafff43cbf82d3d5c3269d7752efdc449c04364020800581f03d20098a2a08b332fea5d047b9d8da436d0e88eb97ae3ddd4198f58ff3710436401d400581f03997ea9d496254bcdc03a414759f6fb2ef25fff25eb21e17f187bb63ca840513802f700000009c56411993600000862bd00581f0390436cf40491054a2ddecc9b7277dd40aa66a45403d33e0cb14d0a8795f042014a00581f037e1e13f0dc98f2c0a121bc9f869902892c0271e21cce26ccb855337ef7a0435a029a00581f030b0cdf211ac5d56ac397fd9dd4df45326b8083904e9a72a45d1def27b7a052016d046b000000074797945be100000b5e4102197afe0393ec31fb821719cd8b9a59249fb19a41cfb2aea62fc29523d207c5aed23a844803366887485313905e1b6a41971fdcf693b5c2c17207eca65e79fdfedef148e4af034fd745dcbc40ef86f0fc49def0549b5409ac19c6e4166010756bc644d0791da40397f0ac49051871b4ff710e80329abecbeb458d83791c843ced3404444728454c03f20edb412c7a65c582be24258e26e55301b7792c7b9fa0ec849e9b391c03bc5903ac57ea1467cc2ed635df21f1468dc399b89ae7c638944b0e0ec9d3c354d64de90352b8e854b1d20afcc2e8cc4652b423816f406640e5fe350c0378919c858ba25903b55b9097985d106d5f5bfd38fcc1eb2cc0510ebb5bc01e31dcf4fb82a064ad8a036b36be11ac12045cbdb9495f516cc55a6a5382889975a2b221b9c8e2f5fb4bce037d2cf36377f3a8c0860b487226a1b0ed02823472172bd807f6d49dbfe90ef43c03234b71ee709a486ae1d4019ad1d59f3a83bf131451ad86b1f9a9dec5ce86cea403a01017851cf75b025523b616997a164500789790a6b98fddc94d07969077b3170393382ddb1ba37b16ce92021a29316f325ffb823341ec85968fcbd15174edbe140219ffff03492853bbf910f915fc115a49c3bdd6f375aaa4dcd9551cd830f74e7bddb2252503e280f2df9b66e6736e6929658277d86d166b810a9afcd32903ecb912a93b99310219ffff0219ffff03d8462665be6620ce3864be695091ab271ffe0046d56aea7f8d486972b7b89bd603bc3c82627291495e1704fae37743c80109363d2bd3381b9aba5976f4302696ee0349313c76308b5bd272721f9b528af723badb1a185c7bb7d84725e608d0d1d05f032b5020d8318ae1bda557f04402002a78bdef8553e8d6dfea248e5b64ff57e8a603ac0410130fbb7614c2bc70ddacd41f844db360c01fe594ed4d36f067bd454daf03fa7d2e16fed9ac560890a0f6780348aae2c8d20b1c79d1a38c76ddfe4631d84b03fe4d9a860604e5982251d37373e8677f8358f017ae50d6e524125e30ff32ad66038a9c35dfd029042daf6ca7d97aff0477a3a6aa4f8bc1e26b077933708e5362da03392d8f1afb28f39f50c10e9aaeb0aaddf7c486f08aa88be9efe9ee697c2cb3f80381e93e338909994cf6342120abb4ecb3cacd85cde8c012aee50ecc448320526a03a07598c9855941876e00c4515dda163f1592521a54cee3b9f883a5d1bf2504ab03ffb33968a99f94d0e8b20bafa1ae3661ceda3af6e0643eb476808ebf80d89f4d03dbdae0d02fb87690f94b2335241f4d5aba189e98563a3c76a500fc969d3fc5d603b68b1dff0af555a498e3eed13d30785b8174ebe7d2c319fa2714de1df6a9e8850340c397f45e365fd9cf4c0efbdeb13dc7a9cf4b75e2df474042122cd20794589e0333c8f6a8f14621dee91ffe7aaa935a05bca554844fa70f92e233973b48ce3a4d036b2dc1489e6640371c68c53ab74977a368b760af85e4a82d470bef07e8182e94035ac63b2e1328ee463f97fc6ef3383530ed4f109c92e5f17e6e0aa2373f027e6c036b0e37fd782a32a23cfdf973b47872ec46da9fd8a00957d3235670bd1f25caa203f54863051192ca6c69b35a5ab6bb6485bebcb9c5b4b157fef94a62f35103dcc90342f17bbc97196969d821a53045797e7a10f9a19c505fa590be2381013d3de93e03119d8aed12a269b8f8a1665d136dd570d65720aefd7e716f8bd562b61a80aa6503eea7914c381d7f2890b02ff8c491ae92247f10c15acb3c52eee604cff39751ed03a3e1fa5453e92fe1b4f2fbf5b370016dc1d400c8153aefd9aa73e3e8a65082fc0336e3982a01265b319684f68f218ef1afbe11c54d44ed497b20adf9251891c0c103d1957aacd5912d72434bb0f853182bd1828adcef5858f654382c028bb31a1ae00360804e42652cf66021f69c6e5e0df45bb8849c094fca04670ce769e56b15f2f800581f0337dd2c98c0f9b0b91b4f0e97f8faa31edeb78087958d8d42cd9e8e0f0f00520721030800000000b830430bf0000008885000581f03016e7c2974ad6cb6e8ef5b3f15eef4ccd2c0f133a4546cd11239c395eb304364020800581f03877c527e516ee10682c51e2e90bd0243788ea2fc5e579c9223bb7bbf23a0520e0b01d000000003fa5aa0dcc400000513ac00581f039e7ca798a5513656e8b73b768296a47bfe29eaf339218932e32e5bae044052133a015600000004e9dea397a2000003c89f03026992becf4f64e1cb44eb720f960b09c3551357392264fe12b98d89bb97270e01410400581f03c1be9c465ab92df4a36dc65180d07038d5b5c9be74772f11938731bfd8e04a0e70754060a008fe36eb00581f0331a670e94e7567663a7b96c14443e6705dcb77fd72a5a2962d9a44ca0040435a000000581f03677def638948d883e87720126ba22703bcdcc90cd4324dbd3f81bb3f4d30436402ce00581f034b83b7172f4bcc7afab0af4f7bf417254b0cbec10e2b41608c070f3d6b00520378002d0000000d7af0bd033c000001641100581f03f4c68080d39c2a3d036f3dcebfc7a5a5ccf4b9f85b984702d96bcca8a4805820fffffffffffffffffffffffffffffffffffffffffffffffff49cdacae9bceb1c0219fa530331c42858467d0d7bf6a6ed7e0f03421c67080870081c8d2871793ecb456e3fe403da1c961a7a42a4f135394805ecf23fb52ad9ba0762730800579aad0607cded9e03d11fffc615cb90502198028f8dee43f37775d46937a66a9930e67eb80b3d47030357bc7911479b7ac621a71c9d228d195432632fa3a45abf1ce8b2e6c8fd61319b03bf90599712e2e3f233c4a0bdeeccf38d7d0f3778c4c0a36c7465944c4b2655430219ffff03dc155b843cbaabb0e6f07b77903a69d2d20007aa52e6a56d52508c97025cf5e903a6f9406c8cd330cc88b9a51374bc46c3e308851007cb021063e5bc5f1709f66903a15e85bcda535d578bbe94d84069ed6cde4f3fd67685be7f8d8e567b6ffca0a503ad59c233ce2e5ca5f453beb0f1939643bf9f16dba7c9a75be8a00fe47835117603a1ad046cbe53d1f66df4fdfe2b2559b8c565fc8c7250054913642407bf5bed98034baeef5e1c4abf8c0612888f1db213b72a2e0bda800b57641111f71c627af9aa03f7a3a45a5e2f068978e229b2b7e2f6da95c01906fed6a6403278ea12aeb9c1a003ea7ea2ee60ab54bf79872b84cf784c2007dba4fe1c594397fb23e7c6f0f42df003bc0a4734279addc345d6d6907897285339417b6ee69da106b05194105ad210940338fcfcea57969be46212535c0fcd6e1c552267bbb245a74b166be11aa8f0d9cf03fa9c5305c9729d66253f67982701aef7e9409738ff2caebc56ca32616a79f9f5036ef429f15fab892a561ebba5ef69aa7220f6a6011fe28d80475a1846c95ebfbb0219ffff0342d3a3fa2f9bd3a6283d0727f9af574a6713487f8db0284b63afb6758ea49dd00219ffff034b65026d2af06b0c94fc941e3a634518e24979f77acad7dea83b9a22861ee655036f260f3882c5db546e433f82c16b57f19e543ebb78da07a5cf3f777a35ae2afd03a528d5b60b734054dfd32f0a4c87f8b6b8ea126cd5656a518444d0c74794d188039937d6cd36bdc99b0c013ccdf5895fd77bf1b72a36cf6c191b4be534db240acd03e11146d6232c59e1f61c9c0c5de9ce9e0b136bcb922a6f4e3b813ab48dd3e9f90342a48560c32e845305e139ed7ff38f50397f872021c80daad1c814e8c2331eba03a1dd54ad3d2f59581477f14e8e0ed35c1a0e26adbcd82136fb9a64cb593f8e7d032b1e50ce6180553416920b3c4b57e9e4936bfdcbc358a96f175e83588e4e2d10032537c24d5d4a67ee603697be79bccd945669fdec5dc4398d691197f4beea20cb03cc82e2ad697a2cfe2555626ddbc813f6d306831023a23a2b66f5aad06d8794b503733d48bb1a882b3c9efd4919b8271b33c1bb5109635b8351a149aedf3362fad30329f2f4a58a6435117cb8a88611ee84b9c0fa3ab8b6e8299abac08231ba2e610a03177654e71cc84545c0f3fb429d5022923f60c0abae4d67ddd07df12e0fc46a670320fd28b94191b33ef66d70c2b3d4e97634644016d7ebbf01e298d4521939409603802bfc8717cfaa133429d80063b830878b8c71d7ca7adffccadde8344cf0e247038b87517eb8b17d484925f76161fead6d4e6418938604bba11f42dd482f8e4b3d035eefce0b8c3b8f07e923d8b738537141926c7d56afcd1bb9ecdf6a144f4f491103e3affac538ae2c61e02a390287bade71def0dc8148c0dc94f2de122606a0400503c890498c978a1fab923a85f461458de4b547cfd613b8f2bbd15e08ba5c25599e0354ef4c555a0f2e39398e2d731a451072d9db9665808d3fd60099d1347efc79b00391e5a34987ed755a4b2419255385e8d741ad49999ff805bb3cb40e75fd0256a603e45a3f10a1858bffbbdfecbd1f9b1bf436818370a05c5f5ba00eaf5a0765c5a203651342fec4e69e3ac3da3178e85d2e00a59fd757630d95f9dc55632c641fc92b0383c47d487007e8d20240b605d1b619bfdcf7c0f327bb9b6807c2c59d7eb53d7b031861b682415fde6c1b61208aab5d31868ab1410e81229a40597f398c41b31e13038279f0adb0402b43946b27f3355f986e9c796c24e2c7271f055df1d9d31df9f303a6d660007e2ddabbff794c3a32c314ef240ebf890a5f6ec03e087d2a884a0cd803f4ac5d701ad4199647a27bb662829f2f484cef709ad625a0b238cc452a855d1903b1742960ccb23b87bd40ed5473bcf4c8cbf24e39fe69a1423c82dfe51b2f0c3203e47e7c2192adee45c4a11dfd89c03d9dacae37ac2f0d7d3e41e914b82c66d00b039d0b282f07426325d4e781d9480555769a9b805aab55dad8e216ea81f7e35303033c57b943791a55eb76653f2108f66719006f1b157aecf8b963683a69acaeb0fb034c2540e69a5f6d0193d860c207e8e117b7780d423ac853b9801f6557a234117903f3dcd4df5e0b1c9e15b8c05e38b31e3d1f812574bf60f763681330bd78d818ab0399295ffb7ea227d4c2b854ff2d8476fd4719e88f0bc2ca5825df02d26092df21035597c814925b78c5ac51003dddc3be3317c35e4b7864c7fae135e3b3a727002a03e6fe695fbea7724b5c3e57a48dc381f6bb4d22ef5b13f291a5a4781169527e79031ba71bfc7b544291cc89f988e94fa72f9e2ad85e4a550af06c550bbfafc3045803e829955a841219686c402f1e4252b2f69da9f6b370321f6850e874ef2942dc6800581f03ed206a99107dabc05fba4167e2f30cb41d36b571268757e92b1f901ceb10416f00581f03a1e2cad9d40c9f8c84cbdae1f34098695f75a2ed7e9c6f173084107eb090520e5401700000000564e6a70c980000048bd400581f0321676b1fdc8b3aeab812a7f1fe63479ae517348a03b85d0ad5b20a9105605820fffffffffffffffffffffffffffffffffffffffffffffffffd65270c4f31281100581f03ea5ed1201f18adb6ed430cca48107bac7f42434fae21b18ba86fb51596f0435a03e400581f03ca023a33263eceafba9a66db58681529d7307a37da932fb549710b253250435a000000581f0382e266cfc9c7c3e633af2bb2a09ce9bd4c0805c667c2fd2edfdc0579bfd05115033e00000007ea48adf812000009185a03846b9a293667a5eea9f64ab36799fb713fae2a488196e6fc86e38ebad6604cad014104031eafcc32ea316d407f97417bee816e44ce0ff634e469575b6abf44f6526ab6d600581f03a123243d988d27391ce33711c4014309ec9d67924d6c0a736df8f04b21d05820fffffffffffffffffffffffffffffffffffffffffffffffe9dccb1573b511fff0219ee8d0376b3aed88725300c39c7d16b4844db3890da593f57bf6c968f9c15e35e0ac8b603b60567b6789adea2500ad1e44ebfb58a47817ccf463acf1e7045dda686d2641803b7b60d0369e26d18ac0985587e0840dddc5e639c21ecf3bb90f707510594dc7a035ec8cb32e4ee6343b8473e691b150958abc2f6d4975e19603b1fac8fcae90f960305ed3a1bfa64d18808d5f8b6acb83a65fd95bce610f8b9397d50aeece91267d70219ffff0219ffff03e1333fd54727238b2ba62a00ae6c46df35a5df3b707745a5744ffb1d49428fb6033d30100b4845827eb7119c6996bc6b43ddab669f3499b5da017d391ecb32c859030f34bee4b6990540727591b5ef8783e81de11c402151dcfde6cb81ba5d537a1f03a65bdd9c5a862762a13d47127e123532fd943638a25404a06f01d9f212786c1a030a2b757bfdb2d1d35d53b4d0ef2689575d647c2d2d75bab3452b8949f501e1290366fbadc40c7293a99da5c6c07c9acba151318cf475d778457b692ad3e68dad360219ffff03fea94eafc1c073a605dfb6c8a0d653adac296467ecc4d244dc25e72718c3d6cf036ac34a25f6d6833e5b7bfe3d0dd5154188badc6a14a13f378547752ea629fc77036bdcd27d45b5b49dc320c9a2b157672eca37c69c1f7bd6907d389998df231ea00390a4e826b30b387003674392a3c1afdd895ebc5c9939cee2beaa9bc389a317b103f22bf1924d1321dd716f20bfa226b6cd20c5b00ccfccac6bf080ab76ed333b14037e117b6921db44a43e939d20d768b37245dd4f69d0edbf7eb20fd710041cd319034eb1d1f837b360fffdd952b62d4de8d5cb1fd72ff9efc0c46dea0f408cc3ce7103aafd17161a13f6b3777211e5eaebf5952e02ec5f6616be1cccb77dd01ccdb3a503f75c15f7ae0177dc395093ec83018606e2c35a43733e9be72498497cb9b2c9cf03f3232bfb46240db319588c4786098ac03c8b8b8f3edf6b4f3b4683bec5152c9603d9be504729017127bbfe7315dd8c7054beced94ab41d1c83f68e6b94fd5eca4203162ef40ac8d2f5799d7826c64de6632baad9a29f4b3189fa03bdc4476611fe1e0355921030016b5f10dbe734747e520e20a5027c6134c10108b0993fb7ea5c7e3003f565e9bea7e64aa64298df15474bee7b962d8fbdeab256f74f9f8964f533f32d03d12883b0a463f4cfd1d7f0696c014857d782d07c39b78ab7cdef3bbc1297c1f403f1c036403f439072d178c8031852ce61bff9880523ede29d244e0ea407b68a7e03fcc9b68f17647f7de5a36758d632357f65faf92d3e334d3d1f42bc798b9c974903b40de8858b1af0620545b9049213e901e157c7499685a878a4189e3bd2c89e1d0351f6135e2b2a7718a9762d7f95d2e3b4cbf66f894cf590dd166929519a98dde803bdb450b072c1ae29c64662cf90850cde7d87fb096c4ad5994f6f4d15e77476e903c5d923d839a5057dae9c919e0c796df6a2d498f8a449bd366abec36af8285cca00581f0312a16cc219d5c0b949e2be94c7488f8f2eb56c8fe6938d556f728befe290435a034700581f038133e79ed17329ddc9e1ac841602cb7aca8dc1b2ddd0ca5c439bb8979f504701e5f50dde8f9000581f035c238d08e84097ad2891fa6c2a0b03394560d711e641c8ba4282a851b9704364064200581f03d25071a35d30bcefa6a947a83c3ef41e29deb019ef833ef57c2113cab450521443012a000000085b645f4e330000032ae10334fa013b866fd0671d41d74b4d64a2b5e8e13288dadbc53a7e6cf1a7231f2edd00581f03fb17ce89870f26dcb7b30c0d7328c4805e7d83371f3b293d9440238e60e0435a04e000581f03d85f539d3d124a5d57f8ec5cb101e8d182cdb96f23a86b5dd7e2ed1427805201f402e1000000002548673117000008386a02199e4403a882fdda1d1286959733d6b1add0853c0eb17780de54134343a0fe8e03a269d3039add42697f3ae4eec8c0577fe9ce79699490450c69786eb76e8ab64158b7d0f2039823d911e17f403444527864b0d362ec3fcd02f9cf798b4728ccacd5ce34b25c03b2ab34f5abcba97f9964fab93583a6e0fc5f5b7240272e7dbe49c1b5cbc3bd1903d9e4a89efe71e0d6a84c24224afbb2e3de15fd529396739620582cba680ad6a703295be50648abd545659562a0a18c0d22265251d40ddae28cc9eaab372af2342003d289aa138e2c0bff7cea66ac1f35a2ea8a37e3ad2298122fcaef5cb087cd280e03028bce0d1f181bfd3d2fc2437d0784579bdf203af7086871228d0d6d098e83d4033c5d1c13311c5ddc265b06e4a98ed45ab8fda0b41f253e7d18bb51bcea06690303531f2e347cfa0ca3ae9dd2a3a5362043a825b49ea5d606556d7d5b72ebbdfd9603cf3526388ef67ed730fc93d205fb4920b73945d5157e77b84d0fec144840153f037fc1acb0757fec21928578096443df1b20701948e108397f1060ea93bffcb2be03909bdb7ca5567103bdb49642ea01058b0cd77ef3d765e25bd5b8e902f1f599a10219ffff0350cb76694744a6f3830af3e29ddd6569ff76d6936f1ddebcd5dc4a620fd92d3103946bf0c355d708696a5f6158f8e75a3f9ebe05b6b574e33e29215996c89eefdd03af439395925833def8f342f35690cca734a3185f231d712dc6910444fcd396720219ffff03b0d3f67aa20ee36cf8a9d3ea752f23367669a6a11b9921c82aae793fe170863d0374a8511faddacb6ee83f5210445d95efa0d98374fa538b5a71c07d00f5b1402f031582c8276f44ef57f74bd6dabc490848643603491e51bd330a84482518b7b6450354ac7f154d0fd448a7b08b27de432b716563efcfa97c0d93affae80fd6034a8d03c8db84f92764dc70b0f706d11e5c29ffacb19d1c1a959ecff4101c457db1946503e20e08e84bf3b9cd1e1b9d7ff2b768c52edafdf540b4ee5f2c2c88c03ae54cc903d41007440681c95dd4562da7f8d97763b231398dbbb01273e254247398168ad8036ef0891955b803c54fc88c29c49cdb22827f2b254d3afe980167f93683c34e3903df36a6977ac7dac2840da8c7af8668e7aa89fff9d953a8f7e94eb7e9361a5f2e0219ffff03ade1b5904f964dfed434f539a23b75b93e6a8711fa0bbd8f8e36f6fce20ae57c031c853bb826dfcca3ca27010d6698186d3fd413e569c639f7d070b0593202e9ce03c876ad9bb74e2b35fb73fa4e53a213375fe0af975d549b036c62c5069e9cc812039871a3f625d92ece30f9009c7da5307f95d792975b202ec9a52f42f0844a3ead03818a97ad246c5fb6f6143adbe8d2ab62481c2351c2819daf4047012c5665debd03035f20afc25c6b00511e6b873a625ac9b48bcbabe2b2cdd6dd2c83837cfcd801032f0a987d947c6230553eb1dde3006c4509a29924fcba5b7a822a4ca9fd1ffc56039695284678ad533bd743b45906ca6ed9e9a734a16dfaafc6292ad35345d409b20363adc856e85f599f207ace847823b00dda79423070dcb5bf5527cea39f955ecf03280672b9474526c08f61cf990757b9234218003638c384baf9cbe57a0edbbaac037ed51186471c4bbd7a23192379cd1014967f6cad2d3a76587e32fcefffc8b15203e9053ec7249daf841894ad5034ab0c236dfc07ce0566bf84c56c3b9d3068c20103371f498fdc5b408dcc32f79a6bae1ded4649f51fbd630e98812fb06c8cbb7cf403738b8f17d60f666fb2b598463a43e12fdc78a19377ebe64a221c25c9b87876f400581f0322313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0445de5a58000581f03da7455a3e5520ddac33398cb67be2d8a0722c104a0c3aa8d786b965c8f605202b6031d000000003cd353005a000008b9db00581f03b84b89f06d1099b9f37618eb7cc43f3182f5e4ce5f6377cbbbfd83bbe0405202bc015f0000000120bc38b7830000042c9203f7dd4ef391d59e6b49b6dd1b90ebb8652be9f51c1a293ef95142c421251c984a00581f033ba07eee28e37270eb965d7fc0e827f17f6cbbd18522edfe8b9d889e6d804364018e00581f038f0dd1a4cb35cb9ab2c253fc6d497d686f1d12c52c98c0d1187cd645dc30433c0000021901bc03d9dbaad0f4f10b7326df390e1d3ae0cbf476cb7be8fa126d6d88cfbb8a95d7d103f0fed77fa07dc324c2ba18cd6959ba3ab65ee49e300af172bb873cf0d9ad0e3f0340c5087fd2c69db50bfdf7f5d585fc0b125b445c3ccd0f9ba64f7928d7b830b603d19478b79cbf7bfc91267c94cad4f0101fce6ae425ac23e9290e9cfbfbbf3d76033802e12039a17f90ef5f1e341c1b0ce1363990f6bd7b9fa9979608039db70dda03688228606bfa6f665cae10e41309793d69784009d133a6387fe36bd4932ca74d039642c0c1b0ec0e4d09a8aac1d0ce7ae34236eebb07a05051ced31839eb3ac9d803ed996a571a35d6259aff3e4c1557c0af30e4bc9662ca2ebb970678d4947d022803db281ee3ab8b9813bf08a729012891e9cac5985365f4fbcffdbd0e5dce4121080374032b24e11264dbe41a3b3d25cb6cb550a87f75ece3fca6fb781fcc7916e86103cee53fd4abaddd843ee0ef61469156cf3c6cf8fad49ac982476d8a437b86f0af037dd4f36c2e9034525aac844a72c6b437f23cfa51ef0eee81b4f9c38370a6f377035b1e6b04d72292b11f6aaecb9856ff1134a1d8f7225965dfa99190d840e1cfc70219ffff033aba1b03f3b84c7bfa4cc89a5be6e96bd10028fc24fe4e77dc2d00fa6c7b91cc03b02099d1ed2f47bd8a0d4bcdc3793b55c1ba1eedfefe4196b10b2a9e10c9370a039a7e783296640f4cdb587c90ba49180c2ce7d45ef3efeb324023f36bf63b18280328e05c9f48af892452dea1fe7eafc5a77224a7fc64ff5d1dd80972252fa076e9032e9ee2d7b428a032f78c539ef8c98af55cf63b75e5e73896424c93ec74ca871603376997b9d83097be7fce3291bf001211622f08ecb2afe60d8f0a73684f785c7603a87f3feee704cb80940fc80b77ede0830b7c14da2eb54b8472fe977b195fb676031d5173c2a1fea9767f99cc57a9df9d4acb8142193435ecbcd61fbf1387d7ff2b0387dde99e5f68a94c7ee6dab4eec415f73958fde362585a7128dd542facd9541a033713eddd72a235e65189ea2bd3121fab2c321dcee069594671655d32c31700ac0219ffff039fb2d60c1fd7800685753d61be7ef095a8c049cd4fa12ff5c6e3b570a0f2b30a03712a5fa34179d6afc886fba098f344f6c2c061103d61ce20cd84a822c13d8e2f035eb0a43c2a8465620f11ec59385cf1d2cb1ea364a14bfa94f247a7a7cc3358be037286311a3cceb02b9ad63fcd5e6f7ef2e5d0d520fb07a0d4defe27bfe45478aa0353e8acb804f7e23d488184c2e4797e22c77f5c1b74a3200f39968ddae95ff2a403d41dccc33de48bbe96730f307d903201242485e83748fac4e3676ee154b9869b03a43aafbd11e35eb91ab39fa002220dc07b43fde13a2610883196117bab0e7a3a031c935e6c3f5a8afd3efaf50969b702631b4157aff925d3a103db5719c21c1729037d79a975150a806ad2c0a6463b86076c9a724624f0632313e2d325541a27d25b03ff1b3a4d27f907ccbc5db92fd6ce9972d3f0c542920570536dfd4cd30e4acae303082a3d8d21b815fa950aab0529d691e961e43f2bd3ebab6efb48a2f2ee33a9d803db0f50027ade27da8a9f144cbb295ff1ca91778a6c7e261ba5d5f76cc2e1eaa503472ae76bff2c8c16e2032d24946e493c5664b28133a8e9294ddc118538034f770368cb07fc1d36931af3379dea4c6dc25e122befa9aec2980170a1f2b19392247d03411fc505b780391fc25796fce90abe6d3a58d1a041aaac7b91597609631333ec03e2ddc1e5e12437cb302eb67ebe720314b5d7eb25933007624b3436c0a9b962240333369d73a4d97e2fb4fcd5fd6d35d1ddf0d1d91c713c0d4c706272324f45fcb703905dd42b917c5ade616ee227c6ece6a670f319111ef3cbfb392ec87753ce2bd3035ea32a8450fd86eca027c9a4ed104174f8568a033d2d838dbd28421288076a5103b64f007d818ccb8640194b700180f4a77eef775072f5be3d9798579b6d78ba3503cfd22a8268b0020714dcbd9ef9ffcde8b4f39b9bbf73ba1c51cb56363ffcac8a03c93d61b106b2ea6b8908523d13681a54f43b339de3d691938b8312a6c84227e403db9e2445d8a94663c54fbdd012c0d841a0ee3bdc46efe3607d134ec0099234dc030ec2b1689b6d6712f47a776a7036b97d00ce13a762cd598817e9898199e41e0c0384eecac24adc94716a221b739c9856a8ada7b9b004ee6de1d95f2825b9045f5a0328ddc3a940067aff05c3169e9a6e7324e649de6cc0dee3f02d6ca947c91cd68803eeb73549114e5b9278b794be678dda460de21a7897c5eaf388ebbb65dc02cc6c00581f03c80daf69d2348dcea244a16a1e864633c47b7c1d3b001e9d6c9d76c8bfa04364041d0317dddb349468550212e880cf402821e010c163315f4f4708e40a13cd873b3bf503f19644f6b155cd4b19796c6af916fee11fab0ece4b0532f1bedaf9badc092bf600581f03a8c7266e84cf8d12ba76431549ada1e9643215b1be8e3d5576b77191f6f04364000003c51f98c04d26c90436eba70c4257bf40516f946181a4db18a09b773fbe9cd70e00581f03051927f201e1243dbe25dd1c13a15602f7386416c390280d2e6e987426b0435a01a700581f031dd25d58625d73dc85cfaeb7e32ec9e12d4b5764dacf2ce36f25eb778cf0581d022a000000000000000000000000000000000000009aa37085a37a8a4f03dd666f64a3aa2cc8942bb22f38b9b2ad21192772f02d97f21ec3565b7e2ee17300581f03e96ee3ecef20f82cb33b3e857dc5a4184cbb2f4962f890b1761e5a39378041840219e7cc0366f1117b0d4e9c1e831377d946a7c924938116e92a675343aea3efd5bb352ab3030a873e2af44a371998b43a1c1d2e56bdafb05eb1eb6bf0fabc5a7169a7fc62380219ffff03f17742bece57fe116003973ecbf22240c03c66fe9349c6aa78c25cc92caf0efd03a1666956b487fc6ab651de66af0d270447006a641eea68aa188adcc17e877fd1032a4e465dae9cd35e1ea64dfa531641568335edf78745e7d1db8cdf0c1b8bc815036eb61128b21821fb3fa50d70c59be56b06a966d4e0cfab0952878f0ca2b12335031d01ad6d3783768b0b552da9dc066a2440ae7074c8b41361a740744a97d18ad303b6643c37b3f7b4268f08a92cc257f342a293cf47bef7e6860e8b15f745918846039fe861db476795ce40de9130f83e00e6874e92b82a256cb54d3d47cc1c0e99670219ffff03512e8351e6be6899639d9bf1e2d8d1464ca0090798e3a644211cc4f47060b624038983e4e9dd263f6b46b6b6430cc53e9698b69cd3c9e70843aeabda5a60a068c6034ddecde05fbc9a2f4ebd3dddcb4dae307321b05fb135931aecb53b1ff88d37fa0219ffff0219ffff05581d02797a90ab93d9c7d6a0488d0f4ee784c80ed3c3b3672819bcdc69d902070219567302190410030476153b8d81c031926048a109de1b057eea023aa7280b1434ba7f8d73c4a5fb033830cd29d7f686a406da8b66649ab2d63474ffe75720a4294f690b797d4cded302197e6b038591def8cef7be87dc3730af13db36eb492404fbd938b75f745ba0fb69352d6e0392464fd26328f03a9355172c4d2ef9df91bdd525f06173452dc2389021dcc3e2035bfecbf0273aaf3f7d5c9883f69c443df332b633a33eff969105ef6ee35bfa0503ba09b6c70abeb3dc83e131ec5c756d088aadccea3d71d90be5e49f0b5e1db1f103838e6e7f350b20da118459be61ad16887dea2df3f7a1da974740f244eb9f17ba03fd2748c75b109418e7eeeea71edc796a9a92002039cf935cc27d4313d0ab49a70350ddef83cace2dfe24644d27e18859ef91434d8682bc8bd246438d4bfb35a1cc03b30eedd38d2b7a0acec4e02fa37811ad48b86bac2ae7e1dbb1c2b44edd34d9e403fd906a3388379f41a99e302d10a075384358a3a099505dc74d520b276238fa6b035b0e4f82ac88c445deefa34af1e3248eb95582698664bb0c999823629792eb4f0219ffff031cd3692ea9a690939f7ad09b74ec07a65124c7647f0c2c22aa0702f717d0ecc703bc03cf3b6383d4e1119c4241f6146dc457dee3665d0a6007834dcfcd7b0ca967033798ecd6979c8ae8d02914f5809c35f9c2c411de2a466717e2e4b42eb155615c0382caef4ab767007df6d1df7e147ed873741617c70a357022928aabb13c110d1f0326d6167fec9a5f9846865432cbb61ff11aec927010e4a6d131f874f96f5b9bcd03ef8f3676fe714609b7737245b1f37e92c3af8767de297a5170f2fb98900a2f5f030120f244697f5811e4ef2cf14458f2d702c5f75187d021bc2e0ad835b249f9240219ffff03c26036ceff2cba34d149324bc91d0c66f7c903517de2193dab84ff80ba73425603a3662cd2efe5dbb8b4d552eb1e544abcabbfd7a459257bf09e382aff5680a5c203253f3a7210d0478eb5abbb020024d4d51a1d7586babf115aa36928a7c1a87b44031b9608b70d4fccf41e5452b3c0a027588f368a139641de989b2fcd9143037c97036f070dfbb0ea52b541b6d2269c88afe862f64266d4ffc09846ad81f0eab04ed503f93aaa87b1b46cec2e0568b35aee0745ae8c157e187c454e8a679b154842b32803dfea093f791d7a86bfa59c9e1fbb185fce2f099d374ca4acdfc62ca6a274e2b70219ffff037d170b796b9e44ecb3e115a6d30540d0cda950dcc6ea60e5d218e319d516a8d60302c5bde54fa82ee556f303a7aa01e2568e6e372d40ccf70942ff4ff7ed543e9203dd2e847f27ccf317d844d6d0dec6ee319ab210342802d76a2c79c7fe9eeae08e036c31e73c53a3d20e6ecb143093a97ad2d10cba536047db348ee584ca9d051247031fab434c7c927d19628b27db25d1bef536f0cbadeacb70d0b4af53499b036ff00219ffff0333776a48ebef1864e872f4b56bc34202622bbd391aa56c17c4b2c87a3adf6b6a035ba948976390f285cf6e06a1b13d9cb338b20e27bb08e11ffdef5cfaa4d240f203fa32b02a139ce0c4d987b917de4c52c7a334b96dcf78d37fa86fdd874f177fec0325deb4e62a3e7c8119bf15e304dbf3f9d8f0e4af3fb7514a82ffa676a7826660036b40ce7878b48b9f2ea3672d031e4495b466eed709dc10c441eb137fa6f371c9031d32f8d81db2199516ee7a2212ac2ddf8dac847daf283859ab0928e8099fc7fd0355142d162d97a7a9b07f263e097b4f7a7737ea6b0d8e72660e7b702a740c0d72035bae6a9168269def024f210fd5689c88c8ee89a5ccbb4635cb8496ee018276580384947dcef9b7a1f886a0b12a587657817986ad5b1db9bd3a6ac91b00e7e4c38003ea2590623afbd631f6d173c6d89dfaabcea0b42bb9846bc5327eca7c1bbc29d00363dc4c67b65c54ce59f30189b624fca592cf6e6faa8ac377b4ce0bcb6052db0003cd9bc988d536e1b24f53d56251e4a627cd637a53af2b8de1f8a360131b42d1b80367d97ff76c145af3061222e56a96c60a059a48de79ca4111a516e52567c82c6a03b65df2d8980abd6085b30fe0773ff57bb30df8493373697f27299e3d780e0f44038ec81aa55a3a04c7a7e5df25f5a78334a3d963da8491d56109a465ec460d525303e20a8d23d3a578755a0313c6723533dafe0d49d2de6484ac65b8d44b6ceaca66032f395a01ba42c416ec0a6f50eb5663fe5fa3dd375639c1c27eeee8c5de6a0c3003f0b2726a4b80191872c7f024b676d9e83bb5bd86766157f7e1af25e5fdafb433034bf583c6778dfb39ec77aa76e324ff575cce415e7588aa41ce68b39b66f413390307c4b06f5de02b74bf06475334ee9dcc3822fdf0ca3a8fd4f3e50398fe60ea5703b80105067a7da02fe871474831b7198fe32f0e28382c674fa800e9b364ea995d05581e03e5cda37618c2c676b3a8be0c1d8bf2c7162d22e7581b9ce59a45625e500c01470a24033765640005581e03e2b2af6011cf5fab2737ca9067567f8b7802e5f57115ac40cf4e0fd6800c03464ac65b8e5e8805581e0318d803e42b30b243559d44be8281b4918e5b136295e761424e0c3b15f00c18374811bff012c9d051700395b5dd827bb48456a0b228e145085bc40262afc08518e82181f2a650ebbb21f605581e030439746e9b0957b43bd4a7de8b358c077051e74651989185f2fba6e62004020322e4a4e7401911628e2ed39d6aa29c47f4c7d1ac91f79c78e61987f0e5b3160201410c05581e03ee6ce96823f74a355939917c29bc30b0c474bb2e5fcda5f0ba92a0f800040305581e03a6c209f6e20f217bd7cf4db31b96e6d93b9919f494ffcf491fb2382c700c0347023d6c9cac955b05581e03ef97dbd55b1e9b82387a83f31ad266320d4b35c378194a98d058c2fb6004010219b39503185eff0545ff1781d7fac84de7c36fce5611bc36efa147b5e2882e3ffd3f246403e952def28d26acad835b44273d1b9ec2e3f6899102af79cce07b3c8e7da71df4033f85fb2ba70bf5a99f9ad764d3ff73c949c2ea02b279530c95874adcf7f19ef9036c4bdc6e24be229b1204283493a79359cf2841bd31085fcbb8adabf64aa36d3803c930327a43bb30f762796d18832d12a70e8a0f0c2c5c31982c9f4e34e552cf74030cfbf21df8669b5804b42dd30cebb2c5c45b3b3b21ee2ea02a27ff52613c782b034a7885f2f16fbebefae07e839b5ad8554d2e0ef2a53d9e19b2e75e7388505d2e0219ffff03bc6f5c44c406fbae99d4d7803dc8e474aa870e360b3c8fc15c2862d5775844c90320034d928be01195c0d6336551e9e9d00df13cea88d6baacf3970539f49f21f903e7c9f7d43a31bfe2847d352a5cb9153dc8b5c2b4439c802a3f6be415d5cf38f103064dd55766ff9f077b6bf5c8da3a3a6d9b767493456762380ae92d9141ea16f5034fe1aa9040ebff7d2f1338279ec242dbb2b0c860bce3b228eec9b80570af80b90317899db6060b59ed0d2b7a80c1158b8140664c41eb6a78e259685125dde4a21203cc59ae33611ecf9f557b7f2e36044cde2337355cf14b0eab34023454e008de4a032a77a12937e7c2bcf9ce5517cdfea3b361c5328ef6c8c18cf33401cfeda3ce95036c0b56fa47f550ef5d7f30b2297f8c3d36428032455946817d77ad4f4eca08a50315f89dcde6ec2c3f9f0201634fbd3c750b180360aa89735155bce362ff8656c7039dec6abc1fd6c85c95629173fd35e03384e169f39acfe54b89fe61de10efacd0036dfb9f6b050b807b920a332f9097dcaed2e8f0a9bca99d68df28dd3e0e3519f7030ee5b313d12fa60301f3214d22862fdf8013b10bdfe41989e613194e3dc7b61303c391faed0a7515f86673ca2559f8e194eaaa3ddc67a95e02b636652947dfbf9503511c29e70c636c1adfa04da1451c4243cdcddafdcfd49d2ac019e819eb48a2690219ffff033caddce46681aef8a174c47faae0cdf2ae4def59e33c672a5e80297518e231ee03c47f305ea84704d35bc9147a3d87dd8ba57653fc4e2799f71fa900d6d40b2e28037fd1c313d87b6d3b7e258cc01f7c6aa60892034f6214966d4902b13ff73f2bac0361278755579e6302c930c7f9c90e11759759d4b57874ecd89a84fccb37fe190e030a51596e6008a385016f7a1ad71ed7497a56c3da3c76da3374a31647a0aae24c032f9019d7cfbdaa735d76d3ba3d15cdc7563c48c469709e81bf407dd54f08086f03026ca2c00cc1bb9ad239d170344312e555d608aabfbfd0987aae6c854316aa7c0219ffff0319112e1d95d0b3048c5d66ca30c477d3b0fb28399c4547d33e0e0cbcf288834e034caaaf7ff4f1074c93ffd4b80e76bff8258354e6ee11ade7062bf1d5f869140e03437e28a74d1eede7e89316a00180c779c081f364a6ead0bbc3fb72a897a58e160364efff2fd510fbc64d58dd2195737033a615048bd5dc1ef7d404b18a56acae8d034211b086713be6fb7d0e98d05eca83f383916d2b5a2c4dad044891d83f167dd603e6ae43ce2f54b8c882fae66e3d1b31a0a0152b663c05368caff8a00baf4e430e03814b383fc5b5568a0ff36536cc99bc9ac057eadd0728b10f486f37368a07ba9d03c43481939255d29eaf15cb8734840003d729e9e0724d397154377ea27d03d4d003d10e3f3e84eaa8e36a7e7fd6a2df6b1d1c9060a5a1da35460305420ab478563803acb412ec9d0f1754f5ad67aa518af59869e0018f828c5406d5b9dceacd6d720a034b6624d52830d17469f5b06e945e894668112fc99c31d4dfcfde8c2b14f575820398ba08a3c95ac0f39560ae8f9abb1d5325f7b34c7355627b58597a80ada847e90390c60463c9a993af2a8e0bdbb0fcbe0089abe7b8fcfce748caf850f28c343a4503049b98d7c1222e71ded54228f03216bb427b4fe97f147bf7534377467d745557036aa7c55b77044ff7b87a644f138c0568b3e28ea62c789366acd269522780a22e037aaa537bea873c4023d85c78f40f57a29f121d66087faab328614dbbddad731003561f94acc8025eed39509d5752293fbed5871393c7e4d1edc2731876eab5f1950396789078e0323180efd75cf8b2df2d5640fa653bf08804af90d5fb568e3cb532031fe37411b7800fa2eca670d0de1a86d5f6eb00053561599755fe04788e86b1f2032b002adcb0bf92e81af39ec1d8e3d3698611201de832422b0ccf6d2a800094f103d693723a31b4ed253e92e4cb73646274cfb0de22546dd8d748fe41d051b41603030bd2be9ddbce4e9f10f17edf035e06f2367122de88e383d624881a5fc9ccde240378f75cb92a53355c3778eed2372777bfaddf4f6714ee3695e116d55f9c5c295103c36aa610cec743ec5d809f920a5c0d233c9e933143859bb8c9d7354cca85ecb503699b2c07282fc324b194f047e1b59e7872b7672bb84df38887fce265b9619443033a71952eedf7fd3654c54ececa623988f1895b3533a93e448329571e44202db403f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03560ba2fabfbefa92718d5e28244c830bcfe75e154f54bd32ea43479a3007011bffffffffffffffff03ea699f1d9313206936ee3c4f186a37730edcb8e5dad2991b0d880adca984859205581e03edd7f463c18c064ab98f1075efda71dd8c842c9514d3a7d7217020f1500c01454d6ff2d5ff03a7c941c1daa03855da6890f3c04d722e7017ebfcf740c77d805c160a449888c1014108031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d029b6ea0e91a893f67bb22e95284808e5a184900177ee5a1d6c69ee13b07011bffffffffffffffff05581d025933c41220198dc91dc36435c3d879bba718377693f15a9c7e364fa00c03447735940004591fe8608060405234801561001057600080fd5b50600436106101515760003560e01c80637ddb11d4116100cd578063b77efe0f11610081578063c3487ff811610066578063c3487ff814610336578063f8077fae14610363578063f94616011461038457610151565b8063b77efe0f14610326578063c172085e1461032e57610151565b80638910faf1116100b25780638910faf1146102c2578063a4984633146102f6578063ac1f40e11461031e57610151565b80637ddb11d41461029a5780638129fc1c146102ba57610151565b80634e8845e01161012457806357806ada1161010957806357806ada1461022a578063702d75d214610232578063764e94ce1461025c57610151565b80634e8845e01461021a578063575a86b21461022257610151565b806316f0115b14610156578063214a6fe21461018757806337182c1b146101ac5780633d6aa5e114610200575b600080fd5b61015e6103ae565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101aa6004803603602081101561019d57600080fd5b503563ffffffff166103d2565b005b6101cc600480360360208110156101c257600080fd5b503560020b610706565b604080516fffffffffffffffffffffffffffffffff9094168452600f9290920b602084015282820152519081900360600190f35b61020861074b565b60408051918252519081900360200190f35b61015e610754565b61015e610778565b61020861079c565b6102086004803603604081101561024857600080fd5b508035600290810b9160200135900b6107a2565b6102866004803603604081101561027257600080fd5b508035600290810b9160200135900b6107c7565b604080519115158252519081900360200190f35b610286600480360360208110156102b057600080fd5b503560020b6107e7565b6101aa6107fc565b6101aa600480360360608110156102d857600080fd5b508035600290810b91602081013590910b9060400135600f0b610b02565b6101aa6004803603604081101561030c57600080fd5b50803560020b90602001351515610e2e565b61015e610f99565b61015e610fbd565b610286610fe1565b61033e611002565b604080516fffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61036b61101a565b6040805163ffffffff9092168252519081900360200190f35b6102086004803603604081101561039a57600080fd5b508035600290810b9160200135900b61103a565b7f00000000000000000000000004c8577958ccc170eb3d2cca76f9d51bc6e42d8f81565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000004c8577958ccc170eb3d2cca76f9d51bc6e42d8f16148061044b57503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e16145b6104b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e6f7420706f6f6c206f72204d43000000000000000000000000000000000000604482015290519081900360640190fd5b60035463ffffffff7001000000000000000000000000000000009091048116908216116104e257610703565b6003546fffffffffffffffffffffffffffffffff16156106bf576000807f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e73ffffffffffffffffffffffffffffffffffffffff1663a15ea89f7f00000000000000000000000004c8577958ccc170eb3d2cca76f9d51bc6e42d8f6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604080518083038186803b1580156105a557600080fd5b505afa1580156105b9573d6000803e3d6000fd5b505050506040513d60408110156105cf57600080fd5b508051602090910151909250905080600063ffffffff80861690831611156106165750600354700100000000000000000000000000000000900463ffffffff16840361065f565b60035463ffffffff7001000000000000000000000000000000009091048116908316111561065f5750600354700100000000000000000000000000000000900463ffffffff1681035b63ffffffff8116156106ba576106b08163ffffffff166106968670010000000000000000000000000000000064e8d4a51000611057565b6003546fffffffffffffffffffffffffffffffff16611057565b6001805490910190555b505050505b600380547fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000063ffffffff8416021790555b50565b600260205260009081526040902080546001909101546fffffffffffffffffffffffffffffffff8216917001000000000000000000000000000000009004600f0b9083565b64e8d4a5100081565b7f00000000000000000000000001a3e3ca8074bcd3d78b5e42fb215c43211855cd81565b7f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e81565b60015481565b60006107ae8383611125565b50905060006107bd848461135a565b9091039392505050565b600560209081526000928352604080842090915290825290205460ff1681565b60006020819052908152604090205460ff1681565b60035474010000000000000000000000000000000000000000900460ff16610b0057600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055604080517f57806ada000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000001a3e3ca8074bcd3d78b5e42fb215c43211855cd16916357806ada916004808301926020929190829003018186803b1580156108e357600080fd5b505afa1580156108f7573d6000803e3d6000fd5b505050506040513d602081101561090d57600080fd5b5051600155604080517fc3487ff8000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000001a3e3ca8074bcd3d78b5e42fb215c43211855cd169163c3487ff8916004808301926020929190829003018186803b15801561099857600080fd5b505afa1580156109ac573d6000803e3d6000fd5b505050506040513d60208110156109c257600080fd5b5051600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff909216919091179055604080517ff8077fae00000000000000000000000000000000000000000000000000000000815290517f00000000000000000000000001a3e3ca8074bcd3d78b5e42fb215c43211855cd73ffffffffffffffffffffffffffffffffffffffff169163f8077fae916004808301926020929190829003018186803b158015610a8a57600080fd5b505afa158015610a9e573d6000803e3d6000fd5b505050506040513d6020811015610ab457600080fd5b50516003805463ffffffff909216700100000000000000000000000000000000027fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff9092169190911790555b565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e1614610ba657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4e6f74204d430000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610baf836115d1565b610bb8826115d1565b60007f00000000000000000000000004c8577958ccc170eb3d2cca76f9d51bc6e42d8f73ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d60e0811015610c4a57600080fd5b50602090810151604080517f70cf754a000000000000000000000000000000000000000000000000000000008152905191935060009273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000004c8577958ccc170eb3d2cca76f9d51bc6e42d8f16926370cf754a926004808201939291829003018186803b158015610cda57600080fd5b505afa158015610cee573d6000803e3d6000fd5b505050506040513d6020811015610d0457600080fd5b5051600154909150600080600f86900b15610d4057610d2a60028987898760008a6116bc565b9150610d3d60028887898760018a6116bc565b90505b8760020b8560020b12158015610d5b57508660020b8560020b125b15610dc157600354610d7f906fffffffffffffffffffffffffffffffff16876118a5565b600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b600086600f0b1215610def578115610dde57610dde6002896119e9565b8015610def57610def6002886119e9565b600086600f0b128015610e0657508180610e065750805b15610e1a57610e158888611a08565b610e24565b610e248888611a9e565b5050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000004c8577958ccc170eb3d2cca76f9d51bc6e42d8f1614610ed257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e6f7420706f6f6c000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610edb826115d1565b600282810b810b600090815260209190915260409020546fffffffffffffffffffffffffffffffff16610f0d57610f95565b6000610f27836001546002611b979092919063ffffffff16565b90508115610f33576000035b600354610f52906fffffffffffffffffffffffffffffffff16826118a5565b600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055505b5050565b7f00000000000000000000000079291fff100db1b83f159a0c5795b4a6744c24c281565b7f00000000000000000000000015dfe362a57d45802f78e10e6db18f77fb2037ae81565b60035474010000000000000000000000000000000000000000900460ff1681565b6003546fffffffffffffffffffffffffffffffff1681565b600354700100000000000000000000000000000000900463ffffffff1681565b600460209081526000928352604080842090915290825290205481565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709868602925082811090839003039050806110ab57600084116110a057600080fd5b50829004905061111e565b8084116110b757600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008060007f00000000000000000000000004c8577958ccc170eb3d2cca76f9d51bc6e42d8f73ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561119057600080fd5b505afa1580156111a4573d6000803e3d6000fd5b505050506040513d60e08110156111ba57600080fd5b506020015190506111c9611f92565b600286810b900b60009081526020819052604090205460ff161561124f5750600285810b810b60009081526020918252604090819020815160608101835281546fffffffffffffffffffffffffffffffff811682527001000000000000000000000000000000009004600f90810b810b900b93810193909352600101549082015261125b565b61125886611bd6565b90505b611263611f92565b600286810b900b60009081526020819052604090205460ff16156112e95750600285810b810b60009081526020918252604090819020815160608101835281546fffffffffffffffffffffffffffffffff811682527001000000000000000000000000000000009004600f90810b810b900b9381019390935260010154908201526112f5565b6112f286611bd6565b90505b60008760020b8460020b1261130f5750604082015161131a565b506040820151600154035b60008760020b8560020b121561133557506040820151611340565b506040820151600154035b6001548281038290039a9290910111975095505050505050565b600282810b810b600090815260056020908152604080832085850b90940b83529290529081205460ff16156113b45750600282810b810b600090815260046020908152604080832085850b90940b835292905220546115cb565b60007f00000000000000000000000001a3e3ca8074bcd3d78b5e42fb215c43211855cd73ffffffffffffffffffffffffffffffffffffffff1663a9c6abe085856040518363ffffffff1660e01b8152600401808360020b81526020018260020b81526020019250505060206040518083038186803b15801561143557600080fd5b505afa158015611449573d6000803e3d6000fd5b505050506040513d602081101561145f57600080fd5b50519050801561151b577f00000000000000000000000001a3e3ca8074bcd3d78b5e42fb215c43211855cd73ffffffffffffffffffffffffffffffffffffffff1663f946160185856040518363ffffffff1660e01b8152600401808360020b81526020018260020b81526020019250505060206040518083038186803b1580156114e857600080fd5b505afa1580156114fc573d6000803e3d6000fd5b505050506040513d602081101561151257600080fd5b505191506115c9565b7f00000000000000000000000015dfe362a57d45802f78e10e6db18f77fb2037ae73ffffffffffffffffffffffffffffffffffffffff1663f946160185856040518363ffffffff1660e01b8152600401808360020b81526020018260020b81526020019250505060206040518083038186803b15801561159a57600080fd5b505afa1580156115ae573d6000803e3d6000fd5b505050506040513d60208110156115c457600080fd5b505191505b505b92915050565b600281810b900b60009081526020819052604090205460ff1661070357600281810b900b600090815260208190526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561163581611bd6565b600291820b820b600090815260209283526040908190208251815494840151600f0b6fffffffffffffffffffffffffffffffff908116700100000000000000000000000000000000029181167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909616959095179094169390931783550151600190910155565b600286810b900b600090815260208890526040812080546fffffffffffffffffffffffffffffffff16826116f082896118a5565b9050846fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff16111561178557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c4f000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff82811615908216158114159450156117bd578860020b8a60020b136117bd57600183018790555b82547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff82161783558561183457825461182f9061182a907001000000000000000000000000000000009004600f90810b810b908b900b611f55565b611f6b565b611862565b82546118629061182a907001000000000000000000000000000000009004600f90810b810b908b900b611f7c565b8354600f9190910b6fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002911617909255509098975050505050505050565b60008082600f0b121561195157826fffffffffffffffffffffffffffffffff168260000384039150816fffffffffffffffffffffffffffffffff161061194c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c53000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6115cb565b826fffffffffffffffffffffffffffffffff168284019150816fffffffffffffffffffffffffffffffff1610156115cb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c41000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600290810b900b60009081526020919091526040812081815560010155565b600282810b810b600081815260046020908152604080832086860b90950b808452948252808320839055928252600581528282209382529290925290205460ff16610f9557600282810b810b600090815260056020908152604080832085850b90940b83529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050565b600080611aab8484611125565b915091506000611abb858561135a565b600286810b810b600090815260056020908152604080832089850b90940b8352929052205490915060ff16611b5157600285810b810b600081815260056020908152604080832089860b90950b80845294825280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055928252600481528282209382529290925290208190555b8115611b9057801580611b6357508281115b15611b9057600285810b810b600090815260046020908152604080832088850b90940b8352929052208390555b5050505050565b600291820b90910b60009081526020929092526040909120600181018054909203909155547001000000000000000000000000000000009004600f0b90565b611bde611f92565b7f00000000000000000000000001a3e3ca8074bcd3d78b5e42fb215c43211855cd73ffffffffffffffffffffffffffffffffffffffff16637ddb11d4836040518263ffffffff1660e01b8152600401808260020b815260200191505060206040518083038186803b158015611c5257600080fd5b505afa158015611c66573d6000803e3d6000fd5b505050506040513d6020811015611c7c57600080fd5b505115611d5f577f00000000000000000000000001a3e3ca8074bcd3d78b5e42fb215c43211855cd73ffffffffffffffffffffffffffffffffffffffff166337182c1b836040518263ffffffff1660e01b8152600401808260020b815260200191505060606040518083038186803b158015611cf757600080fd5b505afa158015611d0b573d6000803e3d6000fd5b505050506040513d6060811015611d2157600080fd5b50805160208083015160409384015193850193909352600f92830b90920b918301919091526fffffffffffffffffffffffffffffffff168152611f50565b7f00000000000000000000000015dfe362a57d45802f78e10e6db18f77fb2037ae73ffffffffffffffffffffffffffffffffffffffff16637ddb11d4836040518263ffffffff1660e01b8152600401808260020b815260200191505060206040518083038186803b158015611dd357600080fd5b505afa158015611de7573d6000803e3d6000fd5b505050506040513d6020811015611dfd57600080fd5b505115611e78577f00000000000000000000000015dfe362a57d45802f78e10e6db18f77fb2037ae73ffffffffffffffffffffffffffffffffffffffff166337182c1b836040518263ffffffff1660e01b8152600401808260020b815260200191505060606040518083038186803b158015611cf757600080fd5b7f00000000000000000000000079291fff100db1b83f159a0c5795b4a6744c24c273ffffffffffffffffffffffffffffffffffffffff166337182c1b836040518263ffffffff1660e01b8152600401808260020b815260200191505060606040518083038186803b158015611eec57600080fd5b505afa158015611f00573d6000803e3d6000fd5b505050506040513d6060811015611f1657600080fd5b50805160208083015160409384015193850193909352600f92830b90920b918301919091526fffffffffffffffffffffffffffffffff1681525b919050565b818101828112156000831215146115cb57600080fd5b80600f81900b8114611f5057600080fd5b808203828113156000831215146115cb57600080fd5b60408051606081018252600080825260208201819052918101919091529056fea2646970667358221220cf54a837df6692f9eea2b8f28632554035b93dfe28c5b5c2a02c24bd6bcba1c464736f6c63430007060033032a44c1f0fd65b86658da270fc69b72c00ac5801a1b0568c05dd2248abb98295a0345a76c9db67cdcbd55d886e6a0313a3012770307cac83eacb98875c60af82f0b03938598a242c222a631cf5feb0671976942e0225bced0190385e02d7603c9679d0337e91abab939265d97492c2824167a3b4b96549fe91d9f9ef7f3b6235d482c7d03697660fbbe0155c170d967d8f04f4ac775f36d2d5f5518c4276f6e290c5e1fce03a17f11fbd493416336fb0bbabb6c168353e0331999a555884f033a2f0b9bf256031c2ca9ec2056084134e07c0db4dc739840ef11f6a8ee656dcbde4c08bc72cd99036029007ce1f775dbd17e270020e6dcdc9675b2ce3b4999e4857c94b27780aa050345e188254924bd87c540e1fdc255402527421a78507e3845be4d6eb17135b89a03aab221bb780fb98a05876d6e52572874554d7dffe8bd4c1cf27abc77ea10718b037836ddf662965c5e6eeaed7a55b5488e1c9205c01fdd963411ce2bd1c004a6fa0329353011354f87c3191a333ae804fcdab3432e2c86a049ab51e714d2b78e5acc00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60552c47effb1058beb943b8b57ae9dea629f6a449fcc000582003d9dd409d7995bdfdcfcf96f577784f03d7d9bff7efad132384a971b0ab81d055183153f539d4b6ed6ef3b7fe44392942375f6e4d23005820032d14eba443326bd8f704d41d8120db6625af07c5dc975a7340924d56da80d04101005820037ef1b4d5d5dfa8e70f057013c5b0301dd1e63d94ca89af74aa81e3752e98504101005820035e8993833ab1ae13b488e452a51bd687640c809b998539a2f7cd770aedc3f041010219ca0103547e0c53c12951e6344f0ff4cdd1207dc8a49c8fb377ce11698720e86686f22100582002617147da0c9dde2075e7270c5a0d2d23d8c98c60b2e9ac7144f595e085dc93410103df03d8d5cef19ab57469a161ec69da2dc1f5f9feddc48b7e3af70726f9c08b37036dd9ba0045b875bb82d0e10c79d0029ffc8d83d1c1f986af02ebfe6c9ba9b9f80339cd2275e7851c354633cbddc1e7d29c72c45ef64a32e1113a03365ed5d9622a03dc07eed41e5766cff4232a201b3ef32adcd13dc049c3b315b8abbfdd061c649501410603dde484210f9811af7d2be270334b5e36f5316f47f3066046fc8a06d3c40b94b2038e1d2d5408abbc0376cd1b5f91c3c4eed3f7557fd6fb8d0d2d6df86f6cfb484103476bc443fa0fbe72854d961dd7a95bafe004702117876b768faf98a5a4f0b7ae03839c19b315293e33ce18ee9d1e36f38b0bc2411745308af7e63bbd84b94c7c6b03a3e22bcba98d6e7bdc122ff5eb220da375f4af9b9f35d7421698b35045bcc2bc03cd843d8518f8075789924a3ac32babf47e5c8aaebb545b94dd0fe2e8b454e8810219ff77033077b2ecb3e24103d47915f3e8a692340fb5f898b4dc801e5b015c58cd02a060032a8ebada47ba329a5366d76087d1baf5c0f193b706e464cf6d557fdf0acd7ece0058200302a0a2ee1c76ab180892f293bdacea2c053f4869c10e43c841ec2e5ae708604101005820030db6074e3915a5c9d1693c9aa0a73576db09967f268c634433b525bf512b7041010058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b055016632cb130000000000000000000b2ef280d289ce02182303438f7a4f650ffec703c4e18ebcce99ebda861d86a1265f601f2c82d6fe4a045700582002fb62343d6f590bfea0e5a473da9a2dc87e51c5979950c9ae6b5e82192e5d944101030476384024dc82971112b51f56f7088c1e691883ffd36989bc8328690a0a0e62037a65f51bad93d24b68dfe0d067964cf41b90c6e1078e82e1f117c7afd089502703ea1914d6903a47340bc6fba0cc7024d1e4e07eef7e0edf9934e444d913d009b7034a180e0b97c81785492bec679f6cc4b5cda66476390ccce874ebe5c0a537a228039b40b4a759e0179e923cac77dca574683b8ee5865543aad9734878e80958197f036218f28d1043c5f3e0ee6ff43153ccf7e502fbd249800ba2b3137e2922c03d970395d706c69608948306d6c41a91ecb48a697d4949ac1d9f9c6a484d98d3aad265035b8d4e6594671cf4c5d0d8501d505a78983116bd9a56f10385fe19913acb2c4903b46444e4302f98fe7290b682b91f8fa858fb792d035746511b9091dd10fd123e00582002f7b78eab2189e26c65ce5169a0d36b30589119573e0db8390e37c4cf57e2bb5820ffffffffffffffffffffffea6aa4f38451847822606aeca3d465ed8c6eabd1f9005820027d6ef60b849b7abc781541ab0f08bea3cd636247610eb25496651c2f876ed041010219ffff030471536a0957e719bd8026ea90d6b5d4acfa137917a3405f12609b26d83fc320034b8e6b044f804eaf023eb04a9a3fd192892f2ffc21dfd3cd75fceba086754665032f5900fd8ba4ca143858266387744072347e1585c200e39ffea8b44d61b8b1bf0219ffff05581d02ee5e14730e748380e047c5023bfc86fa0f745ef9bf8169df2e129c2a0701191fe805581d02e82654c05c320b929368a0ac580cd30e2291b7783e21893ea9e2bbcb0c0d46b6f9698835280219406805581e03193d3dfc286a3b4b9533bbd7da79a6615334293893d82fdc723da58fe004010374739a6a5eb0ba58cbe729548ac16050b9fff6b1626bd177f7c9f79a418e5f7e01410802190d53031fcf63a9ca03dc4d652bc1a7f7fcb389e6eb045078ab64c59a2ca07aeba7924d03ddf27df1f73da816f3ab71dcc3546b589c4745960c70582f8eb70071d40b3e5603b857079ae73f18ebf1b85ccb3c96ee1651945039669da15b1cbc8884076f4028032b90553f19a092e757c656242d846ba318d1362014374b9abe9401ae71727db7038f3db4645c8d8e41f02b0b36ea4c0c01e34c73f592568036a42c18e15f2972f20219ffff033d5b931bc2e9d7d6af4963853f8fabb4a3835cd451dd3b3087eebc6a72b17e6103493d92479a727372a27800f983a8718d4e9b32692fbc13505b42f664064d5b7d0219ffff033a787be5004eb2c8a49ae656c5d924ee684aab50ef0c318a0280655a8503aa20037ad6a6c1cc177cc29f2b4dd3406cdaeb1da059a94253e1cdf5ecd7b799d17691039983da219da97b2bac349444ebf2d7931c6a352fdfc11afd9d9b8950d7d9dbde03077ffe9594aa6ea5b0c5e01afd513b6186658e3cbe83a31948e194bc78e5e844033301bab079c7c5520c32732d5ea7766739b672f2b873680cd6ee96cb9f119df903cb4714199cd823f241d37282594031596ea85398a738d83243f64179a1d8239803c04e85382d749b538761a78440d7e810aa910d1943272440262b8048b1e0b6e303be633858a7178e6ad8e9d7ef3a0564b9e9ffacd20e4b9bc191f6a0334bf4790a039b0e829c1229e9b63a102b2e8bb5bc7ac9aee2a7216dc5fbd8efeb031ebd8aff03668d19860886abb0dcd51cce8dcd1817c2ce7b4d799742082e79ca3623f140b9030365b4180350c1f6d9eaf51681c80874599513cef62998486cf093800faae99003e0ace60f07ca2db2ef98f486b2ee5aa1cee2db722833a4ebbd521d5c0e1c366c0219ffff03eb7edef92f028e28893e2f644e64ebb42640e0fada2b2c8c8ecd29d26c251da70303802f894f0496ee99caad4443815123553291cb8e3b804e5fef212b20855945036abbe1e2087c434d0a6a3328f87e1cd79b1597e5316ff2679cffa9b7f87c1992032e02f521c1938658461ce7bf03588e191b93cb7e8a428f02c0c6e1e7e43865cb037e595007b9bbc0fb0402e8310c60038a96c5ebea9633ead637675ad0286f7a5f0341ce3d8356322f0ae70fab054919e2a6a043ab37d92e71ed77fe5e21b0b88e5303ff4c5c4ea738cd6c7b3908a6e18ef25590336cd2ec578a2c9e71e318bb1df60e033d2973f61afd5b71d6411d91a6bf4c22963a71fb255c3f496cbde26f8a433e6903a4ad0bff4b28bfc7e4a44556a4b762c6fbeb43311757bed8dfc0d4cf6f3f1c1b030947c8ea0f8f8ae35b09da7d29fa728b182400d151f4f365fa97e95741a910aa05581e0342c142e05fc1e04dda6e55b398a9e8d8c1e9ecc8ab6084212369adf6300c01475d81e68a7d000005581e03d34e8fcbd9bb6d71b115d6726b042606b0d9ff21e9749351f54e7437100c0147021a213c3880000459086760806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106f1565b610118565b61005b61009336600461070c565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106f1565b61020b565b3480156100f557600080fd5b506100ad610235565b61010661029b565b61011661011161033a565b610344565b565b610120610368565b6001600160a01b0316336001600160a01b03161415610157576101548160405180602001604052806000815250600061039b565b50565b6101546100fe565b610167610368565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061039b915050565b505050565b6101c36100fe565b60006101da610368565b6001600160a01b0316336001600160a01b03161415610200576101fb61033a565b905090565b6102086100fe565b90565b610213610368565b6001600160a01b0316336001600160a01b0316141561015757610154816103c6565b600061023f610368565b6001600160a01b0316336001600160a01b03161415610200576101fb610368565b6060610285838360405180606001604052806027815260200161080b6027913961041a565b9392505050565b6001600160a01b03163b151590565b6102a3610368565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb6104f7565b3660008037600080366000845af43d6000803e808015610363573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b6103a48361051f565b6000825111806103b15750805b156101c3576103c08383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103ef610368565b604080516001600160a01b03928316815291841660208301520160405180910390a16101548161055f565b60606001600160a01b0384163b6104825760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610331565b600080856001600160a01b03168560405161049d91906107bb565b600060405180830381855af49150503d80600081146104d8576040519150601f19603f3d011682016040523d82523d6000602084013e6104dd565b606091505b50915091506104ed828286610608565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61038c565b61052881610641565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105c45760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610331565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60608315610617575081610285565b8251156106275782518084602001fd5b8160405162461bcd60e51b815260040161033191906107d7565b6001600160a01b0381163b6106ae5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610331565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6105e7565b80356001600160a01b03811681146106ec57600080fd5b919050565b60006020828403121561070357600080fd5b610285826106d5565b60008060006040848603121561072157600080fd5b61072a846106d5565b9250602084013567ffffffffffffffff8082111561074757600080fd5b818601915086601f83011261075b57600080fd5b81358181111561076a57600080fd5b87602082850101111561077c57600080fd5b6020830194508093505050509250925092565b60005b838110156107aa578181015183820152602001610792565b838111156103c05750506000910152565b600082516107cd81846020870161078f565b9190910192915050565b60208152600082518060208401526107f681604085016020870161078f565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220bceca38d0e447b38e612e8ea5bb02b1e1fcac6609b19aa0fd3fd43aa4b97bf1b64736f6c634300080c00330354fb68b2952bdeafbd9713710d91dd82d968e6fd088acf61e88515a911e0e3880352116575c812c79adbef9acafe9700708e8a29a809a6159b537e76400cd6bab203e6b266a2ba8b05a316f280a92a7838d7e95ca8f3f1d11d49b47141916d552c6f038ae2b450383bf0c46cbfc0aae9301b7426a37dc52d60b1d6a0edfa6358e1ff78034eab3e46173a677ef7cbb2a7de787a52ec80ef3d1676bdc2cf7a0efc12b6b98203144ddfc694f5fc4eb17d5937234640f85994d60bc76c8a5a87aa02769c22c56c031f7d1e6576672606d766693b4cdd9dea1dd868ca6e7ebdd14dadf7a3dbc1971c0395dc91443ab08551a985c8bcabdd1f6039db42d8241e786e9728ff61432f72dd0373e810c3d8b228d8bda1fbbe6109509accaf711ae1a2acaf6f4b2e4e1aeef4080398ef0dd1ba7c962cbb2e249be00407aaa12b496036807908754b60f040cb2c1403b6bdfe01ba0e5b45e09454e019068a1b6dc439cf3b58fb5b68910caa9500cf2803a6c627954f969f3e0ea0e7244f45847737a8b71af8c89c2ada6c8c7390c0df5800581f0298fb00e349f4b93fa759aa8f0a4aba18675abd957003ddddaec1d09e0e994901bc16d674ec80000000581f0240096a1577548a87021bc43c92d1968147d4837f8771a0817d8e8a9fb3e954899bd78021a0461e9c036809be84780b9c5c81c000581f02e84fc44dbbe522d51a15f1cb8e58375582517d58a32f5e962c843f3a98bf54bfa37da29ae2d6388c65578117aa78fdc2c1971500581f0283ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff954343907185b71adf0eba9567538314396aa985442038dbb819742912639e78be0377c507f77910a64722bf4abcc037cf71691ed3ce403299f6053a1450f12dcc8be23f6ab8ac3778463cc14a57c16bab5d766d5b9e6fa00581f02a32edc51f03266d2eb9a65cb66a2475822b59eb222a4ce97384b607d904d54542e3c6e9974fcf1227f9492d35985b798735be6031706ce82479d3f0ded2e8e0f47aaf40a2267944189afcc32dd43563bbf4e82c20219ec13039f04516ff12c04d6fd005593dae59fe2151ec00af162ad6e1bbacee695ef9ec3033fe744020e696fca6657b69b00493dc3b114b72ca8acd0cb9a862548752f4f38034d654ee4dd725f79047d3219a079a98a536987742b5409f352403ad776dd5de9033a43367c68cd36db5f57f1191ee6319ec66d190be7cf83ff16031c7214a182aa031f8a9165eb94c6a32ea9fb44fc04a2bfa1fce48c5294643bc03ff95287c8e5cc0393eece7157ef839a76a30b60bdd220862d5640845a3a1588558858847d4f62b5037945c69b2dcaa99af20e1807f6c21b4dae3b74982af9b17b78deb325f7ae371a03871f581cd57d8277fb0cf84ed7c1ceee122a4bcefc96a6ee00eb367dea53051303eeb92ac19c77ba7a2f1b6243487a47b7abf45c162dbe38f9355171c4d44bccf903e232db66ac69bb40631b8fa01d0491def6d9c50bbdca48e5c78081e957ad06fa03d8f00587a203d92772792ee512342d76dfa48c4f4aa665bb5f743302488aaf150219ffff03db5f2d363a65c812ba78e01400bad939ef16e022ddd302d5e5901249d467422c039808cbf4420fc6e7d6946923f02ca8a5bf202803ba03c74bc941ebbea9eaf61b03024eeab220d890cf91b670d95a775656fbb07ba547095f51cecfbefc63be98d903bf566c19dc49ecdd302d54ddaca891ee2903770eb4c01ca668290938be949a9f036f915ab23e4a8b0cc6526a60ba7edc9abe1d8f0d2fd2e45cab997706b0fe3171039e1b91334f318570822c5d0a097245e439e3437f6689de656e9e8b733e0b5d3603ba35080467d6dbf8c40ef46a63a44ad8feabd735661daae4fc2c4d7b457760be03841cbe4adc128263dac365c7061b3348e0497db0010f845de7fb410757e4ddb40315c26f5c43cbf12a9c0d491fe03b6faa416698830b463f957d21973c683b682203c0e117e9f36d11917470716d85a3a91c8eaa14ae82a716b259ef588568079c110219ffff03675e6b7465220cb00841a0ae06fc3ff837723917bf3fa3489adbacaef1afa47303ca26c4aafc1d4b4b6c7e588d45b18611ab8f2367e10cc5017ad2c4a562795b4803528cc6fe386f6722573e568f9b338a5818c233e3852dd8b4e7d87d5f48813d7e03cd7571980058ac109645bda3222eb454bc7802afbde874317ba8829f3aea0f8103f13097a8991e8308ac1ed2dab504a33f41a7580674075857042c8e25302b08e60393c4b6f98a689c6b68b2ae48757ff61f2d3ad329a79351ee7f48f8966d718a0d037d221609af0aec03aadf1e68f4a0a01a5955366d21a18c938545600fa92719b00326c0693760d893994713bb457c9a1adccdada1cb27d3e8e0ea0b324e08b8672e03afbfa3d03d4b3e4d878114e155e181b4766111233e5a9afb89fb36084472070e03794b0831141a0e1916947c4d407bdacbb91bb6a641ed47cda0b9bcb34a93ce8903081ca552380041f2dc1b650b5eb68da1f86af2e91c4ca951897f2a4bb0bbfcb600581f02907a857a3c34b67a254788b49005e866d563d119f67d6726ebca2a1b6c215469126bb7b9e965a51596e4bed35d4f27e36074a20336b127f317c75b79753fcbe0aaa98c8201f30c10f227f080b700aa96ffdbb2ac00581f02e54bbd50f217b6b2a1c18f35bc5b1a89e4fe620e42e6c134eb3c3c91c509542156cbc13ed3790d21b643c1ac6b7bf055d3917500581f022037c77f65367ba65ed5c8b2ae8e0f9d644ad79dc3d90d1732b4b906b94354b801242a67e199948720bf4d4850557ee983200403a3856672f416bde4bedf8ec2e6582dcd3e8b3bd0b8b12643f99381968640377e00581f02856f3def345d7131e2d9182b57f534d0fabb65556640dea02a79d438706f4901bc16d674ec8000000365e9d22d133532960bcc8a70e37a2f36e68b9e0f9f7bc3e5cf664c6e7e24c5830219e90903a3059b75e8c0cf808b2c0715f3d008ff4059463fa9d3b98ff2aaae0d2bf32449035ccdbf1d7c987a36083ca930bd1c84f2d0e7963b43796c56a0603981256d3b8a03c288510c70aeb08781b0e666f2a747560e915b09bb38908c85e630bb584f30320351198108391c7cd58cb0efb1434be7ae6a1f3621498287bdfd334bff4e681301037de9175953a3eeffd853aa096676256dd3290c5a37f339c7aeb13548a2b13a9003d86ecf5e79c97ad74bf85409b561e7f2f978753b718eb8e09d2e46aad4f463b503d83f7509f0507d36ad930b66805c66c2ad1f15bfda2efb2e65c79f8f44d4649f030a5868ee2714f8e686ce0ab9f4c5251957d6059341224db553de9e48ea5ff435033ac2bb77a52cbd7c6b13175ad9d13c59cf309cbc7fd243374cd0b151c919105d0363d351f61d2d387874165176533cbab80f563aa38653c780ff68dacaf3540d730219ffff038e64e7029995b288050efa1db3dbb8f41c62efde05440b919bf86e6bddd93b8d033372fc0bbc3a0d86b934124809eff038a301f767134d263b4563d1b666a67cb703c5f0c56896b913ccf58f06c3a8d74322ced3f3feefbcdb49925c6ee5743a21b9034961bf42dfbf9371714f2d97fbf6d34a96b068101011d8078b565fc741427e1803c0b96a866f78fa9cb8bc9d9eecd54a99ffb02d9b51689af38f6a22a34d4bda0a0347282a114cc88be29e69fae5d18fce0838e0829439f07052e787363c6567eb8f037af2f9176363193b322abbd34ff0ee2f67895c7238069468593a4159aeda863f0331f66906d750305875748bb5f419db42169a79e1fda721f4429e0a4a6e9ae1cf034729b36a53b705ecd846d43d9a9d9ad1c9b097c76983e11e7875f20bb64ef2300219ffff03f52e02762bb547e1d914cd113ddf093ded25d2e932db5dcb224dba649fa182ea03cfb0132dd9e964422c31d69de3ba37f915cc4de5fa628bab3bbd97c228bde35903cd855c5b0b4ebfe85c75776f92b3dc98f0fa1b5e6fb76b2e861ad1be22d12827039c4b78d128f4a8f5335be6e2b5b4773fd8f7b2f41ac3a4fabdea685913dbe01d03c781817c2f8fe0c26164de5c1ace8fe659796968a5b3288679b4f02821054220038f8908dd9eaea8ff2de778d3f29d3569b0fc3937ff8a9b9b9a52adf47001144103e5ce020c3140036f3edcc0cdb5926c06a4a8808dddbf6a18eb0d6c82b47ba33e03df8c08350110b11b38bc9608f314b1e32726005850d5f1c4e2e12222bba8a4c8032c7411f6302db859fe633fc014183d4e698c07250612f51b9c28c1e7f37d5a4103f2df406cbecf61c286f629eb64c862fbda691a1ea8a2c8a1cd95559260cef2e4038c53cf8d20f315457eca2f517c4595ac56e788cf5969d77ea9fb979660d39a53032a913a9f9015a663d75f8c1524e64c89902692703258de08e470b57438757815039dbad985d1d61f2ae3370f96fcdd0b763fd897b162b28b332a2be653fb6724fa038861bae516e53d6ca39ff439d1376f3cbcf692cc3ecddcb9c7754fe2ff735fca03d54cf6a06a84ea0143d909b45e4a7c0c56b483680e4305db22010a488bdaccd603899e7ea9ae134712684762d6fe79e1982b3e72c4729ea7e45667394e2f92be9d00581f02e25ceeef18b4ccfb914f121db7df605643f45765870076196521112722d054472d5742e7ef3c734d38c515aae2701097c70c8500581f02cdf7de9b12458b25be11cef3a58e5ba6faf0a19c5a845ce02df47b952a314901bc16d674ec80000000581f027d3675dc81d989e95374697f9c0e4a982f4c70aa06f0123376e43883f2d654e876c6b8f1e149100ad41243082d23eee5c8e84603979bfc1136f8927d88885a069dca06654260dd1738d4f25452435afed90216d400581f0255f48c86dca8ff5120d4ecb8f91670839e5712180469a0a6af758ed1d5bb4929a2241af62c00000000581f02561834abc2087fb06ca99521b298a759ad84355edc03a418b91ed771131d54355cb8c6186609bd7f4956d21e7f6581732557e7034330ceea46909ff8eb00ac20b461ef9a9c8fa02ec841bd33f69b850b5543807203cf1790ede8dd55549b1810cd730255e5f17a42e4bfcb5515696b1f87083c1bef03fb9535c1b7bf44efad631b13644903e942ec0b1814d453625e22dec093dd30b203affa276314ac2c9636add3669fb8cbbb2928b6d93efdbc51d77cb324d47e168900581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810548b9566ada63b64d1e1dcf1418b43fd1433b7244400581f0328e4f26acac19ce99c04ecf4174ba7763230e714fc3ad1c050e8b2e557b04901bc16d674ec800000021902010219bfe9031e347d176e1a3c7b3e87a667372531b7bf418fe7bc709079bb2b0d0e1bd335a0035b744699ec1f53c73a66d7c7a7dad08ea44b570b44ec7b9dabcef67b3a9cef0d0219ffff0313ca7dd7b0e3ae10648c362a2a6f3b9137d570803b8e9b74f270d77b061154dc038a3b7f49d07b414350f66076488031b0b91edbb1bf7f2ba006a73914a86caf6203c8a88050e1163a63366c5adf40540f54b928616aec1351f0843e9a436f6bc25a03f60a4ba409f6a14ed389c0576447e3ee288ca4a80b9fa0294a9e19f33312c9c603cb0a287df6e2e141c8c16243f74078be75beea6feabd04b6667bee6cc3d9027803d74df4cbc97202d5ef85de945847291c7b3636280fde2b549e584d181660be3c03dd63612971c79613a716838b492c7fa21b73a6753beefc66b1ce20bf8b11b24a0318b6034116f1cc1a5b88dd7d72bf67d43f5e856c810934b61f6c5186753fd9ec03d200453e195b54a7657acd99efcacd228af4a8c1c970154abc4820fe00b68a85038d4e17412bac9ea10b83ac66378a6fd0c7f62d9cd5e03051d439472373fd8c1e037f747b3efaee8261144c76089c43162f7ffba9aa68aae68422b1781f5eb08583032affeadc5b100c94ab76f0e7433aec19fcbe671a1cbca46b904a5168b888f630039d8ad48aa32f335b22d8070b421aa7ddbf669b7cf27bac5962b9510e0b95d0220219ffff03c772fce3e9dc06420cd3c2ce6c09f6524c4207db47af3c17f9455e236e929c2d0328b79d46a7673a85a2b5380f09877c4293c1292be5cc9aa9ae069294061f3f4d03bafd3aa4932a579d890eac4c82a7fb7d16b4d9df6e821d2cb1ee3bf3925db21a03b19a6f11b0b3302cbfa7209ffda6aefb40fb7b669e9e1143911ced222a88562c03b6a46585745934bb645dc4415fdc317ea62851f746b80c135b30564ddb9205700333ee21334e296ddbc8eee2272fef89e156cf15d0389285bf60188e7ac268541703ed191431d05fca992e024281b05d668a44c736b35b4c5eace2e8ee88d63c279603110ba20eb42f41f69111cb68b3d31b4c25aeb2e6d12bbc92ec5467aca5ccd2780385f382305154fe1838e9c74f5dcbc48cbd67a0135ec5b4d44aa9ef4c085dceae0351c5b797c5af176be1b92b6593daab9c16250c3a5ec5598f65bfe221d4c0d9da03f570e92c5475e593c113bea6900325feb65a32cf9d8916599ad914ed0230d965039fc33b5c50e172667de86da093653059dd8b8907e9e8e65cd89714cb6baefae6031a562e44c010cf030b8b06c75ecf2641f250c9c6a080a3f3ec840e77893ad5dc03884c190dbe824ccbd287fd2c1aacdc4fdb430dbd958a0c11466232e592261f3f030246fec5c61edb801c45cb698617a48d8d9205c5ce5ef3b7e5a046ac7e88954503016b2afa958fcd7dfe3d5ab3b626717e0fd934252565a2bee584e7dcb12d96b6034ae1b4382fe46a55e359d0b6b3891c8f3c5aed0b68c0fa0d9993310c4b1ad30800581f02ac834c6315594192d328628b00ca4585493ddbacb5f6446a183e491ed2004901bc16d674ec80000000581f02e17d1acadf8ada8c3e2dd3c549a5e7160aa0d5be34e843b19a968c032e69540416b74d8b6ce93802c33888c85626fed4004b5500581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54e4297e3dadbc7d99e26a2954820f514cb50c576200581f027ed8bfa0cc6cdec7e408b5139c358abd875770dcc02a973d75a02b6a183f54f9c5281d32785383d923836c90fe6b65874dc71100581f02d642b2426d0edb8c6ad4dcb681ac828dac1186ea5f33e31c34c3d7097e3654ae1754be70c64cad5a381672e0026645722116e100581f025127d00c51cb8fade48cd363071c556d2a4bece1d36072d4318993204df554dee66984d945de2188e552a504493591517c098b0342ecaad6bd84539254031d52fbdbb70ae448eb9bc3d8d26a21217774f0025ecf032d192fcfdfab5e26d3f0da3b7def142b6b9b311ecab88269d190b9912425359502194c67031f2ce4c5218e618c624263f37f36d2cd2ad6d9bdeaca76509b606cbfbd7eceda03e5db95976bace08d0a0feed93af118dea87aaa3c10b81b6826b093c951d88214037c3bc555e1feba6dcd776b7a60967821d3d108e1071e0d2d81be4f8c284d926303c30bbf40a4c6dade8c557cfc971b61a122ede8f251b376e52582ea2bf88da2b50219ffff03072926fdb519125a1cef5e1749d792c75a70e46f879cbcba0b4562e5354de88d0328946679b663134aabfa859ef98c4c6756ccbe426e7698e5ca36571d179fce3f032182307e2cbfff773ef0acb1a401b60c4f5097301d02ee3ef06a67bbeca33fbe0367b52f280f51eff19277755da1bd9994f8eba371e969f7bbc0c013eb541d766003ecd0a5bec7dbf82c2843e6fb35a2009ca5ad61ebd9b647d0230d0668d18fdcef0370cace4626910390ec6157d84a10060239a859a5846e768724b38fdeb069138b03c6ba125be8e817e065d76beb0c47f7147afbd501c677a1410ea4ec2c560f629103e4c416e2a99ccbc46c43efe8240075789274e11d744e33ce021a289b2d7dcf8c03b6416ffac0de42a3d2d4f4278d630e1932124dc6d3c94fc4569440d487b30b00037b9a27bd0d8ec3cc26987abbeab51011af82cd4525c5b463390c4bf98b5853250219ffff035fb2d88e769af829066f35b32c44f8ef69db552dd77f005997929daed109fb19031e0bd435b1db7e46044bfcf27ef3210a6440d2a642521d5cb66c1d845b0b4eaa0352ab416796a633dd354128a2d8d0fafd9cf0d2ae292589053a2b1aa3bac078f703938f18857c0888636fc5ce2cedb55e0635424b44fc8d56a06efc40ad3368ea2e038ab990946e6967bb0fd0ed370df1149b4cac0b3821c35e3f46e92f77f3f1b6de03cabf7e792a39e078cd024c2b200e5b3edfea12caff0a248a6b61199a01cba95103dbfc1a965e7714e64f17cc87d53f0a1bdbeff6bf03e286f05310570699a8316e037d112f4c634a632bae8bb0de7bab4e48e83ecc8faff70cfb27e0f2cdd8da3f82036565736b86607c27afe04ba1866a58dd1fa1103e7a4da25dac202da40adc01b6032e335497b15163ada7ea0d05774d78365de1f3e72b63b4f1ef04ce982617c3ff031583cfff8d0bc2b80da983dbee6fe9cb164f82fc656ee4c40653b9d10050f9e503d2b38dee55cafbe8be46b1955fcdbdfa025a837a08f2f21284b281126d9eb936036369ae040d4aa6b25d30347cc7c7f6e4bc622cbdd8484f16a89f3d98eb920afe039940e674d13583db5bc8c7d5060f66d7a4f02731c842ec4ea97b75af6acbc03e0315ca111cee223591b1084cb2adec697a227384d7e45a4c09da2c0d3ce404601a00581f0281017f3d9c40adf69bdbe51c337db64bbcbbf88020327958eb5528b0364a54ed967d262f8ab843e910cac2f6a4ca88d969e07003fa538e84e095369b05e07aad53e1549aa7901d0b4d540dbd735a36fee3f50ac303da97752cad70d42bf8ae19ba7bc5dd5ac4be495f91b37f62e2f220860b22d95b00581f03b1871c5584bd7236f33994fd5548df7b184ce614a629c0bfb7b500e03a904901bc16d674ec80000000581f03f53fbbb8e7b5471a1857be64df940c6047933cc68f7e31e5b6a26f65e04054d4018ce9a041a9c110a9d0383d2b5e1c66ae151300581f03cf0cb5ae8f04f70d5253afb783daee20a58bda7de9e98544b86ed6b153704901bc16d674ec8000000219904002194a0803c0ec7c8f71cf980977f21fa9d2779db2ac929b7ff30ac9d1d0ae4406ebb0f65903c4465622eeefb40e5fc8baf918c54650c3975f159967f8d1f56d30184c4c234c03a7797f6860316ec24cfc1c4f0e1f9fab4890dc842797a4fe178b2ad9adef378e0319a3809b2a7f67bb7d8d1eeb1af082d52faf2313c95be66c86f33631dec1503303fc390167248e49ce22dc561dff1c5c9437f233240f77a8045a16209c78ebfa66039d532a6ab089322e196243deecd488494b8afbc60859376ca747588d0930bc03033f96915d7a33a6e361f9cad827c675661e4e4181c6fc892610914ac7af7fcedc0219ffff0300f81e595640612b236f8292f92c4fa3c13ef9995683fd043f68af8df909078003b68f304acf236a7a9b0e766811d3d46e9aa4f6de5cb083fca64450a9a3ab3be203a7621f2391660c74905f0b915d2827e84375efbde3cc08b317c5217ce6267ed20329a45f611cd51f989b79f0b0160f01a67b901912ebda66783a8086ce02303cc803c3eb00be1b39723642259b797dd1cd5f380240735dce3ba350a68265fe85dc990304d13e9f29097ba2c55e248bdc4123ea601449669bdf7e2a9e83267e52604c20035659619499eaf0f6366d22d6824770886726467efe0eb3c34f7a1e77f85d285903a432eb4191f1ff4d416595e2c6bf132cd3ddc5eb1e84d50e851d30e6590f43490219ffff03d57ae60807143365e27137e858a66574fe45ae286f3b759fa494de85f4ba7a3c03d1e4d2fc0f7be727e917f0af184b4f3039f8a25aad71511ab61c5deb5dab48ee03cee76925ed4e901dc144a9b803962c0474789557cb5a6616302e4d87d5c39da003fae5d26aaefa1bdcd78232c4a3ebaaaf377c08946cc6a1af2176ba7b8a9ca80203dc3ce9ae0e5278b983aa84dc8d7fa1e71fa9f2348d289f1cfa5bd4ea3d7832a703f2b6c97af090fe5c1ae496234577031f95615cc4014ab2a37a84770c3698bfa3038ed3afa3b63b886c4c2a0facb4c8517d267de25e373c8e9345678cd5575bc55b03ab9adaac3fe89b57961acd4476d06f74ef759cc61106989fb7fd51cc540b5b7f03f7078a1b6f8ea07bb5b2133c742a66865713594171ef471f39b7bfd862b8c983034a19963bd6dfcef6cbedd4c1cd7a4c2c631fd13cc3c2d4c1ee6aeff7d37729f703d57000d6b6f6100e275e520fce556d6fad93f1a2dec5b99c591d423cf710dbf3031972f308f6a51e6341d9b773179fa9bf65ff0dd5b03c29226db2ca08f6f9c7bf03ca5d3fb31ced3c6cd0a4cc7351390d80b4b91e83d4652090d38e8b7add76222803f3ef27af22115469e0b5eb010868c83e1701c7b0d703a836a7ef6759877a9ffb03be77b5f7734b56d659e297cb56c6aeb2538144fa455a98a7c7aede9d3820a304035add9af0cb153851818f73152331a3f2ee50c463c77d973a0e938c992ebbf234036cf29abcbb38e58bbd2097a70499b5a81635f6951a43a02545349f0f43ca63b903d4793a1c0eead37b052c316691b42ee9bc5188ebb056eae80b98983a1d630b0603faf0e46ca9e6838a41f48ed522750f4b2497f8335445a15490a67a1cbaae6d4b039acb1cf52b532bba51885e73741980b8ef455d0390bdef7d497e5c01b588440a03c984ed576132662da801c49cd39ed5436fb6f32b48d50bdeab325ada6e77aac803733ff702c2cd76b72b87dafd7ae0a6dbc858c2993edee4ad1bf852cb158561a703d231b713ab87f8824ecc73ef1223466982b42ab26aa48d6bd4febc187c72930f03f3af418bb650f4b787486665c16dfb3ef61b4f00c2d5ed2269d21c682a537a6500581f0279fafc4d13d778eb87084ea750c7d742fa83b41d0fbe0a8ed536bc49ad004901bc16d674ec80000003b99fb64b82598ba6058e3846be9803ab90c29f0a30c22b7990a338c281243f2700581f037a1daf090af1ca1d2ba1eaeaac3dceb3b1d8b874f262ac8f2838cc18e6d05451dfde233bc604c42c4deb5421a05e2157bffe2b00581f03c579b55687aae04fe2df12b1b6cfe637172ce910031ef5859865ce3062104927e60d44813f80000000581f039071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c04465f1b05700581f0321304e3e52baab553d6fc5ac0f24133e35d38131ab9b1fb1dd5d6ed9cd904901bc16d674ec80000000581f031cb4020a56420c4de6e1c5cf1a30a0bac57ee02b47a5556688ad162fa97054aa8875ad39488ab6695e3efe82281772bc4912fc0219582100581f0217d76092a5e7b1f173482df5634a7d1b9ec5bf05e1efcc9bcb2a7d887cdd4901bc16d674ec80000000581f02f87f3abb8fe0de27ef46e0b7a77682d9aba199d9029b3541aa8e53411b9f5444292fdb11ffd8b6ec612a5226c0bbd1d6c04ab403f90f691346012966e262fe0b231362f8d4d6de9453a60e27e3a14c631cb59b9900581f021994e0fb1301f0d7f83349413ff539031680b2e765b65ee2782c087a8255547331a5f9ab37e48e979544c4141f60622084118300581f021d87f8d4cc48cf1c7da8f9884087b650413f223cfb6e996554e6a8f13b7454db5ecd0a8e276e15e7d5b50965eeb87fa6fa4a5c0302f75f23e1e5307dc586455c158ba4bbf5e108d668455ba5d88c76c64b046f4d02195aec03d775c26e8c95a1d4fd045959f4aa9b1e7aa4187061d19786b8bcd0aa7202edba037489475544e0d7be9e6dd9afa4a377a823e8d6a0e5a78352334e7bce664888490366b48580552c020cbb0cff808d88ab41f8a09204c1b3313f3893bbfb06bd5edb032ebd4074be40349cb5cb9b2478604bb48341fac091a750586534f2b1327df22903ed6d27b737766d978c0efaa1c68f89fb64033a7370cf24a8eeb73b474ee740dd031a75a1018a57dbd1bad4b207651e5e73f77d03783c379a6a0aa4460f3129d99a03dcfe14b26c7d3973be7888e585a92c17bf39b5ffb2a06e543efcf681d6e0d9a00219ffff0219ffff0373975ae3d70a1dcc9ab20e64c644d57f99adede634a6e3ce5ab33c3508b8ed51033b12f0656e6f705aede2b9b4040935173867673f0271f4a363962020736369cf03057b2ea16de550a65802bf311ab0d8e08fe9e3438fdd79004beee2232152c3c903071bb0776ecfff3759ce568a3f4d5072e3e3521282aa8bad45e4013cf185dced032ed61a162f6582dca91ae59f18eaecc405b0a2d62dff8a910259c9cf57bbc2180219ffff05581e032f29332451f66460cff1425f8125ee4ec9bbac7a8eb4b9416f399d5eb00719781619086703f1ef16206206c32c89293aab6062264d78be243de57319e345a6b053f0cad86905581e03798d4a0399dac4a09d859ba132955a8c5980e444c11dc675bba2080800040105581e03ac477f5d7d48e514f35fbee587ce0a0264ed36bfac02694e48c106edb0084729f96fa24f1e0803774e98ef74a1bbcf20ec592c134415f53974aaa6e410d2dfe938fec3fa617ca605581e038f6b2cd658484f7cdb8a338007eeee531000e0a443956de9369f273e900c02470176d75419b21805581e03476354dba9d1104808ea89397e0e690a5a3c5381d61b4df098f5801950040705581e037ff0d11abb0327767ead029009f9c3456012b622745d27a3fb6f181ff00c0146befe6f6720000219aed5039764e7669d9016c86f2d650b60c3b5ad0d3ec2c145ea291a1b8b1849af519da903e5cdb319c0e5e955ec1254b986d768776162ca2787c95ff9a94537e05d91eab30390565e868e7aca02e02949cb626b76dd69193083ae2f9828a33520bd9cbdb64b03441deaaf38fd76f20bc57aede7620036d16630efcca446507d262480d5820e360356eef994d9a0b68986a77df662205d0645928b876f724e5cecf01315e44b5ba7038fde918f4fb1c8d5f46daea5df253a4eced2c89d58aa2739742b1b9e83c887740387ae698b19bad86419dace7c7c4e397453955f1559aa34c216cbcf3176bb47d7037d20ec9f631f3f436cbcfd845b70e5d4c976173010ee49ae88bd56642e6dc0bd0399719f386b926040cc9e1db170307f43682b1aa89f08247036c82c98e37a118503441269c9927b22fa3a13734e1e24ecde442a27e7f988f964b2cdb4b25ba3b1280321d5372e66f7da5ac46b47b113e0fe7a2b36604e27560a3ff2509280b95eb4cb035c2c1369f59c5983b5ea0ce478b72ac419ff1029bbfce1b0bde22fb662f0b7a1034c315c0a69e00332eb93a7d500f27c0901393bbba6c024b6545f710a7ee8371003e96e05f4e36110308442739f5d1326d41fce73f246bd59854952d3a7bdc98a540219ffff032f6436d4750dfc72f6b6d3b630b389cd1b5f3ffa6c69792fe31c827b05566ce603e8b5c991d2c4c35bf9881577a207e148c1c4bdb4bff0649ef3826b0ec7dfe6fb031972c281b01af0a804ef5740fc4181b6b486b7ad33d8b53c086425a80a35ef2a039928d398c392ff5f6b5f4a8eccbdbb3e8315e06a71dd28c5b786f0ee0bd8f083030fab4520713f431536d2c52e7daf666aedd2f56c865353632e794c18846b74cc03d90c5e87b9cee8ccc10de64328337b26cf290599d03ccff021c95256769a25170321f7154157f7f3a0545addfe179e7210b213db6706fad4e31f2bb66d63c3367d03673422fc8610ad9a44972249208d65f7f50a814f8892c85cd7eeacf2f7b43f1503a53fc866adf1bcd6488a55e36e097c16eb6f905569f0e179b87e314f8c6b8dcd037dcb87cb78616301df08937c49fb7d52cec43e7084ecfe15341d97e25945ddd003ee52fbdcc31217ad01d816251c52f56db130ef57b0c47b6a6bbd3fc908a52cdb033939ab075ba3c808eb9056c0fe926694bd4c2e61673834ab3f3f8fcf1c6db8f60219ffff03caa7bb45549d60c748dc21251dd4afdebb9ada719f8daaa23c2a6e3f2e707fd603638a9b6111d4b14d700f06d9f120618aa74c054e44f56832cf39fc589b7f8e0003670090fcdf25e2cb9e545e85db4cd099059d40fb3f91be9118e87428d0fb06e30382e9de362eb483b128074d50e885745867448b3556ead85696f13e007a7194a0035f5861a685444b2e80abce842dea851b499808ed7d11b0711c4d06678ea4e2f20300992707bdd0f99c1e615c9ff9761415f49eda9794f25d47296de2689989ad4603c5f07fb7ed58bc9e273c4de27ae5834ca8865e37149a1f344b44825b9df2d4e703ef24be82240c25966786003235c444b7bb7bd1f3b0b2bd79ac07ea2baf73a110034239160aba876ccf4cdad2b16ee0f528e375525f3b0dab9f4a725e7a3ba1e042035ce8de85c6dc949a84259756d8246508da04e9e4038e091edc646147edd67c1f032af74d8e475b4116a3fadc73d033a90dbbd9b7f41d8d8d9bbe1a37d5aa584a5803e32f7a23e39014dec536ffa532562d5fa41c72caa81590f0f4ce99f61703794c039ae266991242d4155ec45056d08445dc85cc64ab0fb5216b487eb0e3165b82a903befc4f9d2a16efbc2c1bd0e246198b378a87b85f9805820857b93531c3856d8803d8b56aa374f29a08ce9ed05182eb78f8abdb3ac29f3c1aa43c3c76873914cf7d0219ffff03733b6d07fcf9f232101570d377e57f09954c6063ff403e6aab7ae026439d2c9b03665c8bf09dc39fd66a2285ded4d1e7e6fd472da13ccaa4f92319df42bcb2aded0219ffff03edf12882d4e8439a73ac2308df8a3635a3adc390ec25b945e00c888d64142eb20344d6dd7bfd6aeec6075eb50f0ae92eb1fb1855c10400064f1ae5ea9e8bcbb97803be986d34e53379442a945dc6b7d43db0d4e49ce22ecd94441e3011c57dfbf1b60336cbe620f42d642f899b504f94c76a3a2429127baa5a7a8da2d9a07e1296cda7036555d7832efef493d1b2ece3d369a650e70f03935e0117c89ecaeac764a541d1031a7eeb1aa6c0fa30c30f080dcc0727eed34e5acf37fd763e4afa4283aa183d34037703ba1c5b98edc879a9e8ef497092d57c1e0ca1c5667434aa751539004ac54703f8b7ed240af6e43e424711b7cd5a85c1b33fc5b9b67b2689f3636c4ab862583103bc5e8567c8b2eb480ae827bb63e1314eae29598ddb1351d7b6ee59a090cc43c203761505632265ab3710fdc5647dc9071818dd85735b6f4bbda484d5fc52a71946034490a88a48b7c6df0d79ebe35ed24ba412caf2d412428f2f04949bcbaea69f340361200a7d5d569a8f6d69552532cbb0d3c219f4873952a16aaf6a4f4ac5efeb1203717fec412177e9552badb9d7bbf93f5db802262b8973b3eaa3ab0114c4f94ff00379d7fdbbdc358b08aa7717acccbd718c565d2b4f8d4fe933c7fc650aaed7a7a5033e74ae3a3ca2b8c073ab28e72c50b65cd507bb8e8d74801c4981d5ffc98e296f0368ce28374dc833c908dbad42b2c4946847f1e3dce6685e1e7ab502d0b9a6a8fa0327d36feca8bab448747f11d39d6c25ea9562a41632cb6a77f59ac7fa08ca19f005581e03ae7e712c5a656d21808bfb53af1c62a2f1887b3ab401763caa4e6b07800c0147093f73459f1b8705581e03e1e01878b50c4834f8f5dcf885e64181f59a2bb5831f749ac5478ea140040403a751305308bf95dfad4d68c6b1a8afab335dc93da4a47921b508f9fad9bc6ed80347eb094a1998f33c961bd6bce53b877f22c367f420e80e34e91490c582c3b77b05581e03c6813d06fd3b5a5a9a667b7993578572363007b4c9f6f49d90a0e9d3900401045951fd6080604052600436106102305760003560e01c80636a210a0e1161012e578063a9059cbb116100ab578063d5a373ff1161006f578063d5a373ff14610bff578063dd62ed3e14610c64578063ec9a191714610c9f578063f04b5fa014610d30578063f57a1b3c14610d5b57610230565b8063a9059cbb14610a9b578063bd926ed314610ad4578063c312452514610b2e578063cbb151d314610ba9578063ce7d1f7714610bd957610230565b80638f1c65c0116100f25780638f1c65c01461091357806390de68711461093d57806395d89b411461023257806396f62b9d1461099a578063a457c2d714610a6257610230565b80636a210a0e1461077157806370a08231146107f15780637c4266201461082457806387a0f31c146108585780638e21aa011461088257610230565b806333060d90116101bc57806344f0de751161018057806344f0de751461066357806352a438b8146106d15780635ac1f357146107015780635c9302c91461071657806365cf71b21461072b57610230565b806333060d901461054e578063343009a21461058157806339509351146105b85780633a70a5ca146105f157806344203faf1461060657610230565b80632607443b116102035780632607443b1461037357806327aa6018146103ff578063283a5baf1461048157806330c1a785146104d7578063313ce5671461052357610230565b806306fdde0314610232578063095ea7b3146102bc57806318160ddd1461030957806323b872dd14610330575b005b34801561023e57600080fd5b50610247610d8b565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610281578181015183820152602001610269565b50505050905090810190601f1680156102ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102c857600080fd5b506102f5600480360360408110156102df57600080fd5b506001600160a01b038135169060200135610daa565b604080519115158252519081900360200190f35b34801561031557600080fd5b5061031e610dc7565b60408051918252519081900360200190f35b34801561033c57600080fd5b506102f56004803603606081101561035357600080fd5b506001600160a01b03813581169160208101359091169060400135610dcd565b34801561037f57600080fd5b506103ac6004803603604081101561039657600080fd5b506001600160a01b038135169060200135610e5b565b6040805164ffffffffff90981688526001600160481b039687166020890152949095168685015261ffff928316606087015290821660808601521660a084015290151560c0830152519081900360e00190f35b34801561040b57600080fd5b506102f56004803603604081101561042257600080fd5b81359190810190604081016020820135600160201b81111561044357600080fd5b82018360208201111561045557600080fd5b803590602001918460208302840111600160201b8311171561047657600080fd5b509092509050610ed4565b34801561048d57600080fd5b506104ba600480360360608110156104a457600080fd5b508035906020810135906040013560ff16610f1b565b604080516001600160601b03199092168252519081900360200190f35b3480156104e357600080fd5b50610507600480360360408110156104fa57600080fd5b50803590602001356110d9565b604080516001600160a01b039092168252519081900360200190f35b34801561052f57600080fd5b50610538611105565b6040805160ff9092168252519081900360200190f35b34801561055a57600080fd5b5061031e6004803603602081101561057157600080fd5b50356001600160a01b031661110a565b34801561058d57600080fd5b50610230600480360360408110156105a457600080fd5b508035906020013564ffffffffff16611129565b3480156105c457600080fd5b506102f5600480360360408110156105db57600080fd5b506001600160a01b0381351690602001356113e7565b3480156105fd57600080fd5b5061031e61143b565b34801561061257600080fd5b5061063f6004803603604081101561062957600080fd5b50803590602001356001600160a01b0316611458565b6040805164ffffffffff938416815291909216602082015281519081900390910190f35b34801561066f57600080fd5b506106966004803603602081101561068657600080fd5b50356001600160a01b0316611487565b6040518082600260200280838360005b838110156106be5781810151838201526020016106a6565b5050505090500191505060405180910390f35b3480156106dd57600080fd5b50610230600480360360408110156106f457600080fd5b5080359060200135611521565b34801561070d57600080fd5b506102306115ab565b34801561072257600080fd5b5061031e611632565b34801561073757600080fd5b506102306004803603606081101561074e57600080fd5b5080356001600160a01b0316906020810135906040013564ffffffffff16611641565b34801561077d57600080fd5b506107a16004803603604081101561079457600080fd5b5080359060200135611895565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156107dd5781810151838201526020016107c5565b505050509050019250505060405180910390f35b3480156107fd57600080fd5b5061031e6004803603602081101561081457600080fd5b50356001600160a01b03166119b1565b34801561083057600080fd5b506102f56004803603602081101561084757600080fd5b50356001600160601b0319166119cc565b34801561086457600080fd5b5061031e6004803603602081101561087b57600080fd5b50356119e1565b34801561088e57600080fd5b506102f5600480360360608110156108a557600080fd5b6001600160601b031982351691602081013591810190606081016040820135600160201b8111156108d557600080fd5b8201836020820111156108e757600080fd5b803590602001918460208302840111600160201b8311171561090857600080fd5b5090925090506119f3565b34801561091f57600080fd5b506102306004803603602081101561093657600080fd5b5035611b0a565b34801561094957600080fd5b506109676004803603602081101561096057600080fd5b5035611bea565b604080516001600160481b03948516815292909316602083015266ffffffffffffff168183015290519081900360600190f35b3480156109a657600080fd5b5061031e60048036036101608110156109be57600080fd5b81359190810190604081016020820135600160201b8111156109df57600080fd5b8201836020820111156109f157600080fd5b803590602001918460208302840111600160201b83111715610a1257600080fd5b91935091506001600160a01b03813581169160208101359160408201359160ff606082013581169260808301359091169160a08101359160c08201359160e0810135916101009091013516611c23565b348015610a6e57600080fd5b506102f560048036036040811015610a8557600080fd5b506001600160a01b038135169060200135611eb3565b348015610aa757600080fd5b506102f560048036036040811015610abe57600080fd5b506001600160a01b038135169060200135611f21565b348015610ae057600080fd5b50610b0d60048036036040811015610af757600080fd5b506001600160a01b038135169060200135611f35565b604080519283526001600160a01b0390911660208301528051918290030190f35b348015610b3a57600080fd5b50610b43611ff1565b604080516001600160481b03998a168152978916602089015264ffffffffff96871688820152948816606088015261ffff9093166080870152951660a08501529390911660c08301526001600160801b0390921660e08201529051908190036101000190f35b348015610bb557600080fd5b5061023060048036036040811015610bcc57600080fd5b5080359060200135612055565b61023060048036036020811015610bef57600080fd5b50356001600160a01b03166122d2565b348015610c0b57600080fd5b506102f56004803603610100811015610c2357600080fd5b506001600160a01b038135169060208101359060408101359060608101359060ff608082013581169160a08101359091169060c08101359060e00135612443565b348015610c7057600080fd5b5061031e60048036036040811015610c8757600080fd5b506001600160a01b038135811691602001351661254f565b348015610cab57600080fd5b506102f560048036036060811015610cc257600080fd5b6001600160601b031982351691602081013591810190606081016040820135600160201b811115610cf257600080fd5b820183602082011115610d0457600080fd5b803590602001918460208302840111600160201b83111715610d2557600080fd5b50909250905061257a565b348015610d3c57600080fd5b50610d456125c3565b6040518151815280826101a080838360206106a6565b348015610d6757600080fd5b506107a160048036036040811015610d7e57600080fd5b50803590602001356126c4565b604051806040016040528060038152602001620908ab60eb1b81525081565b6000610dbe610db76127a2565b84846127a6565b50600192915050565b60025490565b6000610dda848484612892565b610e5084610de66127a2565b610e4b856040518060600160405280602881526020016150a2602891396001600160a01b038a16600090815260016020526040812090610e246127a2565b6001600160a01b03168152602081019190915260400160002054919063ffffffff6129ee16565b6127a6565b5060015b9392505050565b60076020528160005260406000208181548110610e7457fe5b60009182526020909120015464ffffffffff811692506001600160481b03600160281b820481169250600160701b8204169061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b9091041687565b6000610f1384848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a8592505050565b949350505050565b600080606060028416158015906004861615159060088716151590610fe657818015610f445750805b15610f90576040805162461bcd60e51b81526020600482015260176024820152761211560e8818db185a5b519b1859dcc81a5b9d985b1a59604a1b604482015290519081900360640190fd5b600160f81b60f889901b1615610fa7576003610faa565b60025b604080516001600160f81b031960f884901b16602082015260218082018d90528251808303909101815260419091019091529095509350611073565b81158015610ff2575080155b61103d576040805162461bcd60e51b81526020600482015260176024820152761211560e8818db185a5b519b1859dcc81a5b9d985b1a59604a1b604482015290519081900360640190fd5b60408051600160fa1b6020820152602181018b905260418082018b90528251808303909101815260619091019091526004955093505b600061107e85612ab2565b905082156110cc5760408051600560f21b60208201526001600160601b0319831660228201528151601681830301815260369091019091526110bf90612ab2565b9650505050505050610e54565b9998505050505050505050565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b600881565b6001600160a01b0381166000908152600760205260409020545b919050565b611131614e43565b611139614e43565b6111438282612bd7565b336000908152600760205260409020805461119d576040805162461bcd60e51b81526020600482015260156024820152741211560e88115b5c1d1e481cdd185ad9481b1a5cdd605a1b604482015290519081900360640190fd5b805485106111ec576040805162461bcd60e51b81526020600482015260176024820152761211560e881cdd185ad9525b99195e081a5b9d985b1a59604a1b604482015290519081900360640190fd5b6111f4614ea4565b61121482878154811061120357fe5b906000526020600020018683612c89565b61121d84612d5c565b60a081015160608201516101408601516000921515918391829182918291116112fd57841561125257866080015195506112e3565b61125c8a88612d6d565b86606001518a6101400151039550866080015186111561128257866080015195506112e3565b61015e8610156112e3578660c00151156112e3576040805162461bcd60e51b815260206004820152601c60248201527f4845583a204175746f2d7374616b65207374696c6c206c6f636b656400000000604482015290519081900360640190fd5b6112ee8a8888612d8c565b9296509094509250905061136d565b8660c0015115611354576040805162461bcd60e51b815260206004820152601c60248201527f4845583a204175746f2d7374616b65207374696c6c206c6f636b656400000000604482015290519081900360640190fd5b60408701516020808c0180519290920390915287015193505b6113848b8860200151896040015186868b8b612e30565b8015801590611391575084155b156113a0576113a08a82612eed565b83156113bb576113b03385612f28565b6113bb8a8886613018565b60208701518a51038a526113cf888d613084565b6113d98a8a6131e2565b505050505050505050505050565b6000610dbe6113f46127a2565b84610e4b85600160006114056127a2565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff6133d516565b6003546000906001600160481b0316611452610dc7565b01905090565b600960209081526000928352604080842090915290825290205464ffffffffff80821691600160281b90041682565b61148f614eea565b600061149961342f565b600101905061015f8111156114ad575061015f5b6000198101901561151b5760008181526009602090815260408083206001600160a01b038716845290915290205464ffffffffff808216600160281b90920416111561151657600160ff82161b82600883901c6002811061150a57fe5b60200201805190911790525b6114ad565b50919050565b611529614e43565b611531614e43565b61153b8282612bd7565b600183101561157b5760405162461bcd60e51b815260040180806020018281038252602581526020018061517f6025913960400191505060405180910390fd5b61158482612d5c565b611591828585600061343f565b61159b3385613560565b6115a582826131e2565b50505050565b30316115ee576040805162461bcd60e51b815260206004820152600d60248201526c4845583a204e6f2076616c756560981b604482015290519081900360640190fd5b60405173dec9f2793e3c17cd26eefb21c4762fa5128e039990303180156108fc02916000818181858888f1935050505015801561162f573d6000803e3d6000fd5b50565b600061163c61342f565b905090565b611649614e43565b611651614e43565b61165b8282612bd7565b6001600160a01b0385166000908152600760205260409020546116bd576040805162461bcd60e51b81526020600482015260156024820152741211560e88115b5c1d1e481cdd185ad9481b1a5cdd605a1b604482015290519081900360640190fd5b6001600160a01b0385166000908152600760205260409020548410611723576040805162461bcd60e51b81526020600482015260176024820152761211560e881cdd185ad9525b99195e081a5b9d985b1a59604a1b604482015290519081900360640190fd5b6001600160a01b038516600090815260076020526040812080548690811061174757fe5b90600052602060002001905061175b614ea4565b611766828683612c89565b806080015181606001510184610140015110156117ca576040805162461bcd60e51b815260206004820152601b60248201527f4845583a205374616b65206e6f742066756c6c79207365727665640000000000604482015290519081900360640190fd5b60a081015115611821576040805162461bcd60e51b815260206004820152601b60248201527f4845583a205374616b6520616c726561647920756e6c6f636b65640000000000604482015290519081900360640190fd5b61182a84612d5c565b6118348482612d6d565b600080600061184887858660800151612d8c565b935093509350506118658a8986602001518760400151878761365c565b8015611875576118758782612eed565b61187f85856136f9565b61188987876131e2565b50505050505050505050565b606081831080156118ac575060045461ffff168211155b6118f2576040805162461bcd60e51b81526020600482015260126024820152711211560e881c985b99d9481a5b9d985b1a5960721b604482015290519081900360640190fd5b82820360405190808252806020026020018201604052801561191e578160200160208202803883390190505b509050826000805b5060008281526006602052604090205483516001830192600160901b830460901b66ffffffffffffff60901b16600160481b840460481b71ffffffffffffffffff00000000000000000016176001600160481b0390931692909217918291869190811061198f57fe5b6020026020010181815250508483600101935083106119265750505092915050565b6001600160a01b031660009081526020819052604090205490565b60056020526000908152604090205460ff1681565b60086020526000908152604090205481565b6000806119fe61342f565b90506001811015611a405760405162461bcd60e51b8152600401808060200182810382526024815260200180614fd66024913960400191505060405180910390fd5b61015f8110611a96576040805162461bcd60e51b815260206004820152601a60248201527f4845583a20436c61696d2070686173652068617320656e646564000000000000604482015290519081900360640190fd5b6001600160601b0319861660009081526005602052604090205460ff1615611ac2576000915050610f13565b611b0086868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506137d192505050565b9695505050505050565b611b12614e43565b611b1a614e43565b611b248282612bd7565b600182610140015111611b6f576040805162461bcd60e51b815260206004820152600e60248201526d4845583a20546f6f206561726c7960901b604482015290519081900360640190fd5b8215611bca57816101400151831115611bb95760405162461bcd60e51b8152600401808060200182810382526026815260200180614f6c6026913960400191505060405180910390fd5b611bc5828460006138e1565b611bdb565b611bdb8283610140015160006138e1565b611be582826131e2565b505050565b6006602052600090815260409020546001600160481b0380821691600160481b810490911690600160901b900466ffffffffffffff1683565b600065173cdf6f6e318d1115611c78576040805162461bcd60e51b81526020600482015260156024820152744845583a2043484b3a207261775361746f7368697360581b604482015290519081900360640190fd5b61015e831015611cb95760405162461bcd60e51b81526004018080602001828103825260258152602001806151116025913960400191505060405180910390fd5b60006001600160a01b038b163314611d2b5750604080517f4e831acb4223b66de3b3d2e54a2edeefb0de3d7916e2886a4b134d9764d41bec602080830191909152818301869052606085811b6001600160601b0319169083015282518083036054018152607490920190925280519101205b611d3b8b828c8c8c8c8c8c612443565b611d8c576040805162461bcd60e51b815260206004820152601760248201527f4845583a205369676e6174757265206d69736d61746368000000000000000000604482015290519081900360640190fd5b506000611d9a8a8a8a610f1b565b6001600160601b0319811660009081526005602052604090205490915060ff1615611df65760405162461bcd60e51b815260040180806020018281038252602881526020018061507a6028913960400191505060405180910390fd5b611e34818f8f8f808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506137d192505050565b611e6f5760405162461bcd60e51b81526004018080602001828103825260238152602001806150576023913960400191505060405180910390fd5b6001600160601b031981166000908152600560205260409020805460ff19166001179055611ea18e8c838b8888613993565b9e9d5050505050505050505050505050565b6000610dbe611ec06127a2565b84610e4b856040518060600160405280602581526020016151a46025913960016000611eea6127a2565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff6129ee16565b6000610dbe611f2e6127a2565b8484612892565b602881901c60008181526009602090815260408083206001600160a01b0387168452825280832064ffffffffff861680855260019091019092528220805492938493909291906001600160601b0316611fca576040805162461bcd60e51b81526020600482015260126024820152711211560e8814185c985b481a5b9d985b1a5960721b604482015290519081900360640190fd5b546001600160601b03811697600160601b9091046001600160a01b03169650945050505050565b6003546004546001600160481b0380831692600160481b810482169264ffffffffff600160901b8304811693600160b81b90930483169261ffff83169262010000810490911691600160581b820416906001600160801b03600160801b9091041688565b61205d61342f565b82106120b0576040805162461bcd60e51b815260206004820152601a60248201527f4845583a20526f756e64206973206e6f7420636f6d706c657465000000000000604482015290519081900360640190fd5b600082815260096020908152604080832033845290915281208054909164ffffffffff909116908315612142578254600160281b900464ffffffffff16829003841115612139576040805162461bcd60e51b81526020600482015260126024820152711211560e8818dbdd5b9d081a5b9d985b1a5960721b604482015290519081900360640190fd5b5080830161219c565b508154600160281b900464ffffffffff1680821061219c576040805162461bcd60e51b81526020600482015260126024820152711211560e8818dbdd5b9d081a5b9d985b1a5960721b604482015290519081900360640190fd5b60006121a7866139d6565b600087815260086020526040812054919250805b600086815260018801602052604081208054908290556001600160601b03811691600160601b9091046001600160a01b03169085878402816121f957fe5b0490506001600160a01b03821661221b576122168c8a8385613a4e565b61226a565b600a81049081019060058204336001600160a01b038516141561224d57918201916122488e8c8587613a4e565b612263565b6122598e8c8587613a4e565b6122638482612f28565b0193909301925b600190980197939093019250508486106121bb57865464ffffffffff191664ffffffffff871617875580156122b7576122b7739a6a414d6f3497c05e3b1de90520765fa1e07c0382612f28565b81156122c7576122c73383612f28565b505050505050505050565b60006122dc61342f565b905061015f8110612334576040805162461bcd60e51b815260206004820152601760248201527f4845583a204c6f6262696573206861766520656e646564000000000000000000604482015290519081900360640190fd5b348061237e576040805162461bcd60e51b81526020600482015260146024820152731211560e88105b5bdd5b9d081c995c5d5a5c995960621b604482015290519081900360640190fd5b600082815260096020908152604080832033845282528083208054600164ffffffffff600160281b80840482168381019092160269ffffffffff000000000019909316929092178355835180850185526001600160601b0380891682526001600160a01b038b8116838901908152858a529386018852868920925183549451909116600160601b029082166001600160601b031990941693909317169190911790558685526008909352922080548401905561243c84828588613abc565b5050505050565b6000601b8460ff161015801561245d5750601e8460ff1611155b61249f576040805162461bcd60e51b815260206004820152600e60248201526d1211560e881d881a5b9d985b1a5960921b604482015290519081900360640190fd5b60006124ab88886110d9565b905060006124c26124bd8c8c8a613b2a565b613e66565b9050816001600160a01b031660018288888860405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561252b573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149250505098975050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006125ba85858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506137d192505050565b95945050505050565b6125cb614f08565b600454600090819081906125ee90600160801b90046001600160801b0316613f97565b604080516101a0810182526003546001600160481b038082168352600160481b82048116602084015264ffffffffff600160901b8304811694840194909452600160b81b9091048116606083015260045461ffff8116608084015262010000810490911660a0830152600160581b900490911660c082015260e08101829052610100810183905261012081018490524261014082015292955090935091506101608101612699610dc7565b8152602001600860006126aa61342f565b815260200190815260200160002054815250935050505090565b606081831080156126d7575061015f8211155b80156126ea57506126e661342f565b8211155b612730576040805162461bcd60e51b81526020600482015260126024820152714845583a20696e76616c69642072616e676560701b604482015290519081900360640190fd5b82820360405190808252806020026020018201604052801561275c578160200160208202803883390190505b5090508260005b60008281526008602052604090205483516001938401938301928591811061278757fe5b60200260200101818152505083821061276357505092915050565b3390565b6001600160a01b0383166127eb5760405162461bcd60e51b815260040180806020018281038252602481526020018061515b6024913960400191505060405180910390fd5b6001600160a01b0382166128305760405162461bcd60e51b8152600401808060200182810382526022815260200180614fb46022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166128d75760405162461bcd60e51b81526004018080602001828103825260258152602001806151366025913960400191505060405180910390fd5b6001600160a01b03821661291c5760405162461bcd60e51b8152600401808060200182810382526023815260200180614f496023913960400191505060405180910390fd5b61295f81604051806060016040528060268152602001615031602691396001600160a01b038616600090815260208190526040902054919063ffffffff6129ee16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612994908263ffffffff6133d516565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115612a7d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a42578181015183820152602001612a2a565b50505050905090810190601f168015612a6f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000610e54827f4e831acb4223b66de3b3d2e54a2edeefb0de3d7916e2886a4b134d9764d41bec85613fb7565b600060036002836040518082805190602001908083835b60208310612ae85780518252601f199092019160209182019101612ac9565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015612b27573d6000803e3d6000fd5b5050506040513d6020811015612b3c57600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b60208310612b885780518252601f199092019160209182019101612b69565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015612bc7573d6000803e3d6000fd5b50506040515160601b9392505050565b6003546001600160481b038082168452600160481b82048116602085015264ffffffffff600160901b830481166040860152600160b81b9092048116606085015260045461ffff8116608086015262010000810490911660a0850152600160581b810490911660c0840152612c5c906001600160801b03600160801b90910416613f97565b60e0850152610100840152610120830152612c7561342f565b610140830152612c858282614061565b5050565b825464ffffffffff838116911614612ce8576040805162461bcd60e51b815260206004820152601e60248201527f4845583a207374616b654964506172616d206e6f7420696e207374616b650000604482015290519081900360640190fd5b915464ffffffffff811683526001600160481b03600160281b820481166020850152600160701b820416604084015261ffff600160b81b820481166060850152600160c81b820481166080850152600160d81b82041660a084015260ff600160e81b90910416151560c09092019190915250565b61162f8182610140015160016138e1565b604081015160a080840180519290920390915261014090920151910152565b6000806000808560800151851015612dca57612db78787606001518860800151888a604001516140c9565b6020880151820195509093509150612e08565b60408601516060870151612de2918991888101614172565b9250828660200151019350612e05866060015187608001518860a0015187614240565b91505b8115612e275783821115612e1f5750600092612e27565b509182900391805b93509350935093565b8664ffffffffff16336001600160a01b03167f72d9c5a7ab13846e08d9c838f9e866a1bb4a66a2fd3ba3c9e7da3cf9e394dfd760b8876001600160481b0316901b6070896001600160481b0316901b60288b6001600160481b0316901b4264ffffffffff1617171784612ea4576000612eaa565b600160581b5b6001600160601b031660488761ffff16901b886001600160481b03161717604051808381526020018281526020019250505060405180910390a350505050505050565b600281048015612f1557612f15739a6a414d6f3497c05e3b1de90520765fa1e07c0382612f28565b6060909201805192909103919091019052565b6001600160a01b038216612f83576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254612f96908263ffffffff6133d516565b6002556001600160a01b038216600090815260208190526040902054612fc2908263ffffffff6133d516565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b8160200151811115611be557600061303482846080015161426c565b905060008360400151620186a0838501028161304c57fe5b04905064ffffffffff811115613064575064ffffffffff5b846040015181111561243c5760408501819052835161243c9082906142de565b8154600019018181146131b15782818154811061309d57fe5b906000526020600020018383815481106130b357fe5b6000918252602090912082549101805464ffffffffff90921664ffffffffff199092169190911780825582546dffffffffffffffffff000000000019909116600160281b918290046001600160481b0390811690920217808355835468ffffffffffffffffff60701b19909116600160701b918290049092160217808255825461ffff60b81b19909116600160b81b9182900461ffff90811690920217808355835461ffff60c81b19909116600160c81b91829004831690910217808355835461ffff60d81b19909116600160d81b918290049092160217808255915460ff60e81b19909216600160e81b9283900460ff1615159092029190911790555b828054806131bb57fe5b600082815260209020810160001990810180546001600160f01b0319169055019055505050565b805182511415806131fb57508060200151826020015114155b8061320e57508060400151826040015114155b8061322157508060600151826060015114155b156132af5781516003805460208501516040860151606087015168ffffffffffffffffff199093166001600160481b039586161768ffffffffffffffffff60481b1916600160481b928616929092029190911764ffffffffff60901b1916600160901b64ffffffffff90921691909102176001600160b81b0316600160b81b93909116929092029190911790555b806080015182608001511415806132ce57508060a001518260a0015114155b806132ef57508060c0015164ffffffffff168260c0015164ffffffffff1614155b8061330257508060e001518260e0015114155b80613317575080610100015182610100015114155b8061332c575080610120015182610120015114155b15612c855760808201516004805460a085015160c086015164ffffffffff16600160581b0264ffffffffff60581b196001600160481b0390921662010000026affffffffffffffffff00001961ffff90961661ffff199094169390931794909416919091171691909117905561012082015161010083015160e08401516133b4929190614335565b600480546001600160801b03928316600160801b0292169190911790555050565b600082820183811015610e54576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6201518042635de5a57f19010490565b6115b38211156134805760405162461bcd60e51b81526004018080602001828103825260268152602001806150ca6026913960400191505060405180910390fd5b600061348c848461426c565b905060008560400151620186a083870102816134a457fe5b049050806134e35760405162461bcd60e51b8152600401808060200182810382526037815260200180614ffa6037913960400191505060405180910390fd5b600060018761014001511061350057866101400151600101613503565b60025b60c08801805160010164ffffffffff16908190523360009081526007602052604090209192509061353990828986868b8b614346565b6135468188858989614474565b505060208601805190910190525050825190910190915250565b6001600160a01b0382166135a55760405162461bcd60e51b81526004018080602001828103825260218152602001806150f06021913960400191505060405180910390fd5b6135e881604051806060016040528060228152602001614f92602291396001600160a01b038516600090815260208190526040902054919063ffffffff6129ee16565b6001600160a01b038316600090815260208190526040902055600254613614908263ffffffff61450616565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b604080514264ffffffffff9081166dffffffffffffffffff0000000000602889901b161768ffffffffffffffffff60701b607088901b16176001600160b81b031960b887901b161782526001600160481b038416602083015282513393918916926001600160a01b038b16927fd824970a2cf19cc2b630c87ce5b00f67301cac3ac60513d027c7a39129f93b4692918290030190a4505050505050565b80518254602083015160408401516060850151608086015160a087015160c09097015164ffffffffff1990951664ffffffffff909616959095176dffffffffffffffffff00000000001916600160281b6001600160481b03948516021768ffffffffffffffffff60701b1916600160701b93909216929092021761ffff60b81b1916600160b81b61ffff928316021761ffff60c81b1916600160c81b938216939093029290921761ffff60d81b1916600160d81b92909316919091029190911760ff60e81b1916600160e81b91151591909102179055565b80516000906bffffffffffffe0000000000090839083906137ee57fe5b602002602001015160001c16600014613843576040805162461bcd60e51b81526020600482015260126024820152711211560e881c1c9bdbd9881a5b9d985b1a5960721b604482015290519081900360640190fd5b60015b82518110156138c95782516bffffffffffffe000000000009084908390811061386b57fe5b602002602001015160001c16600014156138c1576040805162461bcd60e51b81526020600482015260126024820152711211560e881c1c9bdbd9881a5b9d985b1a5960721b604482015290519081900360640190fd5b600101613846565b506001600160601b0319841683176125ba8184612a85565b818360800151106138f157611be5565b6138f9614f27565b8351613903610dc7565b0181526080840151613916858383614548565b6020850151156139365760208501805160a0870180519091019052600090525b600101838110156139515761394c858383614548565b613936565b613960856080015182856145d3565b6080850181905260208201511561243c5761243c739a6a414d6f3497c05e3b1de90520765fa1e07c038360200151612f28565b600061399d614e43565b6139a5614e43565b6139af8282612bd7565b6139be828a8a8a8a8a8a61464a565b92506139ca82826131e2565b50509695505050505050565b600060018210613a3f576139e8614e43565b6139f0614e43565b6139fa8282612bd7565b613a0382612d5c565b600084815260066020526040902054600160901b900466ffffffffffffff1661015e6127108202049350613a3783836131e2565b505050611124565b5067016345785d8a0000919050565b806001600160a01b031683602886901b17336001600160a01b03167fa6b19fa7f41317a186e1d58e9d81f86a52f1102b6bce10b4eca83f37aaa584686028866001600160481b0316901b4264ffffffffff16176040518082815260200191505060405180910390a450505050565b806001600160a01b031683602886901b17336001600160a01b03167f25ecdb937d5c5cc78f0d18dfb1ac82c44086b5dc608380ba357d06c9868f0b1d6028866001600160601b0316901b4264ffffffffff16176040518082815260200191505060405180910390a450505050565b60608060018316613b62576040518060400160405280600f81526020016e086d8c2d2dabe908ab0bee8debe60f608b1b815250613b92565b60405180604001604052806016815260200175086d8c2d2dabe84d2e8c6ded2dc908ab0bee8debe60f60531b8152505b905060108316156060613ba587836147b5565b905085613cca576018772134ba31b7b4b71029b4b3b732b21026b2b9b9b0b3b29d0560411b60146002028551018584604051602001808660ff1660ff1660f81b81526001018567ffffffffffffffff191667ffffffffffffffff191681526018018460ff1660ff1660f81b815260010183805190602001908083835b60208310613c405780518252601f199092019160209182019101613c21565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310613c885780518252601f199092019160209182019101613c69565b6001836020036101000a038019825116818451168082178552505050505050905001955050505050506040516020818303038152906040529350505050610e54565b604080516018808252818301909252606091602082018180388339019050509050613cf78188600c614858565b8351604051600360fb1b6020808301918252772134ba31b7b4b71029b4b3b732b21026b2b9b9b0b3b29d0560411b60218401819052604190940160f881901b6001600160f81b031916603985015288516018959491938a9389938993603a909101918601908083835b60208310613d7f5780518252601f199092019160209182019101613d60565b51815160209384036101000a600019018019909216911617905286519190930192860191508083835b60208310613dc75780518252601f199092019160209182019101613da8565b6001836020036101000a03801982511681845116808217855250505050505090500180605f60f81b81525060010182805190602001908083835b60208310613e205780518252601f199092019160209182019101613e01565b6001836020036101000a03801982511681845116808217855250505050505090500196505050505050506040516020818303038152906040529450505050509392505050565b6000600280836040518082805190602001908083835b60208310613e9b5780518252601f199092019160209182019101613e7c565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015613eda573d6000803e3d6000fd5b5050506040513d6020811015613eef57600080fd5b50516040805160208181019390935281518082038401815290820191829052805190928291908401908083835b60208310613f3b5780518252601f199092019160209182019101613f1c565b51815160209384036101000a60001901801990921691161790526040519190930194509192505080830381855afa158015613f7a573d6000803e3d6000fd5b5050506040513d6020811015613f8f57600080fd5b505192915050565b606681901c6303ffffff16916607ffffffffffff603383901c8116921690565b600081815b8551811015614056576000868281518110613fd357fe5b602002602001015190508083101561401b578281604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120925061404d565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101613fbc565b509092149392505050565b815181526020808301519082015260408083015190820152606080830151908201526080808301519082015260a0808301519082015260c08083015164ffffffffff169082015260e08083015190820152610100808301519082015261012091820151910152565b60008083860160026001870104605a8110156140e35750605a5b856141035760006140f58a878b614920565b919091029250614168915050565b858110156141385787810161411a8a878b84614172565b9350600061412a8b888487614172565b850195506141689350505050565b61414489868a85614172565b93508581141561415657839250614165565b858185028161416157fe5b0492505b50505b9550959350505050565b6000825b828110156141b7576000818152600660205260409020546001600160481b03600160481b8204811691168602816141a957fe5b049190910190600101614176565b5061016083118015906141cb575061016082115b15610f1357610160600090815260066020527f5bc747bd71b549e015c2e31a0d21c276f82136338c6c7203a3f9911f7240314a54600160481b90046001600160481b0316856127106305f5e1008004028860e0015102028161422957fe5b04905061423686826149b3565b0101949350505050565b6000848401600e01808411614259576000915050610f13565b6102bc8185038402049695505050505050565b600080600183111561429257610e3883111561428a57610e3861428f565b600183035b90505b600066354a6ba7a180008511156142b05766354a6ba7a180006142b2565b845b670214e8348c4f0000830261071c82020193509050680ecca2d59581a400008584020495945050505050565b8064ffffffffff167f9861fa0ed101659f7a59b4583fcc798dfa4f3b419bea371c8ee2ad0ffe13a31e60288464ffffffffff16901b4264ffffffffff16176040518082815260200191505060405180910390a25050565b60669290921b60339190911b171790565b6040805160e08101825264ffffffffff97881681526001600160481b03968716602080830191825296881692820192835261ffff9586166060830190815294861660808301908152600060a0840181815295151560c085019081528c54600181018e559c8252989020925192909a0180549151935195519a519451975164ffffffffff1990921692909916919091176dffffffffffffffffff00000000001916600160281b928816929092029190911768ffffffffffffffffff60701b1916600160701b93909616929092029490941761ffff60b81b1916600160b81b968316969096029590951761ffff60c81b1916600160c81b938216939093029290921761ffff60d81b1916600160d81b91909216021760ff60e81b1916600160e81b92151592909202919091179055565b64ffffffffff8516337f14872dc760f33532684e68e1b6d5fd3f71ba7b07dee76bdb2b084f28b74233ef836144aa5760006144b0565b600160c81b5b6001600160d01b031660b88661ffff16901b6070886001600160481b0316901b60288a6001600160481b0316901b4264ffffffffff16171717176040518082815260200191505060405180910390a35050505050565b6000610e5483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506129ee565b6145538383836149f3565b60409182015160009182526006602052919020805460a084015160e09094015168ffffffffffffffffff199091166001600160481b039384161768ffffffffffffffffff60481b1916600160481b93909416929092029290921766ffffffffffffff60901b1916600160901b66ffffffffffffff90921691909102179055565b337fb8d6eb541ded1720cc657b719f57abcb1fe4711cb7ead82751b135f5d94bc94482614601576000614607565b600160481b5b69ffffffffffffffffffff1660388561ffff16901b60288761ffff16901b4264ffffffffff161717176040518082815260200191505060405180910390a2505050565b6000600188610140015110156146915760405162461bcd60e51b8152600401808060200182810382526024815260200180614fd66024913960400191505060405180910390fd5b61014088015161015f116146ec576040805162461bcd60e51b815260206004820152601a60248201527f4845583a20436c61696d2070686173652068617320656e646564000000000000604482015290519081900360640190fd5b6146f588612d5c565b6301ab362e88610120015110614752576040805162461bcd60e51b815260206004820152601e60248201527f4845583a2043484b3a205f636c61696d656442746341646472436f756e740000604482015290519081900360640190fd5b60008060006147618b8b614a8d565b6101208e0180516001019052919450925090506147848989898d8787878c614b47565b93506064605a85020461479a8c8289600161343f565b6147a68a828703612f28565b50505050979650505050505050565b60408051602880825260608281019093526020820181803883390190505090506147ef816001600160601b0319606086901b166014614858565b811561485257805160208201206000805b601481101561484e57600083826020811061481757fe5b600185019491901a9150614831908690600484901c614bf4565b614845858480600101955083600f16614bf4565b50600101614800565b5050505b92915050565b6000805b8281101561243c57600084826020811061487257fe5b1a90506f181899199a1a9b1b9c1cb0b131b232b360811b600482901c60ff166010811061489b57fe5b1a60f81b8684806001019550815181106148b157fe5b60200101906001600160f81b031916908160001a9053506f181899199a1a9b1b9c1cb0b131b232b360811b600f8216601081106148ea57fe5b1a60f81b86848060010195508151811061490057fe5b60200101906001600160f81b031916908160001a9053505060010161485c565b600061492a614e43565b6149348582614061565b61493c614f27565b8551614946610dc7565b0181526149548282866149f3565b60a082018051860190819052604082015186028161496e57fe5b0492506101608414156149aa5760a082015160e0830151600091908702612710028161499657fe5b0490506149a383826149b3565b0192909201915b50509392505050565b6000806301ab362e8461012001518402816149ca57fe5b049050600066033bb85fc52d998561010001518502816149e657fe5b0491909101949350505050565b81516305fcbae3906127100204604083015261015f811015614a695760e083015160009061015e90612710020490506000614a3485838660400151016149b3565b60208501805191840191820190528451810185526040850151909150614a5b9086906149b3565b604085018051909101905250505b606083015115611be557606083018051604084018051909101905260009052505050565b6000806000614a9b84614c60565b925066033bb85fc52d9983866101000151011115614b00576040805162461bcd60e51b815260206004820152601f60248201527f4845583a2043484b3a205f636c61696d65645361746f73686973546f74616c00604482015290519081900360640190fd5b610100850180518401905261014085015161015f03614b1f8482614cac565b60e0870180518290039052935061271084029250614b3d8382614cbd565b9150509250925092565b828201826001600160a01b038316614b6d57614b688a8a8a8a8a8789614cce565b614bc9565b600a8204918201916005830480820192909201916001600160a01b03858116908d161415614bad5792830192614ba88c8c8c8c8c898b614cce565b614bc6565b614bbc8c8c8c8c8c898b614cce565b614bc68582612f28565b50505b614be7739a6a414d6f3497c05e3b1de90520765fa1e07c0382612f28565b5098975050505050505050565b6000838381518110614c0257fe5b01602001516001600160f81b0319169050606160f81b8110801590614c2b575060088260ff1610155b156115a55780602060f81b18848481518110614c4357fe5b60200101906001600160f81b031916908160001a90535050505050565b600064174876e800821015614c76575080611124565b64e8d4a510008210614c8c575060048104611124565b65034630b8a000826501ba60d3380003830281614ca557fe5b0492915050565b600061015e8383025b049392505050565b60006106d160001983018402614cb5565b6040805164ffffffffff42166bffffffffffffff0000000000602888901b161766ffffffffffffff60601b606087901b161760ff60981b609889901b161768ffffffffffffffffff60a01b60a086901b1617815233602082015281516001600160a01b0380851693908b16926001600160601b03198b16927f41e3c7dc6eebc97a48a437ff2afdc629613f12c48ba37a2c94563f80acba9725929181900390910190a46001600160a01b038716331415614d8757614e3a565b336001600160a01b03167f3a84b2d9dac24683628d63034c6949797f15fab735e16232518ee4e753fd49b760c88666ffffffffffffff16901b60288960601c6001600160a01b0316901b4264ffffffffff16171760d88860ff16901b60388b6001600160a01b0316901b8766ffffffffffffff1617176048856001600160a01b0316901b866001600160481b03161760405180848152602001838152602001828152602001935050505060405180910390a25b50505050505050565b604051806101600160405280600081526020016000815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff168152602001600081526020016000815260200160008152602001600081525090565b6040518060e00160405280600064ffffffffff16815260200160008152602001600081526020016000815260200160008152602001600081526020016000151581525090565b60405180604001604052806002906020820280388339509192915050565b604051806101a00160405280600d906020820280388339509192915050565b6040518060600160405280600081526020016000815260200160008152509056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734845583a206265666f72654461792063616e6e6f7420626520696e207468652066757475726545524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f20616464726573734845583a20436c61696d20706861736520686173206e6f742079657420737461727465644845583a206e65775374616b6564486561727473206d757374206265206174206c65617374206d696e696d756d2073686172655261746545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654845583a204254432061646472657373206f722062616c616e636520756e6b6e6f776e4845583a2042544320616464726573732062616c616e636520616c726561647920636c61696d656445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654845583a206e65775374616b65644461797320686967686572207468616e206d6178696d756d45524332303a206275726e2066726f6d20746865207a65726f20616464726573734845583a206175746f5374616b6544617973206c6f776572207468616e206d696e696d756d45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734845583a206e65775374616b656444617973206c6f776572207468616e206d696e696d756d45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820e1386410ff82a380822a5c5fb950ec31ad42ac34f1e670c4d9b8c7329878472b64736f6c634300050d003203a7918d2c5b5a43ac05adeb1ab9d97438679b5b5730f98351702ba4c97a8aad2303d584347e772bbbba20a8ea80603cc04056ea4df7445214bc4459fc8aaba2267303ca0c1f50c0d8b49aa9181f11247c59871d46ad51620388d23f4c26ed04d0dc7703102588a4f942c40ffba8fdbf77e408af6a8b7d54d73e64991fd3d1efa117207b034db41ba9c6ed6ee408156d3fb745c61218696cd75590602b8c286c10f1a9a5da03bd6b18b1872bebc188767a5777a70ca7139e9797a8f4e929fce29359a3bcf54803889438beaaf584a4c376d41b011813e7cdb98d82d077f3064b737b6979381f7903a234af070c72add8948370e98f5bcf729e84cda0f794fdec27a39af89eed73f603aab6a685ea981bbcd941711a9214468d3ee925f37c791d088c18e5a144b730e403dfde7595416113d89d67fee6a87d9cc0d0fb475abfdfa1784377208457a9f59c0355a9f0ef44371ab299a961132f8f7cc67ad59d70126838b4b6146f68afbff42d03be68874761ae32285395b6247118e2e605ba504a1761e051ccebcd8ce22f26db0388cfb177ef97c234abdc4e9ba995a0e5f4877a758fffc9ab319832784da9714503768f2d0e78d2e88b832a0dddcfe7f15a4e11c279cd36c0c0df9676c39ab2ece40397541d804749583be5aec4c4d3c1dcf2e6bbbcf6bd4ea16b82a21fc841bd437303c6ddf2a781b419d658b411f0c5260ad9c84656180924e685948e44ddf1410e5903f4ae4d579c81911bddbca312fe95b14bc2f4b550d33373d0f28f2f63508148830304c032f699355a9f87856990758f81feb270f1b14c6a52e55334cfd1ca0003ad031c0300ef42c20a609aa1e6fafba38f9c145209e5d962c5f375bc73b0725909c803b749a38b6faeb6b5fcf53ee1f1e2a56a15f576b112f61d35f3cef048aaa9e93403a3c509f93fa7aeaf6a3f78b12a5018ec18866dcd87c1b71b252cd241138fc293034fbf3334561cbed14e9849292107616f7c0787c1f2ca8f3a822ddb6fac7c900e035bbb9a229050d8cc5e8646812315a6369ab23c570d8f9e125f010ca46bbabb9903a13d0ba5d65c209dfb6d80810c469c281e79356bf55471e06185a83c10c94e770386f8e8eae117af8eabea1dd952f174b9ad3471b4d379425bafbf039a9553ed6603ea228ab3682fd017deaaa06f2165ac0f915a91ea0a6772887bc0f24979170ead03f0926a4867328791f8c56f3aae38a04c3f4bcadc63ed27b618ec5946d171cbb603182d7119b300941edccd99306439c46a76f12536912d73ae0b4cd85f92bf8194033479710940c6b7c53d06746a9bc72226dce1c62748a721fefd07937593e4192a037cd8754a88264a51049fa5b98f2b99d8fc00c410bd1683d4741b9bb4d5e99dd1039bb5adfc1807709610ddbdfe4c05410b8010d6fe0fee7f1b6f45e00362465bd800581f034f804f908d1f9adfd1888e88f733c07578553a0a09e0f6326393c6c43410581b0d2e0017000000004254ff273e00000000174876e8000000010e9903b8fe7718eb143c61cef40028055fe7daafb934f052ca62175c7e0f0b519f699b03fb469797807a02445276f2a99590afecdaba63a651bc8d1fa53de267171fb62900581f032243f8e2e24644adfe6912f4165a60e123fd6f992b5cdb87bed13bc414404601000000000100581f032cb5e660549ff0ef4630ceb901c9227523bc76304e49677cbb49f6065b8041010370b362cc637d3f981fb7cdf50be8c1845d490d78b5033bacdef116242dc33eb4035a781ed29949c03e2271a9c1fd2311bac2df0ad22c8a476741d5e559fe8dcec703d2eb8a488fbbacf17a1dd9e96f7417b7e038b280b78ae61628cfbca0a9b8966f00581e02d9034bc356aafc349b72638361825a3a891be554d56f082bc92d6a1c73581b1269024800000000a61711b2810000000064c64755aa000005e4f800581e027fb1b7d6bdb155f23a90a94dfe7d22fb97ae73f717d751b722a328c3a945397f9a7b7100581e0261ee13406fbd4c818a5d28ffc8506fdd4f6b4349f040327d2a0fca8847416900581e02859ae70ffc631fb8ca3085ada2e31074477c86b902cade13f5c1337176581b15b303da00000000e8e1ddec4000000000b3dc968d0000000a4ffa00581e02fdbb4c79f19e3e34003e8c9058e64c37f1fab2855dcdc555b514981e5e41020219223100581f033bdc19c722b600325d269bfc7222e90f15829f110381951ccfde97911610411400581f03fd472b5964390aeae0774d8270d45eca5bf8e3a0b81b9067cc2c7c6f14e046010000000001038d3205a0bb5076c05b968fa5f244b611059a72910eee8de0e0ae0b17eced0bb50346adfe6f34fc9f4f9aa8d3d61176be664b9646b215a5183a6b28c370591b7b910219fede03447fd42493e35228ccfc2adddb6fdad7c207efc14122a8fde1cb2d31b8c1d969031444d5b24bebfc9076511e7b34227ab3e9600060384010414d6208a18a07ebb20308526ce44602a5e9a5b1a681ce0c9bb328c16d9a725321547af3b86c6009558d03d2fae470e28abb67362f6c0c77fffa4c4a723e3b80b40c2671e62d9510f420aa03f1e9aee7f0cf6b4f465b242e3dcbaa140026a09d42bcafe2882cf840cc3609b10219ffff033d43010132cb438f2a5d03967c9837ad44241ff4aa6adbba7e679351881bbfe403a49774baa8887f16b8a907d67d1925251656a79da4adc105987f96a5ca55d426033cfd2f652ba617455602f4781531c1c23250008f80e2a2dc376b3611d5cad7a80326e0483422ee69a4d5157d5ead11cd6a5f3931a16e6831f2f7770977eccc6a7c0308df98f99c00866ae5db8a353377f465d34bc4866c0f3df3c0b35cdba83acd7503ecfb510d50104908ef574f156e333ad9d8659bd1b87251b9060b72be624d31a703df8ef74cbfb7b39b92074fba748ef0c8b00062f67c938115db3f55513ac9d3ad03c142ceebeee09244108e86445b3acc7f03d6e0e0d951b622fd954dc9a23d2a7f031df1fcc06cb0d41e241c7c5b9008d3bca0c9dfb9a2be82142070824b55b5424a03bc2d2b871cf7949e33a8e2ed655e77a93d0bfcfdba1fad70eb2a9a0c4f63d3ea03a71fba228e9f3d2c28475a30341fdad3b6f98fd8cdad0ce43c8654f3d87533c20219ffff03ef3419f3d10f929634791f8f2655ecc0d2193e039b3fdc6f86c352ad12599ca7030348c29f37c5024786e765e0c3d997f2669d610c658b88d992377d2d1553a38603404d238597c36ead7939106a1458b51524559fb04fc5c3155b6805c8907011590219ffff0396db133df15e49ed7ae7690f00fc95a53f85bde5ea6b1dbc3c0916888bc06ba2036d800a8384e460a42555ba5cd5568ac003c4862f6e33163c73a943be16cabcda0392bf98ddf67d2e8c26da081bc3936fd497ca6158dd44012128c3ae0e2df4447503ae2298d81cb9d23dc1b4973a60671426e1b71b92249f95777edd0e3443cedec0039a30c8ae06cea69d600307fab7a9c373e5b2a4dad22da4cdf3aeab64ef88519a0305bad595f5e767bc9d96c35493a9d0cf8fb8aa17cc2d6ae7490457996f11de3d031cb01299fd1ed2b8fe8105426ab0a77e8a7a4bb6c2ff5ccd691805fae0f22522034237f569cad0464b56513116dc60ed2773d063adaacdf350d4bbe556305f682e03ece266323cf9a94da19ae62b28c28f9cac7cbfff3bac7305a96a3f3f029ffcd30361407f5fd278c5856c910c15fbfa63761aaf6271283e8de30afbc7e1e69a62f603d584cbe7ec9a6dc13555068b6fcf156c0a9c9099895f3ac4c59294af7a72202403328b43167c9eab7464c8f9680340d2f397868ab7d8b32d38f9ae20514e13dd21039714cfde497a3a5f89bb33082d254c4ff1c0f507bfff3e17f5689a020fda3828034fd3c358ad3a3190cd903b8d8bb331bd3437cbb2a671a6601da2d82165cdf5d403b674e43de41b616472bc1add6ff69ae8d87f72f4249a244240ef41e44ea67f31034301888602b4e2c08d3a0c985f4616b4ef9e3607950d41b155832b8fe9df7fe603dd64b5b60079421b4a258d374ab064b5f0cf77d8ccbab26e7e58f70c49dfb154031e38eb9ec9eb8ed41e0760220dd054af1b99c2202cf9cef9470881c6c64aa8340367c528da2824b698ad31f7aeb6d367a56840ce62a740e9d276143b61cd2e39cf035fe163bdc275fd5e5fce2ae1b87961f0c54a9c38da33eeac5d378036335cdafc035442cf003a1137b38132266f010eb9ea1cd33d27c32aa31d5a4d7efc0651f18a00581f03fcb1b030936d9c49cf06e1bd345938973a174d71e135c14d3bb45f726b90581b0d3e0236000000001e6e8a185000000000130ba8f200000005b27203a08a606242920d9de3fcfa6be6b10b1ebaa3596a516c554fee6191197ab8e26d00581f03f9c692da0ee16ae2c16ddc5ca8f1b4d7794fa4c7c1f57fbc4ae499ce57504601000000000100581e02d1bc3fd04abaa663aadea5cae4a36537a0be03d6046668cf69b13cf7355820fffffffffffffffffffffffffffffffffffffffffffffffffffffe2e56b5dfff00581e02244aa1126b9a51439479f899a6865495b887ca924006374b6e4be9bf3a581b1443012a000000085b645f4e330000000308182995000000032ae100581e0233392a90d7480a878ba3339ae4157306288a9693b02b1f9c88bf3091274502540be4000219086000581f03acab93602bc4837f50c53067d7130fc4ecb05ce08b4974921e6c820666a04502540be40000581f032fa30bae39ada18291da6c6db5ffa37ff6bfed9332f41cf4abe6be09d7c0410700581f03dbbc653672371283cd9d43d7ce60b4fe9c59521bf9b533e132e0788ee1a0581b03e8037800000000f88aab1bd2000000015d3ef79800000009904b00581f03c19099194e860b4b17ba95176f5d42a2c1f91ac2a6519466c6a77b011200581b04530315000000001e769bbc9d0000000026eb056f6d000008a6a60302b8bb6c7a74e9d0ece469ae29ba80ddc55be5ee57170c60164cb9a6278bfb7f00581f032381858ed8d1ff49e2c74fdc86d05d22a6151c91bfab854d57f82dd3f2e0581b0ee7021200000000ed14cfbd7f000000008bb2c97000000005556203ded908cd92317c9d7abb34a037296a110bf53fee4da6e3fe14229f68426cd65a034c787908cb6b6baec96fbbb886b0c38f796236aa44c7abfe6c8e2c226785b6ba00581f03729135e02b694d6571d27d43ff64bb6df7c1a95f09023091dd2a829098804502540be4000219dfcf03c1c578b6e3fa9cf4848635826d46f5e2e54fefd8fb043f87fea59617a0959e75037fca4bca79b8d98e57ce19fa12b40f18ad7f50321ff67e113b02202bc1243f680361e079b7158d5060c3c7f63c5c05e37fe295abc877c8897921d2ef8fbed1d8fd03b384accd0974659986987c6277d848aa8e424272eccb177e326fc2a696653fe803e513bfe7819417ffdc293df8444328fe72bca928421a530fec1d4a8c42028b6c031d04434b83676a292a77c60b6f0da2bec741e9a57716788a08f80350b2e7362403bbee7d98c022de7e9a1c56320e26f317f87a5ea696ca0d46db4d2cc807ebccc303225f021c5a3892c817c7165f8ae7884a589685f4005e0bcf877602837bf782ea0301b2e72d6bc699b1b053d36454cb207741f3ddcf93515bf7cabc523a46ba56af03db6ec21b46c1442c21515865c289aafc101b3f0c6cd59ac19380495cdd376f8103e67d8bb46aff871e49c869365071df75584ef924353c5d7f88d42be62b8016dc031012ff94e1c50fe25fb3401592901eec7d626f135c90d0ecb120655601e2572503cc403764f6c41a5fd915719781748c4effce3a98c454df6f74e7e947c513e5d30219ffff0219ffff031f85558fa2f19697b4afd40a2a0b75d1f88f13d60a22e9708d8399453f3ce5c103d0e9e125b38945219bd8dcb9f2e4d0d417761b22b0839c1b72321d192b39ba8b03ff20b28604ba23fc25b9e2febe802b6907c53dac43b1b72bdbb26a1a40bc4aea03ad6a87943e0c7fc5079fc0069e01d6798bcfccf2f2fea2ba7d477c0c99ea2a0b03619f8cd5a0046e8cf89bdd6c9175289461296638383838deddcc8e158b3cd90a03d85c4c85c02c85177d5d42b9bd3d0c2682e8bf1aa43e706f944e827e57e7482703f1a7faa0c5e1d2df2bddfca1ad64b53977a25724fd230dc317d17f29333eaa4f036f4cdefe95b98ec553c8dbeeeecf64544c4869b3bd1a6b7d8933d1bda5e3d3db03073167077cdafd6035938b088c826e544e355fd4f2237f05b17737c4b5f75f7503d4cf3e80f176a40cdcfca46d51e0c2db6ed4f286035c7e4c5dc70acfabb6f9ad034ae870ee995a4cf40371f3fdaa31ba4230fc57afac85b1b0f0846ee796e46f4a0336868c1e9548d506eb555ea50d2af4421243c834afe899dcb15b3ea79de35dd00219ffff03e18751b19e3de9b28a19b65c51245dec98cf2fc235694e2b61975779fe7fd3f203402cabd57ecbb8389a795c5b86c20623107fd6ba98796d8747d6c62aa15f2dde031f87cee9318bba003713f84818fffe18266c692d92065d372a2006062157032d0349b8176c828f22d57b6a28a172c0ba7d20cc725ef3a9b7c4827ac5f6a9fb5d8d034657ad44f0f27403c6d13123fd0b8fde2b0ee010e1fffd5f113526340d23efc1031c04d823b71b1f294c564ac16e04ba755b0adc573d564c7e7ce9c980a4631c9c03f359ff873595f950ba5128196499be4ae6c24f84e8e88504aeceaeb1f0844863035de876a9d67b70e8245625c15e76f85d69490dc7188db643e3d8695579a033760219ffff05581d02a1f3b216d8285f6c50abdf1cc4d51abd290e0365f1128ece05f7ecbd0f014770f9ee77db80001951fd05581d02f08a7c20b65bf7c0156f102ee8e70d9637cd98edf9ba403395e27ea80c064703842a6d5191580219a000033f314dca8dcc160b2b0b0f8b5412b522f27e1efd7d2fb14e975054a352d2cc9705581e032ede27032d83f8d2a88d58ac6348f30d45c28cbc19dbc459f9a57fdc500c024728fbfd842525f505581e039c4fef300236d5817592fa77633cc7a922a60f1ec327993dbfe9133a00040103d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e03009d7b7595c15ba9eed492b5e37b396710db5db126acf25f99484feaf007011bffffffffffffffff03bb2a7b2a89c8a9a8e7f181ed3eb4d7e81a8a4f0eac7fb6797babe190bef09b780219b17f039336a96172c7329e2f7fe2026a3be22095bc55d0dbe2e27e3d62e3b2931867af03e31a90142b983a2df3215dcbe44433924d2c9e2e665853af88873dc5ff07612f03b8c9845f3b5fb24ff4ae5de887367a41936e91044ba92fcf0b0ccadea3af328603c3e0488afe289b4f333161b7993f09334978d0b02b7b9d519b18e9b315bd8c9f03d9eaf2c055fbde7a4e2e19fae68a53cd8cbfa3bb43834cb4384bf4a599391c3003a013fb3edf836351a55ba7d62cd9c02b5429ab6ce10e38c05e75e6faa99575f203a83274de64da805c09320c4e63edf59fa380f67524e8456a5f1114a2c0714c6003c39a80a37838cba636d44009d2c2277bdac86fb84a1884f230d069ef71fb1960033766f9c58b808678361074951b4af81247533a8e0c7282b9f9d6796e3147ad5903cd61d6855cc33ec4537de143a6dd64e16807fbf96b4de41bb504b70a710464e103bd8ef4db03abf74a8e1450dd32b9361640c182660ebe68dfb626da3b0acfa60b03cd502b7ce56397efa1874b74bbde92a6110c5d21a1f43f09bbcf50ef7675578903021313a2a53a2febdfca2185746355b24bcb2e9f3f06e7dd727e82679acafc6a0219ffff03859a4acddc145a282a82c09c54e447bdc6b59641e62d7582b663e3ee5b669ce4031f8121fe5e8d8b1f1579f7404b2394d06ba6b17d0bec79816d1d468ac16519e203848951710fe9969536fddc7104dfe1e3af50957e0374c6fdda8bd89e6b514481036a3a69cf5a212e2c4688fb7fbabe480488e375776408a6d617d3d6ad49c53e57037db15a131b1f2bf6647f0a384b53d699d002a8a11707e6410d44d94e6bd0607e031d7a20f6e04fd570b7b8d89991f9d970412fa736cb4fc60393d4782fa2197f7a0219ffff03bcc9ee5e46923f222e6bcd50073afecc06e9e25ae330376c873c3cec2db2a11b035154d9510e0e733008ab928f7eed0c9137e3308a4725981b18ab7acb5682e30d031f4bd58f5d38ff9bb9f1ee371e768b7ff62c38d1a8e09a82e620f10f29b947cc0319a406aae63ae526928bdbd9b9e21f8e0821c74aafd22f30240f3371986f221f035465fb85be1dc428b22c4ca4f5b61e441c17e29b7f709e7c915028d2931407b003075b83711fd28eeb4fd1b9cba3010720326ec3d38152cab46e705e829ea6df94030e4aa4d9d3a2a1af556d3adda675ef00b388b11ced47cb44c582fb310e4d6f8203d455d5354b85cb79a10abae364784615a45cabd6fd74e0b3faf3ddafb8914ca60333b93a23005941f0e43dfcd3524b8fb402b8cbf2f3112053a4f2e1cb328311b20322bba740fde89ab99ff13d036af46b6fd27e7edb0ab87f96b926912dc60f30980316956757a304f259d472a89d9053922ce176ea56a45707eb63bb1dad01ca72d6035ef6cf5c408489cacb7f734c8226ada98a94e6bbd03970629b910b8a9964e08a03909d61625fc42ab101c481d020f7d97a067cd779059959223b59518395a0765e03da9f12eb5824f395a68ea9fe18e686d0f3012b1151c3ed85480f61a155b699d90219ffff031a5ebfd99cf061d019879c38d67189ec3d411da22c2d2e34e16f39507476c06403b4e3ad565f819430fe4dc83f4dfe3141ea59c013b215b150f4659bbb2b45402d03ec3e0af7811bb02ae8cbe6b9e54b2363b2a05cb881252baa323c5ee21acc6b1803be49a0f89272c62088431838043d6b0ad0c30ea821755f15ceb58245dbaa9a1f035ed44acce1d2373865fe9942ad0b185e326f11b299c961e1a95f65d0fbcc5ea803ca76907318a89f72bc1683c599f4236da92d37606c7b6a35f2b07d03f68592a603a824775f504d195f64f258f86d678b7cc81447632d5efe22971bb62f9c7e47e103bc07c006d36a901a025a7c80d495df82951c63bfbadd94219417022098ecce0203c96f420f63bb98aeafabf878f715d25fb19dffe91543ba7ef7d2ca6d923302ec03ae04b818ee0a0308b41ab932631cd9c9ed520ccc1902213a2607299da098629603b05970df453409f15a8a097d75ba3c98957b72fe5f4911ca736a4440e03eda4f03b8be3089e7546d05aaea40dfceb58fbed66e8a3123bec5c8e1843180a75aba15037c70bdc57e5d5a6e65c5b4996b8a88803db106eebadbe73de9dcc95e1eca119d03c704b377ce5d66987ac1c118d776e591a31c9ac988ef03ed57cfbd573dd50453036a9168da5a147b1c0bb6244a6d5a78f708204a43fa0a0d931679bbe11fe9d61c03aaf3c46ef5c933acf7b137f19e0449ff62154c34c3b6389f53cffb9baa9aabf603fe3a8c0fa90707b9ea44d95e77efd2557b68a9eae675a269cdca72763e74442f05581e0336cc01f3d1830d71c7199cdddc0e544f129684933a482f8a3d5cf4e4800c034704ed7ef56b1c5a05581e0303ac52f607c24cdd8ebfff33fee41dacd94ab5047f0a6d81b7010537c00c0745012a05f20005581e0359ba3dd5589a02bbb6bb8e8e18e428081583483aec41ad60c254c4b2700c014653d470b5874805581d02b500565b53741e3bae77c9ba38eebb52817793eb3bea38f3ef15c1e70c064666b0f1e3cb3805581d0263bce492b0c961ec8c22ead2ae328053a6f140162769cd4f0fef183d0c18db475570ae8e4c335a02190c0005581e038d9f5f58fdceaad1dac466a72a0ae1477ef937ee87a140872962438bb00c0247092f49e4509400037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03f76567849d20da9e10f51d9c83bfb8ccfb8912bc720a844132bea131e007011bffffffffffffffff05581e03737e30060e5537dfbcb3ef767a56b1cd72f7cae2e1273982bf9f0d42a00c03468b6eedb81298033c7d1529685fcc28cbaa7a08daf4cbc2851ad1455eba258fb77c2dfd027b05cc02192fd0034ab81797509e0681bdd6e2a23021037894851c7636e92d406d00b787b49030e80219ffff03d8f6c7490eb54db19f5bd7fd6cf19c9f3ed2779b37976bb10afa880b97f4be2e0324936b780316780923b0fee120766f89b82a255b3fa401375d45c832179f7a52035ea3a0b497ec79f9965185f9253f8ca013bd5a22f2861b67bfe2ae7b239274930316c6ab6a3ff4fbc99bb284dbec5b5df0025fe5a095a28954196a75193af27019033579b05698697c05dacb175ca998a3fad22dbebc36e77b2478c341a6a752eff103227a81cec8ccd08c75c3681264fae69f9a78cca8c53578c830d4e7539a43d2c303bd4f0eea46f3193fae56a7572277e0959c4cfd570e373f596d0a242d7b8dc4b303af9ffeeb4d6050debf5fb9129c4a9fcff4e8d33e5e4294927665bd974053e0fc03285b1dc0c25df9d3498ac0fa29f0cd943afe8dfaea3ad8619ec62c35602bf54f034fbb1193f035c0b00105527037250a8490b394b923f949d97af8f5d9c61773e5033fe84ae8f1ea8c0789e02553c2061c6148f28f512b7ada85d30e06da55e8551003560d7799f6e6dece50e946a06802ff4252cb6318ce438f4b8fee1dc5fcf58329035ba5201f89edab088daae3aa3cbb547b517550321ba37fb56132a6a7f8bfe0aa0334ab2ff3bb616cbd9a0ab0356a335e38c644a1149fbc75681161551474879650038ce42cae5ee3b094fdcd58c53cb9a68b69b0f45e9adcc5804bccb09228bffa150219ffff03ea79bf4e4db5b0fbef371eb5255710b84b0660893230f298f69ac59cac8e1ff8036190d0b6a174cffd9edd19bc9ac2332c6a91c2f3336e5a112a668103ab71d9bf034fbb243ac5966a788c20a60ad6fd7a9230babc58f16a78585555c941d6fc777b0323fa8cf8394a810f6af524709635df51e8a62d8e2fe0df6c16513550ff98bf34034af2492615082a40f52eef6a17cd5cef7575ea31ac8a4ec02c06f6081141b95c031cd4d1e8ba5ad30ad0b0c3c3ac5327b4cae6f453714f29c4d3e95837bb8fb89703f51ea9fea2804b8bd6cf88a1da25a6961cb23cc16b109eb5ec645d02c368946003216179243bf5543092082b4cbf27801b7ec7be73a95b748fc42d51a7bf19f45d03bca8f8d3624a81ef2aba3b67f985545fb377e978e9499178a39553a8242ffe9f03a2924175a97f1397c730e3d57ecef9ee6c1dc953e2371bc2cca1c75750d4c26a0344b1d76974419ab163dee13bd2c32d893e83abe924dd6bd35072a1188f294fc403be5bac51c7ba58ab8bf071cb60d2a0b91a8b8ab1e61776c1f23ae121e401cc400383a7956a728dd9e379172ce4f669cc39347eeecedacfeafa6a54c875f27f7a0603473cc1054d10057f0abdd19460434e9463f395991ef6b293c122adb5a4af55f703b96bd9fb7009b13457ea5742eba30544d06b8c9e051621fec3da8614d13e0df40371ff68040206ad29076ae2ab985c381c8d7045effbcab29a1c47963ca345850903e0081d7cabbb611ad7dbd4d1ce5bc1cce79ee99e4cb84bb2a91904c3e2f42e6d03f98ea20f6faf1027e3352df41bfd91647651f5dc2516d9bbe4998870eb23cd2903ec7527eaa7885aec3b2acc9f8d1293162ee8088ae5b89841c04b09b6810afb53038ee0569bb4b56a99d393811d46d77f03c4862e318ca10d2fc300beb6ae1a0ed403a55979ea49e5f0108c846b1e58c68175aec304b82aa2e4ff9e664e8efb3e8ec803ab497ae64b13f42f00ed44f0671a271f770be039e5a83a12ae8a2d92fa5e9564035a22b49548d7412f17da8feeb5a2d9a94dab083f0b916e4d7bcf141ba9eb092403f8d315ab4e8cac723bb146524adba51e8d5f08875fab297033973bcf3a057dd2033235595717e924afea270da11509577155e8286314e30055f3ad6f4dac2c3255031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03d3c3fa9f53c31e99e57c2c441b2e59780e622db3800fe83113c6fc596007011bffffffffffffffff04590e086080604052600436106100345760003560e01c806392f5f03714610039578063bc17c2901461010a578063eb365adc14610148575b600080fd5b610108600480360361012081101561005057600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013582169260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156100a557600080fd5b8201836020820111156100b757600080fd5b803590602001918460018302840111640100000000831117156100d957600080fd5b919350915080359073ffffffffffffffffffffffffffffffffffffffff6020820135169060400135151561015d565b005b34801561011657600080fd5b5061011f6103ae565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561015457600080fd5b5061011f6103d2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614156101f857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f544f4b454e5f504149525f494e56414c49440000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff89161561023f5761023f897f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff896103f6565b6102db85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505073ffffffffffffffffffffffffffffffffffffffff8b161561029b57600061029d565b885b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff1691906105ec565b506102f3816102ea57896102ec565b885b848461061c565b610306896103008b61068c565b8c61061c565b60006103118961068c565b9050868261031f5781610329565b6103298286610750565b101561039657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e53554646494349454e545f414d4f554e5400000000000000000000000000604482015290519081900360640190fd5b6103a189828d61061c565b5050505050505050505050565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d602081101561049757600080fd5b50519050818110156105e6576040805173ffffffffffffffffffffffffffffffffffffffff80861660248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6044808401919091528351808403909101815260649092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905260609161055891908716906107c4565b8051909150156105e45780806020019051602081101561057757600080fd5b50516105e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f415050524f56414c5f4641494c45440000000000000000000000000000000000604482015290519081900360640190fd5b505b50505050565b6060610612848484604051806060016040528060298152602001610d8060299139610806565b90505b9392505050565b8161062657610687565b73ffffffffffffffffffffffffffffffffffffffff83166106665761066173ffffffffffffffffffffffffffffffffffffffff8216836109c1565b610687565b61068773ffffffffffffffffffffffffffffffffffffffff84168284610ae7565b505050565b600073ffffffffffffffffffffffffffffffffffffffff82166106b057504761074b565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b15801561071c57600080fd5b505afa158015610730573d6000803e3d6000fd5b505050506040513d602081101561074657600080fd5b505190505b919050565b60008282018381101561061557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b606061061583836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250610b74565b606082471015610861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610d5a6026913960400191505060405180910390fd5b61086a85610b83565b6108d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061093f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610902565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146109a1576040519150601f19603f3d011682016040523d82523d6000602084013e6109a6565b606091505b50915091506109b6828286610b89565b979650505050505050565b80471015610a3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015290519081900360640190fd5b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d8060008114610a88576040519150601f19603f3d011682016040523d82523d6000602084013e610a8d565b606091505b5050905080610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610d20603a913960400191505060405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610687908490610c47565b60606106128484600085610806565b3b151590565b60608315610b98575081610615565b825115610ba85782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c0c578181015183820152602001610bf4565b50505050905090810190601f168015610c395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6060610ca9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b749092919063ffffffff16565b80519091501561068757808060200190516020811015610cc857600080fd5b5051610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610da9602a913960400191505060405180910390fdfe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220881e47585fa0afe1cd7de2a79bfa970ae39562558144f705f69bf223d5a3684264736f6c634300060c00330605581e03242dfd71c636c5e66ef6f9257068e946c75c7d70268995d50443716e500701190e0805581e0321094e96c38b9b5bd4f7a81a93c57bc7e72ceaa0816f26ad4efe04dd000c014688160630616003447472eae1bce74c9406a54711ef0c4fe065db2b9c37a92c9b38e6e66f7f826e05581e03ee4133258306fc485d2425a6c591b2a74fc764409d149a884da45470a00c024742794da90281ff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03a3469637177e3ae5b0ef150934e04a212d78a69a5726c4df53d15bef9007011bffffffffffffffff05581e031edc301e0a32e0d467c6df87005ca33e6a01de90354974e83d6037cb30040203d030d65dcce689255a32a49be3b0e82e8f9c26b34df4b01d81bed488cead62df0337d25cb6b9057d6d34fe77e384e3a92bbc613c06940cac80b5bd999e836e905005581e030d2abe256377f9c99f900e6552c499c8a6e2b33ab7838a6c1dd0b0f1200c01461185b7170a0905581e0325a701aa71a111475226af92676c7b8f72f877c2a319b199d6f22fdaf00c0346b17bc17465550219ebc703017617902167d0ad8a6d6ab0aa7fedc6cfff3e9252bebbcf82b65172f9b3fb230219ffff0336654386f8da45821b2e7d275a59de43a76bc96e9944363bb272a57f894438a8034d587390b468ea5d99928ca6cd84e8011aa58f36558f577f8e243029827375b703d3c2a48ec1f0d1a485a79093b4a37267f296210c9a4e08d9f237b985d03ed6a403e17d622b96dc22172637bf8221f3101abc1a34ea04627f66b9888b073a7faebb031eb69e1569b4d42f56a748d6b5faa818e063b312d770553cd6ab0581f18f932103de9b7011fe8d01a06e02980adc66ebc0624c9c59cbbc02f687322f1b15d9eb3a03597dd12911e65d4ef73df1b14e6e2fb822f78a9bc9508eed1570fe29621289a203800b4187c5f1aec941e93207f48f3ca34c64a09cd74aa3770fe1f6b056a2a985037845bcf8cc9483f83a01e0903e19a7abb2e35b6907cab2a579c05e82571ae2ec0219ffff0382a113c54ba8a8984ed1154f66cbe03e65812c6c48269ea708218efefa83e2cf038707eef52396855ef7a6d7c82b16003139e3001027349ccdb1dd8fdac740f34d031908e399bc80a001e313f50620283e1666c9dca0de548f0e6f7bde05ff38742303b39813750f4025a6af3b81aee4f4b3f4b6e4500005d404059afd6276fb0f1490034a9ad3842301d0d364d6cad172a17aac55ac35dba8b6ea8e99f89fe2ed1a8a760334fc4ea173166299aa76b5ea974c00755327becc886c44632d64d2178e8488990219ffff03c1b13e0f026f5a00b0a75db825484be9ebecd5f9943be122465b04953eaed70f03d8bea9b4bb93d3d8b5a56bb2aa23685729c4e37a5680a804f679119e54e129be03eda4c2bffee7308fa7d1d8a95af4aeea52b0e9acc6b81d88f83cedc4b1d604b5031a0129fb52e289996b64f85f817888a1496af96d8bb963c7d74f6452fc87619b033a8d1f90ee714c2d3269dfe155ea763bbde7c0bc82e5a2d0a5601e05ad79075103e1171af99b1b32ff1e6cca6ac137a48376e66cb96bfc195925d96eae372f5a15035a98a990290bee3c7ef6d6729ca7a15656aad0f88098725902537d4f49584cce034039eec9a815bed89b93bf8e24abeccfa39be86a6c245100bda67dfbc378959e03efe6b393c4906353c2fd9909f937f77f0698bca8c5a3b7daac64467178964a580219ffff03ba76927b95ef7a9ec7ada5e1891af897052bab8c20f4f9413df4a0844955e943034efdcb02754f71adb904972aa3b1e550b4837445d763de8c749c65626bd9893e03e2f313eb70a730399c738c2ef74c072969395104cbc0894357938b97373d222b036d311d06f4920898762d856abfbc59169e66d0e8b8663bbb6e0bc0ba6b3ec24e031e32c11fd6baaf63ba3bf80bd646fed6aab1039b013d9c90cacc40ef88d1517e03a86a951a0721ac7a6998a15119c4959f824f2c092920e667b17eecf3726b6f0903e412025695d35192067e7b25cb5185b5f04743e20200754196931cab8b2a8695036121db0e60854f5c915db5e92b08e2ff3d0cc45b00d424c679aacb804739b43203a225c827affdf80b2b66ca9ac9be0f72bc9575e9ca4802eabe66ff02c86bd58f037897c704a37c5426ce30cbff33748682922e5044cbb81293265faae8d6ab7e9603da553daa46ff89342dc42a0458554e206efa8c4a568ff6ad1e22bdc07b2184a1033244c094ded95707482de2c21afc53b51b035880bd60a2338a565d6c78aef4fc03a383fd09eb2522d949817ee561efbd15b98cda71277e6a687250a2943d9dda9603742f24ba11a9a28ebfbcb98e0730f0b1186156a23a4626e3985dcb02edb22da003b94aa442bf3625f0134dfa17be85e1ce1609eb65480029a44e3d0d2c9444ea2a033505cb97cc52365592be2d7080d264bb45e1396f872415850ae98515ae3def12034c6f44627d128b3c0b331682f6144b47fd08e64ee8d04b22312cfc239016081903145d3f1f0df2cfcc4f2a8f89eb7aaed5ae688340fe4794cebdd1fa788dcf1047036dd5837ccb3961d32ff5e27c6b79a95eadded9294c28e646aaf71de71ba8b17003ab4bf52e3ae4c3963bf4f8dbfc5ed023f0496b6950aea3c4ecba0f1e0dfe4aa703e3c5f8ec4c6019f21f679d0567a077d3d3a61f915c2c4ebe9b8a5b262147e74b034fcb12bdbec68b7b4eb5416e9e7f74ba61e1bde2a09dd8edda1753b4162956b303eea4022656708e069d59efc80717a505bb0b5740f8711ddfc274edd01c679c94039d6168d6cd33b1d02f010280d0cc460bded5944bd908e3dfe50bf9a835d175b9034e7abca429c2a51b871527bbc1c1ec4f076ec1b685372470f02f0ad582bb3165035d06a251c6cd31142265ce67ac2e98c2a9e4eede91ae83851ab0df4c0aa3f11203fddd53b5e8d55743470359b48079b41e9023fd0d68cd6d42578c0deda9848e71036a3f81d5bc8e82abd81fda77c73d654a1c0a7f2aa498c69a0cc942a1916a185b037155388b2f89ca359da39cbfa9645393b703086f8fa741c4f8155da25eec399d03a82fe2322f3fbb9fd6faad70ff21049572b5d083a71b65b88290d5c5100b263503d1647923e0a8d3de2ae4f8c7470bf8ab2b5f321746a0716b1d664e35e810eae603d76307e9d9dc426e2e50a22722648c0c863ab017866985e3d3a2d37c8763e44403911dcdd8a1153cfb79cb7931bc535afa647569c79244114d9db06990989b58dc03a74185139459a6bfcd4964b1ef3c51b232268deb9f5873ffc60d0da4e31dd01603d6cc4e44fcc8a10332be5e7c7627412f98a07b4d5244accb499392f23616946203b4c8aa66cee4bb867ffdd800565ffcd31a61807917503f61c27018da6114a0b2036053882ede429a040d8126a4084f219a969174e0668cce0a60c5bc983aad1567035a141b35229251a10286bf988e155f55399bbdc73c77bae352bfb8df677b55c203c73e5b4bf2fcb85b7a7e5e33a4a47dd373c04d55744119a0af1b996bdfff339a03f52bbfc344969a76a8a6be417e60f6eb6c69a09bc938dbc78bb4edc46146df3303bcc330dadfa1f3ba6cb8c9f06a0df7d052ba08dbc1bbd6666fd8f87b20fd849c03e66d81b4dc455c97d8b036b3aa693a799566a6259121a12761023017caf8693803c1b6b53ce230dc40563c26a6dfb0959b20b38e0912db87dd5c44e9dc6b731e4e03e26b3d8423db2d20eb03bbcab5df248469f2cecb3dbedc380dddb6a26f0d8f8303881ee061e8ebe8bc8dc65e3964ee8951abb423af2f073bb39e69b7b291d0890803bd0a077779f3cac8d20be0b84847fc996d91343bc479c0e967a02261af9bff4c037ce630c4d3c2a9042022e1cd34bd6efa7f1dcba794c8e6caca59d338315addeb0311781727a3123bdad342f013be7cd29a58acf578e32cc9e6595aa8116dde30ad03701c675bddbef353e66fde48eb7a9f22eb0c0239d5ed01fa9bf4034b3309267103fc979b9408f0f793c0f324d82fa507a3cc76e6fe853ad8646b6b4dd242405dc50393ea9c6dd98da9e779febca5fffa717d67adec985da16044f8ca2fb7301f6bcd0387dd12a930871462dbcfd451e574ff67fabcd86c07fd8c9f8ab8890e46f25265033d0218178c15d1fb01784a4bbbca41603fa91952a5ee2c38e2bc96b3c17fc7e5038cfb48abef3d59695057027495d777c43d163ea9bac06fa6cd4258f0895f32dd03d95945d034d4e429e18dceebc0e4b010629dcd79a73faf34421cd68395647c450364f2a7b7235a51323c093ab5d58f35543fabcfacba10bb6380dfdad30e4c9fa90314c6df4e59382c5a87c046326ec711d7dec73d5b58bb2053632c3f22582f1b8c03b22db5ddca0a97fa675bc61b8744ace05a4c74e09200b30e10e43a049d7b1cda05581e03fe68449063d18cc458c7320f54d50686241a65bf2dab2d585644c8cd500c03443b9aca0005581e03c77ec143a5e20c7fe0abcf45537c8d24adfd7bc0009d22b1ac7e292b90040303e1d2c5cda8f3a5d5bd4ee5ebd148f89893554cab9b26c443b7541a0a894581f4033a669bd13fd2bf1dff46a0afd9b75bfff51122ba22fe2eccf8603f6b3d8e559105581e03c753dbb95184ce5f14a38083c37afaadb911190dd889ee577e1f353c70040305581e0317d068e1faa4777750440dea42120fee8bf411fdb8de10da3d8981c7700c04470c4f0f9859019c03f14840e812b60344577118efedc202c08862f6a0cfc80435e8f7c66595782dc705581d0267a5e1957b85b6ec97ed5972437c99745051722823d3696ba506e43a040305581d02df00f744dd2090f61187601f9ec191301a948818550557fc70927d150848bdb3d1d36d33c00004591dd2608060405234801561000f575f80fd5b50600436106100fe575f3560e01c80637ecebe0011610095578063a9059cbb11610064578063a9059cbb146102a4578063d505accf146102d4578063dd62ed3e146102f0578063f2fde38b14610320576100fe565b80637ecebe001461021457806384b0196e146102445780638da5cb5b1461026857806395d89b4114610286576100fe565b8063313ce567116100d1578063313ce5671461019e5780633644e515146101bc57806370a08231146101da578063715018a61461020a576100fe565b806306fdde0314610102578063095ea7b31461012057806318160ddd1461015057806323b872dd1461016e575b5f80fd5b61010a61033c565b6040516101179190611642565b60405180910390f35b61013a600480360381019061013591906116f3565b6103cc565b604051610147919061174b565b60405180910390f35b6101586103ee565b6040516101659190611773565b60405180910390f35b6101886004803603810190610183919061178c565b6103f7565b604051610195919061174b565b60405180910390f35b6101a6610425565b6040516101b391906117f7565b60405180910390f35b6101c461042d565b6040516101d19190611828565b60405180910390f35b6101f460048036038101906101ef9190611841565b61043b565b6040516102019190611773565b60405180910390f35b610212610480565b005b61022e60048036038101906102299190611841565b610493565b60405161023b9190611773565b60405180910390f35b61024c6104a4565b60405161025f979695949392919061196c565b60405180910390f35b610270610549565b60405161027d91906119ee565b60405180910390f35b61028e610571565b60405161029b9190611642565b60405180910390f35b6102be60048036038101906102b991906116f3565b610601565b6040516102cb919061174b565b60405180910390f35b6102ee60048036038101906102e99190611a5b565b610623565b005b61030a60048036038101906103059190611af8565b610768565b6040516103179190611773565b60405180910390f35b61033a60048036038101906103359190611841565b6107ea565b005b60606003805461034b90611b63565b80601f016020809104026020016040519081016040528092919081815260200182805461037790611b63565b80156103c25780601f10610399576101008083540402835291602001916103c2565b820191905f5260205f20905b8154815290600101906020018083116103a557829003601f168201915b5050505050905090565b5f806103d661086e565b90506103e3818585610875565b600191505092915050565b5f600254905090565b5f8061040161086e565b905061040e858285610887565b610419858585610919565b60019150509392505050565b5f6012905090565b5f610436610a09565b905090565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610488610abf565b6104915f610b46565b565b5f61049d82610c09565b9050919050565b5f6060805f805f60606104b5610c4f565b6104bd610c8a565b46305f801b5f67ffffffffffffffff8111156104dc576104db611b93565b5b60405190808252806020026020018201604052801561050a5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461058090611b63565b80601f01602080910402602001604051908101604052809291908181526020018280546105ac90611b63565b80156105f75780601f106105ce576101008083540402835291602001916105f7565b820191905f5260205f20905b8154815290600101906020018083116105da57829003601f168201915b5050505050905090565b5f8061060b61086e565b9050610618818585610919565b600191505092915050565b8342111561066857836040517f6279130200000000000000000000000000000000000000000000000000000000815260040161065f9190611773565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886106968c610cc5565b896040516020016106ac96959493929190611bc0565b6040516020818303038152906040528051906020012090505f6106ce82610d18565b90505f6106dd82878787610d31565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461075157808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610748929190611c1f565b60405180910390fd5b61075c8a8a8a610875565b50505050505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6107f2610abf565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610862575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161085991906119ee565b60405180910390fd5b61086b81610b46565b50565b5f33905090565b6108828383836001610d5f565b505050565b5f6108928484610768565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146109135781811015610904578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016108fb93929190611c46565b60405180910390fd5b61091284848484035f610d5f565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610989575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161098091906119ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109f9575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016109f091906119ee565b60405180910390fd5b610a04838383610f2e565b505050565b5f7f00000000000000000000000066bff695f3b16a824869a8018a3a6e368524126973ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610a8457507f000000000000000000000000000000000000000000000000000000000000000146145b15610ab1577f7b0c399bf5615b274634a1d3bd056e5e33e5631cb976c59b00b92f91de6631c89050610abc565b610ab9611147565b90505b90565b610ac761086e565b73ffffffffffffffffffffffffffffffffffffffff16610ae5610549565b73ffffffffffffffffffffffffffffffffffffffff1614610b4457610b0861086e565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610b3b91906119ee565b60405180910390fd5b565b5f60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060610c8560057f42726574740000000000000000000000000000000000000000000000000000056111dc90919063ffffffff16565b905090565b6060610cc060067f31000000000000000000000000000000000000000000000000000000000000016111dc90919063ffffffff16565b905090565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f610d2a610d24610a09565b83611289565b9050919050565b5f805f80610d41888888886112c9565b925092509250610d5182826113b0565b829350505050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610dcf575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401610dc691906119ee565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e3f575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610e3691906119ee565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610f28578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610f1f9190611773565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f7e578060025f828254610f729190611ca8565b9250508190555061104c565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611007578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610ffe93929190611c46565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611093578060025f82825403925050819055506110dd565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161113a9190611773565b60405180910390a3505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f29dc5b010c861efedf1af669282a69f15bbe85d636fd9dc0fb2b5390b2c9e0557fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016111c1959493929190611cdb565b60405160208183030381529060405280519060200120905090565b606060ff5f1b83146111f8576111f183611512565b9050611283565b81805461120490611b63565b80601f016020809104026020016040519081016040528092919081815260200182805461123090611b63565b801561127b5780601f106112525761010080835404028352916020019161127b565b820191905f5260205f20905b81548152906001019060200180831161125e57829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115611305575f6003859250925092506113a6565b5f6001888888886040515f81526020016040526040516113289493929190611d2c565b6020604051602081039080840390855afa158015611348573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611399575f60015f801b935093509350506113a6565b805f805f1b935093509350505b9450945094915050565b5f60038111156113c3576113c2611d6f565b5b8260038111156113d6576113d5611d6f565b5b031561150e57600160038111156113f0576113ef611d6f565b5b82600381111561140357611402611d6f565b5b0361143a576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561144e5761144d611d6f565b5b82600381111561146157611460611d6f565b5b036114a557805f1c6040517ffce698f700000000000000000000000000000000000000000000000000000000815260040161149c9190611773565b60405180910390fd5b6003808111156114b8576114b7611d6f565b5b8260038111156114cb576114ca611d6f565b5b0361150d57806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016115049190611828565b60405180910390fd5b5b5050565b60605f61151e83611584565b90505f602067ffffffffffffffff81111561153c5761153b611b93565b5b6040519080825280601f01601f19166020018201604052801561156e5781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f8060ff835f1c169050601f8111156115c9576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611614826115d2565b61161e81856115dc565b935061162e8185602086016115ec565b611637816115fa565b840191505092915050565b5f6020820190508181035f83015261165a818461160a565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61168f82611666565b9050919050565b61169f81611685565b81146116a9575f80fd5b50565b5f813590506116ba81611696565b92915050565b5f819050919050565b6116d2816116c0565b81146116dc575f80fd5b50565b5f813590506116ed816116c9565b92915050565b5f806040838503121561170957611708611662565b5b5f611716858286016116ac565b9250506020611727858286016116df565b9150509250929050565b5f8115159050919050565b61174581611731565b82525050565b5f60208201905061175e5f83018461173c565b92915050565b61176d816116c0565b82525050565b5f6020820190506117865f830184611764565b92915050565b5f805f606084860312156117a3576117a2611662565b5b5f6117b0868287016116ac565b93505060206117c1868287016116ac565b92505060406117d2868287016116df565b9150509250925092565b5f60ff82169050919050565b6117f1816117dc565b82525050565b5f60208201905061180a5f8301846117e8565b92915050565b5f819050919050565b61182281611810565b82525050565b5f60208201905061183b5f830184611819565b92915050565b5f6020828403121561185657611855611662565b5b5f611863848285016116ac565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6118a08161186c565b82525050565b6118af81611685565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6118e7816116c0565b82525050565b5f6118f883836118de565b60208301905092915050565b5f602082019050919050565b5f61191a826118b5565b61192481856118bf565b935061192f836118cf565b805f5b8381101561195f57815161194688826118ed565b975061195183611904565b925050600181019050611932565b5085935050505092915050565b5f60e08201905061197f5f83018a611897565b8181036020830152611991818961160a565b905081810360408301526119a5818861160a565b90506119b46060830187611764565b6119c160808301866118a6565b6119ce60a0830185611819565b81810360c08301526119e08184611910565b905098975050505050505050565b5f602082019050611a015f8301846118a6565b92915050565b611a10816117dc565b8114611a1a575f80fd5b50565b5f81359050611a2b81611a07565b92915050565b611a3a81611810565b8114611a44575f80fd5b50565b5f81359050611a5581611a31565b92915050565b5f805f805f805f60e0888a031215611a7657611a75611662565b5b5f611a838a828b016116ac565b9750506020611a948a828b016116ac565b9650506040611aa58a828b016116df565b9550506060611ab68a828b016116df565b9450506080611ac78a828b01611a1d565b93505060a0611ad88a828b01611a47565b92505060c0611ae98a828b01611a47565b91505092959891949750929550565b5f8060408385031215611b0e57611b0d611662565b5b5f611b1b858286016116ac565b9250506020611b2c858286016116ac565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611b7a57607f821691505b602082108103611b8d57611b8c611b36565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f60c082019050611bd35f830189611819565b611be060208301886118a6565b611bed60408301876118a6565b611bfa6060830186611764565b611c076080830185611764565b611c1460a0830184611764565b979650505050505050565b5f604082019050611c325f8301856118a6565b611c3f60208301846118a6565b9392505050565b5f606082019050611c595f8301866118a6565b611c666020830185611764565b611c736040830184611764565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611cb2826116c0565b9150611cbd836116c0565b9250828201905080821115611cd557611cd4611c7b565b5b92915050565b5f60a082019050611cee5f830188611819565b611cfb6020830187611819565b611d086040830186611819565b611d156060830185611764565b611d2260808301846118a6565b9695505050505050565b5f608082019050611d3f5f830187611819565b611d4c60208301866117e8565b611d596040830185611819565b611d666060830184611819565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea264697066735822122074aea1fb484a6ae2420e70cc033a07d87ca4cf0187e2b27f777307358617318a64736f6c6343000819003303c28b08063160cf97a6c4482529598ebda1c79ae0155b05357e5acd9739fdb692032b9c3470f4c13adae35e03517e646a0083760a46b6296991500fa9d78732cae103d1ff2d45119986cd3f6ccc4248346418fa15032fce9a6441e127cb6baa234fc803880f080e343d1713cb6df76015d9d63c34287673dd46e2b9028aa0877783f75803f33beb60272194adc7fb9b22793053a47e16200422d8eddf7a1cb6dbafb784dc0306ef30f1e238c5181dd9add06b0a14c40bcbc34c2f85c97528c7c17c39b11cd103a9840bf656e265f42656038ccc494358d01d47486792b1305cd10b1c4bc1786503ce6a386531f8df15e3f7f105dac1050f953769dde5ba4cfd69c3000c2098b5f103995896ecbd9420465d1284dc3c22a5ace456c68a97ca34b5f4fd021cfb5cd9630343d55114dee3ff2a38e58a527721f327ec19b33f3c6730f59a320b0f26b5524c03e7613042383b76e4f6ab54e5069e37028dd91e3759f39dc2cc293437f3b95fde03a7dd6ac322c7b4ca719c6840e3727380d3714278012b01b443de1b78ca0204dd03ce6d999d0aa96c59d6048f44e48a8d02aabbcdb88ff6dd6ad7bd3e031a0e00ae035b10b8b8541d390d60edee6bd82efbaf8addf5dd0ee6e6b8ff79d14f0c58f298005820021371b7cbc707a00e9645045df24d9a5b7e30fdb3f5171d42a6a777a2bb260a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002b0cc3d0335b7ea30161c7bfb62a98a1e10386fa1cc505ed9ee6f47d7dd85294b3218a577030596ac49735e034bcd0ba8c9849dfe0b691e23fd77f3f72317532a8ee68cf86b01fafe30278474014103005820031780b067250947c6cc529ba6dc61b105b9677e647bacddaf98e06012826fe04cadfc5582e9b153b003697b7000582003197ca13d108ed35647bb533ace41e6e592ed223afba6a5a4415b5de08a0ba05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021830035fb1e0f8da0f56260d63f774f3cb514bec32082a332bd91abbe491538dcfd1c90398d07b7389992a6f259427820ded17d59774b5675a5c721e7435efef9e2a0afb005820020e56d535dac2880fdda2e47422d48a1a6bdd9aad028579f5ed4d0ad1467caa4c387efc49837a8f9922fb3426036f7e424a7921bffa409b1612773967d057cfbc5b488b9ac426441272ddd8a3a603026a2079eb7601e2f7a63511f42d628989b46327d38cfc96c39a582065a7600b03c68a591a3bf3afc70d0d5ded093ed55f37616a1ff4a5ec3414d17cdce21aa132030382b3005e47c83c555222262fd7b088155ca0744bc3e345ae6ff3de5466b9ca0058200251024c00682f488647cfce78fd58d93c3927485d18863f0b91dc84a1c35ac54c0215d887b3f3fb05a5910da103a483075ad97ee2b57728967eeb466fe26950ab53ebc2ef46ce3bcc8cabdf21c00360df9253fcaf43dfccaa13bbf52e6304e9a445d5eef83255fdf7de2fc1c2071b031bfc7266f2a427868f34589670b1af7ca94a72f2f853287e826d40529d389e6c0219ffff03396bc534e96f0f2a54acb8775a25df859d7300e91e9cb160dfca252cc06b9dfd031297af62d2a9ed95823aa4e4c1df35fd7efa40f814a489c843bb45347a9cc0d50219ffff05581d02f8e34d0e6e9070ac7bb4a4aa6ceb14295d9004a29bb667985939bd580701191dd20219088105581e03cc1afb5c5df12c7e53427ceff68f4677dfbb53af68abd8effbd02c3c10040105581e035aea8bf237c862977ae4800c35ddeb551bcaf2818df02ac9fb0277d3b00c024675a8549841e005581e03bfa3d58a20b8a80d65e9cc8deff2199e5c5d7d5762334e69ce22a4795004030219d5eb035565c6f1614f461c3c6d796c0cc9d987fc4ca56b5d759a1a87d80be7dc8ea2bb0219ffff0219ffff0219ffff03d4fb80263358ba4683bd912f29ad54c3f603f6a84aaf9c390ab3c92e1fbfb9de0219ffff03778408aad98010c00d11c777dda71cc7edf3b2d87a064fc489f7c9d8405a615903a329689ee3aa08a8a231c05946c260bf992bca57d22392914a302f2aa1c92710036a7b8ce0ae4bd0057493709cb0c43b2302ee5fd9bd508380669b826a2253fbdb03623e4d13bf73ddb076e4345309077c8bd391dfe39beef4b6e2e453befa014fbf03dd1a7f4e720467239e62ecf5eb99b2009658a79b4363b5e4a00dc2c85c2efee3034ba35356374aa89ee32f3972b9b6fa88f33741458273f61580c30ecef901af8b030bb72127ec94d03409b90783e6fa47503b600dc71427091c01ea7842bc5df67603d4574d55a500e847337bf9c0d490479ae0ad10ab85aec569ce3d9bec2aec51390345910d24c245c2fa5941b43c9d4e97ee9cc7e395bb980dcb276607eb38d3c94e03eabdf36c83ed1af4eaa379b71615ca3391d92fe88b9de98258d2cf8923c1359303d7c79318de7bfd9dc38a39bfe88db187e6829f9450c60997bff221bc882e48f7032e046037e49cf825947ace8129b921410aca8c61633bff72b5ac02b67525b9a90311c9e4f53501c26e64cdef85578745d676ce549653b35b764b9486eca083372803a18b23f289a43a97a70c1e6198316e6ada7c9c43d05082c8338adbd65bd6341303c5f6f650a0d5669ce400801bc6671aa7a4fa09d5ffc47077e5c6ef6846c5812f031cfaeec5f4d273971390b860fdfb3d773972cac7dc0ba0bfe5dbfc3efc18c3d4034fb38bbb51f5d682ac113e954a7a01c257f83c4350ef6272d90e81ab657ecba10352a6272ee0688944636a4e423a8a9fe61e5dd77880ab1f1c6437b38f35dfe00f035bf52edaae775e512bc5b83d9c5f1aef59da6726139dbdc762c662b28f8c21420332375b3885f6cbfe35c96ac25fa8cc501fa9b378e7b2aa372940f693ebb89bb6032cb713b5d12d6b2abf1df0c58850e39bb569c0aedeb359c8a74ad5642e1b766803490a1a40e222049bd47eaec9f513f32d01621bbaac763e45047e43ca6ff8789f0376af6550fdb3c94cf1d428daf7758296da7371d9229328a5441286d00e4d2700033f836af3468f3bdfd229f10e83aa6be65a61e1a97a82a6ce254b220d0863f115030c0d0f7dd9bd48cf319c74ca6a84be77ca701874244ed75b09d011589212bc8e0317246705c6a905629df619653f682f8d2a0c64c102d1ef53db8ccd6d4678c21203f9e9f51d17a4960c363c9f791f11def3bc49d05a4e401a4cc1415867f7802302034ac6abc1b6b528b43fee485c2e9a32b14d0d4b71ee3c9b29a9eac66a427f6f7a0304f0127f233e6733d3952653cbf7aa99db085c85064572f9f21c4285b1e6f083037a70d90b1f2bdd193daf876701d85cf14f9560234aefc97e2980cc8e5aa701b203d4ea00deba17b3f1d759bfd326f9eb8c599d0a29c13786cc07a77e7b14955c84033b54dfbd5188d60ba294da539a62f8dc4182d9c061d786a1807c966cd90b0edd0327db66508bee3736b3bf91aed7ffa7b7ccb272e972f0e69d022c8f179aea86e203789950df7a8e6de4d7e7b62851bd2adfb21933db74e518748c5f4663e2707cc103d7399491e13fc72954e41bee7d3a43417774c1ae89919f0265952276775bc37c0317f79816c7a39ec28717ec2d70b77d0f4a03d7bd7c03c54d87ba4705bdc6c6cf03aea21cfd12a64f68995f5be79e06dd9dd16ca4fbe5f620cbd65c9d00803eaac303259309b0565ac67de4118afcaf9414cbd6186d61735c94f4468557eb9be8c1e005581e0346303183fcfe9ee44519adad450980ea9186b0b9440ca72dfe3e22bdb0040103c95e745ac809b0d9a51e348b6a5224df375e87ad0160907aa905bf5509172068034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03b07797e87efc2eaf9ecce2f64c8fa20456f28a6131b9fdc506ca8ef8b007011bffffffffffffffff05581e0392c8fab96282cfeeb373b56cf1c5f6ba7d467dda772ead6cb0fb8f9e500c03470f350ed762078005581e039cd7ae043992158623e77fcb500523786b3d1b644d3a338b2f5eed0590041405581d024028fdca6353dc20cdad89963e1865bb253d60ba3550b52e65e00233040703562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02f35528fc906e34d64f6c13e49679d19ec67d2951061b3253646be4a107011bffffffffffffffff04594cd1608060405234801561001057600080fd5b50600436106104a75760003560e01c80636b3e60a11161026b578063b88a802f11610150578063e417be1a116100c8578063f2824b5311610097578063f6d3e1971161007c578063f6d3e197146109cc578063fab728fb146109ec578063fccc2813146109ff57600080fd5b8063f2824b5314610993578063f2fde38b146109b957600080fd5b8063e417be1a1461090a578063e8a3d4851461092a578063e985e9c514610932578063ec1260e01461096e57600080fd5b8063c87b56dd1161011f578063dbddb26a11610104578063dbddb26a146108cc578063de6a06ed146108d4578063e1611f41146108e757600080fd5b8063c87b56dd146108b1578063ceaebb03146108c457600080fd5b8063b88a802f14610870578063b88d4fde14610878578063c2ca0ac51461088b578063c39cbef11461089e57600080fd5b80638fa988e0116101e357806395c7f01a116101b2578063a22cb46511610197578063a22cb46514610832578063a90005ed14610845578063b5a1a60d1461085857600080fd5b806395c7f01a1461081757806395d89b411461082a57600080fd5b80638fa988e0146107d5578063938e3d7b146107e857806394e1c022146107fb578063955904261461080457600080fd5b806372d25f3a1161023a57806385f731491161021f57806385f731491461079e5780638b6fe970146107bb5780638da5cb5b146107c457600080fd5b806372d25f3a1461078c5780637f3a44c71461079557600080fd5b80636b3e60a1146107555780636cf01c691461075e57806370a0823114610771578063715018a61461078457600080fd5b80634025feb21161039157806354816d2f1161030957806363997114116102d857806368b85fb1116102bd57806368b85fb1146107315780636971ee371461073957806369ec99821461074257600080fd5b806363997114146107155780636411140a1461072857600080fd5b806354816d2f146106d35780635cb26e6c146106dc5780636301e0c4146106ef5780636352211e1461070257600080fd5b8063456459dc116103605780634ee9cc82116103455780634ee9cc821461068a5780634f1ad257146106aa57806352b9421b146106b357600080fd5b8063456459dc146106645780634782f7791461067757600080fd5b80634025feb21461061857806342842e0e1461062b57806344004cc11461063e578063454b06081461065157600080fd5b806323b872dd1161042457806338fff088116103f35780633a7fa345116103d85780633a7fa345146105fe5780633bd0a457146106075780633f3272751461060f57600080fd5b806338fff088146105c557806339a0c6f9146105eb57600080fd5b806323b872dd1461058257806326a83456146105955780632f75d550146105a95780632ff3d10f146105bc57600080fd5b8063081812fc1161047b5780630dbdca96116104605780630dbdca96146105535780631dcea4271461055c5780631e30397f1461056f57600080fd5b8063081812fc1461052b578063095ea7b31461053e57600080fd5b8062182f4c146104ac57806301ffc9a7146104dc57806304c99353146104ff57806306fdde0314610516575b600080fd5b60cf546104bf906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6104ef6104ea366004614792565b610a08565b60405190151581526020016104d3565b61050860d75481565b6040519081526020016104d3565b61051e610a19565b6040516104d39190614a66565b6104bf6105393660046148ef565b610aab565b61055161054c3660046146f4565b610b56565b005b61050860db5481565b60d5546104bf906001600160a01b031681565b6104ef61057d3660046147ca565b610c88565b61055161059036600461460a565b610e48565b6105086105a33660046148ef565b60601c90565b6105086105b73660046148ef565b610ecf565b61050860d35481565b60e2546104ef907501000000000000000000000000000000000000000000900460ff1681565b6105516105f93660046147ca565b610f35565b61050860da5481565b610551610fa6565b61050860d25481565b61055161062636600461460a565b6111a5565b61055161063936600461460a565b61128b565b61055161064c36600461460a565b6112a6565b61055161065f3660046148ef565b61139b565b61055161067236600461494c565b61155b565b6105516106853660046145a7565b6115c0565b61050861069836600461458b565b60ce6020526000908152604090205481565b61050860dc5481565b6105086106c136600461458b565b60cc6020526000908152604090205481565b61050860de5481565b6105516106ea36600461494c565b611650565b6105516106fd36600461458b565b6116b5565b6104bf6107103660046148ef565b611749565b61055161072336600461458b565b6117d4565b61050860d05481565b610551611868565b61050860dd5481565b6105516107503660046148ef565b611929565b61050860d95481565b61055161076c36600461458b565b611988565b61050861077f36600461458b565b611a1c565b610551611ab6565b61050860d65481565b61050860d85481565b6105086107ac3660046148ef565b60281c66ffffffffffffff1690565b61050860d15481565b6097546001600160a01b03166104bf565b6105086107e33660046146f4565b611b1c565b6105516107f63660046147ca565b611b52565b61050860d45481565b6105516108123660046147fd565b611bbf565b610551610825366004614706565b611d8f565b61051e611e59565b6105516108403660046146c7565b611e68565b61055161085336600461494c565b611f4b565b6105086108663660046148ef565b64ffffffffff1690565b610551611fb0565b61055161088636600461464a565b612063565b6105516108993660046148ef565b6120eb565b6105516108ac366004614907565b61225d565b61051e6108bf3660046148ef565b6124df565b6105516125c7565b61051e612716565b6105516108e2366004614907565b6127a4565b6104ef6108f53660046148ef565b60ca6020526000908152604090205460ff1681565b61050861091836600461458b565b60cd6020526000908152604090205481565b61051e6128c7565b6104ef6109403660046145d2565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b60e2546104ef9074010000000000000000000000000000000000000000900460ff1681565b6109a66109a13660046148ef565b6128d6565b6040516104d39796959493929190614a79565b6105516109c736600461458b565b612a33565b6105086109da36600461458b565b60cb6020526000908152604090205481565b6105516109fa3660046148ef565b612b12565b6104bf61dead81565b6000610a1382612d48565b92915050565b606060658054610a2890614baa565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5490614baa565b8015610aa15780601f10610a7657610100808354040283529160200191610aa1565b820191906000526020600020905b815481529060010190602001808311610a8457829003601f168201915b5050505050905090565b6000818152606760205260408120546001600160a01b0316610b3a5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e000000000000000000000000000000000000000060648201526084015b60405180910390fd5b506000908152606960205260409020546001600160a01b031690565b6000610b6182611749565b9050806001600160a01b0316836001600160a01b03161415610beb5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610b31565b336001600160a01b0382161480610c075750610c078133610940565b610c795760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610b31565b610c838383612e2b565b505050565b600080829050600181511015610ca15750600092915050565b601e81511115610cb45750600092915050565b60005b8151811015610e3e576000828281518110610ce257634e487b7160e01b600052603260045260246000fd5b01602001517fff000000000000000000000000000000000000000000000000000000000000001690507f41000000000000000000000000000000000000000000000000000000000000008110801590610d7d57507f5a000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000821611155b158015610e1b57507f61000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000821610801590610e1957507f7a000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000821611155b155b15610e2b57506000949350505050565b5080610e3681614be5565b915050610cb7565b5060019392505050565b610e523382612eb1565b610ec45760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f7665640000000000000000000000000000006064820152608401610b31565b610c83838383612fb9565b6000610edb8260601c90565b731605a306502bd0c3e9ade8e1afff2809b4c237ed14610efd57506000919050565b64ffffffffff8216600114610f1457506000919050565b66ffffffffffffff602883901c166107fd811115610a135750600092915050565b6097546001600160a01b03163314610f8f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b8051610fa29060df90602084019061442f565b5050565b6097546001600160a01b031633146110005760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b6361e0bd0042116110535760405162461bcd60e51b815260206004820152600260248201527f30330000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b60e2547501000000000000000000000000000000000000000000900460ff16156110bf5760405162461bcd60e51b815260206004820152600260248201527f30340000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b60e280547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16750100000000000000000000000000000000000000000017905560d5546001600160a01b03166340c10f196111226097546001600160a01b031690565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015269043c33c19375648000006024820152604401600060405180830381600087803b15801561118b57600080fd5b505af115801561119f573d6000803e3d6000fd5b50505050565b6097546001600160a01b031633146111ff5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b60e2546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152838216602482015260448101839052908416906323b872dd90606401600060405180830381600087803b15801561126e57600080fd5b505af1158015611282573d6000803e3d6000fd5b50505050505050565b610c8383838360405180602001604052806000815250612063565b6097546001600160a01b031633146113005760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b15801561136357600080fd5b505af1158015611377573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119f9190614776565b60006113a682610ecf565b9050600081116113f85760405162461bcd60e51b815260206004820152600260248201527f39310000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b60cf546064821115906001600160a01b031663f242432a336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015261dead6024820152604481018690526001606482015260a06084820152600060a482015260c401600060405180830381600087803b15801561148d57600080fd5b505af11580156114a1573d6000803e3d6000fd5b5050505060db54826114b39190614acd565b915080156115025760006114cc60d8544260d9546131a9565b905060d654816114dc9190614b2a565b33600090815260cb6020526040812080549091906114fb908490614acd565b9091555050505b61152633600085815260ca6020526040812054859190859060019060ff16836131db565b506040518290849033907fd44a6dd2bfac4f6bc02d116d96aa12c24e8580626b95cb6a2f543f18cb61bd4c90600090a4505050565b6097546001600160a01b031633146115b55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b60d69190915560d755565b6097546001600160a01b0316331461161a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610c83573d6000803e3d6000fd5b6097546001600160a01b031633146116aa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b60d09190915560d155565b6097546001600160a01b0316331461170f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b60cf80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6000818152606760205260408120546001600160a01b031680610a135760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201527f656e7420746f6b656e00000000000000000000000000000000000000000000006064820152608401610b31565b6097546001600160a01b0316331461182e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b60e280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b33600090815260cd6020526040902054600211156118c85760405162461bcd60e51b815260206004820152600260248201527f34310000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b6118d360d054613375565b60006118f63360dd5460dc546118e99190614acd565b60016000806000806131db565b604051909150819033907fd5859f7b34c949fe46d0343d829c412a548f201375e0d2e6da15aa44aa5c41ad90600090a350565b6097546001600160a01b031633146119835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b60d455565b6097546001600160a01b031633146119e25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b60d580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b60006001600160a01b038216611a9a5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610b31565b506001600160a01b031660009081526068602052604090205490565b6097546001600160a01b03163314611b105760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b611b1a600061346d565b565b6000611b2883836134d7565b6001600160a01b038416600090815260cb6020526040902054611b4b9190614acd565b9392505050565b6097546001600160a01b03163314611bac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b8051610fa29060e090602084019061442f565b600054610100900460ff1680611bd8575060005460ff16155b611c4a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610b31565b600054610100900460ff16158015611c6c576000805461ffff19166101011790555b611c768b8b61360c565b611c7e6136e9565b600060dd5561177060de55621e8c5160dc556215336c60db55686c6b935b8bbd40000060d081905560d155680ad78ebc5ac620000060d281905560d355611cd1620151806801158e460913d00000614b0a565b60d655611ce962015180674563918244f40000614b0a565b60d7558451611cff9060df90602088019061442f565b5060d489905560d888905560d987905560da86905560d580546001600160a01b038087167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560cf8054928616929091169190911790558151611d6f9060e090602085019061442f565b508015611d82576000805461ff00191690555b5050505050505050505050565b6097546001600160a01b03163314611de95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b60005b81811015610c8357600160ca6000858585818110611e1a57634e487b7160e01b600052603260045260246000fd5b90506020020135815260200190815260200160002060006101000a81548160ff0219169083151502179055508080611e5190614be5565b915050611dec565b606060668054610a2890614baa565b6001600160a01b038216331415611ec15760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610b31565b336000818152606a602090815260408083206001600160a01b0387168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6097546001600160a01b03163314611fa55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b60d29190915560d355565b611fbb335b426137ba565b33600090815260cb60205260408120805491905580156120605760d5546001600160a01b03166340c10f19336040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b15801561204757600080fd5b505af115801561205b573d6000803e3d6000fd5b505050505b50565b61206d3383612eb1565b6120df5760405162461bcd60e51b815260206004820152603160248201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60448201527f776e6572206e6f7220617070726f7665640000000000000000000000000000006064820152608401610b31565b61119f8484848461383e565b336120f582611749565b6001600160a01b03161461214b5760405162461bcd60e51b815260206004820152600260248201527f36310000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b600081815260c960205260409020600281015460ff1615156001146121b25760405162461bcd60e51b815260206004820152600260248201527f36320000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b60d4544210156122045760405162461bcd60e51b815260206004820152600260248201527f36330000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b6002810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560405182907f1747b48b6ade85d7dc97c0f523e0e780795930a468c01b18a51546791fdd3ac090600090a25050565b3361226783611749565b6001600160a01b0316146122bd5760405162461bcd60e51b815260206004820152600260248201527f37310000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b600082815260c9602052604090206002015460ff161561231f5760405162461bcd60e51b815260206004820152600260248201527f37320000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b61232881610c88565b6123745760405162461bcd60e51b815260206004820152600260248201527f37330000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b61237d816138c7565b156123ca5760405162461bcd60e51b815260206004820152600260248201527f37350000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b6123d560d254613375565b600082815260c960205260409020805461247891906123f390614baa565b80601f016020809104026020016040519081016040528092919081815260200182805461241f90614baa565b801561246c5780601f106124415761010080835404028352916020019161246c565b820191906000526020600020905b81548152906001019060200180831161244f57829003601f168201915b505050505060006138fa565b6124838160016138fa565b600082815260c96020908152604090912082516124a29284019061442f565b50817f355e6037a3f9c646870e44d77364164d02ab85580efdbb66363b503c3a25f5af826040516124d39190614a66565b60405180910390a25050565b6000818152606760205260409020546060906001600160a01b031661256c5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201527f6e6578697374656e7420746f6b656e00000000000000000000000000000000006064820152608401610b31565b6000612576613955565b905060008151116125965760405180602001604052806000815250611b4b565b806125a084613964565b6040516020016125b19291906149d3565b6040516020818303038152906040529392505050565b6097546001600160a01b031633146126215760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b60e280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790554260d455683635c9adc5dea0000060d081905560d15560005b60dd548110156120605760008160dc546126939190614acd565b9050600081621e8c5314156126bd57507320e400c31262cb6d898c3891a44a0a6b362c26f76126c9565b6126c682611749565b90505b6001600160a01b038116600090815260cb602052604081208054683635c9adc5dea0000092906126fa908490614acd565b925050819055505050808061270e90614be5565b915050612679565b60df805461272390614baa565b80601f016020809104026020016040519081016040528092919081815260200182805461274f90614baa565b801561279c5780601f106127715761010080835404028352916020019161279c565b820191906000526020600020905b81548152906001019060200180831161277f57829003601f168201915b505050505081565b336127ae83611749565b6001600160a01b0316146128045760405162461bcd60e51b815260206004820152600260248201527f38310000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b600082815260c9602052604090206002015460ff16156128665760405162461bcd60e51b815260206004820152600260248201527f38320000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b600082815260c960209081526040909120825161288b9260019092019184019061442f565b5061289760d354613375565b817fe72a0fdc67c78145d43ca3ff95dee8fbcb620d013214e0c88e1039c9e6eed65f826040516124d39190614a66565b606060e08054610a2890614baa565b60c9602052600090815260409020805481906128f190614baa565b80601f016020809104026020016040519081016040528092919081815260200182805461291d90614baa565b801561296a5780601f1061293f5761010080835404028352916020019161296a565b820191906000526020600020905b81548152906001019060200180831161294d57829003601f168201915b50505050509080600101805461297f90614baa565b80601f01602080910402602001604051908101604052809291908181526020018280546129ab90614baa565b80156129f85780601f106129cd576101008083540402835291602001916129f8565b820191906000526020600020905b8154815290600101906020018083116129db57829003601f168201915b5050506002909301549192505060ff808216916101008104821691620100008204811691630100000081048216916401000000009091041687565b6097546001600160a01b03163314612a8d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b31565b6001600160a01b038116612b095760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b31565b6120608161346d565b33612b1c82611749565b6001600160a01b031614612b725760405162461bcd60e51b815260206004820152600260248201527f35310000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b600081815260c960205260409020600281015462010000900460ff161515600114612bdf5760405162461bcd60e51b815260206004820152600260248201527f35320000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b6002810154640100000000900460ff1615612c3c5760405162461bcd60e51b815260206004820152600260248201527f35330000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b60028101546301000000900460ff161515600114612c9c5760405162461bcd60e51b815260206004820152600260248201527f35340000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b6002810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff1664010000000017905560d154612cd990613375565b6000612cfd3360dd5460dc54612cef9190614acd565b6000806000600160006131db565b905082336001600160a01b03167f06fcf597aab0a48e66c7ac47a0c6b5602f66a538ff517096d2622675955b329783604051612d3b91815260200190565b60405180910390a3505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd000000000000000000000000000000000000000000000000000000001480612ddb57507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b80610a1357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610a13565b600081815260696020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0384169081179091558190612e7882611749565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152606760205260408120546001600160a01b0316612f3b5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201527f697374656e7420746f6b656e00000000000000000000000000000000000000006064820152608401610b31565b6000612f4683611749565b9050806001600160a01b0316846001600160a01b03161480612f815750836001600160a01b0316612f7684610aab565b6001600160a01b0316145b80612fb157506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316612fcc82611749565b6001600160a01b0316146130485760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201527f73206e6f74206f776e00000000000000000000000000000000000000000000006064820152608401610b31565b6001600160a01b0382166130c35760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610b31565b6130ce838383613ad4565b6130d9600082612e2b565b6001600160a01b0383166000908152606860205260408120805460019290613102908490614b67565b90915550506001600160a01b0382166000908152606860205260408120805460019290613130908490614acd565b909155505060008181526067602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600082828111156131b75750815b8085106131c8576000915050611b4b565b6131d28582614b67565b95945050505050565b600086815260c960205260408120846132575760de5460dd54106132415760405162461bcd60e51b815260206004820152600260248201527f30310000000000000000000000000000000000000000000000000000000000006044820152606401610b31565b60dd805490600061325183614be5565b91905055505b6040805180820190915260048082527f4f6f676100000000000000000000000000000000000000000000000000000000602090920191825261329a91839161442f565b506040805160208101918290526000908190526132bb91600184019161442f565b5060028101805461ffff191688151561ff0019161761010088151502177fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff1662010000871515027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff1617630100000086151502177fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff16640100000000851515021790556133688989613c05565b5095979650505050505050565b61337e33611fb5565b33600090815260cb602052604090205481116133be5733600090815260cb6020526040812080548392906133b3908490614b67565b909155506120609050565b33600081815260cb60205260408120805491905560d55490916001600160a01b0390911690639dc29fac906133f38486614b67565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561345157600080fd5b505af1158015613465573d6000803e3d6000fd5b505050505050565b609780546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600090815260cd602090815260408083205460cc90925282205460da548391829161350e919087906131a9565b90508260d6548261351f9190614b2a565b6135299190614b2a565b6135339083614acd565b91506002831061357c5760008361354988611a1c565b6135539190614b67565b90508060d754836135649190614b2a565b61356e9190614b2a565b6135789084614acd565b9250505b6001600160a01b038616600090815260ce602052604090205415613603576001600160a01b038616600090815260cc602052604090205460d9546135c2919087906131a9565b6001600160a01b038716600090815260ce602052604090205460d654919250906135ec9083614b2a565b6135f69190614b2a565b6136009083614acd565b91505b50949350505050565b600054610100900460ff1680613625575060005460ff16155b6136975760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610b31565b600054610100900460ff161580156136b9576000805461ffff19166101011790555b6136c1613c1f565b6136c9613c1f565b6136d38383613cdf565b8015610c83576000805461ff0019169055505050565b600054610100900460ff1680613702575060005460ff16155b6137745760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610b31565b600054610100900460ff16158015613796576000805461ffff19166101011790555b61379e613c1f565b6137a6613dca565b8015612060576000805461ff001916905550565b6001600160a01b0382166137cc575050565b6001600160a01b038216600090815260cd602052604090205415613822576137f482826134d7565b6001600160a01b038316600090815260cb60205260408120805490919061381c908490614acd565b90915550505b6001600160a01b03909116600090815260cc6020526040902055565b613849848484612fb9565b61385584848484613e80565b61119f5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b31565b600060e16138d48361404b565b6040516138e191906149b7565b9081526040519081900360200190205460ff1692915050565b8060e16139068461404b565b60405161391391906149b7565b90815260405190819003602001902080549115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009092169190911790555050565b606060df8054610a2890614baa565b6060816139a457505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156139ce57806139b881614be5565b91506139c79050600a83614b0a565b91506139a8565b60008167ffffffffffffffff8111156139f757634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015613a21576020820181803683370190505b509050815b851561360357613a37600182614b67565b90506000613a46600a88614b0a565b613a5190600a614b2a565b613a5b9088614b67565b613a66906030614ae5565b905060008160f81b905080848481518110613a9157634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350613acb600a89614b0a565b97505050613a26565b600081815260c960205260409020613aec84426137ba565b613af683426137ba565b600281015460ff61010090910416151560011415613b7b576001600160a01b03841615613b4c576001600160a01b038416600090815260ce60205260408120805460019290613b46908490614b67565b90915550505b6001600160a01b038316600090815260ce60205260408120805460019290613b75908490614acd565b90915550505b600281015462010000900460ff1615156001141561119f576001600160a01b03841615613bd1576001600160a01b038416600090815260cd60205260408120805460019290613bcb908490614b67565b90915550505b6001600160a01b038316600090815260cd60205260408120805460019290613bfa908490614acd565b909155505050505050565b610fa2828260405180602001604052806000815250614240565b600054610100900460ff1680613c38575060005460ff16155b613caa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610b31565b600054610100900460ff161580156137a6576000805461ffff19166101011790558015612060576000805461ff001916905550565b600054610100900460ff1680613cf8575060005460ff16155b613d6a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610b31565b600054610100900460ff16158015613d8c576000805461ffff19166101011790555b8251613d9f90606590602086019061442f565b508151613db390606690602085019061442f565b508015610c83576000805461ff0019169055505050565b600054610100900460ff1680613de3575060005460ff16155b613e555760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610b31565b600054610100900460ff16158015613e77576000805461ffff19166101011790555b6137a63361346d565b60006001600160a01b0384163b15614040576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a0290613edd903390899088908890600401614a2a565b602060405180830381600087803b158015613ef757600080fd5b505af1925050508015613f45575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252613f42918101906147ae565b60015b613ff5573d808015613f73576040519150601f19603f3d011682016040523d82523d6000602084013e613f78565b606091505b508051613fed5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b31565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050612fb1565b506001949350505050565b606060008290506000815167ffffffffffffffff81111561407c57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156140a6576020820181803683370190505b50905060005b82518110156142385760418382815181106140d757634e487b7160e01b600052603260045260246000fd5b016020015160f81c108015906141155750605a83828151811061410a57634e487b7160e01b600052603260045260246000fd5b016020015160f81c11155b156141ab5782818151811061413a57634e487b7160e01b600052603260045260246000fd5b602001015160f81c60f81b60f81c60206141549190614ae5565b60f81b82828151811061417757634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350614226565b8281815181106141cb57634e487b7160e01b600052603260045260246000fd5b602001015160f81c60f81b8282815181106141f657634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b8061423081614be5565b9150506140ac565b509392505050565b61424a83836142c9565b6142576000848484613e80565b610c835760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b31565b6001600160a01b03821661431f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610b31565b6000818152606760205260409020546001600160a01b0316156143845760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b31565b61439060008383613ad4565b6001600160a01b03821660009081526068602052604081208054600192906143b9908490614acd565b909155505060008181526067602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b82805461443b90614baa565b90600052602060002090601f01602090048101928261445d57600085556144a3565b82601f1061447657805160ff19168380011785556144a3565b828001600101855582156144a3579182015b828111156144a3578251825591602001919060010190614488565b506144af9291506144b3565b5090565b5b808211156144af57600081556001016144b4565b600067ffffffffffffffff808411156144e3576144e3614c34565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190828211818310171561452957614529614c34565b8160405280935085815286868601111561454257600080fd5b858560208301376000602087830101525050509392505050565b803561456781614c4a565b919050565b600082601f83011261457c578081fd5b611b4b838335602085016144c8565b60006020828403121561459c578081fd5b8135611b4b81614c4a565b600080604083850312156145b9578081fd5b82356145c481614c4a565b946020939093013593505050565b600080604083850312156145e4578182fd5b82356145ef81614c4a565b915060208301356145ff81614c4a565b809150509250929050565b60008060006060848603121561461e578081fd5b833561462981614c4a565b9250602084013561463981614c4a565b929592945050506040919091013590565b6000806000806080858703121561465f578081fd5b843561466a81614c4a565b9350602085013561467a81614c4a565b925060408501359150606085013567ffffffffffffffff81111561469c578182fd5b8501601f810187136146ac578182fd5b6146bb878235602084016144c8565b91505092959194509250565b600080604083850312156146d9578182fd5b82356146e481614c4a565b915060208301356145ff81614c5f565b600080604083850312156145b9578182fd5b60008060208385031215614718578182fd5b823567ffffffffffffffff8082111561472f578384fd5b818501915085601f830112614742578384fd5b813581811115614750578485fd5b8660208260051b8501011115614764578485fd5b60209290920196919550909350505050565b600060208284031215614787578081fd5b8151611b4b81614c5f565b6000602082840312156147a3578081fd5b8135611b4b81614c6d565b6000602082840312156147bf578081fd5b8151611b4b81614c6d565b6000602082840312156147db578081fd5b813567ffffffffffffffff8111156147f1578182fd5b612fb18482850161456c565b6000806000806000806000806000806101408b8d03121561481c578788fd5b8a3567ffffffffffffffff8082111561483357898afd5b61483f8e838f0161456c565b9b5060208d013591508082111561485457898afd5b6148608e838f0161456c565b9a5060408d0135995060608d0135985060808d0135975060a08d0135965060c08d0135915080821115614891578586fd5b61489d8e838f0161456c565b95506148ab60e08e0161455c565b94506148ba6101008e0161455c565b93506101208d01359150808211156148d0578283fd5b506148dd8d828e0161456c565b9150509295989b9194979a5092959850565b600060208284031215614900578081fd5b5035919050565b60008060408385031215614919578182fd5b82359150602083013567ffffffffffffffff811115614936578182fd5b6149428582860161456c565b9150509250929050565b6000806040838503121561495e578182fd5b50508035926020909101359150565b60008151808452614985816020860160208601614b7e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082516149c9818460208701614b7e565b9190910192915050565b600083516149e5818460208801614b7e565b8351908301906149f9818360208801614b7e565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000009101908152600501949350505050565b60006001600160a01b03808716835280861660208401525083604083015260806060830152614a5c608083018461496d565b9695505050505050565b602081526000611b4b602083018461496d565b60e081526000614a8c60e083018a61496d565b8281036020840152614a9e818a61496d565b9715156040840152505093151560608501529115156080840152151560a0830152151560c09091015292915050565b60008219821115614ae057614ae0614c1e565b500190565b600060ff821660ff84168060ff03821115614b0257614b02614c1e565b019392505050565b600082614b2557634e487b7160e01b81526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614b6257614b62614c1e565b500290565b600082821015614b7957614b79614c1e565b500390565b60005b83811015614b99578181015183820152602001614b81565b8381111561119f5750506000910152565b600181811c90821680614bbe57607f821691505b60208210811415614bdf57634e487b7160e01b600052602260045260246000fd5b50919050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614c1757614c17614c1e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461206057600080fd5b801515811461206057600080fd5b7fffffffff000000000000000000000000000000000000000000000000000000008116811461206057600080fdfea2646970667358221220ab3fb4019c30dd611d61dd5267407e6bfc92541ec84c0aa2d94b520416dc734564736f6c634300080400330605581d02d1f68bf787d927f306c2cb4ad69f59f3d036730b1fbc2d4195ffe90e0701194cd105581d02586c46d15209009781c283d8679ff0bc921ade67052c4e3ff6fc76d5040202190950035b55bca5e0ee3c40077396c0e6cfe1c959ccb7c5005ffd3ab9971f89608cd95203f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03de50c937587130cb5fd34b39b33f9f964753648221c2233bd7774b82f007011bffffffffffffffff05581e03449e0323bb991b1aacd4c6fb73169edd1d4e2b46e46919816b218a25f00c044701880db340520005581e0326475ec3da23b236f2f97102c332dcbfd6c14a2eb184bb787672406960040103ddb77637dbf6b2916540f27d492ccf40e27df2b3c47716d05c8a2a644ecea9020219b7ff037617286de589abb284da1b2f6a5736126b2b79ea88e5a6aa3dba9c8834cd52af037b28431ede1046366a7e25b8d9908613c233c809666e4f4e322439f665808ac503f372d797ad6491a2ad82f605572ffa288f67e40415fd2d4d3b1b2603c6f739df035852bfe2c3475b7eca55e86ba7a033d97bf567e05096257a0a85a61866d2c0bc037b08f393ca884d77ecdb8432db6209f870dc70d9681698f3d6649210ea2952a6030a18cc59ddfe0c8b5adaa789a4a7ccb7cdc22d3fd0f91499e4a011db3ef86cc903d8a172e6dd7f6d9824c917af6ac5ca5972ad761c116eb7f0a6a546eaf956962803f106ca2d07264eeda5fb5f556ad98098e995c389ce0242c1664f74310bd039810219ffff03e687680791ad7195ea1d199da57889a80002786e57eb54f8edb0db27e43f06c00313b230d43b8926c80b246d767613c8bf50f08c7660a71143a2975a791aaee894037b53b098423693b3b3420a93f1be6d7b92325c2aa0453a2a5d264f3f95ffa15103cdb8758563387efa17db485442819c8b805ca4103482f4431948c6a866ddce0503b369eeb9ef7c13ac7d77aa0dd3a9b2d7e75d40885bc9345f967ca8d338029b6503b81362c6fa429f3d208b6d07d0b83b77706a03171e378af2cebcaa97b58418db0219ffff03c5f726b2a8311bdb806088192456e49594e0c4fe08b99c1933e9a5dbd0eda35b03f3f61c4139e3d63f427a5ae2324d6d2e293014949278251e86635c8870cb36ad03bb3a278fbedb62e54ab39521e2f03cb2b59a6f1188b67fd49370cf3a5173e7dd03f085155318c80360354d17c3f8394e5754003ccd0b54c01d143284b80330acbf03edd78541d8a61f362da9da0b956081940d862d3753ec85edc1a03e171e9268430330700e50d6390c6b90e5b622e206c3728f4d6dd3c532f8c6bfd3ad96c2a6af6c037956a332bd6b449f1220fe97ba4d094bd5260855bdb56634137a33ff229e1c9703eabd587f3f2718b36d122747cd5cbc65f1bd2b260cdd512f1afeb5f4c0a044b003cccb78792c6bdccd0fcd6d1aa944a8c098b481511c87d40ca854e34e5ec01bc503f9a6ae64a4dca50f5b52f6307e1485465c3232850cf1ad70f5c37d5cbb0d54ac0219ffff030362715eea2003bd0dd112e046f13b8c7aad9aa2bf96e44b07645632d46d06b70219ffff03eddc11d7f95a39b6efa12ab14c3f36a224bbd26b679cde7c2938dfbdccf86d1c0398d40f714fd3f99059ab602360c0eea3b57b5fc505b3609f6bca57ab9d6d451f036983d17f182298ceba6c9f90eb9a1f307f23affd4beb502746800392aa5c2350034a94ade15db763ac05624f499619b2c0f73d6b6670ea2cc649397143b9fda979034f10fb8ccd7caeba40a2747c568ab55780db76f2156cea9700e049f4b130f11103481e1834e371b07e6b97ca60aeedb1e18835f0a02ecda294f82c64a09ba23a8103fd0539fa9483f30b5dcb22316471bb06b70c62f96cb421780f518fa3f6e22e7503ec8142a8d1c0285743e4895227e7862bc1c1a95578922227f2d4f04a37c16fbf03c4d63ad8d05048f391cfd0ead1adeeea18941129ca8e8fd7ad3e60bcd3bcddd60329d27357a33599a04ef29213e5777c82b9c8b3f052204af4af70b0ffbb8361ec037dcddc2df9e456ff6d6a4e95a92d7ded2208af5c253435a0da912820425a8648038efccd30314f2d5452ea9d13d0d9b00ddd7158af1ceae137c9faab17e513219003528d774d442f19f7eab50bfbc6b138cb7b587b042cedabce90c303e70119ff92038e6c28011aec5874dc6aa7f8f8aee86eecf732aba450bc6e8e5e0418eff9327c0324aa228592be53dca649d687feec7c22ab0dd3be78a181306bea05edeca0042a030dd5ff0dd0b6a37fd3857b5a182aa915e6796838e022a213ec8124acd31778a503a256858613e64f8363a3cdadca79b9b1feb79d05afbe16cf2fa39691747e9b1e03370067501fe1cf31b8a7eb54c7bf650b4f21810dbb5e76df6d27dd6bc3d31218034cd5f8b5e135ea2752dbc3461d915f6a967f02d0546742f2917d97cb4543ec350380bf2ca99d07d009c2569f5dcf1211745e970a52ff628173dd03e05e5a30e7d003d93459476ab97ee75cbe38859cd44ac6753af0f103d1485425c140a93e73f62a031666314f3bee94e6759da8d2a9c94de7d793ad1f36aeacbe4ecdcc2d9c72e80003b6a4841c52a87d402f3a1a26affd67c5ebfa23b1a02a1737a4749ec643a7b69f03433431743cfc672d7ac9e46ce9db37618972c75415e464de17d129a612a30265039ce51e1e10fae690c4348135579da0a9770773d56018ab4fdcfe8c12275f1bd8030e5b3b22d99e167ab340f1f2594703e94994128bc48fb603bcba4e040c5d2cc2030d397aad4c9e9a70514656797ff708ceb9b542973eb47749fb8d992bd3c831aa03851b53047bf7cba8d10073ae99476c39e2744d5e008c8949fa95bd67b9af4c9b03f7280657ec2e3f541a4410416b003d8b0fd877eae9ffd64f40aed84367321f61039c0041203e4a28b6640f213a015a9b61d57b387f8f6b17203dbe4346d315093203b99cbf5ab09ebdeed49b37268768aaf43a7e1b9f80c700d348cc2144fa6727d103cdac04f4801979f2db421822e0d6cfbffefbf4372e742647807fe05429a198ae032c45f98b6c2809a44b1df848e5fce09025b7c8994296ec9cc506848932451d7503902389775c080ed41af23c0de25ff790f9c8191c42ac690d18de778cbce13d52039ff2da55be52616187e5a4dcfc470536091e556c2f7fdbce0278c38cce2ecc360333470930b841aff663eaa396b23997db377a26856d3f88a84e7e51554a701fc00388cd6d3ea122b5fc91cee521964ec68b6e46a3a7a203bf17c07693cae6a87b5b03c3eb8a5b4fcfeb2a3ec6489fcbcb225abe74705410315930186ef707d1a0135103ae369872fce0dfdaa4a7f422b982be51233932100fc19984b02285d6a6693719036ac39e6b8c52f382ecd9b58b04c4d44631b0ef917f3aab21039cfbcaa05f7b3c03197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e0348a42734858835c30f8d9b820e1d1c4c48aae94619f5e5f96f82b2c5f007011bffffffffffffffff05581e03f3b049b6ef2c5d7fa82c0f1c24d948e02e65e8fc8421ef1269f1b49dd00c014714d0619128fa0003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02890cb75ad0c546ed39f1ddfa7b2a4693076e906964e1463d61f0224a07011bffffffffffffffff045920ad608060405234801561001057600080fd5b50600436106101fb5760003560e01c80637b1d63181161011a578063c27025f5116100ad578063db65385d1161007c578063db65385d1461040d578063e03c863214610459578063ec1b14ab146103fa578063f46eccc41461047c578063fa188df21461049c57600080fd5b8063c27025f51461040d578063c4d66de814610420578063d547741f14610433578063da6b6a1c1461044657600080fd5b80639cb9f9d3116100e95780639cb9f9d3146103b4578063a217fddf146103df578063ac18de43146103e7578063c1590515146103fa57600080fd5b80637b1d63181461036857806391d148541461037b57806399f4ea4e1461038e5780639c6694a9146103a157600080fd5b806331ae22321161019257806357b001f91161016157806357b001f91461031a5780635853abbc1461032d57806366a980581461034257806376a67a511461035557600080fd5b806331ae2232146102ce57806336568abe146102e15780633ef84c32146102f4578063502cbce61461030757600080fd5b806319b244e5116101ce57806319b244e514610263578063248a9ca3146102765780632d06177a146102a85780632f2ff15d146102bb57600080fd5b806301ffc9a7146102005780631285391014610228578063170488471461023b5780631922cc4314610250575b600080fd5b61021361020e366004611895565b6104af565b60405190151581526020015b60405180910390f35b6102136102363660046118d4565b6104e6565b61024e61024936600461190d565b6105e9565b005b61024e61025e3660046118d4565b6106ac565b61024e61027136600461190d565b610725565b61029a61028436600461192a565b6000908152600160208190526040909120015490565b60405190815260200161021f565b61024e6102b636600461190d565b61077a565b61024e6102c9366004611943565b6107a1565b61024e6102dc3660046119f6565b6107cc565b61024e6102ef366004611943565b6108aa565b61024e6103023660046118d4565b610924565b61024e610315366004611ab5565b610a13565b61024e61032836600461190d565b610aeb565b61029a60008051602061205883398151915281565b61024e6103503660046118d4565b610b87565b61024e61036336600461190d565b610c7a565b61024e6103763660046118d4565b610cfa565b610213610389366004611943565b610da8565b61024e61039c366004611b31565b610dd3565b61024e6103af36600461190d565b610ea5565b6103c76103c236600461190d565b610f8b565b6040516001600160a01b03909116815260200161021f565b61029a600081565b61024e6103f536600461190d565b611013565b61024e610408366004611b96565b611036565b61024e61041b366004611bd7565b611108565b61024e61042e36600461190d565b61117b565b61024e610441366004611943565b6112a7565b6102136104543660046118d4565b6112cd565b61021361046736600461190d565b60056020526000908152604090205460ff1681565b61048f61048a36600461190d565b6112ef565b60405161021f9190611c2c565b61024e6104aa3660046118d4565b611313565b60006001600160e01b03198216637965db0b60e01b14806104e057506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610542575060408051601f3d908101601f1916820190925261053f91810190611c79565b60015b1561056c57836001600160a01b0316816001600160a01b03160361056a5760019150506104e0565b505b6001600160a01b03808316600090815260026020526040902054848216911614806105e257506001600160a01b0380831660009081526003602052604090205484821691161480156105e257506001600160a01b0382166000908152600460205260409020546105df9062015180611cac565b42105b9392505050565b60006105f4816113b8565b6001600160a01b0382163b61065f5760405162461bcd60e51b815260206004820152602660248201527f546f6b656e476174657761793a206f70657261746f72206973206e6f7420636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b6001600160a01b038216600081815260056020526040808220805460ff19166001179055517f58432444efbd399e25edc2cfb61441630006b8ef14456fb8961cbd71a25ae0bf9190a25050565b6000805160206120588339815191526106c4816113b8565b6040516339e6401560e11b81526001600160a01b0383811660048301528416906373cc802a906024015b600060405180830381600087803b15801561070857600080fd5b505af115801561071c573d6000803e3d6000fd5b50505050505050565b6000610730816113b8565b6001600160a01b038216600081815260056020526040808220805460ff19169055517fc46324f019c24385863a92a42f2e3290ef25abcfc5fbda98d3f4a59ec88e7a9a9190a25050565b6000610785816113b8565b61079d600080516020612058833981519152836113c5565b5050565b600082815260016020819052604090912001546107bd816113b8565b6107c783836113c5565b505050565b876107d733826104e6565b806107f157503360009081526005602052604090205460ff165b8061081957506001600160a01b03811660009081526006602052604090206108199033611430565b6108355760405162461bcd60e51b815260040161065690611cbf565b604051630fbfeffd60e11b81526001600160a01b038a1690631f7fdffa9061086d908b908b908b908b908b908b908b90600401611db0565b600060405180830381600087803b15801561088757600080fd5b505af115801561089b573d6000803e3d6000fd5b50505050505050505050505050565b6001600160a01b038116331461091a5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610656565b61079d8282611452565b8161092f33826104e6565b8061094d575061094d60008051602061205883398151915233610da8565b6109695760405162461bcd60e51b815260040161065690611e0b565b6001600160a01b0383811660008181526002602090815260409182902054915191841682529285169233917f80c3c3a17d0c44a8a62829d85f18c56abfa7374fab39ef07f3ad8646254c9dbb910160405180910390a4506001600160a01b03918216600090815260026020818152604080842080546003845282862080549189166001600160a01b0319928316179055600484529190942042905591905281541691909216179055565b85610a1e33826104e6565b80610a3857503360009081526005602052604090205460ff165b80610a6057506001600160a01b0381166000908152600660205260409020610a609033611430565b610a7c5760405162461bcd60e51b815260040161065690611cbf565b60405163731133e960e01b81526001600160a01b0388169063731133e990610ab09089908990899089908990600401611e85565b600060405180830381600087803b158015610aca57600080fd5b505af1158015610ade573d6000803e3d6000fd5b5050505050505050505050565b80610af633826104e6565b80610b145750610b1460008051602061205883398151915233610da8565b610b305760405162461bcd60e51b815260040161065690611e0b565b816001600160a01b0316633f4ba83a6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b6b57600080fd5b505af1158015610b7f573d6000803e3d6000fd5b505050505050565b6000610b92816113b8565b306001600160a01b03831603610c1b5760405162461bcd60e51b815260206004820152604260248201527f546f6b656e476174657761793a206e657720676174657761792073686f756c6460448201527f20626520646966666572656e74207468616e207468652063757272656e74206f6064820152616e6560f01b608482015260a401610656565b6001600160a01b03838116600081815260026020908152604080832080546001600160a01b0319908116909155600390925291829020805490911690555163483235a560e11b81529184166004830152906390646b4a906024016106ee565b80610c8533826104e6565b80610ca35750610ca360008051602061205883398151915233610da8565b610cbf5760405162461bcd60e51b815260040161065690611e0b565b816001600160a01b0316638456cb596040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610b6b57600080fd5b81610d0533826104e6565b80610d235750610d2360008051602061205883398151915233610da8565b610d3f5760405162461bcd60e51b815260040161065690611e0b565b6001600160a01b0383166000908152600660205260409020610d6190836114b9565b506040516001600160a01b0383811682528416907fe4a9d76045628f9aac382acca48ced14781d1e98915453a55e277233a6ff7d7c906020015b60405180910390a2505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b83610dde33826104e6565b80610df857503360009081526005602052604090205460ff165b80610e2057506001600160a01b0381166000908152600660205260409020610e209033611430565b610e3c5760405162461bcd60e51b815260040161065690611cbf565b6040516375ceb34160e01b81526001600160a01b038616906375ceb34190610e6c90879087908790600401611ebe565b600060405180830381600087803b158015610e8657600080fd5b505af1158015610e9a573d6000803e3d6000fd5b505050505050505050565b6000610eb0816113b8565b336001600160a01b03831603610f3f5760405162461bcd60e51b815260206004820152604860248201527f546f6b656e476174657761793a206e657720676174657761792061646d696e2060448201527f73686f756c6420626520646966666572656e74207468616e207468652063757260648201526772656e74206f6e6560c01b608482015260a401610656565b6040516001600160a01b0383169033907fca6f984ca02ffb677ca3bc033180d2900e749884e8851484983db749422f24ca90600090a3610f806000836113c5565b61079d600033611452565b6001600160a01b03808216600090815260026020526040812054909116806104e057826001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611007575060408051601f3d908101601f1916820190925261100491810190611c79565b60015b156104e0579392505050565b600061101e816113b8565b61079d60008051602061205883398151915283611452565b8261104133826104e6565b8061105b57503360009081526005602052604090205460ff165b8061108357506001600160a01b03811660009081526006602052604090206110839033611430565b61109f5760405162461bcd60e51b815260040161065690611cbf565b6040516340c10f1960e01b81526001600160a01b038481166004830152602482018490528516906340c10f19906044015b600060405180830381600087803b1580156110ea57600080fd5b505af11580156110fe573d6000803e3d6000fd5b5050505050505050565b8261111333826104e6565b80611131575061113160008051602061205883398151915233610da8565b61114d5760405162461bcd60e51b815260040161065690611e0b565b6040516302fe530560e01b81526001600160a01b038516906302fe5305906110d09086908690600401611eec565b600054610100900460ff161580801561119b5750600054600160ff909116105b806111b55750303b1580156111b5575060005460ff166001145b6112185760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610656565b6000805460ff19166001179055801561123b576000805461ff0019166101001790555b6112466000836113c5565b61125e600080516020612058833981519152836113c5565b801561079d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b600082815260016020819052604090912001546112c3816113b8565b6107c78383611452565b6001600160a01b03821660009081526006602052604081206105e29083611430565b6001600160a01b03811660009081526006602052604090206060906104e0906114ce565b8161131e33826104e6565b8061133c575061133c60008051602061205883398151915233610da8565b6113585760405162461bcd60e51b815260040161065690611e0b565b6001600160a01b038316600090815260066020526040902061137a90836114db565b506040516001600160a01b0383811682528416907f6f839fba2116fdb1b5fd547165fb18d0065e3ac6ec8402eaf15cf1c1a61ec79290602001610d9b565b6113c281336114f0565b50565b6113cf8282610da8565b61079d5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6001600160a01b038116600090815260018301602052604081205415156105e2565b61145c8282610da8565b1561079d5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006105e2836001600160a01b038416611549565b606060006105e28361163c565b60006105e2836001600160a01b038416611698565b6114fa8282610da8565b61079d57611507816116e7565b6115128360206116f9565b604051602001611523929190611f2c565b60408051601f198184030181529082905262461bcd60e51b825261065691600401611fa1565b6000818152600183016020526040812054801561163257600061156d600183611fd4565b855490915060009061158190600190611fd4565b90508181146115e65760008660000182815481106115a1576115a1611fe7565b90600052602060002001549050808760000184815481106115c4576115c4611fe7565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115f7576115f7611ffd565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104e0565b60009150506104e0565b60608160000180548060200260200160405190810160405280929190818152602001828054801561168c57602002820191906000526020600020905b815481526020019060010190808311611678575b50505050509050919050565b60008181526001830160205260408120546116df575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104e0565b5060006104e0565b60606104e06001600160a01b03831660145b60606000611708836002612013565b611713906002611cac565b67ffffffffffffffff81111561172b5761172b61202a565b6040519080825280601f01601f191660200182016040528015611755576020820181803683370190505b509050600360fc1b8160008151811061177057611770611fe7565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061179f5761179f611fe7565b60200101906001600160f81b031916908160001a90535060006117c3846002612013565b6117ce906001611cac565b90505b6001811115611846576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061180257611802611fe7565b1a60f81b82828151811061181857611818611fe7565b60200101906001600160f81b031916908160001a90535060049490941c9361183f81612040565b90506117d1565b5083156105e25760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610656565b6000602082840312156118a757600080fd5b81356001600160e01b0319811681146105e257600080fd5b6001600160a01b03811681146113c257600080fd5b600080604083850312156118e757600080fd5b82356118f2816118bf565b91506020830135611902816118bf565b809150509250929050565b60006020828403121561191f57600080fd5b81356105e2816118bf565b60006020828403121561193c57600080fd5b5035919050565b6000806040838503121561195657600080fd5b823591506020830135611902816118bf565b60008083601f84011261197a57600080fd5b50813567ffffffffffffffff81111561199257600080fd5b6020830191508360208260051b85010111156119ad57600080fd5b9250929050565b60008083601f8401126119c657600080fd5b50813567ffffffffffffffff8111156119de57600080fd5b6020830191508360208285010111156119ad57600080fd5b60008060008060008060008060a0898b031215611a1257600080fd5b8835611a1d816118bf565b97506020890135611a2d816118bf565b9650604089013567ffffffffffffffff80821115611a4a57600080fd5b611a568c838d01611968565b909850965060608b0135915080821115611a6f57600080fd5b611a7b8c838d01611968565b909650945060808b0135915080821115611a9457600080fd5b50611aa18b828c016119b4565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611ace57600080fd5b8635611ad9816118bf565b95506020870135611ae9816118bf565b94506040870135935060608701359250608087013567ffffffffffffffff811115611b1357600080fd5b611b1f89828a016119b4565b979a9699509497509295939492505050565b60008060008060608587031215611b4757600080fd5b8435611b52816118bf565b93506020850135611b62816118bf565b9250604085013567ffffffffffffffff811115611b7e57600080fd5b611b8a87828801611968565b95989497509550505050565b600080600060608486031215611bab57600080fd5b8335611bb6816118bf565b92506020840135611bc6816118bf565b929592945050506040919091013590565b600080600060408486031215611bec57600080fd5b8335611bf7816118bf565b9250602084013567ffffffffffffffff811115611c1357600080fd5b611c1f868287016119b4565b9497909650939450505050565b6020808252825182820181905260009190848201906040850190845b81811015611c6d5783516001600160a01b031683529284019291840191600101611c48565b50909695505050505050565b600060208284031215611c8b57600080fd5b81516105e2816118bf565b634e487b7160e01b600052601160045260246000fd5b808201808211156104e0576104e0611c96565b6020808252606a908201527f546f6b656e476174657761793a2063616c6c6572206973206e6f74206d616e6160408201527f676572206f662074686520746f6b656e20636f6e747261637420616e6420697360608201527f206e6f7420696e2077686974656c69737420616e64206973206e6f7420696e206080820152691b5a5b9d195c881cd95d60b21b60a082015260c00190565b81835260006001600160fb1b03831115611d6e57600080fd5b8260051b80836020870137939093016020019392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0388168152608060208201819052600090611dd5908301888a611d55565b8281036040840152611de8818789611d55565b90508281036060840152611dfd818587611d87565b9a9950505050505050505050565b60208082526054908201527f546f6b656e476174657761793a2063616c6c6572206973206e6f74206d616e6160408201527f676572206f662074686520746f6b656e20636f6e747261637420616e64206973606082015273103737ba1033b0ba32bbb0bc9036b0b730b3b2b960611b608082015260a00190565b60018060a01b0386168152846020820152836040820152608060608201526000611eb3608083018486611d87565b979650505050505050565b6001600160a01b0384168152604060208201819052600090611ee39083018486611d55565b95945050505050565b602081526000611f00602083018486611d87565b949350505050565b60005b83811015611f23578181015183820152602001611f0b565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611f64816017850160208801611f08565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611f95816028840160208801611f08565b01602801949350505050565b6020815260008251806020840152611fc0816040850160208701611f08565b601f01601f19169190910160400192915050565b818103818111156104e0576104e0611c96565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b80820281158282048414176104e0576104e0611c96565b634e487b7160e01b600052604160045260246000fd5b60008161204f5761204f611c96565b50600019019056fed0b4cb1076caad28e19b79fe5cdd885b423a24c490d94dfc025bae8c26911b63a264697066735822122052cc5ecd6edc939d0b4ec33a3d8c12966e2c39c9295cd40fcfca1678c9da7d1b64736f6c634300081300330605581d02f36528a7b59e9e3c50b10012217aac7854a28674f4c71677a6c7b31407011920ad05581d029edda8eb3c3add796c71cb2f0fbf4e4d2075ffc39240cb53a59dd830040405581d027af4dd259688026c2788bdf8aacc4aed8063150a25601967293a67ed04030219841805581e0340d8e1f8245ee03f73530358a8b6f4ca8976b8ef28563a7717a8f40200040405581e0373159307d5a3a79d4cdbab78ee29394ae0317964524c0a59e5c72d958004030219a6c803711ad4b38912acfd21df83371d76d22c079c76cf7da07ef0cd08efd4586139470379517d9f34301b1e70377e1ee40873263651087746c2e3636ce9bb8eb8de2af103e9d8c120591714abed9561ba5b3213ceeb4ec2b00ac2a069955a746b0bad0d9c03c46102e97a523547d806ec15977ccedae33c08d4fc6fcce83000c64af0ba5af603bbb2ce3d5166e13da2827cf574c24042494f479241868cd629321b67491f9de40348286c894f3e9ce2fc55b5e0ef972ac9dd0f13a6f34f0da3ad9cc6b7fa3ba265031c44fdf415e964f511ff47a1858312007e030577bac28b5627f6a7a75217ac900219ffff03a3724f372415ce96afa040c6d73028812a5b4569eb1a5c8ed5ed3245abc7008a03352549fb5f0ff97ba4e40bb9c41a51a00502aeb83b614d25497a45121b091772038cd68949a084aebbe9a66130377ecfc6fb644f7c4572ddbeb797aa92161dc5e703a9e047e1463ff8cca5706a3162713efa3937a3aaaf7ea1e661b4f0fa682810b9030745ed6067756de04a15a4eae89e80e9c6997d3bbaa3ba38fbbe0d7580e4cb2f03bbe8703660d5a665b6186c10ac7a0ed12920d61790391fd25297bdce45f30e7a030ceb23996f2e783027db8bcfa8bae0eaca290d0d3e3a666ca47b8d75f23826f603281ab63c9602d6121ea642842da6f25691752468846a3daf8d845a795056f60903031bf999481dbe413e77d8edf60620093815066018dbb6844f7ac99d655f162a03195aa6f16c61b2a6a6256b1959e2317b8d9436552a9a9d5ed0aee1c969bcf76603494986fe66e1c6453520e6a2f45ce79653164680e45d9593020690e5a07b63e503a467234822e8eab1d9ef7cc8ce246984026f4fca2e4a4b43d1352637f996d3240219ffff0219ffff03eabe047fef20be68a695ab4c5ffe28822962ca12cd85c83753abe098e9386f08033e43e15022b4bf9fd64e95fc4b77aee8d1c9baf057da04feb45f070450af7ca20370e3eef21ae553bed2068b01dc62e5844a6de44d4fc79424d64a0fe03219711403949f7d748c5c93157caefe06277f168ff17587cbb47a8429a585142281a5afb4031ef4e4a8755c77ea1d65621dd726fcd6182a772d4bd8db23511dac6d2abcb463037f1a8e36a9ed4cacae4de1f6ff63aa83a93e641fcfbfb4e76ce0fb21a4a77c7103a2d8a0b8c624ff82c2c56e3529a9ee40f784b667d8c6e076475028d1f4cc5d990363cf6b699dfd30046bd56490d4e77277a0e9a4d9384a3136c737769867f2427a03e9428d2bfe7e209a8c20ba77aab10884e8affaffb08cfd13bac5010c84f0d87403c50adee073d50bfb009e684b15c6007d073d3013efc3cd83155f49e55b9c05da030d12fafc6250f4a44af880744604048566ae16e6f2078550a16328dce42ecbfa03a122b0ca960504b25596535974b21fd2e6538c406c60403ef41feab956e7139c031f840ae6e4065ea93e99aa428c1e0e8cbc4bb8a7b77acf7d2c6593bec4bfed5203ce93dfd6baad693e82913db5869bd01d92978397fedacd886c0ba69dee775b76038f75452cd8c37e8355d5d561bbbad3991098a6099dd613435c11a752e0fef01303d7bf5ee303b928758347ab14f1dbd1996624d7ce8c964fbe423e6f140b685330037dba25f1d897e23ad74f3b6d86d89da021a8d031d88146dcb439c6b557e6d38103ef43ac2eb229d37c984b4551d5bb6c3f96690ef497d530103f1b32f28bdc85c403edbf42a10da29215ed0a65141d3f173f7fa9c3e687601cc90ca50697a3bc705603e22c003d193f1e51395321bf5f90f6b266999ef827d3b1702e1d9ec0df59085503d5b37d1b112f91a5c6fc9842a1a214da2f94920770ee8dc6629a70857b2b8007031c685660fa918c47d997e9072b7f7ed12298f5026e345a871eee3030d810772a03329bf401647ad751e392236974f85c1e030a5b68af4df827ca5115f5d0ce08150344a6478193e73e0a121dc4445a197b1a70646896b0d6b5216736e6b389fad41d0366dbc0f1091f26087c534760431e91a519a6d5251800456daf4cb97c6c28c7850340517d80b719d4e0b97ddc615815292431758af43779932d00cebad8b5088c6b035aa562e8f304324eda1516cb430e5e12fc0f79b304cd075bd5a8d63b0ae1199503d0c52639a9b953b3d21afad041bc0c48bc6401adfc3088aabb0b0a99c49339a9033d6ef4a3a96735b90a3733425255bf0304033430902740fe43eb12dae4c010700352ed3f30e974b86a1219ee38a3930652419f2b9e4c7dda31ec510d19e90e125c038534454fc7174e5473822e41a1664a76ee91ec0989925b885df9d055637131350331bd2cdd4b8e3ef61beefa9de1afbd477c137d36380bbb016d0baf6934046a49030996a9deeca8f94125aa01d44c6389d10b2f32aab151a1a3767b4110c0de305f033942e40c11280bdafd26d4138e63fbf067774834bdde6423bcf9b0aacc9b0ac503f2f6a56b90d06e4214403b66ec1bb89f6a62b1cc0b697173ca3fe467ae2b0192031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03fd8b93e62804b99160a79fe33438c0fdd343e47ddd75e6ec828adf077007011bffffffffffffffff05581e0320b65bdda569936aa06093a78e3ece6f75110a09dcccee049bc6eef7200c024733bd5f6a3743e80399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080397a7d9b552a4b25477ac589c1b4a554e136ba54eb5cf7393ccd6a7f6d8b3b17d05581e036e36cd87c60c16541166d6821af332c858f38f5d8a933349558f58e0d007011bffffffffffffffff04592505608060405234801561001057600080fd5b50600436106101da5760003560e01c806370a0823111610104578063c3cda520116100a2578063dd62ed3e11610071578063dd62ed3e146103ba578063e7a324dc146103cd578063f1127ed8146103d5578063fca3b5aa146103f6576101da565b8063c3cda52014610379578063c904e00e1461038c578063d505accf14610394578063d7f6e3db146103a7576101da565b80637ecebe00116100de5780637ecebe001461033857806395d89b411461034b578063a9059cbb14610353578063b4b5ea5714610366576101da565b806370a08231146102fd57806376c71ca114610310578063782d6fe114610318576101da565b806330b36cef1161017c5780635c11d62f1161014b5780635c11d62f146102af5780635c19a95c146102c45780635c583e15146102d75780636fcfff45146102ea576101da565b806330b36cef1461026a578063313ce5671461027257806340c10f1914610287578063587cde1e1461029c576101da565b806318160ddd116101b857806318160ddd1461023257806320606b701461024757806323b872dd1461024f57806330adf81f14610262576101da565b806306fdde03146101df57806307546172146101fd578063095ea7b314610212575b600080fd5b6101e7610409565b6040516101f49190611d29565b60405180910390f35b61020561042c565b6040516101f49190611c4d565b610225610220366004611b70565b61043b565b6040516101f49190611c7b565b61023a6104fa565b6040516101f49190611c86565b61023a610500565b61022561025d366004611ac4565b610524565b61023a61066b565b61023a61068f565b61027a610695565b6040516101f49190612287565b61029a610295366004611b70565b61069a565b005b6102056102aa366004611a75565b6108b5565b6102b76108d0565b6040516101f49190612257565b61029a6102d2366004611a75565b6108d8565b61029a6102e5366004611a90565b6108e5565b6102b76102f8366004611a75565b61091d565b61023a61030b366004611a75565b610935565b61027a610959565b61032b610326366004611b70565b61095e565b6040516101f49190612295565b61023a610346366004611a75565b610b6c565b6101e7610b7e565b610225610361366004611b70565b610b9d565b61032b610374366004611a75565b610bd9565b61029a610387366004611b9a565b610c4a565b610205610e4f565b61029a6103a2366004611b04565b610e5e565b61029a6103b5366004611a75565b61115f565b61023a6103c8366004611a90565b6111f2565b61023a611226565b6103e86103e3366004611bf3565b61124a565b6040516101f4929190612268565b61029a610404366004611a75565b61127f565b6040518060400160405280600781526020016623b4ba31b7b4b760c91b81525081565b6001546001600160a01b031681565b6000806000198314156104515750600019610476565b610473836040518060600160405280602481526020016123e760249139611312565b90505b3360008181526004602090815260408083206001600160a01b03891680855292529182902080546001600160601b0319166001600160601b03861617905590519091907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104e6908590612295565b60405180910390a360019150505b92915050565b60005481565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b6001600160a01b03831660009081526004602090815260408083203380855290835281842054825160608101909352602480845291936001600160601b0390911692859261057c92889291906123e790830139611312565b9050866001600160a01b0316836001600160a01b0316141580156105a957506001600160601b0382811614155b156106535760006105d383836040518060600160405280603c81526020016123ab603c9139611341565b6001600160a01b038981166000818152600460209081526040808320948a16808452949091529081902080546001600160601b0319166001600160601b0386161790555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610649908590612295565b60405180910390a3505b61065e878783611380565b5060019695505050505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60035481565b601281565b6001546001600160a01b031633146106cd5760405162461bcd60e51b81526004016106c4906120a0565b60405180910390fd5b6003544210156106ef5760405162461bcd60e51b81526004016106c4906120e3565b6001600160a01b0382166107155760405162461bcd60e51b81526004016106c490611e27565b610723426301e13380611526565b600381905550600061074d8260405180606001604052806021815260200161233460219139611312565b9050610769610762600054600260ff1661154b565b6064611585565b816001600160601b031611156107915760405162461bcd60e51b81526004016106c490611f9d565b6107c76107a9600054836001600160601b0316611526565b60405180606001604052806026815260200161242f60269139611312565b6001600160601b0390811660009081556001600160a01b038516815260056020908152604091829020548251606081019093526024808452610819949190911692859290919061240b908301396115c7565b6001600160a01b03841660008181526005602052604080822080546001600160601b0319166001600160601b03959095169490941790935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610883908590612295565b60405180910390a36001600160a01b038084166000908152600660205260408120546108b0921683611603565b505050565b6006602052600090815260409020546001600160a01b031681565b6301e1338081565b6108e23382611795565b50565b6002546001600160a01b0316331461090f5760405162461bcd60e51b81526004016106c490611dc1565b6109198282611795565b5050565b60086020526000908152604090205463ffffffff1681565b6001600160a01b03166000908152600560205260409020546001600160601b031690565b600281565b600043821061097f5760405162461bcd60e51b81526004016106c49061205a565b6001600160a01b03831660009081526008602052604090205463ffffffff16806109ad5760009150506104f4565b6001600160a01b038416600090815260076020908152604080832063ffffffff600019860181168552925290912054168310610a29576001600160a01b03841660009081526007602090815260408083206000199490940163ffffffff1683529290522054600160201b90046001600160601b031690506104f4565b6001600160a01b038416600090815260076020908152604080832083805290915290205463ffffffff16831015610a645760009150506104f4565b600060001982015b8163ffffffff168163ffffffff161115610b2757600282820363ffffffff16048103610a96611a36565b506001600160a01b038716600090815260076020908152604080832063ffffffff858116855290835292819020815180830190925254928316808252600160201b9093046001600160601b03169181019190915290871415610b02576020015194506104f49350505050565b805163ffffffff16871115610b1957819350610b20565b6001820392505b5050610a6c565b506001600160a01b038516600090815260076020908152604080832063ffffffff909416835292905220546001600160601b03600160201b9091041691505092915050565b60096020526000908152604090205481565b6040518060400160405280600381526020016247544360e81b81525081565b600080610bc28360405180606001604052806025815260200161248860259139611312565b9050610bcf338583611380565b5060019392505050565b6001600160a01b03811660009081526008602052604081205463ffffffff1680610c04576000610c43565b6001600160a01b0383166000908152600760209081526040808320600019850163ffffffff168452909152902054600160201b90046001600160601b03165b9392505050565b60408051808201909152600781526623b4ba31b7b4b760c91b60209091015260007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8667fa4c5dcb026f4d78750d2f732b3f6c7c54aa4261b5793bf5773d51d8b0447003b610cb561181f565b30604051602001610cc99493929190611ce7565b60405160208183030381529060405280519060200120905060007fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf888888604051602001610d1a9493929190611cc3565b60405160208183030381529060405280519060200120905060008282604051602001610d47929190611c32565b604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051610d849493929190611d0b565b6020604051602081039080840390855afa158015610da6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610dd95760405162461bcd60e51b81526004016106c490611d7c565b6001600160a01b03811660009081526009602052604090208054600181019091558914610e185760405162461bcd60e51b81526004016106c4906121df565b87421115610e385760405162461bcd60e51b81526004016106c490612015565b610e42818b611795565b505050505b505050505050565b6002546001600160a01b031681565b6000600019861415610e735750600019610e98565b610e95866040518060600160405280602381526020016124ad60239139611312565b90505b60408051808201909152600781526623b4ba31b7b4b760c91b60209091015260007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8667fa4c5dcb026f4d78750d2f732b3f6c7c54aa4261b5793bf5773d51d8b0447003b610f0361181f565b30604051602001610f179493929190611ce7565b60408051601f1981840301815282825280516020918201206001600160a01b038d166000908152600983529283208054600181019091559094509192610f89927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928e928e928e9290918e9101611c8f565b60405160208183030381529060405280519060200120905060008282604051602001610fb6929190611c32565b604051602081830303815290604052805190602001209050600060018289898960405160008152602001604052604051610ff39493929190611d0b565b6020604051602081039080840390855afa158015611015573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166110485760405162461bcd60e51b81526004016106c490612220565b8b6001600160a01b0316816001600160a01b0316146110795760405162461bcd60e51b81526004016106c490611ed2565b884211156110995760405162461bcd60e51b81526004016106c490611f09565b84600460008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008d6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160601b0302191690836001600160601b031602179055508a6001600160a01b03168c6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925876040516111499190612295565b60405180910390a3505050505050505050505050565b6001546001600160a01b031633146111895760405162461bcd60e51b81526004016106c490612125565b6002546040517f12aa09d7887b401e20989b89da323840a273720748810afd3cdcc7ba0aedaeb9916111c8916001600160a01b03909116908490611c61565b60405180910390a1600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0391821660009081526004602090815260408083209390941682529190915220546001600160601b031690565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b600760209081526000928352604080842090915290825290205463ffffffff811690600160201b90046001600160601b031682565b6001546001600160a01b031633146112a95760405162461bcd60e51b81526004016106c490612182565b6001546040517f3b0007eb941cf645526cbb3a4fdaecda9d28ce4843167d9263b536a1f1edc0f6916112e8916001600160a01b03909116908490611c61565b60405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b600081600160601b84106113395760405162461bcd60e51b81526004016106c49190611d29565b509192915050565b6000836001600160601b0316836001600160601b0316111582906113785760405162461bcd60e51b81526004016106c49190611d29565b505050900390565b6001600160a01b0383166113a65760405162461bcd60e51b81526004016106c490611e75565b6001600160a01b0382166113cc5760405162461bcd60e51b81526004016106c490611f40565b6001600160a01b038316600090815260056020908152604091829020548251606081019093526035808452611417936001600160601b0390921692859291906122d990830139611341565b6001600160a01b03848116600090815260056020908152604080832080546001600160601b0319166001600160601b0396871617905592861682529082902054825160608101909352602f80845261147f9491909116928592909190612355908301396115c7565b6001600160a01b038381166000818152600560205260409081902080546001600160601b0319166001600160601b0395909516949094179093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114ec908590612295565b60405180910390a36001600160a01b038084166000908152600660205260408082205485841683529120546108b092918216911683611603565b600082820183811015610c435760405162461bcd60e51b81526004016106c490611df0565b60008261155a575060006104f4565b8282028284828161156757fe5b0414610c435760405162461bcd60e51b81526004016106c490611fd4565b6000610c4383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611823565b6000838301826001600160601b0380871690831610156115fa5760405162461bcd60e51b81526004016106c49190611d29565b50949350505050565b816001600160a01b0316836001600160a01b03161415801561162e57506000816001600160601b0316115b156108b0576001600160a01b038316156116e6576001600160a01b03831660009081526008602052604081205463ffffffff16908161166e5760006116ad565b6001600160a01b0385166000908152600760209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b905060006116d4828560405180606001604052806027815260200161238460279139611341565b90506116e28684848461185a565b5050505b6001600160a01b038216156108b0576001600160a01b03821660009081526008602052604081205463ffffffff169081611721576000611760565b6001600160a01b0384166000908152600760209081526040808320600019860163ffffffff168452909152902054600160201b90046001600160601b03165b90506000611787828560405180606001604052806026815260200161230e602691396115c7565b9050610e478584848461185a565b6001600160a01b03808316600081815260066020818152604080842080546005845282862054949093528787166001600160a01b031984168117909155905191909516946001600160601b039092169391928592917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4611819828483611603565b50505050565b4690565b600081836118445760405162461bcd60e51b81526004016106c49190611d29565b50600083858161185057fe5b0495945050505050565b600061187e4360405180606001604052806033815260200161245560339139611a0f565b905060008463ffffffff161180156118c757506001600160a01b038516600090815260076020908152604080832063ffffffff6000198901811685529252909120548282169116145b15611926576001600160a01b0385166000908152600760209081526040808320600019880163ffffffff168452909152902080546fffffffffffffffffffffffff000000001916600160201b6001600160601b038516021790556119c5565b60408051808201825263ffffffff80841682526001600160601b0380861660208085019182526001600160a01b038b166000818152600783528781208c871682528352878120965187549451909516600160201b026fffffffffffffffffffffffff000000001995871663ffffffff19958616179590951694909417909555938252600890935292909220805460018801909316929091169190911790555b846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248484604051611a009291906122a9565b60405180910390a25050505050565b600081600160201b84106113395760405162461bcd60e51b81526004016106c49190611d29565b604080518082019091526000808252602082015290565b80356001600160a01b03811681146104f457600080fd5b803560ff811681146104f457600080fd5b600060208284031215611a86578081fd5b610c438383611a4d565b60008060408385031215611aa2578081fd5b611aac8484611a4d565b9150611abb8460208501611a4d565b90509250929050565b600080600060608486031215611ad8578081fd5b8335611ae3816122c3565b92506020840135611af3816122c3565b929592945050506040919091013590565b600080600080600080600060e0888a031215611b1e578283fd5b611b288989611a4d565b9650611b378960208a01611a4d565b95506040880135945060608801359350611b548960808a01611a64565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215611b82578182fd5b611b8c8484611a4d565b946020939093013593505050565b60008060008060008060c08789031215611bb2578182fd5b611bbc8888611a4d565b95506020870135945060408701359350611bd98860608901611a64565b92506080870135915060a087013590509295509295509295565b60008060408385031215611c05578182fd5b611c0f8484611a4d565b9150602083013563ffffffff81168114611c27578182fd5b809150509250929050565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b901515815260200190565b90815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9384526001600160a01b039290921660208401526040830152606082015260800190565b938452602084019290925260408301526001600160a01b0316606082015260800190565b93845260ff9290921660208401526040830152606082015260800190565b6000602080835283518082850152825b81811015611d5557858101830151858201604001528201611d39565b81811115611d665783604083870101525b50601f01601f1916929092016040019392505050565b60208082526025908201527f4754433a3a64656c656761746542795369673a20696e76616c6964207369676e604082015264617475726560d81b606082015260800190565b60208082526015908201527414d95b99195c881b9bdd08185d5d1a1bdc9a5e9959605a1b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252602e908201527f4754433a3a6d696e743a2063616e6e6f74207472616e7366657220746f20746860408201526d65207a65726f206164647265737360901b606082015260800190565b6020808252603b908201527f4754433a3a5f7472616e73666572546f6b656e733a2063616e6e6f742074726160408201527f6e736665722066726f6d20746865207a65726f20616464726573730000000000606082015260800190565b60208082526019908201527f4754433a3a7065726d69743a20756e617574686f72697a656400000000000000604082015260600190565b6020808252601e908201527f4754433a3a7065726d69743a207369676e617475726520657870697265640000604082015260600190565b60208082526039908201527f4754433a3a5f7472616e73666572546f6b656e733a2063616e6e6f742074726160408201527f6e7366657220746f20746865207a65726f206164647265737300000000000000606082015260800190565b6020808252601c908201527f4754433a3a6d696e743a206578636565646564206d696e742063617000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526025908201527f4754433a3a64656c656761746542795369673a207369676e61747572652065786040820152641c1a5c995960da1b606082015260800190565b60208082526026908201527f4754433a3a6765745072696f72566f7465733a206e6f742079657420646574656040820152651c9b5a5b995960d21b606082015260800190565b60208082526023908201527f4754433a3a6d696e743a206f6e6c7920746865206d696e7465722063616e206d6040820152621a5b9d60ea1b606082015260800190565b60208082526022908201527f4754433a3a6d696e743a206d696e74696e67206e6f7420616c6c6f7765642079604082015261195d60f21b606082015260800190565b6020808252603f908201527f4754433a3a736574475443446973743a206f6e6c7920746865206d696e74657260408201527f2063616e206368616e6765207468652047544344697374206164647265737300606082015260800190565b6020808252603d908201527f4754433a3a7365744d696e7465723a206f6e6c7920746865206d696e7465722060408201527f63616e206368616e676520746865206d696e7465722061646472657373000000606082015260800190565b60208082526021908201527f4754433a3a64656c656761746542795369673a20696e76616c6964206e6f6e636040820152606560f81b606082015260800190565b6020808252601e908201527f4754433a3a7065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b63ffffffff91909116815260200190565b63ffffffff9290921682526001600160601b0316602082015260400190565b60ff91909116815260200190565b6001600160601b0391909116815260200190565b6001600160601b0392831681529116602082015260400190565b6001600160a01b03811681146108e257600080fdfe4754433a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e63654754433a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f77734754433a3a6d696e743a20616d6f756e74206578636565647320393620626974734754433a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f77734754433a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f77734754433a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e63654754433a3a617070726f76653a20616d6f756e74206578636565647320393620626974734754433a3a6d696e743a207472616e7366657220616d6f756e74206f766572666c6f77734754433a3a6d696e743a20746f74616c537570706c79206578636565647320393620626974734754433a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d626572206578636565647320333220626974734754433a3a7472616e736665723a20616d6f756e74206578636565647320393620626974734754433a3a7065726d69743a20616d6f756e7420657863656564732039362062697473a2646970667358221220ed2ac6cab41d7f012a073849a987ec9f845d91e7a611c7b893bba4176af525ef64736f6c634300060c00330387032fedd67fdc039d4da92d3064abafb42f845798281be1b2c7cc68248db2e6034aca5e89807b6a9ca783cfd0b84cd8ff1dbb9f36df4ac936c1fc6a4fc000fc970343ee0dd056c807c922761193a163e9111b7a5ff927de8fe5a9b51a530b915be80386f166545a3c8c2ba1f05a0248170b83af3d5430f62c459b08d3e2fab510f99203cfee60a117ed01f216e3a9f2e8db7e6ec8ffe5813e891325f3925e6d3009a16e0318897cd41028633ec5cae355ba2b06e2376c3568364db1c064e5c40f16d6326d030ab2f7394162222953bac586a94281dbd5042541fed576bab15774389f74ed89032fd5978bcdfde020f9e93ef0e4060b8739690f363d3a1f4fb60409b3bb7bc5bd03e4425ecf8f39915af58fea5b2c65261a6367fa0c049341a7779bba1165e60e990366b2641d5455b571b806a90d5673aa85829d54ba09e572cee2269ca09c1e9feb0329c664f511a9f24f2ff59dc809cb5087148a902f7cedc82fc91f87a8173889d6033b355af33717a7708718bfa491c0197f14afb73aaf1590b15bb30b44555a3df0031fee1120cf1d59b29047bfa61c6e75de564efbb006c1e07d89acaea84fa7ff7703f945194ccb313303adfd4cf633a0b739602ec71a17c23f6598a0cdd4b6ee89aa03c4fb6f9320612dd7b92ede95ce7c587480f8cbb9d005b9843d25ee7beffd183703882747321bfc5fca2140ba1603fab8f02a57148de3113f6ec4043cd4ca1792c903beb5d6181048e4a7461f745346731dcec1406f0d3139f9d65284fb471854dedc031910c738e3cd94a73e73b6d6e44e301b6dc963f21c68018ec7a839aa14bcc19803528ceda692d0d3d70b4ee2345d0b6cf7d122d6fe2ec02da25aec40dc3fcd22fe00581f031dcb2ddfbb2e12041b02b51889dea9560b3533bcbfbc4bcb6d4b3de7705048013fbe85edc9000000581f0387d79d07da1be7de8504261dd2fc9cc0ffa36cddf25a6ea621e5284dc3f04b0845940085bb3f36300000037249bfc949caaa97cb474bfa04a2b94d440dd7b25398a15c6c81eeda8510a45600581f038beab69908249870bc834489d155a5e2258aeab0917c6ead2fdb2ac06110487a8a763776b3000000581f036c862cb432c281f3949f98bc98f7c3b3614425d7087a64563e5af2ac8b504cffffffffffffffffffffffff02190983032811f2112b8f0b9a25bd5a2ec34b0e2e74bfb5daa00875e54705088c5a9d2ee30317d2d11e37b09244b72b8c3d28ee28c9af2b4b55c5c479d231ef6acf8891d88503ec6caff9ed40b005ddd7e175f1aab024e07bf180e8135016603566b61985f25a03155d17d0480328d50b2e17587d391fd3970dc8ce5ba8987216f0c66cdd80159303d58a6eadfbbfdf938edf936b1d229f9462f0ed8656befac3f5219cfb6335a0b603cce9c58c6c95d84430fcd1ad90f44b1346fe44e080b47fa1d090e1e56ed076de036edc81a9edb11407b9dd8944a6dc46aeffead0ca0170410e61e22bbc612fe13f03d9154b2f2ae784c9ddb6aaf16c6e6911b4f3d7530dac1c8410965aa80b1c9b660313b2558f1f3643914dfa3c9d5d2dc7d39f996f3b0ffe2703cb2a67d7420f8d6603424e32c3e4fda2504d9c93726aa7e0f07a1c79a9cc616552c2b5cc8e80a4520b03be19e86704d9ec89b4002b7f8b9e965e56997d358ca8f8b8fb1ee51d1409395c037d5703f40bd920a39a1e35ac6707cb7d9a10b6e08f34d3277ed9ac803326bdc803fff8091318121b7dab7abe72a2094b48f0bef55babded981a2b57a4f7dc6681f033a3289de0a3510a77e58c1e41f733b7c17ee6389678d9fb940d4c83646e2d33200581f02149f8c62a23c5458685679b5495d502335e254e3e65ed9016b6ccbb271d64b0845948b4cde43c01800000219ffff03deb8a2dab17e69ff2a34a16324f2606564a95b9bf160b1ffa093f52e51312e8d03332bc4d28c40609631120c5896dbe6d8f117e61ea2a39bfd915888af4ecb0f460377ada54afee10dce0ee2a2cead459d3494cea58963ba5beef5ebdb1762d41da8037f978f0ef29fe5301089144e026b6544e4e34b3a990858d64731329d85a75e7503a99c449b44ba586ff8219d5c5cdae50e535d79ae04e4b66c7dd3a463bfbe7b2a03f77d4690e7f85cf24ed363a8961a306036429a908dfa11c8c5277744556f7cf203ae70791358cc5fa1af5ad75cc6da3bccb08f3f0f1bad56731ce5c7b49aa802dc0219ffff03629798d027f3a06f843c0b4eacec2fa14ce49ee278dbbc508c3eae0d89313a76034452a0d7e5d483455f85677a46130b2f2ad9aa3f2ac6148adee9e513ac26c51a033a7f30ef9980c5f0d830b5e40fc1a0b8471105a33c4bf238cd868f931935d5690340b9f9d1114ba280969b9aaa47add0eee724e8d434e14f16b4e5bdc0126013ce031a07c8921748208b63db29d5223784618c47f2133ce93fd69d4af62da55efae70327f17b1be15943e8f456d89364e908f8e38141cc3e901261de1e081b4145590003d20799c8528a21dd2cb75a6961504cc2715335972f59dc404dd449e5570ad99b0219ffff03d8dfb88fde82f8ea1bbb27060089ecdb91e1085c35363a837d63e3625652c24f0300c639b3babd061f56b3ebbcdeff17332f1bca5310a035aea4c72280dbd7926b03f4c6c609764a8821450eec0741449b8e1b371c685b456cf641ec72ad397da63903ccd897dfb8f055c122bd7426d6042ccd7614f84639d9012abbeb5bcf7d56f30903a52e0ed1357f061e76f0a552055211194cefdefd0235b825025eb9a7015cbc9b035d0d2275a4fb3310cc9e821668fed8af636fd952f3d76b2e71bd8e2e6ddc630c0371b3560d1e511714a05b02b21e7210b25e9d5278b1eb9775cb85c595327debd003ecfedc50b2b18fa04de231b12dd15e58b25e9fccdd445deee340f0753645c5440391d00810c24e7173bdabbb3f4e98af90d51db2853490f922e20c4e0dcdcbe0ca031dba4b810d223370f502e88cf46882a6c4d8b456d8ca00a758e782213e3a0b760342ae6cf006ecb075da2587f6e0969d480871b0364b950bf84c6b18b7c9963f58037e42d5214f67e23bf79db3071ce5f4a28818bddfc8a999c24d8093a2bc8aa5f9036120f8766693878d5b834a3bd06025970e670961fc0da339d7ae5b7e8865f60103841ac104007c7bd1742811acf1861457d1a2c2f43184711e572571d4c06ff2b900581f03a82de0f67f47955735e7a1e98531e6add5caa5bfd50782255258cf1276f048d97705fa0e5f000003a29e6a37e5df0e03d076703c1aefc2936aa626a389c5aa7482b0b45b53cb9f1f0319ce86dc4d2d0d747c8ed96a0f001357c8b1fa7eb0e7885f8c274e923242986400581f03bd750b904ba02ad93a62202b56c898d1112b22d1dadc0660b6c352866a904b084593bb2229bcf13c000000581f03e096eaf491a0df04559495552af73f16399446a6877d58875bf788b9df504812dc234cb9c1800000581f037e8be3bdd9a3bf81f96bd05c83a5fd80bd3f8f9487ac4b1d2b40048d71b0410100581f03ad65d056fd87165eb69057e1b5239eb573201f8dd1db7f7a4dc7c204b3704b0161998cf7957c7241a8c90219d0f003cb39e6be1fecf18db45c84298e104ec585f389907feb63bc1ca54712c1b0c06b037ed56c360fa4bc37bb80c597f3be8d4ea90e3c27d1cc93a5979b42bfba2dda6803dfb113617eaeb49799f85de4a02e9dcbe51548911db2b80daabea1e7f24a4e8303a684927f69d878d9bc0bcc53f14c3689fbdc070cf12fe9fd32cb9c9a3fed05df033a5ec2dc902b00061235571dd7d14324ad1a098531e90eee163b9f4348a97e9603d9c34d5b33f9692ea6d2fdcc3f25ada1e6950b3d9b45c656374851ee3570a8cc038e53fcd779f25e31d8cd0a63833c3d4d018f090896c016f11b27730be558aef403ca44aabd7451f6d8ea1753d27b7c2da01001815838f57a7472ee3fdabb9278a20305f4491a22c4687a5863324d0cc3595509bdfa2fc6bffbe9c81d5b44bffb18f4031b7a7abfaf1c4eb5f774fff9e498ddb74664120141f351a3fc9c2ed6c133c4ad03798dc376936dbb2cb39407c85988720ef2bab7c8bad723dd9ed75bc6d584bc8403d22423173a07908ab6dd2b5b3bb4f273f1392e491854cdb5c9f73be6cbb2c22c03926397c54f24ffe84caa554ebd685910d62955066dfa974105de2c88335d92f103682326eca2816b0ae7ab6d91297076bcee2e476471b29d7c7fb28b8afc9e3210031c89f0cc0cfce69832f77768f338b691e1e5d3b76da52e5f4dbcc9a96337fbc40219ffff038999e8fa58a3cacf3cb8eb32f931792fcdc563f233e76950e30a422294926ddd0339bdb483a27dcd8e6590e8dd22c4b10ad9b56fd399ca37163152e0866c52615f03d0f7f8607577096be3747fc512f1bf5caf08bf6281ea39ce83e240a47d78519403b1adcc181f57a0021259e6d7649187576940cb8479b94a2cb0edcb94b05b7599034239d3640b4602231239e1d64c94ef2ad75c5fc16d335df6283fa0b32ac554bd039789da4e0fbe8bab2cbbcb6da9dbf0cf1f346a95c9936457dd5fa56a6ecd8b4803d0622e46117abaa6677475ba72353d93435ddce3cd40d76feb7a0f0e940ae2b30335382678fac145899f51556b3a496d832b869fca59714514cf910af9771be71803b2a9aee5b773718a6876de73e7425935fc4bafd0e076490d0eba95ed86d3d46c0333557649e39421c5e10cbb2d3211adea75ebb685fc3506df4c0df6accb17e890038994c877047a89e3d2b798a09e82e8fd49a360d674963abc49a42a42c2defd83030f2fceac298589a58265554728057771fbe5ccd6fcb4527842a4caeb32df9df3035c4c2a35676d224efa8b80deb4aecfd7292be5aadfd3423b73e68708f449faca033c3ae9ca95449beb08a629c4dea4a298bba79c7f7d36b76f5e01c7d11174c37803408ddeaba713cb74ad5b01b7d4a6b1eacee94474c86c9eb1b6d61bcd46904e440219ffff030245cc4255e89da7faeaba5bc289005c973363199bb57fc584c0e5f141941cc2036237ca8120beb18405d7d0d3e1cf76a52ab355db3bd1ce4a926d8047978563b203b5b19f7a9a375e9a8a11824c4e3ff63a18acdd7c198ae28102203bdd1ebbebcc0352823c51daf7cad43ff2c0699074e9a49bd6f64943c72534d957d31b7b3eb032035df0ea1cbaee99f9fbb1feb784a38a74389775a58131298a15c86a56f938c3980305295555639511d0f2cfd026119329dfe91769af5a4853da52c7cd9fcac9d6e1036aac419e13f35ba6a6a1c3dcae1cf9ac902431b41ea8d8e2274fb55a9827e448035869708f0c8520a44523d6f207f4cde0fb07863383c2ff7e72d95cd171bb65e0036bd43393b36f8291dc5a12a9e6fafe989a114623847d71cf8ca837fbc9ed759c03ed0ee85ae37dd7e505c338811270b69ed1a801f261d343a92f057944a1acb1fa03a8c47ad540468629944fbafd9f838ed506515cb41685896329c504f2a5d4147703446320f1499ebc1b527cfb8ee5bca92b556c1c842c18adc7568b6aabf624c1a203bb332299b569add66c1a0a9dc54ae29491146d2ce2d85ea5b4496705b8d6902a03c22f508a257fd7179ee134f3523b7bf2d001ba9960287016b13a7759dc411d9003cd84107cf2e5b92a264e950eb13b2e1e6ca55bf5b08a739ab7dabac29b2a0f6c037e5cfc3f079831cf26d3fe7c5ef0ad747a4d0be97e49c39cda51f03470b063d700581f03b09d5ea7f3898c42d4146bfaf5a64489b9c2cc5c20ec1542542d4e1da31048058352a017e5699000581f03c31f674485763dbe4f271a93b4a9fc136d7351e9d020d943833cf4f43e20484563918244f4000000581f030230ca938e352075def21540933641edf40b73ea848087c22c8107d9a5404d011e1459ae68db800000c4dbc000581f034f46325600763cd26a13ab5e7c2f52f81ad265b41a3ebf56c8814b6916b04dd8d726b7177a80000000bf65350376eede6df5fe38c3219692fce015c674a0e808d578ab4e0a5bc9becc21bcbec800581f0364163cacf6ef5dcfd23415dec17337fc019b10dc0b5d47657d30ba292b704d03063c00057552321d0109f3de02190ac5033547e1098a8df5a77bbf7d1fa866c862f59ae0b7dbec7740cd79ba00af8ebebb033b862bd7c70b139b8e8b808d1b72a31e8d36700f87d4a163c66b520673da828f03593f1e0608445edcc4e007f4a0036926cf9dbfe766f4c2d0bc0995f7293d4ea503d2ffd4d268033ab98b47d50b411d11c17203d1e658aac1022d92ef4f72f7182c03a98d1c271d7cb2f1d39549869a488e360c3b62ac6118080c7b9bd4470b1f14e9035005e367fadec3377c3353d9e6e9a954670749f675bea654cb0b47bed15c56a600581f0219d4bcc1def0b6aa57038339e2bf699e11455b0b46ba5762c19bf85d60184b084593cba971ed88b9800003a146450a1249fd676f7c97ce4962f17d12aec9f9aa7fff1bd055ff863ca72ab903a355422d6e31de3e59b3906e9f3be8d3be40bb9df2f1e40bb8b3d903528025410219ffff036a8ce28ff15a65476e830787e591c8db4ede4a752f54ecd6c08fd199f171ab1703b23b8057e5aaf291c003ea67abf997f3550afb5f84b3044061322616b7d400180387da63e95f381476ee7dd87061e57f4c775d89d24c4a3564f1c4ba325a7a527b03f13b77f924cd5ff0d489341fb6f7ae3fd4153017bf24a285f510d4eecd9883c603633f78aa9cf0c04c385017447b5993a48a83815b8c43e32971d41fcd8c2f62b103368cdc68c388b2fb7b984bc60411b6b8df9b573fb611c9a7c234fd67fa1e724503a5fdfc5febcb9a857d72729507ca28b0635fe79ede91506db4a488cd0e5f353a0219ffff038d9f3e23b0c242c008d56688a6d8c0b6f966ea8fc98ac9e46fcecbba0f7c49260219ffff034f4a4cf368ecb7fef5398acdc5a142b4a22ece2c1eee5ca8404d1c28af8fc85103e97b51631c186386962b71935867e60b2332707234cceb2708a0edd7da9d81a803073460efb35d78e2cae6a0b0787845f1427ee6c55608fe07161b30b7f5efbb3e03cbabbd7ba5425e3afbcfbc2583f65fca0bd086da48a0fb02b40a1a08b737703903cb1e8858fa533d84e522fae583ef3a15af8f872cba01d9614b2629de19d667b1032bfd1a441db0317245feeb0c4e588a577fc38c6aa99b9419ce5893a72aa1630b03dc6c4a884173b7cac4aad09a9f3308dca5e0ae46343af90f7efb2af7cee5b1d903a19dc5ba0112b18fcb8fd508abc5ddf30c7aa3a20629412faa34e5fb1aa47fd603eeec43e3fc163384dbb3ad2a083cf70d4bd37cbd9aa02d8b17d12bf9df30ba2a031acb54ac707f052d36e5d24ebb5dbfcdf56aa5592eef615ee0fa78c02a20c25503e446f66111f8f38cd8f8ece8561dc78a247ad60e7730e3e28c04b79a469a0629032f065761d269f6a9143887a94114fa113d358e0a17b6ac5c468e09076529f7c603dd89609d944acc83e4ddf82175634a0e0059138ebe50df3a7062900d9d5a9d22031a7f599569111d9bd70e874b464b868f6e33c6098c72a1ef230d3ec981c47485033b3a5485bd15beeb132d12439ddd0d2c76c11fd634f4593ddf0ad288ed9463d003a48bb0227ef2801eb25301f111e71d91a5d568551e09e8fa95299e01eac7da900362d7cb12c642e19b5390ac62c300df51657a813abc8568397cf46f0513420cbf03404f89395a08e942e17de615f27f7782e4675f036a2e3957beac3e5e1cb41dd100581f02d1c9a123f825753a512e868be84058ab85e89f77b1e5575a73d256fccb3054dfbaeef21396bf205d4b7d23345155489072cf9b037654280bc20b4c65955872861aeede8858f7b3222b66c262f0344192fac6c0ea0343e08f4ee5b23ba20e28d77d9006271b65442ed035e07cc809e0d411bd9b97fc03010baeb9765b957b1ea0e50851e996c7d388e71e164b2ab95dad1f8ffd2a3e9703075005a3fa6fd8789e775d6abc91419d72fd637216c215665abb4aaedaa8df03037529fa795e125c6b2e1867dff32f9d708d51055a73710306b9c9a06cadef0ca903e7c403e1fb360becb11714ca88ef96861555bcd3bf94d0f9a9e51e7db3553d4d0335423176378865ed1b2f2e5cd34d9d8e452532ac2506dd5a9bbb4da0a91066ac03712b7a8395ab85c15617ab3ac182db07bb03de2f9845ca55aacbe51142a24c1103f2b512a9a4829f277cc70329235eba86423fc0461f2de3b24175709fa97b076803f3c05b9c67ffebd275308ec95ced37fedc3378acd42ed46a6df8163bb40d096603bae25711cdcf75ba9dd11506e501397abf23ca541ac2550e85addbcdd238848b03f7090a3c6fbdd45db2d15586c6fdb3047e44aa6878547de5750723b193aac73a03d26331c1934a93b1ed63d09a6b4319691500470483b11d6c418306111b83b6de00581f02748ba52b525109a090783c026d51657f43cfa88b884a5eaca51ed45f397c480d76fd80f1d7980000581f027a932bce261273ca1ea1cc15422776cced43fb0f76733a72c9feba89b04d4d1034f68ede101b000000beda270219ffff0314059179d35a55a6b5d20d550d35f72ae08f4d8e64a414259d4a5e849236b38e0382acd7f9407bb39d1c81fa915dfc82486808a2dab9d40745fd6e05fcb1795abd03bca2b35ac7d63a41c68ad956af3335cbdc1d8c4bc8c81e25f76b193fec9f0d9a034ae0b9e10dce3ed11ac77bbcefd6217ac5b1215e9977bf9d941babdef337a7c803c5a82314f71fb8ab29a2788b7af6febf3f4a62c7cf61c319ec684e96472776f203782af20b6cd259dabf17305fb36e97ea3cda8d242d4ddb6a275d3b98f8b35d820325b2d121d6a5821674377b26fdc640b15eab6c4fa4092ca0392edfd5534667b70347c0f1d09e40370e674b223aabd19f024e50be1a8f2336a942b2346a7a03654d03efaddaa8e9c5a33648abadd0e21008205c94b63eb49d07ee28a26de670fb39bc03e9655a074e7c9f50d31cacfa580c8fd54353a67be0c4ee947200d908f587b4a903f8d1c85598c388857b1ca4ecd3f5ac41bb7eec6e83d452d8908d8b90ee340a510219ffff032a5c361a4d1083d1199a8ed91db5d8a8cf6dbae9ada93e220a5e6f85364fe9190219ffff033cb0b01ca6cdc378ab37133aa6e798d21135345e8e0df64e372d1c072b521dc10305b0d7f0d219758f65e68bd1655d4a333484311b212462a77a0566877fb53615039c2a14f73fa0346ec8b51f8d240de0c93ed885cdf6a84bdf5f99c12e021ed47203aa2d3e5d83bc98178702a8ac38108a542db79b1d8446097a5a66f21741eaae370332dadc72bcf086cbdf1370c1f81fcb5621d6ffb30b9e306ea23cd8261ee8ff1d03618a7217dce712697670fbd0b41b2a8bc4d678d89f23b218ba449216703f5e31037e0731b9dda685ec9811e285243ae4762a90ba3dc20ee90dd2c3c3256cd70ed50219ffff05581e0323fe06286e063b2efdf3cd82851afc90306105e0f1aa74d68195a5d040070119250505581e03c3d8c3a64587aa50e8a6e21e201a25f98524f59aa2ada46d2cabd98d800c0246f486c0605a1803fcf7048a6d03b05c29da7e78292e4e14cc011367cd3f01d696e40f7135d7b97f05581e03b33e84991463ce09ab6f42ece1eb68347184275161392627d2734f6bc00c0b4803ec529d7e4fca0005581e03ef47a68b086d35c2b544ae9f37a7fc6d7d88c6f8761767f5f3477dbca00c07480402f06dad18c478030f7d87bbebfc45ad4d0c1ae689f4fb5a1eea5f0cdbdcf2eb7acc212b533061d5030e363ccf0df8d66b254459b96419823b3bfe281de81c3206c516423d36339b550219fe9403e1c02a9d6a313f155ddd21475840878d4b82257d7c7122587db04eb2845c869a03828c3cac949979a53ea3ba95526d3ab4a1dde4caef1e47c53da2487f348d88e90324ffe20aee6ffc1c0f839f219ab0637e5eaaa096a918a8738b17e1b2af37ad76030c74ed20e3259c373abeafe3285275ba0f700465f96643c53a59db30673c781e03ac3ec23662ac090d332d5c69a7ca0b859103f130c6b5932578c372e26dbc0932038e199fa68ae5134ca28514cc05e21bf6f8272dec0d6c607a5a501f3502a39faa0219ffff0362b3cae50c7c280efc15313f629977c0c13b4f1a86f9672e1489ef9977ed9650038f52491c6d9c9168cec6e26ca55c68a42abf81c20c2a5de4b6c449ed50af63870219ffff03bda781597a1b6c105a37bf907f23b15246bdf437e32e1ed87a927d264b2259c9033207d6ad13b4dae42035539c791371fce38abf194b849f05445678c73619044203459aef1a8a02b24fc04bb9f214841a96116150fdae71744d02414ec04fd8fc10035f82fa209ae4d6ee74e2168f12fc18981ca0d0e73eca1bcfaa531f4bbfdcab400219ffff0219ffff0329e01afece7642427f145573f6939097124ebb2c0c251e89a78143f18bc2f7370306ef6f3e715586ca267e5e63bbd0989383faa5acaaf10599360cb68bd00a8e4e03461cce575be5407d4589a03aa17079e006b5c4b64aa8a1c75272c9e2954c2f6a036ab701ce973c83a5e96198d6eabb6b4d80d101fd13e4595127502f3e8b9fe38203cc3405235a2fb29ac54e9904e2ad2922ebe699ff258ac8e9abaac538a216c6590331614caecf3f5e76cd2857f3794a5925401edffcf6ae8cdd8004eac240c73ffd03cbc2039532eb05ceaee079481ea7b79e143c5a85a7086edd2129f3033710b4ab038f075e1af9f422ca70867562ef78fa341c0a0c53b93ddd3b0a0d0487305d038603af09ff6ae8a384a1a5c2fba80a9871fadd3d67741b6bbb5905dc896439abf87e037b0e646a5e52e0981bf15c8d8f04334138306e84f7801bc91ca424695b93409503c390555417fd23d8c4622e5a45191babca8e553426841a18ef4094d1d158db3c03f1c4eb5de0d6b323ff093d827a17c3774766f3590d35a74ec76d5bd9539106b403cf2ed9e56ddedd8e94bab4c48205ab77046dc9ea146b9a3b275242cac3523937035de72072c2a1976619419d4c65916e53c69aead1e6aada159ced246d50fa3c46034486b1bc8f9f78ee6337b601ce8c276664a7d1ca8034cf64b2621c16d41b88170376b47c63a9394c3c035bca457146ab26bcf7404266eb3690419c538b410cc7190341b4815b3a2483f12902c95d80f605c82f6ea7a732e088302edceabf5a48774803ae6d3c1ace531ab6133e72dabee732a6052ca1cc9c7311f344d3931281515f6103d12dcdfdab0358f912930c503f89ede21a3c16f3ced61a977502234fc807fa850305b8d671865be469b6e18ac85983b2698f3a890ead76ea082f196cb00763b813031d8b7a66d8f7e1754ebfe83385ebd2e91e44432f624f33069e6903174016278b03a4dd377ebc6995f33b478f6d2d5faa359bc0cff8f17336f3ed758a47862fb17003b4f184df9ef633bf4268101fa1efe879ad11eeb9c2e13215d743e185fa3fde8403c786289a747c9830d1f097999eb86f4d02206c34349a5b966592a857dfe01f5f03857a928f038355ba44bd9a0ed301cc8d06b857a16dba9b5fe24de2b1a63d2fa403a871be94050f050a73bf1408e406b933e45262d7c39940ca8bbc4a93a3f8eb38037b5482093845e3fa70da8d44af029cb216ff25c8d604d89d78b209429aa89d3c031c5fdcc210bf6620f2555d2265c5ca268c59ffbc4091180e457bb1da4710f103035501b70ce61d8d193446192505aec713f4de87cc87533c79912c2b27de17a2c00372628670aa8a923a6470f78f7e342b72b6768461d86f20c5d9b02da3a8aad305039032ee0f947afbf09351848f2117ee5fa1becfd7a9077369c4bc3ab3560804ed0381e769e3606dc23df80b871c15262fb41f601d05f6783fd3062f04f5bcf4794603f05c87bcf892340cc15d0d4c4aea73a694eadac976ffeaae0de55f13d2ba123505581e03f2161521a1955c3d8b55b6778ee24f1983fe5a4de39de611f20044a5e0040105581e0365878c9c34dbed063a116643fe6e85fff1122fcdb4e40c908eb63198400c05474623e9d42e5fb8039e374e9c4e64d02a23f45680981ce42dc49d796fbe00d7ab88851d4f8e3ba27603386d811ee3273e7daaf6bc98a6b0c1aa1fee79fa7fbbd349d1725cf9b4f6826605581e039de000654f1e0733214e9e84341af00a2fe5e59b30fce7bc9b683e926008471df421b907c00005581e0386c24feef0cea4a08deee030564cf63eef225654ef39f7bd4da5a6d4f00c054713812ae9c4f55705581e0307752b90a9bbc810085867e8a4904ac9d6c2b6f87ec0e9ae9e1b21c0a0040105581e03d8c78e0c7fdc05710a03d3c8d4fe579382c741ac22a10c084750a434600c0147035fe336007e7b02191c7603745529d76c169d77827095f6ea0b6f08a90f8c131a79e945676e1dc4156321db031ec55252a6f55c8525ad2be4cef6906e9085e5d5ce01eea19aaebdba78e8dd24030fb5a502db4f920b511f789de4704fac30fb03ce2074ed7ca0e99bb5f4747afe0382b5626992331d9328723cee141cf22f73df4774313cb1433a46b4f244a7d709037a054775f6c36c8c3228491d511bb9853e774923f13a10e26c30ea39a0c6505303c704bd88760b73bbe594fc30e41c01f4cf3b77dc23b67bb79f85d42e0e117e8203df52f30ce3a73bb46683377788bd128d711675b2208b36085a805ec3f164757d0219ffff03ee7f74bd08e4898f9f48da3ac72995352f6a586932e8d0154270186991fc54bc03a50cc77eed11676a3e7f4d79642854eb26e926714aff0fc7091a099f0f4cb785032d592d78c7067e315105261abcdf143781c05c13a462f41cafe23663b4e7f8e80369f04d8953c9bd9d4debce078e2aca9966f0230284f9234ca2d5eccc98a79a9903dd70803f9de7beeea209931fe53ca54b354a326e340092ea413e34046ee576c203edf61da556865c2d9571ba5236f4791400a0033d6004cece3be788b00947827a03839258da17b1205c577b355afc6aa33a1fb602f4713b28301cbdcf172985fa710378fa9d882c2f3ff7e49a008096eefe6c8aeade8f27368d5eb07c36e9660741b603084e57cca48ec448235ea85b429cec2142c6a9525d726ba761e06106cbab915b0219ffff0330e0a5e31e05fa049f1b231799b9368fa846d0334ed9e2c3c59b6428f2a8b2380219ffff03d8bd9e9bab919b2c78ffc9c404852550933adfa4ca992f0c7fa80340d5a81f4f031b1edbf0952b3c7064136df1d93cca3855ff9d9ea4dd3587399f2834730e7615033a7054a0b283126b3742131d7aee4e16a0cbb24813933d33b09b81744e7a1fcd0368b9e3f6e34fcb64fbcca5e668417bd6fcb62aa379cb1dfe1aa8a984bc4e77bf039b878841180af94b3b4e9ef3711feebcda5670adbaf6e48a387d4c1c7038e6a103bb90e9bb11fa367c45a8fb4531e6885c92ff7be6976bda49fe60f5204a5de34703e1f926ec82f9712a3721fce83c90d0147831f32fc7c380899e08de4a02f594b1035fa2a23909094225d3ee934038b5ce2a0ceaac05fded7f55035dc58288759f550389ed5e11d5eb17fa2943f230a026ba7cc5604fbcb4242dafee220b67526ee8ed0313f9bf2aa3e7a2e383c57da940f76e57a195c31a7b01f2abcd719a741a7d40080219ffff03a3cc683c7481df56da422fefcd4cc2fcbf00edfb811e95551b604b1f5c50323c03f3570be06f497df01822909ad4e91ace8db18ebc5499b3b35bf72ccda061836e03fe39ff0022b90509e953471b22da46372d47102cc3be4bc3b70cd737087cba860319bcca5ae417e5500cd4dc9c733d49d7ef1feac853e4d94f5d829e76a4e0ec8e03e4c45e80d299f07c35a664bdcc1b2348aa6917259c9c1996c50b13a6806f8d1d03e355266f8d2934b5da9f9cf078520ef51a3b985370d55f178d12a93b9e9a71be031152742c4f09c64a72f953fbedfd89102fb53ef96a32027184dc373421a5dab403253e95fadf53a209924f2307eb99616d72d4b54df19af763c375bbcc05f0ed5503bf8fd32f6e862e7fb2e1b7ddd0598958e83c1c7196090af5f9bc2f18f4381cf2033e9b6c50ed415d7af2dd8b89fe8773f23e4f80ca458e1d60a7f2b5a49200b4c903e5d5e2ce138f888c750363b4e73e84b7f46f36eb3d1ea0475042a57a9117241003f045fe62ababb987a908e557c2052e3917a74e0d0e921d8f48dff27ebeff041d03c7937ab05e6f1e65d6f077246841d1998e8d73c55dfd948e5cb52904506bb7ed03ad245612a860cc5a929b24c1676371e058d29090c8d1ad9cab0c1b0597027d5f034d39a00e6c46ec909167c97128f1f46ab12903d21cdb04077717098079abd48c03fb345a38099a876a494adb24cd1d51ca44e624c66307d962ae8bc0978add2ca9032d8cfa58479b567eaed1eeebaee047bdd27075af7dbe8a22fce5658efbd2dd1903b3b15eb75580eb8502c9a93cdfd85aa1a456479d2eba374c609e921319f2580c03016a9f01fca3676ca5781979c8e71ee2c8ef558670a36c7e0d3991cd177966ed03517c46c8baa4a08e2b688463618fa8145591a939af5c8056fadcee83f4e73f2d033ece0fa62c17265f4cf305478f7e23a4718c180d5cd70977a8bb69ed5f7e9dd703fad86b626fbf28d9f0d17009621ead199caf0e0a6d2fa76dc55bec293abd7677031b7f2609a3d807fad61b4fe2e1dcc75c31ef29e74f29b08528410eccfa22065803c5059b4ffa1f39460579c8c8a70c29637d121a626ffd096461b29a11656b7fe303ee33a02547c2f68c4369d57ce6fb97619703fcf1b68fdc0d82b5036d333436b803507498091259f7eb8413d07cdabd533349f8c7ab9510a3d8e5d0176cb03c6f86038e50d20baa74768667e8dd77f807cc5eed3dad323d1d8ab0f6c22e99650b028e0300595c9155f395e766de1a1f64fad355a08147b0a7a1b0edee733a6cba785a2a03583530c610019a0c687b090b39891b413683ae295041ab3837a1b67b39c3570103993655cbf402f87a7af589330220662643c6006b6339b4f19d37a1f60f4c2a0405581e035acf2484e09e397888499b430b709ba5dfae16cd9317ee5418ab70eba00c0147031364aa0148000459034b60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102ef602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b606073ffffffffffffffffffffffffffffffffffffffff84163b610188576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516101b09190610281565b600060405180830381855af49150503d80600081146101eb576040519150601f19603f3d011682016040523d82523d6000602084013e6101f0565b606091505b509150915061020082828661020a565b9695505050505050565b6060831561021957508161004e565b8251156102295782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017f919061029d565b60005b83811015610278578181015183820152602001610260565b50506000910152565b6000825161029381846020870161025d565b9190910192915050565b60208152600082518060208401526102bc81604085016020870161025d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220769a638a6b4b50a36d1ea5ac1e184739a9f0ade744c5f9d7e5bad0cdefa1ce2d64736f6c6343000811003303bc09ddc2bf878b34a5e462cdb91a9dd68a8a30d7cf4e8f0a86dcfa2d591bbba603f2e5edd64cd3f457719d8362b8b6625c577575b8a0b0a06059097804658246b50379a175880fb7459b480d7533fbe3dfa0207588358cbabb916aaa819b8028ea1403db3e13e27f97714a8ab60bc5e3cd7975fa91b7d40feced5059f4cd564c2c883e034f3b061d410bf543e1b050e8c9faa90c00d0ad69236f85ee852aa39f6dee96ae032f5cfeeb0bf3a88670f10e56f6c698a7c0307370fbdabd07b13466b4ea92a75403cc1370c0ac7845f685a726adc979bb46bb2f5d6231240620630efb0bd395ceb603df637607d16d11d8b5c37334cce83c53606cb0a2abac1f60196211f54e1760620306820acde63a8b00953672c13a352d7a0e1f45f9d74f8b41dc9b66238b9e7ea6031d567d70039160708efbb57923f49214c09a3040f090ce4d8102c2e3b17ef388032f2e36b3492154648973ebd6a798eca25008d3c291ebfc28c08fd46da45ac582037a4a38d178a2a5d8cc070cd876329e28430c5d149522c8f89b9e1cb67ac6447603e6c56185cd920ca1787586c06a60585eaf968ed882d89648970b1222059638a0037a0e2a1f9582dc40327a484d77a14dbca3d051d916aa351161df5e66f067b74e03740d3e38e9899292c58dcf6ea5c4cbc1e355e51107ac0a263b880b4e8a71aa3c031dd8fbbda47de498193c157f3b38d1825eaa99ce362e37a571778d91144e0cc60318e4d0bc381b9ae57a789faf51997a6183c9099e9604fb42836b9056a3c253130301f67817f879f16e9e6c97136acebcb8ebaa3942dcd56029bf523cb715f6fdf903b0fb8180f1b46277d0e03dedec9e4e8423d01e86fbd650060efcfcc083f0980d03286c947ea3f54f38ec4ba1e3c5c0267a5b703809f775c12d2d5fec652009920e00581f025426c4353c06f71d09cdeb8a62a4c3a84a475be05f10306a03f7129e5f9c480429d069189e000000581f02fec2e541779933dd0576405200089bc6b916b8d655cebc55a47040bdc48e56047bc2ff626900000000000001ce14a74ea8b2293f8000581f02a27528adb9f07c79e07664380da2f1127041f0cd03c1a1dacaeb8b18143746068975a2df5500581f02abc9cf85c5d5a24dd84a73bb6718d0963d1a555e2459b552d41b8253f819480de0b6b3a7640000034c2a3ec0082ee112b44060ef64ba0c8b7db21351002520f273cc4b84574395ad02198b01005820038497afb206b55c12206be889b853cea48ecc46ea3368356e3b9acadaa162f0480de0b6b3a76400000396aa7f569c35f37758aa6281cd87d244c51c5de51c198a2560d1918adb40db16031044d89764b3629824e00db3e25099f7551bc35cc720945a5c7113dc7b2cfa32005820035a5b1caf3b9ab4c90cb00dcf620005d4373bdd4bac1ede617b75a13bb44490459153cd83cc0384b05a8988faf40ed45c10839f3af10ecc059d9187d2f861bb41378cc9ca072c014109037f4ba01e00755a7ff3c1cff34164e94b66dc5764ce41ed0cfe3a1d27f5b093af00582003f77dcef72264ffdbc771ac0570ef318210ab9e07ee51762dd46f5320b503b045518bd660be0219ffff0370fa399c671fbcc42f56388802b32ecfc0bf3fe701e47579490e5fd2c60d699a033f53a7aa18772fbe7b1573e02ab28b51bece6fffc1de67320d8a4d7c02017b8a03a5d5ea1fe3f5fdff0c72cbdeb4f783f7fc62a6890cc02b259eea90cdff78bc770393ca3415ce7f95da1d0e1e9af7c52a9b5b79c120cb7a4a7973109a043eb3908c031337357f8218da3cf68962a3a282fa6c688f08c518cf96d7627016c2d8915af0037051fcbb96c00521390e151892ee6dc085a5a1fae0b5c63c94a75e25cae78d8d0356bbc280f52039d92b28248ab26265c10ea3c66a1cb2ad12180ffb6d8047a2af03a4f420d44c7daaa50fd6b74506997f8d9ce7fde67d7c0f8cdb8c72b58d75c9630321a359a5e77d9ed0576a7249adcabce7a8b1e050531ef2887d68846df70f2f0c03ab16c041b11498ea30ceddc67556b6c4423e3dd45cae82bb017aca01f905ae4a00581f03b1b50c9e9dcfbc928e6432c941b3fd0526dc46cb4b6e6ffec29defd9625047024dbd0592306300581f03b3c0a943e8b2c555b24c9604919921f2f30a231d147f098ab1cb4a664800570d9344fdc473fd000000000005934682221c3318dd4d800219804001410e03a581009b84717c070ab9069d4d1fa68156133c00dc94b12514ef307748310cbf03dfdf5d15fc156e71361b9cd45fd6f8711c0c2a9ecbf1d34c06f8db9459e74f21034a0c5752f7022096e657fd32f45cd42fd19076e071a95dbf3d176c55bf09679f03f80fa39832d28085e0146701c1f538cf22bba8ea99009bd5a77011e6516229ab036b1cb2adbe5655adccbb605d5ee6b5afd3e667bcf4e78110c8eff9b61302578803aa823d01c0e2a18e6efd99f3f37d2083eed9d3aaf9ea09825b840f4c7f52965a0219ffff03f164474568025fe86434c2c2c5103a5d904fdfd56b0960f059513d16ebb7678503a1655526f995717450b9f2854c38592fa2d848c739ba7cdf7aa6e315ee7ca75f0219ffff03015e95dbd23ffb308b6efc36ee849ce6e8972c5e383846911f34456f122a6b9c030d186875f7315e30c16ca2d25fe5fc183b1cf4b0cf57c52571bb14828d64d0ba0379687a47f59fac0403fa23c3479ae0566ee6326fb911c05ee7813f7c9d619cd9037bc44f9b370ac1620b3fdd7e784c6e8612d3a892304ab458e3c2b2c964195da1036b8de2fccfe639bf182f45f64c5f12e185f882f5a83f32a0e9d66f576d29eb9c0391a16fffa298d89982797b98b6c3c68ef0b8347bff5baed6f6a8d7d5754127c603a7e073b26fcd8391c998b888abb42f89cd35ad82552b7d13b444b6715bd7890103893f0c01540a3c9990bbdb006df783481112c0ea6fba092cfc55ae2f899f7a7603a4784beb360ece0b4be424034439e0faea5a347a853a24da76bc0c3c0e2f16b200581f0283a9527fc0ade3b5c3854c9fb986bb5205c0f8a562855b1a9f93f0c13d76480429d069189e000000581f02aeedb7a6c6a25ad07ccd82398a19f674d086e975731b60d75ce808bd459a5612028948c5f60000000000000737146700f4558bbb0000581f021567105417bab440c623dd0af74a80f3f1b0999617cec0b291edcdb882c5572c2087d3929555000000000011d3cf595044c34f26768000581f03dad366fb000f334b100a9ddcec8aed741b376cf9959174e2872a1eb64db0480de0b6b3a764000000581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630548119ec16f0573b7dac7c0cb94eb504fb32456ee10219400100581f02d144717f5d1a2e287f39695970afca1eef2519b7703305491f93ab977084472386f26fc100000219700603436270bb143f3dce82785312f82c66febc6285860763b581cc45984013f4538e030ce7abb772c9efb295a66b7159aef79b1235fff17e290a98e1ea8556dedf92d8035f791713c1f26b88c5ce2dd7d9fe86db90beb8d95ebc7c10cdc8ab4c0af5f74100582003b5fab9c647aec16e1ce91462a1e046be4eb5e77cb1332d9ebfdc8434a298a0560e8025566c1d00000000000005e1fbc603a13507408003f9bb1a15c3980dc34ab377e4dae6e93c13383b306f335a2215136095b9f9c9ad035a2ef66eb992c73b1e2fc1bef14fa7e0185a27c8b07a4cd175464e46d3071c7b032e9921435f773c152fce50e7f35b03673a956c894be5851e2b6b119973a0578803d403867aaf0895e9febbb8322372ace7fb3acc5f677574105f20fbcef8da224403f52f0d30061cb31a1eb23fb0227d9a6f77b84b765d81bbbefab2e46065246771037924e81eee083798f9315d848cd2134011b2b757781a863da0a2a42bdd3e69cd0378299410fb040cbe46e8a6b55a65a5ff526fa29a679f76c8d3ff8e3382de4b7c03e1c2ad4e9432ab29d24652f0d3a6d7c71abcf4dd34e5ef0ccdd8579cbe8ffc1b03c4ae3d9e6674a6bead9d62e9011dc5c827c61e5c736b522c36c75f1cefe4011103d5f0b043015d1576421290d109f6ca99ad9f0cb0277944840f63e535db9480680326894e40f036d040123faf28e14a9e443f118e923d56bf7ba7f33ac2f3b879050219ffff03229a2603bdf2c3e62a4e3eb0a25b38fa4247c0e93228683c5c996999a666b2aa03436fc7a0188ebc1bf6b65c9e0f83aea9481656fe21f90f6881522929d13484620340ae1e860b3409b61208b471efc006a86009f7157526eb0a976403ea2ee3d9e403b20d23d09a8dac8a9a58a6591ce9d70c5ba36f8e058c5faf36cd87a04439c9da03e0d540af1e608c227c05482fe6d858f076316e3c82f982e618885590d2f06cb90334cd9bff5ebd9519bd548ed873d6770e226cb2ab2cb629dc757ffe639b43d3790219ffff03553b68d4c9a02a90d3be76e13400713e260d494da551ad05ef60aee9382772a403afcfdf1cebc5133b03af1385c80e585e2d6efc200bd53ec0cfd7eac88498970803876b76a5549e61ba20df18b131ee2f701c51f3f3026abf4b4cf893c3f2e8fd290320ccd94ec3e5de15a9da9406b44eb805891f8b36c48b7a95b32114fe0374a3cd035b259f1d99c5094eeff21429648653f7d491cd031302dd082caeb95131c8c40d03a8df89715b16e7fa2969174e9fd84ebd0677302b3bbd95677bf9e01e1454304b03ebb3578cb1ce342ec727c35fce0d2f30b88f438b87652a3b02dc34bcf6ba3144034c8d2e8adbe43ed607198edb0790586b3daf1ee94a2352e93fd203070409e53903767011e979f5b12b741cd797a409fff30a817ae52b749230b1de486fb4152d1b0336b54c8e272467358a144c09406c81b3ae29153622c7d504ee09e7429fd474f903bcb2dfb6fea4aa10df32eab566f7f3b6aef97e6eb65355707c45ad0b9be219af03c209502f1e0b49121918dfb1efe374ab9d6a9b9e4315de7c404f03ccb31d63210386be02ce215809b84398b589e26a744ce2bfcbd1a6f8094f59701d6b7a487442035e85b5eb92f99e5d30e88413e0ed92cde6005ba6001f249471962307283f633a035f65c0974cd9eeb01ad05b49b1b7ab28b3d07aeaea27941a8b2eafd5e2eda1390374269990fee5526d80bec6350c14b9d78bd5dd79ab3f82f0eee0cee6f3f15fbe00582003044507517389a8c40940484dbec710b958e05c151f9579c9686fed9a00abd0480de0b6b3a76400000383f73e5acf51bd918bfabbc187a45a2f881cb0cf4e823f137da658cdc99a88b603e07cdf01b3ce0209d7d16f10c91165af8978e388dac58b4c719f0228c9fc4dc203f7d2a29b644edffbec867377185d9f0bf6a73446d2b029ae69eeeadcdbe8e7aa036874e0afc4957329bbf887c171793f87efe883ebdc42c383a0d480766fd722a5039b35405143e19dc17715bcab6c2e34e3c6a6cbb470c9f3601abc24381fb1cfaf03dd3315170c2d22d308b3ab7805ae910f31b3558719d3324a9b33cf8206bb49c50219ffff0372537ad4d205f0889dab3ac18fb57e8ad293ea26bd83088e4ce76d16b152dbea031dbe7e8d9269390e4d97c3835d5c8bcfdc4a458ca01f6b234ff6d71f3bfb9b6403e12abf3196d2b50e15e18492bdde492921611cad80f4b8db11bec4141f4245500341a9be83f0b03abbee42b028a812ede4376683a62d56133d570e5ca02a3a5a0103cdf5ddf64228531395353f92d2c2a5fc8b7893f74a81ce29f657525f3741cfac00582003e22aac47282ffbe3041edfcfc7d485e35a36621f992d7bdbc07fc1fa78ceb04a44a4fb92e16a62690e800393f6c521c73d76e63e508f4372949d6892fb498fd46566adbde8a0b30cf0e104037da186f1b3bc6f0036f687d4829f9326dcb434e709288bc97a184a15ca19699303f60119a5fa1745c469b8f31529b7d21ec99104e520cd2f2b0c691d751621f26e03c5297ab67c9af9ab15086cad384361e6bda5bbdf4843ea916e4bc45e9c778604005820033cd28759972b3edf19ef867f3ad8f5dd3eec01a836fe6c839d6820d0359410460dccc0a3015403308038ae36bc1279737c416a9baa70a5bdd2c3a0d3faac1ad2664acc1e9cd74e005820035164efa4a0c9068f46c4c70b3f5d518e8fc02e18954624475c12212d2435c04b03047d6bbf3ad6cae3bd0003958b63b725e6b651a6e0dc7306eb862798ba14d7c8505dff157ea7a8804d9960030a2bea9895900ed5fa9cda92e26074aef55e5aa70b6a3b7855a3129a94c9a698036a73836065ba8b4efd2e5642a124173cc03d9ee9d927bc27f05a2350343959dc005820039239ae59abdae91df298042cb7d519bc53afa398ec22e6524eab62a82bf5e0480de0b6b3a76400000358e41637abaaff13af59e1eae33012d9920fc57bf22d7f15c6c762c543b7d68c0219ffff0324e70371e0891f6cc3b811a90d831707deb937644f4413bd85d354698ff88a0003265082fe374577c2cd6a547add9c259a49290bb3fdbca53e39bf3ad437ec70f5036852af41cddf16215ee3944f7d7633dc26f14d9e1297e441aee282ee838911f503015db82b90dbc1f1e906f1f75e3b834f907135315d22f894607871948e3eee85037d5c7d4d7130776b5bbc995ddfc88094b3d0e2a3202aacc0017ffe221e0eb08c0219ffff03586eb655176a2e74f394db23b4f9fa4c88224d5579b2f4b954a0b71b66144b750387a04ba5fe688ea86716bcda8de0a92fdea991e67bcffd4031db1d3e8cbc3dac03beab37ee417e1e839405c5af0342baf92bc698c9e469edec4904ff233168e48003017d0c97e32ddd196503cf28c947b159e97feb2e73d9a5e244d7d307a6c5579603b26230a10f59fa3b6bf1dd7791ff5bd03988208e6162dc71f8c2c6b405ef16a1032df69d86f30620915460dd7803b715750c03bc63dc5f8f7be10d3dc1970b3b7b035d38a6ab4d52d99b8055b30e815bd5c5c90a5c383acb6aadd04b9326e55285f003fb208b361b43391b824566b38a00f834257e899e1394eb464d40f7d41cb153e803299c6e0c1b213b466b933d9cef94348fa1cebaffb0aa1c54cd8e26566f88a69901410803a989016fda753720bc582cfc781575452953b755d4a3d6beef994576c81b0966039fde2b03e4e5a276ff89759c3837d7cfbd12f8e53c5733903cce679aa75014c50303402f21c898f8e13fb39a85ea020464f73c750f65ea419c1b2f40474e9c176f03c2e392a116cb68833dc920e481eb7f45617b8d23df58d8c5a4cf3c62db4224630390144be9d22e792bc8ff0a6f0e8656465938168e82c02795a8c598fe1edc341803670722b8b794652ac755708e848d261e303f78864213eac8f890f0d49eea4d0b0338ffc271b41ca3cb7d00a6e507c39a584713962ba0696f9fd6a6c4a2f3a73caa03eefd4d9fc5092d7a1bf098ad6d208d680a69eaa639e5c21af3071462762cfd8403b3f06158e5b5acc871b7956cb84dbd4fd98ed052cac22d18bef98ce03c923feb00581f02c3bad2b99c11bfd3b73217f4f7590a0cc03ce2b04154f7ddfe30a81a683e571c3dc791a57e4b00000000000b1a72754434ebc69b2c0000581f02ed6f78e1815f844e10ce4e9d3c12d048f8172e18294d508c291462807d6356823a43b8409300000000000035dbec5796e401561b8000581f02f1cf2586c958dbb04ed65be3251a42c254f068bce93311e66f1dd9e42712480de0b6b3a764000000581f0225b62eab9998caa95d391ba3f943b63c944c33c290c555c57f0f467a71f14802c68af0bb14000000581f02e4d88fd61de2a1c9ff99e34cd2ef1c9d60bd399332aa07a7ecfef9de9e5347010462c60f60e100581f0263b5548cbe16e70f1f5df55f067e7b3f2bbdecb14c66e6fde7b4b64f789c4c66299d00000000000000a4b1021969900374ba7f42e41ab151c49246cde9a0886a327980f0d89050bb5debcafc13561943039ff58f46a1ab75cf6cc8cae0dce271351b0f25bba31be052dd503ef2f177fde70219ffff0394d7a7f70b125223514f18583fc231387a3121ff414a62d8dce783e58c15217e03c906233fa0587687ff4348009114c244dd9a479c798cc45e9acb4d42f0f257f103a83ca4b1b1e45de60fe84e82f71804f2c94954f62c2a59c20cdc719f23da04e903bf82f6318655c18804b591bdbb36f1c450fb19ccf10e2dd8c59495a4367c923103b764dd94cd58fd4ae06add3b5550cc75064d68e9d9a1dd0167cbef7b4978ba7403eb1d92a7206e01c96886141cf9484e1e51c135abe53bea038eb7298d8a8013200310bdb284598ef3637a36ab4e67dd3a5838426c983efea075824e279815e4c5a003fadb13b0f754e3d1a2e7db5cb937a120890d52f4b7491835ccdd043c126cf6b403f1683abf2edb5b1f567405c91c16f42ce11482dc429ce54108fe932b167adf79030d92d2a2095e64bd5d96bbd2153c476ab91e5ee27da8a9b336e53c322fb4125103bd85b2fae2f8f9aecd94e28af7064e8a3c5f629043f25e22a0dacce0621ee79c03ea091212bc596e0d72d8d934bc5c57bb5cce60aa62222f1a5bd08c4e4a3977c7005820033f955b420f2993a44e798bc6aa3cb8f0c11afcb82ae05e6c307bf7ad522a705417869a20000000000000000009637464fba5a000033c50e0e670231de01fad9e261821dad60edd9d953e4bef70ccd3959f43efad9803a744e990e241ac538898b6393c20ca8a13ed641c3f75f548d2bf6463b3f902b600581f02491eabcce59f40c85c5bf7798f5afee27621be1d3c98e72226d4a39c56e44708e016e1e9d47100581f0217058cd736a786a5ea4e4ec3c2b672ab7d20954ee559559320d6533172694806f05b59d3b2000000581f025d755145e113d990ec9e9c62bec8d4b1b3555b98f71958b1d8324b947c9756efbd4f3e6435000000000000610ebbf20a64ec31118000581f02c47235683465b8779fadc524a31016b0b0ad2580184c8179e9c39c31096e561dc938888c9a0000000000000c19c6efd0bf199f350002192034035f4c279560d464bb5d5f17ff71ab6124f9b2f6ceb60a70e139c0d97a2066902103dfdac3ba14b42dd888343813161648fffb287171d61e9d61f7c1956dc5e0326b0219fbff0300b8b17e2409bf1f5faff2a22e3700a8a8ad1ebfc4df51581d6f3faf14d09a39036d47541aac3b855fbd2bd0c0ea347a0d0ecd3d1442291bf6e7c1f8201be1384b03ab0b29e4b9b619882d5c5708a390ecedf326383176b394e9d1a1e25c2d115ded039f1843f125c9af679114af00da3f6fc461c9e08c2df114d45b219db45d3c833c00581f02c245e48846d9c281317d8dbaca0271a49a2b633c63fc5ad98015d75794e0560b078ed22684000000000000046a61f4795108bd6e0000581f02c930a6bc9da193c95648b04d5109a4404b77401d49fbd5ee4390ad2f092e4a44456d86f9c863a5db8000581f02e10ddf5155acbac5a2fad732e1f910a2c84e803ba443d7947f3498f7eae94463d1c28000581f0279e652ccbf493aad394d1962ae7928195e0408d3f428a4407cd1a223be6e446424d10000581f0213c94b99cbd0fcbe12850d76dc5981b8a3aa06b79e45411d896cd931c737480de0b6b3a764000000581f02b12c1f23cdb37532f67a7a5c2a889201cf7a55cff098cde1221314b7908a560f5bca25b41c000000000000062464152ee3cfcb900000581f0280579f94185167a386be3bc2e4f22c0bc968e731828ab35a91bad371881b480de0b6b3a764000000581f0292ccc313c989c5f3f0ab7ae10a9ffa067601f026e086b3f8b80de70421f5472386f26fc1000002194f8a03c8cee82532d54014211eec15b16ef2187d16dae318cc616943cad6a803fc999303b6b8855809746e4bffe0920a31bb2d74906f4a68694d4cf0992630f06d2bd50103f825df5f495a8d473e13783c5c528fce8dce738140b8cdbf80c1e1ca0d01210903f13c0fbc20ca3529d29c13a2346748a5a77778cc42c011acb5d45b738139a8050389e1e3508e79aab0d71775c5a5e4f6e97f1dc72a10a62d69ef3d1d24798ff2c30357e705ff02e2aaa7628622c54bce9c91c59c7243a2c4b496c9dc2b32095f318303e9b55dab5a99b2b5045f977c47031a530a7c7d317ee916f2378ab37cd8df3d1d03ad5e7f94ac1b8581bd7383603884c69f98e60ba9e3c22ba7a826513c39c0f1da0331d9ccef6c0f8dd5dcbf4488d26a388a72fbe1a72606263197233671952670e40058200337b187ea73cfa72f83a67ae4ae7a8953a30238bfbed248741fc46304a01430455cdf5d565303e207b29c5be001b31f09815b28eea90ffcea2bad5a787dad24c1bae71b71a48103483264340d49763a6235c4668fdac6f76d27ccfa9ea303b06c460eb471e1078e033d41971826f53d09c11003f6356342788077c0a071ac88f0656ff93ca52429f703ef20606533e0babdc1cba2b477b9de33a20f2424df1b7ea1a8e2245d5c31e90b0385ed56ef5c619a68f3d67ae9a5cd9e17d4d4c06cd185c73a7e898e13f8016c8c0219ffff03321ba1f87298f5e601c77f069fbfacc2c09b53705cde3a9e6e998684ecf25f7f0345f689aa7cfd4d68d4235c515e1f2ac1ef2d365295816e5dcf1f72be56edcd160219ffff0363e4bf7081b396b4d06c15c5b940e956bd5f2855320f4ed68612a417760e465c03efe22360484fdb37840e15b540112f1767f78247dd1c5b1ad582843c6dd0770803c546706f051d0a99432e6bfff65b7e27996ac1cfe0079af6e968cb3d36fb504c032ab9fdfee4a916365100c0452e9154877df911c8e7d5aaa80706e784f768306f0394dd81841155a7dbb42a28fda81dea6ab3ad081cc2260d4368ca63d9601301c903ab49bb3260c23abd2efd02b19a2ad75f505bb63f7747a81c8d855b466f0f7dbd0395608ae0a8fe5929116b34fb668c5919fe59ee351cb224a9dc9413cf696a6a7b03f8db2074cc87b0a5065ddc726e5e4fe316cb32a7e2229895d29664d58c91832903b18af3a36027b94bae8d7eb4913982196665741389402c648a9644d7f2d89e1e03aef8aa3187658dcdac498e38f428ce7b2c1f83cf1d167ea81e018ab0ac161b110375efd564131827b6b06dc0f882a5a843d47d0898b866e7b57a2564f42a9424fd005820032bb1181abca2aebf5bb420c266d41b203bf0835b589935387a9261890be55056015f7dd6a533000000000000008d10022a35232dbf0003851335b3f4dcf9d4db6c5acddf4d651588d5a22f9edde0952ac761f101c6bcf500581f0209c3b1389cd1d2bc224eeb789fa8c782e84efd1b0c7d3e3d6eecb16e22e4446437460000581f022d03f340b5c95ce556091e14268cdcbaf69b479a306e3f77244f92da18334a72abe196edadcab3040000581f02d244cfc6d8ed4be70878f4d56e2bc4e122f7bb41acbc34c0955ab6c072a25616cc341c8519000000000000094228e1bb1a9751fa0000581f025323589233c489eed5315b475b2eacdc7cdf9babbb1d92b6b573082561c64803782dace9d9000000581f0244640729b607cb0fa781427e779d31d13f3edafa8a2ed3fb10517654d608413800581f02caada955d071fea41bbd0985216a1cfc015cb9bbb32cdeb15fcc3966776c4a1d9f457a6619d17992800219a2290325301b287da25a6ac13203b2dd376b2593f0553e4ba9118a2270949bd7ab4b1203da42dc1fedd1712d3c8f3f9078d3fea70d96faca3370b2ffe97b996727e163b5035c553cda6313760ac21222daa39c1d742f3f7f0987d2527ebed8d3102ac7ce9e038eb4a5dc7c41c55ea174b5895b8a0144a4cb2ab40e75e257350a53cb8807ffaf0335a2c656bb1c8c0a0fce651a1be01c9204f310871fe843460654287f13eb1d780058200312e3e627e96990524be043f6620b9dbf0cac7ba22051f9ed2833c9333a61e04806f05b59d3b200000327fad38a4ebc237b971cb0794094d79135eb63f10d9b1e9fa7672e3b6104400f03fdbc170f734acb296d81f43330fc27831c0858ea0232c7eb14f764e16da81f7903f5dfdf5edeea634a0f32e878183647fb34c75c912aaaaf30a4ee7e0175821c91035ac013dbaa57e2829b96cfcf9873856abde1f0203df8725cea204c6bafa3f914032e4112ad4d16965b914aeba74496092a915b285b47c88c3fee9632e873462ddd037285441f57eeda1fb532d68632b45ae73aa405fb89a6cd5bf09d746c4199d8fc0219ffff03bab5053806cc481a7b510613c072766ca1568afe5fe07ac366527fd520a66c2d037e33133d75568d0ad43bcae272efe3ce0ed356b80879f315b5abd6b1d70f88fa0338db33f952c083029e2ad0b5e34c4abbbe43267bc8e44fb1856da6d7297daaff03c459613745a45773f84f2d6bf430df3dcde975e5b72b983316a4c012bbe16c0f03f7f97b1eb15e6453debace3f1561824363338ad41b334860bea32f747ab792330219ffff03caa71e4229c526a5447319e5426639848a458b5811afa278b346251d379187550327e26884eb83c0f2030d6ed5413c3541f4c321da1f1b95860d768396f076eeaf037a8418af442d04d6fbc50bec22aa594db52ac593645f6122dc9ce8249b2ee85203e17e1776b5f02dae64439ee6fde393e279ecba42f8bf9f5b1a18ec96221c4a68034c31acdce52b0d484e681d513b6fd3b7cbcf3f42244d98cefec7ef8ce25b29aa039c58ee3d1fc5eb0d450df0e44ba7dbe9ea9c0c79c33acd76189f3eadfd2fc7ef03fac6c4a18f59ba6038585fbafb2baccc08da053db36e6ac17a06d1902746ee2d0317c7a602789cd0a3bd349db1ca47aa8b5bfd8f0582afbe19668545223a7a8ab703a5a87e41245768b6066ecb101a470170b0fb40603bd6a8aa288419e856e114ce03a6e9ad933288fd6fe0680859d287a44417ed037e558b79e984641a06137581480330ae9296db900e85170cfa585e2add7a40767a6c9ecfc5105a7aa8b1aeefc4e1005820035a12f86dadc4d3ffda37f642482ca1f2ee8c349935654ddc5fdf6db3da95a0480de0b6b3a764000003d7d9e3c16a5025864fe1e633c449ef2032ac79a9906d43db665c5d213a6482f103e3c8f33db213f792637f4fe6767c49015f9c08161524d2b704de53e8e90e4fd603fdff68be49759de3ab10b0f0961112254283c6bfc84d9668d9ee3d62a4c7af0203780befdb929711064d0499208e622c5597f12cfb9eb62e89e3e3c83723f0d0e000581f02daec704484b957e2a51b2c989c76fda0549cd4d58803d9e9fc1f6b061aa755567003e1cf0000000000000022a73078d3c18d628000581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d541fad3ce1c1ab563441d58b79e49cb0ebc12c1bd500581f025632321a00c9d3d4164ad5cad19d282baad0278d2d5ac3ef4ca3e85124a54806f05b59d3b2000000581f0241d93920f5730fa732b665c45958542f3268ec7398b916d106e5ec2b00c24a090413ff1fd7ee772080037b348143d5dc6e5435749040ecd4d23553ea0df630e04e44359d286fae79a31602186e039892de184711960a961ed293ac644a329de862f362daa96536ecbd4e8025c3a603a848a1defaccc3a9fbbbd93b0eb49e5cd87e154ede91e9b1eba84c82eb77e87c03089514b27d260610dd32424d6e7f2bf04f25d2aa20ae7d320d40bda22d9ed832039918f700e724dedce168d9bfc7cb8e8c334d2fea77f4db4c63990054622d2ea20219ffff03ab31583484bdde94cb531a2b4e33857ef4c3771a54504fc8309e25607c525c4a039994a8608244aed0bcaf273c9448e95ecc41b5b46ef6247ab8241127c3e2d14103e5c1bc655b1eb661c7d7b749aab698f03c075207430973f4a8ccf8ecea4f30050346305ff4374590444ec0cb52f912b1d69dcb9286feae98c34fe34b9e1ed62a8303c490ed2bdbec593560f8f3801300438cb79a7816f2d2aff0f5567e13797489de03de95f1e9d2db297146095b8b4efee9730e2bccbe40885faf3ebb0857ccdae02b038234ac663c2083668378104b0496f9466805642400c608d511e9f16380dc5a290342c92fa648a4eb2dcec8c040703a3295227f87465496c8f2d6ffd94fa0882f1e0377e01a274a5519d5634537628948a5300b9b2250f343d1ecaacde6feb1700edd038da7ca07b6336875ff96295f6acc13e585686f81a58c3e3971f345abcdfe03ee0219ffff03cd3e752584c4854333cbf429da3f020f41029fb4707f4984095974d688a7769a032d898978ebbf7f696e9e3ca5096866c14d1713d5683c89aeffe4a8cc727d6f87036a09043f5f7958d60e4b9adf4e5115d5a7eff3869e503e2defe0615fb20ccc090361966c4312e0bfac9973e89b056098cab0d068b20e1487b8790f69994e73423503e8b8fb1a371466dc22987714af19ddb536dbebd07da410a23de2a639081875b1033a08500ccd970de3ba47b1d8855b7e01e1e86da711d131d47804e69c839f93bc03df38b242389864a92144c79a3a74ba3bfc530ef3a4f41df97ed6d75f64c59cb003424f6dcb677dd2824db052722d6f25c60190e1734afaa97a21e14925525cf3b703a30c5d731b8e6cd664f3c4911ba93e4564cf2d5658dfa1197e34c02d1a9d1909033cdc41e5a02363ba1dbdabb0a40ec54eb079ccfe2f21910596763ffdc1d894b003a2413671d088159f7d236cbb93ad4ef695dbc2ae596b3ca321cc3b802e119ac8032fd17d7eefbee1cd818ee81eebd5e9d3078b80e273dd124dd9cadbc912806d7303b00ce894b46d11cbaa2c35b26457e5fab2f534205cecc0a7ab62eacd2d6b0ac4037fdc38e8610f528dc08ff02967b55feda547e97fd76b938a291cdf01614a81d303e7ea447b7a430be526fdfb5f8318ed096128de376c29c5ce6283bb3f36ffeb6c0397d7d204dc3c1f81f029a8be7236fd6e45a90a123f0f76c9d50457e3d6c6e48c00582003ee78719e880616f5b9cccc043545b551565b6d2058926753210403366581504b0182c1e7142205c0142c0003900de9ff5d3d86d20ab4613712a73cbe390e5607132cb603395a9855133dd9a503a185bf579b7ec901b840da907d14c5fa6f59660f07918a29ed36d6bd22d5c4da03f38a1524bf9f03672345a2468abb0c88c6c04255a1fc4f41bdac1afd55a60d1003bf59f7edfc31f5dc371b0e251b967d021f44aa3092d4c9114ea4124b1efd97fb03deab68aae7c8e5cbf95da111bdbb1ea384e19b3af2e03a1d5d752fea667e3af700581f028c9c03a7273d259db49f99ddf926f861c748fad68bc997cae91ca5b3783b4a54ea79c2a08c49829a0000581f021b6c2aea9c2a2e9e889e01a37a2e542a2319cb808a8491864a272bc0059f480de0b6b3a764000000581f02900895988381bc89bd79b5e96bc3c793d0f4313eb37b03ce56adfce600c0480de0b6b3a764000000581f020e9d69c0346af66f505fa942c8ebf3c241921014954fa5c68810b36b1e3541020219924403c045ef7d186fc3e5e3f97ab1408cc0d157d49bc59419c77c90e2932c07f3da0b03e03dcd3a9760f7bc7b084aae5f2a8a8767e162f04d194627edfb63ac0441d5bb031c31868836b923d1a0dc455eb52ee5adf53f0cba0436af188ffa13f2d052bdf80219dfff030217de96b1a381505232a49b6d340a921c5dba377d7c62e8f770a124785297cb034ebc8ef9c206c2a2cc8f7275ad16b7bc93702a4396c3849ef86fe158a8c9a83a0393d4b37a73ace5b58281e5100c77c6f82cd297618da55250a4d0c90b8500111a03da29bc8a728d2e8c5a36b7f93f3b9c6686f5b88a8c5bcaf10bfd55833e72762d03f3b88cb5c9f1ca033a60a2b2fd4b0c70d4e89ea7ca900d2902ef098c84478f3b0219ffff03415ec021fffae02caf4485b0664d1e75458e92da92a30c398cd48c3bdf33fa520342e1f2789a8ea29ee402fd987cfd196744d3eb4ff798af6846ca22a89c29a290031138cdd20db4bfd46c0580d580aa57a58c1096d7b1ba6e3ef11ae268eb46dfec03550d0a979fea686a785f3361c40cfd0943b18a9bae934f6ce0a001ce9b17398103ce86d955bb707c37bbca56a916db31366a414f4d4a22f6c010095993c068b9c603b47ab6ae03302ec59e0a515d4f87bf797e567cd9d1854a595f1f187a612a65b9038e78357064599f024e23f832ed2b4053e11ac9787b655023a161cb863d7d948d037fad2d076c1196a570ed69988eb75ff7d4ef092243439625530aac7283790b0c03309fee753ed77da619027582779e4fe59ce296e1b388a78d4ff31d5c1993f341032f8eaa01609edad59d3eaf20c02559b77f4f3bf405419db2d4e6e152bd41448e03a27741706fcb63015bc753fd5fdcc20958fc5c451006a460b0bf80866069d9f000581f0254ba8007688aeb3e6a8f3d9443f774cf5958b1e5cac60d1ddfa5314ae00b480de0b6b3a764000000581f03f17bbdea67e0b329f7e6817b9d452036562bedd798ae99074accc62acb404806f05b59d3b2000000581f0383d6b77e83e15e73511cf05da70bcfd7d14598ad35dae59bfc869b75d800413102192010034a4fb5ea589ed47c6b5a4f9e04bf07383d2605599da9189a8b92c71f474e01b700581f0204bd5e00fece70a975705736b86bce4629e53cc4d11671b4aeee25fb483346388b4793981602190624005820033cb254e8c42f91ca5c5e445190d1b6d952dc59486a4dc2094b0b7449e1ceb055db214eb5b900000000000000578a96d212b62ac88003e14de72080a2395ac23b766856b548323f8bb4505ecfffcfb25dccaaba3421310363b044472e4708ee46c546b07fea001b53a6a84c930c8cee5e663b5c2535a5e9031aeaae46eefa3d735e6d3fcb2c4cfaafe02d1b0a8d48b1be388e24ffe5de6e91039d5b739f8c789ae7ec88c21f4e766d8ceed2f4712d95dd80fc4c6a4343edd022037fe8fe503a1e853406d820cbfa9382de3049de739dcac64751175b7e06bb7c7903f51e28570c8b2b6a75fabcb3ed7f5004656e30b3adda297c664fe4fc99eb5e51036fa895524bda7f278c15384f14c524bb9a2626f3a5c808ce425e6ced9e1103410374c07b652a75782e6845f3c59ba2cb2db0f8c5e99c7623e8ec0926dcc7343a310219ffff03009cd58e8093c8a67a30c5b344280f2e2d156c05ca8bdeb19cbc91bc2bd59d7203111840c80aca1e6ca8fbbf4ab297f74d5adc231e8ecd10828cc2995b823b0393037cd813774bce5ab23242c8d024700ce3fa3438ffd095b86362c5306957b0b367038e0d857bbc5777975908038d89f37241cc12669ce79b7c8a2a6294a113fc8ba503c49ad192794438fe44309c9ec6b27bc31c8eaca11d32c91068f9abec7b4033aa03c4a6bfa1c20335f522736ec6720ec8e5f659efab40f3215cfcb1ddb74bb2269003349a93b67a289725a1fa6048f8112c483aabd33cd078cba9f5398cae440b86fd031daed79e5cd4c9d1d60e1a5bda212eeca13935835b7db60978bd4c4f07493bae0368f90ae09e4a874c113b4e4437c3ef774eb02ca03f466667d681720b8f747fc803420beab94eac41770dc0cad39a39dc34d30028c943d8b91f3383f67809b9a02c03f725f07fc54ff1fb5ed668207128e4bfbdb278ba17e4ea42bfa0496600e4cad6036e0b88b4e3cf67b568eb3f8bb2e85322c850c1156afd39fabb32dcc1fe38e36300581f02dbea0d39ddbbfc1516280ca51b3a01eb18fa14794a383b1e7d645284c7d256014237d8092400000000000000812da15e1ec0fa860000581f027f852885acc0bbd38ce25f8d7642bf2a6a5952c58deb34d435b044434a365726a0b825802f5c00000000000fbfab225b118f0205c18000581f02623fe0383ad863a9ec0a969f24c8a645c7087cbc79779203274ecfab781b5417869a20000000000000000009637464fba5a0000219102403cd4855759a9c61f1bb43d62ad62bd4589ec186246531a65b9dac318b89c90548030d29f3f28b33433aaa4709bd30a31ab383d0a84a60373ee4404f5d44e587f93b0327698d2ca70df2cef4ec7979ab70d0347969ea4e38def39a418522c69a115bd80341c53820d222d6d8220d1d233ac78716ee8ca319a0819764ff05bea5e39fc0ff033e8f3291a82c2d5f2d04b1234ad807c0f3d54f7ba73a24b721605fd5f4f8eaeb03170c603a9a9f8dd96be80f13bce45a22420e57b8d89cdbb5005628ae64e83b300219ffff03d493385b48598daa186a62047146d0f710ef3660b0e4e876141bb12265e60f95039843ee9ff8c0ea9f80d0c0900d3aa02ae7f5b53c82a879e49bcef6892763b24203020ef33332c93d38a1ef4ff8166d74353025f33fe8c30f65a885e6077cde4c5103a38bdbe4526a0348b41f44f142577223067f9430215afb52adcbb1a7afa5ccd8039afdd4e7bc333fc77fc811fdcbc6a6b1626d97b1d3c4c93aab6b19f20026a0be033413532c18dad4456c3c45d546a0fb2570d11f19d48fab4b7eda3f12f2255777033731979416a54cf3aa8242e8a66ea15037ca920c96caa3288de66f6af27c747d03c8322959390d3ccc6925b4210782343eced44abc0785f2d87154aedc77628612034889c1e6808751ca512d52007b25e233882d2cad8472c4cd9105efeacd1e4f0703e5bbd184824d1bce3b5c2a8e599b1e7944cfec5b7aa8312225e380c244ac2c830219ffff03dc68744a4eb4cfb66a454280bd9c33f0e7ec2947527f2799a3869e9a5bcbd0220333583391d1f59c415b8fab97df75eb7a38f6ba3af469b7294dc0692c4dcd8031035b17b79a372af6b5184a2071f0eff62ca2486f24f38da22d49f912e0433a476b03619d46152b18bb375a6a312246485e1e9aa669855b06f324ad1ea2f7d1b2c235030059317c817a482db4c5f43e8ec7103b4db8739c0ee69885e017e1e2228411010300196cefe26023443cf7f230b9c828a3499c6fffb9d60dfcee9830fb0c3f4d0e03a6ee9e9bf1388cb67a238997770860966e647a721d7adf6e825be8db957f61c3035f4f70dd4235ea197b1615d8da1a1cbe3c60fcb68fa55e9b995689c29f5ddab203000e2b6a1639896b2c11d275080508bd836b8f2cc58f42d540f17f8a5bc492b6005820034b77961b39b62274222c663b96f106b8662a82d1146233fc12004573e4eae04806f05b59d3b2000003ce6820482f19747d14ed561dbe8691fd776a26d25649ce5d48bb25cc0477bddd0338189c3db4b24315ad8b0879e870fc85d555293f3fb607d684bdd10ea536ecba033a246893d18956012e00987657d16f8ac0a141a7ce767bf39cdb41c40a0cbb7b0336490e001f9af79e71fb331e7a4163ed56d978b46c1f9fcb5468bb697884cf08034178c68f1568a892bf87a08bb15a1b82f275d3efbdbd6a0bd097d49e05d54a8703b5768aae7ee89734ab3a8222334a7ed8a7586f22cfb31c6140d3ce910839970803bf3cb12c202b173a87736b5dd5a076e9bc22ba9a1b311650fa37d11c470ffd0103cd36d907a52d558e479dd44b716e647008f3ef972c4f81825bc9458cf6798040032455e548da9f3994e4e6b86c488c386b60b4c2fcdcd93d385c9a4cdaae26995403445df5562fb59d22bc0d946923b324d65fa0755b71bfd9621d37185d3931361b00581f0259a5d26c8f7c47a10fd69de4c074d5b2884821cfb4639d4da002bd9ce3ad56329919bcb6e800000000000013e49e1ecc382d4ba00000581f03e9bba07e40f682da3e4da65550ab89735ae5c8c900325a7ac4c2ec8c65a056194c8cde5b7400000000000009f24f0f661c16a5d00000581f03917bae35e7799ef92c1b518dd398f99b8147573acc42419fd23527c012e04c66299d0000000000000013880219420000581f022d65442cf283e34c725ed4bcf5dd98ba9365714c7c7c8f25d8e8eba42ca6476a94d74f43000000581f0276a7106d73e033e93aca41b527d186fbceff481ac07f6426af063308a752480de0b6b3a7640000021910320219dfff03c6996c875c3350a17a96960a110126c11c065de688b2710a6d6cbdd9d94366d503b5292488befb08c97e468279e801d857ac5afe4f5194cd9c0820bb389fe742560314e8fe6e7d8b0f0bf6f42915d0a715e0661cee90228ed4fb73bb4d31ec59a9160331977ec5d84030bb3da852ad943afae5093239a6f75960a15a52622251cc5a2f032685e2138395be1f4e0470dc02169386f27ae8cf6ed27c530c8ba7d9da7d9a03030b4d278ab49b722512a4dd521eacab3b87e690e634ec132f8727cd47123f8d7500581f020b37884a1158caa05afa9236778f13c836ff6044e87d13315d9fbdadbe91472386f26fc1000000581f02cb5e223b6a3d754959780acde927da43daca67fa1463a38ab0932e960368461c273ad3f4ac00581f028ee79c5a15ea9fa6d34af4c00c13ffd73154a4a3297448377666314cdf8056068975a2df5500000000000002b3a1db501721ea6f80021920c00369634aa9c6d1e17f7ba6bb0706443bda5ebdedc2f153056dd13e0162a111add903b878065621820aed91348898a6678f994fe2ac05dfcf68b0b96510eecd43784203f9d0de89a5fe81040f73043bff89d22b2084612766c47ed8c08743bef317088203145c9b7149b8cd3e47c769cd33977d4680d5b6e256a203305ef7aef5c3a22952034f4f1afd5fe94d41289624b8c0a68389b1c64cb05df2a4afa0a860b49c6cd4d703282ec6647ba272b9337437fbcaed8f217ade0ab4e456075ebd268385699a5a7b0378d7245d5d60d9869cd0d006427d9e6d34e76f50c24ae0535f956184e1521ed300582003ebf973ae7525f3f247db3ada13ea9cf5cedf68a8efb45d1892987359f52380566c725a8133d00000000000002be779c3f4069bd6d80003408e4d6be46d81c7b234d0f839e4ab128b76651fea665c1b855e6297ba7e720f0329badbdce8166dc0e757f365e49294499e536edbc7e0c281982111301ab77ecc03cc6f4ed1f946d17d32af54d9ca308a69f16b8ac65d3fbcdc717f3504d06d976f033828cd15467612eea304b4fa7cf2674e2b4cf6a421d9ba8737b63fea53615a870219ffff03d985f72b781a14b53f4778d9adbf9fe535c57722efd75d25f56e4c8b208cb9e20374843e78d74156f80ebcbd94ca5a7e74c284cd102c17c055be6f2d122797cede03fec5f8063679257be5b2eba85b3414d1eafcf15879e865ddfdaf3132f6a4619703db15604bbd646349146e9efb87dd0ad5aec18f06026c3f34c5118b9e68614a2203c7ecaa3dbdaa59e0104006e9b36f8d75f5256ef881e09956ac0fe5a212eb9b14037722a7b44bc309dfa3a50dd9249e3f7f2a13418834817270f39d47f01f5d3da00219ffff0219ffff05581e0369d1c5d978a358bd3b49f7347499556ef6aac7bf4312bbbf5cd962b3f0070119034b05581e0339acf9ad92c6f559587978e6b5dac24ee642ee9ce216ea00e6a5bcfe200c014702892e1573d28005581e03d234eaa3b83394773c42a35db97e254ca02f9c0244fb5ea858391b9ec00c014711130fbd9f001605581e0300cb8d6e2d1d13e43b7b31a47c5f19d72d3aa60752c1ef4ed9e4e96f200402035914687a722b59db2b92896e11aff84b8108966a76fff01284de348d326b512205581e035554bdd0932908ce40c44ff51a6c5a75c3b63e0d0446b76bdb5cf723b0040305581e03d85b4c5506d1baf301ad8dd1a3d75b6152fffc696bc84af5017d23d050040205581e038c9d7b9e4c23090e14ef0ede52596192349d54ded175e4ef099b476f400c014451d4fe5105581e03b103de92a962e72b96b121dc0b8ebe5b473f6628887ba1cbab5263c85008470c9f507b1270b005581e03e1b7801657e076dd08f606d8c1fd530233d8fae32a702291e09d08c630040205581e03281cca5f2d6a4fbd5ec38ef613d818d599190ff2cf423a160173095a400c014713956d037d00000219dfb7037b2a86df4a2f5847d3adc9cde744dca89c42e77a2f795116cbaf973e93a13e5303cebf6f94539a3b5f4215fc2d5c3a204576d21d23e84e6c0f0e3052aae12693dc03091ce94f18c867056a239111d876e1146ef7cf7d4b5f40c5c51bb240e916414d034d746b2ae3a0a90734b833a9e42736c4625a4cd4de689f50f2da0992d70d4d2903b77a72b35d6aa4f17dcebd45d45047cad6d5288bc9d945fe4ae75ed803fda9d30324596621f2d2eee4a6f8fb633f55a9a5ac79d742ed6666e7173a49ad800a4fde03bc94284555b2f0853b3422618438f9369c5638dd1351f173bfde362e6feb5e5503ad1881970efdc3bb5d5f48b9e40eb7f270b7a77644371a8b47d39a8d592b1d7903caf1b5526108820a814ac8011a9fdf3f1f6acecb3398ca67efa3352980a374ed0317e274880d783b9e8fa83d7d9f47d88c15c40a1e129fe18a07828e3327aeccb20219ffff0219ffff03e81d63d586694be54345cfbe5c10ed3c66861d76ff4afc8695eb7bf4e84ab7e203a399b9bd53efaeb5e1dca6be35e30215612439f2f52f42c511ccd3fc50b56b2203cd69fc6d625566616664cdff4e8e2afe074ec223155fde7f3c9c198fbf3009300380d426f0cc9334a492b861542f9987274eeda46fa767cf22075880d6fd9d3db203b2adf8b236771d7cc7144426da80405d2bfbc0cbd1ae8263da23c45d3422802a03f81c4ec17150018b72861b2df8ad0aead83ab26e78a314195febbec09352ba8503a568320731ee149b1c3567d505d304ba20c757ae0a51eb815a15626b9acacbad032ba3687742a9cd1db1675ffa40754d27cc7f21883e9791c6df165e8fd054466d03c0fb512a829e931235f8c358fe36dc8497c7d377d3151c7809ebf2e709c1a53903fd6522d95eb72416d816b333377d8b0a6285e42aeb7f1727d44e3ec8fc91c83403499e8b2035f8caa51a6c309b3ef4d9919da013422e4dbb95e2aeab95374925970331e7c7c9105bb0c00a0f192d3c1364e953e8bf416c251484429cd42283588d12030e303758665ea60bcc102619326eca87f9e2539b7551eb36d7a821eb9fc37b250219ffff03f87275d88408e67a3f2b91e9fd76b80b1046e51e0f5ab26f58b2e078276f86e8032d5699a8e7a329c186e173ee78f14d79fc4b1c232ef93585eaea00021c634f590338ab5b094f4ab9b8f173d32ddc8410640673e861e2d2ade09f745440a0a4a38703db513d5c9d16ab68d89e349bca8b45c95f7791120acd2075072153c088065c7903fddd4be8bcdb14dd3e52ba29e166b54581554e007b0bd206ca14d0aa5b82ae80030b627cb9d4194fa5ef9d6a898c9d013cb829478b388607d337dad6fc807b7c7a035fa0e5d627a684bcecb2ef5a454e94159aff7ed1d06f1f7e182d9d968beaf42c03d5fdbe6b94dd55caebf54dc72a2197bcd330e7d8cd55887c8c9343d263ad63880219ffff0219ffff0314598901a1d2c06bcdb23baf5592051a46c6d9b0a55dd0036973f9c1a665b2a4035bda5e1d4f174479788551ef2a931bb48659171261f74cf6b630156afcb5e41903cb6afe3464b21362a33613c241ce60b7d39511ebb630d19a15cf81ab6e7561bc03de5b0ef0f25a75d8477562f9a41965c4ee12ead60ab87d77c4588c9e7fc82125038eb917f7038cb9cd2cad74259f772bb5044c644586194086be46f051b5b0976d03304b6ce4e991492a131330b6414accbd818206fa704b00d09741cb8f696451f2033224d67d760937461b5524f5d62be0645327ae84384bc290872d71ce03f3dd7d03a47689f2d14225df726afc630e8c4d34bd8c522294b7d3d620afc405d6af83bc03c04e067f89164a57b18e410e5179f2e1eb3eaaed9915aeb2de1ad6b70d547c710364e25242c6674a708d462869360be1a3240fb52e476760f52101be2c080242350368294864105b1f1fa593a4a245ee6255249dc2a6670090408f093c141b44d9a50337649074efbbc7c4d8c111ab8e40aa4463b87704510145f6ac9ac2ffd9c2f707035e230da3dffe3a6a7740b53b26536692c361dcc3a4b70f2b95ce6cb97e49f26003631222e6d9f29e10a17265355aa795b66fc066515385a830eff5f41bb66413fa03d9d06e48f3b97c517e558a0c75852082cafdba45f9f6a1b75912009dc59aa2d5032deeb04b30720b1f0a44ee6bac555c67e16d39d861d55172fe5484aee60ea45403ab1d63f099a50685bc16e397621d68e3399bcd441150023b72568076d7032531037d145950d7294adecc26f0f35b43e0cfbcf2f6c7062436cd21571aff2a7dcd6b030787f9bba7c0b5fb09db2f61c4d7c942acb27bc531353118222246bec5513f6d03555be3c7d87fd12abdc75ee820b79f3fca9f6708f163b05bccdedefbdd8f72610309f359d210f7a93af992e7175ef310dcd1985a666ff634e78aca4676120f6ea20348adfe433d878030044358219d3c9b7f2f30421a09a1af14fc11e363c2b8777303d5dedb6969c7ee0935bb527d9e1fb0680f5a66a646a7451b2dce0dbf3ec97d1e03d12b2268d3b48cf7b7e5e9705c06e699726d7d64b9c7fe97effebb89b12da7c503ce088ce923af779511a0d7cb152c58f0329cec826065d927e8d3f4743340623b03b77b082cdd712957518d101c7844deff6d557871debf31f894e7b175b9da0144034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e038d642606f1f818c4e0f7f1b92aea10fe68f97bef3934b051502dbd7f8007011bffffffffffffffff05581e030f0b0bdb7713729cc501b82a0c84a950977eb87096dcd796141d137460040105581e0309a4d687f4be3b733fc821e2520d3004afcf2ebe8844c76223cecadaf00c02478cb4fe35003a00045908b360806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122012bb4f564f73959a03513dc74fc3c6e40e8386e6f02c16b78d6db00ce0aa16af64736f6c63430008090033032dfb379fe552e3dc968e78aa0b882fa792ba3bc91b9fc9895590969c44b1a91403152c13bad16aae0091c97c3fa53f4984f7713b09b24eef6d7e6272749a02df44039ebce49b0bdce3276ceb7f1cda2ab0560ca79726177a93cd2dd1bd91aba1d376005820029e4becaef8cca2d90d3a7cf64167ba149cc3d4368b6370b6212b118f0cb06841bf00582002501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943545820f3b713b9d34dd6c8f99950e7f622937def5d1044471824b807c8b9dbedf75d2f0058200209e79925863ad3d758f33d4479cc5fcc7fe973444868d55cf8f4e969e232455437f0b74e0fc72adaab1fd39ec6d779f596866ab80058200205beb546b59413381ab296692ccb98581ce758d18feaddea1c2075cdba91f05820643366302d706f7274312e63646b2d76616c696469756d2d6465706c6f796d6502198250005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810541963d7b78e75a5edff9e5376e7a07a935fb3d50d00582103ae69f4c112794ad58a8edbe80ae2f49a0428e84db662b9b93601f044cccc18c05820687474703a2f2f63646b2d76616c696469756d2d6461632d352d70726f642d3600582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54f4e87685e323818e0ae35dcdfc3b65106002e456005820021a1d88ee233714d23bbaf83d5f478c63a68affe94eee2642fe0828cbf9ce6a41bf0219202000582002a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8254f98ee8c46baea2b11e4f0450ad9d01861265f76e005820021e5fc8fd76734e4344c45bd17aa2b9815fcb79b77c96f5d0b05837aad83534548fb3cb4777ee1c2c35c48ac69a650026d18aff08005820028bfc9d15e41ef17226b040ba8dd0860f5c020951f417874482eddf7ffdd5a341bf00582002f97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c741030219920403a54c33d0271d879df4aa635fe69277dbe63891e930a42d3f8667aab2ff75a2c2038c1c35410fdddeadd8e8e1226a5c652ea0b7142e9a6e77630f69bcec5a18941100582103ab3725b373da2a3f2559260e9c72edfacea050b5df0ed627b8a61e3897d8477058206e742d36643366302e7376632e636c75737465722e6c6f63616c3a383434340000582103feaa911fcf6e0eda69c8247cbe9a84567c8cabb55d1cd3789f8c2d143e0c770058206e742d36643366302e7376632e636c75737465722e6c6f63616c3a3834343400033b13b9c175524c5642ffdd5da979aead6dae4a3e90c42173044d90e92610baeb014107036b436ce311c253805265763c387160e23a2def7cc211da76294d352668f758750219f7fe05581e03f8e930719e5518eb01282c79b77d00470aa94551fb183407dfe800db3007011908b3036539d93c354d77a449dbdadb4357619da56b1b843e00b48c4af740150fef4cdd0605581e03d29331e8bc70433a0cf1856992acc309a7ab9d34f8cd6c083f277b7de007011bffffffffffffffff0317d8a9e8c1204f8417d97ea69e668b4a73a2d4f1c6eed450a1ce2da3298978100358ffdb104dadd9a3640c21775ad1b63943371a683f1ffd40798dbc1b579d7d81037bdc0e9905e56f38d70b098fee2c761acc8bc447f76565fdd8de868565b311f003f0aac53bc019ac78889345e0a9b1720da23385e4932445b3a00793afd8525adb03eeb3a6e37a4a2050849e37e2dcbe65fe971dbae542b52613931e9788b21cb85302195f690312ea2e724f3b088000e6afdc1e292d7081ac624c5f286d2ddf69cf455d4c42e80219ffff03c775f76b0dce03a484020993ba4d775c040231332c2a53a0a9241a7f11294cc10372bdf76b1e3eb295c1590b1aa5486bfd079de792b7d092d8d7f3defcc7e00b2a03cf8a68b33fce064852f3e941c5466c5377f300265082aabc10ef8a77b73ca5be030c0040689f5ac433d5b7c8ce667d3869d1c668f159d79c20dfe4631335a93dc803119bd7cf8d581ad90e0d5318748f0345d30725ab9a2448c2ed84fefc1fe5f0510372a71947271bb4c4e2006e0bd39c17b916482a620ef5493892cbbdf469445a72035dc9932a5411cbb964ac3f05aac5ba35aab3f98101751194995f9ce96d3cd6790317c8b4b769179a10f334ea33f435fcb744c9976b3bb24a82417250741a80c83a03fb7c08c9ee539684181eab43165261d01f8384b63ba02f950c568525ac29459c0219ffff03743346ae929715a82cdaf2a107c8e18c48d32bec04620132badba2ef85e833c703cc8812ab622796c1d9fcb7009a4e467fd0a133f2368bc54f152db642d384918c039cbd163c52fa2fb470f2ae90683bd5b4ae00b71047ca64255c852c7a9984bd5903bb5f9e4bd7903dd9a14efe9466d3d9bc8bbd9f8d3bccb5f08c9564d1c8c0fc07038fd0b50a6c6067152f53989943a0205325efe1322b0b8c5a289bca0235bbb2d4039eaed5177068beee045743f4214f6779d848933b232ced8f9fad22e9239231ae030456177451ef6b33209008ec77b3e435d97357a4969a6e15a4efb22626689e1c034473bf2840b00a58079a4bf0e22d45f4b424e0eefe0c66a7be913ff1036ecf07038c4b70742b7fa7d201d32a8fb0954f66aee21ee426f5eef7c8414e51785ee6f30219ffff0394386397bce02647f30917a7e863d78405b3f781dc075cb2b2ed0793117d563d03fab8e4137b1adc59d48a823e515226972610e6521b6a80faa719d4a39097cb9d0394fc10d27a8dc4d04a7dc7f840a8c7c7f003d0b1d913355d830c4e4c15359caf039b4a2b613597bca4630870282d20cdef57dc48b5339ceedf4413ea15961566150333e515bc624413e71b33380e19ae8524388e4377d869a4906e47b5182360f5260352f358671ae8a5eaab71492f60abb11fb2f7eaaaf539abb113d0899fb01fd1de03e31fda20e80c733e63fe631b79df0bd5f585986473b9c1df98dadafdac76ac850360d337255e08683d790ddf730d94105207eafed9d5accd4bca742fa6ce9fe7f90386d099d2df6a07545ec7c145e7abba3732ae03cfd4f686ea7f90ffa15189116103d886f7faa6dec65efb00174f35d67347f627e5344933c6f3e1593d89a9eaf708031a8d1b63be2303c75aba90b32978151794f12717237140c633ebbdf54cd8965f036feb2500fec3b52b0b989dbf8b651283f8827038be5598284e119058382c5d8d033792eebb132dd458c58fe1cc07c1efb061d81920406bb486d4d9abacca2fb198033d72fbc2f2243c9a70983f873ef400fbf226363b3f9606e93983a3fccb406a4203deb93bb2c59c1a658ea88a7e1742958dff5ee3bfde3454ea504700fc11fd24dc03121e64a9b56ba4a862bfebe53cf4b99ceb8d8cdcf0934d7d460cb2f110b6bed603dc7e7fa54ca92facad0ec49208d1ca4794a01c825421a4bbbac7a03ec043dba203849cc6970d78055af6307c22f234ea678c5761faccf962ceca0ce8afe593711f0351440c4cb5119f073679dad9764ff5e8e45a61b2b55e7117b3e5f803a069a75603044cd5f0de3947c149fe8d91e6d812bc4ed6c0644d61f62bbe7811459f4ce06503368939cdbbb5076b553e3fc785bef0566fc75bea4aa9050163b260cb47421d600343a71d12db86f9101a5b036eefe39664b7e261e25c2542867d2ce1b41065be080317baa64616405ebfe970ff72ff73656558a83981a18b9ebce99d04fb0d1975c1034be60de79fcbfb4faee5609e941a335aec2f370aff0f6ef148aa93ce7f388a4c03e154ff51aa074f369d0dd5d96d6f1bba04a0e5c6d121d0c2523bd9e177681e0b03bcfa2b63684917f6d94754ecbdd237b3150187f77b76ca2f86a71a57e87eb85403647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d035485a952b56c097ad744f45a0246568a89b2ab61847068f77b88c559436aac0b05581e03a105182593df810998841a61ecead3fce7e3cb3f5d4e9faab078e74ba007011bffffffffffffffff05581e0332bd7ce5e9bcaff5f894fd81ac6e10adf34a59620b1c59eeb652c0c9b0040205581e033d1c9cb492d16cf03c33603605f184755ac615b53508d9283edcf9e4c0040203f01fdeb1e1aaa6dec2ffa1ffd46586f2f5a941751b1f64c75c3a0eb3102de7c705581e03b6b6d002df7da59ad0717ba00d0fe6715f0167196fc3bf5b804e5376300c0147d075c46da2fb7003eea5e0a6c5df72c01a58d3d74d55b901230da6ddebc209647fc7afa605d0624e0337b814513683ceba03b872c86cfe7f1101c10aee7a86df526f228a10e2ba322d05581e038fe2fe0fab4605cd8c01031c2a5b884e116cd411c3f008ca4885bab0f007011bffffffffffffffff05581e03196a8e9396d88be376bb1fa85f89b18dc10ae8aec1f6ab294e8b495c600402045910eb608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161102060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2790919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161109160259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061106d6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fd86022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110486025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fb56023913960400191505060405180910390fd5b610cc3838383610faf565b610d2e81604051806060016040528060268152602001610ffa602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dc1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600080828401905083811015610fa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201c80d98e75a30d9f20c93018473aa8e00631c18de5301dcf9daf4ca03d4b4bb164736f6c6343000606003303ceef5aa512b8f0fc4db572aee3eb1a1c246197917713fe7acf6e318074beedc403a5bb6ddf1833ddbb4fbb7a321a1ce478354ef0dfc019523a6bfa41a30cc527f803b2584169cfa971f4a76d6ec7d6a6116b67db7796488febd2b70f1a3df816ce6b037247f59c51f76db59e2b122e73981a901d3b452853d267446c97f06c891de3fd03e0720bcd7bc482a95ab3848d75a2f23529edfb2f82a473430ec616f29e69b23803f12ec2396b9df7e40a6e07fe64a58b778d04cbba10dd8e13a44eb0e73c21d9e803385d1abd662591f7cd65eaec4103d2d1d531b9e27dc32d06ff5614858dc5720603d3e09806cf49bc2d42353848664b9219fb640a1f7f57ede9c9209117731d2b1600582003e8defcfb99ae5cecd42d4e065748e0e93de806f8987ef6abbb68b235dc06805820fffffffffffffffffffffffffffffffffffffffffffffea29e7d80c16df1ffff03f7349948c00aed253e54483c78ac38badf0c6ba621d40632817b10ba3a33c9a500581f02c06906f6dc30637988909a1718c98111bdb621adc4c90655ae2fd82ee57e488ac7230489e8000000581f0210b6018fafc0f5a95575cdb3d927f8bce0886d75076b859dad7d90e0b5aa482fe27d450a67a00000581f02ee5db3375867366ea83dcd18faec22d292e4f52adf58ee97c0e83e4fd1624c3fff91806edf52b6fe8e76c800581f029ace168928a4b7e3af1bbb1a9066dae7eca22c403c82eec82a761531f3605820fffffffffffffffffffffffffffffffffffffffffffffff9815b5bbbbf8dc3d202194016036b23e7030f96b295845f78dfaaa356e81974c739c20363fbf41217d992ade437033ff4976d283a1211fb54ed0e01398fa7e5ff6c4841f53deb1f406651fc0be13903fdb5742a860b6456bdcef5a5c46382f60a06da13ae9605803e3d64cbaac9396903f51fe84110392b92f9ea6d7c8c369014b4d65e8c3b4936b1478be1d66677006603d329edb8114e65361fed76d86d4bdb937dbbf2c3da8f62b78548a78a9b0b7c0d038f402bf9549a081aef82457bb4a2f3426342573b7b2331e717109060c499e86a038fdf44fa3464481adabd27cc0269979e9c6e3f81a4a2a453bd312bf3a2fffd310219ffff033a8d971feca3dce4b1b3c8c2636a79385d4e8c26ee8225c468dd0ee8a4eb6f3503de530e854ad835bff5d3403b4294d2b33f08e7c0675e1d3fe5fa76fb1a59bde803b489b82acebf34ea3e9a451707e761bc796fe5a3237121ebaa0cab493937771a03247dd6c5144e9da1d268c4701fd0d65435b637ae08b2e9257776dfd43bf76f3a03633eed9087a646fb94ad1aba36cde5875558ab328420b9e11b0b845c4284aedf035e48fa6e12a7d7121a8e3d892e3c2ae3c4b4940a7f33b4f2e0f6ded8043569bb0316ecd031ad5c9d3031a6aad081e8c7e3452bcb07a3c30121836174b4245547af03d2f7410985da214310e8b47a2ae0fd3ec77d593a7ac180c239f6b3cc6230b24503e401c2818dfc2bdfffc2ef57830ab93f4340c787dbbb4e313d19dfc316ceff66032b8034f678ca884f753958f3aa712ce85d05130617973506806bfe3a9d39654d035ffe2a994df155c62b8cec0a9f227c45f78924e6a626826459deaf36b4ae831603198c26a366b693929ed5090f8e5fae201670c8af3308f68348ae95fccbd7cbbc03da0a3350f858203ab113fa958bab9d0f68809661f83e3dbfc128f740c2d07c460219ffff03534df0db465acc03b228660a77badb98528ffb021691784c73f7b3fa5cfb2e390301665c8d8f61414cc406b77f05c1942cc0fa3f34919859c51205e70f4a43d5b703470f00b9f2489c91217dcf63783664c2308c17a4fd9ff5f266c7c046b37b78d703b0070870664029c54096934925d453af4b63adae8aefaea3c9fc96c20bbb652e038287b033561699a65d3c83a1408f463dfacb88792416b5077418e1a22427947103da37d57077cb7ac6bc889bc4e610e8cae095de2e6233b77134fa35e2ec64c82e03e7849a18703b7c61dbce5a305524def4517467b0cb918ddb6a9dbeb2fb4124100305e8d400112df4604198889a30bbea5c944ff6bb294e573458362ab049e55ad103ebfbf3fde16cd2d0068f6eab9698fcb4076f0bc32844e51be5a69dcb6081bbc7032850bd93cc03399cf67c2f7a257bf196be18ab969d40a9b367ea57f750aa711003cf7294659babcdf5c6c89d39e3265c9030eed589e6778e78cb37bf2718ef09990306db43bb5106aefaa5e1aad096fb0760484c71b9ffdf851be5c1205ef0c3fb650337810d415c8be50827725fb4cfbb8e0b2f7703c61649b305d049a5c3a1f95c2403d8958d02b5881eaef6737d738ff86df4a169127f4ddc2ba8d1ae5559bf141f0b032f779fddf389fd7eeacb68fc3cd7903f9c47a3867089051fd2b0bbe7fa3831ba037f1602d05f670e2a25b35942e50ed272f6d34dc885dd4e80665a7cb7422358c20391cad94f0843ae65eaa21f8a452ed8dd53dffcae9081ac65296606607965c204034295303dc2c96a3797011d917a0c1696d647948eadcdd788974adba4c2998c8303af5798a78ba5e785ef85b5b7db96cb418488a6464f5feee387a1d4d3e270c5ff038fea2d44d59084f02fa02dbf3c3730f4e9c7e97d925d36578e03a711bcd0092a032237f564168559a15ea127d1a89876007e07b8224cf94b4a79f46fad7284282600581f027eb0e00fe965f4e9e2c939127222df52596065b22af1a3038e477b114118410100581f02f2de9a8e3cde945210c2c8e2c562d56bd1d6f75d9d74fec7f716957ce93548a688906bd8b0000000581f02a9cefff778847dbc1b61f2e226ed32dfca256e0c836a4fe30ed128093ca54904bb35f1bfda4e300000581f0265d32b5869375516b2848cc183ca53e9e41dc987373c6af3c363812eeaa55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0242e14895df601bd760bd1638674ffdf697beac3d6b422344d04f4382b24f4809935f581f05000000581f02dfb32aed2c1d1f7baa5e808eca4774b97d8a8a253157052ba799d610f063440cef7a700219262903d986902951be0a5f03a44d985f6f538680e05fa5bfdfbf41ead981f1f0d05deb03930df00e583ccaef477741d1e7d5e1ca97adad2830a44bc0ece989bbb9fdaedf03b67fd8642d14ffa0cd190fb36b928e4b954dce7e6ac51f2e2bed8956963d634d0219ffff03edf4615871be9584a433a2c623e08f54a5181f70e7d6ab23c2d1d910ad248012039b52547f8493e854d2f54c19eeffc332eec2e9e439625922cd462d7981586c00030db5199d2b78422f1deea754a97938cc3a3743596aaf3a2d134bcd7703b9daa203bfa26b3fe61a880b7332bf3414ae02d2abe8070b8c5effeba92bec9fbe8706ab036818f9861fcbdd016b82a8563bbdcf7ecc35683ba8a27c279bddaac339df926f034790c13905c06fee37e0c77b90ba0303be002105adec9fa53014fb30fe15360b0306c923488f89491990eae0589c4c008ff1d29acf39f0aada63b47e479820a57a03348a2395fe0669b9e83d4b2dc5d1f16f6098005b525ad8b20b0137f95f41131303af9c60ef3344d48c655d6ed283a3dffa88d872f97dc9b955174f459a1c9bfb2f03e764a9c3e9d6dade83383982864d88dd98b6fbb22d3c73db29265ee2b846dec703c5a16ecbdcf0460689a50b920eebd36cff633e398892e23598bebc1c2b9d1b560219ffff03a9662439af0309325144afb4e7649965432765cca4249d2a137d307d0b80e4e003b65306e86083db347418aaac1eff956dbfde6ef7b750535aeb4690845e2e9db803e8f30ea577a0de0c227d1184741c45496651b6225a6a619a0f6b606ec1a9ae8f030041f31b777b1a4bb1cc7a09eeb0d05cf3f4a2d62cc1853d8f1cf08756a02b41031826cff408491577a43b599d44a2e8f7f73bd2b07b1cf85ed6177ba3b15f6e500346f9ef41dc5bf3f944ed9afcf93ad7f7cf49be5a6a9bc3e122c66a1934689bcc03d873102ba9b434f8f8775d7ce2509f2dde50d635fdbfceae8f97e54b3cb5b725033ee3e574cfc38f3e9c31a4e52c395dee6a9ff16991cca497b0868ad5c67e735d0352b43669ac6a153381de266708dfd6fdba0beeadbe419c891cd7e2c01e4f259903dbce2be70d7e2ae112148b338ba52d85421a113e8ecab17de65f816f892345d103e629d786dcb072560ebf0a83cab75be1798e9ff1038fff56f4c7e79087669495039ce434e53de95b0af5ce634adf23547b5be896228276c5e53029ff74540c4ef70357186094d6435bc9c71ab333b41e09023510dfdd512e7b8782c5dacff99065d5033db6d78e6d9697dee780b792688346781adb064d222821eea80379ead53c89b60387d0ad3a7e4dda3cbf530799d797d049e1363ec604d3ce60294767ea8b01e0090343c26599f0072c41cf1d75f997c0d6f6e6b75c3a092e5b1e3d5528d23ccd8837034c71e3e2a8cd2ff238c19c69cfa57d704d22244f71e1ec5eb819f46b96220b55038a6d8208f042715489a3284cb2e11f88c37166583945bbffc17e2c052e795831033e14abdfd8d51e86574d1168ac17ece04a271cf389decafdcc33776d401ba9cd030bafcc927cc4231f09dca72b54cc5e6c3c62825e119c07e58f78b236940c54a203e77d937500cb06df7af6ebe2e72c00beed513d543cfefd2f86456faeb9b40f1d00581f03c47e66017d1ae111ffd6e7e7571837def6358d42f71cb17567bac34be24049088643c034d132d1b900581f036adecd6c090d9f4044a2f60c97f8a121116209bbcd7fbd597bf0d216e1e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021100581f02c27be4fa3d912c44b4ecb023fcc4603b1382649b416c6b0ac77aa24ca9d545b8612ebf640219080103ca00d670682014e8e6007bc59bc5662700c072edeb684b19cce9bfc97a0e0687038e0cc747d3250b61cc4d76d2dd3caf7757bbc059b8ea70538ec89056d4e3160b03800e5f15e788c16edf7208d05a1079487641d4a9f19a80d6420545e99f0abc8e031bf4c2a86ca3edeea7a51183bf73d9f62562d8575fb57cde6a9afb92da92538f03548d18e66dd9c3cc8866ae5c213530f9abd815f035901498296488c3b38ca0500325161d5a9a7f2c8d2e5ace8df7e60bf9a4f6cf4d8697dd275144fce5a1c1fd670219ffff036d703b96fab5df5766bc0facf13cc0bfcbbfb3d2887866a520738f6b4ddfaa7f03ee3c8d011e29873198e3c43fbc813f1d16a49b29cf4b4de4b80d02581f5f18ca0333c0af7c6dff31a86fdf2cf71fc08076793726c1cb64e7a583fa1d250088b33303858ee58a19d1dcc36f5ff5e479e02af6d7d25d1f07063ecd929b2f607122909a0219ffff032913001a37708b9cf6247403c557a70b7a0786379fad701aab6ed783f7754fef038acafebe90f806729d8ba6de75ba1500eb03a407733274b439a7b241d00c1f8403d989ff575335926db5f0d51c14da5ff5bd6167fc3a7d4254a68963aca219b3350351c0c4873a41ca0c3c07239e56a7f62a3e6b320d4b8c6fb640cbd37b06f9952f03e13a15e173750c4750fb1afea67b60e717cef811be1563776d3958a56e54bd51036831d3b9965e442b46d91a1a5f74bd006766ce44f10326339f34a28a129e91460311cf8e3852f13d524db871d332db927fa4e54b5e70bb4f6b484835ce139c0d6803c163ffc64e91c85ab2ef8d9c364632f9ba1ca406e58b0d0f3d0db5301ef530ce03adee2226c1b3a8a6670789adcf161f1fe7e7cd8e6b69724645cc9575e8484b8a03dd937bc27bae2dafad585039680549dde2e7502c3da65911c8c3420605762d70039c846c7c193ef874f443dd0c8927b4929523d8d2075a357f679d2a1405bc34ef03733adce4e31a9035cd9770362a8b13530add9e52b0185e97e4de8402a1591fe403e7b3a3df105c9ccea1fc13fbc971d8018ce52c243ac408487fe1a89edec55f3a0366c9bd1b9f74ad384efc5c14f8e120d5cd8b81d3a9f3cb354d8a98690bae102d03e7dee9ccae1a4957c1adbc47c97e9a383d361c96b75216eef1cb12df4e2dbd4303fc38281cbbb009e58745532f6a075f244b4c2b2a2f0bf30a589fdd742724925a00581f02e2d1ca813f764ba10e8d58b85f0d994d9d9c909d583c6333e3ca1c3de6a448446450b28a02b80000581f031e281a2a4b4f677b44a19fe9c9e09c1777941894d75eec70c16371e9a2f048a688906bd8b0000000581f03a228faa7585837eda82e86f2e6bf3181d85eb7bdfa25befd45614a7a7f705820ffffffffffffffffffffffffffffffffffffffffffffffe4f34271bc7274e3ff02190440031c695aa86f11d82c3b881ee49ee4bdee7b7288c259438b0400fa4975ddea0a4200581f02a8a98ea80ac3aee6cb82a7d2872d7ec411cc8dc1014e0c51de362b0e8e7b5820fffffffffffffffffffffffffffffffffffffffffffffffac91878a2ef2cffff032965d9b35adaf5d00b33137cf9b380e882612e2dd831af86234b22038755468503b029ded0d2bf6e5bea80868e7d666f79d45d196ec470b81f1d318c2d2184641f00581f022b4898c923b5faea6e1a50aa436fc279129bdb78120b0608876a7ace071a4901aea0b498945f00000219d87003fa7f56461c3d179ed09b424ed2bff41ab14f560201e76cac3f20feff06f37b600375db35d4cc03710980a4bc582533920ac9cf9b01158ebea5ce62437ee464601f037e034f94a212cd015b33c459b386559b97bd697fb089c2f231b033b5577a454003f7cdef688c63d5e82bd5e90dba50d39e20b9e17d9a69b7623ca4b9b04c457c0403e283909a6e038939ff55d376190262eeae83ee99550976162a672ed4a752a47c03947d3a4941a85366045d901a66af94ae255a7a13eccb4fb0b5dfd7ae36fc50fe03534016f7ffc20e1c758a82b81c775d08fe2f202f91c2000279f05b641f2bddca0339db9f38c85db84b37ef5979ca0b707c06e4f1d6244f1145d0c9645e440845780219ffff0311d7ab69327c317ec8c3e8d96435cbf94655b36d1100db59adce522379dbdc92035faa6083a076aaa5b766c7d06ce07d2b9da5918fed91cb79f86efcb930edb8050323f4c44f403ce3f7b969dbee2f135df22f35b6f23daec5c2e3a54d498fe44fa603a680e10263bd0542e5bfd41df9a4ea12824ec2bb9494559c878f617870df3184034c58b69a0917f12f1a59d46289780668271306e6f5f21fb7a2257b58ec57f72403b47f919dd9381c9dedb8a7275caf06ca45723e437f0f33409f595448eb0ff8ba03542febbd8b9f5bdc1ca3c762f3b0912399e6a54f7a3eaaba683e637b09959ab40219ffff0381c09e07b399abd1cff7ff09abbd28057361586aedfa16cc90245753b57df5d4038b3661af473507a275c69d06c9759d3419d4f11875c68d93a5b4cbe1960f76a30321b084d73074c9e64a164bd71fa0ba40387375fa040794000dd25a26fe0deb4603de87f67efccc857039a522e9d14d7b231846a69743f9b78764c2fa67d2b70a2d0339cedc60651099e182cd633836298ab9f564971d183e2f122c57a08b17c8f2cf03a41133a1e57ce1b9bd8cd502109d9ccb1f489909dea317d38c25c1a08ed582c70349e40703d01d6a973a166177180378185d26de12a917bbc9813500b1e7bc4426038231467a27b420b0296f55f5117a79233f5e17b11fa2c77363754d32cb58bfff00581f0237bd2b4d49efb9f46b985c7da1db212d2144b482cc4ee04a656ffb55623949055d9f9994dc2a000000581f02b3ba99353350b559aad5f94d07da5eeb01fb6f07506d3f377d97bad1f2225820ffffffffffffffffffffffffffffffffffffffffffffffec0d30434bcb814fff02188a039b50616ba960d073888660d066ae8a956ce01aef7c501fdad72f6d27c986402003f9a965a10ed3898b7978c89d59b9c68a4821f79df867692b5db61d813b4c9e14033332535ba7d7e567de10794e36d38743552474c8a41ae3584decccdfa5707d9d030f2fd9dc44504fac0f889043767a35c3f5d6c1e042c296fe537c6fda8772ef6e03b9e1c8db2b4e0848525267812bce8cb0301b30ad82e2ebc301d28b9f091b6ab603080d63d3fb47c857e0becbbb5c1c9b18e708dc727bac0b9cf30ea40857a3fdb50317203461c0028228de895385f9abc70790830346e8c09128e0093372fa1c1bda033613f769394fd73c203de24e7b1414342aba139b4d524189111a4afbb9ecb933035bce69bdcd05e1e63f7bbcc7476818bb2d03b0f03a23b2d5b1e234a5cd13441b03ee9f938da272d1330595aa26dc9743a5736351f5bab01dba9e82bb81ac9c60d8033b19b221b0bc4ac3c219ee653ab6b9d6da61d59db5f32fc4b242c3791eb32a7803ebed869de5be1cedd4e78a037e4ffbb6e6fe290ea080e5c9de1ee95fdbae7eec031b11ef4014294474e465d1caaae891ef2ef36ebca7f105f160ca8e1ffc7946ca0219ffff031c76d52b7b183c03ba1ed78d7eb903fb50686fb597532d49b310d9e7f61b5824039bb9c257690861196a410c7dcbb63db1d920f655f8d5470a552c978abd84dce0039524fac6509417101f16df5ef504188f3f4af5c399d4ca882895cf8899a4937603300ec1d1a25ce2679e8eedd87a9a6a2ca6e942a7a316c916118762a1c600bb820392918a3e956f8734ab8d26f7f719236c6bf504472ae02456d497846c6ed052f803009083347aa4605464f6dcfea370bdf14ef13e0719b324f3c100f5a8f07d1324032702e3832e47dde2ead001adbf671c87cb6c43b20682577460a0235dfb00176f032115f45bade1093978cecbbebb6388c77a58929d67fd764147b91280a575e51b03a729f63c7c88541db2f44e77e6656ed771aeb132a61fd4f7fe768fa0f32bb244039a3d948748e315e2e43a5c8c57f14a2a74dae7d3195522c455b7a2a4ad9a106b0380b44b3f8b065c3661c7048da3be1e67a18af964f4f0e808a351c878078718fd0219ffff036f9ea4b3ffa663fb9d492db6efedbae0ec1ffaf99ca6db571cec5acc3957cdc103b52afe58776bcad7889106ca5992547d6b84fc152a1c34ccdeca45f4fcc5f1bb0328917ca7e8223141e9bb1ec4c54bd8c3e4389131848748e3206e9ff63e6c42e40219ffff05581e03787645d2a68aaa5843c2de8ee03ff6bae0ffa18aa691bf600ddd7d2f7007011910eb03956fb412f551ed0a3a825d3a7d48128aac3f88000ab6f5a62d7403f588d149c905581e0391ec516fe6659ae9970d9c74d2134f8be0c3823e48f1382c98205b66600c01467e6b759fb000035082a97de3820b9eb764e76dbe13a888e6e09e9a20156a86ae352fc282bd6dd3021977bb0219ffff03dd1c8e414a0bfdb63aae9621f4635085071201b35aae2e50ab0590d7f8cd6e6c03fdf8d79dce7a26dd909db3ed5e5fe616491bd010fa6d5ef4044bd7569e965b2503211c505b5d9c987b126bf13f77e8f02cb7c09a59b136fe2b5abf17c1f5ff89be0322790bd35f8cd96e59cbe4b2ed5f3b156c2dd39c78c1a34f050c29e22b409fe40331ff722eb2d87d98222398d8ae97aaac81238cb230b1bb81088198d8a3f528b60219ffff031a13dc3abda227bc83732b3d6b7bea6e668a2059a685244f1e17c638360ce7a50376da48de9580a5e76badfd109fef2e2c9f6de840308b9979b641cb409139713f0359d18be51c65b92b1ff06dd9da6d4edbe55170b92703578bddea724fc883bedd035292d65eb0cd020578e5b43d7a52158d9503e8da9aafa8e8ea71a373b21222d8038f027000664c963357a023cc35f6f994a7ef3e25b15ad0d9cf2d8b015e12fdd9033b9a154a15e7dc58cf159c8a1a52284ee84514af7d32e2df59f6f0a7d76043f203fea889eff5452197a638425c1bd9d94ca8059a5aafeb096e8df338a6d7ce8015035437bf800979c0739e06a1b305e555f4b0b8259b9db56b9e448eaa42c5353c7e038f13d25d055d492bc89f55e2159fe558cf2e1fae2d3e566d4d73756d8e76b9950323d870b3191d9a634de2695b2ee85825d4db94871dc3a2608cb942fa9f722a03035711425a36a4f7641bd43006b6fca9bfb51bbe1b058816d099f6ba8456c00f5803cadc452b26266dcf18defb57cd8d2acebb260ba33a03c765df93f1392350332e0364124391e51f41279c4d7ec518b4cf28f745706c0138e810451f3653d42038d70325895bb07d73f851b7b6c22cfcdf7881b72a9133ea3f76d25cc2473c009136ef03f09199fa32b347aaa45286d3851511d15b067c58f9afdfcbb2b2dd1caa5690fc0219ffff0341e19b66712cb3a2f1e1648dc414c392d05005766780ebed6243dd9eba2a6602030aaeda5ed40db771107ac8461362ad80da1a13b17efa8f9dc1649edc9a91d818035a1885ffffebf265232a5906e2d293e375ba7f1f3d3f2854828c789f2e8f824c036f4b0682f7c479cbe0dbb2e31ee28b9390f7a1c984cb9f130a99a6cf87ba619703e312b411aa219def711003b5438deb2a6c571754f379ee91ce9ac59daba80f0e03c61cee6113ec0fd9f643a5ba3444d4993795c543f407366c71eb22db2114140e03b8cad5e395fa9950486f56a2099d1b762e37591db78d4309e5ff1f87ef63249903456125ea1f6bd5307cc26763f274c992f8a0a55440fa79619fdc7c36f1292aa003ededf84fd296704f5fc70cf1b1a1eabdd1d79c8dc1ab9d0aa0fe503b168582c103e18753729be031e3e3ec5528b0c6017fbd75cd8b2202de297cb7ebe65b53ff6503ca13515379e8ca809b3e364069bab0769be86cadeff31b64b0c54618f08abe8f03f6479e2096897c933f1e16b72904fbcccffe80aaea83a25982e950951398ee1c03bd6a72e1d66e21d2a5f402b24d18ba1848a8a7f2a6be6cf25d1c2b55aa7e9bf003ed2b0bcd9c86d5f09eedc027ac2b26e92031c48181be17cdc20c13939b4ac33903e1558da8189f6def485f8b7f531a9093957feff55a1229b32ce444a1cb90c91303f4a10770ea1f6677c4489d782ea1bfa3bade2bb297acf54bc64d83c51d7fd53903189b645d1b93d4481706e78a690d457389ae24cf9b0205425b3605a89d9b4773039ee75006932f88a67d78938c33285e76c3e79173e15a5f7e92431f91ce35fcfa03248726119a26289f49c9136d421cc36f5e8d53ab56ec92261dc4cfbe261c515a03b9a81d7cdbe5fe10d1a9115c0893419deaa35d7bd447031800f9cf8dcae53b040312d1fac83353987987ff6ab1accf9cdfd9e923f41c04059d290fdc73b82cd63a03bc2571b580079ba606b3ba854d311e637ffd5185d6985f70db12d6ed7eaa46a305581e03b23b423a44eae735fb1f559cee5e7f9f31015e26142781076c5bcc9020084729dd00e7924c00035c7101c78b68075bb9d28b595ea687282a4c53d4b2a2c61af0c350cfb8335036031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e037fa540cea93ed9a9d83b0b048972612e1a5c946ca61ec66248fcff468007011bffffffffffffffff05581e037976e4ce0ec68c7dccbb2dfac7405cb91391b58ffd6ad2fc43626cf8a00c01471cddbe974f9c0003c67bfbebc3fc64fa694acffc495e20cca5b4bd4c6c6fe1cbf2cf5aa2572feed805581e03b832bf03a3b283d884d6582281c32947ab6b994de4bc719888ca9bc3b0040105581e0343e26d3bb55fdf73b24147cddcec273793563597013ad0aac7fead75e0084716c5717c1c95c3032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e037c097f794a12f9d4a7f6201c6e2f3c3636f3fc7f57b33dd6ba0f4925a007011bffffffffffffffff039746ac4cd2212dceaa41b1c6f742c363eac8f0b0b6d178c53c189469c7ea438c030c4e16330293473642e4b0f562f34271876f2d96cf7bd5ec9171d4d090c6807a038c46e7d2259ad9767a93bf50a2dba532d500a1e68fb3724db0e0501b209837c10219f5a703456731a197fa36da1363c69f0f21476fb5cd936751dd4f3c7baf560f8eadc905030fa59cc1c0350b427691df8c9671a6996be488f27fe5b3050b320850c4fe787f03e2a584292e3d82ff4d7f117b6ac527c99178d889961d7ed70f5fcf3a4f317fc70351c2e4f8258fd200c135b5c12e530e2fd3a8e2192b7a88a67d74321d9292de25039e076475ef419a1b5b1808ec268e362af6d2d64f57570ef915df27222c0be15f03e5a572e8746108dcb50d3f7b462ff091bda1980fd71dbf7b0de0466cef5912cd0370622c21fed5f0b1cf749e2b73603e021b99c29c052c54c81f64694d32615e7f0219ffff03e09ff9f1f2a5b43c52e0e8ac3bdcc834e1cbd3328f1557df4d4074613304cc210312902cea4c1feb9340a7c2bfc83dc1949bdff340cdebe15043fa9c5441cb862d035470a66d57c14d3e718e0ac28d93771db619c9739622f48f030d615ca5185099034e3489d13e07f79253083b0ac3cd7c0508de61b44c46296a5ff92d681ebcef9d036476cab3251c227a0b925e0bd24026303517ccae113347e85da54664575dea7303d7a137aaf09af051a4ea7ba911fdb7b2704686da0ec30391a693b9dfad04d59b039c862c7ebf578330c25e9e1f6ca9d8486ee1f55c64b5d2ef6694ae4f65efc285039af33223f7bc6f9b16c5912142f15d01df9087e6240c6742d1920869a4dc7d41031801a4e4cc465561a4c0966f4df23e407ae5e103e712ff6b6a5ff9fb0762aab50310606028c7ff5b882f5180e6aede2d1c8af6aa12229fc28bbb326455063dfbcd03569b0901c7656d1533db84ceea47e7ab2e22b3c3978338a972ea01832055bfc5039dad6597d0a64099f830b93c738ebe2217c73834dc16d3496be7f873d3efae950219ffff0343dd65c84787a31addeedd68baecd478f931f17c059b789770f690afa375eebc03fb50c2e96f9e1fc4f63c3b8299b41a84047a831437837a79b29763e811d37db9034822a3c61cf25080e3ebd88fcf613f6d02001a37d5b7f9a43ea20b518605576c035395002fad797a8616d72e239a333563a1c0d058cd7a79e14b6c65bbf778ad4e0313755f928efa381ec8148eccd8e69cda95b28578f451bff97be00e93b77516390332b6b50e83e917125d91ffcfe82049089c930401fa056eb582bf9212ff676418035e3859e6a3b661c4898ec5bce23e3010e2e5f1acb4810fefa9eb5ec82d06677203094ad8b28eddd741d120b9ecb19ab3c4997cc6610275fa480898887bb43cead903ea8c68851437ee981d214be9c689de92c4c45499cf85813080773c8eb3f1438203560523a75beb19c0f717b2349a10502ac1c0244bfae2055e2b4267a4157b10920219ffff031d29fedd19c4da201eeff896e3375408f62fd87234b7e3909e00c3c2ea7ccf1b03a30583abce93ed836da39b48a8e15b9e13a3b59c8baafcd10947dc88cfd5af5b03907dc0e49be0ef3fd0f4b984b68d57446572de9d32e28c857e05000c102b1d8503f721196499648d24b4c8418ada0de40f42ce9c5f0e36727ca83b8c8e63bc4f0f03bf303cdb200ecf8049823a1274d6b09af88d9652bf83c4fc52ff75ef3bd17dfd0301c99adcbc09066d3ad226a56f8b5aac0664a448de9b89ecf69b8b86b5df951103b6b1e97e948d8cb60469dccbce4d13f31f2910159327d03c72052ef64e2f63a90355bb8939f3eeb0016a78e4488421e3b98dd1c23eabd00bb6703b76fc91b55c2903cf2054d250e972c486cdfae6244b0c183cad508961aecea5ea4ce17b8a28f15503a02062aa705096cfa41c06077439b3322395e3fd83446228e460c93ac574f98e035163cef91fd53c41daeb19495abbf1b9f259a6b284302a7172f585cf4a2178c00398785ea054bcbd3d837ae2d5e3763da0f854be619fea3d4950fac2fccbb5201603568448418f041b0a0696753d5c9831c39232d839e2404828cb29998d3add1355036bafde050efe6f1f6cfdda9a4964b675fe127a2e2d59e39c2a34bb12bbeeff76032feb736892e99ac5fdeffcfb21910b2132699185e845fece2249cea634a156a5034117087ba5b4c1e671b5071de26220df9001fe15cdd86473027c2da4a82cb43203e780956bfbc18ea28148bed3f0dfa1b6494b389fb1d80c7780bade235d02fe8b03a5ac4afd756a770b7b585bf731d6ebd12264446754e38c5ec6cb3e6424081fa00309c507e435abe06eebed8e56891ad3a2f65eeed917ba2da074d0e981ed629a1203b9683d68424354b7a2848bf3b0d0de939c1dee3332344b0d972aaa5a50c377bf03adb1596c0e26c80b8cdc645ecbd058e71bfe253741c29d84dbc667ba651689c505581e038322e6366b8038b856ce70b48eec4f7c50ae941d6c686728fa44e9c3300c014718b7fa46e2520003fd24b33cdc55edeb9320a1bd93c0225b99369f82a2697143dede30b8b7d7efa001410805581e0320d3d042a970a1519143704592824c457609cef02a9c0ffd96cc785d000c01462ac98483720003400655167ca1535cdfae9c0c7c605d6715bd3008406632d629c1a36921cc25a305581e036bf506753b56678ba6a4b34a9c5d4f5b45b5b99bb4d650fff4e47444b00c01470a50ec2926820003afbe21ca8247a8b67d636bd95eceb3e5398373fe35b4c9b2b850584d933c0c6e0340b22fbc5991b3aa1ee69aadd86de89b45bf0e770c90dbc0bb0cac879a54b3ca05581e0387f97f58d5a50b8d5ed47911de0a801d421a33777b01ac734c0e1eeed007011bffffffffffffffff05581d020288cbeb1562007e52f45a96d8d2f854609684e744848dc83e58748d0c014701f6f3588f90000459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c634300080200330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005821036501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540544bb117e73b7e50d063c146b94bd291688d9f565800582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481541da522b35363c1eda4833bc121c8f3c67b2caa750058200261d10a81f315cc00c5efdcdbcaf579b5ba51550acc31fe38d80db66e11fbe5410102191004005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0547057ab3fb2bee9c18e0cde4240de4ff7f159e365005821032a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a820545112eba9bc2468bb5134cbfbeab9334edae7106a00582103787eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae054a8e11f769bb3b97dc615b9833615159436a9c1fb005821032153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c22097753044656d857f0058210348784cc2b12eb880dee6c65cc89401b7034f032918c1835fe92323cf200262504101021927b405581d02888b5dc442236b8bb5eb481dba4b81be9e7f83f6f74670bccd2885e7070119085d0219090005581e03d4fe7e837171fef31b9c3495241340ac5d4d9c6c77d12ad97e9c6d39b00c0146229c2326fc00034717ad34dc107fdc22a9f73f370f6d7162557379d1840e44bc876e28a31f167105581e031da96bd4a4f4df0db7d7227c2b52178b9cef925ffae4d33d212e58dbc0084704036dcb103c0005581e034168325e3456641f5ed139c7beab6bf871d2e7e1086c5dc257279bc6700c054708f167598ca40005581e036c9dbab365c47d56f8be7e31142ed4b9b82b4dc2d6c9fabec4fd41a9600c014712fa932345e0da02199ff303948978a570f7d32b9fbb1274e974a78c223e933af6f881acbf27e63abc7baec5034d08a071e9cd331308708fcfef1b1737247ec70aa13850ee091f83ecffff2c6f037cc0a01de371c31d925a22d70da03061c058e6451b48083afd2e6d7b743a260c032ea6dd28aa030d67821aacc277b74be14bbb519d34ba7fff55afd091ba20551b034c0aa582c68df1fbcc0f3ec664e944db4fc9fc398a324ff6e2f166d8151b833403fa063197ed93142fb93f79334cacdad3e6100160f1e48238e08a034e9bb2908703c79272898ae667da9b96d36f28c774a7f38272cdf50bea3e891819669731a4f403a136d4b090f6edc27b44c4c0e68eeec160deae613781b2c17d12c5f8cde2ca4903a3930f075cf340f56066d2017d71c41404f2df7f8ab26c5d1b27367c3bb3242c0354f78a1a557754ae9f9e0fe08f33dda18df733e4f6f7e831ffe2a4a5a4d9f4cd03ec8b4a6e83b3b81b908c1f187a28686716a7ca3e4d13ff189ebe94e33d51bad703963d1ba9471255b8c87c5156cce324008c10f93a8626b4555ff54e9ab68a25d90219ffff0369916444d02173d168342f3729fe9a3a1fe0afa26fd3307e14486dbc766255b303503b208b05f6b4f41220c13be54466efe27618ce633dd783f16eed7be515c76d03efa0265b06e776d6c328d109e04bb53c2c4a83a324086ea55082a7a1abc490b5039dff283acc006927a27ee37bc0f6e79644a4415f736e99f7ee895e9e1dba2e2703dbd9d863a2974e44e219b1bb28527152ee4be04c90ab0f06574955c88c1f53e1032ca0e7181fced0deb5582474e2a0afbc3312c67fb6dde875027af41f6c367de6030c330f031dfda886e71ef11892d45dbf1e1cd409f12f506c1db930260e718fc00219ffff03fd5404328906369d8261609e04c3ef6a15b3e51f0d8e7bf7fb99cea97f634d8f038f3077da1f447b3937d2e147defe7d29953a7f4c70f063a4120d1194097eeb3a03b06dc211866663f874cf0512192511786acff248a929b4c1e9a879e04b9d0e9a03228b9a233589462fde9e045b58638042d09b18e702e2cce879fb317e68e75fd603cd917c6a0ee469bbf3685ed8a442843546fa3611b11f4d77c45e7e925a0afeb40219ffff031ae046bed3069965b6ed90c7be1b063c004eb0154d82a75f252f6aa2d96fafad036d7468bd4e4a81782ce49fabda2727bd5cbba6b57dcfdaa9513362a9c7629671033d31b9784cd5cbadb4e929de76b618d02b6182157c454e989c8db4d2d0882dd803b4e95497ad7b548fb8c2f095ecb466cf080037761f8552e5aaf7b3931593ad5903ca47110e109ce5870f4155d6f1f627b60822bd3855d0c0c16435015c956a0a5403c5a91c6d0db45b27ff735b97052eefdbaa1d01f53283e45587a23d49e74b40dc0219ffff030f4fee08ea837cf8aea4b168690fafe7ca19689686d52a0e11d1c80898ed85a60342336d32983207c736dbabd16a63434ac0c312ef8473da57844cdd72df44282a03d13d866e3df7376921eb0733104eae5e845cbc75ed510a651653a22b2c2f5b9103558483a6c883315f950c9e0d059c6818320c8cf6eebcafa0104a8753f640e05403471b84f1ddd2f6b09880657bed6062b5eecce3f3407a7ea4b7595e75197042ce03f054db83ddb7802307964a9a6b911bb83f972c2d1c82f663d11fc9deb7ffef66037fb17f65cb7cefcb7bffb5b7d824f603d3d3b44acf6f63d4811e3da4c947040103f0205845c7b20d9352957c93cab252f47321e4f4bcbb6413671936224a324ecb03b9605d50ae17a7daae5f1777fd111d36be13a7026dc22bc47c89ce998442a07d03dd3f920a02dde4633e1132a6e95fef945edc3d43c3b67a0f985b87e74e4611ee0376c4b4588465fd5e1bf36922e7b0d971b6422a6cc32df03d4f8c579534e1a76b03e1ca86db84513f41d275d1b1ea9b4ba1bf9952a25cd442df9632b780e538a01103491852ce5e47af4bc59482cfc9d5df2202e915a3647a8254574af53d809cf52c0308cf6bc9154d0a7c2a7aaf8688c325cbcbaa916ac52b361c58f2c134851339db0314401ebd1c700cc03a91b3f4bf9171b05054e8ae97f95fcecfc6955b5d7f2f73036c9a39789cb2c2a70c30df5434011dcc096ed85bda4f1064230379450c037ad603abc95f78b927e8a5eaf399dd5e9060e6afc740292757b302dd0b67ed4d7ca14d0329b8e17a3530e753919af2e36248ec8e0c9005686e8c4292e32fc21dd79b522d03055e839651c9262d31745b5934b80864ca497eedf77488fc4cdbb37c7430820a0338fb4bf412841a7a9c78aeedf0228cec51c3d3498b66e4b149003f9de225c113032c3179ee4c69fd3dba0e330387693c4e74c045a707da1694d1faa5b05f7460b7037117a07ebeec48e7468ee4ee472ebc83f8b9f5edbf06b6eaf456921202ce6b4503b291029070da783b339b18970b90fd67faacc1f1811621d161ac520718a5b610032e6a8a699806b92bef6bab57b79e486e75629d0671f44e821e214c0db1d360380346b990e5f514a0ce397d95e0e15fa8374029af6541cf9776ca766e2813a85c550329605d903bd509f8841d7ecf5ec5db9a1746bc9b998e405a6e5d833f83a09b0305581e03d1a1e936179955ad759d3b54d7d45004e6eb886cd7c8539531f79f01000402031e264ac9d6c25abdda1b71a7ea5832511ae1e4d24f685a5673e9a810f03c616a05581e03eba0f4364b74e66da1747acd7a987492fcac6b44b6514e0d89c52513d00c0146b5e620f78d0005581e03699a52eaf2c9ea8f4ba16aa1ac2d968bd7385c4e8e2dc97cf945a9e200040105581e0325fa7dc71ac71fc605abe51b1471ddbc9a9414c9d3420be3979a9e8160040503373310bf10596506eb6e0a8c83f5fb6e1a9f0c2fe2426e4b14f8f852c4408df80605581e030cfd7f318898db6e24b4cd88c6c7e5ccf479ad3dc8571faa9047e8574007011bffffffffffffffff05581e03d598fb701e23ee8d2106167f8ceeeffcab4789601070417dad146560c0040105581e039d0efbca202f0f26da7bed0845124dde550104db97c4cb7f29042553e00c014704dd01de3ba80003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02d1c01918149f9faf7122d8a51dd11aead31a0e1b96504712e01599a107011bffffffffffffffff0459145860806040523661000b57005b600080357fffffffff000000000000000000000000000000000000000000000000000000001681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020819052604090912054819073ffffffffffffffffffffffffffffffffffffffff16806100ae576040517fa9ad62f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3660008037600080366000845af43d6000803e8080156100cd573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8481169182179093556040517fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156103225760008482815181106101ac576101ac611149565b6020026020010151602001519050600060028111156101cd576101cd611178565b8160028111156101df576101df611178565b0361022d576102288583815181106101f9576101f9611149565b60200260200101516000015186848151811061021757610217611149565b60200260200101516040015161036d565b610319565b600181600281111561024157610241611178565b0361028a5761022885838151811061025b5761025b611149565b60200260200101516000015186848151811061027957610279611149565b60200260200101516040015161062a565b600281600281111561029e5761029e611178565b036102e7576102288583815181106102b8576102b8611149565b6020026020010151600001518684815181106102d6576102d6611149565b6020026020010151604001516108f0565b6040517fe548e6b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161018f565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67383838360405161035693929190611215565b60405180910390a16103688282610a2c565b505050565b73ffffffffffffffffffffffffffffffffffffffff82166103ba576040517fc68ec83a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80516000036103f5576040517f92d2fe5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d60205260408120547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c916bffffffffffffffffffffffff8216900361047b5761047b8285610bcd565b60005b835181101561062357600084828151811061049b5761049b611149565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff16801561052a576040517fa023275d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905550506001918201910161047e565b5050505050565b8051600003610665576040517f92d2fe5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166106b2576040517fc68ec83a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d60205260408120547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c916bffffffffffffffffffffffff82169003610738576107388285610bcd565b60005b835181101561062357600084828151811061075857610758611149565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690871681036107ec576040517fa023275d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107f7858284610c43565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905550506001918201910161073b565b805160000361092b576040517f92d2fe5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff83161561099a576040517f79c9df2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610a265760008382815181106109ba576109ba611149565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529185905260409091205490915073ffffffffffffffffffffffffffffffffffffffff16610a1c848284610c43565b505060010161099d565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8216610a8457805115610a80576040517f9811686000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b8051600003610abf576040517f4220056600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82163014610ae557610ae58261110c565b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610b0d919061137d565b600060405180830381855af49150503d8060008114610b48576040519150601f19603f3d011682016040523d82523d6000602084013e610b4d565b606091505b509150915081610a2657805115610b9b57806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b929190611399565b60405180910390fd5b6040517fc53ebed500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bd68161110c565b60028201805473ffffffffffffffffffffffffffffffffffffffff90921660008181526001948501602090815260408220860185905594840183559182529290200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff8216610c90576040517fa9ad62f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff831603610cdf576040517fc3c5ec3700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081166000908152602084815260408083205473ffffffffffffffffffffffffffffffffffffffff86168452600180880190935290832054740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff169291610d69916113b3565b9050808214610eb05773ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260408120805483908110610dab57610dab611149565b6000918252602080832060088304015473ffffffffffffffffffffffffffffffffffffffff8916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110610e0957610e09611149565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790557fffffffff0000000000000000000000000000000000000000000000000000000092909216825286905260409020805473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021790555b73ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260409020805480610ee657610ee66113f3565b6000828152602080822060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193840401805463ffffffff600460078716026101000a0219169055919092557fffffffff000000000000000000000000000000000000000000000000000000008516825286905260408120819055819003610623576002850154600090610f7f906001906113b3565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260018089016020526040909120015490915080821461106d576000876002018381548110610fcb57610fcb611149565b60009182526020909120015460028901805473ffffffffffffffffffffffffffffffffffffffff909216925082918490811061100957611009611149565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055929091168152600189810190925260409020018190555b86600201805480611080576110806113f3565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff88168252600189810190915260408220015550505050505050565b803b6000819003610a80576040517fe350060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60005b838110156111c25781810151838201526020016111aa565b50506000910152565b600081518084526111e38160208601602086016111a7565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015611340577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8503018652815188850173ffffffffffffffffffffffffffffffffffffffff825116865284820151600381106112c7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b8083101561132b5783517fffffffff000000000000000000000000000000000000000000000000000000001682529286019260019290920191908601906112e9565b5097850197955050509082019060010161123e565b505073ffffffffffffffffffffffffffffffffffffffff8a1690880152868103604088015261136f81896111cb565b9a9950505050505050505050565b6000825161138f8184602087016111a7565b9190910192915050565b6020815260006113ac60208301846111cb565b9392505050565b818103818111156113ed577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212200331dbf66047b164b6604529cff12ffb7cde5940ac4ae6b71be1ead5cf157c4f64736f6c6343000810003303eabb8cafd4eda605313e3a29988713ec5d872448c74b0c731b2ab3557ecebb3f03c00cbc6fcfb46c2b91ed0fd0593c295b223d09d1fb8379daca143f182801111b033f751df89d8cfe5682e34259f0dfd9b0248053ca3320c8b8724893cb06c7f19903a98723a029393650b7ab0fbf6f15bfaa437ac62b6d88ee6336df2b47977270170317158450b309acd0560aa3a7a330ec9fdc2c0492a20eb868d351d0f6629baf5f03efad9bc1fcabf632b0d14deecc09f301ac3e8edbaf21f18534deb80eb072c5d503198eb98732fac2e5211bb2fc0e6fd3617a5258a419416728e0ec1e105ef1afbc03545e26592fcdd40d8b06f592331ad8b4685c234e5301c2adc038248800034d3303a4a9aa5b9ac007a206c17dfa2e9b99856d12af6e3710abf19c01e01fc121bd4c03ddd2884ec28979ef447da971f71db03938cd209fb5d83b57ceec52ed15732e610058200324d0a0d57386e62e875c6b3136abcb24b135287705825bd20c676d161797d054e4f89b16cc9b7ffdfeaea3f7f563ca71b882355103d49ef41fac37d8220a489b3ed326967effc40c39d4f2a97d79cfa93a7995feda03e713d8aa64c160606069fc35136261acca8395f5094383656b16c3d5c3ece2fd0058200362bc58e1f7c61a06bbf463503fae1940f8a591bc3150f1a223badaebba0a00544b98b775d7f38436e4dbdaef1889731989f867570374d4c9516102d7f53a8a11876d288da3c8ecfa375c2e914ca7dbae7a2f61c47c00582003853b1cc034200cd1175eb28d42eb7dc0652edfbc8eb0d6e897144384885110542d93609c0c3a80a0bda284b052f8fc05bb3f5953036b32ce8ec4f93b1a6dbae636526e8b5a8d1f773cebad972de75facabbe7b324300582003ad40bf5cb60dffb445e047aaafd6fda6c5f6e298e2e5ab997dda96bfbdede054f886ec719c61f63b1fdfb9b7fdad812d20dc17fa0376e169eb54565f57316a237d7a3b606b4220e2a14d6bc0798c5658763d3cecb7005820038500f4fa6ea84770127af76c19c5aba005dec375315708e24f0f203270513054163665f591a44e9138c6f63326b797d2de40198d03dff87c4fa49a99c55eb6f3ec6b65b451dff7ea035ed3a389729d69c3b7576c27037167e2e1d639140175d8ea9817d01c908a248198fc7256734f161b411489e87d03d04cb44848ac9c8fd17038f4854e2b76d50e6a6e3643879042398067ff4b651700581f02138b965ed271b43c45e5f3cd27cd6ef1198f5dce7788696eba4c31c2c9e554fc9cf4db2f08fdd16e28a78850186ef86216cdd100581f02000bd48ec8baef76189c4a3d3121c0b2ac0ba9d93beb9cf93e4309be6ec04101021940800219feff03a4fc8eb6777c8ae5f424618e3a54ca9be625cc926eae0732439a8087db516c34039504028a9728cd65f1d64c3579a0e9cb838c4bd5ee7ba79e27e1d36768dd2828034495c5b01c07488a493b1c8173605213bf97f7079cb2cb8b50298ae370d8ce9c032ab2970de77d8727a77cc3eab8a8cd764b4648c0e0fb443afe49249935654df003a24bc4ba7be498b8152d59d6bd8c69d6db6b6df1f3c7e59250bf1240c7f892d6038b4b2976f81e825dec463f098e886aca3a362063f2f7cb08f8cd866bb72848a803eac28901fccce75625f62ae62dc14b086d32ebd50a5bba2dd7b25a7b63ba6a9b03742040249169de2daa45c573dd1abf49714b8dcf836291c03656a9cac65b9b8a035b4d915145a5834c9e43bfeb9d286b63f76b08c3728f313697c62d2ca97bff4503a2c63bc77c0cd1eb13896436ae82d2527387a2102bf802f6f62bab49d061fbec0219ffff03c8ea26fef2702716a604c2658e3828a8ef13d682fc1728b1982421f433b420590319357d051acf38d867e9f7eb6fd28256c4d903d46d7142ca4f0a21adb5090136034bc2d01f6d1f537805d71c5c4b0bcd8c3df2ecbff56d01f806d01db17c1b27510328b596836b6161264764746217234ad1b26459e097ada74b29f136f9f1fa852003c0655956dd757391ebd41bada4cfe885046e51f7f3418d4d5c0f6965ca0af6a60316bbfcf612262a9f96bd995548a771c07f17d6b27193dd5ff60add0d37897f140383f37c421fd4536c44d82b235b86930852282fda9d618b744237efd99a85f70803dccfa113df07428e1e2d20acb22304227c2d9fdf4c65606ebe0fb8621fd8f105030d1eae06dd7017f2ecc6be5a4d3b474ca1121da0c80ec05f7c4b46fd60df2f41005820034656e6b6def1b9119bf029707b998b5c2d238c992f42b38b7bbe24c8a35b004101038f77cbb21981ab20e5d5068338e6e1d31bf42559285c6e4aacdb4cc63a4a019603af8c34ec2244fa3559c36d77b15380f2c660c1b1ec0a53c7046b072d536970b00392b712f7dd34ac1daa41e2d5a90958cab4eb2dbd7be2cddc2c6e3a182a38d40b00582003c5100873b4d27ecdb7b6a67abe777da9e3368caa446be7f9b961485d4029a0545c9a057466643de7ac45b28fd15af768c5e19fdd032a020a138ff385e07c7bfbafddb9cf0027e90c6d7ef7d06a3e346eef6cc5a76200582003aa762fd6d2aa1ccae66bd085e5c439fa62aacd98e34b43783f8fb57f78e66054a557d39c8e4e5b52ac3550e3503978b4f4bdfe1b032b930d7df6fe076c4b5ea3dabe0a67e131c4a632e66f2321966abc83c69f73860339e4e5ab19c06f07dd8f53398b2fe9e1946a2a1bcb490738ed2a65667071143e03894c7cd8803fca501bc5d40e63f4fae31068c4d49ca0dd8fecc4b8ebeed47f1d0219fffe03520b8fc08694277837e78457345214274f64b2875312af36aee9a8add2f2e2c003ed7ad698a5d8b80aad6ce652dc0360c4fa49d6628e06e7b128cacd1c58bddb1403534daf930b8a990b34c8252e59433ae35bc2b51de10f45d959b087498c5ff30003a0b729868a24353c65693f0263c00f00c54fb161d85ee88bd238e3943aae765d038a68aa125279d2a7dd39966dfbd33b6dd08578e4a8572f02d66d92fe5074e5a4034f57819513c24e53d9d32e9908ae3abb2942e11323d73d96b055e9507c8828da034bae43c4325da2f058fd85c5f9f144dcc3fcaeadf250733133a91b92cf99c47b03e00b4590ef786ac5b14b1f17a09f509b1682a2c762ff09158fe4cf99889a1f33037f8c4ba72082ebaead96cccaa3f364b87eaa65d6f78841513aeed4455e1527a403246bd109873f68bd7bc9f9d52421ce80a6150d6ff34af78b33e35d1c93fc4be7031f12125c1de70b3c7d17264da49e1798532d95e53276e393d0038ebac0deba0c0219ffff034612fd690cefd62443d54dd8a7a720a6606a4b99c64cee6542ecb290de47bda903403a28e2b2f50c77edd29959a38425373a0c78ba779a11fe9b12f95218209d33031879cb6596e37fa087765a061f2aca91f0f81027c99f87ef014194198a6a45e80336d3bfa2fa3477d9513a965bb8307a702674160bc27a0fd2a5f7b7d1176fe7b803fe54d1c42533f95cb56cb347b7e257fee0929815b2328777a237c7aef3cb1fb8005820038cbaf8fdd061e36279ae34520e362326d83c553be958f439b710378de1f4a054680fdbd730ad57830ebfa489b768730c310b90720058200339d21aadaa51cc58c0e78930715f0ac2f9e629ab3ec4624e9e0493f69eb7f054311caaf48ef30e99b4ab800d53cad8ee3550c91400582003026738a6c30547cefa20352fca35dbb84af44e23847357b4806122fb5f949054e779a4d73a95fcfae11f06bcb0379cf56e8c8a080382f491c5ae41b8a9e06efd11b1899f788fcf3dacedea342fe005bbbaa036615600581f02932e606f2fc73d0d11fde23dd78fd922505bfa98b1080dc1737ce416a53154bce7c3727ba8d4d12ef3b90ca3c757836eef2b0f00581f02083774416ab7cb083bd9d51593fc280a5e0017f08a2a9497170a32c4cc39540bf91b43047ed6b14464ee4d6732391a9dbe7be802184203e23b6ad665c8c359668c5d61abcab1d5747ba1d7c017c0566f1cac8ef2687bbd0342f6a9c7d3a5414f4cb7669bec0a226509653718ba06edb3eb22729cce38c34900582003884887767952ddf4073706943e7d570ae06c0d3dcbdf9f5226487b580e5b3054d910b40265b0598a6256a11fec3eb17c1f3088ac03f134198809db71c1d158eff7cd985988f62a9b70fcab943a8a69077896a242ed039d50aa8466eeb319e098c6740fe84d3a0566bd7d2f5b21ad4b14c56efede2974038f631e329e95d9536d5971d9157092ff4f96a669c1d6bd162c11b985b6825783005820033c6a7e8fc923504886204770c8fe07aec282c0ef4ba318d261c652367279a0546aa981bff95edfea36bdae98c26b274ffcafe8d303325805ced149556cd2b9684c85c519f4ffe31c25b98961afbffa286541565c68036e85f7eaeb664da41bcdc820cd5da47f81d8b2fdee27c1593b9f101c534eebac0397ac7c0fd7872c5c46154ed6104f7a92cc9ebc8ce2f171033dcf3ce25516c58f02197fff031568bdd05d04b579f8ea0d9983fb9d2a09349189b98e2f8cfff1b9258d0b036303b10ee5889200f8254182f676cbb190a7b3e82fe1806e8ccb10b8a7846344f26c031756e2bed479da528c96169fb990f54a8fe999fc091887fb1b0d41bb3a7c4bff03e3ff8bd90bafecbd0b17f4e697a4a91c91cf81fd29ea6b8df2bd32f65adc6c3f0332c9e22c2899c31367e71f772169ba2f6efa13c282ad80e19b64069787359e6a03924d6a76ce0819d8c9322046b791fb79fc2e5bbf459d674e8a392185c72dc8b903ee7e1f044a6fa9d320334a72b9f1ca1221782973d7390a025485664a502357a1034c5a3305f293a4e72acf6332f7e01e18ad9dedc57a0f3146a22f1ab75d8ccfce035781e3149c2bc4ce1618d362ad126b50fad8bc02fb77fcd3f0bf92fb69db98da0315b90b42b74a38b558b8e7ce9639a7d0ed6cfff5663193a37c404bc08c8cf789038cb3ad082dc1fb0d1ab9c0c847ee407d758544887c2df0a3b884efeaf55bed9b030456d8086d3ffdc94a577a2bc9c0857ab4f9d3e14e4f16d9d9e8516f7797118f0377cf9d7757bff3903798d3c77fc485743a8d9799f2725968406b41d88526ee190219ffff03e180165576a7005405bb1aa0785b0ecc7a2900586ca156e0d6d171a79776dd2f036e1ea7d308b715f3f0ed01d20c879f2d5c217db47f21800881286ca459ffbe9c03836c99c4b46ed386cc6591780ce645f9e6224c56765a9b0ed64606b5c8b22e6303ac97112ce6813d189d1dc195cf739c2ae010194e53344986ff3bffa06412414d033ef69735889f5a2212b03bae1d9007553a49101666eea17e1e1c3b12c2b866fb03f3eba1923232c55ac0d7bb749db26c32cfa10024628c19c29e60781a50e9f4a503aa661c542a550cc7248fb909b36cb97c9f73bcb90be67f6326999faf90fca7020349d17dab7b013e08430475acfd3a849ae91fc13291287d0e4516c72e4f9e188403fdac896eb5848f69eb56a7bf3c2c8a86786909f50d491d35f4b078e2e455e3a0032051eb77a73fb0a329e99176c1689d27c9c72db88bf5cf4ca0f3e19e64f3cf200374d022964e66e65f2e9f78ac1b51a76bf5646472eac50b8990e98c2aeb7e13110352cbda09035cd1617477883a2d769c38a57d4350a8822add6289a1651c3eeba003815478360dae05d77807db10c59d381b000d981a7abca40f0d0aeffa1548de7503310eb79719377ae341cc40f9e19d692942ada18307e1d2e38d5f55b41fe0573903ac6aed263df3ebf33623618408d58dcd4d9f816d5b8082990d9875b68b7654b000582003a82427595dc130c3aefc8dac497182f35c05757631941c1ef99fc04f79f960547779637d5a6e4c0dc67d2e15b117d5b888a6c26e036bb586cc475eba52b0b29fe988a32f405652be894bb95f68e10137f393d8bfd5031bcefc51b3c689a49809207f86fb54152467099ce556a2db29c1480e931efe92005820033f283a5c84dd4555ba89d0cc19d34710fcaff7ff4f206fe09076d78ebe34005455f4f271408f36299222d5c2ecb95d33ea1c99ee0058200354d263bffcef080df41b1e3282105aa4f99f6ee2b01adaad4dea69b9427bd0547e34c4564edb5477f07ecce29b4a1329441a63b50393d861f1cb3093ff36a45a011399f9daad5896034719abad57a11a607d52931203705a7194d4c8015aadeda5e448ae3a1f8e9869484cd91f9105e2a6daeda3048700582003d2c12bdce58f8cf9daf7e650199afb181292b9018a18834ba95b57ae3af13054ca7cbe6140195b7405bd1f22ab774ceebc3e633003176d44a8af5d9d09c4827688c423acbc1a554f48c4356d99c3f94041b5bbb4fb00581f0211fd30b114e457a50ed610d8e5ec4d09b5e3044f19acfc0e37710d3e7b3755025bcaf54d7fc79cd4e4269e73b9aca3ec5f54093c00581f02794eef82661c258394ff644e3c31aa5a3c9fb7f9e22bff81e2df984ad41a54d0fa0c70ea58ccd804651de1daf2ecd8ad7fddd602182102197dff03f5d5a995d456fa87ea60963247e3be641f0399bff3ca6c97794134f45847b1a20307853385beb875f4cc63d8439d1b9adcd9d529b747cb60c3c91a4acbffeecd500396b787a50c04bbd342c1796d443ea97f0277c78b7151d6f80104a49c01aa70fc03587b3d89385be5c732665dcb483f29415c6903693771aaf1f537d62f702191b5035e9db8cbdb87eba74151b5a7421d20c05c6c0cd887c57d65032a1003c9501c1003489fa7e0d16bf16de78203a4d62756a28305274300a09b87f610626014c031f8031865b96ebab278b64b1c889d2e01ace2b6e536673aa20a601dbe417dd2080f8603ea28a0191375d89fef591c69e9c34671b8a054517ff067b55802b91fad7e2fb40219ffff03be815affbe22a371de71890266c2e97409d8b69d4f6af8894b42d861012175f90219ffff05581d02d136227fabd785ed8ce243121c4c9a29dac9607287dc5aabec96aad60f014706ba6a85218bfd1914580219402002195d9603c36787df20c559aaae4045a0465baa762d71a05db4cd1ad2d3336411a191552803ffd42d899cf39f972e243eccd415fc5f80fda5f8402738ab549bd058cb71998603ca1e189a2d489fd9ce93fcd90ade7913774b842a7c84c422b70bb5008728830203923138713432a87fcc6d506b42654e3f4ef1fbc2f024725e211fec09da72482a0347f45d200a35f4f1be02eb166559368c455a517445f4a2a4f594f2481abd5a22035df52fdca57706ec571387f785a5a787a1d770eb4c9c64eda98cfc4d7f70311d03db49c648ade27d49f449538d63cb54f0688a3144aa32b3f724595178d5ac4b22031db9ff9f8f507a639a95b7fe65071b494f3190b5677f38c90f9dce4e24ce0b3303a718469dc29e71a1c519df671500862c568d4c630e7e65eaac0ecd68c04c8dc1032b3b3b8d869a3684ef3b898efe904b99514088293773c36103b7913802c3daf903c65b61c1359eb098aa33da61769ef0aafc70d85ac8847fd04ca6073cc26e59dd0396e91e4a017be2fad137a4cf65fde197a459e04a3c830a80bfedf27e86c64ea3036819e79dcaea5e721a59fd80b335f00feddde1fe62e8bd5e53cacb76a51629d003143b533c5d577beaca6e1f6b4fe7ac2b67d2e86cc0c9c9b35d1bf73e6b97eceb0219ffff0376e561ed1b5fa182b63fcc51724f01f545f737cc2dd62a3a576506bc8959b6fb0315be01cef7a2cc2cff3a1543659f2ae647377a2620db6e9fe6c37b0b1f9c2c4b03446b339f4e32e4b1bb2085c90b57f34070851b885130352af47fe082d3f5d4b203b2d5622e965ae042d3ec03e64a5fe0d0ddd6282c104478f33c5a43ebd934806b0219ffff039a7c6398eff01ff2b3db299d4507d039f731927cb94e2eccfc9b91ca82457f980326b9f2f72019309f290cba93c5f5e8d435b7ad71c79c0a26abecca226c7fa82b03db1f5e489861a079663d86c5fc2615468e41cbea38a89cd2de5d498e3badaa3203000cbc40acfa14368ff3b39ebb282639a107c0c1b8b612196684077df81b758f03a7a96ac82929e7423be0135fea4f578aab18a61895558ebb4c50ef5c0b5af4df032dbab2f80fa4813110ce0a65b28a602a532b48f596ca7f9b3ed70a91d4a18079032fb5c63924dc89a57880207b805bc353e0b7ff5e0703179aecf7b7e772b7818003503e7bda29ee1a6e49a53ff6748113d59a61b291c83ed43383a807737a5a8d0903c3d986a216fe7752b2dfbad5037a26ad4c61d30f96a7973b898ac568fd1d67fd034b73cc3799436dd58600869d945fef4ab04f8992d7b6312bd47d7b79e63374ca03e60e37c3fb20f5fe688df94af72e443607bd42275af1442dd28c7ff3ba9c690b0219ffff03f26f03de6a484fed1f07bc80610ca891765c565ddd2954f7fd22827ac91a097b038afe2fb89cb7fe691c186189f23c1cbb52cff8fd93a8687f0913cbd04bd87010032dcc80dd04460924c3be0b81de8b0f96eaa21cbfca4dc8d4155641aa76023990037d448f441dedaea14722aaf20cb0021fec5c6e2e59c8e59425a3f177b9f3ca6503a603046b1b4f2233cf6fd8f65e02cb5d42ee439412e7cc74197b5ec138cd4d740219ffff0320ade8af0544e104e5352772808b90d4abd208662e9f73be7b1aa4d9b6f0d6ee03c9ff5a08bbf1fdb232215d1fb11be8b218d42a2bcf4e5805a5712b030f8e1ce4037c0b5af79fd0c1dbd673b601746444958c7405314db97cde8d367ca14759da890387dac1e81a0988aefcc6e71dac2d6c5b5fa5dc7caea4576955d4d4d935749a8a0304a0164e2246ea3b5c7eb5bb798cd4f90ace4932c9b35220f5ad2c2739965187031647a0011760b46d28ff47990054b37bdc49eecd4a6c96ce84a1ddcf422b37be03357f91e0016a07c489da3a4fc1ad8246505286c2946953ee1d4a6b2546eaced803255861db094aab331c8e975e972e8f984932da5aeb480355d0b2f8305918df420338f92b99df664979b897969f5692015c24ecd833b83f2c0c3d3ba2465fcd229903713df614a1acb278abd580bb81df5779a9e617b1b9e39d2d02365d29d74760b80360f5555079bacd598c38592bb8ea8be4512169b0ae75817b77da6008c370b77c03610b15637cf6331557ce8326791bcf87b29fbcbe377b2da26b7294079ec4a6d303925f03c0ea66e25d85ebeacaaf32252bf955b542b7dd768c9c818384ccff315203e3cd40bd0ed911446679ea15dd37adafedc29f587c8f08b894c9719b45d52c81030c4f6b5570683c5b4f5040ba80cb0bf5cd3397c26e3901da3152fc7e945197570395c45931f254e0940dbdd23eb017ad52af6dfffaafbcf768001a767923ce0daf032adb07dcd4f04c8ed8b2e5de9e5b44fbb0a3e73b30733718b2b5559212aed88503a84e0ca294dcbd7e4c8b07abd66b74ae2bc2ef9dd400e16c5cbc9c5a8a8f86e605581e0377e7f2bb6a8fbb9a12c772aa3842d488012c38c1f0ba42f86d1ad953900c014801505dddf1c2a00005581e033e042addbd1facff93c4224936a29ac5dbb032283f416ab32071eb7bd0040103847a0ef28aaf19fd419a3ab15c60e4ebd107596302b84ebcf45edd1d67093f6d04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630480b871b0a0f3394fd0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf60480b871b0a0f33911500582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af052010404348f17d89fa267264cec74b0f349200058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054d09e8f234ea143989df6b0662b68ea69e15a8acc00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58201af246c7b49004fb324c22dec87c1d77718a7f42e040a283207e94b6762730b4005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85201732b43937c0c614b0a29c1848ff2117ef802184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632d0170000000000000409dee3c985230100000000000026279366ed2101fb0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218480219b45505581d02b16c0919d68c8d1f61892b68ac9a4a03f844ca20cdfe8d1ca373b3350701192c1d05581d0287da213c54fc477416b947702ef96e79f14416aa676dde22ba73fc2c0c02463a5736892f70031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d022d8d7b975fa738fc0981d0942ec90436f9971d318702b184d03d3a3907011bffffffffffffffff02190106030b5f5db5985d94fa6d8b8e16e86643460833769fff310fcabd70779a01315ce701410d05581e03ae24bca449ab90bf3209c614804cdce02739d122da6c7868ea93fa5550040305581e03789caef16af4df979298f54e6c94af00a467babab0f42a12150f2aea800c0147013b4832a3f2800350a677f53b313ec2247182bb5626c4c78a0a2bb1d8fb302132dd160323162ecc03fdc77081624384603092ea11eff6b8d1f3088db59377b5d68099203a13ba170e02192af30327a455d23f0dd5a383554c09be9d95d168d921538d5d87587c6a821cb5105842039476f8262bf51146949365730623466520a33f3b51c32ffa6ef633ea5a097f070335bfca7129fedb289c85a9378bddb0ba3e06149db616f06cbf8df02c9a99fbee036a3d60bb1a7bd016e14e8722f890f362db57d0c1fd57a2f4eca9257b28659de20326b45338fc3a048cba71a17a887f8a6f86b9d731cd8d25d27e0807290f7ab3ca0342c6f4855bc39dfadb0c90409513578598c574cf85c0759ee9b89ea32c30c6b003e90bae963d511949fde72994af03d2150362b67a5f2eff0b00dd23e95c0c13d80351a4c87b6f59b5073cc7cb934bcc1d083c14d82d83859942f11100a901e418150399b4dc6fbd1c6250f540a65e38d92ed031e16fb28004e263207ca86134bd67c50303db6e5be64c828346a7b7508c35e2287004c07438a60b81c7e9d98d3e800c81034a4f3c2b0be4aa15cb541cfc52f11ae84e31330788165ea04aa0e835a7f1462e0329747747cd1d5e407fcf0dab98e1dde4001bd0849f7e967ee747db558d1732c103c4e6cf6083aaeae552658f92ebd5e97c242ad710c38cecb8ec079588b412a93d0363c700ef88720440d88e52b09b1c02295334c2086e39b488d645a9668477265f03983b388f686b2e7ec623de1d661ac1fd55990f6b859be6eef975c2b1aeb00f280219ffff031f84202ea62b6fa74318eb08c0ec2faa447c0d467559b91c1aff879e10d524db035fa9b006b71a9fc78ab9736c6abab8f69728aa0460c040fe50f8ff931cd7e67f037b6193ac24a7ba630b9a365ea91aa265146a1d782add582983cc17e7537e1e0f0359ff5af3621a173a8b8c3895e3d41b1ec74e64b5d3531d22ac885dca8e6d40e1031e6ebf698c644c87823ca16b72d171b658b4d4b2e1a994bc5a41852533333031036c6a4b9808e45c15010eed68858cdb98f406e77796866880446763dc04e46eea0219ffff03b2ca4fbfefba65bb46d02a03ff5b1f0ca2e3d28b45133f98ff4aa66556bf91f40313261508dd2ae5849de6c4780d11b89d7d30dd3a35380683310fc9d63997d91e0340cee2aa08fce6663ab36b63f6bdc7a762ac4e2fa7110dced1ada05d206226510315a0b5f12a7c5ef99f01fdb47eb089c44b20841d184de0193f41e7c65b247d670305a3bc525be61022c7a352b79d6db915d31c4e9beafd0da7eaf2c154d4f1b852034c9c88a99d6a7cc920ef08e2d40ff72842dc0d62f401d70eb266ab2cc162f17a03b4b60f1a1234ba18e655cda540a0ff69417a9be52cceb31380516b3a8b5900cd034c9facb20cbb667ef2b36779a3d5086fa8b9369064222b37bdfd7ec5d8f898e50219ffff03acc145718c40b6ef44d7d0a7432aad8a48f3713cf76483511e4e894b59bccdd1039e5238d15fa9eb3d3b766d6dd3d959be57522998008bdb2b3a972b5efacf2fc70341d43c68dab36c9bf1596aced9b26c64d20041f0ad637fa0cdd16a32c754b6d3033533f863a6e15466a9db83aa564c79aeee11f52f48cae437a89c54a3ddf736d003fbba3138662d1025015496464f8fa54b4267b7a677d146b398adf65ca6a9b9f50324e1f7d992d03f79ad2d7c91a1d57033807d110810a121c9e43d87559dc5c5bf036b452cf5f6b65d8ccf2a18584ad61b3ca25a2828b1d32e6dd7a9f1a9514ef89c03a07d0a1d6576be455f2faf5693e282de73a709f3c63c5e40f9c7fe15142d9d2203be917954704d2ef5dee98f9968be73a9ccb070cdc337d6a6290e19ae9d87ad2003cd4bca05ae282a775c0ce958470ee72f73abdac97dfbdc504059dc86067040dd03de7257e52cd9d82fd24ecb514c32b8c476b19bc72e9284df279d87eeb251bdc3031f652f0148068307142b6bd493d99bd9cfaa82e31e6874dcd6e790efd46a2f95034861934e155f2c083dec3e6f18da2534972ad7d3d0bdde3b2c10032983cbb0e0034503e8c4ac0e8782315c9066b10689639b123fc6d07adf692abc90832841d8d8039223d31d1d61379da2b91a588182efd7fa6a8886ce9ac0fac3eb2fcbe89dd3ab03ea33d3b3b9a8b59794777f01839d2c638a3f65b956e1deb5980e0fae60b57c3a032e70bd33c63612f679436932fee311e9aaa3be786ef1b3e8d1aea495dffe7b3d033094c2f38a8171399898b6acc6bded4ead8feace40084cf09c51e127a914c8df03478f4c4c3502c75a0b0c4158346b2010676c5c4429f50b3995477e673bf91c8503fd8423f0a1970ad3ff1a3de362657aa237f0607c0918783796bb9f0c7b80d94c03bedddd80c276ddc13941629062f6e75add4ff94197671cdd1f921d07c5eae9240339638b072aaf68ba27ab43098842633eaee0c63d70870873f4fd6d63a5d8635d03c1c4c57637034f046ea2f358e6314814d95d374435a35c82e5737aee4a99829b030b63b0685c8bba0c1c4d0c2bc5e23213098bb087bad963d8fad2b334070728e00368e8fac361ccb622963f273e5df5d25b8dd3ec6228e10dfe85df0864d8d48aa903d74d989d14dcacc0a96bcefa1e1dec9bc1ad6429106ae1fc38083a1ca554267c03ecfd8afa37cbc5d64785db1bb205158dbd1273aa61dfd0a5c1c547c4c2a38c48038e42aba209fdae577c269d0c4429a90c247a39d3bdc8e39a8f83bb6c7614f1f8033890530bc71c95629ad743a770cfaf60c6f0adf83e023d3925d1ef89e0579457031c7e23dde55e79f073809c56a11534f870fc9b50656be17bbcb67f037c5f6cce03e95e9454f5f0212f2ce2f4d5d3afcf57efcf3aa959d8c5628115f2a3a3d08d700398d1bf1004b6b4543bc58c799b5d8d2104c125cbfb50a0bafd65adc78c53d9b603cc7f1493bb12ceea6b4ef208827c273458112c33a0b79a1ffe8be16d6103a55b03caa268011b75b5f113a1536e28e34b8d4b29f0858481dc95ebe35d5e41f56132031f955940496ad48b7a0ea4282ade215aa64902b7a6b2d236422fc4668d3060d9031e8cdcb3fe7c4020facb5ffc792798e505a9428b22bb5393916a7d9b315d130a05581e0361a7cd51f3ce6d7e45e4867e5795179f66f14504fbf1184ab2ed9af8c0040103dbbb7d9405527d86a899461e68b1e9909e563e02db2129c189a495494ca14e150335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e0347e14307d0990977273172ef7fc0c82e8d405eb8353f4b5cc4d6c10dd007011bffffffffffffffff03e91f24ab48ad83b4256851163bce713968a44a259415385076e9b9b47734315a05581e0313e1253147b57bc30299db25562e3ebc0f3bf1776d34c680e114bd5f70040103d3c30888633e35bfb77303190152ab00aa32af19cc3038cbf901eab067fb857d05581e03f83815cb105ca091daf1f181dafa61368445cd488a8e70a372cd4277900c0e47058dcedcbe5c3205581e035ae381d419f4af057d967c93309741659a0343d476e09e4a593fca52800c02461c8ded77870005581e03c22d1367da5b42183d3e73333e1cb5291fc9de0be9b5a6708572fa8580040105581e032569f8a2ffb777cf3de3766de7e24292779c1db314d970272b58c0a9800c0246c7b2cc45ce6805581e032618bbdf10dacb11ae8c82e2e4dbb660f3f3525a725d306f64a8e519300c1831470daccc14d7aac302193fae037925d32722f61f1627fb6aad1be9abd93054e41ac85b06a6b6f2450835076a8e0390c25f1b4d7100107308b7dd6f99010703cde036dd1d0f2e803c2fef512ffb9003f74e33a50cda69f8a33e93d0a61bae79df950aa21aef07df874bec22618520f103644f446ee4e8c7d0c70f5eda0d609df67e085129fd4bfca7ada1b04654bdf785036c3d84bfe9db1d3c2e115215b12c7e41a675e29d2a38c5070c53721dadc9e9eb0219ffff0344ff395c55105af29a6cd9791f261ae031684a90e7faeb191041cfc76800b36a0338e28a6e0b80b5f6f5492373107745c311ae800712f1252f121e4f4c76e5b9a603e300a2fdb1f3967493e6ab9052a26535c045d13bd716f06d492314f5ffd490c3037eba0cf123d85e2749b1661f06b0548420817ae42a06df87007d2543a383de840313ff993b41ba2041a080816f958b10f8fc206f541b834cc2e1c8feec1fb1a313032b22f67e035c794bbd499f605d1877969372eb59643107c3537d3ffc7567902503698bbdf51715cdee8c819fdb5a6e6001778a0985aae3b2f6683a2ecae4d8a5cf0219ffff032e16a176da23f54cff0a3233c6bb888b50451f3b47390eb68ec52c2ac55086bb0219ffff03f7df258af5df24f5fb575c6e33e759310bb9b5d91fa649b3cce49a98d4893a4703160eca576622d1fd2da46a0fb6b27822a5fa8ff78897ecccca2aabd4ac83fb5a03856d4ae9852403c610949fa94b0dec30c5bdeb7840bfef5c95df7330caadfd150363b8506a56e06df8be87bf48939e49d755826acdae597cf1a71d91c2faa7684703d63fe6c0673206b15421c8825eec545dd6ed2cf59ea4c0647fb70c2080c6fac7039643353e62de7a75416833208729f8241c04e3de202c2ef660aaae8b048ce4ec037b9447789fe7f01eba5f81ddde0309f06e4ff3cbe61c6a7cfae277be7a4af9f803c4d09a40f3ad84916f13a51b0b3ea7ffdc2f1764a4526e6e6edfe1b666e056870219ffff03cc91547704c62300a8890c3f9e3136a1c6d3be6d9c071febccb957b9a9f8283c03231578b56ee97ce783ed0e7456157e979cf69f98d2e2cb0f5b7a4ab7889131cd03adf15fe76af11acd8bb535dbe10db9d7666127dc9a509b300ec1aaab81e80a0a03185118be277d5bd4191294c5f0ac0fd6b686757b14fe91860399c9a882015b47031df4dc97bfda919476e4b7fc68defa55c1687af87a91e5cf4c53ee4d46cbea520305f69695079e77a4ebd37985acd63bc487c811bd4af6ec55e6554ba6d20d934a03c78e09fed28ec97dcc76b24e6a5ccc500370f9d56b1f2f1722ff5c72ad3d3e0403305e437469747b938c9b7a0dcc2d410a1b7ce18e2aca36c451e8ec81640d2714034213bd0c14aee28d3feaadffe2e9c69130312f0a5860fc6a00c07f537bb9d8490390bef543d2d0b7746507e3863b1e9d42ca5d474f086656b73da3a6a32eb877c20335d007c86360a7c7002837270406b8e89f58875b3b614336834d48e06b210a480340a390d3bb4341a28077277fd45093ee5b0a0ad7ed205b1e41b6eaba4c582a85035c4361d8d71cc8b88b36e18052416e58e7abe8e6b53d4571b70933819f52da50033ffeee0b2eb51204b790b81d949bde016afadeae095dde9b6e2d17f046b70ffe0388e7ad95d99aef5c8ded6a7333bad912f21c7578125929cdf68e6edfad5a488103e627ab1f87c18d01951dc714213f82f0a2f9f7e689c6f5c9e41d750735f257790323bfdf2d343bf1e9f6656ef5e1b5d8fb3ed28d58ea465eebb7930d09b79df547035f249637a09bdd57a73991fa39d24ec3f3d48ba5f6da69b4bc768cffcaf0e22003737531d4070b576ae4df4fee8f2200bb9d7237df50130072bf138c7babbecd67037c02a0ed15e58d62f3ca81f1f017cf14154285a70b5ea517fc0b9e227f8fa77503bab75889c5a1f74279862a34b0a043974bc805edfd8de2f5c75753f928cdb46b033f293c30805471f8768396fd08ea08e615d563413f3c52b1e0149c56db1209f9036338610e6eb2167def746f718af1f3425f8d6786f9eea1460e224fc74c8622c803aba8511b9b7e0e367296c6a5505327aad4748eb7bfcaabf52d7f9dce993c1d060316dea49ed2fc892bb27135a71edf791446615d91684b5ddf7c31cdd7091e872d03504bf62025ad3d2232888a48e3a362e19e4a4aaaa8240beb38e0364414e5b4350339de3450912851c6f789a8124dd8d27c188c78a3f4e1df1933d46e57d302bb0f037bc0cd0d9889bb15571766fc081a3e782fc1a7349a7a453b5f61d7ce75aa6ced03bf4294e81d2ebfb90c9bfd4cadb4816654a69d20744fa141891205af2fa4940f030076b8515224a8967ca93addf554ac78fd3e5973027d71244f341db7946214150350fda964c5380b0ab4fb90ea5a343d77a786dfd2319d0c2f97c34bc6555c2aa703596c5359e25a21231a6423b81784eda3930d2e63a30b5042feed664c3b67b1fd03ca41a77854851fcb3f087ef0b31635a248d06de837f5160930178f825ca9e4da03f6e22aa2115ddff0625020b35462cd23da0c471efbf3873b46b2cc237cbd49b0039e5d1a00ea21d24790718147e0db6aa2e4a041247d3d2ff5cdc88bf7ee0a8c7303d9fec454049cd457148a6e8c56361152ce497a7895c8d6d497ed3d0d2c73d5c4039ca3b7333d32d6bdec0ae2cde8f69a4997548390671603b64c41d210ad3abb3b05581e039293d3bdb90b1fb1f8ba74e1fded6a3b2fcdadb5dd6ae4d79d3e760610040203e91d9b8d18deb5cc21f0df3f13667bf4aa47d93132f65d29ca279c2107f68e5c03f7b1eda6b32a98cd9209facfe30678f547e070f4d3660400835de66112f7ab12037a464ccdcd157c89ded7be77c0dccba288bfef19e0c092708217ceec0e5478f905581e03900b5c444e05ed9b0407768ab203436acb95f91917f062b72535547730084802c4602609c3e000033063b18f596e1a34d371088394a8988e2688ea723ad5b8ecf49912ff0ef57dc5045915d7608060405234801561000f575f80fd5b50600436106100c4575f3560e01c8063715018a61161007d578063dce1e2b611610058578063dce1e2b614610172578063e4f171201461017a578063f2fde38b146101b9575f80fd5b8063715018a61461013a5780638129fc1c146101425780638da5cb5b1461014a575f80fd5b80635daf08ca116100ad5780635daf08ca146100f0578063609d45441461011a5780636beedd3914610131575f80fd5b8063078fba2a146100c85780633b51be4b146100dd575b5f80fd5b6100db6100d6366004610fab565b6101cc565b005b6100db6100eb36600461104d565b6104c8565b6101036100fe366004611095565b61070a565b60405161011192919061110d565b60405180910390f35b61012360665481565b604051908152602001610111565b61012360655481565b6100db6107d5565b6100db6107e8565b60335460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610111565b606754610123565b604080518082018252601981527f44617461417661696c6162696c697479436f6d6d697474656500000000000000602082015290516101119190611144565b6100db6101c736600461115d565b610979565b6101d4610a2d565b828581101561020f576040517f2e7dcd6e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61021a6014826111bd565b8214610252576040517f2ab6a12900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61025d60675f610ec3565b5f805b8281101561046c575f6102746014836111bd565b90505f8682876102856014836111d4565b92610292939291906111e7565b61029b9161120e565b60601c90508888848181106102b2576102b2611256565b90506020028101906102c49190611283565b90505f036102fe576040517fb54b70e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610363576040517fd53cfbe000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606760405180604001604052808b8b8781811061038257610382611256565b90506020028101906103949190611283565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093855250505073ffffffffffffffffffffffffffffffffffffffff8516602092830152835460018101855593815220815191926002020190819061040790826113b0565b5060209190910151600190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9092169190911790559250819050610464816114c8565b915050610260565b50838360405161047d9291906114ff565b6040519081900381206066819055606589905581527f831403fd381b3e6ac875d912ec2eee0e0203d0d29f7b3e0c96fc8f582d6db6579060200160405180910390a150505050505050565b6065545f6104d78260416111bd565b9050808310806104fb575060146104ee828561150e565b6104f8919061154e565b15155b15610532576040517f6b8eec4600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606654610541848381886111e7565b60405161054f9291906114ff565b60405180910390201461058e576040517f6b156b2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80601461059c848761150e565b6105a69190611561565b90505f5b84811015610700575f6105be6041836111bd565b90505f6106198a8a848b6105d36041836111d4565b926105e0939291906111e7565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610aae92505050565b90505f855b858110156106b2575f6106326014836111bd565b61063c908a6111d4565b90505f8c828d61064d6014836111d4565b9261065a939291906111e7565b6106639161120e565b60601c905073ffffffffffffffffffffffffffffffffffffffff8516810361069d576106908360016111d4565b98506001935050506106b2565b505080806106aa906114c8565b91505061061e565b50806106ea576040517fe12afaf500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505080806106f8906114c8565b9150506105aa565b5050505050505050565b60678181548110610719575f80fd5b905f5260205f2090600202015f91509050805f01805461073890611311565b80601f016020809104026020016040519081016040528092919081815260200182805461076490611311565b80156107af5780601f10610786576101008083540402835291602001916107af565b820191905f5260205f20905b81548152906001019060200180831161079257829003601f168201915b5050506001909301549192505073ffffffffffffffffffffffffffffffffffffffff1682565b6107dd610a2d565b6107e65f610ad2565b565b5f54610100900460ff161580801561080657505f54600160ff909116105b8061081f5750303b15801561081f57505f5460ff166001145b6108b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561090c575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610914610b48565b8015610976575f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b610981610a2d565b73ffffffffffffffffffffffffffffffffffffffff8116610a24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016108a7565b61097681610ad2565b60335473ffffffffffffffffffffffffffffffffffffffff1633146107e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016108a7565b5f805f610abb8585610be7565b91509150610ac881610c29565b5090505b92915050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff16610bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108a7565b6107e633610ad2565b5f808251604103610c1b576020830151604084015160608501515f1a610c0f87828585610ddb565b94509450505050610c22565b505f905060025b9250929050565b5f816004811115610c3c57610c3c611574565b03610c445750565b6001816004811115610c5857610c58611574565b03610cbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016108a7565b6002816004811115610cd357610cd3611574565b03610d3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016108a7565b6003816004811115610d4e57610d4e611574565b03610976576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016108a7565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610e1057505f90506003610eba565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610e61573d5f803e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116610eb4575f60019250925050610eba565b91505f90505b94509492505050565b5080545f8255600202905f5260205f209081019061097691905b80821115610f23575f610ef08282610f27565b506001810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055600201610edd565b5090565b508054610f3390611311565b5f825580601f10610f42575050565b601f0160209004905f5260205f209081019061097691905b80821115610f23575f8155600101610f5a565b5f8083601f840112610f7d575f80fd5b50813567ffffffffffffffff811115610f94575f80fd5b602083019150836020828501011115610c22575f80fd5b5f805f805f60608688031215610fbf575f80fd5b85359450602086013567ffffffffffffffff80821115610fdd575f80fd5b818801915088601f830112610ff0575f80fd5b813581811115610ffe575f80fd5b8960208260051b8501011115611012575f80fd5b60208301965080955050604088013591508082111561102f575f80fd5b5061103c88828901610f6d565b969995985093965092949392505050565b5f805f6040848603121561105f575f80fd5b83359250602084013567ffffffffffffffff81111561107c575f80fd5b61108886828701610f6d565b9497909650939450505050565b5f602082840312156110a5575f80fd5b5035919050565b5f81518084525f5b818110156110d0576020818501810151868301820152016110b4565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b604081525f61111f60408301856110ac565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b602081525f61115660208301846110ac565b9392505050565b5f6020828403121561116d575f80fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611156575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8082028115828204841417610acc57610acc611190565b80820180821115610acc57610acc611190565b5f80858511156111f5575f80fd5b83861115611201575f80fd5b5050820193919092039150565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000813581811691601485101561124e5780818660140360031b1b83161692505b505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f8083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126112b6575f80fd5b83018035915067ffffffffffffffff8211156112d0575f80fd5b602001915036819003821315610c22575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b600181811c9082168061132557607f821691505b60208210810361135c577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f8211156113ab575f81815260208120601f850160051c810160208610156113885750805b601f850160051c820191505b818110156113a757828155600101611394565b5050505b505050565b815167ffffffffffffffff8111156113ca576113ca6112e4565b6113de816113d88454611311565b84611362565b602080601f831160018114611430575f84156113fa5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556113a7565b5f858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561147c5788860151825594840194600190910190840161145d565b50858210156114b857878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114f8576114f8611190565b5060010190565b818382375f9101908152919050565b81810381811115610acc57610acc611190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f8261155c5761155c611521565b500690565b5f8261156f5761156f611521565b500490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220c5a31942a7d3cb96f5b9df10b4a4ec6779e0daf93e3bcdcf92b7684fbc5585cf64736f6c6343000814003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02249619bec2d33b2ec024520b655117eff9128d40c89c4dcf78460fa307011915d705581d02ca57d9750521961cf79eefb6ec2f83ed318c01a64cb01f0b10f3df4a0c0146348bd4c386c4021910080361638ab16fa81d66b39fbb92ae559982b97df24938a31a92c9a1b94cb4eb367c0219de95037e3e32d478b75978ce849f652ace449146307e4e2b1854f2d44847232a5401f8038701045493974f23c4486e919ec91c62e10ece2554071f58796641d8d50cca55031b336c051eb9a29562a8b0b38e7f83ab8cd7c423c460c43a77c05572fe7661fa032383cefd85f7665a8b3da5c28ca5a625976db0172e89f7fe0f08b19ca4d0cd3b038063dc459d92eccb3195de59a2a0d925a32122a19aa06a33e1a9c27082cefc9e03216d7324140449c3383b02b5a930b84d8cddd1184b3ca6a6cd7055b92a9d2ec1036555f882fd1a8d3acb3b2bdd38ef650b1c4923bb97adddce96f81330d2de1e6d03f2fa0ad1f2493b3751f9c1158378caf466b5693fedd5dcc6d188cf925204319203c4b3ae192dde21f638ad8858c7d4645a29dcd12eb81938455ce8a65e9fcf3f4d0219ffff0219ffff03ea37d0bd26fa93bf80796c4ed60a4c63bd684ba09a82444b66b518ea0e726db803668ed6bbecacea9c2da03499c5a00ddb8364d074a0ce40626fdd96c8bf3d0809030bfc6ccadba3f4df26c87c5e7f48e354b0fa8dfb4dd4bdce1797f14c2b2fec2303ccb86c3825e42e0b30a893bb6af9cf3924786999a4c0495db691c5abb22e028703032c8f386e1097610bf9ae3b66569b5b9cfa0b667206eaa1b8d0506bc894fefb03d74d6f9af407c7ce6fce36d5d96694fbb079632d0ab70f28e661f65f7822d72b039cb325d2f83324156b22eb1de7658cb23fa4e8e1976e15ec31cf80a0c277ab0a0219ffff03d49254b0260dbc594bfe41e596b6a5704f2ea83d1189066dcf79ca57e603a31303a78288c9a9176eb08e8f19fe7c8cc18e457830b6499a0f5b8df9c9085ef4f7db034c9ffb1c85084f19239085fb80c075917466438ed8678be450d9792811f37de203d3d3da749b1e1995e41ac61e57e43fde5e7441510107041dbd75101126a4dd24034da2ac96f49a7b32597976019b2266287c2fae54b1c1b0b433147aaa0d88286f038473a5c289907c994f8e16aade8d66565284a7ab98445691ff6a570c3b2925aa039a6c5e217cbf19bf5571f2b35ca5916bb16f915296a87ee7954d45aef06e3c3203ee6d64d1e92092dcbeb62964d95b1ebfdebd9d5b55fd4d3860e1b57ce2e0f135037e040654aa36f808852f752b1ec160922e0c4315ba5ea551f0092a06efd36f7e036764315b21eafa7dddb098a43bb18d5ee335b7df16aa095574c7d6f8372c3e60036746f76e394b2877b82be188931c61679919f5a6ce6934908cfbc6b7a2b58f62031fe51adebc9e4335833a44d37f3623cb27f7c2decf8c1a4817d1bc661c7524510365da155a2eb21ca3f57ca808b0c8a853ab0fbab733f9318fe8817f8a2a6995e503c04f88547862b74e4ef6560d5edb60fc0d49c4e97aa1774422680345db698f850305cac5821656084919216789819c45ce01f3b6824c4e6c78670483ec1c56f50a034531c3d51c14c3e4d606a79a309f6b028bc1703034280d92ce8268f40252dedc035e68788bbd99cbe2255eba5f728d061a636cf5e7a207829736d344e27defa25e0362e1022f94924bccf1fc5d74eb8a838f51d5156896f752962a19e2dd002f326803c2101f08278c68196585f748761596ac51042e3f24bcd1912df9f4b87943176c05581e03e5c7cd2f038b97319f0b1c515a324d5d29548cba104347377334c45db00c0147052366ba224e00030b2251f304098b563e92b5cd2920ef30255390be1c90719cc04900b7cf6239280328bc725c9a38c300c46bf183acfb867c35ffc92894314d64df19b81c64a5df5005581e0326c8ee2fbd17f3d41e583359f68eba75a2871a281d721ad3bcf15737900c0147039399d47280ab05581e035bfebf22caeddcd837a4850b1b6a360cd053f27c28eec56d83e635f9a00c07470184283a37d71805581e035116ff89c498d10d92df0db17378a3ba853532e9e022707cec64504040040205581e035e2a870d55754aa703aaa37dd858aa163dd00ad16d72c408f727fde4e00c0547022864cac6283005581e0341c6acff40aa5978ea734123eb1858c7ce77680698d2188fcd6edd19f00c184147047862e1f6840005581d02ce473de1d7b82745b0a23d61f5d79948ccf5218d0ad194f10112ae3e0c044745aadfa1f6a8a804592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203ae613dfcdf98511f8530f995042f8adc8884974ec46388304cb3b5a9bcb69a8b0367a6adcdbe59ae4ec9c9b378635d6cad4acbc86c7e3b017ce696600520c973a2033eb25aee4154731fbfeb67519ac979c891a02b0c05ef4767569fcb2b19293376036cb9ef1a3729595c7cd5ed489f1a24e52ee9818a6bda05e0be9b60a530c52ec603926da5c7f9066e6cdfdac5c097e738694dfc3e02765ee8d290e95aa90a564244037a7f52ec27af0a7641a036a607d06826f99c9ede194cfe1560c6bab9c876a5fd03e4c21e33bc769d70288950d79529ce8b57f8e736aa4ac0c7a4659adc71f4c27603be2cc4bb3c2c86c3684947936a2cbe1801a3889804689edd071887d32f1b85bf03f9252f85b7601a6e0bbfe99f27b7fd46019f15035a1f2993814f3ca09bcdcbf5039d8be73efe749ec257ea21b30491bb3b2af0cf277ca28e19d3bf499b0fa2f16f03476c322abb67d8398dc11f96a240c78620251caebff22624f9715e776247c1e900581f0218fea2305a7d1b918e850fa9658002057bd7a1e872ce545b9221f0d680b1410100581f02a0bceb0cde963125cdd0f413ced19ec5100d3429333540f350c3b1c5ac79410100581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56348096c82177a3e084402192101005820033c4708cc135e04fa78359edf4672182ad0b4d03fb004fa43099ec97dc055305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ab2f849b1c34f03e00f086c5ea3be2c47cb90226e8bae5e72619c08012df8b30005820032f0ce1159109d6fc40ef2f0fd2599dcdfe8012703069ac2c8c0d2074a930c0410103142ff04885c13fbb5404c6fcfe42c48405fec02cce1afc9b94066ec012d6f14000582003823a806529324b6d8987fd6cce32a64ff485972745dd4be32cb0b03d3ffe405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036d84308d2b7e7cff4c5168201aceb3fa52beeb464adc0cd3ebb24952f54bba840219445d03f4671dbb9c72c761568b62ca30398dd39493da5d6b9164340d88942bad28229203ebb248a9467e9e0575bc7c003b3898d9ef6e132ad706569aa13024d242de9c4a033bee8ed151c2b31015821c8181c4a696ae3cd3a9d278f6f20cf355d0950496230353b86f3c5c60865a9169836fa2e0596c29c2471b7bb9be03ce31a1bd4dcf2355036e2ab75559eb382103972bd47c44f3dbbc4470f18953c44a378c9ce7a4bcb639036035f99e83da126a99972a9bea82f14d67eb9276feec39a67d172da935672d1e0219ffff037d785bb42a6edebf456348b2217d85952763bbf188a1d744739e27602a16f9de0349b3afdb1b19c0b36f45d052e750f2822a4bf90be2bf9d6ddd9b01962d91ace3035d36acf3f39139aee8d7d0aceef8405be26e5ec0773cd653797f5c60e54b3317030ca3f51bf244c2e94e2dcddf3860c52c596fc97d3f328dd3760c7ad17ded92d5037e47713afad4415c3e063d413050021fd0ed136bec57b99e62ee368fea1bb10503aea8df0ffa546dd6270f26cfa18abaeddaf64faeabd2a8c2d7c3d485536389da03b664535977b1e2e7e149feef1e19417d8fe60f69562aee574852e9156ea1786003c913c8849e4afd9ae65cde366ca61efa5559d6b9fee1c61fd9fe273f8e3917e10334f60bb57429d1973b160b1db989492a6d0b5274c87ba8f9b71114a1adf31dde037644d69157d9f5305d6989838b193b08ffc53e01bfe486bcbaed57a40fced45d032912f957e9bcd7f1e639647483bd547f039f700a50a3d1d21178321631b4f0720304355563df5418c1be2487e76f49cc09a6b5eb3516379e323f265b035c557c050357f8012fb660eedb3240c0765c7ef015c164b4f1733458dae8032c6ec60bc772038c7263a81c1e2942be50b4eb77bb969356f6cd45e48c962a6f77c66cc29e34fb03b73296da4d7e8cd592e99fe36dff4f3175a8b70ae1976025e7a15abca0dbdf64037aeba3fb4e3c67b839c072d0ef31c6dcc1ec0496488b7ac540443efb3999a39d039a9e3bea77052b8f455b5be4ab42013026556fd9449fd994f619afcc129bd85100582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04d08377d3e5c3a8192ccb4df62f90058200312949c5efecf9061a6961aca6a0baac521a79a9c308f8afc57ad7a5d88f3a041010058200384c1640f9b49875990e5a087ac3b76902d7733161f675a63023de885304d20410100582003724f395de5cfaaefefffef67d7d1bee2170d779f06f875695565da328596005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0386066b7bb40387180c01b3e32ab7c69ca956d63860a7a6753eaace80e4414c9800582003067a56988d1d347995c41a756d2d94e7f7a1e92bedb0105aefec9539dc2a305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b70d7581d1bb23224da58fb20b4abd7927a169a741a58571d9350c51f146c041020219234e0397d893f1e65b930058d8611d64d9e3382a969e06aa5df88feddd44eed7b080570219ffff036470629b1989a75b01bc9c990e345815fb7a423575f44b302344cb753a8897d503c9fbfafe337e8857b8f0d1c81f43ab4963d98eef837630ed09f88bb05d11181e0330548d5b354707dddd19e007fc3242449d56e3d816989d3964d898cf9a5dc95403c82c177bda821ed5a05d80fda32f77c36e5610368eff0c78c401a498f70fc144039a8be0e587b657a41a6ad67fa191bc2830546c687bbd5898a9682418102eeb7203d5dc28c6498f532ac24fbc9f6da7bb8adf12c766ff6a5751d64a10cee5adc31e033f0a4724474349073fcdac22fb5717ed4f90775e348f87b4027fe29a89554bda038125dfb586ea46a602d45fee6b4b9c650867f606b7ad786955ecbd7e01ae48fd032144d1d04a17cf61c50729270950b775a27bd26dbf3dc08e717ef077892ec3e200582003a496ace3619a889fc83f31cae279d9bd5c8d8e27c7ab36d5b5be099652bfa04703d0fb2a96650000582003006caaf05e57746db69fcd955d5cf1c143b535105556e2b04b61ad18aa93a04102005820038669d68ef8f5d2d50b918e521f50b463c9d5e44eb87110ebd6eefea2e60dd0504b3b4ca85a86c47a0968c204d0f161e200582003d1f1823bbe2b4f1aeee4d7485d24fcc285d96cf0013dd22ab8a2e38759f7c04601a7c718aeb100582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480058200331cdfb1d9f9c23c3807ac4d8c7ee616b2a757c5368e712f7408bb4dacdcba05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034090dcbdcdff2381f1fa1dbefcf1c3fda0ad3171cdb034f37031ced619c341e7005820035a72faa3066728d3e7c5eed78337a7abdd83a7672317cd9ca0551effaa7480410102195267038db86750b9aee3bc6b0c05756785bd3b465e25038fad4a8813ac246c8ea1325103b42b6f5aed21569051a395cb8d53c14c6d048fd9c655251cfa770a5c84454a7b03bb6581cf54d9aff4a5540fbf0458ee4c4269d32ed6546d9a5388a8dbe63b03fb030e54abf9b5eafc9f8202cb3d03e980f0c4b6e3cbe1c8508cedaec1698bc51255039e39319bdf3743eeafa63559861cba7d07c581fd1a847d648817c104f4e3b014032a7ad931d7ce8efffc20fc48ba3ea2cde1ed34bc67d2c5c1ca3bfd25df048cfc03fb4358d014ea3d7067400403b34e9d3312d06db1860512e405aa37364a45be7203e5a50996cc62f1a8b95a0cdf7b248c852454727a2dfa6a0f19d1ebcba83094c8034ff7eadd6c9dc3e7739a26e9e74796ab44bfdbf0fe01332e23b31a48b0a4f4980219ffff03a67242ddd57d787567a64af36983eed6576b08173884b632e388ba710e5f5d3103e9ac1c3322a0356a21253deaf2876a85e8d196ac926ae8467d1468ae83eb424403c57f4d451d296d41e16f00f4ee3eeeb5dc26c96cfe7b951874601943088e9b2e0306000caadba7367ab3d8a0646ed314c964755429b844ff32892dabbdc0bc8461030393c916dcac89f0ee9ae870632024323f1bcbc461c832cb370cb8fde79d63a9038b809827b753b633524c4672b0ed1eba6461e12dfa385b46c3a1260a29fc8d010306733f423a35a98d1a196bf70281169375018440ea0d0e60c3e60ccd227912bb00581f025e98ad54830ec9aa93d0dee0ff1706ce14e6e1c8df5eed086d0b7408d523410100581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85706c6c86378196be0b73ed2fadac45641ac04cb1d2fafdd0219040400582003abd3af4546897f069442875e84f847d6637b6337c62df3825a26c3e512b5905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200353dcd731b3ef4cd13d335eb5cd835a66d3305bfcd81a856a635c6f878247e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219026003ec299578ed9d066e6cf5ec1fbf74ba5696a82ce1f837df122bbd5525e2eeabdd032823c50d2ec7a84a9b32d9157905b178c1fbb99e491ab11c77bcfb6c4817aef103e8764c997cd3a9a3217b032a47f05a5f792324f93fd3027081843bf15610f3b1033a5b32276ab381fe0571fee387d3cfc7f106a989b2334680e3c498f0513c002403305346f22896f12de1ad77de9ecb17d3a67ae5fc884df4fc581aa379ce6dfe46038aa88ca338fee70a11378f5dddfb67e8a1324a506640957160f1f5791db44e4103686a5c57b4682f20d8c041da133253f7b43aadeef8887dc03e3f5da2eb34e02903a6949ae8bf7c843653a6f8a7cb8d7f6931d5ddebfdc5796be0cc0d5dd93f0478033875e5a4c1f492e63cadf029a35478d389a0a6f94654fda76b7ce1384fc775220219ffff03ddc657596c4a2fca239beb600c93a8b8ab711aec7d1f5b74df5f0423eb62954a03cd2ad18a89b0e1270f250bbd6a3d5b8e2e7d4a008ccd4808dd1cdc4a8a03348403d43e94b51e18e8650ab30a7d140a1743602224e1ee592a42295a9e89a8ae3a5003c3bc3d92248dda86ccd8bc2180ef11c0e0d8f5a7c719aece21c59f620decdb0b035c108276c53ef47152e6d7717133a13a317a16871cfd422d7e4d4ac717407a7f030e97184747811129cd9197bb0b1af10c3afca964a7ce07c06ca4f7c0b0ed3a0c0368a51f3ce699cc41adae07e0adb00ed67a5614bbd36066a86811edfff64eafbf03aeba58766b3c923210859f0bf34cda5df9f0f711bebd6fe383fe24aef07f0b1303058c85633007f0e9b4c2220ad550d60f3b95fae34f83813f69a61b57316b205603b411478143deaf277967b7d474e9727589921832a8ceeb4db296a2b14735345e03bf57de3b0d70c0e4325ad5137e9b9b886ec04db9ff7b5545dd321aa8878e1ea303d53ea24f35449831e7cc6a041cda4bad75c8057d18ec5cc28314ab08b2b7ce7403dfbfbd125bfdebc9bdefeef21b476f32519095562ed8ef66ef98d99314cdab0803afc82b2cc5921f7286855553b531d2e2ef691e0579dfef36407aa1fb1030acbf03136efd54bf53280d154edaa31438f811fb31dde5b95b3f19e9c14a5db216a38f03bd96e8ee2dd5509746c1f3a62831673fb4f42ee565e46132827d2de0a924bc9f00582003b4112cf5c14eb2a57c643a07736cb91223312cc1716db5447a687e9b5512f0410100582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7041010398b2bb95c92ebc7ec134c47db71a0bda4e65aa956d1c11f2429f4eb4ae7cb57c0218c50219ffff03a1080b65dd2de3057b5bd7950907eb3b2b5def126d32f0c8d94393ab1a284f2403936b22a06a595ae827a3be6fd238865a8cb1cbd0842fd61beed344a5f39adc3903184259557682d44002f4453928630bd66349895981b71d3cacd5d7a2f9c654b80336520dd4297a6e443a9d92de9941df08d43aa39ba1b7ae9d24b28ebc5450ba3300582003a86de3d887026083fd1576c00107dc53f85ade8132909f887d94e1e862b6a041010058200302df6d409e9e47a470fe7465988c61af1593cffc09017f532a8ee060f4328046b878e1ef1d5100582003260990b90649559053ac74ed20decefbd07677f6e5fc7941ad58c8effc6e50410100582003f589eda31a9b5ed0ab61a735d5e6e8fc886a61415899c4b057a81e7af738a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030852401250a2e23a078a539badfd563b32317ea454de3ef7214cdb524a8670410100582003410e7052c5f23ff00c3c4da07286cbbc58a950ff78254b5f83069586184b605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058206632c24f000000000000000000b2973cc0d500000000a29d92681533561aa9f10219837803bdd88eb749f7a98c48b12cc99c9f61fb084d6700f7f4a78d55e0f3d2e6e5d45b03d7908233c10ff38210ac2975c44edd3b0423a6f81994bd585753dcec9d8dee4a031e380ae5d28477ff72a5227ede95da3a819602167e6edb43e78213e5c85d75f300581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f546b175474e89094c44da98b954eedeac495271d0f00581f0245bca0e93e479dc2f5f487161b6a66e6db3395af1261c279e405136f4c385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190804005820039e72cdad0577b57798568b89083a8c8d882240cd3fb816216297a6bf2324e041010058200394a40277a07b74a3fcd9f2838136e78fdf5df9388ef7465dd39f29bd8f50b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219822403fdd71ce719ed94e610f86be173927ee6794fa408bf1c7c7dd04cd8079e54faa3034b5241d2d2cda5a2dd9fd1500aa9071034ae9c9bf920f7b949ccf6aebf44e20e03da53cfaa9c4d592c8a6e3af5b411a6d094d1b1654d9f81185971702c97436293037735864af7d70abd08f8298f7e17c1f906c9e8574403a17ffddc1978c15ac16e036a67f4b4ff132096c5517cd39fd62fccf605e197f6c41ccd5f601157d7774b6203879c8fb176f933788a9cb08c85f0cb2cadb55fe685372d8896da894d2e478b4f03658be2c9a06f0833cdaee803f55fc47a5d01f77f0b363dbb683ab6435e8b662c005820029c84fbb6d2e856aa2d845f8933a957b0feafa2f02b2a0e426f4805a9785b98410303fb0106704aee3e59c6319f72e20f741ec128a89959d5639fac9936e405b988e00219ffff0219ffff05581d02fe65b541e52e2f0fcfd6f23a12583a8eeeff0bbe173dec06958c0a5f0701192c1d021818033cc0fd71eab0694068a809a0b90c6325ce45d772c3bdf22c8786473d4506fbf202191d6f031c26552504607884b63f940cfd33ee590fc81d4db09858b90b5b81f853d34c280343182dd082b10cba0cded29a276356111355f7824f45fb7c154540871dd2267f03c65c8bf1012a08398848565a61cceba665a5db7323a87520b672fa2aeeb262ba03cbc7d0f69225d4358cbaa6debb161da0c71713140c0794e8bfe70c9f3a25a23e031eac37d79cab68af0996c5892940d2a70cd0b43d74f44da4a5ab4cb2e93c2b0003b69d2994fd3e68ca74cbd0495a9019dc634749f8d201748781812997fe1a4bfd0368e98e2e4f071b4b2f4765d8af97c3e6d288dd1b8bb07c3e7c895b2b90ce2a3e038d907847db12e52975681689bbc3c1218096915d0566108936b9c484a81d69a9032199d839b7f69d2a45c67bf2798c8508f2db0d51e2d0375fa5ef60a41b8c8dfd0324f934e504cf2cff43397b36694137313f31a2077566e3e5d3307e1576c3406a031d1a9d3bb3b13069761b095450a13f79e919e332bf1ff4dd77411e069a7043580327e0d4bc236bb415b72e77edda5503122f03d7d4588974d03d3e145eb4be412703262281fddcaf9b406fb391393ba5df11c0015b6200cce1371f9ed0f6ab8b95ac0219ffff035512b75086aa8f7cc63716b2fad859a1443346f74a14296cc5950bccc62faef103cff26f86b39c3e858ab28bd6808750e0acd463db0ad4dc584558ffbb173f0559033095d26bf237fc284f1d8fb251625f2314bc377941ed31503b51baa1e40514a203045cfd13a383af4a00d9a8f07f742b5c757c23ed77dbab30efb3ecc109f0d4100396203b5483a180c85a81434d0d5c2a163c3ede40b6584c4ee54c9a95e610b826030efd50519c8429ff3797375725251ee5c1098fd50e352319302a06376430d3fd030e17be8fb05d1444c1bb3439b3e18399914d283aa827ff0cfc36526fecf53bd90318020a9dd499fc24a4633b655b4abbc92ee06a67530a5c0a254a49141a2931a803d5144113384d2b58904188f2cb66a8df7138e767275e2a4bd4d61bdfec4665e1039e6fad9884c1f9fc5aa5f4c6ea07485cff149a6cff30271f4bc741d9213db85303b939b789b3573bbfc2f5d7ee8215dbb92c648ce775f4669a039933f6b0a8f3510388531a5998e6376d5d571bd396a777765589c3338bf60488f0f50023b1b9ed050219ffff039e606a7ac9606b9ad26c4367c1894f013bd6e24804b465b2482a7a8a66b57901035171fffaf78a431a9483f2ce589afa06857587ad62129f9850de5f52596ef1c103d2e9657f83d9a718f74189ccea1b17a9fdaa2d73731a2409622dc46bb498f02203ee5093ed4f332f530d2f5c23cca3ba7c393476e92225b7cbd2d68cf603c0995603ab9d08b31588e4e723f661f94499c16ceabe687cc876fdb312240aa04e171c200219ffff03d010cee1b970699ec9313075dd917ec62e419f8b0f0c87dcc4d5390531f64a7203e9e4612d90fabefca971a24bb43884aadc63a2ad505b0d8a4f279db98c8151ff03a8bb783b682f14054a2fc750c270878e2ca819706cf14fe9e0f5aa4fd8c78db903427b45ee92ae2f4c05d472588804e8cf3904a66843b153ddcfebb6ba032694790219ffff03bbbc25881ac7aa56a4ddeae891bab987840729087afc68b738080b54b21e3e8e03f29217329b4d55134fcd26445447d7aa5abdb2617b39f852bdc04739e0685cdf03d5f69ff298e1d0362df02465b4f03e1e59bbb10fe32047a9476f66cdfff168ca03788787f001ce4aab49ef1de3f6dd44b3e926ad58f2a3e33423791567a063b08703692e2f5cf78e0b99d21f166b6d4244b8f29f72980f65feaa56d21cd4d021a819034b2d4a13cf2c2ecb42501eda5755ffd0183b497a37044bfe0a5e23b05c9a6b94038b6fc2a41f536ca2ed0dd15b1e52ba6e20274a7a72f760ec2c246dbd7b82422c03ccd869ae6700c0327dac8b11d60a7f2055e67ca08dc48d28d56167443aa41c04037fbc43a1f83b1d775e296593e5c67698516c6c0b176fdb82773fd24f573ab1c403718addd1f438fbf87754864a62969ca56c309569bd3460894292c9fe90b34ce10320c1bea4a0a54538f07b00d0738c8dcdd5b314818d7a095deaca564938d3d78303cf7f21426a05bcab4305cf4839e5150d843e0ee3e76145326262c4b49b6d6bd5035e13c37559cb414c44dbd041ea5890daac69bb9a711436d470eb532985573121033e567c453b9b4df9dc6d6027b91b9ce5388b451860ca03f6c015a53cd162278403c57c31d1bf0a73df5d9566facb1128350f266c0b2b1bd71cdcc175cce7a11977032abf5bf48195a5e63ddd9011c59770cf90066abe5eeca88e60a832c83e48a258031b5c96b80967315395cc6f6bee75766ea055c8766a0265d58ac8de9c708b97d4034147febbe832dc20ced2850ae7eb48bf122ea60a3ec425c66a9301c0a725a3130397db5c7701c3e3c913d70bd505ef01bbb51decdff429983455979a9ebb5814d003efdd5753f9051568fb5dd423fc0e9867c8d1eb7b3b5138f3073f416ce2e2ebf203fa16c13c35032548328051fea1652f400938e9552703fb994e46ff7ec5bfdae203de2fccc28d04ccb4bce8451a1e2e810226023090ed478f36be66152857ad621501410605581e03dc4ea6623374725b90c67db2be9f78d534f7d5e2fde06851cb05bf24d0040105581e03d7a10352c6749ea4a0e5e07e2495c35f4a737aad7ffb816b1c701e23800c0347017c65147260f905581e030ef12834beaefe4105e5488579ab0cb8d358ae31e6e24ac4636a31f8b0040105581e031536e9e0006d963d0a26de7610d7bbfd5022464e8bdd9e44da4146d6700c19012b4796a59d82ca9a2303b2ac38db6e0d3f62fec4c1fbf13ecf878916e6349144ac74e3d32b99ea95abe4036337fbdc9ebfc9c0af67b46c68beb7f523dd89ace9bf3cb3473f96efafee202105581e033f5d44d4d2a5983e9ef26047745270be44aee71ebf612bbb3d2a21a3500847753d533d96800003f3ba8f2a388c9e6fe8493c2b6064eb00be0b559da557c47081344423d02fa50303ab61cc3b05c9a7dc466e110a2b490c530f6cea076302685ec95ff5753660c4d10605581e03e6f6d0e368e82735576bf98c51d380a346e0c2ffd969638a4e7532518007011bffffffffffffffff02194eed0387ca794d04c11c0b158ba468db4bce44d90c285bf9cd537c405711f71817a225036c5dab2ca433dc6ce5fca76c15d9f3fe3ba2c04854899f584d3cf8634c422a6203029186318e02d5f2b3b7369b703a6407a96064bb070e2775645e8071807ae52503a47e85df3165c56a084e5e8757ada3a3dfa6700ed6bd392707b662dd46efea720376f4aa03f19f630ba68996ff39178b3c081178251d348bf8ab5ada1a799f710403c93f58159f4218ada688785fad72709b123dad7fb9a4bcbf72875fdbfe8c0af303a9cb4834b472940022f94fd35e66292238ece26fa71882796f8d9c61df351e50037f0613c42c47ec2e3a57d59225bfddd8f6f4623962339c01df57158f2a298bda03c74b8afbdada4013225232b0d1a7f0e3ad4720a077d5841b2d678216a33ef650031731577fb5b1bab71a01b75a2869054907720da2456a904412f44028d86e05d703a6ab61270522f49744340e313d6edb0e4283d60446f5cac2c2916e4244f1c1fa0219ffff03400d4f9988ddabb76a2bb4ed6b0147f7b01a457feab41abc158ac1547227b5e9034ff6c3b1d7485501f9bdd1d705c9d5ccdde3b92f8bdaa2ad4bacca8173cd524903249b4b6f735e271d2695d9f311f2bad8adf95b0292c4b4e1db5435d9d2faec910340e10b72669e783ec3c642d636afdfa4527ed2eab15d7c10203f4fd77e32b6ea031baf0e92e9294f923814bdb4b1b969191d53c10d5894330041be9a05a6edaf0403d7842b30f6630d5cbbc1b30ae542e7e16c0592272cba1674023c68383c6685d10370989743d39690572518c60068419d317c071ec67eea8a5493f9f5aa62c08cf903ff8a595f80779c5260086e777a973891bc4103d09f901f0b4ef02a47bf357cea03227262a2bcc5ba7e0be213bf7b86969e0d594be79947f12e14858d9a7682bacc03d552709c4d95f39b02a3e566d8c4c81ab4aa49a42b066f8adffa7c717e540e8203d15d475c8028ad1743d1902414fae7460a56c2e938a80fb72656ac2aff0bf2ae037898c806d357239e646d6f1e0148395684ee57a1ba7adcd78d0c54117360eb050334d8475ac42e4e59c91f771d23a6fe6a6e34480b90e214f842c88e4e385745aa03e577955aa4f7496b87575ca7c64ac3c9ac1ee088c6a589abd28cdf7ce3f5c6e00219ffff03cac94203fb62b9eb8095869ab5950d1417ea0f5c2f3144b15af2d5dc448ea9660219ffff03596c08b815288329f96fc6d3847bf160cecd8a3b8414173e84712acfb7696a95034e155947734a327cf1740425ca9b1963626e0fe307b0d524f3aaee7b7af1c5ab038af7a0027f53c88edc11d68eb70bc0c0496559da198338979a00c0a976b4c9310339f2fb5e2b805ea099028185767692e98a5396d0dbccf1f529193ca300e25ef10357dc89c1789be9192bb7084768567c743cb57ea883c2e1a5aec89694a0b8d0980381aa98eec75fd13f59fce0ff1bdce06a3e10019e61ded26a8d61e8dcf33d683503132d5de68214d08a0303218aceae09003b35b65aa70106bbf84d6431f9349ca6038b52dacadbe703d7cf0a60df9d8432e554902be22676f3d631b72268eaf7be2b03da3e85080e16eada5fd71e1d703a80004dd5dce6d8c49999f9d91d7a8f42673303823b02552d57ade46c32a45f1f51d895f3e9d14fd68e2d5c3f9de1cae30e95ca03fc1e0b5248e363035309ef671b54ab9e0dadbc94bbbfcf28e74ab44442a6791e03b906a5154ff8536b60740574ff10f589518680a05b8cb4df871f21d25695305603cb72b433e917928f3ba69c90a01c96ec20e792fe336e6052714a6facb47afcaf03b2546db758d919f3540384a045fe97f75a608cc8a96f3b14275bada4b87e8af1031ce41b9c018619e1e4eedf06f7512377106523b5dc40f008d70c873b0cf9d9e703d4d970ae7c0594ddcd996324dbb04662b58d6471b2ab910dc1b24d2773d9a44203c7631432e5b81325fe543424f5682fc3c6e04a5f7e13e3138936e3c05350fa700337b16362aad9f95a908b6dcc98f0bf08d4c27ea360d8b73863f2b4995623dc00031eb8ee4e4e860c157e5d4f1f088f121ed378dc41d9561c81b9e1ec3744cab01a03fefce681bd0836351831a4ddf41a7d88c9ffee9e116189bc626e5e3bb61d8e20033da62f68dcc92b11f8d627b0f6aa60ed51d8aecccd4d50b1970feea8ed95b6b7030bc63fce7802b3503b4785dba29962b8f2c87652eeaa31da2d4118994c933a8f03c418fcafb81c62e03f4c694ea7bd0d3462bbadd736ac2e843da93db2cc8f7ea505581e0344466e1e121e5e7e27ec63f872bc61fc2fc47777a2530723d4e0ba0030040303de6a6b07ce38ef4679d9388ab19a1b297df9707fc9969031c64c7c6d31c7bc6405581e03ead8f51efbbc48c8b28abcdfe40a2d57a82b78c034d0338eb5edda6a800847138a388a43c000033bfb25a6d293c80aa9c571664fd090373380882ebeed2bbb735cf67d3a1950d805581e03367c016f2ed84d513970d71c77da99c3acaad06173fc565e8a43627890040205581e03605168c90e9fc2fd05b8ab223a0a68aa4b17c9dd4664a5a4851d39e470040105581d020cf999ee6b3993a46b27734b9264c35c1b4a03680f9135108e481ee70c02475745ece4aa6e00031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02ea67202d1668a01460cc3991c56a85bb0a501a1e01770ea85144f81f07011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d027300031c9d576bfb0873f793d4900c3389e235445520179f6952059d07011bffffffffffffffff0219084805581e032af5e15eeadf96ec7a5bec2234bbb7c3735419d692a480a83de77c62200406031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0308c4f18234d4dcbfc53f4a7495de3d88694c06990084220f6bd1426b4007011bffffffffffffffff05581e0351eb152449b9e021498cbe0c3ea7dd66b24e7fff4a305745f686c348000c0247065d44d0ed762503310558caf3107d168ad44682b56f742dbac0cc41e651e2f00b7864ea5ded39cd0141020219f86f03e7e3a180083b5da03d3b6731840c2bf2a1d9ca41f846088fd5a5ed4e7d2dd22e035342f42ad4dacafacfd00323f2573be0962fd27c8c9e428d51b096a14d5d971903659204de3e2921d61cd1302a54cd47691a2f6b01ccef09c18d3b25621a281e430331ed59331a999f048f9b92a25cc548a85ca9740968b8099a35f3e080500de9f80359246aa2641ff15edd7a2c6b89a684e15633731bed17f3d7bbcd5220f1290c6d033f7ea36dab52c8efdc3fe2bd463853d3ef7c1c59611771949698840a96fecf0903cba51640ef93bc8b25d9568b54595f6008f5741c7f2c706da76b1a33e9eafb75038e9a0083bbea130345aa58c1fa9085ad5caec2d2ed8f3067cc50d54302bb7a81035ef5dc04033edc679381c8b6bf55e749a6d001aa3e323a5cb72c86553282362e039af3c708a13180b0edca1e97fae0e5834cd544f0c7e239c1e2b7ef4ad6f29a4603964a965d45659df565cd9bdca61cf47a61f51b9b1af5ecb51a9a6c88262be2e8033101c3d7766e8f0aaed43d6bb6a3d990381c32b519ef69646866ba6af8416eb90219ffff032dffd0af3779ce8b1ebb4ce717c3159a24bcf1cce1ef2aea1bfe223d68fc638903b348f6d3c9d8e9869669422dcf0756711a5ab608cc8f326fbed0e9f61e361d16035f03c59e5f8ffc77ad7ec6e7ebf81dbe84faa5e73b16c118dd27a910b272696203155663c7321229ea1ac7f2daade9c680c4b6a6b7d088588104181615112a28340370e0ce62ded19fa95c6d145341e95f729dd9a0fe80b9c10d3e3a75dfcccca7500347d5b02c363c52f5a27071bb22ab20d68c65576be297e8371ce2f71bc54705620219ffff033905443d0230443fa7f4501452555f5a17da98fc5fdbdcd48a7a5743d66a3d2d033e5800df6edb1775b482824fd805038d73b715b6eac48e5113ef0a3b78c59e1903ae76fb6e729c4a6002b5aa422c14708bf7bb189e4c1fdadd28fd23e4f404f9c0035a565487fae526aa5673ef409350ab53cf9b8dbc65d89ae5cd4ec5e6412b065103de0b7bf7fbd85d039afc224e6db0d505dc1c9d2ecf8b1c9fdad01edb79a9d30903c4ee113f2b7ab53bce6d263912f67db3474f25849fa0cd890431bd600008d85903aa9c10cddcb16fe42a91d0fca9abba16b762599f2a0a1e46abac0e712e0e08be0219ffff03ba870a6dbd053228ba46b8ff486374ffc34aafb384cb7e88ee19872158d8b3cd0320438512b36b96fbb92c2155e460ae1d45c782ac8cd72da0e6761a5b75d9bd3f03f407db4049f445efce49e5ca424f61fd865153f85559839e40ea6c66198f2a6403a6d31ecb11ab07fe6bd3b785d4df78d5a46cfcbae962691d021bf3325ba1b8c003fac72953ab6a35bc1c9376d26789a706c8ce7544d35f189fb0d7dd6b2c71377d03998f172d1a5fb2886abc9e7466b2f00e760e744cbc4315bc5b0380d2106e88c1030b9e80715d6d7479182e751bc6f3242e76592a93d4c8d06a4cb0b3dbb487320903a7b82d30cd3beb9d039641f96aa2004623c404049f04729f912e2ee3450eaa6f03ef628b9ea8b8218215fb5d2630d40e0b2f8b8fce39ebc88a1ca29d20de5eeb89039f65b50cae84ee0dba9e22e313b9bf8c5f049ec8f7f575b58d9e9856cd1708b103b76614528caea0e8e7ef3c34fcc7d69afeaf6703816ae54623eb88fc0737882e0375fa76f0467f30952bf59a9ae0a1b20795abb9a03feafd0c7fa9da1b9ab5a9910393c63cdfcb9d2aa456ebbdb6a6008eeaf79d64c6bc4b38019be4941c7823a7ec03afb67802e070f83aafca745973127cd6e065e97332d7357f17f92c94b589e91803dda03b62c4a5e420b5b58761e2b7152063c8bb44fe15a23acc07b1b54a936d55033768ac19f2a60ac2f5aac4242113896cca60d360bc54fe8f7c2b77f5abe5fdd1033c0e6073265fab51c10ba9ae0fe6343af4680c869c05906bca1379f3bd604c4e03929ae24b1ffb3c86764fa67c24fd18c52f4cb85e4524558bf9a5748c970f6a4203972d0b73fb3803d13cfb3b58fbec113e377afb69a8dfc72e77e95ffc385e34e1037c258d97a5f09328916e5e49eb0d8e1fcd2747dfebd34b87a6ed018e2356b82303f2ca072c05bac463dd6e7da74edb76e1838c8bab5b576bfc79c0852801aa525a036d93bd1443c85b45b03717ff9bee740ea9fac665c2cad19e6895e486d14ed45203b61a6e53b403d176fe46281c815a47c2e64e0c4de7f4733645ca42e9b14e26cf03de1a1dbe5a33a4577541d73180b1b48b5378738106111ca058de8eed6677c2e80345a298219bfc0e9a1bee485224a0c7ba325ea0b4808b6cc6af03c745c411b19903f1a6309b212117c2d201e337b082a4130c2e9a73dff92f13b0abaf6b13a0d5b8039c93e2d7c11f6579d20f09316855161ecafdb2d8c12cdfeb3eaa6d668522b1c703e36be72c6c816d4434f834eec28b6d1e889da903b420420ba26d34b2517c4d0803397f70f0f83b84cd21cef9a71b0608b4a2e1aff914c66d1e13fcd745fd75dd8703ab6c6fd5c11ce27468684fbd29d465d5178910b69b047fe2c1acbba27da3178403c3fb01b1b209723ea44381a82a7177246d1658057929adc6bd81b0d8fcc3c99a03a517cc9b33b3f21d64d5ec9c264d76ba0b4d02bd4fe33eed4307cef53d07b43d05581e0382eb7c656a363ac29dd5c8df0a7493824df5ea4612bc0ab39daf22f0500c0146b5e620f78d4004591852608060405234801561001057600080fd5b50600436106101515760003560e01c8063b40a817c116100cd578063f2fde38b11610081578063f68016b711610066578063f68016b7146103f7578063f975e9251461040b578063ffa1ad741461041e57600080fd5b8063f2fde38b146103db578063f45e65d8146103ee57600080fd5b8063c9b26f61116100b2578063c9b26f611461028b578063cc731b021461029e578063e81b2c6d146103d257600080fd5b8063b40a817c14610265578063c71973f61461027857600080fd5b80634f16540b11610124578063715018a611610109578063715018a61461022c5780638da5cb5b14610234578063935f029e1461025257600080fd5b80634f16540b146101f057806354fd4d501461021757600080fd5b80630c18c1621461015657806318d13918146101725780631fd19ee1146101875780634add321d146101cf575b600080fd5b61015f60655481565b6040519081526020015b60405180910390f35b610185610180366004611307565b610426565b005b7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08545b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610169565b6101d76104ea565b60405167ffffffffffffffff9091168152602001610169565b61015f7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b61021f610515565b60405161016991906113a3565b6101856105b8565b60335473ffffffffffffffffffffffffffffffffffffffff166101aa565b6101856102603660046113b6565b6105cc565b6101856102733660046113f0565b610665565b610185610286366004611548565b610750565b610185610299366004611564565b610764565b6103626040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516101699190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b61015f60675481565b6101856103e9366004611307565b610794565b61015f60665481565b6068546101d79067ffffffffffffffff1681565b61018561041936600461157d565b610848565b61015f600081565b61042e610afb565b610456817f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0855565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060035b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be836040516104de91906113a3565b60405180910390a35050565b6069546000906105109063ffffffff6a010000000000000000000082048116911661161f565b905090565b60606105407f0000000000000000000000000000000000000000000000000000000000000001610b7c565b6105697f0000000000000000000000000000000000000000000000000000000000000003610b7c565b6105927f0000000000000000000000000000000000000000000000000000000000000000610b7c565b6040516020016105a49392919061164b565b604051602081830303815290604052905090565b6105c0610afb565b6105ca6000610cb9565b565b6105d4610afb565b606582905560668190556040805160208101849052908101829052600090606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be8360405161065891906113a3565b60405180910390a3505050565b61066d610afb565b6106756104ea565b67ffffffffffffffff168167ffffffffffffffff1610156106f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064015b60405180910390fd5b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff831690811790915560408051602080820193909352815180820390930183528101905260026104ad565b610758610afb565b61076181610d30565b50565b61076c610afb565b60678190556040805160208082018490528251808303909101815290820190915260006104ad565b61079c610afb565b73ffffffffffffffffffffffffffffffffffffffff811661083f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106ee565b61076181610cb9565b600054610100900460ff16158080156108685750600054600160ff909116105b806108825750303b158015610882575060005460ff166001145b61090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106ee565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561096c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109746111a4565b61097d88610794565b606587905560668690556067859055606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff86161790557f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c088390556109ed82610d30565b6109f56104ea565b67ffffffffffffffff168467ffffffffffffffff161015610a72576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106ee565b8015610ad557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff1633146105ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106ee565b606081600003610bbf57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115610be95780610bd3816116c1565b9150610be29050600a83611728565b9150610bc3565b60008167ffffffffffffffff811115610c0457610c0461140b565b6040519080825280601f01601f191660200182016040528015610c2e576020820181803683370190505b5090505b8415610cb157610c4360018361173c565b9150610c50600a86611753565b610c5b906030611767565b60f81b818381518110610c7057610c7061177f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610caa600a86611728565b9450610c32565b949350505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115610de0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016106ee565b6001816040015160ff1611610e77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e2031000000000000000000000000000000000060648201526084016106ee565b6068546080820151825167ffffffffffffffff90921691610e9891906117ae565b63ffffffff161115610f06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106ee565b6000816020015160ff1611610f9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f742062652030000000000000000000000000000000000060648201526084016106ee565b8051602082015163ffffffff82169160ff90911690610fbd9082906117cd565b610fc791906117f0565b63ffffffff161461105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016106ee565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b600054610100900460ff1661123b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106ee565b6105ca600054610100900460ff166112d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106ee565b6105ca33610cb9565b803573ffffffffffffffffffffffffffffffffffffffff8116811461130257600080fd5b919050565b60006020828403121561131957600080fd5b611322826112de565b9392505050565b60005b8381101561134457818101518382015260200161132c565b83811115611353576000848401525b50505050565b60008151808452611371816020860160208601611329565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006113226020830184611359565b600080604083850312156113c957600080fd5b50508035926020909101359150565b803567ffffffffffffffff8116811461130257600080fd5b60006020828403121561140257600080fd5b611322826113d8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b803563ffffffff8116811461130257600080fd5b803560ff8116811461130257600080fd5b80356fffffffffffffffffffffffffffffffff8116811461130257600080fd5b600060c0828403121561149157600080fd5b60405160c0810181811067ffffffffffffffff821117156114db577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040529050806114ea8361143a565b81526114f86020840161144e565b60208201526115096040840161144e565b604082015261151a6060840161143a565b606082015261152b6080840161143a565b608082015261153c60a0840161145f565b60a08201525092915050565b600060c0828403121561155a57600080fd5b611322838361147f565b60006020828403121561157657600080fd5b5035919050565b6000806000806000806000610180888a03121561159957600080fd5b6115a2886112de565b96506020880135955060408801359450606088013593506115c5608089016113d8565b92506115d360a089016112de565b91506115e28960c08a0161147f565b905092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516808303821115611642576116426115f0565b01949350505050565b6000845161165d818460208901611329565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611699816001850160208a01611329565b600192019182015283516116b4816002840160208801611329565b0160020195945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036116f2576116f26115f0565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611737576117376116f9565b500490565b60008282101561174e5761174e6115f0565b500390565b600082611762576117626116f9565b500690565b6000821982111561177a5761177a6115f0565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600063ffffffff808316818516808303821115611642576116426115f0565b600063ffffffff808416806117e4576117e46116f9565b92169190910492915050565b600063ffffffff80831681851681830481118215151615611813576118136115f0565b0294935050505056fea2646970667358221220f894f6039496ea0d15c8b48bb1c3c507cc6ffb8c708dec6ef881e1423a21848464736f6c634300080f00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005821031a88f3936348d602f3078126bdcd162c575cb17fb9bbfe2dab00b167bd295c3054af6e19be0f9ce7f8afd49a1824851023a8249e8a005821036501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540430a6fe000582103fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143080581effffffffffffffffffffffffffffffff000f42403b9aca00080a01312d00031832923cf9c549724c9adeea518532c3c6af61da727584e257bfd42a5eb5387100582103787eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae0545050f69a9786f081509234f1a7f4684b5e5b76c9005821032153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c2209775304401c9c3800219079c05581e0355e0c97290b5701b72eef5a67d02dd484954ad1b9bf3de5c34e7ff6b00070119185205581e03776b85a70611dd74c66ec61186351400b837a4749004f0dbf551eff2f00c024701ab61a4e7ae9803174710b1d791387a6a9b94eb92a69db0c47e1fdaca6e1b742495d91dfe9553db01410405581e035fd9ca01c17717992c22b936e98029844edb0a6829d533313d8401096008473407f0e4bb9c00035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503080ee65a0452cbf2aa0b4544caca98275099e8bb1795cfd3f9011fd463aee70505581e037e1abc618eeeee79cb4603504d42ed063c5077f466f9d5afef6589fd5007011bffffffffffffffff034fd1393a772f0840151124f3e99f03305efe7ffcf6115b59d32f21a0d258739605581e0311ba5562d3692c45e751b7343e7352f0e8e96c2da827cfa40cd1e13e6004010326e0216bb5221aee55d1db233819a36ac151c92af5143e63ecd4bd7eccd33bbb021936d6031d9c0964e546ca1416506f0c351104bd5e0bfe4d4aa63a3adbaa2ee6ffdbc4720219ffff0305ca4f4ee4b0f0d496a4f94ffbb030f994128ea4436db023edb2f2b99f77fe8103da09563101214d74db39a07b354ffd5a5721789e2ce2be507ac951ee66bbf0e9035c1a48d049fe4f8c77f4b83a46e90f72386cee97be4b4dfe041bdaf33ba4f67a034f3367662bc394a8524ebfdf54c2f366ac88ae2c18b864217e10c6a40d0eff7b0333451c9fe71a2fe9811f07d0a2fb072d58c191a70e2f58b57fde7f016b6d4f2c0219ffff036874412b5e23499f51e6ad1d007d299e6971f6adfccdefd94a25ada03350760803a1cc5e6601371509fc192ed030050485d8758c1b1268d62b59c217cf1283cde10399dd82a017704a2f6034bb83f0113391adc7ae4effc47d5629e53d67d4de605e036c4dd0845f30974217ebd3f1d709e1748114ac23dfb484f1a782d7d4078db5dc035637df56d09827c18e9437234be7e6468a4dc7334936e5f0b27f2d3929a18de80354cf84618c22c1bdc7a7d71060992bc1df9643394a3032e42235ec199a475cf903e51b7deed4118e716915dc83cb472030eefb2f582012c30d37c6e9e5a6b5b4ca030e2df0700b7bb0fa36ceec2a6ed02d51a5cd982bc5ad84ec79ac305910fee59903462e796ef7859884754a0b62a499b3d20c85afa89c4e635238d8a3e284a894fe0219ffff032201b1aad60b225dfd314e8433498524ad0ca5ce08345f8be842577594e2fa33033ca0a182ac3b7ba4892384d0edfbd2334c5f83f5108d4a4eacc0121e73dd120403857f8a30610fd90544e8fea2dabcb0b75b42da5debab645ae3233b982bd7572c0310567e33965c3687d1ae94149cb324cab38f47900725ba42b0bdbd1ec526b7710353c02ced3214207d3c05c0e3623157102a9bc35af0c20561530d2d373f2bc69303f3bbfaac244df8887d089d2fb5ee43231f687f9a348e9c137a06bce6d077bc740219ffff0332d31ee4354454947618cf612ca50151a6ac61fc5b1c33e9063172538fb412c403fc40d892cbd003df2a26a1fd96fb103e35350958a007ab369a4ec238ca4b109e034ac13a8186bd775288c6647cd103c8f399a21cc849583b4d45e1fa1001175b800339a0addf563d22be919331be37a2a827861021ca9de29215a62b4ff1fec8131d035e9496b8bea3b0f7774297def6e2900831e6d6573cb6100ec0e8247fb70510d903356158b912b02d82696d0284d192153bf9b25498375719f0e5213741fc0997b70318bea1013f403e5cd872ecd1664ca32ea3395675782da501cce06658e285647d032794ddf8415aae370b483d9a93cf7ecde8af050edb5b379fab6ac843836954aa030f3ea1036d0721fd5f207131d1a30b16d0f58b02ca7a08adc34c8bb1c114030b030994cacd6ae4b2e116a628dac8443c053b8d796802662bdfbde4d973821804c7032fdb99571f40b53b2df03ca53a0068b67e5c1525677ac1f576f0b6f283d7ade8038647d943793e76843e2d78c1a97eb0f4ebfbd47f89dbd3d25ee0163e05311ed9033c411f10e815c71f9bde9da1af7afcfde0a94f7c74ef55343c0a053d496729cd032149c85ae7e2dfc285a9e4858a13555c09ae31c6ef5638c7f436c7a4967da7500386eea04b9aa47719756cf2424f8b216d8f6446728e2fa2b7137008f8021b4d24033a71a78900778b83279b824450e080b1019a93a7378296fd34d7ccc1d2501ba50317a1cd32eb8fa28bca6b84508a71668644f348857b2d4abd14f100b0e9667dd803d62dbd9251b7127d4035a51680a23cbbd2b2df5612bdf92b6a4c08915343dfc4035af548ae3eaad6e8732501774b24f654de37c0ab49f7ad91576165f05b4d58b503ade05b2b088ce927fcc6a797221ad4736ed17739ac4da4c2899f4d90c6f57ff903c6fd6545b963785b5894b3b320eaa04c8898295fa28cb1513e12924bf0a1b6510300fa7388b0e4df12e33e6436b2482fcb0d4148eb6ba857155802caa167ce82e003720909572314131cc0e17a2991ad7d7b5693dadf102454501587cbab15ea6d99031eb35bf49c8db0f84d990938abb1b820f8e42ff2afb4515c333f7b6028b4920603068feb42da003367fe1fbae7930adab929f11bb03a04407e36223f1448d07f7a038a7c8ea0c8770b8146a42e67b9f9ec5d011b157d2754c7ff09f276109483121a03bd7e28f8284928cfb09ba5d037d2519d89d5085d252f4d596436de2e7d688af5034ada7261938bec25173ecc9af0e376908f159bbbf9633bd8904b6a2a5b0ea4d40374638c59000f017bfb03e151e2d770146d414660c1c7918ace14ba6d888ecede03993284d3dd6cebd4b542f12e2741da5b9ae012911c1c6d6ce1171e7e21a3865305581e03eca09c09d2f8820e840669c532784a1d5c47bdf4db9e4c8ec0cba364a00c190632480cf2f0c698f8593305581e03f3060325b4cf62e56da0cbf3600a0475558ddde492c48fec4ab7f12e000c0247082cbf4fa0d00005581e035a93bd5959f82f186dc82889738c81c4a871714400b0f42bce980de590040105581e0386b1f8853d4bdcfb17779b45112048c177b0f57f2a4d2f4ee71719f960084707773410af54b803424d239174bd8ebbf71008e9e68ac944874981f44ab48a5332ae9d6f53ad4be6032994fce55b6821f88c1a051ecb9f41048b7ce161cd2dac4fdfdcc20ed100c7dd05581e035a5e57f407caef9be31d435788d6470ba609e9956acf14ad0680f5864007011bffffffffffffffff03fdafea6b226736bc83bdb2205ebe6937f59156844848fdb3d9f64964751a4a8a03914b9f406ec081050010990ba9071aeb61336d45706c6c460dfdffa59bafcc4a03831dba20d341337a75bdc3d533ffd5d5c7cbef09ae0e80a67f6e92566d2b99bd05581e03b33eeb9144972070c6594d1591ef28519c5c5096b72c236f9a92e4c6f00c182647973c1c4618723305581e031a964b2e84917123da3c4c206f2c663785c8bc82ecf6d1c3386ec26e900c01470cae963c44d80005581e031661e8efc71805cb83f9faa0da5687a9ca1b0f05fa041b10be716d3f500c0246a8c4a9c2bc0002198ffe035eba9479a5880cb653cc2f629917b23c543303bfaa5410138a010199e24e710903dfb3ba685c72a2e7e70d2351998344e4eb130cbe4e5f40f40b8ea64576488ba40300aa1e41c5356a6fc75b8e205cd4db1f6de17c901b23f53e06a8faf855a7765e037d0e747125c4cd8374e4d16ef1642324f4852dffb7a089e4e559231f268e7378033b24df5f9cc16b2074e816d71e3cca85c0cc5cc58bd91fdfc8077b5a547cdb0d0357af2a4e9109601fdddd4308ff83eaaaa967505787b2b201e6d2c45a0d92efee03b280803b9c6f04715180923620ea0ffb52c990a0442c4b7e959fbffb2b85f2090387ced9b83e23b846953654e4299768e96d99e151bf1659be8877af34b6b925b20343a78a246e658887b4ab7c68baec6eee13a2127fa11dd796cb2fbc762746f0fc031de94ca5a34ed827e2d8f272d60b4d271993426c74a58c37337a3f0aa26c740e0219ffff0219ffff03761f5b2b7763d5583b257f97ae290346883dedc23de928f8e6e6787b94db06840374955dc6ba5cf6b321baa066c3cfe9ac34e89c70f28b292e0d7fb3d52fd4c0530332d8df456092e9846b68d92880984e2a2650ad2b7a97c9e19cc6b601051361f1034de285ae423cfbd60ef5c564e8afd3bb35548770ba75f0cb0674b4fd753f8e67030b0a357d742c4b7059e3e76f30fdc011aba5322c7c52e631143b4e913cfb3a0503823f00e537ae2829038826613795acfb55f2f5d6616a92b61c6537f55fde043a032d167ce2ac6806c45475b8557c867b584ae72b38fc78da395ce1af05897ddd58038f00cb393c83f3f8177cdc018bfabad43e7334768cf48af31102d7e3b84074eb03818012a17bdce3dfaa99a3b65fe609e509827089f7d84fd3e1f8f63042996ada0372602b845745a44ae667342b76ffc5e3ac4120b0daff24ecb20b20cfed35641c03c7f7e9bbd3674213a21ef91de731f87443eeae0dfe605fe4cd14d1a32638d72e0219ffff0353c8c1853dff5927cdc73fd9f810311dc9ecf288ba6c828675f801fa623055490320b279949c5e5e7c04add32fd9b4d70fc63eed8e9cff7e2593bbd95c99dd694d03c599e5d860918d7adb39065eda11e39259ef28650940013ab844ecab13c4811003a6fb43bb39162b49adff7edf780cee9e01bac242d656d219e23b1c34ba6ce38203fd1702d2ce17c11bfed513e5b6bbff8cb25387f7ee550b43378f27a190158ff7038387ad482e847ae0b858acd4867f2aa73f757d2eb40a14fc39ddfd6489d3712703b6af5eb3d29388965e63fb0573c13214781dc8dbad6044c4dbf50fac119e24d103bae54175e0a0d5a2c093b00791d6412633405b47b13094c745f5ddaad2fd6cb203d0468839e6d86c44029a07f8fa80a98d54efbb4fbb48d46a47cde1af8f7556ef039b9e0d213abfc45d957b086798b5cf5ecd98af00cb259e1f30b43287426cceb8037096093e8985fdafef7ce42d46feff30002d8c549323e4ec44f9b84fbcc0776d03e4ae6ae5d3eaca9d7be5674f29beedf7cfbae29242f2985208afb511768d0ce20376c8e5d1866cd64c51f0957c1e2557c1407b6fcea6e3d9c950662464181e9f8203ce7c2c7534c214e125dfe87da1efcbe6ff47e6dd8639646468d26f0f0d4d9b7203a43d7bd6e7e7f95b0640b55311e13176395e525636f6095c24d98fe0c9c1a81e03039bebabf101c99fa8e64bcdd42d0ade29f59f6a2dc52a61f44b158d34d86e3903412e3810a1fc3243e0ba2d08ad53e4741f975937f4f725c50f306c7e538e2272034c932e659eaec63ed0e44902f2d6c0f4c0e2f927fba46f7a8bc1dced0451e06205581e034d98ae15e102dbac28ad38aaaad8b671242883790e97888d52490b68c00c024501ceafa0d805581e030bd2a4db0b7418687abb13f31de6555578f60b6583621bfe364216ea10040103842c66d320727ee5059582586ecd7594887fb83b8e0bd905196046886943941305581e03f796dc3bcb83cd361d55ea95defba669f02da78a5578f0585f614e30000402031476c88c837f282d4bb2a2892504e0f2aa0b5350b75047b0819e7a7a0db01335033e0e092ba7a0e111068c7b6575b69ef08625fdfe368ebcac20f983cf41b86dae05581e0356461a821c55421f31924cf61df1ffd7b7fca2197a96d8dd161d341ae00c054721d8fbe06d659d05581e03b742f286c478a1ee69ad28b84d66da0ac09e2da311ace8101afdf065600c03470239ce7e05fc4805581e030f3a401b0e2109ef48b7983f6d15ab43eead8f42307cfdb743ecbc0d70040305581e033bce8f65d5d2f88338a7c22819431d6bc1853c7f89e769a8c60d8239e0040303862cc27300fe18721f12ed7cc96719a024316f1977b39412010e2fcef6fab59b0219cb7b0329207fb5fd1e4e62fa7aabb36f3ad9ad76b30fbc871295846911eac0918a9bbf03cd5f3d6c32b009ef71fe95eca1fe4ea9540befea26a38360ee391936df30c14a03e909dc7139450be3e16c1ccba3b9eaa31c68e4aa94f77ad8fd8d1ef0cc4f0a62036a599030baa97e6a3e094561a9ec3b283c6d917cdbca91e06e4ba8b0788381a00219ffff038f960a3bdab613a360d383647ff44bbb545aa3c0d066c8bffdfc2308df06ff1703ad780782f3b2b8990802dba861a1902c6b8e189bc91e0de597c6b44e8b91d5ee03c87faefee0274023e6acd5279914b18693015ba4046e3067b6b13f8ed6b3652b03d6a74741b68eaabfc06f2fdbe95140a0130fee9242103e919c104c56883d3b8d03f9dcdcf4b7c6ad036b7eaa3f3c254960db228fea959e269ea897f364fe4a1b08038d92e652629ed6c510d165eee64e70b692db508d05f3be4afacd14d194f47abe034f7a282432600733b4bcc6fef58301beb5ce2e2ea4abe5db8db95a397a34eeff036c24b5eea8e91d7bf7139d283a70f1b11613f5674e590bb0bfe2f46538698d36035e9904f2688b69c7f46884e69a4c1805247bc4f70dc0183203708c2461c73a0d0359813c285634723982bb069ddfc5876664f31b2a658fc4866dcb297cbfbff07a03c5227a102edcf85cd9242345977e41b6c1514984a7f6270d544e9ecbe37fe6920219ffff03a355deb9cf18cc83613a2c0f9cda7326f1a483f96204be6ea2fbaff38afcae7e0382497f1105d04cfd58bbf293028c648b5d24a3d0e5be3ea39de5cff38902e0ca03ab3762995296ff1d73decd604232eb09ccac9bf37f5fe774338d1d134fea77b303de3fb18e52089af1a9a8988bc55fa8967ff412dd7088ab3667ea0d8264710a99033f224eef25f1b088fdc594f2b6953ad89898a4a3ffd2e19e5e16ad22f0f6f3a603b6243bc13d386a9281b71a24a4050652d25c8e887bd2a59a19a6afada5e110ee03e31e70361fbb8544eb1e6168fb02bf16236c8fc906ffe1056fb9f472046d2f3d03b7430ba1a359fdd3f85647a1624c649a8f68304d635cfdeed342f6b4c08a931a03a82c6ab3b2335cb6588c900a0e9b49ac47cf02f6b4346ab085790a212238f2b003d156b9b5db936cf2de7a31aa30e209af6423e39bc02de4beed2f7f4f1de8f2e8037956e0f39382347e21e788138c434aa43938eb6c2831bf0c5863b00214de4bdc03304095311af01976f2bec5f7181e03b02f9b721053b1633f2dab096ababbe362036747b8f949797e45ec5e9ec7c17ce7bec674c37f44730f2ef88b2ce0621a1ea503e64cc39a0a9372535e1b1426366263e2e413391ca8cbd326fb61faa7fc2832e50219ffff0340e2f7f07bb8d6b73d9cce83bcd94cec42bdcfc477c447b4a2108a6964832306033a8be0aac542f2b5a54628d87e37c870bf4bfa8204b6660b59de48039410e20c03306abd99e36dbd964636af1ded4c2f9c55a43e51ec42d4548f9b5e0b8c5697e7036302840ef7207353358c1b5f86152e26248002dd095658b64f26f3e326cc727d031584883b12283099abeeba936a5237b305348cd00818707eb7fd3540a746249203532f4845e36c04e371028284a0f4c49aca6fede68720ce1750b35866608a6bc103446e330df7f088ec9ec8292db1c67540be37547d451fe9874a397b275a2ff8b30219ffff03bdf917af501fa0fa28293d809966e539c7065668df5264cde0b3e684948b8c2303bd332572b7df20eaa090f429ac13c4342bbdedb82961aa1d3b196b6b2e6d9b860373d3b698b738c229109849cbd495397b022fbed202da2c4092030606d0460b5f0362c3d22bfde43f6841d20aaf31778803dbf916eb8ab064a17ab77806c09497fa03d34a22faf98b0110cab0f49aa35751372077b371417018f214fcb0d2c921300303917988df36aa590d86b59eb973e83ff75a9c1f8e3a0c79840ecfcb51e0b5bed8036c8090802d9457c686d0126947692ab2cdae33d110ab17c4e52eae1b9c8d701403bf6e70d9d05d76f3eccb7a5e3de6275aee064719d7c273d058ea2e3bf23e67c303a63d3dfd4bc8882afc40ab3a619ff6a5b06eccf8502b8687e44be40808ef63d803618298840dd3f224094254685463797866b5b0c600dfb6bd8cd39935d726fb9b03cad8ae62852ddcb70b38c7ce842798fdee14be16eb8691315ac219fb4610b849032338a68e7721e0616833bf11e5f65ab444fc58274d0a88f36f99c85ee938637d0334c4d4713ad5f54d8ebb823c5dd92fae72b92618c76ef4bfbc351d91e8a7e1bb03bfbdd44fa3b4ed202092d117d82d21932a07716861e218e49700f4d01324558a0325fe54af2953b0b2d827d8109a3b683116144a8941eba63cddf3680dc70d30d603148608ed9a55cce4baeb73752e64ad17e008e010be70cdb8cd4ce242f0c94e9103520bc96f18c45b1f4afdc461aecbc8a9b00912db8478a4a39612d78531541b37031c4e51b73dc967f94a5fbef12922891fa99ed70f979e052ef44876156af963a6030fb5db2b4d57ea27e7056fcd56320cbdcc9af4e91c4dffade03190e822d8e48903d591e57b20261fe5fff9618d6ad5b072a1f9a1feb0767978b847128c4352d4a803b529a866340451e71ba9fff91a78a680efc4cb4f3ee3ae87737f6c50c26d51cf0386aa99bf8030cbd26c4dddcceb89919cf1a3e3a6572048e4f249832990b22348039c7fca5a4fe141264b3b40a5192977b84461c01b177e70d171b7dc63d052217f03e6b8e1fa0641611e95c46b2e80a4e99b19f8ba306b84486446c06186d6c57a90032188406686dfdbe929a146915e76f0fedccea57140bd4fff2078e0215e75d4c703b76a7de2e9726b392f577ea7e80e18b3a0bda128b8fa1771033dfdc0093ac6a703e81748006e65045bf5c1a72387ac35e9edb4ad13bde14ac40c7cf349b36e2da303c80cc14b16db9efd437420cfdcf2fed593a84c2f9e02458bcfffd9f16b7dd3640307cdff8957f7f896038fd02f5f538a9ca3a7d099104f0cfd3b61b7a7b2b7696605581e0375f7ad4e4ca3da4fc0b49f29cd79ca0ffd2ed76d1f6571dee9ea0f90600c185c4701fc68546df000034916f7cc2aeff86e6ba6f0b4ec52ae918a9e4b22eeb2fe89a99bf5849880277d05581e03f5c9db7d2f532c5f760c93a72e886d92aadd7e2ac64c19e39c969581b00c01470606ae55478a0f05581e03fc0f06e48bd2adec26942b934849d75b28b02071b31de30029a4f63920040205581e030adb78cb7baf3a999a2326ee34ebca2b0c8a24eca805bf9066e134a9400c01470570833c35b2b405581e03c7f0f385f52bbe25c9c5cafe856c32a8982c76f7d1e9b881bf124aee900847404ddaa66f400003b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e036e0337a99ced587f77ba132924e0909c1757c092cd699214ad6740298007011bffffffffffffffff034e2aecb7b7dd8e6dd146fe3cdc99cc24cd0109a8e70e8ab656f1a74ff3b69c8902195f960219ffff0345f233603e310e63b4d4c98515ebd18d929086b534649bd5f44138e2a32e271e0331448d0065645e20ed894ebf95612b96efd7a1870613158397b6651089e987c20347c9599fa7917aa527e0e0c0e42e2f081f5dfc8d598e95183a6cf222ad4469c403f6a47690e04bed4905c7c51880d6e53d0979b84598113d2e259fa9562dab004303eeba8e24006b038f130f913dc4e0ff8046f4e668182cfa3a7aea3a2983f4d2990382cc32af3da633c9d26fc85f86cbd75c194870ebb75ea9bde1e7ed96e44dba2f032afeba9b3d44a544f14e4106695b5135d78f7998104f3801fa41e6752a414484038a57a07baa583b7634c4abc2bf912e9136f4f511bede5e16d3ea3d527ec84efb0373a7b841d4c9fd03fc15febb417d28b1f7d416dabd844ca18a1c0db0665790f3038fd1780d2d5d858ea88704efc9ac78be302addb6d937f330b08eb60f9912bc2203116c389c9a280f6709f9a433bc9c2bf4ca47b119ec90ccc74416422d4f600aab032a3a28b317ca0ee8a4413b515880352c5accc452c62dfd732e90234f751ecb4b03523a42ddcc212fffda8c609c0818b0511b8c4116a9ce9a4823b8894a23693cc8039ff3f55963722cd15956da341de7f18ce9a5ddcd9e291b3ca461411de409011703809ebbb97eb6464e22a231db8bfe3f5eb7f4838c0356cd9eccd19d92385879740219ffff034fffe4c584e74323ce1f2563a03af6b7371c705bb09341118f8a352e0e97c7c703e48abd77282abc336d2816b22907f352c86a111676a32eb24d8cc6d60a3fd434036a93a64a062761fd3d3c37ef3ac316cca790d24a5fb5bc99497a4d411e0fe3fa03823bbe1eaf1c5ac992f75d2cd099c374d624bfde71c74dbd46fd707e29b4f56d03eba888c487ce66f568ed525aa1032bfddcc6218905a28fbdd48b7dee601019f003a20ba62519f501425ec52d60754aecc7dfdf24c6ea213ebf923ab3f2fbbe73a60354b9638f99420c827dd4d13918eba242f1a7c2ce797701ce3e466a223d891efa03c3d4f800461fb4ac177d80df4acf3a856d98e76d954aa822efca297617ccb7b90219ffff03524fa2884c709d2ac7c934bea5da65f46186060528958066b8f29e8d294fbaf4037033ffd254e79f537236f4eb3102555620fb91d2db1e1432b15623abe93c0d150364530a92e2c8d77b8302cde437a859e20466da437da7c1ef9d43ab8325a9e933030825fa9939339250512049f11e92a50b015c5fd85926b23938beebbf68733dfa0389da8f4e2960fe9fd1f3063e8feafa3c37d16a9dfef61491847db2a9a99c54d603c0b1813dc96ee74c7934f4460ed14bac377b223743bff4733198363948c6053803233418f1c685b1d2fe0bfccbc0e90bccc856f432f867be6b2f6ea5d7a7d0d2c9036806e2e72c12005bfc41193b6ad66e2620aa56cccbb8dea3a45bd172fabb813403d474df3275aae3763e90aed5ff9c44af098148b2d7bd87fe26c16f2bf6df9f2203c980821e2d82766710cce23e49e8eef205dd204197767dc8865639f44c0ac13d033dce555b7d455fcfd147a2e30ba206f0af617e903bc3bdfefb99d5568273a0120385fd9cf8bc300a6ea5e6ff00718e99c4ce1b92b45dfca9a8d3713ba2d76601e20326dba4bf707cd7653ab95c83a489e7e5f76bb467921d435d2fffbfcd77f023c90380c64c780bbe7e09809895ad131c3edf82a1cd1bf098ae8787686606a5a3ad2b036ac39a5a714bbd84ce8c7dca44c2bcfbad86a98046fed3480a60f6a97a9458980334b0bfefcb366af3aaf71699bf625ece5b696f2e4951f7984b34014df22797c00383d831c27cf1568ecd62296601ea0ba8555b63646f1984c8be000394f63baadf03efd8f9401ea01b6cb0a076f67b78ff4cb18d51b541aef1b93d3a4a2fff50864f03b27f50de1c8f47a59254910318da7d2dc89a340e29ebc4fd46e7f3beb0e8b15403be1c1fe9f9412730a083be22ea989970a36f3a8309b62e7875c7c0c6c12cf87d03a9d2b9506f7416321c5b40a1176a59b4e909f061680512d9b6465f0faaa6fcc80397928c45843aa9868963ed9013bb06c476820b727e2a84c301d3a75bbcc487de0383f43c63fa6221413fe646ccb44c4122271e0e7a8918fe3adc06c61703cfdbb603dc98bbcdb49f8271f42e8eeea6129020d73c8f6a2e58751caa620c58df470c94037ebc5852ab15d6649a4dce6e4dcce097d51e726fe3de90a62017cddf97dc77760308d3f0ae5d47e4083cad2dfa00ff1d459f498e447c49130dc3a5aafb039c82dd03002ecfcc3fdff33ff66ba06b52bbe17b7f4b736229334422822d85e8b86f4e860323562d0e17a7b68c8c6b3d2354ee1d91fd20ae32d56f5ee01624f28656095ff605581e039e527ec7e69eabc42bf84729fe991f8c9845fbacf08736cc229b8b78c00c0247029c7a85e8f00005581e032d7bbdf45abb6bcabca8235e0f2c483a52f3d22a0fa18814df180b51400c014702e9ab0637275f033b6c3575cda6b93a7c82f128824e870c950f045866178e5762575fb713e0364105581e03f47141086ba5c2ebe06c8a91b8f2187c1738f9cd44aad27a10d1267d100c0946b5680407e32005581d02c39b5976fdaea4f94fbff655a8ba030f8927e04bbeb070bfcccfd99a040205581d02575c8108ac21a856ba4a34023ac6030601aa097fc52430af7e8569e90c1822477d2be0c22159ab0219800405581e03ca8493f795ef484e165b7c22474b2486f68dbf3fe9101a3dd8f1de4630040205581e036b41d02a6929e7199c2906bb10836c9a9ceadb04c4feeba0d3634681e00c0147f84e7550eb980005581e039f8e43a10ab9269219947e79663f0b42a919a3592d110c6110c2190840084729618328e764000311955eae5d1e099b9851eebf2977d6b5851abd61d25040dc5fd346a6ee5ec77505581e035a2963476adef6d2380c1c302c946a4f1712562519abe1895c91867c4004010219f24f0388fe4a98c2e8f642f4996439f163cf090da8d3a8299f3921a6b19ef535932dba031cd4dd64b845cc23799a2c5105f7a59d7764cf5dd3550e38e9fca9215d7bf8d9034a244db9ed54c2237ccff497669d2dbab01e0ce1b8ef64b2b85624ab31b49a8903200ffa3a9359179ef1400dd07513e4932b2849f6578ee774dad9e5648316e02903158e2fe1db823a1d41ea5be3726c65eb7319e104d7abc626b9614f8e1d2bb2ce03a46d3d059d70379a199a75e3e19048ae8077411a13d905ea336c62b23b8098a003db3214f9928cb5074a38354422576b8d3b765d6a2cdb2f69cbb2d1020ea0ac0403e69c773834bef7131c35fef7f7f9d0ff0d73fe63ba402c397f5bf9e2adc268680367963eb82b7268620ca134da0c36a23e0cc63e637dec4c3a77a8ac661c173e4a0318eda85157bbbdec2f30f1c51131467f33f336723005d4fee55539b7b691711503b19965095c409a0ea25773e157bccf8d21a5a6ef82a7a3a818d8aeca0c35348703fbbd2d855a5359c5df2c60b15e41ad5c24138ee7fc21ed61704292b6bd72f4a2033cbfb77d58c32683049bc3a7e716e2ebbf796fcccc821b08f35cf3801f843880035f270b8f23362356d9feb7964f920beb9e9fa575700a2ad83b8cf823e9496dc00219ffff03647da8da6a7d50b62c09486a9e1373aedf002db4f2f828e04e82b63b257283a603bd3488670522823d557be8b3027234f38dc3de2b3486124e69aaffeb833f2fa8034aacb32d7a581aae29367c2ff247b1476d434aa08630635f7f020758d0732d6403cef72e8b91e0a2ee7d04b5346d7e114c5d7106fd0086f997f2b95a3d80a23e9803eb81b7cfe37669345fdb3b7e44b48f54de061c568ef545f2f0b41db371f4642e0219ffff0219ffff039d4e4d22b2fa28b8226e8fb8034724894fd4ff075d82efd254f7bda3a091c9f303b57e8c9d1d603452591a4035df8ecf0bcb70a1e15388352b88d6b85c814efebe038a6671aba7d13f27e299505b78dcc6ec9207021c0c1f7beebfc216d8ee6b80320311c4db70e2fe10ebf97872e2bc575cfcfa114b71eae4c5b1d4b3d9548c37478e03d842bce3dbbf2b5118127c8f3f25bf5075f463a70a234864c0711199c8ccc3c70332db43f4a18fd44077ad6fe260961ff192c68f1eca9d1093b03153fe8c962fb803a190985408925d5f2359d7f2bb129fa0526f3a0e39891aaf7719c6e735c9bb380219ffff038ecb48f65eca4e1e588a00d2b3d62ac51d833ec98d32df9a7e4e213019021a1b0371f95bcca607adc2b748291a3fcc6a71aa793f7ca0eed85796af3c6381a510d003eca0a6cc336013cbd4645ea8efd0bbcfebb5f5a7158a6cb264fe9a17013aa6a303d675617077af7cc4f032306c457245f0a3ae6d2804f4421674c9a079a1630c8b035ced79d049a82f606eb523904a24514ccb4a165538da809c8e66b61fdb40a77803c65dcc1bebe111f7c0efbe84280442acc0af82435d435f467e423a5dc0e86699030a0ee6944b82018a83674c3d9d3c95e7f48aa0a69b104eddf15187768af82a9d038e69db8add973d768293c65e3cd374404cb19e376ef5ece57e56dac42a3b868f03ebb0f21190f29f9885c337ff6bb71bd8a927af6736747a36635c081ef869ea6903aeb01211a2a88dcb845d06cf47b9cc535242b935711f262ab978b89148dc133d03889d9a52af88a072935678b5b9c31916e2760c7de66996bd8d46c239d44efe28034705f0e08da9bf23187408aebf60b596602b6a0717e59b9e6c2fdeb2bb90a42a03a1b550916ffefefa5ef919b776642b3f047566d79242aa5d93e6456c49a1ed6803f8c00a4c51e1ee9fd56d6e4f2a43ebd6ed61d13c1beafd533db85883bd4d865903f8a10e574359e635cd02644d53a179bbd79ea361e0da9e7d38ff0cb48e03dc7a03bc8b5cbf7db795c7ed9c542ee8f6daddae452ed9cbaa1a488c4d9ac154c02d52031535ff21d3b11cd9cafbdb9948ac9dc6078859bd8235bd763d72ad67f74d9136039505896b4e0d22cf35019900552b97490a4510a2a968c717f4c5bdd778744896038852913875cc49ece1dac9e64b72f76d5469c36cc3bf0f65fa50d65abc14574f03faa22a1b3c57f6f28812a8f3fa4b51872ad8efe1d122750fb3f2f6546d1a67cb03f0a0e42b1450700708fa3c400179f261e2b9aaf15571c6b7526ede4ff036f0aa03a3d4a9c2ebb40dbfd906418ca348c6632df2b0529e463f60b724cb8add314b18037fda56d815e7193aa6e42660c3e3d9d510b06af4921926e350b294703b57dbca03c454c9fca86e02e32f7d26649cc9899f7e12d5ae8cbb79b2e82109a2481cfe26038f809988a5a8415ee218f1e2aa5edcecabcddfbcc053602fb2e7324b6022c6b503d661ac58fcc82e7d515cd8063c1568a10c446a3cfa9cfdb616ba4ab7829510ae0364573093a4ce0bc6921a27778a91ffe0febd8dc861add6a5d9bb107ab5b1683b036be119f1416ab283b2381458f49a793b4c30efffc98eb1c41870178cc86847cc038f307526695cf9f582784859b32748da4ca1f95cf2cb12c7dd14e19c604d6d0b05581e039676aab8ed85fb45ebd9c78bf3ea09393f967eb6374edf20bc0c037ce00c02470249cd42c19e5403799a4f974f93d287ae49f0e18584cb1947812d264b05381befdeea6c4435ff52032d7831c14cde649a2da3ba0881e7db1960cbfdf358d66b8ad063ee50c3fe651805581e0333253465c045c5ce0affb4c8d9302fef73b8d24a2978baf0d17a05138007011bffffffffffffffff05581e03261ec1681d7bbf6af9115b03930e0544b847ce8e0faae1e2e544fe81d00c014722c7f40059e00003b2a2b028b98af6cd38ecb7a321ab6dde31bf4f53691c7bf5bf71fe8f8514004e03599c0f1660c5462270ed4841e6c4a3449f72cc985395329fe0dae65b8934672b05581e03e9f1f203b5ced2994be4772ab82d11ec1817f07d510e82a1d35838c8600c014703f18a03b3600003eaf6aa916905546fc0e9099d221f078dd680fbc9328414a3045f22b8e5b97cd405581e035bf457d56282aa7f08ca2011351e17be172b80ceaed33d4d0bbe8660400401033141c939ac5d318519b67dabd7c66deb62062382fb0a097203dcb7076d32f4690219c7e203ed401cbd785b6bb317ae0b3317ef3ffb623e6ae36abc73a7bab993ecccbef2c403f97d976378fb4abcf5f702a45d041fdcdef49a970b756a508687d2b095577f4103721c1efb0d82455674b00883c394117af46fe2108b595ac4cca4869eaaadc1b903c6fa467ec3b7ad31eb815d3eaf70f6db5ce8f5d1e7dc1c55c14288ede8d1617b03213e13d1786bc70437169cef3cc6cfb1f0ef4cefe531c0deb9b7dd2360d1ac97031a7d7fd5dd19721f04c096c3bcebfcca5ccf61e58cecf8adf42a032bdbb3f8fe0362c1619b3f8220d1cb092878a27166fe974f0dc18e7ed9355152045a44ceab4f03c96021299003731617167cf8217a0c1da26617142d8c1797674b1cb385721860038989c12687bcd4d2462024522e52365d8415bb8d2a86b2baec5662b91b92565103167e9538619e3c0dac7455ae727eda0adb85bb5f6a96cb406e034c7c9b3151940219ffff0219ffff030f0f236f6a0ef3b9e47221d6e238c0a095b7dac32e5d6857a87ef197cba66f1e0388262664889e77944b43e6fac525069fd340719b5131e78a0e91fc4b40b2f9ca0347becfc242c2f620abf7a19feadc5f9fec3b488c50aad1c070f0d3a9d16a8b1503316933fa971cf55007c8f6a6c2150a6ad133a4125cf2bd76095ed2a9558fe7c503d71e09e9ca3c78d826470994e4a6ea4c04ebbd9a8ac30eba908b5f5d0983fb04031cb28582a577aa07d7b00e5681b984e6dff2e3cfb75297ea29048d5cf29cb1be0219ffff03129f575f9e0c1a2610a6b465180895a0f977a18a8ede6edbdc5ab8e63cb8ee500344c20e1c1002c97f2e3b9c9463265beb7e0f30ca7149f1a19ee4ccfe02248d84030b012383eed46e9b78862c74038871c0254c19436fc775e8060ea32c6cec603303737d069a5baccb68f871ed1aa9c77048f879c0271aea0869399f2c51d7f19e57038f236497ce6a1d6339bfb0bd164399c0732869396d12b390fc3b828f6cf249c703578f1aef7543a326e5266a36892568a61dbb53e33287f1db43d00a81f9e4e06a032b6b5bd5b910109e0eaa7e6a053fdb48ee3da334b17cf336b905ffad73ffe2f0038b0372f2ce3adec635d39833cba93b71c9260fcaead142bd31aae9ac22fe9945038fb6b017f39cd0f35ac07bf401f7082168223f78986ecf63f702660fa23fe42f03c89d0153b0ce24f8066adebb6d0574f09770d8e1dfedaaa6df9f8331d6434e4f033a0caa62641eca40132670b671325c4ad47614c9d920851dbc18c1f001bd2c2103a2155c4019d47a14a83e69de562cb6f8d0e88b699144c8b469cf73c53a8d43c3031ff67326b4719d0877d5ba7552a00359960f79d00793c4c54bf9a46e7b2059a003b3b929025cfade56d5d5f10b0e4f0f4c56237fdad8254bb0c320a6b1789d4254031a005670b0f5e577f2553c4b954701d58de9e7765d724c216dbe4708800adeb803e78993197be2ea475a5034a197f93dafa7a5757e5aca6234dc90373ffd7ccff6037a2535e761c590281292f4d3a48fcae66d222e486b4a9b2cb7a6f9bdcb67b2f5031769f94377e3e61fdbc16f6d8948e5f6038c3ef3b689726d4c698c7e459ca401033f3637a09a0c1aa838eb8351785c4b19e2e48c72b7420e313b858cc400c0e91d03bc84373531478fec5b40679033bcdfe0710418983214f801427c73af918c60e20308f6c96ee528d2aad5072e280db895d2c4f040e398c9076be2cfcad8dd1fca5303b8bf649bcce0ad34dbcc7de8ce9d73e1888099a7e7e2ea60ae47f0c292df41450392e6b5531cfa4234ee8f9ce38a4aa46a043dc45cf35224267e423e3bcf6399a403e3cfa19335cbe874cee6d9beb2509bf84e3d81a3180a9f1f994ac94b86c9a97b03c362c8731c079a52b67c955fe48d0d4c597e7d059ad1d92204b8c388666609ab032b607c5acb4c0987246d8845a2f263384aba7912f3efb7cd584802cbddfbce3a0371a8da4260d4b6e333abec3089491661d9f963e1fbf8d1ae8286abf02c1d5a9d03cb10404da69de695746f94c0f9698d41d97d4d8c4f5ec83279c73bf2c6c0b50d03f50bcdf35b9f30de3ee2315af8a1e525c39555dbdc6040d7393cc81d74b424120338459779aba746cff9993af9ef7c8471d16fcde5fcf77f362357498be1daa50c036c38dcea2ffbcfe31b5281aebc4b6f12c422c44e4853caa989ad27d3bc76d4a503be93ea18bb150f3d973364a566338555871bfb1c5cac563854339170f72c835d0399fe52368b0c121cf429da421869535eb9c3fc6db8305836b7a4ccd65efe54a0031d8f5319f102270c86528018074520534cb67b0733521f6ed2d599e90f657fcb036763a128779c32938c9d1cb24424b780f1acf15a204c0db62fd80122ddf457e503362ce3db9c525c3ca69c8893b26b33df129b30d98bececa0a5b415ab8ecbccd6030853e490ec14d38df210b7d817d53ce2654f996e5e027068f58e803887a7152e03871a92bacc19c45a6e1b5ac2bc6762e94625fc51ae65b1def8af96233c1e526103e7bfc1fa20a3c742e78872690f14272484582a6996c62b27fc2fa870ae2f8f24030c1ab2520d367c8165a49ddb2295d562296899e72c85bacad0d2a75de2692092037bb2062ca5ae95999e91919dfd0123510d1499e8870b06105bafa64ef5ce77130377be269e436378f41761cfd1abf3c788b36b52aade750b6f39d3be86fbdf211d03a66c250796db024dd60b4a5105fccd080cedeb2e63d92cc1bd8f30eb061eac89035e10749963e7657a62b3e36b35425da51853e97c176f1eb1c047bff3b840cd5403a494083229b6ee576fe52b1dcfdfae55ebee183fc77346878da3d0a34829673605581e03316b43ab1521144ad20a504af348ababe7989e42ae4a45d93a78d97bd004010347b00da61061c8d7eae80c16c4c9e1f0b4f2fe2dffe0c46b99393eeafa7da9d703db4c8d8859af91462534e1d73a0b2574193b18da519e772b9929f6f9a7f77d6303cc51f2662e47ac26308e1d5858fca3f7a28fc3f6dce017d2e9019f76927ed74e0345b68a0d4c42a6477529b56f2e991a3e94d19bfbd7d374b85cec99c1891638c105581e03b666abcefd869f7d7a4844ae1333d9181a50b30d02faf1d5d7b44f0a1007011bffffffffffffffff05581e0369111c684243230b54874e125749696b07044599aa1f5d726fb3dc80900c03469e9bacc7490805581e033882acc1b634d1655f60d643f1e24d15ab6d3085c57d687afbd561dc400c1818470323a8a16ec10005581e030e7848b2738d1f2d72ed71bc0b3bdab2f08c00750e010007af5479b5400c0142138003cf6fc40ad22672c65899dfe7f61eea9896b33735ba306aad00ebe12bc394b48701410705581d022dc978a277112865d49a871e7829fb66c93f1957d8587c8b175220780c03462470d7c6efa005581d021d048de37474117d11ba4795d540eacb703991bfb18554843b7ae4720c01470141672d8a0e900219810005581e03e313aebb9c9df54964319e775420dbb2731dd6c4cc0b2a5a4685b44890040102191fa70219ffff03edacf667e3a6d85662fe347deb9cee2616d1bd242dd1db87061365c794fda1ff032878787df61918a8d10b6116469a773f7594f4fa90b407c1969b42d36768a4e70219ffff03a587ff60c43948ca5a9787ea758869bb075276e8fa6be4d19fd165c515642727039582ed2efff000a8c268b4e9a0f5998bb7dd61d54151d316350f509964ba7ca3035bc9a61183d52ef313b55023d42e80c0466e5234dde48ccee926ddc751816838039f9bcd42618493ff27feb66b1650cc1b1ab202f2beed2f752a5364a55a7a2b37039e8e5c8841be42a909ee8a1395bf6581ea419e3557846b14433445b4a4fdfaa6031d30b3262057677a61122c621d4862f49a27fcb2a9e3147fdfc814b4a7b34f1203e5bbd4cb067198d6b26afad9cf7f2ba34f518cc45a57540300c46dc69e9e23b10219ffff0337387dfeac0cdca8c4d3063bb45787180cbfaa074be14ab74e72642091d0232703df530633ed1a3efcc141528ff2b7ff0138bf2b4b83912499c9ec7837c50a621a038d53f7cc84117f7130f6152648085b05908dcadf1411cd1ed03f01a35344082f03cf1e285afe49a56dc35f9dfd84c015c46fa02a239b86cbc4067fe046c7604300034db11178228c362430bbfc533116348a6eb24f44b0e23b7aee97b07c74c8902e0219ffff03b753939103787737818ead51b5e435dc0a57840da3d3acf2616eff1d805a4f91037ccef1346f52921eb8b199bd31739fdc08088d345dd4f012295f5278b9782777034c3cc2a066d15670ff2a129a63b0d8c471328068882e9bee839bc33b25f5baf30375c5fd0ca1321a2594e692ea0bce29cdee75d21ea7f22c28bb79815acd8de78a03bcfafd6b063a4a877a94e3685fba704ee413af5caacbbb5ae022f5059d48be25032a34807bf9019c1104f96ce13144c256d2f400e83b95bc992e777b9eb44719d803255df7f819656494fe013217ef23513e2bc466d63efcb0ecfd7d0cf6bddb604c03319d725fa9e3620deb2d4646bb5f1f21abc34893b3e94a0e49aaa908bba6865703e682e266d134a9f3252f52aa526559960de510d46d3661ca19eb18b3784cd88f03d06038acf4579dfb0ed309377d211d5c8d6f121cce7196def007034621c88b8503b21c45da7a22897f4739780370dc04d7c08701f3fbcdbe8cd278a7b86c0a06b1035a4ebcba86102dc2f7a71f1ddbf578de5d3808fe84303bf5ddcce82f4babce4603fe9ce621079840c2850e596aa84255aa424349474604e44a581052e0ef924e59030b6d183ef254062b7b615876d1d955b96300c531306db5fac3cce3a3ab06d11503162053a4a76a246de953794df80cdd0378b756bddfe4b6fdac4ccf2d351401a2037937cec922492eefd9e301e40f17a1934f081a10aca90af42b19d4e2668e5e0a0356259fdc6f0bc5eb9e7eb9d047ecbb55694b9124eaafd604622dd36a5ecd33a5036d3335a69651179f48d154d4f92fbfdee697a40c13b07409f76c4b0c5166b41a03e41d291fdcf222a20f73ff4aabf307913d8fd7944b1b30327fda0929fac1dc9103f873998a4c5e7d6a7eb6148b6a30eb8b6871b363c57651a540e05c55cd2d58a403af617318c0d17a11863ac4e6bd94317c91091296c0f21753e7a9193d09a898e205581d02a163a699d630c77ea7d73de5059db4c47ab7c1745c9c179202aba64e07011bffffffffffffffff05581d02626d32b76aa5c3be98e6bdc95725d227054eb293d358d56f19c84e940c18b84803ae21c6fa8f6de60219880005581e03d3df13e16aa88b9784eb4e5a18dcf61a2785d6633380633fe9c88b28f00c184847953d00c0f8ed1c05581e034bfdacdaadf8961f71f6d226fccafae94df5a280404a3c226c84be850008475de07ced8b800003adf04e5821a48fd5bb230241f2ce007f5c6fe87c356afba479e10fe2ad80e63a05581e03bd5bc2e32e739dcd7b2252429d7fec5d2738b91c5eac6c81cc46b459a00c07460113704b760003ee07d96247f9449dcadc45c4c63605c8637a6f69aa4b8ed9a12eb1e1f082be3f05581e0362ccfd10cf421ae2ea78091e32476f9c3f76f53abb83207e02a55d19300401021908b7031d1ccfc15b98fc027b59dda6fc84759a40a767912d8b23f97a50fae38631db1b038e1d82ce6400406bb5861b9c483219e174aabfbc1865cd224be700f7b627a3da036fc0c45e839641d757d13172119213a04483a6a61d9c35163dc92246765e4e2b036b95aff7dd9313ee850e4858e2743027fb7dcedd3fecc49754317203882c238c035a8afa166233ebdfacca0cd0132a461e0647428c41b2138bb43e0941124249650219ffff0326e4d19e941524471921082a64c36b37ea162f43d85564f3a7fabbcbe902a38603cb0d12d3d5ca9a1517546a9e85283abe47f45c5e31a4fba97ce0e05d105b73da036984be87a7e02fb6608df3246e320d53918000adbc729752e50db8f8adf76401035f2e02c5589a09285bdbc6f5c536c3f6d94a2a113ba90123707cb1c5f8c8284703ecc81a838d466e523d9cf738f0c3569ca7f5a027e50465b52ae34ddf2023b3fb03ccba9b283e76abb2558170bee41b2bd95f2e473333bb25066771cc5992ab684303356d2439cd3b14b0b8680b6972eba4c910345714477894a950e66a123f0658d6036a832996661ba586d0cadcd60f4073dd942c98f41fe0dd05ef480ccc6369f30603aed088458d5041a5160899d8e0cb1defe4a4ada1c73478182d49788ae570ec010219ffff032454802f1fa15d4b2620be1b6a40085ed7728efea51d669c603b7d07ce077c0d031ddff44e6dd8dd6720caca87238225546c05cadc715d04a743e26ecf5579d23703d232b67cb394d475f1889c8ee77ddf45d83286f2d36539497daab6b01ab50990031a0b7d1a802f2f4b695ea7a1b94a25de9f4f84d036a105c5cc97ac67564d36420370d2f6e3f44673ca98917c8476dfa1c5279e12b45039a19ca665b1c424998438031678ed67c1a18a33e913f41fd76eec3b3e28b1e936802f92971ffd76ef9b880903fdb775befccdf1795c35424acbd89bb1d546ecc9a70a87c5e6ec58e245cdea2b034067ea8d95323d9a678c3986f8ff3acb993cf6623fc032044354c19c65576bb8030e5f53de0cf3a6e0cd0f0d109345facd3de3f05bd21debe3bbed75e32ec2093e0317c590ec06f62f0a4f73be9b0f35d265905590502c8eaff3e9d8d939e85d5adf037efcbe75cd1cc6b2e6da6480282613f3292fcc7e3329d107f2c40ada9b1324070309ec4108aac62391d34cab0186faf8a3b82d53a94a066b41c136bb5b7896a0c70366ca4ddef6cd961932f84d9c136a94fcfb572a22a28f7f29d6fa663f726bfd980219ffff0339db18455a8fb5a20b1dcf8d605177fe647afac8e173ecd1bbd0f763c330889803717d0cc64091480c3f3faf410674b9312f3a4ea06eaee3361f2253aeca2996f30318e978646cbca4cdf0fe7727ae2299c61f37340bf58ba5f771d7e3c56b35b18b03fb9a17774fb2738a718232d46b649d4f0315d5bc9ec34d0957e59bbd03b0bd10034958cb0a0a2f62920d04692d2554350d695869925ba038f6fb8c7bd61554fa8503bdead4e1f7ec23fc46884b9b194661b5de7fe82da4a55b510923c9a900967b800374dc0c6673bc6b64c440f4cadb87a55fd3fc801a33f2bdc68cfa3b141174266c03f22e65607d7932d6898e2b7a9b93afaa33ff4d11c1973e2258a267132701fe1503f8feff2b34be3ea2328298b6d3073acf0153f2b2c46748da6c1b326db782b36b031f0817ba1c3beac02c775b3571626c8f0b5012aca6c43b3fe0ddc7a3ad881dcb03435c42e490f8f29b2e303b6d5a45deaa8589f387e3698dc46c649aee2dc6de94039b38e976bb16c6219b8053e5233266f77cd167d3498fb2cbd6e0fe470feecb97036ede27018fb05e3967ef1bd8748cc738f5d19b23393b53c9a9787b5723613ff4035f06f22d3abebd05fa70d750ecd0eb834c57f59cd18c44bb31cfccd9864451220364c551d49287b191e6dcd11fc0fd8689d3e7950c3eb50842369f9aa432e07f6c034d0ccc6a0cb1394decc9a295829f5fe3367e9d69d7d53230398e87f6026d1ea403c33f65cd5532c729add457e90eeedef9ec294e6302fdbcb255b054b8239ea87d036903f966b837ff6f14572eae8aec22dc67f02b4d0cf306ef3d1d8b98ddfcc3be03de8edf8d5b074da5257026e33f66ac9bc593f643fbee2e7b00d056894449b34105581e03aac495cef188345abff8b74da56b744380a2cd2ef040833a4e92de35600c014704f5f911bb6c0005581e03b3c601e1283505c71b66fdcbdbedcaf05829eec51b4999483426067db00c024702c20826a8861503b78e59b0f3a4838e8c77acd77d0d38318f5af5fb7a167d483878996824dbc52f05581e030280d15fd26ec07db90cad9c51be0535f08df6ab613bb9705847d463800c014614f4a34f2db803562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031a86e1821a82192b29fc4ca0f63aaf49873c91e901ab869e93b5f1e74007011bffffffffffffffff05581e03c107cd4cf7a5b0ac1338957bd78dba94d9baf8ade91108b9c05e1b8eb00c034701eff3e7ce48d003a69c8da6acbf3ad93b61bed643404e9613f7dff566e192f8ec123025b251469405581d025c95f408f70f71f32bfa65ca3bf0a335b2cf5846291baf7350cef7560c1a000a3471490bf42f54cb70c1f78e05581d027daeb1980db17ffb5df2888458e63ebf7aacf07ca655f2e2bed98b6f0c014716aae87d5cc2000219140005581e035ab35e70cbea95fcb4210222daa810feeac8d277eb38922b2aee7176600c014701e0f3d81447f005581e039820eeb91764f08381260403d86f3228353147f6831de13d0f30e963a004020377d6216f06cf1884606b0c2ce38d722e4963a8b40833350079aed2fe40d5e5100219f37a03779222d2b4d8c6b58ed099aa4ef01cd83df87aa7d24a9730e6a19857ba59341003e1f2b804fba98e9095e80c766d911c48c770b165e7b79c1a1dd35fd233d6803003fd370363270ca174e4979a2e479342d7b982959950913231aa45a31da0052eae0358273aa7e3008a703f06db2a0a0e905797549162b4021d87569d586e499c03590219ffff03676ea5f6b1d9ad6faffbcb0d9c23ed9d943b3ae29a2570a5b4d7c400178d5bce03fd398595c34e1f40c7cbea1b287a1e5cc353b65f4609695decd52012bd0ff88103fdbb2d445a16aabc86078c37bd7668d3c17aee751d5a69c932bcefe9a2f4ede9034d825fb2fd62343fd2989b3c092e50b438266be8a0bfb710717bea95546f40ea03dff6f32ec8a6a9ae57052da4ffd47d8ef9092a1e148c0cae32969505b910d78303b1a31115843c2b034a493aa29fc65bfab40f9c940e5b31dd16a6a79a8a31189d03348f98c0dbe7c091d52bbe1d432a5897c1981159cd41d20ab51a34d12ce3264a0310f70d2536fca3138d8c2a1e2a2a5112a46562a86c89ae6deb752748586b051d034054ac1fe1dbd759699272cb2d96c503418ae6a2b34f5d602ff9bd5638dbe5930392ef71feb8709d7bcb0e0cb4a40ef94a52b634aee5360d053c66fba94205afd10315a279b422ac78222d66b64434fe0d5a4108e88db796d47495a6dff9547772e803a6b636cc2c8dba80a2d34d1d1cc140906072f98e05fb8e3a4e9349f1040132660310af1243f12fd7ab9dafb6d246b79383ad2df2b3a3fd65e85c15e875f9e562c3038786c375e9bcbb2b7bb0c99e83e8c057349d79655432ee3f89e4d155c4041a650219ffff0380a384b682f254989cb01bad599737e6513f484f4bd4b46c853dbff8ba93522603f3de9ae7df1327e041d58b93feb56ebaf1514a2a4bc4fb96704462ce2d3788a003cb119849996747127cab291bcb62b68c582ebbdd74a08be7dc2a16220d6b4607037276b528922f981e3161b054325fec78a93bf8496d5aedc377fbf86b9178f9e803ddd2593db2d9d226ae7a606ffd10ab4dec2de97923ed2eb64a16861091e2102503cc6e9926824413867fd0a134c072791dd1c129e0282ee000d22d5b6bda688d6f03f930176d075c41cfe3b8c283844abc740ff4180704565e85e924ff8f5b2046f60325ed1357f170121ec3c89ad084023f18f023818545b8120c02d496276c51a1140219ffff037713ff455c657538b1bed5da3c79a0765edc072fbf64662fd9f2a9b7bb505c1203d28a9dcba8c194e23038ca159859a6cbde39a0447b17756f460cf92a7342d5e403b3824a583e4b6f74460aa652628a292bece39390757ee5dd3e2cfc0a412ff2f403b7827a7f2592682f7068f6a916695ccbb35eb8c86070a53a58acb2071872323d033a0b8bc92559bb8ff4d74bd1161299f453746ddf4ab9cd90b121eedd3aab0a87037c8fd07fe1c49568e1ec6f1246c7fb81bbc090d24d27a8dcd7c6d12bce50019c036e9f83f22ff7e16ccaae23e0d390ef5f76cea0adb709519f395a8651781ff69503c22e0ef10ca229ebc4ff832f7eecfee077f8a1df6d0161aeeba44a2fffb2b817034cc6b831a091a6e38656d86cfe075c16f8de5b9aea0c0e13fe54a5aeb0cff903035af5c0301656ac7a5e775ee475e6290577851faa3306e02a19817766d4960a1a036be3803170b42b6cbb4e19f3a6cb58b84b00eedefa526491e31403a126218c28039d8328c014eadd600da8386cad6a66acad6fc0d8cbd857d3082b3045a2f77c9c03dafa76d570a4b966e84e4a700e820555cfca47a52cd4b475bea0697c4586435a031f86eb23fed971e00b0ad347a9ba9ce21a0a0be6b35437bcc12959a56841bc2403f5de52a8779b3b26db3528ff4635a4a9145cd2e22da53beee45cc8e85321b7a9038689d5986e4b231c07bfbb3535dc5fa278c4e59ef15e24a3e1e25e40d4175f9c03b4f8a6597615b12a37c214c70d548d2cd3915ac4ac7a8733879e7854eefc763403a2880fa75fd6b1e6ed4395be96415747b663e180ecf764867469233ef524dda803a40efc01a381ad57b7c6a4ffe257c49b06d4b9e903c99b73c66b980a4702ed9f03c453ca3ec08ba7a775c31530e1efb8cad07f5bdc893261b73899ccf3f5bfde70036cc80e81e9607433b12d27d36c6d7dba2f1a1421880d5c990f321458d663c31d039474574e0eaf5b443b89be157fc1ec23326dda2b7bd3e49b96c235d34f50e4b10314dbd3b0dd633f9227c4a86ef59ed491629828999dea51f4a1f3fac0ff540d0f05581e03ca581eba09f5a9ec78e742387db8376881b1be3bf17cbfc061ce6328200c014704acbefa843a40034c7661d2c1a0ba64b14d7e5a9bb7af17d1aa338813d5a94e45c7c16233e504df05581e0313a9e2f39014344cf5d7da5de6bb4af08dae0a9cc7c0312cacb680e5e0040205581e03695ab4df320c8567aa0a328bdb14e4f276d336dac0ddcd8b0833858d00040305581e0376e6c45fe5896052ef4c6083bd3bb89c23fe6ee83649adddc2484a7c400c02466463397d39c003799a4f974f93d287ae49f0e18584cb1947812d264b05381befdeea6c4435ff52032d7831c14cde649a2da3ba0881e7db1960cbfdf358d66b8ad063ee50c3fe651805581e03b9b4b62af946cd75e881dc375c4643a9a94d4be49d199591abedf4f8e007011bffffffffffffffff05581e03f9d76b22bc940f9c5e6c0dc67aa0e4178bfc47b5b0f0c98c9b49b7df100c0147273bcc12c524dc03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e039c870426ffd5d6e2dbd714622a18a9788ca85d749eee431b6ac120f30007011bffffffffffffffff03b66f1466e35cff88531f44fae7884645c776e0528a852a2a26ca5ae63de5cf69035f303c52e40adb9e9f2f685b7ebb2df6dd47a633c90a89e3883a033b6b2e8f120219e8fc031f5b58cfb917ef386d538ac11f4707ad47166fd44df42624f7401e9a920b6b6203c787e2c35eb75964dd26e3b628546a7d7655ac87b65bf0cb1a6bd0f149b6cbce03f84b5a8c9a4b10dfa2ef4634a0fe5d0b8b8ec82d8c262ef316a4f28ffc3c247f0219ffff0349194478bc3be7b3e6f6516de8d261ac26d0a7e86ae34d54e454c0876001df9b033c47e451337b0e415a1f46fd4ca9d55ac6031dfeb5e3aa3851560e30c3ee6dce030edd848e03af99b0b974e5e0f7cd30579e9493a31a827dd088dcc8801a2047b903a32d773681fce9de2fcd6d4a07d0ea95af2742603db9c6ad27aed47d80cf8d4f03371ca249277b41910f24418edaff3e7b3d390d4782886521b55ceaed5e4a780803437168f1c775ee9e865737b483cab4dafffafb7840e39f71eab9a60826cf362703a4cdb5612044f37050f3dd85cf8901280246a6a216a73920108590d2997381bf033c1fa7c8c5f34739bc1fae9baebd5f1e7d6d217d106d8a69896fbbfd52d2739e030bd9389731591d5097b20347d9236db6666468c2d41cc850c4721719367a9f110219ffff0356fbce777c644e5d0b41ab65c07b0afad5dee80626daa461b970ccf467f52c36032175f8b00301f1994126467fcbbf18b4128a1e4455bb8e0ac344b8c5fd61376d03b3ec7d98ea3690fa36747013408ba4e59cc40718b6820087bea1e7803e63bdcb031bb8b6b01090dd9187d4f443d09a496994e310b0864424e47d789f57bd7be5bd036caa14b049f79b32765c3b885afbcd61cf6f9855fa9f1ae5cd8ef2fac71cba4403c714a736940376a13153c6a343ee56b8a72a7091a08b4de1c65166249395dafe034355ecc070f6e12c73f52bd7c04ca4a28ce9a8b0152fcf85621a5b08178202dc03e23766c3eaa7b46fc7516ae18fb13104bc6e9ceeb5d040c46acf27a4c283a7c003d2f544ff48b82e2c0aacd943a1dc79de140f5852c620b576fe121cc44209c4f103530adabe3e033085a5f033ed9d2b7177eefdd92578e6a1d7f672f1910ce09fc5039997841e50b2dc8500101426602c4cbc1bb9ca83bf3007a18a7fd0debdcca5050219ffff03b8ceed91ea3b0f0e8de6bd475d5644e764f4fd236f4c9d1004ab7c0b7a0dd1c0039d6ffe5061f009955fb95e1ca5400712486ba5525bd12c2933bdd706f8e1ab73036330d84073ad82b223aaeb3d92b9d8a2b9fd53e9e18f2dcc3129e3725134c212033e23cceb3249c4605340ceb8a30d237f135bd6a283c48b44ad2803fc3b1251fc0344c56e57421902cbad393c74f63247904a1113e8c3f49ba8fd2d7f94cf13e260037a947c9ad36cb81bd918a89d8c1417edd75c73fa9a22b934df0c781298612ceb03d7fc1458db2a257da72e0680a860daa8d237a97114806937f0ea5b3c5ad2048c03961325f93a82af8b7ba1da1745d125c0969615f0cf25ba25687a7a39f35182de03ee030613edd781dc6ae718bbfe299531fd0da0622c4eea39f010359675d61b46032df44b925e01e546eb793b73331fb8bed4129c1a54dc18686142be9c9033729f034eba8b695b5303a88b42f6e514ea5e6b4e45b87abcf75fd9a3c7f1333abc8b2c0219ffff03fcb9bb032c2aaf9234f62c4bbcb11e7bf820ddb1f699e9d879c352e5b8f039da0305d4a1f587091f907b2892e4dfc164665e410343fed4d58ade4fb9ca5901158d03de235e4b20095e6fab6c0dfef3d016bc1e9cb6974aabc1de4e2e1d9e23190b1d03c60db261d7a698036911fef36afdb71ec9c7d79536895eab58ad0c8788ac66160340c1fbdd29f91eb6f329d48777cb37eb3a80996e07d02c3d41117e78727d0d4f0393d90737c6d5e7401389efc5fdc96320cd34852c0a463726351d91dbcb47afff030d3d8f14d79672f5a3cc4e80e2830bbecfc38410edd2c078cc07b72566d8651703674ecfc6adc8859551a4af76a6606174f964e4392445a168c891fe1c3fb60b54030f7cc44d0de7fc07fb700519ee047ef55c7e1635f3d061b590199404d0212a8903778d06bfb4d572f1e0584fd6a49908bfaa77af522efb776afc0d40095c4c277c036ff2ae72c03aa52c56b6bf54ed6a73b506c7975276e842fbcd9899fce9ac97ae0332b07ef39023596e0b26125adcb30dbce4ef5a5e64362f55e3923fee26af40e403a9f2be9a9f4bdf8a6572048132cc56b64274654f8519b9aac61aabf8e7d8cb6c03c2e0ce33908fc45f36465154ae597e232a0ef878fadea52c53d332f8fe10789603429343a3a9650e4d9582311b9307a893c98a1feeed4b001c1e5060519c73585303952fb8abb2ea6ea9b89f0c0007ccc9f8476d5127435056a70537457b203c638d03ff30cb79b292d57e149e28e1f09ffc5e59ce6e3788e18ccdbf7f0dba636931aa03a4317fac4f276c1a12d77317d387811b19be6a3ba70e264c4c3c048ee5777bbb036376cc37680dcba26043c49157e0b9d8241e2c56a5ca53697f5ef812a0ea2530030324d3c0237966e25bd69d8c4f0ad331372a9189abd89c94daf040db2611dda80304dd3432819dd721591dad76e7c6043348ad53b348048eea77028a9258b624f503a58ba0ee4a7cb471688d8248df3b513bd0ea7e33eb40e8119a5fa378abf4c5c00329d2fe82228319452a2babdb72ed9a91dc72531541b66e6b12b6d1a2595c61ed03be7620dd2d308900eb7b66fc34d99aad32c63387f9b4ee50a0183d3edb00218603e1b5b7030826855f27976cd04f1f86114cb23fe4eb54b35aa207a10ce18e7255037c6fee79eaff76ab8942f84528ab3a35f670f4cdd0bd6a79acec1f9419dc260603d6bee29c4d8cc86c58ce59030917ae8699a07efa738931b3e05fca02b48c14220366b93f1d706ec92a578be33c60ac54372d7e183f031f955f39fb88ef2387244b0366c207e62cbc586346bd8cda08db0da6713ae1f91771eb06f392cca2ce9902f303937261e88dc4a9e173ab9e3b90b3203d26c03f7324130e672e9ab6ee98982e73037ceee7cd659e033c4b120333b9fe2c8fe340a3f4ba44ee7a3af4093885f170f403c0e0ff4ecdccc74f57c15a3d9f179819e70b5bd5704c5e92b5f103e2f1abf19e030ab9d5ec2fdc480a76fb314df786591d8f562032acf0a5a5730fab19a7865cba0393c9a72fab1a9b561fbf8e51218aae4539dfb4b9c8c1bb72082f6142902d66620375f3c0e5dcee189d5bf7e878dbc312eb0fe2e5d69c02a09bf7bf1ed69ee278a003c744012533bc5cb8bb8306744ff18a6abd33876013ea0cdb652586c02b7ca0a7038b2184b2a9c5a8f250d7d9e9bcf84f217fa0c7fbce2eda95938858d87bda6cd8032f0fd3b698cd3521f981badc6cf154364ca8f08be86954afea04ea3777d124f20459080b60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106dd565b610224565b6100a86100a33660046106f8565b610296565b6040516100b5919061077b565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106dd565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ee565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060c565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b60006106367fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038381556040805173ffffffffffffffffffffffffffffffffffffffff80851682528616602082015292935090917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a1505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d857600080fd5b919050565b6000602082840312156106ef57600080fd5b610412826106b4565b60008060006040848603121561070d57600080fd5b610716846106b4565b9250602084013567ffffffffffffffff8082111561073357600080fd5b818601915086601f83011261074757600080fd5b81358181111561075657600080fd5b87602082850101111561076857600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a85785810183015185820160400152820161078c565b818111156107ba576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a005821031df491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff697042dead0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410103bed6418089531bdb01b400f43c2ea1af7e83e9ca760da465771c0d3b23eb587c00582002a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae548f2428f7189c0d92d1c4a5358903a8c80ec6a69d0058200211f94e20a93c79f6ec743a1954ec4fc2c08429ae2122118bf234b2185c81b854a426a052f657aeeefc298b3b5c35a470e4739d690219040403178c483d11fe52ac31f20aa721ab2b252f5c3a35782bb23881773f33c8e2c0dd00582103d9c606af400f9bd3d18b23861100d13732d74263ef1535d61f6e52a5f49e23805130000000000000000000000000662ee2ab005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054d0e1065f2a941dd723f800c34d2d4282c3158a00005821030f70e66a93b7e762e73b51ceb0ea9a5b6369043e9a4b2a0d02b564ecbdb1de6058205cacadae3723e6604b8da1dcf92f0e5ab45fbc531f247b49e1671c536b90a12c0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60581c012dcc0e00000000000186a00000000000000000000000003b9aca0000582103fa4bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d0554b5b41c240173191425f5928bc6bdd0d439331bb0000582103a59e3b1be9d1f5afcdb371b321d255b7384541c36ea568fcf2a860fb19dffcd0582045dccf76ef2e67bd879ccd17f2254addabce1828be7151956570f10f4464a88200582103cb12c7dfc35e789f87fe5710078e6866c703f0b3fb83ddb82dca38f4ebb47ff05128000000000000000000000000662a08c30219bcfe05581e03c4f6c0b12b6dc77226a1a86d71bebf9e5969074e5d5b492cee039add400f01490687c758fb3f3a8f6e19080b03fe101df14fcf123646e84990c7761232621f078943935a29906aafc2fbcd9bcc03d697f89b5602d7ba0185c52cb7bef4ad92415ca92b56bd5689485966dbbfd7b603aa008c2d3e2180e17e8ace1cd8392af1a2fbde6dd25cf7e92c5f5e24f5c38fd705581e0361289c81a964bf40f8f3e227ad12451c1ccf72085a19599c25a97a38200410037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03b197c0fa40aab95922f930065a22f71fcf6793e96500cbe8a385255a3007011bffffffffffffffff03d8f4145726b0a122041538d865fce1039fdf97b2ea17834ac1f5124060ac12cd039275ace81070019e5852962f941978199487e93104bb6c094c24cd7935f6698e0219d1a603a9a1c73024b4139154de130b43e40b1cbdf97aaf3e6a0f2ba6a9510ab8038e0a0219ffff0397365a2517eda663345e6c757e7d8676ae030636859cfe14a18df6e635bc9d4e03156641fc0f85a0767d01d173b81e2300ecebf5edfb2100332ee540b52e96f748038b1ba286e268015ace9e2af6648999fe3477aa745f8f396238d52a9131f7e80d0341537f0d87ef85a29c0d88559a611538b3eb89d2127e9828f5938163b66a6054035cdb1c5eab9d9a0f409ec9bec9b67cc7f31f39a927854d811ca39cbb940a82600347ad113e50cdf476b941bd85a60629b9bce40a5d353419f84d437f50362d1cfa0345e402064c53c2e8d9c37973d9f5d778c7e5a51606e9dc2a1cc22711e16445a903c527828c270f3baffd86b28d49370ef8fecb20699d67140e4aa3951422599a6403ddc233cd85315cc69fd523dcfe98977a3e2f6074882e7b04ad1ea1217a3d3c9803fb2871f921407915461fc700054ddd2b8733d3d0fe3c9aad5d2b1c324125835303ffbfa03b61266ab637e68af98b87f1a7a4dc5d25089f6d34dcddb0b47c06d83c0219ffff03f851561ffdb330ca2c9c069c2418608a8add0a65ac59e05c959775312463105e0304de40215e65adc6f238792df58c25d781303506d31823ac53c24406c8bb97b5034c97fe98ca6ea00ac7de19ca41e86434d28daaa5e70a2248a55849945c44af1a03b0940513ee8109f9b4df6d2c0d472295b40429497a7d2cfe8bcf96734810f70303e77e5caf2e1da417401e35362e0b43f1996c1bf02d93af8d973fe916f66a655e0357ded87c4d779a4d88294529cdf76b156b529419558601e5b2a7a8cd7cc3a7d703c266a4b2a434cc6e5f66000df3db0cf524bbd346dbc7fe9660e0d81c370bb07103326de2e175bb85fc93db9dc353d40a86e88e122540c14472b3f57ddcb9992a2a0219ffff039a217178a6f140bc9fde3ea1ec9ee3ce1b608ed8e3f94bb402a409cdf073c2f00336734688d5f39390e82284c325d61180a6046738e242c1d60aeff720b7c97e690219ffff0303964219d5b9610158cb60e2da8b751cdda37ba5d2c8c6a75fea5bb1936a433803286a2b10c3f2cdf544dd49e447e101599e138995580938ed64571da05d4ec2a203d8cd5300cf5283d03ddfe1b32d5c7ad5e65678e051f8fb0672aaa6a863891c3f0326fcacf05f228d8f2fb870d607bac3c99fa5a3e698069f1751f90d8f8f1ae64e03b5b3c1f5b782b65976b9843cbf65bbd0a03c9a4c9b95bef8f5c8b42c1582645d039ed9d83d79151242a91f03364e6304b45618630b88cc024dc717efecb8d430d403ad7d81cdf50bc5b6f901d5bcfcdb89dddc2984fe9e16c65bc89fc20c69d1c936036737b11284cb54305b04f2c96615a5eb7fb768ce69e90e76cbd061eda90490fd0389baf3341a75b14e3385dda2d70575ca7b9d91501654c12c87ec2e1282f9c7b103d3502bdb1fc5d6aa6f433cdb3017da7bcef97d6f16db08a872c6038fac3e9a0003f57b98945c67340fd38a9cfd17b5aaad46fa8c33d1e6259e0864e253bfe5df7c03d5f235489daff9ba008673c960e4d72e8589acd9281714041837fc9493a481a4032cc55a60a757fa86c688bfc2314ade1bf96c06cf40d263faaeed40916aff1b5505581e0332552fddb835d48efca87c7f558b5dba0faa2d864b4670cc9e9ed50430040105581e0332e3bd94f40214716cf84959da347a6458ced2e83c1957883941f5e3700c01467728f5c95dcd05581e039b3f57812931c0bcea3ea19d9f86c95bc2a3df099fc4b0b8d4f272f0a0084703328b944c400005581e038054fe2564cbc07c96a5e3aff12da91c759cbf8bb6b3c4d845382982200c15466400f15891380399ac5761734e1cfa43e45a712124a74cf5d835181d27285d659f3af813a63f6505581e03c8a2ee29d6a17546f442e95399d446d5732fc60bfa390b60edbe007c90040905581e0318c5120155ffb79b3dd7585eadb8c02cc7c37db219ac8b7f02861b80c0040103acf116354d2f0c5b84214f91f8d63b1fb3cd1bc89f362f65e4081a78163acaae04590d36608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063c66485b211610066578063c66485b2146101e1578063da8c229e146101f4578063e0dba60f14610227578063f2fde38b1461023a57600080fd5b80638da5cb5b146101aa578063bffbe61c146101bb578063c47f0027146101ce57600080fd5b806365669631116100c85780636566963114610167578063715018a61461017a5780637a806d6b14610184578063828eab0e1461019757600080fd5b80630f5a5466146100ef5780631e83409a146101155780633f15457f14610128575b600080fd5b6101026100fd366004610a25565b61024d565b6040519081526020015b60405180910390f35b610102610123366004610a5e565b610261565b61014f7f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e81565b6040516001600160a01b03909116815260200161010c565b610102610175366004610a7b565b610283565b61018261056e565b005b610102610192366004610b82565b610582565b60025461014f906001600160a01b031681565b6000546001600160a01b031661014f565b6101026101c9366004610a5e565b610616565b6101026101dc366004610bf7565b610671565b6101826101ef366004610a5e565b61068e565b610217610202366004610a5e565b60016020526000908152604090205460ff1681565b604051901515815260200161010c565b610182610235366004610c42565b610769565b610182610248366004610a5e565b6107d0565b600061025a338484610283565b9392505050565b60025460009061027d90339084906001600160a01b0316610283565b92915050565b6000836001600160a01b0381163314806102ac57503360009081526001602052604090205460ff165b8061035b57506040517fe985e9c50000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301523360248301527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e169063e985e9c590604401602060405180830381865afa158015610337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035b9190610c70565b8061036a575061036a81610860565b6104075760405162461bcd60e51b815260206004820152605b60248201527f526576657273655265676973747261723a2043616c6c6572206973206e6f742060448201527f6120636f6e74726f6c6c6572206f7220617574686f726973656420627920616460648201527f6472657373206f7220746865206164647265737320697473656c660000000000608482015260a4015b60405180910390fd5b6000610412866108d9565b604080517f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2602080830191909152818301849052825180830384018152606090920192839052815191012091925081906001600160a01b038916907f6ada868dd3058cf77a48a74489fd7963688e5464b2b0fa957ace976243270e9290600090a36040517f5ef2c7f00000000000000000000000000000000000000000000000000000000081527f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e26004820152602481018390526001600160a01b0387811660448301528681166064830152600060848301527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e1690635ef2c7f09060a401600060405180830381600087803b15801561054b57600080fd5b505af115801561055f573d6000803e3d6000fd5b50929998505050505050505050565b610576610959565b61058060006109b3565b565b600080610590868686610283565b6040517f773722130000000000000000000000000000000000000000000000000000000081529091506001600160a01b038516906377372213906105da9084908790600401610c8d565b600060405180830381600087803b1580156105f457600080fd5b505af1158015610608573d6000803e3d6000fd5b509298975050505050505050565b60007f91d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2610642836108d9565b604080516020810193909352820152606001604051602081830303815290604052805190602001209050919050565b60025460009061027d90339081906001600160a01b031685610582565b610696610959565b6001600160a01b0381166107125760405162461bcd60e51b815260206004820152603060248201527f526576657273655265676973747261723a205265736f6c76657220616464726560448201527f7373206d757374206e6f7420626520300000000000000000000000000000000060648201526084016103fe565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517feae17a84d9eb83d8c8eb317f9e7d64857bc363fa51674d996c023f4340c577cf90600090a250565b610771610959565b6001600160a01b038216600081815260016020908152604091829020805460ff191685151590811790915591519182527f4c97694570a07277810af7e5669ffd5f6a2d6b74b6e9a274b8b870fd5114cf87910160405180910390a25050565b6107d8610959565b6001600160a01b0381166108545760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103fe565b61085d816109b3565b50565b6000816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156108bc575060408051601f3d908101601f191682019092526108b991810190610ce3565b60015b6108c857506000919050565b6001600160a01b0316331492915050565b600060285b801561094d57600019017f3031323334353637383961626364656600000000000000000000000000000000600f84161a8153601090920491600019017f3031323334353637383961626364656600000000000000000000000000000000600f84161a81536010830492506108de565b50506028600020919050565b6000546001600160a01b031633146105805760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103fe565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461085d57600080fd5b60008060408385031215610a3857600080fd5b8235610a4381610a10565b91506020830135610a5381610a10565b809150509250929050565b600060208284031215610a7057600080fd5b813561025a81610a10565b600080600060608486031215610a9057600080fd5b8335610a9b81610a10565b92506020840135610aab81610a10565b91506040840135610abb81610a10565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610b0657600080fd5b813567ffffffffffffffff80821115610b2157610b21610ac6565b604051601f8301601f19908116603f01168101908282118183101715610b4957610b49610ac6565b81604052838152866020858801011115610b6257600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060808587031215610b9857600080fd5b8435610ba381610a10565b93506020850135610bb381610a10565b92506040850135610bc381610a10565b9150606085013567ffffffffffffffff811115610bdf57600080fd5b610beb87828801610af5565b91505092959194509250565b600060208284031215610c0957600080fd5b813567ffffffffffffffff811115610c2057600080fd5b610c2c84828501610af5565b949350505050565b801515811461085d57600080fd5b60008060408385031215610c5557600080fd5b8235610c6081610a10565b91506020830135610a5381610c34565b600060208284031215610c8257600080fd5b815161025a81610c34565b82815260006020604081840152835180604085015260005b81811015610cc157858101830151858201606001528201610ca5565b506000606082860101526060601f19601f830116850101925050509392505050565b600060208284031215610cf557600080fd5b815161025a81610a1056fea2646970667358221220b2342eb6db7213f08dc1aec36848c85736afd4f3ad81850bcdebabdc8bb3190664736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054fe89cc7abb2c4183683ab71653c4cdc9b02d44b7005821033c29aea10bb1b58b1cde05041a4ec10f867188749d05b01cd5903d14d25af3f041010058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace054231b0ee14048e9dccd1d247744d114a4eb5e8e6302181c05581d0336534ceb08ca01a3357dd956a0e45b72dae17eca79b6c331363c45800701190d3605581d03fd067c56a3da954cf1ba45c663bd8e694f5ba20f6394c841e1857e60040302182801410a03b2bbc899bb33f1c6e630fe84c9a1e427e764a865024a5d8ab433acf3963619ae0219dc7503298a12a8a23df62e5eef686d00c4ef04f42a05b3dd9af5700d4ebccbe451aa2c03f9913a58e56a4bc0e73fb0304ce9e0d1bff64a346534eadd0ab587900afef943033001965a487f95332dfd39edf33a446a2a0289dfc944554ac5e75f7e8963f755035e39863af4dabdf6cfbea601c1e7dd25e1c4842e25be12ae4d0102307c24104e0302d01ec48b8e4e5907ce8a0153c73827f4db410f6c8963cd0ea312774ab8805203985408663fa312d1a4dcbd518420427982e6fab4b4fbe3daa7bde2bac3748e50034981e2796c022ad69197862846e4864aa16d4a238a8a00fba026a5987839eb79030a4267d730e1ea1edc32471cfb8f3622bcead71073a34e1e65c8ca0e4ebd050403d5d7814380d278f88d69a1081b0e3b2cebc38f8f7d690c9a2cd1cc4b9d080e320219ffff03fd4078e355010ee95dcffba4eaa17013d83199cc283acb98703abce8d30ff79303eac4d7dc6ff43b189423defa8b335a22afc3587b18f9115e51c628c0c83d23d4034ce68884888c66ae29b5b979e2ebb16f53eca437946441256cbe227a99269f56033448ed7fd650b9d57d210564fed919e70c63a1b5d228859f9330fdfd74bd3c16036e77ac5c1620d41c6ed15a94ea33bf8c0e0d8251476566e5fdcd88ba221777b80365b3b0d35510ece30f8773b1edeca4f9fcd12b7bf025b215ed229bc5cafc899d033b6e1e01b33e0dea4bd43b28b17892eff2a97dd86970aa1f99fa7234f35adcf703b4e357c76c298a9b8baa96ba02d789f8c627055cddce87eef3b0fae258b4b1540330d99ec89c3dca951ff77609f321ae15248ed2f47e3cee47da02d4cd7365a8710319f9781911507771a08f71c6aa71e45306448dabd91399c6b3eb0cf6e2f077c80369673cf515ed64fb60631e05d3bcc0691b1dae380cb7f1bf5ffa64d5f0e55f6b0377a2721e03619da6592c9adb0a4c3300ef426fa07fb3a9b938491e85a47553930219ffff033f8c8aab0f51159a36470bfe3f5ee051d5ae1da87545a8660009d34b2f3b81cb03a1345e525ebb09746a95d6c9ce16088c74c30652e0bde3c47f590a2ed5735a6a03b0a2e1bf3bf6bd88bd24b315fd1c511746e8a7cec066d87568e5ee4e33c148640340c16636ce7a50aed920c4a0230af07fcceb9a99389014b2e3755226322a74d90316bde971424955db97122349feda3e194641c5f9c2dccce05b466163059c316b0353685b1751e42cd5e5f6fe8679c6376037a1a8f43da066af8b1e2bd3b70fdbe70343b5aa1fc3c60bfc2dbdf2fe3aa9d5417dc7fd373e4866c54fc7ab4d7d903bd40329c041a7533c2727aab08e430f52d00b44f2178167433680767ed62bd048803e0341ca0497780d0277afc493e8ed41ec2c4ada39e423f20981d78a52e1b347f888038c65ea1f4bceca45d348c4fe21e78b2b28a86ec8118743ac9e6ff3d90507834803ae98de84ac7e3c176e4a31fb24ec8f7d3c33f2adb7539c8d8a625a22ef21aebd032b10da39b78a3e77d7e8be07a7d17063bf5c16ad9a3ca7a132db278709139d6203c4d3babae1a71b48171f4086293dd98503561cdf1367c4243ed8147cb9916cb903c3c8694f007aa875fc250d71404b6aa391ab875e6690e5a5fe4067b312244bce03d92d277cb2f5972af4c5bab043200f8a6865cfce61e6305f81a8d8c0d08cdb72033e36b0922be68ecb97e96bfde9149e476e9668756dd2bedc45fc08066cbdb2490325163e5bb5d8d1927146b9161fd059969dd695a12a81770904131c7c9cdae04303ade5bb0d036977f7cc4cdaa4419f14bd69eb1251029bdb268dbdc83e2218769b03bd4872997ea81cfba62ee06c88d684b71fc98c484b04b5e4e16a314f2d0f2ca903cc62156bac616e7362c90537bb6cfa38af2e079aa0b60ba6ec3a2cd98c66753f03dcd41d10048a12c366625328fe4f72370ec446e4915a5a05aeb055bf408458ee03a2702a80044557fe04fc2f2591764c1027dcdf2e3e4bd8438fc28422d2be695c03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0332ba76847fe28191fac7c4a8ba9eccf7d949c15d5cb583ae2e4c92a5d007011bffffffffffffffff03cd06b7528fea91f5a86ae54dd9e940909b269253731718c1219500c00942c36d05581e03bf8d3225d9fadc8430d5f174fc46b281ac006481f032f1cf9939aecae00c07471b0825c9aea3660349a81c9df71abdf0f9c6fa28cfc97dc4bb5d17f79d769f6710e46751fae5427703ce4f34627da11ea3c056a960c60e8a86b526e2a7dae7ef0c9ba3799e4f5d41e705581e0304abc38d679bfff67e24f52f8a3054d10e2cea667b651d6cef192e72a0084704f94ae6af800003b717380f5c9a74d593369fc6cef2762a8f31b2801cf341b973dad0f8af7b8da303a7c1fe4340794ae0e9650b5dfdde760518a19b1cd8f507ab4dafbeb9b956a57305581e039bd4001278c7e13e64a578302ba69b7b0576b3576df813295c5a883c6007011bffffffffffffffff05581e03e689561c9f842ba46a88a7a0dcab08c41d661d0b1e7c5ef1b9560650e0040105581e0365e3fd6e356b698be3b457990ffa5fe13567fb2afd37f0db35503553e004020219cfb6038298638804f8b3207457d13649fba567cb6dcf9ee993f9ed50c166aec98f431403c869b3600c2f6e63d3a353b81996f8cd756e50db5885fd2468fa0268edd95ea7037acb984815d720af18c9d4f1c189be7bfd95438b6d909570f18a8f07521f5e1d03d65e08838047b85760c45fe32af54f2bcce1d00458fa595916f0f197085110460322d0d5c0fa4eab6bfa22f1a66f739a6fbf8b15832ac068dab0de78697d6d9a12036a40950dba0ed57184cd01dc76d25bc798e1d05a49fe5ba01e7a1cb13b66bba00219ffff030f7940b8db727d42ce99024d126e275f802de0a7c159a4106e4f2cc6cc9b715a03dabb787dde4158b46c4f3f57a6802162af9e43315a2706a22e18c5fee4e16a5703bfdd64ef5c891a423cf85aeac8dad1a62ce1f1e201139c975f53d8aa51563c7c035288a760f480a33533df0d1862e1208c7b35cc6a4099aae2b337560adbd33b9603a1acb397d6223b6f8d3106e349070378d4967df674a6923c955cdcbe84c495f1037961bca4b5169503b12297a3709b0dabb176448e72402479247deb9543b387c7032948d05655dbc1724f82f68790109f56f2b48b7a4f6864de2017022f0e500e2003e70e63115ad32a17e8a23ff02b3b0cfcca5a9060b5bd74a05aa77cdf9afb55b70374072651aac3467a666856801b414982ee84d464b9b8f48eac1301a8958265ab038ea6c44e6dbf7e663524115602e0dec61539b4f18bc0ab97ddb6a98cc1e311e803ae1939733be2ae9b43b326ef5dbae70dd346a41866c1699efe37f8cd8c50b14d03496940df760acbf3e3b8109ab203f7c8a82e75a1b2a357f4da1304b11017446003f9d854227bc898615da3fe39618156b4ef6f3f7ff1ca8a72b51df53a849257e40219ffff0394f24ce135fa1794e14e4cafe391cb4a68613233cc0b9b6660b004019426426403ecf0f7363341b0a6e46c52d8d76234d018ce11314d00c042e10bdb67b6d157d703a4052ed0e49115d9effe8a697478d31f46c55fec58dad8418d14f12479015d4203fafccea434ea8f85d223c4fbd7381a6a8fbdcc56b54d535f97e1503182fd532f03ae65d2523727362b99e43fb19a379b59bc1765e490040defd6ff1abe399b1e5a0219ffff03fde5547a826f670ee0fcc67a6847581b7c7e0ae06754d274f4a5b21ee062bd27039122a9a651a95e8556a009262df3319392588141122ebd01a82d9549e981e3c9033ec78ea5a593f46f6a7786afc634b49ccbce28b384acb2c5da29046f4e6d7f71030140b536647010c0abb83ca45a62947a0b901a52557228e3b715eda64a01d869030f6d6c63b4262826405685efdb788e63917549bf02412db6ca45cbdfd7e3e17603ffd85e6509ea5a21920b2ec8b8b7a85eb09b65ce39b1fbe50d9abf4f4b8d9cc3038fa7c316a4751dd2535d64caeea7e96edb11f3e5e45d74ed57ba4395b1cb858903c7d3ff5c42dcf91588709ba832f7b9f1a1900fdeec0ce7f70854c86892b89b5103b3139e67920f6053b17a14e68464723634696623ea293212f87fe25f192374d50375f5c72fb77f73f91afa0d1313a7340987eca3eb1a2d26e406285bfab86f676f03bfef14508036e767bcf7c6b296081c418380946aa666c923d744d56819384745033deaa6444ab3592b58fa539d24674d05834758cdf36fcb5178b48d97db427c10031096ca0146202d4bc8a091aa9bdacb5cb43141bf63f053e5d2236960ba5f9d48035512d8049d7151f6b6f1eafc5e166fb5c464f65254c69640becb42a0df3fd54e03724bf6039d5d6816647f5953ae182a18bae938854deed31e044e0671d19a7f1f03bd1788587b54ccd926cd0bb3ce6c22545d207a0e94e2a547d89b68e2a22d30ea033753cb1baa83de903d99a9cc0a9b0f36ad9b25cfb846d327a733d14d4af52484038b22913c245bd9ec687960deb0c34c59134b2393610bbf2e436c6cb14850c00b033929e4bed64a4e1971dd423393f986c9fd4a4728173f5b7bba5744abaa5f6470037c441bc7f07c09294a6d6829c8a4ec37757adc07e713eed7855595b1aeb74851037d2d89b6e16f28db10b1a5828619c7155160f2a23e123f97cf4dda4e838962cd0314890e0b383fe8ccac0f0902b35cc8c27e5e7209059b6c3d996d62733cd05df903c09695c6b37cc8b19299f6a5f8cdf19df1f869409c7c1689800ea7bd962172bb0321bd38a7547dc7b85c4c7b9b9198d79aa416e17429b9421cfd9b1236520190310351964ffbc29115484e9dcf706f633d760167c46d2184bea342e4c8120ad4239805581e037b82889ed9880e43e8ddfb3a15a1121f05c2e8ed61a92f1f79f35b6dd00c0947d203405818100005581e036c0dd963ea764077c226cc36ec7b1511083a22bcdc19b379ce8eb0b5600404045933586080604052600436106101cd5760003560e01c80639efc7575116100f7578063d88e92a911610095578063ef1c243a11610064578063ef1c243a146105fe578063f4359ce5146102bb578063fa78668f14610613578063fc367c611461062b57600080fd5b8063d88e92a914610552578063e139a48d14610591578063e268b3a4146105b1578063e30c3978146105d157600080fd5b8063c8121ec2116100d1578063c8121ec21461047f578063cb6b4f3c1461049f578063cc471bb81461051f578063d45f5e211461053257600080fd5b80639efc757514610422578063a2c530da14610438578063b92e106a1461046c57600080fd5b80633ff032071161016f578063814b2cac1161013e578063814b2cac1461033457806389c071ea1461035d5780638da5cb5b146103b6578063947975d9146103e357600080fd5b80633ff03207146102bb5780634e71e0c8146102d257806370a08231146102e75780637c386c711461030757600080fd5b806330d981af116101ab57806330d981af1461021a5780633b16c126146102555780633ccfd60b146102835780633e39b6501461029857600080fd5b8063078dfbe7146101d25780630b9efa22146101f45780632104902814610207575b600080fd5b3480156101de57600080fd5b506101f26101ed366004612b50565b61064b565b005b6101f2610202366004612bde565b61083c565b6101f2610215366004612c31565b6108a4565b34801561022657600080fd5b5061022f610931565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561026157600080fd5b50610275610270366004612c5b565b61094e565b60405190815260200161024c565b34801561028f57600080fd5b5061022f6109df565b3480156102a457600080fd5b506102ad610b5b565b60405161024c929190612c9d565b3480156102c757600080fd5b5061022f62093a8081565b3480156102de57600080fd5b506101f2610c8b565b3480156102f357600080fd5b5061022f610302366004612d2e565b610da2565b34801561031357600080fd5b50610327610322366004612c31565b610e1e565b60405161024c9190612d49565b34801561034057600080fd5b50609c5461022f906fffffffffffffffffffffffffffffffff1681565b34801561036957600080fd5b506103917f00000000000000000000000007b1014c88f14c9e910092526db57a20052e989f81565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161024c565b3480156103c257600080fd5b506002546103919073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103ef57600080fd5b5061022f6103fe366004612db5565b609e602052600090815260409020546fffffffffffffffffffffffffffffffff1681565b34801561042e57600080fd5b5061027560345481565b34801561044457600080fd5b506103917f000000000000000000000000808507121b80c02388fad14726482e061b8da82781565b6101f261047a366004612c5b565b610e5c565b34801561048b57600080fd5b5061022f61049a366004612dd0565b610e7c565b3480156104ab57600080fd5b506104f66104ba366004612d2e565b6001602052600090815260409020546fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b604080516fffffffffffffffffffffffffffffffff93841681529290911660208301520161024c565b61022f61052d366004612e03565b61124c565b34801561053e57600080fd5b506101f261054d366004612e64565b61127d565b34801561055e57600080fd5b5061022f61056d366004612db5565b609d602052600090815260409020546fffffffffffffffffffffffffffffffff1681565b34801561059d57600080fd5b506102756105ac366004612c5b565b611303565b3480156105bd57600080fd5b506104f66105cc366004612d2e565b611411565b3480156105dd57600080fd5b506003546103919073ffffffffffffffffffffffffffffffffffffffff1681565b34801561060a57600080fd5b5061022f61142e565b34801561061f57600080fd5b5061022f6303bfc40081565b34801561063757600080fd5b50610275610646366004612d2e565b61147c565b60025473ffffffffffffffffffffffffffffffffffffffff1633146106d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b81156107f65773ffffffffffffffffffffffffffffffffffffffff83161515806106f85750805b61075e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f776e61626c653a207a65726f2061646472657373000000000000000000000060448201526064016106c8565b60025460405173ffffffffffffffffffffffffffffffffffffffff8086169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36002805473ffffffffffffffffffffffffffffffffffffffff85167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617909155600380549091169055505050565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff85161790555b505050565b73ffffffffffffffffffffffffffffffffffffffff8316610889576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108948383836114ce565b4715610837576108373347611720565b60025473ffffffffffffffffffffffffffffffffffffffff163314610925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106c8565b6108376035828461187a565b60008061093c61189d565b50905061094881611a76565b91505090565b6000805b828110156109d8576109ba84848381811061096f5761096f612e7d565b604080518082018252600080825260208281018290528351828152808201855294029590950135946109a694509290918101612f1a565b604051602081830303815290604052611a98565b6109c49083612f9a565b9150806109d081612fad565b915050610952565b5092915050565b6000336109eb81611b46565b610a21576040517f39ba104300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120546fffffffffffffffffffffffffffffffff169250829003610a94576040517f3d2aca8600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808216600090815260016020526040812055610afa907f000000000000000000000000808507121b80c02388fad14726482e061b8da82716826fffffffffffffffffffffffffffffffff8516611b9a565b6040516fffffffffffffffffffffffffffffffff8316815273ffffffffffffffffffffffffffffffffffffffff8216907f0e1bb0545c1ebb9fb680bde73514e572831de93b479c087ec1ef6c35c3a19fd69060200160405180910390a25090565b6060806000610b6a6035611c6e565b90508067ffffffffffffffff811115610b8557610b85612fe5565b604051908082528060200260200182016040528015610bae578160200160208202803683370190505b5092508067ffffffffffffffff811115610bca57610bca612fe5565b604051908082528060200260200182016040528015610bf3578160200160208202803683370190505b50915060005b81811015610c8557610c0c603582611c79565b858381518110610c1e57610c1e612e7d565b60200260200101858481518110610c3757610c37612e7d565b602002602001018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681525082815250505080610c7e90612fad565b9050610bf9565b50509091565b60035473ffffffffffffffffffffffffffffffffffffffff16338114610d0d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016106c8565b60025460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36002805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179055600380549091169055565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602090815260408083208151808301909252546fffffffffffffffffffffffffffffffff80821683527001000000000000000000000000000000009091041691810191909152610e1890610e1390611c97565b611a76565b92915050565b610e26612aac565b73ffffffffffffffffffffffffffffffffffffffff83166000908152609f60205260409020610e559083611cfb565b9392505050565b610e68600083836114ce565b4715610e7857610e783347611720565b5050565b600033610e9a6fffffffffffffffffffffffffffffffff8416611d87565b610ee4576040517ff7e2d9d20000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff841660048201526024016106c8565b6fffffffffffffffffffffffffffffffff83164210610f43576040517fd92800350000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff841660048201526024016106c8565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260409020546fffffffffffffffffffffffffffffffff70010000000000000000000000000000000090910481169084161015610fcc576040517f7e2c316400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fda6303bfc40042612f9a565b836fffffffffffffffffffffffffffffffff161115611025576040517f4e73403200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61103262093a8042612f9a565b836fffffffffffffffffffffffffffffffff16101561107d576040517f37bdabd400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000908152600160205260408120546110bf906fffffffffffffffffffffffffffffffff1686613014565b9050806fffffffffffffffffffffffffffffffff1660000361110d576040517f47f7829e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260408120546111639070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff168661303d565b90506fffffffffffffffffffffffffffffffff8616156111d1576111d173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000808507121b80c02388fad14726482e061b8da8271684306fffffffffffffffffffffffffffffffff8a16611d9d565b6111dc838783611e01565b604080516fffffffffffffffffffffffffffffffff80861682528816602082015291955073ffffffffffffffffffffffffffffffffffffffff8516917fb1a3371956c54dc1d83695b4a006b051c8313ee986e533b6b964e77c9066fc2c910160405180910390a250505092915050565b60006112588585610e7c565b905061126533848461083c565b4715611275576112753347611720565b949350505050565b60025473ffffffffffffffffffffffffffffffffffffffff1633146112fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106c8565b603455565b6000805b828110156109d8576113f384848381811061132457611324612e7d565b905060200201356000604051806040016040528060006fffffffffffffffffffffffffffffffff16815260200160006fffffffffffffffffffffffffffffffff168152506000604051806040016040528060006fffffffffffffffffffffffffffffffff16815260200160006fffffffffffffffffffffffffffffffff168152506040516020016113b6929190613066565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526109a6939291602001612f1a565b6113fd9083612f9a565b91508061140981612fad565b915050611307565b60008061141c610931565b61142584610da2565b91509150915091565b60408051808201909152600080546fffffffffffffffffffffffffffffffff80821684527001000000000000000000000000000000009091041660208301529061147790611a76565b905090565b73ffffffffffffffffffffffffffffffffffffffff81166000908152609f6020526040812054610e18565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b600061147742612086565b6000819003611509576040517ff1364a7400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061151361189d565b509050600073ffffffffffffffffffffffffffffffffffffffff8516156115a15773ffffffffffffffffffffffffffffffffffffffff851660008181526001602090815260409182902082519182019390935291546fffffffffffffffffffffffffffffffff811691830191909152608090811c6060830152016040516020818303038152906040526115b1565b6040805160008152602081019091525b905060005b83811015611670576115ea8585838181106115d3576115d3612e7d565b9050602002013560356120a090919063ffffffff16565b61163c5784848281811061160057611600612e7d565b905060200201356040517f264e42cf0000000000000000000000000000000000000000000000000000000081526004016106c891815260200190565b61166085858381811061165157611651612e7d565b905060200201354285856120ac565b61166981612fad565b90506115b6565b5073ffffffffffffffffffffffffffffffffffffffff8516156116de578473ffffffffffffffffffffffffffffffffffffffff167f82e92e1b0568d98f095fc0c76ccb0f2ac5b64534f69a2c706281e223b647768385856040516116d59291906130fa565b60405180910390a25b7f5f9e7cb1ed2eca254f75b6e350699887aa8597e3a2ec9e0aa2b3504c211facbd8285856040516117119392919061310e565b60405180910390a15050505050565b8047101561178a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016106c8565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146117e4576040519150601f19603f3d011682016040523d82523d6000602084013e6117e9565b606091505b5050905080610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016106c8565b6000611275848473ffffffffffffffffffffffffffffffffffffffff85166120d9565b604080518082019091526000808252602082015260408051808201909152600080546fffffffffffffffffffffffffffffffff808216845270010000000000000000000000000000000090910481166020840152609c5491929116826119016114c3565b9050806fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff1610611938575090939092509050565b806fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff161015611a055761197162093a8083613014565b6fffffffffffffffffffffffffffffffff8082166000908152609d60205260409020549193506119a491859116846120f6565b92506119b08383612162565b6fffffffffffffffffffffffffffffffff8381166000908152609e6020526040902080547fffffffffffffffffffffffffffffffff000000000000000000000000000000001692909116919091179055611938565b50815160208301516fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000009183169190910217600055609c80547fffffffffffffffffffffffffffffffff000000000000000000000000000000001691831691909117905590939092509050565b6000611a81826121c7565b15611a8e57506000919050565b610e188242612162565b600073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000007b1014c88f14c9e910092526db57a20052e989f166384fe1721611ae160358661220a565b85856034546040518563ffffffff1660e01b8152600401611b05949392919061314e565b602060405180830381865afa158015611b22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e559190613194565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604081205470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16421015610e18565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526108379084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612216565b6000610e1882612322565b6000808080611c88868661232d565b909450925050505b9250929050565b60408051808201909152600080825260208201528151611cbc906303bfc400906131dc565b6fffffffffffffffffffffffffffffffff166020808301829052830151611ce29161320b565b6fffffffffffffffffffffffffffffffff168152919050565b611d03612aac565b826000018281548110611d1857611d18612e7d565b6000918252602091829020604080518082018252600290930290910180546fffffffffffffffffffffffffffffffff9081168452825180840190935260019091015480821683527001000000000000000000000000000000009004168184015291810191909152905092915050565b6000611d9662093a808361323f565b1592915050565b60405173ffffffffffffffffffffffffffffffffffffffff80851660248301528316604482015260648101829052611dfb9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611bec565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602090815260408083208151808301909252546fffffffffffffffffffffffffffffffff8082168352700100000000000000000000000000000000909104169181019190915281611e6e61189d565b509050611e9182602001516fffffffffffffffffffffffffffffffff1642101590565b611f26576000611ea083611c97565b9050611eac8282612358565b602080830151858201516fffffffffffffffffffffffffffffffff9081166000908152609d9093526040832080549496509193919291611eee9185911661303d565b92506101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550505b60006040518060400160405280878560000151611f439190613014565b6fffffffffffffffffffffffffffffffff168152602001868560200151611f6a9190613014565b6fffffffffffffffffffffffffffffffff16905290506000611f8b82611c97565b9050611f9783826123bf565b602080830151848201516fffffffffffffffffffffffffffffffff9081166000908152609d9093526040832080549497509193919291611fd991859116613014565b82546101009290920a6fffffffffffffffffffffffffffffffff8181021990931691831602179091558451602080870151918316700100000000000000000000000000000000928416830217600090815573ffffffffffffffffffffffffffffffffffffffff8d168152600182526040808220885189850151908716961690940294909417909255609f905220612071915082612409565b61207a81611a76565b98975050505050505050565b600062093a8061209681846131dc565b610e18919061320b565b6000610e55838361258c565b611dfb848484846040516020016120c593929190613253565b604051602081830303815290604052612598565b600082815260028401602052604081208290556112758484612777565b604080518082019091526000808252602082015282846020015161211a919061303d565b6fffffffffffffffffffffffffffffffff16602082015261213b828461320b565b8451612147919061303d565b6fffffffffffffffffffffffffffffffff1681529392505050565b600082600001516fffffffffffffffffffffffffffffffff1682846020015161218b919061320b565b6fffffffffffffffffffffffffffffffff1611156121ab57506000610e18565b8183602001516121bb919061320b565b8351610e55919061303d565b600081600001516fffffffffffffffffffffffffffffffff164283602001516121f0919061320b565b6fffffffffffffffffffffffffffffffff16101592915050565b6000610e558383612783565b6000612278826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661280d9092919063ffffffff16565b80519091501561083757808060200190518101906122969190613294565b610837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016106c8565b6000610e188261281c565b6000808061233b8585612826565b600081815260029690960160205260409095205494959350505050565b60408051808201909152600080825260208201528151835161237a919061303d565b6fffffffffffffffffffffffffffffffff168152602080830151908401516123a2919061303d565b6fffffffffffffffffffffffffffffffff16602082015292915050565b6040805180820190915260008082526020820152815183516123e19190613014565b6fffffffffffffffffffffffffffffffff168152602080830151908401516123a29190613014565b81548015801590612470575061241d6114c3565b6fffffffffffffffffffffffffffffffff168361243b6001846132b1565b8154811061244b5761244b612e7d565b60009182526020909120600290910201546fffffffffffffffffffffffffffffffff16145b156124e55781836124826001846132b1565b8154811061249257612492612e7d565b6000918252602091829020835193909201516fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002931692909217600160029093029091019190910155505050565b8260000160405180604001604052806124fc6114c3565b6fffffffffffffffffffffffffffffffff90811682526020918201869052835460018181018655600095865294839020845160029092020180549183167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909216919091178155928201518051920151811670010000000000000000000000000000000002911617910155505050565b6000610e558383612832565b6125a36035836120a0565b6125af576125af6132c4565b60006125bc60358461220a565b6034546040517f84fe17210000000000000000000000000000000000000000000000000000000081529192509060009073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000007b1014c88f14c9e910092526db57a20052e989f16906384fe17219061263e90869089908990889060040161314e565b602060405180830381865afa15801561265b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061267f9190613194565b9050804710156126c4576040517fe098b7ca000000000000000000000000000000000000000000000000000000008152476004820152602481018290526044016106c8565b6040517fb2267a7b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000007b1014c88f14c9e910092526db57a20052e989f169063b2267a7b90839061273e9087908a908a90899060040161314e565b6000604051808303818588803b15801561275757600080fd5b505af115801561276b573d6000803e3d6000fd5b50505050505050505050565b6000610e55838361284a565b6000818152600283016020526040812054801515806127a757506127a7848461258c565b610e55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f456e756d657261626c654d61703a206e6f6e6578697374656e74206b6579000060448201526064016106c8565b60606112758484600085612899565b6000610e18825490565b6000610e558383612a2f565b60008181526001830160205260408120541515610e55565b600081815260018301602052604081205461289157508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610e18565b506000610e18565b60608247101561292b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016106c8565b73ffffffffffffffffffffffffffffffffffffffff85163b6129a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106c8565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516129d291906132f3565b60006040518083038185875af1925050503d8060008114612a0f576040519150601f19603f3d011682016040523d82523d6000602084013e612a14565b606091505b5091509150612a24828286612a59565b979650505050505050565b6000826000018281548110612a4657612a46612e7d565b9060005260206000200154905092915050565b60608315612a68575081610e55565b825115612a785782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c8919061330f565b604051806040016040528060006fffffffffffffffffffffffffffffffff168152602001612b11604051806040016040528060006fffffffffffffffffffffffffffffffff16815260200160006fffffffffffffffffffffffffffffffff1681525090565b905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114612b3a57600080fd5b919050565b8015158114612b4d57600080fd5b50565b600080600060608486031215612b6557600080fd5b612b6e84612b16565b92506020840135612b7e81612b3f565b91506040840135612b8e81612b3f565b809150509250925092565b60008083601f840112612bab57600080fd5b50813567ffffffffffffffff811115612bc357600080fd5b6020830191508360208260051b8501011115611c9057600080fd5b600080600060408486031215612bf357600080fd5b612bfc84612b16565b9250602084013567ffffffffffffffff811115612c1857600080fd5b612c2486828701612b99565b9497909650939450505050565b60008060408385031215612c4457600080fd5b612c4d83612b16565b946020939093013593505050565b60008060208385031215612c6e57600080fd5b823567ffffffffffffffff811115612c8557600080fd5b612c9185828601612b99565b90969095509350505050565b604080825283519082018190526000906020906060840190828701845b82811015612cd657815184529284019290840190600101612cba565b5050508381038285015284518082528583019183019060005b81811015612d2157835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101612cef565b5090979650505050505050565b600060208284031215612d4057600080fd5b610e5582612b16565b81516fffffffffffffffffffffffffffffffff16815260208083015160608301916109d89084018280516fffffffffffffffffffffffffffffffff908116835260209182015116910152565b80356fffffffffffffffffffffffffffffffff81168114612b3a57600080fd5b600060208284031215612dc757600080fd5b610e5582612d95565b60008060408385031215612de357600080fd5b612dec83612d95565b9150612dfa60208401612d95565b90509250929050565b60008060008060608587031215612e1957600080fd5b612e2285612d95565b9350612e3060208601612d95565b9250604085013567ffffffffffffffff811115612e4c57600080fd5b612e5887828801612b99565b95989497509550505050565b600060208284031215612e7657600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60005b83811015612ec7578181015183820152602001612eaf565b50506000910152565b60008151808452612ee8816020860160208601612eac565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60ff84168152612f4c602082018480516fffffffffffffffffffffffffffffffff908116835260209182015116910152565b608060608201526000612f626080830184612ed0565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610e1857610e18612f6b565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612fde57612fde612f6b565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6fffffffffffffffffffffffffffffffff8181168382160190808211156109d8576109d8612f6b565b6fffffffffffffffffffffffffffffffff8281168282160390808211156109d8576109d8612f6b565b73ffffffffffffffffffffffffffffffffffffffff8316815260608101610e55602083018480516fffffffffffffffffffffffffffffffff908116835260209182015116910152565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156130e157600080fd5b8260051b80836020870137939093016020019392505050565b6020815260006112756020830184866130af565b613137818580516fffffffffffffffffffffffffffffffff908116835260209182015116910152565b606060408201526000612f626060830184866130af565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201526080604082015260006131836080830185612ed0565b905082606083015295945050505050565b6000602082840312156131a657600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006fffffffffffffffffffffffffffffffff808416806131ff576131ff6131ad565b92169190910492915050565b6fffffffffffffffffffffffffffffffff81811683821602808216919082811461323757613237612f6b565b505092915050565b60008261324e5761324e6131ad565b500690565b6fffffffffffffffffffffffffffffffff84168152612f4c602082018480516fffffffffffffffffffffffffffffffff908116835260209182015116910152565b6000602082840312156132a657600080fd5b8151610e5581612b3f565b81810381811115610e1857610e18612f6b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60008251613305818460208701612eac565b9190910192915050565b602081526000610e556020830184612ed056fea264697066735822122050044a619acec0e93cdb1d1dcf36baf2a54f24005e9ee76339048124701e2b4564736f6c6343000811003303dbb1d3e42c2543f5f140cdde3a262d653b6fffbc749e95d1c8fd2a0db6275c31037926b52ebdf9a483212796a28b4dd75d3202fd59bb8e07d644d36deb5acbb6f103e9ca806320af9653e83d44511265ef22a21091f28e5506e4e183499a2689e836034bbf176dbf043ad85be08faed3ce582daa2e56b3f03992ebbebacccfa16f1c1b032ea327e85877eb89ae79108a0d2ae398ed25c167eaaca71164dd16be7b356d52033abf5102249b6440b87a3b395ea79eac0ce946cc9d8f1e0f078790e4eb150c27036616c620ad51204c6217bc151d713fab7e878c4a012065b8743cf1c2d50d7b62034f37172ff87a511f1524987db8f473929b37841bdb4597c3be29cf92f72e8cd003be398f25ecc1b2ba71ccf8fbd0e79cc30c0d4fe5c71fc60138ae89095e5de18f03475520a347611a122d3c86d5f26dbace82f8370a8c51424771ce3821d7afee64030759c6774a02e5bce9b905195da8c609c6b62a79e29aaf5e46f3037c736084e60300ec086dab47d1d9a168cd663e1c6a2da2afae381b73cd3f56c1ede3ce263ba30367414830ac373f54b3b4d9a075fadae63275da3d79fed9549adfae65627a5061032ca129891ae99367b5e058b868528d0db9984522e47c7a11c29f4db03e1f351f03603d25cf1c3e83e118a670bce538336035981381d22d05b705cc6a487aef1971031bfdb11f08aacace111ead1873275591d80fe72248e575d27f2018cb36a661cd0315df1aff658ce7a9377ce884d2121627623f96fee5465f6fd085fae05855f964032074127678d270917b6a8ee706024b36ddfe3cca9e6a840babf12958a91f8d5b03a9700206f5bdee844323f50597df51e9d13db3e1d9ece4db2b9808eb8543fa94033a48e31f2e443ce06c6f56eb27dd210825a3fef0f664b19d62094329f9b5b90a033d7d565615f7c79aa68f58541b7283acae343fece90b5b06c0e603a3c7dbad48036478f09fa426945a8a515099759876e515c6934de4f62ab1f4efd137091ccdfa0397fbb2f07d91d1442d5ff144a75599576f78d024ea74eb90a065266180ea0c2a03f3b78861493570453b81fe164e1275b4059f5cefeda5ec74bd63ef8a5a83c2ec03da543df21065d90ad103d7120a41b43f884f026733df6544ab6229cab190f80103f8581e1fd45d7fdb50e31400709c83b00e03931d118f8c0f61577ff40721aa7503f9c8c1b0c7be48b9bcc7ffcffb284af53b171a8902b91c4d3d83e8b8e107e81900582003d54d76fcf94d734e05debc7b1be002812b1ebf957165f57b3b34894787a2f04101039ff375f5298b136291f484cecb3d08374d50fe2126868be96d778dc92f4f7cdb03083513756ffeafa1928ff3905a632bacf674d8c16bb9df2b3e7f1636ddedac0c0385e1aa6001bc01c559e8e9ae82bf91e3e467ec412c645497f503fd81f4e848bd005820035cb965b65b9a5274ddad20add0bceedfc9008f69a384d102e7025e3e7d30404465c41980034cbf88922f4e899890e23e54c617eefc97c56e7ef63f2899614d06c3553b00d9031db8d5803d5ca2d1489efbe4532b8b1a09bb7b7d2f0bc595168a4a6710060b2500581f027047768c211fc45e1405cad6dbca9a118e27410daf7a0d191a9f86aa4f555469cdb180000000000000001881f0eb3352f2c000037bad5239ea56261f28986ff5e7e3aa5efbf831439e3c9d38577674e8e0fdce3100581f02a56386bba5bb1797efa45bccd95b07118ba8298c54547d4f60fbed69757d4465badf00021921080219fffb03a8816c980ad705e0f7996460cdb4a9ca8f0aaf0b2d3b4a5ffab05803814f77d703e74ae2c47e8df61fff076e13263f75f5beff979e9fab14e9e5b4a89b6e958a3e03e9150f43963f947beb82be5966af761079801568367226ae665a25cbe1eab2f903753cd5fee297c721a48101777ca26f3a07b78591904ef9fc1d6f4caea26ae0bf039f758694984ca5abeda4e0f7a6d5ca45d580045024fcddcc739c504937c395cd03dde3a2256fdbe8f860c3516e7a7967df2a318337b86f595524212a2eabbc380f0219ffff03597c777e3be02a6cf8f0b76f0444c28c0920c03c66e4282d83a5e2d62b1dd82e03907dd8a9ccbfadd0459086f21082bbd5159c29f519683945e02ffc6bddc91a6603b83bd7bccaae9d2f868bcdf6694629b0359663a4145abcec73f6c19ea360906103c804ad86aa6a9da4c74927b6009dd4b1a97935069e80ace5ed76e0f2349c82660219ffff05581e0342453f01cf751aa0340c4d8b269eeed3a2bb5b086e8c431bbe05fa40c007011933580378b2bf7acb8c1a717eed49e2a1033e48a7e3d97f0bf3bf4cda895ea2c191730105581e032044242ab6e3e3e501abe0c34e10ec589ad7a37146aa6d8c604b60f4b0040105581e03b041417b7dae9ad6370bfea2fc46831dbdcc638c4ce804d17ef16215c00c01410105581e03a18c5ce7d21ab12e4321b1e0626b17384f5ed5654db18e6aa501445ba00c014742c6f3b574427805581e031fb0f5d5b6db0ad84627d4f7e34cb63710c6d50f9380de21d8769611d0040305581e037422e7236ac1f65bef5456a34aa565ea078bf93340abbd1afdcbfa86400c01470f1699396e580002193dc503b12b5a07d333d77714d9b080bdfcd16ab541e2c004bca728d2eb8d4d920d2c7f03232ae4a852c0ef72ec76fa4bd9407a762e6d3244c15e67e368fc63ba5bb992b2033cec5f424301eb9ab58b56ef5eaf9186e8d2b6d12e2fce006b092d08d23e3f800219ffff03dd1e156bd538ad35c11a91d27ed2ec1630ced0aaa08a85bbb2d6554dc5359b7003fd88bc734cfe4f54167f4e80f88b1f0800bb4b2705b45210b2a3cb190dbff6e603997ab524213e23f17f9ef07288b948c4c763b2ea3e6ebab08f00c63542fbb43a0377be7f30014bdf6926e37a24f0e00ff86b21603775e95b03164544d16875afc003e83381c99072e056d286a920bfffcb16fcad648caef70ce8f9268c85fed9f3d9035e8f2d9757133718126d24ca92afab268a8a023cdb84842372fc5a8b0d86a06e03186981c1d5928b24cb78c397b4a1cca2c7febc6f16899b0e51b1caf38eacac65031b222ed8bde46f1fec705f2917bc8fe6155bdb453ac534fb49b279f2a0a1d8d50393cc1df40174708f59440e22d87837306aaf41d4499d228f480fb7b981a8a78b03137ae5a93e5943497c2e0135309db0c4063ad76633dfdd4d3b208a4f4aacdc8603852931b30b2f2d33f89edadec23507e390bd1dba7e3f5160650d29c5c656d0b303fb3a98751903a53888fa46bb90a4c4b7f71654eadda066d653cc486ce3c4088603584d0e86d648959816c5b886fada521575b1ca1383da88ee4d182e66b81b53970219ffff03f8e56fae250078a591cb77bb8e7cb8b6a81e86b7735fbb1d7f45dddf9bfff4ec0367b2b273d2f5774f01b08d7b8626b8d7443b78c88b3cc875a240bee418ae36ef03e6da664ae8c249a3c488ffbf93e881ec1b0106dc6b36b767a2f9011b3c54d11603d880fe42cd712356049c68464fb6d4c7b0d24c4562efb988066f70be1cc1e6c103d916a472d7b0a051f4ad0c475212715f5ca179bbdad718089f199f50ce76e5160219ffff039d78d2b2d47d0d404b5c262212adfe09ee0b097818d9a500a346a4fe23a76136032b6e037170bf12c1b8a0917b938ce46e0b858683b8956e4414d0bc418eb98e180358d35b9fdc25517fd3f9e4662d4317e9ba82666825a0e4ff9ea635772248b1b103184be059d244e7fd8edce07e9ff5c6ad9de9652ee143f0499dfac7f03ced6f14030b00a620eb329e12265ef9a68c1b5f4cda9b9c91bec5d639a0ca336b4a8f2db903e5b8a1bebf4cb116f181cede7fbd68a5032e4a362fe4e654cb425dee303e472903da6945c7c135e1eed5d97c84c02fe1c5e00f9f0452d9854ee922210733f563fb034ccfde1cf47a929583118c2edb373f246dd99c154674984bf161aaf4622ed55c0387e80d6d99aa50ae2beb1b6eb194091d43a83b8c49f5716dc8a12fb8b037af1f0219ffff03d4d05a3c90ad075f619530cf2c68f785b147e8dcd0f6506489e23c9b801fff1503c45d925222d3c1b647df7fcb1dbf7c5624cc2cb22ffbbffb7122fb823576efbf03fb230c2fb6d49e0ff53463c971f3f242f42cda74599e0d8d2fa954ad01f74dbf03f25d24df5f936bca3b4073a2cf891d2c8602edfdd13108fd112e336ab4eb8cf4030a5dc1d3197d0c6aded7ee43ddbb1e2e9a6106b4dd7202b9e50da0fae99b3b0103859a4f5c06bfa1203f2ced5fd872f8f9ccd7b571ca7f55f5829415942237861503df9cb8ed2704dc48e0142b68808f74aa2ef9098fce73a11cea6611cef086e1ef030d757cb15f2aa16ced56c543ede4f8369f82a7f6555011314b3e5facdaf0319e03a569cb611f9aa80ecf4e602e096c1506c89253967325b006717e9cabeb8e5f8e0306315865d1509719821308df0b72f2feabf541ad2d0a4322ac7b3873784bec7203fa437805d57facfa76bf4cb33e1784013734d452d7f0574538992441563b32b503138918a85a2478fa61ba0a229bd755a15f80742878d4b95cc9d18ea17e031fea030d2d1a7d2a0d678c4f573865197032532772de601efdc4be99960868d736abe10300a89b6bc996f110929b8f7634daad77e58d2a0518a5abca36519047a26ba6b103148632daa4d84dc4a01269841b83578f864c74597d417d1b930bc3364028ce330348599413acb5e9879406d657731d89e4255b9885fe3650bc03f83c9913929445038b4206e28bdaae19f596bd3e8d9cf465d2ac0e7ffb8eb0555a600b1aed3c80710384f99b3d80beb67959b60d60ffc635ffee4b322c1eb57b519032ee46549875c6033e1a3a6888bba34fd74c4f96e7d784e08a3927c99274767c8b45383243d181e7035a92bb6dcee1c9c9bd2ee3548044251374832475ed9d9e701e7c36cc21f00e4803a9c2664e6e250599e437fea69cc9569dc34e789f5f1b83f8addc5a8580575d4e03dacacfd3dece2d8f09187158ed3ab28e4521918316962201543b53909d25d89f03c21469cd6bbb6d51d3b7ed8ff4a9050c7df6f43be97c18c19ae59b39c75a6852037d337e717ecd4ce5f45c4ea8994e476ce38cf937a4f2924dc40cfa8fe5870fe905581e038e5a09e900731c937b9f9cf98dd46edd55614471018486770032d540d00c0447275e593373250003f8559abbbe0eba3bfeca91b590098c70a24bf7c768b130fde193fb5bcc98b88205581e035a76fba5f3ab8fe576d44c03683d3a2189211bafe0e5d16cb0630b5e00084780b6527a8c355805581e035653eb197c3fd399f1a5cd68d1de6f19edca5b60433ac2b56c7722f0700c054730ef6fc5c179d805581e0309a9efb64b9fc582cb3aa2de516620aca954f1cf2b57fa3c62a951f0e00c014750434de6c4000003ccb10237fbb545478774d6e858eb7a1327708de6c205c7195d3a5dacd596120903647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0309649ef5d0e27de54607a47f0520208f93df8363061237d10e681ecf3ddd9efe05581e03469667fcae85f0588263efb961720305bd89608714ea1d1d740c8f27e007011bffffffffffffffff05581d02d5cd67117eb060eb8283e6f3aaf1a31a9234b6478f940d7ca4cbc360040105581d0299652947601cf1972a660924be5f208f708f0e0e2bc9ac6a34afbe120c014702ce80355f63e80459088a60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820a4a547cfc7202c5acaaae74d428e988bc62ad5024eb0165532d3a8f91db4ed24002903fb5a8117b838d14acb3571b455eab0d38dfa53994e5c7ab7266ad3bfc51982a8032f7fa533d1c8a8e961593d222a472d1502eff03fab2e56ad06bce8888682574803c1015af10d467b7379f4904c05bde93e0a94386516df49b2c44cc985770305290311df5e52b8c4fadac596d9d7d9bc01e7fcb732f48c8551ec2cf16618700da3d10394b535fa0277b57c81f0a4e6fd72870127549996e37699577357f01e65a42d6503a7e79b974231304643f9bfc58b02a112c0a9d9e934a8e2ea7890973ce4b7b08e03b8db7ef612259a9438591e23a80860e42276536a951ae9dfdbd75dbc98bed6be0363f914b481d9e9dbb6a243969e3d5ab61b9557fa47fc720aecfe6e548345f91c039408eec351e537e12b851ad666e0199fa541d2998d54852ea908da12fc592f4703f2f8d859edc35316423651e3d54d1c8dcb3db1978bf7fc7fcc4baa72fe86fd3f034dd5a8860e4691485521da96667a22a879ff8cd1b497aeaeaab6180b841f10c50327f3562f20527f2b5906edbff9d21f14e937d6bcfdc6d0dc1b313898f6266b5803ef700ca38652f1a2eaa731c8295f91e09396c02fb312e4896cbbeca674222658038047bfa4637a04ccf49f9ee231a444d64a23d74851eae8857d1971239a1da78c032cd1e37eb14c9546f6ee95dd41aeefd93106ad8dac9cca0f2c7cec0b9357203b03b9d5023f34d9dc22d63dcdd803686f31b7dd48c9a29c40ebda90bef54165b719039bd3fbb4096583e83b4588be22c7ca9d9cb14a50535f9b8cf4f1c65e9392df03031af17661592ac61f0cf54c436db6d1fe6975e74e4c176f3ebb316dd9f96f8c640379d7498d30189c6c829bf40c5e3f210bd43c74b4bb1786d960654f2869c212480352e94bec3eb4e92c3167e3c788dcfb9e7133433f17606484a2c998dea51b96aa03b67cfc454fec36239d83f57aff07714ed2481a6aac795baef3db35104d3b3fa403a577682483bae62f4fe9906d8d334f3d9b2cdd0afa5541902990e0bd5f8a82a80307645d913b42da687ce915b99b4340311c07ad8a83ee98f9fc7e8e2f6f618fac032f5b8ee1dde5b1de6927e3dbac74f989c2e0938d58ef8e729208d2c2e22a21ea03a364ed66f13a3f8d346aaa124866e921ac73be7ee463c7cbbfbad2b85ab6a98d0350a1cbd35ccd7cb8cd267051d0bdfbc5c1a82c564847838275307168b2b98dac03fd3a2c2ac46d6d6572f7b8110a4576ea4e29f6ee6ce859eacdaa1759ff85fe1d0326efb0975f574bd9ae5227a5bb4de5821b0b0b52420cf2199a4aa73ff7ed307603d85513e80d19c0a739f0097d419b920a846629aecc081d96be04c9dbf83439a1032d87435d8a69c5e12dccbb7ee5ca68de9cb05f76e455e039368d1463133201ab03fba2f627f643f62499b2a11505986841ee85f0d2142036b65d8f5ab6be4e1a6803299753fdd35358c6d2f319b1208f0a81b564a8c2679cf2b0b369afe3faf997c1035bbcfc4fba0f9324577b55dbdcc402bd4e45def541b4f489144ba8632b41dda50323a694ed2cf402dc9175a62cac8598dacbaf75dd275a65a7acd230e52837584703c0170493779ec092c574e976da762b94d26b76837df96ff2b72e9c120ab7bec103beeda31608a04610ce04832a7259fc1304c4683b820cd441b8ebfdc4f4081555038cae0d86fcfe3184d9f868080553d0b53e398426acc98bb8dc2908cfac3c4dec03f47b5da58a03fcbe648e2982848791323d744768ee73d7da4c57b5ea188d8c7e03841e883246ab4980e65341503ecc125a7446b1f690003578fe339fc7174757d100581e02a818348987efc21198638a43af425294e0cebbabe1f3c7676a812e34a654807a96288a1a408dbc13de2b1d087d10356395d200581e02abbad38fa3fc14dba397b83ac7e8a7bf4220ddd174389a427fd84435415820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc46535ff00581e0248b7e2ccdd56cee52699e9315c16e7f3f0dc33119ababa60cdfb8409284417d7840000581e02ec2e256dd7a246351e4b2aeeb0835725f8a68497b181b9542f1d7eaaad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6377579e0219246003474a7793521241abe86002c251264040d1829c2dbbf0f3d3fabeebe519d0c310039c9aaa33d7a10b78c48ea7a91247af19de6b08be5a050478e67c6ed4b06ad52103398def5974c743e0f2687072842f3f0b88654a88fee9d446b459031efe6d9a95035cec8bc04e48d6815da71d69d016d9903d542ee96975155d8cc68c9eb1999ffc03b365e1710127f7adf4b5462712752a6bdb245c5c5c85e81134d95a91f26ca32d036965770c9ae2ba0f13e32cbceb3189c23ba602d6de52a16c8aa3094e8a900ad40306f94e88e5ffba7f14eb583eba0f4175fb26297cd9dbbb1f81b93025e5bce3470219ffff03f37e828ef392d8521b06569caa217c2c34495ee4f98fe4edddfb36f839763e9e0381ad0ee59cd7439d788d70692e68b8fd68fc27f2261240ae0fab001b8bf9bfa1033db665b6343c3a8119e60fbad4919e07517acd01692550e0ca4408add2e5f3b20308d8bfa2e5a1af212a7506b32aebcb7d1d2338c41a1c5647dd4032ab81ef868803b00ddd7f1bdbbd8c2863983d087c1e31e6b14eff02247b52ac9b1e9bdabf3fab03bb7049acde7db568cb0ace8b6cd498eccd37cd0421bff1ef6e5c0ce8d8c9e2e603716d726da1ff96196f3c5c77741227aacab17c425fd716d6e0842095511a8b4d0219ffff0219ffff03fd4c4d9553aaf47dcc1ea72e243f8f4e94c5b6958195937acb61559d33f615410351b429ca0a1ef850c66815aac886df32e3d1cbad537f252dde1df87ee4994b06032b2ea65eaa1a922765ccf4177abcde3ce88e63aa2e542d0f813a05c9ad14a72a03df1956df46589566021dcbff84ad304099c04eb13b8bc524415dc706001d157d0381c03b9f498c1044da57e192ee401eea619669bc34e9520832ecd809feeb260a03078131d06e54e3fde610af0a052608a52271aa14e3cb821cc177a4bbc7e7626c030cb2ceeba804852382664aab9aa188524e0e00ee9756839754974c4f0c51975f033fba11343140dc0b6200b05ac915bd57d0c7c9c625c9993266f5de6ce65011b4030c3694f0980fd48a07d5c7c7e5c7287814dde4d5ac923c1e6cd68415dee8e6d103319976a4eb4b4ba3e1749c955d95f8095fe7c5ec403e0dc8f09ac254ff3b3d740376ae44c42ee994de8b908a84699c5fa3df53cf1af15ea3eecadfb0543563fd4d03936584710ff28f4f1191128d14bf8ea5b76987b564b3488d598c8a798ff0d83803fb62260a5a33ae46b89c4d747bd620d4e52dd2a1667e4b969bd882946296e19000581e02a7671a721e28401782d244a95c75433ba1fa081608d76bdaeee4f0b8085820fffffffffffffffffffffffffffffffffffffffffffffffffffffffdabf41bff00581e026827d058211adea76e20d59df9af3ea832d145cd6357022126cdaaa9d94607b5c7752d2e00581e023de37ff42785506cf17b86303f13e372be07dea098eeb04ae543b3b03a4410dbee2200581e0248229dcf91713fd4714d6ff48bb21e956f70fd3a0eb998818dbb323bc85820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff9a8e331021908a20312b6d22bddb3294928c3cb2e0373ed71915278198922ddba67cef437420a222103f3a00c778d1a53b867c84fe99d14c8e25d71c6e9b9c8d2cb32370504e6152a820376426dcfd138709eb386a9a0fd54c5f7a27b61480606578e62db2e78951815da03dc1c5d29257357a000e6f920a18dc70a394cb4f1fd714cde3e05ca4474f847b1038cf17e54a0f97fbdb8b2038f4da4d282ac3c797e199ae91b81f2b12266e990110365a5946654f8f113afe09081192f5f8f4dca99376145e677b82f2e789aa1131e033a342ba8491996457e7bf20eb4ef86e055a3a47b704373d479e812c4f4ba24f503f26099af64373f6e4205bdb3bdb0adf561ba9237990a0f92ede07167f3fe21490346f245d7d5b0f0b00d72b402dd72dc61b740b2ab3ec524a3192edf7aae71c59e03dc0e814313148a1f406ef2dbf3e7f66978338f979814d86cc07c8c849964b10e032e3731f245116de1455562cba11ebd2a71d3f4c20d1aaabfc26ba73d6f6ba09e0319ba9d4133608274c751f651e23417791d2998c41e28c3dfc4e378e84f3b2cd80219ffff03d459c986751b79634d6662254fc0c7f2920a7518d185b90b7380a259ce54944103b33ed371abdf1e7709a5f6f36f850cc0569a133df69c8b7317ae03fb7179a9bb0317a6a3f2b9574b1a46b2f4d1382de3f3b38d554cd0716f55251d6bdcca6bbf5e03421c206fb684a3ceb4e3346a83358757137f354123221dadf71c3c51757ad5f80301f271c003b9e025405bafd7f1b105a4d794e071ae342c4023f532827ce845ec03de2f5ba6099fb32e4db4e61b9b4f23d12f18f8e68d5fecc5ec54b40698a76785036b128193a696d538483c0f53481cf2c1c8855f1d1b709c4bd22fa14427ca08e90219ffff03099f392192152d6338aac85936c308d6054f9155630e2d42b45feeab70bf9bf603fbe3f7010829b471ddd87b1fc503d2b311ef1085daa40b7cb2d36e8df7a8965403e956c34113f0a8bc220ed51fc4a36f1eff577ca52f739693c8e6e76018d9d57003f8721f1e40572b832d3c84f9172a6d3f8215555ac29d484f2e404c482f64aad30323458b7d3b4f5f87c11f8723ce4450a9e9e9b49d4f90c533ed51b931c150587e03f4175e93120113ca2ea9b8362129884ce81002a972820edc99cd9e25d4ba4c600391de8f0b5e5033852fc36b8bd8ac3ee508b299de7f61151e1ce4b7838188876103f73b5520ac51a27fb8142a2b9cc92d51f3adf643a7ce044e14e18da10f03c74c035a47e3839c57b78793b6f43660b79ab8959c2c6f21e47bd5b388dfe52650b09d039c82b96f35faf87908965bb03bd9b2f95d2082cbff553e777c5f8e675c7882dd0346378d8b1a9c6da8c84ce588c9724aaac3ab9aa100f01ef3ddf30f69658c8b0c034d1345526c7b24c3d56c6bd37b5fff1710378d4ac7efcc9107432b8b02330d0f03f7eaf7036c36903ee4f54418b2b0869ef6320752ea8bec88a5c6e09af8e695d4033a32eeef7c475f19c720382b4c04f62f0ae9a6465345bb76a760675feeb33c2c03f99668996bfb60b6b63d221d1dc4548651edf2876c10d5fb9a12f7519db627e40219ffff03e35b96f172d9d670eee151e7e40ea9b952988344789de51bb90683390116c8f80354d62b203fe2a052775cc442c7550d7775bae82105520d3c3ff5cadd3613c5c003b3f17f336adadcdb8b80ecb86b02c2db20743906d7826b76e2de737c346db4e403e9904b29658708ea51d155ae213f04fc7cce06689ed869a75f21af6f9e24607e030160b7b825560e0acce67805ad7b489416bf26d707572c3ed3c1c739085725290384761e7f05ecf9246b5a0cf8db1f1fac8b544a9fc17ae52bffd7a5d1a794e03e030b721e7ec20163e1e37982501c34d6f24f695e7b9df6177cf9103084c211639003d9828b6db2506935a6c0b50ce2fa023290b59abe79642c681ec1bb4bb73a3fc10334390328dbf121157c32ddc35aab5b294d0d0c8483623ce6cf6660d2db59f8b603d73674ae29448b32481a9ac628a1e15cc180f80b3c70c7c08a15dd05cb5117a503930311a15c721096700ca7666cdde64f71de0b30b49e7231c94ce4f7c2d583ac03304bf7561bef0e446652517f90bde70a70b526119c8a76fab3a18e8149c69fb903b8d25461a00ffbbd034c22a5b7fd26a3072f8ee3002342b67d7a6d5748e7e18c0378c79479f02b677a71959029f6e6c6adb63194bac2e05b7c240f390274789569033b12244891a706593b77074a52f53fc8808e12220f4f4189028b24ab7c19e006037a7c37c334e95ec6ccc08d99a0d1b16e8db6772becbf3097e2b0566c4459c77e03ddf40a83698072c6bb6bb8f364a6c761e6a979c33903178f73340886289aa27403e1b6230a82a0c8e29643c5a17735388bf7a13a26347f3164916ad1ca9203fce903f1f567c6ca4205505940c4781e3976831066d565fe87ed1fc9db070fd9f98bcb00581e024c7e0ef0e5392395ce7452d4e5eb01900919f7ea753570abc24763692d463d5ca33081f703ce57e5edd483c9ec130333555cd60c9d3082ac31dc303830ada6b26902dc100b037abfed7573ad322f5d2171c142351733c704e3e57d3d2dd63cf21a8be9416a2300581e02260608623466482f88cd4120ffe69d5e8ae6875361c2028d7c5b6967b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e020d5ba211db4292cd0fafab9264dbdbd95376e3f2f2edb44a004868a096438b92780219d0880375ae430a367cca6c62ee823d8ee6368f46a0827632910a5a20b3c092cc16681b036f9c564c5aabf460e5d73c3d745d266a8cc2a7174704fbc56c8d720107ac93e1036808eb62795c554eefd360a80b4b6453dd32fdbc7b396651e69b650c3106a57e0356b1507f4f284e0a38b2236ed687625684110b7ad2c11bb354da6c1e7d778f1b03e757864198898ba272c20cf57e4a4cbcc895e385ee7bb2ba021f0546abf131ff03f43459b2af725d03a741fc1a8284a74a2d40aecd366ef8215525b61651b0a84103495344efdc25cf9d851791218273f116fc0ab61656de7a5244797aa9ccf1f0e2033ca334630a87bba2b41bb9eb9c4f4d2a28566c82ce3c18d1e7b3bf9adf9c22600399362d71dbbed84b8201a649df869ff9846deb7e07f0550d90f40f64c1d636ca032b4b20cc2e462ab9e0d3bafb633f6818e7ba308bacf39772b80767c13b3561330306453a692740961918f0b57fbf6c780981b2867d8d15327a1a97fcfb8be49a37033c3da4ade83fde310d3646f4a8e53dc27423aa7b1d622597956531e092ec7ad20346dfce934080fde0c280820d3c993669c7205c34c115e35b55d21739ba97f88703b95b767f43fa266bb212c3d5410ea4eadabc27f92b18c4ef12c014f3320182b403495e7339e637de0761bbd1da063acfd7c6c50171686f7e47cbde2f2f4c28da830219ffff0329ac7a52e7d31e5aa14019271d40b16fbbc490a3a1f23a29a3c1e8249b55ed6303f768ca52fd5d698e633ef27d44ce6353b8393448d3eb715a4dcf34c2ca92b1a7039be95f7b255980c70f57e86c8418d527cf5f834f2210ae9de2b998603b99d8fe0385ab65b9e71fa3af5017c930921b74f90adefad7cafd0f7ed77584f696512fa003d0589619a8d13698e56ad88475c08e8b6507a0d5fb99a5594c968cd5dc3ab23e03ba8d57cbcc09c866f99e9b99ccd33060dbe8d6bd2d63649b9e11d837ccc5e9740372828c033962b2589fae9a6e16afe649afc9468f4b851c7010420dc447439fd003caf480e084a00851bf9bb7869d1265ff8a17c804f10ce33e754ba69b68d5432603279771564790be1c57d26702ddb049666fec236139aa4f981cf8182d9542eab503fd9c546bb29d89c1881e376e9fcffa7c6acec509d095f5f44ce7be31ab732fb60219ffff039fb2d049d7defdcb0e50d2c33a2862853b89c2291f4a8b1476057fbeb274c95c0219ffff032a0f00ba21586aeb30548dcfc162c054ef3d2ec957ebd2e4db29fe2882ee7a54036d91c625e1f56d1217d759eed4e1146e5358211d647eac9c25fbe145e3173b4b033ea0aaf4d619b1387b6c92beb3a65cc505c45897476561c0c17a70a031ddac920219ffff03a7ced72545696098fb44fcde3b325eef06b75706a8aed88299f2a4fc7d4b677e03517f5eca9c9b0bbebcf9c88bd88b7e22b4537e1dca20177226a17326f6b703a703fe1db8a37036dc4f1d8745b852cc8cef1e262942cc2f27aa81df0cc952a1944c03cbbee89f8a9d83b9fae81a6ea8ed2d499fdd5dc69ba75da52bb5ef5fc23360bb03ce4c57f74e13a9c2dfa6b0d770333e718bb8bd1c7a900850991cbf1b95b3e499036644e6a2d3cc240e2f4bfe653b67019b8a5d676c401b7031ae9592bda9b5f2d303f3b3d47453c5d11c867718021ba88581621cefd46f1434fa724602ed45c2dd6203117572e3a79e55648b220370718b872e58e5156f95046dd691da39c78b84e2530319a985f22447e13b176d31a7aa605070ba96b56047335932033fdcefd003d85003a4b66bcc633d321d5128b3403cdab3520191eb5b80e33ba5b416c4cf1f7688d50327c9b1d83262be0a9f689f90cee11c8843af9b872f1309620bba8418ae6d4cdf03517a5d6a36c87d88f1266fdd6ed59a59b0c417dea8e118fac43fa8ae9b54042e032f751ce5f333b7c68bed4f5730af47d48dfce20591c08b8a8bbc48ae40664f7f038afea7c81192e8116df6144756aad111beafce2efee6723177ffb9c876028ea4031fdd06399aaad68a4d3f55e122e3d8bef6e07d38e1a6aeb51e19496e2c43b7dc03ef5e6a0d41f91b314381261caaff83c8ad5cd878feded3e033a64ad0cb521cd003c6e2b6ca5d39b777bbaa1ea18d71792f5d5e1ec11f8920479ff5563db897b179035653cf89722be3cf4ef1bdd4a3074e34271bb987df7d8c051036a27443f115f0035fe4c80741b921c82cfc8e71ac9c9dbe7605316599552678abe8e0c366ff5a5b03e29c5822196961ab343953195ae67956af3f5e6cfef3526b3fb31647aea58a39037988610090cac2d317141a46d9a1d8ec0a7b38c4c454abb82a27caec0d5eef7703a8e52bb1c98f11b10970a1a87c7d6064c5cdbd4f889726232bd59ab25ef45bb8032793b21a0a2940a5cee30514dce88279b615eac57443310409c180da72fd39f5039f814aff8e54b55f7a6ae910e3baf62766d675054d2089b093ee038999adeba9030acc47e185f6a5ec416bdb68162222c82662063c91f7fbd7703bdc699cc6f12700581e02cffacd40ad8126c3fee32d59b3921e10aacafca07cd96a6d58649207005820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffd04d71300581e02178ae26869326c107018130cd3203f5aea76b0a1a37e9183cb237d43b6451efce4cf7000581e0247a4b7eb169d50e389f9777f15b09f77f1c89c5935c10253343528982e4501edb207a300581e02d106655ac647f8aa71fddcacae92b2c0f27ca81942c2a22502ea1a4bdd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0c9d62100581e028ed6d2354350aefebbb189d0cd6a7cf43273e42595a7070a92d391a5fd432dc6c00350f579c5290589a681d761c7e8d09de4e9350cffefee8d2f5c04c40056ab391802191c4a03dd3f30f93d05231b00d2019e7a8d9df3f133c39bc568dc439711eb5bb8f822e303799c917f068fe0e3aa7e346819bc9b4ba3f84eeca28fcc451647a9c4ab92482a03b8fb810f52df54c8bf7a21d3c4b2ea54689a305e563ac42c14f3a11e0e2808ad03c5d3e92e0e300f389fcf92c352d672f0bedaa8a9fbb2d5e8ac44df0a214e8c6903d06ede7a4c2687ef48a8b3bf4ca5b25db4983909b285327cad3ef52c5cd57de403d571aae8e6e94b0ff747a6b2a16c8c48966fede0ee6a4b41e4c8e593795b906a0332cf57625e2334d78bb21aa3c6c7a644ac9dc21aa495fddd284e618f6008181003e796463025631ab60dac4c661c95b1e32596d148f93b43adc0ae3cc4cef0794603b16f0371ffa45d0e40eefaad8350df8c7d003d9f44a7d25c8d1755c64c65d62f03fb672b2daa917bd9d1b67120ed8006fd2224b88c0aff70786478b0cbba512de203674780f5e0a321380f4c405d9154ccde39c0f7d806c2bc0250ea5f5fd9e71f9403d2309c45d4364451067017f236ce25f95620f004251b28f2154832e8f0e9ab1903a2c46208ce4f74ebeb9f667a23f0bfcfa26a85104a1f5253f422915edb192c5c0387f647e3c032960dde2a4560275843453bbac828714797ac2c726310cb7f900e03dd042e96e1270099345a147af9ab03897ad0a62d447a5de1d00bc104507490b70219ffff038057983e8dc53fe1373eafe45439070bc05d84c07d7e66788b53db08e5c7fcde03b245a9b5d816af2f6ab6c1a3dc0660e84deed29a78fdae4b7c3774300f0b51280338626699a14019d657999b00b7438aa39f9d94406bf92b65411883865694d9d5030af0acffe4dfe6f86f3523370e5de6d015cf586df991d1530f5845007417494203264336efc3522acaf3bc2f8a46d3fcd10deb0f394d93d7692fd71de825c17af70308bdb570ea2e2977270216aa9ad68f6bde9693a5d66ba82fd7b1794bcd458dfd0316285e6789fd7fea958e7f16a5c608a7778e3d35fdba7e67ac622f7ae78dff4403b32339ed84e50fc1a2efbf52e532df05e832b1281d10944a3cf38b687fa4740a0351ad60be6def98ca3927db0e7bcf2350e1874752a6af28e003edee7295ee1f3f03a4f781c9f2baf7d0a352a9bcc2bbee24112b452f1249326b9c26f9fcd5de8f8603ce1a8930061b391237d9b1dc5de815adb7828daa7f2a5f403e06f407520d739c03d8a46cd49c68c7082664a31a9091f3a1159b4de2d5cc80524ca4fb4d7b9992790219ffff0368c7b29072570fde55956e2a2a08d756350fc3d859a5a01ff0c4765630a5b94a03b6d0598db4149bc606ffe6208758600f29f3083b2446a0ccfa8f5699d23f16f2039a841489ecb59be95d265df898d6d492101bd5e5f0d503f3665c78bf459e16a003e728d78f9eff8d71576cffed40333723d21158c281619b8101902d6c4dfba6fc03f6f26ffe16bee7f7fde3babab132c647b7bf073d8f37bcd681ae2444275f4eac0326346981248e979d6025844caf4e0b5e1db323c90ebeb783e56ad3c33e3571a403422e6edbe0e84dbb6319467a5e1422edb13f168bebd60b0fff7412e1ae9ffda10399bcd2412507850fed9dcee2498e3b204da54f35513014decb89a43fd2e4c80d0219ffff0219ffff032a8ecdf5c406c1c09c758761cdde16a7c32d06e58f9978a837f492ecd03af5bb030dda0a56170e50c0ce23bdd971c27eb399f386bf4158b68c245ccb2eb4bf305f03fc9715e0072e2cb230df0854670879d980c1946842f65969f1d15b2aba34eec503a88b9e2f426506261e8c23a00b1fb9f16d68aa80a876214c7bb2f70ac9d12188034a98350ea1e93f0932e6d83b86f1e0dff3e007c0b5304e82065fd782aaab4667031cee26ad96cee1ec836ceed7f7fc44c65a7082b17652ee9ebfd96b6728d038bc03bce42e31ca21144635e63bfdca1b94f2765f2c257ceaaffe8ac0d700654a6d4b0355856b07190bf13f8f9f7446acafda6e0644a5a526d417f6fd56ad3797c0af9803f59bcc10882fcd1df259d95115cd919a277539cf4e66bd2fb5bbc757be295168035bfe8199f8ffc241dd7d495ff70d212cc3c853c5d17c5115b09eb64e06bbfe2b03377a33cb72935d65e3120cb5177a9bcb7c5d69b3d5f92a4047e6f08058ec5129033ea4dd5c135d6fe5ebca1dd82c289ea17f7d8bab6754a3fd05ed760a9fa18d02037459d575486685161344c570437249dc58a62cc7983d69bd06a737915e7ed89903b81492e8526fd13559f35c48095dc0e66e148d5d52a70d2949f77713be69d73f03d363bcf5829afe424c0fa17f8979539ae4747afd1eb07b865830f12aa007c49c032fbad493147cb1c0d0bc70db8f2d769ee46d94cf3370d7365496535cee20109c033f84b07082c49d01bfcbd7d212941975fe5da1e6ce2d624e487fce9e6698b596039ad2943be2d78d6281091470bc145e0176699afff231024b73db592bedb69282031bfff76a1e792673fd009785dbba6d60a403d72032810f82754182862265fa3303481b3a7d96e1781aeffa784367f140bc1cbd6e4a96335e23d1de4c0d9fe1148e03060c31129ffda38773ef55e8db6fbdf82c01390db8e474ffedbb11d91d810cb0037c5f1f12e1311a421ff395b000ebc0c745fba31474c98f29cae57d4a146db77d030cbfbe56dadb9a6c3a219b05e691f030302a1471d6f42f37685305354497969703c2391300d63c705066f92f2550526a1f86fa0773364aa4916ba5b5a71f1c00f803666a15186a5c09dd400c0355406355777f83fda35dd1d256a65d6174cc919ede00581e02627b8789db689218cff1ecf26d8ad4df474af48241f496c9a9c1688929454cad58840003c86ff2ba91e7442b4adb41940814f1bf2acec22077be71b169b7e18363b5dbeb00581e028fb45486b772efbd1b04df5f87a15bb660995d051f55fb722e53bbd9e943055e5d00581e02ae62065ba7e309e0c6ef349a29ba387c172cf2140513c630203ad19a145820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024196cd9879d30d1931735b9bfa5bfdf3fb7830353a5947a0b4a10b51b941010219a88803ad62ca27fa5f1d88e66bebe6c03119d22daafcf4bdb12cd10c6acb7dd1fc73d903b32cdc3c8261c4c9ff132d810ce6f06b6c37175c3a63fd64b23714fa1222d474030296306f3f4352b2d3b97fa691c716ea2daca0b5a54c75bce4d9cbae1e26e5000393acbd06a3a6cb0d10dc52f779ec197dd7c9e2c2edb07edd3422487267d45074030ad1751bf33d9f3fd3008fbc102c5409a50affae4471d45e570c2826d36c9c7f03285770e676cd043ecab4e03e4a49f7d0cb83f81bbf8b3d29bc203c102904e975039b04532231bf5d2bac13f37ab592f684b298d89ab4ab23535c485e797be8027803ebc58df66a479c275009e927b46eadbe9e9dcbe9438064bee3241fd2eb9de42b034f402f9471495828981963693df8d4f92b330dd64dd12fe3f2c455bcbb8a4f930219ffff03b017c9b5fde334f79004d288de3a8468242f15eb1fb7b3d364f69f3a076e541d03ae4fed596c6103a2f792f9c3ded6c9105c5d21f0cf3b8129ee09406d4050bcf90361bdc573c3ff4db1510b0eb7d2ea71b694f4a4e2c7067b6dd2c63fb55c309014033d86b496963dd7aac5bb17a7b4247e188095c0affed93b51d64a9c471dc83a0f03a2e8b1885aaa9b4a0e99e318cfbdb562db880f80bd661a7ae58a228fc2f73be30352d5025bea6cd869785054fc3130a871274d4086ced6de44fa04536e0f2c710303cb3e6b990015bc1aeb5acfb797cd7f43e75c651b670c4731a3c2c466f80194bf03634863984bdc1750a0beabeb9cb86190f3decff694921f5676a428adc8826bfd03ebe5fa857cf5dfeb044ffa07c92c1c875373f980580e0a027d46ce332151fa1d03a647afadf9316da84640e9cdcfe8f9285a68b73d8d9c63800819b7e2ec9db7660321f4a095826330a41df143a2e256418e1ad1f4dcc45b927fc681855291a02d620219ffff03d6943195772ec0ba11b6c24024adf5d9e50266838d32e9d01b2156db080d726f03e179031d02057b21ac2aa99f387d6297575e3c97e10fcf2a3761cd5e4be60723032b4a97caca3d7a03b2281a2dd620b40a9c7535208376b01a92704058dc62389703b13eddafe8afca0a675f96d37172e16388f5e06b67496fb1016498d0cf4398c303286c5ef2276e10e4911f14d64cf6754a86303c7196386959766c5c627ad050ea031cfdf6dbe8d07640dc8d17325ba657ecf30e8530b82bc8005faa08b00625e2150378486eba03de211cc214968ba59540d10cef965efe51f932d6451f5c04bca4e40219ffff03311b6d6d96faaec69dab931379fc04f27fed0f6c601934121927207270e3e98203c8ed5cf067698b771478457b3744302af7e1b2241b750e84010a8b7a0775d12e030e8bf225e485fcdab610b9aa791e2f9faeeb29c76c69e1c8c4da55a3cf6742f403ba91c3b9376af64a857d9d9a201e9e135d54194b91f0e0a91c7044d94db107b0038a4fcf11e2d663a5db0bb9488c3262212fb8f596cb3e569340b8cbb981b7a76c039a0a9e5b4805d762d4f9aa9e9ee57bfe7c96c13fc8d2c8a668982135aca6e5200369379800ecaef4c061716f69eaaa3a647a7e35d538139a11d0b69502da83aca903e2de1f82220b7815ee4d56029592fba1ab03f89dc1cc9d7e1e3ad034142b49530385e6637462128f6dbec27b359db43dbc191139639e14816460b369bdd4cad41d0378597173e0c0bb590107b87f42e69c6de0f3660da8f02fe700ad5e23eee103af036807c4d5323c96f16d0bae91ac508f79986da0fa23df81c32418c338b3f6866d0374e4d44406c51ed9c1ffa960e7775a79fa23af9c78a286b6754f5d77f6161d390302cc0daac0f479d8e72e2b431e7159099c06053aaf74942d375c304f3ed09aca03ae84a7783b48a5bac91366c4f01b6989e800c66b0387b57695d5eacf928678af03857e95d568231e9f5b4fa80805049be784125c38f053b54ab9cea55420d24158033f3243fea4e2b32a2bbf54d01ed18c983af831b08906517fdfafec6614d7e0b8031507949cdaf569dc05f356290a7050e1c4ca9bf5a49c700bad47b46b5350ea02031690373f87c69a362722b5565bd9787bf60cda53041132591369c2eac4480ff7030e1ee1a51ba6f65cc35f7a63534115e0449e5be67047d75053bee8b61e9328bd036aafd97ed0a6d78795f6050cc46b76c873cdbed44d10eb384c51c7640f64f44c0352a1515b9e0b461fa369b3ae2f003b69b8fb8cab87b5ee17de2d4bca12d0fb6d00581e023e9edfe0972ff2c6d0da382f0db3d5eb6a897c60a4c173ad1a225180705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff09b681b800581e02466c0dcab700c8ffdf1818c4db7f67fb16b68580b759516554cac7ab125443506849d7c04f9138d1a2050bbf3a0c054402dd00581e025d12c224c54a6f8f2aa61e0649e0be7d377ecf7aa8797bf2ed54bc1c055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02280b6ef72746bf93b1bec6ef41cf206dad2afc0fcbbdc7a63fe97c3aa85820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff02c4e9402191046030230da90dbb296f36c6bca75969c68c0a93378d67cd3fc8d6ecbdb338f7fe3c403fb4abb28ba7238a79d8770c633ded45e33eb81d69c773ff8fa1404d0be7e55ce0391de9aa784be32dbeba3511a825e749d7f8fed9d842f12a301961e9e5afcef6c0365f9ad6d524d3b6cc405b6ba3b7fe6afffabd89baeac0d1c284a70b06ea8e2a80316ce5044ea13e749b4d8bbed1d085ecb28605b8975cff9f1e91bdf882ad75b8b03412aa50fd6e7cb1644342d982bc884f5194f25c2176d565d573ea2af9b7d88c003ec68034ed055db71e87bf811afc327561d4caf47b07ad704dde8acdcc110b9a601410f03f2529f7dd28c690e44ba05686250da407c66e1296fb04eab25780b73d5e0a80b03ca688d8f1b676d94bbf63f856ed8ea8b9254f51fcdd30594114d1d620192fa1203615d0dcf330f01699694aecdbac9952bdd5612f1d632485274f6aba9d3a154900322732d3df58f0728fdb0b892b32db607d889f8eab80376824d92eec676b5658a0305e1e5ef1edbaa438dff47ebe6ba1a77990bc9f4c5b334aeb59c12b23823942e0349a182891afcb4f22794605e7d18b0ec6732338a90d6de511c679e72cf149c270219ffff0379a3fb1f65db1da97ce746d50bc6d9aad3ee22009317f69a3204d13c69aec110039531d36ac9af1f4c99297e47d486101f12e6ebd07c6291d1214b2cad4c73d53e0379c60a882f604ca6abf38820caf794e1c457a718405fa0ff6e3b5e6b25bc1d3c0395c4a915de4c2dd01d40e7b723731e127f9d6c7fcb6d37c2c404cb1ed17143280392946675f0d91002aac9213d90e620b44df0bec7db25188b15466b7a334a5b5403e39a6eb3df0199f6d9b7228c7bf856f9e983652b8eedf4de121fb8a5a598f36303707bb0469811911b14c4e5a0e77f0b10cf65e63421493ea20db9106809b684ce03030b64cd4405f0d62969a57110877f63052d7a184561d50872343df811f91f2f0302f94055ffd733e2be3110515a661b0074dd5bec576ca1f730b0d7b22a14a17a03aebff86f90621e7e0585f87aaebc2f88aee49653d773161caaade7cac786bf0003560e9a02deeaf1e839ea0fe681d6d6c1816b849456cadbf3157f4c274926afa80219ffff03bdd6d0a75f7a7e72056a5172075389a28e7b136cbb8efe3216041d4dd1d457c70219ffff03577ef3ae69553e05ce22ac744dc0b841c6f5089f1c182dd0d6791073f79c54e30354b5dbe2c22709da525fac0ccbc9f29cb343063e999c1b0a2e56767dd31c1d3e03c700e501828fee137753386524120ef3584663b79b5afe9444faf75416bc365603f7008dad941050fcf58a37d1af05b7cb05746659fbfa5dc4bbb062b975e5387503ed8c3d2e83405cf9e0c684959b6ca9f4296055f5093d2a1793234669ae8ef04d03563ff99e2c666bc9ac521d56694b2354daf70cc901096f98a19907436c18370203c38eb631f72239fa0956bff7423041582c024882502851c3f58f6e7d9c7ba7d703bc5febd6bfe65660067b22d4c021deb5f2087dca8bf491ea5bf636daa61a38cd03375fa3d87df1fd84a007d7f7f1589c0bee6c7d745521f7f2fcb4ab4082910cf503b8b43f176d48b54bf19df58b2c49bbb9da8ae9ed72d1532ac3956911ed6b018a0373500f7c1c90b00da549212df23190bb9d70a2fef3ed497ae52d7c618181918903fbaefb05b7f288237dffec90a8713572657d7f278cc4288ddb83eee4bf1ebe5003bb1ccb4227ca061131bea4f9950da7bb9112d565961475eca9b9f08014f51fd703d32ef0ddd3d17ca9ef088eda8469eb24df1933063a38b55fbfb70dd2234c0edd033879520166f48272d0f267ee0871682f1f0fcc6c3dab274c102be2e311ae142403aa073b22f565bbd6c2a41967201606794afaf7ee7224ee4bbc1f4455c6cde28e03852ed6efc0e67a125164594225e544df7091e4528cfe7a5996d6ce52564a6ab0031aaeea4d2ca3503547037fb169e93045efbc2d153905a400f5580a7ef011a16e0327a359cac336c5fdde491be378215e95a1a25524a8fd403eaad610bda4b9b649030350902ee83b7b5e67a612d84becc74f74f835041cae316cb70def2657e93a24032cc850164d87c07123ca99f117557755af6887d3b6f377a2884d2363388bfd3703864153f197a4ec435b8a2a2ceda0269740e4689989a6068ab625520d53203ae5032d294457b5ef41217183e39b4b2ee5d999897c0f7e33369bd0e273effa139dad03bdfee7d17f2a37498bc2b38724920057c4c304aef7685fa65d3a2da2318ffdfe03e8ff34b41125897fecf69761b952a4dd0ea215e52da09d2518883f19fb62e08603d35358402428bc7895f9f0d82a64ec2c1b743f1968d809c09e3d9b20db01893c0304bae8d1ac0c87a8327ea0c79e5f11779474d55608e1d10ce0792a4e8797215503e3004751d6e033be75b231339bad6e6be312041b5fb086d94d16ecf83ae51cb10396f1f77093c9883fcbabc6d6defa8ffaf206c78dc5c2f166a6deea494e864d48039c5797a4005873637fbbd196e8e77df2188fd2c836d6c93137dc17bf7caa7f84035da84c7182d176c52c6b81c867c3926d773ef787101e4bd29e02747a5af672a6032e005e8fe761d21390490ccbfa14cfa578fb8791bd674888ea1f478773b013d803cf4379f9abb564db9e102f02e0620cc2eeb78814b185970d87470ebabebd6fb0038ce47d19750fa84f04f52195849427da044e0fdec7dbae4d22a3ebfb5f36fc150303b22929100ebfec5d38fa92a645d9c0ddd1977759f28910721337c0cc6dc22203078efd71850f1387e6dcbeea310e6033041ef47d005f0bfa36f819990b8d0d7d039576234264c084982de482094be1690d599a9bea99994188aa2ebb3f6ebe8b4c03ef137a112f75052dc93a0cfb20ec112ef40603254c4ecc9a581fc739a3674c8000581e02fcc15f303d0d2b93e968eab51beb781ce6140a131c66ff9a5159c54afe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0d76b672f00581e02cbd4fcd6aa5ac0b721fe1e2881263f942988e39ae683033d8cf7bed69e4c033b2e3c9fd0803c1fe7811700581e0203cb03a0b485e5d7006f26268b41befde7d7558116a288fa81b8585b435820fffffffffffffffffffffffffffffffffffffffffffffffffffffffec7135b7f0375cf9cac3625831094be4df5352788b1553546ca6c23b359d66e392b38bd8d730328dc3443190fc14ebaf8940de6c5b1a7113cb27fa8916888f7643e955315f1da00581e02724f40c42a18e9c0b9c19f8d44cc9157dcc9f06849463c1a65991647925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd86e88e500581e023b85f343a4c016b119092db2134458700996675418d69f7677815fb4bf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67697f00581e033689b4b21138ab1b739bbe19cccd567c92d1a623fb50b287b7ab16ed6045198598980000581e03746e1a11807261e4cee74fddb84aef034763d09133cb5f223d29b1bd6041010219201000581e02b262f8853b4501562fd5d9f0517b7bf701f3814510363972f703912aba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffa780a5ca00581e0242228c8752a952f2d19e1a33fbaa7f03a7f3c8516b9271973cdf4a343e432dc6c00388c3d430a734e0e2228ac075572f90b6d30ddbe031c64f53a8e1c5703a7064f00219375f0312ba05220bee996dbad5d4e4be5efdf73f9c763c9f53a76afd547a4d599b8a6903df5931b25255dac204745fefe4ebc8630d6088e57378fe39b5a41d03cf0c788001410303dbc145b14bfe7a3f6088d7edbe5e44858dc3fbbb7129f890409663f79aeaaddc0219ffff0357e6e123b4a1f393555db01a7b0b76a3bdcd1e59024427c2486f8035274f0fb10316b5f40695f8743847daede8d6b7d324ea759f77d6c015e27a7cdf9e90b88445034fb1d0ef517fcf55efd45b80028b9bce54e8fb09ecc14589f94f77138872186903ca9b9437f3ba74459e7b8ad0f13c4e633c59fd709123b6f1b32ff1df733a986003b380cdb4ffc3dd77d3cda10fce4c031819c5e11831d024ed79fff284347dd7260219ffff037e249645e98e986bf01f064c5bc3b40da48ab37010c92f2bcfd07fd1d0a5a24e0219ffff03ff70fce5bebaef5d197064e4f65f034111f429a18c79ba577f7217575b4a5eb90314d92c277d9f65ad3389b391dc6e3e7bb6db378328b56e3dba2b31e64d8a381d03123278804cca6f4f4d3065dc64c7e228808bbcd66f0164ade86fdf954394256303ecb7501ea535ed80398eb4df0c55dd7fb0afe3d91ca1b473d27bd9f3f1760d770328fdedcf69c4a9119446fd23ab55d91d74a67b347caeaff49842f9d95041ca14032d4ca3b8ca41e97ef3f4f632916e1f1abc1e80e79b24637849c4f0a56bf92323032317c1d7e87cab067c7b9012a734e81f1aeeb67c9d5cc542a37dd55ded44e75603e01901dbfe31a345eaf62815a94e837f35b4d5761db9f07f9eee02c1853b5aa103dd2d0b9e0bc924e6abde145136eafb1dc0106eb64081c011b1e424d6bef34400035cd6c2b553d34e613bdb4704aee4c30e48b8146f82ca8ed4a6bd39b6f0ce3e7703623a8490f642ade092e52bbce3840a6c68d8cb525c6a42bdb00c5c5af6bd728b035424fd9bc3b31e6ba6ddf69889ff3e000a98f21c6aee998ef7c6c801edd1bf64038c9364904659932bfd0417f6c70be4cb10636aa39b41e6144a2a318aa009986a032dc5204fb008ba2ea3c5e3e4e867cf248a849155517becdbbeca4ab6b221bf7303eaa126b2d8241f8b156575b385881e28a1e8713dcbb1ffce313532e2169bc9360339d83572a924083f7fc73c1e0e202d8c2416eef5d40ba184a7d836e191844cf30319c072401d5c22aa71df52f31573fe5a3936ab4f30d41ea4014b3ebd197eac4c03b4a870d2260a0a6abf116ee034f76386d15bb37832997f415c7e9bbdb1f0e500031a38d455006cc2c436e6f272fd28741d77aaa07aec8bb8bf57af0d3ac9ab7e1b03c956abfd4e0b39915a51946e9cda88556ec8b483249dbad8a4c12f436fab4ba603cbd8f000a1e3b96c636e3b5616befc8faf166d6553ca925f5e94c7bff8108a3a037846f05071ed1e4ee49b9a750f5fc0df68797dcaf41a178a51e6553ec27fa63d0385c6f01b571cc87e73c258b9bb15a121b36fbf5b13302bd57d3626c00f6540bd037851ac2b71152eb90e7fc68eed8b11ff5ba8341202ae398565399fb7d3253d0d03aa3833713db0fb9ee9022d23d81c4eb0491105fe0ebb1b6b404fc33a99c45528032900c33ead000ae80f5ef88e7db549849cea9bbd9c3b50ad0d07fa113a09896203700e2477aec520a4e2b6f942711314fe6534bb677606478b675f57ca791c85560379a5d0ca54225f58b8eb7fc3a0b34cbb5d6cb5cca0551c6d491202185d38d309038111c3b2e713ea5f30d14d86eb460c56906e9d629ee7fef5ee84721a89e71849034c4ba6122225c8089200c9f7b4ccff4a750cc6babee36a319d08f23414ffd8340312f0af0f7c9cef2e25a1e331bcd60852e00270234db06f3a5622f490b27b81d0035f11c09484454f3706b753965f113792bca3a794602a34f57e9320a0cc93737703fb533eebca3b06d8d107aa4150b2341470f6c0c45fca782c1e6231fdfceb11a003bc2ffb6976c1eedb76e1981cd0b1411eb7b8d2f57b65fb430c566790c508cdb9035351862cf9b51ccbd4172c2f4f78752fd89f6c6bb1f36b389fa7d64e7f2daa5700581e0270d062aaea7d183e623dabb8df9f3f9674c9782817efea6f6d461a39174418701a8000581e026554096e2e866746c0891c0f2e961a05d4db46aa16b3ad64c71a9443d45820fffffffffffffffffffffffffffffffffffffffffffffffffffffff97d74d13e00581e02593d40563ea211653966bc99756164a46340d0f933f0741ad91b277a8f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffd5b307f3af00581e028b3ee64872063a63a8bec5a4628913a619b4dcc91c133b5c9a51e6aa5a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2329aff00581e028cf7061c894c3e4d60ec0809ea83c3362eafa59185310db84b1539af25430d594500581e02ee1eec692d95aa18b82a46e7483f7237e3e6ca07caeca2ea615f9c8b8845023e7342c8021922aa03c30dcce70cdcf17f41835c84502b37294463a1cc4f1ac7a1861bad12ec4654fc037130d05c3eff387e2b6f0f5d3fb7c674de21807cc91aebbf7a4cf0e613cffa710307d759bb40964e29115426945b43f74a0bbb2352a1af31453fb81eed3a04d38b03961a9159fa4adfb19cc938a915615ae55f6e7172ab6499074bd2a5ea5a18fcae0219ffff03687b4fd7bbba0e4a3509e403db9d58a8dab78d07d987368d9727e8041321f69103677f308d50637d183d424419165df2ca7a11e4b870128683a628e5be1a9e1bb503ab95a1622b0d013000719e48ba9024713c89858a1d508f59bae6116bdbe9947e0219ffff03d59b3300dd6482224104ee7896e016609d350a2a3fbe6792da653f3e4c8d691203f4629a099e803b5d4eafba722fd383ab581f138cf0f56bc0fae8a3abefca8a9d0388db767e2d87afbcdab7ae32b557ea913747239f5fda08c9c503239728c2736003ca397715d58db280572fa2148f84fd554c4204182392b75bc7eb3a60246e5ff103247a315a0435727d674768ad3ed084bc4b9370afbb16ba4592dd78bbdbb3fc950219ffff0219ffff039f792a9d419aa99d06a8f2a2995bcd75799de3ecd9b597c80d505fc5854b560a031936a164f20edc0a1ec492b96e91ac8e0baba8064028af322fff29f502e2da38035c306dbf614ba1ea9970bfd2ebfa7f0864c1ea120a50145ccf20f6ce32b5598403781408c1fdeb417d306a126e348560c1b022f86217cfc9aff75c9dc43063239203897904670ab0af2cdd99fa930bf86c6721e44eab05dad9e4b90c57e096257ace037538b213c4b337005715821b86d29c71d99e4f1095ec44e773c588fcdc49a9e803346a99be29fba5351a5b0567aa971412797dab307150ffce82e1a4951d4f368f0361a8461d1a1585872ffcee9a823b7ee13550d92f12679bcbe5e37f17c0575df7039a9f262891d85358b17e9e2c2e5c0d84e9d74fef4eff3930814260a120f3686e0399244a60ca7a6369ef4d61e5bd6f74d5e6a41d90d157184e0b83e04aff4e1b1f035a4fa276e20a84d9efc3c5c314809baa903e74dc159162c281ea9c2caa3b54bf03d69191d22e5de20346dec192003f4b12da25f3518d3f80af3f56d8d2e3d77b6803b95a7bca5ccef7e856a9ec82fbba30f8d0b5c5649d964a9e6472bfe2cf4d73ef039305ba9cb1d5fba6bcaf8d8ed2d9ebc960c398a6d0e815700d328ace2350ae75035c9cf7fb7d9ff063606103f52b9a9eb9caf0ff9d7afcac3ec45853ba60f0da210388c9774f1ed2c25dfdc1b3297e61c1e58c7c963419f26a40739e706e760e85ca03bcba502b9872d57a7fe2d5838762c9e886d50d126006fe05113c605f92ef09d303e73264b5fe4680a7961af34485c0777728799380a1e599c3d05cddd093f9042d03c56ca2680cb5cc7e274552688de90a3c8503c4e3d0369140d73404f0e3ace00d03151aedb064e47709ec6723935790a76e456339ad7ee92e6e6c1625910de64e220347a15394372f1a2398315ab07ff4e84e8aebf7387096737c5ee5baf31b96cd7b034c427eee8a93ab0db6eeb7b717e2ba691feed528089a772dad67c8662a276ca603ddc00338ebefcefecf6dc1bc4346a59ccb1e4592fe111fce89f3f9cbbafc5c3703847dd3c94e9c84eb559b5537da9a21e52d074d5245b5b597c539ca6faaeb30df03d66cef371d4fe5714f8770435e2b43ede1b712e153b403ee41f470bc1bb3b07a037718cfd7a15ca10a036bdafb32d99b5d7370710a26d286638fcb5687f7c8af7c033ef04cb57e22c1db284dfe9053406247932730b930f98b8bfc4896ef354cf2530391dc7c09f2d3fb46fe4624688fa009d16239df0f38d4928e5b8daa6cebba51c60331ee6e57ae61ac53eaa32eb55b310bb005717739795febd0ed4fbff8df495c1b00581e02eff1bfc4d4b5e9f89ffb6be8ce566a01aafc4da0e49ee5f4247d860c3e432dc6c200581e027f79406e15b65a90ec1491cb82350b600b25e897042b2f0b4f36426053432dc6c0031fd9a52937e919755085554395cb50826cf434403cfd462f884768decf7e0f9e00581e02c77ac7e84384d78cfef74765868913db0268bfceaa089589d881fad4954405f5e10000581e027df421e0785b477c6baec90fbadea88b46ddedb4c66475e218a72fc2f744b2d05e0000581e0270e6119afbf69dfa16f4b5313f04782610af24fc8c8781ff85069c2c1f44023f95c80219216c0331c7fe1b3d9c21c8fba506ade3495c2036ca734663fdb09487c822aaa281268f0368b5f8f2510bb271222a7bbc69d095acf39b4268bc28e7fa694739850afbed9803285be291c9f3f151cf6bdcdab46ae5212ed59ba51d7cc0a257166bde6539ce520219ffff033971e353790bcb05c644d01fdfb30df5c6b96a3737c4e5133cc2918495f0c0fd03cfe739715086e20600705a604b90525ab3b995ede0acdd96efbcd65ee47e048703c069a1bac2e12c6e373fee38777efdc80ec8e003b0a9c23b7da0478f94242fd603c898228325ae836d75ea8a0677c0dfa724656d8641c8b2b7a2322a4f55db36e603a2ef88913a6268b80172112270d23dbcb035d370690985a065fc56539588ba07032007c2b9ec51e789c0b9527da501beae78110b6bb46f16566db97332d555e96803e9324891690d18b6afe090b10e0e566e9202199d7fc54d124175758d2ae2327b03079cf49da7f75d3a76ed79ee6faa6565e98fdc77cebc02a1c2d7751e73a63817030ef9d05e8ff8d5ff4ea8ed65aa8656247b0b6252b8014f7fee342fe8234b4c4103df02a75ce932b7b4b4c105ec15befac2d6b7ad3db1be6f271f6626a66302b4b303cdbb09e199c3c4476fcd5f483669a56c3987e34926010e928f15cc513596e57a0371e2171442066d4a5c257387fc39c1d8c6932a542f30831c857444851fa2cf8f0219ffff033dca0eed551c873fa4c6eb2ff31d1449ab1660c795d6085a886e1b58453e4cde0219ffff03f6ec9477738ac8b2478b68aae0a287151846fb5220504d4ac576546aa76d1878031299cea860f16b97b574a16e72e3c2364f9a103ed9d970e7bcf2a77ae4f0993403c71dbdc834d0a0f82329e71f94ee8abc818f1e751db5a7a048ee6227292b89ae032dae9409e0a0c562385c29a77d90274d3ba0fc3116fec6c8be2a8479c3492b400390f2c0fa9fed4d7ea79c197c9cebd4fb6ebfcf206e2e0b3134a0b51b6be724a4037ba0d4e2589c30bc63a2ad40f4801d9c7a5c2eb0b0067f28e1f559c68c081e080395e0ef239a7dadfe5b1498b3d395fb36f4a48908600a4e398905e81f6ae926ea00581e02500e8d73d190d98a4f41d6526ac0bcee9bfd314f46720fa0242828a6bc472386f10a1101c000581e027bbce4046fd4fc458a3b68f742b523fb4f5854c255b458146d30025aac410100581e02e9ec7f3a889e0263451e74ad6b2efd92bd5c947e6c1e5912627def60aa449502f90000581e02cb5455838701bf0601ccb8f5c19f0873bac6fbd2068368b9250e65e2805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6d02700581e022744835e022092bd2d79f7cff3ba9cc3bb18f057c4c176edaacfaa1eec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3d112ef00581e034297f513f228980790070d7a800654964ad74c4ecb0798b19d25d0d8c05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f4103f00581e03b20e608b0fb583ca44192d52e760ea4b6095ce6cff7d5b2843cef454205820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff02184100581e021bc8d7cdb960a4580194c6f9b8d5a84e8b2c797b20f8a4d2bae85787cf5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffede3528e800581e027f0a72d7677871145c90b52430fd5287d977b18612bf413056378d8fbd44127fbbeb02191b1703c94723e183a0d9f70b0b134781f1730a45d69bc62361492ed0b8ef71019cd35503f11469acf2520a1827ba681615b69ae01e717bfeba4fe4a0a2aa5c1b8e653d6503ce5f508a7371f147ffc8a6b9cc226193ed9ae0507279dda485909a19147c12c503a5f8f7fdd5f1608ef05091468b59bd3a1496340534faa3e40987f4123313f71403ab955fd34365617d027da4beeadcc1807cb509b7ce2827cd1409a210bd3549ff03ac6bbc45b8322d696393d8ff72e3f1d40a85a4fa7b955f93be9d00554a719b1203710a83e486da8ca39cd34f54bddf60ed392b7aea824dbee166a1987fc3c21f2c0341b337e5b401cb5606e444756b008f0be40d5f3b466cbe2daab3a2b32d87b7e00308fa0ff397ed2ae22689c5ab956b8b83e92b1961d5fcd01439a54a2353ab2e2a038f769f7fe76b3de519408af1e1db2b50118dceed150a6f8ef386a17e56207b070354838cc4cc3af066eb304a6db085461927ca5d8210096d0dc9dc4101ef1041ac033d20b3afbd1b232e6ab14255d471164b68c455c0f4896f73b34198d77f3afc3803e7616ae17bf9d7e44b5e5fcde4c698e92245be4f68f429fe48217bdbb099cf1203c9fa7cb8adde6c79c43b35181dbd9e8de901367e3f3408392ef90da6b6968b250219ffff03ef15982324654e1663f56b610beb1eb43535f3760e67fdefa80e01a3c5f1970703a675c55758e7309c4e2cab37648470e33d4e4f0a584150c0c0a510d582b7f7d203f6b5d9ae638d9b8ad579192232bc1cb0c8876f3ad5bb68850a3085415865ecae03aed441ed1c725d095bf95f4d39139f60bd8f4e1f227c5c2410f46e4ffff9bcab03dcedb219af2ab2f1fa4a44070745b0ea331c45a1dacf8a622d592fdc5df59fe303f7dacc92b5bfc0c3174d20be24ee4b44da3b14cea216a8130c27de29d1e557fb03bc7648a48567932138db571304b2d763921d67b957340710602f49cc2735718c0319a948dffcaa37c09198bc6cae3058fb2a3f7046d7db2dd0ab24dbeb4f5d27fd033ed0b5b24d3212580a8739338dd0aaef0ee94d611a4c750e34ead64c247f95f7034ba40fd2cad8b6dfa32ce5e55451af08aa69ad085708982edaa7d1966558706603ebb143fe4161b4d6f45f57b6f9f7c4bc27e0b86cae1d1533a5a161a87c6e121803accdd1c0580bece9a43ed3e9c053ac41a62920b6ee9246005e52411e3de8a3ab0320ddb9b5389347021fa2599bf84711e8f4eca970ce6162ec4d0aeb278299ab7b039c83556c942634a9ed1be1b61ec124e0399aaad65ec7e558fe18247f25ef11af03c6a2b8ebfbb9e0c81f8b2a9e2b3a5802b007b8447f94370d458cb71f97b1088f03a181d226347b3f41b6c1fccfab9852bb569535a3c1802a5874de43e7a12419bd036d6482ebe37e62f10abfbf6537611df5a7d1733289d1477036b3bdd2ccb9b95803f7b29bd232eab13c0e23de314cfa0a0f8094354bde1892b18f4acfe9aa6e5b3800581e0247a442fb2d857c3f939cad4926aa5ac92fffdc872318e868f89c9b1c405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffda24ed6a6200581e0297ac09c34de96d13f5698aa919c06a184963db5e526f8c1600b56381b3465af31079f1e000581e0217e29465785aa33c19c0c4db6874a9139f1d0dcf1b7526eace8c1b9073448229699f00581e0203837f3044b9864b99f0c147b4377e22ac55c74061ad562317ded3d5f15820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff97a0b3d00581e036d258534a8a5702d048acfefe0c7e7ba64084db8d4a979bc17a742e7804606e9466f7f0a00581e0332f6cbcf94bc722de334c997dca27c7b3ff3be3d2edf660bb1e02dd210554f3a68dbc8f03f243baf513267aa9a3ecdb68a1ee800581e0370906b99aaff163f04403b78795687f6ce431248e61673380f5a8c6880420d0c0219202802192ca00313d56d5e179db00e32ae8d584ddf06f5b65cb5fcdc4ca5ba6408fa081e08456b03994518c6723ccf7e80e637c02a072633977d558999639d5cc29b8eb5021550a103923a323d5554ad13db661bc54e978c02302714ca44bdf1601f911840b48eba1b039c68c1cd5ae6131ff39bb9b1c6b61f37143faf5b2eca296bb8682f8c05cac76903314bd56f82862d327a62e5aa5d79db79b052c55d00807bd83dfcb2f34d8a622c03a4d748e5c8755a2a3e20c07e94092f26eabae669e71d786567797c7516d0feda0219ffff03fcb497a6fc225864458f2a0436cd9bb01d297b2b3a3edb2ada0f44ed94aac415035fb098ae33af2cbabe0115780cdec39a0fd749f486a6d4bc7bb5a9beb09ac86c03b6b4cf4efdeaa0849312d1307f5e684ce5ad4a84439c69c39ae8cf93f83d3e9003a3991cca522a3e81e51f8b61ecf5af89c54a4283df190cc4f47cb9f641bc74f10219ffff0319a545006fc50feb5af83b0c814add989af97e10e95cf1ab087dd327515daa98034f4349022e6f15c5c90de7ca9014a2397039dc894bdac5ca7c8ccc6f22ee01060354eea2cf9c45018acca4cf0e88644055e7d89fe134967c65895fa5dc5f0738ab03156424afcaef318202ce674e6b43ecf0eeeb3e1cda339f42524b50fc8cab6e0b031804eedfc09789c8a9776301578ac9b0aa7ee46e7d8625b6515a2ac325f8b1f30342c8896926dbc40ab81a653daaab6374ae4d11d0c528e448075a96f84a9cedae03d1dd0b31ecfc99a9928a874edad4623d870d2a36192ebc4dea9cba7d1c6ef42903a1de91d5958f92b31ccf5c7f9dbddbffd2e98b2a94564583cd7e92a9252542f0030972c63d13180e2f6b7d6357b4626140d6c3b2a6244d79e09c1272e181e01df203ed74c0b866f191b8a4e404501011d5fa377ddc49d879779c586a82fcb8e26529035c1781ac72ca9455ec1f2281db3581e7a51aeda179176869160a8b51ed7d2094035b0f17d3dd4214623fb8871395178558f42707de2cedef3d75a51eeb8b45ca8403260f4b491e4581b34f35b427d171f310ebd9fd278509b9bc7a49f84a3fe3c55f0219ffff03ddeab2d5a61d69d50cabe79f1c5d86721d4a1e9ba2eb2b11bc05be35a762ff77032d86daa76f1b14832884edfd32ee94f656171c4014ebc043bc5428a49504bdca03fb07b65c4a43f0587e328cab9346049c748558be1358e73e69ef4b2ea5a8ed70031dc62bcbd7c9b3a266985682b922bd90ec22c123b1c3ea861ba863c58531aba8030d1adc7d548375e3229d515415a3ae2919c745bf615bbd04a3d5c9ad7b138fba035cb7b3498d50b233c557ab1943265eb61ba226b3faa360fd53dbf3e4caff185503bbca4f0670364a824c3873c1d3cbfc600ee5cba3d113820fe88a539367c8910a033ee2858bb048ddf478226f74cb57035db0d75e8863891901ba058b426d65fe6a034ef79c3774f7a9d5562138edd963714c85aaf4220334d9a4451d7713fa5ef51803df57f055b516c678f0edae7946d7e0f91d7baf2200dd27f77f4095dc983133d103026ef036dd7c83712db35e0cad747968433ce42dbacbda3cbe3916ff5e8f2a9f03d90ea6786081f9015724188824c271973428e452d47801443d7c7f3027db101a03db474b5b661a9660e9dc2280d276f63d12ba5d66c52b038f57a384b15042753e0398648c87114f742ad5abe4c5d8c5d761fd452efab56aab41d8e6e32b1bdcdb2d0339546c3539bc0634d614fe5effbcea6573a3c964a4108a275e72ad1433c6fc84039b91c3ef278e252e1e93ca1f6665d51278402fe061025bd585fb9f5b4b8387ed03de280054f1b2571dbdceb5c476da5153fa3de81339fd954dac87b346c9e4a212030ab7e2fb0b180b4afa147a1b04ba73b2217c4d43b4a2746a34d29f1b76f35e6903b29038a5c62d92c19648211a082160eba958717e1d5811724e2fd7abd883bc1803b9b025f2032402d7d5ea9327c6a129ba10640015e808e0df3f5d174707d4576e03145274191a1d8dd2becef6cc93bac3c94f964c75cbeb59650e2187303f81f391031c6510de61a9b875f796aa074c19fd54f79fd8affd5d03c9c77c8c2da1227c7803822ec675d73d2b442d787bfe1b134b2bde5bd448998e58b92750644c3627af0503edbeaa4802880333b91f18419d52ad0f2dace0083c8ee2a8855bc2a29a4f8eee035405b211d6ae3e17ad89e1a4d6c475666452caae94333a427e784e5eeb28737f0344260be982ecaff0add181a322fb7f0d2d8fcc5c43ce01bb00daea20b93b867803baea827f4701a05388dc8ef44e68ab89d273dfb7be3fb7fa4bce72a7fc34290f0363ea1f95fdbf66303a82280072c126303ab4d5c12b85b8d0f94ce840dde8022b03dc676ef929187217926bdcc5e3f4c3c15a93eba5240d0d2ad9ecaaeb17d9121c034d83a9c86b91443e137ffd612ea2f752665e5cacc7d0831061573b64c235a8520353d66db642d324dbf5100fc8397d17b287c3ed3b27f58d39842f976b45460ed2036ab4eaf38cc80df421552ba0bfb8258fcb3a78258608349966d03410fad6de6100581e0230952e22cf0bbfb67f565f0140baceae7012535074a8f89d733320de845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff32cfa91800581e02f2b994bd80a24f93677a4c9fe970670c0729b287e159a0aa9ea0dfab46443bb170e500581e02e39e5255465448a6ca99e61532f9380044f48963b592f2149bedefa27d44019bfcc000581e021b69e700ec0404c4b8877fa48a009f031daf5f4687f56d7fde3991d51b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f322bf1393a3e4cca985eac01adbec1560f34cc5add2c63e7e414108c15820fffffffffffffffffffffffffffffffffffffffffffffffffffffff7c39a1c45021924310398bf8a4a1b3ef71bddff13720959f87aacfae0ed40747774fb6e257006739b8c0369fe737c4097e584697b08795098f18823eec8dfa80851fe5ef8d527ec9ee8c1030f9587390f0dac20930de6377dae55afa3cffeb78317abc6735220f0f172c5460332b362561c6822e003b54573fb2a1376a3d06e4d4087ac1191bd7f7e1dcc75e40219ffff03aa5d22c47fb398eb916086c06ab1e6fa310fcfcc01a8925cfebd567b10c98847030fb613825a602b9f48d6174b1431bef2c9b42c8ecb7798a08813be89a7b1bace03e3b59a16207d950554cd7a5d2a917681f0a9f04c571e74ab93b2c3bc6bfcb50b03c3d9fdd4f383e64f2a77904a766e49492f9eed38ed800b8cac56d4e3c809337f03343cbbb4653bae24cd6635085cbf9e6ecdb7a8d837ef5642ce1fe71a52bf082c03d6e7bf19713ce1725b8dc237dc0c972799b3993190ef62bd49b68322f40e6ad7031b422b9f4d383d5e36b88339eba9b2289418b9bc93b159e5d3964db98d51b95e0388ebfc1fa7c5e08a4134621513ebf8c136ff766f34a709eecdb0e2e7e244247303511fd47d3f7968d2a6666d66a94d9b5a46fb3e58891d7f6795b51987cedcfb70036021fb4bfc5979f9a70e23f75ac1663cf0ba183979a055f901deccb4a7bd6ebc0219ffff03f489d4cb8edb47de62c418b559d3b717c1692b46c3cc696f614f5db59e5d812503dc2467c53dac41d689edbb146a6a778650c68e51c252f1b7c21e8ccc212eaef20219ffff03ce9d7c8aa68ad9bd6d9f0230e9a524fd038cc03d0dc93603dad34e65303b03de0366065ef9dfaf02a67afe8c09d6afa320878cabc299ea58112be40b74dbd7da0c03c9f09284f70e6800a191308388c2ac4fa2fb32c8c9963474099f5d7d8229582a0363f4e589e1d9a47e442f0c92b9e006f501ba774b39cdaa95499193425e034e3f037c2f7a5ec9b2bd73cb35feba2d2b767cc2cb81e3397fdd2fa6ce6f4cdc9dce970338c9a292e171b4b1fd4fdd0b0edf31a9e32248516fd4a46efd457cf552ecdd4803946c03e5a6cd74a202907253f02b26b97ac347d39b44c50c0feb24e212770ca603bb17fa13899c1e8ea4a619a6a5ce4803416959ae630db321a2c9d8f33ef85d370392e505c587e8ca0634dc3f09fc79ed89d44efb57eb05ed9037277c06ac8a4b7d0317fe998ed9fca62845c3073a04798b1a83f97ef9c243ea0800886c39413a42a603384132471ed31bd660dc9c5ea25139d25cc7f090008b2c092b725bd8849dc2960308955787d7a67c70af4404e55855806beb7c4277681974dbb317cd146191cdcb031a8c2d30ba0d8679b3f4f2713e3bfdf47498704dda62506e5fdba956f1caffde0368c6f86a81e47b1d4067a90110c01671ecfbbdc68315779e3eea49ed9a7a82c603dbf3b45e2317c34263c6bbf94531244d126a38336e10eb18354e5fe2889c9b50037fce41f0997bf58b2a7a7c41510a774f9ed5eb5f23d7a5eac7f87c5644fa4ff503ea6905bb952b7ccc0c004181d70dbc3c0c7516eb982cacc9630964d6d31591ce03d1d318f110b3fb511acdb5e812c7520154f5c6deee296261a61618aa2324b1da0345a2127e47bb455c0fe15cf5abf238dfdf6102936000e3b3521dcb6244d0cc5a03e6aef0441210e14bc67e5c133f8820b161b53ad3624349b84517d5cf13cc6bc10351d8c0e3689ba00459c7742ba7cea2775274da581d9d56607aeb305359db5275035222b1cee2c10e3519bfc5c8f93a7f7f79224c2c5a139567fc85662c038aacec03cf967e679c419e10c1cc849f95434aa89bf65e168e5db056d9e8af51bc282fbf0314347eab65e1831c589d42c55bc67e326dc5123d72a689c43e37d8e3c9804dd40354a82e4803135faddf7bda8d14e817b52db2794214ada790f84d1612b3b9ceaa03d2cdf7d4927f28ffaae12407c06799d73773bbf7de30150328afe3b6e9c1fb780387a2fc1bf366e433764aeff674bd9bdffcced9bf8f928fb71fc3c92c397b2ade038deccf5d98f64c2050d58c0b9e06296ef0bab5e6d530e55a4dcd84bd3475988e035d1e8194b28fbab3d9d8a3291bcc9b21a3bcdd21a318559d2ae683db14408b8a032ffb9e557f1a51c08a990891d05b02929fb67a1832a8c520aaf837de370d1ea8039576e430c9cb1944f8077160c442ae7af0f9cb311cf6c02ad3651d25a945dd1d03a13de03b6f1fe07853301c5122fe6684740de5460b373525912a18ebbe7c8d47036292c4ea0c9549737e76b94dccabeac9b85b6b4a70d3eece1f6e058e7b27db1903f0b13fbebd0c26321244f4f2872fb851cdf0984440bfb237a92e628dfade6cde03d0be3fde157eaa3e3d42faacc561cced3573fb5e98760933e73c7679cad8482d03f7de1693544fc9422f24e86987ccaa2d48ab0dc583836c544a4a84ea07bf152a03cf1f62b1f25ad1a737145e29f8c96a3e8a480078ce28ba4dd86c46bd76cf014703bf23bfcb62046061997b652c12c49ded48a49e4b4946a0ba3c80c947440f3dc00390f7c90b96a4fc54228bb5decdc1db14d1df6e7becc153890bffad6e88fc85a903e9e90178d3320d830a96df4cde42056b772d2cbc503422afdc7bb992ab5fde8c0333a6f0d5ca7d23d711a2c171c4ed04915a0e3a2359f2b2a76af2b7659b74e278030a9bc99068c04ca4993a8654f85723fd4c577aef712c067135a0689cbe190172035fbecc032201af3a54d865933d875b2fbad80db05817f24049d16b76b96dda76039df43c9f6c79fd04d147c39948c67cc4309c3a5fd36fdcf72a934f92632016cd032edcbb36a7a8fcbc3b285200626c69d25e470f08b2fd6226618108af301a07cf00581e02fd574cc0cbac99c17480d240a82b4923e63b423b034a4e639174a86b115820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1efff03014ff77d859ba938bc099aefd2c04e158d739954211852bfcc360ef5fe49604700581e02150470d663584511b7fc70088839330568b529ddcd71542cc69ed3a764435b8d8000581e02aecdcc8db5a42a8cb9bc9953667154b60c6e78d3983ad35558f50992c35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf2ad4cd00581e0268938c9ca0a223c6518c7136b806f71117137c5ab50a6af71eb2c04bf15820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff1194d7f00581e02afdecc72d6927a5fba07da9dd94913e53fd3cfef577e27e47a531518a55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198b050357fcacc2ce7f49eb77c33b3d81e6952ef8981a39d72673b4ee57807dc5748d1f03301a80bb1f7b43ea15718a4efa3115e32862f5fa35a525ea11dda99d854faa8d0219ffff0219ffff03c9c897c133edf333a8e5a121b1383946f333c8aae2b4d687e0708d0776d9c60803e93a4dc9387110dffe44f41eb98ee0c4db2c5100391b3792e5f07270b3b27ddd036423d229dcf173497dd917dd7aef8b5e1fe7b0ad3ec6fb7149374b4e9d15239703008e0326d47c32ba489d61018bd5e07ff1485339f23f7d12a2384dfd210d9fac0219ffff0219ffff03d187295dc0db80df0e9354718782146c1031c7764f2867f8c0536a1d43a3ea51035b8aa6bec186471b49f05121f573734bea5864286dbe13772e5a3714aa77976c030e7a7d4cc6e56bd6183206f7e3e6d6c030b43c747805f581ea84afa68159370a03a5c8ddef8bf8856b8f3812939a9624752e2dd46bc101ddb0d70c18e3c824f35b03cd93a894268b3735db567ff1a68f994956fabb88f859d818546d9fe206802b2103b3b9a44a7455ee10bd1efa8d360f497c2de60012ac98f8468f0e8377bb396c36034bf9ad325f242869cd1ec0a77f0d34107681b5704d63dba3cb0caf8ad9f77fc3033d375f8051319c3e243fb39a9073c46b5eeb6f4de136702f4c7ed932daf9d0680374693ba3dd959047d8c2eedbeb1e5be962d1e25bf5055185739867e8bbd6190803204f26075201af5235a934c0a21f2ce8bbdde826859fd8dc9c81cec7b30c4ff103a9a2cb5ee867264cc79ad023a8193587594b88aade8264da1b98e554b3e0d8ba03bf8618c3c4185ab190dd67e36c2a9de34c2d3467ae082092865a36f3e163408303e8a24e8c0c08acd97b992d1e101ad214f5b6f5c814e5a423987fb7ee31000863035b54c9e12956677143de043c18c9ce3ccbb274d6ce12b0bab39a86962c90775903aa9c3057b3151af80b926fb72f9ade85fd181cbf23f5cdc0f4739aa37ccc4c46037b1a7e8d94e4a6107cceb2cde57dd7bc2b757080114dd96ca754c3bb179004ce0387d39d962c884bcba74f0010f94e11655ff8081d45ea09b5190e71816389cacb03bc067ecada2210067788bcc34f1f691b8c1e0d2baa56a4e87a07c942b49d487a0380de80a2c2746a4dc13783c1041f535479563186c997895b94eb53c42e7bb6c303ef7cfeab755d2e6cca2ad6027dff53b1ee9c2c1ec5404c1f52356ea20e96af0e03ef18c030a90fd67d8cc6575de30c298d17c3e9d45942101b227c4232e6282c590385e4a85930cb1eaefc604c1b705de8359abe86b9c3f7fc67e764df1022827b4c03ace1b4cabc6d16ff437064a8066fa58b5c800d44567cb39b2b1c50190f4adf30038bcdd4d7ed650d7d462406f6f99841f9e60a6724965f646d89821fbacd9cd1a503b05cd7701aa231bc8dd1cb13d582f115d18684b22a8f0afeea4e2ee63ed6782f03afc24535f1707b325ccd5ced69ef8a276c1657eee85a04c892ea3222f50e0cea03f0726d48775390109569beac0670009b855bb1829bf6b80e82aab9e855668f8303c1ec3f4b44a5ef44f46484172d0b90ff2dc8bb12eab1bdbbe9b04445486e65700302c831158307e6e9459464ebf16a6827f4c114ebcce0553f82aed2254cae2eee03208417b53d2a92fdca2f84d249bead3fd974ea92d3ce21e6166db851ca522f9f03dee0c6585a82ee7bf2122beda12ecdbed50d518acdfcd55ae51833f443959f8603c84c435be18781eaf642395e142b9c28386604358d87f39c4c6c6e1113b42f1203ade389d2ee7343add2fb55fb0353607f561ce46cac85a5a423d8a2719d3bab1c03179ac9be7e3f7bdd1a440b8b90ec4a7e826ea157a0de532a795c614a9a5ecdd003b6a7c0179a68b7c8cf864df96c105c85bd4623fbfa04da5bddb5d98ee230d8fe03294c24dc4963805717b23ff6c86b5d0f9c3f7d0de1a201cefe2d50262497806303606eda95f010929cadd259d71f0c55f6556595f83c577717f99e21deaa669f6e037cc658c07fdb0acd24b3e79f617d061be740d65c8b9c4e4e96143bcef4411e73034b797874ff48d7d07854cd199bad4242907a61f547749a6f339a45b6467cd1ec036504f0d0dd7523fda1ff18486d2b4887c4ea027ea082bde40c2144577756196b03612dc7826d27296d21cab3dce337f8dfd742951db5383523eb15742b92449e0603eff92f032575800e94d991f3e93bb923814678f8a8a50074d0be9dedf8e1939100581e02768148b00666873b55d3efe045cc72a16004466d3449bce9f5edf1d3c45820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffd050f7f00581e038acfa4e9e8fd331c578839d749774a78cbe37d2dfd265836e4485fb600442525470000581e03b04a7dbd9df01521543f9a50f80779150e37d27920d38ffdda53058b004503e1c274860219600002190150037a5a3efef34b3858fc61c1df942aeaca367f8dfbe3b63a014198bb19cca8382a03781a81b0eb2b983edc9baed8658fba2579b630f4d4333557622eb5ad9a8ed057037307baac8645e13a35d67a8ab3eb67cba1a5a20d5a8e4325055eef0b06d3783003eb78b313b7bd430e7609a23ace7ea191c950aa1160b9aaa78c82efacfdfeeebd03d3d93556b02ce7a7bec5512359bf5dcfe14314210845ab7d77fccfcfc3db2e8700581f0346b328380b075aae943d9b21da48002bd9df71e72270edb5b263d0bde7c0472386f26fb1bdc003da43eaabdff5ca76bfaba72b9fb39d43ebbab07e246e6184d676f604c65b95a00219ffff038d5b1415afe8fee74efb1ce577b3627fabcd66c24affde1632818fe3acf28e3e037a16a0dc7a0f81da0b07c8760613c34c416a2189eccb5bf0a30be85c88bee40a033581c4b545315872c516aff786911254aa35f48c25999447611a50f55b05af2603f1afde338aaa0fbd176504204c77c2027a12d7fae3fc4366106944757e10eb6203a2dfae34fe673e6591a13d6db45ba91721a0ef2d68d9b79098709d436009dea703f01d39ecfd840875eac918038ce2316df168c889dd8395f0868f4cd2ac379abd032c490e7fcf12122d0669bbcd2d90399e72d4822bc260d65ecaf4516aebee99cf034b213d7a0e31412ee5288e1a47da227db6dd89635d621e6ddbc3bc4c860a65930219ffff03e2a5c334132884b384770b70e0f58efd3e97f810fcbafbf5c3965a9acae1b23403edefb0dc13386c7a0805f43ef662c1041688c535be282ec7e91112d98cd68c4903443043f00c2277822156c85817f87966a94df8b683fac90570fe83ec9598fb900219ffff039ef78b9f25903990826b25b11917c47152d3d8f668b8ab663b884d2d89e146d80219ffff033da29bfb42fdaf74bbeedfc00b0d34b4b7109f02d4bc36b4d1ffa4f663d1b35e03ba080fe2a0881cd9f191979936b941c3e466a578f1fbe7b58edeeea748f6b7140342f244b4b7f03103703821a45c25bbff51566498467fb2f803769413086898fe038805a37c2679887525eb7ba0307b59fa7012a7f35854c284624bee1ee052913f035b50ce163538a5013be74dc76cba120526580ea5c43a5041d6a8a3c85ed405a503f63b5437cb9922083060bc9d7240bb068c0350268e004ffddf1a92d8f5e9600203ce949b514aba9b5ee3b61bd7b66340aa990549a1a3492f10f1febf4b893d526e0305383c9b31f407640c9c5ee6a3c5e4590da777e1e2cd48492e87f60ada263bda039f9669fb963b1f691e4d6255237cdcc85f93370f122309405f7e814a43cb23ab03ac32a17b87e8ee35271ca7a6d0419891c14806dd1f0408a62f7ddd87f7d8558c03dea2c7afcdd418e7b178990a55c65c60693fa71ab0650ffe422e61961a4638bf032c279a93e7431d19076319008d5ca459cf1d09cae904b79cbf0101d456277edc03b8390a0f3d1a66f76b646f04ee7e80995b16e4e20c6e0ac1880821955a309ada032094ec5b898e9874ef35a3413d62c2dc49f4929fb47a7db20793965b02b7af270392f0ebb363d9e2d92b98ba29130e02b8c4ed97860153219c913ba2297d66ba8a038fd4482ad707f3e174f2cdafc3fffa74882aff086969064b9f6e86bad5a721760375fbeceea9b1964ed4334e8e1913c9f47163a936030c7953acca9ad1b59af8ea032902c974f782fb4962e059c790b88d5990761dc97846204c3cfeb46e06f5233f039dc513d22f21f84c14a67f740eaaf8c94e5dbf7f04e9db3b750305326d55390b034fec9e11d7c07d28fd4990d88a25873cc44221de5dcfb07fd76699083fa4a40e0329d4c22ef247f924700e91d313cf7180d97ece4b91c7daadc7aabca47015810a03aef157cc27f6f078bdd17449daea5af43c5800a79cb654c105d80a27554f8da10345408fb92fa38dda5b0b82fc1fade4be5fd81cd963c361aaf8e2ce31593ea28f037146c69542d8f8c259e7888093441ac78c8a74f3943fd0c356221951fe80dba603fe6b740130dbac31d9de8e5b9b0f4f3980e5ff6074e84aec568a4242feed520403703250c6cf26d50b55a4ce07c5cadd0090d505c868c664432cf01564e3ab1cac0397717aeaeb673dcb57ab96bb256d897e3878604cca137e1fe816acb2ace4739c0363383959c3d6524865c40748284f79b77dd9c066774beaa061cec41ed179087403fa1fe8c6870d3bca111ae687de0af67d403ceb4ef7cb9730ec10e6eeb8b14c46033047c1f1bb3e520fe7f7bb8ff7943dd1b2c9433e4949a4e52e128f8c602cc3b600581e02d7c4e74115e3bd67ae700f41e8c0a912ecb80652d34241d04fb20bad595820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffcd23ef5600581e025d158d70545bb3d5405712e9d5e851ebfa59b302cb310942f2ac4f919245b2973cc0d500581e02fccd957f00ca38e85cf53f3236a3e22a1bb14017336c82b5afb2ab0ed4432dc6c000581e0230cb2d8ee64bd2581cd46ab48c107a523f2d4764c1bef72f11d21ade454503623ff88c00581e025a362b8b64d08a8e448fb7486d19cc472d7d36dacc402864a47a16273e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c5e43b182bafcc84b62b326bbb4880a0130f439f14af499b43fccde5f743bac48000581e021d3f5f2f520fff2c059a2f18885fbe7907feb93c37f40f82a9a909499544017d784000581e02692f9483f72bc0e979e263a2ea94bff4a8d75a7778b7f8ab74c4f9b1565820ffffffffffffffffffffffffffffffffffffffffffffffffffffffdcd30648b50219dea403a9d385c99a906a55d082bd662085ecee895bc73c8b901643a77455ab7daa7b9403db370da4e550821919a1a0c2e9bf42bf1a3a20b1962bf2667e38bffb303ba30b036e514ab0b75e3c4793be4fb274ae0aa00ae959edc5ee09c5be639d31ffa827f6032e785e1042dbc4500f38892a4e44ab767d984b3fcb8dbe44a83822e2ce66420003801b8d8559d3273bc1202c0758aa6ff65370af29cae46cdeb1071f44c4b0dc7d03b5bfb8cbcd92cdfd99c1e2037ae82f14729a65a554ec44302578c5f0faa19e96039a4ccd50cd04bf9c47a649fcc2184c0f1c34c21552b3ed58bef31d1adac7f18903aa06f3426b21138b037b10e78c58cad46561129bdea08dd828609960ee0794a200581f03eb5efa69796211b6354e53f9abea506c1be09478695bb6ef5cd474548280440d1cef000219ffff039be3e71d2ce41307d8411ad4634f4cc01c1ddf62ebe88d77a59853ab266458b103364cf10193d94fbc238b5ccc30eb9c5e4dd02a7a65b6b08dfbc7fb1a2740fc350219ffff030f593be841430e70c1f5cfcd7640da3dc7e0822124916d5d03c0bb8d99a609ab03de6da4770915c41020c9b5c11233032c25849be3aa82ae6e2a5da8cf9a99ebe70328dd0f8243837018c07d7277953515321bb400a36f8474cb6984c698e62b6ed50348618dcd31b9f5e5e3e121d7455a0550c31e0e0a37ef97f4aaedf6de7f7ac9bb0316cb35c1f60a19867533dc026ee1967966449a6ffe1fb544a963f79269a181df0219ffff032825771a4e036528d90dcbb9658eba9ebc3d6b6744b324461b543e9cd33bd9030309685bcddd67c341e7c9e0fb5a220ffc431eaa0f94ec3a3a58d2a385b6a8a2ac034ec6f6ffbecdcd26e9b61878f790acb94ff70fd81960c31b1dd542567ccd16d603aac4ff9b400d063193f6cb369e4c890e16282215c4751eaa96a20fb086273c5303fe30d0888478d999505bdd9f0a0d4fa45fd4b6a1470f4148b2e6a3fae7f3e63b038ec5a2a13b92829bfd223644a03539ce8f5d52f46e6e851680a69ed051ee1edb031d4e1951af7c1dd07bc49a6c1a09760d595ba9170d5f3a681e5f965e6b46f84c032bab919da20aab6d65eab9cd92bb10eb76b51d7193d9a2b55a00a62a286aca9303266260aab76b6ff343531b7ff51b26a6dce71bc125cc712853fd80255354fc7d0355965e5dc4a97e78fdab9d4750dc4310566305873137cd4d2e6ceb0e19258d08038fb53548d5a4645967b16903fc7b9296371c63f4a23567bfc039f78d3fb7b6060351ec4e9a648fb14566e9cc2f468303a684d413f22f130d6584a3435d0f4fb0000370af54559fc06f7878e3ecf351a38a6a49cfd8d5789e51d4e98a242d8372d80e03478f85bded9ffcb0bb1b4b5d2fe9d58f6c9c49479d2a4a698d596e2f0089eb01033b7dba3cf77ecf0b086d79e2bf836c9cd73d9436e3c29bac5905dfc3aa6a89860219ffff03dc1282ce4aec06627c6297059793efb9c7f689b11dddcee997714e2aff0bb47a03d7aecc4a104640ab7151f01a91fbbfb1c710c5b1b36fb9b00a8a487df3d07f15034949ce37dc2a8469dafb1725065b7219be5e38b781dfd46f8f2e28ad5b2b59a5030f5aad47da99cd291c8048804505777a680c401447ac852a8b18e234b10e05a203499806f482cc19201590e30dbfe6d15f53a5cb8280132dba90fa165fbde4997b0376e5bf0ba24a8725df97173c3499a74c9b7902a6da135027c0d68d555ea57ae103745aa4ad65affdfe1d46e1215deb0b875a02fe90acfcb02774d286efdfc7ec7103eef6735df0d162ba6b89db092042a2e3536e8fbb7b6864294a10129996be6be403ffdc1b0718e1ce498290a1b26ad7b162ec888eab04fce22b30b1956a327e233403ef875220c1eeee7c7ae6722e4c76f2737d6fda69708504eabcd636733bd7491703b88653af2f07582fba8d724ca9af44831269ec84da904dec7a8673cf6c2fe3eb03c6ada6a01157fbc194c9be1ec051dc488ba5b61a207e055f169f1e2b126e37e003f0b5653a5a2abe0493a61a562c9ca8e77c2570a247b68ab54589b3fd2830fc3003fbb2eb86275faab7f63c992748cc239e520b7051edd17daa6d07798bfa4e690303b2179b45c79a3214d40ec104006ffd3a54d405c52ddf6ea15fae57eddfa3a86303bccc2267aff2e309385eca6323f7ba34935447b05b7e7dd19efdaf5c67dd6ad8036e2fff97bfce7f7ed6be9098f54d2c24c33412c3594b24de82a7167349c2c22d03d7cb181f96f56bd13f419a90c58369b5557697abb80a0b317a4fec43b5cdc5ad03cdf2560aa2f1f88a065fdaca39a1eee4792f9a06f93a9d219dd899f2e7c8721203a4c03fe97a7a9966593df80e78cf5b770d93ad3788bce80b1cf273530b5d4697039b94c5d7c9472c51664db5f0b0914f829e05d46b2cf9ccd2e2740e8d6f85ea7e036501c7b07fa0dda5cada9ef43a1de1d4dfc603c1fd2c3359effe9ce0d2dd374b032374a1ef4ec8738c5368fa68d1288dc5c89f2277fe165357cb95b637b9a2af650397c010cb3e8ab0df817ec8532fd0e9b14d40176c818d9bd588f129ca9a1def0603abbb522bc0d552ea48eebaba963f95f84bd20e24a1b1118fef2550d90d2f781e0329313bc29d27a2be931cbcb8d3988c0a660a960938ec1a27a1ba463e9a81f780037cc0cc7dc0185029722c693fe877dc2125cd4ab495a553004dc0ebefdaa1618b031b64ca1514453149cd5800c95dcdc15212688361e97f7d0e4dfbbada63e13b1f031dff55838090ec79b40a1d7e00e7c57334fd99f9675fdfbc267dcf756c9d5d8f0370a3a6187f9cc5a0826cb1e877e43f9babdbbb2661336759f2af86553c866d29037b8b3b3de3851a7b915330bf22621c5e3c575c60e760d010ff33a51c9a61e4330311e434ab967be2674cbea3d8e2dea1c035780725a69dd4ca0afb066491a2600d039881aca870ea0fce9e2d5c824eb11b2752a193df97c97b8c1ae26bb45d08dab303744ad6629f98c50c944e0b8bc7658ac33c3095b964b554d8158c9368b45ec9ca0340bb456d46d2d83382d53b393d445b2fd2a4f9b0d918c53178143241cb05548a031c315c9774f1991561935428cfe43d0362b0dead5365efcbf01b4e232a74c836030f8d76977bee0e51fb4a0404da38cd0fa3a20300479f59d48242569bdd5d260203a3d4d9422e72ccde907f9bd2606acc50c83b087a950b689134b2ea1cbbefd93403d8e2e2622bf9021ee2300b8da2aefc013058f9b6d41f7acea4dda569c5d4fdc800581e022b9a5f35083bb0ce18514c7ffcf873179c47c71c3910fd003df0e89cd24402071aff00581e02e9dfdfd17d2d03d6065152acafe3f919ab258e58c4ae9ce8d4018052785820ffffffffffffffffffffffffffffffffffffffffffffffffffffff984ca5d25900581e02b35938e654aca04731e088a027d8ab0efd9588a5208fe3ae7d4ed52c944401312d0000581e0271de867c683ffcc0f63fbe8c3ef4018e5ed51a9203f834fa536feb2c505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219891803b41b61216179745a872105755dd462c19183977b0666880d94ecac692b4c0ddb03dd6ed9d4a1f1907f2130e2705e2700980e859fc42924f387b144eec2e2a983d703ec9ad1ba93cad8d890193d256f096ad4b213475449b716a8a9b3062f2b75139503f365e658511ec2b064895a82d8fb407832145ea89760aedbfd5c7a7709d8c111035b36996941023a22c7bd80b702755fe61382d3aaa3afa666c7705ea1455a167003cba18932d48d8ec89d42526efbd14b781bbf5b8efb2b601bc31083cfad43becc03b4d84e214c1f66c0a8164a4a19f28621e792c7a714cb8c571faf043702f49137035701fd278746accaf9e60d7a71977dc15b7733bcb0ae667f7a7882d150b622420219ffff036d28bb785b84c6f51435cbde99072fee2b9c5434879d5566c33e974ebf33a0010219ffff0219ffff03db1481184a80a89fd2c290effdf49738002b1dfcbcc112fc5718a4bde5f6c9ec03ab89c43c680d699ef6763d968d56155ebc24fcb1b978b86742e289ece29c1259035fb7f39f43d3322c80852744b4a9604d230dd6b3ff3bb2beca105bc372ee855b038c6f799c6441708ce524289fa8d7332d379fecfdcaabb0b96c8501364b38e1350317e86e08d313296047ecda377a72d2ad49b1feb4ecd52f80737286905630452b0388123d5eb78ed0ac8a19797f1f24efe6a8f3d64e2ba9f9d457c01872eda61b2b036e4d5fb6a2238fae9dbb38e37818ace80bb5da3d1bb7c6ce590af9de5cd6d41c03f9dca39e785bc3e2ef33f78c6ac9aa950f01f79d3dd42637b756bb67aa3c923b035ec3f5188ad184c509bdd8bf558324608c1b44eb1fec3ead2c380e77f34b6ba603412a36d80598f140ce18ca427e24c406dcef603e453218c071b0db07b1dcae80030759cfebce858f8da9e1fe0d1783f68a476751c61866bd7f0f400458d43442b10344c566f31f89d2a2a538b9f3d31687b17d05c0f6124489df65676919cd61da7e034578a5e7186003f4571d1678232e506fc9b03e79fbbf71fe8d611bf6787b44b403317ebcd74ab9a6d75711a11eb3e9259d1a8ffc4093701964eb2974ec71485b21032116ff51c8a21dd08f0a02fe84c83a49d8bba8d1e7ab99ba0eb8e4fbb0db83c7039662670c48887723553300e4da38c860e92a219e8d588c2e2ebda7b123299eae03093f1f86c9e4c588348f8ee1041afadea892bd6ef5b3a8e17c5238d28e13bf81038ec8946c709c2d97c2ed96838a01e870c1e64c3526fd71a39a0cdce7554765ff03442cee0192a07a05918f6262b7c0973949df5518d4f4863c41f3f6b676f6b0d503a8fcdd1fd041b98c706184a17648d68ab286591d277116d4f2ce9a0ca9cb419000581f03b6193242710bcdf564ede9c4f920142c4207b67d9ed8ce5887d536ac6e10431628b5033b988807e321a79d50e669445948cb6bc2f8202eb2f79ffc9f93cb915e34752d03808924ddd09820690daee76fc65639a56e2463bce74b86b32684bac4ba1813cb033b8541e930ab3a2a30be54d7501bfd28652c012b377540795ac9d5e01dfea06803aff543ce1f1206625dabc25acfd76d2c69f45f13f4d946f79e8826f4dca7782d03ad8812188cf34653a47f189890107708e7edbf5c00e0bc2fdfab3f2f9738a56c0320be7638ca94d36f0d7906ac055b98cc7520affeea8e11c52d189d2e66fb5d47031f77bcba2ac80cd7fb9e13dd190b103728cb024238b6f2f588ec280e0c205ef00368e5eba27adbe35ebe5ba10a101573fb81b09860f7b68c2984178601aa02a6e10327aca6dcf762ed27cfdc49f56b3d2f2a54c4157cddd546c2f2f7d2103e7383e803028b9e4e9775fafa753b1d14252c31e249b7d6f599e77ac616104ddda07366cb00581e021854981fb559d654f44b75d7e18fe937250c5cc1d57cfa656bbd56b4705820fffffffffffffffffffffffffffffffffffffffffffffffffffffffed5fa0dff00581e0336685a1a481d825d6047c6284fe57b73715a15cfdfc82beb07d98ed1104401333bb800581e039690d1eb4612b8d93406bb050863b299d4abdd9385a8e47649e10b0450410b00581e032c28eac59aee601f9922025458aebe996841c273e9aec743ed5dee66e044340d1f9600581e03dd3b491dcd1ac428e60fc0010ab1c3ee4ccd9d631ed2c4198f13c01b805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219180302191048039f1de326dc6b2e529ff915d66b1ccea7bf8b0001c5b7f9d5d7fa201f53cd3d010219ffff0327feaaad34edd0233a2654261b35c2b6e45bdb695a84ebc3cd1af3ee64dffc2d0346f9dc75b2b2495c0ba970e586084b552b2025ec0bf7454e59a9159fb565081a03eebb21c6b1b39ce47b47326e5df5a681fee4a2f3bba77d7be2d61dd842fef46803970ae79801a02daa351c70bf415d87cae6d33f0f24f06ffaf42c75fcfd491ca503315ba2356d96dc1d4d0f2f7d802e2205044e885b020ce3e8354f543bfe9ac14a03f197792a8eff0dcf7a8ff4109de59dd7ac03143a7f9b649b5f41d6744307fc7d03fb0755dd4076799137cb1133221887928e76dd9b942ebbb4f13b66aa3d0603f80379b06f5f972b0f8d189c4a3ec51e221c1cb7a1f6c3ece814d270f1622d8646b703bb8f6bfbab5c968d7dcb8bfc6dc67bdd98c823c444f93e2f285518d91e4235e40219ffff03fbca122c352914273e32ff1395a895ce1c025e86590a3bb7414b7138282ce14f03576cb550be954dcf2fd99a8bd9cc0be268c820d5849ac7b05e6bc0c7fc78442c03234f8b5e87081d793d61617cfa0b79030f9fbf6e9327007f5eed52891caf30e803709d012fee300ab8672d98ee5f41d84267bcd7efbfdc76aa78e05eae7f8ad77c03c3c764097ffbcd1aa2739025b6e7c4932240caec099beef8f7b8aeba24161fda03efd5f02accc3ed194251bf28f659d43b8652a9395483a7d063e190578ccb5a8203dff5b3a46925793386abb081b7941bad6b4f0cf29dfa687731c34e868d3a33f8039ab7de6b87a4fd77b8e7b4a7dbf4b4fed451328e76903495e648eec15e67d6c90372c143bd7d6b1c6e5ab5bf9c120752b845cfc91f9972d2b8ad1c0c14c58eb35103be9436cbe690ee59e6e2583bd19fc26c3ac40323793e2aecedf68b9aeba943ec03664678ee7e44dfb517330c002af0af2d5b30b04a4918dad16a2cf667f74e1e02036e73785ca4e3d67369efd222f3f21bedca8e143548025b8394d7425d4902bbfa03e33c5bd4cf6e054455a83edac006b740ad06703a9324bed5981798eddaa7efdf0219ffff0332fe441d38403d057b146727d849f5d9a24d293aa8c2b44199791220fe08535e03daedf4487d31a45e371fa7e5e17983c74a3f5056cb81196652382446039882cb03311f7330f01ad45e6b870463e1d3b03d00630bde48ff749f3801e14991a4cadc03a2ed69480f83f5d915f2e92824c7b46c92a79715588bdab7c0894baa2b58ff6c03fe12df4537e98979abac55cfa7103048300a646e81b576f93b5549bbc74a0e9803203c2baa5223e6b55c1503cdf218c062b102a3557855e614c280f43366a2390003b3639eea28ad4f8221ac15c7d431fcc0f87d087a07b5872c6e68539bc1e985450342162689d87340e683b0371cb3f2d92cdb186330a7874851c8c5e49ba139913303b00177ca5e1d29a4edf963896c4c9e5d9940bc9cb2ec2501e265fbd7b2a18ec9035f92527499cf1dd79c109af8dcae182bb649a98d1ede871e22622e8380c7e008039546e932bd1e50090f09b016aa6f5707cdd6eb6ca8c5fcba6efae335cc9afc990386bf6eaea867b91fcb1c12965d703c4e5dd39fd4020b856383f615a53124adc8038dc730b3e56f8dd4dfb843886a76806cfe66fe6776a1e3cc0286f1208b43443f0328273a24e3151426913808dd1e0c22fbc08eb11cfac95159603eabfe6cd1806b03c94f0c5cbf8703ed3cf746c2d5a48a9bd62a5d5c862f8934b728745ba72e58cd03f006d5ede1ba6feee8c136d2de59c4b69f26e0742cb8db984a9a5657ca3dbed60382331ca1da02d0b55b1463057d581861c3e62144d7c3a25b55d99e05d5395ebe030ffcc6d6b79b45fb3523dd5c9d97cfe6302dfad7bba852811cae3728ee722c35037af7ece1ef5b8641c70b3afd085f51c8efd1c18cb5ae9a701b245115d9df2bb8033d77e4851057d21747722de60cd75befdfe83b4aa0afe76986c1648e21080df203e26b70c66871a3501431c931b70eed7b9f2c55d6b10a73c7a0fdc57cdcad2f50032005012e97b7cf22afef0c8162db9da87f8638f94c5b62153fa345c334fb5c270369f6bb16233990ba54fdc32c57f39c0afdc1741255bed52aff86be47f3ec1822031c3f4795bff53446b00cbbc6916b61a098a4b648ce158e81cd02967c7c1dd5ff03e201a0e8d876161d644210bf187c89b3b79026fd9fdf9f6b3b8b1d9b52657c6e03c77b31c666f838b5568ec4d9cd6e49d6627ce145040c5e128a4d0584b8cd14e0032d1b8fa610da3f2f1a8696849e8df78254c6adc6a61a1fcbf0160f3e6daf0dea030563abfd38a2d0e9f91d5b0cf9d8ac863c510ba510eae7b0e44961cda36f32be030a272b5fa0a8dc2899bbf02694761caa55b7b48ab2a0363192d47f7b0ded453003cf8a38d1106bda4a7efc2aab40cf949c062197f607c425d9a738342658b63cd503f785334de05b1ace2ed365b54c8ce320777dc24a2ca79ac5aee570cdbb40924e039cfc364d346d33a5c1ac09b83525d7208238c85a9332934b6d1694945be0bc880307dab37afc256386336739b2894d12ba4f66c981e946c790e793b35d8b93be0603001a8df76a2a3a5c6a9c7b5add3886e9634fdf03b4365645caa9a4c36d0b05ad036435f04b49f7a35862dc7bed78651de071e2d283ba38dcbe632c221eb81b4cf703478d0bd19aee67451731ae49023d159e6ba287a7e70f951bd31f7197df06420003e677dbf7dff4d53dcd9bb909d5c1b4bf4c6aa69b9a2d7c35d9852c34d52a203a03868a2dd06ece121fb566dc7777b61a7be395372b67ea2f49b68c63d3327d2f1a00581f03d1b4c38bbd513badcfe3dd5e7dc8666991bc2cc9e112f160ba46aedb93c0430f130900581e027f307d5ef2359ecac42d1fe1d02e1b8233179de19bb28939cccc231927410e00581e026d9af64f5df9191c585a42de534e334020d2c49d82167050e6e69ab4e25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe6708c31bd00581e0284279e86ac5aa57ea3cd84cf95cf6c62bb55d4fa06577ee8f1095af9ff5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63fff5d00581e02dead69ef1d8de55166bab5e63aaa9eb1e00e62229ae1cd3abd28bf31ff5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe494f4ff00581e026d8e1b91fa786bbab17c9ab423e25053be9f32b3de49ef3973c9871e624386952000581e02ef31b004c8153a346f98d1b846704374786bc071558d19c2a48c0ef2d55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022cf71cda4a04ce0162a9fe1a85aa4e9f95b23485a1c6b506a8f2d8dde445028bf0abbc0219e11c0219ffff03845524ac31753ef86adef68a61e066a292ff0c43735e469c7f0f90195df8c5aa03e9fb7f7f6961e998beabbe21b108a111e9f8b6cfa29d8c068987075dfc17359c03f3a5c2bab2601badd73de82490e4b630aed03554bb8caeb0d9a80da2b538a2cb0219ffff03b993807c51067c8fc9cee2b044417bd3c9788e2203a19facd9e75da4d76da7ee03e05aa123c782dde329cf0d5ba4e0c67f2d71f22c5970135da92dc8f3b5003434031217ab11726afac7201fd0ce40774c6d3f9ddd415f9c0b8d6a36b0ba0ccc5fda0219ffff03150c07a391f0b02a2d291f747157ac9eb354575aa24e54a0ffe34a8beefa82ae0324d84f390bd22be108de384828ec584c743125e729d79e964794f8eac10c808103bc9893cfda6d11c05b239efae4182a0ca81339cee3e719c4f4e55206f5341521039a3a01d9d8da26dddf5d3124c68ebeef6c5d3f8ea329c31b27f9e2e5008168db0219ffff03502cdff859ef3141fe4131bbf66e536f645388470859b19e7bb4149f5f4af908032c6c9d902242459e95e7e10650b5190491317a382f7de9919c867b4c1f5318c703c27cf27fc7a25b4d2d429eb4c803122dcaa96c87461a29926f7068476c4a8c7b03d17f5a7fbcc420ee25a1b9eda9e449d7fa6dbd84364132bdf1c9cd9528feb5fd03d0002c52af19af650fa1606cabd76625cf4d252196c82651f9e727c71f7016b80335b4c629f3242c46cb4fcc87901a92078257a65022c6939769a919e4981b533203ccc1c707faf117f2ba78857aa585230d4dfae0e1b4e502c2b20b77e08484ad750350bc4dd2f54c0975015374321c155038d6e6ea29a8d5f57e100297b8b082a99b03534fc0d32f27598325cbc0b888c0bcab6515f23cd66f47ed953af0d0515a052d0313364f33eae279116c7a5cbdbc9eb3cdb4acd2d3dddf6eb4a983a6c95115f00e034f914fa91908fde8e0aa7ba108efe44f7a15b7d6e319e64956411e1b564fdeb1034795b49f0390d6c1a1c03de1b17ffbac4909a56dfed5f524f0f0ebe74ea735c4032ab65cb01bda810ff80cef7d5619f8a77ee0b24bb86c807ad5f00661bb45953103821ff7dab48dc63d611841b00fd8c590f3ab380a7f7c0271bb2ce332d22cb371032d31e1b3533df046ebaff3b22c2e23ddfcd2b4e291693c4d0437281016bbfcbf038a2a222489418f0fc808d03ea2546114818f01ad05e9214a8fc8717664b929ff03e2b9d071f484c5533074f0e59aca51e6462f4b0ad96273ed879831f6168ed1ce03f9310c4ec95e1c1e1c71bc2118e9c44b86cc941d6b9e2d194752ec636f2cbfc803964e4ca405e4cb2433155afa995f1e61d569557573a9df7b25c2a852348f09b703cab77dd36da5ca98dd3e8af2494d60e0dd81bb461d221d7d03bcf4c89dc159300310a235e4bdf06c4f4d4ac80d2fefe6dbec890c3ae83edfa4ec12662eb0be74ee035e81fa1122a700b2d2634adaf8f8843a2c01ffcc1a1e606301bdce7b85a734880385a5e679561d967978ee148ada4dcbb7b937cebb2302866f2ec249cfcaacea18036bb660cb4a3945333147c7b26367ab94eb8a801819443ac4a168fd4ebdd0c1720363a02a25faea3286a06e45892474c6443fb594fdaf22df141249e9a7ea5108b503569bab1be211c3250486830686e0f07b68ea100ea1e96f185440e5405517b6f5030b1b6fab363cb6a3f3457bea67065af400ad75b8d5c5329adc213b5d82ddcc3900581e03720f61d5fb7c0ee81bda4b67178f2d090de5c1ae1ee7d7927e2255e7105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03e7b26bd42905ce5d97a1b1cfcfee6a7b451265559a94b738a6eac0bbd0460b45b6a0adc60218c000581e0224b91ba6bd8a7d00871186c39720cc05a159e4eacc7312a7464b5011ea5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffeb18a8c29800581e025c15d971be1562e5ccddf3de95ff1c3e7fe18f847edb836f26acfbb1d65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe494f4ff00581e02e7e6be1f9b3edf4656c5b125e43d74eba48d417fba82aa26b006fbdfe85820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe4a227e7f021912030357135496f11f3c4a6fecd24957b52cb60b7aa78c650b45688edcc8fdf9e874770219ffff0399af8334f751981f78505536b47e6fbebde24843f294de0dac99baf632399b7903e3edc169f3698c20d12c03fca8e4825b69a9b6f2d2a9a30a5eb256f2209e8c8403958b0280c90c7aae7759e91e9830c0d83b263daea4b16a084ea6fe00fa9f619003bc8f2f71f8240fe12b56f3c39509f032b7c3b61e5c7d0d6b951451292cb0a71903f09d7cd4f67e155d13d1fc54bb56955b797bf7a209584f63a6de9d34266f36de03d22a350143723ba797a576c3a60a74afbdf49e22f41e01a89e83bbaf7e0dfb2d031292cccd417f460e342cc8678b401075d18523aeb0dcc75e324c6e870bc1b53803974ee5116842841e456866a46eb75ac12294a52f5108551f36e50152b6c2261503946d009fda294ed3abef84f761622251d9409e083add27dd2019c1be45bb7b6b03ae24f051162a030221584af3c226aea546a5f095665eddbbd3ab46e9fe1d3d4103a54ddc9f89566e7a16e5f46cb93b7e5af3b148fceb9aee6ae88df8c9e00a68d10378f9824c5d3abede078d2182b198127d7889437db6518d01cb31c7bf30275b9803d3dcffa241af4f4125b8ae64cbdbdbcc9c76d16dbfd9412816d1cf6d36d8b20703e3a8361e80594a3a0c05173ec6f1fbf88917153dbb4de0076e17edf337d46a4f03999ba29fc889cde2414cb085f91dc14473cf5fcf7bcd044a3f97fb8b507f52bf0219ffff03b7386fb91c030191d9566a1efd0de2d7d92b717ae1256fe9a5bf185a87fcccbf0370b6616fae7062e127dd3d8c08d02752bd5b837924c36ea823b43a11ed279aff030baf3985bf79c894e6d58a4680c74f4b59c512c9a32de925fffcd3332078478a033c6bf4407772832749cc5cdc46a8aa910b0289ca2379f3748f4a3c32953cb66c0219ffff03012147f576510f187371e8a1c56418cbb36c419ccddfa299f520052c93c99226031fde57fa99cb16135f96531424713dd0ddd2db0156ad786142b57f5a6269631b038486f274bcf944960199209539f8df7dc1b6361e64de2b251f70f0e6dfc1e3ce03b1c4702443ed3371be3db77b2eeb7d6e004b46f126da028534c066eef26609d0031a31db8e07c1b5b44e05fc55d434aa98b23cef20b3f6bcd32954ea4ee1267b9203bddad0dc75816f67c2760995cfe58d3483c5fd89c66f2b5d616c9b89187474b2037997c4dda1e35b6b7e30906e84330d69cb6406dd2aa76f8b2d241ca972ce486703be5b43bbf78d6c60473a32de1e6f7b936d22ce809d34f0403047128e4eba6c6003dcef8e45a0cb4484f17a6a428f07068fb7e514cb6e6bee6b168e5cc59754ae67031ea6a656ced9153c377c42dd0d7ac1651b1f78a1baae44e6840fd6d48d9a07d4030495a1f994bcd974a3e7da3743b351daeacea86662d857d140c74e343789e04a0341ed4f449ffe4c29cb14be760d2b218e58871c4e4d3f88ab2371ffcab2bc23ee034df629a76843f68e7a4ce80a0dfc75e8f8ed7086af19bc3ede21cc46e210daf60219ffff03c459e032f41e9c11828988947b38abea658a8b1f6035ed2cb451f63ba1868d720319e4ab84a0f01c6e72ec515518a30819157d11759d3694db6625344dd4798e4103db0ebd28060d6209c6ecffaaa5a4fe581a46e90c2625819ffb543168a9a0b1b10336f3104ef6ab560048af639de4bcc9d1cc5750aff56cf346215c59e3b2477fc703f8c9ac41930d390584c0b0371b3e3adc6d4b557db6ea711babb3e6db3caf11370336da8e837a068cde9d60ab785c0ca72bcce178ee00661ba9590c6a1b1f4bc50403458e86e77b1733a84884cbecd8606f4b6cdd9b7936f35ab2def978b1bc91659c03dc0f0cf40f7431e022aebf01732825515d9c0e8834478472d4631d5dfd607057032b7319eee36e0c1064dffaa58f9abbb6b22d783f015f82116e268cd8f85f1f9903ea9ad4d6b2f70fb08a82de08c25894c303955d88fd1395fe284e8e526f25f5d003f0624187bd52822d2df2b18d2fec3fc771d2f7924879c3030e0cfd1c51d926930322769d3850b7265b3dac830267fce86d0a270b84b23293925c9cb5e2e845809c030e278c854b915a21b0d5d3470183e403d31ee19dcddbf6f774b23318b4a13f3e03af93b5814bcc1e31b41ef7e92a59b8f7ddc1333d8f4a2f6e1c9203c9f841913503e21b4629b51486f7ce703987420316a365f6682246cd0ab63af1865fdbabea780357cf916302aa817d788e7223746ad4f949c9263dfa0a676d3c4c664fedf9a57b031d20aeb640e494291f32061b62cc7720c9d183b4e0a76aacbc290f734e6acb5f03efb1af618a28194ccb16e58fce7e79dd198c55cd5842eb27e087cb6672928a07037be49e56b57e8e2e7b108d2efbdf2eb20d1c001fdf7aab0afc4d0533f703f3d9034e8858a04bbc9be8919e299379bc067776d7da4d823986c69fac88f1376851bc033ac169f8add60e146b0f3bd50a97af857e85e67d1399d85cb7f126345a851ddf03df45cc14fd46573b9b4e63e9aa311ef7f5e49d9b7fd3acbd98d08baaadfe6dc6033c023e49b9ec20d1d7355f4574a51006599aa42ec87f14e3186bcb09a7a1939503dd8a86640a4feb3e598b27b67b747fc31abc45b12cccdcc002b3e5b240fa2bc703c496355d2062f4c2eb039de9636fa97170eb222be75cfa80050502754692806d0329e46b055b8504a154a1b008aab9397ea177afb7c63f6778268388f653130245032a1de57f27d635853d317573ceccb9e3043cf9541b7b97dab7e95a38ea2cf376033fd1065d3e2e238c26e208e5852bee52951eb79c49c846c54228927d67231ead03e6f9f14b091989a124725d6b594bd930b20c4795c537db6b1bfcc0f916218f7c03012bfed8b2b03eee11f02d2c9319b077fe948f5d3cf1d3df03f30a6daae62b30033dd5e1d881e520d114130915d499dd311f7bfcc235ac15d2ca933fe5d0827cb70356123063df5c9ee164c56141ef11449a7b57670bde8b3772181299588e24a47000581e02575c8c9c22ce308798c6266f763c073f9c839d14729e6cc26a4bfc118944072f727000581e02afe8ec93389aa22f8eda5e092135d357139ef10b936b3c02241ad2d20c432dc6c000581e026f8dd49179fcf9beedebd7e90aa53c26aee270a65c8672b459fb90fd475820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffd05f9df00581e0229e2e1113a97db1e07d0763ca6bf1ce099620b20bd08b26fa4050733295820fffffffffffffffffffffffffffffffffffffffffffffffffffffdc15e38c3b800581e02f4988001c38248f400965f097a2f1cf2a58ba27a55683c60a5e4c8c7775820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffdba035400581e02bd78e60e9f2be860a770282c7cc7109afd4aca6ddeff4f3aae5290ad295820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe2490974f20304da216c75a613aa0b283c836c2503921ec891b4041d4dad53ace64acae58e6d00581e023f104ec8631c7674fbc8eeb984873f8dc36b5e10996e494603d461fdbb4404b4af510219bc9803c75cbe04d35a55c5005b6877b330408c6e753dea4e23b85ea8d408f6553619ed03a772e678ab274374cfdb08f4280e8de412c8d07b92f07c61d3cd10e39129efcd0372a8db1a7bc4e128861d30ed3cf7f0bfbbeb779ada2eee50c70c5656182e2eaf0219ffff03ae5dc4c0bb5911114c0c03dc56ea7a31a039a18b9fe0688675e6176d9e3d165103f5bf5f8c49ad9d0b3db856203b862ab081b6e2b27edf925a0bdf74aa3d5c51b0036b805390d029dff445831db3612ef8534ac4531e128e59d7f0a7594b52b7b04d03b7c80e678b1b97b3e3224797b414500a22288bac4f90c459b1ebce40ae2167db037e5d922aebe31ea7493d599904422f90b9aa9dc730165674f4e9f659d05692af0382fe77800204742785def4dc675ca30e51e5187cfda89c1b6811a8b0acfa23ae0219ffff039073e0d6ddcce68c4a8c1a78e274b6307e5a0e70b9d173f6fdcae3af835ed93f03558c1af4c815cb078e53105875aefa16be3d6662b02cee45f8fc59bf3ff9f71c03b19c0a17654ec4d0c7c046d52e82b0a006f38f0e1fb21eb61a0ffd1b654c559a0369a0dabb5696f711fad9104a52c81dce290c51a7507835525ba43465573329b203f0db31cb07c6dfc10329ab1068a5ce44e794c6868ba2ff9df82dded2dd6131c80371b2ea2a059956ad2e74b706e365458d200ba5332c75daa8ee213f2d5cbfab1503c20b111f90220023081caac32761247be9367e27d1ff9fd240898cc0c7ad886c030a2b041bd587144e0ac770aadc4f2bbe470bd16f879c131be7409368b71d53c2032c9b7eb416713e120ce4b685ab1b590b1ff4125701c54404ebdb2c8aaf252965034f19e87e8fdf65190fb4ca992633873efda3330991b298db6ae1b343d5b5822d03dd05a20a4556cf9a4060b6364c15d7dde64370116156b950df8c08a53519765a0378f77fa55c58dbf5454694f467ac9e6dfd20ed1da9ae7e8eac9924cb96f7a7bf039bd4365111fc226c79a0003ff90c44021b55494356b1701a1895d06dcdc39fcb039fbafdce5fd6fd47e8b7d9b5853d81476ef8ab51f450f093d28f2b32e8faa032034f864b10461f09c3c01139b65f18e9cbdc99b9127b1f6ab0c4f9da58bc0bb7d80387f9b1b530be6c67b0070167d9f8e052083a16fc0e1e89ee72445c011becef53036cde302c9c517249f94e5e327d69ed7c4becd9a65cc9e033a46b3001245651bb03601d3cbcb262396de584a26d957ead73dc491c892adb66810fe8912c5f0d107003dcd6b1826c44b42c7be9d03e71a6438270091251e2a49ca8556eb1886d67efcc03249095302cf324a22389d1aff1429714625db4a0bf531c449011981abea04a630390a483d1f5c526f77436a432751b8b3d5ddce1793b79bbd377bd6d68ba10388d00581e02bfd688e8a0da9c14a36b3070e8e9ea6ccf50db1aae016c8a6415b30cc95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff5f1144ff00581e02c9f6b0858bb7beaaaf9fd3fe4844564099d44892dd768929a649919e9f449502f90000581e02e3532719b9d8f296465463f5a9099724ff8f70775175c158bd7c2038185820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2a57d1800581e02ddad005385774b43b56b6dedd31ff4ac5f8e98b0d56cea5d32731152405820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffeced2ff03b55e80d8f5d3779fdbed5291e925f8a9658bf9e62618a70821133f7df076ed5c00581e025ee8391b6274d8c35e8c8ccf0731d95a27c4078fd2d969ce490344a8254ac34ffffffffcb6bd6bf60219a4520316df627cc6ca80d2a83136a38c1ba3f9248bd7f29365eedb4d1df796b3819d0f0385a9375b56335194db69e15cdc37838a366a2e620208d74d09104fdd0d7aa651039b341a1539faba9022e24096249d4b6235dbecfec13a31febb511ea9a071b44a035bdc9e61fa20e8cd7ea44097ab6d6aca802ac7eda8ee4a7736d3079bbe9dfeeb035578e682b88afc44a50cfe483221a7a68b0c58edb34c1a68d35832eb87f56ba7034742205b890305858689cb695cf565fd60383940eccc30d1822f1dbac804335c038c57d4800f5dbd6fdaca4202c054d67cd8432dddc9bf9ae2052627b3ec99a31b034a910c99ad03eb65d968aa5dd816db00606b1048bcb49da53259489afe1831e10219ffff0314f6de1ef3cf8e61c06e55f9fa0f2f77f8e52d63d2d6b094dc807c9775f57c9b036e631e775836de27def3bd75a2c36ec7a664501c0e8ffb7ea09ce6a3497f159903ca9405de6576c449fd9d4b22468278c060da3aafa18adcbe12d81cb3e0a0e64d0395af878d9c75a58705a0b50540d2d9faeb1a438d6c9befcefe50c57ba2d9536e0219ffff0378a19fe7370bf7550c7744f91ebe5bc054108ee631b38c650bdd9752af26edba0315fdeee26f41196b1324b70e5e050cb4cb243bdc40140764b3ae45ab99d2140a03bf437be4cf0d7dce548fb89a5268a744cdbcda4dd7ca3d9b93d1542d9d36446d033eb245e4480ba41de9391909f1905ed56a01e85c4420c7e6e4c8b34d43fe33b303b85b5d81cc61a01bbeab7fef412b8e66c4a2c47b33852edb6ff56aa2bb5560eb0219ffff036cb9b5e208b1d9abc395f5c943b9485c9766210d8eab2d709d342e72aed9002e0308e38b4951902e8b846cf6ef762fd80303567aa432e83cb9303460f99dec613803f360ed48afcfccc597ed468052a6d390d6efc172c53282580729ff7b8621587e0357057400f55a23e497e15f64fabe869048eee384fcde6ad182ceca1405c0a253039d892fadb9b1f5d9749ec0a59bf4a350dc9125897e55671283ac80e35e9e006503d3117e18fdc2baf234af24822ff068be4dd0a5b51724e2b742808ac2406fa05403f9517a4e5ac4125055d18ece0fbabc125e670506cff774426818eefa357f9d2d03b5775533c192f46285a3c34b27647bee6f839d61571ea274f4624dd0e5907ad3031cf98b3143d2c9fec109b7f585408c57681a5b8b9af0381b9d0b175b184249f6034d0150bfd7d95a26f5a1fafe68d144fdae352aebd9f7b257e8a0bde9ff87dd6703a7aa0882a9c5ca9bf0a404baab89d80926bee041a59d9208fa532abfe74edd170372aea820eb0ff346a7e952dcfe47bef0f1c853fd4827783fef518a1c6a741ec003c55e492717c2f990405ec186a5530ba2a601f9fafde913fbdfc9917a7731edc1032205ccddead5a4ca963c8a7441038c0d583adeae40201ac5d626a732c2a7c2ff03e24a0c948cf6f8569670491515e08717d9e0b81d4ef2a7ec700ef521a2218654039cda93e2b6af027aa451a31382a7281249bca9ecbf8fa0dff2dbdc8541ec1d8c03369f1ebe201874f2d2ae0a62d772dd3df135fd368a1ebbff504f701d345540fb03ad75e226000e73d818c03bed2fe8e2ddc0022693c2b2f50ae73f0eac096f1f05034347c12dadb316514c355448830083c6f15293e1d49701f70ba8c017b3bc529b032b6578a49c7f3bad39438b629187b9a7d8dcfe878e76aa9822156368a6fa71fd03b55711972413e2cf00d9efd4e8b4a4f76f055edcf87bf4b4ca6de64af2357f5800581e02566a20c04947f038ce51f1d0531aea4f492cc2b951e5466c04f63df5bb442d898f4500581e023147dd6214dad56a739bc03eb19bbe5972dcee1233bb5a1683defd094b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0208b68574d92df15949bec231d2bb91bf16dc72f08df29f9cd58571a3a345021caf196d00581e02a599107ba4e6febf1688767504d5f4f5c224e281269df30abd9138b6d9430f424000581e02a863b9a01bb7310b2ebabebf96fa35a56218a906ec4b5e73454610d9b15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffbc08336db800581e02ed3cac86a150b2d166dadba1ef52d90552c6634fe313c4b1e883fff3615820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff474cddb00581e027058ed4ee821d9778f2807600c4719f90be2284aee2979546100ffd97c43c301e00219a29c035bf0465e0caf0f821dbcbdacd392cc1a8a2a7e355b781fafcdbc1cd272b0a453030add362d2baeb768438a0f85f7ecd8c1a4bc626194a9d8436561395df95fe3640314b8a7d5b974acf04f4b56d2a54a5bed50f4487dea5ddc2e9d29cf4527b08277039a504f87f4e13e42eeef1054084a088640d5111a70b0bc2f025c2c97ceecddfc00581f033103786e37e3156bb51fa6c7d450862439b6f21f53adda9b1c6b64c97490440358c7f003bf7f94e0a106fb44223116b0bbbf0ffdc41ec3133c5aa12f12da78e25535a77403b017e295b410cb136a3740ea8d0acfe72d112881b1c44171ee3ade392b9dfdcd034567ae09f0429e8f69b0aa0efdf468d2bd25bedc0ea6b56622ab7c44e6dbc0af0219ffff0382b1b984c1461f059e0b160926ab9cd711e6b288944459c00b24a22c70241eb103b5b411e5426b9941deee070939b506f092956c426d3d1cd1a3eed7e827179897039c58dad01ffd7e804c319d6ea321bfeda7aaaa432a0b69f2d95c2747ce73f9e30378aeac3a61f6e1d9f78effacee9772ba9f59cb63ed278a15391bf3e8fcfa8e9503d129c24686b0c3356bfb287efc4fcd1e7605a7832476548a7a10457a580ad204039995ddfc040af06d6130c090aae2ba135e415eba7bb1a60b62ab19dd2fc97ba0030c313313859d514f3f7806c042719414a4071e25fdc7161edc096cd6a12f1e710341a3400aa65f272cbd86de48cdc5f5c184ddecf439e2b0ba5041b85d544a2c7b03d80e49e4781a521c43010468920cd9ce492138245c2c6b8c6b7752bef6e4a28d03dc1904ea0afaa01ced2a1735097ff798e1fd1ece8a505eb6efd06b68bbee87f50341b932e7512edb1a0ac8ea1907debb6f060cf21318a1cf5998cb1246f60c4361039deaa21fb0e3b0074b46e1e08312b14ade31a95afc50d1ceaecfd37f1fe45c8b030c6f4aba1ef0fbd8a7aa34a2faf6837de64a6ff3a513fabd09eb9a460a4af7460219ffff0383c6a48ca9b696aa56d0cb51910082e4ce8d179daa1c9e2de3390aa564060b7a03d9d4ced7d201dee924f6bc9d9f910a9ea9d089a77ce99d3ef64aeaef8e58ce2303ff2df63cecea7d730e0930830b95ee760f3ba1071b6ad9be6ce1406c3fd21e6c0219ffff034d1b43186d91cc2a4052fe370f67e85f8025e9c6013bd3ec640cbd7caf90c8940353edf6ad6a2d5597264eafe248a06bebd26c53eaa0c917a4aaebd7be23baf32b033955d2f4a7486f4dd48567bcafb423ed431b276dde567d653dcacee1e7f87c7a03a5d882932acff01f1601c50de16ec00ab73bf248e16e2d2d9f23cc1acb4075300331f03c5f89a07470dc13d38d20f27db74f5608283af4d39e12e2c16dccb440be032a10a1403593c953917a2f714cb57ba008c5681945aa788e926cb72aeea32b6003c9dc55f067e29bbee58d068673de88edbfc61ce183e0285076b13980810b445b0321643a80ea4535d93457a9f6bfe0b3a7347fd4ad9af82571bed6553097ff5dff036e99029c3e567855bd4a6b744023b340e1fbb94ed14dd96f95edda4cdc04268e03b1e9bc7cac8bd851e98de3281f03da5068e1fc0cf4e663cb320afc22227f7bff030792c27d0b8e12f13578c6f887014661a14af15a4ee035f6d73dc5918a38eafc038bde4dd199383db0fa432b0e8a38bcaf1e80813430d8ba51a58eea2bae4ed5b700581f03c11f7bca7f8a8e0cad4e228253a5cc7c9801502e679e166f5fc8f8c0a9004398968003f2d55362ceeab92845524255ca5452e54737f68019c676776bdc87132053bfbf039e558859f99a9a710781417ab13f0b3c21dfa71b4aa430aceb8e65d69a01bc5b030fd7cace68413de0f5d11b02a15cf6b5f4b46c0ca3c62d98a066e3616334a2e100581e0260f51e0111d90a89f455099e43338de0eacb511f79f91052db960285cb434c4bf900581e02cf2b9ab5a65f603a808c82ff5c039d0c75216b21fb2442c91561dda2c6440e72bb0000581e02bd2d2929936b740fa11e2b392e021bca894128951d729fb32ad4b99df55820fffffffffffffffffffffffffffffffffffffffffffffffffffffb52eb945df402198120039ff0e79c4943ac5fd626086a8b26f67f7ad406f8e3c1bc149873be27630fddb7037303dc7b132d034e4d2d392ddebaea0f491aa5e45d4e8f1405a2bec621ff05dd03e70c46e995ef665f5fd998822e558e49f79b489bdfdc1fb41f70d352e1694afd0367e4f60d3e9e8f0e4c165b9124bbefa2a1a3343aa53f36198aefe283630531010349b78a2d178bff92797b7b290b8e5fca4caff94cc18ac2cbfc601d9d4f733dde039bebabbea8091e3ac22426b71eaf2d857a8b5ade3821cdbf8ee45ac4b4f5d5ef03532b2b3543a8af514591f90e4f67f3f1fad50ad15adc495352b9b39c66b910ad0373e9e58cbb4c5d98c9bf54ac7e21423a31844c5dee6fb7520667f739a2d458b603857a5159c3d44dea67c151f3956b66cb093da9e4cd45852bab82c56c2f2d59770219fdff03cf20cdd30e596b2af02c562ad5025bbab3627447cb5e4eabdb642e072928ec4a039fbb69921a05215af5c904b49f2356b5f995e09a788427cf0370865298a01e2a036fa7c456d090ee263ab8513d41cac4adfcd21d0c7051a60d4ae4d857293a9570031372bd5ed5bd87ac83a6ba377d8149de07c1a1cb952f610036affa4d77f0a49503e5f0d5a2e112c2e5b5fbd7dbfa33d670acbb565f02ee2c2a49ccab732ef63def03068c6681255bc28510ab63d1fc97cb879e0a4ee0f8a23dbae10a31dd58cc781d0315bc6b6c1849daf4731a4f75d4e3e2fe0ea78cc282d3cf5123ae39b661b3f345030c823dcc67f68bf245f734a48fd6f61c02eed34c9cec6504e27c88d40b769d88036a37a034fd614e2ea5b0b1537da0e440f11410da056b5ab4a54246f2fda2a16503a1027561e8646008a87e47b6577c7a488b35afca5f0eaeb4d3ede18bd60d127503a59bc1777176eba15573e02149fe4507be379c6f4ebd279e2b015380ec8be493035da74f543fefea24849c81fc4ad49602d3ce614b630ee1891b2efdc2ba08ff680219ffff03386cee96355a9f7066789064a3823584c85ffbe88351a06b1e65ab9f3e14e13203c583b7ab6a48a7eb419f9a1b98521c39493ec827e9c748f4f263a5eddf50433303706cccc6450216b154ac35185243dcb484bb6ef5c28d7cbd0655c8dfa010d5eb03208516213352bd6bbd04ff4dbe84577e9dd39aac107422ebb5ab5d4e47ccf9df034c8ee470193cad1c770660ddd06b0eee540c3be7921842b5f24e1d8d033dd22a036116b0e782b19bc5326ab0c0e4f5215f7b357c34b6623029cbe902904dc7183003dcc7808d13717ed837e13bce97b8a1b9f66ccdaa5217a4229c3da8a39e492168032113a0acb7c4f899ebfdceacf0f1cc5d2bc891564dc133bedc9afb35e65aa1ef03c07fdabe77f38334bc780cf7e3dc8d50ed965307458a8b5ddf834f4cbb966d760219ffff033b83bed4f5d72991957a300d6ec0f1498fd356d71c344ff36c9573be0d53166b0383516e285024968a8e7da4c476502f8d08dffb1e4e6b2d716082f4188a32dc5d035e90a9699f8359b177820bba2d7f0c41f0a922874ee10bed4d4b93cc4306b0240314e8cd03390b0cc82608e679f851ff7341e61f07284d7fbd5f8bb89872d74ba7035f026ecbe014175405f118c7bb7eec171c6265d08da20214a62fa0577a73f4450320d0c8026b0fb03ce37688b80087e37bc5398fee7364d2684b0590b19426357a03a05226f14e38f0f4a97dda937987ad1b5b397291d17491bcfe0b69314d1dc518039577a0ad44f18249618a15d1b64c915c91054720e3f8abd2e238d09e698d48df03b4026d60f55f24970e8ae83183cda85873d512961ea4b52cd4ec11ae3438de40039b6c810f32253f877ad2c3f441836d7a96400ad9d77fbd95486d1a312ba4ab7d03a51d72bca69daa5ec66c2a25ded58b6bb91d47cf82f61680ad69f2803d371bb4039cb15bb60ccea51b83c683d6402026c7b5a9e14bbfca47e29633288417219a6303e4123092ec6cdbd9918c51e19bb106d81f3a9f627c13ce5326c73f5752c447f30354fe7ff534514a18e8f5d44447534f7f3963449c93c42f987c354ec451e4cf2f03feaebe1cb3c823d91d3df285c34af127f17b91f0c0d3e844424f74a75344a4b4034345ca7446e1cda1076a07ae3aad5b3b73e92587f63ac940fcddacdee762cfee03d40cd7783d0f25f7533664b74f1815592fd1fc70184cc3bfad76ea8a2cc870e803e2077765b305a32b13830fc82ed0da5b320abb27feca91ec7ee7caba91b5cb780366793583e0384e6872b4a29bedb8d76c60e634acddeedfd9dfd98838067909ec035aff3715a57cbfe9985766993d5c2de1a51e9f2bcfb0bc88b01a7620171db6a2036d94673f2dde6a319afcd770b775d1feae737145d4a7e5757f03efa18b114552035656ca8667cf531c25e160fe260e34d92550ee2330cf0ab1e87d8485c40ef6a603cd3e2dadbb14e960ab0483d0f09b12840ec1dfd22bab4a1337d8241069e4890a0351cf47aeacf2f9ab5ff2a4dae422b4576d8e86146574d3b7ea4d0fa74f0a4002037248549594140d14d988b38039b912dc2d6599f10a4554e993ce1bda108f3ca903e61ffd88153f34b9086fdd58f53542ec5dc5154b2c7460bd28b2a3a5ecb2de7903a1f513dcc87ca0ede33813ca5eb8f55ea40ab71e9a088bb0cd5d7c14bf2a37f0032ad1ae3702bad98043f1d62d7179103cce00f3f33102544547339b25528117dc03d0c41690cb12bc57e5b3fb6605bf212bed832c07956635af8910ca6180d601fe03e38870481ca9c0886e14ed552623777ac95f972926b18091b973becb31e225a603fb2cb3e8af5329eb24484534c859abaf2acb3b0f2b46b4d69ba3a61e1413662b00581e02b8f7163155fe59d5a410904c59352a26aac9adaad6e29b7425b457f53f44016d882b00581e0219b92fccefa284f5b431c24c7e33af4f7852d6542370069e364baea2bf5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff9cd15ff00581e0242ebdaf283f2af4f4df0b9b335facaa62db7582111463c4b6d77435d065820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa09f7ef00581e0230cd5aa2c9440b74f5782f652fb70ade4eb9205f3b4704866ba9dadaf35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6afd06ff0219202503ef7cf524b309acfb43a17df4753de1d6636684a873dec68982f997d64922a7600219ffff0377e8fb42684b227933ac92338b2b1abb64fdcfc986b1902c4039554fa4f3721c0344ac80759a8691bd89cf4c2e6d646ed9b7c7e7f5adb06004d472b0a6a1f357a403e80338c3837462c31ecce85e403b894f63d52c463584bd55aef1ea4c78ed484d03f1bdbc74c2be186744965090062aa232a28fe9506ee69baea31503b0dae12b7b03b568cea708a765e3e28b789dfa6bd8710fd7b3da9bbeb3bc1787cb8d3fb64bcf03829b951ebab2fe983f6a3fe8d3e402947c6dc8e8faedc0453478a553530b9ad103929a3368f8316077e9b6477a8072526d119d4fc0857a44bf7afad81560c0bae503ce950e6b5a4f5b42f5b9b930704038bfd7605a9545abb590691a727addf17fbd03972c9ecfecc7e91f758650ee9a27d58c5939b8c51d7b3a507d2a18f3e80c257503bde74126d760bca18d4d26c3824173a00372067737f4d0007066f7d6ab384c5203c23a3d2bee43dc7091967a383d4f92e77fffc04e91289f551084332fdd316d8503a2339b1c21b1079acad63ceba8e31700a5d2ea236366a4f561592f03d3e7ab9a032bd943444523caac62565b134641a61ed93ea55c6191fbc19952e114b463747d03a388af3ef58d8cfff6e5e03ca5002087f9665477ed412ee399f716d5607410510219ffff03dcee03a3a8bfbf002d240fde0cf282c664f7c5287ce5b0ec80fefcd253943a62035781b1e7646ebcc1051769fdf8cbde050407451281be8c185a761bc5b9f726860219ffff038d6092f9b4cfb6923fcebf720274a05a0f72e9e148622dcfa174d1c74928419a035eef868cef81bbdb9f15f1453fcb872af926b28145a229d207eebdfc9a8af16d0219ffff0300f4e0c9075d67ee9665c8859ed12cae34381afba624d798b7868754fb2aa5e903ffd5217c7898c4a0c667695421d55436c901c70d0eff2726cdbd39dbc0591a3703c1f9702404547521311d8416087d507abefffc003121c34368ecd0cfb036e29103156b6cb2ac5374a579e516aafad5478b875162e044905257d29566df4e73dd9603fa419a65f554ae0fc60ea4f7fb6e3d33aaf97e74770c8553d683d42adcf1c2f20318ad5eab147644b971b2594b453fb128e7e3afbc481dde9db264ad2d3106b02d035f6e0d2990ab043e8e8895a9a40a35b5c3a30979150bd4a47579bb5bc280768f03890167a117c674c4c53142d625eb0befb5269c956997a214b2898d9ff16ff8ee0373a859f23a1ca5448455b4a42f859b08a8306946c5acf45f2554fcb88731a3200366beb2ecc9fd7186f64a49cfe961fc2b92064dd4824b4e9258d0b046ba0cdc9803eab01afa48f9d5720dbfdc7e92912420e8eb9b5f3f37697f38727098d5cf35d70343d6255d7f6771ec60403c82e9d858daa8507d1de0ad1ec39769f68e404cf5a703f3e32be9d0ade215427bb0e057d01944dfb78e36ed42a72aebd6e550062dc97a038c6a35ce1adae2b4230ff0acf33f7c168a195bf334578e8be8a432ff3b6b242f032acf7f4868297be0c0f0fa2df99ac1b14e475f2404c89a1f8e87e1e26adefe9d0368d4cb54e3a75ee6eead9e82efebfb47437cb5f1b99c799733840038885d5f32036a1894b02e2c73daddcccc0dedbecd40d47de79fdd2ef8137482dcef07b8b20603cfcea24820c8d6441204a254d3657aabb9cb6d69b929cdacdfc8c329d3318411035381ce28513f2d442495f4bd020ab6aa46062e6c6d6b13abf8f5a8bab608fe7303eaab0fb98018dc78b66eb96b4fb13ce0b2ec602f0ae1dd449d312a9fb3e4461b030c493c739acd88d97d3b63a822d8f6c7cb11b554a45be894160ac523b52227b800581e0289f22348a225e726c39600627e4dc0d8184d1ab567796fe8cde7a3f0ce440f604f5000581e0228c72921f4e2c97bcfe7502a49632c1fd057e3ba1b832c59a36769899144115b5c000384cbfc8951b356639a98299897279a73ecd31ec6b2d96465f58a4aed736b35b800581e0292df9807c8647c05cd27701ceb048ec1a420e063fceedb69ba4d9178a5410100581e027c6e2fc9f05ad1625c440cc357576fb83d93d847bd41ab78a7ef984eaa4401a36101037a99bdc93de7e6cd5d7d234b7d13d29b6ec7d70727e46dcca8c868989624245300581e02524582aa99c02ad1026e94ef3248d00ccb0fcc46cc1310f35eb965dd3744056b06200219e60503144d471844fa85cd14ed2060cc1ce1d61e5214dfe55f4f8a2f95d1c9d9925a020388917bac6655c1de55398b72a583bafec6302fbe959b9b78182541635163c2d503fef20b544c54d3569810d5dcb26fbe189ad9782fba2426b7d98db7e0f3651f4103257e92ccb6cb3c019fdf0affb06eab49cf1e8aa3af694b04aac1becb2d58867b00581f036e9f7c9069763625efaec53c504efece26429073aa3c4c4063ec50db8d505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d74820d6ede676ddf8d32b8ebc3cb6dea622fb74514c291e2bc61bc4d3a7136503f12655d32d538fca2a4668bfc319a25066e1cb6599d121be0c02da2ccb986e3203242ee95cc4969c52bb3a8ec3890a273fd5ef500bafa1b493c39c8f9b9ce32eaf0219ffff032716e036aeaf4cc50a342d2e88a8a884e2fdf628203463f55070974e66903ca703affc0a39c107abea8362cc41646c16ae44724e14fd1a790d3683c9d5124ceb11036eb4ad32efa28776518c48be9f67fc0591a05b208d009bc88df43a80972ccf9703fa0abd83b17112a2e960bb58c46d99f311a86bb78c2b60b446cd7a8d4915062a036e19ffc248004c6ab15408445e1f839a60e0cb6daa286b97dd2a803fdb8ae48d0374cefe7c443b1557b507d74ebf6d11c78495e71a1d420a807f7a97c7e35ef4d50219ffff03df08da4a02a7c7c483d9db154b690d23242a7a96ce73bec1ab43b7b3b609b64903dfd4b1240fbbd0b49dac99c8f547743474495fa3992c93c7bee97a51db25d29b0350da75749156540c3151a43e5b7f6e3957221791376107cc44469bb7d0cea0c3037c8c255e7dbf07da9d9454a0d4bcd4b213451b824e3064f88da4676f2f4e844c0368e64cecead67ec4e519b9dfbf3b20e4df4ced52f2a8f3346b79ecb5fdd65ed7039fa054737be2cbbfb6c0f33d383e3fce15ee3f0f2aca8fd9de03bd45c2637b6803ad6ace01f3ecf035aed67d31a04e3adf71fed407290b18c1f42dc65a20d1d5ff0394af2840533ea8ccc23d66a80a39e61bb0a286f51d971cf0fa4fcd03ebe6c0a603ac76631b75a20b2eb8b8df1bd9c788102862e6561e945638e55d92d98bcdf8b003570feefe59e140a7d2c957be5de3257c78ba2716e2da0e1f39d9fd40e40f8f7103d584eca508a12ad1c48dd921a65bf71ea3082cef7a2b48f1f1c8fc0c8a3e33ba0219ffff036be0262efe13df242959a9064e2df39c9533fd61163eb833f2b5db176eb9900303ccd77a071e8f2fdc641a53cee0452de48b05a69832bab3b88780aa911e438798030534321b9cabde3bce9271c77bba338ea11114aee9a05601e50fca2f7d76fe48039533f4bb4597cf45c106c02ab6f0ef606f6a1b3bdb9f0b3d08b0edb8b6d4d91e0351f4a81360dd03b00f827018174554369742068b5d4f3d33a5b4f3cf8f7b4c49033ddaa0d1feeccc63361199db1b1b7b13ee29d04412210705a21ec08bb6fdf0060320de12c5697549fba50bc83c9958e30ec25f6c50026185eab72ebf425648b7fd03fad9e8ca5b8f8169ec9e632dadb516c10870e36b6058fe5e9f78c3d9e38f1ca603a4d3a08db70b789cf1ad66bcbcf7c31b9b64ae831ee027368fd0b15c2b1e99e303feb7d624254cd983e2aa32d1aa6a2cdd226f385919b5031f8cd8a2b121fa1a30037c389f3c68c99c0019d0a07e9500440abca50d4090af1140542ede054d91b346033fcdf0173b07815d3996855255cf1795006a5ffadd92c90a85e15c1143c7479e03a5dec9d1e78358ae12d1dccd20c9859240faee9b14f7152a31cf41bac08659a3039e8a0d5413057623af98700691b2adf90135b6a0128fe51c3ad3c8fda4e837b303928f3f22bf8b27acd4a3ab7e864df02d9f37f976049597ff313f7702f2e2e5bb0386a0f49556cbe546c42ae3caf4733227173388127a3d5cb5111d24dfd4be090d00581e02812c5a10a56d26db280b70c0afd5e480044d135397aa6d5210b29ee61f4c204fce5e30444bad38fa535b00581e0256314af12aa1a62859483b57f6a460b4a8147494e90b2b46baf775255a43016bc600581e0228215899711e292069b2a3126138bf052b23c82af7b3f0b31bc7631a855820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0211a283bf1f3c72fddbb6685655680bfb71e21e3be1bf7b410292969e25422710038e64c4df426e92d53cae8145a5be45c1e3f0b26f9484b7aa0fcea250548f8c8d00581e02527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6544914f61d25e5c567143774b76edbf4d5109a856600581e026c5232a972abbeaca7064450c7b385ab511a2f17f27461fc4afa9cd4935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffed6614a38f02196d9000581f0324b32423619184f0f0fbcc857a2cb681e8ffeca0dbf31c292434286f03805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd96ef04803a085c52e1a5b0d39de91f3393808e2fb11b26114242f79656d5f6977a83ae66d03f402485d9ded3194e6ab9d1600b4a1a03d59d44add145a099da379ec7cfb5ff103c6c1605c818a87d02ae7ebbde8ee415dd55ceb2e8b76ebe2b1a0481a4ec829c80336dd821befbd5b0b7d1a18b83c78999e69c0056608c961ec8e3e3c24d497e09e03928233f6111f64eaaab353745d782f3432a218946621071ed252a53c1252c38b034637e38e7e38b4571d2817f8157aa4bd96c794e6facad2826882f5898e7cdc76030cdaedf1f014a2e1d547c4aacbfbf248a0412d1e293eaeedab411101212dd74e031ce258e1a3d5c8e3451fab1a73f0e78d9baa004811c75111d05d4c0b37545121030b76f7b2ef016b75916f53e192ffc30891bc8b373e024dfd46baef467553bd4c03a67457f425c4fc360a80333f5c2cdbc2054885a53b3fc6115058c33518360942030d109c779db0bbbed7f366310158d5b0a8adabd8c982aa73169299f3d9863db40399241872c4f405b54ffa8c0f0a62eae76ba5057d6f0c819a5d8ffdfe277207db0219ffff03b9720665f0c55636c322687f50451186d87c3ad4149403a6f3dbdd37294ce61e0219ffff03ce8015701a3ce36be34483cb32bf5943f46760154a4d0cf84fd7b067bc4e88ff038f106b2f9e93306835482bfffa5f58e473d143325def46fa609802245326b72503fda39a082eb7064991096a611223317de9ac188847224d97f79215df3a2796ad037ef297feef7c6128dde1fe1e16686ec10b4998c7f4d31bdc14b96dcfc3832b940334c0fa3e19c8db48f9d571154fc3ca5c22ed1554882f5d071ad7022cef23385a03c59e053c40da051b59f2c036ded3c11e4e38aff1c9a0646098c6faf5811ef65f03f35ad61edeb014394263e79eb0ae0886dc64ba205b277f14a55b21e1e8494a4303e2e408b46892625450118afaec631873d1479970a40a3afb66366bced1ed75a4032a57c4083fcd011e5057c8822aa3aebf9c6c825cfb32a7f2608f0269f7e40b470345a89186612b1641106c15d43f9deb2073ca22b259321eef36223d436ff56fd203019f5c875b75d170443de24643f0f2e0479cd109c60759cd9f20ad5493c4752d039a7818ad2312eb4f7624569eae4644b4336d702d67d3914297af7ebf3510ef5303c3f6626f965a8847703b8eb018b4a839e710c9727f9bfa5de5ce6e55ac8cd43103ef295ccdf9f1bd4c71bee6aa7fbd0ee0734006bbbf9a24543c4e46d165e43c3c0392ec8fcad3ff8eab5c512ccf032b59f90f3d407d8099986dfcb036930050506a0219ffff037ef88f912611c8f5783c7f7ab39436e49a2b078c863c591a0812e536fbe7f65c035e15cfd2df63c68cec3f56f945b1a53beeae186d0e4e7ee1b2df25a52e6379590362489726dad2b0c28acef7b94545774fccff0a8ba3d53826ee6066c3b39ba87a033c66b4c2fe6a9b453d20e4c7c273ac1a1faa9971453838ee572a82255b564c5f034b26be4ac0f9edb637e82ab6c994e2103c7c1328ebf4f6a8b4328179f8d340e7032d0e8e3b9c90ecf6511d1597582ff7e9f391e4d811adae882c0fa8a9e20ada2d03758d5fae388c050b14b261079e23495c6f3dc5d4dcb72d891c417566cbe55a9603e3f5b56ccb877c2c51722cc393477bf8c870fd16301be3f51e565008cf29f1140313bfb27b55036f887f7f5f3ae447aa361473f8bdbe1b11791dbfe6136c96aed203965ee66609d515ca759476374bf77a00e31d3211dab6fbe4f90fde16dd01889a033488b93ecbf6b392236cdedee35405cd680539f709680324906a0ebd181c4ef50352aac36738b5e605a1302aad0fb1e5b2b1cbfb6abbcfdd11915a2fe71eb590ee035a4b1593c9ccb33f01dfff83f750899cf8027b26378b48f6489ae0bd89a41dac03c547911f6d04f4c5fa7f489f0f3721d7159adf79ca12ac7234d5581e250a19c40304759cbe5f29dfbdfb6b59c839a05e1b2dcfff8f0a6fd4e895fac9b831f6efc1036434553dd829690404880cb36c34b53d80b2fa4b43d1ef27f883fa7b317f8be303aa001f919f29e7cc5803adba7f7639d4aa666ab7c507f125cae1f9d72e94b646032e8b1d6c2075a49cb99ed48570ea2af591741b236c4bd3520038dc713643d01503387247be0ce1227ba6d5aef631a9e3d65a5b69519e0a31a97db9a2542955bb0803fcffc9807e0e2ba5bb2947a3b30d753e35ccbbb585cc53c496f9399e5f451ee403bb3f739346b09347165c6784f14c895f996e640ec6d4d1acad3b3bc8cfd576c803d14be5216a9ffb841890172b069e95d3602e1c2565148581d09e7e96ff40f871034d6b91bfbd5c336ab6f5f30edb5d027804e717d36d5dbf6a95580b384f1efb1403465c7d6a5420538528262dc1015d0f711e7969bf86870f899f9773c249769b6803a6d6d7a76d382a22551488026c3ca56a177beaeabd69679fc7b7f17628e64728039675910d6d38f21abd2c9bcc2929fd69b5c490e8881fccaaef38ad83137ef79503ca8341d4faf3baff60a529f769a8035e06d1e6256c3d07df2edd108cab933572030b006a2f2ed3133aa80f20ecc398772ca6fffad39f5aa99051aca9e2388bb95103ae3aaa71d566538f09348274305e906e9cbadaa3513932e67d06f7fbf346f45c03b791379bcea9aaf893e645112b5ac9f259dff86a243325bfefb0a5127d4d18f9039a7868814c551dbe23f41aeca165925cec81df33bca1459ac227bc1d6e458e8603994db06323adc30cf710d418692c198b3759d5d850391a1133c53647d2495bec00581e0267b6c43727d3f610df3037b340090b2e79ca4ddb628bf4d42504eceaca5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffd179bb50f00581e028917c66be7374e4948cd28695c85de41356f66fd462c3f2ae39a12806a432dc6c000581e02d7c7286645681e7be4bd8b84e299e61e558052c9be65229d52ee6f1823440228ff300307aa264d0a4f8e325d8eb5abb7b9870bcbad8d67c5cc377945ecebb30f836ffb01410f00581e029d9cb83d90f5393ecf5d2a6547acedbc28762221ee4d1863dd098b8b105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe636434f02190e03033eb48b4b1c91c9f609c2eba76b57bf74dfb0ae7da830c9938090754b95f4622d03cba121c02a3e7d48a4f6d08bc4d48cb58a9c5635ff5043708513301069a77d480304d44d3592c25a8caf4eafe02424adcaf0694fea5460f609602d16c0817984df030d287d4f61e6440090885cc1be7b9c510f2f2a197869d92de69194e1ec4d131c0219ffff0383d939eb40c20ccdfc6d8a5f6fb859a204150402deaf299ab232e7f35fe080360325da4d2c9ab3fac1599243fe967b26dd35e5fee8e9da900d412d3138ebd3aa4b0303c44be1a87ff6913fd2e57927b5a59e5f3627b0cd72d0b26a60101920dd13eb0367f511810c074f748b091d4afc232b18bd8e228a6404ff5fba2b0b12571dc3cd0219ffff0353e5e05106c0ce54ae0a842104c9f42396b7236733bf78d06a83a46bafad590403769a4f21c512faeb38e216ed6bb744d0aa06c1addaee6c45e277547fea87f5410369af72c45ade988be277a8e62050e6e25c65b87d6fe223591b08872ebd965050036e83d6809d36183a1d52586a2e079438e313c11c80f1faf0456180732f2fa538036225ee4985f2a1c79e00478b93dfcb7f5b969776145c069e2d48d5ac9ca7f62303c3552463e0d3637ff3dbf7fb151d9459a888a7435e8c6cb2648d50d24227a0b603c3522c6a812f90a8698afafd3056af7b06a17d3c21b97636868e46822c3780200219ffff039c3953f49924f83c7bd18887d8dad813e353e22312ad4160729c79f5428fe8d5030f50bffe3892ad7ed32763625bd24fb4e227fc8fa9d4cb888b75d13fd33b62f2030566bbbc3b4e293bf6b8707eb4aa9a3b2614c53999daf6e202a7c10f1778df050327fafa27b3044b578834bfcdd4ac798ecc69a1acf6dacfd76b7344a21ae21b130354091fc549515c95769b80d8efc758e2eaf551bd28665ed53f78a3a94c07843c0336a405f5b049b45803054657acb44c785338a7d3cde8bf5f8b46a90a7527ede30352687a08c82c084375dcaa7a223f525d070ee626dc05560d269601e9e9ecc7df03815424e8b6c201414a3a1b2c3dd840a53edba7f27630eb35b423c55d945f112f033e342698b5b520ece7ba4230f3c1871afcdc3a718377a3d3c967d65d0441b4db037be7f0f4d330cd31c2bbcdf767d0d799cc581b0820d030eeea1252cac1fe417603271af5bd2b38829d86a57242fa9fd50426b397d3bd9535e96185b4d06880fa1f03459ca987e19f368ff73d404ef74843c6be29aca1ed8968b9220b338406bd114103ae87587ae3734d6ee1f50b3effecdaa9b53326e8e0c03bd84d2296cdb8914e9c038f1cdf4e6bf438fd00e395f7be2dc39595273342f71cdaf016ec3b619464a27503def9130ef30bc19af9823fc100f8a1a0a1bbbd7169baecc180158a1ddaf2ca9103713b4a92c033651f127365e12fefef6fcc6dd7a1291b9558ea1e7d01eeb9ad2a03ae3a1c6d4d5666554feb778d38c25f7c5303621b66ff675d4c11c5295a2dbcd900581e02e39464e5cc8821dbc8292212acc35aa0bc73ea8f073fbc02e6d492094e44058ff34000581e02967a9d471ed8e0e0654c9362b44c7ba979ea87122459c210872f57531c4201e800581e02491a6662ea8e54e5be7690d3db31869f808eae26dbb4041b9609bfd740430f424000581e0279456143bad2b213fdba716d066455e32765b7d52fc927ad5e760bc926433cbae000581e023eb83a455dbda34913487c964cafb0fa140b0770c7463138533fe347475820fffffffffffffffffffffffffffffffffffffffffffffffffffffffc186e1b7f00581e02148d0cf0994a67f31a83a3c4809436ea1a5594a2d0a6e24da4f98b5a17420b04021941b803fd68c7a7911bd6420ba72c20c6069c0e788f6b5a4dbfd85599979f8f1916a16b03f15a3027722e375d2307e132757025c125a8e86c505cc31496c6ba95b00a3acb036ffdc2b2642081d83ec37c99154d69a49f3cc3f1aba9c69e056572081ae14ac903841bd5f608b505be326ef4d435132dd9b7c37a6e3d93325542710f48d2ca593c0316de4e947622f0f5efbc5d332fa0acdffaca39442d3fc16ff699bb6cfae1b088037688cbfedbbe015a2612d7d85477dd05d7ea8ccae7e87d6ba29202684ff71592032ee2a6ce718f2b1ed7e8e16d256d4cf30638149bbf6138e7b18e7f04fa4b640203a019630e8c664d269310ffd2d940cdb5c00ae7ee39b410e5e5e869899a4a10ee03eabe58f21fc741bcc2728d2cbff0eda70aa19d7f26e2973019db3a880357f0ac0371c4b7a94c9640bf80e9ffc44d08f5f405f691ac7d35ab7860954859fcfb128d0219ffff030436ddf474d31d300862cb3645036eb25214ffa36d2bddee31c78e6097abe32703b7fdf03b2ebeeee72f9d52be28d2e88051ca89c16f976f988861a35d1309cfda038ac86d4ba661c0477cb4c9c106c4c215201900436426e8dd53f2ee4ddefa167703d89987c5941675adb995fd072b0cabe2c32775b22784ff3fd703f3fb305470fa038e032a3321e5433a4069d182c35b5d100e81255bf8848ffe5034021a3e900dde035dc99ebdbdaf4a2cf7448d6ea2e475ec601860754b9a738d0db61c2b2e0d00a6034a97661db5f76cef33252ec2d5e146116dd2a643b21c7874f53d81c6ae110a2b0306fec5cdef3e0ea8b691359692e68515d0c5f8ec4549dd03039178fd2c3502e803e7b42ca320a68383c06056385d298d54fc656844b3e7669e61ec650552392ecc0219ffff0328172fcf3c1e51c5862eca8aae18c85d90651e568b7f2907bbd01250f30fa54e03d5418f7fb95a11f6071e723978436c58ba465fb963e84de2052b8094693602ce0370e7eb701d3a7f2c8a607b0df375a7cacff85a55402b17fccee02ff2aa39c6ec030dac5edecb3b06d212cb7c5f0322abf0b866b78b8f2d4f3b038d19255ad052ef03cac498b6d6eeb90d3fd0b25dc4dc66bffd8b8d61285d2d5c5961f73dfe6c0d010350bc9adf96d096073ccf7d0bc60393da7a123c6c247258a46996b247793e3e7d03d9c0d67b4a06284ea9c7d15d4faf1a933e0047fd797b45f3b653c7080f7add77037a7af437c0e8096ec68b25048b6dfd5fd209951f1592fdfe60c1b5d3a7e03888037d13988c5c4f06c221474656344cd86f6dbeac510bc52545f41490b56b9487ac0219ffff036c313a1f6ec74971b3f5f5483ca3f5767e2121f8e0fd885c0b42e68dd8147d330372a685b3731af077cc4578279e38e3e8b522ccb37b9e392588ed242be38935d403413f91ab193333524ee96fd93f5e05b3e1887b1c3f974f80bc9b7d181714558503504193fe2af0e7939ced27e43b6e2a5db8ac3c8f7815d18ad51cb151ccbfb27d03fe2d5812fed0f38b065a5bc9e02567688bf83d2ff26163cc6d7268d10c26978c03fe9ebe758c685131d6cb8c1bd0bad30ba29aa634860941f69f8dce83b1dc2d7e037bc373c79ab9b619661c2a5a92edb3627d1cca9772706eba4d00d71b9c87d474032fec55b69cfc2b2ca7250d2e70b923e5bd98e3b604cd1049588c2717c1338bdc03cde3eedd21d696033a316d5d40c5f13533070ccb2cc1d7b92e7faa11a0be47ed038388c7f789a491c5ef809b1916e9f984a85f68d2c884b2a229acd5665d1a6101039b345b614d1bd3adb96918db63def81b131c21e3bd84f5f56a2b651d68f2e0cc03f1843d3931d9f44a49c5fbbd2dc679c01f88ff2a3710de49047285f2559a69840328e729d49a055bfcfdc07e188928afa2ae9f10e5e3aa9a1874dc2a911eab3ec20365cec30c9c6cb55b55610ce8d2a88adecbb573a77cf6c2983700fae6948b7fa803f31bbde76c6929a75b8e45538891ea84c99ceee4888703f53117cb02f04eddb303e6a153733ae0169e8e71a8cf7ba1b48b65eae25bd4cb6917952fc7f58e161dd9034896c17a30935f8348fd5c87fe3d9dbe7b852f4ab93c783cc6b289b20e0a6f49037c1a1e7ce35e47e21aecdfc9ad76aa0f5acce92c12618830f099570292210fa503ad58d6062d3a7ba6eb198d4370159c399ab79e3854e5f69e2038ddfa3dadd69f0339a88e5e9d54f38f040f09a0d7624ebfd3d96a1f7b54b68bba46f3609e3dd00a0320f14d8de47625f17b5e38eee0f7074424f0f8319db2b4b21fac173b23c9234003b3d663d5cc60e623affbb888d3cb2351670094d945fa95e2ac0c187c962daf91039ffcb80a15842df104123eba62f625124af097a6a29a028e996cba7156d44091039db83a98f8a7c1748cb630d288e7e4c5eb2f4fd739f646da51fd9b49937b0727039731e5ec425ac87e8787325d27cdd0b5097e18503733e2d68c3fb9ef558c336003c00899de5e58d4527beeafd62d798706f33da593ea8d42c1d542fcf5973d915a032f4c078d9a57fdaaf4da8988b9df15eb4eb37488391ad002a61582dbc5e0255a03307478ab36f45457ac9b8e61e9b37a6ccdf8eb1daa43c20d26226184cd85d806036635acb085078640eda84299df79fff6690a8615cd7edf1847101db963f30077039148ba6d5c1a2c288b841ff0db0d09e704a64a229e1fd36e30ad4a30ebf28f930366590b6eddfab4e0e6b7784e7494015c12454d29f25028b5701517880fcff430038e79ea1de6cbef2a002196db8b8d0be1d5441e78715ee8b68c4dbe6a76fc061800581e020962bb655bd8f88edad665b2885b6138693ecd6de633384be33caa8ead5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffc8dabafc903f4f35caee221643add25c2335f7f9f26645159ddde53b484aa836255751dcb9800581e02370583d1eb2e7a4f6c631715a5923f95cac4bf31c1b814a85d664629a45820fffffffffffffffffffffffffffffffffffffffffffffffffffffff2f44bd94600581e0247861008cb292d29fe87339c917c66c81cb06922417b4d949ee56348e1440206cc8002193840032c192d550dfd585c480f161a263e276e1967f22bdc75580864f2cb7fc6fb00000317e2f9ef4a1a5c4c5293c5bf87a2daad1b6515796dc0c6ac53a54f27ff6987b20350401b0457644aaebd798761db81aca45f50cbbe07b67b2de2fd00330e425286035e99350c337d1cae22395c159cf5e4d6d1a017779b22fd866c0471e33a2a321e03bb643a0105c18dc26481e0d2b6bf7bf9097d0f719a16d3ba0f429bbdc7cebbb4037ac851f17cc559c134c63dc4be998edddd16128387fc689641b76121596d69cf03a07b7de3437a89493478bee30c62377b27e7b0bef2d10e0de70181e445405c66039077fafb0aabe2268bd9f71a697f1c7311fb59bc5156fe77a70b72934de8560503ec1b373a774e4d33f8438f2211de9582ddd54cf9091c7c5df1bb0a3604c0f9800300f54009643ff7149660beb69f1f3accabc80347099cdee4e870f2ad6848804c03f98fd7229c19f2fb5d9e1e175df1b259663640e937a2dc7cb7865717b25a91be036d64dab4276af0d66931121834cc7d233a43abfc45dc92bd41d7279feaa92cd903dbc65600e4417c7ef025a05d7871ba9b7da51894a286a35e178dc3ccbce52ffd0219ffff03ad9dc9f03d22225c11e40668ebb41e12a0db0bf0bf769a16e406b1d8324b16330219ffff031558ad00f1d7af973089273513cfe7d4e05f2bcfaaaecde0edac4afddffaa07b03bb0143911055f46fcfd9686760e72e6a20f744f949ae372af0ceb3155b409e01033fa4d2bb9e015e90fed768f25eb518a373838916bb7f0c5486f0dcb3380b6bbd03d2bff7515c60d0d53debb2c6620a47ac29eca4e291f3a6a56f6c5db21e09fbcb030394bf885e89c7e7feb27a935d5dc78110c8efe7a6955b9547f09dbbe6ddb06c03ce1701f0ab4cf652bf12344d4766837d8e87ff761a85f23a29d3ddbb1cfeeab003f14ec1f847a0ddaadcbcf1df68bc21b7d35424a14d3f21a243850c1219d3033203ec97f191d9f5340f4387afaa9223baf74e77419eb6620baef31ca65471c279c303ae8d75a24646502dafef3ce8b3c968ddc481703ad3dc212759cc41e832b00bc10368cac57fd66c210e9c1c6f3aa35048e5d53a4a21faf69bea417844d03840a66e03229222068c56a794a1db3558b32628a2d98717334feb339784e3442eb2295215037c9a094b8d7ea182423010c0a17f6588c0557f4589160d41e02286ae6bdb8a7103fbab0af1c11dd1f980e1fd72bf188c4f2f061d6c06838d04eb18f9e3fc4366b503dcca71c9cc3d346a2fc0e0f74d9377eff35278b33b1d42a3009d1da407bbfd7d032b7d5185dd76553e0cd54183ba19b8117b2ff5b5aaa5401e7518767c3ac569af03ac2fc619b07c94a27b786784fd6cfdcfba22069e555689a7d1373bb1f68b240b03514927d0b40acefa48fd36791fc10361d2e52cb2d92d9f306ce63fb3bc2e5f66030e539a2d1c24e5d5f2c024aeba7ba46adb5b43ea2586e0e906c62914644a9011037d3efa059c87c4b423d334b6e1c2f78f92a70dcfad56d4f07f5ceb561b863994030970b6ad4e155feba193402d9f018c0b1ee48cb526f6eb51ca53b2a61e3afd37032179eb85022011c045951c43b0e49f903c4fdc543674e0ab9f7aa2ae90ba795a03e1337d2e1c326335e27ca4d50a6a264bb67a493fff23ca7b47c86a4609d1f37c03d28b3fb25eefd5d31fbc1cd223d959db2aa2f3f43dbf2422b4bd9dd39798764103d95aeb963c555516979f696856e2b2aee00be8b32374011f9d579bc83f23fba0037e88124ed90dfee3eb58c5acab41b31896b6bb15129b523b1a16af5a9e60b27c033ab57f2ab825edc97dbf6b1402afcc1cc78dc4c91e31dfa4aebfcf61a05105db03cf64c607163397fa6ff9c4cc49b2cd0ee7cbecac70418afc41a6882a71e8e417035f8c538ea165206a03622fdda3c041e5007673e1a2371f4b7bafc67fd48fd8af0379848b548d78c8320f47bd85f49399e014e7c3b1062aacc9ac321f3734c6994a03b7229de361791af99b3d8903688e7188909e8bc5cdefb4e42a607571eda9bd4903715023085b2725501e01f110714204a0c476b5f013e10896b535106ac883cc4d033e1ba396844b60f96b7c616e85c3a8f7e52cd2866128307e4dc1e9c864ea8b7000581e026ba359b0127ae8e143731a80eee0b17f6b5f24aeea3eeea652ee87a63a465af3107a400000581e03efb88c6b92f219ab543961f2679483eb184a1c4c6a73e4af932f99dbf04c033b2e3c9fd0803ce40faa0b00581e033307a08600930e5567ff734524a43cddb01354b7063ad35bb5445418504501db75e01702182100581e022ae01757c22ce9597937d0b668adc88b201c708ff851c82180ff4ad6e34103021909200328640b8ab6123a75c59f69fc86db9b79d2a25c897e7ab1fc14c3059f04cbf83e031e911f2569579e2f0b04a6f4c9e49a4ed267e0c2c3047ad2bb50d0de6f8ff39203aa0725df3afac9ceca397a7017457be24b9bbde743e14be4b4a8c1e0f608be310219ffff033aeec762036f02b349fb1e18ae76a18645f63a812c5bd8763519b3edc1f6a9270219ffff0337e9b676ad10111cf9738225a811e3725c326fd6181939f96d04d069ee8fac570219ffff0219ffff0377cea6666300fe28e80e1fdd8fa2d6c2a1dd18163082148cdded5a1944888aa0032f9c4d7bc581dec3a6ec1666ba3d67147666cf92be3a2e5c0d05408bcd6f348b0301444621b94f2512d9d1746eb2fe7693b8bb879ee6e186b4739a428cb09f143d03b46a98fbfea0167821ec022e8d4c45a23b6140f0a4e2b13b9e741b24411c0841038862aab30cfa2a8733fa86f000b24db6d07d0c5dda1aa7df6d951cb23198db1a03cbaafa9ef572bb2b90657f43671079d0f119d01b5711ae995d506f542db988e603641768e65ab44168f759c187a0221e71d3dadbe15393ffd5c1206bb5bf81adc90324483a68e9737b4c43ab084774a552c68de898928e90c8d6aeb1e0b946c5f11603f472c737c79f81e7a8ac9e545fe1cf8680f22bdb1219c460e565f7633fea576c031f5ff1b8d845d4a141cfce65f4ccf3d044599043da481aed90582904868997b8039b7dea7d40b33965ace9ecf3a2ce2419727407a8723e88644f342ed6a632619303ca6a54ca44e874752509b6347b12fbf852e4fe52786db3f86308a41b3345049103c83fea37099a8285079e70d4028cc127d59ebf56b5725c184a7ef993e5143d0603606a9c06462169037f2f3e2ae61dc21ee99ea216b3bc6df5f2875425f524f77b0326253201a0332ea8293466dcde28f5be98e5361d4a308723c656534796a10df40343ba194691c9606114904ac98886197bb32fd572e98b252d227df6057f04109c030addcf3e7ae8162ce267b7f07e931963b200eda44c5db19cf415ea338470eaf903c1ac777c05e179641ab4398d246c2fe6ab9f1e1afc7475b40dded4cf7617c39a036f3e0108b84765f00476fc0831f0d5082c9398489729b9eee2c0e3092af6f7b8037afa8293a7fd695d560cd851500f362ac2738460a111811a03e8e2e9b23d1f87032c617da1be0937c3c2a4ae62b88e8dfeea45a23d0cec16e63dfe4295b91d9f6b03ac84d86da433ac0e72160b30581e07c77600cfcd24722a23beefd80edb6f008c03f5e714c0529447106867fa8b8847f7f7422776affca4b098f1b4146d8fb307fb03456c393ab006637dbfbd836c9021ead92684a56d4eae014d4faa1e96cf76241303731d9619a07abfcda6794a0a3cd8a0709c51e3e95ebf91ec6c65aaf8333d7e0c03676d31a75a0b7dc00f8e63ff4fad5d6ec0f5ae993107767522134ffaa03db30d034d94608c493aa3c89c0bab7438880cac445eabca2ab645d52b996c5c9dd57f9e031f3b544da5f381f2bbc646e01686fac189cad6abba2c35be5f12beaf727580d600581f03b79822bdbf2194acfa59c4774bdf9c3bd3f541a2b5521ef5e51fee8b02905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f03ca35e4bb92bfa7f67012a2e3c82fabaa70640af54ad2ce398023125dfab6b73f035f5785256b56510e1adbca1b74fe19331b44965f47d702c06e92eba509b838b00337a3e07c847d34f0892db9dbbec7c4e96f90d8077c94e05e5a11ac77c4f9604300581e02210498da960561f1eb852637851ee4ddb8688e90bfe068afcb429199bb460207e5e748b300581e02efcbb9ffdb41949a8ec70e06a9bb9ac412ad48f678be8a01217ea2f1315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f0219400c036ca2627797e3076919481db883b3fc9b16dd013632d571b2f85d12662086b8f400581f03f1f47a6444990d7038abc51722d2293da085c202ec2fe1d16ec909b1cf905820fffffffffffffffffffffffffffffffffffffffffffffffffffffff98db657c503febb26077f9804f0ce456b2cdd020778da2d11dc786940e643b63cb528cc505603bef38970db4ce44d9ba2a1b84a97dbed21761cfc56fd2a3e0a5e7baf5357126b03f026f7b65f4f826ee6b05de5f92c62ca682a970c1d11aa0fe0eba6206ff02c6d03c808f50ee647eaedae2f6f8898cf8a607fb29ff61c8ea6c0a25ffec3c1fae35e0340a917c29f562e7f289f8166079d52fd24399140a523b5d01cb1ce6cf260314703a418664e7e5181851d3b573a0a7e597a1e9f3d358f3d782f76ef2ee900365eb9033803c5ef53684eed276f563dafc1202bc3c584ea0c9bd1525d2f3a95e00d45ca031c6baf73e602d0e4c92833f9b27586d77b88bb12acd02fc005dff7c8b98d10490219ffff03e23837719b0c9b57abf423030c9c5465ddff564dc99e7a3e21982972de183ac703159da7b5fb1725d452d02d98f30633ea5f56fce6d9fbb2ee91451c160196673e03c7d9f1e786d18c5c714d8dc7138bfb5d345d67aa6ec1cdf00e966eb93b6dc5bd0332bc66cb2b5aedc675e4d68758111b2bbd26a6e42c523bc65a874ae43ac9de54037f7d5c7f05bad6b2e5a7b9133f02f269f0db7dc0b062ab0ddeda665898b25dc403f05baf90705d442b8e9d7767831074a3430ac36b88a34c8d4509e97b76284b460219ffff0357a2bf2ceb507bd2211ea03c378283c9cf9bb681cb966b928f935adaf2b97d830342528cbe84acb0c719c30a6d9b4207b7e70bb3ea9f0e5ae9f34739848986c630036856420e53439b9d83ba30e017c2007ead53f506c16128360d2d3d6aed75807a0366862c1854896d78bc340361a1f939c2ca6aa3ab48e5de4d680a8b79418419c10394a9f039d81d10bdf1fc8234021b9c8f9b64a77472d9deb37f4d22259910b24803f09bcd229280599f7aa1037c304790305397df17f26a5c154aad1e57c99f27e003414f37670d70611d2b141bae1b64afbafbaf55ca6ab26465fbcd0dd1c472bbe60369457b11b4349a9892090c001b422762a21b766eeababe4937fa1d48ce1f84b2038456e9ea2f14d033daa13c2f3d061c0dd31489ea92f05f6c7c1729891422b0ed033c7620b0b1b0b75e1c39c990d1ed4424b923a86935521fa3e1c79ef14bf7ff510338c8fb4a7343070570e18f60862a93222e8d1532005cc886dca956bc1ad11836030ccd1f1b3da3fdbf5212556aea1c8010ed519653e67ced003989431c0bac12fb03f9e049968b8477c08f0e6d4d84e25c394888d9a9bc7f6c37837d38288f0bcaf703eb5b2915bc4f38cecd870d40244040a9c33658736447faf9e4f263a3630c191f00581e02277d210080af7407e3a15c1357292bf4a2de4acf21ae31fd351cb88fa24a01e847fffffda54d42f400581e02fc857091590b5a51aacb74bde29025023714ddf67d1586bf062ad444c644029876c90325b41774d5582630440cd7d6c3ad45b40b3b33af01593d0a16299a0f7dfa0be400581e02eebc5b63ae78bd4c4ec2c1fdb7496ca8410bdeee07727d1591305a344e432dc6c002190c09033697384ba6eebcfbedaa34657d0b3689ec505ad21f4b2c891548a3c927f70c0a03c76b913977b6c85529f778075fe376b55020809bfcde515424d4cd37a5d0ee1603a0389cc9e6bf82c826e9016c310c6a6c71a23fffbdad82ba49605772dd06e33e01410c032142a2487f82d2b790063d2935b66468ff563a2e17a7f77d047f8871efba1ec403106304b70ac5b5cf5d0376209b0b07bce4a53eb7acfce6e5778b54ebf97bd45603481a6e6e28de3ef03c07d12f45c765a0f59848fdc56501c3e4060639d569a61c037c1b2fc22a80ab387c5f093804e246ee907a38078a2ca0aa191a6aad439da224032ceee08288e641967eea4b19f815d34a67c6ad53e82a1438ee8028d4850c608e0313b4419ddb430fed9755285e5e76169f6603f5db833fdf07ae85787caab1131903c673fcfc18f61e1d37be370d59511beb25482233f67b444da55c085afa21be3a03483fa2746a4078f4991119349a92faf53ef4601b69fe459f43242cbd71d6b692035b98773420db6c2508cda540303979dbc589e30eaec8d6aaa36b2be7c7f08dcc03f631bb0793a01aa1294785c8cbfa0c496613da14384f8198ac70a952ce052b520219ffff032b4d3c7d2485bc946d55f2a1ab5b84a43d2a8c0474dcb5485304ebfcf7ee73dc039d79f6e5337d16f7c584066d3edd8ebfa15c375e76194a3a7f8177d12fa3d419038ea89bfe26a7825f01ebe29071bfc784279c32fbd82724c4c68753706105996103b05fba317584cee908d3c67418c6b3563e13cbc71a699b39520ad579d52121ca0219ffff0219ffff03f8e53a58b9a4f5ba0382200441ef1c34597e30ab6f99f59e0365f09534bb2e2d0317a6da5700574bd32d4b3d09aa7a67278feb38e41144bb2a81982894e8bcf8d6033711f5ad771a96d1485084f28616938eea48523b41e5c8bcd36634ce1971dbfa03af25c1b7f266cfa016008a028274f7d26ef2178d7073aa8a84157d7801881083038d321772cf8be4d6d3d19141f5b47f3317f8bf0f625ac8a90a70fcbee60471eb03b5e63f7dea5eaa5de018bb358dfeb0c0eea6906dc636a46cc71b5b6fccbf97e1037bcc4aaeb06836efd262e84bb707e0d1613c9aba027bab5bd26c1dbfa8e5628f0394a1a48be36d2cdee63dc68e8b85ed9540c77eeefe099382e2c306f40bcc381b03c07c168e17b54e6e16f1d3262115ebf13606c2d0fd41accdaade244d9a56b22b03fb3eefd68d95be698b735b07d3e8d7c3c95772b8b4869839a85f61ea1822226903725aed7a0e42c7cdcda2fbaf791b0080163afec1329ab88c85434d74503defbb00581e02ccc4cb54dfe00cd6a40d4db55c6f9523002982db306a92e3de9ab05e85430c350000581e02278635c0b9b202413a84c0d9ebca7d5c8f12f7a00a8487e0e56a23c4585820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03399697b8051d5648020904d7cec0052d599d569e34bb5aeef398d394605820ffffffffffffffffffffffffffffffffffffffffffffffffffff5a37a26ac1c500581e03777065d32ae129f05113d43bee4430b546976047cc43193303fc8359f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f0219100200581e023bfc58595f106a909b688122242248731956b25b48e265e4febc55a0974b4a817c7ffffffd9e48b5d602192e00032f74d5c7d8331fe4ba7ed04efafee91c9659230e8a308f7b63adc999e875e4a4031d4c0a89946523180b0b629a66af1e02b168d6d26fb1ddb6adf3f4ce7b6b789b033ce61a7f34401b962679dcc27c93e133a25eaa4635e06ca925e16cc4d5eec24d036c4cff5fa4f70eb3fe1f17bd717b7fc65e6cf8fc198b6f5ae84564480eef0ff1030fbc09368502f1c9866e42f0ef666c8d4e7b337b0223a3a866c89d20b88b9c0003ffffb3171d0e9df4c17f9a7d098c3bb9db059ed7a87d3f63cdc3969bb7b3ece003d8983a4d307784cc320d27c1b5acf0b97e7c5534330ecda59c98c9f6fe58dee603f589b60f811c26557757f493b896c0599b9cf2189db61ba8e5dc29615813f7da030c5752debf24d428018b15e4f82e767a6b31075440c49d3d2c664d9591d9a9b903c675ccadd142f70ab396f2ef2c1ed3053e061f81a05f596555ff19dbf28018fc036e656f857779c245f5a07730bc07de406ef758b98d1e517cdfbf68890d85dc1e03094f8075d5e1b108312704857febe54884fe562d6c62e1504b9dfc35d09503c6030067f9fecd9b33a9ef4015379f92d569d0067de7625f645036cc2e2736e2639d03c703bfcc6e7217e6462782e63f2261e678305ed33d177b20a026cc4e91b48b4f03f821786def66647c628e31802ba8b95bfcf96255518700925cf366610a1a428f0219ffff0325d4b7945f5f5c173429d8d9883de1802c281b864e2dd56de7f4583638b1def603d5d6e69d497e636df6eb124e4c1055da5340b471095a0793643b648a2e23e0da03e85a26cf9dd34729b12b7741128171416fce0a5dc3aebd6fadf6a33234146b3403761d67474e04fdd3e5ddc11aa2863aaded5decb0285a9873c611e5df3799ef48037686a2fdbc887032da71bcae569f08fa56d9e6e6eab18b7b84b2a11f0ef1df1e0360822c0ccbbe14233169fd54afdf73d932b430bc76f87087fad68ec6a168d3b803c08c18a27185d8939595197ad2927b6fafd5308c60d8b6d17b0dca4344720cf203b831ea5399fa28580ca247d780e496eb3d95d1c5a92ac1fded4c6a167dbbc70703f902fd8962f85263621c8cbd98464a672d12a8c932a48f37662a61cdf225ede7030a584f4ee45554a241332c8e8b5b27e44a72d80d4778a591b1de1a5659ce8f32033909e0c3e9c20f639f7780a133191834a9fbeb5ac248bbd676c5ef9c260e977b03e3f636c20c1ea8922afcddb414d4d3258569017cfc1fb30215da4e6aba276e4f034f14eec3ecf415b6982e8e39bbb050a6234da588e53fcf3c95dacf6066741d820219ffff0305c5ad41c20bf799e4bd89161b83a6d4de6408ac6efe33980e420236f1de08f0032d24d2a9154c6426273de1c85b088d90a0078cc8e8e41133788997e100f8ed5403f2c4398c615cf4271cfdfefea288bb70ba1ff0ab29647a813128093f861719350323e8d30e1131f574294a82e3f057aa2543394f4feee52af8c22cc8c9c71449f603038efd1801a345919be59c1861fd2e59792d9d150046ada0edf8da4b17ff187603c284f7fd77b26ab973b02c572f344dae428a5ff5c60698c9551e1a52cbb65ad1039df396c95bbf4836a80439425b4c017db1300593a07671f1160e6dfc7ed5457403ab0c99799c012f04a8f5a424b3788767ecce909f74193d68447d9908969975bb03900d88ae6fdc1044ac0a896b91067167da79181587e4fa68870157b94a3f055c0219ffff031d9bc8c7d272abb2c3e8c348ca3e15ba4e240e7cfad7c125948df21e8891f05c031b7906b1497171116d8993a304b3d729e378480b21f3a22e997316e01e05c89403a885f2b820fe48be275cf433327130bbdf468616a4827189b465db95775abaa603bd7534040882ef04910a0f5270f0ae096acfa5eb67c21bc2b77726a0f7d2a880037439384deb5e11c473ff964486eb17eb6b08892c83306681b2f0f68c5ea7c21f03827a03e4fe97fa6dd5be218fa6a4902233165f6c6a72a29b36479ebf357f2f93038d91353ba4eec2249065b0b73e5a0454465a1385e678e27c62c0d7f2d0413c050219ffff03ad328c08f2ac24812ae07fe4cac3a72d93ad17969d00715891c34d0d71b15144036b1140ba3a0c93157ae6c61a63603da3a6fb3ab69ff1be8b4c3438645b51fe2b032adc190b724bf997d3f5f3abbff1637928f683e51fab75478a5bde57000d553f032fc58444371b77694a283c835a7a880a764cff8297a02a7682bbef3328293f4a0351ce5470fcf55dd6edcd7294504c1539c57b2466526dc2a33517d426bb698dea030181e34dbc818a91796e6faff61b655bb9f84685904ba4adff0fabc9b7e4125b03f64497ef6f7d470aa32b7d4c3f325daa4334cfd8f35ff7bfa7999ab1347fe0350370a4aec4a04a08666d811cbf094f5a39be61202eb974a1e728e559f36da9379f0319e4ff3a07672ba9e97dca79395a07f22971d4edcc971e03cb20bea567fb75f3030eaef6cf8512ffaf553fc0c85c972d08bff994b37c137c31df2cb8b84790e91803a865eb76e686c18b8d2c80b15296ae331fd04097958a813e4082c99dc8067c590377538179b7d6542764383e19757d3d506d25ed13e1cccb27bab2bbe9667be6cf034b617243329c906524940a3693a10d3fe1a6158b5cf10970fd952eae01cb8c96032a3615f856da8631913d26bacfeeff19302412fd3c1651d1737753cf40ab687f03a0d94a77960b1a9fdee07b65cb256dd41d1357299d5635c8f7d2d1df8a89980b03386985cfe238a750be77b27c236515a57a1fdf2aa467aa965e2f93fd482ab2d2032fa4a09cf0ca7c13af9737c0776c9adde940e00b4c88974a94a8435bacb1e9d603c2da6f6f862892495fa029d38175b9a1a41bfb10a55635731fd544aeda89de270367338a706b28fbf439a12b1c5269913b942aa7eb41c8ec44308d6e4a82ba64ef032b9e927c275dd2a4d4df65b12e8be81ca7cda6bbf86b9a63a45f7620cc5ca6a90375db372b492a90c1d7c7a818f23b11ccae26569c05879799e3f21c8f45518ca903db478e200e42fa2931226a3a17255f1e05d366142206a4464d08cd606ccd6edc03f95796438645bde217670e1df20c43b10cd3fad405cda8f34e959be7e36016bb035fa70d68504c8b75fcce0aebc138b9de9b5b38c3d892a6a52e86c87aa8ff5eaf03c2c773784924207caf498733178099dc457423a235c11faa748674e141acb4960365e86bcd4c63d0baed08d72c00189770d12cdcec4a84eecaebc2d4d3c7ded2e7033014adb8993a0d995ff8625833d64111a707b19ea2c03ec032751cb0535623b7038fd1d28bbde9781b32bea12f6d337462bffb146f53c60c1a0ffb4087e660de6b036fd911f09de16b19730a378eb0d3509862d8f04d577314d48fe061af590ee0c403947f4b59e1cca085011ab44cfe69854899f9e3d650825b289d2dd3847a264d62035166e5cab5b90f867f8dc6b61774f75a76a7f252245a8821e1079628e0afd0d50375af7a10e9b6e4d0caf2df6df413c85c6e75d2dab3184a74492559ff2ad9245400581e02f24236411350e87d1bd5f569d6c9c39d2a68811ebdc42ad92099b23316440f930cc400581e0268a1cf4f675c7c822d0738ca26c39193a008d9c55d790f971129c7408245103e4c028d03187d6df5d46fe2b7a84d60b219c26f880e0e3d70db7a180161652b09725ba2fe0348382b22ce483b81dbf48ed7a8a5836e95c2601962f146b3e2383cea64203c750319d3d5740cb9dc7aef73984b25f298c7197f13e4624d99dc843dbfc2be08388a03a4a72072bdd3e09620091008ab776b05502c606e27612994c4f37f39fe92fc5500581e02656636d7c36510886a2a694d116123c86a670735fc872102b6c8cc7db45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219872303bcf897450c12fb4764ec8305b2a8671321dc4da1f0dfccf3e1896feebee386c10350d816fb8ed86a9bc4b8f94378ec43acfdd648101ceccc1aa125f270eb0ae58d03e4c31324b0be6440bea396429af954b39768f9d5d052a44d62e02b2c95a8735b03586df55e802e93932c9b200756c6b60fe32fc49c28809240401f9ae2e7b62c6103e3d55a71e69130094c8a10a982a63e15312bb7c018d3f6a1f13c40c287aeb303030bfdcf677203977e28c326a4b6d85e22b268c1a90b5558d4c61d662ef01299d20219ffff03faea6a20d8e820dcdad75b09c9f810601348733fb596c595be2065c848dfe84f0219ffff03964faf17e0cb9f57a4ad7a1be96686735407795334cbb91590e3a564f4a0628b0388563c211f2821bb421724e87b01b81b6baac2209ea5232f0ec8d6c2a238513e03a95647bed48322cd1703c18408b20e8b6d7259b80657a5e3c138a2f46c960763039eb736f024a95cc92f86dadd9671015ff5be902fd4d3745d361772182c625a70030cfcdbd414014f6b23ddd5faca117cda8cc172f3e2d248eeecaade4a3e44dbd603e0e79cae5efd964dcbba532719c2cb3c7a8083149a387a1f2da36398f2d11bd10315436858bc22f0112d91796c37a5bf3e0b9e6e5b29e6dc3ecc98e63cd7fe4c2803c533f94c1eb5bc002cd2afd5545dba030b6884a02a1e864eb2e53ee4e0c63ec60219ffff0329c2686886dbb4848bd49f2bfce2d330e3eef7bcc2ddfa7dd8d1eed02924d5940309f3883849a49f6c871bab3c3704f63b49ed192c88aeb5ad222ea07d8a356fb40352960db6a9f166da8c7dc4a740be9e620bb9cd38d4def35ad0cbbd2508ed97fb03cba4963bc24ea6373d113f81482c1d235a00a657c4eff28cad51b489eb66697703917f33ad683b870d2121800e711dec49e17c5e387316bbf4c31c48256b1a9ff50327cc5cabe52133ab8d1bb82eed34c5276679e80dbfc05845da81ccfc48b58169039a609bd5e45f411fe35a112cc9e52388b4da1e12709f266e0403f06ae021352f03b268e19ef76cb9e14894cabc0cd0a2398d2eb3f582223d29bf99a8ce400be0f603935d22f70614f477986036ce455e7f32035e92e61898112c14222522e71e544d03447bb1995eb69b77f762e509def624fb678bc48667c63b53a204b037b86be2c3038312421d640176ec9945337ec7c45b63082c052a0113e6ae81c7e16755ca0e8e0349dacac50459a25070836db024268f6d8d543b0c92947cae933788d34e0f9d1e0372fb8428ba3f23d628ec7f855af9cc58153ed161dac70376aa7fea94eec641f803e4b2b8df1cf10e9e2e9844ee50a68c18b70760166cc5d07939e4104ceb7a3e3a031f963bbdd903f452f55e62964c8edd12d6f44d72e88d6657c7b25be2abcf693b03529f3815a0aec2d6dc824fadc7902aa405a3c424d22158c790e05414c9911c2900581e021376f95cb2a57f5f164c1fe115a8f0c523410181f1f635fb6ca2905d2845017576506000581e0306cdb28fc4aaa0111630d613d0e270a2ffd8fdf1e2db7bfc3a3e0761f045041dd76f5d00581e03010efb124115a3640e348fd7b1c99aeee0c8ea3e26d2153922224eadc04405f5e1000219028003e743d16ee64a66e663c900f92c8ec551e95474806162648e997b8ea5e9a95e6c03170a1c6f90b5abe38a5eb86b62715fa402131ad1369de066982d118dbecd32b603d8335c5e2e0ffe0d34c070655c2f4d205ec215733fbfc56708db8fc9233a5c5c00581e027b031b6c716593b346f7d0163add36eedf4df5975a87f5f2cc4c16479d5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff59dc42f00581e022e79fbca488ac72f6f6771a87d1ecae18123791516b48d61673d600cca5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff34fd7e300581e0295ca7c164986ac69e5669611c4a921889df6c61f1f9fcd54bc482fd61c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0398275a4e33ddf5c197bb8d48d24d9e0d4c824384c676222507ae896b158a3cfa0219bc740398f53ea358600cdf19a0932f25e7168bef414b8481c6ea18b54707929a24f28a03ea48e9f505f655b81f70222bdfa720af1484aac18ef0ca2e1f324b586fe8251d03e0584897549e3372fd752ad4509efc67f576393cd42330525c80631e85ef735e0388da5b31ada4df1ddbf46bf6f8f5e7ea0f11ecd669f2f3060ceae9b499e59799035617fb5effc2041b1ad01860204bb2a59db704e0e87926e69e32729f4fddd1f8036345f3f2708d9ad168d91647558abe4c9b508f4673aff800ff2d390c0dc0d0bd03b59fe3ada59d68af35ff823fe6af9944dbf77c22f9fa6c0f2d6bb51ac04027aa034f3c5d77a20e48ef8eda075f3690ab2d8fda33c35ae5ab144c7e15b8a6dbfee603c36acda66cba9d3cb56cace05ae6a9ddf3fb667cd9145562c0c962bb5a1238b303787858f1a1ca7ba065c9740a0f1f6a63caa4ffd6cb15538ce26b49db099b757603d9717c74ca40fce82d127d6a94df9a65d5a2245637cba47de5965c900a02ef9803b67a6112e789e9d5ca1574f0d0cf06d84dfe4d189a0e23c25b960370f685221d03f87e0c1c44a1293c07b9c64db59a669c0c61ed17fcb7fbaf6d556e1ef74514ab0219ffff031458844b59cabd9e1a4ef37acb3f2da9a3eec0bc563808aa13a63eb9e9bb224503fdbf3ef93d185c245bce2db496ec48ac81357d16126ff4abb86af0647370c84303d032dd758867d3d6cd596ebc9b31fde82d65fb69aaed52a3191a565b646e99f003a0da43ac89a9edd062497fa300f0cd88bcb9bf919df8c5402106cfc9b8a33c4a03a4fbf50c2b1257ea7ae4da71808b4af378c362302aa7f8cd1482a6fee5f3f9cb0397f050c99f7a39bb31ff8c8e2538271d7d3ddfe2265c89158bea6713e3e793d703d5a3b11c9c0d0b052f9e06dd07fe33d0de0f52832b1171945eb0a4e73228d2150381d2dc0a70a1f81342b385181431900c3fd17d3854998c7b8ffd173d0be90f3303af5629cb4575368d39fb9c607ee333a3eef57dab6eb48c346fe5f2b2952536b103d5ecb2cfa53d9b24f78887cf429b83cb2c5cc5b13f95e708fc567ca1d8c3b6a8032285c58e6a0b6f7c2cab40158b5d7ab90fcd55f04542b09c1b6cd03172b0ef6c039a106c3c8d794b3704f83585859057b15685d19305069af48d34c184b557b0a20219ffff03ed6ed770db83715ab07364ba29ec507e4983f1a0b93e84e5e0673be422ffac1e03fae22f981916e851a064657a094aaeb0ac4c3d1bd86222faaa0aa6aedf65f134030ec58dade9f7b6784dac5b25f30ce51a5e1cca9b8af880c887c3794c746e8995034eaae1f43065cbe5456b41f663021e1fd6dd0e6e28479f2b05c3bb5d5c3f9e62036aba01c5c8b560418a59efda5aeaf693875dd2d533c70d7fd2f909322f6b9af20219ffff030c23ab270b7ef304c5e04d58e625ef68d5cc5f9fd4d046594c7d6753fb025e2703c63da0fc173f0f296e2ef1437db35ec59579d33cdf09ec0598d697e5bf557acc038d27ea71055ddb3fe5ddf34a46efaeff301ace866c79a6cdac31ce304da2545003ddb1d561be9190fb684294b85d80469b49abda52be8b623eb6dd6073d3b6aa9603be89e1be9fad4e059e0c0fd45e4803c69fe6b688ef32ba5c2716ac027efa7bcf032ba32a871b53fb780e3edde4c23b485c7dd823edc7b2770cb5466a2ee5399425037aa5bf1e892c3db0ad112d70a0ccc13c7e47546e94a163d855cb370edc72d87d03f383324496541df6784bf87e74159ca5075a1818027e386c9d62a1b89f1d71ff03965290ef3d7caf6995079b7de660277a617a1f69f14fe03bb74b8b67605536ed030fc9274f052de95105e6f437375d34432a7e6c15029163dbdfa57d413ddf96b70336a72d9af652fe339f4264022dcaac67c3ea136c57b2b0d45c1b9022e4e95ac20219ffff03efcf4a847f5690d618bd92f24b119c3a9b4d4b1417d9c5b3c2fe06f4e5fc776a03ec91107371e0dc6d96ee7bd0f058ba686be1dee95628cd4678d9c6c36da84f28033a0a8747bb3de4e84aaec3d0b4d97a0e7cec7f945d7543eaf42e2c1bfce61f5a038c41e8fd2b4dc27b895546dbbe9b44aea5f71cf0ed77a9a821144d69a92f848203e0ee2bc7cf6157baff6bc229b90574d26b8c1100dcde4e895d7fd56555a551a603bc6999421e064421407b40ee512826d0e22a700055a464735e12276728841597031019b3db86b1d281f69a7ec4492d192d436a0eb33ce1b5f3198525dde2d1cccd03823c170cba555d897f9b989a4a5dcc9f63a8097624d1c47dbb4559a696d77c3c03006c1a0d28f8c1a45a42646868d007d094f183836785b325f3c482565585b4e70311039414c09d39d9371dde6cbcf139622c4e130bb9d23d44923468870edbac74035e1da08eb4a48c7ef9d13a874bf56060bb6fccb5e37e464a0e6d0227b06cd16803db2e118f27c493851596f6043c586a02ded14ab6695fcf333d765a98d19cf0c2038e32b58145f32db672e602dc7178480f7230f574b8a968e4a9769060e83f1f460357c48ca4361502c13a08445afc7ffaeeeb26cadeff028a929137a7e747072ef70383b2955b78d6b2caadcd8b25d87ed7666a9b3d448cd18b0b8b6febd23d33421003c5b56fdf7d5541bdeca93814b08c2fc2d9d7a72fc32c63c03d467bef99b06029031e73cbf7ab9b71fa574681282dd799534370f3a91725f6ed7751433e8ebd5ab0037b744d69b0a0eca0b3963f0748c2669e46bbeb485c4f096e24e1d4b4b3aca41403670e20ef0244d0c3aeaade9789202c01d409faddf73f47cc3a3b24a5a71e919703015da734aa370753c5cbccbad56c345d36a59efa59b877596c7a866366ed1349035c0a6209b0fb83d09de7742eb3cf2a26aa31e8576f3cf0df0e13148c2784263203885499b6dd96d5c181a252346a10c9391291fad97f68cbd2d8fac458ff80ebd50343fa6e2739daa9f5498179141f7370246e8f8f50e936a12cff86249c739eb97d03c5d93f0ed76402ce828f5352fc83bd219410c91f3a0fe577164b46a5a44a7d5a00581e029ee41bc3003870c4e32c46c4d61e43a287a35253ae5b42b81950d267374410d69c0b0342fa30a3781e9e2a82d8d8681dfb8834d1b318631ae9181d92480186c1a07c6300581e02bdde11082501d8a2bcf3c062695da97112ea2531e69adbeb62c69695785820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffb59055f033aafb68d30a60b2d5a773f1b37fe35fb4a93070515c05f5482e0bfb3b9c6f2eb00581e02f6a1727f7225824afc6f19098d91d50d14f909792bd771f652d22ad165450132b157d100581e0247f34d4b4349a9d2132583a25769d49a4615c6793bd3415797265259574407cceaf000581e0282427e74927588122e57f092ef287c8717d8f834d30e6cb718e2bdb624410202190e1b030d2e984f9adde505255c3b816cdb711f6d5628d3e901e0a1c98e621970f63109031fd9bed5921cd16236f286bbb0e57e9d7545b44812a978ee08cd9846a66916b203482439fca7d5095b27fc52763e7caf5a0b892f2695bfe56cf5d68c96c2ceca7403a46edc42bd33fa43fd198b209fe013397af569e91d6a6d36c2e0631051fbf64403df100f416237d3a9cafed1579029956733ebf3f71348ac0a04e1d7117fb33a54039e289b885c5e8a0145fd49ae70af1bc482425c300987834e295331d9ba19fe6103e95facefef056ee1f945c17bb86ca1ab22713d73dd59645b9f90c7085f96c6f803238307746bb8b585b1a77aca40a9ffe29d822441e8123c8272fcaef9094885460219ffff03454f95bb8642c772bb9081eeb8ae3e1343f31c7ea1ee427b818aa16667401674035918261a76b0bfbb1322cbcab61dc1247864724d0ce8d5991fb44c9834303dd803dfe002811e0730539dfc3491d264294fc6c3018d73477b2435393f282a3060c8037f4e049a74ce34a6c5cf1b0d7ec795ea54887354af0e70ccbf39c3c1707168fc03b8438ba4c97f27010a9e3875f70b35a9315f172d4b9d0864d846e692a7f025260322b2682ec734c140b25d157252061674ac9a5273b5d92752cd2311b847a1916e034b32af889f4bb0a81fbc1252b9b4eb1ba2983e32dfc9ace4e9df739e91adcc4d03069d8a1597d1db0963b5d2479d85336983a066a60a6e7bfe63e959a43c4e3eb303068fb337a894c3ca4e855da8c578148ccfc8327c4adbed22163af1d7f6fc6c5d03bab3ee16dbad5d9caa8cf48fab0fde4879215eef8c82b8d4d1797e576a84c88e034dedf57252307b795a7fd703b988c82648b275b5c80879d286bd550108af1fd10219ffff0372e71c6d0d089e22d4c563fbfa5dffeed5aca2b5be016c853f3ced985b6bd2ae03376f0af41312b9f418e021252267b7495a3e1e619ed262632b1cfdde6b0bb5c70375a9bdf634286297106cfaa81e8351c271d360ebb14b4ce47e5ec7f1226c94e603b01fc77179fbcb6f3dd6648f353842eb38850b5cc40b0c5f71f306266f85282003b2b9728586b6b6a0891d42fdb067ea2a80eec47a8fdaa481ba645cd380cc3e7f0219ffff034f766258e380a81fc38a02f5753c4e507f869a8e784dc1ee26562dbaf7a6f31b03c9b8738e27d2084f1b0b37e9a282f9194af806a58b98b023fe6e8bd6422b44bb0340d57c45bde6b716d6626f41a5f4eb7c47c0d80103bfce79050813e1112a9f0903773f5e7567903767d6183fa891d562a992419fcee8a437a4c2e966368bb19d9403a74d0a2c349869bcd9af449104aaf9193992695921c1358d4f993cc341bfd6870315e2c05fc04f436c2904fd70a15dc6d3aa4bbdb9bb07aad2b1364ff9dd0113be03e9fb1fcd6aff0411c2dfd0a90408ff7ee33cfc23266d08f02a9c79820c4a691003d6fc21d50112794b89cbde27e05ccc1a6808ee30e33e9dcee345952af81903e90336b7e8105970edbd1c38e1ad966d6bb52c98089e72d7f63877442dab3dadb550036d0c71831c48d66aea7948b48a556b01a06fbee65c8f8a3d031b249a2d1284610354207d0ba08893f890ebf0c5b938351e730e7b92bca1b9481424a2c6ebb0375503fb97efbc6cc9b1ab52484923dd8439cd1a8f09cfa70f32441869f673870d7f5a0303d8a60841f3b61e29d495ff0d5230b9b05a872811db73f064417dfb737cc94903c7ac9e671aefd7a87e585073f2d071982f13963a2dd14aa63eb5675c458d59c803b0206078c59697181dcff0ec34e20b6a02b500ce368629361e822c24b21ff5cf03708702e8c3c51e32fe46c3878b4bee389b047f6ea0617cf7818cfe382ddd9690030187bb210b3e28b88f41830c358cfcf1fcf9a9e217acd059f14b59befda2e80203424d5d0a97e73f5ca04186339abef4a5bdde4b6f850a87dc0118064c4dde83de036317be0efb80960b97ad77f75bd59bc4505d6d1d170dda56b616debdbb7dab140364940eb7cd4c6d787554e0a736a34a63fcebdde0b13881249eb40ab2d87da0660374b1d3c0b2b96e9c1b62739e70c39efc25c68b1ba4de03adc0be8291e2ac29b00318222ffcb713f6ac59634a83f007e4bc30e58bbdb8353418a9e0385c5adbc5f803184d6007ccfda66d2d4b7de92909b08c0d170fcf52acd9cdf37c8695b332679103e525647da982c84108efda117150a0aed88024e199188fc0140205d84114718a03a4f0c237c99fcd0c735c51fbd41c9c32efcc69033718c429ce779b8bf351f6430359f3d4892df68bbad7501daa001aae1f26c14cb021f8838da9c0ce231f8e859c03102cb78ec67cfcf3ddcdec1403936799b6af4c064a8841c2d8191853229ae89b03dc4628bef2db7ffcb690db46f0f45e746420a721407334dd488c3aba363db18903d4df199e8ef938ecdc25e9fe431acfb9accd6fde43511e2755bd0afaf23d4a9f039c0ce30d26a0013b4456350a7a314ec8b03ad0ac8ead2bcc7ccfdc01c6337f3603451098aaad17c02c72693cbf18a42c471ae8df5ec6bba216193ba6119051b59a03ff85725fe33d2bd32e24932cb4c0da3e86c8c31426bdaed7466919b812c52de500581e02b0b43b6fd2bc95ad0e8b84ab52e447d4347ddaf4d18c9a8ea887313d68410100581e024e0854453cbc6fa94961a2b76000ee9ff60ff15ac27fadc01e3c0164bf4307a5d50218240300a94cb5c8efd16760df73f7ba0be6afd40f3d718e867502e00c98a70ab8ef710390b04acc6a626cfc88feb308fc2109187a8823c1b926f6370f53318877b67e5c036e8f0b0028d60d3dacb9d07c9e18209ada344e29c8ca7537e1929b74990031770219ffff032134acf6e8652aeaffbc65635c8565a303f0b1cebc196d8bee91d8da6864feea039743df837fbae114add569323a73eea113038d6f4ff20ed4c7073d708144f8d8035a71258973ec5b65d180855850ce7c287f5fc17737e2ff38c56814f3bbfb544a038f5c9062f5bcdb7819712f6b0883b02679bdc2ddf3b1cf6c85725fa3b1b213ab0334ab08862282c48ed33246f4a7616855c53fea12625ec09572beaabe275a25200219ffff034d49f2142b9451b3364cecdd9a871ff83d9bb016e29f2c4dc2bfc6c0cd71bd1903a58c207d61299534f3bed6cd4422d7e58caf06395285bcf5fe076522ea893be603c1ba6b76db174eecb58bb8d3098df4d4b292414a5e35e7206a5f6181b6ff57b10381d2346c6ad6366a74a10b604ceb4a4e539300f5f7be8399fe1317f0a915a0bd03048f73dc95992f2f91e1341a0d7b0faafe15ba26565cda948c8b9ab420fee9aa0307775553ceac82217c62c6bc5ad72d9a29d90f0dc892b44c546b47e45c16c01c033260168c38cf8a0d6c4e84bc489b4da9ba21d4d99a64bc4a3a9db385adbad6d7039d633aa077bf2c1ce27c3590200ebe8f059b108e45223d1c8505d43e215b575803c76dcb8424227d259b97a655d7f3af1df639f4fe2bdf44d5cd229d46afc2a474033ed70c6585a1db35ff74bf6d7c6a1c9ba8c6cedcfc5e7f22b5ebb289caa5ca6703d59e0b71a2866a3bd7bd031fa0d0a7bb5917de07092820c1995381f0c3b49e5f03e1556632c9dc65df1ea2c37e75209ecaa56f69fed0a52be931ef7dd79a26b41b038f23609126382762fdcbb89fd8cb12783e235b3ae5432215ba6ea9d0e9cba7c403468834a07a9a082cdc2fc2915b164251b2642e57d7cc19b29d39f420c9f68f03032c638515d0a47cca6bdc6630bdc35929dae6f9f4d83bbf67c308c369aeec18930219ffff03a84bfa3dae1043bf1ca3b606ddc0b6230c5d5f1ee40194ff549c6d7b5216a5bd0219ffff0322cb6839d2902a28a2e2581f7fc41a7ae8951a94beb9b28b9e257c5dadb638eb03b130ccf02b0d10161a627d1fcea0e283e97001eaa88c67f371a41451f44235210373ac157dec6e370a67d3e66c26a797480434e0902a62859bc1d93ce4762ea7b70301567a97e0d957e7d7dcebbae1d8e31f38004bf69431e0811c8126171985fcf503d4bf0866bf48fc061a4b03f3a879e741243670ec02abab2460dd7d022193926103c1a9a3edaabc94a0bc3ba1f0fc4f221262027eba701fdbc8f1952234d3c349270376189cae47cca4a20e00c2ec8f3a99de017a237d01933d8c44e8ca3c4435f74c03324194e6d527617291409e992b4dcb9d9d8f6ea04f6789a3e8fb08f0b2b9578103302e45a76926aa056043b241af45c141461623dad3debf3289c0f1149ace728b0397586e2d947aa078b50e24b2d791da79695ea01a43d64943c3c27c9cd3f9f2280340b24ab6bdccda7f43d76f884b8f679164a8cdf5211e1ba7b240e1c612c4bb2b030b69a567394d0cae6b2ef242b070e4868de575a12ec5b876fe3624c0476e6bd2034c315fd9abd1bdf5eaf7f09c23f7d2d72e973e672f0885b3ef2a611bd468ca82037d39f048eb4f8efb4b8867dd997d198a7f2ce5bb18a5647c968cf20334879df403fa9b6606565bd31346b8020dcf63c69e56e64595487857831df84fc97570dff70375c0abb3b9b4bccdc120e4a3c37befc5290e568fe401bfa2250a803dbde0d0fe00581e0296716d66b2c468917e20f5b97decf0b93afb35ffc3a4cea9df79d2227e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffec6e7a28f500581e02611b7eb3d1670e287d38e8300cca4901c9051575ab6acb43049e96a00b44030827cd00581e02801b69a0c084553fd90b313efb096d9428dc561e4e2b8e1d8de4e1547d432dcdea00581e02cf4a90ef4233c89e197b871821e91508a6f21286db0ebf0d498f55991f4401c178d800581e03c45071416c4ba64001fb845acb39373255a7b76089c74b1fe9cfa019f05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffdabc984e200581e0355a38db5540d545bacf4c68a726aab4c597ad68c12415d70f7f7796a30440c7be87402188802192158030207f5f8e3d2067d06276510820aa3f6d90c511215167497aca3799666ec8c0d03c1b6f058251f110cf846fe04fbe25b1e1457b61d226c147edcf1e10499a7732a035f3aa42d2c082792bbf1c759e16e2d4c2ca7b78e8712bbe16c637888c3992e6603c138d013b422972710408904e031dff9b717ae89bd9dd87c599651784d305f03037c24ba14385cd27122f34394b63924a8215a05f5063c5d41dde775fd130eb40803ec0389b95e6e24d73f514854994e8011eee9e868eb3a9a18b08bb18e03a1e96103ad797749f5073034bd1a95266c1c7e6f98304bda1082e0194a0d87116d4cd22b036a2f3ddfd1978c7c127f88c2b66d0c125126a969956c3bf917fdce693c763d7b036ce9867bc14394038f85fe3417940c8031d1835efdfa9f51e8a8b1ac8d7b03790346e5e2c7ac4ab009c26820fec0832d836afce623a42575d5025ee256e3e4f5e6037bbe34bfea79eae2e0022951c5ab0139d3d56e8c473241148f3a8e9eee5016ae0219ffff0371b8c7a9508994a7561118e71dafda9fbd3a47ecda4346517eeecbe998729da003b8b61d08c586630917f121fbdbe8d13a2cb1e28d9d73e208d903121f5f521e9c03bd45302d26fb2e46d5f11bebb22e9031764f53b2ea4768e3603b389059074fcc0398a54c7ee593cd1fc5004be72078b25665a9ed0dfaa050d078b7c12ce3d0af1e03a244c04269e6bca35c9917821747e4b852917e5eeca84be28b7f70b285aa495003d306abc2285200f2f4853bc9f9af62f5daabea77e6cbcc5a3486c754b6bd38f7037a0fb542cbf814188c0e68f57fe29df3ccc6bac4670232f1e9709e399ebaae930219ffff03f8cb56aa145d86850b366a0552007314edb323b68671384a3287cae6a22c71460316ca27100f5e64a9567079b7f8ac141dfb3e13df2799d2e51567a4d338614881033e18bd663b4c1094f9fe33ee38fc9603c532a58e430e462677e04e8e9105c53f03ada25a4ee170bb0b832336a3fb6686a079b60b462bc9d2588f52a4bad1108392036f029baefec9fda26df4e90734f123ee40c5471389e1cabb18376eb9c5fb7bf203c35adea838054e2361a806bd459e64793f952721b4f874ce7efcc1ba72308579038918084f2bf41aee054bd695c5f4bf191209ba2de4d9120aef7bb8c9e928517f03d03a1019d4c285c3404b3b23565d091934606b8ba7ee5714e6b094c2acd4cbe00328dc9bfdac5c0ea976c9cf37a42930fe364bf93a36534a8c913dea4be29d935703bcd870a636ea987655c2242e33780daaceae694fdabb2c3dcc1b6598a3d4fd6603f596be6393f338b55c085de6537a45ff20d351b5e328e2f387e4320086ac757103e61f41cf70f94efabcda4249b06a37b2b3644e3acbb21e8342a78a546bd7b03603636bdd77a8f0f28585ecb1dc654dae522a72ed5f4fa08d8e823abd5f4b3e26030219ffff0363984d33d5d80e19ef1527793371c0389a7948069e37bbc0898776047f2f138f03fbab0c08e9a4a7cb3f241ebf2094576de06ee5c0caba36b27d464012152936d003b959df01dac8a0c189989e4a75e5a73dca3b20442846c81d5f41be284654e5f203be38a4e970aad6e86fb373ee8d31080b786284befa14730f25807f4dbb07725f03b5cdbd0e7a430901bab399ccfb7c40065253582fce5ff3dbddb09390e7f0b2e003144b9c8d9537d2b12a1a0f4de0d9ff5b361bd413b13a32ed75fe2007b91e9bdf034428d3993aea1f45d4aa025ac2f9060052d5240c9cffeb564a02c9b5ab6863a103b98e4ca045f9dbd693f27f8b7fc07991278f2bcb91fb12a6bbcdf2683769631403511831719d76f0b1f1b278dcf1cb4452228d3fd308dc49a58a67c48b9ff6e90403f92a3c34ddd5817396612d3034e8775cd092cb44ab1d85b5f6b907b7abfbe7f403af69d5f15fbc6aa23fe55c56e427dad933a406f18919f2f29155572eb20f4ec80354c6b548ca9a01782f4f166a23d5fe2dc62d6c082bc6097cb17040d1aaf39c8003d05dd7345b21bdafcfdc7da9f6e3fb795f4b4bb1233aa09fd3b000bf898cce520355d0aaff865d9bdce5cc99bf449a297de9ea1a6051e9ea62d7091eefe9142d1f037fc4e8fae327c63d6a4034a813e5ef8bbdde14a2d1588460a5e7bf7c5b93e2ac034d7d43cdaac0f3268e23116e4b317d2c925d2a0db2877d97692dae046ea242d6032a4f9f750da66d93ec61901d60515c4a31728fd3b09204fee3b0d0a27fb051ef03fdd8c1b1e8dc3ef3577a8fd3931a95a8c2e2b0e52f74d43397fa98e464dd30be03ce0250ee01e4ae90e85325eba0671610897f4c080684cfbaa36ed779deacd37603487c0ddd1ea3429d9cd897c775db04f62ebf2d8fecbf3157b1ea23ebdc26ec77031b53d606d3bc3a1233a6d7ae89352ab898bb16e6cb996fda806134160cf8f42903d446fd950b64a63908b0b9d8fd36cf6407a1f60b11b8b5fe72d8e6a89aeb12b503086d98d114371af95ba4ad03c24da1922cd681741ddf17966cbf9ee02c7863870381fbf5bdf15a9860e29af45e71eec3686cd7847924d295a62c5717db9913fde50359852fb73a2d4636b8f6870f6a022bc9a86bbfbf79d5490865f531e350d4526603377e4669abf7b2c1bf5374ad3401fe699b753db72feb7f24594903eae221f1b803dbc5d9a05eb36adaaa9252bc91d44da39a036ceb1b1a8a93e91a4c117d9ba5e7038268eadc1ab079e9abb22ca7165b5ebbad5f24409ea8041d23fc33ac7eca51a203e599a8db0f4e8183048b0d8a2443cba70256538793ea2974aa512706337025cf033ddf364f8b60f6812ae3cfc356a6ea38f108e2bbdbc1bc83d7c133356ec2d05100581e02ce808916b0d19d81427287d586b3530a2c03fd1ca1dcb801db45c5da0d5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffc1e15098f00581e02a88802fbbc0e85a13cb1200f800cbb8d1fbdf0c660fdd173a020289d5944235e5fdc00581e02356ca9dce7639d0250f21bedd673478a1bc1e7cafddcc6f66e0f3403955820fffffffffffffffffffffffffffffffffffffffffffffffffffffffedd9aa36600581e027b63b5590de10cf5a7cf88c099c98a5686f554c61843311b2cad6e49d04405a2759500581e02b5a766bd169e1a9e5960f560bca0878cfcf51a4f8de7809ed510f361ed5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa37af6b00581e028c38df3d527198e2c8e0ad7d1edb1f2da4790a2090391375a87020e76644419eab0d02196c050361350ef5f52ce1d4213e4aabb3768f70cc61bd53f5f0f6eaa75ad43c39afe3ad03061890fb17c8db2443cb548e1f8b225d4add974a543868c96e6c3c6dd605f67e03608f7ed0f4ff3365ed911f7b6938a4aced0174b132b4cdaf770f80f9fe22ce5f0219ffff032a46ce86e4b27af22c57afab90fe760365a295c3c2bd78b1bf48aff58a7ee5c903bd714c8b1c4bb1c3ce984d6d43e3ab1f8125c2995fe6cabd5fc221e5e454f91c03823124e2fddd4711cea5dd3c302aff3315a5da3eb3cca1c95a206cb30a5437cd0341d8d839ce70e5a3f148a9289e7ea7a1ba2dfa70ab5185d15ee2c87a6998ad74036be19c9844b81eb9f5bc93a8b729db7b142b10fb6aff0622e5683d08e94b672d0219ffff030e063225a63f3f561cc93ec7b6dd9ccb1c5e43429745aeb117cb60833abfd19403889f094c91fa6b1718403b8557d0aec2a5eac5c68719454e1d06401df9f6757003b2abbc8606784740035b112cf4c4a06a92863f1897575da47e191d4bfe14dcc90363fd7b381798561561980d16ad065e29419d2caec1e09bd7458a182074a46612036eec09cd207f1c12c80e7c5870e0f1f4a6e3e68baf14c606eb95bfb3e68dac8d0367652924f8213c1655e23fcd59ea41396c192087eb23df873400cbddf51480190398672f0e8c4c2b6d6ba9ef235e030acda893e5d3da7b3dd93c351e4026906d1203adc7f09df687c550faaa0a0f931d37620ecd8d34d1bf23c077dae2d9305c6f8603a138288f932fbb1fad9e7c6ac831e214a61e67c157e21e1bc9aad1641a49cdd6039c6305e6c533f767f8e5e34087e78bca4de3f036c39ec9c3f966daa3f84275100383b2d5661fa6c53818bde73a1b22bc56dcdcea2ef51050ecc4fce55c7774a9f90219ffff039985e5aae6e7e62827e6572590db1a6d4f219dcc4e3f4d0b8fdaaa5907e26bd9033f422df491ad5f95241373c5114e278b6fcab86c2b26fd1f29292c6cf8cf583403c399c6f9af509850d890d6ff5edf145081ff3f6ef3b38003e11935d9587c790a0399960b0643be917c2e9a6e101609f059f7988ed7efa1fee8ab22d8c409f3b0b903bbf45961930f80612d5d529793583920a7cbd15a8c6ac108d02328b9148f6c0e035891bc167fc62583e2c0767127cfa496c1ddcfc49ed110e9e1e849eb83e83ae803f463a71d065c292eed82a6cf445d185bd46c7e59c93a7b2f9f641be8fe125f4103b17bd40bfdcf53027147604fb3d186ab84d31340c572352af377035afb81b8500219ffff0219ffff05581d0292cd7f3f78137497df02f6ccb9badda93d9782e0f230c807ba728be0070119088a02190a0205581e030864713ac2db5e9db0684a29a85b09f8e2455d445c5cf00aa58fcacae0040105581e0382cbe9e9e102d9cff9caf9f978abd0677de42e743578f991d9bdaeb2900c0b4705e5e4dc9af40002195ee70372acdbee20590b83542a18eb5d9a1c49e47d59eeb9dfe6d287181c219c794c8c03e6b005220f8de7edfd7f06e487749e81895b4eb9f0c56a1da05f1b50aab8e45603616cad53e3488e7876a76561c3accbdb1463c59490ee7d969eea01a64032d0dc034073a2da2953d52313e83f8d7a05a6d27ee5607a4fdc044b6ac35631bef4cb2c0304fc7644d8abe69d5c754e754dc4bbea20bab618d50b57e640a83684673b19790362a752d529651a3b04552c14d59ad4c95736479f82eb39e4ecde3e115d45f77403af9fbecd149a21467bffd1f8ead409d8ccead8dc6d55bf82af70813e74dfc22a03a259f47d33fd03c890d78274e276ea027e6e3051becde575d0d8f6c9e49e80930301899b4da112719a28ffc94405856d1b0caff59c59ebc63d51d096067b1e3a380378a6818c13eb82b0af880762ca82ec9d6e2f7ca13f6d269acd6e565cb49356940219ffff0365635aed35b3bd533dd4404e017c9c3a538166353d3ea6e8842d2026a412c9c4030832f9d374b6a4e608a978e44e423c10d712a1ea897b778729f659736f02d492037a7c89b08d595c99f6077d62659a379f7e23c00066db48981c2ba6ba2363f897031cc478b06138c624adbf1b4a8da844c9406ea9ef8f6ac6e214a978703b8a0092034bdb44579ce20a1d8529a5a4036a1bc2603c1df75c0eac1df592987a8838242a039b87f213400e105adc2539438f445ac0e6c8aff8b7fa67ff39b501e7f652ca4e037519f1c8492035b3c03e7a70d0fc3921ac17d5a7fca8736842ffd54ba3b3c15203c4df3c3c06eef83a067db420408477ab74852387bbddffeee67b9057cd7a97df032512aa10789e9ecac403054b1bfbe828e21192de35ca6b2ad86fd55e94bd7f5e03d08dee418470476ab126790ef426f9770d56ee05ff31da36bd7d0ef7867c17420219ffff03ef84ff86eadb2182f5932fe409b43aa646d785880620dd8f96e9ba36f972c1f8036ff4a39b265c255bdbd3d796b1bf108006f402f817f6330e2b7a8c997fd2d5760309d79ffdd0ec292dcd6d27d9b334838a3477c3b287d47a27f34de397ad8b22ed037c9298560faeefc4dbdc0a28fbb97e56c383aabd4e0c2f47f9ed45fe8a8e8e7e0346e1a9aceeef370567d13b2fde37bf7eb7cbbc01f5bb29f462b23322974c8f4b03ae986a97fe52b44e6995f6e6c22cd7e2428072fc741bdc7ef0f30e6fd5f7287a0330a0792825f8f242049e39ffc69548db57462b9adcff9588b94b60eab532510f0219ffff037e230ff5c8b31076a117f647b01d3fd0c50854f041b484c670aadc417f6f621b0362e0c3f1d8c7b8643ca34b93e3d43cd69c91cb14728c55e75875c35ba45aba92039f1bbde9d30b8d59d1287003513f03ef7925778ba7601220b34ce3d762ecad5103e903c12f5213b0cf921b1acb68411ccac8543090b6cb84c33159f74f73b3c20603ff2b08d02ffc93138f43e3123cf7b5255acd77fc1f912a6af44967038fdb101d03ab563a120b32817b57d9cba61c939aa2a0575575e78b993f2246fbf29e107ab70301d8c7e43ec01edd4a8e1b9318b6951437398d46cf45be54af2d48b4e957d0bb0322bbd2b39fd3ecfea2c14742cef45ec08e405f29d6bcffd2ed4ce5a60c64726903b4fe82015edf0c84238c223e09a6a999f71b2060dccbc776b80185ef87a27da603739b3dc255635983e92ff9ec14ab495669e794333d7dd8b436a2a4cb956e74e70219ffff03727bff831b95a70fafd9416c42711a151c4048f5958764101277530724611df80305b4001d67acede03e739b4bd354a54c735b3172c0c98ea5529a0af21a4e7f77032e159992c2f659597608d9fa5a3134b441d395bf15c64b6d55a459552a16876f03fc97ba2a0f71d21c069dde0ba33bddf073132768c9fa146d0c0a62bb97cb854803fcbf6a57d6ad33cef3ba32aeed31aa4ae5440a96c219ff00d66428898f4691de038036ec7e7b86083663de05b8012ed7cdba5c7da0ee8b062095d8a0e0614776f103c7c21413ef73f67ca5ca717ace3cfb13570df6390c283d2407cfe0c017aa8c9703950b3ce9997491838f65ef6a9feed7159270f4525305022e343114f526b6a67603f4314f321081730f60f06c2476360c2a0d254191ebcda164f1c4f9cfcdb8a995035e8f7d6044865643ca8d5866fff84a6e79ea26e39687647a70ad9d1ed7795b110394cc13aacacf08f9d9d5429acebb56c53e27371dfa32367e3e18e6dccd150cae0339226aa5fba7a690827e2a42015e6c3f421666b8ad0e87528d3fba98f32fa96303fa38ca239fa96597bf936b445c623974241897e5fa75abcb38536c4d0cbc61de03d2eecf83aee98e7f3054c4f0e93c80203ca92f2e9f77bdf4085788033da26a1703a681e511fb14d51a86e6edec224604d8d5aeb48aadd51772a0da14c3bc50ef2503887921cdb10ab38f3c0fcaedf1e2a7321b1471072a20450d6a20abf188d1dd9a034492ecb18a28fc6248354653da1f1d1a51d86131f1940b755b4c25286b707347032a65341f26f9b60d255bf2d6b0b7684f3bc1342edf7ad802b91fa167c25b06cc03f9df21bd8241d8356d3d1518372f77384905215e711de39a0eeb9e04b37eae34038eaf4fe5c9cd1e25a1fe72229cef336738b6e9e78cfdc24d9b42bcc2120c75330321e0a683281ffea708da72ac9d7974b63cc5b848a6ec3c885bc7f7627df5026d030d470b24d10e8b3468b5368cdbca67577dcb7b50c5fc57a2f5883762360e64e903f01c19b98f29b1581f505d837305efd10f8afb0304122ec95d30b3c41f6719e603e626b1f5e1abf301c254e6e8076131609f77d4306779b8b36d14a2ff3f6e3406038650f14bbd459d16632b609afe1c767eb83c6fe0fe8e8b8cd12cbcf3bfb23247034239e6a658aeac40d7a98be665d5d66dd2b59578d9ca8b0265d9963d5f4e116b038daaa78bef50f6569db8a4c13c442687d7ad4fd77117d0d852b14dcd388fb32d0342a92f25298c1200a600ebac401edec2e46a7e8029b2bf30b2a275e72a24c318039258571bd5b54966b94c408195257d37c97fa74727d41bc1a968658074fce95403b6b4d523b40619f7f704cf3178831247a28d57ecf0b90a18d203cebc3aa06bb5031577c3987034921f92658f3398bd161f8ccbf6f1f28ceb22b762c21285f53375034a9ac8b1aee8ccb0285c57bc7f90f24657d62b7ca1dc6c713b94519db361716a03d402ef839f9f5c0eea8ba8f5a5dee353ac6bced3fd1b4de94f2ed1b30d0c7b9003a9b4fc49a4cf302d24f3896fdc3204b33329ef0647a7c90ee59da20a6454997e03923d94766f13094b533cb1f0d35667b6f6fc0cf2e9dc824f96a2e2e432cfc9eb036751e86921938d71454c6dd83a8d5268e125cd9da1664c734614cd9bab26fa640330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e03361579c1848ec6eedef7808a84338745486c9549c2b16179005d89530007011bffffffffffffffff03ce771d0f4c40e1acaa00d080c3b4673a5c3f8199c1b2459a71abc086262cbff505581e03678ed370a59993b1750d87b4d0d0c1be2b328cf5b330195243bed6c8700401035c438168cec3fdacf8ab92912a78a4efaab07e293df8494834e41bf280b043fc03ea362dadd6f6b2e84503d1a902483f65ddf188623cb985baba2185675b1f52f005581d0297474448d784917f1a25b450bfcd15bc1efc64bf65d4cae87bbf0762040104591354608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c35780638da5cb5b1161007c5780638da5cb5b146102aa57806395d89b41146102d3578063a9059cbb146102db578063d505accf146102ee578063dd62ed3e14610301578063f2fde38b1461033a57600080fd5b806370a0823114610230578063715018a61461025957806379cc6790146102615780637ecebe00146102745780638456cb591461028757806384b0196e1461028f57600080fd5b8063355274ea11610115578063355274ea146101c75780633644e515146101ed5780633f4ba83a146101f557806340c10f19146101ff57806342966c68146102125780635c975abb1461022557600080fd5b806306fdde0314610152578063095ea7b31461017057806318160ddd1461019357806323b872dd146101a5578063313ce567146101b8575b600080fd5b61015a61034d565b604051610167919061109e565b60405180910390f35b61018361017e3660046110d4565b6103df565b6040519015158152602001610167565b6002545b604051908152602001610167565b6101836101b33660046110fe565b6103f9565b60405160128152602001610167565b7f0000000000000000000000000000000000000000204fce5e3e25026110000000610197565b61019761041d565b6101fd61042c565b005b6101fd61020d3660046110d4565b61043e565b6101fd61022036600461113a565b610454565b60085460ff16610183565b61019761023e366004611153565b6001600160a01b031660009081526020819052604090205490565b6101fd610461565b6101fd61026f3660046110d4565b610473565b610197610282366004611153565b610488565b6101fd6104a6565b6102976104b6565b604051610167979695949392919061116e565b60085461010090046001600160a01b03166040516001600160a01b039091168152602001610167565b61015a6104fc565b6101836102e93660046110d4565b61050b565b6101fd6102fc366004611207565b610519565b61019761030f36600461127a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101fd610348366004611153565b610658565b60606003805461035c906112ad565b80601f0160208091040260200160405190810160405280929190818152602001828054610388906112ad565b80156103d55780601f106103aa576101008083540402835291602001916103d5565b820191906000526020600020905b8154815290600101906020018083116103b857829003601f168201915b5050505050905090565b6000336103ed818585610693565b60019150505b92915050565b6000336104078582856106a5565b610412858585610723565b506001949350505050565b6000610427610782565b905090565b6104346108ad565b61043c6108e0565b565b6104466108ad565b6104508282610932565b5050565b61045e3382610968565b50565b6104696108ad565b61043c600061099e565b61047e8233836106a5565b6104508282610968565b6001600160a01b0381166000908152600760205260408120546103f3565b6104ae6108ad565b61043c6109f8565b6000606080600080600060606104ca610a35565b6104d2610a62565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461035c906112ad565b6000336103ed818585610723565b834211156105425760405163313c898160e11b8152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861058f8c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006105ea82610a8f565b905060006105fa82878787610abc565b9050896001600160a01b0316816001600160a01b031614610641576040516325c0072360e11b81526001600160a01b0380831660048301528b166024820152604401610539565b61064c8a8a8a610693565b50505050505050505050565b6106606108ad565b6001600160a01b03811661068a57604051631e4fbdf760e01b815260006004820152602401610539565b61045e8161099e565b6106a08383836001610aea565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461071d578181101561070e57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610539565b61071d84848484036000610aea565b50505050565b6001600160a01b03831661074d57604051634b637e8f60e11b815260006004820152602401610539565b6001600160a01b0382166107775760405163ec442f0560e01b815260006004820152602401610539565b6106a0838383610bbf565b6000306001600160a01b037f0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb161480156107db57507f000000000000000000000000000000000000000000000000000000000000000146145b1561080557507fe14bb7bac71d1505cca6770614274ef3dac5acaeae4731265c769b64037ee82d90565b610427604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527ffe1fcac1e6680851f00fcb8eaa2491941de637bbd700197904911589bdc3f805918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6008546001600160a01b0361010090910416331461043c5760405163118cdaa760e01b8152336004820152602401610539565b6108e8610bca565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b03821661095c5760405163ec442f0560e01b815260006004820152602401610539565b61045060008383610bbf565b6001600160a01b03821661099257604051634b637e8f60e11b815260006004820152602401610539565b61045082600083610bbf565b600880546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610a00610bed565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586109153390565b60606104277f416c744c6179657220546f6b656e00000000000000000000000000000000000e6005610c11565b60606104277f31000000000000000000000000000000000000000000000000000000000000016006610c11565b60006103f3610a9c610782565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610ace88888888610cbc565b925092509250610ade8282610d8b565b50909695505050505050565b6001600160a01b038416610b145760405163e602df0560e01b815260006004820152602401610539565b6001600160a01b038316610b3e57604051634a1406b160e11b815260006004820152602401610539565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561071d57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610bb191815260200190565b60405180910390a350505050565b6106a0838383610e44565b60085460ff1661043c57604051638dfc202b60e01b815260040160405180910390fd5b60085460ff161561043c5760405163d93c066560e01b815260040160405180910390fd5b606060ff8314610c2b57610c2483610e57565b90506103f3565b818054610c37906112ad565b80601f0160208091040260200160405190810160405280929190818152602001828054610c63906112ad565b8015610cb05780601f10610c8557610100808354040283529160200191610cb0565b820191906000526020600020905b815481529060010190602001808311610c9357829003601f168201915b505050505090506103f3565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610cf75750600091506003905082610d81565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610d4b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610d7757506000925060019150829050610d81565b9250600091508190505b9450945094915050565b6000826003811115610d9f57610d9f6112e7565b03610da8575050565b6001826003811115610dbc57610dbc6112e7565b03610dda5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610dee57610dee6112e7565b03610e0f5760405163fce698f760e01b815260048101829052602401610539565b6003826003811115610e2357610e236112e7565b03610450576040516335e2f38360e21b815260048101829052602401610539565b610e4c610bed565b6106a0838383610e96565b60606000610e6483610f06565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b610ea1838383610f2e565b6001600160a01b0383166106a0576002547f0000000000000000000000000000000000000000204fce5e3e250261100000009081811115610eff5760405163279e7e1560e21b81526004810182905260248101839052604401610539565b5050505050565b600060ff8216601f8111156103f357604051632cd44ac360e21b815260040160405180910390fd5b6001600160a01b038316610f59578060026000828254610f4e91906112fd565b90915550610fcb9050565b6001600160a01b03831660009081526020819052604090205481811015610fac5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610539565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610fe757600280548290039055611006565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161104b91815260200190565b60405180910390a3505050565b6000815180845260005b8181101561107e57602081850181015186830182015201611062565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006110b16020830184611058565b9392505050565b80356001600160a01b03811681146110cf57600080fd5b919050565b600080604083850312156110e757600080fd5b6110f0836110b8565b946020939093013593505050565b60008060006060848603121561111357600080fd5b61111c846110b8565b925061112a602085016110b8565b9150604084013590509250925092565b60006020828403121561114c57600080fd5b5035919050565b60006020828403121561116557600080fd5b6110b1826110b8565b60ff60f81b881681526000602060e0602084015261118f60e084018a611058565b83810360408501526111a1818a611058565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156111f5578351835292840192918401916001016111d9565b50909c9b505050505050505050505050565b600080600080600080600060e0888a03121561122257600080fd5b61122b886110b8565b9650611239602089016110b8565b95506040880135945060608801359350608088013560ff8116811461125d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561128d57600080fd5b611296836110b8565b91506112a4602084016110b8565b90509250929050565b600181811c908216806112c157607f821691505b6020821081036112e157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052602160045260246000fd5b808201808211156103f357634e487b7160e01b600052601160045260246000fdfea264697066735822122085ebeca760d366f1599f3ac828570ffb5ea7965b2f8b62cb5cece01b295d168764736f6c6343000817003303b205266888421ee6b9cc6f0cd56c9a10a544bea99b50cef0ad3a6c93c75b657d0387c6624ee8722dbaf585aa6e7b1175d513796eb52e54a1f7a6065b5be80f4bc403566921f924197d42b63cf351e6a3a7767d455ecd846161de3333c025dde5d04a035204012c4d7189efcbe3122738cdfe6c31987a2446f45c1d359d24000edbe78603e195dc92717e1465677a4d6ee155c16f5200a0f3ad57081beccf56753471f13f0386b0752237a64c0b571eb2213606df2159005eb0aafea5a025d285d658b3c609031183f0138714e9952aab5fca0baf076538b66400ad68e854c8f66554103db320033860659ff738397fae657d1904baecfd3b786ccd85305ff062826ca2c4aa131a035b5742c49066b26ad6178d99c9612ca7a757fa9d648e82f59fd9c7790bc311bf031987db1722015cef981848a00ba9e737d2c974f90bf63c238272aa82d323a89e03bc4c4a0f43a920ef242cf1302481d5b37919c3a5035659762eae2fbb37f536df0328818bc08c2c97ef52557b222848b4428c3c835c2b540ecc206b5acd24bb44bf03ba8243a09f50aa0ebd1bd4ea1c9818fafe2533d721a33297cf2b6d6994ce143803b4b633e4c2173cb052b9b72a81153c9dc1e2863f5b784d311116413b1cac8f3703f0a889d2dc111cf104fba6c68dc0a5eebf7b92fa13604bff1fc55a079f6f8a17036bc6bbae1069be32648e3534e1c7be91b3759553fcf7d12af4ef0f64d067709403a1250f89a003c04fcbe92c9e2131d38e2498431cafd0d122c802f873c238e2b403121f8509602f0a2de66d8851df8211725f829f70e825e1ad86e9d226dd9ef758031e6abddd92dca3c94d8258d47f518777b84edd9416a873009e5f4e02ba46d3b90398be809b36c8452c05c96759c8a33ec35c447ca8d7e412540626000ebe5ae77c037e3747480c6ded69ee73ecaf10eb7c92976badf31a57dd7b84e2bb7fb6e762fb00581f037da6b2493c94a5539be2ab3c8f6e7a56b03be57823ba82a49ccb07ea2f70493635c9adc5dea0000000581f03c7af5f3d6cd64cc2e70946fc2cd60e013880b05bd0360e08d2e3f188d8e04924287c0615218c00000219820003f3938c92cd73a3cdf752aa0f9bbecad6064f226ffd6cde5752b4bcaaaf6983c200581f02cc8ac3f2c7ef88daadff39d61994bca33ca4afaf67306e9956989c5525805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039ed26e4dd5ca1f308fe0e53b05de01ff06f90cf19c1a121eeb259c4e6c3b7d7303592c9562a9e173e0d4dce479518b76cbd5ba5c0357ee03d35b4bf78f375b38d803d359927f31cec7ea70e59382c6cc89ca3a1d28c245f8432ad41dac2019c7aaaf038d0b13dd0b39dd390c1793fe0cd315caa30deed84c23675fadcc8c5a6a405c4b03df59c7e2509f8efca7c811cd5a4a274b8da7f0d27672f5a65e263161bd434feb0344cc102f42ace8a4b8a91f754c87c2859e40d6b95f63a71ffe6900a329dd77980219ffff0394b5e74c3b44215036bbbb386e11cf805f4c9942c8c1b3b80af2de44d3be4c5c0356fc0a8888ece4f75051cf804a8ab13642ffac31395f72587753d2302685ef2103e796d93686c6e38360b07ea83c11342a23842b7725c451873292c328f1144e39030e9307e335e2cb54712fc894b441b32831733277aa1813760602602d017d670f03c1784bd02a281542a5944b6a410284c133db4a28c12c8e5f8a25f71567b9a48f03a98c67d18f31a44b853179fdaa3e016293fc870c1b09916c1a68f8f7a42a4c4903b8cd14e1b5674a0ca63a0c593aaa5316140855818908918aadec09cef02e1dbf036d3b8262ab39fb13c92c6aa5142b3d9e1ca1ea18309e2ee8219db57e8c6a10df0350a41cdffb9988deaf3d6e24fe20071b8868dc9f10add4728c78a743380d0fbe0219ffff0337a390015d3d4f508f1f785352d110aa92908fbe364beacb7ef750710ace299a0302f8c1d6cf570fd0d3ef25d611df50363e0301b2006f4561651b9174b3ca28c103c694d9777b3e7a1433124a2a5e179295e37fcd5977777c67c2fa06f068c4a54903f5ec5e0cbe53a2d589680d4f9471de07f924ed7c1fa739418915028112533219036ec522999e4f55e10a0dbb11e88a61dd695dc8243a0dbc92242ef74d01c75436032c8078ebb830fd76a00afe0b04aa50e9c11b0fbb23c1f7b5d088f66af9f5c034035763e6f1c684c95fdc302dc3a87ffc2aee1a7ddb1eb3098a26f168f9e50f7c1e03fae7f298a3801e6e090bb8041fdbea3e143b3162f71a5249a5497886734477340219ffff036646854cc279bbb2ff3513d7bd3df996a5bebbc30cd011f46f9583c4aaea5380035b050384140daa8addf791544695bdf40fcb7d94cbb931892092eac675d1810203c73c0767be979d98d41bb4929459c925cb3c0fc99ca7bd2fe1fc5ab53afa27b603e855514f86432d93695d946c231b5e1a18ea1e637c06560217de2c1eecc09fb6037fcd32538c1a4c055e9afdd664c5e383c00f6c4151da0d9c852e5a4269746e4f0350fe74ec8b9f06a6381055337e101d63d18b96b7d1b5ebb045e885fc7dc92ec7039b49210ca3bd67a19f8245effc9b249dd77769740886f653dfab66d1eb89f977033d9ac1600f31ac3821bbb0791cd869b7f9634209f2c64059b1bb5badd573ff8603478c6bfe296bd77143b7dae4aab93636a91dc2d9d64d50c25a151e9f3c165dd903a9a2b26b05b8bd5dfe59ebf6b6e43d2d9e562c00e4b7741f92a60dbb3d537b7f0324f83440c97e78d1e5366148b19a1d8a924e3698ea9f45e6fa4e6a19c7873d6c0307f50a257a7a809a002b1b5e6cfd8b05db5e18599c6674a07ec4ad26ea0d40890362611df01b0be9a8e44a49e4fb5394594a483f558fa12dcb9d6754f4c93f85eb0308d03f06703b7a9e8e277b58bed3e69c1a488cb9389ece76573e78eeae82b9b10344482e48fbb64624987bf793cbe67b2c7929001c965d221951a94bca4157ae2f03751cf8f9d560dff1bec2ef91fcb905f26a4613e5e9b73d1f6c5416d3af9415e803d62894470e719dae0ca27d2773a3a9c42a53d30a778490baf014496cb6a7d99a031b6ca05dd37e317c84207ad9e328816843c001990694b9dadadff0c216f667f8035b4614e22ac791600da12fd4ffe1e6a5c0f67e805e7e5fc662c56aeeaf22a47f03dc963d0ee201fb78935c8677b3e8e4abec4663468f712456c8ecd06149ac1f5503be00ae11c767fe7a0c2f483bf6bcbd650f6286b2bd117f97d6eddc7edb3eb8cc0353f717ff9e738dd4c5c6327e6c6e840d47d466f03f0a5d996067b84baafd542c03beed2796f8e1efa8a1312615e95a7ed18ef6c6e175104aef78f99b68d578d81300581f02e97b421334f226a9b01e0039cd57e08481362190481391dad7147145e8fe49410d586a20a4c00000033d465a6b3e13ed47ef62da5594b006274c6664a8ef06e30877347f53ccc5285b03da505d5137a275bbee5942ba366877af3af2e2cf0f2b86f1b4319fa4024f351f037b9270b688281a93bfdaa4260f9ae70e0c9e14947855da85726b876bb78a438500581f02db2ec51dd3f8a688a40ab1f85fee6c3c5063e05f543b321599e49ebe5c90493293f9dcc10f74000003d61d4ff2670757863bc19c4312e901f279693c74771e198f21ff533a3e3a188e00581f0376c939d6f87a1ba2ee2d0bca4b1b6356752cfb7e62027a53a9257186d7f04a7dfcd6aa898624b9a946030d342333073f9acb0282b56fb98aee4382b6c8532c79978a723324df5751827800581f03abb4bdc29393fd2cb7406cfe453fccabfd2c520dc4f5db1d9592c74b3ca04a01696b3618b8594c000000581f0330a9421fbf2323ff8b4b1f2a95ad16af0cbea02a3ca3b9a45b97cd5658b0490ad78ebc5ac62000000219160400581f02c285d3c4b8dd4c3fd3c555f579f5bbd50d2afaf5b686764f7cb1193676645820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0331d1bf7194926325bdb46f1177d88e3aa37ebf723d4e278e3f1ecd245e70ac6e03ff89071e5cfebb388a4fc2b410ebadef16f7ebc6a1a047fc81e1acb8a778e57503afc39fa994e076348bdac324bbacc78ce9e339bb5e8be13c4639b66939f2851f0387ece644edab1814a638a09d440fafb3f45801d42ac54620153fe6f3b85d1de3032f166679228c9af6081aba83ff7d8cabe5faa7c4b1aa0a8dd014a9f1b53465670371d4cf25c2901debcae14e90e802cb23912a274fc8a70b0ffe63642064fd32c60219ffff03d30c869e87a3c19008b961c28a7302ae0d322eef2dfc4a57238666b5aa2b81460306f61ebb7c9ac9d289ac88c22f6dbf0ec1e26a30efc151d6a339e2edb1ba8a270376cd8234c715895d931d119fa686a76bbc7737c4cc9bbbe785172d1193a9a47b0219ffff03c79e0bf5fc1140437a8f992d8c00d931ca3010265f3f0f9ad2216881a03fe94e03820c4d540b5bcee6d31765dca062361602eb2fe05d7f196d9a092a53c8e766c203ec002b7e57c5b48189f505dc45030585bc8605d6ef98421a31f5666de530dd2403a8df528f068eea949613e0bde96ed501690aab455e973f44b3e86d11406a3dfa0349086a791c12239e8e61a1f9c2cee596523b43388d50d4fb9d15c5c7e4b0190e037062d04243906d870ea5b31a72ba0a30a0ff99c6395d1900d3e89ac5c72447fd03cc18a00cd17f956227f877318c069df15ee6e3289086b3b748c3a48b4481ac990345033aa770f1b18101970ceda5e58e7c06fc1f64665a3b6be84ea21b0a8fa924036024200ed1d431d59c02a7cf3d6c1708713891c697c5096a56fa6bb6a3e9abcb031c5f5bda36b38d34f0df10a4130a400d62ca1a49a54463664e3f4b58b50dab020219ffff03208379bb7e4750681726e01bd3a8ade3ae377866a81445631e461dcc71a0d87403cc662f7ee2f8f9e14882ca696766991a5c94baff25350062cdc268ab0ae9889e039b125d76c3028b16300a3c42d04a193704c4b9f28cfcf3037b0988bd6b6e89d10340ae59582d94076457d22f8e558e52ede0a9c4800e6bbf8289685b5e466ac77803f53804d332a966b17e5ddcf1f08867040bca2ac8d81caca7e869311e03280b5803c8f619f84020d827b47fe59e975c11caceb2f38507049355c08f72f926794b38038af05dd1fc606885cf96dda26216c97f19311c3fc6e5d15737992f2857b7fcee0353786b8eceb0a651dc9a9cfc5a1ab92cddb46a038a54a214edab93ba312957bb037eb7f67bee2ff773079a0bff9ca9565d9ef7553fe1fb7fe8dd6c48dd1be22e5703c05e859a5162528626c78b02f156bbe29a406e63f595df7e1af03fe8be99e3bf039e37de5bd4c2dd64a40a397cd2a595961da1c6362fe9733f19883b419517baae03ada3487b1406a1e282e4904c2e25da2249c02c6e57728db56e481d2c671b666503b23e8e53483328f771517edeeb79b5bee4b81a9270cc5bc21197f403bc1e403c038796127b12d6e0263aadc31ee9a5c869301c0bb6675997d55987880bb20a7a3903ba0dd31cbea0949031e13d4c74f2e9685327be89979464fd3e14b3557d6dcbc103c2792a96890b3f1336de6ecb537371328e44d5cb2f1074b12fa36bc2c1e9fd9e034a5f505b8affc31fab5a728bc4676e99726bb0930be4c76865140619b7d948d803c82f5148934e5e5d22703fb6df7656ec5378558543a9918c0945c4acf29ff43303a9e88e81709d9bc9416b0857670b214d9f37a603cf1586b92805a01f37dc8731036673ce083830c0d2e140ab0d0b5cc4b2ec144bcee00fdfaa4dc829363946e63a031bb9f7b22626cd7688a9f3d46199faf74038b45f3314f986ae2dd8e13d9a4e1e03d7250101a7925ff52d1255a5ce14fa6d1bd21097fbc70083919d31f0ac32f813039ef570dd181e9c444379b539c3e5739d5c2c5f79428276162872acb0bfbecbc700581f0252a82bc41a76abb2a54ee41e28526b8a45c958ca8dbbd70ff70b1d49b3354924287c0615218c000003a6fbbff35f8b3d1ce6d157babcf82d587eecf3804da43075c233e75d9408cc7903951c94623cf6f1f522508d4810e6e17acee0ee2e7c2267a37c9716be60a74cf500581f026438992205194db935cdf24b937856956dc6151cddfbb280aa007b39860b490d108bff209524000003412cc587792f1c97410ec0c5541cbf7333c0d9dd2dbd50eaca5332c70e7fcdff0338c728484fa7c4cfe5e35ad22295296e75c29661e211e9d9dfa70299faba76c400581f021ca9e2fcdac6aaa053feaa21b7edcb1f07d20a73e9ba8847def236ae02ff490ad78ebc5ac62000000389494138cbe5b5dccbc17b28731c9a4d33c4c2e715984fc4c982904c0b8b315403eb2727fd44ecc4d1fc4b5d48f9da39d07227851b6f44db0de9d4b40c0fdf2daa033f8380c8bac95bc767c83bb45eb217e6d55b83902c35fed6ebc00e2f87b0f2540369aef58c77c05ef5c1fd3ccf59f9d20be8ab402dd828611e1e0c98011e4149d9031173ea10a31b99f87588b1c95c01079091dee4c3a564fe1e363709a7f423d8f103bbb23a177c3f32499d87c8dd85909a5d3af1be74e677919d1345eac8d470ca48032aa9f93c77193c539941e3542087f71c28386b90cb8797eb08da7aae1f9960ad035e571f0432eff627afc2143de916a258ec1661bfc926c67aeaab6d380645fa950219fdff03bcb2fc2c0f8f090cbba58ba6c1eaccc68566803facb38a1b53242738f39d42a30331cc698d554a4a263cc50e5226458cbe593859759af455e0a7134f40c0b8c61a03360e6f80fadb111cc525b6dd50700a81235d4d96458e2828bdc5aa1353fd29530301db2d6de88615632c814bd0b18be4ffbad397b1d53dce7902db84bed3be25800351541be4f33ec9b96f3b8e30346a93dfaaf895eed05b599520da5346f2d35bbc03cdb1a79fe126d595fcb91f80085cd2efe253099c27a7dd329fe9fb2f5132480f0219ffff03a54d46df0b079e5ffc60951a5cfd250e01760c766139503d52c172faafbeecca0219ffff0329fdcccd9cf5ffe44b6247dc03ca7f3fc622b60f668005b3b5551bea36bca9c103ecf9c6a4e60ffd60238e576b9d599ac8f05c8416fb452cfe244204340a19a18403b7b57e7c750a7f1fc6923e66be651d4b37c3eedb203b9f3d4f37a6b319a3273e03ac253b946c74a1c2074c5a517a32f2110418daf701fd57789f1b43f5b5e51e0e034788aea1b2098c67347854e34ab9c919f25483019ff1aad73c298ef4b76a18e9034b0be55defcae1608889f7f9465f373dbdfe3be68e62f0598998bc6a81d7818803c75f73c01a3ba4356a27cf4a4ed48c61ceefd2dfd30223a9e68efe3adf9d67bd03bfcf2f820e5afda15685b2b0bd71f8a448a8a658b86d44b94ec0cef4869dd3aa03bf813a13234954fb504f7f6c2dde1c7a58cf62ba8e3c036ce9accf86af38705603cf6b688eaeb0ac932d5b397f000654d446f051954902ae9ad299ea376fdf298503a32363d10ed1ae6c62f2d47b5904baec105cf280f49cc7b67a3fcb1beed426b603aa8d62c955ee049cd34e949b8da4766dac95daf1f78c70f55030741957bf798c035d6fb1b64c72eff93424f6cbf6ffff8928fcb67cdd5de9bd4bc1bc74e79e544c03c65c8fc54afdcdde7e1659443d49739cc8a50d5afc83f421ee5eb14ec67bfaa303764063cc4fdc257c329baff30d9a4ddab209058fc26bdac69c3f647990620a61039db542228577b5a405f7925f955c25f7fd3c4419e909a51b8c6e1e3b3211b1f603922aefd79cebeb1a5cfb3340dd177558b2c6f50490b5f94998a2fa3d9e23d1250323fc02eec6e611b10a3058015e4d81abb5cb358055c5ffd11484c2df6f5fdef203d35b7f99a709327acb6fac717a2d5ea3d4a79e66fa73c3ff04fb760bb020ddbd03b838087e1081bfc8ac35b3f6d67490fcee1d6bb7672393483e7018de4dc8a2ec0338c6403a6be75f47e9ca30f9d9a326268bf1400714ee5df62a7b7fa5a7059aa803fc82f57b439f39e3fa42742cedf0617c5ac651a2f4097d7f4163067579928e1203c4a45eab4813525760ea92b725291ac3b2eaf01b6518194c6dcad68afcde9a470316db400611251ca69da82de1de436025a81afdbe80f94e7c824287820314e3e4032f10c5be4d253fe40b373f08f8f441a195f6ba031c51837b8a3d3efef8cddeee0337e5c6fffceb815fd85adb84b44e48cd93605c1b4ac326512d8822ba1df2c78b0308d23e1ede3c9f4b666f627af447c30dc759fc7948d90cf105cbc8b77d1a97570374b2e21e796b1be8cd429d675498f0fe8befa980f7f37be200eb7a78d763b6f0039356746641218d38dbba80feb563bab9c51cbe88f66b0175c2eb2f3e71fab505030455711f8b35beb97a542d68d09f21837c5a278bd8d848b2eec2065a361b944e037c7163f5872b048a5ab13daf9d6a6f69343317bcd1a69ec3000d0dc7a4fef89a03b6b30ebd1ba2e0ea09fe33efc0a2635d0524443d4a4751b31d774d4a21f815f10309a96c3b35a6344c5622c5d02aa4955d4380aa499670bca579085fb0eddcac8603eec5078e0e8b9579236a351be9aa1dbf655c27d90d4854570c8fa9246f5bd3d70307c6ffb04b78c27e4473600aa3bbf29bb24d23327b1b81057d5b61b687fb1a3d03c34b176552b30246d4f380f347525eae8b6d3add84eabc14651c076b03a5e7bf03038f4cc2c60c45300e8e791272036957aea82331f972ca56bb61ff4fe63757cc0386e2f603aa26a8d50c1f37cbeb6c051e2c78ad390f9fd8f8a4566742bde9c57903091d53fab46ce4701640878c67bd650938bc150ef32edac31ea089ae8c97a688036ef620d3c8df401b0be3521941fa5a006d169259b9d61b337b8a43b87dec5e6c031f3799319790ff4e48505db66b633051206c4aa95b7656af27aecde036a854d200581f02812f6cd01f48ae3a21f389b8ad5b1fbebea3ee51134d0a35e42f5b59cfd14904813afa788a185c00030adc5b54f514d7c60165b48e9133b2869a8a44f6f2bd587cde88ae753d01d47a036c673cf8da54182fa489affefa626b11876aedbcf9213e7000ceb719cb4096dc00581f03569a70c8b7f07cae077410609f8764e2ab720261e14e08b0c66bd75771e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f031f3f6e737f66b63e6ce8fa015d50d372cd047857c62e3d3b00d8842e41b0491ce4dc640b8334000000581f03b0813b5f4ce82a22fb6217ef81763ad1a6f1f4eb8b46d9c66440d790f4005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219440103aae3768b238534242d275a05200d63184862e2119701393f00ad6998cb7b01460219ffff03166b62b46de7b9d50b9e1c75bd67f16ccd47ef09e4f8d3b329956ab06e36a4f203f644613638b5ade106db08e3467a698f7fb659eca11ab329f9b8a375e0a7f4460219ffff0379b470d6a2fbf71a0d5dde59b9e0044664f7e8f4104f4b3a824b3d8efab0989903dc80a5ee0c3b66f129f4626a2bb0d1fa96b9eb38751a0e47d73313777ad9e8e90219ffff03b65e29f22fd477d8020320976ad163eb1bfd7f4ca844c718c7b3328f2039dbd6039db7f70eb8394cc6672797ba2c469cbb76303824025f94d245e96e0a0aeeddc90346cf8bd87ba1cab787d6e44c9cb5700f645148323d4a00f89ce4b67d328d1621032645e0cd2d6239cbd596fe38a5ada7c3aff280607a4db26169f5823e0c601e2c03120c5c75bb6fdb7937ea320a2b9acbdfd5615b606dc1992c2f36aa1f48ba9b8203768274da8acb15de205391d5734ebf8a6dfff0012bdbce0f4cf24ce5895ba82403b8dfdf7c41b6b5fa503e93b1b14c94425e2544e184abf24e42ddc022366aaa0303ddd44a316c874d1ec7b0b0b236d0ed8cd5fcfbd1e1ea3564859094ec0204e23503035d62d70486fe16e34718c69b43ebcf6d245e22b5ef38c4a894a7d62938abc603f34728b50c0dd2ad69705c68e2ea812d2063cc766d7a290cced06ca82039e82203ff6305f2c5273b0103da1861bccd47d5413270ca412d1ecc82348d4f07a2197d032c461f01e01d360ffa96fb19f60022ee1cd4d0fc6ff52a0fa13cd0444422fea700581f02a0281cca39255d30d425e83ffa16ac894dd125cca0bb3e394cae162bfedd4924287c0615218c000003e735a4308d1ed8907b71ec3b6467c16f358fdc3c5971753d0a571b7d978117d500581f02b071a5e5fd2abf375343e7a82b7b293360ebf849c2c0cdd9854bb6d168d5493293f9dcc10f74000003f312018055b7c3e035395d676f7b0caa219cf7015b142392556e4594808c0d000399e8ff8779e905f1c037cf66d150144ba121360e7dc278d287e8bafdce245b4b03773a0b6886c10262c692765fb9dc3fc467b757d50c5fe93443e9fe29ab3cacf7030ab156ed8780f207c9004dc806e26ff8fec177989af275eaf735ee9e2249469d0303950e6539f7a3f9334db4c7e6172676e3f4b2e044b6609f610f0dec6143aef503dc62b8804a55493b0dd8cecfa6181ea61d025b028e1bc656310d0ae2e063222700581f02674ea299785b47948609b65846abd1a7f45e22c054e5eadf27b24ff7663a480de0b6b3a764000003e9908cc0d2be4b4a252cbe0abd9d8839cb270261f26e488cc303f75f93e0cad1036180f5af6f542afc574b7208e331bfcf5dc12446151827dfafcff62d090e7b23034eb168a9960734b236c8dfde87cafc096f22a0a830f4e9ff9333e10420aeae140141050219ffff033ab31e96076ebb13b9956138d568b3aa80e32bc0c6a7ed0c0580983c992b58380319f5875aadafb98c8c60276d83edc8aa0e7a7e04f28fb1da3ece27545a9f222603280fd2482eeb55dbdbae7a6fdaf966f16f0f00878067b206fb49e9519bfa7f4c031a46f5536f281db435a1b3ad919435be413bdb8f57c073b46557052b8544bca503180df1cd26d81c11081224503d0c9bae7eb1e219875945d60b7b4d9d69f34aba03f5afca838070b01137aec945e2adb62b31b73cae279a55543d3ec761dfe9ea400323e7829b956d9ce3724afb5413d854f18ed391d4b6cc72f8db56ec7cdd53404f0376081bf04115577eed8b5662a0d5e0ea3a481d8512fbc8552d47d8b97a9c29fa0381f3ec5d141ca93840523cd957f55f65632cacb802e28ff3619b319598d5189103d118d5bd230561b7dd07322790e2e990d82b72f8496a593751e82de1ffd93571033dd6c43ec5e2033f416cf03cdbd29c6c643d9b5196d0b30031f4045a1edf4e45037baa18b2269c05ed05b248941a1af1c230e9047e988984a0373b661d30dbfefd0219ffff034570c7dfcf315fe0325c35ea5d552e1e4648089ec34bb9ad1381e7ce1b419b4e03062dca795f109f5ef519c90723e7b7536443c20f761dd1f5ed8d0d03398699c503938802eda825b5d006c1cec6945aa0f57aac1882aab43a6d328d1083f9305c5503b780284b61545a363ec3e0736821db2ae948a374fe365c2c3c8bfefeffaeff1103d5a493538a3e0be5126aed35e0318533c460bfda4aac751623f546a262657ee40350b255f06e9ae3ba2734ca805c4e5590ba9c3b3ec893af99e27ddfc5221773c40339c6345d588ab182e103d1d58f04625bf9347505fd2f1b3e655eb40810420cfc03ffb5086fbacfc23a08541178b7fb4a06d518f61cec67ff9a9a5a92a849fdedf403284c7c530b3b8020d353fcc1582f2eb749945e548b605e9ed055a4976c4d67060219ffff03e95e87dda2b1ef91e4891f61c1b39d2d522b9d057bb167effda0c715d4be766a032f0031f651368a333bfceb5c037382d3a27271a0595f02cffdfdfa3229bb08a1032fd36b9a13c610ff23f78826b49ab5777d14928e4bb2c6ee84e798b94dded665033e4e9636b315bef20712a6f80273d89937f7268a66d92746f5c2f1b9c9aac6c803f9c70a70e95f6b146c11c79e0c4809f177efe1bf5e0b175306bc12f4fa6b36db03847e727fb665eaab7d4dfa69a7bb8ad6ecec1c7c47de0f7a036c1a277dd6df4e033f8a05ede0d97585b7ad97ef1401c0612780c62b0ea1bbf7cec10dc703de3e7a0341121e337da9f793ab4b211bf91aeb56efbaa75ce5068c8bd8fc11ebba26bab803502696cb3532c92cbf699a7c2d1007058953d4acfa0175db4f19dbb38128eee603023632652d124adb3f669f4a6aae23d6f1742d827a62973a122c39e76c295f77031cec1c8d9fd8b5b2ba446aa0d4ea02a2f99b44f4f54193382953f10f3c457c1103d1a4412a58e3cc035988178e320535db1055ad70797b77b1cec160f8199392a603a346d4e2370317d3720beb2915c03be6e6f512ce9e8925cc74247a513621b9be03486088e4cf6072c9e3fcfceac16169db826f71b056381047fc8be52e3ee450810326c98322fa22802f987515a92a02e6c7763855adf1e0b22f40b1b31fb1040c26032ff172c99036d7693a6069bddde1f9d040d7bd1adc8cd1e62c34b68f4b6e1f84036e3abcef730bf5a9c9cfc7247eeeb394ceeb6f9912b35e150ece6f6b23da73d3033e8fbf3e237a10dd12191263b0ba7b31a949c75cbc52e775292ed6afa83a968603cfe2a6076fe37fc4444b3ee9bcbc17d21a2c1dffa4b0ea37572642c593280ed300581f02c9b70dabe25afd13fa25ffa0b117227d221d090e6c2f106765a0afcf0789490ad78ebc5ac620000003ac728c27d33f422d05c0a9ca55ffff21afd6d997d79822b841fdfabd050dab6a0329495851850e05e3355084936d68361e80cd8c7ba810258ff80b90db9611b2b803e77b1e5874447b6aef5926c0cce935c0139da44b4121968ad44bf2471153defc00581f02de4ddb86cd3297e14b32e42e8d1bb5d0f28d9ed48dbe5066f4a5bfeb6378491043561a8829300000039835176507e36dd32bfb318f5ef3b01e7c5002c3b76835e77f630f9db56422ec00581f02a76c36348ce8ff11c347866c7d2698905ee0ac1e37eabcd38e304490cb145820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f036dc6698278f1450b9d841597d69ca5d57923633a0291c1f9fff2e4ef6a40491ce4dc640b8334000000581f03ed43c3efa3fb3f6426ded24f1d4b3d5658ef5522391349c4f5b1ed179ae0491ce4dc640b8334000000581f030866ac35ce06607c3835e289b227b3ae2b70abd42f86983b00ca3bd067f0490ad78ebc5ac620000000581f03aa5eabf06d7fd212166f5a09d2bcdef2e2f8e00283474790d1bd13c582e0491ce4dc640b8334000000581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305512a6bfb2f81267b847743c87767b3a45b897b1c00000581f03e3226e2274ac14f15737fb0147ea4a27a4ea48baa136191e140855e6b7705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f038ef5086e14875c0511e41292eb974f6ea5bac3eb23e8c745c4b4cbfaf2b0490ad78ebc5ac6200000034b0b984ef168de1d2519aa9d92af3354753e34e1ae9bb88d40f5a349ff22965b0219b6a103a50cbe1b900f9337281ca1069af98763a1055ce24f2e5a5f6ed1e8c8794cdb5e03ed908386c479582a27d37def0fcc83221534df928e7dfec452710eea46f4148503ad4f40d39de099719a0dc43b8ab41cfadcbbf24532cdbff6021dbc0cf7eb886703ae3690fe2435d4d14a904466066ed1c3586e4fb2bac9d1e3e3576c689841a09503871bcdb0ca388af55f6972232066b5267bcab6fc1840b36ed052bddc7d385f50032962b5d2ef5c0cdcc1e2420ed431388607bd6825c406d149d96055742e1c4e32030231576cbed9e6b154344cd3b5616514bf7a2890b8149baf75b1f8daea0a110f03bd3c8351e75352aeb84d04a51d8045d5c07f9839a06d9f9ebe2a916c1b1a15020219ffff0219ffff037bdd1a1acebc1096489062e1ecc9003550adcc5461c5735a066ac166fa7ae1dc03bb3a46951204b3f747dc34a548422f9f18a9bb4b6fd49b55abcbff0a78eff0ba0373c07f6ba619bfd88f9b0deeae60ef5aa6cfcc9ecefaf2a647d8475707163611038fd7948f0763e8f4e635dc66c3da8c58c93e3f3dc05b61fc9d3d19a0fa4cda3203829e54eb845061a31cd0dec9b4fbb1efe17e005052283f6f2de78e053cb2ae3d03df3bedbc1b5cf51c28ee0abaf27dc82b254f917aa05f61759471ab5b38a1ad1d0369a287729ac4aad6a4e900fcbde3c0225907b6fc230b47df926d1209645d52d1035b92216af296d06539e02ed71f94b65aae7868034608dbc934ff3fbc68c4db58033cc8711b4a33558794296663fa738f51ec6bbf5a09e9d80718e04f7f440aaace0319218e846281ae13b9520abe9e608691dc0261e4050fda2282da13002ae173d203f634c1d82f23617287b4dcccb91d742f0f5e3ea07f2b3bf309a171bf5bedf88603915ed04ab5ce47f9d802cee1ef1f98cd20d4cb24299a95a1490599075d9d40800219ffff0219ffff05581d0242c9c7751eab8a7274ffc46c1dba1316f7786d569aa14ee74343954607011913540219040103da6c1e5a4d9fc486b90a666c6a32e941b91d6f590ea3fcc33b6da2f5f605195c05581e03a8efe2a5426ef66da1f7f3588e59a0054ef1c7d3a544331f6bd0314550040105581e034c10e045f82963ac73a9c888eec756980b2fd0c9ed5d49c76d3c4a5a500c0146f9eddc62600005581e03fedb8e4f88063fa4c6a8de6a6e87ccbe989676492f31e7587b4c996e700c03460cd38004c8f00219eed80323183991d7970b12537145dc36a5fb174e184e160d6a71f4eb7b90a15459cdc3036d5930054c600e099477d12cfcf6fb6e67746a4e7d4d1a635545d0755ab896af03770cc5f77e576154ba9cd1af9050922bafdfa2eaf43e7332b6912b929e59f525034c516916f62505c6e93562e5ed39bfb9330c28ac03a3a9cc4e8a8f12b1c53bbf035bc7e7cc260509c03716cc7eee00767708a334c01381d502185465b9bbb528d10309f7eac7d46abf7c6c82f359f61b13b31b0db1d1c750a716ffec140296104cbd03c14c9139d1471fe26e424f6fa93acada174979f0a205e582c975fa3ab34ef08703cc825468dcb86d311f86320899cf68954292b078b295ae5fd15ed2f32c77a4560326857df7c0dbc8c079facc5b44f0e88eef298633a6bde3b813aeae7872118d210219ffff0394f57b78465f1007fce9152de2e13e2f8694a059e15e5fb5be66300bab254b2803e88fbde4f86dae2f39bc44dcd0ee3c73368038b5c0bc32f778bc156f46f9cbc50305964ca6770ad029deba55cc1330fa9f3d20232b3809d272487d1db0bd70e165031aad8eb8dd3356b8cf6d1a8cec387754fe9525e89238a5285dd2e2f154eea0360219ffff0219ffff0394a6fe42a576960cf3f401336753ff8f7a012ed98991c54a0269c439da44b9f5037af51ca551cc71adeb9b1425cdca5b92bca78e3b4c893ad4262e1087e84d9ae403158f7d092721414b4fc833f29ff8e9927d5c80e536bc03a8ca381353f4f8152303b6983b75b4cbd8763de8237c83f2f4e5ab455d8589e9d2d203b201867a2601d2036ea7d8904911d648754ef6cbf08fa5116a9310488e7e95df235268cc95d2dda203e631dc581369cd5d531c6ee104565e8c7bd5493c6c573f45c7159cc7bae1db80033857eb0fd87c5d57bb81e03d4ba478a8e5f93f7e5a2b3675cdb5f5a2840927ce035a7a2fbc8b261af3865619ccee4d1c956bcafdff350855dfd17cefa681fb8c670315d1a9d9fad9d5d33a53cbfe5df3322ba3233c884c2e542536c5ec26fca8f2f40330884ac4e5c071ca8cf32671513068a499c38ad3a3c38c09b42f89b6de26845a034c0b7b053f9eea3f32f8e568c678119b8f79129c9a5d55567df2a9036c5afe7f036edc120839904576c7a9cd10e137ca479a842e1ddc1219f76f0972ac25746d730305cbfd4760113c457d03a8e4398249be0be814d6ec4d6a6520a2a71e8ec1124a0363d07f35af9023a218ad71fe3056b68d153cb6382510857022a0e053c86253ec0303c2b8e8b9cf580b4a4eed258249fbaf3f07db2aa1614bfe4a1c41a6f955599303864e44f3a13b8e91cd2f7f9052cf1d9be88b3b14273c162a91364c71eb707b8203df91166de19980834ea26d18baae2295f7d337dcdcc2cb396de8f5fa16221fac035438cb7b981578b2ac853aa35c33dba31b5b7383a12242559267a47b407157b603559195d6b8272cbd14952d5b2c292692b160bca3fa5dd6bf8b7adb3a62140a6a03671d6f2cbf5d51a5ec24bd1ab3ce6541610859fa5c2837c8f32b0c95ca4ea6a503f46f91ad18560a5e330a7e59ba2ae1074585bc2b44a8bbb4da3e3faaa7fca18203dce9cb12ad6b49bc56d5dd8d5cf3aa1abdd69c20a721c315a16a0002d89626b10348faf62d2a512d5917cbebb3e7d62bc85bb35535900ea2a2b7fc5d1e88af3e7e03d8f762f29345a57aae39c4e694132699880ff9a4a8e2548cb05a9574946173290322fa2b724cacb0912b87a7750e4395072469a24f790bdf48b170e51db1c6a0c30350d1a812d57aa885141b7433712c9f2dc71cdc5bf963cf143dc5f87b8e6d167b039eceedbedf7510426e0b9aeaa1832642c2fcf1369a95179eefdde050a43ef89203baf10a214ab2f6c4582ecfd8fc35cf39ae5dfe772a2d0b267815285e4466029c036caacaa09297e1448a6d094200d35da843bfc0f9d4aa247fe647db1630dc8a9903cc4078b044d42cb3394db133eb3c0c8f5c3ef4e42e6314907a24c940eb2c3a90034f1c54666e820bae556ca9ef73addafd5af60212c3abce76b65309a74de2b34503ef8a332dd921f32898fac77fb9e0653c4ef22c32531ef2e4c3b6bb8dcf50c7e903a29008cf38e807269270d6adad407ec279a39ce6469787f89370de50fc91f18603bb099adc76db6aa77ddf10c4824ae35cddfe1725d98c309e47009183408894bb03785fb84c89e00ace7b6d9c0c8b0e4288b271dc5ddc83a187754cf9256aab3cfe038169b51f93fa10488e222cc2d50a000ede57ce1d1d8c53abe5461b99b9c9e782030062cbaac2faf4e65100253cecb7aee59ae155ec6b2a813b637dab4484e0265f036d49cc6db90947c0eb49a941a6280335b087cd4828691479f2cf9720ae9f0db9038c1a639f124f8aee826fde404996be7e133656f9b8e465d0ce28ac0f4efbcf710382add4c337d395ce64627d17d1987967f3aae1288e77f8509c205b46d9197591030896971182531360a31a711acc2da895022cd4a05bbc8e682383978637c3a46c03c32fc58df5f4151791a1b7bfa99a82ccafbe3a89369534819a88fce40ff2fb97039d1b981648a25bd7e173d472b0680d1ea91d4e78e1658dad2b555cc0d1fcdcc503d27d881968d7c06a464b368f0b80a2589cfb81901ce4da6ff7643b8ebf76115b0348c8c95cde9a5588b0a7973e7b351994b9b18a3b7fa8ee511b5fed129659424503ebee7ccc8af279cc87376e22201b2148ef6dd1be8d20abb2635522909e87c4bd03e42fe9004ef71689bad48be4a3a3400a06c2750f7527ffdd767aff66480db9d705581e0369490aed012cdee950eb1b7e359fd99ad8d9d268b46dc74e5574a6f2f0084723e1e5803b400003f40dec6d6d769b8c7bb56b22f3d784ca82880b19b6fe685a7d0fce3bdbb2f87603776b493b613201623de503b0ba2853da813666ae8e7bc635679cb4649c84292605581e03c4daa9be1819976f70b63247a560c3d4813aa6b707b800824aa5deaf4007011bffffffffffffffff0333578f21c76fa1c883d85bd525a073e3f9ad85ff76640de84a69210be91f2ca503078b7c7860f157ce655e99470eb019dd8aa6c15f6c5bf1b48dd149a3fcfe1dff03e33861934d9fd12d5abf3d1b6c488cb5d3a043748b5323be5df1e82322cf28e20605581e035a48c0b81874af99f3f090f1e2b42bcd0df7646d247df99534494f84a007011bffffffffffffffff03986ad4bb34fa0ec3aa22a6751740dda5441a036a93b65f3391a470a94422fbe90459197b6080604052600436106101815760003560e01c80637ba0eaad116100d1578063ad233e871161008a578063eaf2c1fb11610064578063eaf2c1fb14610445578063eea39f791461045b578063f2fde38b1461047b578063fc0c546a1461049b57600080fd5b8063ad233e87146103e5578063b8afd6f614610405578063cb1a4fc01461043d57600080fd5b80637ba0eaad1461030e57806380c15aaa1461032e5780638456cb591461034e5780638b091372146103635780638da5cb5b1461039357806399695211146103c557600080fd5b806347535d7b1161013e5780635e29d11a116101185780635e29d11a146102a45780636983e74d146102c4578063715018a6146102e45780637a6ae541146102f957600080fd5b806347535d7b146102535780634e71d92d146102845780635c975abb1461028c57600080fd5b8063026f4aa21461018657806305f72153146101a85780630700037d146101c8578063164e68de1461020857806338930203146102285780633f4ba83a1461023e575b600080fd5b34801561019257600080fd5b506101a66101a1366004611629565b6104cf565b005b3480156101b457600080fd5b506101a66101c3366004611629565b6106a3565b3480156101d457600080fd5b506101f56101e3366004611629565b609b6020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561021457600080fd5b506101a6610223366004611629565b6106b7565b34801561023457600080fd5b506101f560995481565b34801561024a57600080fd5b506101a6610790565b34801561025f57600080fd5b5060985461027490600160a01b900460ff1681565b60405190151581526020016101ff565b6101a66107a2565b34801561029857600080fd5b5060655460ff16610274565b3480156102b057600080fd5b506101a66102bf366004611699565b6108fe565b3480156102d057600080fd5b506101a66102df3660046116db565b610a5a565b3480156102f057600080fd5b506101a6610b3d565b34801561030557600080fd5b506101a6610b4f565b34801561031a57600080fd5b506101a6610329366004611629565b610b5f565b34801561033a57600080fd5b506101a6610349366004611747565b610b70565b34801561035a57600080fd5b506101a6610bac565b34801561036f57600080fd5b5061027461037e366004611629565b609c6020526000908152604090205460ff1681565b34801561039f57600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101ff565b3480156103d157600080fd5b506097546103ad906001600160a01b031681565b3480156103f157600080fd5b506098546103ad906001600160a01b031681565b34801561041157600080fd5b50610274610420366004611629565b6001600160a01b03166000908152609b6020526040902054151590565b6101a6610bbc565b34801561045157600080fd5b506101f5609a5481565b34801561046757600080fd5b506101a6610476366004611781565b610ce1565b34801561048757600080fd5b506101a6610496366004611629565b610e31565b3480156104a757600080fd5b506103ad7f00000000000000000000000036e66fbbce51e4cd5bd3c62b637eb411b18949d481565b6104d7610ea7565b609854600160a01b900460ff166105095760405162461bcd60e51b8152600401610500906117e9565b60405180910390fd5b60995461051990623b5380611819565b4210156105685760405162461bcd60e51b815260206004820152601960248201527f47656e65736973436c61696d3a206e6f742034352064617973000000000000006044820152606401610500565b6098805460ff60a01b191690556040516370a0823160e01b81523060048201527f00000000000000000000000036e66fbbce51e4cd5bd3c62b637eb411b18949d46001600160a01b03169063a9059cbb90839083906370a0823190602401602060405180830381865afa1580156105e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106079190611840565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106769190611859565b506040517fe10eee6a2d1dbc76ec9a46f7efcd418e7a520f20dc9118dde72d155901685aef90600090a150565b6106ab610ea7565b6106b481610f01565b50565b6097546001600160a01b031633146106e15760405162461bcd60e51b815260040161050090611876565b6106e96110c0565b6000816001600160a01b03164760405160006040518083038185875af1925050503d8060008114610736576040519150601f19603f3d011682016040523d82523d6000602084013e61073b565b606091505b505090508061078c5760405162461bcd60e51b815260206004820152601f60248201527f47656e65736973436c61696d3a207769746864726177616c206661696c6564006044820152606401610500565b5050565b610798610ea7565b6107a0611106565b565b6107aa6110c0565b609854600160a01b900460ff166107d35760405162461bcd60e51b8152600401610500906117e9565b609a543410156108255760405162461bcd60e51b815260206004820152601e60248201527f47656e65736973436c61696d3a20696e73756666696369656e742066656500006044820152606401610500565b600061083033611158565b60405163a9059cbb60e01b8152336004820152602481018290529091507f00000000000000000000000036e66fbbce51e4cd5bd3c62b637eb411b18949d46001600160a01b03169063a9059cbb906044016020604051808303816000875af11580156108a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c49190611859565b5060405181815233907fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a906020015b60405180910390a250565b610906610ea7565b60005b81811015610a55576000609b6000858585818110610929576109296118ad565b905060200201602081019061093e9190611629565b6001600160a01b03166001600160a01b0316815260200190815260200160002054116109a75760405162461bcd60e51b815260206004820152601860248201527747656e65736973436c61696d3a206e6f207265776172647360401b6044820152606401610500565b6000609b60008585858181106109bf576109bf6118ad565b90506020020160208101906109d49190611629565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506000609c6000858585818110610a1057610a106118ad565b9050602002016020810190610a259190611629565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101610909565b505050565b6097546001600160a01b03163314610a845760405162461bcd60e51b815260040161050090611876565b610a8c6110c0565b828114610adb5760405162461bcd60e51b815260206004820152601d60248201527f47656e65736973436c61696d3a206c656e677468206d69736d617463680000006044820152606401610500565b60005b83811015610b3657610b2e858583818110610afb57610afb6118ad565b9050602002016020810190610b109190611629565b848484818110610b2257610b226118ad565b905060200201356111d7565b600101610ade565b5050505050565b610b45610ea7565b6107a0600061131b565b610b57610ea7565b6107a061136d565b610b67610ea7565b6106b481611409565b6097546001600160a01b03163314610b9a5760405162461bcd60e51b815260040161050090611876565b610ba26110c0565b61078c82826111d7565b610bb4610ea7565b6107a061148c565b610bc46110c0565b609854600160a01b900460ff16610bed5760405162461bcd60e51b8152600401610500906117e9565b609a54341015610c3f5760405162461bcd60e51b815260206004820152601e60248201527f47656e65736973436c61696d3a20696e73756666696369656e742066656500006044820152606401610500565b6000610c4a33611158565b6098546040516305dc812160e31b8152336004820152602481018390529192506001600160a01b031690632ee4090890604401600060405180830381600087803b158015610c9757600080fd5b505af1158015610cab573d6000803e3d6000fd5b50506040518381523392507fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a91506020016108f3565b600054610100900460ff1615808015610d015750600054600160ff909116105b80610d1b5750303b158015610d1b575060005460ff166001145b610d7e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610500565b6000805460ff191660011790558015610da1576000805461ff0019166101001790555b610da96114c9565b610db16114f8565b610dba8661131b565b610dc385610f01565b610dcc84611409565b610dd583611527565b8115610de357610de361136d565b8015610e29576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610e39610ea7565b6001600160a01b038116610e9e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610500565b6106b48161131b565b6033546001600160a01b031633146107a05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610500565b6001600160a01b038116610f275760405162461bcd60e51b8152600401610500906118c3565b609880546001600160a01b031981166001600160a01b0384811691821790935560405163095ea7b360e01b815260048101919091526000196024820152908216917f00000000000000000000000036e66fbbce51e4cd5bd3c62b637eb411b18949d4169063095ea7b3906044016020604051808303816000875af1158015610fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd79190611859565b506001600160a01b0381161561107c5760405163095ea7b360e01b81526001600160a01b038281166004830152600060248301527f00000000000000000000000036e66fbbce51e4cd5bd3c62b637eb411b18949d4169063095ea7b3906044016020604051808303816000875af1158015611056573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107a9190611859565b505b806001600160a01b0316826001600160a01b03167ff53504094f52924822018309e072ef0cac3bd1f1a29e97d89b5c22f2311d5b0460405160405180910390a35050565b60655460ff16156107a05760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610500565b61110e611568565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0381166000908152609b6020526040812054806111b95760405162461bcd60e51b815260206004820152601860248201527747656e65736973436c61696d3a206e6f207265776172647360401b6044820152606401610500565b6001600160a01b039092166000908152609b60205260408120555090565b600081116112275760405162461bcd60e51b815260206004820181905260248201527f47656e65736973436c61696d3a20616d6f756e74206d757374206265203e20306044820152606401610500565b6001600160a01b0382166000908152609c602052604090205460ff16156112905760405162461bcd60e51b815260206004820152601960248201527f47656e65736973436c61696d3a20616c726561647920736574000000000000006044820152606401610500565b6001600160a01b0382166112b65760405162461bcd60e51b8152600401610500906118c3565b6001600160a01b0382166000818152609b60209081526040808320859055609c825291829020805460ff1916600117905590518381527f4de45f6c76bbeb7a14efbe2f206ee9fb4e77a38116455071d1440020ff9e668d910160405180910390a25050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b609854600160a01b900460ff16156113c75760405162461bcd60e51b815260206004820152601a60248201527f47656e65736973436c61696d3a20616c7265616479206f70656e0000000000006044820152606401610500565b6098805460ff60a01b1916600160a01b179055426099556040517f95e16d3028fd61e822243bbb1266caad765710eae7087fad07c278251f7261c790600090a1565b6001600160a01b03811661142f5760405162461bcd60e51b8152600401610500906118c3565b6097546040516001600160a01b03918216918316907fec8a79cd46002f6dac5b781ad34a9e049fa874a5fad233d8c31417da39658bd090600090a3609780546001600160a01b0319166001600160a01b0392909216919091179055565b6114946110c0565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861113b3390565b600054610100900460ff166114f05760405162461bcd60e51b8152600401610500906118fa565b6107a06115b1565b600054610100900460ff1661151f5760405162461bcd60e51b8152600401610500906118fa565b6107a06115e1565b609a5460408051918252602082018390527f6a0ad56357709e2589a1c4a4a6745ba183f8b46681742c8244ffb735ff1d25ec910160405180910390a1609a55565b60655460ff166107a05760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610500565b600054610100900460ff166115d85760405162461bcd60e51b8152600401610500906118fa565b6107a03361131b565b600054610100900460ff166116085760405162461bcd60e51b8152600401610500906118fa565b6065805460ff19169055565b6001600160a01b03811681146106b457600080fd5b60006020828403121561163b57600080fd5b813561164681611614565b9392505050565b60008083601f84011261165f57600080fd5b50813567ffffffffffffffff81111561167757600080fd5b6020830191508360208260051b850101111561169257600080fd5b9250929050565b600080602083850312156116ac57600080fd5b823567ffffffffffffffff8111156116c357600080fd5b6116cf8582860161164d565b90969095509350505050565b600080600080604085870312156116f157600080fd5b843567ffffffffffffffff8082111561170957600080fd5b6117158883890161164d565b9096509450602087013591508082111561172e57600080fd5b5061173b8782880161164d565b95989497509550505050565b6000806040838503121561175a57600080fd5b823561176581611614565b946020939093013593505050565b80151581146106b457600080fd5b600080600080600060a0868803121561179957600080fd5b85356117a481611614565b945060208601356117b481611614565b935060408601356117c481611614565b92506060860135915060808601356117db81611773565b809150509295509295909350565b60208082526016908201527523b2b732b9b4b9a1b630b4b69d103737ba1037b832b760511b604082015260600190565b8082018082111561183a57634e487b7160e01b600052601160045260246000fd5b92915050565b60006020828403121561185257600080fd5b5051919050565b60006020828403121561186b57600080fd5b815161164681611773565b60208082526019908201527f47656e65736973436c61696d3a206f6e6c7920636c6971756500000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6020808252601d908201527f47656e65736973436c61696d3a206e6f207a65726f2061646472657373000000604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea264697066735822122090e883f2c75a3b54d2047335b2b4c9847d412faf260d0544f23cceb2f22fae4564736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e03db3fa92bcf5ec3e897cebcff048e1457b49137a4980cce83996aeb4150070119197b03b17fd943c26a27f9b997189d47c182f49ca8567139a74f7d158249361c90f23e0219562703a5a9071f603d1688b070fdc6f866d67ca5bf0363f130f6f61179215c3b4345b80219ffff033f26cbecfbbadaf996af311207d64a35b9f9636bf87d0f4ead97f834d46022270219ffff03f2680bfd57669419149ac8514cdc3406e0ce70d3ad941002abc8dd933c4d28da034ca3a7cf7538c18965d59a9192ba59d029647474adda81e4f4fd77a8335c06310391403013a12c37c177409ef93613464984325c145df4de77c54309fa0477411703d04c5f766d426d133f8f5eb32cf9f26bf534ffe4c5ecbdba752b8763ae75ff6d0219ffff03d494743c148072d6a2011f616f6e4cd73a7f64afa93df77f39f46a7bd503b33b03991662e62f34d8d22713655b951f205c1d7afb14104542a9ca83284c6c73a8470219ffff037b1a82da32d012944a5966c0e3174133efb8b4fe8ca35690a5da4f0359a797df0320d4c5f9de0a4515b5b30444bf5194db1b5f0d5bf8359b72824a29ce891cff0a03b97e6c1853b4ea4eac857bae0d1ed6b9ea8c188afa82ff4fabf3b084a0bd333c03ba52f44699906901cf94beb3338dea0114d04245d2cdbc4adbe6ed79402beb8103ae89957a32b8c05319df0fff368d1567a5db7cbf4d646dfd67b4b23bbbc2c299033b3ac4a796b3a9fe08ca167f3bf3b12ad3471a33a66dfad5b3d87b8b6c02bf3b03a447381c8605a5dcac741e77f16ea7d14013ee4bc2123e6cfe4765ab2720ad030341028bfdf1ec35604ac633e8ebde7562270335527d9409be0b951aa7a2aef7e603c6ae29a68056a443271bb5076b805e46e67d30d1fd92e82fa5a3a6ddebe257ef035169ac9f4de462db4b54fb2f410f442e7e251e5eae136a99b64158d6ff2043530321a2f404f996a6a1cf29ceddec406e5d8238d89db177d3dd6b5c2127e893908a03c7b70e86521d54362c35b02329798e19ae1a55e1537fe26ebe2d1f902387fdc2033445c0c704fa5a481f36c0cc0bc96b966609546b8a8daeaab19a52fc2e028dbc0305e85924965a0a7ebdc5c5759c84b582f1bd8dae3d6fd112a94bcb5b9ad160a7035ee0096bf2d80ef447c71cda0326989c113803c802f00ae2cac6b6d2d2f14d3703f9131478ced0615361feb8a2abea7bf63eb885a37c9a6e26b6e47b4a52ed876903cf9d0862b9605b3a1423f02d20e9a8e0f984da526961a3f298909fba6381339203fbb2a5d9d6aab44e2b941fc8b91a6b0b7f9b1bfa2b52db5b413f807dbbdd843d0384aac1f0deae468542e11ec2d07ab106027b77694fee410f23bfb5352fd2a995038c2c43f493c6989e30fa31941d89ad782fa764c35ab8ca48106dae719800ffb403d8d64c0fef67a8e2589c62e1447129b8b531ecf6bdefc169bfdfb9ff7918453f05581e0399b9a3f2639fcb875d497ec2156e8ae738958d7a4f38da59b68d7130000c0246079ff9c1da400330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e038829ad8bb30b0a3a5bf1d27774faa7b8a9e75fd5f9136a89988c7ab9b007011bffffffffffffffff0391d5b8f55f4d3c1480e9d72d64d9442a708cfde9f3cc2da88be374ccfb846a4c05581d033951d917cdf06affb5f874c2a175e636d1253d77c62c6fb1259df1900c1829480a284be53089823805581d03343604201062232a954a42a201b84e13c56202e9d65f603801ba7a800c014213600219a0000141080368ea80f78f7d8d701359f6e81673ccbc6774b4686068a8c5ffc02d602adcf83305581e0332ebdf460571eee4b99867c2dae66dcc5b0c85587b4e86b6897ee09c40040105581e03972383c8c6f5af7ad1086132767a9cda504aa250f821d801493eb8a8b00c0146491aed58d800032c0a96e652bfc28e4946edf4e025cd0af7f8d4d20d1115d1712bfc65c973560505581e03028b15fa43c442568c218006a3bbe41fa7f01c1b0e3befd255f50358900c14477077d9c418c72e05581e0390906ab70bb0eccd5aed7a8669475770398af7527199a054e68f4bc0b00c064708d7af5d6788000365063238ff71519f84c5e6527e3d9f12be520c21f75ed502db2828795d6e920703fb19f56506bbb8d186e7cfcfb30a734097da3abba0726e4f8835f5bd1d7fb5f803a05fc946278f27029157571be9b363c0f9a66e866e2bc779e1f64e9cf60fd70a033590b7594418c52a418f4312b2bb0676f6633749afb74b25d2029b4bffc7e3e005581e03588d85a042fbd3dbe565ce7eb950eac38546e81f4a3952f0f5de8f924007011bffffffffffffffff03ca194e9e0db3a233bdf5cb3aafafcb7a4abff9228ab28ec98e291536d008cf870219ff6f030cfc6784fa18ca0693b64fba748e6048dd04864bd91191378de1894df369f22c039ceea91fda03f82930fdecf8cee7490207bb3f1c9aefda54882e42d3390d11ff0365043feb11edf6332c20b2ea27f26d0a95f58fd0fa0cedf0f6dde822deb20e0103eb49ba798d8b8835f10be5e3e7d61692843e662bfc5f4fa4cc5f73d7ceb2078303fc7837073a303fee48fbe028f4f05b3e1902c4add91f5af02963521b2a0970ab0307a37c6b50f5f2d1ce5d4db40cc116fa9e7636d8be0320b76bb0623cea1d219b032d6cd66ea5689243953426ae4f3b18e043ac8ab4a30f99a3fdecd964a473322c03adb99d15c08288c37b675d7bd3dd4c95ad91186597c4e5ec9f62220db0f1dbba0219ffff037ee9e783001433cedd960f40645040be81c5e1ba0cdbaceb22adb1057f1a235503d812225bdca531784ebb2991373b8b891792124a891ef026bda3ade8320455fb036ded9803e93a9069edaf93eacc10586c99b432eefc1384c62602b0f122168097032c29c4c14b88a2a7b4dbea546bacb04f9bf61422c588c6bb5bf165cc87859eda0219ffff03bb9d5b98794a9201fbf80b93f9471156b58d73c1de7b6f7fee4d82579939daf703b708760e073aa3f6a6d610cb0c4c651e85d4c5cd161f2c97bb403bcf0c15f4830384e9d6636c3ccb8656331ef985a21b66b390cb701473ac02176e1d38ed794de1039cd749d82988fa039f3dd7f431c62254da93c0ffa96083d21babcdf4d2a2c43903da6ad94c4eca13904288ca41bd1f41604a877d56de2a3cb1654f1d021d1bf57c032b8f9a1ac62ec243190b4e6c866a4ec105eb8fac75efd1f84c06687503d92d140370035a0e5f6b47fad90bd793f4942a114d3bb5a08a92f5c88fe33c5a653cd3d203512c07c8aeccc2737affc0198e0ae3e1b3f668ae90d37ce38110f4b221de8c1a0393929bc2e9d5bbe0452621e07d297b31596517eca621930949df02a39cff3d77036bdf483e98e1c6cc02a628c3fa4aead2e1a2a46a4407df448b3602b856efd87403b997ef1e2217ef23240a909ac5bda2ef34ffa0aa053bd1d93737b0be8f8f695503e99339c7b29fd65050b5ced5db7e72535291dfffde302687dd39c378b2c4ca1403301e30e36278020214affbf2ae34af9ca2e9a8cbe2f701816679cbf9ed6b4eab0368bfbb49ef43a9f88004d51a7273c676f6c2271a293600ea46e55432bb88484c0219ffff03cad89123e9c795ede1c578736c38180133163c63d3974a426f734f8d43f7a79c03e53d4b175a598e2e498105a1c5fcf7abec1cc760d1c5cd74d2b2d9a0ae337abc0336f97464d1c16e8e80b674c07c0a046b841aeddc388d72d62f99764ecad56fd503e546fae34f183fdcc4ffb71edcceb5f027fa97e0011bec23993d3144d2913da103b3657457aa6be987ff0ce6cf2ce4c274913178887649cd5c5434d54359ad3cf103f6497c47ac64f6a92b577aa997d325b2414ea89195c684b19ab12b55b962bee70326991195193178b00252930a930316b642cbd3eb35ee28fe68ff7571805b250d03d827c2352e9e0bbb34dd42c3e7e7ef7b067e415a79f2e5ffc4c11394d9bf35f503cbc923dc9bb07c3bdbba56ff280f1b9e5f93325f5f6b7d244f2aaa4e08d57b6603b33c1938e8d716e553fa471203d938ff4b4d6a99860e7a868cd58058c69e25a603f674d329b17ba3912284f694628825d3fa7f8912df53f2b8b47f5ad60c77e77003e14f67ff6280a4d17e09b011d0bd91c89c9bf7606c06b559fd6670e4bada42e603a5f3915e2aca9771fefa261490e32dddbb2fc4ebc683b117cefb2dc90e270a400302ee147a52dbe217fe934daa3d14ef46fa3e6beb1f978a306e3ef760131afd6f033be98295d306e3a8459a38773cafe367203853f3b38aab13d8d9d16da55d7f3903939531b9854b97422b92a469076c94f7d3ce1c57172462bdb12c8fbf901835fe039102dfffa6c7842756a138601836224c3007ab2f5b54a7b6f638bde5a693eaf90325499cfca46447331627f787f01b0908a555f03f3d4a1a13aca9011b3c6384430343273627801091f84b726458b8e925ab195001c9c2291e8d7de04dfa3d6f1ad1033fac91c1b9e3df0dd76c13b976eba87479f62f285518a87d1a9baa8ff9a334a603481f2cb51a1d805f59fc5480917d8d41637da7c2d9d44b69f88f236da3ee433c030d4aea5a60c96dfad0d35e6aa401c178d8217c66b83777ed0075602ff7b18cbd03b75f2a7986e7d8ea541845630608f4acd3b650c977a5d992f03982a4fc123a7b036e5f85baa6df93a31b9ab8b2f270943c1bed1bf9d53e5fa41b8a2ec22dde77f303ead5cf9491c3496b58b18a481806b3797eda7e52d7d54536857ed1a96efc0d8e05581e03852dfe37b3ec6b285070e10b9c646f263d392e7ee515ebc3d36de9e4100847038d7ea4c680000318c5d3a9a6ee4f3224e5982c81e4ab004d6b56b74d422ee962bc66c297346f8d03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e03b58cb2c8ce298fc3ed80464e62d032bbf70fa0105091a6f4727c1110c007011bffffffffffffffff039c4da409f7c4cfa1dc902d1613c1182b714a021d9095a7284e5d73bbb87e250303163b8d1bfc6064dc4df1a6127ea86345306d8d7fd2923ef42f41a8246408cbae05581e03df9642869a6e9fedaae7a1fab525ce8cfa32841c63b34c34b76cb1c9b007011bffffffffffffffff05581e03c549988f43417584ce7aa697d7eeb970115dd865995fda78acc94594e0040103232d3ec639d2a347c638cf9636912319c8bc54c95f86d4f8ea68bf951a4f40e2033bf14bc5be1a5446cbb6a38826d95fef512c04976a8c20f5c0e1476401665a1005581e0385a80c1c8db8b41b1edd2e40c1f341185c6c8e9dc2918c2fada368178007011bffffffffffffffff03962b1dc067e2192d0ec4b3d156a5a065e6b5d810f7c5f6c6b5d354fbdc322a0405581d029963567a0e36c94b633e8dc9a51842d63c8efef7398f9f1c182e09fe040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563048058b448d2a4242570058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf60472385ca5e04637900582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0522a9063452ff51b3b16c713ed4824e940df50005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab0470dd6633a5cc74d00582002f5fa64024104ccc10e71941315a05cbeb878c0f0e51a1629137294add6901e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219814000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820d6e7984044c7b59eddbb75fcd38511f2cc9d616a3791baf06bc5b814a05d254e005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84f53cf52ab71b7d42c70d333b95f9c9002184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd00480559e85f91e113a900582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632d053000000000002511c384ef1e4448f0000000000000010471d66e0c82e0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f541776b223ff636d0d76adf2290821f176421dd8890218480219f45505581d0289be3b0d13fcc1ccf382bbf185b419cdbf8ab9ebc6cc7e5e7f674a8d0701192c1d02190500030e6d484395b0acdea83eaa0baa449c8f0e89610a04cae7b0242adcdd709b5a0f033c010a418f84e0b81836129f72c1167122d30781d0e18281eff65435d473f72505581e03e57c20a1474342391f9781ffdd2642a7dec0d65fd0baf229257139e8d00c0147044ef93750124b03b7bd8847ae73952a2fbb396d7eba59be29746ec36315a9de1f02b89206e3569505581e03e91825fa19355355ff9184b5bd5cb7b546f064d4067fffff8d51b3d9500c0247040a295933d3ba0219ffab031c40517fe0bcd9ee9837a9f9e220b9393e529f568fba92845a2ed1416604d9cd03c30e9d852dc8dc301625d43eef3cb22d10252873666491e1be88e29362168cac03bd607f27004cd398e7de2bdcf3dac733b0fa799b52e2fb09d7ae446ccf5d072f03e31ba01770c123ae996b083badbb40e7c2aeed5222a086bf7ceb2aeffc79d9b3035d7596ad29b0d5289b263d51e9c6abdf8fd9b1608a130ef8ed4f07e7d309e33203e2ced71a142fb022d450d17fc4686e343bbc668cd17384df80a517d0b42acdf80219ffff037311681406b6dd11f3557162a636ef6ee8ed51cbcf0e3f696f81affeaa550f4903c28efb985af4c0c8faa67569442f0b7477c7ef417f3ddf19bf4446f6dc63f3d2030872e76b4dc2f2adaeefa9b32ddf8617f03c0d5cad78ebc08fc92df0217d083d03d620e35c5094ac42aecda73a36600324fb9d939a018f6f2aba621b4d1cbb49c3030031bba36eae531c5e5629550f123e4325f5a6f0028e0156836d64766c288484030b223cc66ad10b2b9ea597d210daad3c89715cc42cbfe6e477f8318d1de3a940030ad08958662e1e6ef34e5671861d97ea566081dce63070f6359a485a5e041e6003e4cdb9afecd7befe850eeffd95e6192fcc1c867a4f426fe40357464cf109cb3303515a01644b562ae0143cbd1f4d60a4828028b9d00712ec7a3e3d3b74704a2f0d0335508c20d2564952a615de7b1bd6d37dd912a03e99e522b3c6c973f782f7cb4003377c8fd9f2d5782969b40270804474bb6d84602aeccecde1e613aca366876ee0030bb741deededb744af4a3e07e8328797afe48925fe51d48932a757233a2639e90219ffff0363b825d5c9fec74cd39dc095b7839b0a8bc76feac58c4a5391a0f316a8b4ddb103f26c3c3280cdfb9ae4c38cf74e67fcb076a3619d695f8b229a7ab7a65f75d3c10219ffff035ab243a8e705024a2c7fc005b07311e5c6b58548733532d80b13292a5af2741a03f77f06a5345f96e56da5994a93ae2e1624b0cfb5307b4be5803053078cddd65803cee546349bf20a703469337866da26e39d8993ad6b71270e3438bad68642411403d7c813e6d7b27a0cc74be1e1c0e9a2490740b3f18d009db25383bac5a9881243037a94bc95ae4abfa27b13a4ad7f2a122fde374375032101c69e6386d128b84cf20312c0c3a5b39fa186e3812782b30becdea907bbec5596ef11738413e226d13d28033cc780dd92d44ab369d3ab153eddd6d293b006ce29fc671e60f870eb2d54cb4103c0dd0f3eb216018baada8fc8bcc48932ae0eca52d9eafcf4a25cfe5764203bf6033f8a83b39df8fc0ffbebd22f5b07fc53a043101fb95f360fcb256a25588e5476031929a57ded3f4b90707725edfa59518a76dec86cbea976aa539968a018c03b5d03cb55cfae231514b6d8bbbe57c1e12325d110caab932335db2048f3708b98d7190307c2d0674fc3cb8974e05dacb78333865dc318fce80ae05cb662379f4e872b8c03eff50ef13877d81e55a2eff66a276c0110239fe564bab083f87d4cc436c7143d039cf61a8e6ec1549e03dbba26ebf187fedc12a8210b47a7a8c3dc3ea59beabc43035955038d76910c69e2fd61c5ce01ada70ad9ca377d2e0e93a2b05f5b312903d8038bb304377c4a165518ba0e63e6bc5e98f5883ac67facfaf7cef595b63d03f32e035fbf535b5aea99b0625476870a045d6323646ec0585cb9596c8782b7bb45b0fe03dd042262948811db54bbaf759e3fabdd7a4515104a2231bb5183ac82ea5fe84f0378f477c9bd15a5214596faeb18249cf882669205ecaf2608c024da98a3b363b103f500725aa3ce030c6ef1a0a8736b1ed7db124e3e770cd97e711352cae96156f8033048f85b2896ab4606dc15bd90fc46f70799f672e33c312f4d23d52331d5eb3f0344684ff9daef631ea55d030be04e9c12c34911c7cfd0d9e619af09fa95c9eab20328c271cec40149deffa0fcfb11692b4f62b753dc89b2640ade46b91fcb91b40303e99ad00578def7447157d91ccc591ef3adf4fd68b5777617b3a7bb20ef6c9afd03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e032181c980223a57ab01f96d8d617b81bd7e3cc97fd76d2b7b316d3cbce007011bffffffffffffffff04590ab360806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b61009036600461091f565b610135565b61006b6100a336600461093a565b610196565b3480156100b457600080fd5b506100bd610221565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b61010136600461091f565b610276565b34801561011257600080fd5b506100bd6102ba565b610123610347565b61013361012e610435565b61043f565b565b61013d610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816040518060200160405280600081525060006104a3565b50565b61018b61011b565b61019e610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610219576102148383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506104a3915050565b505050565b61021461011b565b600061022b610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b57610266610435565b905090565b61027361011b565b90565b61027e610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816104ce565b60006102c4610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b57610266610463565b60606103248383604051806060016040528060278152602001610a576027913961052f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b61034f610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b6000610266610657565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6104ac8361067f565b6000825111806104b95750805b15610214576104c883836102ff565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104f7610463565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161018b816106cc565b606073ffffffffffffffffffffffffffffffffffffffff84163b6105d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e74726163740000000000000000000000000000000000000000000000000000606482015260840161042c565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516105fd91906109e9565b600060405180830381855af49150503d8060008114610638576040519150601f19603f3d011682016040523d82523d6000602084013e61063d565b606091505b509150915061064d8282866107d8565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610487565b6106888161082b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff811661076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161042c565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b606083156107e7575081610324565b8251156107f75782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042c9190610a05565b73ffffffffffffffffffffffffffffffffffffffff81163b6108cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161042c565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610792565b803573ffffffffffffffffffffffffffffffffffffffff8116811461091a57600080fd5b919050565b60006020828403121561093157600080fd5b610324826108f6565b60008060006040848603121561094f57600080fd5b610958846108f6565b9250602084013567ffffffffffffffff8082111561097557600080fd5b818601915086601f83011261098957600080fd5b81358181111561099857600080fd5b8760208285010111156109aa57600080fd5b6020830194508093505050509250925092565b60005b838110156109d85781810151838201526020016109c0565b838111156104c85750506000910152565b600082516109fb8184602087016109bd565b9190910192915050565b6020815260008251806020840152610a248160408501602087016109bd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b29caa54336b3ee836679675e9732ec5e526fb3f803cca2fe336cc3555aba62264736f6c634300080a003300582103feb96f7e176500db5cee08c1d9cee9a4d210127175c79bec2c51978207fd3ce05493c4b944d05dfe6df7645a86cd2206016c51564d0058200271fe83d7051f34860dda96bd964f527cb7cce7bdc7d7b8e2539387825ab192481a18511eb907a4ae005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563410102190210005821038395c5dceade9603479b177b68959049485df8aa97b39f3533039af5f45619905439053d51b77dc0d36036fc1fcc8cb819df8ef37a0360f3fbaca08a36dd7665b2eea61c3ede7ec43e93f9492e65d96f35b0faa2b2dd005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48105491625601e2bbbeb7171c40c79fadbcfbff6a1982005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0540683c3cc018fb76874fdcc8620d15c4e467e34ca005821032a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a820544994efc62101a9e3f885d872514c2dc7b3235849005821032999d817b6757290b50e8ecf3fa939673403dd35c97de392fdb343b4015ce9e054d4018ce9a041a9c110a9d0383d2b5e1c66ae151303b791437fadc326eddafa4f9037c6bba5a13a50c7a84ea78ea43fb1628caa31cf0347606a42d0feeed69862bb865a5f904b6a2385bacbabaabdeb72b4dbd91021eb00582103c16fef70f8d5ddbc01ee3d903d1e69c18a3c7be080eb86a81e0578814ee58d305491e677b07f7af907ec9a428aafa9fc14a0d3a33800582103ce66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc304314997002197dbe05581d02853fc92bd2542ab177aea4746e39c03e5c5bb532d557abd8396d402d0701190ab305581d028d7e28779c4f267e29eb589b7d7418af45aa87fd46a1e44a82fc5294040202186005581e03cca721f202428da63ff3fe50535841c3e9ec72b7d4be1a893a66889180040105581e03494625fd938aab69236cf9b611812afcb24bf34e01f9551a9bf318047008474c7e5aeb6cfe3805581e034baf77f29acf7594b7f7357b06b58ec0d121f1178c36e2aa5a44a072900401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e031874076d4c79f039398fd31bb875ab047aafc4d81840bb6e0a992fe6b007011bffffffffffffffff05581e033120ad882d2aa7d022d465c42caeb12b216609969513bd35bb12aa1310040205581e0378e734bbef053cd07a6c860ef78a4025bc52f20bef23e47812f8cc6b200403038513d0ba5b18cf309e29b589fd6cbe55415d275fff225fb5d1c9b7c38383a94303a2051002a4045f85ade5fdaccbc3541ee2d30c589e39a792c2ee41135cb6221f03d09cb678149eb2eb86de3702b560ca98330bf6cef8bd497564f747b75301453703905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03ad205936b6f4cad3f34d9d2f52617d6f4722ca7f8b72f8077e64aeeb7007011bffffffffffffffff0219e5ff03bd6604ca09ee2839f45eb58d1eb25ab6c4eba101ccf9411ca485ae95cba1034a038608e850afd211784b4e2b9ddb6454dacf5205fb32c3955754c13cdd063244de0219ffff0328a4ca51475915fcf10b7134dff9b010e8d93541a6eb6eba273ad16c8b2b096f037746074d7b9b542f73cc6e10f94bc8b798bdcd40cbea5612fbac4bb29443c776039ef673920d7b3ad930dbcae8dc66aedd9f5342412d9276ef7f51202e9dfcfdd303d8cff0067659a9e36b5bc2f4f81cb656d9dfca5fcc50df3be03d52fc37be019e037b3187f2d9503244cbe36c2e251f97d78dc797785ff6d95c3a82fedf053ff2cd039c4cdef840c9b812c4b6077ab35a56d7fc07c4e77231a0306652238d9debc33703e253373bb69ce559d61ecf1868162f064e23688c41c9b2c668f36f118d7e090a0382d2192fc3b19e9ad32b727ff2b03a4ff0511521a95881c6c349e0bc8488c0d4034ab2f18c36e06ab11dff0b32e8262c54435009c47b8569e13a86756fe3a489b70364a1722f0c35d3947bceeb7daa0b744559edfa920b0f083176eeb73fb8bfc21403b89d1c039832b40c6f6deff397865a3077d03aec445cf4e53f12dd76514f514603389502f978d2ee1d52f313acc60063e87263302deafb44713aba06e203a4a3830219ffff03500dff26e9f6c3948f20e8e226da1d21d0f8dc71ec75d383a413f7dcf52a3f0c03c3664ae3e11c7597fb4d583778d476b93946be75004e69008bf3cdf7794bc326031e0f3f885cfa5e367f268163853f4d3e74b79e8bd6ec77b8bfdd7d5e1bf39c7d03b6b60267db77f4320488ef13d902c96ac5a0a57df8253f05c6e7a25fda6e0dab03b2685a606f58eff0f6a7f410329d86b9322d2a8f0315491a9084750c2489948103600b6256555bdcedd515a2daf4e44c1b56a7b0838deef0cb728b8487d639eb2f0385d87a9bb8ed6b8ed660b6acc7a64205e069e96766249aec722f9379894dcaeb03482b8790621f4ed7f5649818895f73d76474ea7e04ce9978ecd120c5b34941ae031da8a04b0e7eb46852283a59a92c5d23af9e375621dab7d87fa657156e69a7c8032df261d0e17c8120c041617a80f1701e350633dc7c546628062a1d9a1fbfe9ed03793d0db73ae2f53f97fba855ee8994ed6a5902e1c0d896207278d69e41f3666203942c38955aca24e5c8a2b36f1e4ed36e73413359262f142defce0b102b4917bc032ea61950d7dc0c13adaf7e1e1fab0dd150b5cdd32354714d24e33d2b468522c10219ffff036b7b7b744ccbd012e985ecd5449fb7813d62aea76b45e8715ee931c0a699a8f3037879a6b21f18e4eca18ed7603a54e4cb4a56ea5fc35d26af950afee6a3c74e98034f1d1a36209cca69ad4ac67a8ec738038a15f59ebc1f33ab7ed871b2d866b9f90314deea13298211a66929f80561bce6da17c24958ee22c63c05df1c26f8be3ae503a1ea99d073436d3b47fbd22661c53b1c09875e82cc3872c6888d91b2d6f0e5af0340a464074650099672924c2878ec43350a7105e2981781daf27833e9c675bbd203fe9855adf60f9ce957943a78df5fb8b61e6afad3dbf909d4a3db6451c9e938c0037e0d2b8b09b86a975e7994fca26c6236e50c429cfcd78a519c882c92c90715ff03492192082f312ae4471930821a4e1b0af8e6f57f618609f70e3fa15be2ebf78f03deaf5d45f4f527f4f33f3dd85c84999a0d57ee3e4fc37a6a1a56d09d7dc5a6c303349dc7a9815568bf5ee06c8a8ecf3e53b5df5acff0b7810ee02b560f721f6fc80396c5d1e6795d7d6420b731b4b1ff0ea8bd538fbaa9a551e18d255ff3f43b2c9e036b0f352058615a67f0d9c9266c17feaad96b5c68a91a65ac119cb9ac337d6eb6036706b8b6ccd330142bb9b0730c3b27cd283f949ff80c963f5127c8c549b9d25c03428afc30a8827e278e8e08509073b1941cb8e29c79befe98dc115a3149676d4e03cb8747d9890b6870ed0cc697116f7165abd4bb78796dbc858f49b19826e285e703075b9ebb376b6dac100d2c93d2e4abc1f3eac1aab7fc5279f895cd90b419b94003e658fa12b7a0ba9bbc55361a6a2e208546d3d578221849f141021f0f8107687903acaed0f70fceaf56871eb1dd04345281804365ad4c2ac534d9f56871208825cd03e6a46f98ee1cc6b53bd834f4c623a2ec238d74e71683fea64793d06d64957ff2037ebce8c6dd8d36baa2ee0e568ecb9720e29218aff7dc1e170112f5f4b5322a27032ec27b4758ae5ed5b63b676d95de9fd3fb0766a8dc3ba977c764b86e40aae5a703c3c3d1d66cae420974923365e1cc10863370a045311b0de7a8012e80d8d9ba8c0300e4e162e62c6899e3c1d8435da7ed810d835c95563b00cdf165c4e7133dba38038cb9aa75b2e82fb15858ae86142cae6d9c2fb82372ad9f6682edf69382d3a1000347d8242433847d541776e261e826bb1473bd2e85ed736d7877174a62ab6a02eb03cfcfdc7a9ed8cf7198d5731f63a38141294f49a14685d866675ef1f684fa8e6003df108497505382d3feb5e142ed07a7faf81ca6e17b746d47cdfc2277d91563d303a977018545a659e8ed66f4d15bb75d0eb6c43cf53236ab875760cd3f7ca403e603f58c17f0f9a5fc3a18a0e0f1252e9661d4389f554e7c7ccf53ac26a5a8f55f0a039c216e9da5ee20e3549d0b4136023d30f23756927be8fa40643a34a381e2d3f60386f363c2dd235a5c3e9ceeb2b60288c9e436fdf1d182af2deea3ac7939faeb2605581e035e8dc607132ce4cd445a96d1d4c5934284eb730993b56e98221389c580040203a565ca407e7e76be70ff996a0a3062462b50751791a37d27156e7e5ae6f6db4d045905f7608060405260043610610037575f3560e01c80635a20c5dc146100635780638da5cb5b14610076578063c4d66de8146100b05761003e565b3661003e57005b5f546001600160a01b03163314801590610056575034155b15610061575b61005c565b005b61006161007136600461043d565b6100cf565b348015610081575f80fd5b505f54610094906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b3480156100bb575f80fd5b506100616100ca3660046104ac565b61031e565b5f546001600160a01b031633146100e4575f80fd5b805f5b8181101561031857838382818110610101576101016104d9565b905060200281019061011391906104ed565b61012190602081019061050b565b15610244575f848483818110610139576101396104d9565b905060200281019061014b91906104ed565b61015c9060408101906020016104ac565b6001600160a01b0316858584818110610177576101776104d9565b905060200281019061018991906104ed565b61019790604081019061052a565b8101906101a49190610574565b8686858181106101b6576101b66104d9565b90506020028101906101c891906104ed565b6101d690604081019061052a565b6101e491602090829061058b565b6040516101f29291906105b2565b5f6040518083038185875af1925050503d805f811461022c576040519150601f19603f3d011682016040523d82523d5f602084013e610231565b606091505b505090508061023e575f80fd5b50610310565b5f848483818110610257576102576104d9565b905060200281019061026991906104ed565b61027a9060408101906020016104ac565b6001600160a01b0316858584818110610295576102956104d9565b90506020028101906102a791906104ed565b6102b590604081019061052a565b6040516102c39291906105b2565b5f604051808303815f865af19150503d805f81146102fc576040519150601f19603f3d011682016040523d82523d5f602084013e610301565b606091505b505090508061030e575f80fd5b505b6001016100e7565b50505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f811580156103635750825b90505f8267ffffffffffffffff16600114801561037f5750303b155b90508115801561038d575080155b156103ab5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156103d557845460ff60401b1916600160401b1785555b5f80546001600160a01b0319166001600160a01b038816179055831561043557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b5f806020838503121561044e575f80fd5b823567ffffffffffffffff80821115610465575f80fd5b818501915085601f830112610478575f80fd5b813581811115610486575f80fd5b8660208260051b850101111561049a575f80fd5b60209290920196919550909350505050565b5f602082840312156104bc575f80fd5b81356001600160a01b03811681146104d2575f80fd5b9392505050565b634e487b7160e01b5f52603260045260245ffd5b5f8235605e19833603018112610501575f80fd5b9190910192915050565b5f6020828403121561051b575f80fd5b813580151581146104d2575f80fd5b5f808335601e1984360301811261053f575f80fd5b83018035915067ffffffffffffffff821115610559575f80fd5b60200191503681900382131561056d575f80fd5b9250929050565b5f60208284031215610584575f80fd5b5035919050565b5f8085851115610599575f80fd5b838611156105a5575f80fd5b5050820193919092039150565b818382375f910190815291905056fea264697066735822122019187880ef018631bf0e762a19c723629eb5e5bba263838a250735ee92adfb1064736f6c634300081800330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630545d775caa7a0a56cd2d56a480b0f92e3900fe97220058210328a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c6041010219400405581e034a79ddd1c40437bdc79c240a161e90c1aab767f71995fa5402484c01300f01480427bc33451584141905f705581e0354be7a8981b1e4b1caa6ffd95b29d33f6d525d529e6f036eb23881db00040105581e03b135e8e6289c258e1045ed8ca7dbcc3a0210f3a408286408a778307430040203b35751ee1eac7d41ec58bbf979f4d9deb1a0a9ecd0b9829f85f26f3b92cff86a05581e03083601921f384c5913540f48848e1b378aa3acefe7879a4dad8cc777400c0146d2a8776d720003e2e2da14f8d06d0f74ba8c9e96ced9e8852b7b8184f7f4cd2e22c7d7a3033732039583a0ce10a4cef6bd7dc49e4dfeaa4481ac6590763f1e5e4ab207494e072baf030f88516e6406fc1aee8b5f9ca9c67af622e975e5a5b9b8623a4dbed0ee2f8b0605581e03f9f7eabd68778bd6240d8ac90c320e872849613424fab9f1164c9c31300c0246b5e620f4800002197f7503b10baeaedd0c4fde34d631bca4898a6487918705f895628a450d724cccfa4cd703e45054372d7d1a534dd32e44a353708ecdbb3ececc50cb8d89fcbfc72e6483a803bca88e645b8a2d9fb7a801082c8af1622de8a4ffee0e86f642a39890f883e1d003f9e70fc9febfd8c7c6b39ee3dbc3c1ebafa601d84788c746e5e280cbbbee64020398465e004e229bfe7b239a5d7b75146c6d9c2d977d49fb6bf2ae8c4b9ae5a6cb031b9de0e2ca5afabe3682eafe402b88a4114fa566e7b9f4e0ad97e6517f9fba320219ffff035501111a48c9613d0128762d0841363bdf533e28f31e780365c49b8acd8c2154031abfee9971d00d9ad803c325b5d6c17c427793dcc0cca794144376a0fbf33b8c03892458cd23e851ecae1d0fbfdf091ede3c15f7b5d248c86969ca51312332546f0219ffff03346a9da768549d36d4a51e031cc6b3500b0a9af045cbdf4970def5f671650b9303ba3fc0b164bdc8e2e40dea3c718407feed77b2e02b3951cbb431eaed6d7f4295035e53e43a6d56ed620bd26843cf84680b20256fd1225c17cf6a36038b26d54bcc0389f84aa189a24cccc6f07d53c80d64b9e536dc5f9a97811c87b98bf4220bed04031cb788b5beaffcd97d3b7db2aa03da236156e51c7c43edbc7161fa0219b4e3dc03b7746c81cfbb2f0db4cb65f960781191913ec818f41fc641317ece9886c644c40305930ee39dca3d5e575d6fb5297ed145988849564f05df40d0bbb8492ec985920219ffff030002bd62a4ad15eebaaa07bdbebded10f862b596b9862c897d0430bffaaf281103fecdeb5e4e731d062999af402a5f751ebaf92e74972679e46193b49eeb913b2d033af8e5b1499d6b2dd5109b715a773cd4f022890edc6bffbf0b7f96c4ad790baf0219ffff03931c63f44ab40589446f28a7cb71ca461894d4129e9bd472cc9f9f59588543de037e6d04856c04b0c86561b41d41a75422057640c59a40579b1afa544009b87f0d036a9c280339676d52985b34c92f2ab30920998589b764285193e71b34b4affd7703bb01e6e7527fffaf13cdd961622885dabafb850485af5b4908a77fdc3785f4550351e851102adeb32919dbea49d83b58115988ae35c7767c986911bda4e56c263c0333a52b6e1db1d181c834ab1cc7d45601369bc4456472ad4383d37db8357347f303ffed6e76b76868298f448f7af80297b8573d88a2627f2019f620faf368fd2f5a03c47e518517d6225e03cedba599bc74344bcc93aa927022a6b7efe4ae3f4a367103aab8ef1547856e739f8d2fb77e37c6c1b8d8444274cab67a8828dcf78fc1cf6203a94e2cf126d0153c8cd84307358b75bcb6ca0c8421f5af5a79504910a08410c803bf5bc5449db8660fdd91457d2893dd070792cde083cc4987fa32338bd0fa792c03080253b9d32ba01606856c3f7d173b38575697d9ba9a0492967ecd2a5c2a96e00305b55db3331001d2d46e450d429584aca7bdbcc6e46139c2c890a15a08796618031ac5fb2deb6fac111728cb1834a1116fc520f37a47935f6ca75a6aa86f4c932203d78516cc3ee851fe8b7d3b345a32591e7da0628926e3a6cf9679848a550c2ff903867b64271080edaffceab82ad572bbbf7227d3f89d409b5ace1482b1521969ba0375b8f70719764ce05916223e511e7ed22db0829112c8887cc93f893385ef228803ae98def12e51f97f3b8e13ceefb7a7cd0ad9e1a670c8ce0d37f3cb8aaa64f489034ca5070e0ca6b3def72efb5a35d4715c5a35ed24ee3ae2404bdfbe7434de952a0386cda05b43d874539a540dca69db2a5974070788882ba71955fc5a334a6547d003b7be324712c815cdc988bc1921e1beae248b33802f91f9ca8919f37ba3c8c33503fbd9a0f14c9648dae70b1aee130f013cf1f22b95b3042658e6fa3927458282e303fc49e0f6c4c3defe80c03d74bed45fea9e3e4ed3f9efb813406341a30c5805e5036fe23feeb9bf81221df1a78d4648af36921b5b98d8f8e8503fe41653ba254ec103f896ee4d2fee8bbb193f807dc37d71ee44ddb8de873598f8e86a8751fb3bab100321490f895e1fbc15b5c814766064530b61de8a8d78a1750a0c01da56c2e8955103c4b3c70aa62fd2517bede5fba5fae93691c3d9d9ae467b599439920230367fb703dc9cb9e3ca5fc2a784baf6b63f49fff49ebb4ae8c265e3d0c0c2c6682d74d9850316f1c3e28675ddceea2e1132db4f6ea5dd6c43ab773e96c6bf440d894344c7990382a0c6e403a3e74071b1713fb4768b5b38056c72f326d326a45089d04682f3cd03ceb0413a8de54b169765aba3e45f83090b02dd69a2cb471ccd24309101c84e95037a0e51704a1445a5e44f9aaee4af863153bafbf1ebd9ce538657fade36130e0b0308b0f84fd2aff638cf08f11437df8fd3fbeac80588554ed3b40ab5d0351a4a4a039cdec49e1d1770cf4499b32fe8e384ba3f649f0154a2fc344528c031583d3ead05581e033dd4721e857e096deeb319c7a0d9e49e52897ddc6c67f5f30725beb170040105581e033cf4fcf4706ac6b05aaf6d90a3a466fdd8e19bfdf11ed857cf4c877e8004185005581e035dd043e27add78660aff0d09badef9a28d7935d74c3fbf25fdf27708c0040105581e03e672175d42b251c21c4c2057a8204ad771bd1d6d79d21cff3534c2d510040303a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c0380910733ce21509b9bfcc03eb5cc88c6ae825b03a2a7c9bdf3d3065ec288d50f05581e03eaa5fb49dd268981084c7673bff8e36b18e42fb1e01059493de2194cb007011bffffffffffffffff05581d02cd245bff482b4ccdabc138bee0786422eaf618164afca729c16766590c024719e01f6d4ae80003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d039d00efa49d1fd6c94531531e9d648357ed2112bd16b70a1fe17b35123cc25b4205581d0280772d1264e5e2f47279a49061f0e46d7355054788fd304496e4dd3a07011bffffffffffffffff04594ca86080604052600436106102f65760003560e01c80639a792d461161018f578063c274298f116100e1578063e9f8db041161008a578063f2fde38b11610064578063f2fde38b1461087d578063f83d08ba1461089d578063ff06ff56146108b2576102fd565b8063e9f8db041461081d578063f1b43ae41461083d578063f23a6e611461085d576102fd565b8063e43252d7116100bb578063e43252d7146107bd578063e4c3d6b2146107dd578063e913d278146107fd576102fd565b8063c274298f14610766578063c948bb8a14610788578063d6bb65c21461079d576102fd565b8063ab0b90f811610143578063ba324ac61161011d578063ba324ac614610706578063bb64cabe14610726578063bc197c8114610746576102fd565b8063ab0b90f8146106a6578063b6aa057e146106c6578063b9806d99146106e6576102fd565b8063a1d7876f11610174578063a1d7876f14610646578063a526d83b14610666578063a79c930c14610686576102fd565b80639a792d46146106065780639b5ab34314610626576102fd565b806331ea76b11161024857806371404156116101fc5780638ab1d681116101d65780638ab1d681146105a65780638f22edf3146105c65780638fbbddc4146105e6576102fd565b8063714041561461054f5780637be5fdc314610571578063893d20e814610591576102fd565b80633af32abf1161022d5780633af32abf146104e657806351953ea614610506578063521eb27314610526576102fd565b806331ea76b1146104a35780633644e515146104d1576102fd565b8063150b7a02116102aa5780632630c12f116102845780632630c12f1461044157806326e1c978146104565780632e9feb7914610476576102fd565b8063150b7a02146103d45780631626ba7e1461040157806324db3d0214610421576102fd565b80630206b440116102db5780630206b4401461036557806304e80e901461039257806309779927146103b4576102fd565b806301a44c251461030257806301ffc9a714610338576102fd565b366102fd57005b600080fd5b34801561030e57600080fd5b5061032261031d366004613d36565b6108d2565b60405161032f91906141e5565b60405180910390f35b34801561034457600080fd5b506103586103533660046139af565b6109a6565b60405161032f91906141da565b34801561037157600080fd5b506103856103803660046138df565b610ad9565b60405161032f919061416b565b34801561039e57600080fd5b506103a7610ba1565b60405161032f919061402b565b3480156103c057600080fd5b506103586103cf366004613628565b610bbd565b3480156103e057600080fd5b506103f46103ef3660046133f1565b610d7a565b60405161032f9190614240565b34801561040d57600080fd5b506103f461041c36600461392f565b610da3565b34801561042d57600080fd5b5061032261043c366004613a4d565b610e74565b34801561044d57600080fd5b506103a7610f3e565b34801561046257600080fd5b50610322610471366004613a92565b610f62565b34801561048257600080fd5b506104966104913660046136ff565b611039565b60405161032f919061426d565b3480156104af57600080fd5b506104c36104be366004613b94565b6111b0565b60405161032f929190614227565b3480156104dd57600080fd5b506103226112b9565b3480156104f257600080fd5b50610358610501366004613256565b6112dd565b34801561051257600080fd5b50610322610521366004613d9c565b6112ea565b34801561053257600080fd5b5061053b611364565b60405161032f9897969594939291906140b5565b34801561055b57600080fd5b5061056f61056a366004613256565b611447565b005b34801561057d57600080fd5b5061032261058c366004613a4d565b611540565b34801561059d57600080fd5b506103a7611656565b3480156105b257600080fd5b5061056f6105c1366004613256565b611672565b3480156105d257600080fd5b5061056f6105e13660046137a6565b611738565b3480156105f257600080fd5b50610322610601366004613a4d565b611834565b34801561061257600080fd5b50610322610621366004613c38565b6118ae565b34801561063257600080fd5b5061056f6106413660046135f0565b61192c565b34801561065257600080fd5b5061049661066136600461345b565b611981565b34801561067257600080fd5b5061056f610681366004613256565b611af5565b34801561069257600080fd5b506103226106a1366004613a1a565b611bbb565b3480156106b257600080fd5b506103586106c13660046135f0565b611c83565b3480156106d257600080fd5b506103226106e1366004613a4d565b611d2b565b3480156106f257600080fd5b5061056f61070136600461336e565b611da5565b34801561071257600080fd5b5061056f610721366004613771565b611ecf565b34801561073257600080fd5b50610322610741366004613afa565b611f52565b34801561075257600080fd5b506103f4610761366004613272565b61202f565b34801561077257600080fd5b5061077b612059565b60405161032f9190614a9e565b34801561079457600080fd5b506103a7612081565b3480156107a957600080fd5b5061056f6107b8366004613550565b6120a5565b3480156107c957600080fd5b5061056f6107d8366004613256565b612399565b3480156107e957600080fd5b5061056f6107f83660046137a6565b61245f565b34801561080957600080fd5b50610322610818366004613256565b612527565b34801561082957600080fd5b506104c3610838366004613cb0565b61254f565b34801561084957600080fd5b5061056f610858366004613ddf565b612652565b34801561086957600080fd5b506103f46108783660046134e9565b612718565b34801561088957600080fd5b5061056f610898366004613256565b612742565b3480156108a957600080fd5b5061056f61288c565b3480156108be57600080fd5b5061056f6108cd36600461331c565b61290f565b6040517f3140f8cf000000000000000000000000000000000000000000000000000000008152600090739b1270fe4d22d9051b8d5dceb7b32f6a8ab4dfcf90633140f8cf9061094e906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e253790899089908990600401614864565b60206040518083038186803b15801561096657600080fd5b505af415801561097a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099e9190613917565b949350505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f1626ba7e000000000000000000000000000000000000000000000000000000001480610a3957507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b80610a8557507fffffffff0000000000000000000000000000000000000000000000000000000082167f150b7a0200000000000000000000000000000000000000000000000000000000145b80610ad157507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b90505b919050565b6040517f18d9ad71000000000000000000000000000000000000000000000000000000008152606090739b1270fe4d22d9051b8d5dceb7b32f6a8ab4dfcf906318d9ad7190610b2f906001908690600401614a8e565b60006040518083038186803b158015610b4757600080fd5b505af4158015610b5b573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610ad191908101906137e6565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000806040518061014001604052808e73ffffffffffffffffffffffffffffffffffffffff1681526020018d81526020018c73ffffffffffffffffffffffffffffffffffffffff1681526020018b81526020018a81526020018981526020018873ffffffffffffffffffffffffffffffffffffffff168152602001871515815260200186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020018490526040517f531020c200000000000000000000000000000000000000000000000000000000815290915073f5d3ec68826e4774d214c6a515f85bebc7c078749063531020c290610d19906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e2537907f000000000000000000000000b124190942976431d8181fbe183e44584253da6890879060040161450a565b60206040518083038186803b158015610d3157600080fd5b505af4158015610d45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6991906138fb565b9d9c50505050505050505050505050565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040517f7d631ea10000000000000000000000000000000000000000000000000000000081526000907318cfe847d4ca31bcdb4a3a23d5a99c313a41e42490637d631ea190610e1d906001907f1626ba7e0000000000000000000000000000000000000000000000000000000090889088906004016148c6565b60206040518083038186803b158015610e3557600080fd5b505af4158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d91906139cb565b9392505050565b6040517f912fce54000000000000000000000000000000000000000000000000000000008152600090739b1270fe4d22d9051b8d5dceb7b32f6a8ab4dfcf9063912fce5490610eee906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e2537908890889060040161462d565b60206040518083038186803b158015610f0657600080fd5b505af4158015610f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d9190613917565b7f000000000000000000000000b124190942976431d8181fbe183e44584253da6881565b6040517fe2e2492700000000000000000000000000000000000000000000000000000000815260009073a9abc45a98ac6f5bd44944babb425ef480abd3fe9063e2e2492790610fe0906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e2537908a908a908a908a90600401614673565b60206040518083038186803b158015610ff857600080fd5b505af415801561100c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110309190613917565b95945050505050565b60603330148061106e575060015473ffffffffffffffffffffffffffffffffffffffff163314801561106e575060045460ff16155b6110ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b60405180910390fd5b6110b76001612aa0565b6040517ffc55b67900000000000000000000000000000000000000000000000000000000815273a9abc45a98ac6f5bd44944babb425ef480abd3fe9063fc55b67990611134906001907f000000000000000000000000b124190942976431d8181fbe183e44584253da68908b908b908b908b908b90600401614a24565b60006040518083038186803b15801561114c57600080fd5b505af4158015611160573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526111a691908101906139e7565b9695505050505050565b6040517fd77c3b5d00000000000000000000000000000000000000000000000000000000815260009060609073a9abc45a98ac6f5bd44944babb425ef480abd3fe9063d77c3b5d90611237906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e2537908e908e908e908e908e908e908e90600401614730565b60006040518083038186803b15801561124f57600080fd5b505af4158015611263573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526112a99190810190613974565b909a909950975050505050505050565b7f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e253781565b6000610ad1600183612b4a565b6040517f2d5d461a000000000000000000000000000000000000000000000000000000008152600090735f0594d3e3e279d63bb73de95578b0f4b59e80d490632d5d461a90610eee906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e25379088908890600401614896565b6001546002546004546007546040805160a0810182526008546fffffffffffffffffffffffffffffffff808216835270010000000000000000000000000000000091829004811660208401526009549081169383019390935267ffffffffffffffff908304811660608301527801000000000000000000000000000000000000000000000000928390048116608083015273ffffffffffffffffffffffffffffffffffffffff8088169774010000000000000000000000000000000000000000908190048316979660ff16959182169490820463ffffffff169391049091169088565b3330148061147a575060015473ffffffffffffffffffffffffffffffffffffffff163314801561147a575060045460ff16155b6114b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b6114ba6001612aa0565b6040517fee3da3e3000000000000000000000000000000000000000000000000000000008152739b1270fe4d22d9051b8d5dceb7b32f6a8ab4dfcf9063ee3da3e39061150d906001908590600401614484565b60006040518083038186803b15801561152557600080fd5b505af4158015611539573d6000803e3d6000fd5b5050505050565b6040517fec08e14400000000000000000000000000000000000000000000000000000000815260009073b4de0305d9e8670b9f045c5045af03a121fab5ad9063ec08e144906115ba906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e2537908890889060040161462d565b60206040518083038186803b1580156115d257600080fd5b505af41580156115e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160a9190613917565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff949094169390931790925550919050565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b333014806116a5575060015473ffffffffffffffffffffffffffffffffffffffff16331480156116a5575060045460ff16155b6116db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b6116e56001612aa0565b6040517f9509eea5000000000000000000000000000000000000000000000000000000008152736456ab7259bfc51cc20609a8a733ffb49e97a4d890639509eea59061150d906001908590600401614484565b3330148061176b575060015473ffffffffffffffffffffffffffffffffffffffff163314801561176b575060045460ff16155b6117a1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b6117ab6001612aa0565b6040517f28c80935000000000000000000000000000000000000000000000000000000008152739b1270fe4d22d9051b8d5dceb7b32f6a8ab4dfcf906328c809359061180090600190869086906004016144d6565b60006040518083038186803b15801561181857600080fd5b505af415801561182c573d6000803e3d6000fd5b505050505050565b6040517f1b8b0ce9000000000000000000000000000000000000000000000000000000008152600090736456ab7259bfc51cc20609a8a733ffb49e97a4d890631b8b0ce990610eee906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e2537908890889060040161462d565b6040517fc089037e0000000000000000000000000000000000000000000000000000000081526000907384ade1d4f8c4e35027cbcfa73e91139f7600fd169063c089037e90610fe0906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e2537908a908a908a908a906004016147a7565b6040517f91fc12c600000000000000000000000000000000000000000000000000000000815273f38605b5cc6324215adc11607d52db0d1093adb7906391fc12c69061180090600190869086906004016144a8565b6060333014806119b6575060015473ffffffffffffffffffffffffffffffffffffffff16331480156119b6575060045460ff16155b6119ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b6119f66001612aa0565b6040517f2b84eece00000000000000000000000000000000000000000000000000000000815273a9abc45a98ac6f5bd44944babb425ef480abd3fe90632b84eece90611a77906001907f000000000000000000000000b124190942976431d8181fbe183e44584253da68908d908d908d908d908d908d908d906004016149b6565b60006040518083038186803b158015611a8f57600080fd5b505af4158015611aa3573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611ae991908101906139e7565b98975050505050505050565b33301480611b28575060015473ffffffffffffffffffffffffffffffffffffffff1633148015611b28575060045460ff16155b611b5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b611b686001612aa0565b6040517fb9d8df14000000000000000000000000000000000000000000000000000000008152739b1270fe4d22d9051b8d5dceb7b32f6a8ab4dfcf9063b9d8df149061150d906001908590600401614484565b6040517ffbcfc53c00000000000000000000000000000000000000000000000000000000815260009073c369c7f2d7dd35023a74c6ffe09affcb09e505839063fbcfc53c90611c33906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e253790879060040161460e565b60206040518083038186803b158015611c4b57600080fd5b505af4158015611c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190613917565b6040517fa643b107000000000000000000000000000000000000000000000000000000008152600090739b1270fe4d22d9051b8d5dceb7b32f6a8ab4dfcf9063a643b10790611cdb90600190879087906004016144a8565b60206040518083038186803b158015611cf357600080fd5b505af4158015611d07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d91906138fb565b6040517f9668d94c000000000000000000000000000000000000000000000000000000008152600090739b1270fe4d22d9051b8d5dceb7b32f6a8ab4dfcf90639668d94c90610eee906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e2537908890889060040161462d565b33301480611dd8575060015473ffffffffffffffffffffffffffffffffffffffff1633148015611dd8575060045460ff16155b611e0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b611e186001612aa0565b6040517fc5354f8b00000000000000000000000000000000000000000000000000000000815273a9abc45a98ac6f5bd44944babb425ef480abd3fe9063c5354f8b90611e97906001907f000000000000000000000000b124190942976431d8181fbe183e44584253da68908b908b908b908b908b908b90600401614951565b60006040518083038186803b158015611eaf57600080fd5b505af4158015611ec3573d6000803e3d6000fd5b50505050505050505050565b33301480611f02575060015473ffffffffffffffffffffffffffffffffffffffff1633148015611f02575060045460ff16155b611f38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b611f426001612aa0565b611f4e60018383612b86565b5050565b6040517faed4047900000000000000000000000000000000000000000000000000000000815260009073a9abc45a98ac6f5bd44944babb425ef480abd3fe9063aed4047990611fd4906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e2537908c908c908c908c908c908c906004016146c4565b60206040518083038186803b158015611fec57600080fd5b505af4158015612000573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120249190613917565b979650505050505050565b7fbc197c810000000000000000000000000000000000000000000000000000000095945050505050565b60015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b7f000000000000000000000000dd2a08a1c1a28c1a571e098914ca10f2877d9c9781565b60005474010000000000000000000000000000000000000000900460ff16156120fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614325565b60015473ffffffffffffffffffffffffffffffffffffffff161561214a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a4906142ee565b73ffffffffffffffffffffffffffffffffffffffff8816612197576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614416565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a16177fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000004267ffffffffffffffff16021781556040517fb4f212fa000000000000000000000000000000000000000000000000000000008152739b1270fe4d22d9051b8d5dceb7b32f6a8ab4dfcf9163b4f212fa9161226f91908b908b906004016144d6565b60006040518083038186803b15801561228757600080fd5b505af415801561229b573d6000803e3d6000fd5b50505050846000146122b4576122b46001866000612d4b565b73ffffffffffffffffffffffffffffffffffffffff8416156122e0576122e06001856301e13380612b86565b73ffffffffffffffffffffffffffffffffffffffff8316158015906123055750600081115b1561238f576040517fbeabacc800000000000000000000000000000000000000000000000000000000815273a9abc45a98ac6f5bd44944babb425ef480abd3fe9063beabacc89061235e9085908790869060040161404c565b60006040518083038186803b15801561237657600080fd5b505af415801561238a573d6000803e3d6000fd5b505050505b5050505050505050565b333014806123cc575060015473ffffffffffffffffffffffffffffffffffffffff16331480156123cc575060045460ff16155b612402576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b61240c6001612aa0565b6040517ff42a9d41000000000000000000000000000000000000000000000000000000008152736456ab7259bfc51cc20609a8a733ffb49e97a4d89063f42a9d419061150d906001908590600401614484565b33301480612492575060015473ffffffffffffffffffffffffffffffffffffffff1633148015612492575060045460ff16155b6124c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b6124d26001612aa0565b6040517f8b83659600000000000000000000000000000000000000000000000000000000815273f5d3ec68826e4774d214c6a515f85bebc7c0787490638b8365969061180090600190869086906004016144f0565b73ffffffffffffffffffffffffffffffffffffffff166000908152600a602052604090205490565b6040517ff9fa74e600000000000000000000000000000000000000000000000000000000815260009060609073a9abc45a98ac6f5bd44944babb425ef480abd3fe9063f9fa74e6906125d2906001907f6eb62ababf4da0f65013bf6c6df74fa46ecbd0a164b398cb17b05350d84e2537908c908c908c908c908c90600401614802565b60006040518083038186803b1580156125ea57600080fd5b505af41580156125fe573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526126449190810190613974565b909890975095505050505050565b33301480612685575060015473ffffffffffffffffffffffffffffffffffffffff1633148015612685575060045460ff16155b6126bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b6126c56001612aa0565b6040517fe522f168000000000000000000000000000000000000000000000000000000008152735f0594d3e3e279d63bb73de95578b0f4b59e80d49063e522f1689061150d906001908590600401614a80565b7ff23a6e610000000000000000000000000000000000000000000000000000000095945050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000dd2a08a1c1a28c1a571e098914ca10f2877d9c97161480156127c257506001547f000000000000000000000000dd2a08a1c1a28c1a571e098914ca10f2877d9c9773ffffffffffffffffffffffffffffffffffffffff9081169116145b6127f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a4906143df565b73ffffffffffffffffffffffffffffffffffffffff8116612845576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614416565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6040517f686d7c3700000000000000000000000000000000000000000000000000000000815273c369c7f2d7dd35023a74c6ffe09affcb09e505839063686d7c37906128dd906001906004016141e5565b60006040518083038186803b1580156128f557600080fd5b505af4158015612909573d6000803e3d6000fd5b50505050565b33301480612942575060015473ffffffffffffffffffffffffffffffffffffffff1633148015612942575060045460ff16155b612978576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614382565b6129826001612aa0565b6040517f3b39d10d00000000000000000000000000000000000000000000000000000000815273a9abc45a98ac6f5bd44944babb425ef480abd3fe90633b39d10d906129fd906001907f000000000000000000000000b124190942976431d8181fbe183e44584253da6890899089908990899060040161490d565b60006040518083038186803b158015612a1557600080fd5b505af415801561238f573d6000803e3d6000fd5b6000804690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836000015180519060200120846020015180519060200120838660400151604051602001612a829594939291906141ee565b60405160208183030381529060405280519060200120915050919050565b600681015473ffffffffffffffffffffffffffffffffffffffff1615801590612af85750600681015467ffffffffffffffff78010000000000000000000000000000000000000000000000009091041662278d000142115b15612b475760068101805477ffffffffffffffffffffffffffffffffffffffffffffffff1678010000000000000000000000000000000000000000000000004267ffffffffffffffff16021790555b50565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600983016020526040812054801580159061099e57504210159392505050565b73ffffffffffffffffffffffffffffffffffffffff8216612be45763ffffffff811615612bdf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a4906142b7565b612c27565b62278d008163ffffffff161015612c27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a4906142b7565b73ffffffffffffffffffffffffffffffffffffffff8216301415612c77576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a490614280565b6006909201805467ffffffffffffffff421678010000000000000000000000000000000000000000000000000277ffffffffffffffffffffffffffffffffffffffffffffffff63ffffffff90951674010000000000000000000000000000000000000000027fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff73ffffffffffffffffffffffffffffffffffffffff9095167fffffffffffffffffffffffff000000000000000000000000000000000000000090931692909217939093161792909216179055565b6fffffffffffffffffffffffffffffffff821115612d95576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a49061444d565b6fffffffffffffffffffffffffffffffff821415612db257600091505b6000612dbd84612f01565b9050828110158015612dce57508215155b80612dd7575080155b15612de157600091505b60078401612dee82612f96565b81547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178155612e3384612f96565b81546fffffffffffffffffffffffffffffffff918216700100000000000000000000000000000000029116178155612e6a83613005565b60018201805477ffffffffffffffffffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000067ffffffffffffffff938416810291909117918290556040517ff4109b774ae6f56e72fe6cb9396e75bc9017595ac0797f852334dbd0db2fa5b693612ef29330938a9391049091169061407d565b60405180910390a15050505050565b6040805160a08101825260078301546fffffffffffffffffffffffffffffffff8082168352700100000000000000000000000000000000918290048116602084015260088501549081169383019390935267ffffffffffffffff9083048116606083015278010000000000000000000000000000000000000000000000009092049091166080820152600090610ad190613068565b60007001000000000000000000000000000000008210613001576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180614c266027913960400191505060405180910390fd5b5090565b6000680100000000000000008210613001576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180614c4d6026913960400191505060405180910390fd5b600042826080015167ffffffffffffffff16111561308757815161308d565b81602001515b6fffffffffffffffffffffffffffffffff1692915050565b8035610ad481614bc7565b60008083601f8401126130c1578182fd5b50813567ffffffffffffffff8111156130d8578182fd5b60208301915083602080830285010111156130f257600080fd5b9250929050565b600082601f830112613109578081fd5b8135602061311e61311983614ad7565b614ab3565b828152818101908583018385028701840188101561313a578586fd5b855b858110156131585781358452928401929084019060010161313c565b5090979650505050505050565b8035610ad481614be9565b60008083601f840112613181578182fd5b50813567ffffffffffffffff811115613198578182fd5b6020830191508360208285010111156130f257600080fd5b600082601f8301126131c0578081fd5b81356131ce61311982614af5565b8181528460208386010111156131e2578283fd5b816020850160208301379081016020019190915292915050565b600082601f83011261320c578081fd5b815161321a61311982614af5565b81815284602083860101111561322e578283fd5b61099e826020830160208701614b9b565b600060808284031215613250578081fd5b50919050565b600060208284031215613267578081fd5b8135610e6d81614bc7565b600080600080600060a08688031215613289578081fd5b853561329481614bc7565b945060208601356132a481614bc7565b9350604086013567ffffffffffffffff808211156132c0578283fd5b6132cc89838a016130f9565b945060608801359150808211156132e1578283fd5b6132ed89838a016130f9565b93506080880135915080821115613302578283fd5b5061330f888289016131b0565b9150509295509295909350565b60008060008060808587031215613331578182fd5b843561333c81614bc7565b9350602085013561334c81614bc7565b925060408501359150606085013561336381614be9565b939692955090935050565b60008060008060008060a08789031215613386578384fd5b863561339181614bc7565b955060208701356133a181614bc7565b945060408701359350606087013567ffffffffffffffff8111156133c3578182fd5b6133cf89828a01613170565b90945092505060808701356133e381614be9565b809150509295509295509295565b60008060008060808587031215613406578182fd5b843561341181614bc7565b9350602085013561342181614bc7565b925060408501359150606085013567ffffffffffffffff811115613443578182fd5b61344f878288016131b0565b91505092959194509250565b600080600080600080600060c0888a031215613475578485fd5b873561348081614bc7565b9650602088013561349081614bc7565b95506040880135945060608801359350608088013567ffffffffffffffff8111156134b9578182fd5b6134c58a828b01613170565b90945092505060a08801356134d981614be9565b8091505092959891949750929550565b600080600080600060a08688031215613500578283fd5b853561350b81614bc7565b9450602086013561351b81614bc7565b93506040860135925060608601359150608086013567ffffffffffffffff811115613544578182fd5b61330f888289016131b0565b60008060008060008060008060e0898b03121561356b578182fd5b883561357681614bc7565b9750602089013567ffffffffffffffff811115613591578283fd5b61359d8b828c016130b0565b9098509650506040890135945060608901356135b881614bc7565b935060808901356135c881614bc7565b925060a08901356135d881614bc7565b8092505060c089013590509295985092959890939650565b60008060408385031215613602578182fd5b823561360d81614bc7565b9150602083013561361d81614be9565b809150509250929050565b60008060008060008060008060008060006101408c8e031215613649578485fd5b6136528c6130a5565b9a5060208c0135995061366760408d016130a5565b985060608c0135975060808c0135965060a08c0135955061368a60c08d016130a5565b945061369860e08d01613165565b935067ffffffffffffffff806101008e013511156136b4578384fd5b6136c58e6101008f01358f01613170565b90945092506101208d01358110156136db578182fd5b506136ed8d6101208e01358e016131b0565b90509295989b509295989b9093969950565b600080600080600060808688031215613716578283fd5b853561372181614bc7565b945060208601359350604086013567ffffffffffffffff811115613743578384fd5b61374f88828901613170565b909450925050606086013561376381614be9565b809150509295509295909350565b60008060408385031215613783578182fd5b823561378e81614bc7565b9150602083013563ffffffff8116811461361d578182fd5b600080602083850312156137b8578182fd5b823567ffffffffffffffff8111156137ce578283fd5b6137da858286016130b0565b90969095509350505050565b600060208083850312156137f8578182fd5b825167ffffffffffffffff8082111561380f578384fd5b818501915085601f830112613822578384fd5b815161383061311982614ad7565b818152848101908486016060808502870188018b101561384e578889fd5b8896505b848710156138d05780828c031215613868578889fd5b60408051828101818110898211171561387d57fe5b8252835161388a81614bc7565b8152838a015160ff8116811461389e578b8cfd5b818b01528382015188811681146138b3578b8cfd5b918101919091528452600196909601959287019290810190613852565b50909998505050505050505050565b6000602082840312156138f0578081fd5b8135610e6d81614be9565b60006020828403121561390c578081fd5b8151610e6d81614be9565b600060208284031215613928578081fd5b5051919050565b60008060408385031215613941578182fd5b82359150602083013567ffffffffffffffff81111561395e578182fd5b61396a858286016131b0565b9150509250929050565b60008060408385031215613986578182fd5b82519150602083015167ffffffffffffffff8111156139a3578182fd5b61396a858286016131fc565b6000602082840312156139c0578081fd5b8135610e6d81614bf7565b6000602082840312156139dc578081fd5b8151610e6d81614bf7565b6000602082840312156139f8578081fd5b815167ffffffffffffffff811115613a0e578182fd5b61099e848285016131fc565b600060208284031215613a2b578081fd5b813567ffffffffffffffff811115613a41578182fd5b61099e8482850161323f565b60008060408385031215613a5f578182fd5b823567ffffffffffffffff811115613a75578283fd5b613a818582860161323f565b925050602083013561361d81614bc7565b60008060008060808587031215613aa7578182fd5b843567ffffffffffffffff811115613abd578283fd5b613ac98782880161323f565b9450506020850135613ada81614bc7565b92506040850135613aea81614bc7565b9396929550929360600135925050565b60008060008060008060a08789031215613b12578384fd5b863567ffffffffffffffff80821115613b29578586fd5b613b358a838b0161323f565b975060208901359150613b4782614bc7565b909550604088013590613b5982614bc7565b9094506060880135935060808801359080821115613b75578384fd5b50613b8289828a01613170565b979a9699509497509295939492505050565b600080600080600080600060c0888a031215613bae578081fd5b873567ffffffffffffffff80821115613bc5578283fd5b613bd18b838c0161323f565b985060208a01359150613be382614bc7565b909650604089013590613bf582614bc7565b909550606089013594506080890135935060a08901359080821115613c18578283fd5b50613c258a828b01613170565b989b979a50959850939692959293505050565b60008060008060608587031215613c4d578182fd5b843567ffffffffffffffff80821115613c64578384fd5b613c708883890161323f565b955060208701359150613c8282614bc7565b90935060408601359080821115613c97578384fd5b50613ca4878288016130b0565b95989497509550505050565b600080600080600060808688031215613cc7578283fd5b853567ffffffffffffffff80821115613cde578485fd5b613cea89838a0161323f565b965060208801359150613cfc82614bc7565b9094506040870135935060608701359080821115613d18578283fd5b50613d2588828901613170565b969995985093965092949392505050565b600080600060408486031215613d4a578081fd5b833567ffffffffffffffff80821115613d61578283fd5b613d6d8783880161323f565b94506020860135915080821115613d82578283fd5b50613d8f868287016130b0565b9497909650939450505050565b60008060408385031215613dae578182fd5b823567ffffffffffffffff811115613dc4578283fd5b613dd08582860161323f565b95602094909401359450505050565b600060208284031215613df0578081fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff169052565b60008284526020808501945082825b85811015613e5b578135613e3381614bc7565b73ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101613e20565b509495945050505050565b818352602080840193600091908185020181018584845b87811015613f0257828403895281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1883603018112613ebb578687fd5b8701803567ffffffffffffffff811115613ed3578788fd5b803603891315613ee1578788fd5b613eee8682898501613f15565b9a87019a9550505090840190600101613e7d565b5091979650505050505050565b15159052565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b60008151808452613f75816020860160208601614b9b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000613fb38283614b35565b60808552613fc5608086018284613e11565b915050613fd56020840184614b35565b8583036020870152613fe8838284613e66565b9250505060408301356040850152606083013561400481614bc7565b73ffffffffffffffffffffffffffffffffffffffff81166060860152508091505092915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff939093168352602083019190915267ffffffffffffffff16604082015260600190565b73ffffffffffffffffffffffffffffffffffffffff988916815267ffffffffffffffff978816602080830191909152604080830198909852951515606080830191909152949098166080808a019190915263ffffffff9390931660a089015290861660c088015280516fffffffffffffffffffffffffffffffff90811660e08901529381015184166101008801529384015190921661012086015282015183166101408501520151166101608201526101800190565b602080825282518282018190526000919060409081850190868401855b82811015613f02578151805173ffffffffffffffffffffffffffffffffffffffff1685528681015160ff168786015285015167ffffffffffffffff168585015260609093019290850190600101614188565b901515815260200190565b90815260200190565b94855260208501939093526040840191909152606083015273ffffffffffffffffffffffffffffffffffffffff16608082015260a00190565b60008382526040602083015261099e6040830184613f5d565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610e6d6020830184613f5d565b6020808252600c908201527f494e56414c49445f415247530000000000000000000000000000000000000000604082015260600190565b60208082526016908201527f494e56414c49445f57414954494e475f504552494f4400000000000000000000604082015260600190565b60208082526013908201527f494e495449414c495a45445f414c524541445900000000000000000000000000604082015260600190565b60208082526025908201527f444953414c4c4f5745445f4f4e5f494d504c454d454e544154494f4e5f434f4e60408201527f5452414354000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4e4f545f46524f4d5f57414c4c45545f4f525f4f574e45525f4f525f57414c4c60408201527f45545f4c4f434b45440000000000000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4e4f545f414c4c4f5745445f544f5f5345545f4f574e45520000000000000000604082015260600190565b6020808252600d908201527f494e56414c49445f4f574e455200000000000000000000000000000000000000604082015260600190565b6020808252600d908201527f494e56414c49445f56414c554500000000000000000000000000000000000000604082015260600190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b92835273ffffffffffffffffffffffffffffffffffffffff9190911660208301521515604082015260600190565b600084825260406020830152611030604083018486613e11565b600084825260406020830152611030604083018486613e66565b600085825284602083015273ffffffffffffffffffffffffffffffffffffffff8416604083015260806060830152614546608083018451613df7565b602083015160a0830152604083015161456260c0840182613df7565b50606083015160e08301526080830151610100818185015260a08501519150610120828186015260c0860151925061014061459f81870185613df7565b60e087015193506145b4610160870185613f0f565b82870151935080610180870152506145d06101c0860184613f5d565b9250808601519150507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80848303016101a0850152611ae98282613f5d565b6000848252836020830152606060408301526110306060830184613fa7565b60008582528460208301526080604083015261464c6080830185613fa7565b905073ffffffffffffffffffffffffffffffffffffffff8316606083015295945050505050565b600087825286602083015260c0604083015261469260c0830187613fa7565b73ffffffffffffffffffffffffffffffffffffffff958616606084015293909416608082015260a00152949350505050565b600089825288602083015260e060408301526146e360e0830189613fa7565b73ffffffffffffffffffffffffffffffffffffffff88811660608501528716608084015260a0830186905282810360c0840152614721818587613f15565b9b9a5050505050505050505050565b60006101008b83528a60208401528060408401526147508184018b613fa7565b905073ffffffffffffffffffffffffffffffffffffffff808a1660608501528089166080850152508660a08401528560c084015282810360e0840152614797818587613f15565b9c9b505050505050505050505050565b600087825286602083015260a060408301526147c660a0830187613fa7565b73ffffffffffffffffffffffffffffffffffffffff8616606084015282810360808401526147f5818587613e11565b9998505050505050505050565b600088825287602083015260c0604083015261482160c0830188613fa7565b73ffffffffffffffffffffffffffffffffffffffff8716606084015285608084015282810360a0840152614856818587613f15565b9a9950505050505050505050565b6000868252856020830152608060408301526148836080830186613fa7565b8281036060840152611ae9818587613e11565b6000858252846020830152608060408301526148b56080830185613fa7565b905082606083015295945050505050565b60008582527fffffffff0000000000000000000000000000000000000000000000000000000085166020830152836040830152608060608301526111a66080830184613f5d565b95865273ffffffffffffffffffffffffffffffffffffffff94851660208701529284166040860152921660608401526080830191909152151560a082015260c00190565b600089825273ffffffffffffffffffffffffffffffffffffffff808a166020840152808916604084015280881660608401525085608083015260e060a083015261499f60e083018587613f15565b905082151560c08301529998505050505050505050565b60006101008b835273ffffffffffffffffffffffffffffffffffffffff808c166020850152808b166040850152808a166060850152508760808401528660a08401528060c0840152614a0b8184018688613f15565b91505082151560e08301529a9950505050505050505050565b600088825273ffffffffffffffffffffffffffffffffffffffff808916602084015280881660408401525085606083015260c06080830152614a6a60c083018587613f15565b905082151560a083015298975050505050505050565b918252602082015260400190565b9182521515602082015260400190565b67ffffffffffffffff91909116815260200190565b60405181810167ffffffffffffffff81118282101715614acf57fe5b604052919050565b600067ffffffffffffffff821115614aeb57fe5b5060209081020190565b600067ffffffffffffffff821115614b0957fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614b69578283fd5b830160208101925035905067ffffffffffffffff811115614b8957600080fd5b6020810236038313156130f257600080fd5b60005b83811015614bb6578181015183820152602001614b9e565b838111156129095750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612b4757600080fd5b8015158114612b4757600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081168114612b4757600080fdfe53616665436173743a2076616c756520646f65736e27742066697420696e20313238206269747353616665436173743a2076616c756520646f65736e27742066697420696e2036342062697473a26469706673582212202ca99f5e7e4d1b0a6eb705ed669ff26c31649dc87a12623ed9419436363c4f2264736f6c6343000706003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635501000000000000000000000000000000000000000005581d02136a871545963282b1f1ea02b5084c73b768830597e571b68abdcde80701194ca803941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581d025ab3f3aab0335b437d0671db59689562d0faed316bf214088b54a16107011bffffffffffffffff02198160033ff7896de5cad43c32ce9e32dff33135e7a5ca10c1ccb3828b02144852ce915e03a717ee8eb5d6fc488c427a09a8ca9bcd076d4544b6c799ee64e9c98ba607e344036f5073a26ba5391f85cbd70c9a7e31028666ca58ada56d39a0bf13d6fde8e78505581e030a36f34670157d2b284a46a662f7362b4a6be5bcd3c67a61739cd33a600c01470198dc1299e40805581e0336c3f4dc2fc2faadee6d47dabdb5ef609edbbc7f06b5ab247480cebc400c02465f7f37b39000021975dd039a946a5320256c3b33d0cbd7348bd5805d5d405b7acd00f1ba1ced78d276d5d003317525f1aa1490527d42b27895cd7b4ffb3093a3e0d77e7f051afcb7d72fe9eb03e67725dfde52218152802085809d146aa2fba20871a7a7306dcd5ccafad8fdca036a5212a9a20c15c43b4792381c11f7d915ae0890ad3ab694721c17a0d52c6d05037e37cfb3e84b547a2794d2122c292b53dcd5d2712786431ff5dfe44a417d22ef03f4354808ad7bbf8e43817b9454767d1a83f8b152bdf855c93fa02790ad407cb403619d226c6fc8785a2dd0a0ab4a4a8d61070b3cea0d9ea04f887621320dda2ae50219ffff0379781cf337c2d77d6af73ef2befa5b995a002edba62149dcfa3122d695d9ed8e037651929513e5c455f54aad7b0edb0413f513c362adeb4ece6b33c3e9b68f3a5703e660d58ebbd9b957d9b8feb681769939b901c21a0e009bf56b1505c722db537a03c84937475cbff53796501c7445485f0aa4003055975b14a6a97aba72d8827c0f03a9eb743d13c623f91af57e40b8725019bf386df727f9ded5a465e7f37e970fcc039d806d85a91085fa5e0ca8873b73f5d18c4ed53909e746f65d574cc3d41e2dc9033586e88163ec47d337f456865c1909b0f2e01e6eb366547615d3ba2c2978cf930219ffff035e105fd36367d71d54e762109f034f6fc015e107235b7a24229a742f9cb915660383ac185b2b22517b8c9cd89af5757f302b8cba2951bb748c3ac805dd7349a4810219ffff03897770f0d330bda5077a35610de52f45035c0316a4e53e8987c1857d9c7a6a67033abf6cd6917727f021d35ee69f0636c68abc3d6115dacc23b075ddcc57702a590328a46a5e64204de7c508448f659a646df5dff215449218517d9b9c880e404ac0036de345ad60f4de85ce116e0abbe5a02aa9d30e8d0ab5741131243e687bda723d039a4d1bd53e58257db9d378a30dea762ce95e8ca3ac2e40ed9a7c732c9c9c5f0b03aaf1cfa60a406313d8e711ffa245b7cf801c12c70e5502cde1553ab51c5171ea03ef4f00ec07109b1588df58a4ef68330717368d916ecac78f4b075a3531e55844039ff785ad7659aba98648054250e0552cf135a9681034447b949e10102e10f63703bbea89d9fade60900097e9ea69fee6b1243c7cd2998e07966834d6d6f5e5b188037ba9fe87a89698b184a6d428426368589f1eb38e3eb209945c118e4c00e2de4803926893b0365d9e66f704495c9ced0d2d6942cf45b826186269f24025a1cacabb037c36f6267c82419594fe64f73ba009a85ef7d8235fdbdf628bcfad00d2d9d3ed03a6eb59974be0ea862919b8fa01c0ef08c97995737886865df071ad5f3483c40703347e9cbca93bd90366593005092add257b41440f9f47dad9ab5652222ec07f150314dcddd1a183d191ad991d28007a3ef7a18e7f958fc1785ae47022ac19990fd2031fccc5d3821bafadda33ed4c1211e2fefc2f4bc5a4d69eac00dfa25eea58c1cd0319acc035d11038d09c0120c3bf714708f071060b00a03b4b49b7f3a2d16e96fc0310b80b7e5fa13491483ad971c55d5db4f29f48927a95d017b6a89fa2bd7d8dc50339dfa1df77e877cc82ecf0d6779e2ac2f801126fab11a6cdd6d049c313af48c6036f5e5cd7254355054e96cbd6eb7048149c9288d1724b69908f026a6e70ab83d503922a4e6715d1ba3c1b2f8687e0fd913b23e0b468b1e043dc1be8da6331915bfe0309137ca98d51f68e83228f72218eda8319ab22b82adacdbb29e11ddd26cd635505581e03f6f436b477a171f84c25ef87301885f7c4725c94c8a6913185af1e2d10040405581e03095efbd0dfe3f0d43d04f752fb412408d0f044af9cff55302d238411400c01471fff7479a25000032834d6456fd2151d66a34f8da50149e60ccc3f92f3c23a7ae069cedc465de23505581e038020cb1e1fe5df534641139186463522a9e152bfc353d8f06555779f300404037dcadfad12d0a4869198f4306c56f3a66ff70b6b381cc302a685ca1c208d614705581d03cdf2580abc9cd82e5d9e17e4cde39065b685d4d034c02b0bf281f4200c02470f5464847749ad05581d034ea88473b1b84fc4e438e3db19adcec0a229ef9a3b2b2bfa6da78ac00c03480b19e3871a53b2c905581d03bcc711a6e512fb9ea0f8a1985dd14f9219900ea7421e29f597700fa004010219908001410003aa11d3830d77261d92af2d93cff2be709d6bda88a01717ee9bb867f52004492703384f9aff0d4764eb7cf74a58ab25049e1c9b732fb81e984f91195eeedb63246305581e0364402a972a1a67e730db67867520f170035f45a7aafb71836420281f200c01470b71a903bdcf800392ee032a4d152ef7272e2aee3f78df27e49eeb5b8822144a924eea8c1e0ba66a03317df66b55a598ae9456d58eef027fc894822c835f3750d88c58d8c1e70379d305581e0396530ef797bf603f833fc71df1b5dbe5d2e0334af2ab25063a6a203ee0040402196fbb03d82f27827d12e07a9a1a1a3d6ddb279ad99f7807248c68fef02c52a40be821e303b44d922ba90fcd3a6f9595f5eebf4ad89e02ac8398ad6f25f2db8a8202abdabd03e5675691abfeafbaae25d213553b014251b95592798c0a8f7eb6268550d5eeb303f8e2521a133e94304759f26b344c3ee9293da6790bcffd6aa5a295944c2368e903d01391baadc7dffdbe8a3c494fb3a8b861680db5c64a002aa0fb5e1750fb5ed2031e9f1835ae87c1fddeee45ad304e3f5c7ac63b360dd3ed3ad796b8daaf4b616603df238862b96aa42c4676905cde13b9eb34ea0edf145effaabc1898dfe755d403037f31d26ae37230558993df70616e5758d06372e687ae4e8286521d0db372d45203460cb9988dc12ae2ff9feb231e7e3b97459fe8b9f52bf722e8b458276263135103f40e14ea65145872cea675e4243393de1f7d017e47051c50c8f9a6028da4484b030697aa469870443ac8a488c5043ad30592afef054d900a73afc0f5fe1079021403be101b980dd86472154d674066960e0ce9c85549597850b0a671bbf08c9287c8035e8e7fdb85d798bd8609d84d3ec7664f0c4f6b8e5be2677793945d40cb4857710388e5eb2c60500baad1e67e747364445ee9bf26317c5497fdf19e5bd77d9b6b110310cb3f92cfe8d11fff4d5b1ff5849a8707d5ebf124f5f0eece26412045a73d500219ffff032c378167ebdc98fe8c4152003145c49160faa643c559d858ca8df514957eb15a031894265b20ce687cae9576264c10766b408b369c39b983c0f324c38f7e21e07f03aff25ef502a0d7d55f024d6aa151947edbae1546bd8f66af7f5c89cda19373700219ffff03e5985c4464b6153969b30ebc6de513fd9f23e6ea2a65c8bdcff6d59054a7b65a0355c1051949de4447b3de62350b2fb49e6b09c0e9fc6ac2d55557a8e95c1dc631036ac7583515f63a9b6e7c9c90e668a407ea958df0cf2d0b275e555d955e47e45d03d0134b325f7ea2746a60bb4ef6ac379e347e8c52c296bb50f771f6237465ea160378c901498b972c7b1f310f6c0298e7d7c5b20db0a26b370d0faf9fdafa1b623e038000c7327a2cdc79eeb8a677c4f3821831b28b96ee88715ccdedc6c01a9511d003dd9b20ab331e9bab3e4cc18ce77a3a33b3a6faa52a3b85389c19ca4d41f8209e0219ffff0353f95d8e0243cdd084306e111e3009c45178ee799ef63c1823014a6bda3edada03b275403413fd443901fc3eb29fd27851a8d31eec4d9d04538afc7534a033ab95034452f00df2ed5229bc1e80fa102f11651eac5920f1ca80d2922ee1961f2c3bba03928ac9172ab9489a83d72d8b6a191615604e2120cd0737b33c40bdbd5edfb45e03f0dd20b4f57b550dd24d3ffa00fbd67a3aba8d23f9982ed53e733011a94aabab033c497aee30dc666ca79d3af510d4441f0c64127274d4b27a43c9d60de2469bda03dca19dcdbb1d5d0afee60543873dc9a8b2c86dcf873bdde10dfa3240a865a7b20219ffff03773c2b37e8f318ba321f16e8576742fa5ae90be1d632fa7b8dc5162ebf0ee7c90219ffff030e380bfc39ba32b69b3b3ef9b5f76c8780fe25c5d04a63730ceb4a7e001489f903a1c884dcb4dfbc958811598ad4fd2bef9d49a4eb4ec4ae738fc6d8bb77df55cf0375661223c7ecc899c78fad83213cd11fdd962a6d39ca2caeded895f0946fd84803620da52a570803fb8ac60e5f1ce8ca32abb68041e6460155f218f7c47f36f69403d0455bd3e93a0bb8ac63ac7628595a1316b45f0452ee022a3f795f0ad4fe02a303c9df57c1b0d48cc1f954025b7fc435ea63445618cd9a7ed7075dc3bcea5c0f3203c741c96e0872412a593f2acf33db607b0c0fb915b1ab5a20dbd6031deb44d23403e4189434b850fdb7539c37f729d5a967ff1be8499ea70086f4cccd856eaa4b11031b21e0c28128b08d877721bddece9563961dfe92300fa142463abd26b75f7a88032cc1c681e9f1099195895804cf3ae135b921615a9f7fa1d13c749c7f7a24d77703e879b98f066c15ee462850d57bfa010d8050d1b0b64635ad862f466dd3819a3b03424a75c8ccea159cd980645832ca8bddfa2a66e1481440aa3ff10491111ca4f503a302e381bb0ee93837a25b459345a71d63c8bd0fd860c385f04e2385997e9f53036b32083ec9b6f80adf9405c0554c420cfa1990c69a41e6ce18cd01f64b89e79a03253c1d98a99b509f8ca1548b149e609b0b65eef93fb4377b3515ec979c2e4dd4037abcf7008bd62bfa1ec0ba8867f85875b9ca8b3a415288be915de25ecc4f2e2e03946ad758becb1e1527117f4478fa83b4b0640448eb6120b9ee160d59414a5899035d213374949717a08805859570e95d5c265fe0c5005ae7db2245790edd92d91803a285debdeaaeb2a0a0dbe542cd8a31d1b8721505a48917894bd5b0594642506b03438fbb610398ae44b74407aa6de7eec75d10b3cdb0635ff6fd9e95e7933b580403850462f3094bbc38a8c6ec28412ac8ec57426554f83d642fa0b13c0eb0d2be7503af726842ab9c9bcb7c324101c00485c2d885dfed245f90eb8b91517644e8fa4c0372abe8acf48e24d321202ee44b78a82286cff3000636f79f62e6b06400f40d1303cb53f81f32339cd107b1fc013ac20a6b0a7d6b6e58c1fb7c4bf17fa3e14447c903d43f3e855a753650e0f6ad44f8e12fbf45a90d6caa8872de09ab48b5d970488d0305ee1b1edadd8aae74f977603861e0e2f6456a62899d1d0ff32a5cf9c2c83117035c3ff439c68d33417467e9408d472f96c9a647fc734963027492ab0c62f79c8403e83e1394a1492ac18ca6db95c5d6f61575597d732ea9722ec25d3def2faec79103af1b84818bbede0facdded858780574a812bfe3c308ef4e76ea74a41a6d5c38e03da4c3328844969ee82c5ba8999d57d0c1f9c9502aa2e0bc3a43261c4ea8bf3bb0343533b6919b6023a51d41693795bb64bceb5b8f1dfb81d541cce400aefce91d405581e03e6b47f686fb7caabff9f6af36de65469bed64d7bffc3583fdd156cb1f0040403f5325787c7cac31bd1864163f36391ad720cb11eba8697f9c6046ac13acbd9e003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0345e5e9c3f00a7bcc9481ef3822b21143803b5a5eddf239a05ad0dd539007011bffffffffffffffff030c421d6313356e368dfdea2a407a6145f11ce2357fab3f92aea9222db709d5cb05581e03aed75575b12580a12965c60e012f27b085e1f10bd56c98f8f09cd3a7900c0346955b9efd702005581e03a680238b1ad473582768840717abd8bce10a21ec8c80a5cda40b9b16c00c01472932dcef3a176805581e0364c4ac0434cb0354d5591dd888063be501a0fb7f753ef01ebd02097820040205581e03582547a09b0b683fa72dabeb2dd67ca13cdee87dd0f420fa8169f7b3e004020350a6ef5cd00a45e5eaca9c1912de76434cbebb32daf397f0aa6c30041e99a7360393af133aae5836effb11e7d036d81f1c48bf757b0ec536e6e4ae5d137e920439045907c0608060405234801561000f575f80fd5b5060043610610055575f3560e01c806352efea6e146100595780636ac5db191461006357806370a082311461006d578063a85533731461009d578063d4d805cc146100b9575b5f80fd5b6100616100d5565b005b61006b610167565b005b61008760048036038101906100829190610507565b6101fe565b604051610094919061054a565b60405180910390f35b6100b760048036038101906100b291906106b3565b6102c2565b005b6100d360048036038101906100ce9190610507565b6103c9565b005b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461012b575f80fd5b5f601481819054906101000a900461ffff168092919061014a90610734565b91906101000a81548161ffff021916908361ffff16021790555050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101bd575f80fd5b6001805f8060149054906101000a900461ffff1661ffff1661ffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550565b5f60025f8060149054906101000a900461ffff1661ffff1661ffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806102ab575060015f8060149054906101000a900461ffff1661ffff1661ffff1681526020019081526020015f205f9054906101000a900460ff165b156102b957606390506102bd565b5f90505b919050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610318575f80fd5b5f5b81518110156103c557600160025f8060149054906101000a900461ffff1661ffff1661ffff1681526020019081526020015f205f8484815181106103615761036061075d565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061031a565b5050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461041f575f80fd5b5f60025f8060149054906101000a900461ffff1661ffff1661ffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104d6826104ad565b9050919050565b6104e6816104cc565b81146104f0575f80fd5b50565b5f81359050610501816104dd565b92915050565b5f6020828403121561051c5761051b6104a5565b5b5f610529848285016104f3565b91505092915050565b5f819050919050565b61054481610532565b82525050565b5f60208201905061055d5f83018461053b565b92915050565b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6105ad82610567565b810181811067ffffffffffffffff821117156105cc576105cb610577565b5b80604052505050565b5f6105de61049c565b90506105ea82826105a4565b919050565b5f67ffffffffffffffff82111561060957610608610577565b5b602082029050602081019050919050565b5f80fd5b5f61063061062b846105ef565b6105d5565b905080838252602082019050602084028301858111156106535761065261061a565b5b835b8181101561067c578061066888826104f3565b845260208401935050602081019050610655565b5050509392505050565b5f82601f83011261069a57610699610563565b5b81356106aa84826020860161061e565b91505092915050565b5f602082840312156106c8576106c76104a5565b5b5f82013567ffffffffffffffff8111156106e5576106e46104a9565b5b6106f184828501610686565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61ffff82169050919050565b5f61073e82610727565b915061ffff8203610752576107516106fa565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220291cf8c6cb50adf82cdbc3b399e29aa5e1d30e2e2d163d31800625817ece695564736f6c634300081800330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305463c288a6cddb7917a62b0db4cd0b8d819538a7e90058210331d04ee38f91acb4130e86a4133bb11fa1bdec054049fc7618667fe055d8e7e0410100582103fe3156d3d33edcf29f69f314fdd9a9048f5c52ac57ccbce866438174f0e347804101005821033a2347f62698f27ab357a9f988b3d4922a42f03f5ea71abe8d703fee224b5fc041010058210342d5afa86864c1ff6ad0f36b8185aba80ee408723d6683ed62fe0960b4c557e0410100582103c026bba3fef62d86aaef67681d6debeed7d4122c52844970431c5370f8ee021041010219343405581d02567aa06e35c8523d7b0b9c08f09036c1455ec368677590e1de0193c107011907c005581d02c13d4632a21e89dd4ea2408182fe92e52c81f638528ca72ea0520bad0c0647430268a7d812cf0219088005581e0320417f76e1f508a45fc7e46c4279b153dbe44b1dfc8ac4f05454e3e00004010219dd9f034aa10e53082735cdfb9a9dd077b0d88b5a6d5a444f7e3a1d4c7e226cfe733f3a03e7cdc4fa9cc7559ba246321613c86d9ec867fbee270fad393ba4f77e470df34903bc6d650ca08451b9b9a0f62661343a094463271938420b12729907c6d45541b603b96feeeab1f95cb37c5024399460af479492a7f702515dc9572e3103cbc96da60361b979b53897f0328cf7751dd0b20fa8d35c1da0f9fabae2b300908204d5643603423f79cbfb8d7186268812c02ab21459f0d5b128b32d48bd1e3bf30730677c9d03a770b81ed3aeea16bb145413c2f1f55e553ea932d33c8ce64dd869c867e89ceb039b24e980fc044a39a553bd876ebc82be252d3ea8884019bec840a7e0bdac5bef0347b62304544d07eca98acc41ffcccd0adc7df50be24b8fff61affaf54d1890af0219ffff039793b9d1f5c661b7ed48df0aa3992cfc2ac7876b54211abfa36d106bf3d61d8f03c37fa1210727d86b4fdb0f6685d8d9d8b1cbbd701df0f5c2c684f4c4e284be1203004dce2d291c69c60adfd3afecfa164729f1a66b6fd03a8a2d8131cb5b52ecd003bb209d15348cb78ca522d8ddd8196f578ba17499358e24ad6c1241f2f493870d03e839b5490af6d351ad6da8bf319e1db71e8334680cd98a2f69290e22c06176f203e9367ed7227b509b88d1ff9c13e93229cf5679a624c7e5e9e1813c6fdaaa7b1d03f5909368eae43a9ee5efa0c722835d6a295cf4c577175bbda6730b8fa74729c7036b29b396c198b8a8671f73a9763725678db2b050f6d46df92ef2ea2c778adbc1038dc890ab6f659bd63afa304cec85a9127918e9a0c2b041032828ced6aa80659503b83a392cc73b8d1a0768167292e5fa617f81e9e3c9110ee6106c4abb9c12b4a803e0f5dd3d5b93a9c4a5462f9169fb0c01a2452b80444894dc232af68b662ad1c203d90acccd7d8f896260e70033af5f56e9619a99f4868b0266666294ef98fa31c2034ab1c4a474bc23849ce69774adac3527bef647af8d2884277c4fcf1c7fc53b7a0219ffff03522cc87ba257bbbb061ecf7d9bd937818aefd807834db11d70eaaaa73ef01d0803122d8cb96f38edb40ec0cdcbab334e0862e932453be75af6d680c5bca049ac220320c31b12ad74cd0b64725c8b9ce647585b9f59372c204bf79b4c5fce64f9a3c70219ffff03fab57dac01d391d2b62d6fb5f7e47f87ab9cd5eb04924be67b20c58816829000033fb32cd23f6029856a3e917a0eda4ca1700a901949c176b28d1817bf2c20a69103a32dde1b5ed841bf3eabee313f61eacfc98c1d8b915a1e1ecfdf08d115c0a8390339a9c00fe74bf4a7b9491e3a561ffffb6aa45ef7c2fb710e3b136fe0109ae99e0219ffff03749fa2b5c27be078b9fc669052f2740bd61bafc1ca7508b188f1b13fcc1be90d03cdacf4e63ffb993cdc704b52610c8c6006892e41ef2ab961f87bc4bd7189bd3a03f7c2fb9b9ed2313613324d2c82d2586699eb6479c1b41d3f6f8346fc74989ff203347c58b4ced50f36e0b860123bd4472401386baeddb27400943b73c7910a6d3103f52978c9b5e5bd6023e1691acb12e20bde9992d527f30fac3387173b3a1287c403f18945ca9d3966d36e4596a239f963ccd740342fcf55c55efbcd9c0ca74db00003130292fdf9837dba7d28e4ffe3874cb3c02178cba741f1f034ba9dd8ef4bea8e0380de0d138e45f113a23ae497e5d862dbc09cdad4467a090327b0cdfa472ddc53031f022da298032ceb6ae2d15d7612e1315d66df76ee48df6aec2cf5af073845a4034e6e613acbef82c95307b020e1956ca6f22ee3f569a5e2395dd44e8977e1df2c035f3cccb4ed4e2f9fdf7edd6287a2c773c0a5445768a3d178e730be6a5c51923a03a13d80ab35e10399c3d1cd3fa2b8038689e29aa7e2c825ecdc3113be594d468103bb42b6c0cf937087742862f34c8c065c280a59cd2517ef8d17407c3f1046dc8b0363727d2bf8c90658bde1cac24a1b9094c7045dca1fd3ed0be461c19bd33344760307a94774f9cf51b6e479e1aa6f7d2e9a7aa57286da0cb0d176d26a19ca9bfcb8030ed5ae3a120abb0e90f3d6156b892ff2bf788635004ab4df00f409dd046bd690032e9204dfeb17df57e4b2f7e254a00c23b2b6c0e44d0a1b5779d0a2f09ed802d5035409df0fb33c3cf39e4fa851b142669d8c1c35cb025ec562fdce471ed6c8a80d03944a8f45d771ce66848acfe6f01b8487f6ef1f2674a77833f1a28d91d6733f5103c331cf42fc6eea25268188dd5380e991c5cfafed0da5e75d8b80bedb039db7690350a80b181e76f0250c7ec66d2137f0c0b1c0f406de97d331bb24c2fd3250a5200396fca368609024f5a52b37da5836ef506c6ab6bff1ab2acb606535fbf6fc475c03814f47dc7576c1b85cf80f3414951459fe7a00723a1c63b2092ce5e400a22c0b03f288b9bcf5bd9cab54870e70fadf8e55dd75148330b5a029e5a0cab24173f71203b471407c44b964c13949f720932f0b43506c05d596891284c59cb9d8df3da75b036cb9ae273793d42e367877d10934438a886924c666e0c0fbb72945b887fee03f0375f536f696a5d6c87757783a585a3a35332c9a147d6bdadc238bbc99847c722203ba971648683c67b82149c802ff7678acb013f685420541b45836e95f4f5c1dab03bccdcd182f33f0465ac05ef4ee1dd96a7d3e040fc76ab843fdbae5df990d165503457470ff844c834be71a76142796b7f5cbe06f629bdac0c535e33039fd1a45a9033733215c2b309aa0603f65011bd2e4aba062569c16f56bbb6e2d9f1f957aec4103cf33c1b3de9835526e0fafb93f712d34e9c523567a9002d2b75ad9ec2f51344804590a15608060405234801561001057600080fd5b506004361061004c5760003560e01c806315dacbea14610051578063715018a6146100665780638da5cb5b1461006e578063f2fde38b1461008c575b600080fd5b61006461005f3660046106d0565b61009f565b005b6100646101a0565b61007661026b565b6040516100839190610756565b60405180910390f35b61006461009a3660046106b6565b610287565b6100a76103bd565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108ea565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff831632148061014257506101428373ffffffffffffffffffffffffffffffffffffffff166103c1565b610178576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108b3565b61019a73ffffffffffffffffffffffffffffffffffffffff85168484846103cb565b50505050565b6101a86103bd565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146101fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108ea565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61028f6103bd565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146102e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906108ea565b73ffffffffffffffffffffffffffffffffffffffff8116610330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb906107f9565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b803b15155b919050565b61019a846323b872dd60e01b8585856040516024016103ec93929190610777565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915260606104cb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166105249092919063ffffffff16565b80519091501561051f57808060200190518101906104e9919061071a565b61051f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb90610956565b505050565b6060610533848460008561053d565b90505b9392505050565b606082471015610579576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb90610856565b610582856103c1565b6105b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb9061091f565b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040516105e2919061073a565b60006040518083038185875af1925050503d806000811461061f576040519150601f19603f3d011682016040523d82523d6000602084013e610624565b606091505b509150915061063482828661063f565b979650505050505050565b6060831561064e575081610536565b82511561065e5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100fb91906107a8565b803573ffffffffffffffffffffffffffffffffffffffff811681146103c657600080fd5b6000602082840312156106c7578081fd5b61053682610692565b600080600080608085870312156106e5578283fd5b6106ee85610692565b93506106fc60208601610692565b925061070a60408601610692565b9396929550929360600135925050565b60006020828403121561072b578081fd5b81518015158114610536578182fd5b6000825161074c8184602087016109b3565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b60006020825282518060208401526107c78160408501602087016109b3565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526014908201527f496e76616c69642066726f6d2061646472657373000000000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60005b838110156109ce5781810151838201526020016109b6565b8381111561019a575050600091015256fea2646970667358221220a043bdd05a1c168f623a894430cb3a50964c5c00c776399fa2c32e4b6de6029a64736f6c6343000705003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354def171fe48cf0115b1d80b88dc8eab59176fee5705581e03dd98b264904528a459243c96d2f7eba6378c698d0d2e315453ed5e0fd00701190a1505581e03845e8c88d70df6cc585888fbc552b01ec107aa45d2c67751f07bc9a3b00c02462776615708b003e0b0b57eb2666c1ff3a3d261d7a380297ac3e55309f850d6a9b36d1dad1cc5ad03be6ecaa87f194829ad9afc7aa3c01dccb8d1ae2927fa2563814ce7afd942d0a3035053614f8b674da4d8aaf6a3303b4d740f776543d0baa7dd1ea8e1f24c69781105581e03e7abd352ce20bc7f2deec2ca47bdab371dea23d081c956a983ec12f4e00c014701fd4eb7dc36da031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03b941e78af51e493f613d5e019335fd46564016b19e16af872bbb02637007011bffffffffffffffff05581e0384ee289e9fa0349c6ad7089fa5bd4a5caaf921707021fd8933334123a00402039f54197cde23917483c5a2374009322c094316db44e56a9cf266024501e426a603ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0377a617749738b178ad452941b6cffd707be48f878662f993c9d44c92b007011bffffffffffffffff05581e037cce7ab023ded35166aad5c87575db8c41242494ef762f3d97fb7d7610040405581e0301d0a91b8609b9cf162beea707d497f82848925a94cad226144cd73bd0040903d48b7369177dafd86b363a5bab73329a696c7ff84d709bb993cf31922639d0220219bffb0309cc49a746d5d7b2c6beb81e3002461852766c1e17a2094e9bcfc2daa29ac8970219ffff0395c1b92a07a62082d1848b643a087d006673d6be06930ff457a53c57425febfa037537a20b3b822f15a689775863010555a78163c15b906d150a5a67d3b8cf78430219ffff03f37b9ce27c497848d22613639fec38c0a0fb27709f1a8d86aa2ca2fca0dad30703a5b6ad23d5d0edcd2380b664d473caf4df50bd848b762384a3c70ea5c641be62035740575f8c10ebdb5014cf20db39d2f4a74f369b6777715410eb6f8a07065c0e0360fae12cc25d677dc6eb1d5b923011ae9ea54d1036e759e1cf5926accdf41ee003857cb996f6cae5b2c5d34f28d56af66695a4e063ad62a492c25faef7f08a293603582c73620ca26ad32207a3d149492849242b99756fc58b4374cfb2c3c456bb7303680ac33f6620d06465253a8cbe48da88344e01de5bcbbe4701f43840a0776f92033d0ca37d094a3deb0ec72dd240154af4b23c279deceb77adfe0d450327406fbe0375d3e449a7e6c9c09a203de8c7ca37fb3901ed560dbba8dadb60c2d3dc5e20960388afbbd39c8ad4b0d16546aab2fe6d10eb1096713e5a5f37545711d51e0783720367ba23944fd7ec7bb84747d186b2dbb3efc64dda6b085d088bd7781c4d67f3ba034620142dd04d874bd50ee7af6b9f3f385fb0b4e644d33120b1e2ae0a86db9b5d03861874a47dad9004a3340ed2aee003623d0de91dae3c9efb31c3e3c8f0387713036dae68dd8e4025913d9b43fcf301c4c4177eda49913a681e18c1841940830f080219ffff03fbcee7fb5cb0dc2270e6fe3a90eb14c206527b4aad1891d07d4b9ba8d10e4eac03f37acfbe63b7a2133dee58531dba1dbda6fd9a7d105d46ddc73279675e15313503dede60b51bb28d84090170b1af6e79c94bc8545bafd4917d91fd8b50c3c920ad03073a9febdeced0d4a51b3f4db3d0a55fa939313437ab711362899cd7d348762d03736ab899dcebb67371e62370a1a548638d4d7da7be8dc00018d5f36fe625315503b9af0368752413087c207fa90e46eda356f0f9643828a840b5383f7fead07163038bbf5125cb2a89175383fea073509ab0a7d7adc1d6f63f6c92e2104266d077fe034cfc16f3865ca120c01dfae6b4fd9e6f29df1f69c591e138775168febdb675e0037fcb7a1b987ff09803614183d60b13638704bade09d8ba216a811ac03100ef18033a35483686cc5ebddf56d5bcd4464280aea6c09b78b859cd48901a84cdbffb52037d25232035b9ed9a10c88016cbfaeae4dd791effc354b0e60eb0bc62d02dc40903bf0a13f99f50d2fab0be091c27dd24c87b60e9fdad71e06b76105d405587e3cc03d94f91ceae866d28415c40aa188be6a7762b09150002aa686591e8e9f197b206030623e9bd27eb5b586fbdf23714d99e9333fb7158289162baba0152d7f48264c303efdcead21b46b89eca1e3daad53d19404ff4ee6cc8720c5c75f6a969973e27fe03faead78803f267ae1df9c36fc60ad1a0afcfa8d258a309dde444136b3bd2bc0501410f05581e0310f4d8cf6923623e982ffbbf480f35e6a0212cd373bfad382d4119d9f00c024703acb2513ec7a003ced443f9311631962e9ef40ff16c1774e9c606c0574d6381b5221f03525590c203e96a0a2fc30e279c189eaad6be6f116f64db7429b0f192343605e89abcfdf64e037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e034a579b683b40062c1b213a3f5f21a5c21203898db70bcb63d8477c587007011bffffffffffffffff05581e03a3a439d0c065fa82b3238f1eaf830ea8496601b6e1df85c1a3c6ab50100c1447117bcff6e8be00037baa5d51d778a50310c4fa1073c34579677434497d1e356cb90fb6523685641b05581e03eb9aca19ef6b429b1fcaa1015ef235988bcb7da502b73b20ae853538b0040205581e035fe5f79fb8f22d71f9b9e0c316ab995d85f0d00f26122758323d4e4bc00c054709f772a7a59e7f03b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b00003568a1f0605791dfe99c2bec42388c5fba6189a28b7c43d5e50ed7bdc297a70f405581e031e10e9c726c4864620aa0459d6615bd96026718ef6d3bd8b378e357ab00f01480214e8348c4f00001bffffffffffffffff032ecd27c783d433c5f237916601119296656935366d76de930d9b002923e69a58033b974aef9fdfdb22bebe9b9a2141a659daf58237b1a92cb82705023193f1cbeb05581e03f30b08c1b97ed0ae38163f50872848f846b03baa1b608cf0cb44e94da007011bffffffffffffffff05581d02c04af0015d728c4c111c9d43b3b9be96ea64a0ad068214e8bd3341a8040105581d027f355a9f4464d6c546e3502a3f3ba7b81a4af182f456e13110c864b80c094707b335503ea9920219500002197dcf034d6095803b6966e005ba1f0a90537d7246b1f1cb897bc05b82b835608b3c26ab038bd7996a161d899aef5097d4d718d7d4d34e7ee17164a6ac68b68580f0ffaacd03c9d55b9c64fb9401cfc9657c5eac91a540812bb5840b8b5ecf5642f5f8f82a2c03bd669c3492bfde6e87ff35221b61a360b940c94f92a7e9478e50808142f4705403d37c4b008d83c510c0f3a491e3f78047b5a05e861ec2776d484624cb36acb0cd03a0f083418219ad67b536014237750a1603f4e6956312728feecff057389cdd5c0387fa7a22cf3eaeb7ccafd69fc1a7537c5631958a1c8f9c02873dcb879b8983c9033e0cf97e514ab86c95cf93616c32b18652c80936647a41b04855e649552c88fe034c886b26973006c5d29afc2416ad88d57b7b529c42b0bc46d28c58eca0e72346030aafd5db26dc298c9e39d63b63f1fe7c985fb60a3f1979ef0a0b15835a69913903c7f806d191eb558a8db5edd87a8b536f08436264dc263cd336bb174a2a935659031c1b1ac68d3f47307b4e15671e3c86364edb5508a76bc5cf669adbbc8845ad24037a95a59aeb18ac34be7e8a640fdd4d94b4955e486bb956f48b5e1eb7dd3599e70219ffff0382d1cc0ad5230386ccbcd11adbc8fcd8414db0a160e3483b46a41d82d531ce21032d1776d4c3589b0822d39105ac9e7bfaaa39e7a59ada9c9ab6594b8d62eb3c3003dea0afb2ae62daebd3ea9c40c31d7b5b30e540b02ee16807150a315c494e827b03bc8b91d7650c8fa14d8373382c1683c5630afa6911717cd4db365f09325468f80219ffff03465969d73ba20e75bafe340d94e781a1732e9bbf6921596f89159b2133d6d8b3031083fc12fe4daefe321dca9aa4c0d5502bdf45a1660a3e015c55eb6b8fab0c0e03f3f0350120a2863c19e9cfe501bccaf291f2998e2561731a12c908fc3e995219031664a17bb00056a9efaf1c6e4a797886d8d56262343e276311aeeeb35444db66036c4e74353385950b635e8c2c9410b08fb93e0cda19477c39a3fd132bc4371e44038aa89d69bdf08a68fe3ea412627d27fb7b0e8ef046bf53a9d658ed514b4fc9ea03ffb93a6777857a959e8e571646edd8818bd2d4aa85a9f46da457d5a598005f1f03f4ab93cdfb4feeae822c354b2d70bb661c9b9d4d737789fbbb35bfe297e08d3d038e4583fea52079cc5dda2dbc5892e2ab6c92f9ae106ad5bab5f3d00f04092a9103f41374303ca8845426ee78eece2a4207371d0e4134aca36a47767c9e333791df033ca70b2f57af1787205f953003d8e7d4a234d0e718cf3aa8f16c2770eb3c7f0c035e97a1db728e4df6bde5497a9c56295cea8557a9da104d617361c79bcc524c2f0367fdd003174d1ce626143a0756bcaede84166b14c62149a213ceb7e65580730c033d10e88d91a3f30e247a9c46194bcb85f0ca1db5c7248f0aafa03359062c6faf03cfbe25d7509e93fd9a0a46390fb01f41b4fba1ea982bf5a26f7ff771c0d0f2500219ffff039ec66f0d4943a9c8a085ba690616c7e0fd517c4aadadeda516b86e850e15039503353a4d062dd01ffebd911102c68ae3cec2122a31e2ad454584488f175268162903feb8fd814796463cdaa583fab048e0915a2747aaea4afd3d2cab79b96ee4fc4d03460bb281319566dbe3a34dbb827bdffd63664879bfdc13be2423b36acd84143f0376f64b3518d1cc2441f5da8ba4836be0e5d397a568c0a707d0c398a9abd63ef0035f956d840668da23e2d1f9707d0e8e630ee777c8117f454812741a391f18bc1c03ceff4868aa8eaa11ef6d0765917ee22d8ccc1149fe08ac096a6e167e5043ece90317fa36a963a277e3abef13361679e74a980c68ccfbc968bc4f4648a494eddf2303edfaa586707fb69c2535c156f82754edd79f77770faa0bea5ae2a9983228443d03ab1271a58897f842cd29cf3db2b508f2633286033aeb511de4ad9b4c74ea481a039272de2b7f6681862a492721d63240b83f9c5402c963de18b37a38e2907b185e03da55364b32de37c92ff7baff03b048c6bce0dd29e07bab1d59fef79980647506038f7f3b0109d003126b59aa581b997ad855904dd56021a43d79b8bca08cd51db103fda4546df2133babcdb0ab8fb8b5d1d6b77c20609302b2a375415e997c1cb2030349bfcbaaadf1237e7c27d38444540fa3fecbf9b0858d5829167b08c6a703071903c28e52fd68945e243036024679fca3de07aec902f4a1487b88da77542259623b03dc3a7879358ded0eb378b16b2adf4df1aeeff74a8f26b058c0f79052581b1994036e5bd93a597ac41dee6d61c76ba87ba5d4ef7c49492f975a98db24f5f3707e36039f0ef55cf630be2156e9089fa1456575f19bccb59efea6accbcb6b9ab964b706037c2f6a6ae0d6e025f7b15bfe759a1a37fb5958a7108379227192cb027c38ba4703a82e71784a4b026447ab85b053e7fd79dfa0ee708ddcd92a254903ca8d6d79a203ad31451ea2106d2ef6cc4cf136dbefa25b55a31fb5763454c217975f6cfb0358039d116efaf74b23d5aaa49cd368934cc492cc1412e214ce5e508c63c45960573903c375dbf69027b939caa369ec1eba87988d7708c90a3de9c2f4059d0902356e7e03e78caa46be3feeca98047e105766ce5abb566323e49cda50cfb18e7600242b40030bdae2e8bbef8f1abb85327ce0e301ea7ef42b500b43c2203a36f23a280130e503ce5c8b22030426513264a2bb50fdb25fe2e1a534be2f637a3ca095cf77a0f55203292c5eaa9b2fbbeee0d386107be387645586fac376ec1f7cb5bc63ec0fc7e55f030e05e0c5176758126c5c117cfa840ddc2861c61e0ca2c5af03c4cccf6521066803e55feb12c59780834432eecb1050fc0d981be2cb895b7d4f5afcd687d1b6499705581e03b2243157797f0407a7786e8615890f96c37dc6823c3ca074893bd4ca00040c034674af9a4fb900a48cab25fcbab95aee4da8047d4f97369d555001f65ee18c32035544a7da32085775554867b2a0ab85084879b66aac510a18b9458cdd5c7e994b05581d0262b4a4c5fa23c4f3613d681c5422990482b0b8122363028230c3828407011bffffffffffffffff04595e82608060405234801561001057600080fd5b50600436106103af5760003560e01c80636d73e669116101f4578063b0fe87c91161011a578063d5a06d4c116100ad578063f0cdc4991161007c578063f0cdc499146108a6578063f2fde38b146108b9578063fe2e1f58146108cc578063ffa1ad74146108df57600080fd5b8063d5a06d4c146107ea578063e00aab4b14610844578063e92a89f614610857578063e985e9c51461086a57600080fd5b8063bb3bafd6116100e9578063bb3bafd6146107ea578063c87b56dd1461080b578063ce8aee9d1461081e578063d39737191461083157600080fd5b8063b0fe87c914610753578063b4b5b48f14610766578063b88d4fde146107b7578063b9c4d9fb146107ca57600080fd5b806383b7db6311610192578063a22cb46511610161578063a22cb46514610707578063aafb2d441461071a578063ac0c8cfa1461072d578063ad2d0ddd1461074057600080fd5b806383b7db63146106d35780638da5cb5b146106db57806395d89b41146106ec57806399e0dd7c146106f457600080fd5b806372ff03d3116101ce57806372ff03d3146106875780637884af441461069a5780637aa15f16146106ad57806382dcc0c8146106c057600080fd5b80636d73e6691461065957806370a082311461066c578063715018a61461067f57600080fd5b806330176e13116102d95780634278330e11610277578063596798ad11610246578063596798ad1461060d57806361e5bc6b146106205780636352211e1461063357806366d1e9d01461064657600080fd5b80634278330e146105c157806342842e0e146105d457806342966c68146105e75780634cd88b76146105fa57600080fd5b8063332dd1ae116102b3578063332dd1ae1461057557806338e52e78146105885780633e6134b81461059b5780633f0f37f6146105ae57600080fd5b806330176e131461053a5780633071a0f91461054d57806331ae450b1461056057600080fd5b806320e4afe21161035157806324d7806c1161032057806324d7806c146104c15780632928ca58146104d45780632a55205a146104f55780632d3456701461052757600080fd5b806320e4afe21461047757806322f374d01461048a578063239be3171461049b57806323b872dd146104ae57600080fd5b8063081812fc1161038d578063081812fc14610406578063095ea7b3146104315780630ebd4c7f14610444578063162094c41461046457600080fd5b806301ffc9a7146103b457806302e7afb7146103dc57806306fdde03146103f1575b600080fd5b6103c76103c2366004614ed4565b6108e7565b60405190151581526020015b60405180910390f35b6103ef6103ea366004614f06565b610916565b005b6103f961099b565b6040516103d39190614f73565b610419610414366004614f86565b610a2d565b6040516001600160a01b0390911681526020016103d3565b6103ef61043f366004614f9f565b610a54565b610457610452366004614f86565b610ba3565b6040516103d39190615006565b6103ef61047236600461505b565b610c07565b6103ef6104853660046150ec565b610c86565b606f546001600160a01b0316610419565b6104196104a9366004614f86565b610d66565b6103ef6104bc366004615166565b610e7c565b6103c76104cf366004614f06565b610ef3565b6104e76104e2366004614f06565b610f2c565b6040519081526020016103d3565b6105086105033660046151a7565b610f66565b604080516001600160a01b0390931683526020830191909152016103d3565b6103ef610535366004614f06565b610fd6565b6103ef6105483660046151c9565b611033565b6103ef61055b36600461520b565b6110b1565b61056861113b565b6040516103d39190615247565b6103ef610583366004615294565b6111ea565b610457610596366004615300565b611272565b6103ef6105a93660046151c9565b6113a7565b6103ef6105bc366004615356565b6113bb565b6104576105cf366004615300565b611444565b6103ef6105e2366004615166565b61153e565b6103ef6105f5366004614f86565b611559565b6103ef61060836600461548b565b6115f1565b6103ef61061b366004614f06565b61171c565b6103ef61062e366004615294565b611799565b610419610641366004614f86565b611838565b6103ef6106543660046151c9565b61189d565b6103ef610667366004614f06565b6118af565b6104e761067a366004614f06565b611907565b6103ef6119a1565b6104e7610695366004614f06565b6119b5565b6104e76106a836600461520b565b611a4e565b6104576106bb366004615300565b611b18565b6103ef6106ce3660046154ef565b611ca7565b610568611cba565b6033546001600160a01b0316610419565b6103f9611d5b565b6103ef6107023660046151c9565b611d6a565b6103ef610715366004615546565b611de8565b6103ef610728366004615294565b611df3565b6103ef61073b36600461557f565b611efe565b61045761074e36600461559c565b611f10565b6103ef6107613660046155d1565b612066565b61079c610774366004614f86565b6000908152606a6020526040902054600160a01b900460101c69ffffffffffffffffffff1690565b60405169ffffffffffffffffffff90911681526020016103d3565b6103ef6107c5366004615611565b6120e7565b6107dd6107d8366004614f86565b61215f565b6040516103d391906156ca565b6107fd6107f8366004614f86565b6121c3565b6040516103d39291906156dd565b6103f9610819366004614f86565b612239565b6103ef61082c366004614f06565b61229d565b6104e761083f366004615725565b61231a565b61045761085236600461559c565b612354565b6103ef61086536600461505b565b612434565b6103c761087836600461575a565b6001600160a01b039182166000908152606d6020908152604080832093909416825291909152205460ff1690565b6103ef6108b436600461575a565b612447565b6103ef6108c7366004614f06565b6124c5565b6104e76108da36600461520b565b612552565b6104e7600381565b60006108f2826125a6565b80610901575061090182612618565b80610910575061091082612685565b92915050565b336109296033546001600160a01b031690565b6001600160a01b0316148061094457506109446066336126d3565b61098f5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b60648201526084015b60405180910390fd5b610998816126f5565b50565b6060606880546109aa90615788565b80601f01602080910402602001604051908101604052809291908181526020018280546109d690615788565b8015610a235780601f106109f857610100808354040283529160200191610a23565b820191906000526020600020905b815481529060010190602001808311610a0657829003601f168201915b5050505050905090565b6000610a3882612805565b506000908152606c60205260409020546001600160a01b031690565b6000610a5f82611838565b9050806001600160a01b0316836001600160a01b031603610ae85760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610986565b336001600160a01b0382161480610b2257506001600160a01b0381166000908152606d6020908152604080832033845290915290205460ff165b610b945760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610986565b610b9e8383612869565b505050565b6000818152606a60205260409020546060906001600160a01b0316610bfe5760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b610910826128d7565b33610c1a6033546001600160a01b031690565b6001600160a01b03161480610c355750610c356066336126d3565b610c7b5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b610b9e8383836128e2565b33610c996033546001600160a01b031690565b6001600160a01b03161480610cb45750610cb46066336126d3565b610cfa5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b6000858152606a60205260409020546001600160a01b0316610d525760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b610d5f8585858585612966565b5050505050565b6000818152606a60205260408120546001600160a01b0316610dbe5760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b610dc7826129ed565b90506001600160a01b038116610e1f5760405162461bcd60e51b815260206004820152601660248201527f4e6f20657874656e73696f6e20666f7220746f6b656e000000000000000000006044820152606401610986565b610e2a6072826126d3565b15610e775760405162461bcd60e51b815260206004820152601560248201527f457874656e73696f6e20626c61636b6c697374656400000000000000000000006044820152606401610986565b919050565b610e863382612a48565b610ee85760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608401610986565b610b9e838383612ac7565b6000816001600160a01b0316610f116033546001600160a01b031690565b6001600160a01b0316148061091057506109106066836126d3565b6000610f36612c9c565b610f3e612cf5565b610f5a8260405180602001604052806000815250600080612d4c565b9050610e776001606555565b6000828152606a602052604081205481906001600160a01b0316610fc05760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b610fca8484612dd5565b915091505b9250929050565b610fde612eac565b610fe96066826126d3565b156109985760405133906001600160a01b038316907f7c0c3c84c67c85fcac635147348bfe374c24a1a93d0366d1cfe9d8853cbf89d590600090a361102f606682612f06565b5050565b336110466033546001600160a01b031690565b6001600160a01b0316148061106157506110616066336126d3565b6110a75760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61102f8282612f1b565b336110c46033546001600160a01b031690565b6001600160a01b031614806110df57506110df6066336126d3565b6111255760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61112e83612f50565b610b9e8383836000612fa8565b606061114760666130af565b67ffffffffffffffff81111561115f5761115f6153be565b604051908082528060200260200182016040528015611188578160200160208202803683370190505b50905060005b61119860666130af565b8110156111e6576111aa6066826130b9565b8282815181106111bc576111bc6157bc565b6001600160a01b0390921660209283029190910190910152806111de816157e8565b91505061118e565b5090565b336111fd6033546001600160a01b031690565b6001600160a01b0316148061121857506112186066336126d3565b61125e5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61126c6000858585856130c5565b50505050565b606061127c612c9c565b611284612cf5565b8167ffffffffffffffff81111561129d5761129d6153be565b6040519080825280602002602001820160405280156112c6578160200160208202803683370190505b5090506000606e5460016112da9190615801565b905083839050606e60008282546112f19190615801565b90915550600090505b838110156113945761136f86868684818110611318576113186157bc565b905060200281019061132a9190615814565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250925061136a915086905087615801565b612d4c565b838281518110611381576113816157bc565b60209081029190910101526001016112fa565b50506113a06001606555565b9392505050565b6113af612cf5565b61102f828260006131b2565b336113ce6033546001600160a01b031690565b6001600160a01b031614806113e957506113e96066336126d3565b61142f5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61143884612f50565b61126c84848484612fa8565b606061144e612c9c565b611456612cf5565b8167ffffffffffffffff81111561146f5761146f6153be565b604051908082528060200260200182016040528015611498578160200160208202803683370190505b5090506000606e5460016114ac9190615801565b905083839050606e60008282546114c39190615801565b90915550600090505b838110156113945761151986604051806020016040528060008152508787858181106114fa576114fa6157bc565b905060200201602081019061150f919061585b565b61136a8587615801565b83828151811061152b5761152b6157bc565b60209081029190910101526001016114cc565b610b9e838383604051806020016040528060008152506120e7565b611561612c9c565b61156b3382612a48565b6115b75760405162461bcd60e51b815260206004820152601f60248201527f43616c6c6572206973206e6f74206f776e6572206f7220617070726f766564006044820152606401610986565b60006115c282611838565b905060006115cf836129ed565b90506115da836131ef565b6115e58284836132ae565b50506109986001606555565b600054610100900460ff16158080156116115750600054600160ff909116105b8061162b5750303b15801561162b575060005460ff166001145b61169d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610986565b6000805460ff1916600117905580156116c0576000805461ff0019166101001790555b6116ca838361336d565b6116d26133e2565b8015610b9e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b3361172f6033546001600160a01b031690565b6001600160a01b0316148061174a575061174a6066336126d3565b6117905760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61099881613455565b6117a1612cf5565b8281146117e05760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606401610986565b60005b83811015610d5f57611830858583818110611800576118006157bc565b90506020020135848484818110611819576118196157bc565b905060200281019061182b9190615814565b6134a9565b6001016117e3565b6000818152606a60205260408120546001600160a01b0316806109105760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610986565b6118a5612cf5565b61102f82826134b3565b6118b7612eac565b6118c26066826126d3565b6109985760405133906001600160a01b038316907f7e1a1a08d52e4ba0e21554733d66165fd5151f99460116223d9e3a608eec5cb190600090a361102f6066826134cd565b60006001600160a01b0382166119855760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610986565b506001600160a01b03166000908152606b602052604090205490565b6119a9612eac565b6119b360006134e2565b565b60006119bf612c9c565b336119d26033546001600160a01b031690565b6001600160a01b031614806119ed57506119ed6066336126d3565b611a335760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b610f5a82604051806020016040528060008152506000613534565b6000611a58612c9c565b33611a6b6033546001600160a01b031690565b6001600160a01b03161480611a865750611a866066336126d3565b611acc5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b611b0c8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250613534915050565b90506113a06001606555565b6060611b22612c9c565b33611b356033546001600160a01b031690565b6001600160a01b03161480611b505750611b506066336126d3565b611b965760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b8167ffffffffffffffff811115611baf57611baf6153be565b604051908082528060200260200182016040528015611bd8578160200160208202803683370190505b5090506000606e546001611bec9190615801565b905083839050606e6000828254611c039190615801565b90915550600090505b8381101561139457611c8286868684818110611c2a57611c2a6157bc565b9050602002810190611c3c9190615814565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c7d9250869150879050615801565b613534565b838281518110611c9457611c946157bc565b6020908102919091010152600101611c0c565b611caf612cf5565b610b9e8383836131b2565b6060611cc660706130af565b67ffffffffffffffff811115611cde57611cde6153be565b604051908082528060200260200182016040528015611d07578160200160208202803683370190505b50905060005b611d1760706130af565b8110156111e657611d296070826130b9565b828281518110611d3b57611d3b6157bc565b6001600160a01b0390921660209283029190910190910152600101611d0d565b6060606980546109aa90615788565b33611d7d6033546001600160a01b031690565b6001600160a01b03161480611d985750611d986066336126d3565b611dde5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61102f828261358b565b61102f3383836135c0565b33611e066033546001600160a01b031690565b6001600160a01b03161480611e215750611e216066336126d3565b611e675760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b828114611ea65760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606401610986565b60005b83811015610d5f57611ef6858583818110611ec657611ec66157bc565b90506020020135848484818110611edf57611edf6157bc565b9050602002810190611ef19190615814565b6128e2565b600101611ea9565b611f06612cf5565b610998338261368e565b6060611f1a612c9c565b33611f2d6033546001600160a01b031690565b6001600160a01b03161480611f485750611f486066336126d3565b611f8e5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b8161ffff1667ffffffffffffffff811115611fab57611fab6153be565b604051908082528060200260200182016040528015611fd4578160200160208202803683370190505b5090506000606e546001611fe89190615801565b90508261ffff16606e60008282546120009190615801565b90915550600090505b8361ffff1681101561205a5761203585604051806020016040528060008152508385611c7d9190615801565b838281518110612047576120476157bc565b6020908102919091010152600101612009565b50506109106001606555565b336120796033546001600160a01b031690565b6001600160a01b0316148061209457506120946066336126d3565b6120da5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b610d5f85858585856130c5565b6120f13383612a48565b6121535760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608401610986565b61126c8484848461371c565b6000818152606a60205260409020546060906001600160a01b03166121ba5760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b610910826137a5565b6060806121e7836000908152606a60205260409020546001600160a01b0316151590565b6122275760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b612230836137ac565b91509150915091565b6000818152606a60205260409020546060906001600160a01b03166122945760405162461bcd60e51b81526020600482015260116024820152702737b732bc34b9ba32b73a103a37b5b2b760791b6044820152606401610986565b61091082613b5c565b336122b06033546001600160a01b031690565b6001600160a01b031614806122cb57506122cb6066336126d3565b6123115760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61099881613e48565b6000612324612c9c565b61232c612cf5565b6123488360405180602001604052806000815250846000612d4c565b90506109106001606555565b606061235e612c9c565b612366612cf5565b8161ffff1667ffffffffffffffff811115612383576123836153be565b6040519080825280602002602001820160405280156123ac578160200160208202803683370190505b5090506000606e5460016123c09190615801565b90508261ffff16606e60008282546123d89190615801565b90915550600090505b8361ffff1681101561205a5761240f85604051806020016040528060008152506000848661136a9190615801565b838281518110612421576124216157bc565b60209081029190910101526001016123e1565b61243c612cf5565b610b9e8383836134a9565b3361245a6033546001600160a01b031690565b6001600160a01b0316148061247557506124756066336126d3565b6124bb5760405162461bcd60e51b815260206004820152602480820152600080516020615e2d8339815191526044820152633236b4b760e11b6064820152608401610986565b61102f8282613e89565b6124cd612eac565b6001600160a01b0381166125495760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610986565b610998816134e2565b600061255c612c9c565b612564612cf5565b611b0c8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250829150612d4c9050565b60006001600160e01b031982167fb5d2729f00000000000000000000000000000000000000000000000000000000148061260957506001600160e01b031982167f9088c20700000000000000000000000000000000000000000000000000000000145b80610910575061091082613fcc565b60006001600160e01b031982167f80ac58cd00000000000000000000000000000000000000000000000000000000148061090157506001600160e01b031982167f5b5e139f0000000000000000000000000000000000000000000000000000000014806109105750610910825b60006001600160e01b031982167f553e757e00000000000000000000000000000000000000000000000000000000148061091057506301ffc9a760e01b6001600160e01b0319831614610910565b6001600160a01b038116600090815260018301602052604081205415156113a0565b6001600160a01b0381161580159061271657506001600160a01b0381163014155b6127625760405162461bcd60e51b815260206004820152601960248201527f43616e6e6f7420626c61636b6c69737420796f757273656c66000000000000006044820152606401610986565b61276d6070826126d3565b156127b55760405133906001600160a01b038316907fd19cf84cf0fec6bec9ddfa29c63adf83a55707c712f32c8285d6180a7890147990600090a36127b3607082612f06565b505b6127c06072826126d3565b6109985760405133906001600160a01b038316907f05ac7bc5a606cd92a63365f9fda244499b9add0526b22d99937b6bd88181059c90600090a361102f6072826134cd565b6000818152606a60205260409020546001600160a01b03166109985760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610986565b6000818152606c6020526040902080546001600160a01b0319166001600160a01b038416908117909155819061289e82611838565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60606113a0826137ac565b6000831180156128f45750606e548311155b801561291157506000612906846129ed565b6001600160a01b0316145b61294d5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a37b5b2b760991b6044820152606401610986565b600083815260776020526040902061126c8284836158bc565b61297284848484614113565b600085815260796020526040812061298991614e23565b6129a884848484607960008b81526020019081526020016000206141de565b847fabb46fe0761d77584bde75697647804ffd8113abd4d8d06bc664150395eccdee858585856040516129de949392919061597c565b60405180910390a25050505050565b6000818152606a6020526040812054600160a01b90046bffffffffffffffffffffffff81169061ffff168203612a265750600092915050565b61ffff166000908152607e60205260409020546001600160a01b031692915050565b600080612a5483611838565b9050806001600160a01b0316846001600160a01b03161480612a9b57506001600160a01b038082166000908152606d602090815260408083209388168352929052205460ff165b80612abf5750836001600160a01b0316612ab484610a2d565b6001600160a01b0316145b949350505050565b6000818152606a60209081526040918290208251808401909352546001600160a01b03808216808552600160a01b9092046bffffffffffffffffffffffff16928401929092529085168114612b845760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610986565b6001600160a01b038416612bff5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610986565b6020820151612c10868686846142a8565b612c1b600085612869565b6001600160a01b038087166000818152606b60209081526040808320805460001901905593891680835284832080546001019055888352606a90915283822080546001600160a01b031916821790559251879392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a45b505050505050565b600260655403612cee5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610986565b6002606555565b612d006070336126d3565b6119b35760405162461bcd60e51b815260206004820152601c60248201527f4d757374206265207265676973746572656420657874656e73696f6e000000006044820152606401610986565b600081600003612d6f57606e60008154612d65906157e8565b90915550606e5491505b612d7985836142b4565b336000908152607d6020526040902054612dac908690849061ffff16601087901b69ffffffffffffffff00001617614348565b835115612dcd576000828152607760205260409020612dcb8582615a13565b505b509392505050565b600080600080612de4866137ac565b91509150600182511115612e3a5760405162461bcd60e51b815260206004820152601c60248201527f4d6f7265207468616e203120726f79616c7479207265636569766572000000006044820152606401610986565b8151600003612e5157306000935093505050610fcf565b81600081518110612e6457612e646157bc565b60200260200101516127108683600081518110612e8357612e836157bc565b6020026020010151612e959190615ad3565b612e9f9190615aea565b9350935050509250929050565b6033546001600160a01b031633146119b35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610986565b60006113a0836001600160a01b038416614363565b6000805260746020527fccdf39d850e26d5964b24c5391eecfa7a13a375488d6de2101d279419f39a537610b9e8284836158bc565b612f5b6072826126d3565b156109985760405162461bcd60e51b815260206004820152601560248201527f457874656e73696f6e20626c61636b6c697374656400000000000000000000006044820152606401610986565b607c5461ffff90811610612ffe5760405162461bcd60e51b815260206004820152601360248201527f546f6f206d616e7920657874656e73696f6e73000000000000000000000000006044820152606401610986565b6001600160a01b0384166000908152607d602052604081205461ffff1690036130a357607c80546000906130359061ffff16615b0c565b82546101009290920a61ffff818102199093169183160217909155607c80546001600160a01b0387166000818152607d60209081526040808320805495881661ffff199096169590951790945593549094168452607e90925290912080546001600160a01b03191690911790555b61126c84848484614456565b6000610910825490565b60006113a08383614559565b6130d184848484614113565b6001600160a01b03851660009081526078602052604081206130f291614e23565b61312384848484607860008b6001600160a01b03166001600160a01b031681526020019081526020016000206141de565b6001600160a01b038516613173577f2b6849d5976d799a5b0ca4dfd6b40a3d7afe9ea72c091fa01a958594f9a2659b84848484604051613166949392919061597c565b60405180910390a1610d5f565b846001600160a01b03167f535a93d2cb000582c0ebeaa9be4890ec6a287f98eb2df00c54c300612fd78d8f858585856040516129de949392919061597c565b3360009081526074602052604090206131cc8385836158bc565b50336000908152607560205260409020805460ff19169115159190911790555050565b6000818152606a602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046bffffffffffffffffffffffff16928201839052909290919061324490839086846142a8565b61324f600085612869565b6001600160a01b0382166000818152606b602090815260408083208054600019019055878352606a909152808220829055518692907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461126c565b6001600160a01b03811615613336576132ce816311686e4b60e21b614583565b15613336576040516311686e4b60e21b81526001600160a01b038481166004830152602482018490528216906345a1b92c90604401600060405180830381600087803b15801561331d57600080fd5b505af1158015613331573d6000803e3d6000fd5b505050505b6000828152607760205260409020805461334f90615788565b159050610b9e576000828152607760205260408120610b9e91614e41565b600054610100900460ff166133d85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610986565b61102f828261459f565b600054610100900460ff1661344d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610986565b6119b3614623565b606f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f959c0e47a2fe3cf01e237ba4892e2cc3194d77cbfb33e434e40873225d6b595f9060200160405180910390a150565b33612906846129ed565b336000908152607660205260409020610b9e8284836158bc565b60006113a0836001600160a01b038416614697565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008160000361355757606e6000815461354d906157e8565b90915550606e5491505b61356384836000614348565b8251156135845760008281526077602052604090206135828482615a13565b505b5092915050565b6000805260766020527fafbc767fed27552cbeceb3d11150dacedabc53b0cc52ac5aa6285a747a181958610b9e8284836158bc565b816001600160a01b0316836001600160a01b0316036136215760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610986565b6001600160a01b038381166000818152606d6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6136b8827f45ffcdad00000000000000000000000000000000000000000000000000000000614583565b1561102f576001600160a01b0382166000818152607a6020908152604091829020805460ff191685151590811790915591519182527f072a7592283e2c2d1d56d21517ff6013325e0f55483f4828373ff4d98b0a1a36910160405180910390a25050565b613727848484612ac7565b613733848484846146e6565b61126c5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610986565b6060613584825b606080600060796000858152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b8282101561382e57600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900461ffff16818301528252600190920191016137e4565b505050509050805160000361397b576000613848856129ed565b90506001600160a01b038116156139795761386a81634e53ee3d60e11b614583565b156138f557604051634e53ee3d60e11b8152306004820152602481018690526001600160a01b03821690639ca7dc7a90604401600060405180830381865afa1580156138ba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526138e29190810190615bb7565b81519195509350156138f5575050915091565b6001600160a01b038116600090815260786020908152604080832080548251818502810185019093528083529193909284015b8282101561397257600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900461ffff1681830152825260019092019101613928565b5050505091505b505b8051600003613a1e576000808052607860209081527f081a134e404bb5bca49ef6b8477e647c1205f6d43d6a20bb692a968ac5aa71448054604080518285028101850190915281815293919290919084015b82821015613a1757600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900461ffff16818301528252600190920191016139cd565b5050505090505b805115613b5657805167ffffffffffffffff811115613a3f57613a3f6153be565b604051908082528060200260200182016040528015613a68578160200160208202803683370190505b509250805167ffffffffffffffff811115613a8557613a856153be565b604051908082528060200260200182016040528015613aae578160200160208202803683370190505b50915060005b8151811015613b5457818181518110613acf57613acf6157bc565b602002602001015160000151848281518110613aed57613aed6157bc565b60200260200101906001600160a01b031690816001600160a01b031681525050818181518110613b1f57613b1f6157bc565b60200260200101516020015161ffff16838281518110613b4157613b416157bc565b6020908102919091010152600101613ab4565b505b50915091565b6060600082118015613b705750606e548211155b613bac5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2103a37b5b2b760991b6044820152606401610986565b6000613bb7836129ed565b9050613bc46072826126d3565b15613c115760405162461bcd60e51b815260206004820152601560248201527f457874656e73696f6e20626c61636b6c697374656400000000000000000000006044820152606401610986565b60008381526077602052604090208054613c2a90615788565b159050613d44576001600160a01b03811660009081526076602052604090208054613c5490615788565b159050613ca5576001600160a01b038116600090815260766020908152604080832086845260778352928190209051613c8e939201615ce5565b604051602081830303815290604052915050919050565b60008381526077602052604090208054613cbe90615788565b80601f0160208091040260200160405190810160405280929190818152602001828054613cea90615788565b8015613d375780601f10613d0c57610100808354040283529160200191613d37565b820191906000526020600020905b815481529060010190602001808311613d1a57829003601f168201915b5050505050915050919050565b613d558163e9dc637560e01b614583565b15613dcd5760405163e9dc637560e01b8152306004820152602481018490526001600160a01b0382169063e9dc637590604401600060405180830381865afa158015613da5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113a09190810190615cfa565b6001600160a01b03811660009081526075602052604090205460ff16613e1f576001600160a01b0381166000908152607460205260409020613e0e8461483a565b604051602001613c8e929190615d68565b6001600160a01b03811660009081526074602052604090208054613cbe90615788565b50919050565b60405133906001600160a01b038316907fd19cf84cf0fec6bec9ddfa29c63adf83a55707c712f32c8285d6180a7890147990600090a361102f607082612f06565b613e946070836126d3565b613ee05760405162461bcd60e51b815260206004820152601e60248201527f43726561746f72436f72653a20496e76616c696420657874656e73696f6e00006044820152606401610986565b6001600160a01b0381161580613f025750613f0281631e05385b60e31b614583565b613f4e5760405162461bcd60e51b815260206004820152600f60248201527f496e76616c6964206164647265737300000000000000000000000000000000006044820152606401610986565b6001600160a01b038281166000908152607b602052604090205481169082161461102f576001600160a01b038281166000818152607b602052604080822080546001600160a01b031916948616948517905551339392917f6a835c4fcf7e0d398db3762332fdaa1471814ad39f1e2d6d0b3fdabf8efee3e091a45050565b60006001600160e01b031982167f5365e65c00000000000000000000000000000000000000000000000000000000148061402f57506001600160e01b031982167f28f10a2100000000000000000000000000000000000000000000000000000000145b8061403e575061403e82612618565b8061407257506001600160e01b031982167fbb3bafd600000000000000000000000000000000000000000000000000000000145b806140a657506001600160e01b031982167fb779958400000000000000000000000000000000000000000000000000000000145b806140da57506001600160e01b031982167fd5a06d4c00000000000000000000000000000000000000000000000000000000145b8061091057506001600160e01b031982167f2a55205a000000000000000000000000000000000000000000000000000000001492915050565b8281146141525760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606401610986565b6000805b8281101561418c57838382818110614170576141706157bc565b90506020020135826141829190615801565b9150600101614156565b506127108110610d5f5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420746f74616c20726f79616c746965730000000000000000006044820152606401610986565b60005b82811015612c9457816040518060400160405280888885818110614207576142076157bc565b905060200201602081019061421c9190614f06565b6001600160a01b0316815260200186868581811061423c5761423c6157bc565b61ffff602091820293909301358316909352508354600181810186556000958652948390208451910180549490930151909116600160a01b0275ffffffffffffffffffffffffffffffffffffffffffff199093166001600160a01b0390911617919091179055016141e1565b61126c848484846148da565b336000908152607b60205260409020546001600160a01b03161561102f57336000818152607b602052604090819020549051631e05385b60e31b815260048101929092526001600160a01b03848116602484015260448301849052169063f029c2d890606401600060405180830381600087803b15801561433457600080fd5b505af1158015612c94573d6000803e3d6000fd5b610b9e83838360405180602001604052806000815250614915565b6000818152600183016020526040812054801561444c576000614387600183615d8d565b855490915060009061439b90600190615d8d565b90508181146144005760008660000182815481106143bb576143bb6157bc565b90600052602060002001549050808760000184815481106143de576143de6157bc565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061441157614411615da0565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610910565b6000915050610910565b6001600160a01b038416301480159061447857506001600160a01b0384163b15155b6144c45760405162461bcd60e51b815260206004820152600760248201527f496e76616c6964000000000000000000000000000000000000000000000000006044820152606401610986565b60405133906001600160a01b038616907fd8cb8ba4086944eabf43c5535b7712015e4d4c714b24bf812c040ea5b7a3e42a90600090a36001600160a01b038416600090815260746020526040902061451d8385836158bc565b506001600160a01b0384166000908152607560205260409020805460ff191682151517905561454d6070856134cd565b5061126c84600161368e565b6000826000018281548110614570576145706157bc565b9060005260206000200154905092915050565b600061458e83614a78565b80156113a057506113a08383614aab565b600054610100900460ff1661460a5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610986565b60686146168382615a13565b506069610b9e8282615a13565b600054610100900460ff1661468e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610986565b6119b3336134e2565b60008181526001830160205260408120546146de57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610910565b506000610910565b60006001600160a01b0384163b1561483257604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061472a903390899088908890600401615db6565b6020604051808303816000875af1925050508015614765575060408051601f3d908101601f1916820190925261476291810190615df2565b60015b614818573d808015614793576040519150601f19603f3d011682016040523d82523d6000602084013e614798565b606091505b5080516000036148105760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610986565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612abf565b506001612abf565b6060600061484783614b49565b600101905060008167ffffffffffffffff811115614867576148676153be565b6040519080825280601f01601f191660200182016040528015614891576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461489b57509392505050565b6001600160a01b0384161561126c5761ffff81166000908152607e602052604090205461126c908590859085906001600160a01b0316614c2b565b6001600160a01b03841661496b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610986565b6000838152606a60205260409020546001600160a01b0316156149d05760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610986565b6149dd60008585856142a8565b6001600160a01b038085166000818152606b6020908152604080832080546001019055805180820182528481526bffffffffffffffffffffffff8089168285019081528a8652606a9094528285209151935116600160a01b02929095169190911790935591518592907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461373360008585846146e6565b6000614a8b826301ffc9a760e01b614aab565b80156109105750614aa4826001600160e01b0319614aab565b1592915050565b604080516001600160e01b03198316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166301ffc9a760e01b178152825160009392849283928392918391908a617530fa92503d91506000519050828015614b32575060208210155b8015614b3e5750600081115b979650505050505050565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310614b92577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310614bbe576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310614bdc57662386f26fc10000830492506010015b6305f5e1008310614bf4576305f5e100830492506008015b6127108310614c0857612710830492506004015b60648310614c1a576064830492506002015b600a83106109105760010192915050565b6001600160a01b0384161561126c576001600160a01b03811615801590614c6a57506001600160a01b0381166000908152607a602052604090205460ff165b15614d4157604051632f3537c560e11b81523360048201526001600160a01b038581166024830152848116604483015260648201849052821690635e6a6f8a906084016020604051808303816000875af1158015614ccc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cf09190615e0f565b614d3c5760405162461bcd60e51b815260206004820152601a60248201527f457874656e73696f6e20617070726f76616c206661696c7572650000000000006044820152606401610986565b61126c565b606f546001600160a01b03161561126c57606f54604051632f3537c560e11b81523360048201526001600160a01b03868116602483015285811660448301526064820185905290911690635e6a6f8a906084016020604051808303816000875af1158015614db3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614dd79190615e0f565b61126c5760405162461bcd60e51b815260206004820152601a60248201527f457874656e73696f6e20617070726f76616c206661696c7572650000000000006044820152606401610986565b50805460008255906000526020600020908101906109989190614e7b565b508054614e4d90615788565b6000825580601f10614e5d575050565b601f0160209004906000526020600020908101906109989190614ea9565b5b808211156111e657805475ffffffffffffffffffffffffffffffffffffffffffff19168155600101614e7c565b5b808211156111e65760008155600101614eaa565b6001600160e01b03198116811461099857600080fd5b600060208284031215614ee657600080fd5b81356113a081614ebe565b6001600160a01b038116811461099857600080fd5b600060208284031215614f1857600080fd5b81356113a081614ef1565b60005b83811015614f3e578181015183820152602001614f26565b50506000910152565b60008151808452614f5f816020860160208601614f23565b601f01601f19169290920160200192915050565b6020815260006113a06020830184614f47565b600060208284031215614f9857600080fd5b5035919050565b60008060408385031215614fb257600080fd5b8235614fbd81614ef1565b946020939093013593505050565b600081518084526020808501945080840160005b83811015614ffb57815187529582019590820190600101614fdf565b509495945050505050565b6020815260006113a06020830184614fcb565b60008083601f84011261502b57600080fd5b50813567ffffffffffffffff81111561504357600080fd5b602083019150836020828501011115610fcf57600080fd5b60008060006040848603121561507057600080fd5b83359250602084013567ffffffffffffffff81111561508e57600080fd5b61509a86828701615019565b9497909650939450505050565b60008083601f8401126150b957600080fd5b50813567ffffffffffffffff8111156150d157600080fd5b6020830191508360208260051b8501011115610fcf57600080fd5b60008060008060006060868803121561510457600080fd5b85359450602086013567ffffffffffffffff8082111561512357600080fd5b61512f89838a016150a7565b9096509450604088013591508082111561514857600080fd5b50615155888289016150a7565b969995985093965092949392505050565b60008060006060848603121561517b57600080fd5b833561518681614ef1565b9250602084013561519681614ef1565b929592945050506040919091013590565b600080604083850312156151ba57600080fd5b50508035926020909101359150565b600080602083850312156151dc57600080fd5b823567ffffffffffffffff8111156151f357600080fd5b6151ff85828601615019565b90969095509350505050565b60008060006040848603121561522057600080fd5b833561522b81614ef1565b9250602084013567ffffffffffffffff81111561508e57600080fd5b6020808252825182820181905260009190848201906040850190845b818110156152885783516001600160a01b031683529284019291840191600101615263565b50909695505050505050565b600080600080604085870312156152aa57600080fd5b843567ffffffffffffffff808211156152c257600080fd5b6152ce888389016150a7565b909650945060208701359150808211156152e757600080fd5b506152f4878288016150a7565b95989497509550505050565b60008060006040848603121561531557600080fd5b833561532081614ef1565b9250602084013567ffffffffffffffff81111561533c57600080fd5b61509a868287016150a7565b801515811461099857600080fd5b6000806000806060858703121561536c57600080fd5b843561537781614ef1565b9350602085013567ffffffffffffffff81111561539357600080fd5b61539f87828801615019565b90945092505060408501356153b381615348565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156153fd576153fd6153be565b604052919050565b600067ffffffffffffffff82111561541f5761541f6153be565b50601f01601f191660200190565b600061544061543b84615405565b6153d4565b905082815283838301111561545457600080fd5b828260208301376000602084830101529392505050565b600082601f83011261547c57600080fd5b6113a08383356020850161542d565b6000806040838503121561549e57600080fd5b823567ffffffffffffffff808211156154b657600080fd5b6154c28683870161546b565b935060208501359150808211156154d857600080fd5b506154e58582860161546b565b9150509250929050565b60008060006040848603121561550457600080fd5b833567ffffffffffffffff81111561551b57600080fd5b61552786828701615019565b909450925050602084013561553b81615348565b809150509250925092565b6000806040838503121561555957600080fd5b823561556481614ef1565b9150602083013561557481615348565b809150509250929050565b60006020828403121561559157600080fd5b81356113a081615348565b600080604083850312156155af57600080fd5b82356155ba81614ef1565b9150602083013561ffff8116811461557457600080fd5b6000806000806000606086880312156155e957600080fd5b85356155f481614ef1565b9450602086013567ffffffffffffffff8082111561512357600080fd5b6000806000806080858703121561562757600080fd5b843561563281614ef1565b9350602085013561564281614ef1565b925060408501359150606085013567ffffffffffffffff81111561566557600080fd5b8501601f8101871361567657600080fd5b6156858782356020840161542d565b91505092959194509250565b600081518084526020808501945080840160005b83811015614ffb5781516001600160a01b0316875295820195908201906001016156a5565b6020815260006113a06020830184615691565b6040815260006156f06040830185615691565b82810360208401526157028185614fcb565b95945050505050565b803569ffffffffffffffffffff81168114610e7757600080fd5b6000806040838503121561573857600080fd5b823561574381614ef1565b91506157516020840161570b565b90509250929050565b6000806040838503121561576d57600080fd5b823561577881614ef1565b9150602083013561557481614ef1565b600181811c9082168061579c57607f821691505b602082108103613e4257634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016157fa576157fa6157d2565b5060010190565b80820180821115610910576109106157d2565b6000808335601e1984360301811261582b57600080fd5b83018035915067ffffffffffffffff82111561584657600080fd5b602001915036819003821315610fcf57600080fd5b60006020828403121561586d57600080fd5b6113a08261570b565b601f821115610b9e57600081815260208120601f850160051c8101602086101561589d5750805b601f850160051c820191505b81811015612c94578281556001016158a9565b67ffffffffffffffff8311156158d4576158d46153be565b6158e8836158e28354615788565b83615876565b6000601f84116001811461591c57600085156159045750838201355b600019600387901b1c1916600186901b178355610d5f565b600083815260209020601f19861690835b8281101561594d578685013582556020948501946001909201910161592d565b508682101561596a5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6040808252810184905260008560608301825b878110156159bf5782356159a281614ef1565b6001600160a01b031682526020928301929091019060010161598f565b5083810360208501528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8511156159f857600080fd5b8460051b915081866020830137016020019695505050505050565b815167ffffffffffffffff811115615a2d57615a2d6153be565b615a4181615a3b8454615788565b84615876565b602080601f831160018114615a765760008415615a5e5750858301515b600019600386901b1c1916600185901b178555612c94565b600085815260208120601f198616915b82811015615aa557888601518255948401946001909101908401615a86565b5085821015615ac35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b8082028115828204841417610910576109106157d2565b600082615b0757634e487b7160e01b600052601260045260246000fd5b500490565b600061ffff808316818103615b2357615b236157d2565b6001019392505050565b600067ffffffffffffffff821115615b4757615b476153be565b5060051b60200190565b600082601f830112615b6257600080fd5b81516020615b7261543b83615b2d565b82815260059290921b84018101918181019086841115615b9157600080fd5b8286015b84811015615bac5780518352918301918301615b95565b509695505050505050565b60008060408385031215615bca57600080fd5b825167ffffffffffffffff80821115615be257600080fd5b818501915085601f830112615bf657600080fd5b81516020615c0661543b83615b2d565b82815260059290921b84018101918181019089841115615c2557600080fd5b948201945b83861015615c4c578551615c3d81614ef1565b82529482019490820190615c2a565b91880151919650909350505080821115615c6557600080fd5b506154e585828601615b51565b60008154615c7f81615788565b60018281168015615c975760018114615cac57615cdb565b60ff1984168752821515830287019450615cdb565b8560005260208060002060005b85811015615cd25781548a820152908401908201615cb9565b50505082870194505b5050505092915050565b6000612abf615cf48386615c72565b84615c72565b600060208284031215615d0c57600080fd5b815167ffffffffffffffff811115615d2357600080fd5b8201601f81018413615d3457600080fd5b8051615d4261543b82615405565b818152856020838501011115615d5757600080fd5b615702826020830160208601614f23565b6000615d748285615c72565b8351615d84818360208801614f23565b01949350505050565b81810381811115610910576109106157d2565b634e487b7160e01b600052603160045260246000fd5b60006001600160a01b03808716835280861660208401525083604083015260806060830152615de86080830184614f47565b9695505050505050565b600060208284031215615e0457600080fd5b81516113a081614ebe565b600060208284031215615e2157600080fd5b81516113a08161534856fe41646d696e436f6e74726f6c3a204d757374206265206f776e6572206f722061a26469706673582212201a564c1f1cc1a0ca70730291d1f4ef3a90f2a63f760972faddfbc612d326740064736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041ff00582103ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c7041010219010405581d020e266b404302518ad43b315b06cdd85d8de8a5777f5abbb5d76d82c40701195e8205581d02b7b1582dd75619e25aafb784eb0a34d491616de04a206e61b9918de00c0546a934be17797805581d022d502e856a879ed646712d5fb3982a844383cc15263c697d29cf82c40401021910a1031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0307c3e09045939822c158d772d0015d39c8ac626d2682920f7a8d04de4007011bffffffffffffffff03f1e2d8e2f0f31371bd3b842c699fa75abfcbe0bdc576fabfbafda607c5a9429705581e037ed42338d02cdc853d937f5c93ec4acd206d66d7ae61160252a1e065100c0147016b2b852ab63003210a18a2accfbccab2d3993bc69a22431f30bd81687c2b9218c4341aca7f4f1a030e04d3a1b74dbdd904332738a6fbf7978a3be3d2aa2d7bd7a4a4cec497535ceb05581e03a1f893e3f6570ed46d3d27753b61fd282f3b40e324ab85cf9e147e78e007011bffffffffffffffff03dcf182706ef7caf1dfa3ff3529136ec4e3be7dcc63bc11da5930a45aa2e59b05031eb51ff3652baf1ec1824772c84ee11d47b0acb13721ac13a1d3a444c9e1cec805581e03711cb285e67f8d6662e102e550747f809e5b14bfa82c0bfc234d93c90007011bffffffffffffffff05581e037e6a12f6c36c1e8d8956eb68beba854b80502584449568b78ae23aba60040105581e03117a8e32f869bb994fca94d0e55b30195f251dac39b1ca7d3680d19810040105581e0398b126a5d6be5e0c0e1157cc92fca6a457b1fbeebaccdb2a43919e3d000402021989f7034bb3ec50bf6d61f85f0d3db673ce17e9806b6ff722df7696d1c2207645b8ef2b036939fde4f80d5a5d0fb6d16f78681100402e917016fffecb7c5b80327657f458033a299f368d050d78e401019206d4cdb097e0ae3c81ba651d1f66c93b6164e6000376c95aff653a1932354f999b640ac4ada7d0eeb7d363b836eaaa6fd53523da0403d93d345d557d321ec1544826b2e304417377943a28c677a7fbb44fddb470bf250336cb1bc9687d0843c2b61f54e9ed8ff1478345026d62209693d411799626eac403bb761b365b560559a9c48fa51ffa1512929cef5ac3acb2c091685d1aeeb4a4fa037d1be3b5aaa9e73e04e14726e3fd46843454591ee45ab8e8f670af0a2d07f04003a33269277d9104bab5fe7d898301a3f98a9e0fc7f3313f7847e241d8130ad70b03f6a5d508752aa0b80af97c80afa019677acc91eb81f7ebbdf4ae2555686be740031780a0e222baadbab342c9479571ceafb8ba685545d18562b005fdb0014eefee03ff22abdd888546e57d0063de22c5cfe1528e2060156328ae81224de81f2878b10219ffff03b07752340b170492087acae57528f9b33c81c44b1b23a1300a09913860f579660219ffff03763955ce6b8ee84a5c9d6e0ebc9b12a1102be438c8b7c1252e3339caf7a061c1039794b019839b39c79593610cebd05cbbb829cb7c0cc9b3f129c02c870b0c20fd038c23910c3d92c364a1b04c9c7bd8370818c9fbbc66880037c5e31b58d79bea4503c284ce9a945a700cb6f44a9e2a5b457752d562cc9382c8d3d59ecb97a7b319c503a6c31100be48d6f26e8fe007537c6712216c0bb74f86c1c8e4d4493f2fb35db2032a5828b71257d5be1a5bda2eddb876079a956b0832ea710efd02c332db5b84ef03b5d6d5e3bcc1c7f79fe8a95a4fd18c2ec040b65c86094380539feeba70e7330b03633e3754832de6c51f5e0e65d39b24ffcb75e3133be6322dd55ebe2ee328699e039a91951f67713da648c29c6d7c097953fd34e3ee63ecfb17220c70de773bfbe90219ffff03f77e1c4d487a3451434906ef768037befcc069e5404d1c688e6bfaaf15ea6d200219ffff036c02af5017b58bda043913b89f5775ac1b2315ecf764bfecdf41c46478bab19903eca2639bcbab2e1b92ab75e03d8e00a9a6f1f0c8bfa8b848eb5bee5e6fba40a00306453016e623f0c237b56ff2f98855ee952238b84bb1ccae4be7f259626fe21e03c973f5ed8cff112a8ac1242d858a447df4006205931c84d5cc599e789565d9bb0344a0a7acd2574dc75c0a3966426f104c0966248ffba8d6ae190085ccbd82b7a50350836150f1f69642cfd836cc3b0c2ce631a250a3583421d0ae55bc7003f6bef90343b21e852dca5c9b7bcd50de8b277e374810c112871818656e3653ece2f19bcb039054f883d0cca48620ae3e5cc6974b6b5bdeda1eecb6608bf2a6ca8e267cd3a703e029b95a326b01e763c808cd62a6afdfeaf50e2e89b5266bb1703dec5437b254034af3fc10d47c8b69661bcdaf6074ecc45d76708d2f16408c9c07f3c38eec2b6b0328134742a99713822c67659e9bf5d6b8ae4a83183e9cd2f00d89cda00921193803aca00e4e72073881fcd2913f38935f6419b23bf4b71c8692fcfc6c9df05ce864037db2c48460e45162afca9860bf916912cd9fc1c5b6586395feac5752d1e0d95503b2b7f5964073d660fc59816b9fdd353b395ffde6f62283e2a0278c7ca7ae562d03dd120504fe39eed455ef1e838e9c136fa2367731eb8e829f9016b1c00d5a6a87039829fe923fd5509ef9ebcc0d3170309b1487cbb6d7968698f0c21dfe9977079903964eda8a35fd14c4a302734a4be0af95484503528ae0c2eb7fd704abfbab65ab03ed6570111c025cfe3a174520a97e4dcc183f4ab5123d904cbb1b3bb3665bc52a035ea66c9eeb11fe13a2e885f46bc0bb5e30ace7f121b658610608c0f71fe44a370323438ed9d8f3fab2cb62f571878970a327dd434a46f8f466da220c48fc342800031e65043fd46ec57dd7576fbdb7084e42727d10d32cd5e877cbd6b0296e1a295903a87ad9878f3cf74db4a2e6b48aa0f625c5c48253e51725d55375c2a545ac053b05581e038e3088ca1486d7f97ceb23c72d48b1960473184072bf522cd56585cab0040305581d02df9c312a091817d5d4fb224bea646297d27a9f6e304fff2278551eda0c02410905581d024e96b8314e72bba74fce4bfff1fee05bb6c5891699bba09ad0ddc835040204595dd96080604052600436106102605760003560e01c80637ecebe0011610144578063c2438267116100b6578063e30c39781161007a578063e30c3978146107a1578063e65e9f19146107bf578063e7efc178146107df578063ef706adf146107ff578063f2fde38b1461081f578063f47b77401461083f57600080fd5b8063c2438267146106f3578063c63f605214610713578063c87df1c214610741578063d386b34314610761578063e263967e1461078157600080fd5b8063906524fc11610108578063906524fc1461064a578063a49c04be1461066a578063a4b2c6741461068a578063addd5099146106a0578063b2a0bb86146106cd578063be5898ff146106e057600080fd5b80637ecebe00146105a35780638129fc1c146105d05780638553b234146105e55780638593d5fc146105f85780638da5cb5b1461061857600080fd5b80634f1ef286116101dd578063627cdcb9116101a1578063627cdcb91461050457806365360843146105195780636992aa3614610539578063715018a614610559578063736da5ad1461056e57806379ba50971461058e57600080fd5b80634f1ef2861461047c57806352d1902d1461048f5780635b43226f146104a45780635e05b33c146104c4578063619a309f146104e457600080fd5b80633659cfe6116102245780633659cfe6146103e95780633ed7d74d1461040957806341af37631461041c5780634658ad621461043c5780634ae25a861461045c57600080fd5b8063017d0ae0146102eb57806306aec5ef1461033657806308a8e4a314610356578063150b7a02146103845780632e2fb18b146103c957600080fd5b366102e657336001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac16148015906102c75750336001600160a01b037f000000000000000000000000b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea51614155b156102e4576040516282b42960e81b815260040160405180910390fd5b005b600080fd5b3480156102f757600080fd5b50610323610306366004614958565b60cc60209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b34801561034257600080fd5b506102e46103513660046149af565b610862565b34801561036257600080fd5b50610323610371366004614a09565b6101656020526000908152604090205481565b34801561039057600080fd5b506103b061039f366004614a6a565b630a85bd0160e11b95945050505050565b6040516001600160e01b0319909116815260200161032d565b3480156103d557600080fd5b506103236103e4366004614adc565b610a36565b3480156103f557600080fd5b506102e4610404366004614b69565b611120565b610323610417366004614b99565b611208565b34801561042857600080fd5b506102e4610437366004614c21565b61129d565b34801561044857600080fd5b506102e4610457366004614c78565b611501565b34801561046857600080fd5b506102e4610477366004614cf6565b6118e6565b6102e461048a366004614d80565b611922565b34801561049b57600080fd5b506103236119f2565b3480156104b057600080fd5b506102e46104bf366004614e43565b611aa5565b3480156104d057600080fd5b506102e46104df366004614ea6565b611c5f565b3480156104f057600080fd5b506102e46104ff366004614ee6565b611e1f565b34801561051057600080fd5b506102e4611f60565b34801561052557600080fd5b506102e4610534366004614f44565b611f6b565b34801561054557600080fd5b506102e4610554366004614a09565b611fb2565b34801561056557600080fd5b506102e4611fbf565b34801561057a57600080fd5b506102e4610589366004614c21565b611fd1565b34801561059a57600080fd5b506102e46121e6565b3480156105af57600080fd5b506103236105be366004614b69565b60006020819052908152604090205481565b3480156105dc57600080fd5b506102e461225d565b6102e46105f3366004614f8f565b612375565b34801561060457600080fd5b50610323610613366004614b99565b6123fc565b34801561062457600080fd5b506068546001600160a01b03165b6040516001600160a01b03909116815260200161032d565b34801561065657600080fd5b50610323610665366004615009565b61266c565b34801561067657600080fd5b506102e4610685366004615045565b61267d565b34801561069657600080fd5b5061032360025481565b3480156106ac57600080fd5b506103236106bb366004614b69565b60016020526000908152604090205481565b6103236106db366004614adc565b6129f2565b6103236106ee36600461507c565b612a85565b3480156106ff57600080fd5b5061032361070e3660046150f7565b612b10565b34801561071f57600080fd5b5061032361072e366004614a09565b6101646020526000908152604090205481565b34801561074d57600080fd5b506102e461075c366004614ea6565b612b1b565b34801561076d57600080fd5b5061032361077c36600461507c565b612ca8565b34801561078d57600080fd5b5061032361079c366004615114565b612e43565b3480156107ad57600080fd5b50609a546001600160a01b0316610632565b3480156107cb57600080fd5b506103236107da36600461517d565b612f70565b3480156107eb57600080fd5b506102e46107fa366004614f8f565b612f83565b34801561080b57600080fd5b506102e461081a366004614a09565b613164565b34801561082b57600080fd5b506102e461083a366004614b69565b61316e565b34801561084b57600080fd5b506108546131df565b60405161032d9291906151ef565b828261086e8282613298565b61088b57604051636946eab760e01b815260040160405180910390fd5b84610895816132da565b156108b357604051632e42ba1f60e01b815260040160405180910390fd5b306108be8580615211565b6108c89080615231565b6108d6906020810190614b69565b6001600160a01b0316148061090c57506108f66040870160208801614b69565b6001600160a01b0316336001600160a01b031614155b15610929576040516282b42960e81b815260040160405180910390fd5b60006109358787613305565b60405163335a845360e21b8152909150735c55cd67a6bd0d4c315b50cb6cd589bfb080017e9063cd6a114c906109fd908a908a908a9087907f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac907f000000000000000000000000000000000000ad05ccc4f10045630fb830b95127907f00000000000000000000000000000000000111abe46ff893f3b2fdf1f759a8a8907f0000000000000000000000000000000000b92d5d043faf7cecf7e2ee6aaed23290600401615653565b60006040518083038186803b158015610a1557600080fd5b505af4158015610a29573d6000803e3d6000fd5b5050505050505050505050565b600084610a438580615211565b60200135610a518282613298565b610a6e57604051636946eab760e01b815260040160405180910390fd5b86610a78816132da565b15610a9657604051632e42ba1f60e01b815260040160405180910390fd5b610aa66040870160208801614b69565b6001600160a01b0316610abf60608a0160408b01614b69565b6001600160a01b031614610ae65760405163f8492b0160e01b815260040160405180910390fd5b600080610b098a610af78b80615211565b610b0460208d018d6156bb565b613404565b9092509050610b2b88610b206101408201826156bb565b8a8e6060013561351d565b955080871015610d35576001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd610b7160208b018b614b69565b610b7e60208e018e614b69565b8a6040518463ffffffff1660e01b8152600401610b9d93929190615701565b6020604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be09190615725565b506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd33610c1e60208e018e614b69565b8a85036040518463ffffffff1660e01b8152600401610c3f93929190615701565b6020604051808303816000875af1158015610c5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c829190615725565b506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd33610cbd8c80615211565b610ccb906020810190614b69565b8486036040518463ffffffff1660e01b8152600401610cec93929190615701565b6020604051808303816000875af1158015610d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2f9190615725565b50611113565b81871015610f0b576001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd610d7960208b018b614b69565b610d8660208e018e614b69565b846040518463ffffffff1660e01b8152600401610da593929190615701565b6020604051808303816000875af1158015610dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de89190615725565b506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd610e2560208b018b614b69565b610e2f8c80615211565b610e3d906020810190614b69565b848b036040518463ffffffff1660e01b8152600401610e5e93929190615701565b6020604051808303816000875af1158015610e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea19190615725565b506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd33610edc8c80615211565b610eea906020810190614b69565b8a86036040518463ffffffff1660e01b8152600401610cec93929190615701565b6001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd610f4760208b018b614b69565b610f5460208e018e614b69565b846040518463ffffffff1660e01b8152600401610f7393929190615701565b6020604051808303816000875af1158015610f92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb69190615725565b506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd610ff360208b018b614b69565b610ffd8c80615211565b61100b906020810190614b69565b8486036040518463ffffffff1660e01b815260040161102c93929190615701565b6020604051808303816000875af115801561104b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106f9190615725565b506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd6110ac60208b018b614b69565b33858b036040518463ffffffff1660e01b81526004016110ce93929190615701565b6020604051808303816000875af11580156110ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111119190615725565b505b5050505050949350505050565b6001600160a01b037f000000000000000000000000b258ca5559b11cd702f363796522b04d7722ea561630036111715760405162461bcd60e51b815260040161116890615742565b60405180910390fd5b7f000000000000000000000000b258ca5559b11cd702f363796522b04d7722ea566001600160a01b03166111ba600080516020615d86833981519152546001600160a01b031690565b6001600160a01b0316146111e05760405162461bcd60e51b81526004016111689061578e565b6111e981613627565b604080516000808252602082019092526112059183919061362f565b50565b60405163f340fa0160e01b81523360048201526000906001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac169063f340fa019034906024016000604051808303818588803b15801561126d57600080fd5b505af1158015611281573d6000803e3d6000fd5b505050505061129386868686866123fc565b9695505050505050565b84846112a98282613298565b6112c657604051636946eab760e01b815260040160405180910390fd5b866112d08161379f565b6112ed576040516311836dc560e01b815260040160405180910390fd5b604051637e8c1b2d60e01b815260e08901356004820152610100890135602482015260c08901356044820152600090735c55cd67a6bd0d4c315b50cb6cd589bfb080017e90637e8c1b2d90606401602060405180830381865af4158015611358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137c91906157da565b905080876101000135118061139a57508861010001358760a0013514155b156113b8576040516369a61bf560e11b815260040160405180910390fd5b60405163036e164f60e31b815260808a0135600482015260c08a0135602482015260a08a01356044820152600090735c55cd67a6bd0d4c315b50cb6cd589bfb080017e90631b70b27890606401602060405180830381865af4158015611422573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144691906157da565b90506114568a8a838b8b8b6137cb565b6001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd61149260208b018b614b69565b61149f60208e018e614b69565b846040518463ffffffff1660e01b81526004016114be93929190615701565b6020604051808303816000875af11580156114dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a299190615725565b858561150d8282613298565b61152a57604051636946eab760e01b815260040160405180910390fd5b87611534816132da565b1561155257604051632e42ba1f60e01b815260040160405180910390fd5b61156260408a0160208b01614b69565b6001600160a01b0316336001600160a01b031614611592576040516282b42960e81b815260040160405180910390fd5b620697808660a0013511156115ba57604051635177028760e11b815260040160405180910390fd5b6115c88989898989896137cb565b60405163036e164f60e31b815260808a0135600482015260c08a0135602482015260a08a01356044820152600090735c55cd67a6bd0d4c315b50cb6cd589bfb080017e90631b70b27890606401602060405180830381865af4158015611632573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165691906157da565b90508088106117c1576001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd61169b60208a018a614b69565b6116a860208e018e614b69565b846040518463ffffffff1660e01b81526004016116c793929190615701565b6020604051808303816000875af11580156116e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061170a9190615725565b506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd61174760208a018a614b69565b61175760408e0160208f01614b69565b848c036040518463ffffffff1660e01b815260040161177893929190615701565b6020604051808303816000875af1158015611797573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bb9190615725565b506118da565b6001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd6117fd60208a018a614b69565b61180a60208e018e614b69565b8b6040518463ffffffff1660e01b815260040161182993929190615701565b6020604051808303816000875af1158015611848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186c9190615725565b506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd6118ac60408d0160208e01614b69565b6118b960208e018e614b69565b8b85036040518463ffffffff1660e01b81526004016114be93929190615701565b50505050505050505050565b8060005b8181101561191c5761191433858584818110611908576119086157f3565b90506020020135613988565b6001016118ea565b50505050565b6001600160a01b037f000000000000000000000000b258ca5559b11cd702f363796522b04d7722ea5616300361196a5760405162461bcd60e51b815260040161116890615742565b7f000000000000000000000000b258ca5559b11cd702f363796522b04d7722ea566001600160a01b03166119b3600080516020615d86833981519152546001600160a01b031690565b6001600160a01b0316146119d95760405162461bcd60e51b81526004016111689061578e565b6119e282613627565b6119ee8282600161362f565b5050565b6000306001600160a01b037f000000000000000000000000b258ca5559b11cd702f363796522b04d7722ea561614611a925760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401611168565b50600080516020615d8683398151915290565b8060005b8181101561191c5736848483818110611ac457611ac46157f3565b9050610140020160000190506000858584818110611ae457611ae46157f3565b9050610140020161012001359050816000016020810190611b059190614b69565b6001600160a01b0316336001600160a01b031614611b35576040516282b42960e81b815260040160405180910390fd5b611b3f8282613298565b611b5c57604051636946eab760e01b815260040160405180910390fd5b611b65826132da565b15611c55576000818152610164602052604080822091909155611b8e9060608401908401614b69565b6001600160a01b03166342842e0e30611baa6020860186614b69565b85606001356040518463ffffffff1660e01b8152600401611bcd93929190615701565b600060405180830381600087803b158015611be757600080fd5b505af1158015611bfb573d6000803e3d6000fd5b505050507fb71caf41fe0e019dbe21a1ae3493f11a729c31548ed1e304ae7f6e8c8df275de81836040016020810190611c349190614b69565b604080519283526001600160a01b0390911660208301520160405180910390a15b5050600101611aa9565b8181611c6b8282613298565b611c8857604051636946eab760e01b815260040160405180910390fd5b611c956020850185614b69565b6001600160a01b0316336001600160a01b031614611cc5576040516282b42960e81b815260040160405180910390fd5b60e084013515611ce857604051635bd3f04f60e01b815260040160405180910390fd5b60408051610120810190915280611d026020870187614b69565b6001600160a01b03168152602001856020016020810190611d239190614b69565b6001600160a01b03168152602001611d416060870160408801614b69565b6001600160a01b0316815260200185606001358152602001856080013581526020018560a0013581526020018560c001358152602001438152602001856101000135815250604051602001611d969190615809565b604051602081830303815290604052805190602001206101646000858152602001908152602001600020819055507fe5095dc360d1a56740c946cccc76520c1a1a57381c950520062adeda68dbf57283856040016020810190611df99190614b69565b604080519283526001600160a01b0390911660208301520160405180910390a150505050565b8282611e2b8282613298565b611e4857604051636946eab760e01b815260040160405180910390fd5b84611e52816132da565b15611e7057604051632e42ba1f60e01b815260040160405180910390fd5b611e806040870160208801614b69565b6001600160a01b0316336001600160a01b031614611eb0576040516282b42960e81b815260040160405180910390fd5b6000611ebc8787613305565b60405163e7fbdddb60e01b8152909150735c55cd67a6bd0d4c315b50cb6cd589bfb080017e9063e7fbdddb906109fd908a90899086907f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac907f000000000000000000000000b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea5907f0000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfb90600401615a31565b611f69336139e4565b565b611f73613a43565b8015611f9757506001600160a01b0316600090815260016020819052604090912055565b506001600160a01b0316600090815260016020526040812055565b611fba613a43565b600255565b611fc7613a43565b611f696000613a9d565b8484611fdd8282613298565b611ffa57604051636946eab760e01b815260040160405180910390fd5b86612004816132da565b1561202257604051632e42ba1f60e01b815260040160405180910390fd5b61202f6020890189614b69565b6001600160a01b0316336001600160a01b03161461205f576040516282b42960e81b815260040160405180910390fd5b8760c00135866101000135118061207f57508761010001358660a0013514155b1561209d576040516369a61bf560e11b815260040160405180910390fd5b60405163036e164f60e31b81526080890135600482015260c0890135602482015260a08901356044820152600090735c55cd67a6bd0d4c315b50cb6cd589bfb080017e90631b70b27890606401602060405180830381865af4158015612107573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212b91906157da565b905061213b8989838a8a8a6137cb565b6001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd61217760208a018a614b69565b61218460208d018d614b69565b846040518463ffffffff1660e01b81526004016121a393929190615701565b6020604051808303816000875af11580156121c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118da9190615725565b609a5433906001600160a01b031681146122545760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401611168565b61120581613a9d565b603554610100900460ff161580801561227d5750603554600160ff909116105b806122975750303b158015612297575060355460ff166001145b6122fa5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401611168565b6035805460ff19166001179055801561231d576035805461ff0019166101001790555b612325613ab6565b61232d613add565b8015611205576035805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60405163f340fa0160e01b81523360048201527f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac6001600160a01b03169063f340fa019034906024016000604051808303818588803b1580156123d757600080fd5b505af11580156123eb573d6000803e3d6000fd5b505050505061191c84848484612f83565b6000306124098380615211565b6124139080615231565b612421906020810190614b69565b6001600160a01b031603612447576040516282b42960e81b815260040160405180910390fd5b620697808660a00135111561246f57604051635177028760e11b815260040160405180910390fd5b600061247b8380615211565b6124859080615231565b60800135905060006124978480615211565b6124a19080615231565b60e00135905060006040518061012001604052808a60000160208101906124c89190614b69565b6001600160a01b03168152602001336001600160a01b031681526020018a60200160208101906124f89190614b69565b6001600160a01b031681526020018481526020018781526020014281526020018a61010001358152602001600081526020018a60a001358152509050806040516020016125459190615809565b60408051601f19818403018152918152815160209283012061016380546001810190915560008181526101649094529190922091909155935061258b8989898488613b0c565b60405163275143d760e01b8152735c55cd67a6bd0d4c315b50cb6cd589bfb080017e9063275143d790612630908c9089908b90899089907f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac907f000000000000000000000000000000000000ad05ccc4f10045630fb830b95127907f0000000000000000000000000000000000dab4a563819e8fd93dba3b25bc349590600401615b1a565b60006040518083038186803b15801561264857600080fd5b505af415801561265c573d6000803e3d6000fd5b5050505050505095945050505050565b600061267782613cc6565b92915050565b82826126898282613298565b6126a657604051636946eab760e01b815260040160405180910390fd5b846126b08161379f565b6126cd576040516311836dc560e01b815260040160405180910390fd5b604051637e8c1b2d60e01b815260e08701356004820152610100870135602482015260c08701356044820152600090735c55cd67a6bd0d4c315b50cb6cd589bfb080017e90637e8c1b2d90606401602060405180830381865af4158015612738573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275c91906157da565b90508085111561277f576040516347765d3b60e11b815260040160405180910390fd5b60405163036e164f60e31b81526080880135600482015260c0880135602482015260a08801356044820152600090735c55cd67a6bd0d4c315b50cb6cd589bfb080017e90631b70b27890606401602060405180830381865af41580156127e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061280d91906157da565b9050604051806101200160405280336001600160a01b0316815260200189602001602081019061283d9190614b69565b6001600160a01b0316815260200161285b60608b0160408c01614b69565b6001600160a01b0316815260200189606001358152602001828152602001428152602001878152602001600081526020018961010001358152506040516020016128a59190615809565b604051602081830303815290604052805190602001206101646000898152602001908152602001600020819055507f558a9295c62e9e1b12a21c8fe816f4816a2e0269a53157edbfa16017b11b9ac9878960400160208101906129089190614b69565b604080519283526001600160a01b039091166020830152339082015260608101839052608081018890526101008a013560a082015260c00160405180910390a16001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd3361298560208c018c614b69565b846040518463ffffffff1660e01b81526004016129a493929190615701565b6020604051808303816000875af11580156129c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129e79190615725565b505050505050505050565b60405163f340fa0160e01b81523360048201526000906001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac169063f340fa019034906024016000604051808303818588803b158015612a5757600080fd5b505af1158015612a6b573d6000803e3d6000fd5b5050505050612a7c85858585610a36565b95945050505050565b60405163f340fa0160e01b81523360048201526000906001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac169063f340fa019034906024016000604051808303818588803b158015612aea57600080fd5b505af1158015612afe573d6000803e3d6000fd5b50505050506112938686868686612ca8565b600061267782613dc7565b8181612b278282613298565b612b4457604051636946eab760e01b815260040160405180910390fd5b83612b4e816132da565b15612b6c57604051632e42ba1f60e01b815260040160405180910390fd5b6000612b788686613305565b9050612b8a6060870160408801614b69565b6001600160a01b03166342842e0e30612ba960408a0160208b01614b69565b89606001356040518463ffffffff1660e01b8152600401612bcc93929190615701565b600060405180830381600087803b158015612be657600080fd5b505af1158015612bfa573d6000803e3d6000fd5b50506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac1691506323b872dd905033612c3d60208a018a614b69565b846040518463ffffffff1660e01b8152600401612c5c93929190615701565b6020604051808303816000875af1158015612c7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c9f9190615725565b50505050505050565b6000620697808660a001351115612cd257604051635177028760e11b815260040160405180910390fd5b604080516101208101909152610140830135906101808401359060009080612cfd60208c018c614b69565b6001600160a01b03168152602001336001600160a01b031681526020018a6020016020810190612d2d9190614b69565b6001600160a01b031681526020018481526020018781526020014281526020018a61010001358152602001600081526020018a60a00135815250905080604051602001612d7a9190615809565b60408051601f198184030181529181528151602092830120610163805460018101909155600081815261016490945291909220919091559350612dc08989898488613b0c565b604051637a8d3ec560e01b8152735c55cd67a6bd0d4c315b50cb6cd589bfb080017e90637a8d3ec590612630908c9089908b90899089907f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac907f000000000000000000000000b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea590600401615b80565b6000612e52868686868661351d565b9050612e646040870160208801614b69565b6001600160a01b03166342842e0e3330856040518463ffffffff1660e01b8152600401612e9393929190615701565b600060405180830381600087803b158015612ead57600080fd5b505af1158015612ec1573d6000803e3d6000fd5b50506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac1691506323b872dd9050612f036020890189614b69565b33866040518463ffffffff1660e01b8152600401612f2393929190615701565b6020604051808303816000875af1158015612f42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f669190615725565b5095945050505050565b6000612f7c8383613ed7565b9392505050565b838360200135612f938282613298565b612fb057604051636946eab760e01b815260040160405180910390fd5b85612fba816132da565b15612fd857604051632e42ba1f60e01b815260040160405180910390fd5b600080612fe789898989613404565b9092509050612ffc60608a0160408b01614b69565b6001600160a01b03166342842e0e30338c606001356040518463ffffffff1660e01b815260040161302f93929190615701565b600060405180830381600087803b15801561304957600080fd5b505af115801561305d573d6000803e3d6000fd5b50506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac1691506323b872dd9050336130a060208d018d614b69565b846040518463ffffffff1660e01b81526004016130bf93929190615701565b6020604051808303816000875af11580156130de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131029190615725565b506001600160a01b037f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac166323b872dd3361314360408d0160208e01614b69565b8486036040518463ffffffff1660e01b81526004016121a393929190615701565b6112053382613988565b613176613a43565b609a80546001600160a01b0383166001600160a01b031990911681179091556131a76068546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6040805180820182526003808252620312e360ec1b6020808401829052845180860186526005815264109b195b9960da1b90820152845180860190955291845292019190915260006132927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7fc4b8616ae0489f3c1b902f3ab01ae0a19589748eb5da617af5a0e62f9d3b72bf7fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b3613f33565b90509091565b6000826040516020016132ab9190615bde565b60408051601f198184030181529181528151602092830120600085815261016490935291205414905092915050565b600060e0820135158015906126775750436132fe61010084013560e0850135615c03565b1092915050565b60405163036e164f60e31b81526080830135600482015260c0830135602482015260a08301356044820152600090735c55cd67a6bd0d4c315b50cb6cd589bfb080017e90631b70b27890606401602060405180830381865af415801561336f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061339391906157da565b60008381526101646020526040808220919091559091507f2469cc9e12e74c63438d5b1117b318cd3a4cdaf9d659d9eac6d975d14d9632549083906133de9060608701908701614b69565b604080519283526001600160a01b0390911660208301520160405180910390a192915050565b6000806134146020860186614b69565b6001600160a01b031661342d6040880160208901614b69565b6001600160a01b031614613453576040516282b42960e81b815260040160405180910390fd5b61345e858585613f7c565b915061346e868660200135613305565b9050808210156134915760405163166877a960e21b815260040160405180910390fd5b7f7ffb5bd9cdc79a6f9bc6e00c82f43836e0afbb204d47972001f6e853764a8ef160208601356134c76060890160408a01614b69565b336134d860408b0160208c01614b69565b604080519485526001600160a01b039384166020860152918316848301529091166060808401919091528901356080830152519081900360a00190a194509492505050565b6000620697808660a00135111561354757604051635177028760e11b815260040160405180910390fd5b6040805161012081019091526000908061356460208a018a614b69565b6001600160a01b03168152602001336001600160a01b031681526020018860200160208101906135949190614b69565b6001600160a01b031681526020018481526020018581526020014281526020018861010001358152602001600081526020018860a001358152509050806040516020016135e19190615809565b60408051601f198184030181529181528151602092830120610163805460018101909155600081815261016490945291909220919091559150612f668787878486613b0c565b611205613a43565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156136675761366283614026565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156136c1575060408051601f3d908101601f191682019092526136be918101906157da565b60015b6137245760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401611168565b600080516020615d8683398151915281146137935760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401611168565b506136628383836140c2565b600060e0820135158015906126775750436137c361010084013560e0850135615c03565b101592915050565b6137db6040840160208501614b69565b6001600160a01b03166137f46060880160408901614b69565b6001600160a01b03161461381b5760405163f8492b0160e01b815260040160405180910390fd5b604080516101208101909152600090806138386020870187614b69565b6001600160a01b031681526020018860200160208101906138599190614b69565b6001600160a01b0316815260200161387760608a0160408b01614b69565b6001600160a01b03168152602001886060013581526020018681526020014281526020018561010001358152602001600081526020018560a001358152509050806040516020016138c89190615809565b60408051601f19818403018152918152815160209283012060008981526101649093529120556138fb848484848a613b0c565b7f558a9295c62e9e1b12a21c8fe816f4816a2e0269a53157edbfa16017b11b9ac98661392d6040870160208801614b69565b61393a6020880188614b69565b604080519384526001600160a01b03928316602085015291169082015260608101879052610100860135608082015260a0808701359082015260c0015b60405180910390a150505050505050565b6001600160a01b038216600081815260cc602090815260408083208584528252918290206001905590518381527f899cab278284ae4a91172caa0943607a0bcb19766254c3ebe1139be00650b102910160405180910390a25050565b6001600160a01b038116600081815260208190526040812080547fa82a649bbd060c9099cd7b7326e2b0dc9e9af0836480e0f849dc9eaa79710b3b9290613a2a90615c16565b918290555060405190815260200160405180910390a250565b6068546001600160a01b03163314611f695760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611168565b609a80546001600160a01b0319169055611205816140e7565b603554610100900460ff16611f695760405162461bcd60e51b815260040161116890615c2f565b603554610100900460ff16613b045760405162461bcd60e51b815260040161116890615c2f565b611f69614139565b6000613b1786613dc7565b9050613b4d81613b2a6020890189614b69565b613b3c6101408a016101208b01614b69565b88888b60e001358c60c00135614169565b620186a08661010001351115613b76576040516347765d3b60e11b815260040160405180910390fd5b856080013583608001511180613b93575085606001358360800151105b15613bb15760405163045f33d160e01b815260040160405180910390fd5b60008181526101656020526040908190205460808501519091613bd89083908a0135615c7a565b1015613bf75760405163cfe9d93160e01b815260040160405180910390fd5b836080015181016101656000848152602001908152602001600020819055507f06a333c2d6fe967ca967f7a35be2eb45e8caeb6cf05e16f55d42b91b5fe312558284896020016020810190613c4c9190614b69565b8751602089015160808a015160c08b015160608c01516101008d01516040516139779998979695949392919098895260208901979097526001600160a01b039586166040890152938516606088015291909316608086015260a085019290925260c084019190915260e08301526101008201526101200190565b60007f0788f777943101fd75ce00572555c09ccb9d6947462e151eb1c30a3abb7e4d53613cf66020840184614b69565b6020840135604085013560608601356080870135613d1a60c0890160a08a01614b69565b613d2f613d2a60c08b018b615c8d565b6141db565b600080613d3f60208d018d614b69565b6001600160a01b03908116825260208083019390935260409182016000205482519384019b909b52988916908201526060810196909652608086019490945260a085019290925260c084015290921660e0820152610100810191909152610120810191909152610140015b604051602081830303815290604052805190602001209050919050565b60007f72610d1bcebb1278eadeb92d76dcd0fb5be6da0615264c9f7f800f6f93be5ea1613df76020840184614b69565b613e076040850160208601614b69565b60408501356060860135608087013560a088013560c089013560e08a01356101008b0135613e3d6101408d016101208e01614b69565b6000808e6000016020810190613e539190614b69565b6001600160a01b03908116825260208083019390935260409182016000205482519384019e909e529b8c1690820152988a1660608a0152608089019790975260a088019590955260c087019390935260e08601919091526101008501526101208401526101408301529091166101608201526101808101919091526101a001613daa565b604080517f03fe346919ffc22a12814b7258c8a530a4932f55d4171092ca76977784a577d46020820152908101839052606081018290526000906080015b60405160208183030381529060405280519060200120905092915050565b6040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6000613fb8613f8a85613cc6565b613f976020870187614b69565b613fa760c0880160a08901614b69565b868689606001358a60800135614169565b600160cc6000613fcb6020880188614b69565b6001600160a01b03168152602080820192909252604090810160009081206080890135825290925281209190915561401461400960c0870187615c8d565b3388604001356142a5565b60409095013594909403949350505050565b6001600160a01b0381163b6140935760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401611168565b600080516020615d8683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6140cb836143f6565b6000825111806140d85750805b156136625761191c8383614436565b606880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b603554610100900460ff166141605760405162461bcd60e51b815260040161116890615c2f565b611f6933613a9d565b6141768787878787614521565b4282101561419757604051639cb1308760e01b815260040160405180910390fd5b6001600160a01b038616600090815260cc60209081526040808320848452909152902054600103612c9f576040516305c934c360e01b815260040160405180910390fd5b600080826001600160401b038111156141f6576141f6614d6a565b60405190808252806020026020018201604052801561421f578160200160208202803683370190505b5090508260005b818110156142735761424e868683818110614243576142436157f3565b9050604002016145f6565b838281518110614260576142606157f3565b6020908102919091010152600101614226565b50816040516020016142859190615cd6565b604051602081830303815290604052805190602001209250505092915050565b600083815b818110156143cb5760006127108888848181106142c9576142c96157f3565b6142df9260206040909202019081019150615d0c565b6142ed9061ffff1687615d27565b6142f79190615d3e565b90507f0000000000000000000000000000000000a39bb272e79075ade125fd351887ac6001600160a01b03166323b872dd878a8a8681811061433b5761433b6157f3565b90506040020160200160208101906143539190614b69565b846040518463ffffffff1660e01b815260040161437293929190615701565b6020604051808303816000875af1158015614391573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143b59190615725565b506143c08185615c03565b9350506001016142aa565b50828211156143ed5760405163192069c360e31b815260040160405180910390fd5b50949350505050565b6143ff81614026565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61449e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401611168565b600080846001600160a01b0316846040516144b99190615d60565b600060405180830381855af49150503d80600081146144f4576040519150601f19603f3d011682016040523d82523d6000602084013e6144f9565b606091505b5091509150612a7c8282604051806060016040528060278152602001615da660279139614666565b600061452c8661467f565b905082356020840135604085013560f81c61454a888583868661474c565b6001600160a01b038716156129e7575050506001600160a01b038416600090815260016020526040812054604185013591606186013591608187013560f81c9160828801359190036145af5760405163db8d1fb760e01b815260040160405180910390fd5b43600254826145be9190615c03565b10156145dd57604051630819bdcd60e01b815260040160405180910390fd5b6145e78a82614831565b94506118da888684878761474c565b60007f05b43f730f67de334a342883f867101fc7ef3361dfdff4a29a7aa97e0920ef7a6146266020840184615d0c565b6146366040850160208601614b69565b604051602001613daa9392919092835261ffff9190911660208301526001600160a01b0316604082015260600190565b60608315614675575081612f7c565b612f7c8383614909565b6040805180820182526005815264109b195b9960da1b602091820152815180830190925260038252620312e360ec1b910152600061190160f01b6147247f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7fc4b8616ae0489f3c1b902f3ab01ae0a19589748eb5da617af5a0e62f9d3b72bf7fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b3613f33565b6040516001600160f01b03199092166020830152602282015260428101839052606201613daa565b8260ff16601b1415801561476457508260ff16601c14155b1561478257604051630424f48960e41b815260040160405180910390fd5b6040805160008082526020820180845287905260ff861692820192909252606081018490526080810183905260019060a0016020604051602081039080840390855afa1580156147d6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158061480b5750806001600160a01b0316866001600160a01b031614155b1561482957604051638baa579f60e01b815260040160405180910390fd5b505050505050565b6040805180820182526005815264109b195b9960da1b602091820152815180830190925260038252620312e360ec1b910152600061190160f01b6148d67f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7fc4b8616ae0489f3c1b902f3ab01ae0a19589748eb5da617af5a0e62f9d3b72bf7fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b3613f33565b6148e08585613ed7565b6040516001600160f01b0319909316602084015260228301919091526042820152606201613f15565b8151156149195781518083602001fd5b8060405162461bcd60e51b81526004016111689190615d72565b6001600160a01b038116811461120557600080fd5b803561495381614933565b919050565b6000806040838503121561496b57600080fd5b823561497681614933565b946020939093013593505050565b6000610120828403121561499757600080fd5b50919050565b60006060828403121561499757600080fd5b600080600061016084860312156149c557600080fd5b6149cf8585614984565b925061012084013591506101408401356001600160401b038111156149f357600080fd5b6149ff8682870161499d565b9150509250925092565b600060208284031215614a1b57600080fd5b5035919050565b60008083601f840112614a3457600080fd5b5081356001600160401b03811115614a4b57600080fd5b602083019150836020828501011115614a6357600080fd5b9250929050565b600080600080600060808688031215614a8257600080fd5b8535614a8d81614933565b94506020860135614a9d81614933565b93506040860135925060608601356001600160401b03811115614abf57600080fd5b614acb88828901614a22565b969995985093965092949392505050565b6000806000806101808587031215614af357600080fd5b614afd8686614984565b93506101208501356001600160401b0380821115614b1a57600080fd5b9086019060408289031215614b2e57600080fd5b9093506101408601359080821115614b4557600080fd5b508501610160818803811315614b5a57600080fd5b94979396509490930135925050565b600060208284031215614b7b57600080fd5b8135612f7c81614933565b6000610140828403121561499757600080fd5b60008060008060006101a08688031215614bb257600080fd5b614bbc8787614b86565b94506101408601356001600160401b0380821115614bd957600080fd5b614be589838a01614a22565b90965094506101608801359350610180880135915080821115614c0757600080fd5b50614c148882890161499d565b9150509295509295909350565b60008060008060006102a08688031215614c3a57600080fd5b614c448787614984565b94506101208601359350614c5c876101408801614b86565b92506102808601356001600160401b03811115614abf57600080fd5b6000806000806000806102c08789031215614c9257600080fd5b614c9c8888614984565b955061012087013594506101408701359350614cbc886101608901614b86565b92506102a08701356001600160401b03811115614cd857600080fd5b614ce489828a01614a22565b979a9699509497509295939492505050565b60008060208385031215614d0957600080fd5b82356001600160401b0380821115614d2057600080fd5b818501915085601f830112614d3457600080fd5b813581811115614d4357600080fd5b8660208260051b8501011115614d5857600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215614d9357600080fd5b8235614d9e81614933565b915060208301356001600160401b0380821115614dba57600080fd5b818501915085601f830112614dce57600080fd5b813581811115614de057614de0614d6a565b604051601f8201601f19908116603f01168101908382118183101715614e0857614e08614d6a565b81604052828152886020848701011115614e2157600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60008060208385031215614e5657600080fd5b82356001600160401b0380821115614e6d57600080fd5b818501915085601f830112614e8157600080fd5b813581811115614e9057600080fd5b86602061014083028501011115614d5857600080fd5b6000806101408385031215614eba57600080fd5b614ec48484614984565b94610120939093013593505050565b6000610200828403121561499757600080fd5b60008060006101608486031215614efc57600080fd5b614f068585614984565b925061012084013591506101408401356001600160401b03811115614f2a57600080fd5b6149ff86828701614ed3565b801515811461120557600080fd5b60008060408385031215614f5757600080fd5b8235614f6281614933565b91506020830135614f7281614f36565b809150509250929050565b600060e0828403121561499757600080fd5b6000806000806101608587031215614fa657600080fd5b614fb08686614984565b93506101208501356001600160401b0380821115614fcd57600080fd5b614fd988838901614f7d565b9450610140870135915080821115614ff057600080fd5b50614ffd87828801614a22565b95989497509550505050565b60006020828403121561501b57600080fd5b81356001600160401b0381111561503157600080fd5b61503d84828501614f7d565b949350505050565b6000806000610160848603121561505b57600080fd5b6150658585614984565b956101208501359550610140909401359392505050565b60008060008060006101a0868803121561509557600080fd5b61509f8787614b86565b94506101408601356001600160401b03808211156150bc57600080fd5b6150c889838a01614a22565b909650945061016088013593506101808801359150808211156150ea57600080fd5b50614c1488828901614ed3565b6000610140828403121561510a57600080fd5b612f7c8383614b86565b60008060008060006101a0868803121561512d57600080fd5b6151378787614b86565b94506101408601356001600160401b0381111561515357600080fd5b61515f88828901614a22565b96999098509596610160810135966101809091013595509350505050565b6000806040838503121561519057600080fd5b50508035926020909101359150565b60005b838110156151ba5781810151838201526020016151a2565b50506000910152565b600081518084526151db81602086016020860161519f565b601f01601f19169290920160200192915050565b60408152600061520260408301856151c3565b90508260208301529392505050565b6000823560de1983360301811261522757600080fd5b9190910192915050565b6000823561019e1983360301811261522757600080fd5b803561525381614933565b6001600160a01b03168252602081013561526c81614933565b6001600160a01b0316602083015261528660408201614948565b6001600160a01b03166040830152606081810135908301526080808201359083015260a0808201359083015260c0808201359083015260e0808201359083015261010090810135910152565b80356002811061495357600080fd5b600281106152ff57634e487b7160e01b600052602160045260246000fd5b9052565b6000808335601e1984360301811261531a57600080fd5b83016020810192503590506001600160401b0381111561533957600080fd5b8060061b3603821315614a6357600080fd5b803561ffff8116811461495357600080fd5b8183526000602080850194508260005b858110156153b15761ffff6153818361534b565b1687528282013561539181614933565b6001600160a01b031687840152604096870196919091019060010161536d565b509495945050505050565b6000808335601e198436030181126153d357600080fd5b83016020810192503590506001600160401b038111156153f257600080fd5b803603821315614a6357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60006101a06154498461543c85614948565b6001600160a01b03169052565b615455602084016152d2565b61546260208601826152e1565b5061546f60408401614948565b6001600160a01b0316604085015261548960608401614948565b6001600160a01b0381166060860152506080830135608085015260a083013560a08501526154b960c08401614948565b6001600160a01b031660c085015260e08381013590850152610100808401359085015261012080840135908501526101406154f681850185615303565b8383880152615508848801828461535d565b9350505050610160808401358186015250610180615528818501856153bc565b8684038388015261553a848284615401565b979650505050505050565b803560ff8116811461495357600080fd5b6000813560de1983360301811261556c57600080fd5b60608452820180353682900361019e1901811261558857600080fd5b60e0606086015261559f610140860183830161542a565b90506155ad60208301615545565b60ff8116608087015250604082013560a0860152606082013560c08601526155d860808301836153bc565b868303605f190160e08801526155ef838284615401565b925050506155ff60a083016152d2565b61560d6101008701826152e1565b5060c082013561012086015261562660208501856153bc565b9250858203602087015261563b828483615401565b92505050604083013560408501528091505092915050565b6000610200615662838c615248565b896101208401528061014084015261567c8184018a615556565b61016084019890985250506001600160a01b039485166101808201529284166101a08401529083166101c08301529091166101e0909101529392505050565b6000808335601e198436030181126156d257600080fd5b8301803591506001600160401b038211156156ec57600080fd5b602001915036819003821315614a6357600080fd5b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006020828403121561573757600080fd5b8151612f7c81614f36565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6000602082840312156157ec57600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b81516001600160a01b0390811682526020808401518216908301526040808401519182169083015261012082019050606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525092915050565b803561588781614933565b6001600160a01b0316825261ffff6158a16020830161534b565b1660208301525050565b6000808335601e198436030181126158c257600080fd5b83016020810192503590506001600160401b038111156158e157600080fd5b8060051b3603821315614a6357600080fd5b81835260006001600160fb1b0383111561590c57600080fd5b8260051b80836020870137939093016020019392505050565b6000610200823561593581614933565b6001600160a01b03908116855260208401359061595182614933565b16602085015260408381013590850152606080840135908501526080808401359085015261598160a084016152d2565b61598e60a08601826152e1565b5061599f60c0850160c0850161587c565b610100838101359085015261012080840135908501526101408084013590850152610160808401359085015261018080840135908501526101a06159e5818501856158ab565b83838801526159f784880182846158f3565b93505050506101c0615a0b818501856153bc565b86840383880152615a1d848284615401565b93505050506101e0615528818501856153bc565b60006101c0615a40838a615248565b80610120840152615a5381840189615925565b61014084019790975250506001600160a01b039384166101608201529183166101808301529091166101a09091015292915050565b615a958261543c83614948565b615aa160208201614948565b6001600160a01b03811660208401525060408101356040830152606081013560608301526080810135608083015260a081013560a083015260c081013560c083015260e081013560e0830152610100808201358184015250610120615b07818301614948565b6001600160a01b0381168483015261191c565b6000610220615b29838c615a88565b80610140840152615b3c8184018b615556565b61016084019990995250506101808101959095526101a08501939093526001600160a01b039182166101c085015281166101e0840152166102009091015292915050565b6000610200615b8f838b615a88565b80610140840152615ba28184018a615925565b61016084019890985250506101808101949094526101a08401929092526001600160a01b039081166101c0840152166101e09091015292915050565b61012081016126778284615248565b634e487b7160e01b600052601160045260246000fd5b8082018082111561267757612677615bed565b600060018201615c2857615c28615bed565b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8181038181111561267757612677615bed565b6000808335601e19843603018112615ca457600080fd5b8301803591506001600160401b03821115615cbe57600080fd5b6020019150600681901b3603821315614a6357600080fd5b815160009082906020808601845b83811015615d0057815185529382019390820190600101615ce4565b50929695505050505050565b600060208284031215615d1e57600080fd5b612f7c8261534b565b808202811582820484141761267757612677615bed565b600082615d5b57634e487b7160e01b600052601260045260246000fd5b500490565b6000825161522781846020870161519f565b602081526000612f7c60208301846151c356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000811000a00582102cfa4bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d41ff05581d02f97e8c961310d1124810be02073d81f227859136767e0c10a77ea4340701195dd90219091003a1ac85c54f2b9c582f96f5b98802545367389e487bfb64dc6efb1000520ddac105581e03a9c6d4516e0b2dcec8b923f0ecac912ff7d3d124813386fd5be5d4bad0040105581e030759ec560edcdd6f71352845f41b908be20292668f490b9bfca41ac2700c0146906ae521f508030c0e5bea88a3a414a5e10aeb818e56e844fee4dafef4135fe180d4d09fb5f612031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03c86f1094c99218d041e075a0eeb5d552c1dc3c9d2353f6c0564573575007011bffffffffffffffff05581e03dedf57e6bdf28e5f4868202c27ee6250dba96da3507b98a3bda92b9ef00c044672eecef5d40005581e0365c0156f39d45cd9ad01c76fcbae77eecd58d72a61489b44d0a64c35900c0346afb6e15ee000031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03481b88db1880ef790d53507331fbb9fb2ace0497cad1a22eed65417de007011bffffffffffffffff02191f9b03e611ef5906c8fde8dc97815344d5d93436373fffd2955bba012a72bbd1686b3f031c84852998d2eee67421d79db401e68b3b14cd717ae58504f15b60a3ea80fa5e03ffb09d23754759e950122bee9b9d3b55ea52d95b2a42ca16debfb1d74f9b03a2032f278b117261ee3b17894a9ea654c8c00dfeddf9978ad3fee1bc86bf826dbac5038474eb60d2974257daab768ba36a472971619f207143c9c75434c29a990af1a303484a3710efd52f8a0295067c37a66425accca03c0982b6fb8000330635d5d7e40393943a6e0382f2f024c1bce88001d0ce8167a51bbecf62e5f8bddcb7c16c38350219ffff03958d80f85cc52b20e319f473706f21d7307907d13942f64c2d4a07fa71915ad503d0a4809b96fb7ee9909bac23396a69f429e6f88b702e2f07aeeb0b0b40030ee1037d14e18e5a714ce219be9ce56b1e84e435a555b7c35070472e9dd98b73a2839b0343057d435a15de9283b4c8fdfe57269940e84db276d6c871ef57917f7aa6f9b203687222801a9bfc4c48ecff6085b53c072981e636010689f60ad275886a0ca0a40376559638ce403bbcb935aa9d407957ff02cb057b41a7f1e9d06365aec621625d037c050652c1e1389de6b145fd652843ccc17bfdab92c4738634d63939f62b11aa039ae6342fae51980949133ab0de95a94661d73ca3894635fe9920a806d52564de03f9c487f8a99c08022318daed45d45ceaf9a337b796ea02e808d47d7beef93cea0219ffff030ec286a29cdc7c824ef77db3b6f39c811ae3753da12864fecafa3d81613f35340398b211ff857d8560da7c05561e8e3a884e359cb21d290970c9fbb2fbe6cf1d3503f739ce7859025720423728fd42d08efa367160ecf8c7f6a66b9c12e5a94883e603ed4c8854e9a2f41cf2ddb470c7425c46f53dad552073acfeb549d9b168fa10d803f519db8dd97ef43d834edb60697093b4ecb7fe93c47ba2b5a7accb2438954f2403fe351c52f7cc20b588bb75ed5b66397682437e34f46d83043fcb2225253db73c03799268008fa4d0654e79e0bea6cb0a06f2f75b23568328eeca0b9e8435d9db360304993cc1b86a123a1ba7b9b24d9f6f847052734f024671f48e1e8b927beac19603ce79b3c59dff0de052e138ac035c4f290da4ca070b1bc4341f0e174947834f1b0393644e76f61ba9505600719facf4c013ea0feb3947a8956db9cb568f3523152b0219ffff03116f30c7f77cd7bba7ffb4c557ebc782d1d8e15aaffdf66146b5bc7d6862921e03d77fa21d8937bb6ecc8f5509c171210c1926f99560ec7fd9b8efcaa547caee2d03a2104adcffd8865a27e9ee4c5edb584e7e0d47983edbe4d0f4b2364fa80d4ca70342c49788278ee3273a56a7fbbd5f622470e5055cf16c241944d5d4bcbf23967303151e823466e8a012fdd5662d1419ae1c57101ab0283fa0afcfc598de6da1efe5035a8e688183fb1762ab8928893c86292d9e761750c5d1ad7409303d8c4e82269703a143c03b5c69c6aad91c44490b5c4425a0eeb2f5ef5dffa1459937c18c54e407033f319abca5dfcb50b3a246fe1aa9fa18d36dfc38a4dd652c98fa2a91f8546573034ca138707153ce6c6a8792fea26db10118b4555ee3f3836347ef4798213c8b5f03b2986ab027337707658caedf0f59f3419889748595d2f60ecfe955a1c4b0561d038679cc4a614368f63a6a3e861e15b1517613e8bf1962a8607dd1d2f6b46632aa03497ce362a0fcc07e5fd8a0950dd8501908e8526903f78f1ebb9cc95d26673a0203a947cc961f57afd673b3a4d0653f4248e4bc3861dd596e6c39a0a3b5b1842667035bc6e9d22932fffe5817044be80fb53e46fe8144518f72ec7d0e1b2e567a27ba0345eb823a48db95a8441b21aba26eeb029ee621c2b5ca7b3b98da89e90f0affde03d7e31eee533ad4d50387e3ff0d5e6c5a8312c15f0eef9f9a929f4cdd9d5684a00334f2ba005ccde47c0c57ceccdf9354af793f385013310a98674c76deed9608f80322cca2120b47bd7d603735ef7c55b173547f5eeebb6caf948425c4d19f05f7b6038503ca09af80356d519eb2700cdcc375bb251bce6532cca7d48fa5029bf68a6c034cd8c71feb2cf5f3c47720697c73bc25b5231f9b1ef6a63ab1bb658f6b1a78f9035d456c46804b63510cb0fd0122ee6d2cd4a2e26fcc19b860043f32b51b95e0b103f953240c1dd4df6714181bb873dc1139440f7f83e15c8a34ed8a9b69bb4e5c1d036235233c0b0c3bfabf080c5a6ba93fbbeab2d6f4f10851f772c9a48599773d5e05581e0320c4b39e7ee9d26aa221557fa3d5deda8f21505bfc52bdb114ea5441f00c05470c18283cc5479903efd0a44fe4757994a6a68396173bd63c934001e1c512d677dedac86736b824ef05581e034db1e7fb3d5c8072e1815c9eaca84b19cdd3699fbe12bcda1ffcabea7004181c0459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb8b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000b7e746ff79cb76e2ec804698061aed9ca6c922ea1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a033473df841365f83d67f861b96d9b947e46e4bf33263dcef5c68fee11b718d1bf03d809d5cda3d5cbad63cb4b629a64ea8e01b74139ef885148ae6789541c2f9f9e03cae4693dd219dcde512f0019a276d3b32f42bbd1a100451dc7e5a2f60933973000582002da06d6c15d22dc37f74056fa9b142677ba04db6578c0aded02ad6ca0ad12a25820ffffffffffffff8c2a8c1770c01972600000000000000073d573e88f3fe68da00362685260dfed6139c4d8de8303b457c0e5848291c8ff29db102c3af5068dc105036a188018554d39a1a3985bdf80de7c7faeefdd1f7fd58767bb2ac92cada45c9103f040033d2d608a6a17f394f6c9004926474eecb71ea08892b7452d67ffcade71005820026544210f96c9aec90739de94319fc3489697936fc392b9614520e89dbef62c4f1394fb08cd22358829abd33aa47af4032d2c9ecc24a885296cc9976dba3cba9ae18b40ec85836ddce1d6c131eacf9e8803486b0d6b3a545f26b455d087b673dfe0236788120a0b27f999751ccbf1f173a80142005300582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000fe9d8d000000000000000002bdcd3cd5bd1fc6758e41bc00582003aa2d8cb74dbe300ae8293f826f46ac28d15c698a676b914ce572894689bbd04f309d6e2dbd6e1847dd3af819f016fb00582003ab60945849c43a291748e4f234adbbd64f9c37fa490c01f371d74abd58a8904f0500f980116ed89fa36622cd5321910058200370ee101dbeff8451605f24a4d5536f758ec0006ffca52ee1594c7ad02bf7305820fffffffffffffffffffffffffffffffffd3408692d42775122d71c353fbbe1e00219085103e63ac3ebc60ac998d44100e6c424773ea95c9ff3ce7a70cd810156ebf6afc921005820020cd5e03cbe4f44fbc16cc7c8562ef6746abf302be395ca0307592666850d805820fffffffffffffffffffffffffffffffff11a1277951a2d6cdb8cae4ca98d52ad0320a626d26439a8aaaf7542c7fda668d06df999335143a3e18b3aa10121c4816d034a55554f72fa9f09c71533b46e172a906296afaf7edfc9be80a698784e2aa045005820021262be4f69c2ffb468d3e9e6f043a64dedaa0c525dba5e3c503731dc0a31f8504dd2d3e2faaaa190ceea156e9e5afe0502197fbf03c1e2bb859bd75218bff0bef53e519da809c806bb98da468710ee39979df2cdf903765dc52a2e0ff57968d1e68f79ebb86bc1daa64f03bc4defb4397a8f50d66f7b03cff3c3878183c4327e858c7f022744423a56a7df2745d9b9668a5ccd5f46853e03bce41e5df936e049474166e8ab9f569b87821ac8546f8f4da85dac0a3bade81503b6b6d42decbf269ca19dd2a4ee62aacd85fac2865e6b26094e0c2f983ee3d77d0058200282a6e4c33d33d969613191e7b8ee0780a91ee6c8ff394a573205ec9611a3a45820ffffffffffffffffffffffffffffffff381e2cbba43e786c4727a03e7f07ac48005820020b5db23f8238892338477fe5447889035576b104425d72ff20e8879c09589c582001000d4ff40000000000000000000004053aec693514672541ffffedc7fbfdd80058200289c5b63d890bd7bcd31e599fdff97c62fd8aeaeec2ddc2154957565ce1896c4e150cff197ebc6e0dc609a041b5c60058200239fb6f894bb41fd53cbbc89ceed6e6d3b6f8bf0e190a3c127592c957853ca35002cbf796d2bd88aedd28e3cac0441e2003f152136b49f2ed88146837708ef60ec603ec6617ebab4b72a6a9bd4920e287be035125832555ac1eda2928b3119f9e1c86587fe072eee2016321e4f4efe33228fa00582002555b0f9333a68c63f88745c9e36d8250946fb7ce6dbd78ff5bdddbfac06b185820ffffffffffffffffffffffffffffffffe87f1c9bbd474f23be78f2e7e6e6bd5d03f6967329ab6b322cf904fdabd98573fa7d312444d3e22a8f748242146f67a80203faecb99584f316d02b8328c90015a22c96dcf746bc55781525d371f000b55add005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a02839fde49e0d0b9484d005820036737317f75206bb77dac775244bd1ace988deecdfab60df4830fd90e3077a04f03b5983a2fce350f81912ec60f742b005820031a658e35724310f5f2891a951c7706d603b3a173862901bf74439a276d27e051012c912b193ea57790fd8f25a20aaa863302194088039ddd402cceeb2a06134a32c2f937b8e5905b9ad5b1f6fb5463f8de88654adafe01410b03f257d000b99dc13a9e74bd79ebe776805e87665016285df0400405c3b59c63b0037899b0b260bc0d25137001f687bf392ddcb3302f8b0d076a877dc3a3defe9d7b0219d7fd03af450fc7d623bdd146416305f1918bc0f6061159ecfb9d99b741e466deb49853030c80ce17ed1c10c8a3b6b7ab3595c50dbea2617bfff3ad820e663b0d563b60eb03b2cbe9a53d0c907620411228aaab2d503b4399c057c9322e34685cd224d721e600582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6051061df0d789152bd28f3da38d1345b0d103030d6c0064cbd2c2eac5c07af8551543a30cc613240f28b682f80f0024e18a8cbc021841005820022f3930c4038a397e47a193a92302d12fe8bf339ee9848c1be891a5119a6bca4e4c0bf825a11959ef335f6f02db8e031c4fe9db67ee017675e216144166e86e7073ecb9ad514ee6ce8234be5b9224ae0058200245127fbea25025bdd841da014f2ce629f548488229b9fe83a94a2110fb23e7503fed4778655ad92912d9ef8e4eb6756503fbf01823a42c61dc03c44c8da84eab1b2d3215814fa0ead288d78b5b54a60986005820025e3e6f7fb6055a5a2e3d69bd810616570f358c308e458a719298b79f94a7ec5820010003ae9c0000000000000000000000a4a1bcd77d9d88e072fffffb238c3394033a972bb55685272e895b71e99de3c52f65dd95bc843788ce1519d359da9762d60058200291055cafff5fc7f21dc2efcf9f95e0a8db26fc8335a8d6a01864b049159a095820ffffffffffffffffffffffffffffffff7b642aeb055a794515b536589a2c7dac03ec174510975b55a9be5dfb53d460054c9b9ad406c22f14d2188f22fe76e3acda005820029e7f2e0fa894843950e03e9bc569c36c78f6ff98a080ea268e3b6aefdba3ee5101e47937a674b426100c96e67ad330c98a03040d7f942321f9ec51aa80074644076f6fc7a942fe25ea50e0ddbadfd6c77dba03ddfbf5462a0deef945578bb6b129e35812af251e926b835681ec91ffc13c53a4039e89b827b99bf3f072dd57de6f72d4f9502177183a84aa9e0968bad7fdb1994a00582002be0362c2971992445c54bcee2ad5c75f23315c20ec085541c595cdcd6e727258190ddbaaf46221932cb2000000000000000ddbaaf46221932cb20219feff03ef7348f2242f64e8953403e8650eab342c0804aa5e189385de6bea084d30a39c031fe9f933c7a614e262775ad110a3255c5458922c12cd4092f2a3c7ce5d46d30b0379d91a96a1c08d9fcf7559b83e69b14f90117b0a9efd3a5ffc09bfe7f65612ca005820022a84a82bfd44b3f65cb7608b636699877ff19e152390e869ed0df81ed8348450025898d9cd1987df895575ed1cd368eb0058200209c08893b4eeb7506df5d0ca0d669fbf0b644552dfe43a43e8ba6e1b2cb75651042d576760d13d0502576d08acc781dabf036eb9636bd3a60d2e50dbb208f605228b7341b65477ed10f96496671b9a674fbe005820033f122aa05b2f9be9a09ae24af4e1c2cd64574f2d148ff729f02f3f3edae6104e5df98ef659ab3c8b0954c6d571c50058200354d5fdf9aa7c8b06c68724232e8152b94cddf17354fa5c1967f389f6c9f2c0505e6f79b956a69eb42e4e07eec75688cc005820030aac876e83959c3d94c67f4e92e3dbb0f8a07ec0a1867b0074fb93c6810c30581d800000200000440020a10000080800c181008000000001003050a000d0005820031392c4f275e64171089560041e8b585a6f9d38855dbcc84e0beab8a8c1f28058200100000000000000000000000000000000000000000000000000000000000000021980860058200266b1743a1ee1c47ae58987f54b4321f8f52630dab3dc783d380892d9a748cd4f0229f85fb79337201e8ed1191555b203421b111232f708dcc3e5dceb81e6f92eeb2984b88b4e9be988475134fa82b5d800582002606aa39136405710985f264dab6c2e6db3c7f13af33266821e92cead5e49015820ffffffffffffff2bc79634790009033000000000000000d43869cb86fff6fcd003cdc127e37790f79a78f4e075bd7531ab4b10df9130d692853ad2869d853da389005820026eccaeb31ba9ac09194fd7fd51c4e3cd00bcf80593fdcc179abb86b7fd824d50a5368922d24b9fd6cf150d77ab3a9a6300582002682c85c80e399deadeca42e88d046596f1a1f7306b8631767d1d3f19df84795102b29d5367323dc532154d5c73df37464c00582002aabaf4a234f2fae59d8032abbaafce9a16c066a63a6f9081afb9895202232d50509df7122032760851a0c0cc1d6bfe640219dde7034a1e8a985fc9a48b1ee977d53e82423a647991cd825e9189a77eb49be7100f09034a6b9014788cc5b91cf774e02b111414b5fbd6d490f2541f0b51f354d2b4caa600582002ca63c22023f35e3e27d25de20b9a7a8d5bab37f4a3ae5d8b1b95fc3906587b5101ea4af33ee88331adf29dee4d1762c674005820038fcc1c7c62a7413432d86ee0a503241418bc804a1d22a9c6803ced9f12fa004e07a7b526fb4ece1e13b2a66d93070058200386790c744802eaef37520291296196e3c01d626329ee1b7170ac6814e01b205095a11904e51fb4b2479579768b59b804005820032f891736e27af8aa8fb6151a5ce0f4538ebb6de4466c0bff2ebc7374b228805820010002c82000000000000000000000004b108fc576c77eb0c0fffffc5c2d0848005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30582001000010ec0000000000001adfc754e48a78ee574effff576a76c8e46632ce4f021994010058200246b582d5bfe504b0473e5205a875e475688834ae3758941db9713fe488b53d49063bedb75cec2fa9c50058200212ead66a993d257af6fae03418c86f66be3a35fc432e00bc3ca2a8c2ba4f62581a01bafb9a6007b591bc8700000000000001bafb9a6007b591bc8700582002d0e73fc62dbd12419c4e8012ee25e8debb35a35c51924d97f0c44622588fa24f04105e50f0daa73d0a3dce9d6fb12103d2fd4942b0b7bd8683e41d0aa4b2a7e8c9cbba6cc1c600afa1b6269f38ef314d00582002d8ba6f68826eb2082c9391e57705c0e9076a73b0361f746e3150526ffe733a500b0e79433b666f8ba001739ba7f228c0035eceac0b500624ddfe158147036513b182b26559bfcaae53388bed282fcdc36b036f07f60a2a4b684a40c674b5a12e3c5ce092a073294efaecdbd76d3faf1c31850058200240ec50d399b0de0d3763d489084b36b1003e4ba28b73a0b8fec239face0cfb4f02cf72ca09721ad6c85dde62bb3f220395e0816f6909acb829641a11354cb02f61790a118a3d48bd2fea7d827699c3f302199f7f0219ffff05581e034efcc69a7e4d1c54a42f1674ba198ca58080ca76f9c47ae828f2763dc0070119567e035e1e48dea082180ec397da5b6e08d55e0a5f9eef6adbe15b848dcf8ac6df7cf803eaa89577990a1da6284cf53f25680931396b7cf582af623237afec8368bf3639031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03a6e7c80072f7762b4bec2ce72ae10e9117fc20ef4885c7983b7c7292b007011bffffffffffffffff0388e57729acefcde0d92e86ff87e41dce4627a2f28796a30a81d924c0935f58a6021973f4033720c3a5718f58bc41657f67cb66c7091cbba8743bb3e57c2da6a2c25935253f03a5d113a9c44737005c5518c931ed082efff49de82052c18bea24af5f6e839872037dad80733c0a53af97ec0cb26c0889c176f75d5f30d203a0e4d3a8ef0bd6bb7b031bc55607ee47dd9b5b0a8a62b1ef6eeb5b97460b733917a07d14b48d54c7bd52031aa5831c542fc4cd09e7826b23eb289b0aab67716ba5c1a3f77664954e6fcef10358f83619bb5c699b8033803ff4d9953064c6397e077ba320798f4a7aba1ee64203c6f1e6aea9ca148bda8ebbe24e2f82ad17a6dc31349db0439d10a31115182ad403a7ea77c7c554e5d996b13cfa05c92ced910f2e5e13d037f36fcf0dfb26ee3ba603cc2699d6f41bae87ca550c7251de533ce9aa5cbe48ebf7d86b478608478e9a6f03dcf8f5a8f3d0335ed45f8701d8cab0240a30bd3166dde08e7826fa9e2ce7fa790219ffff034c85a1cf21e9df06ec337ff304468ee8182877c310cdc78eea29056c4e72bfcb03825a2d84f4df534d1b3f88cb359a4d30a6b7b9a01c5c5e4edddad361f32a15f003430626a91a349a63832f2b3057dd6b61dcbf26fc61ab133bae3cd923518aaf5e038da45d803e6f4e644385b8d0f855e0166fd7f098ee6ddedace8f8d6f4973ebae03d004772e6643dff6c54007895cd7c56646aae1b8c7f3bfbe107daf26a24ed2b1030d0b5767dde0afdbc342cdfcdae73653c9d76b2dd21d50f1f7ff1fcece864f68037ca57ee4d7a7c16e97886f6d3e36cbe9e636c3e85c0ab3e1248a844764d673d30302007c29f421950cf2cb6538b9c74e4d11f0ddb30b304c647e92b2cba4c6192803c50f3a68aac7904443d558c07ed5dd69be3d3beb1f708fa3ebd6a54854b98d9603e61d7f32a51de7f6b2fe1e972684768c9e7b8b9e276a286025d14e7de48d86cc0313cee8b4531258e13a331812d2fb658308030e55623db28df0736fdc51c9eef703ea9394d70eb8f26b8342b990b7ceaa85350fb3bd09b3ac77dff44b6c9dcc512f0219ffff0371a438b94d29b136ea3fecf0ab3df39f24d0e15dd8c1cb8a70c0e21f58c3868103e747e8a52e147d537b608945b79431a71e7a5b8d9f5e03dbc04c1f12995e22a003eafef98f475138e9266dc79f676a9a48069325ded7a3d4db2c00392f0433f46d031832f513b2974d47ad285b951d3c71816402aa909dc3d18d38e5e0c06e314a7d03ae56069e20db81de85fafc86d225c6bcc6a17b5d748df665b4776d04f73493bd0219ffff03a50ea5e2d01b7aca41788032ef80be857ec3851ddf1eeb2cb4e54536f8c80655033965bd00451fdb2a127ea34e8a183e7d91d10cb017922a47568bc7cd75615b3a038380ad68c81074b34e559363684646290e902523ff3bd362228cc6673a9fe18a036a13a3857332d5edc2f2697bba369a10b1d09c730417441f82e062724e3411360306d34bf2f609ddf03b472a3032103cc6d7b604816ab586182cca5764ce1e8f1e031a4d5a2e30da52a2f9842ae546c9fb805587d03cf00ce043552eaaaf21747b1e03394bf06bf4d480bcad3f3eb8c31c8729753c505ebc3b3c4a382cffe6aaa9e637036e763c0aa5ac34978cd8e106e559cf0217bd960d1d53292d10b1d4e5e5da2786030f0c6934dbbf26e15d5a6482c5dcb299a29c92f60a2990049d9845cef06523f5032051e6ea30392680a2b16ed71811397a739be401044ac5d8e2093acbdb8975e203483f0c415194c8a8e9ab69747d63a50860af57134e08513e794b50f98875aab0030ca54fdb8db10aa63a28c3b0b56281bab55db6f471ce1d7d655dd8a0e63e632d037baddda5b747cd41f196963182374c9105740d99c234e519a4f4276bb80cc4f703339b35c3ac00940e1566d970894289dff31f7a72476d8fb749a688fe78eb632a03025b12d34c3ec32f908386f21a3a72e1fe9995f34316f99cc665618b1cd530cb037aef50f4b38147ae8cbc80d79b059aad9338d2babcb117eaeeeae0a51a1a7f0403d5862eb21adfcc987650d095fdffe53e2dd8d6a01bd9015858683239bd70ff2e0311def1f47a3ac550526dd018833f420ea98f6988cd942d6d535727528ddfcf2a038510ec8a5a47ee67638bebbf5ba6913b7c146137b106de8c2c1f0015bdadbe6e033b5256b95271f342e5e4e425d76c5deebb30a2697e2b20cb320c2f913e16906003621933b4d28d8c18f608964f08d5299cb44a484a071f545e67e0d91c0ad261d1032847334bee309a747cea7f055e14a0bac99f7125e0e7119d64c599b36bbee9d40372b10dea77a72fff792bfdfb8fefac2fa2757a2154c2caf24c75b7f97cd1cda503687c94dfb8c15295e652ee35057d2bfba15fd8be872ee632e1d02179ef76494c05581e035c60e8f5c69aa8743e2a57f4d375b013a9267fb5a993be1ff6949483400c0347068f953d344a0003afa35da6ce1441b04bde44d29ffae30d22c735e263a10e4aeef7e74c9e99b8e303d4cbded3d9ec3e7424bbe39628c0b9c17ba27cfd35a6d157d9c99a921d49d6070386dfa3fb3fd84b9ec34d8e87a61a2c9711bab742dbea55865c03e537fc41c8f9034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e035a1b3433deda3beb6bbdbf8b6ec9446af3e1fd0f527e9ce6eab19fa53007011bffffffffffffffff05581e03d97f00fdf9168bb6e83c557f697fe6950371e5960c48c8684bc95f7fc00c01472e4c1f5f2985b405581e034ac775345b4800d3cae3a8ee951b8a9c75ecc1623e2e94ab71c2cdd4700c08470143e3b28d3ecb03f99af0b81dc988ac8cd1fca36090f280110777e0d6f9304383921260e7ac232703852179c171385ffc76ff608b2e384b168f999cb82f80c2ba801d8468e6b07a7005581e035d15ddbf9b71f1167b7e50fa9b7a79db653d53a4c0c96481275700e36007011bffffffffffffffff05581d02516ef87226e9ac224b75fc0386f7f6d0466ddcc374299b27df8caab8040205581d02cf5e77484ef19590255f651547fb73add9716105996f489736e8081d040204590bd8608060405234801561001057600080fd5b50600436106100365760003560e01c8063e1829cfe1461003b578063e1f21c6714610050575b600080fd5b61004e61004936600461087d565b610063565b005b61004e61005e36600461081d565b6101d5565b3330146100a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009c9061098c565b60405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8316906370a08231906100fa9030906004016108cd565b60206040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a9190610899565b6040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff831690632e1a7d4d9061019f908490600401610b48565b600060405180830381600087803b1580156101b957600080fd5b505af11580156101cd573d6000803e3d6000fd5b505050505050565b33301461020e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009c9061098c565b61021982848361021e565b505050565b73ffffffffffffffffffffffffffffffffffffffff821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610219576040517fdd62ed3e000000000000000000000000000000000000000000000000000000008152829060009073ffffffffffffffffffffffffffffffffffffffff83169063dd62ed3e906102a890309089906004016108ee565b60206040518083038186803b1580156102c057600080fd5b505afa1580156102d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f89190610899565b9050828110156103655761032473ffffffffffffffffffffffffffffffffffffffff831686600061036c565b61036573ffffffffffffffffffffffffffffffffffffffff8316867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6104f1565b5050505050565b80158061041a57506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063dd62ed3e906103c890309086906004016108ee565b60206040518083038186803b1580156103e057600080fd5b505afa1580156103f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104189190610899565b155b610450576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009c90610aeb565b6102198363095ea7b360e01b848460405160240161046f929190610915565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526105af565b6000610588828573ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30876040518363ffffffff1660e01b81526004016105329291906108ee565b60206040518083038186803b15801561054a57600080fd5b505afa15801561055e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105829190610899565b90610665565b90506105a98463095ea7b360e01b858460405160240161046f929190610915565b50505050565b6060610611826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166106ab9092919063ffffffff16565b805190915015610219578080602001905181019061062f919061085d565b610219576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009c90610a8e565b6000828201838110156106a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009c906109c3565b9392505050565b60606106ba84846000856106c2565b949350505050565b6060824710156106fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009c906109fa565b610707856107c4565b61073d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009c90610a57565b600060608673ffffffffffffffffffffffffffffffffffffffff16858760405161076791906108b1565b60006040518083038185875af1925050503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50915091506107b98282866107ca565b979650505050505050565b3b151590565b606083156107d95750816106a4565b8251156107e95782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161009c919061093b565b600080600060608486031215610831578283fd5b833561083c81610b7d565b9250602084013561084c81610b7d565b929592945050506040919091013590565b60006020828403121561086e578081fd5b815180151581146106a4578182fd5b60006020828403121561088e578081fd5b81356106a481610b7d565b6000602082840312156108aa578081fd5b5051919050565b600082516108c3818460208701610b51565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b600060208252825180602084015261095a816040850160208701610b51565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6020808252601a908201527f53696d706c65537761703a20496e76616c696420616363657373000000000000604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000606082015260800190565b90815260200190565b60005b83811015610b6c578181015183820152602001610b54565b838111156105a95750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114610b9f57600080fd5b5056fea2646970667358221220a65c17e7406077037a3bd50a0ebbff79e8d399e80983612cc04c2dc16cb821a064736f6c634300070500330605581d020048fbf92eb5cee1a57b7cdf5a0559031d9600e8099ec422fe9f74650701190bd802191011034e5c0735f66a696513b06e3ab43cc8b6ad362f1de5ad4669c459603d80bc2fa203647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03a1d95c3b1e2e33e760f6f58e6eb46e3387e580a44a456d7169b5a8e771960c6e05581e033eecc60aa2b45d34359a26af1272f5b94d2fb38b2db8788f641c4eee1007011bffffffffffffffff021977dc03e0f764eb72d326b2965c396932bc6857a2d8c0b768729f0e4d01511f6a97d17f03e7b24d28763c9bd93d8e0d7affcb8906d9aebc4765130e9e0940ba02a1213f8c032b840c280378da05e1c0b0969473c4e8add22758b9f545e8236aa2726ef81e0703f95abf7a6d72de77e4ec3d1e4d1d70d8f10af62ceff3c220ba3165e9af86fd7e03792c0ea465b1292d0174cbc9a96713135add7a3639aca43fa0b3071dd279c3ea034b8e2576ce76fcda471da9c7136e3ce7335643508c89162a60bd4caf636e351103fc0de85abd17454bc07a37537bf09fae5737a065498efa127d56964acf84a90003e6f96939aab9d84629d34bf5158f17bc038ecca226feccc83fc4325e7a1bbaf70322cf6417e17daf8720d30e5972fa82e97caa47fbc8c21b9f96b99e9434f8ce0e039a74370b1f485a7a7f14973ec21436e749f8fbdc8e4889ff0e84533ed9aef1dc035770589ca4f81f10c215b0f012631be1aae7d1184433e39b6c44bdfe6fb690cb0368aef7d5e34f674ff346402974cd1e6a00e80ebae4d6c21a7f723be712399bd30219ffff033a06ad52ed1b38fe257610d7d0868bbfb20e0541aa768e53ab4dd55b898d66eb031672f98eaf14d4470f58011a2fcadd26753e5273d2c70f26a5eceece1d132a620392387bb1a080228aa340f42394c4c31b966f22e0efd62259ae29f275bab1897e03a5d149ab3378e88acb3291168e30cd237f97e7b9106c9d6e28c65b93203e92800219ffff033d3c510db0b33fb6080d37fde96f1c65e170cfc2440f9689802a6510d97aeb2b03ab2956da3cf5a2d746e341389576e008c3896f93e0bf61fb83b5a7be1c869b99035b27ca3d16156ab3e3a6f52b1e2e649bfc26bed98002c65e038d9e156906f58603a43dc765d0e748490bdbf9195997643abe585fc781d62a0ba6378037ce24d1490384ede94251e0d73345efbf98bf98ee90b902067677181e1e422f58a38f496a17030592cdea0d6ed9fea80b77a306f6273c1c26849bcda97c4a28e50d6421c8cfa703c9ac4555e3fd6d5b15b6158fc703961352449f120a0313ad97b13c6e1ee2ddf20219ffff03ea4d5a7c94825ede2de78e85a319f9ff4142c70c89265cbceca36bbd354e5c3903a07dd0b86208a00af7bf306b6d5e37e810370133b62ba4af1e84c27d383cd99b031dd1d2c095744710fa4b6df40c756c989d2f6b281423ecaf08db5bab1dad2b7303483b075890fed10e1e2d14a3c2da94eeec93a13e5e9805a119132a9b339ba01203a04cbccc4a5308e6c8aab748e247513181191df7ee382df94a94041d5248ed060219ffff038faf302856debee1e5b7df764c25899a367aec7088ba75dee927ad9a0e89b4a303643948a9b76a8437bbbd783db9175f6bffd5bd0ba47af958dba585d85c473d6403e75a0e52af258dd9e4fce9e97ca3b9b02d85c27d02463673c7ba984f6fe92213036933d5418d929b0878e9cb8ba3564554af3981527506fac84622b93144ed5a05034b64ef313f591f86120471b4b7b04d44475bfa4255622aad48a3073c7d95e4c3038d6dc8d787cd3cffb6f7fae218d0d05fe548d258e5f625454a1be1ee334f2db3038eea274e1ae29a9c839de394d06eecc6ce60bbd000de80fee4fb54d1c05d0c3e03125b873a8e25e2906cb1cfb57901d27676a31780ac87521fd220890d1ffcf75c0303524d28008ab63da6a7a9deb6d5d6a26fee072ce97ffe76860a8d86959e68130304cd9b3ff208a85fbba76607c599df59e47a73f0f4505c54f01cd06e5fab43390354ee522f402413e7ba0243bb382f263fdd637aab1bf1adcd0526ec6be2b4dcc8038992a85a959fad48e368bf75944a697d5e2b99563b0ba835dd735b32136835ef039e115189be2b03130e6ae73dd6562298d1fa5ba203a264020459f17b12142b19030fd42327f22bfcedcbc276781e022f3fd795ef58de315e69999c974150160e4303dfec7d00df3df82b45ced8c404ff5a3270337a4625b20b7c296091526fe88aa503d74407c00e166d50ed143c4f7397f5095f94da8591f4f0f1aa90830d3213c5bb035de588f20d26aa9ab8ce1117694bed5a97a51ffa554fc40126a948467b984bd503ec38186981778fc0c330ecb6778ebc15352a3ceb8a0c689fcf830286952b2f1e03b25bb52a94119e372faec2c0cd304043e6702476d4e2f9435166429b32af22c1035c2f8d533089165877d49c2617c160c840141d4e6bdcab9ec770fe16e8dd4a5105581e03ba08b8f842d8b9fbeb43077a530c64d28ca999af46992d830c0da54070040105581e03ecfa936e982cd6502e3fcfe0657271f7edc43509cdc964b875f17373d00c054801697cc391da0c0003842388c110fa3d2b26e69d62bb669405addb0c203b77c95ccf16fe88cfd7311d03000c5362e184d57f56cb73ca198d8cdb160dee71a9883ba82fc512abaa7144fe05581e03b16efb933f842088d624228e0f5905f14a0c821e01a2cac6aa2f18df100c0146f1571bdaec8805581e03ca4b52c8e4115d3f54c0d3842f33a507ce815eb6c79970d384a0435d500c014802b30ebb1d6cd51f034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03602843e698b18650d6dea768294a6f4064a4f9457a6c153dfc7e8c015007011bffffffffffffffff05581e03865dec1dea8bfc92a64349ac7b35f49a6b31ab726fed93417017ca5670040205581e032909d073d0044e9e3ebb0dfa00f3eef9a4316a426e19031e3134c93890040203350d3483a818faf44da3a28301a674dc1dcc91b03837e71b39a103eb2f0376cd0219ef38034cae98de38f53968273d51ffc79e6e93747838c6f57f6d50729329e1eee5984203395419393dd14c1b6e8c2e39a336d3ef0a6f49cc26f275eb2f11d7143507e9e203476ded2511d1c73ee675fa7f7ecafa28c9d48a377e242445f49b9226cc8bfa7603ae6825dd600c1052da785b0b035ef27a4ef7321b45a94a8769567fae0d8a75a6035706285afadb0e96c19f8d0bd96128078c6b41d186257f4853c144d647e2e39e03e8df1da7ba7e3af5e5e51b7c850eb8edb1e56c608575ce166b8d568bdb0129b103a563b7c14cd426b7a6f473609b2ab1cbf7a9d757e4737f1b38c91ff057cc80a60396a60dbf0a3db73239744b1469463e9278ab5078e03f0ed7908fa75523acd641037953444478c2213cc2f1b00f1cd015843265a4f46d0a375eb2d195850a7651230322b4ec3a80190affd8b2dc192dfaed5a8535eccb56ecbef471479c20805264ac0219ffff0376ba130dbc1d2913150b5067e7850e04de4a0b32f6032ffb66925f7cf0be45df03617da252a8ddecf556cd2004a1a3696ff9cfd664ad778b9480e4822e28f9ed180302496b7d17f4d7b158bb9c8e120f2c69ec037318b15fa17a719b556abe402e7a036ae17dfc4852f7ee068bd8618523dc5303824cbbb6e8510b8a7e14235c228ea203a65ff39e2b82a000ac244faddc16bf939187d516c263e77c42716a155b7ff8de03064a7b19af3b50c71175ac91619a9496b32c01ad18353883dac33e4db0af252c03e3dc1b6e756623fbb30447408fdacdabddbf319d1dafb467e1c450fd2ca536ce038d528041598beae0fd4be359b296cb1854e0f4277c09a94047b61e87eefd4d44031b941e22df24f93a67fcb3ac4ed8f71e0293435354f0a6ed388a6d75579d8255034831f05d79839d531ad87340fe9fca4c2204211ab0d7b46285699ed899942fe10219ffff0390a0892872b26248bb965b73fd77754d5f53c86ab68f352f97048f06c75ce7a003fbafdcc5727a58b258f67f22fff8190c671b8fafc6081c4f58c1c28e4ec37e9e0302b3a1032b591ef1d46101efb1b7db301bef751dbdbbb7da26d74496572d31d503c2d356d31093c1a7ef5179d0b5d315c1fad07d1ac214c6483ad8f64900d63d2203d8a2851fb978665eb42bb5f6e810799feae05273f44da651fe426469cb28725003f86174641a46e26bbf84271e71aa1f342ccd3bdae3768a8c19abc5dad6ee8ef003b084f1503f806b48686ff049a95b43379b2742549fd6c8c281ad8b62b2109feb032f718fdf30503c9fd6b819ffddb92dbdc18990b924223ca50b13b64a1075963d0394609f9595644d0c2c3bc46c4c1a7d5de184426cc0d6ff04814eb33a6d1dd4350393172151e1d9d91d79a4d25f32f0e195a225803172c54e4070f6bd9972fe85700219ffff035d9d2c4348ce3de3f1aba8c99bfec173434856b9659d80c31c21865ac74924fc03a1517f43c9575a651f73f2497ed7307fd7628019bb02ebf79c83478dc1b2c81d033a79a21e9f9711dc7fb38118fbbf5589d526ba0193d4e6e0ec6fe0d120f5fdc20365ffcc8231e80a69590d3b26a0e3cce5f3de6b819a0208090fd4493b7cfd1df103297e3b5d002a10f606ed44f1c16ff1fac8a6ad63539ca307e17860453167dc2f03efcbf52cd460dd6d9d8434449f97a1287ce7f9d7727aa0b2bd4463af21caec42036b6de8dfa778766b67635760f87021fd69ac107e780f647f2f32fd22c5264cbd039fc91a0c6a5c422d3bcebf0220a685d04aea1e9474363986c634538877ecc6090351962474cd3db9c6fe1db3fd4cc825f5ef300ad752d854e29b777f43dca34ecc0331fa6677efc9abaf53ee9b20cb2b42d2815ca065cab4f9b09ebd379f2bc5f85f03d78319677483bf7afae86442295efdac4d93402ecee8e846e3649cf3af5cdfac037282562d97ba9de75567454328c57fbba08a2bbd7fb689db6c493307c2f7f82d0366643b9f48712e310cd2bf85f36a7fb1a44e9548043b74377860deb8f82c529a03595dc29a1e4519a7a8e530c1509f961d4a3678a4000015f6914a36d6e9792dea03defdc1fba6ef7f613fd6852817a79a06a0295675008db7580b548acef4460bd703ff83198baaa9bbe933076ba37fb81f0c2bbd7482d80f3dc7f50be92269a6f23103fb209fa7d452b0597f5d1b166434600019d450c7d432c7c7c294fb633fd3e5c303fa8de197ff6d97d70204d8a5bc4f67d4854158ac8f5b4b2c3d9ba4b7f472aff70389654768347b041d1c34161d25a642cb4e5173899504aef442c08483f34eea7c03877973cdf21f3da095c26c9cd6e30e539a652f7cf5378037dc3d26901debafed03e540188ff05ddf715ee0c2396aade0af8bc39e722b0361711a7812962b32d8af039b865eb825fed37193b839cc953462ec8ea8734c14535fd0700ab01f83d77e9e0393dcde9b7b94b933fae213c0147929a2d714aff4f1897480be7cd0379b18df34038c3dc6d7d68ea5fd183466f125a27ba23f5e738dfd85d75c945ee98e60c90510033a9cf5f2defccbc28196028b8ff195c5a4b7bcffdbcce0b8d0fa3c54398fe3f203950e790e1047a3ed0164ee2a60809bf4402e61202eb2c1b0fc73fba6487799e0037d90aeda3908c283455ce90a326d1a9fea87046f79d1eb68de9f8b6ba6e52b7b03d63ac1b88b253689d26f81bbe59c7af478c28a7af52426cc5485855dd574ed5a05581e039e1b48dc4eb23388a2074e8f780b1897dfa3015785520aeaf35a8a2e600c01462b1fc44f1e6005581e03c62b81f6fc979958d20ea956c22f2451d327238b2d53b0e2afba08a900040305581e0389d8f450f4402a9e685047df680f255dd636c2d09b47f3479156b80f600c02461f0f2a9e7c0005581e03585e4f8ff663cd0dceac50007450d8884e654a97dfae9f6a8221987b200c0447222bb85a78b80003cac8f7233cb456a5a7bb08c4d3fa265b988837e2da63f19d9c3e9078c88a922e05581d0216a52cbcc800e67adad7645cd06b1e820cf37f8c9579da0c20932c0a040103f48846e8ac0f123592406816366b26791c9780b1575b4f8def96cfcee80c9119032b6122363884821a3f4d66c31153c21095738d9388a567b3c9ad45253b4c8b8305581d0225e93e20b7f2f1d3c440f37264b64c113c38de4881586490cd7dd6a607011bffffffffffffffff045925bd60806040526004361061014f5760003560e01c8063846d4d7a116100b6578063c311b6fc1161006f578063c311b6fc14610423578063cb23bcb514610443578063e70fc93b14610477578063ea7ec514146104a4578063f2fde38b146104d2578063f8c8765e146104f257600080fd5b8063846d4d7a1461031b5780638da5cb5b1461037d578063946130d81461039b578063b2267a7b146103c0578063b604bf4c146103d3578063bedb86fb1461040357600080fd5b8063550041051161010857806355004105146102745780635c975abb146102875780635f7b15771461029f5780636e296e45146102b2578063715018a6146102d2578063797594b0146102e757600080fd5b8063088681a71461016357806329907acd146101a85780632a6cccb2146101c85780633b70c18a146101e8578063407c195514610234578063478222c21461025457600080fd5b3661015e5761015c610512565b005b600080fd5b34801561016f57600080fd5b5061019361017e366004611e28565b60fc6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156101b457600080fd5b5061015c6101c3366004611f29565b610573565b3480156101d457600080fd5b5061015c6101e3366004611f9b565b6107cf565b3480156101f457600080fd5b5061021c7f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b81565b6040516001600160a01b03909116815260200161019f565b34801561024057600080fd5b5061015c61024f366004611e28565b610839565b34801561026057600080fd5b5060cb5461021c906001600160a01b031681565b61015c610282366004611fbd565b610880565b34801561029357600080fd5b5060655460ff16610193565b61015c6102ad36600461205b565b610deb565b3480156102be57600080fd5b5060c95461021c906001600160a01b031681565b3480156102de57600080fd5b5061015c610e40565b3480156102f357600080fd5b5061021c7f000000000000000000000000781e90f1c8fc4611c9b7497c3b47f99ef6969cbc81565b34801561032757600080fd5b5061035d610336366004611e28565b610101602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b0393841681529290911660208301520161019f565b34801561038957600080fd5b506033546001600160a01b031661021c565b3480156103a757600080fd5b506103b26101005481565b60405190815260200161019f565b61015c6103ce366004612101565b610e52565b3480156103df57600080fd5b506101936103ee366004611e28565b60fd6020526000908152604090205460ff1681565b34801561040f57600080fd5b5061015c61041e36600461216e565b610e6d565b34801561042f57600080fd5b5061015c61043e36600461218b565b610e8e565b34801561044f57600080fd5b5061021c7f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e55681565b34801561048357600080fd5b506103b2610492366004611e28565b60fb6020526000908152604090205481565b3480156104b057600080fd5b506103b26104bf366004611e28565b6101026020526000908152604090205481565b3480156104de57600080fd5b5061015c6104ed366004611f9b565b6112f2565b3480156104fe57600080fd5b5061015c61050d36600461225c565b611368565b6033546001600160a01b031633146105715760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b565b61057b6114fa565b60c9546001600160a01b03166001146105a65760405162461bcd60e51b8152600401610568906122b0565b60006105b58686868686611540565b9050600081805190602001209050600060fb600083815260200190815260200160002054116105f65760405162461bcd60e51b8152600401610568906122e7565b600081815260fd602052604090205460ff161561064f5760405162461bcd60e51b815260206004820152601760248201527613595cdcd859d948185b1c9958591e48191c9bdc1c1959604a1b6044820152606401610568565b60008181526101016020526040812054600160801b90046001600160801b03169081900361067a5750835b604051639165246160e01b8152600481018290527f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b6001600160a01b031690639165246190602401600060405180830381600087803b1580156106dc57600080fd5b505af11580156106f0573d6000803e3d6000fd5b50505060009182525061010260205260409020548015610713576000190161067a565b600082815260fd602052604090819020805460ff1916600117905560c980546001600160a01b031916736f297c61b5c92ef107ffd30cd56affe5a273e841179055516314298c5160e01b81526001600160a01b038916906314298c5190889061078090889060040161237d565b6000604051808303818588803b15801561079957600080fd5b505af11580156107ad573d6000803e3d6000fd5b505060c980546001600160a01b03191660011790555050505050505050505050565b6107d7610512565b60cb80546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f4aadc32827849f797733838c61302f7f56d2b6db28caa175eb3f7f8e5aba25f591015b60405180910390a15050565b610841610512565b61010080549082905560408051828152602081018490527fd700562df02eb66951f6f5275df7ebd7c0ec58b3422915789b3b1877aab2e52b910161082d565b6108886114fa565b60c9546001600160a01b03166001146108b35760405162461bcd60e51b8152600401610568906122b0565b60006108c28888888888611540565b9050600081805190602001209050600060fb600083815260200190815260200160002054116109035760405162461bcd60e51b8152600401610568906122e7565b600081815260fd602052604090205460ff161561095c5760405162461bcd60e51b815260206004820152601760248201527613595cdcd859d948185b1c9958591e48191c9bdc1c1959604a1b6044820152606401610568565b604051636bb825d760e11b815263ffffffff851660048201526000907f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b6001600160a01b03169063d7704bae90602401602060405180830381865afa1580156109c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ed9190612390565b905080341015610a3f5760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e74206d73672e76616c756520666f722066656500006044820152606401610568565b8015610ae55760cb546040516000916001600160a01b03169083908381818185875af1925050503d8060008114610a92576040519150601f19603f3d011682016040523d82523d6000602084013e610a97565b606091505b5050905080610ae35760405162461bcd60e51b81526020600482015260186024820152774661696c656420746f20646564756374207468652066656560401b6044820152606401610568565b505b60007f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b6001600160a01b031663fd0ad31e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b699190612390565b604051634d8acbc160e11b81529091506001600160a01b037f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b1690639b15978290610bdc907f000000000000000000000000781e90f1c8fc4611c9b7497c3b47f99ef6969cbc908a9089906004016123a9565b600060405180830381600087803b158015610bf657600080fd5b505af1158015610c0a573d6000803e3d6000fd5b5050506000848152610101602090815260408083208151808301909252546001600160801b038082168352600160801b9091041691810182905292509003610c665760008281526101026020526040902060018a019055610c90565b80602001516001016001600160801b03166101026000848152602001908152602001600020819055505b6001600160801b03808316602083015261010054825190911610610cf65760405162461bcd60e51b815260206004820152601b60248201527f457863656564206d6178696d756d207265706c61792074696d657300000000006044820152606401610568565b80516001600160801b03600191909101811682526000858152610101602090815260409091208351918401518316600160801b029190921617905534838103908414610ddc576000876001600160a01b03168260405160006040518083038185875af1925050503d8060008114610d89576040519150601f19603f3d011682016040523d82523d6000602084013e610d8e565b606091505b5050905080610dda5760405162461bcd60e51b81526020600482015260186024820152774661696c656420746f20726566756e64207468652066656560401b6044820152606401610568565b505b50505050505050505050505050565b610df36114fa565b610e38868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892508791506115909050565b505050505050565b610e48610512565b61057160006119db565b610e5a6114fa565b610e678484848433611590565b50505050565b610e75610512565b8015610e8657610e83611a2d565b50565b610e83611a87565b610e966114fa565b60c9546001600160a01b0316600114610ec15760405162461bcd60e51b8152600401610568906122b0565b6000610ed08787878787611540565b8051602091820120600081815260fc90925260409091205490915060ff1615610f4d5760405162461bcd60e51b815260206004820152602960248201527f4d6573736167652077617320616c7265616479207375636365737366756c6c7960448201526808195e1958dd5d195960ba1b6064820152608401610568565b81516040516308b50fa160e11b815260048101919091527f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e5566001600160a01b03169063116a1f4290602401602060405180830381865afa158015610fb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd991906123e2565b61101e5760405162461bcd60e51b815260206004820152601660248201527510985d18da081a5cc81b9bdd08199a5b985b1a5e995960521b6044820152606401610568565b815160405163ea5f084f60e01b81526000916001600160a01b037f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e556169163ea5f084f916110719160040190815260200190565b602060405180830381865afa15801561108e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b29190612390565b90506110c48183878660200151611ac0565b6111005760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b210383937b7b360991b6044820152606401610568565b507f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b6001600160a01b0316866001600160a01b0316036111825760405162461bcd60e51b815260206004820152601c60248201527f466f7262696420746f2063616c6c206d657373616765207175657565000000006044820152606401610568565b61118b86611b99565b60c9546001600160a01b03908116908816036111e25760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b21036b2b9b9b0b3b29039b2b73232b960511b6044820152606401610568565b60c980546001600160a01b0319166001600160a01b038981169190911790915560405160009188169087906112189087906123ff565b60006040518083038185875af1925050503d8060008114611255576040519150601f19603f3d011682016040523d82523d6000602084013e61125a565b606091505b505060c980546001600160a01b0319166001179055905080156112bc57600082815260fc6020526040808220805460ff191660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a26112e8565b60405182907f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f90600090a25b5050505050505050565b6112fa610512565b6001600160a01b03811661135f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610568565b610e83816119db565b600054610100900460ff16158080156113885750600054600160ff909116105b806113a25750303b1580156113a2575060005460ff166001145b6114055760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610568565b6000805460ff191660011790558015611428576000805461ff0019166101001790555b6114328585611be7565b60fe80546001600160a01b038086166001600160a01b03199283161790925560ff80549285169290911691909117905560036101008190556040517fd700562df02eb66951f6f5275df7ebd7c0ec58b3422915789b3b1877aab2e52b916114a59160009190918252602082015260400190565b60405180910390a180156114f3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60655460ff16156105715760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610568565b6060858585858560405160240161155b95949392919061241b565b60408051601f198184030181529190526020810180516001600160e01b0316634778999760e11b179052905095945050505050565b611598611c68565b60007f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b6001600160a01b031663fd0ad31e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161c9190612390565b9050600061162d3388888589611540565b604051636bb825d760e11b8152600481018690529091506000906001600160a01b037f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b169063d7704bae90602401602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612390565b90506116c88782612476565b3410156117105760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e74206d73672e76616c756560501b6044820152606401610568565b80156117b65760cb546040516000916001600160a01b03169083908381818185875af1925050503d8060008114611763576040519150601f19603f3d011682016040523d82523d6000602084013e611768565b606091505b50509050806117b45760405162461bcd60e51b81526020600482015260186024820152774661696c656420746f20646564756374207468652066656560401b6044820152606401610568565b505b604051634d8acbc160e11b81526001600160a01b037f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b1690639b15978290611826907f000000000000000000000000781e90f1c8fc4611c9b7497c3b47f99ef6969cbc908990879060040161248f565b600060405180830381600087803b15801561184057600080fd5b505af1158015611854573d6000803e3d6000fd5b5050505060008280519060200120905060fb6000828152602001908152602001600020546000146118bc5760405162461bcd60e51b81526020600482015260126024820152714475706c696361746564206d65737361676560701b6044820152606401610568565b600081815260fb602052604090204290556001600160a01b038916336001600160a01b03167f104371f3b442861a2a7b82a070afbbaab748bb13757bf47769e170e37809ec1e8a878a8c60405161191694939291906124b6565b60405180910390a3348290038881039089146119cc576000866001600160a01b03168260405160006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806119ca5760405162461bcd60e51b81526020600482015260186024820152774661696c656420746f20726566756e64207468652066656560401b6044820152606401610568565b505b50505050506114f36001609755565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611a356114fa565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611a6a3390565b6040516001600160a01b03909116815260200160405180910390a1565b611a8f611cc8565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611a6a565b600060208251611ad091906124fb565b15611b0d5760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b210383937b7b360991b6044820152606401610568565b600060208351611b1d919061250f565b905060005b81811015611b8c57602081810285010151611b3e6002876124fb565b600003611b5a5760008781526020829052604090209650611b6b565b600081815260208890526040902096505b611b7660028761250f565b9550508080611b8490612523565b915050611b22565b5050509290911492915050565b306001600160a01b03821603610e835760405162461bcd60e51b81526020600482015260136024820152722337b93134b2103a379031b0b6361039b2b63360691b6044820152606401610568565b600054610100900460ff16611c0e5760405162461bcd60e51b81526004016105689061253c565b611c16611d11565b611c1e611d40565b611c26611d6f565b60c980546001600160a01b03191660011790556001600160a01b03811615611c645760cb80546001600160a01b0319166001600160a01b0383161790555b5050565b600260975403611cba5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610568565b6002609755565b6001609755565b60655460ff166105715760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610568565b600054610100900460ff16611d385760405162461bcd60e51b81526004016105689061253c565b610571611d9e565b600054610100900460ff16611d675760405162461bcd60e51b81526004016105689061253c565b610571611dce565b600054610100900460ff16611d965760405162461bcd60e51b81526004016105689061253c565b610571611e01565b600054610100900460ff16611dc55760405162461bcd60e51b81526004016105689061253c565b610571336119db565b600054610100900460ff16611df55760405162461bcd60e51b81526004016105689061253c565b6065805460ff19169055565b600054610100900460ff16611cc15760405162461bcd60e51b81526004016105689061253c565b600060208284031215611e3a57600080fd5b5035919050565b80356001600160a01b0381168114611e5857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611e9657611e96611e5d565b60405290565b600082601f830112611ead57600080fd5b813567ffffffffffffffff80821115611ec857611ec8611e5d565b604051601f8301601f19908116603f01168101908282118183101715611ef057611ef0611e5d565b81604052838152866020858801011115611f0957600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080600080600060a08688031215611f4157600080fd5b611f4a86611e41565b9450611f5860208701611e41565b93506040860135925060608601359150608086013567ffffffffffffffff811115611f8257600080fd5b611f8e88828901611e9c565b9150509295509295909350565b600060208284031215611fad57600080fd5b611fb682611e41565b9392505050565b600080600080600080600060e0888a031215611fd857600080fd5b611fe188611e41565b9650611fef60208901611e41565b95506040880135945060608801359350608088013567ffffffffffffffff81111561201957600080fd5b6120258a828b01611e9c565b93505060a088013563ffffffff8116811461203f57600080fd5b915061204d60c08901611e41565b905092959891949750929550565b60008060008060008060a0878903121561207457600080fd5b61207d87611e41565b955060208701359450604087013567ffffffffffffffff808211156120a157600080fd5b818901915089601f8301126120b557600080fd5b8135818111156120c457600080fd5b8a60208285010111156120d657600080fd5b602083019650809550505050606087013591506120f560808801611e41565b90509295509295509295565b6000806000806080858703121561211757600080fd5b61212085611e41565b935060208501359250604085013567ffffffffffffffff81111561214357600080fd5b61214f87828801611e9c565b949793965093946060013593505050565b8015158114610e8357600080fd5b60006020828403121561218057600080fd5b8135611fb681612160565b60008060008060008060c087890312156121a457600080fd5b6121ad87611e41565b95506121bb60208801611e41565b94506040870135935060608701359250608087013567ffffffffffffffff808211156121e657600080fd5b6121f28a838b01611e9c565b935060a089013591508082111561220857600080fd5b908801906040828b03121561221c57600080fd5b612224611e73565b8235815260208301358281111561223a57600080fd5b6122468c828601611e9c565b6020830152508093505050509295509295509295565b6000806000806080858703121561227257600080fd5b61227b85611e41565b935061228960208601611e41565b925061229760408601611e41565b91506122a560608601611e41565b905092959194509250565b6020808252601f908201527f4d65737361676520697320616c726561647920696e20657865637574696f6e00604082015260600190565b60208082526026908201527f50726f7669646564206d65737361676520686173206e6f74206265656e20656e6040820152651c5d595d595960d21b606082015260800190565b60005b83811015612348578181015183820152602001612330565b50506000910152565b6000815180845261236981602086016020860161232d565b601f01601f19169290920160200192915050565b602081526000611fb66020830184612351565b6000602082840312156123a257600080fd5b5051919050565b6001600160a01b038416815263ffffffff831660208201526060604082018190526000906123d990830184612351565b95945050505050565b6000602082840312156123f457600080fd5b8151611fb681612160565b6000825161241181846020870161232d565b9190910192915050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061245590830184612351565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561248957612489612460565b92915050565b60018060a01b03841681528260208201526060604082015260006123d96060830184612351565b8481528360208201528260408201526080606082015260006124db6080830184612351565b9695505050505050565b634e487b7160e01b600052601260045260246000fd5b60008261250a5761250a6124e5565b500690565b60008261251e5761251e6124e5565b500490565b60006001820161253557612535612460565b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220a6bfe1e097976aadd45d9d411626ae2342f7d9fe0771839d19995255dab98bf164736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d0295d2a637b28e8e1e74a483993755511715507e9dde2384b322e1251507011925bd0219880205581e03e084292b2074b0d9e60c2be120689ddab20b3461febc8df55e2f20f6100c01470bfda5f02a7d6305581e03e85e894bc710ad821435c7034310b1c6559ae2479441915229c53a96400c0d47a3ec3058123ec603562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e039af3f62eb36024bfe3da8ff1e615045fa33571cb9c3f91457dc3c1e20007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0365d4d71b03da4fd9857e5023efea501a51840583f412ffbe4ef3b28aa007011bffffffffffffffff033fc7be54e06b1092764fb964c9d74ae1eb5cfafc0903169d169ae98ffe25b4680219fbea030cfc6037e7380e05dc38826701dcbf8b03cfcba81d0d5fe61d9619dcb955ac850304c4014678afc6c375d22b482d8a1174a3de70c3fd68251ad0ff10bf130c79c803cb164640b9b172dbf76c460a0845f09043608f0dbc179ef5d2388a0ad2b932ec03ce00757112ef4f5963cca8b271e699be22df3e6ebec3136d836db43fb7a0a2c50324bbb9c3bedc73f4059b019aa36b4e2e960d0640c663e8b876ad9ae4dba6a31e03e47efe3e5438de6fc929731f13aeca60a5cf087cee9333c02d279b9a7eabb08a0319ca1b6887418ffc2681fe49a8bd74f175e09c690b13532827967df3e475596a0219ffff03527c8a9901fb026410a1479200d018c3c97964bef29f096dd2e30535e854110803acb98202e0c72086f39d418914950fef095feec8b5b999ce0a513a6720c0f2af03545f3dab11e55f66dc6fb8bbf137e465f333c21c11699b70dbd6e7277604dd29035b02a864062d8462bfceb7fdd06203d812bd8c5217ca20541bce69f542bdcbfe036f800d06ce934b3e96fede5122c0f4f56ecd550e12682eba946f7adf4713384403f6c720891bc7d58747d0723c9acbf5c3c9b0bd090a3fcceb4ffd07eef0710bef0219ffff0330d719078d8cdc7fdf774f63d9ed54688688bfedfac463f4a39b3a6a805c74ca03d592c61603703af32bdc3bf8d64583a009ba8ba7236c7db764a48c896ce9b73203ebf8109111e4e8b5bc36ae15d2876389060aaa3e0dccdb009665edf8ea527e1b03f476421857ec54eb6d3dc49c6b70e9d8fec1b5c5ad1df4a8d4373cab1122fa9c030a8764385dc2b7cfb740cb85c12304262a91d2fb56f38a271caac16745fb4f56030c2e39c2a3568c7efc009d7bd96da8958fe52aa9c8d7914381f12e2b76047b5103f15c30db206f02a476ef94838bb4970056fde1a92627cc278af44ee2f703fb550219ffff03c7feeac86297ccad0e90b0a3be9a061d1888748ea166f9df10bef46db630ad4103093457b48da291c8c6fe18e85e5581b56475dd891e34f5a822bc65186b29db8403f1fd7fa550f6f07c74da37a0a0ae7a3b60eb08834e1c03aa3da866d8e7bfb48503157f74cae0b2901c02c6fbd7d58b141a25cb9160d8f552fc013fcf79cefc88da03daa510120dce57e6e7b714871a582ce06d0b1e975f58c33fe20acd4ec488dd9803a92a4ca8288eb263003957d142e2a0abe87cd324f171c848df8a8c145ca7598d03cc9314a816b35a44f2a579b1891bfe61190dde752ce7dace066df647498e2fbc03027b57330bc29fdf9749d490f6c6486765ce77a34d7cd0aa6fd5bff90b11965e038553b82539f00195a67f7c819bd89549234c8876cd3ad15ff7c61e27fdd7a10903cca9b03150ca5951be2b348554de7413c073e2bcb0eaf673dc5fda83417153fa03548eff5e7393dc6f40b48c0d036775cea1e47fef658b1a9f6b51225ab5ddb6fd039243ac85bb6c06fbabd2a22b6a6e0710850a0e8c714f0fd72db36dff8300cf87032e00c05786603b5711c7a42f36dd7c226833f4f1c9cdc1f0427ba9fead569c2f0328b6c9e63c5dc685aa1b6a3dadb92174c1994ef788299cb52febf98c7d10444c03ee9702443836f8fa00d003dac23bfed96f71d057a6465d8a9f8d963c32ca7dfb030a18f2e7212bc876b762bab9cb227bc24f71aec59f7b681fa5aafec86949002303768e1ebe2684e2e1f5c722888409df5359a5c284e4824effecab8911d236695303ab631e76840721e9ac64bce82fa598c39bfe63f0d4ab390948d6755a4fae8ecb034e8d80c1ae294077882858955123c4f0a757592beede42e8a8a87e802f29b2590343f7d349b28437529d79b031372615b50aaf1f13d3941ddca9c109c6c242d3a50389d1af236b4c462f2718dbab76a06f309d53bc2ff8e631ba83bf17e0396920c203afd37b092b972ebc6935d31706346ab7053fe7871ff2e0006fabb954538a803703d6c80e4e2c5e7643b0bd33fe8d1dd0e0d2fcd33739dbf4c0d18020a2fc8f2b650304bf69aced4fff5f4e54cf85d9e21546a267ad692dc483e81b924e2369a0f89b030cecc7bc07b4142f4d80aa44a0f3482c6ce86a723757c17d32b2efa33b6b5d95031f6efbe14e9d22a4373c36030473b01579d83f96687d9e94e7cb0cf39c16df80035025435e77716e439125de6594ae6983fa99b2a10d069966324198e32394cdfa03a2ebcbc5e6d9d6bf814d6950c942ebf67f1977ec2b678d456605be4c1bf2d2c603fd21becb4d3e3a4f633c9968ef0662d6327e39d5f2dfe2dbfcd00e52aab88e6903b471e5d2473942305ea9e7737e2c6987d5461c3404e27f688ed5d32383e5e90f05581e03b251f0928f7bc07cb6bc945d98e08af7b0680680f3c835c04e6b5733700c0147111bd833cc640003b320ed6704e030a1d3fd4c33d121cf34e3c5578efb1afc1ba4d32dcadf05794b05581e03f90add2a881fc6180879fa61daa6e4eaa8c8aad0da5caead894ed409200847319978f5df805c04590e436080604052600436106100345760003560e01c806304d84108146100395780634495c08814610077578063ad5c46481461010e575b600080fd5b34801561004557600080fd5b5061004e610123565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61010c60048036036101c081101561008e57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135821691608082013581169160a08101359160c082013581169160e08101359160ff610100830135169161012081013591610140820135916101608101359161018082013516906101a001351515610147565b005b34801561011a57600080fd5b5061004e610414565b7f000000000000000000000000d82fa167727a4dc6d6f55830a2c47abbb4b3a0f881565b8973ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614156101e257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f544f4b454e5f504149525f494e56414c49440000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff881661027f577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561026557600080fd5b505af1158015610279573d6000803e3d6000fd5b50505050505b6102b261028b89610438565b7f000000000000000000000000d82fa167727a4dc6d6f55830a2c47abbb4b3a0f889610484565b7f000000000000000000000000d82fa167727a4dc6d6f55830a2c47abbb4b3a0f873ffffffffffffffffffffffffffffffffffffffff166346e4480d8e8e8e6102fa8f610438565b8e6103048f610438565b604080517fffffffff0000000000000000000000000000000000000000000000000000000060e08a901b1681526004810197909752602487019590955273ffffffffffffffffffffffffffffffffffffffff9384166044870152918316606486015260848501521660a483015260c482018b905260ff8a1660e4830152610104820189905261012482018890525161014480830192600092919082900301818387803b1580156103b357600080fd5b505af11580156103c7573d6000803e3d6000fd5b505050506103e2816103d957886103db565b8a5b848461067a565b8d6103f6896103f081610776565b8361067a565b6104038b6103f08d610776565b505050505050505050505050505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b600073ffffffffffffffffffffffffffffffffffffffff82161561045c578161047e565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b92915050565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156104fb57600080fd5b505afa15801561050f573d6000803e3d6000fd5b505050506040513d602081101561052557600080fd5b5051905081811015610674576040805173ffffffffffffffffffffffffffffffffffffffff80861660248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6044808401919091528351808403909101815260649092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790526060916105e69190871690610819565b8051909150156106725780806020019051602081101561060557600080fd5b505161067257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f415050524f56414c5f4641494c45440000000000000000000000000000000000604482015290519081900360640190fd5b505b50505050565b8161068457610771565b73ffffffffffffffffffffffffffffffffffffffff8316610750577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561071257600080fd5b505af1158015610726573d6000803e3d6000fd5b5061074b9250505073ffffffffffffffffffffffffffffffffffffffff821683610862565b610771565b61077173ffffffffffffffffffffffffffffffffffffffff84168284610988565b505050565b600061078182610438565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156107e757600080fd5b505afa1580156107fb573d6000803e3d6000fd5b505050506040513d602081101561081157600080fd5b505192915050565b606061085b83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250610a15565b9392505050565b804710156108d157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015290519081900360640190fd5b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d8060008114610929576040519150601f19603f3d011682016040523d82523d6000602084013e61092e565b606091505b5050905080610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610d84603a913960400191505060405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610771908490610a2c565b6060610a248484600085610b04565b949350505050565b6060610a8e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610a159092919063ffffffff16565b80519091501561077157808060200190516020811015610aad57600080fd5b5051610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610de4602a913960400191505060405180910390fd5b606082471015610b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610dbe6026913960400191505060405180910390fd5b610b6885610cbf565b610bd357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310610c3d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610c00565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610c9f576040519150601f19603f3d011682016040523d82523d6000602084013e610ca4565b606091505b5091509150610cb4828286610cc5565b979650505050505050565b3b151590565b60608315610cd457508161085b565b825115610ce45782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d48578181015183820152602001610d30565b50505050905090810190601f168015610d755780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122092ca9688faf952aa5e6e55f3495699e69589960fb7ace63488b1dc2398a5279964736f6c634300060c00330605581d02fc4446891b9b9df27a33009aecbc999156ea932ebfcb6ffceb282ac10701190e4305581d02ade4dc511b3d4b6eb31a2c36317ce224a4f1384b3eeb43c35cf1acf30c0245014a6a74d005581d0276bed40570275d06ceee2dbc2a3128c30f9ea11b44524bbdfa9ef04e0c02470231dc9a224a700219048105581e035c8abda3ab6924440fc2eb5be006fff998926081417c83be1b7e889980040103faf1d5c02ccaae8af65cde001fcb4c03135782a76217f771f855a185885593fe05581e038978f4d2016231f6d9e9a6d70eaae55a27af9f77a5e5097b4a4ba8c5900c0447010a908c2f198f05581e03c5fc1fbad040b986b43bbd4952b666c545be5dda86f2f566794bf9b9e00c07471a11cdf4ca288d03c5407e9e6be0d98b3df90b594750f0e287c73252b6e9158cf8145e3b4af84c1d02199c8f03955a06a0e0cd1242f8b7ec765b436b0358f3e1d76c493c60316859984f34e8bf03012a8ce6f904036b4802597f8537c91242ae21f7e5e39e0a077ee153b60f60ea0219ffff037f0c14afc69550e862a081fc1e5f17b7213b6cef7a1af677137ec128df6592ad0325c251cbb0c19c02b96f14bf11ae269fd9f301e03e7381224248e5b726fa06990325a50412099beb07692855fd2149f94da994e6728fce96bf1b1cfec3e6a109b9036b007be64124237087094cbac50c09cdc5798f6af0a9e91a66e9bac0d6f8fb5503fb5a261d76d2f4cedd228f8d78301d8d7f6c422d2a497b5957783fdac5368e55031d634e89bff7563e842553b398485a4f66a2ec568337d9b4c82edcdef99bde52038f11f470388f5136617a10080979560946f63c49a895d1093fc5bfa6230628260368dc0dab84a8d7f1baeb6fdae525cd2cb1e5246158c19dea24bc0a1a8b3fef4903f46f399837106198ffd91d5b8e7b4df4356a590682b0a0c8f506c4620c08e243031459f2b10e94ec285396a9afd52e5be0a4f9eb5bb3ab64a29bd048d789dcf4260219ffff03243266811626e0161a433b741854d2bf8f9657274290498ed0efecd0be0f76970317770bfc2fb4cb31c18cd515da2062cf6b402c9b6a6eb3273b38e551471e64cc030845add184ad6e4720fe107cf2aade3032b0a69778b708ec330119409cbe52c503d9a5ddbdb731a4c45b1b59dda9efbf6c5771bde44fc9e4e4add6d9269a853ae403e473e414c3c6d48e4b9b3936b53b9e55963382c5f25ea7476a172e382d6fc5550219ffff0310f279905744ba95793d0157510c807c9b7a072caaa7962c482c9441ebc23fcb0325075af72c6754423274ac3b53e33703b05c04323162192c9b5b64d97c66c4fd03989716dfb050cbae66861de2ef45de0e4e5c42a0c06b6401f3d800cf4775d286032e812ef3a456a2bce573009158be5bccc9848961507ff2d6cc6db567d9648669033ee70d35f8ac3fa7b84bba3e886a4373ca166695dc5b175f74d4e2fa00f32adf0313d302451ae1807d28c30ec0b97ef4ff01ba0d12f91f3d24bd9138c4a7a6e6ba039dd5c1217eb95eea35647ebaa2ebcf63013b8f47a2305a4f36e754dc03bbe86d0355ed951b6725ca6485729bb4d652d663cb9a5b91436b68e4984dbd838884fed7039f216f9abd39774a3a455878c2a995ae6c16ced284a64473ec687f325360180003fdfcf5dad8a3f29890f0ac755593aa50de2a87922e392eca98e33717f5b5e029035cf826b37b129896b14765f889e5429aa0b5b2ebe7c62a8aca59866df620647e031b5f2123c7c0df30ee66128dae9dfab7b76f8a18a2ffb5577a64610c058668c1035b6182ef9d35f2327564d4933e000a4614d46981100ccdd5aebe8f791531cc5f0341b0a6dae5b55f3d55aade11a4b8d11a97fb3e7163a2275bf3bc5c5be77f236e03aaa3a50e06bdc4243a81c609b410068e4200dd0e4cc61118af050283da3648a503e73d78abdc66b6bb87cef973bca9602fe6e928456641462a30f5c1c35b016521038a82516e952e0bdd9a85d4e9a839b98006b5c7f3135f50cc25d8b1197435c215033fbb6f94868a99e4629d7e4128ce12cc77beee3c90d6ea5fd596ae651f6202070371d2fdadacd8740c2b808122b0fead5a0f2c68897c71a4e991519c0d784748df0332ec649000324c57b7dad1281b74751ec8db58d09a1eea91f21ac9532f9c899a0377e2fe14b70690901ebe8d89a18cc017f1235c88abac51adba8c7a05bb6b58ae034c6fd7afbcc2cfe55b7d87e34ced91c49e83da9964125d1f2ebd92d499433ae503f5caa47ea0c7e3b1a7f33b47a78f143869a58cc1d81b5275dd59733bff7aa9de035af76bda065343bc3c400eef6f9e0bed064bac99d7ccd98d8b916541418e89bf038b6b8404b52d7c569f2d692871f73ab7253e7fe2a0712b61bc157a6d14cad0280339d1c1f38e40beb0e0bf34a3fbbc727de3fcce7a7e683a2c97e52a201a541b33030b906e0660889a1bfbe6cb5426817f710dab3069a07dcaf8023236573abb0604039ad190754f31414810487985e09c6aeaabe7f8268e68ea56bc67ce5ab3404b2703c386947d0b454580799ef06a753e865a93ea8ca3d43a6e4597f31fb50b7724250338bf77d62dff9b488be2d19a5f9558fc5371127da0aa7af32cc61d0f8d0f487003772df7eb84db29d52954b33de92fc891335f60546a8c882578add1b147ff549b03d9c4450830719407c3a1721dbdbdafed53f27c4ff0dffe3e601a5fcc40d19413037f3cecc5fc40ba50beec6c76f52a93c2ff9fe1e8c77a3f81443d8b4ddca79f6a0356b1c31a688c09a433298a040637cd8e20daba7f65391b596559db9ca2bbaed003f8a9d260f18be69dc204026f66b872cf26bc235b3ad79c2fb3542a50c30364cb0305aa07be64f14289ef202f053a3bfee712fa8bf59049846f71ef8ee1b05ff80a038eb2c3ff8034d02da83ac22cba923d2bd7b3540a2ec39f6c366f39929b9511b5034a82436113d1bb5786219555214c5b4e029847f44c29fab7c515098c5c2189c9032242424b2cefc2a312c22b3435962fb260a99fe9629e5fd3f5c57f36a8f8eef80304a4277b6cd0aa7dc4dc004a5e68ebeb7923d4d6b4093a29072e213934a748b203186f5de9d63754f35f7b05ab54ee992c07be046620f3fb19b30f53f6dd7da49403a315e0e98dfeddbccf1c8aabfb407390a03549567014b1eead8bc36184dc92390300398953e4c0ff7037675020c664ccd2091d0a3d29faffe346ed482516d2aaf703905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03fa86072f1fba1a9c654cbcb4406d4d020c13314ca4e85f1e3bfcfbe01007011bffffffffffffffff05581e03813f1e120250b494fec6eab1a54470d5bc25bf17ccf37411c697a2b180040205581e03ccb5e1c7bf568587769e359fd5f3808b1acfca17cf9e339713787c0cd0040105581e03d9bd893f619de3af3e9adf86e63334e420f236181db760120887eb27700c0c476fa918783fd3c403e34d0725d64853678ad9793168de9f6d0d77d971ebe9cbfc31d1066c13f94f30033762f3707551b67e71d1878d1fa26e3d32537df54a0f9157642c43ef9a43a0b40354fc083a5d853d79bc93ee3030e0a69460fcda595d06472e5e36448271e5a2bd032541389a66378243481761c77fa378d9151f1bc3d059bce9c1d4a2b479589a8f03e6a461c4c53ec7685671114d6aa3d7b2d53d3b6c66ea392f8f4f811534d2a184045925b2608060405234801561000f575f80fd5b50600436106101a0575f3560e01c806331fa742d116100f35780638a33623111610093578063bedb86fb1161006e578063bedb86fb14610405578063ea5f084f14610418578063ef6602ba14610437578063f2fde38b14610440575f80fd5b80638a336231146103ce5780638da5cb5b146103e1578063b571d3dd146103f2575f80fd5b80635c975abb116100ce5780635c975abb146103865780636989ca7c146103915780636d46e987146103a4578063715018a6146103c6575f80fd5b806331fa742d146103395780633b70c18a1461034c5780633fdeecb214610373575f80fd5b80631325aca01161015e5780631e228302116101395780631e228302146102a95780632362f03e146102bc5780632571098d146102db5780632b7ac3f3146102fa575f80fd5b80631325aca0146102705780631794bb3c146102835780631d49e45714610296575f80fd5b8062b0f4d7146101a457806303c7f4af146101b9578063059def61146101fe5780630a2459241461021557806310d4458314610247578063116a1f421461025a575b5f80fd5b6101b76101b2366004611f71565b610453565b005b6101e07f000000000000000000000000000000000000000000000000000000000008275081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b610207609c5481565b6040519081526020016101f5565b61023761022336600461203c565b609b6020525f908152604090205460ff1681565b60405190151581526020016101f5565b6101b761025536600461205c565b61080e565b6102376102683660046120a4565b609c54101590565b6101b761027e366004612100565b61090c565b6101b761029136600461228a565b610b3b565b6101b76102a436600461203c565b610cbc565b6101b76102b73660046120a4565b610d4a565b6102076102ca3660046120a4565b609d6020525f908152604090205481565b6102076102e93660046120a4565b609e6020525f908152604090205481565b6103217f0000000000000000000000001ea29d57dac237152d878758bae4beb2668998f681565b6040516001600160a01b0390911681526020016101f5565b6101b76103473660046122c3565b610d97565b6103217f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b81565b6101b761038136600461205c565b611030565b60655460ff16610237565b6101b761039f36600461203c565b611206565b6102376103b236600461203c565b609a6020525f908152604090205460ff1681565b6101b761125c565b6101b76103dc36600461203c565b61126f565b6033546001600160a01b0316610321565b6101b761040036600461203c565b6112f6565b6101b7610413366004612349565b61134c565b6102076104263660046120a4565b609f6020525f908152604090205481565b61020760975481565b6101b761044e36600461203c565b61136d565b335f908152609b602052604090205460ff1661048257604051637b263b1760e01b815260040160405180910390fd5b61048a6113e3565b866104a857604051636af2a73b60e11b815260040160405180910390fd5b856104c65760405163f9a9465f60e01b815260040160405180910390fd5b5f805f6104d38c8c611429565b509250925092505f6104e6846019015190565b90505f6104f4856039015190565b90505f80600a6001600160a01b0316838c8c60405160200161051893929190612368565b60408051601f198184030181529082905261053291612381565b5f60405180830381855afa9150503d805f811461056a576040519150601f19603f3d011682016040523d82523d5f602084013e61056f565b606091505b509150915081610592576040516371ebedf560e01b815260040160405180910390fd5b5f818060200190518101906105a791906123ad565b9150507f73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff0000000181146105ea57604051638a89514360e01b815260040160405180910390fd5b5050508b609e5f6001866105fe91906123e3565b81526020019081526020015f20541461062a576040516347c5a1e560e01b815260040160405180910390fd5b5f838152609e6020526040902054156106565760405163092d315560e41b815260040160405180910390fd5b5f7f00000000000000000000000000000000000000000000000000000000000827508d8d8d868e8e5f9060409261068f939291906123f6565b886040516020016106a798979695949392919061241d565b60408051601f19818403018152908290528051602090910120630581350960e31b825291508f3560f81c906001600160a01b037f0000000000000000000000001ea29d57dac237152d878758bae4beb2668998f61690632c09a8489061071990849089908e908e90899060040161248c565b5f6040518083038186803b15801561072f575f80fd5b505afa158015610741573d5f803e3d5ffd5b5050505084609c546001011461076a57604051631d17cec760e21b815260040160405180910390fd5b84609c819055508c609e5f8781526020019081526020015f20819055508b609f5f8781526020019081526020015f20819055506107bf6107aa8860790190565b601189015160c01c60098a015160c01c6114e7565b604080518e8152602081018e9052879187917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a350505050505050505050505050505050565b6108166115bd565b805f0361083657604051635453822b60e11b815260040160405180910390fd5b5f806108428585611429565b5090935091505f9050609d8161085886856124bd565b81526020019081526020015f20541461088457604051633f707d7d60e21b815260040160405180910390fd5b609c5481116108a657604051632ad7756360e11b815260040160405180910390fd5b5b8215610905575f818152609d602052604080822082905551839183917ecae2739091badfd91c373f0a16cede691e0cd25bb80cff77dd5caeb47101469190a36001015f818152609d60205260409020545f19909301929150816108a7575b5050505050565b335f908152609a602052604090205460ff1661093b57604051631e6edd6f60e11b815260040160405180910390fd5b6109436113e3565b82515f0361096457604051632974c17360e21b815260040160405180910390fd5b5f805f6109718888611429565b60019091015f818152609d6020526040902054929650945092501590506109ab5760405163012137ab60e41b815260040160405180910390fd5b5f805f808c60ff165f03610a2b576109c5858b8b8b611617565b60405196810196945090925090506109dd835f61168f565b60c086811b600185015281811b600985015285901b60118401526019830182905260398301879052610a10838a8a611696565b610a2483610a1f8a60596124bd565b902090565b9350610ac8565b8c60ff16600103610aaf575f610a43868c8c8c6116a2565b60405198810198965090945092509050610a5e84600161168f565b60c087811b600186015282811b600986015286901b6011850152601984018390526039840181905260598401889052610a98848b8b61175e565b610aa784610a1f8b60796124bd565b945050610ac8565b6040516326dcf1f560e21b815260040160405180910390fd5b8761010060ff83010460200214610af257604051630808452960e31b815260040160405180910390fd5b5f868152609d602052604080822086905551859188917f2c32d4ae151744d0bf0b9464a3e897a1d17ed2f1af71f7c9a75f12ce0d28238f9190a350505050505050505050505050565b5f54610100900460ff1615808015610b5957505f54600160ff909116105b80610b725750303b158015610b7257505f5460ff166001145b610bda5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b5f805460ff191660011790558015610bfb575f805461ff0019166101001790555b610c0361176a565b6097829055609980546001600160a01b038581166001600160a01b0319928316179092556098805492871692909116919091179055604080515f8152602081018490527f6d0f49971e462a2f78a25906f145cb29cd5e7bd01ebf681ac8f58cb814e5877a910160405180910390a18015610cb6575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b610cc46115bd565b6001600160a01b0381163b15610ced57604051632c0fc2e160e11b815260040160405180910390fd5b6001600160a01b0381165f818152609b6020908152604091829020805460ff1916600190811790915591519182527f967f99d5d403870e4356ff46556df3a6b6ba1f50146639aaedfb9f248eb8661e91015b60405180910390a250565b610d526115bd565b609780549082905560408051828152602081018490527f6d0f49971e462a2f78a25906f145cb29cd5e7bd01ebf681ac8f58cb814e5877a910160405180910390a15050565b335f908152609b602052604090205460ff16610dc657604051637b263b1760e01b815260040160405180910390fd5b610dce6113e3565b84610dec57604051636af2a73b60e11b815260040160405180910390fd5b83610e0a5760405163f9a9465f60e01b815260040160405180910390fd5b5f805f610e178a8a611429565b509250925092505f610e2a846019015190565b905088609e5f610e3b6001866123e3565b81526020019081526020015f205414610e67576040516347c5a1e560e01b815260040160405180910390fd5b5f828152609e602052604090205415610e935760405163092d315560e41b815260040160405180910390fd5b6040516001600160c01b03197f000000000000000000000000000000000000000000000000000000000008275060c01b166020820152602881018a90526048810189905260688101889052608881018290525f9060a80160408051601f19818403018152908290528051602090910120630581350960e31b825291506001600160a01b037f0000000000000000000000001ea29d57dac237152d878758bae4beb2668998f61690632c09a84890610f56905f9087908c908c90889060040161248c565b5f6040518083038186803b158015610f6c575f80fd5b505afa158015610f7e573d5f803e3d5ffd5b5050505082609c5460010114610fa757604051631d17cec760e21b815260040160405180910390fd5b609c8390555f838152609e602090815260408083208c9055609f9091529020889055610fe560598601601187015160c01c600988015160c01c6114e7565b604080518a8152602081018a9052859185917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a3505050505050505050505050565b8061104e5760405163f9a9465f60e01b815260040160405180910390fd5b5f8052609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a9597854156110965760405163c22a199f60e01b815260040160405180910390fd5b5f806110a28585611429565b5050915091505f6110b7836011015160c01c90565b600984015160c01c600185015160c01c855160f81c010101905080156110f05760405163f4f38de560e01b815260040160405180910390fd5b505f6110fd836019015190565b0361111b576040516303d840a960e41b815260040160405180910390fd5b5f611127836039015190565b1461114557604051632781461960e11b815260040160405180910390fd5b5f8080527fc5dc36ae4e7617e4c4d23ddfcde33c79e9ed64c300aed766a9288a6b9b31f63d829055609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a959788490556040518291907f2c32d4ae151744d0bf0b9464a3e897a1d17ed2f1af71f7c9a75f12ce0d28238f908290a3604080518481525f60208201819052839290917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a35050505050565b61120e6115bd565b6001600160a01b0381165f818152609a60209081526040808320805460ff19169055519182527f631cb110fbe6a87fba5414d6b2cff02264480535cd1f5abdbc4fa638bc0b56929101610d3f565b6112646115bd565b61126d5f611798565b565b6112776115bd565b6001600160a01b0381163b156112a057604051632c0fc2e160e11b815260040160405180910390fd5b6001600160a01b0381165f818152609a6020908152604091829020805460ff1916600190811790915591519182527f631cb110fbe6a87fba5414d6b2cff02264480535cd1f5abdbc4fa638bc0b56929101610d3f565b6112fe6115bd565b6001600160a01b0381165f818152609b60209081526040808320805460ff19169055519182527f967f99d5d403870e4356ff46556df3a6b6ba1f50146639aaedfb9f248eb8661e9101610d3f565b6113546115bd565b8015611365576113626117e9565b50565b611362611843565b6113756115bd565b6001600160a01b0381166113da5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bd1565b61136281611798565b60655460ff161561126d5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610bd1565b5f808080853560f81c8181810361145d57611444888861187c565b80822060018301519298509650915060c01c935061146f565b81600103610aaf5761144488886118f5565b5f848152609d602052604090205485148015906114b457505f8052609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a959785415155b156114d25760405163150e0a2160e11b815260040160405180910390fd5b601186015160c01c9250505092959194509250565b805f036114f357505050565b8082035f805b838110156115b55761010081850381111561151357508084035b8651604051632afb09e760e11b81526004810186905260248101839052604481018290526020909801979093507f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b6001600160a01b0316906355f613ce906064015f604051808303815f87803b15801561158b575f80fd5b505af115801561159d573d5f803e3d5ffd5b505050506101008401935050610100810190506114f9565b505050505050565b6033546001600160a01b0316331461126d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bd1565b8251604080516020830281019091525f918291825b82811015611678575f8061165c8a848151811061164b5761164b6124d0565b6020026020010151878d8c8c611966565b9085529a8b019a9590950194505060209091019060010161162c565b506020919091029081900320969095509350505050565b8082535050565b80826059850137505050565b5f80499080600149836116c857604051630168f63160e21b815260040160405180910390fd5b80156116e757604051630148201960e11b815260040160405180910390fd5b508551604080516020830281019091525f5b82811015611745575f806117298b8481518110611718576117186124d0565b6020026020010151878e8d8d611b40565b9085529b8c019b959095019450506020909101906001016116f9565b5060208202808183032094505050509450945094915050565b80826079850137505050565b5f54610100900460ff166117905760405162461bcd60e51b8152600401610bd1906124e4565b61126d611c90565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6117f16113e3565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586118263390565b6040516001600160a01b03909116815260200160405180910390a1565b61184b611cbf565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611826565b5f8160598110156118a05760405163e4d8ae0760e01b815260040160405180910390fd5b6040519150808483378082016040525f6118be836009015160c01c90565b905061010060ff82010460200260590182146118ed57604051630808452960e31b815260040160405180910390fd5b509250929050565b5f8160798110156119195760405163e4d8ae0760e01b815260040160405180910390fd5b6040519150808483378082016040525f611937836009015160c01c90565b905061010060ff82010460200260790182146118ed57604051630808452960e31b815260040160405180910390fd5b60405185515f91829160208901919081908490611984908590611d08565b90505f805b828110156119f757603c81028601600181015185526021015165ffffffffffff19166020850152603a840193505f6119c2603c8361252f565b6119cd8860016124bd565b6119d791906124bd565b90505f6119e8826038015160f01c90565b93909301925050600101611989565b506020028201604052815f6001603c84028701019050611a186001876124bd565b95505b8215611ac2575f611a3087603a015160f01c90565b9050611a4085828f8f8f8f611d72565b94505f611a51886038015160f01c90565b905081811015611a7457604051638c5a4ea360e01b815260040160405180910390fd5b815b81811015611aa157835160e01c60048086018290208952602090980197940190930192600101611a76565b50509b8c019b9a8b019a9690960195603c95909501945f1990920191611a1b565b6097546020611ad184876123e3565b611adb9190612546565b1115611afa57604051634d56f17560e01b815260040160405180910390fd5b8c5160208e019650611b0c87836123e3565b14611b2a5760405163670241af60e01b815260040160405180910390fd5b5050508190039020989197509095505050505050565b60405185515f91829160208901919081908490611b5e908590611ea1565b90505f5b81811015611bcb57603c81028501600181015184526021015165ffffffffffff19166020840152603a830192505f611b9b603c8361252f565b611ba68760016124bd565b611bb091906124bd565b90505f611bbc82611f02565b97909701965050600101611b62565b506020850282016040526001840193505f5b8115611c58575f611bed86611f02565b905083611bfe81838f8f8f8f611d72565b94505f611c0a88611f11565b905082811015611c2d57604051638c5a4ea360e01b815260040160405180910390fd5b9c82019c9b82019b603c97909701965f19949094019360209186039190910492909201910301611bdd565b609754811115611c7b57604051634d56f17560e01b815260040160405180910390fd5b50508190039020989197509095505050505050565b5f54610100900460ff16611cb65760405162461bcd60e51b8152600401610bd1906124e4565b61126d33611798565b60655460ff1661126d5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610bd1565b5f611d14835160f81c90565b9050805f03611d3657604051631f18bc2360e21b815260040160405180910390fd5b611d41603c8261252f565b611d4c9060016124bd565b821015611d6c576040516302e3d2ef60e61b815260040160405180910390fd5b92915050565b5f855f03611d81575085611e97565b7f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b5f80805b89811015611e635760ff89169150600889901c811580611dc4575082155b15611dd3578060200288013593505b600184841c165f03611e525760405163ae453cd560e01b8152600481018a90525f906001600160a01b0387169063ae453cd590602401602060405180830381865afa158015611e24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e489190612565565b8d52506020909b019a5b506001988901989788019701611da6565b505060ff5f1988011681811c60011615611e9057604051632eba9e1160e21b815260040160405180910390fd5b5050879150505b9695505050505050565b5f611eab83611f20565b9050805f03611ecd57604051631f18bc2360e21b815260040160405180910390fd5b611ed8603c8261252f565b611ee39060016124bd565b8214611d6c576040516302e3d2ef60e61b815260040160405180910390fd5b5f611d6c82603a015160f01c90565b5f611d6c826038015160f01c90565b5f611d6c825160f81c90565b5f8083601f840112611f3c575f80fd5b50813567ffffffffffffffff811115611f53575f80fd5b602083019150836020828501011115611f6a575f80fd5b9250929050565b5f805f805f805f805f60c08a8c031215611f89575f80fd5b893567ffffffffffffffff80821115611fa0575f80fd5b611fac8d838e01611f2c565b909b50995060208c0135985060408c0135975060608c0135965060808c0135915080821115611fd9575f80fd5b611fe58d838e01611f2c565b909650945060a08c0135915080821115611ffd575f80fd5b5061200a8c828d01611f2c565b915080935050809150509295985092959850929598565b80356001600160a01b0381168114612037575f80fd5b919050565b5f6020828403121561204c575f80fd5b61205582612021565b9392505050565b5f805f6040848603121561206e575f80fd5b833567ffffffffffffffff811115612084575f80fd5b61209086828701611f2c565b909790965060209590950135949350505050565b5f602082840312156120b4575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156120f8576120f86120bb565b604052919050565b5f805f805f8060808789031215612115575f80fd5b863560ff811614612124575f80fd5b8635955067ffffffffffffffff8060208901351115612141575f80fd5b6121518960208a01358a01611f2c565b90965094506040880135811015612166575f80fd5b6040880135880189601f82011261217b575f80fd5b818135111561218c5761218c6120bb565b61219c6020823560051b016120cf565b81358082526020808301929160051b8401018c10156121b9575f80fd5b602083015b6020843560051b8501018110156122535784813511156121dc575f80fd5b803584018d603f8201126121ee575f80fd5b602081013586811115612203576122036120bb565b612216601f8201601f19166020016120cf565b8181528f604083850101111561222a575f80fd5b816040840160208301375f602083830101528086525050506020830192506020810190506121be565b50955050506060880135811015612268575f80fd5b506122798860608901358901611f2c565b969995985093965091949293915050565b5f805f6060848603121561229c575f80fd5b6122a584612021565b92506122b360208501612021565b9150604084013590509250925092565b5f805f805f805f60a0888a0312156122d9575f80fd5b873567ffffffffffffffff808211156122f0575f80fd5b6122fc8b838c01611f2c565b909950975060208a0135965060408a0135955060608a0135945060808a0135915080821115612329575f80fd5b506123368a828b01611f2c565b989b979a50959850939692959293505050565b5f60208284031215612359575f80fd5b81358015158114612055575f80fd5b838152818360208301375f910160200190815292915050565b5f82515f5b818110156123a05760208186018101518583015201612386565b505f920191825250919050565b5f80604083850312156123be575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611d6c57611d6c6123cf565b5f8085851115612404575f80fd5b83861115612410575f80fd5b5050820193919092039150565b67ffffffffffffffff60c01b8960c01b16815287600882015286602882015285604882015284606882015282846088830137608892019182015260a8019695505050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b858152846020820152608060408201525f6124ab608083018587612464565b90508260608301529695505050505050565b80820180821115611d6c57611d6c6123cf565b634e487b7160e01b5f52603260045260245ffd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8082028115828204841417611d6c57611d6c6123cf565b5f8261256057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215612575575f80fd5b505191905056fea264697066735822122011d1581609207a020c0be53e793a10cd9b9f7ce8e9468b91484b3818de3fd39a64736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e03447c9dab2e69b75a6bc535d9cb12c6d0eef7be6a9c435d9119bdfcfe9007011925b203355671975246e8a025c11cbf81fc1e9824819158a2c0876f69e8dc813509e2af05581e03c8ff610f2cf8c41d060617f7fdda2383ad73d6fe666ae8168f87a3fe800c01470ea066169634000219d76f03ae2267c875c3c6009ad1301b5582ef5fc893cd9426fe80fbfb574540f597db00038c0ee2937f22008c2e8991c9da86b89002531c1f5236dd285031b460b4a3f8d303da0f9e9d0de2460fc4b04ba0c9a58559d55e297db274c2f01c4812c97c99daec0219ffff03cf29819d09df45ba7912b79dade39525fb7ff9abe71bae4fe9b687faa4ef79c30219ffff0353cf2e31728af749bfed2b7d0af2c004bceb73b43c71b7d9054c1b8b95fd06e10219ffff0219ffff039c3bc8deea821987ebe82c29025866fe9fbb1cf9c57f2e91744411f632e227c6033125a0a4821ed67f76c3e127e5f9403ace1afb8d5fedaa1ce701707dd8075aec030d2c297c3a86f506cf8e2ebc40719f78641119312ce22b767f8cbeaa49b89e5803893d854680c0c9af8963304d1a8512dd7d6ed73045bd9d2cb3e9f50d51a546bb0379fbdc480c8cdcb49a07f73369e712850f107dbf29c41c2b9a12038d759d4b12037f1b63ce514a8938af8ea20435354360414f3c6f7eefd0d2c9f5133ba6475a6c03824dead5549717fc7e40200a5ab681ce2f447363dac3caff624561816d80403a038246f05e3e28932bc0523b16bd0ad4ae10fcf376781cd4f8f10ad131bc0f0d660366f46473915e88c0cbd58a79e1b703bed523128ba4311badfde8547c70ad0117039d71b940fec9a9ac0befe0a82661deffac059e449a053b26b5cb007cc53c0917039477fe896358a67820cdd4e590b7e217d5dfba05a15e559b5720adcf14a0f308037b28323103d2df360ed271fc434636a427f7f996e488aecdf104e550fda339cf031212d2f15162683026f4cffc415f371cd7bce6180fd47b9518c608985bd06d3603ebf41154d3ee3a196538b79d55d97ab170f47629bf43ded7661469add319b5a00327f31c80c724de2216b151663359d0542648781bda27438d2b3dd85139b5dda303e2c9e60dfa39b88883a16365193d9aab35894ee9ab9d27464475b181734106f1034e5111169a537281a164bf5a5b1c0f3cb35c643cf5f86f751d24d06f19a2877a036de4f6876e51d41c22f57a180e4f78a25274d82cc99b0d6d5f033e7646270fe10377786fcc26513df66f273ca2ade299d430a46e6dd5e9c41ddb55fbf1f3b1f00403be70937cb27a8820b645559bcda3084def02a79674e67f3e523f3e88a8f4644303ec9215a7b4539aea185e1eb37e909c34163ebdbb8974109179836c232b6d44c103321070de63dce6d4860d321ef24f0f6446df2af23b7dfeca153dac9997cd56a60331b03c076dcb667b51ae424d1ea846f69db70c4d5e91932b1e07a822618836db0362bf2af6a1d8769a9f7c4fe84711c3e1e438552c8ed63b0915838ab88ac63f2e03058fe2c2143f94172e52b90bf242803271c1fb4abdc0a4a0b9daabce6d7a3c9c032bc11f882318b702c8d8d25d1d4e694ae145977240368419d1e5614e0a4ccdf00354872100ca4e4d5a12dd1396e855b5c105df77c1d04287881e756c1a18324f9503ad573c13573e5a346debb8427d51f0238139151fc9cd90e7349b9a8ed5b4d33a0363531eaddd95f045cc924cc3221bf02edf75ac125d4301dc87fabf57e7579bc2035f3aec917c32f94ece097e1e67aeb93c9102d0936991c77a0428fab007c2844603184709786764d6f6c36494a6d0fbc90333289bde76e4af7f2ff5fc5433ea943503f048f416f6c69f18cd4f1d100b1f4e0cd98957d3bf476bb0cbdc71484a2d3c5e03113c3cd3ea70b7ec1a64b420bc0065c67866701dc291d56f89f38a8b11fbd0f803eb8d01b28ed56e68415b0779b4f6c4b17bdf2cba31328b04523761d38ab2fa4e031a64d93c56aa3753f95dbbe1c59a6e117f2444bcfbf1aa151eafee1a0bed1ab903686af40a1bf89b66f35cf99fb950cd76c12eb002a19ffa9831e8e8912751089905581e037b1268a4299cf4d7a0b5ebcf21676734cc2e348d4dc7dcce093f0a538007011bffffffffffffffff039fba0f582103b9885bce143523e0ce92ec26f7f19fd2f7baed73a49306d0a25305581e0387386483e480b49ec5892cac588cc976288dfbd02e83aa92eebb5686000c024713d2fafdd8c00003807660505ce9784ca242aab62fe654e43301cfbc65f00fde477248363bd0679005581e035c1a5914e2c457baaaea9c51824d77f6e60adc5ae67fac0bfd75b74600084701395dcc5b7c00034f11afe8048d2ec0ee2434b1a3ced927234b947dc54bbd000d80e1e7d85fe8a60459062a60806040526004361061004d575f3560e01c80633659cfe6146100645780634f1ef286146100835780635c60da1b146100965780638f283970146100c6578063f851a440146100e55761005c565b3661005c5761005a6100f9565b005b61005a6100f9565b34801561006f575f80fd5b5061005a61007e366004610529565b610133565b61005a610091366004610549565b610165565b3480156100a1575f80fd5b506100aa610204565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d1575f80fd5b5061005a6100e0366004610529565b61025a565b3480156100f0575f80fd5b506100aa61035f565b610101610397565b61013161012c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b610418565b565b5f805160206105d5833981519152546001600160a01b0316330361015d5761015a81610437565b50565b61015a6100f9565b5f805160206105d5833981519152546001600160a01b031633036101f75761018c83610437565b5f836001600160a01b031683836040516101a79291906105c5565b5f60405180830381855af49150503d805f81146101df576040519150601f19603f3d011682016040523d82523d5f602084013e6101e4565b606091505b50509050806101f1575f80fd5b50505050565b6101ff6100f9565b505050565b5f61021a5f805160206105d58339815191525490565b6001600160a01b0316330361024f57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6102576100f9565b90565b5f805160206105d5833981519152546001600160a01b0316330361015d576001600160a01b0381166102f25760405162461bcd60e51b815260206004820152603660248201527f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f604482015275787920746f20746865207a65726f206164647265737360501b60648201526084015b60405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103285f805160206105d58339815191525490565b604080516001600160a01b03928316815291841660208301520160405180910390a161015a815f805160206105d583398151915255565b5f6103755f805160206105d58339815191525490565b6001600160a01b0316330361024f57505f805160206105d58339815191525490565b5f805160206105d5833981519152546001600160a01b031633036101315760405162461bcd60e51b815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527137b6903a343290383937bc3c9030b236b4b760711b60648201526084016102e9565b365f80375f80365f845af43d805f803e81801561043357815ff35b815ffd5b61044081610476565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b803b6104ea5760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000060648201526084016102e9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b80356001600160a01b0381168114610524575f80fd5b919050565b5f60208284031215610539575f80fd5b6105428261050e565b9392505050565b5f805f6040848603121561055b575f80fd5b6105648461050e565b9250602084013567ffffffffffffffff80821115610580575f80fd5b818601915086601f830112610593575f80fd5b8135818111156105a1575f80fd5b8760208285010111156105b2575f80fd5b6020830194508093505050509250925092565b818382375f910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220d407dd05b6b50657e8564be7fe7a28a4cf49691414784e27a0cb155035e16e0764736f6c6343000819003303c5486ecb9228a4fa434abc33af03d4ba790b6978c604f1a98a9a3ec8638d42b0034e88ddb6d7bdf81e5b76a7e3a21489923489ac0000bfc715504cfc7b05d91187037895555d152690d96398ba98692d7429749aa38043f2dc143283437a4e1f3a23030c6450be44b6c716ca6144a3cc0c59f19ac42bd5669ff8f6a5a5a65ef0a12a27005820020f7907a93b6b9241056fdd962ad0718002a3547871a1d0ef06af0ff75d8fd24b0caef5a842310b9dc6000000582002e500ad00d5e91e10473a98f7959c02626f140ead11b6218bbee89651332f5b4b1b929b9a4d1cb5143400000381bd36720eae4f50130006662abcbe129f914d078d7a5056af5873a9768076a20058200208d2e6bb7cea793fdf2c4fd490d41dd0bf8b7304d3132e8aed2b75587b37535820fffffffffffffffffffffffffffffffffffffffffffd69325c988deb35383fff03bccfeaf989bd9b120de2df2c899312624799b26c7b6cd3bf9169156311391974005820026f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf64c01b681efd603874c872360e100582002bf4c9439566bc962d7a30ef9d74891b1d09f5888cde8ef3f6aab52673155c45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031aee0769d19cb985d736d812b16406c4decb8e195d105e17b291973a7eb912df014107037cd35db28e42cba972f47b684cb663714807e9b11fa91e064424b21d90471941021932de005820033c37c49494442439dab32255fdb25a1a49cc53a9774da801f6b42ed0b63d304b1b4c0591140561591f000000582003f0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054ee5bc415022db9b946c21da60216f21298750c7102192008005820021233790d34c548564c04d37810fd5c56d76e304176b503cb5cbbe81725aa984b1b929b9a4d1cb51434000000582002e9454410831a3f5184f7d041b73457392e122c296dd58846119e1758cfc72c4b0234b049c8ba9dd8a8000003ef61dd6bc0560ce770d356e5ff8c936d28aa758feb5b84442703c11f49cb2cfe00582002ad2d30e0a24f6fbed4d23a67e7ca1ae51c922276dbc1b2056afdfa03b19a785820fffffffffffffffffffffffffffffffffffffffffffcb0f79152e8133b03ffff0219a8240334ea1a34b5e6246ef628adf3d9c8e9828a5c96801106129fa904f6e126f0c59700582002e750c91b72d22fdbcbd8038f24dfe9cca952928c1fa1c96eb21d08a752b5d24b01305b5778ebc76e41e000005820033a62920da1a56fc520d56cf314c756f3b2d9506037658630d961076faf402041010058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0546e65e374ea3cf0f5650f2ba9a7d8e5a1a372b37c02190c0003b51d7ba8aa61a90e2ec12f8800db7cfd29f55859caad310a3c25cfe14cdad92300582002c9720cb73fe9719b53f9d044dac8e478f1fc02412988dbfc4dd23f2169fb024b1b929b9a4d1cb5143400000219123003e90d496d54402d0787c7c61f7919b9f37240402b60af7f71a6cb69204e3bfcec0309b7234ca0397a8c40d24de624a9549b01d9b19089d7e8e0e95f67d9490cf0a8033d5bf6ca70aa8ffca8bf66f8da628d6941a82a760103be5ff1e9f7c19796650d0308228a572cf597446bea7632c4c6541f4fb988475f4c2ce1c831c4bd651d8828033224c942f23030b2792f78d290542b42931f10b3ece84427932f20255fd81227031d6268629ef39740b8092d961e7f04e3cf06f09a657a979ea00a98793df5a68503f6aeeab70239533dadd83c6eed5bba1580743b0e1b066c0dd34b081ff75f482303cafd1381fd5366e4e61d18c35f474d2a235fdafe5a5eccdbbc8b3ceaf7ccd6c30219ffff05581e03f316b736b01dfcdc84d280b8b73ee43c4f1b6f61f630363465464397200f01483b220a637640ca6b19062a03e0096be432ae851b259340259e8f5f0dec8a76cd58642b9a947470f931ac2103032b385bafad1ac85ce78748b9bc5bed5ec98519db304c6d4a132eb830584cf75c03f8789d8d8699b2c6e51191b926cc218f383591e9243263c7bb37d7a02b2298e905581e03e218fa2f01ac845f4f458b7267b9d74db3f221f0707a2b78eb956d9ee0040a0219fd8f037586e6d32a3553b619dfa4fcef8ff6717c21caddab4497bcddffdcb645fce2790368f47d185152cc4ef0365521940d793cac3713f65126774e96721f6c67134b97032008c044a7050f771ecbccc6a4a194f1146d77359696b6e676d7bf2ecfa96736036fa7880aed9b448fe7060bfc54bb77936c254a6850c04b6831ff19cd1e3319860219ffff0310c635bed837d5bd8c1ee3b1037774b54922792869be580bc1ddc198e19fff2e0365703735c523447123b76e0084710f987541a882115fc28b53987a9d792a4ed50373037e0884d2eedb71cc5be3f6da9526c5f03e588bb37f873bfefe94d815783a03498303279d5c4e6fcb176a2fdd4e29f5f5a7a01eabbaf01a1306d2defba087c5038cb4ccea23b94ced8c74e7a94c0d7464f6afbfc055ebd356ab9ae26733c56f6903ab117516a079421c181928cdaaa2e9ecb0bf961ca3ea2eb50fcff5f2f5fbfc4b031634d6310dca1db6edfa83ba6585bd8ed3ef04ec3a22240c1a9c3f2e8b3e0d260319f2507d999b359f24880cb7f9c5124a4fe1cb0db7a46aad748de08bf1d0bbed0351156c9b8634cafe125657aa99c2ea4e20669bcc09c52934a810e30985e7bd030331435d18998a343e629bb8771a534a5c7df5b4dc7ff4ff911058531f1e516ee703a19be9dea3a5cf7c01e4231a4e8e35171cf449d69c731a650928fe1aae0055bf0388bf1f5203fdcfe9a26e39ff1b5495a8882db571b8024e306fa685fc29aff21803e1074334e322748ae2ac32d5674884aa97456a3ccbd1919fee72934abacb741f03e1da8e358785e0f6cdac48131453924b8e9b76f7d2381c79db218385cb51f74c0219ffff0219ffff039438e595268c9d53725bab03bc2fe34719dabd4f75753256c93a75e2b60688f703af080af6a190b577926743d855587acfe3535d905697c9bdfad9a5497283f49603203e1c67bdd011ed7c44bf201d6de0f78221bbb65cfa5f4b2c1529917ef5713c03bf70c950714dcad9a731acee14e793ba48a256fd54238e0f66f23422985f9a3803aeae70f42be174da14c464d3bad9e90533db0870975dac52e16ef4151f4227ae03b3d48b0d29ff8279a84608145821db215099a90a8152b088993147a8c502dd7603e682ecd45439d4cfa6ff1234a547c39ee8a35ef8823376c4481d94f89df2c9aa032b65b4291bca360f4052cb4bb104a8d121db6058d53bba59017ecb3898e87e7403485adbcb50289a486bc59a2dd32f2509fd844628f35c10a5a81925c148c7047703867f9b195f17592e55f467684bf311feffbfccd11f497bcd9ca502c72e14e64803731a73cae4bfe5e7b2af3a92b84258910d6588db80c2f8efbe0970f89dc3d7fd03fd7e9655cc6efc7d0ab117273d741d208eb2a3273b2d395f46d5fb78656f2c0e038b40c22c1e527716f9228da9269e7b9dd4994756e797d0f5e9430421e0c3beaa030366bf8ebaad002a145a10e21fa6eab7ef5adf0bd417e47c3a77eddec8ab130703da190fd4dd2ae12d97222c00907d2198e5df3242b0911a4db17acb0d964ceb0303a2abfe12abfeda89684783a640b2a74fc68b4cb067f9f30094a6911fff65b590031b4e41b6baf15ebff7ea09e1a6d33e02f3c4274b7a12a11f23b66270432afe5e036eaaa7ec70c4c5c7ac9e608224cd43657d31dc6930f7ae9e2761215f88b08a3705581e034e47827a69d6f6ac38843cd60bf11f3a6e5055fbde2ffcd2e4217002800c0447013d36963e47d803ef89b3dbc4b1b544df9a6260c9b4955f3311aa9128d7961689dbe24c3ffab0d405581e037cb3d2145a77f473ba2486d68441bbce5f235c06df2d8a2c49a60051d0040105581e035307865ac421c27b029027b0270a0a93b8b540c3d297c8e9e9bb878e400c034701b8f27fabc2b005581e03ed774d185f4a9896e5fc7d38a090125f60281da37c8e6a41dc884d7f700c06464cc7cb894d8005581e0380bca0cfb420aee1d3a997a47042aaaad8314ee9801c9789ce6d7b6b20040503a2ce98e3c82ec3f1540bea1fc6e7c4c35d7a9fa41f6ce7d55a832aa0c1629e5603d897d49e74660162509771da779209eea1926b05f4ad7047835ec2b504aca48e03c25189bc1daab9e9bf0440f76539c4d60a2a992fca84083ae5ab9634cbe28e7105581e0310507ecfa7a392429dff5cb435b8ebd26a9fca7411e0d740ac55645de007011bffffffffffffffff05581d029da7d6f3560b8c4f825832c115fd275c091be7a91c16a6bbc3ccd2830c06470c312660ca3a5505581d02124824ace8a357ae951ba2f4916f5b68835c5324d0a36772e61e35300c06465de3ce4b4a0005581d028aeb47d7fdd9da5112be2f6fcf05da5fe5689ab6488000e6e531551404010219800603b6d374c742d4b538d1e1e2e1cecc8659efb4a5c94f017d978430188c1d4d97380380f2cd04e0575b9d2aa85a21226b17a7e2f209633499cc6bd4b9daa8fc5f81760219ef76036fde83396ba7af6ec5b2032d4c88b143d2d4ec0fa5f979db68a1bb4e83ce608803d949362fcc8ce3f0b5422511430dd9ea161e3cd5b28ddb48ea7530e36e87654203149537c7ec4ec079d553cb9c9e4833c12655f20748fbe7bf952e9720e5fef21e033bda76e6204a466f75668251fc7c5f0ce8487289c256ae27e5662a7147357cdb03ece0310b9dc1d71ef172e4b1747330453bbe0a33724548fff77bb062362ae01703134dbbae42e83b1f98d756cfe4b27ec44824e6f3206abf56dc609e490ad003b203a576be05447ab9efd7799281e3847a9a3af1f337bd82669935a3b516399c583903960c7f737c56051d1fb3e1d438b094fa0b43e0dedc8994f02fe6f12d775d612c0355859875dc8fb9df5a8d09cb21e7bf036b1a29079a5b21751d0d6ca1c52943320380ea864bc37f2ee15876362e2afdd855f64c805a3f77ac23d3a1056b49dbbf6503146d0581c186bf627a8cc267e713955d098b0bbd48c61f555d14e90d9cf0938203fd40fc24ec692d18fad39c816ef7f6b0b2087045d156459f81d60abe2a5b94650391c17dd7f18f33a1b72f4f81e8bdfd4ab17aa411d11606ae9f4bb0c3483cde4303864a37cd9ff393746252760990582927559117430bcbd40de3f1db66aabfa91e0219ffff039f290da3012c00bbb9446d630006de7ae967de8385e8567eebef2a1088bec84a0367a0e65a9be2f34302ef72a2787bbe6998678ca963d7bd76a7d73aa1259cf473033e5e68cb430fc5dd5aacdb45521b85f5c8b54ee118bed633106ebfb3438f04a403283758283fc391864c26b4821401e05709c7411302579e0874c4c9f6be91624603d7a4fa1a89d8d0600fdb5a61200abecec7ddf6d3f83e683b65128059566d579803d2fef5467f643b3bbed9c8d0e5ea903f19c1194611fa4e452db091f0ca074dbb03bab5eeb03d3ff353a5aacd69c575db4c17bc9eb28dd1028def50d10b9110791103e711e3bd10727e6773ecff4a88da06ac284f6d1a26e734c52673008d444f16030337aa9e7b3e4cbfdae49c386e0fe331fbb3ca8074b7275a839231799b4d5378d603a4dfe15b903051aa0d774cb9e445738e92b07f1d6f31aaadb6cbe371baaf7cfd0219ffff03159604f78ac694e3e627633687ca0fde5d6fed95cb93febce451c6da2c504a9803206de2c31a64da57d4aa0be475477bf13b17ee26e79a2e4af1976466361fdc38034bce7eb28f1d7508f1f1cce84f16eac3bb9dcbe9c9d0c656bcc582ff6c0ebce703230d1a86567b53fbeb191b8fe970578951b17430a2f52fd48dfe021789d87ef50374afbdb0bfa90186a55020bb42ef9cfe1b5c77fab8ff2823c8d0abed4cf44fe5038a796a79296695d67fa2543dfd5e5c9827aabced1863e03cce9fa7406f6f5ae20363b1aeb7bdca23d2f084a291bfd313c182fa59f6b7ef77be60a06718594cb1f403ca69c71c5d6ac6f49714ec5dd083aace6d9a25fc0ca672fc6f24bc3f89452d3d039b32988ff335fc9aa17a28c759e8055436b206b75c476734bf65adc11189defd0347060a95ef9c08d9d8b4943096ae15f6d559099d4f1df00f8b3fe507f39bd23f03dcb68889b81d8bb6109967409adb117ebf1ba39b2efd0e3d5750f6927fb931020364479e26bb25353b6b24920365c9d846c6fe192924dae235525d0c2d4b135a3c0219ffff0219ffff038fa83b0fb9b9d20956cc43e7d939f77649f367058c89be400c65643350ef67fd0312ff0447482811fe29717ae1516099dfd30a6f59b3e6570fac63259670260ad90362cdc093d09af0403ccc2a6202c5288a361c59f826cf5e425a3ff21d91da2eb903194eca4337a86e8260e7065002c3bc05822f74f3b594f453dff2e25426aff7720327e921e4c142ddcb0eafeffc6320232b4a6e810161ed1b475b76def096124a970369d6ce3dfc1443042a19e49b013076e4876ef2f1586a9402b412e97e8110803503d72fd580ed3817e58f4fc03c11ce08e6da0e07ba77759d497fe8425b9102fd4a03fe756118d5027e8db61f1552faee39aadca7c008f7e698ff63df80de10d311bc032d9bb1430478cace0634f5504519257c7bfa75eda6ea903430f038f13756c60403c16c2bdecfe427736582c14552687cae285814d56e068531cc9f1baa27cd885203ddd9f6848e19d24cec6cbd41c6d2a4cc4b4f353fcc1df05de1f2712a10997faf031a489f8bbfd7100a55403b287ed1b4cf58406a6003e4d73f29e7de3a59e9878003ee3ad4ed0c81494521ef46c33dbbb97bf5bcaf60960283632aedc4889ce9181303173b7dd01b7691c8762c670ac3d976bd15fe41a981c1815ae397247d200e066a0316330d0a3837b1deac040a79a17d79053a656e43c5a1c94ea0a6ffee8dae4c4e036c96e59d212373df140a8a20fcfdc1a0ba1979cae26e0191d3bdbfac6d2b8ec003cddbd4c9b53551a92921a0f052e91b5df22a7859bc89e9eac87cd47ee09fd20803d1c941616a409c8f152e8c971180da39c7ebe576e2e820b37c72108e328dce190377d92371035c1e8e2ea7699ea068ae1915801e997c53f70fb293ca131bbae39503723e6db19f06f973cb5cfeb4f273bf18a89ca6148865bc37e451cc93457d899c03017c143954cded7a3328fe945177aa9e1c301ec5bb94fe5c978d1ed90457f3f003ef74704f58723f3bdd9576499145494276c3512a4b3fff3f519f829a91f6c64103b9a0ea712dab453d29ac43eefb8adbc16bdaa57b675e1bfc7fce50c652819c02037de48963ab48cc8ff16f12616c36a8a884dec3e5e1aaa9b2b751815fcc5d341103176c52e4d9c5bce830d08faa22ba74d9e2e42c8b2e08cb951ffaac3ea3b7cd060370c9c405563c8c05dded73341d62af888139cfb4dd1aa9fcd5a38e7f37666e920353b35aead1eff6cd9f5e6e20404db19ec1f763d8e1b8b10d908902fc8170a52a037cc13b581ba74b077ab3db7e8d4121c80c524e336dcfdd7e72eca7244b3531c6037e2f3839b1ccb2518bf33dcaa5f4c2e3bf63ecd03da7d70f36d90c27e3b80399030c2f194a96600781fc47cd06e939d7d2febe0cbff3db96277fe598acab755b97035c35a07b52d9b85fbbf4e7be845bcfc3779b90eb8f06b144e65bcc72f974187d03e0780b87304ee6d6a17f311ed12937f52fe0bfc0013021fbec837d8df0251a5f034bdce7b5c213748613f665f0b887bbf4c7bf98819093857c0d96e8855e59564d0389576144afeabb85b3429feda372b1fbe7e2ef947369d1cf5d00f0786247e37c03997796ede105ca8fa574b0c82d946b93f149b0ede8d0d07f4bedb74a2dbf05c403ee10013211f82c4b11303354e5280145a56edd75b106897a32aefe6c99f1500c03c5ec6ccd9618ee6e72a10ff868c452cdae6f8a786b1374147a352b61e48286d603ff9bdb9864a12dd53972ec6dbdf198380c284e50fab35a654a80f790a619521e0363d0f0033763e258795164deda013776a0e4eb71eb1bff0ab0461b9eb70476f205581e03a7f26c8a943a80d546515f0a68b8c8712c63c694a428e05678261742a0084801057ab11add6c0005581e034d4211c205493a06c98fe9e4f2d3517e2b8f2fa28bbcdf0101dd5c0fb0040103affe208456e818f69a73122832d6db3a7b93175f3bf83dd7f080d11743c81ea90352b50106208b0dce3c80d2e9f04f9a259d491f21002b96e6e8bd8b57becf942605581e03206b9b5a4097e3612046a44f20561fdd0db6b0edcd08fb44370dc3687007011bffffffffffffffff03a40e6c6809d0a962a09dd7cc5c1115d47813c38d3bc18c0315f927653758062705581e0328daa27f29f30a7bfc03cb8be97d1563a5a76808964ce8b36be4c2bf80040505581e033e248f516e3fe25c2a9cea73be856b2f169d901ab378ca8eb5a64b74800c185048023f23c72ed80400021929e203d61f7f9552875197ddaf947e518ae21eaddd0683fcac909acebd91853fdef3f503835b6d2602b77b6826ed03418b56bc60edae77bc9b6d65409e7379472e83df3b03d459f21cec83996a2216a4337313561324b8590004fc56f9bbc115a844b4a622035c0955a3374f8dd43ef17a8c69b600ec95fecfeb9f51d4d3033cabf00a377ae70219ffff03c69867f7062b2963427001a1d262470ffbcd20925f74785c0055e34e6e2f8138039b4ca848e8f49261cffde3a585e24d0974a24e0bd10beea1fd2ea3e176d88e2e03420bbdaffefbd045c0c4e9be66a4d878a9503ecce92402231cdd074c78029c1003d9164f039ea1ee7caeeab83d351ed4056e3f4ec8cb92f1b6be70f5d6a6a586b803725c4a628892c8524c26e06192d3ffa612530206e161e3d30b469f2ef8f4e02c039a705b949e42ddc78a49b166db0518548f361209990e877c7a5a60057aba8d0103d1d4582e75f0738c2d116e5d08d0c81508678d9ebb6c6b33fcecc3d32b1afe4c033cc6f2206c074f4d35dc4ae5a24255f58c4eb6fdea4c4f6989bb1663f4d7087f03ea39f1255fd2aca381b920151e139d9fb613dd8c13b9125a43b0d023d5c2c1420330a134469e3698c22f6729c3f3bcd1ce92bb1aee578f4bec0f1eaaa7dee104460219ffff0219ffff034a3c38157c80ee135e69531464e6800d616162717b9e5b27da4ceb70d1e06148033d5a31f0043cb2970f240e84d1b13e41b4ef89f58a5c88e6c256a77f04677d1d0332bccb8142cf39eb513987b1833a2bba83020762813059e213e5889466983b6703d2aa38e595d4fcd85f6bac3b2b1d5ee104952bb2c76fda915c9110eb3d5566be03b093b1fe152674d5b61f47ecae20d2098cc37802e2c790d3d606eda008a463f70351077ea84c5014273fe2849198a3bc51cfc393029c0f1ad59a2bcdce394f67a603fc90c43fae8359044a09a40886458bfd3dce3546a86df43b469209f5d6b3eb8f039414f97b8cdb84d2d39b5f09494fc8659c3971e74a8811679dc32f6b7db302450219ffff03b7a30aea5c737123b97b887999460b73efe0be54afc7f222c300c73e3b4736d403b0d8d242618f6654148d28288219b428dc17f9f70f61a44f03cc82f4da696f8e03d5df5b521d3f4042245195ee61b26096a4bfa00ddab40051cd8f33bb2bdba12e03697aa290fe085f7c5d6192226b2618d5000d22f60b65e67fa26327cf2004b30c0337a1e361536d3cb4764b339d1b255071d75e6facb2ebec4fad88907803c94a5b0392872ac88434bfc532842936af345fe7e20c4a710eafa7348199a7a261485fc1035fda308a21018bd3e7eedc018b71a92f0ceb39dede2cb5e6d7276bfca7766a19037b8debcf0f5c86ea9e43aab13b6eec27cdbf30368f31c165dcf95a6061db66b903fa38709c148794cc27b7dfc60e3dba98722b78a64ba6cdf7fbd92f70347dc3770327a1529a3c96faece22577ac24edd2b58b2fef6d5feedc3ad079df15106669ef030da30eb7f5948468552534f40a7c8f19c80a422d8991c57834455e56f95d3fed0382d193c7d73ce29a00f16a3af84f8ca2b5ecd70dcf572569f7a720e2688ec091030320047b745bb9620b753800b35e7d7fe32ef26be65aa122fb5641c8fb0d355d0364810ba838b2572924947b0bb314b75762e7158cc7577d48769ca43a2c64e608035b3769ca8229adebf2bbf014b982833989642ba4dc27bfa4fa0a65a234fe53c7037d70ab6e5faf4a695d36f9fc13088580357c52efedb58aa35efbcd451067926203f264b81f9f2a24077308bcacebe0320af1677f6f6894f5080be8b8cefdcd65cd03d5124f390ab200bfcfba6f8545b5867d9466132ee9a9509ddb43466ade466bb403881602e1a43c8ea932ab8271da808e53ef640961f873601b5ac0532d532a552d03d46304a8b0a672a23d6ae4eaecf23a385238d71ede1dc248dc7b8571f5344127039e32458f3259d3cb27f649c0577fef9026eb0be429e11ffb80587bceee935cee032df3c0fbb10b6b861a6ee6615059b445a9436279207a05a10db260684012f6b8036c7d4e24839ae43d4199507e1272204d2829bdcfffc74204761b870b5c404ba103ff8ad9524b56b430afbd876da773bec45b4b5e4d16783e90f126d1b6f20b41cf03184664f78c51f34019ad5238c2041a58deda01ed9540f1a7e93da27bcf9d80b403e197592eb782aa5fbb123b7a31c26f7c1b710e8b3f6826233bcf4d1ee3c999e0032b8d027700629cae5fa8aa49a0fa5522f2cfb745d43ba0e00bcb7277d7eca3400302245e62e692b496001a327d52a27f23cd776ce86478535a21d51eb117b1248903a8deca6b42714deac8901c1194e997ff20477e2cfb1e021a77c138bffa71b80903eb9487283389d781b4c41eca5976a7f45ab22f8921c5877f531366de4a0605ec03e54e56a7b49528227a84d6885447cbf52592176196f0b1176c6de534761dff6c03feafb6238cd32ecdc3c06aa4a2b333854d3b1d5eed41be7b979d387a5b96736703cd97d585f73501c49aad961a9f1d179c722feba66b33bf153f4a6c34235fe18b031d66927da215a830eac9df7493c177e73e4583ca8ecbe41ba309536eaf41dee403562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03d226f86f61038d23b28646e10b7598b9e0f42eabeebb327f9e6c06921007011bffffffffffffffff03f49ac0d72cf69bd19c71eade67e5c5ded4e1577a2778d7fe33fb9c033d43a68605581e03b090fe0bb5969e113b8d4d5ffc5af91f9202f1fda851dab838bbe5f1200c054664aadbdbb53805581e03b98bb1ccc9d0d6932488f1156894a4b7afcaa9c48c72d72eab6da8cad0040403454abee453c66bb6ed5d7b6039ae93b2f2516ee5ba561a6560c7836f937c408d05581e03941291a8064dd80938783f1cfbaf866134d65bf8396a928ee93df9b1600c014702017059530800037d91c77ad5be8823de1cfa44ab2ee004bd11d111a381a46100f811beb2353ee205581e039a91d90fc99938dd9d99a4fa6e775cd16281206c1dd1d116ad0f343c4004181d05581d028542fb9be9b0c182501b0f94d10f3c880834b6fedf5587eac3c6d5f1040405581d0241377e5d7375ff2c3c29e409c0e80eec6d3ca8dc332eaadaf4840e650c0247050651e951fe4605581d026aa3e498d876d51d7cbb5eb544aaf480637dcce0233b88043290408c0c0447ebcb98d89c71940219500103fb07ebbbf4223dc595bb943bb701302d6b37e7be1e7c39c5591365129c00220b03345f75e0c25e02732be33e6d302327b898407f4153bb1b00c75160801ce1d7a7030cf955d4cc8eaf70b3d1c27d9ae9698591ba1b91a300d904309258a897fe1ec20219ddaf0219ffff03b86326f9a1cb231ce8dc70f7d2a989d5dc98fa7b2a4ee07b6775c9267e24536003f4b222cd38c15a861843ce4c269525ecd3144eca798e22a5f8d8564ff7213e0303b5181bf6e1175971333234c6100dfdee59bb05b081955fd8d96d732e0fb3b6ec038ced34d567e4b9f1a2c488b7dd202702ef5607367e1e98e2a434af0f032194080219ffff030500c660fe99495e4649b67bc437a102fc694a341e2856a16918c068a93de41d036e15f77bc81346bf37c2eef140391f1876ea9b93238a4fa800492f9f1ee1dd7503af0c27d46cd14e8d9358f49c0d3312ef98231ab1b4a91729d33b98e3b85e670503be733b778e52dc6855b42d6130c60d375a41bb4b00c14d49883f62ef42db09ba037aac9a37e4f326a476d96b737e971dafc0adf80fdbb6050ccac2954255a594a60382d0c3dd19d7a60d53b1d0c853e859f0ee725706c0bb4ab64199a33f0081a782032ee6be70c1c5ec2c99c28bdcb554e5260e7ec3e2440052faaa1ee2c97b4913b303ef0850ee1929dda53c48366f32bf90bdfba879712b9fd8227e2b5f563ceea5d203c771ddf24539dc260797b580aefe60dea99378efbf1d7c9f4d36701417757952031392c2605e73302f059545e0f83c70617e3977a04dafa6df68a78cf2b338c72c03b87e819154b31c4f9023f15464f6e4efdefd1e178f72168fbae23668efd88d99036fcc6fe7deb66cd9ab60e67ac14e68ca264bdd5e4404458f6f28b5dd1361fe7503730fbceb172fee1b05550156e94f428acb6fcabe124f0e76b4f1730d0706ae3403e4fa79a6eb9ae376b781ce132fce084533be61f17a468fac95a1798fa53e090e03f8ee254267acfd9a09ba8891b9a41b32e871c7a42cdf6095d125b73457c27138036c2b727e24718f288c598b6ec2fe0dcf7021cfc168521c285504c84e40fbfc6803672693ff06908fee8bd29a58445a24a547df308172a8c6118bd9e869de0d33c6031b5d333474f4ddf6802ddf755cf80c9547aa4d965c7da7bc892e4225ae0aba350339510b04fc302b7ee505a206ff1b1d81272340c42cd66e5f8f9e0f625c167dd1030d0ecef4c24ae97b11555387143888d678b0185ac97cb5d15fbe7fec91170848039f57c4f626e3f01466521c15a6e1a1a52c229ddb3d5161861d8ae3ac991d9df403c7ffa188b1324b4e1e9349adcb35db84ec95c7c2575126e57836bfd6eaefcaa203d975ba93b0176ea734f74de2bd22e6a3a9e4a81dcc6030572a3374b3e6e50fcc03a0f14b0c681478fab466266c93d091f62d8b61e6dfe49469edce3086ea481c27045954186080604052600436106102db5760003560e01c80636ac89fa211610184578063b9303701116100d6578063df21dc1d1161008a578063fa82f30911610064578063fa82f3091461098c578063faeb8113146109a1578063fbe16ca7146109d857600080fd5b8063df21dc1d14610933578063e1a4521814610961578063f6ef28b41461097757600080fd5b8063d48b0146116100bb578063d48b0146146108bf578063d547741f146108df578063da615052146108ff57600080fd5b8063b93037011461088c578063ca777fbf1461089f57600080fd5b8063924a062c11610138578063a7c5f50411610112578063a7c5f5041461075e578063b2a453f8146107ad578063b5bbf6e11461087957600080fd5b8063924a062c146106ec5780639dd1aeac1461070c578063a217fddf1461074957600080fd5b80637716d26f116101695780637716d26f146106715780638456cb591461069157806391d14854146106a657600080fd5b80636ac89fa2146106235780636fba7f711461064357600080fd5b806335087f0a1161023d57806354fd4d50116101f15780635c975abb116101cb5780635c975abb146105cb5780635f1f3af7146105e35780636abd4ea71461060357600080fd5b806354fd4d50146105285780635886d8d21461056e5780635c8371981461058e57600080fd5b80633f4ba83a116102225780633f4ba83a146104d35780633fe00dd7146104e857806350e955911461050857600080fd5b806335087f0a1461047357806336568abe146104b357600080fd5b806314bb1361116102945780632f2ff15d116102795780632f2ff15d1461041e57806330bb0911146104405780633408e4701461046057600080fd5b806314bb1361146103c1578063248a9ca3146103ee57600080fd5b806301ffc9a7116102c557806301ffc9a71461034e57806303deb7ea1461037e5780630acc3eb01461039357600080fd5b80624aa320146102e057806301bc5f0814610321575b600080fd5b3480156102ec57600080fd5b5061030e6102fb366004613e1c565b6101026020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561032d57600080fd5b5061034161033c3660046140c7565b6109eb565b60405161031891906142a4565b34801561035a57600080fd5b5061036e6103693660046142b7565b610c83565b6040519015158152602001610318565b34801561038a57600080fd5b5061030e601481565b34801561039f57600080fd5b5061030e6103ae366004613e1c565b6101056020526000908152604090205481565b3480156103cd57600080fd5b506103e16103dc3660046142f9565b610d1c565b6040516103189190614312565b3480156103fa57600080fd5b5061030e6104093660046142f9565b60009081526065602052604090206001015490565b34801561042a57600080fd5b5061043e610439366004614325565b610db6565b005b34801561044c57600080fd5b5061043e61045b366004614355565b610de0565b34801561046c57600080fd5b504661030e565b34801561047f57600080fd5b5060fd54610497906affffffffffffffffffffff1681565b6040516affffffffffffffffffffff9091168152602001610318565b3480156104bf57600080fd5b5061043e6104ce366004614325565b610f1c565b3480156104df57600080fd5b5061043e610fad565b3480156104f457600080fd5b506103416105033660046143b4565b61101f565b34801561051457600080fd5b5061030e61052336600461459a565b6110c9565b34801561053457600080fd5b5060408051808201909152600581527f312e332e3000000000000000000000000000000000000000000000000000000060208201526103e1565b34801561057a57600080fd5b5061043e610589366004614325565b6110e2565b34801561059a57600080fd5b5060fd546105b8906b010000000000000000000000900461ffff1681565b60405161ffff9091168152602001610318565b3480156105d757600080fd5b5060975460ff1661036e565b3480156105ef57600080fd5b5061043e6105fe3660046145fc565b611114565b34801561060f57600080fd5b5061043e61061e36600461465c565b61128d565b34801561062f57600080fd5b5061043e61063e3660046146ff565b6112f8565b34801561064f57600080fd5b5061030e61065e3660046142f9565b6101006020526000908152604090205481565b34801561067d57600080fd5b5061043e61068c366004614732565b611372565b34801561069d57600080fd5b5061043e6114c0565b3480156106b257600080fd5b5061036e6106c1366004614325565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b3480156106f857600080fd5b5061043e61070736600461465c565b611530565b34801561071857600080fd5b5061073c6107273660046142f9565b60c96020526000908152604090205460ff1681565b6040516103189190614806565b34801561075557600080fd5b5061030e600081565b34801561076a57600080fd5b506107956107793660046142f9565b610103602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610318565b3480156107b957600080fd5b506108656107c83660046142f9565b60ff60208190526000918252604090912080546001820154600283015460038401546004909401549483169461010084046001600160a01b039081169575010000000000000000000000000000000000000000009095046affffffffffffffffffffff169465ffffffffffff8516946601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16939291169088565b604051610318989796959493929190614824565b61043e6108873660046148f1565b61158e565b61030e61089a36600461498e565b6118ce565b3480156108ab57600080fd5b5060ca54610795906001600160a01b031681565b3480156108cb57600080fd5b5061043e6108da366004614325565b611908565b3480156108eb57600080fd5b5061043e6108fa366004614325565b61192f565b34801561090b57600080fd5b5061030e7f2b36fa99e118fa8485d488becf749a974743fbeb6a7aa57e663893bf5d69a3c181565b34801561093f57600080fd5b5061030e61094e366004613e1c565b6101016020526000908152604090205481565b34801561096d57600080fd5b5061030e61271081565b34801561098357600080fd5b5061030e602081565b34801561099857600080fd5b5061030e60ff81565b3480156109ad57600080fd5b506107956109bc3660046142f9565b610104602052600090815260409020546001600160a01b031681565b61030e6109e6366004614a6a565b611954565b610a67604051806101c00160405280600067ffffffffffffffff168152602001606081526020016000815260200160608152602001600081526020016000815260200160608152602001600081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b6080840151600090815260fe602052604081208054610a8590614b12565b9050905080600003610ac3576040517f016643e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80856040015151141580610adc5750808560a001515114155b80610aec5750808560e001515114155b80610b0e5750600085610100015151118015610b0e5750808561010001515114155b80610b315750600085610140015151118015610b31575060148561014001515114155b15610b68576040517fbe31c33b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4660408381019190915267ffffffffffffffff841683528051606086811b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116602080850191909152845160148186038101825260349586018752828901919091528a51865190851b841681840152865180820390920182528501865283880152898101516080808901919091528a86015160c0808a01919091528b85015160e08a0152908b015160a0808a01919091528b01516101008901528a015194519490921b16908301520160408051601f198184030181529190526101208084019190915260e086015161014080850191909152610100870151610160850152908601516101a0840152909401516101808201529392505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610d1657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60fe6020526000908152604090208054610d3590614b12565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6190614b12565b8015610dae5780601f10610d8357610100808354040283529160200191610dae565b820191906000526020600020905b815481529060010190602001808311610d9157829003601f168201915b505050505081565b600082815260656020526040902060010154610dd1816119bc565b610ddb83836119c9565b505050565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff16610e48576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816002811115610e5c57610e5c6147c3565b03610e93576040517f4668624100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260fe60205260409020610eab8382614bad565b50600083815260c960205260409020805482919060ff19166001836002811115610ed757610ed76147c3565b02179055507f82568678a169f202360005e72d5ab10d95c3c369ddd502057dacb85e9c700759838383604051610f0f93929190614ca9565b60405180910390a1505050565b6001600160a01b0381163314610f9f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610fa98282611a6b565b5050565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff16611015576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61101d611aee565b565b61109b604051806101c00160405280600067ffffffffffffffff168152602001606081526020016000815260200160608152602001600081526020016000815260200160608152602001600081526020016060815260200160608152602001606081526020016060815260200160608152602001606081525090565b6001600160a01b038216600090815261010160205260409020546110c290849084906109eb565b9392505050565b60006110d482611b40565b805190602001209050919050565b6110ea611d45565b6110f2611d9e565b60006110fc611df1565b9050611109838383611fed565b50610fa9600160cb55565b600054610100900460ff16158080156111345750600054600160ff909116105b8061114e5750303b15801561114e575060005460ff166001145b6111c05760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610f96565b6000805460ff19166001179055801561120057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611209836123d1565b61121282612468565b61121b84612505565b611223612679565b801561128757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50505050565b611295611d45565b61129d611d9e565b60006112a7611df1565b835190915060005b818110156112eb576112db8582815181106112cc576112cc614cd1565b60200260200101518585611fed565b6112e481614d2f565b90506112af565b505050610fa9600160cb55565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff16611360576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611369826123d1565b610fa981612468565b61137a611d45565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff166113e2576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815160005b818110156114b457600084828151811061140357611403614cd1565b6020026020010151905060006101026000836001600160a01b03166001600160a01b031681526020019081526020016000205490506114438286836126fe565b6001600160a01b0382811660008181526101026020908152604080832092909255815192835282018490529187168183015290517f036e7dece8303b57678319debe761b27c7298611a5c4e23776a7f1e79c67742a9181900360600190a15050806114ad90614d2f565b90506113e7565b5050610fa9600160cb55565b3360009081527f8a5df9d3b7a9306a1075029813ef25f1a4531de6e935bc9f04ed5dd5e46af951602052604090205460ff16611528576040517f6053780500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61101d61272a565b611538611d45565b611540611d9e565b600061154a611df1565b835190915060005b818110156112eb5761157e85828151811061156f5761156f614cd1565b60200260200101518585612767565b61158781614d2f565b9050611552565b611596611d45565b61159e611d9e565b60006115a9856110c9565b9050336001600160a01b03166115c3866101200151612992565b6001600160a01b031614611603576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8360000361163d576040517f4668624100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260ff602052604090206001815460ff166003811115611663576116636147c3565b1461169a576040517fea6eda5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006116a98760600151612992565b90506001600160a01b0381166116f7578534146116f2576040517fdc223cd400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611743565b6117378186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506129fd92505050565b61174381333089612adf565b60fd546000906127109061176b9089906b010000000000000000000000900461ffff16614d67565b6117759190614d7e565b905061178081612c74565b6001840180546006906117ba9084906601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16614db9565b92506101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555080876118109190614df3565b600085815261010060205260408120805490919061182f908490614e06565b90915550506000848152610100602052604090205460808901517f4f3bc5fae93ae03632b30b624fb1dbfa21466a29216f314d0cfcb269d7c918ff9186916118779190614e06565b60018601546040805193845260208401929092526601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff169082015260600160405180910390a150505050611287600160cb55565b60006118d8611d45565b6118e0611d9e565b6118f08989898989898989612d0a565b90506118fc600160cb55565b98975050505050505050565b611910611d45565b611918611d9e565b6000611922611df1565b9050611109838383612767565b60008281526065602052604090206001015461194a816119bc565b610ddb8383611a6b565b600061195e611d45565b611966611d9e565b3260009081526101016020526040812080546119a6928a929061198883614d2f565b91905055888888888860405180602001604052806000815250612d0a565b90506119b2600160cb55565b9695505050505050565b6119c681336130f4565b50565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610fa95760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611a273390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1615610fa95760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b611af6613169565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b606060ff8260200151511180611b5b575060ff826060015151115b80611b6b575060ff8260c0015151115b80611b7c575060ff82610100015151115b80611b8d575060ff82610120015151115b80611b9e575060ff82610160015151115b80611baf575060ff82610180015151115b15611be6576040517fbe31c33b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516020808401518051604051611c01949391929101614e19565b60408051601f198184030181528282529084015160608501518051608087015160a0880151949650611c3b95879592939290602001614e90565b60408051601f198184030181529082905260c0840151805160e08601516101008701518051949650611c769587959394939190602001614f03565b60408051601f198184030181529082905261012084015180516101408601518051939550611cad9486949293929190602001614f8e565b60408051601f1981840301815290829052610160840151805161018086015180516101a088015151949650611cef958795939493919291151590602001615015565b60405160208183030381529060405290506000826101a00151511115611d405780826101a0015180519060200120604051602001611d2e9291906150ab565b60405160208183030381529060405290505b919050565b600260cb5403611d975760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610f96565b600260cb55565b60975460ff161561101d5760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610f96565b60008060ca60009054906101000a90046001600160a01b03166001600160a01b0316632da688ac6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6b91906150cd565b90506001600160a01b0381163314611eaf576040517f910e7d9c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816001600160a01b0316632eb484916040518163ffffffff1660e01b8152600401600060405180830381865afa158015611eef573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f1791908101906150ea565b9050816001600160a01b031663508ab0a06040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f7b9190615161565b9250808051906020012060fe6000858152602001908152602001600020604051611fa5919061517a565b604051809103902014611fe85780836040517f0f25bbaa000000000000000000000000000000000000000000000000000000008152600401610f969291906151f0565b505090565b600083815260ff602052604090206001815460ff166003811115612013576120136147c3565b1461209157600084815261010360205260409081902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038616179055815490517fc65cdb43047b7466a1705cf4c7e88b0c66614ed6da1c1aa7f44026cee8e676269161127e91879160ff16908790615212565b600181015465ffffffffffff1682146120fe576001810154604080518681526001600160a01b038616602082015265ffffffffffff90921690820152606081018390527f29af03f84291900300e96b03eed8a02c0db5cdc94a3b15a880a93bfce8c125a29060800161127e565b60008481526101006020526040812054600283015461211d9190614e06565b825460ff19166002178084559091506001600160a01b03610100909104166121468186846126fe565b6004830154156122ac5760006001600160a01b0382166122205760038401546004850154604080516000815260208101918290526001600160a01b03909316926108fc9291612195919061523d565b600060405180830381858888f193505050503d80600081146121d3576040519150601f19603f3d011682016040523d82523d6000602084013e6121d8565b606091505b5050809150508061221b57600484015460038501546001600160a01b03166000908152610105602052604081208054909190612215908490614e06565b90915550505b612246565b60038401546004850154612242916001600160a01b03858116929116906131bb565b5060015b80156122aa5760038401546004850154604080518a81526001600160a01b0393841660208201529081019190915290831660608201527f9077c15d8bcf2d51f89ed4806cf2fd3d09000b446acd62c04653da6684ee16f09060800160405180910390a15b505b604080518781526001600160a01b0387811660208301528183018590528316606082015290517f33fff3d864e92b6e1ef9e830196fc019c946104ea621b833aaebd3c3e84b2f6f9181900360800190a160018301546001600160a01b0382166000908152610102602052604081208054660100000000000090930479ffffffffffffffffffffffffffffffffffffffffffffffffffff1692909190612352908490614e06565b9091555050825460008080526101026020527f565a22c1af7fcc038f06206699a6bd0ad8c85d23dafe9aebac3e0df68e8fb320805475010000000000000000000000000000000000000000009093046affffffffffffffffffffff16929091906123bd908490614e06565b9091555050505050505050565b600160cb55565b60fd546affffffffffffffffffffff9081169082168114610fa95760fd80547fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000166affffffffffffffffffffff84811691821790925560408051928416835260208301919091527f326751b7ae705d9d8353edbd289cc14a323875cf13ddc42f7575ac304e417fc291015b60405180910390a15050565b60fd5461ffff6b01000000000000000000000090910481169082168114610fa95760fd80547fffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffffff166b01000000000000000000000061ffff8581169182029290921790925560408051918416825260208201929092527f013cd5c0fbece94c68f9e668b3ab52cdf65f1ee39fb338ac4c803fe21fe043e0910161245c565b600054610100900460ff16158080156125255750600054600160ff909116105b8061253f5750303b15801561253f575060005460ff166001145b6125b15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610f96565b6000805460ff1916600117905580156125f157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6125f9613264565b612601613264565b612609613264565b6126116132e1565b61261a8261336a565b8015610fa957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200161245c565b600054610100900460ff166126f65760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610f96565b61101d613494565b6001600160a01b03831661271657610ddb8282613511565b610ddb6001600160a01b03841683836131bb565b612732611d9e565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611b233390565b600083815260ff60205260409020600181015465ffffffffffff1682146127d85760018101546040517f804e1c6f0000000000000000000000000000000000000000000000000000000081526004810186905265ffffffffffff909116602482015260448101839052606401610f96565b60008481526101006020526040812054600483015460018401546002850154612827916601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1690614e06565b6128319190614e06565b61283b9190614e06565b90506001825460ff166003811115612855576128556147c3565b0361290957815460ff19166003178083556001600160a01b03610100909104166128808186846126fe565b82546128b3908690750100000000000000000000000000000000000000000090046affffffffffffffffffffff16613511565b604080518781526001600160a01b0387811660208301528183018590528316606082015290517f7d7d1c5b3eadbe275ceb358e65cd57410b35997187258dbaaae42ab6e1405fd89181900360800190a15061298b565b600085815261010460205260409081902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038716179055825490517f9302619b5552484dceb0055d13a6b83805ce74ad349b433cf78be991ef30703e9161298291889160ff16908890615212565b60405180910390a15b5050505050565b600081516014146129e55760405162461bcd60e51b815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e647300000000000000000000006044820152606401610f96565b50602001516c01000000000000000000000000900490565b805115610fa9576000612a118260006135b8565b90506000612a208360206135b8565b905060008080612a3186604061361e565b6040517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018990526064810188905260ff8216608482015260a4810184905260c4810183905292955090935091506001600160a01b0388169063d505accf9060e401600060405180830381600087803b158015612abe57600080fd5b505af1158015612ad2573d6000803e3d6000fd5b5050505050505050505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015285916000918316906370a0823190602401602060405180830381865afa158015612b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b679190615161565b9050612b7e6001600160a01b0383168686866136a4565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015260009183918516906370a0823190602401602060405180830381865afa158015612be2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c069190615161565b612c109190614df3565b9050846001600160a01b0316866001600160a01b031614158015612c345750808414155b15612c6b576040517f80b9e73000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff821115612d065760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203260448201527f30382062697473000000000000000000000000000000000000000000000000006064820152608401610f96565b5090565b6000808615612d925760348714612d4d576040517f4115207f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612d8f88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250601492506135b8915050565b90505b6000612da7612da08c615259565b328c6109eb565b9050612db58b8288886136f5565b608081015160fd5460009161271091612de191906b010000000000000000000000900461ffff16614d67565b612deb9190614d7e565b9050612df78382614e06565b82608001818151612e089190614df3565b9052506000612e16836110c9565b600081815260ff60205260408120919250815460ff166003811115612e3d57612e3d6147c3565b14612e74576040517fea6eda5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff19166001178155612e8c60208f018f613e1c565b81546001600160a01b0391909116610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff82168117835560fd5475010000000000000000000000000000000000000000006affffffffffffffffffffff9091160274ffffffffffffffffffffffffffffffffffffffffff90911660ff9092169190911717815560a0840151612f2290613837565b6001820180547fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055612f6483612c74565b60018201805479ffffffffffffffffffffffffffffffffffffffffffffffffffff9290921666010000000000000265ffffffffffff909216919091179055608084015160028201558415613085576000612ff38d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525092506138b5915050565b905060008611801561300c57506001600160a01b038116155b15613043576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600482018690556003820180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03929092169190911790555b507ffc8703fd57380f9dd234a89dce51333782d49c5902f307b02f03e014d18fe47183828d8d60fd60009054906101000a90046affffffffffffffffffffff16878f8d6040516130dc989796959493929190615265565b60405180910390a19c9b505050505050505050505050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16610fa9576131278161392b565b61313283602061393d565b6040516020016131439291906152f1565b60408051601f198184030181529082905262461bcd60e51b8252610f9691600401614312565b60975460ff1661101d5760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610f96565b6040516001600160a01b038316602482015260448101829052610ddb9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152613b66565b600054610100900460ff1661101d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610f96565b600054610100900460ff1661335e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610f96565b6097805460ff19169055565b600054610100900460ff161580801561338a5750600054600160ff909116105b806133a45750303b1580156133a4575060005460ff166001145b6134165760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610f96565b6000805460ff19166001179055801561345657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b60ca80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03841617905561261a600033613c4b565b600054610100900460ff166123ca5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610f96565b604080516000808252602082019092526001600160a01b03841690839060405161353b919061523d565b60006040518083038185875af1925050503d8060008114613578576040519150601f19603f3d011682016040523d82523d6000602084013e61357d565b606091505b5050905080610ddb576040517f6d963f8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006135c5826020614e06565b835110156136155760405162461bcd60e51b815260206004820152601560248201527f746f55696e743235365f6f75744f66426f756e647300000000000000000000006044820152606401610f96565b50016020015190565b8181016020810151604082015160419092015190919060ff16601b81101561364e5761364b601b82615372565b90505b8060ff16601b1415801561366657508060ff16601c14155b1561369d576040517f18ce829400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250925092565b6040516001600160a01b03808516602483015283166044820152606481018290526112879085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401613200565b60006137046020860186613e1c565b6001600160a01b03160361376e5760fd546080840151613731916affffffffffffffffffffff1690614e06565b3414613769576040517fdc223cd400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611287565b60fd546affffffffffffffffffffff1634146137cf5760fd546040517f1b0159840000000000000000000000000000000000000000000000000000000081523460048201526affffffffffffffffffffff9091166024820152604401610f96565b61381b6137df6020860186613e1c565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506129fd92505050565b61128761382b6020860186613e1c565b33308660800151612adf565b600065ffffffffffff821115612d065760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201527f38206269747300000000000000000000000000000000000000000000000000006064820152608401610f96565b60006138c2826014614e06565b835110156139125760405162461bcd60e51b815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e647300000000000000000000006044820152606401610f96565b5001602001516c01000000000000000000000000900490565b6060610d166001600160a01b03831660145b6060600061394c836002614d67565b613957906002614e06565b67ffffffffffffffff81111561396f5761396f613e39565b6040519080825280601f01601f191660200182016040528015613999576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106139d0576139d0614cd1565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110613a3357613a33614cd1565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000613a6f846002614d67565b613a7a906001614e06565b90505b6001811115613b17577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110613abb57613abb614cd1565b1a60f81b828281518110613ad157613ad1614cd1565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93613b108161538b565b9050613a7d565b5083156110c25760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610f96565b6000613bbb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613c559092919063ffffffff16565b805190915015610ddb5780806020019051810190613bd991906153c0565b610ddb5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610f96565b610fa982826119c9565b6060613c648484600085613c6c565b949350505050565b606082471015613ce45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610f96565b600080866001600160a01b03168587604051613d00919061523d565b60006040518083038185875af1925050503d8060008114613d3d576040519150601f19603f3d011682016040523d82523d6000602084013e613d42565b606091505b5091509150613d5387838387613d5e565b979650505050505050565b60608315613dcd578251600003613dc6576001600160a01b0385163b613dc65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f96565b5081613c64565b613c648383815115613de25781518083602001fd5b8060405162461bcd60e51b8152600401610f969190614312565b6001600160a01b03811681146119c657600080fd5b8035611d4081613dfc565b600060208284031215613e2e57600080fd5b81356110c281613dfc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610160810167ffffffffffffffff81118282101715613e8c57613e8c613e39565b60405290565b6040516101c0810167ffffffffffffffff81118282101715613e8c57613e8c613e39565b604051601f8201601f1916810167ffffffffffffffff81118282101715613edf57613edf613e39565b604052919050565b600067ffffffffffffffff821115613f0157613f01613e39565b50601f01601f191660200190565b600082601f830112613f2057600080fd5b8135613f33613f2e82613ee7565b613eb6565b818152846020838601011115613f4857600080fd5b816020850160208301376000918101602001919091529392505050565b60006101608284031215613f7857600080fd5b613f80613e68565b9050613f8b82613e11565b815260208201356020820152604082013567ffffffffffffffff80821115613fb257600080fd5b613fbe85838601613f0f565b6040840152606084013560608401526080840135608084015260a0840135915080821115613feb57600080fd5b613ff785838601613f0f565b60a084015261400860c08501613e11565b60c084015260e084013591508082111561402157600080fd5b61402d85838601613f0f565b60e08401526101009150818401358181111561404857600080fd5b61405486828701613f0f565b83850152506101209150818401358181111561406f57600080fd5b61407b86828701613f0f565b83850152506101409150818401358181111561409657600080fd5b6140a286828701613f0f565b8385015250505092915050565b803567ffffffffffffffff81168114611d4057600080fd5b6000806000606084860312156140dc57600080fd5b833567ffffffffffffffff8111156140f357600080fd5b6140ff86828701613f65565b935050602084013561411081613dfc565b915061411e604085016140af565b90509250925092565b60005b8381101561414257818101518382015260200161412a565b50506000910152565b60008151808452614163816020860160208601614127565b601f01601f19169290920160200192915050565b805167ffffffffffffffff16825260006101c060208301518160208601526141a18286018261414b565b91505060408301516040850152606083015184820360608601526141c5828261414b565b9150506080830151608085015260a083015160a085015260c083015184820360c08601526141f3828261414b565b91505060e083015160e08501526101008084015185830382870152614218838261414b565b925050506101208084015185830382870152614234838261414b565b925050506101408084015185830382870152614250838261414b565b92505050610160808401518583038287015261426c838261414b565b925050506101808084015185830382870152614288838261414b565b925050506101a080840151858303828701526119b2838261414b565b6020815260006110c26020830184614177565b6000602082840312156142c957600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146110c257600080fd5b60006020828403121561430b57600080fd5b5035919050565b6020815260006110c2602083018461414b565b6000806040838503121561433857600080fd5b82359150602083013561434a81613dfc565b809150509250929050565b60008060006060848603121561436a57600080fd5b83359250602084013567ffffffffffffffff81111561438857600080fd5b61439486828701613f0f565b9250506040840135600381106143a957600080fd5b809150509250925092565b600080604083850312156143c757600080fd5b823567ffffffffffffffff8111156143de57600080fd5b6143ea85828601613f65565b925050602083013561434a81613dfc565b60006101c0828403121561440e57600080fd5b614416613e92565b9050614421826140af565b8152602082013567ffffffffffffffff8082111561443e57600080fd5b61444a85838601613f0f565b602084015260408401356040840152606084013591508082111561446d57600080fd5b61447985838601613f0f565b60608401526080840135608084015260a084013560a084015260c08401359150808211156144a657600080fd5b6144b285838601613f0f565b60c084015260e084013560e0840152610100915081840135818111156144d757600080fd5b6144e386828701613f0f565b8385015250610120915081840135818111156144fe57600080fd5b61450a86828701613f0f565b83850152506101409150818401358181111561452557600080fd5b61453186828701613f0f565b83850152506101609150818401358181111561454c57600080fd5b61455886828701613f0f565b83850152506101809150818401358181111561457357600080fd5b61457f86828701613f0f565b83850152506101a09150818401358181111561409657600080fd5b6000602082840312156145ac57600080fd5b813567ffffffffffffffff8111156145c357600080fd5b613c64848285016143fb565b80356affffffffffffffffffffff81168114611d4057600080fd5b803561ffff81168114611d4057600080fd5b60008060006060848603121561461157600080fd5b833561461c81613dfc565b925061462a602085016145cf565b915061411e604085016145ea565b600067ffffffffffffffff82111561465257614652613e39565b5060051b60200190565b6000806040838503121561466f57600080fd5b823567ffffffffffffffff81111561468657600080fd5b8301601f8101851361469757600080fd5b803560206146a7613f2e83614638565b82815260059290921b830181019181810190888411156146c657600080fd5b938201935b838510156146e4578435825293820193908201906146cb565b95506146f39050868201613e11565b93505050509250929050565b6000806040838503121561471257600080fd5b61471b836145cf565b9150614729602084016145ea565b90509250929050565b6000806040838503121561474557600080fd5b823567ffffffffffffffff81111561475c57600080fd5b8301601f8101851361476d57600080fd5b8035602061477d613f2e83614638565b82815260059290921b8301810191818101908884111561479c57600080fd5b938201935b838510156146e45784356147b481613dfc565b825293820193908201906147a1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110614802576148026147c3565b9052565b60208101610d1682846147f2565b60048110614802576148026147c3565b6101008101614833828b614814565b6001600160a01b03808a1660208401526affffffffffffffffffffff8916604084015265ffffffffffff8816606084015279ffffffffffffffffffffffffffffffffffffffffffffffffffff871660808401528560a084015280851660c0840152508260e08301529998505050505050505050565b60008083601f8401126148ba57600080fd5b50813567ffffffffffffffff8111156148d257600080fd5b6020830191508360208285010111156148ea57600080fd5b9250929050565b6000806000806060858703121561490757600080fd5b843567ffffffffffffffff8082111561491f57600080fd5b61492b888389016143fb565b955060208701359450604087013591508082111561494857600080fd5b50614955878288016148a8565b95989497509550505050565b6000610160828403121561497457600080fd5b50919050565b803563ffffffff81168114611d4057600080fd5b60008060008060008060008060c0898b0312156149aa57600080fd5b883567ffffffffffffffff808211156149c257600080fd5b6149ce8c838d01614961565b99506149dc60208c016140af565b985060408b01359150808211156149f257600080fd5b6149fe8c838d016148a8565b9098509650869150614a1260608c0161497a565b955060808b0135915080821115614a2857600080fd5b614a348c838d016148a8565b909550935060a08b0135915080821115614a4d57600080fd5b50614a5a8b828c01613f0f565b9150509295985092959890939650565b60008060008060008060808789031215614a8357600080fd5b863567ffffffffffffffff80821115614a9b57600080fd5b614aa78a838b01614961565b97506020890135915080821115614abd57600080fd5b614ac98a838b016148a8565b9097509550859150614add60408a0161497a565b94506060890135915080821115614af357600080fd5b50614b0089828a016148a8565b979a9699509497509295939492505050565b600181811c90821680614b2657607f821691505b602082108103614974577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f821115610ddb57600081815260208120601f850160051c81016020861015614b865750805b601f850160051c820191505b81811015614ba557828155600101614b92565b505050505050565b815167ffffffffffffffff811115614bc757614bc7613e39565b614bdb81614bd58454614b12565b84614b5f565b602080601f831160018114614c2e5760008415614bf85750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555614ba5565b600085815260208120601f198616915b82811015614c5d57888601518255948401946001909101908401614c3e565b5085821015614c9957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b838152606060208201526000614cc2606083018561414b565b9050613c6460408301846147f2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614d6057614d60614d00565b5060010190565b8082028115828204841417610d1657610d16614d00565b600082614db4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff818116838216019080821115614dec57614dec614d00565b5092915050565b81810381811115610d1657610d16614d00565b80820180821115610d1657610d16614d00565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fff000000000000000000000000000000000000000000000000000000000000008360f81b16600882015260008251614e81816009850160208701614127565b91909101600901949350505050565b60008751614ea2818460208c01614127565b80830190508781527fff000000000000000000000000000000000000000000000000000000000000008760f81b1660208201528551614ee8816021840160208a01614127565b01602181019490945250506041820152606101949350505050565b60008751614f15818460208c01614127565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808960f81b1682528751614f56816001850160208c01614127565b6001920191820187905260f886901b1660218201528351614f7e816022840160208801614127565b0160220198975050505050505050565b60008651614fa0818460208b01614127565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b1682528651614fe1816001850160208b01614127565b808301925050808660f81b166001830152508351615006816002840160208801614127565b01600201979650505050505050565b60008751615027818460208c01614127565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808960f81b1682528751615068816001850160208c01614127565b808301925050808760f81b16600183015250845161508d816002840160208901614127565b93151560f81b93016002810193909352505060030195945050505050565b600083516150bd818460208801614127565b9190910191825250602001919050565b6000602082840312156150df57600080fd5b81516110c281613dfc565b6000602082840312156150fc57600080fd5b815167ffffffffffffffff81111561511357600080fd5b8201601f8101841361512457600080fd5b8051615132613f2e82613ee7565b81815285602083850101111561514757600080fd5b615158826020830160208601614127565b95945050505050565b60006020828403121561517357600080fd5b5051919050565b600080835461518881614b12565b600182811680156151a057600181146151b5576151e4565b60ff19841687528215158302870194506151e4565b8760005260208060002060005b858110156151db5781548a8201529084019082016151c2565b50505082870194505b50929695505050505050565b604081526000615203604083018561414b565b90508260208301529392505050565b838152606081016152266020830185614814565b6001600160a01b0383166040830152949350505050565b6000825161524f818460208701614127565b9190910192915050565b6000610d163683613f65565b60e08152600061527860e083018b614177565b896020840152828103604084015287815287896020830137600060208983010152601f19601f890116810190506affffffffffffffffffffff8716606084015285608084015263ffffffff851660a084015260208382030160c08401526152e2602082018561414b565b9b9a5050505050505050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351615329816017850160208801614127565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351615366816028840160208801614127565b01602801949350505050565b60ff8181168382160190811115610d1657610d16614d00565b60008161539a5761539a614d00565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000602082840312156153d257600080fd5b815180151581146110c257600080fdfea26469706673582212204ac95ef2c1951ffcdfa9abdf0ebaff2f211cddbd29c73b2134bbd9d395ac2f8264736f6c6343000811003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02d4e40d975364b0ecc4ed75ae0cf6571248d3325c6d2b130e265b172f070119541805581d02022e4fa578fac92f3d8b54eb614f2914d179733fdfe582060b7998fe040105581d02b1d88e524c9a029f65156cea9ff4cfb7f9d155a0028f7fed6c464a9b0c014709673c6c1e000005581d02792b46c50ca7bb2ee9629a02651d8d0dc17970cad6a656257ecc46030c0345010c388d000219a600032ac8cfa0922e852425afac3c6a018a7065a763b1297d68a00370d8bf17647f0105581e039a57e9dd3c10415f1d7a09ea3f27382dbae9cd700273f65242ddfd82e00c02470173709cf384d805581e03a88636825a5fbd84fe2c573d4e293d6125d667552632403644f400d1600c0145e8d4a5100005581e03f69a9379fcb2bf5fa4aad30eaec063f9b0853cff0ba31d185d99c1c030040105581e03844025c62f0a04fb3448d19a9dd0587659d0b00f8af4dc180adabf03b00c18f24806dc01e17cd3619d05581e03c78bc7751abe2e51134fc621dc4bfe5ea6688a56c45457982612d21d100c014715b88031f3e635031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e033598be6613368810982a0f2187c71853afb2aad2ff2a54f618a484e6d007011bffffffffffffffff021905f50391ed34e01e40e8a20ef68579fbebb29585149499789a44280819716c2f00077d03e32b05dd8915b7c6ab7c7a4a9d0ac9adf5df5c341318689fb08130edf6cc892203d00f6c9b74e1b8fc674e50cad1bb0c021ec735a176f7623eb1169440671dbd72037c7456ba268c9ec062c52453b2baaf0492a33dd67e2c95c2f61f33d19cb9eef50219ffff0358a5cdb3ac647fe3d12466e70783f4d24f28bfdf5adecbe68929db8e28155f4a035f610484e2cca691f59bc46413650d055cd20cafb32b69e843672ccf1de3797f03d893540d6f5c572d7d92e2749ae7a592e64b7614b6189d8f123ffd12b273f44b0219ffff03e0e76376e80cbdabffd3a310475eef875d80c3471acad778cdbdafbc2655250703f0f051dcfe45812caec47fb116450e1b5a56ef60f09c87bf7ea3da3ca9eb7760039d1ad8e1e84e5f8407c74965da29605a40ac0b4e71c8a2aa34adb22acbfd153d03e4031cc16fe42be4e71afa9319dafcef14b971052a6d5ff8f77214b86c3347fc037a1652c6a02e25ff25436794e726f3ec421977f62e2eed1108d5b0d5a8c413ae035850c0fb724c299096b0063d1a713e450a90ba22dc049582a69834ebbcdcd19b0317cae9c264f0a705008facc3c484558eb0476bfc1b79c29de1bf97d24707411103833a717d5b5ea01a4a436b8c4090367c0dda4e9694125f76d2204e988cebd0b9037669eb55b286e18e51511e2b2305b04184333790545c2a4e3aad59f2e94a19ab030c9440145936098c257009a3e2c7d6e44782aa706bcb270c0d0e80f0f402e65403e8ced5c482f892e572da15707843e49e734c2fd75e546324fdb197138159b989033fdcc5095e3ee3b2e2ae5758daeec2ec4eccb89a5147c3ad33fd56f4ccab0300036936f5c5c2848010a82d517bb9beb6838d0d6acbc59fa0e2ed48985130343bf5030197e89adfd7cfff71ac0773a96220382eb936df4af8462c447719139d7f33a90368421d546ef6e9a0f3a6d8af060231e756c58ade6a6655b42bbf8debd07615bf031ce26f607c50b87e389b911bd669a2bcee3cbf246779c2317986842aae82b6360399b14f203d0affaf0bc9e4381b9636b5d1b70ac31e10450696599786eb28586b037fba31e9289a5ed6a4cd97e1126111ad855a74dd4d2ed538775c184ccc8b5eab03b3da505310032b1cef8b5f2292a85cc526e7f85e1ed1d195ad081dd85468e2d203f1fef87be26d69bc3e527e5dca54d3c7b5f348ccbdd0fdc99d3dbff5ed37ad63034c7a79fd5fa2bd35628d79c6a2f03c8535b634f4d74081f4ab6af320c412f59603a7a293a1699408e03be2f671049d440b8437a643fa20be6066fb5dbc0cc7b3ff05581e03db6fa8971ad16c5dff0df61c983a6c5735b13dc7d2ef55a5dff37dc6100c0147012ef35e16650005581e03829b8b434022a63cba8fe236649a2f2cc1c1569878795dc6ccc39487b0040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031cc3c1014051f7421eb11f39d4bdfafd216f161720ceaf06e74cda37f007011bffffffffffffffff03d9341e9a79236fcf78e02523d3655b8297ec4328c6f1577d949e7d07765db30205581e03d87c983935083aaf8af636694de96453713cee0fc83260aed3eb33b4a00c01470124efdd56e98b045935a63460ff164360ff161473ae2fc483527b8ef99eb5d9b44875f005ba1fae1333141660285761342f565b5f355f1a60061b5600000000000000000000000000000000000000000000000000000000000000000000000000000000022c0d9f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000005b00005b5f5f60a45f5f60246101825f393460415260023560601c806024525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af150608460595f396004601646355f1a375af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b0023b872dd0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60246101825f393460415260023560601c806024525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af150608460595f396004601646355f1a375af1601a9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60646101825f39600486601b0187601a01355f1a37856002013560601c806024525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15060a460595f39600487601601884601355f1a375af190601f019081355f1a60061b575f5ffd0000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af150608460595f396004601646355f1a375af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af150608460595f396004601646355f1a375af1601a9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60446101e65f39600486601b0187601a01355f1a37856002013560601c806004525f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af15060a460595f39600487601601884601355f1a375af190601f019081355f1a60061b575f5ffd0000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af150608460595f396004601646355f1a375af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af150608460595f396004601646355f1a375af1601a9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60446101e65f39600486601b0187601a01355f1a37856002013560601c806004525f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af15060a460595f39600487601601884601355f1a375af190601f019081355f1a60061b575f5ffd0000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346021525af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af1506080605d600439344652600460595f395af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346021525af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af1506080605d600439344652600460595f395af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60446101e65f39600486602a01874601355f1a37856002013560601c806004525f5f60445f5f8b6016013560601c5af15060a460595f39600487602f0188602e01355f1a375af1906033019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346025525af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346025525af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f393460081c6004525af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f393460081c6004525af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b4646355f1a60061b562e1a7d4d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60446101e65f39600481601601824601355f1a37601481601c016010375f5f60445f5f856002013560601c5af190601a019081355f1a60061b575f5ffd00005b3446526004610aca5f395f5f60245f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15f5f5f5f47335af11660fd575f5ffd0000000000000000005b33ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60646101825f39601481600801603037600481600201824601355f1a375f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60446101e65f39601481600801601037600481600201824601355f1a375f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60446101e65f39601481600801601037600481600201824601355f1a375f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60a460595f39600481601601824601355f1a375f5f60a45f5f856002013560601c5af190601a019081355f1a60061b575f5ffd0000000000000000000000005b60a460595f39600481601601824601355f1a37601481601c016050375f5f60a45f5f856002013560601c5af190601a019081355f1a60061b575f5ffd095ea7b3000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff52bbbe2900000000000000000000000000000000000000000000000000000000000000e00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6044610dbd5f395f5f60445f5f856022013560601c5af19046019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000005b6004610dbd5f39806015013560601c6004525f6024525f5f60445f5f8546013560601c5af1906029019081355f1a60061b575f5ffd000000000000000000005b6101c4610e015f398046013560e4526014816021016101303760148160350161015037600481604a0182604901355f1a60a40137600481604f0182604e01355f1a61016401375f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af1906053019081355f1a60061b575f5ffd00000000000000000000005b6101c4610e015f398046013560e4526014816021016101303760148160350161015037600481604a0182604901355f1a60a40137600481604f0182604e01355f1a61016401376014816055016070375f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af1906053019081355f1a60061b575f5ffd00005b6044610dbd5f396014816002016010375f5f60445f5f856016013560601c5af19046019081355f1a60061b575f5ffd7c5e9ea40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60a46111b05f39601481601501601037601481602e01605037600481602a0182602901355f1a3760048160430182604201355f1a375f5f60a45f5f8546013560601c5af1906047019081355f1a60061b575f5ffd128acb080000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffd8963efd1fc6a506488495d951d5263988d2500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000062000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000128acb080000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a800000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000001000276a400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000062000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000005b60246101825f39336024526004356044525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af100005b60246101825f39336024526024356044525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60e46113fb5f39600460166015355f1a376014601a60f037602e357d152100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af15f513460181b1160205160445114161660fd575f5ffd0000000000000000000000000000000000000000000000000000005b6101046112d55f393460181b6044526014601a60d037602e357d155200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af15f515f036016356015355f1a1c101660fd575f5ffd5b60046101e65f39336004526004356024525f5f60445f5f6084355af100005b60046101e65f39336004526024356024525f5f60445f5f60a4355af1000000000000000000000000000000000000000000000000000000000000000000005b6100e46112d55f39600460166015355f1a376014601a60f037602e357d16c100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af15f515f033460181b101660fd575f5ffd00000000000000000000000000000000000000000000000000000000000000005b6101046113fb5f393460181b5f036044526014601a60d037602e357d16a200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af160205160445114165f516016356015355f1a1c111660fd575f5ffd000000000000000000000000000000000000000000005b6101246113fb5f39600481601b01468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16a200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f51826016013583601501355f1a1c11166020516044511416906049019081355f1a60061b575f5ffd000000000000000000000000000000000000005b6101246113fb5f39601481604b01601037600481601b01468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16a200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f51826016013583601501355f1a1c11166020516044511416906049019081355f1a60061b575f5ffd000000000000000000005b6101246112d55f39600481601601468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16c100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f515f0382601b013583601a01355f1a1c1016906049019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000005b6101246112d55f39601481604b01601037600481601601468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16c100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f515f0382601b013583601a01355f1a1c1016906049019081355f1a60061b575f5ffd5b60046101e65f39336004526004358015611b13576024525f5f60445f5f6084355af15b602435801560fd576024525f5f60445f5f60a4355af1003c8a7d8d0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001af000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6084611b2b5f398046013560e81c60020b602452806004013560e81c60020b604452600481600801468103355f1a377f1af00000000000000000000000000000000000000000000000000000000000006101245260405f6101265f5f604886033560601c5af15f5182600d013583600c01355f1a1c11602051836012013584601101355f1a1c111616906016019081355f1a60061b575f5ffda34123a700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000004f1eb3d80000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a800000000000000000000000000000000000000000000000000000000000005b6084611d1a602039806015013560e81c60020b602452806018013560e81c60020b604452600481601c01468103355f1a378046013560601c60405f60a45f5f5f5f606460205f8a5af1956024611dbe5f396fffffffffffffffffffffffffffffffff6064525af1165f51826021013583602001355f1a1c801591111716602051826026013583602501355f1a1c80159111171690602a019081355f1a60061b575f5ffdff5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f000000000000000000000000000000000000000000000000000000000000000096e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f000000000000005b5f5f60a45f5f60605f5f60445f5f600235805f527fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000060145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af150608460595f39346021525af160fd575f5ffd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f600235805f527fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000060145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af150608460595f39346021525af1601a9081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f600235807fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005f5260145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af1506080605d600439344652600460595f395af160fd575f5ffd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f600235807fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005f5260145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af1506080605d600439344652600460595f395af1601a9081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f8b60020135807fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005f5260145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c60048d6016018e4601355f1a375af15060a460595f39600487601b0188601a01355f1a375af190601f019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f8b60020135805f527fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000060145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c60048d6016018e4601355f1a375af15060a460595f39600487601b0188601a01355f1a375af190601f019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000005b610126611b2b5f39806015013560601c60c452806029013560601c60e45280603d013560f01c6101045280603f013560e81c60020b602452806042013560e81c60020b604452600481604601468103355f1a3760405f6101265f5f8546013560601c5af15f5182604b013583604a01355f1a1c1116602051826050013583604f01355f1a1c1116906054019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000000000000000000000000000000000005b6101c4610e015f393360645260e63560e452600461011b61011a355f1a60a401376101063560601c6101245260843561014452600435610164525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af10000000000000000000000000000000000000000000000000000000000000000000000000000005b6101c4610e015f393360645260e63560e452600461011b61011a355f1a60a401376101063560601c6101245260a43561014452602435610164525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af10000000000000000000000000000000000000000000000000000000000000000000000000000005b6101246113fb5f3960048160160182601501355f1a3780601a013560601c60c45280602e013560601c60e452806042013560f01c61010452806044013560f01c808060a45282604601355f1a60f61b6101245260629003826047016101263760405f8260c4015f5f8646013560601c5af160205160445114169101601b90039081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60e680355f1a60061b5600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6101246113fb5f3960048160160182601501355f1a3780601a013560601c60c45280602e013560601c60e452806042013560f01c61010452806044013560f01c80806019848201033560601c60045260a45282604601355f1a60f61b6101245260629003826047016101263760405f8260c4015f5f8646013560601c5af160205160445114169101601b90039081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b6101246113fb5f39336004526024355f1a1560051b600401355f0360445260fa3560601c60c45261010e3560601c60e4526101223560f01c610104525f5f6101243560f01c6061818060a452610126355f1a60f61b61012452036101276101263760c4015f5f60e63560601c5af100000000000000000000000000000000005b6101246113fb5f39336004526024355f1a1560051b600401355f03604452601460ff60d037601461011360f0376116a26101065260026101276101223760405f6101265f5f60e63560601c5af15f5160fb3560fa355f1a1c111660fd575f5ffd000000000000000000000000000000000000000000000000000000000000005b60a460595f39600435814601355f1a52336044525f5f60a45f5f856002013560601c5af10000000000000000000000000000000000000000000000000000005b60a460595f39602435814601355f1a52336044525f5f60a45f5f856002013560601c5af10000000000000000000000000000000000000000000000000000005b6101246112d55f39336004526024355f1a1560051b600401355f0360445260fa3560601c60c45261010e3560601c60e4526101223560f01c610104525f5f6101243560f01c6061818060a452610126355f1a60f61b61012452036101276101263760c4015f5f60e63560601c5af100000000000000000000000000000000005b6101246112d55f39336004526024355f1a1560051b600401355f03604452601460ff60d037601461011360f0376116c16101065260026101276101223760405f6101265f5f60e63560601c5af160205160fb3560fa355f1a1c111660fd575f5ffd0000000000000000000000000000000000000000000000000000000000005b6101246112d55f397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60445260048160160182601501355f1a3780601a013560601c60c45280602e013560601c60e452806042013560f01c61010452806044013560f01c808060a45282604601355f1a60f61b6101245260629003826047016101263760405f8260c4015f5f8646013560601c5af15f5160445114169101601b90039081355f1a60061b575f5ffd00000000000000000000000000000000005b6101246112d55f397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60445260048160160182601501355f1a3780601a013560601c60c45280602e013560601c60e452806042013560f01c61010452806044013560f01c80806019848201033560601c60045260a45282604601355f1a60f61b6101245260629003826047016101263760405f8260c4015f5f8646013560601c5af15f5160445114169101601b90039081355f1a60061b575f5ffdd0e30db05b6004612afc5f395f5f60045f8460020135854601355f1a1c73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1906006019081355f1a60061b575f5ffd5b6024610aca5f39600481600201824601355f1a375f5f60245f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6044610dbd5f396014816016016010375f5f60445f5f8546013560601c5af1906015019081355f1a60061b575f5ffd000000000000000000000000000000005b6020610dbd5f396014816016016010375f602452600481602b01602083602a01355f1a03375f5f60445f5f8546013560601c5af1906015019081355f1a60061b575f5ffd3df0212400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b41b90800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6084612c455f3980601f0135805f1a600452461a60245260048160160182601501355f1a37600481601b0182601a01355f1a375f5f60845f84602101355f1a604451028546013560601c5af1906022019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000005b6084612cc95f3980601f0135805f1a600452461a60245260048160160182601501355f1a37600481601b0182601a01355f1a375f5f60845f84602101355f1a604451028546013560601c5af1906022019081355f1a60061b575f5ffde67ce70600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000008dae73330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000bd6015b40000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80dd93f59a0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80000000000000000000000000000000000000005b6044610dbd5f398046013560601c80600452816015013560601c5f5f60445f5f855af1506084612e5d5f39600483602a0184602901355f1a37600483602f0184602e01355f1a375f5f60845f5f865af16004610dbd5f39826004525f6024525f5f60445f5f865af116915050906033019081355f1a60061b575f5ffd0000005b6004610dbd5f398046013560601c806004525f602452600482602a0183602901355f1a375f5f60445f5f866015013560601c5af1506004612ee16020396060612f05604439600482602f0183602e01355f1a375f5f608460205f855af19050906033019081355f1a60061b575f5ffd000000000000000000000000000000005b6024612f655f3960205f60245f5f856002013560601c5af15f518260160135834601355f1a1c101690601a019081355f1a60061b575f5ffd000000000000005b6024612f895f3960205f60245f5f856002013560601c5af15f518260160135834601355f1a1c101690601a019081355f1a60061b575f5ffd70a082310000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000005b60246131395f3960205f60245f8446013560601c5afa5f51826016013583601501355f1a1c101690601a019081355f1a60061b575f5ffdc31b8d7a0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffd8963efd1fc6a506488495d951d5263988d2500c31b8d7a0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000276a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6004610dbd5f3960405f60845f5f8546013560601c806004525f602452600487602a01468103355f1a375f5f60445f5f8b6015013560601c5af15060245160846131b85f396044525af15f515f0382602f013583602e01355f1a1c1016906033019081355f1a60061b575f5ffd0000000000000000000000000000000000005b6004610dbd5f3960405f60845f5f8546013560601c806004525f602452600487602a01468103355f1a375f5f60445f5f8b6015013560601c5af150602451608461323d5f396044525af16020515f0382602f013583602e01355f1a1c1016906033019081355f1a60061b575f5ffd00000000000000000000000000000000005b806015013560f01c80826017015f375f5f825f5f8646013560601c5af191016017019081355f1a60061b575f5ffd5b3273ae2fc483527b8ef99eb5d9b44875f005ba1fae1314606060845f3760605f2074ff1f98431c8ad98523631ae4a59f267346ea31f9845f526020527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546040526055600b2073ffffffffffffffffffffffffffffffffffffffff1633141660e43560f01c5774ff41ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c95f527f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e26040526055600b2073ffffffffffffffffffffffffffffffffffffffff1633143273ae2fc483527b8ef99eb5d9b44875f005ba1fae13141660e43560f01c5774ffbaceb8ec6b9355dfc0269c18bac9d6e2bdc29c4f5f527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546040526055600b2073ffffffffffffffffffffffffffffffffffffffff16331473ae2fc483527b8ef99eb5d9b44875f005ba1fae1332141660e43560f01c57000605581e0301f6c3949c69f9617d8cada9fa07b6fda3ca62cbb047761f4b81f57f500f014701b463aa7f5b431935a605581e039d23217cc1d0e25898a08368730ce1c3b413b7c4726dac94a5bb635c300c01461319718a50000219b79603fe07ab6de2155e2a04cabfd96d4e6dae09e071f90d001319936467dc8f2869390339bce1b888d21e35395cd8b0f003302278a618d5fda43f5e0e279de4930cc94203d30be93feae6122c5c83fcee4ade19d8593dc0e77a70a1352fbb785c9bf740e303408ff80ceb10dfee2c5172ac2b00b97725e08b421f8afbfa60eb18f29dfb64380300254560b9f93c0ae534fc8ef874e98b7bd17b8fbb1ff4749952add33408696503b5cf96681cfa7ac397bfbabe8f15e3bea0d64cb5c3e86c892b5fb8238899d0400338d3a6cda61333c06fcda248d8b64f2f7227856ada32d33ad893809e98ec67b303d31cec2ced0ba0bb3dff5eecedc815fab3fe85ea2650a10c84e448c8ee1176d80393eb3d942ea02eb0b8981a284886f44b6a1f2ca9529f288a0afe64f20925809b03483bcfce3fd17488c5660aadcc3d097c10b7ddfeb26ff2688b83578ac4f9abe9030fa67730633207e5316cee980181bdc08dd23d9f0daf47909e38658e34390a340219ffff0319ed307b0480e47249522d9905f2ce8049f7462013c23538ede0ccd2762136aa0381a5482100ccf15a4386331020cbe6aa7626f4d2d9c786c1466503e693a15d00030c63a2f76dfd2aa287a8a989070837094e5074cda5f1ca8a93babb4d568de44703c25c26d60fbdac39a98de4194fcad66a973c0dfe52b2d36b47adc2d055a720f00219ffff0219ffff03208c6f7095355bcfdcea2eb89bd2b8815cde213d311848690b320ee6b02c8bb303efdd22796278c7538d9ee2f9675421c2b743b32d372713c21239d9afeb012d0f0307744a4c193559da6fe739ca0e8411a150446a802a933ab3c3e07f8c684bedbb036857a01dd5520cfcb053ee3561740117f036807a57fb45e7f3b864e0344f445303edae2fecac1b9fd37204772c21f79e1ca3c00f20355895de037781a44d1bb73103d9a232e6bcbc8daf84588948eed00af15ac46d73160e0d8c96e50cf0c6bc19dc038543e6e89e301fd54cbb250d59fa1a4a8ae534ffcbb3834743a4b4113214cd7a031c133d7ca563530b624d8fdd120184165597c7b6863550a325f90adfc071daad036ba7a91d7ee639fe9577500dfe7fb6dd9edff5f17c59fde0935d054626d4495e0338875b7d25681610873cf75bbe3a873c4507f7efcefbdcc78e7f97ee3359d06303a7c8023b4274c3e7db9493d699590559d76b2b698591d859e3ca38577055f4d403495492ac938ee39e7d11de24abf3a54d62c476d4e4a69ec84f61f648b20bd68b03daf624365cfd4902c1051893668726441456126ba3b82ba07f6ae8aff6d52bd903e31b93017448ab02b1eb715464e43ebcfc882b80b0e60849f98f0642bd1cdba203e3f1cafe96f43552d74b3ffd6bfee68b71678d7f7dce9f943d0eb0effaee5b9303722f6bf93f581b99ab6a72a6c205cc74ebf8649db8642039aceff5135b0eb5ac03320650f51a69998c57377b7ae79fc98533df44aa452bbc9c128c5868f6e09c3b03755a6070f4a7ac8b8331dee23d75f9da0346606e691436f43be1e2ff0349a0d103b20ecb4a90eb25718f37ab0a3c759137040bb9fe048fbad21e0cad4330d3b63a0354bdd80da8e74cdb8d88d7055c3c5eae05259d05eafd8389a73fc6783b1a7fab033d72d0ed62bf8d091f83ffab1f3e6d20cf708637ce00740cf2205a963ed6dec703568ee879a8caa011647ad5db8205c435b7b0ad71facb5376d2ada217b01ae0c703a96bc4811603d38b8148c6e048dd256a42c76cec3afe19cc5f6fd62db9f1a137030d420eb06000526c12093ace41cb334d7f04939eb63008b5bafad8cd73088b2903a796920debae91826073250fc2182ac7d6fc185608e54e8a0772edc731bdc5c00309e6328ce60d7f5af39b738f50c8d695d5293b0c53316eeea05cdc0a1c42b05b039b9422e683fde7b8e317480be8aa4725947d95f5992b3aa94cbf68129d2d402d03ea72121dbb2d815fe6807277e63fecef870f72b457d14c7b6512d4ffc99029d4034b5da6aebfd485e569ec4a788cdd93a139cfb55867c861561fea20b95784bd120396d21ebef9038831943b5eb66428189c452a3012c18e07f587e58cc911aa8d26038686730ea5552a75130d2fe491ce834085ff3279a72fce63e812a91caae77d5e03e9277c8ac913f917a8fde9660dd57f792ab0fd112d01b46453ccc2df88e764ae03c3c0fcbe978a40fd7d8fe5236abf13ddad4950e1bad5608079cd866abae018b8031d942c5f793bd295e61894015b65c2a0b772da5420e868784603db7d45fc38ab0365ca75331b2170c759b99680f25803d5fabba9cc4c897a1d09058f841a58083803e3981f17dbc1a00258432c0e34232f267d05e271590ee7a9783a51870f9873c8033a7c4e1b76aa60dc9d631272c2ce6a72e82914e0cd8ffc759889d5f24cdedeeb03ca06c2b4c97d9941e56c3c752abe4c2b0b2cd162e22a5d25f61774dc453deedf05581e03da7d3b581a6515e83a053ac10dee614e37c74397b0001f77359de74100040305581e03e08b15e58c41c3c9db35bc5268e123e5e61f633bd60f8dd66ce320d4d0040105581e03961ea71a2092ede541a5313d58a72b669c614b45d7c9e73ab7f40b85d0040105581e036be6c90bff6b129f08f2d3732f40a37dbc9a95e1c60843ed138e4969d00c1836470135ec955aed3303235db60b9fecfc721d53cb6624da22433e765569a8312e86a6f0b47faf4a2a2305581d024eee85039fc9d8260336899b904d35911f52859f57c1e664281186f20c0147a7a5422d062ab804590c346060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a002903e913f5737b593e4fb229c251bb33c8ea831be235802d7dce95bb5f51e64b4f0703c3d819f914af8db3888042934c833416c9d7c4ea6ce3637efb6aafc1473e364803162847b654d976fa3f30b7d64779b8d8746a9aa0369c8ad9d18c9f519bd05b41031e398c404a8ec44633611979b5adc7fc64b1a438040a09c9ed977e10535d7f730306aa7d6fd3e56d01011e99aef64ec8a343fb61da3731cfb187672e93dba27938030382ccb95f06312769c927751bc47bb0d1daa1d35f9e30ac84e9b689ebf7784603167dd6f6e7536be20ccf5fd416cd4c304e3ef15bd05dd4381f61ba1ced6563a80379ed11db57f906368769a498005b2087cc295c50d0b7fe3fdfeb87a418511bbe0357e0033fbeca0278b66fbdc2f6433e3883aec142c8ff6f27544cf158e811f65e03fa133fdded326cb347a02ac8e5554a4b0cb5c11b6360e4c32599a606e9cf121e03db76b9da2f388cfca7f9e0a356e05cdd8b6d3b1c86098bb8c5a723222c8381fa0364be49b2366339802af013af251c30f3f57c810770c7a98a041060cf2d6f52a5036ff12cbfc02ddeb6d6448e1c0fb30da57b354bdae4d8d68ae1454ed91564e9190373486e7593b27679f3e076ee00f93e050ff84191a7f0a25129eba7b4c7a2e2d603cd02c520a0f7de5170bc2fd5799ccc593811e77d4ec5be28806e3df089e22a560383a94692a2a9eb1942f8dc4688a6847bbb846113578df833c2d27cb92c4170fa034b0aa1489d54b99d91b80a31434df0dd59f57da7c6505a86a9e96af4809f689903e8820079424a154fb7b765a3fd0126562b470a6a370b238e641034a236a806f903d7b3552619b7a0e0ed905a42941b2a9bc1acdeba818fa22181e238361d8362ee037c364abc7ae26eee02edbfca0657da432fd02c9da46da966b9f0f844e42d374203222eda0af7f91ea67106f19eb6ffa68af1fae97858eb4ead42295c48d051310800581f03572160375feea7832f7f46965e90a99e396130357ebc28238c4df8b8f6505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036c22616e2cd9c3bee209553faa3eb314f0457b1ec2a7be9b5844439b56803f1e00581f032d9a06dffbdbd3f36ebf4e29f3d2237128e9370c16ed38f3b0779711af005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0347e507d42b63a17776db95dd8735291cb161fc49a120771b4af6600155c50f9603bc19504f4067fb1f5cd1b6e98f684adada76b840873ed993d852098b82d8aa110378a305cfb92dfbb000355bbaee72d205e6ecb6bcc5ad36e172d27b87f3a3fb32030df7022c3d0820df590090189c51a4ee486391327b8977afc8d91aef5011bf5800581e02768b42676618b1460cc89e520f908585f64967c2b439bb4a8b258982e45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026749d5c7127f3cb7365e463b6de285b5d8901f8fa97cea40876ee091af42049100581e02fef604410034a902adceec367a389875cbbc424889e8d7e7d35f99a18e48d084f4c3ea980c260219820803ee78d33d3ef572aa66b5464f20a28f7a2f4d3ac468adba50a454fdc6269850d10397038648bbe4fe26e2f784ed4e6e602a2fc60cbb73984538d613d0e91de9db0e03f28e048ac8f980cab12de547bae355b0d60bbb87871e66fa850d92f7346ec2ef03e1cb0005edfaa8b2e0aea8f2cb4ee06e307476683c0a87086d38182461d419cc03d11b3a760a36945350e97fc1e5e1575bf99cf04717ef21e78eaa243697fb070803342d5b7c7121e9650dba8459a3c7e53fbf45f4f533baaaa998774b44cb38a4820219ffff0320f0ccbb7fff366a23833198cc4c1f510177524407f45cdc8e6722a5da5d59da039922c043f27c8fa378f8040523766e29d2ffd8e6c6d0149a4a31e7e75d49849103f83717b4248aa0778324bb9e053bdff7be797f45ea6af06f4b4cabf78c0da6a8038614a8b9b0bf0408b4d030876e864584b502f5380c059d2539d97ebdcc36fac30391e5c8848c130c97f305efc46c8ef87dcb1a9c05c3d13e95778783da1ec0b9d503f4c6e67c0e493951f63e37fb34cac6d4b3fbbac0f4743d830e06a7eb694da27103a4305433a10ac47adce4b9a7158c4e05322966099acfdc0466daeb29229767540352202c6fedbf72e839d17377f64ab68b97f81b72627e89427d4bf2028bcf8f1c03cf9c999dbb954a1ac00ed59302285169064cd58fedb4ae786092911a3ee77f1a0219ffff0306b8911d8c468f46837963ad915e631d9c5f4568818386d036383d326a08755903c578d783016b839bf20d65c5668306c3ec38172327407c8e6c1afaf754f015b70301148d20f6d940a6ab8a9156cfb52fb8e6c203a54bbfe052e4c47e803a4918720219ffff03ced5e9f436e3214db1f519a88d77cec5ecd59f23b5d06a3d727adf806084c2750339cb008e8ee5720d4fdf7f24f70a0fe2046fac4c1a15f2a0877c481d636d6a8603f2249fea0a94f3bf7e1ffbb3786cd1efd2e7df84cb0e64d1157ed3d7ffe0ce53037af5744078e5f715b7f4c238d15318b131b71c3ebfc41bf0ca72995238f73a3103a8a6892395ec0e0aa5653304dc8f7bbcc4fbba3604f687b4c4ff24dbf789d642036f327f30893882e31c6d7b8152ce86f1036a1411f5c8090837b1a22c76e6b26003b690964fe776e2340422f43f9a259a20968a4b1f75f738aa24c581185b0ce0a103f79f710041fde477fa172604c14feac6609fb9a4ed89257065b10bcf40c3e0f8031ad0220d823537c96b553da896bb562c6597bf11f47c9fcd16f18305ab08485903f2c83abfe30868dc14c4dc7e0434fab2543674a9a3eb36e0a65fad016c2a2c000365c65411a040cd97294b69c300aed135846fee08de2da8f970f32cb180e82e66033b461781ae8ca907a476b3dbf06f51a85f913154e48f6071d1b247e699be5dc2030eba48c3f83fe2d7e3b0dcd542fcbd097175225eeb40b3bea3805726e9379d1f039c3b3251dd586166555cb56fb93c03aa7a38df7785b934944ba27fa0e50c010303557c18118c01a9b5ff7a5965320280a1b0ab1f4b261e0084accce016241522f9038a86fdf748cd6e2bd98d5b1e6c5268b36d63698fa4f999648013dc940a891a0003ac7a843ea01361f16d4087aa9472a0235f8fb80520714f1ca0c96773fdc44d5703df44630ccb3804e8ca22232841b946121e368a2c009e14655eb4487253083c7603a5fc05717a4ba25f78f9933058e8d9d389812df631bbe89d13e952c58d8343280307ffd52f3824d2a4bae148a2dc3cc7f0a9f9d842550f9c689f0b55f15784627b0363d1c9f84cd696d296f8b11d067e19795e3e41ced77df5632c31fd59b44a9d3400581e0283b86db1f8df70e2e4389294e550db70a84074130094f50eac1df2225e4a05dbc5f18e0dfdbd9e9100581e027063162d011f7bbd0ceae382d9240169ad689e37d57e12735889ad4c865820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dff479f119a52202be9fa3af6d36aac56d9c5aded8318c21778ca21b215820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021980a00219dfff039f3239b16ecc6202c69d42bb1d6b8db8e19d43f6569c219952459628bc28a7e20308b5b2000801719f3e3dc13a6927755831d173e8c61d86b121ed4e2dc0095b31032d9af30c0e68e5b8f16273e84dd3eec7a1968e3ae9a8dad25fcfea83611d688f03d7b3eaeeb8aedda6c3161b7faa762241fa8adc12804f5c61529639bb86157aa60396ac3e116b32933a0aa14c299cc297880413044fd0ceecc556bf3b3e9daab872032d724ca3a3d2c3f29ba8cedf3bc329306ece0a79c5ad505e9b3fbc1042f1fc0203992a265335fbabe72f996f253e9b44209afedb7a634723d4f4e142456d9025f2036447d1d90464f55ec8b18be063fee0173d36364b9426103c1a8c4414b6aac1690315c77b761b3102f41c746d2f2f038cf7e700dc73b21e76d95f6d3c28030ed34403c02d18e59e7222d104730b324579f08361d8cc1a90035f2cb5072b8ab7579fe60219ffff03e04f037dd16931e245258960f6012d6e841190b2455d0ba9fd35c8ed7a2a8c4603f29e85b141057bc4966fec8c2c9995bf93f7b2df6128723fb0eaf6519ffcb3b0032b503d6d11feba2b2f1d589b18f577fcf4885b16c76c3c4d1eb8929fecb9431303926883cf050b679eb0f7b03e0afe1cc824b973e4e85374c676ec6a2d4d90305f03a9ef4d3f58a8bb757dcff1d799978b82472e865aec75cfab9f98cc25c908f43303d12ec3a02a15d5f357751ccbb36bebb449a984f665153eaeac0ef492fd8c2b2103687fd2a2b9accc8cd23ea750b76fdb07515be4f0b3c6ade5f021dc96e16e8a4e033e11a368acf33e3499ae022dad19275ef98d983eb4f9357129f414927d0211c503d55c342c7baa026c8bae3f2881211bc8a1f89e8f03038819ce26b7182b070039032902a61565e866863e6dd200fa9761189107150e44e426ac630232d447e3594c03be3adf9606fa2136bc5a64667b4510397964db1f9a1b18e68d390e5db6a8bbc40368f0c4bfad3635b9375f1c052ad9b0a6d97ec0a7c997c585e5d86b0bd5f954100386f01b26e7c9474fd0355fca9eb73d5c273be3b8f38dd2dcc3ea385c0f0e90ee0219ffff03b626153cb2cc724173676de77b248906da5b461d2d3c19deff999c49ff4aaeea036203b679ab054706b62e8d4335a98269872c2a258851b15bd6777b41f9841b8a036371fcf1025621ae3d8ed095e18f24324b9d89cc4b428cf866b1ad7bcce8b5400382efb291577095f4c163b793066a061fd10a6896de18200d3f03986f9e0b8eee03d88a64923149632975c1bb579c52ab4cf86c6be70dda737440b0156023349e960363a7f6fa8520a728311af6e5ed9961f5ed7bdda98cbcbdce61ae4886cfb3562a036bb4152b1fc3bd8b4a8a315e103e2bb89972be55112a51a55452c672af45715c03121143f996ac08e31809190ba95e525afc7aeaead95fb72ad5b64b53a4ae6c65037d494f34bf1b4e8f8d5b41ebcff680930f70c46f87c2e0135f202dea2b034dcd03559d20ab3c348a294bcf233fd6b17cd3db14ad558b02d2ac25c9c361426bf35d0355fba8f8b0474c2b3cadbc5b03591cabca08719e71096bafccc76376f24edb55034b80bd035a4155099d923e1b278aa92593f9ff8c14412e5fc9b2f607ed6c4fba036688e1a1d4b8a1e6d620dc1efb539c57facad7798cfdc952048dba8d1ec232c903005e425c19365049c6329102efc7479370c5db49f1e0bb480c21a7c7659eecc80378bcb8deaba5413781077fb1960b68705fb5f40f3afdf36c4f22be6d8ee0376d03b06e5c14831dcfac878cd465ab54744706295a25e1ee5808d495a1dec0ada20703fd17c60677d1ef7789d2ee00636741d126dcf1c3eef5b1ca1432b6ea0d93761c035aa68fe772fc035b2faa2c2bc89c06b4b9ba5e4ce04887b429744d6309548c5503ae16aa23fa6600dd9ea88e82a96d25c9f7d14e1a9d011e16ac4b575163c8ca6703ac9dc103411753cbaf1a9be4996bbb0866bb1bcfa0c650427b95fdf7d3857ab8032a7fd54a9826197082db719e9e5f85e74e6d753bd83eaea3b181d608b5dd83570325b511b6f8d6e60f72a308153a4a555a771948d96b621eb5bb743b300fbc1595030ed43d736a312c8b9ab2a1fb11244bba812d786931381a7501c3b05d440ab9d70307d21e87bed79fe347f6feec0a6e7d385431b2eb446e9794c4a17a29cf413b1903f3e73358704444f3b198f8f3bd766c11f065a5ab76d1f64faaa5161adf1372fd032750a9161084eab31b9ffd78a3450e52307b3d80f99c92d264f0e7124285b7770352b29232f48a7ab7b8964a5775c41443b5c2d21e3feacecbe1dc34e5ab4d40a403929f6342bd23f4c347b3739794f28ba431c1cb07ca2b580eade3437af87993e003cb6c28e0f02ea46f7052d8e730b46cc817c3ba27cd6324e9e3d995ecd93d73a10373d41d45faff646c7250a7cf16717f4d03c794e9cadd61474f9a59c4b5418c0803b29d11ac472c289a771f244ac29f63bac759b7bdb3673d0a4f44bf98332f77ea03604cd25688cdc66670b3aba2282b731fd8996a495a653c4d8af6d76981752952036b2dce423282ed1d28402f16b06c48d54e20118ff680db91a89d0b17a0181be203a39dc3c053e0d1825fc03d9b4994b4b249d725a309f9dd2137838e6701d5396c03b6df675acab6bed9f9850e1c168b6000d4c08bd8d313a824490226fa21861dfc00581e020e997d26ef33caadeb7e468d3fe9a1c673683f378c8f26a0b1b5dc87a349463ae5965f4102fecd00581e0207471adf3be3999be2885c672e0eb6255d9a368c38c10d68997e21c51f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0288a224eef98caac7003512590d8787c24f03fbf597479b14fe8ed9cb0042843900581e024f2ab16cb82945f9a5070b95bc915f362a49a1959d699a2e69ba1336f147746eb40ee51d0200581e024322461ca04e04c0b30b325b9b0e3c44e617115ca1fd42cde00268a0ae5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198c2203823cdc4b4197a871fd48db3bd85769bfd4e163f3c23ea0797316dc80ad0a0c0603a5a4b1f5e92b56f168f15967aab2aab5e0c04f939f4c7d83076919389f6b6b0d038647ebf9b2bb876194a9b716204e55391be58758046c01fca684c0462374e3e6014200c803b4813cbaaea085cdb771dd4f2367faa1f6548ca050db23521438c6505179dac9036f91e9d9852bb21919c6b20083a49cb4a83556801b69f3045a31fd1f3961db78033b440ba6c31b498f6c92760d1c88cb5d36aabc42a417ac45b1629f9b8a6e96e403badfb997035a424bf31f7b39e5d649aed30a652913952c2789eaf4d8d189c7a500581f0303aecaa4a1ec6bff148f959ad05f98d4dfb7171b4705a598a6a0733ca5d04806b18c42b8e3b2b503d87ffcea300c84a7c748ef99168062a4cec0c879c340cfdb32c3a6ba2b34f77903f3bdf141c84adc4962687e9c2d4808a81c12dc5aed735fe5aa663f9bbcda6dcb030b2bb9a1763aedffcf7fe8b67f3ed47b74afe6287a4740b4832f7057a28f64890219fffd0310c7880d84d2db689a68d3844d4ce38dcd861c6cb28f455fe25974c35e5e3d6903b7fb97130531f4e3257a343484400054d002d9dc51cb1e44517a3e78d0bd62480219ffff0357f0111a9b95ff9dc923991e77e46b0a3c5232d06db0bede955ffc9c8ef3cc590219ffff03ebeeab9bcff6e1f77248c61582701911e80c65ab6c9548855d2462004cd91d0203a8076a5bef9f9456a7b36c1d1431be332bdc14b70566411619c4918f361bd30003fca19a8b1480a78dd574fa2388b2d556a1cfccf9f688c118c95d7eeb58f427de03a467269e1e2ff5d428a51eba27bc8b45332baea01845e5567444e0260b1420bf038e8bf501ed97ca53ee9e06afe3d0a27b042a2fba66d6b5b29d1362f5edd16aac03fb9df76f2ea871e92ec5b11abe55ecf0a0b4b5e304a78a607b0ee7c8a893869a032a3197f6fec57500ee97e892bf84db0a7e05b9a12864a67ebe9afafb6f9e232c030103f2fa3e148718c46c0cdda3063de5d9ad7e07415bd0f0ccb47c2db1fec50003ae8717dcbd80601ec24efb1df7cbc0b424d0233fdefe1f3e3000e69c8893d203039392078190122fe019c064a9747ade238eb420afd03e1bd19ae79ff84641c0b1033065efa1445093e3ec5934257a54e47b1859e4517566a495859fe96d43b332da030feaad697f9ef17727d944d41ef7418210ef98cccf1afa733d0effe304e6135a0342dbfb095f183ade4ad07f809f4539725a1d02d4e89959dad305afca5c6faeaa03a3868770d2c2fcfd24351212b788e9d9cf93f25e8d0fb4c9abb0ce1a01cf86b303a8789b2196b5e995e774f1c5f8a840d1b6b4ce44ad711772871e7838c4def5b50395d68a11c564b23e41d3c4bc3b442a66263ea6c56e0a9b2388831330298d15a40331a89f3d898d318ecc6a667c4a74b838f13b84cf1cbe6b4c756e61275ad2419c039b4346ada21b0beaed4c6fcfa7e8e81014a2b1db3e953e31c7e61fbff56e45a803dc556e61baf669c7ad6c918ca36dc62027e05b2ff5bbcc6d7bf45c8aeac424c4037a331c7fd96b40b980a9af381a78a3bf3e60887955615106ec6590570c272603030456577561169056579c244b523beff38d2999a825127334bc7adeb2a9a61b2e03939c52908a63d9d29412817a49d81c9fcce4b683a18d2d37c549917a1043be25030a56e79a3acdb5c542d7e24c0d8774bdbf256c6d50fbe1dd6cae85c0fd300fee033718c63ba5c8ef47c2c1cc038a0c63b07e2016bec91c3ba8f8abe94c4d47b6520342e29924acb000a46e8666fae3ce3a4349e783d9a9638198871f5ce6571ccc5303a00066c0049ab057ed5b654302b024e9f5292cbc44afe9cca366492d0d2233380349ef9e240f3c31d60e4e3403570b6e03a3c35629c47ec56f854b33e0c8927c8b0368e532927e4a79c1dccd8c0557e83b8b96b6754749fa2b7b8fdc20b4252156b900581f03968961f27bfba990fe7ef70d028e5af9dd0ac85d185a4d0215ad6ecfaed04b4a817bf14e4796a0414e96038b8f8eca0dfd5f64a96e3229cab96f0d6089b9980b3c307b21e362f08aca45c503dafc04cca3336be69fea65f950a3618ff6e1e25d7359291d42d423572910e1ad037c03870569b5841c9b6ccd1b6871ede0ec85cb0558250927d8c00b871f79fd0900581e02036c16d10aed6008d8a680f16891eb0c171f8766d1fac430651307a4634477c8565000581e02b8676432cdba6b98c65b76bfe9795dede6294ed6c23f488692b4fc733d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a643598fe434d39048e3b0134a1e65b37add00053c4ea3cddc9442d99a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fd9b503c90a7f1908add943beae6466d92a506d364baa988b6fd40317d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021991010302a253f300d4f6ec7c7cf0981b3c1e1e1b4fa683fba564e775313a65c1cc9f3103977a40ad770893badcadb76718cc04fb6f1d6afbaff615d12b45a022abea95b2038d9fa3a52f50f9080c9d445a32c61f40f279d0f0b084bdc6718a5405075d94f503661453729783a4a80610f62700e2fe78c6ebba7b2459e6ed1d3a4c9598a765f403999a1992497fb7ee4ae2544121197a318f1e02fd122a5b825348b40520703fc103f7c33e0b2b3937d5280b02cedc6baa4d690a6c6300d73c895661942812bcecae03b151f5bd7872a93f7481fa8eec760ef8ca19b2d04c4b1334fe7eeecf277f8d2d03c05f028346feee9875faea824f48097d30fd9734762df5c76ae3d599599b7329032e105cedf99d392c1b0be80d79c4a8a1eff8aa15bedacc09126fa26efe6ef6cc0219ffff03ac54649a2f557bef32ea5d315d6e919bdf8fbe369d4bee67f4d762d5fc1b107703792210fe2dfeda7e84ce78a27d6144211483740e475cbe089f8b1397663b0e330219ffff033e7ff1bccd620e5c9691077e2964b99491a6b94b1a5bea54cc23534a2abffa2c037583e756b98d8a2e4d910cdc25e4af9062e696bd23b28dbf0e117fd110e6155303136ca1986cb8310c4c66ce8f4fd0742638140a154ffe40dca75269ec22c76ac8033143618e1351f9710c708d0664c81c79dceb48e37c067286c6a7551437225c4703853d98c3a5c39f385369a522bf35fb9ab525412d613f44a76feb97ec9494f1070382c692458090f7c96f9010cb8deb0c3b4263b81a713cf37ad83e71f7e414f4030375d7af56189155d1a96599f1d531d82ce2181494a3d0f5a06e00abb1baeca2e903982b213eabcd307c7bd69144f4974215c6cb7ab13182a9b7387563b57b7dcd540219ffff0219ffff03c1a30dc5e47821733c9ea14519ec82548f9ebee0c0be8e7e138ff2cd5cd7a30b039dfe9d0a64a411c08c5034211a33b64bb1628da7ff93903c6c08e572a609d91a03074411505db4667692323e0f892efbf95de24d8a65b77bdcf4f7ea52007f5c9803ed327e42a9edac57a3353f4a80e9a1c5125049cf47f0a78589710bbbe04a802603e34f878e8810b60c22734e436b9e62038d698ae2154c297b24a43918ca8eb75403790c9d15bbf5ccd236b35915649bcf190101f372de0b24fe431e3e727142a3ad037aa5ba32b2fdac733767b396d63f9b1d8d1ddf7f1857a3a1fccbfe3450e3266803a9543943388679676c5d58c4a521c29316b6fa95e9eda3f75d0195f0b1a7746c03d02c2f6174021efc0224d3bb0d62ed064a9c0d71fcffbc15113f917863f869e003710d0ccdd1343d07f49ee0f19ac0c9a3a3243bd2c81096705b7ccd64366a521b03a782dfa40fb3752d0e2ffbdd10e5bf210008ec3287ecab7fa65c5b41bd08d1aa032e65f78afa60477c66571b6af5fd2a1c480a7cb0fd0c41802c2941a833828296039de04f2d777e7413aa3753c864caba02adcc0d11b49fc4c148846467da13c438038465ff0e5ac62efb009e62ca7c8d0c5eb790156adfab0de14ad7417b21dd02ca036efb2636186972d5686f157a69f092db57b32033447138488259151f73d26ae903ab7b5e8121bfd23ec7a920c37a0b3195af39fd9efea948ef22e34a6141291c8c03aed0ee15b94f9dfdde8ff5582162704a8cccc7b008ee64abe561e2a62e5a0c93039345284e196132bf7a2d424d92a22927a2f146b8f1e25f88442a8994435167a0036fb680b31155c132a0caaad352d683b90126253e7b092c8b50a94a2b414b334c03979ddc98876883acfdd5e7495e3eed4c95fb81f6921a55c97291547a500576590338572d344eda22bdd23f3c44ab511df70a2fc97cc038aff45eefa0acb917c9df0305d3dc4baa9a19326072c2d394231e821aea98d0a76ce770b9a0b04ed9295ec903023279c79d386251eb1cbd42b8020c96b7817a75c9b0171b6739cbe05cfbd826032eca762e2d16cb6c30bbe24bfdf1ac03147cda1b25fe29be42b5819c18b7095903c2ac50504331e84ec2f8d9be15ab44b406151bfdf27b6b5e228fb799a71c30d803ad31ac1be8bcfe52e43469712cbe9c24badceb1427043c83e70c40f76fe2269503c4c294285756b3d6e82f2181bf2877be1d666937c4f2397c9e572ba42fbcddcc00581f03d76269d67c7b261edbe896a35d1c507fcb7939682da1df4c96d673f23a60470fc667a276b62003d0b318ece396798deeae60209e75963c109ea58af8dcd3bca26672e0a2585f7f03b34d7e8bf0ed02a96cde7a2152fe8d81f99a1a3ac762cb8383193c63b5d46c7503397015b75117961d6bb142e7981b62e10e92bba94efa62a5cc8ae688318562e703a95a3066db7e031399e7c57c62aa4ae4e93fd9a16c010543f060a16143696801038f32bf052834604ecc7f57c72678d1b2f4f788bef03aa26586f1f562e222923803babf8be1a82ffdd68afb3985257ef088dfac3b2d9ce0851264387034482a6f8e0398c031ce3462eefd23611568194dd5670ec93493bc7fd1b15f41ef77c71e3a0f0353d70d8ed2821c71ce423ea70f898e1a1e4d28d163f5f9f9547fd5c71beacaff00581e0280d86ba6504bda274291e71d459c1a8b1c6c266eb29043258d9456f1714901389249c0819dbcde03c265969b65b6abdefc0c4f9803fc73958dfe14a447a73c1fb85547dcf43a256000581e02284440df4fc01974d024c8f10a3a8e37f58fb9bdf2d6b48a582bb9daff5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219210400581f0319a42e2e60eb33939dff572149319b496c39175cfcc12894869d3207e26047011b21131bada0036c5fdce1bff5b7ee29c748f714f99dd2f7f9215ba5788de85cad55c508ee13900219ffff038d76d8a58ca5e77a97a973a72684836e36c3d65778261c1921d8fa7d79e238770219ffff033836176a217eb9f294cfce5bab840ae6fb4d1d710334a71223a84e84c66c6db70393ee7d87ac8439bf65fe2ff02d3779d625a36a87647ac42ec40ecece21c6c07403aaeac9c8decf64fba59e3b4c2c55f08ed7b7fe22ece92fb8b7930e876965694d0396b64b78d8ae69cf2fda89c7f7d596924d51ae372f0bf1c56c33fc420163dd07031cdde71c02c22a7fe5e3b57ca4436c6b07da427e318683f07432c841e8ed9d5e03fdb4c051e1e371fc38d8f998bf83180b5e43b6eb50b029f5087769dac34cbd0d039c2c7cbae3ae8f477855b47971ad5845271b77ca650c82050d52f3b4af5944cf03a32b07bb05bae4a12d2f7b763867406e33f8823f30c3b809ecf1da8b012895e803525f4e457676813bf0de59ec2cd360d792d13e4f500ef484775f20e7b4940218033cceebed998feed65d3bc3795b553bf64ad687d077f05051329563ef150fb40503895e70abe78777a746dd76eae669a8e4de12e48c6fca496bc631e8688c403fde0219ffff034a02f7b9016f5ecb7a865fbd504fb189fd4d151e06bbac199a1770bef0924cf403da2c3c07ae102b7adfbbd3a5146474f9f38595a7c8ffbbf6b1de6cab7838a9cd03a4c295eb5141fd88cbfadf9d568882f3bc191ab21623ade0376bc8a1c9e8156303be4667a73dbccf8af51663f08869abe7736fac3cc9c4c4bdcda082d790171a5a034ec90637e7ae59f43185face3f69eca23d504600922549aa6007ae51a31cb928033233f288735efb23a232e71ceaad9a85b0d7fab5bff2d2afc2675c4bc089496300581e028a5b253854016d2bc01d9dde8742c5e3127feb73085986391ebc30f8d55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0226f6939ebd69390e1a0e8759edf9c92ddb73dff71d06d4e4ea517428b7490bc59c07324634489300581e0262e089107267ce64c031dc75beadcbaf0c5bcaff648cb2abc53ceec3015820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021920420399587f9cecf19db94b33f8fc5b0beb06ae2767cb945dbadf3f681a6d85acaa93036bb3b8d3acea14b8745309ff4be130b708059cf84927740362554e675ca0d2b2038af3a39bd43928135154480a8e66447d5fddcfe4c1aa7bf6b2a71771bb525628038c94703c40b4d1395bb26f0453c679be671742008dd33e2f2f3eb6df5c3988af03ad6dec242e6f271dea4d98d494dd3a2e4c325990eab7c2bfb2e7ae89ee00672c03fca69586af458bc1ab5f134a9f5c009a836377a1f7db10c0d55232a399d6dbcb03cf4b2516109b60ae4e796e999d74d98a427f34bba2c1b7a8fb8624df52c2bc1203777e6bdebcec41186bede971a6f0943feb665aa8de4cde3ae6506fac7e02613f03a4570f462999c3d8fa88a348c15d1faeb7ad49295c3c0ef0736b5d3145034f0803c3b22195f7d674bc59c826dce3c872e1adb70017887740a580ffe7d8aa133921034c41ec3f86b7fb95bd56963d80da88604e175d9a70614649ea6c81fbd458edaf03fb3d0fe2cb2348a3abbbf2bccd5b403f5ecb268da770e5e40a816ab4836a643e00581f033409d011cbf9d6d3545a442767d5ba6b3949e82c31998e700423279158f047038d7ea4c6800003056c850b32ff644ea25569b405ebb0bcad81b25585d101ee560c2dcc5fb8cdde0219ffff036b63c9ba9adf8001c3da729df0bef2a116fb5190675be6e2650c111d2658533103a88f459c75b6c90b4f2af27c713eaf687070149b6fd60f2f6c0347c26e7f611e037d53219413b7fe424fbd3e3771ba3833513b7d19612262ab68c8224f4b051b5c03f5ece363159cb3f92f83a4be5fcab20149fa774900e839a02b73c651f79a88a3038132bf9780e5d7782ff7f8eadaa774b3ad0f3af60d043c309e6bd092b6124bc703c3d3e68e142680201bbd17703d9aefea635f9dea827f54f6c5ffd5e0be7c77c80305b164e5211a7f596d4c30548909936584b3ab7f193e74510115614a6d3d4232039c107c9582a8076de63b1625743f3ed2654a02b446a0014c6a28e4230e08e76f03d109aa389e462e79166fd3e958ddc5bf51bb55b25651e6ac404f3bbad012adee03d846a4c77db3777d8af9eb47d074506881227f610bffd6b3fda39312605afbac03fd51334f72b31cd9c6c9fc711eefebfb79fa30662e978218b1addb4b622e209303b915dd2357f3346a2c94ee1f350312ee8349409c03d2d490b4bef2b53a16637103d5da4563f6f1d5e6e8ae25c0212dd318ef08e4bb511204c5ffac0b9aebcbf1580321a80018a9c63a9e7b1945d95dd25acdd71bbd0a06be7ef62b7640722d3ba4320219ffff034fd95f2a584e1f236d3a4286f62f867c26bd6c250fb8921b137d70b7624d5d5f03eabebe582e2a66e3d6621b692df48d0af75a3ffbe567c318b3b943bddbe2ba9803ec86e8cc4c7805986ae4ee3a080b026d681e13ffc5faf2c01f5fcbc2f4f14aeb03e36ccae5f4a56845a388491e4bef9e43477f3930b7f38aa342edbd9afc45da8e03241a5dd4f35fddeff92b18d578212ac1987fb21c55708ff3d6b4e1c70fae90d603c5ee257d63f4a444e3f235fff13058094d72dcc00edad4ab35fc2f2e7751bb17036f1f2db852c8890c4d2dc88d6f3db9c3efdb66eb715191b47bb1d22a9aa3019e0379f791b2f6d667f72ad838ad6520e3e1a2b5573c25c24311083fb13c7eefcc1c0344b8ed3efd773929c82d8bf362340df802a0e9df0382d280097d6d24ee7f4a620374896ee476cf58880ed5e5fde824e6f3781ef49ace4e9d28c11ca2b9125d46d1036ccdfd6b4a051c9af6699d04582b3c1a24fdd8ffa63f2f6ba378b9784155e26a03abfc45694367a8c6023300fb18cb5e4d82f1ac0afbf4755c3d177ecd6d5972b60385ca3b7e27575948d8c5daece33827752c06c509b0224698bac9c1835d26ad560219ffff030f07bfae16fbb44cb1e44a2a3e5021a677df9bfcb13c0f821edbc132578464f903e356b99bc03e6bd27ecb3c7d1cdd19a51f0fd4bf6fc8f22aa70936fb248d596a03185be9968e06b2e4caf0acf7e35690948d7b6bf996825b517084bfa529824bfc039b1e444c26e2b1e23c9e2169125b02c4c6e3c05a3bf23fc4035572d80544299b03c2c10dc47f1fa9f1d3d6bebbf3b116f58ecf7da0b83784780b5fbacd9e46e27803a33b9bd065cc18d83d0abfdf0d8da27332ff420bd158ce8ec226faf579bda05a03f0174cf2572ce451158fac3c0d7c7c4d002515e79b2e6e9a6cbd2ae4898608f90219ffff0385b400181dc913d2d1a5a0389faf2895bbbd7d1a87e6221cc2bc8e5561e76eff0366b3ceadc033ce3f352749bc045579c4e236af1f1437c964a0381e2283cd1a4803cf7dafa3a8a977aa2f30378f163e3e586d4525a2d73bdb1be444451636b395fd0385ede3216e10779d8c2031133411eadfc8979604f4432b61ee56b0d49a4c52ca033b4f18c28924fdda94647d8f9a5d513557014db8c3fa7e0ceeab345b6da48f7a031887bd0bb941459d0cc082a0c783af0f23861c4d561f89060be5b5225dbc1c5b03f6029bf891f6a25bf57aad450bedfa699100b23625221fa24bd88dee91fe2c6703b205bcc0db3f946a9e80a08cfa93ed1ba008b3bf18aeab54b5bed67fe519965303616a6d1dbc19dcba4340a4610e40fc85489171ae9cf2c6a0c299b560b543e74a038680e83086eba18659d38fff344bc22a27e07ea246d7256d6eeaab1eaefcd6a503f133085c5f155ddc7e3583a67c23afa9a3d134baeb5fde49b18bf2c500dfca27036c91e9b437984b044d96cc79a7c343152d2440317a5d9903bc723b7ec44b9c0703ce5cea1cc531087b7652c43c72d8a7719b99d027a18577fa6a3291f1bc65981303e79c13a9415e405bbd4858c0e909fa2b10485462569070738058da5ba117be76036ab5d805ca6767b9c3cbb652811e9de2230dca639bdcd59301f0fe73ee1428c003588628f122b1f8d80add8a8ae2621b18f89c81cd0f54ed9df10b8e85c4a70b950344609f5446f5f603ae26f024fabd2a050fc6732d03e6535f42b7cc6dcdc0a7b8035d684d6a8db4e165011dd351b1e724d270299b9e88e6835ec076c4f92e2e577003dc246df38fa902d66c5fd38efa32adee00ad0f10350b7e43eef38b71c218a6a203df0cc68f31ee586c0704473f9b81d56bc57356609df5bde06fb38c9ff606e56e038bafec621b81540f3f89c15d34a8bc4b46294fbf9e2ac7892b8f8309f8befe7703d180f28472fea75bdcc09fae63af3be1f25b7b8e888db86b0e7e26f1aecccb8c03b188e827ae47c2fb12734609e7818f59580ccf62737ba245ebc79478d9f1a13903de85d6a186548f4e6617deeb7119de975e03cfb7678eaf4eddfd73d3945bb7a4036e43a9b738dce9a8b84efbd9a8e58a51868b1726711975732b570b981d31c7ae0334837e3e51b233ff2cc878578e28485c0d834ac47cff301cb249c082ad733cec00581f03d9534a97309161c35a7d34de3403bf7a8acbe70f253822b7f9995ca395305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d12e23bbb5e87c7ac392247215c954329e053c33725a6c2bc9ebe22ded95106e03a21d5fb847356c3faabc4aba985525483bef066b9c3d9cc5bd9d6fed9d0f433700581e025aab50e2d80ec1038d5a1283282d924a19159afde44a20395aa7e8c5c8410103e0a53fdfdf8de51cb5853127a716ef7c92308b562eca09409ee3a5df02008ea600581e02df329e735ee48fd44b38cd0cee656c45f7a3e85e2de99fcaaa523fc7e45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022e7554af9ea76c12ad639680ac27a9fd5eb60a5b96a4d1f6365d24bcc247cf1f8a8667c0000219890200581f0353a9034ddc1266e7bbb51c81a983cf509282115b65694a4401800cf76b005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c4b1be4186d24bf593869ca7e7d46ed7745d83be4a4337e2fb49c1f1c5b8c1b803a34cff655d90992e9ef182ca8e81ea1335bf2b4687a1d9ce9922b6933f20544f03860d80780740f8e848d72def251f2918a6eda7c54f2fdda4503658416eb5773b03053cf917d47d6b4a5913c52408c28ec59df106049e18a83240517eb265b9785403992b4168e486caf033e82251ffdd0b06a693f5943343cbfc661ca17d4a8aff14035adca5bc6cfeb83fa9cf6e0fe19611f87e7c9b26fd09c01731809294f3ee011a039881c7ad624287de3fc0a7b65f15b091612a4537c2c5727e4500c183ca2df7fa03b40c030bef252315ec2e575b51895c853e82915fea8ad1808dcdd553323f90cf03fde910394fd11359c897207a3d01b4905da6adfb7d51a09c0d51c68a85820f280219efbf03893fdcb5b44589dcd0c1410a3be3b831f8e6846c16a856d9b731968fc1613256033f6285b57a99526d56ecaaed986442f6c59e854f9842c19f0667440526b1f96503c962e0e147f07f4f0480039274347542dc003a49fde61d4a6782608bb7f4b5090219ffff033ec826841073ec83b7862fd645cfeabfa4540471bdf6d9806ec74f1cfe2ad0e5031cb186595bdb662441904bddf3b8f9c63dbc9451c0bc08ecf2d820493a42fd5703167ffd005966966fea39599cb8e10c5a1541f6f4e6ede523b8d828245fa1940903965bac7b05d5d242a46a46c065995197dff8059ed78eac147609275a5b33092603efeeacd3054c91f0b592f9cdc7c0cd68f513392aa065a9a214d0dda8413779a203504b3a9d8737382a7d345de582ad01b38bfe88c457f008af75eb5635acb2ad2103c4b6e22fce490c890c59449898e92c5e3c02558aca399517f377a487416ce870037afe54f50cbec814c860d60b881407073fce97f332d2c06f2e5134862b805d46030c5e1d0c8d836a3c807ebc4472932f2136f32caae4a154d67c561aa5cc0bcb6403e6217400cb61867e2fa50050b7278434b0ea7edf3b20e3e93ae6f1e2954c13160219ffff030294fe67f5e2ffb5960ca9dd4e0b021d63008e566c7517016419824801735272033f1a8d8bb6faf0c539b00cebd78f2253e59c07dcd93838228d698e0c1d26a91903b2b9c9da274787cf2bd0433fca252e7d686844196943e4571866010b54c920e20337bf1ce93934b61a8e698530bb8c07292c72f406046ab61c90ade0c176559d3c030602e883b0910e202b64d670ed35bbe984000721a5afd1b4985b51e2b082daa1031d3955079ecae40b8b5f59549c025b8d975f16769105ece436cdc88492b13178037a563ee88f2af105268f15b9edf0f74d54a48664a366547862c0cd666b3e473b03020d5ae630d702011ff07856b26d36ac15738f6e69e855bfc721bdf789b2dcae03876d78c52a0c419fbd0bbecf816baebe255f4d6f53a0f5c56867d43a564d98c10389c5cb199a0868b24c01b2841e621de17c6c12e9860453fc341d294d945bc15b037f6501758e89ad2b977134880040914344163fcd51f48e8dad26fd20f096dd7a03ee4854650b020ed3b365babd89b1060d8a6624bcaaa7c12801063eb6ac2a156003fd82ab9cffdb9fd8c1787732ecf1742d30c12e1c37c76ea29e84163541d9b76503133b8164acc8ae46cfd9730017cc5e6f6e4946d09d8a367a223a3a354d8f82230364b33ccf2c8b0d09627741aea51310c5d3b89c56f77d79838e1db21f5a69fb7a037386af2b0ce3cbb065f596bd1887ce43ce9f3cff0afe3b342153acd62490749e03510f5fb5163ecda86df0ecf4eef54a56ef5a85876ec63506a386cf6e671c2d89032a4c1e829413bf8bed42cc2ee08bb84ae37428f6bb1695bf34e237a01e5f53b10360c41558d244de12ce9144332a62cd53bbb0fdf39c28e5a8b34036ec56ea68df03a5a4935d6f347f3408501368e8e8a80731352ec89c3a30ef3ba345d3107cd518039790e4d959f68bf00a2e83383c787b4dbe3d47d3f0fd44e95bcce89b96b89974036e2611cc83126df4ace1669526cdeda20b4c13daaed631addeb717c74f9a9d2c03e0bff728df2dc5b9a45fafae651c17e1be58c6d88853a7ab01ab81170c8e4e5e03cb224ebacac9158a0cc1357c459ed6fff8b88e4fe48462ad99e1e309687a398e03854b6033866ac0b9f985ccc97929f8eab88e4a27c786511b2585f6a2aace1e2403773f8914164c265f49d986711c8ac64a10adac745ea67f5a9c9ee814318b5532039fd088a2bcf633d3e887224cf55494b57f401be329c663b5903c77a8feeca74400581f0390d48d75c252503bcb4c4673f6081f4aed3053839cf49adbadcb83a1e680410103b5baa1864c55f7641941af13c5216aeca374333f8debef176e9e030d7550b3a0033df1ccc74ebc7dfba9eefdd5bc99b8eeb7ce188a59d2deb05f8c59224e5503a300581e02aeb753e1ced39f1a97424ae22c538959a7683236a276431692052868915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027810a3f6e255c6abae2ce80a20e4bb990ada4041d4d06b090ace4ecb37410100581e02d67b4d47f2856624cc2d71fa4d9aa7d7b207f1586d594979a2a5521c324901712fb4e060a8e1c600581e024608a87db457764920099c708c31c5f5d2bebc254061fb495ce98b17415820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c3b319a397ff1e0cbcbe764f41fedac6bb87d811f03d285bd3dbbbf06b4754f3419996e1d600581e02d174899b90d7ff40fb49cdede2d9fe23a57e253c80ba373d0383ab032d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028ffa66406fa87e378c6710737302096346bfbc3f2779ef42020ea573585820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c6150318ac7812b8a6e2ec695e61f98aad5be956f7d2bc4c4faed9bf08debfb92fcf9b00581f0347db06bf5feddd2702a38f7df1735d747eebaeae6e0d324f5179204b29f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032b76d93c37739ec226a6fe9e994dbbeb39d1c9ff51c9bc2cc2759466a3048090037cb9eafe72cab56624d00eaf0e959ebcd068eecf5fbff55b3c28c241b68ce32c0335f8b4137713680939b1589892e8ac549b0b594b4ac62b0ace33afa28a545b0a0326510c3a8b4ea0db9b52faa780dc55a8aecafb6d05d4a85e74fd667038372e4c0219ffff035a406132864b04ab535967412caba1e4bb6c00cb37d0ecda07cd173db57ee58003a39c1627b127cbf5c3eba998fbba0d913ff58f1a9e251c461b1796316a0ec8cc03f57283c8151a3213c332d5ed43e562ab3b1680e51dad7f710f6b73d5c51c145603ae4b729bc3ffd5ef63b8287c3743fe9a921c23e51244967e9397b7a42876bfeb0302de031365b6873a89e2e76e9d2853cf5b5a89ea91d11fd65b6a444c5f834c51031c2ac1a4c414c3a849162baa7e4a7029dce5e02ea8d6bfa0ec67ba2d2f3db2b70219ffff03259783681bf1415c38e084797eb5d459128ba1c2ffc26311034c6c88d9ea37fa030cbe235958c9c2fdc22372d2c0c0b7916c3287b24826ff16b1fde79d03ad560f03a4016291b3a764e50c44c1e7149b1fe1f062131db861247a78e730b6ebff725f0219ffff03a043fec7626e612d8548aebc495533e0ecc8cd8290f93c024a23c9087034266803ff6b6566f05784a3d12f245133e95861f35dfb50f8073ef97a583c999942f03803c6c5ac3e2c1530f4c45da8e9f909d5126016b9aceb6588fa53115992fe7cedc303ec8a15c87c5d77fe238a428aab5095e992ca1ac5f7a5f9b9cb6b4c18768383a903f17233318ea9489c093c726f4452841fc3fd1e1b8f98ad11e97f18add76988e90354ebbe505e2787903fcd987024a449ec3dc07b1b969a23cb165599ba3b5b165203a2963e22f58e1bf12f5a7531c689de1469bf044592f55e7ee952e65a264d0dc203e0dd56de6c9faf9e38aaa03692498883942a1a5e4c8759e3b6fcd3684f5b3c8303308130444be6a6181a81566140a572564400940ded6996da12b6d31e40fe9f4b03301e92f53a02f5e9c8730c228428b663d674beced2b149e5948c41274831b5fb0343e22e74c50ef02c12334b9a2c5f2597136be7a5fd7976ebbc1c99dd4957b36e0382f34df6cdff7fe1ab365861066ab6cea308fe99b48d5b1e33ff087bbf98b14f038f95447e1c382c645fa5ff54e952a84bf00bb9d6fe12def7096e0b03bad6e1f80303e79f2c96e53320e1b7badd95ea49dcd7c8d844ad65b3d3f6e51bc5c7f5682103082b4be209046dfd4675f11eff8110b36046c28a0fbf208ed4911901554a01ce00581e025ced53b5b8983780960c6a2cfe3f3e72ba738eb727b8c4a727e9d18fb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bfafc0d695f62a1b75c9e4751276d9abec7259b9b0993f6c5502a97e5d490e4833de6a936b052900581e027a9377fbdf9aa37a70f428159f4ac29d2ad99891144343bed18badd06346b5e745012218021980060378b9f23b0d3517a12407cfc446c0957eab80ea203edb677b7d8e6ca830f3ff5f03aa634459d03f0d6995356cb0772ce7ba818bd5989f8e144c3d7dc008edd20ff6037b9a4f85dc28fa8d26b821ad08511cd914075e58553679c5885ff66d26d2c5ac03a7fd3732cb8fe6e7022578575a5277d2d3be74dbeb1a0125a7e42252c75be9e203c05e1d0bb084d956d21e9eaa5e7b581244b3848f3420538b6ad9bd3bd4051a480219ffff0334c35c6616e9cd96be5c67b66cd7b538d90bc74715be0477383092f1a45e41e80329b292fd64ad2ef4efd330975298b2d1939f6aaf75c4d6bc2731b6b777c4bc750385e8a73e42d20df7ea8a5b76a17fba21b3504ae492e35258bb6cda76af6acc5703fe8211c46e188fa42a41e7fee78e5ca8b4e54ba4d3357b2fdb69f67dcba0b4730353ea26f7e17335ef1ec07b73de978ce05ec2d03c09b6a02935a5df16bf1e7b8003d9be3e2d6524a6463a9e6f2ed14a8cf305557754655a7ef7c774f0c3a1f7873503882633f035588bfae7d84681335fee77aa7b6adeac51de9dc8372cfbc18444910342191d801399f110efa547a519d7073107e1dccbfaecb28b1221cf0ab238c4f40358d791cb4bf26b1846045ecec4f2ee9379502103af52efb2ec2a7ab6de0b64580337f33a537fdc1fbcd50fdd136d1b74560b1177d9c89a8cf231861222f76d270b0308e23f14663c4e2c20fce8c403eccbd8ad01781d7fda663e635a032e6f856d380219ffff034d99465edaddaab24280f9b8f5c3eb8e583410b3bfd507f0eebc0a09df058b8b0329119b6ef3b280177da03e411fec754de503156f3536f4f4693ba420186e509d039c710ca790598f85f96d5ea116730ffb35369af8943860ff03211e3bf1f438de03c48a158b5d7807558c2b37af21451a5f94570e6437bf5ea791762d9d00fdf52503b4b1ee72b3130e1b2acbd703845d026c01fba601bbe3b1f12184189ff43f2ce4039c174a83b830d4fd25c8cba7f48f482514ba15b41fd32e0d483e860eb9fcbb3803ff79b8bff7de03b2d10c2e55fb200f2571abee701f712e9885bc2e7c6cb8f47d03d8caa9244ec7894f36dfd6ec19e29b04cfb5933b2ea35d4482506eb40ec70ba4038f604e28ed011709a0bb072d0c13c299516187f3194a4663d6f64f90d207289403e859c2374444dcad5636a9ee64ab01b95a11e9e304f0bdf7628bdeb27df9e2b9036fc1425b2f60b8f8a8023978fb31ab5bba64cefe8488bf0eec40ae9c269b16c303893fa83b0bc18a12c1040a654c2987b554acfc34134e5c933495f3384284711800581e0263bebfaf9cca032de7fa7440aa559259f0e81d6425e5a8c1aedee2f48a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f4f98b5b2de2f37698f14f3d51f30bedad718c7313f851a0a575c1aa0d76c4a500581e027d94bd6634e55ec875236ec88b0757ab7fce9ad2373d79c34ae1ad126a481092d813453514d300581e02d8ad018a22bf882a0c1dc9bfb269c66204eaace050c3eb28cc8dd853535820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219101300581f033df061d69b328d25554e61e597cd71211ab5a65c2702ed6fec39d61811a047110b4d034f5800039813865b6dd35f4f21f597431cada4033b0fd1bdbb7bd22308dc53f8d683e5f10386ce367b5a3320d9b27aa77ad1d0d6fee0cb0bde57169d58686672ec7a22eb5803d160508057828260988a0144902db04559d784b97a95a15837c1938697545f2303c01ca84f966ccd800a0a2a97f8ae9afc319d354e03f79370874602e6dcf679c40141090387279501cd55a5142d6027eb9714f62e7116c213e5ea8867884e70356db2fbc40364c8519129e516a9e54a04e5022bdcef86a92ed595e94ed02bed2bf6fe74dc6703e02bf8512010a423c4ec2742f1b901ee69642bcb446e5890502fb85a7effb4fe037193eaf31887af137819f996c9e6b59807ae9d2e17d05b915e2ffa70e0b4271800581f03081e38c986b37710f6399c2c779f48c636a616348d9d3a89b24cbafcabd0480143c2408e61a00003c984969f16c51ca44f49859c3509cc4101b4cc517032269a784d59b530340aca03ea2cc84369e9e9074d0a7fa84e524c87a70bdab9b612bb3d455c8d9e08be23bc0219fffd03adef94df5fc0d52f452c507e20d33f57a50e054710b8d31861660e5e89d30cf803ebecac30cd4a787ffb943c0063829b045832cb2b36403f2a04d77e01680e427503d4236aeaf91304a5ee3544d557d427c07e73e83040a94d8de982ff43b8ea1e1103b353b26c41a4d3e7da0ba518d737e5797cd807f5bee24a575d9046223dddd90403cf32dec98e4c8a43a33b33656c63131cf812bea263cd28e80c81c60e9f44827e038edeb26ad0d6e1544e2c26f7b4e3068104032d7d8fd5c47aaf690d3c476a3e0f030772aa8bd9ea059d0a593d5b88f04959be9c8429dcb5990f91502cd0c69a8743034c45e6730db247292b4ec2588ffd2a4cb581daa17ca7b44ea4890d658d0f8d2c03e98a13325a64b00d24ad59c13df155e8c89fe542bc7b25b7effb255821e042e30336737b5ebb22b08b68f95a1777825a67890dac266fcdfd4cb6c9deeae80ace380219ffff03046fa3c48e17f7d69763e7ca6d19f640d02b9fb51a1ee931a68220f6fb4f0062039af7126536b1c8c91a5e539885d30a364caec2814553d71e4a5d922b4a17670d0380915e773bb98e77d20bf9f4ceda3d49d9b9f60df3983f14912c6040e5a3547603463db7d53bb6d972886b29d65e6d589cce50f109e51aaa23d50399eb52c3eb0c034bbb75577bb31e79d1ff1423a6868cebcb08a3d833c61c79fd1e8678e34b6b98039e0d46191c95f0cf461b29afaceaf604011f0d64b549d927b09d65182c149631030b2c111ba054355b03b467febacda36a00deacd23becf6adec9524f7f2338a2303fad7808152b8a13894760bc1b7d3fe8a793d2b47a94c2d2a8bfefd83066ce7dc03435df35a1fbe9015bf37c94a567b324f6280fa966fc4d3bad59c87005c75e3b90219ffff039f20abf2f4acf8ae8058ce9c1c7fd0408958becbb0fb7a1e9a663c5d968a243003bba9f54fe17faae5860ba648677264bda07063f467e99cdac16516433936d5720354e19b017c0368a0d0d640bea33e934c91ee212d84de6bc0fc95b64d163fad4d0219ffff0314b064c180aced86924e4866fffd0ecea1654d5c18282270a64d7b0dc66096bd0333675d80191652a16dc291eaa54b99eb21da34c27cafcf93bb526a1cb1211597034b0b1373c47b96b942a62861dfc7dbe1ba3f099cf789e401160139d0803f94c103bd7b3db2f4422af742034e21d61520bb659efbea74536badc9d646b70fb243e603e15ce1c1f519cc3340fdd6705fbe9c84c507d955ef8ae2bf4e11c06ea203b18803ec5887161361368d9a6687099a299ca215542711ef9f5591fa9ee39fc0c94ecd03b120aed512c0c340086d1270f6bb8f2220c443506a8cc3777027eaa3fb95d55403aee0e568f681a70b5aea10b549bb7c55ec2872bb501b331723228077513476a603069cbe764485c87e96cd25655c9e0248bc17c44626dc8262d84521d7239f8fb703fd5ee1d5e572ac7708d0e7c18f1a2adc8d1a17188f8ed07ccadbd2a00d65ad4103d8f52bc92b7b8ea543b42a36ce6830fd05f486cf822fb2b4fbe1d4632807f2cb033c1d4e6b877882b9448f805e1c67111294b0cf549e06a039d1f8877e2bdaed9e033a3b22816aca51ba95300a8c45f24326b5ec99f674e48545ab14d5aede96ff82036b470836359a2f2eca394d66388bd57f30a10fb19e6121000c8840a14af0a26603b66bdbcee78fffb7f037325e20b48edff44b0bffa491a7e67538ed829d39cea400581e022d086d798ce47167e67a63f13a45ab6e070812fedfc5cc5b235137b88c4b52b7d2c1069f6b9538000000581e0238ac5c0216d2e2670c6635d444ffbb00d61e256603a8c4c2208c125e6d461d4e3752d72400581e02b8dcc249d51d069f3910cb507dee8fc637cf05b00847e696a9b67b8a1d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a7b0a8cf0f095ac35187f2f11e19b09a2e8193db53f912fd357e127cf00cde3800581e03d603165b8ddaf129ceebf1e3b01a6b5390202cd6d2f685ad22075897605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e037f852a38b5e7499c73df0b9f054fcb4b69a4621204f115a9b511b954704806bd32a08eee00000218480219c9040394727f8bb0cf879bc5353e33a2b1d622eeb9ae49563c0d33e13f7acd2c372c9f039cd07d8a0412bf5f3ca156fbe439ae329fd7ed84393ca3feef17881247b4352a03931347ff35fb7cf90e83feb10b397eb53946c3cbe1c16410375eadc30bfbfbee03297578ba963b56dc716c0d429ae4bb3f616d7d0f0f985918469b02d32799266803bc2f14ac80aac5e944bbbec0275836ddea71c0e01fb90ab149fdf6acbdf7c15203ce959146e256f371d88ac2f261a25fe6ca5650b25efd3769198dd11a7f0064cb03664227041c697e9585df1987e80b0da23522c52a071bb33a0e331a30edcd58c4038d7266939419778178f84d4f2e16439ac5febb37e88a876d655ed19d457b3d1303d9a08cd551c604386017d5372843cd3bee1aee4bc1337b840b2b13a2287e30fe0315bf15ba4c7910c73e1db0e9c95b14d94759f473e711b9b7cfbae15ae056c3ab00581f03c86c6bc972c40d33d171396132e524ea3a671d12058ac7aac6ad46af0e105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03102d00df3290dab2c42eef67857601e436e0313023c40ebdc034741869d4e2e303b74041d5283208ef73921b64bb63eb2b5e5d6d3407ba7431844613e5217503c3036c25e94676e98cd115326e26200e6b7db48215c748b3676e54a7791bda9a342e0219ffff0337d5564d0d709997dd6049de115f3360808630e877d7a16c1c5cd86692452b640381f104d70b76fea1948c2c4cf5a66a7ecf863771ecb7da151281003b5b7d66fe03239342c56dd54ca4a7923077544329c5235e30e9b5188c34c83507608b1036320329f0ca13c5fd23bcd94e1d21799f146855734cb7b9f05cba13274213d15c76f7031619c2dc9779dc25fd2375f804ce544fa07365a08a1a15cedd14e50c11cbe4940305c8e683402971ce7ac2179ae08c9ae1705951b0d8b64c789a1fa349a6e063b1035f9dc0ee684cf1f3f80c1f1a46aa029ffbb5d76a1d331c4c66278941bc7b28fa0219ffff0356540c33d49124601eb1b08101ca7c5b4f2ffed493eb0f4f6620edfa6ffa758c03acc4e349ada741096ca155da5fcd871b1f5a97cacfdbf2cb9f9873739aa2a5930378bed378b460f9341563648094318baf54abbb698f4e6d10537b315f4f0c1d8603f2816df8f42b85a7d06f9898137abd5d9acbb5a528d8df768d34923f8a5a4bef0335b4e17d8441d305c4443246cb31b771bc00f8714965bf3078736dad3c29839603db0fce7eb85783a6d1292c0c0c839e5bbbbce45f9be46cf8da5cb6c54209c3af032aa5ffda565ea58e3542dd3934c6ee4caede4d75b2c4c8fe270b767be7694d0d03260c77f78580e9495fedfc7b46f8d0b06a3f0a496579c3e0e604ee6c39fcda86039570c58368c649ee36839286c4c5b39106d1f640e60670b73e4847226e48cc8a03b623a058a88c79dd5f8a8a46d36102e6903086e0ae1b7af4cd6a4ecc5af28302031f145dd1d8150f9df4552109274929e77b4c6397e64b2496a4c11238108ecc860219ffff034f9e48232d8b23a7ba8fb5a6fef58bd541fcd91f39b037ce3b4ec9435c3c70d90373b8fed05cc1896c4352bec8116021174027033543f81481e431633c8be8fcab03a4419d8597b520bd56497fe65a3c54c0791981d0a5b0aeec4afef3686c1ec32c03a8ec7b0b078bc78fdd32a37a891a15ad86ace00a91df15547819fcfc08b1cee703edb981ae9bfb47f3014fbb5b790c18422395b4e622693d6957db6f05bab2a53b039e2fc9b6450efd6cc28f925b23aaf51a5e0ea06eb79ab151e0d597079059be60034f64d86262269dfd8832d750c13fb41e4bcbca12516366906f3c0195ebcc6cd7036c8b4cadde701ac3432746f49557f22f8685afadd27dd2a21da2fffebc223c7703b4a9aef8068fadc8cb155d27d022823b6e7903e1b0ee02527ab8edd443d1a4470347ba3d194b33c39924c1a1a985cb8fc63e9f51073b8e5e54a347faf98833f4f70334ddffdd3b1b9b482272942426d15aa8e1376677e81651929a3e980b207aba2903e8afb8c51520c3dba157912c993ae852c5c80326c841d49933a64a9c180f4cba034605d5852bbf3c83c5a5c6cc409fea5d65ff8c2e3de5f168f0338ef8adf8930703e24b099079076132828c5e44bd94f06fb60fc7bd8cb306983e06b03589554c95032f4cb8710d46b0e23f2128c2b8fafac343aa4ba667b50f7c66e5dfdd467d8c260335d30de528df246add33118d04e79f3b5fece8357f6a125d6dd9c5444c2c935a0358910b2a833c9c796e1a6dddf3d34a97d6e9342d9a7b714aa33a9b9770749f0300581f03cf6730b54fdc0970d9b5b93cb626e81ec2fd571a64d85f5059ff9ae507105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f1230ea43a1e504c17f477eb952f575f9c51af4e75bcd5cb54d02d7cc4465af3e13db75800581e027e0164b618a65481cddfc48aba18db798d63e656cf3da8a99b0f6dd79c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027df6f675bb01c78bafb424f57305ca49566465a808fdc678c53b96a4744a021e09eb2ad27e8d000000581e03e3cde0738249549db2b10ab75169ca96fe3671a7a472eba507d8bd16105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0338463b47d3b6a631aae4f77af18d25824247a8ae3c73227dc31e7d9c8048a72c211c6253f2230219082000581e021ae586a3f0eabc94257b6c1639a4181ec796c668df9e93ff37a5fe9c975820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02680ff04be37a1ac91e6845733ad86d5515fecba1d65552c29daac62aa54cffffffffb3ac1323e759ffff0219641603746e2812eb672cd7bc884379124d7f62cf726a203bbaf85a17c45434c8fbdfd40318124c66d745e58f9a03aecbee6bc39afc724979e92cfef488a4d3731de6ad2a03f89f0408b11da1fc5d7b750d8e773f08412d0cd4a0f3044c81633ccb78c26b5403833fb74e8f6806c3a0f1f3c334e09388f638946879083269686f1ef0c405cdd90365d96505601534a77c86cef3c09942a6b309d323705eb10456d12e94e3c510fa03348b374500dde55526c54b90a59b53334e0e4c61b35ecbf73fa5a0e0166b167a03445ae133d237610b2730b4f6ebf47bd7cad215dfb29f0152cc6b30cf4a8938e903b8939092d0f881a35e60ded783d480ec44a94ccea86477d9ddcb9a1d62b99d55036892e4e9e25e96e494b3e8b1f084287b1352ac610aa39a62ed4541d1511160b2035b86845fb6f5ba39f29f58fbe862f08c22022cdd8a8338adcb48c531726046a5030943f8e9bdfc4769a895fc1a1e689adc822e1dff2ba66242de8479ec2fa105d30219fffd0363f3bad2f9e591ee2ff8cf5b62ceeda824d5b2d055dec56dd859afee9152894a03fef88b0f8def6bd319427791d6e86cf802859e31223b3e7ec50fba20538ee37303003471042ca163753f3a81d4b7d50b697db14eb646e083a52f3e210f34d25cd303429e3c1c245f86544c6bb9adbbd7384cfccc21c2da90e3f6b9f6aefc9a493ec7033186f9e765b92f93bff1a7e40a10e6455b9fda16fda96c112802194960ce42ef033fc14e01bc194cc8abd9b8e61ae86cd800ba52c8523f62b5fa272e32fcfec8ba03dfe3d0080045ed62433546d3effe85fcb325353969d91a2a59208862c5389bb2034f7b546c61a76918e137f9cd5ca9db828cc4c9d817e3197b8ceedc0b4a497b5603cd68134e3cb1ba82d8b3c6fa2b428de1c6189457d98618456438372f7846120e03069d6e5394b849da2b6a426bb77bf61811d63ce504e3bd47b5da09469206294103a02e58c6495a9260c81c1c257c437604d862b3e074d33402517308f4d077054a039f11bc602bb6977820fa7b2798f0ac603a6d5c0ee64e590bafa82d78a561b106033a5d54828369817a56069c9b4cf49891b557898355f911447ba2353864f7248d0356469f28738e4eebae69fd111d2f9ff9a0beb7581052b48a9a202380a81b60830219ffff03b8d74b2ca10574d8a41a6ecca51ee9380a1b1327e4e3cc40fcf6fc47170e85380321e1c75bbfd43f8b04d068d69da8d4aa7e8f598bf6c56127c9bb0ea7bf6959a30219ffff0373f668d65fbd4cd19cdfa859a033f8c309e3ffe295f87cdcbe9b935f2d91deba03e5e471bd05540af80a71b45985a4542e473da6aba0e66137ca104e7eb45b98250337585e00c53da1d0b47eb7963cf7010cf85c9035f19d85b68092a84e35c7546303011bec870bff510d956f28403269f7e21326fa3905248f1ce29785e3f6f08a5f039bd0a106824321c382ae694750ccd2f9b84065741b54167252b932b7e3649c1003992043a73786bc2aacc297e88ac13cae4d318a61d6895b32da2edc215b09d53103b69a3991db905a1f927121580442d421cda15790bc4adc3251c68e02d973566b0389e43f624154a042fe554f7749aa68446a8b39a3df70b11dd0cebec393f16ec803afcd4cf2df9f31ef6bd5fc6c5f2e053a409bc37ab00e3a843f89f8bfa600207503f039c3ebdf7e57e213acbaa70dc8f773337f322663f04365df29511a9b9e200303a8977b3bd31563e824e09c0a05dd35298aee97e41d02a2d08c38408b4657ee1e035c6ccdffd19968fff4b23471f126910a350581eed9d25209e13df0e8805eb90103f35e05c0b8baa152ac4a37ad8257fc6a2f8f97b73413daa06f59a9afd4f91b900325f802dff623db155a9b6f4f9240d73674425c247dfedab802863e9ea8bec18a0332f4195232bad796ffe55e60bd13004a2e47663ca7fb0790730767840ddae27d03cf730cb2ac3f23e419dd0895757d3e31da43ea65cffbc8ddfd966d498387a44203742e04577c13abbdecead050805d981e2fa281792be2e3691d27589897cc29e203d91877f5bb820007b0e0215341316c6bc7947b728c5690373b4d47b813e187b0036071f4218b46f2dd8db6f0976920abec917a74992c82a44583eae2ebadf4fd12030b166c82321247b768ea051112a137919723279abebddb1519685a858c7f2d5e037aec1eb2c30a5790111fb00b1492c174d6f859246476d6c7e9148dd6b25270ad036c2d3d5bfd3350e513df015eb34bfec9f721c613db755bcdb2da36e91d5978a300581f031843a5260f50654be60454888c12e1df9a8f5beca305d3643235bb2410105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0314ac2a4037bb9c454b5ff1d341e61930d98f8bbf8d3879fb16bd9c75c9b180540391d0c3f554b53449edcce8701fb7941e35a59dc2ec26b8d30a92a204b5e6f6df0391619e2d0c949247bdecd48cf063ced079c2c6912aae2b5d281d903c959ae34b034453e289c78c92dd80619ded94bf85359c38c30b8ccfbad693f38d7b6762751003487109bb8cf0d840ed721e37faeb56874d0c9b6aebb6d52abcd901b1e1d47e1e030feb2f389db71094872ccb0acb1ccff2f1aec23fe78ff388eccfd0000edba3ac0343e809e7bd0d266d6ae0d5907cba4c27fc1dc6ece9dae52b424ee4e552d46a8c03804ecf998e30b599cabc112ec9eb93488aa0db62e0006121f42ccac6aeb3e620038101d8390f58e6e7da14d23c8005b95989c7ebde1a3c6982158464c2aaae60a5032e72b7f4dce792eaeeab1c5033624a348c0511b1cc58e47802ebc95995d428db038c233253a52c8d290c1cc6d7784cbcb618436a5b351f4d65c5ec53e05c7b2abb00581e02e45fa4a838b134c920a70c634c9ca44bca01a924b0040860770d1aed8947726d75c93f880000581e02920e6cbb93e03175c156b6576e7c589a7b95ec4418551adbe64a3944845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d9e3ae4408c24bbf20270b80c0e51cd5286f36d273e3c2f607d0e1b3215820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021901280393d772a69697218f224549a9e49fe5d9bc8b9c7fd49e7ea79f9713960c9076380219fdff0334f12c68ebfa5ea0ecf796a1b9c129d00bb39bfe7dea527e2a4218e4444e4f6d03c2775bf68405971d756f2f94e6263c0c304898adb21aad14279fbc3c7575582303d184bc21c8f169eac2f32b3f403aad40d9897116cf786a4b3b9a4b341d36fea303a88039dd2a3de5dbd41c272c738a320a17cc458d1caecb3ec42a6eea1e6305240219ffff039cdf5edd363649dff80ccbaee6c058226cc7352a547c5652da3bcdbf793bbe1303df1a82d89218b8f71556c230d12ed37035a923e0200b75d94528dd7990850f7c03d60cb4ee6658542422278a17c215c6667a748787f70306637dd3cb5d08a0232c03c793f5155d2fd8904d8672d36d086e7b290018ec33a401e2eb58d3c498db327c03744cc9744772fd19bdab207b5f37e0b91438e0b95009a33628f68dee72f8549303d361ffab748166221f8849f259e2e5ce656c9510b02877f502fc6ec824a700a2039c8bfecc1f8c4a4b8166a1d8303a96bd731a790d8e500b3089fc87fce5f0eea00392ba1d7633d85447b676e945204eb409301e854bcb2f6774fe7f0e7a778da494036d7cedc1a78382a9aeab6c7b40c8e3f32dd38894bfc661712c4706b1daa12c5303afcc419d509aa4ca66890325073283c95a97f6f1d97c139423981b527c8e284e03e5e70a027ebe1dd4456ec7287ad5377669013b4c97ad89f507204a9b0699cecc03edbcfeb7b248d5a2fd9c9300e4cf1515416ae8da44357d598a0ae0c24b9f26b903ed4901129255d3c00fc14cd2e11b9298baee256eeee1628c126d45b3f6e94cd303ae69c16b3fee2cf6e38a59aadf0dc9e5abb34485d1fd11dbeb2dcfb934ba0ba203a8c715e8102b5036cdb0c2369832c5a80f5ec20bcfa3e014aecf10536466fe2303026554bdf8651614fcfaf83f285cf6cc5106f509384c58d7155a1ca9cf3b2228031ae736f1f91ae4cc7f3eada0ef762a213addb627c1968ee8dbafe63f26013a8703a54a783ed8f84390ae77bdf2ea2e20fd05a6aa0a5ad5a7db32319ad1178042930369f51b32fe40a7108397eee2fee4efb62f17ae5bde84da1e88550802c0bc905400581e02a9abf96d8eb51f9172118efa16d3a0e13d42e79253c55d25c550c992305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03508ca5ee35676b38c6611d86208cd7e5675da1e64aa64fa1bf9956ac7590d5e903b09bd04647ba7080766ffc1e4da8611e2cfc1158350aae352e8a4a70c11835fb00581e02adbd99f2e9e18bbfa46bb43fba81921aa0796f934da02ca577b96de8c84916eb7df44926df3a0f0219030a035ea16aa7ec8a4074c4cb7c6346b4539443634ddb86345a066cfe5c24c3ea3060033764ae15a7799d589295d4c12970cb6e55410559cf3807bfbfe25aa5f929ebf303bc4dc3ab63c03f5550949295db296dc6826988440b2f508c398f41e1b0f37c4403ac460868a53fe95fd9ad04e7a22c620b563ba176cfdfb7be9eabd922a68e98cc030899c2de0ac6d06ad553a735bf63094d4ce3b0fbae2ab99da4e201496f2536a50387be428c10794d009de48faa5abca94d3847c48671f2707532416a89fd75e85b0219bfff030525d887825933091cc5de446eed5acef7224d05a69574d277bca150e8f2b4c4034e6aa65d7ae94a21638aa27b4e5f4f9b7959c183c89d2b59cf430d2ab668909c036ca1d83f3252e57885e963478dc5983cd5fc2f90d95ccb09039be922f8b2f337039136ca865f023f104134745241358146371a15ef816a3dff94a7fe2818b3f4da03a21c13bb6f20296118fb775c2871529e7409db4e85f2703115c4ffdc719702eb0306c8fc004c46023c03749c9b62e6b6ddf92ae1f8176aca30e6589aa4bd2afcbd03d31cb89f888fad8ecb6a363f8eb244f5ba56e8b632fabbb088ad022c08703265030a0be6573ae3cfd29bf5cd6e1ed415747b5b8b1bb21589e849857dbf7878e7a0036804cd00fae0c114a2cc9112f7ad5ebcba14c1993444aaf9b7b274d9d99f9abc0356de5bc902cd172de173ff3bb9d3f0761c4e97182a47342969a4c75aed747c40033d58a962b4d7bfca3af628a52cacf0654923190045ba34bb8baa1a3bcd97855a0219ffff0219ffff03610a60b52c8a67212d57e4d24b1adaf5da45387eb35f8efe0b651885b4db05a103cc346ae87caddb3b31e4f42234eb97ec2cfc60ca68abdfd7fa67ac575b7c161703b6a4e57fdb141194aa6ac6ec4f1e778f2c8c356a049b8e40c1b8fd1f58a592d103eecf7d5ee928755b32d4070b724d5f8a98ba670e3e7aa738b9aca47e7c38d41b031b70202eb6cf8b4927c7298c294e324b3afb3595ad7c2f761e193f8f2efb427303481dd55be7f27e6c42a7828262dec9281cb9ae629b9e9f337b9a5190ebe25e3b03a854011eee85ab756a666b438d1c325ad6417ff9e6caf28aea580684649464ce0308d11dd8e0c3142e014f213c4f79c0cf685f1694886419158fa581f5d7328b9d03f23ebe5736cb20d320df4c4a6ae512b3860f0b92e522506f43048f85d5b850d803467ef5b3eac66d16cd459a37f319c8bddad9eb5ff16496fc8dd0438f9dcde20803f1cafea765b7d5789e1c575a34bf1186fdd002c96b4e20768152dfa3420272f1034f2c220739e783e9df24c942c1ca18642c5c88dccf25c161f4b0325cf339bc6a0364441f932b4b0704084b02b763b859a69de9e2eb0becc7127caa1f8c939d32d903bd1278fb277fdcffa5b00b7ee2fe5319fdbb44ea23958ec5b549de2e17444ef603fbc8fe1842dc79f93ed0a66079c06ebd327951e2a33afeb0331f43162c9f5a4003ed015675828dcf2299fe8d52dd7ab51ef0dfe061aebcf1282e20c49857740da1036c6b0771148ddce0dbe04d293e21b707ae3aa3bb68effe670ed0d6c274662175039ce038dd5005a47cc6e76d06d3080b4fa04defff0e5c01dce13840ef55e199a4033e858424decb38cc3dab667f38703f7564de2bc98f22f13625b2c56c06af2c11031b3b78cb4907c36736c0b15f6ccc420769014070ef919d581090b088f9fd919803337a02d8550819069c30cb9af871d717e5b3deef5e5daee93d42329ba50a841b03327ed00c79e364c3b88a9fc2ea11e3a79b2e7b442586ac1d4784c36b63f47c7c03a1037233611a64cba2f5448af4bdb863d625e9c3d07d5e40ff0d230d5d3efcee00581e02ed4daa6a0a9b75d29c7ef4fffae8f9c551ac703018a36ac5b92d5beb5142147400581e023759e633d704cbe11def3c07df7dea1f091412fb4f605d7bca9183e9db5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0234e35e2d4c2c688622b3d0adfbc1fb58fde025534fc43e79aa7fe4ac804a056e610551e41bde3a0502190a0103c1d951b0eeb024849af43da6efec62e2f9a481cb1ab29a5ace841b0a7eb63f2c035b719e4c64c7504b8364138abb65b4c8a3f59697773b61b91b87b8efae3263650345a2afc8d76e64e225cba7b7c1abb453eab6f0484b8ebfc9aa344b0dfeee5d00032e4bceefe8f67e5e9ec4bc98cf52778d134888ddeb0af16dc58d19cf8e6b3f5503049f5d5cb75869c3f034029f20526c2455d416ff7209b978fbb4069ddc84062c039e3fe8e58b2540a97c26b0cb11adf07dcc4c8f4a4cf036585e640824960f515103bf16222909e495d78729419b0a46a067b15007ae8ec5d671515241b4e61c1bbf03c04aae3d0376e8ee0a8f2f39f00eb814e8f259af52cb2a8378b2e047a619c106032f6c61b0ea1454a71656e99a787c12ebf233ea1d012e14200fb738da126c068b03b336ee8365a9ada040cf3e03861354d14b059a5482540dac24c4ce64923f3987038792630033e0920ec205a544a00f4c93a6b3c100a38d04e70b20c84bcf7c59af03159e097256fe2a08a6a3ec2e3dd093ad01bfcef2dd60c9e3f530dbe94263c5f5037d717cf69827cbb4c0949c32eba50fc086ac41d034cd0be9819838a678dc75240219ffff036467bccbc108467be02afd41b11c70497e794d83aa6ee13e81d77be61cc496f2035bce9d2d19f4050ad0db065b66a45bb9e9e672723b426202d3ec3f7f464a44c403847bc19479da1dd33ec7f38ee8c9ae2baad977361e64b0d4bc0c718156e349ac03e36ab81f43fdb52d5f9035f61d0a858d96e20d13411c2b39cbc04008703a17fa039998d30ac4251fbe83905c8ff495363921d4c7e56abb3fdb62738b93eb83027503cb683781d1418a21f7e2cf80b68e53fd557e339b24a05396ae100add102e31b5031066b85c2c60c14a468dadb6ea2a7a9da44549c2c7ba4a60582d2d915868899c0219ffff031f97d56c2ae4ba9e72d869505a3dafbf697d4f39741f8dc35a7c688ef394a465037d4ec54d1eff7d58439c918a90cf24470191bbdf6052812e23c11d7856aa02c503a81802cb6c5dfd64ca3ca6ef3fccc9b0fa87f8eb4014723fc9372db004c58ca803d190496bdfee3ca9234e9ebe6f06f029f8bcb0f178f0017344c2dc3d71e8f06903ff9cd6dccf0644a4939af82348f17a90d680c815c3a8dc20f749ac94105405d903c6531f2a680c34d8856546be73a104f60a3474627c628a8fb9b7c8f8126d343a0219ffff03695823e6882dc6d151b63a13075f444f1d1493bdb2d2fbbf95544108aef3353703b48095452d685c02a2c5411962ccdc5a3d499535868c0e99a690c5364c22a75903680cbdbd10297abe197baf146da0fd3517bef13fec856124724c191345df6a7903ba3746af126578c47fd7b02fa62afbbc676b6545bdea0edd3bd8ca85ed5c49120369d92200206edb9902c0c73bbfc24b7d043eb11211140549b17d7a75e6495d91039aabbdcd49c089f2d785274aa555485742a5f0f98d5de0be50bb7e0065672e4d03e8721d9613c8d237dbd21e9bcb032f86b1c2b704e25b98a1734c81ab2b525c8e0383e906d83b782c655b1a34715ccba572f9a932a4909f5caab66da0e0cf7ac84303c2ddd0847df1f426524f696a5b884006ab18ac304b49f50ae23fd51bd8fd91d503479cea623ac2bcab18b0364ac753aba9c81a2d6e43ca8148a35e09f93c801905039a5ff524306668c05576356f4e0a9a8cc02d0397f2a1336eb3e9a43ace29a5090383ed9363195f50c7ffb2c92ce27c91cfbc7d75c045af4e5f45e6a80d3e980a530317b3ad8a1d5fed997c702867a848c4da2d8a1e231a885c1d79b0cc95fdee45d00327bbcfa9b8676e71f313567caf6e22260f756b1f452b135db60580092632dd9f0389729106032b324eb54f14de1e74161498ce6a4274ab7c94dfbe325781ba3bf0038d9fbf45e0a9fdeea014569601f5003dd79903f1f32347ce9e28dac7dc4ec9a303f366eaf00f567c521a1ad0cb2765688e4e8bef1e25031b66ff887ef69594b7b5033bfb257e428f5aa6a7e6385bf67214397eda892d4c58ff521ee0ae9709d1c60a0344598d9751bc9d7f417dda5e36f16959a6eb1154718639edfb883e7de41f46a300581f039e5cc25b38d2b01586ef0cef08018be8c59558db79d55ceee4001592a88048163009e6ead75f7400581e0209ecc88eb855fbd4451d8cae8bddbcc796bff17b79fc2063252ad75fd34921fb8473e8f9a279f903a29a0aed1fa64fa5e424884be7ed23620bb691329c906d5a3254130474c8fd1900581e02d9928a65c80a030c985251c1994b078d5f90aa80f7d62b47712e853dd65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e1e1fdadb621166aae42e48fc3c3aec662ceb67fb0ea6b1bccd6aecaf35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219530000581f03e42821ec3714f8c79972a580efb2759a0242901d5cac3cff6d19981d95e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036bbd4e8b3d9c2ec1cedc58c81efd4097eae979b952585666ef62db95c9dd691e03e2c7c6dd10d8defcf93efff19204d4e257089c35968d7a849eebb13b99b56af50366e3c8f7e0acce38ec7b9b5e92b31fbf9d58a047c644d365d6f817bc00b9212103fb60e940b819a6280518021f80d8505cf48a2f934dfc946dba37f911baa0d2ed03d86a26deda02caa4064a5673272a7b1d59bc1051d3fb94e6ceb2a47f3332a9c10360b304ad56b811851bf16433a0b1eeead19b5c45002c1bdcf41e96c2099b2bf403f4d88a7c5609196d204c7d83acf98b8bd174c86def3bc44c7fec93a6b61f0d2b00581f03b91d7ef47170649369f66ca250bfe578cf3e455e2fc63adc527f34400490480db2332689a4ce080334329b45d8d3337f88f58823c3a0edb1ffa434495dd6ecb2c464c7be251724d3038458e3df1d0a2e22c3887bee3eb75c01e42814938a61c4259838a8c0afa20bf803e2a6043c176f4d00d74c5a6f2e6bfb95b529675a14625f3b76d3a96681e65da00219ffff03d1248f0c73c08332deb79ebbfa13c0830d48d73566d7e92678674f982b66e55203d89314b42a301edd341fc6541213a7e89aaed8c5887545c331228a06a9b9518d0335c96484950d7748e5d33907aa55105fe876146bf2166f035f1557d66b2dae0d030b0b1d5a2f7f320c001beb716fcd5378eab2a1175f03d5df702f4b650f2face303141c4d7a55232a6bafe61ac2ac4c86a91df23c758b0a8013d3ee32ad6bca1f2003ae16fcbbc33e469f0d363a44fb6707cecc2271a47b09f62333c7481664db20f50219ffff03e3e741e4b503ee5e62fc3b6a51d0257b9b46716f909bcdc2e2b7e49bf2e0377f038b3d8e523976ea5b2fe9712855f6ab12c08d8890ed7e31cf5be9b0db06e2e8390385814507344e3cea9cbbfde62b7b5132147510db838f42dc8bb5f56eaa718d870360940a1cea0a89e469960d26160aaf8495c672271fb23bac1bfe674b3754217a03eac66d9f6c3ac52aad6170db10dbe47677fea6bc4a7bc5d0655153611c7ad3a203fcadff086d13e1fa834d4efde1d0e1a71f77aa043d2b46f2c7f7ca9c90a6f02103cb33a7beb2f8237278af795b4f7c435402aa61b0acffb86f9218991bf8ffdd7c036b3f8b2e8a2c68ac27b0c987503977440cc554d0e11736c231b07e37c18cb16c0219ffff0219ffff03501c504839ff3819e617942ba67a9f9160953958b5e44446bff2a8283cea293d03984c894719f6652f2e66e12b39803b88ab20c8ccac7fdc1948b4887633b31b67036e463ce92b3e44ba7eb4c41a71f51534294b33ebf33f47e50c8416b6e7bf4b3403ac83a3635a1dd1d0b15e27b3afa601bb70e4aff32d9308409c2020c656a4c439036faa425b9f210e31c9b1aa52ddd15383d5dacc4591362b6f0b51dab2a9f4bda6031d2979d339b7f1f5882407ff469857659ea1647ad8b1fd0c363a44fe385b32c7034d9772270305680dde8d072c18d2a97f89000e9434002369a49667d35ae3048e0362add2648e64c42fa409e74a296b7ba187e2517b4d538b50b30f52397b2bbe0603d5d36867c26bb227d4b8585d68acd596d1158a3a96d13af4675644a074f64c15039816ace0ad152fa563af8fe59ccc35cb1ca49d321acddfd2ad6153c458b917e003650a1b9320558ee75f9dec626c9df4d955011404049badd198ddef344fc6b268037f7a058138394e5748823a8e38dddafbcac5192407249bfdeafe9b7bb328e96603546dd2da02af73d2ca24cdb1c86d8750e03dd6464382b56d07a5db2dc8dc60b103e9f9925cc965eed7174595de366eb8285fadbeb96a047f534d16e9482d7fbf2103877932216d7b4c0e0cd320e12aaa9c233010d4165c2176c37cb7239149385e1a0363be34c5ee64f5d899852865ac3dd94db24f877def31db3d55472f619d5c5cda033fb843d8bd0a86a4ec22025a09b7468c846868b21ec7e7c3b66e04df64fbf23d0397f3aeedcaca29aa755f5963c7aaefec8c843a3aacd7d65af91ab7ebe1f3579403652c430145ac8458185420efd78a0cfd1c0025bcca95ad66ee7d81906d733b4a03beab78815959078018c8a7c2d6cd51c48f47990b4bcf9844b42c70ba6b37f31f0366d19248a8980b96867e8a5bffbf5a1cebecf979e0deac0bdae996bf44a256ab0350e0ca370c16ff2bf17d3a826b3dc292133dff0d75ca4cc97da548561821e4fe03b7404f85b02b64f3ffa55d0da6650589db22f1594d1d9ddee5b56a6d34980c2400581e034ac73444c78c660bc7068b05f74fca7ef286ab05ea9ab8326ceb7f7ac05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0387850a317b4a9157c6909b2c88db538743ac9c3151f27ff34f3324a1b04927837e4e77103b39450219020200581e02089b82f6969fdf3a4f07515a010eed442e61ac00782577f612d01c57804789cf23d29649510320833122c5949a9fe0550993fc971333ba89c2a7b1cbc83190f69a939fa992d50219028803b193064a0a500068faf68c7b8ee10ac186904fca90b4d51bb1878c582abea67a0307a999370a0743bf42f4ec866058bac4b1541b2c739dc58b208b083792a6b37c00581f0347b8371f7a0c0af686a8c0b4d460779555fcf3cef60edac18f27e7f6fef0470453160fbbf74503bb229f7518fd04902885edf666956baaa8153eef920671f50b42086e20b8a288037a791355f1ac85db87d5a3b96de155b51003af5fb48c322b02ddda39fdf040ee03b0b5c30bf482fbd6f2974f7bd75facbef5b802a26248de1140b48f28008e79450349d078f414a131cb62716e5266f10fdde370d6bf92c8ee34c5e6823a5f93589100581f034b3f06b4916d5b77309399a31773adf96380565fdbaa53fed7567e1e1460464eda1d03841e03bd6682d55ba540191b825f803760fa23b3e990c96b181c33b1654a52140b791203297c893fe6bb0bdfc9a736dd6a0338dc76ad9d4f288365a5bd5672751dd57df203d8c2356c4d8dea5e3b72baf1e65e32c8296e503a612161ee2371b79e9c2716aa032eb37dd601708e7c3602722812b667ec66ccbd51b47f95a200476d9cd2d9f06b038799fb49119093f6390c5ba5c9048207e591323158c955edf1075025bd7c12dd00581f03875a0bcf19a920642b673fabd6f405edb3014b8f948a2a4a8f31a89872f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d12f19d74a85a0307c2f84c7d8f97a833ab62af46c7bbaf8a06c0f88b553c8a40219ffff0304dc5f38aceccaadba24ce17b42eecc5810b3892a770bd1a73ad8f862b0c34e60300728f29c75f0dffad145307fca6e7e99d46c415dcd74bdd9e79b2046fd98745030fc8495bbb4e1c65e129c6507f9ef31fc19ed3709d2e7e072e3da59fb5e4534a031bdc9fc6e29b1c164501f79e306a2645c845abc540cd27c26c98d3523a4953650219ffff036a33b0c0a697de37afb035e03dbd0366be2430be0037eeeb9f71b90d644b13f003c9ae60964866d69865a02b13741f9bd1a27a6ff4db6079bd56afae34f83a7a6e03036f85dc440bc16caeb04540e3df7f306e9ec624a8e2bd2498a294cc6c94e6d70317e0de8d8ad50b990af49c8f288613be0d909db90613e3a4e916f46556d65ba50219ffff033a0d511bba33e28de03ad8f5fbe6d7acf0a1def8cebe51126499ce37a35b27d003e74ca18ba061a6d811a6bd75115c93cbcba3892163731e7f43bca4b55bd2aa710391b2be4a446d0f49f48a98f93bc82eb15f9a8a4866ad0ca290f97bfa78930d390381431b17924b05ad1f025cc517e43c0e2f786e26827256e0ef7a69585fd07dae03fb05bf61fe5d7d7d82addb03fd0fa445353d8102406b723ee48fa27c5d265d1403774941fcee744f7f09744a0d2dca83b566967d11c8a846816f00c1205344325603681fa139e982df403c41b25324789d1c53cc5b80d86e5d8a390d45ab39566ae7034476461d8a4233bd6296c573c04197ea745ace54d8955f072d6f0e909123daaa0308488c1d0b853e16264f3af854ca606a0a0d3f5b435b94eecbe325f53f557b5c033551cb43231995cba77ad129713a690ffaa531c1155c20be23d71e8a1b55736c0391291129d7c682718736843f696cb584258c59cb3fcb882d1170caa2dbff673b032f78a13fb4608d2201d91e6dd4420dd6fc4081a248dd1c58aec63df1419975b203b69a24edb08a3daad063f6a50e494d712a7c746d07a16e25965c5fdfbb70c6ef03fe600c016ad7b79931e2122e0e220ae2ec09973bbcb88ff0c81ed519f116e34f032e43e76cb194a43531924dfc500733dbd351e6ac814f085462870e4b1e38660303aac0183637d41221b0906f09af0e40b41551fef453d9bc0c71797b888bf78cf2039f3527207537d721db0936fffe4bc02bef17c5827a5da76fc3e0515e9dcc685603790cd1ce3d33bcdd37ae034a2b649c4915d5d7199be3506067fc85b0f8023cf20388bf45eedaef27b3926274c52a31b20f27c2a5ff74446f5699775e9859278d5603f05e53446643387b9359af80e61cd7dc1e927f0910d1dc052ebe317ea983f79303a82ee05ceae5a10f157bf30575aeb1278f4d3338c396a1407265bef7a85a69a4039092a9bbcb9d06a1d9849d507a68f0dd1fd4bd55d413738e75b95b9dfded67af0389484a8f6283710ff56b8912b1b3d97388565a2dc982aa2310c07a8aaf0bd1f0037f37837900fcbf0346554cd46c02ffbe36778726325b5c224d0c418f87f9a71b0398c2071ebe857ce382aee5e008da43b6fa1e06c83b4fc7310b6e0e83324b59f6031eef177ca7d9628f2415fd8687dbd07cc841b95aa7a7a0e42eccbe209c6d26fa03c09902248d50b941517d69ae3ef01523c9795781dc39ed9bb1ca11d6f9a91de803389c9d12a157d8681374fb3b7fd25150c07c8b821562563c1cf4d145a94be50f037689583a754b586bca0bf8440ede53f895cba540aa5d766d36e6265fbfbb095803149eab2c86411e048c51f11c9495332c6e4e95a36a75b60143218b87ec96a308035e38fa937c2e7a87165a4f7047282b3ed192ce5632a49adb474761030d7322ef03ccde745a38efacb1e0a6c4e71ff77c30b4cb7205b5a2b8b8a111619f7016e184034d905d5bad7b37813bd8c55bd576a084c42a8cd8f799d5aee4a5fc9f69459d7203ec96fbe1e75f4acd6a779c659a47f86f236877f255c6540b6e74549cdbf5de1000581f03b8c31bdd45234c631c1dd21471c3545b38bf4e79b57a24994899485fe7305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039c6c093e24cd5447f81bb912ca7b8ba123c519e86055dd6486576045b6ee41f30356ffe0eb7f7de381e78ba706a4ad92f3bb96e964f619a52a6dd7f0c259e05754039222dde4d4227e79eda3bd0f6a0bb114af390a3d131725d1abf9a4f0a4a7c2a800581e0221fb7c1a50626960437c14e330335b87d18e9d0322f4c4d32d0099036b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033770b7994f97b07ccfc5297fb7f9f8390c755db2a4d590b807aa7115605c54cf00581e02f252c4bb9cc784f54c7f1a69107f786e8fc3e61140f5aa4355919ae02e48047535649d2af7e900581e037e86b2f52103c748dab3551197d72bdebccfb440ac0222630e6e428a805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0371d56c14251f2eeadae05d5274005e0db88c0418bd2c0a3bad04066ad049647749f586466a9ba60219408000581e02700aa9a1097fb3a4a7f19ba2d0ab21a6173df4dd6a6b8af20068bf83285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219016903099560cd09c327b0be06b3d011376aa3976c79e510451b431ad4348b86a92f680363f4f2b7677d817ea66ad2c0ce056ebd39c61dec6f9ae640edc03bdc2f33a09003f3b404ef998fc205866a722849bcdebfb42557e9586f3d72cf3503471705cbdb03ef8c9b193fa053277cf680b40bca8383909d02a71aa307ce101315beacd375790327db2996b92bf472ac78b04c0cb7a6693679ddc9f561fc598de3b8cf275e4a620332d7989971436eba5ccd97861a0f974a82e247e761e5a507c35122ef05d1dd5403130d9411ae5639b69dd7822b98ff42894dff0e9611895977144821ee1b0d69ab031a35923dc21118971b9f4231c36eedcd902abd47a57c2e8c39742944e6314a2b0396cd41166bc5ddc0fe7b453a1c7ff60ba86bcd207f7a94b6a6bca82be86ccc950219fffd0219ffff0219ffff03eac84f3853f46a9be25fa39271a4ff2a77e61b5e7772d734d2684d75696920620311d3c07740d8bd226652f4bf0ee1512f39480e9d7d6622a348374a3e7d07353a0382a14feef44b7b0991a842f3b408b1c0e19f5980bdcef1cc0d6e1652db03594e032e5c98a3d4b685bba911340b3dd0acb0b504079b5ca963150d08ce162e3bf6ac037175e7fd0fe149cee5ca0540d837a80d763c488d95166c63c048dd9f04046dae03c30ec5e7c6cff9e8cc649cfb1d3171d442d7b109fa1dfd9d64ed3bb91c01b10d03c1c3921fc19bfa046d96b73b2b39f6b79494ba90e6d846e39f1320525200c44003728655c5d367ee02312db87688f4271f604a69b25df8e12e3a5e16a7343ffb0403c215c66485a62d4ca938c461e21a5554f774642e487387063b9250676abe2bcb032ca2f5b4ab442112b2e292c29a38a8973d78181c61a53177cce39a248e4cd18803e8fec47e223c5a2521835d253c67fefb6443eb024fa9670ceca641dd54ac7b0003c34ad356f53e13cb574f304fd5d05d5feac7fe2c82f321c7859b401b0447eaf20303212e6ec5a81fbfcb0da6bbb58a0e4f95158e2a866e4c892b8893dee0a9c769034b6532bc28df9d51deffecd3b7fe5f79359ffe721591ed764e09b944dede598c03ff39227676d03a600f80b59c07cfa22c488e6bbc3250530e03654b6009f8afd70341a386b136b2690a11e3ebc062fd4f7ba240d44d36060c9d12919e769dc7404003062ee4278377f6b807da70295ef19ae3cb75a20c32983596028c414305edb82503888252cb35682813a0143964f1f92efd75d998de4a462c13b4bbe9c3aa8fd8ea030f10e7986d807eb4f87bc7e2a5c178e0da806bd6cb454d7f57c382df73a58b6f032d64b92bf09b1f56910cfc068cebe2ce613ce3328d4120b81de439687be38a7103d8370cea115d9cf3eb260a53822b4abcc66524ec8a22fc95be18d4edf49a4fcc036d8ab90649e5fd378b2b399309299cef789ecd888b7fa50137c49b1b7ae74c78037be631476238431596e2792ff19d2b6a5603c87490104a7d9fcfffa3f8a708fc00581f03fb07a03890768c984b0d2061f9226635e676fabd99b15c9273887a7f74f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f3667f0df166dd98409d8ccbd39eefaccec02e0431f90aee26205a6b02c330c20393294052a6fbb4f661589d82225e284e0658c55928a4032c2cdda25fec16403003d95035c44eb4b30701eec4ccdd11ddedd8d203bb3af9c06c301f97809f2a6d9c037ca0dc329680ce65ca08378f0c09b0306f3eeee91bcd47ecf93714575e908c69035631d549e49e0ca1b1fddf1a018fbac5be04332c9e242c63d5877f777e187d7603d650551cdf865fa0c304bb4c3dc5be30cbb88e88806300216a7215d90c424d5503fda7866041480f6c62ee7547abfdddd4d2321c51fc8cff08bdd029097cb4290203414997544975d72f837fe2fe7abbcfb9e80f1cafd4d5661876eda5cbb546d71e03f92a32282fcb37033ac1e35f47092f4009b32132b7d9fa9b11efac5e3c71fc6800581e02af3211161f30b2ecb1a06f308d3e5af419e548d04d1c8f99023372d71a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b130075914099d44aa7cbd0d41bc407fbcb3f9c9e6c3950f0df817da195820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219041003abb20410db773c6d391fcfc3fe8138a9c792ad86f44a2b77daab5c450f15ee8b03a229806a7ca3b1820f4d028025855aae339608d2bde5aa168ad287265b3aa09203c3a15cd7b9ad360e3db3b47f8e9c97622c25b561ca8eac76516a234389a7de190141010219ffff0376457f718b50e3cbf5934a6106a88c449bb1da01da2413efed5aa41890e96ff4035a85358a1235d3aba3ce699045e943d9651146d561a41089604f0441ff5f43bd0350ecaa192fef5fc09086861adf54201ff5706804f070382587cbcb66545b7036036791bdf265d8f28cda626d9f75a023b9b9393737dbebefb1d07dc9e9a3309bbb03701a09141d033a6c99f770d5f8a5ab0a39b8308a73e444cee1a6ab6818f2e6020219ffff036ca13b06d7dba084a896bd06d6426005886fef459d1b86ad4c148e62d0cb53140300d330c0f32e08d8a9547f408fb7da41cc3b0f26a44ad63bc41839ea904e03ec03a3d846672a219a86cb91858885866cc00d7b92a67ddea0b2e9615bc8505ca31c03538192970fe1d3ac58eedfde03f91e81c367b458c72ed94dff21b516e5fb511b0302d2bd6b8ca5fc9c94bfafb95e26d2068a5a38ab3a2badeea23534cffc64b6370141040338207b54112f6064e1934db63ea767e00a39e3d59dd7d4a593dccdfed07008e1030f4129098625c786e8c6af909cb4118f6ce206216e4bfde41e8970f64faf873303a399718c5e7dc5c51a8975d5357a6a6f6fda6de79a67572a7ba2f967c6a15938039cef03427a3029cde74825edd32dca503713d4935e117c53f77f15b0e6b2d12403612879a5168e73e22b4dc58fa5f19bada7ef43470019c18625223605f001019e030dd83c96c086b01e49a03ea45a47aa7c76ee9271ed60bf6e94fb95634014f7d603b4c034ac05812d8e3d62c06a1eba07d2507c760c79e1086b6d9c999c43ec8a520357d7fd821d43ea2ad8c14a61d03f5eb0746b52647ff8ee113c5d1ce5c2b6299a038528e01e402c176f1a024d59169458265da5603120727d511afc44923bee5c93035442a73b32efb2b1f8786f85d0b07a978fcde3109378da4facd590414288a88b0396ded7749ae700e4df67433e3c87138a42327f90847deb6b99d95239e5264b36031fd4b4e8037dda076a5708e64cd15d595172e8be5b650ca4b5a8b72bf6d6389e03f59839e57ff1c3c3cda925bbec7925642f06e4bae94ceee17134daa34f6153f200581e023679387a6ec0034a6cffbff3fef4b460289afb0e8d00992e8bccbc7a12410100581e02cc40d424fcdf4a177c252ecedc83016af0c9f48fd26a76c5e1c59ddfe85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fc7b01692d29e92c3b4fa7fee77b75eba1477fb7d073f398a7bfabf4225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021930080219ffff03aef6a5b551d74a725c1851fc07ea36bb284cb80a3f7ee76754d7661c08ea724b031c6e4d0b7aa3cbe63b986105b587be8c02a133f840d8fbc498ed777be2be4c37037334f27e8fe75b59852745f8262c405be1aa5c224d758c44680a8fbf94cdb916038962999162a5f1aeaaabc8ea460cf558baa2c71023cfc4a71c73e4fd5f8997010314cb0e90a4f67b5804cebb81b637aa0ca207ac1fa5a84e9b22dff901c2f38d0d034b2e681951f49a57300d728ddb980a26abf3d719b9b89110944a2e04a22ae85e0395f48a599739a52e18f51185481f1b2e17f9ea00c59d921fb4ac323dcd7a9e0303a2979643f4dc0db6dbc18dc06172d1b4b8d1af3985e064392add18837426bcfb0389f2b7e6d0b2bb6c74e0f393561098e0aad60e7dacfa162af906ac04a2eac252030bd469a1e1fbec7b5c60c79c4bc6b5daf8ba0f8d5b15c29569e826af5286f6c503d4ec88077da658a8b9f947c64b8f9a0bd24fcfa4c387e5ff1ebede4ddb42809b03ae78f7dd789e4f3392238367b6eafb0500787e854717fde5c1e1d9ee9c2edff50318a46a81b0329e307750b99323a4b7a0da5ce565e3727c97ec3a67088f30cd6e0387357f743774d0e918af1adcd9eef6cc81c6bf86f77acbe7a473a0cc4a2a775e03b45bd147481c918b959e795c8f5257dd292d83ca8754991df6d1834f099f9aba0219ffff0330744c9f2eb042cdfab8cd34d415efacd841e6acaa04b9977efe311c30324ea4030ad62ef05fde8a146ab0c1fed0480cefb8dabd82fd6381bc939c8cc729d770e7038491db80da7d266091285778c4d620ab56d0f37adbeff1ca8a6bd43c8198975b0329177b5db7a8df9d9b7ab6854f4650f57921c013031b9280d35b0a0d32dfd2260219ffff03d09a1286876c6eb556f7a992dbf29bac3470843ae4bba934bdcaab827ead6bdc03b6f53c06d0daaf5045eb8354af4e7d9848a4b873678b6218694b4ac71c256c4b0383590bb3c29a1b649a16dfb111fc9b40f2ac75376d2431e879e32c0c15f47f1f037c3b273b9542b0d0ccb21330d363b517d13e7f06bcede0fa9162647de31dd1bf03a5e38ca939b628c7c1cd4bd59fd2ae07d1c6e276222280c747d3ec81327640b60219ffff0335c1b3e198c7a9194f97afd0bedfd24c9da170f098ccb3b167049627a0dfb68b033c9a8f8fd13b58083d86b4ac899edf746e8bc8d748226b960812943fdbeb0317034efee4f91456ba993800aea5ab5c9d87b6c079604e39bd1fd80a5659bf54abbb0356b5065dad3750c7764df91b838eb96ff5940ab35ab1bc91add9820fa8aec5e003260b0b80d99d174f82d47a45315b5d311ce489033dbfcf32033469e7531b948d039a2c332d2cca6e8172c6ddb1b1f50859267dd6d93d2642da2f05f2dce7a72c1d03cc122a9fe5b99279a4b146ca0cbb6b598c6e090e93944bccdabbd1226e2a935403f1b54b925ab90e4c4c287dd49a7f4ebc9ac2d92b99203e2e37df33c1d38cadce03691999b6f9086439ceede020e57f84d81bb3d66239e740e68911a15586dfba0c0379f56808dd0bce01b3b8d52a1e9b166db06a1e7de05c548c6235858938fc52a403311f08c99d5b9035cf99a4e98d784db819f1075d2e946e8ccb686a0edf441578032bd15ecba5e9bba99f825e9a462f7fc580b4265b0405e6c0b920eea79f7ecb0403b6bf6d8ba809112ffb5651c770a93e73a0d65efe54a60d67d21113a55ebf2a6203a72ba34835f3c6f3ba24a878b39c046c074c595845561d6e47f86603921e15b503f9172ac2c044eb8d8448ef26df0373c85d74ff360b0cb0ad2dfe400d43474f43030d2e963714e1de853da1526667c2cb9a56c7c4ca608850484cf41e11f3bfbdeb0312f46baf0eea05a1e91c87923cbc4d056705c42caaa82c62428ade3123db5180030370f6d6a6025ea0da0added8134305319887f05a29d8fccb22a1fb64d18094703e32fbfd3847fbde3faccb0eb1e1d87946878073a5018a6184153b1c3943e083a00581f030e7f33f69d93fc46f633537947c5b3c2a67191b030d937c72c3a09706c705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030e05bc1d3f81d26186e20af5295a79454c2d69bdbe7cb78593caee4f1d1d5bf703db51b01fce060e824788e4ca25cb69cb1b985d6ac68a3e1888a8b26c5c4de47a03363007661b627b64a5397c637a6b6048226a5485bbc6798f90025e641756ac10030eca4460b82b4a934afef554f0950a8c0ae293f75168dd5d0013a6e02239d5a100581e02740e1249ac8a481177a2e77c1b65e5322c483f2f61450f5dc6b6e77d2b463ce402f7bc0000581e02befcaac95d33b1f856ae799b4ba5be8ddfec060e6dce4ea01f756ae7415820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025a3499446b884a620f6578ec3011fb011ab80362425d1d1fdcb511761d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f33a8962cebe99b9494ea8a11e4b6de975660c16fa675b0b84c910ed655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219020b03f063fae520c94b8e7d2d0b20395f6f88dca7fde15ba1f95249407d97bf8b773b03bab53613b954d939e3545d876a5c8848925844caa320000a59e6e358ebf0daae03f3474dad4512bea6670cd7d01c8a5dc66cf493f3a46a9c4118ad0e627648f22203b2c64883bd6736ec1976f47d8277d38497c6b741e59a809c69584ab5a8e0747003d63a284170bda6f749c94ebf20e6f7134e5a0930637abe83b2df55f442c7f6840367f01783486a4487fcb00928fd0d502b47049e73e665d10fefdeb66e7456174c03553b228dcd8a4e53e4e3617c98b4de6fe8bde984542a227a775d7b185970183f034d8925214ccfafac4d82c2f57ab129095e26fa0e709f52e2bede958f216d2fde0302cc4bccd4acdee487562ce059d4d53ca5043d0124369a258580c95dc82335850219ffff0318bc14a0e2e96400d4cda1aedbb62dc84f7f2d90f5f58f5b655b218f9484893d039208a9660ae4a61fa603d6e70b0a69a78617e8b8e889ba6562cf5738e69c64dd031f45a5621aa9c98b523155f2019e5774ed7a0a6335bc385ba4dc0b6bb90488af03bb2ef4e80098c1b478ad124aaf9ef906701ec0c913ae6308bef465adefc1003f03571daa8a04dad3978bef4454642a0572dbac9bd1a8e3254189c9a8a568ee9d5e03765016800cad4c5a9ea5240f20b64c5d93ee81bab57f4db627f435112e2b0b3003753b1eb1c6ce3bc7aec9a9acd76a50d7db7cbea04a0b65057686394fceb87b3c037d202d935bacb0742528444b405455519bdc8c142bb92f044bd4dc5a7a1362c503452fbb58f7853a20e73eec28af725e3c6bba39b0fab7439341fe1c8734c6a75c0219ffff0377426575a3b8a1754120951144fcf5d20ff80a1ecc28edf4687a6d4eba97221003306fd45e04d6805a164f60e0e353d27f41a2df8654cbfbf080c4a7c0af6e4cc6031953b4fef4c3271d84bd91d8bc1613d20bb6891934e433d8f92e33a4a3fe6659036a3688124e19809a0567321726694cd43f0d28cb97b4ae502d76e219e8ccd9fa0352a94851c97e0b67321640fc5823c8b64735df7e70cf43036a037aaa13602fc3030e22c7c2a131200ef4510546eb60c9a799e825491564e965e93a491127da2be3032f299bca060c930e92922d5440280f6ef257140624ca47a461cbe00c404971c80219ffff03b9d743d8db616a756b9a8bb056a6321748b7341ea3e1c3586817a8574d09c6fc0305ff7663461c25a5cc9a73372baf04b11316a6c152f55998a49dc30c57e433c90385907ef1b06c020b85b0817aaebb0e4838852ea0bfb57ad9e448621ac5fc1a510304b9bf6cb5fce73db7a2797948215fc6042585642f7efa04a7756bd9c1393b8f031a63cb9c42736a1235cb97fded44870b2d4425841b1389e35d370742fe0e582b037d99322c6903fbe3f5b838ac8613874a2dfb190b9aec9d3f6766078c6f59295c03919c11e74189608c59f0e706a5bf02b8b24fc7ffc583696a5789557d72d530710398437cae0f10a8c0ff0e1285d34045c59e650c7f52b3177374ed0b4edd436d6a035a3b6153f8bbdcca2128bbcfd9b00e645e280e33226ddfc8da47b6c5e1bb5e6f03a26952dc37c53f6ea2d23d520ea920ee32e9b0cdbc8220f435fd0f37d35c928703ef2dd998e76231a62c1972650d32a0abbbc43fd0482a728cdc44bd767bd86530037eedf2b188953b9308d78e11756c84836459dff591d1856919161ad524a7854a03ffffd72cd05b0d86d7016b55bbc918a60d67ecd39be1b0931cf577530670afdb0332cec28d50e158b4611b203f0f1c94aaf4d3c2e8764c85fdf8cff077422b8abc0338cf61b4be5c4c49fea1f6651c328edf2d11cd5f7f4dbd523b9a5b50db406ba703dd6259816fd2fdeb4bf42d199e44ca045b3455451fbc415469f871883679d373038e39e30e5081467e98fbe67b9da7598c931e4bc9a4eaad7d672cb45a85d14ba0036502cc7f9cd8d502d9965ec96abd4ad4b079c8521b524c3ef80ad44a3d4de11303b46ac6dd59ec6de7d348fe5752e2561ff7a12ed41db23bcf4e973162206aa3ca0316568bf9187a0c06308f9b1d936bf54a8d7888c01757d414ea229cf67f27bba001410703e2cf1d547999695f5507ed56a81dfd1d7728308948d37b0a2ace50fff84c5fee00581f035be2d4b21a023db09edce90032dc21dde6d98c1aa20b86420b2f592837905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03361ce7781ad6db9cd8998313f7ab3cc2f8f884693d7908530c2728a9d14fd1600384193729f9d8435d853b7d3d91297e99d01300886d33ae3caa74f9314267c1fe00581e020ecf2821abf819a099b51c38254cacebabb8792b9d4b313abab341a4925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031a18e40891d8f7a924fafc50f99b80eac6a88eb121c5ed00fde438a51f45107003bd1e0689845185bcf880655bb03349f1ea47bab2143c94ea1cd6a3564caf221b00581e02cf46cc8fe140e86b960e7ab0f8b67603b862bcdb924bb9cc315742489c481bc16d674ec8000100581e02f93232a890964c30f6e17f1bb3627fd6f1804dc8e4d5a8e08c9b3f48295820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190b0c0219fdff03c660052018adab28e655d25d7874514a1401ad488b3c433471518ba21be8ff2503708acd1e6eab6e39bb50741900083737da05926dc1ab358325d24134ec7b6f4103be4755d41abc51503b124fb309f1146f36e048fbfbc45469f90378fa2631404f03d591fe24b300ab072a0d30ba35cb9148066ac03edebf7f9f101ab0bc73a348eb0352261e5f63cca971e4ff9066dcc37e71aa9150c8e23eecad965792d59399e20603dd1b4ebc9502d52a8ccd31597d7ccd71c91a23a3a0c36d9a7162c4f46c79eae603f3b6b124d9cb7dd1020eb16d470aad34c44d1a2c92d166c65e3a4c688d9ed0880325671a6a637cb0faa81185fdf6dfbdbd4a0bee4121b406ae793e0c2dc83b171403b52b15a531a44e1642e3bd2ca8b66ba4672e4af528041cc7d74a00dcfdf1148c03003a5d98f4797d5e8db7b4b97139b67a152ea20404bfd277c0593fa4c9f7b0d50396548b4e11f8a93d3de701fd7c089c44e53cc9b9794a0c2c8f9f6f6696d95c000334b9f13f4467c24f88c17d380a8804b191b81dc3a74af082ea45268972b4fdae030a41b00d1c6cdccff963468884f2cb492b642c9f1c227379dc1ba6a5f400a2fb0219ffff03f4be22c82a1dc83ddb17fa7310ee7f2846c5bd8f812cd14ee2fa191e4ebc353b03a91bb565d994c2583717b7f65def413bc164ab42cc5235f1cd979d117605cb5703b3fa28557844802cec64f222d50314ba76061f8e779f6a1a04b36ae6844f1ccc03399be13bbcd1a92fe624b96114fbb1c59c20943cea018155b11c5a2f1d2db6c403d08ff54793c144c1380f569e51809c0001eaa5583018e56e6b0f21a41988cc7603e00174ea3cd43c2762995f4d57071a0d08e278a5cea6c1c138637f35314baeb40337daa3bfcf7f2e2bd69cecf5195ba1df0fb680faf02aa34e145731081f54887803d50ff28af5f7a9c1ccaca6f11ac96f0e49a4a270d035b329f15d0302b2dc5c6b030c9dc7928ae47e05fef0a73030473f593fa13e09cf2efac688f20e84ed7db8aa03bb7770ee86f186af9a2a74d57299f4f318df07b59929593b3a910aa2d89121200314931a0fa934fb1c14e9f24b6ebbc3081b6a75b91d9b8b06a074cb2d56dc381e034558934312da4d7b301e9a382ec717d60e311e54dff819a54ae3aa2f26d5b5d4039401b31f6522ce4917bb969714cd7171b6fb96d2df837b405e89f7f8d28c4542030cb0d67ea4b5720e4ad59e8fe598474a046cd33aa244a0dd1142389ca6495a5e03bc372dbbd865d0a5f495c481735bca290bd65b506316e389d70647bd2ed1389203df69abbcbc4b04da7727ba1401aea849c3dd84b828e8e6188af18fd8630b4a6803084a88dbd4c1b4ab531e0d2a4cb8b6a62bb5bda577acefb7a9e8284481d0603a03c1dfc597d6a070c25b602ffd4d360c1f2bc432ddb9e017b1574a566938c9cb2d033c76b74376db865f6a1fd9befa1bf947a31f0b34da6c0657179c7ed2dc6109c60310a71c9799b916946f9c4d5a58c565cb5e241f7223f9975b52a8d4aa261e735200581e030a2da2b319c0566533415e01db623314e6ae97baac9c4318adc39255405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03715bc2350310e9bc4fe72c3082146d438d06b14befef866842e5741bc0491807a48976a9fc03f10219102000581e02559cf30682b2ea9e39c523ad5ad4e0179847884e1ad03c9970d2971f935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0215847a86841aa9e300ab86f4b5ac91ec6c54acb722ff2f4f1d2f44fe144653941d84800002194480038df59563002d27de471a41b287f1b52d3957c521c9973645298cdc7d32fbffee035f89e00b97004091553a8e3d2ab1d69b089c8a3384b0ecac465d8a222ce6b6f9038254abc98ef441efcdb8702ae2f76fee889f8af200dd64e7c30e2a8ab1a93a480219ffff03c29fbafc713f07e20cc67be7461839f68b4547a216f3bb24c11db44bcb48a10903e1b8ae5365f7c778ab462867d9770fc809f9afeefce28ccf0aaa76272bcc3d8f03bea47debe302c363c6d9e65adda7108b10af549ebcea265b1c2afd0d18a77171037eadbb9925280260bc2e3fd48feeef62d9cc295dcc7454f92a198cfb97f8aebe03de6c249d0a87afde82493f399ba70e30970fb96189fed156c483cd8e29ddc3ff03ae494339287e796ec3425561ed3959ae515039a5abbf7fcae24607e467b8b88503f746e077d032e90ee2ac0ad6dc4595223099eb4053127e263318557059964a2f03c586029f4af1404dd7f3ad0975dabaafc90885d9535730ec901d70ea7e59e6ec03d5198eda6ef4411dc52dd38b98f00cf5b66ccd5037d039290442336448ab657603003199dc922590709d1e99637de0dfd1a28b74b04736db38709608ea77eaab0603b3e911161c31d5722e0f24f3e101b3df7b1887c41228dd453b0302e21af2407f03c3282dc28bed2bd9d9154966e86f5599565ac0bd0f3b7f7fc1a42b6201db919703c82dbe09d00b8b10ea537a021bdadefd2a1a90ec6fc0459ea7fb2ddb0dcac51f0380a67eca6808fe3007b35cb2adce4f564e97bdbaa3c7729e0162789ae615e12d035ad37fbfb4daba308152d5fea2501cdad05f7d6a12d9e8fdfc310dec00f067270219ffff0219ffff0305d8bedb30ec9d889ac47243c6f321c99432b158883343297fc05b4f02be762103860bc9a5eb497de4023b1961d7aa36a396d06e44005114189db6f04200ceca79039a3a8b62a44ec33f69c860b53aa12f2c2d1752bd71119eeddfbe44a6e4e4f4db0384a90a85a6d8f300064c21f6ebb48d9d5bf759730fd1b9448514c6c67230df2103849f607f1c3983f5f9011f79000cb77f1ff7e98afb96f48acb5bfda5c926f1fc034b5ba4f0ddcc4eaf40f27a3ae1e5e9e914aeb2bbc3b1a02bd03727adfd61976e031b6de3a1283818ab1cd1b48799a3b7eb0ab5f561794d92663aea60af246705b503661619a5f341bf297efe51e9b8d833649d365f3a68d91f207fc5275aee2eedba03a4314f353336aeb15b2028f2d469c1ce95f36a1e7e91005129543947c7702a7a035201ddea15a639e696972d4f5d6b7e9980270d86b89c9c4d004e3c0f43bbc151031a5ee3e1c382ceb753ad27e728f1dfca088389615bac386044590264206a68dc036dbe3ccfa7df4a93a31e02df703d0fca9316a8689f6bccedc4244ab81f8da62603daba52c47c96c0071e512b2e535fca61aa2dcda58835c47af0c09dce5da43b00035122a7074fa8390433c7e42dfaf0fc76d28b031157471003a9fef8f1cade600d03aa4ceaa7147068cdaceb6d7bb8b7fc640200682d42e1505d9dd77e468729d574033bf04fdf8db82477b4f6da9fcdc16733f018cdd12d17694d1b7bab39e28e20c503babf46b6e9f0745048a2c21a205c8e430da592968878028da2067fdd03c5a0fe037319dd59ad8ec61ed4117e10b6e46c5e167f0a0bae66a1bf4a03ef692c0b02e100581f03ca2de7dd5fc86865ede48ee11e007b2d7778428023f244b243451dbb57904840af331d80f794940348e356b5be59f025f606b57bebb548127fdc83e057c3b3767a7ab0d726dd8605031d860c8661124f627917d157a217470c4f88bbc8f9468634b993a27362a34f11034be63c46f42a3ad94401233bdd92692bf56b08ffa03d5cd4edf595b69750910a03ecbea5a7f8a26590bd7240adf025f340786db2af201d33d531f0ee3a7ec03e18034a72fd08f3e02f521b2a05d917e4fe50875fd6988edbbec5db5a5beec6baa6e203530b58eac945dfcc3c0e2f6d4d2048e2abf7312e809696311cc65af33a50631003e18215091d000508311bbaafadc19077a16923ffab552620d27845c3e951ff0503a34bfb1ae6319f234de0f55d314979f6238dad6dd161819cc254e74f2a5d054f0320bac19b6469480573bdef3a8be1c668a241737e5b80504e70c0a67e1e54b4570366424702c5580010b5346b4f9118bf467cf2f072498a420495a12e82664124ea03f7214c7d95607711e48bfa4b0ae46712d64adc30bbbe525c9bc19c3085a60683031b05b2604450600faf94233558f4a803b329381b34ce00f821ddafe5606a82810141030219fdff0343621047e55f66a874b3d693eb0a2f97a897c928c5280d9814246bc8fa37f5d8038bbed30c0db22f9850a038a826b081cd058d7aac4f7c1bff3baceccf72958f2103a4695c618f1042e43567adcf4c05bcb7be2446da01bfef795123cabb97674c080302eab0824e21ae0ec906a8f99cd516d0f251a2b1734abbfae2cd548786a1abb803ff6b4177bbbccb2615fe64dea14055a24fd2330be4aa4f67ddbd8faf55751bcf03a04a6ee57d6b3cd1b5285ad5d2f9602348b4e862765890de2fa436885b627eb903e7527e6429003d49c7036fc400e6ade6a91f60a3231f1861583641cf5217e9cd035f1846de90dfe960d3e8839fb95b8f1b946fdd474ff02ebf765529366c9b4061033fd828d71add2a8b521e44edd9e57b3df16248d7ed2864be102e3bbb5371d72903b3b2cad7d1f79f9660bf6aa36a2c018addadd9467214ff5f1d03c26ec77cbdab0386a0b7d01136bd32e4def6efe9ed465e42d8f7aa1dfeefd72743291201601c81031c756fe18a008dbcb1aa255394ee7072c38acd37b2f6d97657c6f9f0e57f22400219ffff03c319d9960f3f6254166e598059afea1649fc94a2be14e51d9387cec6d08d6cf2037781b66726b374121173907d8f970f7b65343bc9f1a63760afc486cbae58ef1303722776f59f140622708d0b409c29a181d493f124f6c8def1259e226d6ec65e33035f205b9f76c8f5cb3fb7478b3bef128cc87562fa9e78a6c3e2a2e265228215b6039f1ffe1596e03b7563247621fec997176bd0ba634d9bb038c3e1fb5f08574ea4033eb22d1ae548d413b919563491528f19637e526d192378fc15142a4c3a0cb7cf03fefb28e71bafbebac3a7a30a5dbaa9998e78fb0356c64d09492b824dde8194ff0219ffff03d42c0f0acd9d0baf6fbcaf8bd0f78c7fa6d84f205211daa0cee559f9e13f8cdc03fc5d121b7ff0c9a0780d617b1cad882b534e3f99e12726e4a14112c49123ef9f0219ffff031c97d30f2754e2f67480d82fa375cca4d07ab148770ad062610a691893ef38b303b6f564b4cd6e3aab0e7fa1c70845982b207bcd0cb99ec39bc2adb2c02a14b92703d34f5fe602228f9f13fecb1dfc98643f1fc003cfa026203a0d29883fc674db2d03a0d70cdcf554baed89dc5b70ed76bdbc742a8c03ea79089e72f0e3ac6f478ebf03373049d5cea802bb1e90aff0f9994a00609c68ecc958254ffd412b1b742d07c203fddbfff5c269a0f12f6a82fa65c9a731d7c1c8d98ce5547a881797a1f84de6680336f967857ee3ce7a7788bdbb6bee1ca0332be5f7b29694639ab13d11899bb279036ca7c9930b1f1935f6a60cc2d4c65fb09a45c20d294312e6cb95635fdc255dd203f47d571be420740b98182468c1942b511a43ca3bbf262d0a1b418f526449b380033ed968fce2a439f0c1c2add5852054989f1e9780d598367660a7b8e2ed63207f03080e3847e61e99ec0f79ee4fc0aa7e769de770c1ab91eca7367f7585add18f7003bf3952c991ed35b02a99d88ce63a000a5aadba699e4c2ee210b56e9639c1ff2203e7062884977c557014f703ad69275a5e8787e5673d08e9299b7bbaece0d56e00039b8d36fa38c344e190efef06913082fbad9fd89e10568d4873c8c7277ff0faf4039d7e68b85fe13a7cac88bb66a47ba72a539bff947cfba774115e4a79f58040c103c6163ba011ec312f84e664b249b4b610b9b0392a879724060038b31722b6abfb00581f035c87432d5eef1722f7ad8a96787ac37cac9706a03b5aaed7a7a4732a95905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b0cf60ab497e2d96054b7bc25786590e30653dae0310e02d1c422ad72a00b16b03399fa28b88a5d93f77a8eb85466634fae5948f70054e4479379cf6598f3ab00203b3b550ded39541bc4f8d5edcde02135523ef5b0a30d36dc580c02411e2d1c4f2037907876c4c14b537e55c50e00528af09ea76362c5aa65843b245eedb7085ee3300581e0245e121782a3d19b72ca849dd8330888a69879f2d2306458385aed8f8905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021d80ba84d1abbb90244663572f53e79c8778162b281f4aa5483f158f6446a41acc147e0000581e02596a39b7c460e73c0a6b50793a322e5704c30a6825478c803fd6e5734b48016345785d8a00000310d4da9a46a6a15cbfd690417619682d6dcc2152608e3eead483624feaaae5f800581e02341aea3039d3298a172f3f44f1c7f0a39d880d5d168d64abea6e272e455820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219013a0377edaf6c69940d6b922afc8f0bffb2d8872e71d6d86ec19461fb459bd4fb962003768ac2d75b08b9fc91d648c13ecad10e2d59bdd6477b868b1768ae6a7263938a0388e92936606bb192ccd8473b193f70d63aabb101c77eb3930d4a15b7acdcb4bd0336595588e447b9d76c5d53588893d6854d4a9d3697cdaf23f3e63527eac83bde03213544a70b6639767aad68942b7e4fc3fc47e72546b54e82671b724e342df92a03f342f9231acddf24746e64b482c7e1bea0e3563c91317f59942a16223a6eb53d03e97f83966a737998f8576da080f4824492d603d5ffe5b9a90b780efcc3f63bb4014107031f81fc016e7bd1310aa66c663fdc6af468ef7cda0d7a2a4ba9668e5d2ed6d0fd01410f0219ffff0311cc72bf6b9fc9e6d662bbe156708176b476746a1e2b121c14ade9e36a517ac2033683a93c3f92db24280e3f38d82019c2a74c6ff3873627e37d63fdf213ddae4203b188d98736f1f97df5055b9192df7c7c777a6bd736e2ff2534043f3fa5f41eea036fc4535d469393fd914324e9fa867a0bca7360089cdd0bef9508bb4807fdfc5b0326fa903e6a7818274af6e95c8df67798e259b383138566e1a32c538bc6592d92036f44b15d2b0a6a4da9249795b5148f84e021ea211ac5769c48f98cf2cff1d42b03c0a7806e6b51f44f1fecc10c9e5ff016d8e87c14bf8dddf80d81b8d218fa21860219ffff030fa6058bbf10f1bb4d9136283382f51740ac845bf615b485a342f04694542757034c28525591f49706828da2e0b400f178af67a5f5318864c568a809e6d477afaa03971166eb76af009723add96010f187234d78a470a906bb31407faeb8c1a6fdd30359ecc99dba90c28633548ce8c8502eb2300c611037d01a8b0ee84886352e687a032f835843e2d53bbba0995c8c3aeb68247c5b444d30db367a7e3d2b2e208ac6ed0390211af793df6d9fb4120a62d45d9b2f5722e4be3e58fea3be0ee7e9b0701c2f0381e47167ae331b0d90220a4eb9d1cb3925ed82e7d61d0ade4d0ba52c5734814003924282fcd9f9d9e828fc2985ea42c87e079aedd30a4921c9c8a0dff1269026ae033abadb63b5efe2cf342e7e07f3700bfb6e8b116f0cff3f71f861ef5dd5a7cc960391126457bd6b2785fd0ca19ff4e56e8d12b68a52b0402f85becee402b94d838c03f85d00edbde4b547bc47f12c15fdc99da880cb87c859d8d6d41836483c29df95036f5a415428afec89b04edc51087be0be77ae519eab6249c8eb5e784885065b840355f21087c75200335ef213106914c656d03df7b1c045a7a358aa5e3fe52aaf8203863718366864cd7cfba172940769cc0eeaccf297ac8dd1ecdc3468573f123a33038053d436ce0ab56ea082fdb92ab79dc2ddaf641af130b11e09bda736f19395700219ffff03a6b35ea6cb1e9e0bb4809219a6bba75e67d954badc896d1d838cb396d076796403a402b6fc28086e55dd1e879a18d86351f9c1c6927f5102b36fa017cfaf46fe7703b116f9e0456bf2de4f81d988d106d093ccec3b3590b6017d24b9c24a68522f0f03b93809a673f4b34eefda0d44cdf67464086c7bd43183bd416e05a9a4aa1152290300cbd21d5a73119b703c7467249aeb9ea026f31add2c7ac5a6ffe58792ceaeca033f1dea0bc31e494fdeaad8e1ab1510d5236d37c302996200b44fb556e2731fd503b79af026e851aff56901b0ca3909049ecb97b5acbf34ad8b16791208b1a24e83033a87a67d0ef546f232bb8e9e58b40545248d1fd55d9e06d7cbb2b00df30b3f420304205171a4a4e032a3a0ce66ac33fe4b2e685e9405eee5ef5bf243356efc8880030d663b403748210a786356b09377d0e37dd1b455970fd98a07aedb0e6869e6250396fb6a8c4712ea0dd0fe37773e4bea7e5d6f6e809b177a1ce26932d2bf564f8c03b6b22039a008190be6d66995e9f969bcd8647599115e2f2992d9ca36b82c3cae03ec3058dc2c9a0c2bcad669e867488105aed7f3d096b4b41278053837ec8f2ab103dfcd323bc5dd19c05b4d852d40817c42ba6f013f9499d9b41674ce4aa255a1b10387acde7a34d28933111efe7339c88bc0ff31f3f77a1a2dfb182fb22768963717039144790c6fd18059a1f73f8fb6e37753819743ae4a542902f9b1330fc8b0612b03703a06f83292c22b685f1c0eef0f9720fe00f90b7a3f3dc057210461b381a55d0356fdce5835baf8a6baa6e8539378d297340806e662caf42cbfdc8406479b3742037bf31fd086e432c610e6f972b2858ad89383ecead9f6b2a7ea46b8481b42ca4e036b26a5fc57f14aef79a4db10af73eeeac405de5dbf0425c8d40e0768381e8d6e03e4063eeff04241c0ee44cf364ae3167c5ec92d8c593480507d72b5a53030354d00581f0320369b451ac93b2db52e92d8f1ca9c1150cb0dc07478878b5a52aa7c53e041030343a2e2403d6c3584ce993d488d9bd47c3b2e985a8cd5dfae0410838ec336009103249f07b2872b5f6eac146dc32235f6b3d47e67285e8bd9c3b68bf447b7c9056803467dc29cc1fe286fb1c21f5ad47922f2435653aaecc23fec38c7073f7dc11a83031941ca13014c19c6a34bf222a14206097d057a219a6be0c9950eac47d16995bd033cad254742fbaf9826aae9986f4601bb549c2c118f0d15e0261ee6cde8dafef000581e02860aa3efbf592c2fa02c773c1f70b400130b25f51eeb96db0e516e1c834895964abc3524c0be00581e02a23df860661a555672684466aa24f43d185baee3b68e0198f96a222bbf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219088003637b7ea218ead07680382c0b6e4bc1a46c12c720d9fe9264305d2e7e3a4145c50341ac6d88357d26be921a4ffca12207e25889f957de4a0e96a5f564bef26d7b4500581f03f2304c0aa3741d6cc823b084c80702304178a9f2a595ce69a33005debdb04101030f698a30511494f84eb3afe00a846e8e9060ad7a3ff1bd5427480435ac300c9203bd0d2fe0589b89ec0d167c6c925397ed6938621033777d36aa4c33e593ffac4403985303d99e634a7c5500111c5006782fa35124d71fbcbef2e757c66fb987ef3f0219f7f703af34155a9c6bf00cb647927302c838142ee11ef3b4b34d95a79938359cce68970320837bbddebfa0c398c0e62a9aa854aef4f965b32d6ed1afbad7e981170631e403657f4dfd346c137c77c28712f1579029a9cc7d90500401feefe2391e4628466703f7af6d2eb2e96bd638cae64de13720086d9443419431da8da9f82065af41524803c4c24e5a6f6ba08fffa1e4c6fa795ab4da1417413cdc407cefc58dc907a94a5b0219ffff0371c26f73f5ad13879fff3a860e637b174b41732fc24055f324cb313e7683722d03573870cd51951133d0bf6d2d7dc920605ce1019d7b16714120e7b35a054aad190328df2536fc1b54f31e06677d2f5c17f89ff00df811b75a932c2ddf82f3bbf04003fd531e1f0ee26a2f106f020c411b86a505007f21497c94b532c4f5c78e3e750d03f72d96519ef9c4b9e71b6acbc0717b017c16a6ad18ccc7bcf3637faa1f295f84038d7d66e2eb50876ad5c4c7f4ba5f8cf548e95dd384b910f36d0d982afca4370c03fae28828a2c2123b485b5c418fc7ab76dac54d41cab15626b4ff847516ba920b03248dfc0011a03cf7a62fbdf2f66598dcfdf0a9e0dfbcf1a3edeef0aa2300941903370b2d7ddc3257f73489ea297d1fabe15c346771491721a44556234e62ccaaa403ae53ee4177cc4e474fa8fa51c9a08ae1721b99564519de4425ff4ae0bab9be900319b5a8748f03b1c098961a7ff89ec25ff7bc8e6646d0d4cf3d5d42312125ad93036cfe1761db6abc697daaacba6ef875848fdb2e1d47a17eae8ab449f0b283c3190219ffff03c4813fed5bf6c6ec078186c895b0794780c7be535b85efcbb9edc3b1d72077b50219ffff03a45797adf8662a3800abdb1c1115950911065d355ba4cd05bc67c21d0107f812030a04fefdd3b33165a89c467fd77278137795199e59edcad7d8f404d4053e85e803f907a5978f1c91bf36fab2cf87f5db5bb746608a94557389563ce3583f40748a03a53bed2598e74617af5ae0fb1ad485e9f7f8eb0e6975e63f7edbe927585305610309c9b4848043398d3b64c8e18bb77a324123d209ef5e37b1223e50ec982ce204033ce322a650b88c646c6cbfbd927a8cbb4f869c5240316f2fa2fd7abee0b6763303f7128cf60edd98b47e6ece56e0fb44cf2f5933c0e5d59b48c69163973a3549dc03253730b12092018dbb99e145c30b5936be9a6249ab83bcc07da819318e0dffa303d28909ac9455ab34749742585ba0351f131c9855fef42654a9a6b8bae7a6f6ca038000554d88ec9cd8cb03324ee1e282b6185d25de4d8d4e5a022ad5f2e0b48d07036c56055ae47d3936d58661eee97b01ec74c039a7ae3d1a4c80dfeb91f81eda2a03805223235c884b07065243055fc959769c652106951e49e6e935e7f46dfb9cf603019372aca826e2f6472d1685750d1716dca5c5c1fe545ce68feaebf907c9d785033d5a9b0be3957360f8fbb2513e4a4dd70bfe4f03cf91e84511b463df7843853203e4efc806d76eb6099d40e1e44e152fa00a6b5235a43ec4c6de3b4bd29c43821103bf3af8fbaa9bf4ff99bd06967c7f09eec9d51002b53f087411aeaec06aca31770326a3fe979b32e6d0f1bf1f9d83db01302675a95db462a74ccc3f4e63d347e7310323a9331b7b7f7f8df3755f60eff17824668c0452cbbab8189798f9edccaa0fc203080a9df224fc3a2367c526624cf91a9337ada993f75476564900f0f603541ff003fddd8d70e05872e16554b9d0cf53185b201f75a42c49e74d18692fddf5ca106b03fadfc5a4b720e261785f145c3c7e86920427afab5a273847239bb2a996001e6e03975e6acfb87d8b36ca4584f6caee9794de19dd921c2a25cd53daac8284e231d0033446bf9573379acc29b676165545dca561ceaf8f97c14c2ed9f642596a5576ed0397d6fd3247678c88e423df48eaf66501f4b4e2ba078eda9e6d1a572b2a5785a403f45a23c058c59eeb55feb4d515d48b42f68b3f029e72e8ce6e72ae04c22b5bf703a6e5292f07033c07f890b5d64f71384159b1d3a374357a7ad0df993c1342b51303892a63690756b6110c9eff5e79159c5646c232dc298dbeb4669aa3e335ec6eef00581e02386a127d6d88e06cd290da689c62cf88d8009fa3a6d6613e15035ba2c25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027e897abdb646f89421323b488779f9824b33f49b0b0d55400a60d273554726d9c25abefefc00581e02b2b5057c95d8873ce4345c17735f8dc06b0a7f99aae7a306b30b45121b47c3663566a5800000581e02f46d83d291898dc5c212b6078829130bb848dec3374d13b34e7e7d84744805da88dd7e42800000581e026a655a14d7f899d0717edc5cf93def35643c6c300a1ac278ce225bbad4474b900af5ba500003ae7e819282003a35bc8038db35fb1177b91ee2dadeaafba4bc80ca2a024e4ed50219370800581f036e8398fe231002d80260141fee5774e02cd013833c75241922d9583906f042016d03a10498f291bd8593e5ba1b203f14b0037a09875b94ff2748d7a9c259945f844a03bc6106da60f4530a0374e249c4a0b315eabe393fb79d449533f5aeddbc23729300581f03d4f5f64e55a0b769bcef3f7c27db302236ccd392919d2a1586562bf91de05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0320450f8a4676257f744546dceaf1d610eb12be0977b73c7a773475f54f651d7a030b6f35b6843aed83442b51e92579f4eb33efc758174023e3a33ba4a83e24fa4f0326cf56db18b47979e78cbdd22b1d8dc154c021092a4a26699307422fa6b75e0800581f030d53dea62573aa40723c703533fa94e36678a0e5b4a278753ae47fd2bbc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032caf44791b6094fe657697dcb4b6a786f38842a8e4cb18ca72cb17629c5677f001410403ffc17df563e6e6861b656df2a8fbf19ef2eb4e09fb2838f162b78cce9104b90903b43249c3b42e7ef0d34d007cda44d95668868b1e33dd69f437322eb675d61573037340a6b0c3fc47c28330cc7f571138e101e76fe5ee500c6a3e6527c8a868c83a036480dd036da4f87420ef9e4c2c5dc8d83694f2acabedea8d5f8d2a7c37c64cb10219ffff035d2f06616eb830658111636f5cdb9a0a59fa9e6d2e7edbb52130aa7a180bbc9b03d55e4de38e28d54f127cf43877a8323bd3c87c946943c40f7b1bb2d68864db1403a1c0bdf1a9e201fc6c1d7d683acbd5889f213c7cf676191bde284f8b447c05190219ffff034e890da7b0a5229584872a685bee9a418c9b78e76b93326bff1cab0f465ffdd20309a77114753529caa38e45f8bb6760447d629812a7d1e9128d1c462e6854efbd0219ffff03e6506ed64ffa388756d9fa6019786a30554d80240c708e49b87a7678ddddc26003d66bf25c942053e6c74f36ab12d64a685d8b95b5cf1d4fe1d1103121314f391503eb21a396a35d95201c7a5babc3e6e09a2527b53a0fb97034ddc405806110d355031ce781cd8499f2d3b37bce5b32efebea9bafdd252ed0ee3ca31878c024cf99cc03d8111dbdbfdfbaf7be4f9faf28b08870a130fbe251a933cf634cf12830b07b36037337c817c43d26ee24e1141edc40bb5df2075fbc1e13cb976261ec2aaf0e18760331f1085dc211fc39244015df83fe85a2d117e1cda74091cadbbeaf51932f9f1b0337cf271fc593c2046ff575a55a685760164d2810bb37952658c1a42b0e61920f03145e92933f8d71b543db46e4d319a09ee6ef4467d2eab0572db470e5bca48ba903aa1d01b4d51986c173fec16af6058a5822a41b303e4f2475225870ac04c88a2100581f03c729b9e2483069159e82181e6e0d717abeb1a747e4829a831639a30afe505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ced63e717a09ad9354fc35d80e7042836aea5c5632f54b5696812de8cd30c2f3035c699816cef059f0ba6ebd34597eb3c59912a6fddd6392cb4ee98d3689c43fba03afa527f17438d53b2b9be75bdda3a1a08fbbcdfaec5b4b7757cb29fc1431415303a788c28a9d0556b1c1013c61a388c681f66e36e78053cdbfef459f1a5926a61303b031d468983da1f24963f5721e78c09d4259fb058cd967e2307a15792c05398803e825e2aa9160a9f80f6451138207fba9b22ed61c5b55b118f4c6b24d81b734da00581e029b5a6b9655d9f07931d7f96f8c0db0bcd138bc5cb7217e29deb9a958315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bb3e174776a481e9b9805930f96b263d2b3dbda51dd8c544f300bf3bf85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f5d6cb457a52187e42ce8b9e601acb5e7ece3bbb37a2662fb62f5778ec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bca8b10aec677b493577cb450dc5c4a5f813c8caba7ff19bbeef4312915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0227ba92ba910a1913478ff0fdf125f074966d123116f740c370aefe7b8c4826edd06374831b8a021906920392c791c955dac5d660f669f4a027c74b7b383d649be21472249b7f0d701ec54a032df99f5dfda5e10077df31e21e44b4146b12e0d7e47b1c8015570931c46820b803d55d842b9063c15aaf7c11ea25873fee5eef811946006a1ead4213500988666d0219ffff0332b3791412224bdc05f16f78779fd50e4507ed11d91e76a3ef15468f455b754503c1b91a0a2247a0680b32228f464f274d631ddcf65dd2372d99985e74f0cac9cf03f83447c0f91b5e57fc472ef7db6cfdcb2b03c259a574c91a9e0a654aec37fec803742ccd8f91e054574d54b70649116d311aa21bce9fe98cb3d8b6faf8c19ea4610353c3b82870c28e78c32059c3e52087f81fd32a74e6ea122b9db3681e351c237b0386da8923390e67e2935d1ae982eaae0d974fa22edd6c7d2868089d47b665695e03dc322fe379efd19eb8c2e49cfce8c28dd13ff6228cdd937d220eca74a85fcf99037d0b5f0fc54a8e33915d0703e6f71194dbc027b409c0ddbd4df74fbb157473bb03b3ea0b92c38f292e4c030addd0c2c0d79fdaf3618e9b31afa0409a88b09b1cfe03ffe147e1709403f7966b5e658617db1de11a8bfda55ff97a938a66e0e707918703f74f3dd02ce2351d9a4f6d3807c74affe3e97d2841b4d0d2da382eb0006c677703216977b7505e96ae42740ce3b8c0bf60429aa644842d113a2b80f001f3bbca5d03ce2af275ea37805b7dac79f99a4272f59c5fb93a456f40a09b2a04045789ae2803344661ca501c794ec9705a2708e193baa2b1391f35d05118db9bb21523c1c6930219ffff030e2191847e9faffd277c0baafd7fa5e4119de41626d847e6da2b3cfbaf8d0f0903992d7d8e77fc618856e1df5a517ac9f14340b908e8f5e0f49ce8d01d882ebe35031ac219a9b633caabcbc58c2ffc52d2ba49592dfda46fe5ccf178269a4c0b84cd03cdbf32661fdcfd4148d145d2b5fdb6ffcf11bccd963783be48c453a241b4255403ffe0b7e62bc7a68587d85eb45b05d12acb905ebad36c06c146289283715af34c03e35931b7a86acc0a55cb5e4d453a92b383d58ed77dfd36ac0b59bfd4c7e44ec603497160b79117814ad06633101b36bacd394680d6fee0d2dfe4e7589be9438de3033a87fb87b5a901c47ba15fb9c769dab13883ab6ff8face70af55dc7403ccceb303d399583970168c80893a980d5a6d39366324c8a9c4dc8e88207347ca5073898703bc496a7908f04c0a009f9e5b86594df58efe2a732b01131c7cedd16349783df00378e90adfab91f74f0956350b0d59944503785c79564b0ef2cb33d300d4e96ea7030ba6a3030ae82d6b8ddbe03092a74db329f591d5853640dfee46a5fb8e602e5a03e06f95f1941d5b14bc4bcaa79f6972285361047143b04f145a66a8722788b394031b67bb5d75d94b1460ba4424283b29f9fdaa18482ec4a87ba326f8aa18fba7ae032b9ea1a347e0718827dca6957d06fe4d3b8781a7ae5e62ca089cafc05c3c4e5a0219ffff0338c8cf23fbb9352fed25a003a318b20c392bdf974a058e024c2cd0d508049227032eff9c8d783729ca51b99e7d3bfc3ddf73d910446819434fe316989ab24a21cb0303e0bcfbb5c731da180249cb689c94698addb2d594bd7c29a718b567133b64240325ffeec732cbddb55a9ce1c66d4185977d9076ff693f3f87411ebeb5de99b52b03c38f1d27a7825a6c6f1622dda3ad77fa95bf093eb6f2f0db88d5aec893d8dda303027eb670794c367f3c1bc0dddb71722844999c4455e2a79d2c58ebd3c0f794440376d84696395fa16e7c3a362e97f14066ec713934cf95330ad744418bfb92413d0337edc03d031f30581ade1f2d60d2ba769714857a8fbbc256c88a77677138cee8037867d573de40e0603e249602e2a2993328cdd4de396732da436148d3b81d6956036f7adfb945dfbc93fce5cbd682477ce04234267c499b5e8e97656a7bae6df76f03601581efc927007d5b2caa511646e5e474f6dc8ec03b0b5d3f6fd9a6917a98f9038df13fb8908ac5c02cb95df3129aa07ee17d734a3f2f47fd8202732248d271450370c209b62ddada13d250e98de81517b4388f5c1fa492009e2f38d51039d34d46031fa237a1a950ceb57662f5b885821e0af98598302c036f338591248f22fa4f7d03eda70e9949bf0d823982e84c5f3dae5194cbe89f766fa5f14bb54520849536da03ae3c04d065868f8625eb812d2f83da88f855cac81f74875e515303aac76b8c330320f7bf32e3ab62034a4ffc41cdf11a2b0f3c58b59cea9378828a9f37e794f58403da06eea20e9d7c06f95c05c89c897b6a31a8c7ab362827714d70fabc43f5b47d0342e31e13b63d40684eff8d29c90d189fae8c243f69f97e48687efd448fa9d532039707ceadbf64e23c1baa8bd5c412f2af694c3961583d5232406a6596c926aed503d23283dc053ec2ba02f151df7aff1a9db237f7880b55546aa6e5bbda1a4656bc037501a2ec7f4d02651bdf3d44e5f1f39cece67b82903a79632ebed919fa9f446603f936ed361e481ceabf350add0a8be4390d99a0cd21f5784f40df3221f2c044f903612a637dcad93be64f3213a05aae4745f5cad02dd5907b211af0668ae5b1284e0347d5b5ac0f8c04da9b8baf49d9195c03e2ef2bfeeeb860d438c2ee4502587dc603dad337918558bb7327db53e4de62834833c295c909fc15469d263256b3334dd6038c6162a8cf88968d9d24060d5cb14ab6ac43ac3872e9e6cb07005bb28b8fecf100581f03fdb1761a2da8a7cc9ae07d9b7237839c288a639ff9888d7bc8249abe2b505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0352ccaa0cc65237b90d56108bacf048e8a3387a52fad640aa00db90575d4e7b7b035a356ea40f168f2771b0ecd313bf5e0ac2dbe305a17d9bbcd8c5e2637699d1eb00581e02bd66bd7e1fc8184cd770ad09363212f65081f2b0f23b59fbadd73783285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02800b34cb01d7a8d8c30cc5766ad722e0f6cc698ac6d5b6a59cccccf9d45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0292bac55bb217ef2894a0c387268c6c1bbdc587e70845781e1e6623477a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e84d9deccb97424013b72077a3f03429eb8b1ffed4c6989782ebb588175820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0215ff29c9a14099b68a59cf3379ee1863f62c81bd29594aaaf7dc72626e47254db1c2244000021960d1036eee27cce167126373b8b4ac20da22ee56cd737c6ba5c9c591f2d61384a17aca03f79ff6362dd91109a6fa1edbebb4d79d382e412e113680c90097358d147fb8e9039e98a8e414da49d34c9a9778d7fc9feb89a230ffc50e856a3797a88c52837c8e031d4ef7d567b4db6432dde933bbc258b7c087a5e476364ad9828784452bf61aa001410e030783e9de0ffd469e79fadd7da6ae828497b50c5e1ac347652a51ddc6ef2292bf034977c60ff792c6a94efa037a332fc614190908973f4d1fa371b69f45afe6008b03bffbd58b7f939bf68be3b146ec96516550ab6c0969fa140117ba723c1c9f0a3b03d11c4c1233c5056dab2cf4f6329c22558225f646100de442a88e7fb8dd2f404d03ef230a1a18bf102ce90f8234ccadced62d0592f1639599c15936529dd323fdc60219ffbf031e2e55a4f232d3ce4476829b2dfc6e4a488f113417660ef9c2872b08447b380a039e0bbf1a2a271f013f74403ee0dab8b97e59021cc7352a5df20aa45775cdea5c039224ec7a91796b3d03fbdab248b26e1169af447ac86406972d1cff9cc6c285a003b44d91b3aa2bbf16dacb4b0dbd6e96e7d462e160313214cb7ea041a799e32ce603ee58a1be97adebbb07a14055fddbbdd9fa8cc5517bf2ae39ff15657c237c246e033c1cb3783787b087c66cb5c9d7468e39ed8bc5f2f2e522b0a589aa22a7ff8a6f03646e0d87a31dee47a2857c2ceee4751632f634374c80f2e8c9d06acad9a76c2503cb789c00981ec2fb65c23dcdb8a3fda52189243d42d4adc40dee3263b5ff9b930219ffff03d9ad878e211640bc6db4f70166794ff0b5def40a9d0e677ffced114a4a5ceeeb0219ffff03f2cc933b7ea10a4350dab664a8b5033d3deef173574d0c33c4a042fbf5bbf00303eb416bddf985e3097f343d246c10e7e6882f2ad88bde4a0241b498aabdc35c6d035cae7ad6aaedaeae04c513a3e1cee7150c42396f648d7a1ee3e651075ae2b7140378c331f40fd8533b38dc53dbe9014be7be5c36b2ab8431b1bea0d514149611510327181cc9d882e08604132c6e05e4dd16e4cb8ef7a6ff5161f0cafa91dd67ed7a03de136d66946c0ac8510279300ffa32b63529a26d265f312cae3518615b6289e40219ffff03de102915049c870f7f3a91b80e9c299f41f96e4c59eb3f367187e00091eb300503447e9ca0ae5b5eda6b8349a5336ee5f9950f03f88c5f8dc149eadca0e769db7c03e737470c5be5e3c6d6e57b44d3b56a7babfc2fdab2a2eaded8c7159f6fb3146f038774126df0b12d49caecd678462be9262736d7f9f9aa462a0c4456b7ce3169db03dccd50d6967df0276628d99b3b38899174936bd8b950948b271ef0a9da5cc73f036c2b157d9e7079bd5d7b9bf55c32d17f4e26232f0b76ad36e94a4a327a39bbb9036b97493a62728a111362ef972086d7df94cd04c7f0aeed3dfc4acfe83e43f8200379cd5c27bb8a63536f39e22265d507f94a63f52a98f4b806fa88ba15263855db03757a1f087d42d814c121698cf037cd7c30b68773f17bb5cef3c212101d12a63b03432ec5dcca81020a377a3415686bed745a27edff56cb516b00d8552dfa2c715103e9c16c0858a0e7a281cd85f620ddd84328f89c193a7ab8d14541dd9c9c104d3100581f034b2c64d372e60b3deb584c7a735e688064d5472dba43445fe883dc3a9d90423c500367fb8f58870b4d6c24034690ffae360e87fcaefe9c1c1ce7c256d06a488fe81803d9289f911d1bc2e8264e4e3e40e65d8d43a6d44f1fde2ba30b433fe83d9138f003c9f36cea93339355c5b16bc3ed108f851b829cdb5d3cb66065790bfcbaa5c1f603a29ceb75dbdb55aa60bec7a236d8e85f6f9673bf2013dfb6b1b141fdd787a687034db86cec4b566b614c14d223e622296d8c19b1d2077ba14c9457a7d8f5adc4a800581f034d1c8bfa4a97445926fd822a2ead1d6ec09cd234c58e3916929781163fd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036d6b75e482c8186329f886bc9c645571d31fc02c6ff4ab4ff4943c806915dc5903cdd938d4ed85d9bcb934431c98ab38acc2c9cf9d4652d7a3a34123d66e1644e700581e0270028ead38d9fd7f9171a618887d4f8576de72527b089b7a129b7affd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023ef8cdd718d82e58f2d37179323158c100e8815fb83d9a09270be655085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026659b8c90a58f0c6881882d50aa05277ce0d585fcf7750f0bdec8c7d155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b219247b01c8162aa97ca9dad7fe28fe9def6ea389cb95b204325054d74a04fc649186c241fe2fa5021941b003c3e19b99041442fcb660bfb63d0f6232deabddc898f3f854e97237255ac9e1b00219ffff038ea856e54df40c0cf75d4390e9dcea86288e58c991b4d297bd0033b604282be50391834a439aeb5c9679ffc45e2f172c0d102f20af7fee07142a0b067ae33db381036c3df286e4b64487eb996f918016eb1c2a870a8e7a3d8c9bc967b29e22e2abfa03c93cdc1af3de19a8906c3d34f1eda7ef0e9aec45740d69352090a917cc3e4fee03f339543a04a3242c1bc69790d6d9b01fe058d86b99a269e3e75445006a29fc0c03111278dfd3b7f44ef56e9a7bbb3c0897b625a8803d08e2782c845ba9f531e6ee03e87548b37d25db6659bbe89535bc0f0324dcad9d5270ecc58d3629927047dfee03f6dd5cd1bb16aa43e58aefbc6656a68674687aedef158fa7dd19e26145333a7a0319c53c37e1afb058d53f26ea48d550e614a6500a43dd9c39219057327585e01d030218f1f4c9bf9ea001e7b24e8b142fda07b1379319355ee4d45e9a264c0dd67e0315c70bcfbe0deedb4fe9bf8c1f9d0589a44fed484c98465e20f82e3f4171ded103bf42f9654b359386c90bfa28621de2f12f5d07a8f6ff2e15b4f8b45ddce1833803f4aa3e01925a76b4e6a008cc2c9621d508e015aeb90adc9ee8574190d3bdb7e20219ffff03b686bc2c731a6ad7e66e2895003dc0f8f3260db4a2c77d4200e42cea4fa6c52f03b8ddd606b1b822285fcb2700949e0c17dde314cecb96d805c450314d04e05f9d03cd95520ab9b11af4aa4f9aa850c9095b1ad1de5493dffdd022bad4497c2a52380381b0adb2577edb07f51a6a5a80e8372bde8106e186cd1e2c884275af04c744cc039c9044178c9d87787eab0ad54034bd1856706eb7a4f0420722972e659b3d07a903f464df476d788efe46ad663ef2a850f885a763f93c3004d5f2135fc468d185a7035e842530c3fdc4624f47e4a1d00dfda31a2319c5156cdb44eeb548051db51d4803515d3e6414644b1931b5b6be4eca0266aa42d79bb9f858c9e72851971fd530b3038b8ce30ccc6dbc607588b45c97d21f93579fcfd3a4d57ebcb73012d1b0efbf6d03449b336401b6ccb3ebcf81daa9a67088e09842438151cbc49562e9cf5949a81703bfdc35661fc246ecb4682a8f497aaaca20063eea4ed183a6ccd16e18e216dc44039ac14440e98bd8314340368abb536ac3a8762cfb458bbae8bb45a41bc2ebc44803b93c0c2e7746e4d7d1bcb2ba1ad1dff995d427a3348a7727ab522bddd5fd50a003ec130de8bd6c02fed718210be70543f4a4dd1b0d97e78979a0713f8f7c6c3fa90358bc916cfb46d40ff55a844e287675dc22338d1e39d4d2f410d42e16d196d06d0219ffff03d4f5d78e93c7769ffef80d45f144e2d0b093dfd43d8200d02963b90ea96e4d0803841017c6c013645de2b4bb458af75196f58cb4d2c096e30072e40ebc4e5770600384c480a7d32185157f989dce6faf8ae4dbd6645ce39cd4bfe1d0b754b17b57df03ce505d73c0ea658bac366b30e2fe98ec7d7eaf98423760d441b9065d693e633503091cecdca167cbb1206a9f64f152353c54213ae3c16e9d88d5973506f19ebd190335b8f5a2676a82a6b1b12bf100518447da48d1b9c7a0c9fc68a7553c370eb91303a05bc940d8ae8600adf121ee8e7c7f135c2763de0f3bb5e4f67044ff4a6ba6a303a6623fbbdf8697314a790b254612185195622ff7a8ec5d0f1450e54535a90dc100581e028a8d57fa15f09190ecfdd8f7db10d01e441935f473d80fb0f29149afe24802327db01fbfcf6800581e02422939c4476605a4f115606f155809c973c925a8377a960c7202fca12c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03be06f3196e0df1de8758181f041bdc072ef9a9247baffd57b0e17f112f421ddb00581e02c8d3399966045baaf47840fd4c9f889317118e2854843b51fb97ddbfd64906cc3fc319690dd74f0219c05003b5f923dbba75e10e83b37572922b1bc7b54ee703cefc398f31edbc9bc84e77bb039d1145fec49e5befa95213b080b5cdd5608ba300e2e37de0f25a00d7b59caea7034141eb526baf1364f2bce53cb3bc4e021391595a5161c2f5f6def4a0632834c7032f8cf29a0bae2c30e02f385e5f16176780aec9b3af91fdfa92546d1442904e36038ef88cf73ca49655de7f73766af7c49e351b908b01d21b187da33b8f8b746ae70323d6ab2f2c682d08bcdb627b18ff5168f8bb07ffc6bdcb0fce99a80a90d285010399a8e724b1ab2e0d13d8c8becb763a0e80a35d810c8fd80319a87dd6675361a803dfe381eda02aa5f2f7e7284ca20f67b3d0f0ba3cb2d6145d1ae74b94f25a19c5038c04f579c946cf25c295e7d20a0fe70bf45a138d9cde066e7f7927f7a25b613700581f0377ae8e1ea077d39aaeb6c91860621d07a9b04684fa43072d3f90b370730041010396f3e0eb49abb09792edb71fd518c327c79ff78d89f25d46dafdacc02f3782590369d4debb1b269a77833cc70a4cc30dc20e116b45d2ccd4a704abf5555c86355b035479eb1c5412064f23662d1bdab53e1c7f49a1762cb116d3adb016e2cab47e4700581f034936d0e95de9880b296d70ceb5535526ba3236d98d6342c557ee5fbf87b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff03015d5ac72086d810578c5ccb676e280c6c1d752117e57bb01fcbb46f2e9e2d6a03bd05156e9424319a8a08e337e25ab7f5a51e030a879d645bbcc861e384d572c7031ccf94398247786fdeb4630ad72678a17a170fc0673750b4e48e9246bf121e1703cc2be874fac1b3991fbecf794a4ad4622a70af0a65c27f3fd67b0240f9fc42b303b8d6d03d96bc6cc863bed7057a75e3fea98380309527b7f5b968627bdc3fca370307377247da36f97ec6d3d07cca49f79bf8eed13d9a5be079589fdb01db3da60a0369af144e5a136a80b07445ca6d424526f4ea8545eebf8594f6015c14b0a1581d03b999cd2419ffe9ee541d3bfd16486049d212931a653c5e8df50422c43842408c03c90ca7b9ee25ad6b95400797c23e350b4adcd3f5ae640bf3be70e58fa13e71a003598c46f3a672a4f26de06adfe79460491ecb52cf5098965fb06602e9a589b90003c14dc15f7d7f18a329e4b5c15c92dd222dc5e6042ec5493d0f0c6ebebd55353c038e15130d975cdd90ec417cfdb55fe387c5d828b62216bb3f1f0462460862a4de038108b34ae7ec5f8e18132d251b7b041b833cf42cd9b7cdb52d45cfe9df962f1e0219ffff03f61e6ffff655bb7be1d5cb106480489a1f8a69ac33ec5185a0e1b136ff3210540321ae0906aee2a54ebf95035d1919b5aa5b754d1dfd50b5236e547341953d545c03d6f7d366d4d3266e1a90b8d69a9d00c117469cacb5b13b525d850762c5875c44037199ae1bb65b05cca3f0cd5105a2061b9b2b59da77df0f0d941772b0bd486016038afef2a9a607d216919737542714904d8ea9407b48ed9905b8f242039c39fb30035dd9503aec3a171054d090492d76c005f5a93eef601780f21b423f54a86038e6037c346a0b7c9b95adc62c11f18ec559c80cc8c6c4434bfd5310101dda722d55ce034051cad0f5b4ddffa182709c3ed0069fa1d294b9e8ce7b8b69b9334d430fea7f036a23bd2354275f7299a82aed905c7a91ac2c1b9d0d803e1484f63e1d948c675303104d72041d9b24f0378526fb630fb42c493e2e33d118d29dbcdeefc7c6f8452903a92ce9ec7275d1f236e5890f1564fb4e7ef0cb2edd471d105bed6a867778dd450219ffff03a51e910f0c2ab05029c8ec86be94f6f8e896c7a796f1b5465496d633ab0a038b03f44ac45e7cdd915ae1220436062dc54a92c57e3c4bf9f55fbb59fb6ecc476d6c03fb613cce81bc869cc9f93698b45417638631eb49c4aa111c00ed3a48618f175003dcc3b88a625631e5a913c4c44363e80c5d7e4384989884d8c6a23ba76489f17003adffdb233cee44a2657291b6a8cb6ca7d6ad79334a467ec583597cedf71672d903899228d3c220c8a3ebe8d80198c28f33423a1e3bdb004fc6593aab5a60470032034f22bc6857c71d57ee567bde2ebab46f2dc7ee9195b145fdc57cded2da63e10403399385056dbced68bd567c068260d4420f4d7164295f5b720ab22a30ca7241d9038e5da6a771d357d1ceb26c078ca2e0834e89cd9b7a25adb1fd9984ff2bc8cd5503fc79a11f2004a82f4350c940fcb80f2575bcd37a31fcdd4bad1ad97a21803dfc0389a58039a68ef137ef525703cd005002c11a93a0d762d8226d90f48b3e881ece0355b02f023248681d560b0ff2c9254adcf744b3c978394e6bfc03920714a11b6303ab6b42e483f09cbc47cad16b85032418a19005b3c356635f62d3712489011d640302f01a82961420c21e02ff4533fb60620eae1a250b9c1c4888755dbba5e1ffb2032150e95e84b7e88ef595e28127ac8ebe7667b35da7bed838d8a87b99251d725b03600c7c683ce3f8febfa93c5cd6aa8cc28a617c008646df11e1ff19990b7d4fa103bec93699a04b4231bfa48f371de5da459544c578bdc9dca2a76d5eb9730bee2f037fc5b1645cadf037492783a30a41ed0ddb21d2e4da9cfca869f18ba8806c543a03bc66132d2c8353e293dc3665b788d274b17feb6bd03b5e95e05f2e45892f5ebe03d571cfbe3563f078b60e04a3d0c20fabec9a4f016d5be81540b0722e916a70a4039cfec2f5490293c8264886c5150f6d35cfced21afb8b1661a8c3f13eca6c01d8036d9e14eecf6083a25a131fa98ae2a3facd5af132d63a2748ccb01401359654a103cafe73cefa802de690ffe7c7a193dc4d13499eb63ff62cbd43e50eb27f2079b903c62ce3b16d3569ed949e27f15a516897252b2b29cf12e537be16164c1b4227ec03e35d50c9e43246abe532e298cae48e5dc90d266efc0a95ae8988f2b803db4c3600581e0224d573d7fe92881742a72c3351bc488174277cda0dbd5fb81069bd7c7e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023656f4c6448c9cde58a2787caa779f5c34e6ca805b7cf3f4d489b6c2e3478e1bc9bf04000100581e0207d45f9aa4074a7c03300f8bd6a41a21487443d6b23a00bf936e203ff15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02341ef006f7c5f199b2e329b917c2629c55767ea182c2d22281bed046545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ecfab107ea1d143271995c4b10e31aa80f4ff057f0b3d104fa32ef66425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ce858010b7c61d221d16c771441c1cd63c7389e99995db33c70ae0d5595820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219944a03d201396c67197a300f7dfa29c7360fb27de4ff34cca457c970226caf512cabfb0305b68475ffe5f1d73c14370c1ef64c382e85afd7eb9b98f93db30d337efcb4d103d3f58ff1e37de4ed69d52f5b6833e449ac0e0dfd5292678a937095946a22ba3f031c856473810c939362d206ad4a0107c72d30258c3145ac4ac21b101a3b6d33a90344df22b6fafb9d67e14492921fca0d8900448bf1ed23896c776585d3424efceb033189cd276ca0421742e7138ac34a0f1720f41483957ace2dc0fce97598e8e9a9034e2ed0fd6d15606843dc1a455f87f9357fefec11405c39bc4f36aafe924667dd03f19a5505c890e5857128a5cf49cfb6dfee91f1b66064355adb5bbf04523ef3c60306c30f0f11becd8ea3a517287cc71897f9df3e2168fe4feda3ff8f08cf728630032ab2e3c52752148c4b242f3e49dab806e00f51d5877450ecd80940e456a3ae1b039a7a8c137168a33d1d7ec2ffce9dba65de9489dedda1bfa7d005273fb1c3e0e903eb05985b261fab1ffcb68d4111d8a5f9cbd78347a2113eaddf5affeda998ab8f03d8181518e71c213db22395d43e83a409d3770986347b2f468dbaf86229dab3080219ffff03233eb5a4e002def1cafe5265cce6b2e1e530e268a972e8b26af292b4914b58b403e77f75f2545d0ec231d4999f029efd5c901afb4e16814175742adb3ba3897b46033eca222363b6519acce84629aaa652df24b7052ac5d45d13dd7e3fde869d9b270391f67aa2098b73d5776f46e7ba64598af9c5aa9828af6a3ea4db7f07b211951f037a4a18e0f2859084f111b3fd80bf781b87c648f0cc9b6b89884fa393672cf01703e06ea7ba507915f7a13ddeb075dd17ad8509b1c01837c1f05f653a0bc2bafc45037999386733184ee2d8639909a42ba9be63afca780315c616550816d6ab44ca3b031b50178df219e6429bd048066e35126bac0b86054b9044d87068c827dee0150f034784e09e1569a1893b5dbc7806dfe033a4374aab528c29e658b45226943dd89b0219ffff0219ffff0363e5346e376be8027316ddf5fafc4e12b4082a7c78283212de3d99396ff0501c03eb26a6a089a19953b526b2b948c26ed10406fd7f84b3018d984c1d66bf94f7cc03ed02d40843d5100a7546e507f40960bc344942f312a09bb4f96fe355e37667c5034bf5b8a84b0fd40106a6f1f5aa7bdf18c6df2a1a1df3c200e3f669af8001559b030a1a330075cbc24c24484aaef86d9406e9cf2245cc0438bb65272d84442d1ecd03dae12acbb3dbca2aaa887f482078d0bbed2e18b55d829b08377442c380a4f0cc036bf7ffda6d7e0070a97e9e54a442d9f08f8547050ef6e8c382b05c59f3f8a6ff03f479b6e21d5ca713628021981e951b4f90ab5a33bdd8b935579b78e4fcccc9ca03ca48882306cc798fe00e0f090edfd1b9922325159a0b94f49ee01b9cb83cfd7e038b580b1f09984fe36b1568bc237af021caef11e294f66b937c0b9091a45fa0d7036b20bb4b2a5fa61f274b3da4f44c5e1c84d03106bb2358c7b2c238e8ec8ed54003cf19126cbf7bacdffd228d56629098947a1e9ab22d00669c47d3992449db5e32039c9523b44baf1778313a63e801c592440721ebe8fab767435461b49896853d96035420c0bc8a7e3a2d431edc17e7762ad74e0ba77555ff610e62b1227a6a060119035521440cfa50fc0e353a6c28c4529a9fe55b648fbc3232b1c74d4ed779787dcb0371509cbf4233be5be6408c3ca9e7cdee7799cc1caef061ee14e8d28480b857c703abcf244c89f3708d9f29887c5ef623285bae85d5dad66bcfd561cd2a0124bee603954cb10c0822cfb31bb6418ffada1e6f8e3f8ede6a486652d2530e8fb00fd223034d4daff26bc5d637aa698347e14e4fe7dfc87fd460f278663185a4ce791c4a400359b67bfe6a0110e7cb645d3078754c6b68c6d710deae874cc07e50d97079025603ac8947bdc2fd742a3b4fe1bb0d108c65188dd70349bd8e17d7917a6aa6a6d2e303382e055de82eb09e2539a5401c55a5264a1bdc024c0435d5e4ff26950ada327b033512683e8bdf9021a1bf4d1ec00b8863c23f58fb95a2feb96dd3cffd9fd940820362bd43f421c3620d5123ccf43256929d398c455f47e5d48a3bbec705c095bce001410900581e026fd27a3243153005b4c3b9fa9977312636d2ce98cb41e34a5bba7b394a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0337761bc756fa39dadde1c1c4f4ea8e8fe2e93a5a446f792ca90ce17eccf41ea300581e02a35509a98f4d021cc75ef00e331b423a10e4df40561cd9969de86e808647038d7ea4c6800000581e02c83f293ebe8a482be7c72a27c9b2351638d53551fee9f8e29bced7f81c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ab10a9575a8218ba4201ed6f344036d3904f82cc0b2dbc005795e7711a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198149031e60b22646d3034fd81f17d1ea06dc71696997d2dde5b05cce2ef2253cb09af703c166bf9b5525f036d6a13c3527dad75a04c79638256eab4daccffd0164a8273603ddb938a34c3895c17bb17a269f04474a284ff44b31ec6a216ff973cccb1a53ff03a7072b13a194dbc31c1aad6fbc62133036e457860e7d3c28ae30bc5b2f7b733303c00a3053d3b239083ac76f807347e788b46b4f6c21a425cb27439aec30a26ffb03c0faff797ed2d7b237d3ef95269da843b779cbc725bdd6f2ecdd4234b5ce88ed03c2a3db3fce9e9726909bd0547af564c4951f55003a19407896b2c4c8294dd3f40219fffd0375cc2912332fd1ade9c1a23a2ad30799aa137117b7467ef55b79db0806a8c54a0333048259370d13ba8a23673c8cefcab514d1d2ba7a107ea2ed2ee4261a34c45b030ff63f62ffc5fa89036f8facaf2ca039984718c3208c0a163693b42ba4a429530388557cf92c93324dd5224d9e48bb381e92d22563a448323988a2eed716cee8fc03090962237d1643dc0573d2bbc975285754ffa26ad9d711868db822b9314f41d60330d87f28187e89247d04db3d9957803f024ec8e15f1119bce92c67e89d735c09036464643ddc34dd8c0b6b87a6c7a51bf176b8633ed02732cb8b8cff223882a74303d1c80709e6ab7bafb058c46b651ed5eb122112b5e22f5b0dde46f20886e902f8039fe1832d5441d6d5ef11f9e1dedc9d9e686f94ff1b961dda12440f6d79c4f64703d08d35bf43dca489948a86c9d14a950f9641d41e0022d3d6ef3ed02c410f347f038e1546045f2508ead4186233601ac82902bb623aee5d8b2468826b926a67ed9f03640709a8fb07a86f04d788c0e3ca6e2a41f32966dab52823e0830777b5e13ec503a8d218e47b31187a1a8b69719cb26af184040215b96dd765a6478cd73d51ec580335a836f91f117e142a8625f7c4bf4ff31b1ab22ba12cdd4d87813e5b4bd2f99c03b926a2c4f01b7504bf5c6276c660ceacf07ea9c6ccb39abf50fcfd55ecf62f7c0219ffff0219ffff030f41b115e20e9a5864995fb013933b48ca6509f8c8815b251c1ded21791aae0a03926c8e9625a604799533693f09da15a7e147ceac3a82545abd13d355a9f169ac036ed597a59bc4269b17ef49858d936da4ca59cbbaf993bf9acbdfeb74b7576da503805da74208e080dbde42dbb34c512cd1844cd241e7e78059102943d75b6c4c5103b9bea4d7f614742865e3518b6ef79537c06ffa72e24a69011c7a107350ba8bf803f9858775496a799ff524319219798459a8c7fc937cab7ea4ad93b383ae8e8f7003b64a46b780d84109d20022f07a60f319ed601125812e74b9de1cbec33b0f5fc303cc7000c58e0ed8ebb317250de2c77e339e3e0b746a6eeb963924f44efd8e97f403f813dd037dc4d1b6bef0e9413ec72235f1cd048bd5812b93c181b10e2fd6f81a0347815d03fa00b57bfcffd51fc63d5079ad7f42cf3ccf20a40c5e074e5b1ed14803b86a3a69130db219984022ffa5e0c3918c9464978f75a879d4e801cb1c60887c03088222676460398ddf39f1a1a4cb866641a1a4d3cd064df4d1c7b34673954f1e0377df9a948358c12229ff3267b8b19f85cd63fd0c1a53cec5fea2d7d907c0e7c6034fae6a490b56c15f5ddac7e1d26abe0d01c65d2fc545d64216f971eb9378cde203c608f8bdd9d83052b2274b53cac8ac959fa68a9f4ab32dc58d03ff8a06febe1803aed03434da47fcb77386be79de1883df2045af576008b63cafcc34a37c7956ee03f4c2a711f974fcfe6824b41fcf506a72c77564d15fd9256b97ddd310e654b060033dade5612fce0e40fa31e85d9f2cb22ec8ec878d9df43d08af6325bb8ae3b26500581e02bea036edf427dbe7c32542e66c1807e082ae790ebd7fcab2e7c7e047985820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c38f9addb6ac6a3e0146fde6f335536bbf168f391a5c2939b03fb532745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b7d48f06a38dd3d6785e0e135f5fc03f6820fac7ad31db8a02675f08524903235900a6207aa94c0219020303a280661a2b27214327ffa15252a2b5ac60734f17403563973c2871534237bb530349958c305d6f5d0a3059a646b9856e7483225b5a415f1ff9b0a3b578e77ff73e034b9327f9d65d594f41c94c3ff5d3bd6056f65a722a18e05774fb13d1909198ad0344f05390644575a90d27fa4b88d6cc02afc601cf52ed6fc7c11bbc57acc5b1300329f975466d247e1feaacb98b070ad6218a7564af3297a5bf4db0e2d459b343f9038c0ff0ec2e3dd28e3b5f5ed9d6ef102044e868b048dbaa8b0cbd97d213c8557f03992192f5b1627d1ebe0c0c76d8583eb150cada96e5c3942a77cac7f2c8bbfecd03eb87916cc0f37a09e9b204657ba8c82f2fc593494e0085a4af66b3add080b25803eeb68a51ca76b4919ab6953338beeb592082da31194730fb944eb2d367bcfd1303b2996b08e60edd3ce6de258e336620035a7cfb08e1c050e62137a2659175aec50219ffed03fa0b283054e6294ce3cb3cde9f8b882f4ff4829021ad24bdf0881fffc1d5bb62035e2ef4d3ee7ab3c55c5c38cfec6470dec289bc24d19ddcdccc0b27e47e57f59203f09ea4d96f257c1d99b766349e36a768e7bce4e9b76e5224149c929321a4772103f46b698794b17facc296cbb5aeca8dcbd52e4fc3151c24f406b74483ad38499203891be657f608e5dcd63f021b38e7b3a7b66dc787dba4021ef79d10a4476db2d8039664eefc6cf095cef6bd9b6c6b72cb876385e6818790c11231b76bab169077bf03223d2f63bab43742c2d417438d12d8e9a15f51cb784b686bca60603a4d0bb9a30379e18be26ad793c121da195272dce3a5715e21a84f8355731d76affd5645708f03cb4cd20f8a9cacf647fefc00f0e2650e0c9b4a60bd6d8d4ad192a9029adc356d03a72e8b5df7e836e6c724556e5632766c43a080050bd4fe10c0fee6c2d21eb36403f97f0d16c094b04afb18299ef274ce02f2ffa231efd4934b8af4f1f9daa869a503be57edba422e9191eda6b149729562e20899225eac6a93162a84cee39fb2ea0003c73dbcdde6e463dceecdfd31e151834fb34ad67791ec1506422db65d55795f0403d21a99f5e19882f39f7111588391517c589ddaeb84aa9583ada4e9ae16023f4a0368967ffee4055cfaf76b76ef44cfacb6558f6b3236ae30809f28b9a8508219100219ffff03b823f0e49cc71fc8cedbdf6cdfe467f27f745af8c2ab468388adf7d4068152d10219ffff0381f978f3bee8ddb0d1b49ef7c2cf125050b061250c3c2fd63ab54ef12959170b032862de6f9e0a50ea9d6f1a40d4db2fb86ecfae454bcb7f3166889dfe6c7b3b7703f4ced3f11103aab5cd672c02bb72fa797b8b02e5e1f9f0cb54f08652a0b7fb4f0310fc31991ecb14a038418605684024fadbafc1375cad114f9f4805bc8561e9bb038d418fb71f4c6b7f34c19e57de0abc1636e0924913d6d42a3968f2d3f209718f03f513945df40f8a2074c87cb778c1732f56009151a9cccd397aaed0424669c839030829e3463bacb4058ac338ba428a6504f929d5050e3b80f9496d8e2e3190b812038e1a3361cfd9a8a469563bb71ee3e9f7e45c6d6c9893159037b15a1758f707ff03f5a3a074a6885ea6de93849363d024d3247eba19a845c98766c44822d29fc31d0315ce5a37003cfe2f6e58bbb98a9846baf85a7cc81d32515481458a7be2825f2b0371edcc0b258a83310c6fe83d050ec85520681e16edacaa1f2ed638fa0e2a76a9034d3bd92ae9c8093a3b555c9b3b3bb2b6cb66fde626120aeb950a21ad8c2afbb10391f11743cae59321f36d3fbf898a6007da6003d1014842cf61e9c08cc3567d6d03ec5d6f96941f14c192ed6e2f47629b248b9c6befddec5e1d6d7ec7767d387392034cc5601b474331881951e98471e2522d62740c2aebee6e449ccd14031f85cd3e032060c90b99fde31c8e9c32e295461a39156004dc131d7a1f0a1a930856ef0bba03b7b618df4bc76e15dd4dfe6a21653a0f9df3a86d44c2bb9cc385a3a88570350c03c5f10665f5fcbf4ffce547ee63c04cca434eb7ea8a10a87a5017f4f64f8eb64103a00a53cbd55b1ab4cebfb238a265d3bbf94a286033c1fe040f38fdae52cadace032e856a0e5291d345f8ab35f327f00567873a57ec8ae33808903c1f7da7ad88a90398af3af786d967aaa5c19775ca3d4a2b117e0ab3c3734cb14872800a19443faf03b088f161c9d494171b5f2c49c00a51a21ed1c646af61d51b73f0a0cd6d7dcc3803566aa22239293cfeca9ef874c0cf0ceb6a5dc970bf71c6e16662baec2c6aef0d038a2fdc3df49a39a0f16a062f6baa0f6311847536ef89484a531767bac3363d8a00581e0211b679387464f042102eb85fd9bef4dad946b2f09a7ac88ff472150f425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cf5b8a0ab7155801860edb64f643dadf79aad782b81a1510d7041882554826279366ed2101fb00581e0200a044c1335e4f95ffe526eb70a39a5f2740935ce7effa32c4da00d5b55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d152a5afe58179b1878a56e4238fb53f90a578baa7896a8ca77cc1ccec47c52cf4b908c00000581e02648f445f9a4804688b68a2d02bccbf4b3e83a20b8f4b9cbf501cf225c65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a5b98c7ceb2f3e0ee30e462a430646cf7661d36d60ed9131ec37cadb60493635a626d36edf00000219253203fcaf560fbd482792d4fe6403e23d53271f5bb30106101ee23b6ad2bb0cb0ec9903d308dfa9efb7c2abfc610de13534f7c7b74c4dbcbb115fc7b7f4c6b39c4e94bb0219ffff03445f14411027eddf05db86f91c18b6136acbd8367381998ca1b85c02a9123ff6037cfd3437d0628f92e9591fb931a13772195e40d7c23b86ee007e7a5b8b45d029037409805bfa4a4733edb9cb6fde031f66a7859db1b48762e6dca6a95b1dc1ec8a0370566199af1c5cdd643c6ee9529c732a623f2f13ec5ac2478a8b2f86ff17c3950393aa5c8de3f967af22325aeff74e42f91975dea8015a88490489771fc93a4dfe03bdc179324e788741f183ffff6d237790c68f93ff7a16105bf6a209680a751c00039ee0a26ec2c6a68bf237831f432bf84e40194e23fe33e81154ce4610adcdf7170219ffff037f262c309543b9606af1efbf004353d009f09d7ff02f378c843e839bfeb3e5a403ad39c3732e4f6ce72ee13cd72bc0149c619aa5dfd4418c74c1641bf63380c66f0356d35191bd23ac4be70777d7bc6ea055d16873fcc8779e465c911419d7ba207203f72398da856859c369d4ac57ef3703367f059808b9b9f1e9ae948ddfa823ee6e030e81a7de2c68dbbb99a1690cb710b785f6d161de7715ae79db559303569360730349039b7a5e2816099c97641cdaba58fd43597423e9f591ade90ec23d39d415ec03d0db9af6a5713275d4c749731dcf10f8b8d9a58b6685a732fcc587420e221cd0039093ba13bd5d77e710fc2f45f9cd0c34d4174baa3c561b43eb454e8ecbf57d920312b3f0f87805bce2fb7b83fc8841568637bedda9dab3b39a9201c09ebef60c4d0301fb1af4af9325b1919b6fc3f2a078c31afaf13549e1bf84571cf761abb3f851033c6a26f5e3f26641a8f3ea8bf47b955bbd4d75725aa4b139ac5616e85a87b7aa0369655aca40ff1e83288a17501106bf1208c0ac6d6bb6dde80aa9cd65ffe4f9a90393ca56c3e22ff001f06296ff59245d97cfba022e03d8270c4257ebacc3f7dc380219ffff0219ffff03f0e12b20fe26e7cc5c592380492979697df91d09598f619ff3ba0fd1ed79b6c603088c3a73ee21550ef76075342cd7a180588ed63fc70178e3794d2875d550a8410362b04af45016c970fd686618b7d2417430796b1ab7451b1beb3adc4b42bca06b0350cb4c617c7d1c06edcb2dcb233a30cfe069969d712b33b594262e6bf0bdc66b03a87854503309ae023f1b16c4dfa6004f5cc71da2b3d1e825fba63627528aa57603b71ca4030cf1f3687be87815132dd2b6c6f0cd817549b5342bdc157b4a1d146e0396081381b254b96a19e0145b44d06a18bf96de9a16486d0cb96cf8ab300f5df1032d2799eabd9fa02fb849778003a129ee116d5ae6e8233a0e1d32505dc1ddb41e03fc6d8918df4e4caf8adff445099aff73c359e079f7f404db3804b5f6f1d1a64603b8b94dfa9bbd3c7ef07f6c604a1732afec013f501239155eba01de2a1bac140603b300b39692370ca67b2d508da2d3c8734eda45bfa566b970bf83c24b52fb7b8200581e02857cce08c663c4b566cb624ed8465aaa43a6829c5d385696eac1ba1ec25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02001ba58aca587e5115aaf3ad7cc007018ff8061fbd30a715b71ef8959c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024ea07105559d27a7c0a085be03577d0b3be26521e7977b65a6a1e730765820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c93de13262b30376bdeff424384505a1328e1f2f1ef28ebe40b171ee13491f9a82ea1b9b6569400219380403d9b6194cbb3dbfa73ed15831691a9c34108d87d288277a25d14ef581e56e43bf0312ae8a6ec23cfe12fb64c0445d566e763cf7e5a5ed89fcd52d51dc61d3b76e3f0345e0abb791a9203ea0ad1f00a6448bd2ff06de439bf15095873b93a7a4b48fc003c87edc3b1e07399a45c4e89c9ecaecb87bf107a408dfe5ec144c2d83a640fe1c035477fcaa74ad4fff48dc5bb8c188f99e6878c9172617b6966e333a8aab9886d10358727b9aaed8c8de68b1483c2beefe7d50a67e12cb7dc93ca895afeb0cbcd1b2037e7a985719c623fc3a905ad796e22f46fe4ee91cc5c613f602b918df074add4a03aa8e8a88a2f23c7599b721afa69aa7064d96827bf6994cb36ce1acbb58c8ae7703a304a13714ed4c6c39ca2b649e1491da3ea0f09b9f069b06425707ef114e128003bbbe9f5fb48a04275c333683e1e2c859d52f17e0a4c8fa11f07060b47febab7902197fff03ac3d33b159eefb180a4564c6720a716f0aaf7384be82ed4181946039b0a744e40322b3cbe735f11de203eaa8e5450976e7b0686325f783d3d1b53bc60c61ffb1e703b4969e6ecbaaa3ced39513d9463cc882bc1bd8fd0075aa0bee98540bfa7a264803c1451b36258d36bf295844f215f7cbbdfaa8c4859ddd495b2c5ffd220c7667f4038f5270e5c8aec55cdd9bbcbdd94d5da6dafe9c531c9dc61a48f093047c51840f03a422f52880fae4653d700c510fc4415d4a1f7b90567d0a928e1b97c1b671b1b20388c851ead339ce23ce7eec4d03370d995ae35a0a67cfb164c4714cf3eeb59749039bb6322e1b4d63f7645df66db681efd0d3aaaaeab2c5aebfb8e9514fea7fa683039b961fdef049c6669f9e5ee353fcaac3dc5727d5eab684b61cb362d2401fab9b0328bf7ee78220b8993e411eff96bb1b685b4e64f61e799df9bc6abfce71977a2b038cb09606e6787ae075ac1c5b8e13802653ac1fdedfd35e57e63b7126a036a84f03f93a9a0a6c70a01a3790a4f91ec479c23958635db813d1a73184419531210b290342fd1f6e6316edc856f9a70b75d72158e711e7c05f21128a9bc4b08d07f6f911035b6f5a3e42ee17101f2ba39e8618d0488e7d20b8509e45241ab13d33c46647e70219ffff030785392b458a73af0ff965fd7062e36bd9ce87cadcd4aa08d029b2463560113a0367a05f6d916a935e88c021893aa1c353f69b4e30f7f17e383336a112dac0968003c3597551c74938ac08e031015d66793d6b368589af0f04f87cc61a6dce81826d03ecccb5c1991e6e6d343942b4dd9bc575f4a4fe55e09d3aaf316625b5501e19a303cafe8f0c3f61b5db4e3ad43e7eacc4afaf7c66341cd5b93425dac30ef4d1cdeb03ac8356949772bef473846a73378bb7c81794ded94f874eed868009fac2da5de803edabe838f63fa6ae41157d9267c09f980dddfbc98c836772a60dd2295f175f94033560fbc24b4f2b194876f614bc912c29d4beb2d0a4accfcf4a256a66a684ffc2030de02cf8eca565af6bf5b31fcaf983a9210ded080e40e561fa52364a397f56c603010ff76de0befb3e7f6b9272000f88893957a21f8ce308fd32da14f81e62b24f03f2326605303cd4993c5ada7352b431a399769d803e14defe8762cfe36717729c035d771d57878a9ca2093f951640efd6e3bd608a76760236745f8020cb60b99e4c03ae39ddec21e2d9708b616874f63d1be5b2592ff71cd91b4bfda60b2acf22507a034de9a9e3dd8ebc4e986f6ea1522637680067b334b4e4e631b88d849eb2585a8b03815a5fb5d2eb032e517c32acc97c01f91d0f3b0d9ac0d14641b5d867fcd257240324977b5d97f4d814bcea802a5fd8befab2b72698548d08654ad003abb3b157b9030f9a8dfe57315b16e1ad825245cfdb7d62eba3c4a6aa65de9c639bfdc36d28c503c3e9e5f4d84c2b9ba4bbad3f9dd6999f0980369ad50e5da8c00c0b01a958d9f0038c08d092c97b11d68396801e458106a43a9a283488317537f1ce7476965aea2f03aa23e66cd4ecb38816b09dba5cdce17ed633dd49d20d668edd9d1c54a808449a03706048ddd30890ad13a02b2bdca09a4f2e3129a4cf991d0f5710f8087b6100ab038bb72c1e458c33a393d72c251b24f0022e349ffd2a75c8c2a0a08bff6a7bfd26031eebe0f2ac42a41136bdf04c5874bcfcaed763a0efdb3c071b8278daf00817a5014105039c4a01f37d946ddf8180cbbf8fc4e37a1e37641c84b4f29167241819d673f45403e64516977cfb9f30fdf0ce2988870d225318f5cbd79eebc98ed5e442e51dbe4700581e02814eecff79e9a186113ccf66e1cbcbac35773548ecb89a3f2071de07e75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fe083a8bcfd067bae5c9c442d525a1fc34aa7e0882c8db22d7d0c6430f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027a9e9eb92a2cb605262a8f0a0ed206c49f27c66bc3ffb21c6e1f79a5b147213750ee68785600581e0254918a982f17719faa27a2093b0accbfa73116893d34ac729e872599e25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030f3065dffa5066295c9f404caaccdf4b135013b40cae477dca0c1ba7c5fa1baf00581e02b170a969dce49224191765c1cd64d7a08757626621610bff49eec0846f490cfb146678bf1cd45b02191ab000581f03ffcb545384301f88ae0049b75e7d762127147c25ba4280b62f00585429f042373f03f9bee9a6a2ae7aa42aa0c32fe41bec53e9f9d1bc76f84b4017913fd4866f5dbb03cb72a525673977f58aa89a93770ca49506ed69c090f56de2dccfd1f5f4664bb00219ffff03fabd265fecc391ddb6e712f0195f11cfdec9c815e535f31e3091beb9aa33b45e03aa532fb85fc4b8376a570c885ed233b3826b220a95c8ee9fd0ac531f174fba6903cbf85b29696d8b725eadd29b1b2120075b6f0ae36e3ea72c026fe035028370040219ffff03f644e062fadec9a69c0810123dd0232455be1ef99eaccb2a975a592ec758190c038f0ce6c3306fc925fe1bfdaae7c3760d17a11e30fca68fd4daf53d677546bb470381937d1eccc35c311796ad4890281a1034dbad1ed7cc350bb938942e344225ea03d06705d124f20afdfda6210ecbc9df419360a8e68ebde9a0557182f6f193be9003e8239ae787834cedc942f5660ab270ca7f20abac056a4a877b284e625d815ca503897909898526b1e7416f3846fee11a2dc548ae20b51c4a8a03c7d14504ad1b6603177d1027ff684be59dda8e08a7521541a1827a6a445a936c16025964662785540305811f9b819cf6e3f8225fb98ce2c1409588a0e82c612380d97ce7641dac1d350300dcce9ae2e8aa5fc5d6a1f7e2e2b56fb232bdbde6ebad9dfc58862a671458500219ffff035a4e4187755d7f35d273073467d4c3204b54685cc5d2160c82c4fd298793fe7203f293e17320cde28e99cfb3f4117c92098218f25fd46235c5ecc2f49bd4a55b84035bef23d6b0b0c43aa7759bf575c08d7fa88c805e00d9cd266272b6bcf0433eb503c32bc0e4e4fa7bbff6820d09c78d4dc1ebe494a7eaa49ff5f782d7c2ec650127032f28e8eae60663264c5ace6fbe797b0c13c1f6a19b2cf330f3250b90679b46b903ab69a00c96f8c886c78bafd46216c3d20e4cfa761c7d9365cc45c5f01bc7307c03e2879b8c303403a375c8eb656f1403d556fd1e1de519f88e20ffdac8894097c3039a4a10aea5894fac7734bd1837e90f8dc75cbbc82371d04fe69319053b90050203629681ad4746962bd5523e353fe0a0bc50ea596d84d5a8e725de4d48f2c617d503c0d04e2a7a29ea295fa8e2dc2078b88606f6e441e355c9f4ead26b64052511f603a030a6409f3e6c162c42874226853247e72c1e911cd44b970eb3be365e9df24203f6b9b925ade9781442bb4672705cb761543a81a912fa9a83fe4d55b9b0592cbb03d8eec285a582960ae2de3a99788d485585934b37941ab9b55c89957507d44e5903e5a9b0dfc5ee5d0b8a423d211cb4b9614293fb31033baf6e3b87805bca8614d103ec20275c11dc3e09cacdff8b32664feccd2580317abdbc8c2cc169d62608198a03f84a2ff0a33155b4368400e3143904cb937b223629bac9bace8e58dab09b56980355611f488f440fd9f3d91e6d61bd7c00c62b4db8fc91e47e8f5591534ac3641f0366f7e1e2ed3c3314458f8e9cfc4ea9f6c26366262d08421b1a07191147620fc90318ebbc69511498094b6b583c982a8d6afdfa4ac52862d61410310c101666a37500581e02a90bf1455cef9cd3a5f5277832edb7f723a4d8d332dfef3f835f7a3d3747232bff5f46c00000581e02f5e2edcf2a9068f2bd9f143ae5f14472909b179d99bf28eccae653543d4704d5611af151d100581e027f914e72979688b4e75e115624529513f0dcae7f3a66b520a27722dbed481bc16d674ec8000000581e020881ec3e6c9823fee29944aee02103b35936083e7e50fe25d135d43c3b4902741d5e3b220cec4700581e02718f3d9ac00db049ce6430db3b55865fb17202bf0ef8c7292f09170afb4714febfc4de7f6a00581e02cdb4defcaa6fc6fbbb2e3fb078ce2a73c57332970f174d48a446d370b55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219985203199aac6e6a18f8bf7a036765e871d7c0e0390417cb86c6aa434d2eba4e947dd7030451434238f87374fbd0d655f181c203519746ab458531bd62e6593015df537c0373418ef8ea8ae33f498a779ac70180582cc4274173c880c1ef9758e895838fd803551205707896c50b36fc72b22feb082f96f40f45126e521c81a6f68fe7aec3130396f9db134f3cde2342fa27bb9049ef56324756ca097807dc5ce20a21806137660353206c8a8bd15ce3d077b01ad4f6d98e975ad3d82fe8dec17cc3fe7c23d5ac14039156d8c2141d2e6d206987f7ba1977f90a504c8b8344752ec392883bf29a7f7b03f226e0309016e1bd9e2a927e93a5d658b17c1ad529e80a0f74e0e51d368723980219ffff03135a445c51f16b119d51a9ac40e3786daace9b43bf801e60be2565d52e729dbc032b19d8e3c5c747306378c9ffe3ef872d9133d8c72829afee2209d4f5463675b803adc20bb519497a1e7a44fa736f8157c3cfeb126e77cf9b0a95fe1a9da5d5a522038114782d0398f9bc5e3b777b269053ed593fcaf9a04e305cc627c509bd0a558e039888a29294046aac2e27658e40b29c486871c39e044aa5268102aebd561ad7710219ffff031a02f6849ebdabdaac1930ba109e3774ea1d88ae22d00457c51ce71674ea20130387c29f727371969b4bb66c85b6ae3c54b4fbd841aa07bf8b9fd1d4f8ac96188b039d79064c9029a054b41c2adfa93aef3ecfce81fabb63100c4d3ab8dc260ee012032e4e0633518fcf60601a1883d31213c9043c584e6732abb46578fd42eb48be3e034fbefe01b8b2499364d6fef47cfcc3210e2f89634054261820b3762e472907af031fe4f3eccd619cf9609c21634f3778ec342eba686f938ea53dc2ba2b4d50268f03395e816df0bdb4a35691b549579483fe3b813dc1a1a9bf93e15b328bcdfd83bb03cbcc29406f9bbcdd93be632ff3434ab51faec22b81d063dcc585e20d8a7cfe3b0347c6cc50562a0049c83811017cbcb2639c8bbf19344b4a360fc0aad69a51d2f2034e130febabfc33f7dfb9a1e31d1413b3c0ad298fe5349220f85726792977691003da89620a187d25619af348b3b418431b1b79b55cb6caab6a80a811c48b0030f0033faa386328e20954b9bb0161a37c8507bf0e94e7d5219824ead86555615f0cab03129c645223327c0f82a3a3fa82bdbd462808d76b71f4f6110fe86abfa504b1f40219ffff03cb6b259f23bdc64cae0d039c8f0cf60c40b6d34b0cbe1ff1c3858b3beec3cd5303f2ff72a6b8c7b787044927b0d7c52213b09a6ee8fac491c52fd81a98c9de41090360f0175d5ed833ae78bae2dc28be93596029d9296af63797d19b495cac856bda03f52dd77542f926a5e16dd0dd6159b767cf7858499cddeaaba5228e4951f1996403a7c0955419cc6248fae7f7a597801794f3904a489120410e1dbeea5382ed94700397ea30fa928dd28a0525513d17e0f5618c1703fde1be6769e24e2992ebd09b220314eeeef7a1bbf9c7497a72f1ac1eaa713ddbfabd329cf5d092ca82a609dade06031c714d1e537bccb91146ef172f7d344edf6bbc45d2274f6b4bd3f36706ae3d6503238df2d331e8f48073f405bae6bbfd8f908e9765912da4b3391d840bf9bd5a5b03366e7f3cfc1665acd163d38389b4337e2a6a95aa1b5f2a3e82f45dab2ce1833f0342809855afa4b07a2d60783d83b478609ea2486ae353e64d145cbd89ba8710970319977f76912a8b87837b27c93beed31ec201ea2d0f23abbfe8638c6ee8ecf66703942dd3ee94b6f8ee230909f5b15cb253853ddf60d1b2454f15bd0acb1b6ab8a60356beef057b031f9d080e9e8e3dc5132ff75a173bcd28b1f126b2e9d0014fc2ae03c3b357662b9a2f68dccf5847c22e1d9eacd996a3e652aa456a1555ef1322eb6c030084babec65d302bb566bed91104546585cb799a178fa33488b34895029caba30308282e226b5860f010e6d07888740d84593386bf762a5122a8053b5fe7eabb2f03fae2bf7a45a62bfb6b73a1696e2c1875ad15a044e2c0f9eac4de5c6bc808b70303fc7e3ef1cfde6a680dc08f851710255b4bd910ced4c9571612364209a4b5b35801410f03c04151e22172a02f3994ddf2adf7ac75f363a4530f5e4ce2284c0bc24c7855bc03fd8616a39ffab29ed12fea6ec318c723e2f3fe975c2ffcefb5091484ef123a390356a91a12d2c3161686015921d6740560520db69ee0c8975b32aa0429875efa1500581e02b9c899cbc8d27e98f25813a5f3a94d25566496a4363b9d2796a5d5f1ac5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0248d06926f3536b2f78aa61f4c65e4a1ac60560c237fc1946e4edbe69225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0264d3d3d247e215ffac0b4523255de41efa0d9b367ff2a2d74d4c0ddb924602583b5c8aec00581e02d5ea7fbbc0a0b29210188deebf2a0870d3315d08fbc4d700ed556c9398472386f26fc100000219201303df9dec1696fcd71c498e7e965bd196ffaed8434f189f18d7daac08511841167100581f03e091a2b4b63fd2e06b9f9a632b6eca438156a3b57d8df78f45d074fd74f04641097079d91c00581f0327f6ea78e840c909d2cca44a3f98f1680170fe43d0882128eee3116a26605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bc607a5416f84d99e8d263a3a8276d681514a33f26ad3007eac795620794cf1b03c6df7523717d317c72556a25f20ad9dc8e149544244a4e05095aa9e3161cd7dc03af73a8342aa41dbf7afce758326a3351f5844e5ab7bce8152a196023bea0735e034c41f1af52adc6cd3d97e1fc122fcae6730923d821b91c0ffc318f5cdea0df010219ffef031a4b3bbd3a010b89f315319a3d1dafe4996a2042c82101048767eb36b1f25adb03e09d46bcf7d9d67489382ac05672769ec0923fc76745e088eb646960f60ec974033df2ac579e9979ba47453117013c327699e201d2d07f29439add69647784746f035f2069e9e49dd9ba8b7ae6a250aae435721da42d1f9824fb68f2939d0692f8b903ae4703482f7c55078ab2049e463925b867a6438a7453b80caf240f24c590a5930371bfe6178d19cd6d8b1b7ac2dbe5d5a129999ca55e0b36c6564aa6bc40ac912d03576065fe41aaad51f62645114d720d3b137523b4599b8110d559ca9bb477f472039bc70b06ebffe41b889b6e36368e496dce03d899fd0b64485fe80c09203f91000312e3d86d5c521510d09ea9f1f4cbcbac7bd72a2260861eaf5b6f5d2b645e76e4038c82ff92a4385c7e88a90c103512a93b17db78de91d55ac6243e8d94b57394ec03e4950becdf875ace3f51181ffa7517b5852fa16d017c983cedd55b590545c09d0306e0b830e1c93b37ee0a5262b9b44da04fc9a8b28793f417e324a3391f6f9e9c037cda776ffa5f826792b982c6cd80b7ead4a6574f86babbfb7b6b0098d3d83f8c03d8fb287bee6c9fc51f6d28196e202405a1541a9cf12566c9641ff8d44ce6425e0219ffff03bc2ad2b3f7a51d2a1b5f5a186e2267f6542830b84725c76266202ef26e90b2e903c710331f880a100ecec423e2c4aeae765a2fd9da01d9edfc9d52be130df02f390219ffff03f69589ce6a620ef9d445de879e688ed3ff63526df1306504a7a2aede8d6e4180031c61904cd4789af44c3f73fa841e89d8bc960eaf8bc0917dc30f1cec10c810e9035f0b320d1bcd9e24cbd00cc2583a906ef06af5f32cd6197959e4463156951f9403ab6a6f23ab6088b5632deff1fdeeab49650f89902d0fd7b48daedbb531e22d62036987ec2d876cf4616a037dc658bf53832d5c993c7621d55a9b27b53b9984dd070308ddc9f56c3833eab4cf275826fac42205ababd3ca30b64ef036bb3ae5d9cd0003fbdf8b4eb4341d601233f0a6d2cd68ade8ff6fd16758ad07ddecac6f11d9461603677dfcdf9a48849396036f4075573683a033a69aa19b7fafd53d546af2d2744f03a712312ce4809a00b61a2ae3129ccdc63422575c6414ec94db72b91ae02d4deb03a41a0e1ef0b5dc649c69ef31b4b2e9908b629e5b6a3fb5e769320fafb01a6fc803dc1a7158e2dd83cadd8be2b108985f78ceaf78c21af0c344382c9adde954f0be03d1483509cab3e2edfa32e349d48807ca69e134cdce083f1e599a01a476ea3d6203e01739d79c43cfce10217f458b4cad3b5c979133113df58900706bcfb3e6ee28038d168369c27250b79de960e23b074df5afe8f3183ff0c98bbeaa393ddab8822403d8d93e8bccbc39c94dd4d6507025bd59c448f1c745ccb67241477d7bff1a3f6603f4a904e772b9bd32d351fa572f4c88e3eacf075c61a564f5b3895e57800cfa1903f6fa96898579b28fbd4af66babc68a3c11b320f5ff73a2a954032d2e3d71310003aaff9dbebdb434a0ef8605be6a818eba56663859a1f60d613ffc32d5855c4d6a03dd00baae69ed1181dde732becc8f842605eb15942a15e1293e1c0f39a912052303f1c1a43b684c6ab979b6a157f784bdd2e72d0f417d9be24e83591dc91ee061fa03821e5b5b0bbe9e90e3e95fcce48be66e173986bf55afa85be1f2adf0c8b3d34803cfd8fa4077e635ed43a88374e7b6f46eaacbb32fee14519ddec5cd4eaa3e1bbb00581e02841dd78ef5fe8ca0602e74512d403e1b3598ab241e1ca7366b9fcff73e470fd3cc8479700000581e02cae10bd66567b4fd261596cb6052c8e7dcb8cb67a2ab873ce3508e1e1e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02de021362a711b424a2962abadb0020b5e015eedb5db62eac8a546924e447062449f9a7cc0000581e0393995b6ebf7f83cf1299bae0b17d72c3f47ae6e2a6955dba3d6f1a33b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0362cbe5c2c9bb3d75fad8d5ca282cd09ee797c5371e5783205fe554f3b0490398058bdfc7e13e2c021944000219851003777383faa3feb7c71f626766c77782b14900037ee37e299350d9e53f2687ca4403fcb2cbdff0c1ac0347cdbf61df488379a048e5d7ac0c6218c7bfb0b34785b5b00219ffff032497f8d402028f850c6a391fb5e548dd03f0325c082b0cb0d1e57a34112fb84e038ac23f1e1d7e9a292773d0d45204886505cd98f44b1c456de4f9b9ea0e326c7c037d5a1fdedc119efe2c660aa892de56bfa9093bc1960e3d9fd4e96baece6eaac403974d97f8377268f73a51586f5f1273379412f5f510c91f11350492e963b3824803ef5094c5a026941b59f662fe9c9762b70e3535a68e360e12643e1169dc3b74e8033c18edbcf73ba2a44fb38758e0776ad5eedbf0fd7b38f0834c893bc15c9fc1d903fc6ec2d140453c584f89e9eef55ddbaf7895b5d8c86ed387f8b8972a28c27f4503b735abc3908e73e84457a8a576ea0ebeff33a4992a26117cad94c14fc7b204850366d2e1a130c41a714327daef3eaa3d78a3a5b08deb5f37156b3b31bc59cdc38103fc7a4b577bc6a06595542a9c9a44d538fb2dea70f3af866d3fca7f6b88bf8a9b03994c95b2f24b8e9545c67bcaaccd5895a9458a024c798a45b055071052f01fe6036d7f35fd0495883fbdd3f66b5e0428ecd3b2f8da7273f3d1e4287102ddb1d6010219ffff03b3c7c24f6109db8319ee68bdb130d6d29f6fc3f08d289fcfc1bcc4d95013128803611c989dfb29b19cd5295e3436fe673255e7f6e0bdb6681e477aec96af26c5c203cd93cf883f9dc8f4d5a6de91c1602f66c6c52ea2cbaf38a58da968419ff331a403d6168070e1ebe77aff6ec6f37a30d97dfb1a9af0b5474d3a8ed6e1c59443472c03d7226e78db9fa4eb0fedf29ae0f5848935c460c413d5235d402ee03bb5b6451b03554b8ac9501915d1e27c917d1fe68c214e7948ce28e71c5807a0bdfc2b05226a039d8e2cbe2e950f423e529d9017a95f0632c9cc5b17e5b0dc5e6c348abce2434b0369b26e903ab7f78aa61b6c597da495c0767f92affc74867c424fab14683deb18033274331b72a2c1443593ac067590c916806bb742cfd89b152fa5c329c5c3e435034c0834d42fd98eee7dd35c4e17213886d6616e7677e26a68661e66e69aa0629d0219ffff03b0acbacc56ba3309d9995131fec33d17a6bdcad98242b8c9a99954f23ad88a9803201842cc33ad89434ad266d2e5c6c9469ae7353e46db86aaa04737286bdb34f503f7e19c029a7b22a0e7a7c5f6a75be3695fd04deba42b6ac34f23bda0343da92c03766c98140af3b6ca13c253d5a18ae5b228b1dd7c48e7bb4c3bbf3fd7e06cc3fc0333c135dbed93f7afc555d7b8fff96132c79289291391ee99ec300f245bfb4ccf03fcbf632d41400f14984ec172082e6403073bc319267794d6104ecc3a2400c4ac03aeff92fce79964cc90f6f7228dd05b3b78f713a44e8abcf02dcdb5bed766ae2f038e3caf03e9ff500e9d9b4f3e5f133778c55daf0e5a1c1517b5c5f3e8817e107b0219ffff03f37d3a5dca3421b86fdc9b79d624983b2f30f551d136008ebf59ca42559b6f0d0315175bac87af5de83f09a4d787e493df7d54574d2e42f2060a2089b6c8bebcc003dfbd08fd0205905bc7728bb4cf90a142e8507d3293ec673e720b89b674178e7d03cd774a0035c98198bf34c2b7ba3f8c786d642873f424a989b67d4b9088aab3b903907260701454c2373f40af905f6e0c9a52038861a2cae44fdbbf948c58d4aee4032ecdf2bf0e51ced359b206b06dce6d5fd36f8ba1d81cefe29da2dd7a1a9cfdff03c3ab547121ecdef0cb1c8724984dc7c2e9f4d70c0a3395d77e3b038f13c7edfd03f3f543018d946968f057ef5175298af1b0add873a83f7acf47ed09e6d1c7cacf0369484e0823b160dd4955956e2b515821a0e8a46e3e034872ba8f085ed2e5709e03a43edaf9925b6240a3e72f4f4fcc0d8fd0f0c55b6d61db38cdf01673d993142903a1015b94bae8f6014cd395b9ac0c391215a8d6928f64d9ba4a790e7e3cbfdeff030afa1f3c7a6e38e49d6547bbacd9ed68407b7bee5e267c1941f9cb47f4ccebe503a26f053a00dd9342a626045686fda7e83f0be8d6632270b1d037eef2921966dc0367bca20b044809ec8c9085cf90dde2754ebb0053eeaa099afedbc5989863fee20323a061e0c759ff230d00803972e07c1513c6a4cc05f11531e6c32788b8752a2b00581f0352919be377dfce6e44152a44c5a1b66003f77e59cea598ff4108bf83b8d04745b2f68747b7be037dd7f517712bd299deba4267046d5b964e84506a1dab1e8ece03592b6c3aa263033fd073c49329ffb64d24ffabdf484897d71617764e39973e2583c34efdd5314b03a4f982b4179fa0753f2267ed091b8b4d3129dd0ea118a1a27bfeaa322cd1b6f0038c6922cdb308a76bf064ebbb1b6dbe43dae5d6d46734c933a4fe3a8dbd6d00ae03bfd7d92b5789f635e1ffc81549e8e09696f2895ff5d9585c920acb1456f261640340851d36cda2c43d23824c70bd97de2fdd7684d79fddf66c60e4a6d5bff83cef00581e023c4921b98bcb84323fafeb3716a3c829b3b9d6f7cc023e63190656abb74841278e0cc176efce00581e025b2913caa9dfd21c232d862a9dd14fe85902cf4de5666ff3291fe50ea15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218c000581f031345ae125a57bc5fea3938337e5c11bcc5765750c60ece520a0794ab21605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03061641fae424bdffbae9f7fdfe60106afa32a36b6938383dfd85cf904b4d5ded03497671ab97f090757b42cd171e5a4c715280ed037065184093396dbdf3fcd395034be642b8dfa58135ed0ed1459cd8ad1f25c33a8ec3e0081fe20b5e446ee7091b03f50d39c5f1da45bb11e8309b0d48f2dd7ac6da7245f27335c310e15c6a3bd7c500581f032e3b55f7db508496c4a7fc76b9324aa9d10b881bad3c8781c55baec402e047034bf11ba47ce503be3f76b6fea0584865513e8af38d68ec49aedeab12fd469a75548176a86ce293030dd49753df5443c6af7b5178b6febd94a328ff5ca60b2444eff52a901ac491370219ffff03edfa7329f7aa384f435a45e7aed360f424cd29972af915322887572fe4750d4303801f481bfa49c608581eb13ad39dd53ecb2273b9d5552be6eebd615975be43fe0367613d8ec445e71c0442a5811b554617b2032c3ed922adc348b70eac8af96c0e03f9b98ab2e48cf0decd2a495ce3512f464964cf9249c4871e22128aefd6620827032b21702fd46b98a0623781972e981deb7d36e9d2a397194432851de6153f4b6a03513f89fda632e50e186016adaa45c0da8e41cd3a1ae4f9cf45d83e219732427e038907d88ed290ef052b602002b076a3348e064fb63abfce8e5ccf99d64832393703326acd5e48b806a5f57d7f39daaabec11bceb1e759fdbf797036581332658dea03960cd1fe444e8528d8f35139bdec8648c795ba0cae40361af4c6084a7040d91503c48c7c4cb866ffd6c256323f64a7b5f1198b815eda8c7c50df91c168234a7e6203f41d80fb940d40b320109dabb31f961e878d449c2e42ee071caf699e8ed2818203c249a46a79638748e787bfa69c401f82a64328d60ee5f983fc3491484b8984f703d9092e16e63c5bfe9627574550c1d870147c8d3d5ead031b46d96cf34816e3370369c9496546cae5147edf10ddeb05ca82917c17c3ec6341f70a69315bf26191cb035289e23515e346b222f1ef4af04e2a2a5ea9422bd8a61c1c82b61c87698015370219ffff0219ffff03737cd12a2754ae25bf7565adc3056f3252cfed68f25aa003a9935ddeeee6b39903cfaf00a660921ab2e89f3ffd6215ff8dfa202b86340932060a394156d77c94d7039dc167492f9752539f28fb24db99bcf3c4cbcf9b79aa47962b9c7bdb9a6c32eb036f56080bf08db98923655e928d7ca54fd7b1f9d97dc2c8409897fdbdb94d3de503104ee0641829708d432f2bedf24e833798f8d7cb14f8e3fc4efaad4e4a30192a0386be52eca2dd9dfddd7418d5797d0cbd251902f372589008a1c2be5c530530f303da310bc33407b79dd92003f9ced815674bfe6e003caa61a5aa7d5af50cce818a0309e2a65dbde0d5422c99dec047405c129ac04567a7cb0a26f59f6ee39536e4700340e3326f06cb17444eff5fb59013a7f991b4cb78f6d23a32c090ae84fa2b48ec03c95d07ccc55631e6e6f58d2bac266e05f3b31f5dfeebaad5b44c18ff826c5f1a030f3b41be5f7f09fc7c772aae364c62ebc0eb42496d4fd8675f909f4a652e1ff503cf365b775b3b1063d319c45b9eaa8d93cd40310dda3f05f6bca26ec08b2ffc0f03244bd7a00e4f99b58457fa7a4f8dd20f07978d226f6a3e99f1f92889a521c339035b727a7b9186fa0e3f77497c8937b03bff4ce2f22c8efa4bd280ea23459a0e84036570f57c751837eb379a5f3c7eed4aac0dfeb5ecd126bf98d2e8445000729bf903b0f56498d9d6bad07eec612f9c4f20e41e75beaae40e1278618675d8d051966f03cb8934fa3c238de6872ce62d06010a2cb1dc955beb4e41d9c5d6340b2a9ee45d0366dcd71d513ce6111bd699c7eb56b1b7ed1bcf1580e1995bd19bf8ab5c6dc6c1034298f80ca303c4e6e16639ab2429e856bd7ecc3a29502bbdf54d1b930f8f6b27031fcdc8d23e753d03ac11a593bbd3bb865130247b1633dcf3ee45acbb84dd68d8032308ae76a7d2a73f443ce0796b7b0a41db13154a42b6edb874446005d433894c03be4ca99d9f47d262d83068946e972b7500a6d90e2de301788243f3d7180854fd031b80674ef1de1a00d95b25924d2ec17f5b96b0fef3a441ef9ecc9fb7e5b30f4403275eeeb3ec76ad9249cc702fd591135db2e0cb201af9ab5e10a2e36c4c2f6cfd031b3b7b730b1d4117c9969bc4b1a868ad9d074fc86b8688f16b5f69dfa4d58de50362984ebaa5d3c30712f68a9b9ba9dc4df546b18382196b2a29dccd3b7b2c3ce90340ccad2d146519c8529ed8370d8570af569a93b4366f0791b25e1b9c658fb3b800581e0249d248f06fb3491df2e7481652ab7ce8400897cda6b6d67c33c658fcfe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02431f5862d0435480db6ae3136eda3c58bef7388b729de1e6461788c7465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198004035df8a06c0e0dd11846fa14aa5d72b0c7cb2dc3f8bafc1b74a1ddc730784b2a4403437bf9d287779f7a95dd472018a9bb83aaacf472a2ab18dbc8f477212fbf813a0300a72c16df8132b9c92289ece36dac515c18029a8944b15c4e9abc7b6a6c4256030179371e8ef6ef8f4c96925d74cc26dbfb841044dbcdbebdb01b2d1db810a1100219ffff03cbe48c4d18c826a2badd86f459c24742f56fd00eb572089be8d0ad4985a8cdf9030877909359d8fd1025a5ea836abdbae9fd373655669f5f7d28e37056feff123603324cc1fef2dfa6a8a18070765bcaa3fa0c280bd92f86b98a7c1ba6a07d60dd1a0219ffff03967e11bb4c98cc2098376f1dfc7de8fb6feab7b5c2dad0f1f6676be8202c561c03214f0d262f10145123cd08b1831da8a38c294a90be7a00b5bebce22c24099b7b0350575a8e6788df3440dd0c1650793906bef7ed6b1f0cdeeaad5f1147c3f722a40351adf18f7bfd35e8cddcb10d5d3c1e9b975b7d68e183e632c36439b03570498a03c2028fb3d4d518a4f0220e2802da8feec21291efa2da5b520ecbdcb48e466bee03f046b8190b70b143d93db759891e81ea827549e2ec2a86c84e64a3b0e2729789030f7a4ad82341e5a9561667bd57bb0b111d26087e075f0758a88b3cdec30a1e20039816500da95917ff3f10400c9a0afaf46a8163c2c7e9cff5caad8db08410c22f03081233fbdf9bc293f0c7be2a4c902df3bab6783584ff1664a6feaf0c89af9178032af9825090a673dd6afba83a207dd692fe8a7d6e14d2af4860bbdcd6748c220d03e3bafe6740915525036f234244ed85951d41cd7e59af3cd5122653d71e9dc60d03afd53b2ac0360345f551b4bfc6b0f67e849cc318fa64112b82dc6cfd598eb8e20381d499dc984a1019c6c62a3cb3be68662bc186480d009fa81996823f17e318f80219ffff035e6b84c5880d37f77cc15ff499917971f04637f83575e3598759b38c65901bc20358555f7a317791be5b48ead53a4f4fd835e6246dbdc306ca5ea064d727aa851d03417177c122323b5b9f2c6d53abbb1813531a27abdf14e53c47ddee5b5730249603322c70ca86f939c79abc5fd94e4380cf75c979d1f1f5c1644b929b69188baad7036af2b44016b13a977004c863a229d1880d05554f82b53240f268157c7fa9001403d186fe72ea653c56b94d0de1a9cb43dd56365acec1e2e68590c8cc267b76d635030723fcb280d424adbe4aa20b29327008b2f5409fcfee8f4d5f61f79ba620b9a80380f6331769bc526335a79893a34ee7851bee4afb2e56ff5d14b95a9584f958d303376c2c17ae6cc3566e70b6fefc63ac33104bfe7d69708502702af5dd9f632140034d4d65926b9c5e7bc8c5266b7f5b240097eb8d5a3109f4c835bac3f7aa31b01503c1a301af38db5d9791f3cc4e9584b4dd0be60ad4e852d3585a59e96392eb4a8d03456293fe9e631f76c9dd2916c951a29a399750b2cd0cf6171f1faa4849f6c8c403dc7917f212c053dec5aae4359bcf6eda09f5a9a3705a251127488c0d245f0163039123c44eb5085c0764e7caaa6b83897fc909f6a991b52d256bf04fd3d19943db03da83e9b958220f1367992372d34de3e5ab8b86206e478b73e75dae70432d418f03892802d4ddd62de612acdc6e5bd72d8cda9d91c2ee7008e1fe43efb4fd24dd6203c21b5b1adea24779bbb0df36f3ca123c05db00f771b1e4e43bd083eb4faf6c3803a9a91fdf2d71c3176b541754be3dc1a3c99006bdc86627f6f821eb4ee2a2309203cb4d45c26892c2b42a8cdce66165a50b98dfd0bb33f6d8add70f6b3d47d6927b03a7795d4c6550a4c582266af34745c6ebe4be3124c83c1de99157444e831b2186035d973974098cfae90d325ba6b90f6d0a4fa0352993e20acef034a2716717e46c03d164c83ac614673fc95daeb6e73d5501ad6b0c39be9eb296404d06a3cb970b7e038debd44d62a594deb7e468427a10221973f59dc43821920b95258948d23797f9036796b64ab7afd3a87bc331564fc2d70ea9dc5e3c10a64e352630e314a98579110309af4fef524e3d7d57e3fd9be1edd7f323a936d87ae414d1e975ffac835555610301ec366386782c9d23f7760f3676637a02c54f2278b1dffbc231d51f7b995c2300581f03bba43b9e18b3db5bf2f839d0bda6057a2cead6a6b9e44d21f38165afa0404708e1bc9bf040000359cc2e058dbb576d9581d7186a290245dabdb79aab83581b150c9018b6e91cb200581f03bb96033bb3426168e51ed5fe0e1d4923d070ca20b0a12ff7b88ea49e63e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03943d5bf25fcea24520100a7d0401b5c92be240295f0741cc6dc7ecd6c8bbe0950358aa13443a671631ce268b1fc8493e3000f51563413e9de4bf68d788fdf5d8dc03e8608e6608e6edc986b66a01a7b037e2de862facace32eb5bb2032c784e447db039df7e764861d69a905d1a77a0bd29778862798f77785536db4195a9f38fcc7b603e1aa0c96162ed82fa774b31160a45e7c5fb4c00535b3c52d7e5643206ec29d0b0316e9011bcb88e28326345017fe3ec96981d07a9db7c97b07124f2f01f79fa4bb03102b93b1b6bcb6db1262d4ec2a837cad110d68159d80286fba4ba4d49b1a925a032dfe3e8e25d6387a67b68654f4b295ea9115e3ffc9dffadfcbccf082b877e1ed032971a094df3a3f46bfe1150f21a6b53b0f40f807a8f955e10c5790db40a0c354037a9989d22406cb9887598aa5d2b8ff668a4baa03dc20c4494c976b41a250df1503350a5ef0aed3c7530faf48e89c4edab33849b97d62adb71d5235c8f6af658cd200581e02d1d70ef348686670bfeaa82efb5cacadef4c6d81f60cf28523604d2c504902722b6cf5961639a300581e02d7f96535e86b51fe4f07fdff3b203f05c30cc518d72151bd9772f0bf2f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02552a20d173420b143e9bb9f9d62c7fa6f60f70d6a34d2b9a55d1f61b255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b787b4e67c2b8730b09876fcdd19e9254a15f83638cdb154612b04b0405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c8e1c56ecbbd6db32df3a3cb973d9701f53b71504401a56965dfea84f5488ac7230489e80000021942680219ffdf03e7344b545f1089f11acd7748c98b19a516f821bd49ac2d20e111d0ac86ed173f0219ffff03b1aab758d6bf13bf6f8e026a9147839ceb799b2360ecd75f11fad69eeb2cc9520363d4c6ad003100f4fd27cdd9afe9b2501c7a959cf0437cdc0f4cdcf63494e6c903a10f21158fb02bcccef32a8b1da7aa5c3b224ed84b019d44611b8be48aee16f6039f036c4f97e2f725eaa1145f69ec39ffa89ce99fa3ba443695d2773d10bdeec003eba4b3ccd63f12e8bce4c8effa0e0c65ad48f88180a8587576cc55091549bcc70219ffff0319cef27369d4fb3b9f34588639de3b224c137c4d39be05d3bb29150e5f8f5b8b035dd31800c51261395b9e2bc69b634b0bb5349874a93d09a8cacc02a2ce899a8c0379850bdf891dfb674625dda47b616fb2117351e083661b2a34c3c92caea9314103cefc3c0f1fe132c2d57237bdce26680dfcf1c56e337a349b9d236f3aba8730a203e5311eb458bfbb4b35f826e94b2c3c905e78fc4c7973fa8943d8f6ff75f0e98203f96ca2aed5b5dba8ca6960aef2e3a9e298ccf424540898df1f935baae7c8915403a45ca50991501863edc86d597a71632489ceae8c7883b04c67322ab6161668160397b58a339c721c29ed6fcc8836c3633185848edce51114fb26340b36789ed15f0368220732509bd9adccc9a4fbda3c6aa199a17bf372792464767e8b00509f76a2039bb0ba534ec578208ad2d43738fd20cb7e2376e83769f41aa5a8da4198212f7103275dd14486af45cdddfa35b17dcde78000b856e89ffb53f3e247995d6440c56403a1895b8078726e332eb399eb31fc29b4a92ea58c24313ea237c1cbbc8fab3c9a038e074bcd12bc3136ce12a4fe6f2e04c5b4cd6478d3316a13c36e1bcdc038355103dd100f7439f34ac8e3d0114fece9a862b7d06a41ce3cedb4d1ae5a3074ec8011035b857b84f4f147a066d910ec2e889d83773f7612bef65e4339db927a70c1d3e1036fd87876ddd2dd97e1b55f959c03191e8432953c9861e8f07706e89a33603bf90301e8ad810c6926d817adb427c829795e304daabaa5f6d1bba4ab9bb487f78002034c795de804738ebfa769a3f543c7df875746bab2ecf595cb0adac59cdc4a1c3f03f7cc70a4e712640614589a40b4c1eab493e9a12cba3464dc2a66f335cef9f835037287163ba3c8140318cffab8992a0c138556f1443867b54041e0d87c770fc1fe03cd814a324b5bc97b1d3c681a16821a7c9b554d0da739524d1809bfbfde17f46303ae3f41e33e383203d54b57f587b42f6c6a6d1a97f6778106839d3abdb82dd8bf03a05fa958ba44bfacfa6cabfe7b192a9a6247727a429c50a7c7cce6ab03e8593f03d917690be003aa0d20d7bc21faacc7154f32ebbb2f35570f2d123c478d1b46120380036b548b6de3910a2ff11dc4a4f920808ba1f5d05270788cea6512839f5fcc00581e02362ef9935ee328a6f8fb8c342a9faec05eda8662b2916280ef27e305af472386f26fc1000000581e033fd29d4cb741c37d4f0816e3741a0ced5a5d831b75e5f91a6fd7fac4405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03420abe18823621c8bbf44f8a6ee8f28db97fc6ad0d5dbf8a5a81adf420470c6f3b40b6c0000219800803a9af530b054dc0087a43b851f6cdcb347341fef8658ff1d913033a5fb3300b0102192024037e018e4a10775413b3ee9cf4c8c5184bdb4a8a5adac45cf7b0303b9d258008cf035679efad44b0bdae082dfb8f73644901683520981c21c77cd7116ae19d7be1d003e0993976ef11d27841381e134dbd18e09f7f2229af8f9f9fbafddac6e34075e1032fee4f12e79fc813af1df7bc146ab9adf4550f170ae767ad611f3332af1fbda2039697252fb2efc35d31a83b87513097fa741cd00b3e5d2cd517073541fce8b12700581f032dbe1dbf3ec70b89a5471bbefd1c9b71a601789b0c0c68e658422580ae10472386f26fc1000003552f4537794fa5010c17e45190eca4377f31393abf3909b5cc210a0c93db75d603eb1a6b3131d81307b0a0cc9629df51e49ae662a4c4bcdfffcb4cec947af892e40219fff7030b279f550ca882c700a194aa990fccfc40a8b290f8561f82e8df2a3bb4db90d403f54a6992fc6cbc5149cd80e74b9db9b369bb90b4a549e3abdce7e8ebf731d90303e12949c7bc5b1e2f53df7e2c69546a21f7b2f0e5a4f2ce20913f02f046025407035452ecf2100eeffd23083840d6245d5b3d48d7e9148dd2c0c6a8fbab22d35d89039e6293be2b34f4b5bc1448b69cb9e0d162be0072278a9bb325f0a9bd8910dc310383cd3c3ec13afde3e38e1f79d193f3dfc437c7df87641691b75a37f7775a8a06037765f666e4799b851ff4287205c5836c8fa3ab73d5475a7c6df945447d749ebf0336b92f51e880665022366b3df85b40527f1faf637e605067eed4e38721c5f26503c35a7ac0795d1ddca3598db0851b1171b44e2ce3f8c34e53e434a5983da1274f036d3f8a430c94ee3a89f8ea10f88e85d25ada13ff5f68a4346aecdace7e9327b7032a69052c5086250cd93bd7d53d5820c68a2465e830f0675c71d4d2c5e1d4dc5c0354ca5a8aab2f1533703c801796bc82dfb95f3ab545c9192acfc5b62660fd106503f7e36dfbec3a3e27cb10fbf4cc031c6a000141fa8c26924e35ecf078399cab2d0219ffff03c9e10c895cf187d95c01a664de4b489666dd4fbf31daf52b148f542f131184810342c34f645e5f75a1e31d731562353d38e054a72da06f2a40b0b2673146c04b570363b5c32cdcd36baa89124088ded6c71cc5c7b1b50befed535bfbada974a6ab6b03e564a9d7cd9320815086746308e67b88436852c67098b27b1fbbba1e9df7229f03a22ed593bcaab8d013eb37d5a304dfa43ebedad59e36a9c9829327a655c31b8e0219ffff03fd6a903965fd9cfd5df51b382a2a47920c55ca60fa681b9304fe9c790a04d7b30219ffff03a7fbd81b0ee525a66243203e55e4f789de7a026fd0c0eee57be64227b383f9cd03e4f811b2baf0b9989a34c9d1552166cb820d892fb87e1a48fa483b51c2e3598b03d2db52acce802a923bd590e052e1ea3381122ed607bbb59fce6ce0e967f1438b03018f2142c21e6e0092386b58a090b56474ce69e1b3963584cf21cb2c3afb99d20328a681969d33c1d341882e01075fbdc9ed72a73c5ec4ef09fe7b9aca9befdfb203363a7196ab7235560b0c7f5fa51f2ae5ffdb11f2b83f30bceaa98e2d42fb7b3c03a25f542344ba2eedc6ba537fda7bef7047fa6aa24606fbac6c6c32830d2e4da50359ffb842edca1d56761ef2ab9a36266b6246da581439b893b8ac16197f576e9c03183d56fee2f2ea9b9b51a68f7947289241ddd445bf6c00874bb7a3bd59490bbd03b9e9d3c59d51b4f91e68af19845cf9a0ed26c23411ee9d7b4b8394ff18dcb12a03ae702438879374b911df43121566533d77fc9c185d3fe3e6acee85558d14db170358ec515685ffb279404cf3b4adf9ec5eaceedbaa719f7d6bf1ad75351b04a6fa03420e3cbcf02b271d141e175a7bfad82ddee2734eceae72f661dea5a6b17508af03015e5a072752f6c0b4b0edae6088a4954dc243a7e489c9426330e8843098451b03c137913b386bb107cc30da4e530a18671a21d943dd9e44820e8c1caea30d1d40033ad32c5d7f6361a00b154ea1881d69493331f661c117fba48946cc288ceb28e4030b06bd1934470e8b49466dc3fdadd2a784c3c0fc705a86afe3e62d1e79d816d503ac5da8e37b614302dfebbe5629e7c391489fa8592a33f8d26ec769387ee19b8203c2d150a519197a130c267651533a49532807cfc053d1f1405b2729955cae548e031bc500fe1c2a11e3f7f79ac9f1a65610683ad5f45606e4eeeae099e11c28abff00581e02187adb6ee053c31755cbea29b42d32f8c646ff1d14f8ce3341e1cc3f895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022de61d19a33462d286092f0aac0723f26243404dc123a002ddea0b6bb65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0255d530429ce4f641c4b2bef4967e1d0bb44d166bd76235f13ec24d4a7a49011fb5b38ccaa9d7bd00581e022a9b81a0a5db022a54c7df54225db766e14a9fe6ede41f2c93b4a71ea35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024f94a108c7e6ccc82bdcdda7018b7a3a56d819188f31b6294e880e4ca65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219083a03e483818baa41f653f890346b011fc799348b34f1a7add14b891f20945239bf5c03eac9c049b1c25efa37b692abbc2c1756526c1173bd63ee3e04e500bb3ef635d003739c207ff1b3d4afa036bd0722084f784cd07650f394a549217e6ee0eafc775603b90c38cafb7522ac5690972177404992d1123d19501c10fab39d4f1bc3d8bb4803c665c9e2d0dc87f1cb4beda5f9a28136deea7ec6a0f2261348499de84c8ac82800581f03821c74ed4f537fb790a602324c754b8a05cfdb1838f4dc3ce8759c291c10414603fd7df92ce4f3bc4e376968c378f2609bd344f24dd7d9707199de473b19dca07a03316a7ed7bd2a278dcb5827272ba571dbcffed08429c62338b647cdd1a760f8da03b9654f5c23e318d6c61b126ad238a0709a8dc1f2fec17b0a54acf708a53e4b8503dd38cd323eed6f870e238d3d589a34388a5ae36291d48af4702bd17f3c9b9361036949b1fbfbf92f6c46c13987eca314f8417fb8d67256d52c8de2b39a7f9eb0180301bfc9cc0ca09b6d8beef186ccefc3aacfe3a4cf2ed3248ddca53a8aa586e7d90219ffff039b350ceac7ff2dfe666d82ca8277b1af203b5808dd2a8d16701512b71f2f7b470392ef300f6e74ab2ac80d8b53de51d4a22f8003b63091de05772346b7d36d0a3c03759ba434af047fdf6c4abb638d4923747e2a7c1b1292272ea01191f0567e71a803db9638aea3de2623d9d362e6ba2ab092d7995d3e00d5fed47e345d8b723555ed0339eb3ec2c2307bce7305ae2b54b70a968ad8e41a36bf294e75626d90c5c915010219ffff03330f47e62eb8a26af1e2d41d5931c00c0b03e07e4136d683d3dd9a0741335d450391703ed72e25b45937a5656abb3e2fe5a54641e21cac500791247e4009f6eb9f038c10f9c743a344be1999518b3a62591becadfa9b38d429a29b059ba36ac5beef036a803073aaaa1e2e61f966aff908281e574020e08cef6aa6b81137f01586fef003d069242d7c6cf5ba51c4bc5518070037559ed21c139b174b32d39b7d0a33eeb303a2500e0a458758a69cd0e5d98b9216952700d46698652700e561d8ff2196885e03fc2ab3801e66b0f1727e396e2c88c8fd86da7a0e9b8ca993078b88b43b982d4c036797e167ddc43dc6b77b366d470f11a8c59d29ac70c61d6ce2ef2b7f09fcd26d03c75729e0b00f82e7a213decfbbc38c9de4f0cce03c82daa650a8c74d09bd74c603771488d04549f3bdd4883808b2b71d9fb878a160684d405e92024994274d5dfa031501cf3d101b33537995578a3a4eb4860b977169445096e8b7f62c14442d9fd4034efd80366c51c852bd9a43471341ad2dd8d79fea45a0833aa4b050857cff9287036ddde0a9fc485aece02183c93bbd7ed848abcf7eec88cf1c0358cfad7be2ee8603eac960184ec954d385d05d9b576593603fc0db73e0b324fcc2a29354325b596b00581f03e41a9646f74932855c06eac925c6544ee728912d7161ebe906699dd818b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0317d4e3289b717a093c7fc26c3eb0dd9d0eaea01fa04481a483689c0bf807880303271821812c2b5d58e08266ea9ad5455fa031a4b93941a65d0200bc973a926c2a037e8878fcf8513db5b56f7aa91cb29e9fdcbba3ede98a0d79bc3d1fa8caae5266031d5ea7b97c4fcd87b0c6e6880af614d79fe570c260651c57a8b1b05e1ff872a90374b7e58b9df2d27ef6545b883d9a48aae555de8f299a1ff1dc615666a6052b8903f98a3922a713c5e508fa5e250b0f99216c60bf8556e98a82b4d512b131c830d903414ef837b2d586954285e9ee6e4cbd498f1ee271bb3e521cb4f3eb9138ee70f1031d9898b4e2dbeed7264c7d1af072e7bcfefed6a12f8d7bc3be444531aad68d3400581f034fdb7c9bcd017005c1caee074a67cfbea1422de7ae8a8bdb2646b0f0eaa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035facf32f52f459204a4364eb680d0e6ad8b8d264256cd1cc2722630ed14abd2100581e021cf51e60d81e205dc91a04799ea615cdf6cfac55fc51513b52b71dbc8649089a4166bcec85708600581e02c1f1cd065d178e77668883cb4d4159b519cd502e9ba09c53cd6e5d4e7a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e4a739c6bbf01720a798ac48edd2db83473302e4f542bc428d578c8866474fc7c4d3c0424200581e020638b9b2f51cd2bb090f683a96e8388a6bcdcda1cda1cc64fd77a18558476a94d74f430000021960120219ffff03ed097fb02e9ec7510465349c5eae769733943265a6aea0be5837b3ec2b8415a70325e0d5d93a3fabcf71c59360e512649c7786646f2530e5281f5825ee955dfb4303a20c4495c4117d510c52225c074f37642e2058624de3763e82a7cda7716045500336aeee7d0fa49a25e606c49eeb461107d9788edb371b2cd70a7aae434a9c3eb5032126a8c1fc904f160550ee2e4339b1aa711b873bd99fd0f65d63c236de45f36903d70922ba2ab8db9384464df29cd4ff2771c06abcde8d095ccabe126177923c5c036669488d5155d710e448bdc29a5af2a2eb972a8695fd895b43e85f9dc3656f080219ffff03b7523a3fe3de36e873b2e7c4e275129ee1500eeefd4df11e5e880143df6b13be03eb9fc06676623817092853cbf2368462d3971362f7feef4bb3174aa70fd876ed03eccabcb168ad5796286e30f6c3f2ecb9a95e8e4bdacb43d8d332131f71d76f630326e83e5fb1dc1094d501a337dbc312f639bdbdbb0ae919677bd50b7ff816b0a4033acc14438147644d8eb6510039482ea036817760b90fb2f578db2d0a59cded5b03f8d54d577c85394eb5fcfcc19c1c7aca5e18fe83c12348704b5ca06437601f5903b38c410432aa23525941a2ccc2dc13f151b3a8febba00f4e5994dbc3146b473803fea186fd0321f251afbeccd2f50a2dfd04e3f644a9a36f9fc4963b0a0577303f0353c26288dc93be4cfd90825d3d5dab08c5eb1b9efdf8ee1c7c5bb1d6cad992a10219ffff03824a73454f95edccb8b313c5721ba3b441f1175957a0a33ed6fa413aaaaf89d103ea50ead460c69255c53342e430d53ba58e5b0aae4f44263c68121f14d63b25bf03072131ee64bb7553e9f9494cdf232d79498427a467b9deb755989c22047481d20313efd52da8e56d929c88ca9a3201d4f015dd30fa3eeefcd285837eeae343fcf303e420293700241bfc46d5cda58366bd1449e351a9ad50cfd6f39cb4e3069c14420325788c0609ede5058fb22e1b6febd6854af321646b8b8be6bb3aef380f41ff9203f9d63209a7d6b2a05924ac21b0d8b91cdb78e9b6a45f4341d48e885eefb5659303d1d5d0e786182824de2efefaae60dc6e335e2fccc8062209338be7b7674f920b03ba488b7c011b443299aaf45fb2754622f1442a99581428224ae0bb824957ccb3039321339e747e63c49f57844cb35344ce9b7c50d872dd63e66950df67866f24d003df6de206dc8612b6c263457814ecd0c04c2c5daea5271b5bb56ab57c8917e6b60350b81a49e07c6c4009c697086c10932caa284b0de4847546afa682f1ed43f6d80381a44b65e779fdb8a7ac0dd366830af0b6821ab62326240c972de78e1e7de3c0030f3df1a670b8ae328487460bf097ec4fc76a84528ea311d71ac6afb4194161b703d328ec9ab17df279bf558f1f7264ebc807a088fdd634632677b13b09c90fc41503df5cd4b5f8d4b967d8e92aa5e83fa67550c204abdbc3c4f8efdf5798fc2baff7033614dc32aba324adbb5e3d9df53bcd5521aa5bbc0cfc22b72856e5b639412ca40324b3e11df4c702c457d4b73805ad5d46a18c423373cb32c7731fc7a2b19510b803bd3743a6410f8d26136dc3f76198f5cacfd44a91f9363600006c18c048eb59e603ffbf5dcc22cc756e28603c518d39aa522ecfbca9ca9e996b080bfa6124cc4ce3037b6cb6bc3c69f1002f5c77a0128cfd40701240859c835bdfad8db4e66c961db103e24b452bac8b952ee6c21807fcbd8c2b51e8a662e9dae9f3549e3c23929d65e103eeb45c1779d6d2802b3f0b5d84c17f17da485ea7a29f471d7093f1f3b37290e80322c05adb214ac8381dd1e55c8bffc0723fa00f816a2e90c54c807ad1757eedab03fc375833e811facf96c39b968c5ab463525d707b6af0337987e5a8c72bed9d0903655e36253383d37ae2996daa1e0360f991dd43022dc6047ac3dbc701c603466803b21c5a789e6b24efcc67b91575aa9e5d2e92eead4e807cd8979ee656a03fe59203370f1ead08e6dc1cb82f0489fbe4a7a7f0b63b33ea508fc993c5ca2a564ec5d203c9c53fd10d86df54268f8b27a37a7f92fe19521f3c559221e5b22c99ddbba98203a5ebed7d5d86dfea2750278f2f3c141a26a6628c6617acdfd4e752ee9bcc9098031c65211296dd7da384f45f75cffe4582f61d049785c172edfde51ae5e8e0b21100581e020cb439b5a21ad3415cedd0f0bad2b4a84af01eac3c2f57429474b0402e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c03aeacbb387ef37bb9f69b50c2f688410fc24c20768c6a6a5f1ce9aa34748d4a431e5400000581e026a481cd31f649fab2fa0e7a232ee2d71fb59a4e68e3da58ecda9ad6eb947028ae9bf06bae000581e0223a26c615ffceeb66af39eb57f151d8f3f23c38d3fde3fa733c2e1d023488124eeddeceea54400581e02209092e9f0165f62163f8c8c78ef8e97fe04b1ff5df080f63323cc3f695820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021980b4035982fc5614512290c24dcfc726cebc9535fdc5ce6ca00312db30829e4b2e75f203575f9736a9f14d9dc03d4da98a9a3c8e3e8be4208dae6a5eb737950dfab823c503d7d64c4fc0f6f8c1d74349099d3f7163f4c09f80a8106361c2168b48d25db53b03a9b543d8e81671f271087513e859b3f9353f3fe155a68b6469bc032fb5b7151c03b78a935041c9604558ca3feb97ee38b872e2adfba13693b99f0c6976819bb6ab039b1c42d0505f6aa6447b2b82a20474b1ac8118e8fc2a48b47df3067a5c3859040219ffff03231a2270debeb50b3d8d5877f5b7fb281abea82cfa409b964185d3462014399d03fe30abef3120abe7683d13a98e7c2b02c94917fe86f593cf3bfc754cb6a2a3c50315a87b665a3c8567e47ba94e736718e08913fbd379053ffc06738ffbb6feac78035fc1a46171b33500e537506c2be6dee7d9d4047daad84dbd62ad74d2c75b5b1403969269f9a941aaf946c1d995763beb9ca212821078cb441290fb24efad39c93403c4569875f884cf49a4118d715dc699f6ba75bd950a443481e5d410a40ee20c37032c08439d6afd5f6fdf33baa2404c53d6cba62c2fbb1544647f0c1472d84d88270219ffff0331d482a3b17cad755c02cd3a9e50647c59c9ee0239f012677578abc868e29e550219ffff035c7636e778cf0c88a8eb2c7ffd3d8e5df70089fb99e34bb9064e7fb4ef22bcc003430f1ac996492900a431ce7b9581051176cb63a39da520866e5dc7123fe7005903ba82ba219d6c203d1c1f44e6271e8aa95423bc83de4c3aa6d2120175b0e57f8903fca40e1e5145326f49b77b67cdd72920faa4e63970c5d5f4d45ae8cca322479b03a744ba6ce029591b9aaf14fe647663ac78f0fd523c046cb29e180be6157d0b0403cbb8953953011c60cfb955e9e1fd73bbdb9b70eb10057aa915ffeb92b850183c03dbf96b16c58a2491b82de960fb7666d8e34337ae44346b726db8f8a57a944257030335218a6fdf567bb95a1dc0cc8e4848a1967771b1824921af3aaabb654dc3460349dc8db12e5ad5a151e8d016ed3c21e75e179766ae51b15b99668abcc5ccf973033f7ff74c25a17f8213977230f9ea42c97075597fd220c424edad7041e0a353100219ffff035f8517b51bf9e71d3cf046357c9d7f93872977c4d8f33ac57776fbf255b8846a03041d9ec4b038cc96460bee3e52ac15f4cab1cb20c3e7a07c413db5878b27a77603ecd52b7094698f91bd93bc29bfa7cb874d5578450de27dc32b5ccfae7fb1a971030815beeb0ffbda634b19f1fe61e6dda334a4fee5c4495e91d844c4efff887fe303e6ac10f29ae71d7df07ce9d00cefaae9a1b29fc19828a45315c05f06cc894da703ebeb672efe77744c62a9ef42a34c85f813b8379b39f89f70584f7405e5eaf07b03ce9c509fd16df697e1b7ba4d0c378180606e9284826ae57e458efd3e9375d730035c799adb7b44ee696dc5b09e5924a53c6d0fb2ab317523d91551e34325393b1f03a12fdb7641a3d6cc881993e9423b814a2701b38e2d232d533d0f599e61a8b792033cd17812024d7825376cb04aae7044bd9091e4cf9743ad31e2e5e601b5e29a6d03848074e1c60f594d0c4661b3915c8d455887cdd0ae10673aec25c76fb4e104eb03d04052b9074440a939b05ac4ca456e16b795655a8d2bb464f65b306eab44b53803cd3f9d3782dd6343fcf9da274c05f5f58155196fae3e6a040ded1e310872c51a0360a985126841bc7b58f00c35e4f8e8538eb74b378a44e3dc34d841313deabe7203af0089648bc541e9a5a840e8c960c4d345ebb8b86d30c1068bd992ea1960cfa3037f5ee858751b6519e0fa36f500c17fe0495c442259f1783e376c3d05985859d50308c19d3f15cf2d023e140dbb3e8b62763481d3d5bc59db86965868349d97df14033165c6b184eec4a2e95f1b27d33bd9b294218de18e65a1df6d03a33fc16d4b730382918c834d2ecafe67f88b47f603f41d6f653ec66c0f0e6772d56b3cab562cbd0328488e9029652791271229bc70f56dd75fee28725df36307c01b00312b0246dd03985fb6c3cc05165c0fc759a1943e9e2913afd98138ad045d69e1b76ade6c2dd103f8c106aba4a17f6b2aa6dbb2814cf4558c3d1043f2b0a61c5ac10372b874859003cb68514ce9b5daa57ec1d88ffb2a1826995f349dfd4573f4fccd7330ababd485030819c49ae82543ed6d32b7bfbabe146a43f37a5a659f3c4ea6b1d74a8cd9dd080306820ff7230fdb583a9c9d0ad9c236300700c674894f73bc2f3a52fb51c4ddd60304e07281f4f26487819d0bd0f7951beb56c6d94a270ce9d91068bc830308018400581e028a5d07213061faf13237155a7a6ce979a2b9dbf0dc7bf47a73d7ec7ec149086ded02dd41701c1200581e02b49afc30cc3a28bc8c8d47a5db5be86b1e15212842ef61354700b031f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020603e777ba851685e6500b4ca2dd58fd23687342a5da1305ce3b17a0b448a78ade82038f0ff36fbe70b120756bb46a6a4ac31c6d4743a3242bd208f459ee06a3e69d87031549de1519003a8a0dc21628526d78963b76cee929581886fa906db7a15a699903e19d41fb18b1e750cf00821a21c0e86864b366739e164ced47a4ae8ecdfe476103e65c47b4b67a645dc46c50b71236e91a6b2f4f9334aefeedfa8e47f613fa9e3b03d3f463d680886c6bfed88dd4fc6289a03641d864f4df3390b774970de52d247f030670411588aa1f60105b39fcf6787ef8db803d24594c2783dd4b840cd12a90d6031199eea12a56f96509aca97a51443bee07e8a589ab4593ee8a13fc5b6faf24aa0341cb0a2da211b105e9f963696c99ce4b8bb2ea06c5902e505410cd59be0a134303b0bf0217dcb455d183ae46ecf3851aac85f9e1df49d4bc514c3e3ab760b772b8030d290904340dc591dbbcd8eca33c6828f92065b3f5475ac2d8c3fb2ffef4c70f032fc832c8c774f42820060f0a6458d30e5e65b8a1526024cc893ace0eb5caca85035846705d1feb963b704f324dd697990c447f9aee6b71fd43617a5f5cdabc60e303d80bfddb6ebb4d43d9884b66837e5822e1d44b7cb5a474ff16b35d3eaddae86e0219ffff03879169269dfc9a4a5cf5e3e38fb9b436f93796ff17399539add5a26d852e0c030219ffff035f2b0015760436d0aa5df141c72171dade6d3db4f4527bd3436029597927bb2203996e4bb1151f969b5452c5b372b5b209a4be36e3306f9b411e90bad6d2d9db7d03341531f25f016aae6f54fad730c2579bc3f54cb0382dd8873eff35538e15705b03ce3d0611e6b996909a856cb9f4b8a15efe96ca95c6c99132bb662859effc1f4703d000541b9bcb3dd48376c71581a188a944c6cdc84fbd56cedcddee013e2ff9a1039b2bcc04ab18e29908f5f3c4b4342ba5b61bfc72fa4800d8bc6388542c5899b0034a5a5c64325f6d010576f937a0fed3412a1ed0b10c4b94733b270f299587d33903855f026280d9b3462139d27ecf0f74699cbc18d2af039b2df25871cdc59be7d203ebcd859c663a1ec4d424b8399aa9db20c11c6c5a16dcbc2133eea7bc4e4943fd036866294a1800d4ea57357c95061f4db4f1ead0449877f85f255fdf3e0f16aa4703630799103d4fdfe5292ae48d12e8a774d277d4f7f063ae66e6c794481950aa9303e4582885f75165611d6f8e384e5b52bd89debeedabf2d07379ef09b295eb457903aa9c3d5190ce22ff07e0fcc818e8ac1120a50fd4ac6cff9a11860bd415b066be0219ffff03300cfaa8dd8c771de472680115f258f552bf96487415b4bdf95679f5abcd523b032d65d28325c236f04cd73b9fc6c3f62a5812a73627701451070de252feacdc4103acd698b1cbca31269af5130524e892b2acf6d0a01cd042b2ef0ba6a17e23cd2003ecf1b8bd86749456cdc7848b93272c4692b4b15a8742419c2e800170a883813803438df84404784cfdd096c05015f05527fd90031d9788e1f5aa7d999f634bd245035e37232dd3347bfeae7386e2a7901966a988d7b6059643a9cd98c552fc03ded6039bc315bed765c633d3e348881255e90d188fc3950fee2ea2b208d9038aec7f4c0342ed611b213b5411c856d763ece177e1b79ec1aa1d0513586394b520ed1b82ae03a512d23dac4663404567137a964dbf44f3c5472dee0044f432c6ee763fc116f603f46d65e0f6af51376455d54ec0987062ef784b19b097c00565ea57bde5253fa603a7942b6d339b76d62447f89ef4602e5b7144022ec8e385194f1397e0acce93e403d30f4fae1c8feb410808ff3e84722243d18a4f0d904250a401ef124a57fc307103abc4eca9e35ed7354906f63080b4530b398ccacec258dd78bdbc404e2597be2b03f9c464cba3d369aeb52a5872545375a52eb1cc0503a4bc2f0076f91451c568f403bc9ad469eccacf86fa6ccca7b99a82d6b0f6d8c4c78032202cc4648464a2548e03933d295597771416abb7178a505af818ced7608ecfdc30de94d1849b529f24d800581e02f77a01a2c788c867d1e5391689cc265abb04789321296231e23760df9b46475be46dd80000581e02e30387218188957777b51cd16ddaedd8778299daf827e4d53b848e77905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c9ffd3d7516d639740aaea0643889297c042e5a4e34c920997e497bff35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027c3a5170aad7e1be0913f92ebc8126bc340a0cce239534dc948436e60a480226abadc42f800002184b00581f03dbde6f5753df398e695c3657cf17af5aa612ead0fda9923732603ebd41b0475588c5200c56aa03cbc5883501348e3d0a228b858bd740096763c302778f104cba1a71eb9c6afda2039ad4f9ae31495a26b0dde459372ca85107f4c7c19c58e03e8cda4906edc77575031547e952a73b29f40f3bba74d213e7119731f29ffb182eb1bccfba8184186f9f0399991a630d70b16e44f45574e6152c449f18f288f9bb6de6dabec9a390cea3f70386d506713815d925c0678001356befd0eba3628315af9f4fb3d83dce14d082b103ba3032d6f18a848bb2a156606d66de736227ae6a8e48e53da3b2f732960bd8db035fec7ca161c8ab7322f844d7159a3c202d08349e88f9ace8c8b743ddd42b14f803dfd263057e1b139eec8b2761dbe1ae21cc4127d1af364db1c1111111c8f4a83b03f8e67dd9024abcdd649fd65778f3d2ff997be4ea0df6e82aa35fbb6163f992db03a7e065f73c5c979b92732d412f44dde9d0947aaf7654390d622c4934237f80a7035bc020f51df069e1365cefc735dbcc50606a2131c6c19962f301d87423f7919003c5a974fb7c7b6cfc2d2364103c86542af41774997ae0ecf13bda5518f96a303c0219fffe03a7455a54457ac9552c95fb0cd741cf3b9cabcea2b08ee3d9816bd834c731bc4803bd2aefa5b9d202bdf4612c167328c85aefd94645ee6b1fdf90eaa09b30bcf3e003bb38e6fa2b26cc2af8a6671c8a8458be2b025a76281b9772ff124b9faf7f144203f95ad15a17a7ae4adc96757a81f636d283c871c100c228c45f4d83298831c83a03912ff6d032e6fe684d18b63a29064b3969714061fad0b2d57149cb11bbda77f70323c34efcc04f5e11f337e950c191f3089b3be28488dbf80f1db542dc466a40770328453dc0b4a0db1eb46001e0f38f178233f5de35a7959cf7e9c8cba0ca05a8a60353426aa538a81461f37d7a601d9e53ed4ee41e556b72f3a4f68e7aaa391db3d603348df2859a5573c7200c24a9197d4e98290c58efa2a62072808dcce66cdde1d90336b6541bcc51af4b3b800784d54d675e5180ec1b6bb1522211607bc592c71e730370ff1eec731f0be96a30d8b17ec3404c434adf9d0036216ecf85f5bdc00e063e032f1d60f9bc9bc43bc232dc483262ed11538575f3586389c512ad2278b5654e460219ffff032c208645168999cae18a04afbcab7e0247edf89689a8c81fa6a217bc5c22aa0d03fe0827aedd2b07634920fb0b29a4eeb78c7ec7500b13fc8941e295911742542703045b9fea0afafa670efeccad7326a9e6e5b54fe071a57f816230f865bf8da0be0372506524bf49e9c5e7280c2e9d4439d1d0a058cfb6e082097274e4804896e42c0219ffff03a25fdaf6286e9d2c6f920a32a559c6e26979fbc9ba52ebe7f0e8cbe9a0d641b303924f41ca0ecfb0950ec4c89ae24d4e20b53dfe61c3a6d894cbe434ea3cf1e1bf0389be93770f46a5665302ced205a0c6930c27409dc4b9f56113ba3284a200b60a034786ffcc2f99c5e235ae554358f660183fc2b74841b00b60cfbb733ea42a0b0803a470e13454227a35d7de5786d719d061c8421bfc4c779c14f6a362cd898e4d40034e5ed4c264cef26ee7b7ab9a9779f0340097770541ee981661682d531b090bc2034db6a60080eb849a9c4e60c381b1a9ca30254453ba440fdd8ef2959b6bda7b9603d821b32159dc501cdd03dac671ba7e81ea96b207b40d7ee36967724f67528b5b03b921f963a62d5cb552e0a53d2f0707c372a08538338ccd2fc85c65f0861543ab03808650629e7350c5d6e710b5791d158017421057ead27e2fd34ea3722899e89f0314fb616466fdf9411d8b5ec555e74d02f0a710838896cc94631a8955801ad15d039c4da09cb5ecc5db68dac2cfa98ba501553e1dd22cb73a74f3ac90641bc4911b0363cfb4769b1d96aa2fbb09802b9eea469fb4c435f6143b1f6a7599577ed7d5ac03215267739ea167910cbd6d9fdbc740e7b3e4a57bc2913da8c7b91684a3c1d4a000581e03859cea934f77cf22077675e81e991e6ad5644628c26a67f82988d7a9e058207ffffffffffffffffffffffffffffffffffffffffffffcea66daef8c857c886900581e0301f0d3681dc47b4952ce89b065f8b9eb20fd89e1699bdfeed3e60719f047c52cf4b908c000021905000341dcf281319eb40afaba00d8295bc9904a15b03455ee6ee9910492934ed2ef0402191240030ac84aab8d645a5208eafa5dfe951ffa6af2f13a7872398e53443f41769bdaf303014e40ada5999c377725b389097e1aaaa4498f3fcca08dbefb1dd3ea9a0b4b5803705dad3cd4ceb6bb30fdcb547bdcae8145089c2b88e44a90948d66b9113b5e20031b6ab9829ac767bad7890d86953121dd1b0dd8689a7aa7c15a9fa6343b74db3a039284137189038c4a7e4d9d25e0987a1613d5057cdd68d416061fe547ad64c0ed03610daa704d9c51f38ebcf2185ffa29aefefcae87157e24e6e19961a277fc725f03906c9c6dd18efb3f862a64b7fb522bd4e534604371563c57773d9dd217d8b1ac0219ffff03e626163bb6b50e3d68f654e09c4500452ab4ceab4ebb4ea9bf4d65a33e13c2f303b846ec27a38973882545eaf8b36ecdeb8518eecf5e6c6af4e4e6087a7f7dbc0403e2b6c674d67105aa89d0a09d0e423ffe0d2ec9eec7147adca0ce099a72b34164031142bd35b8f82b208cd4411ac67187f709d81b93ecad598b084a6b8535ab2e2603dc88857ddc9156422c0c7fc0093e599edcdee9011c3084b61f939fb9eec24f21037cdc1c1eb8695f29e7b5e3d853876cf795ace7b8451357e7cea4d8d94948025e03150c8fda52e21481d02ccee8249cceb55472c0bf03c26f7525ab8f14bd9c4d520399c02a9ee76a371591dd69baa112ea0e19cbb3bba78e296a7a0a7cee70619c97031ff983d4d2777e65d8adc08d0a8a3729ec78da5956fdd399ec079a2ed6d7ee03032f86838f3130d1f3cf39111987ceaa321caa1004b2e70a9cc76827e6f460453c037dbae2e73059ae7a0aa285e65b97ff1f1e703e6780171967598013487f3945c303620b49b04e666cdb6af6bab04f66d2d7e48eb0dace9c56dd16d0ca614601dca8031e54992e71c4b1915fb0fb81a5c174f5d00da3a9c31e103f104d12865d443b1c030c85d765794aff4c28abf7251099698ff9a58825fbfad552464717c5d38708660219ffff0303967dfb6fceca52a06123dc62eb2a5c6091bd4170a3ce27e70cbe2d0783b97a03b7196ac2416c86f478026c44d89af1f11fbd49c9c126cbd212be661037424d19030add170ab12cef88226bdf20cb31983f0b8580683a207174d63d50432e5b371a03cb5340202d2bc2b2943f55a8479a026fff9b82741e89a9cde8638a56b3c3160d032801321b635acbb87a63e735f0d65e2bf25fb5def9c2c64cbdd27947730b4f96032460563f2059ccad2b56a70bbe4d9ebbaf6be7570122d6edd001ff29376bf8aa030f1e4c5f9a4190e8bdb054ba9e3555e38e9a604d6bdc3c520e4da6bf5e0e2dff033a99a0e9099dd75b2ff1c4cb49373902674b5eec3c924dea1e19c6ffeb9ca169035a0bdfc8f359ecdcb564f1704204081ef0a2605d5173a92b729a148b7cd8ba64032753b53f094e67caa8b9a189ed2cb08bb6a93331c2e969d325f9bf5619e6f58003a2a33694f369a882ac4b573fc5e6beff6b66368905e8d83e63279a848e53414d039a303cebdc7ba9dcf79795b56b81b5384e9590aa177a2efbd0c58a7c544d6c5803d817dd22774b111f3b7f4a3a44fb59bb89dc4abf685e611cc24a15966372ff8403059cae1d91d824b9845ad7c5624d47739bbe8dafd3eefc03bfd724438522ce200219ffff0219ffff0307333e1c8c9eda0094998d2c1a07e1ebc50bfa7ee1689b870ca3f24ddcb48da703e1831ea237b231ec3f5f004b86da84f2f32f75fe7804b9fa63d36ad2cb1e5bc50315fc3a852931355095787ae70d0ccc53ed074a3106fbf7d85fdcc9c368cc32730396e3dba252948edec594cb0dd1544035173df4f66e4def015f2fe127c94210fa03a013930983a540ca2bf275b9afc02185b3a055cb42a2e659d4aee8eb4e2bd11e030ab4e695782f5e2679bb1add80010ffcebabad0ae716a7a3a610dace9d288d6a037db8b7f8e076b127f4f178c44aa257d5934a10b438955f76a9eaeba3d1bf895203db517789687234b00a8d230a955daf5d40efdf431be93951d30db63b15c2ca15033dab6f046087752751f34db939e44492c007a74183570fd071586ed397c891be031067eaa638b0ca74fb399b5e10798b69b29f06366316bfa0dac232141ae356d00360a6b222ec0cd1c662e56dd97c282e39061c6fc213402357c0a7c586f6546ef40378f6a384e6ed10810054f97d41e21e286fcf82a07cca11394a71fc27780d43cd03144425c008ab9e86847b09008f1b21101548e5b41664eb19c092bc7134761ecd03e4757e034b63eda51e1be4ae28c18cc2340c1a0cfbaf0e99ab202e3793a8d0ac034b8e8b4912c441550ed0ac57d48eedd692dd1bf47f9f5f5c4a07c9da121256fb03f8a6a1024df9c26b8c4115bc9df6775dabe4f7e924b0fa0cc7b3c7a912b5ecd203be4c2c27e984f4bd28bff34c2a983034b72fdc9fd27fa7699e8adb3b335d0746035a223412da7935a792ce5f53cd6ec9079ddd135a0d6d4d61bbc39dfdbd52a1db00581e02cb93570ece27aebeb9a59f0c0cde4a68b9ca5db6024276633acc68650d479a3f597d48c00000581e0214a912cb63af096c62f242960567e185b08e9c478f2183ad4dbb6300dd4701b63105d3b20800581e02096fcfea4a1434b3db9f62a9f7665c9bd9d48ed4a95272749bdd84c2055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037684d323a804c839c408ada720947c0183cc8222415b8c7d559c9030abb0a0b403fb12924ff50c0ec01bbafe8ece8517c2f872387365b641e334c7967094e7cfc60219d110034dd04c479e4d3cc54197004faec7b276a2be8c10109b2dc27d53f34ebc61992f0321a31d224629551a3597690ed08ec45b8d3717c6d9133b15db8013c7a1988520032b121e150f5213e3d7bfc67fb68547c3753ce6e87f3b88ae64df33974c4f6c20031e77de125fb5d3327d8d99eb82539188e2ef8d3cafe5bede21dd2522ebb63a97034893237ee862bb1545c1092b6d2429a6dfb4182251a5cbf1f3ce22a25ddc0c380325ece8b650300c1e662c0736b05decb90f81df741c23b2c93b1253b0bfb433fe038fac3420d7b5affac395c9fd3e792e6624e67d2eaecb63538024a17ba6a0cb1003ab230589fca458522800093e4db6067aa7134af6faadce648404bd395a3b46a9031176e055ec32963595dcd32fc1f5812af59266cdef22f7bea88a3e934a6622c30219ffff03c961c958ac3698daf427d5acdcf557e2ada0b2b54f387a7d4001214a950b2573031bb76578ccbd91af6ac103936d2cf021e5dd5993d77ae7c88ee2ac8468ae197403a733096917d237526e62b63e99be198e52ac6d4b44d5a6a31203b415228f41680368e4698ea050e77d888815679e852c58efe3caeed94fb66b64ba2fc954c186dd0357b550308734e7f5d0e91fefe2a1de1d37396cd0cb67602c2883a76e61b63e52035086270feb746f8d0a7a47de6c02c1884b8382045be17a0b815bb1f67f580fcf03bdaa809c124ea094853d937588a4ad8c68e5067aed85fb21b0cab0d9c714800f039895a54e27693bcc0a11c350796e24cc09c9a80f31fed0965296cdabed45d07503e7b19762436cd7a4d29fc175c2e2611cb20cb53c92bd02a0915c17b7c7f720e4038c87c62e12f634bc27ae2ad076b805a6c8d879033eadd5cfbb5a1539cc5fe406033ce51f51fbcbd902e25050168cc904dd7647c0f782dd90c2a2cbb1d44294530c03aa0244d84f9fefb42af836f7ebca0abbd46477e6ddd16ca675255a200601d6ae03ce785c93712ef2ac1db11257f6d60cba9240b82a11723e4af2da8ec66ef823c30219ffff03fb82711efad8138bb872a4c92ddc4fba8f22d2b03fc9c40633f3b385c6b44284031947255833165d95709975611858aeb3f888b3e2e48bc4c4644213992ec3750f03137fc0044df8a6270987206045fec6cbbe3007cd6f30b3fe587c668e6a593a6103ac247fec2af7cc0a46d9690828a59d7865b8984e028ef297b8e268ebb716550203319e6b93b33d191dfcdd4860a3c448cd7dcb68526adc147b139d85ab66c6103e032af7cc5dd9c6a26ac705b58c2a39849170d3ac578f631ffc2156fef3213843db03c54cfbf9fcc20b5bb32c3046b6d079abca74a9452c7842a2330278c98c559efb0371f4a42d2abd4cefd2fe151f648f3a756407ac7f6b867735eac9ba3effdd9f33039def0cb1a92889ac00e259881878398931b0cf84bbb6dc8f21566a1cc64b2c1c03fd67b29b539846cbea1677a3e8e4eef303af48bb783438ae5a2638a49d80a83903b502431620cfcf89a425a2acecc72f05139e8a3260fb121303b48a2ef56fc1b50219ffff03876232ee389e23ed3eb58f05131a81faf23a68ee150dc57b753a6f9b6b49bf0f03932297699f22e627267c212ceb5cadadb100e104795ba11a225589fd88eb5a7703e6261133abfcec839591bb9b865f38f6234a092bf68533d2e3da71bbd1ee101e03c2d09b3f7d524d60ea8c553136625b58827f900584da9b30880892fca189afbe03f62d61edbcb24a495dd279fa5b4d5b65b6f36602900e5118346907a5af4dd60c03c784e7b4074c283b749ff2b20fce1939b49e9cec346a56c88f9e4a156528b27c03d7447304abf105bfe6d283e787b46f3a6050af2e0c6ce9d3094ce53121b0b42103e9ba847a5e2b10de5ba0ad13e0727ba3815991fa98cc66fe9a5c936717d2e56303dccdd647c5a8788a178e8d2e0dbbe5439c561adddc006dddfad609087f8e7ad803509019be4565f42da2a420984878bfc5090048ce3ed7e01e3be283cf68e9f9c00349feee18a1806283e420b3345962bd720a9cca5f5b5fee2fe8b4d3693416335f030627333e2b6d99f6eb75352ed4de1d21810a6e50b1ecb4f1d9fecbccd43817d603d0cdadcdf6512e371e5ebe6938a7766d7191da5c0fb8a5fa9bb8d1aabe39f621030bbdb08fac7d4ef428e936c35cd4fb5b5cbfe79678ce26721e43e133160321de034b7b3021259e288efe777deedce0575f9006d969bcb4a91217afac89136f61b7035d075557eab32b879c93832933f695dbdb9b537c6ddbca305a75153f547cc476031363adaef7c898f205301d4e1ddd1b726c282892b174ecf71bdad6832752f84d03a918ea95a8dc991fb598307437e993c9c9506cfc83e9a0db1e539a2605ac557b032cbe045613a74e33a30bfb1e38260070b9cc8a7f8bdd8e0b0f9b075a9749b48c03aebcd95f445d9dcfed8456cf2c60830f9456a7db9d6baaf28873122a39b6256303c65a46dd71b7b613e0ebc6bcd5a189fc9c3b3c7c90f8acd735219e123cded85d034f9b8f8c7b0e937dc57541639201152e03ddf380689814ffe7b2809884951227030341c02b04b3672c52b987cd74d73abe1f9060a592c84ff00eb4cb4bab41e9c6032bcfdd9fd6d088a5f7eaf68a531de11f9e3be3863422e372ba6daac562f8b6d70305bbff648ab7a3a6d9e784693a00cea95d69ae9fcf261d51f1b24ab2247f9a1703d9d036d83f7cd42f0ac1ecde81cf7984aa83a4e04c562f0968f36281e1bd3925030c9e49787ef703d2f282e3df763672240f160f585507fd43c2af8bf15dc5e5be03a18837669451201e2325edd553c4e5485cf956e6cfb9cc78610caadb07d73ba80331e77c7370cf5fad7641031b4b3d72e2f0e59b1529a6edacc8a39f5a23214de1034b595f78527c1cbfdd882a118fa059a7b8a2efbd1bd76ca818655ad416599fef03fbf6d89276d3b3bea55bf36d7ccc8c2e81f676bdd0b5ab0a7e9151c3562c59b303a12cf7fc5b104f553f277b6f92f9536a9080eb5c8119ec7a35f1dc199bcf353d0372f0934713f358095a17b96bc1f921e5a21bf56d952be6aaedf30f8761c6743f03e2d3f094969548f080660a2a4b4eb6d40cb7ca154563035655db10e6f331bef8031ac9b697f7a79d224138d272efe745c94e81ce18f1a7cb7097c4bbc3925c7aa4030a50a62a1ca9aa8484515849167fe51cb3fbdd072bed354ff1373fa62c60683603e4ab558a4a8d1c7bfe775ee27991bf268874540d33d3d828dbf3ca6f425b20810342e93e85c2866659486e8f7f0949e92dee51abf64058b2646c8d730df299a3970340e9a8855877fcebef973edfc4da8c9c580e10d031258fbc6570545b7a179213036774d4b14f33c173fa686f55bcad94c59fb229249e12d85509f70b03d6df4bb403bdec277acc9f936f972765dbddc9a8b6da5e9fde88858c931f2bc5d367feb0d10317d51e70ca4f5bb9e002d51725234b3bd6dfe8b023c4caaae1b239fe1382c046035f5e9556debaf0d907ec0ffb59792154288cd46c48f98fa2d2af462b0c56c6b9039fd9e248c89c55c38df36973eeeb2c1005f7396d31235151f1a2ad389c40987e00581e029c57e448f16f26af6ed1a0470d120fbd31c2d63afa44802c680cc82b995820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022360b8c36bd72402510e0f0d69d1a69ce56d94de83ea2631781f7096575820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03d30342b099535766e585481884bd6f121c340231e4e16ab81270ce3f905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0333278914f28540dd7b7f84e4141cebbc44748edf3c46a70b480b7c8dd04980cc8ef6105c996ec50219280000581e02b202c3f36415b99313b1ef1ac1bbd0a1f238251ea9be758b1677000f695820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021d042f11e00c60d654e1ab3ef7bf7bddfe6596e0ffd703385c96d0c4255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219910603beb4cfbb2aae3f903842a687c263cc0afff050c06a5633acc5a53eb0f7f9ff220219ffff0219ffff037b96c95d5cf152b4cc705a49c7a91e8f8b5a41ead7a10b122d16976a388b645d03bb0e7b8c577af4f160d2e8bfa5b10893fa7413168db2f2108a0d43209b750a6303580cd7b7a5d9dee45aa56f4c30172c85830ae9520271771551b0068d466d2eb6030523fa818cfee4c81927799844199473a00642f514c7785570617a07b72439660219ffff0344410a26132537b907dc9c972e9e25a6768bb3c8cf1cf080afc6a5dd67dc551c031b34fe64fe629b2ee25021f62f3cf01a55513cefa5cb91428f0c37e68c421a90031c99ecae6eafdb0b681ff7629bd6d49d780648cad9aaf0954f57eb687cb52606036f9b6e7feddc5243f0ea4f04bb2487d3adb7befcc598c7affde9a15d6c232a150219ffff03fb053f10cb246d4d4728ac28822652572c366cc5856abe3b27689d09d427b3a003f475accfc1c99d48ea9efb818c9372bb2b19aeb0d7585b481f4f1aa9183a701d03c2135dee2ecef3b643bd6370517365ddcc1279dcbec923da93329008e32a2bf5036598df044df4be1b0fdf81dff542173cfa592353926ae753eab0a7135424bf9b03d747ec62a3f9510fb7d7a2683cad3e32bf1ac52f1d1321e5086acde061c56350030fd89ad77df6286409dfff6ae9a59aa6834080affe827702fae106b994afd31d03fdd41ef5f98f6b5dbd1e6b8cf4aa62943cdea22ff3995d44fc0c232653a3e480033a123abda73c155644eec987fdc6225308f5c35f5c94bbf368691d00c7ae1f7103738b9a834a4a373b8fb34394abdd41998985355534d04b5d05e18929c64f017403d7b0f760532b9a5b81859bd11753e336357891cd91542a0939690dea1a13fed70352ce00ab3b975ff5f20bcc94813552b9e0ee3fc6ae33ea1f3339800dd0c973b803df22a33330a435b0cff19c9258f4b3cbbdda590254f6996e6b1b9f742c318f3b03825885519864b7d9bd6f693e7871f26da08c926fd07e446d6cfa97309f7ed13b034dddd2d9155e290346a2b17167d942e72279d598b19d7af95f53204bb57d98fa0340b88b693ec4629794f5c4c273748b9c19f9d6cd68d157f20bf194888408a30d030f87c691f05954127afcf51c5374fa4ef70a3e0cf855a21af2b51e181882c9e703e0d4dc333d4ffea0224bc146974cebefd76edbe6ac28c2cff2e6367b936780d103240529d170cff5d9d4c54fe762757d24d0cb8aee37f756e31b7865f8ffd59588035b6f1e49eac2a2e0f25a23ceed3427eedd124ad8117e2a0508aef9b7138515f103b52155e3c1ea78517da7f0d3844e824db72df6e5a01e1d2518ff6a02845d556603d8e4d3a5923f9dbadffd6581cb8a208a2fd1973ab53168de383b981ece171cac03172d0eda34b35f60a6d5395fea8760c024d2ae393f58cb782f67aa2d05bd4cb0034688921989626cc94be89ea92f46bf7bd155e7e3dec51ef4702c2770ab05a65f034f7116037000ea9230be83925d5edb323c31b48868f9679d80c98bf6092a81d30325b2e09a8e19e138ae9666bc1365b3947cb8f43242eb65dfda1c97f47ca4a128033330cc1dff7e05f7b6ee23c730968fd49674c20d3982e99ad6be3f62c4fe1b0b034e77ce884ffc656c434d2299effd3e211499df5c963d9121c4dcab6a153285b900581e020b1755f3810eea0ab86fb07ec9cdb847e45e49803dc72c82a7d66f3afc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0342d061d07c0396c02cab4f74cd41f448c48c43434582c32fa002b229b105692400581e02ee713f4e03e4a0d7f2a90ae4834f72106e1e65e42f3b2ec4f517d6b367470e35fa931a006400581e0238d98e4c3b9cbcc40eef1ee76986b6877984a0e7b6956830dd2f3455af4706de97fa14a12900581e027ebfd882c0b8a8b5c05eef33dfd0345ca219820a3cd0af31450dc691f15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0238a5bda3c70246f0914c50983e21f20a805be98e6276310dee8b8495c14b4a817c7f2a2bf142ec876b0219160b03c8e521e04254386e003f7bbd99556ba574c609b0e200d359604b0cff7866af3103237f5a097edad31f1d89d2cbaafbf83169f6eeb404e7905b712930d926270bf8032b6efbd21bbd7b9cc9e7855c56b8aec7333be9c8f527d38808049147af77e63e03b1be52a3f98f38c0ea1f8108cb4b14f19a6a0c7b47763efcc4f97fa65b1fa23c0219ffff035e1e56a15e39a6f5f72d64d1691c8fefd43d1cd3aa1a25f3457091b492adbe8303216828a88dd6bf50a7754e18b04049fff0ece5e7049767b16f943a49747f8e38036a5634e60046e542c99bd81edfe1dee7c2ce4e89c34f1449a8ee682b45c90e4b03bd1607156671ee18f9cf53a5e88aa137bb1ab50cb554795fb8e3258fba05e6110359c84e8115bb950d1b6847f03c73e44d327c075a90f3ffef586fb04abbd1950a031c37562993aba649d75e43a38226e3d77289b99660bc38baa9abffdfe7779cfc0377b6f5eb013bea31403a94b84398c87fd23ccb013a90a5f598b42ea98f15edb0032118aa8bf3b8b18c061d895118b40186efc38edc48a268694ae81985144d76b203732422dc2e034148cf9be0d9004e836eb49ecaff71a088d05fb5ec7114e15e8303f8502da502acc1f71264eaf7eb0ed36c587881177065cc0d1b89206a13da340e0219ffff034834ba0ff99f8f1ab7a6f58353c7b9417cc474f63795eb835d0ec31bcf0ee7670391c3b999c5e24bb4461f815f28b35881a494adcccc4299ac4d61629245a01ce6032f68e1f38aa27139e043e61400a1350e65684273cde8b93cdee38ca4587998710328ff79349f926c2d2fd6a6f7debac201f4ddd0616d302b6ff55c28176fcfa5ac0219ffff03d1e72e417dbd0cfa1b94360da963b5ddb746cd35a4a95094a9390b5a7bb87afc03cfe3014b5564239c2144fed444940463479e2c492824bfce782dc273a6a4ba0b034c74cb02762f121734fd09ec2012ec9fd90b7269c40fd9d07aa8b8a516317cd103cba40569bce375722bc4069fc0e88169b0962d7c194e55bb0c8ab431f92f1f2a03d0555698b731b9649d19cd936a63c80f6780d42c763976f72f9b90d8aa1c07c4034f623c1eaacb21fa0a4df9414e38903813e2a189097963a695c9fcd4a978588503c8f513d14e11150a00830c81db13c6b2c9eef93352cced7ae4ebd065490ebd8903856cec5b6a10586a2d960d21437f4f8c2d94299a1a204884b6f090fff55e71be033043404893ef45c1212e5cbcd34c4b6e3dc0a8f05516a111e061d47044a75ded036329fbd28a4b0266d396e80039938e62fb945afca2afb420b192be247e81c5b703d76ef2a95bbab60144f72ebe31cae1647080f8925a8a78c34f57a9caf5ec87eb035107f6fc29da9e1944785317fb9794f4523bd68dc5d763900d23a889d01676bb0378e4782fa1783dd8acd615b3767f1f277f3a2087ad2a014edfb58c7f67393f2703bc3a0dc8658051791dad8b59fbcca4580e50313283199f8e7fcaf2fb8f856c25033fd598d378470e25b1a5c6b4ceded3a95385bbe3d30848394ab2659628e65b170305a260eea5ad8b49b34de2941f3b285a57d02cf135e93295ca878329e4ab0ccd03f3710f31025a67c39a916b5f9050567aeb260e531598053d81aa58d022bafc9d0311207bc4099c9cd63470f16461601143e929279bacb88119ccc08b514020abcf03edfe3a4d62e223e2c7c71996947225a595b728630b800dc47b69d08b69e830d503ba2fe467f67e5d69d24bff1aaec8cfe7b8d8084c4b3d53d6a4893de05256d0f2031b0aa7f1fffa2952da086c85a7d5e2d0210d3802605b57fe8526447bab5347a200581e02ee7672d5bcee01507beac0b52cd21799b2cc542ffd370a5b64edff32834b4a817c643e92965d2c1c0000581e020ea1c9b4a9ebc6d96a4bc959f849cfbb85a30ae458f9deddd2df6d8fad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021818039b7da7751a6f58958df27ba046935b4f0bc2edf0df13b8460e3586699de93092037248f51a3511b84086c45fa8dfcb01a6a91ce0741f4ec292ec0fe8d800b036f80316e3daa14ea6386d66fdc5deb5bfb167f10580b86aa071a6aeb6e9ee0bb33872037fd934d8b83ce12d03f6ad0e76f5829f1ef7512da6587cadd66c5e9fa2bac3d103b2392f6bf1afef9216f21abdf26a5c5673fae80083ac544d6c06c1cd2aa766c603ef6c116b790aade0ef2548e823559dd7efa194ee1609f354a88073e3a4ac0ca103b33c7ab244afdf914419a6258ae266efb1d076e4ee88933913e4d9118892760e03331ee2e71aa83c57e039cb2a7fe4c1350c328765c8db3ffe2d1e09a068f4ec6c0316d574a08527fcfe9424c92ffe9088a45692d92e5e38f81271ca572d565db4c503f1ab76bc8b46603667ec38bd7d1cd53fb3388e5f448ffced4876499a36b01c9d03ec5d890f036a463c94a1fa90ec019eebd07886209df5fb44fcc0f48668d01b9003b40bdfd4a85dd3ac891a66426cb2b1e6038d63f0d5f052ada80016221dd524a903acf9efce2ae3b19d9b3b101059b2e49d70be86fb2d342e5ee39820803821b4eb0219ffff030cf70d899dd5921cd5140ebac96bd296147d9bb08d471c0bb53cd394134b77170334a03780428e9bdd0579e0e72119fedaa781997e03eefc1f94aeb2300030a3ce037724d6a17c920fa4df4b9b2a88e8b1e10d9b9c498cdda4f4973b8d9035318afe0219ffff039da7f41522a75049e05a681f400352c7b044aff82a19472ce59bad80dcef52de033263551d20061d9c22fcf17c6a14704f54538bdd1c4d31e75d4f3f229ea434cd0389b85e8a89d2056604ea109cd72f65d59c6112742995265b3fc420a743e4d92903ee169ea424f5e51a2105629eafbe79c02f774f90535c11b975eeefab57f5aad203c9ee3b16dae474a8045f5781568d7fe3665e0f122af3c492400720baca5b4c0003c582d58c6722b7a9f1628a312cae00c4c547e682d17933ad009e20610f1e123b031e94ac8574ac1647c0857722c66d35b6c4827eef3756bff7edfb43a0c8779a1e03a88e7b2f3c6842e2844a31801e483d57db01625549c27f3084a1635bc1e927e40219ffff03f5611edd4eaceff263ceb75b29d5c045dc7b279d3c5fe2fb83859f7412f5ddcf0316ea1e504db022683f16678b6bfeccf601c9012cf322575ae157c64c337aafbe03eae8576d6233436e61f643d9c11ec794f3fd5a63a7630e6cabfe302515f399fb034a2bdb2fd9419ad99421aea8bb575c453fb033384cb5a7d001bcbaaefb80c97d031e2797add43bfe75deb543afaacaaafd052b9f8d266a8dfc4ee16a12f39de82a03d51102b66d8c2d05bfce53fee14b7d5f15713021f4b1d0e3912ff5595a6814b70369ad53a19b9784b0411de2cb0efcd6142fa096e36766d1f46b3edf45a40a0c0303b2ebb18f995194dbf331e969fdbc149a9c2624a181687eaa394ed07bfda40b53036c758f6aed10926c7573d1fa1e956a6a975dd706eaad1769751e3674f5728e8f031e6733ec3c931be920dc3353b717af391c631778f2bf722500507cb700816b6603833c33d50cae3720d6e4a0b0ec5f92e75aa365b68aa2fd8dd84e1c7c981b74d6038dfc4d388bbd7ec70d2a80b7d6707fedbdcea97a35b4f4b2ceb91cf145d08bd300581e02ea042768ddce194f909fa44997268ad00d02db2360f53ab335a3057cf448214219bd314a727c00581e020f9a01a9d13a226de1e7e7f68a9e060b18accfea76c32c06915ebf65275820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ccf42523160567f0f1ca2f9fd38cade047434dfce364ae9bc94aa63101420d920219a1080318ca685f7e26469db73a7ebf865d0c4a920af73554212e1a66b72d9948c66dfe0331e8e7863b2a6974a34e5018576a0dd23cd6bf69d8650bca158189df3ec9b25d03ec1a8af44eabbb52f656a1c3639469e8b22973c4d801ef08294f9c1a5decaa4f00581f03c3726f006be5deee6d4c9c00cbb86aa0455b6eb55d51eec6e769af4b25705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dbb7a7b01bb571dce461174f2ff30e5995f737b312bf6a939b802b3eb7a6555603abb71712393f09c1f073391eff817c385990de3ea506fe7cf0f4c1da1c673dc003876c028be87ae08ec2b1508d280944d1707bd81679e8cfaa953ad8462986098b03c9bbac75ca16ce33ce40316e4dfdae61dfa194a2a47b6e314b214e7be1a193b7036b0aae55db70e95b89e8df37931872a34e6a76dedba645b15a5206b143abbf16030fd477dd8129b71c94de4a15f5963e00b6115b7025848e118dbdeb47d41813cb0219fbff0340878509c23c898a97a7715c975e77a3dfe78976d974cbf830cf8e5f0f47a6d203ad81517aab0577d3b36f323f99d7070c8a02c6ba648ffdb297543a9a29e344880381c5fd272b16265a4ae41fd1bba04ffd2052461bc0915682a473c7623afba4d903c5963d2b8eb31c4bb1ee71ab3926c42d2b2aca7dd9e53341fabe803e61509ef60350b03fc2089bb1a20847da75ef8a026b12c4346aad8ddd24fda2cc7e3aa6081f030ea9507f4f736037ca6de24f91c09eb7b689fb5a7852faea1c9dfb2690caf6d50376856d1b5299430b4f2facea9f7eb7ec2adf07b8142ea60950e2a1abd2a5e13b038a991dd2b5522bf0fe81564256b74bb24b4b6bf223b72e505ca15183cfbb7adb0348dacb7edd325b7b9174cda61b0bc85d9fbed71dfed8d5f5410ee2967a1a045e0350eeb0b11a157bc1a06e4af74002a6d28e3e9a859e7a2d7e18d4281601bdd24203e6bb8ffb5b311d056d9eaf1f2ec8c1a154e8281c768de9f42682eb12779ce72803fa1123f96fd22254e8cf3acd1c967e067958cca8cc3e43b0c21657f08cbac56a03a498aab7d75177f556df8fbb341523ccb72578cd2c5aee190b9358f687dab3bb0219ffff03e6923d1182241a6f76b55ed4071f08c229872574943456687039644323123a45030787376023bc6b8a2c109a4aeb5a35c1d7b3a1dea1dd826152ba3d27a26d98ce033cb192d0047f78daa96315f93c80328f462def3351d952154f0fed988f7fd2fb030e8a524a2e6dd51af93f994d14206d332b7e9a9e55e77a37444b69716f3e6365037b8bbe50561e5558b63ffec3a27bc9b6812a8cef3881447eebd52be0f327bc5e0386c11327b15f1cf8b392cf2c414aebd45da87eabb1091d302336c5bb6d3bdf4203351efe9888eabdae6309a47bb8b90ec69af70278dc78a54a1aa2e4d4879f15c303b9bdad45418067091769666342e25dcaf898865c923cdebef405cf3f7f82103303c89db0caf496613bacf9f290a8b9d6315fbafab1acdc894fded64b986ee23e96039607d4bc23e80cadb68bf3565817cc219c618c3a58b157d03f68b6b769025c02032c6776fbf4c1f5f8339d1fcc1425eac010f5cb0c5f0c09d44ffc2b1a49ec549d035fd7caedb23a08bd4b5a524ec1a0376727b36785ff5e63c337c14c0cd9ca639e03c91233d9f91dec1d0928beb9d171eda23f49e977d5dcdaefe9787a79aafc7a78039860918aaf7d66496c2bd8a0815c880790e9ecbe8f091f0adc6e34dc676d2d870219ffff0322a61d7b0d17748adade89b1cf389763491072940708a8c6b5ad31d9541387c403cfc9ecb69c7119859a0369243bb1e6cf3aedbda130634c30ca16302a8609bdc703d35ab33529db913a0924f8c956df97e6c6f225e5e374f673dc06a915a8c0448003031a771f9f6bed54c3bc04af14f4162db13fc5f2af983c9e3a1a56f60b8147f003963f55529120b118a0a17933d470fcef4f75064156b7ae2243401555ce3bdd3a032306c54c6c7ff595d6b962c48996bc5b009f12eda67b0108673094a0d4413e6f0373e163e157052cf29ca456838200bc5e9ece9ee888778ddb95a23e018e8e8ed203a0fa7159031f6430cb614a1a6f5b800ccb7354ea448c16a40b6e8dc66a23310f0363c8524e2f91a65f75c9ce47e575c7069f93574f4dc7c83a70e8f71d83556db90374d0207d2cd7e2c7b18b286677a8c0ceea6d1648a5f2f5abbf45ee1d9b75094603367607c5580ec27e4284064c688f6661bb72b61e21906f0fa01a85992bdd4fad03d3c8e3c9378a95fc3a30fe75d3dc57b2ee8dbd54a2566499c2e6c3d0c868882f03a17dc9e7ffb0540def2c6ed26d75874c0a23bb1e2a266d51a491e884602a0a6003cc097f2d5c86721c9c1c69aa300eca1ea1a5e1dbe1d99e1200a23a5ef9d39dcc038e9df59d489138e412d1267de48c6bf0e54464fd7b3ffea1c8eea4cd65e6e39a0337386d981828368fa11aa7c7e69d9f63ad61ec20441b2454f41f38dce03c58a403069ad871c62918c5fa897f72dc153bab2debf945710888716d1db2f7ee460dba03027e300d683c84bcf1d3b4f16387b9d94c4b3fbcec0da4d1e3ef1e475779f63e03149629546b10048da92f257d03870cf08320d7e4bdc7810ec7ed631904e688fb033819b414e2e368b50e3e787ac14efd1120ddc6da37f7fb44a5b90842f909ce2300581f03455395fd56b03f95cafcd640f84d4168a1bfc5ee972c5f476ba6fe8322a0470d8014722580010317a91aea8b1167bbddce35e0c804a301ef97b0a2dd2ea516d3e7c61d19c16f8c039d67675b6b9563a46c2c0d2b0b0ca0ead0716795385b63ad117162ce331558da03ad036a4856200937fb61e70ae3564976de887e2645ee5c4380f1b8b8e9a6303500581f03b74595260d4d95ccf946f5da577cf58359943c755b18b15bbfd8aa5678205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039bcf7dffbef8d81801de49855b6f9659ea18f5b3d577849ca777ac877f7f1b61031029c13c8ee3583b551ee659ff825af99a918919991f3b93e1a2d4387809821a03d8cc80a96b6d0efc6b4f9d68130a1edce06389e367809dd202a00c278a2e27d603f1a6be45ed11efd0824a423b8d8c2fe79be657a29dcaeb8fb1a1e7d2a42e5a41039ecf5ddc9f05860fe1e2df298b0a348f489b56023834539aa4898a19a724012d00581f03f0e5ec434570bd369446457087fbcc3b63f65d318edc71f1521ba0dd5c505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a68a1f616982c3c77591fe8ec782fb1d611e22852716f682a8eb03de615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0290071a90f2066f0f727579a168aeeceba860b0b644d19c9ee75e41efef4816e5fa420765000000581e02af783fff9145eea07a57b476830e091df9558a435e0ca0d4b63e7a75c048201000570bbfdcf0021922040219ffff03cbab424cc63cc34c178f057c76c86af8553957c61636122a8900b929fb666d8e03157629c1b229f48621771474668e43a6641cf857870c35200cf9dd57259e85020304454b52ebc1ef49580d44fa5de3b900de0153c6b41e969512f363f6023894d5032c32b484b90ede8686f96a396413234de43abdddda869afef85c4370fa8b794e0362a6a0a6a3eda7979ed5afa64bc3ee31bf4a2ba0c7095923c26d7205d53a5c54039270df4ddce90571c36626834fdcb421908b1f17090ec2e608fbfb2105639ae103ecf7a4419d4ce5ad125d10f45bf6747fd0597dfece64132f7b9fb058206d851b03833d68eb12274bff8026eff6ac7aebfebe72313a21ff12dbbf842ea57a6a9c4103a19893c122a41ea1699f803b81fa970d146787d21e219f32e33a795a95843dcf0219ffff0328a76245eb5c60197550d0bf100e0dde13ce155afe0a9738bfc24895eb3251ee03275ad68525c699eb5e2e0da21716081cfa0b5dcfc411915b720df8ebf3bd204303bc23adae673fd07edba57d68b0a3f34f4a71f85e8f7cacc5266a81856c22adf903b29d69b6b1e6bd0ef8f0ba0e64b8767b256a5e5b2246cbf91e61cac50f32636a0375a9885cb00efbe7eef55f72ca5063c3a2592bb6ca38bf76ee971189163f1a54032cd8ef3764b35105bd6a38ebbaa3aec8b66c9b0a97e83f584a4624674e9bb2e7033ac2230c17d5bbe2e02ec29eaf52df81c0cd3d0a38f81c5a8eeffdd4dfe551b30310cc0a4994e515de20cbe4d5b573c4b65ee88344d52f6491fa290a6c5e2b6fee03b94a49ba605920009c2dfa3352508769a1d81127408a7d79789e8d72e7a0634e0219ffff031145757791de0dd8eb3ccf685c668152d7c33e59420f3f552c0665123dfe61cc0343f86c66a22a53ca47f4ed0cca234f685072b9d4b0c5e861ac5e141a22fa253f0397d3363a2a280ed0faed0c9e7a4da57f95c04c7a88cc56a9126e6059f6ebdf02034f53ea834821bdc6f70c8fde1545dbf656c00e661b39fca544e10157c3c3f7bb0219ffff033f1ce43009422431e2dc655c5f60054a12c02864e102715a92c2d88bad1a0e3103e1bacd2c79040f2a7b63e520457757c719ed04a925db164b8379e06d7d73387d03efef4f0e0668a564605439569e24272cae9f4ddbec73a7d8ee6824395a1d9698032a8bdbf6f40bc7ac5f458e90afed277c88fda517023a3f21cd10128f40aaffa703d153f5765cbefcaf826f9b2da95c908553cc0f1ddaddaee52790fc51a9ca83c80307b7be06a4f77b10878f8ade39f485c8c6bcdc062a1e49597be8ce8ff0512bed039acb389ef21e21bbad7b7d97bd9c796082b7cad0d966a5463562ef8917daef8a03d8e494057bb04662af9dd80818a7ae0507919e007dd7f8f1cda6c4ccedf31bf503c19d4b0e1d6d7d6e5452099391538792cc186636aec862867b767326dc06f4ba03325daf8669a318bc56fb541d4beb25b4f0de033acc0253a5901df7148acc8e59030b063a1166ef6fb20794a7b7287ff914b5a8e29bc917ef2e4288752da524850503719130546b8362806272fe4075cd68d77185dbbe244d6fed7e8bb5218fa4ed5e03d7bde0375a58a0fe674557404ecf432695bffb7090f5da4992698e2a889376260363f5bdcd73508772ee1a25cc5831f1a02ae4fd743c6ebe51deb1471a04ec275203dcccece59f9b1eada5dd06e3a318ade84a5bc95f5f6df892fe208edd5c3e709203ac5b8c108c85de34650485869eb004e43505bddbd872d3bab8c87951041963a7037c13dff76d07415a659fc2a20dca604bc8823846a6eaec3e27ec84f803d1e30603e28bc3553e001f8c13129dc859020e9ceba8a8d72a91f1a32200815e1bb526cf03ac1e3b5fe1c4d0182a9d0a14fec97ca00a0a30dc9e4a0f8ab1bf2d13dbb27a5803c222d3988d66964827d8d49efaa89fd126a90aa23df13ec595ce35b1ca2a98d50344c9a2509533d50dc055404b053d3f45d8fb247c26aa0074cdfd3cf504e7eb6a039f8b37c9b4d9e2edd4fab2273330fdc94935ccf61c18f7bce000d0dd4e784d480319a5a47c181244db4f550b390bdb336d88e2b650bb40c67b3f4f57d3793f36cd035bdad7e802f4c3e181ee5515aa307bb2e0a8f430a51f80b0c8193b97f21a279703fcaf6cb9364c3d975f2abdd3d5c2e82a2ec39291b6e6b4ba037674237b2984bc030031d56e27109263f98e77909259f4d4162b1c802f1813a96bf7b5fe44e4a3f700581e02df89e79c1fdf60be3303c8f59a5fbcf0dc4e1426717322c81839d0eb025820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02708399d2bb643fa81da1c63086926aea6e0ff7059e55b6f39b053f20dd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024294752560028f48e4f4207a2a3d18cd6f9f7e0a0bc41c9106c02441e45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0391f0d48096502c4115360be89340e96ee4a47dad7db5952a85b165d85048d9ef939523e4850300581e034d56daaee1a3f103cb17f44e393a515fab075136e6db4709cf9561282047f8b0a10e470000020c00581e020dbd0547e34a3ad16218262ba6c8b71b12e2b235aceef36a2b5af39a9e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219500f03d0de3ea50ae304438ca341ac04133c1a7ecf235b1bdeb32b70470ab201847faa03493efb2fd02d10556183e1c27f688c26fdcc2cbd150562487972badb5202b1cb03700921a5b27a7554368ebce519378e5417778c3d03ab70a1bcb587e67273849e0141070382df662325bf03b7e9051adff285944f59bbd382d9a5db8b8fab3f07ee37f0b60219fff703ff2719a43d2534bd61bdbcd3053b027c86d83453af2d8a7662e330924a12525603ac21a9e700ec54cec83e9c1bbac5d44ab2683d5c10541f27654805fcf087be9f0302199b56db6926a5101245e9aad3fd1a4e3713a5f6eb73a17218a7da236b11790398449af3931e21018b474cec4f66039a4c91bb1ba5bfec3e688555c60611215c03775ddead8cd76d893ea63237619824c1b1ec90e1d497d62f7d41a1acb915e9f8030727726a6a7de5551fa44c646daf8dc5fedd5aaca37a53fb765744b3eed4422f0322ccd0c3ced5fe4eab6cdec00cd94c18e26c53b7031f08fd6e8372fd971a5fbd03c5e64edda0313cf01a013f2e39d282d6ef3224cc894162f17d6ee6d55e91d254039e6b99fc66cc3e785890e66ecdfbf0637ba43942d12f99084ac0ef3fcee0934203def6bd9bc42371d3298d57d5abee4e2fb697990392aa69c8016285d7904ccd740314f087a34cf3f8e0f524a55b62f6eef6e1df8397df5d58997ad9434d8e341ee803d6b568ead5cd57226a57460b906720128480649e214465f40d67b1d502cd3dca033dd49afa19d74cf2070503bae3a23bee30a0ed665ce551ef5f179bd46cd85b6903cd3e5c7bb19b6fe4767d9e77543ff8f1d46638e634a0e3d26cdc229f994cc57f03a2f48edee6675a08fad47cbc56b9b1d6030f2091bbc8407cb8a193e9f41b29170219ffff0304ef84f9c972ddb99245cb8a1e6b6aebd55d581af7bac48178491e10a676d3970219ffff0355570a2679e7ffa4960a15a5349e44f945a05feef6558f73ffe05bf075391cf703361155090a03abb299cda7529ea3b8e4a6a6cd18d9666b91853afe26d940b380036a0263a898d99ae5d9caee0f4349b41c6614c96a9aae4c2e580084454a5fa733035a2df583c150da3676030cde91570e0d1db58ffe5f40d0935cccbf9704151a0903eef80ba8d4054dcb04d3299271ef93fa7b17d1fb7e4a0d34f50b51ddfcc5f37903ce29d2e2cf6fca3d0c71b77909b1fd66873500069ad1f7832ac9c80af814577703533116ae94422ceaa48b81285bc312e3a128b5b0caaf534912834e73c2b0f9df03723559745f0996d9321f5788e35a093a4c49f01ee4455cb82428d14f692acf9903083215d74a3fd5f3cd242ef02343f787e98c7d023a40d3a6147204996816524903ff51660829f3189d1627018178aa0ff48aa3c9ec11dce9be509f4ce7912ffb730327e1befd0316b810866f0844d3dbf131b5fe8aaa4588262701bbea0aaca2bdbb032c27a10e9c6e8d20ce2dfad4c586f58eeae1ec995a98096d92c022c5616033da032dcb6a0430e9acadf6fb84df627cbda24650b8df736d91f1d1e771c933c49eda03d702ba411b152b12a119027acc279d2873a0fbc08882a86a82d447da56794bb003ab9c7824b8caca7699508059e9a9454055c8f3ff1a1e1f8b9f5961457a93d9040333c7f10aa2256cb06bb14034d3d828a55b1354ce0adc8d37df7a348e187460b203b1159620cf64adc18e505deff6338ff7b7d1851f4d6d421226e92b824399e2be031b355991401a730ecad6963b58f6b8681bfbecf14f92f3e682e77f0b7479431d03abcd61e7d18e0efae9dc8b391d6e2969dfa99a1d393b7893152ce76c5da04883030c2afcb734a5baafd81335ea51934f2fd42e2bdaafdb892a3d1cc22ab301f5bd03fd231823f28326f797ff053d6a4b336ff2db32573f46fd2a289f54c6d490b11e0366d6d44f6c2d0f3534446c45a116c1a7e2724327a3e22d900e723789e34d5a120303f88f3fdb75d0f5c648b8147c690d6bebf1489adef884570db643d62054a3b203be326d2c9516fe3662aac012dac6650af024de9f47c858ad4acde292a24badee03e63decd9a89f37f1aa85bceb44989620d6eed5683803ae983378bfddd05ad4bb03c634b5595ebbbc90b2107c2016cd28146c4feafa94443be40b8322d6ac65ed2d03835e1150101a47abf404259ecc94b1449b80bdc6449d961124415c2196dd6b3103fdab19e5415aa21d474c51451c066acaf4edd20f1e46957279846431041db4af035bf9fab9b7a389cdb4da6258311f5894c7df3b54ff993b5ec12037842c15a770034e2ee30b6a637667d64a731bf1aaf222091d0e97e12d0bb1cc1954211d3eed5503cffd7f06e95fcc009a9aa71d7ea19377c61c8280bd5b493e2ff3e7c73f76991f037f1f3432c605318dfba4b7d6593c2accf134ab9eacd4283c7334f72e49bff97c034612b4868f0c137184b58487045dcd42d6413c426299d565ad2ae0a25547a842031aa2760c18fffe7308265c10b4b589697e60fd665442defadb9fcbd3f68a8cc50391ae15cef38efd1ef05ea9726352ab8a723641b81fbe45396b91f0b8c5539f6f030bae3d63ac38bda777f982087db858451e37b953bb427863e0011a4669a956b4035fba16363c681d768529e1056280e7779ed0511c64b72c4f2fc9734a98972bec00581e02035d679df1d204a53a0be4dce12acc402a0b895e1ed7657344463f3fec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a57873d0e6aa1385d987d5b5c628a12a516ee7b65090b6e0e5ca3d60b049078c95974d0965195d00581e029281a4836277e0f418070422325d355bfbf5c601f3ba1990eee707187e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219244003a7fb1de163202ccfdc41fd9122209ec629946d5d4ac3c4f567916c33035ce59403f7f13c283ce5f9047b9c975ef493e76e661fb9c7550f78d9a25436ff3f7e540803d1b518807005a9b3b9864eedbd9efe52a5c3df10ef3fe6cb39756b7407174d2a033728e51a90fdb00ef9d3d48745f392a354b7ef843cf62a60e2addcb2aa4fd7ff0320082d2fa86961b1f6f68a6c231e47ca09258e64b35a0fafde82f4e3a6f29dbd03ecc712d67afdb6ded03bb22e3a35d919926e59d29d7eb10ff2c5b0a8692113230219ffff0219ffff03ba4e505c1182da6d007a6642ea1e8272355ce3677d7d0c7f2d4e7423fa76896d037f21471f93a982bb58af83ba676e4190be5d9a8522941172c0a88aa88ab665ae03c3e11fe39517cdd5cb331718c4e967bac16c269967766bab65539aaf199093760302bffa02a6d82b14fbe1d0e8d25254591ea2c0ae234f50fed85a1e35b28392ff03730be3e8347ea4eadc6f79d4e6e36dadf93c0b750d7c35fe29dfa6da27ea238d039f65b1cf568a31a14cb08b696d64c2d89cd6dd629a55d6fddeb58c6ec1e6e96d030dc105cd7e232d5349a5819f9d31feb08db6fd4321552b018333c7c6aa21847d03eff2d203ae234000f9af6bbeab3eec50d5732cc12023efb48b6fba06395734ac03c25f9052b3e49643b83a6b16f14f93d865544677bf39d181cc3ad6f580173e1c0371997fa0fad50c9fa2d9ad3add35184a50c277a2cda36031843e9edc4889993d0327371b6fb7abdcda6cfdf1077ef1a5ea109aa8e9922659afef20d097df5e4cc503bc197c4139017233d0d138019c676833a5e3bd495714f2e599acdcd26c84606d00581e02fda15fa7db7c42a5899b2d9720dbf45936ffd12a653b4421d9eeee82835820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02883c62632852e1ec63f33d6d701bb0eb862757e0d7ec20ecc9f4d49d8f4902511c384ef1e4448f00581e02718485c934c3b38c61ee38475ce05a87d538d461a51f867f7162dc32b65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02339d32c3b8db18fe3827eff89ccd1617f35464a9920b3cabc169df84d75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e9c0c7eb7a592cb7fcb3866bc550d765b4ec96f269da6a6b0121fe9d324701a801a564f00002193412038f5c13aa567bf085debc1285f55b7157d1d436ba6396c350d46e7982c8b39a67036a162566a0fe3b7a1971ee56c212a0c2379252fe8ac51ced298ac5673626ba97033eee033147b8aec30883c8bf8313f09cf24819eb87fd0d0ab88dccf7a2ea5fbd03eafa860cd2450ef3c92208c726e956ddd4b484849608904cb4e3c92c5dca724c0219ffff034c8b68101ab80393c1d4d58e8d3832e5daf7400a58509af5f925e66e0fa86960038df19d8c02727334c65045b68f4931a5eed33caad8863dffb74dcbae59e0555103d1bd1bcf1d62de9b5b1fb92824e9ac8b864ef647c2e0a816e995a070bebae0b703e0e7b0cd92501e60d005368fc2772c0c816adf0067382d70642a9b03ed24b87503c0e582a348198859b183fc19ff601f107aa9cbfa62b227bf8ba594d5013d088203d0a1618c6fb24475534bf21ca909a0bc5cc7aebe0a1c7bad41bfa82fbe5f4baa03bd27bb50466fd4cd8aeaf081ea21bf270ecc9ec3b2ae5e43c9cd1372e8b9360803476747eec6774c1f0da2b65a1efd882978e1b5625de199392f59b980eaa3048b033df3411db527c11782bf1fd83a9f4659b7df28ff524439a0e976ce9f115226d4030921c09db742e4dbc67bec01b0d4b91bb58007d62b2f801e5f6b42444b2967cc03444e6f2d8f032750260575872f02a4b179cd4199106ee570c05819ce41a8315e036653337f444250d0263f6672cc8b69664fe203523337187b4d3c86ec3f1439d1033e5124952889f93d7bef2fefaf2ee44d1e4626fe4b9f911544dabad2c5a0c3f203a5aba03f864e4067a10f6449a8ee178825d7fe8662eebdd10df77b71de4559d60219ffff033ca7e849a1603be7cf5afb44d0b1a888a24f4554a6f66f2ae98b9c4a5e5c6c250335aa14eb5a44010dade615a91a3f22ecccef3bab29a88c16f86ac7cc8d41bd7103ae57f149b6c9cd1286d6663905381d8e211a9558b4789eaa101ffd71d69dcaa30312ae606f8e56c13a1acb83e7753bd7aa2a7e790b2b7df87233a9000f5abe298a03c29831402fc8a542b8acc56243847c024b367ae43db9f466fcad76b3cd25269d0335c3d8ef96ef0614c4085a25b0a8e3ceefd051640662e6de5bff467c85c4ca090219ffff030bf2e70d2406c285c3443d9733aaa4c80cbc3abdd5941cbdc8db49d83eaf9fbe0323b57da8d1cda4483b39c29b7afd822b1d7b6a333ab02b677b50cec123ab248e033b4557c7ea82b75fbad55b6a8ba834bd27461130a67a9a39c1f1fc3efd87c1e903cd5d1a33cac62cb1d56f305529e35f9d92768558410c8c8ef734fa61a25e44b303dd8352c51e653da9bba20e90b39cd4b21fea6e00c0492b32b413fbaa6a83f603030fcb3bdf42426ee69ffd67b9ccb0504468a88b54597041da0ff4cbbf33d7459f037562fe185e6e9a3a1bb68a0316944a3d565b417fe45bc84e16b51fd8d90ff4b4039d3b971790d77aef698d3684575c1a0e0ac0327931a0cac63bee5ecb403bff6903c9f58fab552580775eee6c52b57c03d13e5176affa6ab74d0d1b69b86ae6e41d03c6f58822f40ce32f9fe9424acd5086613cc35b4d878d842c80429ae5bbb2ad9303397eb2e8c51a7192eb1852555e7927ece7943b58fb8b439b996db4cdd154b6480333180f98d11b9afbd442bc7905566d12cfe805e55f6ce708b7f1cec8cf73723e03d48ad5bea9014cfd541255089e7f62429b28dbbb47d187741aa93b5a5248435b03ab410ce75bb4760546b6ee0974494b93743569cfcf5777ebb5aa12d9b4697a71035ba0006e6c68688aa3ded5c923c78c4a49daca1d03e5b2d3402589a01c560d0c03ffa847b91813abf9bdcb50ecd82db09ad6774b7057b230b65631fb2c030772e000581e0238f7322608105dcb51ca81861b442c8d77a618d928e16ec382c69d5e805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02873fef0a30c39a1e28bc0801bc0246e41418caaf448a08428ba5b176bd582008d229829b65cfc7efc9fb87197bdd3393d14ba319c20e8de7ede8b94d0374fc00581e02368960e80d0c2c3b0f13fa5cd977490e8479ca017dc462f67a7bb7fb0b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0205d33a2ac61b2d7115232a3a5dfa95bc103e54ff3599ab99dd9f6c06075820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fb16727eeb6f22056111a59e162431960634e33c7c281fa3e18eb8be81472386f26fc100000219801b03e93f11c2fe826297e1880881d57bc64bb80edd8783d40d4ab6bf4c0fa3425009031451a6a04c2c6a4e2585d09c73df53b868ac53e0ab93bb66672ac141fe2cdddf03f029c44f21db722ff1c8f8ddf840d4fd322114c4d8185a3bfd4fa52e8b3b2a3800581f03db6bfbf8a2c0a11165544e7d5cb866d98897e4c8485a38dcf0778a2e4660410303a1ead4d629199ee5104bef515d865ba883482360663f39a047412adaae325243033d86aee0cc7e68e1126222e780d9ac99ca6f8dc918afacb5af69ec9a4508ee63033356b143e5446e831d08d942b7a00c99ffc72b04c248161e5fd267a5f8b3cdcc0393848b457c2d3d853a8c0db215d842d5d13a926bbd65f14b1c81080bea15558b035a8285045e3ee01a64a6c9fc7a21410048b9776b113307b2061a9a170c73304b034be2ee7d4fed5a4c56e1ff77b0a3448dd305eef00a5aa06124c75ca1d21410100351ef65b47d793cb58787a7aa42bfb285ed57d11a701a8a47ade9d086c9e55bda0219ffef037d56c7f73d1657ace29c4e8f06db677cf8726531d45f12104207d5e691453c92033e94665ac2addfd0f9d87db8183962e8113e8cd49e947f84af65afe4cc860832031d702bdde5a68dcf845de3a5099c1132ea232b09037c00fc736342a8dde16af603b8972081594e9e5dbfc7037f2bfd11099caad9a96bb775ecff936c6cfb860f90038fb8515381a2daf6fc62dbd4574d53d29775abeb69d4f0a5752a07374b375dc0031ee051a00c0f74d3296486e51616bfb429d8cc7cc1c8e42497a7087becadf35503df0c6bd29c2e17c12e7012a0eb57afaec7e676ad7072f6480ee368d6e74c28df03a018db6f57e95a91b083692c2d1de45cecb08f1ab4ee3bea36a79d588d9d662103f3fd50854abd177ecad9738079a1914359cdc1afec8211f4e94ebc3cc190ff7703b2952a7ca4cca9dda08a60734f1cbea367ea0ecada2126f0996707deb9ae2ce9034aed15097586669c8f8c3c0576895233cc80fa3a928b4a993e36bf2de74c6c6703eb058e65996e65b77ac3b0016335e4777fde343c2f4e5de6ce820a79865ee3c50219ffff0373ca35ee4303d86aedf3659c3b472e0998ab56d764d6bc109c2598ad48c10a070378fd4b5e2f82d1e9ac3acebdbf1859c8122aa583cf877bb2bc9eb32007ae31f003b71f309fb1cfccee9bc69640565f53e2273ef34637aabc89d09b554790d288d80370e0c560dd59c759d93d556bacb971ad2af6f82277dc9068738a9a3f997a73c703aee056782e4f431d5b24c24a46a634198b0ec03d11f05152541e20af2d8bdc030219ffff038113cce6da57d5ef5bab79583e244faeb059629741c6f80ae62295e8a15b0ed00391bb5687c5a7a27194a022febdb5b769770b49066b7f2481367cdd0bd71bfa65034be01d6f0c41e402838ca0e92384ed40e418e58f5d6fbc759d17ec273034396f03f5d37700ae28544a136556f65e2e295e70c7e373f5afb9181f68912858256c8e03729f8b4ff3a4507cdb468491b47e14dd18f252231b8c5eb63e67a032e1e4431f03b5358f09a4a30d15985622ddc9e8a52637bd6e44c1fda92cf5b0fe525a526ed7032660624557c2a18d835b9950cdd9e15e20c84e2f798483250abfc99e24b2b8da03f30f46ea04312d42fd146f71f621d00f66025efbbb2a39f085bd29d05030cdbe03784a5fe76bb7f1d4cf9c026bd5bc46471bc48cb6fc3eba91a29e58561b05ff30037b3b82e18506cbee0634b3503026d2a38bbcc841f3e7d901951030c8c97c82e803eb3483df5de78656c71694376779bc99ee6db9ba4b9b03185af8c3fe83f6bff503a700692236d866f41f573fa08179b3dc5acb2ad6c02de86d6cb276c1ae696a9e032efe5d51b2d54ca10a871bfbb3d91f131e44016912a4e4326f57f1f68097fc8b037997d4d5791e5071c160ef642fa1c52a24c2bd7928a9024dcb8716203498256803b61f74247759477aea01c638e83f7f051f84c2de1abbcb2dda42b150ac7fb6ef00581e02f3a5e1106d93b622bb010d4ba876d07e6735766d71c975550d720bf3955820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023ca37bfbb4b283b83b591dddddd8a60294a2cc39b955602a780c74010f4609262cd7249f00581e02cf98c770a533050d712ff260a0a6bd9d14eba958244d49c652a8c4605f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219802203b51f94514c62a35cdc24bbcacffa7bf991bbda620573feadeb360711ca89e89f03c42bcf131f44e0001650b8dce62764049e5374f9f60bb886f78e8042b1a79a3000581f03fa225ced58e786bec0d4c4c236d0c4038ea51b3e3ad0519140f09e3e2b505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a4503dcd4580a12a74ceeaf40aed29090da2b30a78bb2ff9abe68bdca03e754f00581f0347c81202ebb448881569819f29da31a51e91b45ae5e7f77e6cb91c27bed05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03be78d608f33925dd73a2abe60be859b5f425f8721fe503e534fdc833c3104b52b7d2dcc80cd2e40000000219fdff037b8ce353c3fc8e854de77890de7d4cb2ffa6433484aab4e3061b1b1e927d75f303717224239bef89b261baa73b6f01026e1e6db23cd4d24e3b862733b6b2335e1103d03a56f1cda5543bd6f483aeed1119ed3f6a290f54376d79d4da6917d09a8a0c03b0ea5df69143da23c2f58b6ace7d0769eb00bb1c2262ae5a66334a22c5adb748038efa77d07629dcba5cc756f58cce89c6c8fd636e512c04c8c149b59f4a1b5c9c03e5966a8146beef7a60da3dfb405c795820cbb6d4bad9c07fc64fc576dfede4bd038abf49648e8cf6ab2786d8959a3557d4660b3f6f7b9dc73d0f907102b27a3d78032c9d62d5d21cc2f37cb69d6728c12bde86e482db8efbcac413ddfb2489160a45032893d01d6914ca11954386bb7dd3aaf1365f53212e1d8034a26fe750833b23aa03d073681d19a0b11d6a9dfa3ef931cb2416a0b21d62920dd7bcaff79a3d65415e03f01d20235a5c338f0826c29a0feb5e0941e9d4f2826da7a7474b73d2c04a6a4a03d6f59260efe091a66f5507b5e8474fc7479cddb13d49dca34c83a84ebc7ac93b03ef9f041d970900bc1ca0cb4786430a267b08e6a900b5d32d5c9c0c48a6b71d06039e4401a8a8b12f50edc4a2912bfeb3aa4b7fada1bb4855075c0d3cad432ba4b703fa6ac56b293d51b602f7869f27d3b5a4a909b7c8d5d530a6ce4d0a3dcee2eab30219ffff031159271af7c89d7a6e57f2083827044460290267a83c4e0b540ffb5a0cff12af0364abe27156040f39ff857e0b0f10dc38b55a745b3f45d28eb4fc9ce28f81ace8036ee659306fce66c6ebf8e291ae9c27a5c9fccd17455cc2a14ee3efb0da8f07a1033735665ba704bb3c5e833667c0d5e17855ad735c5f52a9099ac4648bff35fa440374be5d12a07e7ef4dc3e716be991e800160b65d1b8542ec47c60c5de4ca268620372f432d4600a2f9df277dd9bd2512ac856972d63ffb53bd71c1341dbea93524a03661615d61a81b3efeba544568de458da1303c64b868e85947b98de22efb086d903e9e8aad810b8eddb6cceb4678a1cbdbd663f2ecd4ffb768c162fa4ebd965c8b503ee68589bb3176e1f4c0110fcb85a839c339253f50bce601259cb90da36c70d7503507ef54ad2217f393e2035a5fa960b42cc0a2d8d76ff3e20b93e04a627cb95a0038c8619198991c2721cc87dfc59cfd8a94a423dd74bb0847bdafaf5af11b9d39103184295bb8dfd5c1248408126d4f25dd91de56df79378bc0ef91e7fb6c58a11cf0219ffff037cb622c52644caa1fce8d93b0a724250ce76ec00d73ed22c8bc5173cf489764b030f3baf4d083b94a6fba8444cda85f05e4cc84093264f9167d8c67dbbdf5c7a2e033e7f69b362eabbf6e4190e7ef0f7f8de6a3af079ab57e700e66fb8527f4ad12b03c8deef0d374e1672e3b84f3dd75a706ab95e59bd5561d470cd5efeff77cde5e4039f456581f12ac16337850fabdfad339736863b107711811e84f8cbe840810102032b280a3fc97734056b386ffd3ff6f08b46cee473bf8f358ad54ee4a75a46704b03fd3b7644468c1f9931c697c1218c72a51c6f36e6b9741d55c5557167da38bf56033e70750135401927d7db1ad14c62634dcbc99d126c9a7d84e8f01a133939cf1403b6bab7a54f8347991110b76f193ce4a1fe3fdaff09de36fdb5abc1306144f8e0033030179c1503075826311b4fa5171828bb85a4e8256d93ae284fa0b9bcf4b206033ea6c48f4cc2ffef1288e38ea7bc6fa0332111f9ba0404a2a02327cdc14a081003ae1f8f304a8db1131c20b2488d151d3cabcd72ad27e21ac9fff3e8147580f6f4039118e17820d6d43f1211a1b510a1a9c4d7e54b3ba8553f25bbfc78c9c75bf00c03f140b73b2c606853116d1aa5ed31dd9dc4e873f41653cf3b25c8bff333c7b96d03dd4cbb7618350f253f153f90fe08e69aef4b9531573ce029e5e005eba9e37218033a3d29b921e8e14966e11cac4b13733a39ecf6ee003a6c82cc0d65ef77edefff03f149627aed372379521615d6fd8a3f9c892ef6b07e6bb41a8e0b6017745e564703bd13be70ef9ba1e856d38910c1d82af1bc295d2cea372c652d905aa4a27d979603a6bf13b8f5c5163b527efb226cdef6c8e49e25eca1de909ff75a95dfe3eeee8303da2b4e44f3d5380063a45c7acc26ce730f784d96b93bd2fcfc927b4667abc280037472081ec8d0f930128bc734ed3164bd2636e208889356fa08130a9c6de3b2b300581e02244d3b0674f139ed49c7361cf84184b14118178d4bf11946aad37d1b7d4813b0f20847cd400000581e02be122ee403e476a106db2ac47fe11c40365e411ddc076c13cfa8a718e8473c6568f12e800000581e0225b247dfed7899bad3739cfa8a92e2569d47f642f7b8ff7e2733c9b6fc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024681a97ddb0de33154c151f2ab432597539645b911ef52e6f92056409e478e1bc9bf04000000581e02a2c9f396b321d867841107fa8265a086c97d2073d50ea34d3b5eddb81c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039e60e7650c7ac304bc5a39b9905753687f00989cc3059269107f1911fee0cbbb0219214e03455e7237d21f45e5923c864f9784741f3c230c05e56331a810cfcc02c3351f2803134f6bd884142767787ce3baa992c0b394932b235f361ccab26e5700c1f5cee6035ad1de9dfe4068def31ccca8d7fc80923ca61a61d6da9692a2dd77dee9208123038576c774457c25e80676a20f3493d690e1dac6f8fe7992d9229cdd153acf1d0003b54778bd5a863986d68c07c5d0595075475f7c57e6b127401bf55bfc6f148012034a4f1035ab046509e7de295c21dcb16d21cfeb34a8af1d21d1e02a4975bef1cc03870609875b61936521824b830b22b18e057f430e4f15fd7aeaa92a666c05cfbc0339634eaa205e0d0683e413d0d5c2ad20a5d800c4c0a7ff9508e3c8296bdd67a9037aa90554a025c9e7cfd8a12bf6a862fe1904e3190af6735fccab35b348c4e1de038950ae220741aa904c2b1de0e3a4c9743d8609b8005dc92f91dd1069e852cdd10389f75b7ef916b847286b9e9ccd510833f2482a18d35694ab2e238450cc8b03800219ffff03ba3704c38c1ec554e0739053d5de6e82ca772f87b188acc0aec3bcad343502e8035e124885c15be0d7da02083d5307f1e9fed9b704db63dcd6cd17f2bd371a275503a8271f329a17702de8fbb26567c0139e9dc338c26d97c02aae4da0b743b318b0032934be6772cd5b8c6b9adfe4008cb22dc08278992d56cc99602cdc282a70aa170349df8913dea25f7c887240b38126e02ead0efffcc3d84802267af8401466f681031c1f28590f9f66ef13390a1d2fd16a393b6408ffe984239aba141675332c05550323404d24f180c478948fd0e6dab38fda1a5c6a74c03d1d84823f68c5614720d303f30c7a68bd154fec4ec7178b731bd35934662cd5d07bae58d3333a5b9392493f034baf8c62107e516f68cd589b1db563a1946057476344ee716fdffc392c9b82fa0365d7cd85d7e6114d946185bd8d582b52e8963bb501db0cfa4cc68877a201fd5903323fee53fe89603c3b03292f45dc5c5782e71197c2e77187d0dea7627d5a2ef40394a906a4992050769f442fa1919181d77d3b224cd36537199f25c8bc84ffdfcd03dd5e13147f8ce0048096d490c303aa3751aa7a0a645b2f22846436161a451b550219ffff0219ffff03e9ad0aca6971e59fa4393e82fa7a8adfcf79ed40fd584a06bf40bb5fa79404730219ffff0219ffff05581d02a65bd257638cf8cf09b8238888947cc3c0bea2aa2cc3f1c4ac7a30020f014b028b81b28326cb0a252469190c34021920020219702b0307134903f4a3fc60a027293a65e45512f0ec24091d5202024098c18f1344064103cf0d9d5167dc306e9c588bd9bc1f554dcc8e8e5e51bfef531e7b1dec1ff48677031c3b349a7ee937b2b4babc92d591b01f6c8296a446b23ca1e9686aedfeac1f5503c55b2981a6fe08260cb6a076c76858d56aafdf255d0a12a2c50abe35d468c7e703bc7467899f9d9401ab4b4ef8813422aeea1467776dab9769a67c9f98af0c2168033909e6c87be78bf54588e521ebdded1d467e8104d18958f7dd079010ee22155703e7aef0d8c9d7ac18853b8799630d1f904cbd62db280abf5396a568b84bf92b460219ffff03354b3281fa942b76ace66c6ee41878fee419cda1ae02936da5ca105b3c6004610219ffff036178c00b796955755cf9335072bd38cd74f12a3f4c3f221be442130e8ec0adee03ece33c0b1d4b69dfd6dca46228d82fed78305214705a7bb29c6fb75f2ffc4d89039c781e0b24dcaf85ddf3921a6bbfe127b400f7ba97497b3cfa56745c84998ecc03ebc2b9d1cd0c82818325d12122d3ab892cd7b0ee4d4a3b3a110c43dff8528d5303dfcc3b79be73b1e183ef3227cf2a1c701364cbb81522b378a2145a4cf6fd38ef03d2314e30908651f2db31ce42ccc55999581a9b45ff6c0e03fa83a13c3b2c8d000219ffff033b2325fec69fe03cc8d90ae137ffe100947dc9950ade2e037037fd6888a26fd7030b57cec59b886e52b87f5a41594b9ff867fccda4aba752dbd638dc719dad5f94033cd1c0534abc4f6731a6bac4f8fe2d8fa7e9f7cae0b8c47c4a372edc6d03677503c15e229341380ee54e4870b420bc687b784fbfdd6abafbd0b55e84f4881ab5fd0356c31d60f3686712e65d9ca1289ff6dac749a8ed640879de24166c4ee44038b803823c7ac96c3cab30a195ee15f4c96dd9801fa811976c3c291a5bd54edb1841e103a0270eedda67696577557248888b8a2511027fadda305716e9661e365d33ceb6034664e72ec2aac0da37ef6913e7e419924983906a0647dbf30287479bd287ee090219ffff03d8ff832eff9235fbaf0f71ff5591855b21a752a45303a99971e2f37054828f6b03870ef6dd270bb7dbb3e014ad0aa65ce8ccade1d6290a7f026ce580e06c555cd603a3613a460b948679bad9eccaf83236573cec22f10a06e54a7d0580b01989afaa032c467d5f4743066ddeb122fbce0c052a4e8091c9cd182661767f451f78f91e2103793c898718d3a264eff464a97db69f991b03173618d9df6ccde9e97f3035af0b031e58baf944788f60347d31b5735a111d7aad6589193438b1ac780cdd03fac9150390624d1ca826355ab9cfa04b022c9741a7591ab2a251c45b92c34623fc14998603a3f00cd227ad54a7933d57efe9bcd1656506d5c72a613359227184bbab53beea03bbc8f7f5e868bf12edf4e45d5b81a7ab5dcc730b73f43dd8b0e347d43e18a6b803e9b7de93b8ae0ca20864094598aeef666e8088f003c23acecde471c06cb4aee5039faf553061d16f713d33cbe32dc0fc8a0ff7bda872b0741f421cd50a90dfa24b03f666ff6dfc08f0bc965de1f3f9bf8777ca79ab106310d1aa174b44caba51cb760387d83458d4409002c68d48a013707deb111c7829a5a132be406f5b428bfc956e03a783e1bfde7e713df01d39d50ba7276fb6832849f3daa8caf7dabcf85e02145903b3924b152c9843c14fd032809bfaf92784fa5206b33ea753845555c0af45330e03a871515793adbb696ea6074c78be21e41978f953b1598215427d31ebbd2dad730312cdcc627f8a71ef8713ca5cd851305c0b9b4ae12ed34470e7901ef8f192237a0387cc86438f0d01c5260034b27a58e9d4bc00819712ae4dd525b7bc99832e373f031760e39bbd29d5cd58e2291cbaff7795a849e101705bf8df83ad437e467b9db703a56a7d51121b6da6a47aaaf84e8adfa1abcdcb38b1b5b27d8acf94ce270df73a03a27653a3b4094e6259c4baf5f45d90fe504a29fd69e947c97eaccbaff21ffb8403a70c757d7d07ba2f0371e6803b46fe3af8ceda0a1ffd04ec26327224fee8fd4c03904b24e231e1ad0cc6545fef6dd9f1d90d56d4f1774a360c238b552201da121e032b7759311b30a1f39051bb6eb6a6f3263dc55ab9707b07f00831a8d92da2499204590bc6608060405234801561001057600080fd5b506004361061010b5760003560e01c806340c10f19116100a257806395d89b411161007157806395d89b4114610273578063a9059cbb1461027b578063c45a01551461028e578063d505accf146102cd578063dd62ed3e146102e057600080fd5b806340c10f191461020b57806342966c681461022057806370a08231146102335780637ecebe001461025357600080fd5b806323b872dd116100de57806323b872dd1461018f57806330adf81f146101a2578063313ce567146101c95780633644e5151461020257600080fd5b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015157806320606b7014610168575b600080fd5b61011861030b565b6040516101259190610938565b60405180910390f35b61014161013c3660046109a9565b610399565b6040519015158152602001610125565b61015a60025481565b604051908152602001610125565b61015a7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b61014161019d3660046109d3565b610405565b61015a7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6101f07f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff9091168152602001610125565b61015a60065481565b61021e6102193660046109a9565b6104e5565b005b61021e61022e366004610a0f565b61055f565b61015a610241366004610a28565b60036020526000908152604090205481565b61015a610261366004610a28565b60056020526000908152604090205481565b6101186105d3565b6101416102893660046109a9565b6105e0565b6102b57f000000000000000000000000861e3c82bc2753ea64ae5f962d993df6853a670081565b6040516001600160a01b039091168152602001610125565b61021e6102db366004610a4a565b610646565b61015a6102ee366004610abd565b600460209081526000928352604080842090915290825290205481565b6000805461031890610af0565b80601f016020809104026020016040519081016040528092919081815260200182805461034490610af0565b80156103915780601f1061036657610100808354040283529160200191610391565b820191906000526020600020905b81548152906001019060200180831161037457829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103f49086815260200190565b60405180910390a350600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205460001981146104615761043c8382610b41565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610489908490610b41565b90915550506001600160a01b0380851660008181526003602052604090819020805487019055519091871690600080516020610b71833981519152906104d29087815260200190565b60405180910390a3506001949350505050565b336001600160a01b037f000000000000000000000000861e3c82bc2753ea64ae5f962d993df6853a670016146105515760405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b60448201526064015b60405180910390fd5b61055b828261087c565b5050565b336001600160a01b037f000000000000000000000000861e3c82bc2753ea64ae5f962d993df6853a670016146105c65760405162461bcd60e51b815260206004820152600c60248201526b1d5b985d5d1a1bdc9a5e995960a21b6044820152606401610548565b6105d033826108d6565b50565b6001805461031890610af0565b33600090815260036020526040812080548391908390610601908490610b41565b90915550506001600160a01b03831660008181526003602052604090819020805485019055513390600080516020610b71833981519152906103f49086815260200190565b428410156106805760405162461bcd60e51b81526020600482015260076024820152661156141254915160ca1b6044820152606401610548565b6006546001600160a01b0388811660008181526005602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa15801561079b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906107d15750886001600160a01b0316816001600160a01b0316145b6108115760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b6044820152606401610548565b6001600160a01b0390811660009081526004602090815260408083208b8516808552908352928190208a905551898152919350918a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b806002600082825461088e9190610b58565b90915550506001600160a01b038216600081815260036020908152604080832080548601905551848152600080516020610b7183398151915291015b60405180910390a35050565b6001600160a01b038216600090815260036020526040812080548392906108fe908490610b41565b90915550506002805482900390556040518181526000906001600160a01b03841690600080516020610b71833981519152906020016108ca565b600060208083528351808285015260005b8181101561096557858101830151858201604001528201610949565b81811115610977576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146109a457600080fd5b919050565b600080604083850312156109bc57600080fd5b6109c58361098d565b946020939093013593505050565b6000806000606084860312156109e857600080fd5b6109f18461098d565b92506109ff6020850161098d565b9150604084013590509250925092565b600060208284031215610a2157600080fd5b5035919050565b600060208284031215610a3a57600080fd5b610a438261098d565b9392505050565b600080600080600080600060e0888a031215610a6557600080fd5b610a6e8861098d565b9650610a7c6020890161098d565b95506040880135945060608801359350608088013560ff81168114610aa057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610ad057600080fd5b610ad98361098d565b9150610ae76020840161098d565b90509250929050565b600181811c90821680610b0457607f821691505b60208210811415610b2557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082821015610b5357610b53610b2b565b500390565b60008219821115610b6b57610b6b610b2b565b50019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220bd970baf35e6ee350dce926148c16dab64454197f76b517f1450206554d0a6c664736f6c634300080c003303a974b3902309af4c7397b89bdd918e3993f9a113986a9f9270049a1c8c2c916f037af2900a2261e544bf7c14cb7b790909eb19364da80e844fe40da0155e3b61b9034eebb08783102b556ac19a42ad42280175ebd2f4a55ace9818906e97cdf2959f03bd1999ad1633da24ba46cb7d8955ec44b8029b62193620cc91c2a1a57fd2c44803b2d0961ed10fc9ad920c5998f1372da794fd8cfd6b8d3913d9ba5bbbbe01b0650332d3589417a47418e9295117a070687daf278839f225d61681710c7ed5fce60503ea1baf80d8e148e4cdef457a7c808d2dd5876f0df41bb5f7237de9d67dd1c41403184ef7ea856b1f7610fcd61ce4d36d5686ab16f425a2d7c39275198e4c39ad1700581f025d7562f1df2ce113526741bb6bdac96f8a1e6911ed7f3e644be85fee91224906e6e7e0b131934c2900581f02d59a3851149e3b7856c0095c835d7891702c355c86f4662e649548c0bb3a4901722981f6a6fcf89c00581f026f15111df7c7bc615fe75a13b181a593799599dbbba6d52c116d636497f64902b59936f8bda6e22100581f02c4ae8025e97ff86b06346ce83740d085ac1027e66b47173a5ec5b46af35146b7009dc793b50219c1c00338466cef7e6fa47a6016c91204b79b9d7cc18015970ba1fd2c7560d0f84344e6033fd381446a8fb6a67289aa15caec59ec84ebaf3826a4d500e06e305d9cc0dd1e03a2a312d4f61b49913902b13fc146b0510387e72bfea84e10e32fe5324cb1ccfa0388bf7e0e50c5f710d70bc9a87a64b2c5ad7c537baa164a1885decef449bea7bf03e2cef9a36b3d26558f56874b995a32995db822af51e7fa950a36351e750f9c3e03ab67f80a9a381678dcd21e660fbf52441822bedaf38356fc6118f16163b2a71b034bea9fda442e3b7848112310cd4e6a019122ca0b66effc78dfb854dc50e6a8b4038ae481eb2a300bcfe0db000bb72075faa49c247e9aa546dbb2ec68c1a3679f0b039d0801f27ca2aa9b93cb9744cee20ebb816c4290502e4d362e1a9a1b3cde54af0219ffff03832a90fdb41dd49d7651dff62efa5929477d104da4204c171e9f9fb07f5d948003b18a4b65be4a5cb06885163a3384f797cfd187cf47a7b774bb635a29bcd56abf0340402329bd94da384e3a23d931da0b22a0fba9efd79180b8170bfec843550fcc03af33e8d5cbb4626bb82a8114d25c3bbcfa67a64e124f2b7363517d6279dd11f00393174550d6ba253d3bda0038640b014866d8f348eda825c0aedf7c75c1316b340301fc12806454c828c84eee8a2f453672fc26b914a49ef68b27824bac691d77a003bde9262abe07429e3bb99e6abca96752c9ac1651b882de866c9ce2a1f0bf815b03a99cfe24ade993e38b0751c72675b20b5be49d68c01940758c330b5c678f62aa038dfb7dac6b73c02680162e09b2de672682b59b03da0445eed9da1154f81d800f03f5f0dea4fc5ae27e5b2ba806d3097934e2835912d9b1b77457050597b78e903703bee041183ca97ba5082dd6c571da8001c07d0854fad1acda018c43416c3869a1039becb098ac8924e1dbdacf133c0070a72056f9e529cd15acd3c2e5b25f910af1031d69e0830866e4ee282abbe16124edaa4bc023a19a9bf26bdd882f10d1c6475c0365e6488abee3426b8980d57f3b8ddcccf95301055a3993d95575d49f69bce733033a14106ab60436e00705b9678e44bc4fc11f29f3a1d96792acf902c82b3d5d2503efc8c67462cfd2e932400b25c91ace778d4ad4ec3bc3954dafb4d34d68b09baf0307febcbe3c4e1924f66fd20e18484476ee95266ca42423e47057241913dad49703458a71cdaf945bbd8d6a8e205e2bc825903c37c90317d1056b46c4bfc9e1043300581f0257c71ec6a80f71c49c90b6042464111e0fb787083de770aa337f07898b1e491a055690d9db8000000310717376d6ca8227980495ac12c2d0816d601b6967dca86adda9b605cb35106600581f02f55afe68d724bdba4c6b75589c5481e807770ab6b13b806ea44e9f5a030355446c3b15f99267fffffffffe2382e06241ac8ab56202198014033a460ea1fbdfe498fb785501a16a78878d2284fee31d5997057dc4fd2d60a639032119420f931cb57603b6087eaee06b63b13fc2aafdd898449acd7d9e20174d7d0395dba67ffdf505274563bfe2d3d048ef6b551323ee81707ea8faf0c25882b9b203df8312f9b9aed9dc06ddd7006710b1dc234608ecb323c7d83067f2f9a8ca13810219ffff03ac32748cac0ff705ed5895fb450a9b9624ca6f59cae4c5c96c11e1fd44b900d703d67185b3feb3358a224d769666ab6c35288ad21567c6eed06e6865dc12acc41603d885751504049cd453c7ba314c20bafd7802f0e3d3e941f6f3fa0d548f55d57603cffe3a75197a007cf9351f191fc3d28aee09045f08bdb73ec384dd261a5a6a270339ad38800fbc918c4d73aab7ae87a2136852ea3baa5c6c25573c27aaa17737fb036430f06b608a31154bb0f9cb641b8d70cc4648191ccc1903d8c2d7a0bce464c00307266a79245a7d5712e4fe46100a23a89ed590e86530194af98a1f80d1a216cf0219ffff03c139b4d542b075ad107f7a79c5a1eddf62e0b5685bdddf9368ea25da61700169031d8c0eb013e61bff726f4d5b6d0795758d5f8b42c86646314dd9d2c1bc4c2b2e037c64b74c51f80a50b04e1125a60a6c18c16e28f3a504aa21772346e0e3ce9228032b901ad9137135e532f08b0b53e32d6bbb2407f7c02a348d017af729f2f4f69e0362d08d42d36f3f6de0e25370ca59944500e34daa37b76d3dc3537333ff920b2a03bb34ba6fe4d173d4348e003409315781a8143fe8ed41c64dffbe9ad152f61c72030e19a251ccce6f35fe9b09b6959441157795ddf6f26ecb2e9ca2aab62e7951000355b7ead64750319b829bb0d4f3614b207fba9197429da4dd24bf368ef9d5709c03cd4c685db148fe72a2401c2e39a477c1c95ed24f0832e43d1a0b4be8ce6111c403ea8b98160a1829d5c5f788735d7387ff4adf9fc87c512edde9b23e1a0c482eec0397770908c03e8043a1f144786035195642a824d9803b97e12b4084d7c269ea3f034702581f4c90e449f9c7574fedac4c25a1576286d29e2daf289e47c18ccfe4cd03677d326283b53d24aadb234d3adc53061b2822c651a2cf468a5a1fa73f99151f03e9c48fcb92cdebb5b023b2e21bcc7bcc2e6c4e8c55b19aa0d5e3df038ab978c20219ffff05581e0345a672e045d875cd3cd866152943cabe52d3ef8735b4c426861d65e6c00701190bc605581e03bd586975b694ee9bbbb5606b925846d8ad271b1bc56e6589d8d4bff810040105581e03955f8c3f4829db55747225cbfc5cbacbe0590572ae5b4ab5286d33bad0040205581e037d670372f2f81166dfc754a07705c50b8f38b8f84f098765c0f6bdd56004187b032ed73607741884446e957c97b654c4193db1cc65c59f5e7d6344d4e9a5463a2303d59795d5ac743bb4f3bca97221d32d7fe687daff0f9820f9fe43d78942577fa70388c46e12a9a561291e92be59d8302504d18337b833944c75759556294beddfb405581e03d4155a9d5ee6adacf14b5ed875e65410e54d6c46e3b27ae3be472fc0f0040305581e03b4cc7f224c62af5bfb137bc6e913155e7fdc0a2732aeb4418f122cb9c004040219ed2e031cf773c5908cfffd750e96f1987e4dfb23f17b1674e1f90c421dc9ba20a8f2900219ffff030ff9c5e2de2f280a4e658d81afd5ad9f238f2131684d9926178149993a75fc5c034fe91b48872103127076cdab47c5357e407a6842b7faf740fb4d790a41bc422e03f09b6bbee59793a5b5110862702ca2acf157108a7dce7716290d0e283497f62203febcbdad414b8d7f86b1d7e8336f35cbd70310d5bb02778a427b190ce50dd1ad0325e42f5584a39e864efed0cf433bf4afc65f21d015934366d3212b53bdebd78303104de499abab8ffa65a4342e3ab6669ea285eadf7bff917958aa9574c775bb4d036b033e077f57e0c955152436777ca3db5c84ebca6a15b30800d75eaca0a0e62403b6377773710956d8dc259263a0bec22f1d04e9a825e16263bcee81dc8613cbe403568165aebdcc4581846f7c35e953eff55d33b0635bdd9f07d2dde643e6ae68af03bf9257fb04e0f2bf1e6cfe9b1f010377eda787e3402d5951bb35a985b41130680319562bc0cc3ce3fe5d58f3c21cc42d109c52d07ec15d1b0ee42aab440de7b41c035fff86445c1b8512057c516e4dc27c8247d30e526f1e9547c29859df4a245927037f5416ecff8b4771e80903867735f17b7f8b194a3af9cd0b83ac762f80353fa8035c0c7b6c27e049aebe76af174f817d9f87ced4088b917a6a6cf9f8033c26bca70219ffff03a7022816f732d9f65090e841b274cb023434dcde975277ff528f91649d2886f8039e528edb270e37d496b584f68a4000cccb068ce6738bc6264063b6071d1b5d9603708d9923afeb20ff64d281e9bbcfa8333480a530734353efcc59e65c200a2bff03965b84b0cd4a97706b1304045cc19a8f671f973850bf938d94064f061d1848f80325fd33a2ea4da6dbd0fcf9140f90642d6afa9c26309e1a3e7ef548199a226f3e0375c40cd9927f875c502d2d13e7b6c1710b05d1d40d26effe1635d5e38e593e2e036c7ffda2dad9455bad11b074c9e13d2027d34f10a996fedd4610060428cdb94b0219ffff03e88f0f5b7fe5d1c853ae1660b0d18b9775276426a5611307c00f9a013b65f85b034c26e5a14fe78de0a508a88dcaa3d8e2a45cdfe59d5541f8a96aa5461e74691a03a13b7088228b03f0cc7293a4c54982a3a24062f0130633309dda0eb46d39480c03bab93f5a00bb1aae4adacd3168bd96bd9781a1e86bf2f83158898a2560fe4d000303d6e54de33e16c114471929b8d954b32d9077940982bec3cf76ca287afe3ef7031d09c33b917e2b18612e95a26692fe392e172698f93a03e153a8a0355e64ed43036be78481b23774973f307c0f8acfa2193a402e22ead13c803f83ef8279a77b3f03d8e8cc55a5a0cb45cdb0a86d002a132cd229321ed390804ca540437227fa12e703499058437498455106ac4dc27536b83fe5a01def004d9a4ba76cfe3b082522f4030d43a51bbbb1c1ec53e49daabb8e6caf4f290bbdbebc3a582eaf7a44453bca0503e7dfa81827d05ceac8e54336913c98664698f5739281b68341e951e7484b7f520302e920fc74b58d408ee366aa918e473b6928d9e50ef2d368230c8758f25d367d03bad110f0bb2ae8c6a231cb1cf81a3ceb9e5b14361ab6330a3a1f954d357e567203708318c78b6b431093a2bcdfa9fac20d6befe93085468355a511496236e7ff8403ce60ce0f2070c649eb67df56e28aae378a35e362b2972b65916c35469459feb603c6144ccfceed37b159c7b560132bab5b09d2ef3b7899a78bcc46a32ab9faebe5036b54ea0dfb0586ce687af97a26c2603efcd6c813a423e2febca1f225dd69ec4f03077ce9260ce61abe078560a727f26d1e90d044f01f4139d86a990ec96b73304b03abad348a734575edbc5b35645bc32af68453d059e62f649d94612588267c83ed03cd06fc38b5cc944f87a692d49027537c4c5d911593819dc94073e6e8f4561c9f030382d39d92d286415db3a2e40057f67d884491e724552cc59efba880feb0f9770345df4bc23b9cc8e2ada11ff4302f91a89c3428fdd77dc2b0522ca6fe753248ec05581d02f8367e89a578e978635dab3327e2e8a513f9f6de09a9cb426b95e9bb0c186d470c49898ce7f27805581d02d9f75d4df54c2f8d3ae261944372e79a1b204aeb42a5a4488d73f47c04040218440384d3706a45aa68c5d5aedcc08a6a111156176c9ac1b88e12ccf3d5708f48da67032e4dec1dc265df362ace66197ff84969447966922f115664d266f1c25db21f5903ac68b1e8b766fdaa8139bb9ff2deab068e274425a051fb08f8641272c5025f4f0605581e03cc37eb034a657b2099d39970b1344f1319f91465783d33692bda16731007011bffffffffffffffff03f9b6c288ce0a9a342eb5ac060edfc116dde621a910e8b646dc1ea1c1d2c4080803f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e031a70c01f2b7a7010467b843c968f24790f530bab9fd76680aa313ba7c007011bffffffffffffffff05581e03e2fa738dc80e27aef24a181ae306df5be7d888d09da3fc7d30d57686500401038e45192402564c7e1457000d6badd8fbeaff47711faabd1d5cd1146f985969ed03e1e50b86a649354c3c60482af996e59b889f645842e31611dfaabbbc203b8a6503c34ff91486c926a0a2cde8ff25c91821d1f92316469964160621372b77abbb1c05581e03b20e05f9592f0374517c7877d15ca84b3de58eb6d002594bb69e4d9530041603f2078fd903d53d4ea7fc2cd23cbf4246f06c18fa810c311b40bdd132df016e7f0219d75f036990a77e6816f4def03146dcb3aca77a5a54f43fb91c3eff6ec54156fd38b6e103d598f3a4d36be99a6265799994e6d60aa6078e1654a93fb84f76393e4e197a3f0385e3b4deec1635da58ef228b695c23cc7d6742f8fc0823b9ab9c50e66bdba8c703b3b64d4241a97b6b3a1faabcd2a94ae2f8218a195507fae103f2544037a6411b030a7a30c8c7294f0460fa988ad0686171868c3ed95ce224d1b016130cff9ffe69030839efcf374c1fe01417466d64188ed9dfee620c546c11d048819a51f2cada7c0318be7dee7a8308dae2caa22c29defc4db2fab80923867d936609ce2a1473c47f03c96c177097a1162a5f10c8bc7e9d9836fab0c1954d2dbcdfaf944e9180fc0189038cf53d91e820b44603dab3748db31107f6502c5cd6b08eba34f1850a7b88889a038334b94dddd547f7d1785be1ebbb2a83aa2d0eb77c02fbcaa49edbb147b89f7b0219ffff03b79ea3405154d723fb6ac0a9e2f48c636718d39acde93f9fedcd876b29117d92030ae99e25dd273fce28a137941cb7db5bce1c46cfb87aa56e3762bd9ced60483e03b9326d2d22c79a522337013b51d246767e65825bbefd16425f12b1961171f84603bc0f2f2c39318b03cc6e3d345d24e7d6b8ce820c79c219751c28dc943d73ab52038db3e0b453dd02131a309d9f3a581211a27905ef44a7c14d358bc4d4ab278f4e031fe31d12340a956ab66dc8919f20dcd18959aefa817d0ca86b8a7b35f2c44f0203f5d6ab8a3c5859e11befdb7a1dfc68b9b5d10f201191801242484650ae725d22030e7feb325d66b3e4d2d17a5694113f640cfa92e2680c5548d8e530941df1fb93032b79430617ddcc5daac0b351a26550d459ab9fdf76851e22b9f9bcfd428e638a03b6c82c5b979444907a520a3d69e09370554a73d49ef3b335f33429d7ed9f35af0219ffff03889acbc7491819f1e6df7eda4749aa6a25589d25e448154e2cd6974e074196f603948e4e4589f4697b8456a4ac5c1627357e4fe067cf59095eb4bc885d70f40f6003c3144f6be438504ac9358968fe6ea4ff68def4a7f46d203f50cf24208bb337770325724dfe736ab2588c00331309f27bfd2ae12d90cf74124af0f87c78673b705f03f7076f6d54346bf73f80f584efd5bf52da7be789654f90b10fe188c0c58bc672035e551b8a83e6c104f316c4f3d279a8548c18a8fbe3e83bed2da070a3b1eac23b030937ef5799af46b58c148dd5bb92a8fdc4f1265894d2bde731287785c36570050336cd41cbce9a39cdff2da133ddeab962f96073a03214725f694cefc5df1d56e703a7897fd8cc03a5dab10fd35f03a1a2f61e41d02d882c911e9a7bfd0171822a1303bf9e102e2a066ad2add163f7c0bb068738f1e77bdb0eb23eb5f16a374a5309fc03c8e4fea822d66e24eef75804bf600fb8eaa33a405942fc6d96cfe9f9458be6fd0219ffff037519a923a5c82479b66b732def89bd49e863bc7db4f44395c4763a3d2fe6f2400364253ef35de9d5ffa5f7d029d400803c420be252a4a46876e3f3f97bc7e45a2b03e470699544bf914081a5953ead7c98a1f98d55749660c352e308ec514492cc8303bd8c2ae834da48e4855ceed94b3949faeffdfb60493a89bdcd32d44916f222230356367765016cc344afa8cf5e20292ddb181411fa1971be2d3587c0c09a028b89039846f5fe2712b63d3c8278de8feb52348b38839dfad36ee1badcc0d708c05bce0219ffff03a0fbe3bb31767d378e2133d21392057c2d9e752f49935f34c80dc3de853f1ee903971a76fbaff5f44e81e9d64c4793fd0be04416809c9bfccd842cde4cbc34f3ce037c9bf3c81413eba81d5a97e2a4b110e0a5d35d14d7fe0547e534c5ed29cb73950395062e7cc2e8ab978cc68355b2cbde0985d8f6b374d5afa549ae7a1226424d360342cf8ae974dda627487c0a3824aec09cd35532d3bc5decf949bda454b51fdcf503fb0b6ac3005516b0bc2ce1067e03c8958335fe010166fd799ee33272fb311f4105581e035e3294b63d13ddd33aa571c34e2fb41d47a2abfb87edbc3f391b2aed70040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d0203110d97762571df99fc6e2387025ad442edca2525ea7fb53e0df9e407011bffffffffffffffff05581d027e9ec94bf48b31f23434240eda16c63dccbcd55f91ea8157a31ddf300c1a000b0f0348d2aab6f84b3b4e6b02190108035f66251df42b31c9efead17d0d6beff4367201e0460dc053738a7831fd1981b605581e03f623ddad6528ba01b06eb6a202351cec077e5a78bfc4f1383c15cf14600c01476bce8c0c5390f503ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e036d0e39017ffb62b31fe00f4e8f55ff77c9cdd53029182fe7b7e820a0b007011bffffffffffffffff031c9196e085a5a16c3ec281d97d7c616c2e0769bbb877e3b49fcae8b9fd896ef505581e03bfac77d805f7dccec7084ef66338cf121e24f7ca550aaafe61316bb790084705ebd312a02aaa05581e030ac50d2411e2db7a93ccf194b77ccedf862b1cf64cb6318f3f501344500c0146761bad843fc003c03f2e77e5697715c872662e8fa1f959562244f5214e2f2104df50126ba7f26102196c76033072d0a44b09726e36efe01c2c2f1432bafa51acd35718c9a1ba93bfb51286d603dd00910013b7a617616e429c680e681f1b3c3d5a9ead1e2c0277d188d202cda603593c52ff0b684b7036ee974d53abc2599d7f269b34eb4009d3b008d7ae7eedb6030327cf4f1c1d8bb9a52cc08e36fcdd5942bdb21a51b3e1e2d05ab13bdb0881fe03738cda00dc58f046f54f9e64ec0a0a9103e5251d0aa6c29c4cfaed4207292d4103d46397e3601b26d1d04660cf21162f76d5ef5f23bde319883754ed6dfc4c305f0307032859e3f9d8c73febbb9aff54528f97c831505ad9714cf16cc2ef923a2a5c03fd2e95debf723ea3c5d9d96209308ce515db8fa7ed35749e2c608fd781ab56a60349592f72e856dcb07d0c1ec84f728686115a9b311ce37ec76fa2ff278705e021032ecefcfb2730d6eb81e08936ff6f2dd93f9400419ef84e21767beb44460c520c03307e55d633b7b655765f6e3f9395f99384f395da4f41c0038e6bc9d10655a23a03d7e395619e4753a28f716bad2a69079ab07715f2fe6e9779401eaa2d97a997ef03dc43ed70735c5b5e30ef169b92cabb164ca5d18a8aba4b2629c8bf623e123f2f03ccc28a88e06b34a4cffb3fc8d6c50cc50241638299b9fc028c19d3313c7f8f600219ffff03f7b861b80f0825b56a99e7557ef2e391bc90714fd648a3c9030c6fce9d55518303f609c9bff466d4468e0477fe36ca2c43efea22b6f8796b88af2a779e3186140103d948ae300a019761d199e447f9c7252ef4588a59b3edeb61e0bc7fbc4676ce6303369d432d7ded06cf67e741f329950895dcdd3bdd8a364b71527b9c4742c6397f037805292e39597ab1ffaee721b1ee1bc8e5931bdeaddf9c234de9db0270b181b403d99718a99fd8494e54d1e3231c7e7d124027c6096198fa11624c8e9040b86fc303cec69aca8f00fdb994fb60502855ca890ea4e99de6a43664e1a8081975bd130503dce749156a06eb2365525149921286b9e16f81153399904048409a69d8476b2e03af74a06f02e5f639608f65b6df004bb1e6c37744568b8248913aa45d11704804030c3bd97c2359c196556c3310ff7eeb959d49d6359c4e40f249a244a7e63a34e50373aa80523a2b978c50e42529f1efc4c6f1c847996d7358d0c9d700fe56e0bef80219ffff0309055db04a52ce6869dd5e6983c6011353a6797ef5514bba42a8a3b8008a402203fadb8629313e75fb46014cace0a40a135654d190cdf31ee619a8bd7a3fd4a6d603b7065a549d4a2a09be2bdc2a9c41b0dcab820cd3ecea72e6f2fa8d7dcaa336ec03a659ed812f944f020cfa98cb465ef782e9d3038ee686ae279004b13813fcc54b034f51a61d88de9b5fda9a3a27255efc5939b6e6f38a3d2aab57a6799a3a2efa1903d441823b33bc6a36420be1b4db36dca652ea28a326ece23f25f5da6505c8463e03b367975cce9d709b33a9d6d53c709c04d7b8a804191a84ffcbc6346acac9058b0347b1e81f40eb5aa90d108acfb8bcac0c8c1c3a2320e7b0ca7349e7556afc955003e28eb2a95e364adcd0a65309bfc5f8eb39b26bc9764ed24a9435d12565df4d4d03839ecd1974858501b70c65b065287bf2fcd2ba77dcc5384ca2e775d05f60754a03b1dc9558a057f134947c95bf07180e706e9241a93a7b89a11430694a5f3b4788030ba10588063c74401c25ea09717d4fdcbf3e9557916a11d770428ef9cc85e68f03f182ee2854d02f59ae274b01928ebabf7a54bd82eef1ac04234f0ae9fda9a53803ae99c8c25ed122ec8ed71abb93fc4bcbfd7b8867192bc300bcd66eb29ba8400b0379defd5d29dece7800d7f9f27919a554f8cabc61281db5bc1ecd03548223e26b0219ffff031e90159b75f7c1faebc7b6a92557901636df9ac42da6a2cd15234e39b7ac109703d49eae6b29e500130ebc27d26075cc1840b4e0c5b2b8378606a65d50496db40c03cfafa9abb949990397c7563efdeaa3f2e893943df0d84c9b2e9f5042a629f8980306e07f6a822a052ba34ebe428d1d78ba1afa57a43716210fc896ac2495f874b503332099911e77fe23c7448fbe532a7b4ab333628cbf32aaa6f52a9a0bb45b7f29035d9a7ad6e6a47922ae48a554a6309751ec249663060b66eac28bb3c934d2e4b7037911cc9ac35b14b4541bf64cde01ab62b9ea412dd0401e23fac28bccab1de3cf03eade8f0ca4496fef7ba27eace8c88d8fc22f37fdd8755dbd145abff93e0f4d210398e33ffc44647b2d4f546a656705675fd4b074a43a3e390a7c5035ebaeaccf0103768af384bb89da1a4cdc1d7954ece7afd7a34644a27248128d819742afc2c40e0394fd2813496e043db6f21861e5b32e3057d5aedafaaa93cd8bbe4ac606451a0a03413cc7b53e6e49a9053acf447aa8824c17f1b8e1d5729599059e4b48433006b10312b3b263617aa5515581f3bd1bb1a8ad0089ebf16d7e27eeda0bc52bc8bd929803f33ef58b73651fb6ff48a0e551d8fcacc7839aaabf82c556ad34b1d8adfc77330310af2f5b2cf60038ce0f25e5950f539bbdcb4c7566fac88f6e570dd257dcd8130395af496425b0287be45a48201b91ef86fbef24e093407aafa366578342caf4f003907759ff0b2108c8e19a57072e524c75b5778ea85b520319aa27434c4e40e21403a9977769b627bcffa6db115b7427b737743ebaefa4df8515831f06d0d4ca35a603240b7d55f22718d257e06253cd57f288c72c91f79bb8251de2596e64034fc39203fca9715d724dc5844ec8cae32caa68ad3a65fcb0ae887fdd59dd316aa12e9e4d036692e3a7bc9a48b30340b2a66da47038b8eb65aa3d96a9e6449020028227e6ed03bc9bdf656373c1c881534ac8505bbe29ccc4f5107aa2023e1051a20fc0d60484030f2f599727e1d68268f88b1c61fab226efa6f9bc83b47ea549653ecaaf63383903f619414c507b217fd673f24cc7e6dab0d8ef0eebda11465f82656fa2ce354d08031bc7beb9f3ce48525f076087f01963fd796046a4bc5ce8fefeb57ed07dad56f103208e17623f09ebdbce1354ea263fdcba4abdada922463c67413fa2cda27fcfc003aa521cde8491443e4644844eea21f38a29fe180bf581f78d5591dd54b7e9745a03e7cdf966aa1629e940c81d8a7bed5d69aaa4328852c092392257a6741203358403ac33568c703f1e055b66877f4d5a1445525fa2bd45014b668ca7a1de88a0800a0344c0709a21eb264b2a683af85290514075de537de0d98575b30ffdb7fe5a056303d754999a5ce4c67906b84e897389f731e22d96723881ae974d51037f3829dbb1037cc89a7b12f1146aeda9d772c7a6fa640e0cec45e3d769f7e958e639f9719eb303f8baadb725b1f70a5aa9584d2ba3a5bb36889490da20c1f041475d1d27eeb8cf03c51f15a951ef8ac4f330f9238afb3858c528960eff18d5ffa94ef37e168abfff039463ecf0ba42c9774ab5c0347955d63f2d3442bfe207426266bf895194346e2803469d79bbcbb3ac936d71f176583b722c36d6af4eec84629b87c5251214b6db380370ec075e9859f09c8916f068a1e984ec38fb769030e3ff25ce1b29ec8d8bae4d03dbf95ed6be6d7f7fec1fe84d22cb05ef8c346fca85361bb4131d32e52408def20338564b04afb38319ae49af0c068d5205a9fbb4c48f89a195839765cafc4b98820344a373c8b14b363f622811d477acacdfcc348cd77d8f2379ff891aa3e1d2d4e505581e03977938a4a7eca19eb1cfe4a566a4e7087d9ddc5e9dc4403d0aa96b14700c06470153d936bb5ddc05581e0314332f0dd2a41e1f68df915a6ce424e52d2f7b3094a422fa82b43dda300c0a466c259e8f676005581e031e704c093cbd09ba3fd45ad9a8e14977671ec220876fc86b9f96d025e0040f05581e0384524bb5e5652914dc833f763b8041a05b8f04402f45292c5b8a94b8600c182347059819e0f482e805581e0357762613c647932849e8d88b67994ea3c31a2d15676f862d8b12fb46400c19012848032480864b7c343a05581e03f7dfa894ee4b0052451294bbc604e84886618e95cada1a87c4adf8e9500c0647b73f401bd8505f05581e037e8b9ea9c8ed41b4636ce445118a2028b3ecefbbb7bf100e0223ec07300c1839471fcccb2255194803ab61cc3b05c9a7dc466e110a2b490c530f6cea076302685ec95ff5753660c4d10605581e03a87bcfec0ac8ce1914cca844d4f5b8039f7d0af82eef3cb2512aea898007011bffffffffffffffff02194ef703c6123f0734fc2e18bc6e049b682b52c2287ce61571d49795a28186267c35cd8b0333b5575da397a5400cda9fac340a9877db5a85f6c3648a9f0f5b73737d4c5d1a03f393b3ff8d1e53eab093f8448639515ebb06e03b231b8098866d85994a5225b40397f825715dd9050ea3bebf2e3056396b379302bb38bc407d3fa0233c79df346d03ec496d759ea4b9284ede3d679567fb38fc9873ba7aa507413f30bf2c4e808bb60219ffff03ff5c9bad96850ad19c207faef944481cd0482cf1b0e48a32c315f9696dc4090d03b6131923e1ada4f8e0fc2dd20e22816c0337f6232362321de79a79ac1dfea168031ffdfa545d682fb16feab5e0f8a7a1342ccd6f39e21b358314cbbee49b2dc4d60219ffff0219ffff0360fb0cbb769681ab84c5e2a9dc2c125d188159c6939c1f8e414134abacdb3b6403e9f6ccb442eb02f42603fe4b8711fb6d8f41b61cafc61afbfd8584eb01cfdbd0033b5ced5373d79e2ad19d3e5e25cd27f2ceed88f42bad334bb56e3d873ba9151003773da8cd6ba2f64bd7814f6e7d6bbf3694b95318d6f6f7500cdfda3e418761b50302ffaf5de9f926b5b7dcdb5c4024e9e678a86202c494b883bbbc77a7eed249c803758b219c1a90b36b579fe2a4160b6b93f83b79838081680e347a08b4dcc2fd7f036a597420f69513d111da77e0dd5d912c58f00a513d69b697932cb133ed32b4d803e8ee5d27fa12fd020b8b3d8eb43faa78511775fbc40e165e9794fa980de7a26003333f936759963ed47a1f410f1994e73569b9022511b948e753045e87ceefe79c038c4128af3ad64b6a73ef182446ad918b792bd2cdd6325d8cedbe5a72ad596b0403c42b11c900065e946c4e5811ac94f50deac71e087eb1d1c30d79d7791387c1180386c3a935c3677ee9ec90509cb1542628d60887df125835e4f03c9d87a6b70e3b03739f345f81d3e6b4354d21c21f103ddee60157339175a967285dcc754121a8f4037fadd0962f5491dd4e83cf8faf1c61c175cde90de4ce31dddbde678b9d8f130503a03b51b9cf7e2d85813ca9eeb9f0a8fe22605918227c2a12dfc49aaf8ff8f0b5037891520a48a50cc5f1288e39ff95dee19f3b0a81c6157f9819bb43b5f85a916d03888fac91903da56ea49bca475d7ec9a054a66d1d5131b16da5f7146a04746813036390ffeb026f7ba2dd5e6cb158f4bb29e504080635c3da5eda9ccfed5d8324ba0314454e07d5b624bb745f969ea2f9f17c51f3dbef72277cbc2212b5c3ba044959035cc46b8cf89b6b3b2da94ede29da526d6d92721d456fcf5385436d2990d760b7035844abf7f524ec7920c82c33f653d59fc6af868f3d5a192d4cecd6200486a467037fc3b39bc91bded45bdb019c0fd107e3312760446dba6d2561ee35f1f67cad6e035e687b35a760cf26573974eec1efffaddb29acbe35c14ed816b2f6b9963ab59e034e171760caf31f59b54bba880114b291ee8c3b77775da199928beb4c80fc775f038c8cf66b9dfb6c2ed0551b9b4ff6e7064c194b1437db3c09aa0e20fae8079f1d0399b8196e8e66e8d7a8bbfa484ba8fabd77fbe9a4c1a5fb6b6c03d960c9db26e703b04b01b6940735f1dda50f5546824864c3fd70ff772111ef4065ce4f8170cdda03b33e8cdbcff4d8858ac2452e28cfeb012fea07abf27bb6f61834a21ab2891ed503eead57cae4482acfb508341fe57176883485041952a7c52cedbcd561e138934003ce1f41028607d58c2b84bbd029961a49d6d3f6703712a33f1014ed6d665f3382030317122663eab258a12f28cc2a51138d58a5d63cd27e002e992ed8be7c39a8ca03a0d8c6641f13234d6f7ea9ec5fe2c4a9cf231e780ca871e2df8d067fb15ff12e03f138519703df485d9890c6cb9f122cdaa496b80304d938c6e293a25d43cfec85035a0b8eeadc2151558a4608d10314c3b0a0d40575d6183e51482b78737c0dc6c5033893497e1c6a82ecb5306abe4fbf790e4210a6073e1309b9953d623e1a71d63003d97ea39812e28388f02cd93e123d75a4c50504846130b515a53875f4003655f10312741ed4560323998eca956749f147419395491b69664b75b77e8406fda45e6905581e03401a43d1ea124406c3fe6d0169196ac237679e73654ac0f49afe4f91300c0247031318a919447a05581d022b0857f5c241b063fea2453f0ffada67eb6bf5c716750770947148fc0847015f10a0e2200004593f5e6080604052600436101561001257600080fd5b60003560e01c8062e969a814610338578063042901c7146103335780630ec6b0b71461032e578063116191b6146103105780631dd26496146103295780632425b3a4146103245780633659cfe61461031f57806336e2e3f31461031a5780633f4ba83a1461031557806342bf3cc1146103105780634623c91d1461030b5780634ecf53e9146103065780634f1ef286146103015780634fc07d75146102b157806351ef251b1461029d57806352d1902d146102fc578063534ca054146102f75780635a425fcd146102f25780635a9f55b0146102ed5780635c975abb146102e85780635e78d327146102e3578063637c9d9d146102de57806363b434941461028e57806364bf8d66146102d95780636c0960f9146102d4578063715018a6146102cf5780637666f125146102ca5780637adbe273146102c55780638129fc1c146102c057806383864ac4146102a25780638456cb59146102bb5780638aa50991146102b65780638da5cb5b146102b157806390646b4a146102ac5780639242164f146102a75780639cd939e4146102a2578063a1954fc51461029d578063af32a0a714610298578063b473318e14610293578063b8c2f66f1461028e578063ba745e5314610289578063bc5455d014610284578063bd7c54121461027f578063be3bc8ea1461027a578063ca98ef4f14610275578063cfe6128214610270578063e0a1bf721461026b578063e4948f4314610266578063eb67241914610261578063f2fde38b1461025c578063fa52c7d8146102575763facd743b1461025757600080fd5b612247565b6121b6565b611dd9565b611d24565b611cb7565b611b7d565b611b5e565b611953565b611913565b6118a8565b611889565b611040565b611855565b611836565b610c69565b61159e565b6117c8565b6116d7565b610c40565b611625565b6115cb565b6114b6565b611479565b6113fd565b61139c565b611144565b61105f565b611013565b610f75565b610f52565b610f25565b610d6c565b610d4d565b610c88565b610afd565b61092f565b61089e565b610511565b6107e2565b6107ac565b61065f565b610576565b61053b565b6104f2565b6103f3565b61034d565b600091031261034857565b600080fd5b346103485760003660031901126103485760206040517fe0aaca1722ef50bb0c9b032e5b16ce2b79fa9f23638835456b27fd6894f8292c8152f35b6064359061ffff8216820361034857565b6044359061ffff8216820361034857565b359061ffff8216820361034857565b9181601f84011215610348578235916001600160401b038311610348576020808501948460051b01011161034857565b6002111561034857565b346103485760c03660031901126103485761040c610388565b6084356001600160401b0381116103485761042b9036906004016103b9565b60a4359291610439846103e9565b6004356000526101376020526040600020549283156104b857846104a2946104636104b4976117a8565b61048561046e610a12565b60008152600160208201529361ffff166040850152565b6180016060840152608083015260a0820152604435602435613895565b60405190151581529081906020820190565b0390f35b60405162461bcd60e51b8152602060048201526012602482015271092dcecc2d8d2c840d86440e8f040d0c2e6d60731b6044820152606490fd5b3461034857600036600319011261034857602060405163044aa2008152f35b346103485760003660031901126103485761012d546040516001600160a01b039091168152602090f35b346103485760003660031901126103485761013b546040516001600160a01b039091168152602090f35b6001600160a01b0381160361034857565b346103485760203660031901126103485760043561059381610565565b61059b61228a565b6001600160a01b039080821680156106265761013b546001600160a01b0316928316036105c457005b61013b80546001600160a01b0319166001600160a01b0383161790557f98ac3b973026c0d730e72f023f161bebb4ba504d9b1c6b83d849d3cbaf7f51f491604080516001600160a01b039283168152929091166020830152819081015b0390a1005b60405162461bcd60e51b815260206004820152601160248201527024b73b30b634b21030b63637b1b0ba37b960791b6044820152606490fd5b346103485760203660031901126103485760043561067c81610565565b6001600160a01b037f000000000000000000000000eac8e6c1acbabc7135fc8357ff2d718a36177ab7811691906106b53084141561232b565b6106d2600080516020613f0983398151915293828554161461238c565b6106da61228a565b6106e26123ed565b9061070e7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1690565b1561072157505061071f91506124dd565b005b6020600491604094939451928380926352d1902d60e01b825286165afa6000918161077c575b506107695760405162461bcd60e51b8152806107656004820161248e565b0390fd5b61071f936107779114612430565b61256d565b61079e91925060203d81116107a5575b61079681836109f1565b810190612415565b9038610747565b503d61078c565b34610348576020366003190112610348576004356000526101346020526040806000206001815491015482519182526020820152f35b34610348576000366003190112610348576107fb61228a565b60fb5460ff81161561083a5760ff191660fb557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b60405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606490fd5b60409060031901126103485760043561088e81610565565b9060243580151581036103485790565b34610348576108ac36610876565b61012d5490916001600160a01b03916108c89083163314612914565b16908160005261012e60205260406000209060ff82541681151580911515036108ed57005b6109266020927f065b77b53864e46fda3d8986acb51696223d6dde7ced42441eb150bae6d48136949060ff801983541691151516179055565b604051908152a2005b346103485760203660031901126103485760043561094c81610565565b60018060a01b031660005261012f602052602060ff604060002054166040519015158152f35b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161099b57604052565b610972565b606081019081106001600160401b0382111761099b57604052565b60c081019081106001600160401b0382111761099b57604052565b604081019081106001600160401b0382111761099b57604052565b90601f801991011681019081106001600160401b0382111761099b57604052565b60405190610a1f826109bb565b565b60405190610a1f826109a0565b6040519061016082018281106001600160401b0382111761099b57604052565b6040519061020082018281106001600160401b0382111761099b57604052565b60405190608082018281106001600160401b0382111761099b57604052565b6001600160401b03811161099b57601f01601f191660200190565b929192610ab482610a8d565b91610ac260405193846109f1565b829481845281830111610348578281602093846000960137010152565b9080601f8301121561034857816020610afa93359101610aa8565b90565b604036600319011261034857600435610b1581610565565b6024356001600160401b03811161034857610b34903690600401610adf565b6001600160a01b037f000000000000000000000000eac8e6c1acbabc7135fc8357ff2d718a36177ab78116929190610b6e3085141561232b565b610b8b600080516020613f0983398151915294828654161461238c565b610b9361228a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610bc957505061071f91506124dd565b6020600491604094939451928380926352d1902d60e01b825286165afa60009181610c20575b50610c0d5760405162461bcd60e51b8152806107656004820161248e565b61071f93610c1b9114612430565b612629565b610c3991925060203d81116107a55761079681836109f1565b9038610bef565b34610348576000366003190112610348576033546040516001600160a01b039091168152602090f35b3461034857600036600319011261034857602061013254604051908152f35b34610348576000366003190112610348577f000000000000000000000000eac8e6c1acbabc7135fc8357ff2d718a36177ab76001600160a01b03163003610ce257604051600080516020613f098339815191528152602090f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b3461034857600036600319011261034857602061013054604051908152f35b34610348576060366003190112610348576004356024356044356001600160401b03811161034857610da29036906004016103b9565b9290923360005261012e602052610dc060ff6040600020541661327a565b610dcc82841015613353565b6040805160208101848152918101859052610df481606081015b03601f1981018352826109f1565b51902093610e0d8560005261013c602052604060002090565b5491610e1a83151561338f565b610e36610e2f610e2a8688613002565b612d79565b82146133db565b610e408183613427565b359182610e5886600052610136602052604060002090565b5560019081925b808410610edf577fddf6b2cf5bdb04a03cb3f7663b72571336626b1e586a3a047942e4860cf7e12b88886000610eab8d610e9a8c8c14613456565b60005261013c602052604060002090565b55610135548211610ed0575b6040805191825260208201929092529081908101610621565b610eda8261013555565b610eb7565b9091610f1b8495610ef283968587613446565b359081610f0c898c01600052610136602052604060002090565b55600052602052604060002090565b9401929190610e5f565b34610348576020366003190112610348576004356000526101376020526020604060002054604051908152f35b3461034857600036600319011261034857602060ff60fb54166040519015158152f35b6060366003190112610348577fab53214e3a56f049923c5f5532ea4657bba51b870850593c4dc0eceb3b61feed60043560243590610621604435610fc560018060a01b0361012d54163314612914565b610fd081341461330e565b826101358054821161100b575b5060005261013660205283604060002055604051938493846040919493926060820195825260208201520152565b558238610fdd565b346103485760203660031901126103485760043560005261013c6020526020604060002054604051908152f35b3461034857600036600319011261034857602061013554604051908152f35b346103485760c03660031901126103485761108660018060a01b0361012d54163314612914565b6044356110928161294e565b60843561109e8161294e565b63ffffffff8091169116106110ed577fc8b245ac8b138b17b6b1dbbbb8860adc66b373afa000d99f3cdc775d8ae0bbed6106216110d961295c565b6110e16129dd565b60405191829182612ad7565b60405162461bcd60e51b8152602060048201526002602482015261371b60f11b6044820152606490fd5b9181601f84011215610348578235916001600160401b038311610348576020838186019501011161034857565b346103485760a036600319011261034857602435600435611163610399565b916001600160401b039160643583811161034857611185903690600401611117565b929091608435948511610348576112556112506111a7600497369089016103b9565b9590966111b261314c565b6111db7f00000000000000000000000000000000000000000000000000000000000000016131a2565b61121c61121761121361120c896111fd8a60005261013a602052604060002090565b90600052602052604060002090565b5460ff1690565b1590565b6131e7565b611231611227610a21565b61ffff909b168b52565b61800a60208b0152611244368284610aa8565b60408b01523691610aa8565b6139d2565b9491959097602061127d61127161012d5460018060a01b031690565b6001600160a01b031690565b60405163388e611f60e11b8152998a9182905afa968715611397577f26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c898600098611341575b506112fe61132196946111fd946112f761131498956112f26113039660018060a01b039e8f809116911614613218565b6137e2565b8786613895565b613249565b60005261013a602052604060002090565b805460ff19166001179055565b61132b8482613a91565b6040519384521691602090a261071f600160c955565b61130391985061132196946111fd946112f761131498956112f261137e6112fe9660203d8111611390575b61137681836109f1565b810190612de2565b9d9650509598505094509496506112c2565b503d61136c565b612424565b34610348576000806003193601126113fa576113b661228a565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b346103485761140b36610876565b9061141461228a565b60018060a01b0316908160005261012f60205260406000209060ff825416811515809115150361144057005b6109266020927f1f8e549bdb5108ba50ebcc80bb64a20ea98bfbd9378a87380d29f3c87cdcbb2c949060ff801983541691151516179055565b346103485760003660031901126103485760206040517f000000000000000000000000000000000000000000000000000000000000000115158152f35b34610348576000806003193601126113fa5780546114eb60ff8260081c161580928193611590575b8115611570575b50612781565b806114fe600160ff196000541617600055565b611557575b61150b6127e4565b6115125780f35b61152261ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989080602081015b0390a180f35b61156b61010061ff00196000541617600055565b611503565b303b15915081611582575b50386114e5565b6001915060ff16143861157b565b600160ff82161091506114de565b34610348576020366003190112610348576004356000526101366020526020604060002054604051908152f35b34610348576000366003190112610348576115e461228a565b6115ec612892565b600160ff1960fb54161760fb557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b6080366003190112610348577f427754a95a2d34153366ec8bcea3939ce044aaf5c185a86149c9f6d80c4402b960806004356024356044356064359161167760018060a01b0361012d54163314612914565b61168384821015613353565b61168e83341461330e565b60408051602081018681529181018390526116ac8160608101610de6565b51902060005261013c60205281604060002055604051938452602084015260408301526060820152a1005b34610348576020366003190112610348576004356116f481610565565b6116fc61228a565b61012d546001600160a01b0390811661176a57611743908216916117218315156128d6565b61012d80546001600160a01b0319166001600160a01b03909216919091179055565b7f860df2b5ed762095deab38be8b5aa5acfbfa8d4d209e083fa00246d31b715e29600080a2005b60405162461bcd60e51b81526020600482015260166024820152754475706c696361746520696e6974206761746577617960501b6044820152606490fd5b600211156117b257565b634e487b7160e01b600052602160045260246000fd5b346103485760003660031901126103485760c0610131546001600160401b0360ff821691604051926117f9816117a8565b835263ffffffff808260081c166020850152808260281c166040850152808260481c1660608501528160681c16608084015260881c1660a0820152f35b3461034857600036600319011261034857602061013854604051908152f35b3461034857606036600319011261034857602061188160243561187c604435600435613534565b612c00565b604051908152f35b3461034857600036600319011261034857602061013354604051908152f35b34610348576020366003190112610348576004356118c461228a565b6101309081548181036118d357005b817f208ba37ba4e5fc3f236a9c289aa28898330c1f2ec9102d54821a1ffb59e8f1d793556106216040519283928360209093929193604081019481520152565b346103485760403660031901126103485760043560005261013a6020526040600020602435600052602052602060ff604060002054166040519015158152f35b602080600319360112610348576004359060009133835261012e825261197f60ff60408520541661327a565b6101325481111580611b52575b611995906132b6565b61199d612fda565b906101335480611b39575b506119e06119d16119cc6119bb84612ff3565b600052610134602052604060002090565b61300f565b92848085015191015190613002565b916119eb8261013355565b61012d54611a01906001600160a01b0316611271565b60405163388e611f60e11b815290948082600481895afa9081156113975787928392611b16575b5083516040516318d0d57560e01b928101929092526001600160a01b03909216602482015260448101859052606481019190915260848101859052611a708160a48101610de6565b611a7a8534612d95565b95803b15611b1257611aa39160405197888094819363e289adcd60e01b83528a600484016132f7565b03925af1908115611397577fba9fdc955504f0973215993a882822edf5e2b4561df97340b4d5632e64e24a0f9461155192611af9575b505192604051938493846040919493926060820195825260208201520152565b80611b06611b0c92610988565b8061033d565b38611ad9565b8280fd5b819250611b3290611a70923d85116113905761137681836109f1565b9190611a28565b611b4b9192506119bb6119cc91612ff3565b90386119a8565b5061013354811161198c565b3461034857600036600319011261034857602061013954604051908152f35b3461034857604036600319011261034857600435611b9a81610565565b602435611ba561314c565b61013b546001600160a01b039081163303611c72578115611c3c577f8f37daeecdc35f2a03da8794b025ea44e3f7c6f4e2265630836db89ff3f2f2b790611c07611bf28461013954612d95565b611c0181610138541015613498565b61013955565b600093611c238580808088865af1611c1d61267c565b506134d6565b6040519384521691602090a2611c39600160c955565b80f35b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606490fd5b60405162461bcd60e51b815260206004820152601960248201527f4e6f7420666f72776172642066656520616c6c6f6361746f72000000000000006044820152606490fd5b34610348576040366003190112610348577fdfb8da952dba6c9ec993b8f2ca8cc6ac22596f6e179520fea3fc78202e87090c6040600435602435611d0760018060a01b0361012d54163314612914565b8160005261013760205280836000205582519182526020820152a1005b3461034857600319608036820112610348576044356001600160401b03918282116103485760609082360301126103485760405190611d62826109a0565b611d6e816004016103aa565b82526024810135611d7e81610565565b6020830152604481013590838211610348576004611d9f9236920101610adf565b604082015260643591821161034857611dce6104a291611dc66104b49436906004016103b9565b9290916137e2565b602435600435613895565b60e036600319011261034857600435611df181610565565b602435906001600160401b0360443581811161034857611e15903690600401611117565b90916064359360843560a43592831161034857611e37879336906004016103b9565b60c43592611e4484610565565b611e4c61314c565b611e54612892565b7f0000000000000000000000000000000000000000000000000000000000000001156121a7575b33986000328b14612193575089611eb5611eb061120c60049a9b9c9d60018060a01b031660005261012f602052604060002090565b612ca0565b61111161111160901b01016001600160a01b0316996001995b611edb6103208514612cec565b611f24611f1e60209b611ef08d891115612d37565b611f15611f0e611f078861187c8b61013054613534565b9283612d95565b3414612da2565b61013854612d95565b61013855565b6001600160a01b039680881661218d57508b965b87803b612176575b50506101325461012d54909c90611f5f906001600160a01b0316611271565b9b8b60409d8e519c8d809263388e611f60e11b82525afa9a8b156113975760009b612157575b50611f8e610a2e565b6001600160a01b03909b168b5215158a8c01526001600160a01b0316898c0152606089018c81526001600160a01b0390981660808a01528c60a08a01523690611fd692610aa8565b60c088015260e08701526101008601523690611ff192612e0e565b6101208401526001600160a01b031661014083015261200f82613717565b8451908161201f82878301612ed9565b0391601f1992838101825261203490826109f1565b6101315460681c63ffffffff1663ffffffff169061205192613dcb565b8461205b84613adc565b968792612066612fda565b6104b49a7fbf5630c2adfa5e47b882a9ead657ffc6a22ce010513a3efac7245066bcad17dd986120d1966120cb96610e2a95876120fb57505083528201525b6120ba83600052610134602052604060002090565b906020600191805184550151910155565b61013255565b516120e0845192839283613082565b0390a16120ed600160c955565b519081529081906020820190565b61215093929550612141612135916121186119cc6119bb8c612ff3565b978851945193849187830196879091604092825260208201520190565b039081018352826109f1565b51902084528301918251612d95565b90526120a5565b61216f919b508c8d3d106113905761137681836109f1565b9938611f85565b811661111161111160901b01011696503880611f40565b96611f38565b98886121a26004999a15612c54565b611ece565b6121b18615612c13565b611e7b565b34610348576020366003190112610348576004356121d381610565565b6121db61228a565b6001600160a01b038116156121f35761071f906122e2565b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346103485760203660031901126103485760043561226481610565565b60018060a01b031660005261012e602052602060ff604060002054166040519015158152f35b6033546001600160a01b0316330361229e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561233257565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561239357565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b604051602081018181106001600160401b0382111761099b5760405260008152906000368137565b90816020910312610348575190565b6040513d6000823e3d90fd5b1561243757565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b803b1561251257600080516020613f0983398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b90612577826124dd565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590612621575b6125b9575050565b61261e91600080604051936125cd856109a0565b602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020860152660819985a5b195960ca1b6040860152602081519101845af461261861267c565b916126ac565b50565b5060006125b1565b90612633826124dd565b6001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2805115801590612674576125b9575050565b5060016125b1565b3d156126a7573d9061268d82610a8d565b9161269b60405193846109f1565b82523d6000602084013e565b606090565b9192901561270e57508151156126c0575090565b3b156126c95790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156127215750805190602001fd5b60405162461bcd60e51b8152602060048201529081906107659060248301905b919082519283825260005b84811061276d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161274c565b1561278857565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b6127f560ff60005460081c16612832565b6127fe336122e2565b61282660ff60005460081c1661281381612832565b61281c81612832565b600160c955612832565b60ff1960fb541660fb55565b1561283957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60ff60fb541661289e57565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b156128dd57565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206761746577617960881b6044820152606490fd5b1561291b57565b60405162461bcd60e51b815260206004820152600b60248201526a4e6f74206761746577617960a81b6044820152606490fd5b63ffffffff81160361034857565b60405190612969826109bb565b8160a06001600160401b036101315460ff8116612985816117a8565b845263ffffffff808260081c166020860152808260281c166040860152808260481c1660608601528160681c16608085015260881c16910152565b6001600160401b0381160361034857565b60a435610afa816129c0565b6004356129e9816103e9565b6129f2816117a8565b6101319081546cffffffff000000000000000000602435612a128161294e565b68ffffffff000000000060443591612a298361294e565b64ffffffff0060643595612a3c8761294e565b60ff608435612a4a8161294e565b63ffffffff60681b9060681b1698169070ffffffffffffffffffffffffffffffffff1916179160081b16179160281b16179160481b1617179055610a1f612a8f6129d1565b610131805467ffffffffffffffff60881b191660889290921b67ffffffffffffffff60881b16919091179055565b60843590610a1f8261294e565b60a43590610a1f826129c0565b815161018082019392610a1f9291612aee816117a8565b82526001600160401b0360a063ffffffff9283602082015116602086015283604082015116604086015283606082015116606086015283608082015116608086015201511660a0830152600435612b44816103e9565b612b4d816117a8565b60c083015280602435612b5f8161294e565b1660e083015280604435612b728161294e565b16610100830152606435612b858161294e565b16610120820152612ba5612b97612abd565b63ffffffff16610140830152565b610160612bb0612aca565b6001600160401b0316910152565b634e487b7160e01b600052601160045260246000fd5b9081605802916058830403612be557565b612bbe565b908160061b9180830460401490151715612be557565b81810292918115918404141715612be557565b15612c1a57565b60405162461bcd60e51b81526020600482015260126024820152714e6f7420616c6c6f77206c322076616c756560701b6044820152606490fd5b15612c5b57565b60405162461bcd60e51b815260206004820152601a60248201527f4e6f7420616c6c6f7720746f2063616c6c20636f6e74726163740000000000006044820152606490fd5b15612ca757565b60405162461bcd60e51b815260206004820152601c60248201527f4e6f7420616c6c6f7720746f2073656e64204c322072657175657374000000006044820152606490fd5b15612cf357565b606460405162461bcd60e51b815260206004820152602060248201527f496e76616c6964206c3247617350657250756264617461427974654c696d69746044820152fd5b15612d3e57565b60405162461bcd60e51b8152602060048201526013602482015272496e76616c696420666163746f72794465707360681b6044820152606490fd5b9060018201809211612be557565b9060208201809211612be557565b91908201809211612be557565b15612da957565b60405162461bcd60e51b8152602060048201526011602482015270496e76616c6964206d73672076616c756560781b6044820152606490fd5b908160209103126103485751610afa81610565565b6001600160401b03811161099b5760051b60200190565b92919092612e1b84612df7565b91612e2960405193846109f1565b829480845260208094019060051b8301928284116103485780915b848310612e5357505050505050565b82356001600160401b038111610348578691612e728684938601610adf565b815201920191612e44565b6000915b60048310612e8e57505050565b600190825181526020809101920192019190612e81565b90815180825260208080930193019160005b828110612ec5575050505090565b835185529381019392810192600101612eb7565b90610afa916020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a082015160c082015260c082015160e082015260e0820151610100908183015282015161012090818301528201516101409081830152820151612f5b6101609182840190612e7d565b82015190610260612f796101e0938285850152610280840190612741565b92612fca612fb4612f9e61018088015196601f19978888830301610200890152612741565b6101a08801518787830301610220880152612ea5565b6101c08701518686830301610240870152612741565b9401519282850301910152612741565b60405190612fe7826109d6565b60006020838281520152565b600019810191908211612be557565b91908203918211612be557565b9060405161301c816109d6565b602060018294805484520154910152565b90815180825260208092019182818360051b85019501936000915b8483106130585750505050505090565b909192939495848061307283856001950387528a51612741565b9801930193019194939290613048565b90815260406020820181905282516001600160a01b031690820152610afa9060208301511515606082015260408301516001600160a01b03166080820152606083015160a082015260808301516001600160a01b031660c082015260a083015160e082015261018060c084015161313b61016061310c6101009382858801526101a0870190612741565b9060e088015193610120948588015288015193610140948588015288015190603f19878403019087015261302d565b9401516001600160a01b0316910152565b600260c9541461315d57600260c955565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b156131a957565b60405162461bcd60e51b81526020600482015260166024820152754e6f7420616c6c6f772065746820776974686472617760501b6044820152606490fd5b156131ee57565b60405162461bcd60e51b8152602060048201526002602482015261353560f11b6044820152606490fd5b1561321f57565b60405162461bcd60e51b8152602060048201526002602482015261726760f01b6044820152606490fd5b1561325057565b60405162461bcd60e51b8152602060048201526002602482015261706960f01b6044820152606490fd5b1561328157565b60405162461bcd60e51b815260206004820152600d60248201526c2737ba103b30b634b230ba37b960991b6044820152606490fd5b156132bd57565b60405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081cde5b98c81c1bda5b9d60721b6044820152606490fd5b604090610afa939281528160208201520190612741565b1561331557565b60405162461bcd60e51b8152602060048201526016602482015275125b9d985b1a5908199bdc9dd85c9908185b5bdd5b9d60521b6044820152606490fd5b1561335a57565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c69642072616e676560981b6044820152606490fd5b1561339657565b60405162461bcd60e51b815260206004820152601f60248201527f52616e676520626174636820726f6f742068617368206e6f74206578697374006044820152606490fd5b156133e257565b60405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420726f6f7420686173686573206c656e6774680000000000006044820152606490fd5b90156134305790565b634e487b7160e01b600052603260045260246000fd5b91908110156134305760051b0190565b1561345d57565b60405162461bcd60e51b8152602060048201526013602482015272092dcc6dee4e4cac6e840e4dedee840d0c2e6d606b1b6044820152606490fd5b1561349f57565b60405162461bcd60e51b815260206004820152600f60248201526e15da5d1a191c985dc8195e18d95959608a1b6044820152606490fd5b156134dd57565b60405162461bcd60e51b815260206004820152600f60248201526e15da5d1a191c985dc819985a5b1959608a1b6044820152606490fd5b811561351e570490565b634e487b7160e01b600052601260045260246000fd5b61353c61295c565b91600091835161354b816117a8565b613554816117a8565b1561360e575b906136036135fe826135f8876001600160401b036135f16135c26135956136089a61187c63ffffffff610afa9f602001511663ffffffff1690565b9a6135bc6135b66135ad604088015163ffffffff1690565b63ffffffff1690565b8d613514565b90612d95565b996135eb6135ad60606135df60a08801516001600160401b031690565b96015163ffffffff1690565b90613514565b9116612d95565b95612d95565b612ff3565b613514565b9061363b565b80925060110290601182048303612be557909161355a565b6202a5ac80821115613636575090565b905090565b9080821115613636575090565b60405190608082018281106001600160401b0382111761099b576040526080368337565b613674610a4e565b90600080835280602084015280604084015260609080828501528060808501528060a08501528060c08501528060e0850152806101008501526101208401526136bb613648565b6101408401528061016084015280610180840152806101a0840152806101c08401526101e0830152565b906136ef82612df7565b6136fc60405191826109f1565b828152809261370d601f1991612df7565b0190602036910137565b60409061372261366c565b5060e0810151906101008082015191613739610a6e565b600090818152816020820152818782015281606082015260c08301519161375e6123ed565b938161377061012080930151516136e5565b966137796123ed565b986137826123ed565b9a8361378c610a4e565b9d8e828152826020820152015260608d015260808c01528160a08c01528160c08c01528160e08c01528a01528801526101408701526101608601526101808501526101a08401526101c08301526101e082015290565b60a0906040516137f1816109bb565b6000928184809352826020820152826040820152826060820152826080820152015261ffff81511690604060018060a01b03602083015116910151602081519101209160405193613841856109bb565b84526001602085015260408401526180086060840152608083015260a082015290565b1561386b57565b60405162461bcd60e51b8152602060048201526002602482015261747760f01b6044820152606490fd5b9392906101355485116139a8576139a393836138b5613991955160ff1690565b9061395c6138c66020830151151590565b610de66138d8604085015161ffff1690565b60608501519094906001600160a01b0316608082015160a09092015160405160f898891b6001600160f81b0319166020820190815295151590981b602189015260f09690961b6001600160f01b031916602288015260601b6bffffffffffffffffffffffff1916602487015260388601526058850193909352929182906078820190565b5190209261398c7f72abee45b59e344af8a6e520241c4744aff26ed411f4c4b00f8af09adada43ba851415613864565b613c6c565b91600052610136602052604060002090565b541490565b60405162461bcd60e51b81526020600482015260026024820152610f0f60f31b6044820152606490fd5b606c815103613a675760048101516393f69f0760e01b60e09190911b6001600160e01b03191601613a3d57613a2491613a3982613a15613a2c9460188091015191565b60208184018101519297910190565b949094612d87565b6014908181019201015191565b5090565b60405162461bcd60e51b8152602060048201526002602482015261697360f01b6044820152606490fd5b60405162461bcd60e51b8152602060048201526002602482015261706d60f01b6044820152606490fd5b600080809381935af115613aa157565b60405162461bcd60e51b8152602060048201526002602482015261383d60f11b6044820152606490fd5b906020610afa92818152019061302d565b80516001600160a01b03166020820151151560408301519092906001600160a01b0316606082015160808301519093906001600160a01b031660a08401519360c08101518051906020012060e0820151610100830151916101208401519760405198896020810191613b4e9083613acb565b0399601f199a8b81018252613b6390826109f1565b51902061014095860151604080517fe0aaca1722ef50bb0c9b032e5b16ce2b79fa9f23638835456b27fd6894f8292c602082019081526001600160a01b039b8c16928201929092529d151560608f015299891660808e015260a08d019b909b5295871660c08c015260e08b01526101008a0152610120890152908701526101608601529092166101808401526101a09081018352909190613c0490826109f1565b51902090565b15613c1157565b60405162461bcd60e51b8152602060048201526002602482015261189d60f21b6044820152606490fd5b15613c4257565b60405162461bcd60e51b81526020600482015260026024820152610e0f60f31b6044820152606490fd5b9092918315613d0e57919092613c856101008210613c0a565b600191613c9583831b8510613c3b565b9360009182915b818310613cac5750505050505090565b9091929380959681881615600014613ceb57613cdd90613ccd868686613446565b3590600052602052604060002090565b96811c959493019190613c9c565b613d0990613cfa868686613446565b35600052602052604060002090565b613cdd565b60405162461bcd60e51b8152602060048201526002602482015261786360f01b6044820152606490fd5b15613d3f57565b60405162461bcd60e51b8152602060048201526002602482015261756960f01b6044820152606490fd5b15613d7057565b60405162461bcd60e51b8152602060048201526002602482015261756b60f01b6044820152606490fd5b15613da157565b60405162461bcd60e51b8152602060048201526002602482015261075760f41b6044820152606490fd5b91606083015192825180600a0290600a820403612be5576127109080821115613e6d5750915b828510613e43576101a0613e3c93610a1f960394613e1563044aa200871115613d38565b613e2f6080850193613e28855189613514565b1115613d69565b5192015151905191613e75565b1115613d9a565b60405162461bcd60e51b81526020600482015260026024820152616d7960f01b6044820152606490fd5b905091613df1565b91909161067890818102918183041490151715612be55780613ee657506000915b62028cf5928301809311612be5576109a990818102918183041481151715612be5576135bc613ed3613ece6135bc94610afa97612d95565b613626565b9361187c613ee082612bd4565b93612bea565b6000198101908111612be557610220900460018101809111612be55791613e9656fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220f42e546edc0a3e2057edd3c8154e7514c4f6b11e329b2f6d23afafda79a41e6064736f6c6343000812003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d029efc1fa72549dead9d46aea99e6e849fb14f7b2798ca8d8819d602510701193f5e02188103fe6c2ae60e9a0356c92b85587e083909ebaa42dac9c778415d8d18daefa015e405581e0352d3f6f82059bb53c759afba71440c94e45510f90412039f301899ccb0040105581e03eefa61d8d29ee0fd9961eb5bc0518beb76d1a36882532a7eec2bd21fd00c024701bfcf85c3120005581e03ebedb5b6c989feaa959da420ea7fb87dfb1e8eb30824d7fd3e3b2d42500401033bce08cdbede89b314675bf76069c731c0477b9ab226466e1d94c6ba0c3e0b9905581e034c797c6adbf446d1c106f46c12724436e5ad79aeb45943e002a92a74d0040102195c7103b186ba18d09aae714ff55b16717d0806e2e5aa589d11a8bbfcf49db36f106632033ce8b4d7248f2f44aeccfe1be28d01d40d618cad188332db1104eeb139b52edc0393cf6508b30b3ad01e80edeb735a197acac8e0a631437e809dcad3da368268be0219ffff0219ffff03bdd3703b952dee9f1d16cef3ac5a017344a59d6caf891668661b001f22c5b8ca030d2d43cb13951bcd12da9ea97134c420d1fee35e37bb58e7c43001fb5846c94103c072ae3eb467478b500b81395cfbbfe4d9300bf6e0d490462722f5725524365703860a0169ecd9067ba07a9ddc3e56888cf10573c36855f70f557ef3d1135cda5b0394556845843604ba8037b3e65b5cf7b8fe5f71abfc08ee7dfdfa3756308df881035fdedfeeef4b6866c82626977108e8da6fb75f036d870e4b3a17bc18bf70abfd03cee9bddf83f3d641c0e0bfe699f72b3050bb62797652e64e95195620657c363a0310a06ef03d0d493254d3aac5c5e2ff835354ea11156bc803acd60e112a26b0c003287186a950518cd020387daa0adda5da3552483d2014ba7713e0ed1757ff005603b3a189f1866988912a11a82d70acb845c4406ff5ca75472a81c379a099d7731b03500b1ff629172c813506ba66c2ab3c64eedbcee964ad6b691f91ee9bb9137ec2034170fc5f0225c6fc3b36c19cadc79bdc30e7ffc6f6a1abe4348676edc0e8353503e017b730fbec5bbd399dc7080ebbf0964db8150a9b9be7bd686e69c6f71b5be703bf1204521e8a704bc4f31f09c123a447c2b88fbd546a2806fa38337362e6de42034afd68e096199cd3a7a37c2b72b8a1ad1a68c8efb86d3fc9c43eca49b2ac71ba0219ffff03ab71cb0364ed227d19c9ddc5a67f5a5bf85182b56ad10be421164263c9e09886039ce72b5c3820cb998755321656d8c208f02c332feff53554b10cbcb988863fab0219ffff03025d3f10c1ca7e709dc590a969009f63985ba7cf470d39176b880be6c02560ae0302da210e92ac373c8b4fc5c6f11d9bd292aa2b6e1b9fba927127b8f2b426381a03e3aead0cf03e3c5a1c88505f60de12051d7b6276e52824801bc5d0c06e1df37c03611615bbbb68a8178f03fcf4e750993fc66a5c2bf0558fa7c139e5a25bcb2e7b03bd939ab4ef5a62ebce474b957373b79b9c3ad3bb61f0b75104eb9d7da1bce6290336758fbfe3c9893cc7377c89ed2fc7d1067aad855e2fff120bf5a7bae11dde5e039952231e9a4de8518088cf813ae02c77f30165d701b54ba7ff92febf852cc9fc03bc006eceb0e5e7273b8be9989e8408768b69e1dbd0e49dee9fee6e7c1ff6deaa038c7c94bdb917f51694d99e53eacfdcc3b95fba4b82e1420b4129a46757c503d40359dda5ac32b6e83e2f3dfefc655765a75adf7fc9d63d8a80a8b2bbd6daa4908003f4cfc400125baad92e7249bbbe6ffb6f4ed75f51e4caf99ba330354882dc25fb038c0ca2008b8c426f0a7e1eb1db9e902ec3317965ae2e7a507a4820fb0faeae9b03fcb50dad074e6b377d7d4ab24a598d78f9f7d1ecfbe24f795603d0a69e25bb9f03241c4a58f64400f9c357d8937ae6775c46268301cab6611406e3efcf1b852a1a0375a704dc6715289322f65dcd7dd9f452c963858a5888189185faaf02aa637fe003a09d13c51c23c6b6e14bca46378565a62cdc013df4039e12872e445b9f432a8103127aec203ebf603bed59fa2844e299cec464d9ab1fa2b4f625b5a2f964f88b680396db530b82819de1743788e5e5458bbcf6be5ccd62f5fc1733bc5b322e004b48034b6d0cc198868b77677763e7deafad057a5127528260a6c4e3eaf9309a8a4fa1034b74ef2ce22c6d7a71bb67ab9e95a4e34bee500a3e022561a981f79c5a452502033bcbfe202f5302a4011b714203a99be614b01b979c2a69a1404c20ddbb92cecf0369f1aaeb2017fded880713df5f10d96e8688dc3f1dd4e87611595f36d229045c05581e03afad6cb1817e0180c135390094c06f054c20c9c6d3185a64444920c6e00c0245f0a75c600005581e0353aadfcb61d9e5513e959ae8a83c3f6a2de2b0fccee2f2c745ed4ec190040303b7937000d7462128de5ae6385fef92dee21217abd798ff509cce5cc0a5baf17005581e034e24eeac6da244ee86145b48d0a393bcd4c414111be11436af33f556300c09473e6a576432048303c9b94039e0c307e407f9b7d90c5fecfa7d10d94b1f992902f81806ef1e49e3a805581e037f33a2de8d14250925c5f0618b8dfd61a44b794f52eafcbac28dec21c0040405581e03233e317973298b6b572e22ca34c72b3f32dac995965976d8ac6b1b06200c02470b18fdc1bcfaf10318e90ea9c856cf72621f6597d10e8ac726e2534fd9bc6a501e0a0a1b23676e0005581e03f86ae9eea03c528e67ce8cd9e986b72bdd46fac90cddea30368a1a1b500c0146ab42029c780005581e0389144341800955736a238cd2678ddc320aad1e922ab09128e27c2faf500c0347017728203d5c0002197b4b0398ccb65ec332be8d626eb5cc0e80572f7110c5892c8d15c3ea362f53c85a8e72031b971ac930b656a8872c426e5c684dc64c4fdda24a34e2970ca408e1c454ab4603915e69a1ca1317c2ff09c1222ad824b4b964392c49b126de2cc6b8a7c2a03ae303770e7974acc01bd570c37d27a20a4159a875e2917904e30fdf6b724b1197e94803cadcfed24259d06d90d29821d556323a3e9930aca04aa304f296d62cdce11a76031c19cc4549b821fff1e55fbd16b62e3678d94782a98bc71f90475927fe6759b60219ffff03e02a07174bcee8d8b3db7b68a856800c36b6ffe546649c63c3e6325a5376bd1203ef64326fbf96e9d46988dbbf25edc959a34107ec8e91ff7a417bb58f181e81f2031a990c4412f1ad297ecb7b50d7ca37342782519a0b493d5103918d8880237e1803ebd07720bdf9af7a5f256f64e42172adc580b58cc9a252ac611b1070b293b07b03d010c31112dde942dd0aca0720492d04367f6f6b386dc1a481187e1f65b79e6e038c8a7c664c76c856fca2a79ae77bdbb8e47c52a9da74797026c7a215020153d4032a11e97b1cfb14e178cd22c34d70b00c29aecf5bf80a125aef67d4754d6db39a0300e40c8129fc69ad69372e8bad763523e163cc6507813e619f8693b5a77d34d903bfffc77c1d4fedaa5593a2fc27c8cf15579eefa8a17b7a2b4115c0b0b134a3a0030f6b62cc91e6a2bf0a74b259e913c3e367b56cba92f4fe1be1e5a9bfb38ce35e03d6ef236dc6253b4fbbe68f75b1aaaf78fd18d74ced282b02aadf9f91b7900b920219ffff03b0eece245b64bc41741d2a94881f1dda6af4145c58e7aca761be5310b4cb5c5103e7acc986fc560bc7116ebc7ca14d837ecb84d17df6b0f19c345b6cade99b8de903a8bf2ac7018c76cf4fe27ea47b19cee4ffed8b3eef430966e1da49406935d348039d73c54b96be0dff0e8e5b91a596965219c1fe8c725cd4a86e6192cb037052140337ced751e85996b0d484ca278255ce5acaa491175388e34c2457e8c197ec32db03adb4fea42a209ca87e77aaa1aa54053e2b5c6e9d06b97d5ca4ce3358f81b654503456bb99533b5ed38a3211ab7d329ddf8591c215730f2d3cd74de82fc9a543a26032d1ff4d0fbd6a6fcfd6dc5ac451a45bfda7537e2c1e2d56a4e17a812933344a60219ffff03d84ff9e5121d70db2f04bae6368d71b2a79886a3a515cc8cc4fe15aaa91fee4e03a94117029a36beb918869ce47deef70b7ea82891327a5da3ae8e1b04e345465f03cb601e45ab163af83f21c6baf529698d8f33b0931e914ab5dbe22e14b4e3339203321f30511b518d34b3263ef016b2b1f38a02b68e4f1cc2a9ea8b7c227e267a690368b4ba97734ce126be92cc316929765451f6d4d3bc890dd03bdca54c704c00e503973d220fa896e48294656156a015cb5776b6511d2615f2e4b307d4781b0343820360dc1b6fd258d6f9df6da9effb74b392a32a2cffcbeb8f997e3910dd6896948b0387d19c0706c386ccb7327f36979f78cfe7bc16e06fb38726b2e9cd5f235d61da0386e602d07d131278fc277768c1a518e676f749d200834bbaef9fc4cd3a1f0ed6031b85ad5b96416ff2081d3e8f956e44c9e2c8f64bf5c3e8c20156fccc90f4326803515c7d0cfa9956cb3f257038e240ce7e8e49dededb731ce3322294d84f04e879033a53ae09a6495e319dab7786a93ad50da5165a2fe5404415dc36d9a7d33feb9103875a50b2b58d4ea5308ba4997c1a569b6b6a023112528013bc11b7bac4f6f124037809f4bc7a8cde924c05d789e978d88afe2ba114f83e5d723d77b7323bbcfe23035f942435f5f3d929f9975266e8106c7809b0fa26613143d1e620eb6c3071828e03ade09f468e5fe4ffb30455d9554eb0b16744ad78d987888af664d5c28fe48fd5037ef2ff13773627cc4d29d6c6c3846b3d9f5abbee2f49c5e5fc0cbebe1ae68a0f038c9263f75debbdb1534acde7e098257fa05e74fa541af90db1bae072e649619303b33e7077666daea7f16409f250935ff29bdec9d3ee5ec0ce775dffad5233632c030c245d3dde5b75a41e6b6a6dea3cacff8312cfb2a05b0807615d15fb8277cc0d0373134a31664871f310b8aa7ce16cc87e5969d62d5e26ce788f193fc4d458a962031b5843d9b44bb936ffd8f90e8acbd571c4a41ada6fa147fd25508a8f58d053d4032d3f85edced481cc7129269b00132a52a77eb4f74434811b1c2ea6d754b94b3303f9183237da543031754a482ebf29633512ec735376b1a297d3717a4c3f70653f03e6d0ebc8b65bce008c5232ab8405c58a30a0e4fb9a1b90df94e89e37a94f5dc003737eaf380b2aad312bb9c9dccfed6d2be1fa2bc8b647ace2d7d5a241784c4c6303e2f71849edb5538d1b7eb08b01c9a6ea03d34c070b4a86ebcccdeac25ab8168a031df4fefebb6c77afdcd729f092d75004491950ec6c8e662b7757f553ccdffdb6030ee337dadc86f178ee3ed1680a1ee22c704faaa076097817907e250877f572dc05581e03976aec05a82c6129b4393b496b391409158e22522cf2ca9d2bb86bfe400c024701942832823b4805581e03f71ce5bbea96a6b2501b3b9184f415290b1f361fd5f00b7dff455668600401031f5d414f59dd255028dd343e0ceb66b964382a495876098503f67fca5ec4dba7034acf0b87ae017cd608bb06da6132dfd6d26109cfd9d0062bb661bbb29385a20505581e03a422574e9eb869e470b827ca19710efef88e2bbc3ca582d61ebd17c6100c0247011088541873e0045910f5608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146101e9578063a9059cbb146101fc578063d505accf1461020f578063dd62ed3e1461022457600080fd5b806370a082311461018a5780637ecebe00146101b357806384b0196e146101c657806395d89b41146101e157600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce567146101605780633644e5151461016f578063395093511461017757600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610237565b60405161010f9190610e5e565b60405180910390f35b61012b610126366004610e94565b6102c9565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610ebe565b6102e3565b6040516012815260200161010f565b61013f610307565b61012b610185366004610e94565b610316565b61013f610198366004610efa565b6001600160a01b031660009081526020819052604090205490565b61013f6101c1366004610efa565b610338565b6101ce610356565b60405161010f9796959493929190610f15565b6101026103df565b61012b6101f7366004610e94565b6103ee565b61012b61020a366004610e94565b61046e565b61022261021d366004610fae565b61047c565b005b61013f610232366004611021565b6105e0565b60606003805461024690611054565b80601f016020809104026020016040519081016040528092919081815260200182805461027290611054565b80156102bf5780601f10610294576101008083540402835291602001916102bf565b820191906000526020600020905b8154815290600101906020018083116102a257829003601f168201915b5050505050905090565b6000336102d781858561060b565b60019150505b92915050565b6000336102f185828561072f565b6102fc8585856107a9565b506001949350505050565b600061031161094d565b905090565b6000336102d781858561032983836105e0565b6103339190611088565b61060b565b6001600160a01b0381166000908152600760205260408120546102dd565b60006060808280808361038a7f4f6d6e69204e6574776f726b000000000000000000000000000000000000000c6005610a78565b6103b57f31000000000000000000000000000000000000000000000000000000000000016006610a78565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461024690611054565b600033816103fc82866105e0565b9050838110156104615760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102fc828686840361060b565b6000336102d78185856107a9565b834211156104cc5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610458565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886104fb8c610b23565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061055682610b4b565b9050600061056682878787610b78565b9050896001600160a01b0316816001600160a01b0316146105c95760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610458565b6105d48a8a8a61060b565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661066d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610458565b6001600160a01b0382166106ce5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610458565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061073b84846105e0565b905060001981146107a357818110156107965760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610458565b6107a3848484840361060b565b50505050565b6001600160a01b03831661080d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610458565b6001600160a01b03821661086f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610458565b6001600160a01b038316600090815260208190526040902054818110156108e75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610458565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36107a3565b6000306001600160a01b037f00000000000000000000000036e66fbbce51e4cd5bd3c62b637eb411b18949d4161480156109a657507f000000000000000000000000000000000000000000000000000000000000000146145b156109d057507ffe0a58ef5a3802f758332f287776e7da423cd2a4c8593d76d4aaa5a8d701c21590565b610311604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f3dd2c79b4b9f0771a1f9f52cd52504b97b0d6ed823687d6616ff30d2033a936c918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b606060ff8314610a9257610a8b83610ba0565b90506102dd565b818054610a9e90611054565b80601f0160208091040260200160405190810160405280929190818152602001828054610aca90611054565b8015610b175780601f10610aec57610100808354040283529160200191610b17565b820191906000526020600020905b815481529060010190602001808311610afa57829003601f168201915b505050505090506102dd565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b60006102dd610b5861094d565b8360405161190160f01b8152600281019290925260228201526042902090565b6000806000610b8987878787610bdf565b91509150610b9681610ca3565b5095945050505050565b60606000610bad83610df0565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610c165750600090506003610c9a565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610c6a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610c9357600060019250925050610c9a565b9150600090505b94509492505050565b6000816004811115610cb757610cb76110a9565b03610cbf5750565b6001816004811115610cd357610cd36110a9565b03610d205760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610458565b6002816004811115610d3457610d346110a9565b03610d815760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610458565b6003816004811115610d9557610d956110a9565b03610ded5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610458565b50565b600060ff8216601f8111156102dd57604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b81811015610e3e57602081850181015186830182015201610e22565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610e716020830184610e18565b9392505050565b80356001600160a01b0381168114610e8f57600080fd5b919050565b60008060408385031215610ea757600080fd5b610eb083610e78565b946020939093013593505050565b600080600060608486031215610ed357600080fd5b610edc84610e78565b9250610eea60208501610e78565b9150604084013590509250925092565b600060208284031215610f0c57600080fd5b610e7182610e78565b60ff60f81b881681526000602060e06020840152610f3660e084018a610e18565b8381036040850152610f48818a610e18565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015610f9c57835183529284019291840191600101610f80565b50909c9b505050505050505050505050565b600080600080600080600060e0888a031215610fc957600080fd5b610fd288610e78565b9650610fe060208901610e78565b95506040880135945060608801359350608088013560ff8116811461100457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561103457600080fd5b61103d83610e78565b915061104b60208401610e78565b90509250929050565b600181811c9082168061106857607f821691505b602082108103610b4557634e487b7160e01b600052602260045260246000fd5b808201808211156102dd57634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea2646970667358221220b52acec978e566f5cf28cdb6431d8a823a39dc20d21913e70af893f60482400364736f6c6343000818003303b23ad8c5ff73f2e29e076360264dad1269c64596994fdd380b845b02bfbbc0fb0313a6e7ea15949280a1d0966c988aa400cb324d0eacc964aab17764413b9900eb03229df75b5ac6002d12349e2c5fc4bcee616d3e18c587f74b5808e414c150185503b14555f4a7eb0e6f2186bb37b4a824adb0ca15ae97892b0b3d8172a8accd5480037cad2bb4f5e1702df53eed4fc11a4749a29f29fa8d114a67b4c8fb509605937b03f9ab06b38105719a215d9f0bde90479b4a78ae6c6a99ebe031f72e019c5af8c1036e73f6e8015f66a2d28d317111a506903e418eabed3d1dd3879f8d67aceeefa003901148ef05106e007971f4eccf9d22b0d281914d51973725bb6d94fc80e9b3fc03c5e462318392479fb33e84ee2275d336d62a72b405dbeb9e68a7e54c976be9fd03e6cf8501082f4f6cac0cc84cd4460b7d8d6069f4b035cf1da0c1d6bc16e234090332b9f4ebea344aa3ef09c400fdf413a8d1e8268136ba8f4a5afc32c730ba0e4a03e09bd8da3fe13824c20f3b4f07a845c160da9216f7f36c70deb8e0fdde881d83036a5ac8dbad4f491f42c06730240f088f981576335877b6388d5d76948da3cf00034b678c1c41916720f73f112295dc96bb5ba9a0eef0adfc65b3ddaa13b219b7ac03d2f40420a651e076791fadb2def0b2defd8258b3beee5622d077ceaaedeabede0383a9b39c0b0a1ef4a65dceac19572790eb5d9d203b492c9c1f2c029df64f1c5203662c4e472d4a922d25fe796ccca96a70f5877935ee516eaf9c83ba3586f6897a03c9ba1ae82cbba8634fadff643d601cca64f53d12e16da6824852cdf342300245038c094ebce4788144b443a60e36d235e60e0ddf5694eaf69947b48e3d7d2b7d4f0363c16882554d6218ad15c21ed55da43317eaa4a1161fc49dc12728a0cc24c8620382b7a6aa39701eb5e38c366d234c3122d9b0cc9e9c4859514411c8f971f2f3f3032140c7ed75be0fefa73014745a1a694accfb59a0f94466a3e6fc6a50ff7e38eb03183e9faeebcc7057b7ee3e222a4dbbf16122f288add9e64cd4b4009715c5beca00581f02544aac0d905eed25b8ff8e110ffc5e25c6e16ad8f921367bbbe4a8056d7f430f3e4000581f0287bb77b5851ec6c01bd8e29f90cb8e22bb825ead175b37403b03c341011449035d82540660dd800000581f02fcf287a5da742e1f926bc82d0c6b9cb1bf20ed31712027510778cab2e8b25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039f07e053cb0f8082b8cfd01c39ef0d03bdc4a51160620bce3102d3061e3a82dc00581e02ade5b7d07800c8b2180b9a23bab40767bafc17a9fa66e7859f5bed4c095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a818eb24795c6caee70681d1bed5b7909d84f9cb191498e4a51aee35c5487c86d4b775a2d00002184400581f03b0657e10700afb282ea55966bb5bb4f4c757de4022557649e4206202a3b0490119c433d531707e780219400100581f02ea2446dc49a5ff12a77b2a22fefb3d14b3981dd8896eb52b6c799bfd946549012a249bd9490e700003962d87cbcd128ca9b0086623cdf8e07345c46ddda2beca4aa8567e2e60a1f31200581f02ef243b61103db997890454dd21491ff22e03d88eaeec85187bbe9def480749013a801550671f300003ff6534d8adcc0dce302996bf08103fbe49ef2bb508586a69c94c339defc3e72400581f02e5975400d31e6e29beb2f03ed61238976dfea68398a95f1bc578fe45afce49013a801550671f300000581f026a927dfa2a8f600481c625f4c9313e9840c5fdacd3fd2587cc2a468ef47348d85b3c85b2bab0000219f9e7034711a1a45b65e9f955528b6e6aedf925381f1394e8d5ad48a99e86becd98cb7403b4bcfc82e08483c5b8439dee63450cf421e8fb5963d46b20ff3f081c4ce057d3031d46a0bb580ccc4fd22f92dcf6aff2bc128673283582ea1b68f8989c671edb89037980378406579d4b09e38114c30fa39a79f66cf972d2b3755b3e444a511a6e9503f43bd0b00a16c3afa1125eca54cbdda073824039b2c43c6bb6d266aa45597aa703263e998041229bcb196783c696849c0009ff40bac1bbbbe9378fc75496858df60379eb95d51a1524932cda6c4578fe19c896e5de45e55e26cdd07809f2fc3a74cc0219ffff03fce376a2b3b610003916576503ec46a4ab0a51d42c0c4f3c7ce72060ad29d2b603f67ebbd054a2fdaa8c5e273a55d89b9d58bd136c24dfb81dd07b1e4b118ad8a60340673165610b3a969cc139abff4b8a2ed98c79dd091ea2b39338e3a2718384cb0219ffff03a873ba8bd2a57080ec1b135b857618b0f7da934fa118d6f9cba17bdfd085e6c203d9cbf53263a0ebf3466db7f7a30c391434c38337858f91cf12b065562f22b44e03ace12b554a7751a62b0b7fe961ae98ed85cfa0e8616dc832c58c77362676a4580358cff3a9f023d4c95ede8697aba0d4786752593b45dff18afe37fc9c4a972a05033e92fec34c78a5c1e487f92e260beec97e987a9733eda8b37455194bc99abaf20344cf6badb23117e6b652ac03a7a7bb7b5df9c972504c718588bf6514cda882cd0310a3658754b826ba954a6325cdbad79c0f2cc31e905f8024f34c6f53b4570ed803d4d60d6f58879c371466d63f8ae7b4cbcde1bdfc2117acf814d998e8bdbba8100375001ed6a222a1509481f14a37fb6b1ead8769fed83daddd13821b4b21e73fd9039365a911d28b64878133797a1f08cb0590aa306d27045c01064e0fdda1d62b60036ce960a63a237f281f6de17ef33909d16da6dc5566dc887e0a6fcf76950d072703995f6f6979e80b23d55c1d09cd58b2b21628097de86ee18c80324c9652d9b9a40351213b26124a2567d9c935e021c79e14a9825efef5fe18f45fc61fe4ac6dc2140366ff06750f787e1fd533a2e999a865ff9a6d74359ceeda1ed7bd5ca6bb5cf6a60340c47fcc5b6c893a288c9c487631a996e467b68e8995462cf5aa354468240a2800581f02634aa2e29529ec8425fc8581d35c109ae417dcd0e03181b492d27b8bf517490a8365480f78c9000003a05b0be174cd33a992108488b0a4087ee2b1b7e64146fc6719772da05b7e163a031197950bbdc76b847ba1f1375a1fff3fec1c42425c615f198bece509c66dc7e100581f02f7dd8d0e964c36ddba98727ce9665704fb45b0c15ffb30aa6bfdab85f6e748e8b6b5fcd0cb700003beb3e5e34cfcd4ae3cfc1439d0eccdfe6d296fc519e64bb7092339adc3419724030f732d0d71ec2e367715b0e44aa28cc7c256d60212ada7bf7c48b827a6b5a97703c49b19e978e93a8275fb55fd33ad8f4edee4ddc921adb8110d27318e3709b09600581f038c79026e6f812197666f53e2b49da8164d20dddb88987eb6cb3e1ab4c3904ab6f75503ce354f14552c00581f039db09985969e7c075e9dd296fb8eeaa3f9ca39a22f2202d01252d9d9613048a748d022ac9450000219240000581f025e7e41b1bbaaf1c533c05cb740e1556ca8473119037e47b674888ee896b45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03fac567515e1fd043dbb5344852a05ba2f3efdf9d7f1114088cff52ce2eddfc0300581f02046deab21c3c4069d3c1c1101efc8493250938d39be2da9ddb5b15c7162c490119c922622afdb00000581f02050cf224b6fdff87a7850c5abab081c118a6a2c69268fe98cfe36f0611174901096da8eb0cecf00003df898865b2e05313911bd03024adddae415374a04bf8e257fb3cbe8670dade1100581f0280f700a9be0e7f42ba0812c0846f9f329d762de9b84825816525efad94c049015eed19bc773960000219fddf03ac64092b04906e02784fb3e40562477e16eec99a4ce2f9cd180f6df01fd26b510329f4e89d15b498c6a46f1cf47b2f77eca1b3ade7a16e84ae7897350557ebf36003d709f10e1bbf7178f4605a0555c5ef87141c5639c87a3a2284be75697c8645920337c12c5e4b2fbd1a822e40317fa6caf8f65490beff1b6d665803f4dd18842f08039bb5caea76e9e5ecc6607d10dd2db9bbd1c857bc474f05872d98c02b0a1e0c93037a8e427cce10f3e78f97a5318116059c0e84dbbcf4b7d47ded39e7842d7557cc03fafd608ee726e02ec2e3079ed6cc463d4512f676dfe2854e77a09e9e37e3600d039573b1ea59be58b3b8dc5e3188a9af6ee1e2c2c22974ec87dc9da5351d0fc5640219ffff03cc15f042c5d959f2a6c8216a8a4c32f58fb21f1c2bc4513bc368679cf0adfcf303a46018aef73d68b5cae761c67f0b0cea7aa0cb33a04b5d26670f10170080099c03c00da652c0bc9d5d67df503aa988ca5ec2c27bf12436b2d931dc0210cf7afb900364777a56d0d580c60fdcad7974d60c1c262b598e287b3c350248e8558d7287130387a63ff497ac832e4f4a4e1d7c642fba0be7944a1583abd361faf5afc44ee24b0331094c7c17225ce1b114ea1188d0213a6eec7208b84236da6f4b4f1d332e43a1031f185fb33e1581d5060578a0659caa08cfcc412d903ae424301f5851ef750b1a038bd5902a2fd3cee3a0907726c71bef1048d8796e71fb37df1e28a2625292341c0328c7ca3056b93242209916ab42824d962d160d759bb44378b786e295280ff3f903c09ace93e9dc50200ddfa50be622024b5773468cfee5481e81233b057681643e03a963e70d0b2f69ddc5e7c67c870e7d56c45ed421645f18030395cce6919f04800219ffff032f49803d0364429972084490164a93ee4d6eacfa1f3720f9af0e778dd4d0cdb903211f6b82339c866ed7e8c106f19a86cf58d5085a8fde4d1c5054a91d872438e20336f63ac6e2a37c0b865dec3e780a15aaeb27e06ce8e62829107ed6c45a95980103c420b6c7ee573864a1f1877e34768b31ec4cf96b13b93aeb75de3d52f65f5c0b03c4fcff6a226b32f053cc34ddd2972c14d02bdff1b5b4dccf87a9d62af9514d380347b5e4a3822ef2006b4672669e1a4bed6352a365289d92658d353f898a8c220b03dc8ba88dc00b8ff48ea6c7e59f29dc958d3b1be4ce3da2c0464eb17d9a5c924f03b1ba37dffc9e8a7f115621cb2fc8a61fa973c5ce79d77cb2fbcbe3a1773890a1033bfc1378a03d82e4cdcb50ce74d76dc51daf4ce41694a9cb13f5ad4eb6d9098c00581f02d703532e465e222dbc6feffe3d4d0f24cb27837b4e68876ba0fd3e8398d248a748d022ac94500000581f02546644e9ab0060d5a31976ee02d5d596283fe0da154dc8a8ca6c22d4635846216edabdf000038aaaa80ee936638a43df6a0c1f0c2d2a23ff7e7a60a3e0c8073f3ab20f04108a00581f032f0a9761d882b34c2fa40402068bd004b6d7add6f1ecf5a721136e87893048d85b3c85b2bab00000581f0349aed6293054a32fb4ff87e03a76c67fc6b9261d4908f74b1ec5667cc0604aca52c094e3bf68afb8000219088000581f0236ff433142c148a655ac6638f5812559e961d1af4fa0ae11d5ddda0684ed48d4b67311503ee80003ab9344993021a0e4531d419c5e2eaaa1155c16d68605ad39b5570cb142bb911200581f0207a31dda5e9a34a6b1851d7f22db899cfe6dc6ef19594a03320571881fc748f9122f73eedc300000581f02706d96e03b04ee2cd31c20aa4491fafbd29eb76834ae3a56df560237248448b7a44999caa5100000581f028431d952674c51a0c70196fac3ec083911fe846d1abe96820dd719fe712f453a352940000219d1e903cd5101d4399d427e84b336e71172495821a47a4db0f0f5706d5cf07daaa51dcb03ed5d678bf8232441e22c2a30ae246456fd50c2aad1a0341c73b78dfb259640db032936d410d0ae91aabe171f244734dde0e3b9f0799ad4373ccbe4f26f682bcf18037ca38988af1202d92699551b6e830c16d949d11ee09bb7d921e2b10c3a3d02960315d3d5517131fbc18e8abad1e5d654234a7de98dadef521d45f1c8ac9e93a30c032a76a8f1e9b69c6a544db56d973f08479de9d3c2ccda41a98706b94dadfda1ed03fc38b93c77194f5262f9164e59cd0ca2b798cff9d684d1528e08ca2c0432035c038e2ecc50a1ee57d27663999ff2121e1568f9fc26c8be69670c103e20cef7a8fb0390f6359809ecd2944f1f098302724efe5ad51fa459f5ef53d3f517a46a4faf8103631a3c9e4ea3cba15b63d4fe19244b70db2e514f276cdaf68b8218dfd317559f030fef0f810cdbf5bffbb3c655041b90045f2bedd3acdcea10e29a3045aed0942303dd548759013e6cdfb9e50a3f522b47695c69193c1ebacb0da91fe3dee6cb9f0a0219ffff0316e2e334bf8c30547ed39bf7d405c4861d903b8ac02502f146f46552317a445b03fd783e97ac6791463ab096b4fca5dbfb8b96a636991972f2f935b96531769e3d0357d19b9946f3ba62b0a88a1907a02d59d9b37469f5b7ed54d3db4cd1dd480b130310bd0b98eda9f5f3f5b004cf1d4ed967b6739afd4ec43c6b5a456498fdce12ee03002ba8d8e195117cdce7c6a83ca5af1c3060c839aa64a270f11c159371ec39250353d87773ac815e8c1e74a4c69f11d9b03887b8ad9961e69f4442c0fdd80cb224035225d53d81460a727afb8bf6162fa7fd4e2e36fa0f58254810f7138179c1231d034f16abb5803af9a76f8c996abe506a4faf4c25a2a2fde8f2a18ca194861135ec03c3bc7a8d329a16d2ab1ed128c15d668d4b483309d52788718aa4020bfd07076b0390236ce03da1edf91e8c492c18e0734a5cf48dba71bd5b45958c60eee044219103cdd92791ddd048b56417b481b8c4d25eeb097292125751d82bbc7aaf856933f1039dabd1df8d262c1f1c041088565827e715e6af5f1bc30aa3097e13219d0fc37703cb0455707bb9883dfac9dcba93cafddc36c5698f5dd60695909ce36b52268e8a038ba388cbf005a265ec129a03053d404896b901807213a359da421fcff3140de50219ffff03f6e75237b105597004c239818cbccbaf555d219beec94e1ab672742bbf28a42903f1e80ac9c1a79ee9ac8d995cb9ae41e764a68d16ddf447a728cd3843bd9482ae0219ffff05581e03f7ae2eea053064d869ccaad3fb3ac7eb83ebfc38f38731f9245fa0fed007011910f505581e035ffa13eb1bff36cc67cbdc9c4461dc242e09dce54534afa36eb3c9ebf0040105581e03ea0d64dde2a71f8cd6be252efd2c1d15d5e6c0630644171606ae0ef6500c01471182e63e1910000368d92ce8197d5177c8136a7afc7cae7ba3750c0d3c4ba9949c6078734ee4984605581e0303a7dee86429f3d105b27e52b23518decde73708e4966d55926473e3800c09480439dde6ce71cc0005581e0382cb4c9a1aa5d574179d9354bdf4bad24d715010f32402320e750620a004030219fc57037a3acc8240f85780b8bbc75d889e9756b1ecd3768608f37087b350afc589d339030cfe94b34eb5eee935568ace1fbcd1f2a5b36bdcda49ac47a8e63b9a9f7fdf440342f04e83a229cbf001804a67862794842db44bcdacd57666ab153fea2bbd195e0363bb205194554699c95b3d42de04ad3185fb9990afebd2ba3bd28a3184966fd303d89a3b17eff24f5a1936e3df1944406daedcbb0cefdbbc28126584e9ffd7640d03b0fc35c761a74651a9df5964f42d9663207a5ae44bf769ed74f87246516073530219ffff0332418defb28f44936ed48e4ecec0f3d909cdcb75796c409ebb0e56fb5e47504403d49d639ee640675d4b1e349071c32ea5220567d9c82bce70263bd350051b97d3031374cb24dc90e06f341958a66e891df5d5f501bf50d6dc1cc51bab1170252605030505f8fa97efa36b75021c0a4207d1e77ed6a0e96ec5e087ad62a3fbe2a9563103d3fdfc89ad99fb3cb1ab0123dfeada91f177574c5e68b0b335ee5283715cd55b034d1ba60b146e73072a69cdec2d32f6dc3058417268829a86574c73032f08266d03267ad756cf2291d432e7ec29e75dccf2ce0b7d7f30597a9027ec5780171a4cfb03809aa6ca6b6445381faf4bd41bb0b616569774c5b33901e1875102e4705df9460219ffff034f1f57f32f1591f1034690f3a87c2a256edfb944d0ad161b72eed095e089c386030051239a2990f8f3660aeb671804889caae70be4cb0c728df888ece5cde23a83039a52c952dd843224c2c370286fc9cf892dea4977d21bcb904fe22183c6ef8e0203da6f8e7178b6d2412e2d72f91d5f5984b3ccb1cacf2e6e9ee7ef240925551ae703a42663581c535f1e90fe6e27454861d27c5a503240a765ab8828e8d5ffa29824031ea93454560d486d8bf95a89051b9c4eb966011b1a074e199b1a0515c793954b0398cda2aea37dc56ac20c860563b69150415372ccc0467e420eede19c976bf09a03b3ef0f5eea6c7cd50a280f6555df28b06a5761be433df21e3ec19e32eb41a38303359392075ece694b77c3a1af7f99d3b6324a57384d8563daa273db83aacdb3d703b06a392af9bd6054219e711e62dcea583596a727f8945c398d0bd0b3b61ff5070219ffff034c60f8197bcfd399502ad1aa2210fe2efb0a5e0daa5e53d33b094008b70d4e2f03a74892f5cb77e11d45d9e27a8451aa7985e93d184000ba08995f25ff8639fd1803fed381b13c25d4d013227124f1a2b0b454d3ea6ed98dd5a1c9a5040ccea7cf29031094cd37ee812947812eeb5cbd3610f1c7a633554435ca82a365e9b018005b7403855e2b4f84edbd19fbb5d204fded8526accd5c3cdacccbfc692a619b134e1e4103019003311418dc700d2df1e5f2e9c38085709fd9ddb87a704cb48f33fac8fe0a03a0a6899a436938ae19e2ab28d533027555609ed5efbb50a6d065eeba4f07845e03cf1fe7bbfc420ba9fe48e6ad8a51b7d0d085abeac0c62013e5360f1106d88537030984e91d06fc2d96959e8c63383a37eaca14811b771bf5eb410124a4d7d669ff03bb12a4f3391188880c4b0dccc8c6b20ee2a3f19f6541a5fe434b956cd9ddd9e0034abeb640645788b1a5693cd3694071d8a7a94b05122a277ff8e4ad12e58a7d78033188857665a060d9e2e63a6f65f984a6511c7b7bdc3cd7324d039222412a87ef03e56415a76bca5e206ed48ab98f0d50bbfb995c385a88e41a27640e82061d90c203fa256f992ab87bc35aa66fc53ef118a0a8f8f8ed709bd92c84c6a098605deaac0336973d48b26b99b63374d89ce4a5ecfab1aee2ce64556d979f0ebb1adc236b0003d952b3e171d78cc0fd08a01101f84ece295821b3b233b83567b5330fb2b6227c03ef1e584aad86aa113fcd627c639b69fc2f72ae05b9812810bf8bd026bccf4a4e036e8d65f5362192d9b51770d76a36b219254f64b619dba6b1773d106abb2ab436034ba8b489cebc86d10d9799d2ecf9d718a0efaaa3f476d4a6c4ba9aa662561265031fc58f3db9e50c22ec8f1a7994aa33228f85442b4ca0ef85711ed25d784a0e2a033976e2c3643b51cbd06ad4b7aa32b43df58670503eff0f178b7557a13fcf98fb03eb111ada30afa4daf4fbfccb90ef4e21144292e144787a2faffce61e188925760338577cb68fa7f55171110dc9d06b142ec613a55febd28fa951828ac1f02459d2039cd71c847c982c53ae940d19e948a0d664f5e89df7a2379f268a5d42aaa183030321636f4428375c85c1dcaf5c53d62e99a7ada5242095364315cfb56267a0619c03218db8d7cc3bfe13a172962ce8fbe00d1cec4a2ce4ce0590bc46291367e0cc1603ebee8b1a5701a984d6be2d4c829eb8596292f1283338084a87a3a228bbfd52cb03a5f767ca3e05796242262bf076c752b6c22e571801e360974221729bc309ccf00319d5fbb15067f49275ebf5025a0d40471953442eb87d820776d1a63e0f68e5570364e7f5436430634e11aaf8c7b7b0f7e7a1713f385096990619ae2bc4e893898d03ee3c2ff0c9ebc5b843c32752815683e785ee6e18b1bb06253539c505b61b5b4b030d3b88329814c336d1e3eeab191a68ae18d45145100eeaf1355d0933e7e9a6ea03722c4b80f99bff57b568371e0c2688a7934b50cee648df316345bd037052ad6e03afb7793aa03fd2a3b66f7d6cdd2cec4f7e129e41427068e6fec8cc8c9f2b0d0705581e033c0039b56f3dbd6c917ee49202604acc1f21d8ba824e24831ad62e083004020310ab57b5be3461adb349b55e7e1b1d8089b0fd3f40fe14ce7d669c6453df6de305581e0303ad2c4d41886515f32fbf79b89fbcfbbde67ba882928951b27c2d3a400c014701f84115b692c005581d028a6b6158323cd49d79630f912cb7cf0047987f5607dc607b32ca3c1c0c0447049c9dbce8940005581d02c44c94a3288797eeabaebf7780f3c397abda90e1750925337ec4ae1d084735b86c856a9c0002186005581e03860dd6b6d129f796ed5c7a7c40a58df97374d35c8cccd58468de463f200c014622de07444a0005581e035378e2f8dc164529b7a066bfc9bb41d493316b068ab817d8bfc70f5f500401031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03e6a1c7011dad87fee76dcfcbd42706211329404e254e55ec31838ebf2007011bffffffffffffffff05581e03760eb1b008d9161a757f8fee28432c8c8cb21fbc9e54372dbe294654500c024702785fc75f12390219be0c033d5eead8508a87b53c5a6a8ffc0a3d1450f6b5ffbec6e6e6f2fa47950871571b03d6ca1a76f5cf335d6a0f9a02a8c6d2bc4f5e797420e8beca19f3295cf923801a03d3e7406daf097bc4036fae4202feed775f31bda8161997a080304108dc2d32b90352c2e7447d68d979cc91831b3ee35781c43de41de2228cb92035937afa22f0460366d04fbc5f8642e3841b61e2da89e853055a1ce4e02514e0632c10bd2b39a1aa03f1f8326c4862282ea30c62d37019d849912c0051c5990efdc05fe67484037e2f030175af95b25a1582e088dfca209756e711746a66b527c9c32615b92d14c61fc70367062b86af0e799c6b4b83701b87bb29db698ed79a679fb964181fd7d3ca4a5f0219ffff03e78f94f17c1878819057e44808a75f2c44bdb3299ea2344af4942a3a9659f716034dc7b3be088b3c3f10c46cb61c66fe0c2fb484a0c9bd93f5424fb96c0a5a6b490219ffff03e4ac3ceacaa96eb517d659fab02b67093dbe45462cfc047a2674f3a11e66a11803d17b92b40eb21b89b2dcaef573bb749fa00f71bdd700ee05108ce5c05893103603adba6a4dd140e0378899d82f296068159f27c6a58e551c031a83be8cd301ccd20219ffff03a1e33df23ec932182a43e062252ab1a2078c5ddf0afd8e5705fcb42ec03594fc0219ffff03ecaef52cccb36e089f2a21c4f2a7904b78aa9cd09a28f094893c412a39f3f3800376189d90d0514d6894e7b03735efbdf0eef8294bd77699262b469b0ae0ccc34003743b991ff2cda5499cea826cbc758273f944f1eb2b11e7ba3a110c951bb4849f035a4cf21d1f66870af3c3537a687e369c3136653b6cea26e3c551e3ba622c9efd03a160c32cdb8492c73d02b55750693c7c861e92ebab095f82ee3bbb07a40519be031256ec2c96dad8d92f747464ba9762a5aa64229b46e56818cbd16c500b428f1903cfa1a76ffae1909bff0b8af6700922d77b34d9ee9b1e6b0b060ac1d1fc14920a03c4bcc508b85619484c3d61851da29778e4cece2cbaef370a5b7414daf1c43b2b0321636131d52dbc8713e2d1b5537e38f410dfbf31d25704c32966ab6314e7913303b960c3d842e1a28540fe0f89d2ba8053539f2e6dab101563cfdcf9af32ce664a036f82c1f3b358cdcbe7294eac9fb373add6c6eb004b942932a5c8f66f4170ab440390ca820cbf691d9f49915ae16a99d1924aeea878fb90d02a2421f48db90bba1f03b35b506336ce29896ac8fc97ba6733a21388a751365e9ace52916c684ca8011203dcf0d19e74993c10230b8d73a5ce7783d9acacba058a40e44342ada1deee0702038f9ffb8f746faa5a272b2373016c0e9267d6f82bb83edc0305d499ef30d3127b03321644e85853e1927216465377edea961f3844f1a6a9f4ff8eed5bf293d1dd490355106dd5f971bb96a04295e9a7a61300fb4cf73ff09a535ea55ee30b4a9a97f903276d6fb4ede347b5ed23e803594e544db868357daaacfc96126a2e04a1d34bc903dd9f99864e8f7eb8a61b3c3ae8c8163b0afc27b767204b93fdc1f8a104298a0e0303dca98f6d5d3bfd30be8dadf9b30d1dfc6335ac924a32e0e6f5771488a0d51b03fa60a4b03b96f3c2d7378849261e6a94e048f282e765663a9f72ca8accf52e7903e35e2c3e918ad6c3e0c76b320c7539eeaef63febb558094f94067d434cf379fc03d6d433fc2c84a06a3a16c91b029953b330e62d4fe1a9ed32c758432e025c7c0503a3bf8c0b1b97a6de238e724b406e117063ad7027fbb4ae4214932d2be9c3dbb60319f9385a9a006d019611ae2a6ed705296e458ee03022dc8a008e26c8a392dc1d03f198a8397321aed34ebc2d722177dff7686dae9e475f8ac320de5dd51e8bb4ee03f9d85503570a1ce2d938ff8889873c3323791d58a65f7327af16b832360754d4038aa77a73cdfb36a06e249d608e98ba32bc2fb9988db718486f085716fb9ecb4403ebf5dbee363000dcf86fc984c2de1ea9c7105ad78cc4f3915826473a7d2e38cc039c9a6b3ffaa7e8cb6442526cbe19080e24cac3904e5a577be00b62f258ccdef103e8c0fb2237a1d8f5bc3fcb7fc6c983a388be3e6cb7857c9e60b3767aba47d5d803b751f5ae2393cd74f9eb21e0ff95f1e779c5e5aaf040a039a3d583bb54a6be5003b5ae073a123f2a322d036081320154b52cc305baccbc2b7db17e972a5d0586c1035a1d0e3ee5b8cdb87773d5d96ee8b86f7a3fffd05be1281ccee2e56e4921a262039ec8e802b4b703c5436a32d9739901e9d016d89daa0fc8223486e2335c64d4d605581e036d25950f9f654f1a235a2c60bf8a7642fc4f5c659e10c4e52ed3537a200c01474549c1ce39622805581e03a029d0aad9fe0e76a161fbb2b5a6742cb2a0e99a4f0482fc9ef67c2ee0040705581e034e6f59b5329feb3247c21edef5bc9c5e39589b973039e5cbee1de9c1e00c02464bdafbc0ac7005581e031786bb2d9caf6ede27f2dc0f9e242e10c6b5939f73fe96aab7e965e990040103d877963418e85de949c9d0a67f47c230652b2e4768bb8d5eb766f9233c77730405581e0353288f66d053a9329bf5c259ab26486a18e2a736710c2f30f2196119600c03465141a47a1f98039852e1b13ef8e93bad2ff2c8dc9a89c9c528ef16e61be98877a6ebd7f85b93f8033a0d38fb4a88f317a1c8f35cb052076e5cd9a7d64d2e39f0f1bc88f7efb6d04d03d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e034408712aeac04283284b80cc790993906d734cf5b0441b14166a6f12a007011bffffffffffffffff03b35f5fefc0f82788ad3cf59c9403f895f46d050763284beb1572bf046d7b49b104593d806080604052600436106101f1575f3560e01c8063715018a61161010c578063ae6e8a881161009f578063d99274481161006e578063d9927448146106fe578063dd62ed3e14610726578063edae876f14610762578063f2fde38b1461078c578063f59c3708146107b4576101f8565b8063ae6e8a881461065c578063c49b9a8014610684578063ca33e64c146106ac578063d59093f6146106d6576101f8565b8063967123cd116100db578063967123cd14610592578063a457c2d7146105ba578063a9059cbb146105f6578063ad5c464814610632576101f8565b8063715018a6146104fe5780638da5cb5b1461051457806395c457291461053e57806395d89b4114610568576101f8565b8063313ce567116101845780634a74bb02116101535780634a74bb0214610448578063632e544214610472578063667f65261461049a57806370a08231146104c2576101f8565b8063313ce5671461039057806339509351146103ba578063404e5129146103f657806349bd5a5e1461041e576101f8565b80631c6a0c4c116101c05780631c6a0c4c146102c85780631e7be210146102f05780631e89d5451461032c57806323b872dd14610354576101f8565b806306fdde03146101fc578063095ea7b31461022657806316c021291461026257806318160ddd1461029e576101f8565b366101f857005b5f80fd5b348015610207575f80fd5b506102106107dc565b60405161021d91906129f0565b60405180910390f35b348015610231575f80fd5b5061024c60048036038101906102479190612aa5565b61086c565b6040516102599190612afd565b60405180910390f35b34801561026d575f80fd5b5061028860048036038101906102839190612b16565b610889565b6040516102959190612afd565b60405180910390f35b3480156102a9575f80fd5b506102b26108a6565b6040516102bf9190612b50565b60405180910390f35b3480156102d3575f80fd5b506102ee60048036038101906102e99190612b69565b6108af565b005b3480156102fb575f80fd5b5061031660048036038101906103119190612b16565b610972565b6040516103239190612afd565b60405180910390f35b348015610337575f80fd5b50610352600480360381019061034d9190612c4a565b61098f565b005b34801561035f575f80fd5b5061037a60048036038101906103759190612cc8565b610b19565b6040516103879190612afd565b60405180910390f35b34801561039b575f80fd5b506103a4610c0b565b6040516103b19190612d33565b60405180910390f35b3480156103c5575f80fd5b506103e060048036038101906103db9190612aa5565b610c13565b6040516103ed9190612afd565b60405180910390f35b348015610401575f80fd5b5061041c60048036038101906104179190612d76565b610cba565b005b348015610429575f80fd5b50610432610d8e565b60405161043f9190612dc3565b60405180910390f35b348015610453575f80fd5b5061045c610db3565b6040516104699190612afd565b60405180910390f35b34801561047d575f80fd5b5061049860048036038101906104939190612ddc565b610dc6565b005b3480156104a5575f80fd5b506104c060048036038101906104bb9190612e39565b610ebd565b005b3480156104cd575f80fd5b506104e860048036038101906104e39190612b16565b610f4b565b6040516104f59190612b50565b60405180910390f35b348015610509575f80fd5b50610512610f91565b005b34801561051f575f80fd5b50610528611018565b6040516105359190612dc3565b60405180910390f35b348015610549575f80fd5b5061055261103f565b60405161055f9190612afd565b60405180910390f35b348015610573575f80fd5b5061057c611052565b60405161058991906129f0565b60405180910390f35b34801561059d575f80fd5b506105b860048036038101906105b39190612e77565b6110e2565b005b3480156105c5575f80fd5b506105e060048036038101906105db9190612aa5565b6111f9565b6040516105ed9190612afd565b60405180910390f35b348015610601575f80fd5b5061061c60048036038101906106179190612aa5565b6112df565b6040516106299190612afd565b60405180910390f35b34801561063d575f80fd5b506106466112fc565b6040516106539190612dc3565b60405180910390f35b348015610667575f80fd5b50610682600480360381019061067d9190612e77565b611321565b005b34801561068f575f80fd5b506106aa60048036038101906106a59190612ed4565b611438565b005b3480156106b7575f80fd5b506106c06114d1565b6040516106cd9190612dc3565b60405180910390f35b3480156106e1575f80fd5b506106fc60048036038101906106f79190612ed4565b6114f6565b005b348015610709575f80fd5b50610724600480360381019061071f9190612b16565b61158f565b005b348015610731575f80fd5b5061074c60048036038101906107479190612eff565b611701565b6040516107599190612b50565b60405180910390f35b34801561076d575f80fd5b50610776611783565b6040516107839190612f98565b60405180910390f35b348015610797575f80fd5b506107b260048036038101906107ad9190612b16565b6117a8565b005b3480156107bf575f80fd5b506107da60048036038101906107d59190612d76565b61189e565b005b6060600480546107eb90612fde565b80601f016020809104026020016040519081016040528092919081815260200182805461081790612fde565b80156108625780601f1061083957610100808354040283529160200191610862565b820191905f5260205f20905b81548152906001019060200180831161084557829003601f168201915b5050505050905090565b5f61087f610878611972565b8484611979565b6001905092915050565b6006602052805f5260405f205f915054906101000a900460ff1681565b5f600354905090565b6108b7611972565b73ffffffffffffffffffffffffffffffffffffffff166108d5611018565b73ffffffffffffffffffffffffffffffffffffffff161461092b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092290613058565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561096e573d5f803e3d5ffd5b5050565b600a602052805f5260405f205f915054906101000a900460ff1681565b61032184849050106109d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cd906130e6565b60405180910390fd5b818190508484905014610a1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1590613174565b60405180910390fd5b5f805b85859050811015610a6057838382818110610a3f57610a3e613192565b5b9050602002013582610a5191906131ec565b91508080600101915050610a21565b5080610a6b33610f4b565b1015610aac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa390613269565b60405180910390fd5b5f5b85859050811015610b1157610b0433878784818110610ad057610acf613192565b5b9050602002016020810190610ae59190612b16565b868685818110610af857610af7613192565b5b90506020020135611b3c565b8080600101915050610aae565b505050505050565b5f610b25848484611b3c565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610b6c611972565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be2906132f7565b60405180910390fd5b610bff85610bf7611972565b858403611979565b60019150509392505050565b5f6012905090565b5f610cb0610c1f611972565b848460025f610c2c611972565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610cab91906131ec565b611979565b6001905092915050565b610cc2611972565b73ffffffffffffffffffffffffffffffffffffffff16610ce0611018565b73ffffffffffffffffffffffffffffffffffffffff1614610d36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2d90613058565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60149054906101000a900460ff1681565b6107d18383905010610e0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0490613385565b60405180910390fd5b5f8383905082610e1d91906133a3565b905080610e2933610f4b565b1015610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6190613269565b60405180910390fd5b5f5b84849050811015610eb657610ea933868684818110610e8e57610e8d613192565b5b9050602002016020810190610ea39190612b16565b85611b3c565b8080600101915050610e6c565b5050505050565b610ec5611972565b73ffffffffffffffffffffffffffffffffffffffff16610ee3611018565b73ffffffffffffffffffffffffffffffffffffffff1614610f39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3090613058565b60405180910390fd5b81600b8190555080600c819055505050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610f99611972565b73ffffffffffffffffffffffffffffffffffffffff16610fb7611018565b73ffffffffffffffffffffffffffffffffffffffff161461100d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100490613058565b60405180910390fd5b6110165f6120a4565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600960149054906101000a900460ff1681565b60606005805461106190612fde565b80601f016020809104026020016040519081016040528092919081815260200182805461108d90612fde565b80156110d85780601f106110af576101008083540402835291602001916110d8565b820191905f5260205f20905b8154815290600101906020018083116110bb57829003601f168201915b5050505050905090565b6110ea611972565b73ffffffffffffffffffffffffffffffffffffffff16611108611018565b73ffffffffffffffffffffffffffffffffffffffff161461115e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115590613058565b60405180910390fd5b5f5b838390508110156111f3578160065f86868581811061118257611181613192565b5b90506020020160208101906111979190612b16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050611160565b50505050565b5f8060025f611206611972565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b790613454565b60405180910390fd5b6112d46112cb611972565b85858403611979565b600191505092915050565b5f6112f26112eb611972565b8484611b3c565b6001905092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611329611972565b73ffffffffffffffffffffffffffffffffffffffff16611347611018565b73ffffffffffffffffffffffffffffffffffffffff161461139d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139490613058565b60405180910390fd5b5f5b838390508110156114325781600a5f8686858181106113c1576113c0613192565b5b90506020020160208101906113d69190612b16565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061139f565b50505050565b611440611972565b73ffffffffffffffffffffffffffffffffffffffff1661145e611018565b73ffffffffffffffffffffffffffffffffffffffff16146114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90613058565b60405180910390fd5b80600e60146101000a81548160ff02191690831515021790555050565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6114fe611972565b73ffffffffffffffffffffffffffffffffffffffff1661151c611018565b73ffffffffffffffffffffffffffffffffffffffff1614611572576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156990613058565b60405180910390fd5b80600960146101000a81548160ff02191690831515021790555050565b611597611972565b73ffffffffffffffffffffffffffffffffffffffff166115b5611018565b73ffffffffffffffffffffffffffffffffffffffff161461160b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160290613058565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb338373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116619190612dc3565b602060405180830381865afa15801561167c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116a09190613486565b6040518363ffffffff1660e01b81526004016116bd9291906134b1565b6020604051808303815f875af11580156116d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116fd91906134ec565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117b0611972565b73ffffffffffffffffffffffffffffffffffffffff166117ce611018565b73ffffffffffffffffffffffffffffffffffffffff1614611824576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181b90613058565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611892576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188990613587565b60405180910390fd5b61189b816120a4565b50565b6118a6611972565b73ffffffffffffffffffffffffffffffffffffffff166118c4611018565b73ffffffffffffffffffffffffffffffffffffffff161461191a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191190613058565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de90613615565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4c906136a3565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b2f9190612b50565b60405180910390a3505050565b60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611bda575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c109061370b565b60405180910390fd5b611c21611018565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611ca6575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611ce35750611cb4611018565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611d3a575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b80611d7057503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80611da657503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15611dbb57611db6838383612165565b61209f565b600960149054906101000a900460ff1615611eba5760011515600a5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515148015611e7a575060011515600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515145b611eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb090613773565b60405180910390fd5b5b8273ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611f6157508173ffffffffffffffffffffffffffffffffffffffff1660085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15612093575f611f7030610f4b565b90505f600d548210159050808015611f955750600e60159054906101000a900460ff16155b8015611fee575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156120065750600e60149054906101000a900460ff165b1561201a57600d549150612019826123dd565b5b5f606484600b5461202b91906133a3565b61203591906137be565b90505f606485600c5461204891906133a3565b61205291906137be565b905061205e878361245e565b612069873083612165565b61208a8787838561207a91906131ec565b8861208591906137ee565b612165565b5050505061209f565b61209e838383612165565b5b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036121d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121ca90613891565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612241576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122389061391f565b60405180910390fd5b61224c83838361262c565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156122d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c7906139ad565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461236091906131ec565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516123c49190612b50565b60405180910390a36123d7848484612631565b50505050565b6001600e60156101000a81548160ff0219169083151502179055505f60028261240691906137be565b90505f818361241591906137ee565b90505f47905061242483612636565b5f814761243191906137ee565b905061243d838261286c565b505050505f600e60156101000a81548160ff02191690831515021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036124cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124c390613a3b565b60405180910390fd5b6124d7825f8361262c565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561255b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255290613ac9565b60405180910390fd5b81810360015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8282546125b091906137ee565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516126149190612b50565b60405180910390a3612627835f84612631565b505050565b505050565b505050565b5f600267ffffffffffffffff81111561265257612651613ae7565b5b6040519080825280602002602001820160405280156126805781602001602082028036833780820191505090505b50905030815f8151811061269757612696613192565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561273b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061275f9190613b28565b8160018151811061277357612772613192565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506127d93060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611979565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161283b959493929190613c43565b5f604051808303815f87803b158015612852575f80fd5b505af1158015612864573d5f803e3d5ffd5b505050505050565b6128983060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611979565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f80600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161291e96959493929190613c9b565b60606040518083038185885af115801561293a573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061295f9190613cfa565b5050505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561299d578082015181840152602081019050612982565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6129c282612966565b6129cc8185612970565b93506129dc818560208601612980565b6129e5816129a8565b840191505092915050565b5f6020820190508181035f830152612a0881846129b8565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612a4182612a18565b9050919050565b612a5181612a37565b8114612a5b575f80fd5b50565b5f81359050612a6c81612a48565b92915050565b5f819050919050565b612a8481612a72565b8114612a8e575f80fd5b50565b5f81359050612a9f81612a7b565b92915050565b5f8060408385031215612abb57612aba612a10565b5b5f612ac885828601612a5e565b9250506020612ad985828601612a91565b9150509250929050565b5f8115159050919050565b612af781612ae3565b82525050565b5f602082019050612b105f830184612aee565b92915050565b5f60208284031215612b2b57612b2a612a10565b5b5f612b3884828501612a5e565b91505092915050565b612b4a81612a72565b82525050565b5f602082019050612b635f830184612b41565b92915050565b5f60208284031215612b7e57612b7d612a10565b5b5f612b8b84828501612a91565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612bb557612bb4612b94565b5b8235905067ffffffffffffffff811115612bd257612bd1612b98565b5b602083019150836020820283011115612bee57612bed612b9c565b5b9250929050565b5f8083601f840112612c0a57612c09612b94565b5b8235905067ffffffffffffffff811115612c2757612c26612b98565b5b602083019150836020820283011115612c4357612c42612b9c565b5b9250929050565b5f805f8060408587031215612c6257612c61612a10565b5b5f85013567ffffffffffffffff811115612c7f57612c7e612a14565b5b612c8b87828801612ba0565b9450945050602085013567ffffffffffffffff811115612cae57612cad612a14565b5b612cba87828801612bf5565b925092505092959194509250565b5f805f60608486031215612cdf57612cde612a10565b5b5f612cec86828701612a5e565b9350506020612cfd86828701612a5e565b9250506040612d0e86828701612a91565b9150509250925092565b5f60ff82169050919050565b612d2d81612d18565b82525050565b5f602082019050612d465f830184612d24565b92915050565b612d5581612ae3565b8114612d5f575f80fd5b50565b5f81359050612d7081612d4c565b92915050565b5f8060408385031215612d8c57612d8b612a10565b5b5f612d9985828601612a5e565b9250506020612daa85828601612d62565b9150509250929050565b612dbd81612a37565b82525050565b5f602082019050612dd65f830184612db4565b92915050565b5f805f60408486031215612df357612df2612a10565b5b5f84013567ffffffffffffffff811115612e1057612e0f612a14565b5b612e1c86828701612ba0565b93509350506020612e2f86828701612a91565b9150509250925092565b5f8060408385031215612e4f57612e4e612a10565b5b5f612e5c85828601612a91565b9250506020612e6d85828601612a91565b9150509250929050565b5f805f60408486031215612e8e57612e8d612a10565b5b5f84013567ffffffffffffffff811115612eab57612eaa612a14565b5b612eb786828701612ba0565b93509350506020612eca86828701612d62565b9150509250925092565b5f60208284031215612ee957612ee8612a10565b5b5f612ef684828501612d62565b91505092915050565b5f8060408385031215612f1557612f14612a10565b5b5f612f2285828601612a5e565b9250506020612f3385828601612a5e565b9150509250929050565b5f819050919050565b5f612f60612f5b612f5684612a18565b612f3d565b612a18565b9050919050565b5f612f7182612f46565b9050919050565b5f612f8282612f67565b9050919050565b612f9281612f78565b82525050565b5f602082019050612fab5f830184612f89565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612ff557607f821691505b60208210810361300857613007612fb1565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613042602083612970565b915061304d8261300e565b602082019050919050565b5f6020820190508181035f83015261306f81613036565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d6974206973205f8201527f3530302061646472657373657300000000000000000000000000000000000000602082015250565b5f6130d0602d83612970565b91506130db82613076565b604082019050919050565b5f6020820190508181035f8301526130fd816130c4565b9050919050565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b5f8201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b5f61315e602883612970565b915061316982613104565b604082019050919050565b5f6020820190508181035f83015261318b81613152565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6131f682612a72565b915061320183612a72565b9250828201905080821115613219576132186131bf565b5b92915050565b7f4e6f7420656e6f75676820616d6f756e7420696e2077616c6c657400000000005f82015250565b5f613253601b83612970565b915061325e8261321f565b602082019050919050565b5f6020820190508181035f83015261328081613247565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f6132e1602883612970565b91506132ec82613287565b604082019050919050565b5f6020820190508181035f83015261330e816132d5565b9050919050565b7f474153204572726f723a206d61782061697264726f70206c696d6974206973205f8201527f3230303020616464726573736573000000000000000000000000000000000000602082015250565b5f61336f602e83612970565b915061337a82613315565b604082019050919050565b5f6020820190508181035f83015261339c81613363565b9050919050565b5f6133ad82612a72565b91506133b883612a72565b92508282026133c681612a72565b915082820484148315176133dd576133dc6131bf565b5b5092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61343e602583612970565b9150613449826133e4565b604082019050919050565b5f6020820190508181035f83015261346b81613432565b9050919050565b5f8151905061348081612a7b565b92915050565b5f6020828403121561349b5761349a612a10565b5b5f6134a884828501613472565b91505092915050565b5f6040820190506134c45f830185612db4565b6134d16020830184612b41565b9392505050565b5f815190506134e681612d4c565b92915050565b5f6020828403121561350157613500612a10565b5b5f61350e848285016134d8565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613571602683612970565b915061357c82613517565b604082019050919050565b5f6020820190508181035f83015261359e81613565565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6135ff602483612970565b915061360a826135a5565b604082019050919050565b5f6020820190508181035f83015261362c816135f3565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61368d602283612970565b915061369882613633565b604082019050919050565b5f6020820190508181035f8301526136ba81613681565b9050919050565b7f426c61636b6c69737465640000000000000000000000000000000000000000005f82015250565b5f6136f5600b83612970565b9150613700826136c1565b602082019050919050565b5f6020820190508181035f830152613722816136e9565b9050919050565b7f77686974656c69737400000000000000000000000000000000000000000000005f82015250565b5f61375d600983612970565b915061376882613729565b602082019050919050565b5f6020820190508181035f83015261378a81613751565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6137c882612a72565b91506137d383612a72565b9250826137e3576137e2613791565b5b828204905092915050565b5f6137f882612a72565b915061380383612a72565b925082820390508181111561381b5761381a6131bf565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61387b602583612970565b915061388682613821565b604082019050919050565b5f6020820190508181035f8301526138a88161386f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613909602383612970565b9150613914826138af565b604082019050919050565b5f6020820190508181035f830152613936816138fd565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613997602683612970565b91506139a28261393d565b604082019050919050565b5f6020820190508181035f8301526139c48161398b565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f613a25602183612970565b9150613a30826139cb565b604082019050919050565b5f6020820190508181035f830152613a5281613a19565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f613ab3602283612970565b9150613abe82613a59565b604082019050919050565b5f6020820190508181035f830152613ae081613aa7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050613b2281612a48565b92915050565b5f60208284031215613b3d57613b3c612a10565b5b5f613b4a84828501613b14565b91505092915050565b5f819050919050565b5f613b76613b71613b6c84613b53565b612f3d565b612a72565b9050919050565b613b8681613b5c565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613bbe81612a37565b82525050565b5f613bcf8383613bb5565b60208301905092915050565b5f602082019050919050565b5f613bf182613b8c565b613bfb8185613b96565b9350613c0683613ba6565b805f5b83811015613c36578151613c1d8882613bc4565b9750613c2883613bdb565b925050600181019050613c09565b5085935050505092915050565b5f60a082019050613c565f830188612b41565b613c636020830187613b7d565b8181036040830152613c758186613be7565b9050613c846060830185612db4565b613c916080830184612b41565b9695505050505050565b5f60c082019050613cae5f830189612db4565b613cbb6020830188612b41565b613cc86040830187613b7d565b613cd56060830186613b7d565b613ce26080830185612db4565b613cef60a0830184612b41565b979650505050505050565b5f805f60608486031215613d1157613d10612a10565b5b5f613d1e86828701613472565b9350506020613d2f86828701613472565b9250506040613d4086828701613472565b915050925092509256fea2646970667358221220e4a88a2f557a256440f72b0b95df08c43781a008b22b9ccdcad321de916b97c164736f6c63430008160033034ea7aaf95d66ad3efea11bb3b82924613c3aacbbeb40705cd232f4bcf713a8cc038867729fbb4851c07299543bb5bea640a1cb0d0a9043d558fbdda530d98fc475034afc8fea6814cddf31f1af61da0e155806084917869249c2de63c031f7ca504603b30b6cc9ebad27b12837dbe5faf65b5f28786883a2fc07eef2baf39f5aa80f5a039f66b480942b08b48b28d66339c82e6e2f6d18d3dc493df1e2560adef5ed1a550315969c73ad277d70eb8eddfd474ce8eccceea5b8c788845cc0080e5cdccade90035bdf8f899fd13324bacd3137de760bbd974637935ac299271b1e44a6e3bccf1f03c83fdfca7c40df9ee0519b643b9c7062f8631e948893e171e3b9c1fbd33f208303b67c57901adb2cd71d285209b8502522b2c6499b145950abbb33c1251d2c4f6e03cd4bc0ae8b6a443e4d4757a7b53a2f855c363ba13a71e65a1368561c8dd07df3038fd0ca74c1bbdfce40dfd07e55c38b9844fd361c92093be9c4b67cdeaa7d4bff03bbfa30ab791216d31bbb9afa3a2f881d63652664c8819dbd8b6e32a1bba34b5900581f0224447806a8e9e8567efe25897f1c6e2f5fce97d5513730f25f5d10a6dfdf410100581f02257c86dca14833786de60a61552a55d00fd9e323948505ab8dbea0eeff225820fffffffffffffffffffffffffffffffffffffffffff4157679355f3c0af3d2ef0219400200582003921ce0220995dc197ae9b90a8ee46ffe108ad4bb9f1c60c705abc19e5542d04b01bcb13a657b26388000000346f56264958ccaef699f694775b34fd7f37192a328ee032ca54910423bce7b1d0058200344af49c0214292a05c373268811c000734444a2206525e375f1cd4d11bf5004b086a3599a2ebef6d6de3550219d69c03b6db332365e2abc7ae6fcbe0a4c5ff828825c0973f93c013655d65f7c802b52e03a50a44550438705b22da16fd5fe581cccc18e38ed37ee5f282b7bd187d6d20a5030ddf0b9f166670ae9f14acf628d0987e84da248490b96d205d9e567833788407034db150063c8f2327d247b5f2b56a6260ee836bc22dc32601dc2db98a1d0bd01803f373ee3657f2ac49b9275a36ba5efb3e6dc757b62d9ac0b2be8fa4209bd9d5c603389982a86d62ee6f3a3d6e42a7525e9639f08229614a764bae6be5040079a22c03bd8c6968ddc46c93e00381019a5cdd8a6c12bc3eb14ca40edbc267407a3295e2033e5fea6a1a38094bce806981e2c02ab37ae69f8f76b22c6d37adf0378d0a17c0031f40efec4c770b45d4e443e5371f53f94ee090a7d1c6b112920dc6e2724103fe03c0e5161b8d81a7a0720049c8513df00a65ac88092d15d3527e58642fe82d927303d422229d4f143daa10b452983728ef5752b749bf3dbcc214b8aebd06c48d9c2c0398d95abb3a328ef79224c724ef0377a4a175af6bea3894faa5f20811ec68cb170219ffff033f68277d61e85954cb15bc64cd02b12ec14af5c9e9868d7c11aec64ae2932d300399848bac1a8ff9b792a824c93acfba95a621e2d3ad06699eb1e4adaefe0bf9aa03590f7b8874b8c6ba21f1c08667a1208aa55e86f5bc163a6ceb48be5dfa1ec6030353cc24d410c85d339fef22119699cd42c9ca7fa6f5ecc4a8446d77f405e03bb303106cd7d1fd64280f9961a3a1b71e033df6492a36fc803e82ad74a793fdab485203c17abe05dae6db39e0f53685b8f25113383dec2f62c369a5b030106a8f77bac70324bab36212ef3622545e791e9c9e0c379397a86342bdf37729e2e18c2302764503062958d39f5db424ee128e89760fedb6b99a9ca77db5afa9bc8648dd06f20f76035e839558ab1c2d0722053ad20adb742079f19d90579659b3decaee88a749a42803b1e6363e8dad60b24f9f08b1a42891778c8465adf8fa796dd0f6e3dd93e65aad036690b2d99ff7805e919dc473b74edc8bc38a8c834fb67852ec4259cb0b6b83300219ffff05581d02bf4d2a01c004a3f2e20820307ce35b43dc245945f74cb4d84e9ba8ea0f01482246b808f9b90866193d8005581d02cd022c7e0c4098ee035894d0b0e095a05a04bf94b96c253bf8ad92810c024703350a1bd9e1c803562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02778b2e0e4c3b6cb6a95b287783970bef214cea08b08e6ed43ab3783007011bffffffffffffffff02192c0002199eed039f5df0ac1396301c6c485883114382aae4a806950169044b8cd53dfce99f4a2f03253c66f4d687a1c0cb86c7af401462edb26f72aa1fe574c1a521994f2a26d49503ff9a730aaac254c897e94c09890667e6d3ac3bf8ea5ed85c06a98776f21200c10219ffff03a641c2b2f826b883786b6abb21d5d3fc9dfad60c09c7e9ae86ae201221966f9d03e9605f16c4544c60bdf989958d207c91b961a89522a2ff3b68cc12e5bbe8c30f031fd699f32a0a1dac12d1640d205a88d9beff66eedb19f3a82b2a5e6e4d115eb403fe8c99bbdff542f76c3c9c2faf84680c4cd53b890a065faa5ebe222e3c807a8903b6e7750349b061756fcf7e2ce90019db2188dc49d468f39d51871a9014e745c20219ffff033d7ce2a143792c830ed9b62f5285270d784e51b9bf9cb9fb4ee52cbbb8522bbd0377d021ced6fbebd51f4bfe72c9c8a33dca253c1aa440a4be47aab2a60fe52e2e030f2c3f75d4b984228b3d41eea8f8c7c861dbfc9d1263849b7a1840fd75877f6403deb87f78cabb058168a7b5cbe46484a419b25019bdd709f6f1bd641cf8f84a5e03891c872691ac371b9bb4f1e7f77d618ac24486fa9bfe970be69420ae57290d07036807c623f7d4edf20c235260163d03bc4a6b1092e185266193d0a31529b80586036f5751ae5dbe1df25faf1dfbcaa0b062edf79800c14a7f63ea6d5013391ef5bd030bca3441e99c727c95e3d552bdf3a48989971b2a41c805370092af8ff403fde20219ffff03ac781865ab02b6a26ed440e205e193c0a5a1f573f0feaf97a8d93aa66903ed0e03d7004366c5e8098b0b88b8bdc114e5c4996547c6371fb0e47fdacf1ab7f8335303b7e11fd37aaab11fe89c590faed59cacc081a5f0aac06d9f3c859fad1534875b0369f769f3eadcd527811b90d410a736472c1fac1b9073e4f286d52422ba36f01303ff9748e7fa2fb6b269d58639ac56888ff59a8f3f171102b65d6faee69cc6218b037ce245ffd806d8c3a1398eb166c339492da986585f57787ab1f45546dd34852603c93c64c8ebb0269aba1c05f16638b48eb4a9a85d5e647f2ba2b6eff090c57b0a035f140ed5bf638a6ad85645a04d2fcec0b72f4b3b7edac5be4822e4d793963f4d038dd22105f5739bbd2abef2151b59ffa23c1978e1ad187186a78dd490c0bcfbf403a3da4f64e5d0b485aabc9053f0c980604ae6be82c55e9ce119512c61f1ef66ec03b2bcf56f61f881417fd54479f639c9b279ce2a428dde514c7aabf79139a8a663033142c6fe2f6b0a701088c63a0359ecbb59ce8d4fb49d32e1b42adb50d46e581b0390c2b8d32bd729e22708b3c342418a10f247ec0eea775dc80a73d54a73f486f803dfff5ae5e7e3e9ba1116a13300f39ae9fe1f706517c13dc13a0a2152bbeff89c03c9f44540e31c2c616415ffce678d7d3cfece5813e340b5180ef2d5512e260f0e0351c3fe9bacaea933f2cda9a52b3c2d86c05bd4c2f71e0c2a38308f18847accbe03dc2aa294bdc610f4e5ed1ddf8cc48720de55061de1c48586c345e1a645dfffcc030370de9f5230c5cddfe7729998687a4cc5539c67503553ec3330d4073ebe268b038465e29360cb5013fac0febda0eed782a23a1ab9d69854d5bb85fed91d02235903db7bd54cbc594f1e3c62310bf837f0277ba54678332e1490b50d2282f258e61a0391d884567ae0e2c4d5e711cbd9eeefd724927b0240229a989e92157fa8f4e5a705581e03ed187ce44c9997cb385750591ef7037d91cc2c23c2bd592d3a7189ae300c0e4672085f6269f0031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03130151c3035b44b7d521b07c5acc416b338fc1d1cae9507a9522e2728007011bffffffffffffffff05581e03999e11878ec3279843bed50d173e45404236cb98f8a3d10449b08270f00c05472db79191a7b1e904592f266080604052600436106101125760003560e01c8063c04b8d59116100a5578063df2ab5bb11610074578063f28c049811610059578063f28c0498146102f5578063f3995c6714610308578063fa461e331461031b576101bd565b8063df2ab5bb146102cf578063e0e189a0146102e2576101bd565b8063c04b8d5914610281578063c2e3140a14610294578063c45a0155146102a7578063db3e2198146102bc576101bd565b80634aa4a4fc116100e15780634aa4a4fc146102195780639b2c0a371461023b578063a4a78f0c1461024e578063ac9650d814610261576101bd565b806312210e8a146101c2578063414bf389146101ca5780634659a494146101f357806349404b7c14610206576101bd565b366101bd573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216146101bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b6101bb61033b565b6101dd6101d83660046129f8565b61034d565b6040516101ea9190612df1565b60405180910390f35b6101bb610201366004612776565b6104bf565b6101bb610214366004612aff565b61057f565b34801561022557600080fd5b5061022e610745565b6040516101ea9190612c37565b6101bb610249366004612b2e565b610769565b6101bb61025c366004612776565b610981565b61027461026f3660046127d6565b610a56565b6040516101ea9190612caa565b6101dd61028f36600461294d565b610bb0565b6101bb6102a2366004612776565b610d0f565b3480156102b357600080fd5b5061022e610dc4565b6101dd6102ca3660046129f8565b610de8565b6101bb6102dd3660046126d7565b610f78565b6101bb6102f0366004612718565b611095565b6101dd610303366004612a14565b6111fb565b6101bb610316366004612776565b61132f565b34801561032757600080fd5b506101bb610336366004612868565b6113c7565b471561034b5761034b334761150e565b565b600081608001358061035d61165c565b11156103ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b61047060a08401356103e260808601606087016126b4565b6103f3610100870160e088016126b4565b604080518082019091528061040b60208a018a6126b4565b61041b60608b0160408c01612adc565b61042b60408c0160208d016126b4565b60405160200161043d93929190612bc1565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611660565b91508260c001358210156104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d72565b60405180910390fd5b50919050565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50519050828110156106a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610740577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561071e57600080fd5b505af1158015610732573d6000803e3d6000fd5b50505050610740828261150e565b505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b60008211801561077a575060648211155b61078357600080fd5b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d602081101561083657600080fd5b50519050848110156108a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b801561097a577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561092257600080fd5b505af1158015610936573d6000803e3d6000fd5b50505050600061271061095285846117e690919063ffffffff16565b8161095957fe5b049050801561096c5761096c838261150e565b6109788582840361150e565b505b5050505050565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b50511015610978576109788686868686866104bf565b60608167ffffffffffffffff81118015610a6f57600080fd5b50604051908082528060200260200182016040528015610aa357816020015b6060815260200190600190039081610a8e5790505b50905060005b82811015610ba95760008030868685818110610ac157fe5b9050602002810190610ad39190612dfa565b604051610ae1929190612c27565b600060405180830381855af49150503d8060008114610b1c576040519150601f19603f3d011682016040523d82523d6000602084013e610b21565b606091505b509150915081610b8757604481511015610b3a57600080fd5b60048101905080806020019051810190610b5491906128e3565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b09190612d28565b80848481518110610b9457fe5b60209081029190910101525050600101610aa9565b5092915050565b6000816040015180610bc061165c565b1115610c2d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b335b6000610c3e8560000151611810565b9050610c97856060015182610c57578660200151610c59565b305b60006040518060400160405280610c738b6000015161181c565b81526020018773ffffffffffffffffffffffffffffffffffffffff16815250611660565b60608601528015610cb7578451309250610cb09061182b565b8552610cc4565b8460600151935050610cca565b50610c2f565b8360800151831015610d08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d72565b5050919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b505110156109785761097886868686868661132f565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b6000816080013580610df861165c565b1115610e6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610f0e60a0840135610e7d60808601606087016126b4565b610e8e610100870160e088016126b4565b6040518060400160405280886020016020810190610eac91906126b4565b610ebc60608b0160408c01612adc565b610ec960208c018c6126b4565b604051602001610edb93929190612bc1565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611860565b91508260c00135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d3b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600055919050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610fe157600080fd5b505afa158015610ff5573d6000803e3d6000fd5b505050506040513d602081101561100b57600080fd5b505190508281101561107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b801561108f5761108f848383611a1c565b50505050565b6000821180156110a6575060648211155b6110af57600080fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b50519050848110156111b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b80156109785760006127106111ca83866117e6565b816111d157fe5b04905080156111e5576111e5878483611a1c565b6111f28786838503611a1c565b50505050505050565b600081604001358061120b61165c565b111561127857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b6112eb606084013561129060408601602087016126b4565b60408051808201909152600090806112a88980612dfa565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525033602090910152611860565b5060005491508260800135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d3b565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561055f57600080fd5b60008413806113d65750600083135b6113df57600080fd5b60006113ed82840184612a4c565b905060008060006114018460000151611bf1565b9250925092506114337f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984848484611c22565b5060008060008a13611474578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610896114a5565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b9150915081156114c4576114bf8587602001513384611c41565b610573565b85516114cf90611810565b156114f45785516114df9061182b565b86526114ee8133600089611860565b50610573565b806000819055508394506105738587602001513384611c41565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b6020831061158557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611548565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b505090508061074057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b600073ffffffffffffffffffffffffffffffffffffffff8416611681573093505b60008060006116938560000151611bf1565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808316908416106000806116c4868686611e1f565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856116ea8f611e5d565b73ffffffffffffffffffffffffffffffffffffffff8e161561170c578d611732565b8761172b5773fffd8963efd1fc6a506488495d951d5263988d25611732565b6401000276a45b8d6040516020016117439190612da9565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401611772959493929190612c58565b6040805180830381600087803b15801561178b57600080fd5b505af115801561179f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c39190612845565b91509150826117d257816117d4565b805b6000039b9a5050505050505050505050565b6000821580611801575050818102818382816117fe57fe5b04145b61180a57600080fd5b92915050565b8051604211155b919050565b606061180a826000602b611e8f565b805160609061180a9083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611e8f565b600073ffffffffffffffffffffffffffffffffffffffff8416611881573093505b60008060006118938560000151611bf1565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808416908316106000806118c4858786611e1f565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856118ea8f611e5d565b60000373ffffffffffffffffffffffffffffffffffffffff8e161561190f578d611935565b8761192e5773fffd8963efd1fc6a506488495d951d5263988d25611935565b6401000276a45b8d6040516020016119469190612da9565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401611975959493929190612c58565b6040805180830381600087803b15801561198e57600080fd5b505af11580156119a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c69190612845565b915091506000836119db5781836000036119e1565b82826000035b909850905073ffffffffffffffffffffffffffffffffffffffff8a16611a0d578b8114611a0d57600080fd5b50505050505050949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b60208310611af157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611ab4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b53576040519150601f19603f3d011682016040523d82523d6000602084013e611b58565b606091505b5091509150818015611b86575080511580611b865750808060200190516020811015611b8357600080fd5b50515b61097a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008080611bff8482612076565b9250611c0c846014612176565b9050611c19846017612076565b91509193909250565b6000611c3885611c33868686612266565b6122e3565b95945050505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c9c5750804710155b15611de5577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d0957600080fd5b505af1158015611d1d573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611db357600080fd5b505af1158015611dc7573d6000803e3d6000fd5b505050506040513d6020811015611ddd57600080fd5b5061108f9050565b73ffffffffffffffffffffffffffffffffffffffff8316301415611e1357611e0e848383611a1c565b61108f565b61108f84848484612313565b6000611e557f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984611e50868686612266565b6124f0565b949350505050565b60007f80000000000000000000000000000000000000000000000000000000000000008210611e8b57600080fd5b5090565b60608182601f011015611f0357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b828284011015611f7457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b81830184511015611fe657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b606082158015612005576040519150600082526020820160405261206d565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561203e578051835260209283019201612026565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000818260140110156120ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561215d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b6000818260030110156121ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b816003018351101561225d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b61226e612626565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1611156122a6579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b60006122ef83836124f0565b90503373ffffffffffffffffffffffffffffffffffffffff82161461180a57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b602083106123f057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016123b3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612452576040519150601f19603f3d011682016040523d82523d6000602084013e612457565b606091505b5091509150818015612485575080511580612485575080806020019051602081101561248257600080fd5b50515b61097857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161061253257600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b803561181781612ef4565b600082601f830112612661578081fd5b813561267461266f82612e88565b612e64565b818152846020838601011115612688578283fd5b816020850160208301379081016020019190915292915050565b600061010082840312156104b9578081fd5b6000602082840312156126c5578081fd5b81356126d081612ef4565b9392505050565b6000806000606084860312156126eb578182fd5b83356126f681612ef4565b925060208401359150604084013561270d81612ef4565b809150509250925092565b600080600080600060a0868803121561272f578081fd5b853561273a81612ef4565b945060208601359350604086013561275181612ef4565b925060608601359150608086013561276881612ef4565b809150509295509295909350565b60008060008060008060c0878903121561278e578081fd5b863561279981612ef4565b95506020870135945060408701359350606087013560ff811681146127bc578182fd5b9598949750929560808101359460a0909101359350915050565b600080602083850312156127e8578182fd5b823567ffffffffffffffff808211156127ff578384fd5b818501915085601f830112612812578384fd5b813581811115612820578485fd5b8660208083028501011115612833578485fd5b60209290920196919550909350505050565b60008060408385031215612857578182fd5b505080516020909101519092909150565b6000806000806060858703121561287d578182fd5b8435935060208501359250604085013567ffffffffffffffff808211156128a2578384fd5b818701915087601f8301126128b5578384fd5b8135818111156128c3578485fd5b8860208285010111156128d4578485fd5b95989497505060200194505050565b6000602082840312156128f4578081fd5b815167ffffffffffffffff81111561290a578182fd5b8201601f8101841361291a578182fd5b805161292861266f82612e88565b81815285602083850101111561293c578384fd5b611c38826020830160208601612ec8565b60006020828403121561295e578081fd5b813567ffffffffffffffff80821115612975578283fd5b9083019060a08286031215612988578283fd5b60405160a08101818110838211171561299d57fe5b6040528235828111156129ae578485fd5b6129ba87828601612651565b8252506129c960208401612646565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b60006101008284031215612a0a578081fd5b6126d083836126a2565b600060208284031215612a25578081fd5b813567ffffffffffffffff811115612a3b578182fd5b820160a081850312156126d0578182fd5b600060208284031215612a5d578081fd5b813567ffffffffffffffff80821115612a74578283fd5b9083019060408286031215612a87578283fd5b604051604081018181108382111715612a9c57fe5b604052823582811115612aad578485fd5b612ab987828601612651565b82525060208301359250612acc83612ef4565b6020810192909252509392505050565b600060208284031215612aed578081fd5b813562ffffff811681146126d0578182fd5b60008060408385031215612b11578182fd5b823591506020830135612b2381612ef4565b809150509250929050565b60008060008060808587031215612b43578182fd5b843593506020850135612b5581612ef4565b9250604085013591506060850135612b6c81612ef4565b939692955090935050565b60008151808452612b8f816020860160208601612ec8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b606093841b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116825260e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000166014820152921b166017820152602b0190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a06080830152612c9f60a0830184612b77565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015612d1b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d09858351612b77565b94509285019290850190600101612ccf565b5092979650505050505050565b6000602082526126d06020830184612b77565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612dc56060840182612b77565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612e2e578283fd5b83018035915067ffffffffffffffff821115612e48578283fd5b602001915036819003821315612e5d57600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715612e8057fe5b604052919050565b600067ffffffffffffffff821115612e9c57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612ee3578181015183820152602001612ecb565b8381111561108f5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612f1657600080fd5b5056fea164736f6c6343000706000a00582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05581e03d2b096184691ac1f4d2a3fa2fbeccc6ce1a97d0e02994ccbb80d0911c00701192f2603c5c6051942b8c49a5876622af3f304ef3ef5982d83c625522613238ffb97b2b403ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03bbcca46a459b8597226207550f9144d399bb323b5c987c170b0949584007011bffffffffffffffff05581e031a7bce4600931a1b1dd6ee054df8f9bf99aa424626b8b1e8778a8090f0040305581e03078c04a7d29e8a0f73dc3b0d2d1e776480eb82e7a56caa4b8dbad49d300c01478b24e9bdca786005581e033add88af6cca99a7c38e523b669715bc81a6e88bd797322ae4630015100c044702676b55ad3e800219da760350217960d28fe0c0d4db1cb5e91e434b19742405abd9ffe955e613ed35119d9a03c522f0487a5339d6b68f2895b15deeedbc3a6f2f7dac4f7bd7a3650eed9a5f7403ba5200b1c827ee15441fa24091ea04d736bf04a0ae10cc6046314023df0c360b03f480a3fe97f8440a6f1177463737537e718c6a046841afe097c7cb45153d58bc037a02b8ced3942ba929345b327f58cd2aa8c29c9a70260a36ec75450fad271cae03ac01deef43ba5d63c05399b9637a44983abeaa912bb8badb178e2e4bece8f4ae0301b6a1dc1302f68a54331a14b58c9e605587fb168ad4c338557f16a8ee6b9d7b0393fb72a87e7542016348b43be80a4f4a134e2228fde2059ffbcc5d78625ee1c3034f63323287dd526f54128bf50b7fa383b7ffe95c4da4248aa712d993ecc7590f035c196f82b6e8f9a5852d1dbb025271dbdd8081419b4c9f65c229674fc1afc89f03c0143580c16517a1f979f9b5d87c4b1a80841937879350c1f77bd656718285c703c8a4616dda762e2e481145c10343026c2b27d53623abd972047f78579de1ca9f03e1052ec254f95347c8caa2051baf083fe736285b3d7012f0460999b6f784f91a0219ffff03405b01e67fab18763888e83bba0af607374507d807928b7279bf627ee32b92d303a037b0c10f130eeda52adcf2f043f257fffea7b8cd598ea277b51103b3b29db50387786fd0bb2c0999fe125719273b02251c695413fbc22271e8895c8d206ac6e0034c463104db38402cf729e5ccd6596357528d28e083d7dff337e776d7caf86fc003a822ac74de0385b99c9c6aa05d3bdd9bd3598e790b7fd7977b653a6ec6bad7fc03a1dbe3ffd3414909b6d5324513166dd3a9abf7efccd30030d8180685d5bd55d903e00adbfea0e94255695a6cbb502a56d95710a966347d043b1eba2b365b795ea30219ffff03b44cbe3516838b11393178770fa96505366da7c50a90a3233ad6feb1e039aa2b0398c41fce537be487a38584e2103fff9aa48fed65a994621be96b4f7a9010892d037a221ccbe2b6ca9d33a635316a3f3d00b7f82b86c3aff50872b97ae24ca2b4e3035b6ac1089f801f1b635daa4e3269d1e6b90990ad143031e1d2b87924ae9c289203a3ce7a46a254feb45bf6a310a70f9360bbe005c1ab9e16cde7fb6e36ed14247603a4bdfe28388ef22908d3ad4125a5afcb722e976e073125f2c4db73352b30cb89036e1af1f68785b6c7fb0e1e57f0854595677a9a5825fbf810ffbb0eb5023fc7c903aac4c19b6154db963bb6cb82980c845895064bd8d5a2952c77a7bf4eca3bf8240219ffff032b4782c7f4d7136bf80f674b3bdee3348387fd7516912fde7efb4fc8b25102810338e20da39b9287dde28ff961d6145e1b5e921e69e5a43ab589d55365f45b7dd2035a63ef3f3f48b8724ea96cd629c1107e4ed54ad5ba90aa8b5147a24f04a2844c03e26307c7981a9e9d32ed5967cc09dceaa15cea654c2578aa5338f9e5e18fcc3b0356f42e176c891997194616ecf1e7f2fede21738bd1976ca287b2eb9be87100680219ffff031a9ef4680c5b67392ffea6f848ab72330e147cd4980f7f32ce51d4a6e1713a41038abec0aba08900036130f0dadedbc6741b18fd4f87a14284a219e4ffac61d6710367ccb2dc86cf205c5d304731a4a370ffd3799059f48aedc4c4b137a024ff738903cdcce2bbebc87ee86ee81450aef599f106fe957701327207db68ad7e5e8f27d403e8595f0f7efdcf0ce180c588e3ac866bf96a6618db545bbad25e8b2484ad377203d55a8613152dc311c40dab527442a4289147f77fcf5b1d531c0c9daf26466773032bd89a7ce88f6e876b5379fd32370df82a4a827d57a011774bebfe5fb368edb80360cdb0552d6e44bcb77de829f356910eaada67dd66fdac03fdcf40f20c26705003437ed84fbdd2d01cde21f921006242b8f445fc65d6c9110e17109566a38647ab03c28b8ab245093242750f6e19dd9ad18a705fbe6a5f4ddeb1118f7a4f5b29b72f03394ea85580c0ae6abbb5afb4e2d348a2e9fd22d695a5fcdcd1b6f7fedc08fe1003c2f734b0b1232beca47077332c280c4f52f58e77bf1498b29d4a12adf0ef9f4103f3f4105cdac38738ae66750ec4a7b750070943c789bcb6921181cdba6f7d292503970aeb538507a038456635f66b652c4e563c646d2205584ff5fca0ffaf8efa33035739c9e47a8c6065f9dbb597e37fd4b67b244fe6264b344b1902b407d133548b03ae29e706066ac01052a73aae3602a8a6f64dbba1dbfa59fd195a1a32f88470550379d0483b45a237c01558fc8645cbc918f0345d0ffa866807c742c013d900061403035782f9aad14a0c44a40004d1b5819947f16330734ecd73f36a424f55ab490603f38db01417ff38b2a23c4be9be8debe9400366bc7629df2b3c35649bdad5b25a0307149583cf7464ce9048e240329d5c90c850f24953faad87f57290c092a312a10365b7f159a875ad7850f9a6275f1fcb6d1d9d0baaba833de836830f99ad12082503cafd1be02c4c5f588a00f5879c31bee274ed689875f810d91ca7d7e7bbf5ad9403f394fe685a7a4b51ed15e7f0c79fd15c626b8f021c16568e9bf5307069d5defa0313b3c9302b5df4af724ef770423368af1c7ae5d6383bd1554df074da304f901a036b1953b01fb35f93f1dee73622eb61c0bd35d15a136705b5ac2aed6205e390af03a7361cdcad0b9306c56c874b83f0bfb02af6a83364af2640fcacc40f50bbce890388a86cd97e3335328abed7e861c3c0337462599bbccc11a2c1be2a3c551cd0aa03ab810cb4ea53f3bd3dffeb250613f63f43dc2bcdb568ae023a16ca0d95afb4e303e2720401d84c3b0bc238f393140856bc91fd34a615f7cdbfbf8e97962ff3d92a03710dc63aa098f86d15acd4f3c5de91e517e143656bde9b8b0615207a2e6582840378325dfe99124a89f80c4a2e29af7100ab6c0ef625580e22197c3e91fda40ca8032cf8e1818ce18696b621d23f1403660e481c5d07919a3686504d0eda1aca8cac03206c95950c00c1be9e6dbaf5005d1c64bc131c316109061210b610757617a942039169e3f6e13572fd00bcc6a344551f0989f6b50fb483097d62eab7851d1f75c5032c423ebe122db30187000162468c34d2f81a59ff6851992bcd0095e5307dac7003e364568342155b7dd77a9bbad5e1656d3dc37d08b5862cfde86adf736f0e041103480369adad31fa7c173c48f5dcfdd8e655418f441ace109edb79b75db23850f103ba7df958406e91ae057165add4a63be58cba40583d4003273e4e9283c6ea23bf039c926c017c9fc023c343ccf5ec3de6e22ade776b39808361009ed108097e342203cbdcef6c042fbc3d60eb588775eb446eebe3bcad54af728cab2f4b993fb3175d030e43ecbaa3670d6aa9e7e4fc7b5ead8e04bbc24bfb6aba526e558e691f4b0b7003febc5707b41f53f5a25becccb8fe5450d6977e7f3cb77f44333f126d6a18cd5c05581e0322b496ecff6edd9c7cf39fa512df430b75ac9f399ab9551f129d39d5f00c12470c8e8a71735f1405581d025778d9b24fc87f893044ce9f0200e5328b3491f1eae68e43a6a6e5300c02467c7e0cbf86d00458aa608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea265627a7a72315820d8a00dc4fe6bf675a9d7416fc2d00bb3433362aa8186b750f76c4027269667ff64736f6c634300050e003203cfdbbd14f6887072ce8c368ab43c49a240564c18414188943a9ca19ed4a7bcd90058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d9db270c1b5e3bd161e8c8503c55ceabee709552005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c054cfbfac74c26f8647cbdb8c5caf80bb5b32e4313400582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc530541e50befbdb9480fbab01d8c3d74b990b070ed00200582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0410303a0180ff68c81830d7408c32884f87584b01c7e1b1863b8d7d02a8c2214d7e32a00582103f0d4c00fdf73947578e40d4e4682d5b73b9bd82e54e2a2440bf240e46c80b65054cad56fae244546d0a53e8afe285acd37a49e276003c9e5cd14a533af2288747186317f90df41f06b35ec077ac7cf483e331d10a40d0058210371a4ee84bc78b028133d4e79ab7c1efde80cfff19c617dcd42b43199e514792054f8c1c8b85ecb964650f127755a7394f1520183b10058210343c492b2e3265912b912c15c4d5e668a7aaa726ce4053792bfda2a6a65ca7d605424fcb9ed2bfa9264526bd675aaf392526abe19c100582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05820a3bcab7579c4a63648dd7dd4512ab721ffbde90c7cd9580e9b8bc369ae9b6d3c0219fdc505581d0253e41783aaee5cd71dbf143fc7a620089b72728af4c5f782d3953cd50f0149c88720e33c0c9cd16c18aa05581d021bcaa0d371bcfc728cc48945c4a0581fce262d48977631ffa5f3b1220c014717ecb469ba3d7e0219c008036ca49428110f707d75c8bb6095df01e4908f1be66bacd27f8d17cb9b1cf6ffa30362d0bcc8f2e6a0adcc1b20555e1635505cdcc036707b1f046a68a7a31d21086b05581e030c983369584dc7ad2827ac799045f0a500872ae07f3ed07a38b17236c00c02478146b17616400005581e0323f159691ef73ee831f51557dfb841dc5c64bfe7d4d5b0827cfe9c2f600401034a3a111c9009420a3f01067828cc28b7467836b228ee139fb94fe8bef15f17b305581e0358eaf8b7237da0b15c44b6f018df11ac13333a2c1bc10c3722bad519900401021927ce0371fe7bf8ed3e1438a63f4032ea0542e1e0584b15eac526f5ccdf79a51e35a9aa03fbf04ac0bf7fe2a420eb46cee4593daea4f946c7536a7e47fa996e066acfae8403e199cd5dcf856d6428882ea180b7f428a6f0bb39fcc11714b2f01146ed1f546f039b6d3570b058c6d97ddc2b6a61b2c05569c7b751e15066b6eb744109120fab360219ffff0345335380c4dd9739c7c9cfc43a1d7f7b3f06d5a4a7039ff12718980ccd390c24031f86a8d3397202628c04b451a4241ee824a6b6fba2a7a85750d1b02af6929de003b969141c9301e2c5a1fdce63daca429f03db8971693e30391aa8ba94b7409599038efaa69e313c2f8db019beef6d885f4971883e35c8f86f18639ad300c3e6a8cb039596b89d959522395279bf943c9c5e83fbc885e16e030b1d0b0d70ace696f0b6038e7fcf09853a8f24775d72ef51f81eb92aee14eec9b29fa0423b9b10904fd209032ba6b87e077b4f09924a2bf80de91b616f172337d6d14333e49a62f88247210d0310db71ff720b8a1fb3378f4a29f918002e4ce7972a1bbb7e3facaed02f67b0a00219ffff0392aef7f577359c26b8b8c6ba8d70adb7a3c188925edefca8ad1b1f1c6dec3128038ece85a3e32122b2e5c8c96d81f1e15578858d2381c741efcdcb025afbe7fcec03c4d50930cb217764929b4db2c01ace65e03b44a9ce4c2065221bb058b20b18ad03d3d55cc081c89649ed65c91681c4a7554ee1604d08ce43741f98540e8dc167e3036419657e0960a5b65be767bc3252a7ae8ec3c136449487ad1b77407504b50bcf0331fc1c4d7b3bd817f452253fe581af70ec8e84bf30079ce139f0f0355d87d3f00219ffff0345a5dd00b79586f463c60228c05a1f2a0938936cba492452b1e1d736722a73f10219ffff03779015d78f3e789eef31395894a8969e471a578efa435d7a939ac691b2e63c670342a67454302d01cb4f3b225ff8ffada7a7704fe243f76fffaccce01bc5e6456103b2f0672bca428a171a9c7eda8216becf84658c59ab09368546b17b292217ae0503b38e08380e77dd07e67b109b2b9696d1274b331b2584ce9db414bae95b14dd0f0301527819f43f78189ad5b05d91f3c1ee32cfbc20ab5a1732ba47abfab6f4c848038a4731ff6c66948ff70f49f4784a64531b56dff2786159735bf4dc69e3f313c7033e670f4ddc284a4c8561971fef2f7c7f1252498ae31abcb94d78fd02239a73cf0337e46e3f9254ad842acdf692bee3077680d86a078a0842c490dd8ef0e9c24e9c0330eb326f43bcecc177427c7c396c97c30cea9dcb4d98e28f8f353607873d9d4c039e3796dc72a05f31415d41d4022d66c312fb6110ee1af06d71d30ca62388097f03ffceb26be0999a855f5e7fbe12d09b2042234304fffd2e60f38741175328010d0301246e45ad3df4473a772b53159953cdf5f1c4c08603c58aed622e7e26132919039f1b2d362b94c1f0b6c186e42423c40b095b2d8f73ff73b46eecaa262dc2560a03b8c57027805ffb304abc12fabdad69ebdb4e4111303be385863decfccd405cbd037e9353a216dc1a60a48497f1fd7ea6342b7245fb9b54f257151fa7534357e14c03d57ff13d992b287a50d08c7a0ffa8bb37d9cd31a50c79e756f57cbb13b05c43603c51cd94cb44cc1e7780a268cc3e4f866a99ec234469b257b94347a6425ecb52703b5597c81e6676f273e50a8e0dc822dd8ea7edf92cee5f2ccbeaec4fb29be3e5103acd45b8badd7ff3028c4bbbf79105bb0dd0a617de865965d4fa6d8a261e8c41d03f516323ad144cd9195925067396f51f525b38a66a3b09fb673ba303b67f9935c0369ee73621be92d7ba27290e7e5d115b8f5d0367162d064aebabe4f877421588c032e4820c4dbc155df7da39b1908ab488056ce6000a85292d43d3ce047d482e0f303753d22f901a8aac6ffd8347bf0c9933fa676ee4ed04bd3409428e51ee047683b0317f1af423337500663ac3b169fdbe9fa32489a8eb5929c4cdbaa8ba259bd4c3403e2d4a9e02339c25714d31ff24e805201ec4cf36151ccbda9c29f34ada4b0486503f7e1e1491dff4a903b4955d165d76aee0b6ace2c5dc6ab1ac60d6f41f221b9120325b1c37ce66cf55a82675abe8fedbdae28dc2ed56ecc4d6c7bbb9d7dc747a9f70323d13c6736b899c1d3694c66722d02fb210d7e2f6d3ac2418c99187e512db4cb0303887c14d4ac477cf32a2b12afae3a332430464c740f37378c2e894337807f2103f32b48dbbeac632d8ef32a61c70cf270a24e3a1acb18a455b7fbaa0a20452931037a4bdc4eec6083e7992836151211aded2f731dde63a26bfb1fc106bf98418afd0385552f4925bf7da9818f6a194c97c81fba41e60ead6a4e7b1b8fa2957a86947603fcbc220a0c031c961a43ea8c799719870c297035d9fe9e5e80d7b9a2814f839403cb18959189a55ed17b3d0423757c16f6aba04a39289ef74f3770a24e76e0ed2303225352527af4f0bb75271b66f233fb6652bd3215cdb6f46db25ceab6b55aa96503ace0aed6887682152050f64bb558c30210f890de0dbe0bd33cbe7bce7a632a6b03d38db767ab67a05495a6d56d7535cd31574d04ad6408bef9884a6218c40605db035505c69c725db5dd6cc731a817cebe04968b465664fba8d2caad22d86f96ee8605581e03263b92acd6dda2a51de7a1f6e253aadbc7a56fe884b56422cc2ddbbc40040105581e0323d86881827b86d3c0e73356cc7f8b3337237a61b2e25411282b28e660084701e567e5ea95a5031ef5bd4c95eba991de82a59e9ce61083753af18c32863e744ddf3bc6b1e5592c05581e0381f9fd360174e5f765b959b164356e1c39ce5b4ede6f98cad2826f7170040205581e039c00e2264ab7be9a745af02260240edab8d9f03535bb9b4d227714dd000c074702225d588bfb0805581e03dae061a7b02368ed8dcd8a89492317c46fe98f8fb81ad1e4a521c801f00c01472208f590f2c000039a9f88f6554bc2cce220482cf408d79dfe909353476c79e79a6b722ea2ea58750369d2380cc60c375de69d7a7d2f8d51ea2aeb456a23f48a28a98ce3841fbed23405581e03b42c4d970e148be27ba8b220e6a72aff9184dce74c825be86981de06500c1903954781a34476b2c3510219e5ca033ba68254ac6e286102f8ffa9d58fed18166dc2bd07d48b54bc7faae39dd1b89b03102e27e12fdb392420c290d7f95544a3adc9dcf63579e3e9a4111c70da13460e03c60d1be05b13e305eaddda1706699c4554b1d421f2acd216f44abf65431bdd6a03cc58b976c29e5778aa5cd96cbcf0d2cc74b6729c7a66d5f33c014a0088b782a5031df9e1bab52a42b2602e97368ddfca4bfec4d5d46ce6eae627da6d2695891d1b03aac37e589b5468c4afda7f52026d4b9bb0da2a89805c615329babfdf9ad61a5503c02098cbb6aad62734db59f693d8e6d7ef18297f13b26240773d058c7c50b9ee0219ffff0219ffff0348d013b125807fa7b455ad756bdb579e2b5767e175161361f98dc72fa30540d60219ffff035692d665df148a549e7b830198ec13f83d43662f0990ee9625268f9eb1c4eddb03fdff230c40143d6185fc60596048d175db2113b5d58c8fe7f8b4a8625d6500c803b4812acadb76b0db1a351d6ee7c81c0b64e7422a7b7a4b50f4e109982bf55f05038e33f8c28da8506df6da9fda78065e5af8c7bbe0980f82f9e9d20a9505491e360343a7d4d474ed32263455cf7112bbe4f7b14b73534df9bdc5989565d1d86c7fff03d08ba6637c8f23fe8273636486436c0b41ea8c128f4c4bb3df73c32ef34c1bae03635b04c7c9d2d610652e0edaa3d793ee954ccdf23350f8d585554c00aeb879e10351c5dbebc5ff92be8bc37f71fbd5e41e47921585b8344ea8e0a7b2b06482ffff0312256f7453a9a9ec729a43584bd9c43a2200188f79f01d960d09746eaf7a21cd033a9216f86b5a897c9a010d39da1c6b59c2e1b79a450278ee2b4e6a0829f09353035a422afffa36b34478e952a20939bb84503ab95a07f43abf10e43fc6b16f508c03a47e9180e8e20a780a9d11b79b5df7b8cb875dc3f72fa272c680d4391a712dfb0346ad5b16aefcdac8c6ba689bdffef4a452f31abd3f6c7fb65d26a1612667109003d21cd5473d562e685b60673b0b2cba8989c37d2e5a86ff11968ef94ab21d66ad03cbaac8f4e2210d890a69c035cf0527097e196c24ae7ecdd9121720eb28c5bfea03ed00f3019d87a854f6abda56fc3eaa84fa3df61eb936b22b4534baf3ba4e965a0392c7a653a2b2c3220fe91fa3ee7132b70a3ed6fd1974c8185cf5bbcf4a8e051e0320e907e8cbb4c24f27b9d39613ed1e76dcc35c9f45fb40dd81763a9aa9a1691b0370e4bcd52697befea962d61c0ec35637242e5ab55ebf6a55cabe645de9cf9fdd03af1a48e215c85c7fda6e955eb2c296885899e668be285a11d236aababe2d03c2031788ebf6c4083e9649466d72b05829102a7610aa2199b7d1ca363febec20482f03e54aeca7421609a754789dcafb7569f845e38f5e495e59bb68ddc1d33df3cb5903a20f518df58e1989e8df498c748481951c8d48dba698f9446f4a708c219b6c530347206cf07dedee58ed3da6c7841f38006a48f1c42fbd1b4413a5cd86872d16d605581e03666d036b09effdcad8784f3257d0ad16c08eb66cb5ed3c6db90f615250084803796874c410268805581e0340cac8f1372cb8bf8ad49bbc260ac83ca66fcf5d222ec0185ff31fb3a00c034703a2a1503ed5cc03a648351557786211df87cb645c6fb895b38582563a237b21184cae61f9fda46c03c8b64003df3d3e433e703a525e5442886155a27de8b09972804fc9f67608a23305581e0395ab5e7bdd7c832c7927fa997c3a5b2687c6a6b1c42afce4e6cccd3220040e03719590968f850f6b3e268c2b22ffd66e4efd208151b7f50f9c497d00479f7d530399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803ab29bb9e2f9cf6b7ae89d0d36001e6cdb4e1b6ecdb941257f4b68762a0b39dc705581e034f241773243113d9b55d573df5595bb6fc642ce43a6b66ad7b91f67e6007011bffffffffffffffff03197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e035e0bbf31ca67fb3b32b30a7aa37341b0e698ff0c26ffb72c1ccf3476a007011bffffffffffffffff03f0e97a956f2b36f7ecc1a4e679ef021462748d13aeaacf4b009152c4ee8987ac05581e038c557da646e073f274b2ead758ef01108450ae08be74cf07b12e402400040105581e03fca5207c78c3d38f8ad6636a079bf065c9b7cceb25f1a0521cddc4c60004030219a7f903758c5a9b6c559d345250e2ea4096faf023df3879c26ad00bef63d5fb9734cb5903e04d40105634e165eee363b41891d3bfe96cfc0f06ee7e5a454f4da568c18a2903fd8447c43725921bbb3b664c2efdc4dfa97b4f2451e67403f30415f74e7f11b00219ffff03829f366fae83537d7225657531cc2416356d02eaed78ead55c42d13cbbb1baec037ad2e11ec1faba545338d5efa61ccd0d32cc52270e870ba5f4c36ca13c40d50103601a2a58f4eaa183b05cc04eb748540184baacbcf9c34239e554fbce7bd7747e03750ef52880b0f19cf568f08a137c306246a309b3aeb8880742102f2277de89ec032166d137d82ed30e3dab94a03c9590f81282f490144c36cd80a887ab5e2f2fc103faefdb51bb831c0cc1638121fa9610e346317ca49c90f3098b7d134f1513df760219ffff03d3bf022bde525d4b0e57d0c676d8125bae9ac70bfa469e9d204c136a76ae08c20383a142387e37b0ff06de2b269c265cc8be0bce69166f83c91c47ebb513588b6d03f618a7c98ce10516eaa66a8d9ee96338d1cc29338d6c8cb08fa41b0a19964cea03b22e39e31f43d8f8f13b75ec3734db637afb52016f85e6eaa5b8113f83efa61003bb83a0f3f22b95919ea80b09b531b06e1cfc7ebeaf33c2af702500148556879d03cdc47fd28e22e76d18f1271ae50c05a496dd8b022ccbcddb50187422c4b8c99b03ce501ee7fc85ecbd75d440a0f008323d6b172032cfdf76a86c5b6e7f91b2520e03962f3a98daa5049157366b78fd6eff9bf936b40a7f9004eb2d7a52d0ed0461b303c83865a9e1480eb57e31b6fbd35a352ea50c08836c95c463933b15f96c46a6d1036bd679e538ad0ea5b5daf88bdb0e5f2cf8bdf3b124f6c4599795d9eb6d16557a039612f126990c9b78e715cafd3af1ae55853028c365ffde57fccc381a3880b85903c65caf3ad0246c936c4787640ce9167300d5249a45831c6398457c3c47a497bc0368460260dd2c5db4d793c7b5fba9a46489d5ee23fa043f4d1af333287082616603e8e75c9a6e464f3d37c4943d09f2196f441b92f17463cb514e101a269e600b7203757fd2f42e4dd5be14b177602d212ee74e459f589e83c154dfef28df49f368e703f8bfe1f337ee502705d01a8a56e8dc2b643cc6739adef55323585e808fc5ce3203e3a88a31306bc5766f145365e2e4038c92ac6b9305bb6ee96e8b1bea1f502c0403391d3fd4cf3e74323e76c65b725dbe19ba77736cdc378eb49b181eae817db3bb05581e03649f2075911c8f6d2db051958720c91f80bd909e9db967eb2aca739cc00c0247101566204af00005581e0381136ce4d0ae369c3169e70b8db4d2c75d64eda26a8dba5e32865643100c024701938f7483107203cf4ec28a03fc0e6a65701c4092c05fb0d7ee235d5ea883aa98b7f6da5f6d46cd05581e033426ba80175c605349f9412cf7641ca32384e13961d6bd9583a0b5b8c00c0147456316d9b0e35005581e0320ae4d3b37f4b878e1f0b72b910a484454f2f5fa24b0dc0dc8694ec8400c0b4729ce7b4a2c33b205581e03d7c7976e3626579d99a31dc78da8b11e96795e694c2f34b6463061c260040203e19a003a838e99cec8f72d4f3eedb2fb19af1d70dad0dbaae59ab439c9f7b20805581e0370b73895b8c9959bae685c3a19f45eb5ad89d42b52a340ec4ac204d19008410105581e03a52dff93dda13692ec23734627841b30a925eadcf279457adf2ac6c0700c01470707e3d802b08003e7f097b013456c79512a81aa37c5cfb1c64056c7d87264ce55d25b118bde185f05581e0375fe7fb7cd684e46b8f4297b42bfa9cb389fb5882854d002d7065ef5a00c034762995a5325f86002196adf03aa8d1b28310786facc867dbd51e4c222172a5a8fd7a7ce26302e1730321caa4303aeb0e404bbd5887c69e7a5f9cae9920ebc0c0a162fc30b6c6e3c43cad4a5932703d0d7af8366cb9177ae4b3301031c1a593e7151929ff591de24406a2190d3cb84031a5043d265ba7341bcb2efc5e25c97bd6a0671f5a6b755b9f57a60edab096c410321b50f981beb96dc3afb57c6ebe808315e8feaba98d69495909895d14008094803794693f618fd80cd9393e36bd23ca1a23f1246e685f15a13532496f978e4af470373c63d7c3760f6f6e664fb5fd5e82df37cc094813ea5655cca8669f66119bfa303c6353032a98ce306256c7b483f363fac7d22799bcb268920607c156dc4f5d0c003a95288c1e5c603cc0d821ea11491602db17ec711442220c1d1a6ef24fd7ba9c7033aa319ce81f3d36ca51642ca2456ba82a8e589d74a16c04abc2a0faf725670ab03f3e1b7dcd0e48d16c021ca36ae31a0d20f0da901db04ba2646df79441bf6638e035783a27e274d2b550153f8fc4f05b6126ef94614bb70a782baaf425c630fd8e5036eac3a99c9757def748d5ca4602d8c075f225281383bf8965e7d67d3d843ea2103de783d91b14fb25b62144211dd3d9a5466344bd9b0daf7aad78bb29433d58d330384c96ceedcfa09abaa4332a3d21675b9ad4c8c4b1a2aab18234ac83fc646ce310219ffff035dc293cc7c115788716746bfcd87997e10b790c02fd933e09bf812c1918725430369914f00a5161249afa1adbb2175623216a6586634c31e6d172dd874f218ab02030e0545bd4c7b4d2ec11458124e12a77fd683eea58973ec259db086e992960de703e8206ee1838946af9a5e052146ff2a9d764926e234eeca483574037df52fb5ca0219ffff03bb6f142db2c3217c75cc56f80170129534d465c60606a37bd6213cb98c49037503b4eb0cb16d94fc78f07fede8ac9c9d2316b9063c3821411a51f776414367633a03a34b3585dd47fd82da357ef55568cb94b7179acf841618a6aba84cf6377be18703141109aef9dc42465aafcb483bca8be372f91efcc37d53b78382aa21db89c09a034931475f2a4571f7be04dae80d6e686d07eb8ad7d8b38832db03eb8ba59b4a460219ffff03e48d6c34c20ba1785428f76335a3992c4f2c531e398e97f57581b59d430b3a82037396fd6b78a08dd2656cd7b3c9be726b710e122d8b46f3e919bf5f2d5286012c032b523e1d87d88cb614d4a41af648a2ef5df0c5544c4a5a5e6f4c6bcd8ac1f3fa0318757078ce95e7885bb788378099ece27a6f0040a1a265547ac31296fbe2badb031d6261ea43f3b1cbb75f152db60907abd3ed77c2a6f1031404e93fe8811523bd038afd136b4fabda95a97f1a38afd9e975f026ceefad10bc76c175f4e26ac0ab1b0359b7e7742f937e6ffcf0a0ba5f1c8b3c724a1e33bd51eea6d0dd6541d96b494d032229eed3bd87e9b08c43540bba5b221aace608de4ac96b4f7bf29be6d6fd55b7039b4edc20fe720c00ca257fb841c4915e45a45dc77a244f57bc6ac98bc5ef2b6d03e2ce7b076710877a0209129e0fdda4c5746c9c00af6c66eaaa0df91b9f52ec4903a209594f1465ea5a1256020731dbc339e10ee6ff754d64746b4ce7077a9cd3d203230efbbb04ef1abf3298a21ef5dceb3097982495360574f91649706b31f5208803f79358210e0c79ee3f0fe6bb78154e3f0178a0d4945a5930e028886fcae1a94903dd2902ad51d9fb90404921ea342223f30a0c3fec779527adb6f45a61bab40ce7037a5dabc1483cf8e8ce792bc3a6b1e64010f84a3ee7859268e5ed412ddce0de9b0316039f99a7260fec8be97fee7019e141623f811f08d1c44ad52a5150dc8064f8033c4ae86c5620fa35a4423d66fea62e2ba76638b65555f93f36e6f5f87907a9f00395e7b609f74f1ff3bc93cbbc5d6a5a9361b51d9bf0c6e8e212e3df756de80647037888a1aaa0a5e4cca0a24f91dabb0d70e848a37cb9e4dd7bfc31046f1ff439c103f48d653ba6a6883695411a39895c93a1909e40c1465ba92389d052b9570e65da035214f406a0217f7c60393ec827e8449a57a589c5daa30abbe1c2479f74b543240383ae0d79317c82d051da6ecdf60fecffd92658256fc97c70737dc23aa50081a903bbf0209a2898878f1d038a00719eddea6a05a00f1c4fe026c98dc54b2d02417f03ad3cafb849776633e201e9afe29e105f6cef6e333d329d4abe3720cedd5624fa03c2e7568fbe11e583690f49bd6063e1aa9cb3addc170e95f7f5399f1203f2b9f90326c9e1e73b579dd3e4473a9b45fbcb8828ed3bbb44b73bce6b99fb146dddb58d034398e95f9114f6fc23bf35091ecedfb99bc3d142ffb8e4a7689fa275dd43a33d03a27a52e04b343b1488d4b9848bcf9b180926120d99fb3e800263d44d84c5160903bd73a21d1be219e56e4f57210eb99482af18d9ab6e45fd8d7c9a659c86cc975f035824b773f9d40ae913efec4c579aaa2303de1b81ee50c761543cfa7ddbf559c903605dae3ab0b4517ee010b8f67f04a2372f0e37b9b31acbd4dff8ecc6322697d3038c425b136cf6ec957118eec37f96eb54569b4705aa0b7dd0b2ff0bf81a99d0230300a37d723e65e981c3902295604752217cb967b1ab325471c1b5082dc59fff4203350611ca677cce83cccda766ad4abebd4bdfed6f5a86e4c461913e810d76476403a4048e3abea72b5fc864a0315ec6567023d666c64115b9e5d1ccdc1ead6443ad0396d25e02f793a985956a734d60feb2d71d4efee6b91b253f06e9e73a30ff7542033b762c2576ff20cd402adff3653901aba84ce0e5bad5b72a26c5b17a86bcc13a05581e039f18e86b139f613b0b34a24a0c528d1544aa7ed495e9018adb87438e200c01470117d8b97bd9e805581e03f7fe8632b4a623aaec3c110713548020caec2bb6f7763a5464104c13600401031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e039ed6643dfc31738be25652308a6b429131d07e17bb0b957f8418b116a007011bffffffffffffffff05581e03dd9fdf36910f786c9d7bb07f08ea81087c76a85486b18908cfe072be100c01471f35f26d45cc9805581e03094eddf9106f2f4145816ac66815d63f5cd5ddf53f23d0ac88ec8745f004020322a8ecb80cef1e3c506d64c4bd580147bfc2caa05e5d482110e5350dbfb8358603cbcfdc91ed306e1b1bd64cf8677e4dacecd9e369400e4310c12692e3ff44bf5d05581e039b8267ff448e4353909e74f16d2fef7ab0d663f539e03a8550c3b1426007011bffffffffffffffff05581e03a6d5235554e4acfbc6bab6691701fdc214de7e3308b12133b0e0f735800c03470122a4cf04ae10030615efb32eda0792d55aa9906f4a89d7bc57d098b0a00c53963fc67280c597670605581e0331e2bfb092f874432132d8a312324b4497093075f29d4f2fd5a15c681007011bffffffffffffffff05581e03459ef4a1f9a6be5a96e79c84b8465c6cfd2d3b5c414dbc0c5f6988593004010219e674039ef61378ef22ec382124c8aa3f74df653287d4f7b1a945bc8e76b317f9162b2b03946d45f1e6ca7b22c0aed27209fbe76d74dea0f77235b1c97e27e61185723f00037d9c296e0abcb3cb9cbfbed78ab0168c34ab8ae1dc5e7262535f949e7877423b0317588441e0d01d41fbd9073e503036070b3247c55f7905b1365e785e1e7d603b03003e67a21a8ee4b5e9bb099eb5d2f872a383f92ff9e7eadfc4d5344c890bb14c038a36de31a46cc39c86c55cbc450a1dae7f7abebaaf6963fde61889ff39ab51a703e508e4a1ea04c0a9ce1259fec245edf0b730e2bae3f7164f1f71bc4ce31341970219ffff03d851cf74dc3abd193780b253b780f5c8813bcd7d65c0693aa32a6b09335575d303fa845e9bd846d2045c6154f4f1c1ce6af3b50d80e7e34047664c418fd61beb78038d9bfae1e3bc3e4942afbc27de376a04cdd3572bf357996224bd9755b69f3cc40358bc41fcfdc266bd09531130d16f8bd6947def17d7660ef0e5a084be7d56e406039207707b49ede258cbcda4e09e415642682757edce630be03de20263a805af5e03692f3c5a435aa07ceb4618f36375c49cb351d920ada7aed2166e0ad63b8d587203aa9f10ec2c0a187f17ea9f72e8387fc1420a3ed434915b3a942be23bc8ed5aec03c7394bd79026a4c88ca59fbbb697cfb61de1e6350ba8ca7bed22b364cbcfd4bf031def69bf41d1016cbfd862f5faac7cab20cc5592d70ff32ffe586efe6e3578ed0322e14e3930bcd0a2047f41c14e9f478d0567fb06ee8ee674d6a0274a35dde1ae0219ffff037f82e03e080df90b75bb179fd28ef952319e8e751fdb90324f47b942ff02a3e80219ffff03e92e22638ba6377cafb595b44814b83431c2a439de3bbaf58323445e0cc495d30219ffff03fc92e7bfba84e2d9d3b2c3546aa0628be0928720992f1a07ba18e1b7eff02b3703512303f35b6842de9f3e19e49b1ba5b2ec6b472d9f057e3a9896efc4c01d55a303f0501e4a3d6d58df78cc93d6c5d6f6610fc6aac1c98224c0185df9857dcb6f510306e29878075e6e5a6faa0ab83656cdaaff3d1109d5e952a80e80011cacf3954603d16b866842c0f25ab86c8c8efa3acf4ed59557b74353f458e143cf0e8ccc243503ef19bfc7b8d2c76b4dc44c3ae6ce1b2f652bfea6b7c96661c52f3a0b6c230a9503dd625c84492d564b6364ed3b473d8e73a49d51d52fca7e058cba329e3d667ce703c0f790f9f52a22e7cf10c8f090bbe68088f8d484d8ebe6de5d19334823760179038748c7addbb6700d7943f0991aadfb3beb9a3a4c87ad923cf611948800482d2003e017ab3f2f01ec78827cf31abb79862625f73b4a21c07140546a4190a48d4114039e185038ea436c7cee50dc9d2cc021d0cd38c1bf469d49ab0c4e6a50956a12a60397e140434a4deedcc8e25f55871f7b108500e8ce72ad1967b26574992a4c500b0303e96b23614b9563cc90912c375bc386e054a5dd1e0d0c0f34b9548b653d15c8037a218c1ad17e7580961512b47bfcf9feec4f71c4857e1a11a0cd25b04a2f9b8003e57c806bb60628d5ed2b146ba5a49cbea803e3cba18d061339b060189434c63e031781b8f420bf6f6472f410e3c6cad5ba704b6e478dc3477c002b8b74336a5b6c038eb3c03ed8ff2b6a32e80becb044a94bd75096dde698c62c36ecd1a560ed834c0303bd4fa979fdf9f33849d9c5de5ed39de6dd0bb0e036b8373b7c0c7d9302662503202a4204ac3c05d42fb631de094a9f1134fe24b6aac39575257d0ac268786b3e03d25a5c02473b34645fbc440234e8beddc534022be16e7a7626b06d0ed2b23de603e38d6b918951eed13069b7f142acd92be25725b77ed57d475cc26b369defdae40343000684db9048cb0d1bd51c1d3da8bb021998f1062f91686fc395633596c2c103c9544f21c21e5cb5ea38eaf91c73df0581d78cc20fc38238e6307a77c00ce88f0362f4b1328d66ebfc8a9e8afb10fb2e1b9e405fb652a9e103b006ac08482dd24b034873b0616ea97a89e701632f28fdd6ab226b74ef28482387ccafe079cd082df303f5522188f5d0cd7f278ca7504b7ec8f7e94bcb2af3d3a23fa7ea490fc5998437031d5c54869ad2b846dc9342c3a83d586499a1e744d81c6cfc8125cd6df45ca1ff03b093933f15abc722da5939efd732bb7a32e6ba54e71f485da64777b384ba602903219660dfde391b2a83f03978f8eae3fb58e9fc813e3736bca055c60337084af4039eef8e3826aff2ca5c0278f7c0ca7727684db03bf0a8cae9c8604ca8d8735c5403107e5c9924077ec481a5c96925891a3a0ccb0716e9fe1044274603ac36e2747503448e2d247b50fbe64a0cc04ec92d6ff0e2a4c60368f1dad1d92de2b43bdf1d2603c22efe4967760047a503780c2e80d215329d3fc4d3c22562c938eb6991d3b25903cf5923019519a9adf08334f59b31ef1cab3f3b28c070a0b760338687e90cabfe05581e032dbc55563f7d350296983b066357820d38907c395834624843083e58900c0147035e55e8bc080005581e031d17c2c45698c9929afdeaa529e0b12f4396f08ce97df90a3846281e700c181e4665a6d09a80f805581d0254907fec154e1876b2c29968e66076f6a773b86b27b4bf274583b41d0c014701549505bf6400045920806080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063b84f5d1e11610059578063b84f5d1e14610595578063c92aecc414610703578063e8edc81614610718578063f2fde38b1461072d576100dd565b80638da5cb5b1461048f5780639804a380146104cd578063b5268389146104e2576100dd565b80635c975abb116100bb5780635c975abb146102895780635f575529146102b25780636b68764c14610396578063715018a61461047a576100dd565b80633ef11fd7146100e2578063459a39fb14610161578063558b7dd114610274575b600080fd5b3480156100ee57600080fd5b5061015f6004803603602081101561010557600080fd5b81019060208101813564010000000081111561012057600080fd5b82018360208201111561013257600080fd5b8035906020019184600183028401116401000000008311171561015457600080fd5b50909250905061076d565b005b34801561016d57600080fd5b5061015f6004803603608081101561018457600080fd5b81019060208101813564010000000081111561019f57600080fd5b8201836020820111156101b157600080fd5b803590602001918460018302840111640100000000831117156101d357600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff833516927fffffffff0000000000000000000000000000000000000000000000000000000060208201351692919060608101906040013564010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b5090925090506109bf565b34801561028057600080fd5b5061015f610d91565b34801561029557600080fd5b5061029e610e2c565b604080519115158252519081900360200190f35b61015f600480360360808110156102c857600080fd5b8101906020810181356401000000008111156102e357600080fd5b8201836020820111156102f557600080fd5b8035906020019184600183028401116401000000008311171561031757600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff83351692602081013592919060608101906040013564010000000081111561035757600080fd5b82018360208201111561036957600080fd5b8035906020019184600183028401116401000000008311171561038b57600080fd5b509092509050610e4d565b61015f600480360360808110156103ac57600080fd5b8101906020810181356401000000008111156103c757600080fd5b8201836020820111156103d957600080fd5b803590602001918460018302840111640100000000831117156103fb57600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff83351692602081013592919060608101906040013564010000000081111561043b57600080fd5b82018360208201111561044d57600080fd5b8035906020019184600183028401116401000000008311171561046f57600080fd5b509092509050610f68565b34801561048657600080fd5b5061015f611166565b34801561049b57600080fd5b506104a4611266565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156104d957600080fd5b5061015f611282565b3480156104ee57600080fd5b5061029e6004803603602081101561050557600080fd5b81019060208101813564010000000081111561052057600080fd5b82018360208201111561053257600080fd5b8035906020019184600183028401116401000000008311171561055457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061131b945050505050565b3480156105a157600080fd5b50610648600480360360208110156105b857600080fd5b8101906020810181356401000000008111156105d357600080fd5b8201836020820111156105e557600080fd5b8035906020019184600183028401116401000000008311171561060757600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061133b945050505050565b604051808473ffffffffffffffffffffffffffffffffffffffff168152602001837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106c65781810151838201526020016106ae565b50505050905090810190601f1680156106f35780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561070f57600080fd5b506104a4611442565b34801561072457600080fd5b506104a4611466565b34801561073957600080fd5b5061015f6004803603602081101561075057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661148a565b610775611614565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146107fe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600073ffffffffffffffffffffffffffffffffffffffff166002838360405180838380828437919091019485525050604051928390036020019092205473ffffffffffffffffffffffffffffffffffffffff16929092141591506108c5905057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f414441505445525f444f45535f4e4f545f455849535400000000000000000000604482015290519081900360640190fd5b60028282604051808383808284379190910194855250506040519283900360200190922080547fffffffffffffffff0000000000000000000000000000000000000000000000001681559150600090506109226001830182611f02565b50506001600383836040518083838082843791909101948552505060405192839003602001832080549415157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090951694909417909355508391508290808383808284376040519201829003822094507fb00061f7cc154fc23eb34671ab724fc7eb7b806abae871abae8f1eafce97213593506000925050a25050565b6109c7611614565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610a5057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610a6f8473ffffffffffffffffffffffffffffffffffffffff16611618565b610ada57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f414441505445525f49535f4e4f545f415f434f4e545241435400000000000000604482015290519081900360640190fd5b6003868660405180838380828437919091019485525050604051928390036020019092205460ff16159150610b72905057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f414441505445525f52454d4f5645440000000000000000000000000000000000604482015290519081900360640190fd5b6000600287876040518083838082843791909101948552505060405192839003602001909220805490935073ffffffffffffffffffffffffffffffffffffffff16159150610c23905057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f414441505445525f455849535453000000000000000000000000000000000000604482015290519081900360640190fd5b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616177fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000060e086901c02178155610cae600182018484611f49565b508473ffffffffffffffffffffffffffffffffffffffff16878760405180838380828437604080519190930181900381207fffffffff000000000000000000000000000000000000000000000000000000008c168252602082018481529382018a905295507f779d768d36d59231b0853572f8ee1997a2a762b871abf2c81f18f4bf2af3c72694508a9350899289925060608201848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201829003965090945050505050a350505050505050565b610d99611614565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610e2257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610e2a61161e565b565b60005474010000000000000000000000000000000000000000900460ff1690565b60005474010000000000000000000000000000000000000000900460ff1615610ed757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60026001541415610f4957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155610f5c86868686868661173a565b50506001805550505050565b60005474010000000000000000000000000000000000000000900460ff1615610ff257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b6002600154141561106457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260015560005a905061107c87878787878761173a565b6000601036025a8361520801030190507f0000000000000000000000000000000000004946c0e9f43f4dee607b0ef1fa1c73ffffffffffffffffffffffffffffffffffffffff1663079d229f3361a3db8461374a01816110d857fe5b046040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561112c57600080fd5b505af1158015611140573d6000803e3d6000fd5b505050506040513d602081101561115657600080fd5b5050600180555050505050505050565b61116e611614565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146111f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61128a611614565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161461131357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610e2a611a8f565b805160208183018101805160038252928201919093012091525460ff1681565b80516020818301810180516002808352938301948301949094209390528254600180850180546040805161010094831615949094027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911695909504601f810185900485028301850190955284825273ffffffffffffffffffffffffffffffffffffffff8316957401000000000000000000000000000000000000000090930460e01b949293919290918301828280156114385780601f1061140d57610100808354040283529160200191611438565b820191906000526020600020905b81548152906001019060200180831161141b57829003601f168201915b5050505050905083565b7f0000000000000000000000000000000000004946c0e9f43f4dee607b0ef1fa1c81565b7f00000000000000000000000074de5d4fcbf63e00296fd95d33236b979401663181565b611492611614565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161461151b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611587576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611ffb6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b3b151590565b60005474010000000000000000000000000000000000000000900460ff16156116a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611710611614565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190a1565b60006002878760405180838380828437919091019485525050604051928390036020019092209250505073ffffffffffffffffffffffffffffffffffffffff8516156117c2576117c273ffffffffffffffffffffffffffffffffffffffff8616337f00000000000000000000000074de5d4fcbf63e00296fd95d33236b979401663187611b69565b805460408051336020808301919091528251808303820181528284019093527fffffffff0000000000000000000000000000000000000000000000000000000074010000000000000000000000000000000000000000850460e01b90811660608401908152845173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000074de5d4fcbf63e00296fd95d33236b979401663181169763e35473359734979190921695919360018b01938d938d9360640191908701908083835b602083106118c357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611886565b6001836020036101000a0380198251168184511680821785525050505050509050018480546001816001161561010002031660029004801561193c5780601f1061191a57610100808354040283529182019161193c565b820191906000526020600020905b815481529060010190602001808311611928575b505083838082843780830192505050955050505050506040516020818303038152906040526040518463ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156119c95781810151838201526020016119b1565b50505050905090810190601f1680156119f65780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b158015611a1557600080fd5b505af1158015611a29573d6000803e3d6000fd5b50505050503373ffffffffffffffffffffffffffffffffffffffff168787604051808383808284376040519201829003822094507fbeee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630d93506000925050a350505050505050565b60005474010000000000000000000000000000000000000000900460ff16611b1857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611710611614565b6040805173ffffffffffffffffffffffffffffffffffffffff80861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611bfe908590611c04565b50505050565b6060611c66826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611ce19092919063ffffffff16565b805190915015611cdc57808060200190516020811015611c8557600080fd5b5051611cdc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612021602a913960400191505060405180910390fd5b505050565b6060611cf08484600085611cf8565b949350505050565b6060611d0385611618565b611d6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310611dd857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611d9b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611e3a576040519150601f19603f3d011682016040523d82523d6000602084013e611e3f565b606091505b50915091508115611e53579150611cf09050565b805115611e635780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ec7578181015183820152602001611eaf565b50505050905090810190601f168015611ef45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50805460018160011615610100020316600290046000825580601f10611f285750611f46565b601f016020900490600052602060002090810190611f469190611fe5565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611fa8578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555611fd5565b82800160010185558215611fd5579182015b82811115611fd5578235825591602001919060010190611fba565b50611fe1929150611fe5565b5090565b5b80821115611fe15760008155600101611fe656fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212204c84e3d1a47f4d4e4a44e54ba6a342bb93298db951016cc23468022fbeb4941764736f6c634300060c003303c7273e80156fbab619b5aaf0db75247e09200d0216775befd6acb3fe6890b3130376e3a772db17877b07198d35c4950304aa8f05404dbc238baa3909250553a343005820023228ca7f6b388dfb55171c46f5dc4e2bd6adda7d1bf87c11ce7deed757c67f581892f5f0373d1d55c23dfc759c5ae48500ca88ddf477b3c9e50058200206ab6051eefa55ab665c805f62a2e12b0ee6a5b544ed2c85b71ec0cdba79da54e4c9194962532feb467dce8b3d42419641c6ed2e005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354bc50cbd395314a43302e3bf56677755e5a543a8c0058200297c04b325844d174f8d8046a40e1f36a89cb90ca577fe85de7a27a37e83dde5818242fb09f3ca3b7ba4d6d424227f3638e970966359823e85c005820024beb1cdd15bb57ad7b51457a5ba1c18d8ffc16af3cf6d21bac2554f3e0bd165818242fb09f727fc6c510f5c5dcba136471b2451baff0be407800582002e030d628e7e82ffd056ff35e0d80002c0fa8451c9547c8cc7f080e4090a9e95818242fb09fe6d363f453bc656d79e81d53a598ded54d88be81021936a003836470c578c35ec5dfa847d0c4e3f3ac0242e3e80a371732561a715e2631d6be037cf30cf26ce620aea4170fa0ecc784ccb50aa2f2573998a0a9c0e5eda580d57903fc10771364cb979d397b8f3a401fe2d2b6a28000e2488dc5e5fcc64487d1fee700582002f09c02f4985eeb25c644ab75e3221c0bbb8b092c06fcea9bda051ca30ce3ef41c1005820036bc347cd62026904d7a8dfa8c048357f96eaed6c83bdd816c80ebcedf35de0547113dd99c79aff93d54cfa4b2885576535a132de005820032e896ca0d934a81a6cea9eb50ac0253d0c0d942a4323a49ee3a060651322d058184495c088bbb0c50473990162a4a02b6a4cce16fb0a6c38d102195000005820022a185453f3b037424002abdb9a62734581b05ab26068fcd16a70982d141cf05818907b673810e23f722a6767b39d2fdbaa19e8a3afe32c2f34005820027637efe763387ffef5ec55fa571dbe7eac4cc8ab69238d5cda1933e0ed5192582011a861a7000000000000000000000000000000000000000000000000000000000058200215910e6adab39800225c99f065ee5e499fbb48041ff77157d1395cadb077a754111111125434b319222cdbf8c261674adb56f3ae00582002beb330ff2d13d858a18531ccd0f5b368d361c7a81cb1510696ea19672c2f8441c1021992e003c514504d65f66b75461e15f9d7daff3bcb7f8603a57064507526ff957d9929d70058200254219e669939af32deed1cd33bc2f2798e77475ea724f3d9539a778e6623a1581892f5f0373d1d55c23dfc759c5ae48500ca88ddf477b3c9e50058200279a70ea5fe1b3b121a05278764aaa6b920a3278375035d25043af45f6ff4d1581892f5f0377cdf68ce9a05413cbb76cb7f80eaf415a826e31303944fe4aa4ffd1f69c958b1a35afa74909e4428bc1c7ebfd66857306cccc5287400582002e2e93bbf9008d6acc2341138c7eec70dad0a48ef889609695c762e7e60147058184495c0882a0008b677c980569f8ada7bed5353584171eda9005820028d9d297aac0d190d7948c8df6eb48705c85956b1214ac5106797b4f81c35d85474758acfce059f503a7e6b0fc2c8737600f9f2c4005820024993d5e717f5e320137f621c6c79c9e671c65c38fdaa3bf173ba82e6fb971358186917378bad5a42cebf80a8da36d488e1ef52a6387ca3c4d6021913a800582002c6a6f410fcfcbc9d836fc701d7bb13d65c6e225a0a918c22720f96930bc489581892f5f037dfa7bd39ded0051b2ecc48f7e17f63ecd165cae100582002e9b032cb8dbeb20dff041bb7b7447bae6e783f1db93bf1909d4648af1c7ed55820b4be83d500000000000000000000000000000000000000000000000000000000032b31f2038af93c4873ffe81031a5c79da7effa5c26aa651245d5e48660076f18021904300391bcaed8e663f6de8ddac3d1133853a633b1b81772c77deb0f75ea3e4797b7a8005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6410100582002afe2f6b0797b10581b00c63935c83c5a1e1f0d6dd646b0a923d2f85b0fd4de54def1c0ded9bec7f1a1670819833240f027b25eff0366b221c7067a8866d6e78eecbe7978455fc4b8335cc1db3a8840a64b5e7c26ad00582002681c9bfcb0eb187b6f05a0022955011c096a21c6b500f4f752be5e406b298f41c10219031203cbc6c4166b7ab772c631cf98e61a4956abf70e209ca2288be4f5f6d7a41ee2bf03d755faf8bcf4846b241266b886e43ed0362b98e3a4b0453c69f1e2620d6e24d100582002425c91d776f8f2aaf8ff1daa3a5f48a8b2bdaec80db5a8c66fda1e5606f1625818a149ce6b2bbcbfa8ada653e6a93e7a347e486e18c2d393eb005820028f5d36f99d349cb0dde5a8be1f0777693c06300868294b7ec72643287f8e0a5818242fb09fddb3a79c13771422fb80e1166f7a840f17b51c59005820020abd2b5b91278305447e2e08506cd6e294c25e1201827717ebcdc9bdeaf4ae58205d46ec340000000000000000000000000000000000000000000000000000000000582002db88d9148dd6c8745162538bb427710be35ee0772909078eeb9841d30f79f341c1005820028acc5ae598263b4486d390c34581f06f36f3966fd922c1a20c6984bd45637d41c102194670039839cbcef7247844c6595eee06ffb2497a4219ce2ec1de7a62b6aba0eab48e81034c2d14b66813e9a580b3aaaa7b2b6612b912f3aa8255ca1641e5490712b361880219ffff05581d0267bce79287a24c5e8453dee4b1c363dfccc5960e98b02dc0f56374bf07021920800219081003f04f7ffd5b21c59cb563398b2d75522320a99807f22cdd62f9b5d2b86b38749105581e037748e4798564f817c2ff8e7a5d3452ebaed26d00d4196e9205c12a7a900c0246d6ebd56585b8030fcb51bbe7429f2e242bd75a72e3687310192658ac056ec04332d4ca638a25d305581e037dee52dd23d59e35137618c6372783b31d98720503d0e0671553317bc00c02466a2392fd1f9105581e032324342d854a9f1e019a9721b24da01b0fd307fc4ce582d330704884f00847028ed6103d000005581e03a8d62b1af5d042aeb35dc923910abae6ac032b62d6076c036e732a48a00c01470337c1b2e9940005581e03463c12fabcd29d20dedaba96fdd3c666abf9f43846894ea8f1c9e342200402021947ff03b00c5cfe6e52b08104cc6b2d18d962ad701390f3cd9f3d634809f7bf0af3f4770219ffff03ba9270506de19ddb8cb9a6e9e7c22999866a59f6016ed1168ae8f40046a71c53034008770c08e0ec38a7d3c4f0efad3299e3df72fe060783ad95e28bf165f8a76703d9d825143e1c5897fa0435d39486a9568b9b195348b4afa47959998d905381b0032ee30b757b1cf6b4613d601c72450fca22b89fe0f40804b6b7f5261c31c88cc503d0f48fb0ad6cb2f20496247e5cd4d5776e1d39f9c32d67d1f54ea019bc129b5c03c28e1d13a4a16313a6bb2e563d78fedb269d02ab3d3668280eac5f971b3289f003086f28d324b908b57635d2e22d98c1c08cfb3b7c51feab5234324be2c0a0e47b0378d6e5f69ddbd5d539bc502ee1ef8a2e87877b808639454dde16f3541ecfa1e7030da69fb1e458c9eaf70823a1e3ab11b27e533c1b6debd9d484f57c64a759022c0219ffff03b0afe0f643078f6d0b30eb4d8f23497740d6449c22a5a95033ee12326cdf63030355bb2f208a0d5e0ddf1ac4124700c2c16816d9fec72eb06c04c1ec34d135b2d003b51a2052fb36d78fd49fbca6247d11186c8d8a5e5ed4320cb762cb39c93b7286038e30308035fe85fab20bd0c57e4fbd41725d412e6568026774d01b54fee825ae037605b32c7cff501c004c0bea08e528097e55308036805e4a490876be083687cb0219ffff03665b311f6f1ebfc3be8037d8f6ca9f06590ec054dc9d697c1dcf65915c5b48290307b85b6795378ca75cba14536eba0ea26e03774a9f1da9cfdaa866317a9d5f2f03601fd30e86f10424b4bcd45045b1e0d1817bdb90c116ed26781609d0ae78957f03f49805510bbd6c1a8eb1be636285c96cbd71b2eb57eba25c577a8fe4f11fd69e03d5aadbd70a184b416f525ec6044434b1cc4ad02934a1ca4b8001bb43a18b7c750372706fb08663b47a3ebffbe28ab762c748d5aa095142418ed0613a922e9fc87903262a1012182d6e074944d3158d3402a7bdba53bb1aeae72a88838245e561216703cfc4456ecb91d19bd0f79fa5d2ab007f7c719c587d39dbae3b7bdf8711eb573503c1f3c19976503317bafccfd2d1dd1c3ea9533ea6e107784b82c27ba9640a954703d1b60f32cb72f4159c2489aacd841ddc7ce352f1748390e17958eedcc46263300384a4da4b99d061755ed09a9a7f3a25f81693ff03aad29eb302dbb96f30a16de0036487f192ae5d9bee6e092562df5f4e7f73e0b5d0a10fd0412ce6427c339feb770389f21f9467dc743400e98ed761c2aaf519c5d97ad5372b0458f5c0aa7e86521f031b116fa706a78a3973547784172ad3bce813aad96de600dfe6a79dac362129ac030695f1acb54973de4b5aaa1a8a31c6dfc043a714abc9ce51d4dc0d18a2cb2632037c65a1a4f548857af3eed93034ccc058912bf695c676f10a94965e6f50dfaad703f98113fbc630c2b89d035423410786be54a25a96a2ec9a8a38a52735081a0e6d03bc27609b263d953fc47cd779e0133c6e257b854653dfe048a48a4c0b37f5ff6a0342e60ae2bfdb06b3c5dc5860f490276e3a169448ef37a298959e6c698f282cea03a33fbd1148366c2ef4ff468d7776edaff45f873c502acf96b1aa7fc2088170b0032e6afb585bba88745a6686f6154ca3e02c33acf79abc70bcbdb89dbd54df6a78033cff7249f585628aeaf2040b2b1ac40fe760c3ffc7ce44222c8255c04bf8650c0390f72c502193cae207d43e6d15f13f51fef8638929ecbaa2aee777eb9b740e3403090c8f6578d67c04490bcf23aa63122e66578ce7fcf87a7e454425646ca932c903c7af6a2974ac1d73e500e9fd1eacd33951d1ee65945854ad29534982cc91c8c703b19366efbda708248a5a504492d7e173033355a4f62d0cd8c1d9e2acfb42abc503911798094229085b6d1839dfd7d001771d394641b6c8d61e75f2d5bab9a1831e0357b1b4c660982bd1e0112808a6c1e58be0e6b16d281c66e175a9dd002cb2546a03772d9ed5a49e66ab0168f8140540d26cf2bc98fc48e991818b8167cfddc1d77a03a173764da2f8728b1908cd97690312f7e9a251c991fc9bbd84c3c17db635a66b031f62d9ed55f22f33353edbfc25c41b0c952d0e217757fd2c42fc1ccde90aed79030e5922db432f3c65a873e6b8883e638d317e98ec6facd833c65a102f4ac25d9603932e310bee7513d07acd5232197c701552a17217e41816ec1d1533150e02917d03cf11a976ab8b7e29327c372a182f1e87f76d60c05471f3620e3694576079c0000349fd5ba27b9fd980fce019f9109bc4170ba94fc8b09a514f3638160ac693f13a0353a187620f95c9fd18b0a176dffa724146fa7d09b20683a5bc9321114c1441c605581e0324e32879d0cd9d419a3b25a25ecb11f81ed869100dd092d44b546653800c014702149ea770d80003dcb275714c681b9b50072faf2f1b00d2d4dd1f5bb656225368a3f8ea37b5ba130348235d2badfdd176081b78706e31213c4858581bd483e777d872dd7a726f6c4303269a966b98fb04615af9f1ada4b3a43c191e67883c9343ce73857d010b811b4005581d02f70cb10fdbf11c7ca9af22fbaf9312018dbe429abe16cc77b02ce91b0c164740b5540f25c56405581d022e0cc3c7d08291cac96e82dd8e651984b59559aeb45cc1466f8542160401020603bd44a09aa446965ec03779f66f28558cf534ef6d9a43464ea9ae095c848ded3a0219e13003deb42c0399ecf94843d61bbb690c6d80af1e76e8ae3a715edf5f0f4a2a355eb803b1dab1ae1fad9d1c42b83bf67d12b5bbfb4830865229769f7149e526e48d5b5003ff919f07ea9d940ff47cd78a8eb53a7972b7f540064708f707a92067d6b07233034ee815e904d9e7881d174af4199f560665e962842397205402c4c0ac65dae5d60219ffff0366a2a224923c249c17e5647b6f86a50c621e188da594debe7ba5609d750c466803242a6987cd887dd775328571adce97285a7f9acf4b71f280d8b30b58addae4fd0219ffff03a4a32ca2a5908344d1f86be4662b062dafbeb8e9b428fb4e630de3974c8fed410326bf2903e0130a14ac042929804a198fe5c6cf67790b185d136fbd6b28a41479037e9f13e2e4058f397a7c024bc18c4c6e45523be2b79608bcc3a66b8da7eb70dc03af94c8aee8a8252f0162a94fa55b5a868bb178c472036d50c69341a1f3da75d80352ca0be9c35de471ce1f3a91953e0ca8171503c6bc8c1c1c188ef07cc1b75d61038bb5b3b26e24eb37b5c7813632d0431b932264a6971aa97a7ffb4232a34b94b703ee02b59dd9b4cd5fef5db66011e276f2695139c359de0c0b4ca429a500c603bf031476d952b5245f1abe5d265993dc0ae2f2350ebd8380f4235c484743cd64ce7503bc7b4a9fe7899f2c782d969431bc48a5719fb263f1d5cc7157e99d3aba83ab7b031530ee38e22bba06746ed718c3143af24e86e2f295332b6158928b193e57ddf3038f4b24295dc717a7a1b36b68bb3c41d810c6f1f8adc159e8d8b35b02ac75b9500219ffff0391d3282f42bd41499e6b9954743a8684fb67cae0811730a2cd72cf6806e23c0003e7254d89e5cee45b1cf0091f360cd6d9b271c64cb4827813bc984f3d88ef8bc003f6cccccea91cc480c8fc0f5eaa94c607037ae17271b1023be0b8f59ffd0f431103a18caf96f24503e37d3ae50cea2724d27032afadcaee455e0c7dcb9d72c604560219ffff031edab9dbaf97cedc1c91d80810e5efe3a5db5b5e65d503760815a625a679589303d361987db79ceead04949a87f044d0a43454a7e0e6d0aad6e41ef326d86b181f0395135d1fe357973054d0b3bd31f722b693360f4766ed18121619dc18f03a89700371771a1c67f313dd964c399f24a01bd8920f56cf8aa76246eddc143fd09c06b103a8a2e0b9d9536f2deda2741fdc6bf0970ea6074b52cd0b119e67ac1deacbb9e1031c1126a9966345966c0d0a670d616512f2fb7fe9e9dd9036a7695f33d54caccf031f234406d9a717346092d92365d2abb64f410b1e0789817e556f92381028576b03971697f947b3a8e86649939b70ee442a3620792c0e0e40dfdbcb3a2b2bcece8303b27e3d3c3aa9ce162069fded84b37164f693a7cde756f4b9127618eb4190bc2c03903f14ae4added77bf5cffc14097fef57fd883818840c6256cfdb7a89cbef615030b5ac12a3c4ab52d39a510854bc472a0fbd6a1ebc075f71726e44f8dca7da2ec038946f368684c6909b89fd44a6c9e4a54657aed4947f101df1343db1766d884b2032ee9cbbf9c10fe2947b52b28f4d686b52c10974cdde3a0abffc65562aee90976038e5c69c2d0a658a367bd517891b4a1439d02b3912aff1952525bf1aec49a831f037dc09618dd0db47c56c656ce55c783ad5e251382a9a183483dabbbe8c065265e037ba3589e471adbbd36c2214b5460117e405ce42f1f3e4a43c24cab531547b99b03833775e826eb0033078e777e90613c2071f4de2d7e1241bf2d43ff3dd89f833f03a0c9b6714568c76bdba51bcc13798ae7ba24367df314a8fbbd644b6836f5c9310351652a86cb4f1d2a82657aea1579217e32b1b1632e053ec440073ccd5a4141f803f87c56a9505f86b94d02c45db78c5d294f8bb9ef42ed8c556336a148c048d5c403600c7146eb5aa8f8b7591858e0449fa04cabcbab15fc15dad835f9a6191ad670037a75ed21815e0329bea38751dbabb2ce8c03462e823d385f3ee31ae38098cb5603485f5b298150b6530525b51067880c41d07a4ca1a4dd94fafd7e5c7df775542003c57fa2ea70a53fbe3da1c47a1cffe5f6319159ec7f3c5ff1624850b216b21e50031d28198fe436e214354f32646ff9ba75098d1c7af21eaa773a7488487301fd840345e7ad0d47e9aad6bddd33b6313e1f87daa672e7fa5bcf35c8b50b5dd771f0060399978503a8696fc1308f5c5d9071f463836f2279faaf9da6b74ab4fb3abaa3e203e9cea066ef68e0e9ac093d623e3da21deaeade87c7286cc5cd84094aa4cac39e031e9f12ce4313d95e14d487ec418e9ea64c875e4949c70d9031aa0c0489ad5dd9030f11ada41d96c770161fad764d3f5fbee3ac14e6a4ada96b9fbc4be1f503d7e603ac3fca239e66569f519373f9595d6d649e795db6b1ecd68e6c216df21e5d9fd803ed224deaac1adc847515b2fac099a07ce03552f4448ce6ff41918a73619bdfd203a5e616f3a0ea64586804e7425b56a880c7dcad749506e1119be31e29344b9df605581e034cecd5cdaee62831dc5bbe1d39cacdf5caadf135976629da663a3011a00f0147016bcc41e900001bffffffffffffffff0459101b608060405234801561001057600080fd5b50600436106101215760003560e01c80637da3ad21116100ad578063a613ff9c11610071578063a613ff9c14610260578063ac93d81914610273578063b36a56ad14610286578063bf353dbb146102b1578063c5198abc146102d157600080fd5b80637da3ad211461021657806380711989146102295780638a4f5c571461023c5780639212051c146102455780639c52a7f11461024d57600080fd5b806330eb9098116100f457806330eb9098146101bf578063356bffdc146101d55780635a99719e146101e857806365fae35e146101f05780637c530f131461020357600080fd5b8063161c37a9146101265780632555df711461014e578063276e76db1461016e57806330d6be2c146101aa575b600080fd5b610139610134366004610cc0565b6102e4565b60405190151581526020015b60405180910390f35b61016161015c366004610ce9565b6102f7565b6040516101459190610d32565b61019561017c366004610ce9565b6005602052600090815260409020805460019091015482565b60408051928352602083019190915201610145565b6101bd6101b8366004610ce9565b610309565b005b6101c76103d7565b604051908152602001610145565b6101c76101e3366004610ce9565b6103e8565b6101c76103f5565b6101bd6101fe366004610cc0565b6104b9565b610139610211366004610ce9565b61052d565b610139610224366004610ce9565b6105ad565b6101bd610237366004610cc0565b6105ba565b6101c760065481565b6101c7610653565b6101bd61025b366004610cc0565b61065f565b61016161026e366004610dd6565b6106d2565b6101bd610281366004610e02565b6108ac565b610299610294366004610ce9565b6109b5565b6040516001600160a01b039091168152602001610145565b6101c76102bf366004610cc0565b60006020819052908152604090205481565b6101bd6102df366004610cc0565b6109c2565b60006102f1600383610a5b565b92915050565b60606102f182600061026e6003610a80565b336000908152602081905260409020546001146103415760405162461bcd60e51b815260040161033890610e24565b60405180910390fd5b61034c600182610a8a565b61036c57604051630e5a10e360e41b815260048101829052602401610338565b600081815260056020526040812060018101805491839055829055600680549192839261039a908490610e71565b909155506103a89050610a96565b60405182907f14b7ac3b50ee1fd8a2427d781717c273a2cb1ae62bf02811ca24ec5a2836bb1890600090a25050565b60006103e36001610a80565b905090565b60006102f1600183610afa565b6000806104026001610a80565b90508060000361041457506000919050565b6000600654436104249190610e88565b905060005b828110156104af57600061043e600183610afa565b600081815260056020908152604091829020825180840190935280548084526001909101549183019190915291925090841080159061048c5750602081015181516104899190610eaa565b84105b1561049a5750949350505050565b505080806104a790610ec2565b915050610429565b5060009392505050565b336000908152602081905260409020546001146104e85760405162461bcd60e51b815260040161033890610e24565b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b60006105396001610a80565b60000361054857506000919050565b600082815260056020908152604080832081518083019092528054825260010154918101919091526006549091906105809043610e88565b9050808260000151111580156105a55750602082015182516105a29190610eaa565b81105b949350505050565b60006102f1600183610b06565b336000908152602081905260409020546001146105e95760405162461bcd60e51b815260040161033890610e24565b6105f4600382610b1e565b61061c576040516388f81e8560e01b81526001600160a01b0382166004820152602401610338565b6040516001600160a01b038216907f2104c946bb2e25472480a083f9ea4624be22c24c8f9b5603057bca3930c52e8b90600090a250565b60006103e36003610a80565b3360009081526020819052604090205460011461068e5760405162461bcd60e51b815260040161033890610e24565b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b6060828210156106ff57604051632008e1fd60e11b81526004810184905260248101839052604401610338565b600061070b6003610a80565b90508083111561073857604051630efec7f360e21b81526004810184905260248101829052604401610338565b60006107448585610e71565b67ffffffffffffffff81111561075c5761075c610edb565b6040519080825280602002602001820160405280156107a957816020015b6040805160608082018352600080835260208301529181019190915281526020019060019003908161077a5790505b509050845b848110156108a25760006107c3600383610afa565b9050600080826001600160a01b0316638dce54b78b6040518263ffffffff1660e01b81526004016107f691815260200190565b6000604051808303816000875af1158015610815573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261083d9190810190610ef1565b604080516060810182526001600160a01b038716815283151560208201529081018290529193509150856108718b87610e71565b8151811061088157610881610fb9565b6020026020010181905250505050808061089a90610ec2565b9150506107ae565b5095945050505050565b336000908152602081905260409020546001146108db5760405162461bcd60e51b815260040161033890610e24565b6108e6600183610b33565b61090657604051630ecb231960e21b815260048101839052602401610338565b8060000361092a5760405163197b289960e31b815260048101839052602401610338565b60408051808201825260008082526020808301858152868352600590915292812091518255915160019091015560068054839290610969908490610eaa565b909155506109779050610a96565b817f2e4ee34fc2201723c292f0d394753cab20c1d3d622141822b22492d2ec6c201a826040516109a991815260200190565b60405180910390a25050565b60006102f1600383610afa565b336000908152602081905260409020546001146109f15760405162461bcd60e51b815260040161033890610e24565b6109fc600382610b3f565b610a245760405163050fe44f60e51b81526001600160a01b0382166004820152602401610338565b6040516001600160a01b038216907f8b289941a79010edcde43e0263da5b169b75b9fcc7251c62553193c2c3ce4fcd90600090a250565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b60006102f1825490565b6000610a798383610b54565b600080610aa36001610a80565b905060005b81811015610af5576000610abd600183610afa565b600081815260056020526040902085815560010154909150610adf9085610eaa565b9350508080610aed90610ec2565b915050610aa8565b505050565b6000610a798383610c47565b60008181526001830160205260408120541515610a79565b6000610a79836001600160a01b038416610b54565b6000610a798383610c71565b6000610a79836001600160a01b038416610c71565b60008181526001830160205260408120548015610c3d576000610b78600183610e71565b8554909150600090610b8c90600190610e71565b9050818114610bf1576000866000018281548110610bac57610bac610fb9565b9060005260206000200154905080876000018481548110610bcf57610bcf610fb9565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610c0257610c02610fcf565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506102f1565b60009150506102f1565b6000826000018281548110610c5e57610c5e610fb9565b9060005260206000200154905092915050565b6000818152600183016020526040812054610cb8575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556102f1565b5060006102f1565b600060208284031215610cd257600080fd5b81356001600160a01b0381168114610a7957600080fd5b600060208284031215610cfb57600080fd5b5035919050565b60005b83811015610d1d578181015183820152602001610d05565b83811115610d2c576000848401525b50505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015610dc857888303603f19018552815180516001600160a01b031684528781015115158885015286015160608785018190528151908501819052608090610da881838801858d01610d02565b96890196601f01601f191694909401909301925090860190600101610d59565b509098975050505050505050565b600080600060608486031215610deb57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215610e1557600080fd5b50508035926020909101359150565b60208082526018908201527f53657175656e6365722f6e6f742d617574686f72697a65640000000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082821015610e8357610e83610e5b565b500390565b600082610ea557634e487b7160e01b600052601260045260246000fd5b500690565b60008219821115610ebd57610ebd610e5b565b500190565b600060018201610ed457610ed4610e5b565b5060010190565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215610f0457600080fd5b82518015158114610f1457600080fd5b602084015190925067ffffffffffffffff80821115610f3257600080fd5b818501915085601f830112610f4657600080fd5b815181811115610f5857610f58610edb565b604051601f8201601f19908116603f01168101908382118183101715610f8057610f80610edb565b81604052828152886020848701011115610f9957600080fd5b610faa836020830160208801610d02565b80955050505050509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfea264697066735822122070acd8311553098765b2b7203c4a2107d3f527cba28b76360c5e5452790517cb64736f6c634300080d00330058200263032865dc6185d042d812c17bab9629064fe2f748893c63792fcc3d2ebf9954c3a76b34cfbda7a3a5215629a0b937cbdec7c71a005820025537b9b9639deec8d5d38ddb0b7b8db0b863863a9f6103d3dba454b7e782f84101005820025734f1c99717b98324df6755d11e00a76a7a65907dd79d1103da758747bd6b410d02190e0003b57696a1db0f71db28a5efe63c42d79fa8cd10baefee654d142e7938290f4e2701410f00582103584db4a68aa8b172f70bc04e2e74541617c003374de6eb4b295e823e5beab0105467ad4000e73579b9725ee3a149f85c4af0a613610363b2268ba7954c49e77a109769ccebb1e2e36ede5a394374f4973490747eecfc038054f081e44a12125fe0c0c4bd1b74f10efedac0e46d68145ce5dde2fb1e0c8e005821036784840c797837461b828c315320e54653e9c70b795c886ffb0c40eef7baec80410d005821035fa63cff3c68e438929f6272b71f64e9e077db43062503a98dc1fa4778d95d3054e717ec34b2707fc8c226b34be5eae8482d06ed0300582103dbe3ba26993847607aa45bca3d053efac517148b3606cd8c6c660ee589ec3420410d005821038d6cbf62cf2baf1ff59035bcfcc1ea66e46500885ca7d515a976210f92e3fd1054c32506e9bb590971671b649d9b8e18cb6260559f0307253431a6be46d2fa4b51211770fcab0456c412feb7e002dc21fabb04111c29005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf64104005820022787652f8eacc66cda8b4b73a1b9c31381474fe9e723b0ba866bfbd5dde02b58204b4545503352000000000000000000000000000000000000000000000000000000582002d9d894133a730aa651ef62d26b0ffa846233c74177a591a4a896adfda97d2258204d414b455200000000000000000000000000000000000000000000000000000002182a03bf362f4994050b03427ff356c9454558d556f3e3b05dec4c3d68a1cb057bfdec005821032c003b240b79c07a11da85edbd17826fca5b957155bd99f2da7f77d8384d2090410d03c1f04a888a31c20d1801c1cbaec6f24d210bc642251b081058c84dc0b8fc61e70058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f413400582002af358d382dedff543a6b845eab127b322093bb1c1cfd191d9a4a9b1a6614e74127021980400219ff7f05581d022ac5b6761e40fd18de3e1d14de2db72bf78901ccbc6da6ce6b506c81070119101b05581d02468c9624194d2d360ea0e2013460353f0f395634fc7362f61b18252a04010219410005581e039403219db297ae4cc954e5da3c080a05dc8c9070fcc0a093ed283444b00403037213231cc256710729e39506afafd6bcef84ee793ef36726699b170daa0efa5305581e03772c49bade37f53e922626c3f9ee6a5babeff7c4d7281ed1d56fb040a00c0247051670e3f22a0003cb559d09b89c9081e95319d7ee48e483be74b12de7fd2f2869620f21ac2f658905581e03b07e5471d004b8fe7179343cbd2c4e899682b2acb7d4363159210b68400c074739667bc4d22dd20219833c033b2bd4ebd857438fccbfbeeae34506ae9fdbd12df39d0e00ea925f0b6b6c4c5a035a042c705a4f8d6fcb9ea692d7bc53373b795eccea7988512ede8d939f9804c40391af9fec51f3e71d9e793ce203ac5b8ed25a3a8e93e674ec83e2aefe7943ae7003309d91742e44660640a0081b98ae11ee2617e1dd8048f07e8450fccac7b9b1e20219ffff031484acc286107520f6e26d13955e07d29e92d5bd23fbba921c6733c4257895e203fa0871a0c0b33143bbaa6bed2188ad4d5630258e0b178e99da46222fd3a773c7035b130c281fb42079a794b788faf29bee2ec44b1f11609fb966d9101da80cd2d70397719431e3ae3fe52b8373b4f39b7e9f5d4caa41225ab44b34ff7a09ddb6bc3b03a374947a489f03e8d5e9aee8571d06abe96daaa39fbe494d6b4d3bdc936f71aa03d565c4957e2b8a77984f89b4a7a5f24d06fe0d8c0ffdf2285dd19d0a12eedddf0351ff5cbf882cb91ec986ec79b5bde74a1c1d63e7106d13db8f42f74586f128900356f8a734f234d52ad096aea51534264ff5171a8175eaf44f7a484737e4be446103c3bba503e8542a3a3f0064139ea42f386a7a87a8cfbfaca337621e4bf0778ff1037c31b9258e0ec60f459206e6f37d22a7b8f5982d35e3e8f91768edb5a0200065037746b76eddc088cc62e25d65b1aa7983b482d873871fe2e308b5c3e8f5d8facf0219ffff03b48c8715f1ba79f6d9000e4e2cdb6f312f8561314de611cf5d194f0f4affd1a8032bc300188c5203602afcaa0627c71592941a4b522047666018967c6a67e04e6f03b3f2a9a7696f4565dd3988c5cb6481126795bf4786e05c2bcd2d6bf8692be27b0219ffff038279d19a7b9dd225ac02b8edea91b985c53e8b569dcdc898849165a8e4b2c1d20364c8106e8d78cb254533c52f9f09f1beedf86750e3cde97ed6273a1a924f675003effe82399f4405ad3c5d08885ff513d2b9f1902536b213014aafdcc02ae890e70311d718ebae9fcf737d4a335e9945d5b32ef43e391c65658ab738475061fd623c03e7ab1baff39f02006464a03846df9ddbaa7c7b68bc208cfc77adfab45a1fe45803cdec5889f135732ba945b5f25fb99aef76f434e960ff0731042f29193d483d6603b23508a6e86afe39602b2e65756668a10381f7a2949730e74e8144095ccd0fe3035411b5f6b09c54bf145e9aa3fb5419cbd6a5cb260a8db00bffafdacfecdeebad039429c7c628b43248a46c799d0ade0b9214c67d85b85d46002512e7c05c8777fa03322785bb441d2ef55366ee9a22ed70a27f170383fc487c7de17700ee4c2cb4da036f8a6fb15540be69679ada507c0f579169d19a793429b76b89b66bf25849323c03740230e4a0cff1147da43b90d49336965f1c5ec18ac3a920ad1335969c0612ab03b8ebd05fd1ffb4642658003cd069e64f275c12bf64347f326955f2340f2d480c03c75b7e5a50d82d492481584da414795be50eedb4439c20483e4f0cd82a6849280324b3fc63405f5281b9fc92e2816db28e238957598a5e514c5270e1e6de8ec54f03afa13ca74340a0ece93f7532b17b864bf5e54f318c097f4f131e72379f1a8d0a034c2102015eefbeea5af07ed44b1f7029dc000f9833818060020e96c17786469803f86f5187f9d507463ff60a923a44d6b5a405c97764789956f90bddeeb6aeb71803d93df1ae80e0f2092fed6f197f04ee674514dec93f453be40389e67453baae4d03c1de46bc6f0a3033a28a20eda2b675cfb092f9de19c1b68e038c6e389f56ccf803dd2c5763529901cc33bf1cb35b3b1567019fe386564f4dec7813a40acfd888930339f13c8ccf8cad685fec9b2f149f8adb943a2f7906b81973a6633a7cad6fdfaa03842dbe79c8388779e062855470e64c341796285860b1f1655ce7bd5c9314240003685687b0cecccc7e01d0ebaf7dcd36e2a9e1e1772d2337e5bb370bf6ba60de4803d69e84763a07b9a7e5cdcc806a3037f16a2c3cda0a627ac6c8688545a5104559035f6c52093e726f9198060b81ba42798301dfa4af6ceb2084b19abbd4711070c2038d088b88d81e19381563347a27ad6e704f3d114b4b851dc5cc28c61e53f6446f03d0163fd2e465e1023bb64fe92b6a8405df6634c35e3a57fd44d229e9154e290903072d118b6afa6319f8512bb565210eaf071e07096ed7d8f96a326235b49c120003eb28ce709f47a833121ee0f8819acea4f691956281217d49c957a8dff02adde803dca35dabddcceb305cdbe838ef156e862f0c32dc44896ffe9bf601f8aba166a605581d02d7cae9541da5f39063f807b90bef2c5cbebf610d844a4f62557875210c19020a470e629f407e2a2b05581d02c67b5afba26a9911cd987753c1f71142fe9e9f499b15ebcde87aa8a404020219104005581e0353af260528e4c3095289d1bcb2e46a48b23234c80b6540dab1137a1fa00c01470167401aafb00005581e03a4bf3d6cba04dc0e7b61072636dd1a570bd705e579ea86db58f8644700040105581e032e92f0a5e7a875a1b8135be1112cc611669d0e5a9f7dc35c41bc37ecf00c0246817a4c12839305581e031c3ed2caf2bbc5444c2e372e21eeab3d212cd8ece853e4199443899730040303a0e77654c39be76929f553d6fc2bad605a25ded436fba7185faf2978341fff7005581e0390b1cd2ca8fee3e6c34eaeefe8a6029d5fe6a5f08c9d686ae78fdfac300c02473a1ec3cf9f560005581e034db91aa1ca2180d2370acc89c9092a7677288d504f3c380f85691833400c014703e3eedc48814205581e035d320499083926b0243e3bf5bf678e184657800032c87b914088428d0004020322c359a6e70277ec5d4926026ae6d09730cb24c99f3df6d56076218c651f55620335a1cd24c17df8c0296a500765053da47d77d9564384c0fcbc91ba1294a225e9033965c4af19359afdbe0fb0f4dd5ea0f2fda9f3c0aec332e04ea5a73f3e4c50c20219f9b703b103888258847caecd1789e807c6b7f12bc18b6db27ef63056c45084da4475f103ee444033bf1299701e6240e57ad93ee4b1cebdd62ebbf56a8d2d5904b2d285b6035a2b7a8953dbaba6aee471de19221dbb8a9c3683be698004c79c082911f1a27903066d69fe5e92174376041bed9763aa28fa35f430330dc82c7e69f110a7b7c522038827aebe80498c2703c906cfe2145bcc3b25ce79173b76ef7176800bbf63666203a7c02bfaaf21d1b5bde2d3ab8a9043a077c285a1be9e09923babf48fb7949f3703199c55a736da2644c58b2dc73398cec7e8421e5acf0b15b2e56e89390e2af4510395a5e116e417225391b9b46e94a60f1847f088b6c5d83b4995d0da5cfb091fdb0219ffff03f3607e88d4cee93eb011d77f3face328aa9191330eb631aebef543e7128784290398e84e9972c167081edb42d3650b92642c8763d2cc19affe61ce50edc23569e303891fac1ddc307af22b1ce2d9c7d80f6245543a1b686a4c06ae2e38ab023b5908036db121546f7c1b950c2d20c13c1b42e7516f65a4003d6090c314284d568d8e5b03c9df5d4753cbbb923346289daa6ce765fbfd0f1843f96538389a177970a4edfb0307dc1ece43136f2a7406ce5308dd6ff369f9fb3a1f7c7ba52c87a15c237bafc70219ffff0322856a95d39f705a868298a08c59eb4dedc7130a1d2f2c4553833dcce921a809032981e00fed88f32a5e39dc49a180dd066a6ecf3acf8ee31def6e4772575b6c87039b534b6f86ad54bc91406fdc51d489d944a295589de0e5842e60d16fcf7301000319153dbf66545de3626d34f310e57cb877c08eec9913c24b1980dbf1ab958505036024cf372ebb2ba1b4c2a930ab1d515257e8763db457bb2b37e920bc50095ae903783f9af91be4372bf9358cc07b10a905614e80518ca87a843521e344800479d303446d9ad16c075f8da032640f69a5d3b25db0172a82213d215af2ac4b5e9fe8a70389700e5d5bd5a6d5f0d7b90fb8a4d9178723bbd4a09a62798e9792e51687ca6d0219ffff036b7896b6f3cd0451330c398bd615cba595b62d0490b451037f02bb45f9535aea03ca9310f0a238594ea2d2215cffd2ffda2d5f7919afb4dbbce4f840c8993eeda20219ffff03d8143b810aa097e9c8111dbf5c94945785d5b728853b9c177d69f8337b1d2e250219ffff039ad5fd9b2c7a0d2ff8bba8859e1094794f04cfc59d245eba4721e70fdb578664036b25aaf7f6dbca8ff61703f94a99778387b9e7e789cf994aa1666452a9e16da7030c3cd2a4cf199c85e15ce028bd1334362df65474b2db02393f7a5b2a48301c2703d6ff7a7c0e75a05cde7a8aeb80b8af62bbe4d97a606263cd0724f4cae70ef36903943b5c3ecfb4a68b975ace944a9876bc21a58558c31949610c4dc92fbab5ad6e03ff5d9dffb7cd16eae423f01c85cd955af7b98568e60b3113d3c5216cbb0616bd032a52409465b6a988e72fe7f63f22f527bdcb315e416bbc2e9295001e202c18d8039d4573be0194daa35dff4b2917474e07a9ad94de333e11e3e3b20aee85d6cd7e033412476758026dd325e89450c9869d8a724547e28891eeb98c8cdcf64a7c961a03fbe5153c35dff6b4623f8b8c09f1fe7a43c5558ff203d67ccc2c0b4956b8c5e103443c3b269a4f71aa3ed16958858fe3b0f1025fc0cfac8e14034873b46253f9a6033a01392b93f8f19eb46ab0881a4c118f1996905bacf7342bafaaa44f1073a0d103aec2e4bbe9d396c4111f438344f613c1467baa2bec0025c96d291c78d90ce71e03f587ef02ed0fde872d33d56e3f193e58d2a15fcd443afef638d2033c9922423503fe9727f264d4ce56b2325c96d7032439f21d9bdc8ec2f289f8fd456d24e723ab03cec57124153402525ba80aaaa9dae7d885d7c73a81c87898267aaa0e9f2f5387031e6092e8f62e0cb0584f98aad862d28fbb0da11cd79859e0737f3371fdaec8df05581e03e0233582de7a8f015bb88b71164fb000c2f966758090d23b48b44b83a008470318a09abc560005581e038521da633ffd55ea44bdceefb9328ae6615d3049b9433a9f4450b093d00c0347027fca9176d5cb05581e0315c689329fac0b75ac41c9dfef8e9e4eb65971e9ef047b3abe1629acd00c014719393fa911b80005581e035319c40935c8d116aec5d31534d223cfdc6724aca26f11aeea57387d600c187b475892b78ff6b07905581e032662765edb29b2222f3a11bf9b3801502b8c901e24743a2669a6bddee00c03470366e62fc8091505581e037c7cdc34a63e84db7b3f8f363534f3ebda06fd9d21b88eb6ce519c1ca0040405581e03b592247d84303d9e43d4e86c341d6bd44a9c071841219b3b92b8132c300847b1a2bc2ec5000003d6d9e32605dea9d916f6989cd84c9ab1e41fbd5dcacf03c569cc857d38c4c26f05581d02f965b7f1a4c909fab911fcd35e12ab33a31ffb772309aea69b5c100a0c184f480a2b652053cc55ff05581d02dfbefe67f796e067e0e58742f8504aa270ebd1b2de0230396eca0fe2040405581d02b35d38b1fa9bbeec701765eef926a677a7f37836b7bda148762d13b104010219800a05581e0359e4303aef0b052fe55ec0d976e84e3f7f00f2bb12e5ea48d10bb80c90040105581e0339896bf64cf24898dd669f9514096e698b3580400bfc5a2028d43ea4a0040303ee6ff78401feb3cd544a74b95d63b83b13bd24d98e75c734febe9d8d516507de05581e0375bb7e529a217bd0f95b2a804f17acc57fe60f7420d8fc8ff34997be50040a0219f5fb03ef2749ba752ef63c356c1933c3aee74845b3d772b63aaa697a2fdab2ad36509a03eee348706e5651197f37b5a1af332301aa57fa86d96b863d7a2d3e4bceb00d0f035131014436a8eecf62e5f8d7ccaf97ba048c3875342062c6f6297e259cf14b2f037cc44de45a0163b9ada632498ce3bec6f756d89254d8dbe6ac67b2c024a7f59c0219ffff03414715389f2ca3f1e26dd752b2551f8403c395eb850796527488ac69fce3258103d88ef35142fe65381b84970708f702b63c87412ba68674331dfeddb8b851a5ad03f687b5891460a88de4f174b9d2f0ffd9a610f957548f196f1d987cb707fe41ad03e792794c74e4b8a48eb1eb7d1396e47a1055b477e7db9d7dfe5524979b7e10c40351061a013a015cc9ee3e58b0cb8550b58f6547726f5be824508bded7c9b62adc038535bf0e5a0f2095dbd1f71955e4461dbb3440e57e917d426e4033c97674a2c903ae4f7165350be90a6c5b2b9470cd9dba149ef54f66156f9306cbbc050e0fa06b033ca69e85a81eafd09739921695ad0def222bb0e50fc4515b5a8abbdc7a30a6f2038d37a45916e845c44886b8bd5b547d64e705618bf1143ed1fae3fcd113d7c8d5033b40493419096b968983cb375a3448a072b7f3f20a1ecf72ece8fbd91a1b92a9038ad781f048f8c486d1daeefa4cb6bd07f6f813b007fcf440a5713fceaf9f82fe031c747bc670dab42e54e027f529b3d922d6075603ffeb5bd3cc52d88058297da70219ffff030751d68fc95aab32d0702a31c65ee664a31614172c35237bd1d189684e90fe7a03952e72bad193122e9398feab6e46fb9e26ebcaecc1af42898f89228d94e75e0a03275d0d259d1701146035869cfcf28aa8a53b6ffe40c07ab73d837041599b7fc3031f747f914593861b01eae608068275743b1441e8adbdff4bd26f113243de8ca1036b014398023a5adc0eca0aaf0de3c0bf3b97a5e0d2f2d266c5a9fac97e250c8b0365aac3544cd8cd81375c93ba08af1c7d1cf6b253d6ac4e6a07a42ede8821a10a037b345df17df04b77f984cda6b247a47088253224b408b40f8d550a369f0c3a4503621b725476391ea186ec31bf9252a9179b72eb80a7abcd09d462904af26a9ed203eb5de6307c22fc8108272897461c0c0c7d503bcb07c7c56d00717522184de23103d13f95f89e6a6a4277857604503b1780c4bff5dacd4f3e7ed57f949fc8ae75080379e8c92b66f92965556ecef71beb17f6ea361c7b0c08c91d2d9ac68ded1711e10355b405dc7d03950d136718c55ea842e5a728517c08bbbc68b0140286d460d9cf03fdd552693c97b88a9f81cbfc6e7cddebf7204290f1868d802968f6178f6dbc610219ffff03af64f5be5df31a199e2057627ddaaf836bafe762bfbea1a418a80c16a0d5177f0314fde602cd38e711649f6811dc3ae5a5137ac3371befecb4abbd54b624365aad0320c546c345a5a8717bd5a717e6a2473bffc32f840c464e2b16bea7830ef1fbe203c2f84e5b0369a8df9868a49c259c3f483fd89ab695e07f781cc963dd349e30ad03ea5608c761f8cb9892641115353a23d018a4cd6c879c238fe12358fc7c38ea5803f65cac57f0133a773551624649f6a1411d65fb2dc4059cd32017de43664f49f603a9a70c2514eb4c73755e43ca3fe2b5e4f71141d22b4bd91d19d7fdc4d1ff7ead0321d561a62d416d6629e0aab4c7b499d7fb52d596fe379906b03aac08761eefe503c2a75fca427b83fc859a492e1a782100ab6b2277941f3d075e9a5c5edcc6a3490316323d5425311e340638c6669deb5d1aa6d13b9f94b43ec8f08061da43a8ce680304b4b3b893ec2d7aed5d554ffed493dec5ae652fe65fcca56c8b0cab7e0c02ea037381946b2934d8aeeab59719578dbc13f8df3f140b60cf2d2396fa069ce77cde037ae5db8d8c939789b61d33b8247e69cd490b7b43cb595fd5a1df37f79728fcbb03e9192a320ead12e31dbe4f1f518ede463287ead65f3e6b934b2cef43156821c303b19fade079f78b670d28372306cb313e9cb0425e8e8f73c1ec81650284dbed5e0219ffff033e6a18b64d39dbb748b3fbcf3b66b9c630dd4435baac446145fa442819edbd8f03cc6e994c81a9839e209b6ce13bc87a4ec33032c5ed6b8eb5f9f47eaae8dca35f03b36adccc7ee47e5f5da86dc9a8fce6b87e96f6f5485d7cf9c0dfc33f6bc45c90031106b98339ca649bea757dc53ca1c8b3bcd53f4cfb0d5a3094ee7a091a5a163d037bdc2ff2cf3414889fcb8c27cd5c42b0a549e60cb618de48aafd2fe0f1e4885a03ebaf80ec7a74b70726eb9eadb00ef43e1ff64d4182cb2491c2056a4a143536cc032f392192fdfeb32722a0650250bc4c91258f67f221ed447362b2cf9f1f4a0d3903919017920db0c9ac8b4c9e1d4c2b4d4f36fd48501f0164f6c098e9e5696e42d90397198fdce88ca556105da91c9c261fcb5293d4b255291da3e87ecbb014829bf303ff8a94ca9c477353c970ed4fd548031e32c9e9cda2cc3dce8f2596308d50aea703109ab45a76cbd018d05b92919f057ed81822a30097057080e5626625a344245703527a1e29dbfc8ac1603963cca53add6dd5cb256c6b10908eac5740775940a3b9037af55303f486d5f0cd9426cb9f8411dcf5175635ddefce12c51b003a444e0fee03802c3d81d6df281fb87bdc21796e065605362286331f248a146f24ea0614179a035f4e70117ca6d0083bf6db3c62ff7ea25623daa8fa02d640686e2d244fd603ad03b98bf40abf7ba9f6934974fe0ed6f576532a4ce23e8b7c2ca8c2f2fc70fd061b034b34285dbe1b5560a442fc265d7db143729f8710f45f3018f3fdd83b7bcd20c503a870182af525d3315475bc2ff73c87cf527b77187dee1f6ee5cb8c9d63bfbf5f0305ab1eb64d7a08fbfc9c413f7e88c56aa3124895a8d61a5779ddd2657fe59982033710ea5f91a2b4dc984a504f7efc3b2426a75a1749f87714f4ff835aeecd062503903cb223e721818c7e91fd06b0c0b50333230aafad5bb6db3fc76747eb993b70038939914f51715ddf00a256bac5e870d69cefe3d7feb10069fa6d34d26860cb44034ee23162a81022af883a7d4ca1fe9324ba2d44d853f3dff7084c1c48ca8dc12c030887ed6d0912f831476d1a9f6289d0a594757788e49e7f38773ff4dd46b38ceb030bc314829ed5861ab385adb9e8158437374fb5b1162b9aad39ee265cee3a564303992fcd4a4a5435e9102d4e487f2a0fc967749dcb9dbfd6bdac2195f38cbd131703eb5e41e0903c96d4ec7ee0a61cc287426dfe9b8f3bca223fc9cd89091d365614036e1ae981bc8155c9ece07e03c0f4da298c689d09f5a5fadb58454b75ddd8a41603610b22338b304afdadb4c710452adbec796e74f36046806e48873584e08606ac03737b2e3e91cd7fcf7007512a06d90f9cf48ee931359fa726877ee85e973b8f8b039103c5921928c0aa9c3968fdc97691becdee2ffa81fa3dbef9dc995b14a8518103a51327b630621fa8f74eb9c9dbdbc0cb7d9f4dc7c03a13d25a6a9a297b97aed80350fef3eee1e5962dd93fa9e9f31e925b7149f90fcb684464062eafdabf21a0c403d2fdc17d5510a85540d3f7bedf6a830c68bc9b579a177804e75fd2ced1ee082e034381ada169c422286b768df5791f49cf3fdb9fb50d66a42f3aadc2f83adc03be033ce00d353fef1c8e4989bf9ef359bd6fd6e3e21723e851fd35d9156264d1b3e505581e03c60778421d7a93c8568633d5736de0c3b60331b27c3fcafd36c9be7f50041105581e032327380f6a247c5cbcdce147e7918ea6bc8c6ad83a42a21bae0d6847c00c01470466460eeab3b605581e03ba60c41f7942efc33ed1031214960f282fc3430a8f464cf2ccadc8afd00c0247140172138b2a0003e01d0a6d892ed4fa734246e06942598c9141b59eee0e7825f0e8db5b52a6bc2205581e03933f0d704604f0d0950a1bd36e49e89b12096dd3afbdebd42bef7e63b00402045911016080604081815260048036101561001557600080fd5b600092833560e01c90816304f9772b14610bee575080633659cfe6146109f75780634f1ef2861461072057806352d1902d1461065e57806368871c9c1461061a5780636ea9cec9146104db578063711cc23e146104c0578063715018a6146104605780638129fc1c146103055780638da5cb5b146102dc578063e289adcd1461013b5763f2fde38b146100a757600080fd5b34610137576020366003190112610137576100c0610c31565b916100c9610cea565b6001600160a01b038316156100e557836100e284610d42565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b508290826003193601126102d85780356024359167ffffffffffffffff928381116102d45761016d9036908301610cbc565b90939091906001600160a01b037f0000000000000000000000005fd9f73286b7e8683bab45019c94553b93e015cf8116330361029b576101ae853414611041565b7f0000000000000000000000001ee09a2caa0813a5183f90f5a6d0e4871f4c60021690813b156102975786885180936373f3fe2560e01b82528188816101f88a8d848c850161107d565b03925af1801561028d57610241575b50505061023b907f4d7dd506eebd13f1906de0d19f0f72d5b9bbc240e8821c422547f743d7ee19509495519384938461107d565b0390a180f35b81979692971161027a578552939450807f4d7dd506eebd13f1906de0d19f0f72d5b9bbc240e8821c422547f743d7ee195061023b610207565b634e487b7160e01b825260418752602482fd5b88513d89823e3d90fd5b8680fd5b875162461bcd60e51b81526020818501526013602482015272139bdd081e9ad31a5b9ac818dbdb9d1c9858dd606a1b6044820152606490fd5b8480fd5b5080fd5b5050346102d857816003193601126102d85760975490516001600160a01b039091168152602090f35b5034610137578260031936011261013757606491825460ff8160081c161592838094610453575b801561043c575b156103e3575060ff1981166001178455826103d2575b5061036360ff845460081c1661035e81610fe1565b610fe1565b61036c33610d42565b82549161038b60ff8460081c1661038281610fe1565b61035e81610fe1565b600161012d55610399578380f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989260209261ff00191690555160018152a13880808380f35b61ffff191661010117835538610349565b6084906d191e481a5b9a5d1a585b1a5e995960921b86602086519362461bcd60e51b8552840152602e60248401527f496e697469616c697a61626c653a20636f6e747261637420697320616c7265616044840152820152fd5b50303b1580156103335750600160ff831614610333565b50600160ff83161061032c565b83346104bd57806003193601126104bd57610479610cea565b609780546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5050346102d857816003193601126102d85760209051308152f35b5090606036600319011261013757813567ffffffffffffffff6024358181116106165761050b9036908601610cbc565b91604435908111610297576105239036908701610cbc565b50507f0000000000000000000000001ee09a2caa0813a5183f90f5a6d0e4871f4c60026001600160a01b031633036105e257918592918392610566833414611041565b8186519283928337810184815203917f0000000000000000000000005fd9f73286b7e8683bab45019c94553b93e015cf5af16105a0610edd565b50156105aa578280f35b906020606492519162461bcd60e51b8352820152601260248201527110d85b1b081e9ad31a5b9ac819985a5b195960721b6044820152fd5b835162461bcd60e51b8152602081870152600e60248201526d2737ba1030b93134ba3930ba37b960911b6044820152606490fd5b8580fd5b5050346102d857816003193601126102d857517f0000000000000000000000001ee09a2caa0813a5183f90f5a6d0e4871f4c60026001600160a01b03168152602090f35b5082346104bd57806003193601126104bd57507f00000000000000000000000065c7b3e1b877131986247b49474834b0347ef3326001600160a01b031630036106b857602082516000805160206110ac8339815191528152f35b6020608492519162461bcd60e51b8352820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152fd5b50908060031936011261013757610735610c31565b906024359067ffffffffffffffff82116102d457366023830112156102d4578184013561076181610ca0565b9061076e83519283610c7e565b80825286602094858401923660248284010111610137578060248893018537840101526001600160a01b037f00000000000000000000000065c7b3e1b877131986247b49474834b0347ef3328116906107c930831415610d8b565b6107e66000805160206110ac833981519152928284541614610dec565b6107ee610cea565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610828575050505050506100e29150610e4d565b8693949596169085516352d1902d60e01b815287818a81865afa8a91816109c4575b506108a957865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939594970361096f5750908692916108c385610e4d565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2855115801590610967575b610900575b50505050505080f35b61095b95660819985a5b195960ca1b837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c8695519861093e8a610c4c565b60278a528901528701525190845af4610955610edd565b91610f0d565b503880808381806108f7565b5060016108f2565b835162461bcd60e51b8152908101869052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b9091508881813d83116109f0575b6109dc8183610c7e565b810103126109ec5751903861084a565b8a80fd5b503d6109d2565b50903461013757602080600319360112610bea57610a13610c31565b916001600160a01b037f00000000000000000000000065c7b3e1b877131986247b49474834b0347ef332811690610a4c30831415610d8b565b610a696000805160206110ac833981519152928284541614610dec565b610a71610cea565b8251918483019183831067ffffffffffffffff841117610bd7578285528884527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610acb575050505050506100e29150610e4d565b8693949596169085516352d1902d60e01b815287818a81865afa8a9181610ba8575b50610b4c57865162461bcd60e51b8152808a01899052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b979192939594970361096f575090869291610b6685610e4d565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2855115801590610ba1576109005750505050505080f35b50826108f2565b9091508881813d8311610bd0575b610bc08183610c7e565b810103126109ec57519038610aed565b503d610bb6565b634e487b7160e01b895260418852602489fd5b8380fd5b8490346102d857816003193601126102d8577f0000000000000000000000005fd9f73286b7e8683bab45019c94553b93e015cf6001600160a01b03168152602090f35b600435906001600160a01b0382168203610c4757565b600080fd5b6060810190811067ffffffffffffffff821117610c6857604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610c6857604052565b67ffffffffffffffff8111610c6857601f01601f191660200190565b9181601f84011215610c475782359167ffffffffffffffff8311610c475760208381860195010111610c4757565b6097546001600160a01b03163303610cfe57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b609780546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b15610d9257565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b15610df357565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b15610e82576000805160206110ac83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b3d15610f08573d90610eee82610ca0565b91610efc6040519384610c7e565b82523d6000602084013e565b606090565b91929015610f6f5750815115610f21575090565b3b15610f2a5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015610f825750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510610fc8575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350610fa5565b15610fe857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b1561104857565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c69642076616c756560981b6044820152606490fd5b91926060938192845260406020850152816040850152848401376000828201840152601f01601f191601019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220384375f1f14b37de6b935f864e4a02b57464a26483d9f84463355388938fc22164736f6c634300081200330058210226700e13983fefbd9cf16da2ed70fa5c6798ac55062a4803121a869731e308d241ff05581d0272670e5b709705138513b87c7490f028815c17cbadfd36f9c703f30b070119110105581d022d6697c1d81d22d8e717b8e818bcc63038d52c8f40f0aa611522f53d0c074708ef7fe001c3da021980020330bf8dd8a0905c6bb824b5bac308e6d7fbbb9070c4ba8fe611cb8a500ce8604e03caf2175397b64bbbd6c4ad9b886ea39959bbc439baaca69af638d388b5d22c4f05581e0374de8ff5d476ef6e5f6534f2d69eea5a4bd784fc87331e3725080ec6f00c0246712ef0bf8e8005581e031238918d0eb175244ac0404302359cf3d39cbc31f4d4c488bd949f09600403036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e03152cc8aec65c3116d953bfaa607681cc11d71c22017d95069cee0a15d007011bffffffffffffffff02198b7f03207ff6a8b8a4011315d9c2e6311e56ec31a98dff290b6126046fd838467705ba03a6f7840b2803e85bf82ac67e256cca4f1cef8d4ca36fc42f13d49ac2549a4f8903e44229d16520d07d4c6a769d4f33242cfa8c3d78d9e2e63037e146c0c98b9ca4033001fb97acc261fa559f4cd94c522ad71219de96d20111998da7e1699353c75403329e9e83ae2e6c8c015c4b39793b5524fb7ef8bb902a6869f78e6d625ce0a7d30219ffff03d761d9fd94e6b3ed04c0424ad5dade13d29e203c78bb144d2807a77a7c7e4d9a03a278c1565903b9c5049b84eb2004524136770eaf016fac6b1b15af85ac9c2d080219ffff0343bf75f36d3a365b72a5a7df3ff2fb1de53ea4050971df4ac0a08d588d469d4403953cdc9d7b193284e726bd77800f383e2acde07e2a35172fec2e47dbff6cf54003ccdde3e19d10d18e7b5e0b266742022e5dd23ad2d53277a804d5013254fb24990372fec8a5abbfdf4ac7ca49d6b782c2073ee4667bb8567a947fdf119f4a665e6503f81793e2e99c525749bd58577b9cb154f7192ed248de2019a4e3cad94906e19a03aa3239e4bf9eb9a87610a78e145e4dd591b92ddefa5af46c76739721acc4670d03e8d31489269e6a5d4f38d36e2ee4dcdfe28c7d169364601d2894ec0dd849ce810353e5931d13a8ef2d502c04b45835db27201d03f22dfc82c5cbd570924b1a21a40219ffff03641b87f749f687730043fb5477b75e75c72ebd3f00009e8d417f291689bd25d7035d1b3e0fd41401d23ce2227f2f930edc142787f68212079177d5c7705ab5ac570341cd8c9c54586ae1bc39c298a0fc20d3277d3eae8819bf2153386b8f5a1a5d3c03092d5edd739501203829b25a4a3879f93ebd040137fec8c638bb36ea9c6565a3030a7407e63e12b54c3c5e86c8c0a147b8ec973158a4bad2bc0a7af143d5e2da5303088aabb70037da69a69ad08ca43aab11a195911510935335b62524eae1ec1dd603449259b2acdf83f3cf340429d35ec0685ac1d6771a1191f25ef09df91432038603634444c79e9d9f1759ca710aea5508c9fa4dfd25a0d5d614d1c60b5419f2309e03abdac97157f422b3e12eecaa1e3523fb08032785fb19205be63419e5b4cdb60e0219ffff03a1841993ffe4d838da4079df221868fe2809e0b79ea0b24bc6f8fd0e0e090f37031df0f48739e486dabc8ae06d62dccc8d87006b3b162c2127a381ce15444ed1870373b81f139a321f2e84c5c4c36f5b402c17d453a93cfadb2c894ba34fad2bfaf5032ddd1b1b12a6857089555fe22839dcbf65e611f4eb8d91a715251e2f6d48e6d40374dc9d9a85272a823dfa6ecd202cdbdb8bc6b06014c12add938965223c552e550343c851374567b7ee70e2cac904093bfa96026a4730f7b49650b84212596e695b031cc6ee5ba0b7387ccd41943df1db7b42019e5fe39e5977f017bed9fa176cc0530316918489c8366eb45e166530b25a6355ac3a1b517dd6c278421908b970671e3503d5291fd459649df5b31818ca88ab04e4b1d602a86c4625fe5e39e34472845bc803e8ce45c8586375c2c88a30fe0b22d56ff1260f8ab01f986fa2aeb79b7eb927f3033efcbbba9bd1805644152ae73618bb5753ac925b4f8d87e1d382a6ccaf738b9503da98237d71ebd89b514e2bae7b20b54a62551b38d6ceeafce324d1e3150489d003232ff193d9501f6423952589e51ee1cb3bc95bd7645a89ddfa5be84e67b14fc703807f9c2790991654e0b1efe6a8de41a6349b38fc3264c1d4d655c648edd1317c0349a6413340f83ed3fe0d5b411b71f9421425b99b0e01ea7d4a2b8f7247bdd6fc0359115f4fb2d891e01c63d9efa505fd0bfb71cd8d85f710749e23ee1a43d4420703095a90fbcd3940468a4abbb79dc9a6796dceecffbe187ce0833cfbd1375fc38103078a1f52d58f68b19f1646aaf0fc830736d1bd2f68a857c7d0141fd829c16cc70354f12090d3e60aa2a87e6fa07876d662d395fa5d2260c346ffd62a19b6238f6303e78ff1a4b4fc6d7a9284cccbfc13a57e7e97e1a820c711a0eae5930ffe12fc1103ec485a00838bb9a2f58f432315a639e56e42eae139b093870d7188457efadf8e035eb6f72a2dbbe72a72fb0dd2e6f56e2025c1381f9913c2f026822b3c2ed168f105581e030f750dd6a0f61472f68a3bc5db75cc767735c336a1844ebc786cfa31000c1902be48013095ca2a0fdcf205581e03fefccb3b82fb23e455e7709e4c97e9d74872d426927980f442f59889a00c014701655746cf025605581e03c5b9973a4609bcf07489d5e2e28da3379427506d70a4e3641356b4c2c00c0147040ea49855600003b21b8ed975aa7dd1e3b4217ca697867720f34e7787224b28c6fd31734f88f19905581e03fd17954090fd0b391f3dff090100a9fb6d3c7d810ee0bfaa6d58256300040103588faa516d983f7278b633bdf5df9e0b0d8eb803183ed71a2f495a8818befb5303441d45a90a34b8bf779ed03544ee08cb2b7e5e7ddbbee6bff3e043f298eb265405581e03cc0d92c5fb91bf99cc84176ebf40ecf22cf980b25e1b341f0d63cfac70040205581e0317e7be74450201cb80fdd5dc8235ec19a0b16f9026f6d7768d1e8f7050084803ce6f0642f4b8000219e565032d62298275a562e48884051992a83b9af2902c9ae5620f3e403ef175cc02e1d90383ad814a3bffe180229a09634390c6b3abb4d9fab1f4ef51267a13cf2732a8340335105332ff3813f9a218cba7715e5fa1e0b5679592e8523dd40a03bde859a02703cfc94dbbf9bbbec3649697df47eed679989890dda93dd4ab0a96f845db0fa882035da5e827be05fe3670ac875b2292ea0705c862f92e3dcbf9c8c477c38725794f03ecedb943f41aa349295f705d38d0e56c7de82c8397b024c012448fd27370d470038a3f21d49487a71a82a6f6a4258ed2e98d62e336fa0f5c321e34848803ba74ef0219ffff03a50da02ada4d285935233f5cbf20c426003f32f290b1e479e6234d4b3e22f9db0376eb0bf4b926f04f3d670a9aedf73f585734152a70015a25b04466d5271ddaa30314d56bcef29e3849ee1439177c6a70efd6c5ae6d0e4150a4d46b2c8b85c5f7de03edff511830b1c02ac93f8c08577bac460ae5d1cd18de30fb8bb339333fc756dc0396e8b63af6ea70176fa3c0f8ba974a876ca4616a3c15832a7fb7ea25ada69808030437b7f86db853abd9ada5991f1c325b1c784dd11f9e10a0100e97181e71d73b03a88c74ea25337a2e4a18e2bfc18a6b95a372b4c6238d0e69fdc56ae961c2ebd20219ffff03f2bc2b77f7d702d6610f3973eb735c9b737ea735360aca620ddad0eea96f277a0362e4270741820b60675f21b69af1dce77b8f12211c0ed6943f5e5a1d7fd9ae150372e6b1f1add3d3c122dfeeda9f5f4d9f51f27bd96ccc9a411639612e60fb669403659dd537264a37cd789dd2a2449dfe9abca2ed1656f89ec23eb9857d5c6d1b6103e7eeaa56426e2c0c82070dad3ad794603fe9dae57f7f0bd61547b0d40e1eaf7703812acd8cb1b3c1f7c5876fa44478d2cd3c0c1e9687257aa9272c1f48dbd822ea031673839b7ddea579476a7f0e10885c8e4a6b1fca952707c77a04fbdf55b9b15003fc47b8a13597f06a59840d6b95ab5658c903105cb32fce54657bb8fec6a4d3cc03b046db76411525fc5ddd572277dbc4f5b125bf8a973ba2e2e0bec95c253e627003e1043c8b8dd530826033d209d10764fe6f5e7a3d751555550ab826841cd1077f03a017191e4884988cdf2081c8f78211d3a64c0ab850b3cadb603f2a2f38f3fd9f0387428bea65c71e8203be2386a1441215a75b4cd2622b175c2b8b92f0ad3a514703f914b6058efa25bf4c25cdf45a8e07746cb3cacbb561d5f05ea530bdd0420cea0219ffff03a7c0fde57c66e8defee94e45185c4d50557159499eb37c397d3287c37ce91dea03717aa1d538e8b821fce520f971525b672ce33a860e051f7855ce843627a484bd03da206318f733123a8c534611ff2c9c595abc6224e0e58b084469284265458e5803df0bf340014d3aee21fa4d0b993f1aa10295ae14e9fa91ff0bf6f335a80bd4ca032939fffaab8fdad482440eb4f6c84dbf80c0582af641a9d70fec7fab3cf4e9810355ae1435354348702f897ecdf259e67d732e0a9bf3317e09b65f07f29aaddd14034767459a267d50341a29204ef16b9fac9a927887c10968beed195493b3ce7f3803188fe7d38d578f0705784b8bff8d075404e21b8d34d1dab3429da233968f3668038708a2153182564dccd100e4f150de5a31f74f1615ca5348667af7e4dbb8142203721e3f1d144a4e118e31d6f296057eff540d1b0f217429cfe9ed4f3f63bb01d103457e3dfee9713f46f5ac0105154ac2c852656cec3d3f8ccf82911013bc1958b603ecd9bb5459fca3f3ee4ef425dab8de8ae7c98d28e93bbf6d72416ca205e61ba9036447fb0ccd589ab3ff680aec3549fd64a147cebc1e6c28d31acad985f2cb5e8903782652e4b0064137641428158ef3d71968c606be96541f7f688f83a3e24240d503c48f2e29267f5d873d94d2fe53a78a0c868098fa5e2fcadeb80d5bb0b0ab468f03db27777bea22a5cd53c0f05afed83ec96b47c03d172a6fe25501b95998b7ce8503af7704cbf6f19a5b46f4e748f43b40b5b20896e40fd839f5c16f490ebb02103a0377efa40742370bc5bbf217eb62e4d8cb1cfcaae80e88d5e25c690877e96db09603a0266b5ac4ab063414c8cce82961b2d4cba14e712629c24eefb046c244d2292703ac412d6b1006690ce50460125477ad67942215da2571ff876436d5c8c916ace403307556f60da1810e82705b13c8ad23bf02a660191c7c96caf8880f5ce7e6b41d0360d8d58f26846c978da4b62c30b90d222b357fba1ec29d90831d7d32dcc0bf4403cac2ede99fd35195421544d5079374abd87b5ae6e080e6e1c6706fa67603c05a03ecbfc7f6baccc628801734b7596522c21b1f68c27ca4e4914625c679d3184c4b0333e136e4e2960a6ebd09ad687f9d281cbb004a96484b18e1cdc85e55e96aa32203c2d89737e637681bea4b47b235f48aa6c0b39ab1f15b41cfcc95dc6024a2dcb103657195d286594903cde579790f26977b4db4344c7cc261f58a13e834cd2e00a303b9e1eb119ed3af00864d834b388d5298cf61e4cca6c95e3543a458512a5277a7032675ecd61e0d19049fdf9d74611b901b9fdbc1b2695962e29ad79b725a4eac1b03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba037dc1e13d9299d56cd15de77c31e4a9cca3191e4c88c7198b4e0f24103461cc5505581e039887427a84886aace88771d49fd88dea60a7faa4939a32013590b962f007011bffffffffffffffff05581e03b79b3aa9fff4c55eaafabb8a17ef3ae7fbe278ffeaed0797aa99522da0040305581e039a2f8a30db157b81945ec0e13d463951abe268e7de7d607b41ab9675900403031696a64569782ab8cba25d60f0aecf4aa92b54a66ce57c3b0089c73eb8c8a84e0332f53f7db11fdeaaa11d60dc596fd937fc9d60a77b851302c019ec5aea121bb105581e0362a0208feb824450170f6ff3371d40efc97ca310395a706a92659792300c024701b69bcae3f9b8038ea1400b5b857de9cf39e669943690c721a920184a5f5e4885b31ff37aa59cc905581e035c6c5495181cdaea356a80af7c6cf14808547b2346c6ae7c380f4b18600c024647d93f91e00005581e030f11be107e9a1f7c4796678fc8273eb4a87f930038d6c85b715a61bd1004020365ce74cb1c3a5bb2db81cac376822087e2b639ba63876d267819287239127c7305581e03970d46f485205264d5f393ac015c459219cd71548574350311816113900c014703db8caaf0cdec05581e035d4995d325156430081f88b1c0a423c4b93f32010060cf19ba2637bb800c01470bb2619975720002199f7d0219ffff0300d63e5502901f5cc19dda1fd47dba7ab4d707f17b3d848ae9a3f8cf256cb219032a15e97df706de4ca4256fb3e20d1caaac1b058f352ad3d54a601a7d1849bc4103cb56791e75451a1f91b4ac74250ff32585a1d4900c489b42bb086d883cf85ac7032fb4e0475b4621f1c431ef0563d52d5739485c122bdafbc899614c4807578c5b0359cb2d0545fad89039f5c41f367bf7c8bd61d4017465b134e2f23bf32b9d3c2b034888703e57ae59efc3578e973e95f6307b054990098d61b78630baa79ed1a1ab0313b42987ff86cf81d6f2e77190c7784187c9bf970e13cbbc17750a894864110103879e9e50cbdc684019b7f7746331f364bee6e3ca6b776ea06e8c79869bd302870394f9cc3ba775c6796d3b4e2396985eae2df141635c296bb159a2d96be6f6d2350313e90abac207da759e446bc293b73a4fcc9f37320e72275461515f797e4a58870219ffff038faedec469c9f1355bab5b7a7f81097e5491d6a20b785eb7d9a279670f188d790356536aaf6fdcc0a6489bb30a2e8047dad8aecbf05811f8b2472bf7a1b20eee3e035918bf47887410769309c38e68ff441bcbe27cf00e15765fc1901e7a01e7b59e039ef94f4ffcda5561999d2e01cefe430f909ad6da8cc65e541af4e444c685506f03d35810e5a252cf9899969c6e03d5f0b981e6c7e49b4815dcb6817b814dc6a569036a2713b4b5d0e7660182bec652174df7e142f68714215d5dd83778c778b9d66a03c0bda2fbe13401765c02f3df592af93f9a84d18f5190f5ad4061cd7b436c29c50379f765c38b391eae1ea469a01fb6cc4e3be123d3be388d71316cbe012934276e0353f274a2f7dba52910f4ed7996a0c4b004c9ad1b83b9bfd5d4a7943d680a6ba8036c3a945044249f335810dc83cf19f1e6162605b71fb4b7d8416f0e4d41530d960219ffff03fcef7e8c50e5b7066065bfa6d5a62804f5277bcdf25364ec1fff2f44d1ffebd3037e42e6a77b50bb7a22aca85dc62fd73c0f2bb5414ce7f89883b25db9ab282ef403b61e18edc735fe0887df56a9170449a5f96fde2c07c429fd145e6caf8a2f677103984ef288bc8748094526962b496c602c1e635e4bba3e22ab56a25878f21eb2990303e358b1bdebf9ae4eeee2cbfd651f0701480e77d2517a3d14a8dfd5e7dada7503c367778be272bb7cff9c98056b92f81553dda140521e15e536ccc34cbf130fa60219ffff038e5d707a4207a1e913bc7ecc4d8cfc8d01a5a97ee08a9c54eea8f110adc81a85039869b27a57b319d4b77292ea3e07a2dc3f4e69d507a1f4803aeedef9cd8298e90361f1c92ee92554aadea3d2a4aaa8fc87ec0b332fe41568f638fa7ea59efca9e903b1b996f13f24f3883e89ea9bbabf410e65cae4519422a90c24a54291a1afb1f9035c37c6ec191780d68dfa654817a892b26e19aced3766321c474268f5b7a06f160312cdc7383c3d7c9a822f952734dd9f134ad3dd978675c404c78d1906e1c21f0903e27515df44571f1aa10174a8f3b0a722dfbfcb6303b77e5ba99c07f9ad95920003b2f58bb1200cf950785e8789951a2232d50aca46756b69c214ea7b9c42c4b7c10365d5b26f545ffd41036b6e4bc4cbf6d86e09607df00d9a109330dfc3f09591cc03bdefde26b4d609772f2cd4922955ff1dd8e470a2b00b9516f7ed763a5d514da2031869c4ef263ffeb07c62e932ad70687f3a88cc4f4bfc7e73207c122e3bb7c58503ec9890bfb063112b5c1f63a6dfa739d9d98b77fa41f2dbedb2bee36d11923c1003c9429698b72313f0522dfc9bb729a7103bd1f5fc34e8fd09bd829b849d2f070a03c026d3f0394891e99271221960e6f9ae0e8a04e6c57b4c5d7c89a85804114ec303ecf4c9947bbb57c613cfd7c9371efa28fbbab60a38b79a29c46f2bdf2b992ba103546a8dc3dfacc0d219cc2466d41dc4b2a5726126ea45e029026a3bd6821d097a03ac54ba7ddf2a9340925bb3d09a9ee500cc0bf0134ca0ea856f6d7376111b240d05581e0313c85a535d1ea6aa237f8dd0f3fbde9a6b074b4068e153dad822316de0040103f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0391f82b36a616cba93ef0b15966d173dfb6c4bc21bae98daf0be2166a6007011bffffffffffffffff031314c52610b88ed35054d755ae97f4a9ae110ad0b2c0d6a7bd4b6145b474039a035a5bac9fe7217394ec4a0e5fccb6dcea00da59cba6e9e966aecf7aab3b2ba2ef05581e0300928e2cc4aa19b6d4ae8feb3dc8d2dfc1dd1fc736e3775101222a25d0040503f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e038186ae06d1093f916ae568b7155822a19530303961c804884ba390e08007011bffffffffffffffff05581e0363837abbf47f8a895fdfce7811920c801bbc483810fdd80fd19d1f23a00c0146f1e76bdc5e1105581e03baefdf13f2a4ba5a1882555a3288185f84f83040c58c41dd28c38187300c044701456b5a23b368045910e7608060405234801561001057600080fd5b506004361061010a5760003560e01c806340c10f19116100a25780639dc29fac116100715780639dc29fac14610266578063a457c2d714610279578063a9059cbb1461028c578063c4d66de81461029f578063dd62ed3e146102b257600080fd5b806340c10f19146101f55780635c975abb1461020857806370a082311461021c57806395d89b411461024557600080fd5b806318160ddd116100de57806318160ddd146101ae57806323b872dd146101c0578063313ce567146101d357806339509351146101e257600080fd5b8062435da51461010f57806306fdde031461013f578063095ea7b31461017657806316c38b3c14610199575b600080fd5b606554610122906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6040805180820190915260128152710a4cadcf4de40a4cae6e8c2d6cac8408aa8960731b60208201525b6040516101369190610d6f565b610189610184366004610dd5565b6102c5565b6040519015158152602001610136565b6101ac6101a7366004610e0f565b6102df565b005b6035545b604051908152602001610136565b6101896101ce366004610e33565b610386565b60405160128152602001610136565b6101896101f0366004610dd5565b6103aa565b6101ac610203366004610dd5565b6103cc565b60655461018990600160a01b900460ff1681565b6101b261022a366004610e74565b6001600160a01b031660009081526033602052604090205490565b6040805180820190915260058152640caf48aa8960db1b6020820152610169565b6101ac610274366004610dd5565b610463565b610189610287366004610dd5565b6104f6565b61018961029a366004610dd5565b610576565b6101ac6102ad366004610e74565b610584565b6101b26102c0366004610e91565b610720565b6000336102d381858561074b565b60019150505b92915050565b60655460405163a2bdde3d60e01b81523360048201526001600160a01b039091169063a2bdde3d90602401602060405180830381865afa158015610327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034b9190610eca565b610368576040516354e2bf5d60e01b815260040160405180910390fd5b60658054911515600160a01b0260ff60a01b19909216919091179055565b600033610394858285610870565b61039f8585856108ea565b506001949350505050565b6000336102d38185856103bd8383610720565b6103c79190610ee7565b61074b565b606554604051632d63d9b560e21b81523360048201526001600160a01b039091169063b58f66d490602401602060405180830381865afa158015610414573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104389190610eca565b610455576040516365f9c9cb60e11b815260040160405180910390fd5b61045f8282610aa0565b5050565b606554604051632d63d9b560e21b81523360048201526001600160a01b039091169063b58f66d490602401602060405180830381865afa1580156104ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cf9190610eca565b6104ec576040516365f9c9cb60e11b815260040160405180910390fd5b61045f8282610b6d565b600033816105048286610720565b9050838110156105695760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61039f828686840361074b565b6000336102d38185856108ea565b600054610100900460ff16158080156105a45750600054600160ff909116105b806105be5750303b1580156105be575060005460ff166001145b6106215760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610560565b6000805460ff191660011790558015610644576000805461ff0019166101001790555b6001600160a01b03821661066b5760405163862a606760e01b815260040160405180910390fd5b6106bc604051806040016040528060058152602001640caf48aa8960db1b815250604051806040016040528060128152602001710a4cadcf4de40a4cae6e8c2d6cac8408aa8960731b815250610caa565b606580546001600160a01b0319166001600160a01b038416179055801561045f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6001600160a01b0383166107ad5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610560565b6001600160a01b03821661080e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610560565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600061087c8484610720565b905060001981146108e457818110156108d75760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610560565b6108e4848484840361074b565b50505050565b6001600160a01b03831661094e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610560565b6001600160a01b0382166109b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610560565b6109bb838383610cdb565b6001600160a01b03831660009081526033602052604090205481811015610a335760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610560565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a939086815260200190565b60405180910390a36108e4565b6001600160a01b038216610af65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610560565b610b0260008383610cdb565b8060356000828254610b149190610ee7565b90915550506001600160a01b0382166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216610bcd5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610560565b610bd982600083610cdb565b6001600160a01b03821660009081526033602052604090205481811015610c4d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610560565b6001600160a01b03831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610863565b505050565b600054610100900460ff16610cd15760405162461bcd60e51b815260040161056090610f08565b61045f8282610d2f565b606554600160a01b900460ff16610cf157505050565b6001600160a01b03831615801590610d1157506001600160a01b03821615155b15610ca55760405163ab35696f60e01b815260040160405180910390fd5b600054610100900460ff16610d565760405162461bcd60e51b815260040161056090610f08565b6036610d628382610ff1565b506037610ca58282610ff1565b600060208083528351808285015260005b81811015610d9c57858101830151858201604001528201610d80565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610dd257600080fd5b50565b60008060408385031215610de857600080fd5b8235610df381610dbd565b946020939093013593505050565b8015158114610dd257600080fd5b600060208284031215610e2157600080fd5b8135610e2c81610e01565b9392505050565b600080600060608486031215610e4857600080fd5b8335610e5381610dbd565b92506020840135610e6381610dbd565b929592945050506040919091013590565b600060208284031215610e8657600080fd5b8135610e2c81610dbd565b60008060408385031215610ea457600080fd5b8235610eaf81610dbd565b91506020830135610ebf81610dbd565b809150509250929050565b600060208284031215610edc57600080fd5b8151610e2c81610e01565b808201808211156102d957634e487b7160e01b600052601160045260246000fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680610f7d57607f821691505b602082108103610f9d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610ca557600081815260208120601f850160051c81016020861015610fca5750805b601f850160051c820191505b81811015610fe957828155600101610fd6565b505050505050565b815167ffffffffffffffff81111561100b5761100b610f53565b61101f816110198454610f69565b84610fa3565b602080601f831160018114611054576000841561103c5750858301515b600019600386901b1c1916600185901b178555610fe9565b600085815260208120601f198616915b8281101561108357888601518255948401946001909101908401611064565b50858210156110a15787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fea264697066735822122001bd67bf6eca0de3ced1c2dc7928fe609dd005f4295205a4fe8285f40ed4d0f764736f6c63430008130033005821032821f182a3423a64b24bbd7e9f2087d86b589a78214e5b79132284e1ba5c2c704ad3c21bcecceda10000000058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041ff020505581e038bf326a8cd69b179f053da1e5ce887c7d6386555dbfb5bcc9ba21685c007011910e705581e036e95a919bf3565f910bc3132db4f23fae7a77a5f7f3cce83d36fce5450040105581e03637c277aabe1a5622ee9d1663481dc63c2fd1ddc1223bd64e9e223c5600c18304801653c644ace5eb803381f0348f39aa5f970fca2bfc614aa86904b676cf93f987001d5c1ab6b44667103b184ddf07b2831e5b7fe27aa9ee8a2606376627a4a8632a3b28bf7867d0b63e205581e03c34d9e69990fe344bbcf953765e3b42c3dddc57ef77678378307f3794007011bffffffffffffffff05581e03e860baa49aac28ccd74c5f7a2c193a17d19d383a08ac822bd18d61dc40040103409eb389b5043ee7a990137e2eab90600ff766e91328448a039c9484969172890219ebff0355e35cfb8cd50ce692a0d76530e8923252064c186cf4f5b7e4961217c1d46f4c03c65c22796581905843a0acc1ca5ba4f56ff3fc0a1ea594fab3eaba206cf4f76b0362092f811919a5b7409c2aa404978d41ecc5b3d0cf1b797d11154f00a157048b03b3970eb66fa07619eeadf0694e0d85dca01fce0a10dca42ce4dd06b9168998aa03c965fd66f6dee352898b118f1b4282acb4fb8d681e5d52bb21bf36882ba1f2f403bf6b1be73731471823f86afc32e8146d035e2d7acc2de83ed8ab52b24acf09610378881968913b55ad4ef35fd27f2a721a78c9e3aca10950cb60fe84a1aed1937a03c554b4833fd914429bd671c420918c87d524d87de055375348e5fb0baca11e51036e552eadafcc6f7de1e2453bb5baece97649c545d82d35f199a4281b79efa5210219ffff03767d30d3481304eb63df16f94fb036f3dcb7c441011458dd3b89ab46dc8974fc03f5c0a04211c4727d9d6d7bb23e37e4bb8ebfdfd335e6382f144a0cfddc5e014503a560d885c7982744c5b134a0b43291e1b082d1e98c9a2ec609328852dc0b2d37033de4fae47530dfac2a197a6764d421943f686e5444f87a498a97c8a8cb6a5cc5034b6fccff7e485997f4afe286c213e56985bd3a89109b978a7fca1b9662d47a7103f35d35ef68fc46e2c85ba9bfef26113582c39b3036964caa69efaecbaaa1a510033f62343081247c4dcf4fa3fd53bb3f21e9c00c35ea122182ce19dc254f097aad031526e76eca775b0dfb5d8e8172faf78d80580800fb94308d5ddf1e72757980b1030171ccb23fc1fce948d2fa718406a4bd80df4117bba2d7fde6f8aca3e7b6d1a803fddc65b77afabaaf35126a7e90ceee897d4adaf1bc9668acd8b3456b84e9979603648d0a21173149992bee32b20a1c5515972dfec1ed4657be7f43c34015faa07d03899e4040afb357d710c8d7a5d3477aba89966629f1ad344991d1999dc9bfebd303cd98e395338ad71908c05760b92cba688259679dc3e548a8cd6fd8234af312e10219ffff03e5ed110ce7e947eb84357a8056568f57a10eae9bcb4c2e655de4b8e71b36e0cd037f59895f512655a4831ccc4a5d35fa89fa51659e2996f632ddcc6dec5b1a8a42030cd2987c923199a7c9e781e200826502e60f0a72ab6b890f49baf16997ef37b203b66f29a4d97b1c03de51a2111cd6ab5a153f3a5e64365f232ca70b7c143856ba030da46b7bf66ef0b37be9b8c216fcbb749c796c93f187d43a3ac772cb40d6666103dc2b066828dce0661e7d04966e0189d17c3fd99da8b8fc786d6b61bc2ed456e203a776629da43837ed79eaf5be417e28b6dc93cf92c2df4b77681f7da1b28882e103d1d7f4ec0fb82bf2984adf9b756f966316c0e9daff146b3053ed4164e253772a03bdc82794316e3fc751ff8aa766dd8a91340af8c2133b8ab91b06b6164cc1be0803694eaf9228cad81476174f6eb0413143dfdfb3b25f69930b06228565d4d5ef52039586efb7a8f3ce6932a1ae4bc00e4c56043da6a59be8764521014c9debbdb5e1038368c7fe88dcb93b6951ab6986f60d0c959126b1edc9179560f1c2228234881c0219ffff038a2447300b5b671a13d39d2a887dc53842e8cb9f6ab3df5848a56d5a13570131038a7115aae0026e10d9225cf165d577c7522c4f07c4f38cac2f675a6596052c1c0333f0d08533e0779f43bbec48cd9ed66fa6d88a913922e105f35957e9bfbd9b1d032c8824204eb2d8611bc4c5af1b02fd9e86b75b9adae5c610738a75466b24394e03ff1bf828156eb12e1a1d8f16f2a9302fa2b352568633d7e40760817ee52a6c0403a9b791076901b040f4ec3ace6d82b96fcea8507161c11aee29f4655212c9e6c603e8a2f5963021ff07c120412abdee8c223cde597f7bd778243e3afd921532dec20334293e5da73d2b83e8e4ec4a348820f2fec08ea058ec2a7b6e086b1e4aa65eb3038daa952834bcd494340ee8d76cd61395983f242cc24bcf24132e9800cbb0e1150219ffff03e0d4d3f033eda52dc197ad7970ebff3a11b98c7ec6cc1a4156a32fb83170af2a03ed645d71b41c1b8094fe0a85d6cb5f8d18437a4b1c5bcec70a644b4d0ddf688103a30e56d5f1dc9b37851afb73140fa91dec17de4281e76f6ad599cd4cfada852303d9019acf1eacfa3a3946961d1677c048834996961e3431f92f9f419a1599bb5603f23f7cf50618f9712658205245ac80a99e991b10cbeefe4884b635c3a0ff7ec9031890bf07aac45465d3ca289413ad3309a9cc33bbc58d36cea202b6fe8b4de4d5032a83f57ab781825c265f74afe0c63f61f592539d2a7313e358a1fe53bf7c6e2603648833a598d07ce418c80e2a6f9f7be2fa49511e309f1eb6336289a762fdd93403cde15048651de04481a078b656cf96a85b9fd0bd2cb1660bee55706443fe3951031f78b8914b7feb50f9db222496a0e126a5914e16fcf3df89cfce7e3eb390dd53030f17df5b4be5866869f64bf2a64b7fb0e239d79692f29e1008f1cc9ee70a8ed303b442f72ce03e0000dbbd13702255612c30510a19778a55ce94804fd5fe0adda903b33064e0f77451b6a31214b09e63168125601cedda6fc96fe0fa6a40e61247b103d3894bdf680ca646ffa05c8bf65b30bd3f09afc4235c56f05b3ea809184248fc034374cc741c774a18d492265902c147d3c16f77736dd1432be207ad433c93f37d03d93c4102fdfccbd6fc1011c105a36a37946c478e33736dd7cf8279aae62d299d03c70735ee98a11db7a708d70dea83dfcb1ba7355d867f776768d01823d9afc4e5038002b81ccfe6a59dafc9406712a94e9063b1a39f573404eaae805047fd74d227032d5da35b7b9dd1bb84e03574a2f578774c5608b60b2bfbfc98cd2aaf1f55263e0389fc9a11d472bf3cb33bc42d2285d396eb85a26186a01305abc84730e4b7e8a2036190e35d23e38d9ed39dd64d629794c12cf9978508d99f50f29d2abd9dde2c0c030e9ad189983baadb5362ce2a10a48af1efa6c686c366e637f5f051261ebb53b20389d38da5bb93f0ad6cf30717227c3820811111aabf8021a63bccdaf3fc9d2e6c05581e03eebe604e9b7a06a5d78042641ad12d5d585e0c7a697db3efc57703d2b00c01470972b30b89474005581e0385235daffb5d569938279545fa01cea8681f6d4d0195f289a11d44b4b00c0346972bad3e38a005581e03a8bb4f644da35a16fd5ef83e917045802ab068343b2936c2753a9210200c19b7f648b545c50ef6a5b43905581e03498e2e6228d0b94cfbf6ef7f665401ec81476f07764d3a16376d7e26700c02471117c360adbfee05581e034b3e305263ec67f1fd91aeac5d0a4620f67a83c2c7b1b0bd8afdbc23b004181b0332cb8015bd3d27ce1530b4c5445fc308431d45337975c2e9815373ca51789eac05581e031040afac6db6e12b8b8b35ac44b1cf92cf0565f0193a2671d7d9f62c20040105581e037e72e5addf02c1ca9034b635ced7449a6ca5916db4708424cee5980e00084707f2af671b1000031f826152109fbaa68c66d186ef95737772f35f7dc058fc6dca09b0498ef1f19805581e03f37c1b07232d34b9cadca095b24d3ed6e51fd37ee363e6edeb763d7cc0040102199bed0383781860f02c07a55e598ca24ee61052428d1f34ed1b7cff97789987d1f45f3d03a813f3ea863854c4541a78543e50bf07418572c156d6ee4abd30397081ac162d03a9c78eac6d0bd00d23db27e8a970c66d6b86530774528254bdf3f1ad1ca4816803b0d829d8c9fcfdd7dba91ee13b94764abcd1e592d38fe11124b0b42d26ebd17d035baa5f95e88935fd881062ce642aa0f817d978dfe749fa2e77184e68051ad702037d25532a9b132e4aec0944b45fb9df886d4d1e724fb877513460f997423130cf0219ffff03ece2b0a392d15f3a260bfe5ee7d75666ac88e46e8b92eae384120430567150c803e7802cd11243e127177bd8adb8fa75dc38e32fa5bea46ce77182afe95477056903dd2fa5a91412353de124fe84e05824074686faff61723c120dc52b4b568a7b0403d89fba6c1152b1cb585431f460c54263b09350fc704bc2d61d796175c3891b9b03a93526206ff76240842ecd5bed50f4c4e38fdc8c39cc0c2a9039ec1c9f2c1939035863b183c6bcb9d099d68b81f71b9c1b5ac41d83beeb494fee6a6aa053032b86031260a6f25b1d57c99d2e43835c1b477d530d5ce51552ec957aa09f02f8640bf103d1d4f60be0f10c26e3f4749bca41d5b4c2ce4e4b849e8084f7574f03ed6f64f2034ced31a7b7ded0be8ddb657e7cb0d344145daca20c3bc24835d34b865289f31003f41e9c2a75316d951fd95379f7fdd5370cf51b99f02dd4ec0538176fa90ebae203f13280e7a5b2bf815b57a50e905b5be0f19b0961104c801923da037c58d672c60362cae2296aaa83bfb3c2812f4a375eb801b5202617098a40445ad6a301dc5b660219ffff032dddd84c2c6ae08124d6887791642b623c48a615a790ea730f2a54f0c2137828032f27dc91d1909020a8d2f1e49ac2318be9372f848b6c7d7a590937f7ae241cc703da0986568b72a533014d2e16b73665e42ef6a9bf6235eccd1a4664f728d2f7d40334f99e2aa1b106fb997cc88f0929ca8166d47b220a50f9025966b5a018706725038bac1b75359e9891e6bf316e9e049c86c6ce38b01ba61296032c4d33074d1c0d0219ffff03ee0ea857108990955def5e5b7a926ab8493a7b97be962a274641b986639cb21703febf8fdb40149a9af0bd605cb47ab2ff55237e6bf2e9ad4f9702f746210630590382432b49e47b37ae4de066e59028f6208d8604e4897f3aca03045cd775c71a9a0316cf610745eee2369147b74ca3ba7f47f3cf77c441440c96cc71fff6e2c8737103469a8de2216658e2cb16eed376a22224225c696ca24b5d5ed98317d037262361037cdcdbd4773dc5fbd4e34b2cc217ee0f02cf7729f94e4dfd2893b7d4d085c35603257bd97d6269a234e017e38096db072c08c76b3c9f8bd0f0caf9caf41bcd000a03cd9b41ba78941e6273b75b4d33c5b2b72bfee9a3d065b1f2b9d223c335725df403939611a25edaa43f194fba899a2afde687cba1a84183f2b0080969ed5ca974c403768b933eb6622fd6e321c595f14f07517f2e0be37cb51a00f635b95b25e7d9380321c85d47b4ad8387c9739a04301d2807630e4eea056e7c32089763887b0167940397712ba5aabec921daffb3eeb842c40fb162917b794ea408a0ac08153d98f75d03ed808e094d985193c445792ac84cbd03997dafe89e33ac860f94290984c2595b0383b57757c35110d96a6aacbaf0ceff982551ddfe3f87e731a9637b35efa9cb7503df26be44e95dc07019d030a13ef1e23cd5cf75a79e3b753de161a324583d095e033bdd25bd0e3b102202437067788a15f0f87c30139f42d26b291f218b48da95c9032297400d9a3da70e5a36d31a8c95ff779ad28a440b89162e1b98b58e78c9d4ab03266a7d9aa6ca35e1146e4ea01c537cd48035d4258f5651fbee6a0cb215468248039199742c58d6dd87870a28f15bc1f35f8d8a418ad317bdf696e9830bb18d1cd10308642edae336b116facc963329576eb8513fb0bf5ccfd1bb9edc701864b16ebb03ed4f513ed4e57d51e15198e7330d12dd32b7917fc2785ebcd7f6e2f372b5d0d3032396b7230408d39171d5f6baf1171a2dfac6cc5cebd7d30510f5ee097b6500870345cf429cb8f3c34ce4732442046e299a414f77c1998538128127b344b96929ed03a3a24884f51febc0d718f1f0e54d8ae4028257f69f5b27ddbf50d4f7d92d1ae3036019c1a497227a9d0e4f44733cf2ca082e99adcf8844123c306a48c6eb77698503c606494bc6a86fc31d85a56a1e9bc802786646e5531fd81225eae1ba9ca3a1da037096a212b6e395f0fa179ee72ae9ef608fbd35d7ae40dc21b401048409931c4005581e033ef8ff5f87c62be7e34e67d275497aa5e61dc8eb50ca3e4668a334e420040303617ef323888750cdc9482dbbd11c6bcc682c48141b617cb9a4ab735265153c3f05581e037811ee80178e89d557d0c38c7e007bcc13f1ec8433cdbcddf5fe3840f00c1837470545594e5bdf7805581e035c9d2a71d3c99bc4eb7023c018160bc7bb9823bc2159b5f1004c12eb800c0847099e96c652e4000347d1a664c21741862126785b66dea651da83519ef4c1f918d3252cf6d0de448705581e033ea70fec1b1dc4e4f469b2cb56681dc1bafc19836d2d61f27b7a7f79200c18204732d64b3b1f8aa5030bbd7410b378afaa40c47a59c1fd2623fc62f2fa2fadff6bc32544894b9d37960219a723033f824c50c7de727d11f46eca7d2cb909eb3f34ab6bd388eb5b123a35de05e78603f0829bc2772125d41c4c4383dc2b084f662ef00d710d60a8ef0a3e43382378bd03e64b4edf85972ec0d608e1f03ebc1e64680ec9a6ea28200b906ae5a5bd29dfe90334f2ded6e064867c96bdd4f3868f30f60365bf1e99da3188c73d78db1d25d9c503dadf54e79a9e64924a9658ed66f64ae62eee669bed895c73d47a98011387eab50219ffff0343a4eae13a905dbc959ca109e6b857cd124025e3b4025b063bfd4aa3e6dadeaa03551ce6a80e2fde736837354987c0782a494b0be2fb305361fa5189148f28df120219ffff03ea3de4f1168fb2bcc4d0a2afbb8f65b232e69a2bcdca4b5b84893952ab15a82103fa533e2c3238151bc29684e1964415b3b056458fdcdab81ef7fc013381c89e850302a5490e72b4d5f496a3d4b99f25a7a32d0502f9e3eb3c29c8dac1435147d5bd03c0b5dd316ad5975eba9e1663824f568774a76db2718d6b1ec2cc44f618446724039486db4538e5ea3d90ca75437a4177c4393c4bdb76585ee3a3169cba3043968f030325f8964d5343ba6f2f3d981bd78f88034b727fbb5bef8cf8c7da406f3771d303c035b7b2e319c01f08386541c5b58be9268159432c1fe7e68a8a8dbdc4f98d3003b269e2772105f86e82178ef47064b3f9763d9e4adb92678081f86b9399c276b703392643f861a33445d7fec5b7216f65cffe81ef7494642d7968ddbd3e891872d2030307d76983065b606ce8b582fccabcb360206037b5c398c06db0c3305e7cdd4b03298ad77e8d2561b5b34a39873c6e0db3e80644e520c1f83580796bfb3f3041e3036c2d979036ddcfb89d4ae1ef9c2fd49707fd4da7dd87b18b15bf775e22422e3503672b3af816cb6ff669c018a5ff8832a71f8eb94c16a07a4750b2efd32ad6aa580219ffff039eff5e1b8639a9165b4112c9746a16684388f95d6b4e700c47fbe0fb7b38ee10039fb62b2c9b1428a4116dad22501696cf21798ad00acb8faa5d0c8f842740b54c03779060b133fe2cd9b92368eabc2f9bd3e3ea711d5c674f4d2218f809174d37a103ccd74490c17cf5c2288c419e4107f44d80e3820337614eb170f0ad20791d8dcd03900935a2530b009c8912596b2a69dbe64fadaf89e0d17f541e81c3e857b89f6f03d5e2666b660cf8a98e2683956049a96fa23ed4af5f7316fbc2311ea15ab23d24032cec2a097ad2c1d554bdde967ed1f97ae50ed2832246552abeb0ddd6265acf23032f84306f53ec479ab5bdc6dff102aa058d043fc6358b9cd5ba7929885df96bab03f7c24b6f984aecfb97a29345e877e165cb9af3bed656320f48ecf4a71049f9fa0324f4879890454ec499830fafb6abfd8e8713ae73569b121d66bc39ec2a570a59032a911c3b3f87f69d05919e6dea1acf398ae8db2a160ac5fbef2e76ea70e406ba0301ade9aab922d4e2defc04ba5157abca6609a21318c894b7e3e4b64f4c56c179036778d197fd9802461f50b47e121778af73630a73c3a393001ec1c6e5a10f47760219ffff03b97bbf029539ea9422114ae3166b70a8a5cb015a9cba2416b128c029fc2ac74a03262defbf312488bf6daa3a5a79ea32489b78f6a573f103e8fe26aa38d65f9366037ed5a3bee315350b581e6fa407a86d2d7c4e8ee8351b355a7aa5551338f06f0a03d202eb45db8504d1ba09da961214923365529629d362d8fa71b620c3d2e519fb035892aca81fef71c35cf70b72e499069fc80ae13f04a344400a893d8270197bdb03d97b1f911f93923ad2a5d4836d0de6c6f10d89952401e28a27be177efdcc5cf4031cb81cc157e74cfbfcebf024f52075edbe4798ab073f3afce74324b8fd2f32c0037aed68e9f321d35418e68e99e5d9bbe465935fd2e842ecc3d07df22ff461b69e03db2f7338bceb1d9facf8e14e9023471befd8ff3a4fac6b0478b39333a48470530392564ecf9f4a648c483b98a9fde64476ca1bc98d775d5e4c07cf84879c5f7f6503e4155695f1910d47d9295a7c5f0aa6f3ee1b9414c863ed9425e3a0a5b0dba85c034fccefb899a62d66097985d662fec578ebf0fe63b84b53f5c704c84a2501a502039659b74decac172c997bc24caf86d908f585e68ff763c8e036e04de5e1c4b233031b4c8470e6b63878d2614aa67d57e43cf6583c261ae3559586ccb9402f905a9203fbeeaa581e1236d918c0766d3fec6d5fcc3e641e35111739086658369e8f0f3403c84fb623f04baf0cff7be88bb0b44c3ed861e41290feda379252e7c895a7c61b03cbc5eb935749906567ff7f1357af444c711ac03086733cff48311c4881fb29e203810c4610227ebf4b88696839d5f5d91d0ef26878b7ae921ff5a88229b9a514600305aeebc3873c1e1541697e432d4e24c24f580b7fef8c8d37ee51dab553c3d689034f7590ce4398745c7eccc7538eed58b5ea3c442b1f9ebb2d974d8d802a09e320035f2c8a4a65e336b710399afca68d5055115df6a98ba8e88b209ffd837e171f110390a4a050cf3775d68c7bd76292614ff56a052d73cf721f0544218734e855bb0c03e9cb06e26d3d8996437c423f12b7c1171f95781cef2026e9d7c3df7fba895d54034cf1ad885fc43cb73cd8e070c5010b894fa5cf2dd2961d6316a5e0ebb8aabfff035a297302db5cc1b255b84a2917535ea8d03803d942bbfed3ba5d1b169d03622903c3be4a44cbf523934b6b40239429d8b8a6127ba10c11ed64a637dba19a083645037bf4652caddeb995b7d25ac5f180c3d771a403a1569442a75979185f7939afe005581d02b5878d4468e0d30b48520237851bef6d47d04be6b728ff57ae0725bf0c01467c782599b4b0045901c4608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ad9c499b14610030575b600080fd5b61004361003e3660046100a8565b610055565b60405190815260200160405180910390f35b60008463ffffffff1684101561006d57506000610070565b50815b95945050505050565b803563ffffffff8116811461008d57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a086880312156100c057600080fd5b6100c986610079565b94506100d760208701610079565b93506040860135925060608601359150608086013567ffffffffffffffff8082111561010257600080fd5b818801915088601f83011261011657600080fd5b81358181111561012857610128610092565b604051601f8201601f19908116603f0116810190838211818310171561015057610150610092565b816040528281528b602084870101111561016957600080fd5b826020860160208301376000602084830101528095505050505050929550929590935056fea2646970667358221220f51cd65a3beab5706ff42e6a105bebca8f488cdb547ae6bce2b1aff11fe515e664736f6c634300080b00330605581d0271ee0ece47d8f674fae78a906721de9bd6e3e242d07fba7e0b54abc807011901c402184805581e03d2cc82519c496bf60483e6780cfd83ea997d81661f33abc06eaa6301e0040305581e03cfa56091da11f6368b877c81e1ba349672cf840258f2f3eda3f2a4e330040605581e037f6ddb21f89cc319062bfb5322f214e4c769c640599c8c3acdf7f36c500c0246376f4ce21b00036c2146f0d2c75c40a434638129dd46c09b8fc9c80a56711dc7794397de264b190387ec71ad35a5d5b3b6db0e661f16cff5c422add309e678ba1704c2b3c9e2b24c05581e034e41ef1f854c2534cfa6e930b7fcccd2fc272d3f4c7cfbc8bdd05e6bc00c02470203f727070c00021998d403f4fe02086409d903a064072f831296a31df9af17c557d97fcd1c074373374f6e030a5f3e770e983659c06333838bb7e29331525c81070df6d3e411dbac47030af5031bd99a8460929d0696c7735623e4ad57a06392964177eb38fff099bbebdb95ac0394311b85a1d212cd390e98af65a033b584ef702920692b9f154d1f9fa274978d03ba045aa3741951ffeff07eba27dee5161b916d6088d55ce03c62b51d89d5f8f903a6481c68b1e180d52aaa167f1b1eba5bda0ba51c02f3eb778fc6bc08b0e6b68b0319b7107d874d5504e157e70a76ea441155bfd836841178318ed0b96a99cb197303b36d781243a63f5a80f0c39318b9634d78c958161b6792868caa01863baf94860219ffff036a5906ae8cdfe4ed83aaa2b66720055fd62daa692898908e8a3a45be70210d23031b2457fc7a2f3846376ab6efe6f4935e069933e51d718beffa1fbc732b2be93403f298e899e0274fc59bfbd17f44025ba50e0bc423dcc1cf9fb78027820f8ee60703fa92eb2a38ba0af2c1f24c48e978e59280a0cb75985faf0c40ae7e3b31cde10e03f1eea04c153a31b6a70c66233d10cc20f25492534aff8123dd8b9377076b6396036e017cfbd96cf290d37105f9eb2cb8476904143236fbcf2f2baf50c4e4700e1103165690c7e24080ec39e5d125976afa44b8f4f3e3c11ba6c13c3d43089b0cc5c90381a1aa184d876c3b812722f557373c5545938698295a29fd0036a9e71669e243036c4bcc888c02d9b54c0850be986701e1263515d2d7d04f0f22cf96566d8e528f03e13c35297b0eaea4c25f7d40e28da58fa0ff5ddcb10d44715eb7cb0f348f5512039a40f6d50bc142c539643c54ac5118d5b5558f352fee5db12518267e43db2d59038a946afef704866aa219f0f5f1da1ac7cafa391ab53c6d40f8ad4fc61f1b5733037a58ef3e86e03d0e0775f7352ae36ddbbcc73da05bc815bc5786914a40666a850219ffff03148bfd7f625ec7db72cab049d8ae76b850d2b57e2d15a955ef3412f31edfc90c03004e11c466b08a311d3d1eb17246c58403b0a020424ebd15c791e7a77078f7630300dabdc62dd4b798b7105c487c8bec0eee3ef6bee02e67096142dd62745949af03d6861291657c79e33311843cbe2d4788a338cf2f3e1c9c963fb0800627bc4703034cac072c419e2f5382deefd286e6e90fe09d541ecb2af809e88328bf0bce289d03b5b3e0ecb56b65b7787b0938b2d0a3a67910246237249443406c984f8e4df911034381c9f42cfc0d21848ebf99a7f52c5443035445d7405fef22c95f6937bc4fe10219ffff03d51727ec69a1b4fa7f1d295c350041bbaa28353dee55976348faed206c478fef0319acf7a6ca38aa0192bb8cfddf4fae3d85c84f06c1ec5e4e4a9bdec13cce497903ee7568fb36b6be732d17f5ab333a6360e72cb575cfb46bea39810b36db21ca520308a7644a6ecde4971c4c646ed88ed204a6884c2a4c7eca605b910b6917d53ce203a9d69a34bd553d8ca976de1d0a4c7b541cf9d159a10c0deaeb808f1d0afa61a803926ce77e7fd2a60e2cb633a8d86de5d8883ab3eda7b2973d8a65380a6027acad03a9f55fa1401ef341830cd667acb4b087cf59291605ca1114682220f05e25a84f03c330916de2c6c32684aed53bcfe7836fb94a9592926d3739f397990932cfa9410313385b18c53cf32e7ad6222e13fc7b51bbe9611f02a9d995a66f9191313834b50378c592b8278ad4128a492dff2c73fa9f70108077944142cc567b30032fd2bf6703887ec2e64e7db1c760ce2915ebb2c47599bc7add3b2f31fce98c4389f1ff92b1039d7abe84584a514ba53b1d5b886f19a00529ae16eada95c2d26fe8de1e21f8ea033c30aca34f51dfa8b7985864d0c8043cc6d954b27142a5aea12a196c748720540398dd11fd9faf47453ace3473bd473d905b296e5e57007af45a835e144bd4c21d03eeb6c41df55863d505fa3409afc3fde865e93d0b5050d352ce61ed32119e9ad0036cf3304d2ce28aada8ef00727eb7fbaa2cc1dc6a0c08d19d572e2e60d8c70cb7034e7c46ed3cc4c0707d78698428d20abc5d00c52268512cbea0f0f62222894bf60389f0ca1f3bf143b3111657c7c4ba88af4207fa63947c08a4bff0b542730d7cc103b246ca0e2babdf3cbba9cfdb9c2e17537446d5e5910359f89ac8b062db71406c03c640f31b413a87aa923521c3b5c6fa7789dfc4a40b706ad9e1574bd0b6ab3d8b03a1eb59dd397a3950bcb0965d42f04edee22c2a2d2e2a78b3357255194d8466ff037c7292f6a8a1844025775b294cfcb45a666891c13c5a9b5e916d0974ed5ff4de037bf0e9b085e5f7f91eacd965191b548bc134e76ece154c4923d864c6aadaedb70338cc65fdbc9dfae37d2d49bc16a216dde28987c3853be007f3e361be937b63060315ca6b5f0e2c889d2cf077701badf4015cdec9726942cc3b021425869ba83f9a03191cd11eeb901b40a8b7ebc35b386ef404670731d2f234d1e1e5ef8a43f0de1d0307c3c4bbdf985d123948371a64280914fce7ebde0af662316cebd23789e55b0e03526f2989eef6437d75931b8ed3d1340f9fb3b592905a83b564f35fba6356d3700366d67ca439436ee685b1f338f4e9d80fd212a05e9e1ac94267db1e9ff7786017038951f1601456cc251e3c463742a20708623d2dac038ab812bfc3ff0acbf4670e03405afa99df942510e86f6152dae03b941641bf6cca7ceccee85c10ce124b202d033d2ee9c6caf96804a48614e0db2ef373367da4b9df08eda712852ea5968ebf2603a964e23d0eaec7e9931acfb2f35a7d4482b2bab7a4fa7c2762ba561953904e6e0340e4b2d501f785644449feb07e97b16a010979a0604b74f5af03af8a0c41a58a03277b3f0812ac5b4c510f85e7a0b6e4fcb987de903aeb2cbeb784cb10a58468c903e9b6df84f706d2f884c69ebae0562e29406677de6b6ac53d75bb987392abb03f03cd3deb219f3147b0612ee0bc4a2693c4e1b6a78f3c5d712e95fec6e2f459acf90459269d6080604052600436106100705760003560e01c80636c0960f91161004e5780636c0960f914610120578063b473318e14610142578063e4948f4314610170578063eb6724191461019057600080fd5b8063042901c71461007557806317d7de7c146100aa578063263b7f8e14610100575b600080fd5b34801561008157600080fd5b50610095610090366004611c0f565b6101a3565b60405190151581526020015b60405180910390f35b3480156100b657600080fd5b506100f36040518060400160405280600c81526020017f4d61696c626f784661636574000000000000000000000000000000000000000081525081565b6040516100a19190611d06565b34801561010c57600080fd5b5061009561011b366004611e07565b610222565b34801561012c57600080fd5b5061014061013b366004611f45565b61023b565b005b34801561014e57600080fd5b5061016261015d366004611fd9565b610570565b6040519081526020016100a1565b34801561017c57600080fd5b5061009561018b366004612005565b610592565b61016261019e366004612134565b610636565b6000806040518060c00160405280600060ff1681526020016001151581526020018761ffff16815260200161800173ffffffffffffffffffffffffffffffffffffffff1681526020018a8152602001846001811115610204576102046121e1565b9052905061021588888388886107bd565b9998505050505050505050565b600061023186868686866107bd565b9695505050505050565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf454600181146102cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f723100000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60027f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4556000888152601d602090815260408083208a845290915290205460ff1615610374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f6a6a00000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b600060405180606001604052808861ffff16815260200161800a73ffffffffffffffffffffffffffffffffffffffff16815260200187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525050604080516020601f8b018190048102820181019092528981529394509092839250610426918a908a90819084018382808284376000920191909152506109c492505050565b9150915060006104398c8c868a8a610592565b9050806104a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f706900000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b60008c8152601d602090815260408083208e8452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556104ee8383610aff565b8273ffffffffffffffffffffffffffffffffffffffff167f26464d64ddb13f6d187de632d165bd1065382ec0b66c25c648957116e7bc25c88360405161053691815260200190565b60405180910390a25050505060017f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4555050505050505050565b60008061057d8584610b79565b9050610589848261223f565b95945050505050565b6000610231868661062f876040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c081018252600081526001602080830191909152835161ffff168284015261800860608301528381015173ffffffffffffffffffffffffffffffffffffffff1660808301529290910151805192019190912060a082015290565b86866107bd565b7f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf454600090600181146106c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f723100000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b60027f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4553332811461070a575033731111000000000000000000000000000000001111015b6103208714610775576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f717000000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b610789818d8d8d8d8d8d8d8d60008e610d06565b60017f8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4559c9b505050505050505050505050565b600b5460009086111561082c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f787800000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b8351602080860151604080880151606089015160808a015160a08b015193516000976108f597909695910160f896871b7fff0000000000000000000000000000000000000000000000000000000000000016815294151590951b600185015260f09290921b7fffff00000000000000000000000000000000000000000000000000000000000016600284015260601b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660048301526018820152603881019190915260580190565b6040516020818303038152906040528051906020012090507f72abee45b59e344af8a6e520241c4744aff26ed411f4c4b00f8af09adada43ba60001b8103610999576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f747700000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b60006109a785858985611043565b6000898152600f6020526040902054149250505095945050505050565b600080603883511015610a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f706d00000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b600483810151907f6c0960f9000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1614610ae9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f697300000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b6014940193840151603490940151939492505050565b600080600080600085875af1905080610b74576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f707a00000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b505050565b6040805160c081019091526026805460009283929091829060ff166001811115610ba557610ba56121e1565b6001811115610bb657610bb66121e1565b8152905463ffffffff6101008204811660208401526501000000000082048116604084015269010000000000000000008204811660608401526d0100000000000000000000000000820416608083015267ffffffffffffffff710100000000000000000000000000000000009091041660a090910152905060008082516001811115610c4457610c446121e1565b03610c5757610c5485601161223f565b90505b600085836020015163ffffffff16610c6f919061223f565b90506000836040015163ffffffff1682610c899190612285565b610c939084612299565b90506000846060015163ffffffff1683610cad9190612285565b8560a0015167ffffffffffffffff16610cc69190612299565b90506000876001610cd78286612299565b610ce191906122ac565b610ceb9190612285565b9050610cf7828261121f565b96505050505050505b92915050565b60006020841115610d73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f756a00000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b6000610d7f8142612299565b601154909150610e27604051806101400160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff16815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b85610e3b57610e363a8a610b79565b610e3e565b60005b60c08201819052600090610e53908c9061223f565b9050610e5f8e82612299565b341015610ec8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f6d7600000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b50600073ffffffffffffffffffffffffffffffffffffffff861615610eed5785610eef565b8f5b905073ffffffffffffffffffffffffffffffffffffffff81163b15610f2557731111000000000000000000000000000000001111015b8f826000019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050828260200181815250508d8260400181815250508e826060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083826080019067ffffffffffffffff16908167ffffffffffffffff16815250508a8260a0018181525050898260e001818152505034826101000181815250508082610120019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061102e828e8e8c8c611237565b9450505050509b9a5050505050505050505050565b600083806110ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f786300000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b6101008110611118576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f627400000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b6001811b8410611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f707800000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b8260005b828110156112145761119b6002876122bf565b156111d1576111cc8888838181106111b5576111b56122d3565b905060200201358360009182526020526040902090565b6111fd565b6111fd828989848181106111e7576111e76122d3565b9050602002013560009182526020526040902090565b915061120a600287612285565b9550600101611188565b509695505050505050565b600081831161122e5781611230565b825b9392505050565b600080611247878787878761136f565b905060008160405160200161125c919061246f565b604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152919052601a546026549192506112b791849184916d0100000000000000000000000000900463ffffffff166114d9565b8080519060200120925061131b60405180606001604052808581526020018a6080015167ffffffffffffffff168152602001600077ffffffffffffffffffffffffffffffffffffffffffffffff16815250600060100161165590919063ffffffff16565b7f4531cd5795773d7101c17bdeb9f5ab7f47d7056017506f937083be5d6e77a3828860200151848a6080015185898960405161135c969594939291906124cb565b60405180910390a1505095945050505050565b611377611b0b565b60405180610200016040528060ff8152602001876000015173ffffffffffffffffffffffffffffffffffffffff168152602001876060015173ffffffffffffffffffffffffffffffffffffffff1681526020018760a0015181526020018760e0015181526020018760c001518152602001600081526020016000815260200187602001518152602001876040015181526020016040518060800160405280896101000151815260200189610120015173ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815250815260200186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509385525050604080519283526020808401825284019290925250016114a985856116c9565b81526040805160008082526020808301845280850192909252825190815290810182529101529695505050505050565b60006114ea856060015185516117a3565b905082811115611556576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f756900000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b818560800151826115679190612285565b11156115cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f756b00000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b806115e68551876101a00151518860800151611824565b111561164e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f757000000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b5050505050565b6001808301546000818152602085815260409182902085518155908501519185015177ffffffffffffffffffffffffffffffffffffffffffffffff16680100000000000000000267ffffffffffffffff9092169190911790830155906116bc908290612299565b8360010181905550505050565b6060818067ffffffffffffffff8111156116e5576116e5611d19565b60405190808252806020026020018201604052801561170e578160200160208202803683370190505b50915060005b8181101561179b57600061177f868684818110611733576117336122d3565b905060200281019061174591906125cd565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118af92505050565b60018301602002850152506117948160010190565b9050611714565b505092915050565b6000806117af83611ab8565b90508084101561181b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f6d7900000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b90920392915050565b600062028cf56118416118396106788761223f565b610220611ad4565b61184b9082612299565b90506118596109a98561223f565b6118639082612299565b9050611872816202a5ac61121f565b9050600061188184605861223f565b90508361188f60408761223f565b611899919061223f565b6118a39082612299565b90506102318183612299565b6000602082516118bf91906122bf565b15611926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f707100000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b6000602083516119369190612285565b90506201000081106119a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f707000000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b6119af6002826122bf565b600114611a18576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f707300000000000000000000000000000000000000000000000000000000000060448201526064016102c3565b600283604051611a289190612632565b602060405180830381855afa158015611a45573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190611a68919061264e565b60e09190911b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff91909116177f01000000000000000000000000000000000000000000000000000000000000001792915050565b6127106000611ac883600a61223f565b9050611230828261121f565b60008215611b025781611ae86001856122ac565b611af29190612285565b611afd906001612299565b611230565b50600092915050565b60405180610200016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001611b65611b8e565b815260200160608152602001606081526020016060815260200160608152602001606081525090565b60405180608001604052806004906020820280368337509192915050565b803561ffff81168114611bbe57600080fd5b919050565b60008083601f840112611bd557600080fd5b50813567ffffffffffffffff811115611bed57600080fd5b6020830191508360208260051b8501011115611c0857600080fd5b9250929050565b600080600080600080600060c0888a031215611c2a57600080fd5b873596506020880135955060408801359450611c4860608901611bac565b9350608088013567ffffffffffffffff811115611c6457600080fd5b611c708a828b01611bc3565b90945092505060a088013560028110611c8857600080fd5b8091505092959891949750929550565b60005b83811015611cb3578181015183820152602001611c9b565b50506000910152565b60008151808452611cd4816020860160208601611c98565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006112306020830184611cbc565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611d6b57611d6b611d19565b60405290565b6040516060810167ffffffffffffffff81118282101715611d6b57611d6b611d19565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611ddb57611ddb611d19565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611bbe57600080fd5b6000806000806000858703610120811215611e2157600080fd5b863595506020870135945060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082011215611e5c57600080fd5b50611e65611d48565b604087013560ff81168114611e7957600080fd5b815260608701358015158114611e8e57600080fd5b6020820152611e9f60808801611bac565b6040820152611eb060a08801611de3565b606082015260c0870135608082015260e087013560a0820152925061010086013567ffffffffffffffff811115611ee657600080fd5b611ef288828901611bc3565b969995985093965092949392505050565b60008083601f840112611f1557600080fd5b50813567ffffffffffffffff811115611f2d57600080fd5b602083019150836020828501011115611c0857600080fd5b600080600080600080600060a0888a031215611f6057600080fd5b8735965060208801359550611f7760408901611bac565b9450606088013567ffffffffffffffff80821115611f9457600080fd5b611fa08b838c01611f03565b909650945060808a0135915080821115611fb957600080fd5b50611fc68a828b01611bc3565b989b979a50959850939692959293505050565b600080600060608486031215611fee57600080fd5b505081359360208301359350604090920135919050565b60008060008060006080868803121561201d57600080fd5b853594506020808701359450604087013567ffffffffffffffff8082111561204457600080fd5b908801906060828b03121561205857600080fd5b612060611d71565b61206983611bac565b8152612076848401611de3565b8482015260408301358281111561208c57600080fd5b8084019350508a601f8401126120a157600080fd5b8235828111156120b3576120b3611d19565b6120e3857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611d94565b8181528c868387010111156120f757600080fd5b818686018783013760009181019095015260408101939093529194506060880135918083111561212657600080fd5b5050611ef288828901611bc3565b600080600080600080600080600060e08a8c03121561215257600080fd5b61215b8a611de3565b985060208a0135975060408a013567ffffffffffffffff8082111561217f57600080fd5b61218b8d838e01611f03565b909950975060608c0135965060808c0135955060a08c01359150808211156121b257600080fd5b506121bf8c828d01611bc3565b90945092506121d2905060c08b01611de3565b90509295985092959850929598565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610d0057610d00612210565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261229457612294612256565b500490565b80820180821115610d0057610d00612210565b81810381811115610d0057610d00612210565b6000826122ce576122ce612256565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8060005b6004811015612325578151845260209384019390910190600101612306565b50505050565b600081518084526020808501945080840160005b8381101561235b5781518752958201959082019060010161233f565b509495945050505050565b6000610260825184526020830151602085015260408301516040850152606083015160608501526080830151608085015260a083015160a085015260c083015160c085015260e083015160e0850152610100808401518186015250610120808401518186015250610140808401516123e082870182612302565b50506101608301516101c082818701526123fc83870183611cbc565b925061018085015191506101e08684038188015261241a8484611cbc565b93506101a08601519250868403610200880152612437848461232b565b93508186015192508684036102208801526124528484611cbc565b935080860151925050508482036102408601526105898282611cbc565b6020815260006112306020830184612366565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b86815260006020878184015267ffffffffffffffff808816604085015260a060608501526124fc60a0850188612366565b8481036080860152858152828101600587901b820184018860005b898110156125ba577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18c360301811261257857600080fd5b8b0187810190358781111561258c57600080fd5b80360382131561259b57600080fd5b6125a6858284612482565b958901959450505090860190600101612517565b50909d9c50505050505050505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261260257600080fd5b83018035915067ffffffffffffffff82111561261d57600080fd5b602001915036819003821315611c0857600080fd5b60008251612644818460208701611c98565b9190910192915050565b60006020828403121561266057600080fd5b505191905056fea2646970667358221220ca6f67547e18cab9b8c065e411ae1697ecf3a4c3d7a884115ca34e5b8289f4f364736f6c634300081400330605581d02f6da61f3b4685a7de7446cb238912d5fb510b5cbee31bee3e1f4cba1070119269d05581d026e50e35a289767bfe5203364e337cf13718fa2859ed7261abe070926040d03446effc83a5c062fae4e244e10567ba2c9e28bc62c186116096de7ae79e49380034ebf60e22debe940f4a31bb59a7ad1f0d31d3aed30fb722e3599371bb31a292d05581d02e504c04ec77c74443122a3a30b96332516f0281cc3938fd5032dda5e07011bffffffffffffffff0219010605581e03723a5e1ae830a30ae6fcac18be8c13f4624c641abbe2988c0b985c06e0040903a0701c1155ebf5bd643b99d97beb959294f6a29a67cff6f3ce2a619f1f1e74260344d6ac717191d75240dccacb904dab88e1cc0e1a22c73455c75e571451913c8e05581e03cc3797c44889be552f813b8c0704014e6ac84515cd363be2d1c21c81600c02461ceaab5488e805581e038c9f6b58c0a30f4560f04837148821775811620340594a40e3a168ba600401036bdb63b9252b00f62d6856b16fb5029c73bf168869f6732e8e9506befaa8598105581e03e209f616c36135680b1ce3cb3ebd524be2942c3758839d31dd34f1d070040205581e032dc84951f7c88b1d3f64faefb0de4e50179bd4e23cad39bf4e8edba9600847051f6f3be2af8005581e0396c47c5a1e11e14470e74ad7af5d434527332c5015fad02803d11e8da00c02470609878c85aebb031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03f01f9384615ee29524aaa22e942597d9c18d2efca761954aa6445815b007011bffffffffffffffff02197d670219ffff0379b3cc7436c74243d4c9063defebb7635ec0581b64f2089278574e85be4991e90312756bec1cbd01983ea8e9773df763184e2ccbdd2d112c904792cc4686e1d20d03ef457eb5411ec0edee453c75ac842f1e690d078975cc48a34fa667b8a1ac04e40341ab6a0d379e983d92faedca0aac87021a1ff41a69fb7142c9748763c235d0520347d3eaa2230220c21c95a1953497cb4e782e096111f372c72d31528033d1ab7503b8529240cd6da8d5820f2cc5d773e0aef9e7bfe4781bbed8a2b34da6df82cdf9039b4cb2ba09354d01422713e122a4636c653e73750a3c817c36047fa2baa2cc760219ffff035922adec1c4202372fc645b728afb965bc9b6445ff77b6db88e3a6a01c61c8ed037ada47a9060230ce7390caa29bba0135bc26bd53f13ed07bbbb14c4094c1b0220219ffff03fb005753baded68d521e01833381785d71ac8145e70d647e1a26ff5a6aefb30a03437244e6a639e4e0999cdac3ed8081e4a8dbb0467cdfea7551674c4bb5eafedc0348699d6a625deea83bdc4bcb69051c34057ae5aef0b58de131de37e768cf974003dd1f2ddf02144432237dd659136c2fe8f0bb831983586b1d03849f1c95d356b30398dd12ce93e4079861e06f3df556239fc8ae158fecf3a6adeb75fe6f376d2b3303d49c1f1e1f17ece32a056dd152f856c140d8ccfc07a8a3db26906560a09af09f03fc485bdf2d00ed0856ce3d6a2880411dc9bc2b3f518493c327b0f64e339c291303c2efa022de0b2d5bdbec92024565a3a4603b7934da8c212d19cd1f998d5ede6a03007529b9fa78dac45d6e0363d8f6a2a83b6ce79ba6bc5f37036d05ebf442f0e303c819abb05ba2ed97b949d7f63055ab244c215deac4e417a5c573b2b99f61acd503854f2c77b40325277e48e838716867a39cdde2f526926822115b6f8931e388ca03f27b9bb24a2166d1ac049fae95ab12ea63f0d4f185c8d2f313770a7fae582b540348204e1c5ea2d54e70f10e23723c3657ee204d2afb571c1d8db81e0ca3fd4bf103fbcdd31f083f8e140517ccc7ad3dd8c719fe603658a4666dbf2cc77e0f366f790388f67eb3df8bd2309a963522559a261cffbc21c3b10e9b55f9238d8b68e844040355c8063e57e0255f8c798f96835462f5e7ec722a3aca754d687a60bcf82b7391030b853e576bd1663b44624311b228fd7916e5ef80a712da41498c6d7483b3906d031dcb2586017aa0286ece7175636b566b3cd538a0c9c3b584ad176b823cf2c953032eee266086b7d77f093ba25db91daa05a79940019f4a7c7713cdb917b746d275037845a2fe6781030ef71669d7b0f691a5f5cd52c6479c7fc000c5ae9994fc8b7a03eae243fafb9773ec8b91e3a6bdfbad965c7a311e70e732cf16a957aa2e27eceb03fa06c75865c78442cabdfb9aa69a61017ebae4d491d733c6163b1c1093f6404b036528032d86a95f7ff586092954f410312a707879daaa3e1c564bbf46ca83347303b181f60311b35c69764c0022548e05d59b2e51e67e05ead5f88a49b6c8d4804f034abd515f7847f8541b7851395f869f37ce28cec1cf095489bb6da277d1ee3b4203ad0330e41b9ba9f8b05e2eb317aa937dc2892a30d821eeb24758e234ce3a6a7403805765d238876ddf36b0fbc89ae1fe295cb5c558cfd980eda7d5ed75a41adb2903c7b416ccbf1e303c3566e129a154c59e3518ccc84ce2526eb7537cd59958ddac03abec1c397b4f2cb8fb49c99d67bb121e63fcc8351b6889909b114799e08b5f6d05581e032ea4d9051351de0232cd6629984e485447a20e04d7bdcaf85bbfa9eb500c0147235afddf08e200032834eb8d51b872aa004a5240ae62e3d8201b59b044b81cca3fae4f1970bce06005581e032a40af07cffc7bca79fef9059b89dd8e732e5c0cb6a1f8ee21637fc0500c05468f1d0da2a80505581e032b16fc163f15f04831e2a41e1cf43731691d0e29355905aa34b7cfaa10040105581e03f714dcbfd91f0b14e2330df2f8d9f04e4767ca9489d90bbf35e2aa8da00c1838480698caad55693ae005581e0317afe85a1954a1aae9b037021e0a66dc1eb91130b9447d86a8821248300c0146b5e620f78d0003234008b25360e06ecec3023b194efc00b77c4fa7705eec25359a3ee86807563705581e03ab919918adbe2490b8b8e82e7ada2b1dbb8103f1e4f06919a7f174e4600c0d4793cd45b930fb8c036b3f6f4eb386ba2f074b33510b08091332fd5d67839b049489305a3212ae27ba033accd35cd8115f1b88086ae4f08fba6820dcfd771d5040bbe83fed78ac2201580309f4caf9313ced5fa0790fedecbe4eb3bcf8c61a18337029f0784458db347781036021df10ac22742bdef25929e380e06742950926862a63ea73a2ba1a862aa88d02197f9f03dbdf1e4efb6c3be06da8a724fe14aefb61d950d75bc884fb000425e5f8ac81a5030951ff643d351bb9f0f27b43407ffdc9ece194b7817d4f507d67cd45c2486def034727b372374f0064fb931e44f58fe768dff1e1214f0f8d45e64d9ddcc9581ae003c578153c80fc9f9473d5ad5ec14c65518582d13d8bb5a969d3330bf48cf98af5037984236fcf10df5124f62f80ea48e87c9cde1e39fb3978821af486233f8c824e038b09c91f160f50bc457039386d0e5121f72cf9565fcfc99f3cda347a3b90b27d03c5b8f2b854f5cb790d2a95a6912e1d3e38ef77cac9c093491794640940e27696039b3855c4c88f2b280f98944350ecee56831d488fcffb79595cdda7772b733ab80309e2552f3dc0d6b6358fe192540c7ed75e63f6046475ec0c82083a0a280fecc1039ab233317ac82b83aa0f8721429f70acf433b9e4ce6955e70927ba0a461ae9970357c4869243150000154b9e69f8874e2f2990bbbeec145c13350ebc2b97bbe9380219ffff0347dea790e415705c6036e0e44899bf61b594737bf66254f7223127a56d2b345c03999ac4fa64999b932c89bb9591aeb63237b9727d87889d3df244debb76c7033d0378d44ac32c8de9d7648e75ebe4d2a33ea3dd7fccdd5bffd32a0b98adb729e78d03a769c5a06ea481659d36cd423de8ca32d166de407b26036dbbe29e7c035a208a039999fa3a97e3d120fa16aa57c8086f2d5359299042e185b6e1ff065cd3d9a0eb0219ffff03533325c35f1c0d28889964d19b9336f16a2c78f3949a11445b2ac81bd4dba9f603d697c1bd421f1b540051890588ca10e0cb2d9c09d632bc7b4ea52df497ea9da903705a6f3218c1a73ea46db22be9fe31ed8bcde0f5c1baf33ae5a65193c84991420219ffff03f155f27ec0fb0f403d3dd5a0db5f2c6eac1bd6ccc55d69a401ffa41822aea4f60219ffff037bf7081d29b692ac08cbf782e365979704e52f1bbb2fee60e9bb3c0c0e75eacd036ab16e9a6eeb432edc4812aad3d4f81205d9dc7b21d617a0f43e04dccbf8792103c7fc406d044219496ad0ad15aa7213ac6453ed8df9caebd8860796e8b85875b103b886ab6335e9de7ee0e4848c6fc2b012dbfe7fdc50a63e42ae257605a81b654b03412473a99286a3dbc8c4b98cedcb4cb5c18e6e5085ab393f9544c185b00e5d2403a59ed49e65bd1ed67c82ac8c0738f52d6d87a445accb9bbe4b960233c1875eb30331cd4cb120121ee814a5abce99df77f0b867237ee6bd5402039bd571dea331e0030d2bc31808af54f9d449e22d85f1ac17e3b29d9b4723e2d8fd04f928a5903bf6034dba4ffeb82cac8c166c4430406e2973a52b6c246dc91030c9b32ad4435c89db03f898896794ec8770b0fb2c10ea687220982491c970fa1fb21b740f4398f0a1c20321ac50384e7901cb170aec7aa45364d92f0a6ca0e8e59a087c915dfc0971ea3003d3c22a07519c96f48b2073e9a27a42e70283f1ca6899d6e1de5108399c5007cd03a811da28d12eebfdb9ad378bc7c2005e0d47921594e945810d7f832ddd7e8d3f0324e9994260270651ba5381e34e2f52810f6ea71c2e97b46c5f745739c8eefb8a03526ecc48db42ba6cb0068ce69b45bdd1c91f7c7f623a40d0b85237dc05e497ff03c42a15847238db1ebf96b5abbee783ef2cca4d82fdc0d7ccc7852481c4cba58203abefe28dc3048c78edb2a7a54c53a23c761c12f95dff380208f10b735303644303599b451a6e96d75833659ba0706f773b2a1729b55b84546d6badfea8777cf4ac03e4b6be831a06f18d6fbfb92c280542a953f44d6d7dab036f0b0e8bfbb781f49403bee4f10e8571de8c1a44500413cb2841380cb6354a477231390b1fa7eddad2df03f56cf2776a2f60bb8021ca5eb34c672a601cee431ccda6d428376e361720ed4b03f37e02fa74d384cfea8993f8c6fdaebe5bda11fb56432f3381f456ddde89d80e039ccade6722b7fd91b4812917857176482d0846a0f6e558056d8b4b2b7348930c03a60120cd3ad1aee06661f383213bca8a71ecc358a43ddffc40ab3a5adf42083e03060196cd8b40e5b012a515285dcf2ca1689d72793e27c70843cd9e4e1e4754ae0357fac6eaf49d7ea882ca3db4c8d55f51726b869a27751e6366ebabbc60f8d8570363b5845a4354b8a18be91bbe21e4a4fe7c331dc1cbfa332e8447993bd26bd217037c7ece5977abefa7606ca39429f504324dd60775b43e7f141e16c99a1406d59f03a0810630b872a2952563148d52f82798e4601a77c9b681bcd32078a4620bbb7303b468d0c3a29da4ac442dd6ebd8a58c6faee90fa3d2fd5a1f8b2c8922c9620510035467767348251663a3dab40a247a82a83dffbee4c3e2e88e845176f25a2ed64c03083d014bee84a14553103c3734ac000b3522516a3a1dab0d3260bff0bd9fca510350ee5ca8bd8b253d2aed9e443ab5fee305a360fe3e598a1ed6a37746e86754ce035709f26f06655e110bc135705b0f164c5dbeb77985cbb154963e18d78cc73a5f05581e03d484420d4c7715bd37f9c20257cf46d827cf9df95febb67a27521bb0700c024603d1e382100005581e033604a9a1ae518f828b43ae53139c0b8c42fcea8006165e0a22cac567c0040104595ee660806040526004361015610022575b3615610018575f80fd5b6100206123d8565b005b5f3560e01c806305b1ea031461034157806307ed23791461033c5780630d2c7c16146103375780630f449d7114610332578063143e86a71461032d57806315169dec14610328578063175accdc14610323578063188ac35d1461031e57806319367472146103195780633f4ba83a14610314578063435b97891461030f578063493189f01461030a5780634f38e2b81461030557806356a75868146103005780635816d723146102fb5780635c975abb146102f65780636fe7b0ba146102f1578063715018a6146102ec57806374261145146102e757806378e3214f146102e2578063802b2ef1146102dd57806383800a8e146102d85780638456cb59146102d357806384b0196e146102ce5780638770ba91146102c957806389af926a146102c457806389e7c650146102bf5780638da5cb5b146102ba5780639fda64bd146102b5578063a76dfc3b146102b0578063b68fb020146102ab578063bd61951d146102a6578063bf15fcd8146102a1578063bf7979591461029c578063bfa7514314610297578063c2a4075314610292578063c3cf80431461028d578063c4d652af14610288578063ca4ece2214610283578063cc713a041461027e578063ce3d710a14610279578063d2d374e514610274578063e2c95c821461026f578063e413f48d1461026a578063ea76dddf14610265578063f2fde38b14610260578063f497df751461025b578063f7a7005614610256578063fa461e33146102515763fcea9e4e0361000e57611030565b610ff9565b610fa6565b610f61565b610eff565b610ecb565b610eb1565b610e63565b610e43565b610df0565b610db4565b610d54565b610d36565b610cdd565b610cac565b610c92565b610c78565b610c5e565b610c4a565b610bfe565b610be9565b610bd1565b610b67565b610b4d565b610ac0565b610aa3565b610a77565b610940565b610923565b61090a565b6108dd565b6108b6565b6108a0565b610886565b610866565b610854565b6107de565b610733565b6106eb565b61067c565b610666565b61062f565b6105f1565b6105dc565b610596565b610530565b6104da565b6104a5565b610431565b610360565b604090600319011261035c576004359060243590565b5f80fd5b3461035c5761002061037136610346565b9061104a565b6001600160a01b0381160361035c57565b6004359061039582610377565b565b60e090602319011261035c57602490565b9181601f8401121561035c5782359167ffffffffffffffff831161035c576020838186019501011161035c57565b61012060031982011261035c576103eb610388565b916103f582610397565b91610104359067ffffffffffffffff821161035c57610416916004016103a8565b9091565b9081526040810192916103959160200152565b0152565b61044661043d366103d6565b929190916113c0565b906104566040519283928361041a565b0390f35b6bffffffffffffffffffffffff81160361035c57565b600435906103958261045a565b602435906103958261045a565b604090600319011261035c5761049e610470565b9060243590565b3461035c576100206104b63661048a565b9061147b565b608090600319011261035c5760043590602435906044359060643590565b6104566104f26104e9366104bc565b9291909161151e565b6040519182918290815260200190565b6024359061039582610377565b6044359061039582610377565b604090600319011261035c5761049e610388565b3461035c576104566104f261056361056661054a3661051c565b92906001600160a01b03165f52600460205260405f2090565b90565b612793565b602060031982011261035c576004359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c576104566105b06105aa3661056b565b90611551565b60405191829182901515815260200190565b606090600319011261035c57600435906024359060443590565b6104566104f26105eb366105c2565b9161156d565b6104566104f2610600366104bc565b9291909161159f565b60c090600319011261035c57600435906024359060443590606435906084359060a43590565b3461035c576104566104f261064336610609565b949390939291926115c9565b5f90600319011261035c57565b5f91031261035c57565b3461035c576106743661064f565b6100206115ec565b3461035c576104566104f26106c46106bf6106b26106993661051c565b91906001600160a01b03165f52600560205260405f2090565b905f5260205260405f2090565b6113cc565b6129e2565b60a090600319011261035c576004359060243590604435906064359060843590565b6104566104f26106fa366106c9565b939290926115f4565b90604060031983011261035c57600435916024359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c576104566105b061074736610703565b91611628565b61010090600319011261035c57600490565b61018060031982011261035c576107758161074d565b9167ffffffffffffffff6101043581811161035c5783610797916004016103a8565b93909392610124359261014435926101643591821161035c57610416916004016103a8565b60409061042d61039594969593966107d78360608101999052565b6020830152565b3461035c576104566107fe6107f23661075f565b95949094939193611646565b604093919351938493846107bc565b604060031982011261035c5767ffffffffffffffff9160043583811161035c578261083a916004016103a8565b9390939260243591821161035c57610416916004016103a8565b61085d3661080d565b929190916116f5565b3461035c576108743661064f565b6003546104569060a01c60ff166105b0565b3461035c576104566105b061089a36610703565b91611750565b3461035c576108ae3661064f565b610020611781565b3461035c576104566105b06108ca36610703565b91611789565b6064359061039582610377565b3461035c576100206108ee3661051c565b90611803565b61010060031982011261035c576105639061074d565b3461035c576104566104f261091e366108f4565b61180d565b3461035c576104566104f2610937366104bc565b9291909161181f565b3461035c5761094e3661064f565b610020611840565b5f5b8381106109675750505f910152565b8181015183820152602001610958565b6109996020926109909280519384809360209181520190565b94859101610956565b601f01601f19160190565b0190565b805180835291602001916020809201915f5b8281106109c8575050505090565b90919293826109dd6001928751815260200190565b9501939291016109ba565b93959194610a53610a4b610a6a95610a3d6105639b99610a2c8a610a63987fff00000000000000000000000000000000000000000000000000000000000000169052565b60e060208b015260e08a0190610977565b9088820360408a0152610977565b976060870152565b6001600160a01b03166080850152565b60a0830152565b60c08184039101526109a8565b3461035c57610a853661064f565b610456610a90611931565b93604097959793919351978897886109e8565b3461035c576104566104f2610ab7366106c9565b939290926119ba565b6104566104f2610acf366105c2565b916119c9565b9181601f8401121561035c5782359167ffffffffffffffff831161035c576020808501948460051b01011161035c57565b604060031982011261035c5767ffffffffffffffff9160043583811161035c5782610b3391600401610ad5565b9390939260243591821161035c5761041691600401610ad5565b3461035c57610020610b5e36610b06565b92919091611a1b565b3461035c57610b753661064f565b610456610b8a6003546001600160a01b031690565b604051918291826001600160a01b03909116815260200190565b61018060031982011261035c57610bba9061074d565b906101043590610124359061014435906101643590565b6104566107fe610be036610ba4565b93929092611a8a565b6104566104f2610bf836610346565b90611abc565b3461035c57610020610c0f36610346565b90611ae4565b90604060031983011261035c57610c2a610388565b916024359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c57610c5836610c15565b91611c27565b3461035c576104566104f2610c7236610c15565b91611c7c565b3461035c576104566105b0610c8c3661056b565b90611cba565b3461035c576104566105b0610ca636610703565b91611cd4565b3461035c576104566104f26105636106bf6106b26106993661051c565b602090600319011261035c57610563610470565b3461035c57610020610cee36610cc9565b611d33565b61012090600319011261035c57610d08610388565b90610d11610502565b9060443590610d1e6108d0565b906084359060a4359060c4359060e435906101043590565b6104566104f2610d4536610cf3565b97969096959195949294611d3c565b3461035c576104566105b0610d6836610703565b91611fae565b9061016060031983011261035c57610d858261074d565b91610104359067ffffffffffffffff821161035c57610da6916004016103a8565b909161012435906101443590565b3461035c576104566107fe610dc836610d6e565b93929092611fcc565b606090600319011261035c57610de5610388565b906024359060443590565b3461035c576104566105b0610e0436610dd1565b91611ff6565b61010090600319011261035c57610e1f610388565b9060243590610e2c61050f565b90606435906084359060a4359060c4359060e43590565b6104566104f2610e5236610e0a565b969590959491949392933390611d3c565b3461035c576104566104f2610e77366106c9565b9392909261201e565b60a090600319011261035c57610e94610388565b90610e9d610502565b90610ea661050f565b906064359060843590565b3461035c57610020610ec236610e80565b9392909261204a565b3461035c576104566104f2610edf36610609565b94939093929192612056565b602090600319011261035c57610563610388565b3461035c57610020610f1036610eeb565b6120c3565b906101a060031983011261035c57610f2c8261074d565b916101043591610124359161014435916101643591610184359067ffffffffffffffff821161035c57610416916004016103a8565b6104566107fe610f7036610f15565b959490949391936120cc565b60e090600319011261035c57600435906024359060443590606435906084359060a4359060c43590565b3461035c576104566104f2610fba36610f7c565b959490949391936120ed565b606060031982011261035c5760043591602435916044359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c5761002061100a36610fc6565b92919091612390565b604090600319011261035c57611027610388565b9061056361047d565b3461035c576104566104f261104436611013565b9061239d565b9061105b611057836123e0565b1590565b6110d2576110cd6110b67fcda0f7e73d07bdb14b141f2cf4745926629a1b63e7c6a3dd8a80232cb459a850926110a5610563336001600160a01b03165f52600460205260405f2090565b64ffffffffff8660781c169061243b565b60405191829163ffffffff339660801c168361041a565b0390a2565b60046040517f86bffaca000000000000000000000000000000000000000000000000000000008152fd5b9061041693929161110b612465565b6113b4565b3561056381610377565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161113c57565b61111a565b9190820391821161113c57565b8181029291811591840414171561113c57565b634e487b7160e01b5f52601260045260245ffd5b811561117f570490565b611161565b9093919260a085013594851561137e5761119d81611110565b926111aa60208301611110565b926111b48561249e565b60c084013597909190600289161561135c575f8315611357575060808501355b34111561132d576111f4925b156112fc575b608085013580943390612517565b968794600183981615155f146112c55761120e308261257b565b600181116112a3575b5050611223828661114e565b611230610563898461114e565b1161126e57505090606061039593925b016001600160a01b0361125282611110565b1661125f575033906125f2565b61126890611110565b906125f2565b849161127d886112829361114e565b611175565b9061129f604051928392630325276360e11b84526004840161041a565b0390fd5b6112be9198505f19016112b68185611141565b9833906125f2565b5f80611217565b50919293829150106112df57506103959160608692611240565b8561129f604051928392630325276360e11b84526004840161041a565b61132861130b60408701611110565b60048b161515906001600160a01b0360808901359116338b6124ff565b6111e6565b60046040517f1841b4e1000000000000000000000000000000000000000000000000000000008152fd5b6111d4565b5f8315611379575060808501355b340361132d576111f4926111e0565b61136a565b60046040517f0262dde4000000000000000000000000000000000000000000000000000000008152fd5b90610416939291611184565b906104169392916113a8565b906104169392916110fc565b5490565b91602061039592949361042d8160408101976bffffffffffffffffffffffff169052565b7f099133aefc2c2d1e56f8ef3622ec8e80979a0713fc9c4e1497740efcf80993966110cd61146a61146d73ffffffffffffffffffffffffffffffffffffffff198560a01b1633176114596114536106bf835f52600260205260405f2090565b60010190565b9283915f52600260205260405f2090565b55565b6040519182913395836113d0565b9080158015611514575b6114ea576110cd61146a61146d7f099133aefc2c2d1e56f8ef3622ec8e80979a0713fc9c4e1497740efcf80993969361145973ffffffffffffffffffffffffffffffffffffffff198760a01b163317916109a46106bf845f52600260205260405f2090565b60046040517f555fbbbf000000000000000000000000000000000000000000000000000000008152fd5b5060ff8111611485565b90610563939291600160fb1b831615611543575b6001600160a01b03349116306126dd565b61154c34612684565b611532565b9061155c91306127aa565b81611565575090565b600191501490565b906105639291600160fb1b831615611591575b6001600160a01b03349116306127ce565b61159a34612684565b611580565b90610563939291600160fb1b8216156115bb575b34333061285e565b6115c434612684565b6115b3565b9061056395949392913333612875565b6115e1612929565b6103956103956129da565b6103956115d9565b9061056394939291600160fb1b83161561161a575b6001600160a01b033491163061285e565b61162334612684565b611609565b9161163391306127aa565b8192919261164057505090565b11919050565b9394611667966116599194929487612a16565b989394929591969097612ab9565b9192909190565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090358181169392601481106116a357505050565b60140360031b82901b16169150565b909291928360141161035c57831161035c57601401916013190190565b90929192831161035c579190565b9093929384831161035c57841161035c578101920390565b926117335f939461172d61041686958061172761171b611715838861166e565b60601c90565b6001600160a01b031690565b946116b2565b91612b4e565b508060405194853783305af43d5f833e1561174c573d90f35b3d90fd5b9161175b91306127aa565b8192919261176857505090565b14919050565b611776612929565b610395610395612b5d565b61039561176e565b929091925f5b63ffffffff82169081156117e0576117af610416836117b69389896116dd565b90306127aa565b816117d5575b506117cb579060201c9061178f565b5050915050600190565b60019150145f6117bc565b5050509150505f90565b90610395916117f7612929565b906103959133906125f2565b90610395916117ea565b61056390611819612c16565b90612ca2565b9061056393929133336127e3565b611835612929565b610395610395612d94565b61039561182d565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161187057604052565b611848565b6020810190811067ffffffffffffffff82111761187057604052565b6040810190811067ffffffffffffffff82111761187057604052565b90601f8019910116810190811067ffffffffffffffff82111761187057604052565b6040519061039582611875565b6040519061039582611891565b9061039560405192836118ad565b6118ff6118cf565b905f8252565b5f368137565b50610395611905565b602090369037565b6119246118f7565b906103956020830161190b565b61195a7f31696e6368204167677265676174696f6e20526f7574657200000000000000186149d6565b906119847f36000000000000000000000000000000000000000000000000000000000000016149f0565b9061198d61191c565b7f0f00000000000000000000000000000000000000000000000000000000000000939291469130915f9190565b906105639493929133336126f3565b906105639291600160fb1b8216156119e4575b3433306126dd565b6119ed34612684565b6119dc565b634e487b7160e01b5f52603260045260245ffd5b9190811015611a165760051b0190565b6119f2565b9290818103611a60575f5b818110611a34575050505050565b80611a5a611a4c611a48600194868a611a06565b3590565b610c0f611a4884888a611a06565b01611a26565b60046040517fd97cd9d8000000000000000000000000000000000000000000000000000000008152fd5b9261166794919293611a9a5f8091565b939092611ab2611aac5f805b97909691565b96909591565b9790963394612d9c565b9061056391600160fb1b821615611ad6575b3433306127ce565b611adf34612684565b611ace565b90611aee826123e0565b15611b4a57507fcda0f7e73d07bdb14b141f2cf4745926629a1b63e7c6a3dd8a80232cb459a8506110cd6110b6611b39610563336001600160a01b03165f52600460205260405f2090565b64ffffffffff8560781c1690612400565b7f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d9150806104f2611b93611b99936106b2336001600160a01b03165f52600560205260405f2090565b5f199055565b0390a1565b90825f939282370152565b81836109a492949394611b9e565b67ffffffffffffffff811161187057601f01601f191660200190565b90611be5611be083611bb7565b6118e9565b918252565b3d15611c0357611bf93d611bd3565b903d5f602084013e565b606090565b80611c1a604092610563959415159052565b8160208201520190610977565b5f928392611c3a60405180938193611ba9565b03915af4611c46611bea565b9061129f6040519283927f1934afc800000000000000000000000000000000000000000000000000000000845260048401611c08565b90611c8792916127aa565b9015611c905790565b60046040517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b90611cc591306127aa565b81611cce575090565b90501590565b929091925f5b63ffffffff8216908115611d28576117af61041683611cfa9389896116dd565b9015908115611d1c575b50611d13579060201c90611cda565b50509150505f90565b6001915014155f611d04565b505050915050600190565b610395906113f4565b906105639897969594939291611d50612465565b9295969097919394976001600160a01b039485811690811590815f14611f8d575087340361132d575b15611e235750926001600160ff1b035f97949361014996938998956040519b8c987f27a9b424000000000000000000000000000000000000000000000000000000008a5260048a01528760248a01528d60448a0152606489015260848801528160ff1c601b0160a488015260c48701521660e4850152610120610104850152600561012485015264062929c86960db1b610144850152165af115611e1b575090565b3d5f823e3d90fd5b969091929394959789878316155f14611ee857945f98959489989461014998946001600160ff1b03948b986040519e8f9b7f4cb6864c000000000000000000000000000000000000000000000000000000008d5260048d015260248c015260448b015260648a015215600114611ede57503060848801525b8160ff1c601b0160a488015260c48701521660e4850152610120610104850152600561012485015264062929c86960db1b610144850152165af115611e1b575090565b6084880152611e9b565b505f97948897939488956001600160ff1b039361016999959c6040519d8e9a7f2b651a6c000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260448a01528d60648a0152608489015260a48801528160ff1c601b0160c488015260e487015216610104850152610140610124850152600561014485015264062929c86960db1b610164850152165af115611e1b575090565b3461132d57600160ff1b611fa9911615158989891633866124ff565b611d79565b91611fb991306127aa565b81929192611fc657505090565b10919050565b9261166794919293611fdc5f8091565b939092611fec611aac5f80611aa6565b9790963394612ab9565b6106bf906001600160a01b0361201a9360a01b9116175f52600260205260405f2090565b1490565b906001600160a01b036105639594939216336127e3565b90610395916001600160a01b03339116612f44565b50506103959250612035565b906001600160a01b03610563969594939216336126f3565b6103959061207a612929565b6001600160a01b038116156120925761039590612bc1565b6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602490fd5b6103959061206e565b9394611667966120df9194929487612a16565b989394929591969097612d9c565b906001600160a01b036105639796959493921633612875565b6040513d5f823e3d90fd5b60446020925f80935af1156121435760015f5114601f3d11163d15171561213457565b633c9fd93960e21b5f5260045ffd5b612106565b60646020925f80935af1156121435760015f5114601f3d11163d15171561213457565b9060405160158101907f0dfe1681d21220a7ddca3f43a9059cbb23b872dd36c785160000000000000000918282525f851394856001146123775750603582016020816004808601335afa15612143575193905b6084359530871460011461235a5760011461234357602081600485335afa15612143575b602060558401600460088601335afa15612143577fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000083526060812090527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546035830152336001600160a01b0360558420161861231b5760a4358060011461229a5715612270575b5050505050565b612290946010938352601483015233603483015260548201520190612148565b5f80808080612269565b5091819491526018840152336038840152605883015260788201525f80608460146e22d473030f116ddee9f6b43ac78ba3940182855af19081612310575b50156122e8575f80808080612269565b7fc3f9d332000000000000000000000000000000000000000000000000000000005f5260045ffd5b90503b15155f6122d8565b7fb2c02722000000000000000000000000000000000000000000000000000000005f5260045ffd5b6020603584016004808601335afa6121e257612106565b50506103959450600c925033601083015260308201520190612111565b9350602081600484335afa1561214357805193906121be565b909150610395925061216b565b6106bf906001600160a01b0373ffffffffffffffffffffffffffffffffffffffff196105639460a01b169116175f52600260205260405f2090565b610395612f52565b600160ff1b811615908115916123f4575090565b600160fe1b9150161590565b6103959092919261146a600160ff8660081c96161b61242a6106bf8785905f5260205260405f2090565b17948592905f5260205260405f2090565b61146a610395929493600160ff8760081c97161b1761242a6106bf8785905f5260205260405f2090565b60035460a01c60ff1661247457565b60046040517fd93c0665000000000000000000000000000000000000000000000000000000008152fd5b6001600160a01b031680159081156124b4575090565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee91501490565b92156124de5761039592613083565b61039592612f5a565b92156124f65761039592613112565b61039592612fd9565b931561250e5761039593613180565b6103959361304a565b90602093945f93816040519788947f4b64e49200000000000000000000000000000000000000000000000000000000865260048601526024850137602482840101526044019134905af115611e1b57505f5190565b9081602091031261035c575190565b6125848161249e565b1561258e57503190565b6040516370a0823160e01b81526001600160a01b0392831660048201529160209183916024918391165afa908115612143575f916125ca575090565b610563915060203d81116125eb575b6125e381836118ad565b81019061256c565b503d6125d9565b826125fc57505050565b6126058161249e565b156126705750814710612646575f8080936001600160a01b03829416611388f161262d611bea565b501561263557565b600460405163b12d13eb60e01b8152fd5b60046040517ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b6001600160a01b0361039593921690612f44565b8061268c5750565b5f6004818093630d0e30db60e41b825273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11561210657565b816126c3575050565b60045f80938193630d0e30db60e41b83525af11561210657565b9061056395949392916126ee612465565b61270a565b90610563969594939291612705612465565b61275b565b936127419391949695929661273b61272185613207565b92600160fc1b86161515998a5f1461275357843094613225565b9161342a565b926127495750565b61039590836137d6565b848994613225565b61273b6127419593989794929661277186613207565b93600160fc1b871615159a8b5f1461278b5785309561331c565b858a9561331c565b6106bf906105639260081c5f5260205260405f2090565b915f906020928294826040519283375afa60203d141691826127c857565b5f519150565b90610563949392916127de612465565b6127f9565b9061056395949392916127f4612465565b61282e565b909493929190600160fc1b8416156128235791610395939161281c9330906135eb565b92836137d6565b9461056394956135eb565b90959493929190600160fc1b851615612853579161281c9391610395959330906136c4565b9561056395966136c4565b90610563969594939291612870612465565b61288d565b9061056397969594939291612888612465565b6128db565b61273b6128cd92966127419699989594996128a782613207565b906128b188613207565b958691600160fc1b8a1615159d8e5f146128d357843098613225565b91613514565b848d98613225565b90959486929598979493986128ef81613207565b80926128fa88613207565b958691600160fc1b8a1615159d8e5f149b61273b976128cd946127419e6129235750309961331c565b9961331c565b600354336001600160a01b039091160361293f57565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602490fd5b612978613812565b6103956129a86003547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600355565b6040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa908060208101611b99565b610395612970565b80156129ec571990565b60046040517faa3eef95000000000000000000000000000000000000000000000000000000008152fd5b90929091600160fb1b831615612aaf576104168180612a3b611715612a41958961166e565b966116b2565b919091925b62ffffff60e082901c81168015612aa0576104168682612a6d610416612a7695848b6116cf565b999099986116dd565b919091925b60c81c168015612a925761041692610416926116cf565b5050506104166104165f8091565b509390925f8095909594612a7b565b9192903393612a46565b979593919896949290612ad3612acd612c16565b8a612ca2565b809a612adf828c613853565b9260a08c01358414612afc575b5050612af79961451f565b919092565b9061105791612b18936001600160a01b0360208f0135166138e2565b612b2457895f80612aec565b60046040517f5cd5d233000000000000000000000000000000000000000000000000000000008152fd5b90610563929130903390614531565b5f6001600160a01b03612b786003546001600160a01b031690565b612b9a60035473ffffffffffffffffffffffffffffffffffffffff1916600355565b167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3565b600380546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff19821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b6001600160a01b037f000000000000000000000000111111125421ca6dc452d289314280a0f8842a6516301480612c79575b15612c71577fd999e213f11c7bfa3e796c3409e316f25e02aa3e25e5c207a92e381c7d22b6de90565b6105636147e9565b507f00000000000000000000000000000000000000000000000000000000000000014614612c48565b9061012061056392610100604051917f3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c835260208301372090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b612d1b612465565b610395612d626003547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017600355565b6040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258908060208101611b99565b610395612d13565b979593919896949290612db0612acd612c16565b809a612dbc828c613853565b9260a08c01358414612dd3575050612af79961451f565b60208c01356001600160a01b031692918315918215612ee0575b50509050612b24578a907f2000000000000000000000000000000000000000000000000000000000000000851615612e26575b80612aec565b612e308888614a81565b6014811015612e41575b5050612e20565b90612e5d610416838061172761171b611715612e66988861166e565b91843091614531565b50612e7761105760e08d01356123e0565b612e83575b8080612e3a565b6110576106bf612eab936106b2611057946001600160a01b03165f52600560205260405f2090565b612eb657895f612e7c565b60046040517fc5f2be51000000000000000000000000000000000000000000000000000000008152fd5b61171b9250612eee93614a0a565b8114158b905f80612ded565b612f079161105791614a8b565b612f0d57565b60046040517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b612f079161105791614ad2565b9161105791612f0793614b31565b610395614b5f565b6064906020935f93604051926323b872dd60e01b845260048401526024830152604482015282805af180612fba575b15612f9057565b60046040517ff4059071000000000000000000000000000000000000000000000000000000008152fd5b503d15612fd05760015f5114601f3d1116612f89565b5f3b1515612f89565b91906020915f91604051946323b872dd60e01b8652600486015260248501526044840152606473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29382855af19081613028575b5015612f9057565b90503d15613042575060015f5114601f3d11165b5f613020565b3b151561303c565b92602092916064915f93604051926323b872dd60e01b845260048401526024830152604482015282855af19081613028575015612f9057565b916001600160a01b0381116130e8575f9160405193631b63c28b60e11b85526004850152602484015260448301528060648301528060846e22d473030f116ddee9f6b43ac78ba39382855af190816130dd575015612f9057565b90503b15155f613020565b60046040517f8112e119000000000000000000000000000000000000000000000000000000008152fd5b916001600160a01b0381116130e8575f9160405193631b63c28b60e11b855260048501526024840152604483015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260648301528060846e22d473030f116ddee9f6b43ac78ba39382855af190816130dd575015612f9057565b90926001600160a01b0381116130e8575f9260405194631b63c28b60e11b865260048601526024850152604484015260648301528060846e22d473030f116ddee9f6b43ac78ba39382855af190816130dd575015612f9057565b634e487b7160e01b5f52602160045260245ffd5b600311156131f857565b6131da565b90610395826131ee565b61321b6132168260fd1c6131fd565b6131fd565b1561171b57503090565b939291905f946132378460fd1c6131fd565b6001613242826131fd565b0361325357506105639495506155af565b61325c816131fd565b6132b95750610563949550826001600160a01b038092163081145f1461328d5750613288918516612f37565b6153e1565b9050331461329c575b506153e1565b6132b39083600160fa1b86161515918616336124e7565b5f613296565b6132c46002916131fd565b146132d0575b50505050565b6132f19495506001600160a01b033391161480613314575b6132fb57614cf1565b905f8080806132ca565b61330f600160fa1b841615158330336124e7565b614cf1565b5034156132e8565b5f9594939261332e60fd86901c6131fd565b6001613339826131fd565b0361334b5750506105639495506155af565b613354816131fd565b6133b8575061056395965083906001600160a01b038093163081145f146133845750826132889387169116612f44565b9190913314613396575b5050506153e1565b6133b092600160fa1b8716151592818816913391166124ff565b5f808361338e565b6133c36002916131fd565b146133cf575050505050565b6133f7959650836001600160a01b0392833391161480613422575b613402575b505050614cf1565b905f80808080612269565b61341a92600160fa1b871615159230913391166124ff565b5f80836133ef565b5034156133ea565b94939291905f9561343d8560fd1c6131fd565b6001613448826131fd565b03613459575061056395965061565c565b613462816131fd565b6134bf5750610563959650826001600160a01b038092163081145f14613493575061348e918616612efa565b6154cb565b905033146134a2575b506154cb565b6134b99083600160fa1b87161515918716336124cf565b5f61349c565b6134ca6002916131fd565b146134d6575050505050565b6133f79596506001600160a01b03339116148061350c575b156150a257613507600160fa1b851615158330336124cf565b6150a2565b5034156134ee565b939291905f946135268460fd1c6131fd565b6001613531826131fd565b0361354257506105639495506155af565b61354b816131fd565b61359c5750610563949550826001600160a01b038092163081145f146135775750613288918516612efa565b9050331461358557506153e1565b6132b39083600160fa1b86161515918616336124cf565b6135a76002916131fd565b146135b25750505050565b6132f19495506001600160a01b0333911614806135e3575b15614cf15761330f600160fa1b841615158330336124cf565b5034156135ca565b94939291905f956135fe8560fd1c6131fd565b6001613609826131fd565b0361361a575061056395965061565c565b613623816131fd565b6136745750610563959650826001600160a01b038092163081145f1461364f575061348e918616612f37565b9050331461365d57506154cb565b6134b99083600160fa1b87161515918716336124e7565b61367f6002916131fd565b1461368b575050505050565b6133f79596506001600160a01b0333911614806136bc575b156150a257613507600160fa1b851615158330336124e7565b5034156136a3565b5f96959493926136d760fd87901c6131fd565b60016136e2826131fd565b036136f457505061056395965061565c565b6136fd816131fd565b613761575061056396975083906001600160a01b038093163081145f1461372d57508261348e9388169116612f44565b919091331461373f575b5050506154cb565b61375992600160fa1b8816151592818916913391166124ff565b5f8083613737565b61376c6002916131fd565b1461377a575b505050505050565b6137a2969750836001600160a01b03928333911614806137ce575b6137ae575b5050506150a2565b905f8080808080613772565b6137c692600160fa1b881615159230913391166124ff565b5f808361379a565b503415613795565b906137e082615715565b306001600160a01b038216036137f4575050565b5f8080938193611388f11561210657565b816137e091939293615746565b6003546138239060a01c60ff161590565b61382957565b60046040517f8dfc202b000000000000000000000000000000000000000000000000000000008152fd5b61386060e08201356123e0565b1561389f5760a091500135905b811561387557565b60046040517ff71fbda2000000000000000000000000000000000000000000000000000000008152fd5b60a06138d36106bf6138dc946106b26001600160a01b036020870135166001600160a01b03165f52600560205260405f2090565b91013590615765565b9061386d565b5f9060209293959495829680604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501528160448501526064840137606401915afa61393b5750565b5f51143d602014169150565b9061041699989796959493929161395c612465565b61450d565b60e080610395936139728185359052565b6139826020820160208601359052565b6139926040820160408601359052565b6139a26060820160608601359052565b6139b26080820160808601359052565b6139c260a0820160a08601359052565b6139d260c0820160c08601359052565b019101359052565b818352916109999082906020018094611b9e565b95613a44613a5c96613a33613a2a6105639e9c989d9b96613a54988c613a4c9861010082613a206101e0948594613961565b01528d01916139da565b9c6101208b0152565b6001600160a01b0316610140890152565b610160870152565b610180850152565b6101a0830152565b6101c08185039101526139da565b93919694999790959298613a7f8685876157a0565b90156145065750613a976110573360e0880135615885565b6144dc57613aa860e08601356158b0565b6144b257600160fa1b60e086013516614417575b856143bd575b600160ff1b8316156142e357613ad8888b615a7f565b9a8b613ae8898b838b8a8c6159f1565b809c76ffffffffffffffffffffffffffffffffffffffffffffff8716928361428d575b505050505b600160ff1b60e08701351615158061427f575b614255578a8c021561422b57613b3c60e08701356123e0565b156141f357613b84613b6f6105636001600160a01b0360208a0135166001600160a01b03165f52600460205260405f2090565b64ffffffffff60e089013560781c1690615a8c565b600160fc1b60e08701351661412a575b6001600160a01b036060870135168c6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2168214918261411a575b8215614112578830925b8b8a60e08401357f010000000000000000000000000000000000000000000000000000000000000016156140b957909150613c1b9250615b02565b9050613f4457613c3b918f916001600160a01b0360208c01351690613180565b614088575b5060138111613ff2575b50506001600160a01b03608084013516906001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216821490818092613fe9575b15613ecc5750505086341061132d57863411613ea4575b8760e0830135600160f71b1615613e3857505f8080808a613cc787615b5f565b5af1613cd1611bea565b50156126355787925b600160fb1b60e084013516613d28575b505050613d18907ffec331350fce78ba658e082a71da20ac9f8d798a99b3c79681c8440cbfe77e0793611141565b90611b996040519283928361041a565b90919250613d368183615b8e565b909160208501356001600160a01b0316838360138111613e04575b50506001600160a01b031691823b1561035c575f94613da9869289968b8f8f906040519c8d9b8c9a8b997f462ebde2000000000000000000000000000000000000000000000000000000008b52339360048c016139ee565b03925af18015612143577ffec331350fce78ba658e082a71da20ac9f8d798a99b3c79681c8440cbfe77e0793613d18928892613deb575b819550829350613cea565b80613df8613dfe9261185c565b8061065c565b5f613de0565b6001600160a01b039550819450613e2d925080613e27611715826104169561166e565b956116b2565b93909392905f613d51565b92613e63887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26126ba565b613e9f88613e7085615b5f565b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216612f44565b613cda565b5f8080808a3403335af1613eb6611bea565b50613ca757600460405163b12d13eb60e01b8152fd5b9491943461132d5781613fd5575b8115613fc157600160fc1b30915b1615613f6e57613ef88385615b84565b9050613f445789613f0c918c973390613180565b15613cda57613e9f613f1d84615b5f565b897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2613805565b60046040517f2aefd060000000000000000000000000000000000000000000000000000000008152fd5b61105790613f8c92968b613f828688615b84565b9390923390615b0c565b613f97578893613f0c565b60046040517f478a5205000000000000000000000000000000000000000000000000000000008152fd5b600160fc1b613fcf86615b5f565b91613ee8565b60e0850135600160f71b1615159150613eda565b50341515613c90565b808061400a61171b61171b611715614010968861166e565b936116b2565b823b1561035c578592875f878f8f9583978f8f98614060946040519c8d9b8c9a8b997fadf38ba1000000000000000000000000000000000000000000000000000000008b52339360048c016139ee565b03925af1801561214357614075575b80613c4a565b80613df86140829261185c565b5f61406f565b6140b3908c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2613805565b5f613c40565b94611057946001600160a01b036140d760209695946140e399615b02565b96909501351690615b0c565b15613c3b5760046040517f70a03f48000000000000000000000000000000000000000000000000000000008152fd5b888492613be0565b600160fe1b871615159250613bd6565b6141348786615af8565b6001600160a01b0390602089013582168382601381116141cf575b50508281163b1561035c578f8f5f948f8f958f94908f998f938a966141a6946040519d8e9c8d9b8c997f0986bdd5000000000000000000000000000000000000000000000000000000008b52339360048c016139ee565b0393165af18015612143576141bc575b50613b94565b80613df86141c99261185c565b5f6141b6565b8195506141ea93506104169250613e2761171582809461166e565b90925f8061414f565b6142268c8a031961146a8a6106b26001600160a01b0360208c0135166001600160a01b03165f52600560205260405f2090565b613b84565b60046040517ffba5a276000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8ef0017c000000000000000000000000000000000000000000000000000000008152fd5b5060a08601358c1415613b23565b8181036142b6575050116142a5575b5f8b818e613b0b565b600460405163fb8ae12960e01b8152fd5b6142c6610563926142cc9461114e565b9361114e565b101561429c57600460405163fb8ae12960e01b8152fd5b899a6142f3888a8d8a898b615948565b9b898d11614376575b8c76ffffffffffffffffffffffffffffffffffffffffffffff86169182614326575b505050613b10565b8d81810361434f5750501061433e575b5f8c8161431e565b600460405163240f51c960e11b8152fd5b6142c66105639261435f9461114e565b111561433657600460405163240f51c960e11b8152fd5b9a509a50879a61438a888a808a898b6159f1565b9a808c11156142fc5760046040517f7f902a93000000000000000000000000000000000000000000000000000000008152fd5b6143c786856158ce565b90816143d5575b5050613ac2565b6143e29161105791611551565b6143ed575f806143ce565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b61442460e08601356123e0565b6144885761445961105760e0870135607881901c64ffffffffff9081169160a01c1660208901356001600160a01b0316611ff6565b15613abc5760046040517fe3e8b052000000000000000000000000000000000000000000000000000000008152fd5b60046040517f9e744e25000000000000000000000000000000000000000000000000000000008152fd5b60046040517fc56873ba000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b5f5260045ffd5b90610416999897969594939291613a6a565b90610416999897969594939291613947565b6040519492916064841461471e57836048146146ac578360e01461468857836101001461466257836060146145c35750505061016014614593576004827f68275857000000000000000000000000000000000000000000000000000000008152fd5b610164826101605f94936302b67b5760e41b8695526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b61016493505f95929486956020936040936302b67b5760e41b8752600487015260248601526014826050870137861965ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b5061010492508491505f949061010086956323f2ebc360e21b87945260048501375af190565b5060e492508491505f949060e0869563d505accf60e01b87945260048501375af190565b6101049350906001600160ff1b035f969395879687946323f2ebc360e21b87526004870152602486015260206008602883013592803560e01c60448901528619600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b60e49350906001600160ff1b035f9693958796879463d505accf60e01b87526004870152602486015260206024604483013592828160448a013786198382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af190565b6147da610395946147d36080949897956147cc60a086019a6147c5877f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9052565b6020870152565b6040850152565b6060830152565b01906001600160a01b03169052565b60405160208101906148508161484230467fe455bf8ea6e7463a1046a0b52804526e119b4bf5136279614e0b1e8e296a4e2d7f5c6cbfb2848b981a8f93044b3530be1fac304ecd5042396ca8729cb8fdd718f388614784565b03601f1981018352826118ad565b51902090565b634e487b7160e01b5f52602260045260245ffd5b90600182811c92168015614889575b602083101461488457565b614856565b91607f1691614879565b905f915f546148ae6148a48261486a565b8084529260200190565b9060019081811690811561491657506001146148c957505050565b5f8052929350907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563925f935b828510614903575050500190565b80548585015260209094019381016148f5565b60ff19168352505090151560051b019150565b905f91600180549061494761493d8361486a565b8085529360200190565b91818116908115614916575060011461495f57505050565b60015f52929350907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6925f935b82851061499a575050500190565b805485850152602090940193810161498c565b60405190610395826149be81614893565b03836118ad565b60405190610395826149be81614929565b60ff81146149e75761056390615bbc565b506105636149ad565b60ff8114614a015761056390615bbc565b506105636149c5565b9092915f936001600160ff1b038216917f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a18310614a475750505050565b6020949550915f939160809360405193845260ff1c601b01868401526040830152606082015282805260015afa505f51905f8080806132ca565b9061041691615bd9565b60445f916020936040519163a9059cbb60e01b83526004830152602482015282805af19081614ab657565b90503d15614acb5760015f5114601f3d111690565b5f3b151590565b91906040519263a9059cbb60e01b84526004840152602483015260205f604473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29482865af19182614b145750565b9091503d15614b2b575060015f5114601f3d111690565b3b151590565b929160446020925f926040519163a9059cbb60e01b83526004830152602482015282865af19182614b145750565b323314614b6857565b60046040517f1b10b0f9000000000000000000000000000000000000000000000000000000008152fd5b15612143573d90565b5f602481602093614bba956370a0823160e01b83526004525afa614b92565b1561035c575f5190565b614bd084848484614c22565b15614bdb5750505050565b614be6848383614c53565b15614c1357918391614bf793614c22565b15614c04578080806132ca565b80633e3f8f7360e01b60049252fd5b600484633e3f8f7360e01b8152fd5b925f602094819460449463095ea7b360e01b8552600485015260248401525af160015f5114601f3d11163d15171690565b6020925f604492819463095ea7b360e01b845260048401528160248401525af160015f5114601f3d11163d15171690565b925f602094819460449463a9059cbb60e01b8552600485015260248401525af160015f5114601f3d11163d15171690565b5f916024916020947f87cb4f5723746eb8c6610657b739953eb9947eb0000000000000000000000000855260048301525afa15612143575f5190565b92916001600160a01b038116938160f21c946001808716818560f91c1691808660f01c16615072575b808660f11c1661503e575b60ff92614d3d848860d81c16858960d01c1687614cb5565b9473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee928388149587891487179485821517831516615004575b50604051926011818d60b81c1611614fdc578694847f3df02124a6417ed6ddc1f59d44ee1986ed4ae2b8bf5ed0562f7865a837cab6798e9652602081017f2a064e3c5b41b90865b2489ba64833a0e2ad025a394747c5cb7558f1ce7d65039052604081017fd2e2833add96994f00000000000000000000000000000000000000000000000090528560b61c6103fc16019d828f938760e01c1660048501528660e81c166024840152806044840152606483015f90526084938d888860f31c16986040985f98614e6c9b614fce575b600114614f905760f41c16614f80575b505b02871502905af1614b92565b15614f595760208a1651998a975b838160f41c1615614e92575b50505050505050505050565b838160f51c16614f39575b60f61c8316614f14575b308718614eb5575b80614e86565b1616600114614efe5791859391614ed29593614ef6575b50614c84565b15614ee757505b5f8281808080808080614eaf565b80633c9fd93960e21b60049252fd5b90505f614ecc565b5050505f809350809281925af1614ed957612106565b9650632e1a7d4d60e01b5f52896004525f8060248180885af115612143578996614ea7565b975f6004818093630d0e30db60e41b8252895af115612143578a97614e9d565b81818b1616600114614f7a57614f6f3086614b9b565b5f1901998a97614e7a565b47614f6f565b848601526020909401938d614e5e565b5050947fe413f48d00000000000000000000000000000000000000000000000000000000886060939783880190308252602082015201520193614e60565b97849088015260a497614e4e565b7fa231cb82000000000000000000000000000000000000000000000000000000005f5260045ffd5b61501a8c85808260c81c169160c01c1687614cb5565b908114615037575b615031908d8660405192614bc4565b5f614d80565b5087615022565b632e1a7d4d60e01b5f52866004525f806024818073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1614d2557612106565b630d0e30db60e41b5f525f806004818a73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1614d1a57612106565b9093926001600160a01b038116918160f21c956001808816818560f91c1691808660f01c166153b1575b808660f11c1661537d575b60ff926150ef848860d81c16858960d01c168a614cb5565b9473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee92838814958b888a14881795858d88851517861516615341575b50505050604051926011818d60b81c1611614fdc578d9c8795857f3df02124a6417ed6ddc1f59d44ee1986ed4ae2b8bf5ed0562f7865a837cab6798f9752602081017f2a064e3c5b41b90865b2489ba64833a0e2ad025a394747c5cb7558f1ce7d65039052604081017fd2e2833add96994f00000000000000000000000000000000000000000000000090528660b61c6103fc16019e8f93808860e01c1660048601528760e81c16602485015281604485015260648401526084938d888860f31c16986040985f986152219b614fce57600114614f905760f41c16614f80575002871502905af1614b92565b1561531a5760208b16519a8b975b838160f41c161561526b575b50505050505050508291501061524e5750565b8261129f604051928392630325276360e11b84526004840161041a565b838160f51c166152fa575b60f61c83166152d5575b30871861528e575b8061523b565b16166001146152bf57918593916152aa9593614ef65750614c84565b15614ee757505b5f8381808080808080615288565b5050505f809350809281925af16152b157612106565b9650632e1a7d4d60e01b5f528a6004525f8060248180885af115612143578a96615280565b975f6004818093630d0e30db60e41b8252895af115612143578b97615276565b81818c161660011461533b576153303086614b9b565b5f19019a8b9761522f565b47615330565b8087806153579360c81c169160c01c1685614cb5565b918214615375575b61536c9260405192614bc4565b8b5f858d615135565b8a915061535f565b632e1a7d4d60e01b5f52836004525f806024818073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16150d757612106565b630d0e30db60e41b5f525f806004818773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16150cc57612106565b9291926001600160a01b0384169360018160f71c169063ffffffff8160a01c169384156154bf575b60405194630240bc6b60e21b5f5260405f6004818b5afa156154b6573d605f190161548e576020975f958560a4958995633b9aca008a99968a97159e8f60051b519460f21c16519202920282019102049a63022c0d9f60e01b86528b0260048601528a0260248501526044840152608060648401528160848401525af115611e1b5750565b7f85cd58dc000000000000000000000000000000000000000000000000000000005f5260045ffd5b853d5f823e3d90fd5b633b6d03409450615409565b93929091936001600160a01b0382169160018160f71c169063ffffffff8160a01c169081156155a3575b60405195630240bc6b60e21b5f5260405f600481895afa1561559a573d605f190161548e57633b9aca0084159360208560051b519460f21c16519202920282019102049680881061557f57505f8094819460a494889463022c0d9f60e01b86528b0260048601528a0260248501526044840152608060648401528160848401525af115611e1b5750565b8560449189630325276360e11b835260048301526024820152fd5b863d5f823e3d90fd5b633b6d034091506154f5565b909160018460f71c169060405193630251596160e31b8552600485015281602485015260448401528060011461564b571561562c575b60a06084830152604060a483015260c4820152600160fa1b8216151560e482015260405f61010483826001600160a01b0387165af115611e1b575060f21c602016515f0390565b73fffd8963efd1fc6a506488495d951d5263988d2560648301526155e5565b506401000276a460648301526155e5565b90919493929460018460f71c169060405193630251596160e31b8552600485015281602485015260448401528060011461570457156156e5575b60a06084830152604060a483015260c4820152600160fa1b8216151560e482015260405f61010483826001600160a01b0387165af115611e1b575060f21c602016515f039180831061524e5750565b73fffd8963efd1fc6a506488495d951d5263988d256064830152615696565b506401000276a46064830152615696565b632e1a7d4d60e01b5f526004525f806024818073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11561210657565b60245f808094938194632e1a7d4d60e01b83526004525af11561210657565b90811561577157501990565b905090565b90929192615786611be082611bb7565b938185528183011161035c57610395916020850190611b9e565b9160e08301357f0200000000000000000000000000000000000000000000000000000000000000161561585757801561582e576157f7916157e2913691615776565b6001600160a01b039181602084935191012090565b1691351603615808575b6001905f90565b5f907fdc11ee6b0000000000000000000000000000000000000000000000000000000090565b5050505f907fb2d25e490000000000000000000000000000000000000000000000000000000090565b91505015615801575f907f74896a7b0000000000000000000000000000000000000000000000000000000090565b69ffffffffffffffffffff8091169081159283156158a4575b50505090565b161490505f808061589e565b60501c64ffffffffff1680151590816158c7575090565b9050421190565b9061041691615c02565b9461592a90615919615910615932956105639d9b9761593a999d9b966159018c6101c092613961565b806101008d01528b01916139da565b9a610120890152565b6001600160a01b0316610140870152565b610160850152565b610180830152565b6101a08185039101526139da565b9391909492946159588282615cc6565b80949194156159d7579060209697615987838061598161171b61171b6117156159c2998d61166e565b986116b2565b9290916040519a8b998a9889987f1d9671c3000000000000000000000000000000000000000000000000000000008a52339360048b016158d8565b03915afa908115612143575f916125ca575090565b505050505050908160a060c0610563940135910135615cd0565b939190949294615a018282615cf2565b8094919415615a65579060209697615a2a838061598161171b61171b6117156159c2998d61166e565b9290916040519a8b998a9889987fd7ff8a80000000000000000000000000000000000000000000000000000000008a52339360048b016158d8565b505050505050908160a060c0610563940135910135615d09565b9080821015615771575090565b600160ff8360081c93161b91615aad6106bf8284905f5260205260405f2090565b908380831614615ace576103959361146a921792905f5260205260405f2090565b60046040517fa4f62a96000000000000000000000000000000000000000000000000000000008152fd5b9061041691615c1e565b9061041691615c3a565b9294805f9581602098889596604051976323b872dd60e01b8952600489015260248801526044870152615b53575b5050606401925af160015f5114601f3d11163d15171690565b6064850137805f615b3a565b6001600160a01b0360408201358116918215615b7a57505090565b6020013516919050565b9061041691615c56565b9061041691615c72565b615ba06118dc565b9060208252565b615baf615b98565b9061039560208301611914565b615bc581615d43565b90615bce615ba7565b918252602082015290565b60208210615bf55761041691601f190190602081019035615d7b565b50506104166104165f8091565b60208210615bf55761041691601f190190602081019035615dc6565b60208210615bf55761041691601f190190602081019035615de9565b60208210615bf55761041691601f190190602081019035615e0c565b60208210615bf55761041691601f190190602081019035615e2b565b60208210615bf55761041691601f190190602081019035615e4b565b60208210615bf55761041691601f190190602081019035615e6a565b60208210615bf55761041691601f190190602081019035615e8d565b9061041691615c8e565b80831760801c15615ce85761127d906105639361114e565b6105639202611175565b9061041691615caa565b9190820180921161113c57565b909182811760801c15615d3457615d2f82615d2a6105639561127d9461114e565b615cfc565b61112e565b610563920281015f1901611175565b60ff16601f8111615d515790565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b92909163ffffffff93848160801c1694859160a01c1693019383039211615d9e57565b7f9605a010000000000000000000000000000000000000000000000000000000005f5260045ffd5b92909163ffffffff93848160601c1694859160801c1693019383039211615d9e57565b92909163ffffffff93848160a01c1694859160c01c1693019383039211615d9e57565b92909163ffffffff8460201b81169485911693019383039211615d9e57565b92909163ffffffff9384811694859160201c1693019383039211615d9e57565b92909163ffffffff8460c01c16809460e01c93019383039211615d9e57565b92909163ffffffff93848160201c1694859160401c1693019383039211615d9e57565b92909163ffffffff93848160401c1694859160601c1693019383039211615d9e5756fea264697066735822122021d57fb103289e2cba8afc2bb1171da60ce5b202c078d95875fb05ec060bef4f64736f6c6343000817003303a4ead7f1fd1850796e39fb36e9b8defe7537ce2eab8f4a81982a31c1c32b995903800c1f8bf6501e03c2fd83783241d7d3de211838818fd823f718a0f0f4479bc30357049b80b803bd0c74382095c45c8590d0977bcdc5d3bd47c4472810fdd9ddd303410b8ccc788bc6275a05b3e9f5695bcf057601797946c106708c788cd5efaed9039b1fe65a0fb00b718e4bee2feb42225927769771eba1e0cbbfb93526765c042003f95984e3406119c3ce974ca410a4ec42e5ce1217972fd362a2557bfcefa778b5034d072c07840934a7083459f8d323b009fa00502cd49860e7e1e9092c70a943af03d5e06324c405ad5700ece7e339e314faa01e319ac480c6b554c70762153ff51403868486bc6994092b6ad6107263985b9086bcec4b955500c323edd62f09c3812e0349f2355791ebea1e07b391095aee8a62bd8b2200fe21028a40e1086e4643dc14031c8453f3d6fb70fd4efde531bfc30de446ff144ede99d6761cc1e283d8aa5338031982184030aa456a1631e1095f41ce9fd88da7a18ff8d866ae1585e54648d8360384b6d2794305cbc4843cddbdcf102593e4191f8c8b459f81e928a4191a205a5003657e197f308eb9ca335ab0bcd68f15f25a56e0990ee913052bf2f715a7920c2a0391c776eafbeb582303ec51b5c21659c47fdbb7e72e69708e347a5fd2c641f6b90320714af4a68f8f31c3562bd1e46fc228ecd9e3b75ef0523c7f5733e62430e37103d86aec80b7f10759db96faeef1e9412c4d2407a0406bcf7972436ce33d5862fd03bfdb92ebfa48ac709d278d84882e56d013914c803585c9db987cb695cf75a6890395ea1325dd0a9ff9dbc99628f29cfa1229a9de7b270c7d3c9ef73a5e953a4d3b00581f02e43f325eecf4727bd1bef88e37d385787af8830b0cbf19675f4533f6713e5820fffffffffffffffffffffffffffffffffffffffffffffffffe2b5da1496c21bc00581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05411799622f4d98a24514011e8527b969f7488ef4700581f03aa4f254a481dc21577ee1f10c57a60a8cf7916cc64297b006ca57e8630005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03ef07c5841b122012e6e0b4d670a6e89ef3521780d3742327cc98c84053f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219882002189003529d72a71dd926eb7b67078e46d46747db866c00f8c08709e5d93cd1cfa34d6103cbf48395a0a13bc4e774c3dcfc61477d332da0fbc2cf07ef2886143a191ecafc0058200331429bf5f08c771de54a12427ea53f8d08ab220e0062836d5d821509cca7b05820fffffffffffffffffffffffffffffffffffffffffffffffffffe47bc1e8a7a7e03d86f6535d7acc513e2879ec75db6b65cc745e204d5e461b5e79b7671cc2f34000395851656b57a227c92de21b8755651967ce24d843e948fa71ef549c69962428603560a5f8ab88ee1c516feec6b2727958d56b43981eb12f7e25f4bdfe27324c2fb033dc4c9336a41513bb2a3d6c955691a712ea7d13e773d1d4e36f8a6eb2e9d2d800387e26f745315569e4dd51b4860ec097a6649241095ab719114e27787bd91befc039ce360a95da9ff530424bdc3363b15c36c4a9dd85114ea1c3ee93bc2a1c0de3f0330b46064e078a3792907529ed3abebad4e76e0a21336eb2707e7da68b1bf02200219ffff03c65ab18fef1554b4a9d05403d9a55a5a30ba2d019df12e429b67c673b3772b7003c9089293e02794c82162ae973a1e64dc4a771dbf5560edbf1b25b382b93629e90383fe9bff9cb1188d12aa73e2a6e0ba47e406937464e4c1a9277691ec950b0bd6035d5a1a9cb8cbb9cbbf84b14cdf138ca27706571bb6171b0e5b8063ddebe6ef82037175f0b71f785d06a951375ef09d694cf1de5782063feeca3e144006c2c7df0903fe453b81bd404f595cdfa7dc49f01bb8b1fa460219c866a7d9a6cb19c49ed679036854808648763676db96930a0f81d8a756f22548da76a03912bee9847376d4100308a7dd0ff78d7317b54d20d1edae4aadba4c17f5fb84d708b55e2e2135c6a8ba030f5f0c84c21c3938e714602fd6f047e7a6e458cdc8abffa89deb75188fb70682030a0452f18c220a87f592d518855fcf0ccee4f53c5d88ad3448bbd1fdea2afd3303532772998c7d4e0c05d25a1456f17c08134e6e04c32791ef90e0d17df1d1b6bb03323c9608f195a6d7567372c03deb7f4254a71356e39b3214e8b43f3059303ad903f539936ad2397cd46e196f8ed1997db145ce5b0ffc81899bc92045a0d7afbed80219ffff03ded42436ea7bf752bb3e156d6fc96daa3cecd015d54cac79de21b70cdc99efd0034e2ce7ea964f01b5c024dd3998247fd6317848afc138e8730526f08253964438035aecc74059e73dfced14658588a2c0e2de2ce69c888abc6531e5c86d0ae553930219ffff05581e039c2ac5ebab831261ef370aa8c4f51929c79cf4b42770acd4bd33b93e400701195ee603197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e0359ec36de58241eb18b95b9b7d038aa9a7832980d7f04cd9eb159ed79b007011bffffffffffffffff05581e035eedd56859f90107f334851ca47f4fe9be9d059aaca01ebbdb6e7b32c00c0547034aaee791f80003e6197e5d0576f310b56e9c32875f7797edf1a4ca6e101c6c9a6cb4cb2739be8205581e037045d5fcb2a66f85e7f76ce53041602347e97c899d52949c705fb05dd00c014716a78fe7dfcc000219e78403d059cbeef75cae69492ea3187854b45ef62dcdcdd271fd60db6aec9c1179b59103c77f5fddc84efd1489105cc816ea7828283e782760a450bba1d0114e5f5643b0030b826290cc8ae2642aa7ab2c2db7678b3389f3e21c3478c09c7f811bc3ed912a03e67f62a1ca43b1cad01bd1a13081f353d1df93f39ef9bd642fc58272587c86ce032dbc74d92d201f08475d029d14045e30a67c014eb7aa1d07e31e915949be142903de54161b8d48beca853cdaf0d3a56e4ad4c2cdaa589a55bbd94a7a250387997d03571afe2293fb0757d15fbd6c6e95e6dcabe30db805f0382f8e793479e08b0162032f90c38fe00d9d914d0fddafd7a26cbbc9dca86b4a9e76c0ec26d0d2a1893c87039718333be28946985c4a16bcb29857873cdc155fe77ebc5f4d08bdabc54175f60352798b9e652bae468412a990f1854ca1303196f1e63e44be359c4cb97067d7ee03126b799d4e7b8896ccb5261ec0f8d2e09d05f614789ccabb0d150bcd0f8af63003dc76ba59872a5812ef7f384aa2d1d2d7f573669adb6f0a06ce0a511a3bf31f830219ffff036edad8813c6fa398a5c4cfe1277f7e1d345d3f6eb07ae2aebc39f2c25b7400bc03ea900ff3fa7ab32200bce874e7aa8f75da8f9d07c198162c3f62e75b239fb5b503d28e35ea8f472a771915d522b11fbe351af0274d84b37541b7c10faef6e43d5403c2cd302772aa031a530f644a8ab100d668bf1adc500ff7c545145b1a650e717d03d9bf77f81ff723f1540352117c2a0f89ba4103718fb82ef4538bd2f953d350f403b72c133b343ec63857545ceb063202783018043a8e7d84b296da1f13aa95cfaa0350dc2b6301213faff12b05312f56c55e70a5c28a15b4b07cb52e0b7aeb546e580219ffff03e2dae78d83f7709094bf7ce6e0f37b5f68c98f2ac6809cb19b1c0eb96df7a72d0319f1778516a397dcac90862e800549d609c3f3244a621935457dc7a3a9c0fa48031f224d33b0a4a81ea17c86fe7326b4946a03c0c924479163037afd23d5d2da86034dc67e4c61a4038b2f782bdb4c34fdc28594c994959a574a31ac85c915ff6aea0306053d83fad30d8890dcbea1d10b078d41b0e967ad5e65c2886466dcafdd82fe0306574716ea0c706eb551248e5ef477b696c5597aa45556251e4e6faaec211f560219ffff033f53e5f5062cb04423e898648d98e6733e2124f7f0f6fa0504fe639d5da860a903ecbf9e82f1e4da943c6c0ca8d4f0d91bebd2b464c19347ab3eb5770b739acfb30335a41d62f3fa162ae1d5912ebf6bafbd08dfcd1a1bce6e512d5eb808df6dd5570219ffff0323d2b94c59bb38570c41220ee8195ff18f2edc4578dfedbc2baff37def37b15f034b6dd7d7fa83d50ea8939eafc26a17cd2a9eae5b0f0b38d23ed29b46e90b42dd0301c984c698c26e8dabf8d651431f1dadf3cd9279da13ef59280461da2417d18e0378aaf60ce49561b72e18bae5b8dffd44f9cc4b46c330364667ef51075a173a5d0332abe995a4d99d7404bfcb1ea926e995fe76c02824e30c3d3929098e904e4b3d03555bdcb96b54dd643329d1a73e5d86e259d42612676ef285d71180370d785e9e031f71e6495f12b3b96f0d420e67efd9eabe666fdbc2f82cb6daf1fc6034fc27e503b39d07bd1d58a15227fa5bfc3949623952ba81a4ec7562d249df1eb744ed0c4f03ff1eb928354560bd6ebf24d0d2a49f5feb2c2fe6e475720c0c7c77f5fab734ac03d117ae870781059f958732005778eacb5043fb1a9a994f2223a4e42e5e0a563903c6e5728f54925d441130a0bb7550d03b8c39134bcc83b159d3e70d21726eb1fa0396a725dac0d08d40c60393d9c7816d3f9d68eb446d8e594ea052b77de762d69903cd5fc5b51e4610094a4e54366224fd71def1817a65f2344ac95c64f2219f9f460355df5b1b15e3ff76bb0ef358c10450192590d3c97f8dff6aeb0dea92cfa21c0d03f83e09f18b3e04112f5762b800600cd7d51d17bacd03e988d0181019349e31a60366fb169a945aee692f9cbf0dc1e6c653a3e6284f0a12d235bc66675da5bae4440307be7400a7429caa967edbaf62ea54498fdd4c8740e306717a74bce66cac7ae0034bc8dd320f585549e293f9127179e2d534a8d021401aed9211f2760c67d2828b0360fe462f96a05a8328a1f1b16211c7d051b3bd64b4eef6d56a9c4677d545e049036b9c7420690ecb8c3afa7bd530682d883e2f10b98cdf3bc783baa2104c24b13c0341863527661c71e46659134ff83423964a91ccc393e3f5c9462b1197fbdfa83c032918768877cf77a2b139c373db001f37b21cf7cfe25bb07d1cbfa4f6f2b8409d03a58cd362c031542ee7715fd3d14f2f95ab2791c40e5267b5d9dfd47774f5534f03e937973b04fd194c1be97d292415d288a118d243e23e039ab5a2b7dd894bebc503e9e93a12cf2e602fb3cf32aebe16c9a2f7b5be1688b1f4a826c5b07c0fe2a94c014102033d824b9d1fa2a70375eed15481af9ebde02e8b061b79205b0d609f4fca6f885b05581e032dc95976c7979b101f47d2ed280167b4e10847601ba78c1c0ef9af8ac00c1841463ccba6ff507105581e03cb9ccabb0144252d8ae59fe75dfaf8fa65e44e722b99ecc38e10214010040905581e0373eb4dcac664243eee61d72ed0193c734207885d98f33dd07fb555b2e0040305581e03d559bd8fc25bc64f154981875dd00304ac09317414e20a62d8ea9edae00c0847154f90ba2b8253031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e036aadc732c5a372de5a50010cd3161413c2dd29bbff9cbb4ae099be721007011bffffffffffffffff0310fa37f1b05a202731808963f5bbbce233a7ee3649daafa4fd2bb265a6fdc2d403d9724bd1d74c798a455faf28865e73f3227a8f0fa4fd65f05515173834c3862e04592377608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610acb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610af9565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b23565b604080519115158252519081900360200190f35b610339610b3a565b604080516001600160a01b039092168252519081900360200190f35b61035d610b49565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b4f565b61035d610be3565b6103b5610c07565b6040805160ff9092168252519081900360200190f35b61035d610c0c565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c12565b61035d610c96565b61035d610c9c565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610ca2565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b031661111e565b61035d611130565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316611136565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316611148565b6040805192835260208301919091528051918290030190f35b6102446114dc565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356114fb565b61035d611508565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b031661150e565b610339611680565b61033961168f565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561169e565b61035d600480360360408110156105a357600080fd5b506001600160a01b03813581169160200135166118a0565b61023a6118bd565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806122886025913960400191505060405180910390fd5b600080610667610af9565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806122d16021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d611a1f565b891561077057610770818a8c611a1f565b861561082257886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561086857600080fd5b505afa15801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b5051925060009150506001600160701b0385168a9003831161092b57600061093a565b89856001600160701b03160383035b9050600089856001600160701b0316038311610957576000610966565b89856001600160701b03160383035b905060008211806109775750600081115b6109b25760405162461bcd60e51b81526004018080602001828103825260248152602001806122ad6024913960400191505060405180910390fd5b60006109d46109c2846003611bb9565b6109ce876103e8611bb9565b90611c1c565b905060006109e66109c2846003611bb9565b9050610a0b620f4240610a056001600160701b038b8116908b16611bb9565b90611bb9565b610a158383611bb9565b1015610a57576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a6584848888611c6c565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280601281526020017129bab9b434a9bbb0b8102628102a37b5b2b760711b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b30338484611e2b565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bce576001600160a01b0384166000908152600260209081526040808320338452909152902054610ba99083611c1c565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610bd9848484611e8d565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c68576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610cef576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610cff610af9565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d5357600080fd5b505afa158015610d67573d6000803e3d6000fd5b505050506040513d6020811015610d7d57600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d6020811015610dfa57600080fd5b505190506000610e13836001600160701b038716611c1c565b90506000610e2a836001600160701b038716611c1c565b90506000610e388787611f3b565b6000549091508061100f5760055460408051637cd07e4760e01b815290516000926001600160a01b031691637cd07e47916004808301926020929190829003018186803b158015610e8857600080fd5b505afa158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b50519050336001600160a01b0382161415610f8d57806001600160a01b03166340dc0e376040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0057600080fd5b505afa158015610f14573d6000803e3d6000fd5b505050506040513d6020811015610f2a57600080fd5b505199508915801590610f3f57506000198a14155b610f88576040805162461bcd60e51b81526020600482015260156024820152744261642064657369726564206c697175696469747960581b604482015290519081900360640190fd5b611009565b6001600160a01b03811615610fe2576040805162461bcd60e51b815260206004820152601660248201527526bab9ba103737ba103430bb329036b4b3b930ba37b960511b604482015290519081900360640190fd5b610ffa6103e86109ce610ff58888611bb9565b61207b565b995061100960006103e86120cd565b50611052565b61104f6001600160701b0389166110268684611bb9565b8161102d57fe5b046001600160701b0389166110428685611bb9565b8161104957fe5b04612157565b98505b600089116110915760405162461bcd60e51b815260040180806020018281038252602881526020018061231a6028913960400191505060405180910390fd5b61109b8a8a6120cd565b6110a786868a8a611c6c565b81156110d1576008546110cd906001600160701b0380821691600160701b900416611bb9565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c54600114611196576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c819055806111a6610af9565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d602081101561122c57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561127a57600080fd5b505afa15801561128e573d6000803e3d6000fd5b505050506040513d60208110156112a457600080fd5b5051306000908152600160205260408120549192506112c38888611f3b565b600054909150806112d48487611bb9565b816112db57fe5b049a50806112e98486611bb9565b816112f057fe5b04995060008b118015611303575060008a115b61133e5760405162461bcd60e51b81526004018080602001828103825260288152602001806122f26028913960400191505060405180910390fd5b611348308461216f565b611353878d8d611a1f565b61135e868d8c611a1f565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b1580156113a457600080fd5b505afa1580156113b8573d6000803e3d6000fd5b505050506040513d60208110156113ce57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561141a57600080fd5b505afa15801561142e573d6000803e3d6000fd5b505050506040513d602081101561144457600080fd5b5051935061145485858b8b611c6c565b811561147e5760085461147a906001600160701b0380821691600160701b900416611bb9565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060038152602001620534c560ec1b81525081565b6000610b30338484611e8d565b6103e881565b600c54600114611559576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b03948516949093169261160292859287926115fd926001600160701b03169185916370a0823191602480820192602092909190829003018186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d60208110156115f557600080fd5b505190611c1c565b611a1f565b61167681846115fd6008600e9054906101000a90046001600160701b03166001600160701b0316856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156115cb57600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156116e8576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611803573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906118395750886001600160a01b0316816001600160a01b0316145b61188a576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611895898989611e2b565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611908576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b81523060048201529051611a18926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b505050506040513d60208110156119fa57600080fd5b50516008546001600160701b0380821691600160701b900416611c6c565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b60208310611acc5780518252601f199092019160209182019101611aad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b2e576040519150601f19603f3d011682016040523d82523d6000602084013e611b33565b606091505b5091509150818015611b61575080511580611b615750808060200190516020811015611b5e57600080fd5b50515b611bb2576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611bd457505080820282828281611bd157fe5b04145b610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b34576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611c8a57506001600160701b038311155b611cd1576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611d0157506001600160701b03841615155b8015611d1557506001600160701b03831615155b15611d80578063ffffffff16611d3d85611d2e86612201565b6001600160e01b031690612213565b600980546001600160e01b03929092169290920201905563ffffffff8116611d6884611d2e87612201565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611eb09082611c1c565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611edf9082612238565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8c57600080fd5b505afa158015611fa0573d6000803e3d6000fd5b505050506040513d6020811015611fb657600080fd5b5051600b546001600160a01b038216158015945091925090612067578015612062576000611ff3610ff56001600160701b03888116908816611bb9565b905060006120008361207b565b90508082111561205f5760006120226120198484611c1c565b60005490611bb9565b9050600061203b83612035866005611bb9565b90612238565b9050600081838161204857fe5b049050801561205b5761205b87826120cd565b5050505b50505b612073565b8015612073576000600b555b505092915050565b600060038211156120be575080600160028204015b818110156120b8578091506002818285816120a757fe5b0401816120b057fe5b049050612090565b506120c8565b81156120c8575060015b919050565b6000546120da9082612238565b60009081556001600160a01b0383168152600160205260409020546120ff9082612238565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106121665781612168565b825b9392505050565b6001600160a01b0382166000908152600160205260409020546121929082611c1c565b6001600160a01b038316600090815260016020526040812091909155546121b99082611c1c565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161223057fe5b049392505050565b80820182811015610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a2646970667358221220713a8bf21df06433f34b5c9abf186abb737e72524583bdf420105a289791e24864736f6c634300060c0033031efaebca841f74745cb6e766120103dbe40805428272ced15179cc8a4a2def8d03eeea6441516d6b2513016da813a8b8bce7840a4d91ada701e51f57ea6f5e2fb2031fcf50fafda3f21907d386052ecc5c20bc1b5ca92d76c793016bd48f86a96dbe03641a57b38490a6a12c0f4c10d6f921d32498c4577ad79220acd962f9f5a1cd80030040dcf7f3aa287bab9895ca799c023b13037014c46bd1a9b07b1ee81afb7ce503981c70f6a82e33de043cfa19bd25381fdb081743b0da5ea55ea1f555f92e6d020315ab44aa0da48365a586691e5e202275b662ebc319fccc573ac16cb87c193f5503066798f2c2d1af43babd8c670e390dd2b7e1ed102a3c73e9685a6ae033c087cd03a8c94e8acecfbfff62205d880e1a402d45c1d99330f73156994cfd9c52472bb800582002cfcb8fac574fb0229d4954fe2247025c2edd760f44354d34d48608149378035820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0396dc5dede6e9ec6dd6a29bd320bb774e02525269b94866086cda41e49ed6c0f5030d59b2d96450076df55a3fa999f9d552a97935223ee2255ddda8e9ebb863300603c78c063c10793c53faa600a299f2dc58e6ac27caa4567d75d19813ccd810d60400582002368f5ee7757d2998179ccf636bbb755166a074c51512a3402f21948ab716ba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d03b69ed2d160228ea5815e96c22158b60d046aef66eae4632fea6fa7a63117403e84352bb642d74737fa7e38b658c69c259b9a02b9b5b86fe5a29c8d6762e38ea005820020ff7d2cb1e3bf7b963cdf588960b3c9b6979d40d6b2f01fff5586ed3d6e9b55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039a0e28a913c99e337566e70a322feadc6de922d76b114e6a8d613be6fc92b93f00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05449582d8f7a2a4b26b1d6f6ed5d78591110f5cb5300582003ee1ddfec1752046c9e6381b0edecbe9d05beb20b5d243174938e7ba40a60504624a1fa38de550058200357b24de4e6d144da2177642a42dbdccfda63ef9c91a9cb218539cb764f17d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190c020058200257ab3f46ffe4dd25ec68dc1477b1118fd9a6cb61d0a4a8ea60ac39030842485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219fdfd03309b2eaf2ac819d9eab4a44ef79ae5700ad5f4f3053a53d7d3c7cd1e82b1600c0347290952b33addf007ba38044fe6699754fe8ebe36a132cf7149e6671c344b3a032f95398bb2cd4a27144f203835accfcce78497c4b04d881e6a927bdb17fecf570058200220b77d6d3ba60bc6e5ae9d1e9e809513212fdc49bab03c29c86ab02b21f9f9410100582002a0dfab2eeaa3df384fefe72f9a1d16dffa456d3086b43113391c76b8c69ecb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a1346627abe19a88fa699f660a894e404e2ad055132316e20d1a593ef7d05f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820025c0683ac19c94b9ba9204f5181a8fbca19a91745c7009229a9959014ef22df46269f76eeff4e03537f531acfd5dbb7a6a1a6fdb21601abba23f99285d544208a0272e0ceb4c7cd032fcc152da3650f31dce1f4313530ad97ccdafd5e0a7f82cac716e6972886980f00581f026b2d468631df144842f0460c4f163f91630f1b7e73f03bb9cb14c20b16da5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20219108001410603b3efaf02d7e5627e1214dfbd3610bccfbd24b7e281f04bec80df4d6663f1c17600582002bfed79814b9530b422cd90f7656e2b0b8eab15831a18aa98bf966938ae83ef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039e829aeab16bab1982638df0462e13c4fb3df5e852861befade63097d6fdab01039a6f37e88333b714cb775af667813db657c59f54446852fb855a22d2fec9701f00582002ee6cb9f42a821deac3732a3d35b1fb93ce8e20f525d0d1d212cd9a6c67fb6b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002d5589a07df3d13593c476bad22db1e2e8159a12005c201a6d85f8e361dc62e410100582002aadf37527ccefcdba27bdf92cc2a3268361a01ca523087dd59bdab0ced429d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219edff038e527de5d91a1ece72c19bf6a06d468f3e4ffab558d515c9362f7fc23b466ddc034ce1eec1f8d3ac300bc7baddb182cc426382cde6172545e69680decd5e83484103d00d9fd332bd428b8cd90d511f8f48f71aff0f59602cfce0dc18425a558be536005820028f72983f344ae5b0af67d2c0e76a56f5bafc40bb00d87064233c21f62a78c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200341b4d560ed4fcbb950419089ada4576ec5ecf0d33725d878baa6f1e4691cb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a805001091808a037d2e15c7d63e95be51f72021830005820022ff1174631eda9b059be01cb7f7517bc98b36c19ae0ba0904f4526d3b691ce41010058200220485cc40a03de60b770e9494e075ac80d70e5414ac722c1cdbe5f297a225e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030a12d4483ff985c5b5ed9e347525c9a1e5a3bed755f04fd927d702d99cbcaf6f0058200242b13cd28e578635b9741a42395ceaa5f756c24785d8fa1d05c29bde5c5a4c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0381f205f7511b48441fce09633a87bf00da1c9cf1f5500b8217fb192653a925f50306ebc1281531ab8cb90c419f444ec86199c46a65e0afee2146e789fe679fce9e021997d6037bbef511915ae51a76a3c0c049f6b601838d0865ec5358eb884777eb84736a2f03f724975742de7b4219933c075083bb645bfaf623c71fdc10ea874cdb33eabcaf038a588b5378166ede812787c94346915c5eed4f1cc54cb779c714a6d4095876ec036218cdbaa5b69ca88abdd0f867e5f3a12bb66a3e71960c5111b159f927d93d51032b42ba61a654a4d643fb1e9477c3a371f3e037e59588e2c0d847b4a2e43e74b4033ac20a2702cc522d968e740e23f8fd9579b8d51b2d83c7004ab1b4350d98161b03ae3e84de14353400458043ac11ce7df359923f5b21f7f78660723f78779925610375d0a9de7ff975120b0ef9cd3c8837841c522e46e8317c8cc5dfba94e91c6cca030de15a0989a91a95060df61dbb3896c2a052d595a16e58ffa66bd8b2d683b1cd0330b8836a333b4be6ab00e5846e5d7db628b9cefa1c50c84d53e6d2b59c1bea5c03c04e4ed189962f1fbd3433ac4221788be21170ec24a84392bc346aaed832a65103f0790219125bb7cb58ab01e6a5ae29dba9a96fc0fcb2bf724c7aef71cc488dd900582003afa291f7f61e2d8c877be40fcd76d75e0a54ad57255aee48cef5446361f3705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7041010218420219edfd037ffdc4ab905b2efcf0ae25cdc6ad3455ad60839983c669a18f917bb2f514f42e035a52ad526a9beac8a27d6d92af7437b725eef525edd881a2d8a77d0806e5b109005820025618ed4238db27d3305c410dbed185bc793bc42f3741cefa430a81b927377a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820033e06f5f01716428ce7f1336f78556bd3d62dd08d7290b55d747cf47edbc6905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200337f82a6254f936c7aa3a5d9c54318201edbe847da75a5536612abbab57b3d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058206632d03b000000000000d084f4c3ea980c2600000000000000002868875901ff0219c1000058200205ec9fe841789049e8d796c84888877821709d910a82e4912bb4fd4af5d9b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820035ce5bf8e3054e5c8bd81083a5c08b7a9718c4b3c00de93e7d0b96350c608605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0544c19596f5aaff459fa38b0f7ed92f11ae6543784005820034bdbd5f1a83a690369b00b77ed2bacc07167c013d398985ace00c8bfb38f805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820031b8b7e23a3e6249db6a7783f9d29366cd36ecfa4096397d0dbee41277c52c04101005820037daf629343e743d532b98228762ec88416cb73d54943e7d8d5217022bd26e04101021944b000582002c80694c058718f12681778bec63b4a08ec298cf3c5326b35f699c0e7abe07a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b124cf9d1933e60988e75ec051f36c25a452e207c83204b6379bea5c76b593f80058200223c9f3f7ac448233afe6bc45ca03945eea110de60d981e6b0bfc308f40e8fd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032072c790097a8499041dc55e9330abec847b9480f5e9526e48914b4a9a758532039d2048cf2aa0e8d071b1e6b8bf17ba2b4613973eaf07bb60d4219e259f91a2b500582002d8b0d8dd7a02c0fc168c0dcef8595f57898b7ba6b8e834b7520d915debb81041010379b70a241aca5d5cc327d0383b7269dcf520acd76bc7acf41472cc19b8e8725a0219ebdd0219ffff05581d025c8785f434d9ba2591a37740d03681ac0a048a77c0ddbc1b9092fa0e070119237705581d0293246bcba4f77ee4a7d8f61162616d07ca40fce2733abe0f53f4c7d2040105581d020be24b8bd196a30eff74f917409250ef1d94970c7ca69e44db26b8af0c0148044bfc35314ef92a0219400a05581e03b5f7c9c860ba2fe55b952677eb119e4d39bb56bacda858bd44b0dbd3c0040102199d7b03a5f086f7281c44173fc16a80f4983cbaebe8dd61e3358a7171167a4865aaf2c10352c72d1ff091190cc88b96a54c573d6c021035e352f0476ded916e67ee2bd2d40380521d343ff995b6f2f036ea5bd2573436fc801161c6d174b3821916c6af352d036eb71ad8a037d09411372cf7d888cfc9a8dd09239034e31580a573140202210e03da613ccd5cd393db0fae777c246169e8d1a06ab99a0ccc4cdcd57fc629662b1303b2d07f60cd471131df1b13647e7c02baa47ff31532309202f5e4c3098312f94f03ce4232e93d95dadeed38000c561d4430fd0c98916ef3849f0a7e52c9b2a375cf03efeede505eb7ee3a0b4298a91e6fb6717c284676601c1400f645f2d16b6c351d034b6f5511f2dc94c670808ba61e0aef6f2b5ecf89fec29de78faf3815372c14870219ffff03286a8163677d14f1e1d6ac132b91f2d64cb19a32d72cb6ab7dfd53666dd609c003c96e2816dc8cc38c4e0e64dd436d71e93742928abd188788dd530e3d6056c06f03baad2b55f5b5dacac2f67ad0bbf0584d4d602d13d4ec069f31f7d5137db4f36603a4f66ffd527919057614136ce4ed9b77bb0ab00d9a353cae15e4ed08de5c8a0b03a08cae1ad25be1fc231596c249979cdbbab5a9dd1e25d4fbb27b32a095c8100203005245909821a397678d9fd24145b845e616216d51684e6252cc1c6139e088f0033d455c013fadd3c4b86ac753fa6f8e6eb4d27f53921054d939628f6054cd50d2038c6de390a9544c5512a094d98b70ae41f2c1f271da16668ea08a6b63568e87c9034fcb43a68b2fcc68e583de593420363a470994f455bf739867a9385937244d8f0219ffff0380469d97dccd2ab556ab66d6af6341a99eb82963535e5ecf3f194968fcb9818a0375ed2498fd75fc49961eaf957491cf86a54c191b4d6fc26ed1f2048f18945341037b6f191f985cdcbb2c73d3a58bfc335c51982eca675cb5493ca90cbdbf362cdd03a57d800d4542d109621c08dbf7f42f4d0fde903435778769cd81c9d4a0349957033c5a2b5c28b67100fb2da34d51e66bb2e2adf72e9881e0ca6ac981dad37198b90219ffff03911f42a8ccddde7730e991302b98044a0bc6930f315b4a4d95b8241b0cdbec33031023cacb0989ef611ffcabf4c68763acfc8b9dc384de1196232beeaf0d1c4d3d03d00d8a8640b43460c26676e7c96b46ccdf17abdc20b3b814c52604ea633e040c0357d3de74efd9686a3dd20a09116ed4234af05d80b7396524137431fbe2b921f503981f00a6179cf97732b5f40035d33b5c92f323357c95e8c1248e6f49fc3be0d903a920889caab4a5330d97becfe0c6ec08a441bbf9de81e23a0bd21aac0e799f12037dca3c4fa057f3de6dbfebd272e2ec46bc786b67d5ecc725d40a83fb14075c5503c1305dca36381fe084e6dbfe2ef23fbdd68f70acac0dddfad7a1b741907a0112038e18ac67ed15423a3dcd3aef036562afead077fa5d44f7d39163fecc3538e8ec03951a51fcd30a6a8a0e85a2db680b23157dc24c18bb2a6e20ec1a04426d2ee8b7034d999fd6514555080be3da28096b7e1e3d145b28c278fe99c9bb7ccbbf324e0603a8fced79aa4f6b0fae57f0b218711a497a0c7f326303338ea9348a429b746ae0035e84cc2c6828e8c00314e43b33ade145e7d9755760299f6fcd99a6cf1a78984203e7624e7c977710fff369b7e361deb88c819fa545f76fb51d28024b7056998fd503510211091f5c0bf2a0cedf26b9c7cc1dee1f7d2fef09b57e35043680c716e59103916eac759c399ce8caecc59f88a7a91bdcb5ddc674ddcd0d94d166a4314bc98c0357235532406e642367af5bdd8546bc5e41b44b50da9123ed9fb3fd9834bcb930033eec68911fd796c05a4ed2a0772953238055e5f664a1aea50949e5a6667d446a03b6b77a09bc0c01ee5f8184b710d5f74e961a1c9192088a3718624248b1f22fde03d18186dd3423c12def62610d7d1c6347d992d42ab3bc2bf9f4c1c6c41446906c03b919ed19bfd7f31f8a54194e075f5e21640fdbeea33b2b3d457d8b84f3bc116c03087c8ee04de0cebb884ee9c261f381559b8081e0ce6f2843957501573e4a9bab033582b70abb65c9212738190d50621d7e3b327ed886ea189bd4c44145a4a32acf0362ff35edf53f82b60e3014b497f45fe785d5ac4399bf4b0a456d0db2c249f7e80345772bf9d655261ffefb25e00f2060a1957f16604ddddfd3eb56ac8005f75a4a03a66da70bffad524620b76330b48acd91b825ba9da9fb133f5d62885752c98850033af5a27097d47c03aab8b18c443f86ac7c50db02977e838d7a3af49eb84d378f03152c4dde9079ab7caadce45efbe7efe09b9de5f626a974c17bbb4e5369f9871f03cbc8e433f50f79f69261ad75bb7cc1d4e7df7dc7abf007f9a3be8981c48955870396d61a5842687bd0c5fd6e30214426c7c85338c293b234461fc8c852a87362ee04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563049206ab68b08b3b5f1880058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf6049206ab68b08b3b5eda000582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04f974752f92f0519b4159ef18e80f8ac0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820bfa302eb052d253a2cb09c67d6af8a0a0e18fa52b4c089c223c089ea3f645317005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85304d787665d3f087b9365eb6794960b8cb1ea9402184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632c42300000000000040af331d80f7949400000000175b75ef1d40c111b86f0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54a26edd30b6f1cb6ec66cbe86151e18742bafb2ef0218480219b45505581e0367216226e0b3442d89d279bcfffa448100d96d7ddf069c13e1e9cdc3c00701192c1d05581e03ff227f5865736e75ce4f9bb1f61b806c619a226e1860b8f8f3addee9000c0246a2c58e3a7dd805581e03fa8c48288f96ae5a1923b2d870ed1225f2e89beddad64c5f68fae5ab70040103b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b00003509c9fc217e4b471ab506c5f599f29f19b71f9c9340921abba654f5bcffc62b305581e03ea1816c850d56f32f75d794b85ce19f53cb0178d138a6d970f57951c4007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e037bff25d1ad9a6b799999e566e0442f58ca4f54ba06869a3e4e0a11748007011bffffffffffffffff05581e030009f7c56131d961fe24d6ee7a5f4cf66d3036b8044a64230eceb28ab00c054709a00bfa9be100037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e0312ab1d5b67d22ce134d58c34df101fce37e922cbb3296b92483041613007011bffffffffffffffff05581e03ffdcf4b4ebb9107f9b323c55d2fb9c03e00f8365d5ef47013e44d20ef00c03470c15fdc7e1283202199f5003efced5800a70bb7ae842f793c4a759b53fd951f6f304b86559fd1dab88110f0b0350218c6068741174cdb89a22a5983a709dc0e76f71aa8eeb4298100f189558aa03738aebc391ab8c55a907bea5a315ae9118d23de463dc69c3d4ac54d8ed8faaf2032295b2429ae57525ce5051b86661763bd97cff8dd5688482990e92169d241021035f348e2f26fc7199cf8ba4ee28e00b00048ab3e375f99ca96748ff85ff1dc64f03d193f45ee5088ed33069acadf6fb12fbb1b5200b0c26f4cb94af2189b29542a203a2eb0c67e1695dd0b1ecfbd3002a1690d74f175c14e727b87261ce8fc0cc8da00219ffff0219ffff0318aa112a548db2be4d224af6aa9d641ae3a08a5dad76b6bee6d56bc02e30f1980315695e09c25a397323ef9444c4cf3704dc75f0dbbd7741a5556e807ca900cc2203d6bce6e456eedb8e3ac18b697c0eb6b6ec5d4d773d25e9bce40ab931e30c80ed03e97f9047343f97b9e18328bb94bb0bd8d8ec670daaf38a5f8f48742c2fd3079c032ae8fc4e795c987d85406e87b14b198367f09e63b5ba648311a5afcf11c5dbe703d8c4fa3ec8ee88443cf9b440ef2301366e9445a46d8b14b99d91f088e70980d10398e8676de08917aecd9a82a7803f66d3a30e83eb996fa72df4af357921774dc603a35da55b5fb78d5ee387aa512003803f727a879a464113a56e7d84ea030002f703e9b25a078b21bc67b0f80c3690062b142bcbc58b46a2c9408a848e73dc37e0800219ffff035fb67a45fd4b78aa36c18f948020212db5ea19bd885ce56356d3598cd9fdf06d03d8d0b96948da7571b592ebaa716acc4c8f2729f902218efd23573b97179f9c02031f8f04cfde151e4165420f04ac619ad1d5b88d417780f49d0dd7bbc05428d9dc03d4e03e07d6a0eb4e1834bcadd98467dd75df6c9387a6c2feddae14ba6f6a9ba90349a764e524e1c9cfd4eb0968747c0b47fd1ba9c1d29a1568863d71319d78284003c9c9d8546aef0da793f34acd69ce01e4f89b097324bd4b316424a6fc898affcf03ad08cdfd450fa742a794f66e1b11a3bf11acb22fce484bd0b9cc4589c43fabe103a46cd787f0cbf5e3310a746870be212bfbacde33c7982d17916a8d331b0c7d2b032daa3c07d610195bcebd0384cc5e9dfca1e7dbf8e2d8881485a906101570693a03d4391c01c7de9f5604d675bd177ca142909aef11d67a89e3f8ef84d5e5e81ccd036baabd438507791b42f7ce738363cb825ebbd1c193bd941a2f7396ad621e7c1c03f6a8dea1df8649f48854754f264752b55028e519d75d41379c746fdda62323fa031216def985446b86d81ae5d96deb9dd17cda2ea2035ac3fd05f2cbddc919ddae033a26634a8a028afbfdf378b7ef7fcf5d30aa27966b307451a5a1343ac16b297b0383a96d73b0fbf4f7fdeacdfc16604bd04826e1be10d5b832ab7745cebfb504ab039ca202721aa0a2dead92692f1216e12ed5db7a9f0c11523609007fbe8e44507603e554c2495b3016d93d35dac00f00b64bf8bec38f280627258643231cce88a2f703844c62b90c7ceb4e44a0dd103eb8469f03da8921214814e335232821f3fc2ac303adabca66b120be05d3800e649444638791fb47793f7edba0cc1ed0e51670172c03b543bd8f7e021be66c55bc246a5c7835fdb4259c83bb0015f0ee4f7a9cefd9320350f419030669588a1a930dab0094959dc480c736c359ec2cd091bff8aba424c503a4965e69692fe6077521dc80183ed4a434d8656e316859c3624f9e388a0da01703d4df54fc04efc8a32079de1fad24f62f73c98b2526fae0a6653437315e76313003686c314346405613a46fb73226f1fdb9279c374bbc66fbc8755caefcdba59b1403db0c17859d1fad0b6cd63524c83a96af0941d6645cd5e0cfc4be478e04c563de036c0122f836767507afe184a62fa3c69250fc43a6fca55287bef48e38f9fa657503d421ae5a4d8187cc6b1a467772ddd59f0378384f06e08d7091ae61a332beabe00306c562e47458ef97ca36e17d4aea6dd52978c8afa1309bb8307a7323cefbdf8103e8a66c5b12417307c226b8fab5a08e3b15dcdcc6d334bdaab28c5c8de8c16eb80350895f5b6f831d3cccdecd2590736059859b97f9b43d8ecaa2ecef620043b87303d536356d5f8f9d9d5915f1379ca3c82399e321dfb5b885655a4c483017b8de4e0378eff23283ce34fa39fe1c5c7230f57122e2d8736cf52fea4a766da0c7d7fd95035d1bbceb41de2c5f16c77170c95bb2c9fc73864fb4430aec1c3937beae1005670383db3f5373608b3e8d3fc546fa310ff3d328c845ed5c490bc0054c8fad11fa8d038a7e4307953874e2fa6f75dbf283d9761401b6c482bc125f017bc662d97db692032377b9b75c8faa662dcca32390be82439bd220fe47e940e60c5deb3a8365e83903c8ecdee41145507462c8d28d92ca56bb9c88004c6dc796733a92484755c24047039bc00649058b02b5615467069360271d1799352a64091c24b8278851a916be6f03ed4034e7b9c04490ebc06bec142696a3cb854487dac550ebc04eed81628ee80503be70d0854b97dd411ebb357b7f79344be3c70f33c375ed7d6626ea5a97affd5505581e037b8c0af72aaef79c1ae3abc6a55483c881299c6d3e922bc44d8d7ee1e0040105581e03b621792fc20f8dd3792974415fced014f0527a28f8562267c12e73cd800c01460c866d5d930005581d0299a5932aad220a0149d146a78cda3d10dc30cea6f813c743c74f0a750c1547899357f7a63a8005581d027640bdf0fb6b8c884db1aa61f96ea8c8875fe86fd8217683b12731160c03473f621072b3db2802184203107095a2c47e778a24aa6644ec24b037b52496254296709558599141c68919cb05581e039ddabbcbf38fe5dcd581ae13d09ce37e2d827fed3e5b4f07bf7bede1100c034719063dc0cdd28b03443d2e25112a631731ab832d25b67c1b9ac98e0a3d27e7257f5149b7e35a344a036f543d15b4b2fa2ad5a9619a47bfce36f8439949f8b674ff0c10dfab8a82644805581e03b3341d7c459fc3b8f8763381a096e0c23acd6b01d9dd2e6139a8725f90040103496781735ce00a339fa1c0e862ef75e7b1e4b7ebcd7d7757590b417cdb5c480405581e0340f69fd61c5af07b5e1cf0568e89a76f6b7df68af84e8408eec494bf1004020219e72d03a0fc19a1038de206f18e3f6e913762af5ace81a3a3a4dacf6f7a3bf22051a833039cee7c23978a45759411f59e7f51cfbc9933f1a77fd31f4ad1072989761fc10003393d52066181d64ee2d4448c02936612de102da8c9da0d9a68abb8479b165c2903a9288f4d177ade0ab47e119546946ae8216f08270e40b299adf598515715895e03cb04f6b81bf65bb43559897479fb71e1a052774f9b7be96acda9184ad3677dfb035decb857e6951cecd41fb6fe2924cd4cc065495760b15f547983d78edc24d0950327c7097d86eea8f0387a4b8a7a5c5cde8cadc23f3d7444bd72de19b37c8446da03dce84b5ac5ee60e630481f3363975370975ffb9cd49a3d5ee1776d5921e2e53303084305edcb0c46bec842d07ccdf5ba1b77a97a5a0d7e1c783635230c1fad71250219ffff0219ffff0219ffff030f8de3b796648000a555ec941710080bdec137c3ecd446c19dcb3dafdc11eebc03e79872042464a604392735e6c65d62726abeeb1554cadd6b93e897ea792b6a0303b4821526caff4fc7fbf9d9bfc3e6d7e6aaf3206ae14ce107554d589ded7ebd640310088213c6c2d9633ccbb578beeb1aee23e89008509abec792685dbeab7fac4c0360193767df56e1c82bc00242cff52781d5291c9c9b192b2b319db2baafc9554203f0b0f9f409af1c9626ef9f4260b134cae789c7ce028f35c4d672a6dd638543b10219ffff037723636c40da8ea53dc36ebac419bc98cd1d42e88d22bfaefedf2c279417f612031f942e5682d861ad3aa576e5c90311d863d25e36195e114b48949ec916c29c8a036b4d6f7d292467afb1e0f5268df29d786ef592a9d1aa40ddd44c0181f33ea23a032caa374873e92b23dfe367d67ac3038d6dc8b52658605de7e5d453a4046738d403500f0d5c167e8190f79ae1064b99687f349457254819f3a7b4c3819f5b35a533037da6b51bc38b837688ef44e842b013351f4cdc590215e372718879c79ca9303d037efb6577afbc2962550d689932a23c314b4810c52e86ced55dc3b0042a3f315b036ff8927de3151252a167ae4f64a65fe1242a33c052b0538a9bf80f46047a5b2403958db5781b6987232111f04623a51a29bd2beb1f08ff1f049ad8a743e87d2fc10303f477bf3ab1ca00ec255f3dd0efadd24879617f5f61c0e6e4512e302b230a530396fb8b4a36748c0487a68ef4e09790eccd08b18ef2517f94ab35f8345dad0a0e038421504f33c8dfd9afd55867ef1325c52c22e8fcd5c2b90f5a1c635aa196b94603b30098e6cf1cef674af2fb4eb5ff866c5a5940ed40f54deacb4cd32b8c382d8b0389192ebbf518335e1921504c3e7f7d238ca2705f568f6c9fc27b66c5a1613384038ac44b7aa80b19b43b7552eba87b81b4eca38f064e3a907ee2f29e52c5c03d9903f72033e96d8e557e43e671de4c1f2041fc895d9a0a6d8a774e9461fbcafc7561030b6ac54346336551025728062cbd8dba01439b5a3f994b326c0f3efc82fdf2ea034b62035b6cd2b1ba947201d3eac428329e1e8d9dd78174a3d342727f2b13bcfd036b55443dc53dc2ded42e54d97463a3c1c6c31f3b64b24f66187f04f14d31f2890332a175f875d1710ddf54c9afd629e263e5c053ed9fe3aee4940dfcafc31651ba03501b0163dc5b68830b2b151ea4850d3b017286c3df6f80d6bc5da1ade0f35bc703b1548cbc0d825e14c6b1be01d723342734acde627b73956e9c5ddba62384524005581e037e0474ca083a1eb274b75e3a687b90e6fff487b8a5bf55407a0d4568500c0147049dfafe9fc4ba03394d128f8e09f0606e78e9e2905e79413809c24914129650ec25dc475772294903affe208456e818f69a73122832d6db3a7b93175f3bf83dd7f080d11743c81ea90352b50106208b0dce3c80d2e9f04f9a259d491f21002b96e6e8bd8b57becf942605581e03222199372dfaaa8314e2c4d49eeb24ddfa7ad6c2dafa128bd0b6c260c007011bffffffffffffffff03815e520c23daef3532e5d4705e1cc079185b8de4956b113a67ff7b0c150010f205581e03fcb9efee689e3e438a6df7bbb483e515a975d7be6c3ce819fb358eb3800406032f8b044e30335fc725949c74feb5bff5fc1a11c06dbc25b0b9fa193dcbbdf5bd05581d02fea6d84a9ed8daa79ef82e537158816fcaf0f4202ac6deb1abeb51140c1a000f60d6491a76459e4b6fbe386c05581d02e2bdf459d0b62d62f1c36f42cc985fc9632128e8fe8dc3aa2e16b9e70c084748960555c6f76402181805581e0366c3e85cdc055fc18fdc5781b7be1d9c4f06883c4f36a248e10351eca00401033b3dfe5b73bdc7befb3eac32d37f359758b199c2f703b9421bb6ec84a7bca81802193fe103a2849f1ae951852dd41991dad5eda5ca8190951b8a203529f57c003ceea969d80338188fbe47ca2a24b40cfec4c88ae652108d095f7dbca6ae81672e2e705f5058036db0f3f0b2110ef073204691f8e3a8a3797c5f10bdfca1cd9fde49a0eef0d7d70359bbfae968b3f12127a77a3ff31a756fc422a5b1c100f17bf57b59b8fd6a47900314b2e5c65f60bdd097cc3be6d9526a7f77d7e1a715a698a34b928c8eaa0334d50349329c70905817c5965427e30543c8ce5ff1f63b8799600a1259a4d21d0c29980310c6cae869dd1cffb4d385bbde3085d0577fba575e2dc94f34a7b412fadc873403f299477b27f9d208dffb3711420c19313d07ed0a77f69e88157917bb9226219e0359ea8bca3c21ff8af2db262899037407ca7b1fc9aed0c8352609e13d57d98b72037b4ece193c0968ae023ec100bb94b3e4f14777d5e24b80b759aca41f6c20fd5b0219ffff039155b39dbe8b88789fd18eff548483fe6e5ac7099eeae6779e53da1af66a444e0397dda06c11dfec2f7d9239cc66b829c90ed937dd7bb71945ffc6c7567b27a3cb0359ca8e05ee224883007b95984437e4f2a08cc33235a1c875dd0411e280267ce503d529709843d334eaac30aa4e5285691fa6eed0eca746c500a9ac28f25a70d50b039f6a43f93c76e59bc671c575524a21e52aade4c2a0d203909deea17066ee0afe03aaab61e7166bdf8c693b01c16e252f181522ec096e5b8665e983ceb3fedc2503030dd89520309ec1e9ec1e461b585e450ba5380cfc7d2cd8de239f496089d3690a0316a792533fe55839d841ec7e9bd246f65eea7d2c69668620c0881594f660337003fbeba126443265d267a3a45fdba236832a6d67111e488da5b2ff4e1072a1281103ad296b892e08b630dc13f64e35ed97347a8fd2b5595e4b47b6fb6f890a790daa0219ffff03e048018309562b912dc4012e17608f9af415d1d92e981d68b277eabdd615d15303acaac9b5284c2651df47a0cf6926f3322443cd0602d22a8e87d7793b9ccf2206036867d2f885878e8f984ac9cda2a93c080a14022cc3f02d141ed217424d59ee99039ab1919779b34dea17755aa7784e57849d0756a6aee0705b9f8cc7461f6ad6790219ffff03c81ba7ab5a6790f3bd7b1e4b2bd6886b3d238b2628d3797e6a9d86b5ae25e5690325dfca7f2276d535bc627aa7f7064512f374063a525350d8954af72f9f93d1a503fcecf497e23ef9e4437954f82bf3132ccd10b6b167e50ad9e661e3c7f134bfe20345f43e3334619fcffa0296d7ecb845a50193dae53d3e8b93212a01a07304b3bc03551a7a919cf32f24b873a962a8c5f91830c1b9084193f479cea891b2e6217a040391135d1bb60d05a6206f0ad0da2da6414918b6180f821b5459c36f1ca0173a5c03a69697ecd36811086e2f7b43d8b042cb741a9f1553876eb08417a673411d463703139bf9fd5d3877a3fa5bb5595b94b4ed966403ce2953a1bdd45f76ed1e8f28d203831b477cb200ef885f51214a9636f1320f26b62d7a2e8022459686544f29018003a0a2cfb23a802caad72d2bd062bb897555dbf7154ea8cec76b6bad5dd4254ea603b8e9ccc9bb4b03b9a1a64db96764a380f4d3b828d4993285ffae2e25d398009b03d3ef560bf263d49748a2e1067743d5954d36853ed5771dab2ed9f743a7d7f11e033044548b4a9235ad5a4955f84152f6dfa3abd45d7327eab109e8811d25fd18d803f85f4a903c299da333d1e80e0f4f76afa77c35fb8bcc13efd6ec34a10f9775cb0332d8b77d4496f353f4bf1deac4550b36f77a6ec23c09ed471e5c92b5420729130219ffff037a2062adb08e8b0e90c989225e6acb563235591892995fe3cfbc9943bb4a690303acccb0014a7f4e4951168479886f32d408e9577024d13d99d5b611d5d890123703f0f2cbf9292d98c58605a41ca90c5044870c1c9f1f238440d9add6c78c5861b7032edcad040d1fe057d0f488d5cc9ca93e6964c3b6f99aaa2bd047c43b0d23251a03e8bf600d8af1e625485415dcb0279ffc84ac67695d42c98fc8457517f578a323035caa12c60df6b6ab33a61a8ed3c0e84acd4f7b98919ac90de6b2f41c61030b900336a07e6aeaf55363caebb171ded09f34d412ad6660c3a888742ac5591f2a4a450396ccf766df8695bf08af20d9a126523f0d21a4c5f4fe18fa37653e627f7e6d2903646282d76e47edc06068d1bc6f713771022590c226345786678c58d5d541e8a103eb57eb0dbc18cf678d97366df6b399a5dfea7cd76919badc1de7a5d0bae80f5c034b45cfd11260274afef0c49b278b0e91302df828a78dc2a2b82652ad72fdb84b037aeff41dcc64baed87ef7e9dd23ec60d22cd2cf5b9730c516292d37cecb4d678032733ad20ee878b38f5033b327006d7242e37f2ec1dce81b8cf7ef3ac440c6bbd03d30df4164d8f1a3928b0c76c1a5b428eb990125c05c7f6c7205ff289bbf48fc2031767fcb3b8830c53071fd1f54dfa8b71986e600a0d1811840a6b8d2b689686620350a11c697556d6f1b1a13b87160356cb67c413927d30fb5455c1ca696fd73ffa036a162f6e9d9ae766899500c3ad1e7994bd9dde85ea43e0123a101e8d5b4488f503683a2e42ecfe2fcd516f3241ab6ea518eaa372b5f4e92c81af7ad2dcdc23cb130394a14723c9709e3d655094d230b2d093577cffebe4a4b36d3bf77d6b60bfcc74038c29cec51d118754616c0460a22cccb90175a5d7c0b48bea8cccc81bdda6c8fc05581d020f5a78644be953ec5aa0d717150cff580f15caf43fc115ce3f637f1d04010459083060806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea26469706673582212203e9545bbd92f25742cbe30879c764c7ecf7eb84d039a044082903938bc50f48364736f6c634300080f003303901ecf19496581b83aa549290467615d87cc465fafed6a0f596e5765dccd2cbb03f663c17db20ae450b0d4622774f2b7948811825111cba88f2b1be457d631541a03208aebaa8280b172a7965e2cb5a6d686dcbe78c54cc531aa569c67c20c6d6938037ff496b82562d3ed07133f51a6f75d21b8c296d654601f167553c7c3c9b242ea03b8d4079937a328856134c3b61ea933696dde6a340bd337441937ede06d3c51cb031e009b6213cb0e67960f6dbebf38f44b1651ad14a63f0a67b117600c48c5f7210396a95794c951088296a59fa9b98287656a81ec87b0d725574ff3032d3f7e7ac303f90c721f9a250cc1953a11e2ffafebb61b4fa1aef20e3ecf5db1f4ad55994c1d00581f0299b69b4d399aff262280c04b518c359c3f013c3fe31c67f35df5c7d43ce35820c05e57296ac291d23476346d00b68d8866617aac94b653af55928a0812e86f5b00581f02e3684691fa337bd770a96c5727d3e47b576195586ba5d08092200c9e8d755820536835ea08d4d4db551154c1707262acfdbdbc81a73042a6ae8d72ff0d144a6900581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace44648a5ce40218a1037f1607f6baed1212a4b4faa95a995eec715feafe5c31077ebf6e5f166b0341670344b9e8a92742a32f9c2a8a6db4120bf243e10ba0f466a8ac608b0135a8a039be03120f7960dd8fd86222ff57a18aaffb096ccaf9a62b45d93f319e41b50ef5b7f00333c750fdb566d4cfe617382e1888ff41c815a50033c5909b4229321deb63e8d303b61d36895c0581028a686496614816785f14c8821c51c04231b8d4b2f264a8ba03f9cbe24273f12c7599c2c66cf72e201515c5cf3cb7a4c848325a9840851d9b3f03a6125e041898187c69ac1fd1c477d8b0c835597d8af248d93cae37d41b3eeab903b08c3c133f844cc816f7c98d8a19d6fc1bbb1eed651fbbf35b2f237dfbadbb48036fcf48e468ef67b37a8d7fc3b226c7aee81fa4f04b05edb8ad04038d7b8713b800582003bcd2720e4ddb11e5b5900d68d2857295e4c98793110969f8f713729562d8a0535bb5580000000000000000000000006541cc070219fffe032914ae10ca9fabce8954eb9182403004589bc8060d9de426e9c9d76397c4da3b03a0b92f83d90dbbb0791a60f2006550720fc2512d7b557b549d79c2f5ad5f0f21031af50fbe3bfe2fa828f5fd8fa9cfe586c63c20e55f2d14641bc10ee9ffe08b37030046a7765f58ff8ec794a41280f52650de7cbdb385b6d0649ad6b6361a06b812030975273903106fbc88b4b2f30b75415755ab672820184b6eab63e466bdc6fa700362f067e8216c860393f2af78c04dea4c1bde24f34fcf8c4160a5f4b3284aa48d03c88a9ba291aaf07dfc9a388872d96755b258b083054774f9b9be1d5243e0ca0c035e1afe7549cf84486232b5b9a7885140a264c81f614cbcc88df5ffca3140586d030b6c47748346132638790a3ce3b51152390deb2d7c6e9b71174a93bbac82f59a03b7bd2656a6433c0f0fe553860f3ffc5932326912050759f1b0c84f2d920d2e9f031bff60330386913b2729520401aa3b705c3b43032cbfcf7352fd891a5fe85e1b039724df337ec5508e38adeaaa0499050f95f70f7787e6093c11d1364afcc13386033204dfdba7703d2c8c340f10d41f2e355dca8533c3e63dcf19b5dc3e9eab18e5034c3540dd24a9f6b90f91f4f8d780c5fc0c3f74400dd8e09426f149d03449851b03eb04dd884588c4014a85d784015d71b43c36ec51f43190adde89ec80f71a8fc10219ffff031d7ae2d26ce9bcbeffe2931a5704de3c8f63a21383a4d00ad9dbfc76a014de960399a7932dea02137ffdeb8b11b7e5ad044bef7df597b6f3bbe4f56adf4e12765203e7ee5a0f8fc054fffcfd660bd045383a3b6ce885a71977075f361f1b752052f90333dcd3ee6ae648d75f6c03562f6f6ba54dc036a6ad59dd476f660ea3d1359f6803982f54e84a1823b23f81a41e766aeffc07c434143596932c1e466584b86740bb032b211e26488a5e0394185be26662f856fdc10d94779d49bb9b46768c7bd8701d038924adea2e60f43c7a4605843c8f665bbb57908811bfb33c0c5d64a8322b021d03b63e3b315feb88cf4872c9a6d7f46e2e1ef61bcc9f8b371540bc48a863c073df0381db259b472110765ab52512334abed7ea0e85f703d3e7a2e78c745f6ea9ebdc03634ef5d3f9205c636a59a4f9315ce4c38b19f58af01f196ee21722e8b884f65f00581f0270474a4322345d6a22cb86d634883bbb4ec3e2f6f2a56433ee48b40f2e3c5332665800000000000000000000000064ef2de300581f0245412dac0068bf2a783c9324995d3f68e288997e4739da0aa1d852314a8558205123d2cd74b10841494df1948f772f28923bf8a3382a4947823abb65f22de0d400581f021f68ec12feff41f57abc5553cf3619d346d26a9036ab20ac4b444c8a11c253595fb0000000000000000000000000653d209300581f02cf844f59352264257bddf1b2cbd334ea0ac16ee75ca98da038e363a35b7b5820c3cbf96d7da1f10aa576eaa10fa9389d1a1abf7e2805875008f1ef0f756d74c400581f024b11f3565828bb50a2e0959b661eb19db4657daac85ab4024c959c14831f53ce59c8000000000000000000000000662715830219212a03eab868ece624e7f09f3215750b36223d4366448140fa0429a9ebeb0e2e6f1bdd03a9e6d3d617b220c7321e1c7384cfb1394d353959516aaaf7f10333edd9b8fc9300582003a6c9256be161d92943397d252e92f7517a2d63e9b36eb655c033ee60c1aaa053bdb4d80000000000000000000000006605cbaf0058200329c11d55d640f3901dc4329cfd11bddce166736577b42625c9af67ddcc65105820743e4ac186645037c14279979f5974d0e68c47fcbbe470e3b8ef9d74110159fc030702f74a84e8560e0e08ede32ee588b7dc1f3558c2a0e3df0f9522e3ee2ef2a803d69ac83e7db74f627b05d4fa6ce4fee9b13471df8151a4ced21d87e1f21cd0ed037904cb0035603fb8b62145995773406b1356223c2ac98397ef377dc4a6b3ba28034628b311101bed244cc45650a7400232f91a990b5fd2fc1380ca6a4ec96ee7c703e4dbc22d8323e9d6a814bdfd64193cb615eecd6e35cd34ca20215ea3a544e3db0309e968081ce0a3c709cc5ee05032e7ce254f7620658e28af636633eea2fb8ccd036aa1d83b44cec4ebc878bcace5dad01538071c70532684a97e534246aef6e9c6039f1f13a65fb3e836501b699dd7566b8293ab220d3de8b465fe1b029c935d65e00219ffbf03ad49b10355ea4d40c8da07ea16d44e914535bf84a63452e9a20f64fe36a8650e03b54df9fe49f368c163dd2f20f2d0004058213b3b4725dd0345d1a010dfadb945030e57937402feb40ab5c5bf3b1d91d6aea8a79846f0479535fbfbaac28b1a716c0399ebadfbda0f5fff64783e793bda8fa3e4205824ccf32bfd7719f4d8cf6544120348ce3abc1b29635eef430349bab5e7d97188de3b33713d78da8cae0953a1dafc03be883b1e7c8dbf6f82a6c6d59ac70012fbbd5a05ad98f91ddb585b37501ccb0a0383574f9def269bf96b67effa9397cec59a26d5f0d3ff70e99e88a44b32773257035b3d02180a19a00270948155f0fcd4bca5adb76169dfc69bcc73f447586cea500219ffff03522b90a1d33d6956cb76a7500ad3cfd95abfc4b1ae55452aa13b6a5439c26635036ebeb8f021fe32ea07dbe60bc23964b2f5ee3a6d5f4202881d9dd85f4edbd649034506cf6b9947bff859519248c461e522c971a92bc59ba73eb12e70b778f120a3039087bdba188d8388ceefa7bbb54e740fe3d3f1416b13de4dd4e72173c699d8ce036d0d692fd3342def60f885d2aa4ae80ba1870bb6070a9a5d42095a6081919cf8033c6bd0e409ab29304f9c2d246324df1275db6614c4d57180424df5aa6ec03b6600582003a84d7dd4e1897da5bb92601e5296f5f63911a764be046e9b5399ec651bd6e05820c21833d3fbb2ed07d16beefcae315cd8639e1cc49afc3b67ec6bccdb0152a94803ae33e4f128163d30b2fdbc19b2479b41f7dac96d253a6e1f3e668df0f14cb4730303b4c2b331100e176e68c2b2ce08a497a9461d288bec75ede05e083976af35f103dd53116426f5fdc9e37641206b6c0d71bc8745baf8e546d0ba48d53c00bf5439005820032f77250adae4d1ac7618776c9e5d29807284315fd80b79b8bcb3926ea9278058202a978690ff9dedd5b7979b237977efd7ae2df2e63b3f1502c2c7a4b2686bd6ba005820038d2c36ff89961f0836a1811b8b185376795cf6d396f736bcdd61df71bdaa905336fc9000000000000000000000000064f8599303402e2bd95ed2d1209d70673d2332a0fc2ef7744e2eb74627b964d7c6712e1389005820031c14b3df4e50a05406c14993511a1c61470d6d591d225701369d1d8ef367105367cb180000000000000000000000006559f823031038ce8de8b5240e73c82e974c49b6280ff06d20559f2607c9b138c21c2656870343914534a7c3824b0ae8947da2e65a10612ccb4254397c311f8b7cd1620223f000581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54f2460d3433475c8008ceffe8283f07eb1447e39a00581f024200cf110b7fc1953b52f5473eb91ae6ee40a4fe1f9f7fc67b8db40b06b9532c547000000000000000000000000064e30a1f00581f02378f6ad60820ede5b8f66f2d9843303e4a1e790fc0efa1ef5df711c7434858209c531e81940989b99585af34f05d4076d63d90bb1ef729995fc341f325ca2ed100581f02c3390a3b8e54dd50bb1be997735b6cbbf88bf43909393f2455d80748038b582073aaeb7d3f154247381415e01557c93ae5135a1fb747c5d0b1dd134b3c41cb4b0219302403f377064befb701b0d15c532363d5a6f7d13fae58cee41e607be91b971a8cba4b031a17c25011fa7ffc288128e22942c3ca85d8f3ffec1d76c1118e4e67e992e9200364c7e4580df32765143a781924e22de36803e72207382070cd09662e7630fa0c036201549181ab51fc9eded3e0be03a1d66d9895ba36f0df93ab52c7605b4cd8050219ffff03b1bd65f44fa040ced2e426edf359693ce4e1f2530b9ae9ccf24bfeb26f599b090358c1c08fac97b19c6b3dc1cf781ffed3a345ed71e09aa3424c173b61375fc7cb031d7e69f674bb51e96cd894e80b76c805e820157b0be3db0d6907a9b5d2fe5ca00313f3fe009712dd2df3449ed65d7dd4c92dbb4b699cffc085c72eb1d46f42f95e03d6b6d09492e52718e2d4800481893d12f71b9bb56757138a3a177811fe4e05d003263873918642f5d2de4ede83081e3d79d0e5827efbbfd9d805c11316f9d7344c0360a5203fd9ad46940f5318fdec22da468689da4a114c4b9f24111553e2ba23e8039d19e421a82bfc5af0895daa71c8a437c6681ce4dcbbeb56c34ad7292b5ab94603ee004c375a47ac250ee5f355fa898012530b2df1d6a0e13e3ae03473a5507f3e030cae5dd0f8f97ed8084d0ed45931f50eff0dc4cf212144aedd472d21785e94040219ffff03b856bef6ca0ef7e58bb0d7b9fbdfd2f75987df9a67cb2a0f6c4fcebec634d95f037c3595b104b235da3f20140e37b2898b57da9f01586ea94d7160718cd8a300e4038c1c10970b82a38d97fc09ad69ab8dbbc5f8cb346b3f24b5c153769ff5a69e45033c6274630091cd31f31e09a5d2c1ca67e28b2e09661530b333af312e4da9f8ac0346c99def9c9e9c6137c903b333962c5b6820f8f3221d6ede1a8ac77d2a8bfc2903be52148b6eb106504c66e557b77b035e27b01cb566b78bc1a244260572f1e7e803e5ac009c55aaae609dfd8e4f48ae21fab49f839f10808ca032010ed86c2fa0740312a59f8cccd1f7b2112d111e837fec5bad6923dec39a5036bbe664063f4f24bd0318013986e4ace1101998e4117a3fa26e666dd8d71627b199581234c087701f4900581f03dc158c88596fe3ac58dadc47e9ef4f6161872118ca68236faa615edecf205363dda000000000000000000000000065521c1300581f03575cbba9b69c4db5957a7ffe44175f4fa38715dd1d43f80f4f4329821fc05820fc2132283f78c016fbef0c3640d75cfed10887e31fba05af4643e445c96ab63f02184100581f021cb75fbe833d1379249e7cdd9b892f167d2f77a5cfa6a4b6ae1e41a723e058205cbad89ba22877875fa5441b6c432a6a2a47ba13b79187bf50b27f0cb0d5502f00581f025fcc7f6ae0818c130e52ad1125d5cc874ad1cff9cff415b0e843bd47ba985346eab00000000000000000000000006518366f00581f026cfd9f73a91bb093a5354a19d845d2894a11632b9a7cb11a1550b28691945820352fe7836c9d72d76839a4fd9e58d7fb4d979007bd895e75eff4e017dbb6c02d0219b00203c39b5aa955128644f6af215bced8e2be700046ed56a044d80bfdf971a707e37f033627823eca88e8a59ab0ba93743c2606dfa405707a6120c66a8e5b603bbe9cde03b7e33eaf036e6883abe2aba85d44e040f6035926e95ab92e17cc6b9d0626037703c47a002834790534e8601de271770728171fc6a48b8c32e7a9cb30aa970de66503353f8fd99cf62c43209948caeb5be73397ffe82214b7572a8ef8ae7341417cc203ef1d013aa97734b51fadaefb034e2d38a1103e97fd4f5e0ffe6523ba5da846c40058200381503098399297f44578cc6954c3df089ee5ceb026dd3414b31c170c5a3f00539d843800000000000000000000000065c569bb038079d4180b47c8e336305ea41eb1199ed40482cd472fec53a98051a72e6d492303a80080eac6a0e466d59ec37ea7e1f847590680b7e52e7fb179bef5e23bea025d03d5501d006cdc9dffe60630de0ae35a04141fcce50066d05bbdeb24567e7cf5a9038ce51d5921eb7e50b30602096537a8100e1f5a7dc447b81076b9c185ed2d030403b9d854fb3fd06af1009c354570fb6469e9b3558db85995083131392642f2588e0058200390969507fa945e0fb4b46d458db24c6ebf898797966b7b0a8261316f66c4a0533de870000000000000000000000000650631fb005820031e1f2070d8668920ed4f5791da317a987744dc3eb58ee12531260c6dd125a053800bb0000000000000000000000000658a792303c48887bb50c6eb73613f9e87a4e150595267e5f3f70ae6f86247dfe287e62fce0219ffff03d01dbde1ef7a06da7c1e4da72fb24361d0012f8555bcf7de5c433abbf49238390396c0992bbe50be520b2bb99ceb5d88341b2163e884b9479dc8e2f5456bd8f0c903bb504fe60b0a5da6d843701a2dc768ebee5e724e4485614776173947b4b3aae50312670d077935159f0ff4050404d90a9f9c81cde72f65dfeab7b47dc44e6bc31403366a38555e14370a74efd143b886435770c01e05ed52b400676ab3cc89234b4b03d9eb5a5188fa1a1ec3610315b000de5f3559d4aaeabe9316a8a31db972d6284103a6d7213e701609a41231773fd8ba7c77255471312fd8cf13393c266abf64534903ccaeb6be560245da20a8273b0296f8b7baa9e462e76bd89d8549f0fb72584edf03f68048be177ebc5f16982188721b45b7a56a19f41a1e5348d5cc47d8b8875cbf0219ffff03ed4fddc785267d1ffbab11b3f2998a5b032aa7886acf280e76dda5c7b1d3249903ba8522c15cad43823a8f20ed987ee97d72e4847fd5c25fd5c2f4d4032b5c3365030ffb3d4883e974891fa526a7bfe3dff554d3d6d122c50342c3846c8406b423ec0358be65456c3950d90a2771c84bdd11f74ee187450bdb343847d044ab5b9c2e03031eee5ded742a987ec5704f3a10edf0bf557cae43dc17c8dbb30bfd76f5a3ea4a031373657b3370a5856efd1e4d2d264569734f539ec04947da6a8071bc8d7cccf303a878c6feff9345a54b1de630b8fa4df5e58850ac7f8bd8ee1550dd13e00e961100581f029622cc338b1add8623141acd88cd7681c3204ef5fd79b3b75e4ac3913ba5533fd4a0000000000000000000000000650a09fb00581f023a25ad2c5c6a1fbcdbd6860de7d10322a1a08b92b3404779f4b5ac72a233531c897800000000000000000000000064c375f700581f025a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b421e2e00581f02b638acbb223bf4c49bd2f262b8c1e6e3cd87de987ed861b526590d9dc0a953cb151000000000000000000000000066208b8f00581f02f37974979333f0c5e6d16e21c2488eaf118651406481fc21c9b1ef9959265820e2adafc3d75120a0026e92158b4aaa33454497443c49d3540dee7f7ab97f41b3021906c803c847fbe7b9fcbdcc359fb96384259d4e27dc7865309690fbbb86a975814b540b037f9794d8628e5a18170817e50a3cc9f8268da134d8b78392c8cd855289cd46650386adebfc4107a474d8b4949ccefee236b5c111628036688b254d2f3753be4e15034a21e0c22ab655ba6483ce943afa69ee8a36978473291549b25d99b4428ebd4f037bb02347fe63bef9ff610ce0aa771a81b491b87ca74c463b2b73b9b2e1f0026700582003e5700c86538209f59eecbf8ec2e597531e8843e7629e3b9eecbbc0986b46d058206fd26d00c8aebd199a4f67ce75775c32843b561263c417dbe019a1a22746b4c7036a4674383c30e29501b8cd973215b75ca15748a7c9b4326fbbe9dc54f32d6ac503ea42363d812e7b9c84551556fbf89126995289e6d868c8b65ae4066e7f2f0c85038a39410727f8d1d455a56844d66b70e77f327ab2b3b11942453ba8482bb45bb102197fff03c788c6cda97ebb518fe7271385e28029b4f869fedce418035ed06c618beed2b903cce83ce5ccfd2cee2d834544c5dd915e478da3f56e4c5dcbf77b2e76636b133203355a8619a0f441962e80516568011f8f86a1a5b41fb3a8da943067b1b21c6a31036860a36a46ba91317d21ce5c719851cf09fd09527e87ed68af2f6556a76b90fd03f2049858df82f2c3f62ea4697fecf053fd6ff8103b9c730e94a7f8f7143a86390335ef8d5cbbb3b0df4c86dd5f6de4d1d37be3a24380adb2d088383ea3ad79f0d403d7935909d51e0c3a1b49e0786b08fabbdc628dab2499610a65dc9119c7a0f5190352d08fa9607d896b2e91b96503dc68b17474ac69e2f627af6328c17f4d5f4725032e78224aa8e98a80a44de1319d450c5b25d1b4645bea2786471649200a5e36a503bdf869d94e9701ba9677af6b1cb47d5f40d0b7093bb043bb39ea19d4ed46a43703a6f0b13abe25f0b09e6fa5522ddd19f96819dc8c3e4b1c50766e0570ab3f9bc4035ceb8569cf0403e21094c6fce76b3079fc2c4b0d384bcca1372dfb884ea1dc1703356f3990fa701f5719a8d8281a2ad9d28c56adaeb8f2267d7ea2f7d7767e2d6f0219ffff033de5b16fb05b148ee1dfe04420a5518145eb9463b1e2e8522db5f153ea19adfd03ab8d5cc4c5cab39e746ec15d40f731ac2b361ceefb20da9ecc9e9d813c8f2f4903e49541d56f4af757e7beff61a32a31c0c32d65bc449c618cf59256d6829d492b0219ffff05581d021e48a731f9cd8ba1fc260d2392ab479b53c4bfb745bd483895154854070119083005581d02b2017722cbaf7e9fa3241fc28ec90b28bbeeace0d2233683dc962f720c0246dd49d1683c000219c00803ba2d52e3baab2f48dd18f4cc1ab00097c9c7e0ee32df3dd18267bdfcaa8bb56905581e0376f02d62eb44fbed8fd55aa43c390bdfeadd511bd567d956cde22554a00c01466eef013c9a6005581e034c24eb4ebeb607edd7d449a6d18b9049d47a01decb1169633ee820ca00040205581e03312a63f7013374ee67c8fa920840e2ce7a9887b70a223f80473dbca6c00c0147029c7a85e8f00003e64395fb956d378411c1b72dbf127cf6597cb2e215d24c1e007eae45b88f0b44014105031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e030736d67b32dea2f05126936d8e28ab86daf75e5d0e3e8a6a0055dff6c007011bffffffffffffffff05581e0334918f535ac002bd14d6ff43c42e27ae57bbc97c6c8105f017436a0610040105581e03334730ae96a78a17eb93e94db6af9a4a325b5537c39a70807bac65dc60041205581e031a816b7ee0beef3c162a348cf2782193384cc4c51e7651945ac5e64be0040103aa4ab32be48e33e14c575d5d0b8a92324e0eb9469c7686a3d45b286261a6f8a303061238a6980f4db64fe07c7189e19c707263a86691651672b167baf0851491ad0219efb90219ffff039189500b03e1278437693215f4cf69ffcf9d03eba45d4b6c84fade69ba3b8040032da3a2136371be6f45db06892ba3b330ae1cd41ccc0f10fe9d5faf0ecd929ded030178dae7f202f602e2f9d99dc9b1f69570ad7fdbad7efe555111497d3bf5a46b036f2150fa5c9e467b95cbd5d8d2ce7ec69b815ed4fd2f75859a0c3e476fe211a003aa76d780d8bb2a53873ca8fe74093b961619e8431a61db1be085df0f1b96e97c03ff7e834f858db942627dee466f18e596090a566e37c484f73ee2e06d5059b3b403c618f5b1ac3fbf405e832f2bcb4ee5b89ede647c54e0dd6d61386921be59172e03ec89fa2e104fcc1478de9ce89dbe6cf8c6b9671eeaad3536f3d7c716a1303242038c502f4d6167a7ffc5cde75fbea0c4feaca7e4ed999546f426fef4a31a83fb2b0397c8cd6612ce30d81f41a1d18124c7fbfdb06e813ae0ce9142dee6d7bd4a7e5503c7e9d0a32b771ef52c2267a36b5f86d513fdfcbf8ae82c434a473809cec3bcdf03a2cdf1160fdb04bcc0e7f92789d5b2bd641fa38209e0e8232ccf749b22bb3eac03c9e50d2cd46709f10f241dcaf39cd8bfb0a2f47782682fc0475e76160c306c890350647eefd1c6e6846b85fc1868925bb5a3ae13cbc6c5815fbd36151b4c843ae003bf88ff0cfa1f07afb92d764f0ec5bc97045452e73477551a5deb5c07a4e84f190219ffff03f95b4d038765cc8b102f3050431915ae82fe77b0c650e04c8dc6dc19539d65800360f2b1c09fa7a600c7000ec27116c9c04b39c6a36eb31401e41b8ec401436d1b033551c9c5c80780d75119f1e61e1bee29cecec3e9ca04decae83b1abd9b305f8903d760964127418800efe2e643c7ceda85ad2a332668d33ee7e2bd84f9241736c503030904f3228b062e2f110c4a9f9af2d56cdef2925685ef8bbb5b57f8d75d7c3a0307533cd2373db89abd8383305abf0b9c82bedc1eb476b2076123ae78907f2b60036307148722c8e6582acce96ac56a035e1a9b0ca02b39420d1ce7b20238bdd295034c02830b8cc1a4a1c9ec31f9c8d2cadcabd343068331ccf4d4c5af87150b6edb032b4b0c0eda8da5674ec258f4fc7121eb50062e45230ab8b471753da1754e9c8b0346745c294d1434e7f2b6d55bf5f4cb880b9dad974a1b0bb7dc51ceedb6c1f97703943e8e15335b1a12002a85a15171dcd805472b2c96795e1e6ad5b4233caa7d110219ffff039b969f7d0fab159fcb322fc9c65eab0cceccbe0abe4dbe7b4368101b98b6568103222bb965bbfdc355ade095f17263452303d0e495693dcbcacea541e81eba2665032eab455f590871e3b249615c9e2c1c0327dc7298f26a6ca27af77df728d32f9f03d48ba4fd70b3499b1c8f8272269e9d16eeb416fb1e278c3e23f36efef993ab6e03473798afb372e8cf82449c75d029b494df7f237cfad5bffe4ca466a533acad68036dfad0880b3e030b080b18e6b9a962bed70b5df4483dc7bb39792a801c788e9503fb8fc738c911638deacb2854531ad7e8edd5b12bcf0d10fd28f9c1f9adaffb350371c53c983072bc1608bbeaf5fe1c994dc39eab71b639a5883ef8c30d36d06f51038a8d55df1d4e6d6d28209ad59d935b72a68d0ad82c401200a1af4df5fa63bd17033f33abd020fbaa0078f219ee93aabe8ed342f6961a1c68de5f09cf28dac8520803c3e3a66cc274651f6de62fb53fde1be69f793b1eb4fabc6b013bb9dba9cc7e5403ba4df447b30ddc4a327492ca8c4a2b39fbed0f5bc781472c6077c2804f41ad5e033491b3cdfd27310c28c3a27476ca52f399a77bd92ec6d1a683612b162d3b60dc03d700e1785170c80c7cb95d47041e0e2c2513dcc4c3526c6d0a7f70de4fb24a5603853c275ad242a9aeb6a8f09813aeae2eaaa62f1fe365e6b7b30f29e158b969180390fca83a73bb318094ed3a73e6dea7f3116073ebdc00f539c959c0734f7300c4034cc5bedb8aa28494a40eedc6d10f16b4eca7a47843e05c248a313c973cb78a6003a4f78043f87ea3a4e2836a25b92d8447de17b8f9a66e45e71d6e62ad2f9b096a032921c7ce9847111be9036a1423752927955804712a8261b6d19bb9c3d2e86d11033fac7f6efedb463c8a3ca64fd5c56917b4e8bfa309f8ee635fce6dc8a3ab1d5a0345c49fe8d5db0727b372057d17156eb819f4d3d351faacd807837150eee7eaab038f7f4da20753fbe4cc37d6972cfc486339bcb4b885e4f4c69400ac7eaf91f56c0332e909b1d3dc31629eec9d0d296a7d372dcda55b9458b0a337ee5f572ed5722703699b1a7fa77c22590761e47d280c1bb37ee5c7baa0a22b5f07b8099bb9fd1aa90307a73d24a7afb843a608c58e31305def99db0bb3a2e99c04f9b5bdaf505fbc1d0389fcb1ef1e9694b13e14e5ef0f4817f6a277dd2e8a492d309ec99aa462c5713b034744794d243e615088f6d504f01e4c467ea911041ff8d6aa07b74171622256eb03a0a999e05a4eaed8f260ed7db052d87e6928a9f02a66a8fc71586326d4c6e28c03965858d7a28d690f4f43573b79a33626b8c9561f3e5fb946d56d92706b6e25d303d5abac5d59939451dc37c6475c5a6ec007708b7f0463ec6d9b4a1950b57dcc7c03eeea37249c7613a87d2859452b1d99aa15e31045f40705cd5c2a5a1040cbb1ae034a4a12ef0cb0cc19178af097bc491a8a0f1a65f24710881b6e99d77746f79bfa030f21ce2761b2e420e609d3e41bd16860c9b7e6f8a7871f63f2b121e4352454800330b3e96903b36bcace2897ab547fed0a4cfd6c394b392af08721316b916ad16f031c659a6991c70f0b84e6f3157764df4dab0b6745fc43f160ee79382387e848cf032ae9d4c745a12d08ecddf6900feb4258fa12d60da8fd24794b7fcd5a08fb33ee032fc65f8101e2021f2dd427a97fa28c3fc41cb9305d248359e1cacdcd03e50f4b035ced216787e2b1538c84e3308becbfc10bb19f27a896bfcb373592954ed8171f03233bbb05ed779960222298a2f111f633cbf6813f02010609cfbd47b0cab79db303e0f08363868f73ba05baacf2a9fa64919ce32a73521264c0a854e69ab5c297de03b4d7d0d3aad15f59bde7d4e6b66a9b6e9b15d23899770ded5f9902916526e36605581e035b03d73971871dd116be5a922e53fe4fb8bd47f59fe7d3eb7079daebb00c0246920d1be19a00033ee4698a25f4c989ecf469effabb6465060350b64056e5ba4f05f381b728ba5e05581e038bee535a826facf88177a9e1b559cef4fd0c0800c44677e038d1c31ae00847045cd1c0d676c6039907161d27c88cc3cc419abd860bd3fe24166d005b9803e3687fa244b6fcc28203ed801844947d4881e0a418c5d267cfbaedcd6eeba1a30163f3952f8ee4e5534005581e035c0736ff78a213b9479cf18aa5f1cfedc0d6265ac77f03c41460bef8700c034710dd2009e7a71805581e0398568381579673fc365b8f5e87e4bbcc76bcc17cab845df46acfc1c9800c014742df24fd43d4a805581e03872808be7d8c634de4fda550b8c516cbe6cec9ad7153484821cf8fff9004010369627c52bf0557b0851ca6a49c431752b5741de75ca89b1f6c53f207c8959d0102193977036a971277da7e6888ea7ac58a2faa7520b1a0ac84b4509ec309c0151a5de2397c0219ffff03bb461f13d97634ac34c417309765a8c93a7a2b63cc2bd7f7671a3e2c97a844d803095528d8a094ac848c0e979bd43ca482552cffff5daa2daeef2406647ad40c2903a97643ece37628b15cadb304e69af217fe5df3fcf2572b92d61f097fd2204af803390d3a17f711ded2b330a33fa5c3ac3642daa94c7afda063abea67ecd510899c036d0c907ebe5f20363050eafc623e45d53903844cd451774b93ec7c95d7824dcb03725c69d090ff12c0b7117514a13f3db2d6495394874c073810f0be9dcf2b320e03a7f5b280c1fc1f6ca6bb68a23f7356d9855bd8e9593365e1e2b6f0969172b28c03a79cacc3d43a33fa5f9b9b9f636b5f7e33e1ee91b9822681d2a1309ad28b29ed03f92430125cc31d0be719059098fc1ac4cee153a244e8f69cb416335dfe2927eb0219ffff03fe48373a7b645712e6ec917aff91c454caa0727b87d3a6beede9899645a156f703099b693173fcef20dbd41d3cf42941f9c5e2fdfbf7155e0e8d7f5e54cea27ba3032334310af4c5bebca5237c3aadffffa55f76423151a3457eb6627a70605b55fe03cd63d8a9e4c4d738c13763ae9b52dc4c2eef2ebbfda9d8bd1424d2eee6a0c622038973fe08d4a47f7b695f2c93c6b2e7b9ae779858c59f55cb52dbc1bc7fca962203eb2c4d13e206467e4e304ada4a6d52d6872889f1d8bd8c28cf77e294f559b6e70219ffff0324e7da2c24bf834132a6094b4c700ac42c2c8cdbad5b18273d627448cfea637a033d9ef07e892a33fec9d927fcbfe12192d51fc9d86eba599e399508f7eebd85950219ffff03879930b03882df6eec488e7a473774eec2cd5b57dcb22bc4f2d862bd1310207e0337d3d2b7027b96ebe7091dddfc534b6a17445d7d9c188cb0ea39c99ff2fc26e0038b65700d0a825745df5afd462e94b39641063899910711e901e39fefeceb098f034d84cfc80a3ab0746fdf3d88b19ec06d47bad2538741645507caccf15037866b03e0910446dcce3a0f04061f04af62045c7991ae638c64da3a9fd9faf16b18d22e0315aabfb7cb36cbb29de5c895a9d8734f403addb3f835bd7376c53cee945d6fb20377b588a978c24bf6423aad6e2d8f1860349a55b8f773571857c4a147ca08f29f037646e5ef2f86388cd9eeda5c0d2bb43f37219e89f57c3af59b1cba1e017c954403e4d309c4fad340977cb1b0f7b039e89bdcefcd1fba87a32bcd8fb79a56948a8e0346825e6b94a2cde53d245e8e33c4968adc02cd651b91b09ffcc91833b5501fcd03be07737ee9bcc55f0ac4f15c255f9047484e7ebf190700ad2efb48d960c68f7c038700f67a11bf2892917ae8533fa8e64febbe3e1a1b2a07060e57c6afb84cb57f033ef740e268cd5de034a9aca7424a882bbc4a7d2b9cb23fe1ae1b350d6e32374a03f9e19f69537076bd2b91bcdd1f77c147d503b62031e83e32a60bc793ef7519080308ca576a0fa430278414cfdd347f8251ae1779a0c53a1908059abb70400942350313d61ab06021999a63581759d823353beed1a3e56aa41859d48511c673aaefec03f37e6e6a8d64f80f3a8c70f7299809f5fe0d8925a7a9447120382b3af19ceb13033da57e2e242fa0159a32ed3da4c622ef9c6479a899b74bca7dd0f5dd768c7979035ddddb4e6e2431954e18c78c9c9bea087cc3ede3fe625a4d62bdd67297d54d0c03272fcc731d3ee07dc6e2cf4e09fb769fb65bf58cf843bb51c4e646e6c090a0eb03647fa5ee153da4e6ff776b976345648f08fcf4c03bb72d3c59e464ef3f01b0a603459e61e583ac72f22cb8bb261cec844089ef4c39014f6093d5022913d1a06c85033aa2417544686cb1fd7bcaff315595fe990b4875db0836c779022ed6ae93415103000af88b437295b7a320aff5c4364d504992eed1f26cdd7cf0fbf8e54694b85303d68b9da38d053727ad93c5cd5b6c310cad6a39d624b9020403b46fda64e01ea0030e24e184716791c202f196d807cfca615ea58b5d15709c16983242823824ba4e0321212e8a61cd8d04d408e8e368b444803c1fab4fd24c158062fc3b5a31d07d9203d1a61edca61db158534760da44e2af529e942d284c9636efd8f6e10e2952af9d03a2fb0235f68b33e9c1de93cc6abb2030ba36ee914c4cdacb4abcc8018feb1faf0304afb5d2a9e99f2a78db013e9396d83853121149abccf598fd53de7fbb7393880324bd428af73072478f7651354801b6505bf04f1ab96fe5b6b57bdf784ccc93fa03e2aacec02e0e71765b40a2c8bac8c5335e6ee56b7b70482ba3c26e10291b45ba03300c67222496a3d3a3100a9b80c8621fd46061770b2b8e3ac51f6d4345179aa5034bfd1daec407074641cef2ef8c62e73b30c47fbfc0f733d6e7acdec855c4a83c05581e03e8c8502e5e8719fc8ce0f65519e1d5b582037d0315ce7cf2f08675ada0040103e158ccd26a8b3e78d8cfe9f147d1bd7e7fa9b878458a9f3e797455a7d8cb24ed05581d02a07a2e1d78e5fa1397c503e7320f0707af2f55d51c656c0629fe2fc70c19100149033c236650bf1f78af031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d02e41eeb496a880f25758a6814d0fe246d17c49f45f4699cf70f9b9b9307011bffffffffffffffff05581d026b697cb6a62112075220f9b34b2030275d52bfb2feccf1ae76d6165a0c0146ca2c61e3f3c005581d02d3456750b9c9a76275784f589a4d792b87681c1e81d46a45b5c508cd04030219205803ad081b76e4c3b82a7bced1afc4bbb9933752c620b740ed934173a881b6f970a9032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0368b075077eb2442e5988152cd106344c1388ba8ee7c90e813e2aa5a32007011bffffffffffffffff05581e038a9d7a4744065a751b85bf3f5fce57c82b12013b800a3725ba10090e200c09470210fc443b53780321a083470f114f4d84c249b291187037c4c16d1d6894c95128c02ffe22189f3905581e03185298bc9866c54edbd7709fc14d3a958ad9ff795079f9204e4ddc10700c01471055bf3f1f0ae003d9285596b06fb67e3e6c4b8260b3450dbe9fdc513811713087c4a6019e562fc00219d15e03c52e83eb9404903f3adcb882fdfaef2f9ef4a6971d023e5af552e968122ee9c0037001267e5feda9b1d523a715d09542bee858a9571cd0039946a22550caee45f6037903e68be4e74f90380ee3a6c1e259d362d63328effbd9a188dc383f91ac3704036427b046e5f6c3c28189edfdc0a9ded55fd0aa3e5a2968d525eccbc028315732032d52988dccd0069695b36c610419508949e2f18fa750c10bbc0444fbe617954e032498d85c143382dd87b403b664f0b197b8b1939a16f28aed694e3ed5b6525d7303bd8e1c7e2e3a771bc8d749970a08e4339f773cb78ae2f3d35e12acfc6b18e84f03ae0b41bd0e91c3293e16e0804aa5a50745a9002b8715ec25275308d9c288b098039afbe5bd5ffaaea0832aef6707b8fc278b5c84c3760c0df3b48dfdd3f5564029030bc36d7655fd41d435be516f2c352dc1cf9e13a44e45feb50f0f4eff1586e938035a2e574e61f9ab62f52438cc6da2e8f1a790f18f4862d9aac34080428f64d67b030e11e10393e54feea7718579e0aa3da4c0e11465bf8fca4ec1e930cd23eca69c03904e1695f4fc160f5758e6bc3afbef62226ea3a4e92388fd9341915e050dc3f40219ffff0219ffff03ceb8a363f1c5be172ef5063ab9b6f3a7f14197f6a336015cbac257c2c536f69f03cc45009f693b5490b60d49a9e154e906cc19097b47cf305f87ea85545d3cdcc303158b3a7f278542bd0ad240607f4b5a655658282f97dd29da8e4e746356416cd703f3603344daa9f03f078e4bd15f9cc4f61f8a0aed81a309de6876e84511f48065039f4cad38c947ede23340840eb9b7eaa776ea8170e431f6cb4c440ffaa4f4e5d503b8ca468d35dea24cd3d9c6ffe816ab7bfa41b73e82faf8a4c1ba8c8529bf6ed203bd8f2e34f07d0452c95b32af368baeb806672b0e8d354303ffa1d078c143fe6f03fee466826eb0e29b20b438249e6d22d172a9934b3272899018ff95aecaea432703994b9beab9629e260a08f5b622e37e03980a05b8b87c1b258429718f704af55a039e7afb5fd730f8861354c490a5d66b5426fc5c5b92a9888e6e920b4446b9c78903d822d5f8cb2753c085660f594de3f06f4d81e8540aceeb5456dca26fcd86a75e03c8dd32d5b688f5f1f5bb87d934bfd5ae6933cef8c1442c24909743dd94b3421303b5a248bc7f3ca3d5c6e8f262ea2ffb7344e6b650bbda1c4b6da6420a98941cad0219ffff034dc7458cb471eb7d376db07f7283c87680d3e3387e9dfe9565844ca1a57ec7fe03692292bb791e78905f0778792e3da4bd32658666a146e870affeb77c9118158a0355aafaac0838075823065cc4af5b6f1577d58b150274c1abe968f3e9e14fed84035b8a2a847f6608ba4b97f32a7e8163d96f7f716dd9899013c83d6ea635153a4e031089c4befde28cb7d2b63ca034c028cedd2bdd5faa4855697b3f5746b661a1bb032f7b6f8e29f4ace12af4f3db464c896f27aa42532820194b5e4fee59bd9739ef03ea6fac9db0dba5a761746f0b79b4388d772ff62a0017e0e3ae543d99f5b2e68a03314fb109fabf6d78f4f18bbd318400b2ec6366ff6e1be69b0ab3438dbae29ce2034ecb460af4dcd630a58c26e1289022a2fa286ce701c2f1ecde51016dac2f4ed90389cd39b0d78840cfc46e0b73b0422a875371101e2a72dfbb46cfa5feac97a064038f5b96600f809c93de3a9f9986ac62cf83b9176d62b70f047ffe1b3a95a9dae9033d1c28e2c3a35ba0affd5c61ad22cea0586b60822850292953cb8ced4f882dad03611ea136c0d04cb6bf99ae7906e24597cb88a1d77363b012a2f7528d49b31e0403458ecf18a90d201b6f14c1039fd95d42bcce37cc5367c7d67a3c2d694b44ad4403572d191b6ef81d8eb2309159c6e539a2f6caa9bbe43558988b237dcc0dabe0c503b67d868b44729972e001569338252cface03b0708b57c83e8184212f883ae561032a41e0e9492c158ee9a61486b670981334d6ef3859c6d16722b2dad2b94f83e203902685040031afe14c824fac0fe51e7a32e2d35e30004181e358621d8fdb663803aab595c53740ebfd9098283934e945bf166ee4135028082bfd0ab071bf4d402f039f6d0de7ead051812c6bd6e29c4b020ffb66d3c128f82fadaff3190ed1dda5a703495bc847992fa3ffa417020acf54046d21510dfc6029a85caa177e865e9f72eb03e10057e96e827f71e6495c3f86cd7b8b55d925c3a8b75bf0197ce1e34d474f9d03813ac175142406dc7a2742197678bff4dc5750e8497685d6c5d949d6855d9c7f03fbda002a349851776daae8e5e1aa576475af44f4fd6cdaf0603fa412bffe64a70390b92ca9646420ffce7d8d52980ea4850ffb68eaa02abeb54eb5b39bba3c5a0b03e5fe69c3c3ae0c8ce01d584d4b81f432377741bf0dc3fe1e93d08dc9d8e9a20305581e03e69654aa4143a1f2e1dd3b1eb9236dea19a6024a9d71c457e8f09a19a00c144705c390341436020359ab5e917a92351f2b650f377c59588c4aed5d79850dfe6564be3f4b07975aee05581e030914e12ebf2f8f13695a7cdb17228cc3f935f31e4ed1a662bb44050680040405581d0332dafca5ea13aa62d260acf7a9e49b4ec15eb0154ee96f48553ceb800c1046a011811697eb05581d037b2656f79f83f726d2bfd4b4ded30fe18a0ef94f69e5ea4629ef9a50040104590ab360806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b61009036600461091f565b610135565b61006b6100a336600461093a565b610196565b3480156100b457600080fd5b506100bd610221565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b61010136600461091f565b610276565b34801561011257600080fd5b506100bd6102ba565b610123610347565b61013361012e610435565b61043f565b565b61013d610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816040518060200160405280600081525060006104a3565b50565b61018b61011b565b61019e610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610219576102148383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506104a3915050565b505050565b61021461011b565b600061022b610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b57610266610435565b905090565b61027361011b565b90565b61027e610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816104ce565b60006102c4610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b57610266610463565b60606103248383604051806060016040528060278152602001610a576027913961052f565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b61034f610463565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b6000610266610657565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b6104ac8361067f565b6000825111806104b95750805b15610214576104c883836102ff565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104f7610463565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161018b816106cc565b606073ffffffffffffffffffffffffffffffffffffffff84163b6105d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e74726163740000000000000000000000000000000000000000000000000000606482015260840161042c565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516105fd91906109e9565b600060405180830381855af49150503d8060008114610638576040519150601f19603f3d011682016040523d82523d6000602084013e61063d565b606091505b509150915061064d8282866107d8565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610487565b6106888161082b565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff811661076f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161042c565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b606083156107e7575081610324565b8251156107f75782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042c9190610a05565b73ffffffffffffffffffffffffffffffffffffffff81163b6108cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161042c565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610792565b803573ffffffffffffffffffffffffffffffffffffffff8116811461091a57600080fd5b919050565b60006020828403121561093157600080fd5b610324826108f6565b60008060006040848603121561094f57600080fd5b610958846108f6565b9250602084013567ffffffffffffffff8082111561097557600080fd5b818601915086601f83011261098957600080fd5b81358181111561099857600080fd5b8760208285010111156109aa57600080fd5b6020830194508093505050509250925092565b60005b838110156109d85781810151838201526020016109c0565b838111156104c85750506000910152565b600082516109fb8184602087016109bd565b9190910192915050565b6020815260008251806020840152610a248160408501602087016109bd565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b29caa54336b3ee836679675e9732ec5e526fb3f803cca2fe336cc3555aba62264736f6c634300080a003303a23e5d3f1301164ff0cc3dbacf806aeda84fc61b6fabd433f1e2d649df0cdcb20366236f30063d435ea896d4ade56642ddeff8fc98421cb328f580120ca5cd65aa036fc87019f94db8e1315644cde4b39a8e34366a34e9920200628af77ac046bd1603e2b9b3a70a25aad2b7c3e191e92058b56f1797c1fcb5ce55cc4962be47d8b6500312283b028d91d65984f6d75b1a13a732de1a7bff694aa93be76e19d2c48b2d3d035d98e3a3d8c385991d4bdcac004215716cbc9708bffa61811b536af94f1da6640387de042a89fe255d09939eb07dd9ae5192d066e46dd47e59683c8d1fdc85258d03a6c252b73a60f8e14b763c069df6ce2b0fcad227e279c9b20f9dca6d94204727036b39c46b93661316c0a7789b80b293af5c6166bf3b7c5fd3a87fe435cdde239103c93388cd687ec81de263a7c84431f35d6dd3f23fd7bde47cb729a78d50b47a9403fc85ca691e15363da6eba33b43fb2315921dc78d9424b12e133f357093ea0c5d037879cb93dfbcaf8bf1aef6865ae451b2429a4e3eb3a60a52564c10eb1787eab00349657e7d1c416a7ad8ff351aa5c19f156ff18c89f29bcd98b6ca616cc83d4e5b03f86a4800869a72b2204bdebab1671df61e42569ec416139283e1e107396b8a4e0376a84cdc3dab8529d49c9b47181d6ca76ebfb1b58acdea38a7be0b80308c96c503ae5654101f6799071628d406c75810432c1bdd3cb5ff539c4bd0c69c5e2c7090034cd40c83026535ffa03b28df936a915fbcafb7d7a3ef88a6f427d8d699cda2d4031be6205da7710d564f92f73e8497c0e4c62bd568f8a6b0fd373d9a94f979ff60036606b7c1ed56fdfbaa0a524e202639c22041be2541cbea8d44f52d118781993f03921dcc32f5c914f7c142fea1925c0bedb7dd13d4ff0869d7fb61782acd34f5bf035414b659ee182397bd73a6188244315dd45e5960304ef6fba7bf0cb7d286628f00581f02ccb8aeae1b14ccf997f02ba700b395fd289bfb07b903cf5b7431b694830f480eae42c988f7586e033d973400b8f1b32033efe1896a9b06cd14d04b1722181547fa97dfbc40719d3000581f0224b1f65cb2bd5a9a42e8fd42d9157da99e41ff5fdf78d82ad6239b63b3f94801ca5c1a36e918bf00581f020b688968701aadfd1f2440462f510b2660ca5f701619449a8bd29646c55c4835ed7d762cb0c00000581f02d13927dc5cf144b17c04fc4f0715971fd3e309389648a3ff445e9b941e745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ff60d4b9be8f7b28e5e1ba1a83a0b7c85312254d8fa00c9e2415e0f8196846461200ccc29700581f02fc26dcbe9eee94d23494e3f22809f118153f1f5091007915bafda5c32fbf47b09c0b86f6de7600581f0205bcfdf7f53ed5bbb0e6463f2d24bfbcf0ae9bdcfb156f9cacb89eb51a26480378e1a64d314fb300581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48105491625601e2bbbeb7171c40c79fadbcfbff6a198200581f03c051f7ba15c04ce604de7f5e9f3beb861ea6127c442d7ff993f3919c7c405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03f097263290ec937091be143d8b8ca6977d91b1cc648f6bece46c46132ba048aa72a6cb8ad5f171021988010219b7b403f74d689d693a83c67d4c4045468505693ff6b5e08cea55b54a9f04e891f81654032d1095c7dd1d95e5e3b68b32c4ce0a56c52439c09d8d4df52eda766ee4b158350219ffff034664aa933c3bc9decb7fd4dc4b68bee167c7ed1d727e91e2d9f1a761c85d379c03f846e8bfaace80e5582083802aa1614be66a1189c6dd9f728f5fbdfbd5662fba0368cdc8d2633f367ad8ec62538322f323f5049510a527ddddfb7c9ae2d8a59b8b03a9e4936aa5c26106a8c6ecb9881d90dea7da3762273679d2534f2082d366289703ccc7e9a320f828a9d5169ec5e70fc81cb28da1345943247bfcfb50fe0265b4c2034e4ba0b9d8f643d0850cf0e5d9570d223450be57de1a84adbe9208a7ceebf980037a23906e152c497ab0ea402fc19bae77d4c01a5272b3bbcf922b5a1adb031512030d18ba4763c9e5e07ce6c800c1e390cfcbf2b15216992e88bd3872de9ecb3fcd03936171c4ecc0bcb06a875b8be110d779318cf94f19cde16af8176c3dcdc58e21032290a58e9d38c1a1b2c557674fa8669eea8507282b620dcb6368a7d134874b7c03fb5077f7ec4a9c52fec992a8a9a9376cc2eb9956eed5c40807b03f27993d7a8a038e3b06b62e6ed3f9839786c08d1b919f9ac5556b67807ce81296068d168e2cb203cf9c8b77075f2aa548dcd556129e5481bb10f736d9aeee58a5de89a57c63a5530219ffff034114e89c76412e8c858e5aa5c201cb815c70e6d07ade51396c4fd9d6f2f80f4e03f12dd78dcba3d78b63ff31320376580822790233ed5a9ac288db98fc2459a5c8039a068a33b209ec45861fec82d33bdf83bd8f10fb99e9eb01a4171bf0f5c2edf503948c52963910c0f3ddcc46739e8f78f678f180f3460dd3b47647f065c4ad307603955a219003b8921a9e8f44d750d16d4179d0e7f095e95bd38241107f779b174103bee6ac084f305484145ba93c211ae9d5a37fdca23253f5596aa2fbe6a37f96a103a1c382500179c86c955bc43c9744130a390b4ba8570e151fbd2a57ea5162108503a4f232ae8c8078c26d677d611f596d12bd68d564619c33241e0247aeeaa33f0203e16402ac29f3969fa68a1748880c834f0e22bbda53e2b683c7412908867283d303dd2af4fcdb95cef92acbb88c18a6923783b5314d741225ac8e59aed7ec59203b03b547c1d7766196c5dd30d9610d7c8787f70eca658d9c0a56b40383fde005a36f034976b45b7b193599965db94176fab2d66d1785e11e862c69aeeea8fb4ec0294303099715359bdb63572c510412b36bbcc8d89201003882de630093ea63433de8e403630685d5677b412ded7a63791d7b338cfb809a574259de813889b903115d58b40311cff9e7953a143ee2cb06680ae5692ab75eb07af7179aea39ae3f348ca85c3b032f722d95875a6e4b698a83369fadf4dd04c0a44ce2d41d97af6432b7c60a2afa03136e95b25811bd750da1ea2b9dfae4cf67f058cddb04ada550457d42fba603ec0397e6e1abd703f8b67f95b4d1f2fb0967534292716606220675e29c7d04092f8200581f02871354eeab25af91f619991be1cecbaf9d91dd61c618a134a597e121f9284802c90892be9b5f6e00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0541e756b7bcca7b26fb9d85344b3525f5559bbacb000581f03033c947a1e6e7642a072c7fd4932a74a7c9a594aa7544d41bc59e0f93ca04889b66f531802ed320219080103237ebeb210542ce224adcd53ec9e4c78a004108d3bf41185e791eee39c9f5032036fb1f8a7ad48d0ead2974fda0b63a063a044711188125ec46f3e4efe3041529000581f02e34316e6835d26b698c1ca77966f8a59d004cd75aac7905688b145da5cb74804328dfa7a651f2d00581f0260b2acefc287ff39b3f9db18161e038d3ed2ae8b1ba26f52367d3e28fcf45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034211c7a263043f6188f3995611dcb079797ef1a65b24d4938d6e54257fb97f3d00581f02c6cbb40ecd313110bf76fd3f6cb698bb659e6063346412a9a5ca059956104806e2616a8b31924500581f02327d9c334c109f42c6fbe592a9bb6e51a5eced54b3a30d6c89073ab821a04804f4f24b91de2ed10219d6c703d968e75034d2f3ebf26ae384a224c2fb8b2717d2dc69ffe16437665dab2b94540345d418a405ab8dd166521da7b0e261febeec3b9564c0d27f2a816752d28d456a03d6e8068fae29ba1e2c78ba70ba06f9287368e47784a7153f664b75ae951fc7100305f5fc7d7096ed9309f21237683f5f486becb3f9c89ae2f5e35ac7f249e2ca350219ffff03baa6e09792b360c480e75c1859c0f265e7cbb5b6240f085eeb517e710b54abc10340e6bc72b2ff0b6c8dd50f71a5dd4e512051581909af6fd3e973c761af765d710332d6d40229f8dc314c36a08e60d605abec6a4e71a75073088f08af838cdd3f9303606b07d762845a1341d7910c74dc6dfe41a6b4a636932d6ad78d988b1d05ba6f03b4976b70e7668e09aadea39733bbad4af023fdc8845953fdfaf1bb630725d9b40374e0fc3674e527dd8423962524c07ae6f5b57557a3f072ec3c6e5ad233dce38303de8374bfd1e545708f69fcceee4e35335d608319d1701c21319edd7728828f520338077a528c8592abbec1737a14a44891afcf377e5f6044b351887b171ec28d5b03979aab6eea276b9bb87290448a924b79ccbe9959b04756a3a91703af92a290ff03d8a788a489ad14d13bb26bd854daebee1ab3df14575f3400344ece3e620499240219ffff0302bd4a325885d7f2de7a132b16fd5840a3a08ba98f1c4fb2f51876fa91eb664e0350e9f70c4835e0149b9d88bad908a75e695aeb1482be0c83c58abcf9c675241d03561250f24aa9cf57221ee0bc053786929a79be336a00f94ec36e1aa22a906f8f030079603f1aa5d6fd4da5ed9e32abaa6b3e10b684050660a4f09f1737c1c46914034385f6b8a1a2e152ada2760834d0cf9c0aafaa2e98e8f65ecbfcc111af16c2ce03ed89c070f18615d608a46bfc69d71be8f25c99207cde78d5b311fdd7c34f56640367cb6ade1eeb45ccdf4e1f235877ac1df97e5aaba49366ad090666d3da3b4e1c03ac2fe84c223bfb379dfed3f9ca1b123ef9ca2218b548bc19a9328c5bf6ff1bbe03c71247c84cf7dd704aa9cc4de081d4727e0808a35ff770083ae3ea32807c69ed03c409ab9f586f64bcbaa0b2c476d09cfcb28a08d34d1a0bfc6cf26dbfc107cfe003c492ac17588e8eaeade30c4cd8508aca6e3d5a3ef50c0fb8387e2a232c5c14c1036ca0bd9b1483b0b002438ec75240be877678cb6ff6b452aa31405e4a543f01a70349ac2d47130a255ca6aa48740d790a3dc1a404cffce1d765f589dfd284fa2bb10335dba6ca5113cabb5b625959e491f2abac0f6a79be5ef23c15aeafdb1624947603a8bbeb0de42421128769097b5b48f3f9e232536fef967b1750c3b90e0bb8554603f9a5451d9fafbe019871cb6aa8d227650ea73f3bc768907604c19a9ebc9a2e90035dbfbdc27e72bba139ffbe0ab22c186cce2000227b569b966c43a1639766ae3703b288bcf3894913bc4346e0b13f027b24e815d8772aeef6f4dde2b5fda9d270850390e7865000e73548d405d696fb6e7503c0c329716af6270da5e95dd3eb3fd7bc038b7de1e40e17a6da64452f99105e8d74ac5bf7c19a1435faec07c37b81f4d05803eeda0fea13021b2ceff3bc216484b9a63c4fb5aa50fc93752f0ead566fef6a2e03a113d1aecbfb09a6985d1ce0172da9a446d01b32124fe19b13b1aecc168632ca03d159c5311f223a19a1f7c2f204a9348c4465052cd41a60fcdd00e07b6c247cbb0360a58b9e8d5af137cecfdb427db672a6dd34174c71dc18b916d7c591fc52cd0f032d0f9994ea8e6d6e9d8faf1e178b063b192469250cd0940b014d40719d58880503631f0ea1f034a16ba46ece294e6b5c8fa5e492366af29b51478fe9fcdd540098037087944a79d4e0ac08008f1997e2449d354cf27d81d30f8907211c2363cc699603aa8819d77d9b822c5e5ff6556bdced3d317a75c7de621ef748f075378888154403af46df083afb49ffa64bb63f5bf1bb6d2495964289c7db4d7ee5b8bfb48a4854033378d4da2e6beca4ec8863db0ce2e76653395c22c48a9a852ff30c6dc751b90800581f021d4340c8cac2a258611a65d07b600f1be88eecd67dae1a85364adc0195bb4645e22c80241203f9a1587646a68d15265d64e299730caf0bde28492137747aad8558e3e624ba43032ff5b9d74648550418b0e77927d393e11ab441be0b0f3ad68bc390be700dc2fe00581f03419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c70544994efc62101a9e3f885d872514c2dc7b32358490218c000581f02e352d0df851f6150a2ee0fc1a48b6b42b330c0644520d39e8106a32c3524476fb20f4afbaeea00581f027d04bcea845cd635ad83b60974df30910697844343da2b712bb1bf58df14462afcc89c9e8b00581f02325552aa9b7bdd60339239d9555070734bf632561a571da04c4d9f732823482991190bc15fbab50219c6050219ffff0219ffff030a29448eec35479e496c22515f9d2e3bda34a92d7802b05f9ea7db6ce9b5171403d620f3a6b35cbc9d2bdabd860ce779a8c0624a2ff140b46c514e6c4a9bb7c93e03e3bb0bdf2a2b519cd06f2e2fdec44c4b0c5013383c09cda49aea73dcea4e34c60307896895f8c7b283f7987d3230698359452320100e798d48158dc5e11035482e038848038775268222f7c7e815425658c199b73857b44ec0ab4c7724bd2edc2f2803d4d211e79a4e582fee4a8bd36f4bd7f27951ad315c40b1cc33504c3c85a99297038144659c45864e49c49d022ef67fe3a4d6cfe0aae94ba9b779ab6cea4d6ec6c300581f0235709f50300ff15493b7ee496e2ffe19837865a2d295082cddcbb3c51b9a46022a4228feb203dfbd27ac5a0f3c08730bb0489462204fd46c77ce48c8d1291865aff118fd5edd00581f027397229b34a7bfae1fd4c2353bf8c9c17e5504104b1f9ee96ba812dde33b480dc77d4bec095d4c00581f02e006b5698de5fd580a3c5eb8cf85cc2610955701af81d99f253e70b140194707164cf593095f038b68e4d314fc5e434ea59cb2865f1771ec9f9210d9bb5cd475d0ddca87465627038bd28fad1b226a6b9027ca7791a4566e8838ea54c2671f9f62c8744cb0612d6c00581f020b4f6951db849274f3175c73b69185d6d328f33d2a94b06affa9082f7ce745c84845836e03bcce69fac939c5cd0b8d29c9bc0dcda7d37d04200c649c2066cb3428c63475f203a9b2a31fcc8d5942ef7f8dfa45c08e749040f7ac349710617f1db4c85f9aeed500581f025bcabecf4c3ceb37f1e6be82afce788e362e11a1eb72cdecd05aa8ddad13462db3eef2fdd100581f03849279030a9362306326770f51a5df2040ed97f59b6b7486c45d5823a5504620260c5b460f00581f039a4f1e79917497a7dc429b875f318fc9408ded465a71212963bc52c6d320480f45d3fd9e02235d021982000219fe8d034c40b10029c97408c113e140108e807413a8d6d4f28fe0a78a62d22354f5b7530387ce741d148adc7288c127c807311f0d186432c8efccc941a58489b900e7946d039e212655b95360b36dc8c50299b2ef5ab5f4cda20031fb2d216630f1127a8c070317b1b8ddccc0207702fe101bc38b21c05f87fc527808edcdef00a8b1d29c12b003ab6c920bbf3f053df1517ce2be14d2703586cbb92a5bba3bcd39457b4cdf8b91039ac49e6f435f006c2e84928864eeef4c8b8fd147fa14db7081fdaf9991c56a6e03a8475ea59e70ed9d2708effb3af66e2bddd113b2a3b99a7e208857c24da9c11f0310dc9455418bf428c486cf2f34988c9d03782338ee66e091cb78aafac4eda53703ec5c95b85946ff1e175053ff294f1d41a1a9d4c38fe88aa36992248184a5d6b203e7c0bcb6ed7277fc0e79caa34cb2504f228b0e52660e0d6855835b49e7f1edeb034e321b3829f3fddacc881f34237fb2d873a18ccaea4fd38aafaa74c3f61bf79a03e7b68f989df0344687f13a8148941f8cdd8e3c0b5e5f43e855f3a4a65ee8bad3037b6908048a6c9308351ef0fe8d82ca159393677dd1dfe60dde5732ed7d02a5e40219ffff031e2e1e0742298d62b346bc7d8f2a6e61f7078831ebc837db66ff3f1797bb34880331ebd9191d2e1f54cf42728db3cbe362ce57d79667b0879d9d439a2809cb4c0b03a735a446af586036cdeeb7c1f31cd942c2f4df91193ccb1577b334c9c9aee32f036379d516ea63cbb135cba57a9cd48eedf84e769367c79e18fb98dcf34af32def036d51557713a0b9c055b7f1669dd38b605a997d2bdede749a30ccf69929c67d0a03a17bf1da08ef92e6bafe326b0eadded32891a7a53915d59f8964c2c0eab4bb40032ca6d688674efda5daa34c88eeb79b50c7af6ba71b4d6213275effe0d24a20f9034c89e9563bd7ecaf8ef76c7ad09d67b0f672c941ec956be5889efdb3746df56d03e1c04e8185f2ad748a6bb5e3ba5ca920ca40eb22375247e2266f56f5a3d07bdb0367c48583675da00b6db502ffb1d8315ceec41b309ebb220a8d27c5e2670d135f03014ac51b60d28b7e62378e15ca3dfc076264daf47b66091d2fdfaec339d4eb830399b4319369e77b7f250717f66359a9d0a075f0c3de1c2dcebbd5c906598fff3203ec1b1d2c974cd33d5b7ac677db76f24e0e8a42c5cbbcbc3ca3563df49052895603573f5049781bb41d40a5356079153c4bbcdbc186868ddc8c59db407dd3e6719f030d6969a1d80c5fd478d597d6c6c5ae08783dbfeb89af9ab362ad6adb6e75653e0219ffff035b2f8a769cee8076da11ca2de5bdfa8ffab00f647123d95773f460625fe1903c030919522fb501fb6999a224e11cef1ca8330e349b811f0c0185e7a83f5c193329036c63fc1b63d8690593d3125ee7be39b8aa4da32820697adfa12c99b0ae33475503a73ea481d28abb02f2d8110a0bae3da8e76edd18f125853b053a6727ba503dcf03e2984714574355c0ea9b2fff02f08c563c24176c9d4e8b7b969cf392f378975d03667699a71e7a4a85de0f7e658f7557bd865b8ca7efb58d78e038f26d9731538d03829fd8daa35431376b75461973d2b6d0a2d52e79b03b4d5e11574045fd7850b800581f0269bd77f3c5a069f6e40eb7b5c5c119c8231600b0c56b5094a874a9c4d8d446720062a934fd033e6dc4e4adaede926d4a584b48fa8a54794946c238e3832ebc9d0202f0d2268600581f0232eefd0b8c9e918d1f12af747be9734976af3e7f7ff5290c891b065df37b4a2095830774b90f35ac6400581f021c01972dcc31b9d307874b681e888e30403adc6c51311deafff5c3b6e43d470385ef036235cc00581f028ab2ed40eff45f5672da2c0324939b7f8d813c8839b147a7acad93896c125820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02949a64ec3d540a2cfff25d5e9a3cab1eb2d863dec3fac3a16e8401ce5b0e4632e9610139eb03d98f2fec05c7a63a2e929be39cd8c5e1ace1fad1d7110061f69915fa34c206b200581f02261cf0b4a2f0fcd5a56776e1737ad5df8ff3e5a0bb40195f33f656d4978746037e48fd7bb90219cba203ed1f0f35e4df409445f6926894959d9d76b2544a9ad29d1ed32b003213bd032d03ed4f2a5c3a54fba150e07a95b970cd1bfaee00b86753b919c4d6d7dc01ac7aad03537903a8be96c787d6a8382b5ee967fae711074719ed723007177e42f711cddf03d6ef04741ac2b86e251a20d21616f3c69680a9c4110fa7b5116bc6e38cc96d7603073f77fea12b85c7b2144eb7e0fc07ed957cd5325e153b8d761cb63534ae7aa4036a6b4bf659f4a935680b9eff407ac2f29eae4179255611219e8cdc7dbfa8b2e703da5a3c6f02d1161abb82ea50f896cdedc3e29d355a378bfee5435144c415d2a703c39d7fe9e9f5b63f045325a670ed6a4a1e397b2d40be5b152c7c2545fabbcbe90219ffff03aa58576c7878bb7b8244551da2b0be42a39cae88318ecb883a03ce9d78e729ee03d13c30c2d697afa07e588d8f64f8d6528a479b389eaca757fe2ffb8f890d204e034bd24d243ccdba7bd7eac3c06a6c647eb2f820715ee877316f36c1bdf34267ee0389360de220b278532c544ea5b163b149c4bd69d7693ba13a36491c142e1f00c503569086961deb4d3dad48b55ba7bb6248cbcde14971713cd0e340c4f1b2eb68c503a8f6d7204917e778bfa715cbc97f6ac89f0d554be891d24732e6b4145f8973eb0317a5ec665bc231af07f750b7605976285fc586cc985edefdd684b1620784cf550348d5faa34610f9c0de9a5e73c834da6ea560a9742474747c91564cb6724faa6403085be2637ae620999e7c7e0e2a7f242646bedfb7e446f56c30f6d597794c2c6c03a5ac03fa83e0f44ad85375ca62c1be228bf1e7e86884df0017671e58096e07b5037a2714be3603562c8f8421ada7a17921106987c824d8a0c615f82d4ccb7ac46f031f2da6ea964fd8595eba54e1854f37e2c35a414245ff573260727679d1e7cea603930776e4ce7cae66ac374a33212b830defa037187a27113992bc15a256b6737a03de7f23afe596ea536579352dd7b2eea48bc56d96822996e1bd07e3413e8e145f035dacec9ffb2a6cc34d32ad52db98def914be8b66da28b896883572351491499a0219ffff0219ffff05581d03f2bca51cc5dd63ca4a368953fd499940ef2ef0f8b1ccbc6ca8b527b00701190ab302189801410005581e03f4255ed52a55c08853274957deb126bfb9eb70f5b2e3fcae7d07edfd0004010341ac73b26a825e2835bdd2e1762ffe15796587834aea32956893c6835a88641e03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0364945d2f9edb61921d492a3ea8c0c3f1991c3ea6c89b9eade5e2c66fe007011bffffffffffffffff05581e03e3ea0e76adb853e9fdf02982b8716d6ebf4658e1245f8c356bc48d1aa008473ee3e00dd0600005581e038059f2ec2db1a105bae469600d6cfb543afbe578fb57870950eb3200900c0846940a8f694e380219df2603a403809019690168cf33b2255867912055a3789384a88ae28ee4238b5a74385e03ef0c3acbfcefe5d4504223337302f987e219b5a0fa7e9d4ccf913413eb72a0f703064bd46b81634dc8c16b4bd4890e5862557cb3fb3154f38bd15dee052062523c03a33cbed1a3ce1d408d7b11f8a5aca6b96fe298158c1a0f52cd15f48e5d91dc6a032e3d0b6a30e05347aa2a4c533f234aea1e66bf19de366a797e0075e4970c190403db1e840cd0c81ceba959c0af8776d3e63b4f852bf2c9a2993d37990a5494048a039da524a25e0e1c5d9e6e4038bc4cb174488969964d8b235f7b3af18d5f3d851003e53bf7b435b5ce1721bd8657e26ecfe3fa1844fe8621304d75d79ddfc9b405be0219ffff030de8d2bc36c1e893d0cee20f41a634780221e8f67e42e2aa7a1e3c75033c110c03be72586a9bbbdc06a8e31c2678eac765c3413982433775ff8ebd4668c8c88aae038a94338685ebdd2eb0e69dbd703c0b06d60f9b94383543719a733ccee31819b603d632f6ddfe0b37782700d8c6b6ef11ac154eb7b7f5080a32d60770e86914b9e70219ffff03f9a057b19f5fea3fbc5819e191853956a965c7e41a3c1bcc8c41b6ab3926db8503d3083c6c365a8af6fe2bad9ff5a01f86805875bd2d2ab666bc240704d2a3fe7a032017150774200fba522dd5df06822e48e02870698b8f31e69e6290b1a242bd7f034723dd7e42f6a65a6a6ed36960291fcc8704510672a73ac581f96ffa7a3b704803a352cd2e63d9dc73a1226f83254e009fb753ad69b527200fcb397f14b8a96086039a0acbda8cb8801f5366437ee80cc4f2211c6e1b6bdc4574397eecc083a320b403a8864bf019cf6ade70a9e72088e19c804d204761b8dd01428c174638e28e161f03a60afde1080154890c59a56d10617f55ec1355b868bcc9ee65162f4d36f644d00219ffff0219ffff038eb8fb15b26a9240721f175c19ff470b43571ce329de34a2a97f46038dcb88eb0362b8c2a52ab375e47e1ae9ddc3fd4e95be08c831b3d7d2913f1092cb9c6217c303ea561479c9590a8eeef243df962eea88b9d27c946910d743230446a1aa90202c038802eb976a27e7a7c05d73c84cfd53dad27474ba779148a6cb4fad5784aedea10388d5e66aa0b3583ac445ee4b299935edb30389b8b48b7ad2e88dee7e9297b82403f6d27736c0881c7fa16f3aa269cb8728b2c5d4aaffa08b16f85feb26e287c04d03ec39a08211882293de642c5f2a263724f775882a82b3dd3ebc163bf3f47538cc03b22c17e22f5e3493b4d3a79a049290ae431067b31977977582d4217da9e524ed03c74a92b9e18d2fefff8fd614452bc53e73fd240c80a60f1e8011a7063b70b0cd03304717d8e6e90826fdfd007f329815e38456294145bc5606ff4f572e4fd0822d031f3b1f910d9c66dbb05f67e56701022f2d67eb6b90893110e03a8a70710dbcd203af112780cb925f9f3aa98200815c0460b3b6509930b0f9eee3e26cc72136fa76035cf489c9e038916ff379dc4052d8201e8dc1cb263226069d715ffca8aef5854203d6518fa9c02a9a78694708a4dc1c2c7b43f2d868e201dec6c5f8d5dbf3207b9803ca1d543a8c7cf99c95fe9ab5483ccb2c95e3374e9528dc9d813d6ba7be9fd3ff036683810db32796df5568a5ed1ae608a70330a59ee7faa5f1486817dc9847c55003c0f5ddd987d5cdfbe8811a51c841e0adb2d12662311cab94c9de443f8c4f24f803157181fe75147693e740d4e37c4f39318579f6fd59290c0c3b9f007af6f9bf49037a72dfe74779ee9c01e50b2d87d861b05dc520de06f0715bc4b0490d4b4daa2703a38791a0feaedbb6707ba64e31477eb01c4a310e5bbb641c51f0ea7882e184ae03af5eb7f2340e0202a0805369ef269ee7697708ae17d90bb6e8c564061505a746039ec40f640e1c1a0c98447bffdb0dfddbafc09e711c5f2ec2d2d73ab669b5c4a0034545d949d4afe45268b9d6c402745c402847a1efcd6d3d082cbded9fd7e1288d03fcf3c1a7a3c7bb3bec248eb47dba7bbbe719bc43664db3c3d45aed1aafe88578035248c1efc67c268beaababe59735395023679ee987a5ae1b387011e107c0f9d703f3ddf97c0303608683c19e450f8c0787d471cf9880fd7ca07aa6c18188ae9715030d74bf53bb7009ffc3633d01d1ef5aaa83c4df4777b621eaf13281539802ab4a03b52948e0939dac65158a1fe8491c96b0a86707dc2f14fe54b13b2d3aa9e4c23803f144edb156629cd277f661188f5b2a9c7266756eb39df9e4349009ca5083ea580366f7f0dbe5d372999346020064af7a170a895a2575f6d2af1d2891d58caa86ea05581e0369630b7ae55a8933edd7f5409ebc3f17e387d468293d987f9bece9a380040a03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0307dde4c5eed17af2ff5b78ab6a4eac187afe2697455bd86d52614680a007011bffffffffffffffff03e9bfb5c6faae989b363e0b658ee423334e25482883017258ac75033a881697bc030747d279c5d93352a1f6079598b9fc4c80d8c04eb1734dd3ae5533ac1e52411005581e0381551e49592ef129ae54a1423fc56d58437c18a76b38e6abef1f97ca700c09472f7d94589210000459122f608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610b0c565b60405180910390f35b6100e660048036038101906100e19190610bc7565b610308565b6040516100f39190610c22565b60405180910390f35b61010461032b565b6040516101119190610c4c565b60405180910390f35b610134600480360381019061012f9190610c67565b610335565b6040516101419190610c22565b60405180910390f35b610152610364565b60405161015f9190610cd6565b60405180910390f35b610182600480360381019061017d9190610bc7565b61036d565b60405161018f9190610c22565b60405180910390f35b6101b260048036038101906101ad9190610cf1565b6103a4565b6040516101bf9190610c4c565b60405180910390f35b6101d06103ec565b6040516101dd9190610b0c565b60405180910390f35b61020060048036038101906101fb9190610bc7565b61047e565b60405161020d9190610c22565b60405180910390f35b610230600480360381019061022b9190610bc7565b6104f5565b60405161023d9190610c22565b60405180910390f35b610260600480360381019061025b9190610d1e565b610518565b60405161026d9190610c4c565b60405180910390f35b60606003805461028590610d8d565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190610d8d565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b60008061031361059f565b90506103208185856105a7565b600191505092915050565b6000600254905090565b60008061034061059f565b905061034d858285610770565b6103588585856107fc565b60019150509392505050565b60006012905090565b60008061037861059f565b905061039981858561038a8589610518565b6103949190610ded565b6105a7565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546103fb90610d8d565b80601f016020809104026020016040519081016040528092919081815260200182805461042790610d8d565b80156104745780601f1061044957610100808354040283529160200191610474565b820191906000526020600020905b81548152906001019060200180831161045757829003601f168201915b5050505050905090565b60008061048961059f565b905060006104978286610518565b9050838110156104dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d390610e93565b60405180910390fd5b6104e982868684036105a7565b60019250505092915050565b60008061050061059f565b905061050d8185856107fc565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610616576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060d90610f25565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610685576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067c90610fb7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107639190610c4c565b60405180910390a3505050565b600061077c8484610518565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146107f657818110156107e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107df90611023565b60405180910390fd5b6107f584848484036105a7565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361086b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610862906110b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108d190611147565b60405180910390fd5b6108e5838383610a72565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561096b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610962906111d9565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a599190610c4c565b60405180910390a3610a6c848484610a77565b50505050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610ab6578082015181840152602081019050610a9b565b60008484015250505050565b6000601f19601f8301169050919050565b6000610ade82610a7c565b610ae88185610a87565b9350610af8818560208601610a98565b610b0181610ac2565b840191505092915050565b60006020820190508181036000830152610b268184610ad3565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610b5e82610b33565b9050919050565b610b6e81610b53565b8114610b7957600080fd5b50565b600081359050610b8b81610b65565b92915050565b6000819050919050565b610ba481610b91565b8114610baf57600080fd5b50565b600081359050610bc181610b9b565b92915050565b60008060408385031215610bde57610bdd610b2e565b5b6000610bec85828601610b7c565b9250506020610bfd85828601610bb2565b9150509250929050565b60008115159050919050565b610c1c81610c07565b82525050565b6000602082019050610c376000830184610c13565b92915050565b610c4681610b91565b82525050565b6000602082019050610c616000830184610c3d565b92915050565b600080600060608486031215610c8057610c7f610b2e565b5b6000610c8e86828701610b7c565b9350506020610c9f86828701610b7c565b9250506040610cb086828701610bb2565b9150509250925092565b600060ff82169050919050565b610cd081610cba565b82525050565b6000602082019050610ceb6000830184610cc7565b92915050565b600060208284031215610d0757610d06610b2e565b5b6000610d1584828501610b7c565b91505092915050565b60008060408385031215610d3557610d34610b2e565b5b6000610d4385828601610b7c565b9250506020610d5485828601610b7c565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610da557607f821691505b602082108103610db857610db7610d5e565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610df882610b91565b9150610e0383610b91565b9250828201905080821115610e1b57610e1a610dbe565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000610e7d602583610a87565b9150610e8882610e21565b604082019050919050565b60006020820190508181036000830152610eac81610e70565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000610f0f602483610a87565b9150610f1a82610eb3565b604082019050919050565b60006020820190508181036000830152610f3e81610f02565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000610fa1602283610a87565b9150610fac82610f45565b604082019050919050565b60006020820190508181036000830152610fd081610f94565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b600061100d601d83610a87565b915061101882610fd7565b602082019050919050565b6000602082019050818103600083015261103c81611000565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061109f602583610a87565b91506110aa82611043565b604082019050919050565b600060208201905081810360008301526110ce81611092565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611131602383610a87565b915061113c826110d5565b604082019050919050565b6000602082019050818103600083015261116081611124565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006111c3602683610a87565b91506111ce82611167565b604082019050919050565b600060208201905081810360008301526111f2816111b6565b905091905056fea2646970667358221220ed058a77e6d2d821f3e42b648c8cf198903db1062176e26b37a01e75ed54286e64736f6c6343000813003303d376b614bde7a9dbba6b2fbc12a7340acf79a8a0b8bf80477f3892d9330fc3f403dba781534b7de397d6c98fd56be76e05a0078e3113bd9eb84f96250269aaeb6303b2881c7e78558dc08a7fb2987bb05b3b09c4aaf9ab4cda7be0c72baa2dda507f031d9ebd1a62d8eff83bd03eba229fa0ad329341839c5ddf210768264412cfb67700582003ff6ffa82f4b795d909de84a8439b48c150220d41832b002ec47f0edb3238a049a0ee92844feee3000000582003e204b743e4b1695d38cc68fc4d840114eb81062d860b6e348106f19a97e1f0490168d28e3f002800000058200367bd0857ffee42ca17700a9d694a40973ab4e52b05c1787a17944ece10c4c04909eeb03342431200000391a4919141c1eacac9e4159bcce34a450094dc0ab65163b3ecfbece9f2caefc00058200316b3beb5f7a3839af564d88ccd82e5721c6bbae5809992ed9f46e40703dcc04a010f0cf064dd592000000383151c12709a05e5e051fa236e1b6f3dcf248591b1418427500101180a484859035440959978ff7b3b631224d9ea87f326745778c6737005d9bdaced8e976823ca00582003db5326c812aa0d6c6bedb9d2b0e75ab91688b7fd9526e0861ace023ae6c9c0490313a9bc161cbcfb2000582003e664a432b9cc505db72498fd548800bc05f6695fe85f3c110df18077a1fd9049056bc75e2d6310000002197b9803302bd46ac59a7490cb93dd2d8cb6fc0fd98a78fdfc0146ac1a2c437f1456739a032082e99d407110940088172d10a41fa5e2c150285eeea3925defe9799e628fc30343ad10e28b03e771684725a8542541bfa09152974b64833724041e95614c17d30300d20cdf2f913f089967d598d6df19908a990195b17cce9aca51c4f8258a42de03236fca9e154d5f5e58d1bc9cbc38f052bbafc251c7988ac8fd386fffd86575650394745224b2e56e0e78ca0bb6324b86e122c527eefaccddfff7abe1a99af3f15d03b3b94ace0aa0ef23eb276fe9f07135c43ec2ef5b6d739fa32f33aca33a991bd203c28259c23391dc06f46639e9cf0db63c512ca32f234d4bfb343ccc0df329c6e00340c1c0ae54068799d00e10dcb44e55627a0bb0545d5db22477a3985fa9272b66033dc066b80117a749672c780f3b2a13641bb755e8e859c54a8599e9f01493946703a53a0b61e6610f0b2cf23cdee4c65c37d98aa4c18857f6ae69dcfc90b48abed203d1fdeea1b523c1a39de8dab3d9fa9a1b1434d7f1f98725ccb356fdd98918a20b03eb1b706defd7fd4372072cd62979af3258804709caa131a313464f152a4497cb03e63940e9e7f81abc7120d2cf96f68a4a6173e635ce41e4df2597fd08a29f59eb0219ffff03595684d34046f8cec53e96878f8ea3ebb67a9aa2a561f2ee281d888e91239658030fe65d5d33663c93abc2282057efa35f9a01f7484663bc6277935b35cb89435b03bfda042ff62dcd2ba1733ec5d4a8bb9cd1ecdd2b4d1c9c1d44a75be61fef97ab036cd890929c090ba576d0df55c6fe7299376bdcdda2325078df0f316bae37655903269dbcd792e1484f22e0ed622ed05543186e7cf303de884ca0ab67f7e6c65ef203997d806758d8ea173a6786db74fa41a0a1e3a01afecca9848388c872ae3861930389690292ab83a0c89ca444907b9d43f323fe37e24092d38fc21a62f4e314d8e603213ef1c0e28f1d466eb823e6a958db166b5c9d785b808a12dda47302b64c0261039ffd5dd7da84106f6f90841c7d5d8b5dfa9c9bfae216d2d0b6027297b6cc251d03973360d88591f9abc7abd72044b9966a057521bd4cc29da067191dfef1bf27fa03066d9ac24130d84372b411c154ec68b2db3fa3b53fcc91b93f477d9a0510a71103abdd0f3c3f064540d08d9c86b5722853bdc4d0bb7e53988c2ad3b3ca9b18bc2c033adbe3525459bf0751f6c0dd902c0d15ee70b43e52768bbc55ca4c8fd25bc50f03bb44a6f95ee55602802b3277b575c7c4ac8a6a6d5726f7755204fba9a0831b3f0058200345f0b4af3a8076097eddbc4a46a9eac5f04587415d8456b8e752c943ed958049205280456218111d7e00582003cc3c7c29609e99148630b64c8a1d06f38e264d093e38a6c3df7b619f2a09e04904236fc8dd278379280058200347b961211a5e43e97bab3d0a7d8935f7cec3162f1280b4ec47c91d4d9c30f049ccea9b6ec27da7a3260383da0644a615d2b292a0352ec279785afa14e05e857c49a7275ccc031a8d73180058200362be309e7439f4eee1833a1c77c31156457a3d9201fccee027ab9a580a15f049047bf55a69823488000347272c28747e998a897ed43dc2e93a6df703c00dda827cfb14ac9441ac20ada100581f02700f232651114764436520c4e566fb217b9486bf14b1ca666f7cf43c20aa4918c2ac58389b87e47002191001036365746d848b2644fc1c0a9ba7a0c1b56831b833a213cab2d9e628fd6932a8460058200341b8fc28f6b6fdbf43f04dd07bbc57f947b21049f098e6cadeb188548623e04901fe25c13cb75c000003827ac22596adcfb85c5796414a2b71f5594a8daf05c88788593aa88df5168e49035169d20bd55c63d4222d5d189946e11c3e39721f8e8d62206eaa45697afb8e2c00582003e0206a317f60832fed466775ac9bfaba1e6f57bfe4dee4655b383ca84e21504901ab22465d50822400036d501dba04a894f842b72eb152a2ff53a8c2c09953b435c0e05699cbbd6197b800582003abfae98f8dd0650ad3cf46570a4fa5eb6abc1a9f59674229faa38cfe93e7804913d331ba1ee84d0d060219fff70373090c919eb70ce92bbda78ac936553b4a6ebb8f795d15ecbe1dc64779b1937e0308213c7aa26f08f80d31bc3609709d7740470bc84161683242fd9d8029f6f457036040cd292202345c4b4228218757a41a52662e13e1e32729a3f809c7c0492b220397f76fcec4056ce529e43fb092d9c32746d089a4a6f844b97fccaf5bfddbe3b2030042ce2f233113ec50a1fec0bfadc088ea64432d7e1e695f3f18efe4d93755ae0368c8969a1bf9f299087211cc98daa58cc7b1acea58b2214045425f887f4392c403a380accc60877551d6e391daba3c1b2bd593355535ec15efbf03f376978e3ce30347204b48363895fa1ce34751b20dbfc79ac159f110dfade37a23a3f622f18d1a0384f19eaa7d72e0b37c4c5850eecf9b75e734d0f9526244468c74b3defb426e9003f3280ce914c845a91d2ec4521b3c8ec5d476142953911f5760f1c05863498f4d0346d9a41c9d8809d467a571cf6dea2c704af5899b3435467fa2182ec1bb5131c6034c71fb19f3ce5213ce8892e1de1dc14794c61db7193fc4d97fad4f5856d72b710219ffff03334963a1387dae4da8c902d232e5052852fe90b61358e3eab31bb4bef4ef598c03fe4d2830e0805855d2fda5b6c5543feeb0483b95de212214716b9def002e06050219ffff05581c02233c93fef1009a7479de60c6c40315d672adb9e80482b1a6570c1c070119122f0374c6870e32f0f1753f99a32b57a51a504f9d63e6c10a65df5bfc04b31a098b5103518d3ebc522e0309792ff96e0f73e3485270e6fefbffd7ce134fd286824d36e105581c02f8fb9d6c6a4ea5ed639d45a594564387d2e91df1046f1cc7dccfc407011bffffffffffffffff021904010142001603f5b5e159a9dfe2b86978bec1905b2feebb6c8f0f67115be366777e052a347b3605581e03eee525b060ea03415681c8e502bbe36a439dcbe843ae1c12e2c8707570040305581e039b5e007780c6319552c712eccab1980d9b698334d97b82e6c86e6373900c01470140bf929cd2920219277903f5f8c946001596c5cf3119a7130693ce76b777f7aa92687d54a0a84b4fed341d0323eee247b741f4d6d757ad82979dd5e36c26a5337ac0df56916e2727cb4c898503bfec53dca0cd0812dd41f62f1cd29ddbeb044f27c28eed5e3d035afe24297307035f8335c3ff1125c674c3d1ee85a0df17f864f3253e727eedafe28d7d7f76e92403433364f1d4c7fd04fcb1c3b086e0233b77665c3d725d10d61fdd6f6a1acd485f038e37a84ea5c3585e4baf1d4d9d46f85a002c126bebac44f1891b65ee903d9c4103cfe7b8f5da1b0677f4bc2c7c5d5f917e531e882ca1fe26250fc881ecf707d349037abbdf1385230f7d38652551e88d900ee7301c84f474f132d764a5851c0ea2af03691ecf8a588a3f44483b42047adde6ed2c4b614f7aeedc9a1bc29de92da854dd03ce58da154d98f51ab8a02a06235aa4b1e2e683f56098283b1f9aa7812ddf077e031f0f337cec7dabea22f3fac9dab100d45accf4da0720feae3b99b9883e24dc4f03ff5e458ef52e180083e9f34ae5a63db39cd23a3e8bf735d5d7fd5b8fc8334874032fc84cf87d593477f3f53f100f817e556fc69c50389455f5c5f7ce4a2568356b0219ffff03f88535ba93c651640102096fbf944783dc7309be40930613aee4940102ff67330365dc71cafd211c477aeb2896047d338d2343d2b39d440289865f5bc4b077187b03e1dd38d4bb8728ff8a25c9d3b14424f1a400739462a788b6c5f44e33f8f3bed103db8b86915a361dc0050fb2dc34fd2c952049c9c28050dc2f30e4854810e5390403f79fbdf96ac7f26d57f26bf3fba043baa04796fba74e4d5724d5387f00e4028703604b77c5ce557d49ed6427100101f37a729850e9b8c0d98aa9020bba2e8d2eca0219ffff0219ffff035133b58e2626a934b66fefe78fda97063f9aeaef6e561ed6d8da5fd25ccb9c9b03f91d5896680e58788936ff2196b4c2394df209ba9d46a6d72b454bcc1c8649d3033cdcb884c0832768a1ab5bb250fb877ea6c6047c29aec97962715a427e71afa20348ea8fcb4f2042fa4c3d6e4104c21dedd2da2a46e89305531622cc8e4f9b2c7e038d66b3fbb47f41c1dd3e0794ee5e57790580d29b76801e528aa663d6fd7a06330340025030f5218f771f3a7efd035429832f53d15749c05d04e1225daea4c7613c0378e34c51ecb4c2317b6560a64d451928c065e06d297e2f8ed8090f9bde717ead036f6cf54eb2bc57c8f170acff1e00defc4ad56e7e8b164b0a245dce9bcd4b97bc037709f76cf711068160389665b5f9d695742db731a4492af796429a04ff4e6a6a0331e9e95a625bb5c1db83d7812eb17ea955faf8b30722784ddf019a7e74f1d6df03a0eb0bc65ee1f79bdf51b6cdf088db978504c6ec31584acd1ac0a741c8c0c59203a191275e11f597756fe2ff2a8cb641e5d7950b68546b53ff6f8f09e8667241b8034c9d2948ea9e7bc26feb22ece9bd73342b1fce23e3752d9e954fb04c3a5512dc03b408d51e395d4f9aae8683c61bca28491b7e1172eb700c42cb3b162a14d1982603ff7fb44e463d64b105c60d76104377794bf90fd22589bd33e8c89c5729ffd5270322c83148c3b0e3194cc9832f2118e2cb5d4079f7176689b2610e44185babd05003986885729d547093da03eca864184bd04cef950582bc2c0e674940f0701a4e700396a221808de8483a35da6756d3d4aa4f70ef874b9590659e4ba5a821d119e258032b9c366cc65e2669ef1ac5671396a082df9873eb153d243c8219e406808aaac20386439c11c4ec46aa818208008f5a2a42a7c07e47a58b6d9ec40320a77432a07103c8366b5a34ba671b57cbed1875d0b863dbcd58b257610bc5f8f0a968fdb7aa71033841781869a5031a6c4cb07ef0efd7e75603bd07bf7ac4416afb7e314c11fb8a03c5eeae27584ff84bd0619b0df39a821646c3b3176f235b5c160ce11916edaea703d168ca96f2f1bfb253dd39bfae8bd3ce11e29561b83a128af39787bb6d192548030830787d8b2c36447943a188c2ede8506f24eea6385be02390428f66c505686105581e03c89ebe6e1e778124e3eb42757c8bf65882c2a010cc466db3ff14556d600c01470f4338031b2500039f0bb4e8c54779f9be5af1e8639b343d7feff86e7df1215a9c798b4bc0d2354f05581e034cb853fe09bfd449fb5439548c0790408429321096a0528cdfddfbc140040405581e03eeb2425778a4acb25602852aa768906a5cc28b3145fba44d38a3a6b3300c01470170639628300005581d020091d98ff93c1c987fa54a8de1f9d2b850d995cdf7886518ed879934040b05581d020f8ca97b15169db6afb28beff37e385588253248fba73270592185c50c1a000180dc4880db94fa7924803f02198010031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03ed6c298d7151267c1dd0624fb398f7f12c2036bc2d5b2f66676a69e52007011bffffffffffffffff03e888026eca299f14cdd2f2a5fa1cf9975bae0b5032b9b24a84edc64e90e876bd032a665e71c6bbcad7bd587ee2b90955d3e873f512c29555a9fe6b23085cb99fd905581e03f9f125f0f7d32b1da92163c8bf22fbba013ea73ea39c9ef62f7d8dec900c01470110d9316ec00005581e03f490a53221b24ddd4ef2261fe27507dacbd3701bdb6fc9a7d8f8a406600c074703fd94c41ecd640219d8dd0381e5e803a30a27309513546bda37a2e7c91f10469ae7925ebce22331a9e2e0ac03817dc3a5ca63b74943178c4b87c3765dc23e315a70c2a890c6e46ec11caf966d033ab5e6d1a5f3def3d94121cd83d2fb5fa13f53a5f3283294622cf2944063c8380334a832d1b930678433520a0d0f234dfab500df0a192ba282c595a9b6b007b98d031b3a0318adc3002f0b6d42479d24bdad232cb2fbac7eb23e59893511f212d03503500708b4ab2088d5629b58a7c734030e766e0ac890e0b8a85292e9777d26226d03968e6f801cad3e70ba9f7c68c077ef7b416af116ff2635e8352125696b7ce9620219ffff03ce9d9cf26da69b740aaa1cf3d52118225a557e1adb08a26ff3b1f149879be61003321ad0803b6a31bc65398761ea3a524f21e559103f04a9f48e6c03a29114b330030c3699885a36ecbb47bfbd2512f10e738e5229112beb64cfcc4a2034c312b2ea038e5afd6d2a02c39c484e194e69c5e94c01ca1fb62f0b3a414a95f6f596c476ed0219ffff03d1a78fb8230d389ac9082acf06052bed9ff0ad9832e8f418227451eaa617755d031bc4abded0eb94175e8956505ecbbca3d7022534a42fc35653b21983a7dc4d89031c94f7b63380d9af6934ffaa396e60a42841d1b2773c66b5e35b6953ad7f5bc20396373ab202fade26cd129ff425fb7660f01a24fecb4525e25c83c2088f2da4e703037b04f33ad2cfd3cb5cd616e4502ff9ab26e8dac41f217a5ac29cd5feb2560b038aebb51a6827be15a95c8ec73213d87756363706412b89bb691bd894bc99eca703001b18e111aee1b61f6e587b366779f0cb0b1842795098989ac7d147d4fa7fa103b9f94ad1d0dd31c933d195b1722e9aa95b998e7e22a93d60eb460f3a009f4c5e039682d92dea686e8c0a8da754009e9ae3cf76a589959478913c4039449891924803448fe94ef5390dbd82899dffe27408b4e023e673a9c45cd2f95dc7ae52fd42cd03a230aab24aebf1e3517b81ce80edbfe5c062d4815f89995d02cd2ad049057ed80380e5dd3368b7f86c04b7a0d0a446876abb48903a40781616681ceb9e92c226de03d7e3e5934e28a347359a0056f588e3bbad4b8601527c93d3962470b97c56d0f203ee776116599e004231c410132f57cc86655f30823660b5a26a6de3406cd87416039ab2439507ffa56fdaf4dc819f163559d38b9c7c4b01796b94e06c51434db4e10219ffff035dd2e6d44f4a14c42d20b1efb129a9559d4123fa324640768aaa965b2bc8608503f63caf63e33887b5d38b3db7a7d0132cb80bfb94ddb642a9b54af60dee67ab0b03a0ffe6d9a6a341e5d2511a4378d79ad4f1efd78a9095085d7750b0c00fade33a03af4f07b0f793a909a181126bc3530a79e6cbd95ad88ee65c20ec56c12cae9ec00219ffff0219ffff035dc1da468de3f1a5d6a3691efd73fa7d971595a064f7a83fea02c9faf8630a3f032c269a72d796170eeb4b2adf998f3acf9c734de3dc50f97f7052a695846d3c2903c5d78eb21f8a0711c341f8fa50d3c96bc40d3c458536fa5f4967f6a03adc8b64039b17500496df187a1eede6dddcce89edd1767fabab1c359ecabb6b194f32ab9c038e1db085e0d41f9c19dad901bd1caddd8558918670f369a4d560b9ff9fa71ced033dd1d8f7395e86bd319ea4095f28d39443fa05c73116bed47b97935cc2a68df903d32b2519a10b8e82cc73bbcfc562f9a0cb273995d37f690475e63c2e0eadc2f203c0d82efada6fbf4bf452092ecaddef9cbdd6f9f6018533a69261eb099942467403abfa17223bfdcdff2eb69360e133ebe4db46747d8e1e5ab214ea42764b1f721803e403e19778ae13f11daba00c5096f9f5831a41546c5d4c30bf67bc167347ff79036cc1ee73ee79b9a982843e36256cb1495f803af6c48c9585e43db7e6288357be03745d90cee9e43c0502bc2b554f66072c2ce8e7fcbcc296a41f5adda0596f3dc7038cc5d8112f0b1e03bb59b646a6acd755081b7ecdc2a6c2f3d7f36ec7ff23aaec032612bcafe79b754c6e157f0a515a723170727efb85915ab2ea8b88bd8a74f673034ee2e532c3b5414b0e66c02dd35fb30fadad3a985312c53d0f773d0d0c5afc0f03a6cde92181611531ef821f545e83fa0f6eb7e648a8fbd179015bf9e4a9aff7460331aa27de3aadd6ce20e74a733c70cde134415153b8c17ce534a7a7062c6939f603373c702bdfc6f005d1fc85dfafd70a704f683c8c54c5a56ebac6769c9524e4c703072adc3e7bb7e48e1282a52aec00a7a0f376fdad8913162b87f9f1ec81a447a003a5856ce3c3f3d464fecab6153407aa49ad2afeda95260691d607bfcdd1231ac003e9c95fd730717b0825decacf8ddaadf1c96d238cd4954e3467925b12bffbb220037bcca446a75f529b867a1d3d01281becd3768d7ecb6880890643cdb583c3f86703b4c7f1c5db9696f3df9e2764bbce5acac52b5f36ac15f91051e961fec169659f034c2f7cb2e1e1aed1c5527321a998c97818db41f79dd7c12ab85d826ec40f1d1205581e034fd62f551f81f6786e2c25b76f77213f581641f09fefa73b3678661a60040403821635bffdaa308ba214d4b061f5b12d64a983293a51978bb0f27e24d7db895e037e4345120be2aa2dc640809f029dae0bbda60cf59c623c66d93ba9f4d2da1d8003f41773451971dd91d648d6da491e82150dfbe04432953c4ea1c9db5d46362c5203d2dfbcb30c751094be59c76f3c2e610859bab0d31c3b1dbecc9ae0491f61c64705581e0340b4ee0934e6edece423042d303b7e7e610c228504df79e88b5f3b643007011bffffffffffffffff05581e0373c019c021997f4d4e4f29b092101c235ed9faed1312d30c89ddf4b9c0040105581e0307803efede697c4e2990bda61c11ed70810d279339a1fcd39a7baf5cb00c01470305120c0f20000353fd98f13d1e2a2638c24e931062a7ecf19e2109f4b45e158cc0bbfb2526855505581e0356e5a768cbbe0abc5490efe893a84dafe3298b9299b7e6cdbcae687f5004181c05581d02d5980e77648eeb67f313290957da4359a665a1bb693db236aaf0fcbc0c0e4704ce462ccca55d05581d02161e8dfd09d81713825969c39963e47ff8866ebef6a27bf651fbe9ea0c044801b8f956edc265ec0218c005581e03080c4d1478d3a2c770c7916bde4a48e274d4a6b265827a04bf9f2c7b000c02471b11e15b71580005581e03fc92c862545631f5c0ee38835b434f2a75308c23345eb0a2bbac5c65a00c02470226025728864802197f9503421ee4b2a9c55169a9c32237d282bfb14f0be50f70600765883fce78e2f6034d034fe21ffd483b849ab0d11338fbbee4cc7f1058b365b48618859f718ceb67ca2e037b5c4f2c90d889c578f780734508c4eb1d3e99766843dc37934530017a41174203e8d72d986d8cd92ce65c8d5e705f40d1abebadd5657db2ff6d840698fc2ae78e031e2c6199cc8b5adf01ddb7ee83dd90dec95bef8300e03052b282f929b69bf7bc03d824ec847ec9273ecc78f3ef23f1cf680c818df651b91e26525ceb66f5c1d80b0332a4fd6e3bc298709fa5b7453b15cce1a762204453afc8c150db7f0dfb6fec70033657a5032a475ee405346ecdf59bbfe7f986a2dbf1c7cf1d1793ec824d062d4d03ea0e525a2618c6bbe990fc2fa3bf783a8faf32cfefc420318b3ed71acdcc37360330763d54d9daedbd2cf35ba92f003cba004dc92809d50686891312f260445eb3035470282f877ca4c05d955267a411b7be7514affd44263b0c2ed6f697a6b0d8af038c20821f2c46cb6c667136ac35369f3dbca0a5d3af266ee7212177f6a92a35f303a5681c4e87a00bc0b5655a22d115a6c57495a572ec855a93158b3f6df9b7326903169326b8dcd55957fdb0581d5ede2d4e33d6cfa904045dacc144ac4df25116fc0219ffff035e3502dbdc8639f735af871abf02a063d5ed784f9898f8d79aced5a4c1126aad039a2eda3232c84bca6a984f65e1772ad996cd44777cc1f1281286e797d5ef2e35034f31a3353a02f90f5581adf163efd3debd8743b03d2a8f9d24abb52e677f2cc403237df08d3605019ee3cf830afb658339ab9525cc12ef14e48bd50632b9aa4d51038294341fe8fb187e3115b60591fe84e66e128c75ad3acdd32f2791011f45d7ae0333ed5587a07c094d23f279735e2c98c9c17643ce7589b0abe6b40d24c6756c97036a4bac710632d84688109641eefd4fce41b45aa52391fc4bdd38735ab89b37dd035e250f1c1b4c32be72be2300b360a2b67b0c169d96e24734c2f4b0d3c41420290219ffff03434627e6fd08441d2ba6d4163154847a09c650e3d2dd159f65cd252ebb60b4ec03edc8be665e3e0d974cb55ec2ea28b11ecdf322b4d268abf659e51f337ec3159203ceef3cfae44a2db9b8c5675511322a9f0dafeee82f1ba206d76e458d5563785003aee0d00cd1ddf3277c8d0bd3789e1834e448b2689727ab32672d9bfd01ffc171036df402a2a4c3e7401a49b6369e4d9e1409122a306c69bef55fe1d329483c42f30219ffff0334ec15bebed60a929029345490d8c37e6facde9ee504e3db61b74033fd7b6ec00317c5f3d62cb1caf7887a549ac004489bd4a8b9e2fa04f2d6ac73a39804e3b81f038c1dfcbaf81822fd0f52534480156a99de6f6738422d90d7f42d0bd4ca36aa9203c1aa40978480771bf469cdb3717e28a11d0449db80fced4c715ee2f2f08f162c030ab763f04ac39b975a8bd629581c3fff0591e96157f9726c8d2932e6ec1732fc03c1cdb11ea76056068104c5ec626315806b13e75a55d524c6dfc2bc11fdb5765e0371003fc3f2ac5592dac857aea142355331b3f1a75be2b712782e382bd0e8196603ed51994c74b1ca03100cc91df59f10ad23199c43a5bb79a618eac0b68fb4d77603852af295572fc8cbb78c67825f169ba50773e577faacf62b3e0f9832e89599200379f1ce40caae39afab56987f904632c2cdc92269a5277d75923c585ff79e9af6039511bf3e3d7d570541e10954a4cd60f527a8ef8fe415f960d7b82c5dd161963f0388394082c865c514ba59234c23acfadbc2ded27a4e9d44e16814d10f97e4db6a0326e538ef99f83aa7822dcd54b9c53ea34d6a5f88ef8a2f9e62211d183df098d103ade3d82bd17398dcc3acb373f7063cbb20b7a2432fbcdab37e0a385207ef6fbd031e9afcbb47231400afd04c58390a62af62916a4949183db4ccf2e03efe0096a203324bc33b7b9716200d1a03483f124669a64b12c779429ec794593d6f059cacc503e9565079094930771fb97bd69392b96c2b9c71740e77c6113de7576e15fcb92103ce8614806694de727385241b9018e9f5e3ddcadf825b101d42ea5ea838d0e8ca031c1ec747c1108af576db89f5cd8626636c53a409c8dca6c47dec5a4728307dc103b215a762576d532d67e1871f913d474d8eea9405f84e7edeb26883f33748f68503cfb177a247bd33c2afeadbec38b73a766d4237a2adb22b8431769d2e570b9cfb035dd449eb5c28dce5fea7a64f3210f68c2d24252eb3003f2aefe462ee51a15a6603f279da83702da8c38dc92b876ff7c316d249f8358605ab57acf3acae438752ae031153d76b8469f74e004febf47b28af23e83751c5333ad6d2e5982a3e4cf4910403e3fce9fcd87d1be545358f545a54fbe62261bb972d1ab58465dd4d88155c8ea0030d9a007c886340662bc3f95a78d2919cafde6686036d7ae13ae7191e4bf5b00203941d33b687545c9236e211e2ba452f9e7bfd3228e2f23074090a4cbccab8ecbf03f76e14cb4c4cbb9bd547c7d29094183d5213fcdf6e83bca34083bec265eb96b50367aaa7512df18d9c130aec803982bdbe3bf8a12cbe31df151a910d6ddba250fa0306f3e1b57a491160ba884502b0fd7a706d35602573dab984b73dd5e87e0d0a6c03504f63a2a0b4ad66b3155dcef20570c540baf79d8f2ffae924ccd75c47144c26034863bab736dc352f56714d45e14e6c115e2a4f4d370427dc0d5d0918b68fa9b5032f6351dda16c66d07cc18c93b27c60c4e651acb9d2d4147e61f37f699c62973603c2add6138da625ff8cb5a454db94aaa54cee57701f89cf1e2cf28c73a709de120341b97c1e77f20f9a35bcb506c2e171bb502c3b8eea8238232cd2728c89999bb603ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03412e2aa477f4eb6a66b576089a54f808857e3d548db0c3ac754c5e36e007011bffffffffffffffff034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03b13bfb119700fd857d02eb73882d67a977bbfbedfc4da8cb191891883007011bffffffffffffffff05581d0238c21bfa197926363efc53e8eacb51b356df47eb474b36fe8dcc00e60c1a0090acd4490e0d417261aebb417305581d02e3fc2ad76f080aa1497c9ce93f6629776a9e47ffadf67fe97a0a33920c0344b2d05e0002188405581e0305725e10363c74ce4efaee829fdca85839a3fbea6802bfa80902e6f030040105581e0331c9a3dd9a2d7063da05167fb5d27b6002330671e4e857d4600f04b6a00c01470120f911f0aac90303da0d349cb9ebe1177983b15139491889e82192c5781326e7118c515ff1908903fcf6f1d914c953816f4dcbde8c325061bb43ca46c65ea7b9d59137d66d30188305581e0332e37b16d12a2a499ff3c5ad3f7ccc2b2b8d1c2423fddb312cd1b552e0040105581e0367414b549a2a20012fc0194e1a7764563df3a5e6289bc80a52b26c2400084715abeaed21400005581e03de46ca8ce8fd4e9a16e61c27ca5395a87d7646922b9d22af2a494787000c074704f72f331e740005581e03a35c65169e2af95df03fa0dc5dcea674be5d43bf876b5511978ef148a00c014642d2dbe84e000219fb9a03fd859898ef36c638b787f77c6b01b0ee2610ecd6df85abd529554f64e7998de403d7c06ed1d97c4664243152a284bd0312b8c870b425f43a0329e9cb2bd3a15cb803217b499e82824e40327780738fd5fbf6cb842c322d66476dfb656c827a52253c03e75aa9667bee1bb1eccfa4a741b8c0daa889ab4f9f4348ec1ed32bff8270b1cc03e1cfcf628be87d982638a1146528b36494cad946b6175a69f12b93c382e79290037f0dfd96d87f4635c489fd2def14ee16dd811c6c258aa654f86fe9ab0d7b42300219ffff033d9c29fc5f2375e11b99f2bd4830bbc13927bc612070294b7b659963ccab420303697ff6735662a6682d4cb686b710f2996829fa2900fb0a5be645a07467b16fdd038fb4c41de4ff64916ea73e8bd6bed96f7fd978c472da2c6e38fb653993479d110347b89296b2d1f49dc42e73efe32a23e16ca00b84cfb2a402f1a594e1844f949d037efd85cf30e811e74b643e403755f1f79785344c6d06173e26e222561b3c626303e6a147491016f8a25d35c54ec80c69ad1c0ece8ccfa6b392a036eaca59b654530219ffff038585c364c62f01f9dda598657465be281ffe7dd9d6de723f4dc9b22a303bc45303775cbcdc717020d465274ea94ea713fae3ee85e727340e64da1850ec9f5f5f7303ef0530d4d81d414a4e2f63342a794788889203fb4a50958cc082bc39f3ab00be0219ffff03186d9645954d6c95cdbee138036875102c1b2a1b19666d192ad2123a2d4ad6e20328dcc512be6703d66956af163563c161a4aeac4d057ea0fc57ac00f82318063503ccf31971a224ec10f5539d189d6521d53dabd9d6254f10c0abddff8045bec07a03259ac85dbec77156d28a3f0a3367c5976a8c41aba838172aa105aa500e71ffb603713f5cad5ec37ecce5d51a459cc3f13e1201d7d3f1acea2f88ecf65563cf4ecb0303ba2fc26108c2d533ad250eaf8c3f34d1be391fa3eaec62bca8dee572404904038cd959060ed328011a8b1d8fe10574885f61f5909a2d4cd84f983380c42ecac50332ed8fae62c6fd1c2970d86148ada107df12deef3257377f778121e98f871a4603ce0a1c191d945d5a5687591bcf5c43f450f09cd006145e10328480af15320a8103c08cff5864657e3ce075513d531519ff70b6466251c62625a64f4270bede19d505581e0398b60cea1373cba91d264125401f63b07485f742b91214897a7e162dc00c024701009d121c51f003e29ce515f9a6f5c41e5e560dd5667519f9ba4e6dc5d144f61242959c2ba345e803563dbb6a62a11d95e2ecf49ec0ec1a2f75cb9543ad9fc7a5631c03c94347e36503af24208989cc7a2c6f711cbe1cba438c1eea73106c06030cfded3f8504510b0505581e03b07be3f05f7ba9fd69a04326ce6dc2281f8d43635c2fec6e493accc590040203b52a26b5d74bdac2bce7387c0eb2b74083e932b4e307980cc53b458a0e409d87031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e032776518b7fb3f35369335b3e4f01653ba02e293b22e028a6199cea117007011bffffffffffffffff05581e039a70e4e9eaa9f1460387178afa0d49cacedf88a06a6c3ca08fc012f0200c04470aa00d31b8723f05581e030d104d13655fef069813883ab22774c075beb3d4a7b124784ec0a805d00c18ab48016c979729c2fd4905581e0399237ef220112593d09bc20803cf31b07a31bbe720e8351dec7cd866700c183b472b5610ff4abeb205581e03e148f78d31b6b3f6037312f5acd9c1157eb7edc182d717946da20696a00c0147628006e1aab7280219feb803113c91cdacbf88fcb7c878cc1569d89782f6dfd953b68418c3a69df5223492010329d971124a1307a395c7518e242f08e709e2895e4a8d64982e16817b7bb9098a03f62ea3312de4441a722e839b9f8cdb634132dc50e53ac3b21ebf8a7e14867d39033a287240166daf51e991f5c76f4a94d34f11e0a57a1894ead0d7df8341d36485035f940a00f32f90531667375ef7581f24fb32362a9ad7e9f7f74c7d1344235e0e03f0a601f5a804ea66d16d79b6f22f68053f87466277d43a7693a59675a0815bb903610c0fdbff1361f987633e7694f241a788ad4e3503465cd5db763bf5fc37780103ea42d0ad64f9a009c6764993c6bec13107f0e087b9f52951d2d46a1e9bd61d6203cbfead144b012f4f0c5acc6a4debb6211c4f15c4145adbbb0b05455337a1f2ed038042a114b5f3327d5ac920c7e121633bf8c2106ca99cedaca1b19266543b8d7c03f5fa794c09195622acd2cb18e3d1184def5106becedaa555bc76faca6f16397803292d8dc78e4c8fefa4ac758ed3fe32e7b828c53cf051562ac896e8a151544fd903761de362c03e8cebb3e1334593522dac33e2bead480fc0ae92244201aa5d4a400219ffff03054676c18190dd4075c685518ce3cd07eb97cf129b92110f6d7d32efebfceadd03d86555ac24170bdc1c817bf53ec5fa1aa64be81453b64a542146b59746869f490383c2446d5d8d439c55ac2c3309c7554379f7a1d11eee27603052e0cc30f2e114032114d55608dc66e574fe821ca5c0d226cb198c09232b841fd915367102d99d440397dd9dff43829a00a6995b76f8ae11d07c4f996a4d9418b3c670fe7909a43e1803b819c9567634b658f07bf090a8b3b33c2eabfeaf5bc1bd3b0145a9d63f371e31033d5b25f0ed36f332434f818d311c404b4478f3947a64f8aa26f08cdac19f214403718f6a922828d21d9430d3f8d65f2c1cb1b75895ee0e9ada89d06af0919f5b3303021b386a7cd7c6238e3bdfd44f24df3922c5a3a768e79d63dd04a0ad961f7b1103da9fa97ad713967b4ebd0cc288049ee0c8df8d6da452178851d06179c2fb5a5f03df4abdd9e2aff4a7624ed2f291e92756722c2c4d87d0c948bc8534cabc3ff1220318ac4724009ae49498ee41f304cda779a146d49c71cfbd682d5b55dc4cc2ab6d036e3493118ca4a3b3595a7d902806c997618df062870b6fceb58534432979d97f0219ffff031f6a35364e6f693d94d2bcdc30f357722f1b437c7bedc708267c78ed92ff69df0359254b6d7e7275e95aae0d395e0d8aa912249e3da7c051e6f9f5aa71f028a36f03aa79c7f2116aec8233f2f54e080b6280456992c387c397cfbae15c74d4c6b8c70354d70323a58b7ef837ed447eabef256d9a6416973fccbed4c30478799bc0435a036bac877280e65deacc2a7fa8d778d20daeae9c168afdc3be67c49c4d366882c8032c46b82045bca23f8b5765fc7443ec89485345fafcfd8868aace200c9663f221033c895fd48eb379c578d66aeea5c1bb517358570e81e4d469ba17ddaba7da9733030b9706710d8266bbc5e68df9338ce8b17b35b593992a3b1638edb3b55c38da5203f7096717134104a5c0625732d62b1eeefa2d3ebaf64404b8fcb10beedb46b7c703722f557911a9ea472c9bb80c050473074d6896012236452aee111a1517f63e7b030685c1b098f74bfe62c5aff091aea07c6654bfb657a8ea788d8e95dffcd371300219ffff0377b7c03ee995b2787a4b113756ec6ac52ce774a17b825f517ac22d5928085af6037bae55625dbca4e93a5e5a9399286e4ae5ee4954270abcca780e580885fe8f3603d893af070a123304773c6fb472183d3acf70c368005d64bc87bdb724128901b203998b4624d9c121de191cb239562d946f25f54eed6776a4e39e3e8c44941c680e0337b663eefb7498edafd229b4870add800d29fd420055a7ad6e8948d24c82352f03b2beb3c8f7d77755e8244724fbb710d7a72a83d26b07454c5f48c014090991ac039a400d3091a03dd1b3be64487880695c5c74e9053d3ec6d2a655d06d48ed1071036bdff5368e0e9b73dd60490988792fb92adb933efbcaebcf74cf5203914bfe2e03dc822fd326a7bd45c148fb2d117cf6f1d89d428d8c1d4eecfa49d3b42f0a9ba90370c0fa5259b22e2fe4dc9c177cc5365c3f1d561c41f34573c7138980d894d7af0336a20f69550299a0073f1396fea13f120b134c46f3dd4faf38105ddea9e66a7c0398d8a766ee0deeb7feb38629cca3ec6ff9bb2802f656b1449ecf80ff84c38a4903e2aed91d81c25aba47ac84524a5104db691f7c4e6830bbc7738ed245fa0f10b503294372bf2a20cd4091c55aa89cbf96b41a1c2598a826e6273316986b1b0a315a034009dd4a608aad206c6a491188b5fabe73128bc652622140e112d6e4cf662a5f035172a403138127f219383b9a757f50eb2dc577e575d3a930c717abc96cf8a8e3035cf714484a2b3ca690d7c9ca8622cba9e134946559537ef4cc7bbfbdd4fd22a003d1d88dd7c650362d17aaeec5b522665d870aa982d0e138057422ec197f6f4bc203906ea732e9b9e51f7da93982c8309dd75d4f15ee321f5e2316fecfc081cc145303217ad26c1fb66cbbaf20d8dcbc2a91476b8981f44db1b644c9c0e4511b6082d20304be0481c273b6638f0ae8f8240f32907e18aff26f543c4d1aa4c8bc9118b00805581e0312036d9faa424ceab1ca58eb6d82293145300d480bd295e609f9d40000040105581e030d144d1690a0587d192755c76f7226e0c103d0d777191cdb9d68233c200c02477cdd42821dc0d105581e03537c5035b8dc527f66b8c82f050460805b210bf9637652831df5f70f700c01468a4f3539580005581e03565b4df2c5957476d2006aac2d1c5c41e343b98ef339abc02c4098fcd0040a0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908039188efad72c6747c1e7f1e19036c430f6c4291fece213788dcd97857028c1b5e05581e039c512f91e21f13ebca1e24419617e8054943a56245eb3ee3ba050d533007011bffffffffffffffff05581e03058602b1552e19ad96578f935466a24f25fc14b8709982b7e8cc1e09700402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03f69d4cd590481a229ffea933ae23c87ffd52e58dab86e024a8beb852d007011bffffffffffffffff03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03fa7069cd405b5b8c7800fff1718aa9a388c02157288dfba2776a26ab1007011bffffffffffffffff03224ac66d1d1839d1b253d6323595fe5dedb6dc1cee7e965d8d5a6e0ecc207fcf045904cd6080604052600436106100225760003560e01c8063972fdd261461013e57610029565b3661002957005b6000610075600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff610174169050565b90506000610082826101c0565b905073ffffffffffffffffffffffffffffffffffffffff81166100b0576100b06100ab83610219565b6102c4565b600060608273ffffffffffffffffffffffffffffffffffffffff166000366040516100dc9291906103ee565b600060405180830381855af49150503d8060008114610117576040519150601f19603f3d011682016040523d82523d6000602084013e61011c565b606091505b50915091508161012f5761012f816102c4565b610138816102cc565b50505050005b34801561014a57600080fd5b5061015e6101593660046103a7565b6101c0565b60405161016b9190610427565b60405180910390f35b60008160040183511015610195576101956100ab6003855185600401610302565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b60006101ca6102d4565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216600090815260209290925250604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6060604051610227906103fe565b6040518091039020826040516024016102409190610448565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b805160208201f35b6000806102e160006102e7565b92915050565b600060808260048111156102f757fe5b600101901b92915050565b6060632800659560e01b84848460405160240161032193929190610475565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6000602082840312156103b8578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146103e7578182fd5b9392505050565b6000828483379101908152919050565b7f4e6f74496d706c656d656e7465644572726f72286279746573342900000000008152601b0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b606081016008851061048357fe5b93815260208101929092526040909101529056fea2646970667358221220266f45dcc0f640b86b617d19d2affc31f4b5547fd56bc2761d8eddc74675491564736f6c63430006080033037e3f18ebc967661dc9e25379b4008795e306852a47c45434b1dda1f743843ba103f265f0e6666a4a1876a41146655e8a436613818dd4fcbce465b2c1c778288a3503663fbacefdbfb5cf97ca9d61f94c402a41b36407814dc6c5e42e8640440a1a4803a8f909b1967bdc16adb533d882823656e550f884d6e20fe7f8afaaf8f60d1a46039c25944eb5c3bc1e6b91c85fb1fa5d4608afe629647f4265c09d7a834a534afc0383a03b2534f73174905e47c3753a5b24aed34dec3916129b39bacef7580048b703a1fd0ad1ea77cb9c82a0615fd380084dd507935cb131089a71bba8257df202c103f5b035df2dff6ca938497c6049691c5bc1685eca8b6a33efe4f91d92a38bdb910358f2bcae37200ccd01cb20d8b1bc4ee325772660f91ba0dd04bd79da6cb5ea87035ed3ec44d2a285377569ca386ffb117ac0bfaaad3e5f061321b897bb2fc12168034660da564b750491572bfca8a3e083afe43dd6572343d7bd67977074ce178a160385160f85c4c94a6fa791634c2527d588ad17dad639fb963372e851a6c14b5ce203d94a80f299c9f3e4b43eabd8a0c80e6036bbfb9d1220d16ca1de2cf62cdf2e2603da52b173b1a179d62b8cc5e03da64896c56cb21da865792acb4f696cb75e26ed037168b0d9f2403c385df2f616a907d817f06df30387322be5803dcc7cc955c10b03738d4a03859e38e5fdb40273e05a95684ba2ffbb55a9c158592f1bd7728d7db403dd12d22012e0e1c4f09e14bb1af81d259fbabb2ec010818b1830a0ea2a2796b3036dc8895d40b3dc1cb4263bf3b615fe08e5618420c9335b204facb4f4a69b5f62032902af508c9eb9d327ad81d71641fd5e81ce9228584d18dcf0163499668323c7038918b3d186b2dcb23e255e25576cd6bdbd84d278e3c908caf2574fe38e47b3c7031a23bab403bbaf8c6f14db14bba6695032f39eabae3af255d9fb9a43b296156a03acc31771ee723d7c1c904214aab772c27dc9c8c7c71e6f33119130ea31f72f2403965b3c161fea83f64fa9a48022a86f58aff377300f9954cf327b128ff65e04e6034ac9ce890c33b20548e037d9d44264293bc9474c7eae1f172efeaf448425984703a1b2ee8ac64b82c30e956df9903ab9ad5527bcb68259bdda58151154ec7c1f8d00581f03cc562f513ee655c6aa319e481a04713a4311079e43cb392d3953ad1af6d0490159037ea65a12007000581f03b2c3b63f458092fad5203460af45d4a54b88a9892553b317558f2c5b96a047f6ab0922ef880000581f03b9e72539ade428d807fb45bb8c52a3c8582a26a1fd6a932e1c2de4b361d054f9b30557afcf76ea82c04015d80057fa2147dfa900581f03704d0e1491c5e32d2c6889d45e0fcf3b1bd8e10d264eb394db1f6f7e40d04465ebe024035a499afa228ffc4046c75b6e0ce7009203bc4305a2d7660ea2170f58c7cfb88f00581f034df5068d72f1763885756feb3c05ac9183065d81a63b199be3a8ba9fda60486806b5de20d75e1e00581f0303a79c4cfb0e6a8eb5e797ea9d8c59ebd184d1fd67c04f4802c79a074600483bce7720dfb31ad200581f0302851ebf53f92506321ffb7087962802cf0f9ccd39d53994da266752c7b0442160ec0000581f03498822235d14775cb7642b35b77cbe925e09579bb59892bca6448a0a3b0048370f520a1577800000581f03f304e9c33f1ac941fcff26989e0a6b99486665dc568beca08f7be980fe604801509f96b9f7597c00581f034cebb936e0b049249badd47c8717f9dfdf35128e2b62312c75b26ef4a050410103215745146acdbbf40a5c0e8675b51e217d4859cf92ae5caae71b77591c47a4ba02197fb50393b59348ffdd2c0b8a82300bc8017b74ce6820a0b2f0f13bb7d365e8da3aa02903118f1157c31a889eb9e605ddc1f9ca09a9c63df69b71e411479c74aa85af304d0357b2aba11b931cc3049f18cc3d8e43a8c3cc86c197d096a46c724d63fdd5bb6403abd68b2b8137e05040f2236bd7803a3d91a297a3ba2e5630bb3e3961ea91bd5c03e611b19451af78a79e45018e1822c0e05429d8948d901ce99c22187b2a119fda03d79fe1e59c061fb0355acca1ed6d25c1de1b88f1b65c21afb73390fe43166ffa039e9ab97b657f01fb276a4bd4c6bda51d3180b7d3e6e92e92f48bc00759b35da5031640e4562c8823cb6ff82c6d726ad12f139642db455d334691eb39971b238ab003bca9b47378f5acbc699f90f9091d7aa91d540aec26cf67321b46b8d6bf5d898a03d4ffaa1d1593779526b1cee12bddcf9e6f4de31c1aed558c944fa971a30ade700219ffff03deb224590fea67e116be558b1f30605ebca5c140b9b3d92ce2ccea22f61fc01503e6159323959eb680fe222a41d76571c357c44c2bf5f8f4da1e8ddab21bd7bf93031a90a6469ea5b9a641b82ff25e34d6df9a41e67d25db589e78b5f404aa1135270219ffff03b720d6a6fa5311a27cd16bae03b6f627b5953e8e691b5da5961182174adc218f038fe828e47e22799d0a67d93252edf8cebd0f3530f68a8c1ef1df5698f60ba78f03d460ef6e8a4bdbb39306aab187598c7c60c7e6153a5314a7d07085265f37925203269c72d41690131a74d14660d1d5aabe547f844f99e285ec4c805a7edcda69aa038fa1cf022f88d3eee409a3f4215210f06ec8f8deb913e9811d4c8efee38ef0d9031ebc568e0212e5753b39b7a16df423171b047d7a28ee3d361289392dae926db5036fed7605a43414b8cbf8b95dd4cdcaa24ab39d740ff30e36927cbd6dae6d62f903ff372aa25a55f8776e0c3999f36693207bf3cecdfa4e8b74074b97008b592f5403ccec24ed7d91dbbfbf9f4ac7154c3f72e762e473bed52bae5af971bd2348dbbd039018832c25cbc42c1a1168ce9b53704eece5f37ffcbdc8abe5e59bf0c127aff00219ffff039fdbd657213cfd876e8d04afda0b8924570c2413803ed600e96a1547b4466d5503e8326012ceb5f3069165bd97056dafcfab577b221c4ea8884c268e858a7a029703db6d8031691a578b56b52094642ae8fd1b1ee0faf76ee88a988061b6f8fc271a03261c5ede949d586f569741b6b57561224e7d201b80a1478ca22639bb6fdebbab0372a02a7bca2e0f3a965f5a4ac72aac3166cb57048e17f3136d8b3685ef60253a03dd04667b2a5dc47a082b7885e5fb9b24ff2c04e930815eed654b69f42c852d6703891a285d48a77d69df29738a1b925a7133378bd56b01f2b03bab7b25841d15c903de581e1c6d93ae69909165bd7e2e29ae2c24f6f01f550fa35fd719b522ad44e203e747cb24e95baf672e5a56a0e7ff89c1dce2d79b3ac130824ec17f94b6358d5b0312cedd965c1c1ab72902fb21afc1ef16ecd352aa203f19b9ef1e04b0d714dc0503e83b2ce4d8b9959ab76339c5ca4642d87be890eb2a45d3b0db6a093edf9d4e840315fdeffeaa40af977fb48587c6c6d01fa198da0028b08c2f0a871dc31298ceb40305e27d2139d2e17de3ca5dfe9b0705dbad2a9bd4159841c1a6be14bb99110550039ba5b5df30b95dbabdc4c55d6bdc265758c1ff464a577a8b96e273e16b6bb8ae039d61c9b678be78504d5734d947050db172030ebb459a940ca71677210e02a34d0355d00eb24f75527e4d8ac27f07436f80c32c9754ae6b2ec193ac2460866a2c2b03f64bb4651dda0fc0457ae957fe6c849f6ec0e2615a829787d3e0cdd1f8f0f0a10335791a6fd981c2d8293e5b5556890a5257215e823080779f25619bd0dd78a5ab03fc2f8a6e4871cdc80c15e4be90712ad8a88c4b01a3fd8e2cb6de512e56220e4b03e13a828a3e0cd056f1bb49f773b39c3505cdd81a99e2da964fe06385cd472dfb00581f03761d54b211568b36aae947aad39459a16647b8d9aa26320ecae09cf42ff0486adbe5342282000000581f03ca051ac0dbd8e26a0cdc31e7996f07e8074407e6b1f599db82503fd39db04515f434367c00581f036ccab72eefb4132d3f66df00ec628262fc8531cccc52339f2eec4c29e370446413eb3403328900665046b709882926b58abd3993d04b6bb0fc87080fcf0962b6041a4b0b03162713a974bd6f33de31b33d23157721042bfed4ff7af9a17c1d227013b91c0300581f03775bf03d877ee3eac4e8a7d3e13350c1f792bf400894aee8a371c592a8704465c7cd9d0346193ffa6af0ab4ce3655d609f9627fb73bdfc2d20237f60eba92929bc86391f03c6c63649d992f2e9ea4bbb0b205febf6df68c33fa5313c1b155c389dc8a230e800581f039be139558a70b6801fdd1876d2870fffdcbbf1d8eb8599acd93954664c70447a5466c300581f03157f9382d0f905c5ad8ee472640b3339dc2c4a6f0e2102df10ca3756ed204b200000000000000000000000581f03c35ca34d2ea5bf2826cbe872000e0378a72741726ff70ad17ddc65145a30480dc3d482855de00003c210310105ecb287f40c0873417dcb6bdc6dc654967a0af93fe5bb1c9da337bf00581f03fbbc4e038ea1c9440ab771cf97b7e05c43003b053e4f606f84f8323f04d0540e992c001e375785846eeb9cd69411b53f30f24b0219cff703f2f240fd2b5e9be3795a81b2abeaeff0f594ae4bfd98dae50070c3091f6f73f9030b0c9e723c72badd324819a66816fc454f2a7634fceec10eb0c4b8fec87bc2c903c7f03df13a7d5899b0624296600e085174e3c5b9a67af248b334efddb5593cb1038962c0a6666f2cb501d691d66481e78ae5ab99979624551b0fc6c5ae573ef41303f32fe379f97dddb4b364b60d065a00520779c46475e5ad67160f26d98d1c0fe203ada722c86bc0ca52ba3f6e17b62a358d24c56c7898c0ccfa648fbb24abfe9ec70384ab91055f490eb7ba024f269b2dce5c097a0f2d1df02a9d1b65e59d7819851f034afbcd85d6c7c396272088ca7238d0a66c239588310113de5ae068a9ca2314bd0384f06d674741aaad2d247ce8b4c37742dd4d38b169b7987c4dc26e0789336e6d03b802dce142ccb815f48217f3fd9cae4fc31092939f33967ade9a3f2b01a84a69033e63281b9520c21d2e3076dcd04f448981d3e595eae907429905dbb81cb2dbbe035b34b0c418b3766aa2e89b37391d08c1d12a49c76737b3413da33dae833f14cb0219ffff03e203434ac38976d126b52b0def88d2aea349e3f22d6ec1d0c8319f2b4c188427035e065bb6b3c19d3405a3f4e64a9edcc192f10ff50b0147d4fdb53c531d304bea0219ffff0378931dce53839b189bd7bb7009551eaea4f43809d547b4d097bcaf076f2cfa320362b4c60b4b969a219073d1edae459ba0d24e2890979c5d742438734dd2e9a71203f53c1e47d48688e1a86e362190a32d006454d14393b093a60fb40fc7a751b91f03d4e4462ea1c4fb7d72f5ba944f06b851c69df03a818e4ba95a2e13f0d39a854703aee186cea5dec5568890aa03a688da7562d886af4180324606e363773530b06a0314539ddeccd47a103878159a2abbf15ca0fd0fa689ffa7fccd6ab0c1bc7a00d003d347d7f204fc7248d487eb974df766552016b9ec5e4f7bbe91d7068d78b3f48f03ee1f35280a4638fd08680726f270c9e634da2326104cb4a1cba23f310f23d758033d330c88b56b56ab25668f1531cb65497d4da1e07fc104b0448e8ec59fff6ee103b3d085e138dd0156d7499af033342d5c0b94b8d8ba4c3c9a9648cd162c60f2f1034cdc5f6c3df9c75885f8342af9e316f4a8592cf0f9231ee711a1dac8876fd8a603737ef93979aa933dea28595fc328fd3e2638f99908286076a24417a93384d14d03f62c73dcfebc2f5c7a6c5a3a14e4f92082f73e08c2590a1e29009cb5a2610849039f1a387ec6ada857132afc5272ff2ba982196f43bad32514c2655306bfc2fac703d2afaf6c9c0db990b277f368339f0e72e129a7dff4da045f5e94e3ca1db31fc50219ffff03c48d7681361423f93cc68cf41b8834af7e1afa7afcf71c8a3f8f4ecbec6ceeec036da35de6b2364142c4999c2040d70c39d1bfc23f038ee0f15020cf66bf2c3d1503d7d0a8b133029d93559ba15279c4d1bd9535eded2ab7ae1e2c44104efb091f15034a904371b9a51a92753a4560f072be5df548085a711a5ead5532a889e2ace4bd0300201c7bf3f1ddeb0b0787d699165934838e823fd724d30daa59c70d99a20b2a030e466b20211a0fbb30496264501956f8117e8b0ac93acf86f045395961cca57703abc10b44d2dfc7ccdef460a68b651fd6bc25fdd643d5edc9560b3a78ab8508de03ec8bc045b7d05abf9307e1edee85f6d6a85ee9947645c76eba676a6a8ac122c10399034c046f88b30506446f7c4d7a65a6804067b45a46737b7b7b98a542cc602e03840184def8018d6832b4a777ffe1a43449ac651b9ef2b22c3627a96c0140522d030bc3c7e2c3bd9344fef25c68bd664e4b3c74859eba4a384256c934ffc1590f1b032cff7df48c60e3fe029c31a74ca753da41aa51970bfffb34f7f79f6703be5ed303ae9401ae7feeaed635066bdd84939b86838e6d1d3998fc1fd594724794bd5b4f03d1bf29c6fa43c0b6a8996e349222d4c542c69fb154a41aa9cb6bec86e8f9e392030cb1380f7ad36f6de6f2e9d8155b666d47542dee84215c798e1bd072ec4b900203cf721525b4bb5be15e406c1420f864846665369a12dd25571125fb72ef2ad7940380732b6ab766c9fab654e3c5314572cc7c377666e7cabef7ef187d511e0edd4103734143bfc3c74e4ed0aa096c690510c79a5412485f9cde5fc2b52443ae06bfb803e3243c9ea74caba2854ae07efc0c8d5031dce7296ddadef7043cedfe63318f3b03acae388502e655caff37ec86436a3e7268c35833d763394d2322dc667816057d0391521b06821efa9ed21e2619d2095ff2f13c79a633cb853a16d60bc4b35f6a7303c3a373bfb446bd4eefae5d8b76ec75ac6ec9412ad0f19ff9fc6f7b219df6289003b06e60b1ec53829287ebc32f46b6fee608b0479e581f3db8b162d485afe0a4e803585fad8a20046af626aa009137ab5af0736a81a9b900716445aac409bb8625d303fa6c7e506a86970a9b42285d41b2604f3f33d10ecc4b90208b869c264d37110e0322253542a1bcaede83e467af4724e0650e73b80b9f6f44e8b08cad501ee6896703d1dbb275ba6cb7847f0b2623b1435a35eac5b75d28f00a58a7c42dff523a7acc0375f553b97495cdd68f026485ff74a00e453e072f08a112476f6c49a80b79531903e4a6aa5336055ce742302c02c75244b46c926bb0325db2a76bf46a23c50c266503089df7b199e61c351d3bac7cdc68ad1c8b8a693f76f1471c2be2ffad7492836d0345d499893ac9b8e51f032b767f8daaea32eb96a0e6a9758b22bced84bdb3eca300581f03a7340fbf3ec57efa06a8167db2b3d8922ed35930c66f614d46b4532c70b04465ea2e7803d396137cd4d892ce8dac00d33e02c6cca3e65eb5f573b710cb4b54b0d1558db303ec9cf0df3dfe42a5de0a4357709ffed25311ed0e010281ce1bbfb8403c5e3f3f00581f0354be5236b9fac774814b48ede6d10fdeeba4bf92e0505d2af4541d57f7f0482447c78effe6720000581f0371681d4b4dc0b85ad0d65eb3f72ca54ee9cd025fb17670ea469877cf9540488ac7230489e8000003081cd9eaad2e17f42b9093bfbee07362be69a76a0e9074ffb6664f51a5935f8300581f03585f6099e8d1fd8b63b2f60c29aee197ab900e201f27ca4cf063bd99bd904464310c2f0371a230fcaa184372107e8c14b23b8b0c2afa378c33c1b072a00a90d88eed7cb0033bf5e5f8f27c256c19e6697ee09f9907b709816eb2112cc087570e5936f1802c00581f032ed27c54b87de968e370534783582e249679e93fa7ad68b3f79be12ed3e045694fb3456d00581e028618dae0befd3457f6aaba9e53df1861ec7833ae7ef9409e2468a303d3540e992c001e375785846eeb9cd69411b53f30f24b00581e02fcccb0219c51184bae6d7605cbced62226204abce5fd1e67807f7efcc848c39a3a66a988664c021908400347840a15429732620a2f50feed7b6a75c929594cd0a9a4336fd7526867cd311f02197cef0376abbca293feec1f834430de8d7ba8bf03d5529eafe57aa43fca30d88e9bcd65039551614fdc184c6b29966e768f2faee71d7450d70b825a955345df4a938bb6db031964f157747827aa4b4f4026fe93f826ebfa6d4c4c03f1e46043b2625e57c71f0381c3dabcd2a5aa7f946b4ed91bb6eb0b30ffe60aad9b95b66362ff97b4a177d803253aeb97303f761c6d5e6baa695bc7766d65f457604ee6a69ea0f6595a1e05070307e070a71b3098e24393e107c805a2ddd6e71daa55a01ad35654b9b6ecdc960e0396f84cc2a1e5475a201a2f806a4bc7439260cbf955aa3b632ed4f5045d702f2903c53150f1354cc8b3c5e326a4d918b8bca87750b86434e4967d4b1c1e113884e00219ffff0361d014921dc9d105ee501a56f48f7c9b94d740a05fb85a7287acd1f9a8491896031ca86d00f27cf7484c8c98b2d4f26ffa2ba076c7ff39a7ab4801a7dbad9a35b103e83dd2fdb18f2c5fe4b4079b74516b27f647d741eaaa7262e9443f5b7f280ccf0219ffff03d292c552e0ea7d33ea0fd44a44da29981d14c19b570ec6a6983a25d88fd544b8035b62637c3929bf2a4aefadfebd945f9cf344094d18866a49ad0e0aab8214bff803eeef775136ae91ecf7e45d6eed0b66211a76ea4924767ec513e8b4b966c9a81e0362c04a3f25ac884c19ece2396f811687961eb0940b60fdd4bbc85bbab5cb045a0219ffff03d748efc552865ceaf94834e03c8843d6e818266cc7b3a76f7d4a870d2683dea703cef29701efbf9dc43c4b0c8fdbc3684d692aca96d1c3f6e75df6709856b23b0e03496044866afa5919cee62719ee8fe49e9b4baa6f8204b72c1339ec457205db3803ee2f514d9f5631b4040d68775a513506bba14b72f9fb5e058ae9a305b04bf4d1034394dbf473afaa61e5b2f211feca61c0e1a41beeeeabb7c256bce13252af979d0219ffff05581e0376206f0ba778b536f8b5c5571b9cf6ee4279b8082d1545b9c5dc0b90700f044761f374d46fc6a21904cd0219f23e030e7e94b9deb0a87d402e54b695d22f7eaa2c23b5311a2603878f99a265bc42c303f2fabdcb75fcc010d2ce308107f5bd370a11810a339e5edfd6e56e056ad841f603dbbd8a3f5b6df75b02b6cfa04c5f3244530dfc6108c90878f96cf44d6b3d13330385ad7a438a31440fbf03967c396b6c4a38f4cf18d8217dd5fcdc95887a13d534036ed959e1743ae41cc34259baae5586176885e7eedf1452848f99b8f3b2fb52e903a07ea6481e6957baa1e489cdda3c0f136b4e686cd6ae737c5ba3c311f8d7babb036213669eee68419c23c36488a9ffae78224985ec022eec121f0852b8f282d529035dd24581b3a6eff6a27c1d1bda0f4103ac63fe641213d164b21b3917ae8ca06103cfa9cb92b8404b2ff89ebf12dacf3c1808d92facad3699eccb7f92d8eaaace9403d31e4d1242eb5dd79b5e963146ce5f8f30b32f22d9f90a2d1865b9f353eaa630036a0e3bbbf243120a51a4e87edc44dce0840fb7b6c272229677afe82b6f407b8b038aeeca5b4de5ab14250899240785c52fc1481c3fdb31729b8e4e750738879b3b030b57a81de8d9cf080e99ab8a4438378ddcff04136996dbe328890887fd1889550219ffff03df7166ac1e459f90b991905b7a53e76cc72a7a6aef5f616d366b8aeff1eba938037ca5bf5c1847f90c194871aa56803ab3be79fe1f3d6ee9923043e5979326a81c0306fd1f64474a6ec0fce9a0142c014d8e438f5a113458599684d3778c8dd068f3038e7c77391857867c40e918522636226f12aa1b84a10dcbbc5b295300903593a60219ffff03b7f5c55f0aa2ffff9eaf3fba8f478e62c4a550f4f9dab118ef2d34c1f0765d370381fa110f7af694bfbd1b0874fbb8f0691b0caf00cf3689127f4bc846850869fa03ef0e0ab89eac3a9424c198e54b0dcbb30ddabc6a35bc246a0d3ab8470291b50103a178e81e8cdfca66a787f23340a07e93a589964249b8bb241d6e06d09481a23c030b333400ceb5212d0b9c876f558a9db88afc6f5d908cd5c263c1d5f191d513c7033ed1f8c8ed8bfa53e8a7644d759837a40c5d08556b55534e774a702516ebe5d003a240a6d1ebeff0c63e75a7046c6a0cf57bffa117567568e1776720d040c58ccb0219ffff0219ffff03223fc8407195785ab3067f8767d36e8e42e72e642249b491f87cda266129b77a033b779fc2bd5b388b62a75b2579fe6768c63fb4a83e4d7baa476b73f999526b80035ae4dea2f6427fe87b34fddc2ded8d7ed05fb7db027293b1d073241b637ca3cf030b1bb0c54dd2d18b9586e942e4068575ad37ec17d69be05882a055b11f296bcf038f8546c76d3f67af395eaaa8de31207db0b129b702ba27f7b584e8b1d6578543038cb708dad3b9866644da3e093afad10d5163e89372104c6e3e71c2d60c2e8f6b03f400104f0b4f42551e75421eb847380161afda2e655172e02b0c43b8fadb2be3038a2286e4af72823bdb3b515f622d01373bb24983cd4e163850f6bcf00ca7ddaf03f61552727c78dded55a4c6bf842d88dbc007fc6cbc211d824ebd33c37b9747f603aa01b68bda8597bf8545cae50f24459bdf641008d820d3373877144b0d85c3cd0344042b6add425dcee82ee06404b613a97cab047883df2869c0ec2ad4c8fe0a06036e888fd8ce745aa89798a459867d3e316a96d7d5fe091dd46c68f38ead22dcb403fda810cb6037d2fcdcc58ddc12b1597b9f38fa25da9f6d45dec98ea38eb72e7b03d76df08cecd481b39c5f3f27b964e9d7488123d5bb0c0c029e5d38f8a6837c9f034ec43eecbb144c31f1ada5a4f1e68151ffbacb1ea1a753097198fcd6a5b9c7a703e08ec907f80da689bf24aa915d9dd8144dd0e06420f77e95d2f54144cd19b74103ba9041d376868b6c62126d18d7129752248b148a9aaa3b874552f3b688b5b3f10364a4fa9d5fcffed811d26f9c8faeb47cc193bd66aea5bfa49768047691b5f4f003b111ef5e87f00a87f2a60944e15af26c879949cb70d631f11271ea2cdb11968a03b110ec4df9e5b6e5cab807501aa8e3ac507b5ca409c77326b956afea41d761b0036df79264b43fee3641d9579d3a16219733d215e050c451d19caa0857b67d58ed03451f94a5dee7c0380d7fbead7710217082692b74987b04f3d9fde89d9f8d13940311acee22c262005e883f5f1a0840ff8e14a4bb7db7988aed5386508321d404fc033010a348a7e132393e7e138e3f485f60b00f1ff8943d2ae47d2d17f0256d7ec803b36c3014298e5c717321e8ae8fe3274c83b5a2d8698f37d054ff4888bc2f66ad0399b9ed18b5b13b7155a5d3a22e7bdc8b8ecdaa11475af3105781d9ca4597ba7703faba83fd2805ad87bf90f0f4633c63238f8a460d73f9e574aade7f4905f0c10503c5f7009ff1026a4e2320f88feadea0b4bbc2b05e2da8c4f36e5b013e267483220311c733ceb1b9da6aa51ce2999dd4528aaac19a5de49029066b2507b33ee188f7038c3149d4591f3aa9fdc03e590fa17f11cb900747b81f7a4e2e75c30a874f951e03f068e92037301e846fa2737f2bdcbf8aba5ad5788b77727c6c289b70b6792a8703ef61f89f095a8ef494a139fc3ce27d2ceb890d843ebee83343478e3bf3f24b2003571e0c8847fc10786d008d422ec01c0e830e09825901ef71d6b00eb4b3c1b82a035517fccaa1aae7e0e9de343440d2c015da5c9ca7083d2d3835f54dec3e5e1d5e03aef671819fc63531c07f9c719e4188004822e30358a550abf5f8c05cfae0b5d4037479ef2a56a07f60a6fa652b8de8196e3a7d53e8c8b0fd6b8cbdda570f492e6503eecbff90242cf9c14fe57676b6a8c97d5312067f64bf006d43ecfb52b0ade2780333b5a07a92845c2537340fac5aa8a1a9d879d4fd05c7d58cfba2e2ec25204d9b05581e034f3abf82d276ceb80fd33117ee5e02034f3c2f929d9447ccc13921ef300c18834707c3c5843226b405581e0385c83031880c22830d1f6424b4d9b4de941300f66eac16a660fd34afb00c18604746df2ce81797e105581e03f6775b9b0874c65ff7d6d03160912b646a78dfcf5a58fdc096e96687400c0247015089c9de62e103f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e03870a79cb872ab3b9283c432b1b55b897e8d24c5ed66d7315c0eeff543007011bffffffffffffffff05581e03722bf545d872ee9ffc88f793700c171d060e2590bc86297111c77571000c0146a081f3b5c00005581e0323da307a58c74d5256d4a9462dbf3f567d02c1288b420a2e7add2763500c0146af49a5660cd003f7db524acd3317e5e696c17e28719649b9e61040b81a51941eaf2e533babc64605581e037a30b3f099782f110434b42177606a1310881cfd0f8883a8a130359c80041826032571cc58f6cdede8cbea1181516d56fe070af41ff6a4b6b9b3a99ca95d0de2f405581e03ab0d3d04c9ba7d69f68d597dd3bb1c005e5ecb72596204354273db0ea008471c5aa708b4c00005581e03e169c7587a340ccaed4a608a6414a5ac66d010743a2068ea84cad6bdd0040103730b1d2db89e904aa4dbe48bdef3678794d99231b17f3abbc4985c8a32caa0e20219d7dd031d903602a949eb577b9db50eee793791bd26ef86c3c7a68f93b3a2bad61edcc503b3d1df97fa88a4ce8eee3cb2e14e14e9653cdc8f8f6a32a936a86ad2d38680f603a4d2f00e3f7d0d82f47b31bcaeea401e3ac80c3fa8b9ee4c77cc14c10bbeb29b03f908c668c55085be72efa401009c80fdc32d91972b3a2666af0c6128b8baa5cd03942c5ea88830dc9c8b9edb41acc55c2c706df24a8e1fa84328669f6841f86d7c0219ffff037fbf05040aec182051da375173c934f0428b982d184b50a8accf1ed672952a530219ffff0311977c5f89b401e7c702d8ea9c4d0be5e076804dcdcdeffafecaa5e6882e2d45038ceec29f66d8f5168e284863e1f02535a0b5369f1bed1fb7205bdc7de832581c03b742f0ee60c5d3c905a67619c183fcc1a0e6ba941e1d69cb6f75d2e231de3c05037b97cd4dd4b7460c1aee9066ef0afb13b96375c59882e3152a8d9bec30ec8dd00305e114e4f33cde88f914e54a941dfdc9b897801444ab87f6708d9ec9e917a94d03dde1940029e47cf4959eb937b6f302c97166bbda8e250b0a3bb666ea2f61cc3703b29a63da6e0c92f6074c7a1f653d29aaea0fd8f14b9350754559c916077b4cce0387ae83efc325044d060b26c20dc4294eeeee308848fff8ad7e1b0174c76291a2034a16950c83732f1e30309b7053eb34e6c50748a31965fd1aa4fda863cd2f30b403b0cccf2404fa97be799598348db6ad3033bc4ad75b1abb9098508cc99c42f4c20219ffff039d4db821af35172493c0ff0cc7aaddc47d3e5489f38bdb284ebd1a939360b04f03d63e4faac3204ac028b4cc2af14892cad0c5661fe128df664ae9eb71d5f6d190033cc7f1fdb2c5037b0ae652f4a5fe1137df6a4faf79f4281af27603d9da227b010352185cab636b5e41fe4df4c636fcbc9db1a44d8d44d893fac3b3b6011a53507c0386aec920de831562e24a923bdf5653864fb5f850f64502af8ff130d0841be0bd03a2d398eb52705efa1195d7e6247b96c0a0d0a5a4054af00c267bcf0b5eea6857034eebb19f510151a91b8c7649dcde4d9d8f547b397e6efdb62cb28a1059f3e3a203de91e2cf14094a56874b2ce876872a21d0157f0409d8f51a166a595b90a1bbfe035822a1bdc7f6122bc6daadbcc1061bb973ee49b8aa476d55231290efca3ecf8903dcd758be453863a6d7bc09142ffa6507674f919f4bdc70307e45df90c578620b037e039fb57e74dc383fe94c5fe39c798441d26884fc5fa1ad3064f0e0620ebc7a038750b85092200c8e097237fc237ada89df57b672963455c5c1d6e24ef0576416037895bc5864c37176e8ea94c53822372b6f4dfde6c37de48310609a262bd7819603b818ab3dcf9257e7e9518bdd0244e586048898ff2799864c1e3beff0e18df3f9036d147bca5130fdd0b5014f9835e1ffba11bfc6391c4e1b0e1a455878cc884db103c70aecbcd358d1862a93c06c1dbdd621f9916037819e14f4bc3c40bb1e390139031db85892e059d97dca2786dcbfb1701c7c999a9a1f7539fb1ebacad4c6a80391035a76629080de17ec793839b935e6d3aa3ba55e1594c57af28087dba6d68171eb03d4c8f2fc9f0bf25721e598bbc56dae2485e5d5bba927907a3563e3dcd6830401035f4ed870dd0cf2d518b2ac57515d655461ee948a8bce7d614d967d3abd29172b038af368d7fca3a8daf3dfc12daca863f976a116da1db57f792066e11340f7c1df035bca045872aed9650e15ac4dd3cf9f770409267796a45b9b8483033200ac4caf0365acd7d671aa09aa17d6d86a49941afedbc3b25610642e30fed26459408301720348f4aaaf91b74c120bbdf71e8a2df0ac4f01b6e79669c210564f1974b1c8161c0383731c24dcc1f3a75824f17f0defac2dd4a3dc5c58ea9e18c51d0d05cc55249605581e030f511acd5b84dd9ce5b418682f0ce86cfe3eec1fd4f624374df46c9a8008480712fc5060ecc40005581d02ea0b2bf332292b47912b758086e2a4b3aeda2738f775f5678093f0f40c1909df4762cff9f93c818c05581d02afcc5b4483362d7787fc5de842a40bb55ca6972aa582d0827230f50e0c1248123730637b3ee01302190404031c789ab34361ac6105cd82e48384cb48f8c848d8480036cf702ea0abedbb6b4b05581e039ae7e658c6e271910db8147a3dc43875e236dbb5c776d6f07fcf3745000c01470104c2262dfbe803ce1e658432f14ee5ffca3d1fd4488d3e30297e6ce1adbf3030f96ae2865fa88c0339d6a16bc0345976f2492f813cb73922744b006849869bc058c6ff6bcb618c240301f8364c98e64488308552bf4fad199d3ee2f262f5d28afd649161b85935a0c205581e03f6e5a401d4e23b152dcff98d5d0b748ec7dd4c07c28faa3dd5909a8b000c054681f5406b200805581e03044e59837b57166ea750124af9999f4663d00fb60cf895ee12b80d0f90040103c7dee3275dba21a2f402f0d08ddfff10c9134330ed5b29d4467f80d337a95b16033980451255e493e58008161f3645447b7f50756ea57a9af29b3dae54da936f0d0353ed886fea53ef77bafd95c195fd573e1ae22017f3b6a98944eee96bf2493dc405581e03b3d45c869352fa16b634d9757be53bf53d934426cbf9597bd6487eb1d00f01465af3107a40001bffffffffffffffff0219e3fa0320582752f448ce31279aa2ae864bd302da1245d55ab846b344233da8840a0d55038e52c3067aa93c27a66d5eb35e9437cf43a6226f021c8a04cb54fd8da5c81c3e03d89253dcd6ee663e6792a20daf555d3afc97f6a1e5be6b84efad028cf83d5d7f0219ffff031f2f88e4e25e50c53adbfd7b719932bdb2a2474e8620082bfe1a2638228e319003d2378a721b43e98702e956e70267611f01758d1fdd2be1738a2dcfbcff33f5d50219ffff03b3c4f0e2e4b3b9da2902111634930d890803ce17004056031b76b3198bbb1aa9035ff8598fa02d53658b76d28881005146327e6755c18f9e3fa75c1298f455201f032663afd7a47eaa9089fb55bcd425646e1f7d535affc34dbfe5c8ca03273f704503f7717ca82e995e2e079189898cdda5faa41eb665d8f0ad8300c5b8ac369129f1039cb458d186c2911a4efd02082fd36c78f9a574e1af9e6735501ae6c027f1657a03a880bf411ded89a11cf809de94cfcfa36a172bfefc2c55cdddb7b6d3e0cc875b035c2681598ff63c5f52efbcb9c9aef1e37a473cc9538876d19a77ca8f4b227b6a033ab7df5a072ebc5797caa5f62e96664780d42da108e934efe9c60b37b896e3a603c67c7ffd596b4237594a9957674b382da38c8f12891aba4f9482b4831c1dd62e03147dbc74a6e28405ec62114b1cb47b8cc0b3b16debabbc8360fd607b741f53e103c8e4a7a19e2f422ebf95da4997004d5d8bf1fa71b94d0f66542032ba1be445b503ea530e00bea427363925501e9efba6b6e229becdd89955844b472956adde565403ad390330adb80cc4a26ebe59b8c676e618141a6005f9766bac02c7a487df1ada037fd16eb39917cf99b9cdfb5e8f95a3abb21b41865e947ab824e6a7f6ec7acdee03ccf5ce7227b9b182081691526eb07ebeb06d94aae7833b44666e3783cbbeac750219ffff0376002819d88844276decaa594f39222e294966b17786844de8b08bed8905644c03c7fa35e07a93d6c7d6b91e3d99866f22bd972ed73b3f6a78718903bd7d47157e031d934fae7c8e00deb1daa0b1acb387b26375191a41a410205b50ce9abb6d4ca503afb927c56f4b46d8500c1853dc15f37fbbfdc6fa1a08b060f87b2fed5b9626f3033e861f84ddda1ce05415342f30bab5aa2d7ef62b43ca937384c19530f469d8870219ffff03da3a1507eae22f97781c9876cb46b8bafc5e2e4e5ff486f4f5806a3bcc5303b103310dbd6fd164df3634db894e71b9978a8478096a26fcba5c1b8c40e4b7e2dc3003ffd42e32ad497d3b41676f9a240c52f8fb4b04190589181cf3bc636d34146c550307130698ec9531ed2e8111bd963f11df06d94e1fe7f315f3c460791283176766031c377b5aa2ed6d5a0620a51340aa572b5e81be2b5adec0814696c856c3838a6603a46b69e7c7ce779d2f3db3c84b75f5148873257be770d4967cac6cc90654ffb903c8317278b16fc0b31c7bd1e602421306ed060c24c5660ddceb1f788358729aa6038c0851a12f6ff3be6c0a119052914a48780a99b058243fea02c1cc2f8680928003d9cb5aebb0770fb3b99ef2c7e39fcd514639b42e6101eb628c11904b4d8b6f9e03db9778a0dc2117d5002e98e169377e43a3e89a8cdd93b4fc797eceaa8a374b2e030244f562f3638a4ed33d9f3c84c739db17e7f6842f08f58413e0befcb3837afc032642886bb8b18a6078e8cef1238b9461aa6ab78a961c281ffc1d3ed16440cec2035e403835a27996336826128cb8fe315427d5c2ccc0d7b88a35a50c93f099184303a21d49a488dbba587a37e19b7671a15e2e2f382f321bbf06f093c8dafe3ba155036622017df07f82c03499e53400d01a8e47e3cd8609c473a88005ee63382f991803c2697535c3a3e53274644d70d4d9d73791abab9d09284eaf308d2a5fafaa23ee030e976915d2ae4f0cc907bb050f5723fcfb13656b7de6303bd19be0a91699801d035915bd7875afe372a1256023b5d93db5a00d06c158cce292b444731a3707a14203e0917df298652c297516cf0ce27c4d8bdc8737432fe3fbb9c35a372a6a8802e403863e1c5c1db94acc85d9bf5810588dde639da76e02239d7d2e9c06eedc8452b203c0ce4c2867fd7fe0997b2ce82d50dd7333a270eeab086b40d2f2bcf91d2584820320afe17e3891b483f35a2550473a1254dcf501c7f0823d5f8d93e721a2b3d1a3032950dc242f51c98cfc9631df7ee7554e4662d966554f047e9894666c8ac49cc40334c55de6bcb8667625b51e47db5701e0a4439d04df2e0db2a114556c6f4929c803383a50294f039d15b5a1eda540187e7b9bdc3d886f18cc4da39a138da65b1c9a0336a6d7ee6959de99291cf2f794610224ebb5440ba53990547098690d41ad0205034b7afba193aa413811da172145168c69cec00984b97aceb96bf276401474e7fb031f6756ccad4047b0f851cefe1f7596e29b6b2fb338b4709e5fa672e86c5cfcdd032763176441c5fbda3110efef38e42565e752981a2933755e82e3a818f1de826d03c6687b0218e82050a523539183564adced70ccfb1656781174291c3dc8fc0d73033c66a651794508b76ecd212fbb82702032cb83543d20a968a9e168b681c28362031957c29a5acd3c0420567b9ebbdc812a03faae5f2da6ad01eff5ddd04d375a4003677313bf4288eed8684d4bad6e1ff659254d239a8785dbea1398135f3841cce403a715c5ce192d5bd421bec8ee0c28d426dcbd7e3feed4983e0313a398ec5a3efd03820f9d9286d73e0364cd01ffbaba5c7a70670a3bf803ffbe6ea95a5e9f817e7303e0bd40096a54dbd890f9c9a4cf4bb06e0f4fa960676d5db2e7f601f8134170030343b03412e798ed51a67f96ff5327e10f7fa1f5ad6a82ba26e3b13cb20fa8cd3d0330397302a3d898044aa5f7aad8de80771600777540a00ca0942abf3b9e7e33990336a0ae182f155e5ae17dd7d82679cfd5430df902bcd1d2eb0ab62adf4de981e603527215f58f40903a68296e3ee96ae0eef922b1f065f8c4560c052cac0768933b05581e03d93aac1412f22d76bbad5dd38f89f405117e29eac41d7620b52eb834700c0245b82b46260005581e03ec2e80e2d2f87d3456c8ba30821592d6e9e90731365fa27eeb227bea70040105581e0360a790a99ad83fbc7ef78a36b399459417f9303aea86115ac63ac30850040205581e03f97dfbf09c53f062c580273f4511c81e434436f3a8992e39f5596ab3d0084703a08a1e097800045959ae6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033005821028a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b410105581e03a2f4a4cbb1b67aa687f36aa61d0631958879d58861d3dea13daecfa6f00f014801ea4644d69dae1d1959ae030d8329487da35d8659e539b873e49a33cf3313fa1c19bd69d0a3e977aabaab0c05581e035547497eab9a72da4aa1aab6d3969904b40c60b1e87ea3c2e5e811fca0040405581e03c5d0f11268cd65335d623dd7e5e2bb1dcc90db4e6689bd66bbbcda3a40040205581e03854a5402ee10b25856de85f60ad0442f88de4cf0cf694b708a3c9b50b0040205581e03e3f6dc65e4447e6a86ddb7c9c96877b095b09b5634d01e3566c83a77e00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03fd36dedfa3a6ad18222ea91870b9d2e2da28a043b5c8e10dc17e88ef1007011bffffffffffffffff0219b9f303004ed5e0a028dc92526454d9335bb5dae020ec9903b913a045df183f0329206e03e7c3087443e5e9feed69d364c776586eaaef2f68f9b0a583f0db0e3960aa17ef0219ffff03c9ca73ba388efbfe5a8d71f2f93e0a1baccc3f2f67a829eeefe9bc99e6f5c8b503a94f5c85beead79d64ded38b14d32b61084dbdbf0e17696e750f7e97d7250bfe034c9ffbe2a5f61e8bcc9e6e193488135ba652d54956b63410999b6ced778c793c031ca4c0f9719823b15e25e0e9e60663f87c44ecfda9f193f0997a78581d2dc9020324bcf74b42cc463878434161fabb3867bc4bdfce1085bbfa267398e8a97ac16d0219ffff0331363b8baa5f291e8957e625ead8c41c8dabc090db249473d8001b4d9790592d0219ffff0354f87e713ddf3050a9820d47b382f232638e81ef635a168d5a23310fef0948eb03565fb2aed36745483c588bd554e9038848737027ef4af5c2a0c8eb5466811a8d038798b9e4b370504cbd5f0d53d799be6d02d7a4842b2c5568d3412e3f61aa8fd8038ed8b143e8fe4f263fb55233a62a9a6c1347049516f27c1400fea328dc00e2b803bee6de5d17a11f11ee4c61388614c48ba3e4396b9ea287dea87ed32dde5b112103723572f9ed48e38ed9e226dc24212ddd845f1f310bdece45c19c80f4bdd8965803d7c3665af3ebf19e93074d6bad24fb5a158933ce1c8cf89322b77570b4407def03a42e2c76c0ba410febd2f652b7d968e744e8505e2d49481a7bdaab916c537944033769a5484a01cd3f3e57b8c6b6508081c1b9aa893f6c8cc01f163f3a1c8b3b8e03cb3dec9a24cdc75eda07cc3a3f69de3c8d09cb46e48b4777868fd5112555ceab0355cf90d58cf2dbe6b0247697ec15d73d04cc32eab104bf1bfc7cdfb8529e076403563bcf685b8cce98a1c95b6c7f27d237b3a431a4b33b9dcfa7931f73bc34f8f603e6d2ae612e08b14f9aeb72ff0c3aa5753dbca12a7e4d69d0427ddfdb573cd36903f33be90f317344b86bf26560765720cd133ec1a2f30fd195b5d8f27fb431662d03b76935c4145ee515ae5624b39f986f841c98f8cab27d3c02b6bbf1eda4ae1d390374b1678c2aabd2ad5fa9584d60baa8341403291bc8707fe78c7610aadc4ca48703eca4acadc057db60d9ff88f9fc438dfdcb8f867ff067270a7070b3f9ac3f5d7a03e7d3fc9b3227f68b05b7e8051b55b0bf33b412a41dda09d85067e3fa4e3cf2e903867447006b9700605eb55bfff589eed95e7dd70c0e6a643e466d1bccd3d71ccf039e2549a4a7cfa6e54d321156bce0afa77e03c5dae0ba622ace9dc85533e588100336d3de83f431b5b791877fc3cd99a71c8d071c3b49ec76ea994e24963b06450003770c2c90da18e4a30758876188370249d2bab8f1476cabc34eb72725c00a858503cfd8323e18fee486564eb31bfc4ed081392b55b785102858f062974c06aadfd703ace1509090661df671d63c8389eb2480cf1960b77860c4fcab2a3e7110b48ef003d107b6f8f13163a0e1bf3e8f9432d540b9ab17fc7698ec1528e21235300c3bec0313aa1f9fe7fca26aa136ff898d11893c9fa9cb4f8d55f37978876231d241327f033705502bf0bc95b4033fa323cf0adb6d45a895b671804e08af863db0e4be7fcd03734740efe5faa67958dcd04330bafb396433b0bf23e149ddc20ad11b8545c6c805581e03d57944ea138023b4d48d0618a46bd27b22a809cb8db9239a31576fbea00c01470243f2815886e405581e03a54e528def72caecac1e2ac8702edab7afc5cba39301b4d76b2216fa700c01470480f635c7cf0905581e03fde53d00cea9558a50a0117e9631d0af91ce713cb3696c36a74199d3300c0246016eb550c600032dc64ccefd5539be1c0280c9e7e61a767748a2278dedf10be2381f3c68d61eca05581e03109248dcba03fc801efc38015b3ddc404071030a89c48f546677e4c8400c014659c24e42959005581e032343e063f8d7bca021921985df468fb070ff3098c9445b51cd5809b520084806f05b59d3b2000003c1d7663a9c7cab7834a8f7de75332697e289a51dfb8e8ec2c98537e200b58c2605581e034c94d4e3a94aae7ef89b2e30541506e8a0d5251c73a2e8e4462b2f79b00c190388478377e2350619ec03a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581d020ffb9d885a860e0486644d4612c581ca314b31a3bb8e7001d92bfa6f07011bffffffffffffffff04590db3608060405234801561001057600080fd5b50600436106100be5760003560e01c8063a200e15311610076578063c8a4271f1161005b578063c8a4271f146101c2578063cd5d2c741461020e578063d820ed421461023557600080fd5b8063a200e15314610188578063a34e3596146101af57600080fd5b806350e9a715116100a757806350e9a7151461012057806359b6b86c1461014e57806359e1777c1461017557600080fd5b806301ffc9a7146100c35780632c0fd74c146100eb575b600080fd5b6100d66100d1366004610bdd565b61025c565b60405190151581526020015b60405180910390f35b6101127f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e2565b61013361012e366004610c1f565b61026d565b604080518251815260209283015192810192909252016100e2565b6101127f00000000000000000000000000000000000000000000000000000024ea4122af81565b610112610183366004610c9e565b610433565b6101127f000000000000000000000000000000000000000000000000000012752091576981565b6101126101bd366004610c1f565b6104ce565b6101e97f0000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b841981565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100e2565b6101127f000000000000000000000000000000000000000000000000000000000000000081565b6101127f0000000000000000000000000000000000000000000000000000049d482455da81565b60006102678261051f565b92915050565b604080518082019091526000808252602082015260006102c286868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105b792505050565b90506000600582106102ff576102f8847f00000000000000000000000000000000000000000000000000000024ea4122af610cd6565b90506103c2565b81600403610331576102f8847f0000000000000000000000000000000000000000000000000000049d482455da610cd6565b81600303610363576102f8847f0000000000000000000000000000000000000000000000000000127520915769610cd6565b81600203610395576102f8847f0000000000000000000000000000000000000000000000000000000000000000610cd6565b6103bf847f0000000000000000000000000000000000000000000000000000000000000000610cd6565b90505b60405180604001604052806103d683610746565b81526020016104266104218a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508c92508b91506107fa9050565b610746565b9052979650505050505050565b6000806201518061044c670de0b6b3a764000085610cd6565b6104569190610ced565b9050600061046c670de0b6b3a764000083610ced565b905084811c6000610485670de0b6b3a764000084610cd6565b61048f9085610d0f565b90506000670de0b6b3a76400006104a98362010000610cd6565b6104b39190610ced565b905060006104c182856108bd565b9998505050505050505050565b600061051661042186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892508791506107fa9050565b95945050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061026757507fffffffff0000000000000000000000000000000000000000000000000000000082167f50e9a715000000000000000000000000000000000000000000000000000000001492915050565b8051600090819081905b8082101561073d5760008583815181106105dd576105dd610d22565b01602001516001600160f81b03191690507f800000000000000000000000000000000000000000000000000000000000000081101561062857610621600184610d38565b925061072a565b7fe0000000000000000000000000000000000000000000000000000000000000006001600160f81b03198216101561066557610621600284610d38565b7ff0000000000000000000000000000000000000000000000000000000000000006001600160f81b0319821610156106a257610621600384610d38565b7ff8000000000000000000000000000000000000000000000000000000000000006001600160f81b0319821610156106df57610621600484610d38565b7ffc000000000000000000000000000000000000000000000000000000000000006001600160f81b03198216101561071c57610621600584610d38565b610727600684610d38565b92505b508261073581610d4b565b9350506105c1565b50909392505050565b6000807f0000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b841973ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d89190610d64565b9050806107e9846305f5e100610cd6565b6107f39190610ced565b9392505050565b60006108096276a70084610d38565b92504283111561081b575060006107f3565b60006108278442610d0f565b905060006108557f00000000000000000000000000000000000000000052b7d2dcc80cd2e400000083610433565b90507f00000000000000000000000000000000000000000000000295be96e64066972081106108b1576108a87f00000000000000000000000000000000000000000000000295be96e64066972082610d0f565b925050506107f3565b50600095945050505050565b600060018316156108f057670de0b6b3a76400006108e3670de0ad151d09418084610cd6565b6108ed9190610ced565b91505b600283161561092157670de0b6b3a7640000610914670de0a3769959680084610cd6565b61091e9190610ced565b91505b600483161561095257670de0b6b3a7640000610945670de09039a5fa510084610cd6565b61094f9190610ced565b91505b600883161561098357670de0b6b3a7640000610976670de069c00f3e120084610cd6565b6109809190610ced565b91505b60108316156109b457670de0b6b3a76400006109a7670de01cce21c9440084610cd6565b6109b19190610ced565b91505b60208316156109e557670de0b6b3a76400006109d8670ddf82ef46ce100084610cd6565b6109e29190610ced565b91505b6040831615610a1657670de0b6b3a7640000610a09670dde4f458f8e8d8084610cd6565b610a139190610ced565b91505b6080831615610a4757670de0b6b3a7640000610a3a670ddbe84213d5f08084610cd6565b610a449190610ced565b91505b610100831615610a7957670de0b6b3a7640000610a6c670dd71b7aa6df5b8084610cd6565b610a769190610ced565b91505b610200831615610aab57670de0b6b3a7640000610a9e670dcd86e7f28cde0084610cd6565b610aa89190610ced565b91505b610400831615610add57670de0b6b3a7640000610ad0670dba71a3084ad68084610cd6565b610ada9190610ced565b91505b610800831615610b0f57670de0b6b3a7640000610b02670d94961b13dbde8084610cd6565b610b0c9190610ced565b91505b611000831615610b4157670de0b6b3a7640000610b34670d4a171c35c9838084610cd6565b610b3e9190610ced565b91505b612000831615610b7357670de0b6b3a7640000610b66670cb9da519ccfb70084610cd6565b610b709190610ced565b91505b614000831615610ba557670de0b6b3a7640000610b98670bab76d59c18d68084610cd6565b610ba29190610ced565b91505b618000831615610bd757670de0b6b3a7640000610bca6709d025defee4df8084610cd6565b610bd49190610ced565b91505b50919050565b600060208284031215610bef57600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146107f357600080fd5b60008060008060608587031215610c3557600080fd5b843567ffffffffffffffff80821115610c4d57600080fd5b818701915087601f830112610c6157600080fd5b813581811115610c7057600080fd5b886020828501011115610c8257600080fd5b6020928301999098509187013596604001359550909350505050565b60008060408385031215610cb157600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761026757610267610cc0565b600082610d0a57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561026757610267610cc0565b634e487b7160e01b600052603260045260246000fd5b8082018082111561026757610267610cc0565b600060018201610d5d57610d5d610cc0565b5060010190565b600060208284031215610d7657600080fd5b505191905056fea26469706673582212202f367baa7e38083ab11fe6251d0dac4c55d4d507b0208df054acbe0c97eb6baf64736f6c634300081100330605581d029244c33c11b75180b00154eb32b69e47fdc6763a2c1425d6b385de7f0701190db30219240005581e0398b0787c3859ba57c696ab935a50f43d5887330b73e1db99a5b5ee23b0040402197b99031cd89078f97b9d37ce285c5b99c7d6783a1b9c0b8f915aa969c9befc6489707303f5a5b96ee1536bbf3e3c94d5c2370c933582d346d63851f48ededc9905de4cac03bce063013941efa5c9962986f910a9051ee52fe5e188f22cd694d9ec3e412f8703b38c11ac233a0df79fa829d85dff19c08bf834f465853e9585ce8480f8aed1e703336b99163f1c095154228aed54b2f5985aa5d81500243884a1dd70bdd426345303c286fda375175d2bd81d6ae103d799ae4c71418fb644f30868ffbba048a484a303b2aa4bb92885f3531194588384b7ad26f9d6abdba0d9393ab6e9dbffe100d9130219ffff03af723399d966909f75ada32d4c2893c4ae0a5182323c81ee5cbccb24d567cc14031977be887b8b876b980bff0b85abc6976f16a6f02fc5bbe77659ffb906fb934b03f62f6c3e549a74434ca3b9cd2bb3f3270cd9c0d1a6e13bf4aff7bdd6d8d50e3303e17e7b74869ffa96c949c4fe65ec340973b79a23c87c26758d2eff28bf6f678a0380c14c3a86183691d3daef97a5925a3cb16bdab31f0e39c66c6ec2fdd83dde2603c6cec647d1bb9b28e5ec87210da70e3fcf68617fe74c9590c73c8215febd880003fa6d2f35c573a3ac1fc5ff2a6f43880de8ce9691fdc599b653a2025232ee012803c36a6ca684f024242bff0ef47c8c9eb5f2f4b7e50dfe7990a361b17115c3738003a92bc6772bb918c9cd690b38f36dc5401ebe0f1de6d87d5e1640144f9d8bb9a403c8013c3047d0bf5369e25f34e08d6f5d9649096cb55c32d231527a94818e46630375a719f56943f535a0e4b6b8f19ef9866740829ad0f26d61be1813b74543cc0b0399da521d2edd77eb00a566fef6e954a882e0a2b8f9425653d5c1a9f202cfc6380219ffff030bbc972575cd27a8bf2be4855d8740dc79eec5684ae1461689d9a5ad0f86b84e039e143625673a55063305b9b8bc11edc20956aa476af55005573313ecbf4fa5e4033b948b8e75e97628323cd22a3c43a4932ba237b58a47a9201bf97bc666d56bbf0219ffff03504f1843a2738646dc08cdabaead74c3751f36eb97aced56686b44939037b1250306499a939a6d2c259ace5380402e15a3addff8ef39641ecd96f10e19073588dd030717ff058a46a20d18aa184cc4546ef612cd18f0f6d4f1703616484e4da8026b036992769325e70e3867a626cb6c3c03910d1471ee651a16a863d39d34001c366703b19c3983348753725ffb42adc37d36ae15e1d444b575c8844226d97813422b250373f70136b133cde46522b396741cb314ac934d22f487bd02b7d70183bbad58cc0219ffff03aa3b25047732cc5986f92de19f12794ac1e8f689510ade2f79adcf3608908d5503d3b3e4b12a2d6e27415d178d65005962e85e4f91c20acb3b77eae9b208dbfc68035c8fdb15b4d4e5e9b3399cd1b644772cd66163eb6e9fd359fbdc0923e9541fbe03dc3e983495cb6309d713716de35960cf47a07f1841e768b8798a16f9c55f755403f2497834492ada9b176677fd028342505976f06874cc8e423a1ca36aee6d33340316ef3c865d4270806e54d68ba91a6dd96e170e14cfdc2b953711033af2e8c2cf03010d8d94e1a964712d8146ffa16de15be138cd2a11c92ea651ca82b5843d87df0356d4c2ddc377a606456e7b642bb43b7931ed06ae3c68067970975913090be43c03bda6f17e6094e0635cf9c5d6ec05eb2bb2c6aee70ddd0dd870a4cbda1e0d08ee03f4f4c8f3e635c9e2f567c313c69c4320c9ebf651f37704e745e0bf330d040d6f03a3a25873d19ae324eb3e718a51ae6e6e3baf4bc702b472e837b82b39dd5d4b7c03be53d86e928c21015fb14708c2685c510392bb7182a364d582cc6610aa477f0a038d70916200a2821462bd63fa245d090ea7253214eafb4ec8f4e80868a3459a0f0302aa695155853bffdc88b902cb8612fc6635352e53c35b4c8d10616f5e82c9670397f00a32f1cda95fbed5c25bb6152c6c3bafd33587fbb0f188c8da94e958eb5b0397a837a0f9d6bfe97499b71f911e2ef228653fc426392e60e496de078af35d3303ff3531e6e5963bd310b34aac09e7edd051a3062ace60cc7609416ef885dc7d100393baa3fd9df0a40d2e4556fabbda112acc474f6fe41a4ef41a91e259ffd56ada03672f4c3ff14ec60c8ce337440f7df9bd1711259783e48aa1005ad3f25453389e03d6f782b4b6e76156d2a6b9bded65659b784baa12a663d2d592850fddd26a713f030b2da982c0f2eaa3576bf09caf580595cacd064ac3ea3a2947e2b389f468301503c256a84747b449a62752b71f86f03fa51e014b44e8eb94dddc43f95305fd8bf003ffd218fb47eac4844a007fabf4e7770cc066e1d9181759fe04a4cca4351bb63d03ba4f8f2d7c226473b21d16077bd1912383783132de5eee5a412a5da67edde8eb0360a1c354f6e42601efafb11fc00e49b33eb6351635cafa738a280cecba4637fd0379cac001f46cb69193443abb26e662c97972411b6b0243e6da1ea3ff7be5ab7903089b6c721168de6651df94e17f216de2e8e2b9e842e926281dda26a9a7bb494803f02194b10e0ddfb3a1636874e2e93d942e41ee2e7ad67e6e12f2e9734db3c1fa032cf45f4b560f7bd85543415e0ea4affc69031cc4a094da6904d696dedbc60cf203d3e09cd9bd8da67cef349d0b10c26faa802ce3ccb93291d4a5ef71578ea4b9fc0314eaa0fe0f82c7444059f06ec316a619791ae684d33b85aae4cac3add692e9a1037dd78ec8693ab3df839b9e5f6b85e911f32d9048fec719b815fae942d09abcba03ff7b92de90bda4d60eca25eb2fef1672d0f956f96086bd047f12ec0ae09de679037abc88444457e820ce72a6744aef7cebef323cac72173a36c146614f84cdc16a03699bc73e28018c389d829f013a6c4b96ae0d574dcf20a2f457eefa1acbc3623303d95004a80f9d47d2aaf1b854629e467ffdac47c77876fedf9a9f4102d445124e03e01858783ae0c50a5019cc63ab2cb96c50d0898524582b45f8fa56ff7454335303761a0ba2b2a452503e8c20bd3f92f7ad64c86291c2cda27fa2e720b4f8f3a387036fba6f4f7e7676ab0e40f36f0f4bf150fa7b1c90fd6a1850cd2a406a15743131031d62a047cdb7dd80bdad47a4bed8ab43018283adc2ff0bdf363919de67e48b2003d5de60921af18096a5756f0e23c2a2dd5788e7e7060832af78d04b5305fe544703f6b2e96afdc58677a7a30e919ee5835bb46d9132cbfd7b5c6b49cc70aaababd805581e03fa2c8435ea3ebfedabbf99ab2708f4f23ba99f522c52d25b0a60d23180040103b94dc75c9f2292d68dc2ac895e74b8d9acf4d310d71cc7e399c3b17aa870168905581e035343052a1fc6e8129f172cdf9f1f3208e7009fd5e3772c2cc87baaa9b0040103677a0ff978ee21876acff4d31cb7d1c2da89de6be08039a2128c8159c9c2999b0344b63dae090a1273c9fb8a81c9c76baf1faebf4ed90ca5ba86ed29d489603db304591abf608060405234801561001057600080fd5b50600436106101735760003560e01c806365c4ce7a116100de578063a7a1ed7211610097578063be9a655511610071578063be9a655514610447578063bf353dbb1461044f578063dca44f6f14610475578063f29c29c41461047d57610173565b8063a7a1ed72146103e8578063a9c52a3914610404578063b0b8579b1461042857610173565b806365c4ce7a1461034857806365fae35e1461036e5780636c2552f91461039457806375f12b211461039c5780639c52a7f1146103ba578063a4dff0a2146103e057610173565b806346d4577d1161013057806346d4577d1461025c5780634ca29923146102cc5780634fce7a2a146102e657806357de26a41461030c57806359e02dd71461031457806365af79091461031c57610173565b806307da68f5146101785780630e5a6c701461018257806318178358146101a35780631b25b65f146101ab5780632e7dc6af1461021b5780633a1cde751461023f575b600080fd5b6101806104a3565b005b61018a61053e565b6040805192835290151560208301528051918290030190f35b6101806105ae565b610180600480360360208110156101c157600080fd5b8101906020810181356401000000008111156101dc57600080fd5b8201836020820111156101ee57600080fd5b8035906020019184602083028401116401000000008311171561021057600080fd5b50909250905061079f565b610223610921565b604080516001600160a01b039092168252519081900360200190f35b6101806004803603602081101561025557600080fd5b5035610945565b6101806004803603602081101561027257600080fd5b81019060208101813564010000000081111561028d57600080fd5b82018360208201111561029f57600080fd5b803590602001918460208302840111640100000000831117156102c157600080fd5b509092509050610a3b565b6102d4610b41565b60408051918252519081900360200190f35b6102d4600480360360208110156102fc57600080fd5b50356001600160a01b0316610b65565b6102d4610b77565b61018a610c3d565b6101806004803603604081101561033257600080fd5b50803590602001356001600160a01b0316610cad565b6101806004803603602081101561035e57600080fd5b50356001600160a01b0316610e39565b6101806004803603602081101561038457600080fd5b50356001600160a01b0316610ede565b610223610f75565b6103a4610f84565b6040805160ff9092168252519081900360200190f35b610180600480360360208110156103d057600080fd5b50356001600160a01b0316610f8d565b6102d4611023565b6103f0611070565b604080519115158252519081900360200190f35b61040c611089565b604080516001600160e81b039092168252519081900360200190f35b61043061109f565b6040805161ffff9092168252519081900360200190f35b6101806110ae565b6102d46004803603602081101561046557600080fd5b50356001600160a01b0316611135565b610223611147565b6101806004803603602081101561049357600080fd5b50356001600160a01b0316611156565b336000908152602081905260409020546001146104f5576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001805460006003819055600481905560ff19909116821762ffffff169091556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b9190a1565b33600090815260026020526040812054819060011461058e5760405162461bcd60e51b8152600401808060200182810382526025815260200180611a1f6025913960400191505060405180910390fd5b50506004546001600160801b0380821691600160801b9004166001149091565b600154600881901c61ffff169060ff81169060181c8115610616576040805162461bcd60e51b815260206004820152601760248201527f47556e694c504f7261636c652f69732d73746f70706564000000000000000000604482015290519081900360640190fd5b8042101561066b576040805162461bcd60e51b815260206004820152601760248201527f47556e694c504f7261636c652f6e6f742d706173736564000000000000000000604482015290519081900360640190fd5b50506000610677611254565b90506001600160801b0381166106d4576040805162461bcd60e51b815260206004820152601a60248201527f47556e694c504f7261636c652f696e76616c69642d7072696365000000000000604482015290519081900360640190fd5b6106dc6119c4565b50604080518082018252600480546001600160801b03808216808552600160801b80840483166020808801829052600380546fffffffffffffffffffffffffffffffff199081169095178616928402929092179091558751808901895289851680825260019183018290529390951683178416909117909455600888901b42890160181b01909255835185519116815291820152825191927f80a5d0081d7e9a7bdb15ef207c6e0772f0f56d24317693206c0e47408f2d0b7392918290030190a1005b336000908152602081905260409020546001146107f1576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b60005b8181101561091c57600083838381811061080a57fe5b905060200201356001600160a01b03166001600160a01b03161415610873576040805162461bcd60e51b815260206004820152601a602482015279047556e694c504f7261636c652f6e6f2d636f6e74726163742d360341b604482015290519081900360640190fd5b60016002600085858581811061088557fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020819055507f6ffc0fabf0709270e42087e84a3bfc36041d3b281266d04ae1962185092fb2448383838181106108e657fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a16001016107f4565b505050565b7f000000000000000000000000abddafb225e10b90d798bb8a886238fb835e205381565b33600090815260208190526040902054600114610997576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b61ffff8111156109ee576040805162461bcd60e51b815260206004820152601860248201527f47556e694c504f7261636c652f696e76616c69642d686f700000000000000000604482015290519081900360640190fd5b6001805462ffff00191661010061ffff8416021790556040805182815290517fd5cae49d972f01d170fb2d3409c5f318698639863c0403e59e4af06e0ce92817916020908290030190a150565b33600090815260208190526040902054600114610a8d576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b60005b8181101561091c57600060026000858585818110610aaa57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020819055507f12fdafd291eb287a54e3416070923d22aa5072f5ee04c4fb8361615e7508a37c838383818110610b0b57fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101610a90565b7f47554e495633444149555344433100000000000000000000000000000000000081565b60026020526000908152604090205481565b33600090815260026020526040812054600114610bc55760405162461bcd60e51b8152600401808060200182810382526025815260200180611a1f6025913960400191505060405180910390fd5b600354600160801b90046001600160801b0316600114610c2c576040805162461bcd60e51b815260206004820152601d60248201527f47556e694c504f7261636c652f6e6f2d63757272656e742d76616c7565000000604482015290519081900360640190fd5b506003546001600160801b03165b90565b336000908152600260205260408120548190600114610c8d5760405162461bcd60e51b8152600401808060200182810382526025815260200180611a1f6025913960400191505060405180910390fd5b50506003546001600160801b0380821691600160801b9004166001149091565b33600090815260208190526040902054600114610cff576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001600160a01b038116610d57576040805162461bcd60e51b815260206004820152601a602482015279047556e694c504f7261636c652f6e6f2d636f6e74726163742d360341b604482015290519081900360640190fd5b81610d7c57600580546001600160a01b0319166001600160a01b038316179055610df2565b8160011415610da557600680546001600160a01b0319166001600160a01b038316179055610df2565b6040805162461bcd60e51b815260206004820152601760248201527f47556e694c504f7261636c652f696e76616c69642d6964000000000000000000604482015290519081900360640190fd5b604080518381526001600160a01b038316602082015281517f57e1d18531e0ed6c4f60bf6039e5719aa115e43e43847525125856433a69f7a7929181900390910190a15050565b33600090815260208190526040902054600114610e8b576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260026020908152604080832092909255815192835290517f12fdafd291eb287a54e3416070923d22aa5072f5ee04c4fb8361615e7508a37c9281900390910190a150565b33600090815260208190526040902054600114610f30576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b6005546001600160a01b031681565b60015460ff1681565b33600090815260208190526040902054600114610fdf576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b600154600090630100000090046001600160e81b031661104557506000610c3a565b60015461106b90630100000081046001600160e81b031690610100900461ffff166116fc565b905090565b600154630100000090046001600160e81b031642101590565b600154630100000090046001600160e81b031681565b600154610100900461ffff1681565b33600090815260208190526040902054600114611100576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001805460ff191690556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b90600090a1565b60006020819052908152604090205481565b6006546001600160a01b031681565b336000908152602081905260409020546001146111a8576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001600160a01b038116611200576040805162461bcd60e51b815260206004820152601a602482015279047556e694c504f7261636c652f6e6f2d636f6e74726163742d360341b604482015290519081900360640190fd5b6001600160a01b03811660008181526002602090815260409182902060019055815192835290517f6ffc0fabf0709270e42087e84a3bfc36041d3b281266d04ae1962185092fb2449281900390910190a150565b600080600560009054906101000a90046001600160a01b03166001600160a01b03166357de26a46040518163ffffffff1660e01b815260040160206040518083038186803b1580156112a557600080fd5b505afa1580156112b9573d6000803e3d6000fd5b505050506040513d60208110156112cf57600080fd5b505190508061130f5760405162461bcd60e51b8152600401808060200182810382526023815260200180611a446023913960400191505060405180910390fd5b600654604080516315f789a960e21b815290516000926001600160a01b0316916357de26a4916004808301926020929190829003018186803b15801561135457600080fd5b505afa158015611368573d6000803e3d6000fd5b505050506040513d602081101561137e57600080fd5b50519050806113be5760405162461bcd60e51b81526004018080602001828103825260238152602001806119dc6023913960400191505060405180910390fd5b600061144f60306114366113f2857f0000000000000000000000000000000000000000000000000de0b6b3a764000061175a565b61142961141f887f00000000000000000000000000000000000000000000000000000000000f424061175a565b600160601b61175a565b8161143057fe5b046117c6565b6001600160801b0316901b6001600160801b031661190e565b90506000807f000000000000000000000000abddafb225e10b90d798bb8a886238fb835e20536001600160a01b031663b670ed7d846040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050604080518083038186803b1580156114c057600080fd5b505afa1580156114d4573d6000803e3d6000fd5b505050506040513d60408110156114ea57600080fd5b5080516020909101519092509050811515806115065750600081115b611557576040805162461bcd60e51b815260206004820152601d60248201527f47556e694c504f7261636c652f696e76616c69642d62616c616e636573000000604482015290519081900360640190fd5b60007f000000000000000000000000abddafb225e10b90d798bb8a886238fb835e20536001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115b257600080fd5b505afa1580156115c6573d6000803e3d6000fd5b505050506040513d60208110156115dc57600080fd5b50519050633b9aca008110156116235760405162461bcd60e51b8152600401808060200182810382526023815260200180611a676023913960400191505060405180910390fd5b60008161168f61165c89611657887f000000000000000000000000000000000000000000000000000000000000000161175a565b61175a565b61168a89611657887f000000000000000000000000000000000000000000000000000000e8d4a5100061175a565b61196c565b8161169657fe5b049050600160801b81106116f1576040805162461bcd60e51b815260206004820152601b60248201527f47556e694c504f7261636c652f71756f74652d6f766572666c6f770000000000604482015290519081900360640190fd5b979650505050505050565b80820382811115611754576040805162461bcd60e51b815260206004820152601a60248201527f47556e694c504f7261636c652f7375622d756e646572666c6f77000000000000604482015290519081900360640190fd5b92915050565b60008115806117755750508082028282828161177257fe5b04145b611754576040805162461bcd60e51b815260206004820152601960248201527f47556e694c504f7261636c652f6d756c2d6f766572666c6f7700000000000000604482015290519081900360640190fd5b6000816117d557506000611909565b816001600160801b82106117ee5760809190911c9060401b5b6801000000000000000082106118095760409190911c9060201b5b64010000000082106118205760209190911c9060101b5b6201000082106118355760109190911c9060081b5b61010082106118495760089190911c9060041b5b6010821061185c5760049190911c9060021b5b600882106118685760011b5b600181858161187357fe5b048201901c9050600181858161188557fe5b048201901c9050600181858161189757fe5b048201901c905060018185816118a957fe5b048201901c905060018185816118bb57fe5b048201901c905060018185816118cd57fe5b048201901c905060018185816118df57fe5b048201901c905060008185816118f157fe5b0490508082106119015780611903565b815b93505050505b919050565b806001600160a01b0381168114611909576040805162461bcd60e51b815260206004820152601d60248201527f47556e694c504f7261636c652f75696e743136302d6f766572666c6f77000000604482015290519081900360640190fd5b80820182811015611754576040805162461bcd60e51b815260206004820152601960248201527f47556e694c504f7261636c652f6164642d6f766572666c6f7700000000000000604482015290519081900360640190fd5b60408051808201909152600080825260208201529056fe47556e694c504f7261636c652f696e76616c69642d6f7261636c652d312d707269636547556e694c504f7261636c652f6e6f742d617574686f72697a6564000000000047556e694c504f7261636c652f636f6e74726163742d6e6f742d77686974656c697374656447556e694c504f7261636c652f696e76616c69642d6f7261636c652d302d707269636547556e694c504f7261636c652f746f74616c2d737570706c792d746f6f2d736d616c6ca2646970667358221220869df76b56e08bd8fae51cc93bbbd6e3973eb722c14fb3c70763bc9656afd8a964736f6c634300060c00330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db005447c3dc029825da43be595e21fffd0b66ffcb7f6e005821036a801e2e567eaab935104846562c59619c92e2cdb33f484d111a8fb700d1d000410100582103904227dbef207cd177d7a4b5596badc0fedcb2a8247824c0d80e40af6deb6670410100582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0510100000000000000379951035a5317bfe0005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6476632d05f0e100000582002cdc00cd4f07216f95fdb32f2d7f5a50ef9fafb9a6070524ab206c83c8a0c93410102190802005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0510100000000000000379951035a5317bfe0005821033aa716a0a59de17273175c8d3af7d3f64331fa3cb91680125b8d29c39025cbf0410103966c9c67924511634ef75b4269e2c05c2a41064085414717252e1ae305f1e98a00582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05477b68899b99b686f415d074278a9a16b336085a00219f94905581d023d038f364f6fc5620b2f55fefc494d207a134013c40374eee22650170701191abf03f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581d026ca17fc63ab707e703cb535fad3c887a493eb288f1ac478f2452c1fb07011bffffffffffffffff05581d025c29c21dd56baf6e9d6957db6c075f94d91e95fb92d0511938fdcb940c01460938e71918000219111005581e030ca8fd3218ceab961783e96b99df19217436eb11570c324bbc2345a8a00c0147020ffa612cfc0005581e039202a58bf2a91056e2ddc6559128c72693e8b360a709715e52403a5a7004181903d162bed924acd48094faedfe21560b408ac08ce1212f0ebe05583709c1f4632d0605581e03cc04271f9ab2ae67ac2ab67d99560025f99e3055b4cecd17840e8de34007011bffffffffffffffff0219567603d33c2d943f43a63fa09d5040d75133d97402704a6103bdff8fa51e867b7c230c03649e0eac56f78fc44bc5a8e69ce34e49a10f9f710f42523d79d5a8788c35cc2f037c58f1da3dcd0b3d4fe705816c9d39fe9dce99411ef9a0689ee67a236180efa50219ffff033bea61dbc1d9f4e47fe520de04a6ad16930bb4bed41ac23bff8bf145b9f14b1d0314ee4719df31eed9bec92c7a6bd6e9a037a9e4c95a78b5b3dfcd859d8782220d034c30ddefafc7d92916ef8b818bf19892f4b885665ce0508e3e70eaa948a5a40e035baed65f2697d34525dcfaa924c706b3fc1261aed60e0a87a767a8e8410c5eed03a872c1f462945e4ff0996a3f024bc9e321f5153fb2ef1505ae4d184f159221990219ffff03d8490401f6cb1571b37d593d0d3f2896cd083a3acf2216a9386510c4fc1adb5b03c4b9cd4836c73b5d61d38c7493e9db51997aaf43c134a19ddfcbb229d224ebdf0396b24bb42b5914dd04ac0be2999e7af8aca768da11d77c38d365755a9f45fe660219ffff0357b89f99f446bfd745d54debdb8eee76f6171a8348986b515d7df2064e9109bb03b64bd2bf92f719aa4f7b8c3a34e4db1c2a19875bf1cc7568f97fc1c5d39194b0037fa0720f20b0a110d02453a428252fe17ef3f594764cdcdba1ecd9c917174356033bd3ba3cf78b9b484556df2b318fb5af42c8e18d94ede7566336eb56b4abc9da03cb27dac819d08bdf5b9b814114fd5cd2137ca511e57fb12b2a6d1dc657307fe8037b8a79b9ca9b5ad2804e37331b4cd688500e08ec294280773b22d32f85c8a5230341b0f95573c935ed14a4b5a019ede35d835f70ecc6e6d2f6230910384cd01abf03f488fcb82faee37612017bb1abf9b136667d2cf57696ba5521ceb89bf08e17fb03e5c32b54fdf7761b32e7980fbc92403eb5eb1f7295c7cd7a4796948a69c4ead6035c089e580f84a7b2a284d842d7c452ff92ce34a14d4e4a198da3df9646633181038782000533c2a380f7fe7da36c5c43b5459ba953484875d823ca8f0e4fa2756803bef93bf9e617ce0d9594709a9ac2a7d5e6acba0d6142873321851df518a64e5003d1fed5ee8fabddf7e98d2e3b88acb64f00f8175cf212104173dda42d617b813a03550575f35986cb1229b4a648666e8012ef2705db031856208b22a55c64f923020365b458641de1ffe491f561e82fb2c020af989637a8429af9e50dc964baddb27003815c32e9a19bcfb6bbe2f2b4427a87778819bfc3ee77a1d20bd60b69bb19268203e526286689f0750da7847385c5c444143402fc2bdc340a2a092766908ba40e44032741bd2bab91ef25eced2fe38ef67a6b75a0cc20abd204a3360f3ef149c3547f0398d60ed25354d987763d3dfafaa4c22cc981bde67d013b6eb2187f18207071f103958308b01197cefbc605f43b943a8663ff8292ace0a1df911f7beef5a0f335b8030bd6615477e1f8fffcecf2ff67b9e28d85cdb1ecb76b40a96439c7e25fe53d4903f6eb8dd31889f51c71b2f9018ea78203026629a3d9f022e1e7bed831c78abd9103fde0fa8fd120369be1a79cba8e3c53ae46e90219ccf0f3dc73f12e2918a5f587037b096195327aeeef0b5594310bc88d456fd45c4f2da9d41f85749b54bbe0a029033657e180615f0a1ff09b8db81964f2ead75a6799df23f0f5406046f49fa8b78d05581e03b48b500c6bc81906a80a3251b3e23ce019e4d0f54bda8511a6580008900401034f191e4ed43ae2d5dea9cf6e4451b5432359f14035c0103c4bc2ecce736e264705581e035e4dbef9dd0715646c1d228076d00f76ffaf5a77c7726afce42f0b8be00c01462271acc1544005581e0398f8afbdbbbb702d39e572ab2d453f58cddd9397813382e994c2bd46600c01450195f2d4ab05581e03befd162aa37a5598dbfa8551e341b78042cba90f89ebd5d6ee69be02a00c04465d3ffa5cfd68034843ff23a659c8ba0f80521b26d7e3723244e706d1c69790ce8de95fc77776b005581e03fa87c1fc235e3ad1085c8bcf4c078ed369f1c5af247681ba5e6b82b250040205581e031cc75cbb95ff8ee3915ffa02d55e8cc8ef29cc19fac682ec271d7614c00c014620f5d68a925005581e0390775d72c618b4efe8389b443d668710a3930ab6feac1e8275314d78c00c0146319537bd413005581e033c3833d746b37f456d7977bfbaa8a172bd962441a697b2f552665c68800c1a0025947c49dd8c0164ef26c5afdd0308ea6f8f1e4715a5f2a077055634e69509046ce80ca1ed33eeb2d6ed6e2a3f0205581e03be2a649f91a0bc91edfc8b766f6444bac02adafeb957d136cd1f1a288004070219d6ff03a8a50ebac26f5faf63bf3e6633e33d410433fc2b1797adb0396934aa7b0e08c9033c43ea17475ef52c57dbd1a78939edd04c5dd592c18f38936c2a217dca065a47036c8f3057c6e56d2160655d9541903a5db74ecd1e4cb102a028358129af695dfc032bf381fe7b6221a87d4d25f28021e0d3a109a63fc22e187d71445e27ffd4613f03197d1eae6f57883cfdc55899b08ffcdc0ca63d2ebb6864961df282bad7d6e5be03f792230cfde50db73e46c1ebad093b307d3b524690a8c9369d0839e4d47c4c5e039a67c06f48ebd6294539a4d07e05350cd89a7d59cfb26cc8c944984d76ac630b03943a27e2c596538ad2e190c2b6b2775dfb2a57f52e0cfcf326cee68ada4dd93e0219ffff036a08c331ff6e3ce0666fabb8206a47af085001852e169cfd8fbe6e60550d910703861e0d118cfb6b9ee7f6fbf9953e2e7e27da7472c0935f6b8e9d1dead13a49c703752de63b488c655aa2bb5bedd6bf95790a99f2b94c0ad6ae159e977d0fd4463503894f82dd18e34dd1fe410e7adfed54ae58342fe165f6d891b150022572f11c7e035f70c7b5d18d1bb5cc37ac048c5db63963094458af8623f3d6b72f4e808ab0e203fbbb7fb70c3925165ba3f4aac0fb6d3df728a8d10bd42b26ecbddc8a3a6f8e8f035bd54663602b49a14cb08939ba40ca0b9b3753f4b3cbc8f007f3250f9df84ac503e1d60efef49ee448d4dd4ac7ca475930e1a9fccf1b69fefc7f3c13c0575223870219ffff0346a3982aaabdb8ba2894e399ac1b61a40da01dfdbf426325ac16b9f1f934ce3803ddfdc596f0bbe5cc0ff4df212522fdf915535c60ad45f0d5211d26ae7e3ba19803eef2c7a633dfc249409984f21e0a0259d18b29e1b3305cf49172e2a1ff904e9c038bd80766b5a5cdbecc60756959887d6895f2c4f12644cc1d2645bc0856b5e85303f8f28b494188c3acc214ae814bc2cb2ff5e7524f1b4b5dfed49c8a11d0b99bd5032a1019ce02d7f72fd7233176597eac813d5e9ea879db840d4cc18b70b01f0d9e032e44eae35329b254262287fcd8943218726931f97173e22752ea1cea3edfcd2103587c6127020f754d36950644af8deb8b6f7e88e4785aa28e0f8bbca70fc4d5a90219ffff031567aa3016d9bb6b0921bfe8aff7e72e603c7bf0bd94711bab613c4908dfe32703be81120ecfc6c61bbbc4156c7c20ca1d55cdc291d1f66fc9a871d09483d9c48b036c4813daaec134f3755bdb1d8d83bb946dbb2bc70d4a40098a3f9ab52ad0bb7703cabe52b23c7242c8d4a7b9940231322b2a0d66321a5ba09b5abc62c6028e71af031e930b63a4e0f9c7645e7f560aa937235e8f586ae2c2527af188a17c290f3a960341dce5d589b411f2cdae936580f969937a150a824fdf8e74853a589d79c7095f03eef295866e14f644128b3ce96a5a589754b545531b4b16d20452c4c2f00a0d5b03049164a40b553a425bf1b61b35d1643978bee597aba0ef37e7908ba8849fd08c03bdeedf0351552251734a814280c9b9eb36b910c5533bbd5421be22760aa1faac038813f5e6734d939f964e53a2abfab6f851c51bccb718c8179c32416fa3a6608a0304954a2451d472627f644dfc19f48fba8fd431334d2e4440abbfa7edcc81848103c27109896e45df3dfc9369c83cdd5076722bad7291944c890462fad017f08ea003585a2bb7f08ec1e4a7db3b34c50254528e3da8503b72a8768f3e4243a39d03da0328490461c7074c331c0ed830493b997e16ea3bc97f573342be224640c350c432038ecb5e2519bf487380c086f70fa8348c7c0c1d13d5d14cb2d900e594c2713cb103b9e27567ff6e5ec8e307f154f46f8b05e6427be09d0329f1a7bb223bf7132e6c037a6111cab1bf2698ad805d7ae22d7c91eb2d426ac28e8fbdcf2fec80e26d1b0d0351bc4d77763882b715336f61b37facaba91ab4149a85a8b1247a3498bdb31eec03475a4dc34ae1fa7c5ab7898f0f6de5252e869e369bd1ebea542a8453d1b17d8c03db435ee75e10fd2e31df04f955377224d7c83265f3ca56579f9a3856b3d442b903b743ec1ad63bbe9e25fd0da6c901310d840f2d7453028acc3acc6444e632e31f0364d783ef1a2a031f988fc767d5c9e8451ce2cf3a987ccf9a3ad7abba4fef974e03192b2eff1ea5978058707e245a35bf95d8b0d58d6ba91e67419ed1030aebb1ea036fe763af9b71f549c855ddad47e81866b9dc5c6be983bdcfdb22cc1ced477cfd039c97c84c6434a968e9af4b3a615effd7507ff5892557bac576fd5beac4cfa564014108033be782c230c6b9d3c023e657c902835a9a6e918196c2b43cbbdeea013849a2ae05581d0270c2f1ff96d4c37f364f597a02457515ecbcd4f210c3fae1bb2592d80c190190480429df7824a3643005581d0204a71cc34c12b6effb4704776729b8947dc7ffab6eb8f1922651a6120c03461608b3c9818805581d02cc92610251d3245e56fc47c1dc767593bc75385fda0e4fbc90d109260c190119474f0b70abae41b00219101205581e03f233b751ebdc5f642b7c68ecdc80594477b73966fd8bc4ebc5572bea600c02470180535cb4e6d805581e031aa87be9acd5bab3c2e2676a498e4191cba204438551337ff89dbf41d0084801f4eec0c154800005581e03abae3aa99c244790c65db4f03f19d747590c2106db318566a2d69353e00c08471c394307673a3305581e0387ef48cf7c2394f2b543b6ec4e57f4e90b0a207fcad1da94028b4540300c014701b2b521a50c0005581e03d2b33d6efe2b83bd98e441cc31377944a6ac7df41ab3b3d41419b9854004060327c02a1a822222c2ad6a9a01021c98abf05dbe6d19540035756ef97697ed41d0034bf263b7a5ac66cedda49587475694219afe9e887dc38a8d69b1521abba2ff7005581e03bd441cd4530ad0a7361ea7858218182e205363f6f3da10c1101ccbebb007011bffffffffffffffff05581e03d1d1eac0fbaa88ae8240c5e2674d923921d583b3050503410e971ce650040105581e037b056b273ce0b0d47c85fdee8080f8894cadd4befee2b43f7dd5500b300c0147053d987b82180005581e039e6e31b287bdbefe570e96aaf221279aa1c8e20b9a2f50bab7f1f452a004010219d3ff033bcc80339eaf72e39593726a0f274d95649a135583e13244d6dfe6ab680ed0630361bba60d836cbfe9e8481f7c4e8539a90de257c8b207b8554a0db54a3a882efe0369a164c044f2ee6a072329bd5b4b0abeb9808a91fa8b385966491fa327cc40ac039a0406d26f6c949890398fb62c58a067de10c87f2c7eb9149dfcae0c20aaaf03035e8fabf11e635e89e7bbbcabcd25d0cd3e4c0790d46f0089db1445c7126a51e5032203e4803e8be6cdfbdcae00c2267e1fe3e555ebef7fe88a2628fb24cff2c8290344257b7d3866d55fe4c40ccce7bd6777bf612adbeb4c1dc870b3883537c5b6f6039758b2047d4b9c3ba600d683f02048e93a853896d1c4157b20da3d772d56dc9e032aebbde519ef436f20a29ad6bdd3ba0049859be19efa8dbf5a6518cf13c2fde6036da1fe0bb0161b88ec8b2ff24af59bbd91c7de2594563b952c0174c78365ea4203c0043522d7958c264892adaca26decfa21dddb1a061204055d6475a417ecdf2c03b48c5ec24a2a53bb15a09ffba092555dd9fca5931a02cd01830663ab7136c647038f8990b0a6c7b0e4559a89c01d3bfde8f9a9888ca2cb793bc10375e78abf3a3a0219ffff03b762626776fa3097ac2dfb84f9a207dfd076a76caa340f22006c5531857299f103785d950d565e80026eaf86d593b8f9675d60e362f0bc3365ed9de8a96619d12e03c3b14e01726512ab57ab84a04f29e5e58b683f33c1e76cd1a6a7889df53ad70003e8a8feba5a529c5328945b06c4a05baf1f1a5f0e5fdf7265b1277cd5b8b30676030b72aa80de2f141987ca9c8afa3386de14bad215dd60498442f7e99f1e9931be0219ffff03fc073098203190725378e1a6ee7f70f4d112d3b23e944cb557163d1a7ea41e8203eccf7340520b615981ab8a3b45320bc869cf641012cbf2858553ecd47179877f03d0b48de464a6f3e43174feb6dbb30dad837d7ebdb83997386fbbf317ad13a74103b18d1913a26bc4861dd6c09375041b3a730a78014d4f5140ddb77afe1e023a35033ce1133b876a5c021ce12f02d27c1a866a08b2f2ae3bc78746633e718df2df210219ffff03fc0313a65d38c083795fc20776a06c48fc04ebafff7e142ad3468fcd5ab71f370219ffff03414a0c21667e3acf940407d62821e0574dec6b1893cc7d66439b043e0a9a3c400342f519ea21bd9fceb44714bcdbde0b42ff6c8e1bbc64232c55a2c09739bb118903dce22eaba746822fc58fc53036243be61586610492a8a583ee34809309aada9a03f7438debc2441586ae242f1cc99e85ddd05f602e6fb02b940dfad9a1c9ad9cdf0323be1eb1c9993171a73ec9ad4669f03dff470f708d8aefc14f857fc7f5cd1a6b03e12b1d8c5afb59b7e55b806d75e733d943cf489c8ad10f2b0190b9e10fa6e23b037e8fee0b22f92db6de2624e55dcb62334a2581d109d8cf1d92d4b2af1765e85b03877a2adcd6423fd801291ab687202082f6da3e5704a45ef200a9ffddaac4e9ee035cee714cdfbd5e98fdf7e73a0dfaeba6c61cc04cf1de2576147a0b07cfa958c803e403efa203fd78a03eb3a6066f776949b000dca7c2fab1ebe60a20b38822e41f0347035a256baf9c2690137026cdf9983fcd3c6c81083770d684bdd4b29b5c36d703e3098cc27f292f4d7f44a019f623654e84eeb1f6bf17db7dd9a0540e43c3e0ce031731f4875de7f61ee747b8d179b076d70f5683ea5cf3f018e684ba4cd3f8b8f20381e97f406d3d3f761e165a0d9bd87ad51f2a2f4aa04f6f93b3c4f279dede056c03d06f5229426d562d962d2e54d26eddf5bcf3fb19bebe8837a1a548984c2e32410349150fa0a56843905e1f8eee487c0d984638c3977d4d3f8f9e78974d545f4cf9036b7ce9e74857275fb4d18a4f5730dd528e1b6f00edf53c41210b8610d38634e503c361c0454180bfe6b572aad118eda3c5a9653c13ab5a273a10bc49468564b07e03bcf5aacdfbc8ec55ed62f2267b97489f1c0b7b861e07e394d44bd60dc80166da0373683fb97ff437e2d85c60e16a8a709b8793e58a228ea466b42990e819d5be1403170441b2c907d811c25014aadd24cd825f858d1f6719141833f83e872923fbcc0343d024cc25ea0e32a9fb3064db5d654e2545ccc6f77ad98996313203305ac45b033a94b2ac9271172775b71a888f84fe8cdce83003b3055497a7c4c4667ec4606903440675262156bd207f375da792aedb4d496e9569d481ab38c547672e68b3c3c0036425fe1957bf347375d7a8ea8b788d733b22220c416461f146df97e6dceeb28503d7c0d070ec99fca416f7a6c0f682f7c340623fe98f64b0647b68926e7a7cc41d03f2919d2009b5ff3ca9d6edabc47bb265171b26073dc1e92c97b36d00ad2586bf03122b0ddf8b276dd62e14359a022b7228a5023499f5d34701a716fce12fba0a5003205683689132d597bda26d0e9afd6e47b89b690626782629147b0b82c84670df035a2cc2026c3f60f705bbd5475e302011ad54fcd70d7b7dd6afbf249971891c10035ae070bc046d43ebeae974069466095c153b84a735107947ca129a3745cbc7c503363fcc6f298b38a261ae28bd3e758d2b7e0d9e1fdc9d63320e7cacb5869827d0035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503fb77ce379fe8ebcf5042a8d13e6de69e699c290a10536b0b13f8339fbe09e0c705581e037bfa156cc3b7d3880e61a239ab79533113c6bbf73c1e487f4e73dabb3007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031e378c8d93afda16f8a9c0f45e0ed4a64df101a017751e0a04156b39a007011bffffffffffffffff037e84cfb29b6a04388bc6959cfddee7344110556b9c4c073d6208ea7e95631c7d038461ef68ebe8d8a082e0a69705d42b2b740a87a4c3ee28e0a38ebea854b5b62101410605581e034124829474735f662081533f93aff2294a8f4e396986569f75b7ec8a100c014632ee841b80000304bd18fbf9064ee3460cfa7708d4d4b61d3f0c08c1ceaf3ea3052a11be66d42a05581e03ab32102fb57dd06d1c6cea2bec390b2dd9fef20472095b7e5b76f9b070040105581d027999adc1a6396862d5be9b33bdd21781e123f5f137e44d9d4573d43f040405581d02a43efbd7cb6e7d0d02620d9050a1f5731979b252f6e0c53994e11a3e0402045951ec6080604052600436106100ab5760003560e01c8063dc09c3e411610064578063dc09c3e4146101a7578063de116bb3146101e4578063debfda3014610200578063e16dd1ef1461023d578063f1a0ce9514610259578063fa461e3314610282576100b2565b80631ecd9cd8146100b75780632197159c146100f457806323a69e75146101105780634782f779146101395780635e35359e14610162578063ae9779c61461018b576100b2565b366100b257005b600080fd5b3480156100c357600080fd5b506100de60048036038101906100d99190613ca1565b6102ab565b6040516100eb9190614a5e565b60405180910390f35b61010e60048036038101906101099190613f7e565b6103d1565b005b34801561011c57600080fd5b5061013760048036038101906101329190613e59565b61045f565b005b34801561014557600080fd5b50610160600480360381019061015b9190613c20565b6105c0565b005b34801561016e57600080fd5b5061018960048036038101906101849190613bd1565b610705565b005b6101a560048036038101906101a09190613f7e565b61084c565b005b3480156101b357600080fd5b506101ce60048036038101906101c99190613c5c565b6108d0565b6040516101db9190614a5e565b60405180910390f35b6101fe60048036038101906101f99190613d62565b610a00565b005b34801561020c57600080fd5b5061022760048036038101906102229190613ba8565b610ab1565b6040516102349190614a5e565b60405180910390f35b61025760048036038101906102529190613ce2565b610b07565b005b34801561026557600080fd5b50610280600480360381019061027b9190613c20565b610bb6565b005b34801561028e57600080fd5b506102a960048036038101906102a49190613e59565b610de5565b005b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461033d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033490614a9b565b60405180910390fd5b60008251905060005b818110156103c65760016002600086848151811061036057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610346565b506001915050919050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040161042a9190614d5d565b600060405180830381600087803b15801561044457600080fd5b505af1158015610458573d6000803e3d6000fd5b5050505050565b600084138061046e5750600083135b61047757600080fd5b600082828101906104889190613ec5565b9050600080600061049c8460000151610f46565b9250925092506000806104b585858562ffffff16610f97565b9150915060008060008c136104f9578673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16108b61052a565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16108c5b915091508115610556576105518733836fffffffffffffffffffffffffffffffff16611126565b6105b2565b61056388600001516112eb565b15610590576105758860000151611306565b886000018190525061058a81338a868861132f565b506105b1565b8596506105b08733836fffffffffffffffffffffffffffffffff16611126565b5b5b505050505050505050505050565b6000808080548060200260200160405190810160405280929190818152602001828054801561064457602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116105fa575b5050505050905060005b81518110156106b4573373ffffffffffffffffffffffffffffffffffffffff1682828151811061067a57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614156106a757600192506106b4565b808060010191505061064e565b50816106f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ec90614cfb565b60405180910390fd5b6106ff84846114f8565b50505050565b6000808080548060200260200160405190810160405280929190818152602001828054801561078957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001906001019080831161073f575b5050505050905060005b81518110156107f9573373ffffffffffffffffffffffffffffffffffffffff168282815181106107bf57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614156107ec57600192506107f9565b8080600101915050610793565b508161083a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083190614cfb565b60405180910390fd5b6108458585856115a9565b5050505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108b457600080fd5b505af11580156108c8573d6000803e3d6000fd5b505050505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095990614a9b565b60405180910390fd5b60005b838390508110156109f55760006002600086868581811061098257fe5b90506020020160208101906109979190613ba8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050610965565b506001905092915050565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90614d1b565b60405180910390fd5b610a9f868686866115bf565b610aa98282611b29565b505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60011515600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9190614d1b565b60405180910390fd5b610ba6858585856115bf565b610baf81611b9f565b5050505050565b60008080805480602002602001604051908101604052809291908181526020018280548015610c3a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610bf0575b5050505050905060005b8151811015610caa573373ffffffffffffffffffffffffffffffffffffffff16828281518110610c7057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415610c9d5760019250610caa565b8080600101915050610c44565b5081610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce290614cfb565b60405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d846040518263ffffffff1660e01b8152600401610d449190614d5d565b600060405180830381600087803b158015610d5e57600080fd5b505af1158015610d72573d6000803e3d6000fd5b505050508373ffffffffffffffffffffffffffffffffffffffff1647604051610d9a90614974565b60006040518083038185875af1925050503d8060008114610dd7576040519150601f19603f3d011682016040523d82523d6000602084013e610ddc565b606091505b50505050505050565b6000841380610df45750600083135b610dfd57600080fd5b60008282810190610e0e9190613ec5565b90506000806000610e228460000151610f46565b925092509250600080610e3b85858562ffffff16611bac565b9150915060008060008c13610e7f578673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16108b610eb0565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16108c5b915091508115610edc57610ed78733836fffffffffffffffffffffffffffffffff16611126565b610f38565b610ee988600001516112eb565b15610f1657610efb8860000151611306565b8860000181905250610f1081338a868861132f565b50610f37565b859650610f368733836fffffffffffffffffffffffffffffffff16611126565b5b5b505050505050505050505050565b6000806000610f5f600085611d3b90919063ffffffff16565b9250610f75601485611e5490919063ffffffff16565b9050610f8e600360140185611d3b90919063ffffffff16565b91509193909250565b6000808373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161115610fd957838580955081965050505b60007341ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c9868686604051602001611005939291906149a4565b604051602081830303815290604052805190602001207f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e260001b6040516020016110519392919061492c565b6040516020818303038152906040528051906020012060001c90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156110e3577341ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c97f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e260001b925092505061111e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111590614b3b565b60405180910390fd5b935093915050565b6000808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b602083106111e857805182526020820191506020810190506020830392506111c5565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461124a576040519150601f19603f3d011682016040523d82523d6000602084013e61124f565b606091505b509150915081801561128f575060008151148061128e575080806020019051602081101561127c57600080fd5b81019080805190602001909291905050505b5b6112e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061518a602d913960400191505060405180910390fd5b5050505050565b60006003601401601460036014010101825110159050919050565b60606113286003601401600360140184510384611f5e9092919063ffffffff16565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611369573094505b600080600061137b8760000151610f46565b92509250925060008373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161090506000806113c98886888762ffffff168d612148565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088c858f6000038761140c57600173fffd8963efd1fc6a506488495d951d5263988d2603611416565b60016401000276a3015b8f6040516020016114279190614d3b565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016114569594939291906149db565b6040805180830381600087803b15801561146f57600080fd5b505af1158015611483573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a79190613e1d565b915091506000836114bc5781836000036114c2565b82826000035b80925081995050508c6fffffffffffffffffffffffffffffffff1681146114e857600080fd5b5050505050505095945050505050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405161151e90614974565b60006040518083038185875af1925050503d806000811461155b576040519150601f19603f3d011682016040523d82523d6000602084013e611560565b606091505b50509050806115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b90614b5b565b60405180910390fd5b505050565b60008390506115b98184846121ec565b50505050565b600084849050905060005b818110156119195760008686838181106115e057fe5b90506020028101906115f29190614e1b565b60400160208101906116049190613fd0565b60ff16141561167b5761167686868381811061161c57fe5b905060200281019061162e9190614e1b565b6116379061500a565b857f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f60001b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f612272565b61190c565b600186868381811061168957fe5b905060200281019061169b9190614e1b565b60400160208101906116ad9190613fd0565b60ff16141561171b576117168686838181106116c557fe5b90506020028101906116d79190614e1b565b857fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460001b731f98431c8ad98523631ae4a59f267346ea31f98461255d565b61190b565b600286868381811061172957fe5b905060200281019061173b9190614e1b565b604001602081019061174d9190613fd0565b60ff1614156117c4576117bf86868381811061176557fe5b90506020028101906117779190614e1b565b6117809061500a565b857fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c630360001b73c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac612272565b61190a565b60038686838181106117d257fe5b90506020028101906117e49190614e1b565b60400160208101906117f69190613fd0565b60ff16141561186c5761186786868381811061180e57fe5b90506020028101906118209190614e1b565b6118299061500a565b857efb7f630766e6a796048ea87d01acd3068e8ff67d078148a3fa3f4a84f69bd560001b73ca143ce32fe78f1f7019d7d551a6402fc5350c7361280e565b611909565b600486868381811061187a57fe5b905060200281019061188c9190614e1b565b604001602081019061189e9190613fd0565b60ff161415611908576119078686838181106118b657fe5b90506020028101906118c89190614e1b565b857f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e260001b7341ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c961255d565b5b5b5b5b5b80806001019150506115ca565b503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611957575060008214155b15611b2257600185856001840381811061196d57fe5b905060200281019061197f9190614e1b565b60400160208101906119919190613fd0565b60ff1614806119d5575060048585600184038181106119ac57fe5b90506020028101906119be9190614e1b565b60400160208101906119d09190613fd0565b60ff16145b15611a6657611a61611a5a8686600185038181106119ef57fe5b9050602002810190611a019190614e1b565b8060800190611a109190614dc4565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000611d3b565b8484611126565b611b21565b611b20611b19868660018503818110611a7b57fe5b9050602002810190611a8d9190614e1b565b8060800190611a9c9190614dc4565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506014888860018703818110611af057fe5b9050602002810190611b029190614e1b565b8060800190611b119190614dc4565b905003611d3b565b8484611126565b5b5b5050505050565b60008214611b9b578073ffffffffffffffffffffffffffffffffffffffff1682604051611b5590614974565b60006040518083038185875af1925050503d8060008114611b92576040519150601f19603f3d011682016040523d82523d6000602084013e611b97565b606091505b5050505b5050565b611ba98141611b29565b50565b6000808373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161115611bee57838580955081965050505b6000731f98431c8ad98523631ae4a59f267346ea31f984868686604051602001611c1a939291906149a4565b604051602081830303815290604052805190602001207fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460001b604051602001611c669392919061492c565b6040516020818303038152906040528051906020012060001c90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611cf857731f98431c8ad98523631ae4a59f267346ea31f9847fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460001b9250925050611d33565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2a90614b3b565b60405180910390fd5b935093915050565b600081601483011015611db6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f746f416464726573735f6f766572666c6f77000000000000000000000000000081525060200191505060405180910390fd5b6014820183511015611e30576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f746f416464726573735f6f75744f66426f756e6473000000000000000000000081525060200191505060405180910390fd5b60006c01000000000000000000000000836020860101510490508091505092915050565b600081600383011015611ecf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f746f55696e7432345f6f766572666c6f7700000000000000000000000000000081525060200191505060405180910390fd5b6003820183511015611f49576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f746f55696e7432345f6f75744f66426f756e647300000000000000000000000081525060200191505060405180910390fd5b60008260038501015190508091505092915050565b606081601f83011015611fd9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f736c6963655f6f766572666c6f7700000000000000000000000000000000000081525060200191505060405180910390fd5b828284011015612051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f736c6963655f6f766572666c6f7700000000000000000000000000000000000081525060200191505060405180910390fd5b818301845110156120ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f736c6963655f6f75744f66426f756e647300000000000000000000000000000081525060200191505060405180910390fd5b60608215600081146120eb576040519150600082526020820160405261213c565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015612129578051835260208301925060208101905061210c565b50868552601f19601f8301166040525050505b50809150509392505050565b60008373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16111561218957838580955081965050505b8585858560405160200161219f939291906149a4565b60405160208183030381529060405280519060200120836040516020016121c89392919061492c565b6040516020818303038152906040528051906020012060001c905095945050505050565b61226d8363a9059cbb60e01b848460405160240161220b929190614a35565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612af9565b505050565b60006122818560800151612bc0565b905060006122a68387602001516effffffffffffffffffffffffffffff168487612c93565b905085600001516effffffffffffffffffffffffffffff16816000815181106122cb57fe5b60200260200101511115612314576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230b90614c5b565b60405180910390fd5b61237a8260008151811061232457fe5b6020026020010151612360858560008151811061233d57fe5b60200260200101518660018151811061235257fe5b602002602001015189612de2565b8360008151811061236d57fe5b6020026020010151611126565b60005b60018351038110156125545760008084838151811061239857fe5b60200260200101518560018501815181106123af57fe5b60200260200101519150915060006123c78383612e0d565b50905060008560018601815181106123db57fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461242357826000612427565b6000835b91509150600060028a510388106124545760018e6060015160ff161461244d573061244f565b8c5b612477565b6124768b878c60028c018151811061246857fe5b60200260200101518f612de2565b5b90506124858b88888f612de2565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f848484600067ffffffffffffffff811180156124bb57600080fd5b506040519080825280601f01601f1916602001820160405280156124ee5781602001600182028036833780820191505090505b506040518563ffffffff1660e01b815260040161250e9493929190614d78565b600060405180830381600087803b15801561252857600080fd5b505af115801561253c573d6000803e3d6000fd5b5050505050505050505050808060010191505061237d565b50505050505050565b60006125cf8580608001906125729190614dc4565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060148780608001906125c79190614dc4565b905003611d3b565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161260c9190614989565b60206040518083038186803b15801561262457600080fd5b505afa158015612638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265c9190613fa7565b90506127128660200160208101906126749190613f55565b6effffffffffffffffffffffffffffff16600188606001602081019061269a9190613fd0565b60ff16146126a857306126aa565b865b60405180602001604052808a80608001906126c59190614dc4565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050815250878761132f565b508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161274c9190614989565b60206040518083038186803b15801561276457600080fd5b505afa158015612778573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279c9190613fa7565b810390508560000160208101906127b39190613f55565b6effffffffffffffffffffffffffffff16811115612806576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127fd90614c1b565b60405180910390fd5b505050505050565b600061281d8560800151612bc0565b905060006128428387602001516effffffffffffffffffffffffffffff168487612f3b565b905085600001516effffffffffffffffffffffffffffff168160008151811061286757fe5b602002602001015111156128b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a790614abb565b60405180910390fd5b612916826000815181106128c057fe5b60200260200101516128fc85856000815181106128d957fe5b6020026020010151866001815181106128ee57fe5b60200260200101518961308a565b8360008151811061290957fe5b6020026020010151611126565b60005b6001835103811015612af05760008084838151811061293457fe5b602002602001015185600185018151811061294b57fe5b602002602001015191509150600061296383836130ff565b509050600085600186018151811061297757fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146129bf578260006129c3565b6000835b91509150600060028a510388106129f05760018e6060015160ff16146129e957306129eb565b8c5b612a13565b612a128b878c60028c0181518110612a0457fe5b60200260200101518f61308a565b5b9050612a218b88888f61308a565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f848484600067ffffffffffffffff81118015612a5757600080fd5b506040519080825280601f01601f191660200182016040528015612a8a5781602001600182028036833780820191505090505b506040518563ffffffff1660e01b8152600401612aaa9493929190614d78565b600060405180830381600087803b158015612ac457600080fd5b505af1158015612ad8573d6000803e3d6000fd5b50505050505050505050508080600101915050612919565b50505050505050565b6000612b5b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661322d9092919063ffffffff16565b9050600081511115612bbb5780806020019051810190612b7b9190613df4565b612bba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bb190614cbb565b60405180910390fd5b5b505050565b606060006014835181612bcf57fe5b04905060008167ffffffffffffffff81118015612beb57600080fd5b50604051908082528060200260200182016040528015612c1a5781602001602082028036833780820191505090505b50905060005b82811015612c8857612c358560148302611d3b565b828281518110612c4157fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508080600101915050612c20565b508092505050919050565b6060600283511015612cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd190614bbb565b60405180910390fd5b825167ffffffffffffffff81118015612cf257600080fd5b50604051908082528060200260200182016040528015612d215781602001602082028036833780820191505090505b5090508381600183510381518110612d3557fe5b6020026020010181815250506000600184510390505b6000811115612dd957600080612d8c88876001860381518110612d6a57fe5b6020026020010151888681518110612d7e57fe5b602002602001015188613245565b91509150612dae848481518110612d9f57fe5b60200260200101518383613359565b846001850381518110612dbd57fe5b6020026020010181815250505050808060019003915050612d4b565b50949350505050565b6000806000612df18686612e0d565b91509150612e018785848461341a565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e7690614b7b565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610612eb9578284612ebc565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612f34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f2b90614c9b565b60405180910390fd5b9250929050565b6060600283511015612f82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f7990614adb565b60405180910390fd5b825167ffffffffffffffff81118015612f9a57600080fd5b50604051908082528060200260200182016040528015612fc95781602001602082028036833780820191505090505b5090508381600183510381518110612fdd57fe5b6020026020010181815250506000600184510390505b6000811115613081576000806130348887600186038151811061301257fe5b602002602001015188868151811061302657fe5b60200260200101518861347c565b9150915061305684848151811061304757fe5b6020026020010151838361359d565b84600185038151811061306557fe5b6020026020010181815250505050808060019003915050612ff3565b50949350505050565b600080600061309986866130ff565b915091508682826040516020016130b19291906148e9565b60405160208183030381529060405280519060200120856040516020016130da9392919061492c565b6040516020818303038152906040528051906020012060001c92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415613171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161316890614bdb565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16106131ab5782846131ae565b83835b8092508193505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613226576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161321d90614c3b565b60405180910390fd5b9250929050565b606061323c848460008561365e565b90509392505050565b60008060006132548686612e0d565b50905060008061326689898989612de2565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156132ab57600080fd5b505afa1580156132bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132e39190613f06565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614613342578082613345565b81815b809550819650505050505094509492505050565b600080841161339d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161339490614b1b565b60405180910390fd5b6000831180156133ad5750600082115b6133ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133e390614bfb565b60405180910390fd5b60006103e885850202905060006103e5868503029050600181838161340d57fe5b0401925050509392505050565b60008483836040516020016134309291906148e9565b60405160208183030381529060405280519060200120856040516020016134599392919061492c565b6040516020818303038152906040528051906020012060001c9050949350505050565b600080600061348b86866130ff565b50905061349a8787878761308a565b506000806134aa8989898961308a565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156134ef57600080fd5b505afa158015613503573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135279190613f06565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff1691508273ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614613586578082613589565b81815b809550819650505050505094509492505050565b60008084116135e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135d890614afb565b60405180910390fd5b6000831180156135f15750600082115b613630576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161362790614cdb565b60405180910390fd5b600061271085850202905060006126f7868503029050600181838161365157fe5b0401925050509392505050565b6060824710156136a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161369a90614b9b565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516136cc9190614915565b60006040518083038185875af1925050503d8060008114613709576040519150601f19603f3d011682016040523d82523d6000602084013e61370e565b606091505b509150915061371f8783838761372b565b92505050949350505050565b6060831561378e5760008351141561378657613746856137a1565b613785576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161377c90614c7b565b60405180910390fd5b5b829050613799565b61379883836137ba565b5b949350505050565b600080823b905060008163ffffffff1611915050919050565b6000825111156137cd5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138019190614a79565b60405180910390fd5b600061381d61381884614e70565b614e3f565b9050808382526020820190508285602086028201111561383c57600080fd5b60005b8581101561386c578161385288826138b4565b84526020840193506020830192505060018101905061383f565b5050509392505050565b600061388961388484614e9c565b614e3f565b9050828152602081018484840111156138a157600080fd5b6138ac848285615041565b509392505050565b6000813590506138c3816150d1565b92915050565b60008083601f8401126138db57600080fd5b8235905067ffffffffffffffff8111156138f457600080fd5b60208301915083602082028301111561390c57600080fd5b9250929050565b600082601f83011261392457600080fd5b813561393484826020860161380a565b91505092915050565b60008083601f84011261394f57600080fd5b8235905067ffffffffffffffff81111561396857600080fd5b60208301915083602082028301111561398057600080fd5b9250929050565b600081519050613996816150e8565b92915050565b60008083601f8401126139ae57600080fd5b8235905067ffffffffffffffff8111156139c757600080fd5b6020830191508360018202830111156139df57600080fd5b9250929050565b600082601f8301126139f757600080fd5b8135613a07848260208601613876565b91505092915050565b600081359050613a1f816150ff565b92915050565b600081519050613a34816150ff565b92915050565b600060208284031215613a4c57600080fd5b613a566020614e3f565b9050600082013567ffffffffffffffff811115613a7257600080fd5b613a7e848285016139e6565b60008301525092915050565b600060a08284031215613a9c57600080fd5b613aa660a0614e3f565b90506000613ab684828501613b3f565b6000830152506020613aca84828501613b3f565b6020830152506040613ade84828501613b93565b6040830152506060613af284828501613b93565b606083015250608082013567ffffffffffffffff811115613b1257600080fd5b613b1e848285016139e6565b60808301525092915050565b600081519050613b3981615116565b92915050565b600081359050613b4e8161512d565b92915050565b600081359050613b6381615144565b92915050565b600081519050613b7881615144565b92915050565b600081519050613b8d8161515b565b92915050565b600081359050613ba281615172565b92915050565b600060208284031215613bba57600080fd5b6000613bc8848285016138b4565b91505092915050565b600080600060608486031215613be657600080fd5b6000613bf4868287016138b4565b9350506020613c05868287016138b4565b9250506040613c1686828701613b54565b9150509250925092565b60008060408385031215613c3357600080fd5b6000613c41858286016138b4565b9250506020613c5285828601613b54565b9150509250929050565b60008060208385031215613c6f57600080fd5b600083013567ffffffffffffffff811115613c8957600080fd5b613c95858286016138c9565b92509250509250929050565b600060208284031215613cb357600080fd5b600082013567ffffffffffffffff811115613ccd57600080fd5b613cd984828501613913565b91505092915050565b600080600080600060808688031215613cfa57600080fd5b600086013567ffffffffffffffff811115613d1457600080fd5b613d208882890161393d565b95509550506020613d33888289016138b4565b9350506040613d4488828901613b54565b9250506060613d5588828901613b54565b9150509295509295909350565b60008060008060008060a08789031215613d7b57600080fd5b600087013567ffffffffffffffff811115613d9557600080fd5b613da189828a0161393d565b96509650506020613db489828a016138b4565b9450506040613dc589828a01613b54565b9350506060613dd689828a01613b54565b9250506080613de789828a016138b4565b9150509295509295509295565b600060208284031215613e0657600080fd5b6000613e1484828501613987565b91505092915050565b60008060408385031215613e3057600080fd5b6000613e3e85828601613a25565b9250506020613e4f85828601613a25565b9150509250929050565b60008060008060608587031215613e6f57600080fd5b6000613e7d87828801613a10565b9450506020613e8e87828801613a10565b935050604085013567ffffffffffffffff811115613eab57600080fd5b613eb78782880161399c565b925092505092959194509250565b600060208284031215613ed757600080fd5b600082013567ffffffffffffffff811115613ef157600080fd5b613efd84828501613a3a565b91505092915050565b600080600060608486031215613f1b57600080fd5b6000613f2986828701613b2a565b9350506020613f3a86828701613b2a565b9250506040613f4b86828701613b7e565b9150509250925092565b600060208284031215613f6757600080fd5b6000613f7584828501613b3f565b91505092915050565b600060208284031215613f9057600080fd5b6000613f9e84828501613b54565b91505092915050565b600060208284031215613fb957600080fd5b6000613fc784828501613b69565b91505092915050565b600060208284031215613fe257600080fd5b6000613ff084828501613b93565b91505092915050565b61400281614fe6565b82525050565b61401181614f2b565b82525050565b61402861402382614f2b565b615083565b82525050565b61403781614f3d565b82525050565b61404e61404982614f49565b615095565b82525050565b600061405f82614ecc565b6140698185614ee2565b9350614079818560208601615050565b614082816150b3565b840191505092915050565b600061409882614ecc565b6140a28185614ef3565b93506140b2818560208601615050565b6140bb816150b3565b840191505092915050565b60006140d182614ecc565b6140db8185614f04565b93506140eb818560208601615050565b80840191505092915050565b61410081614ff8565b82525050565b600061411182614ed7565b61411b8185614f0f565b935061412b818560208601615050565b614134816150b3565b840191505092915050565b600061414c602283614f0f565b91507f4f6e6c79206f776e65722063616e2063616c6c20746869732066756e6374696f60008301527f6e2e0000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006141b2602783614f0f565b91507f50616e63616b655632526f757465723a204558434553534956455f494e50555460008301527f5f414d4f554e54000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614218601c83614f0f565b91507f50616e63616b654c6962726172793a20494e56414c49445f50415448000000006000830152602082019050919050565b6000614258602a83614f0f565b91507f50616e63616b654c6962726172793a20494e53554646494349454e545f4f555460008301527f5055545f414d4f554e54000000000000000000000000000000000000000000006020830152604082019050919050565b60006142be602c83614f0f565b91507f556e697377617056324c6962726172793a20494e53554646494349454e545f4f60008301527f55545055545f414d4f554e5400000000000000000000000000000000000000006020830152604082019050919050565b6000614324600183614f0f565b91507f45000000000000000000000000000000000000000000000000000000000000006000830152602082019050919050565b6000614364601483614f0f565b91507f4661696c656420746f2073656e642045746865720000000000000000000000006000830152602082019050919050565b60006143a4602583614f0f565b91507f556e697377617056324c6962726172793a204944454e544943414c5f4144445260008301527f45535345530000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061440a602683614f0f565b91507f416464726573733a20696e73756666696369656e742062616c616e636520666f60008301527f722063616c6c00000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614470601e83614f0f565b91507f556e697377617056324c6962726172793a20494e56414c49445f5041544800006000830152602082019050919050565b60006144b0602383614f0f565b91507f50616e63616b654c6962726172793a204944454e544943414c5f41444452455360008301527f53455300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614516602883614f0f565b91507f556e697377617056324c6962726172793a20494e53554646494349454e545f4c60008301527f49515549444954590000000000000000000000000000000000000000000000006020830152604082019050919050565b600061457c600183614f20565b91507fff000000000000000000000000000000000000000000000000000000000000006000830152600182019050919050565b60006145bc601283614f0f565b91507f546f6f206d7563682072657175657374656400000000000000000000000000006000830152602082019050919050565b60006145fc601c83614f0f565b91507f50616e63616b654c6962726172793a205a45524f5f41444452455353000000006000830152602082019050919050565b600061463c602783614f0f565b91507f556e69737761705632526f757465723a204558434553534956455f494e50555460008301527f5f414d4f554e54000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006146a2600083614f04565b9150600082019050919050565b60006146bc601d83614f0f565b91507f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006000830152602082019050919050565b60006146fc601e83614f0f565b91507f556e697377617056324c6962726172793a205a45524f5f4144445245535300006000830152602082019050919050565b600061473c602a83614f0f565b91507f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008301527f6f742073756363656564000000000000000000000000000000000000000000006020830152604082019050919050565b60006147a2602683614f0f565b91507f50616e63616b654c6962726172793a20494e53554646494349454e545f4c495160008301527f55494449545900000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614808600f83614f0f565b91507f77697468647261776572206f6e6c7900000000000000000000000000000000006000830152602082019050919050565b6000614848602283614f0f565b91507f4f6e6c79204578656375746f72206d61792063616c6c2074686973206d65746860008301527f6f640000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600060208301600083015184820360008601526148be8282614054565b9150508091505092915050565b6148d481614f9f565b82525050565b6148e381614fbf565b82525050565b60006148f58285614017565b6014820191506149058284614017565b6014820191508190509392505050565b600061492182846140c6565b915081905092915050565b60006149378261456f565b91506149438286614017565b601482019150614953828561403d565b602082019150614963828461403d565b602082019150819050949350505050565b600061497f82614695565b9150819050919050565b600060208201905061499e6000830184613ff9565b92915050565b60006060820190506149b96000830186614008565b6149c66020830185614008565b6149d360408301846148da565b949350505050565b600060a0820190506149f06000830188614008565b6149fd602083018761402e565b614a0a60408301866140f7565b614a1760608301856148cb565b8181036080830152614a29818461408d565b90509695505050505050565b6000604082019050614a4a6000830185614008565b614a5760208301846148da565b9392505050565b6000602082019050614a73600083018461402e565b92915050565b60006020820190508181036000830152614a938184614106565b905092915050565b60006020820190508181036000830152614ab48161413f565b9050919050565b60006020820190508181036000830152614ad4816141a5565b9050919050565b60006020820190508181036000830152614af48161420b565b9050919050565b60006020820190508181036000830152614b148161424b565b9050919050565b60006020820190508181036000830152614b34816142b1565b9050919050565b60006020820190508181036000830152614b5481614317565b9050919050565b60006020820190508181036000830152614b7481614357565b9050919050565b60006020820190508181036000830152614b9481614397565b9050919050565b60006020820190508181036000830152614bb4816143fd565b9050919050565b60006020820190508181036000830152614bd481614463565b9050919050565b60006020820190508181036000830152614bf4816144a3565b9050919050565b60006020820190508181036000830152614c1481614509565b9050919050565b60006020820190508181036000830152614c34816145af565b9050919050565b60006020820190508181036000830152614c54816145ef565b9050919050565b60006020820190508181036000830152614c748161462f565b9050919050565b60006020820190508181036000830152614c94816146af565b9050919050565b60006020820190508181036000830152614cb4816146ef565b9050919050565b60006020820190508181036000830152614cd48161472f565b9050919050565b60006020820190508181036000830152614cf481614795565b9050919050565b60006020820190508181036000830152614d14816147fb565b9050919050565b60006020820190508181036000830152614d348161483b565b9050919050565b60006020820190508181036000830152614d5581846148a1565b905092915050565b6000602082019050614d7260008301846148da565b92915050565b6000608082019050614d8d60008301876148da565b614d9a60208301866148da565b614da76040830185614008565b8181036060830152614db9818461408d565b905095945050505050565b60008083356001602003843603038112614ddd57600080fd5b80840192508235915067ffffffffffffffff821115614dfb57600080fd5b602083019250600182023603831315614e1357600080fd5b509250929050565b60008235600160a003833603038112614e3357600080fd5b80830191505092915050565b6000604051905081810181811067ffffffffffffffff82111715614e6657614e656150b1565b5b8060405250919050565b600067ffffffffffffffff821115614e8b57614e8a6150b1565b5b602082029050602081019050919050565b600067ffffffffffffffff821115614eb757614eb66150b1565b5b601f19601f8301169050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000614f3682614f9f565b9050919050565b60008115159050919050565b6000819050919050565b600081600f0b9050919050565b6000819050919050565b60006dffffffffffffffffffffffffffff82169050919050565b60006effffffffffffffffffffffffffffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b6000614ff18261501d565b9050919050565b600061500382614f53565b9050919050565b60006150163683613a8a565b9050919050565b60006150288261502f565b9050919050565b600061503a82614f9f565b9050919050565b82818337600083830152505050565b60005b8381101561506e578082015181840152602081019050615053565b8381111561507d576000848401525b50505050565b600061508e8261509f565b9050919050565b6000819050919050565b60006150aa826150c4565b9050919050565bfe5b6000601f19601f8301169050919050565b60008160601b9050919050565b6150da81614f2b565b81146150e557600080fd5b50565b6150f181614f3d565b81146150fc57600080fd5b50565b61510881614f60565b811461511357600080fd5b50565b61511f81614f6a565b811461512a57600080fd5b50565b61513681614f84565b811461514157600080fd5b50565b61514d81614fbf565b811461515857600080fd5b50565b61516481614fc9565b811461516f57600080fd5b50565b61517b81614fd9565b811461518657600080fd5b5056fe5472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564a2646970667358221220c809513013001cbb480b5861b29f2c58636d2e7040df7996cb767317ddae690564736f6c634300070600330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041020058210310e4e770828ddbf7f7b00ab00a9f6adaf81c0dc9cc85f1f8249c256942d61d9054fabcfeca5ed5224e48fbb55a46f671d32d814dd200582103c13d8c1c5df666ea9ca2a428504a3776c8ca01021c3a1524ca7d765f600979a05413354a8392fc72982758d00dfc6fdbc79c0f8a96032fc381fc53b08a3b2f0d1239bda530870cfc41d8dc55f732beedc87da2604cbe005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65413354a8392fc72982758d00dfc6fdbc79c0f8a9600582002ed6b134985b05787602f185bba0bfbc27d316c899d8cd193a7e7c874e86d204101021882005821039eaa3e9eb7c0d8890fc0a5b1dfaa9abeba050e560981f241a57d156a00e6d220410102192a6405581d0228c556bd11666700943946bc5101769eed3d7436e2b832152fa9a6370f0149013f17768e975fc9431951ec0219181005581e03d9635c429f25437c0dbd52aab5ba186c374635cef4b15cbefe6c1f1000040103c12b011fd8dd28e43e78e363c125b13b56fc765d88c1bb548ff7cddb9def4c4803d9f590900fa18265b0f4801289f890629bbc9d30369a539345341e132cc1da0602197aeb03db0f89f3955360f9f8d6a0b73321b2e4dd1088e2258e6675e2341be46d48c3a60219ffff03264402cfba0347ee20568399e37be69a323ab4cab8a4914f8ea413af89beaf710325b46d016b9cf67deaae41f48847860b3d6fa5b9a783fe69c1f6b544558d50ef0399410e73985d054bc33f264f3fb0ce1953ce233153ea809909172c3082058064038d195f973558279a66942ff04ef8911a1cbce50c9d5ede3cc13081541ff72c2f03db9678f97d0fa1245ab87b72870d55049966f6f3b12cc15eff50b0f05703bcfb0305fc9e82b1692483705527edbd60def596637e46d7ce0170edb94f983b73475b0341556a86d35c4501a4c9d72e24e434bc690e816d9bc910dd2bbf24a6ac03c0de03c34b3b1ebc09ac4617386942afdfc047bd2a45314e17e8efa70eb23b21d43a3703d89d2d01920ab7d67ff2203ea37d50516a161e3d0ebe983b7b7032125872589b0219ffff034e55857dd5c9c51c503f281da2a2acc3aac63fa4c89ee8d245a6322b7e5f1e10031df3e8f9375a4d63641af3cf300caeac6993a0a2be89d2a60bc6b476fafe8cfe03f16c78dfcf5dcc65057cc9c196d65634cafe66f6fd739726ee6c30107d9a959403f69e5a33a18b9dcfdb9e0eaf639f3f801a4673bfa13f7b5ac499a470ab6fcf6703b609f7f3c5df0c716b85f4b9b240a595d188652d2b0f61bf5001ec6d9a4cb2ee03973fe428f04e0e4f65a1006601d5f5ce8871f17c3443bd800f9042a538340e1a0219ffff033a4cddf599ba01106dd85e6a98250fd178306b0ab7bddda6beda1a6e1b352f6503f6cd58a8c08659436907d9266cf45ad6222baf65642d2103f368343278ac448f03ee24cfc33ebd7b63c24aafb6a55eda189ad0b426382637cdcda63f8d2080a4af03b5226978929668e50a31359bf41061c51c79a6adf3a5680af59c7ccc5c4b515103437704ec7946a6fe213b053d959aafa599216d8a09b4b06e2bc72b799b10cd2e032201962f249eb92f83d051c5c7c356225be34ab5eb6a6cc8f1296d71d7b09efe034880d2a5f0456402504435aaf96f1c242b75c52b7b6213a532d3d1cb7206969003a66072f8db8605fb7be53095cf983ae2fb2d9c409fadbe7f3e55daad207b4da103d9476309145b18f86c1abb30f6329f0f2bd07cc1f35f91ddbcd79467e51950c103118ed9a0aad39d1d629f8c9f7b078ff46ebdd3a6db7694fd73efe7f8c2500841032bc98a973d9b69c8d2974d8b850d1d52b3a5e55b5ed78aa572572e9b2dd097d6037fa7aa8a1c41440e58c4db56ab2f91f0279e5321a085a6eba0ed27852a298db103129408f65e9c5f7cce260ddd0da728d274473a7e6cc06be2a92c7ebea279ac6e03a33f907c3c478fa15c0179a16853f7ff0873a78dafcdd3a970125f93b672fb0e03e05f6f13cc80facc3613c3b67f9122bef749c8925180b22365cfc9547fa9e2b203d8721c19a41423fb80e0c9a8d2e4a89b07ccac70ac57cce1150895bf05f112b9032271188288b6045895bfa4654bd8249882e94b8bbf25b9ccf8a3a40ac0a82ca903fafddd694eadd3e7825a57dd24f07cc8d32cd7f64ff6eb921f92cf3646e8ad1f03d4e88d08da679089108f45c5424d812f2f67308d3c4b89bf2a8ce3d2d8a978d90375413e0b074308672446a093084855e5ee5622e0fb60d6dc57dbd9ec2eb06e9103973a0b829b1df672d201bdc2a3b481c672e3ab579d377e3671780461cacb6d8203a6929b837c4c6fb373a626a79b086c7284999611d53ee80221b459be4ea533e203967852e759a62a0e2a6615847003ddd8e637595d799cbd63c11724b66fa5576803e4c653ab7198c7d8d952a97ab8e260059dfac96b5f380be75c8e05865f4e9c7603821aba558d3bfaf3d841162c17da9877e2ac1fcc704b361d2bd28663a520ef5f0302ea17f6281dbf095f807f903b0c0f51574d5250da24052bb2f2e0edc27050ce03e704942f18ea9a7630813de109de8bfe2b519403ec1003c60a31f3130d750ebe030c19157a1df352b18b621a886059569e43e07136d234200aefff1bb377cdfd450351b51bb75d03469a003c5b2879872776c61dff0232aa0b09e9e723e45abebe6d03421c3e053a7c55a2f23a2be6f6bffb212a0fce5cb59a5ac800ef03948c81d4230327429404c2e4c373b6e3f7c2acb8c258c5344555b0e48a51e711c4714d9a061f036bfb2983543a9b2e88a58be4505ddc9dacb2f7c2897512c71daf988c77074e7903915313a531a2b74b053570169f4caf077fd2954ed325cbaa38f7acc48f71950d037067c9da417681650cd03a154c5d710c7b22dccf89135e7b1f9e4692074e368f037e03bdce3aa2ab26f5317c5eebd5475701adb94c7d6ffe3edac64b8a94adfbbf03e7809333896bd9765d8c711b20d79b0871b2aded29ffb96a4617afd0494b0149034c9916846bcc88ea830ef85910007e09806482a6cc0ceabe15a7121b2318b0070378cfb0e522c928b243538cdde533a6d5d0fb96c454f3f7a102138b3eb0d44db605581d02f717a34b4df20eff8d3218b0fc5bd7f6f1d7888ad8131a9c4200d47d0c024732106f6b4aedc105581d0254f9ee547c175c42cb0b02dbf61230af19022276a22297de8051e83f0c0b4745e46097f8267802194010035a37b212e53c4dc5650f97fe2365cced2589a464c866621be62d1e96d35de8ca05581e0321c1be1736685492ee0708419bba863d5542421c9def23d0041676f2c00c0547837d336d8da64205581e03192cb462a67713cc06481f29729d3ce9716c3f1918fba6e5dde744ff300c0146bd4148a8a21805581e03a742270d6538e280e17860d73adf3a7ce0a7a5edf687eecc5d17420ed00419197105581e0318d799b56f66e26f9bda5d3bcf1cfb174a11284963cfd69705864af4500404036fcaa574ea74c6d2ed48e95cb050134ca81b00d574095351bc87d3c8e7eeeb3b05581e03467c592c797d3af808ac3bf549a175de1df21f3ac7769ba3fd8aaadc20040103abb95a02b9c69d15e0a8baeb4d31112f344067edbbc302844c4e93975bf97a3905581e037ed59a1ccbfb08e6631704bbd808dc4b1ce31931ce15b01791292784d00c183c47011a046fec9288038b80edcc453f6ced232ce9165065a9c6acf5ff16014ee3f1d5b2b93f47c8431201410b05581e03be08cc70c192b3e591f0c9555f7ba91b9264374149d79ae02483fa4ed0040105581e03e111aa2f1efddd3f0ee87d3d2e001afee3517c2bcf1b011eeade53900004010219ffe60344dddfddf43e754c40e6f993bac9549d10528ec355a5c6f9798d4c063ca6e3810219ffff0369992e5bdc5fe338f4c9c9ca256520a0b72b44b83400a77bc576d3334640680703496bf8eedae52f3cf6a5da2231a286cda868868e5697c36f161e3c423c317b920345c09b42302fcee37507a6876d7a4ae901db5640de03c6bf4caea18137811e45036008db29759a2e977a8d9828f836f3272f49d7c16934628a59d6671c215e15bd035666ed49eea4c1a0f2722a32843adfe9156e03689eeba8a604eb21e16dbd14fb03ce28809bf750c49267eb105990b1724a1b58d523d6df50e35acede74458281fe037afd8a6f48a1a738e6448d76595f93d17d90f5b4bd15c9f68cfbb98e4e9cf8a603feb279a68fcfd7bca3448f7ad21800e834aabb28744479e51ab63d7a7b1727e603755518d8a013a195ee98e056c2c2a3ddfe5c1204434f0e4d31373b35344852150219ffff0369b6bccb13509369f33bb8d02944e8b8d13faa410f9eeab26cc58f392849e67d03f9d80df128c8ce18b2f5f4201923fb446263950ce499a116455ec71d3293ae80032de3d54599bfb0e0ca7382808c92a2a66ca331a18b549168369c739c10f0f28f0330b39358904db548180707e4259aabb807ed4890f42ded956720927cafc71d920219ffff03121c794974f46b452c09470e760f92a043459d3fb1f8e22e83ebf035e1cc8e880302ef3361c8f8898fd68dac817e8164eabea56c8188541d80bbbcec303932d83403b4558ecf148fba46d964280bbe733395d05673812d3c550ee0b831255af3e7f5035c3fd1118eb4dc0a1062d7fa7e043ec2cd8181e23e6e45d06309bb725c0eefab0219ffff03dafe8a89b789851e8e45ec617d712b14c8641be4fa77da1eae3b510713ffd95e03f8722269e956229202fe18b1826ed2cfa0bf8685720b8533451772b9288b33660348e032c7ceb89e1bfaf4ddda434db663eaa9441c701554bbf492e3800499984f0340e9ef8c745a6f29a2f4365af38d8f0ef3c1fca50059667f3e1f38898deb8e45032b17b165e8a9b41be67902cc5cfaebd79f27baccb6fb201a7803e2c8c884015503929d4ed0e03a83adc25a43ed87023abfcdfff9084ff67828b6db0a81b4b1090503db7a9fe12b8fd8eea9a381bf6b94b1a6691cdf077bc6a0369f9d3750ac639771032f82afb4a3877d178ab619c61068825060a0a5c69f78838168a7add747e6aed5039c20c71c9464933115bd835cb1931e96e3b794ddf5af06f34d7782f103270a2203a30d913accc24400a611f122374881ba6550301529e29f381fadf9a8bf9f7fb80367d556576751b6d4404ce2a3362560f14a47f9ed53d84dfd09c9daf4d2421e4703a895f18d80ab624bbddf2eabd7986ca6a927fdcafebd1a730059c39e9740e764036cad7c7d738d33ae5a3170e07531180fa99e13db99fbb5a17e44d16ee26fde0e032adbbfe28a71b2d2b3cbc32ac333aa20e4bebbb3a1c682ad8625c523ce52947e03489d437092d19be27c198beeba78d0ca0c3cc7bda2ec5615e6bc66458233defd032fe56b2dc8a82512de00fea4d5eaead5da878363a846df89e9c700b55094c0e50398e17fc5fa0dfc84c433b33f3f88c07abe61d30298398b9a7db49405b54371e5039f7e12fa30f096424b81515506bf31501a7dcc9c1f0ac8e5dcee4f1f9e74733d0343055ced1a650e2666b547d8685ad8fed4e121e7017cda4ee80be52e1b2f342d03131e2a8fcc30dd5296eeec0902fe55dddde8455ebb5331ccdc32bf5a751908bd036c8a7d01c9cb55217447713583157812a3070ea648dc554b1d9ca0112738110f03a21f7cfcc4ae3e9c51f342e66e5351ea01007e97e7e56c33ae455ce13e5ef353037e9ebc3f3f814049671ccd213aede482d1a3746e540c8e0c2ee7adf323d3b5ff0356b363ce012bb53738cc1bf613220e432b1dba8a57ab13419e6afd26f578a4e603ee7e61359a1ee6ed13578c54dc0935c6cdcf4119d853a216fcf3462bebbb5afb038cfb3ef7b27c6ecfda8a074a5fa9ba456a1508958bf7921572d56d1f30fc16320392b6c8eef293b71c23f9d5cfe2b509e69a0bec91ee89dbb9e91e8569e365804203596cfeb7748d9a2f6be737e85b898fa278a66363f928268042e6a183b46ac85e03f35793f8e094b9066a87c1054694870254e89848d4a0e7605a654bcaaa5c3c6403816aa62d6a17264058d14da83e4d82be3a689fb5ae771638d0d65de36123b31803a4f3f8dfc62bdd1dcfa163e1c70f8b5cb693bb895e554e0889b5fbeb4fef70ff03bb48f3c7e0f8b257914043ddb62cc1940168b2772dee5aa99c3760c8c7c2f06e0369ce9275545934a45d40866ac790c0c150e5a67f47272eb11c2dccd95ca7db1d035000e134e9cb3d028ecd2a7cceb03c15266d5a3346fba3997bb53549e77bc6920327a86296f5281f384199135b2562a2c2e64d79b6e826081a666553bbb5faa0b403c3cf110706c3409b5f5a675ecd9bfde235e6f7b0e64b8263f380fcaeeae93bf8033ffee8459fc4696add233ae97aebbda481918cbc94f576c9ddcda71635811dc505581e038265948b6b9a87ae7b1df64e77d778d0a0894032affa0fdf0f10d98be0040105581e03cf82d5dce4094b064c43e1bbf0f56d25b16f89ef9d25e237baa4137a300c0248016060396bc8adfa032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581d021fd700555c385e2b8bf244466296754c65b85cb600b42832988c824307011bffffffffffffffff05581d0294b7ebecbac20a9da5d0792f72a4eb1511746287cfb6a280f67b01ca0847db5f450885c40005581d028033ef9aff49cb99de6c63c6d93b19329aa37e7977232608468ac2e70c104757ba332cd82b4b0219024805581e031c4ddf0ad8f681effb7acd1991eec656b039d9a8531d6ca5f98c697f000c02470159151187ac0003261364b57cfd16fc74e4eb60fade06971aad3d23e973acb88f19aad98714f01d05581e030d74e02b349fca6b85d8e0d30fe039f8af1ae7c8629eeba0a483cd5360040105581e03559060c4c79e756d44e6115346ff3cdef76d4df8d5fbb1d6476232cb70040105581e0304575ec1647f147027f9823c9275bd4d8ed8ae6d452be3a1b62a650150040205581e03988a3f7aebf865db3f8db7da196be765d1361a9a0600fc1122de1baaf00c02472d6aaf904dfe1802197c5f0359ceccb841129f7cd7c61e3fc7a62e430ffb0e63d3b6942b2a649855323683f303c771f104d86cda6471add341d5c795ba8d1d1c7dc5c399a365ff2e2415019ab403ba4d385e7f2a6205028186d71b351f00af415deb9f637bad81c0d64f347528780219ffff033b029815e71e869b249c16a81780822d5a1eeea78ad12afd1defe47d616441eb0219ffff03e03bc3c231b7f93b39d65750a5e3cdbbb4c7823e18ffe258d78d3e64f73ce53203a17b8ccf7dcbc368051fbe5df8365849482e21de2c852910bc46e7c13e102be603fa0cd7570f16c0c7c1fe09bb88a9984b420acebd77ce2cdad56798dd6587595703e46563b96a68d4f9c5cdf81f9a53cb3e4b6a5e77331f52b2bd560a44f685d29c03c6ee31c51339d6c26dd5775384a6df7e4aa37130413da6aefe7d373ce7d700ff0383a22528707691cf3e25c7fe267a78df650cd8af5819aa102117f8b74e7c908e036b4ddb2382309f2b7ffbe2f04110604b5fa8670d90fd609c06bfdd9775f02337036f6bf6024c7b171163914ee677483d3eb13356affef120b01b8a74706217ff6b05581e038b718509137df671970fe9e0e56daaebb988fac7fcf74760f5ec0181900c104699282e432f5403f982899539b8115e04cfb8d737b828f3e48c1583d9c2b2c5e0d4c17f6137a87105581e03c56b3a3a2e336c7a5f8be5964caf880f60dba6eadff46a59466a6f30600c014714d712e805afd005581e03542e2a0cbc3efaa1985a6279129272437801398eb859982dd396d0f7f00c024627df6c7e584c05581e039b91b507ffee750a6924e8a398addab46fa411cd2c87c09bde32c5a3b00c181c4808215f3ccd0b56b205581e0376077120d3e73fcf85a22e8fee0f8485e5989788857b7d61d38387d6300c044703e749f78b5ef805581e034f34088d2a166f13717c7bea01f346a1b00dd11e60babd37c9bfef29900c014642d6f4f2fe0005581d02eb1ced85e81839248096cbf5176fefb2df4988547be74c62e1581a6c08470665172898800005581d020ae6c5f151cc20abf9f997288d89dd511e35b2f1d16126978ac1980104010219060005581e03dd948e3af955844560dedaa6069d8761a4445019dac079b7877c2001e008470509cf1b08e00005581e03a193eb2c5a4f4c54fbd9b146d96449d62c8e57078cc7aa53a56b6368000c0247016f75f807ef480219aa6f0398c4762871bb84ad6c209337749707cc150e130f80df3ecc2f822a59211a2fc30376bddf258f7cc02d11e36cbf396f01c5b790c61f92673554ce9e43ae80c7476c0343e2ab54988354d779c61fdc3e6ff4ba845aa6e1b0d67ca966cf4dbd526e0232038de990e0ad1d2826f3a6111c17ded6b0ecdd74e3523e5c4f42306c44b13a5d0203014fe1079a64cf2dcd3a0fc8d402a32ae4525fffac1f05672826fe695a3e7f0203eefc424a0bc1b8d5c131e3d44cf9f2f3a0f0f35e7c6855f2ced4c29b2f8a1d6b0350cae3b6f4fe44083873c83c9cf67d856a9d9acf65578fd5bd62c191c619a24b03b844c9c4649d7b459337d8bf5102f9e99a60e9423ac2a61f3381f2a8212537c303426add152eb96b062cd983497a52e13db63d65e80f2d71436ac572d929736f1a033d63dadd3c966169c3852bd84b6ce99a4b323fc82ab686ab4bce2779ce05e57c033c4ce35ede2b621f645ced215df1c8d0c4cdae168bffd964e7bd4934d473481303229774147b5a7e408a5f961c795ab5ca878ca9260369ca78c13465065836dc1f03588ad880f8668ca4941c37734cce40c8ddebec9f3059c1334c3c6b61905b502a03c70af62ee85c3d28f3bb71b86f29e83455c4d5b705a3719cb7303b28a40e94e5034e93ce91bfbe28a11b766688baed5170ff561e96a62a2043be0acc8e603455aa0219ffff03392130152647aac60da706578a6b40e359b444bd3b4fccab81d380dce95e099503e9656de52039bd96dcf440e54e7971dc68b6b4712c3bf465f324b8cd8a3bfe7c03ceefdffad10d3453f64cec0b9aba0ed35187b76796dfa19cd952abe2d0494728039aad0b3e70a32ad867c6ac3058a011a84edc5295fee3a1947a94e040271172f403042950f32385a539456bf48dbbfc3caad80c11be2ede2b073a495691055a047403a3d2eda86b68178c96dfdcd9876f1258f814fffe7bc1d9d8f96a07987a84ebc90397f1ff6b77f0cb32714c1644807b34c730176c6861836e7dbaf5551454dcbb6d0398943d63fb8baabc7e2a15695028fe164e7beb9ee03ef387c4b290a413259d9a030fbba280d06d260f63f16285530db5ac169060950650c8bd8d8bac5edd13d3ae039b486dc81d3d1f6313b6137ea1339837fbbe42835f8574462e045863752f4ce10219ffff03abaf7948c5df48e87c8374923e9f780f6db5f3ea6df1a4a2350ebdb8047358ee03cc9a65c7fdad0a0d2f5e2c1732f0ffa46baf57211868511e6ed7809a0efa8a58037fbebf34a00524473fcdd4aba9ead6cae0af807bb87c774fc4b9251bc4322ab20338e4b12c3737651d2c66152357b36cb49dd1c30ebc4dc91cef072a0591bac972031e4ecb11f374f2f7594764033d592faf601469d21c1b13054121eae5df04ca1c0219ffff039b2b1afd95bd34c282b9e57071ea98393d0732f6b99980557ff56282ce5780da031bd86e73845cd6ed798fe128a0ea7f3c36c6014a8b69469ea35496ccbd6b4ea7035485a7285ae91ca17390e82c99e4550ccf9507d5472d3e3ea390f98c5cbe11b1032ff4faa9b48ccf0d7143f31eac9f733dfaed85e3da5001083c9d83e600c8719b03bc715c5a999fbbb9e80e607d42fced59fbbe317418e3f73791f732d4e6be0edc0341f5689fb3243490be00848f6b7dc5d91389f64be9d14e7dce2f0145e48fa1a00332e360306b9eef68ee608f6e8b0b8aa308e73a88f3a8351b2eadffbeed41e84b03f1a28e42eaa6a5ce1bd753b540c680c4593e4eff5401997e286cea19befa243903b8cf1958d1f3f62426e168f991a5aacc1cb1fa7371d8fa0caf8b63c57763a284039eb3624fed90731bc1928132d29ba0b893dbf185a146b554e91fd16b9cde29e503b49a70d3442a9a54adadbd776271d657a39972fe70fca5364e9b211ccb1956f7039b2a40440b035386b6bc601fe5f7693ac7670b03000bf760c2d30d33382a93ac03e40c51f6007a70704f743465131fc7a5fd08c86baed7db78af47b9e2cc89b3230219ffff03994865476a2c69912606555536dae01d5582d2695f8ed9be67e94313aff0cb76032ba2440b331488fb66b215f13dac465f2a822af22473c4889d3fbfef69fda2af03dc587eb3adaadabc86903f044aecb281b49fbcea1566cf4248f1cc6155eac3a503e389528a44cfc83d78eb0ca37c1960988e6ad03a483ec41c8591f7c7c15f916f0301ae22dfca5219888b4b63800ab36402949828e84750d2634187189b6c6ad174030b7e7d9da0315e95e3a072dff387d440dde45391abd64e836b41b908725928a203409b49030006afd53bdd067018ead5a77129bd02c55388bac8bf23d95fe7f9b703485b2b99195328bcb790649c08d95b368051d86d7b4b3db966db6fed3f8f6b7f03523de4de38e5a1725465648903a3dba95da06d5470a531935366be016b106dfc0339543fc9191e1283c1a61fe64b29f69788a2e3e9b53a0bb33d5cbc9ead39409d03206c108f336310b34e3dbb8984447add6ca49b396e629e1edcb667390162d12b039680d8cbaef5266606827aa45f8d2a8a9c3ddafb1b5accd6ed4ac7d72e3d0d7203515e6f813af8ef218bc5aa3e9856877e5bf7ecd83f86aa7bbe66cbd2e5e63b5403646635c597234a53b2e3086255701f59ad4b90aae33a1f048446cf37ce816a7b030f75293b0837f340ebf278b36b128c743b688c1be8ab8b824d9d1b8cc0ff6cd403d9fb34378882bddbfaf8e7a2c4f69966bafc7430152e3c636b372c84dc1a93a903e24c2636cb0afe03924e127dfdc9920d7f84ce57d4a0f30fc7075185a32cec420372efe3994287af192101f3b3057f3485f4234f640d8978a1e31ebee77f5c5de90349cdcc118c1a33b46d1615e961eb67b45481d1a80f7d4ff97f94120eada5909a030eec6ed15f36a95c873a7d699b196c51fde6d67b890ec45fd2f85bcb6dc0346c0308c3190add61d79d9aa938400fda6d5bfab67dac2828ca59e4e2fa785a64bc4903b6addc1320c666af78aa6cf5f206b0fbd520205a0ebc590c86095fc85257a81703e4a0488f370b5f43d95edda9d84c8e79cae859d401de12023d722776a8ffbe3a03042b0f04d2365ff41039950770afe12d3a3db94b186b3567305a712acc670997032330e829bac1ac2e8aad36b670bc214802131862c128790e30faaa9a8082d1840305364c616fdb1c596b7a24efedd06c463ceb94c0678adfcc5db7a4c30ecacef0032aae5f7261379b187e532a8e3c14717d366c29c5fed474848be4d4e9d8608cb203bde171f679ff44398aff756afa11a52e9300ee14f42d5d5cb94757f1bb5d7067038e6d585125499bc4cbb745324729bd477ca80e8f67ecff7c6a8e520a0d61a3e30309b3401df44a885d6ab901ba7b789b290f7c3fbbdb2739ab487e33ff48bb6f1303b124c2c227b22040df405b92eeeae70b28f9f59cb355220a0184c2d26aebf76503deac4239e8c09e0f310163aa14ab5f79a03e6e3b040c9bc198b1023a3f7dd6230334eda2e139ef5d1f6a318435ac2c47960e2b6561f3756e0d41f9ef987879094a03110ad882ed1c35d31bca099524ca8da2aec305bdcc02cbee38f986f3bbfd69460326550c6d0881d0e2c15e33f4ddfe4094ba9858fbf532af8b536acb44a4a90cff03bb2e6c4e696cfe879c135005fd413b8eba721b07d5e906d9e467858466ee79f405581e033337fe9c20b581fdd4878905ff1d32dc7c3c3d803a13115e8f3b26d2000402038c8749c75e158292e70ecf6defbd039c5b739733db1105430b065c3d40dbafbb05581e03dcb1e941663123c5041ebfc2dc3616af2bc998e212c79f209a5774d0800c0147104446d6f7dfaa03506041def617bb58afe7185e0a67ab2c386723fc291a75cdd55b97e659668ef001410505581e03394cdab05c0917af6f659a5810db5d0d3e07b5819fe8b30de14fb457d0040105581d03485d5fc562e4fa71975bf7752d4e805b0edc0b7d7f967bf4c64f98d0040105581d03a393dbd067dc72abfa08d475ed6447fca96d92ec3f9e7eba503ca61008481a5fd46f92e550700219010205581d0262f882aa495464a20eb02f177ab90c35878dd4746d27104f1c94ffe1040102060307e513f4512674cfc773e861e6a34250eae5508f5a24b1af07e62583eecfc67505581e03a46f8aa96c2b53f5df9ae061cb918b289e536ca6957ed2a88d3c31b6f00c0d472d6c7ce4cfae93031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0304e091cd4ec502ae6bd035fe8c3f021e65a908866af55cd8977ac6e1b007011bffffffffffffffff05581e0371fee7af551da07c4837d311d6edc69fdaf1efe175285514b77143bda0040103f2d6a5c820099a8212b3af56264bda3b519af5379f1a09f2a6e6dc412a1e656103c82e9f321649f50e95a89db8fbdec55babc1a552850ee7fff4d22d9aecb5710f05581e03304fd0b47e7e22cf19ede0e60934d781026ce61cd6e946f33e8942af8004010219b7bf034fe6d0df57593bb0f42b60d384c00cd561ab47920a1d7513d8a1b4de3f26990f033d43e5cf92a5da0ae99a145580b8ab49a47640dcc509d8dd0bcf5303e525be0603637e3ebb17f8bf5e8e9d2a987e00a10070cd8a8623d327fdd0fac545e453000e038ce42a3e37462a4bba6edfab1aa78d28af0fdfe8224bddb3dd3642de6bcfced403315de24501169ef71c605a9f0ddc2231c4c5765626f93d46458feef565e63bd10219ffff03ea87c90f52d473809dc214421c29518034173f6e9f28a99103d56cf57a8f4009032949181d476540502774325c71bd884183399c30fe66eddb5a7ffb11502308a00219ffff030e0439c53adb9526739908d6b1f65ff21c3405fa6f91fe657c72056ba7ea8b8d0316f47aadbb6d841cf03b509fa011578b68a149efbac950ee3167bec950ce76d0033e286b4788f097609a60a1bb2213fb12f3210376c1b5ed925e8f35ed28dfd9d00358f129051c7c3831cc4c6c8090c63732ef8a6033ebbfd936194546378875c94f038132dbc47a26695986aad3f808b8d2e3c7c535f9087066caf9d5c2f0c40d77b00387104be6bec2c05fa075fae9ed9fc8acd6ccce4a78ec91c65243ee4456ca48f0033fcf54b4f61ce4790c3b36d3b48150384155d0d7b9d5f5f1de2dbc8c59826f4403d7888414e2ebb1ab2becabf7c0a401a35f1f17223ea66e3e7433c9d2fc6f7bd203a53bc0c474e8e3c0106e4351f04da9e27070242462ebe1901783038173d1851e0219ffff03454a61639a743f23057dd687e13a0f25595b6c804f222683a728294f3c93f33403579491e38ceb6a9ddc16234c268b3e6b09b3f7f927f4ab50113d9b3505871ea2032f2a248d328cb3903e8c1666c115df060abfa43fd05ec456967cd117db3fd53403564012da29024bb66867d05ff29cfd819a9f8ef6d0e529041b83f4fc9b416b3d03b8ac94f4dee7dcd2479f85490f18fd0ce2b9e415c126b362e7fe4841f5795519031060d5cfeec117eb3367b5a1b91f4420e1d1c22edb0c03263692aac22b39b29f0312adaba1a4d316c1543040d1e10b3ee1a0ea407ee9bbfd5508485883f39492aa038a9506e70cb858f52d7bb366fc622ea23068d36ff37fd01118dcb3f068eff2f6037a48432756d0b9a02a031cb10fed178ec3c7c45a4c783f2775ffa51c6ec5f3fa0300c278b41b4a6c1be0787629ab9d2e0e6e1a584157ac377aff216edde17f0fc503fd62dc569f5cb851412feaec67a9d72c2b1b84ae6666225eecf529b11a269a3703d64a550b006194af4dc8c447fe69e21e43051373ead1c8a7443c0643add37fc3034161abab87010fd97ee190a4dd0dc8a98b30fb635d7f225996c5d52242b0a91503a55c84274fe180d293018ea290095ba19639cbbd0a5cbb74854b99f2c8ce8ba103fa0632ec98dfabb916ea86644898f597c563e6feb78127b6e2b93ab8e5f21b9b0361cf80317d972d8c070b2e7f43a6c939825beb4a063a53a2d83938822c6bafd203db96f7eff36c56acff9e0616382cc71d5dcae3a8242ffa68a2ee27a1999a087e03083baf411adee83d69ae58077f23ae8b5d0e5bc996fce90af0a7de684d9eff3203328532831f77da46ffc5afb7b2f942cc6da7510971b64e1919ad166ee8a65d65038f8e7fcc768a24dc45d0e72223c0bcd12a348fa0d3dacce83d97cd5a4f95a8fd03dd93f105a9dbe7ae1ceceae4613f85ef0bfa0011d464b42758d37969d64e676c031913fda541203a71340f00e929b2a1413694d497fff49f9e9dd31299e165e97003ce162dc94f93919f7a4e834c230fc7f6f26bbf00098e8fece5f39fcfc65304dc030f1edea7b7372c80dac30e792c2d8c05f35ab13c2616ebf7d77a7ba5d324ad8703cce6eeee077009eae44f3b56d49c5f9e91ea43a4f1fcef2b92b0e84a755eb4c3031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03c50a01305cce6baab461941f68320bded3db45fb858d16216c09ed00e007011bffffffffffffffff03baea43c01087be58fb3762f67338edf1034b02592fa4b6a5152c1e58dbbd979d03883bc6b22e33d4a76033a47826db2635424a627191c5c9f66d60083f67aa3c2405581d0249a240db2dcb705d0aceeb7af1cd143e21c75a680cc7e5898da754200c074769b35b231beef905581d0254fe7d0a6350f588ff4a2bb0660c705f9151d8694920b8c7455370a408482a84cdde06d7800002190240021915c5037d05a93f18ed5dd0b7ae1b9676d59c0237be1237f25613f5571b5bae4587020903400afd1ed3a5783bcdb54b7bbb3c10a17e41fed76bac00f06eeae6d10fda93ec033603dbe46efec4da73f13aacaae0154f86a9b01828951427ff0c49db472538f103bf01b2637b4648fa0c3eb0bab79abff4cefbc94fe80dbe106de27aa3363198980300aecb10aca670cb32c238a2a87fb38788833ba5080115d9aa52f824a748b0120336c6752862abf4451c073fdc3501cad17d0401d112f7c2e06844a4a7e36c0e1f03aaff1af8d2fdd71753618d3b017214908319a1510da78357444c4b38b7220dd3036f2ebc8fc932a692040cb0b2b7b35fc3a51189248661958e92aae1b0d2d3c1d003bc7325b86c4321ec5999b49b4c4008cd89cb22712fd69f0adac31402624695c903ceddc2f7eefc7c7e365ab43dc7cb31ef25a9a83903fc704a2aa2d1153709b61e03b2ec5288739a7918bc4431b0afea1ef4f0886d1b3283bf29dc391316a33f7ff90392d140f1912e9983bc650b10fe3c67624bbf238aff297190f96c50c635047a0e030c2a2109ee6862c1bb1e443b1b45619094a4e7bc0bd867ff91fc3803c3ea89d60219ffff03c2104aa9be9c51837ef55191fb12670ded3bed2118ee7a0602c3faa23829ab97035c0a42f643dda9caebf1d3075fce4f031d612f4c13e742d398dde082a20dc24903fc8d8f3a7f174801c25c9c5b411f8f2080c3e6842669a2b201cf28ffd6a679510219ffff039658e667a8b3d0fcb67e1709570a1cb95778e14436dbb8f1e1c136ef34e872b20313195ee97891dea5020d10cdb36ff7da4ddba4867cd14160b86c8dbea0d7def20317e06b6f1a98454e4f1abe4307e1a5ceee4031e59bf48aa75d83b9a066824d670305341ea80ca1d54d758110428049bdf60f3d7bab3098a73e53f781fc874e870d03d2a540b3ef6ca196f310ed084f8ac004f684b7bf28109fc20247e29c95d4d24c0332705c332ae324bc05e47d710efeaf7507ac2484f621f3b397b6c7433f129b3703689820cc23dd4bcf0f2af3c6faa50db34b199138ba89b7b0dd51e39e8e2177ba0219ffff03d2c6219f253eeb42db815561e917d409077497fb5b6de929831f9e21ac1f7ac2035cbf2d8c47db5c66782e1339496fa73e3d80190cdffa2b12a611ed8b6e34a22f0397ed13353e41ad16f18c8e0af3924606a09aa6c9434e0b6a6d0a645682e3396803f92cbb0a39d0d85a8d41ce3e49297f49137dba16c0fabee5b2e35bf9bf8cf3b203a6d990c411843d640be9f22093dffbbf85d4b9d48c22b38bee409f49227495d00399192c239b43ec97262b9037b43508fb51daa1da50ec2967cc82506108b5598f03f3e3bc28cff64a6b48a44e8eef0e7cfa6494a72f6808f005ed00e977d83e64530219ffff030203b626f9bf6202ba43ca3d78d3860a6b13d633c72fa0970a18459c6624504703fc17989289fe0828bbf486d1ec742353caefd65144288783e8ecf22600a295ea032c5357670c6ff65927ab2b09e78c17582a3ba79a9147e2ddcdd9d00e00decc8903b9f3a1dbe361ce233b6cde033d2b07ba8b12dca3fc9d47452c7d4bc897c472570361f3323ed34efb8f531549d81f0c123f9ebf99136dc89260dcacb0193262712103b3728dee24dfdcd1544bad187321f95a14dc0f8260a2d645924e5f856ca255d803321497c97fce2e44e53adeae3c0af27c1a005c3f3a7157f51174785aceebde7803a107f545d695ce7b455d11863165f96dc7880df0ca9d5b3df2a8ea2deb6fc59703d84e7ae1fc6bda75e3bbcfa487c0b81720b7fad9ae75bc76385640642e756b66038a9e3a031429300c6c5328bf90b718feea156cdeb8b770c78b5247a9053e84d10319ec6e92b5c73372fa91c0d72cd08a04366d5e8d0adf944bc8c30d75c34be6210321fa368014dde02bc6f46cdc103d66d97c27081e193e4d850a0c45fba1cd6d1c039eaf3e929d8766db32cf283e898297270f18c032398e17a298ec89266a8cc9c203dd20689dba9e6e17fbb4a19e29777edcc6f3609dceac74ca1d69f73d0ed7b365030ef37f078ca832bdaee48e94d599acb06868d1e69fbb3d32231c64e6a961633c0360ce96b17072e32ca9610e4e083679900b57aa0791925efa1ebaf62ee9f96ea2032aad40b3e68e18bde67064e3c5d78d54fa7dea89c2b53853af1cda3ec9e2dd14039b3943fff17a06218c986d112d12579dabde39ce631be62edeb18aaba5aa92b5030ac6915898df7dc94e95d6e29345f32037595fd7e898d49a32724ada8b0fac25031980cbabb9d41557db7bffe2562e6f0039c97e3323bff6aabfd55dd4671e56a0036d502af3dc6b4bbcc4b520f7ed96b54162ac615cc8a34d68782d19bf09ada818033fd9df7975e2e901a85de66c3d4760bd892a1294a666b21360a328843b55fe680347bf46298fa4541cd7a83ac337271fb7f25f36a05f322293258084cd7c17a1930373cf810cbdc6e5808f4d5555ac675580d0e38da66d3dc1a004bb1534461585310300425d70e0527c35cbf5f3ebc29c573927e77dcb565dcfc35b9467cbea8f9af20364dfc878fb07e430a30d4b39f3024dada00df742a38f8ca75813f2bc9fa8cf2603442e7eb297df46889705eaa07ce75803451274291e08e05d0861116f1d713d3a03af441727dd432a78106d4a672e979ad1f42e9f40e2188d31ce40a218055b703003007fa8cac42863271da880a298d68ddb822df3557045908a308ff528a9d939ee03668c6a0a40b7b5844d36c956e9ae2c25c91f88c4d02c67787684e9eb576eda6005581e03e12a187773b4e79d1177dccab5986ddd896a6fc6fb5fdc0aa0079322e00c192a034809554f69b43a776003264b59f4b1f89f174213c3c2194aaf7013bfe03c40312d606987221e63b1590903aed6452345669e1c1a3fc253a69d3b32915f72ddfed69c4616945969ebec0bb705581e03cf95016fad5017c3920e32dcdbcf9a3d5ed66cfe2aefb1bb573e3c062007011bffffffffffffffff05581e038824335b2fc923d20b9f2bbcbc8e7fe0c430084be9e1c4fab4592e5bf00c01464bca8dbb4b78039b4a222899ff3bb1b0dd5e6d36c4da2b4bed0aff30e135bfc639cb9e3f3d681005581e03e90cdb9ea1602e046c375130e89566f8fc0782fddf92975948278e5590040203bc6ab651f458a61f57fdf71419c9f92f0d883d358336cde883ddf629e317984c01410003bc964b09a7638a552b49514c927f7a72cbd2542be8a62316bcc202b78410eac4039abefb08dfd00a8f34440d7d34ea9fb03d421cd7899c1e5419432f6d692b9b3005581e03d51fb9afac0ea8445fea3570c0edc47e3eea8276c4342e7a6c1f6a7e4007011bffffffffffffffff03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e032eaa4a3e3ffd03fc3de842a285dd07b00a8146a02ac3a5d1c5014b23d007011bffffffffffffffff05581e033c5876597cbee9fa391478a5e7622f99cbccc4d5ea323e8d50a18605200c0748012fa3daa0caff0305581e0389e5603d88ad4c189b576492ef4947215b63bb987ad06eed05dfa202400c034731f989ceeeabf005581e03e1d1e3c13077cc4182fca3722f84d21f9ca493ee4b6a562b01d6ec0d700c182647017fd3478ac92d0219fb4b03aa791ebabf7a8e01871ae61d9cbd5750702f88f8dc98b3f37f128106361d5fb303c616d1a85bd6b54591641a33af0a59b1f4fea05a67e374b24542de215c01a05d03e32e33dd657f1a040a04a92bf7bb8508ebf047f1b1c3bbdd671012474efbbcd4037ff794e8071a1ac5be9ecc4f38b3165ce6fb47d10a21e8199115f91c3b7065c903c35803db8ad3fe307811b5aee4760b9a7bca8d3cd21c40bd9a1b347eb8185ac6037d95edbb1c57c437339796229911d7cf94e49acf3aa9d5656eaca2dd7cf497590343ec0161989aabe9955ce2b25d54ee7cbad5632a51e1eaef19b67102d0bf5b080371fbebf7871a5d3664770531b1327640d3bf9f3a0834cbd95e27e3e211336744038edf44c422381ec89057fcb28b4957696b345ae16028aea6d58ede5c67eb7e20039c6182804bd61c243b098baf9f13bb75e954c24ef209582943f7ab0fa985f7d403781b54bd25dd344eaabae3d21e0af7d37e5c823b011e43898d229170c088075003ec68f167d1ee4aeb08751e147a3963ab1e2bbe3ec677e1c25b1442f7e39ff9cd03af2ebe6e09cb70066dfac0b0f197ae16c082bbefa8a821c3761149746614d101036df439bea520045b8ee86b63190fe1090ab1794c4ed6be9f4e17dc51d7d3b5ce038360b8126b5115d8cf256d4dff2a47fdb621d603d525b47b2e26c4916f5db5800219ffff03e8de536373309ed2e5cedca9442f78b44a7890fdbcfdf925b898feb2c1b132c403d72f7dec1e32d51aff313f62c2f45388ade071895ad89a741228680632261fd2035b067f3c96f78d8938031feeb58d0c432df3a104b92e25153a90db115e92061a03ded3538dfe0c279dd45669ad351a72ef59d0b36f2bc6189f1ed62c056708d2ba035e7503cfe62aa60f721a5a1a162af9d1275aaf4c284b8821efc705326aa77a6d03404580686a3cd4b1f638ee44dead19dc21ff8bc27db0e39a626a0f3b748f08e903a5f799d7012ddc4b3ac291688e7fcbe947f4edc4aea75fdb90e0920304dc71e7036812ca797c87bed3318d7f101888294e2e0222bbf3a9795ab1996d640824365e0219ffff03a081a607d440ebced3383b1e790b35fcedb72e9bc86931b7b63cbb07cb5f88b20357f284cb5fa09447f65dd661b006befd69e67c647bc19c94d024389064e2f8b903040161d9cf677e36ca7445c10604879895fdea366d174a7516ff7c4fe5bfbc5f0338fe0cb195396bdab90723006f7533cb730262759c25990611fc6e33dfc26f6903298beddb0bc82e55fc9aee3c2cd3780b0fd4f19b877ed053be0b55d18e5050cb03ebb488e144105b6811397e4858e02ef3e1128aaa4294a012e87ed7cecd3ab9c00219ffff03516b384951cbaaa6f3a96f6c116baad8527c06f50445be9f08f866586090d1350219ffff03dcbda618fccf870efba6935ff3c1bb9504f869debc2ccdcdf9259ac490e978aa03988277b3abae27ee6597a8c28f91acd4defb5e39517cf3fb874cfbb8fec3be0b0369460f26decfb662ccd8ba37528cfdaaae546b6f97628a629180b0e16162d8c003e2c96932cd5422895f3912a81a26d385d9c43bf91743737fcfb59a37793be40503d43cd767279dfba7acc42111b04eb9af4bc04a7a37f9e6e89dec4854757bd49c030747bb5e5f809a6ceb43321ba735db6c92ae4e336018c1e4a1d7c674367141e80320701d3d03ada86ff71e11ffa7019d967f663db9aec0dd44ecde01c2d37b2ca703ef12666e96474f905c925947e859a0c71aded601a1ee1eff9171667b7c3a5a3d039a1a2c50601224741f6d152784a56d58d40dfd915b8ecd322f7aebb5edd390e103e99428c74ddc9737ed55b8b7503c4368c9c0d74ad818e9ef1f65557ce2394f5703bf3f30c53e19c0cddfc42d5de61c9dca473e91d0f118a6e719b4eab1abd7e723038c6c30dd6c9309d5f767fe7a27672327303a6b9a44726c41aacf605dbe2a39ae033013a85c02e9962dbc796797bea41403983e6e779e16aaa643be3a3edd5293720332b062e37c171bd61cc0a9a803ccc1f0128efe0eac14a72105273fce10fd3e22035087cf3b47f024ca8bdace3f227a24e9ebc3f5c53c6b8daa8b4d05a23f87ff2a032679a595c8194d2896156894934375785551c46c6feafe44423be02faed938b20381f236c04fc1e2649d47b901bd2ee50622ad4f9d21ab007b534fa44b9aa6f84e037cdb1030b542b032113d8ded646640b912cb2b73b09919419503fd31e5e6b26d031bb5cd9f2af46959e10bbd755807ee30ab2d11b201c2ca76b66c6b2c4e19fe4e03a574fe94a596c134842f0643d2e0e5bb81de8fdce44cd93de182aa96318d54fe0321461d4720568a8f27a831708b25275672d98fcd39e1230811de6ca8d3b8c92a039a20ad197cbde2143c015f594f4d4cc713e6d64b22fb99b107b55fd6c313e4c703abd23eb5391d6ab3880676c435d95c8466367a257c4d15a0641c60c6dd333ff4035b55e789e516d7b2861f0b9f87076c97ded5c6d36b5020da0cd2a6314c7cf82503938aac9fcd79101bb1801fbdb55e65be7e4c9c36d9fe0a5a298fc6bd0d1ed485030a356cc58e30a9b93af85e2970bc13457b8538edad3b0b2c84df92ca860a960d033a6768641d0c2a305d1352c005175c334090508ae1720cb1d91a12eea3a7b96503a13b056c82590af25f8d856c5305be73286eb6be84cc56620b102e32dcdf7f6403cd27820b7568495fac8d1d1f362c929890f436c254b2c3f3051ad7ba19e716c503fd811d560e07dc2c447e830d81ecbc55513c92697fecbec866cac92cb94a8977039442e618cfa502a1336bed72c4c2853ea84921839496a60c27c5ea1fe0554757030ed233f7a5b1d5c39a2f6aa52e5c9d0744707bf7f7ddb1ab1d0a53956befc2ed03427fbcbeebc0dc13e027cc0f8041437ec98e2459696c1d1f9a66fdc000057b4305581e03c8e361844eadb407a5f81f88acb817172c5abf564915773d4cc18635900c0345d562b729c805581e034380828f9f1e49a4db28ec6f280bb08855442e4a3482ada8403e0e06d004010382204857c74465d4b79d173ec15d50f8b1a648c7ed0da548d3e5d077738ad3bd03ca386ada9a53678f6727d03f4f1e4f88129bbbe070a4c8cc59a4db78e455b24b05581e03b6cf28f99f59ce8e9cb73025ebb6b4688539ab94eb12a318f2d39a5c70040205581e03598de983358d79f0a0066787acb37aa24a2807e53358da125462fb85000c014713d2fafdd8c00003f4d21dd30c33cfebaf41da00e9b48e2ce47d5d16460a3770a115555255d4c09f03149b386717fdbd6ab0200f7b9f67d977505fb987d73a9425eb4d1f87372a772f0459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000018f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000006461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f8b8b613b86565b8715611aab57611aab7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f000000000000000000000000000000000000097451ff859c3282305ffa26a9c581565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000181565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b7f000000000000000000000000000000000000000000000000000000000000006481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000005777d92f208679db4b9778590fa3cab3ac9e21681614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4816939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b9450614bba60058c8b8d8b8b87898b60017f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b93508415614bee57614bee60068d7f0000000000000000000000000000000000000000000000000000000000000001615325565b8315614c2057614c2060068c7f0000000000000000000000000000000000000000000000000000000000000001615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a035c0c91a99e7ea055f2cc1413182a64b8df7725ace08de9ded52c2160ef7ed4f403a7a9eafc3a5fbc72690f193e5911451bc4f15efe54faa508bb42eaac8d797638005820031f4fd8e8c58e442761eaf447775d62d1c5dbee5d29ca6f1239e3f86325b5904c035aa4e231395f14e1eec64e00582003fea137db6e131133e7f2bab296045d8f41cc5607279db17b218cab0929a5105820010000000000000000129b04ef7519c7f734ff9aceffecd8df51b843661a075f00581f024e4875b74d31ff9fd779bf2566af7bd15b87fc985d01f5094b89e3669e4f5820010000000000000000129b047264a02e4bf3054061ffed787f82eaab65f42b9700581f029dff0f8a8fea34502629123d38d2bbd6c5f7aaa69e64f2abea664f850e135103b8f1594837b148834120c439dd6384820219081000582003f491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff69705820010000000000000000129b0486e4defdfa45a8479bffed5e5a8c95db65fa5ef70219304103d2ceb0bbf84e975db7e0c1cab9c6e58fc1444b647bba4855dc14540d5892424a034e78536c97d71a62feafbec0d9b119e2390e7cfab91270928f32efc9f035f32a00582002f7db35f23c78697b24bd9cc74270892b68ff8348db42a826614fa1ce218db35820fffffffffffffffffffffffffffffffffffffffffd5aeba5851d72ac4e795b2d0379bb3a2edc1f8445a623ef1b12ae89f8b73e75d19527efee4643721da35fb75d039b1beba4b660c4fac3a1b8e4186425ec4b0703a1036e90922523889f34163bbb03d1f01113df5b4302b670de3f8c0c068a056e5c64ec18f587397e6ec54a64a4bf03a10b897ac762c79e623bda83975fe9f06b46b69d61813976683eef2fa982182603926dc052ed91aea493729ab2c4f3f097fbc81c27e38a88279347c3a13535b12203b900451618a3dc1eae0ff769167e1f0d595956ca6ff09ddae6c222b2d9d73c4e0310f44d9898cd90644955b0d20f5b185a4147091e3c58588d4846e6389f20826703f7566a6c670dd7cbc7c4044b0602d85641b2579c8ff2e6553ab97643c6e6eeae00582002504a06d13aa45cb43f5e788a324d88916e320472a57594f91e087e8e3e3b0b51034dbd7a50531c174889eb2f454ea4e459036c1eff2bab459d18b77198b7165d0e36aa5dfc856bec656af4c664ad2a81a1e60219bfff038aa3b62dcf53f986ceb22706b0277ee7cc88856b42be5413bc6ef92854e6007d031dc950b375d55754e7936f6065c6ba6e9a437a4392067ecb796c1c4f71cfe4cf03562cc5f65239794dcdf67e33bff681e37a60cd57f52a46ad40b6053fce80aebd036ed5ac90ddf5136ca26a1483bc02b59f3afd6c97c22fccf7a9419e9aa4674655037694aeb1d9b65110c1485f75f631b1ec42b1a79b0504d28c5825198a6103ed49035c46988fd1ebf4fab3efcae371ce6922bb8bea457b76683bb8e3b31c4ed9710903d457a0d5d234553f3c01c511af944f9778c88e858746071176efca4f0c39dc0c03ec730fa0bfbd705b1ab541d467d4cac69abf39780163604ee1a261c56109d80500582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100012c012c008efbc89c0000000000000000000010c705a731ca90493c95005820032ea11bdc602fd2685b5511b3501d1d265508d536689c9dd6681ed4e5f081705820016213595b00000000000000000000c861204c9dabb8fd64dcfffdd29aa05c6f0058200333a59ff58f5674fc95a6526b4b60e9769e624390b61782e8f31725f9b84bb04c076bc2b6743b8866254ac3ef0215032070d96725598b049a88bfc8fa183fc0ff3b9d70c84ac40b6fa36fafcd80d467039aa942d90d086e620a456c543cc9d085a5cc97241ee0ec2c19b22124635b3df6038e0f19dce548119e0048f127b8a0ebbb9f8ceb1912af2a581df42e601e09a1a50346ff2513e094c58e71a68557d88474b6b0c76b2dd6c89fae0be52c53b86d69d8005820020b36a0e03c6d8d4029718b5b84184309467eb592399e9b72c2c138e0d292995820010000eea40000000000000000129a33f3c39b634e99c437b2fffffc12233cbc0381746cff15febf02776f4db9016d84204cb0e86422a7f7381d0d40e3e29675d00219fffe038e977549c1b7b0c036467c1c2db081ddd67b36b3383be18c4af387b3cff51dcf03579f7226634147ac82449c20ea01196750366b8aaa2a0ce44e5357e70f6a9822036edca87fd81eaaa3ccbc344fcfd86655740822baee306456230256c885d5c25203e9108c0d0e62b5d96ea8b1a7153af623d4790773523b324388087877abc9a65d0361cdf6a654994547c6532eb74965f1ddd2e7eb1e2f2e4f60d7d80e860090196d03a7e347de77152355fa29cd51e4abe749b21d8a9a1d4366cb3dd851959ce7e2990370263849e24d9db9a15cba5d574a85b6579cbdd726263ba7ab40a2161237679903d466d63f74b4f092f82f51247edb3ca5cfaf3fdb6ffb58f6475e42a6afdf60c803df9cbdb3600d8f00d312c6a96f21d653beb5c86c52a49541566341eb18f0cc1b0388618d8c000b33c0bd5b141998e19a38b3c60c03deb0b4bc9adc073cbf8596d103e2c30912454914920e8695c3b3032bdea79fa5af02426fc382d8aea505ab8ebb00582003231da48374478188ba27ab471669223f5e13eb390cbed0b39a20aac91dd7904c041b91584691e6d1ffb5794d0058200360c9794c88fac81520954026311e9da82e65d30998f19945fb48ab670ed0505105040b5ac3905934ffd9817e94180b095b02192100005820022d90a7ce83b66af2581e94a427b0dbd00cfd05eb33c0f2f4c1470ee0d2bb335820fffffffffffffffffffffffffffffffea296de50a3810bedbaf352ba63e5fb49037902107ea3ffc231acd3c384fefe6f555131829a530a5f89f405e731db5bbca8014101037207dfa27ee66f8a9cfd84c8cb9b0d2271ebfe0b4daa9146627be13c827ea39e030160ddf53352a5f6f282a8b451bb3e6bc55ffab26d502d5773e6d0484e24f5db0219ffff037ed93db8675ad5988331a6c422424e0a208812b95761fd255e4f0f17cb2a4a6600582003dd08d81ac6c4b4941c53c0a1f253f02ee9b4378a9d2809e4a3dd1b246c91d058200162adc2fe00000000000000000000c8ca1c13f26bb21398adfffb478ac2c27b00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04c5ea732930cc68eb3b1264542031b560d8f95d6211907613e9503aec13d6d408c5d337f37b2ac4e5717c3c501fc0058200345d11d58db7b9030bca224e87a23335629af07eaede0b7f8efdc1221cd5f604c06c0a5b2c1747425b13c1e2000582003c2a8d3e0fb0fb77bf69b19f5b97a834d542569caf889ade0215831a2114d104c03739c0718113b14bd1e5feb005820032a15ab7e886bcd9096095f28d537086defd558c4e98d69295d65d1f0e38ab05820010000ea9c0000000000000000129a32e94b2e0f097888ec96fffffc23225b9002190f2a0336397175b5188311dced0596f9cf906500d8ce97e44d95e2adde8d463ca3dad703b6bee68d6041246ec17173724ab62d98f090104badcb9ea1b2620cc61078c227039bd0d51bdaf72d3a1228257ad6789c9a5ae29236ef6f61049be58bc03d7ef46a03b6dbaa4a724b5cb7ada2bd80f39089274a1c621fbaf038ae9412e4d4665618aa0368d2b0e918e09fdb62c3bbac008098842c7be69f4e7cbfdd1be5cc96a2439e2c034e8533ed2b14acc893af572b89cfb9b86f99763bf7d97ac24cb96e9cc3dc385d03fe8f5d914374857ec75c61490cd8eb931d4261b18c4838b4e6e6e0e89c133a36037c175f5083b26a25456fe0c5c9d65676cc5d6b2fad2af98b48641d0dc9a02ed303da71fc922e701d07a6973e8a2aea047517a9e8eaad8ac473c3b40b8c951bcf91037d5999905eb5d37c814ec22a819684a4cbb8a168f72dac03bb676fa6d5328310034f37732270a52bb55d46bfb30f140ef5aeb746aeaf2b651028c7b3903cc562b60378533187a398ca5cfbce16b36ad7a16b506fb807816c7551412caf6ad32d72f403cd7593ab60df7fcc396fca2a5fab8fe39db7bf052a8fa08f569822e0b00ede0f030e6a58a71f9fc4e9101dc25a87cd58977746e17a8d9d1cf608ce27285c49f2b40219bfff037253f19970403c8444c8da63d5ee4f248d8d5bbb5fb1032d3d52d914a66f470e03af49fb9e3fd79a49ce56fc1e8628d6fd96f229a96d01170f685b8d1f3ee9a7c803885c721f45f20f018751a93436f7391afbd1d9d1f3f9ec7d8e99aee05da7de9603caef66b8461b171da940f8b245ba0e8a92dfdd8d6a250071db4cb909a71c7dfd030215b6cc464c2b062a1f977faa0cb3abd2f0821501f6c4ea19c613fdb87210f3034e455c7a2b8613b9be5cf92f1a7a412ba9458da08b61ca2c6b08ef2edc1771430326609a95c64cbf605dba03570ec1d30b237dc3c5c40661529fdfd00ef158d69f00582003b8a596366981d8c15aea765a42d187eedbe74cb8587ce2d4bf2620dc8ead0050018542a4b0efba66b8306c168ec4b920005820033085cb1fa217b1efab5125428b8ac633278729a00e485a5c740e1af6e9e3b0510105b63d081b77577443463e37ba57b7d900582003b16c665418f94e620e90fc89f3ac27da9475d33fc22a04fba9b2bdca3bcb8058200161950e2400000000000000000000bffcb4bb02a78afd31a6ffffe71b12afd000582003d416316c19258bc2449ea1bd3a0fbdf07753c4a522a4ff460b267ddfeb0a90510409685f24fca91f712b4d7f81723b72400219888403ac5bc4d9c05b9bbfa71985170d189e5852e9a62408beff68486aa6880522c9d900582002f3fb058c6bba7a4e76396639fc4dd21bd59163db798899cf56cef48b3c9ec95820010000000000000000129b051755cb01f9ee81fe8cffeca60b2019936626157b037224fd81a973069bd8ee04744479990be0b8d6ab39132ed2c575769d1b334e52036c42d151ef2ac43762fb5b1ebd13f9575f80c57635ac975e97cf677155f47a0c0310034957c4aff7fa95f45c12a881b23ebacdcaebd462847f6b0e19095a58a90603afd375590834f79f823e7023175f8dce08c344e43995edba7aa7ba1b2cdb295d03566a0652bc61afcd780eba7b56c81de437ec5302022c837632feafe3878d9dd903c4b16dc698060371f5f3b85b185b96bc7737bc1dcb0e54527a3e7dd5c9aa95a70219ffff030008cf342c0b684959757c718c57c4fb8899bff2349c1e5189b1579fb082774303b2e48ffe680eaedd68f4f93f20dbdb5f074e793ba52645d1ee7738d06f2fa9b8035f45904ae2bc64d13b6b7cf4c6b6d4b77185142ab904670c454d5504ae71191f033f292e5c9b4e907942e0fe5144a0b2628f0f8f3a844ac943d9bad88c1cf036a1005820025e51948e678a5fc064adb0515c33c64d1a732d4006d95bf768e8be2f0ba0fc5102335e665a751efcc3aca3f18e209d045603b07f50400bb2b02b03f0167b2d235ad1c6a0a05dddf6d47cb873e5eb76f734d5037db42df425b9f60140517c0a0ea87bce44c270bd6fb91982922b2bd3da03d90a03b1fca9c9ae9789ec61b824e03034702b52c4e83663fe7f0e790b34084168ae260351c5c215002ddc066bd3a14c6d01ee9beed26f22963b893ec180af743877c5f9035ccf50b74866cc16232f14f2f4d33f3a6874fcba6570bb91a5da10b0fba06e6e0360907fee86d0180f5c04f9d60da8fabd54522d0da5348e66b99e089696d46f97036925e15dca9ec5a80ce7c4c84d5f044773b9fa2de3bd4281ad9148898e16ef5301410b03a372fee9e363c779bf5783ab0b5397176056ecf3bf18be4ce4674800787aab81033205d596ede70bfa261725adcf957ab044c8f56c7efe38a6eb23bd7ba83cf57e00582003f0041084f67ced174808484bd05851de94443d775585e9d86d4c2589dba5905820010000000000000000129b03177b6b71b2b7f8515effef6dad6417b7657d4e2b005820035653c178f2687b932f48bc2b00077d7ea8f7f0db993585d6c146ba54bca0005038a3231677c3371d55f5743cf062c65700582003ccddb301325a968519eb16e974b44bfaa458ed0adaf4e182c4858d01a79f20581a4d5954e09d554ce47b5f0000000000004d5954e09d554ce47b5f005820034985a46e5278d517ed7061a799897ee525ebaca43ef909cdf87fd7fe91e82057011f98d200e4bb000000000000000000011f98d200e4bb03610b0fa6beb7bfc9150913b5afc82513232fd2557b4a29463e358fbfc77042200219c2820219ff7f005820037a3cc0a76edcee45792ca71527c753f6167484f14b94c4a3bd2997516725c05820010000000000000000129b053ea55edac13c558260ffec73f44840ab6631f6af00582003839d702248e188bf573bbfe070f8db22566b9794760fec63ffb4be5ee3ff004611fe0bc454db00581f0216f1c0c78b4ec57494ed052e3372a1c04fec54e8683dc0f9248e5acebf0c513f60bec043135eb0dbf42daed5f0ea552500581f02ce757c20b390722bb8f72c88dc530cbac2fd9e174d3276e452d8a2cd08945820fffffffffffffffffffffffffffffffffffffffffd1806ce4de0ebc5fbdab0b302190204021920300319916292c27dcba52d142b2716ceb346afa3cf4efc6624a937625579294e9d560327ec52c13cd8abd24f30775b0edafc52998bc0d5461ca7b20cf675933016944503724a79bf4eea2a9e1084011e198a9a4c69c46b84f17f0631504d683a157d377a03227e0cfafa258f6f86b9db2f56b0078834b2869eabae27aba4cec8403104c3f503f3ab7830fab949c0178294c0bde9f9816b0fe163fcdcc209080e9a7a10a11e0a032e2035f3c6636ff01b4649260f3122b7e202e54bf8983e0e4275647523379cbb030dac16168508ec9dad97ec1ba429577db03b75f84a74f891dc4ac530e77acae003651f9567eaaefadf9f8aef72cbc5eaba9a4569d864ed5a403ab4d44a58e2cb3e03bf90a4877570a82518c16cb97c170a3481c9ecd906034cfefac92a3801b4925e03cdcc53d6b07ce2c331ac5b28908eea08bfae1b4fd0987bba53c0ee7b0159fb48036429cdd698fbc7a018f054adb2a825c6d04f8d90c4773710223b5976944da620031eeeb3dce321fb33320a591551a2cb5bfa746448c90c09907673baed62b9952e03bf3b1b62a71dd36f005b17893a81c54c19749230126242bd2276c35fc91f298f0348b200c127f10213188ed9b6f6f3d56f86ec5baefa917793af606178caac8c2e00582003391e8fddeccb6f3c820690683e3a50d249ae243d385de0711556d6040fa7b04b47092663b36a175aa45feb005820037219d2422601d4d72139595ad632b24ecbffd90d954be2557d8a005448dc10482cb8a9aa47dff7e400582003de66395374cca836617cf6a2878e0a8299dc2b3da0be3743c11de268bce2805820010001e7750000000000000000129a392c66528602e127502bfffff7f90dd06600582003aa5a37340498fdc48f7681734f320b35b4136e3ff1f652b4fed8f9e23545704701ec2497d0308e005820034302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39991430805820010000000000000000129b04ef19e6bd32bc422bd2ffecd953886c836619ebcf00582003339e1ea7c662dc0c66955109641ac116e07454936cdfcadb40be32272fc5505101e6e09183a4f5ed1a58140fc5e22d27110219888d0219ffff00582003082aaaa6e5165faab828b551ac74d5a3446226a47b0821bf2686d87210cee04b0141cab339fc09306714c000582003109cfcc0ea6bdeb0be6b09a87e0c42f04bcaf1b9edaf3d219641a39de7b5b04c02ccb306fac6b7cf76bc33500219804000582002630654dfb0fd282a37117995646cdde2cf8eefe9f3f96fdb12cfda88df66685820010000000000000000129b03793c92b0d00da56b61ffeed28fdfaf6f65a2181b0361b14b417bb41a3a94591cc7d87cc42496fcff937736100fda87c221e14aac770395ead5fcc49b147865505b53d569ad53b068c0f2bd019f16f0f31a9cc54878d900582003036012277faea7d0e030c07b075c04152d3f5a2c87f7da91795419ac4044704c0422138401b91ac9fd3c676f0058200320681a4e102a35e306be6d037f3938003e7e3f7e6aaf0983c8262140072c904c56f31264ff9387e92693426100582003446b748469e8effb733dd54e2b160284bdbc9dbd040be4b0cfecf90decbc504a4d4eed5368c712088a520219110203f285fb3be4568fbba23b0180250c6452ced2f939b2777575ff96a208390efd9c0305a96a39dbc2997d8230fedc853f18eaf59002b4713131a027b07bee70df510c00582002d31a986b5e37ccb213284d2ff08966007b5d917c2aa00fd1d82f3d42318d974c0745f42868fa9eac5eade4f2032d229750c9efdf737a89691e674beabf613d1fda1f69f9659a83ecd281bef64500582002bb9a7fb6a9b3a2287c624f52096cb0fb2f12cba6111bc6415f0622760711014c54c1d66d54367fe9365d7c100325dfdcdc9f402345052288618325d7df58ce3a8f560b3df28b79fa62a1bf29e4031e50cdba05dcf94aa4664589c498417c7e7be5c7c8755b6805796b43ac48caec005820026551ece94a21088b8346116b88cc9321ea1d6406c268f5de871085591627fa5820ffffffffffffffffffffffffffffffff0747f52e4bd822e23bd6bce1c87e5c98033b21982c434b276d4475275e4a33419976448460f46172c1561d74b2d422b0130330f1386840d1a514a91113f962377adbb7d2a20cdbe65f7c5caf2bff4021b3f1034a33d9485feccf6ca10bdb5d266423de9d32e376f25c97c5fa060637df70f5380219ffff03c26da69c5ae07a93c0f0d6a18b53457fab52a8fdd1444d134ee4841802f86667033cfa3363afb9a55dc13f84808e83df7b1b70bb1ffbd2db8ba415f73aa99b175e032e96f1018e6234635cee716b3be4d361f60bdd33c1635805ab06bbfc866d0549005820036ac6dd7de6b96975fec380d4d994c4c12e6a8897544f22915316cc6cca28005820010000000000000000129b039d88873296f67cba29ffee98f5ec956b65afc16700581f020b32012aa08b86e657b2ff8f3c778c2a81e21508d7b334d21617f2327cd55820ffffffffffffb2a6b559d3c8107046e90000000000004d594aa62c37ef8fb91700581f026b197d514402dfdfc0fee7b3669266908cfc93dc8f20ff8ca822a49347964c01d5ed783d7cfd9b5c0c09b502182200582003daa6a4190909b7c3fbe8d42169ffe1cab19f51dfc8db24c71abf849eced4a05820010000000000000000129b039deedcc3a7bc46ca95ffee9853763cb365afe7ef021908900399dd3b55f204b3d62829f52c781e6fe3e2bf432f8890781a9d59054c69cdb04600582003c903b317b30210b286a190f35c93f55fab7ba3b6bccb703c4dce43a37814405102895a5cedcd49985b121f53914a09970700582003bbdc7fad0dec56e7c96af4a3ab63aa9daf934a52ffce891945b7fb622d79105820010000000000000000129b0501e83d019114bb73c6ffecc1595a82cb661f9b9b0218c003a9b15458ae4b820ae110b503125032ca993dd3c144ce955da09b4a9a3020513b00582003cc63286e7db4a69aca781d16ab320140a4e9e546eb598618ca5b6584ec8cd04802c90e4c8109f0e9005820034790b75818cacb3158fb72dcd80452e5e3a668b65a9afd236e5b80021ae970530b5c550000000000000002d2dfcb6a8b030b5500582003c2ff2d88bb33eba87988c482ba1a11cee273451aa76eb28acc668585ac52705820010000000000000000129b03e8e4869af6a235efd7ffee2815900c0365ca86c303f8109d1008552b220f5d7bf8e841ce00dd9f2c34aa3b743742cc3aa42096cff100582003a48aee88db323cc81a242832d6ae16f37a0a1e3d4e8ecf4e6a5b31b85b06404c57bcba164f380f5e50d1aff100582003add4d3504574f16adeb34fd47ac12294000b09e69080302805fba6dd63b5804c068ec1bef165557a36b828cb00582003e9547fbb54d7c3a9ac7ad80c628a7b97fe9624587629f084240c67000fbea04704c9b4646db2f702191d25038ba6827b2cdb33073c0738ac1e568fdc8f9c4bdba88eaaf02b9d73a89766097803e0244c0bd3b7739c8e2cde3f165d771780fad2be82b727fb0f783c2dd3602b4e0321d045545978a40a9e8965c6cedd3bdbc79d62f452c0b615d7799f4593a3b7960395f7900459a80e6d5a79155b2677b798d86de6048ac69d272058338cef1ae27003d550e5e36827a8aa4beb6630d6b969ebbbe4da3c5e0023f81032b0be2f0c76f600582002437149e39d33ef9a099cdb3f71bc983b9d01d2eb5bfac3273190d9ef2867704c029f981337975bbdb490469b00582002a2167a6c5208d56bd0b83b4266e21458a43c527197e76566aaf3802864f8065820010000c0180000000000000000129a22c07c24dbb4ed009aabfffffcd6624da4039bcd3e2a350a5de2c71f5897e7457289f47dd2b54ad05703cf76c708abc8ca040219ffff03643c9c835133312506734cdd7d559654b8586e1d28cd241cae1e5de32ace713503f91516063d3a03871c61aa12c6fa3e839aff0202588cb39f3980b20716cd96e900582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605145a4d9a23f71e99581411a601b60c9de8a00582003638856fcda03e3e191a197da2e62ccf03a8e57727492bf10cdd21bc5fa34304f4b641669aee7901b7d59427e61e94d00582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e05820010000000000000000129b04473ff1a7b9bdf26fc3ffedaf928b0a7b65e71bb7005820031e3be9ba7c7d2f5347d3eddbbafda388f7a3b07d66f23f0b425810628244905029a0faddc6361ef8be2f9e065327c30903e8830fd68f206abe8bcaa318bccecb74cf97021cb88dbaa88a29b892a7e203ed00582003455d2e380bbd8510d26b8b047cf5ba0b4538451a2cea0cb1557152e7aba2305820ffffffffffffffffd545366aca51fc100000000000000000585a3e2eb225c5000219182d031bf00a8ba164a9592df5332850cf489bc370bf930116135a8e248e2880e7c50503a33126748453294e1ab204abfbfb44fc40b977ccb8ac4d5e358d4198426deaf20350a1cb5afea322aa63880c241d1f4d89dda4bb0a994766de73661c1eb0ba5f7203f237f14b8b9cc690207d5c389eca7160cd4a14a1647dc8b81f467e6f886df13e0360e5436d97eb3dee9c40799913ba2053e6d2bb518293789f47c9adaf8706999d03327d7e9bb929bb1de9998c411ecb6928f24ec6b1060b5e2935b3c7a02135f5220358ac90aa32f129ec815d2ba7830a084c142a59138fd28815295a31c814662ba103c4dbe254c848499fea917d2d82e28ab8ba9f975826fa1aeb236f905f3e0ea493030b665bebcdc38d723ac2efd9bd30bf73264d4edbd25245db5e89dcc5b5a9414403f66729c1646e70309b24e0f0a107b6605c8d73e4fe669c09e688046883bf687503b9fa15e1b28f0ce2b5cfe06bc4ffefd570e5116fec42c3ba8c192d3712acb37403f41238e325d5c073917804108d3404430cd7b98773c48096396bf428d6deec040219ff6f035554319072296591b190daea8c2f2c9b756599654a57f210ef0923dde29eb71c036fb5f31788ed565e7020c5a1a4fe095692ddef67b428fbbb015c9ff6083dedea036133f20aed91d19739f1f021637d62a482fd4262446628ce4bef82d4f1fed0c60058200340771a29e57e18c66727944770b82cc77924aef333c927ce6bdd2cdb3ae0305820010000000000000000129b050283190c31c2e26359ffecc093e8abfb661fca6f00582003c81c136209b95b2851e54a077fab99be3c081e4399a90a9b4e2650aa65f3304c02cca768f38a752e04a6b188005820032c2666d93ca05829c60edba257c475abbe21c311fd2505dd2c8f31788fa1404802eb3dc57d29c6da00582003642dbc7517672e217238a2f008f4f8cdad0586d8ce5113e9e09dcc686061905820010000000000000000129b04ce37cf7f7aaef0c41affed033a99047b660ffbab00582003cb75dd1820844c57b6762233d4e26853b3a7b8157bbd9f41f280a0f1cee9b05820010000000000000000129b04d1493d0bad26bd4a6cffecff51bc44776610e90b02196510030a47caff92cab2f441555b567a5eef958c2935c64b68df70a2e6fbf28b800145037df00abf3ad57cdb12dde8a4739f0059976fb4abb02a5704344d002eef7aa68e03a2046d58c50d7c9cca9ad9f9f4af6cdc7fe8d9eefe3d61959911fa9782e0f261005820027ce93c06f05d29e6900b439903c40fa1db962a60359643d1d2b3b738ba08d95820fffffffffffffffffffffffffffffffef4aa34f0ddaa9361c4f69af1d1348da003641f5b8eb07afbe8370bc1be2ea7ab2df71b7d687fde5f4cd5b024bb3af240f103123dc49479855688913c2211c8502534e6635c99bb3f7c755433e25b7c182d1f032a4911045fd5ea517aaa0415633d2e3bf78a350aa80e57d42d44210b891fa9b703b92e53e5cff79b291ad2d52243be0fc90f31bdbb2e00979edc2b5016e6819ac503a5f4951192aba72b7f21165bbaadcf5116fd30c1c25d9d251c66afd7632c80ef039550edadeb9d527e90d5d4ff6cc76cf2c404d8aa3f1eb309bfd1eb0bfb4ab9f700582002402f2209e0b054365697bdb7f80573342d44163a34318275d95917f7ccfdc94f280a0a582b30074b2643dec30b25ba03fe08fc14354f0487233356f68c79ffa92f18d1b2e9e46a41d3b3329c10dc522603f5102b22fd2576b1b6c815652e394f8d708563bb3b5e917e60765f817ee400cd034272117396cc1e78fba6516af061931e8c3279aedfa2cdef49a7c0ee805080b60326a2a59772d1c208736b24314326122b09f67cbb4b2666b1a9267a21bcd469590219ffff0219ffff05581d0275f1086505a881558f36d0051bfc7134f47959f7a5638f41a90d16f2070119567e05581d02a38b6a6e623a2cf4fc2910bb28ed88b51859db2e942e3a287ce461950c0246010f3f694200021930000219319f0379665906c7464816597533cf5292f7c81d9c892b3a022e413d41deb864924d8a03d8d96e7aee0d95580e7ced5cded5c1639ea6c4072037c798157a5a33c93c4e62038e8e426e3d2c3bfdb6db74082cae7358525cbe920e833faaee28561560735a370219ffff033cf5519b252840ffdc5d3ca9c4e27f7874054bc3d5ee1a896845f37957a189cf035f1254b195e362e8303702284835036ea2a5594ce03b55a0fd2f478d35c2e70c03dc805810d02f22c5d8c8b850f4db9c3896cb27936ab44787e3c1cc76e312b5c3039a303d787f378b05bf30257c5718ab4db45fa0ec30006c797c9489baa55311b003e1fee9bbbae0ad9fad41a9616458d89de976df4a9e1b2270f3301e81ab75322d03ca07874581a82352bf2e78aee03f26e92c31171bd5e02039c74919cbc7e61f2c037fab5096b3dd7fc667e9c9f82ad521a7dfdff1fc37e404007cdc4aea2b913ea103663af53003cbbeccbf160ea680e652afb2ce215e69e212a77b90638b423eb1ea0381a69e009f83940406291eb2cc162b67375e6571916dac108bd1a95337b2b7110219ffff0301e9bed1e73c4d13130c09d1094b807b08ccfe55d848f0a0303dcab8a21f8528039096be7cb38362b97f1270a5019c563c2dc1a374cfecddc9eb92f95526cbc4250341a85a8d64a69f70687599de4c02c3749f885a24e48ca0daa1cee6dac8cbbc3c0345efc2cfcdfe96bae381d66aac65df4fd653707efa2c00c47028293c7c6871f3037a792b73eff1dc8664cf7413092d1878f51d4174499f60b3854cbc9770db8a6e0323d09838486e13441f814e9a8bb55694590b79be98c6a59b6ddfdedfec0c3c3c0340bc7e0aaa4e1abf9b4e32f15819c8f3979b124125a08b7fc99fd2d0327488e703417a7b588a18f05f6d8761165f72ba30bc811ce7fd38519ac6ba31fcd7504e0b0340554fa55f1018c55242d95097fa0ae6c214467e607e206de0f969f1a3e917d90219ffff03bf8ef90b3f869cd6d34c6519de9171199ee0923b4c48285e4717eaae764b6279039fb56cfb9af3cf8229b5446459f2d4b8e4ae7dc97087fb1321e1d40f380d51aa039da16aa58ddf5201f12c0fb7018bd15adb3ddab79a696d99e400aa70ea148a8503e3b8b39c306736b41528bdc6b75a41b50e815ac5db75f2116f526f3bff8150050301b06f0d4fc6b5612ec5e11db8395b42dfd832fcf89974b5184bc6a6d0bb413903f9537ea890b8d06fba429aae98109a5918b11349e01bd557d9522bed8c95a7a60219ffff0335774de525cde9e179190af105b8060a9e1c13bbbbbaf017b32ba327e9ce878503afb8a622149dea92d04de7d9e4c6173c9fefa46cfda629e06ea9af3d13e8be8c0346d251d40d8ad1d27aea8b5b571580d1da5f8043c3c8e36befe1e050891c56d5032931b19ecb19d1296234ea291ba83c5766e62e4af6a9486a8233083a8ebef6b9033e13c50c5e27d140e3281ba8e587d12618bbe404188dbb569681b3dbcba83402036ca661085d7777774e35ff88f60093d33a2c813233cb3bee353030cc6b4f0c1f03aef0b0e7c2b5b9053dd43c8149ce4e780fab22c3e553bec6fc98c5382997531d03e2231b0375224a6731fbc33945f654d0f6fa441a6086932634bf558c311cc27a0360e4fc42b3f3def12cd00098c419d58a49afe6797760f7f8c7a95052f260f188034ea01482b158156b999dc6faa6053776912d454be7814039ab26eaa76cf31a0503033923dcc83651fe1666b247a9d13143f47f9cc940fa875b46b35e8982cbfb2c03d9946f46e005a204203f55e226aa0f9aa2717e9c9c2e4df61f8742d1b950da6803a71be47553e552023e9f9e96e4bb4bcd744390b921fb894f6e078a9a8939b58a039cf74c9124e13122effaab753d8b4ad77b332dceb2d339cf207630968e13497103eb3ecd42978a6f3d750fc369f30f4889ecaddb9443e0809ad24f4ce33cfff5b403afbd85ccd2775f3c2ebb24665292bcc24ac41e621e8fae88bf8e613b43c62665034b5f6629a98222282a36da8aad1c6e0ce79654088c8c30b8b3e64ff873fe4d3a03f63cebda4f90d3c3a8ec4a08edf70ace51130852ca302edd61dc1973bbca212003971f38275082e8f1b0a3ac3523bf9711e0196b4be2f5a04cc0cb4f7cd7dde50f03950522557eb40bafbd082f0f5cc4be3bcdcb7f80c14eee43afd2bcd01f8d513703e768247322141aab01720d986b0df5992685293d5d8d3ef97739ecac8f71b2250354239ae932dc08877199b8e357a9f3be357f93d6b30d105bee4b5523ad2eebe403db22dc742b84718315cf3623f575787ce354a3b536f2916445b8c98841d28799030975b2742460058745a4ee9f17d4c2cd50047b9831702204293a4648ea4e21d3030a7a0118e00981ab321049c9d340cd52c3a4781037540f7c48d0fdc27e899b32038537f2e248702a6ae2a57e9110a5740f5772c876389739ac90debd6a0692713e05581e03414b080fc727873288304fcbf831f5a62596fd36ec4ad76e1faf6163d0040305581e03b6535a3302779485a0479d8b1e380a306a541a1b5574e114de1f9a9d900401031e2a1ed3d1572b872bbf09ee44d2ed737da31f01de3c0f4b4e1f04674006646103a030e203bcbd2abb7a049e00bc53b1e15f67685e75b0b9cc3f558a165d2ca19d05581e031457658c1b1ea115fc593103711e849fee8e06131ecb6c1b2756559bf00c0148073a99014a972cc004592b43606060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461019b5780630753c30c14610229578063095ea7b3146102625780630e136b19146102a45780630ecb93c0146102d157806318160ddd1461030a57806323b872dd1461033357806326976e3f1461039457806327e235e3146103e9578063313ce56714610436578063353907141461045f5780633eaaf86b146104885780633f4ba83a146104b157806359bf1abe146104c65780635c658165146105175780635c975abb1461058357806370a08231146105b05780638456cb59146105fd578063893d20e8146106125780638da5cb5b1461066757806395d89b41146106bc578063a9059cbb1461074a578063c0324c771461078c578063cc872b66146107b8578063db006a75146107db578063dd62ed3e146107fe578063dd644f721461086a578063e47d606014610893578063e4997dc5146108e4578063e5b5019a1461091d578063f2fde38b14610946578063f3bdc2281461097f575b600080fd5b34156101a657600080fd5b6101ae6109b8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023457600080fd5b610260600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a56565b005b341561026d57600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b73565b005b34156102af57600080fd5b6102b7610cc1565b604051808215151515815260200191505060405180910390f35b34156102dc57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cd4565b005b341561031557600080fd5b61031d610ded565b6040518082815260200191505060405180910390f35b341561033e57600080fd5b610392600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebd565b005b341561039f57600080fd5b6103a761109d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103f457600080fd5b610420600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c3565b6040518082815260200191505060405180910390f35b341561044157600080fd5b6104496110db565b6040518082815260200191505060405180910390f35b341561046a57600080fd5b6104726110e1565b6040518082815260200191505060405180910390f35b341561049357600080fd5b61049b6110e7565b6040518082815260200191505060405180910390f35b34156104bc57600080fd5b6104c46110ed565b005b34156104d157600080fd5b6104fd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111ab565b604051808215151515815260200191505060405180910390f35b341561052257600080fd5b61056d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611201565b6040518082815260200191505060405180910390f35b341561058e57600080fd5b610596611226565b604051808215151515815260200191505060405180910390f35b34156105bb57600080fd5b6105e7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611239565b6040518082815260200191505060405180910390f35b341561060857600080fd5b610610611348565b005b341561061d57600080fd5b610625611408565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067257600080fd5b61067a611431565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106c757600080fd5b6106cf611456565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561070f5780820151818401526020810190506106f4565b50505050905090810190601f16801561073c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561075557600080fd5b61078a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114f4565b005b341561079757600080fd5b6107b6600480803590602001909190803590602001909190505061169e565b005b34156107c357600080fd5b6107d96004808035906020019091905050611783565b005b34156107e657600080fd5b6107fc600480803590602001909190505061197a565b005b341561080957600080fd5b610854600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b0d565b6040518082815260200191505060405180910390f35b341561087557600080fd5b61087d611c52565b6040518082815260200191505060405180910390f35b341561089e57600080fd5b6108ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c58565b604051808215151515815260200191505060405180910390f35b34156108ef57600080fd5b61091b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c78565b005b341561092857600080fd5b610930611d91565b6040518082815260200191505060405180910390f35b341561095157600080fd5b61097d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611db5565b005b341561098a57600080fd5b6109b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e8a565b005b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a4e5780601f10610a2357610100808354040283529160200191610a4e565b820191906000526020600020905b815481529060010190602001808311610a3157829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ab157600080fd5b6001600a60146101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b604060048101600036905010151515610b8b57600080fd5b600a60149054906101000a900460ff1615610cb157600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1515610c9857600080fd5b6102c65a03f11515610ca957600080fd5b505050610cbc565b610cbb838361200e565b5b505050565b600a60149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d2f57600080fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600a60149054906101000a900460ff1615610eb457600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e9257600080fd5b6102c65a03f11515610ea357600080fd5b505050604051805190509050610eba565b60015490505b90565b600060149054906101000a900460ff16151515610ed957600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f3257600080fd5b600a60149054906101000a900460ff161561108c57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b151561107357600080fd5b6102c65a03f1151561108457600080fd5b505050611098565b6110978383836121ab565b5b505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090505481565b60095481565b60045481565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114857600080fd5b600060149054906101000a900460ff16151561116357600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600060149054906101000a900460ff1681565b6000600a60149054906101000a900460ff161561133757600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561131557600080fd5b6102c65a03f1151561132657600080fd5b505050604051805190509050611343565b61134082612652565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a357600080fd5b600060149054906101000a900460ff161515156113bf57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114ec5780601f106114c1576101008083540402835291602001916114ec565b820191906000526020600020905b8154815290600101906020018083116114cf57829003601f168201915b505050505081565b600060149054906101000a900460ff1615151561151057600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561156957600080fd5b600a60149054906101000a900460ff161561168f57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3384846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b151561167657600080fd5b6102c65a03f1151561168757600080fd5b50505061169a565b611699828261269b565b5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116f957600080fd5b60148210151561170857600080fd5b60328110151561171757600080fd5b81600381905550611736600954600a0a82612a0390919063ffffffff16565b6004819055507fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e600354600454604051808381526020018281526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117de57600080fd5b60015481600154011115156117f257600080fd5b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156118c257600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806001600082825401925050819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d557600080fd5b80600154101515156119e657600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611a5557600080fd5b8060016000828254039250508190555080600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44816040518082815260200191505060405180910390a150565b6000600a60149054906101000a900460ff1615611c3f57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1515611c1d57600080fd5b6102c65a03f11515611c2e57600080fd5b505050604051805190509050611c4c565b611c498383612a3e565b90505b92915050565b60035481565b60066020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cd357600080fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e1057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611e8757806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ee757600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f3f57600080fd5b611f4882611239565b90506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001600082825403925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b60406004810160003690501015151561202657600080fd5b600082141580156120b457506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1515156120c057600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3505050565b60008060006060600481016000369050101515156121c857600080fd5b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935061227061271061226260035488612a0390919063ffffffff16565b612ac590919063ffffffff16565b92506004548311156122825760045492505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84101561233e576122bd8585612ae090919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6123518386612ae090919063ffffffff16565b91506123a585600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae090919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061243a82600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008311156125e4576124f983600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806040600481016000369050101515156126b657600080fd5b6126df6127106126d160035487612a0390919063ffffffff16565b612ac590919063ffffffff16565b92506004548311156126f15760045492505b6127048385612ae090919063ffffffff16565b915061275884600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae090919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ed82600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000831115612997576128ac83600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b6000806000841415612a185760009150612a37565b8284029050828482811515612a2957fe5b04141515612a3357fe5b8091505b5092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808284811515612ad357fe5b0490508091505092915050565b6000828211151515612aee57fe5b818303905092915050565b6000808284019050838110151515612b0d57fe5b80915050929150505600a165627a7a72305820645ee12d73db47fd78ba77fa1f824c3c8f9184061b3b10386beb4dc9236abb28002903c9fe0c9268a6426b94625f788763695c54d8ae3c3ab380dbd7b1114c8ee5a2fd03fafe303872f85e4b1b23a11bd0f8bbb537bbdae7d58bc826f891567099a670560329a8fc2fd86b0573657db4835fd03df6802c2d72a72f3c84ec39948396b8510a03cc014487ca2a5fc389328a56aba68b567029fa35d11be1471030f84b357dcb5803d7fe7b94cdcb94278c7eb98922a266621b4ff30d29f1cfd8c5dae7606ed217b403e1ba73d4852d2ab17c13c177a7cc9c9bd9251b16bade280bcdc4d7bb332d644d037a2b198d08304b5394f3e2697b644c11753365a5ad700ddf14fbb714f2769e1e03e3ed13bad304e29a5b1105e37d66e853224e5e4e3cd0a046bd980bcf124f38fa03f7bf1b4fa1177e13c1af150c656136e87573462cb33017df44efe0ae8c65bc3b031321053d9b3a7a4daaac8a7cb13cebddf672f6180bc5a93a7188834cd580026b030868167f6bed549f4f7f8f96d44b610ea8c83c4628abdde5bf407d17cc72d4c403dd4149472559e62ac52dccfcb8e24356992c775f089b2bc4dcadfc8814d56f5e0332ec6ed5c6616a2b3b4afd179f79096e2368e72088c00ebd12ce1ae28baab78c038a9b83ac0743efddd7aa153465f1aa6a10ebe8bb57dde357cd0ff6787b4c0d0b037669182bf22c9872df8a5b204e09503b9b9db40fc95021f00e24140734b4208f039fdfce60cd92d9c60264e369fe5a2a51f97d7272e5527028569cef81d8085d77039b9f2e36eca89595709bcc74e6d49b709cc8b71b807bfb5c66d4a19a8418b89603ee8c02f2b25b1b3b3eda7cc9bc383466d24efd2d608e7fbeb8a0da7bcd3a56f303c6470e90805d116e6a7d2654d711331a87598edf50ddae41b048c2b73fcb90ff03e5011debbf99de9355225864eb2433448caee2e8e1e911539639659d3b9ece0f03016885cb3e0ccb341b7550fc6245d2dfadf8a7efbbd7ac0fd1d9ab0c6fd0ae830345efb9576c88753821adecf1d6192a7c2718dced6091b467acb325582b295d3f00581e02d432b82add9f226922c6e89ced656ff902f6e9bbc167866d31a98a80d54401312d0000581e02996e992199ca6fb33d8da12911a052b5a62686d601ed78dff309dec43c44a65a3b60038263fe081d4c8459f6c2f349cd4b6077978a739133aecfcd6ee4d6958d4fe93b00581e02a8eebde5f2dc0ce640889ac307aa42acdf7d2a577b6005a5e1afbd3ab9439e8b4c03e11eda3aa875433304390fa2a529a1befc3e6cc9454929649fb92d15e43b40e4021909a103af1011f3d1d0dc269c3979be1ef1f6dd054286258ec9b4753443ce9924c4aa44032fff731fd0f69163a9a9c573759698d9bd2072fd9272a689231739518f7e418103729bf7c042e230be6ad54a582af44ec14c0bc7e5364af60919c9e1f8316ef46c0318272e633faebbb4b9a6cabb9703936677411a8e822b4572d0135951d06a263003518bd48ab26530208bf2bf191e8498827e1c2b821f7d242d0377a544f27eef19034af96ce0ec63deb8e6e624dcc8adb5ecd04d5fb1d6dc77f84dee37ce348ab73e0319a8a4a83927548a3f53c3e9ab487f25fbe1da574709d0e8018e6de5adb5354d0355afb31081e13a551f839a818bb64762db90f35aa192746f6de8a615419d847303501ae1dbf6736a4760de7047e13a80d48fd2613b126d0acf7b37e7821e0d46b1038ead58d6552b681896b3a5d0e5c61263dde8e68e6095593201daa65a8de0344a035304d090833fd3252978b68389bfad68b5b1e4ad51e14c50f8666caa9ebb1a550219ffff034c4e8056b1fe7ae19ece2b12ffbfae9236b48b18bbcb0b02857d5506cba331f70363162a6e23967c3f694478709ea69e3df4f2d99e22ac772662082adb7468d7e6032e20f392d947bf2d424b6559ef9a4088fbb8c8eab67ccdd4723f56e7a33d4f9f030f5f512a11d3f3dfd7e23453dc1dbba8b480306f4c29ee939e5aafb968c10ff303db9f16da97fc803d9991b17de92c7e84095597dcba9aa9e8409484ba928025ca036bdc7ac1b28f8fbf27f6d804eeace8cfef4dce03dfe1aa7c8002a2e34caba3fd039a1cecac1093df80ac0678da29dc3e276a84af26c3fcd6246445776766c10b0c03d98b04aa41a5a9160653a4ef953f3c3a6e960b4b8221eb1ea0e845df9044b06d03e84caff7d75be0ef4b7717eedb64ef40c101efa41001e4b338d599edc62e7793038394e9ac3666edbc2a8c7155d667679b2991fef3d9d49e658058e52cbc49634a03603fdccd3731fdd460490f644144938da8249013b800baf19e9c6a982d2f257a03fbac59593ad50c4e375fec71db7b8d910ab236a3b858756814e1ecb635dd22f10392be8cdb0a774dbbbf6aef5bbce58d33e847e33cedb5d50eb3856c3bd2a1b42303f970ffe23af49cd619a3515fd6444e62b12aa06fa5968d19f44a12679fcb8f2b039c2b1957c0c1eb8f5faa3118c19a7ca1a468c73d4e826de03d7e172f31f09eb90219ffff03bf2851b63cb527b350b4c1efcd4db8e57c25e30655f453bbfc01d08c370e4ca4037875e11b957629dd7c425bb45dc68fb9cd2df2703317c3cd18ff21904bb69e2e0371e7e3980e2fb241785bc2edfb0da03ad02bd6a9826b070ccc0379d10ffca1790219ffff03822b17149e8f7b409bdf7f0148928b90f5ca3ec5b9746125c69cddf2cc79963903a29f5df5312d6b9856f1b0dd4ae33377eab3aac97300e72937e8b02bfb3d503903975bfc13016aa22b5d894923e33aa0da7c72952965a07fe110c1eae82846fc9103dddaba42e3f1157551b01510dc91fbb9f41d965d6510027357927130b7385c9b0316ddf5e42e3d190fa6cd75acb829e30843f85bfc695d091129889f421a127e1a03ab0c9419eb749940ada7178b2f874b7abc705463a413ca4d83b958bed42f22ec037b922f586787129f27d514530f233c987ac3a5b1b6e9b1310c93a1dbb9c5708903ca254f74e7862b179315ff87c06ed1193eb937340d9cc5c2e493f490a987ad8b03c4ad4df4f918996bc3ef9bc680122d43506f3d14f9acf4dd03f064e1024c5beb03c60117d89bf3ef35aeaa96e408eac54a04f7011fd90268dd1aacdfd1035cda540346354d7c3f5b0c0518a68f09796231e4da0b8fdbba7d9d284350b75f48513f1f03289fc6f124fcca554148f9e96bed9179e840bcefd386594ec160d428a040c94c03c391437720c02ed8b41f789ab47b137c024694efb5a9ab8f22537fc7730609ee03e4a8a5278fa6f6898ee6c1d7202a187b2c58ee170f5a48d9558093bd1aa3c397032aae83f566c7e1d078e8c8df6b6ea9c5bd4a56db720fd04266d3127b5555cfc603074b25ecb38a96de3ee23ea12f797ede49ddf20e18942867b25ec1b0669f18b703fcc2175ddce9deb804f92103777205574b7466d0293ebb0fe733fa7d7cff638103677a1b4622864d0f70af36d795160015b131c8fdc141bb73efe8d48c3de89857036f0dfbc87c1689719909a39f80fbd830e7663fb453529702e54a8a9d42cba7a5032b4f2ce3dca24ea04a1c22defb36f3da130064655e26eb51275f189cb5853e2403eee6ad67b30c469b63b341f0eb151f83207b984435838adbacad3377667a99d0033184801f3bb9553395a543d652ee797fa4ebf7c49e9fea9cc8bc6be7ebe9af2d030121558e54adc3b61604eb04fa7b729c2ae4c1b388e1c8c80db2c69eedad94c303b509625026c866ac4e090dba82cea714a8afa070f2ba3ce0963214878152a92a03f84a8d664142668f898cfd8e4c999abf6c56bf1ed8458e52ea03893155eb61d00344575998bea8fed35595fcf797a53d739bff79e1ab6813d5f74656eeb1e943dd039880a6193c4d8a5012881cf126383d43b3a60ef6995c29ee413ec3b0d903bcb0030e331bb799dd054fe2a66ee7f72394a287893e25fb10e000812bf57ef5655d460397e03d271f537f1e644d531f5d8c6c270924c2472d685c15acbf5cb08d0d0ade03c775edf30de53a191acf09ff49473084bf47c8bf5b98d6bc0d7e233270d431a60316f83ffae99e71978d1a8ece9b1250850c94489a06c2e24403924c1bde9de8f10311d63a07fb2b85dbfb17ed0e652f312ee0aade883e75b4adc4dae3294aacab800365b3a51688f9c759104a4e30a251994900f3433b3737706f8bdbf9e2b69e9b3f036694fca6234e37e7ca2407a358fa49c7a30c452a74cdc9f13c08f08c9a0f4837034f16f436ff846dc0fdf9321461f38b8b3b152abe3ae1016b162ce3e726bf0f4c0320306a9038119ab0a2f999aeedb88c0cdbbb088ea775dfe9d0cd8f101797947003a586f6ad58533e41f07e024f0f9121ffc3e69cbd1fba58a3eec0335a174e3b5d00581e02397aad34f6fce28879b7e4e29f76a975bcbf9625694626a93dcc48ed3e4401a694c600581e0277823f3261e330cbe8e003d6216533b0e2148a42078ed8b708a1715e4d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0293ec809b443614c2e8e3021ce214e440f48864feb652e8484df25daf125820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02763d0636fa2b949480b0fc3c7561e477f99af6f86ded6cb32885f81ccd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023c8b1d4136129e2c941681c424989a1d33548ddc7e92060a059b42fafd4401e8480000581e020f00a4ccba630f6c855192f8430ee596a5b2f0307decd04947c85703574395894000581e028161b125628c0bba13a64b0bb32edca40884ef0c23b49393ab9fe428434310f3d803129e19a8558abea446c8da56f51231d373a1047169e60052ddc61f1cbe30c98202192ce3036942d5d5c5b9c3f0b3ad178f7514b8a18b3282ab90a22af269ae94bafa6327750317bf12585f803e6ea9c33fc0118aba4856ebc18a54ed4b262fca12491aa3ab84037e508c1794acdd10e916052c6ec7e28ec1bdfe4eb19a156d7c92bc1596b3322703e8f1b5c31a19577ddeb6a669a287f7c27feae51bd280d60acd8b25105562682303ff5ec3f94f1116fa2d9c545fe5c93342f1c01cfca763d40988c04e603feeb9f203e9d72708ea47c157b225dc8876709d04311cb255b123cf3e2b6e0cbf2ebbd24b0219ffff031068b3e75675a15442390ceb9e5d70a79f7b71ac547cbad6e7e0153e53f32f4d03f70bf9705a7fda44e00952d0a2978513252e44510cfed0d9a92745a6f8d2ee2a031d0bed60790582bd859f3a7cf9ec2a4cdcb50d4010f85fe49022bf31048b9784034371e4a0954ae9dd5844cef4fe14536c4a8c334c5de8910bcc4f77614fd9399303846d75a55b4629b24931bfdfe8e294616cdf2be48a4e948bdf55537828c5278f0219ffff03c617f7a147285352be7169b6a1ea37d79335abcb12d32164f06e186d8527a2a103f0ea861828e4d6fe90d033c2d5bbc5ac45986d6a2bcb27e7c534f1591fa5f3090219ffff03ed01904f418e62adf44200060c5954f5a17575bcc319478bb782d7cab61827fb0331dc3e5df21b441c8cdf292f8a5eb58b28e98f8c90a8747dedea4df092d6166c038b43f370af7f8af9daa8e95db67c3e8436136e863dc0e933b853a1e5fcb2532203c2483e642d48d23a7cbdac13ee538f5e45d64c96704cedac1c886d35a3ec92610219ffff03b827561a1d69bfec56f54d2d7c13e93e5d176093ad304a22b519b433f42bb90c0332acf7d9805b70de5c76c3f576a4c63eee85a286c26da48d16eadf929e510590037865626d5ca24ad79eb36b7fbfb6035360d32e39081c79fbaeffef499e86fb9d03dda961dcd3a617a6b92412516a4b01cdbaa61053687add3bd5eba2f2e0a5f80e03b01cf98bc1c3491780f2da660b3062f663352be83a6650372e4b27b691d800430391f0b29f051bfe261e57f0f024bd24eb4e8ae16936eea9b2ba55889837f59d8d033e6eb8985feb1ab36d8898892431a6c96a5fab3b99e5f5c665c5d6e73eeec00a03b00a846378ba47ca29bb8c928febb2e8cc116fc871a99dc20c5ac80a7225fcc4033c27a42ad5d51901c13dc1023036fcdd90748b66a462b916f2e08d25baaef1dd030767d04582bf2a77a59f694fc66b2f8ce49238c42e03ff3dd7a4dea99067977e030db9f6cbc5894e04188dd50b4b19eab3bcd1f4f16e9fecd6525b89c2a84845e403bb95c248d3ce525d8ca91b6da739c2640e54fcd3b4cba5e54da3a2c426496675031c3ccfec07d47d0f635c8a8af82d81b4488f91aec584cf8acbc20f9943f482a0034b69289364a37f06a6d563e37ee2ad207caafbcc84cea47352ce205628fa5bdd03341752018c92fc8e937be6fff5677bc955f2631efd0c96550ae1a3b526ad751f031186b7e317b539b580197c62abd3c58be4d9ed3dff5b2f4dbb7beb3f0a60a7de03f4c7354e39948b161ee0e8e65db78b14327ceb3dd6e4ddad71c4d97fe4e8633303fb633f1ab21f445e79cbd2874c3b371b39107c1658170c76d1a54603dbaab5a70311c3adef3a058a7edff8b1bf9b6b31e46a071fd86d313f659cb9c522817536ac03a0c8c6258f877aa8c3e05427b728c8ee51230736a0c2f8efa460cc064d73942003c526596e359d1a23c508c7c5d427fa1bdbc307e0110dcdccfb972daf2a5a645903daf99a183cf3fc69caefaaf7b2c02a4da4f481954aa4aca681a61beb36d1f20a0342c9422c7dd05f6fbf41f3e29966c6ec61ed7071663e9b205a14b5ffbf77f11b0345364b3e185ce3a499ec4a5dd11b9524290a9d9817d48d99e8758e151d528b1d0330219e16d2ecb408638c7cbabc27eac0e109d5245b0fb5a784f5a8d6c8b714bc03fe7bbc66fbf3f594ab87af788d8787ed0f2b97be9ca22e4d41f6e864cccd120603586a08483d68615a676f85d486502c1e164886c5781b5531af7709f216dbbcd9033f91a8486178e25e406026e272f89bfad8a5144bc62bb19c9017809c415e478103d141f40a9e0637fa4b7a4d7f642cc44df1248dddaf29f6e0956877f57e3109a2038b1c20a1d78357d6ea01a961e4bb50f20c2fda4d6ff6a0986dec42b425240e2a03ef2072755007650959c317d5ffd3615ecac884880cb1a9f6bfb7226dad09c47c03d938934ca18ada87bf5b1dfaaa0339743e7bccfcfd50c6689b26142dd2f0cc2403c016cba7e60f36ae8956b09e18d53fdda8d1476745554231542186d8c9ddb48f03a059bd971573515cda3990ceb521e19955f3c02e5d0e9379454f8bd483d0c99f03b08c024a582f3a2ec5cb79ecdece83d2cd46f6fc66415bb394f47b4870dce0bc031e7c121700932eab185f00b872dcb00d87dce0465abffeadb809c474ce9c27a30322b9d68ec893e46a41c316bde1406b19b1b15e51f5c35f3dfbbaeff3e302661e00581e022771e84716f4d3332c6efc137d9fa979719e70e664fe27935ce455381547038d7d8a1803b003723c2be5593e7d8f85c4aeab316dcfaee9254a66a1c6c25d9ffc61e454f6906d00581e0240136e67576449dfca3590dac08ce1264d0f094237272d49f48ebce751465af3107972ec036634703c405b8015855bb7bea0084457878c1b806f1db3997ed8889a82f85c9400581e0372bb378b990733ebf795b262429534ca16e6859101436d9cd13249b7405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03e4038824e8ce5ddaf0113254645e60a6b9d292cadf4d894837679803704408a08b4800581e039548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054c6cde7c39eb2f0f0095f41570af89efc2c1ea8280219280400581e0287cd34ed43f476f40ac5bb2778e4456f4fed830761aa182cc3eb27f1da410100581e02db4aba65e648cc05dcb2b9ee410c79b5fb0ffdfa38b5479f0607a9395858200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b2c5033b87967e51dc7e5834d589ba305b67ef1d785997669163153c42dada4e5187aa0219ffff03efdaecf9b00a856d41a89f0954e2dd137afcdd1affcbe307c886948ac7f0ea04033073be440f3686e9faa542997158646abd927b4f537b4e80ed3581b3fdd3f8300219ffff03544fcf80242a4d12bebae3acf79b2c8779a0bf140bfdcc01f5030f3c2ec820b3036e7bca1ec60ea07d88c334b71d8744886d664944020affeb9e9d92d0c331f723039c932cb7ebaddc3cf21cf512d73c895afaa5278b6c386c3548697fee98454d540310642573175a52da4948fa2125f2ee1940f813e70d45775f922473a4779b9e9d03ac9e0e944fc3f6d3b5bae3af77c560fc45575d574d0dbf6038234006221e0f370383dbce535fd94b7e2c5f9ad50d4a25e4604cc9f2c4e70b33743f036b01cd2ee803c9d5498d7cc693a333574974033e234c74426440c92ac2d740137e153ebff1730367fe8ca1c5954d554410baa3fe6f1a07c334fb700a5b5d78aee71defddda8ebc036fdcd6155950bb0f2b38aad8e75c3c992be42c68c3c8de1aadd546d9053f94d0036ed7296cf5c55c5e261758c579dc327f079d2596e2524e3a085ad9ee99821e0a0346f1cab1ea899b1438c2b8b087c6636c062dff5484b434f16a18f448a68515c0037f3f9d27dc329e0b31397a8efd14507e5652b6e09a693025c0cef7bf3c158167031500b717939b313637148b899d57f81c22297610b35b1f4e535bb330ff92d4bd03b3219ae184df588af4d1a3fa63a6a23c7b1f11c47b634e0d1f9275f4e24e38ab037c3bd90d3f02b5b5a9d6d829c6683de0f265f3123c1344b11c5f6508dda843740219ffff031ba92c254f1d641b6ed8f47327d351422b24ae884e05530024d8aeb0b16db9a4031d8b6593f2341d12c9ac10e28deafb6681e27e9f50c2a320dc31b7267437529203e47932645198a6ada1bfb19bca30fe467665c55e252d133417edd0b5d9c02c650359213c26fbe30345c5914fd22486b806ac1cf7f408f9f1e2d7cd6b6778832b6a032e369e1c13f62c45f00d4e6f9dd30487b9ccec2ff5f96f943bc9f91393930d860372255f40bcb76d27363a2a89d8d4d6ffc697f56f2ed89aa1bd15dfda5730587a032cf4cdb12021c9212d31cb9dd07144a3bb78a47df5debfaf6fffdbcc68b93dea03f0b2eff05451a74c9ce10e7def67de78ae6200a6664d7cd86442b403c4c5d07c03165b2c7014c7a7b284e7e9449d98fa9c869592e516801eba48cb163ea22d5cd30373e997cc00ec41ca909b6e53117ebda7097e8c9e621dee17f0ec940bb51a2f5b034977bb8f29243d6c67e59a32774bad7dec9d5e69e36f15f5c532d34d60a82ea603ac35658162d62064ed3fa4e7608572b6e8c22323be6312e4c21d0a0bc4346641032084b6b0388b4875297659d757a3d9b0a69224c228797245c6afb41bab5158e503887bae609d7f54e6f6dfc87cb072b5a80168ccbbdfc5a7e7f8a8b2515379c78a03ec7769241a44e111b3798c9c2e358e7cb3653a0996146e8c14a6b06089d4dc0e03c6acc6c4888452643c414ad1f46789be9396dc2f655fc3d1116b622870d3b8eb03b5efce0edd0be2c501dedc3ca75f5ce5f6edd8733a2897ef48458ef5920ac9bd030db1067c674cc76c3f8796caa2ef5e855c2b4a3d47d23da1096ddbc00215cec103038c66f4f82a58acdc7ac4ce81f935a6696acad71eef96b5d451ee18b3a0446103b05d9373cb0b3c3bf683586523f21edc4f6c6af26b0dbe029fb0c0aa09dc1e4f03e2d385c943573f090b578c3a82d93f79f630cddbd68931192b6f7b1bcecf460003a8aea6d4ee0e501df8573518d66467b9f9e9f6cb4e7c5d808caef280d4830b58030ed0d174488d60aed48c417644601ceb365204df21a41cb76298b285f96159c903ba952f043568a55c6f8c9236e1b8ef120f3f002dd6da3301d4f2456019375c06035224f9f31c3d12cc69d015e4fa4705e0fd6b43ba69280c26d6cff2991c15df3703911b4ebe548f5a18dc3c3a1b4ad34f38383c8f3f2e1aa4093c080b72772e54eb039e964cb2b1164fbaba0162da39157f13cff84c2e57a101c11ffe9a3c28461f2303cd689ae93382641530f55937c128defd4fdf16c229b6d6da796a4117f4f56063039d1bcbfaf2b82923c30a5bb6f700a30418e31bce25a42482f641344f170bfdd4031622124cadc9f818ba3c72e57e7942169681886cbb552f519d8c1e08e53031fb03882a087ffad6d4d8a81845cf1efccbc17c5deb230039cd1c78ee008c489a42370334802b34560a24717e24076bd453cecf312c037a54e06241b27dcbd27b9ad67303065c7c884e1d1f4bd85eea5be9836e8a17f3a52fe6f4860da520081df04b6862032400ac3f9b7320f135a78a5cf5724ff24c00324236fe8acc6ce6002542144767037f2ff108353265f3ff71a1fef3d5b596ca84c78a519c8fc199cf7ff72fc8c4fe03d6168b70d0941e1184aa4c1226585980dc25ca542cfa4c7f155711b3a303dfca00581e029430f1a0cf7e5fea897308c7d9b4ec95a000214b1fadd1b4dc95a58e4944a334f08b00581e028b9bd7a6e037f2f079797a8b58fd4549537c9a5e64017d7190ed35ad3a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bb08ca2d24a150aa1e00a9f95cd5b4e83e62b44071627eb7644a438bec449ae69e3700581e026f1a609ce8031a0276117f43dc629cc3ba18dade410f404c38eb34e09e4397072000581e0312de0132af44f7e4f03f2fc611e18607f37317b7c91b60255a021a152045d9a0ef1b5d00581e0335d0cd3a54a0a86152e33476ebccc749fbc4cd6c79ff485b390715da504405f5e10000581e03a018519ef4b97539caa4dbd27a614736cdbe294cf0df956aab24366a9041010219108203658c82954de6c058f1ff9d4e13f6254085cf8575b55c2046fa8f8ba3bcbc14e30362fdf5d69156958911e1cc27ae565bb724050d16110f00b22cde5e30d2c7448400581e022d85eb20c7203e94b80e717ebf98a26303ebe7ca23917d078f5fbbee98439884970389987ae4e980f6f492de648cb3aa6107a663378544b2f958841ecd442ae2c92803ec11b154ac20a253e0c95792950cbaea6639fcf06f7241daa1e5812d74369b9102196d5b03bd268d6ac49e63a70b855bc8515f069044bd88dbfcec67d2741e31e3f5c2ec0d03d95bcc34926a803641d2e61645e89fdd6993e5f16dd870d42ff872a1791384510321f24e870eab7df3fb9ba6d7f9a5e1610d6372b546c79ca624def914fcf6d2c4036dc184c0bf16dc0e597c1c9052050c12cf7a9a6c8122eaa7676bbd05343f590b035be58b7c09b37714355eb47c86c0eb8b2cf5515a4ca48a3a20f0d29c2c8f47980219ffff0219ffff03c0cfb774fb9e07e404751f8deaf5f238c96165d6ae0f39d2fb570be0521e2bfb0370a3b91f3addc49afc631f43864926caf5500dabac2b9bc2cce27f4cabbf130d0343e791da61b70307553298a2dd7d6c13a7f584937a15ff34fcc7e64f10b1aeb303c9f3ce35ec7a176bd13eee656f3ec21ecd410916336684e8d3047466288a7e830353a2975c0ad8cb7e22147067543ca83aa9e48d4ec2ab88eaed3653e7247723950360cc89944450eba310df739f66e5243347d8a164f1f1b1cbd9f9a20a13de47da035b8574fb507d7ce907b058f6c9ba67e16003b53823e9c1813a86e529249e7a770219ffff03458934653d3ebab34a1a752f768e852ce99dbd3eae1fb39b1d2aefeee3c2c318035e683b571f4e8b88ba0d953ddeea57f254176caaff11956c0d8543995f6545850219ffff031eae0a744a6acd91892362597cc11badccab8c979101b655beb8c7c68cdbe65503b4f461bc92aeee26d806e912314d686bc140e44955aaa8398fcfb01870db51ad033affd336aea27a0187ae6c74bd29d34e59829ff0a5d4f4837f94d6fef8fff3dd036b773679a3318ce198e2a87b2311eb23dd74f9cba2c04980dfd9e79d4a62bb8903296284b9e67b3b2573a96733627cbfadd422b915ce9aa745c86a0d7be5b2ff3a035ceb435a64addb13513a3c08daf26ed82e379c2a3a10eef16489ac218e22ddb8039936ede9a1d5c615c13afd6c1d954dc997904713a5d1a7de5143481a975f524a03676dbcb485e8194e1b0296cab0d404f2f4aac24845eb816d67a843b0d3c1f35403e02551d1fffd99234b5965d64a43a9254f877fb7702d580440d05ac993b799e40389422e8b5d37db1105a00715837683eba7804b9b1cf2fdf52bafa63e5cc67f6a036f4b3e2c7963eda0267521ccf3c9a37716cae0ff88680fb6c4a6f31c09868689031c831d7ada435f3b6777ae0aa266e17ddf0256e50d2f4186e67b4cb2c4c436ca030032da23532efa2a357194b5c8ec454f1ec8fcf2a71bd19f4ccf37606b68c1c2038bf0fec4f7816efbbcbeeec59e8291881669f9db97b9f6a5944c83b6ff0e79ee035fbc916a7aa3d7d2c63fde0a3df4c1bfb8940b8b31b2df3da8aa93901c116ad300581e02fd92d2c2b4518ecd648c4f5f226e7cfeda7a2bfb6ecd42ba7e817bfac244024565d800581e02975aa8eb503bc1d16886d3a864b27c5dac29815b575a662852a573d6c6430a70fd00581e029228ed7499b6a65bf3111451890bbee2d8e1e2627754f85a3752f2d7975820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021ade7d96b36778c7b6dd8a32ba6cfc859a57d8b2b93f3a8908431f2a2942234000581e0209ea83293e3cf6dff2fe74d8a5768e13bb81c7199d499bda4162507eb1441b0873f000581e0202cdb900b266066ae8dfcb9e674e3db3a8eeaab0a1312f3bc43022929d44273bdd0103621c72919cfd9cf532e889a45b45b2b72e86490bb38ac01ac112245ee18086d300581e0242d9b8c5991a0d7c7b395865e50e41609cbb7cc41ed331158af8fdfad8422710021922eb03d501b296acc0e0e76c94f618224c43b4c18a7456960ecdd31c03f11ec0a124940348a4d6933157c87a1fabbdbf3f0067a97eb477d8ea2486575258516dfec5cdc30310aeb109f43c4457a9feef63be306130ce79e3de419c1550b8f3f6e765fb396a033547260093441b5462231ef9ca63b10c77417f9dd72cb7598480b5789358ec1003819b105005d23223509469591cf97507c1c5f4897b3218f70f44deaf56c6d83203eb0e1865dab48d41e115c2d7f509acfce3adb113ef27e22eaf58d505041d5fff03ba0c8dd614796aac9a75e37819eedb7f8a72b58dfcb9a1b7460b3a8856dea06a03cb3a95c491436526b6fa1fe1abb11c123bb079818ddfa8f4ca1487257ee0d7b9038a7fb9527c1380192b0eb96e2b3de9b3076fd4a1e95ab7eceebc8cde733c431f033d84840ead2ce65b986666b0cc4318a5bbd798cc64ed003cd125a1792cf8c29303383dad97d3a3446e2ce49e15c30e87fa6f1bdbece69ab1755472d4ba1599300f035143c989b1ecbc4069e159dc887ef9aab0831aafd3aeeaefde4aa370340f2b980219ffff03f322e64f1674bc9c6459e69c2302b45218c1dcc3c306fe68c5167dd35368d2fd037da30b14a97ac5ee9062ea4c1ec1637c15df4e749df24aaff7a804368a399a6103e6f0ea849994ab03dec9efd88b7f5bcea5de6b1a915288f02f27c1c01ba761c9031e5e88cfe743f7dc8be4173231942565ab9fcd684e88209469dbd950ca3300d0030882bdddef8e8e97173f9ca4d1b8ac98b402e1b33b43ddf02f2626ae368f10e403dbc4cddcac6cdd8e2390ebc85c08692a11a9422fac7640341619883e300e1e400344a8c4ddd6083dac2e8514c2604094f57a9ceb04eaed419d5326dadbec6385400219ffff036e876eae3f5c77f53a68758adcb6419a43856b1aba376cce8ab954175f62824d03ad1195585d69b7ce124eb20959c67ade9a9c51412e7c56ab49cc3e5d9d62deec036555a3296b8d915e7edfeb96d040d87ee4bb8b76c878dfc052f64474ceea779403f1eb4179d1ca7518e0d60cd0b6878223177846e2dff1f042882173ffb33325fb0388dbd14610fb22c748db0876c8af5128264081eb97ba9af1bf444cd8c071a7d00333a68606c7a327d55636062e6cd9b54dee3ad9d2152c206f55e1fb3423620d4603de4b6af08949e51d1bb2f24b2bf80a2175d4956262c7a222b7ddcda5894c391703beb8d38a8908702f7a56685973fca59b1fcc80d6cbe438d792ae3dfa8c9e88c10330afe53f091a19dfcbbe0d993a51e4810b89f11523b644bb5e7375e8f36072be03a0df2c5d8570802ae7f953fd5a59fac1a014b3eb07960dd9570f2e4e4cb68b2b0387128073bd39b8fe35739cfb96bb2e353a204f487ee48cd24815cda82e6b0d5e0219ffff0375aa3d017196e3e93519b3068d75ded0dbc0f8ea4d7b4793e1ec7f1c02efd546039472e8f70c75bd9c56f28cc0144e447801954d6b2a9165ab148ce45fb5fd4e64031eaec627d7ef0747ddf698798e419124baa50dc74026bed20e3281cb9047e74703014a50c66e4aaf0b80bbae23a5aa06ed7953c1cd75297f48c1609a818a4a1ad403818528961a9b522bef11b8b0bc710d6b481083dcd478bdd8005dc2e7be2630790386fc6a2b08edd976b51d44c43cd9ccd10d5b12caf954be9309f233f975b4724c03037863b717cfb68357d2cf64ec076cbf0dba01cbb4deb6a6e0ea3df5ad43da4303b9fc89bb973dc980b5b0e936f54b62e8897625190696a0b8255d20059b7c6e59031bb7744cb876455aae09c4accad3de6dfcfacab90289d41713cb70fd12c84edd036acea2a9e4864cfa8ead9306f6b1ec35877b912054517a4b0656686eca7d26970358111f4f50883313cd86e938697273f12d4113c2d39f0c8cbcf93b381a3c2b470362464cb7cdfab342274501290ec2e8af42cb6f2458855c56c58280eb6a5a7ed70311b6abc4780de5bdd8940665aaa4cb18369e4ed3a94e917310de93743b2af2080352e0970022df9721c9c331122f410cf7044a1a0074c1955f5b73c403aad7483d03efe6195547a94f0bb79a811e6f502bc62d608144b60e48be5638ad01e78e323d03d51808b64ddff71a0056208f5652413b64677817c9ab42ec0d29a63281356ec103db88c969569cd15bebf6ddc3a4633389f177fb09faa69ec73cc455b95eb8274a0351ba4c307db581f2ca1ce0aa99d9c18ee1e1cc76848a1de8a91ef9e40095992b03ddff8766d26448dbb5ac7d7da500075b5faecc13f03c3f85c6b4591bcaffd0d603136c7375aad79e5c5b8f2b8da2d4966820bdc6a2ee4af5a8bfc40eedc4aedf1f039ab4b8b7b5d6ee6e20910ba873176ce7af4e9c15125cd6ee340ca06729d27e88034bd227067312e0adc91a469f4e4b6dadb1eb2b5f24b797b291142c9e502dd4d2034f38546bb49125c3bb4134ae5acb950178abf462b8315576c11f41df121233d103d3140f9db744bda7df10d055246e518ca58fce816e5169e8962eb4aa92b4628803bece61b70ec2fc11eab2fb0af1bf77afd2248fe86051589bdacb4f262a62fc6f03158a3e7bd5a72f97844a11030d2eb39b930ab189b54d130bc4f52d1e648e161100581e02c64180c2c732c3c19501814840e14ff0405d8fcba1bcc2ce6b01432d685820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032108c417d7c899e986612303e139604dfb0a20191d3106a829eb46b3944c1e2a03a0d55f383df6eddddf0caab0aebab7a60bdb6be616796e21fab2f5e3f050b47401410f00581e025b401fd4564a374248e87a5a33e8e1099da4cced6983397aeca0d982254d0c9f2c9cd04674ede9c8ca6c0000581e03983d454f2cc85510052cd937b9444af962bb00b942e85655ee53001060452eb71d487a00581e03e2d304abddff8bca0acad4879a90ff5a5e7f5fa42fb0613ff7f7a199b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020900581e022956677f9679dd6c7fd1a9695df18c64131f10cb9ebc5d3787336ee229465af3105df5d000581e02c2dbe044f122aba3e922de8e671e9f139e682f522f141d729bd0f53d52440a21fe8000581e020b2e206e37559cbf1587d5615a99509e7d8cc481327f3ab0de722b15d0455d51b8b98d030d2c53a31fcaf3ccc855f4f6801573a9756fe9dffe26c1bf3b0c79ac669f7e720322e6500283c55313b864af37cc1aeaea31ead02ab04defc465f0fd41600f845b00581e0255ed32f4a78d9e8b47a28edfe674f9497cfcdec8b367fb26b5e5a422115820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02197e5f03587b118a37a80ea16536d6ad2f3e3929812b8130b4e7f7725c633a9a6fc4176303c358e4e8751b88d72585e3c2624f378bf3c8d207de48296442adcabd8f7b25620308e756c8e7c6f02c77eda182c103211810d8175f28556cea145494fef27b94b403ba44ce68f484af7c0d6b4ce6660eb4e3ef6c8b3d9be9f79258e6cf08b51b8f490390ad776920e372d067571596610851d37ec775ba7773920d9b837564e860421003cdc0087ec3589d70ca0cbbc45ab6020a71baef81fdefd6033a18765051e1847d03c10f6ed41b9129966206697a995b9dd399975f2763e9f33de37194ec93ce61290219ffff0301a578b9c67b1bc5a1d1fbf142cb83798ef4447cf888ffd69e17725bdb137afa0219ffff03c05dbd4da30a9d3bded25a4772e1a860af958743931962402fef6646635f28520329d0e8fd3d79239295205065ade8584284fbb9ec90b2261f49d17f8b71a1332303e44dc192e4811087a1364fc60a9dc90c7ca693ac9469d2c68197055dda58c84003538f00bfc8923cebe8ddbc054d88332ce570f534168e8ea7e39d1696bf9e9b8003293c7bddb88c993011d51b3131cee0ac8dd06027522dcf0676c9ca17cd74a48b030884030a2d435eada623ceb4fce16880e3a5f339debd6e059160b7a5c3963fd3031e90fcc814d507607a472280136bbee84c2273b22b14aca001859b852a4d8f1803584911e71e0b2e26f638856e3ecc5207df27535dfa2d8baa5ec5bdac65f1e2e003bec7536b6518694c0192c6040b0021590e34bccf8c70132e6790446456ea251703dcdee72923adb8eb8f35b864dfeda29b0242b1f73c16314d3303031445f9047b03001cd6e7bf1e5240de217747f8972d1daed951a1c240dd3c2085426a7fcf4ae50368974d1319aa321a25d7ee92e6a8428e8488831b02bbfe7784e02f12a280a86103428b23eaae72221d6ea2568bb80ca23e1df756bb46b15400e0d339946351141f03b0a07011b07cb6b58864ba223cd7c67729ff37e67ad366e1adbd83c76a6272920375345a1fa9b462425a8842926ea5d2132e758f72b090d6247111f62932cef0ff0219ffff036245cc6474dc25711946d9857b83939e6ef1c0bc44432a3dddf5406bf6673ac103705d6f11dfb44d023ea021c95c00c91ad6371d5e89ee94f4b7c9cc897c65a6cb033944c937ced2763a7afe50368337192617c1a30a3c385526ac7037c18f399585034b355ba5dac795c0c8eb6bed301a754eee0b71d4793280a7f5254173e314499f03410ea91ecfe079d312faf3155abffccb1b7130d1f1a1cf1caf9ed9704238073d0386eac04ca5b3edf5041ac4f3990645892bb1e8f2200e99bcdfb00c8bf549345903605ce3a5bc1604aab6f15b0c1242e31ea156632f28d780d4f5b6cb319715ea2a03c24acc6f3305415434a75980658ccfc4c6366c8542bfe8297f4b70a5901f60a003c4638b8535e1f9882495341eff13444208314c91b22a3072ca774e10f3e508a0034d0c8ea9d1c3b6059bdbd6a361ddd9726d7dc931693e73d7333e1eddcbe14bc7035fd4bf4a77c6269cc1958b3f9ce6a79c266ec220fffee6a627033cdbeff1ae120219ffff03a0b202a1186275fdb85472449aefff475745009e3b59aa9984f437d28bc327cd034d867eb1f9a7cc0670b69e2f65cf703422ab9171865abb1d091e865b639f57fb03536dcf2a2a03b3173959d5e6e3b35034c7622602946a62e1e3faa71e34e91b7d03b3e2b6c5224f468c26f5a4ccca09208f543151c17a18569d20ad3c361bb9ff750399d9e39c23e4e4d60c1a0538f280afea94e0908831b20ebb7eb20eb86c5c077903f9394a0df9662c77343bfa0226288d04888b091de3859af5754cc161fe3f5a5503c6b41b98a51f22dd106870ed437997ab7d5ea82685e05bb56b74e693df826996034f0448fb11ea243956e8d03b54abbf0febf620c1c05e8f8a5881aad55aa5ce3903a60a2e88a7ff6354508f7b93a80ba0dc8353fcb57c7b3fa97a6b98868cdb7fcf0354f4a9885a6a032a5e09d478bcb7d570acfb2402934dd17b42b7b65b6d22bc7f03c3b11b801ac60d27b832998522efe976e876b69e0bb8d581831cd357074aa6c203f8f37583270fe1a228eaf3ff1f6b167d472bbe876cfb36ccd87f74fe9d8739440397a109c1023f48280976de442cc8866d3b3841ee8f7dd256f6f9ccaa863e0788036c6bc8fc489180d40dcc45d6b56c8dad0d6c1ccbb8f7e1fbb151748df0d5847c03b3180c4ed77115163b59c686f765ff75b3d6bf103dc60d39e844fbd79e311f31039aedae4890c5b8c06dd4a61acb148c8c095ac3b3e37f72b6e9376c0f48d5ab21034c081d2a8321e0d2357f7dda4eaa23a42b9ea6c58b453eaaaff410baaf6798910376f955d3a717163ba8ab1ba4d9097d05e44b573533ae98abfb0826b5172d72ee03db43ab2b81c76e5119a606effb7d75f71bf8849d5bc3774a841749723d77713e03e1785d617bf4b121509f4a161e727de66be32cf4de114d1ced7e927870bf188903952f66a6248d3eb7f3019f5e4b7fa45fc5e23d40772518d762a368563baf3c8203772a34dc2bd78ca716597c1642720c06765399921ef0a620c004f709c344ca1f036f69dee33b42e6fe1a9f116d55b5b826bb420d260faa0874db38bd815fd456fb03529e40d4c7af8bb13a0a5741c6ae98cc2d177bc1691b79a8678972dc73f494d803cbdd1aac6bf0725c1e772756d335f7b40d8c4c941a59d37d83bced523d656703039ace93d55fa4f3b317c9bf27454406efd9201c27551085e6f932b52ba53a58a40367c76f73640832615b6461d5e1a181c0f627bc88a60d146e97e3ebdee97f4c5c031fec9c7202325d1b4057161b6ff1530dd6f8c1742cf7000194cd0b508106676c03369fe45deef349cf8cd3288764daaede6ab3453dff6969882ca7078cf09e3ef103a346b992654691a349c6a5f46da0626d55b9687ef29a439c683d498f39aa339e0388f56e4a55e40a9887e1d76de00780889f9a641e8b7c66aa8f74d40c98cefbb90365a8382c1cebc8aad2575ce23ce6c46dd7e5fcd30bc9e1ea852682290af3706b035f2dc0d993275d86b35da21367ec599fb581a006cc8fa1b1a7a700e9977edc7203e610424c605c5ebd89ab2d5cf952c029bdb994d6cbb8a730b2d9db03e71825e403b488fd181503a80d74f4b836ffeafa50e1eed2dfa61ecf9e35d38b7eee82e26d03ca7cc0349aff3041d6bd962644a9cac00deb8f4c2f13a29e6ef57ce80e5c289803fe78ecce7e00983d317b4993c529f221df3c03eb593bb3204d626056bc19846a03ab9b6fb53e19bf73f50b5b8fb50a801216c32192a4566cd511e54991fbf31811038a68dd6fc1e5169d7be863a9c4d4bdaca265e0e82daa85de20417378e6f459750355eba3f908514f48de952f4b9c685884984252e165b33cb190933d1fd0b16bcb03189f3be13df4780cfa9dca4fa043b93b498ef8724189b94ecf9ee122c74d36a2030e3b87abdb62b59e476d99795f2133b025df01704874510d642efc9ff52cf5950381dc1bc2de0b2ef3d447448cea8660e5ce82c278b715d34502d191ed49d7649003a8db3c08d28d9b0fa6ac5c63ad14a8b1c48066c62a21378ae819af0aa2bbf6540354b5db4766821a67fed80720fd4dd3e6bb511b7a9be8c5c196e586cc714e264a0313ea7b384ca77352044fc6dd0e2ea722a32fbb4d5ddf03f21d5d4f65e5c155a3039e5481c012c6413c5af81b94a28967392675d18cd56a9cae8432f9187d689e8400581e02032d51edb0f038f3eda3f03f6f70c199a1ed39f51df9b5400dceac46a15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02829da5959005f5b40b6808592c6cd54aa4ff17777b4d659ebf3ad917e946455a77ee14aa00581e0296308abda6f7f79bc8dd8038eb0ec3121469ab073681715664b184f9ec430a1e9a03dee7abb8ecb3dc252f1a3229ed25167dd75a4b8765e28c47fd79f427d302fb860365a31efb9e85f8581be45d786e5a2df4579f286b4691699ff3bbb9b70ee65eb303bd745e6388f4f4e22db867cc41eb87734545210fa23b9d5a755d301d99a64f7c021926c1031f03783d427bf72abec2778438853520a9e5ec36b3186121ec1f422c797c182f0385f7e853328627490f1a3512466d1ae4effa13f3d7cd7c536a9812311cf126750339b981c69611dd131d3e96fc5fe7681898f4521c6beef641f60e133621cb79c50219ffff03dfa699e60ff587f98482b9314b2f7c6b0eae9f15497afcce2aeee3ce5e56e6b0038130cf7c9803abebe778c76c93190ecb2cf459329ade9d725fb5268217cebad30219ffff0219ffff03705abc1d53d209cff337fe230dadccfc9620daf94120543eabb72ec855cf8676036144150d2b280b4917c120f35550ec61a0348ba2de243e3eb4be7559715dd47a0361fb3aece2f261ee53738ec3793f6e0245a41b2ec1f9211c4df3d2550ca74ce003cc9c26694bbacb362c8d8fc92812622fd3eafa9483db2f96386dd8cff5adb4f003076000116435434b8c69e1434185e203cfba6e8ccadbd2ce99e74b8972b0c5090386cc31c6314938178877c71cfa3429d47f876f2ebc319f79f23b07f0dd95ccde032fd84d82f749679cea016cbbe02515b52af86ab67d5da2abfdf3f7701dc9104803e73861cb9b0861595437e863de511b37ddb60009a3f718db42ec7387e644157d03867add534b2abfdc2a4cafe81af7ade996307c3748fb3d50ab4cc8330a13a38d036c5dd2b0a68d5066e3d330b469f074317be3a29ae826bc4898459ed9894f70ea037a55ff35daa21bed3838e03e0fcdb22a8e4baa6dd121df3bd0e89a22bab3b03103c37ce8e3a6cb4663d7763ce45aba8f671a8127c562029adf9bb2c2bd7745240e035c31573e651dc5a17c237d537473d6d5a10e9c28ec805ec5b45afb01325a2d93039ed7595bf7fd77fd8281869c3c2d192e56739e4d23cd36f0b55c9fffcabc526a03cab2a4b31b2a83d486cedd2b97c5996643877837dd6610414c7580cc84fe915300581e022bb58d37171b9861ea11e548276b2edfb2bcb0d2204bb02c16a0b932025820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032da2aeedd86fdfbf8c8cc494567d385fe8d9e4cd24a0322d21f956332b69541700581e029c527aa4c3ef311769470e9a752ccb1c492737f041469a996360b93baa430f424000581e026c2869b4d5e495c9068fec42b6466c098aff5481fcb2e9a49849d5ef054b4a817c7ffffffd0d1b6fc000581e02ec9fdca1f5ff3a4453134a6f7c783ecedb3d923cc52567137c738ac943495562504d33a266f3d400581e021dbfb05907a61cb3f73297cf1244193daa6b34e6cba8b13919c1e9acd34501387b169700581e02002c80a92d7ddbd65a53e94f6ee94483455036813c157f74b466cd2c194401967da4031adae21db0bd25ebd453e05d7141a91d2438f7f27501deaf2f19cc5b20e18b0602193b340326034948fdf85ea77b1a6495e5832172b91db82878ce4a8c2b00321e3da0f1c5039b47202c08b1d1d6a87212614127fe92a173ecc8ede1366a50025b85dd611b4603c3516227cc1f2ff0575394ced7376b65ef6c8ca7e381b89865197bde1930c989034147fb5e2b1b9aedc5ad7866722591ad9ac75f3d3a65d24fc51f23b5e8c226fa03855030ce842ef919a3b5ed4c685309a8080b8218e5d501fde2ed3f7c0f3c0989038aecbd68aca29cb3a4f9974d3f93b2315388943f59fdbe30d6bda48853972c00033429abeac414748767e98a4669670efdd42a2e6bf3bd78a3219fa50d622e790b03868de5f7a619e52b4ec54c95608b00108de3ed61e6c36483e09d8f13775ebb94038fcf0f4cb77252590ba5d28e368a56e972f2f344e61090cf68a0ac121031fb9c03a87a0ca1942be75f85e32ebfbee2a7d5fa2d657de51b49cfc86badd78339b37303455a30cd2fa2c35138897ad02f00fa1e4b3404bf25b6167578da614793d8053903ea022f5f5fbb3bbcb349cb79d071872e1dfa2cc447820f4a7374a827cf95a4590219ffff03766dfb9176774123725ac724b50a958742cc964250155183ec5716d7e0cfdcb603bff3b2163388a7055e61e1b4b4a8b5ca6618fd008061ee26f4b9642178a56af60304c558e2c3a281dc66d7a848bef1ca174f39362d4af81c21b345b6a88b6daaa303202e7eb1209be6b19469e7983b288db479209566426cdb87817829627f79ac0e0219ffff03c0af11120851d9a27caa09751d0aeb2d09c5b52810662ddf9901eb6dc58c03ef03182efa574c2d0f190ef623ea31e67682b4fbb55961d19a3de607d70be96760500306a3f98cec18b099e05e7aadd17c1808b7f720e0cba6fb763bfb8437dda4c40b03aa165d185a0e393ee882e87063bf876768f195d461a81316f270bae38be35bca03027fc29c750727444d6c5f842affd6a5e73d3b3278af251130315c69d3e20c32037eb84ba0410ee9f40e8624ac9e2fc33ab339c01faa46849b96ca818761b563e0036831ed6e2b2e53ace78dee69b89757be33b94e7b9d290694772270c2d62956d00345e9b66ad956415740fc757c0778b3233261d8b7647b21ca076e22569b15bce8034b64312972a963bc77ca10d91b0b5ca5e668e28714f17577e5aa27dfdd3912ee03f1bf9792551fd417f91aa0f3a43b672e1d6ab9b423431793f10e8bdfdb70a85203f38109c26965a4009a8cf98724f6a37772b29ee1efe36f6218a919aca51edb7b03920f6a25c36f0b3d6c655b8ce2d4363d890e2a261475bf07172078c833342c5e03df85b64734bfd3047fb316c98eb3aae577e6ca7634ebd64ba37e637192da90620395384a9664c6c0ab3cb96c0a1a9a51303257d5cb3e8f759bdf13eea3bb25ce290219ffff039dedfd80c251181ceae3c37bd7a1279c458354ccdf7da705255b66b9658e8f4a034d4203ccae47e7f07ff678df04b19b7954f1add48d9eac59aa435eec2efcdc470382a00a49047658641f0f07dc5245857c67f14039c55ba7de3249964d568cfe93031bbf139409d0ace05b4339bcf68b730886f2ce5d72d2a783a5bbd5b9cda919790336274450e40e67558688ad51199e0caa75a3e382a35e77ef0f60513e6544bcea036b81cd374413535e7cd0e874f5fd14645db953ed345ddb35c39384e92ed6d8650375003acc51a12ccb4f5d73d9bd225166f47e81ff78cd4a10424be4ed17dd356c0219ffff03b61915d8a4eea0597373931b64ce23762cb59541964399220205c82af46f9c24039d26dc722ffcd07a955ae5c9f007fcc07a5eb3146485fe36c60aa0870f29929503097fe156133079e47c8eb2df3feac2ba0fbfafad504fa3ad2cf77aab798693a203d9f63acb066995b362131239f499222424bd44627a465632fa425d3f80985fdb03fcaa24d3602b0f5bc637ea00baebac78b34ff8af11ee1a2e9159e96f1321d02603178c6900a2b7a26f32697318a26aaf8cf86365ef88e20763797c4c949da66f80037a73113dfe82d746004c4e7ca825085849cf304ae920b86494d16be54c96f59a034e2e0b087d3d24fc7e81f460392e461114272aa0480df7b5c05ddbbee8e10e7103a5124c062c8a742eacd382969d1e5c309112728decbb8af83496e315ddc7007203cba7aabb6f96d26adf5eb2938c1f59270b6a425246b67bddabe3f115655b93a503988453188017bf4e227cf84da8567c14dfa045b4268db6ec02c670d10a06c4f003a8a3d559b47114df248917c2b4b6ff3eee972fe78dcdf0ec09921f755af36e41035b2e72688c7356f5934f9f838d4767250152d29e98ee7bc68218914f2337de920324c7f961f9d4627495dad71cdf4d75b2ef5e5d4e8f6fe755c454f0b79d8768e80329e9b735b154849ed519ba2ca67c01ed755d0a4f99b70e8c561c0ae074fc5ec1031a2e3eceba834fd5f148db90b8918b140e51b47ac77f1f901b84164d38b6b43103ac962298d7ab6ace4061b3656a356110ddec0ef318edb2e505fda3f1c9755eed03cb2f60d4b2ef6feecb7f872fad4522e43ba95ea8a26f43b6a02e2d2c5a070c1c037fd5332145210360b6513a838739174433960bb6bd7741e3fd4dd2dd2e85cfd8032c562f886f5581752f71c8a2e750f3f6af53ec68c37c0fd4c3d486a712ecb64003024ce82735893e0429048ed22b5bfba64466016cae4196c0eaf29a9741ba3dde03a5fcd769d260be8b74c01372c5dc601c7bf618addc561e1742dce1b5b8e69fb9034eb70515769d7afb39815e218de039cb369a9442193a7764664658f2152460bb03ffc6cd5f697d6926fcf39e727e947920b777881c945f507f459f2218b5c216d803b5250c5a0df0b1def85a69c57491f72c6ad4e8ad6cbde32b27fe17222126253b03bf091ff24c8e7bfddf5f99c7f2cefd3e14789e2fb66b42168c81285ee38f0e320378f58538cbdb7872a41b47241b7acb049661cac9201d4867925eb87bd898a1bd035ed43da6d71ac7c5582d8eb8d6341f230d7f7fbb1e30df0a024d368d0b5bcedb00581e02d1e31266be4a71383675d703b662bc27249d5fccbbbe5538299c02a4534405f5e1000347ce210e94c31c19db85427af0b4905da72b6a2967f4548af9dd33b58b86b6a30385bbde477fe2df3f4b4cbfb1b307142e9372c570fc1d32fb88010c8dedb03fca01410800581e0370c709ee66ea0422fa47f69c8f6510d7b4fb2a0457740996e57ab1e38044080c7d3d00581e03746e235c8e4373a86c7ef1b0e00990da178e52bf61538c977e2b0940e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219400800581e02ff775ea51b8290ab7138aa5e8a0de4e40c1b1b1b06eedb5c0d4b4a0ba643030d400219c26403f1d7684e4a1042cc1cc8ed6019ebce9a1b8935a9c16b563aaf7636c82116229d03a7daf9126c4e69d9a5d51eaf5efed81342fcea180d5608a9723cfffa401c83b20341ecb6ec77327ddd546d99ec9f400cfba0bef97890a2096a9381e99f64b2530603b031d216a6183d7d805f1846638a634a7e5a3499de9d89aa34cc148aa00a6938031b5d0ef5c962732117e37df1fb7075258127910bb99b633915a64d943611a8aa0219ffff031203ec2b94fbb3a0f718bf99be598656ec8e66fc9e9e64fb3cec599b33c174bb033b99ba80f2ae083a8cca995929e536b309da1daaffc7ab3d6fb859f644abd5a503b428d7c9c3b326055746e77a42a94494fb8f7669fb2d33daea23dcb90a3802f603ebd9779b9172269cd8f664621d1dcffba7ab43943541581cd934f0e1d08100ec03de32c91352b66f933416f8c98000b6e1df13f049d6a7e6498d4b3c12b4d13f4b0219ffff03d2f5b765918f61018096d0e090fb75f9c575b239a709ce5e9fc5cbd5c502c3ae03937e9946503b148b51d19573170bc3f884d37bb141d91be48334f72832d4b75a039a178d5d7c70f3fe8c9a38445e4f3b789e4cf6981baa1989ca4616aec191e7f503474eb3cd683aab7277427270df122bec20104282410b2a35ccb8d9ccf531034703d8fbb2cd9cacc46ea6008f178679e81557d26b5329c0f74f42c78c611f47c7dd03ef33d4318038ff4edea6bd8aa0592e353df235f1bde3f1e1378ec05f5da1db1603f539dfd7a6cf64adff45ba41c14e1eb6db615cb3027007b6604fe4053f8c7c050380926b3edccc3e760e195554948f8f43dd28a4a971081f6e1e42734fc45bdbbe0307b2bc3752313de3c839486007f931f0828257cb9067435ab7765f3b9c6795f5030e9aac7f487e14e0182124c79ea6f84977a53c6458a25a26988a5bbeb337c29a0396cecee54e678766bc1fad5fe5a6e0306ba0ced1c776f2ea2882cec57ccaf50b0219ffff0361a6d84e30f75d6d38ad30658f5c0adebc33e1c96c3e674ad57b4100b7d39db8030a28422b939e9d6a7c71489f616ba1b77c8d0a4d6e200fde6c788850af5d79db0345264446546f4fd423f301dd994dca783840d6fb744ee05f2fc606b88105883c03e4f9226b2fb0aea68a34f48d2761d86726841edf7a31a2cedacd26d5deb058f7037089a06560f7da8fd89072794aa3b2fcb527b138e9642d4249dd500b7898a6c1030dc4b632aa1fb198ed371410d0fe3bd557e85b55fd3d7f5e1df8f902f683fee803b2ab3f5f1708ada015806ac0077eed2fe2ed627ca827a8e2714a311eb961b513037c8fd61842460d92be27e56a741c9e2d82677deb61fd27110be7731f8870675c031ed9a90b12db0a4062453970ec4d53bf0fedd4524140ccaaa13d16c367d2845e03098ee6bc89ec64152cdd86bb5a76601b7a49609cf40656294a30060e536292e503a72974ce2c463ffb2d8012e71409ac0f9067a5dfbdad1e54d6f00a69a843ad050362de2e2d6d59ed82780de9e46e9e9839639f309fd7338def8a65c01ec6ebf4f60341d1cad476df184c82977e47dabfc5ee3ef930f658d73a6b443ad50c6ee3d4db030830d9753f4311f2ccf7b38275bc0ba4f39aa669b12fd9ee526132cb0f0ab0c903b70585c368a45a2c447f61af230f77b9d7e543f2d5ae4fdb759e89dff5a2a5b50377cb761ed9a91bf6c4f45751e1d798c2d0bfc0218fe2240bac274e6fe144cfc603c3702763f3dce198bb82052e90e7f3c7595a0af8fea25c2ddf46f216d90aa21303ffaa82656a327b96cccffe8cf01a6f2a1518a50b43757ca1db09ba1f2ca322bc038fcb1fe460212c136ebbb0c65c34d61d338e4386c23969a9a81a12980fcf9d5903d10a49b6cbfd33fae73f34d409bb6e52e7298cc514500dc1729e435203a423fa03144955020804dd44bd8d490d8ce75c3fbcf99992894a655cdd86a844cf052a570339d763b7de18452605a789a38415213f15b4d29e1ea2fc8db77788d74584bb3e03eca2f8c923a2d77f4cbff0ca3bd4a7eef3bedb06410f29864d6fc55c2aa342b003564a10ef9ff0a2bf730d1f895423cfde286df0f51c458392fb40aaddec47d2df03993962f69ff5be93ead2406871a20ea78452597fcef5fd90fda96bdc2155f4ed00581e02b517a3c126970f1e5ee1a7f94316ce60c188e2c1a84b817213c647394f581affecee2142a7dea9314b809a0c42d3e9560b1408a9f36550bdeb00581e02cee19762a7788c16e2e85a9e5998b39dfd96e352630af069f4721d365c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d7e9ac65bd4706f03b3fc89acc41a3f560dff9a7f69481a41796677b3743c6363000581e0225965571f2b786f1915d47a81079ac69a28952fd9f257c0eafc1dcc63b410100581e020b24f3e7f631c91813c7daeb3aaf39956962fd3461866c7f61db9bfd614314cb710219e284035eb43f0a1924093596a2827dc3845aa509d189b28b35c89286c4e532048a0b740370262c62640c6c7dc55b46a1b38ecdde8cd6f8e9f27c2cf9cac078e43f9025f203ebc88ea2e96a702a037c30c31dc0fdebcdadefc361edf7426d808fd4b8c7559103147758559e728124b3f40a611f7054f2c51c12fd6bf4785e4cb77d1f2ef4255a03e1ed211e5e4d54401ef802d2ce2c4793d303fe55c544a18d002a9b7d0a59bfe603a5c0699649d763dfaab694cb3404b8b17e20be9da8f0c8b50824600138f75f4e0361d8f2620b032cdc217371f4ed419e482a6f90b5d65f10a980e29fcf756d860503cfe2b864a5e071bac1f03ef10283c20162da5a2ae76346dcbcfe62122996c3f903244764673732af2b2b5e9fd4a54887ad9d7283dfac7e09226f39eb23ed8252c7030eb4a53728e3e95ebb5b5a6b63f84a3574f54c195bfa140d90893051246de5c30219ffff0219ffff03444059418c1e63d0e5c90e759f403c10bb727a44da1ac2d5e6cc5873dabba092035f2915e5428b56cab888d9b45f43f74df20809fba78a5a0d39abc6cf60c107db0317244e474586ae24a1d25502196668e84bfebaa10c5fc71648541753be82961303559b81a875f27094ce4f8a162d7db8b0331f117cfe908de8de35970629f4bae003dfdc36a68c47681f49e83390bcbde87ef9329b6aa4e7d88ae581aea17ad9d2ad034fa060d4fa4162203180e290f063d35987df1167bc9956e6d3178ba46c89c4e203df545d0f72aed7aeb6d4b124b9d2fb1cd6318fdd4aba52b192bf7ea0d7946fbe034e5673a6a03ad26eb5c70a1189ef93678a0558d769680fa6e090d258163190d003123f70a42998ed66dbda7c62d1c86b4db6b179fda8f1877143af53a5b63c0fe30336358b96d04e83f51fc0fce8a3015eb97ebec3818e35d32d88e5e8bfb564f97003d13d0dafc615876ee56bca925a759fde92e301b8d9cd67766b63218f7594fa8303dc42f6f386478bef1d0d72f670a3fd84c185e5c678877f61102ed1351895a6760219ffff0385ad0e86bc809b9099a02c6763d9ba43d80fb3a2084fc0f388f052571abd14dc032181e1864e8e59fedb474a130e4a5479da049d7ea8b52c57b5cc2c94b0dd422303e4a0e81c38250e4aaa5bef12beabd197c9e01cf862df7ce2329bfd716de0e24f039290f8623ec5ee1faa36fec534e50618600a4dfc68be4985fdd642c0383b840203215b0344e989a0cc4d0e3fda7c488840ef2951cbc98011c195a3ac20c263886e038ced74ac6dafc52cb07e13e472bb5dfdb51e8955258c4328848ef56ba483432303e5891ff71c02b4f2ea267324bcd3255e9b01288518d0e7388d7599c64a1f458b031b57d4b1f4f78b6e2cfdf6938ecc889c5ab4ac6873278841dbfa2a66b576244203bce6eb48c0baabeb643d66262ad72e5f6b33d2680f58ec43311a2679b984c003039efe3ac5c7e2eed9e4d68178df57404cbb011d4ff33f72c2aefe6a0420f3fb520363394d8e19fc3ec1f18d1ffb5314eb589212c4645efde4e48961cd86760c88d7032314ec38c4a89f11f6c8a88beb38b7b144be8ad3440ba9ae9a936b23656af72003d40c0e238fe6cff10394bd8082fb7550469b388dd2cde5482e17792232388f41035689737ba54ab42aeae52f260c7f5980a070ea1b1d408253cb63875303fde4ae03af5e52dab7d9ee789bcaff5102de9798d8262dd33fcc1f98c47f80fd6b558d8103ef29b5bb4a08dc994b181249fa2529f9f5d5e98b556b530f4d21d5d2a1aea0b7030861e9e3e7c6e125de9287741d98a8fee1be8c8ee3e29bdbc715c57b5b14d19d034ac8626f6ae847a0d7167a874c1db8857c6171d468761004031e5e910626241303599879095d5f31a21657c7abb5b206a5c1bf0b6ecc7a25f86ced6e4b01ca89040345646ab7dbea27c978cfed594d6e692769d33aceb9ac5f8ab8309f22cdb3893503fb9ae23097186fc7a1cb90ada1279a4c92cbd55d3924987f91ebc4a810fafcd20311e94c23f49e8cad5a0de75f755703fc2f778b2f24a7942838704f87a7ffb33b038defbfc4c0d3815cc20ef5122cdd1a79905422d957330b0fdaf3a02a930a756603d9af170374473828141533d662ae8a9e9c38e9f48859027fa5fcd42da4e31275035c4c3763c5f6421ab0cfad72e88000122c3421109e7d7503cf3014b5a69618c500581e02fca825d1301ed32623013fb51656657ded32eb32386a3bb06ee08e0f585820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d0e2c272db3b32aec5eaa99a396d4a8e1e5b63fa39f9ad8cd79024c0dc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b30c89429db4a9bc3ef896752ba6e2478ac14d39bc49d88d746c96042e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032b633b85ef7eb29e2face3bba93437e3d5b6943b31a6b365e6eaf98ccf8d115b03309e89f7019c9fead28d42ccc8da0cd16c27e51e8dc64f6e5dced628b985bf2d03a2ac0a196d0e1a195aca23d4dfae1746b874577dfe825bb6c43473ac704167c00365f368380d9a34086e67726b88ecf73b5fd57f9d543fc16c8b6cd264dfec0e0600581e028b99121dffe385b1fbd52b54efd7ed3a5deb7952cdf031b13d9be0af684405646265033835953708a6ee30b0048857d3c1f1b0936ab091cc2a46cef72546f1566b0f3202196ab5033c204ead8d8b9c186f0db365262c4ff40950d3b1ea80ad6963807d9dcdc572ed0389698e1d808f5aa998d7a51f988c2a84444dc2870f238c79d0e1bed9b017ffed03588896b08458dac97f2248581f0de64f14dec26da5876bad90e9ef18b24b342f03c7ac16c8de9fdfbd2b1afaffb2e3300eede4fb7c70b720ad82268f068a5307880219ffff033d7fb7290e9cb802618cf79657c6f258c79d951d18f02d949d9679471637d54003271444d3459ea618a0a3459adf334e5d07032aba610dbbdea0dfdf3f449e1df703d7f6f7d67b8ee70280a50f2a51c9c63192b858791633e11ab6bbfdcab15e5244039b536c162e05c8b0b757d6c5d6ebcdaeb57698e9f53bcd87007acf83e8ea165c035f986feae0f2292ca09bb99d5eee47154c2a9105f8c62bdff30232e303e03b1e0219ffff030c0544e6af1c3c07bdc4624f8eebab2e0ecd768260ed5b105fc3614331e36dd0037527054d3a839036389a9c8949eddc1fe28fe843c08b89888ca000d7d97c06920376225389af63e4d8950b3d3801508a8332abb3760e3958adca1d175785e9731603dbdd9f111558f4abd04d80822c6f463d48e7fa2b8c8f21918133c00675d5f9ee031f6ef0b432bfb0b5c78a59a17544b69dc62936809143fa76de14e034a87e31580311d8a364c7f25045c800edac0165cff499d8b1d357810f9b6b4d61e114237e94038bfdaa47b0f257f489998a664cac4459812673365dc217c5a44a631be93b85d6030adb7272318183342dcd68acb5e69c7cfd040a404f85ab6d9dc750fc226d2962034f69f2f3b9df6ed45f91a715129ea28e66b08f778f896d3b530ab18beffdc9a8033de548e4a9ee37f47ab43e36a0a6d67af43b137454e43e3c52162c637baa801603fb7845b9ef164ca492a37ffcf653b11ad07f7ed6b38694799e4f51eb0eaa0d13035a3e6f2cd133a06b631dbc34a87fc27076c3b6ad0a7e10683928f6fe1045e48a03aa0d144b5d7e9cfda85400482da1d40519a5dcc50802f45b9a12798d58d5993f039a1a96e630ec33e339a1c0813d78fe5391d4abbe4e6d115bae58c1bdb0d162ba0219ffff03c8468151837265121a52f6bbd0cd30f14295a79577d5295a8d2f5bd1f367d162039281d17407f4c863d6d9bae5bd6494a2fbddfa444e0212cfa041f0d7bf863e9a03101d044c52cc69f322b31728741454913dc437492c1de898a3d235b44456fbda03a183f9c20bb9c9ab70340780808e07144916b8e5cd5277a6326773153da565eb03ab0b166e5894d445ea8063f989b5def097c52c9ba4f955de5c7e7970b6bddf570307eef1c069367873219ab96b949fc174a4c355c9badc0235f58cac397deeb709036cf651016c465190dafb973a5226bd719d4882e62f8f1eb9fe7700dec0488e6803f90e1c3bec433a309dd6c4f12bdc705baeda3b6b778f9f33541e30a48bf712f203c1038ae69bba273309d7a94bad07c5ad90051e6d4856b1e39ad2784aa60eb6af03fb6fba80dc77a11c0396b8a5d3ab5d7bbb97f52842bb53c314190053f16f05c203be746365f9b3149206adcbfa582cfc10b00e59f0336cc7de2333e87011669aef037988e5fc84f0770b97e8d568d9f641e53b970db007c8d8cfe0f6049b79936db103b8041ccacfd2bab2884ab771ca076c2a0c550cc5635e749bbe0b7e2a351739bb039a81643ee5bb42ffed1151b843787ef286e879b51ecbc33c27dab07d99f80cf703dfe35d2139b3a0751cee9aefd104bb63c8a4aa81146bf03cd6e06952ffa4bd7b03a30a2af629ca0d8ae565feedd4cc96b17777a60e4ed85f78ac9ecface4a9ee6700581e0277f597a0c5232da5082d59852eff23e440ad55161880c5c96e0865e9d35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021a9e823a3452613941ef4ec4888fc2778c9bd43d118f59d7c8ceeeb537434baf00036d1dd240b0486d5fc7494f32fba451b251f8ede4ee85d284a9db9edb251ff4db00581e02b306e4b9ce9803158997334efa97e28306c84cd445bf6b08f3b95dac6f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03926895aae0bf40817dc04d5cd3b6411069ecc59bbfe0449ee7cb2716352bbc7a021904ce03da2c8bb7e61df028d3dcfa9eec52f5cbb1efd57b367f58612f7705ed2c18d7860323a3885deb630b22a9618ff07652dee1d07ac1acf6b3e0395ac2b1497a818aef03a58692310881203463f2b3097614ff650215ab85eb252d336d395a8b48d09e9f03622f34a62822b2dd1af8cb0c880a6b8cb314fea51e6e074daaa773cf84d1554f03324837842abcd74206a21331628c2de6b3c3516b630926e401c9a4bb8b73ee2403133aa65ca4a4d06cdb22a1b28f486f047d5364a0e0376471780b3d4f0e128ae403de92f9d432c2684276f45c30c1a732d19bb0a1514fcd76d2e93b5bef677e88ba03cbcc4d92f2f196fd8803bc9eaecd94fc6e262bf4fef2f31347a29533473bae3303083cf9b625d31e642e5b3957dd9194f7886b87a4aaa32e88897a907b1962c0ea037487f515eb13501fa9b62f87f8f8280fd6de528a87c0231f7dbe6c0480d25a4d03eab9f33544addf8bcdfbbc68f5ecdff8ce8a16c3d4bb7bf29a5602f329cca9d90219ffff033fe5de0ca3022744676bbb31fae22d21c914b6f6d1543112393be706dd262fab03f93095c4d960cf0821d5f27227c2771cf6757259d0cbf776e21b18dba886996203a1b1b2cd6e99d163f0e29cb3c4ea7df86e9f1a75eec803ed814a4e44ca3d00e003a248a0ba811d7ebe9e4aee8f439815eea394aaad10cc94cf579c26f5519dff0803f05d76554ab289562c188b1b8b4266e38ec8899466231df3c938215e5f646a13038e99967f2b9c5cfaeba73086ceaab4ae4e41b6da34cd78fa46c771c77fa811b603c180259170e434bbb75b606d3f5b53c362d2322db20ce9385dca885ea83016de039968f6b29c89e04f8dfd38a3deb6e363a8295f9a2e166b9dc8566a8e2d45828d03ea56e3fd855df3ad0cc1652aa3078174fcc68c98720b522e56e85e98986a8b78035fde4fe4fe5750613f65062d885069d11e9a366e10b289068b013f9cfa469d470219ffff03b9e98741db7cadd1c890e1d227d1fd93668849c0ea209b3d2d117891ad29da9a032470643c22971086f348171535496043848695d72f60b5f51181e88717171ed703d50857e5a0a60c89e7a9f2e24c3d15567928f2f7006533e3b9939435dfaec297037c422d1b1d87560643b7c0726f2fa3b41dbc7474f396f156d8d4de98d3abda7103b15e3a1f950cadd6f8237f6e97365f4d6c24d3eb88d8a74f640f72a69d7ea7b7037e5df928e56d46bd5ccab2ba711464357d831820b7aec037c32d26f94891c115039c0497993333e16445c9f6b15b1dee626590516d823418a138775e7b7c22983b0388540b98a51c84655b204bc1275048b6c704d987183c7c834938c66940bec074033c24017f34318ebd9b9cf20839fe5748c0314ddd9baf9f3b0dc2f1c0f6f712b503d9799499fdbc9aa118944ed8f4da4051cadf2d089da7c5731ee67b204b4b7537035160ecebe973672e18b0b9b1a932a43f85376a88fd04ea490db9f416783225a0036b2665d26b885edb55d314eb422f6eaeb58fc141ac91aead3ce5ec4bb64ece82039e377e03828118f2202469dd5af0a8e2fb937cba0c7d52f8c98b91f68c833ac103bfd82045759396bec3902b30b8c1e23136f81ee18c2aea351cf7e169358593f30219ffff0219ffff0333fa5ac5a5f7e376a075bb32f679261b35889ab9d4355c268c78144bf04affb6039ddec8de081a4d17fede5cbc8ed74f0dcd13fc758d27b651e9022a92c4d4f889032218ccd3bb2765cfac9439961f7b70b37c1fc9b56d6accbcf5fe25e10dcc6cc403e9bb46e3f068efd8c7df64fce8092f171b32122c43c9c4019e759427ed616cb60369b999b943ddf0be35fd3734fc043c574b49c162ecba885fa332cf5a581254df032c9d48e59a7e541e73e44997bec7510623566269644dde40e523766cb03fe642033de0780f2b2511127e4b7d6685a98c7b73b970bcc055def36e039682e84de5f7031d821e9ab01e0df0d5a390596d7cadafd92eba4acce263979cfc9a4ba2be680903f8b1289ea6b9421d0d2ca6627c2e7006aaaa50661ce62937aa8d62f1692a3c220386b896c3e8d59419aeb7002212b8651300ac8232d00c58e08eae5bcacc0a8f8203231aa07b86b8bea78831550151b03a5c6299992ee87013dac5df168a4b4f368f037ad8c60068eff18ebcdde0fade48cc3004e4459a286e810bc8be7a0d331c094803e5000bce455413fb2d2089306296bc75d1b110aa2f06679106114c0b0b54cb7703034dc235c8012fcd06c9c9aa7daa5d874b6b2c6b6df235b4841b92b98ea8054003fb47e4ad27cb291f971112a6ca83b8c6ec5014aaec0eeea6c4b4ef49597df60203ae7ae59d539996c68e0b236ad9ee5e898a77a7002331311138947884765a06690345d213d5ea4d178e4362dc6760bf715f840b16fa20b3a463d215ac19374c2afd03100bf9a0a1b3e5988df67895d97433ee21da067e4161530b0d41b31bb72029ab037b06f8d9176184c06bb53278db6deff2ffee055762ee08a3f4fccf9858acc6bf0345e182707f1ac72ef86f2b6c7da5bf04c31d78e6877d324c6a65057e54e68a8803b9a735e342cd19c085301b3e24f5af1b8142f8d0b44321942c2b7708b88aaa0f03725bda8b9d511157058377324230c6bb663642aa991163572f65f57eb58afe8703749c0d73b700d5dd0f9ad171d9b329407afd8ce9803e372a115bf9a9f67af996034e7dc9507898c90d426e0bc4efc2699027245d00252f6283303628dc1267175d03c3aca0075f59976c1df967d5db2e73c2a98d68e0b85926e3ce29dd7a7042342c0385bec84b734767f601692b3974e32abe9007eeec11ff44fb8d13d0eea08bff2a03ba312a92acd85f57b15a1b2f7ebde64649b5c8a75fdfd254f1bb4a25d91f513003ef18e9d732daed24481a73aa035bdd53ef2e4b799d444bdb01cdd2d5f10efbb8038d12f1d4dbcd4dbd26c7292706665df2096a145bbdbb95fb4b8e32d1db509b1f0311fca838bfca05a8f53f24630875c089c1e8429cc1519c7fa03e0df662448b9903563bf7a03f356a9ca5b36ade15ae7acf74dba3dba2004d40cf2a4e34b95d214a00581e022f5eb5ddbb50ffdc17a50d8c772982bd51f49a848828cb02c07e2429c4475330dc5b32a7ef035bb84a441d7c03b38f579a765665b19e74922cda3f470a44d51e59ae5b32b6dd00581e02bc1355155c1dd07c6fd1bf85acca49865b0df632860367198ef504660642deda03b3b49c1f6f00cc38621838b819f5265f6b9d6eddeb118b9313f6b592a3ce37c000581e02450b9906ec1376fc3dc4f1dd69fc680c69408e0e2c88474cca7e5920a4434c4b4000581e02b234c3e3012f625a9f994b295d2e34ae96b4135c3aa650e219d1376e18431b095d0389b844e5a20c9c083cdc6e3964a0719ad82c20298d21eea12a654bb25d5f43ec021943c9039581e2c628f95f6f59b456d03de45091627487a8a46a06f6abcbf6106a17963f03161f8f4b4dec7e468a91e40ff9d243f42ae5a57b3d7fd7acb0aebccc1435d3c603ec7f0bf56b90b77bb966e14cd570e36b457aa7c608681c97c684c6c3aeaf427a03dbcb0be4c4fca015ef430d1b37f9ce325c943ebff321a89a3252e3fc65ce666a03ba3d689b61c3c414d68963047b6dd8e4cfb356c10d05dc78800daa371982393203863332b244706a8108dc799cc01a0ffc9ec9959fe524c9dbb48f5ff8ce4ac8de03a882ddd4919f985a15ea8110037e742db7053b5c69c78912a50440a61fedf1470362f29448f3851deda71c7bbc45b6ed32fd8afaf9b39967562f5b2002159751740392d2bd51c6010fa8e6f12769ac188951e65aba25be3583a083d5d107b6d81d2b039b3776989f899cf40d813c6ac14677b23b2cc99c05a19165857ea9867a24e9870219ffff037e9f0662e5303f1dcc6c335e4666510335cc234c745501f19b666dd721d5c35d0332d9bb19aaa68a1d2e0630c4bf14049a96733eb0bd6d864e2aa016a30580fdbc03737c1ab69a778a14b7005651dfadbac5d6d4132532cffe68f6c7ec753c0fd3fa03dba115885aa10e79f12b4710aff41465d1bacc326000836d92e7935a18ff1c7a0219ffff03beb6072c09863add945bc66194a685d7ac80ca5e84d92f9d2c794de2a216fec803d990d65e58387259c00e59a230a3f20e7b2d18d7d3ad292d0adccd4a47ec017c03f3cd3fd7b42025b2ee49aedcaf0d301afe8452107958d00e0e9e7096a0876832035c7d15325dd09823d1d26a11a43afada90cddbe072f24cee9e361652148a152803e9bd8813cc228584991808052cdb959afbf784db82f08c3d26ca19746015c8d1030f841b5f37a34c2aa7b13148e2fc719789450b200379b5326cbd7b12e912363a032ac5140f9b9ca6f4b7c223b5123123fcd4595f0bddde286f5cd4356ab4b995840361f42b8205155e67acf34e31930b7d7c4390086a2721ac9764a6cbc1359a3f8303362a4419e3c21bd98216628f7b0858017431b883682e7cd44cac137e93f7a47a030b955ec4367f0f29f06a8c7b146248f522abc039a1e9e1e76c2c2e639447a8ee03f7edf8b1e032122fa9a35bc40064c770fe96d93c517d26572805f2ebcef2192b03ace698503105c0bc89418b2aff7785c7020318775ca96a22cee1807cc52b283a0384da8bd2159b0ce6bfe5e71af3b74d2906bb0e926628acc373ada00f2f62388e032a9489faea494f12a4d3fab67027728fba23fd1800497764cb90654b8c8f38620219ffff03f6b6b515209a8906620965b2caf19ba68ed3dd28bb9c52dd6b14956b0f6508960219ffff035fae6f56240c6e6abdc85013c5d802afc852b275bb0aa8ce72377d9731d6f5e0031f7d744ffbf75af43f0dffd3633544d5a344b0f2aff765507309234be2511c9603e880e98a3eca2dcf35fc76106bad61cbb2f5e9c1d7ea5c244614e2f4de7eca27037c4b7c44af007c8c3725765644ea431bc833034006b43f13cf0ef1991d4555d1030b470acd93a5d8b24e1864ec2c023ec7a605d876d4b467fbffeb806c23dce39c03c392b6a36f9ffacf54f4764f0e9260c2aa61ca1322e8dc41f866c59e20b33805036a56b9ad2e3044530684a5709b3d10e8f5313483cdb6d3d2d09671556e8dc59a0362afbd371058d9c3f9052a04f3bde51431ad025f4a5702bcc399bb1c4039fc8b03cf2f1d9cdaef040cf181c1bf2529a3ffc300fbeac298adfc980aa9d7038377030313f6d593fa5b9b22afa20db42186843f895cbcd0251e446d07851a55075a778b03fa5b13fc0831d9ae2617c02ba46daf3ac23a7d36ac2c98d5b9a89808b11f2fc80335d1bc9e1580f3c520fdda952d3d184c2789b7647987911d865f33ec1ac54cd903ed9b8ff3dbe6da76d09d6d8b361c0cf2765667e28b53169deee1226da9c8feb2035d888822f772505bf2373865687724217e82b3532e8c6d87724a8774a5dc222d037a93142a54172f148c0078233a106fbe1ea4ee1a37dcbf18fdbe3439c697920a0390763f591b496e34afc4983e517258ff2195e42f3c258de5665831adbea0d2e9038d4492bd4829f5d2b99670e4975d2855f5c5e5cb2b63b058c5764c5f138fd5a30330d60f653e7f1623b0c88e871727abaacac46824d228b48f6713cf2dace80c5a00581e02b3acdc59a44599603f227545fff4e55e14c2f36734c60ff660e16e64be4410089d40032ed5bc10ca391540d9b7999170b92d21854d8750a18b0fb1cb32fd471fc866b200581e02674b918dc130b7b6bfaf3391ac03ae94529516c37f8f51dbd93af1ce2e410100581e026d1a66df15a688da692cc4c3f6c81ecff0393f8a9d22638d630dad2b3f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020eedc5458a6e5d5e486098e10caef455689e6f4799c01ac0a22d18d686436acfc000581e0241c57bc8b41a6d9e2dd27fc63a9ec50ce1e0609ca6f3580b29217bae855820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c3d68432e8e77b49879de56cfb45f9af0685b0d9815c05867049c70d7e6e00ec00581e02252618c68d31d1f5607924cf82c6182806e076a6514c033cb3366546b3451372aa3cb90219236e03202c808d98ba9fe2e257d2ccb318aae32957f68773c9a194164e6ff88250289503b925df4cda0551c7e8e3a1c68ea930b1b963e922ffc2b1d5702179d1d0afe66d00581f0343398963302e18bbf6c0aba1ad1b5d357c0572b92488c742cba25fa18ba05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035ebcb69920c3e56496b96632cbd6d6e2a919493548545a978fa4d98ffed1cdb603812206a44aa6e1f6426df70eb1bff2a8c8108311403facdbc091349f6aec313a03a2327bb51aaf89f2618159075d1e59040ed9b464636342bc0a6fc864fdae81fb03be174e4baf00619278368593aad0c03c6886007498bbbbadd8a02437eabf073503cf879c608f21d998760f81381647273dcd42a16a02ea049d39b8dbf21068570f0219ffff0334b093e5112fafc3932755b30fe34b2f4a4f47e31b4245fcf7be4479f5a42d4403477cec9360b21a0efc57aa8d7db8f91dc422d4cc0758979a84344e9ccd6f7a9703be3342ccc135cb860174ba85c4369d1fdc5eaf97d9e4594f8e6f9e873e6bd2c7032a698dabc70dbe1956397e8626fa46dd41748b7f33431e62abd8fed4974df84103bfcf181c854d46b587a553671d301e37ff5fea54a1c247b7f61298c61c41d7f8030598ee1abb462192bc7e41cbe865792a25ba163d322c6be221c6a9157452b2d20329acdecabf7d0552c9c04fb0267a99eae9308f00520899341067e60b32a522f803ff9e2f98415c160d6888ce5801c13a013293adf0eb9bcde0d37b1a72a70b04df0322a8e213cebd4046f6c33542f5f3c271f014d0ef5fcce3a119cefd657f67e95703761c7da6a4ace709dddbe3c8f2b00de7c79ebb9c9489572a0fc152023c67600e030595ca25a2d659a4b96231869e09b44309ecdc1c9a6ebaaaa3db66c3529fafcd030f40a6e6de6a148524ab1fda2066dc5fc4268a37672193417cd1ad6141c86a280219ffff0307d671685c061e88d06cdd628232601935206fe1a97200a2c6f4f65606de8b5c03f8004446785c5ce3d2d93948aca2212eff7d070c4d8e9af8831dc0f27ffa023003b0065d35e060695dcbcff8cd1c1696881885bcbf441c3a412d9a210b9f30f1e3030c7640995ea68f95b1ce79481ef0428d500be629e98de8f5c336a49794c6c6a703a8c0a816fbd7b503d9b2b36c37cee715670fcdec506040ca01704f16731609800380065d6bf51b47b506228176f2be751a673ec9a699a4ed563b1cccb5246038a0037e0977d61e870a95bf40c6abe332f96e98107bd8596110902099044410709392039d3a435129761329ae508bfe249fdfcc9892da5ecdf6359631bee400fee2ab3803d7df9f9ddf79820e43eb862c2fcf55ee15f89e1ac228ec884e36b0aa0e247da50312838f1fc19b21fbeb317e5741424a36d2f2e3fe926f5c7f9233ca89bf0879fb0219ffff03f7ceaccfcbf0b9f69f19e7c2ff623b1fd47205ab799725c17c45936f02b938c303ba6da95f78c54b01a898280e1c998131d44c4bea941dbcfa8b019dbaa2e69cde03d4ee90777a7b436e0d4057330c4fe48af374c6320c2559d03b73a94acdfc79820382f820cb731e378d91d427ae0ffd3d18be70e939cf894e76a42362bf9ac6a84303188629b9cccc6be911505c44c7762ba18782effd128148eb9939958e904b37b2036d6c0586b4d99a5ba173bb6270f348c8e0eec5ad4c653830628344b2ee42747b0348b7533078a0299dd9bf717aaa86606de759e39f106e8a12bf010a7352e0247603ae482c434f77c74e585c0145c1d81bda33bbbf65bc0b4a7fdda2a8f2c42413c7036eef3c636f5677d5f6e630a0d1f64c573f48c585b70d464037d4f55df96f230203fa42d4391049b127fbda575ff0a016ddd1ce07ce7f3d5db83307749d51f7781603899a30967f3d586628a94cfe781c6930ad361f04de34773c92284d77485318c2039163011c1f1b1fb7c96a528784a7929030164b0591db1de0e3cddd5219928d9f03634e0815c1fc3edee5a9cd9b7db3e6074d6dcbe695a4de6ec2707bdff30d54ff03cf73c7938ae0bfe8cdc40545630c6cb3bb0df117de1cfa8ec8ccd68207a815d1035defc2c3c16b911bbfad8e27048dea8bd51848d35e541353e7f921ad535c388c03bbe1ecdd3ca51495056a717d4fc17fa5fffba8f081526bab1b381a0233ee5166039d778b0922323f5aa04c2816a11951d4d74c606ebea8f55821de35d45c0685e003b2e5bbb966b4026f2cee2e04f308b2644d3928935abbfd9a44e6a3a2e5a483a6036e65785758c04e86e39d23bc29b3097399e4e296222765d9db391de5a95a8cf303e503dfc6ef53782410f55078d3eb3ac1a038c3f83765fa449956f980d2607d7803c622e40309cd45b1ad269d04f2dbacb7e110cf52da6b6a688ac28a043009f6e303ea7b18132852bb9a02be777540e8b1828b542edb3d9aea1597f27787f6e0b35d036ac87c8d7268ee7dfe1deb558ffece5aa44847c286e4202ece6848bab8042c1803495f97913db41823ff5f6d9b04716701b525014e30e4fb4c55ae18d6377b0d59033b2ec14c038f61a6382d820f9e74c1edce6333da7cd0c487d22b60ad6e02de4d03a4c219ef65d65b7693333494c4266b6276bd2c74779570d0839e829b7c99d4ba033a7bdf5a6bdf8a8d7fc13490641c05d2a4dc6e794b823b0e9b0ca4e001cec91a0303b01d08237a809573b40c3132d8fdfdd261007bb127b509a52a774b5141fa4e0396980fa3ceec78541fd2bda366a6e4fd2d332e6cb55aa092bb299d99bef3d4a303a71116803b27032fd30e95f480c8e590e5d5e21f2848296b88c8dafd3e8c2d7c03d6905e275b471febde427a307644d516bc8da26ccc45c62bda4321d6b8bb400c036ae82f5f17d3bd78055fa12087d75c6bd46de746254ceec7fb32af0cb3e549120350745e780db3019b2cd8b03376cc5fb7d69a7f1a8355b0a24a5c36e949b7845b0373f56c6968863d1237767da5cf0808134ad1c156627e8ef8dbadf8aeba99a65b039f22eba7f0035ac4c08dc2d70d928e75f582f8828aaf1e0fe56a8715eeeaf727036f624438f32728185a37608a22088af6ba448329ad8ff093240f631410114c9403b03fc0d02ae8cad454f19e4c69e55a9d4297d2bf0e91cf49d06a36a616c16e7503cceca30c1e1b6ec277799db943ee4fbc4fdd3821c2c84ec1e2616d01c3f31dd303e1b74019d1ad255db8c4a0f2a44ae2b5b524e66ec6fe4dd569a081c160ce095f0354c16bb26c56cb6b11f93a9d97dacc135998e2be7792e66e6c0af6ce3cae1bd800581e029315405557345bbcd608680f1165adcce6de3a66dfead9eae5c5fe9d7a58200ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a7c4ff03aff66f2dc5badeec8f058e125b0cf5589bdd7611da771874a52d37a48099355400581e02c794133ca4ea6d3bcea2ca9336e8a40cdf7318135aa1f4ce3c861ecddc43019a4d03e165912a2d89928073c6f4945993ad9ec14696d5a043c8a0d32242d39caf023e01410603469350faf2f9ca4d2d3977ae19b0d9245ab99e9146a0acb014fdf58c932e6d4703c48bba7b5c9c9625f42577b932e3f83a6f2c17c24173059913ba944098616ea700581e02b2ed5a84ca22d8d901473c41f663ca9cfd52f87284994dc09fc2a8a10744032f3ff0039f7f47e0dccd9cb302b1dd97e67876b2ca77cf14483a31e8c466bf2faa6201660219d3860219ffff03f3362f061c94a697236642c601f05fbb1cd8b480f93eb2af57ff01afb818be0d03e455155b858cf79a5070365e0771751c49918b241f90fbdc54d14cf2e5151f4a034b6f914a30caa0addfcd7237cf3e30d12dcb19e2dcbbfa6f036fa245018f96d20312348674779c596a0ead0e69f4bffe9731a549f8f5aa6a993e8498cfc48698f103dc08aade279bc526186747029110ed93cb8b519eac30faa6def8861114d4467f03bf38826d6e2ffc76243307c1864d8349835079acd297c48d8370f12811293f600219ffff03485bf1e6ddb613a581a6a50ee0755a96c982cc6ad76d72bbace3f1e1e93a101803128fc8630f65d6c2c2a76957385f2e731a4312a5f0e168907e9380664c98a722038948fc3c1057f5d0ee53ab0d175d53ec46ab234263dcb0b731eaf8fafb68d7a503c7317b7e32df89c69ae5017fbb7c4cee3fe9a29676644f089ef315dde4bf6067036555a512bd5b3c3f74e0435866a0f8f5fb20d7797bc298810673931dfcda8675032b6739053f1c414c49308c1498641c77b9b25a8e4f5218ae28f1a1cce6f75b0b0219ffff03bcc7c48fff1be1a3acb8cd8e22e4bcffb2a449de21da5e82fe25f0669523df080388826e8b46bc9b248a308385c636a08edd2ed720dff4e4afc0344db3c96d15a70394082a47da85865888c7dbb203ad7757bba9de425e9bde882078eb6855f48bdb03857fd8e8782cbee9049a39f62a9df0c4e5f893a6859914dc8ac56decc8ac3b5b0219ffff03307f5f122f99111d0a8bb190e8b00c50aad40a0ca79d7cc0db60811daefdb988039031b50ce18b99883d34cacd9c72cac6289f0b5a5820089d2a952dbf1d64a03a03dfdff287cd5e1727345e46d302ac20c952653c4c9337aa47ce97284c660f42020334ae5ffc940aae2e72876a54ccb29100bde22ca830b42b87b19694ddddc49f9e03e60ccdf9067f159a2b7163dba7667116577cde0cbafa84214b1d213321626a7f03a63770ce9ed31b561e5ac280d3d1f2e572883485110c5719d07124174518b70d0302644b7b433488ff53b1414611e7ece8ec0be85dee233aa2eaa597c90a95494e0384fcdd9023c2609ba05336526abdd86fcd70640e8bdc962001f387d9b5281aa9036360dd51784689e3edf980c7d93c54f5557490e985d4ddf45462716113938fb403cea6b3340072f6398c1f653a29f0289083038fe8043e47323fce66d0f3c59bbc03cf2f1cd6c29f42971251a8cb20df58764be6d466d252c0055c4405c9b18e06e8032e2d3b6f8b5d325f9c36c772ed7b85482b0fc4709a9a4121f526e1ac56181f9503e70b311a2164a1a9cd56ba174ac236fd9635ff782c6651f1d290c3ac25e2de1303ef3e467222eebded33bae87e0ed21f0556e5e6bf01fdbce4bb81562dfec7b4b203a8c2fcc89f911c6537119bb2c429f9b50a8e7ee07eb857e7e3f96725d70ef47c03a278ab0e1277f9b45729aa255ca7a4235f3abc8336bc3baa90f18b4f0e27537403e63c9b8bbdf427faec7eaeed2706b8f5ff1bf1aaf94b3789e181e2968131778b031ce4776f0cbd6ff1b9ec456fc32a6e2c1e1f285556e004b695b996a055016cd50312bc56e237af3cb6922306e0a7804ffddbfa3136f847c4494b17001cf1f0f3bc0377c523a09e7aa05051b5fbf32ec5c8191b8d285f129929605e7501b97ab54a4103a9330617f1c82b8640dc27a47a98ab190c1bdeca15f85484e5511a386f0d99d703607206e448dbb723cfa21ff60fc365829f2e544f8e180345a484709977e4a3ba00581e02c0e9d83d22cf7683b77ed7eb7aac18b83ef0afd91640308bfde070c3b5442fd6270300581e022fcd450778870b5187d42158769aa8ec75e43fc7d76cfde0a703e006e54403dfd24000581e02d3d123f6f27b27a2d82ffd4a4c65490efc442824ca3dff7ef23081d1a5445a76111d00581e021907861a86bf382466458d53f211f03459b084e79dd1cd065c2aa4a2ac5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02658a557f27267a338ca2ca57515d469a8cf8e52bbbd73be3e526ab29345820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020c84dc43d0a477b67c293181e9aa9c63dca08de75bf1d4ce442960a9ef446b46361900581e02622a5b08f71b61ad8cf6f5afede882c1e74c778c7bd6c9deafe7700746465af31078a7cc021935c103e9b9d804e241b2de6bcd04e795b56762eabb0f8994601c1781e9c94b453b8512032fc00ff53892a3a65ad88fb056b5fa83ba925bfbc778c543627f0b5ffad7773f03a6c58b9dc442b7f9c93dd964f75dd0b55d2797b3f25d4b2fb2266f18053f1f3903e3dd813197861e5bea06e69873ad1f37076a59f8aa18116ec60d9a48592f6a4f03beaf43b59f95e2ec3f70fe1c1aa22438ab53dd6bd05455fb5a8d8bdeb044d69f0351084fa25ee7f420d4209be45a55996c2fa651144f3d554120150efa2ba97dad035e83477e2fcfe3d993b7becbd4c6dedf83bc4805069a5379588802563c8fb21d039d871604ad7f38cb23797f3e1360a7094c023e4cfc42229da98a4b2b86079fb30352cec4ee03da4b618ed2f679950ec492aa7d3111047a0fa5ab1c7a4f0f957020030ab75165eef22fb9687a3a668698889aba268a5a8ec111a7d22b0b42e1a36b4603e3fa636c43ac1032e01bb9bb3334270f571f674297720ebf993588a6255e5f6903e43449a1a8a0d082997946d837592b7f04f30f4ea251bd8a7440e6d9da6f67740219ffff03e8d93e98b9cea1db651ab8eaf60da5fa742392e6640a9f3171f21a451b463b0903d40155e63e91d3db84f8e67523edb5bfcf2c95012164bcfda6322b38135ffe2a0219ffff031ad05fdb39f472f4195fcd66f42d0d1576a127126a69441e074a7f999537ef9c037eb1798c240ed16e57544925904b2d334b9e4c82cf2eddfd9f30c9de7c2d08dd0375bb44d9f00610c8b71c982dd731be2e98ba8d31e9cb28bb3f217369c8ffc42a03b96e9b445b7e35a8d9ddc721ecc21574d4ce5f8597d02ac1aaf9fe9d00e3fb8803f160a18397a5b50ed3829eaee8540e095b252e379b59f0279cd920301d90dd750373f761cea8c4e90fe37d2bcb15d5a4659fa73604ccf8aa6a068f1b0a7381446c0374387f0181b2494a013c51ca4b466641aa8cc8667ef42dbb3adbcac2e095213a030f1cbcce666a5b81052a8a479a59ad69ea8d985576373ddb1183ddeeef454ad3031c704b13106090fea2ba745bb300f622a3c9d604a66a6c647c7fd515f9181a03031ac0158d66165bbc14281eaf38b1cdd93cd3152b5fe998aaa82d923b0f84f547030aceb9267761b091dba549a71857bc9995eaf93d6a84bb551937073e4bab197303ac12e07a62983937a9b0842305fe54734858d9314728d3a79f98523f670882a6030b41c65bff0ad29d1e951a4f99e796d7e34d5d4c34f28b8f40b4222fdd4867d9033b4bbbcd1867c304f506c0444d930098be0fae0cf03fdb6bd20b3ff097b5523503064455f1dc07f8ab68f0af1c2e85a0775d7a8fecc47c3e8040a3cebcbb90d56a03239f9599a48207ba9a80f57e136a48e85f68bab44fc5134be8722254640b6bb50303a100fccdae57e6435878a2c655b3c360861f519b46dc0686eb5a85c681a9f603cacac7ad2015b3c1441f09b19dbc44f390c23606cf68d980f5971e9122d6250e03b99cc45e36393176544e0d5b4d09bb6e1a6d32db4846f87ffb1b8ba049bcd577038a569e48749661190a015a287e54332e7bbd140696c3b032c9bac5635b7dcea3035cdbda3a2422f80bcd1ff707ef59579e0baa790e089a9e01bc489e3925b76bf3038776ea616180cc8b7cdfe5fb7c6a84cb14c9f159b3f01e2e9d35fecc4f484b7703715844fd6924c3d43bedc009ab8a606aef4746baabdcb04cab5bb618a296a50403f5e5c8372f4bc22ab658c594cd69681b8d665591a57129720a5f20cebfcb84e703555d948ffc97c07855456deef8597eaede2b5ec9a23af3b27657d67338c0b82f00581e02c6e01882bbae74d577d086542f3a6b3657f54b151642e080a3ee0139e7430183fc00581e0290ac1f569d7be32f5866f0ca9efe29d407ce3313f89479e310df1676af440273cd6100581e02cb05a63548f13b4f9ab7d34dc770f49dc856df64fffb566277e4772a935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fc4ab2dca5f49cdbd488355ced4444fb15cafed2719f416800ac043da95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b99f19c3beb06f50f44f4d6b71e8de1ddf36c88e4d6c32b047539669b14306f2e8021909160304688598fcf35dc74d49719559897ad6465c16959b84900e506c712c4396597d0329b6e664b7fdfadcb9af3a9a56c6e087fdefa643270258fc27dfffdab5277bcd03b9521c6eaf4fa2e5512901a60fd773d6e1b5274ea415024e15343ffcc9cafde203d50daf7c6a6ff4c49c6f1f176d8644dec4f2df2fa4874e698a1c9551894697d303cfae898c4987be4c024ffd0d6be16bb0c929107b701b7e27b3468b09a7c5e9b103227e5dd86d8d9f7b577ce8d8fb4423a4fd59daf6553080dd68728f54f6e75c9303f3c04ad96c6897d159537918267b1a34aecc7dc5c8aa07fd2a777ac39c6233c60219ffff03be64271d859c63b9fb4f19b7d48bc5f12476eba1df264a90a032c2c1a97905c503d6474c7301a26bfb71a65818300648900f4295f2a7123cd807174b00fe27366c033785d4a56bdb5df64c5b832ed343a6fbc78825cbfb5f8a83737982a36604cb42031ad9bed16c4a65f4889cc4ce9d947139306aec85e5df3ec906b07da777c28a180219ffff03ab5fa57680f18f632db8e4eb8398c1b964ceaa75c4433168f3c26190f928133f031ac3fdcaf0f6dccbcffb8b93400d12c6faffd76ceb6baa88611435c70700ab88038206413f948bdca5687781d715136a484b15e81333b604bc534e45cebc0ea6be03911fe36a8c74a472c5c1872f99779e4fd863809cd2b48581c1c8a6bc4e54581403f0d660762e1a8f08205e75618318fb743cef3ec89123bc559cc9ec0bad13ad090351f42fd4c1f96d5c63f9c0b854083411e4038f81a550875b39bfc8e7106907eb03c73651e8626edc271f445dbea0259910adba19eb5b3a6a8564ef623c612392d5039f087f09e0d581e00af510614b33d5e2a1e51e0a1d023395a371f4319388d0730331813a455bd12f7c81ea858018a8bd723de6f31dcb130a601f1ba2bfedbbcfd30395f7a0950ad65e0f3c106d1722179ffa17587523acd6903e27f0de793f19f50703a0b55b079a0dee0cb091846ad79d1c8c56882e916f6d012102c1ee8b84159a6b03a9f9dad9482a3a63b6ab1c44e4618c86d4b49310013b47a73550a0c982931a6903f04d47c2794c97f5dc2690424158c64f9ebefc2beb7ea59a375e461c2c1abcbd03c96a5dbe77e3345d0e5582e0997c8167d7bdcb847a9221331ec6d3bc7664f557035c659cc5f60984f50102c16e1a7317d4ed97df6449759373264d3c0c26f438b900581e0295d85debf06322593c154e6fe5273979866be291a42f090d40f9703cb55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c93f5b0e5e6e0fc8781cb1fdfafb51727059ce93821635b8a75f9417c643286e6400581e02d63bf446b14282c76085f16ff853522c85db0b444933e00d3b0e73f22144038f414000581e0307602d174c37f355b8584f193837098b3339e8518e9feff8c6da1fa700460d961d97592700581e033ac3a8a2090e1663fc802d3d458511955f81024c4484d76803d22cab505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e030972309526131b257f58dd2618beac522a038af9a54c9bb8e6b6b93c5045016914860002189100581e02fb6d3923b0c8e6d3d960f3c6acc6b5937f8d35f63c5fb57f69ed46de064417317859030bf72b170623a5d41100768d93ff6f22db9aa02c37eb3e4eff4bb3d9f29d03b200581e023cf7423336f606bd34f9a5bd38e6b3f8fbaadacf834bd29cbff10c16ab410103e22d4964d766e5f87175000a1cd1f1b245167931ad3ba5dc3a8fe8686535605e02194e5703fd737fccd64309756307b50520751b273168a3f23cb75f32b1f330a58cbd61920362d2089edfaf18d1b530a2afd5a60d93799b6b6843cb78181f6c164a9d6dca0203992a8f53dbe1908c5691388dbb1e228e1b73760d44202e92fefbe7a13d81b57a037dfe316c10254289899c5ecb413fefd2ba817ca85ecd39b7e2e2bc541e11930c03d31646cadfe6071d9782143b26ac531e3beb38771252381cd180baab803c1eea0354dcab464cccfbdb5978f198c50d747ba3ad46d070e7afaea57e4ed3e09f53a5032f8190449fbb8cf2152b27dc123863f35ffacdc528ba7a2e553401a870074a91038589a5dfecfff38c06429614ea08e7d7c09be23cde00c91fd6890766714347f203d331a27c4487e6efb2aaa9456354a96404869398d3ac5a806ced771dbf2039c903e45dfc14c966530ccb1adcdf2050f580b1c9256858aeeefdf54bb22b11504d0603cdc3156524193c280bdc3ec6f939ed7e8d72df6102388af7ad1a814df145c11c037bf0863df7fb16c3c4c3e69cce83824201b91f34a1d8940cc6cc009dec5916b5037257f7be11611684c6d387ae7ed9a5485784bf4302b953d087100d49782daf1803cd8b68cb71455b1f7132a38a945a36fb1f31853490761084ae3c93d63aefaf5c03e74be2e99495ecb32b23866e7c4aaf5fdce15ea08ae5fb16c934805badf0eefe0219ffff03ac7e6b0bd00faa2d7cd7ba91606b97bcf978d7d5008433a1215dca5ed91ea1df03d72973c5587696a38c7ff3e3c3e934f080ff10d0e1f8fc6129a772a4f09d3e83039686e22e66a51df4bc0d5fa8ade6d253b7fde5029c8993ac306a1fb9158b9af603b31c4291955114ac11433f7d66cd5cbdde6f224c615581f8e12abbe87b179e6a0219ffff03f5c7b1a4113cc630a9a01a8709cefaf1a77be598e72263999df2bbabc342b66c0330f9fad15afe35f3b249e40775a7518d2204a19a75efc198a1a1c7efc18985b40219ffff03982b0b118b17c3265f0ca0ba28525855868920be8c489ac63caf5303beae5a68037acf132ab52629f01654607958ecf452810c4e780fc5bb59c57a8ff0f44e54bb033cc348f96f9178c2ca23e36e436d458c34add731fcc8c69af190a0662300f629037571d85e7acac1d45052ad8e15b8e1bb3cd00a786578d174358c8ce6d4de6def03c1bb0e77f1ed04eba43b250b62c9a59f2e48c872e786911ffc14354aa60830b803237bc2fc67c0af8997545145b54d88d84b371a279c50284416f8243b197a178a034d493cedd60f0ce015ce3866483ce29afcecada10325ad5402f4d0523ebfbab103b84c3ab2b172734138f78be97132a1883792b990225e1dc1d267e6dc13a0a2ac03a7fe93cdf58fce625408984fc358f99327eb6eedb612509eeadf0e3363fe2536033b9a8dca2f0b94c558525054d1e9688bf757c0d6081f799b5e5cd39c4161510c03ad64ff70dc725106ece9728f0a4a8285aceb45c08aff4ab935b8caf3f72b1a3c037acd71ebcac78e011ec1d9be6dd4c14ab4f06d76d1d714d63ab828a14f008214035e53f14f32302732b625a2a1ef5894817b800f542d85815c4f563c6c29aacd09038fa8ffe5f88ac9ecb6d3554fb36e5819a1764d15ac65bc95129a03c511bdc22c033a708a602625a611589b1a936c4b801c099013b5d88ac06371ca16e8ce7f458803e72a863085ec31da3d16dbb3cc519874ee8e5a543b64414e8b2d88aa1f999ff70351ad5f06a756df5c13a369c1daaa785a54b4e7027361b1947187e7c4ff339cc0038e120eb57060fce5684671c9f75309fb1fa09c1054dbf7634e011f60de4a7fe403c2d81a121ad16771f8f51a4e25059f72e3697465c84f0c630c83410ece3c734a03d938c757979a41e4c971fd7c021119fb51aac875a07ee809ad6f0c03e79666e103254722d4ce9fce3c2362a823fb79dbb1690e774fdefe03dc26df84bffcae8b47039371c175475f977ca4caf21bf6ecd23c3b7cb4e39a1d81e268166bded3245aaf034d12a2674d36fc0f9f12f1f368adb505068107bcc53a8b9471c5aa0b08532ab600581e02b3b29a59ee05d43b7c49aa934417a35c61c2693ba9c1e9f75745d636845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021ec2d5ccdd7d68f225bc23b7221d5e9573ab4e9ba15b6fe288679d802b4408913f2203fa60bc86d247f44a26985b46980ea63e5723d0b85a5401640ef668ae5090fff600581e021944bf70af64141e56ba75cb080dc964a577c4f9b2d2075c6372dffc615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028b53cf7a408a0451c5313a3b6e5bf6b2c65702e164f153275be5ec7ec543061a800369e4f80a9577921a8ccead58e0114dbf14c96d514706493ede8b29306688f415021931320334fdd0bbfbd22725c413c5ed9199fd9dea770033ddd97ff3181abdc595b79bd603ac4798ab996938530fd850ca2fead309ce186bafb6744030323ed1e08acfac0a0372cce30e7c37298916606bf4686ee68c0427987ff2ffb2cd4924fce70a207d2e03a11f860774c7efd9ed95b71ed2f14f1426567fb1f85bbe679da3cb4e3d644dc8031fede8f01664d30782f6b171eb0da969919049c8924e2e840e4d741d49254c060219ffff035dc58249799f5483b917d0e3dfde50a46dcbc19b64ca49cd94dc1e5850c042fd03179e88bdd553787fb957352039f6907aaea40ba710a2558982da64a02bbbb721036e8591dfae02a08dc3338bd78dd3052f295ed7e6723f6fe285582071826753bb03b26080591979e7ff83b7ca2c220f80a09b08627f23a7ee3c881a2deaa44e9afc036a82c2302930e0c1b478afc479cc36df107c02b15a91b5c658fb9b9c2455a17f03311cc63762f2578cc400e6a0447fdba75ae38d26886cd43aa0fbb389b484a6620317d0890700406adeef71448c7d7786a31e3a99eaf20282fdbf3239397d2bfe580329d1c03dbe1d0ef4136867125121af424565f28f4cbcc864b1fc524ceeaca00a036a984748c5c1e389fe72be69bed33b7467564b23cb60b0a2f9e12f73f980cb8d031f2f54438535eab945a0e7b7446aac56f380714a2a823642e7405169e2908c2f0219ffff0342d7b8009ea210b232c7670e0c7a6be125f9339f54251b7c8c9e647abf67981203dd78234a84c135223ead2a977565747bd38d549c3d5f3b9ae99a40ffd4ce2bf6032d5223563d65c075f0d04892f781d641b192862735cdebad07d7dc75ce963011036dcd19fa436062c8a520a0bb89ade78e766842548e53aba458424226972ee77603b54f95f2c2b5fadfdfc77e6add961ef4de9aafd0924e73952dd8b87655df3b6d03a156598179ef074c5d08450c820776fbc7d5d4dd216c0dd741dea3acc335e370035d8ba1a36cae6c97826b9c600b8e5d937a71dae221434f3cf60225d36feb4df303449de301423c21b0ca3ce1664303905f52ac91343db379eafb3b77adc2b97ab203b2da33667c6d7032ba4ea3fafe2dc3f0e7d5954c8198c3ce7784f1ecfc6febba03995d4167adbcdad27cfe67c942b0beabb1379b5cc1bbb79976ddad66c5957c39035d87b1b90832d18d2ad0ce2c305a412f8b6a00873f672d19c7495cb4bb745f84038f90df36e9dd0688ac9852e14134cd7ca3f9e4381cdde655e2bb1a14a166529f0219ffff036aabfc1b0584c04f6b99b8a592d78cb8168afeccce5ff0398c5c31428666f5330349e8a91922d579643d28caa2e77ff8a42e9f1bb81fa94eef95845eef71c30f0d0317b6ec78fd50d76cf718e0e8f56a60fa3bf98c5079eea55c81fd668409a69c9703188eecd0ecc733399622cff3d3c8c3a9edcf0329d279662b7914f43de63d78a303922f918c036d85d243af4a4419251a92c8592d353787435ef71246eea716032d0389e98535dd51c8d7f255fbdeb96f0339dcfbfc5ed2a71435cb2e7d954b6f1dcb031c41d4a09307fe01dfce049b8ab634912da7715f90e8d4e9d7812d313ed50ef103795450b3a1c500361dd99a57b7275fec4a82f441679b10ab88991503dab313f9031d6006da659a9211be5f8d27bcd69a9ca52e35395a8a8bbd645c8715cac2ce3c031ef73860b36b6624880cedda74e5d567ba4d5329fd68e559f9eef0f28f3a6af703da030da63d078ab6009a1fc84a7e31e785b8d150992847f3d36a873d8cc36d9803ba2454c0d9ccb4d00333e3cea41d0574f877ca5d105233def3db374ba67687b403e79728967131dd71fbc7f37b3a50d706b6d325fde8203d43630b72e9b7da870603652cee53fbe90abafa2e0aacbcecb439cc515f07d481f7432e791fabce2e21b600581e02e570c13c9675719a064241da3869d08c96a75e5b263c765547664a4554432f083c00581e02ba91fa1f8aca7288242663e2ac348fd321c06bba83787a3c26fbcd804a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a82df7d65f3d9b32b8dd40c21ea61b51f07c4e45f7ddc25a558790cfcf6e49da030cd07596af4449ce349b541170fcb6159bcd743ab8ed3998900ad9a502c10f0e00581e02c8cd50800a827e5ca27318805a85ad32639f98f9e23c175bc23f6135c8440bf61f0b00581e02acf17af384d6306a6f78d820be5c1c6368c64a89df86310090212a24b84601371b7ce90000581e0223877ef57aacd7bccda8f365fd0ae8406bf48da8b918a9d8d1510e977843e4e1c103cebbb0e05367abd665e1fe7908c91e7f489eb54b3290dcc450173dc862e8845f0141050219bb060338c555232e2be205f74ed97a21aad4a0927b81d2e83770971103e65e5d88c1e403e1b0ab3773e9715909b3b4b0725ddc89902b2c29c4dd0a56e3e77f80df5ce4f403d0cac258c34855c07a0da4d6fdb9145c39367ee05f3b722ef3d0c78fc05a61be03ccbe601a8cc275a553b86e5f724a1007760e804102fcf940bc3eedb4b2919581039b6864482d2044b2c806dc750d929223f23a0aba33d03bad3283285ef969305703a1b6ad6c3fd15ea0e320bbbd872587887430a3fdd201b4b8f9bd1e54e37758780219ffff03c76457befebb01dbbba8f53390b50f5d43f9d5fce4a34f31d69040e6ccf2f3c00393c87e0e9aced89115dfca8870e720ffd871602334ca38bc10ea405ed1efa6d503b3c305e7fa67a3fff6fc5e27aa261525baf0d73cbd8666ed25046179734782f2032b3f84daac67eb7a2cdc12e445ba6a376e23688f393bc80e54c31a0d6097c86d0320588637507bbca89f55b6e0ebd73f6428d16bdc81d6ad5bf771e53010761d4b03c923fa8c729f9c93aa4b12989371808f15b25e46b2e3b5c2fb3ca4249a4b5ef7036d33f3697fd39f16a7608c735a9c79ddde5d6aac91f2d2530e5bb4ce0926ffa3032209321d221db7798efa83ee91e5daefa6b54ce3156ad0a01921f0712f18f43b03d4c04746f30c4cbebe5ad93283200baaf159682432bb908edd0bd7d94ccbca4403e3e42bff931c30ca237734e7125673583669fdc6f7f8d906a7ce911a613c07bb0219ffff03c330ea9445dae9a0a9d2ad904ae4e71a877fdf08f27aba8d3780f611a5fbbf0103f11a09d3078cbf043ef2a2ec74fc207a73009dff4bfadc096ddcb5d1c48a1c300391a51e366a2b3c70e22d8257358fdbf6ffec71a8981bd76500e09764f620503703ea75d8919693beb310ed4ee5124769bf9468b1707a5a360b906e3a44e6c23be503e84648acccf9b2ee0df0ca1f5b68e178604d440f36c1f0d5969c52a95575d19603bb90e9056cc82a37a91bc5efe60085ee964a1095ac235a8cb77549042fa71fc503afdf56a0816770b2039afca75364884c6700835ec80cc96a0b2c5196359b4d9f03d9e674c0414a50c9e758f804ae8559f84102fb8a195ddee520922c147a9b4f7f03f8008dbebd2e1cb9c7fc0b2c95b4ed5e449ac545bc0dfc0bfc1a40fd838828c203a44a5ffb52097e483aa51bbe8ee3493cebb98084ec04aab0ef6f05928f7c8f2f03c792327c44483adefc5a8a1146a00ba86d18b7dfd8386496aaa906c50365c22503a6f4f4b90297665c98c7d3e380b8bd5d9e0fa613d396cb538f8223397902d95a0364ced7951616a0e7c9a632a313d00a0b15c9698673d7671038763a1dcfad86a403c36069235fe1ffe9284ece34faad7bbdfbc1019b398b292caaeb6991a47feda30319129b3be50d530bd97f3faa0b2f6b69e302f259beca97b588861329098a1a5003c319dc0ea3f4d15ffc937ba71dc52759ef0b1540ac335e2421cf23579d214689031cfacd9879fbe7cdf76093217702c5249512880990c9569ea3ba56a892f5ed6d00581e034fd886f2c05013313db0d4f9cd939b3a0dd69357079545eebda41231f045010634476200581e03dc7fe45c792ca9708c645cbb38487bc2dd26830245eafda3e32a236eb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190202035b570cae539929c4fd810fbff73cce0ebcb73d3983e4a4d663c36fbcc632cdb800581e027aca914db7d923b88812fbe858317225ab2a288a0eac0f0b5bf274a5835820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a588b1cc93365ebaccc96e0574f72b9a94798f5ecda9a411e65ed67998430186a00219060f0309ada0a7552901e17c7450471646a19c85c668c2358b1c40d9fc78e8a88ae8e6033c237d6ddb50471c3054fa89da1c1332f072c9d6ba352c6240d8ae6598a9ef3a035d60036288de78c2a38243b9f3889965dbde7444389297eaae28023e7e3a96d403610a13a0c9505783c4c27431d483d18e9d0b579376da6a05ee4abe28e362d7d803cabb23f43dc879c41e675050c77659179be140f3936c8332e038dd5ada914623035d538d00f5f053fe87a1a920cd5788823854f4a7ba01b9193abafff0063276a203ed5221b3ea1717a18a693b395d039b926113e144b31858ef54d5828f0d5592e303660952a711e6ea76684bc22213d66021f638e0248aaf063883ece92d474cdcb30361c94eeafe53438ccd8fb229b4790c08f7284a68df7865d3c6618dbbecda7f7903a3a93f4a7f8ce5f674533954434ace90f6940614d8a075816f1845327f4d97ca033e2032ad40d3bd7bccb8bab9418c15ec5a4ddfe8d6329fcc10c65cd2673de14203ca6e2c5032e8376f8f481e6531fcee837d257fe7ff6b7c38cdd361bfec0290050219ffff036d602fafe2aa6d0b3cb25eb515977b26bda66fb447473308f57bed66bdaf81f3031ddbeda08b4c45667fcdefe91c88591697877955112734023a6507a8e52aa2450372e930c759db2f8525b36556b841ccc35e440167c0e49b693b1f15b7b9b1c2a6036f881254168009691133d7d01a7b1710e8dab78c048fcdf6f4b0756dccd44a820219ffff03a3f8f8ca7088113ec82df53bde10165cbd15c836ec9424a1ec1719f329d00b82035256eb5797da482267ae8d2ccb7dd6acc57fce1ee39ac495689fcb27bf0534a603022cd5849370fb336e01b7c820fbaf242531a3ac8973b982731015c9d869bbc703acdec111e09bcbf00f5400334aea9575f7d13a89fba3566c5566a3d93f33fc9c03f2fe5c3777e8c623b95e7ca76d61b0945abae86a3031135d2677f2cfff89ec2f03f182770d562af821c58834af16478d76fa76dff6ce28b4d15b0b6255474c6274035c89ebd70f6e6c4f3a8bc52861d8b921c69aae56c8931e8a15ad08665c7a47de036fbe9e743cc8f085aa1e3a4ba8f687bfd6ec9b8c8c89f611f99f29e511106ba503b52af75cc8446e554df393cb17e02ccf1ac9b8ee3862ac8cb5236660dd68601f03cd9cb4f40f691c820758b0975db1c7a05a155dd6c93aa4296cedff455e2e3dac0354feec2b9c0d6071d8529337a12a3aa814188f26a21f23d026e227020acf67320309fd3e4576008ac9884dd633b835d81e4b8864227f9c1576dd6127a0341092ff037ff9de950fd2fa962a2a5d40d835cfd5007fcb1d2a35a023da808713a15f7e020219ffff03bce23f55c6c7822a6e6b140ccdbc0ed89cb79ab4566f04097c08a016659e0912035ef8d7262ec235eb83b74601282919c864be74f31979d163211f122b15a67dfc038531d8067e9aac91979b2837eb8ead4a128723018900ab1f2311d3947a6487cf038072611c31d3a40e18808571053c68d536c09cb0159049b459449b0a924e406e0219ffff037f6acfef60af01afb31ba220355e45eb7d1c037cb79fb4f5552cbbe6602a4e910312d7bf4382551500159d15ec0eb01b835077d25d290e7731d6aad6c62e3bf7b103b39f70538ec9afd2eeb3f42db9b3d2fc7dca3dd9c0d79036ff394c3907a7f3980392ca14a9ab2d8223cd7d2186a5da6fb40d524b0b8126a531d1839b5722232b6d0375aa23b97a38472e4fbe87a70a4fbcf62ecb92ff9da0828bfdab98864aa359d60377b1c64bf8e6fe58088623c73eee11beb3d338c5ac8069f748df5f473ad90cdc0360e481d223ea377d8c675191c59e17f8b6bce6253748147e91de4f1d55780bb2039addba0bcbb3b406e93d79c87ac911a9605c64930b4afa2c53b0485c9cddf87803d0e48655a5b1218ff110a68a5935627fecca485c289ae628ecafae24537f46da0355007dda25033f0ec492477b4cd79f192b014492b85b13ea81089c6fa18a48dc0395d2f094ac81b65081ad927843eae6754dad0ba20b933db78d426de14f6df1ec037d697b0f3a35ed52f83401f300fbd48cad48d8f84b57e879a3d9b10f8615671c032a6a28ee66ce178e73ee68ef435e1e61fef7ce34810eff9f76577539d1afe1a5036581f21ef7533d2943c37be77639c80bb62ad5222544e05f6402b927372702c8031c52fad5c76ed028e9fa0a7ce208d9ad73e82be7947730499a4181753dfc19c803bce20ce8c5bd5983e3ab486b29304fd1ba56be12bb1be44acba04b86f43dd1a8035f6df8a11ab3a23be5c4aa9dd1f7d48e8a93891371a0d7412db97aee7416cac70379a3bebe2b71ff4bcbc4dc820f95e306412b82cdf4433f35778abda855637e0803d7c8a4cc2aa5a158b469f20634e530379497b5eb27f9e7d6ffa2a1a19ed4df1403b8f9b0fec85666ec9f07c0af3489f38e90ca62ae43eea769fd0c2edc353df90b00581e02e4c6644dccce48aa112abb995abf05df77888399b9756cadac8d52913b4413a0ae5f00581e021fc6267bf29fb520043080bcf5c43782de9fa9ea31cbc58db14f6bb64d421eec00581e02220056c2d5d0cb57224aa987d89179a374cccfc20d57c80830804554b042271000581e0239953af0c9cd55ee103a1a10027ac5f4d01982fc9dfacaeb82a32eb342430f424000581e02c853b68e4c76cc1bc7d7d2a80a7152a75d98d31c9924f6e1527d4782eb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0281c3555c321913b54c7eead5c5f06d1e8e82f267deed75f2912a1aef8d431249c70219112b0364375b1f8386f4b665b8e32672e7ced3987034a6a3f39b0f3f7943d99a0a0e1b03d0d698c6ea3109db7f2b6fabfb9fff91857739c3ffa7552bbb576233486e9b51033e09fb2ad574779c9ccf8701e1b1c7051de3e829d794ae65bf9dae9987495f3003c1198e4517777cb32f028ed008d3f5f8fb26f9c0ce230ef0e3a776b8403b012e0365aee66468304aab9e669a48d0c2262d9e8b87d6a6148a7eb83ed3c991a3d4bc0385c930e341f32cd2a7bd9254534ca7ec1cb1ecf32a965b171e1eb94160d4e34703e619d99e0497b882456d1f8e50926184254b502a49bb4a17315100534194020803a7049c4c20f687acd45ac328134c837c6cea48be72e8cc1d6332c2669486b1270349cec41a81990326d95b5641c5221dd4d82732486cd2aaa7152f0b7e4ce5ba000381776e3f36de8dbf65f896ad92a75a1e626e763165067e06147448ba2e4c9fda03ce3317e79272bb7b17b3d529d0294e1aafdb552389656cd543d95ce18099d40c036bba8f4d908fc966eadf8dbce89974872c872090ba86d85d6cc83c8b8150fae40379933bbc03c5cb3b4cd87e75bd08536bb1975c1090e67690a6cc627f5a20c26f0219ffff0354ee33113457edfd02ec494c735e419b3cfd743067a5aeafd738e6218c9644af03c9a12d7d48250802bc2c19f0c152454c50fd208d60533f03168515e15758eb9003f5b70f0996f506c88beba046d5018ebac81b5aea06d6e000f16497ec7bc4f21b03f56e55186e9f797b37444d8e58ae5e9dcfa31af05b854f67a3c052c02208adc303eed0c62b3a26692f3f5601b656234f2db05235fa9fa7e707503cccbe1a01034f03006a36f751b4b461b89c62b9ed61590cfcff8d4a7db38ab37ba2126b9ad5303e039888f63b24742ddc4e6f93b069de52cf03d5e3076dd1317d6f861ee3bcf0defd0219ffff03e90cab0f0976aa46a15501544b196593ae82c03985f559663934f667a24531ce038799e2e17cba1ce013b3c78945e8ddcf7b1df0279522a58464384e93580be44a033921ab1bf303fdf37e2191860e087097cbf06d9e933317658d6c1a4554ef8aff030d9ba898686923c4579575b4f366a3591f370c9094b32412f142a4cca06ef6b1038f653f0023d1c0d8dcc3667e704f8fefdba0d863d6a5a0259c9f9d32a6161a9203ea03c5671da3c801acfc22555fad5cb65faf116bf2adec9d6d1ab05204f126760219ffff0334cd0b6ecde46e1039a95978642b48c94f1b559ca0ee6227c4775c446fde6ee403dc14b216a4fb69082d8c1acdd39c9701f88cd992c7350b414ab28ad8b9d78fa8038c61aa7e769024a8b27602ce426c0f6ce6c8cda6101e03a25a0d523489d2b7a70336731aaa062b7487a0fa12ed2c7d38c62bb18d276e494bafff5f7e722dac5c670333ab6fe606152dae4c6ce67fa3e62879eede532799e78d626714e1376fb306c303044486037f1fcd6665c03a8586b9bc3483ff5278dfbc62bf2bc7f625f2ba1d6403a0c5f60cb1cee222d6c8422bb00b8095bb3072cd26d24771fb66309a986a9b940323783d74884dfeaeac00c962b102aaa32fe8912b871a3874fba5708bdcff3faf033904ff369838afaa3c5563588a85876868896904c1da512b91d46d677a7913bb03592c2ff9ab0e48080295c5f3002a15cf94b1a320b520803752ab10dbaf87df47033de245b160defd665b228913a2b88469187d11103bbb7606ef73b235f1282d85033d5bbd55414377e5a8705dfa097d0c71ab06e2bc83a841f9b3a470a595af198c03a32251c26d0307f764b154a24f7fcf4683422456f3d07ee2209a4831609b5eb2032b98d42d4818e2f48d2337fd00732537a44b9a8e26e9b244752e6f41addee38b03c68dfcf06b5c5b777f6f9b2a211ab642848a0173811eb64d0b3562f9041760cc037a4fd08baaff48ad698bbb5cc9c6c4a72842cfd375e16f45b90788343b6a3e1003f8ce9905da99f0a3a399d8a6b4da9a29a70f894911730faa4913279303853dd403c4b597d31a0ab90b67fa850f2377a1292a6afc93f540659177eb87ccad5e4a0703f7e2d993fb4c05ea1400f2cd338304eafaa086fdfac8c1da228e39cf94b190b10332c3a93bdf41eff05383bdaa418571bcef3caf12942e920a4394dcf8229c3b5603c9c087019edff3e1fb1227c8444a14c5b16bb01c356ef39eaf33aa9a8070eec503959e841126bd523db9b7720dae662426a0b39c43e4c6c0d17364ef17269aed2a036d980c71456322c87070896cbf2f48507929cc49f4055fc4614ac39decf4c3a503ec36b312d86bea2aad8c0034956553be57e2cc40a55cd6211d516307ee7fa82703e71fee91897805068bf866176f34b43a5df671dbc41f19bc947d527340244658036f11d362872604195516cfb2564c6e6162f92d84e286f4623ef6d0e5ee9d9d9f03289d902b752fa0ed988b6eb051f9cd392a6b048193e1eeadbf5940aed64bb75200581e0207790d2d2ad121deaad33073005a0b221b27684e7c91b62db9f871eb2d430aaab300581e02a69efd5d9f330d1fc6c96b693d47e03dc5aad10d973bf6b03d2639a41c4402f6aac000581e027205b86d90ed7c3a7a1a6697ba8cd317020f181e2907ae868a232a471844024e83e000581e028c59b5038787037ce0af260d53e5e7a438b58a946638b84fa29f9114ea5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02909cd912ac7b010f4c419304d03f474a6c74cd9dc07eda4ab335aa643b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0213be0371187f256e6f550a6e3e2930048731bdc69f327a6aeb9838d9754d0c9f2c9cd04674edea2e1e5d0000581e02a4f5343f16dfc391a332ede947903e55f15f581a2a3671e1a98267d1d94204a900581e03058f77ba567a97749237c7da9b1d2a70f6f1917e108cb8a602ec87d9b04404a94c8900581e0318093a2c6c0e267eb2ce40774540884d2dec71410213e47ae56fe226f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e038b3b23408509c2e7c60ab2dbc3885de75471f065c2663fd819754649a04515d70e7b480219084400581e02fcf3498c880eda069b307c44238928537612e5d920a71ed5ea0cd793554341a684021939670352a788a63df60bae1788334907af1ab2f74f855fe149995694a1d5ae4a1bf3ed0219ffff0321cc158e9544d6800bc251e1d3b034125508799ae1b3b4ff99f05f3df780ebd40353a273fcba8cf44aa867f33cbd115c4d1171410ff98bb434fc5a47dc4bb61d6303a73dde7502ee27673bb3ac5f08983aedad6ca0d1a581638ac010d754fef1c9e603f542a891683a5d858415a41a858a693331cdeb521d735e4af56106b277558ec30357760fb1521a7152ebb954d6ef4fdff7f41df48695d2107dce93cad442fa84950364cf3d72ab2b79bc460699fd22c04fb43932890be4bb2fe76025eb2cc3f9e9fa037ce887eff7e4622b2f78294545339c58595d2b1a876107594a9784ef7639eaa4031559ef4ac7751fd827b8cf59b887ee34bcd8ffd56dcbdc0a1f3a76579619cfa6038f143bbb8e6e6d2b34c2677f96ebd01deefdebc60748be34f5a8113c8810449c03b4812d1353aef1b6d2aded207853653e2ec23aa4d0907a6093ae6d8a564e00e703a59d6096012e4d409e5c1bb0a03cf2bb304630f6b57bee82ad35058283359562039fa66043bf7a427ca00bbefa70e2682a02d55ede302c15ab4f65ee5b2821b8280219ffff03799ea3b3290041ef8d46dfef943402e4e363cdd37444e40f5f19552e69c70efb0319592acd6073481c585f18d0252ee6a97102d5bd071a0c84d32a3c9b19d4933f03d715520f59a140e25e8247a8ac772b501c00d4bf1a61ee8d70b17e37db393f2203565dca6600379dd2c38e71865c37fff632d71768742cf64194d2e594a2e269d60396e09ea55e3cc8506cce749096f12a4238807d482495a4749c7a6c74791682960219ffff0373817912093ed6c53440aa26a23991d54fe2ea6ad596aef785ada03a1db3b0a7032933ea03219c50f85aa5f187fd7a253077cde8abaa0a696925a6d5006d6650ac038dea5eb51309d1a5d5c086f09b241eceb5938d15ceee4ae856a66a707e58c6b103ca3d1668ee81a60450b3faeaba8adcc92b299adbf83b14cb8aa56523b8aa8b540334b5ffe1dd4c805ec0b429984e220dd5aab164a4f8ee2137b420e456f18c4fe103ee84fad7cee888c5da4f8446b5342b9453472ac5421eaf8734279351cfff11090367a14b99383fa80e8bd9644dfd0cd011a17373c0ec02e08505104f1e2adc1e9c0353f35fd37575cd98d85ab1c0c9b9ac301cc193c28817d86c08968685872f28a30370f8caccd48c48d80f6f4f063579f9920175e786fc933a3e93fcb3c2b1e38f9703b38cf49ec13775ece1b2e64299395e5c5bb7ab95295ca5252b4b6086e95904b40338069c6c1b762060885655ce2272f5ada5a32eda444deef4e95fdf55e531538303316249efa8303c7c5d2f937ac5ba1ed216ef368f4ee21dc2ef5f6effec0fdbeb038408fa0964d5905377575ca4bbdd5a5aaf9a9902943f09dd521da65d14ae75ec0219ffff0315d6511b25fdab79e75a997559bda410aa0ba85d90d0223ffcc7648702b4897703acfef5b72fe8cd144d808fcd98e13767ffa15ff6e4754124fbc920ba5fac20950302a36620d737dc70f15414ce1c10bd195ca138e9cedc318c12582986f63e265003a8f4414d6d549e81dd6c9ccc60060061c78e7b7b144bcf128e4e4b9b7da358a403af03720e1a61e355abad6ed55a2c5ac02c45f74b1ec69813e0844bd6bb24344a030f16ad05d8a59c82a2268ae970ddc209e05da313a662ffaa0ef94de1ac35304203905f4a3da9562df2ca57045ed7d27742d96d914fca1f0fd0fa69c095bfec7e5a035bc7d1d9e26be934195b9d9b1ae83b1933d8511a144c7c51d1db9e5381ac7a450334365573936a4b7aa5e4819219b86568d6402fa857c6d777932fc8563586decc031fedf3f34b83200b4d3c1374f519743554bd7d1d115c70ddaa7578a8f0a653f303fba8414d91f1bfba75b7b902e56dd2b4d8c0e67b76f0328c9547e5aeeba099220349a39e3d42c30e209ad03fde276028a4f3eecaffaa4c0bc98f370d3644ef236003c4ffb27144aa52eb43f289338e62e56355c6ef2eabc43deff1b2cea943ec94c403fc8c1842bf5975c53d5fa35b389ff1c59325c32cb71f83b031eb01dbd6bc0d42034a40bed7491694db7107da018cd1e9444b490aa32d62a31b13ffd9c58321573f0396b952c47b9cc99eafccdfdc15dd80bacc1e7c568efef1b57ce8f9ffe398c6df03b452eacf8dc12a9ce3ce17ec1c2ca3cdd917a514c86ee79f50dd2dc3bb8deb3d03381ccab2386179b42d8cf95ece64a5b3b061762cf5a1eafe407a62049b3aca2003c6b61922df311736e57bc557b94b8de56783e9676e31194fe22af6c4f0ed4e49037719802c4c174f297a13e09eb468e5f72396e331d487daefb68d968afb55afd70371659d6830c47e1b843d5fd63de3118a350441551de234bc875406e91e266d2c03505105de1a7f613726d1335a66c57b2c025b513458c8a561d881d48709d8e389039e3c68615fb6229593be5ccf9210ce177cd0e9b27ad673b5c441ab457e1a1cd503d021ecf50ec2a26a773f7450b845e5c399bd82a771e064f1bfb6a7054e67c32a0353dc89dfb314b8035dc299e3d30d64e08f007276d81079b758e16fa8138b48f0037f57a3be3c751d15d146cebeb786d24fa9b5c354973b7dc8ee626b7426bc6179031a9e42458ee428db8b2527c6d2574110274bd3185cb5f473491ee4562cf9ac9a0396e245f06b11f9cfc66089c4cb109fbb6e54a8bfb9bef431d3f7773d2fe3dcd103921f53aab6dc0b97067c461715a3fd7b9692256fff51d61109e7d402182bb7dd03018977d5f4365198ab79320453d21ef873076a7a55c04df011b99e9df46ea71803facb496efa1bb1be32089ebad603a36201c4d3e76abc65a1f3c3fd289b612c4003731caff58d4c9a5ab6e90ca7b063041755a27e0759656cd78933c3b412f2c37803eb1e0de9032f0fb8a80a61edef441f33923a29c61c3db8282b4abc77979a8bf900581e021c986209299f4b809f483ebb75e4e9adfcec4397830d66c61a0d57b3b8442c90546d00581e0215d70d48d4371a319ba38f3079101a000437759f6a233ed5e2101fe3935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02030869745141916f54645a835816e14d678848041518f97ecb0651c9fd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027c9b66d739099f1e7a3306181601810621309ee1defb2d48cd014203f45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02df8276ddaa6e0a7ec8449e0736ae9ca824fcc850729e452ef19b5ca4895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020756f3eabf405d14acdebd9c8047764c4dbd4e62ee3e1f53de0577b82a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0275c4b86f21f39dd5a1b311bd2a5a192b8d179505b216c32413797e3993435a2df000581e026b8dec5827447e2e67c6334014c6a79cae2b45ff0f7078fc3c631e91c85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0295bd04d05a3ad8e7f7e80664edaa2161a4113aa2bdc668a1d7e395ed09410502198bf303d7113b87f5531e723fda3f98e4fbc89f5f652c82394d66c79ca6f0c9c9fcfc2a03342924acdf5a362ecb628dcb24f4651998ebd98d812dc28d94b6da9ec2e3ea360219ffff038878d99067e8f97a02028a8a2d9458e4310c98b2e9368c9e55eaa498c6f63fde03fc1b45778faf87ee5a05814d1fb402f6b3cb8916ae865a4b625648e36b1fbef80340de5303f03748dea1cca05fbb1d5858784fa117257ec404ba5381e5d290f4c8036b8a074510fdadd8be8836aad98a3d3db739bebc11dd4c26362f9e8d01986dd4038c6e1d2a81e727175e5c91cf85dcceee9833765f7607120a3260a7624f08d2d903defa9ca8c4951378fa2100fe50778c651049f891c0eec390ee7fd99bd560ebdb03b5f7e5d720bafb39965a8216cda479ae51a7d5cc766e3f280fce5e7c8535cdfe037256bdbf1cc395fce171023ef8fa936541ab32650d49be1fcd0098ecca5f5d690219ffff03dbf8f218f6aa92ca7926c14ed1cbf6c341e46c9b2d12a5e70281330d361a64490380cf38219759a8405cad48bd21e152d18ebf600eb8464f765613cae89c581068037c3683c90a631b5ffe99fe603760266c3ddf0c0aa5919ff63494b564d3078b11034e60fbaaad469a1c254c4c5813ed22fa59b06d40960839dfd4db33bfa8ec3012032a7ac78f79424190b80551f81d60aa72705d3c6b5544dd37da2d82dce4e1b12a035ab4df000db9845f93d9121a9be1501bb1083c56722ccb3cf719416b73e7c5b603dc970543bd8bcd04e6f898719b5dad24d0633607982496526959b098e14d8e89036a38651c1e204890704ff06fb84e209f2e23cfd5463a07542f2bd14c872843270219ffff039ad16b61ef6289286d5fd31a9f3663da74970c26316d9acfaaedb468d8dd3769033b789849e60a4d082dcd84cb4507544976fde370ed218fa0ac272a725d50be8800581e02f1959ad4e070feacbfa07852e55865538d746e8823978d3677f5060c545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028246cec5810061f4ff7efe1dcd6cb407d59abc3478830df04484584c8647016d83a0f3deca03714983937c1d49c6058571e80b5c319e67e3b6ff868e5e65e14e3168768a9cee00581e023704da64c857440c27f51c218e7e9da36790f37b39d4eb9da2935f39094b07a11ffffffffffd42188003c7f1ebc8e2c95b61f4efb136c9db16fe2d2d4da5bb8c0133849be43aa6f4c3cb0219912a035f6ede8dc10eb0073fa27e19f94ad621358097dbebb5d71c703682436cb37ea70335de2a1acac9f99dab9c27f465d075368cf92c9ad4111c6bf1a27f6e2fcecec203af2af9071ff76df49f94f1ac6bcb0a6a27a994586e0d3c3a843e02cf9e15816a0349635694ea8fa5d0016d5bfd706cb02c250ef29566617b7f6fef796b547ea8ae032820b2f1a34ed8a328beed66a5619831fc0f4c96d4d04d6c93209cb4e3285aec03af6734c5296d39169b2aee393b62fa5a73f90a9e1c88f6d7492c9061809ad1f603a6133679add3b109d7b9b2652c36a0ff475ebe3745288c341dde0251d7004c070392020ed377cedd9ee2052c382e214b60c030cf6f509e08ca2ada358524462b0303ad8d9142b4fcd21067b124b5371eb14e6a0b460b467a2a98a59063f5eb9a91b7039aed618478b8b9468c98f3b82b345bfd0f4a1eeec2bcf31c76a510fdc12791cc032630db552c3e384067044dbc0b5124edb5cede985ae1b9e6c22c81854e42bc9703a17522aaca18b5f4fc4e129bf7d3fe9fedc737c2cc92326d61e2228be6d0b4c003f1cbe9a9833f8843cd549c5a1f51aacfaac484ef4307ca1b205ec65f5eed10d1030cdba62a6448dde2c6a616ec5784644fb29f0cae02fd3b0978465a80a31c42950219ffff036fcf28e9d70d894be486c55ec511e5b8eb93b9610a78277757acb6434ce877ab035d622b24df44ca08776761cb5005ba9e3f9fdf11ca2b22629900272495587de8038a00d0d7cf811e42f7e48730fced42968f17e379bd2e852f0344339797e2ba9e035d8119a0c09c6c5d851ae8ad3ec80d94bfca221a4bc05981635e4effcf42ccf803c7401b9146bac9c7551e56af6fc014cb6f51ab76883f287943860ff1ab9df061039ca38cc2999614cc62a5b3393d4c5c03d878073a56deb14d943c9e5a9e9ac87a03e681309ada84aa4a83f1edb57184e8d56861705a4d6851b5e18ec88cd5610b2403e711ed0ffd69e16d267d8be02afb6f99343dacbbd755d9a89787cba96cf6758f03c77fdf63b83c835e188833e1205bbe96133c6f5ae5f96a2bcfb1827a9b940134037a5d52484fa402466c14db2e6371234331e2e8b294b6acc1e1fbc18c71dbfc99038aa2a4eb37b75028bc17bdd51ebaef96f1705545ade7641f1eb6556db4a1189203fb7da919fe3a95496419d78a4a6d4fc9eb32f8a3e7c2d9b80c1d1e2425951ba003b0ef0fef85bdf0d513c235fd06c773cd88976aed3e9346e93621b054a4ce7d6103546169badfc0f420961fc338d1763ffe2586f3c59c826e30262db5643375009803d3865eb80c3bca3cdc208658f168011cac869040b21c26ddadc6fc6e7bd6e3ae0219ffff03586292f3c86e8c5030c8a4b88a027a6416068f82b3a2db8f69f0cae84180b4bc0338dd9477fad8f299bb565f94d5316c72a795bb9448e6701f7505f92476aeb621038f99c2c5a1dc2d1ecc71eaccc54bb5db7c037ae2a2cb9f42332683b1c979d17f03ed1cae1c0734227a13606073835bd3f3b34486b9bc7fe32aaecdc3faa752898e03729f05bc35470964e331f3e86b979ad2f2259e0454c753d5f4f946948d764b1b03c9040a46728f2f500321a7fb9b399c10e6bccfcd6e2bcb26afbe8bb38eafea8d03266fb15b787fc35ebdd47b23873838cabcae87e7c2a11364f305e2022130060903a44c3ca3ddc37a2f76e590c77216478c62a3980a7a041b8528c4c5be62dcca56030b89e45016fb7b45bf5de146a614fb511b1f994fa7b30dd0272a348b95a5a24b0399b3a7609542db78733c111eb3c3e033fe8342030692433d103e3dfd67c0ea4b030850681cc7ba5d0ea9593587e24b581efa3f8131d898b413ffbd5fdb234fdfb80363a6b3e3f6369b33896f75401b2dc640afd54d7d58fd6774c1f93dfab05f00980368576556aa3936fa5e02807f291d1843af898bace2fcd2b3188c067cddea435f033c78e4bc7c78bcbe5b0e5fb9487157dc55e8edb9a1075c89e710babf939701d203fcb3404e34442e2cab59d134e919537f2c966ab81d08b8b0db8de68fc878aef30219ffff0376eacec6bee0ed7e9593e021414cda896ee060b6ec06d23d37a367b7af07626a03021a3dc0ae1246e87123f7d99f71a47ae53fe419943554a593f65117d01f980703eec6d76fc6d5d9ae1a9202d64015e51b58f4313f86f740acb00df0ef2bcb44fc03b4a6250a3b3b24ccd7e47a381aed6d37da8695b5adcdf7996157eb15c6c210ad03a101b0a72d5c29c986805ce6c15c70d6b2a5652d2a20dc16d5aa37c491d25b1803cdee2544a61d203ccda3f29ccc694087d56141cda609abacdd6d916cb89aab6003a33b9efe964235ded994c6ed19bd658b81a1801d4e026c107e93263257c1d2ba03cd75026512b97dc86cdc93b3076de8af5b4d5adfb8b99c73eee695309fcc1814037ce3bed2e1b86793d6a242ab70172491854202e0381463b7042081547b7365fa03ad606092ecc2bb8b52ca879b2f85781223b46f0722d7b1950b09d097f8935f4803ff5e5e31a20c490dd90595d598b32dffb51bf1976b580b00ff821c25b862b82100581e0231d704b6707142e72a2cdc2a982dc057da541fb0af4411a472737c64ba4405d75c8000581e02e3501983ca0910ce80b6ebbb10612a6af2b33f25e8f4d289fa96314b215820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d6ddd0c58a881518e5f9cc9d35b8ec8cd8e76fe72216accb4146d7cb884332cbb200581e02bba8d9de8a08fc311c606ff8d6dab73582794ae508662f173d1a8642e9410100581e0225f44bcd6ffce0e195ffa28cd50ad53d9d086cb4841f0f0882c3aea1e9440b0d629900581e024478c1b029dbedc900ce8b08eafe705ceeedaa9043ba7a3e1f2343bf9a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03915f1327c70e8968cc0078e41f601a846d9978d70b870f304a59fd66b976ac9a021963680374ddac1b4ae84e994bc0a528b9fa3ed3e1e391f6306d3634c119f72ed149408f0356989c9d8a5ddf64412f40908a0443ba0a6e23155bebdd47070df5fd8bbc4f19034f97e6c169d93bf7b29fc417cf113d712f115b720e10a5185e716bbe515db08903c9d263ca0cfd568d3f4e6cf5de4486aa5e5c328adf6871c3dc655465db9a626103cded9c88559b36385a2ac7a05decea86f280a69ed68022e1f9139ae92dd9dfad0339ad695b14988623d5d49809187134024e93d2f7aa4a5449a792a292d4c5705e036476bc427c3339ce7dd49374506fd57d03697e9c7bc7ce740ad81e0ae4ecf483034fd958076da77a02b8fad1bef06fd41b5259f3530d34411a8b6fd8bf5875f7fa03ca14080d91b1b64adc53f4dd8415ef2038af3b231b73f78984db66d00b9ab05a0374485e8a57aef427f890e60ac6f220d863f49f3cc40b93f45b0f1375d11c249a031534e7fa952b075d31e95ed5b5a33be0f2f0a73e90b0ee5c9d08d2b3ff3755a10321b41760581212cf6322de502a53cd8b7e35919b2d4e918ae40fb56041635c4e0363126e1e90866f6e8fec78b85a92b35ea9d314c5af272426566789e48e2a54600219ffff035fa288b8bfca61e63fefebd388afa82022efb85c8ab06dd516e1835491176d43032ec999b0b12fdcc56b5af838c6627e1d860dfd66aacc1cdefb25b916ddeb656603fda60d6794081f62556ffc5f30a835f0cd24c845ab58d66d204fe2f0c32e0f7e03aaf7a08cfc5b729e60674d0b8ef248620f79d8a0afdd2d05d6544fab327a90c403b8153d92f4a74e4a2b1d080ac900af00667d0bdbe645ae3a24228dc99913f289033a0857e22879921dc04dcd55d2ae949bf3b1c6d57b5b5240f380c5764894d062034bf44b1727d108c8f228b9890e2d801106efd79633f2300e0d2a55319f52ad930394db1bebd9d1bb2b512bbaf83ecb6983dd61ff2f398c41257db074a336acddda03ffa9dfcff45673a6cb4c3145ed4e3e484d96308d3b4b0e1dbb648f2d99091296038712e04d31c20521bf28c0cdd45428868fd8bb81fb05a211a9144813f76e54a60219ffff03d46745251d4ca18fb13e60d90a631fc9bd73806c807a64600c3fe88e8aaddc4f03c54ebbfe1b984426ffc20e9f9b28fbdcc29cda403eb3bcec451c648eda5ca90f030522815440d3ddac9e6910540c8970d3d46d353e7be158925400f8102edbcc490380056eb330c13a1a9304e55223f3cb2b5e0820690376d6579f6042852252f3570371d32df122ae629ac1d4a8c985d58577daf4fc92e16c5e20e2a7d4959075378803dc6fc9b0201fce1ee981ab8e9cb305e67af456c350c45b14039dc940ebe077ae03c0102966a540a22e55596537d9070c5bdc062b115c6965ab705f0f866ac4595303e47228005d781a4f02d7df5d14cb00c2757fbb1dd0f547fe5f336e323fc5897f03c2990466ba7b5f1c26058dfa9cfb045fffaaeb4df3af5c1259539721eb41952703730e6f1ae717d52148c144bf056a9add292571d79ae01214ae7829ad7a6bf11f03ae74f2d4246f48eb7f586b64e813f79885b3845c30c10d8dbc32ed4cb9e0171f03a26b7d6b8d95f85f07856c5e7ef0ecc84fc79d96aea5783c0e30905900c502590219ffff0348065602d28fcc97711dc9cfbfc38745daebe628f591db20d6d18b4409e4bd56037c6af7e0ea76d7d266163d9800c5c5ee621d286860ecf9efd58d65ea0cc28068032e8e2b90580d9961a6120305ab36a77d85d32d5ec9a6cea8a0847685b6f46e4703e2b2dc568127d3e4e7341ab169f63bb5ba41a29f0ce0f96840336c3c627c385c037ba9f2d13489b7f95e2a2dab84bbec4046b138e66ab96f0f9c47a1f174b160a603acf1d02ca10589759f73c253b886478cd83c3d86646ba7aea16c4ac5c05b5b0d0301516ca3a1dec991271cd4ac5e2440c0637ff504edf87105ed2e5b764f58f97503fd82668c5b35f1cfa5278f97f56b068b7aa92cebf63b3f727f7a2cb8baf460d8031280d10dd5bb8df5d40afb66c8ad167e79a58658b0e1d94a85c823c3fd1602090378ddf89a5aa619b400c7bb1347e2c9688b95bf5e9969477652fea320abfb07ae03022e9dc41b4720f2ca71747e35d03f254b7860547641680ce9a8bc90e1f60cb30352a0ba67814a9e8d0d2116265aaa3a0bdabd126e9dc8c8076f7522970be6e48800581e024640ca3fe60155d0a2108912a413e3f25096d2a90a32e4f1221ef0b1fe440a6e49c00333469d71514ab0c20f4d7c6c33e772b82fcc1d93be432975ec4523a5be52110503d3b0cd36c54971e4c5e7b6f57a0fcb2839f1039abcc9f1a05c77aff24617a8c400581e02dfef7d062ad29ee5a6a234abb8f10586d7faf8adadc7417be23eeccd96434c4b4000581e020db06d88b55d7fd06bfdaebba77f4677799276fadd0a944592d8acf9e85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029ea466a5ca9f80451636c90a777db5e14aba66de43b34bffdbd45978304501d3fcc1f700581e028f7590e3c62303caa9afb9ff969d3390a48850191132f251afa6488f2344184ab83003a2adec0c64cd51a25943a1316dd0db16867fed484e307e1ab3a439065dce16bc00581e02eb0f1f968b7bb5c9456ab3faef79f24e0a1be6a9f4892ae62f36d22bcf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b78c0352a65e21c0f5923d794b83c4aab48eb679dbbf39f77e133cbdf73fe39790ea0e03b14b1f8e0afd419f7e626b239701a9f334cbbc1be0b5bffbf4a563048560cfdf0372dff6be44dc6dd8a3c223e154ff5107b0c31f193de748a247e8ab3187aec949038353b550e9b1dbd0c3a0ab70b1793e36a8f5fe623648ba7f08b766209cf10c8603515f63d20513e838d9e51859f589ba2e46c60aee80067a2c8e7640e4f2293cee0341f65c0c63575553995f7d74c4cd55300526533b31ad938f3157b0c120b10c510374159ce01d23aec99c7051ce26406a417ad2179f4f2e56555159094c0a578940034f8bafd15442560a72fda9502369c2c1951fccf65dfcbfd68811e64168de25d70305b5e1fa14bd6b072ea1489629584e80dc328fe4eafdb36c253c6ec04be27a9e036333b5dc942e7e74122f261e43db070ddf24dd4664661c0c4799a693252c79d503a7e950143925f2ef51a3aeef473c1c25adea7612b8638f39f01acccc7d0526d903e0aa091381de30d126b7fb465e8817368438421d5816328a9a781dc5b96545a503d866fdfbf37c4bcaba97779e100e4c8e175ab74d0b57c50f7479f8adb150b068034d0048716c55912b3dfc60d7fb9dc54e6402b5c9920a90dc5e1a593eaa4febaf0219ffff0395c9939ade357751fe48d3abd642ba54d73c0c1557361162a12c9c9efe535a0a03bcb353362b5a76d6bca560a781522cec30e9623ccf0e85ecd98c2900762a72560322d5deaecad09e885e72b3fcafadc29a1065515017bed7034f7d4fd541a6320603ad7ffc192808085277159a327b6b95047250121af870e35968cd4fb2c6abfea2037e9415f269f5d9a7f8e91e15dace947da132dd56882b3dc2c1ec405a5d1c90450343bbc54b28962211d2a2c64bc70a1a498c0b9c83cd7587a49f5251c16acc2c4a0321b586a4020907cb3812d09588cdd0b424fde21678351ab63813829cf9cae4d00354c6011652b200d3d9462d030b687ff1d65b8d18c9ecfc4a5c2032cd946a5ce903d590d809cc26251245688988105b1c186bef0c2eb505a9b170aad0703ce0b0c50219ffff03b740aae0dc48eda74e90f3806652a1e984a4c8214b69fdb52c20f56184920448035c3414388a03b7708f4d9f4173d08ee764494173d57d05c5e631a95d32da3f5603a63488ca062f2356259e114c4edf25e0b90a06aa407d3ae47caee91b65e244e803799709b831d97e7bb092f552a01c84af1493435c259e88ce615aeec203a3ce0603b9fd5eadd303029cf9e448950e7568e1949d347980622b27fce2a23a15926b37033db071c99c74432b9385a1e9a791af8e9445e91df030d782d04dc801b2cbaed9033a711af1319dc30280e6b7d33529980acbeadf42db810e45a1db8c15ae13df9303a513f58a4589a3cff4d944f8be445987baa7fc8a7e05f012453705ccc9e8b0a803b3e9c3f59d713e1bccb3f26a4c0bc8332e2ac985a4632378b099dda752e11f82036338b826a864e53cbe8fddb535f2d9e458a8e9677f5e4253db6524aba72b590003465e06fbdf2c9788815e3693c4d090188e8755bf9348d4f0caf2c9c0af8e84a60372aa48fb5e95448d3ccb0b89d199b15793e67047597f96e1f6669f0ef6b9f34803d00384b3b4a5242625d81c2ac0dc2aebb022831471b3446f74cab6783adacc11035f46ae6cb64eddb90efe349f5cfe385c3ae08072ba3e6da9c0e77a9c8f4d702b032302a027d0ec6836967c7defac2dc6b3b612e3507ea0e5963df1f0f73d6fba7003952bc39bbae5329684245cdb7fdce1d757dbc2aa3b2ac2c8fc6e63521b51fa030326144f4268e8b618c29ac372b979230c74960d2298a7dd816321df809aae16a00387de7ea89aea47ffb90ae747838b5cb1a8d52069674232fc69e84e3997a0f5210363279c6b9998652c2be9ca348ed35348b55e9ca70556a59413e436d4895f7d6f0336965e4cc5c082ed4739f5ed244128b65b026d6a6d4b59142d55665c14f0865703b50a8b799143025a9331ca3d10953e4b46ac71920ae3d624214be3296954ce23032f41ed6eb3e84dd7e83264248495a9f82e9d6b75e92b1c302467eb2e7a72889903a2085dc86d13b4518b0ce4630369d281a50d21ce0b188b9a4cdace42451b15af0390b27334f3b5d9a02db762c3822c54ef50ba20215d058d1a5300ef64d260a31e030abc1c5661edecc5f67b35a369e582a778bc635421b6f3165c87742879f2d85103273832d66b62f87f179153c230aa1e04fcb8a380812b6c3445b9693010b1caf1039bc3156967f41c36595ba67a3256790680072e432d8902e48a4645e9490b74af03ad4187920658467b5e5ca4ef98803c3db84e42913e8e498c90891d94f654d44403b2f43383dc6973d8b510091a4d6bf7e19851731abde95fa2159bc45389214f7e00581e0288875d0a66e503176312ad8cea2d01b3ea2b9070e762a03355be7120b65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f2fc8cf9475eabd6b05b9407d58053bcd6b086c20282b7f5732ab2da5a4312de2300581e023bb61a9f7d8853f8b8e9d729cefc6325fcee9da868bcb2cf3121e148444402faf08000581e02a4a435fd829d9f3017a8872b25dc2c0a93c6c6e29d324874e0d572677a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025223973dca1e891790d6e08f4d0e9b1f273ccddf3b4bba994f2b200ab05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021983c1037352680a495c33c4bc5de9cdf14c54bb36adf17f951145c45352c39854dc48b303a665f3b264edae1a857fedfe7afa76c381810a91af814024015dca7247dfc34203f8abcf5d28cc459609982801b7e8fe5d31393df30b94191b8a21f0ed1fd2b5f7035a4ce24a204bd054ad5197eacd9a39e9a9ccfabac6620e2da71ada5bd45edfbc03366951e4c478f12abf4029d846c5ad890c6bedd1aa407edd2032cf682721e38b03fd701bd33f4f2356c5d82512e84f4fcb191b79a3f05c76c0a801b6bebf088fd2037bfdf0935737d89345b93e82b5ff306b55d5697f83afe3f04f79f3aee05dd6840375760ffa95b9b82febbe3b1e5d24427e370df6b67eb480836cb5d4b9f064f87803b81298e4403a312ff4790d7c1d23d2ac3fabdcb03806617f03f149578ad65945032283e46333e33ee299b082254ae410be6a43ab3e540d1d0e955ccda62a8f375c0385fb925b544afcd525209a2b89258347081905d996c7107f2932bf1f6d88b2ec0219ffff0219ffff030e2c4ab34e79ded3ffa233405b40e9ffc3a82fff83dd272e27759ea45e71d7b30393a065bd54ddc1023e9b353f3e187a3d7092a0befa53cb708e6f0682b9986f6f0219ffff0380dc31d8644d3890ed7461dbebd4a8410fff80187a64ecd8cc8024747de76ebe036af99f14e1a7291bce1c92951d50484bfc637c055a5aa910c9ac15af3846b4f60308e208be0626981b42659b99414c76847bd475a77d61ad7d21a0ff7e637b1c0803db8cd87a187792d785da1115e59b88fac8b1d723ab3ebc601c75763c3b79a8e803166d25481fe704fc74696185222c417d7df7c5aaf5734d99f6dd7b7c26f26f0a032956778d00e32b043399d6fea62a918ed4879539802f88dafcfbd55a5cc04109034e7970051bd0e5421323c717d69f8427ce724c06e89affdf41c454c33db6a3ad03e736fb1a8effdb5d67732616b1981fa3211b8ce7f83ded5565a5b1b754ca088703de60da30bc834242d2d539c66207ac9ca9646a8a35bb8103a8d49da0d93f89740386f1348557c64eddb9c39fa3f1fd23ec689d83206dbcd3b4189443b76b9bf245036a6e4be9e18a0ed5947094e20164093d47798e956c15f4f0197c7fc65208f60d038a1d82ca9a63832093dbc3fed134eb06cffcea1a5d5c72e6ccee436c3f74ba33036d423e04310dbcdb60a309f60c126a10020b36dda743eecd5a0042d14b484ec2035d8e502ab9e944752057a89a224f98cc9ab69270ce2dd0b114549f7b2fc5713d0371e9368b5822a5dc36d9831ea2b5d605e4db41a5d2f16546d0187e0fe97c3d0f03119ba4b026f721b901fb18171ba5a12f3974783de3a602a94128e39312f31817036d36a7538754353acaef537178304bc5f44997b8c75ae1ffaec85173a9589489032246291d13e34a5755ec5b48b029af9f20aec76a2f205931820710a4a1c858d103c04d52c3a0720cd63b45267a7c2a60b3358ffbfb7a9af28ed9f8757289b1c512039f109125e9d0cb1de8d0b371fcdc9b1bba35832a57f95c9aaa9d23198cb923b903ea7d64d29a4f0ae9f195cb0f3c6a7a0eaf5d740c7dccc271afa57d4189f3e959039c7921b84b355e0afdc147664d858a410979f1d9b4bb42e248705fea04f8985e03ae63847ee5ea5c7aeebb6a72577c61569cf91b8113dfc0af5c34a84eb72419af03bc4ca4ce4d2ea3ab19d8390d0fc43d5ea5134a35dd954fc76b74a2cbfea58b48039b5d900f8d951c792a1e2b625951641d0fe544dc11f64cd26a443f438357945603156f8fa225d305182b835bc42879797f41fb084f27db90d0c1167213cf33c85c03b207991bd2d42b1139c5dc87ce814e72274eeb527d0453e16ada1743aa0c23e4036ee00a8ef8146eb124d2e7e26df4d67748470e66fc3cd97c145d564a281d36e6035bd2467972e521c94ec99cc461ee6102e0d53931862e61ad9525c48284bb81780396d127c3c0fa016a747d5235c1323311eac101899e3c9e0c6201dff2314b2b2c0381ddf30fdb7d85a0dfc470c3ea161fafd0d03ac65ad4837b7d553a3c872695c9037fd149a16fadeb5a2d94010ab689ddead76a48cfa58a586883ae555b91cf887b036045e6833d08614c09330a8b38dc5821418210e457c1184fb22720d668d243d103ee4a32f5d1d51d2c4608560133ad3672f8f3d63e80d6a3d2ddfd206cc2a2052b03d9cfc8ec4077c7cefa016ee59c1434ef7cb6479e9ac6e12c30b4cc9956cca10103cf8bf78945de573803b382b3ca6526b20733177d4d0eab2a31a30698387b83ad0323d61c3625c1957c941226c9ab9920cd061a5a8d97f5315cd6240342aecddec900581e02f8ca3dafa7f6678f577b2df6b9e26140ad61abae9664d9680042202c42440595e6b000581e0277548b5cf088f981232c07ba321f902ce64d0e434deae11b64307a3af5444d7c6d0000581e02cd1e981244d20c94d48a7a548fcb2346dda8578e9880e7fc396218a0505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025c296faf18c4cdce8df1e6f1fbbe21e1d23e2084852186a835ba8cadd643077785033fc666cd4f48817567acf80bddeb7241be4ee5fa8baf2b9dcfbeed54eb0277e400581e0379223f945eb7f27a750002acdb1a0004585ba5e4f9c333d8ed10aa7020410100581e03e49e2035db19818ea117e21de65dc3d7b795958791125de5d892bc6c705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219010100581e02386c756762911c5b94ec29e53da451af793afeaffc051cada11de0be8a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02750bb897dbd95cef35ad4c169f635c5f427adebe401de943bff7d92ad55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0224198096a80175e193c4cccf9c485c31c192904466322db06e4893fbae5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021974b50219ffff0219ffff038625035d3563f7eaedbcb2bdf80ea9c8461e3fb04d2ad4749224e9381c817cbf037d7138c210ac7662b9f16d98a908c45f1a059d05fa1228ced373ff5886fa38ab038fad4278b2a0460bc616ecbf326311b7a2e37b9482062f8ff94bdc6ece3603f1031070ce6bdb90b8f328daed86bce6cd50439f368c6c8b7f9df623f9645054df3103934286514c60b90e5d131d1c22eb4a617efd1e1ebaf62234add67a7d4434685f03734196a20f38754ebdc6235a964abb90826fb84870c30879957a0b7d0e2186d1030ac567db7afbb32174fee2478e6e7c9abceb60258e74e07165d28ea5d7bb5f2b030f487bd5b11181b91265252aa2c1288a3891c6225117874da9245055048f425a0219ffff032490f3ab3016605eb97a84448d9ed879dcf48929dcabe87128088195074b31e5032bcd4586eedabe03b6208e6a49ee900ab8e4980ea803eb081abece887c4fc4aa039077386e464a2be5f9fb4a34089f9ff6577c19cd8605518d3a2a5624d92c0d9e0219ffff03cf73e823d73bfd36f3bfb0313880b62b1081a525e55caed1e97d5c61f47d4b0603a78e0877235c448d835155a4837f7983f6441a1ab30f261c08253025affe1ba003f54b9847ede139cc88388ad45e3fc47730da2f3f6f1616d77edade4aaaa5f9a1039b5f9f93c90d04521f11194cf4dd29f8ff729b6adead99d95279590cb979ce9d03bc2f026002420dae172a27c8cccc3c35b0f7d4ccb603b0157f823d3fe2ab47da03b8d934354464a4b937ac061cba6b93aa4feb23a7df5bb9c397654bb217626ae0034204d77e2e96d4c9f54eaa69ff3292b35c5abbb0dd68824a0b5153718b0f22b003acff4310f9f9fc841f298576e285fbab8f56c483677c820907ebc61a78deb841037c2b3fb340f952d6e4cc08125200eeaafe4497f17d0586430da8ca212157c7590399253a063f0edd5f0c4a28cf6b64169c313f5582add66db1c24e060454365472033a9104b6c1cd21a248e51d8f63d8378f4938aef15f44634966baf1ba51d2391603a5783f1ef1b8ed307ed2844cd030c4754f033bcfbc006959a0bf6487b20e00da0333a808c11037f49aa27b8ea00345151fed79051c50e4c7ae1d66146eb8fdc6da03d0094c368f15d72d32387a08872ae827be9a086541d608cc2a2bea0f053fbbe6032155c29419dc8a40fe817efe9445574134d49bc4671cdf260e9a6145aa51dedf038cb0031bb87b5e4aa305c00f160f6c95814d44efe97fd1a7e17f7cb462f26037039a634166c2b8afed2d95afe239cc4eb61014dacd35a5444934b3cbe24b5e85fa038ec7945bc4684c570392bd938ecde97ef8b64f95139956b7cee2957e2cf0fd5e035e51e20f98516a895af6f1b5d4e58bf875dc1e58df1232fe10a414ebbeb225a8034cd0a79b5b456b8c6ac12d0bf1d70be2265d1a59690a9ab334e7489428640dcc0325c8da1a617dfa53d6c292ac81b287624fb051b5fbccb651738207bf8c8be616034e77f3b67dd6004d3252f120b78b66562a824f3db12251c9f05d31b9cb2aad150313abe8540afb90c7159d2c9dc64b85532d80fc74bb56d912a804b52a7aafb43d038185f285f11e2ea7d8f08d4725854f43f55f31a7cf42ee3185ac68e573f2db8500581e02539754f45e56ef5d49655c3e6e1d0523ad10ac8d358fa8863b68cb62925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c2a415330443c222120dab55dce313cd2d3751c577b27673327fbae8a7440402275000581e02d278df8a700109614c3506e914deaea449126e38456c1a9e18d846fa655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cc05b8519df36e0dbaccdd399797513a21676f3773c9badef55c938d91430b4d6e00581e021f0c0b41d34ba506d73230e55f74372c9132e17358381a53ce7766f9414407b986b000581e0237cff2c89d96d39e190c960d56b1688c772386c3c80b544798cdc432da4402fadcf800581e02f0abb5e5882178074ee8c9475c3c35779a729eba6a226ad97205d042a3441dcb384b038d212a516a1f32af62bca3b4b8701ae72796662bec717c69babb456bc195cf62021960dd03a7de691bfd6a5f11db75518a7b4231b4c132e3421e6f8d8cbef57b4af4206669032afe2a15f21f3f3501b31f75ea8f7a3f51847585b518cbdafb39b910cb29afeb03bc6e7d9ba7e5e10a4ceb4e6a3d5ab41353c01b39247eda64765247d67615f448036fb8cc8c0ae89976dd59c23f040d06b47321b2963e0b6fd8504f920e965fb0ac03202f311a5f5b8f9478b6afc887b263a33f229fe18dc7696a584a2e27a09a793603f0caad9555752e1ef6648f0587917738b10b75b6b2d31cb3213bfc7dbab48d8f036f8c65bc0954756d54d878882726379b0be1f306192c4b92a463929e8a46f3d10219ffff0323c3a150d8332f47cddfd5ab6279733c6a51c7135e3044ab29d928a5c9bbdb3203466dd50436aa569f3579c20927bf884cfc978c36cfc433ff7a67329394da6b6203add1bb4f5e43083caaa7b39872f3ea53f3c9d281325d1ab9e099fab6ecb7500003a423b49eb43b2217ff82adec55e09ae9739e99650c8ec8f193c26a5c6ddc267a03d3e15890817fb4b6c4c2d0ec94873dec7e16e12a7c7b23d7222b4d07e84bf9260362534118229a20f8a7916833eca198869a81fd25b54eb0959447dfefd38483ed03f04016b6b6aca37608d09f2583af52efa2a4d82349e47a76fef8d6a3cf4f3dc20219ffff03f6615490e271d49aeb0ace95e7eb3e7f392dcdf7b203e2d18c41e451677baecb03e18598270d7eb072cad434eedb4048bc79194b2c592d2c3eea0a43a8a5ab9af003d4eec43e2e40b0cc52f3c1aa88aeb5b16913daef9fc9559174f770681416655e0335040e1ebbb74eeccb0b65009bf5f793ca39457458d22e95c5bfa3e0e43ed94a034e879d4631677bb80ee574ee211dcc3e57ea3f7b1ca454b1a836f7ebbbe134b203214e7bc875d2ae136c82d7007b08d918de4c8610095a2c534d4a3c1408e46e5803a584b0ad4ff89b0937de0cb014e7ff6d68434e88f612785076c2aa01c494405a035a3234cc72b74621b2c61d1ce36ef50e1f35cc42e850b475f0d167e78e3c8e67038805547ce6364767a4691fd0e39755bb43034b7a5d0de920a16b38c8c1ff1ee8030db7c5d9d713c5caaff973152d502ce4fa687be131d6f22eb667a1bb414cfc29038991f0a8efdf9f1665f469dd414dafdda1c9d8d20e7502ca2d70105a1d50829003dbd3f082e446de9b68f098804cd622f27f4482d566ba0b537bb639960e43715a00581e026982cd352f5356375372db656a5d1482eb74198b8a80ce33e1310b98f243e4e1c000581e028a4aa8adc919ab4c606a9da7bd070a7354d5c9c29eb6a87327d44677864304e14100581e0280eac48a9ef3ffce8c4ed63952f9abcb66891078628055db86889aa3405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b510fa0dea179f8100c00e7aaff0a5f51782838690832720d2ad7be2660fbbfa037cded6b60a298a6b0801f8b374dab454e529f7d7601ac2efbd64bd51b1a17e6101410603a89d20e17fb6170ea8cdb0aa75a964c54704277f439965c47eca7e6e7c59611500581e02c0cd436fec34ba9e7aec2ff1a297ebdf613b49b39cb405fbacea77b7165820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b4be28c455ac6370fabe6c0efb327321d997c70b61028c0f2c7ad3abb6742b3703a2a79167abeadc767deab0d9ff3960a9743fcb7c412c63aec3a31da3b64cca7f0219f985034dea112047cf51d78ddff4d189d65f6f6be93fef0b934f68635b0f9a02836af7038427051e35cc7732b77f30c6bc5656c08714cbc86576853033e21877e463042203544815ff6c6f53915ea76f17137d1e4d2ebadbd7a7b9d078917787bfcf27e13e031734209c4fd40b6d74b8b25da3d8b413ef9dff66449e176486ce45835bf84f4b039b60c68470c05aa5c858290d467ef6e66ed3b7d5aca620df0055f16979c1c10303514457fff0c57dbac67b9ac313bb3de765cec01f3342053420209b6f99bd6346036168fdb5c83f615cdee01dd9083a02a0d965dcc982d7309666be07598193e05b03369554cfdf896eaa9c1507c4f796f2371f100669102842907079365f652ca4e2036c7be43e28cc84a62cbff81b1d2c6c0180a941e78dca3e6aa5f4206173423455030c1770e36c188727747e67ce47ef39cd0179e91ba835417c4f24ab728c9f66e803ecd4f9abbddc1bcc0e34a71ebe8acb3c34be14b3b9123a9d2ce180184384310503e881c6921bfc6bccb2ad049a147f497a5713916879c35f58218584b14990f5de038fd52229d5d94320453bd49e72c7855f75dccf93a513830b030ce3d90b33aeb903d24d26ce67a57bf6a234806b929a19e926cc8127d6443207446db5884cf511460219ffff03461e41ff6059d1dcf090927df1cbf1cbd1ea0e6dab016ba9b847b93cdc78b0930375a3aff5a9e241a6ff6810f85a01b2145ea2231399f4d4b17adc586d3228539b03d5f5552ce28ab21fcabc966611651a160d070bdb8d43db51c0c8b0f7727911e30346eb69e54bb4aedfc48a59dfb8d80c9fa949dc9ce982acda05a110eb52d929c9035a8df1301c9b8fccebbbeea532650eb3d44e8c6359bce7838592bb3642afd5e503b8ddaedff603c2e3661d587e40d1bd8a8a2ac657f15332e80c4395d9e94ef6a5035bea9ee6673a2212318111b20fb004200822e99513bd611b396812b36b5d20970219ffff03ef8c304069763225ce35d54dd5507bb0bc215112392fc7f8d4db1e1da110273e03acbf8b266f101113c24523709b0847c233a11e6d19bda270db21103d84d0bf75039aeab9c0f93de605fff0588017b1013a6c4fae5da91d198628cd8bd11b4ba72e0350c2f51536f136205840adabab2bad9788ce292a031f27ac4623a995674c76ef0219ffff03459b3d1628b3bb914379dc8c222dee80f53a2d7f40222da2a4995eaba8c12ee203f735be7e0c562094c8d2c3442861ffd8f1bda93268ce2d170d46a5370c0ace130397b96a5fe244bf9d20a9087aa5a6f03f2ac817cda15517db59a388c4fc93a3800395dd0d9866e3ae2d3a5231c85973627bdd89cb17d7b91fa988e346d12615efc80315fe8b8d120d8b20610e5636828d03e05839b3cc3a2ecf8f0bb46e7b30684fd8035e522b975c3aa8f9717273d5069fe5b077c8a32ca057b2ea58e6c20550b7608b03d1592511b9afec4f41044c8e0d026061c4b748ad694f42cb4c1ba2877396adf7035d68f5e262e3800b6611fae0dc34dcdbe9f17d9b7ca98ccc81684432dee08a2503167a6168a8163376c694f2964f0ace1e0f9db9e33f90f794832d40c57bd80d0a03e3836103643f01f61e246c7989ca6e9f70657b64052a721f32d8a656e8b2ed3c03e725fefbf82f23f74958a24707a580f915f3ab61b04765cde4d6d6ec68dcb7490334312057ff45a5621d606922bc50d5a39f5aab3f49c93cd195ca4be03547b28903067da7002d99356251231629e7f94acde55b64b1fd5a7bca3e409abbb7c4f40b031aa331b2e1ceadb686a5d24027b8e91c94120beb5047bff94dd94a41dabc11ee03723c687986e3c0c51ef0f931def38893036fc731d7b2fbd63a7dd3ce5151227403b3dd4e553615d3eaf2e1467fa45ef326250c5db49f88332b2e8f0cffef5b5bb1035de3792d35f8630bbc1f3c1ff75e0face60162d212ca6f1f864593b694cf3aab03b02a2ed9c0acc328d2bc7d47a7e8a4758e57b7d98dfc348144d8db1652938cc5030275960d69883c2bb10574240ae0289ebd23a0dae033fbacd557b791c02852270342b0fe1981054bffb0588d42206331cd4b373b242468930618581d927eec8f5e03b860512abc7f5858e025365dfbe16abe3c3bffa04e31ae9b4c27672f61cb10a503626276992d17d55caece8decd8392a35a0fcbd6c32b4cb6c0bd3aca75f29f6a703cd0a6c190db23310fa60da091c7918e4338f25e1dd4bc4f3fce5a45ac8e3bb3b03512214b60414b71f97e8087ff371b9d03690b64f388b7ae9c125ddfdd9d63d4e0311f001862cc1a5b3a7bad2bc09dd35ec2ba9f782b6cc2b7576fd6e07a057a4bd0383d94e31267f9f6e6587dae2313cd996ba722a1dec457aa83b6a3fbb1026e44603f8c27bd7a66b14206566ec786c8a3b2c5667785b3c3da7390bedce2cfb400b3e03778a0526bc5d55c87f035adb41ce318218af73d3b1a8cfd0aabd93487082f7c903607d30bccfb858ed1aafe68d29e3ee0c67290326af8893169d4b7f101d635c9f03b723f9730b82f223229102f9d6963775270d0f8f9733e21be4cd79a4439d5a5b00581e02ac4af55e48db4d01420887cfd9cb4fa8ae80aab91b104e8038f7c4751f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0298f426ca8ba3ceb0b414098f7c222b553cfef11dae538e4b3215b6482a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c7cf9e18980c0434815fc8e381e897abd5f64ab52512cdcd00f7ea0a79441cb9efa103f28a6a0be5503d88cda28a2a41faf48e56db89f427921b0b78c68b2294d70d3300581e024fbe77f5e5eff410370363b8831b1061a5eb68195eb35d82be613053045820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023347563106dcedabe17c6fccabc8b5ca150b75bb801e0f8f9b2db342cb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026cb353937bdb8d2ea37f3c709cb29dc0ce0ad34d6a64c08ff5306a30fe47038d7e7efc6d8000581e02f3e1cbd46d921d1017611b4eff15e68a8721878ae899c936d15a2be9d45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192cb703fdc8f4e966eb5a4536c741114fc6bd51cda661620823fb3ecc572e0d7f396e0303d0c8b675f985254b79abe98fd0eab1ac2746e8d449a8bba6dc5dbe67669a973203ad3d7e89cc05c38f5ff8f13e725f0b106d6a2e920879640bf0064f4c454793ad0219ffff03fa9f7f2ce670321111c9fe5b05ed6813337bf43b84c4af599870ac0927301f5a0328b59e9a7123346fe5709a9bccb6ceee361cb8282abb3927146ea6273e0c1d530396b4ca73cc39c111387a9248fe1dde809333551e5517b29aa6e7a65ff41474870366d563aab4355551c2c6222c42d308bf807bd044049c94a91db057653adeb5fc037b46ee50c1f7f513a257ed6551e26cf32baee14236e08466af24b008378d26060219ffff03e404ef0e5a254117bfdb3d13a8170affeef6ed1e0f55c4dcf94bd66802c5664403b9d26ef76d0697a90904b561e8d7453e9ef5588700c56a7ddbf609699ba027d903f0df831cd403fd8d4aa5458fd5674b9cd298c68bc4495d4c854ac36abaa81438033a01cf667db0a6096671ceb33cd2a095187a623968435c8f570775ec6320e697031bbe1b85d4460a361b2f5d614fdb92bc982cbebaba3ebad555a74bf070e60088033fa1a8ba21988fec489834ccc206ad7c40df4f1d29fed34444d59b31ee73b95203cd29dd1f02d1bbc7f432b475d990741a9f592e9cd567f07dff4660b8ae37f3b4030fed701cfb43051c8802cb1b7d399c8437083c0bf051ca98c6bdecf535c48bd603b3286db6f00c4d726f4decf6a812bf05cbe373a70c7572f9068b967e941639a8033acff65657d014fa9186a68750ac6089912a303ed0468200315d2b579187a0d503d2ef4e67c48c941ceab12de298ca563a5a4a07aa08fc3083816f1ceae749449903531d3830a662aff25be77f5e8ca892582f0cb5fac5c5db09169552d4c371a7710219ffff036a2b9134f0dc29bf18a767f2f8af43ebfff2facc9dd9183360bace1267ccb60603b6ce5d1646af4995c0e2a0d1d88e14bf50b27510a6a56e672403eb38fc086449036f9cb1a5ca1d8d7d775152c3dfdddf2d5ecedef632acb7ee05abe193a9385d9b03c753c4c00fd55cd059757662db9be7089d49109a72a554b93df38388adc76bcf03054d14417e8950c9bfdd602dafca177faa3e110f2ae8c2ffadb8fa6bc760ff1103031eabb46a4b23b3236d9a50b3b884c373f7a7089f51959dd1cda2469291106f03240b1cd8381aa20463874fe27bfc010246cb80dc830e8f13343129d17d72e82103dfab427f5072b6de3da08703717eb7b0598560e2659aab46326a8a06370e9f64038a2b0ea06a477bb245a6bde3edc0467326387643b950d756ba8e9930616fd570034ed05802117fb75fc34a59fb79595dca81b2e4af0c8c947543980a50059d22d203333575b775121cfdf407cfdf2570c43b27f2245dc68d47682f7a3e550767786e036908505bf2b666aa155b6a7be22f18241d4e5a06d315d9a82d1c14261863da52036861e04be9e6a8ce3b4d9ee593004b6345339a2e657e15fe468c24479e6efb1403ea8e536c8809f0524a4949e296064d791601b063d34de2a37f7a39a51a3d3c45038fd279209e0b33648c7469aabc9c9f76d9f3e0634805201044a0a9e70d25b62f0391e4c52508bd746efdf6a6936db87fdad09d28af8fcf77bc6006ba11a97f447e03409c54b9f27bc75a833bea9d5b0f3874019f170f558d298649777ff1acb41b6203c8a8e1d5bcce2b9569248e69ee6bd8c6e12bacdafca8704a68f7be93e6c285dd03023075be43ca95e55319adb465d53ae3a3d8557fb737e31d2e68a65fb36a407603d604e87ef591ea3a79aacd86259acd1b0ab41eecd4a93c5bfeadbacc0d09bb7d0331248e99adbd6d26e0427b4cbd852520870d4b83f2e7a23126a3928bf4443779034f792ece88e4e76855499682ddce824ce7ddb11645518ef1d906504964850f4203cc82daee2da1fc72701991543e26971cf01fe6fd435214914d3a7acaa3f2b8290336fa3f332ff87c315e2721b9efc2f57c4095840be93059044bc50ac5488abeb5034e13e859c4bf0f4aa97f6c4e44feac9162c69b743d151d30b658a6303c3f7534038e4e0576cd0801d6f20ea534c6e37975ec0a751608803e46826e06cd62d3775503cec44b0d5db41f4e52e85617bd0781dff738932ccc2bd5f4bc4db53770a24f4803fd41a052a8406dcffc629a22fd1baec6d184c6925a587008901b949d22d7ad82037b30889e17afebe0ad2bb121b1d8ee9105ca50acdc35ad27ffcc7fa8dea7afeb035aba9ebe715fe5d2c2a0bf49a1dc36eb23a21fb50f9d6ff6e38b7f5076b2648403a2fee52480b9698b0e20df7abe944f6098fc11a45d6ec676c634479cf731fef70390af769c27b9eef9c02063f81b07d796e38fd557d8dbcc9952cc81bf21e5578000581e0225872598294ac9aed35cdb4f577595e0896f803b60ea6f418c631a44cd48016345785d8a000000581e02d0c3459ee5d5826addab7214da91bb401ce943ffdceebbd21c7e1aad074615f7b162a48000581e02c5fb579bb07e8765d63f7648dff1830bade045926efd4ebf83faa5c464441323a43c02190f28030444c5cd13803351d7d725a8ef5ae77890e91a04d6c82eaa71990bb15f7ffd4903a0a06bd6dbffe75574b4b2de4daa9ce4a949713c79d00469bb3141664fe02c4d03dd750609b8003378934178f8ef13e993a7a74f76ceb42a097cab70d0e12874c503fbd9ceb7678ab3d61725dc79b9fa33ebda2cfa54d3f6166dee67dd2c64e87b8b039cf508b008119debbe71432404bdb6ad93cc2e58ebf7abd51d410403d446b5e40375c40ab193322c7f193dc0974e432d13d99b01dd9a9739abea0016577235dc86039e5abed9ba9431156ff9e2b8e27c6100bfb211fc2cf4aae780c2caab3c0128da0219ffff03724f380b3326cc1da662d3c939b6722c9e56fa7d9ec358962277d891958826fb03a5968fab391a8a0f7cc50fdb7f947a07b8eec5ea617c7f0bc84a0b4f837d18980335fd4db8173784e9a7deb50919eefcd5983a853497c502290802103a85a4301203fd276f24e1cc7eb7c0ec9e1d14258f3557b32a8639f6ea14e10d859d31f3397d031f2ea2fa9d1e0a036585640c4c7bc39c83bcedc55939f7f3ced952c06c2a71e2038a9219b817e4dc254b63fb5441328b495f68c597c75b56a9baa97c04ef6a1c8603595b7cdf0b3f2b5399999dac6354e0787bfc97401b254d3153ea9716aab9ec8a03b636582d623266c18fd8633c9c6304c6e92ecb2939fece8e4579b2324860a63b0300fd066b04e1615cf376abdfc43bc57c4c3e1068b26016b1e581020adce2394003a26bf9cad9e8a6c33e75ce546996eb9bead29db42f9f61320ab60cf3f69406f40312bd823bbfda4777b8c9cdb19a965d5fda763481c7113250c211bbcc188b3263036c3c84096c1c634e71abea62e2ed88272cbcabdbe4af4f2cbc233a2c241cd4be03cbe8096d2c9dfd99b0e5550af34bb8d1eccd84f44873dfa613500fde00eb5c5f0219ffff032b2f899d4fe7a0be8489b7bad1aed2d0b6d141483ae28612ee6c2ffd638924d7038c3ebab908beebd27068d1a9d07e08609f03a48e875c2d09d29dccaff98b4e8d03095eec9b0513cd6c15b9931098f72a22daed23f33e632617571bc3259f37789003ec1ba6b231cc0262b6bb0795e491b1d5eda961718f246797066ca4b8a3ac6fe90219ffff0219ffff0375011054eae6eb68e61a8737e5f6684edc8d6de0761b202d9551d3a71fa10bce0391663e2d3ad844ea5cb38c4f30def3023227f2f84856eab558c3be665a863706039cf6971ab6b313f6524e5c98a063decb06b999f2e9573871c70086fabe0a300003e1dab5b5d9ced0d3be2b567ed068e939debced1922236b3b5a91fd085001d1780301b63b2fa4b1ee39260658919b62215ca9b8d8a104a28f8f2f787eba4491cb0403bc8434dfd6f153f726b1f4f7a8a3d6573f316a4b26ce9daf6e4202fe9182dcb603dbd92ec48a48d984c55ea8d669a65a1bd2ad2bf83518591721bb1fbad174a35c03f142d161b7f672fd402ddb88474ca329b5e2db366ee419e5984646f5b34bed55039627c98e34e4d4d1bf973187ed2d8ef07b037038633890d30541dc9708118d1303a31c805673526503f01417417205dad4c5cebac53fe5f74582399c42e52a339203e89b807c991cc97b0a0ad47e51798ee4223dd90febd2441414f852b32abac2b50379adbe04ffbb7ebee0be51bf9f47ae7c9a2038e1b19395a42ce6238cafa60f9b03de724993ef4ce40674f24c079dfdfc2b3d7162eb36c633d174988d5342d18eae034a4e698c4e5b29bb49b69ffc41d70d7449a8d5454e9f1d4892ec5cb27e36b3f6033811550c1a7c2ee50a23f804e710b21f01b8d8d79f18587828511c0adb006e5803196736f0f324daf8a44c921adb0a3b47d24efca0749452644da1422e2def51ed03a3dc9921289df5ca8241db631533e4a6c808df88cbda1282088673e99ac26a13037fdafe5b70d91149f9e6ab6be7036b9ab93611d721bddf8701378481bf5178cc03037c30a0e1bd67ce22e309e44862b573195d7b9e2296c830674a1e5e65bcb79b00581e023ff0381478b5f690ff8bd4b329b56c01b69b83efb9d9fee9238ec3588d4b4a817c7ffffffd6aa07a0000581e031acb55355675577d22118be87a8f921610866e11e3004c5d037518367044073712fd00581e03bd3b69f2c7f267833d861855aed8e0292919865c69121f9fb9152cb97043d59f800219802000581e02e12371e58c1a593359275d2d51ea7b9940c1051801fc041fa08c2fc5404398968000581e02a9cfe56304aca2ecdda55f3c90c4065be155f705088110ac4b2614b8805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0254b632f778a226214521af90162b7d410aa0fb190164f39d71622d63a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c8df6c6f33a37eab13a3d3077139c8f9cbc936d456e0bda328a03d5ee25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219be00039807e567b95dfe6e8d891e1c8e99824c4dfc598313445e7a666d8c048bf7a0c5031c76d63c02b493d361a3bc98e7e2573022ef2c663311d9ef3d562b3870f8006f034ace335299782710b10db694b9194a6f3115b511cfe630c95c5035ceaa3da154031bdf6dab8b4474214d7703fa2c8c9981e9218b7d801330a376be6e031c005ccd0391243a6c0a382f1acd2d5e0c54314b327f60e441b50baf0d5fccf20dd93f82aa03f0aac2b607b2aeb1afa3119e779f926079e6e27ebfbd56f4561077f0ddb5623f03c038c6f13d9b4254875531ff6602ee908a9e798759e06e1c852bcd2fb9e0991c03a0e23b21032a73e0daae0444b618bb310c787d68cb1d427c11731768fadc7e1603eb6df16b0c148c909bd2b458c0fccd8df0c5058ead2cdb9ad938761ba132d806030cc63cae7bf1cb8ec0278e1d72a6ee06dacb7562d6afd0dc73617caee09286ee0219ffff038c708a99d4dc8e0263018cf14e55519a58e19c8127f89c87ee2f469c3ba41f8d031e85adf61f8bc1770a765033fe18506f6f424dc95f5491e677f2689dff5fc9a203052a791e74daddaf5b0bb02234cb9efc03b7590eb3c0a1c984a51f46065968a30390093f89e8f78a2c50971aeb351c01d2670d95e4e3bc3ecee047123964d90912034f649115098996f6339ff8a64a464f9e5e3df781f413163f399dc35e21005bfb03e222dfc9223baced0d2ebc045fd05aa902a1d515c17b4dd6beced2749ef69d5103f7a8b5434f163981ad75ad7bd1dec864e568aeeefc115894419a0094e46915190320dc4a77c7cd3b8033a2d24ceba3c55e88e11265b58798542e28aeeff1a385a90219ffff03ddf740a077ce3dd933f584534685bbf632db6ac88da074b2402ef214e9cbccba032b3fdaa67041fd5c7ce6cb6068f120393f7829bf558f2f44b05d618daaa8be8d032530b4fec96a8ee5c6219e5e9da17b3ffb430c1d5239215cd077bed70ca98e52032c098f3292782a0ffe84c4fa8e42c223a36453c67f8e6330c26ba9317a7a5ffb0321fa84263588d77031ae886db5b3626883faf8895e8f64918e0ecd6175927cfb03b9025d069b3b513a58f4dacde263681bf6e55497a348ddb3fa7b3c540a3a486203160a3277e8992f0d682fab3df16ca2c209d93e64912bc6e9c47984845088617403f183940e6ab32a55528fad55d1cc78be10d8ade437955310184a0e317f43f7f303abf178023d979173580154f8095fd226f9d271850f21e4b6b75472eb20496ac103f3e387c07494026448936dca38862681e237881cac3c397fa2e9ac28625b3e8103372832939abe475cdb126b8c7b345b80b4b56d3494bedd924b3a6c921baf7791038c5069f21d3082ca5f20755f90dc5ca3de831c3e1b70eb3602e668bc0d5f77cb03d66829e216c14cc16981f619e435253e62844e800006702bd5b56da83dce6e7903297e6ae46aafa83997fd7f847b68fbb777418542fd81aca78fc5274008ec298f03e0c3af76bf0c1df70753ab9fc616f6dfbec4bb5037ab39724268ebecd8cf80560384e83950266fa85a3d22b87f23ed37d824fb89cba19de3e1143f9c66dc5ea2c503ddb502856fec8c19efef6a74f44cdf254b33a9bb6577d2671daf53965ce7c28003285fd2978a3b3a72368d0beecbc64abe1c4d9a1410b8d24cc9d095b105b89a2303d6b3b5645ce3cce39bf9a80d652e2bccfb5dc10a8a3b6f7795cf70cecd854469038e98798afa623a6fc03ce234e8a4d4da24f7fd997f8c6227174785c366e5a0ed03cd24932e29840cf281b15756ad97383d75adb2cd780e3f0595a3baa7de0c0ec103912b2d4af221fed5e9d751ff5fcc477bfb0fed69a272a26640620cecf44622a8036ba03c17dbff9a62f3889b7ebed946fdd728faf00f599ec9a899c2043f6df1fd03e71160451a3c60278c5748bc73ca7a98289d09f4b4b9eee8ca2348cd75f9f88c03e4a10f1c8d015458046588e6e82afd5d66c83116bbbf6f50f5de8735767bc2a503b280ea8d044386879729d84bb33c4608ec95cf7b1a3d7f5c5eb95e09d0876fae030d00e02bc2e294a17330fcb44a28958ced63f4e2dcad373ab33316d557551f48031215300f18295633f1783e6d3646667077a7ff9bc78e32213e0544e0f8669cec00581e02a2478e94cf4b5042c7bc7d5fe45fd8c65ed86d27f4a7cda5d4d1e20a965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029014bb2eed3a5486070cfc75460d7d8a5c59f2f79571460a307878a15d47866502c3f9c34300581e03543a7a1a480138492ae6be14e11e3744d97a484c15ede576eb81f42f304503cf0f245200581e037861e3c69904acdc477057cfea067f37042591a6e7f9db0b420b6bdd405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0395b408e34b41d69e5b00b359f1adee71b8660ed16a7495e5b5b45a3d8043e508d00219444000581e02916e13f205799b61608e3c818c932676f4704ee2fd185ecc1a1af093074405d31f0300581e029bfccc2d42203be7d897a121c3a4ca0c4415c83598ff1c65b1119b5fe24402d6a22e0219b03d036908245cbb4ba93bfef2b10e0d155e105a7a33db9715d16f2c70144682fcc7c60350ab52021fbe9f5fb98987072ab9ce2e82d50ea806d35a7caeabfd22f573b4dd03f8ec3d687195fbcf5980f1617caa17a6111aa97d41578b40b4f31352b42c9044039f5491f5ea54774f9dd37621829c779e2fb9f30c878a649ecaa7b0d0bc3319bd0379a798e18dd6f67ce861fa4d9ee463c9d7776006a04ffa5e83d059ffb7ce55ab03acead838f8e62e434ee07a363cc16307112c5e2edbbad2d6e91ad8634bf4d45f03918acaead56ff588d50e5402370789458e1e2a537af62f07200ce8c81b0676da03923c36683827561761a2c6be44bfef5404cb976347571175f515eff5daa597bd034ae858c3dec23177d845b9882cff62280e7fc9372a0ff6c9032742c78c6d62d503e63cbcc1a13ffad90c72f032ce60b72148bc09dee013913f8a613d6330b81877037c7cea044293349bf13c6e87738a3a35568602f753b75f4ba2372036565dda4a0219ffff0340ea558e32adc3b9dc4c29c9387a906cb520678573c44ff8004cb23d754e199d0398a2ada050354047043d5bf05f08e06d0f007158ec680c4804f98c14dcdbbd9b03d8ed94e3cc397113e4889f8712c9ec0c240db9544e2f9ab9aee10cce323465580219ffff0219ffff037ef74cc1fbeb2e1b60deca60815c9c75866e62ecabf59949a319f5bfa8c8255103b91b6d060fbd0e332449adeb2b99a1f00ee97b035040bd0277c3e995f672daf303ff9f92af63d4744cf35e746db1322ba41c881f5bd992f602cd4719b6dc385a100358f61203cbed0a4cdf5663030a3c9f801a2448eef7e4699b0a35ecd90402256703e63c7a52b8e84a4885680ebba96a3f1dca3856b47db97ef40e9695ccfac2bda203fe18d0081d67427450e8643cdace4957fce629bcf25bc3593382028f56a0bb0003bcece5e64b9cd19d800f1a4fa342ddac1cc7064ea8c8aade6645bd8fb58a90ac035d34710dae6530cb57ff9c86325c370a3cba316ac341cf8d2dbd0be233f62300038f232aabe0137303883ee61550ee71004002bfb672a8e6bdce3493e7a9dcf7bd034b2252d37f258e88ea1d1197502b676847bc4408068d072c24141c9d6029204503a723e60270c1826252223ed7b52ef0b9343f947d7b08c4fb506da8d777a856de038cbe2dfb959cf95fe60af435ef1ca379e441320616e8934241cd3d685fb14a58038109c92b9d83c923b49be516326cb9be1b1c97c08b29a98051fc486ce700d423031f243a98057898c3c1690a7e319c4e3e8ad912f024aa09e65c441296391885e8038a7ed160d6415208354de25c03cecced74a9cd0d8c78741752032d4e01d0bd22036a7d7fa484b3eed26e665e8cd586f4d892492afce403229f4114aaaad18d92e4035fba0a3cc58eea19a343076d0a3714469e97dd2d55c3c0addab9b0824322908403bf5ebe189ff79e0138ce2950d72994a4cc7fa471dda01fa0cb3d7f537b81849e03dd9a25d5c783d90b32f3fe51edaf8948f146f04ad5773516b3aeb0462f62e2d1038ea4b156ed1873f284e577367fecfcdd547202344ad9477821631aaff8c2a2ae035089aee233afa68ea1ca6a496880617467b81229667607b65b8c38e3ebad7b8b03abe9a8c97df0b26e101883a329103186924aa0cd77970fad64e65f14840767480372b72668f935215ce13d17ca1669e6409fd0805e064a091184e4db03865266cf039a62e3403770c93f91be13e7b5b00ca381a3b1fd426b56938c81a34e01a049c903908d613546a8d9a10c2b4b7c0b2ac779aa172aed0cb83e71a5ef26c249ad64d500581e0237ff84dabdea6866bbea9c5301cc88c31dbdff24009daf81ce4862911f4417d53dd100581e02373f760f45c6949d13017d8963cf3ff21701c30a97c87bfc09cdd43010424e2000581e02f98d0b7e40818f6c0df06898d7b3541f92eb9e310a0035fa2f3c79bab15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02138603cc3ead47fb6b221370f8617a69b3781e06c5b4abfef4f2551ca55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0258425a66d2124805f49260b25c2f10b32220aa8964724b90bb36780db142271000581e026de53bfd90375d8ab511d8c88fc3291c350454ecba00a57dcb26a85fa8430f424000581e025b7ed2ff557020ec0034aabb6ec460f4db94acdc75703974a3f697becd4402773e80030a0cf0fd6d37708cd40e416ed4ef561413b47af4af65defe2c533b8f312776c903c33693b4d00531d78cafb2036b4726f9e952124dacd5ca99210a2d1eb6a04d930219fb4103208bfe8d6f14a112d32b0b1307d09ef841b053514d9e5dc03e7fa14f387e641603688de381bb020097c8f6648b9d7ff818401302bd449d1350995d451cbb80570b03c6e2fb711fc7102867b4f024649a68d07a05e318d98747be3ccd2b7c7d7649e003645475d3e279c0f2e2adb2ca56b333dccf0f686329b080222cef61de50dce73b0324773be372fc0f62682c53881366c8aa1bc0b94d97db0dac415b4553cf99869e030af5c8aeb69ae9c9efb161d87fa483b8299cd29287e5d1e0283afd4d4323d7350355c20f963369016f4fc7ef8fe3dd942a54f153d2a8b89cd546e8cfcc43ea919e0335cccbdf5d71305c8147d02655089fa1ed7b16077b39c9f0f97bc8ca1ce370fb037e4ce12d53d175b862279c76eec32ed693e9a7e4db1831517fcd3dd07910e829034856b0d495ceae94c1ff6c9b3d6eedcb2a138056879315b9c3dbd212b770676603c62f6d88a58d2983989c22683efec6ebf057dc45a9b91e98b348f7dd25b9804c0341bfd39bf839f14791954d47581a304b521f0748d7b2aeebfdc0a62e979f66d20219ffff0219ffff03269c5606e1828c9c577a5102799145ddcf26a6485c97be2807199dff54c58a1503ff1fd2e614146c40d988ffc5e5acc8ace08eaa4e98729c9c4a8a41c0f508e78803a6eb9601199739ef0951387d1dc80af0dc05b6f511e5adf48774c36df1a4849b03ba87ab801f9d816a283089a82c8d15c8d0ede4492315d51fe097e13cc6b56c0a031b8ff57ca0f17a31d417e6e5fc5932964db3b051fa6a633835a4b28599aaad2603d99de1ae85a4092b0390a0c84424bddca045e0d438e482e0e87b4504bd4cdf57030c46871d4271f12267a7cd8380a5d3ba0605062e776d8fc8e03b1e2550653d3d03521172dd7be4dc14892de401a1e394d93fb877aa49b5ccf7732b0f527c52695403c9aff848f539b424b59e5878b01681e77db029a309e5dc470e2c8ea2e12a9d46038c1ba8d10e526327981cf8001e746a65e43345b34f2eed60c9866d8e0e1b72f50219ffff034b0243f74cf046eec5ecce40bdc0824da961b52c099040f89061a73c435ac7d2031e8f9c0876a745292ebae4624354a90e7a226dc8bd6cf9f160090a8a94342b4303541d05f228bd18d2abe1e84cfb6202e8f200693936817d09c59530499686eddf0334c7600bc676b9c208a2eea979abf0abaeaad27643eb1695d59ee293d3a82b9c0336354ff60efcb37ecea4757f81fd2423200addf680cc6c5fc81ca652ce4797e403863cc07461baa2045dc6393a2969a388646f257014afb892a63ef4163c0c0db803c080039e0edf4f980bc6c721aff98bc7ddc30f7b3858d7c8d65a82d963ca317103d73d59dbd710a941bdbd6d8fcebc9d1b90dd8ac95878d088270bbfef3de1b24b033aa4381d856f8bda235ec3e5a422cdf767c3b0c6e281bc1c435205d90fe602d5034b66fa7b2b33ba4dbd790726a4a3226b329fd442e582b85eae3243ff98ae1b34030b9886a5a0c8734ba558abf1f06fc9b4e4205a2014fc288386a387c1532badab03cb0b0a50b999885e4d8522afff15f166541fbd768b258f11b36f556c6932a5ce037dd443b97b5b320f59091ee0abf830a6276bde0b9d93ce33e77ba39052f1cf62035ddbd5baa3099c831290f675f80852dd130ba099d11f49e3ef2954d7e078816e03589abcafab6e3b63d706189a6dfe1026646d1a051ab1b09f5898c2eb4ac1424c0394eec4e6aee398192e26453df71d754e87f713fd8ef7ba397f85a52765d16b8d03e784717057b7ede7da4699739ce272f36d25213f9b54b18f6c129fc2183902a8037befb81a5993389775563fd7c1574a5557d1990c163f2d9a569160a515566dd90301ae847a5f89f5f8c95b93ace1090023e396c5b7d7baa672b59e0cc545f14e7b03d68d20a212c99997137e131f51a88a058eede45d1379788d90cc06bb4b78966f03819a059084055addc28b3b7fab2fb992761c6fc6f8a6fd82f71c45b17bcab11303ff9328c2cde24643ce42bf0e070e3b46cd5bcbc53bd3a14057df076cc8a6073300581e02338105914103f4c8f5c4bec5eb6369e351de9b38dd6cb26fbc50b5c6244306410500581e025c235f42f8e0c6b024de3486b1a093a7e24d2fd28381f1690c7dcc20c25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032f6255430890d5c26b7fae36e97d5604ca4275f8286068f86dd36f73da8c2bb100581e027f50d4997298f69af8de6953fdca7675a6dc64396de339b58fcd7f4bf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038d66e7ecb126f5a94a76224c8bf8c95e923b9b04447ea6bac6231eaaf016247700581e0259aa0ea1dcc914745001ebb4f7342c9a58226002ad80e74950be63abf84402dc9310031dc8b12dca2bf5991fb5c32228944884d05898d46fc1a8bca4afda2da07a31eb00581e0263df22a0e142a321099692a25f57671635492324bb2fdb852cbb7224524355970400581e02a6bbbe870b72af4316e14ac4f487d20b7ef714bdab786655685b89d36744055d4ac000581e02a785a770287a6bfe4b2b9b03e0c37998cbc386fcf83eb80526f7017b0745e7b094ff0002193e8f03df72e81ca4967be0f0f94bd7c64c56d391489b2a44a67143f6125d1b28b282af03d52136d74ab8da9757c37c94811ca2bcabdb3ca131208dc2d3a14f15c8207fa803962cd84f10cd355312634c49d86f800345ab77a5ed55292c75f7ae1af8b5d74803b044a81a494abdf6839b9b62725742541667b0b29d36a32d34b9f465578dee5403d4572dbddc2e7b057c6ddd311a35153815cd9dccd5137f97eb577c20a773c41403972a85f080061831f3c5d1672c3262b26a84c2ca9c28c6104a7c2073ce055f0503371cf457325283095ea4351fd418cdc4efba9042b5cece6415e38870974a031c0310b2f3bd30fb2ff3f5a937fbffa474bcbaf73bf1e91b12bb3d44cda3c1a459d40219ffff039744833e0bf84decbbd2c017da495a737ebc22a20419f5866473d683d8c31a8d03cc7688438833aecd4d34c40c0814ffdde805747a5bbbb6629e49767cc96f7e890332e5b13b8630794ed2f5c40321f1969eca4950980772679785abf17bc531c501035452fc36e5075fb779a358c8b35efe428f297d466181805845751ac28636a4f403655dd96cbfe503134021975a985a96136b8daef6bd485c7f03e9c066e3635b740219ffff036e024c3415e488d04f38f3eec15b3de949904f59aabb7e53f1ca8703054e219e03a35ccdd27147a59df4689c4e2b132d8c0bf82904fe46c72eb27580b6f603d8bc0349c85a7979b46554ce05a24f6fb826f01464428343618d9a5171a63a6bca4265036d599b0873cf2526f65570700363c6926511119b35f50f87ad892fdda72e407d03985609b4abbe9a0b29ae2c8694d6a4e6e4f10992bcbccd7e144277f64870b9f403111d2f7343691416d5874c9401fb389338a4418dec7ad4f75f86b3853df9fd8703639ea228971d4f5df7ddd8aa253312681d236a055228b1754c308fe6efb2232303113018db02c3dcd47d663db677186f00a89b47869231a2558293820565b7194203bff5e9cb25e75da40b33f6f0f0f0b3d3c9188c854f100832d059a40e378f57600371a2ec53b77e8acfa1d307e223e98e31ad62e301d872b87a376132e51476f99c0219ffff03a0dbd750cc6147a9d969516413b9810116fd462316bc37aa30388911a5a9f0df03d93ceb3b2881db565048e850263f51107dd385c2dda4d6243efd6aafc6ccfb7c03a671dc2c391600f97acc7455fed1a6fdf8ef38ed41ed7339a5068bc653b133ce03a4cbda615638a0d1890a6dcca7983974eef1a957b41bb66bf77fe16d8382744e03004ad16ddf69dbae11159b01759f2361e07ba605020203670e3bfdcc9cc35740037fef74d573a3bf37859e0e10643189e9f84beab24069bf6986ff4e1bc3d32e55034e0c6c1d2db8c792b06eebe51e144ae41c79b87f723564002eedcdf5fca1617f03136e4380e2c7e270cc7059e9713a9e755e7a41126a5901092c85792963afc78503d9a1501cab0bc41f4d7cd5bf42ed32a57a495c774a4b45a40bae6b54e49df53a0326ebc48189d256c215ae396840a02170e3ff3139e66c5ccc0fe4c57c02d5752a035f976d84d6a908d16dfec3542c1c7f7fdd715f4d482acc4e8eb0af514024cef8031b1edae9cee930c7a0aff013441a573a065211a3b39f92b5fd98f1a038fd0d7e038acd4117d77e5bdac180f154a4a6e77ed50df959a9fad5781d108a4dee4c89ca03449107224433265cef3a01231a91c94d2df7103159eb44328e4483dbcb3b3dd003460f0f0dca8e9e8e94305f45325d2b2cb5bd876a262e89f04ae2a7b7f270b9de036cf458788dce595bf5b7d6797668e28690e6360b08221e5bff2e7f11cedf91d0030dcff5533fe6bc0bba74e1cdacabd4bfd262c83c0e16e90debe523ee0f4e62e30351c779407ef54d947f49448a74254c20af8509d31465bd998d5b74035a088809033888847cc3e4d3f8f48961d6f8b216209c2e1fbd9d487aa840c1870313c59d0403def9b57b038145dbb7df247b4261228dc725b8d8a91e05df7642e1430967973f03c81c497404f40ab557a5a29ed2b5e1b40a961d4f1b5fe7d26868a49bfe87d550031c2901060a76b3ed389ff11d4f0aadbef07df6e445a3295175e4c0a10cca4bd203eeb8dd3b7fa0aab7a2c0b77bc70ff1db9a096ef44d85c8d9bac6826b418fe1f603b72977193097f5f071c342b6d9ebf031401ab3c35a1fe5d7188cef50bacb0a4f031493e14ffdb78986004ffe24ea3aec9f62ce416917afbca077e25ff4787f2dea03e0f686c19923aabc984df9a5ccac569a28a6d31cb817fb14cdc083fae0c5faa603a39976b80559c44add15cf269e4f6abc6e084e86e92ed6a2a524edd3c4f49c99036e1558c52e8df9d77a1107b39cfdc9953e13f7a9746361098ceff1a81ae584bb037ba1482cdb5b1ae28188f67ca0cb175be581634e8bd7551451083e339cf410d300581e02f924341f3f56360e14f747b8736c5c270e37ecc0e86b63917b871e571946090d045a080200581e02c99103ca3b5fb9937b4090ac53b195eb90a3296881079dccbf65754ef4451740e185490364b989fabd467a38206f8a2d59a635996808dc14113567e8c53150000141217a03e1a17faa78095450fcb7793e080bfc6ef4f00b6f3db3ff9b07f168e9a9395ca200581e0266478df0b7581d90aa62260488929ec084a35f07f4680781eab4df9651440191757000581e028784486787d6288992c954159796cc9bb62c9f4cc38fa98a0b9d7c978a4402faf0800325b38442b393eefc7d2a36a76a0d070ae4e747307711fce675085685171d14e700581e0271a14c7868e447374910b55ffb66fd52f0a82ed0d2013f8e183b0b7b7a58207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd31231800581e0237b0354c79a2101ecece17c1f5bf6a4176eb54f18745af4560b75c3a6644046be5a00219ab71031c79cc486d4eae0c9010288b8c18f56770bff2c98cfd7efa14809100386e15390219ffff03ca320d80d9788560f4bb0733efb01af744cd714d6da6f726ea4380b20be8eb5f034c76ebfc328690baccb3e88e719d3e3cb765fa147829e68eee99e5ec5ce8410703113bda8753258c1ccd1f7cbccdb48735159661690c45007d1e6ecb82923d4c94033e6c49a459d811c3693f1d2d4db5f99b9e6ee003d06335d780601e5e5b41bc3d03ff8fca0e448d1793b7492bf6c4ccd37161b2e89f9ce06303126916df090f387903ef9042480970a200f40910731461524d7de299816d5849fa661b361f1bff945d03f3f260c0b47585fb19489733a4a5f0a47adb7a66990f8b231495cd595ecddbe50219ffff0305671d7666601149cab3e504c78a298d3d5cfe681a6b48d4e46b9072041732bf03fde56d6ad2efd19cabee810d8ae99de0cbb82ce0fbdac419ecb0e559b3b66c1c03ecb54c52e461bc9c632e4ad2152b905b80307d71d86f8e1c72e0463054065587032b3ce4e409c7e757b203bef057a204f629ba180ffc9fd1295d2eac8f85c2550803ac82f2554ba6236aba2a9d69e0bc282c12b2a370884f13967b694e622bc554c5039b30d302df2234299b200cbce2fedcda54415276f73cd8bff09123b0a3385a56030f61889f62d491de342c610502470e10c8d60f889bd952d07bba1cc0c74d3005036b084c958942566dfc6dd6b2cb3bb2005a4619b3c63ec9a8cdc38ae2cae322f303d0468cc81de83439b52cd1dfefec7f7a213b9cfc1bf807b6082a09e7dac5cb4603b0ea50430b2a40183487c311cac48adf11d3462f5f7a4137399f0483db65f5df0370ca6210eddf72a1da0f6dc56db34390fe00aa03ce381493e528cba27cce68ab03859e577f922191ad38b9713937e26817ccfb241a58dead8a3a8a0d012c7fda8503cf2123ba232308a8264679c638774e5d86b52e0901fe8e3203bde520e0ee5dbe03309fc5c1a127279f6b11eed81a2fc1b06fa40c6b3aaaccd8c55278ee3c67dc0703081a7c421de5e5574ffe06731eb677fd54cb8adcbf22f62d3abbe71914471bf5036c29cceee053d8e770f7809902bce18081ae8b7b140395fa9f75a51b3c2257d7030e1ed56b7dfc1085b9cef2e1f1716687ba55507bce1ddc2b44eb8cd5f4b0680d039d5a5ec936965ef8b06bef77e8b11c9925634c58958a59b2d1ff7789ca0d791f00581e02b3ff2db7940a9c1a1581b18f7e06d27c38b376a52c165421187ea360bc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0322326f45d14621f1a712cc2a13bc9e19e8bedfecf3f3b0c762bf6d43bb91ef84035cdbabe4d34f60d9d0e0bc6b0c2b7d69845b2dda6142e0c7d87c58eb7d27ce0c03adb776bdf9c04aeaa04845fca35a40498c3da5956283cf7c4e396f41d25680e300581e022c8aa623a88bf1577d2d55e1a620b6443edcb86c7c734654f5d80a1d8f431e848000581e0285b50ce331a03256fd5c88507527109767e7e739c6a525da814431d9d14402fdb0c600581e0265ba890c43b1e670f6a56737feca01345952003fe905867132c5c3c7284435346c7603ff431309b8c8f800fdee0f30d9835ae718f75703adac60cb8449005e7c6e2c3b0219b4590351bbaca7ec9d42990f9873b11ab4711a17c68d89448093cbc79ed535f4f64d4c034d1fd0ad7f376aeaffdb3095ed97f1d6ef8b2c6865d14b67005ab6b4f59f910e03fbdf28c032ad8aadb47dc38e587d3561a13b0a2c6812daca21072334870226e6036fca9b7faab18d5faa2b718036767f2ec3b7386d6d724e80edb476c7dd58b6d903a1d3d3a1b2a273b589e95c33ab43a449cb2afd79133ea2bd47db7cd91f1365730219ffff03c3e1165feff7762e164b460c6afae101e17fb1a7be38fe6ec9509f4332a7684c036c381db95131bde31944ad96c565c2c32d454c52d94db6650032aa91c49bb34b0318374a6531239b5eefa71036f3968d9a55047b69219c8f3087caa1b004d5d03803a57411512694ea4267e0868730fd524fff129451c7880c7371459da30e9c652903b212d103d5496f288c44edb853474882ad293cb396a8ad68691d8892cb206f8103625ab629ef56501fbe609ed285d7db7274efec492ec839e114fc62d077f0049b03411010f028536a8fd703fbdae1906aee6ef86f1508afc4a46dec336da7ce1ee803478f97723289025d12781fe5913356aad6d4c9c5ff781d878cd956ab705bbf4803fc537684dae5b0281af88b080a4f38f1c89edaa1d8839923dc2345871e30a1c8036c8ddecbaf7b67583caa5bc397c463906df19f308c73206561a28b5a44fc3a0c033914cb7da67a3ee2bff7bafd1f123c4a82c221e8974e90bc5a2479ae86301f4a0302d02a2a5161da5e8163dde166b11699723105b1bcda1671c4176ba52b38f0c703cf71e5bcf753cb20a3902825bab6de53479013ebef1a9d903a44fa8df301717903a7528525a6a772998cc0fb2ec3ea47bfab156fc81c0f62f490ab58a87b26b0350219ffff03c5b8cf0c47c3a3330436cd602dc47a48b34d680ad26d98af8535dc6824838e8b0219ffff038539d54faefbc5b2c1360a5abc908532c5f33df7bad545a5da7c411af08ae322034468e57f7b0d3d7cf2808abe62beaf7b0fa39c40d1c457a3b4537620b6de5fbf035b07c1096d09f92119b3670694648076cf93540bc4daae5b41ee3fecde8fb0ac03ac17449f25c174405947228b67e63b1e6f57d56fe503179ff2e4b15c215482ec03eaae7937d8e515e13a615df12281b64ae6815074e87366c978c6c2ba2feb8d650320754770b0b702236c3401b6448a315d3dfbf0d2aed7e8c1e972b47fad07a057039b1c74c88fe8d6224cb95a73ec3c517ebd2e6da2c0e6afcc615b8d79e910d5b0037c8aa365e0a0fade7d5d3bf32e8e5d31b3ea6cbfad9d3ed2d90462ac36faa2e4038506d5cf483350f33b596e590303f5d3351d7aac06f00250381c02c5cb47cd66035a0122a068b67d92487f42f06d7b5ad80d38ba38de0f442eebff93af6e75accd038c95ce80f7bcac33292d7b10beb82933c98d24dde4d309950b8785fcfa5b00f7035aeeb22de959cd094488ae71cb9cee4acf808be37e443fc07a96f3abb5ea65b403c7e1a06597044d972fb71ab4f7858dda8bd08dc738d7010e17f153303487893c036e6a58af88541d2c837591705d194512f9950a3bdc19af9237d2c8a2484fa9010309241755b9a64b298a7247653c9a5fba8177ab747e05cb3ee0644cdfbe5017be033405bb442891947a5319197ca7967f52ca220cf8c0274cb0d94b700eaf98ef870324f6310878428423e4e8822c9b7bbd584f3f19dda099b2da209e32a29c46c9e003c11312a760ea78d1d36f1eff04a3689986ff94e1fe7c24e64a74c8f614d0261e03d87d73223db6eca8672d099b8f4bea44d514e4d346b7baec1d18881d04c042610335fe44de18b4726140fa6339bf58055ebf8563f370144568e2d5f20f6dd9cb5303f478c0c2800f441221ca2168fe4c597d1937d794497761caab58db540ab69fdf0357cabc40b66320126ba68f8b3c16856078c5b22072b7a86ab687eec0e3eac409032c7b11c6bf0eb9cf0c8bb3d3f88585a2450bd1a031f2c70e2d507a619da4eb7e03c91decb7b30e96209bd3f3e545a520f35370c18e0ab251c710916765d6ddc0580349e76430b53c2dee2c50fa77c3d9c02189483f3d5b99893e1eee64e0609e4dbc03cf90fb977ebcf00a65db1e47159630e3328524c4d436e31b17f1fa5e4fd5af4f03c0c384c98f4bf415adc24cdd9f972596e7be68198f46dfdaa116ac611f48924f0320a56aa6f41f6146538187567198b382e015d1232a17b5c6fe329d120ada495e00581e02c8f203f93fd71dfa92e3c5fd3b8a10a6a0aeec1ad341e6eca31b3384ae445fe08576037bd3c2ce33e1992e6fa466779489b5d8ccc1d9bdeccf7e51acad3590b19fdb6100581e02d7b01b3c7c5ca8d895088ee832fcc1a011ff62804866a59fc6befec1df410100581e02e0401d03e80273453901275a1cedf55673f1a76b96a52c2eed4ce2e0624d0c9f2c9cd03894372e7e446fc400581e02594bffe58dc249db1dfeb07f0f2d4ca6465e2e77090001b0dae9cecbaf4604f658650661021929c80219ffff036e13951260b4ab44013887f234f70996d967206e90a84e9e91fbd6b129e4e780037f29fe82812ac1107fabcc252c8c3bc604f318f8a37ce1439913ae4cb681bf0f03a1e09f39c082890f50f2cfb14943ed0aca77330aad56a921336e6eaa22d84c1b03560732417c2ba26a119bce2458082b651fb046315d92b1ddc713354c6d4570d303db27d89bd81c0fa250422484310ccb8fd6fe10fead32e942b9ad5e87790b023a039df2b22fa4a1c1caec010db41056574de38e66c46736bc63eceacd69153eb88e030da08ad70c4cfe4aa65d2550a970f08883e0944343e5a1d0772abeef6cd5b2050397bc5fbf4803ad3f5647b7b1238c7b3901984c1dbd4c1778648719328ca26cf5036246b5d9f62becc536e4491bdae714e895d524f7673199e61876e281a1fd73b0035572d81a4d5a59372ab632b54e108a56e142d45dccedd16f4dfaf3daab9482620219ffff035de3d8a3b74bdae7bae7a92305551da3c43453554756431037ebd9dcdcda671903d72195495d07c52c8e6661c12f6ceff1fa9181cbd5d96497e028d07f6903c4dd0340f416981cec99d21c485b82563513a59af1f7724d444534fe2d0d736dcad8f803d213e8f8160aefe669e1595900c0cd437eae81313ee75b081cb5288703e6c43f034ce09675881f8731255676d3dfe3742356718413eaaee0e0f791741043826688034a90c1786258c5956d073c8b6dc3058fa970d55dd7b008d6e072028742d689e60398cb5584fef73ec93f285d8ce32c7401f5d1ce2183921626fc071f335bb7912503b94a98e43a53a70161acbb90bd0c5e375d1d3225d426909ae5b4e12da1f330c60219ffff038904f5e4dba1d3e65506209b33d2764bd675108580efe7d3721e537545fbec8203f5f0a62234115118b6888d6f449b41d20636d35bdab1f424c530a47cb790b17603d17af420fafb6b94d22e4e5282d5b3bcc8466cd1d7ff43de07db379b7ae97f13039ea5bbe5bb1a2f59c1ec9acdde84998a957b318312971287f571d78c8411652803155e8f54fa2569b577cb0ab459e64d92aaa8c07d06a71dd709c601771a0efbb5032c29689e9432e095686142c092fcf5d7c8cb6850b49f7f0a0d73f0d8e44f79110219ffff03107fc89b7f26a5490e218c93d4c6667ff000bde6474ef6602c03a284687f7d5e030efe42e10ca27c86a6e1cb9a2cb69ce06cce880fd57f5d161c6f4e006e1071e703ddbf904add09cfe5820a19eb1649158cdf0fb0c33a198f7e58dcd3ca8ce03d05035e1f35f1b51ac9bab09058688e80506557f5af5a850eaad92526f801d2ab73eb0363887982dbce65fced29b0b8e098c0249a93a682df8ad01b1e5a08722faec59803613dabcbf0357918ebe1ef6cae3c6ad03944d6825005204edbdfdd8c6b33416e03ab9ff70fb97a573ab9a0336e8d92de109b03307f57776dda5f6577bc493f0274031c5f9d71a559691e098d60c2dcbdee22424c721e9b9badae0453a3a9efa6e76a03a2ce3ea0c2058b9278b100c3874d25e914515b93e4859859d580be52fd70e8ca03ab5faa0c130fc9d8e301d69c332917b84f4efaa242e841881df0b5954b9b017b03811b0f6a6c7d85258456821b50994498ba4e43057722310a66e1d2efb72ae754036eded46a8bf9a7e72f7d33b6339fd8a41b3be0e719755e2505b0d1ffab6078e703ddd1122b96218016f6c44c0bfff41d0eedb4a49afc8f7d873277853bb159ccb4035cdccabe40d31318e51712d4f574584e8071d0055dc8b6dfc05223c832fd945103e3be86abda2479015f07e68e1a651fb6180f7739ebc789eb7692aa150f7d216103b05bf96382394a3bbf870eb673901d0fb0419d2ae60ec20e09148d89c0c9c6d70396229a8f719a26a05c411e08abb8025d970c9e26795b6a046ae6358ddb5aaf00030011ea8f13bd609d6d771cd2597d53435bf12748ca05a6b5e4a9b2a8a927a72d00581e025a6b5232562972421ab78e6aa84d2c9df28df3ca6cf357daae03aeeb71430360ed00581e02d113d6886848b39ad1be48de00ac545173656b878b51b21afdaab277ee4408583b0000581e02b1c5fc8aee55db6870b7d45647decbc64a0736b97d06d2f556fa48d3e84405a1f9270336e71f08e6b134f0d3a01ae1216b9628293faf925ca2106e20f3ba5c205ba32703335dfe2f5db253151d83e05966f29f7c79c840562e29e041446e771b537d30e700581e024fbbfa9ff3f893c0f6001d8085b813b8a18660982adf0af4b7ef532ffa44ef98daad00581e023204f8c56f1e28a8bdd0582421a4208f15e643c1cd07df7cec6417c0d95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029da8707ff98063e12ac66e1a8f21007d85a1c316239b1456143c594f5f4401e728a700581e02568ea6b1dc9379766dbdfe50c2fc4d1a54ad2b9501b10060716def8af75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021098e939b4bd05491d2ed3f50555212a233f77b0ae155ee9b85c8b2a285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219eae303bbdfd07c49471aa8e4b8d7a593112abdd0f25d77375658fad45177e97f6fa24103f76299f2a287358c0e9d7becf2f1b15e4af2f840b26cc59e27c6b68fc3cc571a036c51c0f3d654ce535d04614056c37538afe5da13162949aad7ff531c3c6bcb64038e5cac5f6e8df49e973bb5ae757de4b7503d171dadce0f8547639e5d95040f41034e0272c3edd1ecaaa87fcf67c84c1f209f7391655136a8cd12613fb129c7bb94031bf2fc0e9849109e8337425d008dd69ae2a6ae37a90e093c08ed84d0d3a529360314565348fbd3f145dcc45bdee3bdb12c41988c5f4926a8d8d5b4d3cb96f6d1760219ffff039d526d3985f333fdd59ad9ff2704c03a10c96e50233511edbd1e920c1919574703f45fb5ae0e41e3e05fc88208b13c758bc426938009076910fdf395c7b71bf8d103091b2b1e81d00869e68d6a8be01b2f6c82ff9c5ce60c9d2ef7e3e7d3a19bb29303db387958677b8b14df43888a084e57941646a305c2e85b5df962961ad5da640e03014fbcaf70fdfe351de071f0e57784c986428f3a37cf448e83c686e00866284d03c093f93e28dae0458f7f5531ce58b8ea89d94e224cf518392412b10095c91fa303b3f81f95dc58a1d59c05d84fbb5123dabf992123be51ce37c81503f027dd98ac0219ffff03de46dd6e08bf9e2e99648c750302ea09e9aebcea22c70409020ae97ce2145e1203ffa8dd931d37fab2af4a9215f65342004eaabdfd8e166ebde789efb4cb4c245e03011815d521c915f302e231be3159d4c7e779f937354465617c7299f084cb725003a7e00cbd9a14ac982ac9e85fe3a207677e275e2d3c27688a79eda5b3436a8382039d9969de138b254dec617e97e246f127adae329a921314f763484aab675786b603893c93ca8f51c61c0d47d461e1a6d1dd90b47e5bf349391750e7b3c70346f3b9038646031c1a98c56598ff493c8afef35785df80706da926586d0dd8803868fab103a1624fe3e148e65214f5ffcd22dac728be917b6dd7d05d064811e83d5e96466503924a9a8a57074b05362b21f86e86d46c06c5d363ab184a9276bf406700ed16a50332b3e561a2d14d1784bb50a8c08fecda0828e2a0dd698420fdcd7192c2976d1d0360f018d7d661eb5723123d868b6f188f023adc7dc1ee52ed075306cbf7312c790365ba553d378a3b74f8f98e083d337a724af02934f49497484ce08bf7051f84c60318fca6cd9529b5b18f36cdf8aeeebf0d4d1ce5b29fbb99c3e3a71f23317e05be03de1dd0aed39108389caea1382a17c76c79e3409afb0d3128b303d956ea0918b30219ffff037385eaca338a51dec155b8880e92b3b772459eb80c90538e0300a306c106705f03c81d26e9a6986e1c430ecca514a8ff21cb1e055545cc4b7b26c7bbdf47df4b85033a0c6fb509b803c116ce12b869b3383a8ade0525e2d30a9debfb9eac8ff1928d03fe830b3e48c8eb8f918dda945a5459ed8b6fb4d39fb72dfdb34a4a9efcad256103c76d5ace42589fadf88829dbdc773c3a4052e39cdc2cde81db449290553bcf200344e6a0547c5ab482971675920a5371b4e97c804c1db42dcb83fffd4d009354aa030552969ad5d3b490c19707938569370200e323a72fc323552d499509af79f17203ca9f5deb8eff8ed188202c3fd4d89dc762cc276f5aa00292f1b4932fbd22869a03a17dacaddede435cf65963056d7750782e02e8d85c9f68d98e0b41e8ec35116b03c70d454836ac135707df1a2b5ce1c68f6b9404b6663c2bbebd9df2e09e55ae56039e0ce80aa0788d2fcf2a01e4887789c71da19bd15f8d6ef087defd2ff3f4250b03ec12511f4b1cbc838fe8edb237100a8c23fba43050dee7aeb2943efd6e40b619034c0ae14c3700ee804f199dabf5a6c253c1f12a5e7433f0b389a66b5e6a83184d03902289079b49703e05749bca83bddd89695fbf3319ca439cd110514d4c31b0e903fa0bbf1d58e0b82662a7b7015e2483db58cd968f8645173cf6ff51387e4c8c7203ac15040ab373441a1ed3d32bd30d5e601f9a4c8b85f024f653245b34777ef00e03790eee98d17b25cf10f1f5a7acc5c58a26a385b129eb983168db48c3d6caf5420356a898ff537be495d0769ec46d3c4bd5047ccd76ed164f9c3b66cf9d086a0334033cdb5a65d9b333a11ad3ff513caaccd2ecc23a8f669517369d528405f83e49b303ba6ce1bce90c62c5970495f7b56191fe34233aba9d7578ad30ed2626c8091705039677c164f9704a66cc7606b89170ba3e1e2e70ae5138d5340513bbab7453024303d5ae3f380fd506c3b98bc3f215339f9bff71540633f2c3d50dfba973dfe0c32903d3aacb29028e22bfee715bdc0a8c75410e83b34b7ef3260d71ea01933c495c4b0370dccb69d5484245e066c85847d7b2fdd50b978f549467dae55ffaea02aca87e035ff1efe4f08fbd276139ffb23711d6be69be992bf26a01c05c99c5eab4a9cfdd030ec5a143dd7b89207437a6992c72560c7abaaa94b4f8f14a02f36de301bfbb8503f1aafd30c23fbb17a2ff23c3453550f653af6ab900a3caa25d3a37e3c8a6df9a03a336c32a172de363725c82843c479aed28fce0c97a551344476e66bbe85808230340b062bff4c4399241d09be42aa54a83ce08924c3c9ac9f4689be91ddce1f74303e54239d309a37bdd4e493d7e3188bd7426fa8ab0f9188d5bd5a441e2cacb5e13034dfbed360ab313af8c006ce33da708d5bf0e2473534209fce21ebd9066536ca9030b376f7d19f18d9129a8b6138639a807f0dbd1f211ddbd610c4931e0fe741e5a03158db25c2239abc6effad3f45b735738117f810f3e3e1ddb4d655d634e7600e103969e7ec622187e5bcb26340475434c298384bcb5fd7d5e64c270ad32fafa9c9703ad0417844976b1dd17b63e6ac289748e4c16d5b7f1ee55adc4cee549888f99180322c678d10e67b9529b4aa9e6d788028cd7c26355d49fa30f992816971fdd4d7703fba2178375745a4c064aff38b7e0987bcbb46a543d51413aca470e8080211910037ad6e0a328dc944a6aae0e45cfffc2aa016e568032e2b004420c4908201d807b03d803799902d8c38745ff1f7e49df99bd82a4a33c8ed2a4c075ce740fffcae54d035817837512a190f1904ff6206ace199fe6eb1f8328da6e6fe73d353ce9e74683035ba40cd6cdef7ee29382b29018da2db22eb7103a4cecdf009339d77aca040b5103bdea9121d20dfe20b32a6d3284fe09fb8c01196f367d733a6cebc2bf2ce3a60f03ec9ce63807bee11d486f72b1ede617e029965873404d37de5fa04802ec423d140311ef400ddc66a057311ca460824e409959aa4ce3ad48e86c0100592422f515c703bccaf1b28bc6ffdb6376d9bb4f4e0fb30a8295c24bdae0ae7b99a8b35e8961760330f26715e97b6cfd4bd000a0edd66c973e59840e2d2cef9c42266d7bac90aee300581e0201076ee0bb48323d4f3da1ae864a4c3588070dc5ebb587633700574c435820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0380557dc5a699e2c42e426ca59e5237328fd93805aa7996240561fe6f8b18c2ba00581e02c46fad2f5afc521df816fbac5770b1f71c103558fa3d2112d358e2e04e440dbd26a000581e02976dd76daa13cff30ba7766922a25bf846c93a4f43397dec69938eaf8a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a38601b081061b15c34743b0f686f0644522491d9e8b9ad2e37f8f95895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026c484ffa099dc0a92c3b1bf6ffe1afc6214970399a6763f10efbaaa0c941770219a4d20399d9872a7d731e9f764a987b0c9ffea05a357db675161e9b150bcbbb2601fca5035df13ac6674679b7cf17a9af243239d722cd8383c133b75c27aff24c7855313103215ff67271569e3748787300e2b3a204cb2723c6e20dfc671bb6c60b1573e56a03c67d39328396c7d6750a5606427345e52808bd47c0d15411add7a70dfa929147037429546c7a371c8f0dac6d7e839bf963de108109df8719ba9cd5cfcd59a1a3930219ffff0340ee6087834d3a449b01d5829c6ca52a1e2f98425bd1ab8cf38cb7bc002e949e0328b05c6d11463d7dac89fd33798d2cf308caac7bbad8221b70d81820a4ca64da0395c70fcfea0d27a2a1bb26fefe0838672465399438c8f8fcc040116d9e8ef45a0219ffff0353425fc7b5ee8059d5af7de8cc448935ecfc06e2795938c9cc051b7a222060be03884d56de63a2e75767bdd90d33fbfbd026197d563435ee79d9df05c50f67f6260219ffff0310c5fc54c2c3f1c8d8e5d0464c498ef65a88df715f7ec1f2ca258c5d6b5f478103a395e90c49b5efa91fe392dfb2f4e36f4d34ba89391ff3d11fb6ce0ba3fd9cef03ad61adc7089598e5356891dfe6201e747eabb667346a60f4e235923480a8d0c00219ffff03b9d7abd2d557c42ffd77a01c1c464c0d75476259b8e67c56fb45256b70e9e39e031bf4253f32f098c10ee7c85bf2150d3cf355f95518aaee91bfcb90a49914ae330342b59142c052cba2aca655ac6abd95080063b8ef6d0bbee6d862499fb8f7170703f549eb8c0a1e115c4675fcb61eae480b6fdcfb5e80b86ee61a257f9a68b1a40d033f4b4d50ba35be791a3fb33aeca99baf42a1a41fffd996a7cc18aea9a30a143b035ca6b2b449650ddbe2c7dec0efcc9dbc1fd2e0edc424edd18ac7727c74a2996e037f7a43ee57a5e956d84f3aa027a773b81b8b00260bfcf696b94e963887e1685b03f2bbce7ec77711683296d6f11fc64c9a66da1a972b718caf8b4f67e62fd5b81703e683850bdf98d343c138ab993c38a2ef13a0b18245c7c27e058dc30a8f2bb2bc033f5bd88d0eefb83a3410fda403c2931a10d1222594430d5000b9a074fdc79090036aed128bda9d2ccb07498c4fab4af831c82228f5c1831c29beb5157f0c6c1fcc03be8f575d75978422e65fb235457df7dcfe86ac139b9d10bd9615dfb592e98c0503b00125051b9352fa8e48dca0e934ccefee0530ae75923c802bf18ec1e1a3ee2b03c172232a733860ed35f414094bfa4a5e2746b13850ac71912fd959fb6dfd7e86032769e73db66f198e8fbc71bdbe898811adf7fd42b6458f77bf537ffd6fedc408035114564ac5924ef12f623e0fecbb61bdd2724a8d03b7ff1a3e40a7604227fdcb033bfe90f5ad45060489734050856754c9a945fd31ea5fd4aa2b28f077ad6d62ce039f44c3f023c0c59044f840143fd488a1289286617056c4f3f048ee545efe006c03c5556106c97e18daf035e56bea5f3589a88c7d0b3d33381b712ed8995922da8103a2eaeb91fb4485def126c3a82b0689ef0348cc9e2cc8fb8eb3be972b64b46d7803ae6170c2dccd7a25bf6fbacb058d0ac04dbc9761259386925919f3b5f6c7b7f700581e02b68006a9e5c5ba710affe2152174ec4e8c2732001f78092aadbcbb293a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02281b2642f589640191088b413a8f4eb03186a859ce9b340c8888ef3bd55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020e644adccfc7f228b1cd2b56dee7f14939bfe0609ba9837c7b0164bde85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fade99c4cced26f871e7cdf5d46e77b56868c66d44a0dad4c68016189b4307dd4200581e02e0e42feb1c0747e1cff3a6fdf4b7aa16e1887323e35b748a1faea43ce14406bc3e4000581e027f718e6e4053d72111ec35129874f3007aea52153c97314f5633f045c0447735940000581e02a954db82a2b7fea2fca56d7437c4872f80ecc219114636c7e0809b513c44011a4a6800581e025a5810d672346b345be803e8b7d6cc2dbec566bd933772a028515e0e3b4401d35909021918f7032494ac241f9be10b1a836bbe798ae87b217dfe0bf1f66bbd841eabe176552b7003d0779e8bc5d5fc8259c7724f1e22f801d36fd7b5ec75a166e34cad0967423eaf03874b214301c07883583e7e638253cdb724e3a7471078a24b2f27fac11f6226b603d8ad6db1e3e826051d24dcb0dde7cfbfb6b1f485be837ec537282971b781d9ab034905f394077472b4fbc7e06c218eef96e01088708462f47af810f0c053a48d9403e4eef29c8b237efc9ca67c7aa68cb8be334bc7fc98a385b44566bd97f3cd47760335b924afc4eff0f652ffc7a81f96faef905afca98b2b6f4cd95e5a8147a43ccd0330b7a3cec3efbde010eb2448430c8745e4df29347e8b353e3681830f0922234803fde10c906001c24533ee0f283a7a8ceaa866375aa19534c16d983f1bd61629f803596c486e43a482adf098a7b6191fa74138345948221d82f60a2ea65c7f55671c0388c2bd1328cc4264e9146108731a50f5546cb1ef28a11522af101ac5b3f003d603c1225f7b0cf592fd19305244d0d789faa6cd7fa0435cf2cd1e8809603b431af403980268acbb2ed6e64b6a750ed75ce3dfe44bccac92c84943edeac7d61f789741037110d3aaf94b2b13da478482f2deedf68ceec2cbf24ce859fe00ebbb7337b37203730088f1a6898a008c955e383d7b017f1464a3e3222033920487e3412ab38baf0219ffff039349a6275673dc697651eda045248f9b51b0b4bfea36625c70cdf157e3d070cb03962f88fa44795fb01d3bf4847e18ea66983abd5c90dd714da32919d474b2ec5203462a90db6d4582a11ad63b9d8927a5d69f0ca2d5f0a0ed37dc4723dc89d71b41035df8c905ea61b6fa1d55911bc1cff9d34ec197a36eaeed6e6e5398f470d4e0a903beaae6ee3ee9a37d14f19690119b05a93956fc29f4d0fef00e7bd2fa6d3ce4c80219ffff037204ce1d9d23976ee33909a8f5dc12497630197a3b4824aab550f7abddc4f50d03c3f58bcfb88b5539b5ee6051c2dc107054013f755b2f8d4ef63cea37f698f82503a28b0f4895e22e81949a0644e30d06675623313bbd85cf10986c7618c5ce635b03cec452b72572ab92edef8fe7bb8fbfbcaca25f20dab8f849ca4bf892abb8c98d03a706fd8567c3c7fbcafee0fdf9bf893e9f6d08ab6c019c362940a127376c979503a0e8b6d36978c0eb837dc0720bbe90fc79da74fea7f1b04af559e4761c8e62ff03a37755f713210fe1c11942593fcdc2303807008cf784b34afe06d906f3f2857f03f405ebe056378c4231c9c6f7231f97c679ee6fbb1a43e5dd48c0183653b287120389accd896cd5997b85627af8d00e317da6bf0748b61b4dbecf2a1c05c9208bf4030a5ae0bc685213099e8945d4351cb6497541b733e7788717a685fbaa50fcc31403e82776cf18f853c3477ae17c3f7e47b2906f9c04b99401eb90d66f9819be1044037256fbd2f78280085019df5825eb8224eb50a6d7f64bc404fadf6e0dd826e6a403d172e805bd0ffecd5f042b5c1d0ca74c76900c26368b706d87ad5f5f1830c4910364d84517c96b97af2b45751bc0be89fad8219c83786c16d5320fc8000312239f038542eacc3cc22135f4cff6ce11383d1daf3588587fb5210525fd34e20c3303c303f3b69a1894331dd62f759ccfe392cf7b6c627b15ff247769e3320a4dd805247603714c43f8e52dcb3646e3ab8c5b9f4da3fc196fc74e8810b1e421c9711c57c78b038c6efdce1529a6163c6cd9efaa66dc7f9e01b5eecc659998f514d72f8153adba0340bcb3706b1c54ef0fad021e6c4772c623a2473c57c5119bfa973b3afcd69c1a0338e55f0f2b3f2f434f811ba7766c8f71c3c0c0b07a5510a466aebc746e2e7d2d03d2c18dbcf7d39aa664807d5292fd9c0bf1ca00063212908c6d26f452f90b2b080396088885e766951c0360ed0ec49a58b57be1d7e0070b7f5aaeb62f70f7e5a85d00581e02eb32f6bb8618ccb77567580c06c10693f1267f7dbbcfa20f2b7d6f29b64402625a0003a8d181a0800ed2f24a7c53f4dcf5d907ddd08e207654b2d0edf8f1b93cd61e3300581e02cefc03eca126779e90bfd28d694c9ae81a4eb6635d53a9ca145f6fca66440112a88003a55fe135f49c003319dfbe6b1e26c43d25a6d18e377d7a84e6cb739a1940898603866beea82ab4ee1bc2098bd052f79318043213ab9da5d92ea0374f5c42b75abe039c8190d5e3e62312100bc10e84fc1d86d82b4d730220dd55ae833edf34c6e90200581e0292187a890b66a526c54f99d3ccb92757f17babceace411be38d83b4888413f00581e02bbcf0734e686f673cbe8214659b9431f098ce5496562a4bc0ac799f9ff44398de30303c95c78110187522eb6b4528be1362ffa3345e85fedd22342da35aa4e7babfe7103bcec4fe666c5c07f31cbd4a732c8d3c8c6f92aebd2309d7f717474a381a7216c00581e0218d1b32f06554612806565565101ddcc93f5210af8e9cc717ef9b584a74405f5e10000581e021494a767ff22afd4dbc70e94340675d0b2646fa2bc78122f4b6f8299f14402ee546002198fbf0219ffff03f5f22136a9e87b10414f953739c78cb5e1ab96a05ed1060f1f4bbfa03f81b4600364e24a54ac2f4296fae682c706050e32de2759804c839a79d4863a24c8ac447b03b8cd599fdf8153368f8ccb41a525f7fbe4dd3ca298a798463f18990f3bb8a74a0366fc9e4be628cac70a932b6507ebe4deceb6ecf016acf13f971aebbbb7a6954d0339ec90bec80a72d12c81cc07ca5bd6992782bad4423bcd21bb645f79c7fa5fd6035729c4a5fccc444078103551ffe0783aab29f51a459b6f37c2441496f64f30fe032c98c4938406dc1626cbe997d6c07797f748b02b314fb135a8b4b4202fb2a87a037d6e57f9ff994595a9ba259fd7390c05696837a39170c4fed08fe9ec268b4dd90399d900630525ede8614c95abf3f23ddfe5ceb1013f5e8f714cc5452d259dd2720219ffff03291257ee96c4af761acd5d2e4274a77b0b8b75c78ff404b376333a59369da8fa03b935408b778dbb82123554466e6e0a0e7a94e52db8071dcf214dca07ad196920031bb84925719f340362d70e2171ccb84869a67429cea2bffd52898f0aff7de16703f637080c36ab2c91195f23a78e635e1e86096ca88ddca14cedb593608bff917d0219ffff03bb37726cc8f5863a48d636c83759517d9d9f600099e86b0c624c6e686bfcbcd803f5fb29c8dfe484ecf93831c584e9fa4df064913649882dcad3b8c4f7d54e252003a4a9923c6a27f13c8efeee67849b69917bcf1fc1630837842fd4b8471f326f0903058ed3d3084e3128b1df93b03cd7cece94a38b8c3a00f19ad97424f60be9c1aa03913c97c6d6815129371e47e3f65a0318ed20e6e9bc7ac67da76783d3aacc65c903193e070ed5f814e72e9d0ad3eb005a6507eca180ba760964d2fdb5130bee205803586cb5ef338869fa32373379cf33bbd849abfeb5d44f48566cafea072718657c030e6767b76b57bd66183c8f58813ac9f9e9ffc91aa84d244464a204a58b89b09f03c028ac9588f83562b3daa7a3743aa6cdd65e0f91358b9aca73e5ec36e1d4599903b5dd25ac7eb25f1e03aa073ab9d6a689eab57a2394df2e0d5085cd954b28407103f139b97660e12bb401e7de26e612244f12054471c5b5a689245ae5fb14db4a3e037b92da5e7d962abf934e6e8da1b09781f4e0801c55644cd518fb01904d92aa0e037229b91444e574052fa17c51df4ab10527a97f70aef78401566e6c951db4525003257051664ed895d1915eb7deb57e8b156c77e353b1fd462f6e29d9869e58a14a0323b3a85816d0f3bb633881e8f47dbdec081ec6e3db01968d10ac63be1d9ccb3100581e02001b6ae74c5759fc241059752d2a04c747cf672f0b7feba4768880a71f440c0e10d600581e02a457d53ca8bbacca38cdd0347c870403cd665f432f23c80e13a0ff864743cc43dd032c18d0aef91eeda4ff2f26b7abe42dec99baa4e663c5bba46644c7672bcd8d9b00581e02f5a215c898e7585389643e29801762001509fc71a1c103e0f197e3a36a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03433d7d791fb0e3aa16454dedd64272257a36abc74922255a4c2264e2dee5b8a90219e20603d56730cb8c70ef96baa43ef460528bd87d68509a05c32ecead70d879ca72fbac03a8162a9eb67a19af24c9d9f0642b8b5c9d9aee628d5dc2fcc9a805b71ac5be630320849205e78caeb200e540ad0f2eb3c81d1e3837605219047a2c1d2a9eba926a035ba89f1ea49cc49b83a8553c45da0d913c7274d4e87f89e373325e108df8432c037900f92c87ea74e58279f53eb51983e9efb7f6a5ab1b9f31766bdaa58a4467970389a6db4d3161391004d13cee4cda7982adfb09b1484bb6ec45c6acdd8df2c263036bf9e6b76e04234752343b298ff4655c8c3b20ad10565d6af3435c137b333902037c7fa9a90f575da37c82780319c4146e6169369f1478496cca6a5f66f474c4590307b74ede0fdbf37afb2ff2b9c98b531c5e952e24527fad0ec34048350fc1c57e03d9b383cb37e6edb25c56c2bed34076884f62cba293e759df7e4d72df81e2b7c103b8cc8c5cf567e76b3bb3b2089532c8283e86392e8b8d4660bcb81c26227822c30376a69885aebd5a9bc5db6320a773cc05d12dfe5d31b8ff46c63bbd034347a77803d9a3261765de06ba78a397597465bee5aa0e490ce87f02369682dabce86d50510389d7ee39f59b6e111ed372e0bb9589ecbf61cc238218d07c46261898acaf6988039c95e6ba1bdfe832cb4bc7ae5a851ebdd5b30c45d65b7d8baa684d018d4c23ec0219ffff0342ae7a2f5e988f8f8f592b34d2413700cf2112c4820db37e873d2e17659ed8ea034c35df3fcbbd015decb3a6bf2f6ce8ba9166197045c29704c824bf7c3e7d936803594390feb6462c8deb9d5f0359ff7c663c099ced56d0132125654883f6c8b57c03733f1ffbedd7be6be3cd323454e308b1a8021932d5fa4b5b36493db1563a92d203d9d37d3c1c7bdcf80ad05c29987c849aaf60d03cb20bad61b59fa82b105fb2930357294beeefa1be9b6a2a434f793a4380b5cc3c6719386bc90cdc37b3c461010e039780097d30924ce3c98809fdf70071d94592aff28844c056a72724898cc36c6703a3de91ccc7c7d46707d764ec399ae796775f2c4ee95e2578c78cb9581e854b010376c030d66adbce5f0b46cb917f102a37f5a1c9367b66b04189c4a5c420a1135b0381cdb8ab373b7bf67c4467e030b00dae837f4105e19194de885736f5fac86b53038ba62eb89620d21938192a7b6b4061b515410a509e6ba9f9659f7e1a612e45e10386557a16df8e42fddb3f7f18e2c61c5917950235241552412dfc18c5778b80aa0219ffff034f97454bbf7ce80e3802b50b59fdcfcf230055beb5c6e727c5bee4c346b97e090311123751567a6a78e5dc51a45e0b0a9a6a903b570445bdb9d10c30a234f770b403102199eaa6a2749df6fdf7de86cbc04b68761e80cfb0dfbe2f8f28ec2b3a9fbc03b92cbe9f770555195ff7d0c0d0f8e9d9c0b3976e802a0fbc65fb702fa0d1b5560305c33a7c781523b44147440944145e8f13b538db4217b0e8194882828e593bc703d9bca389c635446369d1a0b3583445abafe17588f824655368852792b8490f5e0335be209158ad01581b2f1f3ceb502cfeb4df3831c0dee13edd7c58286e722b96032b8a57489812f8b0a4509c2c1fb1b42d1e76d26604ca9e8c42fc6755f3d5b56303c2160b97d0b881b1bf98a4108df83a498772080e4e05dcd15979d1561a0fb81b03658fa6403ff9b9adfe7aa12f50a376c9534059dcce3c60bba4f4c284b6a353e703b90d0d656a1f4541bb2c41c1a38411900a1a63c842ae68c23c80e0cb51d73f0403e605b404f32c43153a01278e674d2e44b55ba7fe0eed6cb4ebce3196d7832648039adc166f3cd5ec345b7938fd7cdfba038b4288b72a1fb06352bb0d916258791800581e02773ca8e55046a71e5dcbdb6acf1540802ed0d6ffb9e359cbf7551d3d8a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036b00d271cc861d641833caed3c7a22fc0711a964f9f76f8dfa3c2fc4c457c18500581e03ac975fd1bccceb98f15e09e0f77a5c57e2a437da330a0e09a5afdc1fc0495562504d33950acd6100581e033dc9154a92867e13793761760a4c316ab0a714097dee1361bffc88ceb047016e42d6e2afdc0219240003239ab91287627c6356d680d6f30e66789d3a439b15df4d117fc2ef37a73d9eea039cf0e484df89ebb43d19ba861db179789c9aa8620b20505b16d35a765871ab1500581e02db0fd950d827395408e355a27b71835299c29a26bd01088b40e667e2374b4a817c7ffffff9c335a9570219dd4c03b00293756936249ea9ab231f33e771a2c6b74368b1c50ed28cd952dd261688bb0375d6d52bba1c7b235fafa7300c6399520264c3428dd5287c45a562086514c1df03b046d0473f00599a4cd7df1b6bc32f95084682aae6256abb46c56f3165024ee403139727912c7ba6f61868d0ee81593917124190a3339f6fb29a66741bc785169603b6e09581de5c7fc43f5ea1426b9936cf465cd9f8eb0002727d0f8b4a31b4c9aa03ce868e89e944f24aaf2e25d266e1e0201b233a93bf23ae9b0eb889acc0effa2803ff8b0215942ea400b1ad107a7dd6f41c7cece01c072a18b0fcfa136008a981040346b40998c4b2a2d2ce344db1f966fa423395ff18b5e558c6a130912c51205997036cb4d5c4af6076f677c0a9b58dfdf39c34d8c935d4d2678f1b2c8d646af3f3d103c745e136037020f3114a029d18d4f3ec8408d17d4d817dd1a7ab8621d46207940366b865935b08002d830afb4d472090822a6869b896588815ed6435da95f4317303e4fe126689fcdd0d8987fb144fb12297502b22ccbb2ca000ffa2f1b2dcfe0bec0375933498a6edaf3521bcd3ef57f3bf9f4724eea2239a0bf3a3733e93fcc7fc0503e6086c14e6623bd4b1e95e89d8943995e24343b4fa65cb6c108e2921f53a879f0219ffff03b5ab37f23aad2f2e2e968bdfb5c3ab6d976a2e5dd0da7298709f52bfd2a4c53f032d28b4577e0c7e5d7839ed3470ccda96ee875d45280eca6f860924db114180c20319b3318d248a17e42ecee689e919f61a9adfd58aa20d4c9705f0fa111fd4d00603770e372e926d73d66148389dc3019fa550b25bbb3b1ad30f4b49af95f02148390336cd1dcab6f3340a28a12f34d0ce649c45ff3e836cc2d25427a1a3f9b9c15ffe030dae2f4f465ee337457a79fc029155cbdddc0de34b625ae61d830de7fc8682fc03c783a4591e25381ef53d9fa74c3dae5b360e05a6b43aeed6f0aa17ad8a52a6ea0389b91591d60b22760b22c4a1c28151387127faad44f4692a8ced8c820d63be6d03ea2e08a44bce1350cae8e95ccb95e4754a842c6c388f7e655d645172e94e27cc0219ffff0354d88ac883f4165b43714eac741f000860517c53c31054e467e379458715c5a603d86c596f316fdd38685ff0053da4a3cd6e6410b5dfd98afdbf004f4282c8cd070219ffff03986c699d97d43264e2ce97b4c0ccfc72eba6eb95a46bc3590392657a7e9b83b403fc10874bbb16bb2589c5b793f835dfb4b3c0066f39385b9b7690b6990614492f039c01ef4357b6618618504518191adf5485614cfb68c1fac27517e481d50c0f820301c39aa0583e66c9de676fd5c3dea4c51e640c8f6fa7ae5592f308f21ccf03890355a38ce89478c8d7af47efaf1417a2e15905fd5b1faedb4d87801c7b5d39ef180353e0cd500814026fc6fd4fce63c9387fe2c1d4ed928ffb544ee244f4d415384903dbcb2b32bb07bc0dba1b65132a8ab104fe4040880ec7854d995a914c744217df03f7b2063c426ae8f13f8ee69ac23726ea66e727ad5e8274dc301b0ec7599664f30358fee9a30b00c9989b486ec1d674e5daf2ac0fffb3d89e951df579d647e25a8c03946b253d2434590f7ad396e1322b516a51a59afa86af26c925468d1ce1bf8a84036e8f09edcb4402bd2d4cfb2ef393ee8da26ea1d4e2a0fe3abc392c3b63a1131a0353bcff682ae93f2e1e4db09ea4c2477bec0016c9adaa82225b5b4bd49c3d676b03ba0734efd81b7a62b8085d3b63115ec7e4b398a4e21a9e8fdbc6bdfa5b96d19303894d714338ede0c4913aac76f4247f8428011899689cb393d98a4229814ed963031e58e403ae24f8110902fe02ca689fdfb38282dec31e0fe56d69fb585923451c0307074fc9f5f2405576cb970af6483276d1ac6edaadf4c034b5a6acd4b5f9a78c0338ea80d3cd8ac74aa0362168d00dcb630866b4661bf18627c7734da6f8ab79b20371e193055417de7b88151fddcd13fcd9e14ddd8836ad69aa1d5c083195e0eabc034644d0b06c9537c66793fcd69c63a6b34429db7efa7f441bc4154df6e3ae8bc10300fd5214974d3c2a6b8819bc135a20944cf2845d4b7f1c530d7ccc6449d02c250354f4694efdd6e670e7aaa96db0fe460096ea68ca4c14ef33af6fa3afdcb8d7c50367f799f38eb2db99b8f4f4203026733cb8d3bba1a933a82a80b8a059b5d5aefc036e9cc6d9bd0703d9666f8cdc3f579d59871e53d46e16eb8f7b74581b52bb9c70032324c0b32f3e3ebfc487d18fa15cac30c2924cd8d8ce33b25fcd4b9620626ef6038f47cff388cd25a16d3856fe53cbce07d30f6958573f7fafa3eb54b0869cd0ac03e7aa573000e9c9450bd1cd55c5c034c0179a10779753cbb02ef09e3d8863b276036276f916862950274fbc105a64be954cb56ef9aef5c3f0a38de0ff15f254ae260326a2695231aaf1f2d484f1fcc11d0ebebb9d1f0d9c5f86f7c761aaefb17c921b03a8d0143de3cbae92668b3a9e1054d152f1ce817a79ca131ce811e1382f15d0dd034597ec99b0ca9d6b6ac7bb72fd0f74e78ca6d6c3ed8151bd277b18311f54b00803ab169b482f05e503d121461a64413542803cfcfcdbd8bef5a5f4ac70c2ad4988031790a1c4f44b8cd34d736d7f04a3cd3b418ee4621b83211e40584607a00f4c67034353885dec1ad228ec049d24a00ec1d83aea9443698136d200b3faeab4b4111f0368337fe4fa850e923175dda5b127abdf70c30c510ef92e44f2541c17b6c0a4b103eab2ab745ddb58eb70044cc0c6a28f29685f0b384613d68663496a43dcb4517f039459ad013f5d1d296f20da3f3c5756f83e336d106d634a176da86b1317225ef500581e02de5b4a1941e41b271220684ead2bbb6dab6a97c62e4ae3491a338893034402ded99200581e027ab5f2f56d979af99472bd1222da9b173b16dc20d291eed61a3088e436410100581e02208ccf5d2dfc166b87fa92dcc848e9d9fd3975128f25f3e6c7abbf9b7344024078ff00581e02ee58671f873cc587ef83036cc8e0ecf72d92b6b76bc0cc3622a27dcaaa465af3107a18f00219b80003c60d082c0839de42c15995d2f279d3e609aa17b8c3ad83bed177ea274a62051e03c9d153a1ca55ac64d1874b667585bf4a2f0aaec9a88804269755a6b9199abcfa037442a6aa88b09e3e283e9542497329323e64b814778c54e3fc57d76038b9e334037e3e9cd5fcd66872633ccdce1df4713646e3357d1da45f92450f3707ba953e39039dceaf5a0647d855a72753b84034fbbbe22e8870100f259c7475e50918f9f7900340222cf9bbaa74f650e10c8fc2c013b5a9e0d16c85abd5c31c9259e8a7e5091003f10c62e17cdf443bf764b35d76d2a88676bec601246ae78fa25eb5d0fac054ee0330b44c4f525f3ff1b4829c1e58e5df97e5c4e8900ae0a1afc2178067f5c6b68a03d14e859875fd85d37e2fac2ffed61a85f047cc10198d79f0a6a48d578a4dbd3c0219ffff03635ffa6950bbde7af17e9ff07e30ad53c3d5b117f806f0441d7d5958256ac00003d384e87ba1376ba8162270c47c930eb81f57fbad7ab8354222b3b40e0bbd0d1f0385f0e4be0574257fdd30bd039ac94f9078b7f79d1abb57fc2ce6a99ccbe02ca90219ffff0219ffff031f70c7c65279f00b25919ae44ccf53ddd178d0a6f20452ff3db8abc063c8514c038340d6a10cbc3be27e01cf73c16b984512450855faef7a725aa91b99d3e162ce035014bd1b12a160227a881db62d9b0fa6da63582bc9b8f1d7af7ad1cf0493940703dcefd1635d98788a95bfc3e11fd27189fafecef5b68a414bfe0051e991fbe0e303be307abec5dfe78587152486598f08e882973fc9743170f431fd786afa9c2e040369579dd7b1a64f9e8488568b4a420f4c9e6053778bbfbe6c0f9a56794a3610d803ef822aeebb8b9d53e5cef860fc8600c59afa029af30b55afe6e7be279eabc025035fd625cce1be4f56949fda879ebe3c8909b39dd246f77f3b02adbbfec5b9283803c7cd9fd641cd5a7dd85daa49694705da189f60f2b5792e9df24e8f4feeddaed603f4823b194fcb5581b10859ab491887f59c775b70305f79322ba7433c692c764803f178010f5ea7fff5349d5f7fb8ae6820a8be2c2ca9b4b25b94b25fe35fec5a1203a45e0ef4589b715dc0b60ab6ef1d0b96ae42dd2cb6272e4fe732c9835fa9572e03cc88bc1f3b17a67329d986e3880ff425847eefcfc941d31d6bd5df19b5e3d51a0328caf1d4b7192fe2c192724b8438ff0a982180776dfce856c0cf150d73573da803d3f7714f9f13eaf83123b91ed415db6333800654e529f64fb64c0619c201587e0383ad3dc63b4b538025c4803327c25108e82594493e267d8a3917b142e7e92a580323fed05530c1dc523a14b4efc68499896b0b17e9285f1de3c904ecd0430171db03a1e74dfa567989cfd43b7f4a48164c32ba2d9b63f6a35be9cd75632e14a2c2de033252ca6c1bccbf82630ba41d628c7336bc5d8346aa1ef015bfa1a01ad78dc9b30322423118be44c2bbc0d147bdaecb36f7b858186a9de34b9db2313496c7ab2d840381f56d30ae9f286b1106bce5dcbe59c4708433f4540b8010878036cac5bd9b4f03d71cba3a09a5e4a4971e5bd344670d344d8e403cc4eb639384b37d465295ac44039a2babad6a558765de3bb640a363fa12fa0410630980c7148b19a497be81d1750314167626a81a9b1ecc36400844d75efde6e05dc99d88b1c3402cd9e4de7b04a00377ddc3fb7dde76879dd79fce7617dd967071b56ac6db66b01f1a3ef895c8702603b9186fbd005a618db540a7534e28c3dcb1025a7996bdb020bf6b05ba0995e2ee037c2d9bd8b209b58f4835c531646b5bbc9db4cad88c4d593592bd6b242322639e030118016963e259642a0e429c4e06170d486dca2eb5640118b284e0ceec5a691a03af5bf79bd3de5134e6e53d4a1764cb6da45537aae7f4210f91a62400c0b8f51703935bba278f1c58b25aa5c00eefb8f23bd5157a9c6f396a07f5c2b6b49b5b1aca0367851bdf9515e569b39eb7f0668dece7dfe40037a67ef8e71a0c12be20ea994e03794865fbd0fd34a6f6b9a92be424d032cfee6573bf5a6bd5d9c873e1c4a5ff6c03e18c0ab58cddc56b44b40759f32a6dc73bfb5eb6177eace4619d3c9d5b59d20a03546734e0e4df7b2bc282bbb8eb6dbad48478f296553b1521c7e7f9b98502314e030d9ccc5da9aa9411f8d783fb280ef1fb4075c233ea8883be37595f664e5768f4038631c6c77ff404d98990277ee55277d10b92b548d6e061f8f5062973479fd937033dedf8ca17974c232d46a7ab4e22122be2a2dc25215da07d4b7ed5424c2aecba03059a2084cdac3709c3f4621444c13e669c71da5469b00a528ec5ed0291f45b0703826d676267ed47667faf71a15fd128835ea947d0e4b7450be9823719fbad3afb03ba5dbcf47683e169fa750d25dfc7da9705b0ba879f80c94de38b80356279341903c42e0272f7df095e2de904be0a9c3017599917564184ac54fa1c6ea1f36fffb10359171aa42b42fe5206742fd9cd69669fdac5a6436eb8e0bea6a80a2f317f0ce80344b8315fc45a1a5bbd38aebb24e1a8be91958ec06c44ded34fd1efaa532363da00581e028f89b9883706dd0a433421ebdfdcfdf1c320b3c39385c355316b0811d85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c5079a029f58de8a2e30d8d7f5d6248e5493da416948a5a07e1375ef62069c580367e0bc246f5a259589b5e914cc7fea40c79f73f4d00f8f801a9e6580ee22aa610356065cbbc04fff7a43b8b9e60cb08c456ef2ecf0fdf1abba2c816dc8b3f8410400581e0239269428031d47978bb9da74683e7532088b0ff9944c7b518ac29a0b245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03065574d1c72deeb9a3fd4111fd26eef14282deb2b4c65321844adcac305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03822dc25e8372d1e7e479ffcc2298657564144ec97ce5f534ecc91e8b70465af3107a4000020a0219d8d10371df97795237bd9241026d29bd4941a9e9584356035eaff83543946ad5fc433c030fc1834ec30dd77005b7ee785610362314255b6e5f045a0152e5e5a315dbdc4a0219ffff0219ffff031519e0641371b3872de6f1ba7c192b59c45daf95eb42e68ddccf0f2fed8dcb3d03e784fff6afa850e52149f77695db517db8ce108be2900ab3e6e78dd11de7f5ab0219ffff03e0fe99874a9955376f08a8072b499b7308c9d52c83db6e7b6570bded139c449b0313687afc5f54560ee2e7b4427f22ff6e2a11e69a24a7c2f74835e82f0268eee103e079a9c236e013216f7d04afa1cac0f7df4d8f1a727d355c63e3f8f819c09261037adecfb5a631b0ea163c40579ee9c53f2512ccf4b4753de71485fdfec226a9cf03815aa99cf1f4b2cbb000043209ffcb63019d42539f30578ef30ea643be7659f80303ffbed7c152980f1b89e797c3f64d91a652061cc2e35b0ca1ec0ab616f9553e0383491f3b231458b101e060a63f06c985532ae6e2f97901af7e89d82137f227ac03958763257631168d8692e7a09c5500e631bb11c5035800dad3429ea314dec86d031aff5ad2a66e69cb869fad85041d1a3c99a254d953e7200fe99343331860ec3003c668e09a514c7e139bc832fe97eb158059798cdad3cde306c343348ba4c2f08b03a81f3f80abae07811db5970c1513666076670147c332c69dd622a94ce4e7a2ff03ee10c5635a46730ae88cf8d8c2d5076272b349266eb06aaca7af2a004192ea0903bfbc7179c795ad51bd6932f95bf89a218f46095e4f776619d3075537fc2e1d5b03d70869c02a9df2638542ae2ddae29f33d7ce794a7411627a35c6c673f3cb9650038bf64db9425b60236d7d6d4c172964a9ec32057f6b43cb1e88c32122f3a90ed800581e02588048ad7c200be169ae10ccb0daa00d27f5b157ca3bf01bd3bd1a8dd9421ca500581e02be1b9214232d939352923f98050c7a27fb1bdbe41b562f78e2359a056644047868c0033e1a764b54d316c1c67f55b41d6ea2503927bc94f5c72cd2e9955ee9c6114b75030f8fa647ee35f6a248509c935e4adf035a780e5fcf0ca7bfa74c071e4b1b0b9900581e02db7731fa9282e1c5cd8c8a8c05bc30e8f6cf4feb52e700e14015e988e544053465c000581e02859634239ac4582fe00965c1617f42cb65c4fda0fa0351ba7f8aa5f6c74c033b2e3c9fd0803ce6363c8000581e02aa4e74eff6b6fc367a7a06e294c23a395ab0a25e74f2e83a32c864a0da44039387000392de870be4c0c48dcf321d59f4f3d687cc9bfe146a1e9b7ecc1ce170d2a972e600581e022f2fe7cf3749270081c0538a006d3ebc1ead6e8be1d1b0078489318b8758190fee50b7025c36a0802f236d04753d5b48e8000000000000000219d7a203b94f3981c2b38a0c29d849686cbee231fe6f4b8dcc65922c3208e11d91462730032b3431e4032ca1c8f4ae7a25e0fc541d0f223d6999c63942f09d34e5ef81707c033213300f18733186b5b2733ce880326c767960481b9ae45a3601a97c30ede9330356b15be62c263c9f312a6f171e5a2b40acf5334cf8d2def1825f82132d8d3ae50331a324fcf776325ad69220196bab9c03d06a9041cbf7e13419692a930c619c730219ffff03d4c66a5b129d0df7491a7ba0c67058cef44578f54ee1dbd41abbc09880a513a10374297ed840dec1eba58a7e17640c24cff33f6dd937f33de96f7b2dbade82657503c9bf3854575bf0a0148d0a1d1ff5cf9b7032d236b3e87864af43fe9eec2e619b0373a152865951b2625b9fab338eed0a0f9b0fea6e0d9e66e70056929de592bbff03b986e486e757f5fb1bbad7c156dd1f170d5d546d531521fe99becf787339d7a403057347fac2574cc0a34d2d3fd6cb5da6d62b5bfc66a31ef58f9892d71279f12003b8d51c599f3e91d25a4002b1726e47e95aea67aa8f80b4835ea9006e05f29bae034b6779984967abc9f5ad0a0360a8a29e49ea1cd55e54b91d86499d6822c638ee03a0c2d19b708e1ed381127cb5a5ac75a17de7bdaf203f175796cd9fd4545fdbbd0320dee943619b9c6b29c4f51d0864c9944a2e06f44675444d2beb735593adb4fe03e3036d4fe9a6112876688c9be7b285c18ead2b9a5880844cacedbc25d9164ac603c3fed1f0dd5aa5268d1a3845d60e6406c58cc8463b370fcf10382e9d33f9b87503cddf8ca84d2ef67a74acb391f2623140ce55709fffa1c51712d6be0def510b2703a3525517b6ec34406aebdb1665b11da47a70d1456151a3faf923518881371d210219ffff03086219d0bafb8245c1df2a57c40ca28fb4219c1439297e44fe48eb5651acd56d035abc6ebac42fc3427532bdd3f53f9d6c812b8c364703603d38aa7e05206175da03838d3eff3fcea2a5470439a6a576f8cffcd3b7f8c3b51b086aebde137cd584ef038171ce0dcf1710a75305b1e0bff0741b56ad9e2fbdfb5d4982633efee2cc9021038754e145f481719c96151afc63fce91826a9fd2025723db529b5c5494bd5467503af7506b9e2f05f4ed9afd6b97c1d22b0fd14216292594a6d7d770bcdf2233790033d353cb5feaac1423ac8f8526175f6ca1901bd63d37dee10f73e7d33af7de01903d6077049aaf5d6832d36b2fc0d8b5f723cb18d1c6ed64c6dbbd49e7e8b341614033495144356fe8a01c9b57c13e13861e9e8590d58e1ee45c52fb94920e4e6939b03dea80e4af78381e263c60dbf22bb765642460617791a12c2eaa36efd826dd116033fd65cd6739aa971630051a7dfc390c34b67f40fa7f6df4ee3a6b84fce9e26f60219ffff03a4352863a4b07dba7dd235533b780796efe7f4cb0142a6e85ca7d6940bf7835603963fd0be143e8989e9f4a373a008c420dd96c9071a5e5ff8b6ea39b2171cae6103b34655d2ddc8762abf6ac857d2bc92df8fa4e774c034b6cdd937a2eca2fdf7a703c2bf285d2b92a1a0eea6bcd2e3fcbe54c725f05c7238e14175b5a589ed47b03003edc907396767bc1c1591ff89e7597ffcc829bdbfaed3f82b6ce8ccd7927d737e0219ffff0311b0056906cd288e21c3293c8adbd03a767f5d6f04a1b4fad3de3a0ece9a973a03520919f7d86a0e2d1fb7a0832af118cdaeb48064d011d5a2bca750a311e915b7030bf04ec35b893beaf8ce9e7ba24118cb75296f043d46d1987f6483a58a9b4e900366eb1740dfa280288895b6ba3556f70716bde67f4fdabde589b696d1b483725203b2c6b017c7bae9cba4246439083795a7d2b491e8a198124a74c6dcfd08c75b130371f3787214ba275d9ef51e3d45033bc706f058eafd668eee0630736ac48b5e7e03fa46f7695d0cb32d7f870651d87f186918d6bef0fb56b7730958c7ce44ecb1cb030ee5c0df401123727fd5bbac91a1290d6ae16d21c865404f86322c64eaa74f56039318a718f2948e871e1f489c2544cb510271807e82ae7ab6b84d1f48796d500703503aa0efcf7228ee9a5aa33aaded3d60e535fbd4f29ac8a2c8b30eb35e71bea40343a917f489756268f4f8ee4490d884d84714c37f7d9988d120383319abb15bd403b2a5c8e6619d497bac13f1e8ce47863a4fa1a49d5e994a07a993f03041c341b6034a2c69b9437e9784c49f0c32f64c4cd470fe61fbfb037dd65a2842e018f0a4aa036b48172dd688586983f8bb64cd8222e2840b8020477875338743a9a83fd0fb2403d6ad5d93b68c8528afd5e8ab63b53c199a59efdd2769e13e6ec5d85365513d74033cd14e81fbc10cfd1e1b5cc3482b7ea72b5b0fcf2caa9911a25d4e3daa4485cb0353ae0268dbda0f6d7b415a6efcda30e5e42e0911d019208d3d8ba9eaf878a4770334531710d46e7b6c47186e66489416cae4d943d096b7e5715bb0dd04886e84ae03ed1d041120d7128f4cd3df11bc4f223a466f20ad656187cd764f4568588f0a0403bb5e50b12e0518fb0946d76ff688b1b1b2936d8ae504ce18f037e0fa8f3bea6003bf36747b6ab999da70560518282931f976b40f0eb290cefb01dc520bf2b1ea6e032174770824fd7c76f1651eb63202458687bb85bfecdb7260667974d09721001603948a1a8130ecabce140dcf42acdee311af255713a7aec07e1e3f61a2540381340338458769ac1225078d9e9d07018f20358f58c0b817e2bc6d2ca17a800f6d47f8036cdbad36fe26c55d06089d5edf98b118a3764d64330c154310c42352109421c9033db9aed2b7cdaae7541ffda1e387333c822877624ebfb70b005292814397dae403d4b607f1b4a9de29cb976114e1dafefa3f455af19dd8041e7ba01e40ca6eb4ab03a8d929d4a4ca70914d86752b9bbc1d3c26fc654b7613a71ae1d0b2503d84e95f037d0438e60ad4a64f5401c6bc96bccd320068483f79a5acf7d1f0959f55a4430802196241034e530966bf65c9752ec69b775a471abbf70b31bc40e1b510b64346c26dd04f7203eae537ee9052e41c64040ad6a63769839c7e5748827db135ccc17ba80f6bcebb03a82fea75ded443178af05f1ef837c2000df892a5d804125fb7b4697821ed747c03e76e144a22b17e8147f96ef3dd49a83d87ad7509061a0e37f44cc73be2eea8b6034819f1c6d63bd35f8b5944780e68f175861e3f24c21a5ceb5679037cf474dd280347d9e931f20fa7627853838adf8d12bd0a94d9a7d261db499a6a6a4c2bae0136034c81270b5f9d1878f59ed71aeb16fdada97b5c5ea1d46ce68516cd0a696298ae036f7fedbfdf19f59d281c35f462844b657299793efb8d501185598ce69f1f39d603dad14f6089e762c9526fdffe6c889a944df13449c9bf927707251a8157adce9e0310ff7fb095d73042cdd843860cc6add2e65311fc4191c2fe47dabe60d0a137660377549cf91c7352299051f798317bfa3b1448f9db31a0d00ee1b40b4c429215600359b1a530ea2984dc5a08bbefed49a4ff03201bcc78a2e80ffd99c94d1e68c13d0219ffff03adc41a0563601c0ee5abd48a18b84b59ad5b0275b8dbf76330c0a52f7e974c3a03777a5b5ef477e24f8c4fa92a528b728d2d7210a20053891234f5ea09c96e93440319df88e2ad63c21ff91793eb8aef9e320d32b3c5f00a620b03d077ae3b1c977d03e202b1b059ac406494cab35b5d695f9c5ca20d2a7714cac7c5461d16cec10ca703eb318e15bc947ca53e77f18720b69d69351d930896fe123704d5a548ab7edb7d034d597c22f34457b22c5d78ace897880fd88b22c21821394a24a13afb9c1d2a6003f4f27d14c1a8986bf3e53e6d8cdc50c6d090ace63b05920b290aa97e9ebfadcd034e105983bfe7dcc133ffc5a86d5ebf4c70d57400240434d9d7cde103256cb19f036f202c7e21de0e58266eee58ac885f33ce07e3e0d14cc2d2b127cd13e05c841303ee2787128b3065ea2cb9f06bf3537b06c3dc9529a68168e3bbc513a834fa81330346cd362091c6f9680243f472ebd6ce84eec1cab22092c254a68a191101e212ee0365155ac522219f2913c1afb07077139195772b828bf9120001c37e0dd4988d860219ffff03da5e0b96bdb97f68e6a117e16d23e4ba6078f6ed3f37efdb164cbc292d36e9f203118044767986814e9578ec9d4aaa13d2da8e81fa16d1b79f994cbaf1236af7b10219ffff03dbb7913d59d6a6a0aabf04604350ec682500ecf77a214227b48bef06321b7ef3032fe28cb665a8cc540dd949f1593484be8099d6201f9be37241e9b0f5533a649d03a37fc0bca45089d51153755f6587264fae8538bf48a647a04bb5d39d206e2ee5032937fa570ddbf7e7c79e846e560bdc0301336a68c77b77cf4ca76cce23b2381403d1c6efdd163f925c4afedc600984647b0577779d583a1e47c62b5d1d993eb320033cd9e7199dba5aea91583bf071cbce812b276491197465c4870cbbf5c304b23503f2c37cd32c4a1d84917901626183a537f053032eb2d2303214e6358e1fbdb06b0388e8ee276c3a29c09e0d01e079f0b1f79ede9bf9ff86c9b2e91e9fb7437eeb7e0365b25d08329460f9cde1c120f24ab44be5b2ce3e72e68f23c672cd61b7b7bc8403517ea837d500354e7797abf61ac3d91f3ccf13ae508440e7c2585eb112061305035d8d2329b835c962a1b51cc8a38c5f6c748db9e23620acbe6f5521b0500858c303539969171ce7dc5e8765d203862925a1d2630a8eedd40f555064cefc1239863103bb6639b91e96d110f4bd11963db6f6d74ffe000ac0c1a9e432348ec73ce5c0c200581e025aceed3bfb92cd1ba123f52213ddc8d17d81f726720f05b5ec49542e66465af3107a131400581e02ff8b063f593d8dc0bfaeda02fa36335c2c77bc273ad169a94c12040bc35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a54325855f226c9a0ee7e96957fb22161c715255103751ebea9473012b63cc0c00581e0287f33a4dc75026e9f00024a7f2851ddc91268357d86e50249aa6ac2e9b440130e2ef00581e02617eeae83c211046598976578e70781f325c3eed45ffba6f9c278e11415820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f97a77d24f0faa9653845c079424fb061b1896eb701d954e605bb5c5ad1d5f8700581e02ac55587f0ac598776fd55003fc5c06c22a9719176c5e7078c69591c9875820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e3728079f800bdc79c92a786ba6a20809dece54aa60c8f1d381030dd4b465af3107a058100581e025276011b5b65f5e6636c00a4036b98a5788edaa9d77cd88a3b62b67a99495562504d33a55fabf200581e02555c81cb26997547e84b0ae5eec5fb99967225cbc7a51ee91ad7ac012a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f2e8618df83871ec4407686d180d8291f9b5fbdc95a1a327439c2d22f02f13a600581e02c4ec76f8a0b3ff2910a5c9ce721f6e5bf30b070bcf7c93fa8596bafe6442271000581e0247f166bac0ff052c970a0f2166b43bd29b223db05f8b895794d1e947ef431e84800219f4ff03f08514e1833b51089a3b64c52693678d312428c128e09d691b8186e237f835ef0334e73d03d506f3ec00448daba20d799cf83cfce8bbe03427c02d844d70018e44037424b5680d2a14655b2a9f5aea0217a11b8746340eef29aa173f739d10e641030329d81fae3e623036e5ba815c122b4aa1e8abdb921f1d456e816b5449837fe1c503d4bc1fe99b0a8c0650070f0391459bb4306c00a79bef13b88b9571562708449e03ba8547c6071d6fc4f3572cc2a80a22748e141fa5e6c491c75335e664711c48ae038069860c51ba72bcb021c258f051c76eb723e025ef4b84d7c52255d00ddebb1203729309217bdcba99fc1c9a04fc03b41171becfb7ce00094bda9bd37c49866445039cf9e26ad7c004b5fc24bd8bfee56d6cf80aaa031ccf18d09242d57bdbc07ee403f9d188e28a905f45f5939ba8469acfb9b0dd41ea3249ad4477c7bd22465425be030b22e475dbcc260190929ee47921fbf57214e5e98e47ce57fcbaaa9c28c3b07503cde8ab674959cccb97fc56e5120c2927fb05a4a4e31e3ce5b283fd7e38ac761d0219ffff032048832a4aead245106ca81f1760110b595223e1b602c2369eb5c0b1e2c42e2a0341c03048e949b1e8456d8b87b915a55f846ff00deef7eb5a8f34ba377b347b3903d5ed3bb118ac126b71c552a1ff9a5e8d95a82bc0ddbd7bda7d17b134662046810340d5d0b90099685d929aac5e6518d52778ae369d51a932c122dcc20f14b833fb03c4c8e6d54869f3f5f8603e9ed3b000c522823717aa36d70d2178398aefb323f90369a2bd1338ec50cf66e111bc5e9cc5110a289038665995bb8a4c9082ff12dfb8032dd6c9cc26d40c5280422eee5e5ac6d5d7636521cd1518c580339c59df93c1a303ac278e43aa55fd99f90416cdd9682741f8c28913657df396676945d2de33599f03453f42797c39787242a7b6e97bd98f82b273f17fef7afa0610f51d796c391f4c039ef906bac8c7a7e1c716a805ea05b17667f266a1a86e7307931497657025b4d703a6f60915ff319262de2ab7161c86d7c584aaee750099755e13d6d4b6ee2267de03a9d2b4bb9ba2a57989722709b74cee27b88b2c52977a1db73db28609078c777a03763c5cc334a04e3d28abbb9b19495fb0293dfaf7413774b78812248baa3e86cd036d68675fdfcecd15ff149bd39a837c18027f75e0ff6d9d6f0cfb82ed190ca90c03c5e8116bafa3bb718fde270f32aaec39a3a347cf0c6625907e38fb4dc1ecae2e0219ffff03403e6e973bb6eb6e029bc28aeafb925a20a3d2eebaada5306e27292ff5265548036685bc4e1aa28da095106c66ace00670d674ada7c2220d29c3701cf22906196b03bc6477b421a12efeb8b6cb0597ced8aee0a7d82f2a7a21cb2d93aedc8163dd360307140e36984e86c35074cbe0ed009e95f0a0cdeac9d2e69772d0e0112a52181803d39a9aba7f902c9b4113b2a419525785b5a0bc5d04772052dc68825d31af60ab03d3a3e90b9c7e327cadb727a604225b31bcb0e1007d18baec29bfb0d1b18f00c40370516d6e063cbec31b44cf3fb41a6d8668c63d94028c03d0a1e4edda1e37ed85033f2ecb7296e33b833edd0007f8b23040dca404b8a42c8e7fc030c3bd9a9bfac203b990629312823248a239e3f9322d1a47c1ff7e872f46ee3f04778fd2880600ed03bffba25b2538d24b370c46fc4ab21cb0e89eeb14f4f858ba059bfadd1cc6f44103b3424d2efcaf0d71e33f8fa1680cf9236d98677b61023b27aac39403425d6d2f0219ffff03b8affed9985d6bb66792f1abcef8aaf0b1a07acbde775511af2c80a0bd1d053c03e4175b47ed433576fd2a84d49483f5bcfe6888ef8c871cfa2cb98a1149b5d36d039874fa7330c7e383434fe801a08d7a0716e0f145c9b3f733cbe8c762d2c52d100219ffff0219ffff05581e03802a763f7db875346d03fbf86f137de55814b191c069e721f4747473300f014101192b4305581e03ed41b02751507a69be5c8c241e3750749282f6640e4722cccc632c3b200c0246a9f3a93029c805581e03eaccb25c3b802599534e062dc2e93db54aba393318310c1577e1daa630040205581e03c5e948564ebf9b9a17980d6eaa6524d93aafb4fdd34166baf652cca1800c02450f5de81400031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038f8c3e9b5c4c6544d216c2e7a83776e591264e1c198f65049bfc74840007011bffffffffffffffff02193bfd0360b8953f8ef7514acd9d70452830ef4c54261369b411285f372f1aed66126ada03817c1db621cbc632e093dcc56d347e20373a34e7e26997bc8b51401b2e9eccb0037bff4eedea913e11c281bf9631984344780fcc3dbcda40cab7c25dadbf13c2ab03459c6e8b574d64274fb16551693a6e71ba2489ed094172f5784dc1bbcb53a3a5031af29c4ae492c1ef17d49e759c535e83a0f10e5be08e9218ad50a9a18a058604030ef9fc129b0c672d92ffe23f9ccd800f73526a6131906377f258c54b1a70511703251c695862941c0ccb2313831b0f637e2b60301268ebbfb483afc5c821221e62036270043c63f8ce325f24104684f44adda9fe6a59ef049bb2319795ce818e83bd038bd2b242e992653fa60521d04209d0f948548de03ed9d063f6c847212da606f40219ffff03d8fbaee47fe9bb31eb42e6f8f307cf5e611e529eccc2f7d956ce38567ad13f9003d0cdd6ef7d3c3ce59f42cd4ceda734bb2e46f603ffe22ed8f80322858d2943500219ffff03214470fa1d1c367d423a432996496e4275644b56bd6dd2ac964c13e731a46424036d649ec829554fdc05de450a428996fdc50f5f6e3c0108f7a748976084ac13ec038de6b90e8028014dc4a0fa0f23801f7dd24f9353cd9275bd6ce6140b37e76e8c0302d8d449b92c525f059445077bc55947f8f2c9c55321d933dace0d357fd90b7e03e4430e442e7956640dce7cd3072f4543d1a1807705e3e426ff464d97706eb14a03032e072f15f82d4e83d79e4261a06e4f5485e85d89290cd31f2b96eb0ab081d90364f8333ad2c119914cafea9e56041ad6f7f13b04ad5dc3f05110786a713c422f037795f2ae8371980f4e1d28f6c0b602c3d52814f9fadb41dd55501689d11badf903f7e28a3a2937f0f4039bfa6ab44f9afd9ac28e365043dd0c4fe9046608789cbd03e3229ebf72e8bd7cb70df8f27cda32b937394c15da4e62abc8799139617d7600039c39a08f8528a3fa23485be8accab9e79017c9f9827b69bd9d928b483e4ea94f0219ffff03df128338fd4478b4046fef50f3bb8e7712d59ec7f225525325d4839bda48f5cd03dd8887f8971a6a37a293f6188ff56700bd3aafbb6104753ce250641d867fcff903f75c143a7489b260c5d2f9f834bd2361eb68d4537bb30dda1d231363240b33720365bcb11ff0692f0beb3b9c991cc70d394c3e39c8f814d20797f26bd4aff5d3710386ad99953e43bcad77b67b39b4a4b6e04a295f6acc451a9f88d43673bf97690503dcd045f7382a07f6425298f9274762d880ce214557395be10d1497ef01d8efdf032d8aa8a908caf5f22fd136248de5ddc3dbc3b13fe91b288395f92d89ad373e04034a67656c587956c7fbb633c52f26a6bc614393a2c9c3dadbf91054a7572a098203f7b030ee63ca71818b0fd74ea5d4b2c477a34fec44b590b19d4f84c6404d570e034c9aa392bc64db326c44a88943893067200128cd05c6d09766c66acfbd03250c03dac233e16af3d0c74a68b8e132693a3d54a4e9bee96aab2ceb095915b68353ee03f43076f50028320c67e3c4e327d2e2a541f1e0c05f8720901325a3aaa111f1af03f01aa2c757a2596edfe7e8ec83adfb55a5036b53c1424db8bdbe50a58a3a98fa03992b41cf909c1b7062b54d903ca4da877b50be6fc14ad197ca86b7b18dfff1cc037d3fe5c88549a367ad85d36c7614c026e911af9bcf9c2617d14be80d7711a67b0333fe42b2baad5b8fc19b4cbfc105b5e3c2099fc4181b780266f8a443ac6c3f8a039dd11645c9421e28e66dff293d676d6dd135fbe6bf4ca998fc165b34b5f2536e038f8dd75ebff39ad0be6f17d69d830fa6232f3d100bcc35482646b96a6c92ba9f032f713c51d7bdd555b402c79f0a263f7581778b520870d64c73f68c4b797f48d803e6b372d4fa80fdf581eb5dd13be0de2403d3c42806d0d7e853986b99ebe83bc50310942541d1ec2fad7a2146b57fefced896913901af0c095cc98ff67822251556033418aaf85b5ca9a546356e505d9eabbc58e02a860a8cf00558df5b4e9e5507820323769315130697c1c110109201cf86a50d1749298ea47a90de45f843c8816e0903bca28ea17c6817da762f653d1973da366d9ff0fdfbf7d52a2e56659c2fb9da06037b29875b2295283daf9cc4de967050861a1d9a2e05ae0289c59af06544c7314003cfd058d8fd5871376f8731bb1faffaa1a1e3067a3cbbc1def69a8031fd34a21703597803b5e4dc15e2812b4a09051e6a1fce47316eb995544b0afe39187af2a83803cb8121cc1f3dabd9435762e57f4e8b6810c1fceef00d45bfc19472f1c30e9a49034e62667d38698bc96dccec8adfc37a714cd0c6763d0c037b5b496bfb5dd54e5a03306d95cb3be7a9c40d99adab925e4ea54a0ca73c23ea822bea210a631f1964f703eca9cd7ad42874abbc9614dc8ad6192fe68875a0cbd42a6de209e0237bef74bd03ddc3ed8c31bb3a09acdf692bba8fc1f2b3f78299d1627128e01641315238aa87030ca1c7e323c1971cabeb02601d685a1a61a0308ed88ab1138730caa87bfb33b0035530581c790066ac10c20b93f4e86f58fccd540bdc63f341110f639ebee1633005581e03202289a5697812654fb56a4e3859e4f432c7a15a9197a5526bc5745af0040105581d02da37295bda6daed6bd34cf986748ce6f3ac06f87fe52c34c066014db040105581d02c32802eb9922005fb15fcca6128829cd897a40570465fbe4e4d3303b0c18964757e712cb3d002d0219090003c36d254c513d0894e22d656289f40b53d2a2e351da1e917ed5540242f5debfc105581e034730a577a5a03ea52957ade6540028add55c7ff454051550ba10dfdaa00c01468efc070396e303f429c735cbf9d3fdf668cb77ec838ba298231d68350bc10741431de08665b63303da8a9b8f12e265398aabb4e3f7d32dbafd328d2dfdda6dd7c903221c3c45d01405581e03714b92d48d371d1e85c76ee9593d8b2c648929b1fed4b14d73ba360280040105581e0325bdc25419c5fee260ab3e8645dfae20497ccb8011abbf8d085be29f700c054707d3caf7b0599a05581e038a68c0ec64c1d7a240b727e2c1673a66051c9f248c5b1510f8190bc580040105581e036334c4200eeb72178a81f982146753c6a3784e323cbfceb1ffe8147280040105581e03d49ebb2bcbd466dbd8250db000d6d2387e66bce2f1dd3b6f16e477ca700c04462cf09d1865b80219cfb9039b7ea8f8976cc45aecf7a8edccfbb3484a3b8ddd6b25b7d2cd3f5cd65e01cf300364a47d8b3493176655a75a69218ce4cb5307fde2c792e016cdf493ea61e6e58a031e0115f416ca606607d7a3ae1d134aab7f3a3cfb4d9c95783f62acd6f6b8581303909c570ffabc71af175450e7095b44e9ecf626f187bfa0a525165408b82f719a0219ffff03f410e8d46548c54cc60cab2b023013944c82c20d0d18d51f86df5ff6851f1888030ea86309d03e4aab4d1653ee0bc564275c616d73b72ebc99095c34935c585ea6036884b7e1d7508009afe1ea848875e0c381817793afd3a4ffd0f1cc83aa3ddc8903fcc169c8f58b31135c957556f7b4698c251a2836314935f19972f87cea035b1203f0a2936f56b245667788908db9d6297fe0a21ad13e8ad805dce3192f62e5bfac0345532b05e383bbd82445f66dff888c92a3c789877847ad700ef92cc11efa9f85033b377d86493d7c907dec2355c2529f0effe98992d1f366d5d8745f5d67f9b8380384446389ecf2458a2ba2827e158cbd49b1d2dac4aad3aab3112cdf6aff3cc3dd0384118cf581214b129bc128630c5d189409eb257ac87a61f41e97b94a0b76d8380336bc95d7ad69c34ef104fa4f5d836a71b681d15499f35110e04fe9cbc53284e703fba1f64b859e7de4ad6b435cdb3075559470803ddb1fdb4a696c7449860762010219ffff033ffb28922c165f2290bed009b66abcae012bad7e923d53515b8229e3240dd8150328ba5aea002b2b24a6ef2422d5f9c77814a0616008e7deb12569d5d9357d32da0219ffff03f1068867bbb7a364b9dbfa94ee8f748c87da4fd71639366d759e85ee65f6bd2003f134289edd149329779e906e2c7240336c4a3e0078e45f01a12c1c1b1f3038c2032363537bcb4fe075d375a15bff1bd3a88899c812bd3bb57a67d4954748cb497d038a4b19d27d5ef0e9ab8c0723bece51cd48cd70a867e6c779059212e4d84cc4f703bdad2d4cff5dbf6aeb443dfd0849bd573ea64c7743a0fc4d2339f95dffa317ae03b8803509f0fb8ee35098f2dc5c89247ea97fdac1905cc2a21a1860b2222db155033ba2855090899adcce44034af340d3f90f7e15f9c5831a193555f227127aab04030686e75f5c6d5502aad54884e465c0d091a0577d5015bd899feec23c14bb9ded03d296e5f5ddefe1adf3a52e42a8c99b37b768c92d3a68076345ca2cd73b55512f0325b2a83446dd3ab943a1462f4494c84321d71f34dd79d52531fec5d393d27145038c620b9a2819767fddf3922c45b7c7a778c5c3fd6578c67ed2e104539b823cd103b667207881d7faac9a477697805dc0914475e15cf1478a5ce4017b5c3930fdfa03c234aaf3b39e2304c153340422d27f7d489eb329caf84beca98738955e7e809603ef6f9cbe6763cc48130bfd5fe2f0fc94e20fdece81693daf825ab83d97d87ac604591ca36080604052600436106101b2575f3560e01c80637f2feddc116100e7578063a9059cbb11610087578063c492f04611610062578063c492f046146104a7578063dd62ed3e146104c6578063ea1644d51461050a578063f2fde38b14610529575f80fd5b8063a9059cbb14610446578063bfd7928414610465578063c3c8cd8014610493575f80fd5b80638f9a55c0116100c25780638f9a55c0146103f357806395d89b41146101bd57806398a5c31514610408578063a2a957bb14610427575f80fd5b80637f2feddc1461038d5780638da5cb5b146103b85780638f70ccf7146103d4575f80fd5b806349bd5a5e1161015257806370a082311161012d57806370a0823114610326578063715018a61461034557806374010ece146103595780637d1db4a514610378575f80fd5b806349bd5a5e146102d25780636d8aa8f8146102f15780636fc3eaec14610312575f80fd5b806318160ddd1161018d57806318160ddd1461025f57806323b872dd146102835780632fd689e3146102a2578063313ce567146102b7575f80fd5b806306fdde03146101bd578063095ea7b3146101f95780631694505e14610228575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b5060408051808201825260058152640869e888ab60db1b602082015290516101f091906118f6565b60405180910390f35b348015610204575f80fd5b50610218610213366004611956565b610548565b60405190151581526020016101f0565b348015610233575f80fd5b50601454610247906001600160a01b031681565b6040516001600160a01b0390911681526020016101f0565b34801561026a575f80fd5b5067016345785d8a00005b6040519081526020016101f0565b34801561028e575f80fd5b5061021861029d366004611980565b61055e565b3480156102ad575f80fd5b5061027560185481565b3480156102c2575f80fd5b50604051600981526020016101f0565b3480156102dd575f80fd5b50601554610247906001600160a01b031681565b3480156102fc575f80fd5b5061031061030b3660046119d2565b6105c5565b005b34801561031d575f80fd5b50610310610615565b348015610331575f80fd5b506102756103403660046119eb565b61065f565b348015610350575f80fd5b50610310610680565b348015610364575f80fd5b50610310610373366004611a06565b6106f1565b348015610383575f80fd5b5061027560165481565b348015610398575f80fd5b506102756103a73660046119eb565b60116020525f908152604090205481565b3480156103c3575f80fd5b505f546001600160a01b0316610247565b3480156103df575f80fd5b506103106103ee3660046119d2565b610773565b3480156103fe575f80fd5b5061027560175481565b348015610413575f80fd5b50610310610422366004611a06565b610814565b348015610432575f80fd5b50610310610441366004611a1d565b610842565b348015610451575f80fd5b50610218610460366004611956565b6109f1565b348015610470575f80fd5b5061021861047f3660046119eb565b60106020525f908152604090205460ff1681565b34801561049e575f80fd5b506103106109fd565b3480156104b2575f80fd5b506103106104c1366004611a4c565b610a4f565b3480156104d1575f80fd5b506102756104e0366004611ac9565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610515575f80fd5b50610310610524366004611a06565b610ae2565b348015610534575f80fd5b506103106105433660046119eb565b610b62565b5f610554338484610c49565b5060015b92915050565b5f61056a848484610d6c565b6105bb84336105b685604051806060016040528060288152602001611c46602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190611204565b610c49565b5060019392505050565b5f546001600160a01b031633146105f75760405162461bcd60e51b81526004016105ee90611b00565b60405180910390fd5b60158054911515600160b01b0260ff60b01b19909216919091179055565b6012546001600160a01b0316336001600160a01b0316148061064a57506013546001600160a01b0316336001600160a01b0316145b610652575f80fd5b4761065c8161123c565b50565b6001600160a01b0381165f9081526002602052604081205461055890611277565b5f546001600160a01b031633146106a95760405162461bcd60e51b81526004016105ee90611b00565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461071a5760405162461bcd60e51b81526004016105ee90611b00565b61072f606467016345785d8a00005b906112f9565b81101561076e5760405162461bcd60e51b815260206004820152600d60248201526c76616c756520746f6f206c6f7760981b60448201526064016105ee565b601655565b5f546001600160a01b0316331461079c5760405162461bcd60e51b81526004016105ee90611b00565b601554600160a01b900460ff16156107f65760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e6700000000000000000060448201526064016105ee565b60158054911515600160a01b0260ff60a01b19909216919091179055565b5f546001600160a01b0316331461083d5760405162461bcd60e51b81526004016105ee90611b00565b601855565b5f546001600160a01b0316331461086b5760405162461bcd60e51b81526004016105ee90611b00565b83156108c75760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420302560d81b60648201526084016105ee565b600f8211156109235760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642031604482015261352560f01b60648201526084016105ee565b82156109805760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420302560d01b60648201526084016105ee565b60628111156109dd5760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526239382560e81b60648201526084016105ee565b600893909355600a91909155600955600b55565b5f610554338484610d6c565b6012546001600160a01b0316336001600160a01b03161480610a3257506013546001600160a01b0316336001600160a01b0316145b610a3a575f80fd5b5f610a443061065f565b905061065c8161133a565b5f546001600160a01b03163314610a785760405162461bcd60e51b81526004016105ee90611b00565b5f5b82811015610adc578160055f868685818110610a9857610a98611b35565b9050602002016020810190610aad91906119eb565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055600101610a7a565b50505050565b5f546001600160a01b03163314610b0b5760405162461bcd60e51b81526004016105ee90611b00565b610b1e606467016345785d8a0000610729565b811015610b5d5760405162461bcd60e51b815260206004820152600d60248201526c76616c756520746f6f206c6f7760981b60448201526064016105ee565b601755565b5f546001600160a01b03163314610b8b5760405162461bcd60e51b81526004016105ee90611b00565b6001600160a01b038116610bf05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ee565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610cab5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105ee565b6001600160a01b038216610d0c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105ee565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610dd05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105ee565b6001600160a01b038216610e325760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105ee565b5f8111610e935760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105ee565b5f546001600160a01b03848116911614801590610ebd57505f546001600160a01b03838116911614155b1561110057601554600160a01b900460ff16610f55575f546001600160a01b03848116911614610f555760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105ee565b601654811115610fa75760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105ee565b6015546001600160a01b0383811691161461102c5760175481610fc98461065f565b610fd39190611b5d565b1061102c5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105ee565b5f6110363061065f565b60185460165491925082101590821061104f5760165491505b8080156110665750601554600160a81b900460ff16155b801561108057506015546001600160a01b03868116911614155b80156110955750601554600160b01b900460ff165b80156110b957506001600160a01b0385165f9081526005602052604090205460ff16155b80156110dd57506001600160a01b0384165f9081526005602052604090205460ff16155b156110fd576110eb8261133a565b4780156110fb576110fb4761123c565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff168061114057506001600160a01b0383165f9081526005602052604090205460ff165b8061117257506015546001600160a01b0385811691161480159061117257506015546001600160a01b03848116911614155b1561117e57505f6111f8565b6015546001600160a01b0385811691161480156111a957506014546001600160a01b03848116911614155b156111bb57600854600c55600954600d555b6015546001600160a01b0384811691161480156111e657506014546001600160a01b03858116911614155b156111f857600a54600c55600b54600d555b610adc848484846114aa565b5f81848411156112275760405162461bcd60e51b81526004016105ee91906118f6565b505f6112338486611b70565b95945050505050565b6013546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611273573d5f803e3d5ffd5b5050565b5f6006548211156112dd5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105ee565b5f6112e66114d8565b90506112f283826112f9565b9392505050565b5f6112f283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506114f9565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061138057611380611b35565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113fb9190611b83565b8160018151811061140e5761140e611b35565b6001600160a01b0392831660209182029290920101526014546114349130911684610c49565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac9479061146c9085905f90869030904290600401611b9e565b5f604051808303815f87803b158015611483575f80fd5b505af1158015611495573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b806114b7576114b7611525565b6114c2848484611552565b80610adc57610adc600e54600c55600f54600d55565b5f805f6114e3611643565b90925090506114f282826112f9565b9250505090565b5f81836115195760405162461bcd60e51b81526004016105ee91906118f6565b505f6112338486611c0f565b600c541580156115355750600d54155b1561153c57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f8061156187611682565b6001600160a01b038f165f90815260026020526040902054959b5093995091975095509350915061159290876116d7565b6001600160a01b03808b165f9081526002602052604080822093909355908a16815220546115c09086611718565b6001600160a01b0389165f908152600260205260409020556115e181611776565b6115eb84836117bc565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161163091815260200190565b60405180910390a3505050505050505050565b6006545f90819067016345785d8a000061165d82826112f9565b8210156116795750506006549267016345785d8a000092509050565b90939092509050565b5f805f805f805f805f61169a8a600c54600d546117e0565b9250925092505f6116a96114d8565b90505f805f6116ba8e87878761182c565b919e509c509a509598509396509194505050505091939550919395565b5f6112f283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611204565b5f806117248385611b5d565b9050838110156112f25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ee565b5f61177f6114d8565b90505f61178c8383611878565b305f908152600260205260409020549091506117a89082611718565b305f90815260026020526040902055505050565b6006546117c990836116d7565b6006556007546117d99082611718565b6007555050565b5f8080806117f360646107298989611878565b90505f61180560646107298a89611878565b90505f61181c826118168b866116d7565b906116d7565b9992985090965090945050505050565b5f80808061183a8886611878565b90505f6118478887611878565b90505f6118548888611878565b90505f6118658261181686866116d7565b939b939a50919850919650505050505050565b5f825f0361188757505f610558565b5f6118928385611c2e565b90508261189f8583611c0f565b146112f25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ee565b5f602080835283518060208501525f5b8181101561192257858101830151858201604001528201611906565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461065c575f80fd5b5f8060408385031215611967575f80fd5b823561197281611942565b946020939093013593505050565b5f805f60608486031215611992575f80fd5b833561199d81611942565b925060208401356119ad81611942565b929592945050506040919091013590565b803580151581146119cd575f80fd5b919050565b5f602082840312156119e2575f80fd5b6112f2826119be565b5f602082840312156119fb575f80fd5b81356112f281611942565b5f60208284031215611a16575f80fd5b5035919050565b5f805f8060808587031215611a30575f80fd5b5050823594602084013594506040840135936060013592509050565b5f805f60408486031215611a5e575f80fd5b833567ffffffffffffffff80821115611a75575f80fd5b818601915086601f830112611a88575f80fd5b813581811115611a96575f80fd5b8760208260051b8501011115611aaa575f80fd5b602092830195509350611ac091860190506119be565b90509250925092565b5f8060408385031215611ada575f80fd5b8235611ae581611942565b91506020830135611af581611942565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561055857610558611b49565b8181038181111561055857610558611b49565b5f60208284031215611b93575f80fd5b81516112f281611942565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611bee5784516001600160a01b031683529383019391830191600101611bc9565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611c2957634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761055857610558611b4956fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209bb430a98e2b30b95ecedb079a9ea3adc814fc7bc96cf4af8d9ceced2b73da1864736f6c63430008170033034e733777509e3d72b6940ee07fad4718537e4e0137036bcbb06f3cdad7a8c10103ffe86d79c23cc9b8033e47aa9213efb7627409755dc227e24dbe0caef352a68303e86168470bacc02a387a030b901552038a5bd7171d01b7ad7c2f9b45289aeabd039d04f0b9c4b5559d241da31d743d96e23f1aca4656c642ed30ffa0745fb94d7603106e2385692185cff269ae3d7a4afdf2f6d93c17bf746f495df8ddcad93d5c7703528da23aa8a57d8d219a1990dc9d5300c6e5be530cfcbf9cba6433f05d5e1e05035783b6d8a1a665c451bc9e4bf01487aa41894b1fec50dfc1db62f9f09e6c92c703a604477734fbd8635a9bac0b2b1de990332fe34b252ea945939fdedc51692a630319b480aefe517a0b23c404bb783b6ba8720ef8dfc77c176fbae13982075a55e303093d04704c9b4ae27d38f3e36f34b242d030ea6432b7186f012a24667fa2e19b03f07d6a0e345da71fc1b8ee2d25ad74194e70ffa8cbf794ec68b206f076ce738303e77bc79c820a3f03071795d7ba7c3a0648fb58dd4e3d871f010d000e460c17d40058200311cbd2669f5f71b0365038a8b04cf10d1807bba4e5064e6dc40a5322d242005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f104dd72968524d234878c3ebab8870d322e4e96b348f99c80ebc18584d74344033b6e98569abbb3770a823b92724e437e00812000b12479dc54c9e9f5b4e803e600582003ca4fda03602e1fcb10b0f5bba8a9868c4042f176768361edfbc25bdab90e605820fffffffffffffffffffffffffffffffffffffffffffffffffffffe8db3a6128d03e51364480958244633600216523cdc59596ae80d9dd25285d3550359ab47181303c36bd4c74fa46cfceb51c1967ac2de02c3878d0828c6fc23dee3339ece745c17005820031dd60fb521be322aff054ddfb1f242cf145171f1e49c3498b1207a51b1df20581f09f68d3054a0556abe9c938f8961d7496e1c166ae05c6892a95fad76842e8000582003c21c77f4a8c2a11e3ac5580522e5e127925f5e1552302adf7700029ab1b3105820fffffffffffffffffffffffffffffffffffffffffffffffffffd1d9475a58409034bc1415eba1a45fe7cacc7eb3f33710365e1a8a0a8454f0f552f13a51e6740900219c67e0340cf43215a96d743b05dd41bd1fccb512ad899a7be54b8d802c85665f6b541f6005820037894c83c46255a685c784d78d58eed8e1e9e2fa9af6852dbff2ca95deace405820ffffffffffffffffffffffffffffffffffffffffffffffffffff37908cc79dff00582003832d11d155a94a4d8698fb73041158c7054ab85a8ec9ccc7dec0acac38b2204434321a6800582003482010939e11bdbfe50351bd63206664aaae7a5fdf7d2ce82bfbb1aafbe3005820fffffffffffffffffffffffffffffffffffffffffffffffffffece96f93111d700582003ea88874c73292d0fab4679d4f7273fd1fb272d24ae5231f7268631dcbf37a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffeceb4817618f038f24665430a12168c312010cf7433dbecfc5d4144dda239e27868df228a109e1005820034d95d8fe773c6a6f54852f0c2756c03a82c453bfad955ad94b09405984f4d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffb1419f2f55370058200310ba0a2961866bf68edb3d0b97569115564d4452a7f708adabb1c4135ca6f05820fffffffffffffffffffffffffffffffffffffffffffffffffffff9713810551202193be00396d5dd5f5c8eac51288814dec433a7fda611cccccc47250f64eb22df76fb3b7703b9f5b59c2c5d0945c0d94b58f483c9bf6b5d2699ee233affb2af509f54ca982d0392bc9569f24571940e792ab173f52b2f476a93693921a966f1bab593296a1df103a458650cecb40ce8f7c0f7dd974c084b22318130125c6aa0e5230e12d9628046031e218672f4830ddbebebff70795162f97583cd79545ea6159c1a41e6d4c0cc1e0219ffff03bcc8193e16e33013d6dd3da4fea909c82208e4163243121b7561df4be405835703bda7a368d93890eabde57942c2fea3b519a80ba7ea0ce3d060d0384b7058a0ce03aa24e9f9586ea17deb4c6e6fe7b5a70416cb7af8992aa53c524c20b63508b8e2035d93922294865ded4c6d6c0b61d921163f7bb2778c9f1ec68f39c64b4591efde03ff1d6601e04fe475fe33a8af65bb2077ad5fca7381b41aafc4a58585e75456c80380685c109f41fc99743a336451defd49c3f8bee77fde3e15b807918582652dd70312d8ac3b7305e3328775e05c57be2f444bdd03ff9ca511f6cbc370c58a58866e03aadfba7ad203273d518fb5d1f4ad3ef956f51c92a39825a6438751d5e4b744de0058200333084b6af1679911b0e6711961ea25907928b92382b4516fd21afcd3b466a0581f171fe730a14b64141a3392cc0268fd59e3919755b2680bfbaa7fcc9c5b450c00582003b5b1828d27adeb51adc647b4c2ffbfab9a67e4c003795fa8c3f40898d2c3c0581f099a234d6601aa9c17564b16da4b781b22d3b502aa017a22c0a47a7260c6c700582003a638c002a75e7bf1410ace324e669d6215a677a5a2e4674483431ea20a39c05820fffffffffffffffffffffffffffffffffffffffffffffffffffffae253df85ff005820034458a060b00c1c3f5a07a82a804d316056e95889e59ab80d5dda7b2f6436105820ffffffffffffffffffffffffffffffffffffffffffffffffffffd19da31dcfff005820035a9879f3d580aaf7ae25f3b2240b57488bc5acdc939637da49bb0193f9b3b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffa50d2b2089ff00582003c008f4b9ca0b008844ba910ee50543c1f1ca9249c9997abd7f6387fe2638905820fffffffffffffffffffffffffffffffffffffffffffffffffffffdc5909ecbff03f531ae62275a08809b82cb7e8297e44c1d65d0f6c01759016275a52839e2626000581f0248fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47557010001846e72e2f4bf9978143d933ef2d224284ebc127400581f02363c9060086a8b3fbe9a49d67947e430e4f649e9ee36225608c689891713581f029c4cc13f0d2f19463054034d6722344f172d9a42565addf1e4955d3fc450021980100219c92f03b053bd99d3ab4b1bc366b18730027ec7e200a2c4fce220f0e839d6cfbd416225038bd88a4bf129596541c89d7d5348415c7a022ca47ba562059abb4c4587739b0103bf574206aa7b18b2dab33354f51a47f4c534dce251bfe18dffb0ee7c358310eb035120305c51ca8992fe3d7524dae161c32d5f9fa395377d1584684a7711982b2803a9da8dd50506f882302e1d3f52d7d42789dee0d3d7c09b524c3a20f89a4dd2e8005820039fcf732dd4d167e241d9990449725a239ca61e63b69c91cd7e3abcb8674750581e49d1db2986e206f0b50961a891842162505730687d97db5377f708c3d00000582003c22318626c73450724db244b277950568f6845ae3d59b5c27a0b5438a45f80581f10cd7e740a72b710f90295cca8589c8f5971fa250dcc82998fe704bb03e54003e65ff03b49bca57fcbe8909b2da357067714954d5d820113dbb124a5ff4271a600582003ad9691580c081de28268fb4c19db0b107f9585f894215a760d2416ec265310582025f83716b6673ffad805fa999151e8df04c97ed7e7e44dd953785163f954db9200582003c7f8e3570980653592404ca37c2fb47e9dbe7b380fe510ffe7ee4d915049f0581f2192157f33d32e24e7509667ab547a00489c1435fbc51ffa878774dc5b442b005820038d7f2f232d1dc26f7f49b748337bc105284af8df7ae0dcbee90192cdf858405820ffffffffffffffffffffffffffffffffffffffffffffffffffffea3299225890005820037ed1008ca04407e9b580ae89d4a2d030ad0e931d8c0218b08758e685d22a70581f0bcd1a27011755c3cd7d8b84efb1ea801d5a1885b88b404ca24c4e8a183d580058200332fba72ca0bfec3e27703bbd4d38568c994151f72593b4c30a0701471ccbe05820ffffffffffffffffffffffffffffffffffffffffffffffffffff8fa040b375870219f2ca0356a16c33907ed6e2e5ccf2dedd4f075fc7ebd3a8acb62d46962a635687cf5c82036de9cff6a5b7d70ed79a7f41fe438e002175f11ebc4a3790afd5920c3e0ecc17033d2a1de78133d4551b364c06e6a66dbfee519003f11a12aba555d3ab754736a80309ea808af556d766251e64b5052d1f7a696b6213aec0ab9367626f458c70f3b403de9fdf93c8849f94fb041ea74f2097cfd34001b8110265fda97f1e3e388c72680219ffff03f0df68f009c3e29c62283051856a33433389f3132fa45fd719bd78fb46a785a2036fa2019ade336db8f663a63c516fca361198b4a3c6c0b21bf12e3fc0e17fc7bb031480c35bc898f30b716a6147d82c717ea096359b84b15d82a52f210ef3f4f4170394b31435d77ef72769bcb2f7c7b3e2cb57975875ec0f36b5e94b411268c198c10058200330c006feba0653a2e471a09ab627a3e86f18a79667f3c706b4dd8e979bbd705820ffffffffffffffffffffffffffffffffffffffffffffffffffffdd84fbb250a2005820034c31a045c77a41f81d72d48a0865c5912a9a5fec1d7c3bb394a136ac258a405820ffffffffffffffffffffffffffffffffffffffffffffffffffff9f5f826062c3005820037371a76894b0e3a1fae1ac88e13f8891110a345a2c84f52bb39dd1298536f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffe70e1f4f83c80058200389aaa3fcc965388a49f7dd94307f42352fbdef6b779259111e2189cbf4e250581f01c9ebfd4c1f21ac723882d54df0254c7f61eeb0daa59de4a10b75ce4336cb0383550ae69288692d9de6b6fd1f755c2b28808783f185ef84965866cd06ac6724005820037c361ee27fe0b466825294f3466b7306de38c1e175977cd45fd47e6f08b6205820ffffffffffffffffffffffffffffffffffffffffffffffffffffcc42eab3fa6f037b26ded7d69b7ec4b8aaecca71c2c948deff39778280aacdd6f9e59a27b9262503db87545467e156a7fd14895ab9d7a8f89d8067c4cdc9b9a09142b87e57a9727d005820030cb3b7484d967dcf7e2f38eafa34c22afd672398264b2f38a57c87f13928605820fffffffffffffffffffffffffffffffffffffffffffffffffffff5ef86b7e7980219a17e03717a63c5bb0b85e3e92ddc973e7116e8637f9eb20a3906a746735ba9f96d67c10318693f48fae6df8d1b396e1b0a35d0d815c9f7d2748ddd0f6331f1fded6ef77d03f905fe20151f405fad0868c323e4e881c7cf4008a5c81c916cd0c309b32e0cd60310952948cb33055fd98f4dc46212d4b905fc7f037c7d3d390b5afba13d111b46034b4f27a27cf239f1f696336b5ac069e233fa5a57fe0406c00016c307388c19360383309c918265d66978ec1778d6ab8ee52522ad43b1763d405d2b1ffd952b84330326e91106481ccb9a1aaec85ea17a2f732f0c22612f68532d92393ff87f0281c103b75d7f4913d0640264768c46f6fc835b2c32a50bedd8babd987f58010f2990da039c56e9094cd011a97e2dbd05b5dc4a3a876f42de67e7063129523f2c040163f20058200364a332f5bdc1bb3db64db0b9fd0bf92019934c5acd776792b25d7faec304405820fffffffffffffffffffffffffffffffffffffffffffffffffffff6072ca40f1a00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0410503e57c99f92551e7b41ab6a0da285f3fa653f63c901051eb2405b86bf9cd8ac55400582003bf063981d6f1c8921d8e308a21e89135d1446160bd483822cb32506261fe505820ffffffffffffffffffffffffffffffffffffffffffffffffffffa50cef85bfff005820036bbc048e5edb7d601bff5903214ba01c007c0eaa2cab95ed8f9d537e34f400581e405f646ac571188d6705185338cfc08fa8af69c260e7541592741d14fdb303cc858cd2b23f3116be9b24cc8e098bb3f52dddfbf29d013d23eed9f59f9dadd403792d4cbcbf2ecbc707a7229139ac35f2b0ccf6f3d47466f20a1e64dc1733668c03c1a06513ce1c88fcf3d0aaf101f5ce9c12f596e88a0803e017083272fef793460058200375ae7eab84fddd627a47590aa48c152a3685b58953dc0257a381a78611bf705820ffffffffffffffffffffffffffffffffffffffffffffffffffffedc77302475703c1f8328f826bca745515f034d41d33d8146882d7d335dbaca49d28eb65815e010058200395d2664fc74c57c6f09f8d6dceee704d9ec86a8abe589f64e0498700018a505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e68a151df09dc5601ede676489048f2d44180399223d1dad2f9a1ee5c7fb005820ffffffffffffffffffffffffffffffffffffffffffffffffffffc35b1006e14a02195bef03d73a9142583b65ed123ab9975130c3597d9e462aa75f20d3879f4bebe27f992b0219ffff03410f758fb73839cb31ae204daae15d89ec399eb3ac4bc4a0524fa223373c0d5a038daca4d86f07ea8218aaf82623da820ea4e1321c422f084796f2a9f26690538503ff7e7c786a49d37b09cd6df6759541c7fd3cff6f1a98d33aa966359ef23c1c6103612b59ad0e87c53f20ed016ac74e76e27ed81cb394332a196fb96a7188d5f25e037ca979555e2cfbbdf9ba4d6cd1e628507d524f803b8e778ad00dc456f19d9d4c03a08a56ae02207ad4591135b793277d037152e3c1cb1b75b63400ca106fcc3e3903645ad31a518e7f6a49e6700981fb98f0de107baf6371bb2f578298fb9a3a624b03bbf152e4e7956326b25a74cbc1e3d881dc904128df6910502f914c373ed140cd03ee4bbd97852502c49528567a0463c6cbc9998ff0ea2255108a8785ee4b511d5a03fedb27972ac479fb465789779c692c7c957b1e1dddfe50e2f3476e342a85608b036d8328cafc47929082a42e6465659537a1c6ccaf5242afe17811e7777128f8f9005820030c58d4377ba657c995bf5c738db5bcaf6daee5e96b5b164840d3e50a267ef0581f10ebbbc34ac370944533a0e14235925db726b13be1b59de49f1695117a15ca034b413fd401ab560bba4a88b6e6b38d62e84c19b279514d1559b44cc9585e8b4b00582003d7ee2e5ad44ee186a5d925216eeafcda253eb0ed1e24efe324972178f286f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffed70179688ef0351c8768bd9a3a5e667c49560339d5b52fe07ae656c8d69408e753cfe2354f78503bf5d4d423d8b216caf5ab0f93930dcfebda7332d9c3be88047bdeb0663c8ecb603f6aa1758889671420977d4726bc8efa5255bcc9c8cb79bdd133b2b9d291f8c8d0058200342d9719d4f0acf45ecec3a578a83ed311d00c04897dab9e302da90419fb3305820fffffffffffffffffffffffffffffffffffffffffffffffffffff255ed935d88021955bc03682814b82e49a9b080acad6f788fcaf0deeb3481d4efea0b0e4db30a36b0dbc4036eb59743aa05892dad194b5e1ed2de9437d5c2de9fdd807ae18b86cb6679f61903d10421f2bbd3738d4c5c6dc7388297dedd845f57d99c09a004a661c0b904e2340373cf167483e242b3df3a0b18bb98be02f1d4adad68283ad982f5b83a7217c09b03054bccfee46c241b547a920b0d9117f47fc9154acf2d33f89c57fcacdc0a74df038a35ee9f556ed999e7fa472dd331162d463967098bd28fa0c28b611308313b41031778f86603e00c44ec5e7cad5868818c036f29fbc3e3f1f619f6cb7dd4b73d380360af90604d077df8244d57598b9f02605f072ecdae3113a26d042d41f98360e503917eaf184f8c4616e6193023d1845b7ce215dc4c8de5b0548f3464746770969c0219ffff03e0ca2bc4a142b01a0951c5f62dd2cacdf22cdfc00ebc8d5ad234d5a24b38b491038a6f652a2b90941a8e15fc914e22d2e4f3ed68037a9a1ef5dbe6eb084290799b03857435793f3b674b8c6372490d18c674013eb39fcfa1ecc639b4c83d464b4eea00581f0222865b12fafbed53e78bbec59f29b4ab83e8ace42ef927a7e232b955e8e75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f022d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e4609184e72a0000219200803e1dc401af6d6be49ea15283d81da4843fd4fc81e9c16b0ee88d6ac0cc769a1bc00582003b06c7f4bf795904f033efafdc69075ab9694ec60d42e944777b74c4dd69ae05820fffffffffffffffffffffffffffffffffffffffffffffffffffb9e474644c898005820037b67f2ffc08fd1c9c7581cb7991c10b9ff72c333cc401195890f6f1a0770305820ffffffffffffffffffffffffffffffffffffffffffffffffffffe2365cb5438c037ca196cb612e1e31a46da3efbc1746b67f4cb7d5252fab7ed98dae985378c26b014200c100582003bcb50f0775210277272bae101f7ee1880724de6e3ee9e606f90f60d62f7c20581b1008668add3fd0ab5918d9a3aa0cf8ccb2b6161dde2d60860e9dc003c2e6098545c902f117ad75fd3f2c7561508fde73ba0e124c657b22abedb676f403653645a4fe9cc5e17451525049e3bf96f6de17bb45e88360ddd413d97e967c65005820033ea615c77ed77b56a0c932943b8732db282e801c50246c813de6df071cadd05820ffffffffffffffffffffffffffffffffffffffffffffffffffba13de09e627ff00582003535d624f31f235b94d27890fb136976eb3bbf2de5cf855214d9b5576358ee0581d0cf923edd23fd1792e9a6b2749874823849093e78655863b38a538b8dd0219cfee0377b24ab2f16384da97a0129c6a143d17732f104e41b21871abb5a8226b4dfd49031557cf109454ab8e5b7ca7fc161a6eaec85deaf53c99ff7dd436b5e79466163803f1e1cda3b83ec0e86a2d9bbdecbdc5c2e351a3d18524d630338a5d8e07f170a2034798bcc234ca824361008a9bae32888b25ccf8f6ad901a51617cfbec368e33fd034f5408254fd87e2d7a80a51d94acf8aa2bfd537503fe6db1cebb14a30cc8913503def83ad7aecf05dead77a1ce73788dd91509b5d3875d40c3b19923f57a813a35035cea0d22dbc872d6ea5e9d0e6371d9678ab1369e99bd912d1ea1e3da755b363d03750ccb316d6fa9db30c4c5e3f7c7a2c29cda39a282e7976607653ba2cc75ae7d005820037ed9172061f0d9d8bb0905cafcdeff039cec8e240b8b159cd125db64e812005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d40cc91e059636d2d3bf5c5cc8f4a1e227146293660f8d2a0bebb13db94d30581f0fd4dc3e0ebf3a9c4e961e851e3a0270cab315382c699c642f1376ca4acbe9037c3ff4f07f9af7a55a319f1764cd9411d9dc0fa0b37121888b423bf13bcc42be005820035c51d5b76a6337752842871445985042964e6e4b89cb7dadb89ea0a0f11a905820ffffffffffffffffffffffffffffffffffffffffffffffffffffa384c72004090058200377a3ea2126422ad416eafa2a648c39493af8929b6ef9266cf8633f605ad0905820ffffffffffffffffffffffffffffffffffffffffffffffffffff8f3c68a12625005820037227ad1b5c2a277bcf6b6c762d1082991c6a343c14198e217a6cb164f537f05820ffffffffffffffffffffffffffffffffffffffffffffffffffff3bfcdde94a85039a45e4374ece8386e6a96afae2362242c20dc0203ec38d9eecfc9cdbc7c3936500582003c45bbdc407ad831e51fb41a12125fcc86cba5a790733166d7f4ca15faab8005820fffffffffffffffffffffffffffffffffffffffffffffffffffe8b62338fddfd00582003debf7e2c888213597e742ab6350a16240c351aca0b1eb4dd65369baf6960e0581f025aef7c9ce1ea830c56baa3a26f066721649580f5a1659ecbb9465fffed8c00582003724025cc71ccb6a9e190622cec30d995a9110ce0ee902e5c6fb7cbac8c0d5058200105133289506524b9a9f112d586712100d0f05f526ad5b7e1b8aba25b2e1cab02195def032a83aa84c34c54f9bf59b68228d5a4901138b158206dcd6aaa4952de260319320325b1f8c6d5bdd0b600bf53cc4bc3857e4cd52361f1f161194e24fc62911b4e7f0356ea4afd6f8125bb1af9001e741baf1e1c49c02184b1083892e397aa85d0fe2903612d52a2d5cd31f0844e10c9250dcbbd1841b4be217ce229e8ef6b39ab6e35c703793dbc8224e0e4806b29c329737b655ceecef9bd2b792753536ac10f29523c5c030ce93c10db530752caaad5dd82d5df2651faaa0dc01769e6614e9d7cd8bc579103578cea8bb8ac4b39e03a80ccb094508b3ca9ee9ee9f87d86c86f8b21c493e0220219ffff03c4c5d9bdae0e7679e67b6f49e850da710c5fc09edfeda96b651414e80893c979035c173ef1443ceff8c570df5e4c11c1f26f21a28ce4f67bdec7e03e6c159ca67203c291f1c9d002bd00ff35ac17ba517791f426c0abcc056be94616d300fc56ebd20368f0f0e7aac3f4f6896e8765be9e7341988eb002d3b9193bb12f47fdf00e2984005820034f97af2b89a238c7cd38c752dc3b98b60b3ad2e3ac66f0432f7b275d948c80581f0980f1bfa37a6decbcfb11a839e80b4eef59a17131ec2eb8ff9d00d064054d005820034d48012df18396c5cb194c2aeca43cd4b7b2f67bc2021abd33f7fd1eea21f05820ffffffffffffffffffffffffffffffffffffffffffffffffffff3d07657c4dff00582003c50667c9cddb0a934977407a40167a9b84c7900ce8145d319918ef79f15a705820ffffffffffffffffffffffffffffffffffffffffffffffffffffb0285c6197f603c3d3cbcaff268ab3772df95abad0d70dbc81f2106ee9d804f37f6582b23b009e005820039bf3f3c4d781529b778a0c08fafc36c1cc26e0209e355d9dfc7959175b74605820ffffffffffffffffffffffffffffffffffffffffffffffffffffe9855b9987ff00582003a53cefe417b7c49ea51b73c3925fa0babe92089f7da786bb0602f6aa575e005820ffffffffffffffffffffffffffffffffffffffffffffffffffff9b5258a325ff0343654567f074aa0a67d2a17e6b1b925d4bef6e4a5fef7b6f8aaa77043563db48005820035ac9b81a4c842511abff4cfd76e2d60e56f2be52b0942cd2eea7deed6699005820ffffffffffffffffffffffffffffffffffffffffffffffffffffe56d277d2bff005820039ae9f767130722ee02759c62e323e98161bf54c3c1af6a6530ff1e59d893e05820fffffffffffffffffffffffffffffffffffffffffffffffffffee27404938da10219a8770368d63703e5bbf9115e33e3857920d92925e8a74264cb70c5365935d1d07036f403fd983eb7f400929402476f7b675d9bcd494d2312525a25f00afcb3d5b417de4e00581f029c53c7a06c83e7db0f155acb0e7319574bf07af0226b2866cba4a8c122e35820ffffffffffffffffffffffffffffffffffffffffffffffffffffda50f90150d400581f02b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15581828c87cb5c89a2571ebfdcb54864ada834a0000000000000000581f025f51c597b8ea0b9441d57951a2927bf9f3c2322cb591fc64de2864ff31155820ffffffffffffffffffffffffffffffffffffffffffffffffffff8d2c732ea5a402183203f0e48cd55f4d06afff8f38131625d732b80aaf7b9a33c875a0634c8714cb5811005820035766bf09e02930126665682da01ac22fdbf7b5c20eb8463ef1fdea8b7493805820ffffffffffffffffffffffffffffffffffffffffffffffffffffd28677c2dfff005820034e16e9776151360a1df5efbd718c60fd2431c9c721963e459c592ba5c74f60581effe9c263ac738062b47e53da128d7f741eafc0cc03106a133262c8f8d0ee00582003d457baa7fb79648b2ca53f6a2d658cacbf9da15f226f36b8cea97b7f34d3705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f7b34bcad1ecaee370f1616a54a7e3e998cf77b8cdc0e9926b5ba87a1eec805820fffffffffffffffffffffffffffffffffffffffffffffffffffefba6d4ce1fff005820037020e9b05a92abf7330c07712953b0ad9a37623006479892afb00e50dc77305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0311436aac61833bee9c6a5a7b0e534822269832ad125fe601a17304db4b3e6f0c03f0df985ae4d6947e3f1836d738fe20af5fcd7c8baeef0773ebb95849155af119005820038d8f0ba24f4b2aeda57b7f4b6a7be399d3f93e0c355c0229ca5ec54c0280205820ffffffffffffffffffffffffffffffffffffffffffffffffffffdf33904ee54103f16bb29f9670ba8fd4cd632938c1e4f22091245aa9b199c4b4b2efc5d850f26d039d8620f1c40cf7f4e860a6220bf0a81e53779e1da5203fbcebc3432eab7bf60b0219f9fe03cb4c8acd83817a35bf0d3f2fca58ef68daeefd119518dd9210d09f8de682a24e035eed2899ef40fe543b2f18b8f60aaa84e7814667ad14fe493951890ea0e817c303fa802a6e79b8ff151eaa8e9b2367c606cb2ba892c35b2e45275cf33ebbd00ece03df259feaabed4e2b29b6c565845ca4ec9f821270a936dc5d87126a48ec83a0a40397a0c09f85da3561f893cd2c0c8251d9a4a6e655f50086238422369c67f8c277038d95543f19a461332600a1a7df05717d857bfa792ed5bb95cc9eb3af962a486703e9ac3c57500be89bafa2cedc13e6957e945d5a4cad4106bad579a6c724fe171c0387841e15535f7f81b3283568235be7e6d418262beb2d5114c201854f5699788c035664a5c2f4736efa693c466a0027bcda87af16c77c439428c5cc845eba76dc3c005820033870bcf8966a021ca4fb7c18a23881124ee8de69107422a959a718848338705820fffffffffffffffffffffffffffffffffffffffffffffffffffd91c53ab50ff40312ca27ffbedbdff51e1294eedb8de21cf1a5d778b07e07f9130a1077e9d6827b036adeafeb07fa9d531c2ed64d095b4e9b79be1606d8c282892a9e2e693562b21000581f02f0e65aba113d2e3d94e9e34090651015988e93cfbe51b23174aeeef4536d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffbdc794587abf00581f02e407360a44f2e57fcc2a73f53e15f1d3548304f3b6196aaedf4a897c08ba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffeaae368e981600581f027b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec547a250d5630b4cf539739df2c5dacb4c659f2488d0219280403d33351926e3f95f892fe1b573fbe38323ce930a5c1c96589ffa6bf4625312b9000582003e6679f03527722a689a822626215c8173beb383d7d2096dcbb38fe50dacc50581f13d0d123765172a22097eb259f47799d9e6b3c96a1ff36ba757d0d57a1385b0058200309f485b3db3aa08a0bbcd0f7eb7bb546e2bd995007a392be3545b1dea965305820fffffffffffffffffffffffffffffffffffffffffffffffffffff372efe6efff00582003ae4627b84f50a5198660ac32231d9b38843cb442d9d9a39ff98b544f5def205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219476f031a3f0041e61388708f41ce371709ca28f34c99b62d577e6a8b5d9db58c9ae8b10219ffff03e7f79f6c354e14cd4c9750099ec24b285026d130f23524b9ee24df7d01793a6403071934c223d4436582b4ae51a036f69f81f365bd9284324ba8e65236ad967676036da47e2c02e89fa03b847fa288d43ad34040c6fe7fe37574bac76f246fb2d1be0360a223e68a749f53ccd1cc0fb933f5dfacfa950942d3c2f1021f019b7c79bb4e03e011642d9d382fa8e0d8b4ab915b296d55c4d1c52902077ae69398ef53b944a3037e2333092ce7eeb79d27c591afdd1b6ba3d26e211dbe0f89201c32040cd4cace03a09f87b85d8d60d6571b24a692a8bd29cd0339d0d9cbabefa2922b6707d2a281037a942b5bccd6ea527c34fb85cb4b5376359bcd2887677e5862157abdc753e5bf005820037b0bf2877e26280e9002e0248225bd72472b38724f28723fdf6e9f3a8897e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffcb77d26b0aa1005820035f6167821c9ac10ef9981cf7f47303378f935d650e880af63080db9bb3d970581d1e7d9e75bc27878a8ab2ee3bbdfc3de536eb4c95ab64f2268eab73aac100582003256971d96ecad739cbfe953126ca589e9c186f16306fe9e9857f5b3541c3d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffe7d8a4c9181200581f02cded06e153674cadab3b6666f06a6d44f9ccaafa4d48cd43711984041b205820ffffffffffffffffffffffffffffffffffffffffffffffffffffc903c1fda5ff00581f02990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5410500581f02cd7bebe5dce5c60f44577a1c786e6fbe7b23ec9af9e0f7e47e082c2c99765820ffffffffffffffffffffffffffffffffffffffffffffffffffff673473ad7fff0219404100582003556c6f3401f5fa1a77b423d4c4756aea1d1be7c4213ea92ed8d90b7212f570581f0184e0c703ff876ab7b9b39a847197b0495a5342bbf2631d24ff73d1ed379c005820032d76b019f8a32507a4af1a1f3277191e148b8f9240d554ceb604592364a7e0581f0f243c260a3d505b21e0341d26f19c710333fbbee0f1e137be81ac0fdb71d70219cc460058200366fc77ce04db4929b96af816e0eb4895f985604e9b4d669b791c5abc8870b05820ffffffffffffffffffffffffffffffffffffffffffffffffffff57d069a97efa00582003667fc956c9b09e6996debc3ccf081baf8de2d22c6b55baaa11a7076b0cc2205820fffffffffffffffffffffffffffffffffffffffffffffffffffe6315d670541d00581f02147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289581828c87cb5c89a2571ebfdcb54864ada834a0000000000000000581f021f52b423a690d7a8a8421f2ff2218f539c02543f8b09ff0feb15b7303a6b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffefdad746ce2f0219100803f61322bad1ba3a3ef45fd70247b44e8e1e4225ee7e4c7809d6876597b16c65d20320200732ced567631838d85ea0b17abfc4638698f0dde7b0eb39fe43b5afac7103fc6ba40652566b3c946dba72cf8dbef112a361bd8c0c7d8e92b77c3cb45a411900582003eb5c3950ae669c01c8db9248c8df4a8500bf77e11684067b86705f6748dd805820ffffffffffffffffffffffffffffffffffffffffffffffffffff59ea903681ff0385ac3c870f1926422e94f01e315c2883f85354773c9bfd3bb961ba184f1fce3e005820034e21cbe1d6b6ae5d49144fba98b04d0664c82de4826cdd82cba25bb57c7a505820fffffffffffffffffffffffffffffffffffffffffffffffffff9aae2476297ff0219547d0366704b4af735a4453d0d9e32a8f9a093c2866fd21b30dd1f5fb193fb5b1b6f6403b86660b1382dc4d6440ee2a5efe4e04be13df2e682f396be08bb9f98a71e8afa03d880b4978b94a21cf65b6f3cc4252e5a9c1dd2b2c61a3c953ff9836f1928bb5303560dcd880210ecae94c64cb5b92390c49fe83e539fa176b40d07ee835a9a09bc03e7e141f8a64052c3cb607eb4f2bf268d1b6899ab90720f8e94894b9433a7fbf403a162be6fd4c5524b0e621f077ae383dd484fddd5d959f2f0efaf6dc27b0afba6032fba613c83a32ee5ce054a8528548d5ac332d6824367c6317f8f4a99fa73c74f00582003fddfbce8e1690ac20829ea69525d0c689f475aea55c4355dc0c943483491305820fffffffffffffffffffffffffffffffffffffffffffffffffffef61b434935ff0058200373662b1120a6aa10b0cc2f244fe660ba729bced68eb1359c9e06a5d08693e058200297d1328e9dcdddbb277e452ed26ad37c35791cf6a7631f716a3090ddaed0920058200389ced1b57c57a194a7521f3b0836b6086df8bcdcf402d561d59e2c7e290290581f095035d38b94dba49e2e455b28fd2cbdd324547c279a36f7c429b1e2a2788800582003d086f3fb9940f5379ab5c598f0717cf8b78938545b551e0add65840ddc2a20581f02439342840debaa46f46b6c1a4c0c41c845c292213fa3e7950d870ebbd3f700582003a50f8f7891b12780aadfcae4f81f8352f697605bad76651c5ba996a82a91e0581f34b356a659bbfc7c6f5f9db7fb765e02a14b3cec0629d5a27f116b0eb2ed7d00582003af2d7a04b1a61895526883eb418fa9912282eaad0bd032870e27deabb7e8d0581f0fba8ba7fefa662a7953dcadf67b0e85782c4d755d284773ec0899677c675d03f2dd3938ed1cb7066921ab250786e6cbf962e7cf8789b7867f136d820b6d989d021929b60219ffff03559c02e10fb88e44893556accb616a68ff8dea8b3b3d3a44fbc6a165758d21ba031e6a0014f0d9b9aad29c51bb21d43ec212f9e964bb9fc87f76b8dab08cb5cc110382db83c5b09333c184c0b4d36e41ff46432be7a0427085da269d96da97800dd60349647589f71e7553a5deac681918bb6b4bc955ab9ae5e62433014651f906238d033632d92a004f67f725a9e99b47d79a521deeec89f79d3ef2be3e15fe5bf756bf03c1f7d959a7cd6b3cbc8edbec4b7c40755effd4c9579ab4f4b527ed94b610ec060058200370177d9da5c2673e8f96bb95a2242f4d05363210e6bd28349eb6da6412c1105820ffffffffffffffffffffffffffffffffffffffffffffffffffffed1713112cf80309ff04e550c85c95117ab6e8b39a587a8b126fc30584493c7d6ec5ac6c3f37e000582003d1355c9bad1ae8471c92a0548ae0f8def979841a819abbb3968e6b4b7d51e0581f070267cfb95874b7b868a1505df75812a5fd40abfdba09125c97166abb059d0058200377565ef6b2e8134a458a1a51a660448436a4e55d2bff21871481e711ba78e0581f04b44bbda3d4e845d75ae8e690a27cd38c3d5e2a73c26c4734a2beebfd84590311a0d2b09f710abf59e625479275019ad382c1ad25e2d1b57b7eb5c5771dd6d8030003d07ddad4da1528f763155fab718c97fe38c15a69276a5ad1cb35d2689a1d00582003b97e6ab1b7b53ea114c746dd3e5d9a274577f0ca3b7856ceeb173f036f56a0459ea999c3a3036680bfc17daba5d91efcdaf4d3a34c4c70e2cf2a7374ac99d1f47e75e6cbf7eb00582003b0bf2f741f3c57fb0cbbe66ad8ea8f5c67030a0aec5ce6cfa411c91303bd505820fffffffffffffffffffffffffffffffffffffffffffffffffffee6eb6d7d043f00582003f7f8d3472ed9545c924492b5d518e7f260f0048100ec5306f8dd8f8ced8cd0581d209c85e39b5e0c3b7ad1c1c289f9a0088dc93f66bacef269952571a7d00219fdc7031ec2264c722a549557520099cc4fb9b65210071df15182db82a01dfde2c5cb61033c0c99438d68f3d838e2c4cd7ff0b8485bb5b7fb5181fd1105daeafa673fa1e603750464e701547ad87425fd6b79eea082f97cccfbea891a267ef76a0f37cb91c0031259c56f3196341078a7889b35e7d3465c82ad2522bac6d6ccd377fed951ac0003dd5f9363d5d00c24aa3930711f93dba5cfe38ded99edc1d8d553277edf7286fe03793e51ae832382be4ea317cddbfd76d75d2cf565cc9bd64f7b4d20874395ccd7005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05820fffffffffffffffffffffffffffffffffffffffffffffffffed58b3f83960000005820033200ab5364775cc11a81d794f3adde7a8caa32c8d6fb16e39e2bf5c6a5a2205819b877aa3236a4b44909befeb9fad487c2ff8df0157db98d374f03f71e87e07f3b22d9a765cf7577e50af02c2bf9459a5f4e92cb35c34338a941a900582003e45c400232e105bb226040b9a3a2410d90bfc8d3cef1d29e86e3912380ddf05820fffffffffffffffffffffffffffffffffffffffffffffffffffffd458210cfff03fc1e51c1a27116af15f82ffc108e7a4ec19c27ecc6a20ec4d976eac48752c95100582003c107d257ca2581424fb05191bd2be9afe045d31e71d6c1c54564db360d2890581f085a3a3019cec2f1beb1670a70f59cda7300e1abca590ae1ddc6f24abbc661005820039d63d55b1f990e0f039ad3cf1feabac925013f7509c048be5a3d89588f32a0581f15e784aae52e3da9b2d9b9091975c004f8e5927c9d553ec3ff287f881fc7d700582003f9a4e702381121904247e1001f5336adc4292b7e7346502e8f29bc36b470705820fffffffffffffffffffffffffffffffffffffffffffffffffffeaa829cd11fff0219e77b036ca5f4e4b8f98519d3add4a87e89283ce467b91d92537867e74df241a907f2cd03755dc333a0cd91462ea4621eee4068fd5dec55f18dffde9508f82d29ef0b1a2c031fc8385f1ef5433bbb49accced005eaeccb56679677f5842b0ade7da757745c203880f9fa2b346fe0bbab01330982c7159063bdd625bcaeffbcf46ae35fbc11a10038d14bad3b7d1d552e028065b6e294491d617cdc4710e0ba72c2af8285438554b032873cbaa21cf6296e74ef84445c17bd4e2716b00c9ca31bf09c72e25327c7123032e8ccf91872013cb2ca8f9957a48f042343cede9977b36760efb66776b8a5cff03c417f1885c1f7fc5530de392114c88225fe4a7cae5fef818f2f0b3fa823d170303b1a1c1be119c02f4a1b697de1ccd38f7ccd852fa9b072e88d6749221ce0773ae0219ffff0219ffff05581e03810c609e4b8b46ccafea53b85c2e29624db3ccb9923631e571a455e5f00701191ca303ba50eadf7d759571a421bec2f3a6de50f3ff198e61c114a3d5fed7cd3d7bb9e503ac5b690c69fbe8cf287ad1bd0a03b3b4cb80441d5f38b2d53276b4cde100b7c205581e03d147a557c0b5a41f86c03c6e550ca4032d53ce84b848121cd5ff4ffd800c18544701d6577025f79905581e03849748a2a49df095446ab1a94c3d9fa6e1bf2e0ff704133df759bf18f00c0247018f8df7bc502805581e03b52c4bfc37fc8a3fcfb60a3c2de4963980070913c94905b812a43631a0040d037d5bbdfb7e28b0b23c8bace617c19d7115030c98c20b59194d0ed7985cde5d6b0309f8f45ed193783b9910fa90fb9ef9dde34f4e1c5d0ebcb19e9ad92691a90fb805581e0344f3730cad4033a46018ff3a49431fab96cd0fea0269e911af33a87220040102195d8b03adc1faf907b3c8acdfb6b8e623c3ba953b4911cd83020dd49f3d87bb9756b4c70396ef7d83c64b71753089d7623b250bc24c8e8f0bfae71091db47838367a49f4c03658a0b781035df9bb14f1f5298e5f806b8d531ca5a53adc85076b05a0915468103d7053f444fedb5c5b9283411cac9244b092550be36255486b367886a6eb6693703af8d3c8cacec19d0a5ece8f5bed015d041947ebc1db3c56ef1e86460be510b47034a55cc2d61c9fc8ce05e34729b12be915fc73e9c08b69b7cc48719923ca0265c034524f65a8a3d56a66abde5396d61aff8baf4002ccf1b290fb3f5450c7d0e198e03ecaa77bc0b3375e1f350260e8457ed0aa4649957487cb49a3293f04db92d28ed034bd53245b9d4a32635e832cad112b756c0353c21d9a6eab4748d618e9db6c0de03d204f2ab3d6ab7de0218713eb6913d07709ba51a8ea60abfa427e045628a8a7d0360b74afeb48bd3cac4b631f80f6defd74809505213b2a3d1c2df7963735624340368dbc6db0c9b76f9339798a2f75e70a11268f9e292ceb722a6b570de6d7b69f003f162ec9384b78ee91661ced88d52a91aca7dfa1a0a70369a091bd8788aa7abd10219ffff03df00aaf8e96058f288cbee1c6edcd78caf2c7fa4fa5c29dd9a1b3bb5fe6f53d50381ab67f485273558a81b4a37532fe473102ef25cb315886566656b065c1656e003c7b10fcf4d6a782694be86f578ff92c55a416ae9d4faab99bb123ae341d6def103d23e846364fe76a7b968686b80675bcd1657df357ce39bb0830f534016a17f06037dcf3fbe1241fa4a8fb8ed325c1f35fc213b5f935b716c9c02b8c9d3900fd50f03609c44dd2f0b883f856f611ee4c60ad7dee08a65ac01fefc54aa9e9d835a2fc403cf217c2e7a802242481108e5d87a1774d5864d3016755c7c83b46c0918301f7a0399beaa3972906d4eb05083d8ae6c901881fe0385856254f588972673f40eb499036c9ee8f34c6fb25dbd36fd3d58848b1e14b87996634ca36880810cec711c9d1903f4e628672d394a3e8842f65c6ee08347dac85dd4b0386c4e043e1cbffc25153e0382f6756b113286802888dcd6c28264c7f3b31356832fd369dee0ac75e4472eb6033b5b17eeed92f4e6b9e1b96c199a2af676cd42493802abc0fde2cdc4fc4f5ebb0324ba6677ddacb28df58fb631fe3e53a48bbe0fb1479b1ff5b32f1d6ba00d393f03df300ecccb186f7e5681ecd53e0d11b21b3e8addd4545204012135109bd7d2070219ffff0381e6fa7631412244a2486259e1324f8fef72e5d23f83de2fa60d63824f547222037ff05b732d4426ed8f0dc8257ff334317000beb0cd7f954765c218046230e869039f6f26af4d20f9f49052b38c2f426c08206f51ccde5056d50a76b97ac536d5020314b3547b89510778cc0585622cf46fa853f1d4a9bc084f1a2d70cfcc518dbe710335b8dbdfea4d99721d6e5ebdd5bef86c3ddbd1b4bb504ea097e3cdf2ce9fa749030ec06ce8565c2430e47728c4c79527971138a7ec5ae0c2d4c1ab872ce42058470219ffff036ae31bdf7e759784ce575e67914de0c19c4f310b917987d19e1e1e00ed8aa6f60332551ef7b51e44fde445964d84cfb81f9a136560d89673c421a05f06a0d68cf8035409d34507c786665a6d9a93a0bf80a75ac8156f90735d3a2dcf1dff8ed82b41035786c8b5a307ef150ffe767df78ee60247128160715422570f575bb982fa418503d273ba765418c3af530fe96ec953562f3057c7e0b6674947078ca9e87625a88c03f28324ae4a1b0278849c9fcf437634a532636f3c41436df792fa269d3b65318003fa4390c047b7f195e2cc828e09961804ef922984dfcf06c9d2a8236dec15161b03f0f1c7efb43e16a96aac3520202121e86024982939a592c137d13cd4a2adf510038e8e9d697cb901568a57adc5a764d1a258d3bf0a6cba3aac330829a49a58c6650362d18fd6a49d396c6f544eeff6cf85cb65792c97e09b1d608586e093e281e055039bc16624cc10b103cd2b1a264e2918b208e1819264f0e7e334de9263d3d3ce03030435c54d2456d85361a12a8403d601bafa93015447e2adce7b909e49842a34f503dcc4d9f38adc9011b28b341e7fc84485318f5d48d200eead826dc199ac4c0f9d0360ffa40890852ca82bfb6e4206b0d1f33c2d6291ab7a7412a73ca43317e6e97903a0fe9c180af169f7e39c0e9ca33a3fed5236abcb77ba6f4eea86389429dd40f303fb776c57bd281a1e2c5ca13d909c7dc7eb0f77efe7dd2932c5fdb6ec5ccab69d0330e194a568811fef87185206aadfef6bf11fbf8c4e396e23deae3652c10bc8c90306aee77b55345e341b687a93d5bed422720b2c4c8649aeed066e26d0f8619db3039635c9ef87faf1996f099857806b92e6c9416f9c5898c56aca345e0744d8b9a8039483c07ef766ca74f51978ab056d7aae28a81c872ab1d5583b22751f52a61e2203de56bbf8ee1d4dca25bd68de27598cb198f8311cdc32eef049ff3450169fd7b8031aa7455c87734f53fa1433d7517d47e6980ebf94f96e093898d32f509f50f51e034b41ebcffb3b3930beeb8d60c578cdec7959aeb33cc3e189a7ddbe179448283f0313f33fe785deb952eeff317b1eeb4200f2aa1fa0204cf90e9f26b91f25c1f86e032642131f14efe01c6b50295ff8edde1dc419ca2cb24c7af98b9472b0837c1be8033e7d621bee331c7f3c1a9745f05c0b68df0a923d298a95e562d506b28fbe4fe6035918d2c0eb2dfe0c1303bd353e8102a4438619668761978f6a509c5a6feca05e05581e03b97ebd81420d54758e9ed99f37602c073967f0a7e99bdd31aa5927b7f00c044703966d0f25be9205581e03d4b8e877fa57179818a1888d690496127be1d86127b0b40e81ee3a15f0040305581e03e68eec904279c7571237426f197a6d21f6bd132be99fb4fe007c534460040205581e032949c7e5b68df20165b2f0506403b5ae6f17fadbd529126115028217400c024714b393e95ac86705581e03dc8dbed23b0cb6a9b0db516cc17a85a1c5c5a7980101307b205f10ac80040105581e0362e351780f30eae62b00da45ab2d691adea6479d8727822e764dd04cc00c02470534925639040003b3ddb1435650aed8a444f14b0dec51751082fccdc6415081eda6edac94931ba101410305581e0383836d0c485493e070bea35c443ae29b657e7955f1d67973a31c6141e0040105581d02aa6b8a22e2860cae43e8b198a8282e10de28232a381128d2113a2e1a0c0a4713f5c69a91765a05581d02c33e72aa11311fc9daa1bfe464754bd90d2d5cf5509fb0b5dd3b1adf04010459034d60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b4cc25ee0a1d68f32f84fe62a9fc5447ef0a66bcc894d39af42c6ef4be931c9764736f6c634300080d003303588f6abbab2787264142a977baa55bf8ae443cb0456b51d0efa3af8867026df103e4f2958c8983f3cdb064d8e0205251b4806720239b54f5c8edbb720dc55b1c8903968cb8349064b73fcc89346eed5fe18031b8d67158b0e16c0bdb00ddc4bb67cf0385c1f27566bc6d6ef7b0d85d452a63ee25a8e8c122678aea29447aa1c84fb5a603fae127cec510d994e13938194c06d3cd5abca5c9613771e9e5edfcd32618704403b126849d251f27fc13131896b5884107784201ac359f2ce5ca7f5935e332e7180345033f26764c2ec2170b9e43a5d9bb9dd7381dfe809b899435182baee9c74203033f5d8b9ef9146eb914adea6ba82f2ef3b607ea3280e30f9c03bbc6e3c457f4d3031a9d35cbbd95077183e51d6c3fc608a817f942ff6e3d0ef14067ff1b31dc397803f95736577ff6266ed06df5209b98155419929e0705704c7bf7ae59b475be422903daa25c4115a92bb06e7cd068d0efb175fc3a80bdf7e3cf7bbd9d56f80296eb490335cfc6611ee6c174285e42574fb7b220387fe6c3a0e1e6cffff6faab1515b70203602449c40888e8bd631d8ee592d89441682ecfc6f3a9821395564bf5973ab2bb03af3709176654310db6dcbf5188ba02c0d13776edd21b4962fc05c3e14557876c0383eab9d977e0168bec68ff4a100d309a5e72aafe7ff89433439157ced3a167c0038b0331fd011c23b097053741f9fa0ea8113bf21afedf50ed1c649cd96643596603a17f488b4f4e94e85db716e6b667208b8b54659ee70531840ade6ad73dc7b4ec03603823360b073130784ded5d7473d4067428640a96a10165c4f78c3a7a3635450362efa71111f8bd4edc304470301065480f4ec7207ad59ee79ff9d048bb3cf60a03068c4cc5efef8e16a06c59613605aed980f6e1cd203f3fdc9b1bd788ef0d1df503faca5fa9329f46c5a53b0cf49d737fc8b0c895a23bd7b989c85ce7358f2e995900581f029c24ac51bb5774dbdcee116cb8ff13fdf3b62dfab3de1739b5a15b7f3f4f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f021e13a633a77c331e26b4ad2626c1fb327b3e6418309438f3362ac4f07b8d480c432d84bb89000003383828cef2094a129d2fde5e89e2cf4126a2a6d4b842d6125b64e07d869aba9203585336a782823a0a3906a56b4d625f1dd2474ba7c6289243804ef067c3473d3b00581f0239ad78dd11307d26f9dac30e413546cb55f0c087591b764f741e6fc11d654a30e3532a84eb8322c72800581f02dee46023b71b0d90ad5206f2ff66095a20ba24f5cb987a23e9d24da3cc7f48331fc2b92ecb1f7e021928270398a7337bd88ce79534ee3c87f7fd53d05d5d92d03102fe8e3afaa1ac0b86cce203ff208d03f419996cb118c3822dc021f1c80514e8a5b478275e5aeaa4ff8eacea039487d4c8ac365a5ea2c9b79b35138cf7bbac8ac5758298005dbddce42fe1b28003db461a1c57ec3cac32fadc8f2f64773036fc204c3abd640a965d4f99baa0ce0603c2fcb57238a46d4cda05ab6de0f5e342aec60b3318a211a0016774746f4656f303461f16184966b63d78c545c20d910b43876032500a93f07ddc8581a1db31af070219ffff03d6c68c459faf132462c95be6bffd11a30d759c9f026efe873ff817e657152ea5038c76a0b9242e212f2c4eb1b78ac4c1e428754de50a6e1aea636f5ac02da76c880336adc6071ece97c92c49336ecb8b8d8fc95dbba6ecd9b2ffb07cffcc1061a20403aa1884b44a1156eb0124aa440d0bc02c6118f9b24b3b9f5038b668a9e17c0b250219ffff033ca1c2b7b1d20709426f6200f1cd27409a78fee1a5f78e3280d6db9fe6cae2040375e99d5233422e2d03b721b2d5cbb1429ca9f723847ac26e048cdb23b20f1d170367673886e1243b1dad825ea715edbdb64ff2be7dc9323ec09b84ee0f255fb01103f4afab11d6c3663220d39f44e1a62c089cd64ff1d180991f2b34adfe2483f0600342cf7a40bdceae861ebb2f18ec5ba48a43ba0ff576fe3e10d449ca0f999c9e20034fa8b43fc9a4447b4375ad0cf67bfadf9b8e05cee558f1be93c3e880a87f04da031a6f07b35129c5b79958a9541530a51ffeff5e786732e1413ff6020a3bfe3b340334526d63b26aa726f73718032194a012e5695da6d836d1d0c1ea7493bdcb9d0303440a178b07319d4f088b742acf9352ec22b637915be782c3f4d03d223c9813be037137003e1b92d7070c6373f3165556f7ef9c63e160edb5988fb1707e1b958583038fc73be7e4ce37ed49798a42dc061df503c43beb3eaff6eae7092f691aaeaae70325d5c0dba64a22f827074cdc52aa791b242b9f46374d8e31622f4103f32b019c03bfa1f9d78e8ebde7c8b8fa3cf14066d1fb59c43b1d229d617d803497048e82af03040e521e0d0c077f80fe8756aedee4d9587080ce566b683a55a0f7ff7f2dab1303727fabd86ad5f81398928425b4dd92bec354946e313f4589632a05c8e628647e03bb3259998be6a9d32d35e2c6b01e282c4c1d3d4baf403caf509cc884739aa36c0399c59ff599f77fbc04ef6fb7f3fa8607d802292ff18a2e1de731fa87c5389f710360a3f0ee00569ffbe611e8a951664229d84956fecb6493bff93ac771717db76a03cd7f1bd6d9927d3b18ef316a95ec27e29fccd0d50e8d22be7cf0152ab7674f16034d598a58500f1d824c6de8ef57cf1794e6293c3eef51c2ccede70e969c9ecad903dc6058c32ce8d8c518accc16552dd42ff5271a4d098f49e5dc068ce87fb4e15403fe8401f3136b00b37b6524f9c18c328a60bacdf3169d17974b1ad7da4d4474420376f4876655883c71d512127c891e21f3eee0e0c65af92e087fe0a3ca9af0b5ca00581f03866e5c617f29f09125902f90b0b8d3dfc45e4660d1d645ee739565ea6e00463717e139dcd900581f03dae6f448572cd43e9ab8b90a1ed0a4c9e49f11c791479d24a357eb8b069041110219140000581f02f2dc021d1c0a8a673fbffb6781a34c1c38d46f01ab406dfe2d31442cbb1d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02e1b488347ca89c942494935fdedf06b3710f7bef35daca43f8ceda8e6d0b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192085038dc57368ac9da6ee15518f1b8858f30642ac801c95660f901ebb87b251515c3d03209bb394be4315883468fbdd660dc7809c5590cc3f99298fc0c6072b669b8d300334607456a8e2256157c5863afadd659bdc05ad1391ae50afa8802b8edc1148e703d19fad966798a4e520c3f2cd7c257d2288833fc5e8cf9977023b3cd1a15762300219fffb0389648164feb708ff960ef2914452a97f19e735693006f9575610744f597caa4603e105bd8d8f7f74f0f4a85272adc53e5054ab4e04873b09543988871ad65630cc03d5314520a90563471831043397f3051939c6a4ad70acbe07fc20238de9fe105f03b9d2b9a64f43d2b0d154adee3fef81e6af2441aed63cf73dd9aa068a327e974003eef979cf100121bfb967a51432d33538e7ec51eef84bb68520649b57e087819303f7128dd20a903278e465e188d65bef3abcc02324afdd27ea5690f68a270dbe680219ffff034ca08bab782f649757ffde029358303e8c7c2597fc1d00153a3a8ab704989e4f0363915836cc49ba9e42c05601f510663e1817ce13f659fe4e73ba973151b976a4038b74b79655fec0e7a5e8fdbfef8729caaa29b40de07fac75f3ba5519c920c9da039faecd98827b6923d0c215dc0e5aa47b342ec8a8b74f9d7b2a9fa3776fe9687c0339d530d90cf3bcfe6d4f379547ed359a6a7fa87ad1f7e2f5406e1134fae3943c039d2748283c803de1a09b2a3928dfe74c3b10536db78e345aedb993e2b7f939ea03c9ad9e1cf0fe0b7f14bcc185a87bf7cac667b9c24c1c4a975d5dc3c35e6e48f20316ce87d01534c0a4be876264f25b5b664d5d564f5ef309568d73fe76f1ea584503d0136baf593036634316b2abf4b7db652365d4b37c7c39077cbe29323c9b5e8a038c0950b1aa5b345e93b611007333c6eba217a12023fc980e069c8b6dc82d654b03e671260f12b7cc0d842d5a90d7b19f3b71bc8906713284a17a9c730a1f94ea3103b5c2dec3cd9d4b39c72adc162eee440702ff7320b0b65b6f698d8473ce6fc631035f5f0581c9a7a74c4e0b4bb4a35a26e3d9aad3e165c420d8dd50667eea0c843c0390341159b9e47add9fb69296e331b56412cce4d0c8ee83c1687bd833d9f1c8d1031adc94f2436fa2e4e6162ca0a1898f7bb0245c083847f9832fbaa9f8129b7bc4032e86f53eb2621aaea8f43424ccaf57dd809661678e76a636c208f6a445f344f403537b1744c325833e68ab9635caaab37cfcfac93323458c33444969dfcccee5c700581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54e629ee84c1bd9ea9c677d2d5391919fcf5e7d5d900581f02f8982fb94f9724ea1c9f6054e8e0b260d62f715bbdad3d303232c6632ba7480c4553830c323198021403bd09c38af059ac44d1a0d04576da518070c13d0a0ef03a8ed538810fc40642a5039d0a48d1c03e19d796f099efe22c375c81b1b0780f0e5b8c1c1669d662d896580372073584c5639b3f9f443172fa767e3616de2466a75523e0474e2fddea9381f7030897f987c02cb37226ce3fc5b1ea1ae125bb1347305c9948a135887618390e7b0219ffff032c8889e9f8dc642ae8d1216dab24a8de1cae7455f8db116da53eb3183ab25ea003395e1a4b115664f0e7d65b647de7f418e06e0715c63885c8ec8d5f4415133039032c007b1d9cff3e8426f79fab8fbe957974496ffb6facdf37dd2acd722fd3db69036c40a768e17aeaf0ad2e6885702f158fd0878b82057779d8a3847c6c7d33cc050394f4d99533b846f893144572e7fdde22cd29e5c250afe53d202eb00609c7b00003f5e11e88cbb11d496f9d140f58e0a512578aa5ac258848a90ebb160d825fe89303e786bd4cd60ca554af798bbd118ac90fd40a56381d8fcc1ac80d05fffcfb997d03f190445b81356164dbf30e627efe280be17037559fdeb9801d38daa0b3e2a3c00319f465ea899cbbad07126d6709985fb94e31bd33034f31283a2a05dfb9e968cf03524c7d04e51c0f79bff01890a87a1232e8658b2aa52e09a4c786b28fd962ebf90219ffff03badc0910b84aaf56b2e7ebef9bb62482f300d0b50c9491bfeed169c38e934e7003d7ec3719c748a31e27108b839c8d9f6ee36a00cf67e1842254b0ee51d202673103ed141b5c7ceb92e0e48531d98af1bc8164db5bf2b5925f8d2b946a8c2514663003e232817a232d83856668349136f9d0346c08454b9154745b257361c3d629d11d0398faf836bcb1255c09596e295cdb6406eac84caa0c11f551e7e22fe930d4a15003399421c0ee62b61ae97f1f9f620ff58e24f1d96ea457a9e114ba096f8bb9ac3e032e7c8e9481ef58ee6c04b15668daaad923f80a36e6d7e875021dc56835719160037184297987655f31299ac365e5195ade00ff241016064f7952c9350c0312832e0219ffff05581d02f88807cf1fc8c91498ac5253d4c399c6bd4101c4d9699ee6807ef452070119034d0219890003088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e03b3647c746aa2a5427cbdffb828296e68b77f0333c26a412401ef64362007011bffffffffffffffff05581e03b5dbcd4a5484d8c931e2ddd3a3960adb69d1b0356b334bd7b3160f32300c0347bce579bacbe1c902192bbf030a1526cfeb044b3ef539a005b328fe00f5c6e4737e15786f6698a03073bebbbe0219ffff03888fe23102607e14bceefb469cc5ec813c73b172678124649089ca62b74ca4cd0365b1d3268a6d92fdcb1dd521bff80214818a4e32f6e90256cc11d5cd1b1d7e1503763a8dff3e1b0521ca747ef8f99a02437e8ccd499fa310e440a81369495af2b1036369720a754719d65df2c0f8483c1678dd68d818bd1c7430cd579acba5b9314203ff8e7b72d5a55f0d2f6c088c91859c6f06ed28374594ebf485708ef5a1b6c13503a441895776e904ca0d61527a6be6252c283378ce3a7920a92c7dd949d379964803205939c782c81c449380dc692f3c0b75c67a03ccb82207df6b74f99f77940ab703495a2bb7e5bfb22f002e1fe481b1beb46237d0653dc1814bbd883db0fd8871f00219ffff03138496d0adf27af03e2e4e08fe2aba541e09138c1e39f6515e228b5da21de6bb033185721b5a8562749c3176178183d85fe5b232491dd2c8282bf6b21bd1b22554039d95d536ae01a196c4f2086dde953437a07041469b0750ca087cdd1963e27e9a039ea15ad1430c1acddfc2353ba48916aed2d81e3b791b47add7b19926b5cdc63603eadf1403048232361e61d6b7e5ea0a1c463bdec2cd79fb6027e3bf0642033100037c758740fab93b4eeecff2892a82ffdfad0bf7ad82c193b0a9283db0cc74f7b903fb974562ef0dfee6fba329f7fe5ec0c0d1f189b6ae271857c100bebe0a32ec8a03459b6891aeb7433d624b75eab5cb5a5e5c893b78e9dfcb31d682c6990353550203f3ad678b7e747b80df7ecff7fb55fdc903ef2ff40915f9fae4b9d99a77848136030da1204bd11ee1c9534e99c2355cda2afeabad4d3ab5e2b14e5704affc12157103b4a7d7c1dbc1a4c73091bc239aa3b89c6400977b6cc4a87320212a923e07b6f703e47448164e4b457cc44943ec69aa6f59f9f184293f6008979f914a1bc83c24dc0219ffff0219ffff03338232950c2a09e528048681f5dd423080a21c14a88112e823f27aa8177d92d703de0c38212f06e45236dbe452c4a7a2031513353679d22a249bb08f1173aa415303a41960477533db4db0d1585d9c10ea52e5e3181d88e6879790889743cdf6b10f03799e2180a5e3df42e4ceee7d3974dea916c3c3139c411b1d2c7c08fbdab5db4703cb07fce71f8e6bea4224755d228f2c8d1b1de53900d5746927746d004378f3d703f3140117d2edcdae78838a63d83566fd0539ec0aab9bd2084a99b4891cf6c7f70307371c471aea91b5da660b008d284650f34e326fc70213738ef780ad999964e6036f6239bdea646b00611432f2b4b8d8492dfd4cae1e6484c9da56b4ca1c4ad2140369eda70bed99a949f7bd634da8550db824430a54a20c9e3b06cb0c4704332fd303dfd313fb50fed1a228cbc2d2b72291b92e1ffcaa2b324cfc9356e6fc467c62730330ac98b49b84c2cc97c9597210f408e94b0592df541676c92ae0b281f75cffba03d43e4842c75f55f7baa75a66e6be3959dcdf8058b873b08997e5324c70cee73d0344352bf3663dc67729b973413f29ff5adfb44b958c460b537f8af88dfea35731031d2acd9cfc015f3146f1d81b9d79c67a681e8d0a7ed9ada939260961c219a8a20310e40297eade6358b9fd4af2526542fc354a4b309c0310b661b1861c984c808403698634f03ae9df39dca5e3850f479a61609be013544976be637150ce43dd4584033d197fa5fa97d83b8b7594b74df4a53150199bf312398f38f2e469b3243da87003867cf0a040064632b7923c29f50bf36bfb0a651971c9b6a05e1872bf0b7a301403be5b1715915bf60254e57b7b862adb216ea4bd388064454bdaebcc7c0c52cd90035bfeddcb96b016b55b1a29a1fb4fb2eb0971c6f1f10a121df5cb43fa23e8881c0364aa306a266edeacc54e211e5aa0f31206e218146aceee7687ff4bc39409dfec0314ca71cb4bb62f12c54ae7a06297d63d6d1d056acb3c870b4ca0346e9c570d28032e896a22f0d7412fe466da34fa86f6e40ede113640efa002b7d80d27d8d8469103134b3de75fd1a03ba83be023470d7081848c7f544d94d423c9f3f37907ec3937034454737f276cecdc6b68dcd214e6e810d22ae63f294d39c950b327587ced5efc03f444a7d56ab1f7136aaef2094d870d12e3631e2fe481341afa04342374c8aa34037045df8c5932ab11573aa7dab04f2ab01cb54294295c3df31485990b5df5c10703b81ca1df0b928e7397bbc6c5f4b444fad75898be3cdd0786b548caef94d5c14b03a3dcc7c0e1e1f8e57b8ae3a92f139efffeea182875be7847925ac2fcc59661050333b018a0d7bafe9d993927d7dbd613da51c80188f9be31ce243c1f882023ce2503cfd5f7a0799c8aa14dbdd3f89da5c665fc5706ae4b025111d9307858864a4b3b0377cc5231e88992041b922f5b57ae99a1c045023d399e3150ebe40bae7df2996d05581e03b941d9d55aa59df2d6b6b17052a377cef85ff43c40671e60c3adb4608004020459012a608060405260043610601f5760003560e01c80635c60da1b14603157602b565b36602b576029605f565b005b6029605f565b348015603c57600080fd5b5060436097565b6040516001600160a01b03909116815260200160405180910390f35b609560917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b60d1565b565b600060c97f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b90565b3660008037600080366000845af43d6000803e80801560ef573d6000f35b3d6000fdfea2646970667358221220d1f3ad18debd12fb20d5c9fd636076cb539fedb1a01cd8a91072bd2afb5c537f64736f6c634300081100330399ebf133fe8723ef0962bed05bab9ec0f2403743b73b4fd4f7c1b0f83e1210a700582002591efcf14a8037fc0736cb9b4baa0914e812feec5aabee51f691d28c73507b58204d5f6168365250666f68324347365969354379564b4b5a566879714a397877000058200231c29e4eb189ae257f8587355ceb78bcb6f9478087572ccbbde079fb4045ab417f0218480058200273b9a21f2816c60cd6e7d0080e28a59012be6260a68cfc29212fb69dc684245820464434392d52357a673746756943636d592d4f3741345078316c38716b2d550000582002f6c218adf4ee05d5611cde85ff2408db0a36ac36be181c62a5c69811dd0b22410100582002223b3645438bd46cc52fb8650f8680ad9c070c47f016b2aa05218a188c56c34101005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563410100582002816dc1cd1fa03f34f1141a87ad6fb7f728c8b815151877f61c469f8257ea68582074787151716b3955617338344c535a344a4a58736c644a66675062326f415900005820021eac52197632d713504791e8b19000f07bd21df994f1ae509061433fe19762582068747470733a2f2f617277656176652e6e65742f6935524a76734a3932697a5302191b4800582002752f54d7643cce312f0db796a5189d11a9db42ba3c36492fd6a3926f41a291582068747470733a2f2f617277656176652e6e65742f753032764141675450355570005820020af5aaea34e656fad90ab71a09a08069f25ee3a62513a94d745ed932b0b2605433f8d62cd5e28fb8b11f868c07674f7181a5d4730219011000582103e086239f58b57bd72b8fca7a0d185e5ac35f5b630985f02617aec9d63bc1d680410103ebca91a47b1e51c5c1eefa3cc365e31c5488273231d2b48546609591da65adc5037ec38c586e081735bd7bf301bb909dd7153d92af9c1d3ebf7825e1a7ffd7bcf700582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d545133522ea5a0494ecb83f26311a095ddd7a9d4b600582002b4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39991430858206d617000000000000000000000000000000000000000000000000000000000060219802000582003829a643a48a9d1e874514095d907e2d35e7c8c79d42a3891a8c00c98855b20582068747470733a2f2f617277656176652e6e65742f6734366e6c454b7566316b490058200375bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82054a9afad34421a12341148abfc6a4aa7f836522697005820030d9abba991a7c82955d810f93aa041301a9b00e0819e8b0b099334edcc2f6054a9afad34421a12341148abfc6a4aa7f83652269702191408005820020ccee3856fa6221385b07663e27fba3a875616da6de978aed798dff44747fb410100582002f97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c7410102198404031db4e3c8b8e55d5b872722b7e91d5660318d7175b7f0c2632df598bbce8d57e903f9459ad859b5e3174e5aff86f27805cd3f30dd724c89005e0c5f7239608b3fb800582103eb6fb9b62f8eec77337f66e9a205ed307ab62e13ffd61e70df38519ee7d51740410100582103d146a9a3599dff2220cfb0e49e710462d564edca3ff2653ce42ec6132d862f0054b318ec53cb3153400696e149445b57ade94a84a4030c8f1c68806e34cd299b5b845ed05c51589011202ec8717f5208d13bc9699b8300582103c6c9c26027d867b9eb1b58b1d0ee9a127453ad4ee93353d5b4162666824298d04101036a672edd76d6d9ea90e60b0ee36ac0816fb4c614c971a2c0ce2e93adb2fa3a940219ffff05581e0399d599cd3a1c393b0c7bba4dc987d2bf5480f55ae4ed728fc0fef21010070119012a03ff7ab71a3a731c2b9c59c36769cf1b09324e25fc64b2da8d795e53f08791dced05581e037bc6158a110b052a81ce171494de5a0074cdf93d1e35bf3a998b08d220040305581e03fcc9f119dd65d81e9303ad2b7865bcafbc5b16a2191b218a3f6b705c30040102197304038fc5e78f8ac00474ec93ad1b77b9dad27a2dcd85b3888992dfdcea0b792f539003eae8e11022e4b664bc260260df44ddae19707f08457577115cbfa1f8d3b3f252033a13ea2aa71704db4b13505619d441a78bd7153779936ab385974bcdf5aeba4203300a65fbd772cb54f18620cdf79c83abb34ef43f50f5705a1454be56dfdda97703a7b8522d2030634572ed95c2ba16ce7ef1df1064724f690b031b1d5395fee5470362e717cb539e2139d4a36f925176940ab67e9a04408578068c2d855f0b5d04d20381df4b5e415cbdb27661627f836f3897d980f5fb16cf798694323d99a7909fc10397a989ead18f95f510d311dea9cbbe60894b3a6aaa839e784be829a02876ab04039490f9afadbd5afaa654635a4261b3a7031a9195971fc2522334755bec2ef18803267c137a2b5e8fa426220567d5c47d8baa613066015d1870ffa4d3adc92f1aab03fa93dcc944056c240aa64460298452fc355d260586be160ba5705e766ba358a00365d14b448c7c7ec5eb62f7c8c97f8b48457893ff174805231a386de7180749b90311db3259de3fb54abe78064ca3f4fd3864b879e0ed1d138dabe6699b7375a7d9036a10547080599202dbe6fbdbfb21712622e7bc0617bafa7191cd934df976a1940219ffff03d3565119a568d5b18635118d510043be41e17537e4ba62ceca3cd5a0572e95fd037d6e5cba743dcb92eb5c6b98e59392494f79f09cfc3631897cd99f08f5804a9a03c57126b95a925858cded82e54b69e6fd58fcc93e904a7717e4d3d318c36688b90219ffff03219b5d6828c898d8a6b5627ccbdd74f6c5b3ba3abf8ce04fe65adcfd7afa0c3d03096f5cb5047933672354add40c44806d7cfafb6907938b0152f3d7fe4b2e440503d63aa1493273b0c7a484ff5574aa292d85f7d2c7111609eaffc4c6f2ed177670030a9cd297f497abf609b89af4030cc29d61151bd694b450db2ff7c9dcdadfb34603144fa5285f2bced3af029bb5af7bab7379ea6b43a37be44ac11ad6c2851c676c034a79b2843156cf49a58cf4a7ad1adc497662e50a2a51938cce46475a5a0bfb820309f350a914d0226a98d8fdee66739b2aabf7998b5dd62681bd9fd436f513620c0318386d1e0cd8337dcf1e42754f68141fb2d1b74a80061cee8b1e69c7c863d5ec0219ffff03e51f49bf2c34fe6a3aba4f98f994ddfe01e7ac9bbaf9cee25e6ea87816196934030a9d83831c314328c5930ae81c67e5eac454ec08e964ece8cfd0082a377f6d5703c7b3c0ce46b35eca6350ae1bd2fba3f602d3c11aec8737126035af9c186ba92f033e446288df30fcd3dd55845171f1468a3dcbf6092aadaf4b0e87202f937891220219ffff032205d202ae6c52748d3a9d2e7836d9062a2a9feada05b1fcaab7fdaf0e555eff035d05d738c97024d571fbb6dc45c4773d29e16d4bb38dc6fda307734d3212a7f603125534f0c9a429e316a921051c80156994c2884300257be39d5caedf2aeba99b0309f8babef31373cadb5a8cf3c4901703b6250643c962a1e53a935ac16e2873ae0399952f43c1ae706d032a8578428647ec3e6f87b87d358f332e25adfe98bb302d038c96b8e4425367982fb8ef7821541fef9f884fcb411beaef56dfd5b7d018e36a0363b30572985c7bdf0a7fa5f19ee3007178c411de565adaebc1469ff8a8969e3903fed5db25b7872483c1d1484fae47f7d7249ccaed0e439bda33c79c1d1436d49d038bed0156b6c6308dab54dd3ec3b575cc5916fb3d77cce45ac86b95d1f6e03ca603fa59204b2dd86c071c1a660c30f0545f7b033fc10e1f9bcccf187bb0863ac622031a29bbb8d9cec7ef8fb45952b52503045bbe4512a55e78529407dbc7a18427af035c1a9eef9061a139d725e6429f03c08545b2337cd795d9e2c0058e796c3fa9ab03c58db123a788118be82631509bde54bb496fb806483794ca4bfe4cbdabc02f3c031a5cc0dce739ec600a88cd974dd17ed4a96c069f1e99c371a3ace1cb6b397c52031cf5ff238130795565293f3c3d749f620d894620ad17436cf0341a27a9919c5803b2a3c2d7c9c0ddfd4d3c345ec3a08a26dd531b788cbb94c9b0354faeec2d363603bbf6e2cdab19e7d865404693550ff68c382a21fa250452530dff517825b317c603ad27656925f4ac4cff05c6fa9e016b04a9e7baf3f95a39130703e4db1902303a03bedd53a862fb88f393580bbe00bb1287569df0ccda03bfdcfce9f210b46941f103ec89e0bc72e487f8dbbafb447e0a7a382ba43d822dccb2303b831ebea87ccee6039140f9027659d2adb97906c1130917cbd1b63cb18dbe693134411154ace52071032fa29683546762449da64835ed09a0ebcdd01f11da494d822f6dd8dac107195b034764e5e30755cec64a3b57a9ab91d3bd4c0ee0a2335ee13c93a97d5ee3bca4600334cc065ce222a49468d342beecdf0537d20d081274ef4a073b09da87340cd85403251e8ec5af82bec3aaa86525279b1b66088bacb0db473ab5b4c94c8b756721fd0379b72e06c5169fdd8bb496c2fbfeb941d6224fc76c7f14d339006fd20344832b0339a277ec314ba667c0d8ff2a44216e7ec3869e760929f46e8c6167299ab9b25c03403fb6703ecf4fd6d9c2b0d62d25b93cdb315307f9e740b2770fcb3c1735b53803e0f75539dbd73c12ac82dabfcaa8087422367a743ac73d81616970a257121e350306b61bcf642f2e6c7cdaf6d1bf82cadd085945b504855a8b15240e434937cc6e03f18be6e42fff620730d06fe7fa05396b2ee1a07a1cc661946eaa26c92b883ede036ae756ba05ab37fc0adddfc1e4aa767ad78f3d30c8737259832fee52a47cc527037ab8fe59c463301f7a5d92c1f05989c54c2a5c1baf9e06d9a43a64c30d41a35b03885632d6c7469f06cf5086a24d078276e869a3fa28d9d8b32f06c1bd0e9beeab0319826c131b43d2377a862763886ec0f808e8f0852bc96f3e8f826244056691a4033f3c0d72fa44cf60b29a979eabd4aa973bbf03be92de6a73d3a4cbf6434af7ba0301b68197c396ab46ea7e8da95ccced6bc15ccbc6ef32a3f2a6d157810e8d242d0385ff6030015e0886d5f51dfb5a0a79be2281fd2f9f9048a53cb06873a3b15b1003650c7072195e5583d836b977f88f86ae7227e7597b917ab3b8fc473ddf2fe7d403305d72087f438b60d7547ae55080bfa5dfce7131d31cfef1ebed4c9799ba101205581e03570ad7cdb3af15275893a8e89f4a652bfdcdf8d76bb9e84737932749b00c024644b13df0754805581e03ba0abc6ef5617c34e840bd1413b4c8f9af788470ca72f542d67be31fa00c0e4702e8d253cad80003aff49044052b595d5ba9b904fc016e522349ce74a0d25735e6d5599dbf76da5f05581e036713d28c9e359ba0299fd051642631663ed520a8edbe93a557890393300c01461350a18de7580334448e7c84974d6fffb25023deff42eb413a0e28e56072cb777d3cade37ab4ce03aa442f3c7e69540d3d42215fcf08df086c4fab9042218c9efbd968de8bea07f90310b03ea945e9010522c096ad191ab1f32236c83afe73d4e851209541242fe28d05581e03e43f93a9bb743fc1f4c1cc2217f89120e4489e4d55bd5bdd4a37ab1de007011bffffffffffffffff05581e03626ba7eea581ba9cce2d5b849c03b777e5f1bc0816825a3ca40a0112f00c084701320af23580bc05581d020c1fe287454e04e6109bc6aa750616d13a391fba2ee832ec624e45a5040305581d02ed89e41bca6c5d4d3b9f0adfa48a8844ea7bd03c7503815c903267bf0c19015b4728696ed619853005581d03ce4f6e9dc4ec52cffcdef725d7ced7d9cee29b975714814b77a181400c18484814c14a361530a0260399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803886a66d02e084f8ce756e427cb2aa9287376419a1a5e693670b3e1a850dda13c05581d033addf93817e6521c3aa750d3eba14d2758f69469905a3387fb4986b007011bffffffffffffffff021910200219016002199eac032658930b3a94c02d9d59c715cf794796500869879fca6d5e75e62e47207010840219ffff0369c0d965b9ec3ab03d6f3b39aa4d418051a0b42b1954a623723e57683c629d910326f40c57ac9c4e4520312bca1288a1597b3dc07f6b73ffe16a73b01807650ee70301ad40ed2bbbaa3b2a1fd1d392780ebafbaa80e708348b3156a43c6a7dd69484030860ba72eda6f27356fdf272ada873a1c8ab9ce0f7b779f0acafc0e4d337af6403ba08996a3aea4370b9d61830bc9a3d924659ef05591d71b504dd8639ea6071dd0219ffff03b1b9a9a77e927647c123098f8ca3fc0cf8fc86e07ac725bc0abe3d76f3fad7f303e61bd05952bba76e22b8cd9c7162fdf92d43c4a094d6cd9111f850d1ea82166f039db64a70313050fea0564261c84aa7a7f69644e02d4962abb50f7365b1968f4e0219ffff039a7f1dbb6ceb322806d54812a5acdff1ac71e4c5490816b645b1044d4860d2d503fa98172e8b9638c335c8b156968a15ec1bfdecaadf6d33fdba3f791a5076d52403353dc1aa7bbe538a82e1da6253f9a2c567b2c65e0727446d51776799d06e19be0316b1abc8c869c1226578d281af7c680cc1b12f47549384061bb8659e7a23d82c035a8917dd8905272a3e131fa2389e1e10711cc59d4b8b72222f0fef8988eda0e8031ac2d9fca052a9f9d8bcbe2ed32f0ce1c1cab6d974fbc401f51a38881e61cfb9034a7dabea785ad7f4eb969ca9a4546f9a902e7fdcc5916a5e8c180a60c79199cd0306f120ae5473f2d0b92355f9704a5cd40de4dbbb7fbde28a944bb261d70a5744030a30b06fe28fafeb2c75f46a75d568a1ae4b610f0febfdf6fd15cb17bcd0b788032c29d8728fbad60f2bd6bb2f35c6db4e1c51967e7ae4a8fdfc6e0b27b1ad8eaf03d6941a20955a58e15cdcbb3949d287e070b6d370f314f76c890599034a738bd303c202a8546ab280f45a43e0b2a2f8bd4e715ba7bcc4ab2a3696daf79a932bb32003c9c8a4ef14e2f7ccd9df2e9d5b6b480b638100cc4a2d0a445623040b42a309c9038b13996902dbc5d50f3207ec28008de065965d9d4f772bcdeb3534c87a844693030695095ba00d2603923eaf473b9eb07af063d6ad1babaa72cd9271a4950964250381cd8251a0d7d57b80e6fbac90c78d1602669e6361baaa5f1806380ad0608871035301fcd0c5055e6223f2446cdd90bee2bed12673d117e46d43c9e87c2f3c25fd03a61d9883dee068eda309979b8756a008aa9b529251366fca0729d5de067b6d0f03f0590cfab608c29a2dd3ec0d451266d9a25239b92e128a11cf7c75f47ab6482b0309f271188f7b6d6f6c8cfb928b782b05cb502f156cfa7ae90d6a413096bfabcf03d7a4346c5b538f80e885a019c93aa2969307438b032e29c3da5701d37e2595ff03800b66a720811d28f45c7e815254291334b211b38b107a67a2a782d374c995b603689fbeff8ce635883ebf54974400632fcd33681ee10e5eef91d9aa14932cdd0b0348de8140a51ed40240e2c637008886021c0be50cebd93c171ba8c1832242c3c1030f38b78fe4a2d2a15b9b854fbdefa70e64ccb43d2e4fa95ddf77107da806b99903a4022aa902bc734b51e85fff6140b4ef5f9456afd55e864e23dc9ca8dca023d4032090491e2a2b782b29aab11637b9706440f809d13e728d482ca88336b9fff68f0394a5e7c6d9c323158af2bc8d0a4f49415612692c68ecf887bdf5b3d53e01a05b03386836858fbcace08e33023a58df7e45c93d4b8e23879373a3f4bb7120407192038f0ec24d4fe8d9eb6c2f7155eb403ce586dedce4d863d9bebde082f4f1d2be1e03ab6bbc39f08beececcdf6fbe69ed008ad09c2baf09d48dccf13a6a32a228ff430350e6023e6e4eff436b6a35d26d556c37ca70b8d31e6570129c89c2dfe9892aa0038fcfb317d1a2c3c9cc56f9c593a9669d66c38d4ad50eac87ddf8361091b6cf9003ebeb6e50a6dd627ff91e1325b5fd07d8e145ad2d8785cc75bc29956e552d285b035546d7027a616150b4d4bdc0055d88f5b9ba72744ff117bb60b9528b47711fa103f624e84b815833eeaae0225034d34b79d82f79ce2adc955e426457792f2b0df4036ff73e73c3f0604ff2429ca971f1fa5b1296ae78fc4f856b8feda5e488f8823d032aafd14ac8d96e56d0758502e47e7d3aa51b44a81db1fec8dcbe7c1f7c22f1ee032c1f2fc476ca93dcd252f6a87b3ca21c4fcd8e3daeb5370d6ef87d3d1d0be6d6031420dfc6a24bc83a7b42496492ebe409951ef57b1cfd0af40455ea9bfd9c3b3c014200fa05581e03a2a0950a88bfeaa9c2d61ac55476edc9a66367f25e6449f8751dfae320040505581e03f95bc29c2aab9e4831b6f6757e825b790a1118a65400bc3fb46fae63600c0746761f84162eb005581e036bcac88a9fd245cac46858ab6a5e6832b2933992b03b708d38013c02a00c01472b4e54c5b8cc0005581e03c42f7c4a16a9259f4f6d1920f09b0bb18cb987af97994cbcc24e2517d0040103f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139034bf48cefebff41290d112821e9d73dba4f1ef8cee63beacb1a873b0ea91879e105581e03b4ea312fb205d4a8590b9e8751b5f4c42a814e0ce907ac2e2f5fb4424007011bffffffffffffffff05581d02c3cc98a6359b5642b826eff17e04eadf57272e0d110c6852367111f9040105581d02c13af6e56ca58718e9029a274b746707fc184f9fe0dfdf72fb24df1b0c04470258175c7fcd9d0219801003c85ea7bcc188bdb6f3e8b9cc34c8dd3f8e542fb7fa48f398ac915e6504ad319105581e039ee3846f929c6786b9cd5e0c7637af69459688fc761c78c1a8934a4fa004020314d925ed42ded9bc0c0dbcc93bdc5a672aa410d6ea6ad09b232f1d9f3019341a05581e0341997f83d256f7ee21a23856f0fa4805fe806d047736eab0cc733dd110040102191bfd035c912bd6bbfc80eba952c1f7489769f6c3483724f5ffffaf05ee6ae0edf27f2903449bf1ba8f1f2f061634f5fdafb304dde1f9bed6b337265af46fc48531db8f79036179f6117b3c6e40ea05aa9c409a6ec2cb6f000291365f66f69b60e84aaa2e4403240a83ac2317ede1870701b783b5e4a75a66c1a9a58a9c45598dff9a7c55b6bc03b1a3caefd0da4e4297726f04de404df681789e329dd09a3747ad506ef7629b100219ffff03255636b05acc2ef42be9247eff45f9a6cdaa452952a7d452af610176ed1f182a032e450d29992e7506725e5833a071254510966dfed0e0b4024a7d9543a82f394a032fb9162ee25940455d7a1fefd1895e6395342028c65c601ced2676d8aead8ff80306f642a3f04a077229a7093f59bde52b1478094023463ec8309e160b412ad5470219ffff034e36438f32528ac0fe4b5fb328c30c22c21bd72e5738d33b2b33d242412c31f303056328668486e0c2d596747a6b6b9f99fc3616f59c7d1265e4c6663822c3656f0340bccf1ab31b9e161c109431d77b99d455d5285948a8785c9817b81a9bbbbad403cc88ada745f47228bfb5c1af2c379f58f7e6a2c07aae542fcfa3c9fb62541045034c7c7b10acc5302436259f924c86893e077c428050ad011907351e849b949f49030d2f086d2c612742ad47de63f233c1abf5fa1ee3918b998c541bcf125a844a580219ffff0342cadb9e1144ca197a2ac87aee6b4d3a940904d2c39c18c9b22f71a94faf6d2a03919438b64fb365e0a824f70efb0a7dbc3cc79b549a0adf3e34b25777483c51e60219ffff03d0b3d1f000572a7e8d1e659cacf725712550d338938f9ac0b9127ecbcd68476b03a02edb0c7d14886f621553d6c2bc98953381e8ddda8842d14f2e024aed709a8c033227f2d93d10f7bafb05f2015e3e361371e13a3a468431e27d61f103e7a404e003b01a0d61827fcb472f15a9958e32768a12ec60658d60f31cab6eda2df7944a5503b2b33a816d203b69e216c9d80c15fb519c3e9f741de8b53c6306ecd6fbb38d3b03c449e7c38efe5e69b29412b8b6971e81f1acaf87f55361a2267c73699c91b7c603fa2c01cad585fc61c818c87d326a8c3608a64404511f34e66106c12c85a6c97f03d4ec381aa658b98e6581f3fb4a090a20909339f0a730fd19422cb8fa04d60b4a03217b54606ceb5b2baf3914d689891e040cf590a7dd075314c7b68e75f783100e034e9ab886d3cbf6dfd6f77a4bb06dd377bd04deda3023317c2f2602848185080e03806c8b1002b1b51b4752cb65e1a30e6a1dc9a3d5c456d744344ea490a3c1256d038e750e8d11b49ed0c5c914fd375103aca1f1e4251dd8623b82126c7661d4d65a035e753ff91a4ea43486fa8c943c9be99580702a002b491aa71cf5b13636b476d90398e18d7af16df39ba7a925890a2a478f6d4abd1ee6387d74defd16217fafb6a4035082ab3bc32bda7b99ae8fb10e14e3ac594e6a72cd91548fb6e5289f38420a4503631bff53022b7036ca8c8e47bc1314b1ee548c02fcc7ec3a4d1b883b4e4c93ee03e96e7f12b64d37c19dc9ab2043f7a7c221c2091cbfe8d02d8eba2c2b7cdf9c1b05581e033e1cc34f4e3808e4ac62bf20291952ad554347ec04acc8a7cdc132dfd004010344aa03891c5e9ec5eb197b6ababa3522103b2f43b6cc7b7278f17aa1d4edb565036f04fcf885829497e36fbef358f9393585aacd6d5e9767d951db4b0d9eb7845805581e036769e8508849b32fc8521cad86da9d59ac953b2efd91901e139db7be500c03464dc45e57477805581e03c3d206d41c9a217bf857dfc67307e506e3925a1f8cbff48c206b559da00c0247057c4f503af29403c7bab0996cfbae4e0a0ccc74da9f1a7676e910918799841420aabf60a0e9562903694ea86244dd022593ab83e73ca3dfa3d44e46afb346d0294e87d7d64226a4ff038e5bee1c108d9efb52b85939b7750616533c84eff2788a016e8cc5fd13932adf05581e0383946505493c5fdef2e1d32f477b79510b166ace7bcda765b2edd862100c034702b1da649b84a702190bfe03234488e07c2522b4dee55c77fc84d36c528dd61ea099a27db7e3792f17e99920038e83cc2233a4e5de5f38cd20e2ff46270d52fdee66276e79457e8415fa1877bc03633a461bb6a92e24987a4210d8b3b915a87980468b1ee65aa34faccadecbd07c0398e2dd6d54099f104aa556a019ebefd5448246fa683a1d8b4ff166550a26f26f0370e20b25a12a1b1acf1e1c99b6477e820ca83ad1a543fdb6c5a454f966b4614203c353bef155633df5e1abd950fa118399096bc53f3b02110c8b3995a67d8c47e90375c7f94f15fa5899c51090739d248e2ed43c5f9db3ff5d9b570c393f67a2ad800219ffff03df48ba9a91db3ce2d658f2d360efc39624b73f3d2ab47dd24e0061a250fa3ee803b9eef3fd2cf62bba13b4a0d3d25b156f1af59b8ed95ede665876d33dc112c18903222bf2268bfa35fa044ea48cd5a306fa259f194124cbe29ce84b686ac45e433f0342a4d8e9ca8f976b5c239a8b4e97f3bfc8f9bdf60634086d6c9f53d729e0c0ba03d99c76a072a9f85c5aba19354f79bc53149a12fe424875392ebece247b7633e8030480572c2996b115a9cde120ab6f0e5d10c2c2b51f9523af48738a2306d5d43e038d3a72362f96a2a70d6295de3d288e31e49962368cb9324b9ff348010988907f036cf9a73ebbeeb4f5a8fcdbe115df9cae0f0cab0610984edf7d2daf0768394fb403e975c7e4a49ef0fba96342bf6a895870f7361037de00d0de9d137012a118fefe036ac062d12a9d7a7cde549129b83d329845184498ef075c1f3c5844b358dbf10d03e68f411c7ead3ae1c3ac2d8db17e4cc1552c4719b23e3a43a6c2fa14bb8af4ac03bfe9a1d420473580c2b30fa3e8ac350dba86f5bdf5fe0a1774d5a2f61eb8a6ca0219ffff03660f64079981760644ed033944c4305298b2e64a16e8326e4b1b58cadf9a8fa5030757d49166e66e053464c9e57c3632e25cf99e32376cfefda7533f61f9f021ea030a279ebd49911fd12cc1bb60767fb13c0c330b0465443559662dbe4b6e7b18ac03bd7708697282fd91f10f37c81b4926d63eff307ffe3e5cea04ce5bafad9b9b20034c39163cc1a0dfb95364a16e1dc4577b1c90e6df907947be00248324ec29ccd80357576a8a673b33941bd24e4804461b2981481dc0eb4b702107fd730f0024a71f039a96861e7baa821c39018215f2a9d1059858ddb8b51d395922ada498a73a046b03de0f8100a4c345d17fcb5d46bc0669e71ab5745119eafe7b4d2f1fee7189309803a9f5eb5d8f8ed6ac62a0f5b099422cd3a95e573a18ce6bdfb42f168ad13065c803a788dc392910e5154d4ff1fe6c6854bd67106713cf1e4baceb22a32a2b948f2f03fa49320a209bffd99bf3d233628642d9dc83f9aa4a860d627ff94935290c178b034969e25fc9efcfdb20e1499ee0f3345bf9c488c010fce7786a678ea85651618103bc166f047ae873bfbf66fc657c9c5c7a6ce5ac48b292ce6322cd1317e6b0e8490351d369819cfbe7b9c7da16647a84c66cfdac55957702e460037f29571391c01703241db740e817a5e9966efd61417288077447959e8a21fb32172715bfb1b1a0ec0219ffff03bc6b39d0352dc8bedb143c4610122316dc56e94b8ddd56b0b3598634c88b6226035e59197e6297a8e1e350b9c9153b43cc5c0ae3a3f05b565aa70c65f50c571c6703d8bef2a4372ca611f1634e62a9b7d0961f2c6bcadbb89c062affdef8faa9645603ce7a30355e00e166334d9f831874e82afef957709f992735414929fadd3cb07f0395046b76721189707baa38addf4fc23b7f19321058590182239f497ac7bebb6f03632c82fd153b15ae76b477bd586fcb56a4710795aa89f34f1934289496789fcb03030c36342ee86e1af110d4b04d090e6af571e07f6819c8acfef43563d2ec588003ed98e64f249415614c7cd0f656e1c90cb5d9befe2376ed775d6b71872d569835039b3e0be48b1ef6bf58803645e4b84bf43060cbd134e99432ad85d1143fd1ffd20359a2465d37f4f3aca4e6b3412f1ff33860c137d5ab711f540afc0ae42d824f2a0330e0449612dbb2f4594c4e4d602ce2efb64c359a5bb2563167bf019b457f3ce30219ffff0219ffff03e1483c5335a56a2481576bea431ea5b20f49278ca44ef8a8173e159cc8d19ff403ce344a5699b87b29d73da4e38bc1937a77ae47877dffd3a037adb061b2c6d2bb03d44715dca4612173426c9018d049fee85ba77ad2a553d913b3313ecedd74752103af9db924292afd2fbf08b207af010c3886b3b6e99ca724f7c21abd466b3fa4fa033c7337cdb0365177998aefdbff4de7a33b696abeeeeeb2201a01cdf867a21cd20304ec39b19f5a42ac7fb624f032dc3d02ac4b4cc6b14a8b0a13a86ed144c1613503b92d57b38ccfedb0b2cdc44f69b4269e115e4b7b735cd9dc28cf1fa810332d8b039460bc06055b9dd2531e09433a6a10ec834be92a5275bcb2b56701efe1406f94039b7ec5f393101b49fae8e545a828286a9168d428f96bed4f9503f62e7a54aacf03d1ca863c8d5b88b7db6b6946c840604bb500c77e2f94b56bfcd074f4290b12c803e616834559dbc19e9f6305dcb49e9ea2df4bce9e2832a12a8d5bee2203ecc4a70324a1a15aa8da419b108c0ded050c3f93051146104c73541b3325f15bdf385ebb0384bd975c899e6fbbbd302d4803ee7f37bebf3cf741574083561e3dd1fdf8868703b32fe2f00904ab3e0780fc3d556f87374521dbb6dd2f8f20644a52ebffb9a3e903f11e344cc146cdac6a68c3805738fccf7b043c027f549205b3f3b361d872214403ce62178b5d97b8ec9ef71e33dae3d18bafecf08cfa39eaa93dec569e94465d600346d7d0b4b15fb5d020dd95499eceac02193e09c81fab63f0da3beeafbe8776790311796b51e1ca7156a8f9f6f85a3cfbafffda30c84cf7138ba0a624b65d722af303dfcdb361f64582cfc72d88f5763fa0bb24a571581a691c6790757f68fa750b790339c8c370ac4e31e91680ffb9c9e3eee49055478d3195ef1ea5b4eddb3e8438f4035d1c59a778753ec54775b9777c297765805e156f0dc9b0bf6baeeae28cddc4d30361b51ea50fb40f548e5650034f7672124b1b1bbfc7a05cdeeb031bbaa6aea98d03ed746c91c09e58c70d3b2d126597263fe2650a806de33cbfffe79cfd3c080b7e03c48e6a1ee37ce95a23994f58ca635fee31fbb5f34b325cf9839fb34acb4092fd03b1e14785232c90d32f0705ad38ce3c51730a826eada6482df913e1c1f61da923030267aca4d577052b9429417a8476311e73e895ac34cf6ef1dc1f7e3c3fe7d49d033bda016767d1be3e5efb5a3ab8b400977784c6a9b5151df20cb84dfd2ba3244f03ab0b82d8dbe15ed6551e7f97c236c0cf2ff8e2ca4f954be4dced739c0d192a29039eced8b04f5d89c4015250840ec8def51234714b5fe9e96068568470bb79d58c032af1d16240e71b60f8865cf5b655a5622d34beaf8d92f5814ef9965518d0d9ed03b7ea8687c314b65e4d7001f869062b096fa11ef21f40e89326e3c36c654406e40373eaaa4d72569e846e3946a518cdb7f40318ab3e5c882a6263b085ae7455253503b1345c89fc615dbfcbc4aff41d60b51a99a7c5235d33795165d1f6eacfae3f2a05581d022c3fb73426ee4968329c95b80dfdfd639a7e4f3892fea61a1543b88a0c06461dfcca3606f004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c634300051000320377681a4a5af1cfb7f788f9fe4fc83cd78cbd6d42337f03a4299d99056ee8daf80380ab4c01b2c42e5f1c799db8650462beba65462f96b5dd343ff091b809ba42010338741244cdd771ceafd3a561541b86197472868f3becc588b2e4276a36c9f48803f5b1086c2133c3bd37b2a1d5976ab5881b56624d50f131d27a0ed753120fe78b03f45993cfcd511d433f2c0cfffc19c6e448a26097e6a8cabcedf65bedd7b8d0ed03fd0891b7d6bd0231242fe078b413baea795f8435408a15d46ab7d0a4740ca55d0058200262d7e8f6a09730fa7c075d4a06609ee235bc56cf7bce0dc1ea14096162bfc85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026c9023c3ebe68162d9504014bd4359a9e173dc18409a52ccd926e2415220bc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002d5aee89b1865d3d74ed0d4c25d9336f0dbc52c1e001bd3171d80131181f4095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030ba9ca9dc53b75a7d378dc9b922a0a6f58c5d08329105651f8fd70b02c8460aa0346bf4d42b12df03a04c0c50d1283573f5fe95e3f5e341bad877b44d8d47064ba00582002803bd3a782734b387df6ee700de094b152c3266a3ab3bcf2ca3b2fbf69a79a490bfe1ccdcbf11bd3a9032797d4d52d5794a316b151e17b7561ac448b390f17f314f39a1d644cf01ca353035ef8500d16cdbe9e420c4569fee022fd0e809fbfe1f40c0158636e598be4c646005820029a805407735754d16543dbadb87d2491ef4227d369013f535f707f7faee7605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04d6a37942c4731c082fedc05754b00582003e730db0b372425dc8d5d61de2015ca3c15c251444852e7050c245594516ed05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020600582002f588420c74737f30358fda72e22f23fc89e327a569fd04ce317b30f7fa9ceb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d55f0372d3dcefd0dc5eab05ba81696025ce780b727513f4c8b8ee327a01641c9667e603ff76f7b2320a522fbda9d8f66be42f385eb3d230b0c7fb882d603fcf315ffc150303d4baa304deac3cfb41051e7e919c24839cb498855fa808fa9caf997b3479e4005820028932b9b39a03335b44cf18cc1bf5f22f472fd7ea589ad44010b47a47a13327410203b44e735dddb4d310567c4bfba78c2704d93aba3c820774a6e859126c4926e49303859e2d3afb24b846a2b505b4a5d10c89bf4ac045b322ed79a32dc513dd0885c300582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20058200355c3e970977bb07b1b184cbbb94da1a9e202760d60eaeef284e46f5f930e60410200582003dee1f5e303837baf99b63aa846465701079bcce2b2cf006f92cf458eb83d104a36659dc2a0b2a60850b0021905400341e6c595be90882df43e0f17d5d83323a48469f2880e5b674549b8668c090181005820024d534854e90252d09e5f65814f5441d4baa191612ccb78e363b20a0b61ccb25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03df5f0753e1f6f9bf8292fdebdd474bacec2fee4cb74250a42081f86469e67c170058200202e7e8a2fbcdf45e96d8b8be4a8d43df96f9300cc8087bf242c8a1e2ea28075820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0311657eace5ca04f1420e3f057ccf04b961e20060ef6a7d351e62b1c54c485eb1033ae3af5db12252a2f17b979d690dffb586b25e6b9261ae2f23e3ddd7dc26cd8700582002b05ee7854a36b8400e77729d4677ee19bc3b5feb618bbbef019bc86af1a9f55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ede303a5cb141c3ac96ec08a6d9ba549e4806307dd6fe9060898ae20215820d993a3020058200235c24a167af3754bad6d9e75c1e9a607e833272cfae882e14d7cb85b5e41245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038b3742df9af08b49ace3dce5001a23bdfaad8e9199d144ec74fabcd7d0feb3e4005820026a4b00adedb7758f84ca5228ce5bd24f855721914835e581db6db16556fccb410103ba15a9e05b1b6707723804aa9fd08404fd5bfa9e62b0777d374bc69e92f4e1a3005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85645f8b1384b40e86d6ca5ed171c05488cd6c8ff736bfd030b79b0d46efc81d83171741bf7154e01dd2e88073a944f4575cb7a4fe35d165203c8eef1ef586e0dce5bdfc7b094aeb6b62168a4d765c9d3ed8c9b28070ea6a24800582002bb695f324ae408cd54251328e67541993b4b346927613cb9a4b74bd7af9d5b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820023be8724e92fa276045db1faeee47ac970951ad7b0e3e3a03a6fafe09af76445820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d45d005820024d12939087a5521e1cd0d76fe23383d5012db3e97498cb1273ca16941b8d0a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002376ec681654f81f1f1f228b6002ad0b0f763d8f70527abebc926f9d44c5d1d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820029eb5c29705ef1b84ad1d37231e965e0b3827c639b87ae987a29aeb771dec044a0a968163f0a57b40000000582002d5c1dab0ad1686baac4f36513aa32a6a392e09095be426497ce617cd08f40b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820023ac34cd230e2d74c07c7a769290ac616ba88e8c4ec508f7c48daf9d07fb47f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820028227d0a78166398a4d5d773c028a8ac806a2f8331a195e15bf26ddfbd688245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002c6a571b7eb771c353a50871d74267b3cdd13371c51798a6cdadf11415debe55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200218e31c81387e0ebb29b7dd70bf404a695e2ee20883f78100fed890d1bd96d1410100582002a94decdf7ae037d74dd836408022d5d2a5bd8d0dacda55f3dd8c28235114c84ba56fa5b99019a5c8000000005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219bcf20363252b487ed1439ab5f5de0fe33080db4247b009c342493ecfef8d48345401c5035fbc2d25bffa2e789ac75ee0665a83c8b63cb6b849a88febf120db0d4da2ff6d00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632d00b000000000021fb8473e8f9a279f902579299a0a092ab444483fa93ae03ddaf54b0dc61516c19fae728fc96c386a4b2d367484eb6b9e7d503e11d0f4e9f03fe6e5a91944168decdaec6a0601054538c38b45866238b9832bb2a4d6d58144d01410c0058200393bf956bc318b04f973bd3832d562871aa8230d1c8e60c9a33d28be61ee9f04101005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f054a71d0588eaf47f12b13cf8ec750430d21df0497402182800582002bbfceb7ed73993fc33a94751e7630f0d32c11508ff5d0e78a83bc20bd49c935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002b3e5ba59baedc9bfaeb0780a1fe8a6e729be1698f1b02ffb4e44066cabe7d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820024807452956a8cb316aac4b98846b55e2be72fd109046d08e504f60215717025820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0304b54ac4105d44da0b882c4f34d4a3b74b08856f41fbecd2b07ca08f292d52ff005820024a41b4108426530aa60eaee620dd73460e423797f0563adc58fd39ef61c703410100582002f2a6efd71d01b63bdb59fc20f84f9abd753c57f6da4854df6ca3e3effff081490bfe1ccdcbf11bd3a9005820020db6160ca35603cb5b6c04078e5c1edf3cbde4707d3427a52fdfdbc7582e8f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02197f7c0219ffff05581d02a666f7895e218e027051aae5fbfc040e3345a7a60c5434c5ccdc45a10701192c1d02192010035caad06417938e67b687c6fb5b9e54c10fdd41ac4f870f56e5771b0c08bf8b5305581e03c00e0396c5b1b71288075962529b764a542d60c68ecd59f9511b4e3880040105581e03919685e466cb8f2ebc401a67159e7234aa9ede9785b17a1335139865d00c02460629f40d3edb03b8316e8240bbe85ac6774f2330f1306ddab56044b45c6f987b942eb043ced4f603083282ab5bdc43f75b85597c5b9f429f599fbd158fae95a16644378f817f377c0336328899d1122b2d795fe5e8e5be64632b6e219b9f612f3e73c74305bc63443e0371bb1bd3070c546a8c7e4855c7bf9b83cfd36755c0145925a8af39f0a342392303667789879472e5a4aad44624e9ed9ff4a0da34e2f729fab03b0cf8085bcbd94b01410305581e03e00df64ca0e8fa143dbad638f57693c4a1f0168ff8162334fe30e5afa00c0146f4de7a971a0005581e03a38e78ec2606b9bdb072353b38784164de05a0b45f8d8ffda0e2a47c100847dfa86d5cfdaba50219f9ee037074e59bc04c61b57f361dfaab1d5994f09ef0c4fc198d3169632dab187f1fdb0379424dd733a70f3eaa6e69b314c120d9b39a646ed2358cac4af94a7b4d83dfdd03c540f29494c13c470c0602d498fcc334fcdeca69d71bf8bdee5362c40d41320d038d0f6f586855bf7e9292dcd73912504d8b2ceaade7b7ee49ed174b4a4601c716039c40b6a614bc61af527c28c692b1170b68cf8b37d1d4c12da36d89839e13fc950382e0a04603851f6ade44aea57f65aec1f7ebde23f70ee374453c65198862ef950219ffff038339daab46b0e8507436d82f17a7d2ad2b8ba2e1e7056a899350fd13dae3909603dcfb9624e64b2113a7bb7637c3471264e21360accab832155aceef8493e243f703e911f09e0659027d581af402681fd0364a0398f744e02bfa2d5836b0e0c490a903b75e9fceccde00e2fdb59e84bd2a795fb085f8b440a39a8d687db30a6e3ec60c03e8863837f51d7ce865c16e7681294aea800f78e487f9c4edae955dc4803cfe38039b1f6cf5f125ca29c29ef083b237f018438bc1762a074199318573888b46c52c03cc16c33f5e89a5865a30860432980d8791610f5eb09fb495ec381c9b9eac6df60323778453b520bf8331ef0e051347c6c8cbfa9586f284bfe41c61af1be10e7b5803e0d368ff192fb1ad165be776a1f9092b74f3e921c2788dd7eae18e0f49f6e61703aadd0b98e72e2bfba4c3b2cbd7107c380b48096d31d0cae376ac98322b3b0468031dcff3e481992bd52b1cf3f31e9ef698d930f7d17fa5847b61f281a0ef3d1059034873a156a0c76e1e118b7f5117951ce1c6c91d983a4577197174dfcfe4fea28803e91c62381dc2155511c476348daca70e3d26b70c3f57442dac6e71258867211d0324e9b84b2566ada35522bfb20cb01df856910e1d84860dfe184a33a49d923ccb0219ffff038e3277d48de0d315ecef9190acb2f94c54ed4b6975eebf928789e104e83fa3720219ffff0338d11748d131ee310a648f4f8efda0c9a16d3a3396cf1045a2dbb05967e8facd0360b08d4d4c1019941986621c6a3f58ddd3927c7c109fe936d497c52026ec2dd2031d3084f9fb21a7cefb248e96b6fffb9d793fbc497272dd30b6df5ab83fc4429b036c0f1a8c4f8d7d646546a14d3de6b1ed68b63688efad32c110eca1ac8a42ba1503d46e8e42e22ac74d436afaf987fa7b0b20f180ad50f55f00a32b364d7ce9a2bc03c4c06cefe6cfe975ce4180310ac5ae241be8ba33728a64457309325c919be77903a5ec05022177cc1b31c00a8fd0003d749bc9d7443b179da143835c2f7d817e350219ffff038d2e02d30c6f3221b03abb317780ebfcc82804d098e14361357531a6292eb8a103433b0a76bee305b8267ca7d3aa6aacdb09083d37ec5217b3af311b308e084b3303482700fd31ac4af83cd2d11ad684c1101fe3cd5aea093115faebd35b54f8d1ed039dc08d2b32d8e5d7a7717dc989c220b0c50ae15215d4bcf9a96424ead0a584b5031c6697133dda296c3dc4cc19116c0339ecfcd8fd3eaeae0fc702826b5e1ad7df0398d18bce7b72d8b473510a9f9b23131346c44775a77b18fd324f30f5223f29e003a138b23155e03d0ed1e5790b519c00aaf1637414dd9dec9995e2fcb8af2731fd038927de36cf056b3048e140aa7b08fc920faf4503a9edd5db408f1ff5da177013034623bf923394a8b404439c2467c6c3e3c7fcbcf8bb23bd546d1941e75e5ad53903f66ceb9945e848e561ff354ae7033399ee4248b25538f96eecfa74da3c8d693003443ae6b0e8707313eab0070cd4f3ea05c0a6b54613e3c8d40ae3341629d7d37603214d887e06efc47ca6c949d17daceef38497b09a2ccb3f6716319891b5fc870d03071a24bcdfe5d9daeaf9044ff488c0cb6c177093c45852e67cff0dd3ba50b43e03fb874ffc3268d60ac5c626919b710866f252f1998df26bb69ca64781d2ded08603ad6b12de48d08089359d72c3be19e1bf561564c4a11dec73cddeda0b3155594003e18129dbdd4f2c6fdf6d097a85043e667e609506130329986ff2f8e7b975a49b036cf2db294877ab27b45f13ea266678960b22f4bfd275271c05ca1f9dc45d60b7037f2cfa00238c71186f14ca05658b9b0b5b135360551ade940f2157f760db926b03ad89bccd4fa188393bf2a49956a14079363e7694f1ae953a0ce310d261ffb07e0377f15cd92d37aa04a20ccd801258b9cd9214cfdd5ff358332d2adcee939f070d03a0cf6ac2fadb23cfbabde224a266dd45f4be9310a099602e32783ac5b3223f4303253c3bdd23f050c7e6dc2e3dbab7f4833cbf972914cfe4890cd3705b791f16a60329c2168c9046b6f015d4a986fa033fe9af9c5ceba91ddd8923f6e4d3b0848526031511f12992152a6165b7803fe52f390a94003dfd2aaa173f4fe69805d230a4100356c47425c393bb0e439ae1c8b708fa7517418354ce4a4c8b67c51d01dc511fa203292b2fb47f2945cb3332811b23736ea1328d4edc0f4910a1a5f1129d9ff60619031a7a574ee3774925ac61d6dd8b00db7c4fa9365f6c5b55ec5a69c970477daa73032bc6c23fc2849925a2f016dbfa1c026c69ca261d6591636820e3127c1bc704ed03b9f9e09265095d73cb06af822255b89b5222fd1f890741bca48e72f6789b8ad9030656aeb772349339d72101bbaf08a8079c64441d43f8056c5776b0e36004aeef036fb5b93ab4e77657d3f362368413db0bc80dc52af5ab2a350d50416b95d942030317f4b1b19a3932edf84ee79a8088463b4d56dd642c0f54f681006eb4b68e94310329902f9b81197025cdfe1b088b2ab683ae2be1cb20b40d715d6624b4113e4fb403fe6d7fd1640961f3d2ce8b16b8bcff148e91f8f7000d771fdd5f2a97c63bfcb505581d02961ecd53b2b96912745179729ef030c69dd1c0ff12948254244da5e30c183d473d6072db3b880004592bfd6080604052600436106101cd5760003560e01c806370a08231116100f7578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e14610536578063de0e9a3e1461057c578063ea598cb01461059c578063f2fde38b146105bc57600080fd5b8063a9059cbb146104c1578063aaf10f42146104e1578063d044fe9b146104f6578063d505accf1461051657600080fd5b80638da5cb5b116100d15780638da5cb5b1461044e578063946260441461046c57806395d89b411461048c578063a457c2d7146104a157600080fd5b806370a08231146103e3578063715018a6146104195780637ecebe001461042e57600080fd5b80633644e5151161016f5780634f1ef2861161013e5780634f1ef2861461038557806352d1902d14610398578063665a11ca146103ad578063679aefce146103ce57600080fd5b80633644e5151461030e5780633659cfe6146103235780633950935114610345578063485cc9551461036557600080fd5b806318160ddd116101ab57806318160ddd1461029357806323b872dd146102b25780632c04709e146102d2578063313ce567146102f257600080fd5b806306fdde03146101d2578063095ea7b31461022a5780630de371e21461025a575b600080fd5b3480156101de57600080fd5b5060408051808201909152600c81527f577261707065642065455448000000000000000000000000000000000000000060208201525b6040516102219190612817565b60405180910390f35b34801561023657600080fd5b5061024a610245366004612866565b6105dc565b6040519015158152602001610221565b34801561026657600080fd5b506101625461027b906001600160a01b031681565b6040516001600160a01b039091168152602001610221565b34801561029f57600080fd5b506067545b604051908152602001610221565b3480156102be57600080fd5b5061024a6102cd366004612890565b6105f4565b3480156102de57600080fd5b506102a46102ed3660046128cc565b61061a565b3480156102fe57600080fd5b5060405160128152602001610221565b34801561031a57600080fd5b506102a46106f4565b34801561032f57600080fd5b5061034361033e366004612904565b610703565b005b34801561035157600080fd5b5061024a610360366004612866565b6108a5565b34801561037157600080fd5b5061034361038036600461291f565b6108e4565b610343610393366004612968565b610bc9565b3480156103a457600080fd5b506102a4610d57565b3480156103b957600080fd5b506101635461027b906001600160a01b031681565b3480156103da57600080fd5b506102a4610e1c565b3480156103ef57600080fd5b506102a46103fe366004612904565b6001600160a01b031660009081526065602052604090205490565b34801561042557600080fd5b50610343610e2f565b34801561043a57600080fd5b506102a4610449366004612904565b610e43565b34801561045a57600080fd5b5060c9546001600160a01b031661027b565b34801561047857600080fd5b506102a4610487366004612a2a565b610e64565b34801561049857600080fd5b50610214610eed565b3480156104ad57600080fd5b5061024a6104bc366004612866565b610f7f565b3480156104cd57600080fd5b5061024a6104dc366004612866565b611034565b3480156104ed57600080fd5b5061027b611042565b34801561050257600080fd5b506102a4610511366004612a2a565b611075565b34801561052257600080fd5b50610343610531366004612a54565b6110c1565b34801561054257600080fd5b506102a461055136600461291f565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205490565b34801561058857600080fd5b506102a4610597366004612a2a565b611225565b3480156105a857600080fd5b506102a46105b7366004612a2a565b6113a1565b3480156105c857600080fd5b506103436105d7366004612904565b6114dd565b6000336105ea81858561156a565b5060019392505050565b6000336106028582856116c2565b61060d858585611772565b60019150505b9392505050565b610162546000906001600160a01b031663d505accf3330853560208701356106486060890160408a01612abe565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0395861660048201529490931660248501526044840191909152606483015260ff166084820152606085013560a4820152608085013560c482015260e401600060405180830381600087803b1580156106d357600080fd5b505af11580156106e7573d6000803e3d6000fd5b50505050610613836113a1565b60006106fe611966565b905090565b6001600160a01b037f000000000000000000000000e629ee84c1bd9ea9c677d2d5391919fcf5e7d5d91630036107a65760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084015b60405180910390fd5b7f000000000000000000000000e629ee84c1bd9ea9c677d2d5391919fcf5e7d5d96001600160a01b03166108017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b03161461087d5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840161079d565b610886816119e1565b604080516000808252602082019092526108a2918391906119e9565b50565b3360008181526066602090815260408083206001600160a01b03871684529091528120549091906105ea90829086906108df908790612ad9565b61156a565b600054610100900460ff16158080156109045750600054600160ff909116105b8061091e5750303b15801561091e575060005460ff166001145b6109905760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161079d565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156109d1576000805461ff0019166101001790555b6001600160a01b038316610a275760405162461bcd60e51b815260206004820152601160248201527f4e6f207a65726f20616464726573736573000000000000000000000000000000604482015260640161079d565b6001600160a01b038216610a7d5760405162461bcd60e51b815260206004820152601160248201527f4e6f207a65726f20616464726573736573000000000000000000000000000000604482015260640161079d565b610af16040518060400160405280600c81526020017f57726170706564206545544800000000000000000000000000000000000000008152506040518060400160405280600581526020017f7765455448000000000000000000000000000000000000000000000000000000815250611b89565b610b2f6040518060400160405280600c81526020017f5772617070656420654554480000000000000000000000000000000000000000815250611bfe565b610b37611ca8565b610b3f611d13565b61016280546001600160a01b0380851673ffffffffffffffffffffffffffffffffffffffff19928316179092556101638054928616929091169190911790558015610bc4576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b037f000000000000000000000000e629ee84c1bd9ea9c677d2d5391919fcf5e7d5d9163003610c675760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c0000000000000000000000000000000000000000606482015260840161079d565b7f000000000000000000000000e629ee84c1bd9ea9c677d2d5391919fcf5e7d5d96001600160a01b0316610cc27f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610d3e5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f78790000000000000000000000000000000000000000606482015260840161079d565b610d47826119e1565b610d53828260016119e9565b5050565b6000306001600160a01b037f000000000000000000000000e629ee84c1bd9ea9c677d2d5391919fcf5e7d5d91614610df75760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161079d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60006106fe670de0b6b3a7640000610e64565b610e37611d86565b610e416000611de0565b565b6001600160a01b038116600090815261012f60205260408120545b92915050565b610163546040517f561bddf8000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b03169063561bddf8906024015b602060405180830381865afa158015610ec9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5e9190612aff565b606060698054610efc90612b18565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2890612b18565b8015610f755780601f10610f4a57610100808354040283529160200191610f75565b820191906000526020600020905b815481529060010190602001808311610f5857829003601f168201915b5050505050905090565b3360008181526066602090815260408083206001600160a01b03871684529091528120549091908381101561101c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161079d565b611029828686840361156a565b506001949350505050565b6000336105ea818585611772565b60006106fe7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b610163546040517f3a53acb0000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b031690633a53acb090602401610eac565b834211156111115760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161079d565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886111408c611e3f565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061119b82611e68565b905060006111ab82878787611ed1565b9050896001600160a01b0316816001600160a01b03161461120e5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161079d565b6112198a8a8a61156a565b50505050505050505050565b60008082116112765760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f7420756e777261702061207a65726f20616d6f756e740000000000604482015260640161079d565b610163546040517f561bddf8000000000000000000000000000000000000000000000000000000008152600481018490526000916001600160a01b03169063561bddf890602401602060405180830381865afa1580156112da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fe9190612aff565b905061130a3384611ef9565b610162546040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b039091169063a9059cbb906044015b6020604051808303816000875af1158015611376573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061139a9190612b4c565b5092915050565b60008082116113f25760405162461bcd60e51b815260206004820152601b60248201527f77654554483a2063616e27742077726170207a65726f20654554480000000000604482015260640161079d565b610163546040517f3a53acb0000000000000000000000000000000000000000000000000000000008152600481018490526000916001600160a01b031690633a53acb090602401602060405180830381865afa158015611456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147a9190612aff565b90506114863382612064565b610162546040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018590526001600160a01b03909116906323b872dd90606401611357565b6114e5611d86565b6001600160a01b0381166115615760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161079d565b6108a281611de0565b6001600160a01b0383166115e55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161079d565b6001600160a01b0382166116615760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161079d565b6001600160a01b0383811660008181526066602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381166000908152606660209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461176c578181101561175f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161079d565b61176c848484840361156a565b50505050565b6001600160a01b0383166117ee5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161079d565b6001600160a01b03821661186a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161079d565b6001600160a01b038316600090815260656020526040902054818110156118f95760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161079d565b6001600160a01b0380851660008181526065602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906119599086815260200190565b60405180910390a361176c565b60006106fe7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61199560fb5490565b60fc546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6108a2611d86565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611a1c57610bc483612125565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611a76575060408051601f3d908101601f19168201909252611a7391810190612aff565b60015b611ae85760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f742055555053000000000000000000000000000000000000606482015260840161079d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114611b7d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c65555549440000000000000000000000000000000000000000000000606482015260840161079d565b50610bc48383836121f0565b600054610100900460ff16611bf45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161079d565b610d538282612215565b600054610100900460ff16611c695760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161079d565b6108a2816040518060400160405280600181526020017f31000000000000000000000000000000000000000000000000000000000000008152506122a7565b600054610100900460ff16610e415760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161079d565b600054610100900460ff16611d7e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161079d565b610e4161232c565b60c9546001600160a01b03163314610e415760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161079d565b60c980546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815261012f602052604090208054600181018255905b50919050565b6000610e5e611e75611966565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000611ee2878787876123a0565b91509150611eef81612464565b5095945050505050565b6001600160a01b038216611f755760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161079d565b6001600160a01b038216600090815260656020526040902054818110156120045760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161079d565b6001600160a01b03831660008181526065602090815260408083208686039055606780548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6001600160a01b0382166120ba5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161079d565b80606760008282546120cc9190612ad9565b90915550506001600160a01b0382166000818152606560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0381163b6121a25760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e747261637400000000000000000000000000000000000000606482015260840161079d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6121f9836125c9565b6000825111806122065750805b15610bc45761176c8383612609565b600054610100900460ff166122805760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161079d565b8151612293906068906020850190612752565b508051610bc4906069906020840190612752565b600054610100900460ff166123125760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161079d565b81516020928301208151919092012060fb9190915560fc55565b600054610100900460ff166123975760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161079d565b610e4133611de0565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156123d7575060009050600361245b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561242b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166124545760006001925092505061245b565b9150600090505b94509492505050565b600081600481111561247857612478612b6e565b036124805750565b600181600481111561249457612494612b6e565b036124e15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161079d565b60028160048111156124f5576124f5612b6e565b036125425760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161079d565b600381600481111561255657612556612b6e565b036108a25760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161079d565b6125d281612125565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6126885760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e74726163740000000000000000000000000000000000000000000000000000606482015260840161079d565b600080846001600160a01b0316846040516126a39190612b84565b600060405180830381855af49150503d80600081146126de576040519150601f19603f3d011682016040523d82523d6000602084013e6126e3565b606091505b509150915061270b8282604051806060016040528060278152602001612ba160279139612714565b95945050505050565b60608315612723575081610613565b61061383838151156127385781518083602001fd5b8060405162461bcd60e51b815260040161079d9190612817565b82805461275e90612b18565b90600052602060002090601f01602090048101928261278057600085556127c6565b82601f1061279957805160ff19168380011785556127c6565b828001600101855582156127c6579182015b828111156127c65782518255916020019190600101906127ab565b506127d29291506127d6565b5090565b5b808211156127d257600081556001016127d7565b60005b838110156128065781810151838201526020016127ee565b8381111561176c5750506000910152565b60208152600082518060208401526128368160408501602087016127eb565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461286157600080fd5b919050565b6000806040838503121561287957600080fd5b6128828361284a565b946020939093013593505050565b6000806000606084860312156128a557600080fd5b6128ae8461284a565b92506128bc6020850161284a565b9150604084013590509250925092565b60008082840360c08112156128e057600080fd5b8335925060a0601f19820112156128f657600080fd5b506020830190509250929050565b60006020828403121561291657600080fd5b6106138261284a565b6000806040838503121561293257600080fd5b61293b8361284a565b91506129496020840161284a565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561297b57600080fd5b6129848361284a565b9150602083013567ffffffffffffffff808211156129a157600080fd5b818501915085601f8301126129b557600080fd5b8135818111156129c7576129c7612952565b604051601f8201601f19908116603f011681019083821181831017156129ef576129ef612952565b81604052828152886020848701011115612a0857600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060208284031215612a3c57600080fd5b5035919050565b803560ff8116811461286157600080fd5b600080600080600080600060e0888a031215612a6f57600080fd5b612a788861284a565b9650612a866020890161284a565b95506040880135945060608801359350612aa260808901612a43565b925060a0880135915060c0880135905092959891949750929550565b600060208284031215612ad057600080fd5b61061382612a43565b60008219821115612afa57634e487b7160e01b600052601160045260246000fd5b500190565b600060208284031215612b1157600080fd5b5051919050565b600181811c90821680612b2c57607f821691505b602082108103611e6257634e487b7160e01b600052602260045260246000fd5b600060208284031215612b5e57600080fd5b8151801515811461061357600080fd5b634e487b7160e01b600052602160045260246000fd5b60008251612b968184602087016127eb565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122097461cc5083f2ce960645374d7c6123ba1b76b09159c6acd9b6a383b5d2e35fb64736f6c634300080d003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d028d9161afa74c6c0050f70f994530d68310fef32d423514f54f1bce2c0701192bfd031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d021994a49b47e4761dffe5e484999af520ce81c9d3ba47e248bf1b3f7607011bffffffffffffffff02198041039359bab9055e918909023132d2d289cb8c4e3ef749380657b6afa955b276cf350389f6b758ee52d422120afdfa7f5230016ac90dc43d942a3ae0ee4d303506633a05581e03b089e88cf1c7bffddd0c450a53c7ea19c08bbd00ac53a3fea6f9880590040205581e038b098aa9e54c90645fbdf5de59f774c634be3fe46eb0e3ef04478af4b0040105581e030c973a6cf2c9d5807cd0c39104892aa0acc6e9a8118fe2f664859df2a0040205581e03ef52e60b6bd05240062f20e420fa0e76af105f7388a1d17302fef744d00c02470b99ea7b403e3005581e032d49a3e274f9cc8133317867a580d4ea177677c2e3f1dbe94b55baa3b00c024502540be4000219d4c9037808e9d6685c8a26dc3e274b41cbfc514d571a4bc6e02e5587517d835c4b921a0371029964fb2567d8d05c8f6da0c9f984a650cd8cc4735624314e2fc83928c443037ad548d09a71cdc1fdbb0f6111d0a0ad3f9f25612628780f7f6ca89f1b60884f0375036d13f59595df490024f2d80924ce1f646e949d7c530f5dc1e918f0cfc9fd03bd356afe0a17764436640852afc037158e9f5a4778e16af9f7d61e20b07320f703f74047cf78e2ca2da4316de32c61ea5acf087185aa2f4952e0f0f72d063da2a003bab9cb3de0e17381c5403016e3ff964a0509168e4757500c4dc0fff33b235131034f3353639b56818be0dd3106fb28df5e5e9345d2a05f77251d64aa3e5efd903a03742de540a1d4de9bf70652d04192129279d61660a2c193c89dab229bfca33954037ebde9cacf42cf5885f1528c4010732a25caaf76fc2ec714616fa116171650500219ffff03820ffc85ee740da77d3407c97dd4c6f1a0485b1283a144b33ae576768d25164503e878538f1c756d3678ca94d7b662a6d49b8e8d5cdbac0a6196a136e2162ad88803b9bc319df47f6275048ff54516b730084711cecb87e652e9cac6edf75d840bf4033c8c901349d25e0d5d22cb3f3c2740f5c6f5f3f7750ec8d57271cb5a1083674f03fccd30559182ecc2842555a7b20ac58072eebe1a0dfebaa46ef3705e29006b0d0219ffff0219ffff03cdfa0fa04147555a9250121de4c1ad2546764f6f6a1b21c52fa9d54d069cacd2034acaff08706efba2e0a35478485fd0437b91dfd418d07ac4bd1e8fc27e4e0d0c03bf8e6f2cb14419331366a5d6a0add14e064d9bb4e54f23647c2d9ee4128341b4038fa0f3c56cadd174188cf47f8793cb4b7daab95967de49734c1c30b52735093003412043f09c366529fb3ae0857148d1acc1149a98285a8b606230e0198a68718b0391606411bb685e34922fbc89ef7001600fe7baf5427e55b4a0bfa66adadb818d0304382b953aa32e542e34361863d42c0190cec989895278747a5a0121965dd93403e35dcc1af3a9ec4de9d539e7b9ca69bb7d685f54fd06eb49e5aad8d59f3c217e034a1a2f1d4977da7175cdb6af4846690f944d05e88407d0a10df0cf1a49a7470f03b32dad5d459d91e7f35cf25a19d9a12edbe11cfef75f51d9ecf8d803a741024103204c059167754da9d639a777e89da791e7227f8adb7ff9ac9c41439fdcaad3fa03a185a57370d95c38925b094324e736fd23971023f1762bfb96f8c0d405c7c76903d33a5050d021f8c0b88fe46532634e525c99c02511c88428a1c743e6d434369103f1046405389d7059b0358983a1030ff5235d4b386a47a26ef2dc653ddefa2b5103c4a2a18003f7cfca1b5ec445577bcc9f14d368d369caba0e9eac1c89f2a416a803ea41cd8dfeb60941e841c0594567fa692a9c5a8f4bfa96f75bf254da8fc5da19039e98bb0b2bc3374bc59e2ec3474eadfa21b3f8c820eb286478c529576e999f2d05581e0382941565ee6ed240626767dfca8290436902074183686f4eb97690872004030350f5e8a98de31d2a1abc0a966cae5935c958388c0fe404cb66ac20243fd293ec03597b7b05d686e23942dfc9ab8554c63d206e6c121ace6cee06b66e443a7cd7f205581e03ce4208cd1d0bfe4178fb45f57aa4efe308151511c30eeacdcf17d3b2a00c0247010dbc3dacb0b805581e034724ab87de7167a9be8e2c0657f71e1be812c1fc0fa9419216c30a4770040103e146a17391c41bdc659e0181b1c80db9d963b701a495b1f6630b20d70480e42405581e038bf4041dc2da43e19c5b488a811a7e79ff8342b61852c52a32718c7de00c0c4703abb451d63e6005581e03e342c734cbb005161c39372a068d1606507ae7b9899a2711a3dca2da300c02410105581e032dcce13690ecdd161cda86697420fb3d816f14ef83cbbff6b8ad5431e00c0146fc34439eb34805581e03eb4136a7ed6b86a1ebc18fdf3088b08faed29393266ad8aa08d9ff0210040105581e03e86c1002c85059a382722a453a66fdbeaf06414e277ad89699235567200c02482ea2e1ad2c5cd1b10219bb9d03be7778ac8c01cec9e7fd8c4a860acdef9d97c32d2170b8b6344b20e03d58c337030c6f20b15a51626dcf638da5024b064c5e18345c13dc59b16932c48000e16f3c03a4a2ee07173895a08453e400d1e4517ef9856e0cfb492f37cdb5a6106093eb0803938beb917f3f850c38d2580919fab1129bb08e02c1248488c64fa206d193c00203e70a8bd673112e1925b1290e5f1d1fef43aa37b845197fb78df87617e5139e3b03507d6100afbfca00881bfcd4efcb31cd8c9cd4edca615624c793d98ed728046a03c7ae58739661b004e9043adad6696d216c5cbfcf681ac3460ab12085a19943a60387866f0b91cbd5ef7e91b9b6eb04cd50de6f0a526e59fbd9ca41ec6e4d1ab53f035c996dacb110d376ca05254eed4f1dd0e06a959ca2c0a325a84c296b417107c50219ffff03bd08e1e5df980e7e8e970c92e591578ee01fd4427a009ff2d658cd89142860e40317d196427b247432797a92c1b5990858984a1df9a1f14e22d50a23974a4c7b6f039c4e5166f86d022ad860b5aa8ce2faa3e3557b29454810e3b320cda161adb431034751162417bf6610620718776e53b1786d60a2b0121fa2d918e60bca009f43b9034380a21c2c339245dc58bf91902b90252a5e6dc0bd41754d317881531ab9aab103f7a30dd97389adab983814cfa6dd83152466e44034b76351e846ddfad03e1bac035024220c494a9ef0fc4b037a778d849ef18b16eb5fe37fe23e1b24278c01c8db0342395298071debcd57d7e8f81a018984b8930f0f8f9f23f684d82f4236fac40403ec99a5d900c34240474e2aeee10037b755027770dd87de99b874796490f30e29037453bd013ecd58995c523681125213821cc27d56509f18a81159a0043d5be5e30397a8eac0ce65d69896438475acd872f51bb50ca69bb8e37fcdb148f4e6adf8a303c3173ec56ff72dd6999736bff8257aec55405693c004da517c639bf97693ffa303e37a087644d67c9420be649c18b1d4cb831924c0b8df15394321b3f16190b71e03c28dbb7ff5095e80e733af428c9abed9197ead85f1e3d10af1095171b4c655910219ffff037d201bcaa562b6fcc2faa2eda04b98623dc9fd222f637fa79c73b04fc4a477e0039931b72e995b325ad1e16c71d5b7422a954a43c6f28e8b6b4dd9d8697ab4145e03a5e2b6875260d9efbcd189c416df104c795689141ba86d460d22185ee53f473a03381a21a94acc9d2e6a006be7ea42f2817fe8e42086eba2a046336f3a165e9e9d03e1e5305126daabcfb9c45f38ecb56fcd02ec962bc93828ebf5b79a06bdfd9c1203181fdee9b9fde64b1d4641881102a125c47a4769561a33031257756fae37302503b8d13fa4625cb6d6a76e5816ddc6c2b92cd18c25b0ec997d18a7df4bf13b4f4003ba4071d2bce133dc2e025d6cd4ca1e00abf162b1699212c8ca2933b5d4ece858038f153a7db349e1db3f510aeee768286ebf1d56ee623ec320efe454820150abea0219ffff0392b0ad414024a6ad7b758e435f8143ef2686207f335b053a9c19acbd09740cca036d9414821943087835908a5caaed3ed79988872eb86a206560007620f863d1e303a52bef64676e4331d50bf68d1096b9431806290e3f736d05563b8004b1ce82530312716f5eeb40ce795e3e065c09e21d0bb424b54a8772c0816fcede1c71b61a1b031f24953506926cc616d4eb3311e7f2f03fd069d6a7a2b3e336cc347c19cfa67d03856aa2846064ad6a0455e01980c07bd204a01614ca467f4a82e6e787cfca97b803b02433350200911b82890b20d40c5aa898c0840e432abf858939b1ebecf3182e038c3e8c6b3de8f95fb6bef4fc9fabcf049b136f0c3da68939f73c19a1238314f303a4e204fae859e618e91553372e28a5c85905626697877b21230e6d537176352203268c5d95a197a6d8cd5f79184a992535af96b2f9e103df7c1e268025ffdcb9e103b4c4ca1d88bccec8bf9b062045d9d45671efdb40c670aa07c593ced75fdb97290321274e1a898f792387b30ce3a33039928a3b0f6ad8a282611e9a4b458f96f90503bcb05df8f81870bf79734b4c8f2c8d24e2b551c90b85737065e6300fb3bcb8cc03655e6c658762abebb71df336b3f68881c648fd37f916bd1de8d07eef9ccf394703b0e56dd837ea5d56a217715eb5c847da6aa635d499b74417291b33d83a5069c00350654a925b0750b66417be7fe432f361b535bf85f1137af55619f72f6c61834c031bc6eb8b80a8dd7bf551050a6d591063d3c88bf0e94ab2624a03f1b4d103a8f70346db5373392a1681b714f8f8d1bc238158e3db809521e7b8eaf6b48ea88f553303d72415e0f7f9a5dca417392594499c4ac53cc07053309f89f9ada58217427bd8030925c12238e04811dac3031bdd7aad90979a52012ddd01fc902a41ab4d3f62d203861cf0f0efd0acc58d159f0feb9e59bb973d1f78661e320151a5d5da36670b5703fd8f5a0ee75d3157a557d189c2c88f67502abcfa69957b44affaf4eed1f5d5d90324c1cc8e6c1582a033dd4c68d9894d44a17247d01f00c7abcb51f9fa0aa3e24803620e6d76f13786a1e55855361cb80510a8d78481dc6ecfb3490946b9360088fe037502190f94402963eb9237d392ea67095dc36754efd7e10592a3b218e7f1ed93038f9e2000cdfba58f33f6bbde8869ba9230bf76b4eba8baa60094f06d03f3854203fb2f0aa8dd72c830950d40f58095495a5d9726aef9cce2b45051eb22528c220603b191b8a3c5494ec32941d9361a4d801787caaf62c4883eb542913770ec871ede0379fd4c8d1d5a08b48f3f8fce6d02bd38d7522c456600d4ab919dd6752c3a0a9503a29a9dfc7e3affe737a61e42e837c54cbfc5a28801051989fb6b5a95dede73fe03ac16c94052e851c69cb7b285433d03e22d8930bfc7a30f8b73e271f1079740e003c899d318d35b982a8f95e095fefbc46db6e121432b54800a926fa9eac115fad703914ba5be02d4bd8ef076dd3f19ce750a9d2d972fd8306db56cd8c8ef233f048603d53ced7a626c2f4ccd8a07e2e46044197b84bd084ebfa52394bf5f27912b1eb003f5654465db323fd3e71c7b42dee8f7c193ebcd00f505e708343454a092da2f510330080d695c28f4b44c49292febef75723a69d4855e5ec589df60cd56c200bc310397672c09b80cc81038aa1a9b90ec790eb2b7adce98a52ffef31a43521455d4310329340d2defda9719ddff8f85b94068256dbb16aab607e7537f0ccd25b089ba06036c37425bd3510035d17f6b59a1029f7634fb6b5d32df5f942d71062c8b1df1540346f755eebbdbd7b073fede3a693d86c5eb82670a303cec3be4f6f49413497db50382515a1f78025433ac064e5673ea6a551f138ea3f436eacf78d993c2e619d3a303c97c0d3d2a84193e8783b3b249329e80a1c5e2a1c500b434c2df39a7124d89790374486f1f59b9491dd0597945771896259cfc34aa592a903cb4a26eaf405c4cff045922106080604052600436106101355760003560e01c8063a5a21fdf116100ab578063e3c342161161006f578063e3c3421614610398578063e63b81a6146103b8578063f03639e3146103d8578063f2fde38b146103f8578063f3fef3a314610418578063f6203e351461043857600080fd5b8063a5a21fdf146102e2578063b203bb9914610302578063b3db428b1461033a578063da3a3a881461035a578063e30c39781461037a57600080fd5b806379ba5097116100fd57806379ba5097146101fe5780637ecebe00146102135780638135369a146102575780638456cb591461028757806384b0196e1461029c5780638da5cb5b146102c457600080fd5b80633f4ba83a1461013a57806344e7cb13146101515780635c975abb1461018e578063715018a6146101b957806379a26cd0146101ce575b600080fd5b34801561014657600080fd5b5061014f61044b565b005b34801561015d57600080fd5b50600954610171906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019a57600080fd5b50600154600160a01b900460ff165b6040519015158152602001610185565b3480156101c557600080fd5b5061014f610465565b3480156101da57600080fd5b506101a96101e9366004611b61565b60076020526000908152604090205460ff1681565b34801561020a57600080fd5b5061014f61047e565b34801561021f57600080fd5b5061024961022e366004611b61565b6001600160a01b031660009081526004602052604090205490565b604051908152602001610185565b34801561026357600080fd5b506101a9610272366004611b61565b60056020526000908152604090205460ff1681565b34801561029357600080fd5b5061014f6104c7565b3480156102a857600080fd5b506102b16104df565b6040516101859796959493929190611c08565b3480156102d057600080fd5b506000546001600160a01b0316610171565b3480156102ee57600080fd5b5061014f6102fd366004611cda565b610525565b34801561030e57600080fd5b5061024961031d366004611df4565b600660209081526000928352604080842090915290825290205481565b34801561034657600080fd5b5061014f610355366004611e27565b61065e565b34801561036657600080fd5b5061014f610375366004611b61565b610799565b34801561038657600080fd5b506001546001600160a01b0316610171565b3480156103a457600080fd5b5061014f6103b3366004611e63565b61084b565b3480156103c457600080fd5b5061014f6103d3366004611f3c565b610977565b3480156103e457600080fd5b5061014f6103f3366004611f3c565b610a4b565b34801561040457600080fd5b5061014f610413366004611b61565b610b17565b34801561042457600080fd5b5061014f610433366004611f73565b610b88565b61014f610446366004611b61565b610c4e565b610453610e46565b61045b610e73565b610463610e9d565b565b6040516377aeb0ad60e01b815260040160405180910390fd5b60015433906001600160a01b031681146104bb5760405163118cdaa760e01b81526001600160a01b03821660048201526024015b60405180910390fd5b6104c481610ef2565b50565b6104cf610e46565b6104d7610f0b565b610463610f36565b6000606080600080600060606104f3610f79565b6104fb610fab565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b61052d610e46565b60007fe08f530a0e71c7f642d765489160fd44eac817278745c067606534c347d9a2ec8886868a8a604051602001610566929190611f9d565b60405160208183030381529060405280519060200120876105a48e6001600160a01b0316600090815260046020526040902080546001810190915590565b6040805160208101989098526001600160a01b0396871690880152938516606087015293909116608085015260a084015260c083019190915260e082015261010001604051602081830303815290604052805190602001209050600061060982610fd8565b905061061689828561100b565b610633576040516337e8456b60e01b815260040160405180910390fd5b50506000610644888888868961106f565b90506106548885878a8a86611218565b5050505050505050565b610666610f0b565b80600003610687576040516318bb758960e11b815260040160405180910390fd5b6001600160a01b0382166106ad5760405162bbe08560e31b815260040160405180910390fd5b6001600160a01b03831660009081526005602052604090205460ff166106e65760405163072b889f60e11b815260040160405180910390fd5b6001600160a01b0380841660009081526006602090815260408083209386168352929052908120805483929061071d908490611ff3565b92505081905550826001600160a01b0316826001600160a01b031660086000815461074790612006565b91829055506040518481527f2c0f148b435140de488c1b34647f1511c646f7077e87007bacf22ef9977a16d89060200160405180910390a46107946001600160a01b03841633308461149e565b505050565b6107a1610e46565b6001600160a01b0381166107c8576040516367db084560e11b815260040160405180910390fd5b6009546001600160a01b03908116908216036107f75760405163c0af9fdf60e01b815260040160405180910390fd5b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f5719a5656c5cfdaafa148ecf366fd3b0a7fae06449ce2a46225977fb7417e29d9060200160405180910390a150565b600061085a338989878a61106f565b6040516bffffffffffffffffffffffff19606089811b821660208401526034830188905230901b16605482015246606882015290915060009060880160408051601f198184030181529082905280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000091830191909152603c820152605c0160408051601f198184030181528282528051602091820120600954601f88018390048302850183019093528684529350610941926001600160a01b03909216918491889088908190840183828082843760009201919091525061100b92505050565b61095e576040516337e8456b60e01b815260040160405180910390fd5b61096c3387898c8c87611218565b505050505050505050565b61097f610e46565b6001600160a01b0382166109a657604051635f5d339960e01b815260040160405180910390fd5b6001600160a01b03821660009081526005602052604090205481151560ff9091161515036109e757604051637565bf8f60e11b815260040160405180910390fd5b6001600160a01b038216600081815260056020908152604091829020805460ff19168515159081179091558251938452908301527f303d37f32762627f23f474bb09535b3c1c7cb4f0f75c8960c42512b046ee24a891015b60405180910390a15050565b610a53610e46565b6001600160a01b038216610a7a57604051631a86f04560e01b815260040160405180910390fd5b6001600160a01b03821660009081526007602052604090205481151560ff909116151503610abb57604051631e5a976960e31b815260040160405180910390fd5b6001600160a01b038216600081815260076020908152604091829020805460ff19168515159081179091558251938452908301527f939ba97d9885a19f5539df8bc7d0698b79b1361793009861943fdd98060480339101610a3f565b610b1f610e46565b600180546001600160a01b0383166001600160a01b03199091168117909155610b506000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b80600003610ba95760405163b8fc0f3b60e01b815260040160405180910390fd5b6001600160a01b038216600090815260066020908152604080832033845290915281208054839290610bdc90849061201f565b9091555050600880546001600160a01b038416913391600090610bfe90612006565b91829055506040518481527ffeb2000dca3e617cd6f3a8bbb63014bb54a124aac6ccbf73ee7229b4cd01f1209060200160405180910390a4610c4a6001600160a01b038316338361150b565b5050565b610c56610f0b565b34600003610c77576040516318bb758960e11b815260040160405180910390fd5b6001600160a01b038116610c9d5760405162bbe08560e31b815260040160405180910390fd5b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21660009081526005602052604090205460ff16610cf65760405163072b889f60e11b815260040160405180910390fd5b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28116600090815260066020908152604080832093851683529290529081208054349290610d4d908490611ff3565b925050819055507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316816001600160a01b0316600860008154610d9790612006565b91829055506040513481527f2c0f148b435140de488c1b34647f1511c646f7077e87007bacf22ef9977a16d89060200160405180910390a47f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610e2a57600080fd5b505af1158015610e3e573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146104635760405163118cdaa760e01b81523360048201526024016104b2565b600154600160a01b900460ff1661046357604051638dfc202b60e01b815260040160405180910390fd5b610ea5610e73565b6001805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600180546001600160a01b03191690556104c48161153c565b600154600160a01b900460ff16156104635760405163d93c066560e01b815260040160405180910390fd5b610f3e610f0b565b6001805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610ed53390565b6060610fa67f5a74616b696e67506f6f6c00000000000000000000000000000000000000000b600261158c565b905090565b6060610fa67f3100000000000000000000000000000000000000000000000000000000000001600361158c565b6000611005610fe5611638565b8360405161190160f01b8152600281019290925260228201526042902090565b92915050565b600080600061101a8585611763565b509092509050600081600381111561103457611034612032565b1480156110525750856001600160a01b0316826001600160a01b0316145b8061106357506110638686866117b0565b925050505b9392505050565b60608360008190036110945760405163e78703a360e01b815260040160405180910390fd5b8067ffffffffffffffff8111156110ad576110ad611cc4565b6040519080825280602002602001820160405280156110d6578160200160208202803683370190505b50915060005b818110156111b357600660008888848181106110fa576110fa612048565b905060200201602081019061110f9190611b61565b6001600160a01b03166001600160a01b031681526020019081526020016000206000896001600160a01b03166001600160a01b031681526020019081526020016000205483828151811061116557611165612048565b60200260200101818152505082818151811061118357611183612048565b60200260200101516000036111ab5760405163a809389f60e01b815260040160405180910390fd5b6001016110dc565b508342106111d457604051630819bdcd60e01b815260040160405180910390fd5b6001600160a01b03831660009081526007602052604090205460ff161561120e57604051639997d66560e01b815260040160405180910390fd5b5095945050505050565b8160005b818110156112f7576006600086868481811061123a5761123a612048565b905060200201602081019061124f9190611b61565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292528120549003611298576040516323271fb560e11b815260040160405180910390fd5b6000600660008787858181106112b0576112b0612048565b90506020020160208101906112c59190611b61565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205560010161121c565b50866001600160a01b031660086000815461131190612006565b9190508190557f8ec7c0970f810f90b2e926cd4ee4f32efff0ef16fb5e08617c11b9fad14dfc0086868a8a8860405161134e95949392919061209a565b60405180910390a360005b8181101561142e5784848281811061137357611373612048565b90506020020160208101906113889190611b61565b6001600160a01b031663095ea7b3878584815181106113a9576113a9612048565b60200260200101516040518363ffffffff1660e01b81526004016113e29291906001600160a01b03929092168252602082015260400190565b6020604051808303816000875af1158015611401573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142591906120e3565b50600101611359565b506040516355e663bf60e11b81526001600160a01b0386169063abccc77e90611463908a90889088908c908990600401612100565b600060405180830381600087803b15801561147d57600080fd5b505af1158015611491573d6000803e3d6000fd5b5050505050505050505050565b6040516001600160a01b0384811660248301528381166044830152606482018390526115059186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061188b565b50505050565b6040516001600160a01b0383811660248301526044820183905261079491859182169063a9059cbb906064016114d3565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060ff83146115a65761159f836118ee565b9050611005565b8180546115b29061214a565b80601f01602080910402602001604051908101604052809291908181526020018280546115de9061214a565b801561162b5780601f106116005761010080835404028352916020019161162b565b820191906000526020600020905b81548152906001019060200180831161160e57829003601f168201915b5050505050905092915050565b6000306001600160a01b037f000000000000000000000000f047ab4c75cebf0eb9ed34ae2c186f3611aeafa61614801561169157507f000000000000000000000000000000000000000000000000000000000000000146145b156116bb57507f60f132f61eb52350d38debb9545285dbe460422d845fc94e3c03e39d35fe23fd90565b610fa6604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527fcf7936818770c7c65596ab2682c0a2826f5f1e1aaa24c0b6acd2ee27ef08e64c918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6000806000835160410361179d5760208401516040850151606086015160001a61178f8882858561192d565b9550955095505050506117a9565b50508151600091506002905b9250925092565b6000806000856001600160a01b031685856040516024016117d2929190612184565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b1790525161180791906121a5565b600060405180830381855afa9150503d8060008114611842576040519150601f19603f3d011682016040523d82523d6000602084013e611847565b606091505b509150915081801561185b57506020815110155b801561106357508051630b135d3f60e11b9061188090830160209081019084016121c1565b149695505050505050565b60006118a06001600160a01b038416836119fc565b905080516000141580156118c55750808060200190518101906118c391906120e3565b155b1561079457604051635274afe760e01b81526001600160a01b03841660048201526024016104b2565b606060006118fb83611a0a565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561196857506000915060039050826119f2565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156119bc573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166119e8575060009250600191508290506119f2565b9250600091508190505b9450945094915050565b606061106883836000611a32565b600060ff8216601f81111561100557604051632cd44ac360e21b815260040160405180910390fd5b606081471015611a575760405163cd78605960e01b81523060048201526024016104b2565b600080856001600160a01b03168486604051611a7391906121a5565b60006040518083038185875af1925050503d8060008114611ab0576040519150601f19603f3d011682016040523d82523d6000602084013e611ab5565b606091505b5091509150611063868383606082611ad557611ad082611b1c565b611068565b8151158015611aec57506001600160a01b0384163b155b15611b1557604051639996b31560e01b81526001600160a01b03851660048201526024016104b2565b5080611068565b805115611b2c5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b0381168114611b5c57600080fd5b919050565b600060208284031215611b7357600080fd5b61106882611b45565b60005b83811015611b97578181015183820152602001611b7f565b50506000910152565b60008151808452611bb8816020860160208601611b7c565b601f01601f19169290920160200192915050565b60008151808452602080850194506020840160005b83811015611bfd57815187529582019590820190600101611be1565b509495945050505050565b60ff60f81b8816815260e060208201526000611c2760e0830189611ba0565b8281036040840152611c398189611ba0565b606084018890526001600160a01b038716608085015260a0840186905283810360c08501529050611c6a8185611bcc565b9a9950505050505050505050565b60008083601f840112611c8a57600080fd5b50813567ffffffffffffffff811115611ca257600080fd5b6020830191508360208260051b8501011115611cbd57600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b600080600080600080600060c0888a031215611cf557600080fd5b611cfe88611b45565b9650602088013567ffffffffffffffff80821115611d1b57600080fd5b611d278b838c01611c78565b9098509650869150611d3b60408b01611b45565b9550611d4960608b01611b45565b945060808a0135935060a08a0135915080821115611d6657600080fd5b818a0191508a601f830112611d7a57600080fd5b813581811115611d8c57611d8c611cc4565b604051601f8201601f19908116603f01168101908382118183101715611db457611db4611cc4565b816040528281528d6020848701011115611dcd57600080fd5b82602086016020830137600060208483010152809550505050505092959891949750929550565b60008060408385031215611e0757600080fd5b611e1083611b45565b9150611e1e60208401611b45565b90509250929050565b600080600060608486031215611e3c57600080fd5b611e4584611b45565b9250611e5360208501611b45565b9150604084013590509250925092565b600080600080600080600060a0888a031215611e7e57600080fd5b873567ffffffffffffffff80821115611e9657600080fd5b611ea28b838c01611c78565b9099509750879150611eb660208b01611b45565b9650611ec460408b01611b45565b955060608a0135945060808a0135915080821115611ee157600080fd5b818a0191508a601f830112611ef557600080fd5b813581811115611f0457600080fd5b8b6020828501011115611f1657600080fd5b60208301945080935050505092959891949750929550565b80151581146104c457600080fd5b60008060408385031215611f4f57600080fd5b611f5883611b45565b91506020830135611f6881611f2e565b809150509250929050565b60008060408385031215611f8657600080fd5b611f8f83611b45565b946020939093013593505050565b60008184825b85811015611fd2576001600160a01b03611fbc83611b45565b1683526020928301929190910190600101611fa3565b509095945050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561100557611005611fdd565b60006001820161201857612018611fdd565b5060010190565b8181038181111561100557611005611fdd565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8183526000602080850194508260005b85811015611bfd576001600160a01b0361208783611b45565b168752958201959082019060010161206e565b6080815260006120ae60808301878961205e565b6001600160a01b0386811660208501528516604084015282810360608401526120d78185611bcc565b98975050505050505050565b6000602082840312156120f557600080fd5b815161106881611f2e565b600060018060a01b0380881683526080602084015261212360808401878961205e565b8186166040850152838103606085015261213d8186611bcc565b9998505050505050505050565b600181811c9082168061215e57607f821691505b60208210810361217e57634e487b7160e01b600052602260045260246000fd5b50919050565b82815260406020820152600061219d6040830184611ba0565b949350505050565b600082516121b7818460208701611b7c565b9190910192915050565b6000602082840312156121d357600080fd5b505191905056fea2646970667358221220f7bfc87400d175520d3a2e90e3041f83766bb8dbee0c14db0db8f342806dde8964736f6c63430008180033033ef4164a26161e53783741253bb5d5e05afb91a8fa54af096e767fe38b255d8103e92735170b9e2df7ec7f0cafddd412f3abf3b036e891b042715cec661b84a37103d82c3092f6b33a2ede82f9abd494b9906e497de115e848d568a16297a6d82e690336b3132d9df7995ff42599c222a627485d98ff6faa5b6210535f99853fda3cc803e524ac0a95d5a58ca808e39fa703a8c26f26913c7e0d015cad675424b95c0dba038376856219572cb9906de93e07246c91f42c3b3ab2e2a362d01022131e82d53603d15be86549521ff4a2366316fb6356de3a6917cc3d54c03adbecc939fa06d5560303427666dad61553b8ac4acf02a612372ea88f6c12e275f5c0b7985cf90a74fe03cdb333acd2bb8efd727bc5533a9d03e9c50ca72fded13421745e52ce546ae26103863c4ee8453d0f07367496b6172967f4492bf3f7bbeb8f7683f338f9b5d577e903ce19d514e7638a78068e97f7c775aebb6dfd44f8b037d2ffd0fd16feacbcfdea03814278912a22ca11f24a9be78b3c38125f6b27609858bd2033eab46e88d7fac9035eff5dbb06ec75a12282fc16f17b66319ad4ede68efe6a43647e0bda289081460398e9d01da167dcc3c21ebc3fc67b5c5d25c7aec242037c714a3c7c509c2f39e603f70a254ba816fae24c4d266d24eae2734c8b68e6e2fb8daff5e87df460f2421300581f02c4c1346c7d0eda1c8a96262420df8bce26331414298d7d055ba00cc8acc64801617cc80c8b347f00581f02279c02b7aa0ea58dff58bb79b480f868471fa6fb806ffeb8f1166f4db6b448037269b19808671603a4453dc535f45b19a4136aa504b32886356d57fbcea47a3ff3ee800d96f308e303e93c937752f81191f32f1fdd58ba42133829814d02ed9437ed2c5f126455e7fa03abb75dd1b4e2ce43963c5035b44954fd97aa7a09085de0a6da6411cb07a49a3100581f0218a326628775b1a8511303e7ca4b6b32b7dd4f1778ee2d8b563fbb5f2630483772282e971e400000581f03b28f02b5cac7e8a93986cd61eb3ed79043e61657b3576970aa3f5c615b7048149d336e155d800000581f03177368ece792bee6fb77c8df3d7244144bc8a1383ac00064c8c4a0b40be048016e98099792044e0219018000581f0275b3bc10971373742b7507f2c811fb34dc38df172c8d5525ce6f2376ddfc4806ccd46763f1000000581f02befd9204e60c2a5a2206e9ed603d0fa15a44319bfa78368b9e0ed9087b1848032c3da28b9645f300581f0238963123816a27985a80a01198b0ed57feee9f99fdc21aa3c831d03e88ea48296c7d71882d017c00581f029cfe7381fabacb3bae502ead8bedbe8b311ffeb6f15d65f3d6b72fa141ab490e944b23d159905a8102193f7c03a6576b1095ddbad0106c14ce8d4da9b8139996a23031e81f7eb11e19d5155fcf034c0f92e5aceb8c34d8d8f700ecdfe9d66dc8a844993b84230592d31402d0bff203bb3507edfdff95afe1c15547ed13b99e314328d2206907f61583d588c44acba7034e4d625d3520024762a76ebf4eb883d48e5e6104997a1737107681e1e0f35da1031de125c4ea33bd0c0fd6a9eafa48376005d5cffd20f08fe18780a5358e1d269e03e7069f71d3cf4e6ebfcaafee14335c25e34354208f182155c87028cb8c34669b0365be622eec3d2a849eab74f30934f1d245978d76cd1a6c1723c151021decddf40322bd7f5771edaa7c8ada6da6ea87832f65b52cdaa9e5a9fa7e85fccf0a257812031e618feea6d2eff2268e91212e9efd1d776a214ad359b299788e6b201a82a706037b74c81eaf986d6fb858719d45e3154c79801cb3bb7ed83d6d1861e8f48543e003d4a0c6a05516076249b64f16a2ec0ac097b87a8039ba4243882dd8cc851134eb0219ffff03e6bfcbd5b37e5d43081fc69385a19b30843ec4c88d27f80382135187e36c437903f6373cd65fc0eb1d08dfb9f3c0c72ccc1dfe42c972dc8080ca0814a84a8d8b82037a1c369452780dce9caba7af4d0d52a350e2395531518616bc47fbb59dc8b598033400557a27dac66e8c92dadbb38eaa4fc02467f9d715e9428bb3530ae00974a9036cb7cca634e9a852beabb995d3f55bf06c379d9eeeb404662ebd7e538e8a044603a6883082a9c68a35690bc650b36621d648c0203f8fc14ba29fb65d5f7cb827e7031bad39d4ebe03510677f2cc471d11ec9e6f1d2d4f7dae60b229d5ad99379f85403bd458347cbffe6982b6c960af328ed321cc3e43502196eefd3478c6a5790bf6a03a59b128899d23aeaca5dfedf8d67fb65e938371b5625710f5c8d24ff1e680e5703b169a2b391d989770d09f41c6185202f7e6595b18f505ceb577f76cb724222fb037266151397c1bbebc58ece7a838833e23c9ab1c7dc2e8516db1f0f2b25149b1803b3d76767ce7cb9e83c59a1f8b8fe3fa008aaee2076f14ceb786d639fff806b190219ffff03910976c7f7234a2e0274213ebe17b41c90f416b183bfee586aa85d96d5f119b20367326580cefd5cbf523bcceaa610a670a0f3c0c4cc0062e39b7a398aca16edff03fe6d68f7a6140dd1d3129e35f17fead624ebc4743d9c632f0e0cb3b2b89751c90373f73249bf075194c80b9588a7ac8411f3767afa9c64ffed2cf646b6964bfda003cdf5a646c3ee15a04fd7a5e367110af82396a49cdcda11f860381dbe927246eb030bb72e61ec3d7613b5f804d05735e88e52df295e52f73f11e49fdae5ab2c8bcb033aa5d20f7eaafad1750a509f6338847c8b75a7bb7d26287636a2cc32258a539503818995d18fd45b57f7bfa628658410f1f2fa03b9400d1b1033479e774c964bce0337c7337b1eaf414dbd332d8512eb6b6f3f8494d6987fbce5cb81b87c8c35e02e036e71a91843f625a9900448f24a9d61483df55c4cf442178a3b4e9746bc5f881a0319632be8d8323df337ca1d89faaa306a1cbd9ae42fb53e15081b0c0df5420eb0031e234a55e7c9ed9d76181da024da039fa6a5a80ed10383f3b0606c0738d7b6f9030552bd47fadbdf503e7646b2be7090ac8e157ecf2cc7c1413800d7595584295e0342203add60fbf7570e17166b46a241c43a05c0ea0df9aa5c0e10e6dac9e792aa034860f1c900d64f3e1a3a32802adf8c9c92f0ad0f7b323dc4d9d4041c82bbd2bd03393a0e9bd924757ab76a6a472d4fa7663fa32516dd5203b495c2553215c4228f03213628b20b109e4f6941cdb98c745eed89051e120f2c6ba1eac17bd94011274d0370e309611c42fd6a677396e8038188522704e3afc5703fe1c6cdbe2931381c83035b872905089de0a314577fda7e5009c0035e0ead0bc7ae9176935f195e919628030bdb6e91ed59dc28ac1daaaa72f2c77a26293d03b5a6ceb773a950f278e041f80356550467ffb1279d3ed0e4c1536bc82b5dc68c8873f7e9052eba1ee46b12805b0308f875b8f92e8cebf856fd2dc4ecfdaf9c9054bd6ff6b2f19cecf4f2d392113f03f26cf9a3a5906b0ec79ad3a417feb16eca72115167f50c1c4e7235eaf1a9785a03be50145de9c9fa6874a169746df1d8b786e4248aa9cb38eb2ad5f44a76da70e603c2cf561ac902b9c8f5d291a8b50f92f664cc96c102bd0db3d58e90cda44fb9b400581f028d6553726cd6545cee8620c9fb934f404bd7d27c87c6f367ade746e514d04801710b6ae0999fe500581f02c581d4396ab5b03a612f22ee8d6819d8426497b73641ca26d56fb3f3c111480552bd672df67df203a43aac09d90d7ef9b863a052ca8c0e5d95a3c1f7e7009004c0c86df3176d89ed00581f0355d56d75c8e006614a660003820f85e55584475216bf8c7e000deff458904816fdc7df5763c00000581f034b35a2b717179e30286789ef840c99d05a61d156bd5f12f4f988f9e438604817796d474a159a8000581f03ca328feba7ef0d11c882e63c18f4e301b3d1e3f93b6b1124158b0076ac20480de0b6b3a764000000581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30430209650219048600581f0202a4cb9c9f945a47feb0958d727f86f3df3012ccca365c58bcf33ad4136f47982fc330c0166000581f02abd91e9566f7d6b40f43e0d4d8daf48d0ca6f276ab36ae79be293f53454b47d362ef4c22c00003f469feaa78dc017c4c3f593384a9f3b002d0fa9ebb948a3207e1e38fc8d9ff9000581f02f6a32f1ba39fa6ad3fee0b1717adf4887776509d3813d66805af823a2b6947467a69bbf2068302192eea0219ffff03704bfb648ed7f5cbfa79f92f5a055b6ea1937bee272a209cd8cdfd7712b35c34036182c57f04c15d0259ceccb34a5cc84caa7d23c0a95640e82430fb30d4798a20031c7f3bb57c2f930a621f4b270fe6bfc649e59235fe6fc59d7c174f87d24252a303b4fd1dbcee8a3a27735e49784e471a1eeade576ef518379b457e88d93b4f7da70344af97361e790ea68619597e404b1224b66ccb876e142409d4e2d3c52f1e08e503bed45061bf13a9178bd6dbbce51da14577a55397059e54ccdc7baf26644450b2038e483f3b825c2b9bafe7ebd8066d48e24b61c2e8081ae404203d3553683baed303ad14972be42dd8382c0713eeca4115ce356194dbef9acbcfb8d74a2d58f3844603a54f535db2724a67b3bf4f252270502617d69a5b511e327d30a2ad1f437365030313d2999329a0ea744867f8a96818bb794ba11af51c81032888ba1699cc6e565303d3a33bbc52c1c441ce23a5e976ec4e31cc7ef3d2a0879fcb8251fdf40249471b031961fe5970c89c97f69231e4560e967ce94bc0a99e84cf14bbe6a47d80b953920219ffff0219ffff05581d02ae4276659f55ad8641dfe4f16bfb31993fdc870676fe0b3c04274f80070119221003ba88c332572592e0dbd71b62ef7ebcf9cd906eb2a99b885c5f08361396e61a8a03fa81d8430e9e8eca0605c2a8253dcc4e03aa0f7531ab2f74a6878b931496a67a05581d02e9172b4ab13892fdc4862c0ff96842b3d36923f732c5b812a531a8b207011bffffffffffffffff0219090005581e03e30ec2c6db7cea223b2b04974895a1bc5bc637c6811f050b8bd2f44eb00c024706f03e3f3f100005581e0391d271e6e204c5b1f3adce1cfa680838d203f0a78c6fbe357840629e600c024701961bb98cbf380367f49bfe6ec3110c4dd40a0d2457efad0bed360783bfc4b458c612b6f16f23b603daa25f3d0adf7c6ebabbb1eca869a55b56c947f7b3b2fb64209a3d3a47aeaea005581e03ef37075d53677ea35db0aba0d0a1588c3d2b8694102c434880f5a734500401030a5cecef47c8a70b04dd77f5545523c55da0d1798c1500ee23738d4efe28b6e005581e031a5aa34592a85cff17019d4412c2d7dec84d3c65e30df606f32e91fd80040405581e034c1aaacac2e1e8ab420f2ca8a95e9ca5a06141147cd677cf5f28a8f5e00c0147013f7d4e58202b02195e720219ffff03aa4ba4762f5be87409fd74aa7bbc768fb8adb94d518cc30f4d08c4789fe9b0fc036050d261a80b1ca90bb058740251f910cf4aaafecc543006f08f26595e5392b10219ffff0399963a16e24d7d1c6fb38e0fc606e0aa0ce453c0d59b88280afc726c8a21e17f0219ffff037d1d971a80efebf277f0798f63ad210379b8589cc48bbc281d10712a516598a203e0c8beb78f3b986f6ce0506e802779bbc4626fe01a581210e507c7ed560fbe0a0362b4b83ba5eb5be975b8cef3aa639605f9b6a420d04777acccd9ebc007b191ab03aa8071d5d684f28b3728ee3e6319721ed7530854ebeee850cf171960bce467120219ffff037d53d39d14ebe8c54cc83f21d84c7b871335171602997f1c2ed42e5d87fc0b1b035a98b9be25f3196a73b5147d3b573d33e7c2e7709b6afa06784ddfe89e9bba550365dd2de256bd9090e029894ed79f25a32daddda8738cd6d1af511af6da4515dd0315b0fdf632b69594d485860ca47b5d976b62d7e23527c7a9478e04863a9bbd4e03b7407bdb64d68d9131762a2f6bef39946d102fc43b75da687b97d2e42044f067032dc88b6d839cf0bed89243ea6f5352497e5ee3a6149c58c68c6d10fadef0ad5803a766dbac68f2aedcaf11c6ea3b0a6b1e70b5e21b5e19b3d196ceabfc9b6a45d4034a18d8f6e5efbeb148459d68f1ead9f58c935a63b5a207f4fa59520728e4f4280397185f84a21bdf8d6faeab512475ae7a6e3b5b8bda56ced94e121cbadba30be2036d8d1aed300f121bee4814a0fbbc91963f9b91c189f531d12edfd2398411786303d59649ba9cf271ad5aa9594eba7f6fb0e13c9dc420dc38758500a0568c975cc2038ac8f6d04eaf19c60485635bff114044874de9f1b116dcc12c7f1f035afcb4db03f65adc57ba0724ab8f4bfe89923ff4784964beb4ad5a697290a1d71e80a5a7f103d10bcf329e7036fd025089b376df1ad72fa1a1bf8d9be70b2c59824864d4cb0d03c217d182f61d2cdac8be85ac2c4da88a6d237fe97913f6554cef8a41f33f5cfb03630015014b590f64d4955644bb1fc66ce0a197f730e40f3a65ddad12878454f303cbc5b25563fa30d8d6beff4809a6a4523954b9601cf671657a5f8650d4f4533f03aa3b2a0ef8e498fef38d5a197ded221e860c7b25375099485f91e39f40a4a42703f76e007410814c8e17553507276a371aaa0a3fb8805fad2a08e0adf0539dd62403924436b6c66b801b3c51efddc1747e77a0d2c48501f5a4f6e26225db12496536033b5db94caa79eb443ede18051aab43df811b554cffb08700b96fe9155a5046ab034e44c9bc32bac7993a7c28df230e9c6865d2188d88355a1a5ff79eca19ab11530322eabce92d1bf277b71c813301e283149fa217609b4c978457039261e868246803d0a23a116c7f15040d84faac84392f84eab36db9ebcc9c9dad8d429288f90fdd0396400df5c6d02884a0f7d59d8e1b6ed138d22ad6d4bc29e767544dec586f43830305bc97464373d3100fc6cae90350daae7c63e05d0193f332ddbae805224616f203038f5d157f9c80df588802ce5011fee400a5e2404cb9a67dc3f2e0cf2eaa4a1a034feccfc3038cfc0cf3c519ddfcf83920dde632701aaa03636f0c26e39b9a90d503a7dd589f5ff87deb552c8c3e12a22fa8d75aed1ff5b7cdf320bb561319f425aa03f4e26f6c93fbd09d7533c9630efbcb52acea02200539ad312baf1f00d4cbb7880388ae0acd26dd57765bf824fcfe8dae216bb994846d859af99c7518093006c78c03559a0131d949e06fd1aed847b81b4c58c9fa80b3fed0773929215438f2bdc3110364ad9fe3a2fb48038ded485e46a872cbe33172d43c1219594b41d8fab1e8525703b3baa0d601fc046c796b0c43cafe3102b40c682bef622e6caefdfeadda19211d03b200d2f5a09dd99c2cb9876060e98694770e927054573e36fa27a1eb8c2094280313330269bddd9b31e186e6c57af077d14635b78a4de977b20cb73f25d07a426e03d7371aa5990fc7207710fbdc5c24ea4009e7c26d3bfb44bfea5399bd7e24e5f7030bb04d3991e63dce7c9c9b9b7c92f14e23ce9e8a4685c31076eef4ec32476df2038add86b43d8fa79a46c8753c91e424614a08936f5d054d99e6827329defe4c7a05581e0318d9963b5ca879b4b0f59e6efeeea82af0e94e6fdceb27c8331c9d44200c183547466aa4144a02f305581e030642d16a35aa407f44d64f8993926b79f8f2625c276800fd91c0b8ecf00402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e035a4f8f183ed4c0f66dee3816e9ae4b41b4c58d25c7c57fe131b6d7a46007011bffffffffffffffff030e3082c1c5411283fc34ba90988c16f4a076830b1f0a8a8d526aa6b6ebb57a9703a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03eba10b78bdb3ae111cf30483dd1bfa3cef75afe87a3def2b4336ed1ba007011bffffffffffffffff03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0373c5dec0c39df458200472668fadaba3ba732e214eb245cb137876ede47c718605581e03d7c14fc9d337d1414d4eec19a97bd47f87fbaaac0525dc1e8cdb14e7b007011bffffffffffffffff05581e0306f2209b93dfe8d0d8edd4ed00cef757d31bcf087822832429af998d900c024701b71d27b927b805581e030650457eb7bc4078fe4adb25ab8993434e20df78b49d3d0ab20c9f05800401030f806d496639c12e8cb3073a39597fad5e0a91c684a9118d2e8b809c461e612505581e03316ae2fa414bf3099b38da7619e944815ff7c2cca063124f818759f8f0040505581e03a1b7b9bf426785880e93fb6f7e239e1a780a6cf4362d370c49b34474a00c0147020968a4d396000219f53b0393a2e7e42425db6f404ff7ad1286159f7aeffb2537b537c17b47c00e1db9e7ac03b861a4146953a914510c1755da19ed83e9d458da1dfc2009bd61bbb8967064af036d4fe946225570229ea74a1eff92f89191754333d2536903a40493bb1c9204bc032d9af4af875dbc9da850aaf5f944c980d811f764dd5bfbb2c4b97fd27c6496140219ffff03e4353a542da5dca32236ba2229f26e1f10043bbb11920c2cdaaaf1746cc006d50319c37639fc3b33a08b95222017cc068f44fbed605963649f972191ce95bcb96c03656b8800b2caf5927a5fa27e1a275a3ab7fba298e8bdd47cff0799b81307ac6d0219ffff0219ffff03e7575bfd9081258717e6e4cebc5ac8456a141f904c5bed44a56ee9697761a37003e864421d70b532e865a826f87b959de71ea853007361a056955cc17fed5cfc6103c6fbb2c2c6fc221a23a10a88774d3532c8a65fdae360ea97f93efac274f1747b03fa57f5f0a7a3956fb2ca734f07059bd57c01073e899951f9ea0e29a9664285e2031579dec87cff5d810717195f71da215397a89ed55089d179a8feec54b92491a80387e3e7be366ae4df5518aa3e17f24aa755274cc628446c5a232b5261bd0f5e6203492d80f3a3c58375083f5141f90c21035ec4331844dc516762bb369e1951cca6036cc2a4be12fe6e24871ae9cbed153a99449c3c1f85a0ac283b15f1dcee2be92503e3c57790821fd49ae3d994db0b5cc84c2e0317fbd32a4120b5dc18b9994a7a5303c44dfd9f1969a5c8916d869605cec0613129790a5d483631841951ce8fdf03030301c61f70591a049a072e8e161f9679562498d78b59c6717a07fe2a32a703685a03d3371b9c1ae03d0ea618e13355b2a8b84c0cc2ffe3d05431459db044da0211300320156602723cf6b0a22bbc45737b8318ee18ca7d4d2f679d9747594a68c2c24b0314a5829fa451259cf8f5a1e1e30d34ed660167f99dae02fce1828b38c54fe4c803b796738e608d78d5472f56d8daeaf7c5dab34f9d6aca17f201c79945afe59bdf030cff3bc5019d26803cce4105a81022468288da67967e72a7f7c167458c67b07103b5dc146760d53f445a626bd22997f159c381929565ed4e34586fac8616acb0e5034743f8b030ff704473d61fa10f2d69800f07274bdbbf94a054ff831a57fcc46303cd3b1ff44415d05a0fe20a5e098f3c623f4001a656a270a33ce8510ffc50c2170301157151e6cdc70ef50e3311f1b0d6bd7d359ec1d304350b3ab7bb3dd51e527303e854b1a55544dd7a051c031d8d15a869f0eb13a6a84e553527553786c3f260c203953d1d82255333e854144508ba8587352937409737f501baa14029dfa21bda1a039773398b2a72f221225a148c0265924f4c926135d89b230a619a20a18a24f7af03c9679779240f38fe3f16d61ce30f7357cb16cf817e6193e31b5ab009ea8c28e803e140f7f00742a0e09ff14183f2a1cf3aba0ac1a85d2ad83c850e29119def9b1803c1a3cdd0cb1f4e3d1c8d9494f6d74f07a9c457f2de52e19f0d3319272a58698f03e014c3b2b6919204514b66f979eb0fca1ea27900c36c96992363224c5ce52fa60344ba1120877520de939cbf51c3f395060668bbc570f50886025ee1c77b4271ba03d9f726d8c1e31a40141b08f6d4ddb3c8c7900263c3d5fbe49a90fcd7f698f61b03cd7f105c656c3273389a20e4ec4a58b314342a4990c594df6d002d0091ce6dc80357e9b31704314cd99f2141052fc672a16a8d4b88e4e9b8bf127c737f5373db97034cc89ed888f3fcf3151873fcf2eaeb992643f37bfd85a4e0fe4d144f9d722ddb035c40a1f00d6fd6c6716a121cd374293fbcc3af8b581bc417f22980c210774645033503655cbb5552a06eab040f2551491632be40b7b874e49c9f54001ab999b5ad05581e03772cebf67a44d8c3973c919da4d87f84be822558ccc6a9f9b748430b600c17471fd3b6b39f34a605581e03d918b34283aa4675f9ca24c5ba15ffe3c34adac4f14c4ebd507c3bec200c01470335cf4f97e66c039bf4c9fd3a1dfb434b67f1913a985b7ba2d6261e4259589558d55c479cb3ee5505581e039cb8baeb9b74677aa0ff277bb23b624ed14358e6fbc3d7b661a94d7900040105581d02134427ff452c1a9529999f521b746e28dc93dc3b394bfe121393a3ba0c104729078a1d8363b905581d024568283d6b65b087c7d7015353d55855d02bd1ebe46cb95e50f373eb0c0246010f3f694200021910400374cc8ec622c56d60ab04d4f3c0c34a31df4f8300bc9479ffb58b441750926d5a05581e03b03e4746e160a5a6dd2dfa905ca32082df877dc6fb9960ea3d1cccf6300c0a47016c52fc528c2803186b1b272962d4620476834f0474e1a67180547c7104d2f05f7a84efaaf402870605581e034dd813a586c30d7e50f07456a1edb6e96db6d06da194b026fe4b18cbc007011bffffffffffffffff05581e03628a7aa7fdcff731418b856ff05e2a4a1b6ce8e5bb2ec7c6c4dc6954100401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e034fe92d8dd16511249b55b719e1d03a0c9b2b766e36490ea0ad62c5f6d007011bffffffffffffffff039937ccb0c00f26fd9e8d97676319825771dbb3fb480ee179e886c331ff7bd8550219577b034ec04ef5f124bad30f34f62eeacac72b230ee52146b7d45526752bca563fc69003a4f3559c3cda2e7b1ee4bfdfc67ceeed41cc72e90a6c4dc27cd22f504ed798f903d4ee84cd3db023e0a943c88dc208879d1b1d723fe59ad5fe6ea0dd8d6d395980034dcd420b5626dfb4a3c8b117fc482181fc6b16e276e7536f22c6c7dc18af55e6032c21934edea72466837928e637b73f093e525089521e6e6779fd710b070a81920219ffff03fccc5ac54c2890cc89bcb2e057871fb94806486f2a424c67801b2dac982dc5ed0391a718303d8e76e0894b2b161b20438a0dfa3f08f169e39a14226007fbb7dd8f038af81acb6646088f4b6ad493e13b37a7c5651fa0a3ec9e7122e5a5f4ad8a352d033fc06562429928369828646393d3ff2c4ff5497374484ecd36efb31ed34e381403e0290a8d56a92f0a4c1e35fcd0257e62ea2be1534faa5592f2a7bcde90c2112d03f81a267aad075ff59efe61c629ec805c0eb37b55ceadf7e337cdb69cde4ec93e0397b390eb630f34d11766f8f2ca33a6ec1f7ee2141c8f6d8dcecd3992b5cbe780031c7025210456f5ff18f5568e9afcbeba97e28b4184ec394519938e7706472ae703e6be1ee2d1c711f1055676033a4d8dcb188fad8d5a0b8f1360a69706849d3ab90303863e3ed1563a8d3b1e21d5f86aa68ed48b52457360a5676bb8860cacb13c8b036893a4e0599328c7a1f7087f6ee1282dcfbc39ebbbe7aae678c5569de7465f9f038518d2b353c8ba195bfea9feca86afa5fb8db9d250b2e7cc5bb714bfb44a1ff103dcd6f69a8518da869daf72bf1699edc98c266bf31be2a831eeec6b34a0ea592d034238d6425f81e0ee4132cf2b063d30955b0a62d547595379cd26c843bb9c34100219ffff037b350f667d4df875547f7b971084d731aa86195471c572b5936dbe983e2fb48d032765de47ccd0e727a60c82e5d8a270f6634c26102933c8f0a361215a9857116b03a8017c6c1ee61a5b1fca413e826d1542d4935eaba4e19d771d6bbd39740a023e0219ffff03d15601790a7adfd30d1611afdd0de437c481b98f29f167f31e5f9d6ab172cefc039271bf82567c62358e5792a0b301c748c5832fc021e4cea44aeb50564ac8f2250219ffff034de423f90a3beaf8a8773d1f0b49e7e3e808b68922f8cb4380f324290d4bb2cf03d673b2f5a8d675845c82795415d672781ce5e5dbb3c9495bec2f99d4882b1597039176ae454b5a0246d718210429fdfa27d0d038b2ce58b1875db86a4dfaa36505031595a9d8e9b4fa9bbbccef32b30ca9befce2b1db31eddb448738f83caa72c5f40329eba7f2ae26b2d042ab62a8c3ad5029689879c09e93fa832fefcbd633e24b5e03c05f38aa382f61f3147a1e3d1c375124dccfee0c02b9fa132ad292d325a6af050362385b9700106037cd942da2daeffe6a9175643f0c237246e08fa31fb9070c1403626c7155a88e81375996d98634149c200340cf1c5468af719de1a16c92efc67b03ab783732bbb2cac0ae4ca32e24d202cdf002b06b80df71066f46786bb6841d230364ed34a0bf1a4a7d4341b09d89a5f7a3e8164d26e8b6d2354dd19ab3afcddd58030308021b3a3e73bc873d7c1da86210114764a5cdc5caf891324e7c48697a9f8203cba448dbe3d4ddfb765f4d21ecfcfdfed69b306c0512dd3ef6bf6b8128bdc47003d29cd9097a1443c8f66454fe78c7581b019f26280403fd95940b744075e5ae1e03ac43086e040693493e6e548a113773dbd8828930a11f25d5edfe200f5bd86b09030bcc5a33a7d2c7b3e619d4a3b748e77cee838efceea097662ed60c16f83a9487032be089687aa396605de5d94784444b3ebdcb3c76879a2993547e52a01e85a62c033a067b30512f5b67bbd5b14b89bd1050766f94b34fcf18be4a48da9f864e84a803e26e498e25b3c0088a6ef49b42b308162834862b0372ade82e3adf46ad85595f05581e03668a63c963b43241412136e6c143fa7bbf77266e2865bf4e42b3521f80040105581e0323d0dd8a86ad908917a0058331b9132ff76498d9a556a085bae76118400c0144c15deecf036f9a1be7777c0394bd2885962585fbba9c02a3403282549674a0235937dec70803127cf6bad67bf6a47cbc5307e27be20ae939f87ddcc7fe91747c86012c101c4905581e03cac420fb22e3627bc4a897c932c3116dd24b259d655c7e51aa51688da00c01471a4f16dc65a20005581e03faae3b6d50de7f717cb1deeabbb18e6cdc51acbcd647175129531e22700c1856470251244a724a9005581e03fc05ce1268d18bc44ab2bb10924e42522bd823e99ebc0525a96065faf00c18384501fe35f7c405581e030c6fa5cad34672b30e7afe284f4feb6aa5d45ba47b1a7de1a1fc1bab40040105581e030f4a40e17e171d2fd8e4a33662bb3cfe849d8230d48b438ed34d5952a008470a37b04647f80005581e0323dd9ba19a89a97e78fe42aca4b8444b7b26f88ea0e137ae02aa7db0f0040105581e034a5b15402ee0202abfee84724037ae19aaadcdae2c764e7c56d4322f500c094715d76a0a79e4ac05581e03f606397ba02cd5e4440b8d7f65cd14d97ad44152dea4c9f687d3ba8f500c02470f554d62520ced03fdbeb3bc3919ce4f227798226437e144164ffbc7f04f8e9596e8317e6eb5322f0219ff2f0219ffff0392dd611b24fd2c7d070ce244c28138ae1d0ba9c61cd08cef3895e7ce94719bdb031f3813f9d9771a56306d7376baa7fca18e8303a3a3e1a24f77f7391d5d9b2b650384af3f2df9e91470969f7a7cc7e247f1d7f4b50c2ded5b382810f38c4dfca50903b26b77916684d0f0354fda8c92897b01b5a5372bba614a30cd72eab537e0ced203964e305a2385d52e511f1e6453d127f2ca7e9751a12142bcfb65eee01a40b5ae037124f83277172586f0e70fa6953356c2cde3e019d7d4619f681e92dd635e62f103c9e124dddf6ef7238dc3dc5b34f39ac0d98d90a2f641c9d1acb2ed3d31174e9a033f695e9c59965b03ee92e14690bac625c3adb0682403bf132f55c46591ae290a033145642d1abe709bab5f060699a3229df983ce673bf07ab82214930c3e86f3e1031983f9b558ba79b7792f81c1daad949fbe363052e6442291a7cee5883d62a5000319a6a99d48e3eeaf84556894ccf11ff970cedbb66e9843d6974e8d50220f202d03cc83169be09f6a52a44d378aae935241b5ce748e0844002212b94c2be7b53d7703529ea1220947704213d1013cb0865a63a674b1edfcae10179c52092b35636afb037401396736b6eca009c2c230a4f7aec73ee4987de010c53f4480f39c151a30fa0219ffff038dd1b0215636612f791fdf8fcf9f046e5bf8078b7885e78bf43f196f7f9cdc0a0301f2a1df65d087e5328cdca578422d7e6f7b18d50d34386c5b664c63d6b97bef03a437554faa1bdc66ecd395040093b85d231d871afdcbf9449fb763adfc5adb550328e80f2fc0d000194d2441f71542edc00e09f56474e46980e65a9345575f9f3103ec8f143c9f73c054f0ccd2c219934f8f6ecb6c87ad020b05985190f746e38feb034616b5d0d831f4640ad6a79844bbb9929df5d6baa4743637f03d38e08a77018a03a09f6090c0abc5a6264ad7b8ed8853837f4d6107b22dd06eb5c55b86eeaf660c03c3e6abff01f671149a9bf0bf7327654a116d9fd159c131e7958e76f9535efc5203ca89b1e85e8e1040579ba74ed1008230dfd9161a51cb64e5c225f5e0d551d6cc0360139dd6d625e55832703a1c3b83b4527bc9741a77513ceafbaa18ae422a03a803a59c3c833da71f7100ad8c4f8a6f429135e98661c63479b924bbb04c6d882923035774ec67913bde60c646e3cee9009e372bc31af5d62a25fbe03dc6f66f3a88a703bdc576d9236dd7b2cb56ea3c96c611ec5bb951e74c46afeb1d71462227d9a87b0367839702e659c1f886cfb0c9849ff2bd060cf42a23eca362c78c56168ac0b2160219ffff032d00da656054a94d0fdf44d9fdd8f6de906103aaa02c7de6bfea60d6fa78daf80381794b8bd966415514df6c225dcc8dc30f12dd705880843a3a225b7a69fbc6d60365cd91dd3c1090f76a1cd138a93e2c6683963908291f38f50bdf60155f5fc758038346557d10253cd3210f57cc33cc242a92524450595faf7632f0b57aab619173037406521e417ecf91363884d628e7e3d9e7404b8a82f14d56d71a8073ee40304e03eb3b669beb1ff9b37a65d8ada6e4b589e93e329e0d17fd11282b75bf6e624864036644e613496d8036c9770eb04c9db119117961b006185562eda16bb0f6b3636103ac5f7deccd5c16370bfd7ee8465942c800294e17f6ef9475df94a7fd5d029c990399293ebf0b9bbf5fb4d6e27770b2adcf2b60530b7a3f52e5a266efc15932f4a5034516bf712a6ad5916a2954fd8fff593aa66890f636f53baa27135af537a9fca5035c0ecd6ae9db2d2a38f955dc7970deae13d2aa4978bf70ce2bc5adfee1a4e78303d39701e9a722c1e1ba1d7fb1e8a1b350e28e4ed3a7fb1f346b9fc61b0de2a98d0343a11dbada9d3b73a945b273463dc534e25b9dc3cf74f6158009d0d7213145f803e326dbd14852c19306bb09bb17965a8295e63e87fca973772f2b6801584dc5360219ffff03d26e4807226b33e23605c433877029e75242ef625fc2892a3aef1deac8a4a05e03561c60733b7e4d98f03bd2f73c84db467f67d9e2db34391a57870f96df367766036fac2d218c1546a730b1bc5046455a6ae540a46c4ed0ea4d2ff40be7a88c440003ec9869c09ecdb752f277b2bec1045a3d7ecbaf9d789d247b688efd2e60101c7603d8a30caff33a0072b278020d9b5c441c96c6fd3fea7f8691da0c6a8c3332b203033a6cb4b45c4ef09d0bd0e0d01f5d6543372ccd07d677181ff77f15375b8d23c803c0408cdf7f145127df1e5ce21b131bcd1bf4e8d6083ae88e87b2423b4ece69dc03fda3c985b18b0b08fac10701288eadef5adba9ef0971a49f5f188ebfae2b3c1d030eb0e2cea6f9fd18bdc59d47889afa35c11ce21b1e22e75afba61c169790ffe60384df2a0be9972968b9ba00eee2329f1473ddae6da8b43aa4c7564169b0dd495103c27c2216122b1d3ae9b6021ec06ad8193081a939ec57480c5def19a5f0aa410f0380cf9866a4b77bd30d431b53eba365a91cf3d73934e100f7d9df296b8b99e347031a003c789b0646b8857e9efb636439043706d0389b206c2f17074c81c1f0bee203ac6a4b5064605a2b1f65961e2ae66e3b82b6595c3542668e565425fddc3085180371be8d9c28c4270eadee4d39a5187b04219d3e76f2d1d2ded5325546f127499d0346dbe8094b918e828e545e81cb2860803c1668507e9614529e6503fddfd2d31803f1b82032f8fd993d2c9be945eb492cda3d49eb7d0248d2e54bc5b1d592de653403defc4c02cd6aaec0ca176f9286ab0dd849477a312ed3c9e28ab1d2581f996915031cf3a2af3690486119a24aad0e8fbea453b8ffde1cee7339997f6c12dcbd6bbf0371236558fb99dcd7f0b170714542804238d009192bdda7adac6d18809f7ce84f05581e035263482761f3ac038f39dc7c0cfe44529771f1a93728bb0ea0fa944c3007011bffffffffffffffff05581e033af49dc6c998c95362aa94ccc40353b84c31f2e69f5b4cba289f1437c0040105581e031a2c1bb64f0116a26dfb860857c487bd148c15fb8b182f40b018a98a800c02470108f779d98ee005581e03bf16390d2db2d6f8b73f88073ba793f04720844a14fda3045827af33600c0a47cee1bdaecaf40005581e03253ff03cea4bccb9ab3d2a68cbf3529fd1e834dba6a13a8e6d230f6f300c0147302ee4a7871af003c0192c2fd48f950b32f7609fce895efae5b2fcf7c9fee9164ea1f7bfa9a1ef5f05581e0354a8b58feea868c37ce9f27969e748402395838ec0f73819aef5a3b4f00c01470193f690fcaf2803f1fac8a4074a3fda962921cf8b93fb64d28da135aaa9e41b69c256fc18edfa33035a36b574e490202adbb78a4d37ed17bbee6bf02b428adbfd844b22ec7d3a648903f68315a1425b57a47a9a1716e4dea9713ba3fa1eb23813a7f285d3aef0d6621b0316fda5353f97a4adc0813ab3225ff3782796102d442383220802695b85a9695805581e03cf5192bfcb828b5927ad485286199e1028ce7bf20d3fdb00c9fd79e1b004010219af77038d17eb607fc2fabd09b106fb7d9270b943600ffcbdcccf33c1ae5ed5a0800a020219ffff031001f57902d38ea3ac7a93eccab3bbc78a22ff12a84ad9cccef5407b0a2a45d303b83b0ab66d99ebacaf793a075dd68f8b5ce5c2b3018d31af213c7c9b1d88eb1203cad1f10e9cd808718d2a1166706dc2368064e3b681df63917de503726e312be003f7f2f7a345725d55075ce5aa3d648f304d7a1cdd34e35d0ed89ae21634b4e86b035a3a95366f4576a9e30519b9c85615f03df6772542ff0556ee1bca07cf3f44c90399be83e2874263cb804d535059af54c6e1a246ab983bafed06f2bf5be124b8f70351c2b8ab9a4d60b9f474831f15f3a3dee311e9f80a6e1a6b0bdbd614447b09a1031a1b3d51d6daba94c1ef59440714ce9b42af5eab438fb1d4be3b66d63513e2000342245a75d25b2387328880a5b217f2174c757237f345f7fc211ef786102e051503ec4ef8277a99bef7d2404072042ef275b07f0b3874e473ef7ac7f52a4ac02470032fa41e28f1b8643083aa8a8aa907a85282a322bc3c0f26f6922da20a12421f8d0219ffff038cc8ba77c935a291b600e39189c69e57a5ff8c63cc1f7603a5abc20f6f526ff403e8a2eef8581d0459341c95911459dec2b376084c4b86fc10bf0cea237d2d262b03d0c027fd411e9417aa06d0395e4d4321c73850f25fc44e41cf0b3185cab5860303975a0f6fef61a2bd7945e483643d61b3d2d8e9c70e8c1bcc88d5b02e07051f71035d647095820f7350f12377e231faf08bbe40573d148e38b9fa34290f126055970322bea6cc32f5a8887efa05e6b7a7c1f3e2c08ac8ddfde13a1eec75eb29f7ef3503d3f4843cd26ca62229b06c38de854ea213cdc7c1bd3a18317f0e4ed3b954d2d403d142e44b242721f8ff3ca5192fe1d2cbbc896b05b937cc539cd18fe24329633b037c19928c592cdc0cfdd486ba1c5b2e160517bf200c628af88cd4695619154d700300ebcb7d0bb2007631c09401ba765f5a8da39d0c52af673b34c6da94dec4643d03f1a4274e80ed0d28724ed5b37f9d945c068190977259fd23fc3712ba30aeb5bf0393013e43f876b37df94a89dbe71bab94b44d5d9bafd39843149cd2dbdf6a813f03bc0d52837b79bc2e8779e54be4cdda76a071d6a537a8407296d52f65e87ba4d30379884aacc5de0d09e618d641fed1bf6a5734fdfd91d324a5e2ad0e5e8e4cef720369fb75c41768c2a0ff8a22aa4d1cddd7ae67a1708e76ed395e00cc1a232724980219ffff03d7ff6ba3769282496041c4e4f2873071490250791e6cc12d6cabcdc3640c546e037cdd56f0271f3e80d4e0f01b4eb7505e73cc3a6029ca2fc7e3982e8fadf6f6ae03f2b3093374cfd197b6a1508081484fd27676c31c95c0504aedbafb87da818abe03caa31ce525e5b4e65071aba0636414aa5b57f6712ffdb1d96c19f19f0e5fa81a03be21402939ca543b7c11ec0df4995ac865dfad904272e4e3fba7c3069741dc8c03792bfd8d3d3f497a99a7eca90900c23a6ed7bad1a5373e0ccf046bef785670d5031f43eb4511a72e546f77568f8d245df4e64befd2fdecd896a7b7d20c0342c91503eab30cf9d7bedb7bea85c52f731efacd14ff99f7c23938b064cc8369d82109c003d79c5633b28bb8bbb4db5fcadc51194f0e6dc881c96cff97d194528b8db60a0c03f9180ecd8a55509dcfc0a652f5c7ef1322f7877a4048c1f6b1a45b47b749281803d2e61e4adff740827e5c76ed00824836c6a1c8aadfab1a3a3ab6fdc969aa7e9f03b92307499e9ff1c0aba65904272e7e7aabd9a28e7a3f67518f938fe1463c925903c8f6c8144e5f1e7bed7a3cd11fcae8e392941462f155fbe46f47b64848de4a3f03c554106605aca07136e516a11fe591c215f4a40081bf7dd1c92d7cb29d4d4613033fa979ea5f51776ad2a8160c4768e1fcc058fdff771af870ae2556913017d22603931580b8f150981abf24e82d5871d94b17af7cdaeb067f2d462753dd10093f9c03f57678b39a3dede6896b8beb34c50b91e9f08e2c5c0d788c2b906d6b3f4158d3036cbcc6a9ab83ab4ac9a1970f25c2cd410f5238ae58701c80531f20b614560ebc03ea51ff60dcb56f4f1d3ee57c605d19bcdf06ab3a96faf901ea97706b61c6c9d203b52a0811d38a68a1f0fe10170086c748c9ed55a6ac8f0592127d9330fe97f3fc0316d6294b6ceb02ef4c111385c68f5718de06f1069e83031d20a968406ea5972e03605b34699ec76b8f11739bc89f6fa9a737499ade2ef9c98a2caa5098c1713136030d7542f1d1133de34eaa42068e4477ab4364ccbf1001ae7eec7e9f200b759fcf03cc9037a3c9bb56aae38074d419cbf08f106d4a7ce052dab10f05dddec5ae816c0323fedf12557339d00a5106cea272cf233d59724bc6823070ee3ec3e67c999e3303e0527b02ff91252c9a3aaa2ecfe7be3fc91a8daf85b24c93b668aaf19361de1b03578ecf4c607e3f5df145b57191e811246859a66b4943395677ce5564eee58d4203d6db5ba7f8d7c340ccddd9a36e7ecfd2f4e6de3a339384556113bbadfc35c40003709cbfbc0d6a58af85204dc65406eb7176616dc8a1f2b4eecaf66d5c9a04910e0359702ed2010131387061c92ba83577931b355b757170b48b60c64610c46d91b003f40f61efe86c7e315a11d90f2033fbffa96cd2f58043ab3f82d9834e9756eaf4034bb7ff380858b998547ef9eb15730bce2130a491cd048380b0a65a64d6d290f6038adf79c472d761c942ae98634b84762003a92631b3f4f66dedc389466d73811d03827e8d32ec3ed93df553bf0636b668a51869d46bd7d32999476476062aac596e032adf7208deb0c1d3d548d84f239f2ec6e2de5b2d42e13afd88a3ca39c858b87f05581e0304b3b79fcac5a2622127947d8acfbbf072e32e8d33d9915d4f4f3fd2500c0242232803d084f4fc8fe9d7b77fd7a151c405e1b6ec325f5eb27c17607ee4862be5ef35d0036437169d521630606929b89cd13a20b97c8df01484252258a55d64cbc79bf415038f0a559ee76db79657ea2f1d4dca65bdcdc22c89144e5a8ac8749d58abbfa5e805581e036fbd8b95b1e4134e3990f6d8e2d34bef7e3c5a3406b0b0ce4e903272f00403037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03e2f96d99a9ff7ac936487382f143482b701446fecd63d143caae3a135007011bffffffffffffffff05581e03e432340196d994b35e39ba8b27644b1cf5b8c0d3ba2d37747a9b4f7150040205581e032c316a19cf2c0f9fc133e7deae60cf984235ae08e3faf8a673f00ed1700c181d4801e23ba82b19d2ea03e25971d6fe7e04aae75a160cacd4a8dc3d0cc6d09dd105be6a72078bf291e56b03a4bbd47243909b5d80082dfca6fee329ab9e0b905501a882b5e7abe6a9e3a02d05581e03959645b0d142a923eef57d28784d357d796c17b30ac369f44d3fa6c72004060219fd710219ffff03f715b768d037bb9ae626f48b39b8f32234d567584c03a18bc137dd502cbe345403c15b2b9313b136a1f1de8abfe9f2539e1dde31ff89e874e502004edbeffa65990219ffff032f6981a72e544e4779ae121b12ae9d674b0ee5961c252e6360bf6e38ef8319020310f6a924b54ef705eb3b533a58b2e19f7d7e60076b543e85d9fee7c727c3f5bc039e5f34ff6d3b381795d240e48a1ce1b9abd17e3424ee8c34dc809ebb0f79a55903c421c8d3d5bad7064e1be89220226d2281bedf65511d00b1857d9f655c983ec103e1064fee72c28503e0a3bf0c6f9e994f11c0150517ffcd8ce000142b1e9e5ff003793db51729c8bd463541fe88acc4049e3c765901e2057ca2fbd1f251cf05d0160376b7a04230e03f5f45504aacd7a9e1aecf26f74177bf3f533ac7b977c9037092039fae16817d5525c4f4da27e9825d5d80a806c092972133b467e37c33b207ee980219ffff03b6d84b4fd25471ece7744ee63f5a89a168e78fc6fddb677d6b05ee0ec26ae37d03d73abfbd4823c530cc232362c9de844d6fee684c19ffd4a12ce1d704b15bbe8803dfc582f5e7592b9d6e08b9603aa63ea31f800a22ea0cbf22962a012a5e425971033f04a39305fe5db76d4374308bd358404cbe1b036087faff02fc1a5398f220fd03fc875ebdc30f65991f03e8badc2dac70cf6adf147c8426e6bae719ba406d423e03450baebeadc2aef32b519466e922e638c6a9b72413ab1597a02f2c4a9e849155031c90cf3d0dd059bdf20c33f5deeddfd5c684f7052fa3cf0f3774af130699f9a2038dd9483631ed46d9c93b8bcd5a00ea544b90e2bb937135c2929831eac56cffbc038436132f5f801c0cc4cb3bee37266b6b474f850c78a5bdd1b019afec5f7c5038034cd0eff66b1a22acd12fe6c76fabc5b81fcdf4517de40c19e759b36bc311b14803648c60530a00a107b4f7ba4113ab57a8db87764585f559e1d2d4fe205225c98303dd4490d16f87df5197bbc6a5ae9033f10e2d9cf42fb70434790b7731b3ebaa8003a0292de4eeb27379f94b7d333ebc64e58efd8ed1498827d928871c00eada993403fa827b39b8ba1c0d9036886f6abf8d8c255f084abbb5e81d61bed0f12a5419f003817aedd5b4532c526e20552f9ee2b73c3e01be9c8430e44e996cd20c6c758f1203acf7fa99527c86bcaa1e6a47d1fdf7aa5d78d97b2f17e68fe8cffaf235090dc0039acc667efc0747a57a452e22ec9c0a1668688da6e75f0af9697fde5a22e4408605581e03bc8b2678c5c5b1acc758bde22a962af6cc498e8ad97f1c6cea215c183004010311e5aeb9bafbe65144e77f4a322a3a8a046ec88462cb14af08ef9f3b408c467c05581e039f3f8d2d83052b8bc8cd2b387ed5de5c39614ce8459a64ee83b76b13c00c03470b1b2d4ee799a403688be245b8db401a8123115a1a6d30b917b0486c0975f608948d577dd3e02fe503f2e495f39fb61cb4ac57f15806ccea80aded5064a5c19ed22521172c0ce4bdf805581e039aa7cdcec3c32dad253aae867a1c77ec6ef02f7aae745297d480c754d00401037bee9f561bad994c60a23259be7830422e75d659226133493df6bce4816b0536045902a860806040523661001357610011610017565b005b6100115b61002761002261005e565b610096565b565b606061004e838360405180606001604052806027815260200161024c602791396100ba565b9392505050565b3b151590565b90565b60006100917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100b5573d6000f35b3d6000fd5b6060833b61011e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b03168560405161013991906101fc565b600060405180830381855af49150503d8060008114610174576040519150601f19603f3d011682016040523d82523d6000602084013e610179565b606091505b5091509150610189828286610193565b9695505050505050565b606083156101a257508161004e565b8251156101b25782518084602001fd5b8160405162461bcd60e51b81526004016101159190610218565b60005b838110156101e75781810151838201526020016101cf565b838111156101f6576000848401525b50505050565b6000825161020e8184602087016101cc565b9190910192915050565b60208152600082518060208401526102378160408501602087016101cc565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122041f64d2ff908c9983923017ed36c949dd92697a1f359295e2ea2f809da86127664736f6c6343000809003303541e8be00880ab313e776306357746d50ea322cdfe694169673185e5afe3328903ca664eb19b6a14fdcb9c2209ed8e7b8c14c8fb85d04236424c0161d266d04f61037c4ccf733df96894f6c1dee3da7d71b07b50d9b4e13e3eb8d97f4cf58505e4c1035d78617e0e742a5ed202cd8f685252cfe3b44e5061edd4b667a2f8250582388e033ec0cfc5671ea0fec362420116927607922bc737c9dc35449d9273b1ba8ba355039454de92043a8f312485d57121073730be349e8a76a6e24c03ae3548fb90e4cc03bb84a9f8de1790366a334e3efbc93295073beb93d961daf0274c1ee7645047fa032b605a2fd097df7374e65279da0ee6af841057426dfd0670dc62dccf3f65c2b00300ae9643977487015fa651eeac247d10c3757c58461e5f13b07cae6556cb090903b342637994f0a1b8757b97a22e67ceee7f42e45a57fb7c081bcbda6ed71605b203597970eb7a913a60fc8954db5e19105cf97f4e1ca28e89acc853f0937f3afe9e031d70e179e46ef0a06bb74788d6cd57886818bc6652a974764fd0526890ca0f0e03d63ea8f1b39fce760a202eb087da949da39dbaba6e55b5e217674b5658969bda03e90d5341245e18451bd4fab28321eb64140499d49c34cb73b0bedd0cbdd8edaa03f2a48cf3c4b98d65fbd47cbed0308a363ace769e35c76b4ce5403da22ca0df7f032a534efd45629df24a8b1dc4f6e314d3f7b1a267eaab5b1991887becee355415037041d27d06431d86d40b650b0ae16c521dcd0f94932f4a8a5a8018353575817903195cbed63acd0017d23e20b7da2b4e371dc4cd4e377fbf4b32566eead9e2acb403ff686ce69da3a9945c2cc4d31ac2cf82a3295948bed52be4bbfe9ede153b3ef6033b16af6b18845e7185f8bdcb6477a08c74ad3eca6c04006b043584afa771e110035ce76482ccddb5b6f81aed65aa9f4f36e0730b42009721dfc8133f7aa777531e030ecaa685f3f7939c8a1b0154c931d8b72f9c26eec4aae2d51b0fc9f3c699beac037bf713b1ae7f021d813f2e3af117c8466ebe8b8c6b21a1c6b2e1cdf474420bcd03d282ae6f2066821e964a838b31f4e9b55eae89b531475f2eabf2538efee401b203bdb28c10c1788cab0484e020ee11608ab1f8c8e3a1fb5dac32ce68b715d02fdf00581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54a4d3535f33549749fb97fa42903ac80f6fb54af603a3d0b5aefdb3365a57fb0573609630839b702a92c47acefbb1823422e648bb9c03304d7cc15717513241c30ad9963f355f867986e83e69331735de2a50ded7011c033c950bbd12074ed5dd18b7e00989f32aed0bddfd479cdb4fc96f31fb99294ae00332e8bddee27b504795c82106edcf66cea666e5bbf13bfb3e402c754eb6a6940003abde9686ebfbc73cb27cb49b0dc9953cfb2d3896ad029a3b1cb8ee617e791c8e034a2f8799246cdb23a174817785aad618fd64dc5027adafafe06dc64f729a33a3035acce4ef1e00ada2cb30b704a315c32c745ecd973e36d1826f7c5a86035a2b8f00581f0217b82af3d6904db98b4878abb23a8af3f0180e489b7cda489db7d443efe8410203d96318be55c640135e1137434ab1324c01f8682f4f60b7a37b646d6b3035f4b1030a6d4b288a874854aefb2df38743b24fa8845eecfdeadcb97a436a345afe706703b6f0ff49fdb7bb3e8eb9352593eab9d767e0bea7a7a4a513208acb239fe5f2b200581f02579978636558fde849da252eeb548024e3c3b8411796d8d79dcbe1411c5641020388454867310f4ec95023df2fd8d87ce67ca3d4bac5829da4dd9285125cf2a3100219ffff03cc16642ab7936f39416efb15772248c034552f4e8733cc594fcd2dcec4b3081403867080c7fceb70b6b5a8fd7e34bac0afabbd96b6f3c5505aa00d81febbe470a9038a78da0ae8ec55b6bd2f3a99117a4f1f310ea720ed364b48132ad865a927bbfd0357b90705584880a26b1806357a7eed2ce46f21820950ce386997972b98c6606b0219ffff033917431e7a9bb49df10582e19114e7c5226925ffe4986147c247906823483fbd03db03706daad0dbb57d234a4b468845f632cf96e93622d730af391bd652267a68032f6fb4aed94186c246fc74c25ca0bc33f6523b82319fb86c9193431d57b709a30305ce2488355c5ee3233ffe73e3bf3c6524800e9bdc11cb60978441dc20641d1f03bf5e21e09653ba8a4807f3e174fe3725794968ffc9be763ded5e81ee4639bc8003080da41a15d8e878a3085a911d271a42dbc6211d7e70bc941c2aa01ee99d0f4a035225a9b3f95df3a52c62287ce5700e2e86b336b41cde8ae14fd7e67272f614db03f49026841d4a40e88611cca3e7b08ba4ac6feb23fdb38685b1a20ab5eef82b1803d214503aefca16b79c3814c0a9f30e3300ea25038b986574e4755e19296fe51403e85379ac33e9fbde66ecf656bf4ac47e01f39c29a1c79d8ed15236e6e2caf9070219ffff0368b5d49a13bb8cec5722c39aaf46765c15a8d9d0482a573290019450ddae30e303843efb668bf8183b337b74389026838769c0fbc635f10e7c50be10a493a8e2c103842009aec2ef120859692bb093de1e14a86c342d90aa0f5b7da7bcc7fb951a1f03cba9cf8fac458f80f9f86b0350e1c779c425e5084883595fd7adf0838ea0f31c03978d2d6a498d9c39b111191d23a3ff8bf06f9b4dfa12833c574c03303ba11be1037d825c4f2a970c06367106f758959a99665870896e2f090390955dc766285b51030bab8cd13df9dc24beadae9af4fd9ff9cb333c9e5b3f4b6297f1ee31fdaa92f703df6df80dd1b4f739dbfb313f97b7779f50aac2d05e12203c4a88204558429ff9039231b0edae8df537679b8491ff7babcb1f22f541cedc8324e27dc376028d775903ebbef531ceb404e2149353e5bc3a2289436b3225a64bd32c22589e1040043aea03a00ad0eeb72d76f95c929d723f4b93c5409db6c43f71b539bde6c54203a9762203d56db1959f7d35f81d6ac74d6bf35bb1994ccb93c9eadc1f7c483b34953fb3bf03da4294268f76b247585d9b1fe49c28c2964c783c7e7b846acbaa645bdf2d545f036271d1a197745f056f5a8d457f44c50fa8d61bc664811e5bd073ea03b320db1e0373c4bd148df76bebd139a546a413d4bff091d62851311f39c9cf022b85216b1803a2e22d6a013ae122dc5974dbc85cd7bcc30fdf857b6b9b0684740d390d6b6443033a2acfc57e9cfd4ff5d883b75f7caa4ff811a6fd008a33d60a0a535a3784fd1003044e9130527f9eb26679fd2ffa2de3ce75fe2234e672cf4f6a161c95969e03c7036fa00962dfc189aa86aa2b011d40150c99bf9adabd63ebcbdd7d5ec6681816e003ac47bc9648d41dc58f16363ebfb3395726c13f6e5085f923036156448dad4ffd03e465bb9555a91ace2782a6235712b70d2b929e90b6c2ff880aa8fe1cc2f0bd33032c509eb816a3ab2c51027917288356ddb7d506f04cc4fa914dac50d793a52755030d8f4e900f17372e005d6bc120034dd08faa7bd8e1ad1912bc0f14619089a14d03ba62f85b649fd2b63f170062f4421bf8916114303c5685d280ba18926ab0bfc10376ca0b037730778456d3a8a4457088cae61033f513f56a549699ff19b07bfacb03db0facce6a84bd88594552cacc89a4ed5a3214312c3851caa6f5eadd3d24c27b03d509098d254078feca50c6ce187a55fd4cb0819d2f8a5f90ac1be0c67bf3eaa003bacac2d3bfc4fcff8e9e38a3cf9ff97e211e8b27e64b3bb3626569ed69cbba350301627fe0a018410f87013e8a896221771724ead6bb737067234aa4ce98bcba7e0344d5b1b45a515713f56e6a636df68c76d01fdb19952909f7ecc846500bcd9d72032f1e95b2ba1ca051f6a86d1d49376e38740b0dbaf1087c748b8eb4019cdbd0a703885bf44908368048aa019144e1cfee4d83f15b58f985cf445a9e270f3fa1c06703a19d69df4aef2ca6922ea7b42a611ee0796055e8f001eb375064994cd78abea1032b8e3203c1093ee61a5b4cdf359065971149096767b6fc0c0f433cac76112b6403fb102c2fc9e88a0137594039b2af68a9db35e091047b3bf541fd608f2d840527032b6d7261f37c9430d32afd9385600314a2f8363ddc31a425b6fd8f36a1681a320141020398ad8dfada17356f78eff09e657bbd04593b9d93c795f0347a3a9a606ee549ef0347b501ca6a732bc65651fda8120f9c1624299d94270dc5837228b468110d7abd03b71b4c1ff0353d426e5f52ce0ec5357169a223ed363ec6b433158e0f69aa7ebf00581f03214f06b1913847f4a7b44e8f3fee8bca6b765891e5aff14318a9386b987048283edea298a2000000581f0307a3178645091d8640302b7788f95e3262962d2006a1d5c23d7f4b1eda1044596438a500581f03c3d15c830e4522ff4b296ae1f711516d13c5b037eceaac63d0af393f43804809b6e64a8ec6000000581f03419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c70410100581f0394dbfbcccad39cd90253bc9a5236b725a683b7b35f0513ac2652c11742604829a2241af62c000000581f03f2465a3dd331a48d8f8ca5eca0d7ec577f7f1886e7f72ca98a746283ad704833590a6584f200000219419903e13f8d3fda15260504c56fef93cbf1704b7ac890e5624333e5fab6958adfb6c903948420bc906d665fa1c5cbdf9509fb60d9bf5807ac5b25cab2efd322105ec6e103a9012d126f4f87bd355d552f463be86a895bc1b55d2c0ad355f2e099b1de63bb0369c2e4566f068295dd81d633ac5be896c362a6b1315912663a731eaa86fd84970371302e32aa73b50ed58d51ba6c3bacfeb79cb3955091e3f292b76a623280b76203813ad622a1f3e49bc6d3feed0dab35e22c9602214b67fae6377d9518cf568d050219ffff0219ffff0219ffff0375dd01cdb6b6d96768e5152cc4acc960aded1a355abc99dab32bcb921eba07a0034d6756e30ad65f25e631ebf1b3d4b0c157b10f5c2fdc65057a295cf4cd99d14103d62893dbf891b4d66faf7b92666976a23dc9d1303c0d68cde3fd837ccd4eed0803c33b188fbb1a7a780512ab3f33a537c09a2a3a0852ef885a844cc90adb38106503f76150f7d05438da63ee09c974c3e577e450b87dfe1698bd32f4a6a5e11346e00396c62bc61388fd7d16edab991dc762a4ad0a837bfce688c3e1fdb9aebcb18de903e85e4d37b1663e2bf06d9d7eaffb56a22ce6215aa6a8437a88a4751edf1e602603346803577708173a4638ae31b46acdc4b7ba8e2b2ab043eb3ddd6db5bd759d3903796b7fb97f2ff3f51ad2105a9e7556a08767066bfdaef6436bfa1f3d65f4c5af038d8b3e10e4931ef4345687f83d7d13ea79360a46a7419e68397f6dc9645b465e0321231c9cae0ab2d31bd147e8efe8c501e5d76912a57b5069a5a63b96040c66c4030f5d40ef794f6ee4c840fc0953364ba3f2b7b7a36d91d0d7d56a00e1caaecc6a033f8c46f95ef6cebbe5ad6add9c2bbfc3927aed07fd9ed8a116183119f351a25803ad0d769648038eff2e3857a0bc8d29a7060c3d0596e2b5ec2f96c1d51cad6c4f03172516e2216b11374c4ad09aef17e8d5a473c73fc3a81236fa55c5b3420dce4c03a08de041d8c29e24e6cc27b76c0826991c43aa1aa011491b3bf217e04454c11303acb29e099e3ac6948745d1bdbe5349676951ab14c908aeef889baa7498fc77c40331947d905f606bda0aa2588ca8ee0ca967e0da87895848930c6cf53d3d307afe0351bf853c7deb085ee5b2355cc65a1672f9b515ffc16bd28d90c1694224892c02032d4eba73e4aa18ca65fac3b1adbdec7ee95a3d5b5330fe1c75910551da68caa303d2ece738c8b5eaa3bca35b6c0bc799e88eddb2fb1f30f813d503b44350acd15903e4d8c169b44617639c4012a7ce5ad7a9d011984850b0f99be4993c2d64b922a603b973913672ac95a1893d958ce2f51f35713bdc56224d3a6c4bebe4389decb06503d9d52e3ee94a9d28bba7fb19f70a9c123479db0e4b7ad90bec71734001b1ff4903ff6cca2a1193811aca32f462995a74088d370fe12f87ec5fd47a87c61717a324031961acbac0fa45ee718bd4e8cbb77ec6ca8f14c04a1a50951e0e2210ec24450e03f25fc928fcca3825cda1e261e8af99f72ce82f03148aad8e89fc075757f6aa91036d6e1970375ce50526b8332a516f6575bb38e179a70c7b20dc3d8e13188d9deb03d57d8807f84b5d39456d8e49f2ba1b5dfb05e1d49e8b606097d0f82d13764b8303d4e2fd8a7d249b258ebec0792259e602ccd9a63feed8831d343511a654e25724036b54cacc018d5c2e934c0bb1342796b2218ea5b79220716080f3cb49ba83302503ff5f60ed6649a95fe6dd0b067032ce0aa60f112b36bcafb034ee292ead81a974031f3619eafb2b106b7de00ad93c9a4e904b580c0f15241f9a26d129b3b0dd53c90350245772a2244c8f41d807d57d81c9f2f353443a57928a953f7ff867040cf65200581f03ba45949ad1651dd731a0f42311a488bc639f73815ef59cf8b35c40504ef04771afd498d0000000581f03bb08842617c65704d3125362d8669cef7dab639c01d57fa65239dc77ed404898a7d9b8314c000003bd534f5bcc6a039704812e2aeba107bf9fe5fc2fa6866a5d79a58561593b532700581f0326d4a4121af2394981f3ab757ab7add15cd281f3ee40f3fa306581a7f6c0480de0b6b3a764000000581f03a6bc35e66b30f1ddf424bf4880ac0ec12619ca0341526ddb4a30a271aca0410f037a4d19c86716f8652a549d7c79397282c2feee6a3b8a3585c55f45e2517e789700581f03c665b243ff7f4479a9d63fce600d6f0435759a828b10b897ebc9e563ee8041020219b350033731cfab3b60e69f04e46c5750f2e7de6f4d92ec68722b18212841c60399e4bb03281c6bb7e183a85df19108fcd60f6ed7c688fff1afc822b7fb3b5e549ddec06a038aa772810e3cecb00c23fb780374b45ee9d3d26cf24e4a431f38ebb32daa1c7403446c8b38971f708d8dc45c170b6adde8cace4341a3f408601f80d2551320ad94036ed24ebb3413d4e09a951b646fbcf657978033594ba3b56803d9f3d9490cf4510219ffff03cf9e9f0c23c9f1f06a4fc5ed489458e45419bf20bf34976f65940ebd8a6b1b5f036e0e316b675619b143071598c129400fab1d56e68ddf023ef09b159707861be203e203ac9ad812fd3c102550e5df0d740039d965ded961d79e2af07407c09577a40374367cce338b99c08b6a708875a2b7d60be5409fe559fe369879779759cee40d03a74d140c92a116b8741499bca79cb1b524686bd52e2f36e171bbd3453072333f0219ffff03a46131a61bd3f33d464bb0e49ffe95ba08918b9e6d8a9202725c44136d9c11ec03e5b00a7c6b99f338a1b0bf9f51e4bb24cdd11af8dbf51b8b9ec1c6d2aded4a19038ba12c7eef96683d1dbf4b149d97c4bf47262d691f66b9af0746168b52131e470219ffff03f19163aed55e422e92d75f7c2d99fd94010e9df83d7e62b39cf14cfb12a3584e03f9561a63e8c91a6d94ff9b89f18cda7d05e4db22d30a0e98a5fdcdd47bd5857b0357c7456529fd7f864fd3040b9dfdfae53c6b2988f5dfaf19cbc21e0471bcc7a503345725d850a2989313550c458da14a03de8c819c3d0a59f76625c4a3777def5e035662b4a8b791a3b28ac94e893cae7ed28363756a37ea451ab001f8708dd3bad903515bc35a062eeb6b993533ec7577280a1afdfb60e84bb312fb9c33e97f7493a403300b088b6fad224c1267df72d3a4766929946c899ffd9e73a05aaf18655412d603b6497b4eac6d7c0785a1866060172bfcfd001bd1be1b5c8dad2d1d3f227dab92031b34b6150f5565a9c66f97f67ed390e46cb9ce8298266d3497235b904aaa24280329890d5b183aaaeebd5a2fa8e3283a7b30a0c1ffeeb6ff2f94ec2d1597d24af3036169df651437a73116bfb948e5de323e1809a480d1817ebbb3a1fc6db8aa804f037d780a52651737ceeb959c53726f32c97032672b0f3ed7a9b733757677804e5e03cce8f616f55b31a071c7be20e7f8167a02efa6ec42dd0f84d46705f8afde4f210357402c9c80c42a28f72f742f36e46b966516c2958a5290bc566272bd4d1a0861038d97ed02dea7069f06d1f4d077cce09b6204710142065e948e0c7f7d7f94703e03e4eb906b0d6633b3313d2bf2499b01ea0c18c3a7601902d36acbce73578d081303ac65234893aa80d72c81f9d96a81db42f1dec5dd4fd5feec9c69b4b41f3079a803aec3f7bed3746c1083276ae3e084ad4b1ccfeddcb523a0adf77e7a8aa37046f90371e8782108a453f5091612a3039f9651b948c5ce306e4e670942bbbd2df305b603cc1851f31823c6dcb419e753b3f53c2a37f09d8c66f70a9a8f95898083d363b5033e7403c5c24398d2a5a7ea616acca5ff43ab056a3c36f8b99fe284d8bbca516f00581f0231e70596b9262bf3c17ef60a8c46adbe5c5de3fc9de5ff398a0d12d173e24803782dace9d90000032dd250af8f3d68e41281643936cd6d8474042d24c8df01f78b574a784b30c4e00326b597af9acc0aa937d0b99c10717df62cc9271b0dfa263de17715a5a7a0faac03da7df7eb522e01b00284a7598048c9b122a51bf0fbef1775c989a0c2aec3cab503ac8e54eec5f52b4fde1c861e1acb8ff9ca670354cd0813e150eb65d2aa56708b00581f03a88ac9b1c9d884d35b01299abe4bb7fa09fd2731006a27e8a378c7679170440db5858000581f038d75bbe88f2f73a9bb2288b81ad46ff6c58ebb4498ed3ad8592825d38fe0479fdf42f6e4800000581f0363fb40bd53e9ce93c66f1f3dbac0009f32a4f1c354fce106797dd63c5b6045047cb4c87f00581f03d14cdc455ea4046acd6f195fe08bb855c1ecd3f5d4c7845bb8e852b6cc70581b13aa3d00000e10c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218cc032814131f098e5cd670de9d5ee179ed92ff1773cca972e930ae9f3b9931317e4d030f76846f79240e9752c22a630079f9ef0bbd0dbad607a3da8ba6f9e1a05ea0b70325582025192edb55f5b03d47a1227d20e3b705f70e3cd53127ee0385625f5abd0330b47feb980010722cbc5cf9d9a112fa4f789f5c5e8c5adb3494ba87aa1ca17d03ae219905b02409316eab06f7b7893415870ab0bc056fe87ef67a229b198bb7de03320717307b724f4bf5eddad05002faff3271aca63c6cd3e4b3ca05a603f4a23703ad45c7b1f663dc27551b7676aa4ab552e35bc8ab268c69504680a167c9ceef1703b7515c5875509b924c99585e633edbed97c4b70a542ad396bb7f474926a238de037f7c8a023011b9c06942ffd1a7d3097dd28667fd8f8aebe4a6521e872dc3d7520219ffff03cdd90209f3a7692d558cc57b926a15dd54520a33c1d49bb466da9b3cd5346cf903d929452738d56a0acc3629bd2cf2a2a1e89fd14f7439528a8117604ac04bf1950219ffff0380a553553a16b16abd38180876a8ff9591478a15d5f21efc04d0277d68fee29b03b92bcc24802f00a48bd49fb94a33d3d51e861698b3679543a85aeb509415310e03b0b89256a398487c828732440d06cd978d9aa7228a2c0b9ce3574f1dfe2aee8b0303d478740e0454802cd93f430999411e237f4df2b36ee04a121d785c218d307303001a64f63e8db28dfbd0d6a77d5645e6b24e6dba28f71df91bb387bcf9f687cc03c3208e1336ce04434ff91e57f88f9c27d820178dce2531a21d35734416d39980031daf709e0182227af8c7d128e0965f7bb2191303534e00ec4e3c235938a4b9ec033b13c412e4a44b404972096edc5b8ef89e69678b82e13f4776b6f770fdeaf31603522f58eb4364df1752f3c57b77c6587a4d0033d7d999c80900ec9ff8957e9aa9030f734da895dac8e82ced5a2004c847ed659282065ddca2d11072cf553eb16ccd0219ffff03b0e0390d5e3fc6d97e0d094429df5f120896f56ca16db869e62000daa06816830219ffff05581e03fabc320c46c57c0240c57bc532f279a59736fbbdf75503fb13d126a2a007011902a803ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e035a25da755d3ff807b0df95981af082e88cba353bfe05b62e120898e53007011bffffffffffffffff036631939a405dfe9ce6eced874ca940ace214a91d2498dfd81e4dbf08d72fcfdb0219e6ba03979a1970ffb3491fe3e3a1fdc0606cc6de1b15b2a3b739379fd8b2fd56d5825d03a6d62dd9dbd815660de8df65e1cb0537e8cb952ea6bacca29a0d0e8e754db2b703584542ae89c6041a8f21fca40eb6f4b8e9322a5c39c2c8d7fae0db193e9768ed03727f426b10af9ff9b07ac9d26df97c4dc62c18b7727af1bf81f4bbe233ee753c03ec266d289d3a74c70f12b9d06df6c05955dc7a6bcf07d5814e29b56dbe88af8903b565796930fea590c001254336e25e855210af283617d96ec222a3c8019024de03745c98fc0f1335fd7f864513f0038585d591e95c69076d42a4eb766e1556504b03d9c05255873f2a9f3aa37bb247a0955f625d3584767b2e3ad7acd93038128b94032aaad0ef36129fcfb5ff1a08510f36f8250b8a470a92da16e643b871903632460219ffff03a32a3968cc66243bd4df96bc737f7bc97a4288f42ae36a3b2d0cd6ae175f1bd703246a57281e26881e2391bdaab67b1f268199bdd3b0ccbe097c043b3347a709d503ffeebda7eb5b7260a0b519649f4a94027172e546b46f7901652ebd96173de66503c83df55e15afe3941f7e67e686c70edf6e919b18224cd5358b7fdfbcc87bee4e03a357eb00fc84e5812737713408c7058e9b3853508ecd322edee238315a2a2c5203305c8654d804f425d3bd4e72fe947f0e65268f283ac964f7e5229a5e423c2cfa038309ee44cbc6b5ff9688fefcc24cb13398d9184c8715f814280f5b0f23b3e4a30316453c9dacd4d4d47114a3cae615c8b64550e16f0acbaa98b0fa23a12dea3bf1039ef1c571e0c02271f0b154e939731df0a0cb553a00b43574f26494f7e2896fcb0219ffff03f816bc7d1a464fc269566d1ada74ee64af1c97cc31f1c3268357b5e8a962a6ff031aa5a9912ddb02b3da76f97334abd385e89eaa2926e9ba5032438cd842390cb2035edb4d3db846a72a69c25fe1648525eff62324598af6903e9a513058f737c2ae03585f763ad016b7607bac6e8daaf9ee6568a82ce5823e690a904120b3e9a2fb3903a8400b5f7e93fb8d4870b1c0987f05b084edb64d6d9915c2cc3aaccdc7f71fa3037ed9eb86dc79441873113785ff730043697ef5f0fb3e73fa3a7812251a9e6075030d63dce73d1b32d4fa205391182841585f10abd892b027327afbcf9eb8b5da8503b848cde39851c908a7353671e758240cc4291c885bf66b268e7a9dbecf2a1c88039e4e95927ac75532a74896db214fd5ea8a749542b8ece6bb9a7af0a9234a3fe203a0896c0de8da6bd077a0bc9c31c69cdb538764240bd9ad8f348476bc1e36759a032e7d574f2bc1234ac45decd028f5c9f21c0dfe5703247d88d4e55a54fc91fa82030a68bf525a960f7191d83ed0ffe2208d3ed24a30f0385e11651d74234830f94b0390be8f4750a4a1f8956e5dfc3c75024fa81c29fe2195f0270d04a68d7c4b12df03df28da44f9f1d7bc5efbdc307dc24cadc0ed4ce96cdbe0a2b42f076c828635ae03dd2756b568c923e40e9ef320374a94a208c350b4406f7d34d170e90eae2835050219ffff036c5eddad1bd9e34ee2f12e3ddde7904bef7fa903bef47de070432bd598f89e2203223c6d6a2478ae8c7136759806d036fd80960d755b60a3100a32f0d5b7bb14f103b0253acecc20e5aa9152ecf019c718152efc082876a7cd1a24c0a389dbdc7bde0317c486c5b81fee45430cbb791c529d36abf3fe884217f5eb68f36f7be86057610360ae35ea92ca4f874061762ca3b2a66a86cf9870e18c612dafae92e740a8e5a603a92daba44acc74a231f58c4177594d70597b93d42164d3c9cafe205bbc868bda03b9f2e0f7d951bd341af0d6958405ff637fc4efa8941b6fb40e9c6641158415d4033d855dbed17302a30048808e6a52490cb98013a6b8ecdab8ba3beb7852c0a83f038a4424d2965e1991a4b2e70511f65cfd4b00193bb413963889258b0ffcafc8c2036b312d3c9a8a64ec0c9fc45fcba501f4894c3739389b06a47b099e6cedee829403c5ee64c62ce2e1b80fd3528bdaeae627074f75c9942b33e3c5882188a8bd72ed036ec2fafe35b4ef1045c706668d94101ac4a25affe7ffe58bb71c59fb1a3b693303b9f5bb0242c43d9558e103816e233e0233a0c603b58c228a95b4ab120b0560f3032822563cb5801ac383f90a9f584133655a15e4b404817b48905265d6924d15aa037175f69d605bff5bcec2b14238995174960741f005e86770769ebeeabc88fc41036ae665dcece076102d883739f277cc5c4523d3f5481248206a75a18401d81b2d03f20b6e1a18d4c1af5b5fa595ac33f65634cea8e8ae747c04565348b3f9e9e13505581e031992fb3aa21b21749536a60c119d82f3e9f630cf1aded3b4eefe1cc5e00c01470458fff7f9e47805581e03782f15a8730e0e2d4ecc6f2bf40ec3ac4b8d3ec901afd5079755e3f770040303562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e037ff23e3d72d2f9c4009fec9de862de590bab64aa97abe8d492d4c4294007011bffffffffffffffff05581e03a75891a35f963cfd7854b766d5f25dd78f35ce1d433190360ab15eb820040305581e03a1a5dbaabd81a828ff59a55aa80094034b13fe6a0f7afd797f5d60e0700c024706599bab93d0a805581d02ee142c7dd69c2a28f59ec4401efe3c19aeb85d99bb4b76ab026459850402045908b360806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122012bb4f564f73959a03513dc74fc3c6e40e8386e6f02c16b78d6db00ce0aa16af64736f6c6343000809003300582103f19f8837b3d0f78d86742879e168f41c8289c94a6f2ba66d53bc4c176ecc3600540abe40ab7054bf0d408d8ef545d8bd99e5df45c5005821039fce39671384d1ca009620e958cc66b67277d37ed3862368feb67da3f6a81c6044657a676303abcd21a64a4e0d54aa1949525aa4551e3c0b8e6834bce91ce29ce75b51c8ae2b00582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154a0acf085b324491227f353613e39b11705497c51005820021f14fd9abd909aed3da65cc586219f2ff8de8c4cee13ac91b172131ea764ec4101005820027c04b160baea2b1912c2a025d77d4f9f7fc5d75d580d4eef29b851de96b96e4101021941040058210300f286434b3affa08c85b4bb60bde798f5fdb869646d6f43b3163694eb382980546bf3e2edc8ea8dd8994342abf6d1e9dcc71f075c005820022937ff8cde02f377a93c39868ae5b9150d6e924a36446e546087ce80fa7bc554223fd02fcfb0e8f2a22b53febe62f35c3b85924800582002f977225435a84036ec93de1eea4943e94a412863dbbbf1e8f5d10a887d40b0410100582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d549cbf164420286357b268674f6bf0fa29800d59ae021826035e77cc4e0cb9bd8515ddccd86eb3d881fb9f894ff8c438b8bde9455235541619005821038029324604b2385cbac2728f147e3766500f14f6c92537a7c79f8b74aa9d18f044659f65a300582002f44a30bf0cc4243460e28e5d4e7c424e936add957b44ebb0018d3fa2984bfd4465d6f1af00582002129128f9fa83f82d5013b0df8f6e873b0a18376fd390221557a4fd34039ec14101005820025f60fc0afd6e3c653836d56a3e4109641d85805c7af277d0ba9ea8b764b87e44662f4677021940300058210386b3fd955b318b590eaaccdc6fb05916a660ae51de2df5f5b00e04f54465a9705413c18669179ded9abdc0e3ec90349af52589dded02191ee705581d028f5a4695ba42588ecbe7dab8d5342897d30691a0b8d628b3200326bc07011908b305581d02245f8cea178f315273599c10b06d04ee99c03b9f1fe2ac98395f6e360c014769c4f1f323f00005581d02cc6285c564cd01835fdb3a0ef6fc89269bdd030e634361883ad51051040305581d027889cea5ef02fa15f19dffcbdfc6809b542a629e6a22c21cc541c6de0c02469dd9cb1ccf5f02192831037ed1050dbb13aaf2c65f5593d4990c7bd9d3be31ce348f85f781f83fa225577602192c2d030bf5da80cac94fa52bcc0712047864d38e227cbdd82aba27347dd2d72f8622c40336ccc0947700ad37dc5e324ebab36c58a69f981c5755fc952adc403556aa26f203122faa071e9c020cb7b15403202d5d91b0ee116ca3ce6a15cc524107058f52dd0219ffff03d87efb6c2c72467cfe527bbab0d0b63c86720957f225f9f0509c5d1ccc85f53003dc58bed8c165d985759d0015e9470a36d297ae3916e8d8af902702ba40d26610030108caa3a0ee6f5a182bd8152d8c2bb048dfdd4c9650245d95b6d98656f627640358b5be77e14a4086eb124b720a91405a5dc48e1c43db2de42d836772a379f7d2032f2953c8120b6b812e8486017b5790ef05812cece249831f66d73234c119629f037620bc5c6f997d59b205ee69d4f6af6ef9d10742d29bb00d6745d70fba75e8bb0387595a24e71f68091eba042d52024024000c39f52d8e44c5b7cdca7fc81f94a40368073574b6730d471c3d5db50119bbff95db5b8c7177ae922f382b4978a41aee03534b35e334be7adffca9f4e92797e04deff1e9091997db37bf5c7f8efd703d1603d376144837ecde5221b491f2dcc05355427d205ceb1eb79e63d465abf5f088e6030e982f9a5acb23fb1d7ff92bbe973bc3a359085b6af9fa67d984fbd6058fa9da038965f545468253efe592aac6f22e5210e9163aa24dd7678dd2ef4323fccdac920328278413e694615cb249b7d68ad4e6717d85e2ab9ee52535e7ce072896c44e3e0219ffff0386941b7ff0f7a01ef33db329615e188e8f902208453738c2007f8aabb7a45ed003ea275a0a3595bc739a1c0cc16ba8ce71ce1f4f9a04e23ecfda09ee13b7f0b6fe03bfa5962867e17efe684392d019cd719b15705325ba9b25ed3dfb1e1fcd4bd9b203de360084f578d75372cbc297b242385fad0201d8eea33459c212beb8af56473c0369c8589fe655393823758795f813aa3dd954a1938ec17280eb8821a191f31d240325ebeb01e9abe966dbc990a214d12fdb65f0195da506965ad3cca236441c2a9f0379162848a6d92ce0250f5c2e9bb305313aa45bd7367020f92f2eb14b7971e2e6030eeef83b87ce9ca6dedbeabf299c2e37612ed03924fe32ab91561c7b5d503cd103342ef0592dad29a6941257de6f3b36a1a3b9e0b9e8fc2a57a0690b280b96b43a03a471e4bf1560e3dd62ce1892cc59690d838b0752b390751801c0a3435ebc8ccc03e6016d8d9ecdf87eac3af0a0a28c9db2675a9e4b004cfb5f75b1c3da0226d69e0318565a094dd37f67e4a9ec037ccfeb57082ae0e0b1ff4cb2ba6078be259d624b031fd45313a80a599e346be20d05093a60554b45860454d527a09a39903d5b5de6035eea7ea9da3e0b022770b0a66dc61bbfa961b9b1bb5471f0e013d2cf4b2fbb150219ffff038dd2e2488a117abce1b71da219bf1fd2f48a38569291a6dcb928901cb8a88c0803ac5429aaf7f81f3c3ab1a8db73edcaab50dd13c1bd7af4de0bdfb1883b73d91403f0ba589e4080d3c81626945cb4befd37cdf594b6dbca821b2435548d78456ff703b8f097e945f18a7042bb52ccd3c14b3386be02f1a8c32c0590f3868239249c5c03e876ffd0288a876bf72cdef3aeb1dcdcf518bd2ea909fd4fdddb927f3dd1c3d90329e0a2f6ed558d311c2861fa44c468661a8db1102d3ed73dc95e9a24412dcedc033c64f2c473234aee2a916213664058138cf8e165ec09c650faa10fad5ae603d60342a97d4dcbf6ffba4205821cff9e231b1c39d3ef13b26d198613ae0f5b57ed0203f2b0687c1361a1f6beec522492fe83115867f1adf968e3fbe96e0fc902f9be04031a0de03a41f400d5d706af929fcafe4adf825677f4c568293093ddc692afdd12037460c095100090f092b331aa4ebd18c49a3febb7f14d207af0bc42f549b2d7de039127c402e5ec82394f969ab07c6440058a20d2f369e8b4de68f4f6ce10215d4e03b9c353ca8b444a7494beeec31c1ad08f7ae1f3a73640849ff6537108e9843b950351d32c2b08ac14c9bb4c0df7d449be580b7662c2741bad623947d0dabfdac14c030849160319e33a45f6f646380ce85e1b2f1c2927b36af10f6a760d529ecf251603a25f44f19b43ef87157e9cf0367bdc8f899ada31b899e9b48017d50f29bd6f8f037cc574a99b550764c3546ab3fb72b651d01377d27b672a0ce4cef841efe12beb035ed370dbe2751d177d1bdc2b9c88596816fa344cb73d6e1bdd5951af884ece20035c06fc7f32e91310d54e5a47d2c921abf5dc859ada0bcfbe34198826fa5eda040340d1e7af77a30b11ccdcbe0fd8fb69a80f8cd0bbdeed97e718ace57065c81de10315cf312d4c510d342fff280909456f8675601f9e0ff86d575ffd05893be5eb0e03ebb84eef7fbd477cca1a5c318af00289346d1fc95eecf264c45f64d54c388d170305503400adf217d638033d165bc377998ddfa28884b19c84f944e7c8cd6bb0e803ef677cbab20ad14cfbedfa6c5a59cb1f8e5092900229fa769687993d3652f6ad034ea64b48d9f30d7f1f41784980d2a77d702b04b5bcafe509a2b8688ea8b976de034d314a1c8a492bd51c575d2a608c140c589eecc8f44bbdff1b401a324b4cc6c70357660152998af455835ca83d119b1a8feb00a2c39d94c843e58981e8b281249904590a1760806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b61009036600461088b565b610135565b61006b6100a33660046108a6565b61017f565b3480156100b457600080fd5b506100bd6101f3565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b61010136600461088b565b610231565b34801561011257600080fd5b506100bd61025e565b6101236102d4565b61013361012e6103ab565b6103b5565b565b61013d6103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101775761017481604051806020016040528060008152506000610419565b50565b61017461011b565b6101876103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101eb576101e68383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610419915050565b505050565b6101e661011b565b60006101fd6103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610226576102216103ab565b905090565b61022e61011b565b90565b6102396103d9565b73ffffffffffffffffffffffffffffffffffffffff1633036101775761017481610444565b60006102686103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610226576102216103d9565b60606102b183836040518060600160405280602781526020016109bb602791396104a5565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6102dc6103d9565b73ffffffffffffffffffffffffffffffffffffffff163303610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b600061022161052a565b3660008037600080366000845af43d6000803e8080156103d4573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b61042283610552565b60008251118061042f5750805b156101e65761043e838361028c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61046d6103d9565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a16101748161059f565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516104cf919061094d565b600060405180830381855af49150503d806000811461050a576040519150601f19603f3d011682016040523d82523d6000602084013e61050f565b606091505b5091509150610520868383876106ab565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6103fd565b61055b81610753565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff8116610642576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103a2565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b6060831561074157825160000361073a5773ffffffffffffffffffffffffffffffffffffffff85163b61073a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103a2565b508161074b565b61074b838361081e565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff81163b6107f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103a2565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610665565b81511561082e5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103a29190610969565b803573ffffffffffffffffffffffffffffffffffffffff8116811461088657600080fd5b919050565b60006020828403121561089d57600080fd5b6102b182610862565b6000806000604084860312156108bb57600080fd5b6108c484610862565b9250602084013567ffffffffffffffff808211156108e157600080fd5b818601915086601f8301126108f557600080fd5b81358181111561090457600080fd5b87602082850101111561091657600080fd5b6020830194508093505050509250925092565b60005b8381101561094457818101518382015260200161092c565b50506000910152565b6000825161095f818460208701610929565b9190910192915050565b6020815260008251806020840152610988816040850160208701610929565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220a1af0d6cb4f1e31496a4c5c1448913bce4bd6ad3a39e47c6f7190c114d6f9bf464736f6c6343000811003303d505c80507b1883488e981a1be25eaa156000fc239136ea25f680c6628bfc46403754cf94ef9a75b37a50880e72095b3c677c5dfec6c254a943a8e11fe1c9575650341922c5c16700fa3a03c5dcc842b6518a9685f6a30f42a9d23bc426bafea9f6603cbc10a4b5a3e6bebf7139693a376d44bfd5bec0a663a2f3859eb2717c6adb361035be8e00fc4fa5ffe2a6a27f17149604e6c9231f287b3e3dea336007902dd03c503f303831ce696782b8ea08c4a9a393539118b71669d34a06d647f8cb637593b9b005820028382717b4b4ef5dab09bed7b3f8bc9b7f15dbf3a4f3296946aa2de3fe9b8fc58203f755f5ff6714eb8956f7f6d5f1defbafbdd7ef7dcf6219fddbefcefeff165bf00582002bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c15820b1c244dec92e33969bdbb54961b4bc3035cdb5e0ac6704b3ed6b63272909a6d3032a14573d13fac065ce91ad8e8d35cb54608ccb6dc1f97ecc34b7cb26d3da661100582002a8f26d8e48989cb08ed5ab139411d477dda6c8af8d8171ec741c0a8076cc9d58204f7c1662edeff4d457bc3b90fbf5b9a37fee875bff7f5ffeefba77faf776180703042e0185cd579c81e7d04549676a291812f2e9e7c5733d9d37bb1e27a8955afc039823e464630e2cd7752b1cd2c09a50efd2b52681211b81a03e30836098cda8240058200283efb3982afbd500ab7c66d02b996df5fdc3d20660e61600390aad6d5f7f1e4302e09b00582002e2bb9e260ecc2eb4804390d7598e5ebae91cdbd604fba1149636c85a54b02d5820ef3d8d400097f117bf949de7f7eddeedbbabe3f9fbdbf61f45fbc4f9fbfebebf03e87454b98aede34e7580de803ea36a3c5611eaeeb50cf203184355272942a01a021977f4005820023fa4476991f0595dca6e76420000b0e97bc729419d34b1af2e57b229bedd075820bd7df75b75efbff3bdbfdb45efbb7eefab79bcfb7cbdfe6ff7dfdefffdf8a5a8005820033727cc3f4a194c5f65e4b20206cfba1c417a4616d87039837a9081b4520f205820fffffffffc7ffff8efaffffffbb53bfb476feffbd6d6f65b7cd77f6fb7affdee00582003e832847a4d40ee8a48248996c5d95fcb4a4ee593384d53faa5e45df7025a3054140daa3085f156921d5b148aa108225cc066457c00582003f0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810540f99738b2fc14d77308337f3e2596b63ae7bcc4a0219280800582002d2fa2996f74a03fa3b0a7eed558c237e208b5b3df55adc10540bd5512c59395820f8cb3faeff5fbcc19f7eeeafbdbf3be4ef93ddcee3dce715df9e2fd6c46af6250058200254d1941c03c3b10c361ec66b601ed8bf2e90980dbc4e889a7bec371e4b268e5820fb5ffbbe001fea2e7bf5ffb8479f63e6cf7ffcef61fdbbdbe6145e99380f6e6400582002ce78f9d7a850e1994e6c1b72ec98594c5b0584f06375970ae458faaf90cc5c5820032ef9ffbf7ee9817705eeec288dfdbffffbebffff76bffffffdafffdfffdfff005820029c0c4173dcd0b025a79a9185b38513721c399ad4e33c0a8db81bf7ff6616745450c5c6a7e8ce96abbbc5835f4d377ffd1af613a600582002b8027e82f27c9e0b91ac1d65c73254cc2216a729f4ce85fe7b1834c2b0f6e458204fa8f8dde4ed77db53df2ebadcdbb7dcfdf7defffdbfddbbdee7aeeb54fe3fdf0319a0b15497036299834e8c583fa1ff5efaaeefe14b87606b61e3b3dfa2e8adac0219155e038788a7c3202765b5c5d774ac60909fa7a49335d839716c018ec5073433001ff0005820022f681681069da9000f2da91a0a316b2259bbe40097ce771e6db1ae093fa99a5820fa3eff6523befee9ff75fef78ff7fffeff782249febf7bfdf5ff19a7ff6fd7e000582002cd41ffca17102fba29b871612effd521da9c068d575516ed8feba031233b8058184f9a0e7fd2bf6067db6994cf12e4495df938e6e90000000103c57ebec3b6eb1e504ed5147f166c35b2a5649ee55672091f470cbadfd1e0e7140058200276eb8c313f5d64159791c8bee60fd840292c35d57947c59984f9bd893fd6c75820ef2c4fff7c6b73bbde9f9fbafc0fd9010a1f2c0021fff7f9fffb5cff5e3ff6e80058200392c5257c54313e321251cd46ed458beba7ccfd850ad1a326befac9e9db1a705820fbcfeed3f7f5d5f73efbb1d7fffd15388877e9befbddf5b575da6fff0f7cf3ff0058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0540feb850b183c57534b56b7d56520133c8f9bdb650219080800582002e68860425c65ce9bcf2a0c6200c8214ab710a4f7b562a457fa1543dfc0bf855820bfbf6cfdfbe63ffeffeeddb1ff7fdf3b4bbd9fa69afffbfffdfa7dddffdfec9f0058200279f54b7a738fb6adc3b9585859cd2970241c1545ca5cbe8b1895abdfa5acf7582059ff6edfba77fafdfbffcb7fbf7fffdffbbf6f5ffffcfa6effbb9ff9dffefebf00582002ece755ad0551d3ee22c75920091bcc23fb8623c4d1b36a2d75eb6a26b107d15820fd5eff9ffd3fe7dfdfe3bffffbfeefdfeb7fffffe1f6ffa77ffdf2fedeeee6fe032931d03f3c8322674ba0a6ba54827e133927961a7efbfc8c2dd0686645f7b18403fb22d6747920b770b3e83dd5ed9af096d9aedb7e808f08d900ee43594eee435c021935b70392040e91e2afce096875602f21697576c6f51e98cdb8bc9781aa205d077c808203649115c7b6bc6636e554605082c719447b4317a4e8b2f2a5dcd5f8bd0987c10d00582002c37bceeab9735d8c58950c80402517b03225019f309ed29dcb448ff91eefaa5820effbfeefefd03f97beeffbeeefffebbdf3f777bdfdffb2bfb8fff8efbff6befd0058200353420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530581c02e09b580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb0000000000005820033fb9640623f34bd8f19c3de1c5f51a9df92d1732c9caa341178850816643705820faf29b6dfa9f6fe9c0020e43bf82d7bf06ff7feffcfdfd72eff5df65f357ffdf0058200399d817b6757290b50e8ecf3fa939673403dd35c97de392fdb343b4015ce9e0582045e2e7c86ba053af7a8679ef36875724b77ba3141bbafd9fecaed0effedf58940219022200582002bce2736ce41e3d1184f37a5f7140933a865ef72dcbae36fe9dc8610e4b2eb358206ddcfcfde27537dda48bbfe373cdb46e5f3c73d7734beb7bd7fdef6effff7fff03e18d9154699e4c606ee9684ff5def35727b67fb681353409ae40dc41796f9d13005820023ece5a31f71466b3ac9bb06a137c405df328b2a2b25eda775816c9ef37ac755820efe7e3fffffffdffb30bebfcfeffbfffbe9f3fcfffeb7fcffedb6ffbfffffaeb005820029c3ca6ceb2579904269a96dac82eaa6368f8614393ba7754b5839f3fc7e8615820ebafbedbf6c77bbff6dee7efbf5e7bdaddeeff7f7de3f81fe7eefffff5fcb6ef0058200288cb08f59e3c30e883093e3cdf99dfd54a1967028af71e97ed408ce691d0eb54068243bb717b83792ca1ff8010d4ad923fd3890803ecb5f9d3de7e0e65d4d670a4edfc470c8ce212103d325b547d72d2191f238da10058200280beba61e72983e88b7a92b88463aa488eaf645be70afbf97bf2510e4c33265820fdffffffffffffff7dffe0b7ffffefffffbfffefffdfeb7fbffefffd7fddff7f021974cd03d475693f5823ad5fa31ff1a6709d8430a416de097d4db0f799ebbec913cfbdde0391b120efbf6721506cc0c5c088fa49e8a76b7846b3f51565345b330b8ec9804203dac92eefa2c291d677419e9ddd5c71d091d2e6b93b475fbad7cc53b5f7d6806403dfa2ed358fda80670671fa55b47a4945dada21eb09aa6faf1b240a654f595f2a03e62508788c2f82a4041bb0086b5d770c3c29ea6652c2dc29a90454540d94a9960219ffff05581d028b05ba282aae67af7b887dcec47ecd984d3a2d90bc226b835d6b9b9d0f104a022ca661ff3b67b57458190a1705581d02aa7ae753470cab01480721d8dfef59fe3c3efe51a05a46b58cb6dea00c014701d2921ec5101105581d02cb601657048e3816842b6ccad96fb8b92b66f8ad4fd45f2422e0aed204020219a01003f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e038fd722ab8aeac5938d8734d9baa38260baab4164af816f1a687c57855007011bffffffffffffffff03c0816e8088700aed5aa5289e9a4f592936b772670ed88f85813491836ec768ae05581e036b98fa9e55f85eda90859e5d738c34a88f5ae863ecb40549220a1b5b100c014638e3d54acdc805581e03e140e02c625ec96ec25f787dc0146ed5e086169e5fb123725ec5a27c200c014742dd3b3f6fbe0005581e038569ee6148a63fb2ade2d066b52f26b9dcbed1c22714ceef5c93e564700c03473da17685a8e00005581e03e91a1c08d6dda7a29ef26c38feb07fdc8b444ab6766cccba5f89804b90040205581e035e4037bc2732bb16ef9eb5de2413cb505b1a8143f2d4dd286f6f109bf0040205581e03933f0cc3a49e35674f8c61218c32c91ab2b2eb2bb021dc1d85be062e900c0147020e18e2c5340003b76e87f0e7fd4b7ac60665c4efb78b10029e50dbd4ee5ddda6a99cd7de33428a05581e037c0c2af800e895353e29b756a7dd4021bb3ccdbca7967bb157f3352d400c0246c39a6bbe18000219fad603637a0581ce63f85abf8e6750caa32409bf259aa380dcdb96e4440d08109202a8034ef37381d7c4d55d0b64ad48f550e9bf0afbb83973af90fc53d50db99ecb44d503cc314599ee3e674b9827de17523d6d86a447003a19fe1066db4a9fc5819fd50e039fc208b5d9446d8f8c54b4b6da82dbda11ca1a079d27f47b04767e612a2fe85d03504e848b75968510dbdbf2dd71f676dee5c142c6045609814a17ed56c8c46ad603290a586340daa44a49b928de43a17157016144d56e318ef1c01fc803996bbb1d0386bc9c5c9063c19b6fdd28bdd23808ebc96ffeff7685bde5169fd9a5fdca510003634247a9a4989d621949842e96cd4dcb49f0ed58f9e571581c35a18c9d243e6903a6ad6c83843c56e04a9a86c6567b861c7d4285a9dae2b0ef3128d5271e26d7190361fb6fd3d49679c6486bc304145cad036d100fdf4666c99f5d0cf4ee709c5c1803860d4995778f0f5dac5b08bbdfabd9f38e64ed141b1aae5ea1d1659fb956fd5d039c06add8140722b5d9a4a7bb0e9698aef82968845e45ec79a15f531a06b04a6903a467b14f8ba1925a6cef730fa99c8c1717d994205a99749becfcc661c150bca1031a96e98da82e605c840b23d03e6d53647e80ce3de9a9ecba40c10200b1f34c6e0219ffff032ba1c766827417f7fb7a936af6661d1094a8853c40e9b3e5170801a3b6c1f1be033ddeb050c3ceb4eacb83c29c585847b776e505dfbc68bf854988aeefbbe8ff93037020bd87fc0b24ec0caac468b674edb1ee526bf8217daafcce3660f418a0462103d0aeed21519e56946f2b607e39782d92d4f830010e45bf0f207b9dd04c7e841703409413a60c69d4b080e600f5fbc3d0317c5ffa8af5877cd2d2f103a28426f16b039606af087d781b3f73ccd74f8b51a04fbec374122cc850b0b2c4e98b38022af103e630213ea2f7a524b342209ca6d1cbe0be5fc29dad02dbb025710bba596fe4f303191d9beaddbdcde04978410865f749486dd91b24a5e082103807047fad40f6880219ffff0219ffff0219ffff031413356270be406aab16e11328f3abf5eefeaa39b34806ae4ff77fccb40ad3e503b7e65c3580e0d45c4b77b07e1def53128313a9070df5561ce95f3e8307315f7e038087be3ee9ddfbc213e54e20712ed56fe4bb4df3bb0cfa7932ec79dca584d1db032ad5659270efe7b089c2cb61cfba6b9ae2ada1c2930b1487f09b98a196c22ae203038792efe9c5b020526341a218880e30897149dfc7bc5e6d3c89ca91cee05d1803f6c28e0d9e7bf804cc59f0e2e7a956e6a74a812a09b682c83633f5f70df8e5f3035a2c416b61ff75244d4c53cda3e3d91012d38a51108bccfd3cd4a979170da53e0322309ad0f6984f47049c852fe1ad0d12f5b93ba4e996f316a81e6491a8703730039602076181dd0612d00d50c72736dcd5d179f42ce5eb6b1728d294744cd3b748030920dd763de2aa7d5c39c30233135aeed08167b13a12ce6f391befc45474b3db03542a4ee69306d4cc911d22b386ac7e9ad181364004097c55bb84d12928b2dba6036aeada03632f508b057875b11c80b4752604d3f461c18353266f01246529780603caf9682db9fd0801c4eb238dbe5e860698b708808e95a916038f590a49ab9d670380abcfc88c789f506ca6660f8bec871e1c693b4511aa546d35687e09c2b92d540356e8e63172fcb240616711728793180d565aae833ebe6ccd2896c5b92739ebf503a3d651c049c67ce77b0a804c55eeff270111188091587c88b6926a019853c62403cc0210b0b7e81da2070440a495d6a549a2f50650dfa050a0a2ad9c38723f115c036cf5542b564d34bb976a7123ef60f47ab26af76d27c54167591fcc3c703b4ad003d5abc6df8506bca79a7e3785cc8c763bffdf64f668eccffbe5ff5214b3eec08403224798745b76d713879adfd42e0b1ef560fe19b18787f1322536911e2454ed4c037447e7191ae0098effc81cc8ec0156b20f92862235413c8052ab2d445f009da603481f40c64cc477411d66615799ded64f3222380396ed2469bfc8c99a42a8e071033794e3aef8adc2d719e140f612316244621321ce6b80bb69c37e727a8e7f8333036aa0abeb891a8a051ad415b62061b89ad20cb2a6e5948d62aa30fcdf0bf0dae40339f991f5925da3c8a32294c506b495dbe9da0813157114f359ea4d5d8c83c14703dbe7ced13ece0e0bce5dfe70e916cec7ba59b61456a607b87450cc6b06db8daf03909efada0476547e7e880eb0d36cef81417be3bbb90f819a70c827773121dd1503ec6c541f1d96a6d907317f2eb7cedd66b9e3bb5f154762efedb2478283b93da1036fd84c624bfb37652b434a88fa464171dcaab22745523132c80f2563a1346eb303eb97dfdc6bf31a7ecf69f066354f0cb6a47249d11ec45e95453094cf84c29a480357fd04c951cbaa6f8daa512f346945abfb6e882fbe9dd882015234d7004f2d800336d28e60a31628169937231ee82631b2af8b659ede587b474b031a58d2d811a703c52671d6389b774ef1c9901270775ee4a1d3adc589cf8eea608fa0cd29dc929405581e03cca7cc7cf28c3e61338f85e3a1477012fcbb4de63ad89b161d418debd0040105581e0371d748a49c16013bf19dacdc9f736cbea34a419de3ee5f0eb3836aa9c0040105581e030f356d5f3e35754db4477c72c067c66767d25d0a840e9d55b0cf0a8c800c1855463c088be2ea0805581e035e889a7a4ebc40e9e44f97b488173cae11d8da63c42bda263bb7b4edc0040305581e03d298a7e1afc6c5f5f671b2312f286a8d490b00813a789e1836e457a2700c0146938cffc03c88039047d6c283fc2ca702c4ee1becbe47554f0e5fb44a2020c8a3222d277ff8b87e033c80bb9ee0003b81e3a9b5bac898c706029468e5eeb63c9d0ed285f72296689605581e03b717018607dcef027023d9c0e13ee29b16b21915c09b3bc035a7ffe4900c014705efce7ba0f20002192d5c0219ffff03ef9c1ef050e8128d508f5415bd735d133ea0f1de3d1426ebaa92cf46d35f9afa0313a89ecfd1547ecf727e6cc953512b1ce5358746c0d98cb23f85fd6c874659e50374b78e98f20501ea3870e9679c7fb621c30ddd0e4059e8409b0f3c7d6b356e5003e36f91148894f0f9438cc70dcf520fa88f2de819b62fe70c8687caa3f2bc545303301e475d476fce780f6c000661f85ce1dbb9663f954354ffbc43ddd968f4bd2c0395afed61b20324cfc7c33d801dedc1753042e43b5c8f240ee435c1ada5a5dfba0366957d10ecedfcfa2f44fd2292e356f9f1d568a1af0c8d612bc8bf7b25df57400219ffff03f19c4e49af607414f82b0fc99b53c02ed192590a1f95a304540cb40fd15cc66c036be510db882ee961d8c46ccacc91ff77f69424cc6abf325ae64377a4d4327739039f74312c6680e20716afe8b314ef1a24e3e7493aee719b83768a774dcfa330af03508d7fb72bc154f2d646689287b57c943da4db341850b3ce21a0f632ba90a4ee0328779fa8c9cc99b9d8563f5cdbdb343e685b4afe7db2517f85a07d70ceb382660219ffff036b09d1657f87ed45a1122f77188d600f54fed0669ccaadf8b5c7b35f5ac947580388fbe686531f8acd8fe9a85c68a88ed2430027e65bba59ca8a3436d42a9d1dad030e354723c3d4b37eda8aab30a0ab7e7de783e3a5566152f2cd88a590d1eaf14a0357a708bacaac5ab057088104ff4493234dea721cd394c878a90f69d50af33d2c0342db97aae2602504bd4ecd5647933ffff0390b60c6385be5a767430f019e24df0310c9b788d5793d5fe8cebcb666de90d109efaf8b402619152cbee2cb27735814034e11715920e40da8de5097a5395056179503443f65f75b4eb1dcd4345f7b1dd8036adb9713a3886db221277be51c9f20fddcf02dd45e982693d31e2fe529c1b7d5038836f5e6177dfd8d3b3a033fa5b3d0bc070b790737027d805cdd8ff84eff895303efe0c894efa62a4a4863915f7c60cc3fb74cb85f987ae2a9fedf55ff4d34000203204d2aa6aa62f5040810b1000a058921a4f3846bb6ec010833af26444425339303098c36c23f08bb86b1b12666f758a5da7c31cc8776ea63dfa6eed8d826a2bdf503450b632c9af7fe08ed5de03ea182df782e7de5298928964d328d53e67958c95103cfc4c395d6a865bfd8570ec36836fc97ba56d971d2b2f68bc1097d30205396340357901fd5a8b93b742351aef26e4f3a48bfc23557acd2568eaa31bffa9564b9d40329b46a2d3524bd6c93c389079790412c75eafc7293cfb3b587c597b7c0eb685303b568439789ec4e5f67df82bb16bd39bad6264ad8848386490abcb1793e9b0e5d03b058b371eac1cc1d235e7390c7d50bcdd782dc1d979c5fbc9223469dc39f555d03666a7fba2ab4492e5ea0941dfacdb2b5e8457bc7fa389c652b8961348dd4bd0103fe31ffb3da4d0aaf8b32f628f064c179903b4c4c165fada37e92943bc5a585290357d448cbe2cfc83351b4e6ee30d87dc39802af126df63205b3996e5ede270d9b034989c66075eb2d32d645726e73fd0da6e4797dc0dd86ea8c5ae26ce66f317856035f7f569434d8f42360e17e777e61aeed41548de556da075844e01ead226ced600302305ad1fc9b29c86936cd39512624de10d24ce56f1aa785c32c550afd09a1fb03d215066198211bc8a7157e1a36a4c2e8e277c340bce1eeafd3e6bbf47d09a71b03bb7cdbfa11d7cbf9d4209443390e9f2c4d9d649b737b0fc65e1b73cbc000ab5d0377070577c02f37b428c3d524595cc55570b095b40cf27a0d7a988e804dbc71fe03c371f3caf342391799e3ecc807ca5a6c3fde5b06b473a570124bb58c27652fcc0376771b2c9417388436c8c1c6d1bf10c1c1fe8039851885daeba6f880a71247e60384922a94a5d278cc6e1de9b78a2667351965539bf7e6fd591e348c63dd8d466b05581e03d2f25bde53649550e294211f09bd7c0680b73a6108e5d3a17f0f92f3b0084753574941629fa005581e03f9693b39b2183e6137016783bfedbd67252ceae0f304a630ff94b76bd00c03471e364707a2b0000315c9887d6a408bc94abcec5e470c5f390724413a17c669694d0fcb39df82fe4105581e0390ff2a2fc6b1004362b3bb0f03be32cdc4a43d6b438ee5b900409b3630040103ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03401e047e73c9619a4c34e919a9932dd4877cce0aa10ce2a21543c589f007011bffffffffffffffff032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203b54b23892989d511d1fff4c9e5522da79a01fc066877ec340dd0860f5247c99a05581e033818a95cc0f38d16e1fefa3c68f9e15c30908960e4b638ec826d95d2c007011bffffffffffffffff05581e035ae8aa45b091dada8e467035352bfbe5786260581ffdae2390649efe400c04470aecdfb5d08e4e02191df803afeae9538f4d8ef9e4b13a0e9504a8e738fcc6bf0834c9417c3dddfcba62fe93038257b0790206e20fd99b91bb3cbfb07d17eda299a89abbfd4cfc6cd45bbb3364032f6f28b60b43c7b4163823984dcbd60ffa369d72880713a7db99a7fc79baa737035d69c8b7b149593a844549a586f579b7f38394ed128bc1f5bfdec3796ecbec9503a4932c1c196721943fb3998c03bd54132319de55a08ea11aa24b198ced886f7a03003e8c2219a317e34eb303909df3869963310b97faee419932ca54bb168c88aa03f0834743188fd961bba4150d67422f17e71c5da200c064c9f16c8504f2fe2b2a039f88e8705beb663bcde06f18d08523b8ddade8badefd03c510897ad5073fd26803081a50339d67b12945738e9e86ecd51d4354982eb5d54db7502f543faaa4cc5f0334785080d52cef01741a9426bd72d820425aea29a289c0368bfc9aa69b849c130219ffff031064c5339cda3174730b9662d1a09a0a85ece2cd40b108c30acd08ca388607b203b7359ca611c60088e6944361ce9231e9b8f25efc15ed447e41c2e8078f15312903dc614e38fafd9b3b206ebbe4f8931fd01ca34856356359a9e80d417c5cd8715c03d9eb7412591f0fcff2a714473f74a4ae01555e8af7bbe8c89779df1d925982200320834ee006052a7f6f38ca540ee3c100f478a8f3e120ae96baa1edd8d494e13a03a2c196ef472b28778094ce1a07b56e820d4d29ce5234e809796b9efd1aa827fb033220219472d2c1bb29cb17c2d4a9483129f6da82ba1a0ba011591ce6775e3cd9034f3d772ef33caf139ca1c95a4bc2d96a8ecbaab65c0c152418fe9a7042b9ee2403bf83cc292cd87d41916abb8041b83beecdf946d180580949a19443998a7d05190369772f1dea860ff593f7fc7259933b270ffa70f88cc57920be00b555c929cf8e03df606fea7ea4cb284653447f8ba954e507f4418685f1f0487a24517fe7f0c31f03d312f048aa9e691b1146b3246075edf4a3a0403bcb102e9ea37ac0793bb7c4c703380c623879e70e48b404d6eb5f3f9092e1685d9dea96fe4a3cf99eb20b5f374303be64a432e6f304bc3c0a0a623b07d9f99ab7c4184e7a7b7e2bb452262cc830450219ffff0339020d4f1f0e6cf6b74b46c0a7018c92047360af8ea90feeb38ba9ac7e8dad4a03cd0eb3a302fbecd3a8d227b09351b8e1e531163987b23da47ab333c71d18dc060219ffff03a02975b2e6d05ecdbcc00d30cc2c9f3a14e1b49f374681e08a2dc0e243cd821903e8d68a1c6d8303e9adfc4f3ef5886db2d73e509904d5b02988f74d7a374ac0590395fe73b7758096fe6767368f2e03cf17849b5c47339c75822e6326d6c1e12af603529a422acda230672c78f893f941e81907d32b63c74be9c1e3222dc675096c24035cad8285a726a93065121f4c3d966a8a086af02d4f5c3ee71bff9cdb0edd220703debb656f65bdf34588d0644a4fe355b0c3ea64129208adbe3f738eabb85f954e05581e03a9a4d668c2541129bbc51a658575ad4d0725be73468101f6dcefddbf600c0446c22c31168508035219a670516a8aafc0dc54a2a7be25df1d67d59c5662ebaed37bc47064934d8f05581e03f79966157d70405c03fcaca679691506f985dc195de1ebd2da194ef1800c02480160f5639dca5000030779d9f03eed424fb72397863a15321fd388909d7bf55dc00dfd29cd8e0bab8605581e035979735589949d5b61fbfdbdc9392b12f2ecbfc401e63472d12488aba00c0a480160e5e214262ec70459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f8b8b613b86565b8715611aab57611aab7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000006c6bc977e13df9b0de53b251522280bb723837001614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4816939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03c8fb6f9f0c28bca90f0675e52c920514e76ed3e76277b587caeef59a935a46e5032cb2e7008ea0ac8dd4d2d5ddc5ed441f93bae793821a80b5eaefd4c4de90ce350341f4b95317c817f1c39ab9e2879c7b6ff241b47c33fdb4b05ea1c16e163e374903d6a823a715dbdcf1bc0dfa19ef5f25012b5b8bdb7ff54e9110ffea348949752403978756b7677e7ef375887e59298131c3562fb36b3ebc8dfa86a3c6b5e6f89b5603b50cdcbe26a5419f7c14d516313fbf9a52900552cc79ae7e74ff42c994dcab05035e032e3e612ed5d538daf2a0d8abfecf59e9cffaee9bd7b2e9059952ae41f2ce00582002449b0a333f5c8909886431d5da5e4f8027d87ad424316734ef1061fef617fa5208592522616b23ee3ee336e62e55cf95dc45035a52a48a510f05a8b3eeb75797551f7bb2ae74aeffeb7dd3967ce48035e45d20035a529dfb14190665df56c95279cd6402f0632c3973fbffe325517a6f034391ee00582003c66e00d0cf12890076565d1a51f4dae29ea7cebed3c0d7b551167dab2150f0501db7ebc8a30230a729b02647b83570fc005820036c1e0fb26f5a6d350a47c0c76f78d47bd2b3e0481e36e3a4ad5ea95ae7fbc05820016093275f00000000000000000033984d4217341347bb19d1fffff9acc251ad00582003fdd85196b637a3c64ff1f53af1ad8de145cf652297ede1b38f2cbd6a4b4bf0582001000000000000000000426f3c0ef19f93ee9018fdffeadd25e8ac3c6594f57b00581f025bc92f1deb9288b3f67a460a967d2c46b1cfb11c38450b24c9471a367cb35119231b6b621a86c4efca985d89e889fcb500581f020c59a8db0773adde015168df06fc0d479a305b353da196335134ddbe616f4c126f18f4fadb00f4f7ccfef00219080103f0bc8fb8f8b1bda808368bd4cbe4c0e3f0288bd3c65015d778af7e34303f6eb702192d1000582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100012c012c00effbc89d0000000000000000000010c74d601ac38e0b4a7003a9ebc85c0a915338b7c8807112138e2404efe95b220e13959a463e1f04705d0500582003b3aaa8007263bc99772d563df7bf0129607f1a801f555f89fbda6e98346c204b2bc752b95eafa674bbeeed03cc2966cf4e4b2db2542937bfc65413592a32945ccaa5ebee4091447f094c51480218b1034083e9f24437f5548287accbc329d32a5b44bab07ff1e761ffa6dc0f4cf7008201410603aba0f26bbe9ae5b0a8e7dd03e9b874d1e7acb39298e3291cbff6bd0177894f510396104a9bcfa0c1431b04d016db14014952a0d909f8a151c8925f1771ff76639d035d517c1169f2a0c03f7f0acbc4488d78bf80c37aa2ffa90ba6b224942ee1761a0395af171b38edda52c0fce5d30be789068a14d569a4ab2cae80f9a79e5e11279003567cd60dbc3b92be705449a9786fa8eff0d881a37901ffb3aa3c7a0a99f57b0a0219ffff0378e22bdd5a55db9e403387fcd2ce8be827570b7737e9bac9aaa2e4f15ea0a58c00582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c05820010000000000000000004261af4f1b81e6f0f8c06effed955a895d4064efd64f00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04d3a1e0a2a7a28215329d7596f70005820032d8aa0be13ab143f55d600665a8ae7ef90ba09d57c38fa538a2604d7e9827058200100000000000000000042704650047f3774846eb2ffeaac0b991de465a09ad300582003f62961768e6b86ab6b3ef1b45c0879c8182c0ab3d23d491c3eeddfad59611046212997ccccf70219212203239d0d9dd2fe6f05ddc0f060ba2ae67de9d4583cf12859f27e0ab20f4283fc5c03c864ab1d4c0f193a8f8bf7944a4f1f21456276358872f89bffce956b88d2622600582002e121b8c896d871152e24b4128b7c12ab20c2130aff2e680c2d795c4a9a01cc582001000000000000000000425be84dce8f2b45d53e9effeed3a79968c864a4583703655ac4c0473137a692d49f79927ac1707160ceb983457a3f66f7e9c7449f4efe0374e90ea2b2c4d654ab2637d38480083831529bacd2472133ea6e0a41ae2ca7aa03a23a47de7bfcb8740da71f64ca99d86cf6b521c8a331de6b7339e22365d062a703f9aa59b9f9ab22e7cccef5bb025bf99dcab5df8ff7198da00b83794fbdcba1dd005820021b77361a38010a35a9ec67ead96b534af3bb8d615682db0682c27e341ea29951111653ce3d97832d90b7f87ab9a89888c900582002445c203373b789a50c64e77abae13ac433110efee77e2fd84f1028d89b39b14c0c3cb5be1e8b1d91d8a571e4038c60c1f1966353fd63e6ac5bddef24e5811f79caa875914083eccae8b67ac2fe039888dbde4fd221249451cdeec3f0f30513bd1cb17c7c06a4f0934d8c3480b5980340254274a8879059bd66d62075543ee4a6670806a4f88f581cd3e25501ccc0c0032118e22403c4ff6224f6ba0ba739509398f85627436fd66acadf850f9823d9bf005820020ff5e0250c243a6efaa5a6c1c708bdc003a50dd1c537fd284d499932c3cd1551367de89619ccfdcda1e491e7b3bde155b303b7f77a4b8dd703a8cb0f01c0250259b693aa03aee0fd8a3a81f287408871e55a0219ffff0394426f6b13be70e4351d1a3b01813e67e6aca0deaa2d991931771291e14feed1039e99d0902bf2be51e6f88878857a4148eb628945610cf8a1cdb425fffa7dfd32030126ebd18bce8d01e9dcd798ac75b6153813aa66cd427db4cd424b8e391e5e8500581f02ad99a619a90804cd2efe3a5cf0ac1ac5c41ad9ff2c61cf699efdad771096582001000000000000000000427ad07f2b0b45191d3081ffe982b0b5622465e7212700581f02246aad1605eefa2dd6d16c68824b27b2f18faaa143102c6dcb3c9c7425245820016091ab5a0000000000000000000000116d38ee5f395ac3e7ffffffef0d336c0219010100582003ec418fc461bf103c70fbdf9384730c0969907e5ae7b4e2b8eddcce3094c0c051018d2e97d294bc1e7b0c4eeac9a3282794005820038da29bfa275271df3f270296d5a7d61b57f8848c89b3f65f49e21340b75920582001000000000000000000428109c322831d21b9ee28ffe8fe47873324660688a30219104403b9638b0732b4ef76407088b638ba2e9aa826b05ccb81cf7dbd6e531265c16f4803ae849563e0869e66867b8be809460e9068172129f8a61bc83345188553c9371d0327389d721d99e642a346e4944df0337fe5924a7438d398b39c546cbb2a92c8150348b9e55d51605db9d4a990f1ec554ffe3f3e951dc249c0ed3ba27997fd1e017c03be09e050da242b79705022c91bbccad58e63b24315570f5a85e023869e6cf9ce03ff6adf7082a34ad35042dfbd269b43a0164dfa43049b6c02044d96601fdc07cb00582003ffb4a431ad0f26f56f2ceacd5c80239c5dfb923343377a05220679392f30c051405fa45e0acbd28ab47b6bd649a39da59c005820033b1c47afc0f9e4f4dddd97cc267771d8011cbc6225c58f2008bf14b5801820465f82be1e553c005820033183f1f962e686210f0477d3e539eea3a71575357ad4312c4a571eaff81b104d3a020933b382a127fb91b88d8803e95731babd52193d6324b1824c35822a9109766f5e61dace55b4629dd230ad6f021940580323e69b593bb840be68d6bde76dd0a45058678ec231b983db617bcd9b7ac7d491034fc37241d9cc4a27cf1b15f95d023dbe6634832fa00afde1929af096d510c153035bdb44722b10b736517d62790ade67ab61e2c031359baf845a43f87bf17fc181030f537a3f0cd597754773799ba4f1287c8fb2ade0d7868100ec1014a2be1a747d03b0375d1c9ac9ae3f9d010c9c4416b5def7d37eafcaa16c9052daecb9890b379a0219ffff03f113ce84ffed65ecd4a79ddd40591dc0593744dee7f2f63c77352ffe882e84f70337f1756b06587b075316b32339ca45eeb206cf4b7f15bc5c19b1cd3709a1359000582003c18d0914231de8fd168c16eba1f0ba1fc5cdb9d31882c20fdd03d565b04b304803ece9271b3e97ec00582003d997d10982d826d5257430a2de2b40805834f272792b03cc2fd51aefa56a305820ffffffffffffffffd267b988593fecaf00000000000000002d984677a6c0135100582003c2444faadfa1f42bde57cd0f21c2fcf0bd34334b82fd4255c4c2ef84cf9da04c0fdcb6c96e7d0421276147b8005820030c885a01240e4e7ba0acf4cdf51c5b2395fe26426bc7dbac2ca0c90418d4f0510ff88c9d3e6158c5f8d3868adb6e23f7b60058200317e9267c96ae3bd779dd512ae50f91bb030321156d05c8765d60dd7148e2a05206af64b08859e3301f583f3c0516a0f65eeb02194a9003bdbebf13d96e722a95e2dcadb985c14b8a20b5904018b3b81928cc0c9c43f929032279e25de799393dc7ad1dbf42a87750beb8b9478a771d81118a4fb4527a567303404cba0a59dd1a621873e74019a7a9393a3e7da87508199732eb74e5a068f6bf03b16887398555f3e22ef712a440c26946927a875808509f38f3768f1c00139d0a03122b3ae32ddd1d54cb49aa47b1453e06f5cad64a8b780394458fe53dde678404037b96729df2c1e687ea2968c9e8c63b525fc4ca5f148569bc651fbd23a2e0b986005820037a5ad9f377fff922911208f86da0d808fae58c46b62ba94c2eb7cce10e3de05111d314e0e197b6d55d78424c32e73d798e00581f02c6dd43b8fdb9100fb8df7a84b88a5a63547da449495c550b88abdce448d54d39697a25925b7c9aad9d91802a00581f02948e896a118393692dc892dfdf1608596f0e9f1c1b93c63c2437127360945049ffa61f9506fd24539f60be379b925502184800582003b7b4def1f0161cf411510c0c6a3ce5152f82c7004b48721d0bf227e45d8a105820fffffffffffffffffffc3bf277a5e3ce00000000000000000003c40d885a1c32005820030cd45ef876e51c22b1779da6f99490c74c91646727234026d59c1995c394f04913c1a7f5d8efcaa14f02196482034fb51af6d898e8bfb43e9b99bc11f93b9219c149cb194516c600c5f3df3ef78e03b3b0ad67b199b16f62727e8073085daf2ea32259803bbfb75d0089518b7b1dd4039f001a171fb31cdde3974db076b87d2fa168f91e1ad0ef97813b80cbb413c4b30333ccb705f816d3c3f433c52a2a4474705fd574751de9fac471c06d18d107627803d3b0d8877dd4b491f6b005120cade308c10de5157469567cf3f35af3626abcb70383e3fb6d113ea219f0224aaee858f0aed8cd1d4b5a5cd6c42660332c8817cf1a0317287ee3bc0ad193fda3f89eaeec3b55467723ace8403b5b95df68549a1a6ecd0219ffff03fb2947fa6f463fb0963ca2352b4bac3737d4469b50aea779aa43c99d0a0a5334032cc58446e076c61a5bb7571d7aae2e09d59c500513f03cbdcf5adec0cf356bf1039af1e7e608439659796db845480a0fd7515704f43b5e82c54697ebf53f0d4744036cd87baac81b39e7f95c29abd3f08a2d5187a8624f593bd76bd8b59b4569f57f034433e949e1f806e8490dad84c5357c5be76363f25add2353b4a5263745ea3f81035aaad9a9cd838e658fcb6fd1b8a52a7e34dddc6055f664a1faf5dc5cb675b57a034b6e2e337dd022c06aa78246f540f3d880adefd31ec90e5c2805ed314aa2d9e10380640cb1aca5c56c2c1e61a12c0b6d2e60bdfaf841c839d6ff3f07eeed5c4dfb034a9bf89936d9be6749b320930d748ff0b76d1569a600223ece1f0bf7dbf287f0033b360b462f3f73a9d9b0b8e027f6739093d4af6d6a01db4341abecbcf7a3d42403326b9863cd09105c048e63774397490f626a5b3755d8bca6af134f6e64238b0e0359827328c935824a5b8e597a3668c580171c63b08dea6951a066aca7b7eb4c4d03b77d2c12f2c72167db4366baf927b1cf4e51d1d4df52e0211ac82bedbb95ecdd03684c4d96e25d55f9addbcf1248c1d3bb7dad45c74d440d9308507338e084f76e005820031a92d1afc77d7964c2fe948b652318382151f8c5c6cf604b1b28eebe4bcf404c1231bbe94a00f348fae689d300582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020582001000000000000000000425fd4b6068a8d9bce1aecffedfa5d24296864d7e15300582003f7c4c48bd6582880be4cae3ab179fc07890567ff366f659f73fce354e1f160582001000256180000000000000000000e92d6c780a8e3c0ae986efffff626e9852400582003d522efe55dc2fe81c524b191961a20de07ef45d36e4f1bfc7662af857c29204c0490816a345e3e0922b46ad800582003046af0a7b8d23d3c71a45ddda222621610146f0c097aa2269420941e2d53e0582001000000000000000000425bcc89b1a4ae2c33d07bffeed9a873054864a2ebb703ff3bab19db9a6005406cc77a00a707bb1047c18051bd042e07c8fbc2a084fbcd0058200326107f4924055e55068af25bbd93c4fc210d32f069da8677fbc65a43f4f3704c1f4abebd98b3eca2c9791aad005820037bb00c2c86876ad8cdbc8daf0585f430692cb8c785410630315a07481d11304c1eeedf094ccb0fafe5e89afe005820036fb69531d98d70dc0420e638d2dfd04e09e1ec783ede9aac77da9c5a0dac40582001000000000000000000426636931dd6313478c850ffeca8a38106146527fad702191b9b034ebb4e418a3775e9bfa3a3dea64e567080bc41676667ec2bd2f926f3d2442ec200582003053dfaa7f0f0d3f30834c0422b77befe5ddd9e44dc3eee899d37894fe40cb047171aace322d18f00581f02bde77b0ced66008713709d8e0b43e9fd7e43c7b85fd0e7c5ef5eb69126da52084ca10c346ebc7203e817682d21d09a0bee00581f0223ffa15f0465e3176e15ca644cf24f86dc1312fe715484e3c4aead5eb78b5820010000000000000000004265b38a335c7bee07342cffecc36384b3c46521a2ab021908040058200397419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c70582001000000000000000000426519f1599fa0b71d8586ffece2bd759c44651a331f021980410219ffff0324eb2bfa6e5db3309151742b63d2c357bca96d339d78efc4b9aa1bbfbb42af3e034b0e28f36bd0b18dd9b5931deeea3b486394aa385d8278f2caa6d9323a7d8154030d003112c1d659d81305eaa95275d3261f61e58756ad4e72869e6cc4576a2b270337401ca14c7bbb7764f0e4b4037e5ae2392d9010a32ebe457c3ca7cf399fb9b40366a1311f6aa067310604afc0656eb59848a2906c6e5b5a1300347a89e6aa8bc2034401e38a450ffaa8a6e753b45b8d4ee5143f291c6bedcd55e9221677a017b89b03e068a9362e4dc8174be66514b59ee2d33221628a6d53bb24bc08be69aba2ca4003372fed7a4d8e8dbebbf81c2eef9fb8acb7ee1c36ecbfb17d2a68072409f19e65032ef0949094e3b957f55bfb0d781a86d8d2d9475d3d9be4ac859b1eebf53fee70005820036970392e2063de0caeaee71af563e838151900ab3d08e7cc687c785990f1704c01029bf3680098270fdc1bc1005820030d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a058200100000000000000000042659f4ccb68e624902405ffecc785164f446520a7d700582003a4b4eddb300691ee19901712848b1114bad8a1a4ae195e5abe0ec38021b940582001000000000000000000426471a49f0bb507328713ffed0516d568a865120d8f0058200366878ac81f11d43120e7fa16482016e92acfaea4cecee866d91745bfaf91b0510a40f39e2bccc74d043a11dc1a49103dfa005820032e2a5d35c9ef0bd0a4ce174438fb146b3db724b290a365851f8e601c4e1cf04a04c3b038d550c7e5abaf00582003d4d540beccbb1be3acf77b1dc55d78584f2674c5ac7184318c30964c34cd4047e3cece3c6602910219065a03cec7fdc24f22d30858dca8c43c276948a6f89c8c326a99f1bc801b19ff81b671038e726eb37489b7430687befc6d43a0ce0e26bfcd5c898ea976b0022d4a6a3fc1035efa2da322ef8dfd34f9f26d227bd569696f00d4a81be4e90b8f28324241bc10037c5ab1ce1f7a7413c8d5bc173d9efd969e3c402548f3c39ce4770ef92b70f9ce0317d26fd40fa7ad6252028c5fd7868b78c0b6240307e2ff72005f491d1c4f194103f2f186fb19e1ec61c1c10833d7036083c255c0cfe11b1c263738ad01560609f10219ffff03c6cea6ae8f53101b2256dd5300a020449722390e79f763072710cb51378380d303bf3f97f1b34a5a9d52f845da6f997aab186cdf4da82ffbe24e51cd027c56f0da03ab96005f0dc9ca39446c27642b2d2f28f1e5418dedd311ec0cc46921d55190ec005820033778827f54da819025d5b2a9ab8c9ec7a7c848c34a0eb891048d395390cdd0581a04d90b438ab00a15f7c100000000000004d90b438ab00a15f7c10058200399d817b6757290b50e8ecf3fa939673403dd35c97de392fdb343b4015ce9e058200100000000000000000042632bf3ff12a904ff10fcffed478dcfe7cc65024a0b005820038f972dc9f7d0b76177bb8be102e6bec069ee42c61080745e8825470e80c6c058200100000000000000000042646d967616bd85125cd6ffed05eab3ebe46511db4f0219420603980871bd2376a8df1a58c94f560b04986c89789861bb75957784fa25aac0e6b603686a576d63e5c93f2594443580a879b2b3f46438a1f98882eecc1a1cd6d90eb300582002b5e76cbdb4addc5465ca01c5257fd383952518ceb69fc89a3fec27b19a3d0a4b3015b1d2b2cb4a1be87e9d03ace608feba9c54de0e0b5a3a8a504ce134ee1bf2ca20a7c4f9f817bc209ae8570380e9a40bd7bea531f859260976f42618ab9bcb2c424b7452ed46b005c8d7683903a0ed95aec24599beb87f2e29ac7bca0a7f0de363381229ffcb667f0ce258545403b83c90a9e3cf9c7ba06257281015834cccd000a5eacfea73144e06252d073925035d7447eaec5608c887391094623a6531905666f9acc2bf6144bea60cf01a4c2f0058200262e474926050d2ec18c5da3e77168d0de569f3b4324baff5aafdf68ece5b9250d21f149f1560b693f49873a58e2832f2033ceced958a2f91c6fa32acf26acdc3930ab588804465c46c53d701cac527428003cb2836bb564b511fd67500a745125832be70d40f78a4c8068e50792b2d05d1a603305cec9c6cfbc3b726e8643aaf65c7bfa4171e49eb8676e8c83bc6fee779e2c20327015b11418fd51fc687d9c2eeacbf562ee237ee714232e2f02bd06941d51abc0219ffff0375825fb6a592a1ded04af3bc9585fd224768077564f04bfca289f7ce2ae52b1600582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6052086610acd2863f91537ec2749a7dc1436c1200582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e058200100000000000000000042606a9bd02b1331e3e914ffedda2275642864df862b020903c8e26ebb11f8937e46c1177bda34d1151a61db293ac111963b084285172a59e403474b0eb64cd86374ebd31c922a90fc06c2732802b3170fe0457090d93d977c3203bdfde5b1d536022b871f9789b79a18395bf27918a786735082a881e9b819e50800582003834542b67ad9358277ee0be7a6586f4ebbcbb7209a9c292fe1273b7ba0473052026c58c801d5b729e47da7ef642b246cd2c200581f02ce76a1f329a418d018c82d4b6216c0373fb509ff23b9f55a29902752baef4c1ba7dd13ba8026117bb58e0900581f024130570ccf35bee1e7b2d440a2c4bb503bd333cdab7d871ed548cbbd2c7a505cead528d7a86e5730d87aaa636b7c200218600058200320067597facc2decd00ecd8aab1539bb5183e5d3d84107391c159fc6881f604d39d4e1a465d4c2781eb0ec4ad6021910e0038c35e77121c25f874c5b6353d4445ee1eeec07a26353b919a8d93c4ac26502b803828156c9da7a3117c06e2a658a2e4172817b07d4e342920755dbc16d617fb1510398800d1679c97e1e3916b9aef124d3998e8ca5ddb8ca71dace3ec7ffda1274a40058200253a30db8c4af283caba9b553fd531fc3580ce1bc1310d65f809da474d1be4e4b2807a218aa4dfb6583a6100366e4eff9665447ddfc141111fd42444ea054c148827c9a4e48a76eb4d67f82b0030a81c632539dbba518710d7c69df69b53efb6b8f78eb4d49091f790e2c804d480360991bda0d8f8491f36924479135deb00deca6b6a793f116054bf67d4d58a1ca03bee3fa758e80a67d09c830fd9b16523d83fe391666e3c1e18047b1ed80c99d6a031d7d1206eb09c48d94cfea7043801b3b052e50919cc402d795dba4867d9a6b7b0311d0cf12888ae7fcc4033de7d732c46f40466e239dc6e7459c40caeccf93b43903fc0b695e0ea045a8942850848291314f72be602d8ec260042a25c3367bff802e0219ffff035935c135be246a005631a8c21f39db272172bb577c02508f8ab2931f362cb384005820021e5141a6fde51293ea2ffc0beaacd2e5ef9e205fc1d54ff9e357ef5398df515703c40d885a1c3200000000000000000003c40d885a1c3203d06e2ab3b214caaf98af48b53b269ffa02a8e14df143426ca8341e3585e97a4300582003640b74b8be81fa407cc0ec7ff48f3f00ab625b2f514a374440e1a58c22bdb0526d94000000000000000000700604b957388a00582003e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7b058200100000000000000000042684d806efe7b6d4ea0ceffec3b5cc0f6986541e5b700582003b361c5951a11536baa0985411dc15f4753ded5eb819a43942f5297d0d273204c1b1082089cddd4b5c2ca4d2700581f0204f4df55da0f4a061b77440e28f59204717ba7ec7fd355787ed54f4cb4314703c40d885a1c3200581f025fe4b13d352ff97db4c81e353aff6bfc8b2b9ec0d4356ee4d8f34037d1de5820fffffffffffffb2d7fd2314c52e62e7600000000000004d2802dceb3ad19d18a0219220002191844035cf74504a3fdaaebc3018938e71948911448fda41e4aef6d26ae7d118449ca470383faf385ff9e116729783e744805e4b3c4abc840e5f436cce2f3af839a4bfcfe0301d3ee19d43812117e6e41c05bddc89efe3924f6576fc58c021bb947ff1fa83103f901001322b188d651ff0ad65e2f92ae459d24c89930909867a369597c6aec6403b6c3035fafd02a235402e194148381110956bb0a3ce34047f21cb4faf0da3ea4033b5acdefeee59969b06c51ae2ff716364425e144c1b97fa4c92c7a344e744254005820021d691c894f8266e3f2d5e558ad2349d6783327a752a4949bc554f514e34988582001000000000000000000426eb173328372e68a7661ffeaf6b6f60a8c658ee52b034463a4a9d6a99415d030ce27f24ad6cbfd0c0966b62189b562082af58ace828303cc63ac9e8785c152f1f5a5bd38db47dc0d10f445e2dd78bb03e2bbd4c7a53af7035fa740cb1c16040ae6f58f6ff20ae4f5731a33a6f715ac124b7d102cc93aec6f0372b6240a0a7931464fd15391a5ba507597d95adf084c8574b55a1ffe542cd9bc038998d2898d9da18e26e5ae73d1bc270c0b2d0ed618578c66ea74feedb8ffc6650349e0c139adaef94276f02760813e74d0b2f6c24c9ba731f957ade3006b13419f0219ffff0389a7505fee0ed7ad45ad403dd4a52613c58ca683c042b335b8b93e3ad53d883b039a103d40ae32bd35316abe3688c9274fbc177d09154ae2c631725c15e6d6596203aa55b70d6a1a97aa261460d6eca0888372f49b2218e22e87d3a36a9791074bc7033af3d585dfe49cb42078ccaad574cce5617c2819998f6ab38942e32270b6a6cc03c62f69077411b12e03cc70609ff0d1fbdb6f8d6ca97e369ff077d0c8d2c096bc035993c155e5acd5326cf8d5aed7e54e6f0a053d00d81bf119197e005553878857005820029ea7af07b8bde7e97b3a809ca24717c17b9cf2e722e31ff4af3ad1153480e14d3983fb9fc3870ad042db6daeff030024307eaec878323ac1390ad8c4f6b91c75ba193477496ed43f6fe6277045dc03202a1fd3d590030e075ccc749fafada36a1ca434897336dbfed49e0fafd91573032e093ee5b6a43b03cfb7fbe77877cdb563e2c1be831413d6c89f68ccb0c3f51903356d21115f8a5f96903162a642c4a7d440c8b14cbda45fc3321ca34fb54e532b005820025c626c4cd389715fa21bcf3a6c2d870747f9a620a29d0ed27c70c5e7dfdff75101885cc0ec80eafac968bef892de5b6d9d00582003b854938343f85eb39a6648b9e449c2e4aee4dc9b4e96ab592f9f497d0513805820010000000000000000004264ab5c751d0ee3d3e5c3ffecf94f4061246514d8c70058200334724daf53aefa08bf5f4c9d8b7d47fcc723eb752dd1ac815659cf3b38a1e04b51495d520fe7cd592857c7005820030f2061527bc669f5081eb716a9e612c14fdfb3be2c447e9d73f8c38509bc505820fffffffffffffffffe17154468c2575a000000000000000001e8eabb973da8a60058200357b373e034fb9b75a78055c32434231eabb9c393aa702859b51c9a0395e0b051096dc33e3f02901bd9ce7cba0c0273083400582003dd04ebfe6919942ce5ad8a031f470190480459ca6f01ea6e9d97ac26b64b704c1b4057c6e2344183718fe2f30058200366cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc305820010000000000000000004263477bfcf288bffc3c65ffed41ef642e2c65039f3302194417032f78310dc0ecf4420d48a920be5c7b8a9fa3290b68aafb45f451ee4d349fbfbb03318454aa2740d7b4a51ef65cfbe936a2e8c348a916e4f9bf7effa5dcf9bd18d803a12a308a199e767e6c4dcaa807878d3bc8b1f29b93c3bf659619288cf0af859a0219ffff03b6b4a6dc8d1e57d998cb59a243ed4a9637dbb8ea2fdf19e90cbbc5f8d7fa5ca20219ffff05581d0262512f007717e4f2d7973855de7bc162ca59ba71e9b3da8152e74d67070119567e05581d027e00c1a2324dd6e5efa36a41a9ed5dce461dca90369da77abcbc1b430c044701d272b54c5d000219808005581e036f4055e7c163b7f61801d9c2b7881eaee7eeb93ce87e225185856a6b500847047370bfe7980005581e0372609467b2f312a4eff990e7230fda32ba6b436a27e911669ae2ab3650040205581e032e77fca3008dc5b5bdb9dbdd152c3fdf444ec99dbb4983b519d56007b004030219df5403bfef0800f73582357fe83d6c02b15aa2091a287dd01f4808c4677f4146732cc8034235932010ac1fed1418e4d788e0ca009cf1d9394870c72a7ede001e4bd984a403ad0c48b9c91abbbf6421a0b482b8a7fdb344deb4588def1b82b3658d3d9eb191035da7f752cce898894ecd74d105424fb5979f16545d98a0881a6ceccff381986003f898898c76c32a7164596bf4e554c74cd65ee330da2cc8108816a4555b48ccb003e7f7ee6751f0d4c4a7ac3d8472e356df27c5b1d8ea8c999621eece492e6e4e2b0352768b57d5f1385e2ec29b51bc636d830a69bb261bbf61703a0cba2b25a28439037ed988ce14c0167ecaf861a869db116f475a8730c291ed7c6453b79dbb18ebe30341100986f47fb45a403cc0b5a9b9fa0f214d8780f6bcf71f45ead89c62e9aa9603f8e1934c1de1539c18b888ea52cd1071592a2dcf92d091e1df1dbe332274599e030e27f8dd23abd8d445ca639734f3daba896e8962654ec7846d427bce5c3fe5c7031a4347ba3aedcaebc4adab37ac93351f86fda5f5d0f2694fdb3be572ccea145003d0c0e1197f14eb9e7a5b038c4cf1f4c79ac255096f07c0df02ef74afc370035803cadbdf239a902db569723663c23205bc4345123193d48f836ec6580348041fab03109a3d9dd7bbaa1ed18db40d07b04517b51f85afafd09d152ed4df880bf11e770219ffff0396c3adb40815341cdc8ca9c7640a9752dbea66ae2aa6e87da4595683b8f6f29e03d86b76642a401fb21680d2e53c062f50fa2969450afce7e2ef5b3c8a0df6a4b9030278c2c6efc219f2fee75727d62a588e8dba5cb8e1528b79a2d72c794e553e56031bb643811d3d2f2a89714dc896e7c430bbfbc6568fe8a24b591025e79e3499a0036609acf4c12a089d71a303bee17683c348348a2477a8dcac56807e42005feeff03114242598edec52b9a4c3281282a6952750ac5c445bcfbeb18b26ef691b2f26703ad54b85909b7a4a6326e8f62cce697df6abff41a7409986cb6905de609cd32bf03e7bb09208ae24946042cf7273a9473a63a6490aefd576335e742f1441da16d8c03008b52b5610dbba46b7992dddb23ee32ec4a7d9c7c23da8325ece1fd3f61eb2f03b52e07f480ccc9fc3a176f2bee85936d1c4c2cd88e7744e557a7d220e2971edc033343214962e7185ff6c752179ae2bc561f409411076cd212eb0d2f53bef307f70324f58ad8d82d0204a2e9c22ac19cfcedd839f673748842913a8af8bd3237c4d50352bfc9e7e9481d15bd5d8a9335bdd9a2066e118ef1a28b1141d64fd00deb38f5037209bf905f06a31d1b6007484fa935151e3dea666cc67827d52040d5d3204c3303af99ff261e15a31bd1366f78795e56a8ddd26d976ed95de02d7dd9a1e3bf6c670219ffff03988e81e36b0e0bb69168ef2364711a60e28cb050d339d3489d8705125afd265403b45a339b36671e11c0f7d1fdc7d78bb84d2157d40578e1a54a161ebeacc1484203d8278b6abb9f419410807cd3405ad1630414096721414a5fd4abd56f6ab60033032eb47f85da4db41d9f5fa7cd0c3ed720721c0c25544804c0dd77e4ba9550d279030ded2b2d39508e1710999f44c8ec703ea290e7fa5807cd6641b3385736d755eb03b3176a91b6cde370ecc4dd37879678a2fe83e633fdbf634d25cbd8b9594920cc03418fd0cd218d193a2f058c3661c9697123d9dc3253f7562dfa3a13f9121e579e032ca927beb38aa90d6b6758bcb2d5df70cb451dedb37ca06130821740a3f07ac5036639a35c4f02a9eb972d4b56cdd169f834a565c003a331ca7d761eadfe24c04903d4d5daa44d8da1583e1c22be4c29b7e91d8130c6a6f34292bc01ed6171943e180219ffff03983f4d1c69a0e8fad8bb7ca5b04c0be009ea083fef62d2696cbfad2b114b4bd0034a8569cbf6f2d2c5605f51c14be3fd59b93d00f18a48fad73d040a6e50be47c0035e49dae8a70fca7f589bbc07a6c84fd7032d8aee36585a07cef49705ee3f3f7d03d34d340eed4726125e98c86bfa1fe5d30efdd915174fc61b12d6c151013e80f303620a4a1f737eeb35e5dc63a81d554ece56ca98d9b4f1703d121cf78953cc6a67038076851bd94630f7c29b2bb96bcd578e9dbb262f6b6b5fad0c9202cabd8c98860337d49085f24872216423b548fbab0d0acc12c4132a0259cc000eb1515e9ac599034f81474006717afa8641319b48903b5840f67417f2d699cbbb5155be51f482790341bbee2fd5da39fe095fa585892cc8630b375c9ca79f392d33349abccfb8d23c03bb36ab9e2fb6f97f14a4eb64c87745260da82f7590e720e6fe8023d32418132503623cc22505cd7ff025ea783559db2d9937f4f2ed7200bee45479a8108f91d5550329bd1575495e29b3f101ce42a9036fc69a57b30fe40e0f7b796f86e76be755b803209fa89229cddd7ea404703bd1b81ca59d3e3fe39fda429532eb7a573de3396c034064c27eff03e4569f7ec2eef256701e2b6a51b7c0450a569800c2a4594b3bc6033da161200efc4d7379abce941eba371852df30ae8377aa98749e352413d1c029035a1e7375f6dc3e5773f526ebcd2adf627b62d8ebcde0271f7c6bbe07cdacbc87037f70361cc41bf11d564e6943fa66558d38dea0c7fb198e2057b8e1bd37facc8303821a0ffef90ef167434fdd0fd97ba2e8fe09d5c9df2ce17235ceccd75152ed9301410f05581e03ef7c7a4c571ce609d5e28b294df9a0aa9adfd161fe6be3121a647dea600c024701d68b5d220ef005581e03424b913c6882d04d654b200a922afe95a186f492ebe7a03e924e741c30040105581d02d14d7c242d8d7a744fea448339fdb7b1fcbd1548c24d978c185cd65a0c0848219075f4580cb9a805581d0288dad5c8784a8fd43c367996392eccf7a8b3f38d2f79df191dfff9500c02468e1975b3200002188805581e039380e3c387fc5877835c49ef5ad0f76668c8efca8de845d1cde26539c00c0244c317e4f9030feb78a106fa93b166293a24687e164ec83534d4035210f5eec38fd6eaf16170039b97ea9aca519250d78a29107ae1258f962345032080a3b878799d68b3b51e7002192ee00395a718865e1df39f8e40cedc8afd0671645018d098d93254347ea81ff8f01dcd03c2f0a55f4d629ba8fddf3a31175d06a54ea59793978339e482ae280b48c2f9d603ef4d5cb7ae8685dc07511f4e2714a5ceda1809e919132cfbebb9c7e81b35bf9d031968858971c33e53863c8b31863272e50a05358857790f2656f9bf7994b8465c03de193c9263183e696b0b72d49efbbf7c54deedd04d09f58df5337e92234bdda0036b3c6f1e55293df9f384a9fe7528a9d22a9f59cecfaaa1f8d35f9f9304b65d7103286696010498280c4cc5b6b7b734496a84bec0bf9a1d876b5a8f165c8a362e5e03eaaaf11929e749e615261d01b34861fefc29e40ae116f481d75a866f98e68134034afc22d4a8e3b9b1fd3da53415db97f74880c74a8f3534ba61db675c9fc850e00370b421d752092b86aa5b5bbc6b9f49c77be8418f933dda9d65cc8678bf435619035c0c5edc8e13342fd7aede2e5e5c24f02f4b57f1c3b7b60cb5e194ae4f0a75c803f4a37ee52e11d58a22f1a8cab1387a7883056beb7928dc36adde0087c629783a0395c3fee17fb95e9f69b269719c9c01ce8ece18edc538acb9bbd1b72b07e23a5f0219ffff03a7e852a74fbcb0be9b2423e66a0b591b1d7a858ef00ecbeb669e90b96fcfcbf8031e6cf6a909733102d66259d23d963928a4033244371e54e6f9d8a8203dd7965d037fd55e0cbb418848eb34e975fd11c5de3e452539da217d0b23f96d9b8fb05762039e239588874bda1e83d702e140cbb713ccb8c737a1019eccd69fe6326037012d0310ea671be21135fd054639f8db90c8b9d3fe3169e2290eabdbf7ac696d0dbc8703e12dd71f799a16e7bfec3de8ec43fb0a6ab5ec589cf1b0bcda3a0326fad3ad2a03c500a25025a441afcfae6232ff0cdb15c0d323cd65450c78826e67bb31e39e3c037ad7d1abf6ca68080dd840975b079663831038e9e3cb1eb5cc24831bf4d5be8e030ec1e58ea2a0fcb04adec35838da9359c3b2d4fb4bfed35d0cb1468a7f77e1c40219ffff03f8ccd3df47cad11922b0a9c56cc9df0dc7a5589b5d6b9579d14c8083a2e8dcfb033b64b78994ec069a54195a319fc51baaa004db30db4e4da652f7f522a3242eff03219df7fb5fb217395e37a877f40351daff02b9d0b1eabfacc07975f4fa5c6fd203f45f4252055102ce243b6b8978c1340c02264744a2b769db7b1ede5f27d0bb4403edf33d240d6cc115a4f278e677b7c076928fb51c534174109e3d8eabb2b8d4620388d328e7a86f50662381951851fb5e63514192140c5a707cf94598e118db56e2039d58aa7ec8acd4c670bafa76339953774d264a7a30b71a4c3034f1f364c9399c0219ffff03ee367de1ea665cbe2d2986c9a102ea50257f525249adff13a030979e58feb9a7030ec58d45de5b6d7cf1251756fee1431306dc4c715fbce793a66ec1fbadb513c90219ffff0378c65ddf474b8b915a4c5afd0215c9ea5cbd87d3beb8eb7eab53c193041c7f5303dc13e25ea179f7446044759473270f4434962efd9a29eecdbeeaca5a5faae183033dadfb771a5d61f837b06beb26fd6ea610d9b92bf5dfc2e0434feef7401cbf330385b1bd374fe93c7fbf7ebfe484a573e6466362a8e4ee59d4484b43d5d0e20539032b2bf269ed9faf48932cdec39f0df96fd8b8cd53249322faceb236e7c9f89f280310c5812535ccb77dbd3ae4c92421dab134ad01db7fd6a823b34eac1ca8ae284d03d275415a5ebf025c112d31ec4cd2934abd35df4536c9fab2c9de0af4334e45a30387102a4b48238e73dfa874336f8a6a1db08a3cb9a87577dd82e0302696b9cfea033af3655f58cdde1137effc438cf6e34033b4d63792b39f20e105cb58eb7c452303ab749929116ba5c806f3302a4d76c25d736dca4d8cdaa4aef713069631fd388f0319d7cfc647a4fd5f73413411a2d0b7b839406786ca5107f6d6cc00e9cae016110374e81daa4065e3b6d0b09a346dfbdb5a5aba901a79b6253cd30c80c275ae3508034e7504a185c351984b84134710c1340d74b7a8b6e96e4dcd78c882baa958c1f703062411d8527b7af4c6d7a9b09aab9d54cd13d875d23164474463dac1a2c812060345729262c4e86168440a0352608fd87bcca1042b31c6d5d9b74ca5b71c039705031b41530f3f7dd368f835543930a43143ff57824c472e64f3cf8624093c1abdfb03741d2a015f313ec77dac2e8ca50380b93409f6275d2a82bf81add3b50a9906fe0371927c745f9e176b6ce6f1b69b19cdb170d4aa0e837ced1a3dc9670f29c962bc03cf37fbe086df80d4cd4dd890a3afc61a3e11fc758f3ad28a7bfe95122e2b315c030e0bf617bee9c747237e4053e7a046337495755c5f5f87855b5855e2b2a63a4403347fda8dfccf938a7795dc8beb840c7aca9ec995ca81bc08d3a0a90fff8517e8033494c74ef6eeebdb4624c7c65cd804f84dc090e9d483ad02b0a9bdde421992940337b1738289e25eeb566f0899e3fa30643152dedae1b6fd987018ba1a6c53919b034cade10f6bf986751ca27ae841648f9d53979ea2bd1d422adbf017bdef0359d803141983450b0d15a3dde14bbbf5cb11646c23d8d208914ed2217dfc4125da6af903ff54ed110fd90df2b37f7643f25034d957523273e90c22977693ab9bbfacba110359bf71e5e4d4221cf527053bae8ece511d511f46bb923b63793290e3cf8d5c6003bf1982c06a8573d6f50a85efb21068e364119b0a637dbc2c2b9dc9c85958e29305581e03ba04c574d5e1b8299c9473b1d16a8f4df8537b1340480002616f08e8500c0147010aa0a1a990000351898e0951c20f393773ed3bb7cc6072e3ae1bf01ccb8e73550745c46e06209b05581e038de15b2dfc39888cef2cb896df43d28a775747e68070f87ca193b822100c0347158d3526f91d4403ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03ed23a486e002c1fab8ee4d01beed5608a5ccd032a010f89505f1b275d007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03c2368571cbfcf138bd15284b9330a3c025f343f57b470f30c876b905e007011bffffffffffffffff05581d0205f44727ea383df92ae5df9722c1ab8ca7981840d5dd7630cf0e01bc0c0a470d0f709eb762d905581d024e737088d8a563aa22fce470e22fde676a99a8616b4d2663461601cf0c0747432a44d66577a202190a0003d7751b9b757df88e985da6eb66fd72fbceb818f609bbb5e823327c1474065ffd01410b05581e036302febea0ab901a0b537e20c5a52ba4a4355fdef49b05ef08be3ce950040305581e038fac8e216d0399b48ecf4a0759bbc8ba151ce1676804a298ca20790fd00401021971be03d75bc923e84bcc251ddc92045f9b77a8f47e2b0bf211133ae11666e2052152b3031599e78abe704899050cf6f22da430143cf16d8d39be52dd8e7f281e73c4ae06035cc83f9ce9ad00dfe240c453041916fbbb198ca33e136924a351660de47acbe70319f1a397e43bfb4b7d8cde3f14064e0366236fe70bd1883c94799b1dc9668c8c037b8c971a81dc11450f7accef3c29b13c4b8d863dd05f7f3c37a6fa0e079a035b03cc306c70513e7cbe500ecb24cadee49fb15ee0358fe0751b9043c74f70d8042803f18dd23881343af2a9cd227c053b4b36648eb6dece0ea1bf0aee6e0e1463bc0403cb65176fb9e8a2cd88f5cf31dd8b8bd9ecf0febc6ce5a983228d4e15146a75f7033330b42fb6237125900a7ce256b6a93b1f481b35700816975e58f52c9bddd3b103c4b4c0d04bbadd1da4ef2e93ea29927925efc1df1078d8be42abaf927d9f41a10219ffff03601c8358c299f1b4955aaf5a5f34df5645976dde0556fe16753a5633d967883303359d57c4b94653c79ac38e4c40eee9842b3aae064398348b0a51c79037da7fb1036a3d09cc40ffc0349a62c117acf95ab6f0654307e99f36bc8ae7dd56dcce91d303024a37fe0bf46975db766bb08424090f7e4c7f3163806a34f0fb3a576f5047250370863027f0e4481a80fe4a49a80932978ad3cbe56251f91fcc216284751c35fc03318af85582011ff162385e9752e2d3657ecb8b2e54b4333efd2ef8a9ee4b23a60323efdfbee3f0e871f94a88664d13ede335bfb8ae1c77eaa3111b6b7b406d5f78035a0ff39a27591e1dee2609efc9ae59324c6175ac46ab7774f5289ed4b493952c03f787a146d3eb67635cb8cb54eabdd4d2d3cb95261f49659705f269adde06587203dd76fc7e4cb6f1db27a0985bf1226bfeb4a48557cf74145ebc492314fa885b2e0219ffff03e1cb70085ee8f1049c77fa09e5690026a95dba660f8a6aaa32b8b63be4d140dd0323d8e53413854197ed6a2840ab96516424503cc159df5eabe1d9ecaa49fe55ec03f9d839477c5b5ef7dc274108c4d71a4dcf393c2530a07efc76f0de1ad6df521703f9b4c4ce946d00a0839af42abc57202616d2371527eccc308a47c4f9cbf219f803ff5373762b555f85851fb17d94b269955ff72ca407ef6fcd32daaf0728e0362a03240c985ebaea4169e474a9779ef617dd72cbb7b23ca62c8ea43446e54e1bda7203ec7aa50b8c20dde3d12647f4619adfc14d775e46ac21477a89509bff499e06b003c0f7927366b374bade58192eab8ce9e06684520bfd957a4b52c31f308192c02603094bc11d2f749a09663700270337dc795b0c058b97d03936c0fc84a785d964360314911e1961f468203795a2c2f8373dfa659b3298894008ff44e8b746ca3cdf1b0219ffff03631ac06315dc217c37e58c0ed73784d23fcd2e5229caf94770120740d9cec6d303e81520e6e50177cdd08632b7c57a8f0855ae72b2154cfeabf143b3713751f29403f2f1e680dcecaee1e596410510389d7dd9011dc7d933e12b57e77d7192685e1b0219ffff039ed5181e9088a710f2e94d3eff20d1380970d8d5c1b950b5d11ab2d1ba267d9503d181648be626b1462b1d2e43a91bbf75df4fbc7bdf9c80b8e3fafb5c8aadc19203dfdd0674970170fac8226a21e7b7a7c7c2f53c03e9554cfd2f7c9a50e63e827203502ef70cff5b3b4b808efdac6924d6e36d81a106fb4bdc093330c47ff09e4f2a03ee2e64a92bd9d833a7df2ae2cc6106c314a625c98fd02245d01548bd4a4faa0503e2bf1bb16ba9efdcb918e9bc1319ce0a50d6a5e0a9bbc54c641ddeb55c6415e103c7bf7f9722a973cd86b6fca6ea62939f2e4b84ee35eb6a1b0e0567ce9f67d28e033d0456152df0129fef211661cefcabe183b5dd619fd56d660755afc78903eb7d036dc9601b3501fdf7459b98631582a8f71a40ffc65546df693ac0a455140c8eac0304fc97babd0f58582ab7a1289b4203a647e2fa18b6379545cadf326651834dc903154105abc740eed3fd06fa1b2a7cacad1f8c71a8ba4eba4a104606795520e3000333ef32f0b199d77da6c43e502d402678e634e7bd81664209a425a957d799ffa103b5e9f954b0bfbf6e8672ca6710e72138fa7559b2843e464b0a855b819044a900030e0fe03fd9f9bd7d29399da87fba03610cf6e52919e2414fd1c950818a7ff7e50315b18df8a9cb00b537553f3b3f2d74eb10f4e9af1e6025d93d794f714b54e56a03bf1ab860b2380d7cb849335aa8e6d4af5f213b18c851cf71c29eccbfe440f398039f17b901c88554003e741b9209661573247e0b38e4a6dc5446991f33aaa83012039e94dd83bf1d0b0622ba48be7045ed303549c09dfd01b066530cee951a11cdce038dfaa9b4d87e1af915a82335efdbaf00b26aaeb395c2b9533180df5432ea5bea03e60f7d565920832a1225f862feaeea77b84f3c0986e028c131892e63bab5079e03ea6bdf99305b65646fe6c6e23dc04521889a8688ffadb5c551b7bd6347ff93c6034421bd162b5501642708e96718c73df8f1bab2c634f9e905726c4722132db35503d2959293e9de861c4169d952cd06ce39716ebbb4720eaf1c248fce22d2c9c3ac03bbcf7e00056d2165c2e29e2c5a6e434bebbbd8a1bf32954a95fe10229595d8d9030050d7ed034af05548afb73c9ef8ae7a36051190e2e75955c6decaa0d36ad702032ff751f73e4f916a42ffcf2c34927f0223dd9284f49445bc6461516eace82a4e034a580312941f47a24fe1c17a361ca7dfb3be92edd4738fc0c339efecc2608c090380eedf1821aa3ebf526df0bb44305f778f3d6ece7796cd00d460b57d02cf84150328a86234c48ad272848771cd09e284cc75bd02ad5959b7eab66c3647e533774303d8a2bb87f32032f234a3de455cb7c74a979b57547a481c514c5ac43f5e05b68d0384fcd46c09c6eff459f03bce51825d44c6056fc73654cb52dbc4515d1a3114c2032334b0f67d2f5c51ee6231bd6ef67952fe21ab305830d84c020d7fe2e5a6f9910312369445309cb42889429e7b49821529b7dcaef3be430116b6a8bda407aa2556033031a7b0c180f8b9baf224894bf147ea495423e47468d2905d1a08e8a3e8730103190d208f4aeef46fdfcc772d3e84b78707f1f31905a530c0878cc96ccc0b0ee90379dd7e200e6c399e83684e585ac94ec4df7a11633aa12dedb559a7837cd7d384039063ff1d9d7aa01cccc9008b0bb295fbd7c3c40aa067ada4eb81abf710029bd10311879b74c8ebb8a4874ba9e66c534c5146f1468a1bc3b0593b535b2a2cc7ccea05581e034e95107095d655c4b84bb53acc4ca6467ef6ef785e0baabc633274b4b007011bffffffffffffffff05581e03ea0573dc8983ef740675094482c66b83d9494eebdbe86affa1adf72110040303a365cb824bb4a741e622eee13b8b8b4da91242f257df1657b9db504785e2abdb05581e038975e66fc469f19c36c2f6fd67db465d9cf45ca7c16a008656f59275100c0248012d2f52a57a800005581e032f4180105d0fb211afe993dcb88ca7bcba93b3fe20dc6bf681594bd290040105581e031b2f8bfd3b07b6f0acb0b65f6df04d40983e2017baa5c3da194a0d6740040305581d022cc74aeaa11d24ce87bf2cc2eef6472678ca19efcd8c5f2fc2d68bd50846eeea18e14cfd05581d02892073e32efa0227c23e816efc344c6d48e9afcdeb2f9efeb3d7d463040102192800039a1bd83ffa1ebc2c81252435d9d65f746e9fe896495259ee50c4023378776de605581e03ca9959340bcc44144cd0cb0414fa6639f66ddfc20b0622da1f9a7854400c01470157e144308800021975f2032a0e693a8b4466dbdb4b95c61011df2d513686e0e0c4b693531587e2eb508c41032ed4d17ac2777f767bf60a2a0a598433fa393e87e261f3e1dc392c83129f4f3d036f81940b50f8d9bad965360cb2224df5b0cc924b6caba086af761e2489c0cd4103e02c997cccbb29fa3a4a88a32aba3e73241316976ce55529ee6a25a4a91c2ef303a3107f75bb94c4ce964dc36b64c72a189a157bdd92c5ec3dbafb0857c28b3112034991fb2d909d90bbef605517f745ce65ea5f60dde07108ddc89beb8c7a2b1fae03f6799d4b6dca8f441f7c19a9889f4ee29b45b63733bc891179fb5be13fcc91f1039e74fe498bd9a9eae07c871547147099e8483515346da4ae474073264fa84e870219ffff03cfd602a8ea37cf5d6c527e66433164c982e1dc64f993c6f841f3634a0553e2b403a9021f2f2eb043d82ffc2661bb3c010b390c14159a1e3aa531dffc61bca312480219ffff035dbc94023c9080ba65e68775550affaef5545fae00031ec6c18c4878bf3a22ef0332bd9317724e3544260b1dcd581b78806934adf4831cc090117fa1964474a4ae036fa2f7658abd307a32b284e324bfa5a6fd6dbce5a29e5abf811b25b7ddd00e57030c8929848ba8cb2842c9f1c77ef1877361c50bb742948d83ac3b01c7f39b2c9003d8dd44f6f92ef8fe6dc6823315dd16c967c03d2d5cb75a376d9834065695c6a90219ffff03e168ec55f6d6e91c740a948c914c1a53d980d47c10c87e360d4d9850d61dd5d4037df6237579956bcd08351e6c18b2b3597df0c5a34fcfecdcd0924a7caff3a790032b84f3858bbbcda4464a3b4a1793642b8e2ee986caab25ecb4f5ce87e7dacde503ef2f871676d41a64d51b4724dfcda58476ae9c5725e135d824140b0fcdf26f7d03812ce41cd0fb9c9b68cc32d2f101d68ecc12c9236c12fc82857f4c4b3dfe2b48031eaa7d395fd22dc86b3f32eaa2c9733001339b69bdb23c97ed8ef17eca7e03a5034f5a5b6b8f41af95b3ef17fb13697503b393ca0f8bc52f01f5e0cc02b5c2db5303d7275f4eba164b7489fdd19e9708bc03a0662f872f15c7fd862e6a98ec8fed0b03646d91e6a3c8d28fe80de333aa61b75359f93085766bb5e36b81bb26a18be54603666f665cd90fc4ed579fe5a0a8ce091e1360d7f429c6a875bf67421bb2c6ab2e03f7355b84629d76a97380480190cff35bc1a24578985d55e38c6b7db14842075b03f5b76e7676ade76f0cbcf586b5f62de6bc5e77638f1dbd56b0b577b44ebca0ef03207a437ddcdc421b37e225518ba1ed0f74ea6b376dd841a59cb70f948b69c82f036b9e7bd3891438e56572ae7326a2e63c5a410c02d067782522281308d5fd3e5b03ca1003c04fb253774e01c40cff788921730e3032790a64ec9651d2ee356ea5d0036e6c992e1c8e9d2e17e51df87e527104fe14ee52fa5d4011fa3eaad3df3db4ca03990d21e5beeb3c63648aded24b8a9428368ab7e504f35a88aa9737dbf6747e1503cb0e1b0115c79d46907e6399743a3390d0bd0f487220e4f631cf21f3249040b9037cac8cb6c18b82315dc1ae3f53fccdff6ab93692c992a77fff2f2a2d3bc8a5fa03355935c4a544df05ade7e1d60d0de4ed2f6ed2c3ee9fac8b9f4d47f9a3a4905e03207d60d33a4f2d1e988dca3b608b8f91b54218ead9d33eda1ff8b2dc39a2b9c2035ba693ca4350ffea009e1e53fb4850cab1180354ac5fe64cacbf0281dd53e3b303425879e313fe898bf2603b3ef0098a6fd5a7bba3641a828273e374efd74b60740347b79cc0eecb4bc780be7ac44e387a863e616bf99923124c548d32949bbe21a403d3b7f2aade153fb00f70821b5958c54e96e7144bcc06d7d5cd9cda8978e92fe103ea0ae37b48755e3e4278b12bc68cff51313e43cfbe80a79af521bc4d2623f7fd03db38228e3ce7b3d6bc0f2b2097ba65ad295ebe762fb05ae7d8ee1854f7934a3a03f17f17e8c707364ad78b8d508a2f5775a145fe213ef19cb6868f36fa65aab0e603176885ddb32143fcd38a45345bdcfc5fbb3606c4a6c02a43e6d42c220cdd1c14032a69c3df4ec64df52a1def0ca2acff61a92fb1fc984393fe49bf5e3a4e739a8503d8a1f137dc97ef003ee0399ebf655b190442c36a06ea820e7d340605254fe4ba03fcd4c7634de1e163201ddf96430072d4e4777e059573b6e36a39b94f9416d59a030b0749e71b8cc529258f31a17f0a4a1f885933b5963c54cb76909f6eb87a1c0b033001c740200a41dfb750e90819781cffbcc9a6d19589d959f374913eb60eb6600373809e2946dca935f61efff4dc2f8b4a457e3e40d7d6f554de116af6375ee7f503b402d1d3ad8ef408bcf73c5dd413897d8209c17bf9c9f2957fa16b88eafe06b005581e0335c4c874f08ca08f71e2aea2a653a3fcc8278b739d413e6c9faa7b42700c0a461e202769e0c805581e0357bcca0ea4ee448d2b2bc3ed576d7f0aa4db3f087677d836bc6cd6e2700c0447012073cfe84647031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03c9d6760d6b6ad5ac5874281f19552f51be9874d0a49e750efaf7c5ceb007011bffffffffffffffff05581e03421f07634c970b1e43a93b57d40d45ea472c5abdf55cb9280a69c4c8d00c1847470616cfea3026fe0346bdcc73e1c11af1910468f90764a3d857ca6edb47897d0166341b946cd05473031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03f636cd95ca11b1fd6bafa9249e7696f28840af4efaad41aeb306507b4007011bffffffffffffffff03fa9cfca1b06a7ccab2d0143c92d9eab325353e7f21a68c997c5a1b7a2ee9e63301410805581e03efe302bc34d76ad8809bbf6450f7fecb00c33d4875bc01c1dd63007e0004010332dc1795bc6418e2af8353b84cf6388dded566d66506c8cf285767fc28f5b1a40219d0de039a89f097f95ee8b5aff72d3e32eefcfaec09c58226c9d0afc046ca0c095ae16a03f847a460135c2904ea3d73f7532c331f599f10a5c73995a5d27ca73bf53ca98c037c8ed5e150d737bf9e7e7e428ba147012051411ef53510b3144142fa1c541fc30376955ddbc76ca28a0a531c9afcae5a0bf7484d048711b0617bd360dd435a9d5d0219ffff03eae5059bb7335a4b6c91d93c9968507b1a91bf3bf005fbe257c8ac40a8c5e4a803c0bfe9b0e5309ade24d17115da7b9c973f47b9fdfe3f375679678fe0eee03ff303b7a3bd2bd3d2e0bc5b19b572e55099383c8ac9e0a488d3ad690b8d561a30b4c30219ffff03cbac160fa5e4e8f438c08fc7d89b01f5fdf50de718c97f5790e3942300c4af57037267818675e51475562255f75ccba7d2a1b94dcb81b9b61de27ae935f52105d9034e1ff58456568cab5e20cd8d6eb104e7cced9ecfed0453a36720dcfa6c89a3b403df224716ee08a967c96082a063597fd7857dbc59aef7fc012bde7665a183cb800386c9e25eb4038a2a845f2967779a74cc68785970f20351d3f5aaf94013d56c4e03394efbe8e8d6e8a86182c599003b67c610ad558642601a7d4df271d06782a6c703c8ec35803dfa8b74b281dd5bfd33f3d851508ce7f4af16ef02dc9a8e1130325c036f319f6e4e16fa6e6a2576566a20068735b25eed8ea7294f6f69c5331ac0d86c03585d74d587d5590268312533c3aef8e8576d6c5e83f9a41e1f3aa7fed7f25784031c17028758e800d9dcb06987a0e7b2e92aded4f58e21690ae64456f057e3d8850219ffff03052fb039f1e24a16dd7bf590719ebb4b4dc42c430565ed41bb21c78dab94635d031bc8a686bf433cff2e90cbeaa90c0b47b677771c0952094731abed866a8755960219ffff0313b536b1208084bf8356bb49f413cc9c22bf03306a05ee99019502416d3c29c8034855842edf9ef9b4b1381a4188dae101523b21e34165b9d51dbfe5a4a8dca6150356fdec5542eba533260f779a7accf83ae964adb1daf29256032c702d12786f6203acf34de97dfea787a4d7a384f64a86d023438c9bbe8f9c6d11cfbba4ad26e0dc0393722c63c1c155e3db7296e85bb67a4788ae58d61a819c3871921d990f9df22003bb1e577f4a7b5040c68e5f9e1dd1b2a5f37dd264beea8b2e803f4f19ae8281f303ca284dec5687e441280b73af1bfe59deac7952e8b0e41c88161425c1385dd937033fecc20ffa8423b0babbca42326bd45d0ba65bab33a02725aa61c2c90b6867d303ceabc37c6beee36aab74fce06e6231c61abce4e4000e4e91384a85350d98d874039c94ce2861800cd21da3c8d9c4bc2e0e47e4fa50be3c17d0de42617623766c5303196fde598f982d967b417a52f3460c4276d70198c5c66dd24feb0467737002ed0314707232e4eaa8883ad05d9561c71386940b67a00ae9f8afdb21d19ac156cb80039dc4d8d943769bd88711bc2302b47f804e4d04e6644522ac9294ef0aea27ee8b03249676e9f8298ce5ce1b25ca5b0c2f0eb8652aef7ad2e5a25bf6dd6317f4d035036a7327854fd6c51e53e5b5f9dae1b3660fc807efb9de89643aa49b5947a0833b03281609da7232c432e1ba587cc08c8350a01a18857f0ec36ef9333de0c0214a6103c3c3b1711997c56d2e433f7a73b0077b3623eff4985a2c21616f17034a36c67b039f5fb3e6b1fc6ff4a54cc99a3b696ac66d7c6b352cb3b40ae23618e59746bec003442334682a7e3a59a042020e5fe79c97bc93678b8f89ec4282681d1c5bab8e8103cae44bccc7fd655c94a2210c172a17a3b29ce2225b33631d6b99cdda80092fbc0398fd24c7776a540f8110b60bf7177addef40493b7275d6cbb75dbf7cc82a830f03c340449e5d66c260492f4b9f267b8ef5b88739f63d43cd256a24e6c053b8a420030505b52e53253a61edf6b7c5a16509974355f3b88bb5ba8f11155242254b3517035af70ae7e830a571b63bac64e35521a4555a3b9d2903b46236b17b2fb36fd5e105581e038baf90bb94d5237de253d04798bdbe9ed4a22ceb552e98fb8698c8673004020339d652c1351cfbdf41bb050ee73436ba00fc68a78d6e30ea196c9d63f1d8a66b03e0bdaea94c439eb7da1bfc537f0d047e55c1a888c6eb6722ac5651723cc55428039fa0a5c80495ab51a5867e322b4810677cc67e5c89b681273231b24128acfa9705581e03e34bb15d409009f380448bbd205362f2f1cff08f7c167095f96753df900c05465177d8ada62803941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581d023ba2a2575390805e45dca5b844119ab51f3f8bb533d59478687b51eb07011bffffffffffffffff0459527660806040526004361061031d575f3560e01c80638a8c523c116101aa578063b62496f5116100f6578063d85ba06311610094578063e6819ba71161006e578063e6819ba714610ba8578063e884f26014610be4578063f1b9ad6b14610c0e578063f2fde38b14610c3657610324565b8063d85ba06314610b18578063dd62ed3e14610b42578063e2f4560514610b7e57610324565b8063bbc0c742116100d0578063bbc0c74214610a60578063c024666814610a8a578063c876d0b914610ab2578063d257b34f14610adc57610324565b8063b62496f5146109d4578063b70143c914610a10578063b819a1a914610a3857610324565b80639c3b4fdc11610163578063a457c2d71161013d578063a457c2d71461090a578063a72f458614610946578063a9059cbb14610970578063a90eab8c146109ac57610324565b80639c3b4fdc1461088c5780639fccce32146108b6578063a0d82dc5146108e057610324565b80638a8c523c146107a85780638da5cb5b146107be57806392136913146107e8578063924de9b71461081257806395d89b411461083a5780639a7a23d61461086457610324565b806349bd5a5e116102695780636a486a8e11610222578063715018a6116101fc578063715018a6146107145780637437681e1461072a578063751039fc146107545780637bce5a041461077e57610324565b80636a486a8e146106845780636ddd1713146106ae57806370a08231146106d857610324565b806349bd5a5e1461057a5780634a62bb65146105a45780634fbee193146105ce57806361528e271461060a578063644130d81461063457806366ca9b831461065c57610324565b8063217580a2116102d657806330a136ad116102b057806330a136ad146104c05780633103b39e146104ea578063313ce56714610514578063395093511461053e57610324565b8063217580a21461043257806323b872dd1461045a57806327c8f8351461049657610324565b806302dbd8f81461032857806306fdde0314610350578063095ea7b31461037a5780631694505e146103b657806318160ddd146103e0578063203e727e1461040a57610324565b3661032457005b5f80fd5b348015610333575f80fd5b5061034e60048036038101906103499190613c1f565b610c5e565b005b34801561035b575f80fd5b50610364610d48565b6040516103719190613ce7565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190613d61565b610dd8565b6040516103ad9190613db9565b60405180910390f35b3480156103c1575f80fd5b506103ca610df5565b6040516103d79190613e2d565b60405180910390f35b3480156103eb575f80fd5b506103f4610e19565b6040516104019190613e55565b60405180910390f35b348015610415575f80fd5b50610430600480360381019061042b9190613e6e565b610e22565b005b34801561043d575f80fd5b5061045860048036038101906104539190613e6e565b610f31565b005b348015610465575f80fd5b50610480600480360381019061047b9190613e99565b611040565b60405161048d9190613db9565b60405180910390f35b3480156104a1575f80fd5b506104aa611132565b6040516104b79190613ef8565b60405180910390f35b3480156104cb575f80fd5b506104d4611138565b6040516104e19190613e55565b60405180910390f35b3480156104f5575f80fd5b506104fe61113e565b60405161050b9190613ef8565b60405180910390f35b34801561051f575f80fd5b50610528611163565b6040516105359190613f2c565b60405180910390f35b348015610549575f80fd5b50610564600480360381019061055f9190613d61565b61116b565b6040516105719190613db9565b60405180910390f35b348015610585575f80fd5b5061058e611212565b60405161059b9190613ef8565b60405180910390f35b3480156105af575f80fd5b506105b8611237565b6040516105c59190613db9565b60405180910390f35b3480156105d9575f80fd5b506105f460048036038101906105ef9190613f45565b611249565b6040516106019190613db9565b60405180910390f35b348015610615575f80fd5b5061061e61129b565b60405161062b9190613e55565b60405180910390f35b34801561063f575f80fd5b5061065a60048036038101906106559190613f9a565b6112a1565b005b348015610667575f80fd5b50610682600480360381019061067d9190613c1f565b611375565b005b34801561068f575f80fd5b5061069861145f565b6040516106a59190613e55565b60405180910390f35b3480156106b9575f80fd5b506106c2611465565b6040516106cf9190613db9565b60405180910390f35b3480156106e3575f80fd5b506106fe60048036038101906106f99190613f45565b611478565b60405161070b9190613e55565b60405180910390f35b34801561071f575f80fd5b506107286114bd565b005b348015610735575f80fd5b5061073e611544565b60405161074b9190613e55565b60405180910390f35b34801561075f575f80fd5b5061076861154a565b6040516107759190613db9565b60405180910390f35b348015610789575f80fd5b506107926115e7565b60405161079f9190613e55565b60405180910390f35b3480156107b3575f80fd5b506107bc6115ed565b005b3480156107c9575f80fd5b506107d26116a1565b6040516107df9190613ef8565b60405180910390f35b3480156107f3575f80fd5b506107fc6116c9565b6040516108099190613e55565b60405180910390f35b34801561081d575f80fd5b5061083860048036038101906108339190613fd8565b6116cf565b005b348015610845575f80fd5b5061084e611768565b60405161085b9190613ce7565b60405180910390f35b34801561086f575f80fd5b5061088a60048036038101906108859190613f9a565b6117f8565b005b348015610897575f80fd5b506108a0611911565b6040516108ad9190613e55565b60405180910390f35b3480156108c1575f80fd5b506108ca611917565b6040516108d79190613e55565b60405180910390f35b3480156108eb575f80fd5b506108f461191d565b6040516109019190613e55565b60405180910390f35b348015610915575f80fd5b50610930600480360381019061092b9190613d61565b611923565b60405161093d9190613db9565b60405180910390f35b348015610951575f80fd5b5061095a611a09565b6040516109679190613ef8565b60405180910390f35b34801561097b575f80fd5b5061099660048036038101906109919190613d61565b611a2e565b6040516109a39190613db9565b60405180910390f35b3480156109b7575f80fd5b506109d260048036038101906109cd9190614060565b611a4b565b005b3480156109df575f80fd5b506109fa60048036038101906109f59190613f45565b611cce565b604051610a079190613db9565b60405180910390f35b348015610a1b575f80fd5b50610a366004803603810190610a319190613e6e565b611ceb565b005b348015610a43575f80fd5b50610a5e6004803603810190610a599190613f45565b611dac565b005b348015610a6b575f80fd5b50610a74611ee6565b604051610a819190613db9565b60405180910390f35b348015610a95575f80fd5b50610ab06004803603810190610aab9190613f9a565b611ef9565b005b348015610abd575f80fd5b50610ac661201b565b604051610ad39190613db9565b60405180910390f35b348015610ae7575f80fd5b50610b026004803603810190610afd9190613e6e565b61202d565b604051610b0f9190613db9565b60405180910390f35b348015610b23575f80fd5b50610b2c612181565b604051610b399190613e55565b60405180910390f35b348015610b4d575f80fd5b50610b686004803603810190610b6391906140b0565b612187565b604051610b759190613e55565b60405180910390f35b348015610b89575f80fd5b50610b92612209565b604051610b9f9190613e55565b60405180910390f35b348015610bb3575f80fd5b50610bce6004803603810190610bc99190613f45565b61220f565b604051610bdb9190613db9565b60405180910390f35b348015610bef575f80fd5b50610bf861222c565b604051610c059190613db9565b60405180910390f35b348015610c19575f80fd5b50610c346004803603810190610c2f9190613f45565b6122c9565b005b348015610c41575f80fd5b50610c5c6004803603810190610c579190613f45565b612403565b005b610c666124f9565b73ffffffffffffffffffffffffffffffffffffffff16610c846116a1565b73ffffffffffffffffffffffffffffffffffffffff1614610cda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd190614138565b60405180910390fd5b8160138190555080601481905550601454601354610cf89190614183565b601281905550604b6012541115610d44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3b90614200565b60405180910390fd5b5050565b606060038054610d579061424b565b80601f0160208091040260200160405190810160405280929190818152602001828054610d839061424b565b8015610dce5780601f10610da557610100808354040283529160200191610dce565b820191905f5260205f20905b815481529060010190602001808311610db157829003601f168201915b5050505050905090565b5f610deb610de46124f9565b8484612500565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b610e2a6124f9565b73ffffffffffffffffffffffffffffffffffffffff16610e486116a1565b73ffffffffffffffffffffffffffffffffffffffff1614610e9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9590614138565b60405180910390fd5b670de0b6b3a76400006103e86001610eb4610e19565b610ebe919061427b565b610ec891906142e9565b610ed291906142e9565b811015610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b90614363565b60405180910390fd5b670de0b6b3a764000081610f28919061427b565b60098190555050565b610f396124f9565b73ffffffffffffffffffffffffffffffffffffffff16610f576116a1565b73ffffffffffffffffffffffffffffffffffffffff1614610fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa490614138565b60405180910390fd5b670de0b6b3a76400006103e86005610fc3610e19565b610fcd919061427b565b610fd791906142e9565b610fe191906142e9565b811015611023576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101a906143f1565b60405180910390fd5b670de0b6b3a764000081611037919061427b565b600b8190555050565b5f61104c8484846126c3565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6110936124f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611112576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111099061447f565b60405180910390fd5b6111268561111e6124f9565b858403612500565b60019150509392505050565b61dead81565b600b5481565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f6012905090565b5f6112086111776124f9565b848460015f6111846124f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546112039190614183565b612500565b6001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5f9054906101000a900460ff1681565b5f60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60155481565b6112a96124f9565b73ffffffffffffffffffffffffffffffffffffffff166112c76116a1565b73ffffffffffffffffffffffffffffffffffffffff161461131d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131490614138565b60405180910390fd5b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61137d6124f9565b73ffffffffffffffffffffffffffffffffffffffff1661139b6116a1565b73ffffffffffffffffffffffffffffffffffffffff16146113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e890614138565b60405180910390fd5b816010819055508060118190555060115460105461140f9190614183565b600f81905550604b600f54111561145b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145290614200565b60405180910390fd5b5050565b60125481565b600c60029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6114c56124f9565b73ffffffffffffffffffffffffffffffffffffffff166114e36116a1565b73ffffffffffffffffffffffffffffffffffffffff1614611539576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153090614138565b60405180910390fd5b6115425f6133c7565b565b60095481565b5f6115536124f9565b73ffffffffffffffffffffffffffffffffffffffff166115716116a1565b73ffffffffffffffffffffffffffffffffffffffff16146115c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115be90614138565b60405180910390fd5b5f600c5f6101000a81548160ff0219169083151502179055506001905090565b60105481565b6115f56124f9565b73ffffffffffffffffffffffffffffffffffffffff166116136116a1565b73ffffffffffffffffffffffffffffffffffffffff1614611669576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166090614138565b60405180910390fd5b6001600c60016101000a81548160ff0219169083151502179055506001600c60026101000a81548160ff021916908315150217905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60135481565b6116d76124f9565b73ffffffffffffffffffffffffffffffffffffffff166116f56116a1565b73ffffffffffffffffffffffffffffffffffffffff161461174b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174290614138565b60405180910390fd5b80600c60026101000a81548160ff02191690831515021790555050565b6060600480546117779061424b565b80601f01602080910402602001604051908101604052809291908181526020018280546117a39061424b565b80156117ee5780601f106117c5576101008083540402835291602001916117ee565b820191905f5260205f20905b8154815290600101906020018083116117d157829003601f168201915b5050505050905090565b6118006124f9565b73ffffffffffffffffffffffffffffffffffffffff1661181e6116a1565b73ffffffffffffffffffffffffffffffffffffffff1614611874576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186b90614138565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118fa9061450d565b60405180910390fd5b61190d828261348a565b5050565b60115481565b60165481565b60145481565b5f8060015f6119306124f9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156119ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e19061459b565b60405180910390fd5b6119fe6119f56124f9565b85858403612500565b600191505092915050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f611a41611a3a6124f9565b84846126c3565b6001905092915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6040518060400160405280600d81526020017f54726164696e6720546f6b656e00000000000000000000000000000000000000815250805190602001206040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250805190602001204630604051602001611afd9594939291906145c8565b6040516020818303038152906040528051906020012090505f7f7dfdbf06c6260804b81338506aa4a709bd9f04b68ca0d2d054b8627926c90ae46040518060400160405280600e81526020017f456e61626c652054726164696e67000000000000000000000000000000000000815250805190602001205f604051602001611b8793929190614619565b6040516020818303038152906040528051906020012090505f8282604051602001611bb39291906146c2565b6040516020818303038152906040528051906020012090505f6001828888886040515f8152602001604052604051611bee94939291906146f8565b6020604051602081039080840390855afa158015611c0e573d5f803e3d5ffd5b505050602060405103519050611c226116a1565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611c8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8690614785565b60405180910390fd5b6001600c60016101000a81548160ff0219169083151502179055506001600c60026101000a81548160ff02191690831515021790555050505050505050565b601a602052805f5260405f205f915054906101000a900460ff1681565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611d2b6124f9565b73ffffffffffffffffffffffffffffffffffffffff1614611d4a575f80fd5b611d5330611478565b8111158015611d6157505f81115b611da0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d97906147ed565b60405180910390fd5b611da981613528565b50565b611db46124f9565b73ffffffffffffffffffffffffffffffffffffffff16611dd26116a1565b73ffffffffffffffffffffffffffffffffffffffff1614611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90614138565b60405180910390fd5b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f9e3da7e72199adc414f24e73d3985f288cce5edbc5c370e29af583afdd78c2c260405160405180910390a38060085f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c60019054906101000a900460ff1681565b611f016124f9565b73ffffffffffffffffffffffffffffffffffffffff16611f1f6116a1565b73ffffffffffffffffffffffffffffffffffffffff1614611f75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6c90614138565b60405180910390fd5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161200f9190613db9565b60405180910390a25050565b600e5f9054906101000a900460ff1681565b5f6120366124f9565b73ffffffffffffffffffffffffffffffffffffffff166120546116a1565b73ffffffffffffffffffffffffffffffffffffffff16146120aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a190614138565b60405180910390fd5b620186a060016120b8610e19565b6120c2919061427b565b6120cc91906142e9565b82101561210e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121059061487b565b60405180910390fd5b6103e8600561211b610e19565b612125919061427b565b61212f91906142e9565b821115612171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216890614909565b60405180910390fd5b81600a8190555060019050919050565b600f5481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b6019602052805f5260405f205f915054906101000a900460ff1681565b5f6122356124f9565b73ffffffffffffffffffffffffffffffffffffffff166122536116a1565b73ffffffffffffffffffffffffffffffffffffffff16146122a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122a090614138565b60405180910390fd5b5f600e5f6101000a81548160ff0219169083151502179055506001905090565b6122d16124f9565b73ffffffffffffffffffffffffffffffffffffffff166122ef6116a1565b73ffffffffffffffffffffffffffffffffffffffff1614612345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233c90614138565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f455cf943964d06e77e44126ecca5a66b2c9721f4576a31f8693127282c55700f60405160405180910390a38060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61240b6124f9565b73ffffffffffffffffffffffffffffffffffffffff166124296116a1565b73ffffffffffffffffffffffffffffffffffffffff161461247f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247690614138565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036124ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e490614997565b60405180910390fd5b6124f6816133c7565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361256e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256590614a25565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125d390614ab3565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516126b69190613e55565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272890614b41565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361279f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161279690614bcf565b60405180910390fd5b60175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615612829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282090614c37565b60405180910390fd5b60175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156128b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128aa90614c9f565b60405180910390fd5b5f81036128ca576128c583835f61375b565b6133c2565b600c5f9054906101000a900460ff1615612f72576128e66116a1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561295457506129246116a1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561298c57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129c6575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129df5750600660149054906101000a900460ff16155b15612f7157600c60019054906101000a900460ff16612ad35760185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612a93575060185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac990614d07565b60405180910390fd5b5b600e5f9054906101000a900460ff1615612c9757612aef6116a1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612b7657507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612bcf575060065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612c965743600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612c53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c4a90614dbb565b60405180910390fd5b43600d5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612d34575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612ddb57600954811115612d7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7590614e49565b60405180910390fd5b600b54612d8a83611478565b82612d959190614183565b1115612dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dcd90614eb1565b60405180910390fd5b612f70565b601a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612e78575060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612ec757600954811115612ec2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb990614f3f565b60405180910390fd5b612f6f565b60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612f6e57600b54612f2183611478565b82612f2c9190614183565b1115612f6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f6490614eb1565b60405180910390fd5b5b5b5b5b5b5f612f7c30611478565b90505f600a548210159050808015612fa05750600c60029054906101000a900460ff165b8015612fb95750600660149054906101000a900460ff16155b801561300c5750601a5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561305f575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156130b2575060185f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156130f5576001600660146101000a81548160ff0219169083151502179055506130da6139d0565b5f600660146101000a81548160ff0219169083151502179055505b5f600660149054906101000a900460ff1615905060185f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806131a4575060185f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156131ad575f90505b5f81156133b257601a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561320b57505f601254115b156132a357613238606461322a60125488613b9f90919063ffffffff16565b613bb490919063ffffffff16565b90506012546014548261324b919061427b565b61325591906142e9565b60165f8282546132659190614183565b925050819055506012546013548261327d919061427b565b61328791906142e9565b60155f8282546132979190614183565b9250508190555061338f565b601a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156132fa57505f600f54115b1561338e576133276064613319600f5488613b9f90919063ffffffff16565b613bb490919063ffffffff16565b9050600f546011548261333a919061427b565b61334491906142e9565b60165f8282546133549190614183565b92505081905550600f546010548261336c919061427b565b61337691906142e9565b60155f8282546133869190614183565b925050819055505b5b5f8111156133a3576133a287308361375b565b5b80856133af9190614f5d565b94505b6133bd87878761375b565b505050505b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80601a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f600267ffffffffffffffff81111561354457613543614f90565b5b6040519080825280602002602001820160405280156135725781602001602082028036833780820191505090505b50905030815f8151811061358957613588614fbd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561362c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136509190614ffe565b8160018151811061366457613663614fbd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506136c9307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84612500565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161372a959493929190615119565b5f604051808303815f87803b158015613741575f80fd5b505af1158015613753573d5f803e3d5ffd5b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036137c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137c090614b41565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613837576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161382e90614bcf565b60405180910390fd5b613842838383613bc9565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156138c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138bc906151e1565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546139539190614183565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516139b79190613e55565b60405180910390a36139ca848484613bce565b50505050565b5f6139da30611478565b90505f6016546015546139ed9190614183565b90505f8083036139ff57505050613b9d565b6014600a54613a0e919061427b565b831115613a27576014600a54613a24919061427b565b92505b5f479050613a3484613528565b5f613a488247613bd390919063ffffffff16565b90505f613a7285613a6460165485613b9f90919063ffffffff16565b613bb490919063ffffffff16565b90505f6015819055505f60168190555060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681604051613ac79061522c565b5f6040518083038185875af1925050503d805f8114613b01576040519150601f19603f3d011682016040523d82523d5f602084013e613b06565b606091505b50508094505060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613b519061522c565b5f6040518083038185875af1925050503d805f8114613b8b576040519150601f19603f3d011682016040523d82523d5f602084013e613b90565b606091505b5050809450505050505050505b565b5f8183613bac919061427b565b905092915050565b5f8183613bc191906142e9565b905092915050565b505050565b505050565b5f8183613be09190614f5d565b905092915050565b5f80fd5b5f819050919050565b613bfe81613bec565b8114613c08575f80fd5b50565b5f81359050613c1981613bf5565b92915050565b5f8060408385031215613c3557613c34613be8565b5b5f613c4285828601613c0b565b9250506020613c5385828601613c0b565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613c94578082015181840152602081019050613c79565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613cb982613c5d565b613cc38185613c67565b9350613cd3818560208601613c77565b613cdc81613c9f565b840191505092915050565b5f6020820190508181035f830152613cff8184613caf565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613d3082613d07565b9050919050565b613d4081613d26565b8114613d4a575f80fd5b50565b5f81359050613d5b81613d37565b92915050565b5f8060408385031215613d7757613d76613be8565b5b5f613d8485828601613d4d565b9250506020613d9585828601613c0b565b9150509250929050565b5f8115159050919050565b613db381613d9f565b82525050565b5f602082019050613dcc5f830184613daa565b92915050565b5f819050919050565b5f613df5613df0613deb84613d07565b613dd2565b613d07565b9050919050565b5f613e0682613ddb565b9050919050565b5f613e1782613dfc565b9050919050565b613e2781613e0d565b82525050565b5f602082019050613e405f830184613e1e565b92915050565b613e4f81613bec565b82525050565b5f602082019050613e685f830184613e46565b92915050565b5f60208284031215613e8357613e82613be8565b5b5f613e9084828501613c0b565b91505092915050565b5f805f60608486031215613eb057613eaf613be8565b5b5f613ebd86828701613d4d565b9350506020613ece86828701613d4d565b9250506040613edf86828701613c0b565b9150509250925092565b613ef281613d26565b82525050565b5f602082019050613f0b5f830184613ee9565b92915050565b5f60ff82169050919050565b613f2681613f11565b82525050565b5f602082019050613f3f5f830184613f1d565b92915050565b5f60208284031215613f5a57613f59613be8565b5b5f613f6784828501613d4d565b91505092915050565b613f7981613d9f565b8114613f83575f80fd5b50565b5f81359050613f9481613f70565b92915050565b5f8060408385031215613fb057613faf613be8565b5b5f613fbd85828601613d4d565b9250506020613fce85828601613f86565b9150509250929050565b5f60208284031215613fed57613fec613be8565b5b5f613ffa84828501613f86565b91505092915050565b61400c81613f11565b8114614016575f80fd5b50565b5f8135905061402781614003565b92915050565b5f819050919050565b61403f8161402d565b8114614049575f80fd5b50565b5f8135905061405a81614036565b92915050565b5f805f6060848603121561407757614076613be8565b5b5f61408486828701614019565b93505060206140958682870161404c565b92505060406140a68682870161404c565b9150509250925092565b5f80604083850312156140c6576140c5613be8565b5b5f6140d385828601613d4d565b92505060206140e485828601613d4d565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f614122602083613c67565b915061412d826140ee565b602082019050919050565b5f6020820190508181035f83015261414f81614116565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61418d82613bec565b915061419883613bec565b92508282019050808211156141b0576141af614156565b5b92915050565b7f4d757374206b656570206665657320617420373525206f72206c6573730000005f82015250565b5f6141ea601d83613c67565b91506141f5826141b6565b602082019050919050565b5f6020820190508181035f830152614217816141de565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061426257607f821691505b6020821081036142755761427461421e565b5b50919050565b5f61428582613bec565b915061429083613bec565b925082820261429e81613bec565b915082820484148315176142b5576142b4614156565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6142f382613bec565b91506142fe83613bec565b92508261430e5761430d6142bc565b5b828204905092915050565b7f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e31255f82015250565b5f61434d602083613c67565b915061435882614319565b602082019050919050565b5f6020820190508181035f83015261437a81614341565b9050919050565b7f43616e6e6f7420736574206d617857616c6c657473206c6f776572207468616e5f8201527f20302e3525000000000000000000000000000000000000000000000000000000602082015250565b5f6143db602583613c67565b91506143e682614381565b604082019050919050565b5f6020820190508181035f830152614408816143cf565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f614469602883613c67565b91506144748261440f565b604082019050919050565b5f6020820190508181035f8301526144968161445d565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f6144f7603983613c67565b91506145028261449d565b604082019050919050565b5f6020820190508181035f830152614524816144eb565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f614585602583613c67565b91506145908261452b565b604082019050919050565b5f6020820190508181035f8301526145b281614579565b9050919050565b6145c28161402d565b82525050565b5f60a0820190506145db5f8301886145b9565b6145e860208301876145b9565b6145f560408301866145b9565b6146026060830185613e46565b61460f6080830184613ee9565b9695505050505050565b5f60608201905061462c5f8301866145b9565b61463960208301856145b9565b6146466040830184613e46565b949350505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f61468c60028361464e565b915061469782614658565b600282019050919050565b5f819050919050565b6146bc6146b78261402d565b6146a2565b82525050565b5f6146cc82614680565b91506146d882856146ab565b6020820191506146e882846146ab565b6020820191508190509392505050565b5f60808201905061470b5f8301876145b9565b6147186020830186613f1d565b61472560408301856145b9565b61473260608301846145b9565b95945050505050565b7f496e76616c6964207369676e61747572650000000000000000000000000000005f82015250565b5f61476f601183613c67565b915061477a8261473b565b602082019050919050565b5f6020820190508181035f83015261479c81614763565b9050919050565b7f57726f6e6720616d6f756e7400000000000000000000000000000000000000005f82015250565b5f6147d7600c83613c67565b91506147e2826147a3565b602082019050919050565b5f6020820190508181035f830152614804816147cb565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f614865603583613c67565b91506148708261480b565b604082019050919050565b5f6020820190508181035f83015261489281614859565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f6148f3603483613c67565b91506148fe82614899565b604082019050919050565b5f6020820190508181035f830152614920816148e7565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f614981602683613c67565b915061498c82614927565b604082019050919050565b5f6020820190508181035f8301526149ae81614975565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614a0f602483613c67565b9150614a1a826149b5565b604082019050919050565b5f6020820190508181035f830152614a3c81614a03565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614a9d602283613c67565b9150614aa882614a43565b604082019050919050565b5f6020820190508181035f830152614aca81614a91565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614b2b602583613c67565b9150614b3682614ad1565b604082019050919050565b5f6020820190508181035f830152614b5881614b1f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614bb9602383613c67565b9150614bc482614b5f565b604082019050919050565b5f6020820190508181035f830152614be681614bad565b9050919050565b7f5b66726f6d5d20626c61636b206c6973740000000000000000000000000000005f82015250565b5f614c21601183613c67565b9150614c2c82614bed565b602082019050919050565b5f6020820190508181035f830152614c4e81614c15565b9050919050565b7f5b746f5d20626c61636b206c69737400000000000000000000000000000000005f82015250565b5f614c89600f83613c67565b9150614c9482614c55565b602082019050919050565b5f6020820190508181035f830152614cb681614c7d565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f614cf1601683613c67565b9150614cfc82614cbd565b602082019050919050565b5f6020820190508181035f830152614d1e81614ce5565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f614da5604983613c67565b9150614db082614d25565b606082019050919050565b5f6020820190508181035f830152614dd281614d99565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b5f614e33602683613c67565b9150614e3e82614dd9565b604082019050919050565b5f6020820190508181035f830152614e6081614e27565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f614e9b601383613c67565b9150614ea682614e67565b602082019050919050565b5f6020820190508181035f830152614ec881614e8f565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b5f614f29602783613c67565b9150614f3482614ecf565b604082019050919050565b5f6020820190508181035f830152614f5681614f1d565b9050919050565b5f614f6782613bec565b9150614f7283613bec565b9250828203905081811115614f8a57614f89614156565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050614ff881613d37565b92915050565b5f6020828403121561501357615012613be8565b5b5f61502084828501614fea565b91505092915050565b5f819050919050565b5f61504c61504761504284615029565b613dd2565b613bec565b9050919050565b61505c81615032565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61509481613d26565b82525050565b5f6150a5838361508b565b60208301905092915050565b5f602082019050919050565b5f6150c782615062565b6150d1818561506c565b93506150dc8361507c565b805f5b8381101561510c5781516150f3888261509a565b97506150fe836150b1565b9250506001810190506150df565b5085935050505092915050565b5f60a08201905061512c5f830188613e46565b6151396020830187615053565b818103604083015261514b81866150bd565b905061515a6060830185613ee9565b6151676080830184613e46565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6151cb602683613c67565b91506151d682615171565b604082019050919050565b5f6020820190508181035f8301526151f8816151bf565b9050919050565b5f81905092915050565b50565b5f6152175f836151ff565b915061522282615209565b5f82019050919050565b5f6152368261520c565b915081905091905056fea2646970667358221220a8e335bef26e0a1415aac7b75bc79c115ecf6c7df2ce86115f0bda3c689f6ed664736f6c63430008170033034f0008dcf57f4bee712b5710c215a775d9f1d2c5f91ba1bdafe16b018729124303069a7fd01b2c744b690ea0bde0d6fd5ac90e83be5fb37bc40a3c1736b61b36f30388139d79c3f79a157f8f0ddc3106ee2cf3f6844429b62e316dd0b361da24dee003ac6536a38bf2396a8bccac54802a4c0ff87e4dce56b2264784a1e08c082a7da303a93a5a2321f2a87cf6ff53271e68b411a2ec734c83ac289b75757e49c1e441b8035081373b1983bb226804260844c084dc85f33be4b94b1c17f891db994d26aa0d039314a5c1522083c0044e0bbb31ba258aa839cd25c353909e83072fea44aca53d0390b6b162903b6c76d030b8376e6f4f2b9a98952208a93037d14beca29658dfba033d2640421e50b491a41c83a71bfa390dcd2a9801e94c58095ad29f01e1a270bd03be3e89b49a5a0c02d8a1ad08d136d1b7faac3c70ccc92bc979eebd65679eec03037d61f99bfc79abfc65740ef0b51d3117e582b3461c4d58e3a6b2c3299b1d67a1035aa87e94d191c4a08e42ddd44fe5a4311d45b406b3dfc6fedaeeecfd137eb6c40350b83d88ead690c88ef080a5b58dd6113d245dddd1994afcf3ecc284194b33b003b4531b1f250ce4799ced3633e5c3d73c6ca858798ec8f3abb76c136ddf9d29ac0394f317c378e40d4f5abdd9a7772cc2b9c2918adad0c90d5fa9960a52056a3dbe03f2384b5afbfe756e3131263a1f0a70a0de1c7873a16eacb0aa5cb437c3606a240340c9bba4354055d94ecffd44fd6c2b5615c62386317b2d2a95f82a588f1a35890362fe276c00b3ed3095a594638dc9257c91fff371ae0280d0f56a7df49ac058ed0376242f88aa2a316a4662f83ba6c1ca7802fd6d537ddce8c6b5e1c99c17a028a5037b8836db4dd106a908932cdc4558196045ad1c13aede1f79e635de2b8aeaabf703c726e13563068cd2b8ccc7753b97ef7c50eeddc1a08c0f9ca4e34d9685af246303738632bcaa526d938790e69cbfa41986ace79c28ec1f7bc7fb9b5a46882e03490301e83a622e6a5fa6ed6be25c710e1d3b4e9bab3173a7172568138a869d4bc571037c16c8a98334b955b2317ecc3e6d541195867cbeec0caf8090c5ce2f967f202600581f02d8207ec0f2eb9477e349d92894f8f268ee88600777f218f7d624b63f39544942e365f36940db742700581f024e4331fd3b0ed16a1c1917f221a1d809686bcec39c9291c567483ee383385820ffffffffffffffffffffffffffffffffffffffffffffffb86ae2975bf820f15300581f0235a41b7de37a51faf841ad48716722f5272e3c801b9c8d593747eb3d8fd05820ffffffffffffffffffffffffffffffffffffffffffffffc20de376983b632b7003bb8c7692f816f1a3de1b38da175fa13bf9e2d7ddff87c3c705018a8ee49ab92800581f0283c2b4646640a79dd5262e5decccf966c26b234484dafc3f277a9b52937a5820ffffffffffffffffffffffffffffffffffffffffffffffd7b27a711c11a7e414031357413455a9e8def5a5bb76d4ac260b33a18be197bd885cc8a7273c6f10dfe900581f03dc9728dd8392c7c854458fe997556d9d94638ae4b611a19a6f2f02b3ac205820ffffffffffffffffffffffffffffffffffffffffffffffbd0b2d930c9c17296700581f03a17a2ee6bf5a3045b069f30e1937d62e380ed68f58de87a5971c6b368ed04974a1e88e3033fcfff000581f030a15ee483a2b944d3502b4e6abd3a57d8315c4e321946bd06a6c4fb9fbf05820ffffffffffffffffffffffffffffffffffffffffffffff77a59311796c1323440219902000581f021b7b19c2dac6abbcff7c6715dfc92198501d85242136289562834015b6cc4918379a3ded76172e7f00581f0265254c4fbc53387b2f5893dcdbe17c531b120fedab1e19da90e6c4ac78b84909faf484fb0522e89200581f02ea9129ead73de182aeb63b3fda9533cc0cac6de83f826caca134bfda6985490381bace2cab110207021966ed037469c61c702088185e2f08ef66df2bbdaa390d682772128599ea285f60a1899c0351c42f38a5d6d132938924ce0d7c57a1c4557b49cbeb11e890a49119117001bd037232d98c5319b045a204e4b8c3d04e9c71c3b0eb3d3ae3dcb01c15da7675b98103553b9de20585dfe49c9076936dc4f62be7f5080608039131185660d5b2e5380d03443a5fc825e9c5c594fc0208d4883686a190095d45c6e9ad26900ef59148a45d038527e2df0d698837ff75140e3cd40f0bde3f8d2ca4cf4f694acbe514bee60d260219ffff039b123c7155336062d906c7808e08b1d69095a08af7dacc63bf333496859b15640219ffff033e3b16c706757432bf17beaa8a14aefcbf4061c5b99bef019c37983469c605360385343ea9f35f4f607f691101dd0617e8041d1e5a6e378353d3264400cee8d17e00581f029e51f4f68a88d110c43d1a802c26d02b6f3bff096d91da3af72c09a114dc490bd103aa441e7739d600581f0216602e0ac8e4fb7aabefa9c064d81c5ba0f183b3e0fd7f642a9d420219214a018f9e94595152dbe21500581f02f425ac8ff522a5530238b3f55f012f8d7f08f90ed8fa3be965ee27abacf84935de4f23767be2bbbe03fb541bb9ec73eedac57b8b0d2b487b1ad3cc831e1140076666e7f4d3704205a700581f0261d927992f02a215c471e44b65fd4ff6efb6b83b7f9ea620f4004c8e666a47089b9100a4394a03e1ffa411227310f9c01c0888629121afd21f699d35d9ac0d698dbb8acd30725f021939090359ca7efaa57c4ca8689a5c466fef53c954b5078b3eea19e0d41c1562df1ace3a03d8e3d2ca9fd71daba4cdaec181d4f205675eb9ba80082cabfef75c33e53fc821032d92f22b029f9267277af6eaa93b5ef960697e28b00c931664a3e17217bde02903f86304f4e63a8416cfa389636905edac45ff2730687b0db77b231e6f79f9f29a033ee46803e2dbaa4ee524a4825c4f4cbb160768cd0d552dd78b52ac3ce67e4d24039b300cf7597286c4afa57873c34d89142401536da97f46206beac5b555ee95d403ff2c67b02290efc120bae20557e37a791a96886d8c2474b69c2168384da2179f03e4a6516e61c4b433470a4cb6cf9e1718f3e7bf0621bfb6e76ed19e954ea6a8c8036d4f9cda09356a6879b469e15fbbab518c804b84b2d662a3520edba34906c83103db792ebc141f15e3c2be518ddf287c93114d4ca079f7941328e01130e476a64f03deec6fc2eee294a79886f6a16cf610c85f480c0b52e9551aa818f72cbaeb1b35036871bb7fc3e87f783ab67c3888f97ad16554bac688c3903b4be4ba1762e3c9b103a95ec02d6d388dd44adc0141b77c315d991d78e6d52ae17170f4774021005d6903dc039dad13af376b82a17ff697907b27ca1542e4b91a7ded7507cf933c694f4f0219ffff03f3aadf92ee247a0ea948ad93e454d86ff61fc24129a1b71656b0d5bfc3f5f0870307844f09cc90a6613191bd05d9e8bb001a7f24f916cc4000ea25260e5eee340d03e87c6d0161c33c5b8d2c952bb1614cdb6f579bd0ce0a226436d50f1b73f3c93a030a185dbb1a2fd96f090b650ecfa242c4b1007dede1b259759360f9b7b70e72800340a09a8f8c2cb8287d0674c23c28bfb2204037b44fd485f294f3edc51b59cac1030aef148e3dccd9029c0037b3df36ec4deb380d7087fe04aee4a3156551a3849a03c35f4e27baf34e44836d9155208ce01f1a4f2be4d155544f7ccfc06bc8a8739003ab8a876cfb4d9efd74ce65cf9cb82b56bb34f546133580ff6bcda7631cbfb1ce03ac87b4095ba5835cf055f02b135d44e20ec26f2362b74f637124eee8536eed86030de05455603925e443f2cc0d9546e7c2eba406d37d887a497fc465fb6349437e03657c16a6ce449f47ac7b2c677d2f25dbde76a44239d7ff9b76094d39077dd033037ed8fa6459f20e0684cbe1da079931f6d7f4358aaf80dfaec9fbba1bc4f216fc0327fb5408ff13c31c2a005dce9fa1bf272bfef30250d9baf9f89eda2e56aa721303d0cb3a3ab53886722650ffa5eaaae49fa06f82d74c4f534630815e655c9264dc03c5bd43fad4778788be3ced26c160230ad15d066c520e7d7ed4e33c2912cfc80f0348c03da5ccc9cc3890bf79ec0f340be753c66366ca1bcfc5fe183a00e85a0ac703f6455bda8c35ebcfeed67f10876c1bc7d99b9907b7f5a53acdd16a47d124bcf603f6f8daf3f2a63e4337a3da485042b2cbe10aa00b66d0a36cd6062ecd65fb5289034e446767e7aec1cdff96e556bd6a344db45c1aa58e391a57856c44fcd5697d12032121984f3bdce68ce8ecf0458056e11fbf52d278a7d45e88e10a6a5ac2d049b30306c1d29a9a3b92def121eb4369f7e88b48d3e42fb121f1ebee1f8a8e899ffe5b030bfe8b82844c77c5834fdf3c252fd2b84fc253acf1e320b404cb13a6bc0a9fca0319b60587a0d81e1b77fe6e90c9a471709e164406fd318998383692a5006a716f0383003c218ea1331f51480f224040c6d55b0c960234135ecbcd9d963390557ef2034db3bd72b896c2864a39368cc94c6783972854e51424112b40e8b0d1362576750332c5ac631175a188cac900e2fb5045f64f3f7905028ff6be6b595cb2182ceeda00581f020027787c648ea4082c653f47bc7cefddbcdca337559435393884da3128604a015b07bdc5ac2f97345600581f027fca3d530a531d88a95c3de5b1fe34502fda966049ca3a0ba2402ddf356d49d0e5c270eebce7c2570337ad6d2652edb458d549316b15d83cd7c029976d824c17d3647294e537eaa59700581f02f997f7edf61f11dc6c996f5cb12ce818d6272c6d5e65b1e1880563b190a74b012b5ffc10a00c751e433300581f02d3a698133c6b434aa23d88c47f07e426408f425b4786be6d2ab53af3cc1c5820fffffffffffffffffffffffffffffffffffffffffffffecde6b19ccb16129a4600581f02c7c4f5a946bbd245e3611c2f5cabd7432155247164a7b31a9d2da58ffa82497ce216c763f64a365300581f022ff5c8985931be5f46048a9a96b6ce7101dedca000a18454e64f60fa1d735820ffffffffffffffffffffffffffffffffffffffffffffffe01fda86ab0375638000581f0260591f13fe23730c3e701f1b45766111d0612100f3e36e2c06765fc521505820ffffffffffffffffffffffffffffffffffffffffffffffe0fd86ba8ace273da700581f022a53676feb80482bf25801b24c6942da9ad527eb736dd8a2fb96dc22674f497e2ab16c46c56dac3c00581f02ad064264b9c6229fe72b26b25d0152c32e0498aef89405156ca313f429025820ffffffffffffffffffffffffffffffffffffffffffffffb8149df557b2950b5700581f028e386293daa8a7d755e78398c61d9ba15da83e694049df3d187ce27d72154a02e6aa8c28df4dcbd3720319f8adfb66bfcaa6730394bfa45622b85776f2787a11dbbe8612d8edff31a8630219d7fd0219ffff0371f6a5458d2f6995fee7e8861d75955417419c52426e24d035937349ff326aa00365af40d4a28479f6d14ff1a13a5ecd690a989372024f6e2f886aadf674797c82033fe465214fe80db641244bb103fb76ce34e5c4305a817ed1a42644eea5ddc88c0219ffff033a4ab37affc91e5957532703751be4346543687c6f35888219695693672d62ca03b24e3f4342f92d78a8fd7278f7ff021ca2bdb2ad5dc4d6dfa9cdf76dd804a9d2037015a8199939b97275cebd8b66d3f14371f7feb7f4485f4e009c093d649cf2160320b34a2ad2d68bc9bcf80101aad1606a27dbd8939318d1e7c38d85862f3a4e5b0343e5f8cf95706736d1d2fbb57977764871e2de4ddbc9a41c17a029798d90632103a1318b08f1b17a971f1bb0045d795ecf57ee487180f353c79c002a2844826d3e032a6fcc61504fbb33604f9190c5b2620e6f1590b66a5c108d6f011b1eb551781a03d304a4bdcf06f7cd5caeee3889e3ea072c7c7bb5ed7fd1fcc47e8946d1f66bcf038187916706ee68fa375b7c085791c8ec437471da13073dd13bd7be159a77334603c17aec8d65a9e430e1bbab5209300fce8c1e73f0bb4f86ad3e68b3a18676f79b038e0d6593389be68a2595658d00ba31605aad48a79782828b2d2e0f2de6aadd59032c76b3c0036d962741321fc68feca1d43dceaad81111417659371c2c38af0d3003ab00c2a17c8842a66f32054d07483c0e287982e3ccc63e82d9426f72142d38bc0376ed690f0846f8d92372076edddde5097680257d4036be53d02af2dac1cf171300581f020acf4d02fa8069e2523a58d02f88053a77a1b0030374ba1ae1075eee3053410103756fb8775150da6f82849d85ee884d21d12f44c8621568a695dcd86a231d832000581f02c8889cf593bb4f10f014b58d033cf35a5cb493f613da363934af262df57349107b100ab43f970eba00581f02bca37decea779eb219ad93415008fcda957a591ae33cdfd709377cc58bd4491abf29dc06dc3f4d6100581f02c5796dec543942a7c1530880591fa9e7d0fa70ab7c37397186111088f0624908fc5f23b598353f6d03acd806ba950d89e875e390671eb1ead6c965a2236763228ee775104e1eaa978a00581f02d02ba035fae24f870bd8f8eecd20beca7d58502a5ccfa95d848b9c9ebd5749792ffb8d9b1decbbf40312e0dfaa30f30500b675e5f802e6c9304ee9314d73aae955026b3df0a9cd06e103f889ccbadb59ea7ae2f9319f878bcab3cc65a0e143aa581de620112324a670d00219ae47037a90368b4755dbaf31e0307fa42c2b7a73a7e4bb064f5c250d90790748e86ed30315fab300ea713161fb91d316ea429496d50e819039c2c086a0ee334c062912fe03321bb9dd86537a7aa9ecffca84e7d7e78fdefdc661828e4c6038cc74aa4d932803a3d57c1d26173f06bb5b5ddec53875476229dfed5edd315b03e6ae942d3f6eaf0333b1bd4f6675674310047aa6cc7b5b6bcbcf16f35a64352e691d8e8479f9a4df036c879f777888744b39e7f5489b2368b00766f301b258c54a7e2be09500396c0b032c6a8189fb0134469b34f805b518829754ef70d9a92c020a2ff7fd03e7c506cc03d6618d3f4c990d31020bba418250d6eca0fb06e279f753c1e74f3a0c8292bdce035178e6b4fdfa3e0e2d9ef1967989821d8be829e61e466f8bbd38ac46d8c45a2103ac826af2ea06acb2f4fa602fbe169566dcb287e1b4982313a3342640961ef19703ce7fb58c380b94802b09cdb4e167bf279dcacaeee6270135e118ef0e57c4e30603ea2fe72d6a1b3790ed788e056177907f22547b60952278db074636721792726f031cdec2b974f0443d0c1642303db02e8b50c5db6f0ea582731513580a195c33110344e74ff9d41b79c64b05672ecf7387e4ad21fca3ea3a1b2933c753658ab985680219ffff0326030fff27911ce294628e577164b8a50b382bf795992f8ade6c67b0b03d423103a01b8be641c0bdb36cc521264c3dad4a1e98e7f238ff34a7d4fe3b3788c27ad60219ffff03d2c3e65fbcb05e83c73ddd179dba6d2140fea24a305f3e0f991221160fcbe7bd03291ceab8715f48f39bdd8f60a7ca56dba9297070f13ae8d86148de2f5efd72e10303821d7f7cb0508d70a2966682fab1b944bdfb8f981924ac7aae2937a88e9534032636645e300c44a3896135449507bee802cb779d61aa60cdb8ca1915a5ec879c033c9f86ed66fbf74dede3e16d02636bf45dc0c9da75d1f8f1219783e102c478c20310dbb2d9efc3f9eae0ea0b68f7589d47dcd2825dbf5dca7500c7be50439c215903681d26423aa2697be310c82f143c616962fd98a4ce1141d9cc42a08c85b8bea7035d2f3b0ec1c0af07e756a0dd1849dd767341c905c1c595240d16f83aa1ccc6de0395ffab6f08c85047dc65fe659e2512de95c1983c4ee9a592cf1a8d7de41c453e01410e00581f02fd9591f9eb578533963d7b76616eba62ed777da35e258492092fbfa1ac8349131228f200994de11d00581f03f48d68231e5f5acf3e15555504915804615ab4e015b10aad8ee3f6344ac05820ffffffffffffffffffffffffffffffffffffffffffffff93946ca47442bfffff00581f03025f78743b3099e08a6832aebb5f627ac063c66d2fb82795bf7a10641a70493e27339cbe8d38101a0218c00386de7546d8bb94623331a82c35045c23c78864c01e7363a52e637a87c94577a000581f025c208dfede2e73c023ff32f027d45ce8e61484ffd1255433be3c71c4bd9849140da177e7277c106600581f02919eb9f07ee2c991def7f567200c4e3d893495bc1826410ae254870f72f74910990130ca1b0f19ec03bc24efe03a06cff0c7d68c22d9c31ebcb3b069998191ed74b808ba82a6b2478a00581f02c76c9395c58dc4016ee968a4d7deb1eaca381bf8ea58d90b71c038d3f005490823c85c4191fa07a60371fc6ceb7b33d21953e7fe6af217ebe18e64f3eebd9e54f5a422afb9681a5d8000581f02185729f669a4c30f458947beaa20b2e33bb3c4c4a678799452143ef6d952493a84114d7a4a504dd00219ad76039f42333a3847bfb8f8b9383a91124df901a89826d04ee2c2f7dfa7b392c0c9580384c0851a94c91caaba8dda4821c5bf5874e363400d192fadab78be6d39d97b4003bbc75b7dd398e4dfd6b29a6f3cb0b59556565c59524555e831e371914bf3f32b03c8aac961a9c1c22509c4360f97551266d35f422ee7d3b8e402c9c9041538391e0334c12dcdd21ba7aee5bcd0671a89560495e76f2380f3ac00cb9e5e385a7e89ba03bb2c9a2eca2c6f0e005ccbe12c68fa08cf59ddf4b269b0350bf2c35ac45fef3b036e2e416936d175aa6c0efc64beeb16bff3cd347f6e23a90b29e8df51fe586a1d03bfda05a773a9b98f3ccb4974e5fd914365ccbfd9ab3c9377e525537099ff363b037ffccf0eec291cae2fb5aac669045f4109c401626daaf71bcd771c9300fd416b036984f011831a33327dd7263a5a70e17e434a19530944ba05458c689128f2e30403e92ae69aa47e9c762625e796d6364a98d9ca363cf5b6a33c1cfb63807f1781c30395c0045316f0e2007bfc980c270d5f07b152fcb68e052ccd21e2d11045ed9cc40219ffff03a88c2fc90aed8d4c297479fd6c3c745b66cc76be732715b9979dbfc45f385a320316a7c4a4cd2f1ad429c0409cb4403b77b97fde0ff4001e32fddb1ed8b06b4f990344782cee2f581cefbcc2b749c0f446b1a3137bc9af65f9f3ca111dd084b0e91003373b743c1404f319eaab173b0f553d677c47f0b6fe8bb82b6bbf7f005e38df8303036265ebf81963458cbf0228642029374289907cce7747c923c5b0aed0be0053032ccfb33bbad5cebace9d1e7c8c2dbc36d54bfefa29f8d728c8624abf09b57ca8038e9280f6fe7a9f7160ca262e4ab46a6e39db1612b79b060bddf1f4c50bbf0d3f03ad95233b85de0ab80a5a739f44d682d076fd79f3fadc47ee40cae3b07ae9688803e080bc1b66147c1544866999ef1d7f2a01c55c8753a04e44bffd891700109a9e0313b063071115317466d915605cf951018afbac2218958c034dc8d02fdea18cb20219ffff0354e49b43fbafbd12e6415d64182c103c3d26cbeb994ffc932a6d4277b31e28840319237c786c8a5785690ad4b8e3fceab5c28af50cd5d165e13dc740e6e7741fb003472e1117aa33ebf442c65ffea365edc4b30edeaef28c98eb805201d552f2d4b203be4a1d5eb31830fc114cf458fd4c2cc1b6f050619c8321c1f47fba38dac4dec7033df03db40b92cfadffc63e6f60fabdb8ad4f2b0a87f08c7863196cee3ef863930354ce4c3eba0f4a7dceb90fc5dbdddad35d8a9f8efaf17131cd2797c2e75fe0e2039bd1425fc2caeb7a7ffdfe12b6aafbebe5608a587652ac9f56c3740b9b09d3f1033a1864b1190cb42b83c5d7c3d3011d2f2d1283694878647123e745b75c26c0a7035ddecb50b42027fae9dcda47963d02243242897c77b88c3fe3cf02bd6c2512c6030097993292744ea419b61903f2474199fe79e62c45c954d52580a6ac93834ed7033c40fb22668742521bbd3e249ab79aa4228f6ce5da8b933f454519de92dce1880350db66faabb76a43357a7242190b9eec11e6441afb7a9c355ab542aa10a4dcc603821cd9473c3262995cf3143dfc16de0323920af5f23e0a8d91e5b8e78ae49d5e039e9737d9b3613a5932f28bb23fbf65135ab4fd7e354b90ffeac8ff207337230203e87b50e23d3961f82d01fd61f0fa3c3c9222ab1ac522b889570402d4b7a217f9034c32d85b8465771cf1813f68eddd7d6576cb938faa291e6e3830ff6171049fda03f496a9daf4ef7cd3f50780916754d4e276f19692c96d01619551553ac2127143032a668bc682971ee3c05a20f60f305240808aaa213dff1a9b7ea57bbfcc4290c603a7a68e7a04ea143b92d072ef1c57d78bb23de9e6bf27cf9e6379f9ea17f23e7e03bc480333f1df5b4ab601097c9dee7ec46c2cb43856b1e6f7cfc69b65528d720900581f02f9baf47aa5f571438cac4a18f48d8fd8c056f033b5634aee33fa774ecc7149e46f1a1ff2cd23017d00581f02c72939dac279b88902201ed49ba5c00a935dbd06ee3164ac92776b8a71e8490fa2827affa6ce673a00581f027f8e128efd61d40ffab354cc7970edf9045451ed6909053aca26a22ddb85496d3c141764fdf024ba00581f0297c6c9b242578d415cc071df80b830907819ce4d2d01def2fbf2f710fa564912a80258938888be9700581f03b1e79c114efcb851d16b5557152a73ccb6cda5b2e5786d8171beceb833c05820ffffffffffffffffffffffffffffffffffffffffffffffdc380a058ddff1bfa900581f038fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47504a0578e52906c1ccc3289500581f03d011e0f0a19487ee91ffeba3dcc03ae6c1b24925c175bca7b816ea6a2ae04932ab2a6894079527af0219011403e9706da87e909a490c035d0a6537cb1d97d7cce9992a1eee4db98488d3810ae50360075e2071a50b47c45af34514e3781d362cc27a2603d492a87ce3d115d1e1f100581f02fc11b29776f32a8b81c3ab1ed244f7dccb2dc5a2c4956c0d1ae1ddb2d4605820ffffffffffffffffffffffffffffffffffffffffffffffd41faee1cc62bf57e700581f024cf17f600752c6ce5711e4860d6e5ba78d7d00bb5fe696c8de06f6d47181490d8f4d7d5d86168f1303a8b0d38abbbead81c55715448e0d4fc6636bf6970abb3b452708d50b4ee4e159021925df0219ffff031cc834f6fce9d3364b55614dec67d5676bc92b7f9914a928afdc30a6d9a43a21034e753f5acd54f6b655a230d07d1e5667dd16e9f4d6e8888bf160323ce1843d16035c5d4ee733ed723cbf06bccf5960c0d46e5f9e73a7c839d51d79d569b3071bab032f3203398cba8330cfe93762de9ce50c0e5d23d8b859d676fc695a3acbf751aa0386ac111cf8b1d151a647cecdd5efce810b5ded0bfafab21c4f7955fd6361231303d9169f38f5b74851aaeeab109e893e8ba6c73cc5cf6402ab3dd07c2183814ad703605a435ec017e33a290fa0ecbcb6fe5e46f70fb42926a12712637e1428485cb703f00b86fd97eee317e915d752ad14b85b5d7ec2bb877bdeb50a6218b42c5f0520036e3366f51780ee2a88fa548307eb9c60e9401a182220c6659e5f2c2a7d02e4930363b05231f29265a6baa4d5e05ce25bd1fdd060c18d9085fbf9e9923b33418c300219ffff03c821513131bcf357a6e776b3ad70dfe7edceb7d5c03c734e0d1c30642f0611aa039ddbf9e3fdbadb97f7b0a60f658f8c850eb1be0600bf6b77159f5c5b69dcbca80351b462d4452892f9e83facc7ffbdc9108b3adba42067d9783d01e9bea2f3c05a03a3b1bc7cb47d46836ef0cffde4b22c99cc3245bf1eb72f895b663a8b245c713703efd837193a601b709ce4e1e444bc852ac7020bc1bb4ad466120d515e7edc7b9b031290e9093487e9a3714e77e14aa9205a37cbc5ff3c5aeafb6893b06e1504c44e031a90bf4d6b1f64a1bd04ab2e25b3622da887331a7202adfcbd3ffaf47eae069f037337e789ad8a6df95709eaa58f8c344d604958928b2a45bef311631b006917b60390db56a85bcf523166c3fa2f92b37d82890d3a273d3bbadf9fcbbde24a5b4e5d0371c2cbc9a0a56b836a9a5cb6518ec8e62734f07b7a5cd6f56f4c3b3e947338d003918838926adb4236a6b0eb04339e9593fb7eaad1ff6607b9b17dfe4d7de803aa03d2745fc26143a35b9f10072baee112482e443cc6c5fa978bed41ea0ad4a7818d035cea7ded981c3b91cf135a503ec13f2df5b6d98089d2a91b77d62eba0c4a36160311db6978e6f1923c88d292ed4f2ff8a40b3f00b5e394fa8a9e7511102ef02bd303742467b2db4516ab29969b8f59ebc8f2768535ab25211ca98bb6ebad06b645b003b49d8fce12322209a675a15dca51917032fe60a9aa0d54750ce31c15967b51090345e2cba9d9e646959882c629a56979f161a5135117e1fd4ec1dd6f1b18a5408b030d317a23a16aed6bafcb60b62c10ce447c457309e741314fd3aeafc1b77cea8603fba0a02de1480366c41208f10ccb29a1eec7c6d7021ed174e62bf2ca4b60eaa700581f02effb9c4e895da3f66507f8179568db75c6155f0bff41ebb1aaa8f8cf37584904bbc66f3d659c9b7300581f025f1956243025b2ee32bff9cbb6f05a12f619bba2729af78a4e3019766ab75820ffffffffffffffffffffffffffffffffffffffffffffffd898b422d27b7533a300581f023e9c31587a215d6d0f6279fb70be9f84f4a38069700301764ce4bc85699f4903040aed5562260bae00581f023fcb0c5166f334905b446959154574d401b91b6bff2ee0126f70cc8f81514a029846a16d8eda9adcc003c20913af094bdd7279a8837a9a70ac065457bd1dbaccd4a244aafcc4ff601abe03f666b8602521b4a7ea8fd97d255787ce23dd08d3fb229ac80afb8fbe1ec6d43400581f024c824dfa6831773dc25f37f8c90047f84b4b4d5f9af47b3275f07182411a481be21cc13ab7000003b9858ade940a0541ce22e417e75f707776ed662f407e8eb01dbdcaf7fe1c847400581f021e4c295f8a1357359e20a6e448345d39dc09de5572f8041e79e0a83c1ee05820ffffffffffffffffffffffffffffffffffffffffffffd6ef21be992bb236beca00581f028ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090410300581f025541d3f04159d8c1836dcccdafa563a67780d67cdb12bcef4bff52f486b34914de61ace2268635440219c7ee033fcfb93c2c43ed84d1a85b66c3ba1aff264a7b039a80ec9d3505e1eee48e6713030a6de89e1b953ed1fcb99ec05c356adeb33a5f7e4456ba344ebda7f80db51f7c0219ffff032e6798c2fc4a21f788cc7455cbfcabaf99993b5cf8184e81ff60a30e26df351c03352b732dc3802a3d580b8db751587c693842b743d714adc1c3df8da7c6d8e0480304064d4fdd2e11f4dced186904dd2e32016fa4f499a49e4c47c094ba39ff800c039d688c4b263434544aed5a24da274e7f3b5e39f46d627841526e516bbf85db9b037c68d62946ded2f7d074db5d5661cb0470d4ea9987564c4fc0e0944dc292f55103895783630c16407b566872cd22226296cfc9f53685a28929bc3506c0856a8df3031e5776a35329d114e5f24bf82d399e96f21c55e8fc264215647daf2eb7487e9803a3877770673d6ff8b68b07ffdc775546acf1a8ebec011fc17c24531a44640da903769dd957e823c54b6598171f1276784c4a9b5b5eeb36ba0f030889491bbbe3ad03aecffd121d88f3d06b22f53060aa0625d6330c54adf677bb404de6ea8d672dc50330427167dc2049708ea2afd60908e5e705a890d7c9a330fe169d94011a021766034cb1ca08920d7f108d6980e7c7a559a9eb7b9c15fd9712ffbd552bc3c1c39915038d1d2cf4cf8cc892d1d694147cf0ed27f858ebb6bb454d535493d6c80c4176e3037cfefab72608752f00ba108e3f650a4a73760b875897e577808b225907969da2039aa1bec42249f501449a1c475e92a2ce36d74c0ae157e336fb048b21ac5f85e003f68daf71c9cb69eec1ad7a5b6c74dae57b866954257bd5c74730db99c0367248036a310c67520b0bce8362eaae0bd0407853f5133e3a16107a93340eb74efce24403cd0f9a4d708e30a33ddfa8142e4968aa3d7c0ea792b28612f764ccee01ce4f8f0391f5245131a651becffd978ad71c46a7070e1a867ad4e9b8a2c438ebe4bd2f0c0383cd4f4c2be5cd779b7e26c72c065b6a3450b320d804aba7a104df4ca933ebbb00581f02f7b261e552568ac36e331cab945e212f26b957341c0950a5abe463fdc6ee5820fffffffffffffffffffffffffffffffffffffffffffffe7f141c03d1d76a0bc9034d19c4972e1d8bdac3e6c9f6e3da2bbb1de25cccead31a11a17e7f6b48f6821f034fbd5c6f1687e761601cc2692db0275003d62816157654729252be1a9e3bbb5101410a00581f025c920d20e38bb28ede433e0a07e82caf385e20f4bf6eb22e8b488275b9e95820ffffffffffffffffffffffffffffffffffffffffffffffcf35fdb067846fffff00581f02ee27516e3385d0a8a58d1474567b533b561dc5c55dfc5f59a4da58ea40874910c365a44cfae4a09a00581f02e3a4861bb1d2735ad074004451edf9d97b15ee7ceb63f3c032e18212096f491b8e42f13f8b837fe5035fe02ee61f90c9a4cc26e6189efe888256d1ff39e6a9f46725c5d09c31e05e6c0219ca8503c412541520ae1280c88a1d9685cd48656aa1971641727379ff5623e90593d52c0219ffff035cc1c37b9cde19741eeed4e571ebdae9dbc1ecc1002bfae7ed9190ed1b08f735036f55094662eddfabe5b95409dabd1a886b02414626fd6d0d8d5a307361fde9910219ffff03de4ace60e2b0f9de6214d9309d1a73239f0684b10f116e29488573eeb93856130317b2a6587b34d578238ee3952c5a3adcdce40e4063eb6c53df97253793de982903da8f33d861b0d1cf32f9649a70892e9c977225eaddb9e957f0d361944d8b740503e79c7c6256a2ef19eea068293fc0216ed4a7322b8fe73e3969a3c8a03df10285031e8c28e4f2fc2e69cf0275d8ee26ec4a20ab5bb9f3a668e709277ff2c4780e4303f35a03f36b7cc7661bb1c344964c8c449c695bfeee3bc5db1852b74ec67a55c903866357f6a4a8dd71a78d53fd70c32e7df0cceb3dd29cb685b9ea02586694f5ad03b7bc637ea870b6691eebe739f60fe221a34c4f6f25427ee62dfc4788b1e845b603e41510871e818f10a3f424c608fc271f6e8c59058a2b8d6ce6ea7b1dc96a476a0367b1e5e2923da5ea7572ea2f2cbabfdeb52d2429761bd513c208b4ef7c6e038c03f9291b65f810d930ad91ac821c5060493973c8ed744a72616ac22ca82dbcc92e031846e1c0550e153f4b20ee1b9442163557511fdb0d522e6fccec282b26ebbe5b03bf219621ab7e9b4d913460b6c05631ed3cd669028cb1919faf580e221cdd504b039086ba0ab776b55d295a8345ba14e15c56d05764c91d736ed5d0ece8132859e20371a96dcb148cc4354b8ab1d812bb9e984954eed431e73e1336083b4bfb2340af034e6edd34d054cabdceaf1c8596189000aadf33eab7107e3a0db104a11e404bf900581f02b6a81b5432dc58e9fb1ee83744cb56a3270a2709a8a96d5d428dcfd0c2a9493534456db1344d424900581f0238cc41aa27e6944d7ae1b2618538535957bc65dd7463334bf3ec0888102449029331e6558f0e07d503d176aa2722d21ada6fb57ded8932c4b568f4cf3ccfc593a51db43dc5ad67393500581f02af60b6c9aa97b33cc22e591cd81ed89dd8d34979d25ac4fefa8b8a4904e85820ffffffffffffffffffffffffffffffffffffffffffffffde2cfcab5ca0e717ff00581f02a1b6a42106c61e5b0de6db2abeadca310da281f88d211ebc2f643954f3f649066baf575fcdbf9e0f00581f02c6c7719ad8599780d09e5bdecbe1eaeef362d148a72f026175e407b3831c499b64e831c33a99458c00581f02d2dbc9ff31c159240b07d10efd244f7041b5181ce19e7b9bcf37fac8d565498410c4d1ceb98c25a1032d81ea46628e637736fa70798680b71e5c239d404fa52ad87bb761bfc29de1b703d8df3187987d434a72f8498d316a490d485bf833fca39e32aa16696a851b336e021940ff03aef158b367ab1ed7f1844c22435f6b12afa5c8066cbd8bcbf7a0a7178d1d54c20308473e2262661bfd375625e690028a40607e87414ae11343e6318e442eb6a7da03a2015a07ecf3f4d5b073d30e1c4541f5876f94a3424391e1db18c8f9c73cf3d9038f2d56406839b058e773a4462a66113a94c5411cf557994729fc2b17d1290207030c27e4b647f849ab3781ea0964f12bff8600ae20dc89873108eb288ed087547c039eb18a56e82bf1ce2c7cfdea27f3e520510720ed0f0fec91d41a7d62342e710903b0ec727bd5b2ec07fc6854d6107129413750241285f7b47abb7a7525682f6c7f034877a327cff95d93527ec4cabe3949813b5fb55bad7572bfb24be5aeef2b44ae03166cd22c7fa8673575cbefa212a63e848ced0d1a42187a0366ed1cfbebba8b9c0219ffff0371b9fb3250a980e3a248e62a65740bef3bc21a86cf5bcd33e34017cb9c1bca5003b3301706c7085248d1b46bcb6d8813d82058b4425d02e382c06224b3c1dcb96f03b4c95412b3d2916135d49deb07c82d35d61936e3f0615d79d8dc54f0badc005403e3b4cee5d8cd75af3497d2fee8a735caf7cc5074aaf1c26566b6382bca703b5d03c267ad8808386d74b839c2a10ed5cafdec08eaccc286a55981cd2fdbff5fd2520219ffff03a528bc1cedfef10e972ffa2e91ca1d4b3f0cdcea4d42ec48bb02de4a280135df03a4c8dfc07ff4c3fb738caa4fe0a2b7c190a45a382967c5a9e78d129232c3430003f0652e4a8d0d4a6c1748a054f2a3ea0926668269aa8a660405bd15f9a398a43403094f1f42045eb61512360c1d1d98a3d74a58274787b754633c7d4cb3df413312031faac28499bfba6683dcbf49573ae9775c86a62b8dec84d891a01a678620d34e0311eb10704fda44a0a570d9b96110d35195652dd23fa08a3e76aa02820749638503da5fce3ff24496ca64dfd0dd60959a3fba0d8265fd7089d42e66860665846b5403c985284c5e4886f6cbe6557fe7e5099b5af72d1925f58173b18d23d986f529c800581f027f490f6d4279c5b969525e4725e18e2a7fa2d1112d811770ee41a46f6b295820ffffffffffffffffffffffffffffffffffffffffffffff9e13945046b6a61ad200581f02fd9cd9dc9a6a797731246fc901e49ec425ef1bbe101bac0e604712736eac4932c2d6ff4d3d7bbb5500581f02aa677b968f6cf4bc0996c9aa4eb6db5c0218dd9e36c504218ffb62173981493580f78a1315168fc800581f02f63dbd12150a481908f34684fce4809026f08a8ffc29e0b90f3404a704bf4911a99161433a1e9ef900581f02b25eb50095f778bb2a39e9133eb12be7bd73e45dd09d9840cdce77d22d1d4916feb531f8776723f303c482dd2a56bdda70c4284b7d00213406102462da9f93ea221ea2d980954c074a035feee40c93ccaaaad0c4577b4ee8e258ca202700f7dd80117b1d9d39659eb55400581f02fe5fb24264432b5c91e7b7a35944a43de1669a7b0034a0da7d80b1c1bee2494a2b5bef9f5bd4ab0700581f023e3379b5c8751c4aded0c3bcb342884580f25425f86c37994f54e06867aa49071b252256b2e876ae0382028567cfa3c09b8df313a54a191048650c4277f8d290c1ba8d9483ef86263000581f02ffb61aa911dfda992240fe44fe22e685f932fdc4667cd4e3d219455698834a01bb4983f386b8c0a00003a241451efcdf2af4b53efa8555fed02533b7b1ba9ddcf259c540e43627b94da10219c5ff03d8f657babeb46f5c71b85624d2e1183e97c101edde187c4642df80655273032803cdd12f66c1b03414359f9aacfd42974f4963bb56f3b20d748dd0142c8572c3ba03cc28b517083ecf01e74d83b6ba82c4aa9253c7afda490ec1633b56e3acf2e1d303b347f16fee040cb5e12240689157ca182050dd751fb668c30f00d17a20cb573903c42e8ec7650e4b77c863aa1be9a9227521957f7bee4fc91cdd65d1dfb72ab0a20367da048ede17d9a470585577752e493b4e54c6afe96626c5fe1cc506a7e036d10388685bae7bb14c9d816f44ad6e3b457cbd045e8674ef99001e10ff581e69e27303ad76629edfc71a5d1921fac3022d60ff5c431106a0d1f16c0f34b1fd9ad28cde0219ffff031da6660eeb99560945db1b5df59c2e5dfed2f290c9764a74b6c129e0772d49cf03610dd196c67d8763d476a34f1f9d8b395ae399b00dc73cc4b9c4e2b7bcf58426031720fd81e1b0d87d2da0a8ec607bd70fc4fc62c6c18327a220ecc91cb3b25dee03d77ce74137e53e5fd8997569075dc6ff04243bded5b066ba1b4e6f73781d8aba03f291a946481bef4507e361c239176acb37338615215720f2b0dddc20563789cc03bbcc411555d267e33ab394dff1541049088b8fea905f19c6d3e9e418b8449fe803cbe5c2631be404bf0d09a5460f0f178463462a821b252d7a094c8f2cd711af16039fd36525085d0350ab0c02bdab0a76fc143e6e273e1a2451c7e8cbb376ed52ac03bb0979979cfaf438962c7c2e81e692237c2a2506b52fcd2ebacf8d0415fe0b7b037579bf86430bed970384fc6cca45d371d766bd2b45629e0c5918e947472294b0038c4a9aacba5700232372b586770f2d0cbfeb4c5f09736866c3f0dcaf78f3204b03462266abeb921c434b12872a87819de947bb32f12f9b69780b1ee256fa90057703525ab67e0f271e21d7706054bccf849f0d1f9f2baa32546a7ce353c1aea745090326e3d8106fae55e1d0c1d1aea9edfa26a00ad1c81208c91570e06b8688d56bed0219ffff034ddff98c9f320429f51c516585f92bba66b6cf195c576a249d3ff5188fd4b4d2035f711ec7715521573551e10ac6d83bf250cc88419fa8724abb416e0854e351a6036976a20ade289a3d7c276bd295b766ecd269ba3ddac74f958b18111c6c63cc8203a773aedb577f4d25802eec945ea679df0ae3fe273beedefa3de3647c0a27a44703abf3c97172ab5c1d93efa293d321556e5e8980070532eab1e57ac97ddd30fe15034ca71b10a4dae61348606773214ddeb289e3771eaebe21db74e850967326a4c7039b3eefbd40231cafd82223ecb9afe736f5a33ae22ed0277fc57b1a7035dabb6c0342190003272c676940816bc56d4e3aaf18b04bdd119654da405c523b4a39134d0314e03781234dfa7488fdf74c095b13ef66de4233f54bb1a99f3157c853da736403a5d874c2a72d5e59f3e409b34d07e3da679693e2cbe83b6891402c33899d5fa50334385f944106581265ddcaeb956db64c409ac8fa7d2c74287149fa323edd4ab203e2fa52d0d55dbb7822fe519b79080aae95bf921cee30ecf23f5add60fd70ce1903ba72f08d80508faf63d403c99524abcf148df748dc48fdddfd0e8db1088f4ebf03066dff1c827f287e8894a9b71b0855bcc830ac98107713e45df8d817def0bed5032fa20f765a78cb667bb864dcef1e97ea4b429814f15d1da3fba1eff6994939c903048cba418dea44fc348c5c33ad6a164448e48d384e00833e19f39bb0b1b2d9e5033c0da544d512ca766c6762d79fa6ea6a0eb8b361c7e125bd58c42d7028fa3e660304d48b40866b7c24e3f25ed28f9ace23bf929bdb0c10199670113b4615bafd69033d93d75a5dd322dac97a0845bbeb93238882343d6478b15d46b33200d79af45c03cad4e405566ce9cd7507abe395008bdafaf0f06f528f72913e2581b7d8afa85403e5d7f503efd9b1fa3a82d67a1568ca2da68465503e8dd57f406bf56b834b485f03c62b42c5993458937f01a74e67514bcd997af0a8f99222b553d9ef61237010da034ad5108b950d1cb092213e4919d51ce58c1fdec16168c0e0ec46a878ac869dd303b270f59387cf1b2b89343e3b19728f611d5a0ec41e9dd7cd43224a6791ba09db00581f02662f3551894baa39b619afecc10fa466033b174131775e46f7d83b23a0304936fb59e46802247bed00581f02fedc33feeb51cd1aaf17d640e3f75c4dbc5a3ebadf91466421b3fede2d835820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f4f44832205f048d51aecd2e8170733badcf0e79a154552c06de5badabd8487c1d68c8a43e66f000581f024ebc46cc77282fee8ef3cc89b27a84e748a14945295df01fb8abc8901b1a4905728ccd008791760600581f02edb931126a400dff75a6abb5995eea0ab14277522a926889200e3f34f40c48566a9833b3b489af0306fbfeb5e65e5cf019df1c6a45a1e4ed2e4aa2efbf443918148565a09870724d00581f02a4a0a5f447e8bec35274a8e6fa5898834bd73c4c0196b7322af9932ac0934a091ed3446098554544e403ef9fa8166ecb86c5bc7e50c6dae88755dbd52b5517a5c7f8b89e9af755bc0e930219f90a0219ffff03739df109aa0e6aa5faf49e126ca486d34f4d2daa69842034e20339c6a98fc5070317d645236efad80e43003d170c3e45610ea4c43cc66129c7d000a73680a8cffa03fca1097425d55b644dd15def96935ed7a88951996ff7b5d7b01422b8b0ac3b74033c7469d9979026632eaef6183f7e1bfc4dd1bd82b0698517eeed88bafebacda9033402c490b34b47ae67cfca7431572bb7f491cf74bf44b1ac4345ad470528625a03e402cc73472858ef8cfc8746c4f9aff2b7c2791a5b59deb9b17ea58dca645b4303784dbaf3e943696f4d09f48c54524f09838858dec7b970a738e79917e5cb7ebd0219ffff03ed209c3d60afbada38c2fce489d60c476a23eeaff5f958a32b3a8e3118ab47b8037d6c21d7614746e05d38f3ecacc03b2554903388856a4efd871359ef986d7e9e033d07f513b2928953bf9b4f81923b2c7edff3b04b4d5c3e53ddd2abb93d5e5519030bd2934e7f01c69c389f05d46f7c5c1207a8113628d76da581f4691709f895350337b678b28b2651ab37e783d90dfb430c87ec2492f68e4bd791dfa0d733f05b06032074d18c8dce29ac3281d271f24fbc33557d46411cf91c667305457f0f9b3c9d03e156633ebeeb5523a2819afa5372b15b505b04308ac2b35e71d939be01a635f1037133738054ccf7f07c1072463828687f75a4eb105908dfe096cae3e366c625ab0357718b76324f44cb339c6e4b1d72ad082073b63ff56acee891648480f5760c45032461416b72d7f0a6f06a182a5222eb881e8f765a63292cd109e4aabf8df2b79b033817114201fec3addf9e29cb5c5c5477fc4c89806f00f9ac63d5e34facd50186039f90aebea5b1b858223ed2749e0083aa9a288c66421db8ab470a2236f62488d40380a52419156150abfd3110d9f16106fb0a46df806d4d50a90e1cb205dfd5d4e1032fbc3178850c170f2836c532d111fef5415e00bb7b7f2db21c1fd7a39f5c79c203bb253ef73a68a6a01f4d65d1df6feed5d830386b60ace6348e588318d2a9af1e03376e5bf7ad8f01abe6ce63780cb0a53ee4fb253cfcfeed2a3e7a4badb68e01e30333ba09f7e6a978fd8255fd1a9e2c25b7ddf245c574e479b21cddcfbb3652d0cc031897e994add0dd4e4bcf1547e20e7d28cc832f5ee6041815b4699076ea5baa4e0335731d07e72561b06ca6752195628c65cf00c88016728b5c5ea5a76441a26b1900581f02159f392cfd03dd7ce1ce12c4c1ffcb2f3a5b8fafbe3c088cba3c5df3f0064925f273933db570000000581f02ee0158d6c988ff83b67e88043a99fe2310f430eaf93c1dd0d748d82a2b18490c7e4bba6c9bb1242b00581f02842b196585b83aedf7bdd5195b397484e4773b243fadac73a461c5373371490f54f53b6bc1c26fc803586e3c7a4f67a2a7453da39cca4dd6be6fa0cff6060415ca9995c7820cb2623703a6056eff7d860edd8d56c6039161ecbba0f0d7d9d2297ddb0e8093a9543b787500581f029507087106c9ed1ea057a6ef7bccd414aad11bff3fb9818f8d0a5903bfac4969af61344569514a0300581f026a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34444105039279b7d3b2476939a31aefa713baa02ac9fefddb2615a2981194c1b96a80c21f03fcd09caedd8b6796669af961f4aedaae1828912b02f9d3a06faa008c01c3774700581f02b9cf88e38fc589818c43d565a3cb5198e5cf19301281b4035158964975b45820fffffffffffffffffffffffffffffffffffffffffffffff892be39db6b7bffff033e3c305d850474657bb2ac973c7194ac131ffa9f67466eca59d6b1244f3a80720219bcf603a9050bfae7346c709178eb0116e029583ef29a2dd363e74a90c0a601fa72e6a70350bb05168e3cace5a0ae70b4194bbe5c39065d2216b7a3c587241fd00be39eaa03a29c3d76b78889ebf9b1c882240d93b23e8a38105ef5abe7afcdfb932638be01034f884ed4d9e36f1bd7c52fd6a7108e16f4e86b9e238e90c1eba0da97a22e44fe03a6a0b854b5b6c5b4a027d7941e783869e4971cceef2b4baa10efff2fe8c3c24503e9c2d411c55eee490cbdc4287ce843da91876d46fe0ea1ec1c99fff30c040ec003fe1feb056f6144d896cf4fa5d9a3785f2e939d382f1ba69f6fac33ee3017dc8c0219ffff0366723cfa55f3b9643d2c89ae65a8b3d5a4519caf1d17ec8eaf3b804facac58fe03e1533fa49145cd59adbe74b3059047ceb80553712492cd9a595d2e558c43fede0332dc0d46d3d76141fd172e46a8fcb66c87c0eacce7ad7a4fc2ee43170bd8ddba03d5b6504e81cbc3fe984e10034ddfe2fdbbbe8b5e614a789a47570b39a59f5aa90219ffff03d90d16d0b193ca37e97c0af9542ed7b5a2de4fa0803355181fa11ee47c401c7b037f47ef0cde6fc326c1f17cc72189c6853d1e700063c78273b2d9b73e35ef447a036956d57826e285e5d095b5a2f8b54815ae0848b420e2146eecc0a5787348de7d039733fc38ded0158803d0cf53db57b3cf88fc9a5bfe323ce18e0e0573982ab458033157619f693622b4c2e3583f05c3250ad5f95ecaf100b20b7512597dd8b19b3403d407829f2b8acbc97e29f8d1074ba79fee61e8bc022bccfb3ea3649543ecf3a4032beae38cbce4da56c52e1b7d68cf905ce85a0ed8ecbdd217813dab9fb953d92c03d3b471487e691cc8b39ab2d82aac72552f74ccbf3bdc45ad3b21c672927b31f703b88371831cb212ab6a12ad8c65d71e80193fb84d25ba3ac17783ae719fa614340304c1c65ef544369961c46cbf5d00a526c43d1c91e33b557ce74498f4349e4c320304a11400b80bbe131d91737449c30efdfaa98045cf46bc4557d08034a62666ff0307384a15c59f25d9c0543da1721d69e358b1dd4bb6b1eed5008af88d0b556bb400581f0263bb6866788da8428ddfe95c9b123c22de329a141dd9e42458faffc07bb3490bf7af49dfab8c608a00581f02a971f953bf11c5f7c8db0c7fd8c9c44685fb5f29c20e0f9c7c52be9a07a44909f8362e2d5b46047600581f029af002c7189c39d96507e9bbbbf0bdd36f8c97c2d0b19b08338408e28a7449420b589340d8f5ab8300581f0248022da4c9de10f2fc03a78235fb9bf068999d902d4a8ba5d1fa7fb731d54901b27cca3c6451a40703b50e85bb2267b0a121d5b6a9497a462ffebdf9f37cb2b664642d960cfe2c7cb700581f02f2f22042fb8c1a9c7d781d61b0f99b223e6e11b3d3c815e7f74f7de6fbd8491263d879b204b56d6400581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84a0a968163f0a57b40000000581f0265e1fd78a7b4d00f340d8bac778d89459c414f83b9b8142fd21f7ff11f155820ffffffffffffffffffffffffffffffffffffffffffffff952b06fb4c95e3c63203cf1cb07119d86707942522e35d36c2bd49179a8ab3c72feacdec96328bb3abb000581f021d2152ac5bbc43390eeb0adbce3ec0cc9653e2b601f059581def1ccd25ac4906eea1fb36286b2b180219e7a703bc04b9a622966264261608343b725dcd8bfebedcf2533527dc76ad7bb237d1fe0378ada487b537c5a9db953ca681e69d4916025cc56ef3c3fd957392033e4547f80326df5839c9f6af53106b1be3ee6c01611f6fcd89a4dcaffea278c722a945ffab034c1ec3438c5a4d14c42a9592fb59d99446c302c8af78729c0638f872a08150d403c9ee429b231d178439ac4975b817e56e4b18643920d484b97471835d3491d7470349c11c2e0410cdd22492d16165fbfc60b70d1ff33a8746c3b5b8e48c4c75542803926170bfd17eff59bfcb4a82713be2f8d424acdb186522dde9910fba256ee15c032b2c1574262894eb18b37086aa9ce1777b3c4c59eeda1c0c71fa6952df4cda700305bf4ddaa02e15afaa738ac06d6830382421e16ac3d16ec4cba6dd7cd577a1100316e08ac1e82a0fe68b13f04ecff7a098259897abbd12786b96dcf19c46556fe50219ffff03bd8f78e57cbc08755e5b9eb9c3b2ea567a38c291733683d3f67ac5bbee5568b803ae9d33a4c7b34653306b5332fa7f658813e433d36534dcdc5a96a7ea35d5a367036972bd8a001d5c1d90573940145b534e7d762694859bc8784df101109bcc1fb303282f140a9f5af88a234c13d9f8780c837d3b24811414672ad06ca1b63f305e530303ba42b9f6e6fffd2c17fc3417371a235bc7f48d854f361617b3901dc6f4e21a03bccfe191ec39e30cfefa51c21a8cbe0f6b12a7368bb333eaafd9c9ca709403c403795ebb3b929bfb67944b587b3c42f5171e316b7cd0d1a8965b2fa23607341d7003ceec40b8b97c014a0a86f6c9f3107c50e83e9242ad703df408971b4e9add2238038c1280ec546ade0fb14e6f2bde23291f61a479cdbc40ec4ac4ac7885292e8541035c922689f78bfc8e97363bd3476ebd3000d956a7558db712b36365d896e6025703547f6c941329d7761468cb0d9a8f18f54c24df767bd7f539988b36cbf5f84e3b03dae92080b50b5e4496b5f6524599de6eaebf13698d08c338d5d211c94f2e550003cc8a07df901d2c2451799216f1e947cc24c8d6c3dc9c088d633acd352ccb1cd6032ece12f2eb7c0b2034f388a493eff705e2f176f001457057482669b3ba5885c500581f02f3cdb0156b87a55f09505cf54cb93b0546164ec75d9b35901cc8c13cc2205820ffffffffffffffffffffffffffffffffffffffffffffac710476105cadd0d23200581f024972f5b867f10e6576e1bef683f0cc732ad81e487514bda2e56b70539f855820fffffffffffffffffffffffffffffffffffffffffffffe033ef0b6def8d7e15300581f026b2f284d939a7d08357d58c959f72cd0a381ea97f2af4bbd4d0204d5a8f85820fffffffffffffffffffffffffffffffffffffffffffffcfa70a4f6b39bcdbb8700581f029acd4742d678edbd5d1dc28bcbcfa33a62459ae4f51a1e2b60cc70720faa5820fffffffffffffffffffffffffffffffffffffffffffff91e2be570613cafffff00581f02f8e013087fe801555904720dd8af1473d91e8606b2f9274e7414c2e020585820ffffffffffffffffffffffffffffffffffffffffffffff665f6ddc7e66e60c2a00581f023978d8f665b8c107ec4a48ed3e2be54f45c6633e40d2a9eee4c16add13ca49384c1222b87f1af0a300581f0241b9f3786e8b2a09760dfb86136c1098496407be581a22ea3c43647950475820ffffffffffffffffffffffffffffffffffffffffffffffe09ad222de241ea06b00581f027b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec410200581f02859b6e0c8e7c6af43a375f601b246a9e7c764244a795c561e93d27fa89af497070b1349ebcce3282033e2bc4780d144dacf2b4891ec6906223c6c27bdf60a47d7941ed25504ac06dd40219e3fc03b5ced6432d3160e8896572c4eb521401d903e25f9bffb1de5d0b2dd024540ef103f296c3db37c9fefcef25d68ca644dd7874401d8051dc0472fe773e9c3d3fe2ed03d97c409064115cf2530e458cb5837176f01080f3d512d3f710b5010f7096e05f03f195db86a6c5b0f86965ade8016763baa9d7234704aa68323d8b5cadcb7797c70374f94ca6c8bb1afd36aa57ae2b1541241318c5f40afaa5b8c6851d6ae04ec54c035a4e278d00ceb07dc73b5474717489ad751e543e373d3d4ef839835bd4a7320903fcfbaa293c9cbcdfc5c5f7964a9a6239e7500bf2cc545c0f6c5ac30dc711a65503da1482612d988f9da995dc27464455082327ccb25c7fb0bc41f959b43f719cb703cdfc6ace728b62fb3f2086199fba541ebc8a399cdbd595af677234603a244ac60219ffff03acc3bc85ce64d2ed1fb8fe5a3b81f496c27b45cb0ed05bae652598fe7c944fa80219ffff03d9169b1d428e1f153c69c29084531d9e1d2739029dd0b3f7d0e0ec966342f99703afdd4aa3d9a99aabc0c9b37be986a540a30065b4757786653b792968347ace83037b32dc746e7bcf87317300aa3917d18abeaadbcfd9c91900910fe4a08a383e7303ae3a3ea78008f3db0d151951c8cdf45979307a9642b64a3ecbc3350d1317aa4503d5e76520c77a5044653b65954f353a50cd2b578ca9052fb24dc06030a9d8e10c03e69651950b5dd71a6b3a62be9e0f583faf40439bd8c903fe270c96476a075a30036241afc18151cbf15e14443569e31026ee96d658df47a6b79ef6d39ed8667e25032c578f6da252b5dc5419a7b9a9d89156899153da60e20bf9d6953d04906e745d034b4133531989dad1a366c5208ef4f4eed5fbdfe99f27ec3b3b3187ef539835fd035ae4e218b300c57bb3daf1718a0b5c21449f6d600f999cc072602cad79106936038cc1162a70b24c56726c6465fd88d99c904acfc5e31fb4bc4df9752829a1ddca00581f0241613eee0e3854a9b12e102bc9a124fc33a60d30bf43c9343fa585ce285e4906ec95fe7b606c9c7600581f0250307e0d8d6154f0552d3a3896710eadf41de152832e19abe858644fef0d5820fffffffffffffffffffffffffffffffffffffffffffffb0c65a49f2ebc7de7df00581f0347d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428904a03a5ee1b59d688821ace00581f0381be63463a329219524f1b59ab81b05d69b8f7b322e73d741d60a4e7e9405820ffffffffffffffffffffffffffffffffffffffffffffffe7766183a3f7e57c13021200581f02fbb77cf64d2239a2f6046bd6cc73706fc60a46dbfac6392be14851f9ee304a01be756b59fec9f17a28034c09459e3c59ae66ae0c0f1f77dad490c3eb08b2958a02625c1ab63e55101f8701410100581f02680d37be9b207573a84d8594aa4130c1d5886b56fc8e187c82a90bb46c2a5820ffffffffffffffffffffffffffffffffffffffffffffffd243ba0cf48a30ffff00581f023f96552fe28ac396105e9ae1fc7e2516ee78c223bbf354671ec5f59a121e5820fffffffffffffffffffffffffffffffffffffffffffffd522a5ffa8f10f77fff00581f028a0373051a9908133df09e4c5eb9631ad8837322055c14d4f28ff9b3dacb4907d981c6fe6a84612f02192a9b033f7f0885feb90e24125d8ff3420c9587eba7438b199c30aade730bf5515eaa090344522402b6155091d795821271880f83d66bf22849423cd70532f244d3521b2d03ee5998a2464da41b4c60fe293248290aaec761cb5f0ec5a59d4624a298a14827036173a4492a266ebc226460d64fb78b0bb98c701ec2d8ab4d6701151c8e8c49f003294a26d4a535b3a5099a7ed5ff7252ace9e13e3832079931180dcde4afec5c15033a1f6861652b4493d30efa7f603f5c5b960438554123986485669f9a81c57b10030f64c9d905ad0a536d80f3a805fd51767a07e803c4f5f7edfa6859b401d7939503dadd5b5f3160f4126f5f8b05c7ad54d62f78ecd439eed39f89e76197af642db10316462d96bbc50cd0cca023acdaefe327ba7b6b13bd1cee5f87bf6bc59830b59f03130fc0299da411df5c7986b885a1eb3661e389c9578c604d102a3f7441fc3cc1031ffc4c08e51835c77bfa0a2b34c83d3bcce6c026f24ab524df62e21bc90905f3032cd10aaa18b11ba738b573cb202b8d998e3c3d4261f735930f67091e654afa540219ffff034c510dc40e01ef0ef17096746b1d2729daed3b20f2ca4dcc0e5da5696839649f0370064dcfe5a02bd0e0ae01915fd39ed892b74baa28ab746f75537199ff1f3ae9037e3c2c1f1a0b6f6806ed9b272d62e6dcec03cae0a03618e5e70c2a160911fa1503b00a7f1d8a97132869ebc64f4d160fb58b288bc6bf126a788f44bf537448fb580321e7d7f414e72cb6ca08d910b7c2b97c5371e424e13b3838467b565fd24971f50393fcef2b94beadb73b1d125eac736489a004d958ac7b6ee22c47dc8e5e856d2903053dcaf2c486faf8a84a75f1d6da8b07a2fb6f97e766dc0230768f3fd4523a28039443ddf0c98a0aa67b909edcd1dacdd4941064860a6153ad7ee0dc95eb09877c0359e31ee9b8891f31419dd9ecde886828a97cd9b8590bd375fa83dd55ca93888e03a78209f2105464b649a5a2fa74a91ded683c7e57d8152da4525ee2cdff64df53037800501f3a26a5c42695216e8fc441675c8a45ddba47c8b12ab95754d965815d03f091a5624ffab34254119d4a0162b610f59dfa66aed3259e43b23795e3abc71800581f028a8dcb558be19de12e9089a1015541e5e35775335883fedc18d847d7e0985820ffffffffffffffffffffffffffffffffffffffffffffffce67285d548fc1baba00581f0260208073388e39eaec87da4b7f76d1e051868601987dc4ad0d13acb74ca449046441bdc413551b6700581f02572894c303dd3d66f0122b0c34f32cfdbcf8ba9a8aaf12717893495f579c5820fffffffffffffffffffffffffffffffffffffffffffffc1388dcd048381f599a00581f02eac863d1f3d79f6af57d53698c42d23f52cf035a63261955b51bdec5c2644938627bcca44dbffb9400581f029e232dc2bf759c8743163d2ef83d98f232de1065a44bee5df2eca252a0b2490cea2bc86b2a0a368c00581f03d57926acea02d00025c563c6e73fcbcdebd211f9c5516d93319579b04680490fb77665db639336f100581f036c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704301010002185000581f024923cd5dcad54455cf763f18426711d67419eaafddfbf55a9fcf9306fe9347663cec7db1f81f00581f02cfd89775e34658f7781231860aa353c5bd93aacbbe32043f16cf5ee45fa54987867832addc82db4e00581f02384f7afb1951007f5bdd829c4f4bfc0866e2c6b4b4c745bec303cd81ba6f4902b637a21902dc4617034e5ae35c828ddae66bf16ff44821878a1da0d12121e5fdead852f7a5ed14e3a102199ece03f8dd33357daf6b61351f4f6572388c23db9b65b0e86e2bde10e9d3cf28ed371c0335aa6bcab798e48e67ee2f56fea046d45b02e98139d0d73ecf5a1a436a7a79bd03d4a365a09e3ea5eee7d7c17f872a3c6f7f8f6a5bf7bdac95c82c41bed1bacd17037156bbfcced0ca591714501afdb03db218c63a5c0f0d8d3029ef174538010ba403aa44a6b44dac29e7a6adb271b43990a09cdcbbed707a4445dcc8ee8c45a6915c039e0eb3ff83acefe7f5912323414d258d90c3faa282ddaf55a5f546a65c365c7803c6ea3dc55fc397a46fc12d21ddfe1a2beb8c914b5792fd2748e02b11f8be36970308f4807cf99dff0986cc7da76e0852e7ea138fa239ace47731a8da9e366aec9303af546b121f158c75337781d42e691e07642ce6b44c5917dc0ae34c22105d93520219ffff0219ffff03aaeb6d8a93ba8459ecb008daec0413db6768dcb397d347ae8f0e4b00fd4a30b003db3b80f900d9beb944beab75e8ed1533bdce06f80fb35af1be83b92e0ed35e4d03a4a218ce2c2d2ccd90b5767f62b8a07c31348c36a781e6c06e087c9878e1246103174c34ab04572a941c03e73e8edf879a6cd7405950dae062965a39ed864d1e65030951ca9aba2c52e2d8853fa0dfadda555c6374782a115975ed64479ec016537f0377393ece5db4fec3a4f740e9be494bedf4fc50f0e5b32a00532b06a9abacc207030d87233c8b0f5537cc0b7fe5d5c663930a7fd98036f8161c696e4a8224f57589031c69667ab7d05645b94a5cb0cb222dc184056596dd57d20ac6cabe4472cfebf803d026d3d61d960b5c7ec5bc81b23d747b4455c4eb749e5478186a416c8c93c3c003913f4601c2891f61b8f27ccdaa7d4869effc91589364f4612bd5e453e83185fa03822c3d7ef21dd111ec5e2ec6c61635794c6713ba82b42cd88af50257a62865a0039b43cd4ccbc7f0884d552fc1905debec811396e7700e8f3b51ae7497a2c86e9203a7b9f8427ef70128f81df4a471eb871e5d5bb14390a50d77d2e7b07c5028ca1200581e03313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f054515d459555f8c1fcf2791ded819b73b60a80b8e300581e032b70a920bd3fff0dfd9dab32587ba3d8b54a2525872e44a5ba5baf19c0490ff6e14e6948ac741b020c0142002200581f02711db4c0ffef61c9c4e0c4ee652a86098820b623ae686ea0dd61bacd533d5820ffffffffffffffffffffffffffffffffffffffffffffffd651067841d096978500581f026197251e8259bed8b27287ffc9062f00f9793797e3ecadf9e58a144e4f225820fffffffffffffffffffffffffffffffffffffffffffffff4ade1be55b9d756d6030478139ee75d33d1f8fb1916cbb6d0312e84ffbbc76691a094e60e3fe041bbba03a613f61ef2d4c7e6c1011502326063557a08bb008f15d411f099ed0beeab13f300581f027233ffa3e3b87a5482f8ef2d3030e67e71765821ba3956c69dd6c6cfc1e6490f41724e8dcb3426ed03f4da5708f12a34382d7aadc3b14057c3158d66969b1208b65fa2e9e1f6125c7300581f027adef8ddc3f0520a229ce97b227dafe2134ca565b495a46949f271c0e427490c9e4c5442e0a494de00581f026d8435b00ccb8e2b4ebb96d6cdc23a7071d8d3a2c2938620185bebc1706a493a753fad8d8f67059700581f02903ed459b8b55c5cee7799880b49de86592e5180e45d07b3f8175adcaf3b5820ffffffffffffffffffffffffffffffffffffffffffffffc78363b13dd6adf68c00581f025067846ccffecaba3f72fd7e4f88c26ad7b42b86c48bbc27fbb0a5f58c0349034d7fe56b2268043c00581f02716b69c17b53973d6e4d9da90c4baadf5566f730ba8cabd87f952359aab3491b5ed4b9d69e71414902195ffd03c6c5c816be8e93e1df0162ce10c31c60dd60df75880800e6fbb2bf8cea51de130360986005a72cf3de1f7a65c3bf055f60b9c9afe290bff091f20280f331a4875c03455269d702ef0316388494def27728626d5c398aec07b015d3e006699648f41f03bad62f6710788921a94f5434617b1c3087b667a0fb9510874001a4e55ff0906a03a050c9dd9f43ccf28c88742295d283788c24647151e0774802cf3cbbb0e7096703d084813c8e7d7d6f076840a445a2529781e3a03de8f1b5d6bdca9a6a82d816c20310e94dc44328bff297adae9b2543be5fe7e5c29a4bead5982312c8cabc9ed6d2037503128478cf6fb7ccccf0e348e7011767161c5dceca84bbf213bb06b6b03476036d5f59cd3c8525f3aaf51ae5fbe3a0d03fa2f6e5bab4011cfcc0764ebfabb30903a21d9e88e4d5a78d4ae2d4d58c10b8020ec5934a707d6afc4a9ad3bdb35300160219ffff0393d085dd1d2602286fb881c70e7d5da217ceb6451cbac07fdea54263767a129b03a6ed319d688759e5934d12fc9553be954b988365d90fea5316f5aeb2c86b2ab10301a478663711d5017859bf9c11475bb92915841c622ea8f1744875381d9dd52403267fbba3593c5cf904108fd13281697fa919213db3ebebf76e896d8ce6da1d5c0397abbd3f7980cde1368c17a64392848ddc9fe3ec800d75a37e3578347422278f0375030bd3b1d9ffebefcb586297a5b884a041c276d495690080e98a0576375b200362a9db16b0a00ab74d43cc7c61ef5fb0b0e2ea808335b707cb4529a5d2f868d7034c5cc9be31322640593a5dc292737b01e51e3c4b899f2a4a69f845ba40bcfc56032d143f41c29e6ab35293678c744f60873454b774c0628d95ccbf5700da9a71660219ffff0219ffff05581d0340879b2d5b5e737f2a554d4136062a4bb26671f48961db0d91185f80070119527605581d0370bc9dc0343235c316cef8469130d1008dd9c69242405189dedd8ac00402021942000219208003716660ca66a92a6eba382b15b17d3f631bb2d877b7ed5e9870169bf2805d39950325cd133467e4093f0ff8838053bc2a3835d582f8a963826ab3411b475ea79da1032a4815bad6f0ae3a64f73e5449d3f90c1c8127d0610040691c091f66ba7afe2a0219f5650391919eb96856438e35ec9523de0e9930d7fef34d18ff8f67b44b6498944d454e030839232792d3bfd3c496ccf033c1088f4e0ab019df379d24823444144c41091f037322061d1d7406caad244783b98121c33bb8a36700ddf39e18c55d420237b686039513d17e74bc5905f5d15004310511cc36bc0baab9a8bd93c5a389b5fa0ef20b03805304a0456a2b69366b8299ea4a3a3cc645b8ecac4af38e710c7ed6b6dbeaf003166e6f5dfff779776369a28b2d471720c67c662c43858af3334d3b908fc1c7b1031c8c08ea2d41db6d24243f7f8922c3c96bb606e954ab969c308e9d69ac647acf03b65d012b579dd8011750764a6233a59b8c0ca0fd37144202c31d31455cbbd337039e7bc9487dcbd09990939810c08350e0deb888b2b297866a7927824428252fb30219ffff03a3c2b586e89bb67a93b23104c28451ad1fa6da1faa11c2f70312c07f68483f5a03d1832213edfdd5624a85017525a6f4c55bbe5e24a8556fa01950dc267253d9a50359a68ad7df876f836a2b9a971c39be00c33d054d0968ffeda6904ab0c3676251037744a78fc759cfe14747bee9eeaf8b60513372108dfeb24785432d80c5b8acab0358cf9170ac238793e975b1017db300da1678f9019f3a0c86de06e5b6ab19d9ed03d262e60def551d4ffe9abfc9bc91ab8ed9d9fd833422c085105d90e85c81c4ae036b053f96173cf3a04c99938a8431b0009c2017497a0548f99d9d19309d864b460219ffff0382ef495ef40b9a4ebcf75e14cce7b693b5edb9143f7dd31b45369f066a68fa5903d5c9d5cd248f981d56d887a31f65191f557fec6a6867873f804ebf70311356750366bedc4ef06b10c005dfb7211b73253a207f2ab73d0371fcd544ed44b2b759a403ad3ca6416e6e88eb6dc808faeeab2d0972399e2a1855af36bcfe5e7b58caaa8f036ab0de34c5fed993e98064c145ac00a623563d2fcdb5747f6e93d7c4a49b0a140362da3f7cba0d6935934e6e17d35a3ca98914e4f57a628fcbd7a444b0e9523755034f609b0c5dfb83a5272839adc4fa544816693b0162d853510c3de0fb5ada82760219ffff036cba4fcd2ba299d74f9a343c04ea2c42a64ac5a1574493dc79749fb4a644da8103aa6dd964c14dcb3bdbf1e1e41b1444ca5d283fd99f00c95d894cc616f893632f0309ca5097da371be4f99b9568542c6addacc4ac59342296b3f287443afee43bd10373a0f36572faf8c39269aa7087ddc7448b3fd72b3d482373662846ed69fa237b03fc57469c328bcf62bad087f695bc2600e8aab27d325984669f9c60078f51071103e77ac3ab3e790a2e6adf1dd1cef9907530bd1b33196e06077d7d39e8856ead2c03f523d2dcae0a56c40f3b0b25697c2ca3dd506d6c6e82e56e402e429e4f8f50a003b063df7907f659a7e6cee74ba6f027b7e38a9be3d8eab4d0331c7499e8f9dc1403c9aae4cafff9d8764d888ff084bc4ff2abab9e0a1e1c752f31b0e68108662e820316395302f88c331d23189cb3d6dfd1187e3aee2e2e6b966caaf5ab3062d16356030e351f500402157e89ef036c70bb44ad4d04bda39bd06812d3d28820a626dd7303d56bec2f616585bcae4a6b0a520c6bf213c6972d07c35b68f9c719fbb68233a9037a85a392b943cbe773308e19fca6e9fd544308b953aac596d231b2dc18def3b80369b01fe1d9e863ddfe61939ebd31808a1c8730faa0f268311b15e57eb86be20f0324c722dc7aaf070f1f7beaeb658eaa79cb987f30884608343e8e2768521b41c303fe54bf3618b1f04c2999fa953fe25be5727ca0b9f28e19337f4b4ffcbb16bfa603fef26803daa1de5eed53e30ce7e9f5da65e60deb0ef8c87d52a195ca157c174c0301594bdd665e6cbf9e27cf77b90925eaf9d9c7859467f877d2ce3e106f4dd1b103c33b0254b3a0b4e8177bf0b514689dab4f23794730b2924cbac42e57c69fa01b034e5a1e458bd948b0c02574a4796b1c35be642558ad51c03f744adc5aa39c0ef803fe204035855338d28d59c5629e1990c73dc4ead93f842938d0310a8401d9c0b703e4f5f41a9989d35d40b01bf565742ef5058df131686c7984ae136aa314f7c4a703dcdaa8c0908d3fd86d238208971867270e20a45678e8fdc3ff913214050fc2b7036373a046ece87016dee64d9e144f84e9a3183ec734b298f7671073dc4d780374037dae253fc3ad7e3bc72f460e8eb953f735406ddcca674595aafa3c75a155de5005581e0325fc02fad52a7eb2101037ca4e7a0aacc1794f976aaf666fae6cf4d7e0040103abcdbd3b6cbdd45b9cefd1f65af2479f8bfa55fc5fb79c5e1d37b098313535da0459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000226bb599a12c826476e3a771454697ea52e9e22081565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000226bb599a12c826476e3a771454697ea52e9e2208d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000226bb599a12c826476e3a771454697ea52e9e2208b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000226bb599a12c826476e3a771454697ea52e9e220908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000226bb599a12c826476e3a771454697ea52e9e2209087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000c7cf089fb4bc91f1981df2285ca019ab09a5dd3b1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000226bb599a12c826476e3a771454697ea52e9e2201693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03ee1cdbe1e1c344aca90b113fd97c86d335d8eee4653d5220ac46562c1b46090303f32a7a5708ddd2776dd43f61475dac2742b30757fe0c37e4ea4c3881eae4abe103d77e30429e4aaaa8903e30a0350dc153b3f7d5e261ea55e0fda579274c77dc4700582002aed1f8b25be43497518faa7ddc3bce9ec0a990b75989b20e0eae511c037ccd503f202873046a48a984ed7a907f1ddee80305eac9c0dedec401ebcadaab9a763a2573d1be8fcd5b12d5531913937ed842ed03a7932aaeda7c9a78f02e5b014f9cc8e9116bf031ff5e46c945d331bc37e218dd0305ced22be7ea396718b7ade98b05631fed0a10bacf07636255ba69643ec9401101410b0384f286d75649e2b3cc552408fd18f393c8a545d9323fefbb67c62681557102ff03efd63e3420d868d2d8d5bfcd012c00f3996c1c4942716c222f61ca9e63054d0300582002fad51553c0866058c652c72fc13e1990d9b356aed07f0d6fee22992b34bccd5001392265b98ab92d47a3349ca2106cf100582003dff749e68150978a403885ec534bf29e5568682d8c305a2c3c032a863000605820ffffffffffffffffffd3010a9b21cd0d0000000000000000002cfef564de32f30058200324e1c8b5382bb913d0a2aae8ad83bb92a45fcb47761fa4a12f5b6316c2b20058200100000000000001ba71c9a1eb4d69d26742484ca2000493b6a6353066328d9300582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672058200100000000000001ba70650b466c3640ba328f313c000491bccecc846631bd5b00582003985d64ef0dae2f9bc20ee85b3916e82e2fdff8102fd058d4fbf63eb446cb40500947308d87d7093c3c990e0b4a5564590219407000582002bafba73ce9bc13c7531b1da3faa6bdfd671f406e5fe67781ce6b6db94d72005820fffffffffffffffffffff03b027fbdef000000000000000000000fc4fd8042110364e79c1523d23f4871039eeafdee55d6e63a1e25d49d2f066f6423f5a6e32e9202195ff600582002871a62e5728f1404abc36eab0bf4ada914a474f6821e375f1326828a3778a5470683d574cff81900582002913f72cea501c5f164cb2efe22fc2e7377ed7af41f39ad643bb93d0721276751299bff713d74143e6de6e27f73857b3459005820027505628e98eddb13665abf802312d1563f28ac2b0e80ac3310d5350e70f59a582001000000000000000000000000000000000000000000000000000000000000000058200259ee7680a95e7907f7d260527ec0ec9968d0b099e5d181f477523d2375ac054f026ff17b5f996bad827e49bc7a01ed03f16627a954ed26db342dff436e51e67af4e2a065e6a4a005f57de461611dde4200582002fcc0d52b6b0d5ee9b1f294844b949b27dcc43af1825ed247d2b005d1aa48c750118d45f7d66ad447517e5c335d8bc1c403ec6f4a74ec6858bdb9d444f896bb19dc3156e526bacfc5b9bd25e3da6d55125300582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100005000500007026fce0000000000000b76a7ca1ae9d5e78884d7df621f00582003b7330606da1b3a511cb74d59067f686371c2dfcf08c40f28d4ccae4bbb8eb04f0400000000050340800500382600200218810321ba6a11a926e0b033366378075d18ca1923ed5032b181e2761ca04322e1240d0058200296b29bb97b6cc4959b86f3faa53405dc52a457dd5d485a86491d206a2253be5006b3b6adde3d3a172f478e84a054bbb100582002012bb7702a764b11a0ebc97066289ac2625b89e4fbf5d916ef91fa0a545ec24e0edadc9707aa4fb238beddd684e302195bf603bcd7f6b06baccd44e4c64d7732107a71f5b0e1df07b9f87da88077dcbffe214900582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c058200100000000000001ba70ecc73a89f761b09279ad4a0004925a909bb86631fe4700582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05203e9537a02d516773ebb3e8f3807cff11917021822037051d6c772b206f43bf7ea8c621943df905247ae16dfb391ea89a34d50707066005820025c954e3849bdc8c8e8aec414ec14c8a5f7253f9d4ce6fa89b20b04b116ea074f1cabf05a2fb889c0ab50904b08b93a005820029c8b89b7857e7146aba668b975d38f6a67436f3387e71a86e3771d5354b0c65820ffffffffffffffffffffffffffffffd60fd93a831bd5ebfda4b4646b9226e22803281c62cb22d3254b17960c1787d1f64715501477af66ad3e4a0aac8bace16f9a01410b00582002cd3a11e8531f6140f9bf3d1add3c66a316c0ddf2814694c29461c41b3b354d5820fffffffffffffffffff97c2a8b3007e70000000000000000000683d574cff8190385365b23f580a3e077ffdfb29edd1560977ab880022bb456c2c26feea0799e7503520a834ce5d9c213940adc6ed3e1185da6b5d0c5b1298c642b8935928acf5745033ac6b0f3cfc2ead30a987ab2082e071a830bce8f85cb9021de99dba25be5ef0200582002532003a75f965b3f2a235e60668ed0695f6c7f041b0dd890426056db6af26b582001662eff0700000000000001ba6b9ac5ed74e17c885cb5297600048b0e971528005820026032927da9aa6016d477accc8b43514c4e6784a65e77b0af2a2dc2821bf0114f035d45f9772dbc41a644b8f32b4840005820023daff3cfc35f988152787bb3a2282ce49218f61c117849ae6d9e055eadc758514a95ae1f43fd82376d0069dc49d799188d0219fcdd038218db68225e463bb883a1aaaef7c26a7a553c0f6c7a10423344e4f065df95f9030e1dae03a8cb46db5ff77faa144df2834335a8dc528e533dd07156ff219eb408036c0fa1da7d5fea61982e3b44e28dc6c6f7fdbd9f1e1fc05b740d9d774e30748700582002fc68b1dca37b95a1707d4d1b57ffd5cc3ad9adc66531709c84efc994843a96512e9e45bb6d0e46969ec4be700e2daaa50e00582002e2f29f14f05c9276291357e98e8363b376a50f01d68c908a862fef799aa0364f0e23a5d7132924a27b41d96b103b0a039f5b7560258f160e3ac68d64040b8fe5e42c98284282b2a8e1efdd84819e767d03817a02b0fbf196a69da4ac0752880049db001df9c40ea420a362865c5b55f7e0014106005820026f44666c9add97c6c5006bb1227a5432ef517712c8ac5015b2883def2c78fe4e2c736bdd8bddff581ba6f8ab37f8030f7b6bc41c985fcd2cb96adc703b7819c4115ca53fb800aa8267d4c477cea56803a95348ff56d0576488e03362cd0a4457bfd4e5271d4415b6115534de7d881f80005820034df4427b7c1e467d4c4f656b53d7d3cf94682770e8616101643392d65488104e625b091f1c74af128fb54273c434005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b047bc045383aa5d79005820035d908886f6f0b00670ac39c6e8eaf431a3a5358972fea8ba4275c48b09dbf05001e87d922479e814def3f8d4f060d96a0219200900582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802058200100000000000001ba72107af3ea731c79edaa377700049434fc20286632c177039aa6d32be093689384ba8eaaacb3f0b61d86d9934f241ec16dc52ea4d8215f300219010200582002e0d681a40a413ca77f0e10045f4d8f9d066b94d8f7c4a21caac234af81b27b5013ecd52a9d0259e550af0d2ceeb216690219a4df03d0563248eb3f9ce40a2ea10ba5e39d6c6223e01e6b6ce5d76cc8c578b6b6917a031e402bf3906831e4feb95a2a8f3ec076b1a82dff5423b94ca7e5a32d4b8b45bd039b8ac76c5480cc2c51b6f1642ae8d613d9b7e3430ab8d22c9c3c8916b328ce8803e8ae51cf3230ed93ac971f1b0a6d6437572124ed3e0276d4a0e95ff020ad0ac6033d958d4e2728bcbbbbf42aec6a825765ebd3cee4ab411d88ed72368980c879e3039b87f1376c7eddea75d275c54066735477932367dbffb3b47c45412ea79aa5d3034c490801c37322d1b163a2f007c3751d928963e05a0968653e399a9c6ecb4bc40219ffff05581e03d0e15b42f5a8ffcb9fd04388ac82bef3df0c1f5cbe28b6c5157f8c2690070119567e03817a796800edb730918c44209b6864fa78dd9e5363b50955a25918eb2bb54d4805581e0397867d0898aee3c85fcc64eb58f7731cdd936fc35ffab7177a58e035700c014707dd602e475400036510dece7ee2116ab9003796f5f644131498da0d4043028b666ebaaa9bacaeb205581e03478d92c855e7bab2388a7e7acca526f434407226d54e3c5a86f17715300c186346fa6a471a8e0002194b910399474de509b79433acc21b3e536e4bce1922660d2e1a96c4af082b5fedfa4f0d031dce076e4d4a793c27f72766ae9849be4f615d06296e2ea786d3912fccd5b71403e381581e24b7b7476cac5b8c0fd05d4ec87621d8f6379cb34badb801fb634acd03b6a3e99358ad08b418bb90c93b2d7b93d27f2b367c5803bd6371680d1a913de10219ffff0328da36f69096f1c320a7d058405379a375884e71da8b2587a5efb8838cc3864303f514a7cba39c6c3baeb76be71f4a0cd9433e880650e9f618ccad3fc5a00379f203f7498625d7099fba0c457939e2572d87f4b7211036bf923c39ce20574f920e49034e775c6d96352f53b3b74e6e5e7d62411e9cff3d2cdb19c98821f5e3c0e8751d030bb80cf6149e089038f73e2fd4f9e2a713ef4d089a4f3aac63593237837e54730219ffff036de19bfcfde139bd01edcffe57b3140852f432a1eaa887431b8db03dae042e57034f12cabde9e12d8dec46a3b477cf3ebd04b5fb6d3a90d13e2c526d39943f1c6303f7013cffce9defba8d52dac7dda33941ddf5a79161014ea1abc2246bbbb2f3960337234f01436014c6d1634f3430931ce8725fbe8a3acd6535499a107474ce98db03154ce0c419ac2c0a498dc2c4de59b4c2c6cb780d24e39071d7d915bca061b3dd03df85b191ce71b940b09580aaec4e2314ba0e5b7800c7d100993d94356d04cbf903543d8de9b3e3b6b0e870e0577e7667031808adf0f8fbde648c55f867635cab780389881c7447a7e4ce3cb6ee5ce8ee7e835685d57d4048848643a9402dd1c89f02036d765015ad26b3c500d69272b3852ead55b42841fdcd4115cc66b88f16f20a9503e0a87330fac56ba06f9be4b201e0341f36543c5a23a9261eab00e3a7798c84bb038f01ddb734553fbbf3336203c407cad65300026f91aa6fbdfea95e6d5b9a364a03f2746b2967fd21c72c511c8c175768dd4859836c47d4e05b82a64974c8ba3862039efe74a9185a9cf64dd334d02325499538465c98249a8f8607bf4151b353cf660219ffff032f51aec6284f25368bbe1da7e020bb770f75f51d69af2a95add356d74920b3d6038f562110d960bba72d232421714e7282e566c0b7ce741490616c6858807caa5b039e8f7cc578ee5037e9a435ba2d317b68263d7216ab31ed55f647bac71bfd27b903ffe53b761d1b9ece693aa30c689b7174eef92800702247ade89fa31d3fd4bd95038941757ae9e519d2059669356d8f118c9f6783ce3d28808cc8239a86756aae2c034c7428c7e2595716e4bb878fccfcb800119e39e57a0e6e322f9c08d3a899b70603e70eb0afa957ed705337e8ea1abf5c458d720cc004b780dcfc4c8507244fb7ba03b5dba29fe081945ce953c39c55f6953eaf9a038fb91b76b6e1d90622617ffd4403cfd6d20362abd9b8209dd852ccf7d62093cc5529f5f82001784ae3ef13e247cb03f21adbb70c276315e104909ce538501722d4ce359472de90eef907dfd296bbeb03d0f74aff0cf7a4c57f85cbde357b00ed4db28235e002ca0f9b532c65173cee420219ffff0355b7385aa5f96172eb30eb011c0c11f46198bea7e5c503012dc8d6569c750455031b362bd1783982d39fb6bd89fcd0d02e383b44c4f4c6fc2b06f7d6cc6c13cf4903a9439810e84e4a48b9a833601a0ddaa06cf06875507010b863474ff0fb98f91f03177f97a1b2345b2fa71fb2acb5a6c54f5f90b40071529b868dec1f4e65cdc3de03635f02c2ed0aa7af9c7a3269cbf1bb4bad43d8ef0306898c886605c805cf02600361599488381f0e6a3fb5dfe8fa1e25179cd564c94324487971570c67a7715b13038b24bc16b8210a91df878f9721eb89800d5fdd4bb4917ebb605ed8a6892847ee037f02c7dfabbb9954e79f8db7e66fc7abad41ef20ed100077e59e9c43a69ad36e0331c2e323964f60090ddffc53f26cbd02c8634750011feaf1acaf38d2534c4e100382283756a3d9ca87ae1e780cf3fd8503a144e1b40c56217f6511e2ebbe7bd0c703683dbedbe104d7bc56866c5aaaa549aeebd4698d126b6f12da19702447fd5b8903a6042b6d73ada30c4d9fdb9c8a78f49e93fde9b00d107284af134439241520ed0394b081b9c853ebbf0981a68dc171964f9750265367323c958326418c3607b46d032e83fa118c50974a448a849462ab25a5dbe0d184ad6aab23ee93d2b5e556d6bc03d57caa135425b03b14718c2dd969f3bef531134f5a941186f4ea27d3a72cae1c03d9211afb4da243b883a08a3a735ca29473fbb9117601834c631db152297377c803823ca1d0ab1efa9569490c6e8d04d9e15e43ed24548c67ce6d503a28de7a40c803acb1fab92eb9d515110fb901be60cc940f0b102eecd71decbda3be5c29a7ac1703d6a3f6b94253385789792684103717486076e8605d83524885e1f807e4599cd00374945a016e000c895e1740bf2fbed2e73575ae70a9b8797499d724e86ebc32ba03d41b0d264ec305b0bf26f518c53511f5d3192a670d190879781f519b54e3610d03e011b82459b4402b9bedd5ef79612dad758fba6db37b3048825f150e8ebe285503881bdf7d72dbd83ca7f63d0ff63de2bda3d7c6b72739612a69fe162288a24c8703b4e74912fc573247ed5e8529ac2bc190a7b5ada20847b8b74577ddf06b3175e8033dfb228278fdb03146049cd1dc717266bdc90c81b5c153f8d87fb6dcb339bed2031fb8810638f46a5c040f3ace197696938afa237f7c0e36e1151956354ec32fad03b4295ceed0e24d9aca48acdf9e20161bada31e30c897864cfff9cf81b9a977b6038d6a55b6d41e38bfe0038f0b529d78a81697deb84d5fc35511275aa19ad2b59a034a36b9949eb6b284722ee838d59d9723d760e5beb43ba7c4ad2768f39ce6ff1003e763f45f52e9b492703003aaac380fafac19ce0cc3c48ea64120b3a1562bf31305581e03d9b777b40154fd014bb133ad816c5dc0d822605ee5bfdeeabb0658c9d00c034701165f105231c804592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032030d2cc1e7c7f2a1302fd3d7a318764ea5d0640468d549f6b968913b8daddd2e70005821033ed6dc04dd0fb5b34417e358c95d9c64ec363cb38533d00ffa8da1bf9a39058041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304827afc39fa913670a0058210350d3b24c781b1a3bba15bf4d3a1041e64b21f1aad19fe244115bef43c8ee05c04101005821032b1211033b6823b84361a8f2f08368eab6f826eeeb789ac4c57dd9b5fd7dd3304804702eb5786b95cc00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0540189687c360b3aea10c3ce11b9727e65717f8ee00058210334df4c51727ff63ca64e4741ae4accd5a0e10d280e55e856e7763efc5b662660410100582002c955b3abd8fabe96009dd8f4369d5928a37c9a85e47bda1328f77c999bc91f4102005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc202185000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582030d4e8d7c6e93dd32c65226cd13594acc4205af89b367661794a820a4aedc29b005820023156459bce5969ca1c8e639b1da00e10c202e34f71ea1e45b6f6d5006ba55648045a6af7dbad381c005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a850083a6669025f0b88fcc3460e45e3dfd400582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba4103005820023d4be099888d5ef26bab1ee4b947a38b5e3db9ab5347e9fa254c618deb965f47011d41863e90fe0219054c00582002462d08f9112c4538aede79510a8ec5a6746a3eb27374b64abfc4616b3fe59f4101005820029bcd59ed8b9fd1f91e99c367abac30c6c8dba82dcc40020cc8a10ef713e9574101005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410102198140038327ccdd57f8f747650df287369f8f7a30476e6518e12fd6a7229b0158ddd02100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632cf6f0000000000463ae5965f4102fecd00000000000000257e15251a6de40058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5414fee680690900ba0cccfc76ad70fd1b95d10e160218480219f57705581e03ef72d1a86bf927082f0eb3169479f544520648ec935196399c55ff96000701192c1d0303543aeba149aa15d2c1bb6081a7966ea997db7e8ab8e009bc43c50e144e2a3503fbc9b9c1892e4a883b045860a45afd3962808e82444bd6ca7da9d1148f8f28a605581e036eccf7c4b43556318367847c2aa68b25ee005bdb43d17aa2d3146c02000c06445752c54b05581e0314e17ea2221fb9ade2fb0216da9378195deb5e8b581686b5cceb919f600c024701a7045eb02ab005581e03cfcaa0cbbe525f986084abdd65025ec10c70ae27297966a4173138c1500c014702273f61bf193003da78ab38541b258e5750206649d3d92c6478afbdd27add982c2553d38c4b551805581e0334109083e10383a0b5c82a0d29939d4d4ff9a37209a30592eaa939d5800c02468f180571eb780219668f03cf0bfef95c4f53e126ee0aa9cec6f5d194950c0ff7bc054f4141bc07cf90dbdf030c648f2ef7548d17e8c1f8d8ff26a3d631df9192a65bcc52a3cbdd4377d02135034a6d05e034a6a3e279b42f2f9bd36aeb410ed3a2e572ba35dc5f497d94c83dca030c456e7eafd924893a9de0168f38a5152da8fc5bc2a370b7cf3e54cd166a6f0d03e526589d1440d35cf95b7ab89edbee425a23d752986837584c0194330d43edbe0361f4d2f3943f201efa5f79678ff915c9c0c5a15e56d5fc075f329fdc4e6a82f40219ffff032792997637ee7131d444d7cf0a278aa301131830a3b84ee3effa7ae283358983037930f8d787a22bd41357c2dcc99874bd045b3a4b7a7502fc450657b263cc92c4032f9bf0383ae93a4b1ab0dd9e06ea6657c25a5665ac100d45bdee918b8845dbc4038d014d6e9eb065303bf4d29ab7e89434d1ae3c93fe5528d91802599e4c4231d503936584581e528adf2f0c9e801ff7ad5c6d6bbc0d96d4df65f6e0dc0f51a4e76603d6fa41d58b50c32684fc0622f4207f0c3b17d62e908b6fa30a4a9163f907b8d4038c4e8ef32ceca70e18c6eeb5ffbb241cc13c74565ca09e16ab79c33cdc09e24003e6a7990640d00435d353e2acf349694b977f332e359dc5300d04244ce625adae0219ffff0345635abd5e98cf44ab02b124002f129f78c5418298eaca9418ac7429c67a9e910219ffff034512ca0f938e9995b70fe137faab17a7a90b15f0d51e0ff7139f9af71fd4881f0315cef8a9be155809b5279a94f2456828dd7987f15e2fa4f2d1fdcf7b1ce3635e03c872427565eae45b50c275c5a1d24bb2dadc7a6a8c124ad6983e63bca75bf57d03fce52a1ae0cc7cfab9da23ceafa2e9cc62f06b8a353d8e80521b78b7e8eb781e03e4d5bbbb5653046557580e9e7896bc4956d913c6ab7946c8ca8c6fef05b6c74303000ccb7a57999d30bf9e80d6ee0e64ebb8ee48d6ada91fe96d9bfe1ae33b2222038543a1731f7113101edf6febdffddfeaba29ae61aa206cc7aae499f615553c2d039055763081e0c42a4185d2c5f4966605386ce203046a43336f17fe88c2e949d5030cf6f73614f40df0ce74b64dc65d192d03cd7e265c4015b353e1a2f495f192d80381e07186b593002fe0617ef89e89f1e2764a85b9acff84e79752bfd502314755036cac5ee0cd8486ee08c80665d683a9f82cfdc1890cd1048da2ee27bb3a26dd32039da74f403c5f33dc27f6b828caef4bc67f7cdc9f3acd100d988abc919e9a681c033eea101e9838f66b6bcbc135d50d8dd8555df9ff2ea1a35e3cae496330c6feda03cc1c36973b71003680b2ef88f813bb550d1a1e946ab9f4f471dee26d94c025d503e9843ff024c8a5774c57678fa46eee41c75d57e1cf5c8c5f7b2de47d128b20a20396858d9950cf9f3d5e6746f8f3ead7a9b70eb83b72e9b82a6f7c14a2e3e4a479035e3c3737328539232aaa1cb94512990c95f045844be16e8ea9f57fb667c9388d03799a872fcf2ed43f775a77e06650f6c4443f5de458bad2bac5dc778bb66db6f905581e03976e2109ef805f3a49d788c4d6d174f3e9c01f28afa259219d4883aca00c19017c4804812abe0c6bcb5f05581e03486df3657b09dee74e0b7e9326795d724c960109a23788b98e283d08c0040203bda46bfcffc49c3d4abdb28de79dea1597175cf9bf8318518505032a2f7e547703367f091c7019f4d27b5ebf44e56d16178dad8c50378b055b0a16785dd701a47403e7da11bee51a59bf320d918d975fe792735ab4c69a89f063a40e472be3b1b95405581e038c11cd751ebad0e664f4fc46d8733f86cf5c9232186de1adf4f7451ce0040103e2d35656309a3b75f6a8a169e5eea16e90acec7d7fdddc53d66010d87e5dd42703e94090163d65bf080979c37cc4b1e1c475a70e5d173df9abadb02282b95e54fc03181770db0dba8e8f6db7c332d472462c1228686f692b6d0f0620cb9ab5347cd905581e03d3bf824165f3e62945351a52d0b9bc1624a4f8a271b6be97fdc083d97007011bffffffffffffffff05581e03a24097bb10515d4a8a026c20570491a8c25f3f61569303fc36dc7f27f00c024759f706d4c5360205581e03a2bdaecfb011c44005ee714430a984d366497f76632471c9496c0c12d00c0246545abff4a0b003d907eea217a36811eab1278c0104a461a05a3432b605ba63a4780de20c631646021979dd0379276a46efa3391ad35294b55bdcbc766a2d951b57c9770a6e0ab8e3dda1a5d703f6229dd67993d10ce8936768d790cfcdeed1c030807a5a96ca0109101f181beb0347a0d4df2ad0afa2785a56c13c367b604ebdcbfd51611ee35ca088bd6b7738dd0219ffff032e505391ffeaf376e49d68831addaa862adc5b841d7cc4de67cf02f5547734c6035211505958813683513f837d3e0ba132e9bc05a80b6f0401d4947cafb91a200d03ea7c75773092ad7c12bf9ebe44b980d1149a4efa841c8db28a5bcc72011dd51b0318c99ec8736f730cf1852e1ad1c7dadba94c972ce7a3918dcb82f04fff857f860300fb475c168a3bc1b1f5847d578b3cd845dc4d11836a264be4af270d18f7563903a8c9a5794d049f8417a06cb2caf28b79a11358305917f38d428f86aa9ee05b8d039d8f6c098b2079100b1a97f6d61e99aa6d5fe1bd524973deccaa71a7b254876c03f88cf715b22da28a499d39fff65bd14500734973265f2b3012cc7658656c4a2a03a9041a80d79cc5efc9a55abec7b9ae2086139846778a3cd8c653de0dd2201119031374680bd854dbe6d8760f7413a8e7fb051b2d53d4bd430e04a41ce94a59e62103166f4c1b7cac98e411353c3f5a5c7ac8da5ff28ff957fb533f0f6939b360c8f303c7e20a4394e16aa27b061ed56dcba84ac7edd950ab5bfde07cdad8dd83aa3a1403743e1d544a872b474cec72a1d6d2b7a9124aa05b866f014f89ce7a73ec24ddd30219ffff0359126b856b19cc34fc0d6067ba3ec8ac271e1e79d7df388a8e095f3ef05a4e5b0302e260e93636901e61bb7efabb4689fa658190f3d1c76d2995ed927528e7ca1203ab716a8785f83726dbe3b7dec0cdb6fbaf7114eb65dc2452d48261bd4330305a0367147cf4caf91bc355176e79d5373a4b49dfec452d7be677751e4fca9092511703b2c3f6501ba6a8fe6130939984c38e6fd468f25f79423aa78b37d383c6e8123c0352c1da25baf17d499ca0a924224dedbf67a03be135fee41818ff0c06e7ddf8510356366c5ac73e92d6c95194fd092e0a90c253f3926b929d82cf8ef51612f8451a036ac893e1c45a734901029dee38161b62b7ca3b8289e658b201f477b2bc7ad8cc03eab2d3ac8d78a4ba4261a4977dc8577c405f94149e316f6f78f1bf1e2d94f69d031a3a29401a68708787cd566fde1f39b9e3057cb3094890ad6d5a2d2daef2ff4a0390ad17946f35c6d4e3adda147e1b307bd36775ba20c788489d39bc6e4ab11707030a82697eaa75d7c2762e5e4ebae5c980c636877f6c5ca0048453571168670c6f03d68df25401148dc7685f6596de5ff672a7b67f5c8190c9899cb384e4a39312ef038d2ea67512717d639c1b35d472a999d68e8c7a34cbc52ccc9cab3c41fc1710da038e3cb4b53ae846594490e7263cab232e4fb43a24e0b75e8930dfb75e16ac13e8030df89a680a6135b77ce659844a5965671b426896f5aa7624336ae24068f1ca810312424bac9ca34d0331720fd805451ff72a690ed1fc5f56f1eedad7a7fa0d714a033a22937302904dde8e82fef2d735aca0bb354e65cfb1e733d6254cf1411eda3603fdcbddd26eba6baca6523e8fcb2b7efb35c3d5aff6bb7ffc4209ebe7af3c657b03af571eb2d148af6ddfd675c28564253dc24a0a07f7a87c0166ca61903f82bd3f03e2d70a7484ea4cda60d2882d6a285b0f4e384a23a04113dbd803396a91c9d063036374e86be0b665bf53c29cbacb1c7331a28db6fa7ad74ef9cb2274a60e2a3b9d031a599429722a40fe44328c5a941ccb29ea3deb423988eced2c8f0201ec56f42303e6fe016d652cded39a91542a2919e957093d59708288adf251617d81bac5e8c805581e03368fce7a2851c3bc64454a6e3f9149e4198b2c56134022b17efd5239e00c0448059408bfe6c2c7de035f7e8cc09aabdff7c87167f6d29bd7fffd632ee413c65dfb6fcb9f9687343bcf03cb4c2dd2076b37effa2e9cf0bfc157207aff6c2f1cdf0921756f9bc9338b3d4405581e032555b8f486cfb55ce80f04dc89231867082acec0cd3fc6b7cd25067aa0040205581d0255bb902bfa276b97bf3d6948d2bf87f3bf0854048d49f44b6ed6ba900c0747386f13e900c40005581d02bb13c16607ffe8ffe2e9c15f5b3c50f121007b08cbd92a9f5e0efaf7040205581d02806aeb244addc63f7989a2d1a668d47f56c66185a85173f68b4fd0bd0c034767ad838d0bc29c0219180105581e03cf95ee4dfb6142f9a2cf9d31f3988ddc6d0bc6b682d872620480b70340040105581e0392d973460ac77a79a11bf3563e341d2c02433cf5cd36941f7b20e021a00c0247016065d12ec0000219590f0347c0ad304c15cd05d9846281b0db1d78e4e3870e6d5eb15cd65e9776f11abdb7034785bada5dfc2a83d9531f07e73b04c28858e6f0e11780e7e59dbe9c583f3c7c03fd7c7b1570d953be9277ff2ae9345cf8252a822f78d13a9e76f5348178b4fcc803f3dd76cc0b536875cb776a024776dc42dda9baacc75a85e5a28aaf105e0c52470312a5bc1bf7f03f7e43a8a8e423d84bfa2b6d868d1a59ead54261ca136b72343b036c2caa018e4c519e177f453b37e233127aeb58d339b3b015efe2bc50da73408603cd1446af1155a602a2399ffab0cfcf0cf3b8c032766d1a62185bda9375571ba50219ffff030cf1980445e766d3077a4ff3d66451159d5a3430cf626681dfa617415ce4d14a0365fb5e007ab1f508b700613e847602c85e3727c4c29edd9ef97230cc794c21670350a06458627a2386d6c1f8b6ffbc434d313b6ce8cc82624a1484ecc103812a6903d08e3abe8286b0ad3c81bc103943b46e7d1fd4aa0a7a813f20e048df59a526f803752495f7f84b2f3ea81e05d8c89861630aae6a347309797c15f68aa518e6430003251bc1f6fda27a89f777d4e5a581088c223f313f3f8dcd92c434d1ae14dfab8403038cc2a3295b70c3d180b633930f7203eb5a1785e618269da84dfcc03cc0489103f778e604bbf162c33e9570c58f894e962f4e3b2ceaaad4cad6ed9200c669551e03edfe108567db8424623e91c61d0efedc24292208612754d68f9921ff5472a02b038ce27d45e3c78919bf3c13e6dd1836305798b7c421472dc524a78a9a2403dc26034c67a0420ffdb14f7b225de425222a62a3eaa3fbb260bc2c4358ec25ed27dfed0219ffff0219ffff0345ee381e8c7032d87f6cd21479a85bbd8c2794c9245569956d5af135b9df645c03da8725178d7a6e2deae97d9da1b58b5613fde2a17e23d2c67d9df7d8cafb1d6d036292915928a99dcc3ae7b1c48a8ace5cf56c0afb30409dd0e2da618b271396af0347c7a36fa13bbb8983a75239198e6f454c1fd499acc2cf57d6bb2a65dc21530203f5ecd8af9eb17d5d40f54e99dc45af1856a4b62006a0008b0efd28c8e898e38303a38087273c5f7aad1430660a9647ae6ec30d45039df20798f94b5d8e263b2a6c03abf81edbf93dfa61a06bebffd6a8e813d440de9effb962f56ccbf19265c37a95037e81936dfc2aae0fb387aa10885968f291fc768ee8191839a232e4d6a77bdefb03c3e178851e1bad2c7c35d24bd3cc3404ec700742c43069dc9ebf3c9f9362ff9203437cf8bf73c2b38c7ae32de3700325b27ca409b4664e29a5979a51fdde2a068d03e40dcc7d3e907141740e80c50b2ad937d15b503ff8519765b6466d346d41acdc03f34c9a24d7c274033dfde4d441005171e17ab546f5b9cebce3b85d90f9cf72090339afa43a0be79dbb88d401a49f45c13b78fdeebae2136b2bcea1f95182b08e5103b1b0b6c72c7602182efd619671f507519913e6591fa2c2588877f056885943fc03d1f3f6bcab49d96db605a4da4a4a3c3c1e1ab8a5a504676a06f056455c292c2f03f15713077457f11e02b90da447003ff77ed23d4e8863cfa2b19f3f8684b62a47033d8a6fc5ad01d0d10bfc301864318363145cd353300d9b079f1f3a250366b47303b0e6571512c5a03b7a982ed0833961f5c6e3ca36e8751d79376a827373dbe97d03e23232aaacc6230e390b4e8d0f48ad853a62ec6d458c0b2b65dee5432e01cbea030e73395fe6f549e8832852e1765e462d49e0b7cc7d34245205015c1de1f3f3f203c22b322fd2e1a02e0a49b6bf253cfdd9ff818b6ccffd1a2ceca10382eec3daed039a1855ea15ae64fd069065a379036b71007b13fecb622f159d80183d5fcb53eb034a01e36a1e241148b441114f3d37b0b147b0e9939751ea259123930c71f3df1003fa1601e60a9cbbc23ad51807ca40a5dbe62b180c1fb55bcdd50f09e22b55e06405581e0308b958593fca8557338a41736c203e5a40319c1a5d1ddc2597b0db8a100c183c477207a4d78c699b05581e03860e05722394a94a2ccd6865ae39f2ec85cca6ce5584adfefc0d48a500040105581e03e0270dc86bdf5642d5e00e114ec1f0a5aea1146e07cc12afc501f92400040105581e03e7194934542049ada2428cb9f979ca794baa3dc3da36ee7f3883d92a300c0144319b011f05581e03dc3d57a7f9260ea364581f95aac75d90e010af216ae57d34505441ff100c01469eeee774a39005581e0370fc11f711f22af5805c26552a022ef2e8ec787cd10b3de16a3da984000c01470194d01b3bb1a003415965c694c613a1d7f33bc36ed0ef000d285b6e15699e94a78704dee83772bb0324f3b54462e2b0c1b87747890b25a71d91bd836cbc961dd3999e34e30b70312e02197a3903b23808a885353d0aa5f008ad898ffb392a59d121b7ecc3175d1d00d24a74e5e0032fc43dc1d626ff1ef761d01341b66fcb1ac4fe5fe1afefa6c68a9db274d4e5b00301cc24abbf0671b5df2ae748684902e9780748c0d9cef38b048a188d89b9f338034d7a5d126cba1133b1ea9e3fc6a459ff0f2b99cc208e6c82bfa2cec07914454203ea17dbe521f9341791487f52a72dcb2495349630cfadf1c7fc143f28d8b584850398b2711bd87c98dc8f433fc517f48ddb9a5d2075d7195fe631c46b71ad6de6820327b58f90449184cb88be20b5b97de68fd8a100cf4599a3882c8b41d20c7e51d70219ffff0339d62a4566ae1d9a797f3fbfd796f247726b150ff6651b7c53838cac016961b3036d4e084ce569b5a955bd1c13096d545f927eb512fd0f36c06fd061fd180108a803294091f46d42c10173b24599b45cf45d5d553f1950e2df97dff2a3bb042dac1c037e50ff2a9528ed6130a3342efdaaa8721a2a27fdb3d43bbe6a4c62ad204d6628035bf5c3be4b4f3dc508e5e8ef1c96db5c67126bba5fae055e5ae05feb86a99d1d03e20ecac15a3219c7eda588437c031fb5c816cb5c6bac2ac72f6df0425a7cb0490376662b2cb9c0b0d38c6e0404ae3dd844d9303054ee8e870fb03c17c6ac20c4cd036fa41947ab484f43c10d3261f87ac2297ac0b413176baa77f9d70d8afa307f1a0219ffff0367ebea6e786f2fa2c6bc137adc4b517eafd400c08ff987fafa5ac31e05ce505003ddea473f6a59386fd1af2e7aaf95f79a9e0dcc692b9533ce9d36a2d9da1ff6fd03bdb8855989f262030270da58e1ba39bbe6f73d1075349165351f2ce28e1f30840326b8037fb34d603b0acc7f43ef185411de2582b806616de2726e8441cf912c4a03137f4f39aec6d168f83f29647b13b111326aacf4fd7c964b4b0d2853cd438daf0332d630d934844c2adb2a07778913c2d907c32a964172801fbe632085705ba2f903259e185b0c9db4a7c46b114cd9e10714193ec9c242a0c76c394fb75bf83e0ca70219ffff0325ee713a0930359e015138ca3fde6cdce9df56052242b8b3db670c144f63487e03f03f64eec21648c91a943db9631b432e6cb238ede34f754abde336710b39c529035bec030ceadbb87187106a46a6d6a0f2f6ee1ba2560bf95f36bf36a91c58879b03f3d4311e0f9b8cd079e8a7ba2094b489796d50930e26aad458b37a6fa84bbeeb039dd9e09147480a23ade790565c52f26314b679da33066ad9813c1101ec2661db03b73edfe2658f678b34c419ac759bb14d38492f2bb5553eb6a7a972892485b739037708ca9725a6938e852eab1e23bdc6b9a0e3162b421762599f62ce03c0d37bdd03edc1b2508c2e59c985e04455be78a3fd4b914b8a0d9446ee3cd2a03104d7284f03e67f327ebc4c1a444ed2af183abd81077c9a769510bf61a5231da2807730c7110378dc92d76b4506f4964dddc9d6a00ec5d43378ed86bb04f241f3c414ec6f8997030b61a8668715f589d20f9b44712c443935de9f055c0a1ca8d6ed5edc89b69791038eb91267e824e447c096b72a71cc6bff1d6bc968a8c7e63593c033c66796a6440219ffff03df89cd76b18dfbea675e09a81ef0c047b201bb0573c9aa4a8fe701d0320662e803826f39f0174b69d59ec3c33607e7ae7d1a225e329c37c61fc17fe2cbace2258103e600afe46dd61768e113cfb7f6b16b340d23fb2336ff92a4ec0ad00998a0d98903f0ae5aabe6edd382b3a28c633462784fa56683ce817adb787701f357e4275d640320171d991a668bbef590aca0394cdfa73692c98b4c0e2df26cad141c91780af70372523884c306627f2a660f46ff1a8df38ddfa1f05fcc3881d410e48abc0fe6eb037881521375757208cfe3a6c624a5e60785b6ebf5e2c6920c757aaddfa583468b030ef1cf9e7c1391208584e339ed5858330e49818a9fb2cde3fccd57b0da79f94f03c5f7611227e370d3aca17a78a9255e586f7eed600fa8834fb8e507e406596d1003facb8b38411fed8a4e69848c5d2923accf0646917d287e2a614bfcc9ab1879c0039047cb20383757af6e3532552df418c1728fb02e70aef0a83ff35aee6229010c039777e0153f3acaf0269ab54272c21270c859cf35a6ce1baee0d01a3f51a72bd903c721404ba011db3a9a4dc78c5202da653ef4557ca1df08ceb15e61b658a12a5703f911d9858609b86588b7a357227b0985f7a5bc033573efeff4ddc10c5db86bee03fce9c3155ab70536a49c5b6f387394224496c7721eb6312ecea1594084137630039e2c4eb67f6a70f1a70951dfe259b89d7f198efd6cd13f0f4618f30c209726be036902bac74cdce6f5ff24bb5c77cd3114cc79fcd144c86b1993a113ccaa82e35203d51f84dea6a999a4b5b6a49a30f633149975953397ed50eef3e7e0d8618eb48e03d9111d2ac8fb589a14a30de5c59d7137f9685dd1e04dd30e015afce0c1d9384703e462cd14068c7b2b886e7e9162ee1f94622e6ef84855962407161983d070d6bb0378b0bda242fb876a236e1753f52bd9fe45b83f83549cdc143fcfec0ca74e9fee039050956629fa404595ad45412697831e2efc31658922401934bb2ca57c53cb4d036d459e4d4e080cc5fd310a36d7040d1433ac6f4e4d6aa617c64a6d732327031903ba8dbadb1f5dd7cee1556a3cd098da8bf7147498de46d52a5e9f24e214df30bd035247f6457468627987bbaef14a12a23a08b4030fac3dcc13e439aa194cfa34bf031e289ba464eecace608fb27e19f37ab94d05cc3ceec43134227d3cee2d4b16230318e256614d8e5cb5668546370534342addd3256788a535d2c33718a925423ce3036574eef01ae0374384aa584ae20450b8d0f78551a83934ec067222f2ec11dc5203d21360c36b911a864ce581ea711bcabc4e9832e29dfe0cd7641ea412377437d503364a1fbf5513fa194de09e39c307ee3d5a5651764f4e1bd6b9e1e0d5f8ebdede03264ca3091af9458a689643b78a9a2932a4fd7ed8d56824f5bf94051fac6cb29203393841649cdfaf60c32bf124871a16e10b4daefd911dd1e5203c90e36cdf0170031e44c4e5a0f281a42f5872873a5982202550eb5502b67de725f903fc264ace80038189b29c287affc00d92ccb8ee6a076713d5bfe89829c4b6cfa415a3ad46aea00459034e60806040523661001357610011610017565b005b6100115b610027610022610067565b610100565b565b606061004e83836040518060600160405280602781526020016102f260279139610124565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100fb9190610249565b905090565b3660008037600080366000845af43d6000803e80801561011f573d6000f35b3d6000fd5b6060600080856001600160a01b03168560405161014191906102a2565b600060405180830381855af49150503d806000811461017c576040519150601f19603f3d011682016040523d82523d6000602084013e610181565b606091505b50915091506101928683838761019c565b9695505050505050565b6060831561020d578251610206576001600160a01b0385163b6102065760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610217565b610217838361021f565b949350505050565b81511561022f5781518083602001fd5b8060405162461bcd60e51b81526004016101fd91906102be565b60006020828403121561025b57600080fd5b81516001600160a01b038116811461004e57600080fd5b60005b8381101561028d578181015183820152602001610275565b8381111561029c576000848401525b50505050565b600082516102b4818460208701610272565b9190910192915050565b60208152600082518060208401526102dd816040850160208701610272565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220d51e81d3bc5ed20a26aeb05dce7e825c503b2061aa78628027300c8d65b9d89a64736f6c634300080c003303a0b01f872ce74973eda9e94d5f22cf46e29f8d8446d8ada5994655dcf956bdff0310b15e6fdd76ae05f19e65bad621244ef3350e044970ed999f16b13009d72b150382abaf983f50741a2ba2c82e9ba190ae8f997ea35d34febf88ffebd63d9faf0f03cb42775a8360edad61a1cb81bfb9bf779f9a1f50a0a931266ce0e8f187aa61bb035aad0050032e928b4d69b49afefd1b54e59f1b2ebcdbeeea2e42f0ee752f3bb8031037870bf34df2e2245eab6319d21cbe64c7a51fef20221efcbc7d12159e1ef803cfa621ba76d09cf6cc10562958d0ee7f32ea56c02e99df737785d4c348c133a20350e577d2373d40dfc5bb1b74c3489dbbdfa3e111e41b03de7768c0a0e897c6b700582003a45e123972b7b51cfe6bca6e5610d1ec91faf909ff4d02a3fc17ce4de55b7058190100000000661f171700000007735940000000000000147b6f0376d6518d65d5964dc6bccb7f72810c0e4dea42f61a5383745d677281632f982d032dd56c0754f662781020fc9fada89465121752ff2ee39068a81b80b0204df51a03aa1338524ac0a57168ca2446653bcc1375a622b5d557ad9b76cddefe1a676be603f1773b7f215b4db7cf88a7f1317c93ba5989c67bdb2cbf26fa598dbf3d8ed38d03f6497f9d6003d9bca41d80b1fcae95fe734be236f13ec79b77ec328dbe3142eb03ad63611d713ee73ab6b8487170630c21c4da0f38e24df835dd723f599f1b514f0303ce2a360471fb612ea90c0526f3e236e0909a3ba5dfda8bf2ce6880d7e49612038c1ff07ab057da1500f289a2506587c0126f45b1d158e16d28eccf1136d40bce03358c6682947ee03d53d5481db4e08f3e3daf2626b589e366644416e68ea7f9e903e8183cc84b4f63b97a964120cdd831788ba72e6e9e0552239404abb5c6d4efde00581f025f126c5256783d9cda8db8d20ad7dc5cfb86876ec5fa07c138e19e2102d158190100000000661e6cef0000000773594000000000000014636e037a9f03d313a562065909ddccef1b773a0c4773c34cbdcb9b191fe8c05ac1235203bc97dea29cd0c32b3ded44846011f519c500eef2307bb729953ad4d108d1acd900581f021cbf37fe9b007cf7060c8470e04c7a62b42d81e636c58cbe83d0a260a32c58190100000000661dc27f000000077359400000000000001451e700581f02dce051078df76b0167cb6088dc869bda06acafc8b90606efc8de14c7b04358190100000000661d50d300000007735940000000000000144aa500581f02b7371cc16b1040600f6b306e03f4cb5fa7cf716fd117bf16d5807af8042b58190100000000661d183f0000000773594000000000000014485600581f02dfe5d91ed97d3bd9647c2d1bf47c84dc1f0041afc5d0de80eefd1123614b410100581f024fea35dbf09be1c07faae2dedf572208f70671f9d3081c76951465acfe77410103e840a527742985d480b479b93d10612294543ff5f4cc1d4dc83fb55caeac9a8b02196d5c03a4fd643e2a7089ed4c607bc15024954abd0a5f0174dfe4a7647f4ebc4001ff3b0219ffff03114e435e33d3b9f195eadc40163e5da2ac6f524d785c64854c9157841cdee45c030591c990bc3e2f2293ff4c7c88626a6490a73817efe77bfc4543cc4d65a669f30334794fafc87a410ae1b18c02de27c8ad7afd50c4e9035e66be80b3f9cb4266ab03c60fe9ab2e073cf41b042455c739dd3ae16ab4ae48ad427a227dbcf59f93f54d03a3af08e627a979e58499977647a469a59343a927241526881cf2f3af5d77160003ea3263c76097fc6da334b4452d9fbef2900526a53afa964b7d7cf6188567a5d603497280c21c4c4253d6670e2dba771067785ec46e1b006b73d942aba9fcdc30ce034349ec6e50186394475b1bf22e1d807e6a9e7c57ec70a4098aca74386cc61b5b0385c053273a8a22eca65e04ba8fda0a4c06e0cbed906d2d5c1ca23cdff0e26f1d03520a05a004a91eef248cf86d6d11b5b579c2ed6fb786457b977a02148beee2750219ffff03341e0c1ca517765950630c69999afe3d6cbd8c14c5180ba48503e48c33ed21d2031b2089b6e402a1f073be3f5751260b4db91269988e1cf579cd1a05879995d64f038f8f30d1765f097e2c9822f292c1a275f421f7a03c88ad8d89d925ac69c2771d03f189a91d75e7c29e297edf58199364db5d93710e718010c756c16024369ddb3103593f495bcf0496758a3d24b31f57ce2746a866a4975de059f8de256a8cc54fd803758c2bf1d25aad746809d8f89f19b4c137681c3a921e837a56d9ffe03acf9506034f4841c1fa01536c8e5977a28a409db7369146efc175a7facf1a05f59d075f6700581f02f4a354dc5c92e9c63e981489eee68ae2c5bc32eb0bdcd00ae56b37853428410100581e02805d32d77f97eb15b5f84b055885cbec3135b56be0bc21f894bd9387a958190100000000661e6cef0000000773594000000000000014637100581e025a77ac5f6a21563ff65989baf392513fed7c404bab2058351d2737b1df41010219280001410400581f02ad19d95fbf3d11c8c638bcc6808ec7bcf8941ee6cfe3d45bb79adb1603b5410100581f024424035d0ca8d9ec31ec7470d920c2b5244a4bcb71165644f42fdbed99af410100581f02ca8326880691cf622e39de40f50e75c96cdc4b210102d278b1bdec60698341010219611803caaed116b4308b7d501c40ad8526946a04a2e20a24655cf29ae52cf3d07c2d0a037c94ddd4de2f931427f744fee1d2c6baaf1c6a2223e57cfe2e72d8de6eb3fe4e03e26a9ff940696b162582a83fc659fb0fc6ec47e8882307200d14be72d042f8700379cf31161e0d8da8d9c945a18c2e673ea20103d66b6b53d038301ff40ea95c0b0362d3310f76c2e949e938be991873522340874adce810ef69bc87b8e789b6b99d037c8d0dae6b44bba57e47fc4588155f013ad5222cc6e3016c13953539a621aa60005820038946f7c304af0d42e276c6646135ce1f76f5f23eaab079be0baa6dd7c7fbf058190100000000661dc27f00000007735940000000000000145423030474baff68c8ba151a9cfeaf55f9cd44326a965807fe8622d32652eb40ffce340219fdff031eb028c4c02aec1e53f763ed0f8e3a7fad125b0607fac914adc140659b4cd45103b5b5115f23212108251ea6e3e43bc73716440e5b3d47b8cabe2c583fed8e7740034480c29d0394610ec188aae22d92d220e0c79300ecfb7aacfa130a1d9f2e7dac033fbce27402c2184a1a63294781a5e106ff0d77126f8851770c82645ff5e0fa90036259ea315dc889575d098e099308ef1d58ed11c4634ca028e3e18c5b2b52640e03dd0fb67810377752e4d18c9feef2e15ce7a18509ead3ecb271cd9e405d943f8403e72f316e45f0beac36346be2df3ca1b4b77c142b46b1003ee88463be5ab49941032803df0af826b60d1ee02413d8b962db3a362e3c08a637a6a6218522031589f30327f5642fefc8f83843c8ab42e0c86d5fc29d6e5b202faba4db924fe038d1cc6e00581f02572ba13dd8d6ce1a71ae4a9d9435a24984620cf88389b58fb0579089849a58190100000000661e6cef00000007735940000000000000145e6300581f0288535fead1d41c21074cb89c3f24217dacd3ee51aaa47be11ef5a777594a4101030c40ff4d0146c4e608aec25adb9822b911bc5a65bd17a43093958f8b57be86a000581f02e18fc5588e678283a9008520d9a279ebfdcd468fd2e4253db56c59130a8858190100000000661b523700000007735940000000000000142e0700581f0276b58d571bbb79d3e891f4f6a97095c2003594cc8971b083b4016f58502a58190100000000661d50d3000000077359400000000000001449290219014d03abaff18b0eb0fefc5b50adf6846f4ff33fcf3e6b8fb2cca30345f48151f987fa032e6e819eb7b1a69fbfeb05dc535806593672b213098b7003107d612f1970e92c0339749684edecbdbe145da07424cf183df92d37bf8cc2fbc2cb04896182edfc9b03761de0a6f7b8c2f8842d896b0513fb4907c8d3d5d39d3addadfa266759e8b34a03c4b9046093cdd84bae8b8432f8dbea6b0acdb0fb34d7ed26b09713747aa0ea7000582003939cb835e87d4e53fd75ea09fa1889f52445ae35544973223ba8f9392452f0410103c350207e0242e74b2944755d4aae220e0d8d18e10205686ccd6d4d30dca47bd603b4922866ab06dff30926cdc0e3f9df946acf04882276007d12e5bbae2b98dbc703963ac90d71a4f6c95787db802db39ebc6ecd3cb512f5f3b9a80ad8ad11f24b1d03ea41b59645b369a8458098706d6fde9190e3600dd85671df270108dfba0bcbce0219ffff035f6f4913b1c207dc96e1a1cfdc4a78cac291503be23cc05ea7ea7ff0d086c53803714a260d8d9d570c1ec8a38d4ceb0b8ad80291e5e9b37fe3add9c046549d1ff20372a514ba30e0fc568dd9aefb97244267601b38afc648d81c384c0839a2b10f9a037cd45198f88bce43a1b4677af8f1780ce92919473905b1f3bd425d8d15ef5ad4038b09468e6140ac0b4df15a992cee64ab3060ab3e3bec8b9633725af3909caa890346223b420f8111002c410e60366261a61cd26d147a816fdc3648b49acb3fdd220350ab4ea6cb1b78a50116b32d466de6a42af0e8cd1cd2a3e06b3032a8a2d2be4f032412ece26ea62afb1f5dd4b7fb55256b9a85a963821781f6c872889bdb312543031fbaeb541df430e1f2aa29f92678e2c9b3aaecf7dd937c1099a50e48189aad260219ffff03a6af252fbdf525f14d56614a3656a990932221d252e0433e91e883b7f21e993e03f620161ba831639b1da4d6bdc89f0a13521bd747f72b48fde53314b4bdcdc50b03692d1a36dea27461f81faec929c08edac7b65b323c7637b3cb0fc6c94c9caff3037058349a7692b31b2be9e81dde3474378b8284da0b0ca8421b0546480e7dc71b03fe10f807426a35219bf8f0a1abafae2db19f551414bb80759bbb9133c683acf503b1947186b898fea75f5680039f9a9b602e65adb297b8c6909079572332288a2103188537af8707ea461dc93433095c0a1489d99a14b7ce23c924e06c3f995e285f03c25cb08634a533aeaae0d4de6d1bb58d4eee938ba968996c25785aa2a8f3d16a03771b6dcfccbf37129bb5cfb25a9ea55a3dbd98a83a7c9d828c6f11bfda8b21ee03d46b318773d77da8662204db96993651af26824741c0833864a19fb8b67a392d0301dd41b322261278d025963fc54f3b3fc1a35250ad8f8a3a547a83a4c2fdf3e903e3c7d53cfc94670dd3c07c81b9a648c82d06ca3e107a77bda893583135d09d5d03d3708c91f458493505429dabc8d786751fdb33d35225b713da812bb0aaf2a35603e0c8706128eae7b1f4b1ce19b13c5db7a18eb917b592e2966d77ba1b44802dea03ec39919fb171f6c2ec6fcebf72a94444caa5c87543a665fef606a94ef99e03cb038bedf418c630d6c30c1f3ec151fa1c23c5fede02ffb4d809c23a5c4f3e9255a500581f02f7401108ca9cabe8b210d13b09248a9c0e85c061871f9e45a420c56d729358190100000000661e6cef0000000773594000000000000014604b00581f02b17fc575563afb27c8dbbf44137ce53656b4695d4a65dabcfa9d0078f77b58190100000000661c34f300000007735940000000000000143f3e00581f02ce869ee16c1d8037c87a0990f045a5e0b7c554fbed07d10812f12703e9ff410100581f02a37c1013c90e285b34083208c17ca0c3715370ac7a8fd98f769aab7ea71b58190100000000661e6cef00000007735940000000000000145a0600581f02815d54b6beb122f760665528fa7f4c2345ff31cf76a46e6707cf20e066b4410100581f021f44b7e13d2df918301e3387b4ff8da37bd524a767176ee1c4edf2a52a74410100581f0269ba2003ff2dec5f994ca5a5f2d35a9cbb4f6ba9422807c9cb2f0f411a21410100581f02b04759ed417b8b952ad840cc2162968bc77c24ae4d2fdb76128daf7caef4410100581f0239005ca10972cc19de79cbbfeb6b098685a3b4afd00f203c5ee79f0762f0410102193b7103855422d89dace5c481414efc2b70ccbc879491596949913a84df34f78eda49f703a0c3063937e61bc50ec023668a2435c1f5a6c5764faeda9b6f209304079004b30219ffff039548d1dbb8135c90bf8f42f90a69f84847eca65f74c925e94a7fd649be6f6a2103368b05da82719a7769e79802a30db88366161a930eab2c73a51e7d738f62d3fb03b89e7bf87cf931f93313df236aaecc498c41f1f283ce8a3fbc3962d8d92f3d3e0353304b6d86fa758c81b5cf4993c78dd6999ea1be4ad32c0abb18876055f76c340363e36f1291b2fc96ad341b71d96ad9d01d2fe7b902b78625ce3a08b3746a393103c13779dea3726ec1d99b40a73096f70ad1d2871b632a0f11f8691da8100c88f0033b849a3ecb5699cdf79932d4943cb55bbdefa42d8868dcbe6d18ac7353725db703b305e0005a4bfa26538ec2cbddf25125d5f47959b6ddc4fe330cb4c9b13104fa03658767724847d6344b1b2ea36b6d5366c4239e47281af086d31cc9916e16775c039c0a4303dd80c0eafe64d64fb0d63032565d313bc5afcb1212aa01eb52a754d300582003995e9db153ab4dfc45a19af679f00ada85302063c600121e500f9bbc4c3cc058190100000000661d899700000007735940000000000000144c6d0369283e3030033f041cc70599dd837b6d689b0594c2b5b60d9799512db111993d034fec85f4c610cfbca85279f0d21435ec4694b21421453efc002c9eca82a9157903094e62d571d9b97b764e8707dde222627c2114f6bbf03b9aba066d0c6deeeeb40350c9b61fbd1524224ccc5ae493b7e7ec600e152441b525ffd5517762ce4d0d2c00581f02bc9eb6bd5355003c57e8ae853a81852ae5816115b2026befbddd6358747b58190100000000661fc0c70000000773594000000000000014897600581f023e1abfc9c2bae4f43f9fc76f98c43791b9ba61d4d7c474856df34bf0362a58190100000000661e6cef0000000773594000000000000014636c030db792981c85ee65465a8adcd611cb8190b7fa07679e03b88f5a7547772962c300581f0262d5fd3e4782fbea3733c549979b4e8e14c3aec54c26307d4d7e2f1f22044101021901160219ffff0389b2aed7c53e9ccdee3b7409e70a0d6b69c7206b61144ed4ec971ea34cbdbb6603de814506342a3f8c63942fcbd6b660e75ad514cbfa697eb3028e7b89500083230343af73982c5f4f859f1b7d4d721be9b7b0d520bab268a5343e39a280d0329d750392707569dd5fa8a4d8bd4664703c3c706dda0fb2e724f30ae3b9122258de44af00581f0282dfe3a19c43abf9c91a557735a9033d264e984a9b87a9ea1384bf94233a410100581f028f0462cd2222a7bebbeaef8d7aa6c10b57bddd8fc0fc6df67160cfedc53d58190100000000661f17170000000773594000000000000014804f00581f0208a7d684a0c9e80f43e4e05b13bec400e8409b2d133f06c1d20b2987a6e2410100581f0270e7c0ac92a626d92f24b6f099780e631eb43eb5ac249b0bd29a27142fd4410100581f02495eb400aee97827cbfc06c73518f5d85ff74dd1439af49dcda8bc8dc5fe410100581f02bdb15da27834e9731cfe920ebf1a25b34c96df8b646704f82570428cd15458190100000000661e6cef0000000773594000000000000014636900581f02b3656d36bbc1cb49c63961f4f80f4bd9e3ccbb51fc8ea28e3207190c53f641010219c07a0377bc8b312e16a1811e599d893f66af806c3064d5f776298ea125fed365fbb88c03ec7f47b4d6e502c6b17d14411675e73055686b845aebece4081c4ea0fc40720f037f86ecb347f619bb9defe9364087f6311faea995a1c0927206676488d898ccbc0378fb8714c1989ebdfba52ec125d19c205d2664efa47d595d013057b0aa8e815903a4e2d72af613c96bd7d9cd7a4b2852ba1fee3f53a084c9f098f485d19867ba310361bfda98400b10c5252d3b0c29f618dfaa53571bb310d2bfa06750046af837a7035d97fba4d84a90c3e1233cc7d512112d2f525505e886f18c74740f0d3c01ecd1039ca531fe2aba6af0b9999ade80fcbf3bc7eb7071b8f4cec853b6ce7ac59cdcc8036a7e20e6fe79de6edca446cb744e1fa44afd8f59578bbc3e80c22d01d535d6790316d3d199c9bc061e7c2f885c4ed0aa24451d8c4c295a5e5651352281455b18a70377268f9389150466b2daa2ec065604bea7f5b95753a444195e7f86033f64f41e032ce12f84cbf49eaa5a84d67f3007d6ac51fa90a427d61beca8aea19f731465e6035760fe593339841dc7ed17d1ffb1cd52222f9d59df4b54c8733d3d85f5f5a7510219ffff03449d6945971f6df22cef78693ab2acf4ebbc7b578b11600284734f19a0dd069a00581f02823dfecc0f33b5a54fad35654ca4c294fac74ecab6c38492a73134759c14410100581f02ae370dad1d6c28ab96eb3be62e2b86abe845cf5b988517e3fbca119fe1c6410100581f02237d6b18be5292dcce3f64130ea9073e9f1a110d8df0d946a276010bc94a410100581f034308227eed52bfd83a32cac68cbc8b7f02d8e99183dce7b95334a4d56670410100581f034a991826a32b0aa5e291fdcaf5822ceb7f22f3f744243ca2e9fdbdc5616058190100000000661e6cef0000000773594000000000000014636d0219080800581f02977650a77dde325182bce997bca6c27b1b5c0a1932a9dd0259b232d6baaa410100581f02704b79223d55b0376ab236b5b0873d23344de397c5153c3b6eeae64dcdf9410100581f0238b545f19d8b67891b73c099ef79f65c1d5e51ff04dde31c7c2dbaeacfbb410100581f02fc415407e9c46a2e9ad91d0fceb410772a6b6d3e4fcb1e54c37b995d3022410102196e2a03aa885ed15492868397e497eda858f4d9f2f8605231153c46e90481166bc6bf7003014ea05c5b43b5adb955902c6234e6ef07223111d050995b142568f5d512636603cb9699882f5330a6b440722a85c60d891c58071915388044ed30b0fce5d3e71d03ad2b963c6b79b0339c8ea1ba9343bcfb2326998e2322dd166ec2531596a8fbd1035b86ef1fc2c3b2a86030da009dd41d71fe1661082fa9db79487b72fe3ea09e3f0313287bd3d476baf3e8e4af8eddbbe51c022288f7edd6faf1758101e3e7492f5b03336814eca6af8c49cb444cd1c1b0bf89bf3536bab8ff0fb43e4be273ce948e3c03ce4831c736d9911a0eb8de16212ca57c98ef29c6288435e75a44136c953a995c00582003b66f5adc2d10ed79eb2af940d6ca3cae1e4bad5ffd77b80dced698121b992058190100000000661e341f000000077359400000000000001458f703f4e4b7839154e7ae1458ad841f7e2a33e9635f16cc8712fe03071cd9d5328bb903489aec26b1c81af964d0b55f1c4989cc4514a727eac3440637dcbd9169ee783c03c6e60d1f201a3ab9c936ac8152fe84d0b9d5031f7380cc1bd7cd87fe32cc054f032eeb87207b39655cdf793c52655fac9cd8a668db4871c323d8c5988d5ff23e0d03a150043f8ed0b85a2271bf6f6bcb7134897ef18430cae98f41402cc91d3b4c4b0219ffff0336d8ad3099ea4921be0566a6e3400dabf30d0ed4b649b78db96362a692cc921303d09a940ba5181a388d7d4be0727ef390bd98a14c8726c06d4475452a0f5fd39903ad7a6917f0a79f429a5022da64988e381661acb768eb5cf8b64dcf914786954100581f02cb5b38b4b6316501cba158a93cd3f51704fa5b7bf4a60243ea952e62ffbe58190100000000661dc27f0000000773594000000000000014522d00581f025c5dceade9603479b177b68959049485df8aa97b39f3533039af5f45619945391a175e2a00581f02df29a06a1118ee9b323cd1ff2b2b9abc8b68588682b7becf86c6e8ae174958190100000000661ff93700000007735940000000000000148b2500581f0201fad03aeaff81ac1377b26d04fd1c126eadaf627f2a535929cbcf81a80041010219c20803b68672b16196d17869e56d51555060654bf8d45920c04ec4440c8ef0afa494550361e5cf379df55ee2ff4eb87b3eac49ea91413044ccf56d41bc996f18427b87df03f8f263bd47d093c958452b07e41e94e95e4c77d2570cba439c36005041b5132603b21a48cc6d8a275ec767779fe3a866c61d61344d1f7722609821ce189d3905d303c719456e14b91a8f598cc43701f95e609260bf04028f7c3fd356579af5212cc8030f924718978754d6f9f0dfaabd7948759efdc3fd7ed91b770502634848c300ef03360c325dae99a9d2d6bc4771c3eed870f7a8afa3cd9085a6691ff2c8b237c9a503293e8be01ed6aa1ce718faa464e37fba5ed35804e2188e5b3ea6e61ea67ce1e1033f3a328728fa1bea1cc10e25689a7e688ccb4348bae37b4c879caf06ef6777f0037c17bf41d3c34d7836514ecf558212a5d58deb90beec4a1a438283fa954fe7e70058200345b6525c7aef2a83854c62e2e2669d28f16c0f17fac76c6785c63a75c1b2c058190100000000661f17170000000773594000000000000014761403fc3bd09ffbf257119d18f75d2488f6e607b3f30e1254aa687b2b578284d6d4540219ffff037946c2ba45051d85dc0657cf02b78bfafdaf5c071f8a3740cd70538357ec92b003541bb443ffbc3ada813ae14f5db289328b35519513c02456f16969bfcda7c1f5039d1d57957341dc93a039bc161c432daf4a1be56642c18e5cc272d3ed2a5624630311875ef543d41a8cd15dc643a033955e23b27d23052048ab98c7653960562e3e00581f02823392c5645d108452022c962b3704758120576b91dee807546f2080fead410100581f022a73e87c7bc21444cb3e27881ca6da2ce7290462e547c9743acfc398f2ab58190100000000661ede5300000007735940000000000000146d3600581f02a3c552c15dac78f74a95ac4b180776a0aad071a483a3b53e86e13bc7fc14410100581f026e69b6bd7c6a23340678a932015c8708cf1f5cc241cb036c3d814427e4eb41010219803403d773c1c426376c8cf3b6aa4561ce12920db7969248a209c7a44b7ecc566d9b0003b997c3c2bd465cc3bcf8a3869a197e3686b6a74a00b3c240c631ef474f9dda61035529233178fb7eff705ffc5ec3901d2167db813bec606a20764261cdf0139b990342181f3025536208b33ff18ba611b44a96fd9e17f046333828a7fb46f36fcc1603362c7743a77f3510cc2bbae706c862c50a58e5c4f91414cef7b1ec8d5d2e3c0d03c83b9eaf26d6a4f6f00ac49c2388bd24f86e4520fb9f0abaaa4c7701f2caec600398899a8b59904ddf58d343afa03452d13dc80ea4bf7d8c82d74ce68a098bd1fc03c6b384393d18a31d2fa89b5084738bd650a9226a71b4805b34fa310426d2104503054e505c84d322b344ade311e3a10dccecbb5b4e1bb0e14979b2b69fa6bebd5a032cc0d409b615fc7d664dce942c53aab3b4cd01eb9afde3d9736aed332f85926903810454167be4ad4fb52078070947fd79adf064592d98ea42dac80cebde2baae50219ffff03c4d51cb1612c296546590a2396e082b21b2393e5c20aeca6e8fd414d0b31187503c962067de65e95458f2e57b81fcb8c9c5f16e7cf7b4d7e95ce0e84392233855f0391a1281a45e5275c2c7f7b56d903b2e2bb54a61b765afbfcfd82b8a68a23dfd403343eeceee70a19b5a5c071f4c901ecd9ccef5c41d8eb20816a216b52257aa10c03d7df453ade58a654048ebd1e7fed8961835220d43582467a58b87e3d9dff68ed00581f029897e39322ac27c2fe58a1f441f13f0fa0dd140798b6c10fb5f31c7b60cb58190100000000661e6cef0000000773594000000000000014637d00581f028e7210095167de046525f230e00474adfde9b9cf4d401ee4023e77af97704101034f2083f87b03f219577781fd5ff25cc821a2a02738835f4fa67571938d35f2b700581f02f0c22f29e787818fccc06c328451196a7a9be979488aec9989f5f0945c7d58190100000000661bfc6b00000007735940000000000000143b7700581f02ceaefc94e8674bf2ff8a5860a3c315c046acfea055696d09fad3ad9b560858190100000000661bfc6b000000077359400000000000001438e700581f0235c1d5efc6d55c9c156cbe2e0bb2cb501e87228f9ed3ea8082774e14c23c410100581f02a69ba6ccff6a0d2421977de68a93e90b6f221d9cd456a9004912cc465748410100581f02ce7f0657613412f48c5b7b925afc2e0ce667f1167b4bb9031548bb918e2058190100000000661f171700000007735940000000000000147aaf02193c0f03b77ede08d2e4ff16b7dbe1b03d8c23bd5bd66f385f271594465c0f7112fa90b403fb0c84abce7ca18bbd874e419a0721ca77479b86f83efea364721cd6e5ebb05303df32e377e17038222048fbbaa61ebb8a906bcbc1fc7b5d463b1e8193f964b7a703d9e219acd2af0cf59d97c0a063b97902b071b576f91a92854f92d44a61adff54035c33322bafd302764ac828d490ea8c8e8ea882c59b858adef1162fa5277008ec00582003f562912d17d9f898f87d62a62fa307164b1d2f386536682c227d84679698804101034f7864d71da75b69f386e7092ddb2ef6a4eab02b8927c8c51135130f5414c80603948fb5e721dadba231c354d1d8661b9053fe9bf0a956db16e13a26a3d4bb13f4033572a3e5e423518701c56f54ef2f5d0b881c6754bcb4afa279fcdef26825a9f603752ba615ba1feca876c6264f0d83d9c4070393901b3a74847194827064849e5503c2ff0817b9f126946fd716d02383f5c8075a26bcc0d0ea652239b83e1b6eecf903298471fd1c6424a63ca9f522b70aa34b8f1b9d7dc53819fa1c6ddaaaf907e95c0219ffff0352809dc0e9f6cdb2b6b904577f8af8e0376179e66d90912c2d459e15cdac86fa039d52ccd9556443f28f67c81352a99727040d26562e8a4c1322f4481b94054a3a03342ee6fbd626936742fdb289ec33ea6518329defbd8612055bfb0b685dd529a103316b1a0446f1d61a3e55495f7518de9611633f79220a674019c1608cec96e34801410c03150f09f4a5d706b37dcae25c30dc38ef577e6b00a084cfea5d5f7130ac7ece0e03bb6e2e70174de7f9c0262df96ef03dfd2b6c9f97b76f9141e181d7212328b1e60392bd231ceeb6d424cc5facc2739d3e97df37e47cf2685a29d96cf134c0a91829030c3325395c2d31baa0e12fcff968ad1ee8db6cf313ab8aebcafc712470c7219903a88711f89a53d032c418e436217b0aaccb735c59f12afbce3760aca2bb49d90e0399faebee7338ee90ce7eb22eece6397b42720a67d24562850d47f29e98641aba038befefae17c8350c92d5b5ecbc0dba0a6ecf7379c2285ae2e70d274f77fcf0be00582003f8a7a31a0e64ef88fbb30d947bb833f5db8a93d4f9dae35bed976f054d8cf0410103dfba5db08d6e5545e5d5f0d0a98926536a7430374f9ecb0362ab0a6e0482916303d800cd7293f177e2e4a8232868dfa610db6c875bdab9cbccabb3fca6103c9aab03ba01c4c05dc53d8deda8ef52195ce751863cfbcfe414be8b5c77ac7eeef21f0d0365e47e9975077957819fd1bdad69cfe29b11f4b5eba6a2c7d5cd531ebce88c8600581f021d5bde9e06d0d59a409c7eba1ea162b801e4269a85b50749bebea20daebe410100581f02b52843efef14d445871a4d26eb9d2c462791b257d123f798fc014de8a55f58190100000000661f17170000000773594000000000000014827200581f02ab077f8c50c9c23179ac8f2e9e0529ce6bb20c8dac41ccfc2fe4827223b3410100581f02ab97414850ce2db2b1fc055c2913965365d0810ec9339ecd7dc3f9d3760758190100000000661e6cef00000007735940000000000000145ebb00581f02d5bc6f5748e686d967055d5d3e0a9ef6c01dce70aeefbd5e6fdb4e124ed34101021995020219ffff03b913d12bee3eab6daa2d4201a0b66ef399cb716af2f8622b9a16be83911bdb1f0219ffff03c96cf58e270a0e34a9cda1de98969a44b59b44ec22fcfe495e93a93e02d4b23a0376fa40fe1357b8c0bf5d4611a17fa73901a419fa3176c482c35103356063be5403d87402770d236156d11eba9057f9cc393af9d1e5d76f054732c514c6e8c95fde03ddc1bbc2c2b9ab982fc371d0a57982256f0217c34e58fb0cfa90c54db7a3330d039e59925d118af16658cb6f347e76c774032c6c2c365a746a2c59a063260a532903527df89903aa993fcfaa2a2165bd423fa15e769d3c240738c9dbdbed92bfff8f031fcc7cad7c6fc5d6338cbffa6e5083b853917138a3639b6be54124acd81442c503aebcfbe137a076a3f24dd9fe62eac47f661541bb7447edee0812058bde083e2f03ce79525b70f5c3f856f1cac360121666c8367ebffcbf765cfdfbb18cf17f6d8103ed3a913b786bd5f8ac09303a27e1a0f2a6054b8dc75d1e72bf8b2a6fc4fd88b403a687befff1ff721ef23698c3a45de67d30469eda597c570bbd357e736030e90f033b4ff824f9622e886e32615a1a85761eca71c7964f776534f86ce589387efc8503070640a371dc50484058f9cdf29e6ce0ea890062ddeb9252b4c0677a2c6dd05e0344bb5fdb3e2b6497a17377ba48db76649d58a7ff5672606e3579e037a748ed1803bf46f9db9a4bd1ee87e414c77a96a1b1cef266099762103d0344a2cb002061d6037275dd3470d3f3af7250cbb9724c2d80e7a091a70aa820e34f5df097582ada2303e70bea6c38029f0b4635bda2397b01cb350c4d2e3f7eb3bfd304291c58c538fd0219feff03994ebb65b7330cc287ac8996ac62e03a103d1b08d1b40b5bcec22cf6ae5b6a35038ebd74b746f5a508f6b768699e3848d195401a60f3af550e495ea859b9c24818034cbe7ebc6fc00861ff379fa5ffa8d6257bc18a3657059c0e2475017db8865dd900582003b9375fb7f3268b99205f65ddd19e49f50346fa3fcc6da850501df5f2654a7058190100000000661f171700000007735940000000000000147c4800582003c61e0fe79f051bdf0c6b5db4f6cc3a60a04f8d16d7577bc310c5feebe61410410103906eef8a8b362de19051aeb95f04cbe7a430b0a923532dfc07462504d70233ab03759384fbfd3f8e362b6c024b31ad5e36b25414a6fc4fa8bf81074d2748db7ba603a6f0e86f9db617c1244ab8e0d4c115990be180f1515ed2dad51027b466212e4e03c3121786a83c21f431913c84a50f16fccfefc188b83a7adf53f05fdf23813f4603b077675be778d3ae5e1a9daafd4bc1480ae82c9b8757712dceb86ba69366f9ea0300fb86b84e5ab176903d9f372f3b7247c675c88623b1843be4f8e34baf0c52a203f6967c0ce55f7b84ffb8e362d24ab0811df1589ef02a8cdc3c84bfe7450b676403c3ba886ca2d4e6c7857de5a4879ec24dc7d5df9618336704a3df6573de1f10cf005820033d417fc47ae6f2e2ddbdf77164647b85508f2ee1277bfea3249332bb93e50058190100000000661f171700000007735940000000000000147e0d0371cd3f181a030c6a5c8963a61018f5fbcd6dc1dd37707f7ee029cd20715c2a0a035235e0ad8ed509e556eb40b5e5922b1ffdefcf3f80cb0f89949f89cfea3165af0317dd7eb95fc58d9aad1392f4a6fe6547da58159a281ffb3358dbd06561f82d9403f2e3687415979a01a4b449eb39a79bbacd7bf1325271e95864ca79803f3899830219ffff033c280e9e46f632a847ed4524921b0850d7423d5fe65168a2903181e67f100212030284f751ae4f0921bca58162fbd787a332d6c617b8fbea3c44d3a557ef1a03ef03680fa8731ca70c4bc738127ec868b3094df0b637d80746a22a0e674e2df7185403981b20cde45e9a56a9a2e63d9fd31a96f696fe3500b7760ac20cfaca15381af8037f3f8a13a981b5c3b047c2fb3a76e2fff50dd167da5868bd1c30fdea40e9aad703916c7e21eb47a70f42b3651f011f758b50e86103a3f7c956aa05499162fab167037674a53051ef2799adfbc53d4e5ab96ea2bd181431b0b43b7fb6a2c5f02d946603d1aa0cb3edcb005d2f6811ddca4f38b40d28a7cca2e82c8c668ac5bf8d337ef70329035bc03c986f335ee5b114b7ff7a8945eecaae52d92f20618d8b7785fd5b0103ecdba9a2cb0d27d4f38e73765c5b674e83648e1735e9cfab69f6b00b29e6aa0c00582003e473d688fdc3a9ee9fc33595118b955fb3878522db7affc88583ac6bdf7a2058190100000000661dc27f0000000773594000000000000014540703dfb2b9321aa573c3d9c271755d6235adb5e2964de78cd6de9660493f50902040032b4df073053b6aef92e64ad462143b58bd82ab94e32c5b3850de46703227aabf0303b22b3b5c6e3e1416612c10b46b31c1bdcac26a3c3e9ed8a0815be81b9e8f2d03fa71035a738cb8bb5af7c369192a335028640b5c69cf43264de88b82076179d200581f0320b8ae6314e030dda8829756c435773ec4cf6f0491ba0ce04baa6ad7e61058190100000000661e6cef0000000773594000000000000014637500581f03f8717b1e1ad72bc9b1f80877d98b96059c8a32f06f2e283c76d80adc1a5041010219c00000581f0247e9338afa4dacc7d60056f45e899e98f0d189a665cb6b08efc29fff4bed58190100000000661f1717000000077359400000000000001480b600581f02fafea07c0ac8949144afe0ce0e6b1f44f403363820cc73bb357e8596c3cb410100581f021dc5f521d504d8f4470ce2fc796026075b96b35a055302d7e36d6229920a58190100000000661dc27f00000007735940000000000000145033021908980219ffff038029ddaabb5b53a9921ab4c2339705afcde9f1b5f2e960a6854944121b63bde2038b27d23865584aff0740861102ecb9b07ecb39bfb84fba0dbe44d8dceff700b903ec35393100e4d32c2af012e09963196006bb0accb318b13f0749fba2487f7a8a03c05ee68ddf54feaff5d95b23c23755cb8458ecd2f4f75b2be996377a65c1f7af03cfc6174bee5571fe3faf82b700aa78c6a240f25255289c9669650223fb4acc710318a60c12e6d4fec1b835870f98c3aa7a0f6426a9b128f0c4ca7666343d6e287d0376de24035daec6750d0d8f42a446dd90c78ef54c02539f4a17cee6298c51e0ae0334c46bcfcda1c94c85933eca1ed13da7ed1c1b56be1f14d1fc7a489d71efd5f5033a7dc918e0470e244daa081063f70b46b4e39eb73007feb9253e9b82d2d2676103fabfde7dc7233455b400b0537c00f1d9ce5f3c757c8fb86230a7b41dc6cc47bc03bc87c8b67528f95212110c4e9f47c0fa05d5a01b846f2d2a126a520c8f4e2cda03cb278bf7f688c3b49b56c8a365e6e2c12aa455e4067d0159470102dca5311d4700581f02fd12667e4526ff4659fd9806c3e4e73032ac7fb5d4c0781af44d3b14151a58190100000000661e6cef00000007735940000000000000145a8100581f02f45005e13488a097f63bedcda7bed55e482eff309bd81e1c8facd103205358190100000000661d183f000000077359400000000000001447e400581f02b569f048266d502ad554f8feb202d03807892a9b000f4d72657a1dd8c9ce58190100000000661ede5300000007735940000000000000146d2c00581f0263a2fc0cedde9effb3f5b74f519e781a8da221ed8e3253206f2b0a0d2f1f545a2a4f2f3c18f09179b6703e63d9edd1659090730219ac000308a8633c6b4d4a871c5a2c93733afa24ceb6d09e6767b2418940aa3111593307038de133605d957ede1eb1089f5ec78b9733aa2069d2bba99004b87abb7fa172fe030cf9193a7275555841e92ed3b8e3f3004c6430012ec70907e0648b794d3edf46039cb60c5ef0403c3f95af0f28c262c391b32d2e860139753637c6ebc3c5b48ca40219ffff033b24702734dd39e381b07eb972deb5e431d837709b9689144a058c1824a9dc40035279adadbde8661fb06a3f8cc4f31de92aa2b13cf657034b2b3a3c353c21dd6d00581f02780849c02c8b32f29c700551f141e84917ee359fa2f345ea9326d490a22b410100581f02c6beb7065bd7e5f6d560e74d63ee68d7812061a66dc6bc21f5cd10189e3541010382c742b4b081d6335c31900728ac16c7b0f8d485d97c01bea2564662ca4d156802190822036e90d9b60a9c44bf66c66924c8c212e005925c3d06ad6b1a6df131837e046dc7039d73315a535789939d61346098adc249bef8ed97c4f7d332b3880689362c917c035db893c3e3f47ab84fc59ac5178f70bd976cde2ece43f6c6900c371515c4781903ec6f8101263864b7cd67223f3cddd06f7ab83d28f92017e844d3b13fd5c18984034d4dc3d80e525166d625b15cfc92bd5296c5b03f6463937cfdbcefb0bc4b6ef20382a0c2c4cd433041870e212983add812d5da9d5e1a066386429bb723bc5885d003a8ad56cbdcb497ee8d0029aefb8d19b04559b82e411bdcf6d13983883083c23c03e5a2459a1b481412fe9c31bf1dc89722e2489473d3b7edf335fec23179ccd4a60384cd2c377f9f1b2aa81d07608aa2c5482ac5f2755f3fd3bd6c71dff6a71e655703d1debdde870792bd2551ae60dcebc4f516e3f41fd1ae9fe92131ca68c02fc4820307fc644e4096039fbee1b93c324b5cf36e57c733028d58b861e034b5760fa92303b27a4f80c406a5b9c6be4677e636a43bd2aab9a017c36b92d2ebf63854d8921503d6527d0f877f16f5d5c45ee639014d99bc862124462841d37c54f97e5587291d0219ffff03398f10895a03eed02772bf69a466dd212e3a8e71eb431234238d7ec79d3cb213033f896300264cf4491ec1c1fcdbb23fb5768e333d9b06e536efa0d57ce4fc808303c2c5928a0f761e350b59e0a0d0c694c6ae8c68d929df35e1e5b9d2bc0f8c59fa035d890ae21caf11e232bc75387514f8038d212a956f629782bcd8d1490e7720df0302d0e936c3efd0e9e5f4fa943dc135f260698033c530f88c3a8c031ee919308f03221acfba36ec43cd9b154b6bab6c30af701295d9358970ddd1c61f7d07afabf40330e895f353cf81cf5166aaa0c45ecd9e6a36c85108696f356f5eb76328e61a2d031895d24368450e135353962504bd5a3e7ecaa8aeec099237372a9270ea9c70e1039e4b428346fe70c80a092412b00e067a94cfefb69e8e9b59c0a91ed414cd395003668c5abc10839105f706e934977e6edb573041f966ff3dcb45abf17f8e9284a0031e331a4e12e6a44d394f257c79bb3e25f5e7c4c115cd05a3c4c320e0f35dec2c031c5c91abe4f3b3ad1d75ac9a9c4e948b072ae8d9bea8be6a0559236eaa5f953503198a07f1fda8850f293cf910fb8db506348060b5f33e22cbb90fb71ac93865ff034e78cc7d2e46392743df22060b73dafd691fcb81838ee0d0452161be699341cb035994fc93f13456d126f662e6d521a1e85456a639571d5bf9143044880df0eee4038df8d4ea75eb575499a5b30f6d35fcfac655dc49a3f7ce9ccfb9e19ee72f44ea03b2b924f81e4a08f0f15fd8ff595b17e7e2d226bb31b766b481504e96cd743e8a03908a13f9f47f71449378f69986f1a0adaaab24419dbabbcf319eb997b57686e40345bc8b15f35c0745b63a2d29c288b72d8c042acedabdd865fd08c35d7d7e196e00581f02c04e7b23ef6ee58ee1b2630524ebf168383258d1beb181389e8a075d7d79410100581f0298c9a68c216d990610ac816e5044e4599b74c17f50174a2297727a35e39458190100000000661e6cef0000000773594000000000000014636a00581f02bbf70a2d97e5688c8f89ddae484556fa94a6d3bac941cb2740b403289a114101021981210325e540ad7a39a3b8af1184db16ea7c80b972bbde208c90475e6323040c4b0c420219ffff031bea4d36b9ab49cf5ac3af39d9e4b52f0129d7c644b974fef02b4127a5f1ab1f0219ffff032b3b94ebbc5e0b1602f3fe22692ff5295f7287758befec638470a5964f8688ab033b85a565b213b63ca9aea733b994d8a68dd91d8842bf2e46fcf8a3e83874802803f9b814094e3f08521a858f1ab1f980afb4bcdfc88bf3d579b5745822b507e62f03efcf2e75be2bfa1095cf2ebc0d360272ec9ee35628fb8a611202701c450c752b03a6866cee2991146b8de27f9f0225e810441acd124435cbea19911555a4ec923403f8dd1d94b227fb4ee391dfd0dcbd3f5738be418f06a5fd2135bd0cd77327ba9303659f1cbf476195f0e5a75af3f7170980fec1eab69315b91596e75c1616bf4be403c019f2f882a2cf32e4fdd2b77c198bf80d9ec2e4c02bba12119dfe73fbc7dd1300581f02db88d85c14545080745b9d50f313dba3c8468251179e3ed3c682a231d58958190100000000661bfc6b000000077359400000000000001436fa03914668710a7812f1bfc653f5182bba79ac10fcc275622292ed6909c7cd8e00a802192028038523c9256b6ea2a7523430a93b3881eaa624a1f4ddde1c15d8c27cac78dd484503fa966cb2bb59f1e13d8811cb641f761f1d79390d4a5ebca110e77ea79aeb1f2f0351dc9c1df39aeafd0044118ab70f830dae591fefcaa8860a3df275d17b4c27f403ffe54e2a81f16e8cae9b7a7274ea2d848d176876e9193b78bd1f80ccb786332403f3914a662eb2c05cacf974f0508353c94f619e7dfffcb1def4aa423a9462054803062b89803d18814c507edfc026704f6ca4fd39f67474e7738c278d5fa66e7ddf031ff2ad4304d5460eb7baef330087eb96a9ad711919bf8975e1da4f81250141160141080309748c009563bacd4da11d2388662d43ecc9c71266d1e32eda7601b2f9d7d63c03fb093ba1a38fa5013de9cd548417c7b6e478120b48c7cf7cb5fa946745bf684c037151b90713e2d17935db4194df1bc5ccf98641b920ccc2213830688b468d51360219ffff031673f44af91ce321a6b51e20f687d37bfb0112e26c008e633fae1c2e01ff1358032b50e3f1ecb5cfbd8719f570ae12cc27b899414fd7e70c75c1f80c2677ff5b3803359d17f5dd9a2c760c56bc959cc3c18fa785382df4b504bc97d99c7fd7b4b6410379179882d9c73cfabb99b174a2f6a3fab931ad8c1b81adb9dd275fe31205ed5503939f4393963116dfaf3af8d8b8a3073efe3025cba178dbe85206c53ec837bffd03c876733f6fdc994c0abb12bb48bf4b0fbd19b8a87fe54c4bb997df11a78dcec500581f0288ddec3baabd3a1a57c83e89655e3baa2883be9e7baf9ba296e396629b29410100581f0274e5eaa8e8caf5bf1ce30296fa7ed6f30e2c76eae66d569515bd6e65482b410100581f02e1cb89205797bee1e004c481399d620b27adba62f291359c5b22f5e504fe58190100000000661ea59b00000007735940000000000000146ae700581f02c412b2e2ff031a67c756262ab4d06c0e8fd0275d06463bb159fcbe9700a858190100000000661e6cef0000000773594000000000000014637300581f02591e01a9ccb6779a003668d4ec82bfefad51d46ef880941b788ae14f904b58190100000000661c6dff0000000773594000000000000014412e00581f0241399e4d18f25c334dc7cd33ae7fcfb5cbc7b7fd7462075f7421e513000758190100000000661d183f0000000773594000000000000014453400581f02f554ca58e0c516054fc96965b27bae1a0821ada0ce678b049bde525b334058190100000000661dc27f00000007735940000000000000144f0000581f026bbae941778edd516c5e65c7383c35fe089699bf4a90e4001851e7871daf410100581f02540b1a99e0783dfca60d3044419ab33b88dc0a6c05eabe22c9e795b3bfa641010219739603f12a7e9e1f4a99e52672459f87976e16b640f3c48d3a02557604cbb28dd0ed510385d524775d0bf0c112cad340073bcad8ed6e5ab099c3245f31aae21f06c1473103399d01b4f9775181a3bfb811c9fa514014708f64e4c7d19426a7d565649195f1036cd16cc2925c67110610f3f6ed04bbdd0f09af8888356ca66e21611cfc84aa5703f61552eb7aa40868343ea0f1d1c2521c9a1cac6b29c0a57de913f3359d27790403752b3c8b74e4c86c941b3b9b75c4b780f09600349477e1e1182bc1e5c9e1d4f40377a34c1ad286a76157d7f6c78cc1b23f18519eec2fbe01b5bed0b65323cc85bd0314a85dd5f91a7ee7820e52124b3f1425073e2c5e840b72442eaaffd6207ddd5e03fddd33bad4892348358f14893bfd1f555257bb89d686baa58134b9b0d3130f1e0219ffff03a1da1d3f159e877db192f8fb3eca857615ca9c05cb790732c8d711c52382bb8303c984debdae6c1c9a71ba0041a2445f6f0fd2550d427f76477417a777a710f25b03d5fb472d75bc83feb3ada2d1c82a26ae008492f5ad1f8972d09ad668a1bc534e03fbb8c29558a60d0ad7ed186b06760c0e6ec3b339b363fdfb442d011c646046f8030ac8964e442ab03b3dfebe6b7396d7a8815b341a81fc875fd6fd439b393f0ae103d6206b2118dfe89f4c699e9bccf7ed075f7abab62f637250a58897899b70d3f9037fc2da76b2444e5caacd47e39460b0a60b025f7a78c7797a53f15cf595f5300203e08297044b2372b3c989e4dee24077218e07f64c86aba932b323893ed67efb8903e188b288bc3ea3de2a77b397a987a96eb9ad5836424c1098b277c733ab94100d0356979d457cfbbbf25469e02092a6c61a4378cfe4d84ea7c824e85ea92a7f46b500581f02f42efa986da7455b63ca9dcb39509ad4f1ed06746b47c51f5190f15a6f0858190100000000661e6cef0000000773594000000000000014637400581f02dbf4a6474a51c8dbb44530c7fd0665e868e1ec08fd18308b8ff8db4c3c4258190100000000661b8b3700000007735940000000000000142edd00581f025a29d0796dd3da0e8867051fd550cc0dfca29deb2fbc001bfd187a6baa4258190100000000661ede5300000007735940000000000000146dae00581f02595d2fc685d97c651cb733b35c82be4a3c275e327de6d9016a6657aeae38410100581f02eb4af9f2bbfad9f54e7ba84bd4321c46c3cc9c698bb430b3608a5cf09966410100581f020b6d018b67d14ac75947eba5829110ef51b3f526d70a509cd6bcc7391a8c58190100000000661e341f000000077359400000000000001457bd02199710034810b202acbb6944fa61af5860d7f8ec990c73974edbd51d8227c66607bb9f5a034f5824dcebf474a0f92e8fc36f26df5cbf0e978344ea6cab53bf7ad4f26b662a03839fce28fc30b746091e36066105b9f57336043fa04c69ebd5c0e4608f8dcb0403f0eb2a7730a38be11456512f276bc410cf608d856a5a23639e7911b50b3b0f7f0333e6f665eb061cd8afddcbe21c65210b46e0b1b9d2bb5cc91a76623111ea9679033ea5502d6295d12e34e0abe739a471852105c9992bd0233ebae34d6d5411037203c2bc74a5a88bc379ca3cdc959d01a3b1b1041a294f289d8114d8d2b937340876039251027c9b8ef7e0659ec5a33b026ac53c454f046eb7700933324ecb95e1ec39035482c6455545b5a4cfb2793063bf8b247ec84cbdc2a2da51a8933eeb153432d00334b6eeb1de3ef006baf20cbd21bd455ffc4b288641e0b6252eab23488dcffc110371057aefa17429520e0d982337ae028abca76fe9807ee0ad32644937f5bfa11b0219ffff03d7754c1c6e7aee650f52623f609319edc4e611e4ebdb60929a145e9123c1f5a70384386ea0ee7371647d9c52758480362082c1c54e051d4e53446012dc2efc9bd2034275eaccc973ab9c9a6d64d53b3019bf9d76f47cb610c8234843e80740f0eba503ad4ef9d14aecdd3682b05695ec993b82ab3435cdfd5aa4beda7fa2dceedf71f30376621c774504c2315a1310f2f08cda81e95bfcd10699e068648b071cbbb9990b0219ffff03ccc6e1af44c3e8801f4c636da7940761e3ce08fc6ed978d61190cf4a75e2932f0326588011b4bf38e2bb0735fa1ad99046715132e06358dccc0c3c8b20a7530a200377d384e3a595ed00c5a7214a12a0a71f334e5db62cf5dde5b4b2ecb5161f1b3e034ba3481bf401d11d80fee647f23304abedb74d802469769788500196be2592c603f89b976615946c25596b4bbd44ff97bd52ed25346e1510272d1e5016b3803b240325725bce45194901d34121b4761f10c93e08d0612e6e979a7ecdf07bff3c175b0058200368aec7af620eb46a417edd9af3cdf298979b62a0237fed3705450dadd1249058190100000000661f171700000007735940000000000000147dfe039672fd44c9cf7d94c4bf93c6a2081391fa506adfdd33fde0715707d96b22ddf003e7547b62649c0fd9c5576638ca3bd2a93b446264b0238b63ad98925f97b965f50388d794a10de7c0cfcbc75825890c777ec71ccf52a18772f79927f3067f533a5103a81599e0444cd4aa41f5f39397c0ef2bc747fc75a6f535f4fab387f141b4418f00581f027fc79833c78ff60b2561f5171761645d80d6448791447597886caa531119410100581f02560d49d41c8e55a58a933c1056f49146ff022583820ae9e55236dd3c1a24410100581f031e9673d8b97530fb4f2e26872b082ee0aae3d03870571a0c275fad6e6d90410100581f035433d0a3abd7037f787f6cde8fe09780e0955aca71ddc7152422f1cc237058190100000000661e6cef0000000773594000000000000014637b02030219120503eb860adefd7b379ab4e7465f1fe1fb64ec23b6daa799a1b3bd1d8945272298480348231d9e955e9ffa67bbe8fea5a07b07bfa7b4814a41c9dd019b8ab7298671dd03e68d571cc5aab112bc2cf935643fef3e98b1819876f9b6bdca5d294c67b93b5c03d11ecd36514856dd4b449be13935063eb9d96b0a029ced7395f7a257e7bb21a6032783785bf201b067279986ccac83d76bccbbc22d6225853970cb10610c22e90203914a0b5158bd2198eb2292348248f7a332883bf6223f04e6558f7981bfd5e19603d9f7c5acbaf020f8acd6c22a59db0ad07dae21fff98c1c4de9322f19604e44d203a73a5f533083dd6742843ce5a01b282876982de070be0c157c17ed5e434eb317031cd3f9272830984494d240abb7ef380244cbb67c9c444776a0846a8cbef8bd720219ffff030a3b00ddd88c404a0d14a4bc627f919d36c8e328b2baf53299f40c673323964b03e4d3bf445071f065686163efce8c72a93e4cd7fa86cf63dec505ba9753100f8b0367cc27248c4a6ab852acfe6f265d34399efbe7e1e66ea9e4f02411047aad98f30346aea9b69636a4023e2a68088713d3728a078b4bd13302835ec7419f5eaabcac038f066f9877709239265c796bb1fe133c10f84b3d5b810cffa5200cac43cbc9d10356170fa93bdb4982683a3d3f7219de822600c32937bca205218adb83596ea3f303c33dde7d3db428921dd5aff6d5d02d7810d7c107a4c764cae4cbcd2fc885535f039b462f79f867f6feb666dcb8696781cbb14a43946a381edbd4849d544b63170f037676a7064759bc4b563ad55f1f563193b9813364366fb29c03b1b66bfdc102a4005820033dc915da88c3249e984df95b30e228d5d956a130ccd31b66b7a074e13018b041010337e979423a1b357e4c33ba669f4b412413dd9f1c57dcedb42ed6954d5b616a190371a0eb05941f4cb753ac7fe36abe2464113ba00169afbd95996b6c48814b7fd003c94861f4a8ecd60fe601db38c6218a5fe284c655ca0c1ebb97cbbf1fed2c09f10365c71b41dc03aaed0054da26b01fe18f5e8c432106207095b91cbc2ef682ac74038676bf8bf3638cfb780ada45b097fbc04714a0b45cacb2ea4bcffd3184d01c4b03d964a091bc708c423eb79334123312b48614ce80887fbef369f2f7e016d1999603b9dd819263384e15d83765a98be41d55775693ac10c0ce0da3ccdf705866d2ed035c70c525b1432ab4ba893276c3b4759126caf7a4f555d2665b40b8faf3a9d3bd03dc8e2aa33f7334e0c38a8684ec130f5da1e4a1c2d99fe1944ab4b85533ded18f00581f024c31322b675d7f10349dc4e5dd868f3972d06865185c71047bbb6eb2e0af58190100000000661c6dff0000000773594000000000000014400900581f0214182fac95b3b0b4392c38b8bd2bf3482058c2f388455f112d8507acdd69410100581f025efa9b023be657e4e1451aa2c7452ce5963e3d8696507f613fe2d4a376f058190100000000661ede5300000007735940000000000000146e8400581f0280f70a579b31f27a7a243fe2e7faa7fb395f6009b12947da31dd5005aa25410100581f02e45f4a104bd3417edf5ffb05c3867c54bc4351066fb1b49a20ae5269db9341010219518403f0fd0b36dcae4a9f12e98a58b514626abbf3ce72d08a3801d0f3f3a6bbb9f9ca032320bb6732d9dd1182d14254553c9b91822ba0267c375b9bcb44c2dd9ba001540219bfff03e91a3c88b2fd8dd42a1db054eb2076f480a41a89afe60462664906107474407e03a2189e28d2c34ed6487f64240c59e9d24e5e6e4315a92f2ffb7012944f61457103a7a17737cc98fda85ac15c6dd23d2442281150b312471d4a3e70aef96eeb0be5030f0523d302c9b6ecd6c6c34e9c89f80ce7890014eef2202db423075be935eebe03ae27dd1f911ca18052d8496f853be6a29c6e627c00a1d45ac40664389d3b2bd00346d188505d3409932feda8f200fb57beb2d760f5bbf785d55e8fae4fc1abac6503a2d9ee295f2e4c326430a18e04f94d3ca37d63c24f329b058e1af6d07872c06203192838c96eacab4f614c9937e8a5b7312f56e611090792e460d3a5b1955f3839032c5cd4a54321a6a8bd93d04945c5e00db38b4af3c0e19b017fc0afce4f28575f038c773e6b23d127b8b83591a68b95794996ac866157c274399eb5b05074d357f40348ff60daaa36e500300d44f77248a1146e7a513bcfc0a886ccb8694bf97945b103efac3c35e1c94c449c1afddf040eeab19486cc18329cba87e23c0e0cb28b9aaf03ab0459312ee87bcdb9c5f0026064fb1ec19908c8f298e12b4a96398b830662c8035f158f0b386087a912f645a0b233bb86640bb1fd939ab4990dec3efb546862ef037b263a2a0fda729f82514c3fdb5777d1f12b7715f6e125a0dbee49fef227991a03fb3508cb3cae70c9f712bfeadba0d123007db1b89b16c9283a5e912698e4f3740364958b56331afe10832b814d68ae25fc07475700f6e25537251f44cf735f704300581f029fa099f994df932c931491c99c262fe9aba921e96d2be437b0d1223d1efb410100581f02179bf72a92c244b18a9aff46b0e55051a7e2ad3e3af056cf86d389eecf15410100581f0252ae8f738013070678b07ccd0115116ed080449656217f770073405a20a8410100581f031cf6e998ceeddcd5bb69ff4342cc9218897b2b147c9e530aafaf4093b180410100581f032a6c9a57ede50941649a3d1b6b098953e9cac4a8388be477a46cea0480e058190100000000661e6cef000000077359400000000000001463760219040400581f0222af7f053453eec415e0bf6ad602737d8025fe74d318bc454b32685a475e4101021945210219ffff0219ffff0367903656ce205da4d4bc832b4e1914155e4698ce20451b6093db8652bb5c2a4403a7aae1e6c28c28718955f1e40bf59d07c9ef276a21d2e2dc1b2ea5e18e93cbd1035210cc6b593203ae2f865eccedad81b245b424a1e09d62de749a3fa4b28184cc034b6febffe36a48bc01271a777c91aa242469b6a5a9a0e7ee01686cf25182675703ad964f0662189f6ac3ee2d31213b5ee85dbe7fe7cad969db342a1098f2a90c130368a2a0dabca6164265fe8c105ad7db86f5b77b6f747160ef90781e44c179ba6c03ee288931a447ffed11d55a70e19c3a82eeb75080e3dd45e223daf9493b55df6303d0174af01a8f7f000e3b934386a9d0791f5acffd6a8d00a7e5ce582992eda5a703380dd9d44108da303e2481abe82e0b2c56ca66c193b01443e312e27718612f14031d706d40c907d73f07b74e387ba20fc20cc0388016a733a829275d653f07c41c034e3a26c22dfe05c18a32f8b6841e40777b01f8542ebacb75dd8f93e0cfe1d40103ae3c72ba95df42c94dc1ec0b17947ddfa815d52fc757ea7161482e6ead9bd934036ee832814cae7528a5b2393d31c05ab936b4df9e3cc156891b9e38da85e108ec03c090ae8b412493f201b7989f260a16864aa548780ac9e5d2dfcced8759a90d2c03205318d062ce0a7f19b4ba0cb9cf6653ea266bca376ad08675f35a9693f60fa50335b66e2c2a5d6731f0b8cb3ad53df8539059b1c7b670f0bbe55bc6d9bcb898d6034b099aa1e87a300efba78db576d50d565e2c1f18a941cdc9fa83a81f95eb250800581f0278e538861ea0a5466fc3e92ec5d7f8bc13bf5bce3ada7771b87da782c305410100581f0227c889b70674e0b98e12a31e84a6007f6a33f1897a3f151f8220a6349d1f410100581f025526f6e0db4d9d2792e180bf6d92edd87bbb6f123e9d7f6216c1cb513e65410100581f02ecbc53318242165a26fac145861181ce51bb83516e7cbd722c36fcc668a4410100581f02bce7e9bd44791cceff39677acbb68ddf0383272edc6c08c6d068101d088f410100581f02a227aa2bbfc721711d8e12270dd82a97912f0845508e52d652de12a9cc08410100581f0223ad43a891bf8b70359978fa0cd685be3535073bfea04ffc4b857689cbfe410100581f02d3947ebdce262fb18744371f0a4b315f63e4623db2f1d1453697c4777ad24101021949f403bb6b5b647b9e0fcb9b23197ec946503b8d7f84e89a3cbd0774d3810ec65600c80331f7e5d7fa6daaac297592591c32b967328d2c1d0d39a34affe81a19a34d4e19036ade4f2204afef26093bacb449ca19e5fa75452277913737d3b980967cc6e001037e2aa44476b65d54c3f6526526202ffc2a2a7065dd4826227dee282fb43a4bd30219ffff03f2b8bc42121b0f09d8928f2908e23cd585143a217197d2e3e5d25c4e498a08a203f405bdc5241eab82ebd2a8148a6439f452027a4b0b2c21219ac28e4a62bb99de032525572f740161fb7b65eeab0315c8ea3145a075cbba6a6a3cb9b45c775c5ac7035d194cc70fe0b189c1ea8077a7f51f4c95a877e6a33256ec3e415772f50c170e03f92d32c43e2ba83838dc307c5cb532e99fb7f130481a87ed90f5c357b5e028570309106ae7d242042a2ce403c65230925c869f0003f873b3cc86a8548930df466c038539e318b43887df71474087e73deca82338197585fe80c8c0aac17407ab1a80034e9ec1ceecce8643930a39e9bd50d2b86f7155a302be06002f9bb2e1912fce4003b3b4d6904a5bbe7107d578cd657ead7bf6e606f0f1b9f284acf926982c16cecf0219ffff03c02466e30a1f7e0eaaf7e7a54b539c3a72485e8a7616c96278238dd38272c61703dd285be2ac42546728b794d1585d528b5332d6b8e4270d5db9fe5ddff0f862a10334b98ebe471c988e817a70106298920eb9577b01ff711b91e4085b2e860a04c00334d2a295e7a45a14a35b4a5245684d71db39619fd891c32d1413bfee33ca905c031277d027bbcd15d78fd4950cdc14d78ee751869c3c65b4b25206b1b25997084703e87c0f9296f623b2b7cd8ef381eae63e64f43f58bc6db64352a258355474f41400581f0241d792caa172ade891792f080c35777aea4a669bd05ea41a504c98a14aa058190100000000661f17170000000773594000000000000014760203ea4e95962f09f87c71d93f67c79d0d4043237ebc2d911bde9cf6279504d1e24800581f027981ac78b864e68894dcfc079e5d9181fa462070dd51c0252b60b367ec7a58190100000000661e6cef0000000773594000000000000014636f00581f02c0f88c23150f14e26196a6e325341d16af9e0f6312019e7090c6c6c75c91410100581f026b9d1457bbbd706678e300b066682b6bc8d191517d24b652dfb6ac29531558190100000000661bfc6b000000077359400000000000001436d402190e1203687f37e4ae88fadfe8f730f44578192d1f62b5395e161babc77abbcb9229bc44033d77ba6880224102b7020bc8cf29ba934230a296536064177ec759b221dbf22f036659c11641841b553b9fe1a4068ffbdbf03d2ebf621bdbc7067e8255471f215e03ddbc8cfaf88e35689df861924238567b978bf7ca337e9bab865999e7c61beae703ba803aefdf55463190f1706bc4af23ad6f79421aa273c2541fdd0207ddfe4c6f0380795a5abea6335f5b546a5bdd33fd7e5185537f509d0b7edee8d03c172360f60320fa30293ecf9ddcb08fcd460feac40c3baf4c00c84ff935b0e835b3a2cf6f0e03508e8787732bd7a086de356c547ebe4b4435e353f0616e421e19954e816bd35b0363945ff65bcfa8abfe98326634e0bfc5fd4174c1410e7d6f6b32cc85f48c0554030bb461e480a6c758120cf4b049500fe1d74afadefbbff6e81ce369c130f1bd3b0219ffff039dec169450160777618a9a67a4eeeeaeb57169bd04dacc83c34f7907e58989db0373c250c46d00e38ab2567e295a4a612e2cf4b354c7b15e0aad685d5e6e7320f103687c24c34debda27d15597b42407a8066fdc80bef2dddd495d6eb144fabbe73b03ed2afb13050d458097bd75011d5f485cf79970e900663558e770b71aac37b6390354adcdaf389f0499eb41b2914589209a770078e9a9b516673b8828e98c12de6c032afccaa076d31b2d83b0cc12100059e3d8c68f4fc8d051f8fe2e72f04bd916ac03b4b4f4f58af35353e4bf42a2d06e07a4eba1064f99c0c65212efbb3c98644d200397db65ad79744ed97b869e0070d86d19f2c1e4264f577308978ee8df6da2582603c483653d6e3e6141980b38795543dcea09b51cca1b7981dd1af924371c6f0aba0377448884789f3a00b444dbc5a8847fa52aeec5872ebf8e98fab2729c21763b5000581f02aca170ff6082659b1ea68bd0ffb1b29123317d04e318263317f7f0d49808410100581f03de47b5864314048a5be6c44fef08a26429b438edc524fd7f9f2c0fee185058190100000000661f1717000000077359400000000000001482a600581f03bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8205818661adb93125b367c16c5858f11e12948404f7a1371a0fda302182803b3c2c6d86862046b91b3fc773e4de835e35a5b42ea931f4bfc69e6fc24b954ce03bbb8e4b1a9e4c1ab3d3c6a6c85b90b84b3a81269ae4132f6dadf921a6ddbe08000581f02d99aaf100b12e9a527cf2c6c67b51e3906baf1b05e3ef66ec43a1a6b1656410102195488038d74cfe90aaa643fc6493e542b0ab494cf063414e08edf11c38f4b97fab1db3203ab0bac5635ea02badf6a4328202af09248fe4aef00b570d4ce0aed61ba62e5b403fb351f49202058af11265e0bd240942369901ba30036c1fbc6fdacb9c9b6a23203f57d144a3f871c254d959fd32475ffd126f825e40466192eab26cdd22391140a03b8c9535da5edc3d5b77224f44a304f953545aa10ff4e8faac333dbda148457c40219ffff0318430138bbcd4bfe2984357471780c5a769d052c706b291d446793cf0fbf18da0346cb4dcc9aa9201fd884caf61022a2b15f45ea59372cfa7ea470d5d7ce2ffa2e03973c9e4172a7a494f98e65cc3bbeb4365ed1a64512fd425e1d18efd607bf95cc031cae3d78bfbc68ba6a09dd97d4fe3eb9eeffbdb4594d1b0184ea79b59b5c3af503bdf1a612062d957b7c0a9502a7e1b7f61fcb794c23b8d8c55cd47d85a0d3d62e033fe804748e5ac8d9feed2c88d4070a17e3f941f9e168875a7944f689d57cc1d90370173999c19c0b6e2150085d865eece2fcbeb4d55273cf2bc620c075c05138f5035db708fe0af15846597dd2b86a0ae338a80e1e68cfd502c82d86ea64f0480282033c2bb5af95659abca5c7392cc62ba118ed48851ee95e569f49925d872f41339403f5e86c9c029c399a9dd0e6b772cf052984096acc8df7ebee00f4b92f27fb83a3030c7cb301215e6366dd0bc8c87384063f9e74660ccf627a1cdcbf0626a3caddef03cc764e8ab57beb97768638f79905ae8c5f6e4dc66f7a75f4f3499b407942c0e403b0e01c80a2b7d1b5baadcd1b43a303f149af5e01e44efce7c43e65e94add95e900581f021f01ccd91d020c6a2edf15fd0d17366a47ae587bfb967e8d307970efc7ab410103a9c7ae8567ba9c7249ad9bb2335542bd2a77350d30c4479451e01907c9aae31c00581f02cfbce13057fa181b87e7ebe9e4606818c372ab04291d7134336c09e1062458190100000000661dfb5b0000000773594000000000000014554600581f02f32915dbb6627b30d771fe3b77925ab3996304f66a0529b3966d1cf5603c58190100000000661e6cef0000000773594000000000000014637800581f02e49d85781cf852ab04d421dbd8503410076a56e9654d5d461a937cc55d91410100581f0288beac963a11160c5dd66bc2bb76c1cabcbb2d65910741084d78d57c174b58190100000000661f17170000000773594000000000000014760900581f029d7b3f834f9b36da7146120cb555647e71383b7055ea3d2443904477721f410100581f02effe0149598c2ef2c53ddd0bf28750fe50a5272296f3cdd9666a1fad19104101021986b903bcc6742bb88ba54712fdee8571cdda69eb70001866c18bfa784a585c2a1491ba03fcd271821a85988008b9f81ff17aaa1a687ed498ee35d5f57f4edf00a63a196f036a6c86cff7776df713db6f607a632691d07aa163142b7621fe57536ff57a346303ac2923c7084fc090288c1622230fd3ec329c6c04b730a0474ada59cf1e76dda800581f028e14f8344051eabf15e4cdd55e5c6511cd0f648b0ba0f8b76cabbe0cba6e410100581f028633aaecd4673622f23c5508c2ea2c902953fd85d25ed050d67535138257410100581f025ca3e0ffd898b620247a5b69b069f45b5648cde83fb117d57d8621b5214d410100581f024618a910fd2ba72e97159542dd15806cabba1287d1659e6336e1027064be4101032e69545e27d609d75d5cee541d4d816f3722bb9a8283aaa011d91c68e51bd75d0219a38003742c84266bdada819f942b9206f100ff10bd3797620cbccec66acebdb2e6c2af0335ef90c10e19951c383ec8279192485db529ac068dfb589784cd0209abc21bb903dab03aac1ee2fd930fef41d3011b821b27a55be3541fb25e551cdb1195536f0b032ba6972eba8ae03025e530a089f6426ffc06ec5996561a644013aeaa6390882b037476c827c96667bf733c83eb19d5294b9a2efce460050e364f1d0cf358ae9e6e02197bff03682a38ccf3a632fe44a84f7ab879b3133447e816d4ada1b0c28b9a17a6263ad003ca64c352d8ae23a6e3f706b4f7829bc2efb55405b52b1fecb33e6decb8e15c5403914c2c648dd515798c92a189e858bc6714da7c4f625790ccab0e01adc0e9cd2103824da97265982b84e795d650e4c6b6a6f3e52488180d0d2b89e55dbb2eaaa2b300581f0297e6036900f47df9adfd59df0fa94cb084a8a3d0ca0c27b6fce6327c479158190100000000661e6cef0000000773594000000000000014637000581f02acb16206411db1a30233db6b662bc0d9ea050fa5ff7decb4f168d4ee422c58190100000000661c6dff000000077359400000000000001444ae00581f02f9f9fe0d40d4e291e1fca9818923459a62d22c9bd08c0da3933b3f75af3958190100000000661bfc6b0000000773594000000000000014354c00581f028583cc7454a63737623a82c3547bfa3a712ae05e62571ffa46076da9aa5641010219a40103c5e99d4944a539cb1a0f15ceaeaa3bde15e2bc6274749598eda55216091e4e8c03e8b54d39e8646389893f55c014b4c85264988a797be6ac64a4770e2ec4b45f2b03c8848154a97e733ae197498fd62a5aadfbb2ad03ce490acf25b9940907bfd9df032e405355b810232f9e7b0d796fb97e874f8aa33daaea0893718f8e076bd45b2103e83d9e4fb0fe77751ec01a8fbb001b6bdbed2fc54b648e7f1d8aab5282e1adf503c2fb535b2b5ae4f06e6e52e15ffaee5af24e8b38bd9d089fd7cfc1e28c07bf8d039eac3355768c8946ac83d68612c44d8a45a701b4cb772657838264c1a326c6a203d0135c684dd18fecb889f60477eff6b5b45cff95d7d6b03fa745d6c082d66a73036ad80d05dccf6426c0759d2ba755ac4c576214ede5c517389d76d98bf937059e033c7b5468d859f3427b82dcb497ec2670bee1a61508661d32f118cf1dd12552ab03edf42fbf41b565f9848a8c063d5c7c0f1ff0c1befa1af4c62488aad05eda07f50219ffff03616eaed902a3c704d332436461fe6d79065f606dbcd7d10dba1dd7461a4b43840219ffff03e5b6182cbfdeed7329976ee1b7c7f8d9f13c618cd20925b3d7c50bd1683a178103447b2b4f4b2f8cc2a24ec75a5a9d5804d0c1d8ae9b3957ffb6968461a1a3d173039eb53b60c67cbe21793c38ee293cfdf62ac4d19f4664bed0666c51cc68b4f735035ec9a3436b0f04fa88ae3a4e02fe2d53bacc21ca49d67d2e94d088d8534b189d03f196d3f00942201ca526089f47b3275714ff0e62a37e48d85a76adb4b70f94300325d7455354c242ac02dc9d9579525ca6fdb31771895bccdb0034a855019b07f403c9131c0d4e91515cd1fc6b403d2156f376e1b33db71f97e1b1f0d66c1ef72315031cc16ae26a70e8b30e67e225997c1f9459eded5f737c744110e2ba0ce5b97cff00581f02ab40abbebc67e37fd224becec57f6c641b4b6056ee3b7a578f94b9e73174410100581f02c478e0c1482197daa83999207803e3e26c0a9776ba4761c09020c463a6c6410103750fc75218640bccb4fcac3d80df5fa295bde9fff05decda1c803bebd1db11ae00581f02b6ab3490f9ac5b9243823a2052dbe6d238a94bbd945427f5c751eee6b45458190100000000661f171700000007735940000000000000147a9f00581f02ea3a428340d739e70d3fc215964a062af65f6cf4ddb49752a4acf733e62d58190100000000661ede5300000007735940000000000000146e1b00581f021b39ffa1df164ea9a1f352a382d9608ecb592e1d3cce203ee7cc7857ed57410102190e2a0397f29679a786fcd249dff73185a21996ef78c43065dfeed61505153391baa2a0038317b481a72af07810db7b1f457e4634f3b7ca6fb784a8675b4fab6496bc88c4036a33b767a7934c0d28b91fff5b3bd91a1f9a4ecddebf91868c47ceb6f7b0ed2f0309902dd586e4664329d2826dcd457d83c56418331e694339e06954bdb7ec3bca035ca09f85a5fbbab275c456fa674d8f4765c5ff704ff6a0644f0aeb088022e23b034aeed4c23494e15635b81d7f576559f76fe9db4aa0db5d8f00381909219d1bd3031bcf092766bf4987734bb630a7a569bc7fb3499c10398cd20268784909fa7b5f03b9debcb80c49c9c8aba9872f8a35c1592ff771ec14b89f4f1cf7a9d6039acce303483145528216bdd5b41293caa4b0a47a2f82d0f95485e0f9710b2caf6fdd5a90031baf62cd3719e29fe3ac68ce664fe28866b6ff2e67d6a90c3bf3852b8232e6ce037862432ca4857c411450c0342856704a5bdb7befed8d0c95edf2fce826d9d36b0219ffff031f373bb096e6b277147c93ef4fcfd2c3a43c33bfc90f54c69640cae98ef94f17038bb2e0195ce93352e21eb7b106ec16b227f28bab82291b3aeef76d461781d204038c0323065ac0953b304637c63d0e550a9cfa18b8d3e27a4264b663239ba3b30c03c945757e9184b1f9840949c18174c2401d57c984645e3cac5dea5061a6c28d7b0385fe8c2b252a2723bea64a11e43a14b3e1175e07c1e93739a1fa2cc870cfb69603bfd625d7907d1017ef93b25985136ea24ee06db09bf55e8908e1e3bbe8c12ac603d1bb6a577b559e7652444440165c3be88a7bc24c10d2a7fc4dc8f0f633ea8a1a031fcda46950296fe56d97a71492bd979378dc488d9d83e523d01a81130af1600d0342aee215191234ea751c21c5ab44597b856e98b71051deaafe0ce57a9354591903b0c116b87988f31c698c3a0eff16f7cbbf4be514f4684fdf0ba27891674eb28f03607f9ff82a0405820e71a2836585bd079794faf1040231acd4d742b1c5b8fd0803d1e92efd8ffaa2c10db84b5eb595be6f86d563cc3b8ec15c03b0143c3bace0c70377aa47913317ffd05578cd5756dbe67a81b3f02a40fb317c95be442bbeba4a7703849db5513bed64a425b23000814f61ac15df498ebbc00e9f1cc4cb75eebcfad4039215f70fe699294f0113592e92937974b47b780f50914f0962e8d55692645b8d03753b24d87a02539e16db0d85186b7a44d0fcfcb201e891dd80e4b9bf9aa4c4b003a4b9baa1ab8ad5a148da81f64042b9525400e85bf74cee6bb6a5b00dc6fe374900581f029f053c3fb5b4fdbcd13125a3cf599c7604e80e7414e8d7e0f932ffba786d58190100000000661d50d30000000773594000000000000014490000581f029f88e96d19f2bdd3cd8810eed3101c289acf73b05d0134e00ea25a51b9ca410100581f0219b20c134f013ce78478f74876b9c9dee81c9b46052df7f178bc38be637958190100000000661dfb5b000000077359400000000000001454ef00581f02452ac46a8cb727a715c702979d54e44c05a102f8de8687082f3189218ba7410100581f02ab6c8d76343cfe66fcf4f5618c2d94781895aa0f5b590909f64ae70d1a5f41010219806303508871249534aaeb31c84bc4107f2ea5ac41300194f1b24e4f040483ba1c2cdc03abe2da6f3bd76e55132526a7345dd201fcbfeb48f16b341fb29210cfcc3837130219ffff0383e09a68c8f4dd294dadaca1029f0e59d9be027447a6327551588ffdf6f77fad03e4b95beb86edc4c6fda0e7858fb65579adba2632761b485a8656056723ed7fd403d7fa84d3b1a75af52fbff68df60d60cad2f147eb2e95590cb0324e59a2af9a820312aac1d799735df2c09a49efb30e11ed4d8348b11dac2a850696fbc13130b0b1031b0ff488c3aa0fe0f483eb18ea8f7d5da92f61b062e50b2ae24fd2437b1e8e1d033ab117d766480477f60f6b2fe3acc4e93b368b9dd2dd243e4aa1369bd75376b90219ffff035d7f5626a13d29e6c7777d960be589b905f3e3de3b9f3df904c5ac703cbef7350388b92b07166870049b7431032ef3c844bf7ff5a2a96cf718659a32fef7f8e74a034e5046c8a6afaa998415114b3c7237fdbecf4a17ebd0ada4395d4b8502850d620310d2c902ae8754a1d0caf55e6aff2cc73f95699919f36fe9bfc252a89db96615033cdc9f07452e43b7883749bb19a892f902e187c8ed6eb65e8455eacc81f93d8c030c1dbaa693709bdde69e6b706be7c363f667df2916f24e570147ee53f60d41d1036cafc0c6d9776a3b40991a3751fd97081cae1ada4291440de5b6d8b8fe6f04bb03bb5ec1a927b5b9ad550839ba6ca1759a6ef08e9c5087d62c2b00bfba7bee77c500581f026cd3e98ad7e37ec1bb96a316e8915a0bf2e4a887be03c7f21de3d1de613d58190100000000661c6dff0000000773594000000000000014431900581f0251f4f02c41c01da8a26425cd36fed2f4014ebdc37f594789f0658dd3ee8058190100000000661ea59b000000077359400000000000001468d500581f035a1edb1f7aadb4141d6a0236748cde6357f36464c16cdd3da8c840d2f540410100581f03da38b56c30b1439f3be2f2d64436ecc45568ea2ce64810bb86cb3c98c5d058190100000000661e6cef0000000773594000000000000014636b0218a000581f02cbaf967ec023a9ddbbb80d5da793997ac3489c2e4112dad892e76b71698741010219028c03d82ac3477096cc0f9ac4eb9af09a5759cccb0be0442b5987d5a04cc39bcca77f032e2ee7ad341ac7ac25379bcae5e12051f7b2a8a15101c8d501537752b582734b03fb530db25e574f9d982f653c05f20e8cc01a3aad8a255df41eb2876d12fdc226036aceb621505cb84febceff0839aea8123d9675c31f7a5d265fc5e7d86e26053403c33e52564d89c9d96fa042efb170f9de12cccd86329a26b3588baf5d6afc04d203c658801944aa7292475daf84189bd20ae363ee48a8fb79baba481e35c7d264a203ae7fa3e09e3bfe2ba60aada122e8391036be4e27aed23a214038d61600f858bd03102da53fb2ab85015630f909cedcf306354a95611a9bf6d8de063cd57188fa6a03ca00f48f5ca56edc7880d408950b094b08701da168d54964f612b3785bcbf4dd03cf1806666b9bf8db7e77a2cb5cf407db1ce04f55755dcd8b9bb682e3ca30c7f50219ffff03651af2324f55fa573e36faecae17ab3450be4db1ea50432b9c3f0b689b1f233203d756362fc0c7aa7ba4de675be9d9d8d7254030649715f692bac68f9937a4116d03f8443580671fe022bba8f718a982c528aa8a355060a9f8bdddafff8405e4df5503201b50991e376ef39fddc4f91d98a8cc1e7835fa5d5168723354d1e59585b59e03981325874b3a10162a6c1c905dca9aa80e245114309f03bb9c543166c17505d1034eae0abea83e76b8b57829c09ade3244424492b52eb656b2e37e7e69154ca77f0342840a1b7ae0d6b2ae0b4f7a107d5ae9fb3cacc6d193c52de96ad2647063f0fb0382875babd32ebf4760143b691f27ffd82457501957203145fc51bac3fc9b36ae00581f020be7499a0ab5084a0559722f9a7f533b770af052449ded93517055915153410103c34422ae63cefb444bb97a21cff829a2656edc0ab589941bbc77055935fafacb0218280353e1ecd3340493df9aec01a48d778b11547f7ed437ebc36717ae793ac2133a2103ad43142fd54068ae7fa201e1d70c98b17914ef209cc384bd2a6dcb9aefca77cf03fd5a3ecffd4c049db7cd0987ae7dc35a850cc1ef41c8d1e6bd1212bc07cd003703a6052cfe3d89eb8e7b753121d36f15b961bc3cd75b9dc3a3b432833bd806826503cc675e6118d96bef8b0f761e6369344af9ffc417483ef1c253db099fe959a8010367ce5d353be50c08a4b77e72003ed5675ffa43f9a2ca2e089b72e41cf3f5097103840ccb4f7b8a6f7d868d863573837a5f09d02a99d1155522661241720fb0d7420219ffff0320ba8dabb50210acf6504c5322dc4c7fdfad871d6588bed6d216e55a84bd82d90307b20998e9e8fc5973571d07baf25c1fe0402e2ea61023e4aa0d0c8c1ee235da03d234d07ad3bab25c0dc89fb3d4960072fbcd84b223ca460701c3ab94b804640703aa85446220b53ec506c947cef452eb0e1f830e8f2ea33f2e94a48a24a98eb78c038e2d353aa01a2ab540b07f206d44640f24998fded01e7b60fc4d9ac31413132d037b2dc28759476808762e181159891e38da2c6e701622a538add1457b71be7fc303edcd9d983174a9a8063338350a60a9faaf4643d9e9d36f0c24511361ccf10a4603829025327f4929a713f35b49789eb3c60f7b2eaf4f4b4037e4c33113cd747ab003ce83f965806e3797699bedff6dea70b47d3fc13236765cd0900258a70c3232bf034dfb3809030ad57ce91fb10dd120b407bad94909e2c96794b084ec5aeb4549c003390ec58a7be4c774f8fce47cd3c79f485567af74ee7f3d52721a998e51717a43035bbdfb9edba7f081b50fb87b5ac843d2fdda66ec94d9f4055d58e23f3c95b51803f357a97190ba41a00191b79432d1db4a054d22a50f643ce0c86e4201642818d503a5ec9bf1690400fda314980e2004df2b08fe795022d38f39efbc3fd45fd79b6b031d42e44cada68cf3fb0b616eee30fd3f130e6282793156ca636a94413f5739f300581f021774b50866f04cda478b4ac2bf71ab1ab62c5bb65187568db393fcf3f9ea410100581f02a0799dcc09ef6b854859628acacc6cc82fa27b8fc5fe92f98830d096c51d58190100000000661d183f0000000773594000000000000014454603fe5a9a75cdd9ef6583bb260ee971b3e0a4ed7b2b626e0764f2ef071d5eb97a4400581f02ccaffc238bfc75087cfa99a8185ad818b66b939d8d6c453726d40b73ecc141010219920403f285a48b6ec07431a87c1e73c44feefcb39460804bd9e2416a6d0bd2416dc14503be2456e5ef76f96c8cbe49b1a594406e22237ba08e138c5cb963fd3aeafb83c40320f3c48ebd63c4dc65f7af967aed3750903383a8d8bd9cb3da02c70b8708b5d6030be1326e2d6a996726f8fa15a51bb6b675e4da4652cc3d2e1a474e1d94b3815c03ad1d9857b31e3d1425740b6f4e4a6d662cfe66c01fe3bae0ccea722205beba5903408a6ea843ca7ebee5e34894b813230bf89b3b63719bad3b60cc35e8ba8bb8b303218d00ffd2593284a39f333152905029c6896df51f8749e420f9e32fe6512b51038e698ed28b6cc8db2bc6e5e4ee5643e8fb293e5be38d424f0694b4a0d2d77e10032ae5d69ca8a05b5d124ca24db49f6786f3d8bb326d81b9899fc84f216805c25203b10b3266ffafe1998aa110cb0f8fa5464d50bc204b7dfa7ac841a2d5bab7874c0219ffff0219ffff03db0206819d86e8a2b6dd08ca36a0a4e6234efc2d7a2898ef303eb7d04d7878af0326401cfb963dff4d9b5a4a5cbb3892b1ed4f32a8af942ee4ced9d4038cc0fb56035a57492475aa59cf1213473105ee67915f5d6c4b6d6674f7c4cd25f0d51a5a2303283b5f3748dcbe96708d135482c68a178a4df9bc467b4fe7c756373c74b9eb530356c58b26de8299a65d3ca696770fc165533786fa453836affe189ea03a34346c032612f6df64ddd8897c3b54a1213aeb47a0da231551010cdda41919a84da2240503761db9d2a0d529fdb68d9246e6e0d8ab4144531285ebfa97bb52a06c589f3fba0367b406049ba3432d45d935144c05846fcf0ea3ade6b58866db9407f762ddd28a00581f024acf17f4b0692fbf68881d00a437f82268e0d028dba58f42cac58f5731b4410100581f02ba8229896f7c63be3f57c52125fe18b7d10cacc0dbe3efc01340f0f68d9041010219804003ccdb9bbffa7aa61056b5f0c7b6b8b535593e32d819ace75054749a70a3c824020383edc7dbfd8e2fcaed74aed4e44e6391107ba0888eac9c0d5968ff7d9e5f3307037195d838b970614ed9bab31bf1f0884b369ffba5c98237dde020c3c726371835036127ff5ceac944d58177813e1e46f7143916b0dcf2732ee0849fa2ea976d984c0369e6fd4348209a9d09f87e6249b13480822d72f6e25c91881336954601c7bc98031950d330cf1f73fc71a135046f921847b12b3d64ec5dfea0d2e3f7473d429e7903289d88599e8aeb80d9ad57422b4adc7f1fa2232fb52bf9d3c02d5e2d52a3607503c79df9fa15ddbdef241aa2d44733d13d0a086609cbd83d0d72a957c7128a20bc0337c7aedb8d6192ef0116de35cd169d3bece525045faa1e489411f7dfcfc1229b03b2b9494f55e99ed7e20b142181c4a733f07d31695083cb3bd55746293c210fce03c1852520b3ad8efb2d774ad85a3fbf6e6f2b609661a6f0ab62b263ecc2dae13803a98fc51d1c4a7a901843f535e5e64181407447b917027d6df204b84de0400f8e03d1e25d3957e3d11e94253b6604cc2b76420f0cb8b2c75a9eda635a16edc5d1f90219ffff0335cf579bc12f93a6ba4bc9596b2a4d171f9131bf7aa9787aacebe0c371394f7103c57933e618c48ebff74aade48843ba024ea73ca8f6ed08e6cb1b006f8e0eed6803f0d751687ab691203dde42542a97b3d3602b1d6195b77aaa5aed7d75d13a9e1503cb2bc713199be18c0d810b9eb4d0a528ec55885dffa5e6750c91d56e4f8db58d031c05ad9dd810b8c5d6e2ea73f7c304fb1921394e4d1d06f3ef4b54345bf7a83100581f0203fb845a989384bf49ee3916d756c298efff07c8dfa8f6963452d9fb3057410100581f02f68519b5ba2a1c0ad4956f6b2324611c4f2af7916add03ffff616d9e7c3f410100581f021fe570a1b068544fe51c6efc0ff86ca407408071c6cc03436c04a26e3b2258190100000000661e6cef00000007735940000000000000145a0b00581f0247d004b769b45fab775037a4a1e30dd659b0d9038e6e157fec76b74c88b1410100581f02e1bcba31aac3b3c51ae58d0afd11c4501b988b6c2980ac5900029130879b58190100000000661ede5300000007735940000000000000146ce200581f02273e7b3709248a64575f1c751288c2a21bc8f34a479cc8636e4feea788d441010219241e034cf59426097340520b654f94caed38300e8d74d96cfeb7db96582fdeb8b0306803ccfa7fdaea804e01484d888fb272f3460c5ad64e0d81314c6cfb311b637aa738034d358deb0e5fb048383917b7fc3f7038d8ddd9ff9861d4cc4534a27132aeead903a1a00f260328b981cd6651ef3226287bdc3cb88ea3488d34491545e342d9cd5303405b2a462f1d9055a8b92dbdff44c32ace616678e4df0ed4c88fa91afe2131db039b9aa5e0595797c13b8b4c26e067e16ef1e2cf37268d79a4a9fe4e42d0255557030ddb63b6ecc03bae835f5077b90dde292caaa99fdef71df6eb32091d00eff74303646c5d76ec6e6df4f76605973f80d74da916cc232665b60ea11aa04325274f05037214fc36b7627d3cfc46e5f36ea0ef61d8b80675735c80c05ce96e4aaaf68fa603d817cc702a5b6046d28b815786134e8f20eea166fac8cde49a7a1b4d8b85fbb9033ed2bc63ee7c0a9c7ee250811c8d1abcc0bdafe41b7388f64503b26026844f270219ffff03f62e04adbe1e41e38a9fb4b20565f567844962fb25a1fd482c3de1d10d9a9b8c030ef12c4d3d8a19ce9929f2db1774918078bc2c3593f9c3e15960460638151b3303a031ab1abddde0085d9afdccf4a829915b2e5a854a222fab87024f3fa7ed7ab20326410169fa8245f59a2a98bdc3b94ecf71956518095f492f4dc6d292140e6728031feed13ec651086a27133c4eade74cbec823b18ec1e8140aa111467c23579f7d03e3ff463f67c0f193bea44c2bdb195c1c5ef8112c29b1555ee11765d23ddae9eb03754ca50ff72e43f91ba8bb45ae28449dc85f1145b51d50b3dd51342f5f60cc320219ffff034ad031cdc54dc5ad47e25f8fe6b36c5a1b97720be44f92a5ddd62fd86be7991403a0796734466d068097b2f55848ef1474a854a2f2b45a7935afb93b59207da89903466bc3f20dcbd935bb08a086ee5abdcfa466b08833c96edc5462a7a2c470c4b503f19cd551a9c86f1567a521b5c8d4f10c2e769274ce132a12ab181d7332ee86b100582003c796c16c5c12e07cebb3ee89e652064e6e5602e02b0e227095d7c35a20d0e058190100000000661dc27f00000007735940000000000000144e710395f463c5f127849fbcc6455bc3acab889994c462bbbae65dfc6b5fa99b24777f00581f02fc03340db291cef6fa6b341c3184f948ebf0a8fccce18ea1f8d7d5dd705458190100000000661f4f9f000000077359400000000000001485b600581f020b4320bb479065f57388a652227754f59e83088683cbde7a8534403db694410100581f02292247c20deb4bd8a82ab2800c8ab24de83e32d62b5dd9696d5297452e5358190100000000661c6dff00000007735940000000000000143ff30362a232f224f51cd362087e44f8d17560bdde0ec7d38395e36578fdcace908b8d00581f029bc4fd95b0122f7cedb93ae68f5460e46219c0c9ba4964721cfa0ad4d82c410100581f0205212e142054add9202b6e08db0c909595d14e76b6eb391570eaa601cb5c58190100000000661e6cef0000000773594000000000000014637902198926039c2b7a4f719a809b9e7b3bad02dbbd48d7184844aeffbd9752774b099dba7cfb037c4013b510e35d664969b0f26812ead4eee1b50a55b02c54a66012e0a0fc1962032843dd73592ea71167ec841dc04fed0107b6e3871af997ddbf994ed97fea0d3503a79d864be1ed8efe66f0f76c07f38a3447f0abdb7746242e67e5342406857446031d985a3100857a3c8d0c0d4492b3d088d6d69b953c5bfa55d4720b76bd4af151035364aba61a1d64f457160864a88270d4ae0ecc6113c1b717885d0f21753c7f0103b5f1867f003aa1fc2c951bcf98f42494ebb43407bfd07439a58203b00de9d0a0038a1538d105595fa05708e6170c0b5d7f2486dabfa9c9c95b45a0b1bd93d5b29d0337e8c3631d3b6aca799e0c482efcfc720628e6478b1b3717e47d32b5c475a4dc03b005b2f2a64dd9a43488e68e68286d7a45ec764d5a77e7e04f6b62bbbbcc57860219ffff03917ee354de49a61b6647b0259e81ce4a0613946d58ef0f2340427cba3d9b4b96031ae4b81338ec7de0f7b89ba7c2e1699d7273374bcf3ec1bd7b393be4ab5f513003803b90d4ed5adfc4bd02501f617170ef162283635ee30d2f81705f925a1819f503a5777447b4be9cb464b93e11624e1cdcb3d58665f97c038b331af3fa6b5d4e4203e163b1b2b9417e2817ee9dc4d4926b066333c4d9818d97f8f2c8c7773105406e03a0864ddb409294df7619b855108fe6137922a8e31838afe37a60feeb2644f9c003ff81ca678380a694063f35fe4e8603c7db6dd5269af01e129c2944b06228967b0314d4a0db752eda458ee8985b72eabe0cd8b36b5bf64283b57d636f34a382826503a83dde88b30d649a555ed3c2b79d1f6be2e96c27ce9d54d162fe0158e8845915033c20e7e31b96c44c9551f4f5dd788f3663c1234a79486f5480a7e58afddd1bb50358a1941401785782425efeb690a41d1a3b5bbb2a92213df2bade0478deef4f3600581f02ff8b4dbe6f5da590c410de5ba0b52166fd70895f27d5bdbbbb4f839ea875410100581f026a0204cc1fcd93954be08c038bba546fe6d5354a8719aa47d06340ff7f1758190100000000661c34f300000007735940000000000000143eeb00581f02ab3fac7247ccb34801a07f901572ec7b4209c07159dc41f3b40b50f5244658190100000000661d899700000007735940000000000000144b8e00581f02d02c00126a436d817980457bb67ea67b6051bbe00ba3fbf624fe34ba559d410100581f02059198c1ac05dbc2b225aeba127f4d58b6b3bfa13971a99bb5d016a2c711410100581f02baf654faa7d9877bd8ff3a5230cb3914b21d2c7bd0dff2994d8554ca915358190100000000661d899700000007735940000000000000144b4d00581f026e0cb9d21b019b744be8175f7c62ad8d8d0449237acccd35f456aea7386558190100000000661bfc6b00000007735940000000000000143b5b0219cea003c7ac9787e4343848ec81dac410c75fa7ccd2eb3484ef754d0d0ab1b2463f27b303f273a62ef72b6726834bbaaf7d2e621966f546820b790147731a3b8f5b02b29503d068eaf825aac7854fee0422b12893dd941772a9e4c808a9cef75607fe278fea0368f017006ebce997b086e05aeaff2fd924ea3e6c23c1e59e5e03f145212de7390219ffff032906cb7cf10b8e692df4f32fb9916e10180a9d5d0e7af2a6ea32333cbac7efad00581f026439fb8402572562133fb9e884d75820d01ded78f756c3808efd019ed7c0410100581f0261a179cbd1b6bdf2ce9fb621f558bbbd14fa2b6f5426331a05319714fea958190100000000661e6cef0000000773594000000000000014637200581f02c23948c4adb9f368e41c645ffade3143004d61e1f1ac2453ec8ba7d32b42410100581f02adde30550389d2d62f37899305373d2de5489e02d8dbd3d7c6412a60973741010219700403df7dcd7249d29c4afcb2000428f39fe3e184890bb4ca6344d430fc6f0f360985034a2d534460ee10e24a0d4a960909b2cfb485cd996c3826d7d3e6ba72ff22e74c0385a3318372a303874322802c5737cb86ca9ea82e55fbb5f5aa59bb79903c09aa03a6b308da47cfca7adb75aae59b6b898212194c3f15bd2ee71c3936ced5dc29a90325c36e769017d34826168dc4f9989547bcbaac81aaec022af70d17fc193e1b6303e7a2fc23eeb7356c498d68c427d263db9f627e00abba5fd9b068737671dd9d3c03d4b7867135ed69e9b5fd3a7977595b7f8cf29817a5dbe3177a1e95d0d6d44d99036d90060ce53c9b78dafd015dea7727b51e6d3a350771af5baeb649b8308421480316bd5af1250a611f1fd2309d9738b286da7714cdd20955b703725ca6b02b8a6c03fc6532d77bf86059ffcb81f59cd5cc1f07b0ac5a36b456eaf6309ce2c2a74c2e038253a148448645a6292f5871326385ab564dd2d00817a3f93ae4a0f75a9d8c4d0379e7dfdd0b9da5d6effb5389dba3f76e4880afbe4d92de5b75f2f71063fc153403f09e9fe7de70fd4cbbe63708cff085c12870b6306219956f2d8727690761c7a403e34c1bd36717d6280e95f1e84a4e0a0fa599f1161a288dfa69263f0f307b59de0219ffff034b4530a13415041be7928d42a99fdf0f40d8eb8dd8c39c116658e8d11c5677fd03d9589e34579ab598796ee3ec910e918fa0d4fd0d15f4761de3a3a06340d53631031a9d06ac8444964a61f96e296c37f223911077b61bcd27c4ab62d15d774cd4240346e944ed6fa74998eaecaae0f69391a9f9da3ef5139af6936ad53e272596c02f0316d4f8964a6f81498397739c9d48dbf9fdf8ac157d1640f71fe3f50afae822b900581f02ae5ca3288f928230aa3738eec99a3d3105ed792bf7805c0c87d9293522a358190100000000661dc27f00000007735940000000000000144e2d00581f02c47946b3c4df24adf0243f95be1ebd62e19d4b95d1cfe0ab4a7b47ef4d61410100581f025e6ced73bce6d7179768196bef0d13028c7e8beb32d91d9e235158c87bda58190100000000661e6cef000000077359400000000000001465a100581f02149adc807605819554a98366181ac1afedeee22a5b005c5dc26b41fff85d58190100000000661dc27f00000007735940000000000000144eb20219504203e7c3b1b18a21277bac462d4f927d418f1c6ab09df3bc93f98a7838ffd7a12c7900582003234348d8f8a786aae5a4d70735d88eeb8458406cdfd7f16ede19923fa540b041010360d8494aaffd400e26b6edee3a031736a79bf29f0b8c363f5c8596dbe075c3c1037c6b2d1e194b2bc97f88b60a5b007e6507e2175b3196f9f90ea070f3958f0809030539100ef4f1cafa34065f6985c60e2d054d9855b5dd8f65904e1d8ac7f690e303ed78d5f8978ed3fe674bcd9da3e6e7af330e5bb671c6c5ea47f1ed38fce271de03b8261d81ea5cc2aed7c3d8ddf6a33272b2288fbab86974efdbd4c919a34bdd0a03b3f0449f100d691910a38b7893b2ac68e2bf368bedb1ee58b492470901c7a06e03f2c831ac1f82b99244269945a9e9917bae2ca4584b719da4a7d1e1de46cb23770219ffdf03dba443472e64f939f883c79e9249ad100c5502f63be3ecccfbe71064b6239c81033f2f777b2f2dd99db44c80c18275eb5eb22361adda6726d21dca05c88001114d039f79f79a6baa33c5c1be333e493a9ca1e051431b1f50f61e0216bdda4012303703482795457b616153e145872437079f74da5448dffdc95125659b53f4bc935898036bf698b619493f011eb073664cd8c62edbfb499a8cee2944f4e2ae5ddfaef176033b28d3d7a51af5cc96d67a18e89e1589e8faf40c1c79928ddd20182b5dd4b7fc03f81076cc556063165f3550e20c56356a344fb69264d1b63c1a88afd5b028209103f5fd4bb7aabc71e9241530ee5ea3a1d7ffe10b1c53b3c672aed1d8fb8be16c4e038ba363e1f2cf4ab13e86fc98a8d5478614571535257ccf734d844e07f1e8064200581f02247b022c4fccb8def5e94c35beb0825a552545c5d503ea5a96c997b9394c58190100000000661e6cef0000000773594000000000000014637700581f020788f15a1f881f9ce6608b7d6451fd7e84ff5d2078bbdf38e89ef7a3e5db410100581f0207cfc1acf832c5448d06df911eb28622df7cfd39fef3041f586ae621613758190100000000661e6cef0000000773594000000000000014610902190b0003c38f048520bd5f8f4f56f18411c864d81708d67846e45cfcba6afb8793e8af2403d037e4d14e33d3e34d2d7c9fe202e84b95eda619603b1c0f5f9297c36208644803c23d032dd2638913b955895f2264f8a8d9d2dc519fbed26f3afa2337ae3e739603a10e83135e847628eed0c0be1136959e530c8a1b4ec2dc02c64a9c0a02ee7d7903652d39f62012e5ece4df27b6f4a1703b9a2d09008e2524f3265c240cb335ebe603dcfb2a4e88b7641e44c6f84cf5dfff33f5d235c3192414d974ad216f33ad1d070387e814e8e2a93cdd4ec7792271967431747bb45fa849da612412d96f4309006e037a73d3168c7ded11c66f2b0ba2e00ec2fd63bf6b72794e5847255ea131266d1d0342719c57087b3454b6fda7c000e2e10ffa9a725615cc98c2415573757189d9a9030b39b94f80c9f9b87a5aa44f959ed7383503205453fa253b76a89236b65c730b0374bc30f03646e0834540a5933047d73915ca70cb83880da9c55d5d98377f7ca903c9cc815fddb3c78d608d8376a383e8f7e9e6e19b4f801a0dca4e90b0ba3778e303edc14d825b9749e847ecd0c023e91e916239e600e5c283fdf9548cd1bca86f9103b3f430b558db3b7816e951632b7d21eea3cef8ff6d2b2b71632606d34e0e68f003cf9f7e4ee890ff1e5eb0dc5a845790ffd7063aa34805d11bf49d29e6d2fef6730219ffff03a41e5052786354434765ccedf37e1fb14b87ad78feff5ba678efeccc0f4ec102038e5d4aa572324bda213401473ce22b0bbd75c1764d654d9ec9c657f5e1921e030219ffff030ae1752c29a497f17e3f1d6349b1fe916c183ddfe8c6e348929be267374e034603a68e78ae6a8ad8bf34af8901ee46c8ff0ddf30bdb47f499868cec7524210a02803547622c78e8e0abed8fbc874d86f18669a63f5789e32fb1da32621543ee8863703f3246ceccc92644746541bab2ab00f83079d2d9e1ff8c347b9a885270c2c8b74005820036295eadeaeb7ad551f4b1364b25575a4e6f530ad0ffe0eb5d75131b573592041010394f2b3441147b8ef4906edd600ba1574b3b8c31bf9df10553e98911d709b723e036be55f6668c7346c246e6e6394eb2f391c0b618910b8daf7705e6c8f43f65040032a56db3f1afbf69b4b6ad9da81d03a041c3bbec8b7fd97d97e93850b8576196903da197670915cd793273559dafdad90ced6416d1548d3ef55d608ebb73f7ef8a90334f9c882815d439acc10f5ede511beb2bdf82ff39467615b433934d37fa7b266032f1b42ac5fa3d6e10d49b44da84a81d5c51a3f2cfc6706442f4c7129364b1579033e5ca771e99de897bedccd10ba51ea33713a6f87e688fb3ba28f2cf5943cacfa0397dee7349d9d51640d554d5b9e568dc4e1f923c55ce236af74e392f02b3eb23e030b99cb6882612816e8bcca803880201e8684d905e8c374ea4ff97bd22c6758d8032ce7e7086c027adf33088f6b974145cc700f4e713e4b2b926ac0a5a5c2d9dc5a00581f025bfeb2cceec1cf888a3e365ae11d57d20ad01ed643bfa3a27a98610f76ba58190100000000661dc27f00000007735940000000000000144df100581f0231b5f9ac5adaa9d1bfedac79a5fb29e846b1e79bcf7a8216cb0bae1f100158190100000000661f88330000000773594000000000000014892700581f02d7e54bd8f7b9beaadd3572c1aa0606787bfa8c16c91dfc45a2cd0ed76639410100581f023320f583be8336cc515b2b12bee482bf652a0bf015e6856b09d76f8b98dd58190100000000661c6dff0000000773594000000000000014444a021934400323323ffa3d548972a2477eece32cd5e9181126c5f9368bccce47deed477a512d03a9eebeb6b14a85d00dd398bcf7c8581090c45fe2140598287e39b8543f79e7ab035108a6de00c19f3628e4094abb3de9f50762bcda21faa437d1e07c95052e08580219ffff0341152fcb1149a79425586ba39f7673dc77499034f9c098107430b98ed479290a03c08b0ff01ac96db3e9494e849e857dbafe087a631263c0dfd15a87bddd6264e6031753eb8c47c7192d19657706fa9b6168bb5fd9e0f1264da23a98d4fe76465ed003ca3b183e73a34bedc7fd6474fa9765ebe94abf0592b1d2aff40c107c9b6c9b0d030cbb5b476c6f7742dc1e2d1c7862b7f0d96a7ab8cc8fcea6e2d98961a604e0a6039aea9150832fe54f9877f2b6a6a0ecf345a38d6d95a75816a365aea5a86d6e110328792a2b537bc3ac3f5be89fcc9444d428d744416886abfe2351f375087dd14303f7f5409b15b966e8887f566025a47081bbe2add1e5e6f149803da2cfc5785383032a2a08f823fa13c776eb5b38cf062ad7fb0cc1a54397bc81dbd0640aced05b5403bba3337037c1c18b39afd7bf1b6d6c8e00c0b140fb95a06d81875ff0ed50c93103159c6611bec0b48da7306845b8b411fcd86b1d6fa06783cf4ac6d88997fa83c603e119ef862bc347f33140c49a6d61efca6ab42c2c5395e9377c1e28e5ed5d14d60311b340a7d522512db9f189050126f2f9730a6115b3a8bc63ae97f132cf9baaac032e01ee2e35af69d0730383d8021a2936ed5186896e2ea0a55c23227ec7d5e91d03a2534742a84bb363022a2fa901b71982626d27e34806a0f4ec98e9206b9b0031035312f2cd0146786bfeac1199d86c4602a4a485a768663411b96656993a6687230315405659cc3d68376c3dd0426a807470c4b7d3e2b62335593957b310d71a823003e61c80dace30bd2311313a8de13349c3f361862aee205952b704f88e579a534600581f037358ac197f70ed0053ef8a3d30d90edf5518d87bee10b5b7ece159cf5070410100581f03153fa327e445039bb4b64345bb27d659932279800ca1b8b1fe2b1469338058190100000000661ede5300000007735940000000000000146b4e0219014003ec2b31d324bfa59f2927062877a2471939a218309766596e9c0d827edfcaa7f400581f025b01b00459e95a256b876aed45ca9477a9286d8624317efbe0357b2891f3410100581f02476534e5bf55d5d7c60f5983f387a41d0543bfb1552e7fb192e1db6130bd58190100000000661ff93700000007735940000000000000148b2002198023039b9a90be4d31c7d8bbefe9035a9908fe242dd064867f6396988259d321ce1f630350f27285f401470f6478f75786650342dc0948ddcc9c9e03acc90b82f1d1a0dd037242d8c03410854b0193a13e88eea15815222910506522a509a6f89523ae9e48036e72edfec35115a6db3ce10fb551d1db7adb9d5222e1193f485637a0ec632ecb03509018909911c769fd6e61a90da40701d1a043c6a71523c23f3370a01f0964020219ffff039a5b1c8901d22c8db1bc3162535784bf4aa396b2f7b868d6d7833832932a73940335f9af8a085b40491fa222b51adfa36d2cc48189a4524649df3e2b9fdacc737f037b09288382ddcc887250c359bb23b488cef58ab703784202fd429116df3aab89032124dcd4de90a21291d5280a64ab458066f7ebbf8d97fdce600d1ac39cb20ff200581f02c1c851ed0694ae56908302ac8a9499906c0c51e8890c72f3490b40123752410100581f027f2818188d9fecedc303d3a3ee3a2ca98b52378044f7758f10110e467e6258190100000000661e6cef0000000773594000000000000014637c00581f029df4077bb2b96282db83f0063d6792633ad8db1cbd74206c88b731ed7094410100581f02c8e745ecde6c222b315db0a264f73aa72fb9f5900cec584b1aaa5615d8a5410100581f0299c9e9e9331926a5a1b5784242cd396c3e2119cf9bc3a7e835058a809934410100581f02ce06d355e2e9880643d8dfbf1f04a1625744374a856f4da11d6b5ba17ce958190100000000661c6dff000000077359400000000000001440a10219c40e00581f02162dc903e1c8f18d24617201645f0191cd3552249ed68e9a84e4be0dfeb1410100581f02a0310752560463b88ad595841278d1a7d4dd5d2b6e5cb7a929a396b8143b58190100000000661e6cef0000000773594000000000000014637a00581f0205e52cda658dcf56ec5fb1e9242efd92b3b84fea75657812b8fa94473b01410100581f02ddbb3fab02045c489cc7d5ced285ccc5206fbb4e6ffc4d2ae8a152f8662658190100000000661d50d300000007735940000000000000144a3003883d7ee1d4f2befd61bad5958abdbb53d3e2d267550454d4c0ec23931640e13c00581f02cbbbf53ee141cc0d96422c806059031ca03082fe358f037804a03ffabf8f41010219a54803f2efc7b5cf536ff42c7b759e632af29227405c7da1cf2d5c36ddb566ead5bd740359c5a8eda76437b6cada4ccfed136828cad70072afb9bee97ee4b2ddce852e2403d437554c7bbadbd72f4aeff0382116cdee9a4b034958660d2444b72357fe330003dd72beb0dc596562d6206ff82743c49926bad450bd0dc5fa2db354eb47ca190103c22896a69740371703fa87b9fc06fde16cb5ddcaa0eaa42720e402efe160dbf903c1c1b53d940a60b2f6c5b17a3aaa1d9744f79497667eae725622b02d6ff22a180354fb13b1286389ea52df31e9f08133487a93696d5d19049a419e5944da498eb303a9880f47e4ced0cb9bbff63e05ce80c977630b26bc37e64b7e32dcd5160d6ccc0397e9f243ffc7cd58a2aca5a893c97cdc377af3b9d80cf86a566982c1a77206d803be827a000ef7065e7eca89015b75020a7a4bbc1f680931a6c64d6dd914a68ade03d3e986da21af520eeb0bff9ce69229501217282ba58bcb4dfce86542d03e735103c1565da6edad3430b80b20c6657a6f9915287a5cff62a07297496457d33006ac0219ffff0219ffff03f8c17a345bd5553b2a292be00536b0c49d50e1b56489362e2f758257a40cece90219ffff05581d0238031026e653784ae5590c8fd3aef3ff38c7174db9a6915ee0fd6c310f0149037ddfbe15e9aad20019034e035dd8066f7065033ba517c42a077d9a568e5658f3bd9beb3534a8229f0ead1a090219a00005581e03d29556a343e30fcfa697121dffd9c02096fc630b1c45abb783eb13b6e00c074607a3c704200005581e03ad9e0803306b3110c0fd7edc9d138e4539adf662b70615c64cc0009ad0040102194049032db97fd7918314bcef0c0396bded0f8e9a28ae78e47c0d1d67697cbcf8884fb8034ccc4a8f05af12423355102ef33e1f9e79ddb4a844e6ffcd326557db04fabe1403ee58e3568d9f616882f137f7bdb6dd2f8634aa5e402c6e424905c79a471e025003f9b28130dfa4a9e4f1391969566b9bcf0cfc77e684fef1cec2017ba1d487b32e030d1d330f2cf9117492cae0415375011a35a51b8cccc98e508598163dbde6d553035d68c00b5fd83389d258142ae75b8c983f59aaefc90592341daad1b71d4865c803c98b63407d3198c9702a249a1fbde69cd12f34b78ad31f465f5e42093c1633390320d0c38c30337a9b9e668d036f7496c680a4f490440040406225ba98da04e6530219ffff03af72ec2c27c828133bb000273c4f47e732e55087bcb0f25c5d7e9d5b8be6ee08037c683f36552fb10df31ffbab70ea5bd2e08d13ab517d867a9d28e45f936f581e0219ffff03bbf0823baba110d13fb415d75668e595d85d146325e9cc40fd5171b910f6e8be03661638dfa3acdbbbf605611ebf4930c05ff709ff1add1b7313fb3c8fee088e7d036fa917b6a28d91847339f41da0fc8d12e8a2d1c9dd5a473693729363d56c02a8034a96958997003d69407d5ccc44b22cdc57bbfb07f3c5afb5f0a3f1e05d7646810219ffff03706e58125889f8b7ae7ddc5dbdaccc2d384e954fab0c91cd9afe01ee739d1ce703b316e14ee551213e4b12343d6dea342931700a3c8697b59a70329e52f227549f03e0ce65f6d13450140ca478483a7b08564b278d2fd6fa3460721adb965606c89503be7861da978d82612919c9b98794572946e377a7160cc73b18cde95fbf33dfaa035eca45627d16bdb7192568a8648f6533eb965371ee1a228e061942a181f6a9bd033319808e2589eae44fc8f02563d8f709528864ef845b273908daf82adcd21ec403584e4cba0531195a09dec1b662a062516104d2e87dc03266737023bc08f701ea03c18974cb0bb50e963714a780dc038a9f0819638e3f3a60613aebe213714be0210350d02a3134f348927fcba07a76a25f13700ae50806cb87b506c964d45b5ffe000384618f55a3ceb08c2c308cace288ce45ae4a31379f1510be5260bfd33927f75a0331f53cd81840371a6cc8c4de5c89747cb04414f00be3bb3fb9c8b53af3d7a54a030475e4c33a65267ffacfe99b202fadb1eb608642ee2e65894a0e5d3517eac63e03c2a0c0b4eb1d8d9fbc681ac3b359fd13a19a789be903749a29048200a0eec24903640b2bea9a0b35c9006b59d97b297304458dcf091ad1775ae94d9117d2a8476203c72081edd53de243ee3eb52622accac98255349473cc922d507272283c9d4975038b8964e20d8f48877ae0982ae698c04767918c4537bc0d23aba7137b88997c9403e41e44f87cf187918cac0438f8f2fcc29a38119c168fd35196938f6adacdfe24030c6eaa358dfb6232733a26a04af8df9f85d4b6b9dd640fe39f5c1f3b9d5102240396a08cab811c894ac787f3366fb6af23d68bc4a2887faf7b197f130a37b3dcbc03871cbb31f4dd2ba871086df0f7ad726265c7c7bf328b751b99bb4bb53d1340e203197c468cbc63a6f8ab408d6604371dc0c2dcfc0fdeafaa24dd5e22dab624254e032761d8908af66e5427fc8672183f15c6177f46fd9804502f3ccd0645c322459303917b75246d672fa4c5705a13868e927307d65c635751f1827ea70dab7b9ceb2803c5dd9c081ee670614e409a78cdbbd5ffd23bf2314cbae7698453de17b105680f03b546d30a747b31197082ed3e9582c9aafa9a3b73d2d8544830cdc714cd9214ff0306766138cd7b778f097fea43a710246d5085b0a0816e8fb9098817b4c7362c6f03520052da06f051eab4ee85a13c718ab0371e2818b88fc1d75dd61ddc96c17fa60318adc8ecb03821a728b3edaa3166ff31e8fc0f28cf5f1bc20b477767f75773aa03b0ef1d0a48593551abeb521e6bbfa04a2d72ce46ec069a72d20ac27129762b7403e4917d8fb1e191c6c7a8f0509dc56b1ed2acdca735591d9ca7d1ab3aeddd1d750330b1f064ce519d15ea77cc332d5722288e135cd31818066a9d0ae090b82e9222030353c10d8b90e4f3b8778abc0f7744b3296be57fdd7707d935e792d5ef5b5b230348486c86c6c7ea4a1a1cf518967d47cdf908093e179e7a4c62c83928e37b00a903186b1b272962d4620476834f0474e1a67180547c7104d2f05f7a84efaaf402870605581d02bbc78fd7d0c0f539fdfea7a1defc99d3243afa648233e2e1904103b707011bffffffffffffffff05581d02370ac42862153d922a9a3d82d576b95424314bf92b1dc7cbf6d825930c194156486ffb7971298cb37602184405581e03b3e1b3e58c8eaa78dcc3bfa96c8a16709dc9b9805336540b122225eed00c014702f26d528fe936034acba7e4e493c89a0d5bea0ea0e337d845e585fad7272a73baa939aa6804fe54036ddd933d04c641e0f9c3b7a1dfb3bda3a2af33085f368111ce157e7742cb933e05581e03710b8d5daabaf1fbd6c03642fe69252df2e2e27b49e81898304b8d6b500c02470191795a5110000355c2f34751cf4d84af684a4788bd27a41c1b63e9e5821a677777ec6071198f0403ff01b9e569cee87ff6ad39c47f0381f208d74b4f8fbd3c4206da05ec5e069ea802196517034391ccfc417d4b039f5fcae8dc5eaec4c8128946a9f5bb6b7676645db21c092403310147e7a742a61fca053c2052ab31bdd1ce182e16701ab0778a8828d069e9fe03a5f5d66b880bfd0ed8af69e27f0a6e5377e23ce388b5c8dd3d9955b0ff40168403f59b955581a84e216d8ace1a2980166ae10f3e3ef27984e9285a1fde93f5663903ead4a85b9efe86d797ee172f8eecf7a7a4271064fa90e4a0a8587dfc2fc6f31803313c803f62853756f76ec82c397e4f1d98c127195d5144ce5e1c71f47b415c5e03ad5f98e7ec88fe2c14c707b01c8a0f847f98fc1ef4d04fb474e9af1495aa89a90219ffff03b95bf531f53b07db21d29dfb9b453befae1bfadca78fb441519d1d308aa61b5203295c5071f9c340f8b7370650c87d30e08a4ffd2374c2a797526c9de9bcda88e3037a18dcfad91156457988c2b1ca2f2558d1b358e147ce5972318416aaebd183710388383d2cfedcf3e5fb58b89ebbc3ca604ae77ffaa329f84706495588706a9e59031ebbe87b04b3045884aa0e7ab27166d7e75a272cbf553c5d2467d9fd7f8772f603f3a9182d1193199d8f4ef0740f2239f93075a674a4d6c7f64158fcd6997fd70c03d077de24e18e846f03229fb060fb89d4df37f0e077edf9e2fff1422606dc84cb030086210c4e14b723169389ed6d919108103d3bec8533407e07619e924c6d4d7d03782c6c5941be2787ebffbb68364870489c16302a5a547029cf1727e203ed6f9c03d81f8a17233ef76eca80cde4b43bf343c70f3fcb408615a98afb4826f516b5c60219ffff0219ffff0356e712c4efdc66dbdc8b28bcc0184a370c9648552e635eb0713ef7929a8d0b4a036359730b60a2568e3591dc1514195d794e52cc537d134a9a225105a84c1377f103a09af806c934ad3d6b7dbd8f678023c47b953730511ffff901a78d32e8bae09d0396578cda4f7f34c9d05f71d1231159658d0d3bbbb40c20927078aea9bcf4b7ea03d0593ba7ce4e1c4b4ccc13b87b0f971c4f35eafd77db6e06c73fd6eff42465cb031a1c5369c92b72cfdb02df90c7da4c0174231c32d3cf08d27ecce14160cdf203034160cf3b3d15540a9bc7b4f670f4ec2469bf85aa68a83971b3fa0b6940b3356603505ddf54a24ccc17baf6c44207f176c68de495c11e7dec99bde08b5e760f321a030b03585892815f087e328b17a9cb798473b563fd85b8fd5000a5d5107319be5c037da01e9b0d1ea22c8fb98c85ef7cac59fb23b9f90c5a435d1b49d78cda5bf22c03e4525e2d380976269022066325adb76ab581adac6beec4c4016b24048248622303165119fe97b758509fd71e6d94d39ccfe84560aab95a3585ee0b14f0fbee7c7a0301947e0628cb54fc23de60168aea47f8ed09cfd8e306173b65bd488ae1442faa03859c210c3708518cc8b9c988ce0a7441ec43737e831d92112c768e5c27005d3003b8e67b067ab5f64d81528240b55a55e8f39a5864b27ea30b43095ea19214a85403efe2aaa791502cf25c7823b78fa81b1b02586564711c36a20628cf7180c446bc030bcdd0b59594da18252be2b91dcdb3af65bc57660cb863ad55e8e2517fc878f6039bd8d1788ba8c4479433926da453e5b532d34f3c23115025f584fbce4039f27b0364093a189dd82da1ea4973c9e08924cbf47f21c7a90a02e756ec8c90d88a94b5039560e45bb3890528315e16cb03ee028c45b1db0d24be9f430c02d166da86cd0005581e038e66bad661584d24ee7a182fe076cb96b3fc0626012fcdb4a0cf15e5800c0347279701c0caf84003affe208456e818f69a73122832d6db3a7b93175f3bf83dd7f080d11743c81ea90352b50106208b0dce3c80d2e9f04f9a259d491f21002b96e6e8bd8b57becf942605581e03cb306c8d4dd39aac9f7b305e858d48219ecb601449fe18e76e2cb2bf3007011bffffffffffffffff0459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000001258d60b224c0c5cd888d37bbf31aa5fcfb7e87081565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000001258d60b224c0c5cd888d37bbf31aa5fcfb7e8708d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000001258d60b224c0c5cd888d37bbf31aa5fcfb7e8708b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000001258d60b224c0c5cd888d37bbf31aa5fcfb7e870908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000001258d60b224c0c5cd888d37bbf31aa5fcfb7e8709087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000d572d276b699947a043c85f8d66ce311cc85e3571614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000001258d60b224c0c5cd888d37bbf31aa5fcfb7e8701693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03ed2e94f3ba4a6edb8f77c48fb183f9b8efcd0c0f86c22fcf5e62a085119b870b039c92c9b75aaff883c48c6d255658f369cedaf14e264b722aab125b5197cb1e3b03ff3561690acb278c20915de23f41324a8ee0b27845878b3147b4d5acdc14535f034e051d31c1025f1af94ca30ff1b417b166a28e14d36a57b7bbf38f0e060b2f720058200249f0cee1b4d2d85790b6cf0c077fbb7f8240443e9564a9d02c45bb91e18da55007cf899dbb12ef89014d9ccfcc5c91ab0391a9e19b929db88dc6f81ee74ab7b81e506ec4c76ae5f30790c97a325a3cb77400582002cb33ae73819cea9500d97f4f251f0a17a41616efd2f560d0a6e25b97b59eb64d3f385977ea84ce7bc60c2eee6f00582002d6877dc1931f9f2237418829ea8744fbbdf199abe1ef08891f89610b988bb24e0c7a28b197c7f86b71f1e2525b4c00582002ec9003b1c5bf384b838d05c0879c7f49801a286e638f1a9f1c1af8476bca23511c27b8e35c0a5cb2b46d4874ab76ed4b70005820029f296b4a29075a056fe947a4498ae4e203d15912866623c165162b8895d84a501347345f8a8682bc4fce9d85b9872b72005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100000100010000fecd490000000000000000050cdf6bb2968eb97e9731a30377bf9c8756f6d21e22545008cc2c8fb9a9eb2cc722b1a907c61d8d3bed4abd6a037dfbad55da9cd71af9832aef74011f9b28accf3ba464e293b22159b0b090a4b3032e53a8a7803b2a8c2658a548d74121def9fd4463b2daddd5390ae68a05abcc8900582002181fc6259a62617d253092bb3453a6c7934ab70a76cfe099bd300b81b674c74f16bd838771fcb6ff2073d20a6560e3005820022b699f44e9e5693db4bb54ee166b79b89586b0e929a1300dc86644af7be7855102975c36124bde54867a5cc02d67755a19005820022e3aa896ac3fef56fdcaf7e66b1de674dcdb6d0569eca9d0a551db46126cdf4d26e37cd6379acbe9ca3626e7e00219ffbf03bf08e5484293d995434fb62ed91b9b2939a17276b120861ffce684f328589b3903138a8d646bcb930c3cf595fff43bf89a83c54eb6c01cf28bfe15a58512ed0a4b035d14bd4ea3b294d9e2985823b5d4a4f55b5f50485abbe0c581b748f2ec251ccd03e6e2671b0107ea16deb1d9ceb7beb155a7f1150b769082baa161985fe43e882d005820027ce943567b63c070d1be50f3bb4cf3ffccc7e525f795ae01f60e531f60163c4f4268eb5c2c7b47b8f6226b8989758e03ec82be22d4a5e531f8cca8d07f019b7efe9f2b3df7b3e5628a0d69f70fb0178e0058200321caa7d549cc9a9281a56c3edb73f4e2e5f2fe3bf4279ecfa62def00c334904f1dce616045f08b3598f259c381ce2f005820032fcc8a319408c7dc091e18d04ffb05ad7dc8bfb6cbd5727e59fd52e33d481057c20087311134ae0c071000089800800000000000000000021850033ca4896d4f803a906aebd30f16ce8eedd56a6ce5b923328cbad805a3020e9c8c03c7a8941ec93290a889f01c5ff3bb11ed7309d2400ede9101ba137296b4a7a7c503c6064e8c36deec117eb3d5fd5d732c2fdeae3a8fe6483a66575dc035ace05753035d241aa6e9904ac8c5574d63095c27048c64afca1f51d0787f103bc23cf80b0500582002f0a4af573d6c1b3c32e2d292a0d052be44b39843291bce64496db881acbe855820fffffffffffffff2c06af8f9af734bc3000000000000000d3f950706508cb43d03253d13104121f4be948e73cdcc9512a4b25bdf2daf453b669baf3f9e179d2ae700582002e6435b4105d068e03017f0cebd7485652a8feafe6692e99614772d20fe1dfa506a467169f14f340365c9f648a615d3f7005820029b74f9ec00c9319b5ef098616f96cd0cd338f1cbe36f64990c434f2865721f5102c5711263f3f70cfeea79d044e1bc7b660219ffd3038fbb88b0ee60ab73447f703f84557036088d2fd4475ec6b486586142ce7ab42f03e55ad9aa65b215da9438c88e72c58818054d65125bea9ea64772ad4bd862fbc103d97650d8c6bdb85a9bb10fd9e0ec7ca9353aaab854e55327cd2387e73025a4b8034b7bc5fe78c0443567a64285367a7f321bde501934e9524118fd30590c85dbcb00582002504d5705b6fd2158ed9f9391b15286c4308aafd44432d625d077f04edc1ec54e1574dc7aec27656aeee9fe352545005820028d4eb914418b1e936306b0271f5756866da30cbca11265213782466957347c5050badd5cf01a73870aad63d829cf4d2e005820023972d5ef0e1c5cf73805490eadc0ef65d89b636fc34059c1c6b7de123f5ee158190d3f950706508cb43d000000000000000d3f950706508cb43d00582002ce6ba7364d25091cbbb35031c050223af4b653c57f132a61f8bea41ce95c6a5101968e6fa981050b1630b4dcba8427b91400582002e2435eb7046fdd6ac1fd7c6eb4a3f81a2458a8235590a371ae93dc3c6a8c264f0627e62960c3df4c34a4e86a7e7579005820022dfef54ca7c7b0d40a4318ad0392efd73602f65828389ccb44e013254aa3ba4f33077cf12e7c521250e4a4f8c3df09033d40415bd819203d380e58fcd4f4db5363a3c43100950580328b5206687f474e005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a06aab14c4926c0505e9c00582003ed357170b463139db399d03d411582d57f62169f9c8b91f2c0fa277765efc04f40d193fc6737c630adbb0f49060dda005820038ff2194ce9c0b73635c8fc03aa601a3f36e08b20e8c6cb8b66b50b75c622a04901e1619641178ea5920219011800582002b04790f95eca5107e15beb3afa08648316edefe9cbb6d893015fdc6843598a4eae9ff72f9d4173435d35b3d0c4b800582002ddfd2a1f31c42956b39ff4012fd97b1075041eaa1e6108a0ae839dc4ed7878502dd277e8d0b4a4cf3a4db8550853ea470058200218109977ecb16d2eb08a441e696ed6d044973b6be638447e4ceb3a1f85063c5008e6b4828aa12637bc6c9614ef830ed1038c3de7c71a62754a1efd57f8e8725476316b7f29fd27f6f66df84e16c57a4d56005820023866db5a1137077b274a10aac2c448a36a7c5c2653d66a8db81d50077c26384e29147fd13a161ad969a162b575610219ffbf03aa1f885013f5b62c64ae2d5d66cf404b8d7708793a482b23853794258f0e977903a08c303c711587e78a6031c17110fb7722cb8b5d3d184d45eb3f8ec828fcd49103073cf5517d181a446de51b0bb9e8aa5f3ec4fd9ff9b42ca9fae05e20feddefed00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60511c5e9182aa9387fc7393075a3d4e447638037e47a5d4a322b8b7a1cd8cd21e5b6ec5672f1b277febb75efd937a2a04ccd8db00582003f419cf0b62f76600ebcfbde947662502c3aa60a1a86f560e9e3a11684967d058186bc18bdf217759d600000000000000006bc18bdf217759d600582003e3e42109876d21719a174a16aa034e453541fd971d96c32439f26a3a7ef56051028aa60eb88a7a949cdc914e147d57f13e0219c0110058200286d288d6ecad9c6db92b16a1691729047f2b28494a314711d7908d44e78a9c50035ad1ba86044fe3a491aea96f480ba500582002281af0632a17434398208dbd14f25f1e5101d86465fa425c6846e44d1b0edf582001000000000000000000000000000000000000000000000000000000000000000308b4914590b072bc70cbb985d6a67f46c4966308462a7baad1e18c0dd4f3c73803aa8917314a1bcbcf9a9af5cabeef3456c784550cab5f8a7b212a67adf78df9ae03c88c03efb768d370eb06e10783c939ac15cb9985405ccdcb9b61c141272db75c033849a691ff2611b76d9d9271201a2879d7543a79b99ec3e78f3074896635825200582002f62f6a198014a11205bbf71bc56ae95ea2f9c9e3126e28bb00fcb4916bb7744eafb66698a807bfeb64a3d2672e2e038a9bf7f72c0c8bbd78124878957f8f30cde9ac3b3fe7c44db90c2627939f5ffc038b24e4936e1a2ed66ce22f4c9612aa453e735c9ec961a78905436c14712de36d0349345892753c2f3eed6b92acbb441d5738a63c06a948b27572fefc1ea52b6430032d24842a6f0ee74e6f4141f176446ce34c88f7d690624329b04eff0360894b250343ac97df3df7e5c0f1db102f6bda248f316fecd53d3c6ba365cd240a88f3cd3a03e9ce9da98548783ed2f1b40f0b4a32608ee80e89ea2e5564939f411a97772a5403a991a048803113d8e11685b911ff9085445a27e4548b393dd01ad22e3e7eb60f0219ffff0397f1575238b5888e62d2c19939d14a21aeb6d94e05f9b648dd9ea3e224a3dfef0319053d0ce028edf2b44b4945f2bd9dd7dcef82a1a490c0e3abb985885319e8e503c08f2541891c2d407de84a0210163d988321cf557d5ee72d2513df1e8c83e38203e4556c23380dac28392c753b23f77c300efb3e86c09e7129c971f974c89ee9f90362ceea1193a591dba696ad4adae0a4880abbcaf49d40a9537bc8edb1e8fc30970058200360838840e35b8f24094effded115aab822fbc394f28ac4664716a4d56113f05015039bd43cd3f42527b2d4fb83325fb900581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820010000754800000000000204adffce3e8e057fbb3affff90b1d2d9006632c93300581f022d154086f11cdb589ce04f2d0abfdd2dc39e9b62e131c3c4e956ee6866574f27a6783bf262462adfd46eb161ee0302194080021984000386cf793e53703cc8dfdda73794b3a9befe223d6a1978da098dba953e98f7c5210306641a0f41bdebd4892f8262bb39409ac15e68f76eaed8523447a4ab689c0f9f01410e032ee667d4f8028af72de0f8f795285cf804bf40584683567d515d0491337024dd00582002bdde6b4dfa01a2711c2e047b4051494d6bd94a1c3dd6f88d9f77cd6c82fe0d4834d034889e6ff1360058200252dde9931de501292eddb79133fc15ee806c0f6361eaadabfea190707cd0514e9b3c261e369dae28e9809be8be9503e3c7b3e42b1ddf3f60ac945afc2cbb7ba2c7bf46c4d67590016ff2592c50a34603a3c0f399e4023689e43a75d43e82a36a12eca2527b578f0ca4a469927adc099b031fe483623886c1ec9fa3c8e9575dfedca2a0631fac1b108bba81d07aca1843770322b68a176124831143a9933841faad709dfc34de36802e78b61dbee4cf959c3e005820021b95454bdf057ee503285fcddb56c17b80b34b9633c2c47773cd86f0fad96f500bc9c50346451f4df80b5f6b2d93ceef03a30acbcd056207a3e6ed69f18e28226ac0da6bf832e451197d340b1ab700674f039da399dca6890143740182de8d2c363d22fcfb75825506af0c0e2e73af6697c20219fffe0219ffff05581e03714e4483e676e88635a6b793c23d2b93c8ed5e0a4c8e4c70bcafb89260070119567e05581e032cd416897dfc4418f3e171d1bd2cb2ca46f98debc26bd06f3889c741f00c014642974d0a100003386ea72ebca50394863a759c3b0a4343a03f4aa50a8ffa5ac4edab680e2b726405581e03083a5323f24b103baf4c01fcfabc9e7eb169b0c4918c706d19c41ae670040105581e03cc7372f7ee959934756c121798534c3993cae07b71f6ec71be59ebc6b00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03f85e8a7b25c26f320a676de0375467c2128b0b8b2d9d69cf9902efade007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e036e58e3654695ca2ad16244c900e884f2ca748c63acdf6984a1203b251007011bffffffffffffffff05581e0352a4ae039e2749e6ad70e977902eb5e1049c0dd039004f929d9e2b18d0040103907023ad3f93344611a7882a7588d8b2da5ff9bb931f111d0c1dd7dfad18f086030ee693d6a5a9b361292b2ad925c09816ca713a3ab7e4aa471b71b6e6070f790a0219f7a703f03738d9604fcaa9361afb74499c0062ef5f497a58b795a70bcd83c705d235cc036e393f068c38e71db175fe6983780ba612bdd54e7018b45f339cdf9d85342072036d7da70daf415a11c94cdc70156a9a309aa571189fbb5304154e434e31093abb032e827ec520ab012b2e98cbd4e5540a43484c85b2c9c6898f47f1caaf39cd1ad5030bc24bf0a30bbae89af43599632972340af74460ad85cc7cacec8be5e4a12b0903447a63efd4d38aa70f7952f5884f8c6f00544951d557ab9ac4fc500e58c9dddf03ae1c172df15e7749628189244ea969ee068342fddf61877f34ef3106f988694403c820e33e4f6257192b9add72715c624fa559e816a7e54192104d0008117a6ed0035c01fe8f09399a838d21f849ed41471a049a0ae87b3c3b22344da54901d03e5d0332ed5027368dd3cf491b647c0f75661f7eb966d792af3918c4aa38e3bfea6289035fbe1593681a3717e7dcb1e2e65bb7b5b691c555c7e967148ac8946deeb2eab10219ffff039669974c92532dbd12729e2cd10787fd09c6df1b0f3b9a6e65f2d99a02759e1a03b9a21ff190273e87919dceb098489efc7016a9ae0975e866e8aa300e5a1d06a503170e9829838555cb228987f30613c6377c06dba0eefe07d925222af5e3d1aaad03c857b71d3d39a7d4449df31b28917f225d8b6f4f915b7ff907b44941dc48494f03eaa12a998ed129e36069e32454b1e3aa44d7843599e20192c5fcdeae89a810c703d18212a70df38468fbada913e479ed265537bfaee7d99ada1620119160d6e11f03376d7e2d810653b98a6626927213bac97eb55e2565e6b76d7dcecd2cebe4992a03aee3d56b2dd4956f5c968d1d118cf72d98c604a56a2ba91c96e8edfa7b1c4c570219ffff03b27c274b3b3c932e17d8c5ce6c8b6a110f78f94532bdaefa0d46751d023dc26e037705f691d13bc2f323b4bc939c72a869055dc4a72a0ab70f2ec00ae0494fe25f03f9f9c42b7f7fce4c7a5a91d3a202f7e5bd206b7307dd5491a418b13b724dadd50351976f1cf89979b761725388de6eac64f65cf526c2770626b7427d2012d6748d034eaa3a0441421d76c248e56d15a9cb856f79c08be71e4833f5b7fafdebd2c95503f77e6a6358dce7ddda280b1551c38cc295e17d7414bfa25c58551a21c2a532020366b3ceab29b03f36cb405f488d16267975d8033a6a2817795958f1a7553f70430219ffff034b29213fbcfe5d908a989c91fa5f39c33d08a5c5829d02f6f76a489a7ae9dca7037ac242beb3060288f86e712cdc12493b4d404e1e3b2bff0a38531e69af124e1303cec17a3323fb07246097241f9407095498dbda4c9702df12870e9532242b4af6033543428c41d1dca0b6353616625d1c8a5d6c9862022d371c6d9131bea6c054f00327894c4343b92a66c95f7038f648a5e79c42fff3e65a713c814684a95c0fb4800384e3cbed920d99e4ab2334fa39ccfd4d9e97a5340c42da40808c5cc4a2930b2e032ecebee6626453ed65e5ed3bddb3540ce346e15a5f6fefee28f1ba38cd99ad1c0219ffff03a2d9f54d1756108b9f793954353655d90855e2ca4bac998d140d680b2d2959ca033d45b8373a7909c31d80fb2b2852e48ac213b78a63b000558a1f3d6f7637dccf03f2cb145a29995746aeb690c4ac1ec9f0cbaae2668fa03bcf375566da6f86e87603b658e998280d3b60f50a630b68b270c029b3ce9810d82c1cf106d50a4d62f8b003bfa9e54ab1b282ffa912d0d922d62fae9646595d4599af373c4007d20c9c170a03be9074b47bed4c5bc4f4e4e01481127ca13fcbba28e2ebedd58f42700037088d035a15ccd9c48d5c8b3336b511b3fb7505a2947490bcf8c67f00df903089d626de032a3583d9835201f40cfbf416ba66806401df06123d6c9835f6ccb4fc1454a2e7035d87101f33170164f1762e7b17676312bcec77ed74239d264a30527eb0a6a042037c784318e53bc1dc230bb4aa0e74ea266b1ba2f4ff9bd6072167ffacbfa5b35a032078bf19017783d6eabc2e35b05497e464ce273e8e4b78a9d6c04cacbccd979c0359832276153657529799c62e3a3689301327df0e3e1428674a485afc51514d6603e2a66cd60fa4a5a931735904b79f46b918bbfce5f761a98bedeae27ec758937e03cdc23b659669c73d4e0350e6348830cc4af72f1b644a60edff9bf45800b2642a0398ce7b0306db0b6377b79bfea792cd4b183ee4447c489ea6ca288f9291affb7103d55b3aa2a7d8f433302d43fcd19735914037d0b38c845e5b895242fa1c6af6ae0315ba154acbb109d9dd4f46ee7b92ede781d7459524beb0dd95e8d42f0a1c753a03aec8f019831822eaf95ea2bae7172bb2e45de1dc752beb8352227746bd5777ce034a35787e926c7240f184906e7e9735b64b231ce9e564e3a97694bdbe904e7e1903a5f633a2f4a0fcd403b928ec524320a842d1020ead55c6b544c9a302f54f114403b63f9dd149263c3adfa224ff901f24444cfe7f249063bdce175e00ca68934b980322e33f33db53b3a32352419305ddc31f9cdfbf5b7a0c3876a8bfaa6d11471a1a035d0c09d6d3cecdc3f7244cc46752aa08ccd5cb391362a965f0fbff2fb5b270220355dec673296cf60a8f341121a13ea071fd410d48a5412df73747975558eac24b035f3d7e7250681154ac053ab9c8043083008b177ac16906bbb949032ea843c877037a3edc60c6c9046a5b964b9a3dea216668cb0bd4690580f6a0887bda4b2e028503d442799fcc657e7b47c796976d71f88885a27b944692cd9fd0496f8cbef7b33203abddc0916b49ab5477ae698abcbf4e2123dd607f70bba4054d74ef4520eb3d6503d88be7dfacd26eff9861bd633481483574b240d01e4f03108e65b7e4137fd26e0385f93fde7af0a3b090c2b44cfe4f716e287cc09ed2a47a0ed0b667b8f41dde9103408e49b247f82f88754553e63f22a02b6d7971941f67d90fff4a50d62d511060032a1517c454982f1fd883500b7d1ba55aff5cff5daece8e4c18eff485ea2edd0903fc793bc346b142ff1c678b3d91bcdee731a98d5ddc4da0fb75cf4280bf1ce5d405581e033ae19cfd89a6bcac018c8e2d7076939ae427b284e921157ba0ae1868a00c181d470570826af1d0080392eb6c8706fee749f3af5d63518a00070d55ddfeb337419ced92aecd676b6d0105581e036941b31068f1965eeb9ad8ebc2e995b969f406d4775734ec9bd0e93fc00c02474402a5c3aace180399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080371b02ee855714d4b9bd5ceb2a0f08aaaab8c74ab816988817fb473cb1a8c764405581e03bae05aca3fffff68d81c500df74f6338adde42dbcd8bafd785b2dd8f8007011bffffffffffffffff05581e03d750570bc701ae09c1efd21c912e9b4dd35df1a35e66d1434a142b31900c01430f424003c61719a8fe986cd4ce32af2a4d49ff9aafcf5136eac2875c02ab59edde36f7c9045926206080604052600436106100655760003560e01c8063c057058a11610043578063c057058a146100d5578063c69bebe414610105578063eb26b3561461012557600080fd5b8063410085df1461006a5780639fae52e61461008c578063b17d0e6e146100ac575b600080fd5b34801561007657600080fd5b5061008a610085366004611f38565b610145565b005b34801561009857600080fd5b5061008a6100a7366004611f64565b61027d565b6100bf6100ba36600461204d565b610324565b6040516100cc91906121c8565b60405180910390f35b3480156100e157600080fd5b506100f56100f0366004612248565b61043e565b60405190151581526020016100cc565b34801561011157600080fd5b5061008a610120366004612248565b610486565b34801561013157600080fd5b5061008a610140366004612265565b61049a565b61014d6104b8565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015282906000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156101af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d3919061229e565b90508281101561022a5760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e636500000000000000000000000060448201526064015b60405180910390fd5b61023582338561055c565b604080516001600160a01b0386168152602081018590527fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651910160405180910390a150505050565b6102856104b8565b47818110156102d65760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152606401610221565b6102e66000833360016000610628565b6040805160008152602081018490527fd7dee2702d63ad89917b6a4da9981c90c4d24f8c2bdfd64c604ecae57d8d0651910160405180910390a15050565b7f4fe94118b1030ac5f570795d403ee5116fd91b8f0b5d11f2487377c2b0ab25598054606091907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016103a3576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600181556001600160a01b0383166103fd5760405162461bcd60e51b815260206004820152601d60248201527f72656365697665722063616e6e6f7420626520616464726573732830290000006044820152606401610221565b60008061040d898989600061079c565b9150915061041c898287610a2e565b61042e89604001518287896000610628565b5091506000905595945050505050565b60006104486104b8565b506001600160a01b031660009081527f43da06808a8e54e76a41d6f7b48ddfb23969b1387a8710ef6241423a5aefe64c602052604090205460ff1690565b61048e6104b8565b61049781610ad0565b50565b6104a26104b8565b6104ab82610b6a565b6104b481610ad0565b5050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c600401546001600160a01b0316331461055a5760405162461bcd60e51b815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201527f65720000000000000000000000000000000000000000000000000000000000006064820152608401610221565b565b6040516001600160a01b0383166024820152604481018290526106239084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610c71565b505050565b604080516001600160a01b0387811682526020820187905285168183015290517f43da06808a8e54e76a41d6f7b48ddfb23969b1387a8710ef6241423a5aefe64a917fdf4363408b2d9811d1e5c23efdb5bae0b7a68bd9de2de1cbae18a11be3e67ef5919081900360600190a1821561078957811561077a5760018101546001600160a01b038781169116146107005760405162461bcd60e51b815260206004820152600e60248201527f746f6b656e206d69736d617463680000000000000000000000000000000000006044820152606401610221565b60018101546040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561076157600080fd5b505af1158015610775573d6000803e3d6000fd5b505050505b6107848486610d56565b610794565b61079486858761055c565b505050505050565b60606000806107ae8760400151610df9565b905060006107bf8860200151610df9565b905060006107cd8888610e98565b90506107d889610fa1565b6107e28888610fee565b60006107ef8a8a8a61108e565b90506107fd8a8a8a856118ad565b600061080c8b60200151610df9565b60208c01519091506001600160a01b0316156108be57838110156108985760405162461bcd60e51b815260206004820152603d60248201527f536f7572636520746f6b656e2062616c616e6365206f6e20636f6e747261637460448201527f206d757374206e6f7420646563726561736520616674657220737761700000006064820152608401610221565b838111156108b95760208b01516108b9906108b386846122e6565b33611976565b610982565b6108c834856122e6565b81101561093d5760405162461bcd60e51b815260206004820152603d60248201527f536f7572636520746f6b656e2062616c616e6365206f6e20636f6e747261637460448201527f206d757374206e6f7420646563726561736520616674657220737761700000006064820152608401610221565b8761094834866122e6565b61095291906122f9565b8111156109825760208b015161098290898661096e34866122f9565b61097891906122e6565b6108b391906122e6565b60006109918c60400151610df9565b9050600061099f87836122e6565b90508c6101000151811015610a1b5760405162461bcd60e51b8152602060048201526024808201527f4f7574707574206973206c657373207468616e206d696e696d756d206578706560448201527f63746564000000000000000000000000000000000000000000000000000000006064820152608401610221565b929c929b50919950505050505050505050565b82610120015161ffff1683600001516001600160a01b03167fc9ca33b4e1816939874cee596ae23410b4f3b26f345e8a93d5779a213ed5ab878560200151866040015187606001518861010001518888604051610ac3969594939291906001600160a01b039687168152948616602086015260408501939093526060840191909152608083015290911660a082015260c00190565b60405180910390a3505050565b7f43da06808a8e54e76a41d6f7b48ddfb23969b1387a8710ef6241423a5aefe64a80546001600160a01b038381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117845560408051929093168083526020830191909152917f1c7cb0cdc9ba781f9745f3e24b6de0c45db97bf81b2091dfbcc45e9fdd1c1d1391015b60405180910390a1505050565b7f43da06808a8e54e76a41d6f7b48ddfb23969b1387a8710ef6241423a5aefe64b80546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093557f43da06808a8e54e76a41d6f7b48ddfb23969b1387a8710ef6241423a5aefe64a92911690610c315760405162461bcd60e51b815260206004820152600d60248201527f496e76616c6964205745544821000000000000000000000000000000000000006044820152606401610221565b604080516001600160a01b038084168252851660208201527fcfdb33c0c0613c5035b8848040c10b9625e341ee97988ee2720de0ffbe5392d29101610b5d565b6000610cc6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661199a9092919063ffffffff16565b8051909150156106235780806020019051810190610ce4919061230c565b6106235760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610221565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610da3576040519150601f19603f3d011682016040523d82523d6000602084013e610da8565b606091505b50509050806106235760405162461bcd60e51b815260206004820152601560248201527f6661696c656420746f2073656e64206e617469766500000000000000000000006044820152606401610221565b60006001600160a01b03821615610e90576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610e67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8b919061229e565b610e92565b475b92915050565b60608160008167ffffffffffffffff811115610eb657610eb6611f7d565b604051908082528060200260200182016040528015610edf578160200160208202803683370190505b5090506000805b83811015610f9657868682818110610f0057610f00612329565b9050602002810190610f129190612358565b610f23906080810190606001612248565b9150610f2e82610df9565b838281518110610f4057610f40612329565b60209081029190910101526001600160a01b038216610f845734838281518110610f6c57610f6c612329565b60200260200101818151610f8091906122e6565b9052505b80610f8e81612396565b915050610ee6565b509095945050505050565b6000610fac826119b1565b8260600151610fbb91906122f9565b60208301519091506001600160a01b031615610fe1576104b482602001513330846119d6565b803410156104b457600080fd5b80366000805b838110156107945785858281811061100e5761100e612329565b90506020028101906110209190612358565b92506110326060840160408501612248565b915061104460a08401608085016123ce565b801561105857506001600160a01b03821615155b1561107c5761107c6110706060850160408601612248565b33308660a001356119d6565b8061108681612396565b915050610ff4565b60208301516060906001600160a01b0316157f43da06808a8e54e76a41d6f7b48ddfb23969b1387a8710ef6241423a5aefe64a60005b84811015611345578160020160008787848181106110e4576110e4612329565b90506020028101906110f69190612358565b611104906020810190612248565b6001600160a01b0316815260208101919091526040016000205460ff1661116d5760405162461bcd60e51b815260206004820181905260248201527f436f6e7472616374207370656e646572206e6f742077686974656c69737465646044820152606401610221565b81600201600087878481811061118557611185612329565b90506020028101906111979190612358565b6111a8906040810190602001612248565b6001600160a01b0316815260208101919091526040016000205460ff166112115760405162461bcd60e51b815260206004820152601f60248201527f436f6e747261637420746172676574206e6f742077686974656c6973746564006044820152606401610221565b600086868381811061122557611225612329565b90506020028101906112379190612358565b6112459060c08101906123eb565b61125491600491600091612450565b61125d9161247a565b905082600301600088888581811061127757611277612329565b90506020028101906112899190612358565b61129a906040810190602001612248565b6001600160a01b03168152602080820192909252604090810160009081207fffffffff000000000000000000000000000000000000000000000000000000008516825290925290205460ff166113325760405162461bcd60e51b815260206004820152601760248201527f556e617574686f72697a65642063616c6c2064617461210000000000000000006044820152606401610221565b508061133d81612396565b9150506110c4565b50608086015160a087015160c08801519115159190151590151582806113685750815b156113f35783546001600160a01b03166113c45760405162461bcd60e51b815260206004820152601c60248201527f46656520636f6e74726163742061646472657373206e6f7420736574000000006044820152606401610221565b6113f389602001518a60a001518b608001516113e091906122f9565b86546001600160a01b0316886000610628565b801561146d5760e08901516001600160a01b03166114535760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420616666696c6961746f7241646472657373000000000000006044820152606401610221565b61146d89602001518a60c001518b60e00151886000610628565b82806114765750815b8061147e5750805b1561150a5788610120015161ffff168960e001516001600160a01b03167ff14fbd8b6e3ad3ae34babfa1f3b6a099f57643662f4cfc24eb335ae8718f534b8b602001518c608001518d60a001518e60c0015160405161150194939291906001600160a01b0394909416845260208401929092526040830152606082015260800190565b60405180910390a35b60008767ffffffffffffffff81111561152557611525611f7d565b60405190808252806020026020018201604052801561155857816020015b60608152602001906001900390816115435790505b5090506000805b8981101561189b578a8a8281811061157957611579612329565b905060200281019061158b9190612358565b61159c906060810190604001612248565b91506001600160a01b03821615600081900361161557611615838d8d858181106115c8576115c8612329565b90506020028101906115da9190612358565b6115e8906020810190612248565b8e8e868181106115fa576115fa612329565b905060200281019061160c9190612358565b60a00135611a2d565b600080826116e3578d8d8581811061162f5761162f612329565b90506020028101906116419190612358565b611652906040810190602001612248565b6001600160a01b03168e8e8681811061166d5761166d612329565b905060200281019061167f9190612358565b61168d9060c08101906123eb565b60405161169b9291906124c2565b6000604051808303816000865af19150503d80600081146116d8576040519150601f19603f3d011682016040523d82523d6000602084013e6116dd565b606091505b506117cd565b8d8d858181106116f5576116f5612329565b90506020028101906117079190612358565b611718906040810190602001612248565b6001600160a01b03168e8e8681811061173357611733612329565b90506020028101906117459190612358565b60a001358f8f8781811061175b5761175b612329565b905060200281019061176d9190612358565b61177b9060c08101906123eb565b6040516117899291906124c2565b60006040518083038185875af1925050503d80600081146117c6576040519150601f19603f3d011682016040523d82523d6000602084013e6117cb565b606091505b505b915091507f2fc0d44e6ef6b3e7707cacd3cc326511198c3d1598c65dd54be5a9e37ce02f128e8e8681811061180457611804612329565b90506020028101906118169190612358565b611827906040810190602001612248565b8383604051611838939291906124d2565b60405180910390a1816118675761184e81611b01565b60405162461bcd60e51b81526004016102219190612505565b8086858151811061187a5761187a612329565b6020026020010181905250505050808061189390612396565b91505061155f565b509096505050505050505b9392505050565b60008080805b8581101561196c578686828181106118cd576118cd612329565b90506020028101906118df9190612358565b6118f0906080810190606001612248565b92506118fb83610df9565b915084818151811061190f5761190f612329565b60200260200101518261192291906122e6565b935060008411801561194a575087604001516001600160a01b0316836001600160a01b031614155b1561195a5761195a838533611976565b8061196481612396565b9150506118b3565b5050505050505050565b6001600160a01b038316156119905761062383828461055c565b6106238183610d56565b60606119a98484600085611b60565b949350505050565b60008160a001518260c0015183608001516119cc91906122f9565b610e9291906122f9565b6040516001600160a01b0380851660248301528316604482015260648101829052611a279085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016105a1565b50505050565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015611a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aba919061229e565b905081811015611a27578015611ad657611ad684846000611ca8565b611a2784847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611df6565b6060604482511015611b4657505060408051808201909152601d81527f5472616e73616374696f6e2072657665727465642073696c656e746c79000000602082015290565b60048201915081806020019051810190610e929190612518565b606082471015611bd85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610221565b6001600160a01b0385163b611c2f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610221565b600080866001600160a01b03168587604051611c4b91906125d8565b60006040518083038185875af1925050503d8060008114611c88576040519150601f19603f3d011682016040523d82523d6000602084013e611c8d565b606091505b5091509150611c9d828286611eda565b979650505050505050565b801580611d3b57506040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d39919061229e565b155b611dad5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152608401610221565b6040516001600160a01b0383166024820152604481018290526106239084907f095ea7b300000000000000000000000000000000000000000000000000000000906064016105a1565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015611e60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e84919061229e565b611e8e91906122f9565b6040516001600160a01b038516602482015260448101829052909150611a279085907f095ea7b300000000000000000000000000000000000000000000000000000000906064016105a1565b60608315611ee95750816118a6565b825115611ef95782518084602001fd5b8160405162461bcd60e51b81526004016102219190612505565b6001600160a01b038116811461049757600080fd5b8035611f3381611f13565b919050565b60008060408385031215611f4b57600080fd5b8235611f5681611f13565b946020939093013593505050565b600060208284031215611f7657600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610140810167ffffffffffffffff81118282101715611fd057611fd0611f7d565b60405290565b803561ffff81168114611f3357600080fd5b60008083601f840112611ffa57600080fd5b50813567ffffffffffffffff81111561201257600080fd5b6020830191508360208260051b850101111561202d57600080fd5b9250929050565b801515811461049757600080fd5b8035611f3381612034565b60008060008060008587036101a081121561206757600080fd5b6101408082121561207757600080fd5b61207f611fac565b915061208a88611f28565b825261209860208901611f28565b60208301526120a960408901611f28565b6040830152606088013560608301526080880135608083015260a088013560a083015260c088013560c08301526120e260e08901611f28565b60e08301526101008881013590830152610120612100818a01611fd6565b9083015290955086013567ffffffffffffffff81111561211f57600080fd5b61212b88828901611fe8565b909550935061213f90506101608701612042565b915061214e6101808701611f28565b90509295509295909350565b60005b8381101561217557818101518382015260200161215d565b50506000910152565b6000815180845261219681602086016020860161215a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561223b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088860301845261222985835161217e565b945092850192908501906001016121ef565b5092979650505050505050565b60006020828403121561225a57600080fd5b81356118a681611f13565b6000806040838503121561227857600080fd5b823561228381611f13565b9150602083013561229381611f13565b809150509250929050565b6000602082840312156122b057600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610e9257610e926122b7565b80820180821115610e9257610e926122b7565b60006020828403121561231e57600080fd5b81516118a681612034565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261238c57600080fd5b9190910192915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036123c7576123c76122b7565b5060010190565b6000602082840312156123e057600080fd5b81356118a681612034565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261242057600080fd5b83018035915067ffffffffffffffff82111561243b57600080fd5b60200191503681900382131561202d57600080fd5b6000808585111561246057600080fd5b8386111561246d57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156124ba5780818660040360031b1b83161692505b505092915050565b8183823760009101908152919050565b6001600160a01b038416815282151560208201526060604082015260006124fc606083018461217e565b95945050505050565b6020815260006118a6602083018461217e565b60006020828403121561252a57600080fd5b815167ffffffffffffffff8082111561254257600080fd5b818401915084601f83011261255657600080fd5b81518181111561256857612568611f7d565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156125ae576125ae611f7d565b816040528281528760208487010111156125c757600080fd5b611c9d83602083016020880161215a565b6000825161238c81846020870161215a56fea264697066735822122028f65ef280cf887cdce3af2c80d3207151ec78fc01c1cba81e8b0b5062383d6d64736f6c634300081000330605581e035ac115a7a0cf11e639ea7dc568d2230bb663de48a0ae56d61b9c546db00701192620032589917c4ae80ae3599272e43d8b8874a5104a0335aee1c572aae3c0b9d76de005581e03b4d5f1512433666e6efcd2849cb9aae35a6d3b109baff2340ce0ac99400401038568ffb6ab7e38affa233e28940c89151be821b52b464d46c48c12824c26cc050219d73703fd5fcb2595f3b99a59339edf7caa99ed324aaa9974fac5c9eb568aa2e92775c9039cf78fa9083f0c553f6447b20ba6f260294ba5d3043996cb02aeff455c2eed0703fbd13308b0f92fcfc470d4bb845ba65873fd1777448f9fda458e55c964ddfb0303ef15d4b557c8374556bead1243c44ca10c50584da630db9e822c6f1366840ac003c37bc415c5a5fb54962ce2b66e616b9aa6cd6f8b007c5b820ae26b33d06216820373b53fc87c02f136f64286a62b141a835f2e1d969fab93cdc8d60c9a9a2aeb7103aba351579d5ca3e4a7b0edaf254abee0a9a885eded810cceb4c23f7735fcb8c30219ffff0219ffff03757607253acbbc589f11fa32842384fccc645abbe3998aa459a2f56ebcbffe140356d1903b2418218e1f4659445d60899fc56781a0ef1d88a85d17464a3dd9f4930374492ffe5bba1473fa2cc13335a05f3a2c47d865c3f0309ef0cf4acf1de9c58303fd58e06fdd172033f6b4dd38b4a6ee2c0bf81c4189608ea64d71e8cde9bbb2f1037fb9ba8a3ca725ccd17a7ebc22652431587cf9da66b9a4ec46f6093668cbb5f6032a90404817904ebac53bd33ff99c2db7c0664fef028c58f70dff610097e3df760219ffff0311bc07a3bf45619798979e90288f930f84ea15b74110c879d33aaa303f0a59dd031050d1e1c6f2ea4d07494419a969178898226282475d659a7cd1635ea5084055039b281d6b3a1909b107aa7b2c3e72d72245028c50f1844bf11a0cb3cc346a4b9e033a7b0030b241b5a109697fc00a38d581377c221af1a45573b1980cddb6abf51e03c6c6fe3e9029d2c70dd4d341c7511e8fb223a7585b74efc263dd85a7dfa041ef0363801fadc9f2a1b3a7b1fe6d1bb93cedd52c442b7f5291a337a49940cbe3fa84038d4704f02a5d73845f5bebae9d22a9cf22d3c628eb1c59fb275ba8b6649b261e03a11cf4d8bbe5c0c7aff158b493f1309a99bef1c0b22a381eb2854e20f60721c603723a23835c28fa8df6dd7d8c214c8fcbeff5ae41a4ed663600bb5cced9630527031310c9bdfb5962bf65d3fae3990d1e6642ea0886fb84499657adb95bebc80032033dea54c279cd407b9c1fe4786b6988821221408e0498e42e65110b4cc746991203cf3f5b5d82445523d201cd8206450742973f356021799ce828c73b6f2b983da803aa7731fe2bdc5c65a8feafe22eb6ea4c115b273df77a5e588e17b73b43ab0aa40303a39262ac4d1a3d51e77dd5343270ada80412ddd65ba3c3539599a2568e976a036464fb87a6f859f4fe4e1d3667b1c29de85844ecaa3cd1db1690a067950f8d3a03391ca229b99846e3eee7affdf3873dc7999378c6421b37542090f5dc9d5eac14037e0ad21891a2661cd4b6bed6f95f138cc4032c87527833d88e1e06d42934477403a1fd43f86d6bad38fdc98f5ed4f4977852a045cb256dc62a31a1109806cac2ff039e237e2f123a6d078d61b7784103573392fba24873827c3fee7dfd8e3f9debd90368274d8b5175ad97c17e6c692914c225857fa099ddc03f6b3a81f4167d300390037787b6b11077def0549b99ffe38e079da75118219b7a41a6ab17806c935870f503d942e88cd323e64b7faaa9eec3af2b51eb5d88e0527dd97dc928532bffa2c7a6033daba1fdb9e90930b61c03d29ebe645556b64b3f946295745601673edb43bed003b1a0562f8d06b538b8b667501214ab3f194397279916a6ef2c37ec50222f016c0341403ef9d2a01e704fb2cb41d5d46c5f8f36474218dbb0af2a3c97d516336b7c038caece17e61b050d931b21c5524723efbc2d005a2be9916777ce46678c2a0eb70381d4cc7120e9152081d919397b19f6a2754a6d3bada4b34d50028531d7a68ac0038a6c1f7be0b19bf39424cd0bcf6c29e92cce985c4526a031f429d626b542cf4f03e761e7fc4cdfc0b389489af50d0bea1bc88101db5c029abb9e7e062bdd16f57603a161d2fa173a3745fa910c9cbb4b9f9e1358ea95b22d2247f9c7f75cefb6625e03f00d52f52005a897c1f927050dd45dbf5b6ab4ad610268ed6b700360da82a9df03ef4030ed16ce357663729cb773f4439c0027c4d5ef57a97be8a0a7c26aea17ae031ad6f39477460e026954ffa38e597e9b16acc88e3300ea72edf7f60a45cede9c05581e036f8af18f8ec66895ee06b1b9cfccfe7ce75b13dee8df9baa9360e595c0040105581e038628fc7464a5b17116dd99cc96112af32f196b46cbe8c06dba3ff60570040103c4dd8890bae2e287887af6421e897775934dbacde99c44b8dbd2f8c1c8fdc86805581e031023804be72919c585564a2f1df97a4153f6020f759b65cff86a807bb00c04473e77f9dadbd55b05581e034aa60ab441281f130900542af9b84f34243644b73cc9bea46c2f44c5200c014753741761d048e205581e03f2d0b30aaf4b5bdc2f86e87d3b5dcb8913db2862d386b9bf16d3b969d0040c037742d8035142b36ff3adfbcc4e1d52ca70c0911ebae34aacbbe4ebb0219e9467032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e03c06ec153358c75d8ef459cf5acf14762015c6f3019cf6a8ebfc2a2cf2007011bffffffffffffffff0398c65f2a85231297a17e8f743f92c93e50a2f46cc4586827aadd2ce9649f91ae0219bd74035fbe8230f6f27fd40174e53823a44a088515d19b720847e3539db029be3d79cf0326238ba66f3842cb3bf71b0d9c1558ec73e6c964814b42507a462a4a0b723f1203dc4e8b7b42e28ce30bfd5c0187a7615f47aa889a7dccf604010c8d11217fd4d0037992576f315e3dd92690934021f891a37cfd5453ab6ddcb72f1b58bb3c1675c403fcd43c320164d2a952ec6923c4af5e73124e70d30617d73fa6ac27ecc52ac09003f6d780d0f06758c2a10d3ef00f0049e78d0d9b3a7108fcb5eb9f81b0e58e31670219ffff0391e99980a2b80042012c4bb768a5632ea1c085a30b9d9b57b09905a8e0c5aec1034783490791788d2923a4970a7122767192a2adbe91150f4e6ff6e62b97e025550219ffff03a3f9d22127854da5a2ec91c02adbd324c4fa8c21c07fbc2e4ed7e9be79d1c8350376b374fcb776ce9179428c7edea01934a69d53ba6888b481f88245c45dec7d6603e75b9ce44ca4c286cd28d76741d510843fed11de078e62f8c68e6b672b3f6e5203809ca617b6bcaa2601ee6ea525bf6febde8d0bcc20f6d516f90b93ab87dfb68b03903e3638fd9b9882598de6f3f6734b3ce157005e84fb83a8eb72546afcff9fdd03af9d3efbfc54cd8004ec9157db00178445345397b4b0837d21ff9f6e90b60d770329d6907bb95f8dc6e9874370b9093358f5285228ecce500aa71e8ef8f189c21f0219ffff0323420e4e9e628f0fb135cec306a1c2142e1df965be97fc2f25c33bc10bb4cdd6031ef2efda1620f60b42dc14f15e2d466f33916334fa49fea221ef885c3bd0eb8f0308661f94fff54f88623e6b28068713b55f5c6d5d1c039d4e936d65601f5376f40345c074307aa959b66de70cd2e866d40e8dfedf049ebc992e3375c305910da045032a4d78061b261e35ea9c3b718bbb253051905c8803dbb7015352c175853c3290036e5d4b2073542c95f9eaabfac8c5fe1eb6294e6cf5821f3e7497344ce04aa4ca03a0b3c3e08e68049dffc7c4b2f290cfbaac67cfbcd20675078fa17e8cc4fdd4e00389e16a0360a4ba776434416ca9791408e42b2f6f62ffafdc17d7b0ade5c0ba2703619df9a332edaa7c8be00ace1d65085066cba6a20a50a42b9f7fc50e3eb20c4203f3e8060a2e0956ec0e6be8f13622a238bd11d9f7d141528c988b71606efa837d0300c65304aa6302f5e490393637af867542f75e1302744a0c75c56a94b38eef81033bbbc10579aeaefce13e059f497efe0ac5246a8a0a9aaf8c19e14cf9e3022de80219ffff03633625089868dcc2fa53562b85f336076193f58c32ff4f569482564d61ef5048031c99845cf7817afec27bfd1991938b0b3a87dcfd497ee5a053bb03e9ab1d3a2503d8bc26998bed96606c5ef538992b03d31fc0b88baf1dd02ec7e13d15244544700345432c9ede0d384162813c208b7c73d91d0b9b493eb951452fe7623e6121012003f7d9e01e85a2a7936ce9900549e6adc51d1146b0d0a8588a65e2a79e8d2732bd03444bbeedc21f5b6d61b238b7f27d20d53380b1da32ab60430551d9982f0607b703223185c6f7bbb4052bda83ab628ae6d3532e385fbf297e5328a8e52e854cbf810318c196eb5c7f22cfe03d8724f8bdecdb81e5d9082d1588b8dc8f3eb6cf113bff03cac7c375422bc569b5fbac00e4f869c459d37942ef149315a12351eea67ee14503bedfb83cdc748918a894868e90f5a8b130c2870f3e8cb055f340eb737ffcebf9033e1f96e9354e5d5e09bf02c085c10cc8c66d0b7f04d4193f8f132298977c3e8703a4610ccf037ccefe698b677b6868c184831e9cc469324995d7cecbbdde70eb3e03988c83cde6289b880d6d59104165045412684ad3dbab8d6fa6183be7c900cc7c0360f957c83fd385f01b81fc84c918de592e4254c16b54ec3ad9665c62c9d179c703c41732c7aa4efa3b5e2e2586afa662ddb397073e3e4d789f379c1e779b948f2d036a63294d77c44a5f2b77a4d31fd5163c9c34e33998fe88d912a663d33ef8ee1703ad9c3ef5f535ab64a50393fb3d9f7ab254ab544951c18e2a1be83704a6bac137035b03db81414e2537ce278611c1ba636213e7d14e7beb3d57a38265fddc9d9e5303ace45f32fcca6408e94208d567aac47e103b9e32fad62af1bc2fc0cd330edf5d03f3168b6eed52516b836cce1308f0c9deb95fd360d91bda36c8f1c5713a27465c035ee3b1cc87f016db9a8913126bf527e150bcd94fb22853aa7b7753669f9f57b903d119e46d8179b3517cf58df10e5ababf26307957578dcf1fd0ebc8b16bf5fbff033f637aa1900073cdf812e6ae6c764c13f4d84695f4c3a0e93c7ece33a8811bea03024caa3d2591649dbc5e3c69497ac110172d403bfb983dcdb9f37a9a998d56e303f3a3d323f214a6aaecdd1899c586aeb8c9a2adaea3d7d65662ad0578a5bdbac4033608ff34392b728da10c07022884a938fdc009dd730be9912efd6f2067cf7200030bcffb4a63e0bb42eee6832e4a4a6b3babbdf99b100048bdaf04d6786a43172b05581e03a0125cbeb4720f3224cb667063256f15e3b54847a2ea440b07aa6e8920084729f82dabc9891e05581d02c8b0edd5aa1e7d88257dd57981231db4ccdd2a72b1a5b9f82ffdf799040305581d02e9c3d52348cb66acbfd16bcb83753ae73beebfe6b397476f978b580a0c0d4653a9c3d86c180219100205581e03e1bd42c6460665e467049e77fb2b47629ee419a368db3d27602c61f2a00c0b473fd93f3352c2000331916b0987ad12839bc976b85ad1221992338a95f3353f802479bdeae43566540141060327c5c309bcaabb6121ff3fe3453933ebdd96ba3b7a4dd905e4d8c7a4131bd6a605581e0304dec99d1efff45229ff35f1d66a6fdd782d78542e354e19523e3492400c02467bde2d6da6c803457411be4b9d04bf0f008b97c1859d8b49d0afc15c0342465c1d8b07534576500219636a034ca4855309fecc4ffd4933e88c4a562bb46d5eba683d761ac26a8d249613c58103e3757ae692d836ba1a6a5464362280ceaf463784a41d389473e33d6dba94ae6103e7d60575a4799cc1197e37bba3bb226edd8fb18ff0d04ac5f22d9047de6cc1eb0386e1d0d6cf4029532a2a056b3e38b78c6f5a05957b1198fa7a7f0add5ebcf2780219ffff035dfac8d87becd70ae165cea9c4f16026e337f1fda8b6b4b1504f8f50542e2bff03f1e492a43b2f3d7908bb157bd988d6c26686a2c0eb208c3c70f2b719575435ea032623bd6ecaf28149067a9336a11f970bc8240e7774f9a4340d0b478a20a3916e03b25a0d52d3d54ad0d3f404d915242d40ce14f333c4fdeca68ee5967cb3302f2503d32414b512759b8d642fea28d1e5ae880adaf7aae8d5e69d50bd022ea7ee25fe038ac25b6f9322617b7548d5f3cd12da980c7879732215e735ba9702ceab59c4f903f02f1ac68de3163c3fd5ca2278b3f80e5f7521108b025876a237721e47a034b203de7f226003b58c7258f6ba5b22fd0f995154663dc83985f2cd910c7a77a108c3030b3dd68e13337b2abc1c593d58ccf74c26bda043906c6dcbd67a98a5a519ff2e0322aa51d6a64ad8e420ccfbee6d50a7e828af12752cc3f46f29c4dcb22e2e722803ff83407b8ffd05df47f877f5e86bbf6bd4611d3aa0b625770853a579e94b222303416cd9f4fc625b8b9064ff1291263a4ce3c7e0ca76bb667ead8ae0de62b2c569030e753bf30deabfff1d7bdec1781653b427c8f7ec32e7a3c2eaa6c94536cbd58e0219ffff0379bd6eaa02bf6c0812f7203a27a068571252dbaa05c2d9aa3f36ad8736f0bcf80357425c8600fd852a7e44f69079160494ad708e1fc85d23ad664b1de38ab6f419039186fd29b52926876d3ab4b379728d0f3eec11411126d1a4ee542abee11f6df50219ffff033af4d6ba967d5f64a0f7c475001e435bfbe971ba05d7365fea1b1fc6fa7abb28035007b28184d01a669ecbd9657f4bafc012f4ef0480e575b36168b3adb4f9ef4c03753190c130f6266d9c9b3a871d6e2e71551389ce32e4304c7a292aea133a51d90378fc99f3dcf46af414bbe185e7d467900a3570185adc4125139f01d794c4ad5803d0b84fae66f10466bf15d148acab0649650065518d8b61e14ca268123cb96a5a03c6d2229ace4b33a1496f83563d6b05649ea6c9a689ac4bfa1c2c77215a02f12a03a08c4953f3964c7d6c3c88e4f98a55f96d755dfc0b77cccf07b3b82b7888e262035b2b228e4ac664e6c763e4dd999117d6f66aaa22bb31da8120ef278f877a30b2037410482f70f951892d0fbf169716f7bfbb924e83f2367a31bf7562b2cd776efc039adfc5933619764ae9604a7884f604e5609e43d192f5e9cc5563ba787b945ee2031451af8036661b02e0435337cf0b1072f813b83ee5dd8451146451e82b9ad09403fb65328088e03dcff3bd48b3b8b2ce0f70ee645c3d40c3285b364e80efa4ce1d03f9958b0640213271bc070c479c04ee6758aa0499db58e1ce7d3c3069a08a524a0342259907aff7244891494bf7709a651519b8f221c05730f16e600c7102a3053a0219ffff032df2a927ea5e7efe74556876391b4232e5efb2f69cebfc2bf11a08b1e9caba23035cd02bfef8eb4a201614833a982372673da28645e001b067f12b1459319538a7037cb5e72f024519e17c6ae08888360faa451e8fdea27623ca8d841223dceaedef03843f5388ef2735d92f610e9ff114fcae7351c4e9f02b3f0c087b4f7e11c8b8240373bc1bd0599f0ac08dbf30152b1fb0d9effe3d212faa39907ccb7f280f8d068003b05b7af51644e6bbfc9c9a28bda4d7ba2ad2a9e08e00e6b5dfdd94b1e7e615280306f1ec909fc08cb1ba231bb1b966ebc5232977cb9bad07e2cdca7fea0d03428a03520078a9ae07338e588bbe46b337f748bb9a494d9245eb1710efe9bc30c7fb6a03125653c838cf528eaf192e795e8771de0c72e6b63ddb03aacc46bd8a41717ac703f03dbc1cd289e60fc55332d2bb0f252aa28779f53ec1856758e8af00251413480381bee076b53117192d8805798fdc7bd0e6ebf3a9e17e064a66f8896d1e976e0c03e485913a73e87366bae9ef8f59941ed1caaa2b739ff24819752224b5f268039703d4337c6487eddc3fd9204518bdd61515bd741c183b246618fa76ec517f6568f70383019dd5ae9a7fe6e17119feefb0c7c5b0b7b38908880d33d3b85b75a2c2dbda0381d505016c1697b8ebbc046c19de069be68294562ef47d7da40a5993f21bb0ed03fe085ad99ce64d0652cc5a5925027f70acb1c5fafa5433795884e9ef51ba27f403f276f83d57c278f9d733d1f6a4a7137be7a173d814134060dfde11be26a4c70d030efd2be23dc4c11a13500f763cbf67bb9ff7181abb26f04352f2b7c6bdb536a3039ee0d2afda3c34371af94d089991dcf36ede218cb2f1aa6004f7f1ae216babe303caac910e8a1d14896d6018c4927c8cb8ab3bb6e89bc28c75371a78776fc6417603844769d924466798e68b490f5ed223e12014a19bc7ff9865b3f885779777a1be037b4e3b45159d74145a508e9d61a5a530b059473ded8f5dec01eeef0d27c57bcc03eb44fa3907c204fcfd7426a72312b157ad21a759677804c98989aac19d2224f6034607086ce22196b62a8798225dd373a67c1ec2f1970edbebe7fa368cf788147703adcc085bd1cba8913760041eff310ebf2a379325de47c33e44027eab3ac93ac80311985e53675c94a95b145f9c164022cbe1f65baf25f6ef9d0e817d6c176b9756037060a1bbf4d91ffb7a4e7fff844596a962c8f6fe67f46da119e83706fd9de4ab03323faa07e91dc775ab317c3193a70ba092f7fabb4def91692f71b7b4d65e174c03b9557cc7e0e6aae4cc8842be56ffa9a8e63675068bb6d094163bedb3e0f7ee31031399dd159d073a0035edf8189a15bcae1c10e409a226549b05fb2c0d908ebdad038ed18a772f3afea60ca285c1dcbf225ea89ca219624be3edb63862547689014103f9974f756330495db7cf44c4fb10ef58382a503a0668df5c677ef9c81b0e98ae032e88c5b9319699a0c3d07881cec72b8fe6f5ae4abd88dd0bf8a11f04bdb149150365fcec84da8c27f722637e0e3d2c59ac071cf3370fc1b751bae7dda2ff63abd403fc87529b7e9ad4abe2baf758ce1fe80f826765d0a220d2c2b0ffc3a4a9cb004703f2e726450398119d350b3c4501b14caa5f830171d8e91c9d460b85be2c17ceab03a0dd5d9fe1057e19257d7efb326fbc81cd991d3bae146616c6a15383c9bb8e64037c197a22f7cf67af294fdeb826d18df832870dbe2edd8ce264289f81d4910df203c7660412748e7c04c46d942a9416edc1f50878ac9ea90d7304f6a59e2c5953a703992a2acb964277f37bf2f9fff57a361457adc56b3034ad90af745e90248577b105581e032803c615320dae8cfb6c22e8388b081987ec7ed942bbf94a4bddfc03d00c0c47446536bfba468e04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304ad3c21bcecceda10000000058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604ad3c21bcecceda0fffc1800582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04cea367aa7b4c8410d390cfd740058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820db094c0a976768e72eb4b7a89f83e3a306f62f6d9adc8bbc9c7084267fb510be005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85507047da739d466127b68d89d9edb32300b76654bdc02184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632cf9f0000000000011fb5b38ccaa9d7bd0000adfc5582e9b153b003697b700058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5466bff695f3b16a824869a8018a3a6e36852412690218480219b45505581d0329c24e91a54ecee901ddd4f4e72d6dd316404dab3a19fe57a5dbd5b00701192c1d05581d0394a5b4007a58ea7b1679d7c037823fb1c08ba074ffccf28e49b77a000401020901410305581e03123503acbd8db95cbcb94e1e0a2fe5ec1faeb10ccd91f9348682c51c50040105581e03434e7c46cd1f5471c58c1486cb2e0371799888af6366477e0ae17e1ff00c014714b82c5054800005581e035b8f8d1294eaf8608356c11fc6138ca211f0609e20552181d6cefb6c900c0246c47a0f279ae005581e03960b113df5735d23c5d838af1ad5a49c11e5120fcd70c0758b7a1f4cc00c0347024a97e76d3f7805581e0347538a2fbf53b71efc910727a71b04fae02f439a59b578265e3d616460040205581e039bc4eb4b50043a06700e0a78fef0b18e7e3cff23068d1e719e39ab5d800c0f4668bf25e6483802196f2f037cfc89d441c407c1b4667622d9120aba0c706ba19401350f845e0a74afd881d10364a857c2af7b0766cbd55cdcff49cf857bd55bcce83e7583ebebf1d27095d2c0039816a6c2edf6c955050caaef328c1a87c57662ba30aa3c01a51ecacb08be0c140219ffff034cfdcda5443f2f819576974be2c880bced804550dd6ffd4e37da2b0d2da59279037906d7ddb68811dc3ab1057aa53564b472d21cd32bdcf139948e79fde3293a3603239cd418c58c098ad06e5f935d7ef3d9220505a1f8e1a86e99c3e16ee8170279031be3507a5726fb501a9051c10aff8a44f512426cae6dc3820e0e0ab3106e187b03608bf7c156eb5a69695d4a885057963ea1d70a67e8b02666299ae0294f3b49630219ffff03a8cd04ef0c87eea2f52bab23b7121d87dd5d32cc04e440c537905c098a484951031d3eea71f2d4938cb5c71f960dc71f0ebb32fde6c0978dc8ec2a26319c81c3e9032338a9c74a4b718c59684909dfcc5422061113e98799a0c07be5707071a2eb600341796b8dc9387c37c1033afbfd384d44e0b70b9a091bb2d42acfa633303a5d270219ffff037d9c5dd866b046e2f18403b79473072494bf3e96fd8fc017a8e8dea26d1aa82203aea5430ff906971a6bfd1b7a9ee73631669054d7d93ae789ab89c881e3ba39a303bec8364c083bf4061be68724f078c1d9a16bf4c58933d93ce985fb4ebd96d2680384d3f2c4089b015a6695c68f3f467f9fc0f676339cd61e5ab311839c28ca6d0a037d51c95abcae580b8172396bcf57d9637d5d02507706c369460251adfa1f32b5032324a076a4af91c2f8409ad9cd29c31592ae9bbde577585f6610f1e2bdb17002034fd559010d15c845fc89ea9f036a07d7e89e4b909e7834f3d2f3c8c3da8bcae103386affbca2e404baa828e42bf43f906df55cd14f8b82c51a7e9eab53c2c9b2b0035c4150d409e9390f92ed228b68f15d44bd46e4011c7ff41d2066c6f8a4c8d53f03e8d0c88d9c6bd3dc5e942b3c2dd2abd166868491402d8d813f137a870ba408480344d4a5025c0276568e3b3c2a44b8dba15ea568605a085d278ff8ec65763729d803ff948d7b7536bb11273187d20e02aa72a44ef0d3763cf10c26cca4c1015e207f03fc2a875e3c522f4cfd1a1be2c753ad13d897c43d3910a7d38ee8a3eaf23ff0b5033b24d3dbe75c9087873ce1260a9e7d3d6bce06076156c1040f9ea551d2ddfbdc0348c3f8789cf13a0b45ae59dcaddc36e06bfa5eb1d9c2a2188cf2556b55496c1f0382150ddd1337afdeb43dc0c44fbff162428a7ee7ae780cc92681d132b6ae771d03ecf9dcbc1815a4c60c13f371ef77e6b5f8b1bbc26ee338885fc436fc88a2d1c605581e038379070e8f62020adb4208e886fd86544934bf57604c99f289bedae8300c0246e58c204b7c0005581e0381d370dda73dd7af20f67ba5307c9dc0a2a7991a07eeeedab96a1c23800c0146c9f2e1596200035116c0d895e03d4063a900bb23fa531364de998e6f43f42b2ce7bb8223a544580347a3d12d82d5ede177f828fc117c48498ef525e9d5a8b5a551ce0168e13295bc03dcc42f523bf16be59291bdddb4132cb71f30f2aea0d9597eeb135f1113974cfc03257f092aa732255bb4ee824680c8ab672e4f294113a6ac042c590cf5a4cdcf170392d1a3b2668b0f1e949f24e3f1be53f37567b1affb3c6a2fc8e6935a62983fc603ce2444938f95f0d66990d610fd4cad9e88734adda4224d7f9c871ec362da8db9045919a16080604052600436106100f35760003560e01c8063623690a51161008a578063ad3cb1cc11610059578063ad3cb1cc14610347578063b749b2261461039d578063d547741f146103bd578063d57f0e0c146103dd57600080fd5b8063623690a514610273578063723d8aa2146102a057806391d14854146102c0578063a217fddf1461033257600080fd5b80632f2ff15d116100c65780632f2ff15d1461020957806336568abe1461022b5780634f1ef2861461024b57806352d1902d1461025e57600080fd5b806301ffc9a7146100f85780630b79237f1461012d578063248a9ca31461017f5780632ebdc2eb146101dc575b600080fd5b34801561010457600080fd5b50610118610113366004611352565b61040a565b60405190151581526020015b60405180910390f35b34801561013957600080fd5b5060025461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610124565b34801561018b57600080fd5b506101ce61019a366004611394565b60009081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b604051908152602001610124565b3480156101e857600080fd5b5060015461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561021557600080fd5b506102296102243660046113d6565b6104a3565b005b34801561023757600080fd5b506102296102463660046113d6565b6104ed565b610229610259366004611480565b61054b565b34801561026a57600080fd5b506101ce61056a565b34801561027f57600080fd5b5060035461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102ac57600080fd5b506102296102bb366004611544565b610599565b3480156102cc57600080fd5b506101186102db3660046113d6565b60009182527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b34801561033e57600080fd5b506101ce600081565b34801561035357600080fd5b506103906040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b60405161012491906115cd565b3480156103a957600080fd5b506102296103b836600461166a565b61078f565b3480156103c957600080fd5b506102296103d83660046113d6565b610adc565b3480156103e957600080fd5b5060005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061049d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260409020600101546104dd81610b20565b6104e78383610b2d565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116331461053c576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105468282610c4e565b505050565b610553610d2c565b61055c82610e32565b6105668282610e3d565b5050565b6000610574610f7b565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156105e45750825b905060008267ffffffffffffffff1660011480156106015750303b155b90508115801561060f575080155b15610646576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156106a75784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6106b260008b610b2d565b506000805473ffffffffffffffffffffffffffffffffffffffff808c167fffffffffffffffffffffffff000000000000000000000000000000000000000092831617909255600180548b8416908316179055600280548a8416908316179055600380549289169290911691909117905583156107835784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b6000546040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810187905273ffffffffffffffffffffffffffffffffffffffff909116906323b872dd906064016020604051808303816000875af115801561080c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083091906116e4565b5060005b838110156109155760025473ffffffffffffffffffffffffffffffffffffffff166323b872dd333088888681811061086e5761086e611706565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b16815273ffffffffffffffffffffffffffffffffffffffff958616600482015294909316602485015250602090910201356044820152606401600060405180830381600087803b1580156108ea57600080fd5b505af11580156108fe573d6000803e3d6000fd5b50505050808061090d90611735565b915050610834565b506003546040517f6e6a943600000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690636e6a943690610971908690869033906004016117df565b6000604051808303816000875af1158015610990573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526109d69190810190611819565b905060008267ffffffffffffffff8111156109f3576109f3611402565b604051908082528060200260200182016040528015610a1c578160200160208202803683370190505b50905060005b83811015610a7a57828181518110610a3c57610a3c611706565b6020026020010151828281518110610a5657610a56611706565b60ff9092166020928302919091019091015280610a7281611735565b915050610a22565b503373ffffffffffffffffffffffffffffffffffffffff167fe8ceec8781b714d1c02f481f18c09bcbb894bcfdb4f7ad713c81633d209e9d96888888888887604051610acb969594939291906118bf565b60405180910390a250505050505050565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020526040902060010154610b1681610b20565b6104e78383610c4e565b610b2a8133610fea565b50565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616855290915282205460ff16610c445760008481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610be03390565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a4600191505061049d565b600091505061049d565b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616855290915282205460ff1615610c445760008481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a4600191505061049d565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000006dff25259e86f51e8b895996a7c0963ed13a0daa161480610df957507f0000000000000000000000006dff25259e86f51e8b895996a7c0963ed13a0daa73ffffffffffffffffffffffffffffffffffffffff16610de07f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b15610e30576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600061056681610b20565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610ec2575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252610ebf91810190611936565b60015b610f15576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114610f71576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610f0c565b6105468383611091565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000006dff25259e86f51e8b895996a7c0963ed13a0daa1614610e30576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610566576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052604401610f0c565b61109a826110f4565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156110ec5761054682826111c3565b610566611246565b8073ffffffffffffffffffffffffffffffffffffffff163b60000361115d576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610f0c565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60606000808473ffffffffffffffffffffffffffffffffffffffff16846040516111ed919061194f565b600060405180830381855af49150503d8060008114611228576040519150601f19603f3d011682016040523d82523d6000602084013e61122d565b606091505b509150915061123d85838361127e565b95945050505050565b3415610e30576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060826112935761128e82611310565b611309565b81511580156112b7575073ffffffffffffffffffffffffffffffffffffffff84163b155b15611306576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610f0c565b50805b9392505050565b8051156113205780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006020828403121561136457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461130957600080fd5b6000602082840312156113a657600080fd5b5035919050565b803573ffffffffffffffffffffffffffffffffffffffff811681146113d157600080fd5b919050565b600080604083850312156113e957600080fd5b823591506113f9602084016113ad565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561147857611478611402565b604052919050565b6000806040838503121561149357600080fd5b61149c836113ad565b915060208084013567ffffffffffffffff808211156114ba57600080fd5b818601915086601f8301126114ce57600080fd5b8135818111156114e0576114e0611402565b611510847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601611431565b9150808252878482850101111561152657600080fd5b80848401858401376000848284010152508093505050509250929050565b600080600080600060a0868803121561155c57600080fd5b611565866113ad565b9450611573602087016113ad565b9350611581604087016113ad565b925061158f606087016113ad565b915061159d608087016113ad565b90509295509295909350565b60005b838110156115c45781810151838201526020016115ac565b50506000910152565b60208152600082518060208401526115ec8160408501602087016115a9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60008083601f84011261163057600080fd5b50813567ffffffffffffffff81111561164857600080fd5b6020830191508360208260051b850101111561166357600080fd5b9250929050565b60008060008060006060868803121561168257600080fd5b85359450602086013567ffffffffffffffff808211156116a157600080fd5b6116ad89838a0161161e565b909650945060408801359150808211156116c657600080fd5b506116d38882890161161e565b969995985093965092949392505050565b6000602082840312156116f657600080fd5b8151801515811461130957600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361178d577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156117c657600080fd5b8260051b80836020870137939093016020019392505050565b6040815260006117f3604083018587611794565b905073ffffffffffffffffffffffffffffffffffffffff83166020830152949350505050565b6000602080838503121561182c57600080fd5b825167ffffffffffffffff8082111561184457600080fd5b818501915085601f83011261185857600080fd5b81518181111561186a5761186a611402565b8060051b915061187b848301611431565b818152918301840191848101908884111561189557600080fd5b938501935b838510156118b35784518252938501939085019061189a565b98975050505050505050565b868152600060206080818401526118da60808401888a611794565b83810360408501526118ed818789611794565b8481036060860152855180825283870192509083019060005b8181101561192557835160ff1683529284019291840191600101611906565b50909b9a5050505050505050505050565b60006020828403121561194857600080fd5b5051919050565b600082516119618184602087016115a9565b919091019291505056fea26469706673582212200a568ad2a012a0ca18e2c4228329687eeebf23d72e1d5f4bc1584ce2108dad4664736f6c634300081500330605581d028660f2b5ebd63a5e98330a303efa574d2975910ef0529ef2de52d84c07011919a105581d028559b292adc4851af3b59ff05342cb5f756957883dd4a6283ae938260401021203849c7fc59ba0896843263007b094cc38b8b4c0c9aecb470ad2b0226b0488a3f702198f7303141bfa4257e3946ddfcd3e6a0cd9e36eff79706cb2b6ec8867a5728349bafdeb03a01c056047bf7783f332c97938e461030b860470f2f5a17679e46ebfc772b85f033ff8d26a99fb90b959fea097ea0d9ac5f6b1a07b57c15b8a7a896a524727f3f203f73ecc7d230b799d5708e8064eff2ba7e326fa9d93113dc3569ecc3035785c28030e304e34f411773225389ae53655fc77d8bbb7344c572f1919945afbb3ad62ed03c4112150376c6dfec521e39bb9719a733f95eed76393a4b1ffa09edc18ea837d0332aaf48342881dd52dd9e41aabefbdfbad5218ef2fbed5cab1ce623ef74eeefc034db9a4013a31a71a8ce80a989c2c87ae25c6278d58bde95aff4c248b72c62abe0395a46fd31b52b72d11cac1a09cc8b4aa80358bcb7013d324c6c86b97e4c19e420363668aaeac2c0c13665499a795c7b23d8592aa7af7862164a67fbb3588a7e38a039c054d9c4f9a55b7a37bd0ff4a79ff627a916656a7df38c53fe40e5cc1a9658e03df02646ed0da15ca9595e60fde8577f11ad8ddd447bc576b22ca75240099fb8603d55917fb626d9a9b171cc38f858ae7c9fd1479d3d1aacf0ac4c02093319fa1360219ffff03bb1ea0165bdcb4ab60bd5ea2244690302549a873606c9a47e10a01f91eda70a10387facda9896803f3f5046e3078bb08ada6b2d9ad8b801389577552fe5f46c2bb035fbcc75b5fcca3d3045f5b2bfd8f971dd2940c58b14773cbe6339ef0d0d369f803c5211b5a86c124a375e097f525dae3717978ff3749c7660848795caa420c04d60344725372891ece4eb65effeb4eace28e87f81428c499bc63b5dfc973cf11187603de165eb03edfb024424f25343de0e6c9fe1deea258d7e048dd1d29268f645e6d03b01020981252a6a5b003cbd8fea2e777947c2b9fc3fb8403c1bab8abf81d587303a8fd583498ff67626374b18d84c236c6265dadc662cde8b724d0582f1708acf503221593e74e2087220c33e996e7b6063c19a5b51d16494b4c753dccb3d3c2471703e57dbf4f24f3b1e318f27f0456429a6e855cff548ce522248ffdb73e49d86dd10219ffff03969220ad079990f6ebf2380407f628d46e7cfacf5fa6b9ea37dcb8552ec936fc0340ba46b362cc1598d5a413650309bfbbba63937c8da5483156727e0ad00feb4c03fcff14cdd4dca0dc7a4f641ac34037f3fb575bf2df4b01addc3565e59140d8c8030d0563007a70733c379396c2a7ed09324bb3166a7494bea7335527cb7e6858f203bdd0c2f5bbf73167b8e8046212360bcc434cb823d6226fb643e1c6a961468ec303423a32c3d6ca5ad549bd3ae0743a659e03a30748b2322cc9b6f2a8e19204170403f8a6f297998c1380d74df1fb23ffdffe525042b816bcb88ca91f28efdbdc33660364b1679602f43432a75344b586a843257d43f5f2678ca3d399aef0fca9eecdf6031ef94d57ab70749e78a61d3a0b26d6a2ea2bf62a3c2ce40de517d12edd46c63d0365080b44a286c4af5d790b2629659ac6e64a2085ead360caed509f471f679d90034fca4de30387bfb0cd05391bae9aef6ebdd075456c2303d80ec614e4592031eb034f9e092f14cf6c3758172d49ac3d23934b71d2112c93e96163485334c43b88f2036939498758eb100e5b306f3b148c76f7c07b67227cd1be515e072f790d892027039aa080e2c93c7af17190bd01a3a1e8ea05754e42b0cc11b4114761e7d428037303ffcafe3f1c0aab42d523326ae2f77b5eb50137e3ed289fa42f05daf4d1c74b1a0219ffff0219ffff0219ffff03c9395e8fe3a661ac9798f81b8c09baa70c9d62414acb576ede711979b2fe39c7030aff2f509d922162c22dce598c8ddc6cb73005b8b9afba15d45161e9937ecc9a031b366e2b672a8969813e68dfdf14b9cf1ac75a11bd77aa1159d4fa24238ec5b80326c31e26c00c59d68a431b36000740912297f426f7714da99c33ff889352fd700388dfa130ccbc97860ef8bcf025171e55b61ca28f949c7b83f93c45cab073ed000317d5b14fd44070bb5269cbc19140e949b6a27ef1270aae84040def8fff5c09de0311b2a093e5bc49c418f07aa378d198cb1211b7c0c553393501242862c6efbe44030e948275f639db59c925de3d75fa44ccee6a712184f5ef1805425e9a46d1e59203faa5e9dfb2f993df29d901547788277fa8a458d042d0505e015ffa99716e89b803140171d9da0b7ae1ab409944e786ab60503ff79f47fbf2dd0418ceb99280475d03bc44cb5e18affb14447970f8f820711f3b5fcc49460c271e97da322551c751f003a4ddf9247b9fc1bb4dc24929ab6fdaf91354135f50bb48407bd9992a6cdd575a0346e83a616cff7c7258cacec3f7f631d6f8b2ea1d9c72377b5946feed0417de250312403735244fe17a9aac8a657efd953fe0c1b9101455e406cb6a66bd734bf5070391db642b245211ceef924378e7ce48816165681232a4d7d63c8e5ca992b83e6c03976383707c6658e09eef44626c4e4f13a484086ad52057a7259ea404d5f99fac034074c4988fcc0eec6dd19427edc1b12762cef8d3dfa8c4ce16fd020f873f14f8038417b4d8160d93bbc2f85ef84501e402b26243eac919f3bd25f444e14a1caa3703d82c21e9d0390121d0e06acc4ab13581c92cc6d1cfc8c34c31255227a010776503bbee0819d7a3790591f971a02515435165639e6ce8eee72c4c49a7ea457ed99a03502ced70c8b6f36fd39d80b0ea3014f0125c534d76e738dbb79232b63849932b030cd22374e478470b290e8333914efd7e64061f02f96d4cd01048d2966a18831003cabcbae833d6395ae578d6d161cbc8d89579b67f4868ffc8a1aa3f6db0a831b703e0bf21ba1148493f11ad13d30dae470b7c898606ab4326849a6fc83b3b31b2e9039d11ffb6dc1519592aa9b91a7c0b168a0ecf5ae2a792c23d27125b28a342237c03901e56a395d0c51653c03d9f32714d010028853ef9dd4f7cc8811a78c5fb5ff6038f08a7f861d21c458ba10c589f9eeac59a47d13c47a51a3c248f070bb636f30603915d2b8c1db5d409d8fecfc284304a92173a8f4a8391d2f64bed3d87d5faa37f03370d1ef89aeb0d6a0590328473891cbb43db3c0b415df209d1929f2bc2486f2b05581e03770db2b6571f9aba22732461f44f62d29d0e34b5916ed0d3ae5153ce00040105581e03e4edc2d54c49599945f4aa8afe8216c8e6966a6a54ba5fac0ad56990d00c0747079645ad29794f033e27c5b9a27a89416e03e8e3b2284adee00644c0427f4ee607b136bd9810017505581e03d4d83ccdd4ae2b871ed3ad6915f9d397749f9ef639ff596f1f8bf1c9900c02470302a25722fc0004591abf608060405234801561001057600080fd5b50600436106101735760003560e01c806365c4ce7a116100de578063a7a1ed7211610097578063be9a655511610071578063be9a655514610447578063bf353dbb1461044f578063dca44f6f14610475578063f29c29c41461047d57610173565b8063a7a1ed72146103e8578063a9c52a3914610404578063b0b8579b1461042857610173565b806365c4ce7a1461034857806365fae35e1461036e5780636c2552f91461039457806375f12b211461039c5780639c52a7f1146103ba578063a4dff0a2146103e057610173565b806346d4577d1161013057806346d4577d1461025c5780634ca29923146102cc5780634fce7a2a146102e657806357de26a41461030c57806359e02dd71461031457806365af79091461031c57610173565b806307da68f5146101785780630e5a6c701461018257806318178358146101a35780631b25b65f146101ab5780632e7dc6af1461021b5780633a1cde751461023f575b600080fd5b6101806104a3565b005b61018a61053e565b6040805192835290151560208301528051918290030190f35b6101806105ae565b610180600480360360208110156101c157600080fd5b8101906020810181356401000000008111156101dc57600080fd5b8201836020820111156101ee57600080fd5b8035906020019184602083028401116401000000008311171561021057600080fd5b50909250905061079f565b610223610921565b604080516001600160a01b039092168252519081900360200190f35b6101806004803603602081101561025557600080fd5b5035610945565b6101806004803603602081101561027257600080fd5b81019060208101813564010000000081111561028d57600080fd5b82018360208201111561029f57600080fd5b803590602001918460208302840111640100000000831117156102c157600080fd5b509092509050610a3b565b6102d4610b41565b60408051918252519081900360200190f35b6102d4600480360360208110156102fc57600080fd5b50356001600160a01b0316610b65565b6102d4610b77565b61018a610c3d565b6101806004803603604081101561033257600080fd5b50803590602001356001600160a01b0316610cad565b6101806004803603602081101561035e57600080fd5b50356001600160a01b0316610e39565b6101806004803603602081101561038457600080fd5b50356001600160a01b0316610ede565b610223610f75565b6103a4610f84565b6040805160ff9092168252519081900360200190f35b610180600480360360208110156103d057600080fd5b50356001600160a01b0316610f8d565b6102d4611023565b6103f0611070565b604080519115158252519081900360200190f35b61040c611089565b604080516001600160e81b039092168252519081900360200190f35b61043061109f565b6040805161ffff9092168252519081900360200190f35b6101806110ae565b6102d46004803603602081101561046557600080fd5b50356001600160a01b0316611135565b610223611147565b6101806004803603602081101561049357600080fd5b50356001600160a01b0316611156565b336000908152602081905260409020546001146104f5576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001805460006003819055600481905560ff19909116821762ffffff169091556040517fbedf0f4abfe86d4ffad593d9607fe70e83ea706033d44d24b3b6283cf3fc4f6b9190a1565b33600090815260026020526040812054819060011461058e5760405162461bcd60e51b8152600401808060200182810382526025815260200180611a1f6025913960400191505060405180910390fd5b50506004546001600160801b0380821691600160801b9004166001149091565b600154600881901c61ffff169060ff81169060181c8115610616576040805162461bcd60e51b815260206004820152601760248201527f47556e694c504f7261636c652f69732d73746f70706564000000000000000000604482015290519081900360640190fd5b8042101561066b576040805162461bcd60e51b815260206004820152601760248201527f47556e694c504f7261636c652f6e6f742d706173736564000000000000000000604482015290519081900360640190fd5b50506000610677611254565b90506001600160801b0381166106d4576040805162461bcd60e51b815260206004820152601a60248201527f47556e694c504f7261636c652f696e76616c69642d7072696365000000000000604482015290519081900360640190fd5b6106dc6119c4565b50604080518082018252600480546001600160801b03808216808552600160801b80840483166020808801829052600380546fffffffffffffffffffffffffffffffff199081169095178616928402929092179091558751808901895289851680825260019183018290529390951683178416909117909455600888901b42890160181b01909255835185519116815291820152825191927f80a5d0081d7e9a7bdb15ef207c6e0772f0f56d24317693206c0e47408f2d0b7392918290030190a1005b336000908152602081905260409020546001146107f1576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b60005b8181101561091c57600083838381811061080a57fe5b905060200201356001600160a01b03166001600160a01b03161415610873576040805162461bcd60e51b815260206004820152601a602482015279047556e694c504f7261636c652f6e6f2d636f6e74726163742d360341b604482015290519081900360640190fd5b60016002600085858581811061088557fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020819055507f6ffc0fabf0709270e42087e84a3bfc36041d3b281266d04ae1962185092fb2448383838181106108e657fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a16001016107f4565b505050565b7f00000000000000000000000050379f632ca68d36e50cfbc8f78fe16bd1499d1e81565b33600090815260208190526040902054600114610997576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b61ffff8111156109ee576040805162461bcd60e51b815260206004820152601860248201527f47556e694c504f7261636c652f696e76616c69642d686f700000000000000000604482015290519081900360640190fd5b6001805462ffff00191661010061ffff8416021790556040805182815290517fd5cae49d972f01d170fb2d3409c5f318698639863c0403e59e4af06e0ce92817916020908290030190a150565b33600090815260208190526040902054600114610a8d576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b60005b8181101561091c57600060026000858585818110610aaa57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020819055507f12fdafd291eb287a54e3416070923d22aa5072f5ee04c4fb8361615e7508a37c838383818110610b0b57fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101610a90565b7f47554e495633444149555344433200000000000000000000000000000000000081565b60026020526000908152604090205481565b33600090815260026020526040812054600114610bc55760405162461bcd60e51b8152600401808060200182810382526025815260200180611a1f6025913960400191505060405180910390fd5b600354600160801b90046001600160801b0316600114610c2c576040805162461bcd60e51b815260206004820152601d60248201527f47556e694c504f7261636c652f6e6f2d63757272656e742d76616c7565000000604482015290519081900360640190fd5b506003546001600160801b03165b90565b336000908152600260205260408120548190600114610c8d5760405162461bcd60e51b8152600401808060200182810382526025815260200180611a1f6025913960400191505060405180910390fd5b50506003546001600160801b0380821691600160801b9004166001149091565b33600090815260208190526040902054600114610cff576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001600160a01b038116610d57576040805162461bcd60e51b815260206004820152601a602482015279047556e694c504f7261636c652f6e6f2d636f6e74726163742d360341b604482015290519081900360640190fd5b81610d7c57600580546001600160a01b0319166001600160a01b038316179055610df2565b8160011415610da557600680546001600160a01b0319166001600160a01b038316179055610df2565b6040805162461bcd60e51b815260206004820152601760248201527f47556e694c504f7261636c652f696e76616c69642d6964000000000000000000604482015290519081900360640190fd5b604080518381526001600160a01b038316602082015281517f57e1d18531e0ed6c4f60bf6039e5719aa115e43e43847525125856433a69f7a7929181900390910190a15050565b33600090815260208190526040902054600114610e8b576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260026020908152604080832092909255815192835290517f12fdafd291eb287a54e3416070923d22aa5072f5ee04c4fb8361615e7508a37c9281900390910190a150565b33600090815260208190526040902054600114610f30576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001600160a01b03811660008181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b6005546001600160a01b031681565b60015460ff1681565b33600090815260208190526040902054600114610fdf576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b600154600090630100000090046001600160e81b031661104557506000610c3a565b60015461106b90630100000081046001600160e81b031690610100900461ffff166116fc565b905090565b600154630100000090046001600160e81b031642101590565b600154630100000090046001600160e81b031681565b600154610100900461ffff1681565b33600090815260208190526040902054600114611100576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001805460ff191690556040517f1b55ba3aa851a46be3b365aee5b5c140edd620d578922f3e8466d2cbd96f954b90600090a1565b60006020819052908152604090205481565b6006546001600160a01b031681565b336000908152602081905260409020546001146111a8576040805162461bcd60e51b815260206004820152601b60248201526000805160206119ff833981519152604482015290519081900360640190fd5b6001600160a01b038116611200576040805162461bcd60e51b815260206004820152601a602482015279047556e694c504f7261636c652f6e6f2d636f6e74726163742d360341b604482015290519081900360640190fd5b6001600160a01b03811660008181526002602090815260409182902060019055815192835290517f6ffc0fabf0709270e42087e84a3bfc36041d3b281266d04ae1962185092fb2449281900390910190a150565b600080600560009054906101000a90046001600160a01b03166001600160a01b03166357de26a46040518163ffffffff1660e01b815260040160206040518083038186803b1580156112a557600080fd5b505afa1580156112b9573d6000803e3d6000fd5b505050506040513d60208110156112cf57600080fd5b505190508061130f5760405162461bcd60e51b8152600401808060200182810382526023815260200180611a446023913960400191505060405180910390fd5b600654604080516315f789a960e21b815290516000926001600160a01b0316916357de26a4916004808301926020929190829003018186803b15801561135457600080fd5b505afa158015611368573d6000803e3d6000fd5b505050506040513d602081101561137e57600080fd5b50519050806113be5760405162461bcd60e51b81526004018080602001828103825260238152602001806119dc6023913960400191505060405180910390fd5b600061144f60306114366113f2857f0000000000000000000000000000000000000000000000000de0b6b3a764000061175a565b61142961141f887f00000000000000000000000000000000000000000000000000000000000f424061175a565b600160601b61175a565b8161143057fe5b046117c6565b6001600160801b0316901b6001600160801b031661190e565b90506000807f00000000000000000000000050379f632ca68d36e50cfbc8f78fe16bd1499d1e6001600160a01b031663b670ed7d846040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050604080518083038186803b1580156114c057600080fd5b505afa1580156114d4573d6000803e3d6000fd5b505050506040513d60408110156114ea57600080fd5b5080516020909101519092509050811515806115065750600081115b611557576040805162461bcd60e51b815260206004820152601d60248201527f47556e694c504f7261636c652f696e76616c69642d62616c616e636573000000604482015290519081900360640190fd5b60007f00000000000000000000000050379f632ca68d36e50cfbc8f78fe16bd1499d1e6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115b257600080fd5b505afa1580156115c6573d6000803e3d6000fd5b505050506040513d60208110156115dc57600080fd5b50519050633b9aca008110156116235760405162461bcd60e51b8152600401808060200182810382526023815260200180611a676023913960400191505060405180910390fd5b60008161168f61165c89611657887f000000000000000000000000000000000000000000000000000000000000000161175a565b61175a565b61168a89611657887f000000000000000000000000000000000000000000000000000000e8d4a5100061175a565b61196c565b8161169657fe5b049050600160801b81106116f1576040805162461bcd60e51b815260206004820152601b60248201527f47556e694c504f7261636c652f71756f74652d6f766572666c6f770000000000604482015290519081900360640190fd5b979650505050505050565b80820382811115611754576040805162461bcd60e51b815260206004820152601a60248201527f47556e694c504f7261636c652f7375622d756e646572666c6f77000000000000604482015290519081900360640190fd5b92915050565b60008115806117755750508082028282828161177257fe5b04145b611754576040805162461bcd60e51b815260206004820152601960248201527f47556e694c504f7261636c652f6d756c2d6f766572666c6f7700000000000000604482015290519081900360640190fd5b6000816117d557506000611909565b816001600160801b82106117ee5760809190911c9060401b5b6801000000000000000082106118095760409190911c9060201b5b64010000000082106118205760209190911c9060101b5b6201000082106118355760109190911c9060081b5b61010082106118495760089190911c9060041b5b6010821061185c5760049190911c9060021b5b600882106118685760011b5b600181858161187357fe5b048201901c9050600181858161188557fe5b048201901c9050600181858161189757fe5b048201901c905060018185816118a957fe5b048201901c905060018185816118bb57fe5b048201901c905060018185816118cd57fe5b048201901c905060018185816118df57fe5b048201901c905060008185816118f157fe5b0490508082106119015780611903565b815b93505050505b919050565b806001600160a01b0381168114611909576040805162461bcd60e51b815260206004820152601d60248201527f47556e694c504f7261636c652f75696e743136302d6f766572666c6f77000000604482015290519081900360640190fd5b80820182811015611754576040805162461bcd60e51b815260206004820152601960248201527f47556e694c504f7261636c652f6164642d6f766572666c6f7700000000000000604482015290519081900360640190fd5b60408051808201909152600080825260208201529056fe47556e694c504f7261636c652f696e76616c69642d6f7261636c652d312d707269636547556e694c504f7261636c652f6e6f742d617574686f72697a6564000000000047556e694c504f7261636c652f636f6e74726163742d6e6f742d77686974656c697374656447556e694c504f7261636c652f696e76616c69642d6f7261636c652d302d707269636547556e694c504f7261636c652f746f74616c2d737570706c792d746f6f2d736d616c6ca2646970667358221220869df76b56e08bd8fae51cc93bbbd6e3973eb722c14fb3c70763bc9656afd8a964736f6c634300060c00330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db005447c3dc029825da43be595e21fffd0b66ffcb7f6e005821036a801e2e567eaab935104846562c59619c92e2cdb33f484d111a8fb700d1d000410100582103904227dbef207cd177d7a4b5596badc0fedcb2a8247824c0d80e40af6deb6670410100582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b05101000000000000000b083b7549732e2301005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6476632d05f0e100000582002cdc00cd4f07216f95fdb32f2d7f5a50ef9fafb9a6070524ab206c83c8a0c934101005820022a68495c319ea950425e22b7434b3c1fe6ed2d8b80c31702772a04ec426312410102198802005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05101000000000000000b083b4c6451bca20300582002d090149a61f8d01e52a531154bf2a7e24f8f66ae60f0bf5859eff00c895fef4101005820026de7f568d8e3e045949706a70ba4cff7bf331e27905d6d0386ba5c120a1279410100582002e5dd9bf83bea9b48d8aabebbd7667528b2b92971b0203558ba35c63c3048f441010219088100582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05477b68899b99b686f415d074278a9a16b336085a00219d94905581d029388fb557b9fbfb98bb724636e5c7f28fc30cef9382621316bf657790701191abf05581d02dba8e5abf4143d16eda845a75ba4e853fee535e608c840f177a04db308465af3107a400005581d02eb1753d9a1df5901375b39371702e3d337d622838c046bc9617c54ce0c164603dd4a8a10d00219142003841a1dd7daed3680824a3233baca7d72fe8ce6aa82e079f798f1ee7491148f3905581e0323e4a8692a3311d66d9cdda32af1bcf1a8dc0d03a03b7e6b36b9bb47300c0347c5d928703ce99b03a79a27862a99cdec504af356876718e00c6fcfe62225c126a05b5dd731144e22031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03c262e2c751a170f4dc3f207fecc635f8652249f1097df605711c8145d007011bffffffffffffffff03ba1d3cfdec751c74a8078f3009f4855ad5c865e9f298c000104fa91af5ae66b60219e8f30365e15de26553809691a07b644f75b2f0721aea68fcb66fdfd2d8228ed86032e30355e220d8dcd21a6f9e982182555ef0eaab8f16ede680e766f09aa1ed7305b5fc03b0fed13fdaf8afad961fb0292a9085dd5ae755a7ba63f81a4f8f1edb6de2654103c5f6d4098e88bf00a15e9f6aaa39a6de82b6ca190f70d8710662892a223102d603f0ad5914d9614fe8be0d42015e15e8c2d4c2691a463103fb9a73edb258cc811603b3a3719065b06a2c0dfe2fdc00cf78cab82d2d71e3de6628c45d411e92eeff360304abb93f273ece359e56420a0a99e4e24ba3b6474212ccec8b18928ed3a26b80034b3a2b1e6df5bb75415a27ddcb6b7ded300c4024d8fa9e0ac5aefa066cfb5518039c0605c21271f9f3de72f26d9a5ac8ee98491705ea9f6f65d9e67515735f33e9034bac84e4da05777db3b5ffed61c4d5f3f44a07cb6707c9c9cfde41e9fe9805bb03ab683943f04866189e38a99aebd38dd5abe206a023a16736359d508ce26cb2400219ffff0305addb27f1f48cff092fa2a807b28b0c78dd096acde00180cb221e0f1a1fa86703e4b68105f30d31f8449c5312a8e1e50dd75ecde94ca7b7e2fd4141197a57253f03e585a1433afc75fa16bb4399f3dd3babcb33cd32160417823e1f32e452092857030d336f608a427d52cca3ad21a1e6ce990cb8f96956ae7914bd0324ca6a5f0fe30343296a88835076d5d93cdf6e6a081cfeadaa2b2c1acf3049b67a781fcddd87030219ffff037933ff31bb181a006acae63956845fee3e8db8ea9751fde7fec93e7851343eb103de525a922b34f0444705da66632e81b0121eac2b9d6dc324cf524af7f363b2a00219ffff0323afd7650c61bb76ce8fd7cbe1a469c1f18e00437d4b7f2b516ab00ecd1f3fdd03b243079dc7c28f12eb6f8f39733d9d8ea21896dd2cf90e0c6a49d5d601bb964503de852e5f36202cd2a58dc828e0d6e70ba74dc3d3cc7792a17c69cd8e6a3c5598034cf20d2afae7ac1eee7760f83241888a1d1059b0176ddc1f9ae5f5380add1019033ef325ed2c6a0176d01152b788e593f1181504c9ba96cf4bdf8bed811195f493036ceb5fdb3fb5fedede67a020957034c6fd0e4226826d4d120f4cf8990de5e41c03331692faa4f4a9ffada6a98799deef215dbc0951416ec53349dd8dffd1211a410356662cd1f003cb32cbd9736ea95c962462e4138b6c2dd829b7f19865a5778023039366624ee565c2e8170fcca2648b3ee86a1b13b8c02af6da5277e248a9402810034f012ea7bff2c7c82e17abf8ad84f99d2765e5c3ac416888f58d3369ff84294803d50a3b66472a9fbb494f98c630b687c371661f2dfaae0493ebed5b02f4224c39031fb35d14cef752f7d74223e9fbe32e1b1e0e2b459476258070c7036665df390d03c759872309187087bacc3855e72a76c9992a61e428dde2f436fce57d16052f3703ece949377ac695181bfc4a733b6b2fcee829efc605969c19c6801ef0a24a670003f2e07a1d3942d17f19bfd2c27dafa4d00461da5d2ad86c305882d363c1042d440381cb74c73811ed6a845d4dc6a585a65b5801cbd4a3af7ed5b555d7e0d66d64040385998ecd8423fb831de7d52f7f7ea4c034badc90dae28798037eefd266e1a59f034c8420fec68a5e7b6fa4e5a9cf906fd4dbafd8c31eeaaea71d2be745968d0700038f7383662b4420dc741fc5385486db31dddaad4e5dbcb15bfd2444830f30815a0370d5f270622e556578a425a6d09d96cb541467f3a1190532fb8f4e95b808546303edd6e7a94b582a082e86c99d2f87546246c72e75dbe4f136aa990f004d0932c70332ac76c3c823a63bfa14c51a188dbeb2accfe42618238da227be144d484cddc8036a2006ce7b8f55e24e17bc3bfd9cba1a1d939b18acfe223b5382c871e2c962a80397cd01c82db8b5a038ca4c88835f7cefad3164171b3b8944e0b967ab46028aeb0380872f4e1787f390a0a2f9d45f013fbae9551354115c8b3f6215511231377c8a0303bf57f8266b804e32743b7ef969a41c82129ffb399fcea9fca74d3800c3a5480359ce4a3614a9f424d25729ed9153d00ddeb8ddaf929ec5d5046438b27c43c34b038b9de84dd4f1c475e69f56209c3ddd16de49032f3c64f82502c14ec3ce19b5370385673b4e3aa6432d376b6d77a8414c7cf40e1fc246a851dd8281ac61c489f04c03eaad6ae3799c9f109fe607e804badaf51c40462111a1723e9c6acb717e58786703a678e27584b6390909a9187372fd0a64ca29b8d2dee3a47bbdd6d39c8a61fddd03d7f57e17a1c3448a104af7b8b668768e7a18172a5a881999457c670561f5644d0365b154c65f81ac415e7ac9ac27d0a897e2ebdfeb4a2ae507592d69e0bc0c121903addaa0890c91839d75e5ffe080abf21b958ab8d8df038cac4e5d5bea502a415303c36a9cde168956cf063db39cb45ae6ae83057edc84914c9b53cdf8a0f7f5d84c05581e031fdc55363cef12c4df3908c408a2ba92897d7694f980d5cd1e36ebad6004010384e079182277b6745fb99d7597828e044b5e2c7d6aa4b3384c14b02d32c0d1d705581e034471e3b5d8d64d849619258d5740c74bce3c1b26824284e514560ade100c0a460f6e191c827003329a01bd0742db896a699f5aa8b79ff5a1c27754951444744772b0afb81d69f005581e036e3e1db332a09271312359093b319a116bb2f6c0f05a6e0c3a786122100c0147030652af447c7003073e004b5b261c75218999bc1fe94517fd309a7ebaeacdd285de6145664fe5ac05581d025067afc511a31d9cf675115150dbfaf23b89baa270f619f210007edb0c01470558fb5e8f0b8605581d02b0d3f6a63b3adc899b648e58d15dd8dba117a3bcacd1e2d8b671ff110c0147058171a602280005581d022d6b4d3fe7cf4254bcf4b79eaf12c7b8da980e259c48f4a027770eb50c18324716992027be751704595f45608060405234801561001057600080fd5b506004361061031f5760003560e01c80636352211e116101a7578063c93ab3fd116100ee578063e985e9c511610097578063f242432a11610071578063f242432a146107d7578063f2fde38b146107ea578063fd0cd0d9146107fd57600080fd5b8063e985e9c514610768578063eb8ae530146107a4578063ed70554d146107b757600080fd5b8063d9a50c12116100c8578063d9a50c121461071f578063da8c229e14610732578063e0dba60f1461075557600080fd5b8063c93ab3fd146106e6578063cf408823146106f9578063d8c9921a1461070c57600080fd5b8063a22cb46511610150578063b6bcad261161012a578063b6bcad26146106ad578063c475abff146106c0578063c658e086146106d357600080fd5b8063a22cb46514610674578063a401498214610687578063adf4960a1461069a57600080fd5b80638b4dfa75116101815780638b4dfa751461063d5780638cf8b41e146106505780638da5cb5b1461066357600080fd5b80636352211e146105f65780636e5d6ad214610609578063715018a61461063557600080fd5b80631f4e15041161026b5780633f15457f116102145780634e1273f4116101ee5780634e1273f4146105b057806353095467146105d05780635d3590d5146105e357600080fd5b80633f15457f1461054e578063402906fc1461057557806341415eab1461059d57600080fd5b80632b20e397116102455780632b20e397146105015780632eb2c2d61461052857806333c69ea91461053b57600080fd5b80631f4e1504146104c857806320c38e2b146104db57806324c1af44146104ee57600080fd5b80630e4cd725116102cd578063150b7a02116102a7578063150b7a02146104765780631534e177146104a25780631896f70a146104b557600080fd5b80630e4cd7251461043d5780630e89341c1461045057806314ab90381461046357600080fd5b806306fdde03116102fe57806306fdde03146103b4578063081812fc146103fd578063095ea7b31461042857600080fd5b8062fdd58e146103245780630178fe3f1461034a57806301ffc9a714610391575b600080fd5b610337610332366004614d74565b610810565b6040519081526020015b60405180910390f35b61035d610358366004614da0565b6108cf565b604080516001600160a01b03909416845263ffffffff909216602084015267ffffffffffffffff1690820152606001610341565b6103a461039f366004614dcf565b6108ff565b6040519015158152602001610341565b6103f06040518060400160405280600b81526020017f4e616d655772617070657200000000000000000000000000000000000000000081525081565b6040516103419190614e3c565b61041061040b366004614da0565b610958565b6040516001600160a01b039091168152602001610341565b61043b610436366004614d74565b61099d565b005b6103a461044b366004614e4f565b6109e3565b6103f061045e366004614da0565b610a7d565b61043b610471366004614e9c565b610aef565b610489610484366004614f11565b610c08565b6040516001600160e01b03199091168152602001610341565b61043b6104b0366004614f84565b610e1a565b61043b6104c3366004614e4f565b610e51565b600754610410906001600160a01b031681565b6103f06104e9366004614da0565b610f13565b6103376104fc36600461507c565b610fad565b6104107f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea8581565b61043b6105363660046151a4565b6111c1565b61043b610549366004615252565b6114eb565b6104107f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e81565b6105886105833660046152aa565b6116e0565b60405163ffffffff9091168152602001610341565b6103a46105ab366004614e4f565b611782565b6105c36105be3660046152cd565b6117df565b60405161034191906153cb565b600554610410906001600160a01b031681565b61043b6105f13660046153de565b61191d565b610410610604366004614da0565b6119b7565b61061c61061736600461541f565b6119c2565b60405167ffffffffffffffff9091168152602001610341565b61043b611b17565b61043b61064b366004615454565b611b2b565b61061c61065e366004615496565b611cd5565b6000546001600160a01b0316610410565b61043b61068236600461551f565b6120a1565b61033761069536600461554d565b61218b565b6103a46106a83660046155ce565b612326565b61043b6106bb366004614f84565b61234b565b6103376106ce3660046155f1565b6125b0565b6103376106e1366004615613565b6128a7565b61043b6106f4366004615686565b612ab4565b61043b6107073660046156f2565b612c25565b61043b61071a36600461572a565b612dde565b6103a461072d3660046155f1565b612eee565b6103a4610740366004614f84565b60046020526000908152604090205460ff1681565b61043b61076336600461551f565b612ffb565b6103a4610776366004615758565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205460ff1690565b61043b6107b2366004615786565b613063565b6103376107c5366004614da0565b60016020526000908152604090205481565b61043b6107e53660046157ee565b61342e565b61043b6107f8366004614f84565b61354b565b6103a461080b366004614da0565b6135d8565b60006001600160a01b0383166108935760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201527f65726f206164647265737300000000000000000000000000000000000000000060648201526084015b60405180910390fd5b600061089e836119b7565b9050836001600160a01b0316816001600160a01b0316036108c35760019150506108c9565b60009150505b92915050565b60008181526001602052604090205460a081901c60c082901c6108f38383836136b0565b90959094509092509050565b60006001600160e01b031982167fd82c42d800000000000000000000000000000000000000000000000000000000148061094957506001600160e01b03198216630a85bd0160e11b145b806108c957506108c9826136e7565b600080610964836119b7565b90506001600160a01b03811661097d5750600092915050565b6000838152600360205260409020546001600160a01b03165b9392505050565b60006109a8826108cf565b50915050603f1960408216016109d45760405163a2a7201360e01b81526004810183905260240161088a565b6109de8383613769565b505050565b60008080806109f1866108cf565b925092509250846001600160a01b0316836001600160a01b03161480610a3c57506001600160a01b0380841660009081526002602090815260408083209389168352929052205460ff165b80610a6057506001600160a01b038516610a5587610958565b6001600160a01b0316145b8015610a735750610a7182826138b3565b155b9695505050505050565b6005546040516303a24d0760e21b8152600481018390526060916001600160a01b031690630e89341c90602401600060405180830381865afa158015610ac7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108c99190810190615857565b81610afa8133611782565b610b205760405163168ab55d60e31b81526004810182905233602482015260440161088a565b8260106000610b2e836108cf565b5091505063ffffffff8282161615610b5c5760405163a2a7201360e01b81526004810184905260240161088a565b6040517f14ab90380000000000000000000000000000000000000000000000000000000081526004810187905267ffffffffffffffff861660248201527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e6001600160a01b0316906314ab9038906044015b600060405180830381600087803b158015610be857600080fd5b505af1158015610bfc573d6000803e3d6000fd5b50505050505050505050565b6000336001600160a01b037f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea851614610c6c576040517f1931a53800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808080610c7d868801886158cf565b83516020850120939750919550935091508890808214610cd3576040517fc65c3ccc000000000000000000000000000000000000000000000000000000008152600481018290526024810183905260440161088a565b604051630a3b53db60e21b8152600481018390523060248201527f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea856001600160a01b0316906328ed4f6c90604401600060405180830381600087803b158015610d3b57600080fd5b505af1158015610d4f573d6000803e3d6000fd5b5050604051636b727d4360e11b8152600481018d9052600092506276a70091506001600160a01b037f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea85169063d6e4fa8690602401602060405180830381865afa158015610dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de49190615937565b610dee9190615966565b9050610e0187878761ffff1684886138e4565b50630a85bd0160e11b9c9b505050505050505050505050565b610e22613a4a565b6005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b81610e5c8133611782565b610e825760405163168ab55d60e31b81526004810182905233602482015260440161088a565b8260086000610e90836108cf565b5091505063ffffffff8282161615610ebe5760405163a2a7201360e01b81526004810184905260240161088a565b604051630c4b7b8560e11b8152600481018790526001600160a01b0386811660248301527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e1690631896f70a90604401610bce565b60066020526000908152604090208054610f2c9061598e565b80601f0160208091040260200160405190810160405280929190818152602001828054610f589061598e565b8015610fa55780601f10610f7a57610100808354040283529160200191610fa5565b820191906000526020600020905b815481529060010190602001808311610f8857829003601f168201915b505050505081565b600087610fba8133611782565b610fe05760405163168ab55d60e31b81526004810182905233602482015260440161088a565b875160208901206110188a82604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b92506110248a84613aa4565b61102e8386613be3565b6110398a848b613c16565b506110468a848787613ce3565b935061105183613d29565b611107576040516305ef2c7f60e41b8152600481018b9052602481018290523060448201526001600160a01b03888116606483015267ffffffffffffffff881660848301527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e1690635ef2c7f09060a401600060405180830381600087803b1580156110dc57600080fd5b505af11580156110f0573d6000803e3d6000fd5b505050506111028a848b8b8989613de2565b6111b4565b6040516305ef2c7f60e41b8152600481018b9052602481018290523060448201526001600160a01b03888116606483015267ffffffffffffffff881660848301527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e1690635ef2c7f09060a401600060405180830381600087803b15801561118e57600080fd5b505af11580156111a2573d6000803e3d6000fd5b505050506111b48a848b8b8989613e19565b5050979650505050505050565b81518351146112385760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060448201527f6d69736d61746368000000000000000000000000000000000000000000000000606482015260840161088a565b6001600160a01b03841661129c5760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b606482015260840161088a565b6001600160a01b0385163314806112d657506001600160a01b038516600090815260026020908152604080832033845290915290205460ff165b6113485760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f742060448201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000606482015260840161088a565b60005b835181101561147e576000848281518110611368576113686159c8565b602002602001015190506000848381518110611386576113866159c8565b60200260200101519050600080600061139e856108cf565b9250925092506113af858383613edd565b8360011480156113d057508a6001600160a01b0316836001600160a01b0316145b61142f5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b606482015260840161088a565b60008581526001602052604090206001600160a01b038b1663ffffffff60a01b60a085901b16176001600160c01b031960c084901b16179055505050505080611477906159de565b905061134b565b50836001600160a01b0316856001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516114ce9291906159f7565b60405180910390a46114e4338686868686613fd7565b5050505050565b6040805160208082018790528183018690528251808303840181526060909201909252805191012061151d8184613be3565b6000808061152a846108cf565b919450925090506001600160a01b03831615806115d957506040516302571be360e01b81526004810185905230906001600160a01b037f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e16906302571be390602401602060405180830381865afa1580156115a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cd9190615a25565b6001600160a01b031614155b156115f757604051635374b59960e01b815260040160405180910390fd5b6000806116038a6108cf565b90935091508a9050611644576116198633611782565b61163f5760405163168ab55d60e31b81526004810187905233602482015260440161088a565b611674565b61164e8a33611782565b6116745760405163168ab55d60e31b8152600481018b905233602482015260440161088a565b61167f86898461417c565b61168a8784836141b7565b9650620100008416158015906116ae57508363ffffffff1688851763ffffffff1614155b156116cf5760405163a2a7201360e01b81526004810187905260240161088a565b96831796610bfc86868a868b614201565b6000826116ed8133611782565b6117135760405163168ab55d60e31b81526004810182905233602482015260440161088a565b8360026000611721836108cf565b5091505063ffffffff828216161561174f5760405163a2a7201360e01b81526004810184905260240161088a565b6000808061175c8a6108cf565b9250925092506117758a84848c61ffff16178485614201565b5098975050505050505050565b6000808080611790866108cf565b925092509250846001600160a01b0316836001600160a01b03161480610a6057506001600160a01b0380841660009081526002602090815260408083209389168352929052205460ff16610a60565b606081518351146118585760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e67746860448201527f206d69736d617463680000000000000000000000000000000000000000000000606482015260840161088a565b6000835167ffffffffffffffff81111561187457611874614fa1565b60405190808252806020026020018201604052801561189d578160200160208202803683370190505b50905060005b8451811015611915576118e88582815181106118c1576118c16159c8565b60200260200101518583815181106118db576118db6159c8565b6020026020010151610810565b8282815181106118fa576118fa6159c8565b602090810291909101015261190e816159de565b90506118a3565b509392505050565b611925613a4a565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af115801561198d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119b19190615a42565b50505050565b60006108c9826142ab565b604080516020808201869052818301859052825180830384018152606090920190925280519101206000906119f681613d29565b611a1357604051635374b59960e01b815260040160405180910390fd5b6000611a1f86336109e3565b905080158015611a365750611a348233611782565b155b15611a5d5760405163168ab55d60e31b81526004810183905233602482015260440161088a565b60008080611a6a856108cf565b92509250925083158015611a815750620400008216155b15611aa25760405163a2a7201360e01b81526004810186905260240161088a565b6000611aad8a6108cf565b92505050611abc8883836141b7565b9750611aca8685858b6142c1565b60405167ffffffffffffffff8916815286907ff675815a0817338f93a7da433f6bd5f5542f1029b11b455191ac96c7f6a9b1329060200160405180910390a2509598975050505050505050565b611b1f613a4a565b611b296000614309565b565b604080517f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60208083019190915281830186905282518083038401815260609092019092528051910120611b7f8133611782565b611ba55760405163168ab55d60e31b81526004810182905233602482015260440161088a565b306001600160a01b03841603611bd957604051632ca49b0d60e11b81526001600160a01b038416600482015260240161088a565b604080517f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae60208083019190915281830187905282518083038401815260609092019092528051910120611c2e905b83614366565b6040517f42842e0e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038481166024830152604482018690527f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea8516906342842e0e90606401600060405180830381600087803b158015611cb757600080fd5b505af1158015611ccb573d6000803e3d6000fd5b5050505050505050565b6000808686604051611ce8929190615a5f565b6040519081900381206331a9108f60e11b82526004820181905291506000907f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea856001600160a01b031690636352211e90602401602060405180830381865afa158015611d58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7c9190615a25565b90506001600160a01b0381163314801590611e24575060405163e985e9c560e01b81526001600160a01b0382811660048301523360248301527f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea85169063e985e9c590604401602060405180830381865afa158015611dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e229190615a42565b155b15611e9457604080517f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae6020808301919091528183018590528251808303840181526060830193849052805191012063168ab55d60e31b909252606481019190915233608482015260a40161088a565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038281166004830152306024830152604482018490527f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea8516906323b872dd90606401600060405180830381600087803b158015611f1d57600080fd5b505af1158015611f31573d6000803e3d6000fd5b5050604051630a3b53db60e21b8152600481018590523060248201527f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea856001600160a01b031692506328ed4f6c9150604401600060405180830381600087803b158015611f9d57600080fd5b505af1158015611fb1573d6000803e3d6000fd5b5050604051636b727d4360e11b8152600481018590526276a70092507f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea856001600160a01b0316915063d6e4fa8690602401602060405180830381865afa15801561201f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120439190615937565b61204d9190615966565b925061209688888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250505061ffff881686886138e4565b505095945050505050565b6001600160a01b038216330361211f5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c2073746174757360448201527f20666f722073656c660000000000000000000000000000000000000000000000606482015260840161088a565b3360008181526002602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b3360009081526004602052604081205460ff166121fb5760405162461bcd60e51b815260206004820152602860248201527f436f6e74726f6c6c61626c653a2043616c6c6572206973206e6f74206120636f604482015267373a3937b63632b960c11b606482015260840161088a565b6000878760405161220d929190615a5f565b6040519081900381207ffca247ac000000000000000000000000000000000000000000000000000000008252600482018190523060248301526044820187905291507f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea856001600160a01b03169063fca247ac906064016020604051808303816000875af11580156122a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c69190615937565b915061231b88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9250505061ffff86166123156276a70087615966565b886138e4565b509695505050505050565b600080612332846108cf565b50841663ffffffff908116908516149250505092915050565b612353613a4a565b6007546001600160a01b0316156124735760075460405163a22cb46560e01b81526001600160a01b039182166004820152600060248201527f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea859091169063a22cb46590604401600060405180830381600087803b1580156123d357600080fd5b505af11580156123e7573d6000803e3d6000fd5b505060075460405163a22cb46560e01b81526001600160a01b039182166004820152600060248201527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e909116925063a22cb4659150604401600060405180830381600087803b15801561245a57600080fd5b505af115801561246e573d6000803e3d6000fd5b505050505b6007805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155156125ad5760075460405163a22cb46560e01b81526001600160a01b039182166004820152600160248201527f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea859091169063a22cb46590604401600060405180830381600087803b15801561251257600080fd5b505af1158015612526573d6000803e3d6000fd5b505060075460405163a22cb46560e01b81526001600160a01b039182166004820152600160248201527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e909116925063a22cb4659150604401600060405180830381600087803b15801561259957600080fd5b505af11580156114e4573d6000803e3d6000fd5b50565b3360009081526004602052604081205460ff166126205760405162461bcd60e51b815260206004820152602860248201527f436f6e74726f6c6c61626c653a2043616c6c6572206973206e6f74206120636f604482015267373a3937b63632b960c11b606482015260840161088a565b604080517f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae602080830191909152818301869052825180830384018152606090920190925280519101206000906040517fc475abff00000000000000000000000000000000000000000000000000000000815260048101869052602481018590529091506000906001600160a01b037f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea85169063c475abff906044016020604051808303816000875af11580156126fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271e9190615937565b6040516331a9108f60e11b8152600481018790529091507f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea856001600160a01b031690636352211e90602401602060405180830381865afa9250505080156127a2575060408051601f3d908101601f1916820190925261279f91810190615a25565b60015b6127af5791506108c99050565b6001600160a01b0381163014158061285957506040516302571be360e01b81526004810184905230906001600160a01b037f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e16906302571be390602401602060405180830381865afa158015612829573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061284d9190615a25565b6001600160a01b031614155b15612868575091506108c99050565b5060006128786276a70083615966565b60008481526001602052604090205490915060a081901c61289b858383866142c1565b50919695505050505050565b6000866128b48133611782565b6128da5760405163168ab55d60e31b81526004810182905233602482015260440161088a565b600087876040516128ec929190615a5f565b604051809103902090506129278982604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b92506129338984613aa4565b61293d8386613be3565b60006129808a858b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613c1692505050565b905061298e8a858888613ce3565b945061299984613d29565b612a61576040517f06ab5923000000000000000000000000000000000000000000000000000000008152600481018b9052602481018390523060448201527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e6001600160a01b0316906306ab5923906064016020604051808303816000875af1158015612a2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a4e9190615937565b50612a5c8482898989614458565b612aa7565b612aa78a858b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508d92508c91508b9050613e19565b5050509695505050505050565b6000612afa600086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061449a9050565b6007549091506001600160a01b0316612b3f576040517f24c1d6d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b498133611782565b612b6f5760405163168ab55d60e31b81526004810182905233602482015260440161088a565b60008080612b7c846108cf565b919450925090506000612b8e85610958565b9050612b9985614559565b600760009054906101000a90046001600160a01b03166001600160a01b0316639198c2768a8a878787878e8e6040518963ffffffff1660e01b8152600401612be8989796959493929190615a98565b600060405180830381600087803b158015612c0257600080fd5b505af1158015612c16573d6000803e3d6000fd5b50505050505050505050505050565b83612c308133611782565b612c565760405163168ab55d60e31b81526004810182905233602482015260440161088a565b84601c6000612c64836108cf565b5091505063ffffffff8282161615612c925760405163a2a7201360e01b81526004810184905260240161088a565b6040517fcf408823000000000000000000000000000000000000000000000000000000008152600481018990523060248201526001600160a01b03878116604483015267ffffffffffffffff871660648301527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e169063cf40882390608401600060405180830381600087803b158015612d2b57600080fd5b505af1158015612d3f573d6000803e3d6000fd5b5050506001600160a01b0388169050612da6576000612d5d896108cf565b509150506201ffff1962020000821601612d9557604051632ca49b0d60e11b81526001600160a01b038916600482015260240161088a565b612da0896000614366565b50611ccb565b6000612db1896119b7565b9050612dd381898b60001c600160405180602001604052806000815250614628565b505050505050505050565b60408051602080820186905281830185905282518083038401815260609092019092528051910120612e108133611782565b612e365760405163168ab55d60e31b81526004810182905233602482015260440161088a565b7f6c32148f748aba23997146d7fe89e962e3cc30271290fb96f5f4337756c03b528401612e765760405163615a470360e01b815260040160405180910390fd5b6001600160a01b0382161580612e9457506001600160a01b03821630145b15612ebd57604051632ca49b0d60e11b81526001600160a01b038316600482015260240161088a565b604080516020808201879052818301869052825180830384018152606090920190925280519101206119b190611c28565b604080516020808201859052818301849052825180830384018152606090920190925280519101206000906000612f2482613d29565b90507f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae8514612f565791506108c99050565b6040516331a9108f60e11b8152600481018590527f00000000000000000000000057f1887a8bf19b14fc0df6fd9b2acc9af147ea856001600160a01b031690636352211e90602401602060405180830381865afa925050508015612fd7575060408051601f3d908101601f19168201909252612fd491810190615a25565b60015b612fe6576000925050506108c9565b6001600160a01b0316301492506108c9915050565b613003613a4a565b6001600160a01b038216600081815260046020908152604091829020805460ff191685151590811790915591519182527f4c97694570a07277810af7e5669ffd5f6a2d6b74b6e9a274b8b870fd5114cf8791015b60405180910390a25050565b6000806130aa600087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061477a9050565b9150915060006130f38288888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061449a9050565b60408051602080820184905281830187905282518083038401815260609092019092528051910120909150600090600081815260066020526040902090915061313d888a83615b47565b507f6c32148f748aba23997146d7fe89e962e3cc30271290fb96f5f4337756c03b52820161317e5760405163615a470360e01b815260040160405180910390fd5b6040516302571be360e01b8152600481018290526000907f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e6001600160a01b0316906302571be390602401602060405180830381865afa1580156131e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061320a9190615a25565b90506001600160a01b03811633148015906132b2575060405163e985e9c560e01b81526001600160a01b0382811660048301523360248301527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e169063e985e9c590604401602060405180830381865afa15801561328c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b09190615a42565b155b156132d95760405163168ab55d60e31b81526004810183905233602482015260440161088a565b6001600160a01b0386161561336b57604051630c4b7b8560e11b8152600481018390526001600160a01b0387811660248301527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e1690631896f70a90604401600060405180830381600087803b15801561335257600080fd5b505af1158015613366573d6000803e3d6000fd5b505050505b604051635b0fc9c360e01b8152600481018390523060248201527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e6001600160a01b031690635b0fc9c390604401600060405180830381600087803b1580156133d357600080fd5b505af11580156133e7573d6000803e3d6000fd5b50505050612dd3828a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508d93509150819050614458565b6001600160a01b0384166134925760405162461bcd60e51b815260206004820152602560248201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b606482015260840161088a565b6001600160a01b0385163314806134cc57506001600160a01b038516600090815260026020908152604080832033845290915290205460ff165b61353e5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201527f20617070726f7665640000000000000000000000000000000000000000000000606482015260840161088a565b6114e48585858585614628565b613553613a4a565b6001600160a01b0381166135cf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161088a565b6125ad81614309565b600081815260066020526040812080548291906135f49061598e565b80601f01602080910402602001604051908101604052809291908181526020018280546136209061598e565b801561366d5780601f106136425761010080835404028352916020019161366d565b820191906000526020600020905b81548152906001019060200180831161365057829003601f168201915b5050505050905080516000036136865750600092915050565b600080613693838261477a565b909250905060006136a4848361449a565b9050610a738184612eee565b600080428367ffffffffffffffff1610156136de5761ffff19620100008516016136d957600094505b600093505b50929391925050565b60006001600160e01b031982167fd9b67a2600000000000000000000000000000000000000000000000000000000148061373157506001600160e01b031982166303a24d0760e21b145b806108c957507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b03198316146108c9565b6000613774826119b7565b9050806001600160a01b0316836001600160a01b0316036137fd5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f7200000000000000000000000000000000000000000000000000000000000000606482015260840161088a565b336001600160a01b038216148061383757506001600160a01b038116600090815260026020908152604080832033845290915290205460ff165b6138a95760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000606482015260840161088a565b6109de8383614831565b6000620200008381161480156109965750426138d26276a70084615c07565b67ffffffffffffffff16109392505050565b84516020860120600061393e7f93cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae83604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b90506000613981886040518060400160405280600581526020017f03657468000000000000000000000000000000000000000000000000000000008152506148ac565b600083815260066020526040902090915061399c8282615c28565b506139af828289620300008a1789614458565b6001600160a01b03841615611ccb57604051630c4b7b8560e11b8152600481018390526001600160a01b0385811660248301527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e1690631896f70a90604401600060405180830381600087803b158015613a2857600080fd5b505af1158015613a3c573d6000803e3d6000fd5b505050505050505050505050565b6000546001600160a01b03163314611b295760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161088a565b60008080613ab1846108cf565b919450925090504267ffffffffffffffff821610808015613b7557506001600160a01b0384161580613b7557506040516302571be360e01b8152600481018690526000906001600160a01b037f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e16906302571be390602401602060405180830381865afa158015613b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b6a9190615a25565b6001600160a01b0316145b15613bb4576000613b85876108cf565b509150506020811615613bae5760405163a2a7201360e01b81526004810187905260240161088a565b50613bdb565b62010000831615613bdb5760405163a2a7201360e01b81526004810186905260240161088a565b505050505050565b63fffdffff81811763ffffffff1614613c125760405163a2a7201360e01b81526004810183905260240161088a565b5050565b60606000613cbf83600660008881526020019081526020016000208054613c3c9061598e565b80601f0160208091040260200160405190810160405280929190818152602001828054613c689061598e565b8015613cb55780601f10613c8a57610100808354040283529160200191613cb5565b820191906000526020600020905b815481529060010190602001808311613c9857829003601f168201915b50505050506148ac565b6000858152600660205260409020909150613cda8282615c28565b50949350505050565b600080613cef856108cf565b92505050600080613d028860001c6108cf565b9250925050613d1287878461417c565b613d1d8584836141b7565b98975050505050505050565b600080613d35836119b7565b6001600160a01b0316141580156108c957506040516302571be360e01b81526004810183905230906001600160a01b037f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e16906302571be390602401602060405180830381865afa158015613dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613dd29190615a25565b6001600160a01b03161492915050565b60008681526006602052604081208054613e01918791613c3c9061598e565b9050613e108682868686614458565b50505050505050565b60008080613e26886108cf565b9250925092506000613e5088600660008d81526020019081526020016000208054613c3c9061598e565b60008a8152600660205260409020805491925090613e6d9061598e565b9050600003613e90576000898152600660205260409020613e8e8282615c28565b505b613e9f89858886178589614201565b6001600160a01b038716613ebd57613eb8896000614366565b610bfc565b610bfc84888b60001c600160405180602001604052806000815250614628565b6201ffff1962020000831601613efd57613efa6276a70082615c07565b90505b428167ffffffffffffffff161015613f7a5762010000821615613f755760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b606482015260840161088a565b613f9f565b6004821615613f9f5760405163a2a7201360e01b81526004810184905260240161088a565b604082166000036109de5750506000908152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b6001600160a01b0384163b15613bdb5760405163bc197c8160e01b81526001600160a01b0385169063bc197c819061401b9089908990889088908890600401615ce8565b6020604051808303816000875af1925050508015614056575060408051601f3d908101601f1916820190925261405391810190615d3a565b60015b61410b57614062615d57565b806308c379a00361409b5750614076615d73565b80614081575061409d565b8060405162461bcd60e51b815260040161088a9190614e3c565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e204552433131353560448201527f526563656976657220696d706c656d656e746572000000000000000000000000606482015260840161088a565b6001600160e01b0319811663bc197c8160e01b14613e105760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b606482015260840161088a565b63ffff000082161580159060018316159082906141965750805b156114e45760405163a2a7201360e01b81526004810186905260240161088a565b60008167ffffffffffffffff168467ffffffffffffffff1611156141d9578193505b8267ffffffffffffffff168467ffffffffffffffff1610156141f9578293505b509192915050565b61420d858585846142c1565b60405163ffffffff8416815285907f39873f00c80f4f94b7bd1594aebcf650f003545b74824d57ddf4939e3ff3a34b9060200160405180910390a28167ffffffffffffffff168167ffffffffffffffff1611156114e45760405167ffffffffffffffff8216815285907ff675815a0817338f93a7da433f6bd5f5542f1029b11b455191ac96c7f6a9b132906020015b60405180910390a25050505050565b6000806142b7836108cf565b5090949350505050565b6142cb8483614955565b60008481526001602052604090206001600160a01b03841663ffffffff60a01b60a085901b16176001600160c01b031960c084901b161790556119b1565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b614371826001612326565b156143925760405163a2a7201360e01b81526004810183905260240161088a565b61439b82614559565b604051635b0fc9c360e01b8152600481018390526001600160a01b0382811660248301527f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e1690635b0fc9c390604401600060405180830381600087803b15801561440557600080fd5b505af1158015614419573d6000803e3d6000fd5b50506040516001600160a01b03841681528492507fee2ba1195c65bcf218a83d874335c6bf9d9067b4c672f3c3bf16cf40de7586c49150602001613057565b6144648584848461498e565b847f8ce7013e8abebc55c3890a68f5a27c67c3f7efa64e584de5fb22363c606fd3408585858560405161429c9493929190615dfd565b60008060006144a9858561477a565b90925090508161451b57600185516144c19190615e45565b841461450f5760405162461bcd60e51b815260206004820152601d60248201527f6e616d65686173683a204a756e6b20617420656e64206f66206e616d65000000604482015260640161088a565b50600091506108c99050565b614525858261449a565b6040805160208101929092528101839052606001604051602081830303815290604052805190602001209250505092915050565b60008181526001602052604090205460a081901c60c082901c61457d8383836136b0565b6000868152600360209081526040808320805473ffffffffffffffffffffffffffffffffffffffff191690556001909152902063ffffffff60a01b60a083901b166001600160c01b031960c086901b1617905592506145d99050565b60408051858152600160208201526000916001600160a01b0386169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a450505050565b6000806000614636866108cf565b925092509250614647868383613edd565b8460011480156146685750876001600160a01b0316836001600160a01b0316145b6146c75760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60448201526939103a3930b739b332b960b11b606482015260840161088a565b866001600160a01b0316836001600160a01b0316036146e8575050506114e4565b60008681526001602052604090206001600160a01b03881663ffffffff60a01b60a085901b16176001600160c01b031960c084901b1617905560408051878152602081018790526001600160a01b03808a1692908b169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611ccb338989898989614a02565b600080835183106147cd5760405162461bcd60e51b815260206004820152601e60248201527f726561644c6162656c3a20496e646578206f7574206f6620626f756e64730000604482015260640161088a565b60008484815181106147e1576147e16159c8565b016020015160f81c9050801561480d5761480685614800866001615e58565b83614afe565b9250614812565b600092505b61481c8185615e58565b614827906001615e58565b9150509250929050565b6000818152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384169081179091558190614873826119b7565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60606001835110156148ea576040517f280dacb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff8351111561492857826040517fe3ba295f00000000000000000000000000000000000000000000000000000000815260040161088a9190614e3c565b8251838360405160200161493e93929190615e6b565b604051602081830303815290604052905092915050565b61ffff81161580159061496d57506201000181811614155b15613c125760405163a2a7201360e01b81526004810183905260240161088a565b6149988483614955565b6000848152600160205260409020546001600160a01b038116156149f6576149bf85614559565b6040516000815285907fee2ba1195c65bcf218a83d874335c6bf9d9067b4c672f3c3bf16cf40de7586c49060200160405180910390a25b6114e485858585614b22565b6001600160a01b0384163b15613bdb5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190614a469089908990889088908890600401615ecc565b6020604051808303816000875af1925050508015614a81575060408051601f3d908101601f19168201909252614a7e91810190615d3a565b60015b614a8d57614062615d57565b6001600160e01b0319811663f23a6e6160e01b14613e105760405162461bcd60e51b815260206004820152602860248201527f455243313135353a204552433131353552656365697665722072656a656374656044820152676420746f6b656e7360c01b606482015260840161088a565b8251600090614b0d8385615e58565b1115614b1857600080fd5b5091016020012090565b8360008080614b30846108cf565b9194509250905063ffff0000821667ffffffffffffffff8087169083161115614b57578195505b428267ffffffffffffffff1610614b6d57958617955b6001600160a01b03841615614bc45760405162461bcd60e51b815260206004820152601f60248201527f455243313135353a206d696e74206f66206578697374696e6720746f6b656e00604482015260640161088a565b6001600160a01b038816614c405760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161088a565b306001600160a01b03891603614cbe5760405162461bcd60e51b815260206004820152603460248201527f455243313135353a206e65774f776e65722063616e6e6f74206265207468652060448201527f4e616d655772617070657220636f6e7472616374000000000000000000000000606482015260840161088a565b60008581526001602052604090206001600160a01b03891663ffffffff60a01b60a08a901b16176001600160c01b031960c089901b1617905560408051868152600160208201526001600160a01b038a169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612dd33360008a88600160405180602001604052806000815250614a02565b6001600160a01b03811681146125ad57600080fd5b60008060408385031215614d8757600080fd5b8235614d9281614d5f565b946020939093013593505050565b600060208284031215614db257600080fd5b5035919050565b6001600160e01b0319811681146125ad57600080fd5b600060208284031215614de157600080fd5b813561099681614db9565b60005b83811015614e07578181015183820152602001614def565b50506000910152565b60008151808452614e28816020860160208601614dec565b601f01601f19169290920160200192915050565b6020815260006109966020830184614e10565b60008060408385031215614e6257600080fd5b823591506020830135614e7481614d5f565b809150509250929050565b803567ffffffffffffffff81168114614e9757600080fd5b919050565b60008060408385031215614eaf57600080fd5b82359150614ebf60208401614e7f565b90509250929050565b60008083601f840112614eda57600080fd5b50813567ffffffffffffffff811115614ef257600080fd5b602083019150836020828501011115614f0a57600080fd5b9250929050565b600080600080600060808688031215614f2957600080fd5b8535614f3481614d5f565b94506020860135614f4481614d5f565b935060408601359250606086013567ffffffffffffffff811115614f6757600080fd5b614f7388828901614ec8565b969995985093965092949392505050565b600060208284031215614f9657600080fd5b813561099681614d5f565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715614fdd57614fdd614fa1565b6040525050565b600067ffffffffffffffff821115614ffe57614ffe614fa1565b50601f01601f191660200190565b600082601f83011261501d57600080fd5b813561502881614fe4565b6040516150358282614fb7565b82815285602084870101111561504a57600080fd5b82602086016020830137600092810160200192909252509392505050565b803563ffffffff81168114614e9757600080fd5b600080600080600080600060e0888a03121561509757600080fd5b87359650602088013567ffffffffffffffff8111156150b557600080fd5b6150c18a828b0161500c565b96505060408801356150d281614d5f565b945060608801356150e281614d5f565b93506150f060808901614e7f565b92506150fe60a08901615068565b915061510c60c08901614e7f565b905092959891949750929550565b600067ffffffffffffffff82111561513457615134614fa1565b5060051b60200190565b600082601f83011261514f57600080fd5b8135602061515c8261511a565b6040516151698282614fb7565b83815260059390931b850182019282810191508684111561518957600080fd5b8286015b8481101561231b578035835291830191830161518d565b600080600080600060a086880312156151bc57600080fd5b85356151c781614d5f565b945060208601356151d781614d5f565b9350604086013567ffffffffffffffff808211156151f457600080fd5b61520089838a0161513e565b9450606088013591508082111561521657600080fd5b61522289838a0161513e565b9350608088013591508082111561523857600080fd5b506152458882890161500c565b9150509295509295909350565b6000806000806080858703121561526857600080fd5b843593506020850135925061527f60408601615068565b915061528d60608601614e7f565b905092959194509250565b803561ffff81168114614e9757600080fd5b600080604083850312156152bd57600080fd5b82359150614ebf60208401615298565b600080604083850312156152e057600080fd5b823567ffffffffffffffff808211156152f857600080fd5b818501915085601f83011261530c57600080fd5b813560206153198261511a565b6040516153268282614fb7565b83815260059390931b850182019282810191508984111561534657600080fd5b948201945b8386101561536d57853561535e81614d5f565b8252948201949082019061534b565b9650508601359250508082111561538357600080fd5b506148278582860161513e565b600081518084526020808501945080840160005b838110156153c0578151875295820195908201906001016153a4565b509495945050505050565b6020815260006109966020830184615390565b6000806000606084860312156153f357600080fd5b83356153fe81614d5f565b9250602084013561540e81614d5f565b929592945050506040919091013590565b60008060006060848603121561543457600080fd5b833592506020840135915061544b60408501614e7f565b90509250925092565b60008060006060848603121561546957600080fd5b83359250602084013561547b81614d5f565b9150604084013561548b81614d5f565b809150509250925092565b6000806000806000608086880312156154ae57600080fd5b853567ffffffffffffffff8111156154c557600080fd5b6154d188828901614ec8565b90965094505060208601356154e581614d5f565b92506154f360408701615298565b9150606086013561550381614d5f565b809150509295509295909350565b80151581146125ad57600080fd5b6000806040838503121561553257600080fd5b823561553d81614d5f565b91506020830135614e7481615511565b60008060008060008060a0878903121561556657600080fd5b863567ffffffffffffffff81111561557d57600080fd5b61558989828a01614ec8565b909750955050602087013561559d81614d5f565b93506040870135925060608701356155b481614d5f565b91506155c260808801615298565b90509295509295509295565b600080604083850312156155e157600080fd5b82359150614ebf60208401615068565b6000806040838503121561560457600080fd5b50508035926020909101359150565b60008060008060008060a0878903121561562c57600080fd5b86359550602087013567ffffffffffffffff81111561564a57600080fd5b61565689828a01614ec8565b909650945050604087013561566a81614d5f565b925061567860608801615068565b91506155c260808801614e7f565b6000806000806040858703121561569c57600080fd5b843567ffffffffffffffff808211156156b457600080fd5b6156c088838901614ec8565b909650945060208701359150808211156156d957600080fd5b506156e687828801614ec8565b95989497509550505050565b6000806000806080858703121561570857600080fd5b84359350602085013561571a81614d5f565b9250604085013561527f81614d5f565b60008060006060848603121561573f57600080fd5b8335925060208401359150604084013561548b81614d5f565b6000806040838503121561576b57600080fd5b823561577681614d5f565b91506020830135614e7481614d5f565b6000806000806060858703121561579c57600080fd5b843567ffffffffffffffff8111156157b357600080fd5b6157bf87828801614ec8565b90955093505060208501356157d381614d5f565b915060408501356157e381614d5f565b939692955090935050565b600080600080600060a0868803121561580657600080fd5b853561581181614d5f565b9450602086013561582181614d5f565b93506040860135925060608601359150608086013567ffffffffffffffff81111561584b57600080fd5b6152458882890161500c565b60006020828403121561586957600080fd5b815167ffffffffffffffff81111561588057600080fd5b8201601f8101841361589157600080fd5b805161589c81614fe4565b6040516158a98282614fb7565b8281528660208486010111156158be57600080fd5b610a73836020830160208701614dec565b600080600080608085870312156158e557600080fd5b843567ffffffffffffffff8111156158fc57600080fd5b6159088782880161500c565b945050602085013561591981614d5f565b925061592760408601615298565b915060608501356157e381614d5f565b60006020828403121561594957600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff81811683821601908082111561598757615987615950565b5092915050565b600181811c908216806159a257607f821691505b6020821081036159c257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000600182016159f0576159f0615950565b5060010190565b604081526000615a0a6040830185615390565b8281036020840152615a1c8185615390565b95945050505050565b600060208284031215615a3757600080fd5b815161099681614d5f565b600060208284031215615a5457600080fd5b815161099681615511565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60c081526000615aac60c083018a8c615a6f565b6001600160a01b03898116602085015263ffffffff8916604085015267ffffffffffffffff881660608501528616608084015282810360a0840152615af2818587615a6f565b9b9a5050505050505050505050565b601f8211156109de57600081815260208120601f850160051c81016020861015615b285750805b601f850160051c820191505b81811015613bdb57828155600101615b34565b67ffffffffffffffff831115615b5f57615b5f614fa1565b615b7383615b6d835461598e565b83615b01565b6000601f841160018114615ba75760008515615b8f5750838201355b600019600387901b1c1916600186901b1783556114e4565b600083815260209020601f19861690835b82811015615bd85786850135825560209485019460019092019101615bb8565b5086821015615bf55760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b67ffffffffffffffff82811682821603908082111561598757615987615950565b815167ffffffffffffffff811115615c4257615c42614fa1565b615c5681615c50845461598e565b84615b01565b602080601f831160018114615c8b5760008415615c735750858301515b600019600386901b1c1916600185901b178555613bdb565b600085815260208120601f198616915b82811015615cba57888601518255948401946001909101908401615c9b565b5085821015615cd85787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001600160a01b03808816835280871660208401525060a06040830152615d1460a0830186615390565b8281036060840152615d268186615390565b90508281036080840152613d1d8185614e10565b600060208284031215615d4c57600080fd5b815161099681614db9565b600060033d1115615d705760046000803e5060005160e01c5b90565b600060443d1015615d815790565b6040516003193d81016004833e81513d67ffffffffffffffff8160248401118184111715615db157505050505090565b8285019150815181811115615dc95750505050505090565b843d8701016020828501011115615de35750505050505090565b615df260208286010187614fb7565b509095945050505050565b608081526000615e106080830187614e10565b6001600160a01b039590951660208301525063ffffffff92909216604083015267ffffffffffffffff16606090910152919050565b818103818111156108c9576108c9615950565b808201808211156108c9576108c9615950565b7fff000000000000000000000000000000000000000000000000000000000000008460f81b16815260008351615ea8816001850160208801614dec565b835190830190615ebf816001840160208801614dec565b0160010195945050505050565b60006001600160a01b03808816835280871660208401525084604083015283606083015260a06080830152615f0460a0830184614e10565b97965050505050505056fea26469706673582212203420d6b763d82b1b590fea45d804e16953e66816411da10be7022bec2bfbbe2064736f6c6343000811003303d6cfb75761dd0e77e48de12e3a8fa5a80b5267e9f13c9041b5ebf5dceca4328803f20d377583b680ac6abb0081abd49479ead7b4e4ba37fc1b9d91088b439e7b5d03d7ecee6523d40d2d6665392a248c786beeefb4ed41d0368c1bda8fc1f9323c2603dc620daf3c2b9a58a96f3ff7ba0be76aaaab491e641325b514952d926cb0b45003dd11cd4ee9d10c145f5470f9c68ea2461c46d960ec2970ee97dd2c0ce1d3371e0354a333c89f915fb2ec64b7d0a4fd9281acf289bf795d9c918554257e0e706b8603bc35377f2d2bc586ac19110e99a48926457ee1280dbdba1a246a327abc33294303559f38593ce33b29f220a6f080f9a6b9778adf746bddee58b7b4f498e9986f2f03aeec0bf9074bfebb47e484f161fdab1d46c5884d645bffa6bdaac9158b141b2d03097ddc2d4d97ea8d7ef0c55ec8d404b208a06bd4d43003995967e07fd2bc0f57033935ac0375dc1d8ecc30b219d2ee36fabd5c121cdbe3649c88224cde2bda7e0903b4a2ed01ab9b649d794876dad77e1af102e11df3cbe502fc69aeac505e9f66d403d44bde2af9a2c7b6ddbeee051b409ac0e85e6ee13c50d23418586bc8ffd81d43035bff8ca64851227c82b5814cf7001cfd341e184489df7f5448fb38c3a29caf9103f2794971ba6001338b974eb8e3dc009f194ac9b3f5277903d9c01dd25fb334400303414f4b784171b7c4adc4b6d837a4dd31b7aeb4864685b55f3ab179976351cf038cee56290f141d64d18c75c368a6f560a358be7876a1e75805bcc4ee976c88f503ffd3a1402cb6129055416385a8761a95fc5531ba0b02579daa72a13ae7e7719400581f0329be15127a7b6878239fb23788f881e2c24ba32c31d5966963d4f5ee4a3058200876657368616c6b61036574680000000000000000000000000000000000001c00581e02306816e2f28dfe4aeb37a54193ad0ece85e2adaf9bd37c7c0dcd3ae822410100581e02052772dc8a3025c861125e5c35a4dc35079049478cc183eada655b493e582009616c706861373835370365746800000000000000000000000000000000001e02198100031d36c3f6525af35df3032ba04c8eca291445e5a900fda6c5d8b38a04ec11b1ac00581f03944abf4a8a07ddb9815f33a415f54711cb54416ed069c74c20624c725f70581c66e96e1f00030000ef66ff810a54a131a03fcfe9ffbd567df29a878e00581f03d689f8c4c6c2290d7b16726bd80060dfec31369b5c189b0da138ee339020581c695dcb9f00030000b89780583ff0027f4512d8a6ab443dd0d2beecd100581f03263c387a074150de5003e9590758e9f2f6bb0dcd78dd66c63d1a6e7cfb605820053034313633036574680000000000000000000000000000000000000000001600581f03b2ff7b16a2f2eb5d7a2583a12ba6d7fa499397ee95a17f871f53bbf7de30582009726f79616c746965730970756e6b733230323303657468000000000000003202192617034174b7a5013b524507d9860e3b72afd1f7b06051619effb88878ffaf519fe851034b78eaaae10b4dc4b96ff170bf9d1f1b1ccbcb6a0b0f47c8cfcb98f578e951a103bdb39893f985553fc92a8a794eb361b40de07883b6e62c0f74bf2a9a7d6a939103bbe1402d2e0e36ba0f661bb73775b8783d9636d8ca3b7dda224e1e5f392d54bb037739e11d5dfd66420048ef58729513e710f74729e17aa47356c1e7a8dd6f468f0219ffff0303a48d1b6e1608012c91e53c3d7fca2965ae896ade43ac8660269d479a34de41038fa4a523169bb25c4db3e4dbb9d9ea14154c487f50ac274f5b7886af3ce93f7503f31ef2cc819ee1b0734cee3ae31bc3a757cce92eb0bf3676004cfdc9527a7e0f0378a00ba67f706d3d45b0883cf5986b02f6fc52f1aa7473e6d8086e057f4e7b64039bbb4fc6bdbcff0ca8551cee053bc1650bf7ce21cea5f9b0f18b23ed167eaf1203b20a80bffa8ce751b6c10b49875e60ad9e5386a0891a8078e98d0d559aea833703cdf2842ab162fdffde2fa34c4f6b953657eca573e0394fc2ae94ba0f87ed21b2038fdf913f2c8785b2cf13b8e1f8615b991db27749028aa17459a45ba1a339ad1803bb1137104cccd7702c2a58fe465042948b8911e8ed8176f465bf44edbffa1cc303c815e9519fb04ffc0c0996d83a677c663f19de21adb593685b1e0bc59c80a6fa0368c066fd5f7119dbbb6922198fa573784e0052db75e09842b0c7a6329f2d527e0323aa1796b6757f3bb18a47feee77f3e0a5cdd3da1a773b0d9111ba67afb64cfb03cbabc9be3fca1c23a4756d24cfc63bbe0d45495f6a0810bc7a965f78970203be033ea391a2989a86e317ac540b952da0ffec94b86084e03ca08d52e1ed0df5f34b03b93d7c791436d6fe3e9ec743f384f20f9d49e245d2da18a60f106add436beefb0219ffff038bddc08c917ab772b0187385426fa0a8fd0f65f13d777d9ce49d52fa106c132803d84e13031318af2d46e6a73eea1f5d60c2741ac51c804eae5cef89c1183f4fb0039bd6243b1c983aa9ce1b70ae51925f75aa8eed6829768839047ab7e5e87933d6035e7a207cf7c6cbd6fbdb438876d3fa4d86f43efc5242ae14f45d77a453de95cd03348a12ddf11a4f7d19493fbd0850249476250b88f5e8c4e7db9ef6bf6a64b5ff03998ceb0c9704d2546c890321e72a9196fb34f9fd4f589b5c129ec31b905631c50304e805c4da3de9873556547f2babb4f91b319b94d0d8e60bc76b3e90327fec1c0219ffff03d16c7f57166f11b82ae124dfbe3b89376721e70626257ecf01871017acbabc2f03137014a08e4a284ff2e6f42c39a7d8b388bf5516a83c014f975b98ab4e31c65703ebd6ce8f50a748b846cc94ac22111f4d38825bebe6895c03b1c1b5eb8e2a4ad6038131f170b00713db6db27a93e1a1ef48267198ac97e1282dfbb6d892873d331403491afb5860ecf86ea5a0c705b846860d3b24469038bcc6aca600580a0404da8d03c2bea1cec2f3b1b96e7755c3af5b920f5085b22853338420ce97b9c0d1fd6f940326f14109faf3e02b01f6bda6a78c7a312c7e06415542dcf7dfe389fe77c4862f031fbb57a0686e59464627499c8c2d825c496757baa3471807e5b054323d9ba9b703e40ffac0f131f484950a75b55915462bfda9f31c30df8c7db808560a9a35506e03e9442c90e31bae47083614a3aa2a9e1d7c3d36955af3d50ece97ffb869d283f103ad22fc735156b78b6ca5534784de737a058e2c75971afbd296e4d557308cdd280308fc524c2e66b70de0e546203d179fae4271d08e991f53c5cfb646ffc4ff4d47030f1a6773b2ca9e94f4ee396427314fa9762d726291541c23655b48da62e0c64003e05ab81db6b4e572585bf2853d0ddf3aaccb60bdc29551f77c43b6a836eb493a035d81febfdc0b2f37442e38c10e240355dffa5a06d6de44c69d2a64a3169893ad03de5498ab4ea485deddb6f083c4ea2a14f71dd115d46356daabc394b9458fdb8503c2cd4c6c9846382d4126f8dd17cdd8f40746d976e412260654fa294d3378b3ff039c0156dc9050aaff9c9bd4a4fd4c444f36aa0d92905e580973cb510e4510a60d036ac4763b07a65bd1a7ca12cf0d703c05c508c3d83d129781f709519362f10032031ae479bebf0797adead9ce1164b8f2b95b0ec741dfa5ea4d9af82d3f4adb2940036c05a1687779b8d80851163e933899aa3ef7bdb2ad836c9998ba05b28908575500581f03a057dfff54743c19b594662493e7d3839650fdc029c4409cb0255d933930581c66f1dbeb000300000bf39bae4b039a39d935015c201c4bc042ba0dde0390c3a4eecf992e3c53d44652c4aa7186de1b075bce19e76827eeef945f5f52e10342807a13c478808075ee6f756fac48587ae7e58a8bab81d155533b0bcf1f4b0401410c00581f0359cdf3fc1ba9707e83713a5818c8eef260cf9d17593046dc755f89ba7f405820067066706775790365746800000000000000000000000000000000000000001800581f036c16fd230d449b3b84a9e8f9e72a55e4ac7dc1b1c8f801092947ac069dd0581c675bbf13000300000000000000000000000000000000000000000000021950590333dc9e68ac885a12f9e0579eef266bad4a05b474c6fe1ab8b4dbe04ba3db36d10328cb8ea7df2b84ee9d87fe01e18f218fb1d2dbbfb8ad43fbea69eb66955eb2ed03515c8ab5827c61b779c5afa33254bb74b953e0e17595609e8b9bee12a26d8e9a031e22e5c5aee9a766de7b3caf08dc24f20fdd980ba4cfc989e85f0b9278ea1b70031dd779494b55383c60fa14afc071faad5eab7cd0336fb77231273ff7ce28b5c50378fba15aebc8f3c4c2bd493db67869cbca87c2323b63a0cf103ea007237585510309661b7a83769f587c92082f4f38d670ab022cf38d677bb1065d97c7d464aee403e1f00efd273c2b5da3dc8f5a3f49eff298b3fa0b3081a042eb94462bc71caaca0219ffff03613bf5d577d978d066ffac1e6e9c2a83d08c91bbb5d6e0ca1fcf4e5d899360b303b6182f224f13fcb916ebb30867b16bfd588138a2182f64d8bceedfa9a3829c7a03dd6b89408cb3b7401892f72764042bc635089f1db4b303dffd542be9d3ec0c3403580fbed36f10be980d95624e98cd833e592d668eed4e829692eb6a8f69e949f80397cb93ba7401bf51db442d9f2dd8f6eb42052a448ed2e713e140ed7b85f53f8803476f05d69c3612aa6a696cd821e03489879772671d11b5fe31b53d54627408e003c516db1c0b8b2a08983d9488d2efa5748c7661bf0cc66bcebdd80ab598b3199d03a1ad804b66ebff1d49aaa3ba150930b3e78929b5e5f8b040502f05cbd138646303025d97115799ee9cd0daa8860a4eb94cf8fba0764d3d1141777b8db45bf747b60329bbb9a607d0932967150905895d7233558795851300747755036b9d368e8f19034cc64b0042246d537aab283ae5dc72a5c689fb63c5a268ab030f21ca810ed3c60219ffff033a156e70c7920e80ba5331ef1cd526c29342bf4c25431f1da00e705563a15cd0036dadeab6d4a326c96f1944f8210fcd9f29002c4faa9f22859698515397e7c6fb03cdb6821c7a8aa5c636d2af244454fe1decc6c77154a124e79e1dadfef515fa27034bad4877f16261122804d785499633bbdc4e530cd718af31626d717175d0cb600397349623c612a72b31f5dd18c5adc51149c17e51eb5ef495d9a63736b4bfc9bc033285b689ef39e1836a1a570600409bf3b9ab8a9de2b0d46e8dd1f905f6cc1c9103df30df1a4796b66b624b756fd36b7f88c129ade94244f2ecb53bd552aee838670394af3d0bd71a51633255d647fc52b7631e27046be9e3c38b1619d9c395f8fde30219ffff03a00120d9af2f4f3ec905944fd697e63517c4bc273767d68479322efae2ad47060323569b571a53db7910bd4529cd82e356934e9e6aa03912364d585df04c7bf86b03532359c200618630042770815d8607079ed3b4eac0921d0b171091ff9fa1864e0335d899e1de266b2a5c29709e261ff593c88bac303f47ac4f0e057adce909230a0340b326ab3bae1469a9b2c5bce0b57e9620ad915cd35a9469d89eecca152cddb403b46e64803379a11a04730a5ca2cfd0eff5c06af61d617ca7a3aec9ef7f27ef8c03edb322a363f9c51406290a4f7fde29edb5d963b024a803f3d4d819814dc8a42003eff597fa1efb4a78cbb168ab2b1a972dfd9d8222a42e4bbd6f86217ebde5e9b003b12f22ac1bfac5dc057d9e85126035aff666c4a1664c5266214e012f42c9faae03ccea422d8d65e9e63e42664414e1ca4d89f6f00cf1d158531f3f05c5be4ac91d03184bedcd19eb39475d6d75c06fc8985fa5af803eea9162ec7576ad0810ba09a40375c4f1b6fe4b52e190bccb26767c00dbcb958a111977f3c99de9283c69073c44036d0707f9e9e49e857f826e14f8b2289aebe14f217b743f4da43f2f26b6bb05d4039f404463d8864d963e5dbc6bfe28930b81b5541c49b875d55e5d73e43482fcb4034e3212a0f588a84d7d01961026f523ac355a04c165a919d3ee297eced92fd0bc03457c0022dc96a38aee7bc5ff912d01ce079d67e0bb98045092cb7365c1068afb0384e07575a5e9b5f07bb8b2e6c6fd0ba62cde50599aad2159bc6aeca5d6c0021f034120cd36a57f411e9faa40a1d47f4c59d2bb448cf16ff58f2e00ba8299e4bcd003b85db0d1ea9690eb6e0cd7ec26db7803d27af2e6a2459755c4da4fc55e00301303cefd3e7bd6937405b753af53287c44ab34c6e5ee2c9c13548399bc16a6f8d5a4031e8c5432e0f0b4fa841b3b22ef7932f75fa36ec7e18ce74df1a79f19c18829490360f465ad4a9fc0aac51377a01a1fcba1ebc5de10883f12ec6338f9c1c87ade5303f3775e42c1b60acb33e11e487005838664baccee75ead4c65b44c29ea1787e06032211306b3deb7a64090c900b29b91253b35c4954d946fb75311c030156abea3003e763e74740cd77779585febfdccccf889ae056ffed0bd162fe1480c89413ad240312bbc06aa9cf8b6291e48921147c0ae8e6e54228248e783f929e4bb8025ef4430357cdd650b1d1c35850f6c794190338ea55d0f02ac688f3b45a67d8648fd139e403221dad85e22c49aadfbdf66c42380090a388d025ec160e527aec539c0e93f81e00581f03985318d08af63b237c0283be799145a78567eefcf5cdd19f6d67ce758030581c6732e5eb00030000cbd176866639ed4bbe3abcd7793749039fc66add00581f03b8ab78be65bb158bb49a335098a3ce615793fbe962ff49a3f0be00c4cf5058200a7261696e616e6473756e03657468000000000000000000000000000000002000581f03f7520c3f6a2008a984e29da4dafbb79340a5d622358fa88427120a715260581c6c3e152700030000a38f6cda1755c65a94ede3e04a58889fcadffbe800581f0323eaef684ff3c61c6fac5862e60653a06d8cf9328af8a8be76205fbcb110581c690ab08300030000b8c593da71089e30f4d27bd7d60155d39566ae1b00581f031817826bd5cc47334d2d4797c5376428dd3d17322c8051ae259b3c7192b058201462697468756d626b6f7265616f6666696369616c036574680000000000003403b9340de252cfaa0c5865d86be1ba8b168064916f6aebf88492dc1e1b64fd001b02195878037f3d738ceb0ac5601f53c2d4e1cefe17ae75601d1e61036afe7e78f7ebb2c18e0394cf8c8fe5a6b647440f608d8b9c3f63549e31602e15bc99829f8ece9e26b58803b42497f3c2f6dff8d59ab8a4671efe13d2ad36763a24434bf8e3c47016a7a245036c4245f121907d84508d827056ccf3593b0e4c99beb0b2da50caabfcf0ac417d03cfa3bf4981716efc71de2d64ae830cb9d1586d715cbe0ae5f0f0c2706aba972d03a227c028d1f58030039aa16c96fb8824f757c83c06fa769be16ffbaa990df0cc0327f5398e5abf34639ec9bbac4d14c8329addbed1c5bdfbd8a6e9420d1411b0bf03963bc4bf5da3cec2cb5ff084f9b99fec813eff24a07c0b1cbec80c563f6acb83032f0e192e267d5b5ee5359906dbf4941bd15fbb1533ec138011b3e65e01046f60035231abd4dedcd0d0067789b9859de23db70f37f37fa633f0002a5dd3b7dd82c6030504093ff7c8f2815fa086d9656c281ad5ead895c26c8e1cdb20800e89184c230398d5470e78e034777b36ad0801437cf93519d7ae554eedac50c7a59e32c82e4d03b4120682d2be1e7c95d03c6692bf3ff1410acbda4b38c6ccd553b2d6d0b125fd03d7a503fda4dd6576943a985c55718ffeacd110f16ba66525c6f3e6afc4eef0d30219ffff033c59e9169c06291c164157325bafe3797f17dfe562f295ca6bc6db3d422143a003946f8dad4a98dc1e4fa1f0af4fa4877bb5848a8fc307683c92ca3200b388bbbb03ac3a713be03bf40f1a9d35acdfc37f7845098099cb6689ad08f258a50e5e2989038e794824bc9072ec832cc723b77d020a173c6e76a96f5263b8690e3049bc33fa0219ffff03ec24e10bcda1f864509e2679c6930dd609795d89f12e2132b36a6fb3edea9a8f031e18506bfe5eb423046b33daf5bd51ec33b7428df53c9dbf83f50ff005ca13ef035fabc241ba65e6d0999c93da901fdf553ac65a0d15fcac34d4fb92164b3822ad0385882e9cf2d4214cc440ec711c7e2da6531352874164f4df8d64d2c9b27bda95038edbf70d7ec7221b9d797ec2b25a664d087d0d11381e9aa112189390d0c9747c0219ffff03152c8fe776b8ee1857296112279af0cfa937541c6d9d53d97357de0701021dd50399c8c3589a070fc20c417e3c415833bffb77e00b4b568071d0e4020f48e46ea1039ac792575fd07e6e4a67c7ccc28806999bd690a6547fea7edbde732b66b23d990398c9b60ab438ba2e695d9fe0ae7ac00be092ecb1e7ea901af4f881a3dd766b0f0389b8eeef3104d8938091f74f6f52b32bcba02664a0f2eb8300ce46b04c9db6d603a87ded54e74215f54476049fe7411256b3efa91da822b3578abdb78359bb21400219ffff05581d02a973b963e20c4d7fb47e016eccdeeb34a0c2779dffae8cc5e86a14000701195f450219d0040358e3bfc84b22a0d08eec6afd7f2726c3729df93cfc1626cdfcaf0d5087997b2802199ce403d442f1c5017713205713bc0a073df478a384de2ec10f26e5764dccb1dec456b003a15f8afe0fb54ad1893903997a077b6195c70dab90df116b6ab427fcbe163e350359308534fe955023156fb009da755696137e76cb3d7b65dd5cc7be4ce67835ed0219ffff034f29da7924d985744521535113570e1ef5db5850103833cc9d4c861b0765e57d03a54726da63d367facc2834be41e918e12155cfcc502e6659933f88f547ac1a2703c64fa02827791c08fd1ae8530a3da23c3d687c0ea0a38c1aeef4f3a774ef89db0307b19391656d3e761bcb0b3b8a567d864c138455c511f5a8bf78c4febb033be60393d62ae49c47cb6d3fea53d0d5d2dce31c15a9514ae2cc981e2274f92d98a836032c620d307b88d717a8df740098f4150eeb5fee3014220a337a88c135f331203d035436a8441d87754d6ffbf1092d1192c01a264a99ce1e9ed0c5f8bfaff070bd830303ae57062a15475d044a2e8a0e5edb3ed2469f06ba0d9978bb0848f52436848e03c8d1435c7d9250a11f122ab475f60413ade1769e253ed806761fb1547fbb339403c404f8a6b2c7651641cba1af361d4465fdbce22898a4ce89168d07b79cd91a16030f0786e6196b5926e25a34a46910ff573d26e6df4e4063f47f5caba2738e15e403ee2c7c79c944203d1cbbd7a73c7a402767df08c0b64480fbea7ae5763c220389038c7427155d9cc30b0b220f39558c43395623fdb22e1461c0cd319045db71799a034484c53a4cff39c96198aaee8331346c616a4b1737069909cf4bc05d3a6362cc032b33c162196911a052e74b216eea3f0e738d559ba3a415f4f9efb4ba728952c503878634e058d5624ee2e7488a974ee5222b92adf9277a1d5560760112224cd31c03221ce591647203c86178dcf28217c578dd0e8751f199b44b6bd9d7e1eb6aef5e03abcbaa17da91d9bceb7bf5aa3fe5786db171018303addade3fad8ee9a9e67a5c03ece2ffb42ba5eea67a7dd468825f124092ec1d1902ffbf74abd3372b44d61e2d05581e035b7abfa16d743041ead5661d7b7f2397a941a272cb732f38c189431c20041901b705581e03ac97923e4f88d6b688f8d707242282fffde5c018bc8929ab165d7198700c01470bae4afcc9b59405581e0343dd6db3ae6f189e17fc5bc43634b9713ed42b9ba6a4090099152fb0d00c074694ac9f64fb2803d12f558dfdf1edf3c12fa5a392ae9cde046f727d1cfbd3801462b785452e326c05581e0384a9808d27e2666955fce83dd1ef34bca6f36d0aa0ac44398b8e45d210040103afa15f5453f866cd7643dda7fb9749893757720c68c104839f8ba325cf8a0afc0370ad4b67983a7155fe3bebdb663903770c4e05bd23671cb1fe7bab63ceba31f6038cbdbb5211ce4aa63cddd1860bb28c0c184b10e2ccc7c47f1cff10164577c25805581e03cc9fdb7ac5158bbe3322c2b92eafdf1817e991f2b055fe004f212db4f007011bffffffffffffffff0219cd18037028074ae2a2001cc9a959fcafdf461655d18b28f87529a4b2930a8d422f279903eb9fc3f757164bd773805ae9ad21e4e2db411067de8e87a4013f1b4b137fa2180302333d5c33a41edf630edbd055cc64e4d70c6f19445f087c7ab2e0ef472d38d6030d0ad63e951ecb4e5fa370b0423e462961382e44d4cebfccd312dcf5f48540d3036f194319172ca025f4f6931c9158cdf293cf271e612262236f03c7d9b4d13819036e494b5dafc08e8c82e7d7330cac7c45d7481b3f3f36f98f237e30b09635e2ee0219ffff0219ffff03c9ba86afa9573471366c029684583866eb0b13af90b691407c80626ed3cf6a2b0386d9d2f116504fa71df119639b6180aa0eb77a99d0acc1a90902afee5016cdc60359ede72d11d9f170959e34c8e347828e317b4b37c24a35768d6fd0b0f5b56e810310a2b1f613324308481626318cc3884bc964945ec127e7d7f0f5a6a5d8b68b4f03b8674da18b3f8e94e2c166c1bcadad9f4ee8778c4beb54f2111914d0de6ceedc037ff971bb21eca750646f31ddb19482f103a1c6ac1cbd66179f4aca9e2755814c03407c922acd834a5edd8067ab5be7bba6d66cb06c948a715b7ab2f0ff8af51d9303157f2b639dd81362ed202e62095c362945c0ccec7ad3b4d1272ca2018e7463e10219ffff0219ffff030e9620f88f5870c71b6cb4137bd4c4ed3b2178b6f1284412eb204af0c53df711034a119717d625d937eb36126ed994317b12e5654743d3cd9bc625bed42746a00903d36075fd5b19fb14e21c8b69ed6c3fa4762296b09922a3753cacb88927427bb903aa1b31442c6e0cf653c757b038fa1481d066fb74c6c334c6042e545ba8a66d4103d28253e4a92fe47d8f264903004e020bc26e88571a2fd162b032079305906b34034d0b0a4976ddccff54a1e2cf004ff18cb9790aac4ea25dbb1e25a2a2b662b6d80368f5763735e78a5154869e0615c8eb5a8b0d7f6f983fc252c0c694bb9b62e178030fc10d1f6441b7d45b918136242879de33b8c417daf21199cce0af4baad8cae40341fac1a83f226b7c9b0f3a59b5bbccfc2d1d4c030581edbd8c7ffe00511d5409038e4da7c978bbe07e638bbb52b245e465fc362af5bced9a0e46ab178cc4d935a103c9452424a6540b42b6317f52e29d22ba1fe10f9cbe2da3f8c30a753bbc93673d03f1f4819c1c06c593b45d2efcecf270e65479acf544856b92c92f7402d35005ef03b19b7d9e110c8aaf18880a9cf86fdcf85f13173ec0f273a5d914534e8eb9039c0357ca22672c4895a7af9cf1c54a66df7973ba5a9cb1f2c457a693ab5aa6495c3603bb9364ce3dd46b27ab5e8c6f38198115cbbebc61043d3042cd9ffdc313e1c05003b09d2ddd3e9f00b2c8627263bb4d447caa126d53e0cc1c663f74ada47cc0cc22036740649b65d38fd4f8ac1f97e9b66cea7d217f1d77b8b0fa208cd0ed4b4f8c6305581e03e756414ebc638f230ece3a957b0068d0575507f6c232093bc98e2e99300c014216e803f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03f1fd5e185b5cdc3719316bb68ccac071d1e1f657cf0fb048020e27924007011bffffffffffffffff036f4282fdb61ab0ccab13b2088c8f7512d154aa00a18ed23f39c627482a062e7b05581e03713bcdb50bf9616ae2cd40ffd94a8d017193790aed83b7abe9a1f9e8600c034802a0637e17159dc905581e03c5475b412e33b979d9c87c97bc10462af521a038c1a6d8cb7a675f1f10040103a72c595c5ead00a5d9328b3b3e78860c5192023696718f1ea425b5a664f0ce3003257d870e7659acc78dd38aa5378e64d5e65d65391afa960ac540fc8559aeefd103919aa3f90d2d4e511445ef59b6a8e5b1dbb2ea1274549ee5d38f1b2e54783401014106035f3f89d0adc4d4667d2bffa137e7ab23e486ce52e133c59dd698f6ff5ca80e2503dd57ca1237d0565763c2202d14e0b1a49aacfb028c2aceb3d4ec84ccaf8cacf105581e03e478d735f0ab109fe4995437d42121e119970cc8b78f042f08a688c80007011bffffffffffffffff0219f39103753941b1454e2992482621ebd0a4ca20277b6dd80307711df5386f26e012214b03d71d4c03f125a9b20478fe384d376cd80b118d1bfd186c6e77ccd396b5f7c158037f597ae300673153755f2f1d1ea2ea957c828b68b825945ae5833ac2484823fc03faeb367192a0e68417d2a39490db0211d80f7b1caf7fa78dd0026c28a145b018035035e880b6a11b6c932e16c8c12049c269adfdd276cbdda1b5f1514e5aeae97a035801c793343046574b5eb50ffffb1eeb70cb37aa3b0eeb78eecc893709fc15b50379cb576644c21ac2183fcbd51bac0dfd5edfe5a3db859aa5803eb7969c19c19b0219ffff03e47186a4bcd8113b3227f0c619badc8f39329ebdd0697748cb7d7ae8352f79000332ca00efe9f445483527b171412c7e4f4f36af4d538ca4b93ef5160b6c49ecd90326ce99f60b2031b3753d82c62cc33a7a5868e9be2814de802fbf35848667dbb403f5c9da4dc4bd52eab97a9ccf0e7d49287b0bc5646c7c479facd694a17e6e971103cab9cf661526c2f2ee7a54709fc9e3035b46c646dfb56888a81fae59f5817bb503a375b2893136bb921ceca724ecfd503b75e40d5a7e7dafc6d6a486a8fc6ec4a003c4dcdc0ce583d45aaa0a2f9d5bfb88f304038f52b3a935a9eea2a762bd8dc7c203b0a7648fe6fd1eb0d8a867c8fb281f47eba51acf35de174ab11d9091b45603cd0309e56c7384f5242e2859da1778e711dac6848487571a9a89ddfbce63243499a203449941d8d88d253ae85f374dd452fec9f618f1a3b92a00a3649c34c8d90239b503a16b73d35dca7bb44e624f27282ea7a015f9428d41051bc97aec41902bb0ef95032863d8d193a63808b9a2f2e8990571d17836d2f6b74fbf3d6939d50c3fc8f08b034900b385835a63e45cfadd09c7edeaf2c2b393899838caa4a3cb0f9befdfdcdb03ebd80a8d27433a9701d4d1e2fa62a94ed90db8b262609517ed0c9e5bb836f5a50219ffff03b7570f6442e7a0b8c85ffe3337cbfcd47d0a7addd35f8dd06d196bff8f7dc90c034fa416949e76a1764d20976e424603d6b95030811ec43a98b10ab72d2d1b5eec0369d30b10988b966b27d2c1ba57b872769682542f765e84dcecc5a0ef2c4fe47b036a7f328c9155fd310da9e73456ce080b38dee596fbe6fddb0983d9e1a542a00a03564547ff72183f05bc06669250e3b0250453747da058f978d718f5491759f6680388a5da55b6b46bda5b155e12b182d6471db24225a45d1a04e7d430ff06c17b3b036ec62f8aed7a04e072bc801b3cfac3875e6e6ddac5c1e9a803da36a9f118e21803256e8c503377100f8ab7f764218f2e7bf572747258bfdb6e88bacc86888e6c0303c07090e0185644394fa6867d612fa4f262e9a56e61d5cd85abed364daa0d23a1030fde836d0244660c16fd280cfdb2c6fb63615903ff00ef185c0aa6367b1faf25031f1a00a6bbdaa31bf617003a8b3027e740843b22eafb3d94d4b34348bd93856203b04c14e2c7416874d6a4f70f870542232a08e617b57d1661d994d0f92b37757f0219ffff03b44cdccd3f8f7ff0d10c4db4a5eb13cd333b0d1f534ad14e283d235946facbfd03e7eb002f6073b4c6aef56070ed3b8ae930bd27738da14ed7703c89498c7a6ab203fc4977d5b15aaf9382c8526ce25ebc5155d6658a5e5628bedb4ad5fe92c0fc5003d1997016f911931a8e15ad4d3d12a041de62aa132bda621b3dc690187a31f0650396bb6d372cf463748b439896c44c1a8c9311000b0cea2aa1ff6ca123ca46db2a030150bce3c42dccbc5cecbbc6872b8730e5d7a80cae66f118bc641f5a04fe6b9703407ef013b371a3b15dd9a01cb65c72c86ff6044d376da973f6a0e44eda283574039f339df78ccb99f36044b9ba1935d335f8c3537bcbb87dd4a72e4b44f5c3a94f0378b32f4df6c3121e551e3e5ac7d1dab0f31d8c12a147c7b191346e27d896b65203cc1ce6ad2e0243353fb367d69504dac702360cc5e463a5c94c5335a9a421cb2803ea2b0ec145cdec2f132edc8c7b3a23a4a7e93b62f185c17b2fbd8de3ac4c5e8a034d2a82d8fd7cbbc2c3afa356ae0b6cc3a5f50057891d9ad2a9b2f1aa6425dfdc039883b64375546bb5586ef0c12fbfd0f05a307f60eeb24bdc5a6358b718bfd29703d8f36a981cf1197c25274c01c32e3e97a274c64b35fb56da478e7197352ec02003bf07edf951dbff51fca1f1aed068fff778430dcc52d8a1d45fa1622dda16306503ef2b5f4068381bf5c3a6479715323578ebf03ce760a75a4ea12a732658d92dcb03d0234653ea702b1ae4d8a6c0729e113ebd2bdd2cad2c0b37da1ae8057fc9bfa5037223610752c18dc3c68af8518077f7fd8ca5ef7dc7f8855b49297a15fcadd6ac035c3c79f4563a2f93b48b850be1c12b58efa284d93950cbeca19374de877d51ed03c69ec115c15c2ebcbe1763f933affd4e078131b4c95e6211d39f27fa30e84c44032ae756738c245486a45784666b9a748077e24fb3df91ea9be24ba7ffbb9e216c03092ec76b25d600d33cfe5b54edb0b1a888c45e89f96c6a110ee55f8326cfd8e90390daaf52ed6ce30ad4c0c37985d0a48ee26b0c53f23a53c002ca1159e567ce9f03d4903aeb8ff3c2ff2aef203d9b8401e11933a0268d9965a8832d1a324a4f984303e8bea50fe99da10a267078d6a8226f101fde7f0a317189f567aefa244e3519ac034c6a8490ee0ad62c7b891b4568dd7354ceb0e4951b96dc8fec17fe9e260cb79903bcb3fc4c3a08596153c8d76b3d8735799fb43736a1fb620aacd4ece1360e845f0349f2eb57c457983184dc09ae4089a52bbbdb28e6485bc8ddf5aed8d7355dd5c003c87ad4535f90940c20b0adc9222e88a050c9382edafe41723c11c71b26257423036ade366c9c1f143f4b9c4db9cb5714db2a9baf2be9a7dff985a7ed65f63297fe035466b06319b26aeb6d2ed0d02941100c20f498c86b2fde467807432a2e679882035f53f7b09d607174bea3e824d46e22067b4c54a78e49c9d08d2dd3f160b5265303c947f697931148e6e5d2f91a8df9be4869a5d030d21dab4f2fd90152188f422e03a619aff4be8e23cf1e750629952533e93a9425067219504e4c22de658b80e10803cd68aeab114abff9d1c27d82ecb88623ec3f427fff872941ec947ede9cbb1322031106b6ba82acc599fe591256ecd0648f344c43caa36698da518890b3052121a603f12edb98f6e05c482d0973efe5162e8dbea26cad3a316b8380ad4d9b400d56cd0361cc26a3add1688b16bf0e9a0f099ffbd8573c139aa4dff869db0be5d4e46de7036d0297f9d4fc8cd4107a161633f5e1d60cfbd45d5e1e5954693e01572cf5462b03aa9b30532fc17da51ba7c884de34488ce1c470f78ec6b1713627f8e83bb1ebaf0370ad4b67983a7155fe3bebdb663903770c4e05bd23671cb1fe7bab63ceba31f6038cbdbb5211ce4aa63cddd1860bb28c0c184b10e2ccc7c47f1cff10164577c25805581e039f54770e3a8780fb5b654c66cb2d37926becfcd50d5b052aff06108af007011bffffffffffffffff05581e03e6485f580f6f54670120f086319e669e73043f51933532df4e63253e200c04469d1c5fe7581005581d022e904900c911d89cbc7c5447fe7f89ee16241dfc90338c19c87d710b0c054728327e4697120005581d0254a938fd9ffdf66a97b8cca384fb6c27672ce896b27aedb5ac20557b0418910219010105581e031f78f8b3ff8738158a8658c762bc9f182c5f49fb2ceabffa7f166840d00c0246fc36440aec0003e49fc56060aee39d0280db8d105b865dc0af7d2f9441d1ee3943b7317752f35503a371a85dc46b0f5cdae851a1aaec0786f34122f3738ccc804d41d2256c6c4eb40375b7b55d43ef8bcd5f23d403dcd8bf180248761cda0c6c492e960ef719e03cc005581e0372534dc18fd102df4c336055545d9acf16c6dfc5db4123741db775c0700c0245012a05f20005581e0315b2a05ffd57165254a67cdb055b3495287b65a2c01f069139f425db500c024744558414e56aa005581e038fd72951ae5e915e0f8866a1361fb44f6be7709f05a915e0bf9748c540040102199dbc03c59faf004969b107ed3d2a5ec18ede9b4889733a80ead17f3c3ac04387da9c3903a65290c34b7bb29354991bd7dbfada2b3b23d91cec42eef544638e9fff97811603724e04b96909d07b79ca6dc594147db2fd021a560ceec1063fdc0e07a933906f0219ffff03904293fefef54de5e03f2dffb025041b0aa41e0c6bc7f8b1970ac9873211b1fe032a6186e2ab3db12ac23209f564b38e153c3b61efb2a8dccc5d187dc5e0e63972039a2345161b016b08d28222e19e6308bcb516b3e00115f97794e75468b13482b80336d05d7a40b0fcbbdf11ed4cbdf880acbc2d62a84d9890ebaf26d6c1f5b9c46103f35c9b307070becbdead1a7a78182317ed6b827ca4ea6108d6be4b324ddfa9240219ffff031a9039e8d09929992767dad65547bd8deb2b0ef678d09db8d4668b5547cea92f0389d588a140efdb09472563f0961f80dc85c707666ab409f05830000ee2d0a71503de3b57ce2c2570771a131b8575eb3001bf2a0f079a4729d3861ef3c3c1c883490219ffff0317dac5387e225466310c99ddadd4a393cdc55e595fec2011d4ff04e57a1bc07e0349d9407da2192913a6755d253f45ea148f7be881264307bc49eeeb29b0984f2e035a23fcd47ea6b955f75df0966702e14f2d29e22d2ac1e0dee3fa0abe450a469903ee7c4e38b6f8c529ee459e863bec92893f03892c2014075175ff398c6ed1568003cb89f97665df97218468970426374d489ed9974d444c35ee226f37a177866cd603b11b62c99a53ee73b0c9f6b5e7e17602576f5b17655cbac1de817366285af3fc03d9649ae5f12ea4391fc5bec0323b827e1f5a69dad4c22cd816b930c1880402500301cbeeec6beb5e9b04ac8c239b99307ef5b820158c259ad8d528d5883556cfee0328ff7e6f417917c862d0476f1f2c1fe0f1fb0b98e1b9b63947f2d8f0c98f4d9a03d58c3b22c878bb5589488b1470c2ee8ccbeeeb657c672057ba7a05a8d59118c5033f2ad03a5c96cea066de2a056f6ff6e3a95f0d9f1c55ad04cac2b5fc1e5e497803baa3f75823ebdc832000f77d790255c49c735ad5391a29c24ab562b27ea287fe0335452234aef5db8b4dfff642c75b50f1f0f0ce7cf7fae3f17fad2a3653a8d4a903f9e190d7711255e8358cac91ce77ac49cf7f82a0dfc64efc5c7aeb4fefc04d4c03cf83ad71258390b1356bf7c5c1f78d1cdf983f549119f8cd45c05e6752ac83eb0373ef1eb758d31eb875c633b2878806213613e254937a08a39e67c057f872e96803d895f9f7b91f68f655ddb843bcea310e07b23513aedfb5e12e484137a572733203279aef02557a3341953e9fd574abcf0f64913fdf51afb71e00333464baa8125f03482a742879744d02536142ab5214d437ca453947f71ae93e0b9348d13eda3dc803cab12013e72ed8123586b6b852b44e6921f736fdd9d19ed7e405af9e1925a76103050abb88ea57879afca25cc4aba2c869c92d857be98b165c6a147a2694d81086032bca9383cd25827cdf08e079255d9bb16fa4896673fc660cfe12f1ff8fdbd28503a4e122c7b18157d110f71ddadc3a3766c9084d7e06bff21b33188617d504ef2e031a1aa37378e0f4d5bce58694287f0c4f5f3c5737a84f02cbca52541b9fc2852b03b666067725e95bb38203485325be2c7f779aa7a0fb37dc2995c8499ceddda28c05581e032898d52bd0ea507616f0bbfd1e667d49caaff82832659540312e1562900c19050948024e36903edbf13f05581e0368667114e39ed32ff5ef248209d7f064d6d31e59f11dd92c64a9e84c80040105581e039cf592250a95bfc442b313228acbddcbad5c686ab51f5f4536577a5390040103eae498370ef512ba82034ffc233472f1929ddcf27c6d740c8bda70b56698da2004590a7160806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b6100903660046108dd565b610135565b61006b6100a33660046108f8565b610196565b3480156100b457600080fd5b506100bd610221565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b6101013660046108dd565b610276565b34801561011257600080fd5b506100bd6102ba565b610123610331565b61013361012e61041f565b610429565b565b61013d61044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b8160405180602001604052806000815250600061048d565b50565b61018b61011b565b61019e61044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610219576102148383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061048d915050565b505050565b61021461011b565b600061022b61044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b5761026661041f565b905090565b61027361011b565b90565b61027e61044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816104b8565b60006102c461044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b5761026661044d565b60606103248383604051806060016040528060278152602001610a1560279139610519565b9392505050565b3b151590565b61033961044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b600061026661062b565b3660008037600080366000845af43d6000803e808015610448573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b61049683610653565b6000825111806104a35750805b15610214576104b283836102ff565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e161044d565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161018b816106a0565b6060833b6105a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610416565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516105d191906109a7565b600060405180830381855af49150503d806000811461060c576040519150601f19603f3d011682016040523d82523d6000602084013e610611565b606091505b50915091506106218282866107ac565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610471565b61065c816107ff565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff8116610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610416565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b606083156107bb575081610324565b8251156107cb5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041691906109c3565b803b61088d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610416565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610766565b803573ffffffffffffffffffffffffffffffffffffffff811681146108d857600080fd5b919050565b6000602082840312156108ef57600080fd5b610324826108b4565b60008060006040848603121561090d57600080fd5b610916846108b4565b9250602084013567ffffffffffffffff8082111561093357600080fd5b818601915086601f83011261094757600080fd5b81358181111561095657600080fd5b87602082850101111561096857600080fd5b6020830194508093505050509250925092565b60005b8381101561099657818101518382015260200161097e565b838111156104b25750506000910152565b600082516109b981846020870161097b565b9190910192915050565b60208152600082518060208401526109e281604085016020870161097b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204c50d128da52a5963ec86ec55a713aa13e61706f3de5972dea4cf08b02c7988864736f6c6343000809003303a84794207246a296842a5f3be538d1274cc661feecd4532be9d3fd0affb0442b034f85ff741e50e39dfddc59e1f7063163608ae166b8c27acd28ca6fc345d0bf8203766170efd91f7b2e0d9fc7b6269f6457830805de9c4bf56a8fe4d8d2cddb75ab03d3d055917ce3540d1491475208a8a484b29b89059fa6cbb3f0b7964f4d16ce9f03940d00a13f3b0589a170f66a774790fc3fa8401c71087ef707d21559e7ebd05c031cf1e1d50a1b05ac7d94b8845583f62db04155097a7fec759873f75e03af7bb603e8319c21744ff155cdc377320ad3bed575e52613307128c9b7062b9dd3d2dc830058200361054668a86d6e1e459b02936dbfa312509744e6c1a06fa7460502b25282a0541a847b0d11120b8510edcd3c81c4e4249460330a00582003f6839759d77d125b0eb8340371429b94c3577188e38c00224e35f0b4a39760410100582003a158ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be4054e9f191c09679a745a1d7a7f20658681b18d9a31a0219208803421f75d14ec37dc722b3d099bdc10a01a77786d89f283d8c3bb0eb6010ba80d8037ee4737dc259f89498cb3e980c0013721cc771079451a2e01d34a9aacca2c8c301410e0363fe2c3d8d83a6128ef2563c210bde1fc680d8841a1d04ede39baf3bd6cf87c8005820025dd2daece7a16d08baad5f1706d001d881ce40af87cdce4f339b64427c32c754306b68c7954de1c14f5e6a1981e98e31aa98aec70058200297276ce5f27e836d9d177f2e6ea6dd6d409e7428e8ab42bd0c6c8f9a9d1f6c410203e205283375c61add2da59653e9ab4876bd9c834af1b5008959249cc9ae8400350386a19f762b029beb9364efe66c6f581ab94694f01850ecc360a64e134ae99f6903273bab8ef4be2039221d72b4cf17cb043b4b649a5337ed7488b9c1d53a64c3290219df9b00582002155a3394fece8262dd79d0f8c278ac1199849d6434614069b7bdc26b048287410203fffd6080d3f86294af85217f53d4cb5849339ae1df229ea0a069ceac46838eaf00582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154291baf88f60e8f83de7568ae56280a3e29ac725e03b98a23cd846f684b16c5650bc73cae6d3c1018eeaf72c30bf88d8408522f32e40350be0ebd49ea5ec9d3fe07671276f4c587fca85e6e21d0abedc1ec41523b91990350bef7f9b0a5b43365e24c8ee536af7699813b586272e067777a113d5cd69dd1005820024c3e275750b4ba708a6deaf736d3351ea8ec1db3ee68c2349a5f09e59c9e99548686301a430112d76fef8331821aef42c8c4868603a238a44c52cdaab87b4fef042d6574165c854871da511d572f58fe8f8145f9c80307cca763c57ff760b7c8745ee4f8f31076d66c6069b9df8b1e73e6da4168506e03bdb899dbf614a90aa830d6cf270ecde33b6c14b24a60956989e782b0ee220a870362937e516d487c976a904aab5bc121932bcbe7f697e6e174ddc51b5ea38d38e1031a40b1de2fb71c7030902ad14e72104f219b9501d8c39fcd4693e883dfddc230005820028774299ef1e6323a45de9c8e154f3ea36a995c3af6b54fd8868663e83e9fab4101031394a17d611ec8ea9c4c185c248db068a4953ba02790d39316e85f285c1ebd640219ffe70314d49ee76f5959d6cbf2477b5d6820b7450867231fbd845e81c35a30f603a291005820020b574fde12ae2c7e264d7bab4adc741d3c615b92de84e53212ede2049fa1e354306b68c7954de1c14f5e6a1981e98e31aa98aec700582002a152ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d0054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002dfdcd9a661c792cf5476fdd96d1c30605d113ca9b6fe893856edec667cd98254306b68c7954de1c14f5e6a1981e98e31aa98aec700582002e6a12d71ace725ba74c9b978dfa4ec81882a3db3d39393ff5aabbf09d10a0c41020058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054ec3c808e408026a346f2752c990854aca61ad838005820030745b6faa2c2386a4dd475d5a16d9de77242135b9683396f936332669ff6d0410200582003dfd3ae897c2ccc73ee7f61d2a8d15aa47c02655b668556c3e6967c96144d5041010219a80003d8fe9f91eff63113ff7a8a058ad38f8cd0e454263016917e142d4896f7747c3603117db054f7e18be04c33f3e3ebb94186218546e723db0d1506db6cbfc1ed34a60338a91bed640e56affdbef8d29839cf6f10ea37041290d1bd5336943510297aa803741fc2ec739d3e39b02c13210c7fc38b2b9daee727f28222645bd69fc9077bcc033c9b67cc27624bee9eb14e2b0b4fa371ea9969d0afbe54b2b714c86cd6c5abcf00582002fdb59068d6d030e5dee46ff7e1b8bd8c2dd1b8e9ac65517d9b526f18a4b3e841020319253f897649970cebb0f0a0bd6b1129e10a6dfacbaed44e37558377f8319cb1032d6a5116fc186812f75786592f34d25472378746fdcf44c85ac356698c2bf59c0219f3fe03b0eb947302770e8e86992104e5d7a368f7e70afc74535e5f479b7673f54be05d039d9ed50b3a948d4d050886888543ef0988f45526ca761a59800b1c02c464f01403f332894452ace2d5f891adc1c12d21b563f4beaf769a8d566e932a6d498c622b0335965ae2d2970d224f0fcc2466c65bd66fb0913e53f4d6d5068f5915bd9dee9703ea11130fbfb02c9d99c231e9e5b45d04aa1d3ac4849f0eeeccf621ee1c78456f0304e651ec4400df28a588b00c2653aa072ca50f650248df943ebfa23a2d65f5c103a2fb514e16413f60973600152c619db439d986dbdd9cd4c4891ddea1bbe3c828034fe49ca58d68cf1682c1a6a984930a3831cb26703e4511eb94463d216b8c6cb00219ffff05581d02580e0877276e7c9e46ac549a131ce39e460c86869c4fa05c4a1398290f01462d1eba6d6400190a7105581d027f878050c0973de169f3544c7b89e918d163f28df9096d50eb8591750c014747d7e6c99795080219011003c8262d7fdfc4d39546738b32302bd5a39f116a4e12e53d158ddb77ffbf58749d03601d78fb54fa502038f2fe35b12fd0310683b0a86c4ae1fe6d3e18b1739fd10a05581e039a5dab1dcabee2d95d25974f2dff0c224ed5289130e5b2cc60ff57fde00401021911eb03d513ad2175dc3a7a7b8640d362a47f09a05d287136cd79963c1a78e83ed128bb03b42e05a36433833520e97bb79ec50d4fd1749e3d3c3edddf94e34f8602c8823e0219ffff033701771fc22ecf45dccc753c740d7851746989a7a35d09f6b907b1f1525299c8030fa878675a9648e0d9b16255a6726a15fcb190a9d44edf15d6fbb618248e9086038420c4f714aab631aff977b3402d8c1a9b94053484079a213a4977f234ae3bd703b047a2318bba6117b2f7e2bb0a6fbff77fb7b7ec0e96eaca8124f458ae1e67f503544b09b44558c66d4a67ca0b23641ff6fb73f6a7b1c4530fc61f233226906cc30219ffff03d1a2d6bfb8152e50562956f2f504fb64062ab80445f9d1e0fa69f041bf88a984037d05d5105ea6aebc7f9fcd7ad8b46fecea6ab444d259a4774ee0581bd25ca03803a3b0932e465474734d2be8532544749eaac785804949e253f3a32a3389c97f1c03d24538883d34f26cfc3c58b9d0f3fe9f0445de9a389cbe7d05a7ba398eb452e903c8bc2363c44e6b542b7455adeae82f7aa5ca6fb405a7ef3e66f01cd19fd2f057030e2d5acb3461805ebf3e6c18fc018b605c48cd835986eaedb88ec4205480b4b803aae5813f4283e017800b8807bfb9c7ec7fde68bd873ed4520c113ac0c3ff7a5c034ac043c7001149f93f41e5ee85f23f1bdcd2d6da7824cb810ff049d6f19d43ac03437f75fd67740ac4ea24c76095e4b45c0b6e6f2a7aefcf83b02387b04e42f9bd0338a8e75f640215501f886db20bae33dfa88b785f0b1a3a709b7b4d2a222df5ce037f11545f2e4a0fb68ec6942e7040210e22ad6fa6f50274657c9dff69f04133a9034976b4229abc0eabb30b2c223d9ccdb00f31eadcd79af9c20bc4e9af28f09938035558b624727755d578930157bc631755b8fb88d460460e63407a93ff51e4ee0f0219ffff03ca8e09c6804c06c4b8cdcac000723ebfe4587cbd17673096c6e59451a4662dda03d6c2c3d36101b88d9b26453400a80c2d228cba58629c07e101c680a031a0aeb40219ffff03b7a71d853dd19ef79a89b0f85b8676de37abde62d06edcc62ee888b16fa5f61e034b902d55935d0ccd997446d090b51fc6b46bdbbe160460088074d2e996f968f903e863bf54c10622e573489d073e7715bbe393abd73eb80a6d71a68c12dd69a6cb03f6706e8b5b5fed1258cec8dff4fe6288dcfdfc775bfd4be124cb8f913ca96f5f03585ba65f49d86f2ad9ae31fd6e9fda05b26adcd3d14aaf6c542b4d05f52eb81d03ade65d00183f5d8f4da0b6c89828a0bb088b96597df896525db6a3fb9446859203f9051809f2d0785a8f2f5bfe6b2de0ed748f04e8f4417184f36419e8ac96960d03482e6446cc2086232204bbdf20ed33a45b21472e7ac267066be4b580908dbe91033a715053f63e948f32ca815ca28b2afb61559416a1f3d62d512767fdd89870df03eabc1069a40678ebea0923b6b5e8bd0bed8b8091f5fdccec29774242b68e85ae031b70315bcfbf53c0642abd3b2a54f08d5b246d916a042075cafdeae16bd3f6f703cd735b968153963c875fe83477acee3cbedc279f4ae3bf78714693898a1f519303ee59a35c90239cfaa64bd81fc540c8588b40ccfb7d15b7f95a865075f2d26fbd0331950523953bb26d532d95a06e92c465d575e7cd29de313f0a2681cd6fe812a7031ae06486f73c00067646c47f270ef12da0b56f5cd4e00dd7c7ed52e96abba1560343c299094bde864639119b884f7337f569d75adc4c0433fb077d2d8fb6c035d503c808c7a5dad164f32b3860ae793775bf4018eedc0343662c522ec9207f79804e034f1c666d7578b985ce259be40bff4058d49706bcf2d033bb1f9dc6bff96468560387701e66fe91fcef701bee3e3c5328ef019fb0a30e316e26f39e7345799ad8810330d35e991a506d98ccb081fd5115c3a30aad613d3892f78ecb4f14d86dd996d10334205fb6cef3d45f6aa864d7a46963a572e4fb269ed6ef6535fe6dff5dc6466103564c94b7b81ce8103f76782ddc650f955db41a89ec525cfc2fa04e2fe616bd3203038ff412d2688b4d454b13b61ae62e8643a3c5ea2c6109124231ad47bbfdb8300373cd983327dd486432587cd15eae7750d0b1cf559d339ceaf91052f7d0ed260905581e03e5a93fb09f48477b898759b44f5ae7b2ec828bb75f493664e9d0f36f400847028ed6103d000003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02f9474b238c1ef813cc04281b28d2672ff6cd8a1df6ccea38b936572f07011bffffffffffffffff05581d026d8d960aa8bf7cba977afbab0935b1235cb02a09165cfab05cf5dc780c0347045d756d1fa08803f99af0b81dc988ac8cd1fca36090f280110777e0d6f9304383921260e7ac232703852179c171385ffc76ff608b2e384b168f999cb82f80c2ba801d8468e6b07a7005581d02c930cfb976dacf94b123899abed4706af65a158faa83edf9e03269bc07011bffffffffffffffff05581d02ef6d4f4326256c7ae208e936685c7ee6777e9d81a2bb86a111fe831d0c1906e7481ff22e870d95946002193c0003ef5c5a5bea8fd74e8e0ba035a8d08db6180528d862185c574026d46b38d9d1fb031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03fee4ecdd7528702504c1d3d8a60b154a2576219af99f546290088df7a007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03d1bc0361171b38d0766251c2d3ecf096af221f67d0189e7106b061218007011bffffffffffffffff021916e1035bff346e181c49b558d312ad059a2b44f91be6574ac57ace91b40010b671384e03ca92c25cdacf12c61fc9a32f5efd02c60036a567e5d0928b38bad57f154d2b130379a5f329d27d43ce9957c9c69d3f0bc5280f22fbb99ee9bfe631c7024e18487b0393baa7623cad5ab927875041ce07823de7de9d67eab405dde9b63b7141806e6d0338cb51c410735cae8576d1ebafbea9a229283d457eeae4ee69e50b645a4026c2038181ba80ee1faceb1570ff679b5986109a7786cd2b9f051ffc7246661e6f0a430386f710f8bea16e9da81c1448baaf08fbf8944157d27ee73171c801d4bbe9267003d4affc481e333547b1f411d5b630afbf9eedf01d6f631a040e0a2c3e244bff1f037c07951962fb8a7c9e5d11e65d2670567c953f769239257b7ebfb2821a30ef6203c92d58c152243c322087c962653bb76b2c57ee83f538bc15e946ecbf02cf0a1d0347bb52084d27c9f86e189125352ad79becfe45e063edc6dd2ce1d9bc3f55e89b034b19edb73fe893ff269e7a581d18f98dae21f9515bfbaa280620dedd8164d07f03196b78e72d5b25e419138524bf729a3009a0c338ca6dff18ab2e5aeed8829c0503402135fe252907ab80378024a9e8623bb4daa9c11f32bbdb45c74979aee8a713030300f25ebc9019d6d7fbb92ab9feeb13c18268585082bd83e78fa0d793fb6b430219ffff03ed199c8b9ccd45acfc6274320b2d3c61ce84552dbcea12a9295fc75aae70656f03c0754797c9bceb1903cba2f49fa9a95cdffd95500a6686e18fac59ac11f4b94603bd15e566ac95c32679f66cd563705d07180d68d6b22ab20b0a0e9639a5d277b60319ed42e4ae7720535a3efb0ebf4c238558975b4131d2fa46f31f6d0bbb7409d003b2b6e0eb213a69b35fefdb22c2cf1e02bfc0f30c4299da59a69cc4b8c65208e7033cb6d6ba29df9841740ccf0c7601555fc1c6974e057c0f83c9bd14e5cbbf97bb0311c2dea875f62a262632efcb898e302af5bbb7f12f1460ee55c035e066f95a550303fd71e9c74dd6a4ebff7992ad4ee54187eef45273ce5c8baed5dff693ea604d0308b3385222d6be8fea0fef326678733bbc3ed269f301b24aecb80bde526e77860219ffff03cbebc645dbf757e8a8405b4c68bd42f757ff616db4e54cf3254ef0c155211398030e29358d01fefb2595d05f329c314ac79337ca32bf9e5ba63107c3436fecd0f30219ffff03a53f0a93c83c4f7d5003fbe8e575d267f82f8db32901ac8c14a80979e2b357b90360d722128fc4e02a4100a5979eabfb1f387f5db16cf30ca6c1195dec28dcf0b50312e70519987ad0f38352675726bb91855bbd1cba87df7752aaa43a5a2d9bd4410341d0d0aa2139747c9da6f55988de7ba7284fcfbeb736c25f5dde7fcec731ef4203de72beda9119a360fdba66e9988a2a8cc4df6aad91f1cb676a2c87f2c8bfd37a03cd7de23692a6a0eea3e90b80964aa3be86b4c5acca15c064471a497196be8d25034135f92439fbb02c9d783bcaebae722cc6e4fa6dfe08a7f7883a09b1f42789490353cb73126cccf3bd880b7cb7dca56c7838e80ffa1f965da40c8c26acc7091c8603f8999517c312dc2bc52e1aea861a693d1dffb395bcc2b2457aef5308db2d30180392132aab2b5605ae9231fc01f62765248412ac6b55eb2b7bea555019dd234a02039bdc0177ef616185756d4b90c543b8bb4a91b55561a972bc67b805d4e1011d2d038bc84124d71ba8447ef13434afed4c0a6760fcbcffea572884afca73b9bb541703a8452cbd78c0c6fb5a78ecc4c2ba3c71d19e27cf63f108a434707be8c139f02b036709ed90050924fddcf5386cc002bd3f616eefa3a7d0b198b756171ab0822cd203630d5a6ea0b4bcc8fe9fa68a4715d9cef28573725ed274731e48c75a2d3f30a3032b7c09cdccf487e44d715ad86cf0d1c76dd57be492e9c5e159f4d74a9762e50203111ef36dbcebfcfe9e81a2f05b8b4b41fca6fd5e94ae7c7c89628a1b3564bb77030b6265fffa50cf15c3fe705e3ad67cd00eab3e31311368c61417803cc738579703bffe9090edd39b08b4bc1ed9a2d45582239fe17525087c2c92d5275387b5100003d02a2a8b3b9f6604b32cf2eb97a84d89981f67fb019a827c2c55a78eecd7d557039e240143a2feed55729f15da9ae70ed8251ad73062d3f8955df80637a83a999a03c47cb0d4c3ee165539bacff56a37876edac3590054b62c7c5d5d279cf9453bf10369f3de61e92dd4cf80305c60823b40fc80ea065ebb208b9ae2d013966e45a6f3036cf5410cb5b1fec900589dc28a4739f2f44561258f1dced4ed1a870c37cfd79803dbcde2d40191d894d4e11f8da1b1f0ed9937afcb3ad20ed0600431e5db72b45f03831a5266325374d54cebb6a5d024905b343a839ddea16ccaf07c9341a2862b58031415460376c0e58b2a152319d1ef78ec8fbd673c670d1ae5171607d84451a278039e2c41918ec4af981ec25955848433b9d0ff33909d4b297663cd464bccfe55bf03accd3b8c1d1a8968d56d673225f09278e58b075c7efeef14bfbe2adc01b1bf5003217e0e846f9c2606a7f579f55070f91bc6881a9e3ef9970e952f584646441e47033a163c11ccd0ba8312024bae1bb4578afb45c72e286fd5741efe1bac2c8fc0f603bf2b7afc61d388ffce71bf2c07ba4a62fe6bf3e44c0b105b5ed89a790c7b8f6a038d6dcdec16c063fd92769faf85404e170f79b90fa6470986145c59fde98069df031feb39371d0a5dcff7208ebf58bb5199a985d1854cf145d4b4b35a462b2affc50385cb395666901f8b883e76975559141db0e64f15163790978fad10ed9a49113203d955865be932852ca1fb13d94704e4ce1eab7a3be9f6d780907c72a718d7459d03e541718ac22b65e78d7c7d5e13b0d905251f6bdcf5b7abdb1d11998f330e6fc70344d9c4a69f2cf841d516180894bfc54a318aa7954998e166e0e26e33fd625a7e03223228366791fe0f6861097a8cfda074f95c04ec36bad648903185e16bc7eea505581e03d5c6e463b521fdc14e0792fca4e78918635a6dad764b0e9ef459a322c00c01474e25d2eb0898000459292e608060405234801561001057600080fd5b50600436106101a95760003560e01c80638f32d59b116100f9578063d6e4fa8611610097578063e985e9c511610071578063e985e9c514610934578063f2fde38b146109b0578063f6a74ed7146109f4578063fca247ac14610a38576101a9565b8063d6e4fa8614610878578063da8c229e146108ba578063ddf7fcb014610916576101a9565b8063a7fc7a07116100d3578063a7fc7a07146106c5578063b88d4fde14610709578063c1a287e21461080e578063c475abff1461082c576101a9565b80638f32d59b1461060d57806396e494e81461062f578063a22cb46514610675576101a9565b80633f15457f116101665780636352211e116101405780636352211e146104f357806370a0823114610561578063715018a6146105b95780638da5cb5b146105c3576101a9565b80633f15457f146103f757806342842e0e146104415780634e543b26146104af576101a9565b806301ffc9a7146101ae578063081812fc14610213578063095ea7b3146102815780630e297b45146102cf57806323b872dd1461033b57806328ed4f6c146103a9575b600080fd5b6101f9600480360360208110156101c457600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610aa4565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b8101908080359060200190929190505050610d61565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102cd6004803603604081101561029757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610db0565b005b610325600480360360608110156102e557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ef1565b6040518082815260200191505060405180910390f35b6103a76004803603606081101561035157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f09565b005b6103f5600480360360408110156103bf57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f2c565b005b6103ff61111c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ad6004803603606081101561045757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611142565b005b6104f1600480360360208110156104c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611162565b005b61051f6004803603602081101561050957600080fd5b8101908080359060200190929190505050611239565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a36004803603602081101561057757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126a565b6040518082815260200191505060405180910390f35b6105c16112ec565b005b6105cb6113be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106156113e8565b604051808215151515815260200191505060405180910390f35b61065b6004803603602081101561064557600080fd5b8101908080359060200190929190505050611440565b604051808215151515815260200191505060405180910390f35b6106c36004803603604081101561068b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611464565b005b610707600480360360208110156106db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061159e565b005b61080c6004803603608081101561071f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561078657600080fd5b82018360208201111561079857600080fd5b803590602001918460018302840111640100000000831117156107ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061164d565b005b610816611673565b6040518082815260200191505060405180910390f35b6108626004803603604081101561084257600080fd5b81019080803590602001909291908035906020019092919050505061167a565b6040518082815260200191505060405180910390f35b6108a46004803603602081101561088e57600080fd5b8101908080359060200190929190505050611891565b6040518082815260200191505060405180910390f35b6108fc600480360360208110156108d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ae565b604051808215151515815260200191505060405180910390f35b61091e6118ce565b6040518082815260200191505060405180910390f35b6109966004803603604081101561094a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118d4565b604051808215151515815260200191505060405180910390f35b6109f2600480360360208110156109c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611968565b005b610a3660048036036020811015610a0a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611985565b005b610a8e60048036036060811015610a4e57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a34565b6040518082815260200191505060405180910390f35b600060405180807f737570706f727473496e74657266616365286279746573342900000000000000815250601901905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cdd575060405180806128aa602f9139602f019050604051809103902060405180806128816029913960290190506040518091039020604051808061285c602591396025019050604051809103902060405180806128d9602191396021019050604051809103902060405180807f736574417070726f76616c466f72416c6c28616464726573732c626f6f6c2900815250601f019050604051809103902060405180807f676574417070726f7665642875696e74323536290000000000000000000000008152506014019050604051809103902060405180807f617070726f766528616464726573732c75696e743235362900000000000000008152506018019050604051809103902060405180807f6f776e65724f662875696e7432353629000000000000000000000000000000008152506010019050604051809103902060405180807f62616c616e63654f6628616464726573732900000000000000000000000000008152506012019050604051809103902018181818181818187bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610d5a575060405180807f7265636c61696d2875696e743235362c61646472657373290000000000000000815250601801905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000610d6c82611a4c565b610d7557600080fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610dbb82611239565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610df657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e365750610e3581336118d4565b5b610e3f57600080fd5b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000610f008484846000611abe565b90509392505050565b610f133382611dba565b610f1c57600080fd5b610f27838383611e4f565b505050565b3073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fb857600080fd5b505afa158015610fcc573d6000803e3d6000fd5b505050506040513d6020811015610fe257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461101357600080fd5b61101d3383611dba565b61102657600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548460001b846040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156110dc57600080fd5b505af11580156110f0573d6000803e3d6000fd5b505050506040513d602081101561110657600080fd5b8101908080519060200190929190505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61115d8383836040518060200160405280600081525061164d565b505050565b61116a6113e8565b61117357600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a600354836040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561121e57600080fd5b505af1158015611232573d6000803e3d6000fd5b5050505050565b60004260096000848152602001908152602001600020541161125a57600080fd5b611263826120b0565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112a557600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112f46113e8565b6112fd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000426276a700600960008581526020019081526020016000205401109050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561149d57600080fd5b80600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6115a66113e8565b6115af57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d747460405160405180910390a250565b611658848484610f09565b6116648484848461212c565b61166d57600080fd5b50505050565b6276a70081565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561170857600080fd5b505afa15801561171c573d6000803e3d6000fd5b505050506040513d602081101561173257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461176357600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166117b957600080fd5b426276a70060096000868152602001908152602001600020540110156117de57600080fd5b6276a70082016276a70083600960008781526020019081526020016000205401011161180957600080fd5b816009600085815260200190815260200160002060008282540192505081905550827f9b87a00e30f1ac65d898f070f8a3488fe60517182d0a2098e1b4b93a54aa9bd660096000868152602001908152602001600020546040518082815260200191505060405180910390a26009600084815260200190815260200160002054905092915050565b600060096000838152602001908152602001600020549050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b60035481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6119706113e8565b61197957600080fd5b61198281612315565b50565b61198d6113e8565b61199657600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e8111360405160405180910390a250565b6000611a438484846001611abe565b90509392505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b4c57600080fd5b505afa158015611b60573d6000803e3d6000fd5b505050506040513d6020811015611b7657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614611ba757600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bfd57600080fd5b611c0685611440565b611c0f57600080fd5b6276a70042016276a7008442010111611c2757600080fd5b8242016009600087815260200190815260200160002081905550611c4a85611a4c565b15611c5957611c588561240f565b5b611c638486612424565b8115611d5c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548760001b876040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b505050506040513d6020811015611d4957600080fd5b8101908080519060200190929190505050505b8373ffffffffffffffffffffffffffffffffffffffff16857fb3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d98542016040518082815260200191505060405180910390a38242019050949350505050565b600080611dc683611239565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611e3557508373ffffffffffffffffffffffffffffffffffffffff16611e1d84610d61565b73ffffffffffffffffffffffffffffffffffffffff16145b80611e465750611e4581856118d4565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611e6f82611239565b73ffffffffffffffffffffffffffffffffffffffff1614611e8f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ec957600080fd5b611ed2816125b9565b611f256001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fbb6001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561212357600080fd5b80915050919050565b600061214d8473ffffffffffffffffffffffffffffffffffffffff166126b6565b61215a576001905061230d565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561223557808201518184015260208101905061221a565b50505050905090810190601f1680156122625780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561228457600080fd5b505af1158015612298573d6000803e3d6000fd5b505050506040513d60208110156122ae57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561234f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61242161241b82611239565b826126c9565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561245e57600080fd5b61246781611a4c565b1561247157600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506125166001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126745760006006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008282111561268657600080fd5b600082840390508091505092915050565b6000808284019050838110156126ac57600080fd5b8091505092915050565b600080823b905060008111915050919050565b8173ffffffffffffffffffffffffffffffffffffffff166126e982611239565b73ffffffffffffffffffffffffffffffffffffffff161461270957600080fd5b612712816125b9565b6127656001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e743235362c6279746573296973417070726f766564466f72416c6c28616464726573732c6164647265737329a265627a7a723158203851e1a7c34807fd87cd4b670538168e0584812b7d1f4078ac2687a8c6455ca664736f6c6343000510003203baaee4546a737237335769af1ebaaf6ea68c2b72b93b2a6bc9acfc22bad58c830318d2b96575e3a035b0e73632e3e0e632502b0be8f05f620a2bb3d6c3129f90b003a3e73fe2355312278c85ea12805fa15f96ee42801a62654272dceef19d91c986034e7d8621894ec68406aa40f79fc7db4563d6dc0fb013b45ebebe3ff565d1b18e037a746db770db0f4f2454220b058dd5050881fcb0d0acbaf989b6cce4e05b2a9803b0c495b3fcc64c5d70587fa748ed8b1a8153c98f41f0281b60139e43b7bff89303e247682e2a704036e7352c626f649fda26324da292f22b0943af41ea0ec5c09703e896cc16f688ef5d5f0fa269252115b8adf2c7a97a01d3e54463a89e29f57dda0391077e1bebd4e4618872afd650a022b94b8ecf517d45299878af4f484e2d64b903dd7378e6587385b7ff2a157f6cd52bbc03b19c841b6d09fecd3fcdb5ef26bfee03d2eb8684b4a272c8636ee85ed9dbdff02da2418517bb09990121e390261cbbfe032d2930dd975a582ad087e8fd0598cd2235e1913fdccef4a9811a5269058d02e803c5382fe42d9fd540e6981a9cc450565255aee59677480ce46650bdb90804f8ff03fea051dfd16c741794deaa24569c28f23ceefe34dabdce8407ced97019717da70308074ac41890825b10fb37ec4baf982c301d739b89ec9f2b56397305d133bbe503ff446f72e880af80a7701825a34247544c902a5c165166abe697a6ce48ab5659034a986d4ada50e663a735bf853743e18da467d4f073210c572fc60ec94f0ca6a303f0554e8ae1533a6dddf76e63d418176574830c5a47b5f7494af3e54304ba53fc03d77dbb4e0d53b337172b7b768396fff6f60236a1875b94000f562ecfbc8c9c0703b555f67cdcafad93e6621813acfe59c2b7c37ab8c21d241e14e3e4c5635c694803ed162ade03bc10ce3135139025374a8360141e07f0ef9fc8de4709172e14eb8203ce480f79e0659c6ce52fbd2aae9e0540e0eec4f5210cfb54788ad01f58d414f20390a5aa73604878fa433356b20d1404b4375105efe5db03dfd0552e659b52beae037bde66d203c4fc38e5ebe7721bfd7601fc5e1d258ee8446f3588b284883cb40200581f03399c1c0191c749cb0ba581f4093eaa64632c69c461b000eee7585881a46054f3af30012f9efc6484fa4f23065d81d5c7724b0d03e1b46d45e653ca728ea97f43e4e2c8dc6781a9ca0d88277ced8198c5a36054c0035c98b37eca8bd37e9b76858608e8803e87d511f84aecb1df9f4325cf419baf850354a80c8615bd0303e8dd875a8a9150661084d4780e8854e8588f0153668e7cc903ed90797fe48b55c29d096ed21517143a4aaf397746144070bf67f8096f959fa1037d1d9add5291239eb33828b12f6b86af6e9e41f2323afefdf46562d759b8971f00581e021d520e7e66975be557cf5292a4854f87fdd1a3a7d573575bce72f4b3e454b58489ca644513558e2836377b15a7c1514e722b00581e030fd80ffb20858bd356af86e5e130d51b38cddaed4da6831bef737ebf404465531d1500581e03edb7b7f1a7c6f1cfc45e1171fcf7a9bbc9c749e9393f59f7ca36c1940054d47d84967a386db1879133a6ccc14be6531072590219021000581e020dd7ab61cd10ae5c5522bb412b81f11a87c1591c9e185724b2c48df9da446660bdb200581e025550434e3c5e9e1520294f7402e94ddd2ee73a6d82f564bebd9e2833025472a15cf769dc2ab01ee00816db95238d5162e8d400581e024dca73899fdf0b25f63a4dc46c00d976e81f205f81a815387e235cc85f44680b302a0219499003c459880e9aab4886dd883f45495e58d23cc5fc373248b46658c7c64feb09d1bb0219ffff033494115c76f20adf162608dbf0621522f46ae22d000b4ae47e4ca0f4628b188e03a7fbcd66d1094c4e414c560605976247f5e4e7212a64cb176e4dfcaa6f73c33f037c656f72cf5345265f820f6ab16ee6a5950c7ae1d812ef1fb285f787cdc013b20219ffff03161afcbba540ca94fe3c6c1ef3a2f7b6737d6bc9c776dfc9d6962b9d2599581d03cd689d7f20f6c68fc96180966af8df07a29996e2b97baae232fc9655aefab8f603b083f11887062df8a7ca3294f646c1e74d32c79dfb5ec75737e9e3115441a91703dee1611499bedaf758b4c1338a58257909749364d96c2f6177f652512c670f80032f364f41c79880fd40f101043571c014d2531e8263b0bfed4d791b6fb900c4e30351af90e197babb844e7472221204489c27563cf568a0e3d689d41ff3157674ba03bc1488cb72ea95ea8fb00421bbf2059e894cbbc3aca4dee2e1ece87b4333542d0365229f93f7a5417c8b8c4a99362df6d08be4d0b4598d1bc6fa4aae197ee9815d03776bc618c5dea31237a0adeb89c8cbfcbc69557f4a6fe1975d935019755de48b0365ff1c0ea238f6734e7d4d9abf609848e404a79405df8bfd87552485d7b0ae8f035b7994d9cd1b79fa44cfd7b467788d900f1e6734a0bd44243d61e7003551676b034980dcc5f405c077b977347e7387e04bea12bd905c972774837e9f3b05b23f67033c37b44684b819e9e0e7e4fd9f173b6743cdadfd665b2e66ad6d05ebc13ca0d803683c9ad15c21409953f16a31b374edb83c435c5e3934665645827ca6c2b0f9a103ce13255785fcf9cb086469fe8f3bc39a9415dab3615717bacc38aeab6d2401fe0219ffff0368d01ad4cabe9499e04921e165ced77e017dba01a875d94b77f826be27b4243a036eecf0adf1b2a0720b1a65017cdb518bc644fc4a2c670c1a8bd0f88e0bea89a803106f8b1510b1165075f58935be8c3ab23fdb19cbf39cead45f99fd34e1bc517e038477f216c69d4b9c52c4b29d6e592e7468812fbdad9804efa3bc4c15d7e7de4003f25c5a41108dc3935c43a9756032f07a79d1b5229f54c36037563a1403842c82030d18f966ede32677a7d501a412b306acecf3da599d08a96eda93bbccca5880c703da6e8ee6cd30eca03485acd3e9926606021f185a1d2b6c6391ffab359685d62a03d0592dfdc8c5686065961e75b15974868dfb77ff9a3544fea19d8fef71b9aa5f039fb040127e4ac75fb10ee2c46ccdf9f180162043c1e486504f3833afbdc0938a0363bb81280a3f734ef54aef7e620e6a23ffdc9d106b8b1ce31016fe825116da1403a2250a183e53718ed7a5ded3ec7fac211b3500e2a4e65b9cadd3b28926ac432f03a0dd71ee1e6361e04db687195090306a5e47e757a2a5037b57b6289ac8dcb72c03b3447d5573145daa0a5580dca4207bff239388bba4c0aadd53277ba55092dc420219ffff032d98292240af29252712a50be1dd6d3483313b29b31cfffd34f702808038261203e1d261f918c40f4c13ccefaa89a78e95d28b5c51a819ae71773904e7f804decf030b5492236b5f4d8a3577e2654ac5e69a23344bd0b0ba6d933b4f4f0f350470ce030394eccbfccb3117971f491390421b329bbd976def55f05c9994bef15ff575b70330bf093da8b472a4dd093b287f0504517526e1cedc74b090254ac4e1ba8ee2df03edbe6ac8a3d51bcaaeb715967c6e3b27222b45e25b36a92c9dc29bc2df94cca10304b94cd11a6ff7ca6d17f4928816e9bdf72fa068195be08ea2d1eaf4e74e79f903f772cb893ca78c7a706461049b13f59b9956f14106bb841faeadd7cf7674703003daf5e6527203707ea53ff0353f173e6e4901b663dbd8c0551b94075da424454a03a759db55f5cd666f06ddc07ba5f088a72c8380aca5007d09e6a6aa11a8e0b43e030ae1b594188d2fe32ff4bb5a0673a9123af9f6d96877345162b3e5458ec46c53038817d68702fb8f70d1085f90dcbdc674248148f6d812ced4d3cc364080e7a68b034b6d200b35fdc94bfbb531d6cfaf8a2dc65dc8e5f6a54c7035e738345fd4ce2403dcd9918e919e174f0109d2e3637d8ef4c59e0567be8b01b27629928ec8bc484903bc32e5866dfc7a2e996c7af25dd8809d7653b66520ec783c1524cb1762c8cf68033e040de318d03b40c87d22fa29604e6538044ced7896b433b8743648c057b4000372bc1157a97df3d8120e99ba86036f22446e32ecc401c9e17825ce605b6d067b031b2f256425ebe4956e1bacf19c7c751b1f7152ede978388ec66ac9aae3414d8403ec5c05d06d6458d5537521a5663bae34ba3db196893dd63330ad0024d4106323036f81a341dcc18aa2dae885e204c3b4758854be40db748138d4f2d75ef17d0315030274688e6e075cdb291100f7fbfa2bbae6720f751d4b932d713a7764c8c525b903d9246033946db8d71f158c9edd6f44c25aab82e9ae3a10373a7a5fa072a1c16c03ac0f0f972d9638eca2adf2b47cad2d8ae4782d812996b093343f998366e78cfc03c72e279ec4de4de1845b9ca0dc2e654f9fc7ebf74a3a45248fa82c91eb04de0503b1220dd3712cfcaf8e208000ca4d9c3ca14750a70ada4663b87427a19f355f52039c55716a91377b68fb2721a3f5a39dd50f8351f9a63da3178e373c1f8df2615a03e4b11244b504aeceb3446b1c29b3e9ce9a0b6dfe5b6873117592ad2893ceeb8c038dbc111ee5d0bded7de23be8bc7002a621f20e3b1cd6aa91e7c376e81c69a278039ca93e898edbf143bd106eba14fb7f2b2b79e0c29c841d949c01b3a870e4aeb203ecec47f4af906f2516a8441d121c47077f5941dae2d17d78144bbb48287446e700581e02fd11b78e252a8647d9b9bfedca9b65d51b4d59e45e3d537023290f614654d4416b13d2b3a9abae7acd5d6c2bbdbe2568640100581e029c5e2b0d547e01f07b24a4bdd3a1e8043f9fe6b80a9b7e0a1e33d32d555467e443503604befbfb36e0833689eb3cf69f9046038ad7bc1c9ccf332b6db82edddced05b735616a7df23a0de7e18d2a9298cf541101410200581e02c18d62205a52e9a85ffd67622f94acc37fce2cd91faa651d275d1a8828547e8a81cd6d2b05f27a7f8b1912c5e3d12fc6f28f00581e0277f0b74d0e4145b6e6dddbf9c5b90e743c3dfdd1d8792f147a85bf47c3541d4c0c62127f6b63cea2137bd1e4e694af5aac8d0219824c03d73ab0807cc3b4b3197ffcd133cd17b8dfbc818f5b05d07981ffccb19c4a884003e097d8a9505ef8289a7009e2dbd3563b4b1f261bc598b4f2bd4cf44013d8b3350377c9e37c16be7f2991a50d2e854d87a8d681f6ce1406c299fcb0e51d8a41fe8e03a4a87c7b67ca011cff4c178474ce59c3cf2d2148ba53b7ed9bcac50f023ac66a03090c19540f463e1131fa09954eacf84a0bb41a9f034247016aaf0a4ed890e458035463f2a3372c02dd34122bc6e44931aeb01bf059c65241e516a0e93feaa57f970359b0d85cde2cf3d0bc68c0c52457459204f4789d8025d02c20e9bbcc6bc5f4510219ffff03c564408c2ba466c28e42362eed29be29ed51409f1a01f21784f3d86b48e1f8bf03c0465a6d62b6c645ad91c1b908d10991ccde1acb4b1ae6f45c49a0a40c2be6d003753434132c42f7f557e2e815fe07607705110932009c8efbd6ccebf4f63d34ef03757bf0366ee507da9030f7794b246aa0539e191e04054b6a76b942d0db9b793f0363d7bd83c6d5e5471c0cb1afb12fe2025441266ee367281cd6b11aeadd9ecdd0031789232cca8cf8adb8f59c5aa92e1b1b7834308496a3bd491616260d99ea785403206dd2a234f3470c28d4044c93e0bee28758aa93110a4f4e890cfb14269d4a0b034a1ca523e5605ebb01943f92a197f3fb82e24809ce23672f04dff81962bc395c030c1cd249ea1e3865f0f1c0735438a93be7ea05258241834a927ab211e0491411030815c7246b491ab7cd30041d69360d9d4dea004d19894848e4edbc447ef999c903d5cf85ba271a78c52552c21ab9ceede8331cacdfbe13387886ecdea429eb67a203709700a17435b0094d81a7e22debc3670b8dd19fc82dbd7d1d59fd830abd815f0219ffff037bd7c6945b53883a20000f3cf24c9e2b44a9c316fbe26ab9750d639c2ce6e145031d6404509251d0e8f657912f588a4851523a18c893a6943d8f37e867880cc039031c5d04099688e8f9e52354f3284189127cf956487df66825a7971329681f3fd5037ca787b98681e8691acb04105fe088c1cd7e65f9e71262c5d86b917b9a6b6a860219ffff031abc378b68fe8a834e4a333abb29a11943b661719d51aa052b58f865df2fa6190301802359032e538e154a9d2f604ae7f7cd5655f950c106978c415527aa49b3d403eefe1bfab7b81b668c4bf0b2d86a90194a3c5daaff63c92757d0edaff87ffe0c035fcaa741f87f612030bf8ed82735b95d4d71f8ff4724139f7b5084eb27f6c9d1036985d7b7dab1830a172b9158e709b7bbccdc891b2713e2607bd228d0221658710396d55ab63e6fe15856c039293d8564af44047520fb13182cf4205625c250a595039376bf6ebf87f560057cb3ebe80b89c98b0b7ae930eac7a6a40f2de06dfc0eaf030e67f2e63b68573bd374db339430651155526d2674b89e822879f5f530607da40365dc08fcf2733123b66714bc01785acf531868bba079728778f97f8dc11445220375c9704dd04dded84d58612440fd28f7a29170a68b5c94ffebcf757d08032d4f03e65d8306a46f9f771afff844bd97d8d8ecfb410d9e0eaefd6e1c4d86c6c1b05003aa149560544c8ac4911dc16faf17e4b60f46e12e6fe95035651a9adcf929ee1f03afe298807d79de3e84bfa9365b53de1cf1f4925733d3455d0abbac0dda4c7cc500581e02c41a17d8f62dd998c5f949b61ea259925cf252579c3f9b866e221c6ab25466143b257f59b7e76e41370a2f3689537086f7ab00581e03bcd5ea70432ff4bb04cea398f4a45e3d0c19567eb87f9117e8ad63388044653aa13300581e034a82c979aa62172348528a6d57b02539cde048de66997648b3bb490780410600581e03019a3f327c3767ee4ff8f0e108a23e3be9c7e1e44e92fad63e5a15bed0410102190a080219620003dcc14dd3e32abc8d32933aa73c78d2ca06f16a2a9d1d39f0605fd090e29d25970334d4514dce0250076df31d37ad21009a5ff067d80be9c9ec34748cd86ac194c7033dfecbef7c91a3999c7423d1ecc29a6aabe68a2bb71b98c0ad83b69c2840491503cd33e05bc7bb2d084f1519df017073a35598cbe4c9558ba021da212959aef9f700581f0328ddf26a2215f03980d6b566aff1bef838c1f062599e65b7f04c520c69c04463f47fa90326585689b1661d2571aa2ed9e42a0799af1bc74bd8d209f08e5fff8b2851e544034071538ba062f79a8eaa05be10c0857530a9a58d2d3d734d86b4e283f2eb9e1d034eec408b043ae884db61611830109d5845fa67b75db113d4cb6a9b408faa8c2b03dfcad1868d6373a3ac33898d829fac9833cc71561526c316d6794721d1da296d035e15b4108d5ffc0adb1a0341fc8de1db459fd9cc29be02df01601b9516f821d103ec6b7c07d705cd3fb96449b363b58a84b8005296d6fef1f67946ce49519d938d03f2ca7acd1088eef205f22f44f66226ce8837f40373ab15908e7cb85b111632a1035cdaec713d29b0c7a82e9e5b4bb1bedcf52a25f94c0b76d4bffd2bde8c7f84940219ffff03d342fd802274f03f4b8cc40df4f5133e84fa71d8a04850377706044746ae523b038e71978fc4c89774a997a84384d1db87bc8c4b47cddc88ddeda4ce5766e59873031d61d5bd647dd281e71e992acce855eb9a42087c3d08a9d275bc957f1598f0ba03b1acd82d3d318e923fb7bdad8a905f3ad96cc55bd9d918f0eac04f1f39af12a803df66d988650b65401a474b5fdb66f681bf7be192dfca7ac364268c12d29266c4035e3fc16796d122fdd87f3ab54f1dcd6fd4151fff64d1ddc3094d3e28af3eba720335fbd71d4938f743a65b21c1513ff721cfea9269d203fb9f800bca3064f9036f0314b8a87160d2b455c06b53c04e5f5a238e9dae15529f5fa1dfc217782836ee0d039b96b362343b43d944011321a67e4ab0afc932196cc9916c4807a63afa8d36ce038c766424ee12ff154abce75da7cd127235c9ed1e0bc1163e710457f8b65801870219ffff035308b4cdaaa2887caaaaedde2b2e2540f9b1e3067192657f07af0e88d99ea6dc03331063b5579701b2a67096ac53ccc41728f887155fe8ade0170bfc8ba62782e7031d27691e4768d27c5cc83cf74c4a7c78641533065b0d8828b35e69ed05d10841032fa08d03613ca5c6986827aafa7df3e81a4009b2843c3d9d93f652777b14397d03ab8e987c7fad28c45a08e8a37c063dcb8964391eeacadcf839989328f1c41c7f034db0037fac81cb00c8731d6dfd86fc0de7843ce37e2c7bb7540ce4b64b717ba903c6a73d6b9d4d6ae5f5e36c73574aeba6a7b5aace1228998cf67e905cffe6beb6033aefd1b9bbd10a411cefdc3d3b85b5d1c88ebe789006d4e5b0f2ecf6e3a42af9032d95bd9dab3dfa03902b151cfacabb09d3036f48eebfa0b5879de110bb400f7f03d57af08e42385842783974acf36c86676d02e758cf7ff1b29c8190be707bd3d70219ffff03be2b2eaf1f3bc148dcec13db57a055e9176b8cba42f09deb5859c092a734007803b38513d30b5029442ca9aa9d55f1d4f8f2a2278451fe680c4ead47b0a1cb9f1e03a4387f55277175a02b63056ba0e9b16468820abbc6983df45c550b7a04f1b40003638dd4d582578822b2d0f66f4c669bb6633e3dc5a7a58a5c0bff7b05acf2e7780378d948524bf6cb37006a2a38250d610f93c5de02245934c162b07beadc1dfc03037af95fa1a57bcb98df140635809779e3271965fff4fc8999aa14dc9bd096189f033750393e4b78ad654f242532247d9f9869b08a500a292cfac39a244f0ee9b5c80311a244e187dc1029e2ad28d363e010173a12e3827403620d4a0e3fcc51acc64f03f3f6cf489d2f2822de63b6fe402fad6e345ff47eaa6892942b2c8f2dc3f678f6034f7bbb786677588efe38340dda3bd23b0738c1013c708857234305a947a3fb7203070f0c59960d3d0ea0e59d32c2ac1073fba9934d4f04491e03c5692ca48d2d8a03fef1282d2c95e3499177af46f304c810ac0df9920ef95d4ba3b56ac373fcdc710391c373f80d106fe8d0cf979bb9742a1b1b228a06049991ef05a2fb4119958c7d03284e2ff77288799e1e0e18f49af2b0bd3cdb75f09114a9fd49206d8b54ea48c103b4dc5e6c26a9a117829a3c24a9aff155b6a2a0a835078c31f0d43505507aee2e0331de3948f2bf37907f3a4c0a32aa256f0b0c759e333f9dcae628018d5bece20303aeaa498b4dd8dcd047a18763f7a6fcf49ad925cfda7dc9d070f79eb0a2f5f957039a8ece0941f2e77c12bca49a2a63f4229e49177c2c5017c106747fcc2e6d28e103c7831f91a6c474898b70bfb263073c6db7694fa756696eabe289cb7b6195a171038e601f278244be6f1a33a504a416f7c4b0d954897b5fe6cb87a86adef793de1303919f062f2be427b18fb61710cb7558abbebc739b3d8e0832153aa0ac1ae8b4aa037c8cf094f3b88cbec5c7156ee379bb9feb6daebfd538f932197ccfc4245766e00332c266c3f380d0143c666d6e0ba0aa6b3a9070c8595bd94435c4b1bf1d0569cd03c31801c5ec83bfd43bdd6a3f24bdc7919ae1fda7e64dd4484e7641a198d898bb0325fcaddb3c026b3fd39b3ef7b1480b830a5f521c4e64b8ebb9a16004facbda530345e97d67b45bb1d34b35039804b9312e782cc5c45397c86da73bb160d5297df90393e986dcf22e31b225f00b66497289e6d1dfba0c34057a6af631dd6f88a9049b0332c8b23f6a3f75119e23147fa429a5d7e7bd77dfbf7c98e289dfa5d64ef7c9760330518dd97ae2041653f52c310306553fd3c6d105a335c5e93515aa57b876ca93039a126e9348797fd8c4a04225fbf661cca6269eff3f165285dd46b126adf4e6a903fbd3cf35c78a9c47cb41c7c7e927d010dd7cdca7fcc18fd80b6de55753c5274803ab255f6c483d3e3182c9bbf388d210959936640fe321f00271ccd916a9e8c00603ec9d64e01aea740644bbb1678fc6d7eaefbc363efa6880b6ab6d303b6d5bba05032d7306210890c7c1a76f9b49c65565ae40dc1cccf53a2df29984ab22037b826c03d7f838784a6d7f1137af7fd83b2719ad93633dafad24b3edec95e6b18035e4b10322fedc1a98dbf2a8edeab23f453749fbc82d0fca09d7f14580d04d00dde0690a00581e03e52738f74ecf464a6e694f5f0b207a22685077765e46061d6c7b12b000541059e9f6393b8edd480705024f5b598f8e3df8a900581e03fbdf72239449e915c676a4f0dbbcf53ec37bda2198ece6076ad1e6bb9043056b7a0219082000581e0281f1d3beebabedda41e2ddd660f33f970d5b7dca024eb1504edf4ef8df540530d45b4eec4e48d907ad04e9dbaf10155bd63a03b9db3438be0c43466dfe651b9210d1a77c6c23b4b393494b7b742d99d28c602b038cf6b59a934e8c3c0c8bbb119e8ff131b4fc3b9c31593a3ad7f237a9b473985303b5045f47a3b5ea1c527295fe9ad6ca2e7eb40b4d4d12d90324481cbf4953ff30021875037074545058494ba9f981afd81b519fb17edb5e001ff01d4488632a212c279bd5037cdce5d616a907c2a4fe4aa438cedd6c5b7b6d8cbcc05efe8eb696444ae1c1650219ffff038d10f0b6fc17f2f3a364338b8375fd7363c143356b41461e75c0c17632d38cc903ae2c93ad1821907de0be3f703fe904a1e8186b693499b6c5d42d41a1f09a5974036c68d722978229a5dc9e0bc27747f6f95ad10e48e0ef5fd3a8b2008a2f9d12eb036dc7c892f8d07ef99337ddecbc8219198fa182e141bff7eae65e62e61868949c03e38d76b258fa52f7d16253b76dafa9bf87905e22fb8fed9e8877932962b236a203c053afbadd4b221980a89a2b0a13adb73084f9b66d4d9e516563dfbdeb8e07be03d111778d5dfc9c85aa11cfde025171b67caf660302c7f6e54f7f8e02012477630219ffff0353fae11fa74c4204b90e1d461b53a991de2d78dcfbb7a3720385b47691f129dc0332b236860f11f4b7aa3cf5c211d5c2a889df89699cc546dd7aafab9eb1888c3203b3d80f24cc2c9d05ea47a44e1264b940109ba10bd4cbbe936c393622513f7318038697cef4d768765b6bb23abd49c380562ae80b615f32e59531f0f91b066003970219ffff031f0acc2951cfdcb1605c643fd84081cedcc94ff941f631923741bf93a03bca520219ffff03d0d296718bd354e046e1819e38dccced41c7310c9dc678c6d21ade28ef7fdcd4031dd36d6fafb3c10633547c2d3b9ccf1ef8fb17f67a36e5f19d918305c7d7e547036c54b48c976baf0c018e2889667d9091d566ed676e411b43404afae07b0a7bb50321cd48cc1bd8a1477269d2f0fb2bb39e339e1983188ffa1c54a0c309ac4e6c34032d7018a795422cd94bb3f813c5a09dc6dd1fdf1999008dc4ea5f883fd2caba15034198f5437b093308607b50268325a974c454951ca0359907320043ce11962ec903be923aa02d5fa7b63c1398dcfb2e23bc8bc9426ea4b10e9bf3b1633e051a04bc0329c0d55f3667baa7b816ab7c8cdd34b1736f50b1b4193bdc2ae8681f4cfb96c2032a4bd79f8250a9f9b66a52f1c206ec587d09c4aece2a4f045f68e4706b7c46cc0302d54a54b0a66611d546dc3c3498a7c0a29841680c859bf4a751de72dc1114c80393a220f10f5d4bee93b87d99fc0fbef93d59d5d06b543a31ff6b5079c85da68a036e5432f5d222edad3fad88a5d353205dc328261323ab0bfd5603e5c0e25967090356a61638e0b392819dbdabcd0b06798829cd890032f52f727a58df05204a781703b3415ff4e72d2c1b01652c034dea03e0ce7d11c2ca54f1b5d7efd8dc5be8a62a0318fbed44b72d66d5653380506cc5437c065b32131debdcf19493af68a5240a19031549350268dc74bfa4e4973553edad3a534f2e4e2a6a4687e251d6f3a1fe47890378921ed66fb05f1506f3743b83a72ae2a591c7052ae1a59a59fb3923c917798503d0f850913898abc0482685b8ef42c9a0b3c1222a86c9bb0d239d6bed4249e43d032af86b0f228c6f0b813cf985c396214b004d12032909e48fa1c5271696eb407403bec573f354e37c680f3cade97c600c5164013704ec8d183de1fbab2486e17f0c00581e0286a6af4e19a70d50b9aca14594283ac05d2a0cd87bcbf3a9baffa5b3a1542e86b18654a64a25b7851eab0fd7066a291b5e4000581e02c63e7adb7e754ee4c05ba02637cc5de1029eb6465364b5828a671de7da446a5f23cf00581e02fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4f0c2e074ec69a0dfb2997ba6c7d2e1e00581e0288e73c8b0596fc75d1f330201f53bcefa72562d6b78dd407f74fdc20b754aa2b317a79adb652f1b4e169d0746f99598bf4780357da36042ae9efba878792215f1e96c1451b4d436a5f7e012d11a665698a55e900581e02c7a1fdbcc2ac156138d23437df6b995c27dee9c326159d41fdcbeaa85954dac595165bcb146d2d03e99cedc8b3ae85c9d88600581e02b570b54b08f2f8fc91870a32680be03b166935304b25c32b8a61ef69e741010219d89803d339858dc45c8be05b2f49273afc471c7b95562dba782aa16e1a63e0e86f2c9c03fd1456aa50ce0d629d346e7468c9ca44b169fa6966871a99d06ab69eae9aef500384921c61d10ac9ad14ae6f85185987bd98fdada85ec2e043531d57ba9636116e035dc894ffd4cddb0eb8d3129284279b39841016248f3e86065b4bea5af771614b030d3b221903e5b78044097d5a707c8353672b52a015bb88c51daf7ef3c644f507032aba0b8b19732132f650a433d124385f451385edd5e908f35620132f6f2fe8bd03fa7cad56df1d89723b996d9979e3b75bd0d361b12168ff49e64cfe269d446b980219ffff03a5afadb729df5834b0d185f0ebc887e2d16a113467710a408f5c764cb59dac97034cd5d5cd403624a5f9d4849fb8ca86d57af5794841015c944e7d06209107d1ca038e4cb394bef52fe93d0bbd052737110d41c751d4e4bb72762daba26d57395dad03c093a17764750f6b78fbc71ef502cce1d53fcdfdafcbbe29fa2142a6fab4187203afd9788e8cc7668f82d93d95949ebc8b109e946f6a7adf1a43f3f3b57800fa7803d02cd28ca731653f3154acd3bc902c48d5e76aa89cabdc0e5725b98b585a098203cfc01e9b9394c39333755c8e500c550b0b8d7139ce03b5424d8e135e2a69caff0345c0c83a1eef8544c28b7647c892b9e3f2bbb759f6e49095d391c6f1be95f65d0219ffff03a03538cf1bd0506ceb664b9a295990d2b5d226fcd23ca7091a115b54211db358034130b354dd5fa6f1eaffb91d75cf0a5d1209450beb1605f5ffe5f6dcdf7d041703013742f2b279ef39fd747724cc0bf8a0881029f9b273ebfb967f8fea15410be303d733d50080d75ab7fea3cd50c309cc8abd1bb6063ee32db54d48a6034037b9b103cefbd732b7efa9c036cb87feb8ba93e03d6d26b17dc8ea31445a8f84c3e6b41f03b49da4b4781cb38c016f8c5dea9bd0bbc50fab4fcbdcc33d99ad7fb5faf93f82031aebb24d7714dfbc36203b1c0c827a6b3b9ff5b0719117a40dd31e5787a9392f03ff001b3b188c3bc8ee6fe396be4b1cae5f8168aea9bd2a5e7a337ccba0993ecf03e82575fc12a86af8e82262d0e032a06b0c6150e1d53c41fcba3110a1adb0bbec03b04e0094ac78a4031afd6a1e955d1d21dd430a299c89c8ced9642180d58af9e40219ffff03b46d97a406c90490d579285ad63a7fdb93810e7c9ba4e806a23b7a31ae948d91030af15a11fe84a9632ced1800beaf5f85e7e0aaa5294d973ae03e78056c04529c03a1195cc63c92bb01d0c26021ba5197f269b07cf7549d3a9e092dbe07bbd4a24f0391f57d9e90de2e62af8d3980b8617ff62125f6593e6fee0808e07b92b39c50990379bfdf2c7a0eea1dc210eb4eb8db5634f70e1e76503c84ceb7a311e34fedfbc10385809803ba172b0c09f6c7805bf6ea443bd7f2b942bc242410ae6df4d09f2272035df9ae02b0b14239d3aa78ba4d0f33db1ce63a0ecafac5ae09b1fd4ffaa82e72036e73920abaab589886f74a0c0a734127f6624ed689cae06d3bf9ce83af24527003fb0e9cca1aeedce9000148e70854bc855f9f3934b4f3aa7372fe33c3b018eff003beed53d0b535a17ca063a21e75bd426913bd3799ff04bc3c8c296ad63d4372b10363ba89588942c947661de195f6afe29e46632bca8a6484eef2471ef358c7290e038a1af4422832924550ea32e26f2c8baec946c1928833484a6172bb0064a444a00393f225921a41a83e8febee6c4b4988e9ac16e850f61773cd7c09d09a8babcbd9035191bf5fca960792c5c7e14725efe02a5884b2663d80e69356b102ec8c986fb7036b9ec202e32b16731315d9c5ea2fd9291497350a9e85d770f5fcfc445288b1fb0219ffff03bd5ed37765abde70597bb76c4809940f5c0a43086d0a548dba3abdf4b36153190331d5149b918fce6d3092f3510411b3afe823f74cd2f22138a09f35dbaa94507503dcb7f440d67a3899cf39bee5460f33c927c2bb678397dc5b83ffb34cf5fc6c20039272077e9d243c7af412b0ef7a7d2f77079f0cc91d3a241d31b8ddc786a2e3e303522b8ce12a04f164e6b4091c858d04bd890a08fd089ee12d5aa95738395fbc5e0377fc4799dc93866e48336d5c0255f038dad418c74fc430c8e2553752335567e703473f7fce9ec70584f3d7f48e3afadc72cef0f4367f97f92f8570ef9580e9840f035f19ff5db14b8dc43951cecde6ac5b4ac039935c23058e9f5f760302d9eb99880374d2c4329dd53f2f4cd626e9ca422a01a32338fe24b69b96c823040cc05c8b3a032c95a203bac1fbc6c5194c52c69b52e1ef909e334dc4e01320cd9da9fa9d26450365754a3413d1d12b1d10978cc4b1da83967ee74bd16ae68ee32afc78128589a4033782ee227a7f9fb8d6aba0b08345823825f19d1d2f6fab91eb07c4e2c5f52421035561878811b418fc1b697e58e2fbed4b623d3ef1afc0b220c54f3668ce1f7a1e03fa54ad74d74ac9d47b0784b71d338fbafeb7ac90e940f9496deb5c9c99fa3dc703aa3ad175e44778c6a41b169313e3b4c0290e2f0891c22eb6dee06c5942d11f15030295cdfd22851418c843f6fc4a1d9401ca40fe8b20959a3818f3016ea7a2024f0354ff48e624f6d2f76029eaa1a0916d3b773395913c0e984c2a08eab083f2382703038d132730cd73eb1180226470e33569d399b88499fef7fd3eb6131bcd845fda03f97831050ab93858e57a4c7a34a5aff3f6b044c713bc4e7d4423186ab1fe7b0403783c4e99ce0e546435150cb29c2aa0b050e992e917f043e555d1053cbecd135503585d3c8f9f2ea89c1b59a84505efbb0f9167e3ffaf872b4071491d242ed4be31032bac2424fe39f6440f3ac6cde9cb561aa5d8a72a9303b739562af61e45acef95031d7054eed9b761c251e7238b05058e6eee82a9328bb11ffe584a5b5fbe6a2077035421abf339cb1798bef617ec6e7ffa4a2b8a1fd15fada36ef8c4621d45676be30311cbce68187069d9f0026dd0b82d9dcfea56f0adf89816a48848dba22dbf96e703c77bf4b111040d8be73f42c76dafebb1e5e29a896b6c403df5ddccc0e3d2af6d00581e0237447c06073119b940a490338f0aaf3482c07904a0ed4a179956bd2e66446356834a03131ce76a161a8d4606df2fbc9a91db28d32674b05812e1941fc305ab7796effe00581e03e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0582093cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4ae00581e035db464e67ea7f7c8a8b9a807c96444db0bf7c9c0ae89b974b774d111904464cba7f90219200100581e022b18904d0bb0a25d49008d968f1e9e6279d4d5c143e5f137149b006f9c44655ca01b00581e020d3b308838696ab86923d0d0dc96bffe3ee9c8c308bd2e8067fa110ae554f8be957f65e67fb0342992a51c30290d5758f880021994220328f59983ec9e2aeffb668da0a99cc68bc117c14081fe98b14ff89eb29f032a2c03b0707d02b6474cbecce0aa94f54372c336c24e93af1a7d60d71fc96a5e8ab6800373ab5c2eb7bf194990cf74346b533a0351b1096d7914ad4877d455b8d1a0da2a03953ffb1f66a3a3c9cbc51e21fe950179a53f337854eea9d8f72e581848e3da3d0376fc4f74fc78a6ce3208cdd933b2f843414266f406c76ee2e1e9ec90676f58a90305fc3bcf7bc68f1616d85ee0ad4c7937cb31bc34b8cd1dd9b5df8e69c676f5040349af6f7f667613a3b3bdd151ae6b51dd7b42ceea03d51af808b20b7486d65c1303cdf6361a76495af8db7a8aa4683f0525bc3b39f203c944243335cdbab05712a203ed99edaa38c093a1703ce25258a430e81eff56e48c0f37827f13fb43bf9d213103deb2aa9f080b3722f40e5a8671d0e5a8ada122882ba2445e0ca3f90ac5123c190219ffff03aa1424eb661c0c43958d49f405fe8ff433c42ced86d612999dc1db4ad2b99c96030dbc47e8a39a95dcc478eda7d7bd68eb3b17ba515f8f7d8325c33c49526110dd03c326c28f49302adc66c23983cdfafa85215737c7835f89aab87b7831a996282203e3bc2d480f9db98adf63aa1337d5023a56377e4c16d5bff061a3fdf96eff975803641f6411fb8547efc56d0a850abef27b03b6915444ed5c54579ed96c75db2fbd03031b4951c35d2b7f9fd9583b962d140966274975db9134a85a42c17442fcf197037efcbdb2c8630ec677219b076bdb7b4f20fdb25e284ff085854b172c5295f33103e6faa3567204a9e5364f385a8ab0d2fb9dd5b7d498586fb345f9a00712d6e8bc0219ffff03039bf3b0b0ffeb667e855b0da16489fa7c224fc8108cd24bd173d4454d7afdec03142212c658980a95290f832bedd70eb3c1849767c587834e204f3da2a07a2590037fc212a9af42c7f5a006213c0f3a261b5fe19bc9a9166c60635f8f52a41c15bf0389631e513a687a7f5a95948b44e2d7a859e9473e92473a4d0a23e3462f33d0e70362bed8917f4e1e05c667fef9ad78820c2211077e9739e585f1454b8f83b3c09003e8257a5336040a6291ee0672ddaaa1c7d54883bd97bb118ec60f614f337893e0030e1a58680d2c59b65507b0ec438631b8dcd3bed81f732abfff5ee7352745f31e03b5d7a5c26373a9020fae1fedb54fb7d97f17a0b618646b763f680ad3fc74dacb033c374c493a3a9ea926e21ae89d11d06fd1db88cc484441ffc9f79fa2bb4bc77003d752655662ef3c84c98c49c949aa73892274453fb224a7e50413e9c4a3b5c2200219ffff03d9a75c2a8f90230f914881c640b0ac6265741265205421830e8df7d8cb411a6e03628f834d6f1bc5b167f0e244478a187d8f7a7a17562363d2c91b7c073b9df56003c9010794e7934159d3ecabee05a3330cab2240a7a55c4f04a3b4d53491caea5c032cc9bc11d4f07ea5197dee98279e4f6f944e0aa9c957d969666c22e6fce282f0032c63f3918b619e659bf3c0653fac052711bd0586d7cef9cf67253e04cd994dac03bbf6a4966637545c4f1019e728df3a196d11d235b4faea6fd17e7d0dc7e0c33a03150c40fab5665c4f8ac6d630303fcdaf4a912e81b3a783ea401a6cbe440c2938033e90985868bac5a4030029c85c11db7c4435eb5a147a22a1bcad305c6ad8c973031599c53e8f810b87332893c5d312d563eb9686d46c776b0c52e8da1c4bdcccd603c0f78b4fdcd14ab19f2243d1a10d24d50a12e512de7202bedbae06920b34d7fb03d9882a66aed3d06ec965f2c1a127f6b246c47db694c89f04896302c53d2e145303ef6f1652605b431bb84acb6de95c7d75bdc9fb32106533d2ed401386951c6b5a03bee9ce0ff07b174d4a6968c76e4d8db8f57ab6c6a9f41cd13e7c9145ebcc0af80219ffff03b4a06f234623693f077ce1ce6f554882bbba59d28a9ac7c50654c7d0fdeb141e03d42dcbb76ea71efbd212280155dae39b9bfef9d02123cee6ec489a5270dbd58f033ff6000df87521345d0046a300bcbd8f7eeb684441a28935f459d04469f3de6f0219ffff05581d02f00dd782c8767c016bfec3eb9cd487eddc065d1fe8f2758eda85699e070119292e05581d022059fa26d2d2112fedd6e45f2ce9872ceb03b7d88984032c4673fc3104060219300005581e031f8a95ec7afd5e9b3f30f991a471b66865a9f29cd4c3d8b097b29767e00c1837473a87aa116019b405581e039914acbd2914cb744d5d3ba707ab3793f57884bce954549219deb8d1d008474710d0f8341f1a05581e03327ea9c74a569010835f730f434d836fefc1b235eab327692ae467ed900c024709bbf1c199f20003574963adb24e907b9d1dd28b77da39b541c6c59d76c52279019603c61efe31a605581e03c7819a65c14919deb0851a5eace26e653fcbdfc9bc999f0ca6e214a7200c01472caf104bb8ab0005581e035eb5f439e1c506a06a449a719e289ae955dcec12b964723c676587f520040205581e03207c1b1dcf6e8535dfcc51b8608b110e1e69ccb4ffe6c75713cee191e0040305581e03849712375a84f1add66322f50d88aefc5b57f8cc3d77ef0fddcf004a800c014729ad20b3120c0003a9b9713c47c50d913d64883e336b66e29d6b764050cf4f31e3383af29a3e2a3e02196eaf034c14a0a3ede581fe2df68b14f4a946cac5803da96b6cdd375e81c199e24c63aa03a72d0834c540dba61321820f34c6e47de02bd51d713a58700e92322443de0acf03945ea7a1181f2021a04dbfdadab62b86cb6bd07f330a4045d05e4fab3d78afd303bac4a2f767acfd188c43cb77209e3564be8de4842a8fcc775f9e91df6c65b97603480262b016c5e279b4dd5eaf52b8c85e854a8199cb49e6cc7bbf1d82eb030018034e6160bffbe1f95c25de7bf8be024627a22c87361990ba59bd42781a8c16072303ee56bc3d1aea2f9c7bd37e799eedb37e6538b1c33404ec91645843594f68ccb603c798940781538ffe89ac80a332a898b1678377f05f5bd36e1e6e55103e5855e90219ffff03895a68493206d4ebca60965450efd7dfefacd0ec44cd51ab856c736e91f66d8d03cd493b0cdf690c961a326864d54574c416d4fb557c677ec608c392481a85914e033c46cd4b9fd6907337eaed9978c361fadb33654b88881276994358e633b744090219ffff030c571a3f05042fb4506a1b43abace03a664a5f76b933d5646f83210e280b37d90219ffff034b04f6b592d2f7ebee4fb922b6690319fdd3b3d14f0ebfe7f1149f53f0b28d2203efd4e453f72b50d09a03a297888b82d49c1f0e772c492e07710c2ffdabd0d6e10303724e7bf277457f36220cd8d6474667e7ee00152c6df67e214a03f63c17838b03c779f576ca56d5d1feae2c7d03a2868358aa4cbc5937e89e7792005d29c43db003d4864c0c6aabae6f3ffb2cca8e1f5efadca45d734c7fc00e7ec7700d7e66b7020219ffff03750c9e5aa4747ab944157c1c1e45096cc206b80129488ec2e1664e9c3d1c0c0103d4d53b6dc04491f32c64ce51a23003628fe1182aba88e2cd662228ed75416906038b38e2d6d3ee03952d7ac93d58e9031aae8c08eeed4c9bc3b21da863549405a2034853cd845e271ec065f3dd2a359dd6e7abb102e440d8e3bb19d25d59ce1ca30403d3c60cbe133f8673bdb4d21f8c8267121fe01b577534eb88dd4c4f1bc385e89f03291efb76ebd577955ac8d00a6f530261ef9cb9259639b6e3f8d1d1c78175393a03351aded1965ac0a7d23dcfd6ffe78cb55e9eb6bbeba8f0441245a1323427cd1503e3762f1b14c5baf4d48a8e0f5b3a311d6aad22509ba4325f7f59429828a9244603f56972195ccccb877606092c6fe0035ccdadf4c08724039cb02280275a0efcdf0387670569bc51d046c3cf8489e8d9271dba7ff784094bea19625fea2134d80a9a03d8f8b7cfbfa92c022a8b12ab737a8e85c73d1eaf906482cdf89ba1a8ffe6d45803a935981f0737d7faa52ea2373652c2494fa1148b4ef9997b32679be81414ff7e0396e8987af967fd05f5a4ee5ebaa6174062d3aabca5af9c23d67746b0523a43f10348df617b1716e7d9417f10a7147d0ee301d10da6afbaeaaac36597b32b18a61403bd4bc1f45a97867c5a70b382e9dcc525669eb8b0a54ed5cf9585a8e90415a85d03267f8dfe895e64338fa5fc03cc430bfdace18389a4b730590d40661660c5901303c292219ba5e7a20bf6c30eb7d4b1971cb5abbd8ad5e3705deb3616485ce634cf03df2c3ec4de0acfdf826bc3016f4a13245c120ec2381b4daca30f37124cc9145603f7d8ce7cedddf1a3d2b0f80d1e837ec1792c66190c054a90b1559897bbeb468c0313ab944f75ea5433180e010af827b6afe18cc2c5fe438225db7ab24e7f73d84d0332d2e0d2c7b770e317b26201291b9a6bfdc2f9f4f7a662976aa8bf4d9ceaa92503aa9bc73ac7a456a4405df9b33bf0ee93f64df38ff7f1e76b8962e442a59af95c03f4b4b31039e2505e4257e01f31536c68446781ae0bb31d371fe815639486703c039b21c3e397836b8d135a4c9b8358ff0730e1e4c13270b2d0e46c4d48385713f803ee8276a0a9e97db28b9c36c76c915c8f5b6b7985187547cb69d2caea185cd498039b16b2a49a0c9f991cae7a3c7f3c86b2c7c8b9d9d5311dceb83463646a09e27803de4c595472b01a86fe6e557b50374154354835a07b4c79a7d63d5e68691a067a0397f1d92661678bddb70dbf3203774dae4721351feced522b308a21821b0f4c4e03e55397c03315b1be875b13f31bc34ee55a7adb1a529d7f5888de2b5bc2b38e0e03b8843062de35cf00fe1b12511b3fcfa56c6460f1e97179f5cd71dda18425735605581e0375af81c5405021664932ea050153d71356a6ab6eece4fa2d10a6f5791008473879f93e9b9d0005581e0337edb8155650f288c4d4e6db8d938a9c05bcd32c66b603b6570b53fb300c02410105581e03af466ff020eb53bbd8d3a7c9abf58fa098f60e42216f9f2aecc275c9a00c014705e0577a2b7c0005581e03d58f142a3841b7f263c8cc0b236e6190905b5bb91a7a983ceb8e94c2900c01468643a51f654803f44020043d0096e4656057abebd70a14d26271b7c0cb6a0829de4718ecb50f2003d1bf6a9deb7d34f523ef234768244329cd05add9e62bc0eb95961db38236f07b05581e03455d1bc7f6a02e3cd983c5ebe0c58eaa0d0897efcb4d891c272db258e007011bffffffffffffffff05581e03b3d7f2daf0f821ab6ae9f6249de4aa0e6aeb0e5817472fe13e64093a000c014745e41ca6576d8005581e03fa4c6d96b421cb1566afcaffbaa38c5dd1cbb66942d2b2c5d6bd07b8c008474380663abb800005581e0312e88105239a353b23381850f883ad8912915958496c1bbb4a8d361b30041705581e03db984e5d2d0ddd618fc476289b6d465a5b0e361c164a5635a11a9087100c01469fb0f1baca380219ef91032ee86152e9f693c563c36ab697dd471f629e16f8c8233d80a56d011a0254b573034295e637258b23a3f5c0247c796419bfc8a7201f1340f7abb5f7d07e8fcce205036c85a848429344f26babe547481c95d5e1140379b02185e477b6be051959293203192582dee662da6579a9bf6eaf302a53e4c4d0aa7f0d9498c399c2d11c8fdc2503e97affb67e8af7d42b9c7e2c50f02c37a891a344250cb1379c80b4b6af118344036a858df72db0817dbe414da9c5a8577fe76dcc72a78caed23e2270bab346bdc303b28e6ec4036b05a5c89684e0c79658554a21452cb9b869e912aa82b07aa4b0ef032fc3d9712619fa4b897426295ee7b6d92758c9a2f36aa7b03d941b3793c512ba0352f80b584c246830e305a382e2547d798ca21da0c226d1e2d3008f3a8a367b5d0219ffff03ebfad84f099c77bd79a02dc2d7c47972b0d5276d440b1973a862261059be9c220361574a4f5163449864eba77147633cf9e29e66de39f3d36153d1d70d71611b3803382dd21af1833c3e0a6b46f8ea3be4597753173ed0760477c28c85b6c93b81c6035e2424d5bdb0872c15a31bbc2f9c2d66c8cafc8e54b587b9b18c3c82cbf1a0f6035606ffb6c45a09668c8053f778076e0f5aa5bc8a83e2b7957e4d5c9d72477bf1032644ad1f0e0f955f3d15c6bd145df025d6a9a66445f409a3a6dd948d4a25b1640219ffff03789397d1f1a2b7c4d4b362acae783bcfbd215a922f9d217ba5a5672faf905777036621dfc663110dacbdb0e76a6f15fbf80ad28d8bf89599d01493af4e04fba20a03c67fac42558eda40cd6a7d4fc65f89093721e32d0aacc250a1c95d7197cf7872034042befdb1edadd82132c85a74dd4c3373a6ac57b72bd83408c36e19f77138a403fd9e62b2bee8d823f89636bb4470dec7c424f47e22897ac2584a88534561fdf903d82b8f40dc522be593a625ce6261a8caf91a138ac7c930632a62f0a8018e32a403643e5a6f669c5c96b4a78d0bb2feb580601f8a2a38f4930391c4396808bd87c1036d62a998090663340805d678ec339d47ed5406150c25af7814a6c3b32eefdddc039345d83d766ee712ef3d474f04725544e1842e64ea10527c79e8b520ef9bb4a70219ffff0330263da119ca7e2d4f80103264ac2c26ee8d7b9bb63c2502ff358854a34fedfe035d28418a908eef642b038e7c09d4fbb4713f8131a0cdaaf3b3b5d190bb47a40303848ad12a30480eaa01ddeca54aab3ad07fc156d8cb7fe0d43d97834f342adaab036a60eb59d88ca120f0fc54c4c36581438975b5b4a85c256abcb011294886ed7703516b3b4151a7364c2925a4391eb125fa47031ce753c99244a1789d91341338e903a1f252c0c53f6ee6b21bb5213e33af0121616e8d21e606d839a6e53f96c3d375036137e6fd3865c3aa177131fba8f1e2b4e83354d61fe297b944c77bcc5294ae3a0219ffff034a6ea6fd1732d67fa39195bf51e8f51686cfb99d7f69dfa9985280bfef94cef5036c1e4184df942e89f3be4e407b2af715c48a4a1dae2dd0ea3c5344e971ee99ef0332f7dc443562b610862a7d78d7d7e5a544459168a4727bdd2ba36412699c81890337d16662edc8becdd6f1b87d2cb263af115dcd2f0808b7ae942eb9f77b753aa303ad1293107c5884f7d2491bc982c3684e0cc8b7ef9968f2b65374c016638611e6038ba65ade4ebbbf5cdf0b6dc8aa21949b0a026080befe1bd18d07e027d30095ce03d89cc68500b81125fc64e540ce99bc0da4c912916541df0ce130289a449484ec03c6c4d4c88f76e0a9db3f6c33e8f4ebd0b2f1459ae20fb4272fd2353c4b1af6ae035ec8d0ee41f6f121cf70d40a462beba9ed2aab54334db736d7fdde01df9223d303256a4429d88d691f604da22b95085f55b3b0f28f1367854301790ccaa3e15706039cb3340d16f3070455a159f15954bb7e5d79ed5346ab49d68cb2c9cfa4dfd86c03ae66d8687bf1aa59214ee09abfed72207ec57af1cb4653a8ba2795495475a8e303b40fcc198e481683e4de4af40edea70d80658132ced56845a2332e4d979f7fa803f21a54c25124cbbfa2a4c18a4c9e6c04865bab70846b8c848c787f2000a4096e03301eb68c20b0ca4f552a7310a020c7a0812e9251c59273abd8f034d87b6d35ae032829584c4d73d64936eaff6ff00d2065b98e83060b31b70994460f24a1aec098034e0570a4206219bc1ff4269480aecd5488a8aeb9c120ef5789f45f138bfb76c303e8278f429a94fa7afd6af167bad9012b22961f7d861b9275ac4bede8deebe21103c28909d9b5b15175e989b2f29838b31cecc135d6ef9fa60f4c6729c64c4b66c9035773d25a76232746fa6c0c3ffb9d475395ba4d5d3b9c20dc0655bcf96bc722910371922288bed05a43ce2cd2b3a5b18616ed303fe20affd8fa590f54520ebd7b2203993add5605371f8429f46b8272b4c67aa0a71e824db4f23b1acd248335c0982f05581d03a0c9cf1688de729324d71300dc9a0d65f9e69245464a6231dc6543900403045957886080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806301ffc9a7146101f4578063088890dc146101ef578063150b7a02146101ea578063192128b2146101e55780631f00ca74146101e057806323a69e751461016d57806324856bc3146101db5780632f100e4a146101d65780632f40e62a146101d15780633593564c146101cc5780633d0e3ec5146101c757806349df728c146101c25780634b31e26f146101bd5780634eeca823146101b857806350431ce4146101b3578063547988f9146101ae578063791ac947146101a9578063a0136443146101a4578063b6f9de951461019f578063bb7b9c761461019a578063bc197c8114610195578063d06ca61f14610190578063d1ef92491461018b578063e81dc5c114610186578063eb92db2714610181578063f23a6e611461017c578063f2fde38b14610177578063f9da581d14610172578063fa461e331461016d5763fb3bdb410361000e576116c5565b610895565b611690565b611663565b611609565b6114f6565b61149d565b611443565b61141c565b61138d565b611373565b611314565b61126f565b6111c2565b6110ec565b611083565b61101f565b610fbc565b610ed5565b610d01565b610bf1565b610b2c565b610b14565b6109ff565b61086e565b610815565b610745565b6103ef565b346102625760203660031901126102625760043563ffffffff60e01b811680910361026257602090630271189760e51b8114908115610251575b8115610240575b506040519015158152f35b6301ffc9a760e01b1490505f610235565b630a85bd0160e11b8114915061022e565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03811161028d57604052565b610266565b606081019081106001600160401b0382111761028d57604052565b608081019081106001600160401b0382111761028d57604052565b60a081019081106001600160401b0382111761028d57604052565b90601f801991011681019081106001600160401b0382111761028d57604052565b6001600160401b03811161028d5760051b60200190565b6001600160a01b0381160361026257565b929161033782610304565b9161034560405193846102e3565b829481845260208094019160051b810192831161026257905b82821061036b5750505050565b83809183356103798161031b565b81520191019061035e565b9080601f830112156102625781602061039f9335910161032c565b90565b9060a06003198301126102625760043591602435906001600160401b038211610262576103d191600401610384565b906044356103de8161031b565b906064359060843561039f8161031b565b6104066103fb366103a2565b9294904211156116ef565b61041761041283612865565b61173b565b61043061042385611791565b516001600160a01b031690565b6001546001600160a01b03949161045091869081165b16951685146117d7565b833b15610262575f60049460405195868092630d0e30db60e41b825234905af193841561068957610500946106ff575b506001546104a490610498906001600160a01b031681565b6001600160a01b031690565b6104c66104b361042388611791565b6104bf610423896117a3565b90866128d5565b60405163a9059cbb60e01b81526001600160a01b0390911660048201523460248201526020959091869183919082905f9082906044820190565b03925af180156106895761051b915f916106d2575b50611843565b6105376104986104986104236105318951611872565b896117c3565b6040516370a0823160e01b8082526001600160a01b038516600483015292918690829060249082905afa9485156106895787915f966106ab575b5061057d918591612aab565b6105996104986104986104236105938a51611872565b8a6117c3565b6040518381526001600160a01b0385166004820152908690829060249082905afa908115610689576105d49186915f9161068e575b50612c17565b101594856105e6575b610018866118c0565b61063095509061060b610498610498610423856106058a989751611872565b906117c3565b6040519182526001600160a01b03909216600482015294859190829081906024820190565b03915afa80156106895761001893610650935f9261065c575b5050612c17565b1515905f8080806105dd565b61067b9250803d10610682575b61067381836102e3565b8101906118b1565b5f80610649565b503d610669565b611823565b6106a59150883d8a116106825761067381836102e3565b5f6105ce565b85919650916106c961057d93893d8b116106825761067381836102e3565b96915091610571565b6106f29150863d88116106f8575b6106ea81836102e3565b81019061182e565b5f610515565b503d6106e0565b8061070c6107129261027a565b80611079565b5f610480565b9181601f84011215610262578235916001600160401b038311610262576020838186019501011161026257565b346102625760803660031901126102625761076160043561031b565b61076c60243561031b565b6064356001600160401b0381116102625761078b903690600401610718565b5050604051630a85bd0160e11b8152602090f35b6060600319820112610262576004356107b78161031b565b9160243591604435906001600160401b0382116102625761039f91600401610384565b60209060206040818301928281528551809452019301915f5b828110610801575050505090565b8351855293810193928101926001016107f3565b346102625761083b61082f6108293661079f565b916119aa565b604051918291826107da565b0390f35b9060406003198301126102625760043591602435906001600160401b0382116102625761039f91600401610384565b346102625761083b61082f6108823661083f565b5f549091906001600160a01b03166119aa565b34610262576060366003190112610262576024356004356044356001600160401b038111610262576108cb903690600401610718565b925f8313938415806109c5575b6109b357826108ec9161090c94019061280f565b6001600160a01b0390811692610901836143e2565b818398929a93614430565b83339116036109a157156109935750808616908416105b156109355750610018935033916144d1565b9150916042825110155f1461096957610018935061095282614559565b61096461095f33926145f6565b612855565b614605565b919290506009548211610981576100189233916144d1565b6040516339cedf2960e11b8152600490fd5b945080841690861610610923565b6040516332b13d9160e01b8152600490fd5b60405163316cf0eb60e01b8152600490fd5b505f8213156108d8565b9181601f84011215610262578235916001600160401b038311610262576020808501948460051b01011161026257565b604080600319360112610262576001600160401b036004803582811161026257610a2c9036908301610718565b93909260243590811161026257610a4690369084016109cf565b946001956001600c5403610b03576002600c55818103610aef575f5b828110610a73576100186001600c55565b610a8f610a8182858a611abd565b356001600160f81b03191690565b610aad610aa7610aa0848689611ac9565b3691611b25565b826133b7565b159081610ae0575b50610ac1578701610a62565b8451632c4029e960e01b8152908190610adc90828901611b7f565b0390fd5b600160ff1b161590505f610ab5565b6040516001621398b960e31b031981528590fd5b6040516337affdbf60e11b81528590fd5b61083b61082f610b23366103a2565b93929092611bad565b60e036600319011261026257600435610b448161031b565b6001600160401b039060243582811161026257610b65903690600401610384565b91604435908111610262573660238201121561026257806004013592610b8a84610304565b91610b9860405193846102e3565b8483526020946024602085019160051b8301019136831161026257602401905b828210610bd65761001860c43560a43560843560643589898c611d9f565b813562ffffff81168103610262578152908601908601610bb8565b60603660031901126102625760046001600160401b03813581811161026257610c1d9036908401610718565b92909160243590811161026257610c3790369083016109cf565b936044354211610cf0576001946001600c5403610cdf576002600c55818103610ccb575f5b828110610c6d576100186001600c55565b610c7b610a81828589611abd565b610c8c610aa7610aa0848689611ac9565b159081610cbc575b50610ca0578601610c5c565b604051632c4029e960e01b8152908190610adc90828801611b7f565b600160ff1b161590505f610c94565b6040516001621398b960e31b031981528490fd5b6040516337affdbf60e11b81528490fd5b604051632dfb7c8b60e11b81528390fd5b346102625760c0366003190112610262576044356001600160401b03811161026257610d34610e009136906004016109cf565b6064359291610d428461031b565b610dfa60a43591610d528361031b565b610d604260843510156116ef565b610d6c61041284612865565b610db0610d8a610d85610d7e87611872565b8785611f31565b611f41565b600154610d9f906001600160a01b0316610498565b6001600160a01b03909116146117d7565b610df1610dc0610d858684611f19565b610dcd610d858785611f19565b90610de960043592610de2610d858a88611f22565b90886128d5565b9033906140f5565b3093369161032c565b90612aab565b600154610e1790610498906001600160a01b031681565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92610eb4575b5060243582101580610eab575b610e59906118c0565b823b1561026257604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af19283156106895761001893610e98575b5061376c565b8061070c610ea59261027a565b5f610e92565b50811515610e50565b610ece91925060203d6020116106825761067381836102e3565b905f610e43565b346102625760208060031936011261026257600435610ef38161031b565b610efb6141d1565b6040516370a0823160e01b81523060048201526001600160a01b0391909116908281602481855afa908115610689575f928492610f6f928591610f95575b50610f45811515611f4b565b60405163a9059cbb60e01b8152336004820152602481019190915293849283919082906044820190565b03925af1801561068957610f7f57005b8161001892903d106106f8576106ea81836102e3565b610fac9150843d86116106825761067381836102e3565b5f610f39565b8015150361026257565b60c036600319011261026257600435610fd481610fb2565b602435906001600160401b03821161026257610ff76100189236906004016109cf565b916064359061100582610fb2565b60a435936110128561031b565b6084359360443592611f8f565b60c0366003190112610262576044356001600160401b0381116102625761082f61105061083b923690600401610384565b6064359061105d8261031b565b60a4359161106a8361031b565b6084359160243560043561234b565b5f91031261026257565b34610262575f3660031901126102625761109b6141d1565b4780156110b1575f808080933382f11561068957005b60405162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20776974686472617760681b6044820152606490fd5b6080366003190112610262576001600160401b0360048035828111610262576111189036908301610718565b926024359081116102625761113090369084016109cf565b9290606435936044354211610cf05761114b85341015611e99565b6001956001600c5403610cdf576002600c55808203610ccb575f5b818110611180576100188761117b6001600c55565b614044565b61118e610a81828489611abd565b61119f610aa7610aa0848789611ac9565b1590816111b3575b50610ca0578701611166565b600160ff1b161590505f6111a7565b346102625760a0366003190112610262576044356001600160401b038111610262576111f5610e009136906004016109cf565b60643592916112038461031b565b610dfa42608435101591611216836116ef565b610db060018060a01b0361122d815f5416956116ef565b61123961041286612865565b61124f610d8561124888611872565b8886611f31565b600154909190611267906001600160a01b0316610498565b9116146117d7565b60a03660031901126102625760043561128781610fb2565b602435906001600160401b038211610262576112aa6100189236906004016109cf565b91606435906112b882610fb2565b5f546001600160a01b0316936084359360443592611f8f565b9060806003198301126102625760043591602435906001600160401b0382116102625761130091600401610384565b9060443561130d8161031b565b9060643590565b61131d366112d1565b9291924211159061132d826116ef565b5f546001600160a01b039390841692611345906116ef565b61135161041284612865565b61045061136061042387611791565b60015486906001600160a01b0316610446565b346102625761083b61082f6113873661079f565b916123d3565b346102625760a0366003190112610262576113a960043561031b565b6113b460243561031b565b6001600160401b03604435818111610262576113d49036906004016109cf565b5050606435818111610262576113ee9036906004016109cf565b505060843590811161026257611408903690600401610718565b505060405163bc197c8160e01b8152602090f35b346102625761083b61082f6114303661083f565b5f549091906001600160a01b03166123d3565b60c0366003190112610262576004356001600160401b038111610262576114716100189136906004016109cf565b906044359161147f83610fb2565b60a4359261148c8461031b565b6084359260643592602435916124d1565b60a0366003190112610262576004356001600160401b038111610262576114cb6100189136906004016109cf565b90604435916114d983610fb2565b5f546001600160a01b0316926084359260643592602435916124d1565b34610262576020366003190112610262576004356001600160401b0380821691828103610262575f805160206157338339815191528054928460ff8560401c169182156115fc575b50506115ea577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2936115e5936001600160401b0319161790556115a55f805160206157338339815191526801000000000000000068ff000000000000000019825416179055565b6115ad61264d565b5f80516020615733833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b851610159050845f61153e565b346102625760a03660031901126102625761162560043561031b565b61163060243561031b565b6084356001600160401b0381116102625761164f903690600401610718565b505060405163f23a6e6160e01b8152602090f35b34610262576020366003190112610262576100186004356116838161031b565b61168b6141d1565b61278b565b5f366003190112610262576116a36141d1565b5f34156116bc575b5f8080809334904190f11561068957005b506108fc6116ab565b6100186116d1366112d1565b916116de428410156116ef565b5f546001600160a01b031693611bad565b156116f657565b60405162461bcd60e51b815260206004820152601860248201527f556e69737761705632526f757465723a204558504952454400000000000000006044820152606490fd5b1561174257565b60405162461bcd60e51b8152602060048201526013602482015272556e737570706f7274656420466163746f727960681b6044820152606490fd5b634e487b7160e01b5f52603260045260245ffd5b80511561179e5760200190565b61177d565b80516001101561179e5760400190565b80516002101561179e5760600190565b805182101561179e5760209160051b010190565b156117de57565b60405162461bcd60e51b815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f504154480000006044820152606490fd5b6040513d5f823e3d90fd5b90816020910312610262575161039f81610fb2565b1561184a57565b634e487b7160e01b5f52600160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161188057565b61185e565b60011981019190821161188057565b9061271091820391821161188057565b9190820391821161188057565b90816020910312610262575190565b156118c757565b60405162461bcd60e51b815260206004820152602b60248201527f556e69737761705632526f757465723a20494e53554646494349454e545f4f5560448201526a1514155517d05353d5539560aa1b6064820152608490fd5b1561192757565b60405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f5041544800006044820152606490fd5b9061197682610304565b61198360405191826102e3565b8281528092611994601f1991610304565b0190602036910137565b8015611880575f190190565b929190926119bc600283511015611920565b6119c6825161196c565b936119da6119d48651611872565b866117c3565b526119e481612c24565b906119ef8351611872565b805b6119fb5750505050565b80611a29611a15610423611a0f8795611872565b886117c3565b611a2261042384896117c3565b9085612d0d565b50909391905f9083611a9757505090611a7f91611a9194611a6c611a58610423611a5288611872565b8c6117c3565b611a65610423888d6117c3565b90896128d5565b915b611a78868d6117c3565b5188612f41565b611a8b61053183611872565b5261199e565b806119f1565b809194959350611ab3575b50611a919392611a7f928792611a6e565b9550611a91611aa2565b9082101561179e570190565b919081101561179e5760051b81013590601e19813603018212156102625701908135916001600160401b038311610262576020018236038113610262579190565b6001600160401b03811161028d57601f01601f191660200190565b929192611b3182611b0a565b91611b3f60405193846102e3565b829481845281830111610262578281602093845f960137010152565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60609181526040602082015281518060408301528060808484015e5f828201840152601f01601f1916010190565b92611bba904211156116ef565b611bc661041285612865565b611bf881611bd661042382611791565b6001546001600160a01b039081169691611bf2911687146117d7565b866119aa565b93611c0e611c0586611791565b51341015611d43565b611c1785611791565b5193803b15610262575f90600460405180978193630d0e30db60e41b83525af193841561068957611cc394611d30575b50600154602090611c6290610498906001600160a01b031681565b611c84611c7161042386611791565b611c7d610423876117a3565b90856128d5565b90611c8e88611791565b5160405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909586919082905f9082906044820190565b03925af190811561068957611ce38692611ce8965f91611d175750611843565b613617565b611cf181611791565b513411611cfb5790565b61039f611d11611d0a83611791565b51346118a4565b3361376c565b6106f2915060203d6020116106f8576106ea81836102e3565b8061070c611d3d9261027a565b5f611c47565b15611d4a57565b60405162461bcd60e51b815260206004820152602760248201527f556e69737761705632526f757465723a204558434553534956455f494e50555460448201526617d05353d5539560ca1b6064820152608490fd5b91909395944211611e87576001600c5403611e75576002600c55611dc585341015611e99565b8351815190600182018092116118805703611e405783611dff93611e1897611ded88346118a4565b91611df883306137e3565b30956139d8565b611e0833613df5565b6003815114611e24575b50614044565b611e226001600c55565b565b611e3a90611e3561042333926117a3565b613f2c565b5f611e12565b60405162461bcd60e51b815260206004820152600d60248201526c1a5b9d985b1a59081a5b9c1d5d609a1b6044820152606490fd5b6040516337affdbf60e11b8152600490fd5b604051632dfb7c8b60e11b8152600490fd5b15611ea057565b60405162461bcd60e51b815260206004820152602160248201527f5469702063616e277420626520626967676572207468616e2074782076616c756044820152606560f81b6064820152608490fd5b906001820180921161188057565b906002820180921161188057565b906064820180921161188057565b901561179e5790565b906001101561179e5760200190565b919081101561179e5760051b0190565b3561039f8161031b565b15611f5257565b60405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b6044820152606490fd5b9293949091611fa085341015611e99565b8434039234841161188057611fb691369161032c565b9215611fdd575093611fd791611e2295611fcf42611f0b565b913391612160565b506140a0565b9490916064420180421161188057611ff7904211156116ef565b61200361041283612865565b6120358161201361042382611791565b6001546001600160a01b03908116999161202f91168a146117d7565b846119aa565b9161204b8461204385611791565b511115611d43565b61205483611791565b5196803b15610262575f906004604051809a8193630d0e30db60e41b83525af1968715610689576120ed9761214d575b5060015460209061209f90610498906001600160a01b031681565b6120ae611c7161042386611791565b906120b886611791565b5160405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909889919082905f9082906044820190565b03925af19182156106895761210f61211793611e22995f91611d175750611843565b833392613617565b61212081611791565b51821161212f575b50506140a0565b6121469161213f611d1192611791565b51906118a4565b5f80612128565b8061070c61215a9261027a565b5f612084565b93919092612170904211156116ef565b61217c61041283612865565b6121ae8361218c61042382611791565b6001546001600160a01b0390811697916121a8911688146117d7565b846123d3565b936121bc6119d48651611872565b506121db6121d36121cd8751611872565b876117c3565b5115156118c0565b6121e485611791565b5190803b15610262575f90600460405180948193630d0e30db60e41b83525af1801561068957612338575b5060015461222790610498906001600160a01b031681565b90612237611c7161042386611791565b9361224186611791565b5160405163a9059cbb60e01b81526001600160a01b039690961660048701526024860152602094928590849060449082905f905af1801561068957610498610423836122a8866122b2968c6122df9b611ce3610498998f9d8e5f9261231b575b5050611843565b6106058151611872565b6040516370a0823160e01b81526001600160a01b0390921660048301529092839190829081906024820190565b03915afa9081156106895761039f925f926122fe575b505015156118c0565b6123149250803d106106825761067381836102e3565b5f806122f5565b6123319250803d106106f8576106ea81836102e3565b5f8e6122a1565b8061070c6123459261027a565b5f61220f565b909492919361235c904211156116ef565b61236861041284612865565b6123988461237861042382611791565b6001546001600160a01b0394916123929186908116610446565b856123d3565b946123a66121cd8751611872565b511015806123b8575b6121db906118c0565b506121db6123c96121cd8751611872565b51151590506123af565b929190926123e5600283511015611920565b6123ef825161196c565b936123f985611791565b5261240381612c24565b915f5b6124108251611872565b8110156124cb578061243f6124296104238794866117c3565b6124386104236121cd85611eef565b9086612d0d565b50909391905f90836124a75750509061249491600194612481612465610423878a6117c3565b61247a61042361247489611eef565b8b6117c3565b908a6128d5565b915b61248d868d6117c3565b51896142bf565b6124a061053183611eef565b5201612406565b8091949593506124c2575b5060019392612494928892612483565b965060016124b2565b50505050565b969594939291906124e482341015611e99565b81340390348211611880576124fa36828b61032c565b94612509600287511015611920565b612513865161196c565b95816125226105318951611872565b5261252c89612c24565b906125378151611872565b90818315925b612576575050505050612570611e2298998361256661255f6105938a51611872565b5198611791565b511192369161032c565b9161421c565b806125e285858f948e6125f4966125a9612595610423611a5286611872565b6125a2610423868d6117c3565b9083612d0d565b50509390928d856125ba8d51611872565b84149182612642575b5050612629575b5f956125fa575b906125db916117c3565b5190612f41565b611a8b6125ee83611872565b8d6117c3565b8061253d565b9450806126208b611c7d6104238461261a6104236119d46125db99611872565b936117c3565b959091506125d1565b61263285611872565b61263c83836117c3565b526125ca565b10159050858f6125c3565b73bdeb498e872e36f899f237fd1b93673ed6c14474330361275a57612670615060565b612678615060565b6126813361278b565b612689615060565b6001600160601b0360a01b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f815f5416175f5573c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2808260015416176001556126d7615060565b6e22d473030f116ddee9f6b43ac78ba3826003541617600355816002541617600255731f98431c8ad98523631ae4a59f267346ea31f9848160045416176004557fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546005556006541660065561274a614379565b612752614389565b611e226143d3565b60405162461bcd60e51b81526020600482015260096024820152682737ba1027bbb732b960b91b6044820152606490fd5b6001600160a01b039081169081156127f7577f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91906040838203126102625782356001600160401b03811161026257830181601f8201121561026257602091818361284993359101611b25565b92013561039f8161031b565b600160ff1b8114611880575f0390565b60018060a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81149081156128cc575b81156128c3575b81156128ba575b81156128b1575b816128aa575090565b9050151590565b801591506128a1565b8015915061289a565b80159150612893565b8015915061288c565b916128df9161471a565b6128ea839293612c24565b6129a65761039f9261293c61294a612907610498610498876147e1565b93604051928391602083019586906029926001600160601b0319809260601b16835260601b1660148201525f60288201520190565b03601f1981018352826102e3565b51902090916043916055936040519260388401526f5af43d82803e903d91602b57fd5bf3ff60248401526014830152733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c8201206078820152012090565b906129e3612a4b61039f9461049894604051938491602083019384906028926001600160601b0319809260601b16835260601b1660148201520190565b03926129f7601f19948581018352826102e3565b51902091612a04846147e1565b6040516001600160f81b03196020820190815260609690961b6bffffffffffffffffffffffff191660218201526035810194909452605584015260759081018352826102e3565b5190206001600160a01b031690565b604051602081018181106001600160401b0382111761028d576040525f8152905f368137565b909260809261039f95948352602083015260018060a01b031660408201528160608201520190611b5b565b9092915f5b612aba8551611872565b811015612c1057612ace61042382876117c3565b90612ade610423611a0f83611eef565b91612ae9838261471a565b5092612af68183886128d5565b8094612b0383858a612d0d565b50604080516370a0823160e01b81526001600160a01b03968716600480830191909152919891969491851693909260209290918385602481895afa918215610689578f612b608f9483908b99612b66995f9261065c575050612c17565b906142bf565b931603612c08578a5f92945b612b7c8251611885565b881015612bff57612b96610423612b9d936106058b611efd565b908b6128d5565b965b1691612ba9612a5a565b90833b1561026257612bd25f9692879351998a978896879563022c0d9f60e01b87528601612a80565b03925af191821561068957600192612bec575b5001612ab0565b8061070c612bf99261027a565b5f612be5565b50508796612b9f565b8a5f94612b72565b5050509050565b9081039081116118805790565b5f906001600160a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8103612c525750506126f290565b61039f57505f90565b51906001600160701b038216820361026257565b9081606091031261026257612c8381612c5b565b916040612c9260208401612c5b565b92015163ffffffff811681036102625790565b519061ffff8216820361026257565b919082608091031261026257612cc982612c5b565b91612cd660208201612c5b565b9161039f6060612ce860408501612ca5565b9301612ca5565b8115612cf9570490565b634e487b7160e01b5f52601260045260245ffd5b9091612d19818461471a565b5091612d2481612c24565b60018103612dfd5750612d42610498610498600494876080956128d5565b604051630240bc6b60e21b815292839182905afa908115610689575f935f80925f94612dbb575b50600a612d9691612d8e8261ffff80936001600160701b038091169b16971604611894565b951604611894565b92935b6001600160a01b03918216911603612db5579291905b90919293565b91612daf565b9050612d969550600a9350612de991925060803d608011612df6575b612de181836102e3565b810190612cb4565b9296509193919291612d69565b503d612dd7565b91612e1461049861049860609388600499966128d5565b604051630240bc6b60e21b815295869182905afa8015610689575f945f91612e4d575b506001600160701b038091169416908293612d99565b9050612e7291945060603d606011612e7c575b612e6a81836102e3565b810190612c6f565b509390935f612e37565b503d612e60565b15612e8a57565b60405162461bcd60e51b815260206004820152602c60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4f60448201526b155514155517d05353d5539560a21b6064820152608490fd5b15612eeb57565b60405162461bcd60e51b815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604482015267495155494449545960c01b6064820152608490fd5b909394612f4f851515612e83565b82151580613023575b612f6190612ee4565b80613005575060405163cc56b2c560e01b81526001600160a01b0395861660048201525f60248201529460209186916044918391165afa90811561068957612fd684612fd0612fcb612fe197612fc5612fdb9761039f9b5f91612fe6575b50611894565b95614888565b61482d565b94612c17565b614888565b90612cef565b6148c4565b612fff915060203d6020116106825761067381836102e3565b5f612fbf565b905061039f9450612fd684612fd0612fcb612fe197612fdb96614888565b50831515612f58565b5190611e228261031b565b9080601f830112156102625781519060209161305281610304565b9361306060405195866102e3565b81855260208086019260051b82010192831161026257602001905b828210613089575050505090565b83809183516130978161031b565b81520191019061307b565b9080601f83011215610262578151906020916130bd81610304565b936130cb60405195866102e3565b81855260208086019260051b82010192831161026257602001905b8282106130f4575050505090565b815181529083019083016130e6565b919060a083820312610262578251926020810151926040820151926001600160401b0393848111610262578161313a918501613037565b936060840151908111610262576080916131559185016130a2565b92015161039f8161031b565b608081830312610262578051926020820151926001600160401b03938481116102625781613190918501613037565b936040840151908111610262576060916131559185016130a2565b919082604091031261026257602082516131c48161031b565b92015190565b519065ffffffffffff8216820361026257565b81601f82011215610262578051906131f482611b0a565b9261320260405194856102e3565b8284526020838301011161026257815f9260208093018386015e8301015290565b91909180830360e081126102625760c081126102625760806040519161324883610292565b1261026257604051613259816102ad565b82516132648161031b565b815260208301516132748161031b565b6020820152613285604084016131ca565b6040820152613296606084016131ca565b606082015281526132a96080830161302c565b602082015260a082015160408201529260c08201516001600160401b0381116102625761039f92016131dd565b604061039f94936101009360018060a01b038091168452815181815116602086015281602082015116848601526060848201519165ffffffffffff80931682880152015116608085015260208201511660a0840152015160c08201528160e08201520190611b5b565b908160609103126102625780516133558161031b565b91604060208301516131c48161031b565b919060a08382031261026257825161337d8161031b565b9260208101519260408201519260608301516001600160401b038111610262576080916133ab9185016131dd565b92015161039f81610fb2565b600192919060f81c601f16601081106133ce575050565b60088110156134a5578061341e57506133f381602080611e2294518301019101613366565b909290156134145761340f33945b6001600160a01b0316614d5f565b614f0c565b61340f3094613401565b60018103613467575061343d81602080611e2294518301019101613366565b9092901561345d5761345833946001600160a01b0316614d5f565b614d83565b6134583094613401565b600414613472575b50565b61348881602080611e229451830101910161333f565b91906001600160a01b039061349e908216614d5f565b9116613faf565b600a81036135235750806020806134c193518301019101613223565b6003549091906134d9906001600160a01b0316610498565b91823b1561026257613505925f92836040518096819582946302b67b5760e41b845233600485016132d6565b03925af18015610689576135165750565b8061070c611e229261027a565b600b810361355a575061355561354582602080611e22955183010191016131ab565b91906001600160a01b0316614d5f565b6137e3565b600c8103613581575061357c61354582602080611e22955183010191016131ab565b613eb4565b600d81036135b357506135a081602080611e2294518301019101613161565b6001600160a01b03169290919034614c2c565b600e81036135e557506135d28160208061346f94518301019101613161565b6001600160a01b03169290919034614ae6565b600f146135ef5750565b61360581602080611e2294518301019101613103565b6001600160a01b031693909290614965565b90919392935f5b6136288251611872565b8110156137355761363c61042382846117c3565b9061365261042361364c83611eef565b856117c3565b9161365d838261471a565b509061366b611a0f84611eef565b51916001600160a01b03828116911603613725576136be6104986104985f94965b6136968951611885565b87101561371e576136b66136af610423611a528a611efd565b828c6128d5565b945b8a6128d5565b6136c6612a5a565b94813b15610262575f80946136f16040519889968795869463022c0d9f60e01b865260048601612a80565b03925af19182156106895760019261370b575b500161361e565b8061070c6137189261027a565b5f613704565b8c946136b8565b6136be6104986104985f9661368c565b505050509050565b3d15613767573d9061374e82611b0a565b9161375c60405193846102e3565b82523d5f602084013e565b606090565b5f918291613778612a5a565b91602083519301915af161378a61373d565b501561379257565b60405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b6064820152608490fd5b90600160ff1b81036138cb575047905b816137fc575050565b600254613811906001600160a01b0316610498565b803b15610262575f8391600460405180968193630d0e30db60e41b83525af19182156106895761388f936020936138b8575b50600254613859906001600160a01b0316610498565b60405163a9059cbb60e01b81526001600160a01b03909216600483015260248201929092529283919082905f9082906044820190565b03925af18015610689576138a05750565b61346f9060203d6020116106f8576106ea81836102e3565b8061070c6138c59261027a565b5f613843565b90478211156137f3575b604051631a84bc4160e21b8152600490fd5b9360429592916001600160601b03199485809260601b16875262ffffff60e81b809460e81b16601488015260601b16601786015260e81b16602b84015260601b16602e8201520190565b6001600160a01b039081165f19019190821161188057565b6001600160a01b039081166001019190821161188057565b90613979602091949394604084526040840190611b5b565b6001600160a01b03909416910152565b9190826040910312610262576020825192015190565b6001600160a01b039182168152911515602083015260408201929092529116606082015260a06080820181905261039f92910190611b5b565b93959491926139e690600955565b613a636139fb6104986104986104238a611791565b91613a32613a0b6104238a611791565b613a176104238b6117a3565b613a2c613a2388611791565b5162ffffff1690565b91614430565b604080516370a0823160e01b81526001600160a01b0390921660048301529360209384918391829081906024820190565b03915afa801561068957600a915f91613dd8575b50048110613b70575b613a97575b50505050505050611e22600854600955565b613b139660018451145f14613b1f57613b0d9281613ad2610423613acc613a23613ac661042361293c986117a3565b99611791565b92611791565b915195869485019192602b936001600160601b0319809360601b16845262ffffff60e81b9060e81b16601484015260601b1660178201520190565b91614e1b565b5f808080808080613a85565b613b0d9281613b3361042361293c946117b3565b95613b40613a23826117a3565b613b64610423613b5e613a23613b58610423886117a3565b95611791565b94611791565b935197889687016138e7565b8351600103613d7f57878784613b8861042384611791565b613be3613b97613a238a611791565b9161293c613ba7610423886117a3565b85519485938b85019192602b936001600160601b0319809360601b16845262ffffff60e81b9060e81b16601484015260601b1660178201520190565b613c31610498610498613bf8610423886117a3565b613c076104986104238a611791565b6001600160a01b0390911610968b613a2c613a23613acc610423613c2b8187611791565b956117a3565b845f8c613c94613c4361095f8b6145f6565b95848414613d5a57600a54613c78908d9061293c90613c6a906001600160a01b0316613949565b9b5b8b519485938401613961565b8751630251596160e31b8152988997889687956004870161399f565b03925af191825f925f94613d25575b50613ceb57505050848103613a8057825162461bcd60e51b8152602060048201526012602482015271151bdbc81b5d58da081c995c5d595cdd195960721b6044820152606490fd5b15613d165750613cfa90612855565b03613d05575f613a80565b8151636a70124760e11b8152600490fd5b613d209150612855565b613cfa565b909350613d49919250863d8811613d53575b613d4181836102e3565b810190613989565b919091925f613ca3565b503d613d37565b600b54613c78908d9061293c90613d79906001600160a01b0316613931565b9b613c6c565b878784613d8e61042384611791565b613dd3613d9d613a238a611791565b9161293c613dad610423886117a3565b613db9613a238d6117a3565b613dc56104238a6117b3565b9187519687958d87016138e7565b613be3565b613def9150843d86116106825761067381836102e3565b5f613a77565b600254613e0a906001600160a01b0316610498565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92613e93575b5081613e4157505050565b823b1561026257604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af192831561068957611e2293613e80575b50614fa7565b8061070c613e8d9261027a565b5f613e7a565b613ead91925060203d6020116106825761067381836102e3565b905f613e36565b600254909190613ecc906001600160a01b0316610498565b6040516370a0823160e01b815230600482015290929091602083602481875afa928315610689575f93613f0b575b5082106138d55781613e4157505050565b613f2591935060203d6020116106825761067381836102e3565b915f613efa565b6001600160a01b031680613f4e57504780613f45575050565b611e2291614fa7565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92613f8e575b5081613f8557505050565b611e2292614ff1565b613fa891925060203d6020116106825761067381836102e3565b905f613f7a565b9091906001600160a01b031680613fd25750479081106138d55780613f45575050565b6040516370a0823160e01b815230600482015290929091602083602481875afa928315610689575f93614023575b5082106140115781613f8557505050565b604051630ceb95c760e31b8152600490fd5b61403d91935060203d6020116106825761067381836102e3565b915f614000565b80614078575b504780158015614058575050565b5f8080938193829061406f575b3390f11561068957565b506108fc614065565b5f8091614083612a5a565b90602082519201904161c350f15061409961373d565b505f61404a565b90816140b6575b50504780158015614058575050565b5f806140e6936140c4612a5a565b90602082519201904161c350f16140d961373d565b5081156140ed5750611843565b5f806140a7565b90505f610515565b90915f80949381946040519160208301946323b872dd60e01b865260018060a01b038092166024850152166044830152606482015260648152614137816102c8565b51925af161414361373d565b816141a2575b501561415157565b60405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b6064820152608490fd5b80518015925082156141b7575b50505f614149565b6141ca925060208091830101910161182e565b5f806141af565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316330361420457565b60405163118cdaa760e01b8152336004820152602490fd5b9294909593955f14614244575091611e229591611fd79361423c42611f0b565b92339261234b565b959192506064420180421161188057611ff7904211156116ef565b1561426657565b60405162461bcd60e51b815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201526a1394155517d05353d5539560aa1b6064820152608490fd5b93909291936142cf84151561425f565b84151580614370575b6142e190612ee4565b856143585760405163cc56b2c560e01b81526001600160a01b0392831660048201525f6024820152955060209186916044918391165afa9182156106895761434d61434661435392614340612fdb9661039f995f91612fe65750611894565b90614888565b9283614888565b9361482d565b614915565b505061435361434d61434661039f96612fdb95614888565b508215156142d8565b614381615060565b612710600755565b614391615060565b5f198060085560095573fffd8963efd1fc6a506488495d951d5263988d266001600160601b0360a01b6401000276a381600a541617600a55600b541617600b55565b6143db615060565b6001600c55565b9081516143ef818461508e565b926017821061441e57602b6017820151921061440c57602b015191565b60405163a78aa27f60e01b8152600490fd5b604051636c84b51f60e11b8152600490fd5b6001600160a01b039291838116848316116144cb575b62ffffff846004541693856040519381602086019616865216604084015216606082015260608152614477816102ad565b5190206005546040516001600160f81b03196020820190815260609490941b6bffffffffffffffffffffffff19166021820152603581019290925260558201526144c4816075810161293c565b5190201690565b90614446565b6001600160a01b0393929184163081036144f05750611e22935061509d565b848492941161454757846003541693843b15610262575f94868692816084966040519a8b998a98631b63c28b60e11b8a5260048a01521660248801521660448601521660648401525af18015610689576135165750565b60405163c4bd89a960e01b8152600490fd5b8051601619808201929190818411611880578360088301106145e457601782106145e457818351106145d257601782146145c057601f8416801560051b0183019182010160178201915b8181106145b05750505052565b82518152602092830192016145a3565b60405163664a531d60e11b8152600490fd5b604051633b99b53d60e01b8152600490fd5b6040516323d5783d60e11b8152600490fd5b600160ff1b8110156102625790565b61049892936104985f60409461468c61463c6146208a6143e2565b6001600160a01b03808416908316109b8c989093909290614430565b948484146146c457600a546146709061465d906001600160a01b0316613949565b9a5b61293c8a5193849260208401613961565b8751630251596160e31b8152998a97889687956004870161399f565b03925af18015610689575f925f916146a357509192565b90506146bf91925060403d604011613d5357613d4181836102e3565b919092565b600b54614670906146dd906001600160a01b0316613931565b9a61465f565b61049892936104985f60409461468c61463c6146fe8a6143e2565b6001600160a01b03808316908416109b8c989093909290614430565b90916001600160a01b039182841683821680821461478e57101561478957925b9183161561474457565b60405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606490fd5b61473a565b60405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b6064820152608490fd5b5f906001600160a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8103612c525750507f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f90565b9061271091828102928184048114821517156118805783040361484c57565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b6044820152606490fd5b5f9291801591821561489e575b50501561484c57565b80820294509150811582850482141715611880576148bc9084612cef565b145f80614895565b9060018201918281116118805782106148d957565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b6044820152606490fd5b91908201918281116118805782106148d957565b1561493057565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fd5b909392916149c1816149e4946149bc60018060a01b0361498a81600654161515614929565b61499a6104236119d48651611872565b6002549091906149b490610498906001600160a01b031681565b911614614a5d565b615186565b6149dd836149d161042385611791565b610de961042385611791565b3092615436565b506002546149fa906001600160a01b0316610498565b6040516370a0823160e01b815230600482015290602090829060249082905afa801561068957611e2293614a37925f92614a3c575b501115614a9a565b613df5565b614a5691925060203d6020116106825761067381836102e3565b905f614a2f565b15614a6457565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420496e7075747360901b6044820152606490fd5b15614aa157565b60405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e540000000000006044820152606490fd5b92919360018060a01b0390614b0082600654161515614929565b85511561179e57614b3986614b86956149bc614b7f95602084015116614b3361049861049860025460018060a01b031690565b14614a5d565b95614b45848289615599565b96614b5b87614b538a611791565b511115614baa565b614b7a614b6a61042383611791565b614b738a611791565b51906137e3565b6152c3565b1015614bef565b614b8f82611791565b518111614b9a575090565b611d1161039f9161213f84611791565b15614bb157565b60405162461bcd60e51b8152602060048201526016602482015275115610d154d4d2559157d25394155517d05353d5539560521b6044820152606490fd5b15614bf657565b60405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d3d55514155560921b6044820152606490fd5b93909282614c59916149bc60018060a01b03614c4d81600654161515614929565b61499a61042385611791565b90614c6e6104986104986104238551876117c3565b6040516370a0823160e01b8082526001600160a01b0384166004830152602095919392918685602481865afa95861561068957614cf29988965f98614d36575b50918183614cc6614ccb956135556104238b97611791565b615436565b506040519081526001600160a01b0390921660048301529095869190829081906024820190565b03915afa801561068957611e2294614d12935f92614d19575b50506118a4565b1015614a9a565b614d2f9250803d106106825761067381836102e3565b5f80614d0b565b614ccb9391985091614d558793893d8b116106825761067381836102e3565b9891935091614cae565b6001600160a01b03811660018103614d775750503390565b60020361039f57503090565b614d999391949260095561096461095f866145f6565b90919015614dca5750614dab90612855565b03614db857600854600955565b604051636a70124760e11b8152600490fd5b614dd49150612855565b614dab565b15614de057565b60405162461bcd60e51b8152602060048201526013602482015272151bdbd7d31a5d1d1b1957d49958d95a5d9959606a1b6044820152606490fd5b909192614e2f61049861049886518761508e565b6040516370a0823160e01b815230600482015290602090829060249082905afa91821561068957614e9f92614e91925f91614eed575b50939291905b614e7a604288511015956145f6565b8515614ee757305b614e8b89615704565b916146e3565b90919015614ee05750612855565b9115614ebf57614e91614e9f913090614eb787614559565b929190614e6b565b50611e229250908110159081614ed6575b50614dd9565b905015155f614ed0565b9050612855565b84614e82565b614f06915060203d6020116106825761067381836102e3565b5f614e65565b9390919293600160ff1b8314614f34575b90614e91614e9f91614e7a604288511015956145f6565b9150614f4761049861049886518761508e565b6040516370a0823160e01b815230600482015290602090829060249082905afa91821561068957614e9f92614e91925f91614f88575b509391509150614f1d565b614fa1915060203d6020116106825761067381836102e3565b5f614f7d565b5f80809381935af115614fb657565b60405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606490fd5b5f91826044926020956040519363a9059cbb60e01b8552600485015260248401525af13d15601f3d1160015f51141617161561502957565b60405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fd5b60ff5f805160206157338339815191525460401c161561507c57565b604051631afcd79f60e31b8152600490fd5b9060141161440c576014015190565b9091906001600160a01b0316806150b85750611e2291614fa7565b600160ff1b82146150ce575b91611e2292614ff1565b6040516370a0823160e01b815230600482015292909150602083602481855afa801561068957611e22935f91615109575b50919092506150c4565b615122915060203d6020116106825761067381836102e3565b5f6150ff565b9081608091031261026257606060405191615142836102ad565b61514b81612ca5565b8352602081015161515b8161031b565b6020840152604081015161516e81610fb2565b6040840152015161517e81610fb2565b606082015290565b9091615192825161196c565b6151a161049861042386611791565b6006545f9591906151ba906001600160a01b0316610498565b905b83518710156152a55761522690966151dd61049861042360018401876117c3565b80986151e9838a6117c3565b5160405163704037bd60e01b81526001600160a01b0392831660048201529290911660248301526044820152916080908190849081906064820190565b0381875afa801561068957610498602061525892600196615271955f92615278575b505001516001600160a01b031690565b61526283886117c3565b6001600160a01b039091169052565b01956151bc565b6152979250803d1061529e575b61528f81836102e3565b810190615128565b5f80615248565b503d615285565b50505092509050565b90816020910312610262575161039f8161031b565b9092916152cf84611791565b505f805b835182101561542f57506152ea61042382856117c3565b600182016152fb61042382896117c3565b90855181145f1461541d5750835b60408051633684184360e21b81526001600160a01b03946004946020949293918716919085858881865afa9081156106895788615383995f93899885916153f0575b50945163029e02cd60e51b815294169116149682018781526001600160a01b0394909416602085015290968793849291839160400190565b03925af18015610689576001936153af925f926153d3575b5050906001600160801b0382169160801c90565b906001600160801b03925f146153ca575016915b01906152d3565b905016916153c3565b6153e99250803d106106825761067381836102e3565b5f8061539b565b6154109150893d8b11615416575b61540881836102e3565b8101906152ae565b5f61534b565b503d6153fe565b61042361542a91876117c3565b615309565b9450505050565b939290919361544485611791565b505f905b835182101561542f575061545f61042382856117c3565b6001820161547061042382896117c3565b90855181145f146155465750835b60408051633684184360e21b81526001600160a01b03946004946020949293918716919085858881865afa90811561068957886154f7995f93899885916153f05750945163029e02cd60e51b815294169116149682018781526001600160a01b0394909416602085015290968793849291839160400190565b03925af1801561068957600193615522925f926153d3575050906001600160801b0382169160801c90565b906001600160801b03925f1461553d575016915b0190615448565b90501691615536565b61042361555391876117c3565b61547e565b51906001600160801b038216820361026257565b908160609103126102625761558081615558565b9161039f604061559260208501615558565b9301615558565b909291926155a7815161196c565b936155b38351866117c3565b528151805b6155c157505050565b6155d66104236155d083611872565b846117c3565b906155ec610498610498610423611a0f85611872565b916156076155fa83896117c3565b516001600160801b031690565b604080516305e8746d60e01b815290946020939260049285818581865afa9081156106895761567d965f926156e7575b505060018060a01b03975195869485938493630abcd78360e41b85528b60609c8d9a169116149184019092916020906001600160801b0360408401951683521515910152565b03915afa908115610689576156b2935f926156b8575b5050611a8b6001600160801b036156a984611872565b921691886117c3565b806155b8565b6156d79250803d106156e0575b6156cf81836102e3565b81019061556c565b50505f80615693565b503d6156c5565b6156fd9250803d106154165761540881836102e3565b5f80615637565b90602b8251106145d257602b60405192600b810151600b8501520151602b830152602b82526060820160405256fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220acaf04ce472be82b53e96d88f0fb25b098e6c53619924b6a8555e62e55080e5d64736f6c6343000819003300582103175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9054fffd8963efd1fc6a506488495d951d5263988d2600582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68804227100058210365a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a804501000276a300582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b44105581d03639c64228440f4bd2ae46d5b506813ab36fd9137777c62afe5d42f1007011957880219040205581d02876caffad5ef4c51b4d7ef6ea839513ae3eeee534ef47110ec28049504050219400805581e03f47119f7136b6a1def201d85e900331cd238747bc8c56c3c6e6463e7f0040105581e03311fc32da51f90af9ee044ac2e8c9c108c54017da6dd8b9e59106bc2a0040103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03f3dd9015331d033b99d51b3f932aa7d589333cffd3d5c3281757b40b9007011bffffffffffffffff05581e03498ad85465a6d9a87a248ecba19ca612a0bc6e9eaae5da1c26f895fdc00c014709865bab2c88db0219a980039e26cdfb2a9ef661c97ac577b5207d516c184ae68b63335b6d3aaea2a72fecb50304e047bddcc986b3e4762c0b8f8a30b1c2c1bd53d7c959886b27d01c14c5957903ca665c98bdf67c1125f0bedd8d8fd52675bde6f425d81e4d230df5613f775ca703d49702deef497ce5e14f1897dec381593ecd0ee7550f73dc9e69d7eff813644d03457919256d8fd435855f2f60a1b6d5c0c602cb85b7dbeb1bb5793b9001e5b6fc03fd9b6e85a3740c518b284ce1c741f50380f55d7e834f652157495486cfe2ba4003cbe85ca4262ccf78f464d42fe901642b5bb184d1d7f88e69d137178ab9e69dbd03ab9c6524b81a15e0a09ceade91a4d7906800fe4651a203dd36398a44bbfd362d03c6485d885a74cceb4aa4805afe93b9ec4fac2e7dec21ea6618174c100e3dd62003af9497edc61cb8bbf853ac85e79dbdd55239cb7dac9440159d685b462b2ee58303adf802caed32458eecb623c177f75a4684ddafae4f24940323d04b7898dddf7a030881ae0052e0b541d7ee6705433d1a3a943692cc1fb773f54261e6fe25c2b27803a4ec6cb53e79dcb641d01bb8cf2b6586f5f491de17a32310d5ed0840fe388e4a030e007fd342e7c666da57b5a55e785a48b3e7f54346c807bf4131d18963bd5b700219ffff03d4ec72ee6d7623d5493c178e3041ea463edaab3a488894477a243a2201dc34fd03e68ca1f2f9806a045a7cc5b47da6955f588c8837a56a2f6ae37d0ede34d982cf038e5498043813de8c09e0b25e35872b7f8f6f3f37accf3c68cc2a8fa8164cd90f031d32190772fd77f712cf63be323551b8178fbb20f18a52fc2d22722265ef30ca03f4fd0a47e62457b066ffcf6d01d1a1133f17ea7c0388862249c9fd2cc8fdae580315ec50a03cba12c11b8283b52bc0a3382c94d90ef45268c9109cc46096683094032f7cfc2cfa8cbcec6764b6361d8cb03f92f4d385ad5075e338bf0cc0d767e33403cf03149c7f307e49d7d923d943d5b8ea12c4a2424b3c37c21ec0d997a8e477a903492ed111c565c74cf070a59c6a21dc1c840eeffd12e1acb08a9880d45fd9c2e20307bc179f74c2fa386e2792ea2b718f4b02bbe3b48af4941aea96855717b92eac0219ffff0369bcab0ab5375483411ad59ef07937a971e8bdc81e6d90c6332fb536bd89027e03d2ad549a75bbba29bf5c09a4b12907354c2a104643c2bac805ea43e2b57fe072032050790f7274f7fd546cfe7b365b5f155314d915c77ef373ea96d3b351d03a3803e88ce41a3c2f13f0c5ca81c7cc4763a4b4cd662137b3eefa98ecd227d2ac08f703eb5434cca507f4476c09705e2aa6ebf6988e8c5029a6f97813d25dd18291cc1a03d328b7421422695594c1cfa330b373865c25e4c780055d4e3d542359886a1595038276b1157fc24a03d9c9220bbce0f9a1a077397cc6bda0c9d79f8d69a60d40db0219ffff031074c9d7054aca6352f05d2b6176d54df21d246b8b3903332fc8b8e6f5a45bec03fbd6c3957dd4f8ceb0c323997250ca0efbb02c31531df2f64e9a570b680f5d1c03969f3d2632970f5285235c3038f55469727b85f0536d809c2e53c952510474ba03ee186d4b65901afdc288b1610ca0a9a2f12d76952e0644c6f0a5a07f7112ba72039cf9ea692dfa5bb200a6dd4d77ab36b622117465b59280c2520119324c05b1af03e20a10eb2aaf1bac18d717d5cd433a5409af071288e22b03a0f25991256526e003bb12b71e8496aa168697e89708481607b579a68f1479fbdd43c28578e7d175a6039bdd78317ee1b45635a4a34242f19350536659bbc5adf72d120a1d5d7f933e9e03aba1a9b3bbd4ce95ba5d0a0b56f8d4241cf9ce7279eb056cc1b94dbc74f4244f03747b0963c2f20f266cf7bf32561b4fb45ca460ced9a808450abb0d3db37ceeb60393e4509351c58d82f0baaa2ce2c68e9edf609db42f75111740d54cb275e70b05039a6eba862a5612f62053875eee19f04bc8ee55e8b7c3c173112f400768921e2a030af53b3cb86df6c6e47fe73d3fc835a8d23927a5a4bf654ef0497b1e20c6eaec031c471d688965bc320355ce069332e9db62b42ea8e53194cba4ffc3f4f3597ae003b753b175e64cf00ec66f0b375e56ce06ffc08a645bdfa50fe4ee045db1b6bf30034a667bdbfefc0e1c1948042d1a60b2f807a317509368469202b0d6325bea06cf033fa50e30c206ecfe1e25399e686aa8ab4292af051a50dd731dddcff85a7db984031db7bd3d17264051b61b573606b80f413115068968c9dfb53d7bf288c966bf6903dd0d0aab02ed912f0b5a3cd96c28c7911b45b4468a7ba512caac3b873dc7761503d4e21549c822833179208d91d9e922d5599292ea568058c6e41ed2b6e62e54020339538a39e372c16787eaed26fcc2f044262cfd8257b7f772d8cc478f5613e84f03628fb75678fa386277adcb6d1b1a7378591753563cd3be87e687292c4c0165ee033d36959ed08a414e828c3f32bad16203a2a22c6ba4fd96ae63ae41dee53d752403f415b3c9e843d4712925314a068bd07c773754fdbe3af0c0e96b58075e3a7fc103112b11cd7818909b3edbeaa218451dd648034ef976ab37f1044eb3d1bac12afb0360dc7ec44223196ec249eede566b63f2a7d21bda57ea89b4d4a6fa15884535d603dd22a252829fb9446b63c4200b6575987779dd153148f28812f88f95285b96d4038203b8c85b2f61ba9c970179213f72d79d15c94e7f6316b0cb7aa4aa9b446e5a032bb6ae346fd08f9406ae1535a14a1d2906d0369073bdd2d5e9f0170a17ab3a9703fafdb16f08d0bb937e4102f997d87f1258f9c2d73d28fe0ff15a7740f23ea53e05581e036db5527656e13d455a3597b28c443109a0b89c3db8bd5d2af12c8ca600040105581e03c9eb006c725b10702ef7617b95188d4847e8fc49c2f4584483d434ebb00c14479407cb14e6846d05581e039c363df77a5b01e4d1930fec01d765f6048f0492593e3814994df6fdf00c0647b9636e14183562038431dd2d2cbc8960c6f850c303be233974470fd0570d8fd458a4ea1c5769f70a04592377608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610acb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610af9565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b23565b604080519115158252519081900360200190f35b610339610b3a565b604080516001600160a01b039092168252519081900360200190f35b61035d610b49565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b4f565b61035d610be3565b6103b5610c07565b6040805160ff9092168252519081900360200190f35b61035d610c0c565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c12565b61035d610c96565b61035d610c9c565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610ca2565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b031661111e565b61035d611130565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316611136565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316611148565b6040805192835260208301919091528051918290030190f35b6102446114dc565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356114fb565b61035d611508565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b031661150e565b610339611680565b61033961168f565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561169e565b61035d600480360360408110156105a357600080fd5b506001600160a01b03813581169160200135166118a0565b61023a6118bd565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806122886025913960400191505060405180910390fd5b600080610667610af9565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806122d16021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d611a1f565b891561077057610770818a8c611a1f565b861561082257886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561086857600080fd5b505afa15801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b5051925060009150506001600160701b0385168a9003831161092b57600061093a565b89856001600160701b03160383035b9050600089856001600160701b0316038311610957576000610966565b89856001600160701b03160383035b905060008211806109775750600081115b6109b25760405162461bcd60e51b81526004018080602001828103825260248152602001806122ad6024913960400191505060405180910390fd5b60006109d46109c2846003611bb9565b6109ce876103e8611bb9565b90611c1c565b905060006109e66109c2846003611bb9565b9050610a0b620f4240610a056001600160701b038b8116908b16611bb9565b90611bb9565b610a158383611bb9565b1015610a57576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a6584848888611c6c565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280601281526020017129bab9b434a9bbb0b8102628102a37b5b2b760711b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b30338484611e2b565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bce576001600160a01b0384166000908152600260209081526040808320338452909152902054610ba99083611c1c565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610bd9848484611e8d565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c68576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610cef576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610cff610af9565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d5357600080fd5b505afa158015610d67573d6000803e3d6000fd5b505050506040513d6020811015610d7d57600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d6020811015610dfa57600080fd5b505190506000610e13836001600160701b038716611c1c565b90506000610e2a836001600160701b038716611c1c565b90506000610e388787611f3b565b6000549091508061100f5760055460408051637cd07e4760e01b815290516000926001600160a01b031691637cd07e47916004808301926020929190829003018186803b158015610e8857600080fd5b505afa158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b50519050336001600160a01b0382161415610f8d57806001600160a01b03166340dc0e376040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0057600080fd5b505afa158015610f14573d6000803e3d6000fd5b505050506040513d6020811015610f2a57600080fd5b505199508915801590610f3f57506000198a14155b610f88576040805162461bcd60e51b81526020600482015260156024820152744261642064657369726564206c697175696469747960581b604482015290519081900360640190fd5b611009565b6001600160a01b03811615610fe2576040805162461bcd60e51b815260206004820152601660248201527526bab9ba103737ba103430bb329036b4b3b930ba37b960511b604482015290519081900360640190fd5b610ffa6103e86109ce610ff58888611bb9565b61207b565b995061100960006103e86120cd565b50611052565b61104f6001600160701b0389166110268684611bb9565b8161102d57fe5b046001600160701b0389166110428685611bb9565b8161104957fe5b04612157565b98505b600089116110915760405162461bcd60e51b815260040180806020018281038252602881526020018061231a6028913960400191505060405180910390fd5b61109b8a8a6120cd565b6110a786868a8a611c6c565b81156110d1576008546110cd906001600160701b0380821691600160701b900416611bb9565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c54600114611196576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c819055806111a6610af9565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d602081101561122c57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561127a57600080fd5b505afa15801561128e573d6000803e3d6000fd5b505050506040513d60208110156112a457600080fd5b5051306000908152600160205260408120549192506112c38888611f3b565b600054909150806112d48487611bb9565b816112db57fe5b049a50806112e98486611bb9565b816112f057fe5b04995060008b118015611303575060008a115b61133e5760405162461bcd60e51b81526004018080602001828103825260288152602001806122f26028913960400191505060405180910390fd5b611348308461216f565b611353878d8d611a1f565b61135e868d8c611a1f565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b1580156113a457600080fd5b505afa1580156113b8573d6000803e3d6000fd5b505050506040513d60208110156113ce57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561141a57600080fd5b505afa15801561142e573d6000803e3d6000fd5b505050506040513d602081101561144457600080fd5b5051935061145485858b8b611c6c565b811561147e5760085461147a906001600160701b0380821691600160701b900416611bb9565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060038152602001620534c560ec1b81525081565b6000610b30338484611e8d565b6103e881565b600c54600114611559576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b03948516949093169261160292859287926115fd926001600160701b03169185916370a0823191602480820192602092909190829003018186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d60208110156115f557600080fd5b505190611c1c565b611a1f565b61167681846115fd6008600e9054906101000a90046001600160701b03166001600160701b0316856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156115cb57600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156116e8576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611803573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906118395750886001600160a01b0316816001600160a01b0316145b61188a576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611895898989611e2b565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611908576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b81523060048201529051611a18926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b505050506040513d60208110156119fa57600080fd5b50516008546001600160701b0380821691600160701b900416611c6c565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b60208310611acc5780518252601f199092019160209182019101611aad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b2e576040519150601f19603f3d011682016040523d82523d6000602084013e611b33565b606091505b5091509150818015611b61575080511580611b615750808060200190516020811015611b5e57600080fd5b50515b611bb2576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611bd457505080820282828281611bd157fe5b04145b610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b34576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611c8a57506001600160701b038311155b611cd1576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611d0157506001600160701b03841615155b8015611d1557506001600160701b03831615155b15611d80578063ffffffff16611d3d85611d2e86612201565b6001600160e01b031690612213565b600980546001600160e01b03929092169290920201905563ffffffff8116611d6884611d2e87612201565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611eb09082611c1c565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611edf9082612238565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8c57600080fd5b505afa158015611fa0573d6000803e3d6000fd5b505050506040513d6020811015611fb657600080fd5b5051600b546001600160a01b038216158015945091925090612067578015612062576000611ff3610ff56001600160701b03888116908816611bb9565b905060006120008361207b565b90508082111561205f5760006120226120198484611c1c565b60005490611bb9565b9050600061203b83612035866005611bb9565b90612238565b9050600081838161204857fe5b049050801561205b5761205b87826120cd565b5050505b50505b612073565b8015612073576000600b555b505092915050565b600060038211156120be575080600160028204015b818110156120b8578091506002818285816120a757fe5b0401816120b057fe5b049050612090565b506120c8565b81156120c8575060015b919050565b6000546120da9082612238565b60009081556001600160a01b0383168152600160205260409020546120ff9082612238565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106121665781612168565b825b9392505050565b6001600160a01b0382166000908152600160205260409020546121929082611c1c565b6001600160a01b038316600090815260016020526040812091909155546121b99082611c1c565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161223057fe5b049392505050565b80820182811015610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a2646970667358221220713a8bf21df06433f34b5c9abf186abb737e72524583bdf420105a289791e24864736f6c634300060c0033033ae5d6120b80d6c84e05d38709b66b59bfe3e1e7c6a8f0f24080f6c7087388240340e6c0458245269208c26453635dd409b2423731da261b0902080049cb65176b03a53a1ffe3e5c99558eea6b7a06ede6dbc27b019a407d2ec2fe2e05ba93aa365103fc5aabd412c42ab82ea1aa3bcb4e45775e91ad08fe6970ced5100afa0097ab8c03a05727b93ee69069321a1af11dd5d478bcdc2b8a05973be6ac5d35cf2265beed0366972f4c6e1c53572959152930a258854bdce7cb7cfd1b9bb17eba4f5fd7a0710058200247b3003f503f9936d149017a58c39491d0413c216d500e203bb3cd9ea743984cfffffffe0cf1d7bf5541f106005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af510ed4e9fe87e6b7e9ecef2b2b33a1993e19005820022d223dae951ce2c2190afcdcfb75a6b8dc47b5042f658b20348bd530ca35f35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c08003566f4f6f975a1bf9a240458cbbaba17ebd07fda7d7d50b06ea834646922c8cf5032cd0bd9a2526c02c9a23b0c52d8fab59d0046b10bedc12a513bcc5e74c3729d503b803ba72225860960149d83ac5a69b6516f1104b7d402fd6a8881383194fd523031217583fb6839df85ec956afd2eb059adcfbdddfc37a2bdab98c68afbb0f0ff503aa9e378b37af765adf5becb55d4f70315532404e675c88c22ddcebb87bb7973f00582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005820034cc6b452762fa236749e831ca62b5aae5d6b980c94963d9e2b563e3324cd40410502191040005820021396b72018a204e886708351866c2c78d3878e403be6b3af1afb01b99f6bea5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218c9038d29d4200fc087f3241c36d0f9a726a44a4076e3ccb1a8ac5cbee9e37cb9101b00582002eb98b333a2b0ac80e291d7ac9b7e849a7d3e0156dede6c6e103205addf3ccd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820149c5a79089c4d1660b55756dd37bf471048403a6541eeab2a8f9d99d67cfde400582003ea27f7f4287547b8d58428cf7d2edff1c4c578d46daf09e4b8e86426b302505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80530f2bd8ff5f3ce15ea2d896e37ed9d84cc4ece502183003a62104119098453f189cf86a3b5036ff5044a85ecfbff9cb3cc209dfed322bd802191046033900e25ffdd77fe06ef219c1e397cd26ea4c846e1433cc9887ad6607226dd5df00582002df9369790615084088066a657ba979989b844ec7abe0748aba7be9935a5cea48075cde862e55825b005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c74101021980880381b71becf862a4828180f3d2e6a8083027169fd3852b945144ce4d287b68c15800582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632cb8b00000000000398058bdfc7e13e2c000000001bb1dc40d20a6ce2d4ed005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05450d1c9771902476076ecfc8b2a83ad6b9355a4c9005820031e9e786081c9d76dea70d35186c62b0617ffeff29d50f0378d54acd99279f04101021980200058200284c26e9ee0dc15be74f5aa159b510b45606915f64d16fd6679ef941c631a3b48018bfaac20aedebb00582002e1f8f57911af7c5862e3709e087cc423f0aa2da3660003d3b9e9c3557872054cfffffffe66800561992eaff0021921480219ffff05581d021fbbe02be113d1884058b938ca334feafdc302354aa7bde39195c9c0070119237705581d02320ba4fd48cbdbe743ca16af1a71b8ba34daf9c4edae7bdafdce3e270c0b470fbabbfb74e2db021850035fc6d93b5ee8c8762d2253b8cef9efc98ce3e3d4d69e0dffb68023f337085bdf05581e035179938151c3aaa1c297b378aef45e75500f7404c4a04071953d81e1a008472d78e05960150005581e031e4c5e008d9d5394500490ef41e4a5c43a07c02f40b1ba5f5b17f51c60040105581e036b808fac0def1987ed9763b8ea04ad79d2e149933ef1f4515bf113e1c00c014619ebac60480003c781ff4e400ebf2a82f8609628a2c14d3a5b91b15d10e4955d20c73bf5e5ccfd01410c03b79684edb5d03b87013c29cf44ff0d07ef06c7c62309e612100bb8a1d47adc1405581e032c5b65228beb95af1fcf971f157c33c87de90bea7a0a1b27e0cc9867a0040102199def03d34e0a2bcca788efd247832af07b21ac54d55800b538251e97f5a5c68923423303b932a61aeb6449f7d607a415e9dc9fffeeebc33a19918a413427f9c6ea1ed10d03ebbcd8d7619b9c252076e0d3a0f423d29a1b10a25aac07127021e59f18ce9632034a2bba49b9b6d33c15ceab783c21371eaa3dc22adb36d8b18b4d04ffadea997c03d6eabdd840452baf74e49156cf7266067818772662010ccbdd7e6bda4b0575b7031b4149ef819cc9fe56f52b3aaf12bbe6eeddd2fb22d254101e496acbeeb7eef0038bc8f8e86afd38f7eb0e7072eea8d8d270628f0a500c1d1c3f3baa3bdeb5c1ce03e87af7368fd6ccdc60a7ae6ae9c485a9c726411e4b53444f7fab34388f5510b203e163f5c4f61e4df3c91f4f99f15bd5dd93ebf6e38d7c3247fd9e56f25501e22b0329663a722958fc21fd297598c9aca94b6cfdbff2dd9916c84c023c859cac29e60358c826d988c9b9e9dbcc0645a67b3bff36861c8c0c31dbe969a3c3f06b98afc90219ffff035f6c6a86c1192a91e61abf12ea298bf8ac20a9ba4724d50b9e2c61efbd2520a3033bc81e326d71f629c4d0699934c2314bfafd5ee5781e939aaf680bdb6780467e035365989537f63f567c8cdf999363f125ea2988b6ebfa0b2adf099606fd4f22c1033e16062ac4986a2cd07507489f93c795de1825fa780a53318c7dba95ebb529b30219ffff03b20ffc20e971664e9a4edadbd3991fc9b9b31bc26df62f34dbc1f8663655ba100219ffff03b2ca0ad3d8ffba83e4e9de1b3a95fd66bf2e1f3985b3ac59652fff90595a5e2e031ecb26fcb6b4569ce8032ae81df85332ad78588bec7e783a3feb5513f4e987a6039efbe2e3a571ecaa70964599a914647527306ebb5e574beb0d1aac0920200444036021ff73542bf40409081736533cb9baa92943230f49145239a449d2b91126d703b9024c10312692e0fcc58159f08393c004e93d24153310ddc488649f8787fd230219ffff03c35ef44072ed56de96cba72b1b62378a1d1f634fa015a4522d67eaa7a8836ff103dfcdf30ffb69506040912af1fdbc58acc5bbf26b32930cc78e8e9696fb40301a030a47c0e7b7d95959f78041c2c6ee97efa9139633b03a1ff8b2ec7f9b513931a703e7cbd768ff32c3e8aeca147a4b2770d3457f11480afe4dad9be2e57d14b26b81031ac2b53262adaf61fa8d5dcced4c21042cfc0b0263a5aaa90af2e700eefa79120339e423a23dbcba1917aae05615eab8374f3426e6736a271151415b8f4922218f038508b582ec50f68f8af935099e08342b5ccdf9fa6cffda4cc0ecf2e6bd2a6cf9036063fc6b852c67a081145540c37077ce69b24e6671acb2711a6442c4197358b503ad9b64dc385414c4a4f8d81b1209033bd456e135fedd985fc0b4f90304ee795c038c61bc5f42c0e05a58538868a8cfb9497fbc8e0dd8c07e513af3ad4702d4b1140325888fd427f94c3f1f7ac497c2855e4b1b13d9a3a0f8efaaf06fa417a8e9f5cb033ebc29c8f05789c2996da7c45b7ddcedd259055786a410c3fb9e4e7244197da50317667e3b93014765e312e2b3e8e7a654c027bdb810b3f44b6692d45adcc87411035b98e6b5bac6a682fd1a01f1219695a30a1b044e09667b0001e4f950e8fdaddc038b0c689cc2eae57e39b0da1a9c6b5f8ec06d42ef53caefadbeec4f4adf95c45103d3a516f699dd68359ca5f73cff914262d3f8ba87f6429c4d8fd6dc4c46d27831032d00dbc83a4d835cd7e29687fe3359fe7e3b7f64c5eed7a993b8f34e68c89697032b5bb7068209a2eb4a94b6a37421081d9e5aeb755250421e336edc6dbf0df31103250fa257ace959321c8c341a9a9a8fbca001029d31b7a71fb93f3485d07dc593030ca2fcc126456937ef11bbf80ece7b3458cb80a97d6c328823bce79e039e1ee503cf2fdcce620a6a0802b5d4560fee8777ac4a827285d4dbd263df21bf20076ae5033f3ec4049717759b70603a31cd191635a9a5ff1c3d36dd6048cae0fa9133726403544fcf9bcb3d61ea6487457896b58f02db24aeda54f354e627c6e9e07a851878034bb02dd96c37d20e3675b2ccd7b1e2c0668083fc35bf5e9e17b2e4f8531d1866031d55cca9ec5169e92619a82457363a61dc13f053db1b096699a27b3e93c614630347929b2c7b82fca10970a76638c5f2212d344a774c8887df09cecda006e4e8f203c7be5401bbc7363193c8f0ee88f86edd5a622cc2c9747a4d9a8bbc9377e139f103a720a275923fd8997a9e1b9e85835a10ac4f9425d707dc925f45261cb7d285ce03d3eb091a346221e21ceac460be3af62ea4887c690bd8a21eb58a48dccb101d7d03f04b08f32463ee7da94025a146d7ac9ddefe20dd63677de08a3e694e091ad63603d43ec592517d40ff0988c86e013fff8d006e4691b99478d0cc872a16f584dbbc03d37546ba387237c5f42ce65747b8c33693d4741f73677f4a5166745aea00c290037e2b3fab8bc7ec2894eebb0820fcc917ac63a722634b234dd7b1184bd39d3fb20368318baa7fe63ddba34900a33b491a731713b3279dc8b1c7e032f5f9e57eee460318b938a59b29a13a231f86be1611988c3b3a919cabea2bfe413458ad8e2e60d203569939822af2ab17766b021bc54a3e61023565cadf833ecf1a260e605fa6d461037e611f52938dae32f1eb9ae88bc9028ea8f419b9cf74f0c9ffddd011fe93aaac033837f1574414abd0156d0f4ebc59c69ea2cc3f6bb5bb4c326051184e04dcf4ea03a4ed148baf4c1d8762ae1bbf46408e0d8fb9dcfa9fd838f25f7d6844b7832afc03632d45f784b21de5d1f2eca03e60cd887d6498ce3bcd395b97a7d12422afee040389a28a5dc29b0e938f30d4d6d6dd47a89120c5ed31f67e8db6c70b352518b5be03e25f2ddffe71f5f41cda62371d17e1c8ed417ba33f4c86bc5cc84e1848c39c8903021b6982f21ad9d43b70e6d4e98e1c23c6f58fb8f148415cc8c25746117d43fe03728adee47121b064d617c000c1b1cd635afaebf44b08c91890ed6774aabf7ab0032f2a9d9e472dcb364f0dcb8f17dba0c8a7399369bf7b84faa3fd70f297e1e4a105581e03b37d896546ae62d219dec326a32fd85c04b1c7f11774ba8fafc942fb70040105581e0309bbd7a2716bd05b6feb32332f98ca6ad24f13aae1a8b4e16432a02850040205581e0318c2044d246c02d1b57404cfb723ce102bf3787b8bfacb20a66bc3adf0040105581d02c71e60236dcf4251c082879818b08e3620bc056dce3dea6ff383cc9b0c01470331691d7a494c05581d0219d39345cfd08bca4b8e858d6203d1ac84bd71abd7944eb6d9278d590c190584480b938277b2fb21bd021890039f9a77bc9fa0b8f1b24a11c2e7d53fd7be13e302e76b480dc61f16c4562fc04b05581e03d7081005b4363bf460263cd46d5b843422c3a02cd1fc29c658a7d19b500c094703196b59c232f905581e033c5b58a6c670ab85bfa529bb0d0a8bd68b24446b51d72bac4b59512cc004020219a9570219ffff03492d69f260c4b06883df74922ff24e1d6051042b840b4507cc5c9094d74904fc03470ca1b43246560ce8b38d1d13e028808aef5893069188deb236b830ee522ab30307de11d1769eeb3c42be34cca6aa969ce5b185e5d8540c1ba7f68c63221f2b7c0219ffff0219ffff0361d1f8d175fd924e294a8be5136ea9a92c686212d079db55eb0d7c6b120c033a035d7058b48bfb5f4d7fc7d5682bbc38373f14f9af2b0452bc5c3dc3a06f932e98030f23438ce1c47584c5bb930f42c4b03a98a2edc6523b43f4a9d6b1cebfeae4cf03048f3271875b33422f454a3d2d32cd68b081dff8b9512e08a10f325e4b68a829039ae20a8064a1458e515241e0a5f789d038826dc244f11640a5e30ec1ee108fb00359528f8c02ed14cda73ae2c711223ac87682b6828317ec7cc1b570913685ecee03d389b42441c1c39b38433ab132b788536d6c4e8a7a25b493f878915d8735cbc1039aa89a1439867280798f659055f5c98b019da64478ae32cf16d7002096367f7503e6f0a5682b395d8340ba9ce126b346ddbc4e88507f2acb418a247119da188ee803fb58c1009a6c8370aebbda8a9d5113f5fb6018d9e5f83b3603321c1fabaca746031450f239ebb8add19d88471f9083aa8499659b2cbeaf34a03da3543603351a4403007da0bdd910f9eddcbbac3cf0d86ab83ad46a3c9060462b2fddbfa916610b6f03dff7192a6bd30441ee127cf266ed0359b67b9137ccf5a975b4f4005819454a9b034a4fcffdfa9d5a0ce9b2a08b1c91d28994acd0918ab64dbdad019424a483041b03777fbb2c297ef00f6e07ce0e4228a2e305cb94e00e1aaf596183bb3a3e6903f603633ef29fa8c90ab8cf397e903ff89b0839a3493928f8215c126ce7dddf8363fa0360658e6b685510e2a4ab3539c50e0a1c2b1a68e6f87c55a6e1cfa2970a932916039aae8c0245b24091064ea51c3e75e363498ec2bf3c4fab03fb20bb5950f009c503625e079c2d1d10f377efe654f25eb77743e7baa08053a2a16c968df6cd839582033d02ae47c1752192965f34a69fe1b2626c91c4ae59b5885e8b8511854436123e0381c725063534c75d794fea5436c4d994cffb42d6eb570dc36fc8bb580fdc315703d7541a13ea59d218f5479cbf25bf6d6c4fba827d5418e78e9e824326c2d88a7303b006a98a75b656bab71d0b2c4de63fd4eb37ea91b99442e0ca66f61971915da703ef99b9f0148cf39207d1386a604f2c30dc9cd05c402531ec74f0b432891226a5030230f7af2a80e5072b26168bc5665fd71d862041bd73b950afc1a28837ff0c12037451ce64f7775b3e95da21018ec292bbd41e8bcdbdb17865564da57befaefebc039d5630997728af4b7f5b282bf5bb01695e80ef4e25f19d60be2b410e64bd6f3103ca6ba4004209f4b30c6392b4e58cb5da6b70a7b229f1738883a5ae0794f4098903eacee539a37e9078ccccc6a70fa7a133629d3bfd8488e142d8c8323ecc859a210319028ca3fa785c3820a0225f7aa301bfed5aa70afc81da1aca5136166e4f9cc00311483ef1495d39275d568454ed9618c29d5c0acc7e4aff6ab5608ec3190be4bc03f48817da1a27f526e3cf422bf0f90601e3541d026e3acab7cf3b4ac1c92011360336132bd078998b3303e931dc2e36a81f1bab4137ddf1e2864e70cbb53426cc97037a1e8fa14cceafc4c964ce0191c4e79bd9727fb5a9617a56d31df8b9c4f8d71f039cd18c68b971d592d1d343c1a9c48a89da5eedb974d7c859c67c8f7b949fef53031cbf73dbe44a640412523d2dd327446df594aa58e54dff7161b2ba663544d825030b9b759af53826b39f8dedf4614e1962f24d83e8481a2df39e62c2fed1f319f705581e03eb4635fbb1d1146c49b9907f67c578bce5e019093a738e4fcb09ac01900c0147441f9670c6b98303f6fa84626af93b577cabfd6fc4fbb8b6ff20d5ec1783f5f1a87c42f1758feea803204894109e563e45fdcde7e6083e7ef40ff2dfc19cf8a7a10792df001c1474c705581e035571ade717ba75421c9cb9cb7a5711a0739f5ce763eadd7b60c9fdf1c007011bffffffffffffffff030421dc935ff9c1d3139425d7aaa689e392125dff494d4d61a34e105470179aa705581e03e022f6b9b0d16730a498259ee16e99d678d59196b348697d63cebc2750040405581e03861c19cc32b929cc09bb158fdec15c2110aee803b76306095d6245977004070330c0ad6d27650e84985e726722c4abcf9cbf6afd798d0171097dfade60666d9a03d594354efe9f1047bf6eb2f014d27c88db3e1121818111b9386097127bae453b038da7c1e4cf62d121c9a60aebc8fecb8d6cb2364e36291aa350b13c0348fe2ed900582103d89a0a70749b77e08aac604560ad410d92793e51ad17da89b2bfa2cbfbef82704101005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810542e59a20f205bb85a89c53f1936454680651e618e005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054cc52f17756c04bba7e377716d7062fc36d7f69fd0218a405581d02f443e1c8d20ac3fb06c590046d5da02aa7cfb12d23d161a15955aeaf0f02495a9c9501d06d028c001bffffffffffffffff05581d02ad7896bb193dd19c07fdad1795120ce1014f9ff58ebb83776263351f0c014703fbe883f550e502060219097703adb00a7a0e1fbcccd9afef600ec8299438a0b95a5ce5500c208c57f0261e18a90389899862fe3487a249115f21c02924bae4b094b17d3b32ef9d81f1c34d4d4cad0219ffff03da473d2467b6b4dd0b3510f71e9feab696ef719b4ddcbd1698a86f53846f9a27034bed892e32bd98223de8f1e40957034da1e5eb321ba214d5f3ac7e8580c602bf03e874fb82843132d849b67a12bdadb51ee0f5b3b24a853bb88758a8a6d7b7d1430219ffff0377d3fb9ce8d35e04a0f8d122aaf9eb381f0e6321c7110463b468129f20f60fe10321b7d40223d43571e8f2b4bb7eba6c52fc1c5573f2a284ab7bcfabc784d7243a0380c061960adf053db7a6307c31b4953290ce86318aceebe163d98f36c59a28f7038d7dd71961d58de6277796637da796bcabb8af69a6d6df6dad58fb6188f7d89d03735ed904b6acb4ac57bb83aa7c207f217a8412dfe128fb500546ba1793b8455a03290b323316bc666479f43db2aef7a5c323432dee82a095e8159d7bc1264c433603ebc5dfddee59f9e78f3d6dfd4ff3d1a7541ba4b861c05fed1cc0839736bf9dca03930daeba12292aa46cf31fac133b8192adb8439d29dcb0f5e5d89cf345deafdf0219ffff0338fbc310608dfc9063d96943ed85a063c71eb1e9822aeeb5c1b7425bb79a7af003d92320d4f3082ea28762cbef8448bb189cfa96b29bac09bd52fa0d13e7e9339003e18c1ae509f44cdbddf768741476187fb1e3ece9aae3d8a1ad028b148b4b39910356874255044247cabc8b4411c509c03a0a0fed387e2100d3c2e0fd115c957cff0377bd79263b7a0fee18c15f118ed5447d7f425a96338ebaffc1e5b352e3a0a0cc0372578d56a67bbf298865c5d6c81973acf50fd085f5f69813952622a3e9f8cf14039b5bef3245b83b956b6abe9e8cea68cf89a7acfe109530ba34585992b53fa5ea03642c73147584c783a0cff2c4bfbb7325a8b85a9442d75372d33b211c273da07d03157f0cbdb1ee13bf2bd6434f4a7cd1a9cc538dbea4d546b913f10fc396ed11eb037a4453c58adc7f83e7c4c438075e4b72a798a7e0c6f6c60584415f1333bfaf3e039bc2f65590d3c7efddf35c59740d639df99823a9a861d788c0087c2780f1e09903c10e5a50cf891e35209c8692d0f27b688979cbdfa3b414960549cd8d759c74950366fae4eecb65352c1389ff4b2b2a059741a76d9eae66d59e9beb0dcbaf6d9d21030e3f034771c25113fe4b112b38737a071a0baf93dc63dd5b860b02c09db74fd205581d02ec78efd6abf362a02ee05b61cc120d90806b49d8ac4909b46925349e040204591e376080604052600436106101855760003560e01c8063715018a6116100d15780638cd4426d1161008a578063a8aa1b3111610064578063a8aa1b3114610498578063a9059cbb146104b8578063b417e39b146104d8578063dd62ed3e146104f857600080fd5b80638cd4426d1461042c5780639213c3581461044c57806395d89b411461046c57600080fd5b8063715018a61461038357806378109e54146103985780637cca52fe146103ae5780637d1db4a5146103c4578063813d1561146103da578063893d20e8146103fa57600080fd5b80632f54bf6e1161013e57806348ff2b8b1161011857806348ff2b8b1461030357806351bc3c851461032357806351cd7cc31461033857806370a082311461034d57600080fd5b80632f54bf6e14610288578063313ce567146102b75780633f4218e0146102d357600080fd5b806306fdde0314610191578063095ea7b3146101d35780630edc39d81461020357806318160ddd146102255780631ccc79391461024857806323b872dd1461026857600080fd5b3661018c57005b600080fd5b34801561019d57600080fd5b5060408051808201909152600781526623b0bb21b7b4b760c91b60208201525b6040516101ca9190611980565b60405180910390f35b3480156101df57600080fd5b506101f36101ee3660046119e6565b61053e565b60405190151581526020016101ca565b34801561020f57600080fd5b5061022361021e366004611a20565b610555565b005b34801561023157600080fd5b5061023a6105ff565b6040519081526020016101ca565b34801561025457600080fd5b50610223610263366004611aa6565b610670565b34801561027457600080fd5b506101f3610283366004611ad2565b6107b1565b34801561029457600080fd5b506101f36102a3366004611b13565b6000546001600160a01b0391821691161490565b3480156102c357600080fd5b50604051600981526020016101ca565b3480156102df57600080fd5b506101f36102ee366004611b13565b60046020526000908152604090205460ff1681565b34801561030f57600080fd5b5061022361031e366004611b30565b61081b565b34801561032f57600080fd5b50610223610870565b34801561034457600080fd5b506102236108a7565b34801561035957600080fd5b5061023a610368366004611b13565b6001600160a01b031660009081526002602052604090205490565b34801561038f57600080fd5b506102236108e6565b3480156103a457600080fd5b5061023a601a5481565b3480156103ba57600080fd5b5061023a60195481565b3480156103d057600080fd5b5061023a60185481565b3480156103e657600080fd5b506102236103f5366004611b69565b610955565b34801561040657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ca565b34801561043857600080fd5b506102236104473660046119e6565b610a4c565b34801561045857600080fd5b50610223610467366004611bb5565b610b67565b34801561047857600080fd5b5060408051808201909152600381526223a0ab60e91b60208201526101bd565b3480156104a457600080fd5b50600754610414906001600160a01b031681565b3480156104c457600080fd5b506101f36104d33660046119e6565b610c0d565b3480156104e457600080fd5b506102236104f3366004611aa6565b610c1a565b34801561050457600080fd5b5061023a610513366004611bf5565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b600061054b338484610c80565b5060015b92915050565b6000546001600160a01b031633146105885760405162461bcd60e51b815260040161057f90611c23565b60405180910390fd5b60005b828110156105f95781600560008686858181106105aa576105aa611c43565b90506020020160208101906105bf9190611b13565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806105f181611c6f565b91505061058b565b50505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261066b9290916106659190610da4565b90610da4565b905090565b6000546001600160a01b0316331461069a5760405162461bcd60e51b815260040161057f90611c23565b60006106bd6127106106b786600154610db090919063ffffffff16565b90610dbc565b905060006106dc6127106106b786600154610db090919063ffffffff16565b905060006106fb6127106106b786600154610db090919063ffffffff16565b60188490556019839055601a819055905060006107276103e86106b760056107216105ff565b90610db0565b90508084101580156107395750808310155b80156107455750808210155b6107a85760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b606482015260840161057f565b50505050505050565b60006107be848484610dc8565b610810843361080b85604051806060016040528060288152602001611dda602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190611315565b610c80565b5060015b9392505050565b6000546001600160a01b031633146108455760405162461bcd60e51b815260040161057f90611c23565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461089a5760405162461bcd60e51b815260040161057f90611c23565b6108a5600b54611341565b565b6000546001600160a01b031633146108d15760405162461bcd60e51b815260040161057f90611c23565b6007805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146109105760405162461bcd60e51b815260040161057f90611c23565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b0316331461097f5760405162461bcd60e51b815260040161057f90611c23565b600d879055600e8690556010859055600f8490556011839055601282905560138190556014546109b0906001610dbc565b601154111580156109d057506014546109ca906001610dbc565b60125411155b80156109eb57506014546109e5906001610dbc565b60135411155b6107a85760405162461bcd60e51b815260206004820152602c60248201527f746f74616c46656520616e642073656c6c4665652063616e6e6f74206265206d60448201526b6f7265207468616e2032302560a01b606482015260840161057f565b6000546001600160a01b03163314610a765760405162461bcd60e51b815260040161057f90611c23565b6040516370a0823160e01b8152306004820152600090610aee906064906106b79085906001600160a01b038816906370a0823190602401602060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107219190611c88565b60155460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303816000875af1158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f99190611ca1565b6000546001600160a01b03163314610b915760405162461bcd60e51b815260040161057f90611c23565b601680546001600160a01b039485166001600160a01b031991821681179092556017805494861694821685179055601580549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b600061054b338484610dc8565b6000546001600160a01b03163314610c445760405162461bcd60e51b815260040161057f90611c23565b600a839055600154610c5f90620186a0906106b79085610db0565b600b55600154610c7890620186a0906106b79084610db0565b600c55505050565b6001600160a01b038316610ce25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161057f565b6001600160a01b038216610d435760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161057f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006108148284611cbe565b60006108148284611cd1565b60006108148284611ce8565b6001600160a01b038316610e2c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161057f565b6001600160a01b038216610e8e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161057f565b6001600160a01b038316600090815260026020526040902054811115610f105760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b606482015260840161057f565b6001600160a01b03831660009081526004602052604090205460ff16158015610f5257506001600160a01b03821660009081526004602052604090205460ff16155b15610fa157600754600160a01b900460ff16610fa15760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b604482015260640161057f565b6001600160a01b03831660009081526004602052604090205460ff16158015610fe357506001600160a01b03821660009081526004602052604090205460ff16155b8015610ffd57506007546001600160a01b03838116911614155b801561101457506001600160a01b03821661dead14155b1561108d57601a546001600160a01b03831660009081526002602052604090205461103f90836114be565b111561108d5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e0000604482015260640161057f565b6007546001600160a01b0384811691161461112e57601954811115806110cb57506001600160a01b03831660009081526004602052604090205460ff165b806110ee57506001600160a01b03821660009081526004602052604090205460ff165b61112e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161057f565b6018548111158061115757506001600160a01b03831660009081526004602052604090205460ff165b8061117a57506001600160a01b03821660009081526004602052604090205460ff165b6111ba5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161057f565b6007546001600160a01b0383811691161480156111f057506001600160a01b03831660009081526004602052604090205460ff16155b1561120e576001600860008282546112089190611d0a565b90915550505b6112198383836114ca565b1561122f57611229600b54611341565b60006008555b6001600160a01b0383166000908152600260205260409020546112529082610da4565b6001600160a01b0384166000908152600260205260408120919091556112788484611584565b611282578161128d565b61128d8484846115ca565b6001600160a01b0384166000908152600260205260409020549091506112b390826114be565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113079085815260200190565b60405180910390a350505050565b600081848411156113395760405162461bcd60e51b815260040161057f9190611980565b505050900390565b6009805460ff19166001908117909155600f54600e54600d5460009361137b936002936107219391926113759283916114be565b906114be565b90506000611398826106b7600d5486610db090919063ffffffff16565b905060006113a68483610da4565b9050476113b2826116d1565b60006113be4783610da4565b905060006113e16113da600d5488610da490919063ffffffff16565b8390610dbc565b905060006113fa600d5483610db090919063ffffffff16565b9050801561140c5761140c868261182b565b600e5460009061142190610721856002610db0565b90508015611465576016546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611463573d6000803e3d6000fd5b505b4780156114a8576015546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156114a6573d6000803e3d6000fd5b505b50506009805460ff191690555050505050505050565b60006108148284611d0a565b600c54600b543060009081526002602052604081205460095491938510159211159060ff161580156115055750600754600160a81b900460ff165b801561151a5750600754600160a01b900460ff165b80156115235750815b801561154857506001600160a01b03861660009081526004602052604090205460ff16155b801561156157506007546001600160a01b038681169116145b80156115715750600a5460085410155b801561157a5750805b9695505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156108145750506001600160a01b031660009081526004602052604090205460ff1615919050565b6000806115d785856118df565b11156116ca5760006115fa6115ec86866118df565b601454610721908690610dbc565b3060009081526002602052604090205490915061161790826114be565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116689085815260200190565b60405180910390a3600060105411801561168c575060105461168a86866118df565b115b156116b8576116b83061dead6116b360105461072160145489610dbc90919063ffffffff16565b610dc8565b6116c28382610da4565b915050610814565b5092915050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061170657611706611c43565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561175f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117839190611d1d565b8160018151811061179657611796611c43565b6001600160a01b0392831660209182029290920101526006546117bc9130911684610c80565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906117f5908590600090869030904290600401611d3a565b600060405180830381600087803b15801561180f57600080fd5b505af1158015611823573d6000803e3d6000fd5b505050505050565b6006546118439030906001600160a01b031684610c80565b60065460175460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156118b3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118d89190611dab565b5050505050565b6001600160a01b03821660009081526005602052604081205460ff168061191e57506001600160a01b03821660009081526005602052604090205460ff165b1561193857601454611931906064610da4565b905061054f565b6007546001600160a01b0390811690831603611957575060125461054f565b6007546001600160a01b0390811690841603611976575060115461054f565b5060135492915050565b600060208083528351808285015260005b818110156119ad57858101830151858201604001528201611991565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146119e357600080fd5b50565b600080604083850312156119f957600080fd5b8235611a04816119ce565b946020939093013593505050565b80151581146119e357600080fd5b600080600060408486031215611a3557600080fd5b833567ffffffffffffffff80821115611a4d57600080fd5b818601915086601f830112611a6157600080fd5b813581811115611a7057600080fd5b8760208260051b8501011115611a8557600080fd5b60209283019550935050840135611a9b81611a12565b809150509250925092565b600080600060608486031215611abb57600080fd5b505081359360208301359350604090920135919050565b600080600060608486031215611ae757600080fd5b8335611af2816119ce565b92506020840135611b02816119ce565b929592945050506040919091013590565b600060208284031215611b2557600080fd5b8135610814816119ce565b60008060408385031215611b4357600080fd5b8235611b4e816119ce565b91506020830135611b5e81611a12565b809150509250929050565b600080600080600080600060e0888a031215611b8457600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080600060608486031215611bca57600080fd5b8335611bd5816119ce565b92506020840135611be5816119ce565b91506040840135611a9b816119ce565b60008060408385031215611c0857600080fd5b8235611c13816119ce565b91506020830135611b5e816119ce565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c8157611c81611c59565b5060010190565b600060208284031215611c9a57600080fd5b5051919050565b600060208284031215611cb357600080fd5b815161081481611a12565b8181038181111561054f5761054f611c59565b808202811582820484141761054f5761054f611c59565b600082611d0557634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561054f5761054f611c59565b600060208284031215611d2f57600080fd5b8151610814816119ce565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d8a5784516001600160a01b031683529383019391830191600101611d65565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611dc057600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fc0e753b366e02b3d5555ceeab02691368cf1be4671fc06b2b08081be247bd4364736f6c6343000813003303722ad02326bfb1804bb34a4c774be1da0568bae165141046358e35a26bd3206400582003e28b6db8968078accdaeb1b3d2ceb39e5c440ff6d953a0da99559beb6c2e9048051bc0f95a8eedba00581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9488ac7230489e8000000581f028ce714c9db8906eb9687cfbd341d6ab72821826af337496fdb659bbe8a825820fffffffffffffffffffffffffffffffffffffffffffffffff126e39aea0153c00219022000582003271a7ca601bc356dd4ca13b27627378159a431ad18615c226129ea5c67f3d05820ffffffffffffffffffffffffffffffffffffffffffffffffda06483edcd7d62500582003afa112e67e99f00c583225a0724ede557ddcad996d8d79227d018a8de4b680480a0eed8d3066b30400582003fddf54c7a09f64578f018929c0aff9571a23025f9ab0b4be8525ea094776205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a882032bab786ecfbc647acdea878ea43b985cb255d7131f04770b90f619a682a018d2037c3d2733168774e14cd547801998092fc9548e4a20d68dc75ed31f91c9a7d7cf0385c32e531746851c7b605752c89c653ccca821ca1f1789047dfca2aca838142103b1bf408e21e0b1198ef0f1e563dcbe07a6c508ca48442b2c1427bd0f3e18126403381f170505fc3c33dc51852008133ae22a56b6242bfeb7f59b066bdd8161006b0340b6679f0f1a626b54d59db8666159cfc7f5bcfef57a78eb8a38b95b8c40b414035fc6c327c5212836474c31f1505dc9f32668807af0c2cd79c9f3b8d4f702ee8f036d55bf06a765e84b1d23d555dedb0db0f6458ae8b9fc2ac7624a1b4d9e3301b500582003e2936efb1b81ced7878acec4581fe384f2365e5771a00b7bc6a7def98ff5204809b26feb47e3d58a00582003f94c611f3508d9ebb4ab54936b9768df072224dbfd384f3d77a52ead7e2ed05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f409dcda710e81815689813c6194e119633d7816d1624ed0ff47e27b3815005820ffffffffffffffffffffffffffffffffffffffffffffffffe041459442d4c3b800582003a7a1a6f98ea8cf0dec2377b4b1af2c542d914ade39ab4d2c146f264f9ce5305820fffffffffffffffffffffffffffffffffffffffffffffffff7cae33c0ef6460b02190858005820023f2ec83fdbd05b4f708eef35eb01cabd97067f060067d842a40564d0d28e9b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0370dd4a5620357fa6d43cc8df2e8e55bb521c6300dab6e8f4993ab01a3752f309033fbefb8b647902ef2b54cd1b7943221cff5520be65c16cc74f6bb440218c8290039ccf7277abda0c839b833669e6d7cc8f1e303fe893a808dedd38b7f6f7ec01210219dfff037f975188f444ae417be61a2f550f9302cff3e9fadf34d3b4e588a3096ee7627c03a4bff4f71917805723227435e424cc0da742d17409ed1bafca5c4629aeff5af103f4db74e6bf9925adf9057a36fb8575d78491395972a5287e3402bac14cea84f2005820032894afb1aa496df36dbf2b0efd5c299b9fe088dad278cf481c6d452868ece04802d88502200992b4005820031ccd4cf4976188d4a7e3fa2041bfa80523c55a0d58d0662a44934599c41d204906cfe62120a3c65f360058200307b751ec34b9437c02c5358b437deff01f3f1a17e0626a02b53b74555aeac05820fffffffffffffffffffffffffffffffffffffffffffffffffd715b22c3fa231902191408039ce671d39fac593f8d01ab2ef273f7b3283c1c2c7af8d290d287da56423e7c22031caa6b71c5704ced9f9b37f29f5fa410275ea02974eccf2154709c776822064803a2431bfe9876dac31d9949de38d34a5d3c7acd0bf83aa7ee2ddeb609acd6fa1203dba7673713a78efbb284e4f7df80da050c43a84f7b3808b4d851d8b13bcd2a1c00582003468064cd66d0a86cadf0010c0e90eeebe93ebec23cf87aa27266102a5f3f204802e36445030b3e9c0058200388452feaa94fea1b24e6c51ed77aebbbc94e6d2eefde8d0234f07d26053b705820fffffffffffffffffffffffffffffffffffffffffffffffff874429cbb4ef5b8005820037011078433a0dae933d03d029600ad2823aaea38d9baf57b4a9f4328f479f05820fffffffffffffffffffffffffffffffffffffffffffffffff57e2d6003d9a8a900582003f0ca9c184414351a44771f2ac4bd05d02a4a78c2f9afc93041a76fb23478905820ffffffffffffffffffffffffffffffffffffffffffffffffeee2f578b5401c1e02192026033e237e6c8fb57e1c3b34fb4b7b1d5af710e9dd9ffb532025db1ccb484f3493a1038192073e59e3afbe907dff004b9e2f6b5910fe562e701e99608fef5cd1a10c21033f9a9cca42643bb6db5743d714f23709f47c7269289769f90ef94871f7826450032b30e41729a3790f898be5123cf512bc08f5c959d5978f281ee9a1674f4830a3031811d7f43772b2c89f37e316866665726b5c3c833ab64ea7fdfec8eeefe557ca02195fff03a0df345c79f25499b8320615634c6992dbbaa973c0869f35fcddd240e64ea3de03889ed6376334b55d97b25ac4f8782ff1b7ebd50e64ae9e7cfabb2f55757a93490327cad262e5c761ef896fbdd2fb3ec98b603d59fc0bfb2fb42f9e2e129e257fa9031b24558951af80745741ba8b847276b6cd7686988199ecfdf68c061aa8e6c2e0039ca8585a0a5c06486afb7d8cc111eb1ace78fe3d1a840fb516acb551fd46f885038590f5d7347500dc67498ce202c71302ffe5e09bdd08743641d8259fbb140351033c6580e40cc54a8af451637a02f2752bd238e5934d055853dfd5b09e8f05936500582002ac0d896110cc2e896bec749eb298a5212eacda5337bab8b99ac727c67e27f54806e17cc111e90cf40340e6ea5c2dbc2ebb0ffa802361d395e0f975d9bec56a1991439fc9d1e782275c03f34e0de5635fbd35aeb56079c952093551545e3b7a0317a99e6190f8731ea06c037ab8cfb4f426941c79ce4ed5421fe204f3d872379a91a8772319a715a1791fbd0335200b0e10f867d34af632f80d2c1abd06fd931a14a0c7bf1ded802a30f4bcd703c31857b2386598ff91214f5bde2dbc3bc1aed08b8492d0377f73f4051637f63a037457afeb835e94b7e1bf00ccd8e2065ec5774882644ee96fbc8d856c0bee329e03f2b7b36075b003d007bafa4fec4a3a471e4f8dfee61ad06ae2b6b43b5aa17589005820035885928ec2ec5eb3d3f07aa895a31cd813a688de313d7a701dd5b7c58feb304101005820037e74cd8d9762300bf8710e57b82060fe7bfe2098fbbd688b95769e5e27e0705820ffffffffffffffffffffffffffffffffffffffffffffffffca07fb96250944ba005820039a6de3fd85e804f07ba4159261dfc5008646416d547b212b773e67767cde404811dbab66c904811200582003544100ecab85795685490ae68c2f7c04daa26e977d45a09d2d3058bd766e60410600582003907151ea06456a76c923004e7a2fd6583d71300d4d23dc3c20ae1a6d6f61b05820ffffffffffffffffffffffffffffffffffffffffffffffffe21d7f91fbf93e84021958600219ffff0317d1e83ef311993b4beee6d534f597afa3e623d2409dbc8a8b5eb7422fe1da82035b66816f483b167ca0bd823ea666ae6d317260367481469fccf9f8c58316267e03a90bd42cb6284bc7ffc85e4ba1b20358162d487bc2a4fe335ddab0c0803761ca03796e2d4ab5406caf12f3e12f407fc3624f16486446d29b226a974f7eadf00a1b03f13c472ee5b3fbefa2fed6439697397d176d8bab03840344cc264c2803be267b005820032f78f77851fa268728e7c09590239dfe9298d78f7d538ab0921ef3361e34f048136dcc951d8c000000582003d27ff064acb6ab6a3dfc98ef0aa1fdbb026f2055743427942ddce16d2a2630488ac7230489e8000000582003cce9ecc26b017dd9e0f28db127adc11432845e513a9d63e28435af238de8805820ffffffffffffffffffffffffffffffffffffffffffffffffda44a9490e2710060058200374cbccb91438ef3e853305db156651e54905f84c7b29186c09dcf322bf687048166933dfb23d92910219e40003a696a49bd6c65d7e38eb3486447f5f2baee88358cb9cc3654db5393deff771ec03c99b2b1c874d0cfc87f20d13bb6af1e36e140ac393f4631a0fe0cee411d90bed0342b450d794f1824036852895bd34934578e28104c1c72ad4ba71062da94ff918033ed17060ea77104485898095a5c7a44b239ae1ab605bc464e95fc34df4fa38c303bb0fd9804291ee30d92f394d1f96947b8968caaa42332a9098d57aced9840dc2037107a6d1f41c9c6e5ac32cb4960265a698a079c5f932b92de0a620975e32198603056e08b3aa51d697ad7097d02441cc1cd6f6116e3ccf10f96a86de51e2f9ebe000582002bd74775a04d62bde37935afb494cd67998ae1127313e33ab2ca6d351c9d1ba41d403d6e532a6eb48af83b4dcecdd03d7a2ab18dfc95dc2828aff3a5944d760ec535d03c76678466ed004cac367a7bf91caf4441664f17c70de82610fe211d47bd3c7a10219ffff0365de1bedec2c9a27c5ec332832111fd313d574ecec183d0b16c830366d810722005820023e21e6654129b0a16af5577650f4a3ef0e1f9fce1e5283289394fb997d7c21443b9aca0003c4b03b501c8d6ed17572af73a8039795b639029ed6759f66525d6db99ccdfd75036fb18b3c5ee5d7b30b481fcfbf9c757a7863ddf238679e1ed5c993212cce8ebc034822846dd2f020417ef1e5d26b1d4c2970edbb302aa562b3e0668448756564b0031be1297f1be85180097f0f18091a0d9cc4ca449a4cb2bcbe5f546d3b2f97d18b0343b325a774f6e0331b7a588d8baabeffb4b7d49de04a8d1977e7435ac208866d00582003707d914261515fcadf88238a83313ea1ea9f56368048878a73c15e525d97e05820ffffffffffffffffffffffffffffffffffffffffffffffffee5fc37650a7147f0058200391e121aafc0af9d8017b4eb5d648a527e440f6fe47c043959d883c05fbb4105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c3c2bdd0b63f310c6bb615d688c315b4455a638282990e67ce0f7f38f4aa9041a600582003448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475054b8db0d1e006376c4303d6857be5d9dc798c0ab420219c54003d0fa446d19c4f199a071e5e9cb46d9dee44c71640b2ac5f2b50e33f11d08d6f503e7e493dbc0e3f7afd22d6019b03b52e36b475ef118dfa8aefa8efb2e7be8383903a3ba207c8c9bdfc8f56608fd711d33dea0b8014df5a16f503dcd9e33d6efd6e2037c1396d42494ddfe30a173574e1871bbf711b41286e9d2aeda9f5bca04f64fde030de5bf39a8374f72bf5b3b6d9ea122a6f51c9091133c7f22003d6ed5f75183be039981d19dc48ed45a7bab999d333d55011c9b0bc11a2fc48ed86bf73304d6578b03ac1c1a68f4f39d6b6e4aa1250e80f94c0b62c67eda71a2cb781b5f275d7049b80372a83f8b66af099aa9a24ac1ca589282ca36c4cf4126e5bdf709d77301247fc703ff472483aad7ecf7abceed00bdd9fcd900e8dd294bef1e8335d2add8d02674ad03e9c0fa5165405f45ae8a69bd84eb8a09c4d2b047254084b73819d16756f5885b0219ffff039f65f5e8d491ca0ea425c8c1d6d9e442066bae51e1932ba5efb004b9e3b7bd33032377e0531060313da3ed2d0c5203da1c8d93c60711249d4a498d95960b7025d40388c7423a43204700e074da667c56cbe1dc093bbe8253d8842670ea735dae90460310c81b69cc03b7aff7d7ab2e95fd4fd6e417cbc8b956cf8f4e3d3f2a31aea45703fe4a9bf6a798ed9149fbc2f0f4f84a16e378397e7e747114e4d464e21fa6a7da01410c030e38ee1006252ba3dd4e4f476290ac1d4b2bf16768486bc30c1827b1ea1cff96038adeceb7b806b6dd97d871eea49750b895e7724979a3dc6eeaf7915415e0462d005820026ef737a131ce16c949044d3e5726a6da78cfcac7f8f64ba3fec21b1bf020bf4101033f5e05a35e45a42b6601046576000e34739960bb0b16b6317112a9829fdfedae039b0dfe07f2bcfcd91c73937532ce85103bba7bf6c13179c9b2e0d522c516f34a039cf359fcc7ed760833fba88104b68dfcda5e4ea228aa48a1847da242c54a2226030df4a21d7c7dcc774a3ade3289a8a961983b835f46b404cbe26e324b7e76362b0389e03361ab8b5479a7f1adc0135edfb99c5fdc5b60dc50030553d49bdcc011db0058200282c31f025f672f8f61e75d8ce268b310deefb75d6d04c5accd0fb54f6c2a845820fffffffffffffffffffffffffffffffffffffffffffffffffc48dcc0e33234e7005820036561276bb16eaae38878d0695536dead14072d3ad0f9d5ada6d6a2804286e05820fffffffffffffffffffffffffffffffffffffffffffffffff06ff5449c3e5671005820037402bc74ce1dca143c2fe0a6af49d9a1c21d7f34063c8b0f362307569696c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219080103f81ab89cffd1e7c9cfbecb5687d2102a961b982429bf922c9ec916cdf37e31e30219ffff036ebe42db78a8f71d78c5f8f7688bb3329c6fbf226117e79d0146c17165b096c4039980acf53010203f714fe12e49cc6ac11e32e5326de7f2ca06f861eb9d22b64f03c1404f94c3a68cad62e04308f95dc74b0de33330ed61ab1e839e5f2c56f7cdea035a170e9dfac1f2e5dcc4b2fe940bf948df89d2803b982bdc51b3359471f67f8a03889c8f2cd4dfb51ece3c529fb99045220127949f60e1749cfde02eb4b05242e30355415e357e9a4683c380e9a6d68358855753b93197a4f8a33bcaa28fd8b798300338d91a5abc58f84cf9b3acdc55580aabc7c802935cdb05626c717f41db9df2cd005820026f695af9cbd7500165288caec07172a83817be75418795e7a57e51e36da2435820ffffffffffffffffffffffffffffffffffffffffffffffff9d6a29f31d57a517005820037462e9fd93c86830077de35f42d00d33c4192efa13b57c7cf38c5f2b7f15a05820fffffffffffffffffffffffffffffffffffffffffffffffffa8779b56086692700582003dfc027c4ab6f91d0f46f54cc5b36c090a2b4eb2aa1f63303522e0fb4f471705820fffffffffffffffffffffffffffffffffffffffffffffffffd79552752225fb6005820037031528258350645ec9f17e3c14b031edf1c2c901c633db6ee6a1315e2cc905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021940a003b8c00f51714d7b2b54321b9960ef7595925b82e877bb0cb4d3e88676d560285b00582002f120f5fd95e666eabb5af196537af4e32c450de6fa7028b49c000157c6df1f410103d0d6c881f77043c4c33edb88ca71f4de59b9d52ac709b772821379ee2d375b2f0313907fb588548acc5db054a3370b4c2952e5bc9f89dc3f50bcad680991fc51660343fac9f6be828ce6c75c3f668a5932dbc599cdcab06598b469c366981b60a955014108036aaf4e43650d06f839aec930f8f2148a8ce4b1e45987f49f1576e1acf7dd26de03171045506fe8bec701c3308cd780230a9c2f87f77671db69fe219363b83b156e0219ffff032d6682ed26b95ba9799e624792e66f109fc96b5fc0b7d2842a75d9ff2bd9ad0a00582002bbebd1200cb8a3a5b5ff81c77cf70b5d95014a31fd4ee61a66dcb5cb1854a9483f2f515f136babde0365759fba34426151c71b0a1c3b174992952c8575400aeacb49987709d83f486e03398b5b17fb2a4bf1b53ff3e27dc590a858755ff5199ce14684e76d608b6f152d03144cbdbf174d8b5b7f776c7a52411460b3ce2f3368371d4e3eb3ffcdf2c1d4f9005820039ca21bd769a60298d33802a551be40ac51efd994e6927c4cdb13f84a742c80480b323452c70ca09c00582003998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c969504a152d02c7e14af680000000582003041bf0412218777d48316aa49dd5e966fa02325202032411f51fbbebfd24805820fffffffffffffffffffffffffffffffffffffffffffffffffc773786145bb92100582003b13b703799fd419768202d612107e5148a96b78b5e5469f418583e96ceffe0480164089b4c443ed8005820033036007f5a110c4463f4c00e0c7afc096b6e649218e5717b4db29c4787963048131691eb942fb4fc005820035e253f7639a0c4c5442db955a1c6508c86b0a9ba9b4b378b27c4ab40a942d042038a0219c158033657f95effd62cac8a9d7c423e7ddcd3ace80649d1b3cfbea3a902a111b1084303cb074689a6362501e4e0fd98b7021b16131eb781a7a7b0462e5739de2e3ebd6f00582003b607197221a7ae60ee2f5a41e6b14dee5f20974b92289f4424135b7d9f7bf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b13973f5ba9b9c27dd5f1f21d6c0725b4ab506769b976e658664df4e5ff2305820ffffffffffffffffffffffffffffffffffffffffffffffffbb1538fc2a95e9b002190140005820024b96c86cfc8946482239fd00b7704aca16d343e831c74ce2215a67ab5cb8514101037aac858bf67ab8fcb35c052a868d6672a472d14cf9d5298b84bd348576201cf103c60076eb97f9263b8292995c8d5c7fc6fb60d71f9f0f34b2192ad0066ae9b995039c7a1fa8d137898cc13dc5ea5b269f2c17f94aaa7a6cabc59f2ea8d6bec1da3303a3514743f886ea18f9d9e7935be068fd064e7e7edd74d0fac23f92e1f58be8b803d17af9ede26270544bd4adfa519b97a1f11359a8124c302f35b2a48bab306a4603e8968b3071248624e72b535c03e18e84a5f2726e79f4f24a41798c3a5820a85503ec883f9cf31adda6a404cf2387cdb64492e8fec837c639354bef266a3bb779e70219ffff005820022b917a8ed03a041c0fa4f7e429bfbefdabf46fc2ffcd14e8cceff7836a37e1480295b96d406e32eb0361b4758728593b5c2b0fd13acdf4a4979a7fc1dda27b945838e6a40d49f045f8034788c9d5bfa08f875cb5892a0f1a735699f4b243fed59b63f9bd396fc0986cdf0361a8a4f65b278e139038f92a2a5dccc260b2c0fa8809cb37cfea7ade412e7f360358e567a87e6ec59e216fce8fcf020b92c2732b0c87c087542a1561eb265fe2510385247dcddd3148efd6973e3084c90cc4f20fe84404725f88a8198efbd82187f2005820033641998b8e8a65756b49c53240c4a042a403f5e595456cb92ca2b1f8f56ca04804d27c78de99587600582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880560101d5dee104b289b8d99c9117a288b100143be3ff5902184203100e7e0b0bc4a0c7d1825fb090fe537c8df25d0154a594d5aab0a55302d25cec037441734c776979ad76b90bbdf94ce67fbcef81ef739554e541cf5f939685adeb03cdc40e2f6d227850675a1ea43987c0ad86aeda042342e379c3d34a62e4f4d3a4031a34481eb53870049c3cb6ff7ad78d6fee7e383939a5db307413e65e39354bfc00582002511cdc5c1544c023d5d1f8cec3dc15563dda2cf46f77ade9f2b7a1eb894e795820ffffffffffffffffffffffffffffffffffffffffffffffff692b0074acf47a4b03bb0ca492af1db849293f40c43ceb043345ec8d793497e4ab909ae667a248014b03a82eb5fc7a7695f4210eac46414eb4a77053247efc01f458a9b9bf405bf6f73c005820027599f39d92c5dd32803a728fb08a7d094478f8be1da51fc8bc3bccd06c95b65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d916b9f3ae78988ec64a300e47c5c2f7bb5bccb26b44dbee12fb20924b37d1700219ffff0369df4fbe62b860d3a4e082cc19ab99d0db6fef5e52a7d3a64f6fdf7445af4b8e00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60493635c9adc5dea0000000582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e04a152d02c7e14af6800000005820031e73449330d8b4a078d11fc9865c5c2bdd025ce686c08af8d0a8230d22d1c04804c8ec6698f81e2e00582003ed21ecf1c4c43a1dd2538e4d6cdf5558cf5f91bd2bb474e893a64411e0479048075abb20dd8ff00002192809034124503b92f63bab1d83e3055c690f506e8953b952234b7ca3a85d56b393e373039dd8d29318d872a280e6e5928db648ffcd30efd1b91c42e2118546be0b561a0203200af7754ad03b23af8c42d2b192c30f90ca2ee020ed5b20e613ea2ce92ebc8203cbea42655c5f4dd3a3b16811753d4553adf3345223fac556d1f413725e65f00b005820027f3c6c2f8cc5270ab00b8387db985b5048c0a80786730eb4749ecd0e6f4c9b42011c03de0561ce59531c8e29b46147debec68603cb322bb089d8c882b85e1a5d6a46ce03b027c734bc04b51f22a7209435ee4329147edddff1d7e518d60869e81476eb7e00582002a03e1ff8d91969439ab8577bbf4f449808613e4cfc3f59aed072d26c67e8e14802ff6a34c49c0dcb0358ae0f2e1dacef657748bbb08a5dbb4b27f774009b9fb9c3e421b39ec786fa35005820035a18a1d15fc28159fbe5cb47909d728158a88666bd2f5df5c92540376d39c05820ffffffffffffffffffffffffffffffffffffffffffffffffc3f442d7d0dd1e5500582003e9ef89b2ee598b8cffa5795f909b4dbc5b06840eebfd976e30ce9d4debcca05820fffffffffffffffffffffffffffffffffffffffffffffffffbf9b6895722ffff0058200317e4120f60809abd8a962ae854d48283429d30bcc77f7b803261a982a98150480259b77e300b888f00582003aca2fb1ad6782778e208e01c28bbc3dc72b1a3f1fa30962029e72a7f7ca5005820ffffffffffffffffffffffffffffffffffffffffffffffffeeee555d13a55bcf0058200387494f7f46f165cae301794491a07345f3a55dba6001d72d3d3047ebd2442048382afa6cca2701eb0219986003e2504d59b9d043f49544873028ac8b378d804a62b95921a15b8fbefd33e18afb03ed9e1a7c28a9436c3759c0d40c1950d2ac6718936f972c213b964a0611c3449703b353a11cccf69c95b5f7f08f4abe30d7a25561d15110dee86a075adf1a983b28032805fbd874d6d3561a86b02dfd134e6ed500755109c6da8895402c03b4c002d10219ffff005820029e3fe8b0c557c0d20798f4dafbeb313ea9b03807c60b315f5e752fde4293675820fffffffffffffffffffffffffffffffffffffffffffffffff1a5006f31e228f303dccb06dd9ba22f84dc39ecc487ccd7be4cd9624877c852ff88ee38a5e8b9cb6e03f17a42490aa7bf11f52659689b179034004afdb1ff4aaead5961b71a0463c9d603876070146e8839643982acae7e01c6c0ca84d6bf31c354d84273065d14717d06005820021a59caeae8969527031d69c6004cb1e3e6472202ed3c5e9e98a583baf87c845820fffffffffffffffffffffffffffffffffffffffffffffffff4f20a90716dfe8c005820034b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15054b8db0d1e006376c4303d6857be5d9dc798c0ab4200582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8041010058200368acc88b0419400f5a2b02361691e8b291060e40aa1e1700453e333770fb905820fffffffffffffffffffffffffffffffffffffffffffffffffc38f74baa3ef64a00582003f0eedc22f6640ed084a097a18d380cf38d42e197e7235e69368d573e03eea048b3b0f3e57ea66be800582003c2947ac4bdc9d5d65e0b93d62d307d9b487fa2bd3bc7fb06ff98d74a11bf2048140dcedb147d27640058200346d59381774451f61239134427f3043575d14a650ad3f2aa044c31384952f05820ffffffffffffffffffffffffffffffffffffffffffffffff3db6022cd887ffff021945640319c995c1d5756bc206cc8fda6e3433729cea6b7fc8a71bb0bfbb6598b90d6b9303ef0974678a290d5d6228b2392c0d83152e74cab34faed4c7bbae07f47198d07e032b0276347e3077906582fdc8af0a1dc89c57124ff6ec78fd6fcb7ece5067569c031132e902ee87f3971fa035773a9b06a2ea5ce32cffa12bd9efba9fbbd8145c39005820020be34eeca53c2fdb63e3bea54e749c6941b360d67a26ff04f00b03e69c710c4fd5fe01dedf5d345f2c2e594350951d0340cca0c5f55284b436b5c7053b545e2807883a01de258cee57b17c33204ba1fb039c023838cb3bde89571cb7ecc7baa472963dd0d0ae5ea972fc8cda8dc9c8a56903acda7c3aeff3c855384458ef736a6dd528dc83ad33ad9249118482ed5873758a036a4bf0a193a73c8e3652a64fbf867815bc051e4de0fbb866ee765f905c7d68bb0219fff70337c64fdf7b9b2ecd206433bc1d99548e30c82bb1e02446d599b542546182cafa0366160ba095fe8bd53b94ed8e0d4d89e69e2440363d0a8db80d2d0774d718c8cd0374bb31c88847e3adde0cd63907b1efebceeb877a2623ee7f9537e06bb536281800582002a5f0bed08d97c533855d06891614090d8d4f3b77a9cdaa0a36c8c3ea297a04480279c463b1cd24db03afd0f3e86a39ef4df0e188b84e9d5cbc853f5635226ff3bb02800c4e8fd56d18037a073280f53965c9f312e5af48157cdbbb86f5f46d325ed8d9ade1faebc61bb5038a25a94deccc68a4552e995063c1285d54dfb9a617e503a6a9fca4b6144923c003fe6933c034bcb83f0e659144c0f4b823bd3d76273f5cfa7b1b29b5b69e35695703fb12d0c539550f16786c614cbeefce82d8a1c19c0c81b3b694ddc6a35f5b555803338ded898d85b4c43fca824a01eeb8cde6c9e4e0833ada1317d46178c8aca98403be319abc0e65e36aadeaedde2d21510de889ec02eaa624cf998c4d60d63e6f0e03cec9e28a3f9e06a63382d5da949a66aa3c02310f15fae64ada36d973cdbb2b7103408c68693e05fc7fd2a868ab148c2805a3e6c45f709821540d13e1bd57005be503d8ce7a40cb41a599e49cb7d877f8e9b7fafb18b84b3c0f6d894e0cf5b705343c03841e99ea7155cb556c9cf3f8d2612f7ca8c24b3373014e653e2422b82dc6b5e30058200399596774da20e71b2e3fe7f4dd62ea47ce2ff6d8afcaf9e3a55b7d0c1dc9e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7048016345785d8a0000005820030b5726a342dbe19bde28ab132aa329b1d011aa7910da6a8cc77263ca6296b047fc0f0797400346021980410219ffff03d18a9af05b9542df28b02ddb716c159b7d185b82edc23a0e7d7d0f62c4401429034a3a7f3cdfaa8212722dcf88c18285ad30704f626c1a05afc3db715fccf7ddf603c1cffcfbcd29e6c4d773325fcb3e5553cbfc2bb582a228a40561e6b1afd49fd7030054a63d82b9935081d2c710e5ce58feb8a5d7406eafe80370fbf431390a037a0058200303c67164cf22d9f5a973b796dbcf583e7993609dea336cd4e046016e39039048033dc2c3e14e35950058200352235312b81d9a8677fa76ff576f2376ad0c092f950050b49bd1d853243a704812d5e54659d1ffd6005820038955fac6b0886cbe956b656803a6e2bcb202c51b2bb36584228075ad106eb05820fffffffffffffffffffffffffffffffffffffffffffffffff6194fa2a7728a07005820039419b4853820574d61518a815bf0761ac7d06efb0b202f3f681fae60aa9ea04802ddfc50fc36694000582003c09611ab5eabf5ee63cd36d2d0a694cd1044bcd0b04f376c4bf4db9db5db005820ffffffffffffffffffffffffffffffffffffffffffffffffefeb36b8220b0bea005820036e2bb057ad9ed24aee55571874ea949b4b70e84495fe922db1396f094b85304802708e8dbfedb892005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee304203be02198c2b00582003450df08fb7292022a6734abff0022c112689919bb44cf51d8378a2d9807c30485ebb9b095f41c760005820033fb3189a8401edc1326409c48b9b06e409553f11f52e4b42ac5fa8062e8540480664f605d9209e7700582003cab2ab6fbe6fbbc379527d3f069ad78b9d8e28ea7c418a7871289e068d02e05820ffffffffffffffffffffffffffffffffffffffffffffffffa7f02a4fa2537fc90219220803267c85493e43436b6aa35b56de2dfc20d07f0acafa4d944426ad89721481017903d4ccbf891b600d9de53fc6f8b6ea4efb649acda523df8e66940c119216012cbd03869c28e6cc55720ba28e5960382c8d5da28659d8cc5bf6ef38911d3a5d75ea6d0058200235145cf1e0d8caa1723bba1a334bee78c35bfd67baf5dac8a4ef3767e29f965820fffffffffffffffffffffffffffffffffffffffffffffffffd2d7ce2127ab75603d6a06645e70f97e37960ae4e7d5af5cf31ac4a8763faf3483618af90bb28e51703b5e9c4468e1ce625e7ab596a443d771f2ef9fe8040a77601d4e694e9f1b04c3a039d5e868043bfe595ec5ec809333eca2a09e78f37a07200d7f61c3f7bff7098b70369aeaf14de52dab7253c8f98f0d712924246388bb35fa7c1e919a3de549a94b103bfa14e8ebe58a47aa44d263019449cd3cf11563567d3f951ed8f47a502efdfc603f9f575ca38ddebc0b0fae5ace633634636bce38e4a6ae1a62ded078e8098af0f03436e2b7b783ac6f9c6485bceb6d59561d1456f4822885639dfb22bc692c85c710219ffff0219ffff05581d02c139e3e15a64d1b891c003482e64975363338981303cef28e6d444f40f014738d7ea4c680000191e370219022003bdf2467306eb404a805ed592e14982e615c33c251741266d913a60834a9bed1005581e037246ca64aaa694ce6e291c75cabe5383bc3e633b6b2883953166358e10040105581e03931c80cce8b252e81ebfe7304046dc7997420b1e53758fec943443c98008470b50114e2c280005581e030261247e590453ce90ba69feb169bd477de4293480eff202f71dfd93c00c0c47021e46f166a000036e20a9a1289fd375dcc2036e3883c53adb5a27dc6ecb8e0285a61e282d73ba1905581e03d089f98e9b4c881b75c5a2c606b387c7dd4efa92c251fca859eebef8200c054501fb772bea05581e03b9a92adee4360194126fb12c544c635c3a2e67cae017916c9f9db9ed20040405581e03405fa0675b850462c5eed104aad84ef1eda4d230e0329bd74d369ae900040105581e03352792cbb82a40a299636bdeae2d9ff7c74e9bbd6c802fb5f251fcaef00c034617ea8fcd469405581e03db18c0f5f3bca1c951217fa88adb642e0692adeaea8d1c54e617df02300c03470fd4fb328338000219febc03da9e039f939cbfb8cde007f51e61271088e23490b2a6ec952024cb92c62203ca0392e69706668357ed388f826c3d58f0316308638c5fd49ad0e5a628302e9677860381ae81a557d51edce5396d1c4299f719c5d97d3d6bb2476de9ee8139241ecd8f03489e69eefd08fb59c0754ada2e0a4f2849c9b9d87b57631c511350a5808748de03a4912af1696186f1976516c1fdf88dc3d742e683ede1e7f11ea24771deb302f303445caebc37902a48e18200f006db3cbe5c29be212edf250ba63faf894ecc535b034ded03e6d2d1cef0cac159c535aa01e8e67794a1a7cc350986c0d6bf3a9196720219ffff03fd6e98f9159616bcc3b1eeec24e7555b4ad84e87c0316750acee79ab00daf4dc030cb3976a516e8e2abcd9619c51fd8670ae5b37575efeabdc3b98d597ae031a770324f4a93d3edb85709da05edbe5a013da3826df38fb835af0603380d427dad0a503f77d6c5d7986cf51c29305b680197379f57e480cb66161f3c11b0d4525be4317033d2a371d0028b496aed8334f518de634da8a19a587e5a3993c443c50cfeb6c2103350f96e563482a26542631deff13163cfc7ffc5618763db3df55cfa22ba73e47038e7dff846c84df1459cc2e9faebdc0ecf9250b7fece1110f98c6365923cfb0a1032a19a3821aef4287eaec53d36c497fc9cd247209873d3391a605eb37137c02a9037954b6657333cf4c6520884d8a2770d017a5f785967890c0a7bfdf013e380dbf036e5bacfc53479aad2d43bbc4f7d2e887020dc43bcdda0b61efe1e3b5eadb4dc6035c843decb3adc0ca6e24cec61359628326018ad0aa0413c592d18c0c88e495430351cc913a9ecbe977a967e924d553d79385d07f3fc9f1522f697f99553b33d575037a138180546f1b9072bb8224131fd2a64f8da6ad20afb8d35f128f4cc114f25403dce1dfca20ba2bab78e9b1f8850e54d3f2854afaa8608ba0bdaae287243c75e30219ffff03e97644d8c809f4fe3328820ae890d8873b3c38d94231fe5561268da54553275e03acd21f81bc8bb9e3a236a0b37b56464808cb8e2ae725c53f93d37db3a632ecd103a7a11c9db5b58e3d950feb161f42634afbf8656516c850d3a511b343c7a961fa031d2b38812bdb544ac04dda5a40c2bcfd580db4ebea9ddd8778b30e03154f43b90336e3810a88efbfe8a3d8e58e39f88f756a9655bee1accec70e6ea15af4ea4cec03febcfadcbc7303724a92ddffecf72797d6d4caeaa2160011483a6f88bb6c781303575340c4f2049ed0c4591e3dcb898a61b07e62323386000eeb5f085bfca87385031e3a018c3f3ac98da0b6d6b33ce91c76fc1649969e60d4cd57336a3bec15c0ce034bb47b88de1710fbc5a2d53a1cf409ababcda72c78af6eb522537777b0783b8a03ea2c806a8a6009189aa3dda7a9d793b2cbd06fb2e23d3ae65e7ebbf3141e664703d1863e52b0866dee36ad2b42373482465bb9d10827cb8435741b39863dbb2798036cf0335b44e82e79e91128abfe737443422cf1e2c6664a145df36f2c7aee53580219ffff034cfba6531efbcb121e131cae642bc3638d478cfa5f04a9187b296fbebff9778e0383972481c1aa9153f8a5fbad1c821a52d6ed72ee584831c36a5b853cbb32793803ba5714403bba61e0f651c4b9b1ebecd10692f57e2b018b9d1a3daa8c0b5e01b703a0c3b17078c915b4c83690e9f933f98558e7c71c74c80958c1796da1821068df034f08d9e6f3abb86611bd2c97b08dfa8bd20a850a0b8d08622a16365075cf1f80037e490eb8c848c601d4747f5866611d3adf22933bb0d1abd6f04413339baa41960366a7b1be8d27a03580b3cab989c6d4004fd4e4ef85b9083dbb8732c8bb4f3eb403c31288119501b4750476db5f6a511e026aacb788c31ffcab1392fa9dc60b9c7703b89c16134d36a3ef971481943bc6d2cbea994f5a32f3079dd0abeb7009185fbc03287ee02f27231dde96108f50e4585d1e42c7d1eb892c6e43ffc3a0764a4e7b68038c92c98d41bb9785265eb3848d45be9295f28b0f1f45e72d887c2f9d965f6fef03fb20a5004819520a179f793cf539b7627cd7c742b1c4662a875ffe4d434aa52d0353ec7428b42beeb844e65d1cf3468923c7c6dac657783a37da9e36336827eebe036434c77fcd87a93b155e647a7bc141959855dc6f73e58764cd555f9fdc3e727703184d1584af7538e0e532eab9910bf8c28828d0bc0a23b2fa2ecd86bda084a4da030c4c6710c11b2242b5a0d84d3ac6ebe8bc56091973598b319746a7e4d4855b0b035e5f079605b0167da915b3177d5c77f3fb68f4a70a0bec9f9e227495e949b3900374bcd16860e4629d0c768ba3c7665799bddd806b6ca267da67a658c250ad4aed03b2659c31e385abbf900981845a3792d06435e1951392dbbfd05dca0735907c17036aaf40c932b55e6b162c41a9484e044b8f785897a1c80ee9153e982e8375d37703c019f17ebd5289619a5bef3aae145d405e84f8c3b2a89c83ba7fd7e6fc94dbc7037f66a74326957cd60836f1f373bf014554b1d690d688edb95f5b6bd2c972f8170344eb3ae1e80c700fc2b38b59bee8a2f46a71f8d83cba6bb03e72b5efd45316cf038e6a44ed9f3a95ca4f08d35ea3362af824ab8604cb13ffc64a74e2fa0355d71e03c7e958b63b490a0e26bda6740e4f19819e5de5498639355d1373e12a70ac5d5305581d0269336c1228ff6cc8d0506747f7d886efdd5cea0bb39fb29ba9938e950c0247015655d003fd9004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b5700582103dea79f7dd55205aae6a591f4eda099b8d206405b3f07b1d03b736b41362debb041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a035dbbdcc6e33c82bde700582103a39d86be7bf8a56e21f9c5c8994ea7ad132e3e248df4d3f1d90ffd792a9e473048cdfb42f4297001c900582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0500ccd5a8705575ec787d5e690389b66ac00582103149f2d7e3457218ea2d8704cb476e41230ed040e66f64fde484230c285471b5048b3736d29fe345f4c0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005821036af8fea82bbafd89551e67b29ea946badbcca1da4d40bc7c9164f15d6fa5a950493862c7da59028b5b9a00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820b4c1879f5a4cd636f3025438a7675a56f39cebb0fbdeba1869725f3dc15e8c58005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8538cdb9cd4a9635c5bbdf2613ecf9097d5bb5a6c00582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba4103021901440058200228f8a9754182b7eab61bdbb6c161e7f9d71b7f53ddafd445c28d0e7dd17c4548278a364636356d87005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219c000005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd004a03236274c584a0bbfa8000582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632ce07000000000016eb7df44926df3a0f000000012b5ffc10a00c751e433300582002158adab6f41368e0a5bff4bed8297c5306d1fa2b0571b50cda3c515910020c484da740a13b6195490058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f546a7eff1e2c355ad6eb91bebb5ded49257f3fed980218680219fe6705581d026120e1de1dda61ac42644aae2b1d1f563556d3c6aeae6efefa0aac5e0701192c1d02184803b1823e9dd08d733ef2c948f93e730b772e80074d4a0fb6a00f997aa779ef6d2a038b24c5d32e22007fd162f5a7d256a5c80ba8fa9dac2c81a0c03db22b8ec801ab03a9bc9975730213b1f6e503de952b86d3b6a729501dbbacbac02c6c486ad2e5d4037e98db382e0ddd7f605ee844874bb18d8a46ccce5b67ddf201b9db0561c894b701410505581e03d8cad089b46c132d8fd378a7d1b2f647496dd790519a5ba2af43eed540040105581e03a11574bf3ba461e2cb0c12a869695f87f84491d5071b5f68bfc34899700c014732820cb990680003c67d1617040c36a399607e37b4a7310d6d516564d17638e00921c1bc0f49bb1002192575033ebb783b9af3905e78f66239504af820cd222f060c0d6ad6fa47e96ef77be57c0316e9f36d4d6ddf70d1948c887cafef62b750d71988576a25715804b6326ef8ff03df60fff2bec0ae0863567123930cd679da71207ecb949d40b54c0731d3aa570b035456f2cecaa83ee1b0777044d821e1e7653931c725f970e3f58d2c5182c4f7fb0374c718e3cb7ba71ea2c8b6a6ae7dd4f16f42b6b4a1fd85bb015c684c0c1ac20503689516a2cb66194af614fd82cb0335f358a9a93f59fd7538817bb54bb4e2db4b037f575efa51fcf4328584b5fa27e8e9549a5e7903aeef55a418b4cebd3e482d9103c990f65b04d83364323b8d01c0d042d0d61d371656f97226c25845b1f23946390327c36648858766966146b58136473be4cc788ba184a9f0c53997f23bb9d08dc00219ffff030c4c3a705d6236f2d5aeac507817b7c75dba9a3129dc249bd1ef0b21cb1f9b7803a6405fe430723ee72bf89f73b124bd54997a4234f8ee581f6853f1a2a55086cb0219ffff032fca5076ba06fb304a9e765c7b9f9fe9234e57507e920545cf3567a4330efaac03d318a185590c361eb5940322971836d7e05a650dd40c1810f11d191898fa60dd03bf0d068c7a3496e0cc86b497b69548c74ed78164320ac9f3eb1e5a28cb2a1b9d03b2c15fba969daf7442cd05f9dfb7943d3ae71a0ff788df84175b57e90b4f8a2a031dc6597500ba6282ef0a6f6311f10b8bc4200f0664bab8a58b28b658b6d6ed5b030fcd36bb4a02c73332ee8aa2d34c764b98f6deffedd9eafd2033da62574643fb03722397334441f023c4b0c72d7a410a37611e0079baed04f24dc3c190bb530e83033f0e5e1be5bf2e9f76cb0ddda5f027fe3f3a5989db6d22ae4f8604a1453715900346f6495e7dc17853eedb4879bef013430687edf436d7eaac96c96d6d8925953403d16b590fa0182053164e19784024f7ab5f4acb8c948213c0b7ff0b0cba0180f7039dc01232dd5df8d43df9470bed2c5ee14e5ab14dac5cd016437cd63993110da203b60796030d766fcf77fcbccd778200c31ed21be9ec8e547477f5aa0b9f1f513103e3f35d2a74cec241102bce5028f197fd944afc30b9ef0c52bb424d336408ee6a0219ffff03668d6389cfc0db5e72ada3e4c852ec954e6172282b419753cfb1e83bd998db57037caff7de3ab0fee8dd6f09c89867614081ad8be18aa353b0f0c881e6f03d010b03e2170cf93f92ebcd0b1e87d953061ce297c3ca41a39c781477ff25aa704a3bef0390cd3d95d18f1ed62ceab4a3fcb0aac1d364ac27270c05ac1386caf2c1db38c003380e620d22f78f36d76554d3ce90f1ddc92c233ef345f04c857ba6791a4ef2ce032bf9279b85cdbc021c1119945d3e5acfe10f80a60ddde97bdcdb86f1ee5310ed03a8fcdb783061d0d512368e0eb280eedb8c340091e3c2b29a007dd76eb8142a9903e43bc4b3124c4cb763b9b5c684f454608e40ec5175aa1652b19038f8e553084703fec50d96eb54225b2070452330d637ef3d2ba0d300f944452f660dee5406202003a4b905a4994e6b4a73b5b8658bb8acb28c93b941d54e8a84f07ec94acbfc5496032137083941d769badb6a08f69a6cb71217d0bd447fba18be9053cd00737e7bdb03910742ded74a10aa919b63a907f1ea7fba6ae8c12c7231933d6a6c0cb79771db037e4e56559b4ff33c8f1a03e062a9cad659080944f45a6d06a6f1d6bb6ba5201e03d5967c311e5df3864dea5da036e491c5fcf3a90f0ae2bf11cd0b5e3ce9f8963c035024e55bac007440b8823077505ca40c2a762d7fd97ad2c35618223e77b6f3d4034683f295994c89e36d428a9cc84521da2326268505275d598d6777cd27548bde03dd43a042c2a3897760a6bd1f3702ed40417588d3f5cdb83196fa28b8e45f0c590310a1fd0a474c36d9ebdd9fb8b698cd4bc4ae6a83b4f556befa1119eaddb95b98035ac063bbd0be5d0d666f3edd90fb1fc5ebdf443cf47afb392c2d58bd0d5e2c8703340587745d7c3172fb98c230176e9565bce491d9241bd2a20bc9eb8184390a6903348632e2a99d644429b27dfc8e7c7a2a0efa1f7ecd1c07738bc441239209fd8c05581e032acc822239342cbf2a4744b3edcd212323c048117a1a5a74ec0d5a9c90040205581e03cf0b465ce8e9402d564a6d0e59a20a52ad45ef73f1dfc7de77ecbae4d0040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03b969f01a1cd105c641a593dca393721dea73a1660f402d781f1332e57007011bffffffffffffffff05581d03acd07fb7a84c14c0fd87491207ed393dfc42ba0752284daf63ec1ec00c18c34737639031ef159305581d038f03b38b1fc92fc411b3328883f6967ca6f9674964ea1421f9e6d6100c0146795c333cf8d005581d03b10a01f3da7b3a8a296c3953dbf089afedb0e62d8519617de2b6696004010219024201410305581e03bb67192c46ef33f278435a6773464dac92d8a376ad4b68f19cf341bc600c0147055bfc02af7a5205581e03d3d4eb8cf1c34cd9fc55e9f541e1e7553589f751038a6e2fa8860a6a30084709649a9c467400038da7b019875c17472ffbdafba372a8ddc17019bc9d9b4108a536e0465ccc0d3303b6c3850163ea76403781a8d54a51bca6091a4724cd248c5d5bf0361c2e6288d70219a599034cef8f798425f53e21d970385cf23fef091d7fa820dba278dda044251f6ca3a20348b4622197d1af33199ff8dd83327b3f1be210655dd587b724a32b966a081b3403335cccdfba8b1d1c5a9f5f7bc5a4b9e4eb35f92ae5b5c63c832f330821020fb5034d404fd55f4e0b7e9c6bf310d69a996c325d693ec4f253fa5b1ec17379b999cf03ecf731191ae8c327ad4ad7392ded1ae9015c6b0267bf2323a62bb9521885b69703a938f441f133eb819516a7e387db4ba8c177d84f2aa433ef9987029b75aac66803ecc52ae75145f74d4b7a4f7a2610b93bd232dda877bf27d43acdc8e0e732840b0398d5b5547c36feb0120167a9e0d3b88e03bb952e52d74f0eeefd1dcbb01e78be03f54b62235dc663fb72e013ec63ecd171502028f87d2dc9b455e1e1b27fddd96c0219ffff03b84b3b4191f4556fecc7e04a64deb60455c8c70f68ce581c4d92eade6c5d05df0347e493c2e4d3a125c618383bc6260cceab34cca7e1946e6337f1c198b73fd2a803c512041fe55337e1bc053a377ef20710d6bcf000b3635ef9475d177c4b221493036d87d6ae1a38a4641b4a95b61fa789fff2e0b684fa9f6f82313fd1f8d6f1f4bd03a6689fd6da6d76f654a5cd952c7d9d4d42dfdd0185d002aa846c9cf8c011f30903b36d870b5090487e28acd1c1338919f80dab28031cf3953cab9fefac75fff5ac03dd95bbf8555ade4d7c2ee7661b9ac5d7d86da7924bdfc80ae3a6c28e73d390df03325cbe612781fa940e45a0502c28d0232facdc6834ca88c035be4489cdb36d540219ffff030f730849bf9174812c25c9254e1a4b2f61a1322d57bec116a8ca681385ce772b0399634425c69d0313a6ed730d6e3cf698c98905c34d7c64f0f83bf1e4d1e2b6f50305f80047a5514acc6f655ef1d06868b664a5e4b0a53ee159d5389a9a70bafc8f032422ab0449a0fb023f68adeabc3de1a07c246418873b9f17dbdb9e029f9940730360a67bdbe424416d209697e6f02b571be0a734a848e749dfd916dcd332393c8303220d770bca29d2e24d5c6e3dd20f802622fb625f1a544e4a5c7d8986e53fa797033d11e4f28dd4b87e110fd1fc854eeecff171642de37e012ed1c35e92d2d10b420219ffff0219ffff03e81af9a982499f13d9b52334bc339d6d28595ca86b5b41220a963a550d7c9c0f03524021f5852869ee69fdeff129a8f4c49c8ef13dd9655f83332fabca4d5527e603e27401d6fe1b77bc2bca4cbb3fa5d97896b2814a64c47e0f59be306e2eee483a0388c5f2de56f246eb111688ad9e4d4615b8a7e045f954dace3dca046e4844bbc103d26d8cb4c9bdc93f3ed164450c0b0ce6cd932138aea24d68e6b9f58c4c9d606a031322eb667d6cd1143c75ec6bf420dea32ca3c950e4221490c5ee4bf28cf4689f03d97d57861cdaef4197b0f20f596c250b95a21a202a09b50247c670d10dd7bde0039534fce5dbc53a52a868f6113a07666167c6d3daf7e38a79a833c224ebbc17d903f7a847d33c1550f021c345d3affee664193d963d519aa37aef5e86dde9b0062b030e4c3d011cc18fea39a1a40610d97d02f96ff6b49a4eb78639f1b4cc2489904b03c65d6495bad665514490ae7331362c0c88f4a9adc0505d14371acde857bd77d8039193bdd8e005dca441c7fd64a69ef0b5b181d8f71c10ada10dd0f6c84d04ea1a03436672d5cb49556995b749fdc797a2309a174675d39c4a8972b96383e95cb99103c052d4ad7be3b6bee35e0c630e13def85f0630732ced9476fa004bfa08efdb18030678cf088f451363fb9e9ccd393cbcd43aa3ad66dcf0c12040896266529ad0160332a79e90cbcac37b7079da7063dd34b2b0558481c17b32d6f7e5ec8f5621dad203bf0be1a37729cda86f33022ebfefc48c500926a5bd9a98c707a97810a907f1820334ea9808e275fb6c6f933592a008e448a9799b71925dffac68fd1aaf3ce4b13e0302eb56a5d098e4a5927d9547edda746941e2fb835be8e590bdfd8faf1805582c03d947c74e8577ac2eb2de6a355101d657e60473294b09c8ad72b4ec91c1b61112036e7606b823ce91c09cda20b71c87b32333e12a97af78a85dac109ae88435684705581e037f93bf1f9fc887b0a2082fddfad6f63ff89348b9e10a923fe7793865500c014701ede302c775c005581e0323cc4a1383bfbb0024400f8d5c4b320295e8aa4dee6d2628dc643446b0084806efa573b2bd800005581e03d71120064a4df0b5be6e70925f65c4fa23c826dbd646f559088d7a91400c014701baecb51ad36805581e03f38311d08a8889f8694ce3a4fbaf5d2b6b490424d5aa1703fa87da02400c014702ce80355f600004591b6c6040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db14610e4f578063137c29fe14610ceb5780632a2d80d114610a8a5780632b67b5701461091257806330f28b7a1461084f5780633644e5151461082c57806336c78516146107e25780633ff9dcb1146107805780634fe02b441461074157806365d9723c1461063157806387517c451461054f578063927da105146104d4578063cc53287f146103fc578063edd9444b146102d05763fe8ec1a7146100c657600080fd5b346102cc5760c03660031901126102cc576001600160401b0383358181116102c8576100f59036908601611161565b6024358281116102c45761010c9036908701611131565b61011461101c565b916084358581116102c05761012c9036908a016110b1565b98909560a4359081116102bc57610145913691016110b1565b96909581519061015482610f7c565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301526a0d88191958591b1a5b994b60aa1b608083015282519a8b91816101f1602085018096611798565b918237018a8152039961020c601f199b8c8101835282610fb2565b5190209085515161021c81611714565b908a5b81811061028f57505061028c999a6102839183516102518161024560208201809561176b565b03848101835282610fb2565b51902061027760208a015191858b0151955195869360208501986064359333918b6117c3565b03908101835282610fb2565b519020936115cb565b80f35b806102a76102a16102b7938c5161125c565b51611878565b6102b1828661125c565b52611746565b61021f565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346102cc5760803660031901126102cc576001600160401b039080358281116102c8576103029036908301611161565b6024358381116102c4576103199036908401611131565b93909261032461101c565b916064359081116103f85761033b913691016110b1565b9490938351519761034b89611714565b98885b8181106103d657505061028c9798815161037e8161037060208201809561176b565b03601f198101835282610fb2565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a0815261028381610f97565b808b6102b1826103ed6102a16103f3968d5161125c565b9261125c565b61034e565b8680fd5b5082346104d057602090816003193601126102c8578035906001600160401b0382116102c45761042e91369101611131565b929091845b84811061043e578580f35b8061045461044f6001938888611342565b611352565b61046984610463848a8a611342565b01611352565b33895283855285892091848060a01b0380911692838b528652868a20911690818a528552858920848060a01b031981541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a201610433565b8280fd5b50346102cc5760603660031901126102cc5761054b816104f2610ff0565b936104fb611006565b61050361101c565b9060018060a01b038097168352600160205286848420911683526020528583832091168252602052205491519282849360d01c9165ffffffffffff8260a01c16911684611108565b0390f35b50346102cc5760803660031901126102cc57610569610ff0565b90610572611006565b9161057b61101c565b906064359265ffffffffffff93848116908181036102c0577fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b9333895260016020528389209660018060a01b0380921697888b5260205281858b20991698898b52602052848a2092841560001461062957504216905b82546001600160d01b03191660a09290921b65ffffffffffff60a01b169190911795169485179055815193845260208401523392a480f35b9050906105f1565b5082346104d05760603660031901126104d05761064c610ff0565b90610655611006565b9265ffffffffffff60443581811693908481036102c057338852602091600183528489209660018060a01b0380911697888b528452858a20981697888a5283528489205460d01c93848711156107325761ffff90858403161161072457503380895260018352848920878a528352848920888a52835284892080546001600160d01b031660d09390931b6001600160d01b03191692909217909155835194855290840191909152917f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f39190a480f35b8451631269ad1360e11b8152fd5b508451633ab3447f60e11b8152fd5b50346102cc57806003193601126102cc5760209181906001600160a01b03610767610ff0565b1681528084528181206024358252845220549051908152f35b5082346104d057816003193601126104d0577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b8234610829576080366003190112610829576107fc610ff0565b610804611006565b61080c61101c565b606435916001600160a01b03831683036102c45761028c93611286565b80fd5b50346102cc57816003193601126102cc5760209061084861144c565b9051908152f35b508290346104d0576101003660031901126104d05761086d36611046565b90806083193601126102c857610881610fd5565b9160e4356001600160401b03811161090e5761028c946108a3913691016110b1565b9390926108b08351611878565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a0815261090581610f97565b51902091611538565b8580fd5b5091346102cc576101003660031901126102cc5761092e610ff0565b366023190160c081126102c857608085519161094983610f61565b126102c85784519061095a82610f30565b6001600160a01b039160243583811681036103f857815260443583811681036103f857602082015265ffffffffffff60643581811681036102c0578883015260843590811681036103f8576060820152815260a43593828516850361090e576020820194855260c43587830181815290919060e4356001600160401b0381116102bc576109ea90369084016110b1565b929093804211610a74575050918591610a6461028c999a610a6a95610a0f88516117f2565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610a5c81610f7c565b519020611507565b916118dd565b5192511691611366565b8a5163cd21db4f60e01b81529182015260249150fd5b5091346102cc5760606003199381853601126102c857610aa8610ff0565b6001600160401b03959093602480359390928885116102c057859085360301126103f85780519785890189811082821117610cd9578252848301358181116102bc57850190366023830112156102bc578382013591610b06836110de565b90610b1385519283610fb2565b838252602093878584019160071b83010191368311610cd5578801905b828210610c78575050508a526044610b49868801611032565b96838c01978852013594838b0191868352604435908111610c7457610b7190369087016110b1565b959096804211610c62575050508998995151610b8c81611714565b908b5b818110610c3f57505092889492610a6492610c0c97958351610bb881610370868201809561176b565b5190209060018060a01b039a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610a5c81610f7c565b51169082515192845b848110610c20578580f35b80610c398585610c33600195875161125c565b51611366565b01610c15565b806102a7610c548e9f9e93610c5a945161125c565b516117f2565b9b9a9b610b8f565b855163cd21db4f60e01b815291820152fd5b8a80fd5b608082360312610cd557856080918851610c9181610f30565b610c9a85611032565b8152610ca7838601611032565b83820152610cb68a86016110f5565b8a8201528d610cc68187016110f5565b90820152815201910190610b30565b8c80fd5b634e487b7160e01b8952604184528489fd5b5082346104d0576101403660031901126104d057610d0836611046565b91806083193601126102c857610d1c610fd5565b6001600160401b039390610104358581116103f857610d3e90369086016110b1565b9093610124359687116102c057610d5e6109059661028c983691016110b1565b969095825190610d6d82610f7c565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c6060830152631a5b994b60e21b6080830152835194859181610e03602085018096611798565b918237018b81520393610e1e601f1995868101835282610fb2565b51902092610e2c8651611878565b610277602088015191858901519551958693602085019860e4359333918b6117c3565b5082346104d0576020806003193601126102c8576001600160401b039180359083821161090e573660238301121561090e578101359283116102c4576024906007368386831b840101116103f857865b858110610eaa578780f35b80821b830190608060231983360301126102bc57610f2a888760019460608351610ed381610f30565b610f0f6084610ee38d8601611032565b94858452610ef360448201611032565b8097850152610f0460648201611032565b809885015201611032565b9182910152868060a01b038080809316951693169116611286565b01610e9f565b608081019081106001600160401b03821117610f4b57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b03821117610f4b57604052565b60a081019081106001600160401b03821117610f4b57604052565b60c081019081106001600160401b03821117610f4b57604052565b601f909101601f19168101906001600160401b03821190821017610f4b57604052565b60c435906001600160a01b0382168203610feb57565b600080fd5b600435906001600160a01b0382168203610feb57565b602435906001600160a01b0382168203610feb57565b604435906001600160a01b0382168203610feb57565b35906001600160a01b0382168203610feb57565b600319019060808212610feb57604080519061106182610f61565b80829412610feb5780518082016001600160401b03811182821017610f4b5782526004356001600160a01b0381168103610feb578152602435602082015282526044356020830152606435910152565b9181601f84011215610feb578235916001600160401b038311610feb5760208381860195010111610feb57565b6001600160401b038111610f4b5760051b60200190565b359065ffffffffffff82168203610feb57565b6001600160a01b03909116815265ffffffffffff91821660208201529116604082015260600190565b9181601f84011215610feb578235916001600160401b038311610feb576020808501948460061b010111610feb57565b919091606081840312610feb57604080519161117c83610f61565b91938492906001600160401b038235818111610feb57830182601f82011215610feb5780356111aa816110de565b926111b787519485610fb2565b818452602094858086019360061b85010193818511610feb579086899897969594939201925b8484106111fa575050505050855280820135908501520135910152565b909192939495969784830312610feb578851908982019082821085831117611247578a928992845261122b87611032565b81528287013583820152815201930191908897969594936111dd565b60246000634e487b7160e01b81526041600452fd5b80518210156112705760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b92919260018060a01b03604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c1680421161132a5750828716968388036112e9575b50506112e795501692611aaf565b565b878484161160001461130e5760405163f96fb07160e01b815260048101899052602490fd5b83836112e79903169060018060a01b03191617905538806112d9565b60249060405190636c0d979760e11b82526004820152fd5b91908110156112705760061b0190565b356001600160a01b0381168103610feb5790565b9065ffffffffffff908160608401511660018060a01b03908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c0361143b57918561142f94927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec989796945087156000146114345742165b6001850160d01b6001600160d01b03191660a09190911b65ffffffffffff60a01b16171790555193849384611108565b0390a4565b50866113ff565b8351633ab3447f60e11b8152600490fd5b467f000000000000000000000000000000000000000000000000000000000000000103611497577f9676a6d5f27a67b1182b5713b6eb4177cc948e2d26e5f5a75ca9fbef16ccb67190565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a60408201524660608201523060808201526080815261150181610f7c565b51902090565b61150f61144c565b9060405190602082019261190160f01b8452602283015260428201526042815261150181610f30565b9192909360a4359360408401518042116115b3575060208451015180861161159b5750918591610a64611578946115736020880151866116c6565b611507565b51516001600160a01b03908116926084359182168203610feb576112e793611aaf565b60249060405190633728b83d60e01b82526004820152fd5b6024906040519063cd21db4f60e01b82526004820152fd5b9590939580515195604092838301518042116116af575084880361169b57611602918691610a6460209b6115738d880151866116c6565b60005b868110611616575050505050505050565b61162181835161125c565b518861162e83878a611342565b01359089810151808311611684575091818888886001968596611658575b50505050505001611605565b611679956116739261044f928a8060a01b0390511695611342565b91611aaf565b80388888888361164c565b602490865190633728b83d60e01b82526004820152fd5b83516001621398b960e31b03198152600490fd5b60249085519063cd21db4f60e01b82526004820152fd5b90600160ff82161b9160018060a01b0316600052600060205260406000209060081c600052602052604060002081815418809155161561170257565b604051633ab3447f60e11b8152600490fd5b9061171e826110de565b61172b6040519182610fb2565b828152809261173c601f19916110de565b0190602036910137565b60001981146117555760010190565b634e487b7160e01b600052601160045260246000fd5b805160208092019160005b828110611784575050505090565b835185529381019392810192600101611776565b9081519160005b8381106117b0575050016000815290565b806020809284010151818501520161179f565b9260a094919796959260c085019885526020850152600180861b03166040840152606083015260808201520152565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835260018060a01b038082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811060018060401b03821117610f4b5760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845260018060a01b038151166040840152015160608201526060815261150181610f30565b9190826040910312610feb576020823592013590565b6000843b6119d6575060418203611986576118fa828201826118c7565b939092604010156112705760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa1561197a576000516001600160a01b0390811691821561196857160361195657565b604051632057875960e21b8152600490fd5b604051638baa579f60e01b8152600490fd5b6040513d6000823e3d90fd5b604082036119c45761199a918101906118c7565b6001600160ff1b0381169260ff91821c601b019182116117555760209360009360ff608094611918565b604051634be6321b60e01b8152600490fd5b918093946020926064604051809781958294630b135d3f60e11b9b8c8552600485015260406024850152816044850152848401378181018301889052601f01601f191681010301916001600160a01b03165afa918215611aa2578192611a5c575b50506001600160e01b03191603611a4a57565b604051632c19a72f60e21b8152600490fd5b9091506020813d8211611a9a575b81611a7760209383610fb2565b810103126102cc5751906001600160e01b03198216820361082957503880611a37565b3d9150611a6a565b50604051903d90823e3d90fd5b9160008093602095606494604051946323b872dd60e01b865260018060a01b03809216600487015216602485015260448401525af13d15601f3d1160016000511416171615611afa57565b60405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606490fdfea26469706673582212209ca759ae4574671196cfe399ac449e9e3a2fed77cd4c3f57c82af8aaf370920664736f6c6343000811003303138423c525a8b7aefa55d1a09be675c311092f959f2245006fbf9682d32102c303fe48d31eea4329ef736a0bf70e0c52ce23374eee596c3b18e31c002f18dafdc403d2063186596a9cd694abf9161bd7a9691c2c9a0185fceab08bacbce4fbf43f5c03ebd214a230fd60a1cf8214223c098f39aa65f87d41164eb306d21d715826f5a103809f05705c09d97e96b8f3e0641e9fc25676c17fb79f010dcb68a27378e6186f033261687a8b536e7f3e7cd93326802f789d78b0dd55a0b261359f6bc86e0c762b033d205e153bb3cef2e7a57523e33a37e123991e886737cb0eeb71933dc02d4cec03fa1c010177c8fc8f99ae13b8ff6d6d0b6a426ab1febf0e362aae14d3928631b103819c6ad310bf916f8e2ded6803b2105c6b3fd2d657b20556f3a986215ec996e9036a8f0f2863880ca8626840ad7aae9e4f372cc745442df98c0a798260470e6836039cc9abb64fbda8b65d8a55150a321c0cde81264c3437352a6d637a7e66bd8c190342f8987c5e1dc54fccbcca94e95e336090a947f7f36df731b6683aa901a04af5038ebd3b52d8612593e6db49ec3d1fae9d26503ff499cc77b508542ddb0e97dd5b0356f6133fafd96673bfe0d2f2d7d22c645a0ac104a39d581639a19695d8357c530345d082620f0417df32fdd9a6ea817715d59f941621ef736ec2f243b0b7a3e92f03262c3ed86245be1279f0bc56f95a126bef9b79d9fb2f6d60f4dc828232a1359803895137d69bc95df8ae9e70f2238c7b074ccc67d32205f8d3b269b795a8d90a3b035d78dcc9dec6a4eec3678e961a42e891b88e1229eb7fd297367e235e53ad7521005820038d7a4b6f6fe9ac78498f0436c54499c3ff5e4f5df94c31c518f6806e914430581b01000066535536ffffffffffffffffffffffffffffffffffffffff00582003021d2b9a6f0d67178ade2cfd33efe48716de23a00f54e5872c42c027396de0581b0100006657ff70ffffffffffffffffffffffffffffffffffffffff02194400036ada16aa0a5b26fc6f949212920d709ac11c720dada22f77e143176758c1f46e03d7697cc2ede384f16cfc7e2193a60942cebc6ba74cc326070c3302651ae6559b0219ffff033af80b991a033140c6d6af9c6100b0d3e3520126962137f0be5898717862ee2b0314803eb619d13dcc364c650236172f9fe911d0df2673928d8b04076b9d71f87c03925ea4e4a53482182bfcb26a72cbf0eb98df3f0ef80962cc0659747d320a50ec03ee2c208807cc80d1f4e2cfb918b3566d2016aa830052e69f572b72afc6e667db038ec35b30e4bed47b38356c107bb2dc184a8441d2c932b2fe280e536f8458e700030f6a5e24a345a8f0396916e8255ffb5d2bca7230438f31c8208c0f6d9afee9b7030560b3db44262678e3c5a2d651cb38af064f7a69cc80c37b6a32c4d35327d18403bf021710270b0d41958874bc7820a6819cf830591ca4461a518d57a4013e1e7c03f6f049166be153c19992d771e1a3f27c77bad3d69470eb9f1b6b4c5b46cc64b2032dba67df89b7598b81fd0fb33bef4a64d7f57fbc75ceae38c40c2eb78687024b0219ffff05581d02acba6ab297b8a9a4a0056d28e65c5ef144cd9bf721927d6e49596da80701191b6c05581d0241df16f40df98aace6e1451102676ece6e267264b7d16f679d768026040105581d022c0ac919ea3883ab129e61ffe8b4ace7a6d8bf3b97415a184a5dd02b040e0219408803d6d5f9100d563306957a897f9b30cf0753ad96959aa70d94e25205c28aeea2a705581e03c0bcd78f8e8b6bb30f4a309d3cc39594e88edeecf748790a40f474d9800c034725c57be1e7ac0003c18d2acae8f47dd766c49af7789137ba292c96e0207c1feb154437c42f92003a01410405581e03f6e271d196f48b58736bed6b1bf167e6d87e0b991f7215bbf102b418100c014787a083ba2ec5f00219f6860320ce9f2d91b6efb7d103263247fba263d9b6c20b1211feedda4c2900dad934730330e043c35ad4026a9dde97b428d2a69f9a3c5cbcd110dfe58921a4505fbcfcc603a2ba8443a52a5b1752d79804ff7685bc584c18de640ed4848a87ed52485185e30317490c46427aa0eb7d9915119fb04ca5f8d08d228962eb25e3b3f44399b132300323e085bd0145781a764321a1c9325d1b4d29658d59b249378fbbbca1607020db039aeba2f021016b7d727763c0b35ff176af4ae285a3dec970a342bdc86fd11f3703ffed358f6696217469f3ae849cf0363384091bb004779862d0cc89efa5f5d46603bdef9ad6c9b94fbc1da3181464288b3762be2fae02436af67b00f911ce935fc003321909758adecad00a1fbdf73e07e5c9e88f06a46f133817c9f8b9565a308dcd034222ee315c2a60202ff181b3ecfde514953f1b15e3e4dc75d0a6ef747e98f7ad03122082737caefecd148d8d358bd34cf21f1c3fa3ed04d82d701801e629e9f00c03fefbba1dda28db2ca942d6fd3caa69c46ae7c444d3277a5f7c8899df0e546c520219ffff030b4755bb0b1f8b644b16f11bb9407844c1f55621eee370393f6ad8ecaeb6214f03037d31af3aad4a3b46ab72e5d462d8e8d04308d0cf88ef51f69ad7111eaa06d4031eb637fcacd77c474c8a73c812118002b94d850523278fd7cf0d8300c1b4f973032360720bd2f0c81e3f271bdcffd45662d85ad2e1ef6549d264be88b417f87ee0034e3e2dbd8cd3936a661e365bf91b57304bd817ebeaeaf103e9fb5a571bb095f2034d78c795ffd96f8f802f5fe928bd1e9acc1cb83c82306d2f9688ef9b4136d43903af6405afc7583975224a6d56ee04047dc240c64dea7815bbf87b89ef0a90f7ad038f96b95f2ec3a4b75999b309de9c2619ea53daf7d5f79a79aa7edf5d2018f326039d268a380222a5cb24cba3bf4c5ea4e8f5a12441a93fb17e8568f6172f080a3303ff78459bb261f63c4d1fa833b173c0c66bf6ed81b567b669bd5adc8da6c775d70219ffff03a365ec1313bf1f8cbc88d774ad077989d91eeacb73d685ccf48f81dbc8dac67a03bb68c1d42cc58d33a31fdc5ee0fa07fd73717bd08ba6e4f9966d33828fe396f803ab5cea352af8913e0c7418525eda50ad3cc9249af4ad61050e3cc20d2e9e6e9b0346db2c8e8132a51b503f21c334f7ad7ce3383fb4a5cc36755444cab4697413060386e2646fdd583662ce6acfc523d25feeab567e54e5c7979a5bcf9d22dca088a8036b87225ffb6ce640f828b171683c6e7becd20b9be2ba80c6972b98aeff616836032d2510b1ee56d9f42d6ceb5d20fe2be51b901d82b3578fa009ba8d5f5baa1e1f03a0a9f7e0ac532bfc3cb01dcdfcc1c4884fb2eda253c67be29d6d289ddc9d1f5503569cd7929d4b51b13b223a6d7fdff974fbc2c276db0284d5ed5d4c5feef140a9034269e6ad34620e35089ea35392ef1a6e2dad4c7b9f4bdc96c500ebe200ed2d37031f1cf371e00b4a8198fe5e5f2cacdfc0ae832777c08674f8fa48ecd1c43a37fa03f93c63e77407c8158739506fa997bafe98f5fc84d916e2fbf456ae69bf3d99a30391cf1042f9a101112aae19a37dbeed6b477da031ed29e94882d8338c224830820319c30b0b6e8d3fbbf43d3b4bb235dcf121762445b5a5f0b50dc1e431771e056b03004d4129bcbc9e42ba97d8f564ffc4620eb9b558406d667862385c7535f56481032d379ba64db69eeeb0abe791bc799c558a14d63a5bf6e9c03ecaa2e4ad7fdc16033d16efc135164e7731ab62120e739f6e435d6fc89a1323bf6efba6bddb9904bf039a6f213e956fd20369a1ea9d0181298344382fab77002ed62b76ea792efa7fd90304f3b9e44580c3ae7b3771f01b195aab0077a60d360260f69480308e286ac15e03318b22ab28380150b19608d4582e68f641aabd4895b9c867bf413ab63ce5075e0319c895a7da86209e82d36439fd009be8248a921164782f3848b60668c5556187030972603703ec10c81bc239dafba0c75e91ec729787339d48737f20e9462568d20337e7bc62c16462e0b6be9303d7b40ca1908694cdfd17fb069ec774c750551a43032f8ad029f4e2a0f1917f2030fb19f7b467a86d5b4a5f06c18110c142d2ff29c3033a1c361cc3f305d1d0126215edd5ff3f21f6a90f881e29dee7b55109879f4c7d03eaa61b416d4c50bdd97ceb940f122b09e63a196b6b1c3e30579da307cd7d79b203d06613f2d6c980f6b64dda2f6b7e10dff4da574cb548128543540ef5b3bfe93f03a02e0bd9455353d8b536bba424b1f72c6f0110e46b883424d619bc9a5ad9ffee05581e0376dada5e4c85039ca4d7085e0aaf222c3ac6deb16a817ebd8e398139c00c03470207f6e8a68e0005581e03fd434dd19e7c5585f9a5c654c4c8d4c520ae9f3bccbd150c71987966b00405031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03c9947970059545bce8eeab5182b0c9cde1eb215251bf322db5da2103d007011bffffffffffffffff05581e034742ba238fcaef5beb83d4ad88ca8ea71db0f1fb420d517618274dc2d0040405581e03dd12bff4f8e20c365a41fb4c1be016b23ec259f9a5a85f013b932459d00c0547025ff412417d10038faa32a1e4d7937ff5917c6b995841cb993f73c7e92a3ab680eab0d10b23c83105581e034de09fe40a19a6f772b02d856e8ad10a0a4c688639b7a198b7cb2a3b800c01470e6bc9ffe8e20005581e0331d10c11a6cc0592bc1cdabb207cd8bd64571f7d0ed9be479fc85f71700c044711e1210cdd6dc205581e03e3d39aefbdade9cc9c7edb93fc23bf3be3d1f08586d2fd3850823a8cb0084801aa535d3d0c000003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0303835b20b0a401515f5602617fb476714c5a2a7c76b0147128de5a643007011bffffffffffffffff0219ecda033d83e0a8639a5b50a64ff088dc9e8b50bcb18e6fa115d781c22f4aa08a7c6b5003ff44a583ff23036b44596741cc35cdfc058a187d9720f60f744bfb2b66ee4e44035c662e777573a7e4df354c6e740dc17891e2799aa000a4c2bc30dc971f365da20219ffff03b9c4f8dfc4044a1853372490efeb64ad068130de6b53b7d4058b2ed4cc64b99c0219ffff03516804e081ada2c4c38a62a919df8ff806cc2c330d9dcde1c89ba422246b04b603fbf5bdc66ba2a6d4bddf707e69c82024eba11ef682f9109842eba2c1584c40390219ffff03bf7cdcb9a982e7f615ec5f8ee770972a45851b4358905258395e7cb6fdacac0b0393b16525675be841e1a0b3c705aeef79baf353411c89d12e42debcf8572ce7f203421b03db7be2025ada6e337d9eb48c98dfc5b065849b16906d6d6a99c15bb2ef0320b04124a27329c7664d6dbd5202e4a7e08d07bbaf88164a995984ab7ea2277b037ba5dd4d0e364f4b999fdfbd5deb56808a066609be04ec5326bdc239703b867603de5e9cf04a72554d07aba1b1888f13b51b8706d4bfb66e36fdee672f2938914d0377c255f0988cac28980de425eda715acbf447dc251dc63077e57b8e5f5ed852603689654c5c7417b27bdde419b60d87673414619650a57805cca976b4c45905ffc0385cc290447a271a4e0b9e523fb4c8e91ab8570fd95f02b97a77d46bcf47764e90328d705b2452e6ef2bc1a859adcdd1ea559262e899c82d66b936c16eb2b00727d035adc2ae4c2fc16153625c417306efd59a3600e1860f0bed4011adb21a2a1e2560305c616c73a7c7f040d71a7806e766fd05d6db9e7dd66b6fc42ec7c54697919630302284894839505b9bd553aec1c392806524ddff4cf5422cef5511482f7bb044b05581e03b9d4449e6bb15916c05d109bb9009f7cdc39e47e0282806cd9cb7dc140040203d0e34069feaedf90a8de6384fee18b7f490e475fe0a5cfeda1fdf27b8cd2d7a9038dfc58d7832f1abd863c452006fede164e01b227b9210a4d052f094051aadea503663f2de17ac55cb8671840d669c9acf1772a721d66e027ec3dcb827fffbcb9a703aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581e03366b0affeed089d8e2de0c7e079804e12b599f32fd0589188162d90ba007011bffffffffffffffff05581e03736c2880dd368e0c4df641e33170265d19ca0798c8d52937447c1232500c054708fcde69b3900005581e03a56240155ab7a03ed76a42f0c3a3baa36d1029e56e1e90ca7c7b84f8200c01470fb0fbc2ac200005581e03ee2202e9dd3462b689ee84dc6ba2008316bca2b5c00d7b211fc91de5800c0247075aa76eaf600005581d02db756250519ec83866411b7e301408462f8033fd4acc56e3e8458b3b0c18274842567b58e66db5ea03e7060058ff55118de60a0c457f49c286c154bdc15f34e7b88299c12fb20494490379586c717a834e00bbf49242178874b161afd54ac63fed2ecc27a75f0263094d05581d02f75a842950f7512ae4d59faaa47674759f2c6de922dce364bcfef69f07011bffffffffffffffff05581d02c8ceb95937b0cbcf4e8f9f55213c6ed27d552415969f516b73ebe10e08472bb2c8eabcc00002192006036c637a79e11089d5fbb28dff3f49f0b5bf445394908dcc0860730119a7c38e610219e29f031ed2969b7c697ee08af7f4ef4ff18e795e8cb7b360a89926c461f0b2dc44dce5031134f249f06684b97b668b10d77caedc5e6a587d306f253c459063a0cb845c000354a326522bf70b3951a1ccbe5e49c942850a954b90be876d266401b50fd12eb003b036c87f81c91c7fed4422b75a23bd33ac4b431a1cd5f50096ae32c0e3b112cb03d2569aff3265b66682506d935c8e400482aac073ba68a9f591dbb5b8273c7d5f037e5c4abda7e38ce5beb30840bf8a8b131b361e9cc0b88a15cb76892230b722130331e5bb9ee512f267fda4230eab5d4fbe1ae789788e97a1c18699e18ae1f2b83a03af1bf466d405bbfacdf21bed4c7a3fb7551fdc49436789b928e99d397b96df990343ee3211e34f2879a610b5f405681c025719eaf617cc8f1a75002c8340fbcfe603c260a5a6b85974dcb4e60a5fb661a551f9ba2a607116b7e003ca522cb02d12c7034317978c66b92a7d6048da59b420b6c629db0fcf68295a7f2873bd81548b29e5030f175174a4e08b0f0332199470b5e886c65255e8da27060359bb059da83823c6033e37d0ec09ac278df03824fb13f40fb5f0f1f42eede4fe732b34d2dc10cfc9970219ffff03acccc8382a531221482e9b4474e07d329e68e92a8ab70674ffae4097585cabbe03e15e36d8a70b4dcae3201abcb6d845a29ebf71d1c2db36d1cb7cff197d0543fd038a4fa9183cb802eb5cd0fb4a92ff16ef61ab120885b4c7e9af05ba5b2868064a03b7ffc268a04a900f4964ff5ea987e563f979d2d32f73ecfe10a7363c1893bc6403c8d4723bac81fef043105de49a80943aa0c991917f4f8071c609c2ced8d9296403836799f4ebcdc8cd6ec705f297dc06c01826087bd39ff664c8b235a56c90f36c0219ffff03382edb7318a038cf408ca2f02d1dba7bcf51609150b8a979941beb714d2495f7037410c9ab3aa0a97dc3be1751172ce93b9b0cbe88563a20cd60ddbdb302890cca035e14650ea3a4a1d5ea6a6c71ca0bd7451423f621b1ee7c86c03809bd72f466d303a8498c21cae97898548ce9206ad8a544913ab3f387200a001b937c731a38eadb034d60622905bc996259ae66986c0c5bf27c26fe264363831d81a022fcf51a7c63030cfc2634bc1d496760099232b529dfa84d173957a2edc742d87d76a14b9138d20321ee53cb9037202705cd1fca4cbd56371af6362e5fed6c04e82478122ed15870038771ede3b70e7924d2ca6d3962ccfd8921599278692e551380eb87651f0db64803499a1c49eafc746cd2a4be248123ebed41016153dd938362f11ca17515fdd0310316a437981592762ddf4728b18fb70b203d52a55c60a8c8d7b235765bbc1571b80320c3a5feae78f05eacc7405bbc40ef2bb702f03cc2155d949f2440b2d7e425f7032a77a93abc3bd33601f508b317be8f2716e82cbd17aa4d6ba6e87a45727693a503b9815a56290c9ee1416be0ba3f454c1653a2318112c51d6e24872e9c564c49d103a0613820af3fb3e292c641044c54b4c13dfb66d5f5836efdba79717484e09122032c39fc8b5fbb0562d90e20fe6633bc876a1fd30a85a4c9f8e8dbf3fc0c7debf70219ffff03ad18299c78a162d89c25cbd55d36c1ad3d95da806881d2e6c7e1b9988ec9dc5d03ebc6eaf3d198d60677488b16d5b8362c745e8db29f17aefae8062f8fcdba841f038b6ebb7f6bc1eb7d35808ba875f8342dae958df493e21ffd5ab8ac33c6d16e0e0323e9b8810126e40a3f07c1a1723f84c11b8056fdfadf3eaf034d7e25d345926303468df2bdcb7910ea838e84a701a5331f3893c0a4b2dbd377ac07ad65ebbeb3c1032a9c6533226f0e90fee797fdc8c6f07742c5a07cd38069383c6a73f055e2ecd903e7c8e25f5b4f1ba405d9a05ad54712e93021e27d96fd31933b7dae2237364e840335ec0b21350d7e2d8c0d41627465814917dcc4f871dbc2e9aa1eed3d1ca03387032f472e6654b3358a3a1267546dca4c810b088cb0f0a68d37769f8c09043fdc8303235c7a6f6d6cfca4e1cc15ea4b9cfc44442e02365108048661d909efab4e4fb9038d2038dc16ffd1d8cb2a8bf679c82575ab588dc993d6f3bc2deab4b05fe3bba803834d5f9ecb40042e955ee7a3375cacf6ad6825bb2723ee32cc259f09362f4a110358b1e2a768bc7c8f65160b322ab7b080734781489bb772c36b7b44bd91c2e0bd03642a2054a62839070d8736d762a38dfe6d99bb772f262355e2f3426a0d8ac77f038b0d76d4b2f231adfce06be9b94e44ef57d3e510382d5957724a13161257aafb0366fc708ed2b75cda302f2fd692f54de8eb360f54096c4e44fe29bde63c9eace3035a498d15515f6b7ab666829d951692fcda150e3172d8029c3d6f8fa3e63e6848034ce6a204d479cc23aac219c838408082183282173a73db572ed24b60b83047da03e001a89fb5dc4f3c63d45b7a09146f6443d885e56bcfb9a8c9afd7a71996d82903601c47dbc3fedfd83e5100f54b50f96bfe0a3ce07ef035c7ee8e375a7225691f0357f15d65ce95dd13ea614dbbbe0e1e920665f77afc80065cf9f58ea6dabfcb9f03bd0aa451235d455b382d8ab3410aa07e0b1b22f14beb0f738af8bb4bf217fb88033500ceb360e431879f49502420cc886fe321e0f37e16adb2afc74971e28185d403d4f62c44e8bb44b4cf6f8f9fc1d147f452a75b847d49203d1fa4d8bcde6e0716038d6381e34d4443bdc95e48a3e9db9ba1f798b9917b5b8496be5e8886512268350322745b1a336c5684f50c754941ba196c00d6da5c783139eed16eb08a48ba4f4503cfdb7b8b6265f65ac5f70737fc80f30bfbd18726790c6394ae5c6cfb2a2f29610391af242d092181fcb45c0607cba89e6873d870c7e64ae93ee2621c8903d8d6d60394f96f8aa9b5e0d4a47d6f461d91be31f018dc798cf385205606d32384059b01033ba486eaff7622292c35f8589c2a26bbdb760be1ceac5b9c933823ec59dfd6f103b1e5a2f021674e3aeb65f7b2d1c8d32f9f4de428e4944a0db36287d15c68cb6203ed26024ebd6789775434c094a370d290900a0f0ed9f3a50adbf16ccac5e4f20603f1a3686b9e8690d8dd2c12de84e50e68e1dfe8f6a9d72b69338f3ecea64f65510371415ad8c4b017d6ded8fc1864be50897b1eaf097a33a4ec5cb6bcf0eaa3f5d1032dc9e3e5be7b6e1137598d0cc885a025b52b0b54ca6246834d2ee368b4654fff05581e0327624401e91880e94f91ba6764e45f3e03e933d6741eff502c40693a600c014701048f2f78f00005581e03003d0e1176fab46411d8472e79958457105352baf3bf62a95319786b00040203d518eb81404238f0962ae83c6b928aa3d5c5efd34242c06a1839c9aa336f185103e46c3079b3f064d72a71ff93530356d28aa0dd5c259b684b9f8459afd548422b03e8e68d2d7a603cacfeab57a5ca05eeb5aa84106004cccf5a485300df43cbdf9705581e03733956b0457b90da48ce03fd2bfb0b28271257e28f3f6fd58bd6476bb007011bffffffffffffffff05581e03aec0eaac1abc7547233eccc0a4e77df0d90ddb344482ff94c2232426a00c1a0003cd4e4901c6649cb3be23fde005581e034769ad2f0240e666344ab92d4d5088d34fae12296d3e8998cfb605fa30084736326b1734b8a003b46cb817e267e3c091552e3a8c6cfea97307358bc20c5d8e2414ed5978bdf24b0219eaea0366dab919aea8fc0acbbc0fe9efd590cf16cb348a0fb417eced3c291f4848dcba0348e7ed89c87d709df418be2e402eda046527cd5e4c69a5a1c51bd81aeefe8c3d03855290974d5b5ac355c2933bb0e65366f974b8a5c2d860b43c42e942773dca410319a7dea40e47c65bba85f2d3437b64fa3fe9b07b91673530c0f7d872e472e3f403734ecdcef3ef2cd037f2aec3a4edc9741f80b76948526e00b68c2ebcdf411d920371c196181573405402d34aeec594701590fca3954b70b255d8eb4547cbc165cf036f9f2e70d7b465370b8d9c0adac55c27ff042cb67fcddadc78b8177f180ce9c10219ffff03895fa715fbeb9811c7f494b7fd83cfed329bede967d2ba08769eecc09070fa0c036f65cd403f854dac506bb29bc63cf388657558e67f1cb16a552899b1345d731303e0ebe242a8e9a577143884c6619e34715ed94e1528e719db106326d9c4ee6776035ae97be93a133dd1309c7893f5da39a93b26569b5b2ddc0529c01cc55b0a45a10219ffff03539f0a3723bb5e44a6fe909d1704bc84e4241c366c470c90e8c3a0e081b0fbc903dcdbde02c670ea65fc80459bbb6b6f6eb63493efbc307e649d554591b6fc8aff0351fcd913070727c663a796baff07c3e32e118b8146df51a8eee19daa4b9c79a50371cde7e60ed42b617d7cf28f1000f83e9fd652ff612ecb3b1628ef346468508d0304727096249bfd86a01682b465617d569ce0b825d6454e3f4339540a87680ea50363905050c35690ee19bde5fa8567029c16c2c9ca064b67a00e927ca4824d3e8003c718b1ba972064b0d26443a1e7426cd242e6d7f666fa12fcbca049c531ef4fa30341d9bdaf678f1fbbc900404bd5a8a3fed888ab4a07b09aef2be27b1daf4a1d8f03aca9932ef96fd29aecd2bfd6cb316ed429c40ae2d3aa3370cf00804cbcd56b6b036c07a785544f6010649458c31bf0219d8246d91f587aae639e0f296207543b1603efd92d7a10723f1694a063c5d32d9e04b83db4e32b2988de86061c1ffd14ff28036f8352a363feca30ef2b31dc98c95ce40c14e32ab5d30aa473ed6e36eaf84b0805581e03895a135643614d2e64666b2a4c005a448bb283569cec13c7354fef20900406034a67832191dcf1b17711f96439fb489b038e7f5a857556ad46eaaec0ee9f3bf203b2bf500c080d98b0b64dd4f9c0efdc9f7e608e2aaa8d43e7b88e7d3f63cbc4e40312a95c12e0066d88be9592d1105bf575c752b7907428db0355d40cc3a0257cae05581e03f20e6bab45b65da4b79a45434506e093fe27f5000bebd12fb7f56573e00c06446054957d032f95173e398f1ab7497a91a6e632bdb6ee32a501ab97cd2b692c38aad8e41f4005581e0340ee89aa6358c91c47a03a4e6bc4ac4a279c282601e639661e746a3970040303d3e5bb4507c8862d6285cce90c6807fbfcec1a234f8939ec8a59ca45bb02d53a03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c035d94f29610ee3281cc02eaa86b5d22258db84bfaa8945312380ed4142bc4635a05581e03019ee4d405c2a89da796293f6b3653b1766878045c10e61b5ca08ca89007011bffffffffffffffff02197c0f036a857eb6f66776410a2529f27dc5ec7e38d62a79eadb82c543a4134beae66abf03a7e3a33ca34774e9228935a7d89f1db99053879235af221205587bf20941bbcc03cfe3d0e145e54e880146bea784466adaf63702a5f5ca6413e2f01368862fac40036a60ca7d94d05a8d99bbc579f23d9efaf047fb76c5ac95012bcab70ec1ed95910385f095febfd5a17afccbcbddf6a2d4d35dfc3b2067315cf037690910a0f4386e030474d833427b4dd3573cd923083b801bfb0daaeb6b2a5029043be596be3cd59a0392bdb349a0e01c95393d26d43efde4c964f7c8626ce94a15372c0936d367ba8f03fab449d9b0b2158dff4e5f5c2fa8c0cc363685e261709c4f2e18abca870bf7e60363df7b107d776ade149109a9151bf1082021d411a199bb898640ca1c2ca07838031f36d81dcacb206ed5026dbee2fb31ffc03141ae5541a7c90cfb8bcd68d9f9c8034f3d96b0ac6ac3f979a2dc171f241e7e04050d546090a79bfb025ef363b3f49c03e727edbbe50291016a72988ec36d3f5b9a61f110300a4daa72a56176cfc4c5bc0219ffff03a0583304543bc8ca1d719fb2d4772f7afa05f183b018ba134320f2371cdf7907036efe273f5ef4ce0ad77ab7d17783e4c22eab68555629b6a2e9f0db553229db61034637548216386aa7a830100a3891e2d93b7cd23770076008397eef1e9e7b851a034a310d2c33105fcd60f858f244a4b1d406a264b6a1105613b7fa5302c2715b44036f201b9c3968244abec48b2323581e243448f4d6f34ba800a5d10148c256d4bd0348dd5bce1b637e6f43afe2a2e43dbaf8ffc3202fe4edbe6d24f20c8c61790f2503633401fd33daf07e3feead09062657fd7dc46f303515c2b733ceb5631844d8c50219ffff0375f648eb6719843c9744649e0a16d41df4e19343cff4b3d1a40c37de0ae58211034b3273e1a76b90efe64a1b53be8eab8962f6056d1eb89e8971e779528d1cc314035283303dc99dfec71d0c8f3f6c67acddd6cb4b6239a9e3e64ed4d37258de0e0e0219ffff0335026afe3fec58b55da8fb0bc8a8993039f16b9cdd31f54bea50cbab534c98cb0331c5237d68bcc5e7318fb6d8b855ffa0443513a205d89a9c18c399790932a0fa03a6009e6d24f6090f1c5a4e49db3841c70b78b7d85a3c35bbe9fbc89656aa76de03e0e25cc25eaface932dcab8b5a40bb8608dbf14cee9bfb3a091053e65a762935038e6273501686c2b48fc1f986090163a733ac84c9d95b8eb247261de41a059b73038fa2263d01c275b56a8fb731b766aa4430a1af05f7b8391aff49f66f817a32d90395e6a540214d008f90921b4c1bef0fa4ce640aefe02b397c64c5b1a5fa7428df03aa3a49ec78a7f7afeca6e3c6336bcc1282ae2c3a973b2240d36d103601dea52203da3471c8857e1db5d12ef9d74819cddf24929255745e1c86e4131f4bda9d3d5f033ac8c878e2f32f09e5b4d27d17fd8567617ff822a5daf4ce9af6fc5a96f8810903d67c54d90a304aab7d454208002e52b8b23413131917d83cf07b97a236dd034e034660d401f8e93c0672ab4128c6a78bbe73cd732a63fc2089109daecd7874fa140395e1ab6b9b69d5a1febfe1d7eeca3ea65be0093c5fecb36464c37901e9f560c5036fced6e13b02aca38ae94f8409e2b669c765ab13e995f7098eace824ac740dd703b2c7b67180b64b8d52b3528b61b5bca03ff9441259a4cd449a2a5f3109467636035fad33a752bf0cf2fee93a35cf1c21e9a36ea51f0698bb42efadf19ca44466c103cd7184d4b4d455dd170c1ac4d4e77eb63c12cb7e58cc8b55dd0bc249abf61142031513546bfa900524b0b1048893eed2b859ce5e2fbd8109a88550fa23e173ef1c03270223b1751e781fb5ec7fdee74e31cc43ccedfd99e5bf04bf83f5451a078a8703f771475a4a2d19164239a9a78683ffa435a6fb55922da05cf32b1f85bcdecfff03923f565e7d190a650cb7f14e5ca9626a26ed4da54559c94b27f56cfea249322103ac0d22f85434624990cb2928b869dd0dce71068520ce2f68aff6900a275e8c7103371cac43ad5cc743bf52813a0261597d54829432106264e295741787590349ba032a48cffbe5e92f4e0df8e75c373dff002f66997cbc1c69ca869c93d515cd526f03937b3e02efb0b11af647e931e0af8c282f7b9c4fd4fca525d4f31bbbda13a9350391c28ab76b49640557885af2991846962a215073bbd040dc7242116211acaf4003a2fcbd424bc9257d800bd02e39df5084f3a007a9d9111c43b10ca2d1a974defa0363938c3d4070e18e0351710e3bb1fb758892a5fd94bcd2f038eb6167c417158b03de0c53bf1fbd28649e6df4438eec48797c8d6b6f078de3d35174cdbd93ce813505581d0286e8a4ca2287b5a6cb0778e24c20680db6e9b2188d8b5537f544808f040204592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203428f3c50ba896461f9543ec3d7d5a02997b2ef8452965cc24ec49acfbb957edd00582103db80bc0876499d1bd8da0e0f3d8af6e72475ba2de74c9f3c993e2266264f9c605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304abb173ba189ba06e64b0b00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04f015e83aa0052f84eaae76fac590db4005821030db5c163c79c39e0115797810492b5afd5505f529011ada4b75e0974bc7aef6041010058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582086953c3b68fcabb2b5daef23655beff864c5e3d8ddb3a5907d9f549972719922005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8545c20ce2510a6450abb7b5948a1c57e1e77defcc800582002a8ab0d4bf67e2941bb62bfd60d66dda0692543423912837b375be3ec3d4df34a212a095afaefd3b1bb130058200256e9a5470a263fd4366be2583684cbf94248347727a63713e2ab68c888477f4905d46182a257b758690219224400582002397ae88bbc04e9ad6417341798f7eae27ec4d6cf01c6dcb500d8c0027d7b924a99e705d5e674b77aed7e005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219840000582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632cc57000000000027837e4e77103b39450000045552e57cfd5ebdfef80c4b00582002b92616683a5246a3db963740097bb0a86b2c77cb6231a729962f0ebd9bd4f748580f25b3240246290058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54292fcdd1b104de5a00250febba9bc6a5092a00760218580219b4c705581d0258069fbe9c62eeffe721e4838ae07d2cf7ce6b87dba6c13ee7cdf87d0701192c1d0218a00368f61baa0946622dd8fffacf496894e84f83b790c53ea480d387a7e62440b4a50307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e03b6fa98b009f6994f14647a8762e743bc47642bcd22e610e79b2e24792007011bffffffffffffffff03ce13faea52213bd4e5d36df358258491aed7c0ed779549a8e3b555ba27209e4203cd63803e7123ebf36588f03263c461ef4bac5a6c280d3af663a532d1d713681905581e03d6340740583d9f405c4cb915433db10643d7d9dcf9613a1a15d7de0a7007011bffffffffffffffff0348f79da3c8b02c837065660655d951169d0847e35697dd55958591b54e1fa42805581e037c4a940fb5dffb77b93c1e1e04486ea7b0781d195d30e2534f23026aa0040503242123376c637b35998dfa2a92f64114c14fbc9f321750ba486adb443f9f645005581e03c5baad5a482e6955de58cbf1058748c902c07aa4c76c59230d3acf7e10040503b27adcb37ba43204e998ac4754c6fc6420c96ca3ce5f24b3b621b873ff96393605581e037007242498f1c890d9af1bc076937066ac5388e8bb2ce668324333ef000c0146017dd79e100005581e03cbc41e7ed42473a1481c7c1f6b5d066b3b7ca2bc46289772b7600844c004010219b99f0349c73f4f48e4a70616c490d0615e5ed2a36cf4f914a36ec4dcf3f96beba3b1760349310689ac6f66e1192314b9b9ff8c4f8d06dbce6748c2e204b2bc7c55d62f030219ffff032169d1aaa8ff047d030671de0be8695c1178798f3a6e177e6b0a9cd2cfe9779d0390e09b2427dab80d4e610a0cf10105a2d784e59b77183fc4e4c0487f4fb4015b03a51ef1c8c7bbf250bb0bbd05107a0a89eb0d1e18eeda7612cd68c5acbc616d5d03f07c5250fbd0f485d1d0aadefec478afc27daae6bfb4efe2d1c7e306a7ed8f890399e80c5e6a8cb1efa1836c7cac5410e1a68dfa766555ff30b9b0068b6fb755b80300694eb95da0274c976084172a41dc39e8597ab29b57a0dba6e4ee42a78e103003cfa322ee8b3d213b59d3121c60884810bd4295f734b43343650ed0fb349cdc960219ffff03bcf9d9f5923d95e82f32c9a7a47ad6fb95d516eba754d0d5a034552500835acd036178bd18f2b2b2d7a35e5a6e3cbe459f3a01bf399968a937969449542dab179203834e31359eafc25f622ddddc257adb68ae0c6ee60c551509a4a47396251bb3aa03b5b996f9a40acbf094ade7bd54288efe839e51b08eeeac9037b638025f80339203721abab67b33767f9e1b417a47b5cfee2c99ea23b29ffcbc309fbaf103adfdda03d31e47387ea2775f08dcbef8b045368f6c7c04675f6d7136fb660af14e841d28038669faace588743f5a6678ec7ca9faa4bc8075edf78802f33b080e00bc71dcd403e9d27ef27c8616a5aa430dc04ef698a7cbe1b7ebcb4f339fe19e4365ceaf84440219ffff03cbe911ef3b69b69ae5645a445c059629a74927e3d1b48ae199bde05b2c341a070306c3119503508b1fa46a94df74b441db800ec1ab0337a2b7d3384c86fe5c3ba2035ec82990b2b3b7402ce9d5ce3cebb18d4c98b322c6b389c74b32becfac994b920219ffff0300649304cbf59023188e9aa1116f09d02614a1327c12a26a703b5264de9d7c6003c25cf58d6f4b1976e40e12da8bb1d29783bea7d0c71e1fab1dacdc884bc4a47d030c2e4bdf17a778aa2504dc6d851ea60df8f4e43e484a3efe4397c4e03b1f85d103d1b731311965c5b701a6f6d3427403ba60fe51cbf64f68d013d98eb8324a0ea903e8c1b532da9812dbbc38f3d4402651ed086979bce738f6bc353bea9f23a47ce4030563756c985aa113bf8ac7d3cb396bac6273818eb2145d3c4d1a1e54542017b703ddcf69edbd0617c7d4ead0b6d54ecc0cb5762a983076bee713e5a667c0377c51035e804b4f06281c710f4acc9f3652c5c2434a5b46b79f9028328fcdc6f190db140344a9c1b49ef3b2b56fd12a22f13df5b67ec967169121a484d514496ec2398ae903506da7794c77274b0123fa72182578e13920b84e733fa01d8237da107ce99aaf03acf90360c6f23f4aa05ecb8eb0e738decb75bb83cf3c66baafeb14d06b71b7c4031b7c0c51be8331d9f654841f7231b424e3653fa1c5aa1d6f26e876acfa20bf72037e059b088b15eb11a22ea41d209d52631d4488af4b10e3d57cd79af4b27f56d6035c658e1dbc1158700a1a22a1ab271ec2a6df6a51313a60b88bc93b8a4d8fd2da0354ef28d84de4a07c0a565c8c0d46db83107cdec5a751ae5b532f2da95074430603a262a027d2acff74fffb0e6d1e9c8bf0c931f914023c9d5a3a4d01de6b1774fb03177a66ff733320d3d0785c82bc17292ae49001d13085248c9d223cf08caf1057035dcbd889c4bb8ce33459068fde4aeab40080284a3fd805e9d2d2f35e78dad1cb03acde4e2e1b542e7c2434f47560e3c23d86764533702a5cabccdd5f33f181d7d20376438181c6bb2744910ef3c6542eb631adf54396b0433ca9449a79fd12b5ef7603e6a84a25b69e6b5a009560c00aeb8eadf6fd641d04031f1e879cfa907e2e0c8d039faab0c7dfbe9e8a1b46864b248fbf978f988d6909410591371d868022515fb4039c06fb58d65db2292d12c79e98fd82fdfb232fe0861ea33b394fa87bce4c063503cc9881513dd2d49c6519d640d8b288305258c797409f1c4d6db1497d34a745af037c71d1f8fba3cb813954da27139d2611fb3938c2832d67baae7a6a42cd7d748d03bc17308b4dd395012cf893ff4f3caaaa91ac311f98cdaaac3f6555b0f28850fc037fb888cd3059fbc963278532c4d4ec468a85eaabbe901c323de3d7f4c49b0062036a47c44e60102f398237906486198a7dad2e0db5cd617e0ba27483a45c2efefc03d53fa539c7f1f576496b7ca9df497a153025c97bb89a90ecc7a0713367ebfd7103edb8b104190fec6b35dadc23b2e2fd55a1dbdf4d4b069fa70f9c967eae7bcdd7031aeaf457d07f890a3d193cab44e37252b53c9d9cad5d5f0d73a13ad54772a68d03fa96c16ac221cd641811d72cdf79d0f544935dfc546edb390bedc9595e410c0905581e0301de71d59b4400576e43119cc4240f6970f4b6c6aa08eecfd853d7bd600c024745d31fc2da36f805581e034a2d33001162b0005cbc65b571d12bda4c2877847625df0e80fe39a9d00c0a4701d3a9feacfc1005581e0357d687737cfb91bb39a8e4456805856e3d0829faaf0ec74c7bc190e1b004030380992192cc05786aff0c054b3ab9f8feb100c95e17fd9576cf7669a5d83e1b03030f53715e24348a6829a68c3a65df08144795a3d8c1e47f7d0fd3028622e48db6032c9021086dc5ba72ad7dff7a15cdeb4ee4e374a19c22fc404a21cd3b92ec203805581e03ad402818f06a0d7d1b63cf946be722508124dd106a9b089d79463888e007011bffffffffffffffff05581e032d0e860b5f3362d1f9fac870add9c7681c42c3bb7deebbf2cf4dbcc0a00c01462632e314a00005581d02e4159a622c87389e8a72c7ef4bb5a95198c13144a3756d72efbce0fd0c04447735940004593543608060405234801561001057600080fd5b50600436106102d65760003560e01c80636352211e116101825780639d0b1a4c116100e9578063be537f43116100a2578063e8a3d4851161007c578063e8a3d4851461067d578063e985e9c514610685578063f2fde38b146106c1578063fd762d92146106d457600080fd5b8063be537f431461064d578063c87b56dd14610662578063d007af5c1461067557600080fd5b80639d0b1a4c146105ee5780639d645a4414610601578063a22cb46514610614578063a9fc664e14610627578063ad891d9e14610491578063b88d4fde1461063a57600080fd5b80637e463b1e1161013b5780637e463b1e1461059e5780638456cb59146105b15780638da5cb5b146105b957806390646b4a146105ca57806391ba317a146105dd57806395d89b41146105e657600080fd5b80636352211e146105425780636c3b86991461055557806370a082311461055d578063715018a61461057057806373cc802a1461057857806375ceb3411461058b57600080fd5b80632a55205a11610241578063495c8bf9116101fa5780635944c753116101d45780635944c753146104ea5780635c975abb146104fd5780635d4c1d461461050f578063613471621461052f57600080fd5b8063495c8bf91461047c5780634b061b7214610491578063572b6c05146104aa57600080fd5b80632a55205a146103f65780632e8da829146104285780633f4ba83a1461043b57806340c10f191461044357806342842e0e1461045657806342966c681461046957600080fd5b8063095ea7b311610293578063095ea7b314610384578063098144d414610397578063116191b6146103a85780631b25b077146103bb5780631c33b328146103ce57806323b872dd146103e357600080fd5b806301463546146102db57806301ffc9a71461031157806302fe53051461033457806304634d8d1461034957806306fdde031461035c578063081812fc14610371575b600080fd5b6102f471721c310194ccfc01e523fc93c9cccfa2a0ac81565b6040516001600160a01b0390911681526020015b60405180910390f35b61032461031f3660046128fc565b6106e7565b6040519015158152602001610308565b610347610342366004612919565b6106f8565b005b6103476103573660046129bc565b610712565b610364610728565b6040516103089190612a41565b6102f461037f366004612a54565b6107ba565b610347610392366004612a6d565b6107e1565b6009546001600160a01b03166102f4565b6000546102f4906001600160a01b031681565b6103246103c9366004612a99565b610908565b6103d6600181565b6040516103089190612b06565b6103476103f1366004612b14565b6109a1565b610409610404366004612b55565b6109d9565b604080516001600160a01b039093168352602083019190915201610308565b610324610436366004612b77565b610a85565b610347610b91565b610347610451366004612a6d565b610ba3565b610347610464366004612b14565b610bcb565b610347610477366004612a54565b610be6565b610484610c19565b6040516103089190612b94565b61049c630134d70181565b604051908152602001610308565b6103246104b8366004612b77565b7f000000000000000000000000ecf63dfba014dc9cea2715d10082bbbc892d21886001600160a01b0390811691161490565b6103476104f8366004612be1565b610d2a565b600a54600160a01b900460ff16610324565b610517600181565b6040516001600160781b039091168152602001610308565b61034761053d366004612c41565b610d3d565b6102f4610550366004612a54565b610ea8565b610347610f08565b61049c61056b366004612b77565b611001565b610347611087565b610347610586366004612b77565b611099565b610347610599366004612c81565b6110aa565b61049c6105ac366004612a54565b6110f1565b61034761114d565b600a546001600160a01b03166102f4565b6103476105d8366004612b77565b61115d565b61049c600d5481565b610364611187565b6103476105fc366004612a54565b611196565b61032461060f366004612b77565b6111a3565b610347610622366004612d17565b61126b565b610347610635366004612b77565b61127d565b610347610648366004612d97565b61139e565b6106556113d7565b6040516103089190612e5b565b610364610670366004612a54565b611492565b6104846114d4565b61036461158d565b610324610693366004612e97565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6103476106cf366004612b77565b6115c1565b6103476106e2366004612ec5565b61162e565b60006106f28261172d565b92915050565b610700611752565b600c61070d828483612fa9565b505050565b61071a611752565b610724828261181a565b5050565b60606007805461073790612f21565b80601f016020809104026020016040519081016040528092919081815260200182805461076390612f21565b80156107b05780601f10610785576101008083540402835291602001916107b0565b820191906000526020600020905b81548152906001019060200180831161079357829003601f168201915b5050505050905090565b60006107c58261186f565b506000908152600560205260409020546001600160a01b031690565b60006107ec82610ea8565b9050806001600160a01b0316836001600160a01b03160361085e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b806001600160a01b03166108706118ce565b6001600160a01b0316148061088c575061088c816106936118ce565b6108fe5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610855565b61070d83836118d8565b6009546000906001600160a01b0316156109965760095460405163050bf71960e31b81526001600160a01b038681166004830152858116602483015284811660448301529091169063285fb8c89060640160006040518083038186803b15801561097157600080fd5b505afa925050508015610982575060015b61098e5750600061099a565b50600161099a565b5060015b9392505050565b6109b26109ac6118ce565b82611946565b6109ce5760405162461bcd60e51b815260040161085590613069565b61070d8383836119c5565b6000828152600f602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610a4e575060408051808201909152600e546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610a6d906001600160601b0316876130cc565b610a7791906130e3565b915196919550909350505050565b6009546000906001600160a01b031615610b8957600954604051635caaa2a960e11b81523060048201526001600160a01b039091169063d72dde5e90829063b955455290602401606060405180830381865afa158015610ae9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0d9190613105565b602001516040516001600160e01b031960e084901b1681526001600160781b0390911660048201526001600160a01b03851660248201526044015b602060405180830381865afa158015610b65573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f29190613177565b506000919050565b610b99611752565b610ba1611b3e565b565b610bab611752565b80600003610bc157610bbe6110006110f1565b90505b6107248282611b99565b61070d8383836040518060200160405280600081525061139e565b610bf16109ac6118ce565b610c0d5760405162461bcd60e51b815260040161085590613069565b610c1681611c1e565b50565b6009546060906001600160a01b031615610d1757600954604051635caaa2a960e11b81523060048201526001600160a01b0390911690633fe5df9990829063b955455290602401606060405180830381865afa158015610c7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca19190613105565b602001516040516001600160e01b031960e084901b1681526001600160781b0390911660048201526024015b600060405180830381865afa158015610cea573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d129190810190613194565b905090565b5060408051600081526020810190915290565b610d32611752565b61070d838383611ccb565b610d45611d25565b6000610d596009546001600160a01b031690565b90506001600160a01b038116610d8257604051631cffe3dd60e11b815260040160405180910390fd5b604051630368065360e61b81526001600160a01b0382169063da0194c090610db09030908890600401613246565b600060405180830381600087803b158015610dca57600080fd5b505af1158015610dde573d6000803e3d6000fd5b5050604051631182550160e11b81526001600160a01b0384169250632304aa029150610e109030908790600401613263565b600060405180830381600087803b158015610e2a57600080fd5b505af1158015610e3e573d6000803e3d6000fd5b505060405163235d10c560e21b81526001600160a01b0384169250638d7443149150610e709030908690600401613263565b600060405180830381600087803b158015610e8a57600080fd5b505af1158015610e9e573d6000803e3d6000fd5b5050505050505050565b6000818152600360205260408120546001600160a01b0316806106f25760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610855565b610f10611d25565b610f2b71721c310194ccfc01e523fc93c9cccfa2a0ac61127d565b604051630368065360e61b815271721c310194ccfc01e523fc93c9cccfa2a0ac9063da0194c090610f63903090600190600401613246565b600060405180830381600087803b158015610f7d57600080fd5b505af1158015610f91573d6000803e3d6000fd5b5050604051631182550160e11b815271721c310194ccfc01e523fc93c9cccfa2a0ac9250632304aa029150610fcd903090600190600401613263565b600060405180830381600087803b158015610fe757600080fd5b505af1158015610ffb573d6000803e3d6000fd5b50505050565b60006001600160a01b03821661106b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610855565b506001600160a01b031660009081526004602052604090205490565b61108f611d29565b610ba16000611da2565b6110a1611df4565b610c1681611da2565b6110b2611752565b60005b81811015610ffb576110df848484848181106110d3576110d3613285565b90506020020135611b99565b806110e98161329b565b9150506110b5565b6000806110fd600b5490565b905061110983826132b4565b92505b828110156106f2576000818152600360205260409020546001600160a01b03166111365792915050565b611144600b80546001019055565b50600b5461110c565b611155611752565b610ba1611e60565b611165611df4565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60606008805461073790612f21565b61119e611752565b600d55565b6009546000906001600160a01b031615610b8957600954604051635caaa2a960e11b81523060048201526001600160a01b0390911690639445f53090829063b955455290602401606060405180830381865afa158015611207573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122b9190613105565b60409081015190516001600160e01b031960e084901b1681526001600160781b0390911660048201526001600160a01b0385166024820152604401610b48565b6107246112766118ce565b8383611ea4565b611285611d25565b60006001600160a01b0382163b15611300576040516301ffc9a760e01b8152600060048201526001600160a01b038316906301ffc9a790602401602060405180830381865afa9250505080156112f8575060408051601f3d908101601f191682019092526112f591810190613177565b60015b156113005790505b6001600160a01b03821615801590611316575080155b15611334576040516332483afb60e01b815260040160405180910390fd5b600954604080516001600160a01b03928316815291841660208301527fcc5dc080ff977b3c3a211fa63ab74f90f658f5ba9d3236e92c8f59570f442aac910160405180910390a150600980546001600160a01b0319166001600160a01b0392909216919091179055565b6113af6113a96118ce565b83611946565b6113cb5760405162461bcd60e51b815260040161085590613069565b610ffb84848484611f6a565b60408051606081018252600080825260208201819052918101919091526009546001600160a01b03161561147157600954604051635caaa2a960e11b81523060048201526001600160a01b039091169063b955455290602401606060405180830381865afa15801561144d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d129190613105565b50604080516060810182526000808252602082018190529181019190915290565b6060600c6114a1306014611f9d565b6114ac846020611f9d565b6040516020016114be9392919061333a565b6040516020818303038152906040529050919050565b6009546060906001600160a01b031615610d1757600954604051635caaa2a960e11b81523060048201526001600160a01b03909116906317e94a6c90829063b955455290602401606060405180830381865afa158015611538573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155c9190613105565b60409081015190516001600160e01b031960e084901b1681526001600160781b039091166004820152602401610ccd565b6060600c61159c306014611f9d565b6040516020016115ad929190613389565b604051602081830303815290604052905090565b6115c9611d29565b6001600160a01b0381166110a15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610855565b611636611d25565b61163f8461127d565b604051630368065360e61b81526001600160a01b0385169063da0194c09061166d9030908790600401613246565b600060405180830381600087803b15801561168757600080fd5b505af115801561169b573d6000803e3d6000fd5b5050604051631182550160e11b81526001600160a01b0387169250632304aa0291506116cd9030908690600401613263565b600060405180830381600087803b1580156116e757600080fd5b505af11580156116fb573d6000803e3d6000fd5b505060405163235d10c560e21b81526001600160a01b0387169250638d7443149150610e709030908590600401613263565b60006001600160e01b0319821663152a902d60e11b14806106f257506106f282612139565b600061175c6118ce565b6000549091506001600160a01b038083169116148061179d5750806001600160a01b0316611792600a546001600160a01b031690565b6001600160a01b0316145b610c165760405162461bcd60e51b815260206004820152604260248201527f47617465776179477561726465644f776e61626c653a2063616c6c657220697360448201527f206e656974686572207468652067617465776179206e6f7220746865206f776e60648201526132b960f11b608482015260a401610855565b611824828261215e565b6040516001600160601b03821681526001600160a01b038316907f8a8bae378cb731c5c40b632330c6836c2f916f48edb967699c86736f9a6a76ef9060200160405180910390a25050565b6000818152600360205260409020546001600160a01b0316610c165760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610855565b6000610d12612218565b600081815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061190d82610ea8565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061195283610ea8565b9050806001600160a01b0316846001600160a01b0316148061199957506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b806119bd5750836001600160a01b03166119b2846107ba565b6001600160a01b0316145b949350505050565b826001600160a01b03166119d882610ea8565b6001600160a01b0316146119fe5760405162461bcd60e51b8152600401610855906133bb565b6001600160a01b038216611a605760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610855565b611a6d838383600161226a565b826001600160a01b0316611a8082610ea8565b6001600160a01b031614611aa65760405162461bcd60e51b8152600401610855906133bb565b600081815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260048552838620805460001901905590871680865283862080546001019055868652600390945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a461070d838383600161227e565b611b466122ac565b600a805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611b7c6118ce565b6040516001600160a01b03909116815260200160405180910390a1565b600d541580611baa5750600d548111155b611c045760405162461bcd60e51b815260206004820152602560248201527f4552433732313a20696e76616c69642c20746f6b656e4964203e206d6178546f6044820152641ad95b925960da1b6064820152608401610855565b6107248282604051806020016040528060008152506122fc565b6000611c2982610ea8565b9050611c3981600084600161226a565b611c4282610ea8565b600083815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526004845282852080546000190190558785526003909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a461072481600084600161227e565b611cd683838361232f565b6040516001600160601b03821681526001600160a01b0383169084907f7f5b076c952c0ec86e5425963c1326dd0f03a3595c19f81d765e8ff559a6e33c906020015b60405180910390a3505050565b610ba15b611d316118ce565b6001600160a01b0316611d4c600a546001600160a01b031690565b6001600160a01b031614610ba15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610855565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000546001600160a01b03163314610ba15760405162461bcd60e51b815260206004820152602960248201527f47617465776179477561726465643a2063616c6c6572206973206e6f7420746860448201526865206761746577617960b81b6064820152608401610855565b611e686123fa565b600a805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611b7c6118ce565b816001600160a01b0316836001600160a01b031603611f055760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610855565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319101611d18565b611f758484846119c5565b611f8184848484612447565b610ffb5760405162461bcd60e51b815260040161085590613400565b60606000611fac8360026130cc565b611fb79060026132b4565b67ffffffffffffffff811115611fcf57611fcf612d50565b6040519080825280601f01601f191660200182016040528015611ff9576020820181803683370190505b509050600360fc1b8160008151811061201457612014613285565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061204357612043613285565b60200101906001600160f81b031916908160001a90535060006120678460026130cc565b6120729060016132b4565b90505b60018111156120ea576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106120a6576120a6613285565b1a60f81b8282815181106120bc576120bc613285565b60200101906001600160f81b031916908160001a90535060049490941c936120e381613452565b9050612075565b50831561099a5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610855565b60006001600160e01b031982166337f1ef5d60e01b14806106f257506106f28261254f565b6127106001600160601b03821611156121895760405162461bcd60e51b815260040161085590613469565b6001600160a01b0382166121df5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610855565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217600e55565b60007f000000000000000000000000ecf63dfba014dc9cea2715d10082bbbc892d21886001600160a01b031633148015612253575060143610155b15612265575060131936013560601c90565b503390565b6122726123fa565b610ffb84848484612574565b60005b818110156122a55761229d858561229884876132b4565b61259b565b600101612281565b5050505050565b600a54600160a01b900460ff16610ba15760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610855565b6123068383612605565b6123136000848484612447565b61070d5760405162461bcd60e51b815260040161085590613400565b6127106001600160601b038216111561235a5760405162461bcd60e51b815260040161085590613469565b6001600160a01b0382166123b05760405162461bcd60e51b815260206004820152601b60248201527f455243323938313a20496e76616c696420706172616d657465727300000000006044820152606401610855565b6040805180820182526001600160a01b0393841681526001600160601b0392831660208083019182526000968752600f90529190942093519051909116600160a01b029116179055565b600a54600160a01b900460ff1615610ba15760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610855565b60006001600160a01b0384163b1561254457836001600160a01b031663150b7a026124706118ce565b8786866040518563ffffffff1660e01b815260040161249294939291906134b3565b6020604051808303816000875af19250505080156124cd575060408051601f3d908101601f191682019092526124ca918101906134f0565b60015b61252a573d8080156124fb576040519150601f19603f3d011682016040523d82523d6000602084013e612500565b606091505b5080516000036125225760405162461bcd60e51b815260040161085590613400565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506119bd565b506001949350505050565b60006001600160e01b031982166310c8aba560e31b14806106f257506106f2826127a8565b60005b818110156122a557612593858561258e84876132b4565b6127f8565b600101612577565b6001600160a01b0383811615908316158180156125b55750805b156125d357604051635cbd944160e01b815260040160405180910390fd5b81156125e9576125e4610c166118ce565b6122a5565b80156125fa576125e4610c166118ce565b6122a5610c166118ce565b6001600160a01b03821661265b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610855565b6000818152600360205260409020546001600160a01b0316156126c05760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610855565b6126ce60008383600161226a565b6000818152600360205260409020546001600160a01b0316156127335760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610855565b6001600160a01b038216600081815260046020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461072460008383600161227e565b60006001600160e01b031982166380ac58cd60e01b14806127d957506001600160e01b03198216635b5e139f60e01b145b806106f257506301ffc9a760e01b6001600160e01b03198316146106f2565b6001600160a01b0383811615908316158180156128125750805b1561283057604051635cbd944160e01b815260040160405180910390fd5b8115612841576125e4610c166118ce565b8015612852576125e4610c166118ce565b6122a561285d6118ce565b868686346009546001600160a01b0316156122a55760095460405163050bf71960e31b81526001600160a01b038781166004830152868116602483015285811660448301529091169063285fb8c89060640160006040518083038186803b1580156128c757600080fd5b505afa1580156128db573d6000803e3d6000fd5b505050505050505050565b6001600160e01b031981168114610c1657600080fd5b60006020828403121561290e57600080fd5b813561099a816128e6565b6000806020838503121561292c57600080fd5b823567ffffffffffffffff8082111561294457600080fd5b818501915085601f83011261295857600080fd5b81358181111561296757600080fd5b86602082850101111561297957600080fd5b60209290920196919550909350505050565b6001600160a01b0381168114610c1657600080fd5b80356001600160601b03811681146129b757600080fd5b919050565b600080604083850312156129cf57600080fd5b82356129da8161298b565b91506129e8602084016129a0565b90509250929050565b60005b83811015612a0c5781810151838201526020016129f4565b50506000910152565b60008151808452612a2d8160208601602086016129f1565b601f01601f19169290920160200192915050565b60208152600061099a6020830184612a15565b600060208284031215612a6657600080fd5b5035919050565b60008060408385031215612a8057600080fd5b8235612a8b8161298b565b946020939093013593505050565b600080600060608486031215612aae57600080fd5b8335612ab98161298b565b92506020840135612ac98161298b565b91506040840135612ad98161298b565b809150509250925092565b60078110612b0257634e487b7160e01b600052602160045260246000fd5b9052565b602081016106f28284612ae4565b600080600060608486031215612b2957600080fd5b8335612b348161298b565b92506020840135612b448161298b565b929592945050506040919091013590565b60008060408385031215612b6857600080fd5b50508035926020909101359150565b600060208284031215612b8957600080fd5b813561099a8161298b565b6020808252825182820181905260009190848201906040850190845b81811015612bd55783516001600160a01b031683529284019291840191600101612bb0565b50909695505050505050565b600080600060608486031215612bf657600080fd5b833592506020840135612c088161298b565b9150612c16604085016129a0565b90509250925092565b60078110610c1657600080fd5b6001600160781b0381168114610c1657600080fd5b600080600060608486031215612c5657600080fd5b8335612c6181612c1f565b92506020840135612c7181612c2c565b91506040840135612ad981612c2c565b600080600060408486031215612c9657600080fd5b8335612ca18161298b565b9250602084013567ffffffffffffffff80821115612cbe57600080fd5b818601915086601f830112612cd257600080fd5b813581811115612ce157600080fd5b8760208260051b8501011115612cf657600080fd5b6020830194508093505050509250925092565b8015158114610c1657600080fd5b60008060408385031215612d2a57600080fd5b8235612d358161298b565b91506020830135612d4581612d09565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612d8f57612d8f612d50565b604052919050565b60008060008060808587031215612dad57600080fd5b8435612db88161298b565b9350602085810135612dc98161298b565b935060408601359250606086013567ffffffffffffffff80821115612ded57600080fd5b818801915088601f830112612e0157600080fd5b813581811115612e1357612e13612d50565b612e25601f8201601f19168501612d66565b91508082528984828501011115612e3b57600080fd5b808484018584013760008482840101525080935050505092959194509250565b6000606082019050612e6e828451612ae4565b60208301516001600160781b038082166020850152806040860151166040850152505092915050565b60008060408385031215612eaa57600080fd5b8235612eb58161298b565b91506020830135612d458161298b565b60008060008060808587031215612edb57600080fd5b8435612ee68161298b565b93506020850135612ef681612c1f565b92506040850135612f0681612c2c565b91506060850135612f1681612c2c565b939692955090935050565b600181811c90821680612f3557607f821691505b602082108103612f5557634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561070d57600081815260208120601f850160051c81016020861015612f825750805b601f850160051c820191505b81811015612fa157828155600101612f8e565b505050505050565b67ffffffffffffffff831115612fc157612fc1612d50565b612fd583612fcf8354612f21565b83612f5b565b6000601f8411600181146130095760008515612ff15750838201355b600019600387901b1c1916600186901b1783556122a5565b600083815260209020601f19861690835b8281101561303a578685013582556020948501946001909201910161301a565b50868210156130575760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106f2576106f26130b6565b60008261310057634e487b7160e01b600052601260045260246000fd5b500490565b60006060828403121561311757600080fd5b6040516060810181811067ffffffffffffffff8211171561313a5761313a612d50565b604052825161314881612c1f565b8152602083015161315881612c2c565b6020820152604083015161316b81612c2c565b60408201529392505050565b60006020828403121561318957600080fd5b815161099a81612d09565b600060208083850312156131a757600080fd5b825167ffffffffffffffff808211156131bf57600080fd5b818501915085601f8301126131d357600080fd5b8151818111156131e5576131e5612d50565b8060051b91506131f6848301612d66565b818152918301840191848101908884111561321057600080fd5b938501935b8385101561323a578451925061322a8361298b565b8282529385019390850190613215565b98975050505050505050565b6001600160a01b03831681526040810161099a6020830184612ae4565b6001600160a01b039290921682526001600160781b0316602082015260400190565b634e487b7160e01b600052603260045260246000fd5b6000600182016132ad576132ad6130b6565b5060010190565b808201808211156106f2576106f26130b6565b600081546132d481612f21565b600182811680156132ec576001811461330157613330565b60ff1984168752821515830287019450613330565b8560005260208060002060005b858110156133275781548a82015290840190820161330e565b50505082870194505b5050505092915050565b600061334682866132c7565b602f60f81b8082528551613361816001850160208a016129f1565b6001920191820152835161337c8160028401602088016129f1565b0160020195945050505050565b600061339582856132c7565b602f60f81b815283516133af8160018401602088016129f1565b01600101949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600081613461576134616130b6565b506000190190565b6020808252602a908201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646040820152692073616c65507269636560b01b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906134e690830184612a15565b9695505050505050565b60006020828403121561350257600080fd5b815161099a816128e656fea2646970667358221220f15bb7a428b3628080897fe645501fac4d8cf7f6935b93e85da1f100cb8f280e64736f6c6343000813003303ee16ee2208d79bbcd76f3dd32a7da2da024dad3564e75e5bb4f294c844a5d57103ee821f658c01c1b26608ca627826d5bce1f174d158c14ce5ca581c29db2339d403f8a2a470f527a5ce5f31ca4a9b92f9d11c03285208774573d3dfee633dc99d6203926c016df17abd7a7829263b6b668a673b21190671d4d0f2cfdb6185d7e082cc034e0ba6599af5a19765440988ef2bc94702394a195ef06553fb06ee4af55c1db603c70aaa69e5975a624297d5b38e205c165591aa8ebf190daa0eaeaaaebe30be240395e60c4904d17db7a26d3b6fe8bc6068ea091de5eb3a11d7a9012079c1d94de0038d2435ca6bc772057c1b26817bc7e8efa40799c238e710a797f68cc5263d666c03505124ca0877a04584954e8c93bfe441191c834412fb58bdd4ab7cafc516ec530322f9faae7432fddbb54014fb212876e9218652fc98f760d5b435d50eb6b6b63c00581f0320a6b7027483f0194986521bd54784d76714a7e5d2eecf084a668dae6800543926a978546f01218e73fa8fc2ee54069c44aade00581f03a9a9f8390ecf50883f370b70ee52760b2fd7198c3741ef6110747f3a077054a988c1ca726f22fd02cefa76d5dfa5ae533fa5f50219201003f9b66fc6cde3e8adaf1dc3027e49d03fdc6873e84b199f2892003957532e956a03589da80cd92bf4e8dcdc3a9cde287d5499f12a2ceb453549fb79504ae909b8ba038b1652c51936e3f2f98325237b11afa4622cefeb5f524eda0341242dd6b1a38800581f02f875c964fe4d4a511bacd2e39910c6e7cccfb7f16937ec17e1bf972357fc410103c3e88f8a9910e95e38f83518737f0713ceb7438bb7bda33432aec638125cfd020313c6ebeaef07ae68cc25a245ed03e8088dbc563e8609858e7d6066ce8cb2fc7403aae4469df1d36059e2adbd40eb282357c046fd6790414f4d110888ce34adecce03811f21fc0efe420e950af73aea710235fedd2bf003bc4edd740a1a52c2d18cb303f5b782aa46cbedc33ab97d8ae71211f6e4ca961b37e358483dbf06bd2b0f080d037cf47cecfea28a99fa891e86ce91b5904e37b99d133337ab5c99772c855a3c42033007ebdc44589b86851620bb3fa764a0e2a54d55f37a54e626da12fca63943dc0319f6320890844e759dbdef721a93f67450fc1c254d8954e4769fe811fb59d21e03c4f3172a120c9c97e3406f61ccd097b9538e49ac3a08ddd64d256682f6d73a21036336fed2dc71f06a618013cd683a45dcd24ab607dfe6d66c5a7675c5cec85ca90219ffff03298b45e9c16271fc794d00c5ef3d3d3d3b169956176bb0f4a5ebfeb53428bf67035f920e4ff979f6c1fb14e4a927c0d65f1111cdcc3d924a24d20de2cbb4caf16603c413e526013b00df9e1cffd521bb101e438ce354daf27db86b6de40a58876a910336abce3e6746e2f3eba643d8bcbc3191f8ece8722bfd04b9834150dc55c5e5a4036b0045e1e598b3bfa484bc6d9b6df7b7c9cf79e3e7e75bc32fc2faad7aa7aaab03b69fcc111e78a505e6546a56f92ad672b0c57a7da97af8410c53ccef1fa4881a03b634ba24e0e49622e3eaa3194ed801fbcf16912658544b4788bf37a394e6994e0333ab854dbc8223e4f34b0eee407b2f9dace3458e3e98afdd1c7956c48598d1ed039bd77fad09295e6cf40c36602fec5083a61b2be263bb658271a21175d41cada30362f61b891347aad5b1be47469f0fbe8a2bd37321f3b2434810959cf3dee7e6220219ffff03aafe069808cc31dec901d8b90c2c4dd94a30687e128620ab32ab9b76c74e60e503e4669ddd6b8cce660c411b97a58f60f801b884e617e3c63d2db4dc2f471e3b8603a440d02cc3859f4e402b134efd0c37c72e98af2404f6d25cd22eb3d1bda29f7c0368214e9cf4483e7e50b5028edb9ffb31ffeefef1ec50e8c126be3ff0b95acdbb03d28bb2d7ad7d9138447f01cb86685d923af148163c4296d16f4f204212629ffe039debb7c2c2a5035066aa3bad82985b261ebb8ba441ad7405f7762e13413a482c03822401551ee7afd82036e58ee02b8015aa8f01f99ab5c99af10fd9f10c0e94e60310b31dcd1fa7106a158f1a8d941baeebbff44c7827681e33d6024c96113fca1d0318007690ae9c7f25edea328422d4b380df8cf1df5d792aa0f7aed8e28fb31fbb03c67008e27b1e6f91e6c8e6781ce64e4c25e9669af06e80b30761ffdabb084f57030a450394aeb44c4005dea891f6f475b56d26d32b96f5c55c99503e00cac61079032c80c195d97d66faca6f68ed49b2b021d656e3cc5d6e014e7079ddbb9d9fcf86030183b853497ea3a363c17a9731bc38455686d29a2d7435c1bb6fec1f7057909a037a5a518df93ab4f0d612034d30dff1707cdfe0cae578b9b78714dee5df5fc3bd0378b70d12bce2cd821722f2d89e161419ccb93c943d7c6a5bd37d4e1b5d26f08a0387f66a1aa206ec730122f1c2e97c2e80dd73affde8fb6f7e28bb01c0dc1f618003ea1410434028e47a01801930282410e6cade36615f51fbb54c95aec87255733303818c4f45dc20f99701b22497326784fb1180e56d9f0100c608e8024802edca1c00581f03261c8a5da08a20b8b2ad0ad5df4868afea7837c61f4cb9069b37a05b9880410100581f0374892eb9cf461c04c5297ab2426b5388f0e0533f9309f7e3d6f49471b30041010219080103eea9a3973390881949c8579f5e83eecbf529aae9823a7cf0b321eba1ab5e332e035015c0cb955abd8c13531ece3d6dc3f3f86e1a75303cb99df74cb3bb9b7cc82103ba2ee0ef01bfb25d9fd6ee94b85fcd4f8c2a1c137edd53910746cbfaffc0d18b03a2562eb17eaf2270831fd415776db9a09c88c0f3f543f05739ed49b977ae688f032ad5d44da4a021d4b172a4b09438c6162e747a4ebb1bea990e7a0addce5cfbf303a2eb8563624908e883cea9ca98a961afa866ae489a8fe3dbff5fd10ebc945a1503becaa08edb63ee3c45f18c988ece47d33a73d709a76df22cb8446817c64094e30219ffff03cd08281d1349c45e45b953f3c658af6f1cd8475b417f3c962debaf5b594a6cb90398e7feaaace0a0af787181d7014a78fce97ea7c38cfaf02cd8a9ae4e728d10c7039588b1632019b3585110e3d92710ec93c953373fd8c98412bbb076b1d78e0d780360ceb55a5c314dfac18d80fb773c341260f3608e8bc49a427341731260b33edf038983d12e202067fbe45545c49dae4c42f5c36de1303c28cf8e26d813dd629fca035149c02b70c40ff2b3293ef63e0dd0e94295589e27da26241821825ff7df61150219ffff03edfd45cdabcf1f06315f6a92d18a329d17df70bbe1284fa4586cbab41910534f039d9d70264c546c4213cf8a5c04df42e567dee4e5e7cdec3dc6efe2893d2be7cd0360131ee803e3c85a9032732991fb68b5ebd92cc678eaefda0c2fdb447682cd4b030e8c5589adb88789af6ff0118b75fb28ed13d4b741618e06725776251b06a8b1038310f77564a89dd8c7b7a38fe05ec41838a3e028c0991158e7d3469c7e819d78030fb7e866ce986957a0e782d87ad6b6031464930da59f8f00a92bcaabd9b407b2036c1789219d9dbc5747cb847a67376f1c9c8ca83ce29660785dfe87ff8225a8f103529bad86bf1fb467ad4decbfbe7b8d1c8d22deb27e49f516f18cd3e291a54962030452864cd6bb3a09ac4ecb22c1406d55eec3c92521d9dab2c34f6921e2a0ea6f0219ffff03dd3a27c336df62750679beb7ca821299c8a1d5be9b64b42fa6269771951bf3d5035ec90804696f09bedadf43b57be004a1c6a2ae00b594c1be0667761728e99506031ec7bb641e729d9e24e6aa28adc940bc96074e08ead128e65de8a4c9e2f568a60360f5bbf5be751b44093e4de7a6ce3a1fb79aaba419f2023b480d5921b75b7c2203dc3c13bcc779461ad8f47963fc240a1a5461066cda064b0ef3a1a1d9ae781dbb03d400013730aea36eadc091b888662b65eef30d3508f849d7be6cd327e2df81b803d0d67f99804398a653d095479ec30068c3b4d8034e79dd45d4b3aed0b9c41ead036707982d4a946cdabe4881ebd9dad1348b90f3cd76320642432fef7a0359742203e2a19322677546d81111f4748a21c7909e1afe2b1c10acde84081aaafb2f4fcb031fe273d34d518d514a422bac6047f431400b3dd08c2cda09408545eef3a91e910350eeefe45052b2adccff33145029a2336c3463efb238ab50707f64c232c3ca7003a61ebbf5e7a92060bd2c1923fa875fd326e8c95d17a2123cef0eda8413fcd600039cd455af2d409c34a566b63130d38f0e9060a763aec3fc9b29f4f1687f9e213a03908d0ba2e87a4c3fc1948ed922f604eb1634be5c40f1219628576d817b7c30df0315a00b255ea8b9b17178ea40ae1f80e14866081793ef923fae8a258c95ead4ae0314cb83b2423c6511d38b0fdb2b14ac9c080b58010e99816931beb9539413bb8e036375cb17a0c70628a1c2b7717679edb0dce953873cdad3aad1fe8ba4057bdb78031c9b898299789448baa7c72179b846a62ec76a92e450991207c08040e910bfc103e3c99270be303c777d14ac315257fe7e77c83cc31b97e1814d7d05d875a369850381bc08eb08ade4dc6ff62b0618ba217967978a9ef17f5e6b5865af3d635174d003cbd938ea6350988c7bebaa3f63ad7fa75511dcf6ea06b0adde184605d4bbd0f4033a61ca68daff1a214702562156c80f9ddb042034c70ff51aa5d8024c4cd2ce1803283911801e135971b72ffa7d66f83fc668ae920cf603e3d2cac0dfd7c16a301b00581f0371d06bb625228913343c4922ea3226dc3e3495448ab3bd5c26dcd60497005418b946b7fdd132e49da51609d2cbad75043c4f3900581f037d86b5fc11b74c3524e1fa9dfb7946534aaa7c80763c752c977db10b723041010379c3595b55b517bed3832befefca0675114ef34bf4e37b29ceb995c702477a4502190a0103029c49e72c6dee6e0e529e17f8902d436cd347fe3d5a4ff113413dd5c680cba80361600786500e1a647ec0831b156b501b530d559c4cc1f778dae81a4daf63827103f765d926ceb35b9fe773c6b99da869c240991f7f67a11c1d4ba2e868b3e802e6032fa12a9b00a025916e7619049bcb96daf50e2e34f0f2ab2e8a012baeb22090e603fd143fae95ca9c65be4049be1033389dd4ef35fc78d7a6c1bbecb6bd095e05880385ea0d2deaa09374932c6317c5cb7b72f7b5a2229bbe219db3683bebdbed968c0219ffff032a32bd5de4bddcb3831e384ce12fc1e2b1c88798f1d0c4fbc61f8ac6403be137030bacba10377b5c40cdbf20e22bdbb45f844b66c66fe377b935293a4dab5683dc039cb99a53568d7dd7fd4f043ff7522ee522bd6721422a1ab19cb99de47875007f031c2d7257d5ea7048bbbb9845572e269ba4c0d0cf53e580ebeb074f2032ce25b10219ffff03fbb7dc057cddeaefc8a36c2051bb09cc1cddafcc329721004a59ead8cf5f6d4d03f76824fe36d99a367b2373a91a2f517b886eb44294adb0650dc70d17da2fb8fe03d866d6a27a893a76cb5c0d52437d71d3450fba663dc6a7bf81aa183a3819c52b03f697ae47f2d104e130f849e24676eae8c121a3c1606b55251c192d04676f660303e01cb26d2a58575a3140384df4d785eb214538fd572122cbad022df6f6b3afbb034205cfcd3c04dfe4a6fdee947a2500bc1d77a2b0ec34d9340d5c3bd1efa2d56c0327aa8942a139993a97fc13c353e99cf10bd4e9165e210327738644c97ed7e18203205c6fe6ad041672cf602f2c93ef5f6ef698826402c1ba1658e0302e03ba6496030716deedde7c3366741c1a7a310d4048e6bc77fe46b0e579e11a25fbdef2f0aa03cb6603e43c9a230d75fd43da4d93f46545d527e71a0dbe4b51da320dc421e81703e71ea05d6628b0701f67b7d950ff94ec476a641fbc18da855a8e0c5a757571dc03062e91c110deb65b416bef22e4fbd9055ff5e2a48b2213e5e41ee1f0dc86312d0322ad9c31114a046eb0f59a7d66d014aef717478c0b58df21207125b8ae521e040309617c9732c19afabb063f8ac7aee7669e6cad009db2fed6c1b6f1af32fd048400581f02e79596da5b0cbf325d507fec906d3bbc6d2efeaa41106971abf42dc4bf9c4101033510bfee06235ea92e225180154da3624c72243f3082c8929f3eb411330b18f503df4adb7e1334dde74e15f33f5680821b51818d8e9fe4e2b2630e77d23823c28103c0e1619b384e656aa8e31a9766e49f9b487876d312a2d6dbec9df3637b534696039b8ddf7b5ecb34022c5f4faf744132fce32dc7691adae49b02baffeab0d82c570340777ddb9081efab3657cd23a36905413ca938c84e452de69a2e15c4063b904d039ff7da1ac9ac256913c2a14875a2c0290657bc0198a4eb731c8fb27ab7d8b65000581f03b97fd7640d0000d653fd1447705db93e436cb558a01d7844c17cfc0737c0541437c636504cb49e701acc12f11278ad0dce45d900581f036129eb620783455b9e49e63143e18b1969baf4d352a9dc67c93666fd5fd0410100581f03a98fb743ed0fa5aceed512c453e738d5c1796e76c07e42fc13c68ad644704101021854032f224af6724426588e65f91b4c496fcf30c31262c4168db29c6be061cfe9ff2e032a4143783570a6e3f9e44952c1c815736a0d5d6826d7c3d21dffdbcf6b0c5a5603c99f9422b6965e8e742bf4dbea6386c2f709561d9131b03eba3dfdd60926c9250219feff035ba3f1c5ce65042e49ed3cf9eeb038e5b06db30707365916dab16d3eaaea225f036c58065aa94aafb70e31a6f94815f1bcdcc826858f59b395c5635f7e4a9ebc4703120d7444372e306ad8d8c308922fc7e130a629a1b00bdb77810a1bae2e9397a70354cd72d24ba03b76b6ce1ab13b5cda302d0bb33c53c11bcb2554e1bb49d1ea93039063227628e5a0d830fa44ee9befe7034243980ac55b77c56f63a6e444f52cdc031d910f4618a2329723e901cc021f6ebf646d96c6abef7be09fe7da6fa033d27103004a306c1d10390398b2db911a83c664751487970c773266f9d643ec12c109200219ffff03672692bef48e7ac1ad25157ec8cdac7f4bfa93c582af9339063b0c2fb45e24cf03c4bc3cfb7537dab334b494801ba6856f8ead8a6bc3e3b14adf629e1bf1c27324039319e3b581f73c914c5c2135867e4f6ada6cbf238782d2a22d3cda500672183c03079b1f7eda462a0fd0b403c3e0f4a038c4fb3cb9b2a90d0decb208ff2d1e4c2e03b70aa456aa820d1ea908468134f70119dec90d43b7ca59a031e5a789246efede038c772c4fc18c0d2cfc2434cc28fd70b0d8434fc7e5fae509c60b2ee0e4c7d1c2031c558a28ba01d97e215a6045e8f9ef21fe3b173aeea38b58717a975f44fe3fd803924b59abfa3cae5b7a13253e765582b9d47e95a5c63183ad1861a77efc9aad4c0374c02abe8a1fd814b78d23f41b933e034a46e117f85e9039226f28965b6e9d8e0219ffff0324f0c4678cee9770ef4415688a7d007e273bf612c0ad4e6a6f5fcc1d40630bbd03c14c522d08c0738f3512317f2c28ad8e352778497be5455185125e456f2fd8c303460ffd3c62d5b95eb8db29086b653efebf28cad63589f846f403663ff8e885b3036803e21df3cc37188986f25d423441982f1a3ff7510eb5dba8293c7c2808151303fbfff2c4e2d6376ad1f5ca1b165f6daa023eea1491c44af234dcc0680035c13103e26482cb666010e51ba24b46f498445d182763089d3b243127a3f58c5356e824037b196245b73bb5c65e01044488dbee5540b23ca72af12f3175bd9ccf3a287d8003da09e04d6dc3c7fe1caf09fe14c4b7763c6d4445b6a69b9e9a43e3286f40dbea032c36f6c956c64355b4b78aa6c964783291fd7abed4102fe7100f07c8bc639c3003c6b18125c9386ee1c6ec1d3cd6a6e914a0a7481dbfc0c210c47d53aaca05104303acdf1611db4b417f67c8d020f3815ee75bc95a9d1d923cc60eecaa725bc1950603cbdfddd8730feed4929d350c1bfbc3c9e22b0b4c5972cfe7926c356fd47ccdea038d396bb98e3d4ed99897ca959b59079ed429855fab4b881184ea1ee6446ef87a0345c2d86a94c89651259f19ef48be6f9be96262ab891d75961996da5873b9cc93033f96f3a6e68fa76b8203326e5ab1c534ebd9ee17176d63e5954f044e07f38eb0033e0f2f1374b278f8859760ec0c12c15b92e7c9125e0779e4d33807b51635c62603aa23e8ec47ba27663116b1941d46d77d4e0e10248117931e3b6048f79dce70ac03dfb7f8a88c6ca9ee41b06bc20f4f460d3c7e9a1180fd02c685c205b9a2b60578038d03a39ff5533e38c1c9ed7acb7ebebbaea0b48993e937a669479e1ffe9c15580392b6c43d21c9def59b54cc931c67296caea46baad41051be2c3e28eb0e87fa760365f89308dd84672282d639501078d9e0be94d4abb9ce9935b4ddb0c464c81e080322294f7ccf92f14555358d5f1025dc0fc2157e126ee1c58d7b816b6a6f87d1cf00581f03ba1120239aba8e402cd2cae2e12e762dc89c871d1b1b9a3b082f5d35bd60410100581f03180c8c247be8c782bb915433884f6d3b42b91ab576a7be262655137b485054de0fe08a8c92fbd733875ee315ae7c51a005433900581f0360bf34cc0c752d4551aea4f53984aafbcce422bd6d5ec53fe2191f1f3430410100581e027d43a706584810e4ee70bb1a2625626636ebf3077d1d4318b56bcdb3cf410100581e02d9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563547127f0feaef8143241a5fac62ac5b7be02ef26a900581e02b91d2827c21485c478319d9716b61e7ce2617406fac006aab5db35056054d05c4d103ffd0405d516e767f1d803f65f4de808021990100219580100581f028dcf49bcbf1c1dd9d1c4624918be63113b86e14f0995af4fe9eb66e086a354489b13719edaf2c03737c10b6ab39c008b2007f003a2706f8806ddc3a968b63fffeff3ca0c505bbeb4c27683d4738a2e519ecbcd2f0219ffff037a58c8682ad059a78d5cec7e7305ff07ba11cac35f693459b0149c3e475dcd5203f72b5202b7928c2c3aaa6ffd4ba0963479a9f2116f2ec9cffa581ec6e7521c9b032c3d1c2accaa5f5ca1f28d519f7e8c953716acce27593da79d2e4d45eae5414d03979f16b575daf5f18d9c83d1f6bade142576d05c61e72ac59f62efb55ac5daab03f61cddbc9fc5ecb4d3dd2a3eacb21e78030d1808d8f5ec7ab3ec7b14974801cf03dd446c084128ad581a2fdc5738bd75cd85682a1335e670b974fc2aebd32adeef03414cd5fd045c813fc5021c3c0e7a323a2e837d4e3f25f93df8d1ca553333afec03e51d428cb3cabc27de3dc94d7b8b16134b94cd9c1da843d88c0c6d7f40d767730357d9268394251928fcce208d12a308e1866aaa2a2e9c010cad2888ea185827e603a6d8065c4502d39f4a37687da40543c94dacc398e8f62e2ec2111325aa5b5d3e0327aa95da10382cd57921072836351ab1a08253964689c5f7b2aaac7158c6814d0333731487d8b08cfb0c2d0a7dfd25a063f9604412d9d7ea43f3b8c9ae0f8ed5f3031d76e923fbc52940d311f55c16d41d78edd50c0c8df4cb3a9ebbeee3ccc1066603adef55bf21b176614c74975bae3b6087a3a9ea6c959a4f0639b41437a1ab0cb903f4ad79c3689387189ee9fa15af68aaf6ee5369f7459842f10ddfb73e73f62e740219ffff03d45f24808ec27c067e8080191d0bc15a39e6e1594de3733a4f393f44a1cf639a03e2231cb0daea5bc60034c1cd061f601e7c1686eec8d10beb678b25ffeda6ab2c036f55963e1764f5414a32707053061bf88ab82b9cc29fddd1fbd977298c41b3bf0364e8ad15783ee6a21c09137b1de8a7c891d62b162e893626ea69280c86f4a36803d24adfc275e2893d82ffa738dfe9d59293490987fa763bd76ade7b24b947939003d458900e901c02693eb2de1122e46c6024b308b64f1f2a37ed708fe4af519bb00219ffff037c8f6df0753828de875c5afdd7cdbdd144fdd7bff88c62c81d46d45fbcdde48603dcacd1e6e1b0c59c4000624783ab4e85ce72c122d55106314bc217a45625238a03452834349f6c41c2eeae0eedec8e47de041203935f0b45d19c45237bd791b72a0341a04d9536daffe8543b5f434393f80b401c15cfb5bb3c23535147788c757943037eef4a8f168afe3642de8700793360c161b994587480eff37ac977739d221dbb037fc0c09ecf94940c30ba8661a045700e238af696c1c2ba9aceb8953dc96e71f5033ba09095676a490cba372279da543674b07d53ea544d6ea0e8ea7bad52b77483033ba261fd76452ad59c6bfa91ee370ffb9db599fefddfce66a0faa7853946b430030931364f2587fa274438d6893a7cb69864e27c8f17b7f6403bffe3aa40a8ce1f03ec9831078ae3fb04a55670d8e7e5f0940b63c03107ef7e1c14b0ee18dc23db0f036f7f88dd20ff243947adcc28b9016f67a14f6ec3d162560847ac8dba493dbad1038fe6e136dc8991db97b33c04ed362e0420f89fcde2b348f9d214ebd47d864651031fbe55c936242a9c592225142e4c9391112f248003ba80d016dd9d577f77590f03c12eba4f28b74361d416741b3081ba127f5bc7774dc90d99823016fe68b28a8503f5901dd21f680495a3cfd0f637a509a118704f78dd0eb61fecf52232d1aae468035cf1c9a60de33c6bf669310ac00c7865b3fe1bb1d047099f1c03fa18dfefe48d038a30a69e7042025db9216b24064ade0926227a0aff28a2e44ba418289e980c340305f748fa37f94e66208f91dbc79f06e517f5aca4e60bbe2cbf7803ce15bdba6a035d6a5214514f5b370f46931918ae67350c3c30779231bc684a0aae88b089784800581f03078766ed110d7625e0b781d6fd27aa1f3a8f05846f16c6738c6c076a816054cf1d5cbc251d4b8abfe23cde8699f9015a9aff0800581f038c22b4f6a5fe7cd86e4b3beb61aa42fe67fb75bc2fbf71613e9dec812be0410103b6e0daa2aab4a2e8c625090261791c94a7593007b5fe7234309bf081f371b03900581f0359a0127752397f6570acf843fd06be0d763c26b621d430a7676228a3dcb0410100581f03072aba5d78f53d7a96f4ecf005c49d1b8f7db7f94345655a2b8664895220542d407c05d8d2704d1b81d283acaf0135f63e391200581f03e67f00a76955860eba28659ae7de96953d48b0fe28e7c9a213270221c26054ea325a0faf5eae1c66a075d0f2468e4189e9288b00581f03fbdaba5352fdc893b7ad7c3191eed13b4adb4812554a9a3a477b062e40f054bf12c00ca6650c46fcd6cbd6063372311591353900581f03b2d1e2e725b7dde798d9f97b03c0960eb4d6b62d8e42231452ca50ac1a50410100581f03da5ad257364a65f5c5c6f74c8b7ab492b4be66210393fcbdf7c1fc2b1070549a37f0d6cf075fd713f427085f744d9f021329070219cdcc038dc3ee4307062919df7f9e5e236ad2b5552d547071678034317329e295d4ea5f034e7c10f2cf8ac08570cc559311c42d4fa43c270ad5997e7de74cdb538671a7d5034fe83600e27adb38b59e139359140326479c569edca63cd21a572c8ef985f04600581f028d43879f5a2af1371cec33b5545e14aac0444d9ff194c9fb777ac592410241010394447fe929896c344cd83f9b0b83d8eaa1d6cd2e66b32bc19e93abdfc69e30160360fd37fb76d393fa3e96d83054b0f2af41c3cae579b4b6f78201b1471197bab903baf07cdc6e51db3f717e8415f3965a12f929f8495602403e531cec3f0d8cbd6803a6c3d09a9772dee5b15543e46adc54614d7260c1fe8bc2a4a313615bdc78f6170219ffff03a590ab145a9d4ecdf9d17950bdbbbfefc1067c0ec2898db2bb845bb1f4dbe12b03689e51870cdbe36b5e979b0a1119ec6f2c850f16df22e768642000c8eb0cbe4f03fd082293ff29b0446e757a2fd0a79e2d66a327c6f080577977a43d674b8eab1f0333f13ff4c7ce883f34026934d65a408c1092472895630be08e2764bc6e23cf2b03d33a0fc1bee03fc4bd24bf7e0b4ddeb84bb0fd7ed614eb57f793183281fe52ce03a555d0027c11944e2a239552c72b26fba801d66f4e38e417c26570deb72ab10e0219ffff035fba4221c8588435ac9cf10720e129b4d5f7c62b253b263893f419d7e73d1fee039925ffab373292bb122789270265f33c3a47aef9a5e71c3ba3cea91e77007ad2031dd58a424db76161fed2ca5a2839cdc0f51a9e5ea687720324be2fe85296d1cb03ec7a916d77fed9c1e6fc66acc8ef9a454be24a1e4776c151f374389ef1b7e44503b3d122a71588875ba8154d377eb94cc23fc5632f034589b0d871cbdb7608ae6803b41026850cd7e483a4e23a21a45a2ae74fc531f72e6052f51f97bf7ae1947c240351b6d6bc60c058336743aeb887b290fd840118adc90c19f7bd38f28947cbc2d703e8370f58448a304809ec5d7d11d0f9e673f518331a3326be9248035c85738ac603e0c4f169d8607681ecc1bf493d4d87ac78abb3e5e8b09cf315786771236dab5a03162af626dbbf577d3b168e700352df5f80326ede2c4d87121f214f6bdb62f12c03caa931ba84a695b3eed8549d83983faae431de0f81c74a777d6503b3402be23b03099828d2efc3e1bb0eae2efb9dd9c58085ae9163884b2e419a1b72ed3599632503d633a8eb4174f26e4988c4068f843ebd9935bc0c82dd198621e1bb7409259507030af1899fbe9e953ed516d87d29f9215302918fd672db91765a56cf6b8e8c4bbe03232ef2e3384e4a3a3ef6ba56e02b2e5742b0993a20add2ee682cf67a2970605803755bccf99081249d5b82227e8d82d80d9fe4605ea5da964e623b52c0eb1df41903350c1d378098c555b590ca29757b9d324adfa1b8bc481972dd1707107dce2d85033339e761c4f1a53614d944876768f39a02c1e13847564b16292f766ab7eb938503ba8d908033b6eacfb39783e50818665363c283e3cce4ca42b3f8eed97b4bd71b03b931ff0249e25bf02a77f062f13166a32784ac26714a7bb9b15d8dd6319b083e03b9b73b6ef0097db9c1708990985cfe28dbd2ea570ab65eff6ffbe989f00886a300581f02b4336db89ce978812db6823d918363e04d0e4583fa8c3d07d386ab0d4f48410103fb7b5c9989902c1632b959a23932898467523b53cea2168c0f6c5fb48f43ad1c0301fd5cd350a151fbfe0fc5a2940db3cc28db05dc84d864a2bc22a3f829b6cd6e03c82130a980df54410890535fe0dfd271c9b292d2d6d8a4f9e2251be5acc35d5c03fab70de997d04609ba45af7fe2f0bd67e3114c22e8cedbc0df614dee0a5473c70312965c669f743a69a835a2b879d5dc9e0d13b3e3cae6c2f526af20c3c6e63d3d03da4d045ce8524f108ced2347987ecc477c1b242bc828ec5688f666f1207780eb00581f03627bd417b7935fdbaf60af9030496a8e8ed72fa8a4f422ef941168a4cf4054f0619787db6c8df15278c0d39dc33d0f3072251a00581f0392351cd6ec463afd3be3b0a2cb66cad601f240723b202ced5b324c71ad50410100581f03d7b1dcfc7b32dc6c83395ca57fd2fddd2fe9e9302d4aa3c7911cc9821630410100581f033e1da6c8620d7fe3994ee7d08309a99146ecaeb9b2f5757b49b12fd690f05415595d5b607183acbdb0299153b86ec61e9c134300581f038130ebd561e6f3e7e0612d2e07d5bde6d98e99ae635f24d3a46c6678b500410100581f0361a7b44b2253f278b69a7ce3aa9d22216aa0024edd8882e286bb0ce3e860410100581f03207768cea2a1ffb6acae89bc2fca6ef06ff3b93b2a94753a57b40535db8054949bdfe27f28671f8d5e02ba3e12b8d0abd2423500581f03cd8e4c9579144c64d9529d4fbb0dd0da0c0928f07c7e1e4a2b4bfa519c5041010219937103dff30406665c1373efc924e0ffcde43c139b8b825f916d98bb8e9f1ea175243e03ae1fd5136edfb316867e2ffb960be7ee2b22c9799b0a3fec1caf8a32d51b3d460219ffff03481d0d53e4c31002d32d7a1937130f869fec77a6b8226f7dfc565058f0bdaee903a092edab6365b4049a97e501573733b45dfb4362d44ca083b1c8ac652243a30603deb4ef7327183d6e621a56794bc3fa199927f581e78e187b72cb08432460214203c37e49e8dda154db686aae60e17c4efc66df569b11f64cb08c02e285c56197a903df0cb014bcaecbee42613d5d82a6c02e122ff903c6ca2989989afd4a768a5f8803888501a747c730a56322326b79a9d2b753a6b003eaa33d59f9cd4200431cb90003af17022a352b4d6f41ea8f776642e338e4adf4b3ecf92ccb6febafd5db0388b103a84b8fe2a7c1a7eaa0c8732cf77513e30b2c1e10a616df27bd8e0ed99bda2a3d0219ffff039e56a04884b452c73c6cb0b80be61b35a841724a5242ca26b9c3261a3ad8a59c03e761cf7b2c6ce0548037778a2b8a5106a9348b7614aa9f9a385f189a4e071372033738f527e44a4414b7c5a3e3b3809d6d338d94c65c94522e39d541d9b31ba33e0219ffff03ebc43be791e1367ac3c414dbc1248895cfa8bd609834ad0b5d42caf2b4d05e3003a0aa365543cced120bcb138a85d8165b93ab65d080275f93096cbeb97e394b1f034ef4557a91dcf156bde266adaff3eb317f3934f41846f9bcd985693c9839abc50332f9322f977201f408d9fd3eabd4760d61b07aa40a8d20475fd35ae64aca3f5b03354c5f00ad3cfe9a2d276418b11f01f08d7e8a71f5bf72a2b300dbb4b89b4bd300581f03e4e524a48232e5334ec05a457182caa2175e3d1a13466a6955ac291a9a40410103fd7b40490b08d4e64d8fbd093f7280c6f2c160dfb745e36a62fddd8bbc3dbf0a021908080314a21fd01af3471d39689017e3b301b1732d27cd1cd53d0f7d7432548fdadce2038c5e19d5b4fd8bbc049ce4523b1ecca7622dd30a067e70796c8d5da5f827089d0396243dabd304c805d0fb4ea13477379f5f1019e5f91ce9ad091033a654ea1a9d03c8765087e5eb10d7ba307deb4fae3a0154bf0a3339f447fdd892d9eb858b486d037205cd2b349f7aa897c19b24758ca1ee17bfbceff47a5124fd4d1780449ec9fb00581f0218d8d5d2d03845719a2f727e68e6f17d9f9af1f9bceaddfba91759b7fdb4410103842625610dd644269e2df6473d69ee5cfaf52c988986efdb3b242193f41036b603fe8d5d6fb0e3b366fcf278276da0e6b7073dd4af0fa0dd3c566a02ba11e9ba590366bd48777a37222a958e761096538a531c210a40a252375f8d42c20b1abe5ae4030c51912bac0202a97ec93083048a8839c1b0d75a2a9824c8e849cf5624e1f870030d87a9aed81ac6fcb3d47285229a7756372bae0fb8f74c4555fed59b437e1d90037d8ede64a11a9cbf27fab23ad65b45d26ae28d39aba1590c45d326c5730d707c033ab91db148b8def68a93f7d9b5d097edd074d99f040298e508d3a2a88b7926830219ffff034501fbcc17f846145bb4c2edef4a6dbe65359b06af7289b0b3f3635f02491d2a03d76529d56240c6a155b75af615dc6e68de0d211c10ff5159f6c3f9545f0e008203debcd7fff0509c57d1004aa4a8f9763d3fd4db9acb61b6312edb28a1ed1fb65d03b31b89e6a67ecdd5224b5f25672292f61c123e047ac265da6b2d79092f19a9ef03cedbd46ce99186d1745bc433a54b333774a700ee2b3c92f2f41684a1f8f5fb710368f627e8b59e9886ec198937d203ef69402e0b14758cc2b831dc7d2871c28cc3034b6df08220f512fb8e80df46e233db4f78120b04736b97ae3398639a177d06c003085e1cb9d65878dedacc3cffb407aaca18106244b3675fb9ef875a643e5a815103cde84cce4a5ab447d0cf361c0ba8b7adf1fa52270d9de17104d2d621e9fdd08d03520d70d05d664c395e7e4c5dba5a5af463188be51199461c4d5d8873ddc4479303912ad7e7e38ec8fe3933aab422dd2690aacb389723e8d1df829a8857a0f9d57803ebf17c559305162b1f6c980cb34776d0cb48c39bbddf4c6dbd400056c23d3807031736f31b2259f7bac651667a823328c8b45e0fa864a6a90390e48750f4c5555f03191f47aac9850270910a8b84846da412b072d93490a8a66b0cce7d30c4f06e0b0219ffff03ae88227822bcbc675f8f4aa09a151fb66c481df4cd5591f2ceb28d2e57a45f8203e129e2100cbbfd1a62c778903f1d5bc4c68392869b464b73e604630bc7a5d4980380ce1fbfaa1827403b9ddb0f288bc7f07e33aba815ee21b63245fb0182f744d7037327bbbd9830992703b0e6dc4a57e65718005efd5c0b9ab08b53ee24d64afda9036a8a054ea6db976d9e5768e0dfcc01b609646cccf52987e21115da8e41ba388f03c1cc46f4a0959f7391e317486c63030e498ed50bac79e24ca058c895b2ea3d4a034454e8ec4122a7f3188097e26d97973dc7a41fa7515fda4e50b6dabfe84b22ec03ac625bd30dd2f8b7c3fdca8da86a8ec3da26eba8be5f95790b5ec06cca5aadce035588b2a1da08437e64042019612d25333d7b0fc8155029bed867d3a44641e242035329ef2626ac5269d8e3e0527e189fc13462d687d9cdb9329f6be685e612bc1603b4c8d097db27e4f609ff67fac77ec90e657b34e3f708be579aac557ac6b7e40b03417e1f00f88767abd9bff743c6cf9c555e2c472184afd00af84fe866649faa000384fdfaea96b0e26ca4dd969f4b19765075f157fb787c26a8e3fa91ecbcbfce970219ffff031551a11ac47ea1508c9a84328fcd9c1538102ce0e08cd8084ae773683fac70280374ba770b0f2178ebf6f4bd091dde91a47330a2103be0d394e57d7ed9ad1034b3038b03e2ed794ff43e9240ece4a74849df36bed3e7a6baecd65eeaa5f85cb6b68a0381b676822fbd2130c0fad6a736a9ed8ba433f56bddfa25212f0a5087bfffafad0391c730dc28d55b70fb5f0fe0826d967a6d988295aeadc66bf95ac747cd56a793039c6831bef8b793412c10529c52f5e19d22a463df0277eeed413752d6c526c5f90313d44a445bdda14252d13b429fb22d88d568710ba058c14f495167779e5bce9e03380298ad73ff622cf262186afbe0b057bd7deb04cd59e740a1acaa3120ce111403d7988ca9129a5e1e237e3032a41339dd36bc7659a1ad60fbd1d1653719c9034403fbcdf7d59118aa79f3c3ed83d452ce893854f6db297de602edf80643bd9281a403ad4ad270b11a50e768127b8bd85d45c6e0936e5f3ba8662953c5781c4bd6aa5f036c6035c13246ec969c99fbac9e10fa8d5c4046f9a213392680b920ef766c6e0103dab8d21e10b879d7614c8599d5b9a003e044cf9a1a163c4a614edcd661799e0503d227dc04b874231312a90a3690e8be12352613087fb2cb97f94b16b62557b78603abb733640a9cdefde654884ef0ade53e371d82c25e7da35c6d468362e4a5dfa2032165373f1e65461b3686881239e7cdbcad0692a546f55eab66abcfa4bd7cefbd03839225ad3eac82217d6fc7c24cdcff748963e4a243c3e8c6e2ca9dfa64419ccf03b054fa7091e684d8781c4d455c3e15be4956f2efac1d4ff15b89b76e49a4744a03f64b47138a66b111520a7992732f5065df4d6af6497d27a52d416daa3965d3ad03ccf84816b2c660ffda5d5b3b870995bb90e54d95c2ad8ca8ba983f74608af62d03668849f4555e9144565cf16172737159e727a134e41f1fa2c63d70ac90e8184600581f03e17730f9b8bdf5c87fb8e1ba9d66a865eb800b7f709169f755d5eb5425f054bfadf9d3158f91f9bd683d6ae5fcf5b06b48ffe800581f0334528afe3096f89647b7740802103eeb5247dce1e545f4def23d659baab0410100581f033952c4ff555841acc44bed90023857cd742867e23981a09e23f300466360410100581f039e353f15e897176c6685661ab779dccd7ef2b3a9760874cb85a286d879e0410100581f037e7bbee57bdb2e9ef9aec5540d411f494600161ad473ce147295c8767bb0545fd4ee7c2326a45a6ddd565e02655f132284951500581f0364803607c8efea283f78ede26f4ef2a98ed049e69070d6a0fd65532976f04101021907640377c51630bbe87260d1faf448afb9f0d1ec5e628de8d5ddaf51ffcef3d84ac2630314fac89a801b8ac41efe405023b5d7d1ba258cca0d0d061c0188a5bac2d2f63103c8280b05736a4aedcdb8b351dd2648a4d1643b7aa48a5e224ba6c81a2320d28c03976654913fdf8ac0e63cdbd6a6e728b26bf7c7f8327ddba005dcc9b34e5077a4034a9e23def2dbdc427d6f1cdd3411c447c7cfbdfcf1339a744dc63b791edab6c003afb65e2000cd2801a34afb1f6111990d91525eb665bc1b6377e331a79817744a039aa622940425fd6acf050d5a607a634d721bcb5d5fd3e9f109a60bad5b0ecd4200581f02b541489428102ed30d680b1c3eec3dd4bf279ad6ca8a31a773868d24baf4410103e3f4e65b383f5c50f00cfd97c5aa2dac42bb60c638695bdcce33f0b33fd911b903690100e0b625dacf333d41bfbe2f186f2a5f6e61caf8be7ee8b6ae3936d0d39103976ca3578f395f3ce223308932d6e63bc77a35a9f0697389c5eadb91216bd8340219ffff03718f23ef1d59e772e2fffc32a824245f47b8f1f620990a84caf346a103c996c90302538fd6f634666101dede12d4f6d0fdd5e55aa1e142b3c451a331cf0e192f470375596295c156266880871133d8c44b5e81caef1d4b8de6bde652a34889e7fad30309f6e1c02439aa2aedab7a93d8355c64319fe140360c8a51586695d27f9aab4e03fbbda0b01181f15fce3885fa0ceec52982f48d8cd6048a858dfe5398771696b3031755853634a25b6d331a2075a5ba97e941017d23c27ed0bfc6a65a1ea5515b370219ffff03b9fb56eceaff843087883193a4a1882cc8948ea600ea93ac3d9eb0bcacfda5cd03e23a63bd19bf186c0f62f96c185f92bf04fdf34939fcc49022357445a818d8da0383033a90a67b1bde35ad468a437a72609b3c4ba3a97561791f56df92926b588903524858e90cc5e5da78b100331ea3bb395fd6968e465a3da30436a2db5d3dd36103ff7bce01759d6e85bc207f8d37d29abe5988fdd2405843d77bac5d6118d78c9d030d865997a9df9ec9548b92f0dba79271142e1994f3808723f0e575430b97ea6c03d7f8af52f3a092ee05883e61765a76c94d09dd1d3423a86bf4bf58aad17b77cd03f219a3f95866a39d72f4e6ac6b657702a066e60bd14c831959816b4e1d90df2c03862c253e51eb27ba95cba2c3a785f22d4cf00553dc494092c737ede5f141ea9e0335609b5b66625bb354591bb0d5d4f3f2b71ee57a88f9a0c0f73ef08855c8424f0309f1a55dca8c8fcd3ca28753077eb520effb2249bd6a6ae2b885202a281a7dbd039c4e4b6b8e9ccd4132943c1fb1ae5973a24b4dffded57807ff7ebf34c508554d03dabf03ab692ce80c903b5f98497b6082cb5dec430f0af728beda8fd4fb75c75a0340d8fa520127e62e57155cf71da76e16dc3a8d8683fbb79289bf8718db43c16700581f035362c65228ea60c08552b5a168442d23911caaf962cf9acaa6c2148cab2054364d417865786793d6da601f2f5299ab5e8d7a3700581f032cc7226626337e193afba9049400e37a0c46916a3570cbeb41fdff2ca06054e9853b2cd8ae556b5346853560f598586fbfaf9500581f03d51e52217cd3cbbf86d9fa7ca55fb47cfe791370a2ef62fcebc571ddaa00541a14dd72b19f47edac1a57cea18f289a30e9d3a400581f03791c6de5003e5222a7aba4d876eb5da074216a274352be77b3d0daf8caa0544f44e1679304df8b30479f5df7c3a6adf0b436b500581f03d8ed42960711a27d92b691f20811b1feeed53a6e92f57ee616b6025d28b0543c7aab9bebafff7ba373eef8df55eb20ad9e24c40219300b0348329bbf3f6ad16b37391b7adbb353f82dbde34c47d272ab40266ec095e89a5b03d558be8ba66f7664f0956d537118b29861a3d8ccf64c00fab2c32f073d4cd329030c18a2f2bdebb5c6a79298b8000a60fc71a13d6623c4cbdef07a9d28c070257803727290d2f233a39f126fe9064c2b73bed53dddbf0d49ce0166323b62ca1d8adc0311c83b6833a91392e00a4653741e31d669552479a752358e23a7dead01a069e00346fd7be1f65e8bc54e5cd265af00979006a888ed9747a170bc62a350b2603890034b86ac1fab68c633acae47eaa70793f05636b726c47c74c072bfed2edf87a12e037a56d5dcc3acc4c8235f00ce6b79b20f5cdca5e389d45c337e48fffa196e51da00581f02e25ebdf672a18d2e31e2401c3f14ca801b8a5b86840c0a26558246b924144101037f1bfcbce9a39df7f4fa881cecc30fb487469f8c460296aebc3ac2dd19e9505b03309c6d61fd8d767bce07152acd6b5735fb919fc04671200e7400cc1747032f15036d7bb0cb69fcf7f843f157a382b602c2b35f1e38b8904a8ba7c28b28bd1242b003b00a78656443664cdb998b563accf85057d891ad48f1197b052cae377563e6b403d02a48eb8f3943debfbb3341abd88ef29b8e7dea37230e391ead8e3b500a1a9c0219ffdf0369c40318e0303d3035f35317f2ead288e593658e0bee55e761a7c2a39d706c2803f23323eef312df57e0a4ffb407dcd4194fd0e5f68c04cb6ddb6ac129b36be6040219ffff038818a55bb4157d8488c227e5ccb7fba9cdaab80689ae459b08fb9f7604eafb59039ea561b70f4358434d8715331eab82857513c3c33234ac9239111e7663c132cf03c4fa24fe96ab8dbd4dc2b90053034aeccc7e6c2bd2077e3a392a14240cee18f90334b148f227bcd2b32e0fd6c5267d73ed13f526cd4d2f2f8dff65d31f6e53474503c3612a38d99f2f29949df9e505189b3619bc9807b1e1d1d1fa059e9bb2414c15033bfa85de029cf7f197a00ba5530f68e75207f38503d468818edeeeedd70db29603619a17e5e643b79b0038b7a172fb26382c9d31b12ea29066bf64083cfd45ca08030aafdd0c9db6cb95fad6b59e4d7d1d06b8d709fe7a31488a04623df70f89681f03a3ae4651ba83b0c07c231803f9fec768d25af0b7713e185c9d8946d5589ad88303e216fd7e8f72b1d3578f4ccb226d6cc99e8e4e3e35a4d3e7c7451c02d7d3975503c6fc74ef079055cc6c78630e42ef9582da9d2bb080fe9f60623d7957b2aaa34003390bfc08d7629886f286a7bd7434a7402a95a0fd4fb28c901b2c377cff0db95f036a6233efc8b4ec9989a386c47a110a753574ceccc0640d6a79963c1e0b68cc750309bb2497b57bed70f1ddbb129e91a25df8e259c999d96024cf291dc7c9a7640103fd371ee6f101b7a0f8bf8f29942508f47649f826728f4355dda5c88af8882ce10311efde2d7bebeb82a78386a3a34e25d8a1b9dd2381989d757b4849f20907348e03c9a753be01a0311d5e90827a724ed39168e77c18463d33f013a3929bba61667a03e53698e1d006b3b3fa8e99bbd9bb7994ff5558c1ca4a98581cdc63d098f029ba032b98cb0d6194d921760bb347eca5c10e8225828973d5c4c44e29ff742276e36f036aedd0b507db9dde5d8e5f265351ae56062c31ad95d9a33d4a28a9577087c25003b9c9df0434a5a231adac81d3d8a38aa53fdd1bee8e9bebd3a50e83bbdf9df09700581f03fd3e4530a03000c7b283bca4b5da7a7c1703d67f8355799c36cef8a7c95054170f0d56b2b95bfb99cfa534f85b2919bb65f68a00581f03854516ac3d1d3dbe49c23392dcb1b4fb6844a9c72d0cbc15b6036c54716041010308058e8a9906bd878b3b39b9960aa80150db6a13875f3c477d3ebd2f6aa8eb6800581f037df4d87bc1007e8dea103a955933b7ccf05cae8cf7624c8596a67834a5305410e9dcd1251bcc2aa2895cd906d0af541f03c66000581f03195d22519c6477fa67406534ab15f33528d1b07dfe25feddb3f4de376160410100581f03afd76f0e8d1ed1d9db8b582406f701652dcc4c1bf0525d85941fff334910410100581f0310f6ca8239367d88b77757da39e6bca8c071f830e0a748362f6ddac9e720546176ea6235aaa0d9b856e41c8de30dc0af23e0e70219a24e037ff690b21602dfc49c27d92c4b53d0d64240ad1af19f3b0fc3f00417dff1093603e9edcdcb0757dfc35f4241412256f0ea2bce444a4cdb6d115d395ac72e1a27a803fc52d7f195ca4031fd6494023231721fa2342b50b02f7f373b07ff7519c323a30389f1e1e7c3a98b268a2a2a7094a83735d56f30847dea8b67c8e16fb0e97a079900581f02563fe1c0e7e42af3f30f27601a34560fc690240224f7a2abfef77d2d3f684101030af2430661a133d8b8cbf7350f6999eac1ade7b4eae402a4a178df2eafbf11e90219ffdf0344039ba7c66b47834c17b7e8863aabb39d1d5c29d1be8f05a617c522491967b1031978bca00c97d1f29124475dbe1fa31969a5b9a04fa2324f6d7af2baadfba25f0392c424c6e29810314d728cf020d30ae553154bacc8e29fa6df41eb528673aa8c0219ffff03f700cedf7465dffca87248f3dda747729bfad62f42f7499d4973f5691cc412b103fd32c314862bac5d1be7e2f1196dab6a41e28367d398cfba388703da1ae4de1f03b00a6bec609a70b58ef8e3bea25b3252bd74fb706377890a1888f4c71e101bfe0328a2521bc02af72fd1470ace6c0902b036615b4076c26d53100e1f6bd2761e9b039dae1d7cc582cd02d7df68cad12dd27e2bd29fe00c66b6ecd4c8523a7cc4d671039cc714963332b2f91d5f7394b3502d1e999e7a86629288cf4a576bfbbbc2f6ea03fd7c9342971b67de4a8707bd3a2f6cd449600f60dc5e2891a80604abac74ac8503bf09d1f8049791736f040fedec98e0ca5b12ca65329f648ea7135feab0b6d86403d0ca52286eb6be30787a9a56988da898612adc4ffd84464f9617741539255b3f0322df159dd46ab4ad712d917f1bab448b7189e1a4aeec891a8005e6a2d522c01203909bb9daa4d50e3df699fb33729073c31672f7b7e18799a3d9f6cc05cb6527b503eb5a2de479e5d1881b0ed000fc79606c8d47c2a539393cd7a0aa36bf8872dde7030dc5b7d96eb452867f5e76ee743fb696c2be6d4c74f63e86eeeae3153447428d0333f8c236f002c1c222f771d600e9a0f93c743878f54c7a6b3ba94e3d0bca48fc037ce25c2e4855a93ebeb3ab389a6698da15354356f4f4ab0d54ffe4ccaabe4bdc03ff7d6e0bfcb7784e12af4a4852b396f807dd4728d8d6e86286d5df5c6828a9a503ff1b084d7d5f4f42edb87b6264ebaca639bf7993fd51dad625ab365f1a15aa7c0375182e1d9fc9e4d307068fbed175b7ea2366ab72d79152a27b173a451b8ff6f103d76a027d271608c627ae0a46b564e45b0479da221931a45f9ea72afa2489ebf103f14aae46c15d58b4b6546be01bd353bbaa5965d1e141b00cbe04b7809278476903d94026cbb9e7f810775c7da24824e4533cd3323f2d60afebe6fa633b7182f79403165a5e79dbff37ff8dcfb52cfd2443337adf90dba4548fc9e992f935be4d90fc00581f03e175c23766a66345eda39d22fab744fe1f1fedbee6519b24f90e74f3c2f0549ddcdb0dd9171ab9265432cb91ad5a60a375665903af6572f0bad79ac3ebd87486f93b481deddd3ccd67b227abb2cd473f9382a29700581f0328bc9c5065c1eb4c215c113549d7efd9282828e168094ee10578765da85054d059bad6d1d19a5c6f4974fdaca8089ad6613d1100581f03b0a1fa186840dc7c5dbcb908cb68cbd90e030b5e4c1d6b27f3e0b7779390410100581f03583e3ad911d1fb4dc61c00d6969b4448d59b90991487ffbbed1e1d84db9054479fd085f0e2843c7d454475c9aa01789c9983c302194518037a27afb26dd9113bc164cffc8bd76619356b4f0da22695e1edcab800e099b9180339f68560afa1a52ba2d938f1b1ce20f0db8fea311ccb010b414ba3c05db419bb0375b4a841aa568174f972b86aa533bb79fb31deace49dcb8455312d2d3356e4a60389b69e36b655a890088ee282a304408cf6cef42071aacdf66630560a5d83d315031960a2f0d91c796d1f372882e9180d43703651e4b5619fbfc4bbbf810d10f28a0316a1ebfefb49ebaf4f6d346c1d0e0ab44656628428367235b831076eb0b0f98703ee9ea619ba60abaa7dfe9d67c72513c4a14af0fded49a940407d655e5fd622320219ffff039b772bd433e60daced27fe739c71dac0d88cb6b81f7e429f0979facc2915f15a0219ffff03178e8a72c2dd040ad508d687f6788c4e6500b6a1e67a271f3af2b64e0c22a7be03230cafdf5104c475afac4c02667ab0e69261936c40f8e2afdedf3f1e31a51a86030247e6cc99c64aa2eb2470282173ab0496d5426dfd46ab3bce5cb090b09f480403e9ed405d133f1bf4b878c434e1142029ea1ae4eefb0db6aec0d40535e13173f703fd81f12f33e90d7abbc69776b4a0daf1e7d924a7e76bc951955ebd946cacddf80308f208def2141f94e7bddad48e5771934e7e96c2c692554e3aff7efa290833d303dcbad42080225878202a29eb5390c96fa7bb491b68e4ea188662a7376f538e4b0379c578455acaed7a07388ec46ac5ff0430c746851f63e27a9aa9297cb61df2a603f38f0e64ff74af1de1562fe92965b64f8e9dd067705fcbe247529f938a33a824039e7d780c7b7efe17061bb03cab104a156740f3ae19249ec2e3d867ecc2e3f78b03d6c54a78a093c9b33fe21111650e40525b84805d260b2a7c450f2a78f582fb1e03a1f2957d7f559a3b10aaf7685b6ef07a5e8368dc38104e9897612728b5a0552903f07f3fdc25df66ec297e7cd06f9de1c4927de0abecfb4b57b90f02e8ff6311fc03c560819faaa11221ffa6efbf70517a63a05af77f86ce2f5ef380594661fb632a0312be6b5b9bb23da562d51b649be1cc392fecf5f82fffd56fe43af0edb5773ad70322c43d76118cfc6dcee1998b489ed919985cea201a94d7e318dd8564fd10f63c03673601005cf060bc16de32660b0a078abec5a276cfbd6e2060203ef8126b506003ec7ceb3856c4a1babfc874438004f41b55f0c6199beb70418aa3b8f8982b68f803fe0853ab63381ece5bd6d7ed206e350a2df1bae3013e81baf75a26e4ae88362b00581f032548aead5710a3f3b3b61e0992ec975b4596d5691fb5855601be7e0fdd10410100581f035da87fa1a531dc1adf40ee91b8026e604ec56570c5eea2aeda88da27234041010219010103029c986bea5bc46db6e964df5b68a08f320be17d827df6f68d6b60941830f98a03e6358c1beae59674d9c63fa73f923b3dec6d30919e346d91ceafeda44354d3850219ffff03542e397d0aaf0c247ba4d3f0a49bae20ad0ec2f3da1cb377cf489d1c293ba1da03476905ce9c6a73d2bb1e355578e25ee9aa56a28a2bcad679f138d16564cf6b9803ff5d24db9208b25e120282210b58b4270780c3138fa5d15f45ce0300295f7fa80368879687273ee5095159931f75470076f9e45e4e78daaaea428fb86a33e910fe03c34422e56fb776f1c17418ee34833b076b3d9660a51832c70e32ad538ed4803903deec161ee723d13594a27f1faa92d10c5a02d4cd112fa64e503760f9eaaf683203fe88bb1ff22ac08d834003f39d3b1a4237249b534f539d258bf435f6e2c8805103736d55f399a5b655ef617ba7ebde0401e31a6800bb281b38c5015903f4c75bb903e7ecb037617c55d550966a5c110dd99f4878fa3a5264135f70d41e7a1a0c2fe80219ffff0390116c0e508a1ee379d1e35ad23b9fa5e3c5cde0e46c2326ad6c6cdc8609eeec037396aa849bd5a6955bf01f84302a0f2684a3c0fa8a1e41dd3f54c5427372a8f60219ffff0331691b4a235f4c246bb0bfeb3c33fe7d83dea2f8c34929299f5cfc413e3c6f560311bbbd3f4068e9ed260d8208d11788342b14509658caa22fc3a994ccb4791aa803ddcefd3bbd5d112ff7ed673f025fa29f658c414e5e45fa9081e6dfe1d244c64c0358c0eb2702af090a85e7a74d3dfce435bab3907283bc2a3495a4eb42a127f90f030219e6ad3225a7bf521cb176a67f8bb21cfcd09795a92333f42bb7b32231b91c0320038b67c152c797988a53cec27bb56ab8f3840137c3e9e9ff0e12e3fc6a84a403145a2079ab875c7c542596c773869e2f40130c3ff71484afdc3b65bf6e5c5c9903812406cb984854cce5a920f82a2f240dbc8e711990c413171ef5145a34780e01037afc18a2e4ab77a337917c9f92d88f46a8a5efde752ee09d127fcd8bf4e85c74038283e3f8570ee0f61e84d7b74d465b3d6319cb653c9ca624cc375128a1ed8ca2038df8f2eb4c0b8bfd0c3a7178b8aa6479edc570acf48bdbbfc82bf90e5278d7b50328be8ed821ac09c0760a9c54dd2873aefb43f842057494c183af87a92e3f62020361d883b0a4160dec21797b4bfb887764127b444e0addd6c6ab9903820b9c838e03e6ca1a5887e7e41fc18dfc420e20b154cf3a99842dd461c6712c6bb26c5c8b2f030349bb07ab76d9206fbb9d2caa708d378be5f5090f7283e9e41638360b84393d03f57d6b70d6a69b93145c507a7972325d4e4190feec2329dc36fbe1bf8af5f59b03e3917c6bfc53d17de47ff7fbdf7453f19ee5626ea981d25c8ffac088155760da03bec8f32af6c9c18aaaacd859a04eff9e6aad00a51a13a5f71825f6c77573bd8b0396fb5375b4adc51c90dc95580e2899903c870517130f0b91b1ff685cb285425e03a038700248dfd2b332ff30000d3d50382b80c637ba266151a0af63b20041b4a80301c685210e46d785d95a12280af88dd38a0eced86b1f1104ce33e37e5503afec035559f9c54626d917a83bbb793789393c3ec771bddcb032f9df9b93d0b2e335ae0317c0c1f3d4825ea5cda6559e3109adfdedc1eaad20696cb852e95294ebe818ce03be0c54c1a822218ecd910a02a690612b5996b70632555425f5dde04dae56050403d6658178fdaf2e76f4a3645bf49b02f7ca1a846a54665551bb42d109829c11ec01410403a2d14cafd95aa04ceb488538532419c4ea52000f2fe2e9d2b2b7c1585da56f6f00581f03646cd9628bd7cca00852ec12770838ca43abf64e00b1956e1db4ba437fa054c85e4c5da69b08cfbc387d3ac0f7c276e6f9deb800581f03d21a34553ce1367dd0af74c68efcbc04208096d4df35a81e092cf4a05c9054beef237f3e152beba20c850a8b381a66c9d2cd3f00581f033607bd8cbf98f3722e0b74da85876ad5b62bd84a7e3f13ecc5e6ccf1eab0545a80356dfe7f80d848e368fec950a8feed931e8d00581f03e71e67a4a54aacbbea9a915ae4699aedd150a44b9004ecd325e7a3a6cfc0410100581f036e588ef12aa3264ffed9c6e5e3a6e24d838f8dc1bd8950ddbfe7dcf74550410102196a40037ab69a8929deef5c2b1ccbb4c1e057226da22518a6e2b2070f328cdb2de20fc403d525fc086db79d7bd67aba5c4a8bb3e65000e9f32d45d069c52928547f4f873c03f2b4531b5796f5f81eaac30cea5fdc11ee5c668afbd0905a896dae520cecf50d03ed18d59d8ad86dede963c1eadb96ee83f3e80c69bf5cb2f0d7a05718fd95150a0219ffff03208304e3c3c409086d6a155143abb75395d591bbbd77e8201925f5c6c6235aef0219ffff037ca17846195944d167120ee105ecc3789bef6015dcc52343ef913d605ba4295303211d770aeedc92543b1d3d1a106f5e4c497075e645df08139df8c05594b3e0a803b0d50ed00eaf3425ea5ad0dcacb15589bf3b41865044fb8a24cf99fb09200e5803a77c15aba7749da374708ddbc1193a5a5d5705acafb89ac3e2d7a54bbb75f6c00316b7bcf824cd3e6a42b90e252cf459d89e93edf281e07758f47add60d76e180003c7efc82ff11672c98581f5d226e688352cc6f95cd28b55c6149c0bfdec208c6c038e86bf38d7f2d61a788993406faf3816fb1b5bdb81093607a8b1f56eaa7b773103f4bb413503cbc2b2d672a9bd67ba4da31cbcb4314ea0f7978e2667cb6a7f61df034126551b6e3059692206f6b22aa51b6bc7331a2606504e4951bf16beaff3ffdc0379cda3d5f1268618bf18a2b1056c6c3171a016f81f57a8a9763c67b76558ac1603582fc0e5f2cb8622b5a2eabb68af955d369b957ffc7e33a8baf7a9730d7034f400581f028909c2b00a14d88b5e4f5fdefcf015e54e25f162d3797b118463cdd7e105540ea092fd014d893607a64ae516ea08cac7983bb0032e4fa4416198b07eb1f8f3c1b23a2e1b6194e1965469492a2280e316ad0ebef7037d6fe769f34b46c28d98294b18f75b0212ed80295a9bcb49896f6828e6d1a6d300581f03f98863cda73eac93faec76181fbef59049a498e3eb17e31e759321dac370410103e2e075e2527705d55186737ca1f78aee0605ea4709cc66c54b8cca1e221b5880014200e000581f03701fd227531a7af08a8e28cc7048c06f21ec86ea9d968dfca4d76bbaf6a0410100581f03815b1fd9f3280fb7fda701481f915062397488b5bed4446fc53089387950410100581f03b8833925eda47a2af878b5936cb4b376ebdb9000f96a977858c6cefd2cc0410103fc4f4f89d85605f2af7cb29f6d8735c20728f6e93fc42233edd2bcc2171e9f000219090f03278d1a46c6e3d5c17518a2bb97d3960514aaeb2c48e2fab912cf1a0b88ec0cef031d58cd4893364cbc56d828858a4bf986ab7ab904b2af8f38d04f84e9bb27c410036e1405f7c2f89c2d580a50d46fe7ba6b1a2afb10f1a18abd6b9a63b43ba5298003f2f10ecf61246f86560793ffd85e0dc7065f09768e646adeccd66fe3ee826925034170fc9cc747c6d71b39688f14ea2bb6dee1bc45925038d8df4fe4b1577a65d403cca77282b38c987ed36c912e000795ea1452cfcacbe0a034c561fc0de1a2ae9d030caab32f50897595973d3918f57b7ebb9671b2d7c9f150611b84a9d00265ef2603ee1bbaff38d9ae405c3e99c05a08913c01e85652b70d88ece03e20fd845972c100581f029de1a993181ee77e080be9bec6ae6afa161c56bd931a33b08df8d1fd359754207fa16f2ebcbf84674085b21eac161ce21e26000347c3a00847d5a615d8cec1ba86cd512c1944d88682a4bf5a7b0c8b7480d1167003ee7eaf21a69b2301c8a29b6a5ca9c0e971cbff406f012562496a4fe8683250e903b90a722b39ba14c264c5ef804c6f55a11a83f658b3c093d1466bce9910ca1adf0219ffff03d6e07a1551a78a7ffb5cba5232247ddb20ab8c3592e08f3d0279b6b5b63dc934035ab5428c623706fb1f685c37dded25335619ae7cf4229d719713a300b164bde603e67f7d5b4967be4a0cd861fe9cd133cec7fefcb1f5ff014941d12560e30c77d80356c8fa838ade6089836d5488824591a00816e4d74171ea2cf5945764155c5e9b0386af1fd5d02df5ad3905c71eed54ff4c644bbae19ed37c2e20d9d5bb3ed3b3320219ffff03d4b1d8051dd6be3de1f6387bbb2f64718f90bc843e06445f8c0d52b12d13813803ee02157c5681444d2dd8b0f2acf5892a79237111ec76588ef32d0955c043fb21038f61525e5eb8a9a5ce0e9e370c92076b0825f6977494503ee205eb8355312ca70350daaee8c2f3204474b46d5ef0be56915aae8c7cf7787699a25e4a06bbaf00c903508900a4a950e5e0d1a5fdee1476dfe91d1a1fa2550756c51a336c817f39255d031fb6fd62bc1ff61dae318c15bd0507f7d5d590f7c9a58c05c85c2c7d7da9f5d703b9f7ff9cbb0e9b6a3994f0a8b947c9e2937c21786101765365780fdc289215bd033de8400a76946a174327485c7b29efb09cd952825ddf1aaf6ef3d65b12ea2305032dfcb0aeddda4b010f4d574d799bae66775d26a7247e316031a6f59ad20b41450349645647d81032c021fc62b5582d7c371880a680e5ba0ef466cf16acb81825e203c7bbae6e77887ef37e93ed6e8ff6b6e94daabc4ca56f1e56bd0016bca389633f033509cafb3f9c813d40883a5869b15764134f2fdb6e8062adfba61b5dc72f0e7803edba6eca54e73193a19efb6c5336c5a9d34048f00d8f9eda2049fe2ca5f048a9031991bf9521e2a7fc3607d26746aa4c08f0c0f67d0c64bb34468c003ae18b51fe0393ecb1dbbf0397ee084859028529f65a70f7594b11475a51cb945b89ab74f848036e161cd45c97fd8f2312b8c0b982bf301136665ef295f29e8207308c61961c6e0384306476f1ba4b91d98b6c9437727db5794634182f41f4abd64116bbbce05366038d4f0f8ce5e6381e9664eb694ce4e57ef7eb31f5413e6df28424a60a0b3e23ff03a916d5c6fb245d4ffc1b400151f6cb8b532f3c964582dc276b973c2aaef60a9a03a4ce80e1632dfcc9bfd4e399caf931a94041ec2be3592645617d3913a06e8c3103a30fd653ac4d849c94eaec1cef88b1bdef306ae7af676082a4c323e6fef23f5a03c66e1c97af51694904f0d489b2c9ce5cade5c94fe574c9f367b371b73feb179403ac630da31a674633d56ddb5dbcc37203d9444de3c04a9b3f458707ad8c1355f503216e7d8331009e9748998f6f339a0ca792a60f408e4ba52e0dc21750fe2c39fd038f1750dab9e3ce39349f726c8d87fef9dc1cdf99f0de2ef0b9671c266a96845503d164c89a9f24c22c0f4bf257a47705d89153185a9f4f1584b8ab64f8cfafa1bb03222dc80f648228ea11198f7d734602b4c48e5eb69888fcfb32a76da23cf5389003b6530b1bc0015f1825a937eac22afad4774ee310abe4a5c620529953716dee3c03e8b90df63635a0abda310f1cb393ec6fe70dae0b0a5d08229f5e7eab2d55191503288b1507dccefec04298392d3b56a1a39d548488b18e9f9eff95b3522cd3fd28036806361bd40d56ce18b32dd00b1d12fd9aa8a1df697ecc8550af3f24e365f35700581f03a0f8dc012b22d608a480ecd68ff0b8f93b85d3cf93c679631895544ce290546d8ab1cfbb9ffca2d27545ac8b6a84dcb460948600581f03e918a60f785261aa3afe48b74477fbeebb3a7a8b0bbeb11605e6d779b0a0410100581f03d83d70ddc57049da2a58677fd35c63f30cc765284c715cc4677c3a5e8cb0410100581f0399fa4b22aca43e57689d8ff03cef78859c1827fd1f7b97dafe8af80dab70410100581f03d04b0ca32cc14cd200164c21b56184e639bc752f6ca539fb5854473d7fa0410100581f03ab4f9e68f04ed58f5729f0d609980706dde72b2469cd1a2ea87962400b00547aa1ef4dd82198aaaafdb23f8a7222e699cca4a8021988e8031c2d2154c9592d11332204d85854a06a041e0091f6035f4494c3c1e6524e4cdf03d62a376b959372ef51a93b829187d5a22b1fb356d27c04a57056fa25c3dcd414030f844ed28d8a691274f0f6281cb9eaffe1d73fd91647dd9daf0d3273bc55bd4e03a4640d66c7ecea0f54502b5818cf336fa45b45fde73b64f7cfbf1108465e6a08036fbf5dc92476bd4b85ecebdc78518c08e4aad381c41f1f33eba4ab6344a2ea350219ffff03dfacf5ca966801b8a7d7028ea4805401f1188fd928934d3aa1b2ab21520cd1ba03f4d9276daf304745a1ee304051b3959ad0babf73448729c00d0a1850fdf7384e038cdef604c4c3c576babc8c759e01dbc7692cfc3d179f696bad47ba6743fb9c410219ffff03efb3a96a8c76b6e4ef4016e8e579607521695739972e00c96f1218b90a74f8eb031bb360b5528bb62ec231baeca93a9a3f597ab9150744dfa5cd61f865d21199aa03d1f51f3d25055e586879d2411810a49e14914a36744097440d1d92d9e6db576b038270febe1063bd5f6dcdd2e470a2c516b42d7eb0bf8b595e7fc797d63cb09d5f030cdd7a4e393ef8c30e8309250bd55f4e0ea83743c7356ab7fc4cf5a6139f7068039efa10bc5db73e1462dbee45436377ffeeb5eadc40f1f43608f5f7f95c63d3d90326a5843fd1a181a7c3171046d3a68d2c366ceeedbd8b841326ee148c021c5fe60315d4a0b464359e01db9d0c92fe35d7bf8c9e80371243712b3a48bee219051f800368fd1fc47769cee4a1889e2afc905a3238c5edd48ecfbaa98ff1d838a5503c0a03e790c632254cf537874736ea1940b2fd166e1e11a485be8c45cd1fa48fa32aca036c3a643dae3b4e2ea3d57ceb8445e2175153eea46e1a8e7206b5a7e165e3337a0372481fd3fd6b27b84fe3958f1fcc129dd84cdafd317f584ed20ccc6761d91847036cb88bea9a4e6a67b4c1b3a4ab37c10d79c6bb7bf05b10908de2a8bdc4fd5d4e031d0e41762bbf162cefed69f0b089bf86df73417cb5904becb12e11c1e16e2978035ae72a5ff48b415bb82f3638337fb7633546212e517210a7d8aafc44b1c889a303e74298094b0046f2c1cc583286bb67c07a1c376a187c57e8814fa2e018b524af034d2f264eeb156cd5447d9b75a4c29b0cbdc04ca000c35454522ff0f73ce8fe6100581f03c167fe019ac57979a0c1b031f1e413de5d5f73d82ef92b677998eef02940544c6e7b385ebe73ec40dc7e905909661e1f79890100581f03fef67c4fc877e1d89fcc8364da9a2580f58402983273f813af1d2a51f7c0410100581f034718160cc8ef9b42c06554db21b9f282dc5c68ade98934e398b57888f540410100581f03fc83d1628a454664bb8db28f8cc21e61458fd3c9a8ccb2b7083acc7936605441e2fa8d15ba8e348220f380d382f6e2b31c571f021901c103c10f26c3a1c8c861283e9d67c7f4fb8c3983e35d38b038517f1ac0c553f07eb703e3ef8d4f743eeefd34aed3e9052a9b8931a48ec1f6085d1715ad498ce937074c0219ffff03ab9ba3890468eefb53a15606fe25dce10db4f1a8d8348479718cbb712038a22a0302dfbdf286b14e9ffe34f8be450bda99b8856fd2128c36f36ef3ef837e53d3d003caeeaee625ab89f9926d75a47bff64a77ccf2d2daadb0667905a9c3637af12550371471f8634d7bc1ac44cea49d740f8d52b6427818c6c57c75f81a7a624af384203f83cc23b1581f69ed0fcdd062d23bd1719eff0c2856aeafd944442e4123c755703d81d3b8a74629f6f186544b9c9034253c933378d8fd103db0335919d325fe05403f81ab38bf2095ed81a58107cc483204b262ca0f17b014613c9a3a83513b19e3e036daac22718646df3f3bdf7568889bc957f971415a8e20f2a577a88e03fd542ff03565a26e30828098ae97ba87edafe182509a04053163f91eebff83c0fd403ab040398c9e5efd5e152a3b9737fd7f9a23143942cd9cfdac894ca32864ee3e24ed5260387e4f446e36849ed4f5833c476296a4232ebe4fe9333a6cedbed4d1afc4fb8060219ffff03def7144f9e1b9880449b25c6c4068e999b49ac747796b556ff00358a4674dc6b03bbc897859483264ba581d0941ef447489329794f6ec608688fe0d913ceb322110219ffff0352ec8d2cb8a9a9f04cf26f635494f7c32abf0320d478763422c440031976dfb8035b368d9a26351bc98610d3d2eab2a3fafd017351e075afc4ae7b501ceb7738950376cb4437eb26f8ab60702c6ac605ba0404e2ab0b524e06f43dd588537e62dd6b034b3a8738ba9a783d0a64d5e7f863aa37ce1598c7a7fa47e1522623e4d92b3adb037d35c8d252329f1b09241de74747704f365c4785c912b0550275fdd21813da02031e89be09bca9c14f69f753b27a69be648ae324cd64069d214cc90b5617611aef03967c08148715a41ccca5c685a93cde9c8dd735d2f2a6c7cf68fa898014e0b949030a79d74f9a6daac3ff1af66c048be8008cd35d7b328a203b0cd92e66127947ea03b84dee92b44ed21f4f92f1485c3ff560cbee31e96a15390c3163d0cd886e059903b549cc0f99b9d4ec753cae7ca7eae0ef48df9dba7e27e94b2588c107f0ea4d6700581f0282c9f47985774b4dd564a6ad189022317a41ba542f6d43a0ecaac71a59f0410103dd3f3a3e252a96bb940a8976331d7e96afe10261218872390cf08c81188a56360372788ec85ce7205ba897921c0a9c4c1ecd78831cf1ce5889c91e7d2e336f4d6a03db7fa2bd1ae1dbdc1a900d94ab3a8a37a4dd77a4f405cd142b0ba5000bb6bcbe031c0fc8e1615ffe49c415fff35628d14ea1e506387ceb9e0324fd076f01c2f7b7035fd81ead33cdadf1fa92e2402feeeb899313c56422be02b45f27eab23679b268031c467c4a6f2c5eea497c0f444d22d3331359f4cc50ae21e8131e94227ef3b44c032184162c612b14a767ea60080edf889e418a349857d6c667fc4dfb036779799b0336d4a9288abf5c6ab7c62a06f16e4430e872a87856b5dee26173d7eef59b183103f5574da93fc3b0d9f0a5c9ae7c7b01a9b2cc73939091f5d562a9f133e306aa81036e1637a56b0bb23bfeb0444358e9dd45757a88d449707eb9e3894d6915def9a300581f03eda782e47a6b0a9ff9057a9f9259f60ff146b0a5b39ef818cb82fa6c9060410100581f0355004a4a13c7351a7f3a1aceca156d75727993eb0a2f6c1673fe17cdd9a054346a2c145142ff1a8674520a4b26e0140262edd400581f031a1afed2444a9a977dc785e5bf69288742e8929b6983e1298771cfa16f5054ff4326103676ceb4e59622df15541770316a2a2d00581f032762fafdbd39444c1b67d91e34020a5d910dbd372b8f48cb697f71b917a054da9b2a8a9ad04aff3b123037de340c8bb4dd94530219850403792467588341726819d54a4181b437bd6536575d03d4cfbe46239379ce2d8cbc03db5b73f1ada084c77b10bcc052f2711be04c016734437bd57b599593325c2353033957806c9c6cb48c7b2deb110c36f3820ad20f9f11d7439a7c02e138a2963a0603268b78f69679d5753737bc4b3fa99d08af4eb04a906045f6b08205355968f74f0219ffff0314d8a41b7a90327e74a5bb6bb4c62b8cdd8962525ba12508e9cee05ec6046d0a038c6ef3a90e956b803fb46da9d1f1324a7f52ff703e2953a92b2138b1bdb886bd03e698f138ef7df249cacdd30468155cb567c672e08b7d09bedaf5d29bb43541da03df8d8ed9e5caef9691ba1a11c929b9504f9f5bec379b9b24766ab22db8ce7f1900581e0280f66b982e2c2fa4cf6889f1f4834464c7956b26daac753ce95a318e1e410100581e02c2e6b424d83d801ae65785e14f14c6a7813d2207139cc8ef0b64189114541c08f70f444a965170010d2eb99d79400e6e1f3302181800581f039d5d93d85813a23a13ee37a5fe920f7a8d96a2cfbf0c48c07a9b35d8f51054d158a146b6dde9f297cea0ba7d1822742a71b27000581f03aee3cb568ad1da57355d46e638bc7aff0284afa5e478f1068c177d49b66041010219010300581f02c2a5eee1545b48ff56a1cb4a91138d74dd3f881bbe0c97d46ee37b1a13a741010319ce496a039293872f38bb9bfb8fe0b98abe49a89ff59a001fab0cff0c1279750348b8d88379b9a941438db098979e86fd91424f60bbcbee77173f9cba3375233603913fab721dee197d4200a52c08da6dc09a4f8c9682c56c6e5d78cefcbac87391035b8c054490eef49d6afc874555891d03e2608e1ea070e52f49bfc954ac51bc5e031fe94065ebf9d2e0c0ea669d3cf56a7b8f09cc0bde4745b696f0ec7c3639dbe6030b761e36d39cd1da36e6ee0173cb15f9d52475ab86150639833b3ec89676239203cb2ffacb7ab8afdac48d7e45bcdda0bd5a438588d5a8a35e6e897a65c97803f0036597aec1e3cbf9ca6f976e1e12ff9cdfbcac55712ebb6ad7b4df813801420be103e4764f54bbd87d921d5ddbd8bae0e830e49196736a03e538ef628c3cf37335bc033bf4f4d8f65772b6fe2ad5713800d4b3d121b5a86dc76e8c1052a5e81f37d85e00581f028b65b7d0e7a88b6803dadcd20ac060373dd021e5c5d09e0497d3d3730f2254f3217a91b41e1c8a017c9318c52ab18564982c190323c16558e8b3866a372fb15ddfdcf1e1e764624b759c476be0c1572d34ba782e0219ffff034f425bb2a80aaf91b5582574aa1e4543a6f722cfbd4217214a4158e8b6502ab303fff461ba2c36b6ef49e22f48147a88c4c80bf567819a18031a3c242d1df5df0003c8d31854386e1260e429e9fe06b77320b90f527727b8b515ced1d65cf9b6440b0219ffff037a7fc6687ca20cba408b53aa68449b32e229aa6af007ec673d73d7e26b7667d003e5b2c4cd7d8c1a1fd567e53e146acad2bfb1884ed6b6f787a39b9169a258fd8203975d5948719baca1bb60565c4b08e208ec8355c0f61bb682dcaaeabc772d0c12037c7a966397d559bfa175bf104cb1fd632bcd6c54b251a3ddec76bb36f518c75e037832e08af80845dd5071a14f427cc0546da83d2e48fe59f0e293b52b318fc5fc03a5eb0ece27f31fcbb217412c9edced974e8d8b7d5d4ca7c05dd0af174dbab13b036befc2cc01c6a981591486d8bf9221df43f813547ea6ebc8b60437ec483febe903d5f03bd6ef52e1e4458f35a146313bd09f9bf6dd3e244c818badde562998ebf503055fb549a33f49e9d245547b69bc1a1bd2abcef9a0dd6a98b673c2e74c487dde00581f036570f23365898fabbef27d81281e26e376da706ab4a744f5b18f158f9f80546d98646b4b4030011d8e1fb853bdd63d53b2eb7500581f03c673484d939b451cfe6db2d20b9c1f092211eb353704aed6de0d78db48c05408be612ac20ad8a5bdbf272cede2132a9de1265900581f0354058ce52a673eabcc591252c0cddf3e6312b3622886e7d1c3a6845ea2e04101021980180334f78f1e901020cb99e8ea1a459cb129fe196008d2f604e473628ff8a2669f7a03c44b0d364250c271e97e70914544b0eb27f01f34b942d271274abd20dfea3c0a03313c5d59c9842f31ef396f6dbf7e8da629fb32bca7619feb85fc5dc50a789a5401410e03f5dc5d2dd6e797396229a468d0e0c492bb4288ea683520efab66d393d441461203d90c62c99986c44b79d01fd2c864f59277896f31c63571ccfc659f447f50c65a03c68b88e804289ee1276d8164aa727c540617e038ada05971049d3a2ba948f012034eb5d1f95f3a91fd14bff45ccc8b2c71380550a5d279787ca4e67b9db8952763035af9815e63f1f42571c9fa52b3cd0dab9d8ac9ba850544df673624be599bf89a03e11ab567b766081807b37b76fd8c450f6f8c2271dd76fd88b24b70780b7a9d110219ffff03fb5a0260234f35d14f8413a3721fd3ad8dad8af8edb47c41ee5cd16794713bf6034b0394c1762ee65890c097f096cf2a636d37053a35274e872447c4f330bd53f903c604ddd2188603949960930f8ed7eddc106723119d57fa7e7c39c5b938767f6d03b1fe18fa4fa0861a68257922831431a56a23819eda0a7d0887b2035ad6f38f86035924a39beacc4511463d06f1b1eea83db4dae8bb43e979e67103b0377e0505a90317ec7a74392713ae85fbeeb21f7de19b809f0a25177488bdbb9ebd04f7eb2b45037ab99bbe964d4a5facad91c83b55c2fba2fc105a855abf0cd8e4c83c30a4d0ed03dd5feb5844ed09241ad3a91e30ab6e7da17938aabb1c9714f5acc3043beb9ebf03b62dac247821db94ded45e0eca05ab26d585e48c761802049f6ee8947551c9d2030aa3ae31e0161faf70fd596abbb1cf4eee72635687290d88ba1f67d1311a40aa0371e8fef7b320b4def8a2df4b3ae2a04374001288fb89636aa41af2b9cf00f15a039d642f3a65140b3a328473be840c4e6ded3569069a3b1fcb42f46197eece0f680219ffff03876e4b30949c45e3eaff56c1cd55d4708e06bc0213ad7f1974b1f082df8930190328d2738849dc755a5f948935671281731f09f5ac3ca567bdd30d5d6fb161897303c327309e5edd34cba8dbc3db46c3743e23a9814e6034eb0192810e77a5e158fc03ca634e776a1f68949eaefda2ca04418d7e5884647393ff48ab94b1ce82ff057303c9cb031e81ccbe732f2344aa57508aec19ae982675724dcf3bbd7be80851ab5401410403867b644d811eb9799fb160a513a0eadf68e8181315d46fde8bdbf481d7f71f2703582275d3d969617ea3e36f1df37f602148df90f3304e1935acdbf798cc5b1ecf03ac7fb0d57f735a43bea098a92b89e5ccda21d4c695440f6187530685fe914e7000581f03702d5cbc8eed8b09093d94b0e6920965e32eb4e4c708ab35c3180696c470410100581f0371cc17989aa8ccc0e7f4d0083f801462aad8a9a5c3b4d33ebfdeca73cd20548d37fc7145b7114083c42c135771b0155255961d0219080403609c35ee656077d51bf24ffe8674f290398173996d5a94ed8f4c4a3590d6c03f038ef6c2d63f191ce414a3a6bedcca82b7d1701adafefbf287b92fa3b5855ac759031419d2468fcdb06ff4ff84de969c94c2779a86d8262f60265e73d44716bf151603c8e816605c99b11844cb2878d30e64d931ff84d6831389c791048c99345f5ef9035e8875e420d771a38bfc7835d0bcfc27caeb469e379eb4b8621bb4253df2e77503a2364426629c807645ffc05caa35335ddba04d0371638800962526016170cf2a03822e3692cdbff38563217054dba137904b2057eecbbd809cce5a06e6d49548e1037329c487fe5b9fdd98250a160e4ad63b4f10d41c20af0988f273ea8f35ccfecd0219ffff03d17e3ca7861f556d91404fbe04d78e87c2ebcf2cebcb8abb77f1c609a27bc74e03037b784470c1dc35faf0a8a7530c9594985f04bd0245b66f76c00cd962f12fc103757131ccf3ec7e8fdd24abe5f16f906f88955cece1cf645d361faea74e6978aa03ae59faf589a03596dc8e56bedf1a30ffbb28d6e4b01e2c2e2bf2d9199c0cd6ad03f82b7eb6c7d9cee916c808c76a1bbb474fa30cfdcb74b73e880eb3590c4701b90395418d8f7b3ea853fc0a5532b6b4170235bb77350148dfaafea4a824d3f57af303019994e15ad72cd041017c7afaf953a1609425ea807ad98a301f0e62fe08b3000315a2589921abcc68e7e07ac641ca9b1e3afb51dca0ded0ca8ce9797291f9d8d90300884154400de121f2294e125dd695e1d496bf8c232526338d48666d6578798a03bc33c4d95c06e2fd55c907bc1daeb6fa57f8dc87614947df23bd3e165a2130fa03c281df6180cca137b2a4fdb960033da10294e3279c15732d357ade4a2a0d131003419cc8c9dbab3cad378941b19b430a06625cb298d0c9fb2685248ef3e1d4b7780316d0540ed1290dc277ee538d90dd46bf06d0bd1a280933b907d5c6e183bd6676037b268379d22e5af9ecac4f2aea2c753b2e3d00573002c7f05bea58cafb405f800219ffff033004fa1202211ba248541cca433ebb7b9eff9f1a5229dfe381ef4797d1b7da68039ced196c12af303a99e038d6eac60ab6b5ba0b748b3e5ed97fdfd0e7b486bfda03cb51fddb93fbfcabbcba80d6c3b1073fd978edf883f0e0c925c2eb49673cd4f503fb4a4b14eeeb50f2e5ccd861da3025695d63856d1e7f4ae41599661680f83d6b03f4506c264f477511aaea6de6e1303e8909c712e10ed65e52ee25e9d956deee5b0375ca1a9ecee59fbc6d4ea3b5b8ee5758770f748de6806e202c5ca012a00b87f903af9baa493ecbd00006a3eaa42af2087ffceba8adf46239262c57fe564a78e31303072409dec0495d7259f2ae19f1b4f459db569c28ff31d734cd7db0d7607568cc03792a555cee41a9ace0d667bb6af10b5f5f3f9bcb48736395ac0f149cd6e45e4a0372358ba68f4cad03ce2bf9406811c29a984f2d945f987a4a16ab70363545d7d803227f0b6c8741bd4ef0fbfa0a1aef7574641473a141d21699efa6c4562edb48dd03c6ff27e8d3fe4e8dcede8c8da101c080b1d5e315b6fe116cc1227d3c3aa391660360ee71ec515c9dccbccc0f291bd29999c01c5f6525b4f2274342b8deb77b908a033c70e9f528cfefd98db7aa8fcfbea12510daba963e28c8809d8687f79244853503ea2ee555dfcce4a78d439a40db4af22f17937a54f395f1b3e90696e0d89dd66f03ba225c516ea9c957c327822b4762c7faa3b93da4c15a35db837315995ea7772503fb98c940460de1172dfb1f6be88efc7787cf46a3e3bac81cbbd2cc7c03743dec030b44a6ea52fea8fda792eb8ac75646c0de4d0655c988723386bd652bc05317be031f049f60533c99aab76854273348f3746297c93c9838daf70ff5b2a293715c690351c69ca27ed0bbc12ee07c76dd0d15c4f3ea57378fb28d30bba9ed1d7edb4ca703214c8474d58a2fd95c2f16d73d58a2153071fea6e2c24514b096bc3cfcd65cac00581f037694521182a7e537ecb62ff976fbf4da5a078ca97f07ff2149466e586fa0544bc725374b41028ebc4c9296a1680300491104e900581f0309d5eaf61b496c7b59ae7b7031c4120d0c7980b1cb145e8a7b252e14d580545317c99b30bea75222a64340ab119d9ee2840a1e00581f03d52a61d10fe10c47e4db2baa7856ec60f35fa0f1108724f20a3f08541780410100581f03bdfa65cc2f3d58cb96d8ca24f9473507ccf32735a5f28fd2ea545e3edbe054c4cd42d26d759eff89317879c2dcc5fb62c346180219282203891154b4486cc5df34ba553d661935e35c1f4e861ff4eceb5c550c221f129b520219ffff0365917beadfb484099ef6df4f08bce8803a6dc74116e7d28aae1e2c3e493bd988033addd0a2161314eba16ddbfd63fc1fe1fa128ef14cc7e264d6c36e9ce3dd5eae03d7f71bfbd094bc3bdefe5ec0ca64efbd787d8a299659af7fb03bd1e6819180db0344968d538980d2d66536ebcf1abf18b31625d37e0989bd326ecb3f5625e4d62603ae031b47bfc71dcc4be65c3291ce246c2639b55879c0e36f53e8e2f16a63214a0377807594980973150dd2f648c5e32f30843a3913b9b30c0a15f1ff5b12545d190373a6edfedaa9838db14914a78131e712e7a62e17785a0e526394b99fc310d63b03bf43f2280479e5d0b6004583d2ef2989512cb505ace37e14e1fdcddc7127de980219ffff03855d1ccc5d7275aceddf939148a9e4fa87de0a6fa37dca33de76c4ab3aea57790395872c96dfaffd47688997d679f257c9169482c6703c936bde1416d1c3f5cd5f034cce4bcd2d97cf87003ac8557b3e6f3c93df92fe7e929b4e540bf52421fd995303dc4ae0bd8eb4c9a799ed5368903e284e5d07668533527da3191916be12e542fd037a14442d07966acded708092d1aebc63ae7b42b5423009792106e1f6a859b33203f792e4d8a466ffed99fbb6f514faa9441d74b4d32d26a9a30b020fdbccaa617c03729cc57be31f2a7cd8eb1937d4f4421b11b54a9bfa83b9432e8a556fe55a97940308ea77b0e8e4b0e9fdc8e6f5c879bc00a2e85b0aa95a4aca7b5f0bbef08fb3fe03ef737de03d02b8c9a064698b338d7ce2f6c36c2f5a0672fe139aa5cd00701c6d0307154e997a87945dcae928366aa48db752066d353c1641271e7cb82ec433bc2e03a5ca25e06f2a002efd1e4cd79701703130cad9308729eb038865a3ff9244a03a0219ffff0302e1834eeccd6c944eb47223734bbc03008b22074afe9c741480cd00adae27130372d4c8e435657511e480090cabe4481f092943b4b077c762b96ecec907e19892039fbc65fb46836b55bdd36f3c39eb492f131b136ec1d4174aef761ec198815f2f03b362737a3aaa110bcdffca1ae28e0395315b5927f0cc99a57ea153e26102ffeb032062b4fe90e685dea3786d1e619d14a6f2d8e86e0cef3324ffac769216d622c503f6d062132611eff6f8bea5e2dcadeccd456e25b3a4ba5a1751f9b1e3cb0f202903ad0824556c0081f67c2cadc592425fea3e57ab4dc222939cbc86d65930ce11b3035b42139343ab0547ae832e4e4ed3033c47645eb21eee261f134e12bd627984c003e73c1bf9d106dbea1f36cd356eb0e9161a4eb588111eadeca01bb0e531ac3d22036b81e8388c1cfed22cc4f4b84b860d344af5cba9b8e28419f665e45545d7139903fbab8c79a4df164bf3a2f13f74c82b31a9bf8e45495d8fc3bdd91b8bd83de97b0336bdafc2423366064e311554338b5add98cdaac489b4884c42e0913e8e2dec8a03f790b3b8593abe7f23ec89d25db00ab4a932e49482c3f56f9a1763fc3883bb5d039b9261a72446f8304ace228ec87e771cad51665d9a4d83fdcdefc5ad2877ad88032994b707a7f8eb476103d33ba91b8d559cb64cf43e7ffdea792b7c6944cb3093038eb29fb0742ff95ea71b4a8ddbb24c16ae462c786dced5bc4a1e620fd1f0bf370355eebf2ab481a0cedb1f83cea3ee146138472075230d81194eabb0fd73db7f2203c517094e35a98407df10342651c259de570aab5031d7aedd1ede1df32a427260030a032fa4cb444cf9113f11501e0eec0ea4d71e34e2b19f52ef27bee0f56d0dea032d337b5d180c085ec0757072df01c67322440f284c28c8960d346daf75f86a9403413b244cbceb0d0c549598dc6838b665314e2678a1086b7c11a8b4529b40f09a03b0a91cf3e556cc077d15dd02713a79615c49f51cf58033d7553994d63cf5052700581f035e4fa918d1d93c511c05eb986568ba0b8ef15c343a403cdbd290ff205bc0410100581f03eabb5164dadf914a083a4fd733c4e648ae71db012f9635addea428a467f05466457bdbd5c9379cf2556fe58532e64d5a78c97800581f033a6b08e4a53ed5abb5f59fd4ea319a9b588cc78c75708a58e153fc84ec905438025e8c7d4f10d1d097647fa04f38fdaca3ad7f00581f03ad044767ebd924f07dfcf7b01da7e5d03c67c745b54f36d0b513dba6c5b054e895b8a8cb24dc0375158bd98f6b2e7bf0aa815700581f0350874d23fef246cea7c3dfbf94634d01ffa83aa6f1c97b6e95a4631319c05476cd0d8daf972419fb197603874e36af45b5df4400581f033e1328f583bd859fb1130e05d958fc8ceaae7754e96bb086d029d861b4f041010219863203da80e0465cd00babbe1ae003b601a405c344867bc48456c2e5c18db01221fa1c03b548611a6d6138320472978d014e9132e1a53eae1c1f0566e5c2ab2ff539fae403836ae6a36a66b06c4104d91e64d7d59eda9a44cee2c455709dbb6a78a0eda62303d6d09c12ef13004afc17d2725f6a1c4e909128a9b1cad4c34c977f7b35ee025500581f02a789abec835e2b32cbf612512df4d69aa58902d7366b121912293c277b1241010219ffff0323fc8cc9183bd46840bfd59599a4df1708da3e3ddce1c5bb2348b07e08cf308603e9f7db794b15948f68f9345a2fdf270062fb46b352e49d2dae38af2943dfec71031d001394b194b3be1141149eb8822cc952f403e94d780a45ef2866cf3b15b1770219ffff031bdf68a5eda51c052a6e3f49b5fd1373421bb22bb1bf0db8b65c4d3fbfd239ea03a1a53e2fb13af6061938127b5e3ecd4abeccbd81a45b1b32c7a99699c672563c0381676bf5cc884a58407f8953e1b83b54233c676f326bad8ab7ac83e7868945b6038f4c70f286311025c598a7a9f95193436b0569ef9b4c81b44f56602ee2d5166c0342d2154d12e7eac2fed3c114bdb94ac77d623e41d0a4b07984923b55543722a903915cedc7330be12d1dcaa9b297f495608e6eb1ae758aa8604f9721712aefd2c403018bbefd42c61f2a781822f9a6c56fddf2bc75fc4bd9027d4346642409982e45033b1f4d05bcabf63b59ccb0ada3ff9e0016702142bbbfdf1f59c132b71ddd43d903b46ca3f74b37ce3b19a24a1c99f0cef25dd9fd2c98001e4862af12edfc4c080d038b15d5ae338593aea1d43c3a289ac76fdb1811759ec36ccf59cfee7e8a3e6c7d00581f02dcb2e747758582425225c8c77a871c779aae1cbf37923596426efae70650410100581f0363ab2e86d953e576a42432fc32c5763b78db53ea903565bf15b5893609605462ebd4e77876467dac18e9cf9353052e67cab65a00581f032fae95b950376a28a22a73a59a66641608c12186c4a10d17b1ca7ff789404101032275f0d1c4732b1d57e810a90d1108fe847ebcd3ec00afbdde2b80068be4ee3600581f038f556b786b59f452ef139efce0ac1410eec3a6956f70aad9093b295c20c0410100581f03b7c871aa18283ea92ba1a6e21d1db8715055774aff15597f888fa86328a05454fdf3f318517caf1aa8f66fef9f9a3a4cfd239500581f033f30574e17a42d41a0481f3f9aaeaddc07a59be34c915f8d6e322b85d98041010219415503a16d231ff138f58a5bb1cfac3378f7cfd7e726e7fc29e12a4075418d576e4a3803d86b619d736f958603b05a7a331e57e3f52d1a09a5fc932cf1e5067d7028fa6b03029b1888f309d5bf0bd47e18ac31c5d534ac787139689183ca7faeed56716d1803d590b432c9b80f9e385e15818f7339779c6525a542243261677bc976b74b87fc03211fc028f8ec70b1204e594a42a05aaea6ece29733ab063889a8ab297b5a3a67034e633dc939c7d48de023425cf1a0b810e1459902f5e8400a6e414e3e056cbd3403afd668ed5dcdff88dcf908d1b99976aef4aedb3c5a7270166c3ddc7619af63a60335c7d33fde7b95adb3cee0244aaf47afb828026455da6a81e156cf09e0a5851f03fb958640627080ebfd2514d9c0cc977f3c70168a4a305ff20659be2aab2a0c9d033895cc0dc6f746292243385bc025614fa8d0bb408f43bac3d2dcd7ea831bc78b0344706ff25de764c9345639d72b62866ff9e7b5096fb56eaf78424fce68d24bdb03132f0982fcecf14dbd71a6843b148e9df6f8be2174aa589ecc98d71aee6202b403a128c5266727202f58aa82829efb544ed8ff1bfdc1e55eda7fd0dff9e44f556603b7877feebb5e5b768003b31ed711d396c038c915aa5da54e7a4db12dbdab06f40219ffff0355cdc79c14f98f28d14ab5c49aca46d602dab3d29ed232a0f503ead74f602555037f1a675355ced5cc6a3e3f825bf4d9897eaf8e7f21be15c787835a1b3dbb6387031abbdf857200c6d9630b1b81432da6f5b7077d8e5c885f68d6124908faf7fd010372e1fb9b6252ae5162dad9559b0366d5c0d1e5dbddab4a7dd4f49dab12542d7703daae6b5666ed379709124e5bc9d90e2ee844f0538616f8b3bd9956abba9314f10360759f6d5fed46e75628b44cf173ce880332fe5bd0ada0ed3541055505593ae403ec6cae6f8b57f82ceaccf9e6ff065347223ff159004b6661ce98fec73b78dc9d0219ffff033a732cf46a9ffe8c6b206803f15ed629061a17c5d4b3a13ae457541d65824000039607863108ea46c9f4cf3e7f2ffd16627a0148c6a16f5864818fd87e8645849c033f9ee2970739726b17c8ab77037486aad76b9ba5f5553762389a09d62e02c4af03080a3af1799e89a013fbe42675c2679622a5e44a4a123ccd1ba96c7b463103d003ab235ffbc3d8422ea7474c58cd16da77a6a16f2565ad2f9e439dbba5480c644103794860c0a133f945a9df5dd3d9aafdacbb5206ca85ba32de91e228702dd2023d03612698a845ec05999027b3fb87e86341585687d83a77eaf6eba121f874da585603133e667b9b537395366aac2071b34f0b4793c409d8d6a257c0389cf48dea73ff03ec654eb90887720d269153ef00177edb3e1a342e87645dc52a77be326772697603ec1bbf726aa7ec900da9a5b78f0d6c270c151a6a88d63866127d42f5a688ac1403433fab11a039f518350ee2dec1c19f4fd6543cedbfc149f1a05a9010cc61d963031543713dc0985fe6409a425ba82f28583cfc594e3171ae5ac6340f43e6b24d21033411fe1be9fe3adac6df9892af8c05454b084eacb5fae78f37e96bc1aa7b74f00386a2732be4dc6f544061b9505c915e6cf180dcff69522f452380139c0b97236103dfcf27a5635d35f8f5fcfd56b90dcd5eb27cff997fbefeec4e5da0693c29e8e101410003ed608bdb5c296acd32fccddf325247e78092fe494e2df1a5edfdde2c70a41b9803b70a994521ed0d688f0a26e8fa14f3526ae3eda6731fff0d8b2bb987e7d24726035fe97f3b3d03b17981d300ec4619c0a90f97243f44ce1fc414baa0426102f2a3039122f9705cdb897466057d37aee16ae371ff7e4977753cb73ca9284e12e06db600581f03600b0942f2b8b3b621d76204abf98f4b89ef0d74ae4a79d74a63023b3d40410100581f0303371e108a2c07a9efe4a094ef92b1833e61896a1b7f345c2505ee233d90410102191400037baf08a99cbf81380bb630639e5b7b08ae3513c58ec115e8a4a889c4834d32d70370dd5cfc4c33022bdea075498ded85a2a7ca594d3577736db4d61446a3606d6a035d31deda3eb49e517cf79bdb05a1f764f3cd0eda03c012b815c462469cd21f9e03f8694423f5a591dd1d1cfda8dc47df20c1eb9b338571765277ec42304bf3a27c035f2e6f3716ca533269d07533b83887d81123b81a71e3b320c075dd1be3f33d7d032db3937a8efcdd206db6cca626841a43e656109227e1b00d1b14999fdb11f0c8035e12f7da45552f4624b9d301be4d866247335fca457645092860fddec28fe02f0219ffff03725d58950c22e1ee761d78968013f3c13b92a517b5425bdc624e6c6d9a853f4e0319a808fe5b571220bf98ea1e9767ea79bc898cc982755b613adeaf8e24f78dee03f02563d7d0d1adef8511da7a3f9821d20ec074fab0cd44a4e76602ca718250e503929232b032cd4ef8015a45d894f9b1cb954f13c153f0812e4d87be03df7ebddf03f04001067ef4d4fdd37be33b91ff9c46176c099f8799e6a5e6df6bbd448758330334072cd96cbbcdd86900e9c31c5956894430cad3de196d1f2e74763d40b799da0219ffff0374af66d5e9f180181d8c22623375b8672626b9a1cbc79975469671ba5e320cd0037f95a18e4ebf67079ed0fb93ef07f4b0dc81f98beb7e07abcc40505100ba29a800581f03e32cbdde9328d035d23c1cc19680e5acdfd335be09f3b401e690542367a054c6e00d2530795067a9e8549e89471f425c40d1ec00581f0312df40171226ea4c033af9a5f3913966f389588bfc194941ea1964fa8e70410100581f037077f03f752e962baeb0419b394e15544fd0bc73b8db757625e42ee15870541146b980bd6e31ccc2a42140061ad3de833828dc00581f034348a14dff53a7bcacd7bf4c103ee5da239dac5cb8b5b2e8f4634cb6a2a054b65eb820d2c2a74034ce2fcfb473cf19a7c3044a0219920103e36998fa5d01fe577631d605b51ac8794d6dc62788b61f65716dcf1edfe9d25403fe668ce44393e0c791021bdde99fc618c8465f22c1109971f14a9fd94436df5d0374ee41209d1d88efc481df4a53925dcd71990128cd680381ae9c6a549ec432a9034a53f1d13bc84253e7c69fb0f7aab5d223ef51ddf5b43255d499228f8c1e61ce031b625e5349802a9c9282e7e086837d8562328171eedf5cd11b6119fbcae241d703511696588c516ed96578538d538953fb9fbdde2d5463b68ffcfd2de240518cd103af6f8a582602d08df8a7969fe2747ae69054b47c56781feb059c3fe9f0660b130301c9675f370a29b34350834a682a3c4c4481d6fcac8300b837c626dab1e1ef0003d97bee49587d12e342a578644c0235bd48c0fe638b96ca659bad28051a479c3f03323778322d182487aab89d62822bde5037b8a1c07bbf86d4d2c3e9a5f8a6323003469d9adc86cc72ef0cba27da0c5152e8ed53a3171ff5e1539350cf00baece8ed03d36065ac6bca0345ec16227dc298f1c13db79427fb6780c76fa44ce9d138ee4d032a0bc935d5e647584091210f7b444584b48d6c75cf5cb73c0046e61bdc1a470903d7de4b4855bfccddd85acfa40242ffd9958f9fdd9799a2ea0760b962bb4bf6850219dfff035e782e304588abfc58b34aaf0de2b672ac5a9a05c505f13f50ac4eb4d0438ef603a6c50985acb792aea6d58fc7393123252b9ef34ed854370950d9dc773f95229d03d9074e6e6c3e7b4732678c2a664e198536fa5101b55b2d4f901f3882d739931f0338f694942736c54c4332ec0d343b7bdc81a2c8630c480fc03e1f4bcc0c3055860370dba92209d3b0e64c82b5fe7a1bf1e30750f719f382134ceef24f853484e4200334cca12b9a536abd167b8a8f02848ba75926bfbac26332b0784f54f1951cc808031eabb049d24bd5bd3bfd7b1413f2424745fb0a53a97fa5012f4c8e636a58bdef03f9d32a65866feb0b2d6122af7c452499198313778f37d6ded8623f06756f1158034db200e2a2863dcdc25e5e20cd9fa1c34290bf579ede81f7f27ceebde62db45c030e5c14f3082e661a203b1b955948ebb4661816de8513aa6c53eb0cdce6939e4d03449a41a5b609d45c8e24833b29e45bba060549084701337eecfafe38107627fd039ea77807ab8c053ee0f51b732108fd933b3028478c36c8d24d6f21273e0c551e03e2f75e549dc5f105111774dff3f9fb647fd767da2ae601b334e0c75d000c828a03eb43f346cec0f2f1dd6423aec77c325b9148a3f93d20eed7d1e812f7f5558859035468b484fc21d9d3e9f1a5067ce7103a5aa5a68c95f1b08db41121c007792d020219ffff036d71167ab108d61ab5781711051af688b6ed129ce5aab06aca94398dffb1853d032a1884e3aca6f018675fa4fbb1db997119444e0a3bc5dea111f2dd5b4f16a01403eb3e165e8ef868f0673e8138b58ecd72328b0ef8b29618860ee0691ba36ef72d032e92f4440a9f45b70eb2160b297dd8934c423c3dff9a040e6e9e07ec112299f0035cbc0b2aea91e9719daaa5cbb2d4d44e044734d6c37fe2e18a90a2d4a9bcd63203d5090f4ceb7090675e5aef8343ee0c53d1ee7bea0250718ff2d374ad0a2309a803ac93ece7c4d60c17a546778ce90bcef22ca1f5780f6cf95295fb12ad7d2ec9ad03f3c82b7cad61aa37c1312a8d8257d2f22c5df0b88e46aefbd81a32034cd6f212039a3182078c0db1504b109e8299ec45f5c4683615a5c9e3e332dff14ca25ba41f03b7c44989948307dde5895b05c3ed00147b89af110d3beef8331c518a8661533303b5c9f169b7401cfcbae614121fb046e2c825ca00c7ad53f95a3ca27456dcfe1003e000b771a371dc84132ff56ab1a67e0532f4801b94ba0dc342e07b96eedf5be903566960b9e28a382551e27d785d017f15046ad4da3eb24089b3ce6e4ba2f8b5a003c1755b7d84b6cd58d284d7393330649bbd3ad9428c70235c8d458a555cf73a6603d2c459dbd6d962f74657d665683c41a6c138958efe86c060056851fd5f6b86e903ffe744b5d698c251e66e0e99356a068153aca47bba0fc283a787c5055d9047490370ec9d2d9b16df36b571d56e6b5766da66bd9982236a59b163eb4a6dd7a2ede70361b9c12686c85e64d4873562711cafb4dd4482308363ab655f090dcaf54a7b340303e9f7695be669f944771bf75599f0cbc4266d998070281a58f7050ffcfb4c9a0332eb9deb71de5b1b09e85455f0403c0180ffe42ef1a617a5f15b4dae8e3efc440395ba6e8343f93cca696e9824f221620978085790d23f9ccd75b923e1aad4fb2900581f033743266d53d6bcbe1eff6562275aac620a44eed2dc29feeeea83b672a720410100581f033327ea6a8dd72756fffab478c13ffbe8f8bee2a4f6784f9ee335bb2b465054dd5f363b92e7da894a46d0627beac2fa876a837100581f0354cf799156f7209c90ff8c92cfa23b36c61aaeeab8422f6758e7cc4eb73041010219012403bb66dddd03e058b3ffcdd8c2e4b426d7c9a41dd1fdbe81fccb94f8ecba31092e035f9ec0813f99176ad2d6066fe1dc83660ca356e80cbe68c049824555e32d5bf300581f02ddd84784bbbb37d6b2128cbfaa58c88050ca50b72431d33728daba20641654f331b4425dfd3f0517d02e9e2f2ebc42db3f7e6f033da6a14450db6c5579e05ca80de81d8f82730b7da270d2e1133d7bce6451747c030a0efa66de30e55fff24c459c9649a14d9f0bc1521dcaa112edd69d01a0b75420366c47c0249dc4b32dbb73260bdb6e65b943ef04213a15670f79e413dc12f7cc803dddf776063baf9a275d2b66511207a05676584078ce49c34fec6b4195dd4b386039473dfde0883cb9f06a1e127d18bc6ec918f8e540bca80e822e2befd574c65090398a78f5f22f37165e5307e4a1b31354843190123462ee6ec6f5b7014b659130c0219feff03f138f014113710fac66431d2d1068a9ed029aef4f9a9e23448a257542f7783800219ffff0336cb094622f1890987b228b37513cfa03c041c96bd008d99c0a135fcd42413600358c6c25507b34b2206be7b19b522c68f951d4dd4686739bd03276488d951391c039ec296ec3cdb2663e62806ee991e544e203f3bbc82db9344509a8d4db9f68703035c12dfe9afd8a1f3cb24053bd465832759bef87cf1c3cc11f0e414a67de80c8c03b0c571cc658797748e4eaedaea00a94859ca3d44388c380ea152d786227855c90317dd0bd9ab871e7b0418acb66f9a41a0c01fee7abe36836616d8db2d0966812b032e5935cbfd418648a9a829aa4a191e536462f9a8569544ab3ac73cb1eb28cac803a3938b8befdafc1c31ea4c81b74a21668fe81e2b498a186d6cceca5ae7e5c21e03985eb30b67caffd527eff25071073124493a68408185f2fd101f0261eaac006100581f030e367e9ec4a904d53f76f9497ca29c2ebcc93b44beedf3cd6aa0db42e15054db0523c75278ca1310401e0c73b22803af03e2f600581f035c55b0c57536f56e29102cef045e94349dc17f10a8f9d904084e785f7cc054db3202d37bb6a2e4e1315b7a5dbd217246a6666600581f032c2b1920e1638f88ccb2a232c8aedd4f70b320cdd157c1e0950016ddfff0410100581f0359a8d30716b0db4e76c3fc50aafd17f876a36ffdf4b68113578bd6153390410103e607acf321949c4f2d62c583d6b4b65111de2ae35c3dc9b4f98be8669313122c02190c32032e4aaa6389f9447ff0a14ba8dcbacca12bc01998d91ee30b7beaaa86c6d2003d033b2e7bba42528468b74f683a69f4a9b88c40df321e25235bb50ba65e61d2b889039839853c3a7f88cb1a77847aff708d86ada816aa9cfff642d5b6bb2b437368d603031906160895a257f796222ef658bf8b42d073aa0b3f105b699f81db5879ff7303bcffaff8ba5d4b3d384debcbc9828cfd6ea954cc921e1846b882205a0429056e03948256e9021b95b3770cfcba27f81e3902da7a9c536917dfa0bd0fd6ba8bbf8903e5869ef477c66dcfdbda54895d261d552f88649f0f8f725b4262a8b1580747e603d5fa7f4df1af981c036f27d4340c3c5673640cc3343a2ba050e4936d3464f5b403e60e042368f0cb8f86984c5afc6a96973425ba309fd4717b12cc2e477ef55aa5035d652ed6abd533a53d0cf9c6a27df8df20a41b9a450a893d138282352c80c93c0219ffff039c3690cd0001a8e12d7a78c4d2b057130379f40e89c5efeae04cfe632f2dae43038393e6bd6ebdbdbaaa76debddac056310d379d80487057a3b447f2f6a25d123b031bbb743e721ed8f3a7b3df44057df16ca19f8319bbfd1afc7aba3d7dc31bf9f10316f12faaec22c52a7c41ab6c4e74524b0c58b9e480c0a0355f8ab7337943404503adbc6d34028f9fd2b2d59c9620e2d892bd5b366c60b7fa74973e05cb5e9d29d6034ce8edf68a742328b4cebfae6da4a96aad88b25edc4a0ff12aee95e8a2a96b4c03398db9974cecd02e8ba22365205577e9efffc3921530b2ce7c040c1626a6679d03df3bbbcd48a636a97282e9bf5c42de72da7f2b2e5b80fa8ac6c8a656cfc18caa0376e79b3fe40124b05786858e74634863766edc5d9d55eca1268cb8f750689c32031c65e4082e074454a0126a3871b3e2723ee5d949a26dc406443b3aa309cecbab0372834969d56f8bcd987aa267b6a93e761c8286660897a7d3aea2145782e7332f035a77754932330e2b78006c90cbf29486b8ea25dbfb8e30d9e7cbe8be2539ba0e0219ffff03940a23981ca669d28a2372fd82f32d74a00cea2c671b85640265bf3ac1202fa50219ffff034737ad397ebe3495460580c550a48c1f0e731681e709ac2be034a90641520b6b03b8c287ddd43c6d31c97a2c7e1402391e1fc07295f132b0a1dbb2af8e9423ce0203b427ff1870d9a7e84681a63a2704f12c01ecb95b833d4186cac209691642f4b4035d98eef05c78dc74eb2716b16cb72ccde4c709e5d859c24dd36a7a2f166bc697038be0f2ec3e0110e0eed4e3c1e7e965b9df8c0e6b024853f9377a04b630c215100364e91f6ea5321508c31b3425c8ab40bfb6560cc7c4795cef67a0e813f6cabad803dd98da69536c1238511cce393927418fc34e5b8f26ba29469a0439a77c089122031b3f861ee66bdb6277e12fad7932e0593a5a8fadf68bbff6b1eea4d21f8ae2b9032799d263760939425394e4282ec95ad9c926b5eb783d4d12f1db4f4776f1ad5603f2ba608f2f98fcdd2bcced6aa460aee569b8c7ec2c4da63534fbb6f6b8fc8945034e5467958e99c9c6316cdc780983b0201fbe3c52ddb0093a35f0e2f1726c2457037bd640a456a66189eab1356aaa71c223c36124b0aabb72c312301d07f80577e50384b3b004819d397f16501b92f5843d7f712251fe4cba2ca93bb24a14b1ddc834034f992111e59f251f39bf9c8a70dbcdbbd1fcd48b18404b569cc460b80c5d09ab03a6d818dc2cbe7c10c6766aa22685b13ffe0bb82dcb2dc51d5144e6c85b64ecd203dff1039f0dd749a68e387a34629a7ab3904b120fcff0b815fa91a0ee8585ac5000581f03bba8e829d54194cee8c0b368ca90879ce3989f9334d066f6e3d8eba50120540791c660335d99d1b41353234121897508d5022700581f0361177dffacab856a6ee70674dc1bbbccbd4618cff4065d4aac539a9b0e00544e2ffe5304377d2c58a7b3c2bfe4b454ca957ef900581f03d7298d19e3435a623890c0a66af508c8f83ae86759d2ed5cf50b7818fc604101021924040349332532bab8c39d4a0d1b86d1258c662efc798dae841df32f5b400726079dc2039bd3e1384177389c2a597cbd372238a256db0c506973d40b425eca26afc0ca370342cc20a89887630e36268805b0eb01d198b048cfa9ceb13cba28c4e7d1c63eee03416f3f1c0f84057f67004c39f64efeff3abb88e25b0ebe17fcb6ec5ff4f6ba05039d2267dea9757720148b75a882cd5de737fafac2a497d5f754b48bd9f1af3b5e0314d70706393df8f43ec0a17071e3284c5e4d0f37666574ffef10f91db1e9027c00581f027ea4e643c3727325ee5aea1a3f626dee549538f8d43ee4d740750b0ddefd4101035023ab72c899fa70b0c97947b0dd656a9eaf49d641b3766bdb02497a37c04d840307cad9b89b4ca47f3e7591463c4d1f0a6b4b6926098835e164d3fd6423d7bdf0031d3786a53f1648e851bc079a3062fdc3e5b7b1d7d0e580f0d717bb935af6de26034225b0f06d3b8eece39ea5db262390f2857473d75b71ceca13d39caba259d081035efa0b3382dc75731d32db0227fd8c17052dce2e430fc6401f7bcc5d8a13a7e1031cfb57225f03c28f86bcc36e4d44a1e58a3a9d79c10ced7db9a0ba0fa5bc6a3d035ab0585e8a0db794aa123e8b155b5ca2bf487d1bdc72d7d254e7fc825f965a730219ffff0340251c170031e51e5a02194a8ba0b1228861f73d9ae6e0f24931c35629b6b04c0368218ae8ea5cb13fdf37d3c606776fc1e55e60abe6ffe72421a90a7df9b1e8d60219ffff039c06b4a3a9f3fd79065de61f57791c186aa8e5c73d2dd02a8a9b2f50af7784f40338e9eeda1841076a40ebc4be5fbeece20afce5a7b9a9b7a317870cd13918318d0326f680877a53bf0c903e17fcad32e9e7864ebfe4c30a3aa2e45342a18ba811df0356cb47977b6cb9164b55acf0f81ab698b5c7742e3ef85b798002f64c3aa5fd87030c257e216bf8e3e28c26475b29da7d06090454b1d7a904455ff86deef160da7f0397ab43bde5b54b1dde454e0f9eeb130a8c0e568827a13b625dd6f5595fb8920503a37116f6ad3efaf3aafd3ff1490455af27a98800e8e52c2847a8f8c74610b948032b42a09695daf31aa0e0a37b3865763bbeca2fa4ef08172b05cd06f0545fde020332287d7cb835185ef0c7d84790942877ab722b93e2a5d4754f038baf4847b9f403112b4a775dad4b26928715f93f91e45c1cffd698804ec85d7979c4c453a80008030d681473f7f8320937ab7aca892d3e1078ca6cbdc5bc5d41d5fdd2e81c3fb17001410f0306a6a521e8af0831e8ab27b78482eb4c3a356a2da49994e310545bfac932187603bb075427e2afec4e4b9bc068aadb416c23e83d07df779ab2b15a1168b7db095003e2e8f98bfef1f770b2c43ee64c1460d5dc9aac009330fa203ac508bf8ae9c5a603eaf7302975126efb281651cd840c469e515ef5daa73b39b173f1ad129d22832903d95f4d5ebbae77ae0ceaac93f09a4754749d9e91c74ce442cd472f2a608b1d0b03fc6650220aa939f3b4c8ffac296096e50f54286636ea65ed355b1d52106092b303845a653d130130c9695e6b90153e26066e2170bd0a54bc4fb6fb5f1bc8412b3b039e66094a51dd1f252f46a7c1c453f93f2c420dd8fdc61d60d408d0e26ec2574000581f037564476775b6a3d663fa28d3eeb3cfc14daf585951925340bae8d4eb7270546da260b06746b88bed5bb1c8666301787c39fea200581f03b75d60ff39ffee7a80a1bfe216af31b7f1ee2d0283236aff99b2598c3280549f0244e30f48757d9a73f3cf0fff174e57cf73210381cf7b52c969dc576a4e023e4db8261a0461af9156f74238b19d57223fbd958400581f03bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80543419467128a7f9b22e8e9f382178fcec451afc4303016b43e9e2ada46fc96335bff14bb936ef7b3af3792652b838dffed594cf056300581f033c5629aea52c00afd8d295b06cec46d220781caf3060ec580c202785cb50410103b5224d89d5c168953d715a41a9fef1ba2b3817117eb5e5590e0de3d476aa994002194cd103f0faa93e3581c20d152158fbcd2737e9e997e4b7b7acf31a014cc6d7d331798f0347008026865d0c5093024c51c9f6f21c3d439a464d7d6cd776ad6f6bc2d1738703f087a975457901a79bed33ff8ffa92e70acb1eaedc93b83cdf584238b98c87e803e21272d3766ba52f43751f0726e054ace6920d0fd460c054bf47a0aa2bde797903351195e2aee440d44b4750770cf7695a10b34877b09008a2acd0203459c478d20219ffff0397f21b030c9d26c04f0894f037bb11ef438fac302c72f7a6aa1427c99d1a408903377ab045a9eb7cef619b79afaa9fb3f0dbbd3d976087a53855f4080ac9428a9703c3cfd2619e688bd61eef2e38e5a4cdbb9a1633b2628558a034d4ab9edbd8681c032bdbcf3c205c841b7436f751902c7f960a5f3fc048d9f117459286f9581aa83c03282c49d99abb6d6dba78eb643e5250b69f2cc5e895a650c80a2c58ca3457625103fcd3701b5b4e29052d37fb2bc3fbc6b4b4d4d2d05aaf0f82cd444b743e8ac13203687cf0c78728260c84c9b5021a562c3293f1faea97afcfee81751b30b7d8c63503dcd66c7d55d00394ddf41757ef7ee7414b7cbf109c7fe6124bb22fa1e77f4b9203636b0a4aa373da6f91b939c0d6355143fd1d2eb4fed376ad1022ec7d706663bf03e9dd6542eff2735107e533ea59528ab5f46d76e2071585b856e520d388ba5fdc0219ffff03a7e4e32f91b3e493a1d0a3bf4c70b57ee650cb81886c9bf7fd9533bd69c82b5103f3230f642183bd920688701ed8cf89fe8406774799343df5c1896a352eee8fd603f08aaa9fe6d7584ada595b7e16ab6e344d9d25bc56c74cd871c94e9d112c684303a6ec43f6e3dec52ac2778144a241102d58ae32054fd59a488ee5ce2c3b880990038adababa14b53198a5008b9282e5255ec11ac0ee423a5461f089d64ed23fc5610363d83c8bffc2d488172c0ba66663549d30e250c692c834bcd668a8fdd5b5a7ed03cb0621884472ad405522ed04e8c2f53f41c8289d99f444a737f6f1d9a358792f03a431db3e119709810483cbfaefbee543238442b192222d535e1dc3985873ce1403b78247bbf8b1a872ad9a6e1c06daf15c3f62e404090243bdfdb35569597d13670219ffff03ec3634fd6e62b45df6455b526b50928733871172549ee6476f04df9006c0f490031a845864b92998a8a49416a0ce48d07cdc90eb6dc23274dec0c561e83d5b347403a115da1f165d42606e177b4c89b3b5f38a406d02055f93f8f3c28f9c711d763e030c103abb76b382ff54c6fc22a9f49831ca7db005cffcbea913b88f72ebee69a0034984aa392c30649c7d17a6b8c21371f7e6b3349d59a6fa542c1da70f9c77703703fc00b1d79a01ff44bbe9641fad8f47b0d0f43a672ae86fb06ff386c6c5c6bc3f03917ca8ceb1e3773cff0efbef2f28201f8d749aaa41da6237949a50471b27c0990315ef47a0df64ea40e23f1e2f8e534447960861bd01ccc7406ce0c47a360cf0ff039473bf1bc0594cad5ba122898f8a79e8c9e99593f7c217b0fd53517da428addf00581f03463f4f79699bf5ab12aa7ec083aadd009ed25a82054904a409b474e59ed04101039fab2c20891705a09e2a93342bef5bed0eeb9e3639d315c36dedd4e18b4eb95500581f0342eb6d8ed687aa3c4951d00ac6c3dbc6533fd73489406adeb4abe9da37d0410102190218033e74e606344ad8e60d32e289c9df239603324fb3f4c0cb40de0f0089d5aac07d030754316d8fa30fd1b0d5f98c17839daf036d1f8440c254f25eacdb6d1e7871d103a789bd085055376109ecab252c3538fdeb0b7e0c6ad1488a7fa3375c0e0d2d01038be06501325034f07171412429667c046bedf9d73f3f468c4516cb6167a69e6a030a2bb8ff62a0fbddfbfa5bf2c843c2ae338735b9356437aab035edb0a3debe730356a941fa9bad4aa7c3e9b8f6ff9eb1dc1a3b5a89e2b5a51fc8d05c350ba94c94033dfa59d3c78eb339e68ba7d74e90eb47d6ceff539c529f48c130784628a4f35d03cffd667eaac0c79113b91f1abcc39ad1df037083bddd3d127ebabaa7386c2e6503c10c741e3874dbc2c68201fc939d38813223d6b2319f3fccf9609b904f8cf9a1038c4c2ae3441f37263276d763bb5138320c580c839530b9219a3b0a37f2144bf70368e5dd195623edc8f7beb046d4aaeeee97d5f71b04a55315056359b0707998b7038f1c063cd095d12e65281e1f4d8e0559473fe09d7c764b965bddfcc80c142bda0397b3b8fc70c94f32fec50f2c7de012a237a3e0c1be3300de08bed93286f9b7c00219ffff034247b3be47b2571fa710d804315d132cccd966518cbe8e624e4c410deb73a77b0313b4567171e2434dd1a4cfc825817d25b494ddfb56af5f0b06e79b34f7f577c50323048b76692262277e9d3ab6b2f3fc4ac8e98757e48dcea6b70866710d61df73031fc61af05d4b27728dc7bd14009427ad8165d6f0712c1a7201df6a07464ef4a90339f92cf548b8a36eac27ab8c8e6f8b12a757de20ca76254c530c4c0c868849c8032a0e8fc818cf3dbc3c80503cef51d6e25a7e63da990d148344243045789fdb4e03bdcffff303a9a4275b684c868086114e123dfff9d943cdc078e74e53bf2621650388c3452ba94a2d36d4d3e6515397334cccc26458f9d66a9ad15b7cd4add2962c03fbc03b8afbdc8d15527b33400003f2b4f09b55a2e97a127d549824a849078e400322ae06df30944e869badbed64c4f64b6ac92435641636b133af07829c7e37f330219ffff032c9c0305e3c3d66d23253bef034cb53ec832e4b8a0dc7352ad7b2983dc9dfaaf03bf0f79edde05861bdbe9e79e7401220f947d61337a0fd63b4582fdab9a26e29703f948aef76fac853ace9182ef87246f5377c065070593ceb628bd1128c51fc91303ea4fe2d9b5f76cf7a1ed85c0bb05653764e8c895d89b912fde16612097277ca1034f89f0225946efd204430df9024c105bd4191cea9a243ce1bd8d5e5e61d58551035b31503c8345df11c3bdce536c2aa7bfdaee047804552f40cfe3256e4bca28a8038cb16137444f87e7d3b4642da751946d8d4f3bc32ac22f1bc9d0171079374c00032f0ea9435c4559175c4aa4dac0bedccd187eea02c35cb154efa6c8dcc7d5a3d3031e559d98c34002fc1c79186f92c7a045b9039d5a4badc50cd2f85a4cf93a1dee03ae84ea4f005873b5cfbebf41ba0241444188e2b9734f772bdb9a8cb30ec7385403e9a1cdc60ef08767f62c0f416cd613f5689135e4965e51128acf6358421d121503b11fb8cf803bdc61a0d91466e79eecc746a474d0a0887ac3a6d21b6eb15ef6e103512219942f128fa2823ea0ad651093b4e80ae1df8e9df87919139e8cb866dc9d038b7b8ee749e4fab00ae153702fe017c9fce09124dab9248e7e1d24ca521f78a60318889b7de2d5b4496ea93f92697369f520f1697f56314b789200e9e5aa928e3a03baa0ed31ea492ca44a6caf2b470fa26a2060bf0ff20265e776f0f8d9a03de00503353efe9e766c740d8aa81230d8685b09a62f1d3c920c4993b6705a306dc707d803ec18f9f9e3ca9cbbe4fdd3f24a865b27e7a4fddd5f9bdc4597b92147aa1a82f600581f02b5d38bcdbe61d2e2827abda065212c6696567494772db8b717e5f15ed24154e0a472ba87ac2ef6f5d8f5edb95e4f813199f06003067a687d5faade9370ff62a2e53222016a7cf5e8b31eb0045fa40f0722bd7ec700581f02176b00144824079027bf8ed2139037266e8c183a39fbc98a9ad36c9dd9be5471797df113452bc8b2a3124a58a70d5e22b2ff4a00581f032b94c800e981d2503256351e696633be985feb833fae9497e9f60354b510410100581f03c4703ab6c1d2a5a0510bf0078a179b1c5ad414cdc332fd0899c8700fa8f054e54770ff7cbca928521e8214dd43395a80e5f63703e5b0e30519d17e00e70615211c617274956ff1bcb49377316e3c090300be533c0219440103f8fe00fd9523bc32b1e832d0c30136451d3ea22c4fce0e8cb2f12cb26fff7bc503ec2b77aa8f8b0581370da361aec619b575fe0b2b566cee713bba9b9e8ec4868e00581f0234194d0037a95da997226f3377865740274da2988d41fb0d7aed926024ec4101034c0521cfba2791be624c574431eb6736f3274043879f39ceade4c735b9b4579003a3174ad029400e455adf886bb30b1f9bcdec9f52608e71e5d6f4e6965261f69d0392621927ed23cd844dd5cb93140336f59f8f4b5b72a9fca9de50e05a9ef114bd03380c2a23995b7f03ddbe57766f0f87b0a0ed24fa57a0fb7b541648bea33ee479030c0b9c3960879895080407b561bd5b9a1b3b2435b2b1d1c5b5529f4748f6f85e0300d47878177fcd0f2deede74147faa3d96e19e7663e57624a7c83aabf0e1d76b0219ffff03a743128eb6057f7ad1b06a9df4a653ef9c720472793f2bd98c32cb058f5712cb03743fe05acce4fa62da4a9b4db7146603d1ac65b3115d89d125d9dc8a7a6c5b8f032e43f81c594d31740133185e355dbd28b53136b5b2195069cbdf5ee694dde71203fee5f48159ca00ba79ac3148dd144a99a1f762d22a46587b26726a50b83812e50219ffff03f3448bfa007d468986983056dda74752b1d78e04163f8746840f4a17cfe5c18c03d26c7188bc7deacc91002d23de4ac54dfcc25e818da2f935a02752cbe7f1ddf603ebf0c7f3750bde364548c7487ee340422385c3f232167bdd6b30f6c8d58e790c030def0946304f398f15981af4b7c31b632b0a6e13c5c356e8fc176939fed2b9d303f6c1c8f210b9a06c9cbb04508e43e0291d34c893b19ecde367c3a4dbae3b111e03420bfc956c29ffeec34f6b67993dd2aa0e746780f0f0fe4fa13a6169e289b39203dd4ce63d40103c6d24e9cfcccd20ded0bb0d3a90d5386d5808f1db049d643e050329fb01c7766fdd77296c4e5bbc62c95fb21c64f64b537a7216e9de340671d59f03b1cebb6c91853fba8ad6928396cc907764a0ff223099025409c77e171cf5d1170387112af9dce4a461698566abb2503c46da8b030d6b2dfdea88abe561fd5fadf303b0a24b0c4d9a68d74bf9b0b67e32e4c40d538f0237dde1234246eeda18663029031c55fe5df6a43c40ef5ce663b351203c681e5bddaeb4a50c6949e944a25f345f030862a260eec1500bc32b6cf2db66c0156681bc13cb18b25553e60cf600f1ff820324d3924f93c495c16732bddab08f62015fe3aaa56456c18352ee68fe4965204003ce68324d20cc16ed1216a99306945a9e66d595a1574dce74ac23f1fa25d10ed603cebbb97ddae767545464e77b3a5ce4126a6de9981dfc2b90324c73f8805aaf5203520431a052b4fe165c86102b34e25129d6ea3f52e5535a6abd4e2cf0b0f6a34503cbe4fd6d2540007666fafbd860961e2335ce8a004ff382b023deb9c4cc36c7dc0333c77b2e5034774d5592aae70bffe8291e465b079c0f16a402c1a061632821a1037ece01859ff53b666293e208b72aa0ff5bbbc9551ff6780c8f97e41dbaa3727c00581f0366278b3bc31fdf651285ec378712e9e2da3d9929b2d0507166bf98dcf0a0540c9f37c096f438eec6f9d5da9b63ba41e6d7e1ef00581f03a700cda54c820dcfe24b6b6f5f96926f6111831c10b593963434059c5790547f9beb593a3695994a1ae7fa4d6d8e9ba673b25700581f033dfb8f474eaa038af06fceae64b7fbc425ce77b454ddcfc897998a087f10410100581f03b50e5ec99d1dbc300146871b13cda8a5a52b4f40b0351104feb1564708a054ff06c9c2aafded1ab230eee650a6c1d6e0b306110219205103fe57c496802b15341c372ce1d8b7b1d5e5fd94450fdaaf3329955511a8e4acd203a55cdcb97ca6f1580da52cdcbd8d1ab6803390a3828a493d6d4398e20877e6d30305d8dc67fb4791ddb90bc6ba0d543d95c54ea6283b795dbf3a7526e8d63ad0720219bfff03974f6c24499a20331906b894c10dde2398a0c07ed1b8d00a6c1c75e4723bed23031516c3f1b8ae31a072a98fa14f5183e7f35a4584344c561d5878dfcaf7f6063d03482d49c68ca3183e8998b72eaefb88fe3feb920a66516f5587aecc492ec3dc70031e5bb7531f52b5db35fd7a5257ece6d7be0b540fe8e7f5a5caaf0c19c27b0b4e0323d5ca841d00d853f557f884d0396996c1a116b8e09eeea97487773949ac461e034b64e40f987a16b8eb0095e66c360cb2135372b6836d4e96f3ea21d0a0404aac035140575b7bff2098bc5ef6ee3df411977f535403af43010f9e8317dff98dc9940219ffff037211e69e657c8e9cf9a0b8576e5b9fc7af40204ebcbbfb27c207e53711b24453037903739b0ba8e4f29ad53a9049d06fe772c972d750ed35bb7a826eb55cd5c37203ccb3495a4f91ccbdee5c201e3ea0b925c63dbeae98db07c6753204df5480f26603ed2192942984e6536868daf65457934650f7e256c0c3e7eb9350d4ae0b5b7bd80381bacf32513157112082888b9a6e29dd6ede2d5dbb3be2f8b3f78f07ae73785b0387c57385288a487f9cb9390a1af8f91b10bd812bc7bd5ad84a82d6bf8331892f0369ca17a0732736d053010434f77aa5d2f6c7791de579c0c033ee02a4b0298bef03714325d90bcd66fbde2fe55ee71f0f1910630abe07985e966939a5717e38d31803d56e6a500ec57a13f3ad023cd1fc88c07856d1c015d458bc39d6c3337a0e63290314f316a6561e3fe895b8daee3b566a58d9c36f81a3bd2e088a507895678ea0df037679ce1009d785ca1968638a57f03e817c9e5f31d431dc1929d933f308d44d1f03ab49f50c7e8f8c7dcbf03e1b024c3f0c1c41a55937ba2179c4f67fab39f924fc03955ec47b984d4d9d6ce74904f6f9c19971c7c89992334b6161758adb11c7dc9703b0d15506b23d16c15ef7503e1d8a4e4bcd4da45ea6881dce9c7428fc2e695f9003908a9078a9d276b6a6be0f1bdcf8623ccfc023032be21fee28dfbc5980629de600581f03054b60cc822106fd60eee1a3f0e412bb1de3b8dd57dca68e71e4af5a6a6054ba1e8e21271f9db933fa39a67bdb6869106fa57200581f03b157af2186910bff35537b712c49f12027c080ed02c9c8814d2a56816800410100581f03e3f36e58482c8d78958f94298d16c2d062695fdebbf77c4ecd5d6fdbbd90547b9e68e3e596fbe9c076830107dbeb896659dec700581f03f59144c5e774cd575586ed2b5d2548a19190031e3afca6c357310ee747f041010219504403bafb99069ba78bb14f42d6351789900752711fb050d8c2320fac7467665603200341840acbf45a1fefa3e94ee5b91ef4031c880781f833395f8c1e612314704b1c03649dd4334cda9d61487877b72f9c672382084de959aeb6b8728a019651907e6b03f7c3befd609f2cee574d3a2cce51fd597ee41bfb81d0a4910f6bcd5e22aafd8703b82b3bd32a1003ef43b4c5794a4f3a58252d48c3f5c4b22331d7df6486833e5e03d965bb69799ce37549878d7917395f452cf188dc9456b78bf2c3e82b38f949f303c9bee882316bf000b6bb158150b68a615ab2d6e58e2b7ff9af0b2240d4d2b8f403f78849b71e07b7a0dcd6b2289c4cd7a758e5138226b36fdb9a53cbe0bbb53fb7034f06d3a7f53ef3ed6e5134f26dc2d7b427a45a113b220b382b5995829fde820c0302a6e00f67cb358dfa306dc322ccc8a1f78ab294d28ae1c6245e21d34c57fd58038c17eb1642ed90f2d53f514c40483732474fba7f2486ef6c7d285e7f3dde04a603aba7cd50bed4b2e4c13d027c5c6a24809f41fa5e273cc3bb56243ea8dae602f30219ffff03aed6fc97009ccdca4e55037865668d994131984f567da8e3f45ce883133261d50370bf3bbdb5b5c01927000fb180c88c166c8e2373d39612a1bf91ed81792a2628035f4c9dcb9b79d8a49ec9681091400b4a256e04f2769b03cb8c8919a8e2de987d035f6c606e9aaaee9fa589c3c8e46c2333a54836f1fb0b1778108b29ed3c1dbceb03f83024e6759fcbe919a03d6f826852d160d0b6504d99eeabd3a3466df54d65720219ffff038a4483944520bf61a49d17f2e20a4f28e3166b0ac033c5a5dbfa0b0a50ad517f0322fc4d6b4055b6ccd46fa725c8febe026c0080876ecc4c24c16b7c814a7e58e603b734d571daae3d69e43b809e548fae51577695e955c83b71deff4ca0d65e96180219ffff038dc0af7d489382ab59378c2017427947e5a354853f798604ffa85dc919cb939d03c820ded4c4bb7a4b6c16656fff4d071d1299b3e8174a4496abc56f8807d3ff050333f23e8b7efb9e05897b5047845adfe33ec32ea6b33e1af0e4356559e03085cf0372caebeb21dee1f1fdd34f89eadd4c7ec52ead5dab60a14730d0cdfbc4d6d0b803271a172ea3d06a8bcb5d99604019f5bd3a0deaa4082e9087c45c8a007353d3eb03a520b8960440c5d8755e002e77a650adbc0c68d08f4a2a2b972f708d38dd4893036d3c8319d581192a67d03633928c7c356cea32aa71ba28d05931440062783a21039333b33c923f5bb69e1a6ce4462e2530dfc8e739e6bb5957bcfe77d1404d435703445f92fa20cf4b9a8781872b080d880df8bc63ca9dd167210fa6c14163433a0d030b70ee348431d3ad5c3f8ccacb72da235d1b51ba690fae059293a7bb5532ce9303c9e7e1b82a7d5304c8f2bf2a47484b343890215379281a937c393e5395d80b7a00581f02805c87d7ecc88f7b00470fa5cad4af9b3211b0f12c4c2b3a896bd2cf46ef4101036f7bfc7d819339a50de6e241f523a4ef16763dfd605c7e3d86c3d658a708ef0c03f97686d8a8430552e6ec8e3f72717f59a76f2b956a8579fb769bcaa2179f0a110341a28b39f917f4d1bc80fcd536453e3ebae4a33f51ccb27f6a6b25bc5d6f22b303e501d2ba389951c85c10e255ae7722116b27b7cc656b68ae223b6f00aef05887032c71c24f6de0f84732fbd80639ab8947ae146196aec17ab4f78a09717150e0fd034706e4538a4bebf95132f6e0851ea2a25ff70ff73fa615364a243eddf525d161035dbf70e9f96fe19b0434708f05f8567a90ade35628a647b73dedb9492e96b5dd03cd8dd034714dd18b4a0c38317a8b0d3950a82e0d1ef98a750d030672907fad460388058036da756fd9976c66a3854dbcee3bebf88854719197085bb5529c5b684700581f031352039b463bd7fddf4962fe7807256406dd051d54615822d72f2beadb30410100581f0383698e891b850d2dca9c0f2c27c1a78f8854a722f6270013cb2285b67090549a2865f43186d4a08c56e81a376526b88c92aede00581f03aefb97077c8f510ada23a4f31358d7c2552966b04dede9e9370874fc6330410102190114034b9fc350f4581237ae45998b24fdc212d20ee5bbfb14e87b653ed349f9482b2d0219ffff037c5d3553d9bc36564db7d7ef19858ab229da8cfe22670d0572e8bc06dedeec4303d94733ede067b7683527b5ecd6446152a7838b78abd121f6ef81668672fd60a903c582a9e5ec72677ece8e2e444105d6e294b6ec0ce703e489e58087ae602e55e403c5b3b280ce86bcbc78baf6e517c9e64bd14167b87baf4cd074840e3d1fa017e003015684cf1121aab8b54c3c553ba77a2cbb14456b0e01be563c13f081fe09ae1f03d9fa9e661ca6f6863016d4addb1de906183f1733309b2c99115706b49d4dee05035db8c1711906c462373dead3a0f4a11cbdaffaf1d2591257d0a4a3d45a558b5003e927137d36039006ff5ee595ede7382e22df719a5372a59186fcc3dbe8dd0fec03e41321aced5943cab4ccd48adf7b0091eafdb22826ae0a672d65708c75e76a9a03b0d4ca8813ebbd22e58ee70cefe52029bafefc5f9ed00f7ae4f102c914293832032d6593ee92dd996ac398bea9337fa6d0737d03c6af3cf029a995dd8f1e963e3303bb0343d9258ebb47efc7185c4d866b0940faa161516c95a45763c9ab32f24d9d0219ffff03dd1f7ba97710e655ebc17dae0f8216e9950b5bbd27588d113699ede39cdeea5203433d988a237679e0e1cf9c9ef42677d512b42b968d9e34f3043529a4d3ede561037e7182435f6bb761c1ca00dc087d09c4082a85fd25193e7d8ccb1bace0686b7b037434e553f4f54fe00e6c979e6d58a2ccd1dfed38a84acf619f6797d2b23c3f34032cdb6e841a0b45ec6af3c1393c034ba2f6a94070f96956d69e3fca69184d016f03887fb6d490a9855e7cf658cde1c18314cd9e0275c0ca43e00ef26e6d2c8b3c70036fb934b744c0e38c0e1afa115f38257fe9cf813ea502a1c185f87d5d2311f97403163e155db8db89bd40106e6dd7594af3f368a604bf15974c3abbd811c4c1c9a503821bd80d842477a4a72e1517275f7f3f41ffe82f3c746a3436e56da4685fb5c7036f6dfa963a8520cc87bb52453de8a3fd1deba5712dc7c70206a2a5e48de296cb03213fea6f1a5948e0384d149c46fc1a83f1c30e0770391363f1aae39f900b5a6603ae85e5bfb02580992d218227c5852b78887fd5fa3d48a20a8e3dad11e3de983603a7f560eda298c1d5660f4e384234f1acf6cd0786adcd40b11a6def59a714b56a039f53ab218d2a2e3fa81bb6d0864fd345167276687f271aa57f00bc072629443103921cb4d88d0f317eff65653189ad17f4cc649f7c71155d917021bdf53b98319503a6e2d1324da69ae64b62a08891719107badc389f660adbfe2df2ff1cf283984f03281998c080a623a35025fabc862419accd4855bf19814bcc10aa9f14898b8eab03cddfacfb98eef9fcd068d8735e9a90e4308fa78ae2a1e7584c96d3d3522f6d5600581f03fcb05f8b6a3074fe931084fe9b702189df8559e2d7c024c6e8373c56b2505494f5c723d07c9cfa9a6d3eff127c530147205c9f00581f03008a9289d742516042be4ecb3c1034ed6bad81aaba75a2746e5ce361e0a0548c6279fe7f47b8bc2a9f85b95bf370f888444d6400581f03a006aee9c3a20cfc5787d456c8533345371a1fe8f148204578818caa66e041010219882803fc0d2c0c8157809d8b0191dc4c81ab4d24567c5734118e8aa7da8073941b04f300581f02b532ac785735a8cef3ae7fe60941f57aad96fd9b0901137d70ef1b2203c2410103953e247b9b4c3f301b7ad3015cb18cbe2d9d534372577a61ace9a04ce25381cd03be714695e0935b3fa034dbdfce5ec3d84b64a1e4cfcb8c398801296ad70e5fc7035d3cfd7349443419fa62ab7e35870ee69a5c6b05548c3cde8ebb25994629da8c035ed3333e71e9d99f8c8656c55d24260b159794cde6b73ac8a3897761167d8149032244f51be23a8ad07dc7b65724463c96a1bd8b8db67413647ecc2a5abfd6c3570219ffff03cc5b676022f9d95c950297ea3e8a340363d6bbfaba02739af755f6a53bd20f2203ccf83ab5f3b4e803f0ba9bc8400b9b54521baf082074a46a08dafe0ac5bc20c003db87413344ffa8cd6084be68ae4a66f34fc5f20ff09061d3865e2afb14ad427e03c93a638bc27b10f5d556ebc748bd31af05fa115ee49aa38b9bcc4835a780f94700581f03a3a5d10b1dc4284b6751d1e6574a7f3c61c17a23df5b41ce0d579b16cde041010384cb9f1a49c6828ab35fbf53582c02114dfc15887c78db18a427cd0ed80f7b9500581f038ef5e8ee1aa7263a6762a331d42716a7cd0a8ac124fa99a9c5a31e1393c054c9e9e7173b372dc00afa5262ba8e58d2dc8609c000581f03481a411b0fb78b03087dedd766b68d158237bc33434ebc2ed8c90fddfe10410103b69c7034f261889b137224fa91bb8c22ebcc6cab00d17164647fe237aae8895a0219111a03ae6deeb49da1639ffc78eca59794b005aec84857896787c88d57dea012a4e5b7035666c22679495b32887eace39a11c133575401cb30635875404d9d1b99fce7e703f56607c8e91e323b7d63e76783f05916e0c45c125c01027713340cabeedea06a03315876151b07286b4ecfd42ffed024ad34f2643b346f1b2a93f322332880e01900581f028ecbc36d97911f07ac676fbbb0d28540c5f6714f69858821f7568a9684225466925187016f91c2b68f9c6cf11df864c978cf2b03dc23c5e0811d9de1e452d343086bed0e5f526a3f01735697da6f19566a0fab33014105037862e1c8f4c519f7285a2eb5a3f0e14a06abd9efca89d6cc6e0fca9b851c2165036e07b862a2988b98b56db6eb45bc25b4d9682b848137e0e34c338a81b2482a8c00581f02c1360bc1599203c8d412781ed97c0995e7ae7a2b51182d7e5df66a1e823d410103d04ed1dd36f4acd3d443f3e09327e40da1d130ad8ca4273d70045bddf00df4180366d999b22089b5bdc0a140ba144620a6700c7feab75128c20e9fe3b58931cbc0036a101ba5ee210e94498440c9f71190a88c8f32a16dcb2a11160c6a78da8fae200219ffff0384fdd1aa3cc575ead39e7a0b9251a7718fd4f8e6c4b79536a145324cabd3425c0345f42f0471b8a7a3476ddcaee1701015d97bcc6e0baa25b970e69a4a7f34db54033f2cf3afb20605b0fc0ade370cc3ddb478349510b890a49c8e5c6034a971321f030c1a8c30caca11c61e12548fe0afb6abcba0d3cc65de0745ba4cf31688e73c5403980fdea8e68c4dcfbf384f79a3e3a8e34d1a289644065e94df54f6343bae175b0219ffff03008dc1718d866f9194ad7b25b60131746ba440f7efe6af674c10c5521d66976403123c7c93b67471647c8331e608be08a055dbfe876e9cb3b3708a230d2e4641b5031ef93f5f973f72cc6011545f8d24c2535a19bc806e4514cdea05b1aeba745e070376173fbf2967c1d64a1c86f0a4ddedf691665ed29be0845abcca466fa53e893f03351f920d91805c6ee29992fe4bbb6b61e821dcd77fcfd7df29425f27a9b9c0bc03e796eb874d62f4723f76dcd6ee474eb2fd0a8de3c8d16276a9b59bd8989ed9ea035083d9495bfcbd13d217d96a53a1dca8f4a1089134a622926ec2188483f783b8033508101f256e5c881410e6de11cf32353c0c118f0d6bb1b0e0b936b0ce4171bc03c23e44e343f3cb996d65535983b436107e0df8dce0ddc07ad3eff59b3b7421110219ffff0320996d7f7b0d44dd2ac32f8f0b35b58401ff0eeadc3d2066e02b36367f9a9110032f3ba1701422262913d2e8c062a90a9e3367d9a9fdf1e07b83552534348df8af03999b92118048f8b458c223f315682b60a0dbb2ce71e1eb6d222fbe42f47c75d10308790b0401ce0b36242c0b9642760ab399d564fef4cd5092c35538c33533aaa0030582e626ec2f244ee4c02c05c4b29322c9d7e339109fc7aec0255fe51a8a233903b71c34bfc3bad188eda611ead413b4a77d2b5ca006e23858d0f9a6d8c18a5ac1037b58bd374aee0d28fb73cd96697e797d98b647d54777ee7939f6bc86a9760b3603d72bf9d4d85234bbab9463cafa93f146964bd4354f503450cd2ea5ccd55e1255038cbca4ea13893f00ba122bbbc54ec655da5f7f3683219cc393d9feb57d35e4e8033638eaf83b96f821a48b835a402aa0ad603c0a259036f419c622e1a0272f63e303053a1e8dcd1e8011bfa13ea16f1990d5786dd474972f43150ec4498bf78da62503684fb8f426778f9f616896981e4c8c7834c87da1478b554f2bbda2576145a08003ee58121758064eed0867653ba6ba88fce7836530fab123f99c1f9c7492825730037022b75e356bcbd2c5eb60ba7d64f5c9660b4074f2c216fae370115eccf55b080339b6912b80c1cfe7afb0bc3f02517663421f197166987ad43378a08b35efffd70392886a666dae8396323a481bbf382a17d19b94a8f5d5e2097621c50683b414f503416cdfb9b397c1933f2426c34d2fced77ba1ab85c1431aa3620ded6b2eb98827039b07e43166948aaceec4d77d9dc76bd69b7bd620e1ad409ce625d8e2569a2902037624feb2b195847fb88bd94dc227ca32eb418c1933c8f9aef8632c76f993f2650348e90758227b260ddfa27577f79e2b60987aed49c98e68dfa635db7e249f17a000581f0324d8f4ac18e9fd49b4bbeca196e5fb80c73a84a1b8bba4974ffa1a4368005421d5f65e9f4502293a72cbaf151d4b604a314a200378a2adc9bcdacb51d88f270387fcf141fa290fe3df8960f2f013e63073d3e69d03d685b6cd1dea23fdf92bb0a4c53d4ea1ff8b8a455661b64001d64e2595289e8800581f03450d8a3363be8374c7b2a5b5fd659933cd2f840f1a0008c067cf68a7491054411ed98db6dbce61a82fa25dcc9bb52f15a5b03700581f034245b591c6bb6c379c344ddddc596bf46347132f0ec44c4bf1792b7b6c605484a22034628daba836ee29badb3a6f406190b31300581f030ca9a646d985db1390c02942eb80309e97e0d3a541cf48e8d39f9a27c72054d30e6da24c013419a602e829105eab62d439b22502193891038555a8ebd0abfde40d1ad11ba4033a40a69f2d77bc95bb9058621fa1b2b52af1030dc1a19f7188ca17b6fcd555508b742194d2afd4cd74aead555e07578d0c65a5031a5330a6c89b514d04db5dd534a77ef34d3049f0cb1a41a03948c8bfa2392166034c9dd64b945b005e4b6bf75a9b8e66b5032cc6b3f812281520f445bcd54b522d037b344efda5694a636b8ca01be7c015f5df4ee8a4c1e05bed9d9d2fff03727dd4032afaa16ead2ba75fee86e4e572f26299e23a28bc48c182ec4f478056bc0384990364403fc3b800afbd90dcec50bf9aac25078a9b01d45ca9d941e28266d966ae6a03d87593d82f918c1e549ed2d633eaa5a580b365c0baed57f52eedc8664f7db7060219ffff03a66d4995b1117d700823e1fdada92700f743ef2aae7ad2b7aa4665860e44ac5d03229ea1e7542f08f3f55edc17216a88fb4cbd8f85885bce5c595358193b05d00a03798b082df8aa8d54c96a4f06a8c1526591bbd565889a6b83a14ff93f5dc7f79c03dbd4cf6b296aa21a548ab0de5d9bcfc969e13eab1a83944ee3874f630500e1ff03fb354540e6349db5078146fdf40e07d6b624de7a7e84a165f63cd6cf2ecfa1ed03323bafce4801c22299b0f9b5a1c213e44efc936d0433e4cf4c215839ac10de110392c029dfbe0b4db0cf5bfcbda9246b590b5a6f175d0e717e74a3fe2fb822f7ea0323795c96cca0a5efdb7eb56ab02d63528246871a35b14a6ef93e2715918fffc203682bc6879e44a0983d36769a4cf1b324d40c7c159f3cf4447550a7a74d0c413403d9920d7c34ca20d88919d3f9a981c219ad9baf8a56f4c73ed519bb067249a5e2036ece67515d2d7b3cd1a18a64b7987a0033701e750a707340407b5a4b03bc56e8038431f6a3de6d3fb764c49bbc43ca632276345ba086e049e966d96dbee26855be03297dd4164f50ee7cb051d5ff8e88ff93662aa1bc40cb109817b2e1741fc953720219ffff033dbaa7baa88438f2f8e230fa608e4b8a90b66446c8b4d3e0ea92f4919d24f31c0350cd48a3aa8b5e73a2a3209e149c3f5291a93962faf5470dd4593969bac1567c0304d314e4644cffdbcd27851cc8dc3e85549910a6716f4583dda3f51e74d9884403a26e8be1fe357bd92433d4db894862a4d1fcb922e6335e710de286c61a1553f103dd5a39ee8718f020dd6a2c7cdea01df9012e2649fad476232a23c5672097589a0336af442748222c26ef5ddc96d368dc07a966b9f5b927d6ba30f7741c51296eb2036d261b3d1afa5c6380a537500cb7c1256efc338099b4a92f839181adca1b740503247d01fa1f9e5a803327175755658c3e2a9b47c07ee281de8483ae56dfb17baa033b5a88f3f923dc5a3ce6eda47a6edddb5732c7895d52c4669f381aeeeb6330da00581f023723e917b5988159d6f9d134905cc451f2776816e647c973318e70b4601f542d1493b447588bcefed59a578b7b30b9f4575e1f0323d47d159eed11fa371c25614914dae9126a4d4741aebf55f86147abd9f4321b03dae3a027b1c860ecbb3a4d45e76068e91c312aeb50ed7a721aa381dc3047963500581f0352069cf0659f135d687720bda04edc30b7785d2d66d5fbf29efc9bed57d054d6922d79546385ba261d28fd1482c632fe7f3eb900581f03553710e2684f8eae74b152b380b5a894a6a11efce29dcc6c40ad94cca0d041010219104003c240cd4944239ea3a1b55959b56373ab871f32b0e6ec00efe5ce311d5f590c19030d02cd958f3aa922d1f254ede860be9780be10c31d5bb1903637d3d9173311f9036f788155382c2d88dd4449c91dac55d1ed0e23cc0fc2510f7b0880eac33a99ec0334a7acf13f8f88ad734ed757b02cc41e3d1d44d6d93228ad55483b28be39493b0389d645f9f800d06e5a29729651107e348f2de88b27b3f034bca8c6c4871c34fe031b5d64ea0b917d765dd37a622479ad68541c3c741575708b24444fbe78ef4fe101410a037bf56e515ddf9bd7c5bbeb28729df5461e81b390a372766c8a00050f54c6de3703fba0b2e3bc33ca7947d3b45d9bfc9627fdaf5e94e71098c981051104a205cf5c03799b15648c14d868f4eb0ac1434c2e27d800608a7c414d0139ef01cdd3efaee0036ba82bf3f8c23cc9b30740f683ea6689ab84cdbb007c5695a8c2ad185d54661e030c89534dd586ad075a72587710b7a0c99d8b97dd00373b137211495d1878251803a6e9aba78b4218ef2c4921e49f8d530f7d194dd2b6de8f7bc2b480bb0b28f0770219ffff037f63ab4cc78d91695ea75903fa7794507405ad9df6882a82b549bf81cade795003d20c24b43eeb55efbfcfee20cd8b18c59ef49c0717556ae21eac86ad833ed0c203c47d216a856650fd76d101ef0b4031c2f7f670d0f24085a2406705491e903a2d038281ac081c9844eda1f8d029b8ae76d79f238f5aeea2ce517037626a354bcc9203c52911f48966c98e7eb1629ed7154b011becdd7b1b50cc226c93e656ea5921f403beaf5617a176b668d9f32c834bf3058d82fdc2adcdec9f5420d15ee2ba78b59d0219ffff03bc92f99f1f25908a1ddacbb37ea8840559226d84ebbb9e5e864a2046a26370e3030872c1cbfa9352ea22339d24574730ad6a4f71266795845180c436589e08a2f60337c9a368bf4ddb62670152a25d04d8fd4700a0238988ff969949771440cf704c0219ffff0219ffff05581d02e05c272a5bd17436f50bf8bdea4380c15de88e90d80ac20865b5e05d07011935430219080402199c5403e18adca384e54ffcbbb51477e2fdd45b1df3034e8eb35f8a140e73f9f75478ef033a901f4a32c3a0b48a34bf77523ba3b6f5cd216bce955222eedaae850b33e9a103102a2ff80b133d880a22bd057f8950424042739d8693004bacaf6dda3fb8b7c003d407113c0be91b1d38f156b3f5431f7c963da2d717f6a0b48f144300cd3c5914031b404bdb425ed330f6a6456358cad21068c3c20831571356fcd62e98fbe86bf30219ffff0368e6ed0c83d9885754ba02faf5777247825642b43d9218083bfeec1d8518508b032cedbcded6e279d96f16011aa6a102bc26ba93452922ab90f06ffa3b458f9c2a03d7d6c6c1d5803b48a894dd6778b1825aa4c6bebf1d702e1dd4c0af59dde5d8f0030a9c317450188913064c1cf4e8b483c65447aeff63f96da5ac92857cb01f4709030541c76e1bdf1bf67e5093541b9797a728971cb5b9d5372a20fa1a88230d28a303965c45d1d06528a0a8197925033082277be0add3f4ef9355d58373d83098558e034d91ce51cec7b4a6f319f4bcfec541bc8571f78a35d0dd1bd55f3f0cc6eb7f4603fee1aef7bb0b0965bd0f2fd07ebb0e656befc2b31c0f31003eaf140c8ffd444f032fdb679ac857a97e23784b214c9d8473075e9e6ffba584d8c1d80dc5bffe898903d828260c72dc648827617004d7f4564f1ca74bec9405bda1af0c6ff4ccb28f8a0219ffff033a1eb3f0f04dd0007d90a7ed8686af71b602e575399447900f927fda48f438f903443b017e730efeb9a07756fb95c3ed779a7afefa795d7ee2cafe10e24b2317270219ffff038398e5abbc8ca7b5418da563b2b4a1a308553143862ed79803463b2fc1f71caf03662f9bd549628f5de6d8a43f79e845802d53b1f0482b3ef3c47347efcd8c872b038632722dd09d418bca0b1ac6b88ac01db647985fd319b036d0a378aa1635a6de03e154347d8b2ec9399e610d4fa0b4194b5222733dec93268cc50372992f643a6b03cd0a82fdd7f56cebe9f67defe7eb4846e425f3bc2b521184b11eeb0e40efdb9703918e89d8f3645c44afa97a88898680c8f6c67baae51eb20e9fbd48e1ac0db8400381526bcfe7bf6df3d110c5a693de26f0d733705ceda03b252348daa31bd41e3b0399dc94d3f30017ab506e34354c91220b544a719dd8d4e0cdc549c5a1bd19f641034cc7c881ee2f59e6fa96202d5b247d98cd3723f2788039350f82f4eeb212bf270357a777987139f419ddb8c5cf9ed7ee5684abf9ed046b67b9e91273eb79e1618403193633c7b371034fa06e22f8936bcef0e380b90ec13fb35270e0672b773997f003e28832c3116acfae1e9156f17081a814937b612fdffd661e759b7a8e51115d43037a1400fc75a309f33205b328456af577d3a9c4743247a47826cbbb560b7ce3aa031cdbd95c1a1279d4a18048cb1d938659448dc3640d1c7be89b122ac702b735c303dfd852d7c4a4f23508ee9a44b5c16f61b5bb4d2b4fe110458f17d3f672dd58ef03a609e4a9d8827b03b6621c0d02dbf71cf64bc13011da40e20de1523973fb9ccd03eb36eb4d4a62b66dfa2e80c9d86528b3821940d966940608798248acb50e98c2030725a0bcb5c1f1197a56afae53cb21d77aa26933caa394251cbc8dda10b89e0d03f766489f57f66832b7d65d7d20312cd2a91bdb1b98f1b857fcc7ebece49f72e903eefda0a0bd80c35813a472d3507a2f4b797a44f9acdf28401a195a22a7965fc203a27ee32a09108ef02c2f97dbd41a6de7a87ee0c332308ce91f24f932e38b767803e2e194d85237c1de889be1b2321bcc88140a28e1e9bdfa214a7d9a73c007d39b0399ceddd2b35be0e4f1aea1f97e20f8bc64e7b88dde48153ab8e6667a4f162422031c428e5d8e4b953cf3de41822fc830949f3b5476c17a2949f1e4aed86405663305581e039e91f3985aa9356f17b1269ffbea7276bc875c1f87632a88b1df07ee300c0147277af8187b7cfc05581e03df83fcf7887910a3fa90b9b14c8650855296c438aca012151c87b173f0040105581e03f1b426288cac2eb41e81d7068c9b47936f232505ab58f39977656f365008480320db8cffada80005581e0315bae696893ace6979b9463b8af411e9e7ee73c6e6a773ccaa74ba26d00c18224758e3312d5514d803abcf06ba67e6d12fa236a27b1080718c09ed9f95ba895d9544b227ed5935bbf305581e03c7bd9bef4670c155a21164dbbf8528317624038383c62aaadf8687efe00c014609184e72a000031271f1a3c827e8250ce21f4c5501d4b57e4c30e3a914445a92447b9aed8a04a705581d025a3c668361a652c79f070961fac3e9dd7eed911a6d6eca2b37de71a704020459462660a0604081815260049081361015610022575b505050361561002057600080fd5b005b600092833560e01c90816301ffc9a71461093d57508063150b7a02146108af57806324856bc3146107e85780633593564c146106b1578063709a1cc21461044f578063bc197c811461038a578063f23a6e61146102f95763fa461e330361001257346102f55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f557813590602435926044359067ffffffffffffffff918281116102f1576100db9036908301610a97565b919092878613908115806102e7575b6102bf5783850186868203126102bb5785359182116102bb5761010e9186016136d0565b5060208401359373ffffffffffffffffffffffffffffffffffffffff938486168096036102bb5761013e9161415a565b959097602b89106102935786359260178460601c98019561016d62ffffff883560601c9660481c16868b614365565b3391160361026b571561026157508186105b15610197575050505061019493503391613ac2565b80f35b9395945091929091906042871061021b5750505083601711610217577f8000000000000000000000000000000000000000000000000000000000000000821015610217577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe961021194019161020c33916141b5565b6141e2565b50505080f35b8480fd5b91969550929391508454841161023957506101949394503391613ac2565b8590517f739dbe52000000000000000000000000000000000000000000000000000000008152fd5b965085821061017f565b8483517f32b13d91000000000000000000000000000000000000000000000000000000008152fd5b8382517f3b99b53d000000000000000000000000000000000000000000000000000000008152fd5b8980fd5b8286517f316cf0eb000000000000000000000000000000000000000000000000000000008152fd5b50888813156100ea565b8680fd5b8280fd5b5082346103875760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261038757610332610a2b565b5061033b610a53565b506084359067ffffffffffffffff8211610387575060209261035f91369101610a97565b5050517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b80fd5b5082346103875760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610387576103c3610a2b565b506103cc610a53565b5067ffffffffffffffff9060443582811161044b576103ee9036908601610ac5565b505060643582811161044b576104079036908601610ac5565b5050608435918211610387575060209261042391369101610a97565b5050517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346102f557602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ad5783833567ffffffffffffffff811161044b576104a1829136908701610a97565b90818551928392833781018381520390827f0000000000000000000000000554f068365ed43dcc98dcd7fd7a8208a5638c725af16104dd613675565b50156106855780517f70a082310000000000000000000000000000000000000000000000000000000081523084820152907f000000000000000000000000f4d2888d29d722226fafa5d9b24f9164c092421e73ffffffffffffffffffffffffffffffffffffffff168383602481845afa92831561067b578693610646575b5081517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ea37093ce161f090e443f304e1bf3a8f14d7bb40169581019586526020860184905294849186918290899082906040015b03925af193841561063c577f1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c9461060f575b5051908152a180f35b61062e90843d8611610635575b61062681836135fa565b81019061388d565b5038610606565b503d61061c565b81513d87823e3d90fd5b9092508381813d8311610674575b61065e81836135fa565b810103126106705751916105d461055b565b8580fd5b503d610654565b82513d88823e3d90fd5b9050517f7d529919000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f55767ffffffffffffffff8235818111610217576106fb9036908501610a97565b91602435908111610670576107139036908601610ac5565b92909160443542116107c0573330146107b1576001958654958773ffffffffffffffffffffffffffffffffffffffff88160361078b5750509185949391610782937fffffffffffffffffffffffff00000000000000000000000000000000000000009586339116178755610b54565b81541617905580f35b517f6f5ffb7e000000000000000000000000000000000000000000000000000000008152fd5b90919293506101949450610b54565b8585517f5bf6f916000000000000000000000000000000000000000000000000000000008152fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f55767ffffffffffffffff8235818111610217576108319036908501610a97565b91602435908111610670576108499036908601610ac5565b9290913330146107b1576001958654958773ffffffffffffffffffffffffffffffffffffffff88160361078b5750509185949391610782937fffffffffffffffffffffffff00000000000000000000000000000000000000009586339116178755610b54565b5082346103875760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610387576108e8610a2b565b506108f1610a53565b506064359067ffffffffffffffff8211610387575060209261091591369101610a97565b5050517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b849084346102f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f557357fffffffff0000000000000000000000000000000000000000000000000000000081168091036102f557602092507f4e2312e0000000000000000000000000000000000000000000000000000000008114908115610a01575b81156109d7575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836109d0565b7f150b7a0200000000000000000000000000000000000000000000000000000000811491506109c9565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b9181601f84011215610a4e5782359167ffffffffffffffff8311610a4e5760208381860195010111610a4e57565b9181601f84011215610a4e5782359167ffffffffffffffff8311610a4e576020808501948460051b010111610a4e57565b919082519283825260005b848110610b405750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201610b01565b9192909260805282810361350d5791906000905b828210610b755750505050565b8382959394951015611b4c5760059282841b60805101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe19182608051360301821215610a4e578160805101359767ffffffffffffffff8911610a4e576020836080510101988036038a13610a4e57606097603f90818989013560f81c166001976020821060001461317157506010808210156127b4575060088082101561187e57508061109157505050610c2a908a614198565b92909860a08560805101013560001461108757610c6173ffffffffffffffffffffffffffffffffffffffff600154169b5b35613854565b9960408660805101013585829d927f80000000000000000000000000000000000000000000000000000000000000008314610fcf575b50959c95505b7f8000000000000000000000000000000000000000000000000000000000000000811015610a4e5760428610610fc85730915b86602b11610a4e578d91601783013560601c9083359462ffffff8660601c96610d1573ffffffffffffffffffffffffffffffffffffffff92839260481c16868a614365565b169084881015610fac57806401000276a4965b602b60405199604060208c01528160608c015260808b0137600060ab8a015216604088015260a0875260c087019587871067ffffffffffffffff881117610f7d576040948288958688527f128acb080000000000000000000000000000000000000000000000000000000087521660c48a0152868a1060e48a01526101048901521661012487015260a06101448701528160007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4088610deb610164820182610af6565b0301925af1928315610f71576000928394610f2f575b5050610e159310600014610f2857506141b5565b9a60428510610e5657309085601711610a4e5760177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe991019501949b610c9d565b50985098606091969597949392509160805101013511610efe575b1580610ed1575b610e8a57506001019291929092610b68565b90610ecd60409283519384937f2c4029e9000000000000000000000000000000000000000000000000000000008552600485015260248401526044830190610af6565b0390fd5b507f8000000000000000000000000000000000000000000000000000000000000000828501351615610e78565b60046040517f39d35496000000000000000000000000000000000000000000000000000000008152fd5b90506141b5565b91929093506040843d604011610f69575b81610f4d604093866135fa565b8101031261038757505160e092909201519190610e1538610e01565b3d9150610f40565b6040513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8073fffd8963efd1fc6a506488495d951d5263988d2596610d28565b8b91610cd0565b60149192501061105d576020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301523560601c5afa908115610f715760009161102b575b503880610c97565b906020823d602011611055575b81611045602093836135fa565b8101031261038757505138611023565b3d9150611038565b60046040517f3b99b53d000000000000000000000000000000000000000000000000000000008152fd5b610c61309b610c5b565b6001819d969d9b989794959a999b146000146111b7575050506040926110bf84836080510101359382614198565b608051840160a00135156111ab5760606110f273ffffffffffffffffffffffffffffffffffffffff600154169435613854565b946080510101356000557f8000000000000000000000000000000000000000000000000000000000000000851015610a4e576111319361020c866141b5565b9091901561119c5750611143906141b5565b0361117357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000555b610e71565b600490517fd4e0248e000000000000000000000000000000000000000000000000000000008152fd5b6111a691506141b5565b611143565b60606110f23094610c5b565b9194929391600281036112065750505061116e925073ffffffffffffffffffffffffffffffffffffffff600154166111ff604060608560805101013594608051010135613854565b91356139d0565b9193916003810361157857505060805181018084019390604090850312610a4e57823567ffffffffffffffff8111610a4e5782608051010192606084860312610a4e57604051946060860186811067ffffffffffffffff821117610f7d57604052602085013567ffffffffffffffff8111610a4e57850160208201809882011215610a4e5760208101359061129a826136a5565b926112a860405194856135fa565b8284526040602085019360071b830101918a8311610a4e57604001925b828410611513575050505085526112de60408501610a76565b956020860196875260606040870195013585526040846080510101359067ffffffffffffffff8211610a4e57602061131f92611325966080510101016136d0565b5061417b565b909173ffffffffffffffffffffffffffffffffffffffff600154169473ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3163b15610a4e5794929391906040519586947f2a2d80d100000000000000000000000000000000000000000000000000000000865260048601526060602486015260c48501935193606060648701528451809152602060e487019501906000905b80821061149a575050509461143e9285949273ffffffffffffffffffffffffffffffffffffffff600098511660848701525160a48601527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc858403016044860152613537565b03818373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3165af18015610f715761148b575b50610e71565b61149490613576565b38611485565b9197965091929394602060806001928a5173ffffffffffffffffffffffffffffffffffffffff815116825273ffffffffffffffffffffffffffffffffffffffff848201511684830152606065ffffffffffff918260408201511660408501520151166060820152019801920188969795949392916113d8565b608060208584030112610a4e5760206080916040516115318161358a565b61153a87610a76565b8152611547838801610a76565b83820152611557604088016136bd565b6040820152611568606088016136bd565b60608201528152019301926112c5565b600495509193508482036116e757505090916040606061159e8286608051010135613854565b608051909501013573ffffffffffffffffffffffffffffffffffffffff908116933516806116145750479283106115ee575050806115de575b5050610e71565b6115e7916144d1565b38806115d7565b517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b9391908051937f70a082310000000000000000000000000000000000000000000000000000000085523083860152602085602481895afa9485156116dc576000956116a8575b50841061168257505081611671575b505050610e71565b61167a9261453f565b388080611669565b517f675cae38000000000000000000000000000000000000000000000000000000008152fd5b90946020823d6020116116d4575b816116c3602093836135fa565b81010312610387575051933861165a565b3d91506116b6565b82513d6000823e3d90fd5b8103611714575061116e925061170d604060608460805101013593608051010135613854565b90356138a5565b9091906006810361184e57506080510160608101359060409061173990820135613854565b9282158015611843575b61181b573573ffffffffffffffffffffffffffffffffffffffff16938461177f57505061116e92506117786127109147613984565b04906144d1565b8151907f70a082310000000000000000000000000000000000000000000000000000000082523090820152602081602481885afa91821561181157506000916117dd575b506117d661116e94939261271092613984565b049161453f565b906020823d602011611809575b816117f7602093836135fa565b810103126103875750516117d66117c3565b3d91506117ea565b513d6000823e3d90fd5b8482517fdeaa01e6000000000000000000000000000000000000000000000000000000008152fd5b506127108311611743565b83602491604051917fd76a1e9e000000000000000000000000000000000000000000000000000000008352820152fd5b819d969d9b989794959a999b93929314600014611b85575050506040916118ad83836080510101359185614198565b92909460a082608051010135600014611b7b576118e373ffffffffffffffffffffffffffffffffffffffff600154169135613854565b908615611b4c576118f385613a94565b8760011015611b4c5761191561195d9161190f60208901613a94565b90613c34565b907f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b938481611b32575b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860193868511611b03576119b9946119be73ffffffffffffffffffffffffffffffffffffffff9687928a85613a84565b613a94565b16948651947f70a082310000000000000000000000000000000000000000000000000000000091828752841693600499858b89015260249460208987818d5afa988915611af857600099611ac3575b509160209695949391611a1f93613cad565b8751968793849283528a8301525afa928315611ab857600093611a83575b50906060611a519260805101013592613ab5565b10611a5d575050610e71565b517f849eaf98000000000000000000000000000000000000000000000000000000008152fd5b90926020823d602011611ab0575b81611a9e602093836135fa565b81010312610387575051916060611a3d565b3d9150611a91565b84513d6000823e3d90fd5b90986020823d602011611af0575b81611ade602093836135fa565b81010312610387575051976020611a0d565b3d9150611ad1565b8b513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b611b4492611b3f88613a94565b613ac2565b388084611965565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6118e33091610c5b565b919492939160098103611f66575050611b9e9082614198565b608051840160a0013515611f5c57611bcf73ffffffffffffffffffffffffffffffffffffffff600154169335613854565b92611bd9836136a5565b95611be760405197886135fa565b83875283901b820160208701368211610a4e5783905b828210611f44575050506000946002875110611f1a576040816080510101359680517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111611b035790815b611ca757505060805101606001358611611c7d578215611b4c5761116e9585611c7892611b3f85613a94565b613cad565b60046040517f8ab0bc16000000000000000000000000000000000000000000000000000000008152fd5b90977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff89019750888811611b035773ffffffffffffffffffffffffffffffffffffffff611cf7611d6d9984613a70565b5116611d2373ffffffffffffffffffffffffffffffffffffffff611d1b8c86613a70565b511682613c34565b819a917f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b90604051907f0902f1ac00000000000000000000000000000000000000000000000000000000825260608260048173ffffffffffffffffffffffffffffffffffffffff87165afa9a8b15610f7157600092839c611ed1575b5073ffffffffffffffffffffffffffffffffffffffff1603611eb7576dffffffffffffffffffffffffffff8091169916905b9880158015611eaf575b611e855782611e0f91613984565b916103e892838102938185041490151715611b0357611e2d91613ab5565b6103e590818102918183041490151715611b0357611e4a91613997565b60018101809111611b0357978015611b03577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019081611c4c565b60046040517f7b9c8916000000000000000000000000000000000000000000000000000000008152fd5b508115611e01565b6dffffffffffffffffffffffffffff998a16991690611df7565b611f0a919c5073ffffffffffffffffffffffffffffffffffffffff935060603d8111611f13575b611f0281836135fa565b810190613c77565b509b9092611dc5565b503d611ef8565b60046040517f20db8267000000000000000000000000000000000000000000000000000000008152fd5b60208091611f5184610a76565b815201910190611bfd565b611bcf3093610c5b565b92945091600a81036120cc5750608051830160e08101358101946020808701359450909291611f9991908703018461414d565b1161105d5773ffffffffffffffffffffffffffffffffffffffff93847f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31692856001541691843b15610a4e5760409587875198899687967f2b67b570000000000000000000000000000000000000000000000000000000008852600488015261202190610a76565b166024860152808883608051010161203890610a76565b16604486015265ffffffffffff808360805101606001612057906136bd565b166064870152826080510160800161206e906136bd565b166084860152816080510160a00161208590610a76565b1660a48501526080510160c0013560c484015261010060e48401526120b1916101048401918701613537565b03815a6000948591f1908115611811575061148b5750610e71565b600b8103612296575050506120eb604080926080510101359235613854565b91807f80000000000000000000000000000000000000000000000000000000000000008103612266575050475b8061212557505050610e71565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216803b15610a4e578351927fd0e30db0000000000000000000000000000000000000000000000000000000008452600493600081868187875af1801561225b5761224c575b5030908616036121b4575b5050611669565b6122139460006020948651978895869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611811575061222d575b808080806121ad565b6122459060203d6020116106355761062681836135fa565b5038612224565b61225590613576565b386121a2565b86513d6000823e3d90fd5b47101561211857600482517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b600c810361242657505050906122ac9035613854565b9073ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21660408051937f70a08231000000000000000000000000000000000000000000000000000000008552600430818701526024916020878481885afa968715611ab8576000976123f2575b506080510183013586106123cb578561234e575b50505050505050610e71565b833b15610a4e57600091869183855196879485937f2e1a7d4d0000000000000000000000000000000000000000000000000000000085528401525af190811561181157506123bc575b5030908316036123ac575b8080808080612342565b6123b5916144d1565b38806123a2565b6123c590613576565b38612397565b82517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b90966020823d60201161241e575b8161240d602093836135fa565b81010312610387575051958361232e565b3d9150612400565b600d8103612681575082608051010191602083019360208260805101850312610a4e573567ffffffffffffffff8111610a4e57849160805101019182011215610a4e57602081013590612478826136a5565b93604093612488855196876135fa565b838652602086019285849560071b820101928311610a4e578501925b82841061261f575050505073ffffffffffffffffffffffffffffffffffffffff90816001541684519060005b8281106125b357505050817f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31691823b15610a4e5783517f0d58b1db000000000000000000000000000000000000000000000000000000008152602060048201529451602486018190528592604484019290916000915b81831061256f57505050509181600081819503925af1908115611811575061148b5750610e71565b91938395506080602091846060600195975182815116845282868201511686850152828d820151168d85015201511660608201520195019301909187949392612547565b81856125bf838a613a70565b515116036125f6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b03576001016124d0565b600486517fe7002877000000000000000000000000000000000000000000000000000000008152fd5b608060208584030112610a4e576020608091875161263c8161358a565b61264587610a76565b8152612652838801610a76565b83820152612661898801610a76565b8982015261267160608801610a76565b60608201528152019301926124a4565b9294505050600e810361278357506040918251907f70a0823100000000000000000000000000000000000000000000000000000000825260208260248173ffffffffffffffffffffffffffffffffffffffff806004983516888301528886608051010135165afa918215611ab85760009261274e575b5060805101606001351180159290612710575050610e71565b517fa3281672000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b9038806115d7565b90916020823d60201161277b575b81612769602093836135fa565b810103126103875750519060606126f7565b3d915061275c565b602490604051907fd76a1e9e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9150915060189b95939897999692949b808310600014612d435750810361282a5750505060009250906127e883928261417b565b81604051928392833781018481520391357f00000000000000000000000000000000000000adc04c56bf30ac9d3c0aaf14dc5af1612824613675565b90610e71565b6011810361288157505050600092509061284583928261417b565b81604051928392833781018481520391357f0000000000000000000000000000000000e655fae4d56241588680f86e3b23775af1612824613675565b601281036128d857505050600092509061289c83928261417b565b81604051928392833781018481520391357f000000000000000000000000941a6d105802cccaa06de58a13a6f49ebdcd481c5af1612824613675565b919392509060138103612a3e575050909150357f000000000000000000000000b47e3cd837ddf8e4c57f05d70ab865de6e193bbb916040600080825160208101907f8264fe9800000000000000000000000000000000000000000000000000000000825260248781830152815261294e816135de565b5190606086608051010135885af192612965613675565b948415612a04578273ffffffffffffffffffffffffffffffffffffffff612993921694608051010135613854565b90833b15610a4e5782517f8b72a2ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301526024820152916000908390604490829084905af1908115611811575061148b5750610e71565b505091925050517fae9bdf0000000000000000000000000000000000000000000000000000000000602082015260048152612824816135c2565b60158103612b4f57505090604091828051917f6352211e0000000000000000000000000000000000000000000000000000000083526020836024816004976060816080510101358983015273ffffffffffffffffffffffffffffffffffffffff968791608051010135165afa928315612b4457600093612b05575b5081903516911614918215612acf575050610e71565b517f7dbe7e89000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b6020939193813d602011612b3c575b81612b21602093836135fa565b8101031261044b575190828216820361038757509181612ab9565b3d9150612b14565b85513d6000823e3d90fd5b60168103612c765750506040918251907efdd58e00000000000000000000000000000000000000000000000000000000825260208280612bc160049660608660805101013590358884016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b038173ffffffffffffffffffffffffffffffffffffffff8886608051010135165afa918215611ab857600092612c41575b5060809081510101351191821592612c0b575050610e71565b517f483a6929000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b90916020823d602011612c6e575b81612c5c602093836135fa565b81010312610387575051906080612bf2565b3d9150612c4f565b909290601714612c87575050610e71565b60409073ffffffffffffffffffffffffffffffffffffffff612caf8383608051010135613854565b93351692833b15610a4e5782517f42842e0e00000000000000000000000000000000000000000000000000000000815260805130600483015273ffffffffffffffffffffffffffffffffffffffff909216602482015291016060013560448201529160009083908183816064810103925af19081156118115750612d34575b806115d7565b612d3d90613576565b38612d2e565b9396938214159050612d7e5750505061282492507f00000000000000000000000074312363e45dcaba76c59ec49a7aa8a65a67eed391613717565b60198103612dd5575050506000925090612d9983928261417b565b81604051928392833781018481520391357f0000000000000000000000002b2e8cda09bba9660dca5cb6233787738ad683295af1612824613675565b601a8103612e2c575050506000925090612df083928261417b565b81604051928392833781018481520391357f000000000000000000000000a42f6cada809bcf417deefbdd69c5c5a909249c05af1612824613675565b601b8103612f53575050506000612e4481928461417b565b9390604094818651928392833781018481520391357f00000000000000000000000074312363e45dcaba76c59ec49a7aa8a65a67eed35af1918291612e87613675565b92612e95575b505090610e71565b73ffffffffffffffffffffffffffffffffffffffff608083815101013516612ec4606084608051010135613854565b90825190612ed1826135a6565b60008252803b15610a4e57612f2d94600080948651978895869485937ff242432a00000000000000000000000000000000000000000000000000000000855260a060c0836080510101359260805101013590306004870161380f565b03925af19081156118115750612f44575b80612e8d565b612f4d90613576565b38612f3e565b91949091601c8103612f8e5750505061282492507f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f91613717565b9193929091601d81036131175750506060816080510101359060409173ffffffffffffffffffffffffffffffffffffffff612fcf8484608051010135613854565b9435168351947efdd58e0000000000000000000000000000000000000000000000000000000086526004936020878061302e87308a84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b0381865afa96871561225b576000976130e2575b50608090815101013586106130ba57845161305c816135a6565b60008152823b15610a4e576000946130a486928851998a97889687957ff242432a0000000000000000000000000000000000000000000000000000000087523090870161380f565b03925af1908115611811575061148b5750610e71565b8385517f675cae38000000000000000000000000000000000000000000000000000000008152fd5b90966020823d60201161310f575b816130fd602093836135fa565b81010312610387575051956080613042565b3d91506130f0565b929450925050601e810361278357508161313560009392849361417b565b81604051928392833781018481520391357f00000000000000000000000020f780a973856b93f63670377900c1d2a50a77c45af1612824613675565b9499989a92506020819d9792969d989498146000146131da575050505050508061319e600093849361417b565b81604051928392833781018481520391357f00000000000000000000000000000000000001ad428e4906ae43d8f9852d0dd65af1612824613675565b602190808203613351575050505090916131ff6131f7868661415a565b96909561417b565b929061324160409788519760208901997f24856bc3000000000000000000000000000000000000000000000000000000008b5260248a01526064890191613537565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc878203016044880152818152602082818301951b82010195856000915b8483106132d357505050505050505091816132c5600094938594037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b519082305af1612824613675565b90919293949596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085820301885288358284360301811215610a4e578301906020823592019167ffffffffffffffff8111610a4e578036038313610a4e5761334160209283928b95613537565b9a0198019695949301919061327f565b929750929593509350602281146000146127835750604080936080510101359060009060028310156134e1575050808491156000146134895750506000907f0000000000000000000000001e0049783f008a0085193e00003d00cd54003c71925b6020838251937f095ea7b3000000000000000000000000000000000000000000000000000000008552600496878601526024947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff868201526044968792355af13d15601f3d1187600051141617161561342e5750505050610e71565b91600e7f415050524f56455f4641494c45440000000000000000000000000000000000009260206064969551957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b036134b8576000907f0000000000000000000000002b2e8cda09bba9660dca5cb6233787738ad68329926133b2565b600482517f5461585f000000000000000000000000000000000000000000000000000000008152fd5b602492507f4e487b71000000000000000000000000000000000000000000000000000000008252600452fd5b60046040517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b67ffffffffffffffff8111610f7d57604052565b6080810190811067ffffffffffffffff821117610f7d57604052565b6020810190811067ffffffffffffffff821117610f7d57604052565b6040810190811067ffffffffffffffff821117610f7d57604052565b6060810190811067ffffffffffffffff821117610f7d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f7d57604052565b67ffffffffffffffff8111610f7d57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156136a0573d906136868261363b565b9161369460405193846135fa565b82523d6000602084013e565b606090565b67ffffffffffffffff8111610f7d5760051b60200190565b359065ffffffffffff82168203610a4e57565b81601f82011215610a4e578035906136e78261363b565b926136f560405194856135fa565b82845260208383010111610a4e57816000926020809301838601378301015290565b919290613724908361417b565b90938460405195869384378201906000958693838580955203918635905af19261374c613675565b9284613756575050565b73ffffffffffffffffffffffffffffffffffffffff60608201351661377e6040830135613854565b91813b156106ad576040517f42842e0e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff93909316602484015260800135604483015290919081908390606490829084905af190811561380357506137f85750565b61380190613576565b565b604051903d90823e3d90fd5b919261385195949160a09473ffffffffffffffffffffffffffffffffffffffff8092168552166020840152604083015260608201528160808201520190610af6565b90565b73ffffffffffffffffffffffffffffffffffffffff908082166001810361387e5750506001541690565b90915060020361385157503090565b90816020910312610a4e57518015158103610a4e5790565b9092919073ffffffffffffffffffffffffffffffffffffffff16806138cf575061380191926144d1565b7f80000000000000000000000000000000000000000000000000000000000000008214613902575b92613801929361453f565b9050604051927f70a08231000000000000000000000000000000000000000000000000000000008452306004850152602084602481855afa938415610f7157600094613951575b5092906138f7565b6020813d821161397c575b81613969602093836135fa565b8101031261021757519350613801613949565b3d915061395c565b81810292918115918404141715611b0357565b81156139a1570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b919273ffffffffffffffffffffffffffffffffffffffff91827f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31693843b15610a4e5760009484869281608496816040519b8c9a8b997f36c78516000000000000000000000000000000000000000000000000000000008b521660048a01521660248801521660448601521660648401525af18015610f71576137f85750565b8051821015611b4c5760209160051b010190565b9190811015611b4c5760051b0190565b3573ffffffffffffffffffffffffffffffffffffffff81168103610a4e5790565b91908203918211611b0357565b92919073ffffffffffffffffffffffffffffffffffffffff8082163003613aee575050613801926138a5565b8084959411613b02576138019416926139d0565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b9173ffffffffffffffffffffffffffffffffffffffff93613c2d916040519060208201927fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809260601b16845260601b16603482015260288152613b8f816135de565b519020613c01604051938492602084019687917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b5190201690565b73ffffffffffffffffffffffffffffffffffffffff8281169082161015613c585791565b9091565b51906dffffffffffffffffffffffffffff82168203610a4e57565b90816060910312610a4e57613c8b81613c5c565b916040613c9a60208401613c5c565b92015163ffffffff81168103610a4e5790565b9260028210614123578115611b4c57613cc584613a94565b9160019481861015611b4c5791613ce360209461190f868601613a94565b50926000935b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84018510613d1c575050505050505050565b613d2a6119b9868685613a84565b92613d3b6119b98a88018786613a84565b936040908151957f0902f1ac00000000000000000000000000000000000000000000000000000000875273ffffffffffffffffffffffffffffffffffffffff80941694606092600493808a86818b5afa998a1561225b57908d9594939291600091829c6140fd575b50508780916dffffffffffffffffffffffffffff8091169c16921692168214998a6000146140f7575b8651958680947f70a082310000000000000000000000000000000000000000000000000000000082528b8883015260249889915afa9283156140ec578e6000946140bb575b5050808303918115938480156140b3575b61408b57826103e5808602958604149114171561405e57613e439083613984565b926103e880830292830414171561403157613e689291613e629161414d565b90613997565b971561402957600097905b898b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe820181101561401d579161190f6119b9613eb9936002613f039c9601908d613a84565b8198917f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b965b988551918d83019367ffffffffffffffff9484811086821117613ff057885260008452813b15610a4e5760008a93613f8382968b519c8d97889687957f022c0d9f0000000000000000000000000000000000000000000000000000000087528d8701528d860152166044840152608060648401526084830190610af6565b03925af18015611ab857908d969594939291613fa8575b505050505094019391613ce9565b909192938095965011613fc45750505287903880808080613f9a565b6041907f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b876041887f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b5050508b956000613f05565b600090613e73565b856011867f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b866011877f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b8689517f7b9c8916000000000000000000000000000000000000000000000000000000008152fd5b508115613e22565b8181959293953d83116140e5575b6140d381836135fa565b8101031261038757505191388e613e11565b503d6140c9565b87513d6000823e3d90fd5b90613dcc565b899c50899250908161411a92903d10611f1357611f0281836135fa565b509b9091613da3565b60046040517fae52ad0c000000000000000000000000000000000000000000000000000000008152fd5b91908201809211611b0357565b91823583019161417460208435958186019503018561414d565b1161105d57565b91602083013583019161417460208435958186019503018561414d565b91606083013583019161417460208435958186019503018561414d565b7f80000000000000000000000000000000000000000000000000000000000000008114611b035760000390565b939193602b841061105d578462ffffff6000614267946142ee6142999935988960601c9a8b9a61423b601789013560601c9d8e109c73ffffffffffffffffffffffffffffffffffffffff9e8f998a9460481c1691614365565b16968b861461434a576401000276a49a5b60409d8e9b8c93845196879560208701526060860191613537565b91168b830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b848851998a98899788967f128acb080000000000000000000000000000000000000000000000000000000088521660048701528c6024870152604486015216606484015260a0608484015260a4830190610af6565b03925af190811561433f576000938492614309575b50509192565b9080949250813d8311614338575b61432181836135fa565b810103126103875750602082519201513880614303565b503d614317565b83513d6000823e3d90fd5b73fffd8963efd1fc6a506488495d951d5263988d259a61424c565b73ffffffffffffffffffffffffffffffffffffffff92838316848316116144c9575b62ffffff90846040519481602087019516855216604085015216606083015260608252608082019082821067ffffffffffffffff831117610f7d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80613c2d9183604052845190209361449c60a08201957fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54907f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98488917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608101845201826135fa565b909190614387565b600080809381935af1156144e157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561459257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fdfea2646970667358221220b2d6a39827110492aaa15cba3556e23894a51f2f635dc99ae66d21764ad4d90b64736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6041010219080405581d02367b74293bb052cf32dbf499b5c69c98fda9beb40172c7513283aa71070119462603eab71320eeef085932d28d44e0baf57b58344eb1e00ad28043fed2773af1d7eb0605581d02fa23563862f322c7e205623469c0b78f515b247fc070b0a8a7a361b207011bffffffffffffffff02192210030c975042158b302d08b687b5ad55407adea0f6c0c8e2ae9027af5f2b66a90e2503db731c607521cbd787386a1fe342cdf1bac891251c300135c9c48e15f96572ae021979ab035912db5be5e494b9869ee966dc5cdb5b1c0ebf0aafd99beddb56b33614cbd4340350d66cecb3172d4ea47865934885e230dbc6612d0615c19f48aa0f99c620e00c03886f7645e367e56ba68b766987c56dfef14001d37ea052544e5bc80fa127574203a573bad9892ff46c3750d0c095c13f6911ce32bdf63434daede26b52c97e49c2033748f02c6fc83a706939111b7d65e3faab809b1e718ad81b4ffab001c09c19c1035fdda7971295f56af31d49ae313686bb554bd9ee9376f746cf445dcb89f04d830219ffff03e0d7a3605b22cbd937865987911aae12298af6529472f0745a70bf0750b2a3d8030277550e1309cec07d6eb6b7c5a3bf90cd85e4ba2eb1b5f52559817b1ac2b2d60328039e2586ed05117c8d2da411d6fc15726efd5bf1886bebd6072c441a03098903b920959b00bc600c08d2612c979c28623241457b69326dffefb0658a8be1ebe603c04aa662380a923cc5d4ad6eb736be4e88085cd2d606eaf6786a781eae142f7f03cadb961e6e1c9e2a890afd4f7b0c56f4a0c14d28ac92b46b7b4e3397b53c116e038cb0f3030d85b0174bb999d6388b323aebd16f7166a5590ad8ae17e08342166d0320b7de69080d983f8b3381c9abb557f96fdf8b41c9ae48051389921afe99b1ea031b4d20948d644223e974ceab12f77f7fb6b6367cb5351bfce2355274d94abf51030a71f2d25a27741dc58ed959e69184f96c4d2b010214c8eb45b1df46cc232ae50219ffff0328a747b772069caecb9770a71c9f418a5d7828c633b54b930e8a906764b5dc3b03e2e56339d48c34139a5bd180bc9c0831f0567bf0d2b77fb7da09eccbf5adc41a03f75ad63af76c0f009b4efe7261a474da928a518bb91e78b72a6c802e6505e7500339913c24cdb2578ea9c3a39454ff9db7b0043ca065d10e3c063bf5180afb7c310363e1640f8b865012446e11d534eee7985bd4d546d88ab21855803f2bb49da18e038c5eb4878a1c6c64922bf668846b578c3942f0fe4d5c7aa60b6d8022c85644f303d41760f269155efdedb291eec0b127de96e5bd581c6dfe903ab69f252da4c1d003f8af59e6e4484cdfaa55b2f3fb317196662e7f51e748352d81fffafe62f8a2c503fb282caefa28924f3e1dabb15e9b38359e85e2fc566a259b36e5d7603cea1ab003e3feae6246b42755d84571188776f239a77400618ced4744dd8d762bbb74ff1c03128c7db4850d8248b61129e9eb1b0c7c26334da5edb212cd3e5604f3c5bcf7b1030f951d88262b32856c9d2a49ea72e96064a3702a6c3f78e54c2564ee6e4c0e3003ddbf1f1c7ec0d0f714ef509a46750680914ff0a238a1820e80feba03cedb6b4203bd1412b1c3e7e7c49f13d13828c334b05c4641325f21890c88d5ea5065f99a670369b96d4d2a937c722850d7e409dc4749f0d2656e2c65835b9dbe62f212bae68803ee113f551965cf373e2aec29933642fd07e6e17b640f84c79c780f86461c6393038483a66e111530b780f80866e2bf5531b48bee42d0a27acfb6496bd861ac41f40330499a4be62531a9a12316be91c1765e241e9490529414d11a94c4b8279703710330133dfaf26e270e9e429191091a36c0293f71673b330bd528f47a83180bf59f03b0f07681afe7e8b88e9719ef43c6fe262119ab8b9004f02eb15deebcb381df3b03b3e3bb6eb182410920ed04418e0ac7fdf79513dde91fe72430bf98c5a84313da03bcdc4b14ff476e345879c95bdbdb1c78c9a693f0abdc04d1381c52d7e4c4d03f033cd023696dc25d09adb3c5e250691038b5d470caeeea0e06cf5d8f03857a6d2903b484064e0e262b7b0415c4ce8bbc4fb424d217c8ec65dbc10ae8861d9b2f659e03de4281999674cde833f1279d7756cdf3517c20d66a85ac22e2b3cf8fa820bbf60302f880c12169f9b98f27f92e068a9413cbc51c1404ed282efbbfb07dcce066c70328ffa8fec222fc9c585ab68d010e2aa2d0bc1a6671183bc31c8a758d7e3003c003eaa23dfc5d835cea504e05c13be2198cdd176374af2085e29280067dc1302e5e0317da15a1f1314a98d140c2e26d255fab9f9baa3e514ae831d2b006027067c96a036281e9efc709c3f612923cfee31a4bf72ee74ddadb65d332069552c3092eb46103d47ee21f0135a5a117d8a00991028a00a2ec87a673e02619899213a671cd3d4a0312de3d28ed2ef5940c9540d594540ba039db86adc11e2e0ae5d32e09a579f6af03aee533c4f49a0bc84e26cace9408ec051c5dc62fa87d3d8b6a8948cb4054f9b405581e039bb761f6281f821cefc60cf58b53684963cdd39a347ead033d52bdf790084713528fb0ae5ee805581e03550ac4c588afec9e92137b48a6a821bcc1bce863ce8746fd7110ffdaa00c014714f178a4f3700005581e03eedd62a7636596f8ff47a60f7bf53778829199d65a5b2fc6f120611f20084804ed369e7f43800005581e0333279c49c2eb81e7dbcdd85e07096a919b1f8610865b5937a64ff0d1200c0147065bfeda25e00003341bb77c55ca2560a84ba32e5ad4ca940e20d9a0d86bdd94afc77f41e2c4ff77035a918ef0a6306566d43a0f25848f5e8b3dc3cb9bfd14e10fcc253164061c3cf205581e03b667df68e34ea4341cde8e0a3e3f4cc8738615a8dfc88a65d94337515007011bffffffffffffffff05581e0302ca759db847b87afd9c334a475f3809ffc237476931ba2be5e7f6d4800c01470240bfc66d578505581e03dc125ab9bdfca9ae3520719f51928847c207148264768643c00d0e9ed00c014731fa44dc18e5e405581e03e418a111b8e5f93c6071c6678f673a1080d6dc37da3ca8d0b5065d22c00c05443b9aca0005581e03757eb59b17abbc501cf4da108788d8f3a4188989073262fde9b5df58e0040505581e032e31d55edd4c30c4a20e88a36a33d7c914b573156e78f700d7112d1ec0040a0366f1239eed7d880ce24f9a2c84f3747e0a3367a82eb2f5dee5deb07936e1756803bd45b31a432b12f76be2e21933fbdbc8d478e2af71fc0fbe140c7cdf2a9c5dbe0219f9ee03a926db1ec1d084e96e11d26a09bcde91807627e824aa60969b28dc68c288f29003324c9f9ba6c847c8aebcc30e4c60c7543e3c7aecd1569b06494e5bd31de7194903af499fde5daac1e80a8f2db7750ca3e9520315c0a674a4cf4ec2f3b8adc532e3035f53c23efc63a8e69357bb8dc1208c17afadd9f59f28dfa26c3f7e07fd8e82dd03decc5b2b06aa865f72cfb2fa51a44dac1f2cf72d17abbe2bb47fdb84b6be9925038db8d887d23461e0dba19d4286571a82fa4f9b5fbb44bb5cece26d4d453866990219ffff0300dc6a370211caf8a63bbf00467b234cc2149f2042d99e06d2601589a46ca78e0219ffff03c6486700aa0c463263b51e322ee8ca7f0c23629f94d13478191908e37401e7a90219ffff03f5e652548d32bd72871b888b07fe60362ca3567fc9f51aa20e7a0516a11d8b0003c825b14b54dc44e084b4b6924a6961b249189ca35397a9ec2281b44abefe839f039d5dbc5f6e93838fc61282a8ca56b6c5f2930616ba1faa06be85cc00ad5fdfb60219ffff0334277a43413bd32bb09d5c6fabf173a72813e843e5c77c898f7f3064c9413edf031811f9675cdf16ecc421961cef092df4accb4996ef73218913570bd06637d95c0352c52862724848e135c0517ed4cb25345cd8ab50168ef6fac5331c4c8a6ea9c803f3289944261b55c70c3ebb855e649cdc5673a8500bc3f2ca486698fd1ba691db035b76fad276d72fe50ef7a6e4cc99bd831fa642f83e9af1c7727cea1ff48f49cc0347e79b68ff0a8784edb81761f43f811efe8641d7a985a7805949d6982ca0d75103e8414f604a4cd22e4654587fd14354eb154461a4e632d82897589bad6252aa2803d65b9b3052da0d16588a1785c6a2ca7c02a9dacae9ddb5b1be409607b6f31b510383a2bcedcd988e8cdf0b8ff3c387cd1c7ba13eea700d74e6ad6356842bcf14700323d8f639d7d6ac1ae946f7782aa7ff6dcf6c7eeac29ec6dbf0dc969f293816ab034975a5b0b044fb57e1735f6a35bd16d2d39dff70d773cd4ff1c2d4d9a56a7959034d09ca324321cab07e9d160880efae16f296498c8b9b9b28761b3e58f7cab010031ce16cb8280fe23ac516687e855c600ffc6cf58d41924c3da1b588dd4ceb6e5f03e1cb3fb1c4149af9a399633d5f7affef6519d950cfdc7a465da3d10c8a6ae8e4034fe87c2b5cf832047410720354a7886c6608ce9fd30e2224fd212b73dccbf2b10347c83018d1504306ca5570f53ce160e7eec71ada84577bfeb54d0ab9f6e01d730328cc7b8388e13aa450ad6bc7a3f37e99f8b089a2e0815cb015d088be0dd279c203c9142a744711ee5bb7e1dd69542ec644e1a7bfbe3d3b8d74a83275dba87373d7036386216ab374932c9fef720301367b1a9b5e07feae64cc9aacd898dd024375f70353e650ac80f5338eaf2b57841a28251e503e83bbe9e404b898cf6aa49357050d03caca0bf77ff840ac9021ba813fdd4b07f96c3414ae1434813ad9756a570d968f03bdc24f24a3d8c1d026a7cf3e8cb2e3423b7e6bc6e53d5b9514bcb4ded4e42eab03f073f0104b59710318c1a70e1437b70a89e2153f7e4ce5d000af3cf2779fee1003f78e3e82851467abb31acf0453944e33e9c2628648b521d765d08f0b2fdaf4bf0368076964dff6c42b6534b52b2d895c0b6b7091726e847e6eebf7a848457f974e03332558660133ff837de5ff96cec014ec9d3b754f86228829df1b178b61f92dfa037a9a031b8f37e8bd05bce1bc32716b8e6d0a2af95fa2a838dcc76b5a249cf3e103b4fd04665af8de00f94811bb0bfd29cb3f0c557b286333725413686bba4fb3070394bc26abf739ff0532e0d178561da5c503c053c4b809d808117308c4e468372c030fc03228b5ef674a6e5eccc793224be0ebf947c0b06c45c993265b780252b8d303d63fcbaeec94f3ff061569376ae36a5149643fcd157151c7376cdac1791376de0322e3c150262b0c3519bc6e909a1c046be533d29ba3f64d84951b2e28de157477035ba311edaf24ee6ae07718760264dac146411447a8fd595167cf2f881bc8b0e703fb9af18ac14ba7e43ee8ebde193f3308cb4409239c1a85594b25f3363e3c35c605581e031460f1481a3bda328f81f2c06407c1dbdf1eba4562f2874af7115bab80040305581e03e43ea43b59938b369c9f42375ac6e5ec70df035cb8bff096a053430f50084711344f1a7ef13405581e036928b7e636fc02f461cc93757e1aefb356ebc4025f2c61d82d33e320a0040103446effc83a5c062fae4e244e10567ba2c9e28bc62c186116096de7ae79e49380034ebf60e22debe940f4a31bb59a7ad1f0d31d3aed30fb722e3599371bb31a292d05581e03835ebf79beb5bc4c4f778f1829e56e5d1161736eaacda398da1aba129007011bffffffffffffffff031282e4e9c1a6987d923cae6915dfecce2993a13dfda3da77d6423b1de3ee36e605581e0321c2986a950efae74a271e972fc5a640e45c6c6e76934c12b5197355e00c03464b764d0ea6f005581e0376b538ebd4ac230e2970c104b00ceb4630615b7f729328807927f910f00c01462632e314a0000373c78137e5439965c007af3cf2834f20035d416b55ef2000179505fdf4a6477b05581e03460dd1dfe75818729e634e510e193390927ba2b5c58683f89a3ab96a600c0147b44bcd14f6900005581e030c7954dce2c76079a9debcf84441af0455d99564bb31cef6bd55a4f9500c0b4703a51e6b6c660005581e0356227ea1bb94eb9f59884337b6b3de0238ccb478175f9f99688291ced00402037baaa7fad3a5c66fbfb4d95c0065892b08f5de001adcd8a5959675055a1dfa0a03dd4bcbee5fa5d813075970b2c38710de2356faecec2f970c3f86ece215dc265105581d02e334b0cd2d2b54fa3457acab66578cc60ef19437acc6b16b4e072fb507011bffffffffffffffff04595c84608060405234801561001057600080fd5b50600436106102745760003560e01c8063715018a611610151578063b5bd495e116100c3578063c87b56dd11610087578063c87b56dd146106d3578063d89135cd14610703578063e985e9c514610721578063f2fde38b14610751578063f7c2742f1461076d578063fe169d261461078957610274565b8063b5bd495e14610655578063b6f9b91314610673578063b88d4fde14610691578063bed20a87146106ad578063c13ee144146106b757610274565b806395d89b411161011557806395d89b41146105a9578063975057e7146105c75780639a456e6d146105e5578063a22cb46514610601578063a29a43bb1461061d578063a86fb5281461063957610274565b8063715018a61461053f578063747daec51461054957806378faa1a7146105655780638129fc1c146105815780638da5cb5b1461058b57610274565b80633672da53116101ea5780634bbf179b116101ae5780634bbf179b1461046b57806350ea5dd81461048957806358bf3c7f146104a55780635ebaf1db146104c15780636352211e146104df57806370a082311461050f57610274565b80633672da53146103dd5780633780e9b8146103f95780633cc158e01461041557806342842e0e14610433578063459d146b1461044f57610274565b806309aa2be11161023c57806309aa2be11461032f57806318160ddd146103395780631e7d195a1461035757806323b872dd1461037357806326b030891461038f5780632b47da52146103bf57610274565b806301ffc9a71461027957806306fdde03146102a9578063081812fc146102c7578063087cbd40146102f7578063095ea7b314610313575b600080fd5b610293600480360381019061028e91906139ee565b6107a5565b6040516102a09190613a36565b60405180910390f35b6102b1610887565b6040516102be9190613ae1565b60405180910390f35b6102e160048036038101906102dc9190613b39565b610919565b6040516102ee9190613ba7565b60405180910390f35b610311600480360381019061030c9190613bee565b61095f565b005b61032d60048036038101906103289190613c1b565b6109ab565b005b6103376109c4565b005b610341610b90565b60405161034e9190613c7a565b60405180910390f35b610371600480360381019061036c9190613e09565b610ba6565b005b61038d60048036038101906103889190613e65565b610dcd565b005b6103a960048036038101906103a49190613bee565b610e1c565b6040516103b69190613ec7565b60405180910390f35b6103c7610e34565b6040516103d49190613ba7565b60405180910390f35b6103f760048036038101906103f29190613c1b565b610e5a565b005b610413600480360381019061040e9190613f93565b610f55565b005b61041d610ffe565b60405161042a9190613c7a565b60405180910390f35b61044d60048036038101906104489190613e65565b611014565b005b61046960048036038101906104649190614014565b611063565b005b610473611101565b6040516104809190613c7a565b60405180910390f35b6104a3600480360381019061049e9190613bee565b611117565b005b6104bf60048036038101906104ba9190613bee565b611163565b005b6104c96111af565b6040516104d69190613ba7565b60405180910390f35b6104f960048036038101906104f49190613b39565b6111d5565b6040516105069190613ba7565b60405180910390f35b61052960048036038101906105249190613bee565b61125b565b6040516105369190613ec7565b60405180910390f35b610547611312565b005b610563600480360381019061055e91906140f6565b611326565b005b61057f600480360381019061057a919061413f565b611341565b005b610589611482565b005b6105936116bc565b6040516105a09190613ba7565b60405180910390f35b6105b16116e6565b6040516105be9190613ae1565b60405180910390f35b6105cf611778565b6040516105dc9190613ba7565b60405180910390f35b6105ff60048036038101906105fa9190614276565b61179e565b005b61061b60048036038101906106169190614325565b611956565b005b61063760048036038101906106329190613bee565b61196f565b005b610653600480360381019061064e9190614365565b6119bb565b005b61065d6119d3565b60405161066a9190613c7a565b60405180910390f35b61067b6119e9565b6040516106889190613ba7565b60405180910390f35b6106ab60048036038101906106a691906143b8565b611a0f565b005b6106b5611a60565b005b6106d160048036038101906106cc919061413f565b611ac4565b005b6106ed60048036038101906106e89190613b39565b611c05565b6040516106fa9190613ae1565b60405180910390f35b61070b611c6d565b6040516107189190613c7a565b60405180910390f35b61073b6004803603810190610736919061443b565b611c83565b6040516107489190613a36565b60405180910390f35b61076b60048036038101906107669190613bee565b611d17565b005b61078760048036038101906107829190614365565b611d9a565b005b6107a3600480360381019061079e9190614014565b611e5a565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061087057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610880575061087f82611eea565b5b9050919050565b606060658054610896906144aa565b80601f01602080910402602001604051908101604052809291908181526020018280546108c2906144aa565b801561090f5780601f106108e45761010080835404028352916020019161090f565b820191906000526020600020905b8154815290600101906020018083116108f257829003601f168201915b5050505050905090565b600061092482611f54565b6069600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610967611f9f565b8060ca60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b816109b58161201d565b6109bf838361211a565b505050565b600060cb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506003808111156109fe576109fd6144db565b5b8173ffffffffffffffffffffffffffffffffffffffff166317881cbf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d919061452f565b6003811115610a7f57610a7e6144db565b5b14610a8957600080fd5b61271060cb601c9054906101000a900463ffffffff1663ffffffff1610610aaf57600080fd5b6000610ab9612231565b905060cb601c81819054906101000a900463ffffffff1680929190610add9061458b565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060cb601481819054906101000a900463ffffffff1680929190610b1e9061458b565b91906101000a81548163ffffffff021916908363ffffffff160217905550507f5dc238ae2706a98b704a1b162e778905803c092930a374f59bac8581b951c64b813360016000604051610b749493929190614637565b60405180910390a1610b8c338263ffffffff1661227e565b5050565b60cb60149054906101000a900463ffffffff1681565b600a82511115610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be2906146c8565b60405180910390fd5b60005b8251811015610ca057610c20838281518110610c0d57610c0c6146e8565b5b602002602001015163ffffffff166111d5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8490614763565b60405180910390fd5b8080610c9890614783565b915050610bee565b50610cb08163ffffffff166111d5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1490614817565b60405180910390fd5b60005b8251811015610dc8576000838281518110610d3e57610d3d6146e8565b5b60200260200101519050610d7b3360cf60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff168363ffffffff1661229c565b7fcc4d245f9e76fcdf5cda04ae0bc04dd7be9beef103a277e0273594e2ac97aaa98184604051610dac929190614837565b60405180910390a1508080610dc090614783565b915050610d20565b505050565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e0b57610e0a3361201d565b5b610e16848484612595565b50505050565b60ce6020528060005260406000206000915090505481565b60cb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610e62611f9f565b6000610e6c6125f5565b90508063ffffffff168214610e8057600080fd5b60cb601881819054906101000a900463ffffffff1680929190610ea29061458b565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060cb601481819054906101000a900463ffffffff1680929190610ee39061458b565b91906101000a81548163ffffffff021916908363ffffffff160217905550507f5dc238ae2706a98b704a1b162e778905803c092930a374f59bac8581b951c64b8184600080604051610f389493929190614860565b60405180910390a1610f50838263ffffffff1661227e565b505050565b600060cb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff16636678978933878787876040518663ffffffff1660e01b8152600401610fbd95949392919061494d565b600060405180830381600087803b158015610fd757600080fd5b505af1158015610feb573d6000803e3d6000fd5b50505050610ff761263e565b5050505050565b60cc60009054906101000a900463ffffffff1681565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611052576110513361201d565b5b61105d84848461271e565b50505050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110bd57600080fd5b8063ffffffff167f529f395783b74aeb16a02d6320297d8415f7312f2ff2c398cd0d70e30bebc6c96000426040516110f6929190614996565b60405180910390a250565b60cb601c9054906101000a900463ffffffff1681565b61111f611f9f565b8060cf60046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61116b611f9f565b8060cb60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806111e18361273e565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611252576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124990614a0b565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c290614a9d565b60405180910390fd5b606860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61131a611f9f565b611324600061277b565b565b61132e611f9f565b8060cd908161133d9190614c5f565b5050565b600060cb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166301c4657033868660026040518563ffffffff1660e01b81526004016113a89493929190614d79565b600060405180830381600087803b1580156113c257600080fd5b505af11580156113d6573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663979ed6666040518163ffffffff1660e01b8152600401602060405180830381865afa158015611425573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114499190614dce565b82111561145557600080fd5b60005b8281101561147b5761146861263e565b808061147390614783565b915050611458565b5050505050565b60008060019054906101000a900460ff161590508080156114b35750600160008054906101000a900460ff1660ff16105b806114e057506114c230612841565b1580156114df5750600160008054906101000a900460ff1660ff16145b5b61151f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151690614e6d565b60405180910390fd5b60016000806101000a81548160ff021916908360ff160217905550801561155c576001600060016101000a81548160ff0219169083151502179055505b6115d06040518060400160405280600381526020017f444d5800000000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f444d580000000000000000000000000000000000000000000000000000000000815250612864565b6115d86128c1565b600060cb60146101000a81548163ffffffff021916908363ffffffff160217905550600060cb60186101000a81548163ffffffff021916908363ffffffff160217905550600060cb601c6101000a81548163ffffffff021916908363ffffffff160217905550600060cc60006101000a81548163ffffffff021916908363ffffffff16021790555080156116b95760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860016040516116b09190614ecb565b60405180910390a15b50565b6000609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060606680546116f5906144aa565b80601f0160208091040260200160405190810160405280929190818152602001828054611721906144aa565b801561176e5780601f106117435761010080835404028352916020019161176e565b820191906000526020600020905b81548152906001019060200180831161175157829003601f168201915b5050505050905090565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117a66116bc565b73ffffffffffffffffffffffffffffffffffffffff166117d7846117c98761291a565b61294a90919063ffffffff16565b73ffffffffffffffffffffffffffffffffffffffff16146117f757600080fd5b818160405160200161180a929190614f4f565b604051602081830303815290604052805190602001208414611861576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185890614fc7565b60405180910390fd5b81600160ce60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118ae9190614fe7565b146118ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e590615067565b60405180910390fd5b60ce60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919061193e90614783565b91905055506119508160026000612971565b50505050565b816119608161201d565b61196a8383612a52565b505050565b611977611f9f565b8060c960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6119c3611f9f565b6119ce838383612971565b505050565b60cb60189054906101000a900463ffffffff1681565b60cf60049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611a4d57611a4c3361201d565b5b611a5985858585612a68565b5050505050565b611a68611f9f565b7f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604051611aba929190615087565b60405180910390a1565b600060cb60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166301c4657033868660016040518563ffffffff1660e01b8152600401611b2b9493929190614d79565b600060405180830381600087803b158015611b4557600080fd5b505af1158015611b59573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663a2ed22806040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bcc9190614dce565b821115611bd857600080fd5b60005b82811015611bfe57611beb61263e565b8080611bf690614783565b915050611bdb565b5050505050565b6060611c1082611f54565b6000611c1a612aca565b90506000815111611c3a5760405180602001604052806000815250611c65565b80611c4484612b5c565b604051602001611c559291906150ec565b6040516020818303038152906040525b915050919050565b60cf60009054906101000a900463ffffffff1681565b6000606a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611d1f611f9f565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8590615182565b60405180910390fd5b611d978161277b565b50565b60ca60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e21906151ee565b60405180910390fd5b60005b81811015611e5457611e4184600385612971565b8080611e4c90614783565b915050611e2d565b50505050565b60c960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eb457600080fd5b8063ffffffff167f227a473b70d2f893cc7659219575c030a63b5743024fe1e0c1a680e708b1525a60405160405180910390a250565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611f5d81612c2a565b611f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9390614a0b565b60405180910390fd5b50565b611fa7612c6b565b73ffffffffffffffffffffffffffffffffffffffff16611fc56116bc565b73ffffffffffffffffffffffffffffffffffffffff161461201b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120129061525a565b60405180910390fd5b565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115612117576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b815260040161209492919061527a565b602060405180830381865afa1580156120b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d591906152b8565b61211657806040517fede71dcc00000000000000000000000000000000000000000000000000000000815260040161210d9190613ba7565b60405180910390fd5b5b50565b6000612125826111d5565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218c90615357565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166121b4612c6b565b73ffffffffffffffffffffffffffffffffffffffff1614806121e357506121e2816121dd612c6b565b611c83565b5b612222576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612219906153e9565b60405180910390fd5b61222c8383612c73565b505050565b600080600160cb601c9054906101000a900463ffffffff166103e86122569190615409565b6122609190615409565b9050612af88163ffffffff16111561227757600080fd5b8091505090565b612298828260405180602001604052806000815250612d2c565b5050565b8273ffffffffffffffffffffffffffffffffffffffff166122bc826111d5565b73ffffffffffffffffffffffffffffffffffffffff1614612312576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612309906154b3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612381576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237890615545565b60405180910390fd5b61238e8383836001612d87565b8273ffffffffffffffffffffffffffffffffffffffff166123ae826111d5565b73ffffffffffffffffffffffffffffffffffffffff1614612404576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123fb906154b3565b60405180910390fd5b6069600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001606860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001606860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816067600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46125908383836001612e0f565b505050565b6125a66125a0612c6b565b82612e15565b6125e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125dc906155d7565b60405180910390fd5b6125f083838361229c565b505050565b600080600160cb60189054906101000a900463ffffffff166126179190615409565b90506103e88163ffffffff16111561263657612631612eaa565b612638565b805b91505090565b6000612648612231565b905060cb601c81819054906101000a900463ffffffff168092919061266c9061458b565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060cb601481819054906101000a900463ffffffff16809291906126ad9061458b565b91906101000a81548163ffffffff021916908363ffffffff160217905550507f5dc238ae2706a98b704a1b162e778905803c092930a374f59bac8581b951c64b8133600160006040516127039493929190614637565b60405180910390a161271b338263ffffffff1661227e565b50565b61273983838360405180602001604052806000815250611a0f565b505050565b60006067600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000609760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081609760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff166128b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128aa90615669565b60405180910390fd5b6128bd8282612f50565b5050565b600060019054906101000a900460ff16612910576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290790615669565b60405180910390fd5b612918612fc3565b565b60008160405160200161292d91906156f6565b604051602081830303815290604052805190602001209050919050565b60008060006129598585613024565b9150915061296681613075565b819250505092915050565b600061297b612eaa565b905060cc600081819054906101000a900463ffffffff168092919061299f9061458b565b91906101000a81548163ffffffff021916908363ffffffff1602179055505060cb601481819054906101000a900463ffffffff16809291906129e09061458b565b91906101000a81548163ffffffff021916908363ffffffff160217905550507f5dc238ae2706a98b704a1b162e778905803c092930a374f59bac8581b951c64b81858585604051612a34949392919061571c565b60405180910390a1612a4c848263ffffffff1661227e565b50505050565b612a64612a5d612c6b565b83836131db565b5050565b612a79612a73612c6b565b83612e15565b612ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aaf906155d7565b60405180910390fd5b612ac484848484613347565b50505050565b606060cd8054612ad9906144aa565b80601f0160208091040260200160405190810160405280929190818152602001828054612b05906144aa565b8015612b525780601f10612b2757610100808354040283529160200191612b52565b820191906000526020600020905b815481529060010190602001808311612b3557829003601f168201915b5050505050905090565b606060006001612b6b846133a3565b01905060008167ffffffffffffffff811115612b8a57612b89613c9a565b5b6040519080825280601f01601f191660200182016040528015612bbc5781602001600182028036833780820191505090505b509050600082602001820190505b600115612c1f578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581612c1357612c12615761565b5b04945060008503612bca575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16612c4c8361273e565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816069600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16612ce6836111d5565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b612d3683836134f6565b612d436000848484613713565b612d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d7990615802565b60405180910390fd5b505050565b612d938484848461389a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612e095760cf600081819054906101000a900463ffffffff1680929190612de99061458b565b91906101000a81548163ffffffff021916908363ffffffff160217905550505b50505050565b50505050565b600080612e21836111d5565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612e635750612e628185611c83565b5b80612ea157508373ffffffffffffffffffffffffffffffffffffffff16612e8984610919565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b60006103e860cb60189054906101000a900463ffffffff1663ffffffff1611612f00576001612af860cc60009054906101000a900463ffffffff16612eef9190615409565b612ef99190615409565b9050612f4d565b6103e860cb60189054906101000a900463ffffffff1660cc60009054906101000a900463ffffffff16612af8612f369190615409565b612f409190615409565b612f4a9190615822565b90505b90565b600060019054906101000a900460ff16612f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f9690615669565b60405180910390fd5b8160659081612fae9190614c5f565b508060669081612fbe9190614c5f565b505050565b600060019054906101000a900460ff16613012576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161300990615669565b60405180910390fd5b61302261301d612c6b565b61277b565b565b60008060418351036130655760008060006020860151925060408601519150606086015160001a9050613059878285856138a0565b9450945050505061306e565b60006002915091505b9250929050565b60006004811115613089576130886144db565b5b81600481111561309c5761309b6144db565b5b03156131d857600160048111156130b6576130b56144db565b5b8160048111156130c9576130c86144db565b5b03613109576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613100906158a6565b60405180910390fd5b6002600481111561311d5761311c6144db565b5b8160048111156131305761312f6144db565b5b03613170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161316790615912565b60405180910390fd5b60036004811115613184576131836144db565b5b816004811115613197576131966144db565b5b036131d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131ce906159a4565b60405180910390fd5b5b50565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161324090615a10565b60405180910390fd5b80606a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161333a9190613a36565b60405180910390a3505050565b61335284848461229c565b61335e84848484613713565b61339d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161339490615802565b60405180910390fd5b50505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613401577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816133f7576133f6615761565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061343e576d04ee2d6d415b85acef8100000000838161343457613433615761565b5b0492506020810190505b662386f26fc10000831061346d57662386f26fc10000838161346357613462615761565b5b0492506010810190505b6305f5e1008310613496576305f5e100838161348c5761348b615761565b5b0492506008810190505b61271083106134bb5761271083816134b1576134b0615761565b5b0492506004810190505b606483106134de57606483816134d4576134d3615761565b5b0492506002810190505b600a83106134ed576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161355c90615a7c565b60405180910390fd5b61356e81612c2a565b156135ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135a590615ae8565b60405180910390fd5b6135bc600083836001612d87565b6135c581612c2a565b15613605576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135fc90615ae8565b60405180910390fd5b6001606860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816067600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461370f600083836001612e0f565b5050565b60006137348473ffffffffffffffffffffffffffffffffffffffff16612841565b1561388d578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261375d612c6b565b8786866040518563ffffffff1660e01b815260040161377f9493929190615b5d565b6020604051808303816000875af19250505080156137bb57506040513d601f19601f820116820180604052508101906137b89190615bbe565b60015b61383d573d80600081146137eb576040519150601f19603f3d011682016040523d82523d6000602084013e6137f0565b606091505b506000815103613835576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161382c90615802565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613892565b600190505b949350505050565b50505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c11156138db576000600391509150613979565b6000600187878787604051600081526020016040526040516139009493929190615c09565b6020604051602081039080840390855afa158015613922573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361397057600060019250925050613979565b80600092509250505b94509492505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6139cb81613996565b81146139d657600080fd5b50565b6000813590506139e8816139c2565b92915050565b600060208284031215613a0457613a0361398c565b5b6000613a12848285016139d9565b91505092915050565b60008115159050919050565b613a3081613a1b565b82525050565b6000602082019050613a4b6000830184613a27565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613a8b578082015181840152602081019050613a70565b60008484015250505050565b6000601f19601f8301169050919050565b6000613ab382613a51565b613abd8185613a5c565b9350613acd818560208601613a6d565b613ad681613a97565b840191505092915050565b60006020820190508181036000830152613afb8184613aa8565b905092915050565b6000819050919050565b613b1681613b03565b8114613b2157600080fd5b50565b600081359050613b3381613b0d565b92915050565b600060208284031215613b4f57613b4e61398c565b5b6000613b5d84828501613b24565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613b9182613b66565b9050919050565b613ba181613b86565b82525050565b6000602082019050613bbc6000830184613b98565b92915050565b613bcb81613b86565b8114613bd657600080fd5b50565b600081359050613be881613bc2565b92915050565b600060208284031215613c0457613c0361398c565b5b6000613c1284828501613bd9565b91505092915050565b60008060408385031215613c3257613c3161398c565b5b6000613c4085828601613bd9565b9250506020613c5185828601613b24565b9150509250929050565b600063ffffffff82169050919050565b613c7481613c5b565b82525050565b6000602082019050613c8f6000830184613c6b565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613cd282613a97565b810181811067ffffffffffffffff82111715613cf157613cf0613c9a565b5b80604052505050565b6000613d04613982565b9050613d108282613cc9565b919050565b600067ffffffffffffffff821115613d3057613d2f613c9a565b5b602082029050602081019050919050565b600080fd5b613d4f81613c5b565b8114613d5a57600080fd5b50565b600081359050613d6c81613d46565b92915050565b6000613d85613d8084613d15565b613cfa565b90508083825260208201905060208402830185811115613da857613da7613d41565b5b835b81811015613dd15780613dbd8882613d5d565b845260208401935050602081019050613daa565b5050509392505050565b600082601f830112613df057613def613c95565b5b8135613e00848260208601613d72565b91505092915050565b60008060408385031215613e2057613e1f61398c565b5b600083013567ffffffffffffffff811115613e3e57613e3d613991565b5b613e4a85828601613ddb565b9250506020613e5b85828601613d5d565b9150509250929050565b600080600060608486031215613e7e57613e7d61398c565b5b6000613e8c86828701613bd9565b9350506020613e9d86828701613bd9565b9250506040613eae86828701613b24565b9150509250925092565b613ec181613b03565b82525050565b6000602082019050613edc6000830184613eb8565b92915050565b600080fd5b60008083601f840112613efd57613efc613c95565b5b8235905067ffffffffffffffff811115613f1a57613f19613ee2565b5b602083019150836020820283011115613f3657613f35613d41565b5b9250929050565b60008083601f840112613f5357613f52613c95565b5b8235905067ffffffffffffffff811115613f7057613f6f613ee2565b5b602083019150836001820283011115613f8c57613f8b613d41565b5b9250929050565b60008060008060408587031215613fad57613fac61398c565b5b600085013567ffffffffffffffff811115613fcb57613fca613991565b5b613fd787828801613ee7565b9450945050602085013567ffffffffffffffff811115613ffa57613ff9613991565b5b61400687828801613f3d565b925092505092959194509250565b60006020828403121561402a5761402961398c565b5b600061403884828501613d5d565b91505092915050565b600080fd5b600067ffffffffffffffff82111561406157614060613c9a565b5b61406a82613a97565b9050602081019050919050565b82818337600083830152505050565b600061409961409484614046565b613cfa565b9050828152602081018484840111156140b5576140b4614041565b5b6140c0848285614077565b509392505050565b600082601f8301126140dd576140dc613c95565b5b81356140ed848260208601614086565b91505092915050565b60006020828403121561410c5761410b61398c565b5b600082013567ffffffffffffffff81111561412a57614129613991565b5b614136848285016140c8565b91505092915050565b6000806000604084860312156141585761415761398c565b5b600084013567ffffffffffffffff81111561417657614175613991565b5b61418286828701613ee7565b9350935050602061419586828701613b24565b9150509250925092565b6000819050919050565b6141b28161419f565b81146141bd57600080fd5b50565b6000813590506141cf816141a9565b92915050565b600067ffffffffffffffff8211156141f0576141ef613c9a565b5b6141f982613a97565b9050602081019050919050565b6000614219614214846141d5565b613cfa565b90508281526020810184848401111561423557614234614041565b5b614240848285614077565b509392505050565b600082601f83011261425d5761425c613c95565b5b813561426d848260208601614206565b91505092915050565b600080600080608085870312156142905761428f61398c565b5b600061429e878288016141c0565b945050602085013567ffffffffffffffff8111156142bf576142be613991565b5b6142cb87828801614248565b93505060406142dc87828801613b24565b92505060606142ed87828801613bd9565b91505092959194509250565b61430281613a1b565b811461430d57600080fd5b50565b60008135905061431f816142f9565b92915050565b6000806040838503121561433c5761433b61398c565b5b600061434a85828601613bd9565b925050602061435b85828601614310565b9150509250929050565b60008060006060848603121561437e5761437d61398c565b5b600061438c86828701613bd9565b935050602061439d86828701613b24565b92505060406143ae86828701613b24565b9150509250925092565b600080600080608085870312156143d2576143d161398c565b5b60006143e087828801613bd9565b94505060206143f187828801613bd9565b935050604061440287828801613b24565b925050606085013567ffffffffffffffff81111561442357614422613991565b5b61442f87828801614248565b91505092959194509250565b600080604083850312156144525761445161398c565b5b600061446085828601613bd9565b925050602061447185828601613bd9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806144c257607f821691505b6020821081036144d5576144d461447b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6004811061451757600080fd5b50565b6000815190506145298161450a565b92915050565b6000602082840312156145455761454461398c565b5b60006145538482850161451a565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061459682613c5b565b915063ffffffff82036145ac576145ab61455c565b5b600182019050919050565b6000819050919050565b6000819050919050565b60006145e66145e16145dc846145b7565b6145c1565b613b03565b9050919050565b6145f6816145cb565b82525050565b6000819050919050565b600061462161461c614617846145fc565b6145c1565b613b03565b9050919050565b61463181614606565b82525050565b600060808201905061464c6000830187613c6b565b6146596020830186613b98565b61466660408301856145ed565b6146736060830184614628565b95945050505050565b7f546f6f206d616e79206865726f6573206265696e67207475726e656420696e00600082015250565b60006146b2601f83613a5c565b91506146bd8261467c565b602082019050919050565b600060208201905081810360008301526146e1816146a5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f596f75206d757374206f776e20746865206865726f6573000000000000000000600082015250565b600061474d601783613a5c565b915061475882614717565b602082019050919050565b6000602082019050818103600083015261477c81614740565b9050919050565b600061478e82613b03565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036147c0576147bf61455c565b5b600182019050919050565b7f596f75206d757374206f776e20746865206865726f0000000000000000000000600082015250565b6000614801601583613a5c565b915061480c826147cb565b602082019050919050565b60006020820190508181036000830152614830816147f4565b9050919050565b600060408201905061484c6000830185613c6b565b6148596020830184613c6b565b9392505050565b60006080820190506148756000830187613c6b565b6148826020830186613b98565b61488f6040830185614628565b61489c6060830184614628565b95945050505050565b600082825260208201905092915050565b600080fd5b82818337505050565b60006148d083856148a5565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614903576149026148b6565b5b6020830292506149148385846148bb565b82840190509392505050565b600061492c8385613a5c565b9350614939838584614077565b61494283613a97565b840190509392505050565b60006060820190506149626000830188613b98565b81810360208301526149758186886148c4565b9050818103604083015261498a818486614920565b90509695505050505050565b60006040820190506149ab6000830185614628565b6149b86020830184613eb8565b9392505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006149f5601883613a5c565b9150614a00826149bf565b602082019050919050565b60006020820190508181036000830152614a24816149e8565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614a87602983613a5c565b9150614a9282614a2b565b604082019050919050565b60006020820190508181036000830152614ab681614a7a565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614b1f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614ae2565b614b298683614ae2565b95508019841693508086168417925050509392505050565b6000614b5c614b57614b5284613b03565b6145c1565b613b03565b9050919050565b6000819050919050565b614b7683614b41565b614b8a614b8282614b63565b848454614aef565b825550505050565b600090565b614b9f614b92565b614baa818484614b6d565b505050565b5b81811015614bce57614bc3600082614b97565b600181019050614bb0565b5050565b601f821115614c1357614be481614abd565b614bed84614ad2565b81016020851015614bfc578190505b614c10614c0885614ad2565b830182614baf565b50505b505050565b600082821c905092915050565b6000614c3660001984600802614c18565b1980831691505092915050565b6000614c4f8383614c25565b9150826002028217905092915050565b614c6882613a51565b67ffffffffffffffff811115614c8157614c80613c9a565b5b614c8b82546144aa565b614c96828285614bd2565b600060209050601f831160018114614cc95760008415614cb7578287015190505b614cc18582614c43565b865550614d29565b601f198416614cd786614abd565b60005b82811015614cff57848901518255600182019150602085019450602081019050614cda565b86831015614d1c5784890151614d18601f891682614c25565b8355505b6001600288020188555050505b505050505050565b60048110614d4257614d416144db565b5b50565b6000819050614d5382614d31565b919050565b6000614d6382614d45565b9050919050565b614d7381614d58565b82525050565b6000606082019050614d8e6000830187613b98565b8181036020830152614da18185876148c4565b9050614db06040830184614d6a565b95945050505050565b600081519050614dc881613b0d565b92915050565b600060208284031215614de457614de361398c565b5b6000614df284828501614db9565b91505092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b6000614e57602e83613a5c565b9150614e6282614dfb565b604082019050919050565b60006020820190508181036000830152614e8681614e4a565b9050919050565b600060ff82169050919050565b6000614eb5614eb0614eab846145b7565b6145c1565b614e8d565b9050919050565b614ec581614e9a565b82525050565b6000602082019050614ee06000830184614ebc565b92915050565b6000819050919050565b614f01614efc82613b03565b614ee6565b82525050565b60008160601b9050919050565b6000614f1f82614f07565b9050919050565b6000614f3182614f14565b9050919050565b614f49614f4482613b86565b614f26565b82525050565b6000614f5b8285614ef0565b602082019150614f6b8284614f38565b6014820191508190509392505050565b7f696e636f72726563742068617368000000000000000000000000000000000000600082015250565b6000614fb1600e83613a5c565b9150614fbc82614f7b565b602082019050919050565b60006020820190508181036000830152614fe081614fa4565b9050919050565b6000614ff282613b03565b9150614ffd83613b03565b92508282019050808211156150155761501461455c565b5b92915050565b7f696e636f7272656374206e6f6e63650000000000000000000000000000000000600082015250565b6000615051600f83613a5c565b915061505c8261501b565b602082019050919050565b6000602082019050818103600083015261508081615044565b9050919050565b600060408201905061509c60008301856145ed565b6150a96020830184613eb8565b9392505050565b600081905092915050565b60006150c682613a51565b6150d081856150b0565b93506150e0818560208601613a6d565b80840191505092915050565b60006150f882856150bb565b915061510482846150bb565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061516c602683613a5c565b915061517782615110565b604082019050919050565b6000602082019050818103600083015261519b8161515f565b9050919050565b7f6f6e6c79207468652073746f72652063616e206d696e74000000000000000000600082015250565b60006151d8601783613a5c565b91506151e3826151a2565b602082019050919050565b60006020820190508181036000830152615207816151cb565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000615244602083613a5c565b915061524f8261520e565b602082019050919050565b6000602082019050818103600083015261527381615237565b9050919050565b600060408201905061528f6000830185613b98565b61529c6020830184613b98565b9392505050565b6000815190506152b2816142f9565b92915050565b6000602082840312156152ce576152cd61398c565b5b60006152dc848285016152a3565b91505092915050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000615341602183613a5c565b915061534c826152e5565b604082019050919050565b6000602082019050818103600083015261537081615334565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b60006153d3603d83613a5c565b91506153de82615377565b604082019050919050565b60006020820190508181036000830152615402816153c6565b9050919050565b600061541482613c5b565b915061541f83613c5b565b9250828201905063ffffffff81111561543b5761543a61455c565b5b92915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061549d602583613a5c565b91506154a882615441565b604082019050919050565b600060208201905081810360008301526154cc81615490565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061552f602483613a5c565b915061553a826154d3565b604082019050919050565b6000602082019050818103600083015261555e81615522565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006155c1602d83613a5c565b91506155cc82615565565b604082019050919050565b600060208201905081810360008301526155f0816155b4565b9050919050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000615653602b83613a5c565b915061565e826155f7565b604082019050919050565b6000602082019050818103600083015261568281615646565b9050919050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b60006156bf601c836150b0565b91506156ca82615689565b601c82019050919050565b6000819050919050565b6156f06156eb8261419f565b6156d5565b82525050565b6000615701826156b2565b915061570d82846156df565b60208201915081905092915050565b60006080820190506157316000830187613c6b565b61573e6020830186613b98565b61574b6040830185613eb8565b6157586060830184613eb8565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006157ec603283613a5c565b91506157f782615790565b604082019050919050565b6000602082019050818103600083015261581b816157df565b9050919050565b600061582d82613c5b565b915061583883613c5b565b9250828203905063ffffffff8111156158545761585361455c565b5b92915050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000615890601883613a5c565b915061589b8261585a565b602082019050919050565b600060208201905081810360008301526158bf81615883565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006158fc601f83613a5c565b9150615907826158c6565b602082019050919050565b6000602082019050818103600083015261592b816158ef565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b600061598e602283613a5c565b915061599982615932565b604082019050919050565b600060208201905081810360008301526159bd81615981565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006159fa601983613a5c565b9150615a05826159c4565b602082019050919050565b60006020820190508181036000830152615a29816159ed565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615a66602083613a5c565b9150615a7182615a30565b602082019050919050565b60006020820190508181036000830152615a9581615a59565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000615ad2601c83613a5c565b9150615add82615a9c565b602082019050919050565b60006020820190508181036000830152615b0181615ac5565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000615b2f82615b08565b615b398185615b13565b9350615b49818560208601613a6d565b615b5281613a97565b840191505092915050565b6000608082019050615b726000830187613b98565b615b7f6020830186613b98565b615b8c6040830185613eb8565b8181036060830152615b9e8184615b24565b905095945050505050565b600081519050615bb8816139c2565b92915050565b600060208284031215615bd457615bd361398c565b5b6000615be284828501615ba9565b91505092915050565b615bf48161419f565b82525050565b615c0381614e8d565b82525050565b6000608082019050615c1e6000830187615beb565b615c2b6020830186615bfa565b615c386040830185615beb565b615c456060830184615beb565b9594505050505056fea26469706673582212209133b5af9bfb2fe2bd4a9654830581fd680e2f970e4a780922344e3b8d3746b264736f6c634300081100330605581d02ba4eb93d9270c409a926ea1c3d83a03b0ffc869c780adfd34b33650c0701195c8403f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581d028b26c81da48a7542f3d4c29803a28d2680ea7a44aedbc9f63b42081907011bffffffffffffffff0219114005581e0345f9482b27c7b1ec1ad44698a4753688f93d0bda9bb62cc81c974ba2800c18254640f89fa74a8002199fef0331125b076e4ef3559f482c402b3713ca9c3d4cf12bad9c0116503de77c76ecaa037ce56d68254788ec70560707575b29ad03a74b4a32a55471ac311fc30e337057035568bd112c72d6488df89a268c549574a1c1a673a555ad99835860777faf4cc20365b95d0528ade3353a86976ff3b541f096e66fc607582d3b79e45240fd7e8876036130055ba3bda8eedb330ed78df1913e4800a829d540c66ce2efebac7af3fb2503154a3ae7705d1b7683f587ddcf3986e66ba2ad19f99f1c28d960d00a43949555035b121f9e0c80177c0e6b9a1f8c060272726f3a615eb0838fac2d8b791a0634d103b838d4cc0dd68ae04ffda8ec34984e18b720d4958cc2a6ee4dd0a37a8bed994003e4bc2d6effdd9336ed53def794a76ab0333bf1c7b2af5614e332b3f9b4e2624703db9a92aa43a03c37c8d9aee2c6b6be300175a53a7bc0ab744501ff241427573c03cea7d824964da4f3090237954f997baf86fa6ccdb26cefefa3fcd5d7d3f45fe80219ffff032836b7cb5d3036a4adc5463258cc6c4a0bde60b08986f1f41e8a1eb2471620be03ab7a6f849834fb890a17e14fab4896674631eff3b732cdf94a739a86ccb1498303ff66a1a4423ea0496ff8c443be55581e0966f9c9386ae78bc16dd0f1749bf7180219ffff037980caec2672cd5897cf22536e4013fe9d7606d99b1c7c75e74c684b48bbec5703bc37ee10c7b1130435cf5be4dcab255ac2bebd0e0cd034892df6ac8e7fe4a90c03a5ae96709a8ee777f1cf3bf03c9550d1004d353ed6c5009b6136282715460e17032ab12ae1b6e5d821c053084fa37e72aacb4a28858ae789946b5b00340d4a3ecf0300c3530aa7e869d35a81e8cea4167a9c18f7479e12d3ef82bad453784c5c5d4f036377138844f5d9cc837950885e4ba09352cb59ce96d74470879d3106577d952103d8ad7e9504b8e8cda5c8b0b68763dc7bdd681834437b8ccecfd9f6f5cf671e9303a2b467b93edfdf4c2465f23822477a7f021208e01124bf7c309a05ea8f4e9b2f03e5316b7ed0c37020840f8029c5a0cd92fe8c41058cfe29f0cea40d5fb7ccf882038f3308f9169913faa2ae2aa4db31f5b9c981021de87860fd5d9afebfdf97147f03b53aa0aa9b02233d7b1e8fd36fd7416fbc126de61ffc9c169895d1229bcf26a803e12edb8514b5241c805a00ea55a65c3ed71cdb05bdad914ff914de08a37251a303bc4648eb8556a89f8a8e93e4e9e42460ea63d3d0ba9ff4efb0f3db335515dd0e0311e7e0a30c303285dac911d455c2156eda38de07dad74d5592838fe6eda3ccf30381f5c43ba6bb2e72890f9ed099ce1e0193addfc38d022b18b7822a9bd1000b97037520941f1b44f5c6405d98a1a3b30fb1800ba969cb100f1abf2416c2a24e665b03a2a3ada35f8ee9d80faca94eb81c29a4a0ff55d7f3bddb85ff2c1a59e5f561970371724c03e1d59f0e049b0530cfb5a9e942bc555b1e540c338491749c72cb271f05581e03c847bfe6ae7f8db2a301d2fef95baa6e2c9b043cac89069ea0711e0cc00c194d25480f64ea3296973ab803a13000ad58b9dc1f0a09b2d9acb69b04bdc1b71e4e9767a0f496cac92fac0ca003b4aeac453d23e2d2f87fb630d4bf69174f1c4b7daab69eb2c74d145484d5c19105581e03483afe6c1a63530f1689cf440aa9d84bfac8f71cea32ad5997b042ce500c02465df0da6ce5c003a8f108a383e42131181bf3d7425d03c64ce8c39c13070e3d0028e2eaf4013a4305581e0389fc25f31395c53c3d0449685362093d302c1f8446fadbbe077bff8350040305581e03f64e8c721693cff8fa6b2b496b752066692fdd0755ede749a7d04020800c181b470e2b90b2dacab005581e03c7fe890f856b687ba7ab34f8d79ca0cee56d85b54c4478b2ec904ba2200c0346e9b9f8a2b3d005581e03ad18a849bf602e113178f16ce48a249fe903af2ae09a28e088c7b5d8e0040105581e038945b270b9038c3919963a3249496ea27225a93c2298eb0686a9fbb6c004020219f03f03221354afcd7b14bef9cb18026bf9f871dd03fe46af5ea51599e028f0d8fa4b660373d135a6144edf85535b1f38eee637d43e37b0b3a5b8c1c0778e7d9ff9ee9b8c036d29aab112e4b1fbce7062b877aa30aa7a710bc1b3256a009bc8913b93e427e2033264dfa63d433420ab4387d18e67ff6594455db9bdb7f5f36b5ac50adc2e3cea03b726ab3e40b0f0c1baf0ca09dc525ae0452f20ca10108593d64846db62085ded03d40d3967ecfe5bc92f2b4dd64193eaf0e1ff60ca2645bbac3873f402163ab5d3033e79ad90f707005f02f2003f06ae8a60766185c46133e9393395ed2b6b86fee20219ffff034f20a924662fe88c6982438e85ef83ac8806a76bc32eb52fb68681a6813125dd0348f4b664c2b30f5c54ad6d718137532e30303a9832749f39a380e58c736e72d303a5f5d88394d88ed8f3920dfd5c58b3f21cd2195c07d20822722f5219d0168110039df682e440ca40b7e1645619a5735c3aa93b642be877caa33d3c3c632651b4c603cb9fbde3eec2b393f793bf7233c577cc39856f7f6bce821815ee9132561804840219ffff0329ad8f24f4020ab45abe2248eb28bddf52496355517a4ea8d8629a09dbd24de903d4085a4b5bebea4a3bd466201e4e134a4eb0f248a26a86cff0bfa517bfaf14320219ffff03b270577e9db3b28d44f42c240b1b905ed12647923040a2829674a9cf3eb0382803193b8d58c4dba35c1d311c7dd83e2c78e7bc3fe9e26afa07686bc4a86eec54a40371e9397f5273d095c500da825802993d8b7e517eb67dcab6fea999b3ed77157d03ba2505f29a5c0fd6a13b9f0fa92294ed490dcc1f2a3fc5bfa8b3c793c8741ff0038e366cda09f3852690194eb06d1e5bc2c346829ef47e7215a09211ee3b08f63303bc212c64b370b325367fa9a2fa4ae8ebd4b0cf8a0e7051be14fd5f34a8bf177903ce73bc1b0b979240ef0587df464098b0cc66b8810d29f28e35e4fd1f3f6e945e03dd8f800fbe7d3a24d01050b12fd15000d19cc1b16cb33c94d31edc824a6554fd03cf302f9c807e1b45cc3dfb4ba478962c52cbbd7a9751cf9e6dac29c76b928ec403f72794adf86721b4c6db4447ab6b1096b2effa20f3d00753004ac48026c1e3cf03b6e36608f392333286cbef8a220e471cca82868454a16b6ad684cf29012afeee0323f7a7d204b84798fa85eec39be0c08ef0a2c36a60cf9046e00137198170ac5803654d442ec74784211abd0362178094e88d9bc40d44ee3ce7da1e992987ed26a603ca6b0207de4f66b4a6fe6156226028717f0615cc35fa20b21e5af70670c927d103899948e746570f8383233d863f09d1a100c5e1cfe23a3df428945113f6ea817b032ab4d588581ed9c77083e5a88a3f992d9cb766483b3ba564a5655aaceab538f903ef7c44e5521eeb073cdb6b363105d5c7c2caa108109da11cd9208ae6b8092dce0320533cce4c0567c003258befb47dc194ec4fc31b6ee7afae9ee363b0c6d0146105581e03f98b49953e4aba844d0f0155c6f8797ebb888e61aabd418b93487c51b00c01470b5e0c5bda9ae003c8312a1b0a4a21466d0b0bd40a02ce4750c75849aeae042ebcee227127187b6d037c583af58b2721ea8f74dd89ea1756c213448834b6fde954010110d880594e4905581d0207831f8b706f821a0ef7c85add548e2ef9b95651ec6b4a97812d94420c01473df079e1193e0405581d02f9db85f8b04d41bd65c11cc594861a7d49ca0f6e145cbc9646256d74040b05581d0269589ad8c14cc0cd9466f712e7f2fa576e0a27986344759786f19e970c18464815da4090477025ca0219800a0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803403f6b422bd31197888b5cc3975b6bb5740aa2c9788d593ac0e2a0a57906149805581e0342663a5b7543d22d4d087a10029100003b14a742f2e7ac814b2c5d331007011bffffffffffffffff05581e038759894a050eb0243c0ba07c10045cc262a2c2aa4a726d4be562157040040105581e0363459cc480ab29aa1fabd57d285386bdd20cc5896998b910ee568897900c01467e7a34fb630005581e0317d23b6d29c9694525c9a647e4c07e3adf756c186f36881d1622185df00401034bee41b81e456e9a074153cf86f226d778ac2c20d8124988a31d637d9c548eeb021938db03849109c474328e178bf45e1fe86f16540c7de5ff2ebc3713d857567747064b4203d2d4a0552af2fabcec8704a8b178c935fa926cd1dae22314e936fb9efa365d83035de1ce4b5b31bc6d13fea69d96e8e158306f0e2baaf3aba003fe65d90e54d363033c722165d507daa86856d2bf2665432518692ceffe595cbef28064f87bc6e951033db395bc69b93a01ea388a6672ca8679c9446a47ec30d5b3acf55c6b039098b203a0e6f1825d2c28c4b66a4b6c3dcaf5655bdbd7e08b5734fd32d24de30e238787033c4be39ff4d67222349a12d776c622f72c0e3600ce0d9985fc6648e07e72fa16038fdcb1eb80e3a1e1fd64846a3203fccd77febd5b1b8b1afe75f1f196c3074c0c033edaabd4618bbe7ca1b00df51b807d3a4d5a8303ba6f7a62026d954ab1144ad90390bae08f45296c5b42a877f388d2ee11de3f3966c906a2c58b98aa9617189d8403c2a953b0e020438ef673d7b30c86788ccd917ecc859e199e5072ca976fc4c37303c67064ebd6d655b9dcd2189c60edb990d1422c4029dc2b8f40c010547f06a0230219ffff03883cfe57415cd7b1ab37a0b6a9fc27fa596775fdde4a9e2bac2e559385b5d6180309b6052aa641fecec2110ef3e17d46974abd85f22efc4e48b137642bfa1f074f03b2f8a437934ab0d2715cc63e0f84a183a74f4feb9f09ac14f3ade44e42d9d334032f2d3f1f4b43fec654d25cebd5ffce0e71fd3b39dab37767b33f836542351b1e03023b5178e539853d167fddce17836f8291eebc73eb4e2e42802f04661f1b4b9c03ac0d21b8463de16a9073a6b55888eba37ba1038b571962308adf7a086411f20a03d9b8deefb7df9a3384d799001953dcf6a640f54f5d2adffd2e810ca12623fff00219ffff03e3156f2ef391b57623f609c7462b8a7fb6b9e7a2cf34f12235f2d94bf9a7d9580328066bf75622bada275288a213750a933e7cf580760d4b31b0aa258259290129034de17fc848dcc396348ae606b9edabc66e6a1a46294d6b10e9159ca57b7cb023034f2aa907c953c8015839054eb5aa2d3a02678ea174fd7182d56510d1fdf3e2d40363ff223dccbf12c776a3d4f69fe586fd557078d775def6523e1b5f3741e5a07f030b875bc09b5bcd508e14529cb02e9f3a406ea7a0838786b461dfe640963915af0397394139c24d5dfccbbc93bf77ef25a3b312caee0c8e516c2e886efd4c8ba02f03dd8f2423c102145cbcead4dfbc4f19a1bb709b8ac21bd49bd9b83415349608b703d45d47403feff172aa14b1c42a9150c1cd64b9dca4fbc5f5e6e0137409776a490219ffff03118b2c0ff8f4877301f2e2ddea728c7ee83c6279894ce4a4e4d2d11a60f5bd560382d12fd22dfbd6ae87fcd20885c7870ba9bfd30c9e9983b324c7821a8a671c81035201a5bac611cc29428aa8503664d932b27a73fb49f261c5c65cf0c090cf0cc40357c156d94b88d3e18b09f8bdbee5b225ef24a6015cef4c63a9319d429669d1d40359df2274bb8cd84bc0f0fb9321df085a56c6258f753ead011c342cd00e72f87e03d78b47e64d689cda15979af4d67d978c6f939044432cdd745fda436a84645ba2039fd526d456cf008c86790bf99d678972ab47484231f07b7a635d948e129d07af035104396681f00cc2ab62964ae068692f518e185bd517b8a81b9c137f52b33ae903f9117a59bf0db83413bfd2cf5f88859bb821cf1c7bb2819deb74299d238827e303bec396b33335321c6c71a0180919ca72ba4474d06f30ab6d648695b9bc652eda037b1e580dcb03642ec0208cc7e609ec27b8cb6aaee8685e4592fe76d99301fef80319c49e39260f4113bacb0b92edc425f3b0bebfbd008ac0c272dc925201af670703b43f07b6a9735235a3c17ddc4a0244b77f793ad1d6b8a87e923dbf654d8a3b9803b8c51ae1dfe0d9dc281a37ec7feb21da4a5eac040f74c39583c0816fc6ad0f94035748c11031b58acf859699ba5737d9da588030e4a4c24ed6c42a950db28ba11d035d753b3f49587a50085be1be56fca37139e0e290714c4515a1aee9d378aaf1a703147750d261afa286b4c9a92303b4ca9c9d0207ab96dc484c5c05d467528e52ad035e0555b3cc0a7ecf46f43c711d6a52d32da972ce8998f904b4e4ac6918fd4a2a034f9adc0c60c605b105d89b99efe47f312f75278b59b686f031a25f0a661638bb037a3b8feb714ce8749c05143572d655f2bec6aecd7bb83a1ba39f3347829fe1c40396f4be26895f91a244e91113c1add5f97bbf152487d604afc8e06a319dc2bb3503a9d34f29f45a36c2286577aca64dd333958b05b084839be6362d79512729f0e303b32f3a2659961e679dc534048d5997ff6fb7ba4770065fa16018f8e62ad4b08603753aca47f46b7cfd40f1efd3a0fda969bf1fc4c857530091a21f850390a2006503fc7b9ef7689af974029031b36054b2ca349d8dc6700729ac2f2f599ac097b64703b91e1c9e0147103641aeecf01102cac9935598bfab2f8b0e858bcfb7bf2b636b05581e03770c4bc95f2079860ad04496552e0cd531ad192ea694eb99f33960c5800c0747e9999c03e5938605581e03596147263024fbdda52e9c7da301e9bc281ac6d32f07cdd3911537be000c01470222e2923ee12803f7bd56c4291dd8533ecd538037cf07e90ba5bfffbc6038e94b38e4facb1e58820370327b552c1f021dabd1a66fbed4077820d25c9a172dadbd673835f7f91ef36603221c8815e22b17089bf174cce91463f9608846d8130a102dd0e94ac4af2fc41505581e03291376d3898bdd8bf0c2e3d738e8205f941e50ae5d588faed18392a9d00c014704debedaa1500003551aebbde140f9eea319ab126785a383f1c30113d1ead5834a902d58922b9d6e05581e0301f2875e65c12995b2bf07617223c629397d05a3809c302c60d9e1f7b0040305581e03d3255228d36635fb796c16d1d5157c918a4499acd56a50046f0671ab000c0648014f30a7ed7af60005581e03a7e3f0b3819c60cefbbf564b9265a36681959adafabb5f379ac0fa7c500c12471fac4d67cd191a0219ff530343121dbda43d469fed73b4b65398cf1b63846bae333a73bc3be0ca3145e9f5b003b211fa1da00ab209184af1f8c5c9905c8e7087f49b4e844fba590d667bbd264f03cb8e289da809bedbe9cb0769cfa449a205816c815d82392046cbe5ae1288e2aa0305871997bfb636ab7327a8822a8a24b062aae99acf91ede2e1b20ce48eb7c93c03b21e962e2840124e9b5ac1d91d8e2711edd9bedbdeea2806234b5d58f368a71103c3f92ebe6d91b1ffc9344f175911f2c971ec2801a5849ee9151f3076d1105e6d039f2139f967c3f36db0c820ef0e18f1a51bee0425869f10e72c1dbc5ce6f2a14f038251260878b70438b49089d3bb1f6a54704511d445329b39a976a56633ebcc4003bc57d04f747ec31aa1020920a1c4a58cb5e048d13491c8e586fcd131f8664a6c03a7c4d567dc256079da3b9f517d59ccce3b3d1584d3703091c08896e9e7ec0330038f7c415a09c832120ded1ceabc0f8a1120746b56cba50484b45e84019ee383b10219ffff0219ffff0380209d22961effb625094ba284f33f72f2906fbd91d0852c5c1e0bd8e2fc8cbb03d91506ac144fe583096eb23a29f6ce4844a827f8c5c659d003ae422dd8c4d35403c36baa0ea1274dd3d6c715bffd39c90c2106a1c2915a6239d95bb219725f20a103107a44e51b39728b049644d54a630bbd2cc246de21502eaa3a76d8ed9b14f7e403312a4dc7c206dfb3223551ce8085cfd215429d90801c52eaee78edad98f02c30036ec7415eb0deb7cde3c2a82d2ba16834ed5bac041bcbabb307abe1302173085b03369e143803b8f6945b39edfa812291b7d31afd930e9090d811d60dff1aff0381035bdea19e4ab28e6899598d1b108bc411db143ca41341fcdc0cc68e154d57d67b0351066d6b293d4eb464feea8221d67a9184e94ad13a1b950b354d8650717cb04d038627dc207af9bd586b5aea1c5bb9591a9c97780a500893b31ab57f4f7c8bb5fb032165a54c70a6948d93a9c8629cc9a6518de5bf722d000dcbf0222fcd9d534c4d033736b55f3ec6ba75578918a297afb556ec923e6365a26f2fdf7c3b7981d90ca90219ffff0355655b1d7bafd7bc94e98b3e1ab8ab19c901817c469019a692f842bae933c8d8032db5d862cda52622e5d8e5c3ef6c6ce4d8ea48e0d59f73d0e51d1e07fc2a2d9a03ad9112cc81649f2310f107fd65594b18f1c4c63b21954e2ba8452ff91e8cb35803090a658afbf19ff7eabf43b9c217ce50e84a31a3e0ba83e9622e0a03a4591f19034764314fb47cf8afd5ba1f17a1605ba6c1291e3f999e2cc7240ae5d49b09cf680384e42363baf43c4234cecef785513521647214991e004855dc2c7c6da371a0ca036020c353a2acd3d80176cfcb3ef86192956e2dfd76197d11e83a555be8167ef60309fed369ecbdc27fca62192159ca58e2e65570d936f35de3e47a878efa86bd2903c5f820c3314e0d64552f594abdd9e5b9f82cb27031e6dea0556a27789de07f07031db6bd1bf29cb4319b461300ceb0a084a1088238d68ca78776be74e79bc9c6c50334994db04061b039e3d5edc734a25905ea99ab4dcbb61d97200d8981cff5d2be03a36cd5fe8ba2daa28e544972f1f9d902547d75a9e159c730fab292a1a420a21c0396688ddf60882997d904a490f87469245ee283477b16ee6ef677f9a94e60042f03b605d659cdfa6fac2d1bf0011766ba7e67296ced78440b1f857d57e9fde62bd203bb5eda4a14b20696117fe13c001703b996c27c0bb4f528d75dec85434e85214f03864ff702ad2e03f68bbb1e03f7bba8bc239bffc9972e6c88d6f70aff7bdeb2aa03400f6652bac66b2d1912cae230c865f2a00f3dc9e2a697b2b969cd16dac3dc790330b101704dee6b129182bb546f644defc11fd7d94027877cc0202504b7c5d10c0368eb25263ae16570e080eaa0795f9b7a60fd52eed24acd773febad4f7c4bb1780366a4e10bf8c92a26e728f18eb7362e4fbfaea757dc7d1fdf959c6c5bc58c668503afecb29f3ed01d84888721b36215a259ed717ebc87352a8b7a59836e6254cbe0030b2d09a6eaa6004efc041eb37f28cb4fa2e5dc8229a5292ea6459121bf83453903ddb63aefcf2defc68d756a3cad052a1d2cea3af3fda5818a56773732043184ad0315444acefedf1a703c957cc958f46945f4edb03b0e50c5e9b2be8649304cd0ee033bbd1f01ba7ead9cbd5e9e9225e08c73c08a6c60b130dfc721822224a8ac99a903a801ad1fe191e7497d500a429dec505e66784c74c3c150ee7f91f6b977c9e08c03853cb22be998d771af8daa101341ba5808949afb337d2053f7efdc9607a569ba033a24f3139517b4200f137b8006ce995a8c1c6c86efcde272cbb18f88bec750490385ab65abcf2c6b2224878cd0140cab53eb572bb47f091992dc098111bd153367033628171e4c8a93893c2a85e884b4ef23d36f294782c1446da71c4b6341ac671903bdb9509fc889a76460d4f9fc53b3bee256dc86520488bf6b7d47116089e5968603418f359d21b04f9b046d08dfcd932ea4442b583dc78e0bd0dc2c3de7cdc41ad9036c21df46649997bc70b4688e620676260a818d4885d37e658c1297ee824d5eef05581e03df576c8614e64e105c308a5c0ca2a072b3c065b340838c13927ef60210040205581e039e85a47157f75e6d957c4c3f038e28e3982cc51494acae00a895e6bc500c01472fe4b1a1b9e30403435002c56f2556e2e3e13264e12791ba5c18a9095424a5bc4ecd52fd834f208301410b038b9e0e314d5c2b7d266e5f11b125805c503d230f412da80662d4f13e611666c505581e0300373114f5e0d6180f5c1791da20346c5fe9843b500532b86011f937800c0146347fea83d8000312622603b2c71d7a23067fb1f0884c3d30727c2654239fb604859e5570aef8aa04594d476080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063079bd2c7146102d45780631186ec33146102cf57806315348e441461027557806317fcb39b146102ca5780631b3d5559146102c55780631dfb2d02146102c0578063272751c7146102bb57806329cb924d146102b65780632cfc26c5146102b15780632e378115146102ac5780633659cfe6146102a7578063493a4f84146102a25780634e0fb8f51461029d5780634f1ef286146102985780635249fef1146102935780635285e0581461028e57806352d1902d14610289578063541f4f141461028457806357f6dcb81461027f5780636068d6cb1461027a5780636bbbcd2e14610275578063715018a614610270578063738b62e51461026b5780637aef642c146102665780637b939232146102615780638624c35c1461025c5780638a7860ce146102575780638da5cb5b14610252578063979f2bc21461024d5780639963e5a81461024857806399cc2968146102435780639a8a05921461023e578063a1244c6714610239578063ac9650d814610234578063bbca7db01461022f578063c35c83fc1461022a578063ccfa597114610225578063ceb4c98714610220578063dda521131461021b578063ddd224f114610216578063de7eba7814610211578063e19044021461020c578063ee2a53f8146102075763f2fde38b0361000e5761256a565b61250e565b612450565b612402565b6123bb565b612377565b61233b565b61229a565b612251565b6120fc565b612016565b611ebb565b611e83565b611db7565b611b6e565b6119f5565b6119a3565b6118f4565b61178c565b6116c6565b611608565b61153b565b61149d565b610679565b611459565b6113fb565b611348565b6112b3565b611261565b6111e8565b611076565b610f31565b610e5e565b610ce8565b610b44565b610add565b610aa5565b6109bd565b610960565b61086a565b6106b1565b6105a2565b6102e7565b5f9103126102e357565b5f80fd5b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000007080168152f35b73ffffffffffffffffffffffffffffffffffffffff8116036102e357565b359061036e82610345565b565b63ffffffff8116036102e357565b610144359061036e82610370565b359061036e82610370565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116103d857604052565b610397565b6060810190811067ffffffffffffffff8211176103d857604052565b6080810190811067ffffffffffffffff8211176103d857604052565b6020810190811067ffffffffffffffff8211176103d857604052565b6040810190811067ffffffffffffffff8211176103d857604052565b60e0810190811067ffffffffffffffff8211176103d857604052565b60a0810190811067ffffffffffffffff8211176103d857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103d857604052565b6040519060c0820182811067ffffffffffffffff8211176103d857604052565b60405190610180820182811067ffffffffffffffff8211176103d857604052565b6040519061036e826103f9565b67ffffffffffffffff81116103d857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261055a82610514565b916105686040519384610485565b8294818452818301116102e3578281602093845f960137010152565b9080601f830112156102e35781602061059f9335910161054e565b90565b6101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356105d981610345565b6024356105e581610345565b6084358060070b81036102e35760a435906105ff82610370565b60c43567ffffffffffffffff81116102e35761061f903690600401610584565b926106286132c2565b60ff61086b5460e81c1661064f576106489460643591604435913361333e565b6001606555005b60046040517f5a65d188000000000000000000000000000000000000000000000000000000008152fd5b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760206040515f8152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2168152f35b67ffffffffffffffff81116103d85760051b60200190565b9080601f830112156102e35760209082356107518161071f565b9361075f6040519586610485565b81855260208086019260051b8201019283116102e357602001905b828210610788575050505090565b8135815290830190830161077a565b9080601f830112156102e35760209082356107b18161071f565b936107bf6040519586610485565b81855260208086019260051b8201019283116102e357602001905b8282106107e8575050505090565b83809183356107f681610345565b8152019101906107da565b929161080c8261071f565b9161081a6040519384610485565b829481845260208094019160051b81019283116102e357905b8282106108405750505050565b81358152908301908301610833565b9080601f830112156102e35781602061059f93359101610801565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126102e3576004356108a181610370565b60243567ffffffffffffffff928382116102e35760c09082360301126102e3576108c96104c6565b90806004013582526024810135602083015260448101358481116102e3576108f79060043691840101610737565b60408301526109086064820161038c565b606083015261091960848201610363565b608083015260a4810135908482116102e357600461093a9236920101610797565b60a08201526044359283116102e35761095a61001893369060040161084f565b916125d2565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35761064860043561099e81610345565b6109a6614460565b6109ae6132c2565b6138bd565b801515036102e357565b346102e35760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356109f881610345565b602435907f0a21fdd43d0ad0c62689ee7230a47309a050755bcc52eba00310add65297692a602073ffffffffffffffffffffffffffffffffffffffff60443593610a41856109b3565b610a49614460565b610a516132c2565b1692835f5261086d825260405f20855f52825260405f20901515907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8316179055604051908152a36001606555005b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576020604051428152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760206040517f152eb71524aef34d838ab76573c14b1ebfa5e385d9ab29d7cf5398daa2438bd98152f35b90816101809103126102e35790565b346102e35760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760043567ffffffffffffffff81116102e357610b93903690600401610b35565b610b9b6132c2565b60ff61086b5460e01c16610cbe57610bb66101408201612809565b63ffffffff429116101580610c93575b610c6957610c5f90610c4b610be3610bde368461281d565b613a61565b9160c0610c44610bf560208401612813565b610c036101608501856128fd565b939094610c0e6104c6565b97610c19368361281d565b895260208901520135604087015273ffffffffffffffffffffffffffffffffffffffff166060860152565b369161054e565b608082015260243560a08201523390613c13565b6100186001606555565b60046040517fc3a9b9d0000000000000000000000000000000000000000000000000000000008152fd5b50610ca060408201612813565b73ffffffffffffffffffffffffffffffffffffffff16331415610bc6565b60046040517f7b21f8aa000000000000000000000000000000000000000000000000000000008152fd5b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357600435610d2381610345565b73ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000a4d3535f33549749fb97fa42903ac80f6fb54af6168030146102e3577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc9082825416036102e357610d95614460565b60405191610da283610415565b5f83527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610ddb5750505061001890614a0e565b6020600491604051928380927f52d1902d00000000000000000000000000000000000000000000000000000000825288165afa5f9181610e2d575b50610e1f575f80fd5b036102e357610018916148d8565b610e5091925060203d602011610e57575b610e488183610485565b81019061433e565b905f610e16565b503d610e3e565b346102e35760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602435600435610e9b614460565b610ea36132c2565b61086c8054680100000000000000008110156103d85763ffffffff9160018201905583610ecf826124cf565b5084600182015555167fc86ba04c55bc5eb2f2876b91c438849a296dbec7b08751c3074d92e04f0a77af5f80a46001606555005b9181601f840112156102e35782359167ffffffffffffffff83116102e357602083818601950101116102e357565b346102e35760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357600435610f6c81610345565b60243590610f7982610370565b604435606435610f8881610345565b67ffffffffffffffff916084358381116102e357610faa903690600401610f03565b93909460a4359182116102e35761105a63ffffffff7fb0a29aed3d389a1041194255878b423f7780be3ed2324d4693508c6ff189845e96610ff261106c953690600401610f03565b939099610ffd6132c2565b6110248c8c8b8b61101b611012368a8961054e565b938b369161054e565b9346908c61434d565b73ffffffffffffffffffffffffffffffffffffffff92836040519a8b9a8b521660208a0152608060408a01526080890191612955565b93868503606088015216981696612955565b0390a36001606555005b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356110ac81610345565b60243567ffffffffffffffff81116102e3576110cc903690600401610584565b73ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000a4d3535f33549749fb97fa42903ac80f6fb54af616908130146102e3577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc9181835416036102e35761113f614460565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111755750505061001890614a0e565b6020600491604051928380927f52d1902d00000000000000000000000000000000000000000000000000000000825288165afa5f91816111c7575b506111b9575f80fd5b036102e357610018916149b0565b6111e191925060203d602011610e5757610e488183610485565b905f6111b0565b346102e35760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35773ffffffffffffffffffffffffffffffffffffffff60043561123881610345565b165f5261086d60205260405f206024355f52602052602060ff60405f2054166040519015158152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602073ffffffffffffffffffffffffffffffffffffffff6108695416604051908152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a4d3535f33549749fb97fa42903ac80f6fb54af61630036102e35760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b6101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760043561137f81610345565b6024359061138c82610345565b6044359161139983610345565b60a4358060070b81036102e35760c435916113b383610370565b60e43567ffffffffffffffff81116102e3576113d3903690600401610584565b936113dc6132c2565b60ff61086b5460e81c1661064f5761064895608435926064359261333e565b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000e10168152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060ff61086b5460e81c166040519015158152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576114d3614460565b5f73ffffffffffffffffffffffffffffffffffffffff610c8c8054907fffffffffffffffffffffffff000000000000000000000000000000000000000082169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3577fe88463c2f254e2b070013a2dc7ee1e099f9bc00534cbdf03af551dc26ae492196020600435611599816109b3565b6115a1614460565b6115a96132c2565b151561086b80547fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7dff00000000000000000000000000000000000000000000000000000000008460e81b169116179055604051908152a16001606555005b6101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760043561163f81610345565b6024359061164c82610345565b60443561165881610345565b6064359061166582610345565b60e43561167181610345565b610104359061167f82610370565b610124359261168d84610370565b610144359667ffffffffffffffff88116102e3576116b2610018983690600401610f03565b97909660c4359360a43593608435936129c0565b6101807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356116fd81610345565b6024359061170a82610345565b60443561171681610345565b6064359061172382610345565b60e43561172f81610345565b6101043561173c81610370565b610124359161174a83610370565b61175261037e565b93610164359767ffffffffffffffff89116102e357611778610018993690600401610f03565b98909760c4359360a4359360843593612d6d565b346102e35760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356117c781610370565b6118326024356117d681610345565b5f54926117fa60ff8560081c1615809581966118e6575b81156118c6575b5061294e565b8361182960017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b61189257612e88565b61183857005b6118637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff5f54165f55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b6118c16101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff5f5416175f55565b612e88565b303b159150816118d8575b505f6117f4565b6001915060ff16145f6118d1565b600160ff82161091506117ed565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760043561192e614460565b6119366132c2565b61193f816124cf565b611977576001815f80935501557f3569b846531b754c99cb80df3f49cd72fa6fe106aaee5ab8e0caf35a9d7ce88d5f80a26001606555005b7f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602073ffffffffffffffffffffffffffffffffffffffff610c8c5416604051908152f35b346102e35760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357600435611a3081610370565b60243590611a3d82610345565b60443590611a4a82610345565b60ff5f5460081c16156102e357611aab9061086b907fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff7bffffffff00000000000000000000000000000000000000000000000083549260c01b169116179055565b604051611ab781610431565b6009815260208101927f4143524f53532d5632000000000000000000000000000000000000000000000084527f312e302e300000000000000000000000000000000000000000000000000000006020604051611b1281610431565b60058152015260ff5f5460081c16156102e357610018936109ae9251902061047f557f06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c61048055611b61614559565b611b69614568565b61457c565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004803567ffffffffffffffff81116102e357611bbd9036908301610b35565b611bc56132c2565b60ff61086b5460e01c16611d8e57610140810191611be283612809565b9063ffffffff91824291161015611d665761012083019042611c0f611c0684612809565b63ffffffff1690565b10611d3e57611c21610bde368661281d565b90611c35825f5261087260205260405f2090565b54611d16575090611c7a611c747f923794976d026d6b119735adc163cb71decfc903e17c3dc226c00789593c04e194935f5261087260205260405f2090565b60019055565b611d09611c8960608601612813565b95611c9660808701612813565b95611cb6611cb0611caa6101008401612809565b95612809565b92612809565b611cc260408301612813565b611ccb83612813565b90611cd860208501612813565b92611ce76101608601866128fd565b9690956040519a8b9a169d60e08201359d60a060c0840135930135918c612ffe565b0390a36100186001606555565b6040517f012f9e44000000000000000000000000000000000000000000000000000000008152fd5b6040517fd642b7d9000000000000000000000000000000000000000000000000000000008152fd5b6040517f09deb9ec000000000000000000000000000000000000000000000000000000008152fd5b506040517f7b21f8aa000000000000000000000000000000000000000000000000000000008152fd5b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3577f2d5b62420992e5a4afce0e77742636ca2608ef58289fd2e1baa5161ef6e7e41e6020600435611e15816109b3565b611e1d614460565b611e256132c2565b151561086b80547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7cff000000000000000000000000000000000000000000000000000000008460e01b169116179055604051908152a16001606555005b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576020604051468152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602063ffffffff61086b5460c01c16604051908152f35b9181601f840112156102e35782359167ffffffffffffffff83116102e3576020808501948460051b0101116102e357565b5f5b838110611f425750505f910152565b8181015183820152602001611f33565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611f8e81518092818752878088019101611f31565b0116010190565b6020808201906020835283518092526040830192602060408460051b8301019501935f915b848310611fca5750505050505090565b9091929394958480612006837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528a51611f52565b9801930193019194939290611fba565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004803567ffffffffffffffff81116102e357612066903690600401611f00565b9161207083613073565b925f5b81811061208c57604051806120888782611f95565b0390f35b5f806120998385886130d9565b906120a9604051809381936130f4565b0390305af46120b6613101565b90156120dc57906001916120ca828861318f565b526120d5818761318f565b5001612073565b806044859251106102e3576102e391810151602480918301019101613130565b346102e3577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126102e35760043567ffffffffffffffff8082116102e3576060823603938401126102e3576024359061215982610370565b6044359081116102e357612171903690600401611f00565b91909361217c6132c2565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7d846004013591018112156102e357610c5f9461224c936121c6612245936004369189010161281d565b956122336121d388613a61565b9160446121f760208b015173ffffffffffffffffffffffffffffffffffffffff1690565b916101608b0151946122076104c6565b9b8c5260208c0152013560408a015273ffffffffffffffffffffffffffffffffffffffff166060890152565b60808701525f60a08701523691610801565b9083614613565b613fec565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004355f52610872602052602060405f2054604051908152f35b346102e35760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35767ffffffffffffffff6004358181116102e3576122ea903690600401610b35565b606435906122f782610345565b6084358381116102e35761230f903690600401610f03565b9060a4359485116102e35761232b610018953690600401610f03565b94909360443590602435906131a3565b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060405163ffffffff8152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060ff61086b5460e01c166040519015158152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760206040516ec097ce7bc90715b34b9f10000000008152f35b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35761064860043561244081610345565b612448614460565b611b696132c2565b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602073ffffffffffffffffffffffffffffffffffffffff61086a5416604051908152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61086c908154811015612509576003915f52027f71cd7344f4eb2efc8e30291f6dbdb44d618ca368ea5425d217c1d604bf26b84d01905f90565b6124a2565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760043561086c548110156102e3576125566040916124cf565b506001815491015482519182526020820152f35b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356125a581610345565b6125ad614460565b73ffffffffffffffffffffffffffffffffffffffff8116156102e35761001890614482565b91906125dc6132c2565b60208101918251460361271f57612604612608918360016125fc886124cf565b500154613628565b1590565b6126f5577ff8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab6060820192612649612643855163ffffffff1690565b86613731565b80516126e88451926126cd6126b260408801976126a28951966126708c5163ffffffff1690565b9760808401986126948a5173ffffffffffffffffffffffffffffffffffffffff1690565b9160a086019b8c519461379e565b5192519751985163ffffffff1690565b935173ffffffffffffffffffffffffffffffffffffffff1690565b935163ffffffff9485604051968796169a1698339386612749565b0390a461036e6001606555565b60046040517fb05e92fa000000000000000000000000000000000000000000000000000000008152fd5b60046040517f7a47c9a2000000000000000000000000000000000000000000000000000000008152fd5b95949392919060a0870190875260209060a08289015282518091528160c089019301905f5b8181106127f55750505073ffffffffffffffffffffffffffffffffffffffff809316604088015286820360608801528080855193848152019401925f905b8382106127dc57505050505090608061036e9294019073ffffffffffffffffffffffffffffffffffffffff169052565b84518116865294820194938201936001909101906127ac565b82518552938301939183019160010161276e565b3561059f81610370565b3561059f81610345565b9190610180838203126102e3576128326104e6565b9261283c81610363565b845261284a60208201610363565b602085015261285b60408201610363565b604085015261286c60608201610363565b606085015261287d60808201610363565b608085015260a081013560a085015260c081013560c085015260e081013560e08501526101006128ae81830161038c565b908501526101206128c081830161038c565b908501526101406128d281830161038c565b90850152610160918282013567ffffffffffffffff81116102e3576128f79201610584565b90830152565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102e3570180359067ffffffffffffffff82116102e3576020019181360383136102e357565b156102e357565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b96929993979a94989091959863ffffffff9b8c80421691168101918d8311612d68576129ea6132c2565b61086b9a60ff8c5460e81c1661064f57612a41612604612a3a8f612a2d8e73ffffffffffffffffffffffffffffffffffffffff165f5261086d60205260405f2090565b905f5260205260405f2090565b5460ff1690565b612d3e578e612a508442612dd9565b907f0000000000000000000000000000000000000000000000000000000000000e101610612d14578e808516428110918215612cde575b5050612cb4578e9b73ffffffffffffffffffffffffffffffffffffffff9c8d891690871690818117612c4e575b50508c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2168d8c1681811480612c45575b15612c2b5750823403612c0157803b156102e3575f600491604051928380927fd0e30db000000000000000000000000000000000000000000000000000000000825234905af18015612bfc57612be3575b505b5460c01c63ffffffff169e8f612b4d90612dfe565b612ba19061086b907fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff7bffffffff00000000000000000000000000000000000000000000000083549260c01b169116179055565b6040519c8d9c169f169d612bb59a8c612e13565b037fa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f91a461036e6001606555565b80612bf0612bf6926103c4565b806102d9565b5f612b36565b612df3565b60046040517f6452a35d000000000000000000000000000000000000000000000000000000008152fd5b905034612c015782612c4091309033906144ef565b612b38565b50341515612ae5565b15612c8a574211612c60575f80612ab4565b60046040517f25a63a5b000000000000000000000000000000000000000000000000000000008152fd5b60046040517f495d907f000000000000000000000000000000000000000000000000000000008152fd5b60046040517f582e3889000000000000000000000000000000000000000000000000000000008152fd5b612d0c9192507f00000000000000000000000000000000000000000000000000000000000070801642612de6565b108f80612a87565b60046040517ff722177f000000000000000000000000000000000000000000000000000000008152fd5b60046040517f2a58c4f3000000000000000000000000000000000000000000000000000000008152fd5b612993565b979b95999196939b9a949890929a612d836132c2565b61086b9960ff8b5460e81c1661064f57612dc6612604612a3a8e612a2d8d73ffffffffffffffffffffffffffffffffffffffff165f5261086d60205260405f2090565b612d3e5763ffffffff9d8e612a50818516425b91908203918211612d6857565b91908201809211612d6857565b6040513d5f823e3d90fd5b63ffffffff809116908114612d685760010190565b73ffffffffffffffffffffffffffffffffffffffff918216815291811660208301526040820192909252606081019290925263ffffffff928316608083015292821660a0820152921660c083015291821660e08201529116610100820152610140610120820181905261059f93910191612955565b60ff5f5460081c16156102e357612e9e33614482565b60ff5f5460081c16156102e357612eff9061086b907fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff7bffffffff00000000000000000000000000000000000000000000000083549260c01b169116179055565b60405190612f0c82610431565b60098252602082017f4143524f53532d5632000000000000000000000000000000000000000000000081527f312e302e300000000000000000000000000000000000000000000000000000006020604051612f6681610431565b60058152015260ff5f5460081c16156102e35761036e9251902061047f557f06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c61048055612fb1614559565b612fb9614568565b6109ae8161457c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60031115612ff957565b612fc2565b969091939792959461059f9b99956101409973ffffffffffffffffffffffffffffffffffffffff98898098818098168d521660208c015260408b015260608a015263ffffffff80921660808a01521660a08801521660c08601521660e084015216610100820152816101208201520191612955565b9061307d8261071f565b61308a6040519182610485565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06130b8829461071f565b01905f5b8281106130c857505050565b8060606020809385010152016130bc565b90821015612509576130f09160051b8101906128fd565b9091565b908092918237015f815290565b3d1561312b573d9061311282610514565b916131206040519384610485565b82523d5f602084013e565b606090565b6020818303126102e35780519067ffffffffffffffff82116102e3570181601f820112156102e357805161316381610514565b926131716040519485610485565b818452602082840101116102e35761059f9160208085019101611f31565b80518210156125095760209160051b010190565b94909693956131b06132c2565b60ff61086b5460e01c16610cbe576131cb6101408701612809565b63ffffffff429116101580613297575b610c69576131e9368761281d565b6131f290613a61565b976131fb6104c6565b98613206368961281d565b8a5260208a01526040890184905273ffffffffffffffffffffffffffffffffffffffff851660608a015261323b36848a61054e565b60808a015260a089015261324e86612813565b9661325c6101008801612809565b9236906132689261054e565b9436906132749261054e565b9460e00135906132839661434d565b3361328d91613c13565b61036e6001606555565b506132a460408701612813565b73ffffffffffffffffffffffffffffffffffffffff163314156131db565b6002606554146102e3576002606555565b929361059f96959192946101409573ffffffffffffffffffffffffffffffffffffffff80951686525f60208701526040860152606085015263ffffffff809116608085015260a08401525f60c08401521660e08201525f610100820152816101208201520190611f52565b9195969394929092613379612604612a3a88612a2d8b73ffffffffffffffffffffffffffffffffffffffff165f5261086d60205260405f2090565b612d3e5760070b936706f05b59d3b20000613393866146da565b10156135b5576ec097ce7bc90715b34b9f1000000000821161358b5763ffffffff936133c1858a1642612dd9565b857f0000000000000000000000000000000000000000000000000000000000000e101610612d145761086b5460c01c63ffffffff16986134536134038b612dfe565b61086b907fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff7bffffffff00000000000000000000000000000000000000000000000083549260c01b169116179055565b73ffffffffffffffffffffffffffffffffffffffff95867f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21694878b1686811480613582575b156135455750803403612c0157853b156102e3575f600496604051978880927fd0e30db000000000000000000000000000000000000000000000000000000000825234905af18015612bfc577fa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f9961352d9761351c92613532575b505b826146e9565b91604051988998169c169a876132d3565b0390a4565b80612bf061353f926103c4565b5f613514565b61352d96507fa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f9961357d8361351c93309033906144ef565b613516565b50341515613499565b60046040517fc45b6b52000000000000000000000000000000000000000000000000000000008152fd5b60046040517fa13c425c000000000000000000000000000000000000000000000000000000008152fd5b9081518082526020808093019301915f5b8281106135fe575050505090565b835173ffffffffffffffffffffffffffffffffffffffff16855293810193928101926001016135f0565b6040805160208082018181528551838501528186015160608401529285015160c0608084015280516101008401819052610120840198979692918201915f5b82811061371d5750505050816136e861059f979860a08461369760606137149701518387019063ffffffff169052565b608081015173ffffffffffffffffffffffffffffffffffffffff1660c086015201517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160e08501526135df565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610485565b5190209161471f565b83518b529981019992810192600101613667565b61373c6002916124cf565b500162ffffff8260081c16805f5281602052600160ff60405f205494161b8080941614613774575f5260205260405f20908154179055565b60046040517f954476d9000000000000000000000000000000000000000000000000000000008152fd5b9294939190938051825103613893578151915f5b83811061382b5750505050826137c9575b50505050565b73ffffffffffffffffffffffffffffffffffffffff8161380a7f828fc203220356df8f072a91681caee7d5c75095e2a95e80ed5a14b384697f7193866147cb565b6040805195865233602087015291169463ffffffff1693a45f8080806137c3565b806138386001928461318f565b5180613846575b50016137b2565b61388d90613871613857848861318f565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff8916614770565b5f61383f565b60046040517fcd298b38000000000000000000000000000000000000000000000000000000008152fd5b73ffffffffffffffffffffffffffffffffffffffff16801561392a5761086a817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f1f17a88f67b0f49060a34bec1a4723a563620e6aa265eb640b5046dcee0759a05f80a2565b60046040517f2d234e48000000000000000000000000000000000000000000000000000000008152fd5b805173ffffffffffffffffffffffffffffffffffffffff16825261059f916101809060208381015173ffffffffffffffffffffffffffffffffffffffff169082015260408381015173ffffffffffffffffffffffffffffffffffffffff169082015260608381015173ffffffffffffffffffffffffffffffffffffffff169082015260808381015173ffffffffffffffffffffffffffffffffffffffff169082015260a083015160a082015260c083015160c082015260e083015160e0820152613a2c610100808501519083019063ffffffff169052565b6101208381015163ffffffff16908201526101408381015163ffffffff16908201528161016080940151938201520190611f52565b604051613ab081613a7e6020820194604086526060830190613954565b466040830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610485565b51902090565b613abf82612fef565b52565b9073ffffffffffffffffffffffffffffffffffffffff8251168152606080613af96020850151608060208601526080850190611f52565b9360408101516040850152015191613b1083612fef565b015290565b9a97909695613bba9661059f9d9b9660808e613b9c98613bc99e986101809d73ffffffffffffffffffffffffffffffffffffffff998a80921685521660208401526040830152606082015201528c60a063ffffffff8094169101521660c08c01521660e08a015261010089019073ffffffffffffffffffffffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff16610120870152565b80610140860152840190611f52565b91610160818403910152613ac2565b9061059f949360809373ffffffffffffffffffffffffffffffffffffffff809316845260208401521660408201528160608201520190611f52565b805191610120830190613c2a825163ffffffff1690565b63ffffffff42911610613fc25760208301516001613c51825f5261087260205260405f2090565b5403613fbb576001905b6002613c70825f5261087260205260405f2090565b5414613f9157613c89905f5261087260205260405f2090565b60029055606085015173ffffffffffffffffffffffffffffffffffffffff16608086015173ffffffffffffffffffffffffffffffffffffffff169260a0870151918660c0890151948960a08301519660e082015197610100830151613cf19063ffffffff1690565b9a5163ffffffff1661014084015163ffffffff16906040850151613d289073ffffffffffffffffffffffffffffffffffffffff1690565b928551613d489073ffffffffffffffffffffffffffffffffffffffff1690565b946020870151613d6b9073ffffffffffffffffffffffffffffffffffffffff1690565b9661016001519760608a0151613d949073ffffffffffffffffffffffffffffffffffffffff1690565b996080810151906040015190613da8610507565b73ffffffffffffffffffffffffffffffffffffffff909c168c5260208c015260408b0152613dd99060608b01613ab6565b6040519b73ffffffffffffffffffffffffffffffffffffffff8d9c169f63ffffffff169e613e079b8d613b15565b037f571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff791a4606081015173ffffffffffffffffffffffffffffffffffffffff1691829033821480613f89575b6137c3576080015173ffffffffffffffffffffffffffffffffffffffff1692608060408401519373ffffffffffffffffffffffffffffffffffffffff8616858573ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21683145f14613f795750613edf91309033906144ef565b613ee985846147f1565b0151913b151580613f6f575b613eff5750505050565b803b156102e357613f45935f8094604051968795869485937f3a5be8cb000000000000000000000000000000000000000000000000000000008552339160048601613bd8565b03925af18015612bfc57613f5c575b8080806137c3565b80612bf0613f69926103c4565b5f613f54565b5081511515613ef5565b613f849233906144ef565b613ee9565b506001613e52565b60046040517f8f260c60000000000000000000000000000000000000000000000000000000008152fd5b5f90613c5b565b60046040517fd642b7d9000000000000000000000000000000000000000000000000000000008152fd5b905f82516101208101614003815163ffffffff1690565b63ffffffff42911610613fc2576020850151600261402a825f5261087260205260405f2090565b5414613f9157614043905f5261087260205260405f2090565b60029055606082015173ffffffffffffffffffffffffffffffffffffffff16608083015173ffffffffffffffffffffffffffffffffffffffff169060a08401519260c0850151918860a0810151938760e0810151956101008201516140ab9063ffffffff1690565b955163ffffffff1661014083015163ffffffff16604084015173ffffffffffffffffffffffffffffffffffffffff169184516140fa9073ffffffffffffffffffffffffffffffffffffffff1690565b93602086015161411d9073ffffffffffffffffffffffffffffffffffffffff1690565b9561016001519660608901516141469073ffffffffffffffffffffffffffffffffffffffff1690565b98608081015190604001519061415a610507565b73ffffffffffffffffffffffffffffffffffffffff909b168b5260208b015260408a0152600260608a01526040519d63ffffffff8f9c169d61419c9b8d613b15565b037f571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7905f94a4606084015173ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff948583169182331480614337575b61432e576080015173ffffffffffffffffffffffffffffffffffffffff169060408101519687818416917f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21682145f1461431757906080929187614303575b61426b9150856147f1565b0151923b1515806142f9575b614284575b505050509050565b813b156142f557836142c99596604051968795869485937f3a5be8cb000000000000000000000000000000000000000000000000000000008552339160048601613bd8565b03925af18015612bfc576142e2575b808080849361427c565b80612bf06142ef926103c4565b5f6142d8565b8380fd5b5082511515614277565b61431091309033906144ef565b5f88614260565b60809291965061432990865f98614770565b61426b565b50505050509050565b505f614201565b908160209103126102e3575190565b939260429373ffffffffffffffffffffffffffffffffffffffff61036e989760208151910120916040519363ffffffff60208601967f152eb71524aef34d838ab76573c14b1ebfa5e385d9ab29d7cf5398daa2438bd9885216604086015286606086015260808501521660a083015260c082015260c081526143ce8161044d565b5190209061047f549061048054906040519160208301937fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e85526040840152606083015260808201526080815261442481610469565b51902090604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090614a76565b73ffffffffffffffffffffffffffffffffffffffff610c8c541633036102e357565b610c8c90815473ffffffffffffffffffffffffffffffffffffffff80921692837fffffffffffffffffffffffff00000000000000000000000000000000000000008316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b909261036e93604051937f23b872dd00000000000000000000000000000000000000000000000000000000602086015273ffffffffffffffffffffffffffffffffffffffff809216602486015216604484015260648301526064825261455482610469565b614b92565b60ff5f5460081c16156102e357565b60ff5f5460081c16156102e3576001606555565b73ffffffffffffffffffffffffffffffffffffffff1680156145e957610869817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557fa9e8c42c9e7fca7f62755189a16b2f5314d43d8fb24e91ba54e6d65f9314e8495f80a2565b60046040517fba97b39d000000000000000000000000000000000000000000000000000000008152fd5b91612604906146aa92845160408096015191865191614631836103dd565b825261371461464c60208401924684528985019586526124cf565b50549388519283916146716020840196602088525160608d86015260a0850190613954565b91516060840152516080830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610485565b6146b15750565b600490517fb05e92fa000000000000000000000000000000000000000000000000000000008152fd5b5f81126146e45790565b5f0390565b90670de0b6b3a7640000915f828403921283831281169084841390151617612d6857818102918183041490151715612d68570490565b929091905f915b845183101561476857614739838661318f565b519081811015614757575f52602052600160405f205b920191614726565b905f52602052600160405f2061474f565b915092501490565b61036e9273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252614554826103f9565b61036e9173ffffffffffffffffffffffffffffffffffffffff8061086a54169116614770565b73ffffffffffffffffffffffffffffffffffffffff90811690813b1561483e579061036e92917f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216614770565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216803b156102e3575f80916024604051809481937f2e1a7d4d0000000000000000000000000000000000000000000000000000000083528860048401525af18015612bfc576148c9575b508147106102e3575f80809381935af16148c1613101565b50156102e357565b6148d2906103c4565b5f6148a9565b6148e181614a0e565b73ffffffffffffffffffffffffffffffffffffffff81167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28151158015906149a9575b61492f575050565b5f806149a6937f206661696c65640000000000000000000000000000000000000000000000000060408051614963816103dd565b602781527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152602081519101845af46149a0613101565b91614c60565b50565b505f614927565b6149b981614a0e565b73ffffffffffffffffffffffffffffffffffffffff81167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590614a065761492f575050565b506001614927565b803b156102e35773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b614a808383614c2f565b6005819592951015612ff957159384614b6f575b508315614ad0575b50505015614aa657565b60046040517f938a1821000000000000000000000000000000000000000000000000000000008152fd5b5f929350908291604051614b21816136e860208201947f1626ba7e00000000000000000000000000000000000000000000000000000000998a87526024840152604060448401526064830190611f52565b51915afa90614b2e613101565b82614b61575b82614b44575b50505f8080614a9c565b614b599192506020808251830101910161433e565b145f80614b3a565b915060208251101591614b34565b73ffffffffffffffffffffffffffffffffffffffff83811691161493505f614a94565b905f8073ffffffffffffffffffffffffffffffffffffffff614bf69416927f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020604051614bdf81610431565b818152015260208151910182855af16149a0613101565b8051908115918215614c0c575b5050156102e357565b81925090602091810103126102e35760200151614c28816109b3565b5f80614c03565b9060418151145f14614c57576130f091602082015190606060408401519301515f1a90614c89565b50505f90600290565b9015614c7a57815115614c71575090565b3b156102e35790565b5080519081156102e357602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411614d06576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15612bfc575f5173ffffffffffffffffffffffffffffffffffffffff811615614cfe57905f90565b505f90600190565b505050505f9060039056fea26469706673582212207d19adc023a73e0585ae43f4f462405ee792009e2738f917dde7dd5c869c893564736f6c6343000817003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e034261a0f601d4a69ee7bd953a70ddac5f68e3d5c42121b0cfe8772d4e400701194d4705581e03e39b2a803f6f3196a13426b6ab1120adf652a881e2de6c4cb1ddb1e7f0040305581e0385bd19a840722780c084f252feea5628ff6b90b287d1b3dd1dca50614004010350fea853869d1312d0b81c133f1fb60714107507156c1f185971d8e5273283220316748b308f8ddfe2e0a91300e94ab950f76274c394825caf8c98083438db7a9f05581e031d80a07698ee41ede2f0730e7b0594f2c45f49f5c31d214a3fd5d91e9007011bffffffffffffffff02197e650372ccb82f92fb8605c07266b1396acc028d72c1bce88d0c8b59434b99f91412c0035f63b7ea29451078c55dbefdcbafa1d4e7fdab7885e7613c63b3c072ec58da5c039153fea403925b6ad18a82b43c2df90ab1a83085dd8fde833eb8794487310f380219ffff035b1cd0a88700ebf02d779436f3f00db9e457ec411c3c1b7accddeaf8ac07358c0342e45e7b87ec580d9647aa88d262f8d70f3797e5af79f30123c223fab684fae60219ffff03d1d299580882df3c4a88b049374190462eefb8d705b2a56e70d412ef165e732a03693726cf8e6999fd1651c66041a8aa3d6400f321bf5e2b3c7b28a7c6296c5a090367ad5ed15867e59080041eceb3e3f47136300639bb1ba8afb8ed6c74d0c896b203779914cf3fbd34846bddc55b01c7b7cb1dca66e0ec773b5ca062310b4722c3eb03435f6c09962d22529514c4f4c7c254ae42235ca3bd33d7041c31776f1252fe7803cae1a40b5964c9fa8f2794e9f93bb983709b3e5f4da73526920047348f9303a203c0f87e7bb7dc46e4e9570527cd481107da972c23457d601aae6b7132836e3fdf039105aaf6de68d3f2a2ed19f0da4ebcd43e7576ae2f498fff49a616a084c5b3bc0323645ede9a5445486c82ba282aece4606386038ef5ce75a4186cd07856372fc3030488c6343d3c8d4d14560e56608d9c492013484468e6f04ea91b72d10d99dc490219ffff0219ffff03b211fa72015ee1459717ee0c1cabb6caa2cbbb2d8f259a4a7c3d709f74ad8940031e40e4bbcb8a47926fefb1ec6db8feded11b8e4d985c1a4f76c07e5e0a6824c503d6b9290f5e992b8871de8a7c4609176c06b8131e7ad215f18bcc86d1ada51b85039f7cfd4e77b9dae45e1a649b1efa8268093091ab90a1b008fd284fe74bb471110378316087a18d158f84dcaab6aefc519606c30992a01b40f5c7456c45d4f7f2ad03066703db5209a8fc6f4b925875f93137088a15bbbcccd0bfda803d4ec33b374803f62940aaadf8f2d32aff6dafa250532564981fe502463fb538f12ea0f603f22d03e572ffcc70e06dcff8ff19f392bf0a3abb1d1e37bb1deb634f552e975e2267e103c414ecf20c9e2871057174d27114b627ff37192210fce47abfd6cd8506e8dd2603445f70af799ba3ed7f47867b1d4c43667c634090e017d95b171be2bd4dab26000385799aaca7c1b2c3a066c84aa6f2984a274914cb446a5f10384eb54d4065758503f8448cf9a32c984b851032184c6455543a0d060598d7eb74ed48da94b75a00f1037fb8061ed50933746fc10de74bc89eee9f73f8d50311fc0537fed7eb3c2722ef03922d7d0d3a6e84e51550f800f1f4e1c9913c85f7eab41dc87b3062fe7b3d95ba03d16e36c196e62ba6543c0b3b1a2d733bab0c00d237ab30482792cfa0fc9e199a03fa4dad67d8c346674613a31e220e4dc7f50f59bea006b514eb490fa42fb2d86103ee6189d6942a6499bae861af8bd983d80e80bb825c7e04de1d9920b6ee0fa6ed03910271e73982eebd3c265e5dfb0c7e414fdfb96d6be83910e9763bd61bf5b5a60375e7f96add6dff8f1af51c06bebbbc8dcedfcc019f21a2b59799fef0c6991bae03f23121757dbd3f3f239eaf8484c1218c79b7ea0ba28e48331c3d94e67fff0e5c05581e033f219cc1cd591791082d2893edcb28b4343ad75b673e32ead326ec7fd0040205581d021f99476bd4c810327a122695c1238cd1794108cf7ff7f45ab823cd64040304591ce96080604052600436106101c65760003560e01c80636edc4388116100f7578063a9059cbb11610095578063ecfbe70c11610064578063ecfbe70c14610509578063f25f4b5614610529578063f2fde38b14610549578063ffb54a991461056957600080fd5b8063a9059cbb1461046d578063b62f6e041461048d578063ce40fc15146104a3578063dd62ed3e146104c357600080fd5b80638da5cb5b116100d15780638da5cb5b1461040e57806395d89b411461042c57806396e1c7d11461044157806398118cb41461045757600080fd5b80636edc4388146103a357806370a08231146103c3578063715018a6146103f957600080fd5b806323b872dd116101645780634cf1115d1161013e5780634cf1115d1461032d5780635e7f2dc11461034357806361231f7714610363578063690d83201461038357600080fd5b806323b872dd146102d1578063313ce567146102f157806349bd5a5e1461030d57600080fd5b806318160ddd116101a057806318160ddd1461026557806318886657146102845780631eed1ac81461029a5780632333f9f1146102b157600080fd5b806306fdde03146101d2578063095ea7b3146101fd5780631694505e1461022d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e7610588565b6040516101f491906117da565b60405180910390f35b34801561020957600080fd5b5061021d61021836600461183d565b61061a565b60405190151581526020016101f4565b34801561023957600080fd5b5060065461024d906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b34801561027157600080fd5b506002545b6040519081526020016101f4565b34801561029057600080fd5b5061027660095481565b3480156102a657600080fd5b506102af610634565b005b3480156102bd57600080fd5b506102af6102cc366004611877565b6106d5565b3480156102dd57600080fd5b5061021d6102ec3660046118b0565b61073c565b3480156102fd57600080fd5b50604051601281526020016101f4565b34801561031957600080fd5b5060075461024d906001600160a01b031681565b34801561033957600080fd5b50610276600d5481565b34801561034f57600080fd5b506102af61035e36600461193d565b610760565b34801561036f57600080fd5b506102af61037e3660046119a9565b610843565b34801561038f57600080fd5b506102af61039e3660046119cb565b610906565b3480156103af57600080fd5b506102af6103be3660046119ef565b610a35565b3480156103cf57600080fd5b506102766103de3660046119cb565b6001600160a01b031660009081526020819052604090205490565b34801561040557600080fd5b506102af610a78565b34801561041a57600080fd5b506005546001600160a01b031661024d565b34801561043857600080fd5b506101e7610a8c565b34801561044d57600080fd5b50610276600a5481565b34801561046357600080fd5b50610276600c5481565b34801561047957600080fd5b5061021d61048836600461183d565b610a9b565b34801561049957600080fd5b5061027660085481565b3480156104af57600080fd5b506102af6104be3660046119ef565b610aa9565b3480156104cf57600080fd5b506102766104de366004611a08565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561051557600080fd5b506102af610524366004611a08565b610b92565b34801561053557600080fd5b5060105461024d906001600160a01b031681565b34801561055557600080fd5b506102af6105643660046119cb565b610d06565b34801561057557600080fd5b50600b5461021d90610100900460ff1681565b60606003805461059790611a36565b80601f01602080910402602001604051908101604052809291908181526020018280546105c390611a36565b80156106105780601f106105e557610100808354040283529160200191610610565b820191906000526020600020905b8154815290600101906020018083116105f357829003601f168201915b5050505050905090565b600033610628818585610d44565b60019150505b92915050565b61063c610d56565b600b54610100900460ff16156106905760405162461bcd60e51b81526020600482015260146024820152732a3930b234b7339030b63932b0b23c9037b832b760611b60448201526064015b60405180910390fd5b600b805461ff001916610100179055604051600181527f44025b4c6266facf728a25ba1ed858c89e2215e03094486152577b87636ea7ab9060200160405180910390a1565b6106dd610d56565b6001600160a01b038216600081815260116020908152604091829020805460ff191685151590811790915591519182527fb662f3bfb1735e6cf86c62e0de5e8ded221db1f328a15d104be3fd29977cf23e910160405180910390a25050565b60003361074a858285610d83565b610755858585610e01565b506001949350505050565b610768610d56565b60005b838110156107ff5782828281811061078557610785611a70565b905060200201602081019061079a9190611a86565b601160008787858181106107b0576107b0611a70565b90506020020160208101906107c591906119cb565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806107f781611ab9565b91505061076b565b507fec332beaa25122e2aaf782a4144424379d8b725b55f4656dc18bf72b40508199848484846040516108359493929190611ad2565b60405180910390a150505050565b61084b610d56565b60006108578284611b62565b905060006064600a5461086a9190611b75565b9050808211156108bc5760405162461bcd60e51b815260206004820152601760248201527f596f752063616e206f6e6c79206c6f77657220666565730000000000000000006044820152606401610687565b600d849055600c8390556108d1826064611b97565b600a8190556040519081527f35ad15e7f5e4a16b548e8916bd02c51847dde8d106f334b4edaaacf140e43c9190602001610835565b61090e610d56565b600047116109535760405162461bcd60e51b81526020600482015260126024820152714e6f2045544820746f20776974686472617760701b6044820152606401610687565b60405147906000906001600160a01b0384169083908381818185875af1925050503d80600081146109a0576040519150601f19603f3d011682016040523d82523d6000602084013e6109a5565b606091505b50509050806109ed5760405162461bcd60e51b81526020600482015260146024820152732330b4b632b2103a379039b2b7321022ba3432b960611b6044820152606401610687565b826001600160a01b03167f94b2de810873337ed265c5f8cf98c9cffefa06b8607f9a2f1fbaebdfbcfbef1c83604051610a2891815260200190565b60405180910390a2505050565b610a3d610d56565b60098190556040518181527fee131fa00e37f4b10e0ad1bffe4a204cdc5e73b4c9bfab1e2de9ae163dde1edc9060200160405180910390a150565b610a80610d56565b610a8a600061113e565b565b60606004805461059790611a36565b600033610628818585610e01565b610ab1610d56565b6000610abc60025490565b90506000610acc61271083611b75565b905060006103e8610ade846005611b97565b610ae89190611b75565b9050818410158015610afa5750808411155b610b5d5760405162461bcd60e51b815260206004820152602e60248201527f536e4c205468726573686f6c64206d7573742062652077697468696e2074686560448201526d20616c6c6f7765642072616e676560901b6064820152608401610687565b60088490556040518481527fd9865007332e13f0dcab58b7d2a784fb5276e18f0c72e90c1a404e88a562898190602001610835565b610b9a610d56565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610be1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c059190611bae565b905060008111610c575760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420656e6f75676820746f6b656e7320696e20636f6e74726163740000006044820152606401610687565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015610ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cca9190611bc7565b50816001600160a01b03167f7e2c99819371db0a6fc6f4269fe872496e44f502df19ba3eae594b7a1598746082604051610a2891815260200190565b610d0e610d56565b6001600160a01b038116610d3857604051631e4fbdf760e01b815260006004820152602401610687565b610d418161113e565b50565b610d518383836001611190565b505050565b6005546001600160a01b03163314610a8a5760405163118cdaa760e01b8152336004820152602401610687565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610dfb5781811015610dec57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610687565b610dfb84848484036000611190565b50505050565b60008111610e605760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201526507468616e20360d41b6064820152608401610687565b6001600160a01b03831660009081526011602052604090205460ff161580610ea157506001600160a01b03821660009081526011602052604090205460ff16155b15610eee57600b54610100900460ff16610eee5760405162461bcd60e51b815260206004820152600e60248201526d151c98591a5b99c810db1bdcd95960921b6044820152606401610687565b6007546000906001600160a01b038581169116148015610f1c57506006546001600160a01b03848116911614155b8015610f4157506001600160a01b03831660009081526011602052604090205460ff16155b15610fc457612710600954610f5560025490565b610f5f9190611b97565b610f699190611b75565b821115610fc45760405162461bcd60e51b815260206004820152602360248201527f416d6f756e742065786365656473206d617820707572636861736520616d6f75604482015262373a1760e91b6064820152608401610687565b6001600160a01b03841660009081526011602052604090205460ff16158061100557506001600160a01b03831660009081526011602052604090205460ff16155b801561101a57506001600160a01b0384163014155b15611083576007546001600160a01b038581169116148061104857506007546001600160a01b038481169116145b801561105657506000600a54115b1561108357612710600a548361106c9190611b97565b6110769190611b75565b9050611083843083611265565b600b5460ff161580156110a357506007546001600160a01b038481169116145b80156110c857506001600160a01b03841660009081526011602052604090205460ff16155b1561112a5730600090815260208190526040902054600854811061112857600060056008546110f79190611b75565b6008546111049190611b62565b905080821061111b57611116816112c4565b611126565b6111266008546112c4565b505b505b610dfb84846111398486611be4565b611265565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0384166111ba5760405163e602df0560e01b815260006004820152602401610687565b6001600160a01b0383166111e457604051634a1406b160e11b815260006004820152602401610687565b6001600160a01b0380851660009081526001602090815260408083209387168352929052208290558015610dfb57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161125791815260200190565b60405180910390a350505050565b6001600160a01b03831661128f57604051634b637e8f60e11b815260006004820152602401610687565b6001600160a01b0382166112b95760405163ec442f0560e01b815260006004820152602401610687565b610d51838383611481565b600b5460ff16156113175760405162461bcd60e51b815260206004820152601d60248201527f43757272656e746c7920696e207377617020616e64206c6971756966790000006044820152606401610687565b600b805460ff19166001179055600a54479060009061133890606490611b75565b9050600081600d548561134b9190611b97565b6113559190611b75565b9050600082600c54866113689190611b97565b6113729190611b75565b90506000611381600283611b75565b9050600061138f8284611be4565b9050600061139d8386611b62565b90506113a8816115ab565b60006113b48847611be4565b90506000896113c38884611b97565b6113cd9190611b75565b905060006113db8284611be4565b90506113e78582611705565b6010546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015611421573d6000803e3d6000fd5b506040805185815260208101879052908101829052606081018390527fada09296b37f942dad4a0318731be5f9df8af6bf0364ffc08234b0a7d84218619060800160405180910390a15050600b805460ff19169055505050505050505050565b6001600160a01b0383166114ac5780600260008282546114a19190611b62565b9091555061151e9050565b6001600160a01b038316600090815260208190526040902054818110156114ff5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610687565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661153a57600280548290039055611559565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161159e91815260200190565b60405180910390a3505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106115e0576115e0611a70565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165d9190611bf7565b8160018151811061167057611670611a70565b6001600160a01b0392831660209182029290920101526006546116969130911684610d44565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906116cf908590600090869030904290600401611c14565b600060405180830381600087803b1580156116e957600080fd5b505af11580156116fd573d6000803e3d6000fd5b505050505050565b60065461171d9030906001600160a01b031684610d44565b6006546001600160a01b031663f305d7198230856000806117466005546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156117ae573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906117d39190611c85565b5050505050565b600060208083528351808285015260005b81811015611807578581018301518582016040015282016117eb565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610d4157600080fd5b6000806040838503121561185057600080fd5b823561185b81611828565b946020939093013593505050565b8015158114610d4157600080fd5b6000806040838503121561188a57600080fd5b823561189581611828565b915060208301356118a581611869565b809150509250929050565b6000806000606084860312156118c557600080fd5b83356118d081611828565b925060208401356118e081611828565b929592945050506040919091013590565b60008083601f84011261190357600080fd5b50813567ffffffffffffffff81111561191b57600080fd5b6020830191508360208260051b850101111561193657600080fd5b9250929050565b6000806000806040858703121561195357600080fd5b843567ffffffffffffffff8082111561196b57600080fd5b611977888389016118f1565b9096509450602087013591508082111561199057600080fd5b5061199d878288016118f1565b95989497509550505050565b600080604083850312156119bc57600080fd5b50508035926020909101359150565b6000602082840312156119dd57600080fd5b81356119e881611828565b9392505050565b600060208284031215611a0157600080fd5b5035919050565b60008060408385031215611a1b57600080fd5b8235611a2681611828565b915060208301356118a581611828565b600181811c90821680611a4a57607f821691505b602082108103611a6a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611a9857600080fd5b81356119e881611869565b634e487b7160e01b600052601160045260246000fd5b600060018201611acb57611acb611aa3565b5060010190565b6040808252810184905260008560608301825b87811015611b15578235611af881611828565b6001600160a01b0316825260209283019290910190600101611ae5565b5083810360208581019190915285825291508590820160005b86811015611b55578235611b4181611869565b151582529183019190830190600101611b2e565b5098975050505050505050565b8082018082111561062e5761062e611aa3565b600082611b9257634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761062e5761062e611aa3565b600060208284031215611bc057600080fd5b5051919050565b600060208284031215611bd957600080fd5b81516119e881611869565b8181038181111561062e5761062e611aa3565b600060208284031215611c0957600080fd5b81516119e881611828565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611c645784516001600160a01b031683529383019391830191600101611c3f565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611c9a57600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220133b7b7eea4143565a2f11f05bcceea1e6b5206c50e295e7a04cc2415d0310c064736f6c6343000814003303335653bd6247dc83ed402b6b94e5dd47fa748bc17bd627aa4ad7260f4796442400582003f3ce976e2bfcee2f242c093235dd3d8a3e06653b7206a9c74c7432b4701cf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a14fd0f1dac2b042cbcca354a29978409fa672e28c6f3b1796ffc9413dedb47a005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90420100031dca484fd33edcb995a988815101273f2fae4dce6070bbe148fb39275993b59e03195a3545ce7aae367aa2792a39b6b7d502b0b78d166e6d6a5695949fd60a5d2103924127891908f28eac103c96f9c615cee0fd860d814c584b3abc4027a9a922a5005820033b11f7cdf51f1e8320bed0d440575b7949c2dce572fdcf7231dfd3825445f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e8c40dcb3c6241da8348ea1d07d2a14a500b7b0644315167d8f424beb88ed058021997980369b7fb972f2c69658f5637886dc739ecb8faa3f122687ef6debb83a9c5cb4190030e3a3dc582354bb213c855799c8593d9e01ac534c57b401cc361a8a2d7d3b3ca031777e2900d3eb3b8a983b67deadc3679d60f16cfeeff815337bc5c8be5b73b1103921761ee0f7f3bfebcc88722214a7ae574ad56c67967d29085c8eb46afcb44dd03a2eb11424a6c0e9454e992932ac71ed1621479ab10f0cb36e2880784f553b6ed03735635cf7651d2ed5f296a1b8e84b726c9471c480ce55a639cb14ec4415be6cd0343a89f8782372506889e08a49f981d8b41fa15a2f7dd0fb49bee7a743eaf2b440312c25252054c9d3fe7d9cb8aa6acf339d63f847f7c7d1524cc39896160abd7c8031e9192e284e62aa1f50fffe72ae3d4a98d341eaefd6bcb2e27f5751b4d1f40ad0358052347e2ce614703158affa9e6f07099d98ec5b8d59bea86841947b8033fb003d0e0a2b04e7a41acc33aa7493af9329ffd0c34b4ae0f1f48b9a9a4380a210c23032316661198f19f6c4c330c7f2aca7731356da6fdca25323456c3bc1c5a8d1f230389a3b762b0fa591615fae044d4f61f1b4687f3ae943331da5be20d421e379156035cfe0bbadd9836f71360db4eba0fe3bb891abc9b2a51706615f411b880a6f9980219ffff037188d5dd2e029cc18fe6e3a6e3f86285995a8060cb6a283312e4f4ccda3ad88703042e75c687207ddecf6aeada610bb380301870da1071e3234c4af49669badf1e0377af798692de0df479577341062d4eb8401d7f92918f4ef992e0b1b0725fe412037cfb7656f2e80ba7b8097914b4fb3c986b9115119168ad61287bf931dbc14cd003ab5fb9104244d5a5802f7fc054f352baf75fad8f98e6bdcc7a738a27c79e7daa0388a01c575dfbee38a43a5e52708a0f6496c72e596ffa612ed7560c4c71b328fb030579fc248fc21207f23f03e250c7e20a65589e349c877cb0e4b0272539b4dcd303bc0f953eb6b371e0c2194157d3d8a5f3858ddb0f6e6d5a82edca780edb08806c03c42bc2771362c1d5dcf2ac2966be733de390f001f9278e66ec651afe0843641103514c02fe1b0b1e768acee0fc0f3ab8279da8eb18e9711dc4d4aa8bfb339fee4c03f0ee5962e8e63a3f691c90646e101ae53c64b775f3933e867986ad276cb2a8960346843b6a5f74c213ac3908fed3724dff447cbcfe07c0ae3ae38073eabd643f080349a89202a69c0e6fa8eba4b123138db3335e664014bdb400d91b15c78fec4c75030510d943c3b1e654f32576ee987a5ef1260c5f83342a736adb235fffab77b692032fecd50df539098881a2b0edc34fcf69ea72a9336f7f6d453c908afe5792e1cc0058200357699363434f5700a70758215bf2836120b52be943cc55f393220c2361bd5049d069a370fdb06e25d000582003aa025d4c81e6cc613ab70102be1de0da650172f6412e5677a6f6ca88aed0005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a1d62edd6eb3972b11a52fe0f2988c3ba2603d75ac1f81adfd048183902c91cf036de2ff1171895acba26c07ae7190b9b20171d95a44d76b36d0775bd5a0cdba3d005820035b2c8303d25d3904ec26b3339b2a51fe74ab93f2d5553263ffa823afe61150492cf3620c77e50f5f390058200363d13683a8538e4f7d114f5c2f8cbcf55896bcc1e5755783c8f7df50ca847049175b7ba35c624afd6a00582003ab39574227dcfb59ee2f28da005f00e2a6c3d2780bdecad6598dd22d1817804915c197acef70b4a37d00582003705f61aceab7c44751b8ded9b77b2ab41b2fe73a7f389f71dc553ceeff04f049b43fa4fb651dd406bc03e51b73678e0801e56c31f2ea00e807c53673ee77cb1bb0a2a204901a48aa5c6702197b5503daebe365d57461889cbf93b42e80b1f834c5b095cc707096892dec2728aeecd00219ffff039f2b0d8a3605bda1f23619ecc9c4da5be0aeb669cd6a70f570e85108edf341ca03459fd344b3ff71055586086a8d4d6be79ce0c9cc1a6b045bb7ef2037518b31260337bf47811129e1a893fb16420474fcb6b11d66b61efc1ea8b0db2da9d43a60f103df49998e2316ff40900fdaa33981e5bc52f988493666311295826485a9fd2b83030dbc3d45d25adbcbd2558108c5ed56706921d3904c1c273a7e53923904bc7022035c706a0e2f7d56e37128f5da07211192ee3b111d719b048f7ab0449327012f5103debb8f8e60eb580d38f91afc5d45e7727ee6d7e6f444c68fca5f5f52ac224f640374816b1d149baceee30ffb26cceb6e453f553c15561252dbfb7f7b441816a7aa03dbb1705cbb9b7cfe342daf7f7e5fbb9325d311a377fcf0be0c06f6302bf397450395859213fd7809a38ef68ce98b905790e6b2820bae1ef470e94e42ba6df791c403cebb5944fa07954a7b9d7881e94c11075802672d158de592bbf169231688dfa803705a01a793cc3ccb93a59e43e9c980c355c2e375751bd8d1a01102f22fc14c9403283470cd43d487145cbb127ed5b729dc684f6a89f8149f73fa0270f8507badd403c19bc6aa013749446f34551d969bb5e204b6e3f4fbf1009ead04c92ac6c9014103566183e2af41ae654973d0e5ca8f38649914755c085df1b5ba011319469ad68003c0ffbae0d73f1b46acc03453afa4f9f71bb92dceafef09a8cefc207996774bb40374db287fc0407d5603daa69a35db97f2c5453448487135697070d6c189c7c07301410403b8e84d67486600fff36d295adbeaa9c18ffd7f1bb1988a512e56ea71b2156ce300581f023e4ecfded471495700851dbeefb49b14eb3540b8c339c9c69444e98966124a03853fed7779c39a520d00581f02545fa5b5f5aaa25f3587b016513d349d4c961fcc6168111690c4ac7144fe490256f058a2e42e037a00581f02c3800142066ba5893c45f87d6980f167bc0943dfe8c13a69bc42cb0d7d1b430729a100581f024d7425fae80dfba01162cd7502a8acf0e4fa9cd762679e4fea629961a565430bc9ad00581f0283639081ab5e7fb66a7654bb2c473d427cbdd10cdad2a2dfc196fd814fb04a055449ab8594db9080000219381400582003c09fd76041a4d1a0769d83c575c4eb8b981140a9d6e179c7717b5ffbb9bc405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ca7ab4d8d29dc4282736f0d71818a453c2ac7c19eb7e669ef0acaf0280c559dd00582003ee8512ce2939f38c47d94a552c9857a891af759588b5d19ca8c19ddc7b02c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003986857d28982243e2a4abf2b9cdc1c1846b1b188e7c2f35ee62124cc21530049e7eb7857e1e849b8820363c6d78180b5bb68fa0c1dad77b8ec5f18a073b837a1713c32839cf3f6e89478005820035fb92d0ab402f3ab5a2626e721654121228541e2cf4bd32b73662425076e505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02197d56034b8007eddb32ab85eac9b862d8c3c8fb4b938a2d3d97db06b115a37a777fdd8e037e8012d997b1aa401de9b3c75aab2a684a58018014bf3370a0d3222d31741e8603ba6617d73cda452251f1f8ed2220dfb602f95a0919fab647a9f5a69a4b6f29be03436e18c6460536fff869c36527625c2e2791c758b5ff46234f576e5cad52893903e121793bded296786d6f82960c3b183ff379627fc7880db357233f1ebfe3c94f03d49fc4c0c7bbbbfbf95ce841fb11e58d700fb8216b03530b2cf862a52c5f2f520219ffff034bb59d08e872cfb7a8dbc070cdf42538145949d281c5a6680d2eebdfa0d8b1f903e8578ca60eb1cc4699d4979b204a85609b3ca0b0bf03a53896e5faeeddf35f9403154e6917e87457de16ee140588030eddf00328c84bf04a70c9113ba63394a0b70361036c552a8370e57ce096a6c7dc2b426db549b20bc3247bc8edf87cf3c2df4f033e78d864095f22d1aaf626b5eec3b47eb203d9a1e97e596248c6fea63060b1e603dbfc559368232919726b8f9e03c450b1412fac098befeb84b463504453753f6d03cccb8136dd61416d5cc067455ac0e3e6f058ec2dfae5815e8fe156b3e4d18c9803e0ae988037fb931f91048fed247b6eda83cd9ac49071dcf0022c96c17073b5de03de461a522ee0485d6109bd548c40f3d729abba8108204422ab8b6e36bdf0082b00582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880549f8512d2657d192e59dbab41f8502864aaaafa4a005820036e5eacf57c975f4d8ea25cada6bd130d03018be96732fdfd05f0c4979be6505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f0ec54954842604413c1af82ee3d5b6ec52066b346bfe0f48d95067304f3d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f85367043a9876ac8c7fa9df59b332608bba5bb7f3ca533b8383ed60c3d7c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200359823bd8e6b8dfe2221e0734fc87855f3a23ff8d78416dbc90db4ae3fa82805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f6f52f2ba0678b65460e8bdc4561d31ad36da063727ff026799f7d3f56c60e570304522aafd9c9beaaf288c5da54277d871a94cab357309d7d780f3e19ece4c89302193be403e4dc06fcd05c04d54305ad1cad5e483793610516a45dd4e4cddfc268fbdf24db0335af2c45fa88008b902d990946b2ddcf0e207484a7479e2431b47b554abe40640361c54eddf71f1b6e84b94d53e63809601c8936c9b26dc9d19e7b4a748d673992033ea41d7918f003a27e7fb3b901f3d162d3a5de2fc2ed49d42d941419f77fb3d8039ae0d079ff89702cb788ab74f8b36a541b687a6f1acc86381e5b73bcae4b08b203168333b2ba902c48ad763c2d1b8b7123238aa720c88b78c2c0dfee57895866d80315d9705cdb0e3a1bf4f718f1d38a3ba7dd1463091ee70ed00ae60372fb33d92d039601181d09092fd3a6b6b99ebae543f72a2735267c81ffb01cf3c432326e3bf3032a04b31a27573b3e9f4044e12ea489a89626caed282d587044e82d440fa9528f0219ffff03b793e2e6e0b698856f7b59d4deb325dc4f5a22600b25106be0c909a6572b441b034b3a558748171aff5c68e30358a2f904c9ec9ddf2cfb320e8774ee8e10aa5a4b031c90596799b8fc9e9391d2e6c0087fc69fd54dc024e4d74f40b2c9821786f68103d01e32e416fa93cdc948668aafde3fb4838cb1d8e8837c490117b9f898b0e6db03e2b9c005997d24e6201cc6b342db540fdcee76904a75c4367031e564f408bc8103f4544c5e95b77b53bad9f6890c2ba9cba31564f974776da0dc02899043703e0603da88a5df0b9e12fa6807d50394f7c76b75faba70b02c280da39ae3951fed88280367de1ef741f67ab3fd4dcddc31375a59f1d97335aef2823b8b73a4b7df64d529035cc93b69568b2a2b5294b782061217ccc0126da1728e4c9c33291fda43e0151f03d2b373e84adb90dfefa0d2209e10f65e510175659d85c0638adbf85200a57c8c036634dbe93d53238bc3d11fa5ffc1e5bdf6bd12e100665a789477a1843672bfbe033cb78098d01504c41adae7e6d6e599ec02894079f5605dfff852aadab448a8f50336e86d8e0f4e7dbbddb8d54c3ca6e10dfefc909193337cbd7626b1c965e31c4d03cd222f06c6f4d54156fb68b29fedd0718e3869ef5fdd33f67ec33447fddc956d03296cf125e0d4d2e9d8f0c8e6299d7a0de9667334faa7721baa4aea8663bf39f9005820031c1e6b0b374d186a4d6f6bfd5b0f0a51bd46e3d488ea410246a24be6b5502049159a9a36b5873abd70035bde2dcb0752b708703f881f2180cd76b6fe8eea1a84f7f48184f58669acf1e0005820034ff638d8d2965b1c9374d7978caf8f27070ec2c34fd5be6bdcd1a6a29b6bc049054954ad5fc6e62b62037c723127487ab37f74bc01a0cc242f9849f29598acf9b730573c7cf5ea429e89034b26872596a0b54fd08ed128db1a51cba5fa5dfd849e7d56b3805785fa8558bb005820030f89a55ac6ae8f00668755832b6ac29f5343fe521294acddeed362aa3f55f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820033de878349f0cd89fd2ce168131640947311a69140fcbc58a36d031b182aa6048e76b3530dfa5ac1300582003dc7740bb701f373a9c2273c869ec25772eac060997740b246577affb481f405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200308e08e4fbf30069fd6c2d34ebaf2098df35fb474ab677e97c7d8897b7b81205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820033042707db2160be426866ed082016efb838d8c043ef98020adbb4113412a10494ab4e888c6caf87fec00582003a09589d3b726f7c616c4b5f0acab6202df8be93e8d694661cc186e8780ba705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ee88ce16693668c2e40ae0e2d418551ea1fea93d9863009f03499439bbb24a04b807c59d29fc52ff7b00581f02b54797f42887ea09524c4008b7321cca4c475ab2ed89f333e93b24bac06249459e5278b093b4933f0218500219b5fd03fe071236daa854658d48a6a16802b175e2afe095f4e93de3ac3d4ebf82e6f64d033ceb7dca81a514d8f47319266237f65b6169eb750c46a5a786a93cc1acc0ed9e03148d33e576031af2a3de9750643ada0990778429b7edb8f995d53eb799891ec00219ffff03c54c8254015bd8eb2c6cb64312d6483698024893e18a8367999ec532ef26e5060219ffff05581d02f46a96ff524ca1f31e8d7611f8858923a21deb74776195f85929c4790f01480436dcf82ec4fb0d191ce90219202003c6b90a3e110f7eb8ff5c797af6c9a8043ecc7fc2f78bdc0f7a3d00b95ea40e2105581e03f868b17aaa417afcfa6e116e9e63a2bdaba0d5dd41804c0b7a91724e000c0347022ba2ea8aaf38033f8fa69ef4d2735bfa4e10f3b6bef17e00e8710dce65e80e309551500ac5030f05581e03e929c99aa748857bae8edd21355c694bcfb1e10383f5113cc4a2aa35b00c054702599f1dd6152305581e038c7939889bfbdf048997e11ffbfcb5d99f8d00eac099a9fa42a4847ef00847054784aa2ec40003c4dfd3bb6272f30a06085a43a5a5694029ee7d8b56f8f07c2a605223e132460b03e025dfb93839e144902b71f826ab43bb05cc23be7f9e80384f450ce0c27ba2aa0219d58b03fb8b830df61be472622494e22b742267ba4bafe0c59ece6a7cfa01f9cfb8d525030afb9300214fd41b96e8cc73f942ac623bf10377646b42d83a566fa1c2645445038b63f3cb669ce7c2c9acc906c4a13fb0123af462844f652c6bf14867fd5875bd033f597a6794f66005e1ea82b871d1026c19626d79f6288045d33ace5ec39ff3d803f316dfea11022d91159ff6ffb50fb57b21b5eb6d0ab5aea99d399c6c82380a080393a50c713bd55d75eb592db49f59c3b60215ca61faff3ff9032753767b804d8c03b7cfa542097abc24761be97a061920ad769b8472e5da2f3982e8ce33c9e634230366d56c3ada8db0151e03f86f03bd1120f62087fd426acf54616f9a30044921f903787b51b128b5dbdcad78c4524b0cc50e1d573bac8c7414ea62a3361f2786ef4b03bf3e852f4a8f999ce41db65419fec325bcb63629d5cf5c00cb09534164aad5a10342a93404d15589cd5a758e7d5cc70ba1e964d50b08c90d1256f9185ce9c43fae032bf324660e21f6935cd93cef745907673015e32cd8c60834aab807cfb92bb14f03f8aa92f9a6dc5533b41066aea978e3be341a75b0f777caa309cdca8bcd43305a03ee6bdcf0a0005a52c6de63598b5631a5c2b8bfb973bd719061c15d240e4b309803bfd1603441a1c396d122255e4e6a1a8d124c10925a936889f27e0d952ddcbc780219ffff03b3c0e85d646ae9c10b3e7bf93a256166c71e936c135ddacf152ae347ca64008103abba99082af8824596127e339c98f8b0404483d73035c8b00aeb237bebdd1fc603e241bdf58b53ba9a5841dd5d7b72091a6011d03bc5030c39ad066536d770f9fd0219ffff03b05dc963fb528ae0b4c69347b431509681d7e49cf41f4f7c28eadd6da9ecea800316c5d1d14fb537cb6eeedf7fe9e916558e03de3b07510a9359f46fbc097a362703a0fb692df0c35ed45d3618006c3d17a1c2ab1a779262599950b44bf1453f5199033541ae2d820e52699df28f98850fd391c48f744c14d59d86f1ea04cd2a80d402033d2d57260e40cedd24f5eadaddbbcf514897ff4ebf25ab32adfdc58522bdd3d7032b935ab047dd255dc079d2339a8e0aed729a8b0ffaec220c946b5b5d8263fe84038dc80e4d9aa11d0539c495e7ed9c23f6a5846146ad583e80c34c2b2ead4f6c7303c2b29f6d8d9d479e13fff6cbae17cd12575d34c33d253d967138063e3ddf89db036f43e57cc49378c5ec81dc34afae6f79d244dc14d3cad2fb325a2aee3807d71503c53525d9759488282fa24c82fb6891d239ab1726658774263803a442e647814803e973ba4004271dccc41e00cbf4f5087feed59e77bfea8cf2889ff220b3196cee03882eff8c617d26ad9701564208e6a138bb5d4ae3af49676c26c5f7150fbaaaac030d7029e8295feef8e528bab0a18e9aaafd26a525c62213839d2e173f7420588e03472cb4f3c366b6e8dc66c39d0f56fb564082220840f4f31217a0361805b01d5e038fdd77334c3e405e42d936019bdf348903d9ac16d6a6679226c0c5509ab2896a03987be922f40308b47aff726bda69d374ff89cd59d6717a01fca52d4c40d4d37a03dd278738704da183a59278353981fbebe70f3c091f1423f76ff1a761ff7b4c990372c8905b4b7fc6fb17a461a30b496a9f2353ce01c3b66427255b13222ffbbff6033b99fb72ec2a97814a9d66e5e83366a5d861a3b73619ee00088eead8c629d22e03506394ead4760363aac4ab86c007eb23b9819f55a21dfb097fe8c82b83be5c6b035698217354bd4494b7c62ffa0f9dd21bcee0011f728e5059a64e823e537d3ad7030a560b38cb1f827d5d31ba81d273f264260ec2d8880204084911c6beef5debb3031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0397c68ea511e707a52f7428c0f578300704c91b83d1839fae34b199169007011bffffffffffffffff05581e031f8d346ec62d97951660653c3a1383738b60539220b9b0b49347891040040105581e03dcc4f2ce02f41c544278ae2759bec1a69cb4b455f31ec8c739d4d972000c01421cb603c014ca466dc04cc57cec8c3ed08890319c50eba9f785bbb1fd11f56f956fb4f905581d020c42bf8e1584e230af33ba01179ec45b067ab8756bb60dd8d89971df0c01478d599819303bd80459081c608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b411461029c578063a457c2d7146102a4578063a9059cbb146102d0578063dd62ed3e146102fc576100cf565b806342966c681461022b57806370a082311461024a57806379cc679014610270576100cf565b806306fdde03146100d4578063095ea7b31461015157806318160ddd1461019157806323b872dd146101ab578063313ce567146101e157806339509351146101ff575b600080fd5b6100dc61032a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101165781810151838201526020016100fe565b50505050905090810190601f1680156101435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561016757600080fd5b506001600160a01b0381351690602001356103c0565b604080519115158252519081900360200190f35b6101996103d6565b60408051918252519081900360200190f35b61017d600480360360608110156101c157600080fd5b506001600160a01b038135811691602081013590911690604001356103dc565b6101e9610433565b6040805160ff9092168252519081900360200190f35b61017d6004803603604081101561021557600080fd5b506001600160a01b03813516906020013561043c565b6102486004803603602081101561024157600080fd5b5035610478565b005b6101996004803603602081101561026057600080fd5b50356001600160a01b0316610485565b6102486004803603604081101561028657600080fd5b506001600160a01b0381351690602001356104a0565b6100dc6104ae565b61017d600480360360408110156102ba57600080fd5b506001600160a01b03813516906020013561050f565b61017d600480360360408110156102e657600080fd5b506001600160a01b03813516906020013561054b565b6101996004803603604081101561031257600080fd5b506001600160a01b0381358116916020013516610558565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103b65780601f1061038b576101008083540402835291602001916103b6565b820191906000526020600020905b81548152906001019060200180831161039957829003601f168201915b5050505050905090565b60006103cd338484610583565b50600192915050565b60025490565b60006103e984848461060b565b6001600160a01b038416600090815260016020908152604080832033808552925290912054610429918691610424908663ffffffff6106d616565b610583565b5060019392505050565b60055460ff1690565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103cd918590610424908663ffffffff6106eb16565b6104823382610704565b50565b6001600160a01b031660009081526020819052604090205490565b6104aa82826107ab565b5050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103b65780601f1061038b576101008083540402835291602001916103b6565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103cd918590610424908663ffffffff6106d616565b60006103cd33848461060b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03821661059657600080fd5b6001600160a01b0383166105a957600080fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03821661061e57600080fd5b6001600160a01b038316600090815260208190526040902054610647908263ffffffff6106d616565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461067c908263ffffffff6106eb16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156106e557600080fd5b50900390565b6000828201838110156106fd57600080fd5b9392505050565b6001600160a01b03821661071757600080fd5b60025461072a908263ffffffff6106d616565b6002556001600160a01b038216600090815260208190526040902054610756908263ffffffff6106d616565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6107b58282610704565b6001600160a01b0382166000908152600160209081526040808320338085529252909120546104aa918491610424908563ffffffff6106d61656fea165627a7a72305820fbe1c50d01b744b1c960bbd407ad9f1de33bb719f816f38781a6a6ee5d1e0305002903b3179cd891dd64344ff45ae9ebf5cabd92863534702c15f0531191c3346fb26403c8b08e46394ca1a3ff37ff0061f03a4dd5f1adcdd37633ceaa69446b56f0291b0315319af09c82a4b16f16cd536c3044cc07f076a637a1d5f776cda1fc87aa8e2b03d34298847ece556b7f463c58b32137411d2f61997e32e6c9a710575e66ff4359036f364e317223cac5b931f0fc5df13252528628cc7de275d57d2549e49ea2313f03231d2d1aca610c0583045756bf09e87817d5d61013262da450a5f2b4244cd9c503257987ebb790cc197c89eb9e51c7656d7f665e0db2d1926167880063579102db03a7c6ce433d971e012d26e99bfbaa3a34bb6034e70e7315fe801489c094a1737d030568c4b725d468263129d813656141fdcd5f071fdaf98ac72b4a4767f3f0cbc3031f4c564acca5867d3fc81222991ccf33ed08782e86b5ca5112102f4402fa4a79030b65df25b030dd17d6e22090ad954bf9f802ae20ffa89550ea938d08a6d45f610338b5b3085eb31f494399709faac7ddbc2e62becc68e8c55b8ace529b79d0d66003794392205d51b30c16b70e7849d0338ef1decdc2485f3e9d069060392f8eacd5036f8a526eea16f874d6e3e02add59b914b0e01ddd1fa16f4bbf6f22cfd082ae9c035689a1b8c65d8550c5e0fca536a9744cbe0f538e08f5b40efcc8dd2e74561d0303a42d3d651806a0d100457e431b3b85f709a90b100b9550624a5930be8cc1a36700581f02e7e004924cabf237587af7616da3d62398ad8312f24bc1f40f5d1086b9c45820ffffffffffffffffffffffffffffffffffffffffffffffeea55bb0f2d646a4280397a579c67ed2216a212e3991620044fd36534a6ee0eaa8f4b113a6110902820100581f029bc4a35ac0e1d9073015b76c12b6ae596a214bc13763162ba6fb5dfa2e5f5820fffffffffffffffffffffffffffffffffffffffffffffff862d1da5f87507fff00581f02ba94471d1992689f0a8a57a1fe5f6e23c0a3c8915c8eb3b12c94a2eaa8975820fffffffffffffffffffffffffffffffffffffffffffffffbfd60c282d76589d200581f0289439f5413a769307d83a5ab107a9288f697e5500386e7632b78552c05e35820ffffffffffffffffffffffffffffffffffffffffffffffb59752c99abfdbfed300581f02f89e54f5451c1214fe6b1acaaf91666058154883794b6cb9e3d66aa70b3148057a543677d5bc9803f828ecf04412883b3d41bde6a5cb62da365b98c77d6531dece5dcde499cc12ee0398aa893087f52a75891edb3cf28ea00e0029ee981d65f36215c86bea7c7b9a090348d8f2c26ae40cb791c3a04f81236b9cf881f06e06802ed8147182f32a7a62ec037999d39785a4f7af8d56a64fb1c26c90bfe36c8ca2ac2e776631e4ea968e0bc90321a229140bbb35e829a481139e5c8c44b83b42700e5562f341d76de69fecdd5202191f3f034c45cbcc17f11076169aab61ca030859ef7e51b437936b582120a2b9b2323b840219ffff0307151f0416e6d9f93c7f87750c286ed49e35a2d4ab76b189626729459d5355ce03189d97cd4cb8658499e332431a52662b48330ff611582af6fde5750d3749719303d1962b7a278c2a4e6c3ae63a2a79bb1cad9c30c89881ae4ee1f364d9016fac5203d4f0b63dc6b695e24bce411b33b2f32bcbc26f97df240e709d80b3dc0a018f1c033c595f5765b29f02b8791d6293fd74e6115320ac5798f4b1b8feb9101a8adf5c03e89cf833a02fa1a736b930b6b6df3b3d15aa7ca26e9993ced47eaf80a831fd5203d0a43fa3121e15e2a599912b814137d00bd1802d7132619fcdf46dc815d70f5c03e2a06ec82306e02e5c1ef16253dcbb47719434dbd6da4af800aa960677278fca0315da7fda0467d7be24e93bcd08652e7d80999fd0d0141c6ea9f9212792bb732c03fb88d9740afa93ce4df9297a77ee4293eda37c8e46c9d6ac21b6e9e6b51afe7b037679d4b0890eb82fcdb8fbaec1955c0ebc23363e0fa86731cb6e48c66eefe9ce03d3345cc6d096d10bb17835d84e469d4aafad1f136338cf20a2f79e20c238f09a03bf31aef75700f0216b5a1bf6098840b526aaa728bd5c5d908d46fb2cc49abe510219ffff0398d62c1872de77bcaca1c16f79bfc3e35b5d3d95d130d9b9b97510d43b7c81ed039b087754f1a24b4320b62dca63832613f43388d5466f7967d09a62183e9c900a037c82450a6ec4e8772e5da0298d52084d5e095b256ee90e78bd563d8773fc7ae0033dafd9a18458a03dfcdec3cdba0a1ff825e203c8798c30c1c91d1596b82774890316ecf5683a73a22192f3dd2705a6758036830596ecd9cd8dc16550b65b871d28032c897e4198bd45d91abbdd67a3f28232d4536731b1631f5afbff806f748841ea03d01eaf6c96da5e1125f769a23327ef8309b9b77caf598b5f2466e929b2d0fb8e03f519e6ec5045235c782315a7f7e85b17122b800c1a41db60c82ebf4205ae2b4e03e21023787795685f1a6c34f16cf7701a6df0bfb2a4d04a810da98b94ec142a5f034070c2ec78bf8d1d7293bbe064c22ee1ccfde8475bdc523e91fbd6b6c768482e03f2b4da4cb47abb5576f71b3d5c33f0b18e35ec62fa53605f7bd9f2ca5dd4cee00358e717125dc3008b385ee832083b1f7ed3e735a20cb0185f86b5fe74b8402d1f03019d595b59c69632673881507a963e1b95b68f4772fc40ae2a5ce518242bdf8d03c425ca762e79b85755fa0dd3c5e3165626dbe3fa02ae41ccf53c17b2fdf1ed0903a1f4162a14c8d4ed4fce07da8ab8e53f19b5a010a2927bd50f44bd28527f374b03f12e59a5aaaa96266610b13933f9fd83bf48c981915480ca1a45a676ad82532e03dc056fe08711a2cddca3563cdb412f47d5efa086d7a7b6cdae7f6f9b4859be9303906f8535ee06e711df5eadca5c17afcac2158fe6165e31ec6b1f0b6d5ab739ce03eed46962d286b9083a3c9531b0b8cc2faf724787246ce6a9c5c15a62276301a20364448b7260a2f1a6394a31c1c0cd28c0041eef2b0d11193ce93a68227f0cb95203c2090cb4bed37c6d26707f4f3df6165885a157addee0263c46ca6067a47e8fdd00581f0232f9f46e85dc9c93afa2e97815b419194025f4d886eda3d000ad8f36e7e34883e11934087f2000031d8c92d09b30cb33be14c1861dafdfc381fa731f400d5b23e519f948a183d03100581f0274986ce9e5db0f23b44d35072ee8f6c9c99616b00c21a4d9fab7f98bbb1249041187295e3911000000581f025283b818c250f58e161b716a825c96fc8ce49ebe4653f9334b82658d60c55820fffffffffffffffffffffffffffffffffffffffffffffff87bcb5f505456905203f369c774554d3f3644d41228a15727d6b1bb267bff3b01c4ab35978c6f34998800581f0214cae4d8f2e0e4b799b1052f413ef00065f484444a221a0203fb7e765120581912725dd1d243aba0e75fe645cc4873f9bb571e88b24ca12f2100581f026794a07a975ba2e6758055ae8fae62b2808dd8f28cd5b6a1aad2db3fcd845820fffffffffffffffffffffffffffffffffffffffffffffff663d377c97c217fff0349c4330ec946caff87f70edff8a9579b6a58ca7218db72dc37d3a3dc4729ec2603dbd1c993af7523d3bfc3155187b99dc12bdebb92b9fc09ec2105304e8535c9bd00581f022b338d05280f086e3600b38c5fd1ad05a61f9b23ed6c73a04a54df2c34a45820fffffffffffffffffffffffffffffffffffffffffffffffd9a760c73ecef8fff00581f033258af8f756bf66817b4f0dd3fe1f227dfd008bf3d7f65d6e3e5abc05c304a1bb1dc40d20a6ce2d4ed00581f03e7810a5e76dda862cafd40aac6a4bc182b922f73a76528c02f9262537f905820ffffffffffffffffffffffffffffffffffffffffffffffff53bf5843c0266fff02190404037ae41ef9961224cbe6d6292275f210a032834c11c0526c3fb4a7f5d5af5f2b320219f6f3039f5067b1c41db884b8f6eb4436e48398df97a700cc3d4415fd545c7b1dafae5b0353b3bb8e05aa4beaf278e4adbf1c6f8956f7d1d490b626e60ea2a9658176d56f03612884c531389e39e0cee1463c2a9beaa7fb7ae598ae4210d1a0412b8641d50e039a3524ac62f310c6d37adc2adc7e2410bbdc652595398608f3c052dfa5e4e98f03b78677393654e1edbe4ebb69f1a0478fae3910adb7466539e6cb80297372551e031ee64095dca2647deff81d1a23a790840062d737a85a16a9bfd46f764a0ae5cb035363c9ebb60870e010f94657bbeceaced71fc5ca3abec442375da0d429eb2fc70219ffff0342df3fcdd4bcac8e7d2040692702e1a0c5435654bab0df52e75802a114ec69fc03c50946d02175bc792004316e4b1eee791ecb33adf7f5268f03562a1d52c68ff1031651f8e18268c26a8148bcec28d4a297317571d7c50f1728c39aff09fbf36874036e511755b0aabde154414dbe8dbd8424305127276e6509458e23eb0240f586fe03e6a53d28378ccb86c45a637f319579208471e13287136873442f47580689fd7503cca03637e7142bba3b0ba9f58e7d9b2ef6f12b792a5d77e4a75aaabfbe386fa50219ffff03a0d9c94b73bbd5fd5f6f651b1bafc980b58c5af298e5e20699b581b503dc005a03d898d9321a653d905b967f938275a65cd40728c3a596431aa174039e4721296f03adb907e09e9b3856750343f47c20e8b0ae37469e5915d6597e5c04f2c31d2d29032f288dfe5fd0b54b3fb10df0f276ff0357b5bd1f1e149c19b47ab3837f8d5c1903e866e71849cc083823f94ac3d0c9e364e5da5d0e2067ddf0888891d35dcfc7f4036362e4218985a91d8d24ee3049fc44e773f9764a9574783f5de36796908a463200581f0230329be97618635f5f8b93af1c2983cb01ef60c7db46eb979b565f45fc25481bc16d674ec800000397f473bfdaa8ef652998179123bbcd346f72f5138d695693c8c93f4230cefbd70394cef21a7a1147da26ee9a86dd9bccb307480e917b50e62fc0abbecd3ed7b1e500581f027239578563bfb98c7ee0a9df9f34a9ca51e26ab5815e5ba8978aa43e680d4901a055690d9db800000394088e95cac4849d836213fe08a1f3d4ff9a447060a9c5c7cc1e0994df947be600581f02dbac275f75cdc09a21a236e1456e5f0144e07bcebee14246e4e48c92398b49010af6ac7befd35c1f03cabfda956d6968863c81cc391c87f2e482fdfd25c17ed17ad106feccbe2d972d00581f024a4395a9d799e8b9d6e4e21dda52e108dd7d579701af41b79cb2743e1d1e5820ffffffffffffffffffffffffffffffffffffffffffffffb95fbdbc8999ca0bff021950f9039df6748fd384bbfd164d434d8505a44b6755adf3dead7090c8dcde4a226d113e031006d8fe7d7cda4493076a21664cf6b0f97dad7c8ef3be34e1539d6125248eb503a0419d7948599bae24f60ab8da7d19a7c98d4b63bfbb99689c5ff0cbc3e1d6d603a53969fd32f1cb269999def3b499094dcb5072d0c5b86fbb1afbdce20aae997803ce96401e4905185d6eec7d71ee0550f2a06024c5a1d685c32fbd1a5ba3f5e62c03ecdfe6e2cee86cb643cc46be640c17df64956a587bb79142e5e81ef1c490579d03deedd11b27e190ea0630bc34dff4abfa2b68e80afc1a27283a2d1785defca75b039407313e620fc01d193e123aaf9aaac9590d258b518752c07f74ddd29a04cf10033a1f1426f9f7ca74ee57c96d3c9c13c52890fae9cdef9ef24f0842b2c8d49d3d03480da25a23a452ce9953131e5c8d8bc3dc4205d5c5f6a5cd96cf7beb820637c90219ffff039122310f6903abbf279d9426ee51f82e90ae049627369b9b65129d1bd98f95de03d22043004e8ea97cd741e503bf9cb86b74758cd3f7da97938eb0d3a423ac78bd03f9fc050b0fccb3e78a360bdd384fce468a2e1e0aa62e336bb038cc08a5891e75031c14b9dd4d18713195f94bccd35c5ab496aba4821a95d78d17cc33da1af94bc30356821f583bc6f6c8be65ecb5ce8ca20f24b9b3937d35ec48bc5f044e838fe40603bafe6e2ca1e2b60cf27346299b3b9d41c282ed37c237230b739bac6f8fbc154203232363d773283dc8e64e25cc484be48c7d8993e0081c9946f828e554b2dc9426039890bd3b13c2ada817c4443b93ee69429e03b9cf18b3c0c768feb064737c81fe03e51204b53992554af355494edc729902fb9f39e3b8a8ff2b1dbf16019654ee8a0378268185649f40773380ff3bb29c6e554c7b3f5aef6221daba0e74a981eaed58035e1d9109a5a116efef6c5a2f1900dbe7a87b6e00cb9c42b24166ec3c2f6fbfed035b3a95eae484dd787870364f573db4b280b7ee8107136bc1a6a8bdaabfeda80903a5f8a0fbc0ad7f2948d206f3808c0fbb9e9d3dd327edef6475533ff88881b0e003632f953f568fd7b8e882f26f126ee59930a5014f93e0732e026996c64899c5660219ffff0353e469a2ce9390e781c74aa75a8526de246cd318454c73e113983d79bdaf8d7703eb0b4fb81c79c07ea1aeebe1224f87b8d963872c928d399fcde4f91387b31d46036b8b32c31de483fccbcf83ee2dfa253a8a11efda8022521033e1dfbd453feb26039fd79b4f3ceceeb620237e5c141fdb1e56de0fc46ed343ce28f9cd00123fafde030826cebffd8313f77ba98811e951167e45d2028445a464a6d91cb1132777ed60038eb406cc23833e64d4e91ddcbff75420cb4d2deeb8191726d073a9b70a5d068b0312f41143ce6abcb8e8bd2c74afbe55fae7767bc15c7da2b82129a572dc40f11303ad7fdc0dc308406b768598d633ec3c8a57000eb5474daffe9a7a472280400c6903728ebe7e1649504c6201ae699c3a998d04ef26358c2689c79acb7e64e1f4d5ce031dc066e43432d114a1a5bf5f4c5487ad53f772c9f92ceca1877ef6c5d0bf84fc03bc4d57425ba7ed2ba2a9e3d057b847ca7a4b24e843bd69c51b6a1f8b4da1fb13038923f2e32afd2b7b03df32446f6a99d5f520a01cc063151cb2fdc2632865e04f03201fb7119302c270d2b76fca4567234dcb4c72524c0166a7a74ea6c9ed57edf6030d73ecbc053c7765e03d60699f1687421ff0b1eb3560dea77852d03b776a05b103735c275fccaa4d3fb717a4d9ff985f686ce8c308792f7b9766d67167de6666d1033a5b9d558be90e3bfba20c66bdafa63d03f2e9376ef96b53234dfab4e6d3bfe5039e2add979f53f62760e990a5fb1ba706a9a9be6d678748a00d882b3bae0ad43b03ad009565ce8bb68242b285dd3265051ae0dce2bfce663613346f339311377c99034d35a35663e18a1ec904617972849640e420e105266435489a53c26fc951706d030b308d00760f3c6db17f1d99f4f6d5d8d6cacf53552866cc7ab816868b47c4f803c00edcdf86ebc703a9781317e14b05d73b2fe9aa8adf34a5c40cfdbb903f8d7a032b6c601d57bef3e5dbfebd18172c2829e30adeea099f3d82a4fd0b1355e46553030c62c2259262b0b4660ece822e3244d28e51a68a83393d62718859b675ffc9a2032954228460674047c49b0acd0ed31514211d21eea4b7c5eae591d2efbc0097f403e18395f2264fd63d400290ce09de63e02bbadca2f946eec5d4a1b59a543773a100581f02d2231709e5200c5d536c9b25333d3de41d76ddaebfe4df46a4d963ed1e8c5820ffffffffffffffffffffffffffffffffffffffffffffffd53be57b1a0068bfff00581f03161ed6cbaea3bc62beaf7a48df20ab8d38c387a8a5ce7702d128439bfb505820ffffffffffffffffffffffffffffffffffffffffffffffeccd2389663ea8ffff00581f03f17e015bdf5c6515f5f9456ad1b356fbe627d8a2fa3337c8a00832c081f04101021922000371b6d4163a98876386db383c9e432ad9bdc56e9881575de5ed3a324773b4aac500581f02ee74e4323bdc6fde68ab38eb6916d25dfeeb5b2df181c12f2a06f159d0ac494bb87e776fb9a0000003c2a9fd4e78a5edbdffebc81b9ce59fa3a293b49586b0db44e87ddf3614d922d000581f02de3b2c1c74f9b71bc9bfe4b86214f41f5317e1171e403ca7b18c74a3f07b49056bc75e2d6310000003e030a239de19e9a7b48b00637e05d3e4aafbadaa2418625a6e116dc5516aca1d00581f0250d7d7bc57f85309c1ecc33c03466c7c36bdb558e1529afaf237ff86c0f75820fffffffffffffffffffffffffffffffffffffffffffffff831b4f100dcff7fff03599bbd09452b287c44c1b19748bea443cf15f1014b40b826de5af108903a6cce035803e7504f84ab771896208fe786c6d91f3070607a2fa8d57cba430be84f3022021967eb03e69810b958a8f437a14d07767404f768a8a2733a4a8bbb54a01eba8547ae038b031f0c90d86544ba16730dc372efdae372d3dd727dff790352eef7698526c92c430359a7e55949a04d57b1fcaac153b46445be3e6f2722129ce097942ae84da3e1a50394f5b88f00ab79b00f85b1a40b8b9dfa0cbf491c9753aaff464d3c136b1fbe70034e27ee7747f6bfa0c26d5cbaedef46d87be4407a06c374be403e9b4d652080d0036a7756cdf9e66d02f08b38739bb6e47487f6dafcf13abd31329a7ec7ae842bdf031a30ec1ae1a8260360543a86e0d311d64095c6e2bc39b7eff4aebd71debdc1ff0219ffff0219ffff0305007d116d7a41f2da683b8db644fab8aeba27cc53db7861f45639dbf265717c03fa64977279ece0f9f09edff5078ea0d9fa2e682f6d86f3150bc1ba85cd646b8c0394a43c974e3871a7df17336c0ace09a6b10139ea4c4e8c7d3666e141fbe401a6039876dc69688f8ce452939a5c47deba8456945545706cc1994c00e479ed4b5fe70334fa785c9271876f60191246c158641625a19aaa3b40fa3b447cb65c771e3f1903d582ee4844edf9501455d05aa6a8457d3e7cb614ffacd5612a62cb244d9203840362d64e29a5e4ada2ddcf60de4844f08598d9eaaf9994b44a68aef290a56abb2d0219ffff05581d02ab2a0d46d181237352eada87f283033961d4a4ac14662d3c878a9f66070119081c02198001031066cf31b04f8145c5c91546d592f4ed398cec07c594fee332a58eee041facf105581e0344a7022885b7e90b599e447a5b727d134a0203c4885f23d862c8aa62f00c0544ee6b280003803d041b217dd4ad1bb4fb87a60039e0d9be1f1cb67bcc15b8a536dd34c2222305581e03e82f64f177aa3db34ce5a9a4a9c70bb2ff53f823e797079e7efde1e2800c04468421f1e2e8d803cc36aa29d14bf385824ec4b9d381025808abf7213dc9cedfb853a99ddb6452bf02197f54030b2d7c673c85fa25f3e04b98b3eaee17c89fa948d8902a37805b25e132447123034aa7aa3fb6aeb853c5d611d3610efb2750f01281f9d7be3a98c32f5bfeef6faf034c648df10d210a4c81a6e3b33537dc6b2cdcde178551763c971677897d7021dc037279eb0eac580b6b14f0b0659447b655fb2d04927b0a17057a0c5dfa1b2fc6f303bb68d0f3cd8832b5cd3d9509e01af9ea067a16e787233d22d8f887600fcba6ea03abff79f8d0da9dab41f51944cda3cb9ef5317be2a8090397b22f78337b8f3a5e033fa329649ab9d143f10a1b94273a4e2ffc90c2a4bcd7afef4d7dd4a7cfc164dc0219ffff0360e910d9cc45430e53b57e9c9a7bba2c846793dec0e375a89be8cf088c606e650219ffff038a565fad4f4d8bf93042db4f46e89472f652b15f6b3a0e734d483260435119af039395f44add02592abb840c9ffff6709a428f169dad0aa38fa3feb0ae28a03edc038ce5edf06ceba384dd32d29448d08d54d22eac804839bd0db75cdce5627829a803a58dc856cf8a75d2d8d02a9a155d1c5dea71023301ba1044270b6ac70f57cac503724febc4dfe36aebfd74e2c9b4c966cf9ce97307c34e539bf78fb593cfadcd1903caee591aabcc8b7658489b5f4db37104d65db30ebcaac8519053dd4efdbb65b60219ffff03ea46e81afada4bca42ce7aef6a315ede8e313c298224dc1f09e5bfe48eddd6560390a3561460543790249e1334b9c969cf1afa0028404fa4e4bfbe60cbbddb483f03b12f12e98f5b56e66ce5ff528ce8412de513ece482923964667a3fde152b9297033769d08801c8f8991cfbbd12a88a7ebd336ee72d76be33297fc29baa386070ac03e979a880fcfddb91d7ebfbf7a6408f5119348bc6315ffb977422051930b14ba503e326999bed991fc8a6dc6300a92fb085aada29c8dae09d629bf3e6cf18e4183203675524c9a033d5f4c03f499b3d16519b1de3709a225ab24637e5d88d21b46445031ab0b7efdb24f6dd2d8f11259c0a8571d8f50b04a01a9ef4ced9c241d7c872ae0310d0d49aaa0b5bac353be8425de3887768aa600e89a91df9fa1b5db7bd90669d036042c30013b7c5bc4eb8203661542673381cdb0bf9d5d096a703bb0b77a7c6d70388494ea0f3973dc4947d578633214475b2bdb43559e8b0e7784da95877c8ccba034241bbeb8e2de99d9184e2f43d8651477266ddd70bda18d6b0f0c4eeee3bfeb90364c48a281c79245d2f39eed81436ad649673121b0c22610b35954f6e6f26f765035bd4865b50b02887ac0b0bf4813c0fd57f9ea442f8061702b2a3b225e7cc54df030a5c34e4b07229db04dcb0c1f8c946a75bf03279a748b8afbe95eab80ff0442c03a16c08dd3c73cfc766fdd293dda39d708a09d46c0b2975e86bc9706a7e16252803f6d918640d6315623bad0b4759b283cde31620a847e95381b574af670742b0110367f3a14dbf2ec3cfccf34db8870f4988f57c8903ceddba7503d9ecd9968ae73b03cda4e7b5d09d8f0920e9284e5de34500985b7b6cb15b1f6cd9fff017f211e90f037aae658d0745dc13a76bc4b8fe0ad60ea1822464b3d0ba59ad0fa77959ee1ce103aec6565b5d137af29985de68d956868a97b9ea9c03b21ec29a2769c9d333bee9035f545fb7ccc5ad589514ef35427059cc559a0e5f54f9f45f335aa4fe96adfaab03861e5aa66666b1b147b805fb8ad5fbc2c6d48f4dc859ec3d45f0cb9075ea2211032944db798813a7fb9f841e7c395d547896adc9083cca8576c4f1490f82d0d813036e15bd24ff7ebfbc51d03415f59911beae15a8486e99db62e8ccddfbc5c72fdc03d0555cd45273121b659ede28fab68d713c91ac40f0670c50172b8428c659dcb7030a12d874327fc0b8e2761993969d4bb9cad6c142ec3a3f7045688c5dc90bb17305581e0387718ac6311ce57db5fcbac110d443b24435e50bf414677fa59655d0600401033b91ac772dc92e2e45bc106ca253d0c33f04308e377848865ec9514cc8936b1a04595ef16080604052600436106101a55760003560e01c806382230446116100e15780639e0bbd9f1161008a578063a7fc7a0711610064578063a7fc7a07146105bd578063c3540448146105dd578063e42e0ea9146105f0578063fd32692114610610576101ac565b80639e0bbd9f14610529578063a67f534d14610549578063a69685b514610592576101ac565b806390ea7413116100bb57806390ea7413146104b3578063915ad7e9146104f657806396f4130c14610516576101ac565b806382230446146104485780638c95ff1e146104685780638da5cb5b14610488576101ac565b806342cf35271161014e5780635dbd8f6b116101285780635dbd8f6b146103d55780636ccae054146103e85780637095d47114610408578063734427c814610428576101ac565b806342cf35271461031c57806352283e35146103505780635b94db27146103b5576101ac565b8063263af8e81161017f578063263af8e8146102af57806337c6145a146102f25780633bd1adec14610305576101ac565b80631028c2bd146101ec57806315b9a8b81461021557806320f99c0a14610263576101ac565b366101ac57005b60006101bb813560e01c610645565b90506060600436036004600037600080600436036000855af490503d6000803e8080156101e7573d6000f35b3d6000fd5b6101ff6101fa366004615aab565b614659565b60405161020c9190615b5a565b60405180910390f35b34801561022157600080fd5b5060015461024e907801000000000000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff909116815260200161020c565b34801561026f57600080fd5b5060015473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161020c565b3480156102bb57600080fd5b5061028a6102ca366004615a90565b60026020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6101ff610300366004615a01565b6146e8565b34801561031157600080fd5b5061031a61479f565b005b34801561032857600080fd5b5061028a7f0000000000000000000000000f34a522ff82151c90679b73211955068fd854f181565b34801561035c57600080fd5b506103847fb3dc8da40000000000000000000000000000000000000000000000000000000081565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200161020c565b3480156103c157600080fd5b5061031a6103d0366004615834565b6147fb565b61031a6103e3366004615936565b6148bb565b3480156103f457600080fd5b5061031a61040336600461587d565b6149df565b34801561041457600080fd5b5061028a610423366004615a90565b614a51565b34801561043457600080fd5b5061031a610443366004615a90565b614a62565b34801561045457600080fd5b5061031a6104633660046158be565b614b4f565b34801561047457600080fd5b5061024e610483366004615834565b614ced565b34801561049457600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661028a565b3480156104bf57600080fd5b5061028a6104ce366004615a90565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561050257600080fd5b5061028a610511366004615a90565b610645565b61031a610524366004615a3c565b614e39565b34801561053557600080fd5b5061031a610544366004615a90565b6151f6565b34801561055557600080fd5b5061028a610564366004615a90565b63ffffffff1660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b34801561059e57600080fd5b506105af68056bc75e2d6310000081565b60405190815260200161020c565b3480156105c957600080fd5b5061024e6105d8366004615834565b6152e3565b61031a6105eb366004615978565b615431565b3480156105fc57600080fd5b5061031a61060b366004615851565b61553a565b34801561061c57600080fd5b5060015461024e9074010000000000000000000000000000000000000000900463ffffffff1681565b60006101818263ffffffff1610156145c8576101018263ffffffff1610156130585760818263ffffffff161015611b675760418263ffffffff1610156110f65760218263ffffffff161015610bc55760118263ffffffff1610156109345760098263ffffffff1610156107f35760058263ffffffff16101561075a5760038263ffffffff161015610715578163ffffffff16600114156106fa5750738cd6bacdae46b449e2e5b34e348a4ed459c84d50919050565b507331524750cd865ff6a3540f232754fb974c18585c919050565b8163ffffffff166003141561073f575073ed9b37342bec8f3a2d7b000732ec87498aa6ec6a919050565b5073e8704ef6211f8988ccbb11badc89841808d66890919050565b60078263ffffffff1610156107ae578163ffffffff16600514156107935750739aff58c460a461578c433e11c4108d1c4cf77761919050565b50732d1733886cfd465b0b99f1492f40847495f334c5919050565b8163ffffffff16600714156107d8575073715497be4d130f04b8442f0a1f7a9312d4e54fc4919050565b507390c8a40c38e633b5b0e0d0585b9f7fa05462caaf919050565b600d8263ffffffff16101561089b57600b8263ffffffff161015610856578163ffffffff166009141561083b575073a402b70fcff3f4a8422b93ef58e895021eade4f6919050565b5073c1b718522e15cd42c4ac385a929fc2b51f5b892e919050565b8163ffffffff16600b1415610880575073a97bf2f7c26c43c010c349f52f5ea5dc49b2dd38919050565b5073969423d71b62c81d2f28d707364c9dc4a0764c53919050565b600f8263ffffffff1610156108ef578163ffffffff16600d14156108d4575073f86729934c083fbec8c796068a1fc60701ea1207919050565b5073d7cc2571f5823caca26a42690d2be7803dd5393f919050565b8163ffffffff16600f14156109195750737c8837a279bbbf7d8b93413763176de9f65d5bb9919050565b507313b81c27b588c07d04458ed7ddbdbd26d1e39bcc919050565b60198263ffffffff161015610a845760158263ffffffff1610156109eb5760138263ffffffff1610156109a6578163ffffffff166011141561098b57507352560ac678afa1345d15474287d16dc1ea3f78ae919050565b50731e31e376551459667cd7643440c1b21ce69065a0919050565b8163ffffffff16601314156109d0575073c57d822cb3288e7b97ef8f8af0ecdcd1b783529b919050565b50732197a1d9af24b4d6a64bff95b4c29fcd3ff28c30919050565b60178263ffffffff161015610a3f578163ffffffff1660151415610a24575073e3700feaa5100041bf6b7adba1f72f647809fd00919050565b5073c02e8a0fdabf0eefcea025163d90b5621e2b9948919050565b8163ffffffff1660171415610a69575073f5144235e2926cab3c69b30113254fa632f72d62919050565b5073ba3f92313b00a1f7bc53b2c24eb195c8b2f57682919050565b601d8263ffffffff161015610b2c57601b8263ffffffff161015610ae7578163ffffffff1660191415610acc57507377a6856fe1ffa5beb55a1d2ed86e27c7c482cb76919050565b50734826ff4e01e44b1fcefbfb38cd96687eb7786b44919050565b8163ffffffff16601b1415610b1157507355ff3f5493cf5e80e76dea7e327b9cd8440af646919050565b5073f430db544be9770503be4aa51997aa19bbd5ba4f919050565b601f8263ffffffff161015610b80578163ffffffff16601d1415610b655750730f166446ce1484ee3b0663e7e67df10f5d240115919050565b50736365095d92537f242db5edfdd572745e72ac33d9919050565b8163ffffffff16601f1415610baa5750735c7bc93f06ce3eae75adf55e10e23d2c1de5bc65919050565b5073e46383bad90d7a08197ccf08972e9dcdccce9ba4919050565b60318263ffffffff161015610e655760298263ffffffff161015610d245760258263ffffffff161015610c8b5760238263ffffffff161015610c46578163ffffffff1660211415610c2b575073f0f21710c071e3b728bdc4654c3c0b873aaaa308919050565b507363bc9ed3acaaeb0332531c9fb03b0a2352e9ff25919050565b8163ffffffff1660231415610c70575073d1ce808625cb4007a1708824ae82cdb0ece57de9919050565b507357bbb148112f4ba224841c3fe018884171004661919050565b60278263ffffffff161015610cdf578163ffffffff1660251415610cc4575073037f7d6933036f34dfabd40ff8e4d789069f92e3919050565b5073ef978c280915cff3dca4edfa8932469e40ada1e1919050565b8163ffffffff1660271415610d0957507392ee9e071b13f7ecfd62b7ded404a16cbc223cd3919050565b507394ae539c186e41ed762271338edf140414d1e442919050565b602d8263ffffffff161015610dcc57602b8263ffffffff161015610d87578163ffffffff1660291415610d6c57507330a64bbe4ddbd43da2368efd1eb2d80c10d84dab919050565b50733aeabf81c1dc4c1b73d5b2a95410f126426fb596919050565b8163ffffffff16602b1415610db157507325b08ab3d0c8ea4cc9d967b79688c6d98f3f563a919050565b5073ea40cb15c9a3bbd27af6474483886f7c0c9ae406919050565b602f8263ffffffff161015610e20578163ffffffff16602d1415610e055750739580113cc04e5a0a03359686304ef3a80b936dd3919050565b5073d211c826d568957f3b66a3f4d9c5f68ccc66e619919050565b8163ffffffff16602f1415610e4a575073cee24d0635c4c56315d133b031984d4a6f509476919050565b50733922e6b987983229798e7a20095ec372744d4d4c919050565b60398263ffffffff161015610fb55760358263ffffffff161015610f1c5760338263ffffffff161015610ed7578163ffffffff1660311415610ebc5750732d92d03413d296e1f31450479349757187f2a2b7919050565b50730fe5308ee90fc78f45c89db6053ea859097860ca919050565b8163ffffffff1660331415610f0157507308ba68e067c0505baf0c1311e0cfb2b1b59b969c919050565b50739bee5dddf75c24897374f92a534b7a6f24e97f4a919050565b60378263ffffffff161015610f70578163ffffffff1660351415610f555750731fc5a90b232208704b930c1edf82ffc6acc02734919050565b50735b1b0417cb44c761c2a23ee435d011f0214b3c85919050565b8163ffffffff1660371415610f9a5750739d70cdaca12a738c283020760f449d7816d592ec919050565b507395a23b9cb830eccfddd5df56a4ec665e3381fa12919050565b603d8263ffffffff16101561105d57603b8263ffffffff161015611018578163ffffffff1660391415610ffd575073483a957cf1251c20e096c35c8399721d1200a3fc919050565b5073b4ad39cb293b0ec7feda743442769a7ff04987cd919050565b8163ffffffff16603b14156110425750734c543ad78c1590d81bae09fc5b6df4132a2461d0919050565b5073471d5e5195c563902781734cfe1ff3981f8b6c86919050565b603f8263ffffffff1610156110b1578163ffffffff16603d14156110965750731b12a54b5e606d95b8b8d123c9cb09221ee37584919050565b5073e4127cc550bac433646a7d998775a84dac16c7f3919050565b8163ffffffff16603f14156110db575073ecb1b55ab12e7dd788d585c6c5cd61b5f87be836919050565b5073f91ef487c5a1579f70601b6d347e19756092eebf919050565b60618263ffffffff1610156116365760518263ffffffff1610156113a55760498263ffffffff1610156112645760458263ffffffff1610156111cb5760438263ffffffff161015611186578163ffffffff166041141561116b57507334a16a7e9badeefd4f056310cbe0b1423fa1b760919050565b507360e10e80c7680f429dbbc232830becd3d623c4cf919050565b8163ffffffff16604314156111b057507366465285b8d65362a1d86ce00fe2be949fd6debf919050565b50735ab231b7e1a3a74a48f67ab7bde5cdd4267022e0919050565b60478263ffffffff16101561121f578163ffffffff16604514156112045750733a1c3633ee79d43366f5c67802a746afd6b162ba919050565b50730c4bfcba8dc3c811437521a80e81e41daf479039919050565b8163ffffffff16604714156112495750736caf25d2e139c5431a1fa526eaf8d73ff2e6252c919050565b507374ad21e09fda68638ce14a3009a79b6d16574257919050565b604d8263ffffffff16101561130c57604b8263ffffffff1610156112c7578163ffffffff16604914156112ac575073d4923a61008894b99cc1cd3407ef9524f02aa0ca919050565b50736f159b5eb823bd415886b9271aa2a723a00a1987919050565b8163ffffffff16604b14156112f1575073742a8aa42e7bfb4554de30f4fb07ffb6f2068863919050565b50734ae9702d3360400e47b446e76de063acab930101919050565b604f8263ffffffff161015611360578163ffffffff16604d14156113455750730e19a0a44dda7dad854ec5cc867d16869c4e80f4919050565b5073e021a51968f25148f726e326c88d2556c5647557919050565b8163ffffffff16604f141561138a57507364287bdddaef4d94e4599a3d882bed29e6ada4b6919050565b5073cbb57fd2e19cc7e9d444d5b4325a2f1047d0c73f919050565b60598263ffffffff1610156114f55760558263ffffffff16101561145c5760538263ffffffff161015611417578163ffffffff16605114156113fc575073373de80df7d82cff6d76f29581b360c56331e957919050565b50730466356e131ad61596a51f86bad1c03a328960d8919050565b8163ffffffff166053141561144157507301726b960992f1b74311b248e2a922fc707d43a6919050565b50732e21bdf9a4509b89795bce7e132f248a75814cec919050565b60578263ffffffff1610156114b0578163ffffffff1660551415611495575073769512b23aeff842379091d3b6e4b5456f631d42919050565b5073e7ed9be946a74ec19325d39c6eeb57887ccb2b0d919050565b8163ffffffff16605714156114da575073c4d01ec357c2b511d10c15e6b6974380f0e62e67919050565b50735bc49cc9dd77becf2fd3a3c55611e84e69afa3ae919050565b605d8263ffffffff16101561159d57605b8263ffffffff161015611558578163ffffffff166059141561153d57507348bcd879954fa14e7dbdaeb56f79c1e9ddcb69ec919050565b5073e929bdde21b462572fcaa4de6f49b9d3246688d0919050565b8163ffffffff16605b141561158257507385aae300438222f0e3a9bc870267a5633a9438bd919050565b507351f72e1096a81c55cd142d66d39b688c657f9be8919050565b605f8263ffffffff1610156115f1578163ffffffff16605d14156115d65750733a8a05bf68ac54b01e6c0f492abf97465f3d15f9919050565b5073145aa67133f0c2c36b9771e92e0b7655f0d59040919050565b8163ffffffff16605f141561161b575073a030315d7db11f9892758c9e7092d841e0adc618919050565b5073df1f8d81a3734bdddefac6ca1596e081e57c3044919050565b60718263ffffffff1610156118d65760698263ffffffff1610156117955760658263ffffffff1610156116fc5760638263ffffffff1610156116b7578163ffffffff166061141561169c575073ff2833123b58aa05d04d7fb99f5fb768b2b435f8919050565b5073c8f09c1fd751c570233765f71b0e280d74e6e743919050565b8163ffffffff16606314156116e15750733026da6ceca2e5a57a05153653d9212ffaaa49d8919050565b5073de68ee703de0d11f67b0ce5891cb4a903de6d160919050565b60678263ffffffff161015611750578163ffffffff1660651415611735575073e23a7730e81fb4e87a6d0bd9f63ee77ac86c3da4919050565b50738b1dbe04ad76a7d8bc079cacd3ed4d99b897f4a0919050565b8163ffffffff166067141561177a575073bb227240fa459b69c6889b2b8cb1be76f118061f919050565b5073c062b9b3f0db28bb8afafcd4d075729344114ffe919050565b606d8263ffffffff16101561183d57606b8263ffffffff1610156117f8578163ffffffff16606914156117dd575073553188aa45f5fdb83ec4ca485982f8fc082480d1919050565b50730109d83d746eacb6d4014953d9e12d6ca85e330b919050565b8163ffffffff16606b141561182257507345b1bed29812f5bf6711074acd180b2aeb783ad9919050565b5073da06ec8c19aea31d77f60299678cba40e743e1ad919050565b606f8263ffffffff161015611891578163ffffffff16606d14156118765750733cc5235c97d975a9b4fd4501b3446c981ea3d855919050565b5073a1827267d6bd989ff38580ae3d9deff6acf19163919050565b8163ffffffff16606f14156118bb5750733663caa0433a3d4171b3581cf2410702840a735a919050565b50737575d0a7614f655ba77c74a72a43bbd4fa6246a3919050565b60798263ffffffff161015611a265760758263ffffffff16101561198d5760738263ffffffff161015611948578163ffffffff166071141561192d5750732516defc18bc07089c5daff5eafd7b0ef64611e2919050565b5073fec5ff08e20fbc107a97af2d38bd0025b84ee233919050565b8163ffffffff16607314156119725750730fb5763a87242b25243e23d73f55945fe787523a919050565b5073e4c00db89678dbf8391f430c578ca857dd98ade1919050565b60778263ffffffff1610156119e1578163ffffffff16607514156119c65750738f2a22061f9f35e64f14523dc1a5f8159e6a21b7919050565b507318e4b838ae966917e20e9c9c5ad359cdd38303bb919050565b8163ffffffff1660771415611a0b57507361acb1d3dcb3e3429832a164cc0fc9849fb75a4a919050565b50737681e3c8e7a41dca55c257cc0d1ae757f5530e65919050565b607d8263ffffffff161015611ace57607b8263ffffffff161015611a89578163ffffffff1660791415611a6e575073806a2ab9748c3d1db976550890e3f528b7e8faec919050565b5073bdb8a5dd52c2c239fbc31e9d43b763b0197028ff919050565b8163ffffffff16607b1415611ab3575073474ec9203706010b9978d6bd0b105d36755e4848919050565b50738dfd0d829b303f2239212e591a0f92a32880f36e919050565b607f8263ffffffff161015611b22578163ffffffff16607d1415611b07575073ad4bce9745860b1add6f1bd34a916f050e4c82c2919050565b5073bc701115b9fe14bc8cc5934cdc92517173e308c4919050565b8163ffffffff16607f1415611b4c5750730d1918d786db8546a11aded475c98370e06f255e919050565b5073ee44f57cd6936db55b99163f3df367b01eda785a919050565b60c18263ffffffff1610156125e75760a18263ffffffff1610156120b65760918263ffffffff161015611e255760898263ffffffff161015611ce45760858263ffffffff161015611c4b5760838263ffffffff161015611c06578163ffffffff1660811415611beb57507363044521fe5a1e488d7ed419cd0e35b7c24f2aa7919050565b5073410085e73bd85e90d97b84a68c125adb9f91f85b919050565b8163ffffffff1660831415611c305750737913fe97e07c7a397ec274ab1d4e2622c88ec5d1919050565b5073977f9fe93c064dcf54157406daabc3a722e8184c919050565b60878263ffffffff161015611c9f578163ffffffff1660851415611c84575073cd2236468722057cfbbabad2db3dea9c20d5b01b919050565b507317c7287a491cf5ff81e2678cf2bfae4333f6108c919050565b8163ffffffff1660871415611cc9575073354d9a5dbf96c71b79a265f03b595c6fdc04dadd919050565b5073b4e409eb8e775eefeb0344f9eee884cc7ed21c69919050565b608d8263ffffffff161015611d8c57608b8263ffffffff161015611d47578163ffffffff1660891415611d2c575073a1a3c4670ad69d9be4ab2d39d1231fec2a63b519919050565b50734589a22199870729c1be5cd62ee93bed858113e6919050565b8163ffffffff16608b1415611d715750738e7b864db26bd6c798c38d4ba36eba0d6602cf11919050565b5073a2d17c7260a4cb7b9854e89fc367e80e87872a2d919050565b608f8263ffffffff161015611de0578163ffffffff16608d1415611dc5575073c7f0edf0a1288627b0432304918a75e9084cbd46919050565b5073e4b4ef1f9a4abfedb371fa7a6143993b15d4df25919050565b8163ffffffff16608f1415611e0a575073fe3d84a2ef306febb5452441c9bdbb6521666f6a919050565b50738a12b6c64121920110ae58f7cd67dfec21c6a4c3919050565b60998263ffffffff161015611f755760958263ffffffff161015611edc5760938263ffffffff161015611e97578163ffffffff1660911415611e7c57507376c4d9afc4717a2baac4e5f26cccf02351f7a3da919050565b5073d4719ba550e397aeacca1ad2201c1ba69024faaf919050565b8163ffffffff1660931415611ec15750739646126ce025224d1682c227d915a386efc0a1fb919050565b50734dd8af2e3f2044842f0247920bc4babb636915ea919050565b60978263ffffffff161015611f30578163ffffffff1660951415611f155750738e8a327183af0cf8c2ece9f0ed547c42a160d409919050565b50739d49614cae1c685c71678ca6d8cdf7584bfd0740919050565b8163ffffffff1660971415611f5a5750735a00ef257394cbc31828d48655e3d39e9c11c93d919050565b5073c9a2751b38d3ddd161a41ca0135c5c6c09ec1d56919050565b609d8263ffffffff16101561201d57609b8263ffffffff161015611fd8578163ffffffff1660991415611fbd5750737e1c261640a525c94ca4f8c25b48cf754dd83590919050565b5073409fe24ba6f6bd5af31c1aaf8059b986a3158233919050565b8163ffffffff16609b1415612002575073704cf5bfdadc0f55fdbb53b6ed8b582e018a72a2919050565b50733982bf65d7d6e77e3b6661cd6f6468c247512737919050565b609f8263ffffffff161015612071578163ffffffff16609d14156120565750733982b9f26ffd67a13ee371e2c0a9da338ba70e7f919050565b50736d834ab385900c1f49055d098e90264077fbc4f2919050565b8163ffffffff16609f141561209b57507311fe5f70779a094b7166b391e1fb73d422ef4e4d919050565b5073d347e4e47280d21f13b73d89c6d16f867d50dd13919050565b60b18263ffffffff1610156123565760a98263ffffffff1610156122155760a58263ffffffff16101561217c5760a38263ffffffff161015612137578163ffffffff1660a1141561211c575073b6035edd53dda28d8b69b4ae9836e40c80306cd7919050565b507354c884e6f5c7ccfeca990396c520c858c922b6ca919050565b8163ffffffff1660a314156121615750735ea93e240b083d686558ed607bc013d88057ce46919050565b50734c7131ee812de685cbe4e2ccb033d46ecd46612e919050565b60a78263ffffffff1610156121d0578163ffffffff1660a514156121b5575073c1a5be9f0c33d8483801d702111068669f81ff91919050565b50739e5fab91455be5e5b2c05967e73f456c8118b1fc919050565b8163ffffffff1660a714156121fa5750733d9a05927223e0dc2f382831770405885e22f0d8919050565b50736303a011fb6063f5b1681cb5a9938ea278dc6128919050565b60ad8263ffffffff1610156122bd5760ab8263ffffffff161015612278578163ffffffff1660a9141561225d575073e9c60795c90c66797e4c8e97511ea07cdada32be919050565b5073d56cc98e69a1e13815818b466a8aa6163d84234a919050565b8163ffffffff1660ab14156122a257507347ebb9d36a6e40895316cd894e4860d774e2c531919050565b5073a5eb293629410065d14a7b1663a67829b0618292919050565b60af8263ffffffff161015612311578163ffffffff1660ad14156122f65750731b3b4c8146f939ce00899db8b3ddef0062b7e023919050565b5073257bbc11653625ebfb6a8587ef4f4fbe49828eb3919050565b8163ffffffff1660af141561233b57507344cc979c01b5bb1eac21301e73c37200dfd06f59919050565b50732972fdf43352225d82754c0174ff853819d1ef2a919050565b60b98263ffffffff1610156124a65760b58263ffffffff16101561240d5760b38263ffffffff1610156123c8578163ffffffff1660b114156123ad5750733e54144f032648a04d62d79f7b4b93ff3ac2333b919050565b5073444016102db8adbe73c3b6703a1ea7f2f75a510d919050565b8163ffffffff1660b314156123f2575073ac079143f98a6eb744fde34541ebf243df5b5ded919050565b5073ae9010767fb112d29d35cedfba2b372ad7a308d3919050565b60b78263ffffffff161015612461578163ffffffff1660b51415612446575073fe0bccf9ccc2265d5fb3450743f17dfe57ae1e56919050565b507304ed8c0545716119437a45386b1d691c63234c7d919050565b8163ffffffff1660b7141561248b575073636c14013e531a286bc4c848da34585f0bb73d59919050565b50732fa67fc7ecc5caa01c653d3bfea98ecc5db9c42a919050565b60bd8263ffffffff16101561254e5760bb8263ffffffff161015612509578163ffffffff1660b914156124ee57507323e9a0fc180818aa872d2079a985217017e97bd9919050565b507379a95c3ef81b3ae64ee03a9d5f73e570495f164e919050565b8163ffffffff1660bb1415612533575073a7ea0e88f04a84ba0ad1e396cb07fa3fdad7df6d919050565b5073d23ca1278a2b01a3c0ca1a00d104b11c1ebe6f42919050565b60bf8263ffffffff1610156125a2578163ffffffff1660bd1415612587575073707bc4a9fa2e349aed5df4e9f5440c15aa9d14bd919050565b50737e290f2dd539ac6ce58d8b4c2b944931a1fd3612919050565b8163ffffffff1660bf14156125cc575073707aa5503088ce06ba450b6470a506122ea5c8ef919050565b5073fbb3f7bf680deeb149f4e7bc30ea3ddfa68f3c3f919050565b60e18263ffffffff161015612b275760d18263ffffffff1610156128965760c98263ffffffff1610156127555760c58263ffffffff1610156126bc5760c38263ffffffff161015612677578163ffffffff1660c1141561265c575073de74ad8ccc3dbf14992f49cf24f36855912f4934919050565b5073409ba83df7777f070b2b50a10a41de2468d2a3b3919050565b8163ffffffff1660c314156126a15750735cb7be90a5dd7cfda54e87626e254fe8c18255b4919050565b50730a684fe12bc64fb72b59d0771a566f49bc090356919050565b60c78263ffffffff161015612710578163ffffffff1660c514156126f5575073df30048d91f8fa2bcfc54952b92bfa8e161d3360919050565b5073050825fff032a547c47061cf0696fdb0f65aea5d919050565b8163ffffffff1660c7141561273a575073d55e671dac1f03d366d8535073ada5db2aab1ea2919050565b50739470c704a9616c8cd41c595fcd2181b6fe2183c2919050565b60cd8263ffffffff1610156127fd5760cb8263ffffffff1610156127b8578163ffffffff1660c9141561279d5750732d9ffd275181f5865d5e11cbb4ced1521c4df9f1919050565b5073816d28dec10ec95df5334f884de85ca6215918d8919050565b8163ffffffff1660cb14156127e2575073d1f87267c4a43835e666dd69df077e578a3b6299919050565b507339e89bde9dacbe5468c025de371fbda12bdebab1919050565b60cf8263ffffffff161015612851578163ffffffff1660cd14156128365750737b40a3207956ecad6686e61efcac48912fcd0658919050565b5073090cf10d793b1efba9c7d76115878814b663859a919050565b8163ffffffff1660cf141561287b575073312a59c06e41327878f2063ed0e9c282c1da3afc919050565b50734f1188f46236dd6b5de11ebf2a9ff08716e7deb6919050565b60d98263ffffffff1610156129e65760d58263ffffffff16101561294d5760d38263ffffffff161015612908578163ffffffff1660d114156128ed5750730a6f9a3f4fa49909bbfb4339cbe12b42f53bbbed919050565b507301d13d7acacbb955b81935c80fff31e14bdfa71f919050565b8163ffffffff1660d31415612932575073691a14fa6c7360422ec56df5876f84d4edd7f00a919050565b507397aad18d886d181a9c726b3b6ae15a0a69f5af73919050565b60d78263ffffffff1610156129a1578163ffffffff1660d514156129865750732917241371d2099049fa29432dc46735baec33b4919050565b50735f20f20f7890c2e383e29d4147c9695a371165f5919050565b8163ffffffff1660d714156129cb575073ec0a60e639958335662c5219a320ccebb56c6077919050565b507396d63cf5062975c09845d17ec672e10255866053919050565b60dd8263ffffffff161015612a8e5760db8263ffffffff161015612a49578163ffffffff1660d91415612a2e575073ff57429e57d383939cab50f09abbfb63c0e6c9ad919050565b507318e393a7c8578fb1e235c242076e50013cddd0d7919050565b8163ffffffff1660db1415612a73575073e7e5238af5d61f52e9b4acc025f713d1c0216507919050565b5073428401d4d0f25a2ee1da4d5366cb96ded425d9bd919050565b60df8263ffffffff161015612ae2578163ffffffff1660dd1415612ac757507342e5733551ff1ee5b48aa9fc2b61af9b58c812e6919050565b507364df9c7a0551b056d860bc2419ca4c1ef75320be919050565b8163ffffffff1660df1415612b0c57507346006925506145611bbf0263243d8627daf26b0f919050565b50738d64be884314662804eaab884531f5c50f4d500c919050565b60f18263ffffffff161015612dc75760e98263ffffffff161015612c865760e58263ffffffff161015612bed5760e38263ffffffff161015612ba8578163ffffffff1660e11415612b8d575073157a62d92d07b5ce221a5429645a03bbace85373919050565b5073af037d33e1f1f2f87309b425fe8a9d895ef3722b919050565b8163ffffffff1660e31415612bd2575073921d1154e494a2f7218a37ad7b17701f94b4b40e919050565b5073f282b4555186d8dea51b8b3f947e1e0568d09bc4919050565b60e78263ffffffff161015612c41578163ffffffff1660e51415612c26575073a794e2e1869765a4600b3dfd8a4ebcf16350f6b6919050565b5073fefb048e20c5652f7940a49b1980e0125ec4d358919050565b8163ffffffff1660e71415612c6b575073220104b641971e9b25612a8f001bf48abb23f1cf919050565b5073cb9d373bb54a501b35dd3be5bf4ba43ca31f7035919050565b60ed8263ffffffff161015612d2e5760eb8263ffffffff161015612ce9578163ffffffff1660e91415612cce57507337d627f56e3ff36ac316372109ea82e03ac97dac919050565b50734e81355ffb4a271b4ea59ff78da2b61c7833161f919050565b8163ffffffff1660eb1415612d13575073add8d65caf6cc9ad73127b49e16ea7ac29d91e87919050565b5073630f9b95626487dfeae3c97a44db6c59cf35d996919050565b60ef8263ffffffff161015612d82578163ffffffff1660ed1415612d6757507378ce2bc8238b679680a67fcb98c5a60e4ec17b2d919050565b5073a38d776028ed1310b9a6b086f67f788201762e21919050565b8163ffffffff1660ef1415612dac5750737bb5178827b76b86753ed62a0d662c72cecb1bd3919050565b50734fac26f61c76ec5c3d43b43edfaff0736ae0e3da919050565b60f98263ffffffff161015612f175760f58263ffffffff161015612e7e5760f38263ffffffff161015612e39578163ffffffff1660f11415612e1e575073791bb49bffa7129d6889fdb27744422ac4571a85919050565b507326766ffebb5fa564777913a6f101df019ab32afa919050565b8163ffffffff1660f31415612e6357507305e98e5e95b4ecbbbaf3258c3999cc81ed8048be919050565b5073c5c4621e52f1d6a1825a5ed4f95855401a3d9c6b919050565b60f78263ffffffff161015612ed2578163ffffffff1660f51415612eb7575073fcb15f909ba7fc7ea083503fb4c1020203c107eb919050565b5073bd27603279d969c74f2486ad14e71080829dfd38919050565b8163ffffffff1660f71415612efc575073ff2f756bcecc1a55bfc09a30cc5f64720458cfcb919050565b50733bfb968febc12f4e8420b2d016efce1e615f7246919050565b60fd8263ffffffff161015612fbf5760fb8263ffffffff161015612f7a578163ffffffff1660f91415612f5f575073982ee9ffe23051a2ec945ed676d864fa8345222b919050565b5073e101899100785e74767d454fff0131277bad48d9919050565b8163ffffffff1660fb1415612fa45750734f730c0c6b3b5b7d06ca511379f4aa5bfb2e9525919050565b50735499c36b365795e4e0ef671af6c2ce26d7c78265919050565b60ff8263ffffffff161015613013578163ffffffff1660fd1415612ff85750738af51f7237fc8fb2fc3e700488a94a0ac6ad8b5a919050565b5073da8716df61213c0b143f2849785fb85928084857919050565b8163ffffffff1660ff141561303d575073f040cf9b1ebd11bf28e04e80740df3dde717e4f5919050565b5073b87ba32f759d14023c7520366b844df7f0f036c2919050565b6101418263ffffffff161015613b18576101218263ffffffff1610156135c8576101118263ffffffff161015613328576101098263ffffffff1610156131e0576101058263ffffffff161015613144576101038263ffffffff1610156130fe578163ffffffff1661010114156130e35750730edde681b8478f0c3194f468edd2db5e75c65cdd919050565b507359c70900fca06ee2ace1bdd5a8d0af0cc3bba720919050565b8163ffffffff1661010314156131295750738041f0f180d17dd07087199632c45e17aeb0bad5919050565b50734fb4727064ba595995dd516b63b5921df9b93ac6919050565b6101078263ffffffff16101561319a578163ffffffff16610105141561317f57507386e98b594565857ed098864f560915c0dafd6ea1919050565b507370f8818e8b698effecd86a513a4c87c0c380bef6919050565b8163ffffffff1661010714156131c557507378ed227c8a897a21da2875a752142dd80d865158919050565b5073d02a30bb5c3a8c51d2751a029a6fcfde2af9fbc6919050565b61010d8263ffffffff16101561328c5761010b8263ffffffff161015613246578163ffffffff16610109141561322b5750730f00d5c5acb24e975e2a56730609f7f40aa763b8919050565b5073c3e2091edc2d3d9d98ba09269138b617b536834a919050565b8163ffffffff1661010b1415613271575073a6fbaf7f30867c9633908998ea8c3da28920e75c919050565b5073e6dddcd41e2bbe8122ae32ac29b8fbab79cd21d9919050565b61010f8263ffffffff1610156132e2578163ffffffff1661010d14156132c7575073537aa8c1ef6a8eaf039dd6e1eb67694a48195ce4919050565b507396abac485fd2d0b03cf4a10df8bd58b8ded28300919050565b8163ffffffff1661010f141561330d575073da8e7d46d04bd4f62705cd80355bdb6d441daffd919050565b5073be50018e7a5c67e2e5f5414393e971cc96f293f2919050565b6101198263ffffffff161015613480576101158263ffffffff1610156133e4576101138263ffffffff16101561339e578163ffffffff166101111415613383575073a1b3907d6cb542a4cbe2ee441effaa909fab62c3919050565b50736d08ee8511c0237a515013ac389e7b3968cb1753919050565b8163ffffffff1661011314156133c957507322faa5b5fe43eadbb52745e35a5cda8bd5f96bba919050565b50737a673eb74d79e4868d689e7852abb5f93ec2fd4b919050565b6101178263ffffffff16101561343a578163ffffffff16610115141561341f5750730b8531f8afd4190b76f3e10decadb84c98b4d419919050565b507378eabc743a93583dee403d6b84795490e652216b919050565b8163ffffffff1661011714156134655750733a95d907b2a7a8604b59bcca08585f58afe0aa64919050565b5073f4271f0c8c9af0f06a80b8832fa820cce64fada8919050565b61011d8263ffffffff16101561352c5761011b8263ffffffff1610156134e6578163ffffffff1661011914156134cb57507374b2df841245c3748c0d31542e1335659a25c33b919050565b5073dfc99fd0ad7d16f30f295a5eefce029e04d0fa65919050565b8163ffffffff1661011b1415613511575073e992416b6ac1144ed8148a9632973257839027f6919050565b507354ce55ba954e981bb1fd9399054b35ce1f2c0816919050565b61011f8263ffffffff161015613582578163ffffffff1661011d1415613567575073d4ab52f9e7e5b315bd7471920bad04f405ab1c38919050565b50733670c990994d12837e95ee127fe2f06fd3e2104b919050565b8163ffffffff1661011f14156135ad575073dcf190b09c47e4f551e30bbb79969c3fdea1e992919050565b5073a65057b967b59677237e57ab815b209744b9bc40919050565b6101318263ffffffff161015613878576101298263ffffffff161015613730576101258263ffffffff161015613694576101238263ffffffff16101561364e578163ffffffff1661012114156136335750736efc86b40573e4c7f28659b13327d55ae955c483919050565b507306bcc25cf8e0e72316f53631b3aa7134e9f73ae0919050565b8163ffffffff166101231415613679575073710b6414e1d53882b1fcd3a168ad5ccd435fc6d0919050565b50735ebb2c3d78c4e9818074559e7bae7fcc99781dc1919050565b6101278263ffffffff1610156136ea578163ffffffff1661012514156136cf575073af0a409c3aee0bd08015cfb29d89e90b6e89a88f919050565b5073522559d8b99773c693b80ce06df559036295ce44919050565b8163ffffffff166101271415613715575073b65290a5bae838aaa7825c9ecec68041841a1b64919050565b5073801b8f2068edd5bcb659e6bda0c425909043c420919050565b61012d8263ffffffff1610156137dc5761012b8263ffffffff161015613796578163ffffffff16610129141561377b57507329b5f00515d093627e0b7bd0b5c8e84f6b4cdb87919050565b5073652839ae74683cbf9f1293f1019d938f87464d3e919050565b8163ffffffff1661012b14156137c15750735bc95dcebdde9b79f2b6dc76121bc7936ef8d666919050565b507390db359cea62e53051158ab5f99811c0a07fe686919050565b61012f8263ffffffff161015613832578163ffffffff1661012d14156138175750732c3625eedadbdcdbb5330eb0d17b3c39ff269807919050565b5073c3f0324471b5c9d415acd625b8d8694a4e48e001919050565b8163ffffffff1661012f141561385d5750738c60e7e05fa0ffb6f720233736f245134685799d919050565b507398faf2c09aa4ebb995ad0b56152993e7291a500e919050565b6101398263ffffffff1610156139d0576101358263ffffffff161015613934576101338263ffffffff1610156138ee578163ffffffff1661013114156138d3575073802c1063a861414dfaec16bacb81429fc0d40d6e919050565b507311c4aefcc0dc156f64195f6513cb1fb3be0ae056919050565b8163ffffffff166101331415613919575073eff1f3258214e31b6b4f640b4389d55715c3be2b919050565b507347e379abe8ddfea4289aba01235eff7e93758fd7919050565b6101378263ffffffff16101561398a578163ffffffff16610135141561396f5750733cc26384c3ea31ddc8d9789e8872cea6f20cd3ff919050565b5073edd9efa6c69108faa4611097d643e20ba0ed1634919050565b8163ffffffff1661013714156139b5575073cb93525ca5f3d371f74f3d112bc19526740717b8919050565b50737071e0124eb4438137e60df1b8dd8af1bfb362cf919050565b61013d8263ffffffff161015613a7c5761013b8263ffffffff161015613a36578163ffffffff166101391415613a1b5750734691096eb0b78c8f4b4a8091e5b66b18e1835c10919050565b50738d953c9b2d1c2137cf95992079f3a77fcd793272919050565b8163ffffffff1661013b1415613a61575073bdcc2a3bf6e3ba49ff86595e6b2b8d70d8368c92919050565b507395e6948ab38c61b2d294e8bd896bcc4ccc0713cf919050565b61013f8263ffffffff161015613ad2578163ffffffff1661013d1415613ab7575073607b27c881ffee4cb95b1c5862fae7224ccd0b4a919050565b507309d28afa166e566a2ee1cb834ea8e78c7e627ed2919050565b8163ffffffff1661013f1415613afd5750739c01449b38bdf0b263818401044fb1401b29fdfa919050565b50731f7723599bbb658c051f8a39be2688388d22ced6919050565b6101618263ffffffff161015614078576101518263ffffffff161015613dd8576101498263ffffffff161015613c90576101458263ffffffff161015613bf4576101438263ffffffff161015613bae578163ffffffff166101411415613b9357507352b71603f7b8a5d15b4482e965a0619aa3210194919050565b507301c0f072cb210406653752fecfa70b42da9173a2919050565b8163ffffffff166101431415613bd95750733021142f021e943e57fc1886caf58d06147d09a6919050565b5073e6f2af38e76ab09db59225d97d3e770942d3d842919050565b6101478263ffffffff161015613c4a578163ffffffff166101451415613c2f57507306a25554e5135f08b9e2ed1dec1fc3ced52e0b48919050565b507371d75e670ee3511c8290c705e0620126b710bf8d919050565b8163ffffffff166101471415613c755750738b9ce142b80fea7c932952ec533694b1df9b3c54919050565b5073d7be24f32f39231116b3fdc483c2a12e1521f73b919050565b61014d8263ffffffff161015613d3c5761014b8263ffffffff161015613cf6578163ffffffff166101491415613cdb575073b40cafbc4797d4ff64087e087f6d2e661f954cbe919050565b5073bddce7771efee81893e838f62204a4c76d72757e919050565b8163ffffffff1661014b1415613d215750735d3d299ea7fd4f39acdb336e26631dfee41f9287919050565b50736bfee09e1fc0684e0826a9a0dc1352a14b136fac919050565b61014f8263ffffffff161015613d92578163ffffffff1661014d1415613d77575073d0001bb8e2cb661436093f96458a4358b5156e3c919050565b50731867c6485cfd1ed448988368a22bfb17a7747293919050565b8163ffffffff1661014f1415613dbd5750738997ef9f95df24ab67703ab6c262aabfeebe33bd919050565b50731e39e9e601922ded91bcfc8f78836302133465e2919050565b6101598263ffffffff161015613f30576101558263ffffffff161015613e94576101538263ffffffff161015613e4e578163ffffffff166101511415613e335750738a8ec6ceacff502a782216774e5af3421562c6ff919050565b50733b8fc561df5415c8dc01e97ee6e38435a8f9c40a919050565b8163ffffffff166101531415613e79575073d5d5f5b37e67c43cea663aedadffc3a93a2065b0919050565b5073cc8f55ec43b4f25013ce1946fbb740c43be5b96d919050565b6101578263ffffffff161015613eea578163ffffffff166101551415613ecf57507318f586e816eeedbb57b8011239150367561b58fb919050565b5073d0cd802b19c1a52501cb2f07d656e3cd7b0ce124919050565b8163ffffffff166101571415613f15575073e0aed899b39c6e4f2d83e4913a1e9e0cf6368abe919050565b50730606e1b6c0f1a398c38825dccc4678a7cbc2737c919050565b61015d8263ffffffff161015613fdc5761015b8263ffffffff161015613f96578163ffffffff166101591415613f7b5750732d188e85b27d18ef80f16686ea1593abf7ed2a63919050565b507364412292fa4a135a3300e24366e99ff59db2eac1919050565b8163ffffffff1661015b1415613fc157507338b74c173f3733e8b90aaef0e98b89791266149f919050565b507336daa49a79aaef4e7a217a11530d3ccd84414124919050565b61015f8263ffffffff161015614032578163ffffffff1661015d141561401757507310f088fe2c88f90270e4449c46c8b1b232511d58919050565b50734fedbd25b58586838abd17d10272697df1dc3087919050565b8163ffffffff1661015f141561405d575073685278209248cb058e5cee93e37f274a80faf6eb919050565b5073dd9f8f1eec3955f78168e2fb2d1e808fa8a8f15b919050565b6101718263ffffffff161015614328576101698263ffffffff1610156141e0576101658263ffffffff161015614144576101638263ffffffff1610156140fe578163ffffffff1661016114156140e35750737392aeefd5825aac28817031deebbfaaa20983d9919050565b50730cc182555e00767d6fb8ad161a10d0c04c476d91919050565b8163ffffffff16610163141561412957507390e52837d56715c79fd592e8d58bfd20365798b2919050565b50736f4451de14049b6770ad5bf4013118529e68a40c919050565b6101678263ffffffff16101561419a578163ffffffff16610165141561417f57507389b97ef2afab9ed9c7f0fdb095d02e6840b52d9c919050565b507392a5cc5c42d94d3e23aeb1214fff43db2b97759e919050565b8163ffffffff1661016714156141c557507363ddc52f135a1dcba831eaac11c63849f018b739919050565b5073692a691533b571c2c54c1d7f8043a204b3d8120e919050565b61016d8263ffffffff16101561428c5761016b8263ffffffff161015614246578163ffffffff16610169141561422b57507397c7492cf083969f61c6f302d45c8270391b921c919050565b5073defd2b8643553dad19548eb14fd94a57f4b9e543919050565b8163ffffffff1661016b141561427157507330645c04205ca3f670b67b02f971b088930acb8c919050565b5073a6f80ed2d607cd67aeb4109b64a0becc4d7d03cf919050565b61016f8263ffffffff1610156142e2578163ffffffff1661016d14156142c7575073bbbbc6c276eb3f7e674f2d39301509236001c42f919050565b5073c20e77d349fb40ce88eb01824e2873ad9f681f3c919050565b8163ffffffff1661016f141561430d5750735fcfd9a962de19294467c358c1fa55082285960b919050565b50734d87bd6a0e4e5cc6332923cb3e85fc71b287f58a919050565b6101798263ffffffff161015614480576101758263ffffffff1610156143e4576101738263ffffffff16101561439e578163ffffffff1661017114156143835750733aa5b757cd6dde98214e56d57dde7fcf0f7ab04e919050565b5073e28efce7192e11a2297f44059113c1fd6967b2d4919050565b8163ffffffff1661017314156143c95750733251cae10a1cf246e0808d76acc26f7b5eda0ee5919050565b5073ba2091cc9357cf4c4f25d64f30d1b4ba3a5a174b919050565b6101778263ffffffff16101561443a578163ffffffff16610175141561441f57507349c8e1da9693692096f63c82d11b52d738566d55919050565b5073a0731615ab5fff451031e9551367a4f7db27b39c919050565b8163ffffffff166101771415614465575073fb214541888671ae1403cecc1d59763a12fc1609919050565b50731d6bcb17642e2336405df73df22f07688caec020919050565b61017d8263ffffffff16101561452c5761017b8263ffffffff1610156144e6578163ffffffff1661017914156144cb575073fc9c0c7bfe187120ff7f4e21446161794a617a9e919050565b5073ba5bf37678eee2dab17aef9d898153258252250e919050565b8163ffffffff1661017b14156145115750737c55690bd2c9961576a32c02f8eb29ed36415ec7919050565b5073ca40073e868e8bc611aec8fe741d17e68fe422f6919050565b61017f8263ffffffff161015614582578163ffffffff1661017d141561456757507331641bafb87e9a58f78835050a7be56921986339919050565b5073a54766424f6da74b45ebcc5bf0bd1d74d2cccaab919050565b8163ffffffff1661017f14156145ad575073c7bba57f8c179eddbaa62117dda360e28f3f8252919050565b50735e663ed97ea77d393b8858c90d0683bf180e0ffd919050565b63ffffffff821660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1661462a576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5063ffffffff1660009081526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b606060008061466786610645565b73ffffffffffffffffffffffffffffffffffffffff16858560405161468d929190615b2e565b600060405180830381855af49150503d80600081146146c8576040519150601f19603f3d011682016040523d82523d6000602084013e6146cd565b606091505b5091509150816146df57805160208201fd5b95945050505050565b60606000806003816146fd6020870187615a90565b63ffffffff1681526020808201929092526040016000205473ffffffffffffffffffffffffffffffffffffffff169061473890860186615c67565b604051614746929190615b2e565b600060405180830381855af49150503d8060008114614781576040519150601f19603f3d011682016040523d82523d6000602084013e614786565b606091505b50915091508161479857805160208201fd5b9392505050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146147f0576040517f7c91ccdd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6147f9336155ce565b565b60005473ffffffffffffffffffffffffffffffffffffffff16331461484c576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b60005b63ffffffff81168211156149da576000806003600086868663ffffffff168181106148eb576148eb615e2a565b90506020028101906148fd9190615ccc565b61490b906020810190615a90565b63ffffffff908116825260208201929092526040016000205473ffffffffffffffffffffffffffffffffffffffff169086908690861681811061495057614950615e2a565b90506020028101906149629190615ccc565b614970906020810190615c67565b60405161497e929190615b2e565b600060405180830381855af49150503d80600081146149b9576040519150601f19603f3d011682016040523d82523d6000602084013e6149be565b606091505b5091509150816149d057805160208201fd5b50506001016148be565b505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314614a30576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6149da73ffffffffffffffffffffffffffffffffffffffff84168383615646565b6000614a5c82610645565b92915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314614ab3576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff811660008181526003602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000167f0000000000000000000000000f34a522ff82151c90679b73211955068fd854f173ffffffffffffffffffffffffffffffffffffffff16179055517fc203fc627a1b6dd6b6dad3f6b7a313417bb01b1b5ebcd77ed25aff6a0b1608659190a250565b60005473ffffffffffffffffffffffffffffffffffffffff163314614ba0576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b83518163ffffffff161015614ce757828163ffffffff1681518110614bca57614bca615e2a565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663095ea7b3858363ffffffff1681518110614c0557614c05615e2a565b602002602001015184614c19576000614c3b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff90921660048301526024820152604401602060405180830381600087803b158015614ca657600080fd5b505af1158015614cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614cde91906159e4565b50600101614ba3565b50505050565b6000805473ffffffffffffffffffffffffffffffffffffffff163314614d3f576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018054740100000000000000000000000000000000000000009081900463ffffffff908116600081815260026020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff881617905583549093928392601492614dc9928592910416615d18565b92506101000a81548163ffffffff021916908363ffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168163ffffffff167f7977983873e5c968018b0deaedba28f6ce6253277670e94e627fbc08efc50cb160405160405180910390a390505b919050565b6000614e486040830183615bff565b9150614e5990506060830183615bff565b90508114614e93576040517fa24a13a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805b82811015614ed557614eac6080850185615bff565b82818110614ebc57614ebc615e2a565b9050602002013582614ece9190615d00565b9150614e97565b5068056bc75e2d631000008114614f18576040517fc963e34d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080614f2b6105116020870187615a90565b73ffffffffffffffffffffffffffffffffffffffff16614f4e6020870187615c67565b604051614f5c929190615b2e565b600060405180830381855af49150503d8060008114614f97576040519150601f19603f3d011682016040523d82523d6000602084013e614f9c565b606091505b509150915081614fae57805160208201fd5b600081806020019051810190614fc49190615a77565b90506000805b868110156151ec576000614fdf600189615db8565b821415614ff757614ff08385615db8565b905061503d565b68056bc75e2d6310000061500e60808b018b615bff565b8481811061501e5761501e615e2a565b90506020020135856150309190615d7b565b61503a9190615d40565b90505b6150478184615d00565b925060007fb3dc8da4000000000000000000000000000000000000000000000000000000008261507a60608d018d615bff565b8681811061508a5761508a615e2a565b905060200281019061509c9190615c67565b6040516024016150ae93929190615bab565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529150600090819061516790615142908e018e615bff565b8781811061515257615152615e2a565b90506020020160208101906105119190615a90565b73ffffffffffffffffffffffffffffffffffffffff168360405161518b9190615b3e565b600060405180830381855af49150503d80600081146151c6576040519150601f19603f3d011682016040523d82523d6000602084013e6151cb565b606091505b5091509150816151dd57805160208201fd5b84600101945050505050614fca565b5050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314615247576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff811660008181526002602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000167f0000000000000000000000000f34a522ff82151c90679b73211955068fd854f173ffffffffffffffffffffffffffffffffffffffff16179055517fc60cf0bdf6c913c2d080d151c29909503abb49cdd09b459a7a10a16a466d02da9190a250565b6000805473ffffffffffffffffffffffffffffffffffffffff163314615335576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805478010000000000000000000000000000000000000000000000009081900463ffffffff908116600081815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8816179055835490939283926018926153c3928592910416615d18565b92506101000a81548163ffffffff021916908363ffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168163ffffffff167f7601ed90c4c6f485f9633a9355c473c63ec60dfb8e04d060dbda9a80cf48eb6860405160405180910390a392915050565b8281811461546b576040517fa24a13a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156155325760008061548e88888581811061515257615152615e2a565b73ffffffffffffffffffffffffffffffffffffffff168686858181106154b6576154b6615e2a565b90506020028101906154c89190615c67565b6040516154d6929190615b2e565b600060405180830381855af49150503d8060008114615511576040519150601f19603f3d011682016040523d82523d6000602084013e615516565b606091505b50915091508161552857805160208201fd5b505060010161546e565b505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461558b576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f193505050501580156149da573d6000803e3d6000fd5b6000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080614ce7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640160405180910390fd5b8035614e3481615e88565b600082601f83011261571f57600080fd5b8135602067ffffffffffffffff8083111561573c5761573c615e59565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561577f5761577f615e59565b6040528481528381019250868401828801850189101561579e57600080fd5b600092505b858310156157c8576157b481615703565b8452928401926001929092019184016157a3565b50979650505050505050565b60008083601f8401126157e657600080fd5b50813567ffffffffffffffff8111156157fe57600080fd5b6020830191508360208260051b850101111561581957600080fd5b9250929050565b803563ffffffff81168114614e3457600080fd5b60006020828403121561584657600080fd5b813561479881615e88565b6000806040838503121561586457600080fd5b823561586f81615e88565b946020939093013593505050565b60008060006060848603121561589257600080fd5b833561589d81615e88565b925060208401356158ad81615e88565b929592945050506040919091013590565b6000806000606084860312156158d357600080fd5b833567ffffffffffffffff808211156158eb57600080fd5b6158f78783880161570e565b9450602086013591508082111561590d57600080fd5b5061591a8682870161570e565b925050604084013561592b81615ead565b809150509250925092565b6000806020838503121561594957600080fd5b823567ffffffffffffffff81111561596057600080fd5b61596c858286016157d4565b90969095509350505050565b6000806000806040858703121561598e57600080fd5b843567ffffffffffffffff808211156159a657600080fd5b6159b2888389016157d4565b909650945060208701359150808211156159cb57600080fd5b506159d8878288016157d4565b95989497509550505050565b6000602082840312156159f657600080fd5b815161479881615ead565b600060208284031215615a1357600080fd5b813567ffffffffffffffff811115615a2a57600080fd5b82016040818503121561479857600080fd5b600060208284031215615a4e57600080fd5b813567ffffffffffffffff811115615a6557600080fd5b820160c0818503121561479857600080fd5b600060208284031215615a8957600080fd5b5051919050565b600060208284031215615aa257600080fd5b61479882615820565b600080600060408486031215615ac057600080fd5b615ac984615820565b9250602084013567ffffffffffffffff80821115615ae657600080fd5b818601915086601f830112615afa57600080fd5b813581811115615b0957600080fd5b876020828501011115615b1b57600080fd5b6020830194508093505050509250925092565b8183823760009101908152919050565b60008251615b50818460208701615dcf565b9190910192915050565b6020815260008251806020840152615b79816040850160208701615dcf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b83815260406020820152816040820152818360608301376000818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615c3457600080fd5b83018035915067ffffffffffffffff821115615c4f57600080fd5b6020019150600581901b360382131561581957600080fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615c9c57600080fd5b83018035915067ffffffffffffffff821115615cb757600080fd5b60200191503681900382131561581957600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112615b5057600080fd5b60008219821115615d1357615d13615dfb565b500190565b600063ffffffff808316818516808303821115615d3757615d37615dfb565b01949350505050565b600082615d76577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615615db357615db3615dfb565b500290565b600082821015615dca57615dca615dfb565b500390565b60005b83811015615dea578181015183820152602001615dd2565b83811115614ce75750506000910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114615eaa57600080fd5b50565b8015158114615eaa57600080fdfea264697066735822122093c6c1711c7bbaa65a0ad618d7520eecd440e73f899d95a64a5099ad5df4935e64736f6c63430008070033005821033a11d0ae6ae3796a5a9763bdfc6e898c6c48014e71d5fcbdbb3de6483223a47054c5621f8f25cb3fb30211b1f49556443a8e59b558036395b434a73549dd87fbd5c47af4159045bb61fc6e1f9716c3a68eb5f03f66b5038449f8269096a679cc572b75e068571258f34a5154d0ce99b05e29de2cba04c203434b252a46e1c312cff6c89b6aab0b0e3f69c1c186dfc745a1b3366677b9c23d00582103cb588dc228487273a59029e9d293ed2d8570ea68cdebee0195078d9a96ec94805492416cea3b1ecc4fe8e4a3298893d67b3724d59403460b17094c210ff543ca3444838ca74f30dd1668d96a35c086fc00db9d1f27c703c0823fc9261278bcd6933c164219ff333b45ed669e12ab4c7dd858b65fa4609700582103bf8442961f2ac2bf6064d8bdb09d12ffddd089772d46cd18e15fab392358bc1054e8c5b8488feafb5df316be73ede3bdc26571a7730320e5234b2ea03c9f2d4dbef9e604dae90a0d1dd2ebb92e44f659e2738430771c03d9559a17f8679503afb3fcd415d07bb14e0d4639c45b2861934e761e8894bf78005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6581903000001a800000000000000000000000000000000000000000058200304deeee8a494d6c16ce21d94d681534881b947530c2328721a362844a8a1c05476d4c25dec6b103506974ee68a614ed3165299bd0058200391a74576409fd0ef7072a01b04aef51f43b28a09255d2a1d53c713ffc0516054b1f01b0723c74ea99b1187c30b876941f49adb39021980080058200299c1e7c31f4fa893e8f3722a0a1de0c938cafca07e76c7f77541cd6cccac0554789c527a3a756807045ba43ddba3a5b4b65185ec021904220340bb794bf4f0afc1636b8fb2900066d15102d7cc6df5e7f1d5db8197f14241c8033b06b652838db2913a8150f9f2eca2c2335eaadf654231169801fa8e6ae8dbe30330ff4326b24431c8cd1457ce20206e5f3ad40c30d38460d056cfefe6ff4af0d80219bff705581d03e3aede33f99c4ff7ba06752f0d83e4a0896ce4f9d1d00386ae425c200701195ef105581d0316f2d6bb8e38eb644751c783ad155b7df1619fda777f2bcd1810c4000c044705b02e946ebfee0219300001410005581e03b59de77d13af586f7fe2270e7fb3b88faa9264d856617e2461986a6950040105581e03c11462da8cd2774775591f7e6869a35ef136ea26ec16acce06480de100040205581e03be59635f618fff21385a06573eb6720d9a129bfd18ed278717079ce4b00847271471148780000354c07d14aff040fcfacaea62a01d59dfc7ad21415a2d26e1ac668c2cc400a20103315c09638c29f8693b1c5e7c30e5096b16d186c81902abf5cf2d26f815eb46dd02195752036ccc29a70bb7d1a7f7af542153c78ead115428cd3ec7e3b13cdf11b759f7bcf803d5a38db8661a24f9c8f23a027ce678edcc5d3966efde18e3ef638ee2674e040e03e4731ca86ab1f4239ddf68c6c900dfad7077ea6c798b16635ba74671376e6d14039d5abf4e0061a529e64a765e1941beb904dfd043d0a56bea49eeaaf9665fd1910384b56a6a4059ac6c7df2c859719c3d38b2d51bc30238e78e04130da71ec2090f0307ce39468c9521bfed06838c86a00e85c28f615cfd3573ea1f232d9bb8a1228b03286ce36918a8686b98177ff50cbd723258afcd84c93b40209a461ca34336c29a03a1750ceee27437fa41c2ce61e40c01855f30b3744859f04f2a365f10065e0a7103b8cce79c02937f5d8585ad294b64dcb3071e9c85aa1877a2d6300cf08f19451a03f1cb833a0fb4926a8ed6e7f0f5f382528e9b1793d27ddc1d9c76e717b73899ec03f8b34a822b9d40ca78b220108302dc12e7b68d315ebc0d8ca4c048ab5aa74913039d65118ef9593568a128eff93cdf45ab32599e46540bbb4836b19b4d21c4911e0219ffff03df3f24b9581e6990cd4d0340f734038729eceb4f9deef900d40c60725defd85703f9f9ee6b2e22834b565ca7c475374e80e01475ca896791eb6865fc596dbedfb3038b59d090dfdbd7633522092f512219d64e5884339a732d37807a1e368b73051303c92cf9c1e5686a1518e489f6f7f94c9028697fe8b57c329d92b6869770b74692032b8a6d7c35b665946cd086c4b402cf717dabd15b3f7519264d4cd2efb91753ac037eb2fa2a16eac74992e33a90f1be58f4c2a961496cd74adc4d4b1a9158cc1a470346c0b8890eb34e69ec0e284c696edb0c44fb0bbca42ead3cc3d9b7017bd4e26e03d5956321f16f370efba9f5a565f186086946088a625424ac60423f5a1e2172910352a372f2dea1d83c6a6eec4d7be628bcf20c80b3b5615f68c7086dd7d14a592203a24a959931934508f4e181ed2bf240d68d445de6e02e79c9b67368b139185f5c036cedfc884185b3f048e44b063f854f085e89e843b684044b4512a4454241176c03337057a83fbd8aa334c9b0092c433dddff1dd21610472ea38c40ebe2697f529c0350d732b21cdd063a2f612fece0805dbc7cb484185651ec6eee78ec1f1845489b0219ffff0219ffff03be0540c17c0442d80c5fbd7746769c6e84f7d9632928e328dfa6c4a766c2fd6e035bea916c6e0a2ab1a5a722c969172a9778cd0b6c7764a93ef450ff17fa27de6903312d58ec25996206b4d7d89a177ccf00709563d1433a2ee9b41f216360529e9e033804c42ba9e3b1c3b80e8bada854db0639d22cc2b10e0c7b7e92f995458e690c03e90d1063eef20b30948f32487c99c039deecb6944c216afe33dd4e5747431dfd0334420df1f63eac141800b7f0148c3c684d62ba0728a63e9f3039b0e528f60c78033b447efa79a304a1997bc33e432078cb79e8394e4bc6c624fcd44b11539808270219ffff03c22bf6a10e708f7d3b238597287d3d4b7e1b860d87e839e9c77f21cbc89f879f0395ce0c045e1e1048df2f146546eba7e9a687c15d2c715c7a84b3a2454f1f614a03b21f42d3d99b90e85ee041ef5fc0e6149a3dda6c580bc31357666cf2f4b9c41703b22548457ffcab0e58b222f089e5adb829977e501a9f004144d9507739e917a7031be359ab4428c166949b53efe3227bf3a851468c41ebca8b01d69379a72cccd303c1fb8e76ac94157edbb3d06bd1e286f4d0aaa34b4a5b073d69befaf65302f67603aa33d8157d1f8d6bf310437cb0068c9999e0628c619c417dcddd75a8ac53a3570379a29cc6bf126a218de352c9b15b306c32d0191c4452847360c9bb77e6fcd3c4038882c618a844b8efd0d6dac916dcc6ebddbc98b0a600cf0013120c3e3a5c5739038db8462f6883e09d3c706e5d07321fc3c6e1c8ec56793e8606e5e2474251341003f00502caf2b70526525c19ca6eb6e9cc243828cd7017b4c05649027c83a6333c0321bc88a0adfc663967ae9ae95defc65ab24d9df420db2307123844789a8a8cdb037fefa0849fd44e95e757a210ce471fc1e1019c6033a1464226f95a4a92ba0d4903684bb3466b297744a45179e171c7094f73412ac8e92ae4df4a2036abd654e029038cf9f9777d79b0f3a1499a584036a84cb71765cd6e9157317d2f1cd6aeaddc1503e4b08759774512f251bd1d67bdf66946f091b0983d4d826ee2c9aa785401a8a703e0795869fdac72e456cb28bb47fcb50f85343195df8a6502f497d0f1efb7544e036ce447e1df5fcb321c8f68e988f451694281980df3e50782ee220e1383deea5103acccf1dfd990fd3cb873b2e16e093a10b215dff4c0222b215bacf635f1f458e803d615c6e899b224b5ce64d461f0126c2ccb7a245d461bac2ed23372d4d510c96e03e9d94cc95b099f0dd57fbe12cd3c7058aa7a4660df4d585c3b96699c9ff5bde1033f9244772b1089baff757b2c3991938f8bef0c0fb529e7a0fb700b12637ff22f034278b8d14034fb55bb72070e7e4d3e91e99c3fba01719f50c614063e77df2c8c039feeceeca37bf89c0fc98cd2616b6d387eca9ca935a1e105c5bed358e6fb4d4c035319e1e786654833ac757d7c487fe143285aff6bb4e3b55d08a5688f3eee854703b594152f996d19540a25d4915f4b787f0451fa43ec64811127991940a3d4325303375aa931c19b0b070a416e2f502cf0ee0073d81a569154771318c4f43724d7fa04592563608060405234801561001057600080fd5b506004361061018d5760003560e01c80638f6b4d91116100e3578063bc43cbaf1161008c578063f2fde38b11610066578063f2fde38b1461042b578063f8a2abd31461045e578063feaf968c146104915761018d565b8063bc43cbaf146103fa578063c159730414610402578063e8c4be30146104235761018d565b8063a928c096116100bd578063a928c0961461038d578063b5ab58dc146103c0578063b633620c146103dd5761018d565b80638f6b4d911461032957806392eefe9b146103315780639a6fc8f5146103645761018d565b80636001ac531161014557806379ba50971161011f57806379ba50971461030f5780638205bf6a146103195780638da5cb5b146103215761018d565b80636001ac5314610222578063668a0f021461028a5780637284e416146102925761018d565b806350d25bcd1161017657806350d25bcd146101e157806354fd4d50146101fb57806358303b10146102035761018d565b8063245a7bfc14610192578063313ce567146101c3575b600080fd5b61019a610499565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101cb6104bb565b6040805160ff9092168252519081900360200190f35b6101e9610559565b60408051918252519081900360200190f35b6101e96106e0565b61020b61074d565b6040805161ffff9092168252519081900360200190f35b61024b6004803603602081101561023857600080fd5b503569ffffffffffffffffffff16610757565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101e9610978565b61029a610af9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102d45781810151838201526020016102bc565b50505050905090810190601f1680156103015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610317610c76565b005b6101e9610d78565b61019a610ef9565b61024b610f15565b6103176004803603602081101561034757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611134565b61024b6004803603602081101561037a57600080fd5b503569ffffffffffffffffffff16611201565b610317600480360360208110156103a357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661138b565b6101e9600480360360208110156103d657600080fd5b50356114ce565b6101e9600480360360208110156103f357600080fd5b5035611657565b61019a6117d9565b61019a6004803603602081101561041857600080fd5b503561ffff166117f5565b61019a61181d565b6103176004803603602081101561044157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611839565b6103176004803603602081101561047457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611935565b61024b611a02565b60025462010000900473ffffffffffffffffffffffffffffffffffffffff1690565b6000600260000160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561052857600080fd5b505afa15801561053c573d6000803e3d6000fd5b505050506040513d602081101561055257600080fd5b5051905090565b60055460009073ffffffffffffffffffffffffffffffffffffffff168015806106675750604080517f6b14daf8000000000000000000000000000000000000000000000000000000008152336004820181815260248301938452366044840181905273ffffffffffffffffffffffffffffffffffffffff861694636b14daf8946000939190606401848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201965060209550909350505081840390508186803b15801561063a57600080fd5b505afa15801561064e573d6000803e3d6000fd5b505050506040513d602081101561066457600080fd5b50515b6106d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f206163636573730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6106da611b8b565b91505090565b6000600260000160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166354fd4d506040518163ffffffff1660e01b815260040160206040518083038186803b15801561052857600080fd5b60025461ffff1690565b600554600090819081908190819073ffffffffffffffffffffffffffffffffffffffff1680158061086d5750604080517f6b14daf8000000000000000000000000000000000000000000000000000000008152336004820181815260248301938452366044840181905273ffffffffffffffffffffffffffffffffffffffff861694636b14daf8946000939190606401848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201965060209550909350505081840390508186803b15801561084057600080fd5b505afa158015610854573d6000803e3d6000fd5b505050506040513d602081101561086a57600080fd5b50515b6108d857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f206163636573730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff1661095c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4e6f2070726f706f7365642061676772656761746f722070726573656e740000604482015290519081900360640190fd5b61096587611bf8565b939b929a50909850965090945092505050565b60055460009073ffffffffffffffffffffffffffffffffffffffff16801580610a865750604080517f6b14daf8000000000000000000000000000000000000000000000000000000008152336004820181815260248301938452366044840181905273ffffffffffffffffffffffffffffffffffffffff861694636b14daf8946000939190606401848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201965060209550909350505081840390508186803b158015610a5957600080fd5b505afa158015610a6d573d6000803e3d6000fd5b505050506040513d6020811015610a8357600080fd5b50515b610af157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f206163636573730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6106da611d57565b6060600260000160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637284e4166040518163ffffffff1660e01b815260040160006040518083038186803b158015610b6657600080fd5b505afa158015610b7a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015610bc157600080fd5b8101908080516040519392919084640100000000821115610be157600080fd5b908301906020820185811115610bf657600080fd5b8251640100000000811182820188101715610c1057600080fd5b82525081516020918201929091019080838360005b83811015610c3d578181015183820152602001610c25565b50505050905090810190601f168015610c6a5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60015473ffffffffffffffffffffffffffffffffffffffff163314610cfc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e657200000000000000000000604482015290519081900360640190fd5b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b60055460009073ffffffffffffffffffffffffffffffffffffffff16801580610e865750604080517f6b14daf8000000000000000000000000000000000000000000000000000000008152336004820181815260248301938452366044840181905273ffffffffffffffffffffffffffffffffffffffff861694636b14daf8946000939190606401848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201965060209550909350505081840390508186803b158015610e5957600080fd5b505afa158015610e6d573d6000803e3d6000fd5b505050506040513d6020811015610e8357600080fd5b50515b610ef157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f206163636573730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6106da611e2e565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600554600090819081908190819073ffffffffffffffffffffffffffffffffffffffff1680158061102b5750604080517f6b14daf8000000000000000000000000000000000000000000000000000000008152336004820181815260248301938452366044840181905273ffffffffffffffffffffffffffffffffffffffff861694636b14daf8946000939190606401848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201965060209550909350505081840390508186803b158015610ffe57600080fd5b505afa158015611012573d6000803e3d6000fd5b505050506040513d602081101561102857600080fd5b50515b61109657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f206163636573730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff1661111a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4e6f2070726f706f7365642061676772656761746f722070726573656e740000604482015290519081900360640190fd5b611122611e9b565b95509550955095509550509091929394565b60005473ffffffffffffffffffffffffffffffffffffffff1633146111ba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600554600090819081908190819073ffffffffffffffffffffffffffffffffffffffff168015806113175750604080517f6b14daf8000000000000000000000000000000000000000000000000000000008152336004820181815260248301938452366044840181905273ffffffffffffffffffffffffffffffffffffffff861694636b14daf8946000939190606401848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201965060209550909350505081840390508186803b1580156112ea57600080fd5b505afa1580156112fe573d6000803e3d6000fd5b505050506040513d602081101561131457600080fd5b50515b61138257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f206163636573730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b61096587611fe4565b60005473ffffffffffffffffffffffffffffffffffffffff16331461141157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff82811691161461149a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c69642070726f706f7365642061676772656761746f720000000000604482015290519081900360640190fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556114cb81612117565b50565b60055460009073ffffffffffffffffffffffffffffffffffffffff168015806115dc5750604080517f6b14daf8000000000000000000000000000000000000000000000000000000008152336004820181815260248301938452366044840181905273ffffffffffffffffffffffffffffffffffffffff861694636b14daf8946000939190606401848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201965060209550909350505081840390508186803b1580156115af57600080fd5b505afa1580156115c3573d6000803e3d6000fd5b505050506040513d60208110156115d957600080fd5b50515b61164757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f206163636573730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b611650836121de565b9392505050565b60055460009073ffffffffffffffffffffffffffffffffffffffff168015806117655750604080517f6b14daf8000000000000000000000000000000000000000000000000000000008152336004820181815260248301938452366044840181905273ffffffffffffffffffffffffffffffffffffffff861694636b14daf8946000939190606401848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201965060209550909350505081840390508186803b15801561173857600080fd5b505afa15801561174c573d6000803e3d6000fd5b505050506040513d602081101561176257600080fd5b50515b6117d057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f206163636573730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b611650836122d8565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b60005473ffffffffffffffffffffffffffffffffffffffff1633146118bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60005473ffffffffffffffffffffffffffffffffffffffff1633146119bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000604482015290519081900360640190fd5b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600554600090819081908190819073ffffffffffffffffffffffffffffffffffffffff16801580611b185750604080517f6b14daf8000000000000000000000000000000000000000000000000000000008152336004820181815260248301938452366044840181905273ffffffffffffffffffffffffffffffffffffffff861694636b14daf8946000939190606401848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201965060209550909350505081840390508186803b158015611aeb57600080fd5b505afa158015611aff573d6000803e3d6000fd5b505050506040513d6020811015611b1557600080fd5b50515b611b8357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f206163636573730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b61112261239b565b6000600260000160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166350d25bcd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052857600080fd5b600354600090819081908190819073ffffffffffffffffffffffffffffffffffffffff16611c8757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4e6f2070726f706f7365642061676772656761746f722070726573656e740000604482015290519081900360640190fd5b600354604080517f9a6fc8f500000000000000000000000000000000000000000000000000000000815269ffffffffffffffffffff89166004820152905173ffffffffffffffffffffffffffffffffffffffff90921691639a6fc8f59160248082019260a092909190829003018186803b158015611d0457600080fd5b505afa158015611d18573d6000803e3d6000fd5b505050506040513d60a0811015611d2e57600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b6000611d61612516565b5060408051808201825260025461ffff81168083526201000090910473ffffffffffffffffffffffffffffffffffffffff16602080840182905284517f668a0f0200000000000000000000000000000000000000000000000000000000815294519394611e1c9463668a0f0292600480840193919291829003018186803b158015611deb57600080fd5b505afa158015611dff573d6000803e3d6000fd5b505050506040513d6020811015611e1557600080fd5b50516124b8565b69ffffffffffffffffffff1691505090565b6000600260000160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638205bf6a6040518163ffffffff1660e01b815260040160206040518083038186803b15801561052857600080fd5b600354600090819081908190819073ffffffffffffffffffffffffffffffffffffffff16611f2a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4e6f2070726f706f7365642061676772656761746f722070726573656e740000604482015290519081900360640190fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015611f9257600080fd5b505afa158015611fa6573d6000803e3d6000fd5b505050506040513d60a0811015611fbc57600080fd5b5080516020820151604083015160608401516080909401519299919850965091945092509050565b60008060008060008060006120048869ffffffffffffffffffff166124d8565b61ffff821660009081526004602081905260408083205481517f9a6fc8f500000000000000000000000000000000000000000000000000000000815267ffffffffffffffff86169381019390935290519496509294509092839283928392839273ffffffffffffffffffffffffffffffffffffffff1691639a6fc8f59160248083019260a0929190829003018186803b1580156120a057600080fd5b505afa1580156120b4573d6000803e3d6000fd5b505050506040513d60a08110156120ca57600080fd5b508051602082015160408301516060840151608090940151929850909650945090925090506120fd85858585858c6124e0565b9b509b509b509b509b505050505050505091939590929450565b60028054604080518082018252600161ffff808516919091011680825273ffffffffffffffffffffffffffffffffffffffff9590951660209182018190527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090931685177fffffffffffffffffffff0000000000000000000000000000000000000000ffff166201000084021790935560009384526004909252912080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b600069ffffffffffffffffffff8211156121fa575060006122d3565b600080612206846124d8565b61ffff8216600090815260046020526040902054919350915073ffffffffffffffffffffffffffffffffffffffff168061224657600093505050506122d3565b8073ffffffffffffffffffffffffffffffffffffffff1663b5ab58dc836040518263ffffffff1660e01b8152600401808267ffffffffffffffff16815260200191505060206040518083038186803b1580156122a157600080fd5b505afa1580156122b5573d6000803e3d6000fd5b505050506040513d60208110156122cb57600080fd5b505193505050505b919050565b600069ffffffffffffffffffff8211156122f4575060006122d3565b600080612300846124d8565b61ffff8216600090815260046020526040902054919350915073ffffffffffffffffffffffffffffffffffffffff168061234057600093505050506122d3565b8073ffffffffffffffffffffffffffffffffffffffff1663b633620c836040518263ffffffff1660e01b8152600401808267ffffffffffffffff16815260200191505060206040518083038186803b1580156122a157600080fd5b60008060008060006123ab612516565b5060408051808201825260025461ffff8116825262010000900473ffffffffffffffffffffffffffffffffffffffff166020820181905282517ffeaf968c0000000000000000000000000000000000000000000000000000000081529251919260009283928392839283929163feaf968c9160048083019260a0929190829003018186803b15801561243c57600080fd5b505afa158015612450573d6000803e3d6000fd5b505050506040513d60a081101561246657600080fd5b5080516020820151604083015160608401516080909401518a5193995091975095509193509091506124a190869086908690869086906124e0565b9a509a509a509a509a505050505050509091929394565b67ffffffffffffffff1660409190911b69ffff0000000000000000161790565b604081901c91565b60008060008060006124f2868c6124b8565b8a8a8a6124ff8a8c6124b8565b939f929e50909c509a509098509650505050505050565b60408051808201909152600080825260208201529056fea264697066735822122028582c2a257ada18019b18ad7f86982bbacce394b00b5665d3d393b7cccb97ae64736f6c6343000606003303bb23a6f36c4122d6d3d7fd03387f71886a6522d17c6b555affaead0ebcf121fe00582103f81ac45ff03db3d77487b2329fc6dbb54fb4af1c477da05bc0b14922b34782a054e62b71cf983019bff55bc83b48601ce8419650cc0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace056e62b71cf983019bff55bc83b48601ce8419650cc0006005821030bca9edd621e0f97582fa25f616d475cabe2fd783c8117900e5fed83ec22a7c05437bc7498f4ff12c19678ee8fe19d713b87f6a9e600582103fa36a96705b372710b35cae194afb3f917a5a7f3fba509bbb8fbf7d824364d7053c7a37b03690fb9f41b5c5af8131735c727544600582103e1f6f36060f166f063fb01d63adab80297f56b5a444cab19384c535141dbd8b054d3fcd40153e56110e6eeae13e12530e26c9cb4fd00582103f2ead72d53401d823f4de3290714b95c588de2c574133f57728a2d3d3763d3a054b103ede8acd6f0c106b7a5772e9d24e34f5ebc2c021984bc05581d029b0158985f66a8d79d050a848a4f7ee826ff4a36b949f7daa33fbec0070119256305581d02f3e43863bae5a0a5c172736c9939002260e4cbd9146a32bfc90ff8d50c01488af2b146fa1c000005581d020bbd8a332f6600607ba74ed0a21bfa5a2ce066977b60ae20c569cc3a0c0246b5e620f78d400219d00005581e033e7d334065012868b37f35c0b9411bfd724108892eb9ddd896f6dd9cf0040105581e03a10ba6f6bb4796525653542974075eab278035b9ddda053ff72150d8e0040305581e034680809ccfcadd3e93d675b953301bf2e2932f00bbc5d54e10f296bd000c014632ecb330f20003e9fb5932ea0aa37263695b41a4de8980a8dcb5d775db1ab022ca51279dd441ca038911dc05b92417622cac512ad27a13f4b3978de650986f18d1638006233e1fbd05581e037e2487b3bf03e6c10cc8a9ffa9ffcbc3fff0d369f4d354a3408369fa400c0147109f8457eead0205581e030e77eced559ddbae60b530c0a0caa4500a82fbfb209e0ffefb6e0a1da00c01480ebaaa5fa7065c00038455e454edcbe503a655ef46c7e90837508e5bd4fe82074706eedbedf65f2c7e0219877a03590d906cfbdab539484eaecf8c963503c321e3791f90a0a1d345ac2bb7610c4f03c4e79f3bf2ac149ab03a3c191f6f12ba7d7dcba6c0aea12949eec9c54e7e5f5d03979375985ba16aacdee5ae55f28bedf156d56b7ff4cfb13da0a6cebb44adbe9a0219ffff038047b0689e913e8d3301ec087ffa3ec3ff3ba2efd969186cceb6dd1c16429e7103cf440f2c7060dccd24e4852f5417c10d8313ccae4fcdf7777b3522962b1a36420323ae4b8e849bed3faab560df04ae0270714adbaffab7700a7d9fd2afb11e899c03f0f57a23ef1184a47d179561ad87a92b73a7672b405a1be56c12ac0305210ea20355c2f246db3365e1062a591a0b0146304c345778d6b0d62d923c8bc5bb560e7a032661399b32ec11aab97abc7324a6a0442f938919e863a69c6b4c0fb1552c196703fd5c449d74fe9c6afe246f1c65b03a729e966ceee68c8b95acec9a4ab3230edf033be09be9ffba34d78224a972c9fd6a73f988c5e26698aaf848e8d68a7a7f9dc503798159135c71fae84f3b6138b320846924ba987b2f545aecbf227d172b3a50a6032297d49f5f4b4906cdbefa8e77db5a608fa270470ebbbc8d08e150e415effb150219ffff039cfbb115bd4ef86244e1acc945ee2f848c4415ae1046023c7bf526b53db5415203dcc339612e5914d9b624d4ba284d929b6006e867ec36bdbc3e23bb6666d4c8ce03bc9a84fc2b9a1f362ff2de63f8b90020b4c0dfa4e5ef6685d7c09ca5561b9c9c034242e8ac1e62fb642cff9cfb7b2d4f8e34be929ce94daf2fc634adc39c7d695e03e78318170b406084adf67fc02c0f64181c3872158b5817b68933e9c4c005dc2f03475a78a21ab53076bf73aa205b8e32d0de45a2f6e64b235b8eec09b1c0a0ce3603df92e63cd900b148ca65b4651056a3578f063817365524208c60c6cdad5c8e0f03a4f2ee9c8008dead33ad837323da2095f855006c6004cafd0c4b1281b5864afb03b7c0f9818bca7f7a8a2a12b6c532b7167e612d1b745d018be3688a293e94fad9030a0ffc40ffddb9c6bc0ea8557d7e685bb9a181f82f9d90ddb9e4022f48aae9e70332d9e2622e4b5f27d1ee8ebc022641df7311f544d52162f1d724e3b10668f53f03571be1651b186774b626e22ade0ad48e69390316d0d04de40292401d9cdb001f03df62bc7d97dadbb78d2369ff5f7f7430f7f0cf9bf8c2111bad3e913db94caa76036431f1efc6f59c40437cd36398a2c94ad6bf9a74ea783f30a1a6870cab77a8450219ffff038325fff6c551ca11c7913dcaebac8439742def72073992ae201e4ec05d312de703aed615599be76e158659daa8b96a74b55a5cfa44b6cc3943fbd15feb53ef8e6c03bd841fe8f8890f6059499ec93c0a4dc40208e088bc80f60fd4f14f15b62da677036557edaa28e50a25ef494eadd8a8d6c908d4299c7e15a6daad116a57045468590362eb06b1de39a571f9d835be4a1edef7430d3d72f0bbb45555d92a72d95b1d85031c3b10ff4835681b47717387c119f0b3f63cf3d6750f8f69e86c7a8b54d208e40219ffff037747bf96fc0535835fb149c5573aafd02c6e2546e75c41189bc5829128d6859f0375a9c8321d29d83b7f0d88b8ef919ff2bbd83a7948a7ff5f344f1051b8f375e3030a5eec125f26e9bb636d513eab07f40751d7c781ba0c2944d646fdbb494ae44d0365a5be8928dd698aeb9028facea10f90520507a4c8d875d2fee510bbdab7004703db1210715fbf6d4af1e8af04c04a37e66d1ad3a84f36f9d918ca430ea630a25b0386613bdd779ac8f8479ed1e97ddedb5d9fe1e421de577031b3593bdd8130233203a3c10bcac11ea29fa117df1a8ba8ec89c5ddd29d5982721e65f40c03da90df5c032946bf24341691413bea8f05ed45d93fd47a38932387526599ffce417b72579a032782ce15d5daa7243551e8d5f0e332192c6db104ab9e1fe21d90232b62d9d1a403841bb16b044d180670c2294237ffc552073bd0e0ae1f0583f47ac336cb2e032903afa5caed185423ec63a0f671e66698fb08661176a87059e60c516c057c61543703058cb17bf00b5b5751078191546f225f2dc0cf170f8d774e24351859305985ef0360048e51ea6be898222f9b1213368f7405264fe4cdccbbe54f673355f9bd35b703d41b3feb698ccb7229406ba797de9df9aa9e0a7b3cf8e62e62244655f1e155380399c4134771209b88a1ff1f70514420fddf92cc637ad23dbbb8a25ee0bc2ef2bf03388c35184ed61ae119e8ffddbb9f0a67f860d3d5e7c9b6939ef39913cfc1095b0305cb700034f40ea80f24cc0bfbed56f1adc3034cef5d47757b65293652c4387a039c47bb10d46cf8ebab32a1f3f9b5327ae600a01fc7519b35e18778ae0318f35a03500ff2fe7c7be4bcf431af36377747e9590f3e0cef263fa95686f07d5ca3bf5e03033cd6b57d5170333ecb1ca2c650bac79e4d8a87959350342fee477310d5e082035f152156663ed3e83ca4832c293edfb941e5dfb11341787aa86656a3f850444e03ff7ca1f93a832801dc714512600a8198b9b4fb5061856972304a993baee2c62603e3055973d5c628ca62ec7d060c7ef0e30f4181121e47bb7f2d0b7ed5931ae74003a5f0879be6e449aab61745ee9320ab5cfcabc28da79da5883d8bb5a169fa7a520371e288b42403918da6bea9427e0ca9ee4efec291a32ceca2d1c944de3ed7a677031b3e74ed206b67b32ee002261b95ad8004dd67145e87a7ee36828a7ae695585e03a8ee6d004ab151200249b416e7e9bb4cef45d5668578ad31527c37bcb46b90cf03f59238241beda23d7e09e771ab6760a9e102702cbe27740a64ec3642623822e303cbc87b281ce34e13637ef9385501efeb9e7b9952e31513cbdaff267e9a673aae033cb22e1d5c778ff00e362f31bbc69ff6c094e24359f1dbd3117a1101c8caedf7037c3bac3c168858c11b91de687576099057d4421853e01e512ab8c11e90c4bbab036656e205c408a7d275ceb8a4551a373bb4a13db754fc0c5acca60f9d0bff5caf0333057335cb5c0a98cbcda179691ab9bd81606674920be8604832c94ed2adbe200352cf5117f85dc8ab5c22c499b29248aeb9e5e87684e21806b8e80ccc5b02778f0301e420517a1d5e0d57e2809f0af39f02b0d05ba46dc70037d29e2beba9ff6eea034f2c5a3f402ca96c89e4ca4045ce27a7cb53356d89e083aa5ec972f8a0a26ad60356795133da0ddb3d64836624a0feda021fa99602343437199451c5b778d9903903e3190fba7331a61cbdbf84f3d88132265cf8366cb4b154111f37142f6fa2413a03e87715afc419ea8e6bf17b9e6e63c2bb6a64936ac228d725daa966dc6467feed03ca4541493eed5120200b50c4a760c8a547fbbdb0c7276cbb8fa9223fa35d95480339a91d934688d1a6e5eb7bc3d1778b7ea678c56044ecb327b294ccd9d7bd4a4103c3c22e5efeea138373356f6094dc469c55b60f789ffc1f69127d2c344a7765bb05581e0342955d1b0ff401cc9bbc7bcb140b0944f03176dcd887e93cd1cf59f77008489d8ac27c5516140003ac640f13ff8644cdcff78b6a56038ddf5fcb3c23cdf43e77d99d9ba809dea7c505581e035a957eaf4840e44a73c71525f90ac4dd2c0e209d1546ded8a6f0f174100c0147067cbf156804000383b50cdf19345eff412c2ca47689572218fc967eb7b981abd2c9fccf87644c3c05581e035e9e37c7e306695493d40999c78186b287c6816b77bf41f0b7d817210008480107df5f4af311b20327c02a1a822222c2ad6a9a01021c98abf05dbe6d19540035756ef97697ed41d003092c51b3b44e4dcc4049a65ddd5996a42c66af4e347334df00ea94537491cf8105581d029ff6a996f96c2abffe94e5fd3af825126f7c7043aaaa24d8ee4ccaee07011bffffffffffffffff0459195c60806040526004361061012e5760003560e01c80639576a0c8116100ab578063bb2952fc1161006f578063bb2952fc146104bf578063c1fe3e48146104e9578063d505accf1461051a578063dd62ed3e1461057a578063de0e9a3e146105b5578063ea598cb0146105df576101bf565b80639576a0c8146103f957806395d89b411461040e578063a457c2d714610423578063a9059cbb1461045c578063b0e3890014610495576101bf565b8063313ce567116100f2578063313ce5671461031a5780633644e51514610345578063395093511461035a57806370a08231146103935780637ecebe00146103c6576101bf565b8063035faf82146101c457806306fdde03146101eb578063095ea7b31461027557806318160ddd146102c257806323b872dd146102d7576101bf565b366101bf576007546040805163a1903eab60e01b8152600060048201819052915191926001600160a01b03169163a1903eab913491602480830192602092919082900301818588803b15801561018357600080fd5b505af1158015610197573d6000803e3d6000fd5b50505050506040513d60208110156101ae57600080fd5b505190506101bc3382610609565b50005b600080fd5b3480156101d057600080fd5b506101d96106f9565b60408051918252519081900360200190f35b3480156101f757600080fd5b5061020061077e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023a578181015183820152602001610222565b50505050905090810190601f1680156102675780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028157600080fd5b506102ae6004803603604081101561029857600080fd5b506001600160a01b038135169060200135610814565b604080519115158252519081900360200190f35b3480156102ce57600080fd5b506101d9610831565b3480156102e357600080fd5b506102ae600480360360608110156102fa57600080fd5b506001600160a01b03813581169160208101359091169060400135610837565b34801561032657600080fd5b5061032f6108be565b6040805160ff9092168252519081900360200190f35b34801561035157600080fd5b506101d96108c7565b34801561036657600080fd5b506102ae6004803603604081101561037d57600080fd5b506001600160a01b0381351690602001356108d6565b34801561039f57600080fd5b506101d9600480360360208110156103b657600080fd5b50356001600160a01b0316610924565b3480156103d257600080fd5b506101d9600480360360208110156103e957600080fd5b50356001600160a01b031661093f565b34801561040557600080fd5b506101d9610966565b34801561041a57600080fd5b506102006109b9565b34801561042f57600080fd5b506102ae6004803603604081101561044657600080fd5b506001600160a01b038135169060200135610a1a565b34801561046857600080fd5b506102ae6004803603604081101561047f57600080fd5b506001600160a01b038135169060200135610a82565b3480156104a157600080fd5b506101d9600480360360208110156104b857600080fd5b5035610a96565b3480156104cb57600080fd5b506101d9600480360360208110156104e257600080fd5b5035610b14565b3480156104f557600080fd5b506104fe610b60565b604080516001600160a01b039092168252519081900360200190f35b34801561052657600080fd5b50610578600480360360e081101561053d57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610b6f565b005b34801561058657600080fd5b506101d96004803603604081101561059d57600080fd5b506001600160a01b0381358116916020013516610d26565b3480156105c157600080fd5b506101d9600480360360208110156105d857600080fd5b5035610d51565b3480156105eb57600080fd5b506101d96004803603602081101561060257600080fd5b5035610e9c565b6001600160a01b038216610664576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61067060008383610fd0565b60025461067d9082610fd5565b6002556001600160a01b0382166000908152602081905260409020546106a39082610fd5565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60075460408051630f451f7160e31b8152670de0b6b3a7640000600482015290516000926001600160a01b031691637a28fb88916024808301926020929190829003018186803b15801561074c57600080fd5b505afa158015610760573d6000803e3d6000fd5b505050506040513d602081101561077657600080fd5b505190505b90565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561080a5780601f106107df5761010080835404028352916020019161080a565b820191906000526020600020905b8154815290600101906020018083116107ed57829003601f168201915b5050505050905090565b6000610828610821611036565b848461103a565b50600192915050565b60025490565b6000610844848484611126565b6108b484610850611036565b6108af85604051806060016040528060288152602001611870602891396001600160a01b038a1660009081526001602052604081209061088e611036565b6001600160a01b031681526020810191909152604001600020549190611281565b61103a565b5060019392505050565b60055460ff1690565b60006108d1611318565b905090565b60006108286108e3611036565b846108af85600160006108f4611036565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610fd5565b6001600160a01b031660009081526020819052604090205490565b6001600160a01b0381166000908152600660205260408120610960906113e2565b92915050565b60075460408051631920845160e01b8152670de0b6b3a7640000600482015290516000926001600160a01b0316916319208451916024808301926020929190829003018186803b15801561074c57600080fd5b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561080a5780601f106107df5761010080835404028352916020019161080a565b6000610828610a27611036565b846108af856040518060600160405280602581526020016119026025913960016000610a51611036565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611281565b6000610828610a8f611036565b8484611126565b60075460408051631920845160e01b81526004810184905290516000926001600160a01b0316916319208451916024808301926020929190829003018186803b158015610ae257600080fd5b505afa158015610af6573d6000803e3d6000fd5b505050506040513d6020811015610b0c57600080fd5b505192915050565b60075460408051630f451f7160e31b81526004810184905290516000926001600160a01b031691637a28fb88916024808301926020929190829003018186803b158015610ae257600080fd5b6007546001600160a01b031681565b83421115610bc4576040805162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b6001600160a01b03871660009081526006602052604081207f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c990899089908990610c0d906113e2565b8960405160200180878152602001866001600160a01b03168152602001856001600160a01b0316815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012090506000610c76826113e6565b90506000610c8682878787611432565b9050896001600160a01b0316816001600160a01b031614610cee576040805162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b6001600160a01b038a166000908152600660205260409020610d0f906115b0565b610d1a8a8a8a61103a565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000808211610d915760405162461bcd60e51b81526004018080602001828103825260268152602001806117be6026913960400191505060405180910390fd5b60075460408051630f451f7160e31b81526004810185905290516000926001600160a01b031691637a28fb88916024808301926020929190829003018186803b158015610ddd57600080fd5b505afa158015610df1573d6000803e3d6000fd5b505050506040513d6020811015610e0757600080fd5b50519050610e1533846115b9565b6007546040805163a9059cbb60e01b81523360048201526024810184905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b158015610e6957600080fd5b505af1158015610e7d573d6000803e3d6000fd5b505050506040513d6020811015610e9357600080fd5b50909392505050565b6000808211610ef2576040805162461bcd60e51b815260206004820152601d60248201527f7773744554483a2063616e27742077726170207a65726f207374455448000000604482015290519081900360640190fd5b60075460408051631920845160e01b81526004810185905290516000926001600160a01b0316916319208451916024808301926020929190829003018186803b158015610f3e57600080fd5b505afa158015610f52573d6000803e3d6000fd5b505050506040513d6020811015610f6857600080fd5b50519050610f763382610609565b600754604080516323b872dd60e01b81523360048201523060248201526044810186905290516001600160a01b03909216916323b872dd916064808201926020929091908290030181600087803b158015610e6957600080fd5b505050565b60008282018381101561102f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b03831661107f5760405162461bcd60e51b81526004018080602001828103825260248152602001806118de6024913960400191505060405180910390fd5b6001600160a01b0382166110c45760405162461bcd60e51b81526004018080602001828103825260228152602001806117e46022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661116b5760405162461bcd60e51b81526004018080602001828103825260258152602001806118b96025913960400191505060405180910390fd5b6001600160a01b0382166111b05760405162461bcd60e51b81526004018080602001828103825260238152602001806117796023913960400191505060405180910390fd5b6111bb838383610fd0565b6111f881604051806060016040528060268152602001611806602691396001600160a01b0386166000908152602081905260409020549190611281565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546112279082610fd5565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156113105760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112d55781810151838201526020016112bd565b50505050905090810190601f1680156113025780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60007f00000000000000000000000000000000000000000000000000000000000000016113436116b5565b141561137057507fd4a8ff90a402dc7d4fcbf60f5488291263c743ccff180e139f47d139cedfd5fe61077b565b6113db7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7fb6d02a790ca4952ed9faa11074863de95b4c8bc405a22873605ff97356993b367fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66116b9565b905061077b565b5490565b60006113f0611318565b82604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156114935760405162461bcd60e51b815260040180806020018281038252602281526020018061182c6022913960400191505060405180910390fd5b8360ff16601b14806114a857508360ff16601c145b6114e35760405162461bcd60e51b815260040180806020018281038252602281526020018061184e6022913960400191505060405180910390fd5b600060018686868660405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa15801561153f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166115a7576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b80546001019055565b6001600160a01b0382166115fe5760405162461bcd60e51b81526004018080602001828103825260218152602001806118986021913960400191505060405180910390fd5b61160a82600083610fd0565b6116478160405180606001604052806022815260200161179c602291396001600160a01b0385166000908152602081905260409020549190611281565b6001600160a01b03831660009081526020819052604090205560025461166d908261171b565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b4690565b60008383836116c66116b5565b3060405160200180868152602001858152602001848152602001838152602001826001600160a01b03168152602001955050505050506040516020818303038152906040528051906020012090509392505050565b600082821115611772576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63657773744554483a207a65726f20616d6f756e7420756e77726170206e6f7420616c6c6f77656445524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220186e50b7fede392854c0f7a5c7a0ca06364c7a59f763103f5fdc8e825f75be2364736f6c634300060c0033037f7d5d1d68c879c2cb6f19163249f209683b8f56c94d7e79c945daac3a927a0803abfc62c526b077787a294ac653be4e2a95792adcc0681715f9424c9dfd9be57003b007fde1cc50efa129d781aab2272a03f99de4c3ccf69be6998c43ba200f60f5031168a8e8c10d1544375610c5196c537627dfe887906a4ee103981feca4062e8a03d0867ed1257ee2acd3b9d33bc463d32c919718ab497d31e69eac9328030bd1e603f126ff0ce9dd4066d8f4ef075fa4d6334758ab7303b99d1991fa948db6e7bf5b03c931f3477956b667cf56ab640581bfbd2048f194ce87d0ff9dc08d9094f86cd003f72bfef90145e7b2181b6fa3b3737f0713557339ec8eced9a4713c6969d30341037c2152e52d81a3a109b0312e6645591c1b05458759073074c52f98a57ea84b210316f33c3ab03dbc5c29047a52a2839c5ae8839e4c8db07e0c263a814e2d70fbc103eeea2b3e62e3e1e8ecb35b4bc69f25a2e528e9f97ae806fbf9b4b0ebafcab61a031cd9cacf5dcaac6ef8d717c069e1856995a823450f3c22b4e4daec6978ef7a7903376efdfa11150b7bd691b7fd03a541b1ac1ea55db5f51b064fe5f5883f01489203b08d0df96393c4fe4d60de8d97e8ad1cbe1823ee3c85805c606dd7a6aa4f0eb703af8c1feb57c18831fd434fd12a39401acfd5f78958a494ec335a8884d9fba9030303be64c8498fe8a8e18a4e7a45787fbb762f452302e1413dd5017deb9bb6b8f403fb2a5c718b10cb0a269f838bc5097a3dc48192a5e06b3033630e01b93fa461f900581f027d96a6d4fda4dd8def4721b5445716f68dcb85ebf2ef9f88765b8fd6b71d5820fffffffffffffffffffffffffffffffffffffffffffffffffd0128d5005447f803dea163d8c3ef3e08b6c0f602ed734c29df6b3a6c24dfcac648a1d673a5362d9400581f02f89e54f5451c1214fe6b1acaaf91666058154883794b6cb9e3d66aa70b314731b14d08965189034fe6ec33e1a5094e3dcd93fd272d950fecc663c5ac25d6cf50ab00296866ee66033f1d970db147f62f7a4838bacb67ed698f57b63ba628b514ddced71ca14dfa7d00581f0216710608685852e99c73e7614fe68d71d69c81506df67e8d4247087d50405820fffffffffffffffffffffffffffffffffffffffffffffffecfa3bd0aa59671bc021931330350704c71d4f9b97f6db90bdd79f303ef1a74983121153253092225b9d0b6cb110219ffff03fee01e8e00facb569f6fc337609d5b2179d923fc207fc62402595859c153558303bd8b745a129e05a097697857fb17ca19551693710d9b06246693f8d74db16904030110544033867277bffa29a451a1e93bdd5680c169eebb1f935bd453b994e95a036746a1e3e63074a57f3b1ab0bfdba07203b4f62b8c870dbc56e8b31cb2907f9d03e92bb98deff3d4ad5b1acf027d725e97cbb0037640cd8009f9fa8f1ee373de5c03b3118d20d88b866e1e4da1354cb300318b93f5d9b13754ad5387d238feb86c9f03e6ffb06874a4f22d68d4cef6597a09a780ffe71e2c2185d6f35a32b8ebe4945003e7b181ffb8d9f4e8d15a5424257e9ff3acc78cd239d5ece87e986b91baaddcff032b9adb235f0bc81c3f656c4d45b2d1ece5631a348f043a1d5dc09d6ab5c39c71033437a0f03da4ff7474f58ea2eb458ce983badd89336bd75ce0179939aa6d173403dbb7c7209205edbf544944cbf106966f2d1e24cee62e6798eba9b3db87543ac8039edee3ae929e6f71cf0ad6021d5a7e51a5c3301ac78c366da45879eba1d5d3cc034e1f3b9504b52204b949ae3891f12194891abd3d32071fddf4222122c46043480219ffff03cb0b33a65126f1794bd1b4203b3b52cca65d0d194c315870ca866cd9b7fc88dc03d0b5ee8e80bc7bf9411eece5f8af7278a6576c9dc5eb85a241fea02316427e1403bde9e83577b093907f06457687761d705db699d32d0fa2323f4d694d827b1b7603590e78fb2e52debeb90e244b2f7ba368d386cc7ae85638b0302d0dcdf7d94289031b6e5c0a84c845ca49864db2a78af1a6166d73f687b4fe253e69cc837040736d030322ef748fcfe40af2948db1c08d29ddc9b1baa109a864ffa547713da5623c2703fc69004fd48574020108617fad1f05cbb401becedcecc5e7654f3e7ad513031d032a2f3ae785c85995092baeee399c10a8b1f0de62d87fcdb322badaa36b5d14b7031f359b09f239c01db7b3ab98628ed175712649563c5f70925bed63b13c109ba70366cca8e151e7f78c87b0f7cf9c075357f9eb079af58422b3da254d1ad52d6d2903df3ff38156dd5e3a373076fb62bb239a70274dcd6834f8e9f8379d38a531572103464acda5fbfe625bd7dd270ed4c804031d32e9a34457f05989453de05199e5e50357cf702fc42d3897599c2b6495f19618b7038f635be0b442848206946c0e66f40320d7ffa165d757bd0690eeb32d06f65bed59cde2f3acc2b221d92b4cf6a62fa003c3156a22e7091ce3ff3a6b43e01e47d6e11b374305f4838b595d451f0a752fa30366a078f31eb8e24ab9992c005b3e97e13885d32537f6ee85f08be0d127621f460350c6a61114321a353f68f41924990519360816f93017f9311b29458f33a4333c03a4eb67ead04bd6605d5cdb2f7449d2b49ae42a0591953cd14eae64568940783d03a0a1c14e738dbeef6ea857f2a2486f670e98dc7f603afddf7f1dc6ac72d4f8fd0358c9fbcde02b62c01ca0105e6ce1e7596882531502306214ab9300cf33486fd003e03b616b17eedaef03443d9406ced106aaeee16b2f630e913259c62ee0842f5d03afe6fa08deba5c66cdb1781f5f549fdc83719e82c14045433549d2039a8ff9390331de0977ac000232825a2447d4ea0cfe621ce0288bd994f435d7df93e73e984d00581f0211151cefcb6a27bf09f21d190d539fec06ac8a0ec4c75016b1f50f1e93864802b97d0138553e7500581f0253500eb3dec80706d9b1b0c6a29d86a8acf84bcd0c5a042da725ba708f3c5820fffffffffffffffffffffffffffffffffffffffffffffffff1fd321329c3ed6203e4f18f885d9c42f415f088dd0ab39028835526bb8e4ae21fe5c94ad295242d1400581f0347008af13763d36fcc1b8741a6e340bd3ef2f9d089578c1cd2d865e614604722b701dcbbe91c00581f0379de2589962548c6ca2db16835e183b6082b26f3a235265d469804023e90490a2e791dd5893ec97f00581f0313dd34aa49adadbdfc202440ed3e3ece89f3f5d956122557272859b1f930472c28a9d2ca07560219481000581f026fef3d78d12f7ee62ed3607efd56199232b8f5384628425ba4d79c38c1745820fffffffffffffffffffffffffffffffffffffffffffffffff8841c5dc0372d6400581f02feb255655953f65bed6dafb24542423096589c77398b4b544abeba40ac785820fffffffffffffffffffffffffffffffffffffffffffffffffa2199d40845027900581f02bf880e56a9b472f0e1d0ff4304d3ec3b6eb56831d3a8936ae1f8061a881c4101021988c703fabd120c09f50c5077d984b1f030e54daf280a61c7cb321177a46212a34a1a0d0383d26a5c24b269317409c39835b68ca71861d0b710c875fc6746398399870e1a03fc08761adf9496c9f893f240f7ab3a61ad9293bb72b47e90740026f4aa999429038c1aed2565c15e63d11f9cce32f06c99e14c71f31ef366b9de96686396adde4d030a96814e1e5fbbe50695d9e717d3b03904ce520e37c4c00803ff767cd0a9b0ab0219ffff0310bcd46ce7346b9656cdeec9d852592d6c8535b9f549db7a281dbe739ee1aeb903f5d7b43bd372f820938aa14f748d47c13de2ea39213750ec59b5180a60faffab00581f02c158db3ef1705d86cf810a9a2d85e9555a3122e55b7a59c06738a041eb5e5820ffffffffffffffffffffffffffffffffffffffffffffffffffe33c6854e200d600581f030b96ed11ca29fc6967bbda429364abad086a7e97ac71919343d908df8af0490339e3633d00cbf4bb00581f0379cc0202641980c89b5ee6cfca83035de7913946430dd68596d29a2bdcd05820ffffffffffffffffffffffffffffffffffffffffffffffffe1b2fe368ed327f3021901100317f32de3a2f29db5f32a15e80636b660368de7d2fe4a63490b63bd28e160e5c200581f02450ef5673d517e8eee39367d8d221de5135d1d15a7456397671626b90361488ac7230489e8000000581f02efe53251fe75392e9ff4b4d7488f03ae442e46d99ed0f66a819dfb69f0fb5820ffffffffffffffffffffffffffffffffffffffffffffffff93bfc6c02381afdc03eee1cd9de2d44e5fb96192068b6e35989977a601ee91814a89bd1862390c85a20219590a03a22ce9a2caf03c9572e57c621a15a5263e964f047c0ae411e3e58976a4a23e9b03c923d0ff2230e12f12a828c4f8d0a4ee96749cafaea8d6202ba9159e642003c6034fa552e0dc7dddb431e8ebd7c423ae38b4f071f349e587dbf669d8bed12f5581034c4604d08346e5f049257da859857dae06e88db0d29e41d86b3c7543a4dac4350346d1f871ebee2286831fad98a99bd405ab84cc640134d24e0fa997a8c9bc2ae003768e1c686dc75f03aa9363d2ca5f789dfd677b2c2140b37c8be0af30e366e971038ad8b74acf4ab3d89cf15065100984a60a98b17740cd54b7fc1d0d98093891da0311b2d17ef6963ce18b6a9155d2e2f6d53f31bae594a77bb87d479b5139f586fc03a3817d4e78bc1030683a4485d16d47fb3391f21bc56bd39843b201e3e6316b720373df70215fdc4761e33097d7ed75511ca69c49cbf541aafbd30c28686fb46e9a03038cf36e443a4cbbeb146e49fe919d86fc4e115fafc4e7b148418714fed918bc03aa3c1f476418b6f00332040cbd0259a88fa8506b1d18195fbc27f1f8df7f1c06039b46e5cb7eb6d7c3e2905f7326b175be577c342a1fc4712c5205f0acbe5e95090387a0221d51232492e015394e05a485ac3bd282c9ab8246e7b302e8d486a29ce203216caee9f248b73b2cf9bceab48c7d3ed5fcb131d433021c1687ceb0edecfcd20219ffff036fba855cf7037b857e8f49358240bd2ed3bf59f50d99646a1f34f97c03048111037b201c6793409462b4a9973fc7d70a961b65367f913ad0d8069a33a52386f0fe03f7aa3784e493c8222494fa6a9e6a34c94891a5e800d40de3f488b048aa0ad09e0219ffff03b7bec457f9b769b13dfec626a776fa888caccd611234572a855cd3ea9295d35d03200d041e862e6711a8957e51455db02443af5b24fe6cea33cbc5dbbad39d3c6f0361c29c5a80da4560757b11677cca49eca357d6c2d0d16a6727a31e62b0d818ce036ffd90cdd4b4a6499f85c7d2434c8c63685bb20c7af28eb5e1f5155c57e94b6e033bb755cd81dff31328facaa68786dabdef87c59b77b572105b0f67488d0e573103a610b06e5995fc438e296059cebbdd9a15e0a7a0857fa3d2f604e64e65d293e903561e4b207cfecfb0ceb9b6cc1faf27a0e066ff915c3065f413232fbd9d87a7bb031d4011ec5bbbc537231b5aad2bd9566673d8943d9f44b5c21d7aa5d8a3a8a72e03f2d8816afc6c4e55912b58f906573047990c38cac261ecee747293df7a06b55c030ffdcf2299ef0ca259658e1f7b0830a150d8b9b461f8d41562fc94a13c53750b0219ffff05581d02f9c497f8f840715e85233699ac5992c06e72a9578bb2d68f3ed4d577070119195c0219840005581e03545d9bc006a566d027de99f46b74a859c98c0f8c184ee6b0f0aa16f8100c0247026668781678ea05581e0388c48dbc0d57e72afb03e4dc105f32a64e1c3ad9c2c4f3bbedd464b4800c0146ba404bedc2dd05581e0393a76e6d94f6fe7a1b44002ab99559b3d74b38c089e9e174516e092660040105581e03b54751851da35e61ce1c71c69e3d56b451c5fcdb942c576a03632d07000c18184715a2a47c1852d70219bade036e637c3e15bce1d059af5c363fd42717b90349de078cbb6736100fefb101a3db03f28b2a25f88a89664a22a8e95b8a1d2eb597b055865f1578b8102bde1fa740db03fe7f2328b82b8c09b53ef979701ca1867af58a28877e5f844bdd2bbebace1fd403ef329c0ee368cd98179b826c38fbba1ac4e81b2254af1bb1b736b5691e455df203f7dd65c831e612ce5820f436f9c0361384cddfa55eb042d6a72e2b864d64effd038f00167d00c9f573f95b107d460f580bd6b5e0197ea87aa44d43a56c0c6b65ce03f36226a606d195cb24efba5e97459ee573f53f125d0a3f039f22b16d72a841ba0219ffff037440e116a2d69148113b350ce08a6692d2e2dc413f99f2630076f33dacd5ca9c0374b9a9f6ad5e2a5cd7666631045ecf742ff12546bf2ec5d3cb7ab80cf2dabdbb0363e127593950d8cd21850df57f8f968adcda9fc70a7aac0bad37cabf7be82167036c9a5dc51c14b06152a69b4df4e0f770e6d74909814f6c6fd40de1719a84fe1d037f1eb717c6a9698510bcad081740437bb7a9b27f28d73a2664d8ed20b5d8df04039071bd5c51a969953de73bbb1e52326107b7a9fd5e5f15e19c34d69d6167c68103639ea59341dd2df82b551c6b6b6d72ca905bbf9283f0b4ab6f9e4e09139a17aa0219ffff0219ffff03890e11f837492a834d18a821eddf6ac1f77725d5ae403fcd0bc0b3cf68f06e3a03fa3645aa405698e5741618d85e90590d1ed0bd0f9ebb18ec2a9586fd9651179903aeedfcce32e5e3a2d9e42335c820124047b9109c248afa76c01fe8916d9c56020375a6f0bb73de5b621b2930ad3048b276e113a4e60d55e97a08141dc1f0fc6b1703bea788ac5ca9937830ca4af2810e22f3e8b7b060aaadedbaa2c87a46b57d0d3c03a540e166e0670d2fb7a34ccf54fe1189472b96cd84907a43e084f76bd9a67b0a034764ad0db9831ff364fc36fe4355e5bbf8a643e40cdcd231e03588c07844a7570313bdc63acf404a4accd2ae43a27538ef0c8cd1c1e4508309b53f932acf21c5d803ac213601d19eb6fa1c6ddb12b5570415bf1490fabd031458fa6d63e2d87bf9ed03b5f866837628254b16d10e90f2cee7be725e05752a1ee8e459a07a27188d02050303b1adb33ab0d5c5e79ebc3f23d09c0263c48ac541185137898ecdbc841e4ee70351566360874fb84a17f227760e0adbf13c4eb2dceebcffb215b79a8efa53944d0309e64d97c473315f6cb7d4bc7074bd0f9f5a8ead762696f72c79ab6c20b80b9903320001c0d5e0f6680384b791aecf2915427fcebc1eaca0124312fae05f461685030dfde7b44cb83ec1a777a5d69fcaf538443e575912e0f9dd65398e681e17366803ad8bd147064c990c61ef7f526468c81f41d5104de69d0e089916bb3ca2b8f13903920a5b6fa2893f2dea2461ee300b71376c85a810ed2eccd4f467a51291888ff003efa6520d0546937379d98a4c8fc1eaeddce66a2156651a0ccbedf6e41e9a0dba05581e03603ab23148cbc20b29d4ca4849433d68bd8b20fb4052a4e172d6a331400403037ffb20854a27819119fa1660b05f9f85eaf663cb61d60ac638669b6455257fa105581e0332918cc8edb25f2327176548b34115badcc8dfe4e540ba1c86dc6de7a00c014701d75f774b500005581e03a11c0ce2fcbf25f14f59161a7d2c319da1727df78682e0d1707d283940040405581e03cace9eadd9f12cc516972ddfabaad458c650a856c1034d702b245ff790040105581d02939410b01b14abc28d2f1c29babc1ec95c7e4d92d39a9d46d790121a0c02470d686ed961e00004595fa0608060405234801561001057600080fd5b50600436106102255760003560e01c8063065756db1461022a57806306fdde0314610246578063095ea7b31461025b5780630dfe16811461027e5780631322d9541461029e57806316f0115b146102b457806318160ddd146102c757806323b872dd146102cf57806324b8fd1b146102e257806331366be4146102f7578063313ce5671461031257806339509351146103215780633d8b30e11461033457806342fb9d4414610349578063481c6a751461035257806354fd4d501461035a578063672152bd1461037e57806370a08231146103a3578063715018a6146103cc578063727dd228146103d457806378ac6357146103f557806394bf804d1461040857806395d89b411461043f5780639894f21a1461044757806399fd808c146104755780639b1344ac14610488578063a457c2d71461049c578063a50b1fe7146104af578063a9059cbb146104c4578063b135c99f146104d7578063b536bd12146104ea578063b670ed7d146104f3578063be93dd5f14610506578063c345445914610519578063cc95353e14610522578063ccdf7a021461053c578063d21220a714610551578063d348799714610564578063d6e7ff3914610577578063dd62ed3e1461058c578063df28408a146105c5578063e25e15e3146105cd578063e4077894146105e0578063eff557a7146105f3578063f2fde38b1461061a578063fa461e331461062d578063fcd3533c14610640575b600080fd5b61023360995481565b6040519081526020015b60405180910390f35b61024e610653565b60405161023d91906159a9565b61026e6102693660046152fa565b6106e5565b604051901515815260200161023d565b609e54610291906001600160a01b031681565b60405161023d9190615896565b6102a66106fb565b60405161023d929190615ba1565b609d54610291906001600160a01b031681565b603554610233565b61026e6102dd3660046152ba565b6107a4565b6102f56102f0366004615404565b61085c565b005b6102ff606481565b60405161ffff909116815260200161023d565b6040516012815260200161023d565b61026e61032f3660046152fa565b610c41565b6097546102ff90600160e01b900461ffff1681565b610233609a5481565b610291610c78565b61024e604051806040016040528060058152602001640312e302e360dc1b81525081565b60985461038e9063ffffffff1681565b60405163ffffffff909116815260200161023d565b6102336103b136600461524a565b6001600160a01b031660009081526033602052604090205490565b6102f5610c87565b6097546103e890600160b81b900460020b81565b60405161023d919061596d565b6102f5610403366004615835565b610cdd565b61041b610416366004615835565b610e38565b6040805193845260208401929092526001600160801b03169082015260600161023d565b61024e61111e565b61045a610455366004615859565b61112d565b6040805193845260208401929092529082015260600161023d565b6102f56104833660046157bb565b61127f565b6097546103e890600160a01b900460020b81565b61026e6104aa3660046152fa565b61143f565b6097546102ff90600160d01b900461ffff1681565b61026e6104d23660046152fa565b6114da565b6102f56104e536600461576b565b6114e7565b610233609b5481565b6102a661050136600461524a565b6117a4565b6102f5610514366004615835565b61184b565b610233609c5481565b60985461029190600160301b90046001600160a01b031681565b6098546102ff90600160201b900461ffff1681565b609f54610291906001600160a01b031681565b6102f561057236600461548e565b611931565b6097546102ff90600160f01b900461ffff1681565b61023361059a366004615282565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b610233611995565b6102f56105db3660046154de565b6119a4565b6102f56105ee3660046156bf565b611c41565b6102917f0000000000000000000000003caca7b48d0573d793d3b0279b5f0029180e83b681565b6102f561062836600461524a565b611d4e565b6102f561063b36600461548e565b611e2e565b61041b61064e366004615835565b611e98565b60606036805461066290615daf565b80601f016020809104026020016040519081016040528092919081815260200182805461068e90615daf565b80156106db5780601f106106b0576101008083540402835291602001916106db565b820191906000526020600020905b8154815290600101906020018083116106be57829003601f168201915b5050505050905090565b60006106f23384846121d1565b50600192915050565b600080600080609d60009054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561074f57600080fd5b505afa158015610763573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078791906156db565b50505050509150915061079a82826122f6565b9350935050509091565b60006107b18484846125a7565b6001600160a01b03841660009081526034602090815260408083203384529091529020548281101561083b5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b61084f853361084a8685615d6c565b6121d1565b60019150505b9392505050565b33610865610c78565b6001600160a01b03161461088b5760405162461bcd60e51b815260040161083290615b08565b609d546000906001600160a01b031663514ea4bf6108a761276d565b6040518263ffffffff1660e01b81526004016108c591815260200190565b60a06040518083038186803b1580156108dd57600080fd5b505afa1580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109159190615669565b5050505090506000816001600160801b0316111561099f57609754600090819061095590600160a01b8104600290810b91600160b81b9004900b856127d3565b9350935050506109658282612b60565b61096f8282612c39565b6040519193509150600080516020615f4b833981519152906109949084908490615ba1565b60405180910390a150505b60978054600287810b62ffffff908116600160b81b0262ffffff60b81b19928b900b909116600160a01b029190911665ffffffffffff60a01b1990921691909117179055609b54609954609e546040516370a0823160e01b815260009392916001600160a01b0316906370a0823190610a1c903090600401615896565b60206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6c919061581d565b610a769190615d6c565b610a809190615d6c565b609c54609a54609f546040516370a0823160e01b81529394506000936001600160a01b03909116906370a0823190610abc903090600401615896565b60206040518083038186803b158015610ad457600080fd5b505afa158015610ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0c919061581d565b610b169190615d6c565b610b209190615d6c565b9050610b31888884848a8a8a612cd4565b609d546000906001600160a01b031663514ea4bf610b4d61276d565b6040518263ffffffff1660e01b8152600401610b6b91815260200190565b60a06040518083038186803b158015610b8357600080fd5b505afa158015610b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbb9190615669565b5050505090506000816001600160801b031611610c0b5760405162461bcd60e51b815260206004820152600e60248201526d06e657720706f736974696f6e20360941b6044820152606401610832565b600080516020615eeb83398151915289898684604051610c2e949392919061597b565b60405180910390a1505050505050505050565b3360008181526034602090815260408083206001600160a01b038716845290915281205490916106f291859061084a908690615c4a565b6097546001600160a01b031690565b33610c90610c78565b6001600160a01b031614610cb65760405162461bcd60e51b815260040161083290615b08565b60988054600160201b600160d01b031916905560006099819055609a55610cdb612e93565b565b8181336001600160a01b037f0000000000000000000000003caca7b48d0573d793d3b0279b5f0029180e83b61614610d275760405162461bcd60e51b8152600401610832906159dc565b600080610d3a609954609a548888612efa565b60006099819055609a5590925090508115610d7457609854609e54610d74916001600160a01b0391821691600160301b909104168461301e565b8015610d9f57609854609f54610d9f916001600160a01b0391821691600160301b909104168361301e565b50506001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610dfe57610df96001600160a01b037f0000000000000000000000003caca7b48d0573d793d3b0279b5f0029180e83b61683613086565b610e32565b610e326001600160a01b0382167f0000000000000000000000003caca7b48d0573d793d3b0279b5f0029180e83b68461301e565b50505050565b600080600060026065541415610e605760405162461bcd60e51b815260040161083290615b6a565b600260655584610e825760405162461bcd60e51b815260040161083290615b4a565b6000610e8d60355490565b90506000609d60009054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b158015610edf57600080fd5b505afa158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906156db565b50505050505090506000821115610f5857600080610f336106fb565b91509150610f42828a8661319c565b9650610f4f818a8661319c565b95505050610fa5565b610f9f81610f77609760149054906101000a900460020b60020b6131f3565b609754610f9190600160b81b9004600290810b900b6131f3565b610f9a8b613605565b61366e565b90955093505b8415610fc357609e54610fc3906001600160a01b0316333088613709565b8315610fe157609f54610fe1906001600160a01b0316333087613709565b61102181611000609760149054906101000a900460020b60020b6131f3565b60975461101a90600160b81b9004600290810b900b6131f3565b8888613741565b609d54609754604051633c8a7d8d60e01b81529295506001600160a01b0390911691633c8a7d8d91611071913091600160a01b8104600290810b92600160b81b909204900b9089906004016158aa565b6040805180830381600087803b15801561108a57600080fd5b505af115801561109e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c2919061546b565b50506110ce8688613803565b7f55801cfe493000b734571da1694b21e7f66b11e8ce9fdaa0524ecb59105e73e786888787876040516111059594939291906158ec565b60405180910390a1505060016065819055509250925092565b60606037805461066290615daf565b60008060008061113c60355490565b9050801561115b5761114f8187876138d0565b91955093509150611277565b609d5460408051633850c7bd60e01b815290516000926001600160a01b031691633850c7bd9160048083019260e0929190829003018186803b1580156111a057600080fd5b505afa1580156111b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d891906156db565b5050505050509050600061122282611201609760149054906101000a900460020b60020b6131f3565b60975461121b90600160b81b9004600290810b900b6131f3565b8b8b613741565b9050806001600160801b0316935061126f8261124f609760149054906101000a900460020b60020b6131f3565b60975461126990600160b81b9004600290810b900b6131f3565b8461366e565b909650945050505b509250925092565b33611288610c78565b6001600160a01b0316146112ae5760405162461bcd60e51b815260040161083290615b08565b6127108461ffff1611156112d45760405162461bcd60e51b815260040161083290615aeb565b6127108561ffff1611156112fa5760405162461bcd60e51b815260040161083290615aeb565b6127108361ffff1611156113205760405162461bcd60e51b815260040161083290615aeb565b6040805161ffff8781168252868116602083015285168183015263ffffffff8416606082015290517f0b7615006627cf7664941bc288d4641731f895e102f95cb8690583ad7508faa89181900360800190a161ffff851615611397576097805461ffff60d01b1916600160d01b61ffff8816021790555b61ffff8416156113bc576097805461ffff60e01b1916600160e01b61ffff8716021790555b61ffff8316156113e257609780546001600160f01b0316600160f01b61ffff8616021790555b63ffffffff821615611404576098805463ffffffff191663ffffffff84161790555b6001600160a01b038116156114385760988054600160301b600160d01b031916600160301b6001600160a01b038416021790555b5050505050565b3360009081526034602090815260408083206001600160a01b0386168452909152812054828110156114c15760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610832565b6114d0338561084a8685615d6c565b5060019392505050565b60006106f23384846125a7565b8181336001600160a01b037f0000000000000000000000003caca7b48d0573d793d3b0279b5f0029180e83b616146115315760405162461bcd60e51b8152600401610832906159dc565b85156115415761154187866139df565b609d546000906001600160a01b031663514ea4bf61155d61276d565b6040518263ffffffff1660e01b815260040161157b91815260200190565b60a06040518083038186803b15801561159357600080fd5b505afa1580156115a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115cb9190615669565b5050505090506115df818989898989613c8d565b609d546000906001600160a01b031663514ea4bf6115fb61276d565b6040518263ffffffff1660e01b815260040161161991815260200190565b60a06040518083038186803b15801561163157600080fd5b505afa158015611645573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116699190615669565b505050509050816001600160801b0316816001600160801b031610156116c65760405162461bcd60e51b81526020600482015260126024820152716c697175696469747920646563726561736560701b6044820152606401610832565b609754604051600080516020615eeb8339815191529161170091600160a01b8204600290810b92600160b81b9004900b908690869061597b565b60405180910390a150506001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415611767576117626001600160a01b037f0000000000000000000000003caca7b48d0573d793d3b0279b5f0029180e83b61683613086565b61179b565b61179b6001600160a01b0382167f0000000000000000000000003caca7b48d0573d793d3b0279b5f0029180e83b68461301e565b50505050505050565b6000806000609d60009054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b1580156117f757600080fd5b505afa15801561180b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182f91906156db565b505050505091505061184184826122f6565b9250925050915091565b8181336001600160a01b037f0000000000000000000000003caca7b48d0573d793d3b0279b5f0029180e83b616146118955760405162461bcd60e51b8152600401610832906159dc565b6000806118a8609b54609c548888612efa565b6000609b819055609c55909250905081156118f457609e546118f4906001600160a01b03167f0000000000000000000000003caca7b48d0573d793d3b0279b5f0029180e83b68461301e565b8015610d9f57609f54610d9f906001600160a01b03167f0000000000000000000000003caca7b48d0573d793d3b0279b5f0029180e83b68361301e565b609d546001600160a01b0316331461195b5760405162461bcd60e51b815260040161083290615a2b565b831561197857609e54611978906001600160a01b0316338661301e565b8215610e3257609f54610e32906001600160a01b0316338561301e565b600061199f61276d565b905090565b600054610100900460ff16806119bd575060005460ff16155b6119d95760405162461bcd60e51b815260040161083290615a54565b600054610100900460ff161580156119fb576000805461ffff19166101011790555b611a086064612710615d29565b61ffff168561ffff161115611a2f5760405162461bcd60e51b815260040161083290615a0d565b609d80546001600160a01b0319166001600160a01b03881690811790915560408051630dfe168160e01b81529051630dfe168191600480820192602092909190829003018186803b158015611a8357600080fd5b505afa158015611a97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abb9190615266565b609e80546001600160a01b0319166001600160a01b03928316179055609d546040805163d21220a760e01b81529051919092169163d21220a7916004808301926020929190829003018186803b158015611b1457600080fd5b505afa158015611b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4c9190615266565b609f80546001600160a01b03199081166001600160a01b0393841617909155609880546097805461012c65ffffffffffff19909316600160201b61ffff8d160263ffffffff19161792909217600160301b600160d01b031916600160301b95881695860217909255643e800c801960d31b600165ffffff00000160a01b03909116600160a01b60028a810b62ffffff908116929092029290921792909217600165ffffff00000160a01b031916600160b81b9189900b9290921602909216919091179091179055611c1d88886141af565b611c2561422e565b8015611c37576000805461ff00191690555b5050505050505050565b33611c4a610c78565b6001600160a01b031614611c705760405162461bcd60e51b815260040161083290615b08565b609854600160201b900461ffff1615611cb15760405162461bcd60e51b815260206004820152600360248201526266656560e81b6044820152606401610832565b60008161ffff16118015611cd95750611ccd6064612710615d29565b61ffff168161ffff1611155b611cf55760405162461bcd60e51b815260040161083290615a0d565b60405161ffff821681527f8a1ffb520c943072e654fc414750dbefad5b6d6311339d041901c4752782fad39060200160405180910390a16098805461ffff909216600160201b0261ffff60201b19909216919091179055565b33611d57610c78565b6001600160a01b031614611d7d5760405162461bcd60e51b815260040161083290615b08565b6001600160a01b038116611de45760405162461bcd60e51b815260206004820152602860248201527f4f776e61626c653a206e6577206d616e6167657220697320746865207a65726f604482015267206164647265737360c01b6064820152608401610832565b6097546040516001600160a01b03808416921690600080516020615f0b83398151915290600090a3609780546001600160a01b0319166001600160a01b0392909216919091179055565b609d546001600160a01b03163314611e585760405162461bcd60e51b815260040161083290615a2b565b6000841315611e7857609e54610df9906001600160a01b0316338661301e565b6000831315610e3257609f54610e32906001600160a01b0316338561301e565b600080600060026065541415611ec05760405162461bcd60e51b815260040161083290615b6a565b600260655584611efb5760405162461bcd60e51b815260206004820152600660248201526506275726e20360d41b6044820152606401610832565b6000611f0660355490565b609d549091506000906001600160a01b031663514ea4bf611f2561276d565b6040518263ffffffff1660e01b8152600401611f4391815260200190565b60a06040518083038186803b158015611f5b57600080fd5b505afa158015611f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f939190615669565b505050509050611fa333886142a2565b6000611fb988836001600160801b0316856143df565b9050611fc481613605565b609754909450600090819081908190611ff390600160a01b8104600290810b91600160b81b9004900b8a6127d3565b93509350935093506120058282612b60565b61200f8282612c39565b6040519193509150600080516020615f4b833981519152906120349084908490615ba1565b60405180910390a1609b54609954609e546040516370a0823160e01b81526120ef93929188916001600160a01b03909116906370a082319061207a903090600401615896565b60206040518083038186803b15801561209257600080fd5b505afa1580156120a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ca919061581d565b6120d49190615d6c565b6120de9190615d6c565b6120e89190615d6c565b8d896143df565b6120f99085615c4a565b609c54609a54609f546040516370a0823160e01b8152939d506121369387916001600160a01b0316906370a082319061207a903090600401615896565b6121409084615c4a565b9850891561215f57609e5461215f906001600160a01b03168c8c61301e565b881561217c57609f5461217c906001600160a01b03168c8b61301e565b7f7239dff1718b550db7f36cbf69c665cfeb56d0e96b4fb76a5cba712961b655098b8d8c8c8c6040516121b39594939291906158ec565b60405180910390a15050505050505060016065819055509250925092565b6001600160a01b0383166122335760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610832565b6001600160a01b0382166122945760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610832565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b609d546000908190819081908190819081906001600160a01b031663514ea4bf61231e61276d565b6040518263ffffffff1660e01b815260040161233c91815260200190565b60a06040518083038186803b15801561235457600080fd5b505afa158015612368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238c9190615669565b945094509450945094506123d5896123b5609760149054906101000a900460020b60020b6131f3565b6097546123cf90600160b81b9004600290810b900b6131f3565b8861366e565b909750955060006001600160801b0383166123f36001878c8a61448e565b6123fd9190615c4a565b90506000826001600160801b03166124186000878d8b61448e565b6124229190615c4a565b905061242e8282612c39565b609b54609954609e546040516370a0823160e01b8152949650929450909290916001600160a01b0316906370a082319061246c903090600401615896565b60206040518083038186803b15801561248457600080fd5b505afa158015612498573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124bc919061581d565b6124c69085615c4a565b6124d09190615d6c565b6124da9190615d6c565b6124e4908a615c4a565b609c54609a54609f546040516370a0823160e01b8152939c50919290916001600160a01b0316906370a082319061251f903090600401615896565b60206040518083038186803b15801561253757600080fd5b505afa15801561254b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256f919061581d565b6125799084615c4a565b6125839190615d6c565b61258d9190615d6c565b6125979089615c4a565b9750505050505050509250929050565b6001600160a01b03831661260b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610832565b6001600160a01b03821661266d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610832565b6001600160a01b038316600090815260336020526040902054818110156126e55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610832565b6126ef8282615d6c565b6001600160a01b038086166000908152603360205260408082209390935590851681529081208054849290612725908490615c4a565b92505081905550826001600160a01b0316846001600160a01b0316600080516020615f2b8339815191528460405161275f91815260200190565b60405180910390a350505050565b6097546040516001600160601b03193060601b166020820152600160a01b8204600290810b810b60e890811b6034840152600160b81b909304810b900b90911b6037820152600090603a0160405160208183030381529060405280519060200120905090565b609e546040516370a0823160e01b815260009182918291829182916001600160a01b0316906370a082319061280c903090600401615896565b60206040518083038186803b15801561282457600080fd5b505afa158015612838573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061285c919061581d565b609f546040516370a0823160e01b81529192506000916001600160a01b03909116906370a0823190612892903090600401615896565b60206040518083038186803b1580156128aa57600080fd5b505afa1580156128be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128e2919061581d565b609d5460405163a34123a760e01b815260028c810b60048301528b900b60248201526001600160801b038a1660448201529192506001600160a01b03169063a34123a7906064016040805180830381600087803b15801561294257600080fd5b505af1158015612956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061297a919061546b565b609d546040516309e3d67b60e31b815230600482015260028d810b60248301528c900b60448201526001600160801b036064820181905260848201529298509096506001600160a01b031690634f1eb3d89060a4016040805180830381600087803b1580156129e857600080fd5b505af11580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a209190615637565b5050609e546040516370a0823160e01b8152879184916001600160a01b03909116906370a0823190612a56903090600401615896565b60206040518083038186803b158015612a6e57600080fd5b505afa158015612a82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aa6919061581d565b612ab09190615d6c565b612aba9190615d6c565b609f546040516370a0823160e01b8152919550869183916001600160a01b0316906370a0823190612aef903090600401615896565b60206040518083038186803b158015612b0757600080fd5b505afa158015612b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b3f919061581d565b612b499190615d6c565b612b539190615d6c565b9250505093509350935093565b612710612b6e606484615ccb565b612b789190615c88565b609b6000828254612b899190615c4a565b909155506127109050612b9d606483615ccb565b612ba79190615c88565b609c6000828254612bb89190615c4a565b909155505060985461271090612bd990600160201b900461ffff1684615ccb565b612be39190615c88565b60996000828254612bf49190615c4a565b909155505060985461271090612c1590600160201b900461ffff1683615ccb565b612c1f9190615c88565b609a6000828254612c309190615c4a565b90915550505050565b6000806000612710609860049054906101000a900461ffff166064612c5e9190615c02565b612c6c9061ffff1687615ccb565b612c769190615c88565b60985490915060009061271090612c9990600160201b900461ffff166064615c02565b612ca79061ffff1687615ccb565b612cb19190615c88565b9050612cbd8287615d6c565b9350612cc98186615d6c565b925050509250929050565b609d5460408051633850c7bd60e01b815290516000926001600160a01b031691633850c7bd9160048083019260e0929190829003018186803b158015612d1957600080fd5b505afa158015612d2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d5191906156db565b50505050505090506000612d7e82612d6b8b60020b6131f3565b612d778b60020b6131f3565b8a8a613741565b90506001600160801b03811615612e3b57609d54604051633c8a7d8d60e01b815260009182916001600160a01b0390911690633c8a7d8d90612dca9030908f908f9089906004016158aa565b6040805180830381600087803b158015612de357600080fd5b505af1158015612df7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e1b919061546b565b9092509050612e2a828a615d6c565b9850612e368189615d6c565b975050505b6000612e6a6127108686612e4f5789612e51565b8a5b612e5b9190615ccb565b612e659190615c88565b61489a565b90506000811315612e8757612e848a8a8a8a858b8a614900565b50505b50505050505050505050565b33612e9c610c78565b6001600160a01b031614612ec25760405162461bcd60e51b815260040161083290615b08565b6097546040516000916001600160a01b031690600080516020615f0b833981519152908390a3609780546001600160a01b0319169055565b609e5460009081906001600160a01b0384811691161415612f6f57609754849061271090612f3390600160e01b900461ffff1689615ccb565b612f3d9190615c88565b1015612f5b5760405162461bcd60e51b815260040161083290615aa2565b612f658487615d6c565b9150849050613015565b609f546001600160a01b0384811691161415612fdf57609754849061271090612fa390600160e01b900461ffff1688615ccb565b612fad9190615c88565b1015612fcb5760405162461bcd60e51b815260040161083290615aa2565b612fd58486615d6c565b9050859150613015565b60405162461bcd60e51b815260206004820152600b60248201526a3bb937b733903a37b5b2b760a91b6044820152606401610832565b94509492505050565b6040516001600160a01b03831660248201526044810182905261308190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614b49565b505050565b804710156130d65760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610832565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613123576040519150601f19603f3d011682016040523d82523d6000602084013e613128565b606091505b50509050806130815760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c20726044820152791958da5c1a595b9d081b585e481a185d99481c995d995c9d195960321b6064820152608401610832565b60006131a98484846143df565b9050600082806131c957634e487b7160e01b600052601260045260246000fd5b84860911156108555760001981106131e057600080fd5b806131ea81615dea565b95945050505050565b60008060008360020b1261320a578260020b613217565b8260020b61321790615e3a565b9050613226620d89e719615e19565b60020b81111561325c5760405162461bcd60e51b81526020600482015260016024820152601560fa1b6044820152606401610832565b60006001821661327057600160801b613282565b6ffffcb933bd6fad37aa2d162d1a5940015b6001600160881b0316905060028216156132b75760806132b2826ffff97272373d413259a46990580e213a615ccb565b901c90505b60048216156132e15760806132dc826ffff2e50f5f656932ef12357cf3c7fdcc615ccb565b901c90505b600882161561330b576080613306826fffe5caca7e10e4e61c3624eaa0941cd0615ccb565b901c90505b6010821615613335576080613330826fffcb9843d60f6159c9db58835c926644615ccb565b901c90505b602082161561335f57608061335a826fff973b41fa98c081472e6896dfb254c0615ccb565b901c90505b6040821615613389576080613384826fff2ea16466c96a3843ec78b326b52861615ccb565b901c90505b60808216156133b35760806133ae826ffe5dee046a99a2a811c461f1969c3053615ccb565b901c90505b6101008216156133de5760806133d9826ffcbe86c7900a88aedcffc83b479aa3a4615ccb565b901c90505b610200821615613409576080613404826ff987a7253ac413176f2b074cf7815e54615ccb565b901c90505b61040082161561343457608061342f826ff3392b0822b70005940c7a398e4b70f3615ccb565b901c90505b61080082161561345f57608061345a826fe7159475a2c29b7443b29c7fa6e889d9615ccb565b901c90505b61100082161561348a576080613485826fd097f3bdfd2022b8845ad8f792aa5825615ccb565b901c90505b6120008216156134b55760806134b0826fa9f746462d870fdf8a65dc1f90e061e5615ccb565b901c90505b6140008216156134e05760806134db826f70d869a156d2a1b890bb3df62baf32f7615ccb565b901c90505b61800082161561350b576080613506826f31be135f97d08fd981231505542fcfa6615ccb565b901c90505b62010000821615613537576080613532826f09aa508b5b7a84e1c677de54f3e99bc9615ccb565b901c90505b6202000082161561356257608061355d826e5d6af8dedb81196699c329225ee604615ccb565b901c90505b6204000082161561358c576080613587826d2216e584f5fa1ea926041bedfe98615ccb565b901c90505b620800008216156135b45760806135af826b048a170391f7dc42444e8fa2615ccb565b901c90505b60008460020b13156135cf576135cc81600019615c88565b90505b6135dd600160201b82615e05565b156135e95760016135ec565b60005b6135fd9060ff16602083901c615c4a565b949350505050565b6000600160801b821061366a5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608401610832565b5090565b600080836001600160a01b0316856001600160a01b0316111561368f579293925b846001600160a01b0316866001600160a01b0316116136ba576136b3858585614c1b565b9150613015565b836001600160a01b0316866001600160a01b031610156136f3576136df868585614c1b565b91506136ec858785614c85565b9050613015565b6136fe858585614c85565b905094509492505050565b6040516001600160a01b0380851660248301528316604482015260648101829052610e329085906323b872dd60e01b9060840161304a565b6000836001600160a01b0316856001600160a01b03161115613761579293925b846001600160a01b0316866001600160a01b03161161378c57613785858585614ccf565b90506131ea565b836001600160a01b0316866001600160a01b031610156137ee5760006137b3878686614ccf565b905060006137c2878986614d39565b9050806001600160801b0316826001600160801b0316106137e357806137e5565b815b925050506131ea565b6137f9858584614d39565b9695505050505050565b6001600160a01b0382166138595760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610832565b806035600082825461386b9190615c4a565b90915550506001600160a01b03821660009081526033602052604081208054839290613898908490615c4a565b90915550506040518181526001600160a01b03831690600090600080516020615f2b8339815191529060200160405180910390a35050565b60008060008060006138e06106fb565b915091508160001480156138f45750600081115b1561390b576139048689836143df565b92506139ba565b801580156139195750600082115b15613929576139048789846143df565b81158015613935575080155b1561395c5760405162461bcd60e51b81526020600482015260006024820152604401610832565b6000613969888a856143df565b90506000613978888b856143df565b905060008211801561398a5750600081115b6139a65760405162461bcd60e51b815260040161083290615b4a565b8082106139b357806139b5565b815b945050505b6139c583838a61319c565b94506139d283828a61319c565b9350505093509350939050565b6040805160028082526060820183526000926020830190803683375050609854825192935063ffffffff1691839150600090613a2b57634e487b7160e01b600052603260045260246000fd5b602002602001019063ffffffff16908163ffffffff1681525050600081600181518110613a6857634e487b7160e01b600052603260045260246000fd5b63ffffffff90921660209283029190910190910152609d5460405163883bdbfd60e01b81526000916001600160a01b03169063883bdbfd90613aae908590600401615923565b60006040518083038186803b158015613ac657600080fd5b505afa158015613ada573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613b029190810190615325565b5090508051600214613b425760405162461bcd60e51b815260206004820152600960248201526830b93930bc903632b760b91b6044820152606401610832565b6098548151600091829163ffffffff90911660060b9084908390613b7657634e487b7160e01b600052603260045260246000fd5b602002602001015184600181518110613b9f57634e487b7160e01b600052603260045260246000fd5b60200260200101510360060b81613bc657634e487b7160e01b600052601260045260246000fd5b059050613bd58160020b6131f3565b6097549092506000915061271090613bf890600160f01b900461ffff1684615c9c565b613c029190615c62565b90508415613c4a57613c148183615d4c565b6001600160a01b0316866001600160a01b03161015613c455760405162461bcd60e51b815260040161083290615ac4565b613c85565b613c548183615c28565b6001600160a01b0316866001600160a01b03161115613c855760405162461bcd60e51b815260040161083290615ac4565b505050505050565b609b54609954609e546040516370a0823160e01b815260009392916001600160a01b0316906370a0823190613cc6903090600401615896565b60206040518083038186803b158015613cde57600080fd5b505afa158015613cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d16919061581d565b613d209190615d6c565b613d2a9190615d6c565b609c54609a54609f546040516370a0823160e01b81529394506000936001600160a01b03909116906370a0823190613d66903090600401615896565b60206040518083038186803b158015613d7e57600080fd5b505afa158015613d92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613db6919061581d565b613dc09190615d6c565b613dca9190615d6c565b6097549091506000908190613df590600160a01b8104600290810b91600160b81b9004900b8c6127d3565b935093505050613e058282612b60565b613e0f8282612c39565b6040519193509150600080516020615f4b83398151915290613e349084908490615ba1565b60405180910390a1613e468483615c4a565b9150613e528382615c4a565b609e549091506001600160a01b0386811691161415613ffd57609754869061271090613e8990600160d01b900461ffff1685615ccb565b613e939190615c88565b1015613eb15760405162461bcd60e51b815260040161083290615aa2565b609b54609954609e546040516370a0823160e01b8152899392916001600160a01b0316906370a0823190613ee9903090600401615896565b60206040518083038186803b158015613f0157600080fd5b505afa158015613f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f39919061581d565b613f439190615d6c565b613f4d9190615d6c565b613f579190615d6c565b609c54609a54609f546040516370a0823160e01b8152939750919290916001600160a01b0316906370a0823190613f92903090600401615896565b60206040518083038186803b158015613faa57600080fd5b505afa158015613fbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613fe2919061581d565b613fec9190615d6c565b613ff69190615d6c565b9250614188565b609f546001600160a01b0386811691161415612fdf5760975486906127109061403190600160d01b900461ffff1684615ccb565b61403b9190615c88565b10156140595760405162461bcd60e51b815260040161083290615aa2565b609b54609954609e546040516370a0823160e01b81526001600160a01b03909116906370a082319061408f903090600401615896565b60206040518083038186803b1580156140a757600080fd5b505afa1580156140bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140df919061581d565b6140e99190615d6c565b6140f39190615d6c565b609c54609a54609f546040516370a0823160e01b815293975089936001600160a01b03909116906370a082319061412e903090600401615896565b60206040518083038186803b15801561414657600080fd5b505afa15801561415a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061417e919061581d565b613fe29190615d6c565b609754612e8790600160a01b8104600290810b91600160b81b9004900b86868d8d8d612cd4565b600054610100900460ff16806141c8575060005460ff16155b6141e45760405162461bcd60e51b815260040161083290615a54565b600054610100900460ff16158015614206576000805461ffff19166101011790555b61420e614d6f565b6142188383614dd9565b8015613081576000805461ff0019169055505050565b600054610100900460ff1680614247575060005460ff16155b6142635760405162461bcd60e51b815260040161083290615a54565b600054610100900460ff16158015614285576000805461ffff19166101011790555b61428d614e6e565b801561429f576000805461ff00191690555b50565b6001600160a01b0382166143025760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610832565b6001600160a01b038216600090815260336020526040902054818110156143765760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610832565b6143808282615d6c565b6001600160a01b038416600090815260336020526040812091909155603580548492906143ae908490615d6c565b90915550506040518281526000906001600160a01b03851690600080516020615f2b833981519152906020016122e9565b600080806000198587098587029250828110838203039150508060001415614419576000841161440e57600080fd5b508290049050610855565b80841161442557600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b600080600080871561465b57609d60009054906101000a90046001600160a01b03166001600160a01b031663f30583996040518163ffffffff1660e01b815260040160206040518083038186803b1580156144e857600080fd5b505afa1580156144fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614520919061581d565b609d5460975460405163f30dba9360e01b81529293506001600160a01b039091169163f30dba939161456091600160a01b90910460020b9060040161596d565b6101006040518083038186803b15801561457957600080fd5b505afa15801561458d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145b1919061559d565b5050609d5460975460405163f30dba9360e01b8152959a506001600160a01b03909116965063f30dba9395506145fa94600160b81b90910460020b9350600401915061596d9050565b6101006040518083038186803b15801561461357600080fd5b505afa158015614627573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061464b919061559d565b5093975061481695505050505050565b609d60009054906101000a90046001600160a01b03166001600160a01b031663461413196040518163ffffffff1660e01b815260040160206040518083038186803b1580156146a957600080fd5b505afa1580156146bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146e1919061581d565b609d5460975460405163f30dba9360e01b81529293506001600160a01b039091169163f30dba939161472191600160a01b90910460020b9060040161596d565b6101006040518083038186803b15801561473a57600080fd5b505afa15801561474e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614772919061559d565b5050609d5460975460405163f30dba9360e01b8152949a506001600160a01b03909116965063f30dba9395506147ba9450600160b81b900460020b92600401915061596d9050565b6101006040518083038186803b1580156147d357600080fd5b505afa1580156147e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061480b919061559d565b509297505050505050505b6000609760149054906101000a900460020b60020b8760020b1261483b575082614840565b508281035b6000609760179054906101000a900460020b60020b8860020b121561486657508261486b565b508282035b81830381900361488b6001600160801b0389168b8303600160801b6143df565b9b9a5050505050505050505050565b6000600160ff1b821061366a5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608401610832565b609d54604051630251596160e31b81523060048201528215156024820152604481018590526001600160a01b03848116606483015260a06084830152600060a4830181905292839283928392169063128acb089060c4016040805180830381600087803b15801561497057600080fd5b505af1158015614984573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149a8919061546b565b91509150816149b68a61489a565b6149c09190615cea565b9350806149cc8961489a565b6149d69190615cea565b92506000609d60009054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b158015614a2857600080fd5b505afa158015614a3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a6091906156db565b50505050505090506000614a8d82614a7a8f60020b6131f3565b614a868f60020b6131f3565b8989613741565b90506001600160801b03811615614b3957609d60009054906101000a90046001600160a01b03166001600160a01b0316633c8a7d8d308f8f856040518563ffffffff1660e01b8152600401614ae594939291906158aa565b6040805180830381600087803b158015614afe57600080fd5b505af1158015614b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b36919061546b565b50505b5050505097509795505050505050565b6000614b9e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614ede9092919063ffffffff16565b8051909150156130815780806020019051810190614bbc91906153e8565b6130815760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610832565b6000826001600160a01b0316846001600160a01b03161115614c3b579192915b6001600160a01b038416614c7b600160601b600160e01b03606085901b16614c638787615d4c565b6001600160a01b0316866001600160a01b03166143df565b6135fd9190615c88565b6000826001600160a01b0316846001600160a01b03161115614ca5579192915b6135fd6001600160801b038316614cbc8686615d4c565b6001600160a01b0316600160601b6143df565b6000826001600160a01b0316846001600160a01b03161115614cef579192915b6000614d12856001600160a01b0316856001600160a01b0316600160601b6143df565b90506131ea614d348483614d268989615d4c565b6001600160a01b03166143df565b614eed565b6000826001600160a01b0316846001600160a01b03161115614d59579192915b6135fd614d3483600160601b614d268888615d4c565b600054610100900460ff1680614d88575060005460ff16155b614da45760405162461bcd60e51b815260040161083290615a54565b600054610100900460ff1615801561428d576000805461ffff1916610101179055801561429f576000805461ff001916905550565b600054610100900460ff1680614df2575060005460ff16155b614e0e5760405162461bcd60e51b815260040161083290615a54565b600054610100900460ff16158015614e30576000805461ffff19166101011790555b8251614e43906036906020860190615069565b508151614e57906037906020850190615069565b508015613081576000805461ff0019169055505050565b600054610100900460ff1680614e87575060005460ff16155b614ea35760405162461bcd60e51b815260040161083290615a54565b600054610100900460ff16158015614ec5576000805461ffff19166101011790555b6001606555801561429f576000805461ff001916905550565b60606135fd8484600085614f08565b806001600160801b0381168114614f0357600080fd5b919050565b606082471015614f695760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610832565b843b614fb75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610832565b600080866001600160a01b03168587604051614fd3919061587a565b60006040518083038185875af1925050503d8060008114615010576040519150601f19603f3d011682016040523d82523d6000602084013e615015565b606091505b5091509150615025828286615030565b979650505050505050565b6060831561503f575081610855565b82511561504f5782518084602001fd5b8160405162461bcd60e51b815260040161083291906159a9565b82805461507590615daf565b90600052602060002090601f01602090048101928261509757600085556150dd565b82601f106150b057805160ff19168380011785556150dd565b828001600101855582156150dd579182015b828111156150dd5782518255916020019190600101906150c2565b5061366a9291505b8082111561366a57600081556001016150e5565b600082601f830112615109578081fd5b8151602061511e61511983615bdf565b615baf565b80838252828201915082860187848660051b890101111561513d578586fd5b855b8581101561516457815161515281615e96565b8452928401929084019060010161513f565b5090979650505050505050565b60008083601f840112615182578182fd5b5081356001600160401b03811115615198578182fd5b6020830191508360208285010111156151b057600080fd5b9250929050565b8051600681900b8114614f0357600080fd5b600082601f8301126151d9578081fd5b81356001600160401b038111156151f2576151f2615e80565b615205601f8201601f1916602001615baf565b818152846020838601011115615219578283fd5b816020850160208301379081016020019190915292915050565b80516001600160801b0381168114614f0357600080fd5b60006020828403121561525b578081fd5b813561085581615e96565b600060208284031215615277578081fd5b815161085581615e96565b60008060408385031215615294578081fd5b823561529f81615e96565b915060208301356152af81615e96565b809150509250929050565b6000806000606084860312156152ce578081fd5b83356152d981615e96565b925060208401356152e981615e96565b929592945050506040919091013590565b6000806040838503121561530c578182fd5b823561531781615e96565b946020939093013593505050565b60008060408385031215615337578182fd5b82516001600160401b038082111561534d578384fd5b818501915085601f830112615360578384fd5b8151602061537061511983615bdf565b8083825282820191508286018a848660051b890101111561538f578889fd5b8896505b848710156153b8576153a4816151b7565b835260019690960195918301918301615393565b50918801519196509093505050808211156153d1578283fd5b506153de858286016150f9565b9150509250929050565b6000602082840312156153f9578081fd5b815161085581615eab565b600080600080600060a0868803121561541b578283fd5b853561542681615eb9565b9450602086013561543681615eb9565b9350604086013561544681615e96565b925060608601359150608086013561545d81615eab565b809150509295509295909350565b6000806040838503121561547d578182fd5b505080516020909101519092909150565b600080600080606085870312156154a3578182fd5b843593506020850135925060408501356001600160401b038111156154c6578283fd5b6154d287828801615171565b95989497509550505050565b600080600080600080600060e0888a0312156154f8578485fd5b87356001600160401b038082111561550e578687fd5b61551a8b838c016151c9565b985060208a013591508082111561552f578687fd5b5061553c8a828b016151c9565b965050604088013561554d81615e96565b9450606088013561555d81615ec8565b9350608088013561556d81615eb9565b925060a088013561557d81615eb9565b915060c088013561558d81615e96565b8091505092959891949750929550565b600080600080600080600080610100898b0312156155b9578182fd5b6155c289615233565b9750602089015180600f0b81146155d7578283fd5b60408a015160608b0151919850965094506155f460808a016151b7565b935060a089015161560481615e96565b60c08a015190935061561581615ed8565b60e08a015190925061562681615eab565b809150509295985092959890939650565b60008060408385031215615649578182fd5b61565283615233565b915061566060208401615233565b90509250929050565b600080600080600060a08688031215615680578283fd5b61568986615233565b945060208601519350604086015192506156a560608701615233565b91506156b360808701615233565b90509295509295909350565b6000602082840312156156d0578081fd5b813561085581615ec8565b600080600080600080600060e0888a0312156156f5578081fd5b875161570081615e96565b602089015190975061571181615eb9565b604089015190965061572281615ec8565b606089015190955061573381615ec8565b608089015190945061574481615ec8565b60a089015190935060ff8116811461575a578182fd5b60c089015190925061558d81615eab565b600080600080600060a08688031215615782578283fd5b853561578d81615e96565b94506020860135935060408601356157a481615eab565b925060608601359150608086013561545d81615e96565b600080600080600060a086880312156157d2578283fd5b85356157dd81615ec8565b945060208601356157ed81615ec8565b935060408601356157fd81615ec8565b9250606086013561580d81615ed8565b9150608086013561545d81615e96565b60006020828403121561582e578081fd5b5051919050565b60008060408385031215615847578182fd5b8235915060208301356152af81615e96565b6000806040838503121561586b578182fd5b50508035926020909101359150565b6000825161588c818460208701615d83565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03949094168452600292830b6020850152910b60408301526001600160801b0316606082015260a06080820181905260009082015260c00190565b6001600160a01b039590951685526020850193909352604084019190915260608301526001600160801b0316608082015260a00190565b6020808252825182820181905260009190848201906040850190845b8181101561596157835163ffffffff168352928401929184019160010161593f565b50909695505050505050565b60029190910b815260200190565b600294850b81529290930b60208301526001600160801b039081166040830152909116606082015260800190565b60208152600082518060208401526159c8816040850160208701615d83565b601f01601f19169190910160400192915050565b60208082526017908201527647656c61746f666965643a204f6e6c792067656c61746f60481b604082015260600190565b6020808252600490820152636d42505360e01b604082015260600190565b6020808252600f908201526e31b0b6363130b1b59031b0b63632b960891b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b602080825260089082015267686967682066656560c01b604082015260600190565b6020808252600d908201526c6869676820736c69707061676560981b604082015260600190565b60208082526003908201526242505360e81b604082015260600190565b60208082526022908201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206d616e616760408201526132b960f11b606082015260800190565b60208082526006908201526506d696e7420360d41b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b918252602082015260400190565b604051601f8201601f191681016001600160401b0381118282101715615bd757615bd7615e80565b604052919050565b60006001600160401b03821115615bf857615bf8615e80565b5060051b60200190565b600061ffff808316818516808303821115615c1f57615c1f615e54565b01949350505050565b60006001600160a01b03828116848216808303821115615c1f57615c1f615e54565b60008219821115615c5d57615c5d615e54565b500190565b60006001600160a01b0383811680615c7c57615c7c615e6a565b92169190910492915050565b600082615c9757615c97615e6a565b500490565b60006001600160a01b0382811684821681151582840482111615615cc257615cc2615e54565b02949350505050565b6000816000190483118215151615615ce557615ce5615e54565b500290565b60008083128015600160ff1b850184121615615d0857615d08615e54565b6001600160ff1b0384018313811615615d2357615d23615e54565b50500390565b600061ffff83811690831681811015615d4457615d44615e54565b039392505050565b60006001600160a01b0383811690831681811015615d4457615d44615e54565b600082821015615d7e57615d7e615e54565b500390565b60005b83811015615d9e578181015183820152602001615d86565b83811115610e325750506000910152565b600181811c90821680615dc357607f821691505b60208210811415615de457634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415615dfe57615dfe615e54565b5060010190565b600082615e1457615e14615e6a565b500690565b60008160020b627fffff19811415615e3357615e33615e54565b9003919050565b6000600160ff1b821415615e5057615e50615e54565b0390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461429f57600080fd5b801515811461429f57600080fd5b8060020b811461429f57600080fd5b61ffff8116811461429f57600080fd5b63ffffffff8116811461429f57600080fdfec749f9ae947d4734cf1569606a8a347391ae94a063478aa853aeff48ac5f99e88be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efc28ad1de9c0c32e5394ba60323e44d8d9536312236a47231772e448a3e49de42a2646970667358221220170d5c58be0bffd3988864d87cdc1b356071783a6ebf8d42552270cc9e4d530f64736f6c634300080400330605581d02e1c438b4e4148c10a57c7bc81498245478e661ab3a9988aa73cafa120701195fa0021960000316905fc053ea0e05a2860c616c0f838da8c00ca9b5dd2468926e9f0c5c497c7203e53f9c0540269212f62244f8f3a1512826187de59f3df03878e4f9dc2714c18e05581e031d3713233fe200893155658575ff2b49411454c06e60492b85458aeb100847413e531283600003df64f0dcffb9230593e5f6d653ed668fc28f6b6467ac8c8fe876aef05a40bd30021987de03d164e7d9cc0abce946b9e92e949e541c0c7d8a7672869ff74a4e561dbc3fd276032ca05423e9071794c4813574fe1583c8fdf55419f626e569d4a9198bcb09ae7103ab16bd30abf6f47e6a8e0dd55467bb014442e0ff58b045f1a583f28290d77e52033caa6657e73f41f69f3d046fa6cb280352bde9a3da4749af9a0385272ae617e003705c5d047180181b76fbfb17b867c3c17279912635cc737f798bd819478a501e03c1a5ea5bc86835049d388d94b45e1a29edf13e7e0534899d28e7a62e25f74838030182acfd60f276d54073c5137d0f38e3fa322e507b37a7369bfb691e75256ea60219ffff034e57eafb4d962f0c6d8430816c7b1136029b63620bb71ee73f12a9835399c5c703d8fc7281d1aa8833685eef93285f02ca40d89c2ec4db07e8445aeafdf21bdde703fb36e946dd7f7fc1d8bade546b72cf81c31b6aa5f8d337c6506e738802c6f90f039fca71a8fa4b0099dcf18e1add2fe8c01cb30919402d4851d67116051e37d000036131a0d67131317c9263a8699d2162f30766df80019e4ca0448004bfc944481f0300bc8dc38eee0f24db0f8f63212a935fb5f4991008a738c664cad053b93566b50377e3bc3b02c541cc4cdadffc89bd08c4c1c63e98e07f005269ee28975d84261e03b2baaf4f5d117ad24f92670f090c031a7ef0431f4838b369f1fb50dbefc3c155036dffadb2b07c7b340ce04b116708e30fdb6eea89efaed55828e417b3a5edff33038fc554d1c185a07f4bd986c49e429fce017dea12c9dfd01eacbcd9b9296f1dd203d35fad50ca52839d53cfa78cf3e22914ee062742d2dadf0bdc1edcec05da816e034dd310c3254b65ced5e4e0c7da08ee3225181ee7c3e8f237fe9150189013ecf3031cd62d47cda3e5e8fcaf4a55c09a585926d0f812917fdd6ab4f1f15ebecc9ae903a050079d90d03da5e561b24364ba19b53be73da8a9c37182262f64f10c2f697703b74d271f8860fa441aae4e99c3756c55b58f5f9bf34ccde2ad17d2ab0ab539a60219ffff03ab38a1342b7e5c243f963a09bef7f86724060fde828136dd71bee3e36ef6cceb0318a879d2e857b6c8f4bca34674b5b058a883a1a261b53ad0507ebcd643c5f74303e84b094beab3a31eb83eeec7a16b5ea64ba17acb829e5696b30c098d644627030389ba32f3b7d9ff9df1b8664eb429efd290667ff02ff7e83d65db54915224875103964a18616b11a6596f0aa9e715230760bcad0b8bc5239a2dc16da751a4c38afe0219ffff0321599e127674405f6614d3f8339021689e5d4908d3452264c59a62748c0edf3703b11713f623a17c081090466d9710baa1185e1270fe3d754be8e0b06620a398ce03966eef5385b2db92deb57e6d0a3406700c4ebc7f2e3faa3028253d0f3212bb6b039f344a7ea000f1b632b72c3c313985864f8efb6abf8b415f526dec5b8910d8e003148ce3cde54305e3e0dbfb420f09e058151ec06af68082830dd47146f1716a7b03821a59fcb570e945c28478b8bd5bc4f84774473e9fda13106c26e654b6c282810318897a3fd660da3226d6e7efdc46a20292239cba0266fc5b079a807ad2b56c95033b6f8565799d1849ee5e817e882a906a1aea80008cb619986575c0197a2d4ec603c5c50ccbb508ae4f8e706f8283a4d1a7fe5013f6776661abee35feea83b3989b031c2dd3a6ced649f5cd4303ff7ebecfced67ccc133b3eead4c6e928d00746fe6d0341a9a2b1e28b9c3f803a95464e7ba872e3e3740eb12c46db9a50dcd6529ad8b70387db28f84fb2e7c470ec9d2430bb430a70ad8b2cce4a7b89368d577553eed9070329100a305ab9bada9c9483c7b071dbde53993a747f6ad0b66cdc59354987783003ffaac7322244464497fa765d3b13dbed4c28b9a8b26c44d50d71f35058dfaf5403a546243c9bdb5689914780bc9f6c15f562f3cc35761df00f48d443e49306e45703933b6aadefa4aec2f5b1fb505f7d7e3347c46906880301e4649201e01512d9b703e2d746f488cf233fdcfd5d64302cf7d664844bf9e11bff07dcb1fb68af0fc3730300740e0e6d4120ee2312e8150d0c952eed514354ab03f1f479d9bb61d48c884a04593cfc6080604052600436106103385760003560e01c8063590ffdce116101b0578063ab558e4d116100ec578063dd62ed3e11610095578063f94aa1b41161006f578063f94aa1b4146109ac578063fb78680d14610a12578063fdb78c0e14610a32578063feadde9c14610a5157600080fd5b8063dd62ed3e14610931578063eafb5a3c14610977578063ee5d9c2d1461099757600080fd5b8063b7df8b36116100c6578063b7df8b361461087a578063bfc2fc3514610894578063cf847706146108b457600080fd5b8063ab558e4d1461085a578063b1b08f7114610574578063b3d514fb1461057457600080fd5b806380c581d1116101595780638a63bd9b116101335780638a63bd9b146107e25780638a8c523c146107f757806395d89b411461080c578063a9059cbb1461083a57600080fd5b806380c581d11461078457806383672f3e146107a4578063893d20e8146107c457600080fd5b806370a082311161018a57806370a0823114610724578063715018a61461075a57806378648edf1461076f57600080fd5b8063590ffdce146106ce5780635a6f0918146106ee5780635c24b0741461070457600080fd5b8063285777511161027f578063452ed4f1116102285780634e718e48116102025780634e718e48146106365780634fb2e45d146106565780634fbee1931461067657806350a8e016146106af57600080fd5b8063452ed4f1146105dc5780634ada218b146105fc5780634bbb93eb1461061657600080fd5b80632e8fa821116102595780632e8fa8211461058a578063313ce567146105a057806332cde664146105bc57600080fd5b806328577751146105495780632b112e491461055f5780632b28fc7a1461057457600080fd5b806307dd79e0116102e157806318160ddd116102bb57806318160ddd146104f457806323b872dd146105095780632610eaca1461052957600080fd5b806307dd79e014610471578063095ea7b31461049b5780630dcbcf1c146104bb57600080fd5b806306fdde031161031257806306fdde03146103f15780630712d1651461042a5780630758d9241461044c57600080fd5b806303fd2a45146103445780630445b66714610377578063069d955f1461039b57600080fd5b3661033f57005b600080fd5b34801561035057600080fd5b5061035a61dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561038357600080fd5b5061038d60105481565b60405190815260200161036e565b3480156103a757600080fd5b506007546103cc9061ffff808216916201000081048216916401000000009091041683565b6040805161ffff9485168152928416602084015292169181019190915260600161036e565b3480156103fd57600080fd5b506040805180820190915260078152665041414c20414960c81b60208201525b60405161036e9190613561565b34801561043657600080fd5b5061044a6104453660046135c6565b610a71565b005b34801561045857600080fd5b5060095461035a9061010090046001600160a01b031681565b34801561047d57600080fd5b5060095461048b9060ff1681565b604051901515815260200161036e565b3480156104a757600080fd5b5061048b6104b636600461362f565b610be1565b3480156104c757600080fd5b5061048b6104d636600461365b565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561050057600080fd5b5061038d610bf8565b34801561051557600080fd5b5061048b610524366004613678565b610c19565b34801561053557600080fd5b5061044a61054436600461378f565b610c91565b34801561055557600080fd5b5061038d60135481565b34801561056b57600080fd5b5061038d610e46565b34801561058057600080fd5b5061038d6103e881565b34801561059657600080fd5b5061038d60115481565b3480156105ac57600080fd5b506040516009815260200161036e565b3480156105c857600080fd5b5061044a6105d7366004613851565b610ec4565b3480156105e857600080fd5b50600a5461035a906001600160a01b031681565b34801561060857600080fd5b5060145461048b9060ff1681565b34801561062257600080fd5b5061038d610631366004613894565b611018565b34801561064257600080fd5b5061044a610651366004613894565b61104c565b34801561066257600080fd5b5061044a61067136600461365b565b6110ea565b34801561068257600080fd5b5061048b61069136600461365b565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156106bb57600080fd5b5060145461048b90610100900460ff1681565b3480156106da57600080fd5b5061044a6106e93660046138bb565b6112ec565b3480156106fa57600080fd5b5061038d60155481565b34801561071057600080fd5b5061044a61071f36600461365b565b61135f565b34801561073057600080fd5b5061038d61073f36600461365b565b6001600160a01b031660009081526020819052604090205490565b34801561076657600080fd5b5061044a61153d565b34801561077b57600080fd5b5061044a611662565b34801561079057600080fd5b5061044a61079f3660046138bb565b6116b9565b3480156107b057600080fd5b5061044a6107bf3660046138f4565b6118c4565b3480156107d057600080fd5b506016546001600160a01b031661035a565b3480156107ee57600080fd5b5061048b6119ef565b34801561080357600080fd5b5061044a611a5f565b34801561081857600080fd5b50604080518082019091526005815264091410505360da1b602082015261041d565b34801561084657600080fd5b5061048b61085536600461362f565b611ca9565b34801561086657600080fd5b5061044a61087536600461365b565b611cc0565b34801561088657600080fd5b5060125461048b9060ff1681565b3480156108a057600080fd5b5061044a6108af366004613950565b611e5a565b3480156108c057600080fd5b506008546108fc9061ffff80821691620100008104821691640100000000820481169166010000000000008104821691600160401b9091041685565b6040805161ffff968716815294861660208601529285169284019290925283166060830152909116608082015260a00161036e565b34801561093d57600080fd5b5061038d61094c36600461396e565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561098357600080fd5b5061044a61099236600461365b565b611f01565b3480156109a357600080fd5b5061044a612302565b3480156109b857600080fd5b50600b54600c54600d54600e546109df936001600160a01b03908116938116928116911684565b604080516001600160a01b039586168152938516602085015291841691830191909152909116606082015260800161036e565b348015610a1e57600080fd5b5061044a610a2d36600461399c565b6123db565b348015610a3e57600080fd5b50600f5461048b90610100900460ff1681565b348015610a5d57600080fd5b5061044a610a6c3660046138bb565b61269d565b6016546001600160a01b03163314610abe5760405162461bcd60e51b81526020600482015260116024820152600080516020613ca783398151915260448201526064015b60405180910390fd5b6008805461ffff86811663ffffffff199092169190911762010000868316021767ffffffff00000000191666010000000000008583160265ffff00000000191617640100000000918416919091021790558183610b1b83876139e4565b610b2591906139e4565b610b2f91906139e4565b6008805469ffff00000000000000001916600160401b61ffff93841602179055600754600091610b6891620100008104821691166139e4565b60085461ffff9182169250600160401b900416811015610bda5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f74206578636565642073756d206f662062757920616e642073656c60448201526636103332b2b99760c91b6064820152608401610ab5565b5050505050565b6000610bee338484612710565b5060015b92915050565b6000610c066009600a613aea565b610c1490633b9aca00613af9565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610c7e576001600160a01b038416600090815260036020908152604080832033845290915281208054849290610c78908490613b10565b90915550505b610c89848484612809565b949350505050565b6016546001600160a01b03163314610cd95760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b8051825114610d2a5760405162461bcd60e51b815260206004820152601560248201527f4c656e6774687320646f206e6f74206d617463682e00000000000000000000006044820152606401610ab5565b60005b82518161ffff161015610e4157610d466009600a613aea565b828261ffff1681518110610d5c57610d5c613b23565b6020026020010151610d6e9190613af9565b336000908152602081905260409020541015610dcc5760405162461bcd60e51b815260206004820152601260248201527f4e6f7420656e6f75676820746f6b656e732e00000000000000000000000000006044820152606401610ab5565b610e2e33848361ffff1681518110610de657610de6613b23565b60200260200101516009600a610dfc9190613aea565b858561ffff1681518110610e1257610e12613b23565b6020026020010151610e249190613af9565b6000806001612b4a565b5080610e3981613b39565b915050610d2d565b505050565b600060208190527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55461dead82527f44ad89ba62b98ff34f51403ac22759b55759460c0bb5521eb4b6ee3cff49cf8354610ea09190613b5a565b610eac6009600a613aea565b610eba90633b9aca00613af9565b610c149190613b10565b6016546001600160a01b03163314610f0c5760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b60095460ff1615610f5f5760405162461bcd60e51b815260206004820152601160248201527f546178657320617265206c6f636b65642e0000000000000000000000000000006044820152606401610ab5565b6103e88361ffff1611158015610f7b57506103e88261ffff1611155b8015610f8d57506103e88161ffff1611155b610fd95760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420657863656564206d6178696d756d732e0000000000000000006044820152606401610ab5565b6007805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b600a546001600160a01b031660009081526020819052604081205461271090611042908490613af9565b610bf29190613b6d565b6016546001600160a01b031633146110945760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b60968111156110e55760405162461bcd60e51b815260206004820152601660248201527f43616e6e6f74207365742061626f766520312e35252e000000000000000000006044820152606401610ab5565b601355565b6016546001600160a01b031633146111325760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b6001600160a01b0381166111ae5760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610ab5565b61deac196001600160a01b0382160161122f5760405162461bcd60e51b815260206004820152603d60248201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660448201527f6572206f776e657220746f20746865207a65726f20616464726573732e0000006064820152608401610ab5565b601654611246906001600160a01b031660006112ec565b6112518160016112ec565b6016546001600160a01b03166000908152602081905260409020541561129a576016546001600160a01b031660008181526020819052604090205461129891908390610e24565b505b601680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6016546001600160a01b031633146113345760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6016546001600160a01b031633146113a75760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b60145460ff16156113b757600080fd5b306001600160a01b0382160361140f5760405162461bcd60e51b815260206004820152600e60248201527f43616e27742062652073656c662e0000000000000000000000000000000000006044820152606401610ab5565b6014805462010000600160b01b031916620100006001600160a01b0384811682029290921792839055604080516330fe427560e21b81528151929094049092169263c3f909d492600480830193919282900301816000875af1925050508015611495575060408051601f3d908101601f1916820190925261149291810190613b8f565b60015b61149e57600080fd5b6009805474ffffffffffffffffffffffffffffffffffffffff0019166101006001600160a01b038581168202929092178355600a80546001600160a01b0319168584169081179091556000908152600160208190526040909120805460ff19169091179055601654925461151b9383169291900416600019612710565b600954610e4190309061010090046001600160a01b0316600019612710565b50565b6016546001600160a01b031633146115855760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b60145460ff166115fd5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f742072656e6f756e636520756e74696c2074726164696e6720686160448201527f73206265656e20656e61626c65642e00000000000000000000000000000000006064820152608401610ab5565b601654611614906001600160a01b031660006112ec565b601680546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6016546001600160a01b031633146116aa5760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b6009805460ff19166001179055565b6016546001600160a01b031633146117015760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b80611791576001600160a01b03828116600081815260016020526040808220805460ff1916905560145490516380c581d160e01b815260048101939093526024830191909152620100009004909116906380c581d1906044015b600060405180830381600087803b15801561177557600080fd5b505af1158015611789573d6000803e3d6000fd5b505050505050565b600254156117f8576203f480600254426117ab9190613b10565b116117f85760405162461bcd60e51b815260206004820152600f60248201527f332044617920636f6f6c646f776e2e00000000000000000000000000000000006044820152606401610ab5565b6001600160a01b03821660009081526001602052604090205460ff16156118615760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e00000000006044820152606401610ab5565b6001600160a01b03828116600081815260016020819052604091829020805460ff1916821790554260025560145491516380c581d160e01b815260048101939093526024830152620100009004909116906380c581d19060440161175b565b5050565b6016546001600160a01b0316331461190c5760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b6001600160a01b0384161580159061192c57506001600160a01b03831615155b801561194057506001600160a01b03821615155b801561195457506001600160a01b03811615155b6119a05760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74206265207a65726f20616464726573732e0000000000000000006044820152606401610ab5565b600b80546001600160a01b03199081166001600160a01b0396871617909155600c8054821693861693909317909255600e8054831693851693909317909255600d805490911691909216179055565b6016546000906001600160a01b03163314611a3a5760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b600954611a5990309061010090046001600160a01b0316600019612710565b50600190565b6016546001600160a01b03163314611aa75760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b60145460ff1615611afa5760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610ab5565b601454610100900460ff16611b515760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610ab5565b6014546201000090046001600160a01b0316611b81576014805462010000600160b01b0319163062010000021790555b601454600a54604051631b04570d60e21b81526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260096064820152620100009092041690636c115c3490608401600060405180830381600087803b158015611bf357600080fd5b505af1925050508015611c04575060015b50601454600a546001600160a01b03908116600090815260208190526040908190205490516312d38e5760e11b815260048101919091526201000090920416906325a71cae9060240160408051808303816000875af1925050508015611c87575060408051601f3d908101601f19168201909252611c8491810190613bbe565b60015b15611c96576010919091556011555b6014805460ff1916600117905542601555565b6000611cb6338484612809565b5060019392505050565b6016546001600160a01b03163314611d085760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b601454610100900460ff1615611d7057306001600160a01b03821603611d705760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207377656570206e617469766520746f6b656e732e00000000006044820152606401610ab5565b6016546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa158015611dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611deb9190613be2565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e419190613bfb565b6016546001600160a01b03163314611ea25760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b600f805461ff001916610100841515908102919091179091556012805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906020015b60405180910390a15050565b6016546001600160a01b03163314611f495760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b601454610100900460ff1615611fa15760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206368616e6765206166746572206c69717569646974792e00006044820152606401610ab5565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200a9190613c18565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612057573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061207b9190613c18565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa1580156120c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ea9190613c18565b600a546001600160a01b039081166000908152600160205260409020805460ff19169055909150811661228057816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015612155573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121799190613c18565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ea9190613c18565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015612237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225b9190613c18565b600a80546001600160a01b0319166001600160a01b039290921691909117905561229c565b600a80546001600160a01b0319166001600160a01b0383161790555b6009805474ffffffffffffffffffffffffffffffffffffffff0019166101006001600160a01b038581168202929092178355600a5482166000908152600160208190526040909120805460ff191690911790559154610e41923092910416600019612710565b6016546001600160a01b0316331461234a5760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b601454610100900460ff16156123a25760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610ab5565b6016546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561153a573d6000803e3d6000fd5b6016546001600160a01b031633146124235760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b82846124316009600a613aea565b61243f90633b9aca00613af9565b6124499190613af9565b6124539190613b6d565b60105580826124646009600a613aea565b61247290633b9aca00613af9565b61247c9190613af9565b6124869190613b6d565b601181905560105411156124e65760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610ab5565b600a546001600160a01b031660009081526020819052604090205461271090612510906096613af9565b61251a9190613b6d565b60115411156125775760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742062652061626f766520312e3525206f662063757272656e742060448201526228249760e91b6064820152608401610ab5565b620f42406125876009600a613aea565b61259590633b9aca00613af9565b61259f9190613b6d565b60115410156126075760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660448201526d103a37ba30b61039bab838363c9760911b6064820152608401610ab5565b620f42406126176009600a613aea565b61262590633b9aca00613af9565b61262f9190613b6d565b60105410156126975760405162461bcd60e51b815260206004820152602e60248201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660448201526d103a37ba30b61039bab838363c9760911b6064820152608401610ab5565b50505050565b6016546001600160a01b031633146126e55760405162461bcd60e51b81526020600482015260116024820152600080516020613ca78339815191526044820152606401610ab5565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6001600160a01b03831661275c5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610ab5565b6001600160a01b0382166127a85760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610ab5565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b03841661286f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610ab5565b6001600160a01b0383166128d15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610ab5565b600082116129335760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610ab5565b6001600160a01b0384166000908152600160205260408120548190819060ff1615612961576001925061298f565b6001600160a01b03861660009081526001602052604090205460ff161561298b576001915061298f565b5060015b6129998787612d57565b15612a9a5760145460ff16612a9a57806129f55760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610ab5565b6001600160a01b03871660009081526005602052604090205460ff16158015612a3757506001600160a01b03861660009081526005602052604090205460ff16155b15612a9a5760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b6064820152608401610ab5565b8115612b3157600f5460ff16612b3157600f54610100900460ff1615612b3157306000908152602081905260409020546010548110612b2f5760115460125460ff1615612b1957601354600a546001600160a01b031660009081526020819052604090205461271091612b0c91613af9565b612b169190613b6d565b90505b808210612b24578091505b612b2d82612e6e565b505b505b612b3f878787868686612b4a565b979650505050505050565b6001600160a01b03861660009081526006602052604081205460019060ff1680612b8c57506001600160a01b03871660009081526006602052604090205460ff165b15612b95575060005b6001600160a01b03881660009081526020819052604081208054889290612bbd908490613b10565b909155506000905081612bd05786612bdc565b612bdc8988888861330c565b9050806000808a6001600160a01b03166001600160a01b031681526020019081526020016000206000828254612c129190613b5a565b92505081905550876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c5e91815260200190565b60405180910390a3601454610100900460ff16612d4857612c7f8989613421565b601454610100900460ff16158015612c9c5750612c9c8989612d57565b8015612cc157506001600160a01b03891660009081526005602052604090205460ff16155b8015612ce657506001600160a01b03881660009081526005602052604090205460ff16155b8015612cf0575083155b15612d485760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b6064820152608401610ab5565b50600198975050505050505050565b6016546000906001600160a01b03848116911614801590612d8657506016546001600160a01b03838116911614155b8015612d9d57506016546001600160a01b03163214155b8015612dc257506001600160a01b03821660009081526004602052604090205460ff16155b8015612de757506001600160a01b03831660009081526004602052604090205460ff16155b8015612dfe57506001600160a01b03821661dead14155b8015612e1257506001600160a01b03821615155b8015612e2757506001600160a01b0383163014155b8015612e4757506014546001600160a01b03848116620100009092041614155b8015612e6757506014546001600160a01b03838116620100009092041614155b9392505050565b600f805460ff191660011790556040805160a08101825260085461ffff80821683526201000082048116602084015264010000000082048116938301939093526601000000000000810483166060830152600160401b900490911660808201819052600003612edd57506132ff565b30600090815260036020908152604080832060095461010090046001600160a01b0316845290915290205460001914612f405730600090815260036020908152604080832060095461010090046001600160a01b03168452909152902060001990555b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612f7557612f75613b23565b60200260200101906001600160a01b031690816001600160a01b031681525050600960019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612fe8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300c9190613c18565b8160018151811061301f5761301f613b23565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b81526101009091049091169063791ac9479061306c908690600090869030904290600401613c35565b600060405180830381600087803b15801561308657600080fd5b505af1925050508015613097575060015b6130a25750506132ff565b6000479050600080846080015161ffff16856040015161ffff16846130c79190613af9565b6130d19190613b6d565b90506000856080015161ffff16866020015161ffff16856130f29190613af9565b6130fc9190613b6d565b90506000866080015161ffff16876060015161ffff168661311d9190613af9565b6131279190613b6d565b90506000816131368486613b5a565b6131409190613b5a565b61314a9087613b10565b885190915061ffff16156131b557600b546040516001600160a01b039091169061d6d89083906000818181858888f193505050503d80600081146131aa576040519150601f19603f3d011682016040523d82523d6000602084013e6131af565b606091505b50909550505b604088015161ffff161561322057600e546040516001600160a01b039091169061d6d89086906000818181858888f193505050503d8060008114613215576040519150601f19603f3d011682016040523d82523d6000602084013e61321a565b606091505b50909550505b602088015161ffff161561328b57600c546040516001600160a01b039091169061d6d89085906000818181858888f193505050503d8060008114613280576040519150601f19603f3d011682016040523d82523d6000602084013e613285565b606091505b50909550505b606088015161ffff16156132f657600d546040516001600160a01b039091169061d6d89084906000818181858888f193505050503d80600081146132eb576040519150601f19603f3d011682016040523d82523d6000602084013e6132f0565b606091505b50909550505b50505050505050505b50600f805460ff19169055565b6000808315613322575060075461ffff1661334c565b821561333b575060075462010000900461ffff1661334c565b50600754640100000000900461ffff165b8060000361335d5784915050610c89565b6014546201000090046001600160a01b031630148015613387575046600114806133875750466038145b1561339157506111945b60006127106133a08388613af9565b6133aa9190613b6d565b905080156134175730600090815260208190526040812080548392906133d1908490613b5a565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b612b3f8187613b10565b601454610100900460ff16156134855760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610ab5565b61348f8282612d57565b1580156134a95750600a546001600160a01b038281169116145b156118c0576001600160a01b038083166000908152600460209081526040808320805460ff19908116600190811790925560069093529220805490911690911790556014805461ff001916610100179081905562010000900416613521576014805462010000600160b01b0319163062010000021790555b600f805461ff001916610100179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f914105325790602001611ef5565b600060208083528351808285015260005b8181101561358e57858101830151858201604001528201613572565b506000604082860101526040601f19601f8301168501019250505092915050565b803561ffff811681146135c157600080fd5b919050565b600080600080608085870312156135dc57600080fd5b6135e5856135af565b93506135f3602086016135af565b9250613601604086016135af565b915061360f606086016135af565b905092959194509250565b6001600160a01b038116811461153a57600080fd5b6000806040838503121561364257600080fd5b823561364d8161361a565b946020939093013593505050565b60006020828403121561366d57600080fd5b8135612e678161361a565b60008060006060848603121561368d57600080fd5b83356136988161361a565b925060208401356136a88161361a565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156136f8576136f86136b9565b604052919050565b600067ffffffffffffffff82111561371a5761371a6136b9565b5060051b60200190565b600082601f83011261373557600080fd5b8135602061374a61374583613700565b6136cf565b82815260059290921b8401810191818101908684111561376957600080fd5b8286015b84811015613784578035835291830191830161376d565b509695505050505050565b600080604083850312156137a257600080fd5b823567ffffffffffffffff808211156137ba57600080fd5b818501915085601f8301126137ce57600080fd5b813560206137de61374583613700565b82815260059290921b840181019181810190898411156137fd57600080fd5b948201945b838610156138245785356138158161361a565b82529482019490820190613802565b9650508601359250508082111561383a57600080fd5b5061384785828601613724565b9150509250929050565b60008060006060848603121561386657600080fd5b61386f846135af565b925061387d602085016135af565b915061388b604085016135af565b90509250925092565b6000602082840312156138a657600080fd5b5035919050565b801515811461153a57600080fd5b600080604083850312156138ce57600080fd5b82356138d98161361a565b915060208301356138e9816138ad565b809150509250929050565b6000806000806080858703121561390a57600080fd5b84356139158161361a565b935060208501356139258161361a565b925060408501356139358161361a565b915060608501356139458161361a565b939692955090935050565b6000806040838503121561396357600080fd5b82356138d9816138ad565b6000806040838503121561398157600080fd5b823561398c8161361a565b915060208301356138e98161361a565b600080600080608085870312156139b257600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b61ffff8181168382160190808211156139ff576139ff6139ce565b5092915050565b600181815b80851115613a41578160001904821115613a2757613a276139ce565b80851615613a3457918102915b93841c9390800290613a0b565b509250929050565b600082613a5857506001610bf2565b81613a6557506000610bf2565b8160018114613a7b5760028114613a8557613aa1565b6001915050610bf2565b60ff841115613a9657613a966139ce565b50506001821b610bf2565b5060208310610133831016604e8410600b8410161715613ac4575081810a610bf2565b613ace8383613a06565b8060001904821115613ae257613ae26139ce565b029392505050565b6000612e6760ff841683613a49565b8082028115828204841417610bf257610bf26139ce565b81810381811115610bf257610bf26139ce565b634e487b7160e01b600052603260045260246000fd5b600061ffff808316818103613b5057613b506139ce565b6001019392505050565b80820180821115610bf257610bf26139ce565b600082613b8a57634e487b7160e01b600052601260045260246000fd5b500490565b60008060408385031215613ba257600080fd5b8251613bad8161361a565b60208401519092506138e98161361a565b60008060408385031215613bd157600080fd5b505080516020909101519092909150565b600060208284031215613bf457600080fd5b5051919050565b600060208284031215613c0d57600080fd5b8151612e67816138ad565b600060208284031215613c2a57600080fd5b8151612e678161361a565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015613c855784516001600160a01b031683529383019391830191600101613c60565b50506001600160a01b0396909616606085015250505060800152939250505056fe43616c6c6572203d2f3d206f776e65722e000000000000000000000000000000a2646970667358221220202a724c17493630d4613ec102ea9cb7d903ca33dce5d818196e814f2bac465a64736f6c6343000813003303631b05ef05879cd870e6c85548a567e2f3b19808936eb06783f891278ffa2fa2031cac64dfab2daff5e82cfb274f6a1c2bbd8a07ab43bcf88373e07a7b770d7a23037166b3a1fa3558adb94f21b0f0f08e3d89a3c7003dfd5330d948a29362daa52c032e9eff117678b3fc4803b04efce91dc65f14364d27ac325159e446197fde8f9d03ca93fc52fc1c58a54dd46a85a015ab4200cb9a9f761b07d1972bd71d7d7b115b034e5da280888513da1077c7ce639cb99d71b98ee694382e7ce0503a7b19289d0403984d25598d6d29216db8d50dccb95d6d6cea7323d115c646de54112dea6b13ec03fdac93ce4486ce6b4107481b5fb5af5f7ec386d8e2db7b8818c33aeda0632b3603b7cfe5b871d5cfc7b7f5cf1c5c8dfddd0143720c11fac0f65b9b790405e37c4503697d643579bf9d53543e33b265b7c07f8a34971238f2cd808e5ef7befabff32e0330306627af874494d7e3964621de95718e64ad9b78b402728f8b64029e3b3e0003022b61401c3e46eae53f306409af122f839cea9a28717c0c5e22afc6dc87d226036583b0b518c2492de6c679f1fa3ca2824d2c59bb5354f2c0cb434505d56653d3033ce1f866dc3a1396dd9738e95a9a5dc56fbdd7d43d076fc1f697cb39e91fa74103bc523948f084561f818696d473614faa72f8f3de4a2415307244666da4f651a303dd0ac0a113ba7ea164ef78b9cce5e9b4807e7e74725bd0f9521daee2a808e8c103a2e0efcc6e7d07fd567489b8f3b1885892d8f42687f89daca39dddca4305244403e89b049bb0260c475c51b6ad44f865ac842d42762593921fda231ecb6b9fdd5600581f0202921f262096fe0788cfdc2d3ffd2aa858a531b8a68608fe1058fe37e4634601933ed1b86903c4c389022305b35d9736aaa0fd6719a0ae078806d27ae4dbc0bba4a93326c42801410b0339cce21c2b7b8c634df041e7cac1fca4c7caed78262c21e03f47f7bc7f550a2f03160f95dd273e9b2fd2c58a05546c98ea42bc754eb33706f2a242e6944312c94700581f02f991f89f81a97db6711406d5b01e7b3d7155bc4ffb7cc628282f4813e24745d3aa85d2a1035cee24341c0b4ff5aea46ab01eed7c67e5f47abe6b7b9159c5e23d464dd752c600581f02bfb2f5a2be641c8b1f957da8e4563bd090f943e8f1f0a865ae224a830f6b46058db2e3e25803cbd2d5e7731f66f0b69d14861e224689acd73bfea2a0656c7b9700d6d9d437c000581f037dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67204612309ce5400000581f038d805f237a326b76929894801fbf9a9cfeab9f1a7387da054627eb12881045212682b5f50219081000581f021806d18812dcd0a6fb27d441a9f0c7a007cfa44aad87effdd46b25c8c67345503c47606c032300d6913b06c162169681cd73eca502a4e54c3cf90f590c8ad195934e713ff000581f029912d79c6fcf8bb4c72e3c9bc10c2ca089e8a83299de35badefa627408135820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03beabb220979c795521203fd4964a93560cb5a31a438d9eeb79ae91df302bf38b0329eba66f52c4c52d3f2348ae49fec798d35128a590970d445ee48ffbccf5881200581f0201adc6d09ed45cd3811cceff48497a1cda9f0e43fc246b9de33a101686b546012af785f21300581f02bcddb8ed639e8363afd3664b8c1b0346798305ce6b5582870cd7a777902b450a7a3582000219ffff033bbe92512b1c57880627ec09a90bb03c0ced1da760890a6270855434c5e2fa1b0372c686e25363f47b7ddcea32242c33c4b5c2bc49e4f88597e40f6e26864d5bd003f584c962acd4ed93fb51564823ca6188826b119d12238bf09c1f781cdde45338031254d912762420d4176abc4fc3567c3a59bb65a275629c8d75e1d9b27265f151037957f399b4d9bbc9a656f5013d6050ce65fb2cd857da65463960e20b2e4baa8b031c5ef61b06b1610566a14dbd3a243443921b30cf5b24c298c7e0b72e592fb6d103df3ebae9b03aeaacf33802ace846096e3635e21122c1c87a58bd64c7abb267aa03e4a016c75f94a08ea9a741d1ef3d74daa71de53977ec8661b81b597def10668a03b042b1182d336372091e411f511631cc8db0facbaf0f45a2abd8bd7b81bad0e10219ffff03e189cf1a0a4ed91d0eb6d32fb0fafcd9e717fbaa3b827e2cccfd4ad4e6986cdf033d3d6b6eb8997992b78ce2725afa18a0ed6e03549f17eb004e35239531ce1c56036e3573e0ea81e921060dc0bd3c4d8a4ece0e68211ddb9b49b5496a668f4709ad030375c873d11622616facadfa4440f077799125c9af74f204819e581f8daaf9f40219ffff030e21197943ccce46173fda1866cfa8a52d5d47a608e94342113cb4dcca3c5169031082cdbfb2a12fa30d21345979ba898c804b5cfaf0f6c1caaaea7fa05ce92220031309ec848d822e0877019bed836e39672bb707445b8e9c88673dcfe24f18e45a0334a4e1f89b1bab3ceac9e448f37c9de7ca4e3a7bc09f7ca5208959b8c4de02e9036bf0e01469fde19b9867de47c6d8b6bb8132908ed57c117b8c5795210dad3b8e036663a9e8801ea90d3ee7fa5b28d7a8f94cfbb4880a3b662524683cc73bf6126203bc9f30fd3b06aef3517c65c9f8fcd9107f18c669cd1e5495a029d0f07ebb4d9c036109bebcd3955b5e5edfe67a4bff3e8700b22ad7a0447f0686803abd4146b556036c9db749ef64ac0858bd7ab2fe49d7a82dbbb38706a0fbbffa7f0326b969bdf8037cc2d2b0cb29cbf8f2e4c714663a53fc4df4a8130315cf0f7d0feb3f9f7c8b8003c319794e623397b5ac014b4e2813e1c5678ca6cbd03671745f53412546adfb52031c5e89af8c9dcb32771031b8fba8c530f277effdfdcbe18b035786736e5b600d03954ce94d2b8d9593c24e6f84f9fc8b770937b28e8337f0e249bc580e1f3bbdb103f1bd912b3e745890b8e97d5711a2304521cc187ecd7707f9cfcb54a494aa5820038db27dc4e35029b64986c4434e98591ca9bdd9b49eaef81ad1d2ceb42a77c8bf0396260c3eb5131a1cd11b528276ae225c1d2201d123cba04f9118d8ec3ddef4a003fbd85fd38735b680a9d3404eb340ebe726bf3cb494b38d3d8174d4e086354ae9039494210a8ac8abc9176f7c7d0a656d16a202e5fd03c527eb5689418c056ee3450395996950dc9269c43df2768f02491286fdf26588295bd729092d74febf914df500581f021470bf47bab1ea8f9df44091c780a62d29aab47e5a23594f2999434b001e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0220f62f38d7d17312d38e95e965647850dcee51479970b43be39bc22c161f45c53a19ecd800581f027d561c722488125ec0d39db8cbe7c5513d956bfe8d827124232f6b6185b5443b9aca0000581f035d3230f5abfadf194311c10a7af21aa62923c80ac0967e99c0717e73fa904602480f2eaae500581f0343ec09538e2e578dbfa822364f14c51671b38bd19f7f754406e9711977a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03a52771a39e6f019c23d9d29f94def8c3301f1abd6bc816ee0051929278705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219012203cc2a231e62c0a06ac125e44a950784960fa7c0cca7fff14e416d48920ccbb88c030669040aeeaaa9e0e21808e3957c731478128ee0175a30f16cd3e2e3ba8e5495037170ecc42436950aee5bcb241250397cdabc73bc336b4561feda56158dfa68bf00581f02c324256940fbb2eba1805764b4327249c54bacbeaca30dafdbd6728719c55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0263ccb43e3f05ba95687f8c414f2f7f05fd5b0d6f7552fb1caac00a576ca44545e4b1c51800581f0272a090ea3e25a09593ca121664b24acaaff355d5294fe069ed9fb2dcc2db45629bea82a60345b889790fbdde4d12d68d63daf80160c654bee19f2aec8e481f8c645a2149f900581f026fc1662e086b510822e5c299cbd892d8e3f0866f85957b58d38e94ca4b9d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c7bf037fbeabf5a947b82aad97f1d656e7d18e89682e29a25ea6347fa9a5a89cac4d93037ea6c8f004ea4e7f86ea4a01c16b9bd3d67ff6df9d7ca5e6d16b2f5d31f084c50379dba3a475722e0421b9dd26636b6c25ded3bc7fd3ec79122e58684bb3a58cdf036d223a0ed99c1d953d61595e8bc56d4ecd4226c8716e11f5797ff682aa34355003398206c62919e2b98a7833bad640fe517b0eb1491ee0bcaa7d0c58e9cd3045b00330d1cf63f0f6bdadf27b2380d3c8a0ac8341d1290ed6a1532bff311518a04ee30338b70274dcd4eb2ddd74ee5468b8cd1447ec7de2cd3b691611f1168da85e5615036cb261e8929c5502c07ba08e4ec11e524b76a3e33e97feb94a547e207a39e5e4035b82cad3f08996109c6948d95da7a0080307d0e84b311bfaa7e3514b136e86e70391137abad280bdd38a8b0535a1c5b556b7fb6a9b321d7fdd1c16cf6f140e1c6d035ff379159fbb12c9896ecc679544dcfaac61f6ddd5b295e7be6b72a127182142032775b954dc8c14c70e361c3a3b7c74013b8154f7503625fa25c569c2f48be0400219ffff0219ffff035f587438db73f413c611c177edb8a76a5b570bebf787497900866e056e6c404b035de719749bdf567aa478683e39c39cc4e5dc8ccb52affe3e3fd65d841e15023703253efb19f03378879ab766fc0d256278ea3dc6aac7150c449e17c1a912659e0803ef8e55439cc2eecde792eea493fa61b386315fdacc368789c3865ff53a27acf303028750e86390e2bf3b2f3e506e9923613a5db1394ca9715cf34bee76a4516e5803982d304e10ad8d651053a17af5db064bff7dde1e4b2892fdd35f577f9f1d1617031561e7c7ef189213e467e11ed6283711f0e5c91f2e3915fc19d2c0d978a2e18c03c296cc5ca2083d554360f8dc323596cda69aa5dec7116b932d4133f3febb423e03cfd4c06d128b08e47afaffac6959a0c895bb3b2fda73d2d27e7b841b2342b6fb0311b649bcda3edb9b1c75790ce42babd97671854b2de2a15a6f1e9540d5e432c3034034c99c59d63f26137ca90dd49124562524f618763b74d7c68e04786a743b9c03b8257bdc5ef2c4fd80f72762c2815dcdf6719ac6fa3083f84ff693cf5a2e50d303849c1c36b080bfc5eff010243d45bfb0b4d69f743698b88e0b6fc9309394a15603dcae5ddd4b7459aedf78a1af17ec6bbbd7dd99481ef1b1420dc76a765b0bd4a503066a05ec747820e57b02b215ac69227bf74b8a50e9ef5142b5220149e624564900581f0271cfcc41c025b90b1061dd147ab54c301618097ff6cf28dcc255fa6e27045820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f6ac32d35104fe58ba3e5a65820b8b77bcb868e1e12c080953df48c140eea3440321de3b83da6eb6b5314561f90151780dc534c0a169dca8a0521f1f9a7e7225db00581f02fce180dc537b11f5865ca22a2aa86e3e40e6262c34fc3f265fcba90937d6461890235f46d403d869aa8c445b6d2cc1aca22445483c3e0d238e6df77d23a100ba96cccc38300100581f0214a7828fcfa5271d63cd3307c532681f28053cfe33027b878dea83c1b2564601be308ac14c039cb88b6790bfcbbaff09a8c9301df5abc7bec1e7b561b584593d9ebe5bbfa91d00581f02472d3c9248810225bebbac5c8dfb0bddc8195359cd9bb72c21cd2f676baf456ea7e0c20d03bd74afca55c21c7e73de30da7eeb7922c3ccd8662145d66fa63c8cfb47f4d64b0326b56f57560755e3690019716f3af10a7247a781872ba635725c3a480cd3592f03e186363f961b59bda04832e0bcb309a27029ff359e67557971f40a76649e804903d213adf991b8a917bce727f37c9cbe50199c1a42241ce8f634630b20900ca7a80219f5de0370a90e89a66e5c612b9e5d66c5a7a0f62e202ee1fb317e30aa3fc3bf3a0d7a4303745c2b11a09a8b42f4a555b51731b4a3d64e23b30c20f0abd277b26869b6892e030a058f162485288118316a513725233f4e4fef857b9c677707857daf93fae07d0314c7df2d478f34341b43b8f6b2a8a5ce2d4dd827b2bc9b33d8008fd319514ff703a77526c7af04882312d523e4b590108ed9a7505c4dd02194d44256c618e964b3030317fb79c32e4dec260740783d42d1b31cf54a95591745ab06fd5f5c80609fb4037a2d2c08f93d3275c3cf8b99444c7a35adc7a752af8e50f22904a13fff8e187b0219ffff037ef931abe3296c58ceb76f980b1afde3ca64739eeba930a75bf313b2c550e76b035d4a57d6808f6ce6b42b805893a4052412a87a6a9b06696141bc45645dd5129303e057680ad3f2172333a94901d00c5defab7f5d07bb3146449c73422aa244b2d103e1e1b735eddbc7be1d3aa10a491b6f0930ea108e00a5394de1c677328bafb174030bd3c90ca7e521debafaf0535fc56a43b2830f1ffb5ecc8b9e80fee84d1ee9b8033322c5abfdc13d026a43b15f829f9bfa7db6672ded5fc65de08a60ea9149b60603c6a95ae29c28746361bf29a99681bb831a43078b10c770e6c55fe375dc8fa63c0381bda334e41f175956d0fe50d1c0884ffbac285b15f09f9bdb38495c40c85fbf0219ffff03bea8e67c73b6a2b1e55638ce65555e031ff27647df8cdde73ee83347c37762680317578a9d9fdcd04754f9526d095ef7584b64ce48045d387caf46eedb6aefa36003b3adf507897433253cee42bdc7e58b380e25642d43b2a9e13e6531f394c803890314562574150632424c0eaa78c3c77005856e7e542fae1cf6ece0e55d37819bfe032008b77950360144cead0aeb9b10921ea6e5f10e869798bc5dcc9a735794594200581f02c47ace228ee72db7c72361ae63af8e129842dee3ca62bd63bc8d7624981045e8d4a5100000581f02f9062be68700299e9956ea8f7cfdae038aa3f26746a29082ccd3a1105fb745061c44cbac03c07487adb63f39d1cb80eb838c0bc45c73b9cd5e77663411116e69226c04da5d035c95b394c5b60ded99c9676ad365b3134b04ad92438af809c4750d97ed374f2400581f027c43352377b034da47cab13a47c80da9e9edd9e396607f8e43ad59608d674602636cd2aaa3034ae068fe8bd9e4627c69f15126eee0fbf6a55acd6951628b8a279e06d87e144700581f027d50ad750f698eff685f8960e3bcdc9527f177c17e22484f3bf85dbf8e2a4537e566ac8100581f02235357cb157b399a323f64ec103a311fa3f0a276bba383546d75ae7fb9bb454e3b29200000581f033c38491621dd5f877deccd08386511dc605fcbf4035a26a03fec3587f06042b40100581f033958bd07234f1e83a6f9b4b1003383bf8c03eaa6bd6993d55d1c4457e2204601323830fba90219800403feb0503a81b47c145386b4024b999d04a9f2ed74839107b43daedaef54b8292f03b6f9a9eaf74d9e228357ed1f8034d660b9b915db34f65441e5876e4067d9be0e00581f02912d411e62272a8f75cf4a442ad30081095bf40cca0b8a07ebfda39701f14601af123d57700219bfde03899de1191e266ad2263db984862fa408791ffc97b338034dcb42d4a0aaa5f7ed03218f30c82b099330e870ef778881aae1a27ea38862894e038bae7b96613c46f303bf935a5abb4b7ee4f6c2764bf533298f4c93cc6cce866afb713504e6d936121b0390781117a50ff824d5828e82b7ba18b6b1afdac45010c50ab443f6d23677528d03c868339f29979278d0f042d49eab997c7414277b98ce550406c117b4783c95a703424127a4d81bbaaac94e269d27de0b1d8f0ac4ec75db8cdfe6b41b80b57ba1b103f8ca3b5daf1146ad6840f2702ee53b622042558b6bc04ca36167d224e5749c4303b58d9fc4e14c05129a5eb7d5c063318d5383b1281847dfbe754d24ebca24475f035d39bff2db4c8497dd6cccdebad4e7dfc9b400af87993c62044b7fd08edb3b240324462c790309659035cd7b981ad525b2b01e03150048aa47d0365059f6da02d503c1afa930be9fa11e3c28e5eb21042f9610e93e08ea88e599361e28b498ec313f0219ffff03da7c1484422eb65252cbb7e3c26945311e78c064cee2a97fdcdeec444a2e34a8036daa0e6e3bd190bd2a59e058ecc89c6780517c76d16fe19222675921e6d8915e03c1dd806109bfe86cd7f98131d86b011620f3d7b15a731e001b40fa76124352e803196fa793bd9774cce7e58d4d4f9b39db183968331aa06a5a9433455aa9c466e4037ae7dc833827839ebbdb1b2e346f076e24e712054cca803e31082c8e3c3b1452035585c671e1b25d7b56b079dc2d02b02b4a8b7a41dbfa2e4a9c262f06af654ffa03f90ba52bcbe6b017c9b60250d9d2b0e4e03cdaa09205a2ebea186aaa142e3d570337b79aa8ebab520e6debdce6c9069785c94d312f0c734270a6dcfec80112d9f4033815a872cd810c9c283ccf7c2c7e5add00d2bfff2c870ff21361f3a10ec5de8503a039bb4aaa7ea1c575cda9b2dea9ef71f43ee16f3e96b28a018032fec41a31b303152d3b54726bc16e54ba52c30771499ffd48614d1c1d995fe94489f246c538200387249623e4480a5768ef4765f27be8d4742cf8625ac97d81503a53300503592a0369b0ee138f40f7ba7fd73a46a4862f66c9e4b0b75513a5fb5dca374b85f7faed035ad35f69509aa598819e266b87145c43c6b66387e7e8c4de8718f34af84facc303e8f739515131f0ae199eb276fe168e0091f356e5df9143ba8f4f9d46848389a5035208324030d077d9ee2cd2da86b633c8faf80b13b36ee617e3890584256fbb1503b7bec728b9af0d944b629dd0b67ee1f44fe68bd3e53e5507600c4d061d926c9003c380821622d775a1a00a9a4d1a1f4ca5f4d8654da1b1c29d0daf68c77c1c6e30033b1ba068d0abfe7cd3af5ec3517812b719aae374eae22e6d99588b008e775bbc036e37ce09ccd2ea6e7c9ca9222390a3815b744f3aac62fe6d16e783f1a62ce1f700581f0200ddd02deee87e4df8ee0dbbd1755325aa6e59209fbeb7718f095ae4deaa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03570abfb3a13809c6f247757b456cceb79b92e5da664f7a744af67b95b7975af603cd602e00967b137b4b00b21ed6e41c954aecdf53067dc6b725621554e3aded61033e4d8e6b360ae0b1e269dabc4d1cda4d7e9d5b090c23a7cba1e509daff6cf0ec00581f03ad71983d0b0fe6963a31e6a0ff3f5fd6098c41befed27047ea595ef08f1046205dd47c8e2000581f03f30dbdad802b84b5ae22ba2785d78f5b988d18bf34fcb4c308e88bac59504608087b59ccc600581f03421362c6a05fe6d92bb3a8a679d9e20bf0fcce72782070154776988fd7b0465afd9363334002188a00581f022ed2aab315cacf5260986362afc76f3716839abd5517be3d60b270534a02460391ad7b126d00581f02f4c7dffdc39595f82b0800b0c781deba5cdb1c3726d83092dada124f9d7746272a3c34c4bb0350b4e4d03b71e0a4cd89fcf3b19ab363bcc79098fa072b7e6057d698328622fe031b402f8bbf2946e00167e73fb852d638afd969869b434f47420220c8d7647bce03436f9a5c251b5a2297cdf4f1fcaea0e81b68aca305f7c7b42debf56ff3751da40380efe1fc1363e5c6ed31a9731a5a43a5eadea21a8186258e3f44eb30b4d4d47402197bd5037448d984f5875d7fac5e71ccccf9938461248c66f23cf1b347890cc7edd1bfbe03c4af7ec55f3204d96539421f88a20b6f5d7306478006f0a04562b6bd7033907703058eb3eaad4a529c4e5aa6015e3f28da87110563e4aab2ca37f3f3a53c09a15503b0af1a333944c0c1aebed73c38c12958c71a3c10f317268eba700d36e28b72ef0219ffff0376a7a9df09ed46a558f9891bfb79a1aab1ce511091243647724bf4ab891be96003cbb117092ca3bdabb2a7dc01c8e01c000e5e8ab1decaf124c1d453320d32c1160338329dd43b6d6f209ec3b1df808216511e851b500c9df5644e0d3abcc824762703d7cd0d6c6a036c3f3399e412761c7b59c286c73b059f74f5564316eb27c75d7003a389ef866a8c76f81d28e824f78053d7ee714435eb1e856ac6aa3e986ad466d20219ffff03df11ce2d77d9613ced1a19ce2ff118248372532f9aded82b705d786b8e49421a03b89eba8965c2338ffde005fb4cbd280feca554ed3fc6cd787b1c42701b32b21f030e5a7a9f08149ccc03b73c0edbb6ea58b434111b60fc3cfb54e6d183f438951603faa9b68eaccb44db23188f8f4acea7af97b170cb01329b21d4d31ac9e74bd65e039a3f6606a821add8ad25d9cb36c8aa643a98439e801d70df4f21a80beee7e58603b47c6ce6b0132b82f0d415c52d26ecc5c7abff30413aa84fa37a6d18b134388e033c917ce7877e6fb80f96c5f1357d2ce1ebc69526022c363f93ece2bde7606e5e00581f02f7d3e31c02fd79e317e0ad24344a7ec212248963bc4973f4e6bed9be4a654580a8075925034271c0812753b53e0b61c9f33a91a664124194bf33dd2afe83af8f1964278be900581f02566fe3290147ac3dcb31af2ff4c621cceff8090884fed2c32b319fb7ad0d460587cc3980a5033eb161b9b57b8af5615f6057cdc99f601db4a32c44f063c6c28570b2caf1314600581f02718e7eeda0200851d6f7f40145684e4396380a97a7cc5e2be917abd56d50460246139ca80000581f020416955f69d6dc55fe7e0231bdc762d9278e32e99a1b88de8a3f003975e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0323611c28e52c13d81dafa7890d5a12b1edd7f41a6347d2c269b4f8873fb1372a0371780a5b619c56075ddc9c569ae8663ff9c194e8e3309f9ff335bfd94caedfd5030c52b490cc69487029c273a1eaac475df54fdd8ee847aef89bcb092ed2673d91039ce5008f37ce122d4e4db98b3aad6bd73ddaa5abbd8b080f9fbac8acad74282f033fab17c9ff77828767031523cc11eda51c2ff6e0e08a971f0a6239126a6d18710219ff7c031de22184f9be77221500d521f99bb6b0fbc56698a1f516b7cec3f13a19536de503721c3314c09821bd6213f1b5211677da1ef0c4eeba37225cee2dbe69426519d3038bc77637b0a6f73a29df66c7e6d7da5d55cf6487764f1e2952e708c2aa63892a031ed12514a2abbc334684809d1bf4568059e39ce6055856ac92dd4fe0f03da8c30350ac557aca673b4b303e6588616b338a6298cbad34a9f06c612fe1e7f6c0a57503dee88610359b5dac3fd960dcb48740fd8fea39dd69cb054bc4147200623d3db20312ce7a11cc12629fb1ce100639cfe132b1652994c9cda94af4054f9a69b019e003635129ecbb7e46d63acbda3b0552437cc7cd9fd219716ab8dde28aea91162a0c03ad73b7197224409f815d16f839961a0bff06a108b5d75e871deec11042e8772b039f3d8bb2cf904c6ffcc0fb1a4c687decdc8ee67840f298d9c2a4f8295ed29d6d031154fb8c95bda90931535ac03299f541b924933c46df18fecd4e2017a3249f6f037aa9d3b4ea27d7c162617e844606f39f141beeda06db5c76167f9d9b58a5d1b503e9215c5b2d31ba83db3034283b91dbfb5820cda04b25b8946457bc45026596b60219ffff035f5841cf1f26877e3d8b4e2bafbce73aa86dc721c746c38abbb02e836c34065303b002e87d014db8b3127ee7c092952d6d2106cf9feb4583ba49f6c1ac1a5455830331b318b39d436706b855ffd3c4ed82d723af2c99f5d68931625be2107fef7dea0372dae2b36cdaed6f01697c8703dc12de1b3af9586d47a7fa6e450b3ad46ae9450362859abf36c52eac7ededed2c05891b621b7aa95ba9b5a430da635400820d1f003f75c97527770ffc344dc6126a6c92c6ca760c318e1f4e43d619bd1ee7a405bfa03c8e9842bf6dc0859414d4e9d00858630baa9c7703164b7664723a4063d12a24a038e3bfca4425279f59ffa500ad3ae8f62f040178f4613dae9e0cf500a38e596e1036f0ab5d89644a9b6ec01c0f16e1226048b9155843e808fbf1b971e5bc788986a03087ae9f4c31d3d876cdaac511c25f88bd50fb4b60ae38a62a69ef2504af7d7310338c1464a9f1142c72c0e157424a8d4581b9b5316f52fb7614bc9c12860cee0fe03ab6d79a104b9b09948ddd94dfc07e11f9ce23b4892b1968f375d3411628b66130219ffff037b91bc2515cad3c76551019f5097d3374fe0eea0494de0eae4f99f804f1f55d703e09ac766790cf62a0fd4fe3b0bc0eff2f30a48a573c59d83d5fd133a76312f8b039071b46f59af7b6605cd94d5f32a3baf3c005dc618b8907970a2db8d5892836503f214e1b5804b0ff1ade643f314e1f4ea8fc248b3a5b9d929fdac5d8ab06144f1031a0a053ec17c9468262fc39211166b01571b71fa204315d522dcc9b2d60ba6320337769678f40473bfa7494b2c3b1ec4a6875a84652e3cadef1330d5f56e45a2910364dff0df07fa26a7b68e9d5d15a9a9dccba687313545c02bc783943e36811bff031b8df7df11bb707126879dc2a7ec351f970c11c72ab43e2f5d5effc5a6236f4c0332356084f34152aaf1b3e0f76e9f7d97a82c5830d71d3d4ba40c6f0bfcc15a14035c30a6ba478252035842815f35b564a2e1869dcb9fbe64324c652ed20cd276e903b46d029d29fcc9338fc407256df378b8a0ded80633cbd98ff9004e28ce28fe1703cf09bf05422cac0d7e62fc871837fc105697409ff67fa63bed89da36fe871931031185554941b75f0f679e1233c3ec95c7940966b9bcc9dc9aa699180c224a12690388a225056814e6c35e9eba3a392efdd266b011e42b018c06690f15695ec96ff90318edb26f3ada40ff708aeb6016de5f00746c220e07afbcc4b8640d196f61567100581f0279733a046d93104e120fb6ed74c5d565feda2d02646623e2510293c6728e4520a51574d400581f0208e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80242010003e35942feeeff17b82882fb6ca18deb8e98d81448969a58e88154b98d16ce23fe039e94b92fa9e81bed64dd521cc6b8052e293dd64295b13b45a03eeb4088b7231503f81030f20a6c43199b57e97cab10663b776280d22f8ba7aa8560750eea657fdb03bf94ad1d384f8cfd473dab51d59edf2176f2a5c3ab378d127528a57efc5d704c014200ad00581f025080a64b52ae5646e8521c3fd0064276345e9679a5febf3e585cc955e24545979b55c8a000581f028751cd18f50c3b9e5a89e459bdb7d8dcbc382404e0dcd2ffeb7937538ff65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035eb816cb30f55edfa20dff7c76f81d9e7282bae403f5b00a161d66f65a843e00038a31b3331ab50d9a00dfa8115a2b3a81d1b41c7e23c42388930e210a70c4f7f300581f02a02408fc04296aeffd482312f50cbdba744f0102f6ebeedb1c3452918ebe4609274b2fe04b00581f02706febd0e23601fa7ddf60e12b96354d89da6daa2e4a90bd5a1ed72a8b9c46011c3851ebc20310f6245a990f8367d5657addcfd4d09849e9eee4c6b222c994a416f947bf909f0361b3236cc364349516181787a895a1cff33a46d28d59f09927b907393bc0630b0219e7ff0390b947799111de7666e2432ee8dc5206a1205cad157e3294f59be7566ff3691903858e950101a9b19a6636df23d2b1f253d21154e80281da3b4ceb4999b3b7b0da035c2078e371fac301cce6ea0325574a2bc62b2825e5d3a27169abebfcc2ad8fe2032b2ef2343bf449c0ffc2e1d159b240c7d90b546eeb9f0ac8bcdcf2c009a33855039695bee7fa479ba89affd3f12fb5370970ee5de669a1315c2a4d0aaeb09693e6037d9b31cca1e161ee70051879b0a850c390c312cff501a88e4f0123efa651a61103768d13e4ba23ad8dbae837aae89d0b0a829ac491fde08edd5ef5e58587a22fea03203a0f4250e190dde6a520acd19b36b0da7a7d4799ad69bec65f9d0d5b8982ef03cdbf60250376d449f0b2dbed1e49ebc6dfa2747ba2d1ec3aa6c9dadf059dfc1203782407522d756e1f6abc0de2c80cc6625521637649b3a0ddbf1bdbe6158f163203ff8e55a6b6f43745dfcaab21a175010dd8686568ba8b9c0d1fc0cf4c457af0f20385c49ad7da27577201ecb635a13ef00130cb7c565dd3a8ff442be1bab96b6a560309d9350353f0899a80bd413bdf7527174195812c997bcc23e6f13480d270e45f037890f673a22848e2344fd237dc7e7cea9f2c82b6c36e0f57628bb65c59115a7d0219ffff03ba4a94bedd357e08d131415bdcd34187b702ccbd726b60e3af70e2f7ed3fbca403b1292dc6f201230676256a7afb6408276f5de5a50995b44d6d5fc5dcff965c1e0219ffff0366508f32c0c94859cf4766e537c2425b210c3b8394359a290e4f3f3e3a89994c032d10c536adc4443d739a0566fdf55990dd847ca6e2768dbae82adb241fa1d82b03d43ae656d5bf5764fd8f3157fde4861fee0433f1f16a57dd30db3818403c93d403ba764f756f35a6d4efad1fe3741499cf6cf1d621f7e763169bdaef66373c0f6603c305585780e0aa57f9d042d7510c04e7896d000435e000c9c030dc8d46ad428a0314ed68b47710f1c379401c495c8ba94023ee8b0a994e13676ba3090d5cc0566e033ea23c12ae347d5dacc6b71c508d3fcc555b0657e931d017097d0af675036a4003d9983b219fa54d56dcf0db9e2f329c5bf8a2867364f463141f5e7c15a2677c7703e6335a655fc364b089679930966bfced46c6dcbc549713b26ad2cb4c2d00de80032dc34dca02290a2513b1386ee37dfcb1b788426811abbd12520a4ad52d6bc18b037bf0aaf31259c3e7ee3fbf4851d7a558714ac90f5bf68333d97ed63e2827a3180304b03e596354336c6a803e482a9ebad100d2ed24d14ddbb91cc1cc04bea70e82033495fce20a13e8fcfddacbe0cae28793524b4348b93488bf1cc8be90c378b88e035c3561b2e9d928bb3477db4b992990253c2439452cb7e14fa444a3050bb7f0f4034b27588accdbaf0342924d554e81d3d73358bf06c0b3a347f6ca089bed0e633e00581f02bde62b3995e0821eefe8f47db3766ad666942d94d510df2b11268b8d08da4602a8be73065100581f021ea4db986bacc6b984f7c15088ab2545c4941e3ca11c1984786288784a415820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02bf1f366e7b70f0b7bfab17493f19acff8192e9b9aca769fd61d94b04bae35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035dfefc0d3b1cc9cf479bebcff6f5318989fb42524164808131446f9000fba1be00581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688440190019000581f02a8752fa7c3927954aef1e2d765a3fe8722069166b5be6031b774af5363385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f026810ce8307f9b9dc10d0c16699ce43a031a90120e9ea7608533d2a3b2845455c195e73300219733303fd43678b9252eab877aa9c809de61b524868bf007dfe847c63c20213cfc666b80339ecb31cd42abaf6ea6912a15699b42a48e15873e3f8432bebf00669bef864a7038d33b3cb2b50a587c74a25f846d58056825d49cea1aa3e5b5eea3a742eb4938903886fa9fa7a427284e554dcb4fa77980d9039ad48bf94ec954a13a9d42899cb8203b6786a1804294b9629b9115d27d9d261aa0c78c49143db965f67f60b07bc3d5a03c01a209837919af610f08cfdcad634e6e7654b2e8e92429da484bc6d807cb59c034178019134d28c5bf65d4ec20f7b1b6247384bd968d1ab623549863818a18175031a782ae3b57f9a5bd8b4a7b398419cba19e980de5be5dbc94f58b04670f966c1039fae5cbb1c19f027eff5fd3f1264f903fb2bf45883966493fa421600a033cf700219ffff03c33b1fd59e6bec4f99f7d80b357bfc019b64e937fb6bc62e2378e93170563846039fa2fadd925b56948dbf50c5adf2a1e68b62e74dac2ad271a663f677226e961603e9ccf85169db60b07f0b024c8d03559ef4a55f7d54c8cc557a7b0341e791071b0309010ab13d5f5c94f4528a8d56e4231a43ac5ba4e966ce9b0cc572e17620d83203a6dfbabd39a6c9838ec76f35ba18caa76d9773af33fad512150fb285ee8ca99803ee810971a015abbb00dad53497ea5770e16f4fdd0415c18795fb2a3ab459d0fa03142609be7b786a81f9d248cc9e07bd137ed98d64e822c91168ca733556b88c70035f1de8906da90f8047147ccc48af8c101ad555142f72078971a1893b51a17603031e7c51d4b10f60b96a8b4394e6b7348236f7092fea0e4ed8918eb831427ef9a10219ffff0366c7e7ca32c219f944742dfde34117ec837720602b688016ffd3aba42ffbd4bf039699705e1d85f09adaa5a92c5724d8bc71a117002e5bf9974bc16b942d396e13034b5012686baae8b204d88b34c3240a9e0580924b9df7434c1e079fbf0d988e70032b61e2a8044bb2e0f8e4297ee2ff7ebbf98acfbdad764b0915f4e7a96619a72c037bebab40dffd3293fcb2ed47d4529089574b10b48bc8a2d30c6250e1eeed3d2603f8182d7ec6b523060c569720bcea2023b2fb9a912c3dbbc94e365e8e8257f67d0382aa221f3c70c33f713eb830d4caa5fa2c252a8538c3e9582cd644f3855737130363fdc5f5dae2c538ce508a72089c425ccf772d99d6c2b7476133109773a14d5203f18f8e8e36f12771f6dccdc29ef9de7445df1cb16cd8a9ff458077eb4e3ab40503429e2cc72bf535c08014b2ef2171f0ee218ab6953d4573d2f81c89f638446816032eb222952370e8679164a1e84d51fc98e9c059de1aea310ab8d3ece44ca44a01036610b854ca63f24b9e0a87203102ec1c27b022f310ef2d383797538e08e1cf6500581f023c2107391550dcc6565bbfcaeef5fa8ef5d11cb2bb9566d9bb813649894c4401312d0000581f0261a3968215be03d11c1da1a6f8f7524e1fb0cdfcbb84df5ab1a20ec0ff35453f5b5570cc036aded16194e309569a9cbe1b91b881ec4dd9b3c0af6f84e82f3c32d1c39cb99200581f02433509d7f5a36fe1b59a138b53eb3aaa8844ac4dc2f6ca38766fcc3e85475820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0380c0cc2ec24e9d1ba0c6a491673da05413b44e818c8e8d2df8d17b6212e521a200581f03dab20943eb8c956553c73367eb0ef5f9368e80b3447d68fa21090ddcc5f04605f599fb8f0a00581f033e5dbba0b3075da8d587736ed2d7e4048f6b9175019206ce3511807a6ba04605b398d29d3000581f0372b7cd88086dee1b4fb9a365d64d5d85a6fea189c5297ea0a88bdda95b605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03363880a758758e0cc36b442575320a46bba895756f8db7e4e1bd093284805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219e10000581f02b83d8e50140574c6ebd9a1693f5d38cd05c819d2e25aa108f69ecbaf20df45ac439f615200581f0272b210ceb4adad17e909657f95745b3c738ecefc65241f3c4f5aa9b9cee1455442f5472e0344c4e43063668a445743afc82b4763a820f713fc234ef710512bbc36712dfbd700581f022191bd733b0dba001d87a4cd0b4fd6213c1e17580bfcc7cc2f2521bb4bbb4591db412f2b0219ffcd03ff71b75796ec1139f3366dd8c5a359dc1826da9d2604bbc9ff1113877ba9ea21039130975b277188626f184d93406b93a5ab63b140fa6f3dd100bd78771c9b6e5d03d5ac105f8fa2ccf1a841b7dacc9de5f4bee02166c12dd922fe8a127d73fc749303a3d5c8ac167703893849140eab4335fc7d730a0cd69ac691bd4c449a228ee3eb03e42e28d80f094ade1f24e160bf9a7c1ccc679abee3af65185ded3dff16cdecde03e02fcd80cf44565ea46ea997778aef4a564f6bde3bcfda37a2e4e6df3bd6a8e8039c91eed368261641ed5c64ac0cdcc2dfc797607e77ea04b8c280d92d797506030219ffff03253e26f265678c23fa767ece4a32557ff8b67b207d6a39a1b0276394c671b1e20340f0be81dcf8089255c0b23cf805ac4538bafc4ff4c0300b30f958caf81c9bd2034c96a32f070291d30bafada264a87f790eb3aad39cd2e787edb86a598bbd49ad03515f7ae6ccf5b0246076c9fdf1f5486bed7c71ec6669dedf509250cd4115ea6e03cb4ea97cdb4fe90d99862973d8322f93dd43caff993ad0c3a71ce96c0d0c0ab003656b8178b58032b01a59585c2940c659e855b167a9fbad98e49f5a168fcc24b703e14e3bdb7f98b1ddc8394f8aad72749be586bc975c648489c6606aca490ae7f800581f02ce68db54ace106926f9d3a9a97b383625a940facee76c5a41488de7f2cc45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0332a5e3535f7926ba5bbd21969f01e29971e5204c22f8322806280a108602c61400581f03117487d6faf3e27e0ebe72272dc75d487c7cfcd84892eaaf6a12118d7fe0410100581f034d5e47d5163ac3d31924f1fbcf8e93c8adebbd4073a233b68b8a958ed7105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03462dc6015b1a6e6dc85aaad77a6dc754d7a7823cbedd8b9be65073593b00460115b28f48c300581f03ab3a958728f1ccf103312aad65596f7e2c686e3270585410d24b0d62e3d0457fc4ca070802190225039da1b1dd56695b0ce45b42f05d2d9c38fc339309c0de58459ed76b3e73b723f103de66763f84f074d6b615fc3ce591eca588a9b0eabacaa16f1eccf0cda4b3cefd032110b13639beb7f840ff9c6f848e9f1848a1bac6b8ec68c424ebc36998d60bf800581f02f85d131555f3f8728e2a51b82268f344bcb3d447ef9947767e8ea1eeffa7450d2dfc79a100581f024f91fd00679b60617eccadbca44f6fdcaacd388c06b59a9162b49c909c935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219bfac036b8939404332240a08efa7e91e28d8510541c7ccc6fefc24edd567368b9d509a03be85ffaac24acadde0fe105975fd007a1d6d0852bfe3e26bc2da56769414df640369793013a3ac7e549c130fc6b7b403bf422af16839f98678c871a950572d4a58032019c6e377d83fdbaba099050af2ab684d7fe55203ed7f8beb4351bfb83d636e03844e2baccbd7ad03c4016bc929a37f627691cfa32ac83b21d3766708e226ff72033fcdcd96a38dad9a799d7058cadd1fa38c691b8a028a0ba903abd451cc3ff1d703e24df1ae06a6822394f4cf6cc30c0cb99d2bb710e47535a0c029c05e0efeb0f8032a284c7898ebe0e1fdd2dba768dc01c94bec453dcc6bdaf7ebf29b5fff677a0b034cac314bbd9210255dda7cd1047aa7cb94def5a0aae035fcf401a0528cc573d00372fd6f6369da541c9fe945f23248ec80f5330d4e82e9ae9b927e545a90ae194a03b0a779cf790ae5286f362c0b23d8f02e34a2dc9e85746bdf6d10878a8884741803aba0ba7e1999cb7a11d7d956ad45f8bd4a7c2d0d6076d6809d6885ed397683f303eaf3a97e52b0df504743db41deb7a8c3a06fa3d8219a5ec6da4a8fa6769bc8420303e2a57a26b935b9a97983c19441840c3f2e0df612ea6bf519373150d59ea98e034cb301f6d30a0238ba22ede814e54ac777bbc1c0aa7129c0a8354a5edfb3489b0219ffff0366e27a6e24aece80e23dbec937fe5a7c497beef8388495e63e1ab5b52e180782039ca35955750fef07f26aabe9330b91d1bf695fb2212ad44bd15acd41c9325d43039308d59711f5041107a1765e42f0caf167ab83d875738b7934734bdbc8bb77d403c325fe204b3d69ea119f9d4e2f08bd09f771ba971d1a198aaf8e6bddc775c7b003325bb9dbc6243b39dd84c1457d1ec5cfd4c812385dbf14ee38744d7a7d06ffc6037dd970f18175d55cdd93af43f816789d2a02a3e36221ddf560febdb7aa70aa9a0325980319e880f0e9790f23ae8838ba0c7ee6e7321cbefcbc21d2b6305e6e29e303f94302acb2819e0155d2520847760842a6bf258212ae1476015c3ef399ece129036b06f661c2c047b6bb745317ba898f4454fbee93f8bb67f72f75281402eba0310219ffff03dfbe1e8ee99f3f78241f60bd3ddb431b97a72f2116a935ef086499e86074ed180313eb739319be372a19845db1c97e1cb1cfb5be29e9b29ee04cc7edce092d052803418cf5764b80fac778ff41ef84032f73226a2092c4e9d385f04e6e97cc7771150330b7ea9da2c72b396318b89f47e08e3168a3e061827659cf4fe0c0fd5d1895f50368ffecff77d3cf02d911f18d7d691d67d5fd2f65fd15a493b9fd9ea6ff7ce0ff039e38ad566d65f31c9b7c75bf341b26170359170e90d4becfe77bc2de27b8e37603371a2065241bd6fc3fd90ae7344705f4c1296939009ea94ef83e5c5253cd6d080346c1d315f34db95e320f830531dad39623c86f1a219b75507a84750a36a93e16035fbfc4546ee8dbca770566817b71c3d0a3b7b3a84b576c6b31ca17b073123c7b031c33e27c297344ab87c001fda64c5bfe56bdb8f0615bec8a838ab9077993f67403e27e65f66583129f8fd39599f822bdc5442621b6a24b3c8225b45ecc0e493f3d03846e3042e54ff32d498c81d5230979d55469f0e43a4cdffee56513e43806f3b203810eb83740d258424df924ebb71be35c74d6ee8020b1d707467f57cd614e9bc903722880b0d0597a06b9d6ac948348ec7c29b6c6c24491e54ec2f138bb7ea98c4a030ef911ea61c7c38ccf912485ac594f1c4796722e1d94dda49ed0cb83884bc3ae03d40c49ae48f1ea26e39f4ba0958c24d4c888ee9b8057c4f52b3a7ca0f96ef7c603e39dea6847e9febf0a4c8cb4ce708a93e1c4b438ea9d4a35d1ad18a0c88ea14d03a253c338cc668c09a0bd82f25a402c36994938674777fc8530dae32fdc18472f037e0deb5cc2e38fbd065e8b266bf08ea169bfcdd102ea830d47151b834ed4daba03e78a80cfab063c3a5067863cc50d48091b0f88d4bf13c4d614eedc97d826702403dca060fc874053ef4cbb0db4ac9ccaa6bbb326ad1de33e63b1c9683aaf260f2600581f024ceb8f221c618a687516727a0912f5bb64c142322d64f7d9d43e90eb12a1460100bc91297800581f02610b11b2c6b5f2030a9060fdc3527d6c0f9c6d05aec06fb3e86d12a3350e4604f76ae86e7003d49fc1e91e6f8359b3878e047c73c127f8ead2ef8edf50e155d57e44ee87497600581f02f16e8ca5493078b9d02ce443a306586d73180b61a24f26c83a2cb008d84e4602c2c84fd28c03e974116da8ab24d98100e3365521718f2751b6527b5c62ce001170cf67d0adc400581f028e5f5b9060d6b47303c7ee96b65980896a74006f22b583f78d05d9e4f4b04528a2a3438000581f026d467da1003fe6ce6d698d68709e69a374b4703f0d75f723de953a3c30325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0260aa4a778572889479157ccc223068fd24b7d93446f827aeb292b3440dce5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f021574414771287d1076a7b48cc8765008a82b57efbebaa256aeca32bee8ce457e69d8d99400581f027b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec564a24d53e6664d79896f49767a652eae6f92544bf010100581f02311edcbebf12458bf010929de90ed91feb99e91d6f2ccab30afb1481e1935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b97cc6a44ff890414310f5bc4e5fbe15efec0fbc7a01b94e98d6bda4832a4523ae26d1dc0219f5f70307b8266785fcdb351676301e79c1924022cafedf36a82fed02447dee6e70616003fb7b4f0289315c7e8f1a1f85a704ee93af9567cbc077c81ede581e68d717aebd036a4f282175ad89a5d83a7e32b9aabae8d18d3d775a17b20f709f2c6ed0400b5403061602b97a099a7b0d0021387f8ac3ee6add164b0b32a045930eab411ebde9000376865ca628cf0fb9a6f5fb2e65269352a2c09f31f9bd1e9ae61f72b1f198a022030a0b4dc6f4407283c83c1e928281cd1f0b9aad8855c44404387b13945b752515035f0e75305c54bd372646bcafbf29c22521e3db5d1dc5a4f693f5c9bbf5c1f5da031063beef7557345b0227d964c385661449b9b22a2fe9d9a34b6abf7546f2d131035b81de910186249a0f134c1e659a5a0b35ce91544c257c7ec6573fd56cd240660219ffff036f93537debe876f07df675662938315ddbe0de23c44b6cd8c9f43dbb61f13ea20219ffff031410313689b6165aed228cc531c5e3d421ac5a5cfb71543e6444f563b709c76803cb82c2a3ce33983b52bc768350d04dc712c939ceb4c7c50602cd6983fc9398e8038c2ef1318948ab9db56474e21b051143ea0cd1c742f8798ab2a3ed5ca5027c5b0305e17fe5a76c900678fdbd7a567b5b7614a8301d5b510452cdb2df1a0ac5a54d035f4ac5719c44d20f77f38a470663e35b42355bdda13bddaad9b1773b43930755033a1a34c0d2047c5878722f400e79f21254e13c29344d66927c52b8ae642703d703ba6250a2f809a588804566c4c82014378470f06428b7f8aff096227c3f99888603a58b4c591a8e772dc6af792a06f859e3235936b8bb513b766b053ddf591f79ec03d05de83cdd3cf2be8d88169c13ad0940c7f4e19a37576a7590e36f375408c28003df9eaf43e89efbeb80273ab6108d6e7bfa49393ae7d49ef1de96e722496dbd1d0302370ff1642512c770bf96ef364e199c233579f2565faa0d1456e1e06584652d00581f02aa517b1d8ea99e206325b8a0e027642fa4a7a07aa5086e7958adf1e30f575820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0347d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289054281a0c39195ba5fe720d142274e25c23384a5f0600581f03c8d4075a7d30dab5362f4a5e282fe34185b2be32dcd9891fe19f7fd3f5704603c37b4e81890219400200581f02c5364d368f34869c4c321ae423dda16ad21ac27b9218df67e50f8e8d05795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038c7dbc0f3c5c592315afd8b494a90d1ff9f74d6f01e9f8ade8fce51d42448e98031027ce01accc3b6fc0cdcbb7fcdaec5be4ec52286f0743f36d7f83b353631ce200581f02740f9e976320005b07d85f5537526fd537479e3adbc487b6bda3d35f2c30460ff3d007ea9003556452a0268382b451baad79afe12db1aa42e78cdc244f766938d650e9c645a6033307b7ef3121dca9bdeda856368ff04eec7c3c046a63bb461c54cd5630af2536034e81dd0b09c07c8fc4cc273eb4c34515096a360757f84f10c2fd8e149dcd7b9503ef0310c7fdbf5833729dfa6b3a96ef6e32413dccf1b432e4d9ed5eed8871db6202195dbc0382a18dd76cf8b73c1c311c0befffbacc4deac83e433fb5136a7da3dafa46c32303bbaa3277470767fb3adf879589051d0c0ff82ed12683726a5af9138824e5c90d031b0afc46ed399770dade51d9b59b1814ab3f0cd6a544c9ae4c3b252087e18a1c030312e07f602464580f0bbcd18099132a7c2bf8997869bb366e68068ad410e49e035fa39d9af60fa7a63b28e39081b2f5e71123eaf70ae250c69a0a22b6856c5ada030fa91fc76f8c200836de9192fae961f5f3fb7eb6313ba762ac520b50eaedb60f03535609f429750761653e0cacd1b05cd55eb171219f828bf5b4454ac7745c6c5b03ca4503bd71d1ae3c84eee7a2c15339f5b83f9e6bd4b8df826779efadd0064ee2038df0e208b246adae2221ce24b255285149deca32d69791ae62f4d5687221226403b0a4480dc590bf79598628f08ab82469b0febd75fd13a6232dc24808cdd35e2c03d5920db35b3a5e007b63da487a7a5362110e4142e65d75daa4250509f528f1780329b4472110a50362a0ebc69b7ff59c366d9305a6bc644a2e5068bda7c0d2c2870219ffff032323f2dfe79dfbef3ad6f857dc64f29c9780932d4c8b63c123d83edaa6a687110359478b7ca87e03e848eb8cc08664d6ec3f4f1908eb8bcf213b693cc886cba02f0310e72cbc75d395f3b263064e1ca68aa72176a88a7666e2d777eafe5d01d2116f035a90a9c380cb4b871173df8262b7be99b09431c2997895b7ddf69adb2396cb8803057b9e886c6cf9d1bbc66337315b16a450565cc50249c95cf48bae4830ab32f003294329b1f8be1e1e55013c415fb9999d89693dff94953bf8a14c0b19a9ed32e70362bb00d3c15849cd7007897881b57c80680fed0cff2b4593d343571a57a96de50219ffff034ca1cfa282e0bf413c58ffc4c1f84da641b314abc5764999cf1ecd23a8179c5803240d817e9762a3ddcdd72222375fc062fc0b53e31a6b36d6e8eb77b557d9b4bc032344aa6ed5af79cfe9c7b821fb75990761bd2615f37d39d739345a81e8764f5203d3da9a6ad5e393fece057a4ab86398c3e0fbc920369a59fe828f74f8b1552df403579c44baadeb1b66fdac3f97a7e9858ced176c31b346bd51d03410f0800b82e00326f850bc757129149059b7a7605e4c95eda9250eac17f000d517ef51724b3583030b03052ec19ea431c2ef172e3aef8b5aa01be4f781eb46a6500ec412194c71900345117b6c8d314c9aaddbc00afd4ea91d9897cd8bb3033c808e2c3880c3f528f30367cb0995d535ae5e77a8e74992adfd75e21b18cdf3f341b2d275b1a4f27a2bd40320535c1331d335003b618ef5644407258993406219ba1c6437170aac8853632203e9809bfaf15c714a468c836f9432b5134742a5127371c3d14c93331cfab57e6003b8c246677934fc8fda0ee15a52ce941e783cde77174345c8114b9f3152c5e433031295061e7a4a6c15f91c27425256fcf1cd97390526f79786140f3a0f8b9f8e370354d7b3f840307f26b23663470fce8412215e4dd0188ed22945d6d946f304232c039f2cb14ce7d48148b1ae7f9aca0c9ab32c06684833cd2e0674ce662a9d3b0353032cf0529d651a062b53450166e678c193c21cc8d61cc3de1f42f3db36a2686d3003785fa4520bbcbd7d024d9305f96353561d48042708737dbe73d90b60023f9343039a34da82ed1e1c4d3f5af1565888b6c29b42649766ed06522e22695d14ca9172036bf20b1d117728390d8240d5d9dfd7281176bc0d65e72ab181266964c64eb2fa00581f025ccd0203459be96cf89ae7c03319a97e9fd9abb23dd6f5d923c9548519aa4606ef9d50d20a00581f0336aaafa0dc738b3e904ca0e590b89fbd21b748183eee2870669bf6c7b8805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03bf141e35b58f7f7d8d9a0930338d4b9d725410239e6eae6e4803ddf3fd1045a7856d54ad021984000347dd33d7408d77cca112a468b43cda789324de900af380cfcfdba68a86e4e51100581f028e1ddf2a8b79d3f33557b64cbfafb9452fcec2b1af07e734ad412081a91546010015f87029032c273ebd0131ca3f1dfcba2a469a450bbce1f9d910800621b7cd253a7d7244ce00581f0202c3a8b76e903ff56c73dd964e72578c94d13a84457c6f05d82963956419460b017b9cae9900581f02b14f261e880da0d0c66bf387dc011fa1ac4a8a8498154b178e2daf07acbf4509cd71f30103051c0d271068f94104b445bc4462520acdb9f19562612df01b8798fcb1efa54200581f02925bc666c0748edde25788d67776b347aaf62218a7683a5469959427cb5645474bac3ccf03668191ba0ab199a0de271189980de99784fce1146a2aae7860b40369a6902f1400581f02548ca6806f01934fa7b150daea4082a21b5dcfd51260d23e154f64f2cf764526522732ea038fac67d7f41813c3185fd6886902bad575932d836b9184eb75489a88e35e310c02193bbf0219ffff032c107ac08617f5d5b3c7e9b59f27557ce8574534e69c8a4fd8a6fe3a95fede2703fb13836f0d569f342baac16ffb34112de4ea13d2ba65d928e8cb59148634753f03e39f777f61baf6dd178397adac70b0de8b26423a7ee9a5fd11b10fbdb41044fd0357ff9c00bd192f3c2aa6bf3a46e76d12f3aad5d91714c20add57b76a046307f5033ef8ad1c6bbe6fa5bb7c6a994004a85cd8d657d56bbe2dd8d3859624c1cbcdc903d94681a65eb975f6a1e8ff3b7ea0aab84f17c2fd38086450e903cd05bb7c1aa90304c0bf2e025c221ec0ecbd823a55accac0b1b6792b296ffa85c773f1ce341a9403beac0ded462f1914a7a1f27aa950e8c7ca700c11e55b1216e35fc98c1b3c33d303226cd946036345fdb1f395ca5198fcea357dabd7437ab140c00ca7df02b7d8df030dd8be81b55761c6f6b1746f52643eb11fc716b9f48d95502276529ad4c50f6003c8e517958ba3aa6ec338757beb3d7eac3f7e2a719449ec92efff89c1cb8d122d039d66794ac830d8aee12cd6600afe07d1ff84308cf42787e293f15cd7077ebd6703f1fdc9c3a81905c27d47097adb711e44663bb0eb3bdba12df047fbe346f1e2bf03dc60d35177b066104dff918f8e82b2cba06ffc6ef677a629fdecc6e19c4c624b03732314fc898f2c39182f23a6e1afdca5e495f5688a082fb57a2481388bc1b5cc034bd9713062d18ab7b39e7babb6fc22fcc8f1ed18a775d3a018894f41cabb2bd303a024d328098630881d7dd0e956111071760ede86134f374a0e66bb9484775fb30342fd310dac8c79a5fdaca50105a0a3e4025a2752717ce72592e1b38ccca02d290374c552246b29fc5af561cf5275f436bcfaafa86bcc6155eaf1372c04a10c0b9703ce755fc127cab1dd92499fd489ab3c35040a68d7339a2cd49d1be9354e248ec500581f02a89555737fa3ea31e827cf9bdb0aa2d712ec0056e4a9320b36cd34c4f12e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039ed1299df21f35c165161600bdd6f4b3228c225c8da5353d0f5ea73b8f67f74400581f0270ddfe4881f72aaf1e1736db8927cc9954e63acc2a67b3856a4f75e7c600443b9ab6800337725f7d5e815b729120ebe52bdc2313081b0526c183c3758b8c7138d92474180347e3d0ca36c0c2fb8853810ee4d977b5ea54afcc28e1b53e3565550cc196cdbe00581f0389cea5ab2915483054e9c0d02e676123f6cbd5e57d209474e4c0e2950f104602bb63eee6c100581f03008ea4e8779c188ba498f34f3ceea1f0ab15a2bb3b34c6c740626eb6a150443b9aca0000581f030e7f6ad7e7f75b8179c5ffddc3f693d878a621fd050d82a6c36bed18f2b047257e15251a6de402197000036acbad4e0969f10f531d44b07c953850f916495abf825a773d7f9cd2e2f7132700581f020c8500c0bff9999e89f7b5875f576eb3e77a7f632b9f15b623535edc16c346683d261da63803211de2bd8253f6e6d064b28e550d7e8cd91209b309c17c62a6eb442f2555f2f303782f416091a97059b5663542a2587e0502ed88a22ccdfd78655a12fce5207e7b0219fafc03531f6dc5c3e93d3102a55bec74c5596815ee12ea0100f95860b66730f272a9070219ffff03938abf58b1b712545cece0a4a87e533d95a831a9d32926048f4814faab3ad12b03f75226f076a44f16439074f6fde9cc8dcfdbe59e36f023f6f94f4f201af5eb8503a608f08336aa417cf8ac4e8caf93885691c914734615f092c745a983747f3c4f0336bdde0fddee063bf244bfa93f9cae488842d2f277bd53b7d55fdeae60b7ed5903111c91b1283791691f930dde5f89017ed60c9f6acb1291643a7f0f623b4e44d50364915c7a9a0c1074c847f14012fd93982e6f0d507a65515ea710206d421be56f0219ffff03a460a04107d53a2995254618d057e633a2ff643c3683964c6da26409828c49590338a08935efd9b7eaaafd1143ad70adeb13822c1a7cde40cac3887fc3040c01ba03b49d47751cc81ad8b97ba8f6d7ac1077fbfaa7a5bdb4ba7925afa72f38b9bffa035b4b5c5e232a9a6fb65a667bcbad80049c1036c53a8a074c2beeb0ebcf623c3803c0fb243c6d858c219ebe59fba71c87e7111b194c4db468f84fda1443ca47afb40399dc6f6681ca986611f303ba42a5c88d2884bc4ca62f92380b247c56cb61b577032fed299afc5834891d24917f96bedd8505ee80d9577957b82ff8686945ca2f430333b08cb265ed226f34df55ce7f48b13288f729a9083091d3ec339ad179c8e10d03b23a67d35e2373011cf39651b9383c8e8b5b61028ad09cd98ad78fa7d24e8bf803e6ce940bed99bdb79f3e48431d3457189456882cfd52b0692d73250074a022eb0301e696bcf4fa960df29f9ca9d3ad145882fb87e7ea84820b2d0e02abd843b98903bf66fd5d7a35d1b870d929195213003c01fb8aac3505fb934b88295243d8602f03e6d071a350d96c5b9e58b3c3bc7dd422adcb3d0d5b1b79d8f03956309550f3300315457986ecd4e507f36e3ce2d64af5eb857e8953856fc59e36b6d0e9a3958cce03a9e5e7e45e9089539193e99c7bf2129d36b668eb2e80c5927479db51d216758e03d2072fb6a6d1e1037bb9dcfef1a9df084ecfa8fb365ed932662203b28986cca900581f025cf2a861a8b6b1c74e55600b5ec2eb1a1299497dafe84ff344d6a3979e94460297913cd4000300f657bfe09752e9b16c9d1e1586fd58a59f4a470f6e1b9c56589e54dac0f480032b0fe8ccfec1e9c59e00d44d931192bb6dad0c91f2075e17f6b0582b44d4d65500581f02dec5420282747c815bfb5db7c40d594ae0ce60f6b7b00db91a47da22dd3d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020119eb5162f48ac45d02a5b669cfd1a7cc6b91fddd7e16ad9c5e6883d26c4503125ae7cf00581f023bb3db676ccd79e38d43c44dabd933aed8930ca342146de48da06cf9ae5845c7698633e100581f0224d889cb74766ea7388689b12445f43664c8f038bcb555aa5bcc0cd630fb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219181f03c811c762454ecab036e06332d23ad90437fed566774622d3d87d485d096c3a6703ef2691f7ace5f99d45287fb3fc38f08313b4ab996a2f63d007507c78e07cc1a703f80f6e9dfa292dc74b0e5eeeff38e4705d253ebee2065e7c138a90eb4e3f3acf0348b7cf227e9076955e6eb98bb63f4c242f75371f146a1f36040a876bfc18f18103b935e391fb0c181aad3a16abb96236b2d076b22dd0cd8202cf0a504923b347b403c16bfb5f6663b2e2efb55db44706260d8222e23fe21af3f121871dc15f782ee903544f0ddc2dbdede8ea2d64bb17174f8951a457d294eab5f4eb9f321df73163cf03c1a5c1bc941a335053baa14922946ec3ec3fe76750f5fa9e859667a8e744d8ba0219ffff034714dd06007a8b93e07a1ed36432aeefcdba74c4aaba0bd54b4d3a4ad6c05e5803e6877a3f9a1410ecd9eedb95872be02ac8bc3496c7edb0159d6a5df4b22887d50380db8c52ce507e97f04d8269d6889ca93ef15e3a1b64db33c4654d53149c550403ee3b3e1da37ef4e6320ce087d04f06e0ae9d76c47af48a772ce778bf94e3177b03cf144e647076147e4a81eb0a92c6055153040cb1b0e48e7341b94f676f7e7384033b26589e2eb44c231d85705565d5ac6b822c41dc634f6132f5b71829713919840219ffff0219ffff05581e03110004e8537259fb43da12b78d07b66de8b709a88aa6d6528cf2836fc00701193cfc05581e03976534c596a40a18d7d14145b6be341cedf4752eb8f2c85906e971ec100c0147034d0889f8e8000343d51143187101b0785120297453333023d1a4abb4e492c302763ca082bfc5b4014101031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03ab37437bc932078994edad0006f70392c561b4882874dbd465406391d007011bffffffffffffffff0377213b805fd67ae36dd76c86fb0122bfc1ebecedfba54d54196fe4773e8c52ec05581e03ae3c5c11ce408ab46bb87b7da37a35147c581385585da785e3a2996fa00c01471430b4d17d038c05581e032474c68fcfd9ce3ae00ce73fd84d1702f892686db5d7f75efdb17ef0800c01460e8d89336bfa05581e030f0a8733f42e0c669f427487cecfaf9c9556e8a060774de007260382a00c0245025238606803f61d7ead23eca97195821e508616148c11ae4cccfbcae60721253ddcaeed2a9303a74b99c3da42bf2a68a89f64afc3d921fbbc43688807ce26d1efe07ab523581805581e03c61633abe9ce2782933564cea3a3630cfbc56b9a7bea04651d2fac874007011bffffffffffffffff05581e03fd172226c82491668fddb5c24dd7839c5a07e0227516c6b3b4b585f730040103aaffe50109d507de45ecb62f46d5441225f56ae57a91527f50ef6de57ec869900605581e039d3bf209d7fa6adc298bfc3b1c664d8844cd87c030b33cb37962a2e83007011bffffffffffffffff05581e03bc86b8b684c6245e8ecfc64e526c1d1eecad568ef6952af40b37430c900402032946f89d0741bc336b03f540611aef3ccfb8ce44cb4a0f439cc4b91dec24e2b802197efd039eadb17a74fe94fa394be56f9160c34d14c4cb9683bf2ac1473d995cbcdca988034bdfbdaffc0a1fbd117792bbff5df0d4bb4d717c4e04f55309227264ce05875503f931d441cb57d706b13b5aba068e2c2c910ee4bcd7ed426a02ca0ce46e75fd8903b2ce68628b05a7c4441f82af7dc9863be2dc499609fce57c04b03341d57d0c3503f676eb071811b127149a4210af5532c083fa31d381a3b9fa001e9e14160c83c3036d0f671e1d56cb4e17692bfe5f7bb784aca482f8374fd6f6daf3aa8c839c92ad03f3653ddc7015ce93cc7205e7488cdf2a8cf6512c20ae90eaee74129d8cdeda560219ffff039af9b2ab23fbed7345565b1f0b5fc7659d26cec93be38ae8e660acc0e9822f1203a618149615a4238cc655da88f2e655ca292cf79500ddc741b401033a4279461803559b34086569b1c32fee3669d14f9829feed9282a28ebeb362c57e827754039d03224c1138d84c67127f2189b501743980320a9ff6558a13d72877d7ff351da409038bba15a89e413ba26cca99d17d5b2124d56c1245c162177614b6afebaba5217303bdbcba9eac50579bf1acdfc0e4da376ab05a19915d3bb70da30f9483c618625e036414f41e0ae72f3782c3f3df30b82533857345613c3d81601a9efa730aa51bf203e44586569a476726a4ba5f3a37eea6647843f7b9732648d7c6c5ff82d0a97a4903a2b74c571b220a9fefbdfd0bcf1b351eee5ae1993314dbd9d9d65da53808799e03afe541117bf436a9c1b65dae094f439fe14b36cd217b86e78c91e6672944a0c00219ffff03f103e2ceec02acafbe6faf96a0b6ab80eec0852be7c1a52478cd1612cc1d81e30358db1675ff8cdc20ec02bc2983979ce1d002edc51844d03877b8448b6b8aaa46039602cb4e6cd06d73213c9ad08312c6bbe72a650e5d8179e3d498bf3f3d2efe8203bb921141ab64d66a12532b20912f6020a6e64ee9e03ae9959caf5393305ed37203563ef1269df54c4fe8d0700832cd1af012eb5b9bbc902cf9c3cba8bfeb18f8240337ae840fca9c546b46d30d0b722f130ea010febc8793d566e4668c5c2526d6d3033e043818afd615b9597e7d5ffa8638eda5253f0617b73a5eaee93465e2703c0b03d0ab5655f2165d10cdc1e71f5a19b6570a9b76662b3d01ba69a8c785de19248f03513c5bd26c34b57caff5e9906910f764c4f81346efbef1f5b0be6f598d0fad05032d410c5bee36ab317df4c6a7350dd004edff0e369eabb93f9d18eaee6f3f3f3f03777e1f66dbb9dee2a4917a1aeb867a704a0b0d9a6461448d69e0d5094b35292c037b0c7875c4f57dfefc4fa15b5c5ab8859eff693a1beac1474cbb7c0f1f5f1df40364b72981d1ad2a333202db09869a21cd3bc2ebe044a39980a64e7beea0e2a745036ad58a9a257a03fd6abc95dc079cabb12a20191f55c31d1bfd101be393d7276303025004126c7f463d3e243500be5b41a040b7342e942abbb044f6030e1a55210403a7329f34a128de566752a20be47f144a2004c67ddaa030f355422a4f534593ca03e35a710b4934fdee39fe255395174dc3361902500bba5687ee7c408119b9e5f003014af796b6f567423dc591c7bbb2f2994218449c92f551659bad27b225852a1c03f40ac9a2f3099980c4a2107bc407403e9e883405b3c3c805a6523a3c30559b99030e29ed7983510dec0fd16e6c8e1773a8b621179cb24d8b63cf95067320f57098037f960585de5627f8ec08815bf6e1117817632b4de175c4e0a4eb102fb943b1da038a88d67e45425a85a985d907cdc73a878db6a84284dcd70a440ad57cef398c2e03ec48e45df4aca97f5b3a891e263412b50d239ee1f6fa4f14943355ded04103fb033779ac3d7ffb1da0da49750edce6eb7322de35269d34adf7641c0e2de5df6975034d84f034446f87dcf1d3e8058ceb0fd306996ac631ab6e863d4f33925399952903c5fb991949660009732e9ff3ab6d5afba280a0f39a99aa8bc9d95a29b34b931b03c2b42d71b85554b9a14372be58a41d0168f8c801682d392a646b41aed17a0fb903ec470114be981b0d8a4f973b5d5766dcb38b456d30cb073e7bbfc3dff10efd9d03df05c9f3f3a1c125cef65c886ceda60866f15702dc4c27dd4c2f6a3ab36fb5c405581e03b0617e659485086819eb27543db63eb8a1b325a6f5476a6d80b6bfdb60040203d81c059f01a8ff571162f61f081d1356577e3bd3a6ce96ec5c1f865b3a0fd128045935426080604052600436101561001257600080fd5b6000803560e01c806301a94d2414611d9257806301ffc9a714611cd557806304634d8d14611bc157806306fdde0314611b2d578063081812fc14611b0e578063095ea7b314611997578063105cdb181461196d57806318160ddd1461194e578063238ac9331461192457806323b872dd146118fa578063248a9ca3146118cc5780632a55205a1461180b5780632f2ff15d1461173e57806336568abe146116ab5780633659cfe6146114e457806342842e0e146114955780634f1ef2861461120057806352d1902d1461113c57806354fd4d50146110f657806355f804b314610f565780636352211e14610f255780636437ecfc14610eeb5780636c19e78314610ea657806370a0823114610e105780637b10399914610de65780639010d07c14610d9f57806391d1485414610d5257806395d89b4114610c6d578063a092cd8514610c28578063a217fddf14610c0c578063a22cb46514610b36578063b88d4fde14610ae3578063c0c53b8b1461055c578063c87b56dd146102ac578063ca15c87314610281578063d547741f1461023f578063e985e9c5146101eb5763ffa5c621146101bf57600080fd5b346101e857806003193601126101e8576101c7546040516001600160a01b039091168152602090f35b80fd5b50346101e85760403660031901126101e85761020561238e565b604061020f6123a4565b9260018060a01b038093168152606a602052209116600052602052602060ff604060002054166040519015158152f35b50346101e85760403660031901126101e85761027e60043561025f6123a4565b9080845261012d6020526102796001604086200154612631565b61273d565b80f35b50346101e85760203660031901126101e8576040602091600435815261015f83522054604051908152f35b50346101e857602090816003193601126101e8576004356000818152606760205260409020546001600160a01b03161561054a576101c480546102ee8161298a565b15610532578291847a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008481811015610524575b5050866d04ee2d6d415b85acef810000000080871015610518575b5050662386f26fc100008086101561050b575b506305f5e100808610156104fe575b50612710808610156104f1575b5060648510156104e3575b600a809510156104db575b86600193848301966103a66103908961231e565b9861039e6040519a8b6122fd565b808a5261231e565b96866021858b0196601f19809b013689378b0101905b6104ac575b50505060405197889581956103d58461298a565b938281169081156104895750600114610427575b5050505050610400829161040d96519384916123ba565b01039081018352826122fd565b905b6104236040519282849384528301906123dd565b0390f35b8252929793945090917f5ac35dca7c3a7d5ae9d0add1efdc4aa02e10dd5cac0b90d2122cf0f0cc68317f5b8383106104735750505061040d9561040091850101929195889138806103e9565b80548a84018a0152899650918801918101610452565b60ff191689870152505050508015150284010191508661040d61040038806103e9565b600019019082906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353049087826103bc57506103c1565b60010161037c565b936064600291049401610371565b6004919504940138610366565b6008919504940138610359565b601091950494013861034a565b90950494018638610337565b04945060409050388061031c565b50505060405190610542826122ac565b81529061040f565b604051634a1850bf60e11b8152600490fd5b50346101e85760603660031901126101e85761057661238e565b61057e6123a4565b90604435906001600160a01b0382168203610ade5783549260ff8460081c161593848095610ad1575b8015610aba575b15610a5e5760ff198116600117865584610a4d575b5060ff855460081c166105d581613205565b6105de81613205565b6105e781613205565b6001610191556105f681613205565b60405161060281612291565b60088152674b6f64616d61726160c01b602082015261064a6040519261062784612291565b60088452674b4f44414d41524160c01b602085015261064581613205565b613205565b8051906001600160401b038211610a3957819061066860655461298a565b601f81116109c6575b50602090601f8311600114610950578992610945575b50508160011b916000199060031b1c1916176065555b8051906001600160401b0382116109315781906106bb60665461298a565b601f81116108c2575b50602090601f831160011461083f578892610834575b50508160011b916000199060031b1c1916176066555b6101c780546001600160a01b03199081166001600160a01b03948516179091556101c680548216928416929092179091556101c58054909116929091169190911790553360009081527fa581b17bfc4d6578e300cafbf34fd2dc1fef0270d8c73f88a99dcde2859a6639602052604090205461012d9060ff16156107e3575b506000805261015f6020526107a4337f213cbec2b438e27569ac0cf67d4573025a7224c5c7e3037a3c891b910e08dc6861309d565b506107ac5780f35b61ff001981541681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b600080526020526040600020336000526020526040600020600160ff19825416179055333360007f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a43861076f565b0151905038806106da565b606689527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943549250601f198416895b8181106108aa5750908460019594939210610891575b505050811b016066556106f0565b015160001960f88460031b161c19169055388080610883565b9293602060018192878601518155019501930161086d565b909150606688527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354601f840160051c81019160208510610927575b90601f859493920160051c01905b81811061091857506106c4565b6000815584935060010161090b565b90915081906108fd565b634e487b7160e01b87526041600452602487fd5b015190503880610687565b9250606589526000805160206134cd8339815191529089935b601f19841685106109ab576001945083601f19811610610992575b505050811b0160655561069d565b015160001960f88460031b161c19169055388080610984565b81810151835560209485019460019093019290910190610969565b90915060658952601f830160051c6000805160206134cd8339815191520160208410610a24575b908392915b601f820160051c6000805160206134cd833981519152018110610a155750610671565b600081558493506001016109f2565b506000805160206134cd8339815191526109ed565b634e487b7160e01b88526041600452602488fd5b61ffff1916610101178555386105c3565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156105ae5750600160ff8216146105ae565b50600160ff8216106105a7565b600080fd5b50346101e85760803660031901126101e857610afd61238e565b610b056123a4565b606435916001600160401b038311610b3257610b2861027e933690600401612370565b9160443591612a64565b8380fd5b50346101e85760403660031901126101e857610b5061238e565b60243590811515809203610c08576001600160a01b031690338214610bc357338352606a6020526040832082600052602052604060002060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b8280fd5b50346101e857806003193601126101e857602090604051908152f35b50346101e85760203660031901126101e857610c4261238e565b610c4a612437565b6101c780546001600160a01b0319166001600160a01b0390921691909117905580f35b50346101e857806003193601126101e8576040519080606654610c8f8161298a565b80855291600191808316908115610d285750600114610ccd575b61042385610cb9818703826122fd565b6040519182916020835260208301906123dd565b9250606683527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943545b828410610d10575050508101602001610cb982610423610ca9565b80546020858701810191909152909301928101610cf5565b86955061042396935060209250610cb994915060ff191682840152151560051b8201019293610ca9565b50346101e85760403660031901126101e8576040610d6e6123a4565b91600435815261012d602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b50346101e85760403660031901126101e857610dcd602091600435815261015f835260406024359120613085565b905460405160039290921b1c6001600160a01b03168152f35b50346101e857806003193601126101e8576101c5546040516001600160a01b039091168152602090f35b50346101e85760203660031901126101e8576001600160a01b03610e3261238e565b168015610e4f578160409160209352606883522054604051908152f35b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b50346101e85760203660031901126101e857610ec061238e565b610ec8612437565b6101c880546001600160a01b0319166001600160a01b0390921691909117905580f35b50346101e85760203660031901126101e8576020906040906001600160a01b03610f1361238e565b1681526101c983522054604051908152f35b50346101e85760203660031901126101e8576020610f44600435612967565b6040516001600160a01b039091168152f35b50346101e857602090816003193601126101e8576001600160401b0391600435838111610c085736602382011215610c0857610f9c903690602481600401359101612339565b92610fa5612437565b83519081116110e2576101c491610fbc835461298a565b601f8111611080575b5080601f83116001146110005750839482939492610ff5575b50508160011b916000199060031b1c191617905580f35b015190503880610fde565b838552601f198316957f5ac35dca7c3a7d5ae9d0add1efdc4aa02e10dd5cac0b90d2122cf0f0cc68317f929186905b8882106110685750508360019596971061104f575b505050811b01905580f35b015160001960f88460031b161c19169055388080611044565b8060018596829496860151815501950193019061102f565b8385527f5ac35dca7c3a7d5ae9d0add1efdc4aa02e10dd5cac0b90d2122cf0f0cc68317f601f840160051c8101918385106110d8575b601f0160051c01905b8181106110cc5750610fc5565b600081556001016110bf565b90915081906110b6565b634e487b7160e01b83526041600452602483fd5b50346101e857806003193601126101e85761042360405161111681612291565b60058152640312e302e360dc1b60208201526040519182916020835260208301906123dd565b50346101e857806003193601126101e8577f00000000000000000000000037a35c2c8a29a099c3eb75affec9b3bfb7d376226001600160a01b031630036111955760206040516000805160206134ed8339815191528152f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608490fd5b5060403660031901126101e85761121561238e565b6024356001600160401b038111610c0857611234903690600401612370565b6001600160a01b037f00000000000000000000000037a35c2c8a29a099c3eb75affec9b3bfb7d37622811692919061126e308514156127c9565b61128b6000805160206134ed83398151915294828654161461282a565b611293612437565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156112c957505061027e915061288b565b82919216604051936352d1902d60e01b85526020948581600481865afa60009181611466575b506113505760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940361140f576113618261288b565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2825115801590611407575b61139c575b50505080f35b6000806113fe94604051946113b0866122c7565b602786527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c81870152660819985a5b195960ca1b604087015281519101845af46113f8612d58565b91612ec7565b50388080611396565b506001611391565b60405162461bcd60e51b815260048101849052602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b90918782813d831161148e575b61147d81836122fd565b810103126101e857505190386112ef565b503d611473565b50346101e8576114a436612402565b6040519160208301938385106001600160401b038611176114ce5761027e94604052858452612a64565b634e487b7160e01b600052604160045260246000fd5b50346101e8576020806003193601126116a7576114ff61238e565b6001600160a01b037f00000000000000000000000037a35c2c8a29a099c3eb75affec9b3bfb7d376228116611536308214156127c9565b6115536000805160206134ed83398151915291838354161461282a565b61155b612437565b60405191611568836122ac565b8583527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156115a25750505061027e915061288b565b83929316906040516352d1902d60e01b81528581600481865afa60009181611678575b506116265760405162461bcd60e51b815260048101879052602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608490fd5b9493940361140f576116378261288b565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28251158015906116705761139c5750505080f35b506000611391565b90918782813d83116116a0575b61168f81836122fd565b810103126101e857505190386115c5565b503d611685565b5080fd5b50346101e85760403660031901126101e8576116c56123a4565b336001600160a01b038216036116e15761027e9060043561273d565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b50346101e85760403660031901126101e8576117b860043561015f6117616123a4565b9180855261012d9060209180835261177f6001604089200154612631565b600082815281845260408082206001600160a01b0390971680835296855290205460ff16156117bc575b5060005252604060002061309d565b5080f35b81600052825260406000208460005282526040600020600160ff198254161790553384827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4386117a9565b50346101e85760403660031901126101e8576040602435916004358152609860205220906040519161183c83612291565b546001600160a01b0380821680855260a09290921c60208501529290156118aa575b6001600160601b036020820151169182810292818404149015171561189457604092612710915116918351928352046020820152f35b634e487b7160e01b600052601160045260246000fd5b506040516118b781612291565b609754838116825260a01c602082015261185e565b50346101e85760203660031901126101e85760016040602092600435815261012d8452200154604051908152f35b50346101e85761027e61190c36612402565b9161191f61191a8433612aef565b612a02565b612bb7565b50346101e857806003193601126101e8576101c8546040516001600160a01b039091168152602090f35b50346101e857806003193601126101e85760206101c354604051908152f35b50346101e857806003193601126101e8576101c6546040516001600160a01b039091168152602090f35b50346101e85760403660031901126101e8576119b161238e565b602435906001600160a01b0380806119c885612967565b16921691808314611abf57803314908115611a9c575b5015611a315782845260696020526040842080546001600160a01b03191683179055611a0983612967565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b90508452606a602052604084203360005260205260ff60406000205416386119de565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b50346101e85760203660031901126101e8576020610f446004356129c4565b50346101e857806003193601126101e8576040519080606554611b4f8161298a565b80855291600191808316908115610d285750600114611b785761042385610cb9818703826122fd565b9250606583526000805160206134cd8339815191525b828410611ba9575050508101602001610cb982610423610ca9565b80546020858701810191909152909301928101611b8e565b50346101e85760403660031901126101e857611bdb61238e565b6024356001600160601b03811691828203610b3257611bf8612437565b6127108311611c7d576001600160a01b0316918215611c38576020604051611c1f81612291565b848152015260a01b6001600160a01b0319161760975580f35b60405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608490fd5b50346101e85760203660031901126101e85760043563ffffffff60e01b81168091036116a757602090635a05180f60e01b8114908115611d1b575b506040519015158152f35b637965db0b60e01b811491508115611d35575b5082611d10565b63152a902d60e11b811491508115611d4f575b5082611d2e565b6380ac58cd60e01b811491508115611d81575b8115611d70575b5082611d48565b6301ffc9a760e01b14905082611d69565b635b5e139f60e01b81149150611d62565b50346101e85760c03660031901126101e8576044356001600160401b036004356024803560643584811161224a57611dce90369060040161224e565b93909260843586811161224657611de990369060040161224e565b96909760a435918211612242578594888a8994369060040190611e0b91612370565b8d600160a01b60019003968793846101c854169560405191829160209e8f8401953360601b87528c60348601526054850190611e4692613284565b90611e5092613284565b03601f1981018252611e6290826122fd565b5190207f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c52603c902090611e9991613405565b611ea2906132eb565b160361223057338b526101c9908187528260408d2054101561221e576101c7868d808a888554168a604051809481936331a9108f60e11b9889845260048401525af1801561214d578b918391612201575b508816331480159390612190575b50505061217e57548416803b1561217a576040518d81888183630852cd8d60e31b968783528d60048401525af1801561216d57612158575b50908c91856101c6541691823b15610b3257878492836040519586948593845260048401525af1801561214d57612135575b5050338b52855260408a205533156120f357600083815260676020526040902054849190611fa5906001600160a01b031615155b1561329f565b6101c55416604051928380926370c5e04560e11b82523360048301525afa9081156120e85788916120ae575b501561209c57606761205e92611fff611f9f84600052606760205260018060a01b0360406000205416151590565b3389526068815260408920600181540190558289525260408720336001600160601b0360a01b8254161790556040519384938492338a7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4613284565b0390209161207160405180938193613284565b039020907f4e88f4afe701ae07cd089ded22e4ea8bb7e9da1b9d5f7e156796dc0163ffd80e8380a380f35b604051631eb49d6d60e11b8152600490fd5b90508281813d83116120e1575b6120c581836122fd565b810103126120dd575180151581036120dd5738611fd1565b8780fd5b503d6120bb565b6040513d8a823e3d90fd5b606482856040519162461bcd60e51b83528160048401528201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b61213e9061227e565b612149578a38611f6b565b8a80fd5b6040513d84823e3d90fd5b612165909d91929d61227e565b9b9038611f39565b8e604051903d90823e3d90fd5b8c80fd5b60405163de271cf560e01b8152600490fd5b82935089896101c6541691604051948593849283528960048401525af19182156121f557916121c8575b5085163314158d8938611f01565b6121e89150893d8b116121ee575b6121e081836122fd565b810190613265565b386121ba565b503d6121d6565b604051903d90823e3d90fd5b6122189150823d84116121ee576121e081836122fd565b38611ef3565b604051630c8d9eab60e31b8152600490fd5b604051631b18b62560e31b8152600490fd5b8980fd5b8880fd5b8680fd5b9181601f84011215610ade578235916001600160401b038311610ade576020808501948460051b010111610ade57565b6001600160401b0381116114ce57604052565b604081019081106001600160401b038211176114ce57604052565b602081019081106001600160401b038211176114ce57604052565b606081019081106001600160401b038211176114ce57604052565b608081019081106001600160401b038211176114ce57604052565b90601f801991011681019081106001600160401b038211176114ce57604052565b6001600160401b0381116114ce57601f01601f191660200190565b9291926123458261231e565b9161235360405193846122fd565b829481845281830111610ade578281602093846000960137010152565b9080601f83011215610ade5781602061238b93359101612339565b90565b600435906001600160a01b0382168203610ade57565b602435906001600160a01b0382168203610ade57565b60005b8381106123cd5750506000910152565b81810151838201526020016123bd565b906020916123f6815180928185528580860191016123ba565b601f01601f1916010190565b6060906003190112610ade576001600160a01b03906004358281168103610ade57916024359081168103610ade579060443590565b3360009081527fa581b17bfc4d6578e300cafbf34fd2dc1fef0270d8c73f88a99dcde2859a6639602090815260408083205490929060ff161561247957505050565b61248233612f87565b9080845190612490826122e2565b6042825284820192606036853782511561261d576030845382519060019182101561261d5790607860218501536041915b8183116125af5750505061256d57604861256993869361254d9361253e985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a860152612515815180928c6037890191016123ba565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906123ba565b010360288101875201856122fd565b5192839262461bcd60e51b8452600484015260248301906123dd565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f81166010811015612609576f181899199a1a9b1b9c1cb0b131b232b360811b901a6125df8587612f60565b5360041c9280156125f5576000190191906124c1565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b60009080825260209061012d8252604092838120338252835260ff84822054161561265c5750505050565b61266533612f87565b91845190612672826122e2565b6042825284820192606036853782511561261d576030845382519060019182101561261d5790607860218501536041915b8183116126f75750505061256d57604861256993869361254d9361253e985198899376020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8a860152612515815180928c6037890191016123ba565b909192600f81166010811015612609576f181899199a1a9b1b9c1cb0b131b232b360811b901a6127278587612f60565b5360041c9280156125f5576000190191906126a3565b90604061277f9260009080825261012d806020528383209460018060a01b03169485845260205260ff8484205416612782575b50815261015f60205220613115565b50565b81835260205282822084835260205282822060ff1981541690553384827ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b8580a438612770565b156127d057565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561283157565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b803b156128c0576000805160206134ed83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b1561292257565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152606760205260409020546001600160a01b031661238b81151561291b565b90600182811c921680156129ba575b60208310146129a457565b634e487b7160e01b600052602260045260246000fd5b91607f1691612999565b6000818152606760205260409020546129e7906001600160a01b0316151561291b565b6000908152606960205260409020546001600160a01b031690565b15612a0957565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b90612a88939291612a7861191a8433612aef565b612a83838383612bb7565b612d88565b15612a8f57565b60405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b906001600160a01b038080612b0384612967565b16931691838314938415612b36575b508315612b20575b50505090565b612b2c919293506129c4565b1614388080612b1a565b909350600052606a60205260406000208260005260205260ff604060002054169238612b12565b15612b6457565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b90612bdf91612bc584612967565b6001600160a01b0393918416928492909183168414612b5d565b16918215612d0757806101c5541690604090815180936370c5e04560e11b825233600483015281602460209687935afa908115612cfc57600091612cc6575b5015612cb55790612c3b848693612c3489612967565b1614612b5d565b8560005260698352606781600020936001600160601b0360a01b9485815416905585600052606881528260002060001981540190558360005282600020600181540190558760005252600020918254161790557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4565b8151631eb49d6d60e11b8152600490fd5b8481813d8311612cf5575b612cdb81836122fd565b810103126116a757519081151582036101e8575038612c1e565b503d612cd1565b83513d6000823e3d90fd5b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b3d15612d83573d90612d698261231e565b91612d7760405193846122fd565b82523d6000602084013e565b606090565b91926000929190813b15612ebd57602091612dde9185604051958680958194630a85bd0160e11b9b8c845233600485015260018060a01b03809516602485015260448401526080606484015260848301906123dd565b0393165af190829082612e75575b5050612e6757612dfa612d58565b80519081612e625760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b6064820152608490fd5b602001fd5b6001600160e01b0319161490565b909192506020813d8211612eb5575b81612e91602093836122fd565b810103126116a75751906001600160e01b0319821682036101e85750903880612dec565b3d9150612e84565b5050505050600190565b91929015612f295750815115612edb575090565b3b15612ee45790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015612f3c5750805190602001fd5b60405162461bcd60e51b8152602060048201529081906125699060248301906123dd565b908151811015612f71570160200190565b634e487b7160e01b600052603260045260246000fd5b60405190612f94826122c7565b602a8252602082016040368237825115612f7157603090538151600190811015612f7157607860218401536029905b808211613017575050612fd35790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015613070576f181899199a1a9b1b9c1cb0b131b232b360811b901a6130468486612f60565b5360041c91801561305b576000190190612fc3565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b8054821015612f715760005260206000200190600090565b9190600183016000908282528060205260408220541560001461310f57845494680100000000000000008610156110e257836130ff6130e6886001604098999a01855584613085565b819391549060031b600019811b9283911b169119161790565b9055549382526020522055600190565b50925050565b906001820190600092818452826020526040842054908115156000146131fe57600019918083018181116131ea578254908482019182116131d6578082036131a1575b5050508054801561318d578201916131708383613085565b909182549160031b1b191690555582526020526040812055600190565b634e487b7160e01b86526031600452602486fd5b6131c16131b16130e69386613085565b90549060031b1c92839286613085565b90558652846020526040862055388080613158565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b87526011600452602487fd5b5050505090565b1561320c57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90816020910312610ade57516001600160a01b0381168103610ade5790565b91906001600160fb1b038111610ade5760051b809282370190565b156132a657565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b60058110156133ef57806132fc5750565b600181036133495760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b600281036133965760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b60031461339f57565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b9060418151146000146134335761342f916020820151906060604084015193015160001a9061343d565b9091565b5050600090600290565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116134c05791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156134b35781516001600160a01b038116156134ad579190565b50600190565b50604051903d90823e3d90fd5b5050505060009060039056fe8ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c7360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220347a0dfce5a6759a6362e1190fbf3e7509be3b68d068295c702ad9d3d12eff2e64736f6c6343000811003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e031238eda96cd7d3ffe7b52406a8b975e2e5414b3ea8717d22cbb6e61650070119354205581e03ff39cfef0da595e5cb8939556ffa3e5f279fec3f9c3adb43e1f5e25de00c014703b398950d1bcb05581e030a5e0d05302dd3329136b1ab5bb48722dd62f37db2a1db00aaccd5d1400407032aada6a9bc943a22a974a6a17fd4c8845821cf9ee66023de304e973672e0823f031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03d40e4cf02d4b182c124100ddc556c2aa6122fa9c3057cc61872132702007011bffffffffffffffff0219a83c03a1ac8611c7725ca1f1edc871be464d5b514b8439f37d8aef4f75142070dfe9af03fcc5a8a9f34fd593823471c03119984eb7c7a956437b498aa85e6c8e2db6f6370219ffff03df94085ab67d9fadcf68cc003f95db13cc7d1607241d2100e00869661bfea0ec038365b5ed8bce9d8a024b876add786e55fcba95bc8c46e97be3dd737257d25d21037bcfa9d84692f3cd9ced7875817aee8134333d54fba72f4147c79b3e65f0a000037611ce1f9ab9586504e9b4f9761d600bdf5b7f69525da1b8e27b7b5a0253e42d03ed02549142103138cd845f1931180aa1741c04e4b8b713dcc4241898a4a5f5e00219ffff03f40070865b98e1b85d10e38e72ddeae8341fb0fc8a5f7477f75e08b0659eb3ab03bbb0b0fdb06f437ab3f5916295cf832d6d6430bbcc6d1d443bb01f907c51938e038f3820d4d97e9392094492bf82494e13ba3c8c6e4f0069c96ec1b37a5219097b0219ffff03749e135dff0d0e31a5ffacc43bf1945fd653b4d8b9840425726e61580a9d88e2031a0add83cda1c9e57ac8b5d573a614cb38fcc30638f9fe8b4cde8ee68beeeb9203f74def65c7c92345e09e576d1c169855641d0ef21730b2dd47547ae9eac324e6033784b8a1d19461b3579ccbbe7301ae19b0c31c3340f4666ae79272c701ca71490343eb25ea720a8f5c016c2266a92af2d2c2f56c5cdbe3fb65b832fce1b699fc6003d2a272ef56e259ccb1933ee5a754868a91d256eac6de746b2cad30a6e3a07de60348eeca72c29fc5823a75f5fc27493a701d991b4cf3aaa93617f2b4ae0d7cb3df03131786a0735d7a1e5ac7ec01bd14ae238ba151a17738f1983087a88d63a84f9603b68894f1d750973fc4e4c7715d9bc8bfb093f16e731991010a4686f782ae9cf3038f3b9bf2aa48794bbf35be55379c7960a93eacefb06a879ed7c8ea677337d9d503efa897e81fcab7fadeb5648c44ae5bea11463dbe001f430e65633b8fdcd9caf70358a8445f1a77962ea58f6510c1ac464d9477ea1a687e60c5eae45cb0236ec46903bac8745abf3093e9e5d3a3b5d27bd51d7177102e98f329cf2cccedcacb85a30a036bc80187e51adf124598458089d90a273b712cd4726874848e048baa46b5e19c031d4ada6313e559a7d1b9ec29e9dd32ae45622ec252fd9bd90d4ac86b473b7ece036e2e2c25642acef1aaf4896793c8ac11d08f1281e6cda9fc469d4b2f1ae7485c032d50ccb02724ce48b54056a20bc7c108c748209fe30594ad2652a8709ff9988d03f24df4dc3f734da94bc88cc11de94b44239fad7f3901ca45a0d349266b61333303c71e06685b120d261d76a0edefa75303ed544422a3af52c2361476ecb0039060033e36a9141a05104ac650e4f8f51429750049af38a26464061780e9d2d600373203155823e9b01fe27e1a894bff1b3dc1899f33f93098e9516dd44dd8e7df6d7e5703d73dc48337213bc372d22a5b190958c6cdd3d3237ca81046ac3673d5c1f469b303bdacc8011a9225df017c63e0a443eae532995f91e204ed4a2bc4ed51f0e65d8503a0a3839e046bfd212a6111649d0e7a4b2e96d42a14364364cd73a7157ea444b40303d8a1a771857b4b29373e33844619589bd0c9822e3f27a4eb51bbc3bf86803f03a922b31178c5ef0324f8af12750035a908ae137b18e83f9f547d49a6f7302bd605581e03b31d31547685e78b25d677c5a05541dbcffa52fa22cd339db0b515ae700c014693e5c047d17005581e03be2b7b9ad099baa136ddbf3c7c2fc8629491d764fb3ef9e3712d888660040405581e03aa5ccc912da55a6387c23d64643e1b68b24775e8b1f1d2116a81d2dcb0040205581e03bdfdbed8ca2268170eefeb38829e667b4ee03406ea6c3264da755fbda00c0847180b1cdadd94000459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000018f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000006461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8b613b86565b8715611aab57611aab7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f000000000000000000000000000000000000097451ff859c3282305ffa26a9c581565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec79087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000181565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec781565b7f000000000000000000000000000000000000000000000000000000000000006481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000003416cf6c708da44db2624d63ea0aaef7113527c61614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec716939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b9450614bba60058c8b8d8b8b87898b60017f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b93508415614bee57614bee60068d7f0000000000000000000000000000000000000000000000000000000000000001615325565b8315614c2057614c2060068c7f0000000000000000000000000000000000000000000000000000000000000001615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a032ad8c64116d5cb03cb3cd4f85a41da41662fa5aa55857eaf9ebf60586e52683e0358fbcf8a061a27596a79284204a743f60d2b47d6f6dc45108d444bce040e19d6035d01332ecc9e32c61828e1c01ef79b78a3a1765754f58e0d3cf4052712081bcf031a6a450682251526b865a19e18f4a03bf367d15585d1c1449071e70d2a24143d032bbe966ec0ca69754364468706f281fdf01418a8dfa4b8180d1aec8685e173a7037f29d2b04ad0894d55403a6c3350df1ea5a6425979103766a61399c328d580250315ff9d29751c03033700eda319855cbee32d498e65eb38020a0bc74b98589cb503099e9ccf37cd004ecc2baeefdca46b16abc867960e8d7184f0ead0f95fc7932a037bfa22e18cb55d3694c97e8e1b07715ee047160bc1ea00c29d054a347fd7841c037ed1930914503dc92dde0db780c8401530b1a84d536b04e2defe0a9af03ac03f03f330d9e057c93150a0982de0ad04a0b8dd304a8d5d56b0b715f161d92ba8371100581f025e4a2c529cafeee2805d6c0d85d0300f2a228e26975e9a1ec280fc7c62c14f13caaa2d371937bf794485788dc4a100581f02c591769e5aa5b370db77e715442d119ddb62182b686c003350adeb8748524e3f44c67daf3d2ae840228b5183ba00581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f010000b400b4003200000c0000000000000001002a3064092c53bed74dbc7e0219244000582003e9ce35f982fa96d88196784586123e10a88f648589b3f04a77cba273393af04e7f56299390042dfdc61f1fd048c9033401cd63f71bacff6057ac01fe034a8ff9a27646bc59253d588326a6c9d563960058200398bd0833c99a539cfa0fc6086af393c5c2c8b98f008efab47e14917365ab305820ffffffffffffffffffffffffffffffffffff68a052105d27671fda56b11c3ddd03cf69912b2f2f29e17479f8fe6550681380a255f9ba5b88374a469ef73549da2f0058200357a2dc18de58b2ac31e50e99ddd63060d2b8b09132b0b5c98c474fb3b004e04f01af3e3b562d12e02e1101ccc6c89a033b37e7c1b73067361c5aba7d5d4d9f08884dba02db9f5d1e35f331cdea9d68d10353d9755f7a5aecfb043166250e20de5190b921666dbd1ef5891f1f7303fe11d1005820034423f8a87cc3bedb65fe5ad7df948cedb1e1791ad6d6c248b5e112e4bac5504f12cf4c62c7d8f904084c45a744c7bf030f82222cfe91843ab3a864c27b8058128beadfb523566f8efc77a04b0c776b2900582003d754944d94e776a61c639dd67d1827d63e2b29cc85b9eeed3dbae43efb23a04e0e33c54426c387d5e2f4058c3261021917df035a4c35e2bf16e04f40725862a732aad3fef8b0d030615cd8133fcfecad08b55603d6f620c2da6b206dfa4daa7d346eefce4e77b33a802472b6bdf3bded1a7dd29903eb73b86831c198ecdad70448c17dc0c5a097ce83cc557ae7a0e0ae70a3a5426003449dfcaf1ee4b755e9e13739f75ad1586568df97fd354495c010d50cd666e05d035262d39d5bd0d29073755f6e0198a22e427811768c1636fba505569a6f12bc2a03404a00344c159c27849790c3ae623f5448a44ad35d4adfbd44282dc891726a730219ffff03fbbb6f1ea0de9a45e875141ab09cd900ba3035e33e0aa4467b2a163d28fe608200582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c058200100004d8a00001f77bdb87a8d116e0d23b5070c46fffffff5f016fc6632585300582003cbc542401c95839ee00be30d364b27dc32951d414d1d08a381a4d74a0114705820ffffffffffffffffffffffffffffffffffdf99e6c1ced0c8aaee27ff5184c9a10388ab160a44b395b3b6dde96c0e68119795d6cb78f0f2f63e8f90b3926ffe42c600582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05002eab13cd3bf2c54a6fb06866e950bd500582003afb54a60dc53a56ff98bc5fac5fdd84b55a2b7354fa3ca72e6aacfe475efc04d01f868310d83903dfc0e7f568b00582003e82249042d05a84cdac426e55e48b6c3362bdf9c416ae517f44bf7be34d9a04e94b44ff0155eca6c7d7be5dac93503bc9eadfa94099079d6bdda3230dbd38a5ca82b8aa11ae5028097e1b3886d55110058200387584add41476444ad1871225d5db57d03e0ef533b66d413ef488e17be7570470225a558e68a4d033d598d78a6a69756a5b3a50f93d82b1733805bfdd4b04c64861c4517c7c43ccd005820033d60d50594566edea67288b34816b76c5b8468174f900487045d8dcc80ea604f01cf5c8a4c6e081b29d78d3b3a1e7d0219ceae03ef90a31a5ee7d788b44431f01c021f3abfe0f1e6eb42de20086e59593b0c177b036ecd23c2f51b20dc85280eefb5487162ce8fe9eb4f8fb7476514703b376e3897036c2b0ca8e7f481af5e6726cdb2514f30afeb382c8bab3605473c42f2a6de4d8903d330e525e70b6aedbf014e587226172e6874b3ced4314d4a87d2cf6ba1774a91030b22ff777f05eefd90923b16dca725fb6a5135e7beabd877d348de77441d99cf033ca7d43c33a0949e5d31ffa611338b0cdf13ea751be7b8659b48499dd45d3895034ad38da43ea5d47fe27c3a987d4401005ee582e24c31f53dc7324cfee7c43c55036452c98c405937533cbfa32c1cff1847d14e95633b5d5f1e935e19220d798e2203aa06f6775cda89c8358400cd3d20477bf0eeed8d841f45b7f5fbdbcfca7b7fda030b7c7d9ebc36a61d08e7e2c5c50e040a57fd1d115135dc198ff76a277a0e30e50346d3bf8adf4881402136c58534ca61edb339faddfbe909d8b0cfc2a88079744203dcd3c79a2db1b47b91770510d21d26978ceb748a037e671e5e6dba666bbd32bf0317ec4539e66a661a3d9dd89624d30483cb7fff49837bbc466f6e2d2532b8fd470343803cc777c68b8b585eaf131ac416d41741bb4cf5594542ad0442faa1f3001103522a8541de63aadfe73ed9c2f81732b57a0fa3195d6daeec7ddfd9d11690bc360219ffff031925ee6d60aab7d6a13abd4ac058d18d35dadb9113ec4014f93939a3e5913f9f03078b48082c1ca86c69301d9090028ef8a02691b2724ba735b5cecfcd1d49a2d303ed6bd63b5eaf9acb2c7226a0e7ac43c7b02d2cd627c34847a38c515a8d1fe60d03c4e6726d1777a27237f2f9b5fd5b66f62cf9daf309d1e70b983cd53b8624aa3203d6d6b761da6664203ee4bbbf6fa5dd829c606dd0c0176be13a1424cac430acfd03925a7edaf89c493708166f2d7900ca816d6c72d7fe971553f117562ba33eb07d03fbbf45ae6a8987f75ffa7d6433b1e30e8a9078277a37c0f95abcd09fee1240cb039cc12afc8c5425876583424b71fc4edb1575fe15ced805a6ae348ea9e36216f8039702f0bfff1e3498a3ae6fe0fc318d92b4c3487d650e8b55c63eba8c1f972e470322f9c245d1bf4d6dd0cf8a8f62b93edd8fce084ae1f72663a2e6587d0312b6ce03a08b3ee570e53d8270ed65fb1177d3be4f9edcc34aba80dfa603a7a8de3128bf03b7ed29974d813aa9379f1a7b693ceeebbdda0c75078de0e60a80442679bae78b035bd2c29f437993df8838158673909dfe6c5ce3fd846b651ed1b8b75ac28ac3ae00582003d7100c4f12375ee319ff7387be3ce6e91a8cffd0c644a0c9fee5165aa316204f11b4dc6126ea426e515275f7227909005820031ae9e3c0281ea37d15c72abe4997d3c62679997c9509d76f85714740bb57a04f012b9d3aae94cbdd1c46845bf86e17005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0474972e8128e1d6f0058200389a02f720093ed24ab151af43637dd816170137d5c222d5c2a905e07ee5ee04d13b88bedfd7c3c0b4020dea89100582003bff276b235b0cbf770abda46a7d989aad94e937e04e8839f51a7b4ca65f5504f4105085086d658069d724624828e33005820033ecbd4e2489a701a94f47516e018a5098923900cad2295efec593b907212304f1b7e9d246942398946b6fb31d537bb00582003c93cdd2a1480335e831c1ca37a129e6d66ddab7d3315aca670fa912e71edc04101005820039b44677a05416001d8055e0728dace8da61d599dfa9e7930bca02a7541c2104faadb5b19c02246c8e25b3af89cabdc0058200377c2234b92ec573f8647b3cbcd3b1af0bc8f647182c6b50aeaad66074bc6804e93f2b02823a42ea1e3a41d1faadf005820037a86528bb713b4c53d513d509198da92056e8fc55a91cea02eb5bd73596fe04421066a780219f49e030d996d4131e23d5b5c0383aa78008fa3737cfb2ef3f8280beec72c44af5847d303689f0d5e260213d608f34edfd2d1e1fb6d5524665714ce41dc681e7acebe59c203ad335a3b986e2a5d9fdea351e6e06e035870d0defb4541e9e5637a9dcda431df03eca0b221477c0bd1e6df142def3c53eb80d8b1dc34d407c4d0d733b82db73a14036c25349ded77917df67314a08fade3c04cccb849766aa3f47a222e5a42a2d3020219ffff036ac80845b3a300896250f28dc77c75060ef0ad6eaf7ab075f9d767e5107daf8a03e4274a47d4d7127ca3bc6698110ac141369e173c7e8862c70867889747b3f991038687d1fd9f2cc80df5f71fde7651eca029f3cda96e27e342ce2865b18346e95c035a7be533bf79e63c078ba2988247e86491ecca84507f1f30aabb7a7882919cbb0377e976fd53806a0f82c4ab0416ecfe0b2e3372dda3d180e5edc90d03c01c953303d2a4093b235728a72904807f8a088c265fed4e5fa2c545aceffdc17ed08dfd4303500ed075e3dd82b96ae6f16ad5eaad33648068e47f57c46fe948126af4d4b4ef03e250754c060f09629276c478e3c3bbb7bf8572e19dcac057bba15f7e948c0e5d0356536d96634dab5107284e6ff42ac8fc5b219eba7416d544261fa646738d335403c5a3d52176bb21eeb623665e0bf0f05921673dbd56feb7d10588416e57f2356f0058200391b10510f19480130d3bd135028dd5b436ff23b9b0d97faccab4d8c9f3f2c04f11eb6a83bfd5a1f0830a119e9b12a3005820035d43cc70869bc492b65927b232e57b26631801ad2e04f86adda5d560b634d05820fffffffffffffffffffffffffffffffffff1389a887d028f5031a64c8708855600581f02b87e03ab062d9cbd04e7e3c8f35f5c4a4ffd233941a57c08e09635264a444d0474a49968637c8c6cb1189e9d00581f020f4808f7f0c52440675894727c9e66265266cd1e1f5015f8b745ca2de5f34d18800000000412002267ffffff02190500021914b403ffb47300854cdf72a37e91afa61553769a2f129c46e03f61afc232dd6ac7b75b0392161806e8a760cb5ad63b14d6fa5709c85ad0d39705f206732bfdc68fed5d5f034cdc877924e2bc60b088945a15e2a2dde1f917fcf3957d76cb17d7e39e46a99003478b0fd9c0b179d61c7880e4492e6856c582ea06f5ede14fbc671b84ab0dc62e039ccde573fd718fd25e624f1e17a1dc06abfa8723b51a4319150d7dfca1deded003a59176b8f64fa4b775bfaf4f9fd13b3acd19e306a50c07396aa70489caedc00603eabd9816b239b5753526815b6aafd6916e4d8de044537ba97920870107f7ea5d0342e6e30dee1b940880f9b663e6af1bec6d5dc413c78f52e15ad86cd7dce3cb3e03336699682636fe89c38dc45a7c2b2a71acc926623005f211fb975192c2ff121a03ce14874e233efe735b65ec25bf061fea388282548971d933f8eefae936270c2e03dac5d019529b07885551f29414c90ec8d78a02bad68c8e1af225775fb73e53510381cab0b58a258ada6610f82a2249070c3a4700454c4530492fa79bfd6afa48c5036ab7cf0509cdd6cfb0e6bf2693af011b18376d402e113d0476603e0a4f17639b03731ddb170a167d09c6f5bb3b68866433abd83d3629cc267bb083d2ba6436271b0219ffff0219ffff05581d020424e55f34b9bade0b0fc2b74976c4104957f11b8d921dd93457e1bf070119567e05581d02dee2ec8e68e3d474a40fb14104752578d79934ac4e3444b39e4174a9040205581d02f0d3edaf2c69b0471d5bf2d3b7466f65a3281595c4ff8b85cf0efadd0c014701ed6d9ed0c1900219011105581e03040a884f3cad7bedd4792d5cae56e7ed3c5a4ed2ff803b8a2e67fc18600c0747fc5c2fb095116105581e031917deedd30b83dc0ce12d3fad687e33069fb9758ee676e25536b80b30041205581e03cc871fabd09d1b4741f011c4086897ed867103db76c963441c1b7576d00401021978690327213924a016e6425658b5c00546f2a1fcc5c82a4580af7a0ee0f2538c6120c70304d5915b88564ab333dbba193c5c6ed84620cde6c69a06542bc93cb0651d9ddc0373c72d0b74d96f66c821f5c90fa66f3e20b35c05eea76f7bd7f9de55db52fdee034788917e401b1fb2ca62da0b21514e1cba398f5abacd298fc336c40d92d93cde0219ffff039377a6eb28dc60ac7502237d11ec3109b684bd31144c6d6c157e1d8ff4ca38b9039d48d06c84d72517e2dcdf41ac70c570e52dd5895559e660b8b057e200079572038a3503b5c3bb66ae267c746e540fcbec441750d5a6605fbb307ec1075bf9f139039a51e683801f420724943959d338957606b122552b7e7d9cd9e61e86f451bb2e0313bba3f53e6e3b65320ddea3465a8e97c9293c632877a934d3505e3ede7c915d0219ffff039ee1249bcdfef9e3eff589575f049d87a9c6eb64264d4cc30b6f35daaf6d938f033407b2b2a7a7d97c47aad9a82a3f87f65c2135dc7d514df20e02b06aed25ef68037220d67035ef52b0003a11f28f8026550f6506a032659143e39472f2157a643503ce7313c056b3d9f540e2b8b794f137184e076a087388f672a5a0560e9352578603ee7cb5e74e0b4e2940609a6ca0670941b25ad03a95d7cb139a82a615c5d53773034067f352e117fddb05c22b71566456fbd049458ce883e71fae21d7f994f09ec40301d6159237b545e6acb2b1e8cc608d92af430bb8430ee5f13e09ec357354031e0309e08e6b53b2adf94648b3545c84ffa05b46b4b0926bd7d0dfc6b65708d57f690313dbc21c3a5294009313b134af05213bbc669cd3c6bbae6a75d45f6d0557ec880370f9c3da51821dab74d9809ffccd5c95159234abb3701d96c60763d01961ff2803d34593492148c515ef2a9bcb0a174acb44d341a5ea0f9a87f1039eff2a607d7a0337ace5c3f4e69f3174fe4da8a9737f600578ef63666110bd23afb3941b615f0a0351ad537282b3906295a0e3bded788c92c62191ab280f4b1b33bc72a61d5eea8c03825b3f8ba683e805e6316e605d43f14d63f649fd2cf163e1a7bd3aa098bbae57038b9cd9ef3449ec1ce00b40e23c9cb6e7574dd5db6684743fd94af49db9dd4453031a911b99628d27623752e430d55f88a845a463ba57e0e18e43c00357adf517be03f9f6a1b3e833e9dc6c939f59b4b7d8fe10b55aff3d196a16f304c830ad72cc8405581e03849232c3227d8a713d875ecbd64df1f73a6603638ad73f5cd08c5428a00c18cb480c07d0a3e1ee544c037644d6da6b0befde00dde3471306e4a2fa79c85ac31f8207304a98a88217c68d05581e03aca59670b46072596aaf031048677faae429073f8536719117440df7300c0247029c7a85e8f000038fecb748ec7c38c351cf15541e93a3cf96d2833536f77c0d15ab539c4d25409a03f85634d16cadce353e330357319570ecb35bbb1171b73cf97364c020210afff105581e037ea53cf88916e34a2abe2a6d5b81e86828f5e5bee002ff935d0c2c86c0040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03bc93bd092a44838ef8ba25302bd3ec0f94fc24c454c170a56ecb2d806007011bffffffffffffffff033e00cfa802fc9f186b282d96c812e44c275a3ea8b1a3cb3f1838fd374665931005581e03ea6fd6af8981a306e2ddd861b2c034c6596cc0e7aec54fcaf2cd050ee0040105581e03c028963fadc896d0108cd102bba24edd1508a5be7844cba74cb72849900c13470139733fbebea70219d9f103c2cd44b5b0e4fca2256b9b0e735174a079f7bce4c1901fb65420314887d8574f031d43070edec8c0d05c5df6b20de33c7487e71633f2b3b022ef9572bdd80239ea03c4189aed127f52501309df1750341b506e1e5c243b652c65d08f72e07a808e27031c7071a1d6d89ef5045f6a01bb61479587ec69fb4b4d3e6af2fdafc527629ca6038668f24d6297b10cc2eb58fbb6be7f97094031d2249f4677f294d2d661a1eb5003b0a8dab4323d422ba0cd14bc4bf09115339afffdb008ac5c8938c643f074008f03dc799a8e0e8aff1ecbf60597735a344554cf61794a1f5edeaf77047cf314e83803de45ff7898d17a9aa29345ac1207e10417b14c3b26b8e2e938a4de6426b41e9a036a231409ae48e23908f440d305a64b83cc289bd80913209404580afa7da2e4dd0318a6a1fdac285aa08dbc6de37e63218b1db9c40fdc4642c4ffe2e07dc7ef7b0d039ee2f355404a1f94bb3745f306ecba091d4a21a3c966aaa61026a0212670595a03381ca767e360044922e7fcf7073a6b4fd9d45763f0cc78925cb873ec0ec14aa60219ffff037b73e43ec1aed861645388936f4ce55ac3dfab1a08a1c47bc26ced94551482bb0346162bdd13f205292c32b05d2b3d2277be1148d06b45f5b093f82ac2bcdbe084036a6473bfc4f70695f21e4f9c0ec6355f21a3136d570c609397c199be83dd78400219ffff039001ca2398bc180187fb8de386864e150a8bf366495b4238992e5b269169d6bc0384dc4c3effdd26e15ed9e1b291328e929a5faa770d5fb709d7ffb40defe0859b03f50e97fb39cfde5b44902be33326863181af0b105d74d5e9390c1d5722e6624d03d4bc87336e2e8a1436cb591cbf0f022ecff5b916cd6430dfb8b85e527f52406b0306265a76015e7147f6c17c88e53fc30be2a53ef3638545af5c88ac93085196e903edd3fc72f3869ac3c5ab9c606a5dfe082137b7afbbc5d78c5ae7b240f1a551a0030ec8d93f34f744aafed5b2a798a1de52471bdeec8b007b8c67357783038a0a170219ffff03707b493101045193fa87f591e2aa592a0072974d98a18d993a1e239bfc4ada8c03820bdf940814947a2bffbe2efad9515facc952e8297a5f9f7bb923b2da4bb6a00219ffff035bd9cfd367566ea704f4a2177b8f25366ad0e5ec7d28b253d0d0440df7f49b4c03654b4dc2e7ac23e89edbfec7339575c9c9645dcc0caa672c3037412cc72d701703dc5afb4ac324da37f5cda90b7906b4de107bdf8b183a324bd3cb9f11372edd2d03476f459daf664df028220e37a516a5e6861c9ec06650e55cea4caba3c39a06ca038c2403416f3d7503c5937e87af5938a488d89a101cd9a6d1b669d9124877338b0344504816f36f4b97039d9a2703c1b421e6f7deb4beb5dc772f72d8b68216fe0303ec909aa2e85e5cf3e8001a72110b9a1a2bed363b71d331db0b5c1b780ca2a1b603fc924531c9288d85535d7127f84414030803624b4e3e3203d1273c9156e952a3030672328a6cd1bce691db957b0eeec75d14a0b674dadb12ebac5160cda128a4e50334148227fdedd294d3c4b3e70f3bacf95ea90f677fc1d0bcb8845c818e9e19e20315e02366fd6ca9538fa4570a873bc923959387602bd964f7f210a33aa9682ae6031c165831fcd2b08c177c1675d6bb8f2c080e7457f8612ae2e5a1e8ff0f9517230394efcc4df40e8bbedb202385b5290b3e0ac851d3e54ad9c561c814f200f8e42303e026981f07665b8386b7f906beff94a49a7b047610925032561debb95893027903a9544dd508029d120453833b91458c40f456fc73828a2fa3a25e4ba78217b02d0317652675e60cff7d93fa2495cb3ea720d4e6ae0bcef8c45446f653720137bc7e033569f086218b6575726eb2172e0ef7d9bb77b094e9fc38576fc692d0bf8c7621030464aed49c59503482183e58e661649cb3d32c2455e9683d84975281105b511403650a69abf71c426c0fc171698689d06d0513f6c2291362e6cffe0ed9ba7e5da303708c97100989a65bd3118233202f354cdf06d10da7f9aad714b7086dde2e407a0359442d42f03d7ac546b92a3c608bfe04b3b9a80836287d37f198ace60ec8d3fe036ab0ce7928dc890eded1b9911bbe806a0afff76e5171425f0f4a8b86e926fcd205581e03bd2c2ca84ef97bfbf4682b4c3c3431001ff2024a8d215e3205dad451a00c185e47921d4efc1ab33b05581e03fa5b77deff60086902f05b1e5a95e4f3ef1d133d973cec364734b8cf700c02471a0ed8b16476f903dfabd3b53d7c8b2ab41e5d95ae8902aad11bb1d1d9d7fc766d0a69a7d911a1210330cd746caf6b3c038f86648fdf4e2a049d237f521899800dc2902f7e69fed2b803fa6eebef7028f9aa8b680a117bb79ebd2b0a56ef880617d25f500b7cbd95d65603762f2495b8d8a9f4ac360752a023934a06ec479dc1f0436080b290d94c46b2e905581e039916039e50ff7bbd8e6455ee0eeba5859afe246addc643020d677a1b4007011bffffffffffffffff05581e03ddf079935dd5b5ecf0cb11e2015658f6a8e0f3827199661587cd51b3a00c034745ea05f1456bf005581e03b4cd8881afef52f05d4ebf4c2ddcdde2d5c88da2a35068fec35d0b8ef004010339b2abcee24c128fc061dbfd33c0218a2f5013d8e0dfe8a84ea4035313f0227e03e2a8dc4348189117f14e30eb98ca8c3162e5c2614cac46d6db5ecbdea04ec71405581e032166b014def55a586ac43b32b23e72b18504e9084f9217bdc16f07b7d007011bffffffffffffffff034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03727d9af510051de22e88f174c50f67ff6606c6eac404411b4aa4187d8007011bffffffffffffffff05581e0327dec345c62f379f54e73fab3ff460ccb10d59e45f55713cd3ffa048d00847b541910b489c0002197d9b03aecfd89c216d8fae55aa87c621b2951d622ecfcb3bd882b39b882f32f993062603e17df74a6204af10c44784d0f2b97e7913f6aa8ad8958b3902c8c4c29b25fb2f03cf3c9e0bc5c9a5ad1cc32dd7651cd21dca2d59d36d8d70c52e21af3168a404720356315f6e2502e03dfaf0fa84ab53b97a574b484bffe73bed0d202278bcd826b003608b9c8c597f44c7d0ae9042b37bf144c54219e58334f22a9f89df987dab44d10219ffff0306ce9fb14a68f80a519c8f393c31e4d34d903e53615d0f9882d6b5ac0f6419ad035d4881fb4b9630225abda6cbafd70144069eb5cd9816624c0b7c8b7bc6943da403bf0a50b68653ea1841615f67b544ba80e1a86d5e3e07885659005d0271efea5a033d6ead6c8db87c49407a7b19df7dd2bfee4837d9443a748296d5d254341263c703bf0906a12bdbc029cf1735442ee37036afb111d7e403b31a6cdb39f211c5ec17037865be1eae57fb130fcda904e425d571710c9c33ac6d40ec7f7046ad24e69c4b03f1a23b9a5f36f4354103cb2de3ad3409954bd789455191aa77013ae9b4494d3003436811ad87b27fe707c46d31b35f3bbfa56bd348fd54b7ad31195f012195f4f303c491270e46daa0e2933f52a874ec52db3bb2e9f5a0e8b3ff08ee504644530c7803b1b94453c7ec9d10cd7297064433dce9398def12eadbee7e9ed8c15be83a8024031f6db9eb3cf17d39f72078d240f23b81a51dc490ece2bdfb7d03c09d4ba968fb0219ffff0351bf80e3ceb8dd9db12f0b7f1970c13ac8dd38f8ac32be7e3ea432786787b5b3032572e8836179c1037eda6df078c42529b0674cc8334b644b09767210499057b20308c368a49aeffa384f6a0764270dba66432a81f9c970c50eaf9daa3f20a97d4103c98a70435d3d8249da43add0930d1b5a60a4ff367412fcb5adb307c5ef427b3203e855607311062dd3254691309af8c6207bac1d78b6578c03259327b680c11bbf03d1441115f59d85ce83e47a0e40b6b539081d63f51f6a2b8ff82066bdb5d0326903c04990c1d629f5d7d99b127d8a96e1b16fc5a794001afc0628ce4a5897766c6e0358b865275a77d0b78c4dc1b42da06774e028af4b0e99b992b0a324890cd52a720219ffff035929ad564269a6b90167e436d5dbb52303aaf88bd62947e1022f89bb4adeab44031647fce6e1a99dbbddfa4fd10b8648716479aba004441ffad20ba8e80449a3a10366c55585fa88a47098edf2a37a6a8f08c9cc6aa2d23d06187850b09d1ac5e8510369872141d379994716346d50ea5ae446d698a7ac363663b1aa340e408502959303c2c86bd7c131d6933ee8ae96476cc6e52d8fa9dead191d4bfeef9b4bbffd8820030408ba36688b01e0925eaca769eefad0d778ba3ffc5da740543947230946023003f791190a6ae2ea9a57ebf3a05578b8f55d8f23e17fa90829dd7ef17bc8515ac003c9becdca1a70f3d3cb45c9ee2134901e425dd5b3d38cab4465e098197d67519103f617355ac12a584d9b21446e577fdafff44b75c00426231e94ffa568293a0fc3032c447800ad61bd070d33b7af0f6026233a753ad51133fe29789bf4de5224e6ab03dc0cd8bb67a35eb008e03ea0217a53b091ebf0bcaa4381286649e17ec0822f0103e044f64fcaa939ea75c8f8d129f9b57f6fe99ea05c8b7982a3ea15b45b17124803646430122005ac403425ccc50b1266830db090cfa3031bfdb0d7eb0919d6ac81034abfa024fd86ddd02109d6e7596bfc983641589ed6286ff17e1410a0db9b6e6803d5c9961045bb1679468a1c8af828e1a593c28a0459fe05b8f1780f8e1794a9c903391974181b66783ba18945f5dc1bfb69e2f11d371594f58e4ca4b3819bc5ed7b037b16261ce9eb7dd7e0f43adca07c9a2d09816b799127dd092490d51b0b5b7ac9030720d4fbb287b07d40deb1e34a0705ff6822bc18d024b7989e3a64e91228e95903b7b525c3eadf7796d80f3503b0dea1979c50c0cf73189d2bfdaa01725560059403f4af670d76401e99549cf05521fcbac9b727d2e1506955f3687eabd757c864750389c8f40e784288d4bf1d911d8f3cea8e7b67d4e0c2ea9e36da7435ad8e2f894b03a1ce99c1b8047d5bd4375f0cd5b0a507ca9f8c999ffebbb0662c9d376d4695b7036136fe96bf84be7306be566480c59adc8e1f83d0cbcf834a0e03881bf0e2bc7c0308698479a3b0b28ad175ff8ea24f7a7b6b2cc42d0d0f14d76bedad283655df9d03f4cc5c702aea8ea4596af20f3d36803abfd1da96b851c86da558fb226215e5e903722c330c325760f1009719a12fc863295b24785cd525201c5e0b99db6e4822e2036e27f7b9c0149ca9ddca5426516860bd16e55304c6c83d612e13793faa9c30120374796ba5db733119174815669fa5352e116eb2c2f58cd2e9ffc63037418a559c039c0ab5541cf3e804813ee62c223fb138be9d21e780f3fd67e63c831b0c839e600376d397a743fecff68f58dcf366161725381ef5c3ce6e85a5f7036da33ea8c03e03155ceae4ef234750e47175a947ac06a5b6ee4bc8161396fdfca34f76adda439705581e0398ab768ee93aa085e25769a60d5da1e388fb9ae6c7b1c98cad94bffa80040303982f618beb01f6c90b3d205fde49ddeacd9d1ce6a709a934708dec1d60b7092905581e030eaf68b27a57ad10439d9863c06eca29daabbf20a1280c4dc917601840040203d28257ea9453289d42b17c076ee10706d9391c5a9c7faae2f84207b8ca91665705581e039cf3d8bc477453862e767e31337bd51a1f43a8d67aa5d0203809d53b400406030978ae96a9ba1a0ffe472bdb655bfc97607df219b2ec28952c9d2335a1d8799b05581e0322ef28c90a98135aa418b8c939099ff57013a48bd7b592c61e3a9aa6f0040105581e038bf783eb9f1ad5571bd4ca1562d7717681f1080a2faa60b1bb211c3f500c0547538d26ddedec7803ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e032c9b474513ae9280a5859fe41e4741db07559cf6b60ca22bc8ee747b4007011bffffffffffffffff05581e031670e3b539d74936df79a8f6943a5b328b1f98edcf4a68949061a630600c15471f4e939251700005581d023bc2390da945295dcaf79117c7fdd5e8c14e12ffb0e361fe7f35e7e7040204590c1660806040526004361061005a5760003560e01c80638fd3ab80116100435780638fd3ab80146100ac578063d925a56d146100ce578063d9627aa4146100e35761005a565b8063031b905c1461005f5780636ae4b4f71461008a575b600080fd5b34801561006b57600080fd5b506100746100f6565b6040516100819190610a5d565b60405180910390f35b34801561009657600080fd5b5061009f61011a565b6040516100819190610adb565b3480156100b857600080fd5b506100c1610153565b6040516100819190610a66565b3480156100da57600080fd5b506100746101a3565b6100746100f13660046109c5565b6101c7565b7f000000000000000000000000000000000000000000000001000000010000000181565b6040518060400160405280600e81526020017f556e69737761704665617475726500000000000000000000000000000000000081525081565b600061017e7fd9627aa400000000000000000000000000000000000000000000000000000000610932565b507f2c64c5ef0000000000000000000000000000000000000000000000000000000090565b7f0000100800000480002c0040100000082000000000000002000000101080000181565b60006001851161020c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020390610b4c565b60405180910390fd5b506004803560248101610a0052610a208390527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610a40527f000000000000000000000000f740b67da229f2f10bcbd38a7979992fcc71b8eb610a60527f0000100800000480002c00401000000820000000000000020000001010800001610a805284917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91013501600080805b8381101561055e576102cb816105e1565b6102d7600183016105e1565b93506102e284610606565b6102eb82610606565b108380610303576102fc868461062e565b9050600094505b836103d95773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee831480156103c1578b341461033157600080fd5b610a405193507fd0e30db000000000000000000000000000000000000000000000000000000000610b00526000806004610b008f885af161037457610374610743565b7fa9059cbb00000000000000000000000000000000000000000000000000000000610b005281610b04528b610b24526000806044610b006000885af16103bc576103bc610743565b6103d7565b34156103cc57600080fd5b6103d78c838661074d565b505b7f0902f1ac00000000000000000000000000000000000000000000000000000000610b00526040610c006004610b00845afa61041757610417610743565b60403d101561042557600080fd5b8792506000808315801561044457610c20519250610c00519150610451565b610c00519250610c205191505b506e01000000000000000000000000000085111561046e57600080fd5b6103e585026103e883028101828202049a5050505060009250866001850114600081146104c45773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee871480156104ba573094506104be565b3394505b506104df565b6104d96104d3600287016105e1565b8861062e565b95508593505b507f022c0d9f00000000000000000000000000000000000000000000000000000000610b005281801561051c576000610b045288610b2452610528565b88610b04526000610b24525b5082610b44526080610b64526000610b845260008060a4610b006000855af161055357610553610743565b5050506001016102ba565b505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114156105da577f2e1a7d4d00000000000000000000000000000000000000000000000000000000610b005282610b04526000806024610b006000610a40515af16105c2576105c2610743565b6000806000610b0086335af16105da576105da610743565b50506108ef565b610a005173ffffffffffffffffffffffffffffffffffffffff60209290920201351690565b8073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8114156106295750610a40515b919050565b600061063982610606565b915061064483610606565b9250828210801561065e5783610b145282610b0052610669565b82610b145283610b00525b506028610b0c20610a205180156106ce577fffc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac0000000000000000000000610b005281610b15527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303610b355261071e565b7fff5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000610b005281610b15527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f610b35525b50506055610b002073ffffffffffffffffffffffffffffffffffffffff169392505050565b3d6000803e3d6000fd5b610756816108c4565b156107ce577fdd62ed3e00000000000000000000000000000000000000000000000000000000610b005233610b045230610b24526020610c006044610b00845afa806107a4576107a4610743565b5060203d10156107b357600080fd5b82610c005110156107ce576107c983838361083e565b610839565b7f23b872dd00000000000000000000000000000000000000000000000000000000610b005233610b045281610b245282610b44526020610c006064610b006000855af13d6001610c0051146020821015168115178216915050806108375761083784848461083e565b505b505050565b7fbca8c7b500000000000000000000000000000000000000000000000000000000610b005280610b04526040610b24526064610b44527f23b872dd00000000000000000000000000000000000000000000000000000000610b645233610b685281610b885282610ba85260008060c8610b006000610a60515af161083957610839610743565b600081600052600161010083061b60016101006020600020061b1780610a8051821614915050919050565b82811015610929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161020390610ba9565b95945050505050565b6040517f6eb224cb0000000000000000000000000000000000000000000000000000000081523090636eb224cb906109909084907f000000000000000000000000f9b30557afcf76ea82c04015d80057fa2147dfa990600401610a93565b600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b5050505050565b6000806000806000608086880312156109dc578081fd5b853567ffffffffffffffff808211156109f3578283fd5b818801915088601f830112610a06578283fd5b813581811115610a14578384fd5b8960208083028501011115610a27578384fd5b6020928301975095505086013592506040860135915060608601358015158114610a4f578182fd5b809150509295509295909350565b90815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b6000602080835283518082850152825b81811015610b0757858101830151858201604001528201610aeb565b81811115610b185783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60208082526022908201527f556e6973776170466561747572652f496e76616c6964546f6b656e734c656e6760408201527f7468000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601a908201527f556e6973776170466561747572652f556e646572426f7567687400000000000060408201526060019056fea2646970667358221220db2978db29758b0bdede9f7148568a66b29027c69f656f56ad4e3b624415657864736f6c634300060c00330605581d02a678b839f4ec7c8a70b3f2d10ae9db7bf4792eb7f711e47c9f85f9d00701190c1602198800021997fc03423adcf6b11e0e9ba46237e6c25672db77f718a48b8d7cb727f596ebaf9106d203b395853634814acb65678f4b7fe458e8a9b344b5ebfc58463d82e17c77774b5203323beda1e25fb20e625a98bf31f2bc3fdad65e450849cee9e55b6252b4880bdc0352cfc54dc12a134784698658561990cc474a7a9f7e501da6180929c35dfa376b038235275261b391a0dd29fca5d505e490bc5e3ae28926eac89c099955a1fb4c5f031f28be6387903577a23d6aaa0bc5f119408257fb769a43c8bfdbe73fcd4cfb02038081833c1cb484307462438eca7a321d3d8d9df39b9d6f7b815ab5578c7c0dd80219ffff03d877d0cec3611eacb09d370158feca9d9f37783a68f099631088f06393d9e3b603e46179c3bdc1ddbdb19e1c4089c6ab1b255669b0c79871723025285c13da671a035b10509b2b6b78bf2a20e81c23fbdba5b73cc22a6ee223b4b8e7371aab785a040312f6969943b05aca39249e2e1b6f2e6e1f301267e1b978184b0754bc9519dbf303942d742d4a20c1780e852f601d7ded533e25217ff592c279ec4e0f9c62d3bec903e6dde01e2c4475cfa1f2e182c7ddc7e3c0d398e1f1661f21ebc65ddc14984d98035e3547968ac7bbd911f6f4b1f8807c2e30320f858f49d905023efb798ca9451c0352a9f97bcaf5b0fa5d696fe7b48ac27becd2f80fcba6bf2d5407f12b22edbcb60219ffff0219ffff031b22ad7b25f069280d8e3d939e2582f5a73f9653ca55afba1fd15b25fb75679b03b50c4575cd585d5d0b37a27974bdccccce3493e0ddd803ca20a9a150ae5fbbb603c847d28030f5c6d16f6797bfcfd6a21c13349d32c2d9c949680af1b06836928003c55a27650c0a707d83847961cc82a8057aa5f0f2b51868016a06c19f4f4c09aa03cfa9f039547a91a51c240f311af944eecde35759d9e354bb668fe9bb369fea3703199687327660832b35f8e08a08591547ef612454bf913f22ffe29f45bacd5774030aa16dd8509dbb291f9ef2535b39268da38e8d9f240abef4a748aa010b3184550325063178e1f8ec221ff620d843088b6efbd86f58d5c2c0cd8a8ab8363393dbb0031f6f3947469029396dd347e0efaea45e064528c316626916d4717d523dc6069c03f5994ab3f03576ae53ec7881b72b1da7728bfa805df578b5ee8898b12873cf4503e96f9c9e06a97384b1f3f48205d67f044e8356b2f0bfb9658944da0849608af703fedbf6429a5ffbc513f471c94c1b49ba28233b9bb5085cea4465de0e7f5ea0570396bec08a999e7df53322bcacaf3b729642fdd937c9999bc8ba2a4ace5171e22c030a071e89a3ebecf447dcbd77afefa84308ceed83b2d0613d6f51ef594377ffb0037e1e9c2f30ef5eb6f8a20bd5b3f41a7ce260ee5c2edd1278e9418e7a7167afc203783c102b05ee89f201f9607e2256a9662bdf9fdab0e7780b376318a47baf2bcc03a699edce86ce86608a71ccb25ed778530b06576c5c77f61e67f9e28483b02e8d03edf73b1ffd830e8c69849715d0fba4c5466e0b7747578a39fe5ef37ead75a93b0342ae3daf954ab736f2855c5b051dc801331efcf7fefb7be6ff1a76bfbd79b5cf0350ce947b41f0abbc7f6a0a85bb47813f60ef5808817cb2ab33caa879ee58be7103315f941d1b2b1a8fc8511ff34d5db753594e178d6f66a0101bebb763556755c803fbd4b254066d98476843a150c6fc28fb3108a82530cb59e674b17dabdd9f92bb039f91d9b7397c25954b44f7bd89117e0b1f5676ccf1328788bd37f2e43fd2a79103e801cc3695b64eba9a3b9be5a507da79e12cdfac85ff101ba91c3bc80c996b49030c8ece43f2e014d2f8762eabd1f712d15dcd95edbf4458d85dfc1abfc6f7dcad03fa026adda8aa6492d69223b8fa61462e569be953d46e8f45ce205ae9f01d19cf03817a26f80aeca80f9ea74c2fe133f742f426404488cf919d5ffce9704b929928036d797be80865c7ed75c25b16bdad0ee4684b408203ff6539a923613f94c7519703535576b032d1aed1414c7abed0c8e6e07ebd14521fff7959e390e119206de3e5031e5c37a3c284532d913462db27b1f64df9a7fc3d36e397eba8944fe06574fa0903f4537de1cc93adfbfe9bf33d2851d00e605f7c92dabf645a8bfb49d8590b1a5703f26e8ab1649b1dfe8e83e133e85af3c1caf39d859a0c11fd0a56a6c44db885f5030f6e3080a0bd1b4b3174d9008db04165e35e4bf72fab8914bce2f89793fd47ef030100e003d05ae01146eb286802902f75ad6becbcbf15c940163d95418295d6650332136b0614f15e5c15ca240797593aa33a6572dd8c3265b1359888561308640103508332bc2ff388bac7820a488d30c36d2f094dbfeb92059778b54e497f445aa6037358f581f409bc56154bbac53dd113c3754da24c72ee968ff8675e9813ee9131032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c9420378ec10b48385b5cbb1f06c3047671071a70fec462d74f3ec885920bd499ec2d305581e033f8a65249fac74343337734f6374a33f293f3a8cd057c61be8821e3f4007011bffffffffffffffff05581e033e8d2e32fad61165ffb9091a0e288812fd672ef03525991740516d70000c18e3480a3078ae0e1f092705581e03b9e80828edba141792d4211ba6f815ab1769c550430804293707b2f920040205581e03487132c976bc9805bb7745e525b0116863a0eca687cc6f025350c207900401030dba482c9ff8ffd05d483bb79afe2ecf05dc83ac08df413d7187be783edbdca405581e03ba2f2e10a5112e4f75b08cf8a1ed672f04d068ce8a6435f086c404f670040405581e03592a889fb7be98cf223c92f206125b53c726c8436deed9585ee63756300c06470116d9e01690000338e9a82b2a70d3efa9ab51cd789e4867f7ac8c8feb835318714a80741bd5d99b03f30c3d248bee814fc00c2e9cddbc655bcf7ace520058c1965de618144798f846021978ff03940276eb7f3f00656abef28bb99c6b8c5bba9e4b9bf014f8529a1bd0a475e5da031216377bdb9369d4c48d70e19a77c56c53f838aef57185dfe143b710cc2cc58303d729ae06860beb1c4b063e8720323272c1165a189ac9dc25f1ee63ce9909af0c0373b42f703ca1b716087af79dadd266bc5460cd771b5fa626b45f6f025003cf1103511f4c46dfaaa9dd2135f18eeecc1cab3d9746329046d87f3f5cfb58b75d96590376acd13f1eba0930200bd132410a2249d4f666658c3cad85887db6f02f56808303e1ac3b10cbc254493eeb5426f9e7286c941482bbc2f5b6e11990f2f49e80cfe90372d73c7c03967387df9b8a1b8f3dd0912f5be6d6fb4a8fcb291900e5c2dad18103261786ce883bb01135a0e23962100f194e77ffe1ae49ea6d5ab0449ff23b4bca03f42e5a629dc6709782179e8ae3cfb673a0bbee5c4f32c9fe2c86c4a5e194b9a3035b8eb186ea4aac6beee123ba011b20f666716f425f2a7f79b5a39b851dbc7dff03207e2289aa2f15f6ab1bb765cd4ae12aba922e283d8668742cf396047f33ca730380f384e716348a6622e665e548b56e13108c75f155871905c222bfa49f9bdda90399ec06658e1ba8c35cccf64b9885c24438a93df5a1041d62691b7ee5e5bac7860219ffff0219ffff037dfce50cf4fa9d3b6084d962c09c7f8dec0003006b6d18f588147dc96826c46d03cdcf93fdc939b75fefd31841c4c48bf80a3b84e8c8f2b7a577308641d66415a403c149654abaf9c37677acf85793c3c6165b94999a9d5fd6ca899261d62cf71c7e0329dfca9a3c39c30e6e7156c90630b6f4aed327f776f68041ea269ecca3c4e221035d8b94cfc30f393555ae321384e3e041bf531d7173a092a96e73597686755d810354a4d862744894d15158d258df72c9f53b84e0383f637ed6601652d72917832903c6a3c4fc1f0f0e5723b804ca15c02778e85cc6f506b6950e00db5fb1542bf0640399689a813a69088684a0d6e89eb89c8b683b3cb189ce30c52437ce2ab5d772940219ffff0345becc35f70e38ea5df35a6d28d1430440dc1fda48c017b0f8f4a6b8db1d53340219ffff03d6008ec7b2b35991a26605ffc8008e5404214f7c03b4430c8d61be30379cc163031635180b06abe6d89786bee2d61693aece27a4507a67816a47925a89ba53f4f703b474439770276cd3ac5ebf53d353dadeea27a28b2ab0a1822d9307f8a7798ab403a8b2c27db241a8af851b22a81647de28481ba8fe8d8a56afd5af2195b5c3ffb703f147bd0395b930602cca63ec2d398feb0bff277255c4cd0255f65346ce1a8a81030fffd4ad895f6acfd08270f395318a73092f59ba07c5d469098836b58aed131a039fcb248a84aff40e05ff029e78eb9f56dabd064654720c9a8bac1b7634c05f0303f347caac5204e7a3bdf40875b4d2e30e916d99feafdb3a35edfd7657d93d85db0357007eae36ccc3d15175c37a6a2fdc4886531bb914cb394d449c4668b4019ddf039dde01c4c0be7d336a05ee86016e532da27bd9845cbdf2e1832b02c9ea592d3f03a27f8598c12b148a394def5654477ce874218dae663ecfa8b2a2da365b7a5b1103152bffc5a284303d32d36b32c2744d9f8e9b740a8fb666f01b755405541c4c6f03b528c3a99498302250816b7f67741f98403de5ad0f3a0c1969a9dd5a3e93d5da039dacf5fef77e71f9ad5440866e3f89dc0e18454b399d13478535cc640887ec5f03ffa5665218e025a1fa9953f76ebe290dc122a36ce5249f99eb3ebbc0ca9e26bf03f655f14cfb4443d59af017975b8c0613196b6fc96d7f176342a3668a914aa73403bd28355c2be5284b19d428c75085bb8874f43d6b69d825211d47e7570bd927c3034602406d0aa36b2948353daf9ad0a7fd93f56a5eaf0d7e57e8c49961b990def703005eefbe9de8ce185e452c49f3e6ae9b9e304cdad10ee2e285e6990997e8c1fd033c67c40c8d69f6764c3e0c70acb59e808db67e53993bceacf5b8f0eea538b697033a4f3d3b8a95729d411c20fcebd240c414628af79b2f48bae9e6da3a8d5f12da0306c36c06f822e6419c8304c55d7768eacd76c0cdd7a3ebbdcccfe10328d817da036fd586e35768b6755015cc9eee0512e15538c8b838813d3f0354364f1465b3070352f3fff32cc1903c476d60f94f40bb6dbade4be6a7533ef61ba9b9f7a5a635ac033397434caeae62dc1416c739390aae8e295700f039073034299b5ce518df85cc0392ac93d51e932fdcb32f613ef6d050a83ad47c4be950ab8774f173068067d5af03a598c3f8e4490e0c08b5c402aa64ef5be2f856e73afff3b68462f09cbaba719e0397257fbc394dbf7f2d2e620b090cd23e3ef895d317fb09d8147444631a3ac8b0035b4aff8e06dc3492c85e5398b7b9782cae10a46093b9d1dda99afe99d742a89003b225b094e6698463ab7ff29af1f4c970b857bc8731f2649f196b3915f7346d720355e9fe0bebf10430d17e6be8ce566769736b7fb8fcc5cca531cb267cec36b44e0391954cc1b7a8d7b1acae103fb179fe3dc119ed49d5c8d27d5ae1d4f92a736fbe03f12495844379dd57859d5516385c4341e13b83b21bc3a21bf79695fb3315cdff032b95c5e8c03ca88f7e4866a0d422ad6490aeb55f1f0cd2cb170427c6a271fbc703b1d9bde8501bc079268379f922292d41958f95b8fce990275d9bd2c3e45677e4034eb205757bcecd77f4895a6e43069f09e2f10d5a4c0646fe8b6d209af298247a05581e03a56e58e0c655f253fbd11953ffbb203e59ea2aea33984e3309c7f2d700040105581e03ca571357366099e41e520766e424a20e80dd02661a28168be2c2bee1100c01471cf40249a4256a05581e03354de3a0903d5a9c3309622cc039c007fc8306a9c8db30ab6460d7d2700c04461335c27d734005581e03e970bff36b6149fa2039d9abbabc5a0d59214c34dce00b437067356430040103608f0b49313a8155e0bd33bbdd1357d48bf82cd8a506a8552fd4de6ca0e13cba05581e03a137ff4d6b380ca64a5b88d96a1d31270875e023a05d611364a5a33e600c0245012a05f20005581e0308b0a91d8ab4d763b90ab68c620e535b44969fd1e7f90555594b7919d0040703845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581e0303325c5c8df6ac989278302305baab9fb6d54bbb715243d2def3efc01007011bffffffffffffffff03db0839cd5e4e9a3babcc1a7a292c77f534c9b1c890d141f35345466874866b780219c577038204857a964653d0e2bd61a3587e8e961f6a7d870b404bc6ee397ce0ba2f120e03e5dd619d6737b2a24a82b17e75af10d300abbdb095341d5157dac107416de2da0312ac235e149dfcc3bf1b9cd1db25369c872f5bdf09d0af789fb0af36f10f20950389c8c909dd1346bc2e3756e309cc9b7a0695aebc4059edfd8a26f622757581830219ffff0219ffff033110c0080a3c4f41dc691b556ef2096e61af1f11c15760daa0179148af4c9c620321b4f5360c3f7c7cf4ad1341c9a6b23103f8268cc8c78fd470818206eec619ff031e9c4ac64318c9a3d8e385ec01e65b4335004f7943ffd34915b61710c427b7b9032c438118961e8703c47d9399cdeade93707a8567becb0bebd10209db5e948dbd0390808c5c071ed8fd7d978f12792438290b6f93d3c77994fe5342940117c7c46c03bbc0f1c0a4fc0c108c3fa4df30edf434224ee358abebbf362096f8d4a46549eb03a13a670cc652f3bfe509d7ee7e499c06e8dc729a05970e4f8f8fe120b269d860032763f3b63edd0173d69d3e9b5ca3a5cdd0120f5c44146372575a257004f2a3a403dcc6b9232970ea52a421171b3367651aa7a05495ab8e0bf67bd3a38fce9205160219ffff03162505294417f2d6c54b745b8408ab1656e6e06865658147f4c3ed50762b0d3403090da21d7f9c9d662654c7179b73159a2d3ea37f553051764a6da3d9a142f4f10307bbcd687b8b786f44bd8eea6489063892617286e6e6271718efbb3bc4fa8f940380fdfc9525eabe183263ee511c4c0f8ec73b3529fc08f8b40390695c6f64406b03ac7e4f0291b522b55d01b879717a4d6378c05eae8187a43e5d8421f5dc75bd9f031fbfd3ce6026e47e1d727e254bd50aee723e45b550a05ebdcbb7a79015250a09036994de22eb48eb3e084fbcded05c9ca2e5f968b705a4cf8278470354a56a39bd03a40c023683f4a049b02559a27c20c7b891fff95727c0ca71e995661127ed7913039e7ee735f44bf878cda65cc414dbb31d38c338d0d2ececd87a9736cb93c0eb4703d1044822a1b124477cc1e1b9a35a36d90c32df4f9ae21439dc9a44e145750be60348e116170993507e961ed30f1249277b41c69ee32a71f41e5a6f5bcfe21259fc0331053e139f64dda832bdc382ade5d4ea4caab02f886a35679157026cba5330f6030d57d9eeccebe7b6bc709051d4d2b668d71f28735f628e130cb014dad0799d0803413653abe7ce5d05f00917bce1e1cb5da14e3c5f1c801ee7eb1deef61d9e48b603215e980341854fb0ad13a37eadfe26e6ca6ca030234d32a621763c77410b288503605d360c2d540be224022e17dc004cca4b29ace0a65898e906be6f1fc3db255f034b858cdcc578b99d30141dee83a513ffaa71917cbb423d6b108fc2e0208d2eb20348ef60e143cb91199cf6f1ef2e71a139b703edff773262b8ed00555c0fbdb73c03b7c01955e14b555f2f7cb01597930fd34e191a95aa1b4e2ace18df09aa9408d7032a6a76f84ae29cc1c5e758c2ad42bb9e04077b7215f8dd2ec40c13b0100ecd7a03121b4e76c882bafc108abbc51db625168312990b77d8f76e89bd5a50e52a0b9b037f12a7c94526ebab7c544e12ef56be4be17cf18e78ac555c3b024c40738e378903f3a99a940d8a95e37aef5fb79c88dc8ae730a0feb350ef5e654fcc46d731198303ae1ccbcb0229f5c1b6fe64a90cfd6b5ae2f478a9214c90d842a2c1e5ed5cbd0205581e030bfbda36d4073c8286559ee2dd38241b29f0d1b61f8b17704a6f968a100401039cea32c8c0ba5db329ee2c5b8fc8afcfcf50dc638323d985a5c53d5ad9f5834405581e031906497a7aedce25d4ad5c628f28d66f89c998fd6eafc024a2aedcee300c014707e5ee785c803205581e0358c4d3f72ba87568752b8228fb7d5da565be4301c10c67cd80baa17d300c0147170a0effb1b00005581e03e4b02ac9559a5f0f2396415466a15568b28d4b045de1442a5530dd38f0040205581e03cd66eb5dbbb8fd36cf10a82aba5329dfe7acb82aa47f621eeaaf4867800c014701468888a90328030d7a7be2851278e5e3cd09089ee424c9708eb778b60eb471126c8a70aef7922804590dfb608060405234801561001057600080fd5b50600436106100675760003560e01c8063abafaa1611610050578063abafaa1614610177578063c70bbc13146101b6578063d54c8c87146101f557610067565b806302dd53bd1461006c578063515c14571461009d575b600080fd5b61007461023e565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610175600480360360a08110156100b357600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a08101608082013564010000000081111561010057600080fd5b82018360208201111561011257600080fd5b8035906020019184600183028401116401000000008311171561013457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610256945050505050565b005b6101756004803603606081101561018d57600080fd5b508035906020810135906040013573ffffffffffffffffffffffffffffffffffffffff1661057b565b610175600480360360608110156101cc57600080fd5b508035906020810135906040013573ffffffffffffffffffffffffffffffffffffffff1661081d565b6101756004803603608081101561020b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060600135610a84565b73987b842235b0e73a80948296837de09f8eab176581565b8260003373ffffffffffffffffffffffffffffffffffffffff16636932af36836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102aa57600080fd5b505afa1580156102be573d6000803e3d6000fd5b505050506040513d60208110156102d457600080fd5b5051604080517f50695a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152905191925060009173987b842235b0e73a80948296837de09f8eab1765916350695a02916024808301926020929190829003018186803b15801561035c57600080fd5b505afa158015610370573d6000803e3d6000fd5b505050506040513d602081101561038657600080fd5b50519050828114806104915781158061040057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f41747461636b206f6e20706174636865642070726f7879000000000000000000604482015290519081900360640190fd5b7f414d4d000000000000000000000000000000000000000000000000000000000085141561048f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f44697361626c656420756e74696c207061746368656400000000000000000000604482015290519081900360640190fd5b505b868873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f940c4b3549ef0aaff95807dc27f62d88ca15532d1bf535d7d63800f40395d16c89896104eb610d3a565b6040518084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561053457818101518382015260200161051c565b50505050905090810190601f1680156105615780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a4505050505050505050565b8260003373ffffffffffffffffffffffffffffffffffffffff16636932af36836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156105cf57600080fd5b505afa1580156105e3573d6000803e3d6000fd5b505050506040513d60208110156105f957600080fd5b5051604080517f50695a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152905191925060009173987b842235b0e73a80948296837de09f8eab1765916350695a02916024808301926020929190829003018186803b15801561068157600080fd5b505afa158015610695573d6000803e3d6000fd5b505050506040513d60208110156106ab57600080fd5b50519050828114806107b65781158061072557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f41747461636b206f6e20706174636865642070726f7879000000000000000000604482015290519081900360640190fd5b7f414d4d00000000000000000000000000000000000000000000000000000000008514156107b457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f44697361626c656420756e74696c207061746368656400000000000000000000604482015290519081900360640190fd5b505b867f714f05963641b102fcb29deecd03fea4afc12aaae3cd7406997aded1d73c668687876107e2610d3a565b6040805193845273ffffffffffffffffffffffffffffffffffffffff909216602084015282820152519081900360600190a250505050505050565b8260003373ffffffffffffffffffffffffffffffffffffffff16636932af36836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561087157600080fd5b505afa158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b5051604080517f50695a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152905191925060009173987b842235b0e73a80948296837de09f8eab1765916350695a02916024808301926020929190829003018186803b15801561092357600080fd5b505afa158015610937573d6000803e3d6000fd5b505050506040513d602081101561094d57600080fd5b5051905082811480610a58578115806109c757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f41747461636b206f6e20706174636865642070726f7879000000000000000000604482015290519081900360640190fd5b7f414d4d0000000000000000000000000000000000000000000000000000000000851415610a5657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f44697361626c656420756e74696c207061746368656400000000000000000000604482015290519081900360640190fd5b505b867f21195415ad67207115fc69a0e6ee5f2e2bdb4751d3735084da4d1874c41f216387876107e2610d3a565b8160003373ffffffffffffffffffffffffffffffffffffffff16636932af36836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ad857600080fd5b505afa158015610aec573d6000803e3d6000fd5b505050506040513d6020811015610b0257600080fd5b5051604080517f50695a0200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152905191925060009173987b842235b0e73a80948296837de09f8eab1765916350695a02916024808301926020929190829003018186803b158015610b8a57600080fd5b505afa158015610b9e573d6000803e3d6000fd5b505050506040513d6020811015610bb457600080fd5b5051905082811480610cbf57811580610c2e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f41747461636b206f6e20706174636865642070726f7879000000000000000000604482015290519081900360640190fd5b7f414d4d0000000000000000000000000000000000000000000000000000000000851415610cbd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f44697361626c656420756e74696c207061746368656400000000000000000000604482015290519081900360640190fd5b505b858773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167f389385fc5633d833d54b67ef0b0b6f5d82b17f93ecc47a4912173ddbb63e374588610d18610d3a565b6040805192835260208301919091528051918290030190a45050505050505050565b604080517f488725a00000000000000000000000000000000000000000000000000000000081523360048201529051600091309163488725a091602480820192602092909190829003018186803b158015610d9457600080fd5b505afa158015610da8573d6000803e3d6000fd5b505050506040513d6020811015610dbe57600080fd5b505190509056fea2646970667358221220dd6dff5a4a7d362f07948380a10cba102e8e8548f1b4e18e4a7165e16e6c1dd764736f6c634300070600330605581d03f34c315b0831b0e2668c42de9bea997f1ec6042d7c550c4a5a0459300701190dfb03f99af0b81dc988ac8cd1fca36090f280110777e0d6f9304383921260e7ac232703852179c171385ffc76ff608b2e384b168f999cb82f80c2ba801d8468e6b07a7005581d0334e3815bcbb56c82e386195013fd2736bcdc9d640a7c73090ebf886007011bffffffffffffffff0219080801410505581e0393fabb3325beb6ba494f7a41492a9b492e1a909f8977ff9c6eb6ed4aa004020219cfe6038de42e91cb5847c8f9ddaa22f06e0d6f01b0a6238fb2c959b79b1b6d2d61343e036c55c0cc3ec4ec61772670006b6f51d15dfc25952817756d68d2b20d56848e020391abc51079a9193a64521436d492345b4c4bde7870969e06c32861fa6606992103db2fa2dd9d927a65321936f936fa8d922942071ccc1c633de55aad580424ada903d24db91dee7d939c878328657ac16a0eae09338a92aa097067131c81cfbcaae50367a2399e4c0f78829633a84cc0840c088b4f53d9d80ddc88df67d95f8fde666503ffc20f61f58e58be00805b7e474536c643028caa5845a1c3a045ec8b2c4dbcd003ecb01f48846f9452a1d84bc8eacd584f3aa2df17fe09bc0efda0b5e1883024d603d7df1b3d4983eff8003379cab2ea1a79e4e4a0b3e4c9d29d7a7e623cf8e552b903ba87745be756523fd38b95d344053e2176babd7a02a404dd00467c30c00103d6032095bf6b0d5ec22c3df96ecd500bb1ba2e2cb9de81ab4a018a217203816978c0033204e6acd691ef6ab629aa9e26f9ac85e80d5c2f1e1c7a5c06480bd3a1adbfa703c333153b763b0e207b4a81eef4ecdcc144dec2373cfd315456ed80a749647c8b0219ffff03f0bcb49ec8825cb824937bd82633266adc47f7bfbf8ba4566e1c86fdc1418c3803537d305da20250bc3c07f61576c5984de710b09596a4476e1a75fd18adabe1e10399833db83b0ea0d6ce18a80afa98d2fcea48f1f980fc4e608fbb106d46f27f00030bbd97a0b5a731cc0c4f41e7fe3a0e0d7a6103f33b132c5afc0bf234a78ff07d030d1437da87bb14cfe59777ad7af6a2d12bcaf479144f097a10df1cb543add442031af165424d36f65ad94ce84d5229149623721c6a6aa8b7375444befea289fdda032f65cbc85bdb13fc54dc11eb6f88b5a14b6c34eb02863a8fd165d4eebd6268dd03741c030e430d92d2ed85b08cb3b552f0b56013a0d2fad1e578edd15cb0eccbe703e261dece421a25f2fe2833992e5c7d3ba8baa89dcf805d9dbd045d948eb5718a03bbe39a50d63ba47485dcf7467ef0c0443fda231f576a63018dc0530fad3632b403175cec6d3c2988ec1015b81f09b01fb58fd63340c403a622a75f21bcebdda42a0391e7e987e55b9c886f9ff6ba6ce9745d188aa3731b7a0f6066dc548e85dc7c9a03117f1acb362448ab4197806f1a19943b13211ce25e61c43fc0a94ea4e750af5603c05d1381125af80a65a9b8a5bd9e74d12040ab71aa1ef699c401a2b80a17b4320219ffff034e85cf80647bdd07984c1eca40297836f52663bfe92987837812f5a74cb5f73b03cd97e4652be0b9378f22435ff12f4dc91ee160071e7a5552d62bab71483b64a70219ffff0367f91ff70f2f131a1dae0f07b63148c1627ad8ebf0b1579e38aa89353034eeee030b5b34b827fe37f103f835f337e7540f3727eb8214e7657ceca6b7ee8e5dba9803c1b3b4014f1933a7e9d5902b7d022011e043d7f3c22880c3a6e328b600f1df7903e979a0032006de21ce147431ae268f19cf115dca33a815092039ca555092f90c033399aa0cda822a9a239ed35434d596b85121cd1f4b8642580b0692eeaec153ed037126ea4ed788f111e0789daa6246864d18ab2225a48e494d46ac0d38580a27020219ffff03d26cd4153dc654be613fdec483bb78c502048aa6eb3e0fb659e36ee657b138dc03b085687a36fb5626485bd27870d54f13da997b03315080c9898ef9a1de755dca03856b18ff69fe33a7194fc26c958a4939138bda0af3b00dfefa73aff6f4bcfb0c0360729d98d21ba819d7a93a80a3b1f816c8192547c56cca1a0fbe82af5810734f0388731eedbf003de437ad0085beead71f05154b5a4773d62ce128cf5303c1cbc303d14eed034c3bfcc1d42e20fc33e37cadce2ecba77c401a84981de58c5aaf19cc03fe1a46b26fb5d868b84d4053ba480f52855aa44c9804344754d996bbf9829ece03ab9a30b4ced6e73ab349a825fed4135f88d33275ee4fe08311fd4b7daaf1038f031b84ca2f5a31750c234336e5c0db749ea76b522fc3fb7e8302cbce3c3d6996ca03deece7a756fa4401e3aa2704488443c11d3254289386ac582db961015e5ccf550390317a2f86030b123b6471a9242d5bb04f4ab81713cf29d768d5760e2b9bb6e303cdd946d2233cf9f52f9acc7aae85a5110c978d665ac5ace093e97ed18dd1f7070391f50ae61dd38f04a7bf345f06fc9720056a3e48d988ac182c879bbcaa8c125303240c38f09457dbea369c68754c363967ecfa2bdceeb2c1134aaf39dc802875d303c89b55c5f7faac67378695dc8df5b1c4f49158fd46bc0131c1c6900bcaf70b0c034ce1a0e7690e216ecf91df0ab2dad2b9ccb5c7b6f83475ba1a96d0135f534f9e039613a95133c8ec3da992ec03f2378b30ae8dc2d022665dc7b12dde7b4102c617033910c2723a73f1c13c0ceaddb3f268587c043bb8a0ffa0af6e686dd4c0d7f0c803469eba88ef8198669470b9c2b0afc4aafad095da95dc90e7a2832b8a9a2c8751034b2f9c58a1b59a863b41446e5cf856db023aef4a09e70ed57cbe4306cd5d37cd0375f330238141ef6a2ad148b8775662ca9d21571c91a36b21ef57baff6ecd4b2d03182f524edce25463e71cf98fa2cadd458a078022ba4c357852be62e683e1b28c03fffcd90c5bab86f76ca22af8623e0a4c311eb0d55bbaf58888edd2eeda36fdba037a3a91d8c268909b6960abad545976b0f6b8708a7a22a29982fb0c128de194be03b05418413862f17bf57f017a8816d6c9efcfd7a4f89493c9a74e997bc9e6ab5e036967949bf739a77eda2fd6de5cbf5f857ce9e576a7d8cdabab7735bd3046314303db77d00a568125ec20affd9d438b020fd18f164ff176895794886a55ec8568e503f8378c3713dc7757cf9ff1e742d41848f6b83f8aacc6785cd2d382f333ff52a803f13e906a74a654fd40e5c1cee74fdb79a1915d936422dba5d35e88a1bb2668a003d283787967ce14b2c73df2b23f39c6ff12f7fccdb6e4274bd11d22ada5a822d4030588c5bd1b024c5ce3f57b5aa72fbfd77953df1d21b603fe51caca8cdfd2518205581e0340d67d7bb53c31c9a7c8c2666ca946419d38ef95f809cb1227638cf2d0040105581e039b8c0b0d69a161b4403f17a368c8d6fedb4f15f2c2537b3ff2e3952b40040105581e03f2e017ee8edf6273fc0740fc95172cdd2ad08c7c1e8576efa8de97c660040605581e03ab0e108dc7569472d2b8b4a2e4f016143531fddef5870a05d696bf7040084747e0e5951880000353f12c78d8ee2022d7cbbef6426da5455cc723a02bec4f071e6d1388b741611c05581e031d4039d7817846ea13bdd672db8483a737f966c46cea3c7ecae07ce6800c13465dc4c3eb31c005581e0337c805e6ad2f288b124df2e1390b5b3cda2722403e41d779a03cf351800c0146ec35d3b26e2003841b546a6c7ff836e28d9a2902072e1271bd240ac5b68ad9237f4269b5da299b0334bd6371bf5b66f9055871772fbdc5d443e9bb313887f70d730b43983bc0425e05581e0388b3a17555f228618bd2957240c45b166fda5e9fcaab23bf3c0636295004030309c1cf37b2fce98b5c81dd427b5d47cd0161b7db517aaec7954a20ada6d3fd250219fef80316c7652a74bed51bc7934001653e0cce04f6bbdcf37a66e9a5ddcc0546c9cfb0031e31061d83f96862aae0fa400cb8cd3dc93d53b334cc6f703380203ff3c2b8a903aec486608d20c53a065a1655d5e9324e9c5d90fb36e8fe919cdcf7e72556ade603fb8103224b2ee533a1b3e090ac2938a80bba87a1c4ee01bb5e0896bb780b521c037a61180d0e2a8ca5f1ffe5faded260c679754cdde955970ae16ecc9d6e54e5c203435dcbc86f8d9492dc758b8071737b3029fecb6d132b2aef6b8dcbf7a580cd190325416b2cf1506f6f78c783e9b8989c1cc8b3bd9d606e596ef22528f03069b39a03bc5c2fc036b0afed2a28441187231eca4ae833783d8a4eab063c0e1aa2e2480103ce32293e60f97e6a4c2da24ae7e6136da731e7aac3dbebf25204293546a2bbc00219ffff0335e5add4ab91da38a625ab0c8c4cda73789f8a86b653b799512309d199ba34a403e04f3d773c1b17259528e438cb5884ed1540fe51e7524184b12c4f6466d0331803f77e7c2e1b258acfc5c1e6bf5304952197b5c028ad2846890e5c069d89bd51e30363a0aefe390c83f126f8db1e877f78f261fd0f98642a32dc5795f7658bdf28430322620045b03376a87fed3908e179b6d262e0ef3fa4f4ba503782185254e5896c0219ffff03938889d6b299729d2b2a9af5bc1d9615bd3193cbce5714709d0c69b69b2315690219ffff03b0cf5907f8cbfef1ca2435cd22313ae8f5cdc436d92f930eca5ac945388838da03082171bdf42b415795a4d7430db26ff0545ce94d42d6a4be8cb73140c187d6fe03bfc71ffda6ec0df4b9ab3bcda5ca20f0373e9582883a4d1c77db32f83ddee9e603069db9de5aa7e8dee8a075766717c4a9d59072a71b3e0cc2e139ac5462bf2bda0359fcd6523e3ae76d075b273dfe945ea3e1ca14b9eb5b0388e9be25665bcdfb39036c65358d6b97a273b533d9466107b9b344ce2c63bad85a8f85b2c94601c0578003e6b45d54858f3e94a3a6f30f0cda79e2dd72e086db4604f7a6ace8c3fdd91443032c096779b1d3a8e1670b2b39fbc85002ccdd4d4d34a6876c0e4c5cf45259c5750378a57337d5598b5bbe76ea10e8f951097126e57ff9a72db4e194b1137fa60e20036305a53974a5f7db36a233adcd79f44300e7aef289a025c2b0eea4aa2327dd4a038bf4fece28d9e0eafed07d4ddfd946086b2177f0b7f6d1031b4f60f638829e4e03f709b7021e0640061fae9cfa6f447ef988735e071080896f72aafd413869e7bb038a16fe2f6ecaf1392df5606b8950751b4d0394acefeaaf2a39e97ea09f7b77f303ef3bb39c2d3692ccb8023f498009f5c35eac315fd4c22426f5b13ad6b2fd4f2403a1e6a0b8d9fa05ec3aa34ee36e7f3eb7f1f60c50c3fd2f20ad1bfb77dfd7b2da03fa71c697e9120364fe143b1a3e72845b81759adcd6caa7ed1a4eb9967dbd06e703841e1a7c09a7a4b7fc9281e8a597356e76217190a4109c3ddfc986f707e6bf5e034d4335df799e8338d3f57e1a2323b8cacfd4514015efb34281096648f695796503485fc8ba4924dd7e4e8e2c3e24957be77ef450c7d4665613946df354e59abf4703f201e5bec2675ab654e6b587d3d1290a31cba0205898e45ad6fb5f03b0a0b9f403d977b35285c8cd801dbb84b5737cc2bef8c393a21de3c066548a299edccb83ce0378212c3bbc3bf60b99a2188275ede3134ceddda7cbb95ace6e698993b443865003e5c25e70be468e0fbde350ea65a02702163e65242113d250ad27ad465117936503447ea35d9e8db9686e8bbc2608c644fe44792edb7a80bae79f7d28b6dc4554df03d1183214dd59dfa8d619af2bc99e69b86905c847766ecc9a5057ceb3de260903033c58e92337b17f7543f378a152f106350fc046ef8d3163c6fa0030d66a7101a803ad4b13d1557a2793a8fc271d931e27e32bfa59bfa88d5aa7f433e28a762f0527035e4a3ad61be35728b44c42a2b97ba65bacfa5096d3403b939ee490b611e2c1c703c93dbce0adaccecb4139114b504c095028f705b9c70c54674da1f2af092474ae0330de15b6266fb79f94dd71f41c21ae8d79de28cb3ad2892fa433466f63b6d0910308fed93e7d6dc67d1860dfa9443888d161d3f687ff2ee49bf0ba2ec3c173c76503126609414ac5505af9fadefe22cdff4e879b9eac5b2229e7d07f866a4946096a03ab8bfe1cbb953fc49916a2d4e4e1211f24deebf077d39a3de206756a28ac9dc105581e03bb0e2e78b230819635cba078db4e77916e225dd8cb409153ee4edafc700c05470222a73c1fa9200339cedf45cc06e105b5124d4ce2b26251a74c8a861e989f32af9e30da804a49d605581e039615d831c93670b39d9a6c7d1eccae9c52873dc87a8b391217632817100c01461d28f0c9616a05581e03c277466ccbbf7f6a95a0fbe1ef52ea87fde65a63ef1eee61185bad00f00c0747054086ffc7b25003ba089a9e4f4d101160e65a83090aa4c656c5583ea4d06ee233f3a5c8636a9fcc05581e03e6391d10c7411fba41b518c5ebc06002afe6ca1d86708aeb3fa6207a200402037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03633efc19cb246ef5d8399580bf5b26cf6aa28a86ef0816c424728cbde007011bffffffffffffffff03d484377489ec09fef487e3513b9730388a602a81d8d97a7201c97c73d46931270219e86703ffda45cfa0cfe8ce2dc76644261e75a0e9c98451deeb9fc5f7d5e411e664cc6b0219ffff030fcbab1f8ccd9af708b0bdc832d44b511c2cbaa97dceef1b82ef926007b0170803f822cc9e0dbf489ffd65d1300d1c8755d9059ff0d981149c2bc44c6846a09c2f032e95f66a6dc9ad2aa3c51820703e37fd49b4aa015e55f0ce95ec15d5fc776a4c0219ffff0303c29bc2672ddaf1f2b8ac821828b6a1e7fe947ace382f664e258cafa8c76aa503ee5dbed9d8f12bbc9e61dc69519a0fbd6c0e693a8042095bdb49dc3f1c5f692003c455f6eb6bf1d3f9829b025f81e5f8603b54c56f1f0045d0ecb6c7502acecde8038f4a90137140801a5156be1771fb542b5c3c6b1efc3dabbeac389bb4a549fc480380e2a422acda1d53511b06e0117f8a1260beea9c81fe4b29d52488fa6d23f13c0310fb49cec7c2c06397e1dc9cb3b3257547bdd52a1c81fdc05b9eb544b925fe47034a8d4e4a9a489660a986ebdcd75e7e92932d70bcbacc79cf566a76e92ab1038403d043a725ca363186d2a0194a6389685206ee71ff2863edd05ed4a7a2c31c7b7803e6836dc84ee19746d63054a20696f9c286af4ebc5f8d76e3c351fa94d9932f4c030b59f8b7ed7f9dca2e715b82fb44bbc7fefa2fb65157653754799fa606fbcadd03541e17f78a9e99dce4df7a39a0f108dd7327d7a2c1ff3ff7f99395c55821c18f0219ffff0352b76c5e9c21eff8b061355f1b73e7ab3904673ad87886c960a9c84cade6754c03358255da0f18a5dbe7dc3a890d5cc7a264c5bcb2d71445d16a711781a586709903cc1d414e60120c6076452bbcd434dc3edf1e9dbc6588f46d0a6aa79cef1a022703a7e08d2e0daf50ec3d7d5fe8d3addfc076b08edae5817b3fa96be2e912478aef035eea13e47d006487a4fe0752c99bee57f700d503e9971cf32394eb09ea2677570305bc213bc2d8b35cb8adfbf340ffe2fd8216fe3dde3fd1fa1f9164289a246da503510c8a0277e6696daf1d225a3d9e833c3dd4d59554574fe5626d09a3292d4a4d0381d335e5b2b9a136691c7a0971df1faeafa321fc69afa89a3bfc834a1ef7a203038fdaf685c7392de7bbc0f2656eececc355177ca16856be651f71c363e3d55d5703acbdc868381076fd0d335aec78d8ee2612b4e4d0923d505642e30cf0abba9c91037e879c2f64507209d810d17f62cc1ed368cac4c50d887476276090a37938abee0343664a97c2d11f753ba6564217d1180332bc4a3aa23ffe9ca0d6f9469966fd71033a8a6368c9a570a2c108b54045ac649ab162657e6e82923a1f70ab3e4fbe0a7d03258e862c2f723a5773bde944512756fd543424e494e1075f768f9b1320633b27037b3fd1e488ab01741f68f539916b47fcb6d0600e99261351e0a14f8a5f1d40f303c8a8984e75b03ef41ef4085e6bbd8c68c830b089a461622316c91d102883c71003122a7a427cca9f84309aab1c0977bcb5f8f3baab6fb6e2507a8f731dc76bc21303ac9a071646c230cbd1887ff4bf814eee2ddf7d2b877033eb60ae65962429c085038b5292b9ec6f1f5bd78c57477e525b38a937355bdd6d4cc2d0a3294f7913a17d038eb87dab0a53269c596778dd3803ffa2ab2bfe503dffe7eafdaab9428ad2b96703cb420c454f406afeac411e171881d1c2712f290604da22571b7bfb06be22051203f00315a254dbc616b97b1267102a96ec555445163f504a5a8b3a45986f5dfd8c030795218a124365ba5fbe688aa30e297d19255b02361c057e64f4e608eb37905b03f533c61164ae4e945c9b2b29b6741de7a0164775302952f485429154923d5e17033d5cbd6f9d576b624c24ac375a0035ca9a21ee260940ab63e55429e42cf7767b031c1abbbcfcc2020019b4a1ed60e646271abe1e670ff74f6a67c3d2fb9274c081030b8365b4b761234e7129130544c7986c3481b92c11473d29a8bb4155139dab8403053678c488be912d0c22b932d956d72cd074e4bed9b9adc7288b0c38ce9eb13f04593d32608060405234801561001057600080fd5b50600436106100df5760003560e01c806387cf3ef41161008c578063c9c6539611610066578063c9c65396146101d3578063e380f7281461020e578063e6a4390514610216578063f46901ed14610251576100df565b806387cf3ef414610190578063b19805af14610198578063bb44dff3146101cb576100df565b8063574f2ba3116100bd578063574f2ba31461015157806372e5493d1461016b5780638252c4ed14610173576100df565b8063017e7e58146100e4578063143669ad146101155780631e3dd18b14610134575b600080fd5b6100ec610284565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101326004803603602081101561012b57600080fd5b50356102a0565b005b6100ec6004803603602081101561014a57600080fd5b503561040d565b610159610441565b60408051918252519081900360200190f35b610159610447565b6101326004803603602081101561018957600080fd5b503561044d565b6100ec61055f565b610132600480360360208110156101ae57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661057b565b610159610672565b6100ec600480360360408110156101e957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610678565b610159610acb565b6100ec6004803603604081101561022c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610ad1565b6101326004803603602081101561026757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610b04565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff163314610310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604a815260200180613b03604a913960600191505060405180910390fd5b60025481101561036b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252605f815260200180613c9f605f913960600191505060405180910390fd5b6004548111156103c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526069815260200180613bad6069913960800191505060405180910390fd5b6003805490829055604080518381526020810183905281517f0848a37db6722d2184f41f400b94deabf111bc1e91cabe803c3d77c55d6c2156929181900390910190a15050565b6006818154811061041a57fe5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff16905081565b60065490565b60045481565b60015473ffffffffffffffffffffffffffffffffffffffff1633146104bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604a815260200180613b03604a913960600191505060405180910390fd5b600354811115610518576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526060815260200180613b4d6060913960600191505060405180910390fd5b6002805490829055604080518381526020810183905281517fb77bbff2aeb4499c58b9cc772626516a974fb6e0974f0c5b25974b28876328c4929181900390910190a15050565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff1633146105eb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526049815260200180613c566049913960600191505060405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083161792839055604080519382168452911660208301819052815190927f83b887657b0e2cbbed6d7b9468d78fe27ce257d950e1c7e36572b3a24f82e41c92908290030190a15050565b60025481565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561071557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f43726f44656669537761703a204944454e544943414c5f414444524553534553604482015290519081900360640190fd5b6000808373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1610610752578385610755565b84845b909250905073ffffffffffffffffffffffffffffffffffffffff82166107dc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f43726f44656669537761703a205a45524f5f4144445245535300000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff82811660009081526005602090815260408083208585168452909152902054161561087d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f43726f44656669537761703a20504149525f4558495354530000000000000000604482015290519081900360640190fd5b60606040518060200161088f90610bfb565b6020820181038252601f19601f82011660405250905060008383604051602001808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b81526014018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660601b815260140192505050604051602081830303815290604052805190602001209050808251602084016000f5604080517f485cc95500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152868116602483015291519297509087169163485cc9559160448082019260009290919082900301818387803b1580156109bc57600080fd5b505af11580156109d0573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff84811660008181526005602081815260408084208987168086529083528185208054978d167fffffffffffffffffffffffff000000000000000000000000000000000000000098891681179091559383528185208686528352818520805488168517905560068054600181018255958190527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f90950180549097168417909655925483519283529082015281517f0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9929181900390910190a35050505092915050565b60035481565b600560209081526000928352604080842090915290825290205473ffffffffffffffffffffffffffffffffffffffff1681565b60015473ffffffffffffffffffffffffffffffffffffffff163314610b74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526040815260200180613c166040913960400191505060405180910390fd5b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083161792839055604080519382168452911660208301819052815190927f8f93286d6f131e956d1aa672d3ecdc817f24efc20b223b0de5d591f454edc34792908290030190a15050565b612efa80610c098339019056fe60806040526001600c5534801561001557600080fd5b506040514690806052612ea88239604080519182900360520182208282018252600d83526c043524f2044656669205377617609c1b6020938401528151808301835260018152603160f81b908401528151808401919091527fa48bada1449373da82f0e667f132d2b1fd6cc7d50959f25c21df1ac50ad3f2c5818301527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101949094523060a0808601919091528151808603909101815260c09094019052825192019190912060035550600580546001600160a01b03191633179055612da0806101086000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610def565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610e28565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610e7d565b604080519115158252519081900360200190f35b61036a610e94565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610eb0565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610eb6565b61039b610f95565b610400610fb9565b6040805160ff9092168252519081900360200190f35b61039b610fbe565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610fc4565b61039b61109d565b61039b6110a3565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166110a9565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611463565b61039b611475565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661147b565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661148d565b6040805192835260208301919091528051918290030190f35b61026161192a565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611963565b61039b611970565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611976565b61036a611b6c565b61036a611b88565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611ba4565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611e70565b610257611e8d565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180612cc06027913960400191505060405180910390fd5b600080610767610e28565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180612d1f6023913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43726f44656669537761703a20494e56414c49445f544f000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d612073565b89156108e1576108e1818a8c612073565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff16636c813d29338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180612c706026913960400191505060405180910390fd5b600554604080517fe380f72800000000000000000000000000000000000000000000000000000000815290516127109260009273ffffffffffffffffffffffffffffffffffffffff9091169163e380f72891600480820192602092909190829003018186803b158015610c4757600080fd5b505afa158015610c5b573d6000803e3d6000fd5b505050506040513d6020811015610c7157600080fd5b505190506000610ca6610c8a868463ffffffff61228016565b610c9a898663ffffffff61228016565b9063ffffffff61230616565b90506000610ccd610cbd868563ffffffff61228016565b610c9a898763ffffffff61228016565b9050610d056002850a610cf96dffffffffffffffffffffffffffff8d8116908d1663ffffffff61228016565b9063ffffffff61228016565b610d15838363ffffffff61228016565b1015610d6c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526038815260200180612ce76038913960400191505060405180910390fd5b50505050610d7c84848888612378565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600d81526020017f43524f204465666920537761700000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610e8a338484612634565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610f805773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610f4e908363ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610f8b8484846126a3565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff16331461104a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f43726f44656669537761703a20464f5242494444454e00000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461111c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c8190558061112c610e28565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b1580156111a657600080fd5b505afa1580156111ba573d6000803e3d6000fd5b505050506040513d60208110156111d057600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b15801561124957600080fd5b505afa15801561125d573d6000803e3d6000fd5b505050506040513d602081101561127357600080fd5b505190506000611299836dffffffffffffffffffffffffffff871663ffffffff61230616565b905060006112bd836dffffffffffffffffffffffffffff871663ffffffff61230616565b905060006112cb8787612784565b60005490915080611308576112f46103e8610c9a6112ef878763ffffffff61228016565b6129b9565b985061130360006103e8612a0b565b611365565b6113626dffffffffffffffffffffffffffff891661132c868463ffffffff61228016565b8161133357fe5b046dffffffffffffffffffffffffffff8916611355868563ffffffff61228016565b8161135c57fe5b04612abb565b98505b600089116113be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612d42602a913960400191505060405180910390fd5b6113c88a8a612a0b565b6113d486868a8a612378565b811561141657600854611412906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff61228016565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461150157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611511610e28565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b15801561159357600080fd5b505afa1580156115a7573d6000803e3d6000fd5b505050506040513d60208110156115bd57600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561163157600080fd5b505afa158015611645573d6000803e3d6000fd5b505050506040513d602081101561165b57600080fd5b50513060009081526001602052604081205491925061167a8888612784565b60005490915080611691848763ffffffff61228016565b8161169857fe5b049a50806116ac848663ffffffff61228016565b816116b357fe5b04995060008b1180156116c6575060008a115b61171b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612c96602a913960400191505060405180910390fd5b6117253084612ad3565b611730878d8d612073565b61173b868d8c612073565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b1580156117a757600080fd5b505afa1580156117bb573d6000803e3d6000fd5b505050506040513d60208110156117d157600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b15801561184357600080fd5b505afa158015611857573d6000803e3d6000fd5b505050506040513d602081101561186d57600080fd5b5051935061187d85858b8b612378565b81156118bf576008546118bb906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff61228016565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600881526020017f43524f2d5357415000000000000000000000000000000000000000000000000081525081565b6000610e8a3384846126a3565b6103e881565b600c546001146119e757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611ac39285928792611abe926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b158015611a8657600080fd5b505afa158015611a9a573d6000803e3d6000fd5b505050506040513d6020811015611ab057600080fd5b50519063ffffffff61230616565b612073565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611b629284928792611abe926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b158015611a8657600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611c1357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f43726f44656669537761703a2045585049524544000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611d74573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611def57508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611e5a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f43726f44656669537761703a20494e56414c49445f5349474e41545552450000604482015290519081900360640190fd5b611e65898989612634565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611efe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f43726f44656669537761703a204c4f434b454400000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905161206c9273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611f7557600080fd5b505afa158015611f89573d6000803e3d6000fd5b505050506040513d6020811015611f9f57600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b50516008546dffffffffffffffffffffffffffff808216916e010000000000000000000000000000900416612378565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b6020831061217957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161213c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146121db576040519150601f19603f3d011682016040523d82523d6000602084013e6121e0565b606091505b509150915081801561220e57508051158061220e575080806020019051602081101561220b57600080fd5b50515b61227957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f43726f44656669537761703a205452414e534645525f4641494c454400000000604482015290519081900360640190fd5b5050505050565b600081158061229b5750508082028282828161229857fe5b04145b610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff84118015906123a457506dffffffffffffffffffffffffffff8311155b61240f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f43726f44656669537761703a204f564552464c4f570000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c01000000000000000000000000000000000000000000000000000000009004811682039081161580159061245f57506dffffffffffffffffffffffffffff841615155b801561247a57506dffffffffffffffffffffffffffff831615155b1561252a578063ffffffff166124bd8561249386612b98565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612bbc16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff81166124fd8461249387612b98565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160205260409020546126d9908263ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020526040808220939093559084168152205461271b908263ffffffff612bfd16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b1580156127ef57600080fd5b505afa158015612803573d6000803e3d6000fd5b505050506040513d602081101561281957600080fd5b5051600554604080517fbb44dff3000000000000000000000000000000000000000000000000000000008152905192935060009273ffffffffffffffffffffffffffffffffffffffff9092169163bb44dff391600480820192602092909190829003018186803b15801561288c57600080fd5b505afa1580156128a0573d6000803e3d6000fd5b505050506040513d60208110156128b657600080fd5b5051905073ffffffffffffffffffffffffffffffffffffffff8216158015906128df5750600081115b600b5490935083156129a457801561299f5760006129196112ef6dffffffffffffffffffffffffffff89811690891663ffffffff61228016565b90506000612926836129b9565b90508082111561299c576000612954612945848463ffffffff61230616565b6000549063ffffffff61228016565b905060006129788361296c868963ffffffff61228016565b9063ffffffff612bfd16565b9050600081838161298557fe5b0490508015612998576129988882612a0b565b5050505b50505b6129b0565b80156129b0576000600b555b50505092915050565b600060038211156129fc575080600160028204015b818110156129f6578091506002818285816129e557fe5b0401816129ee57fe5b0490506129ce565b50612a06565b8115612a06575060015b919050565b600054612a1e908263ffffffff612bfd16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612a56908263ffffffff612bfd16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612aca5781612acc565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054612b09908263ffffffff61230616565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612b43908263ffffffff61230616565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612bf557fe5b049392505050565b80820182811015610e8e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe43726f44656669537761703a20494e53554646494349454e545f494e5055545f414d4f554e5443726f44656669537761703a20494e53554646494349454e545f4c49515549444954595f4255524e454443726f44656669537761703a20494e53554646494349454e545f4f55545055545f414d4f554e5443726f44656669537761703a20436f6e7374616e742070726f6475637420666f726d756c6120636f6e646974696f6e206e6f74206d65742143726f44656669537761703a20494e53554646494349454e545f4c495155494449545943726f44656669537761703a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a7231582072febb9060e99697097d30ad78467c0deb02dffa096d3e1e0b5f205a8bec5dfa64736f6c63430005100032454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e74726163742943726f44656669537761703a20464f5242494444454e202d206f6e6c792063757272656e74206665655365747465722063616e2075706461746520666565546f4261736973506f696e7443726f44656669537761703a20464f5242494444454e202d205f666565546f4261736973506f696e74206e65656420746f20626520736d616c6c6572207468616e206f7220657175616c20746f20746f74616c4665654261736973506f696e7443726f44656669537761703a20464f5242494444454e202d205f746f74616c4665654261736973506f696e7420636f756c64206e6576657220676f206265796f6e64204d41585f455645525f414c4c4f5745445f544f54414c5f4645455f42415349535f504f494e5443726f44656669537761703a20464f5242494444454e202d206f6e6c792063757272656e74206665655365747465722063616e2075706461746520666565546f43726f44656669537761703a20464f5242494444454e202d206f6e6c792063757272656e74206665655365747465722063616e20757064617465206e6578742066656553657474657243726f44656669537761703a20464f5242494444454e202d205f746f74616c4665654261736973506f696e74206e65656420746f20626520626967676572207468616e206f7220657175616c20746f20666565546f4261736973506f696e74a265627a7a723158202438d13eecdd867ca485519fe3630a38dd47fcf6b74eb29ee809d4273b4e9a5264736f6c63430005100032030109b6ad3291a3586b0c828f4afa7017f5b51e00b1911a38ba6e593acc01843203fe7a57720e9dffda8b5dd15a53c05b6f8af39552cd1d5fce8f2b282ed7e66ad603c8498524035bc7539def4d991df803b1ad44b9e3cda202477a6c22caf4037e87036c3e155d085ba0adf42bd2909bb00a79944e096d61da81ae0dd46291a02ddcbd0322067ee7044481f1ce7a058d533ddb7793d2572fb5954c1866559830ef752c9e031d4693e352125125416840d2ba7b9faf1c05758453594d7505bed878c6896fc9039b74dae51a7b33eb6866e209d3cc48b1a70ac6fb0afbda90331f14c0bfa85a54039263d1a17f46ccf978f44aac352deda241650146cf29e50b3660122d49c239bf03df8fc5cd4cb395805ebfb297fba6e1684b8b33c10c730011640c41ada96ead3a035c544aa2ca08b36822700b3cbff52632161cbfec6b5763b7d7696ca3bb7dee4203a0778a27f119e2cd6b55ff470e1af327a7cd328a1d42a7ca6690d1b3f0c46bbb0308d79ab420a39e026fe38d0b3b895c1cf1c37fba445f2e55ceb98faff919189b00582002c0c4ebc7267caaa86ad1ac9999594abb7fe18b2bbdcbd42491a7d2618fa91354b71153e1629ec113ac43d4c92f63bc8f84d0cfa3039c70642f9092d5df3be8c3120a218b927e95b88b3af9a554f13f7beb6ad9cad00058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0411e005820039d69518abd0c0f11bb67f31715dbc89bef59497a9545add1ca791e7db27fd0548b59be2fc6fccc2256cc4841843a13ce29da16bd02194020033784dd7b092c29cf2db13da84bd056c0f1bbc32aeaf2fec752b32823c8f8b69603ed2c17bc0f0407fd4d3c74e0ecc4acda9826e9ac29c3606f0d933a02f56128c103a74b84c9519b3685988ad2486b84d26117d3d65ba711b91bf8a2427bdd611d64031b5b3316687bde1edda34f2453c1b39eb39fccaf3d98fcd654d20c2b0a37e0e300582002aada707ee09a831e478b54a2261444d24e45db0e77167333a1d197d06acdf354d3bf46376bc1f497020e2ed58e1e62f940a09fad0058200290af5ccfd4a5e562b4ee7d448c5ca35d2cfbd6944053e3fcfc5f594d68d909544811c9384bc8447945806a2319159054b228fda703815f976bab2ecebac4b01a624f6e0f7e36edc70c0ecda07dd7e6136272027589005820029d34a13207b524c3dac953bb9cae023b49d68bb252151f594450e14be2cef654343d73a133e8e3fee2e98576bf54c79b100e7f830219575f03186080e4309bd1b52bfdaeced97be84cbc3f9dcbb592b969fd26c40b1e3c7c6e03547e77b6493eeef479d42ec3327d73df3443b1b7bbd3af1c40b4e31e3bc2e7b10361d0bd69d33c5c30ebba7b5d1f30e702995810d36cbf0acf169fa8786f8ffea50219ffff05581d02625fbcedc497d11b7189b13842bcf9344a56062a9a10dcda95198ace071864193d3205581d0219ce003fc05c5198965a513f6017df6b2958d0edfee52fc9c927f2d30c0147022245595128000219040105581e034a4b89e7527901602b3015b0ff8fc7eda00216186dd46293cce03a2be00c01470380550856671605581e034b0f3ae9b7755d2c8a42ad86ca94cfd4fe09f1fb1974ad87a7d7dcc7a00c014704f3d5ead1200005581e035cb5a1591a9352aa9f4b7836e2e66bd08cd33bbf288729cbd1e1b9b9a004020325514f0f2432e6cc82b2539cdf822713adca5c17c554cf21151b6cba41becc2103be8c5012933e4c98113a4ba2f0a0b8eadfa27e0454bdffaad0c873583aedcfb103dcc675306a86cae9375839471558e73c0a3637a7826f29cfc1a834353fd9d76205581e033cff1c10cb201644d6ad8bcc4026d7c5ec318880fe4bd6c6e9869530100c0a4663d0e192ce1005581e0374f28de57ad8ccf7f7c2cef5cbcbfc39c8e13b38462d1bbc291b006f200c183347041f8a7eaccf480314812fa746757660372440e92e32b0925355c5401519172824a61adb31d8cc5e05581e03d6e00686610f8c32e341e7eb3ff109fb7611dc66a223d8d06ca09351900c0d4709aa993dc5938b0368fee821c5714d199a87057fb70822dce0026fb84c45bfcc0400ca654cbd1a380219dbeb03e447ba66afc4ef0205feb166536ace9a6ed1c83d3c76a56ae8d7924b8681830b038ddd87ee158fd30e2f5ab03a682bdbc12a40d6d258e5e128728107069576a02a03b476c67896067ee0b4c06b4e2623642ab89420a3868986a78db562772583a890039ee0aa84fd08180b25b4da1e2403bf48d25f381a71a6448f0a26edf16f237c34033391cbec9d688f605a755babfeddcd6ea53bea4e79ed3ef0a5d0f745d77101fd033a864476df91a20aaaee9620dd6887fed8ee9e467d02fd79a78a6277874cebcf03752e0f0b04eb33125555284a4e54178336bc5ec0391ae5ceab65e0719b0fbf2c0385554d61c5a90ed61aa0364e7741c0c049806288a07d1b52b92eaed5e41e593e031d1f63b6caf94c09d9528e14d8dfcdaf07015b644ca2d0fccdb20632ab9ed8e90219ffff039e81e0cdf7253252a35fa92ef98ba159620b4ee512438c28cc812e82bbff68f50359c8dbfee06777a1ac7a4b09ce088fd1a45cd7938b1e75621dbfe09a3cb6686103e75800e1c875864230026d139bb988623d4dd8a7e22bed93137a4e00884549410359ba72c2d80b27d024e1ec7ed357e174dba2e847249bf86bcfcb2ba5015732cd037bfcb229c50e190498982640af62e37a57eb91ee83f9f72c48e46ae470c3892c03a94334f6cbf27ef9c2aef6a9cf02749d0fec1f2b4a2271517c7c2fda03c953750368caa9760941527917504c358908761077fcc95d60b2397dce1f34ccd26a837e0358212fe41c3f8a52fbf98ff77012fbc641bfa5da1867846fb5a16dbe49e76f3403aac1b79df47dcc4bdf9b6ed52e43a12afbdc442b9a8b167aadd82ef777ed27b003ce2ebee6d146a1d8fe250a7a9e969f200eae2a489129c56594bf3f003b27acff0317a3a0385750e0366c1fb5ddc299ee17743ddb6a53caf3f34c66030bb725e40603f283857c22f62ea47d2f90f05f8f556481571b64519b40aa9db6dc98cac651cf03f84b1a55fdabdf504cba7deb9b86eb2ec09a72ad35b887d3c1982ee603d758e5032d9d0d4e2c8f26a432fcad9301fd9daacd96444b13ecf0de0c4fde72b4fed7250219ffff030b8647b39c9d3e3d4c0fcd6a0cbe3cb72ef6dbf1371b59326e319e4ba37d98a1033c39054c50702e5addf1cb867969012acc156cf703628ceff7e40418b2111cfc034bec7431ec70038e9d6643792ca6fec7739bb5696f256a89bc22f1045c54f9960219ffff032fd2fd586b09c4e1d63622469b8b5ca1422c16a3ddc7d0a6f54735b17a5ee14703d393ad3c34e0e80f38ac2eae14578086772128d0ff6f34582d92e30f982f734f0219ffff0219ffff036c4b6312e1cd07fd5f36cc92169aa8c2d0b248fcc37fa78d38fb2440cfb62c51032cc70b50df152abc6c2bfe991bfc1a02b77fb783e72e21227c901fb6e5abd0c00330b581686a9d7edc1b55dc877a49d9b30bc9974e08d39bd8ca7e540fcd01fcd503ef9cff09bf0a2933f4b83fb536153037d4de2d19d58f7ad5d0fdb137083c51590309a99102b41aa595c86bfa1fec9504e38f63b3bf08298a324a1ef71ddcb0cb61036af991e8d853362f150b86f4ad8b4be303b0e0d8755e1df4b01b6b51ec6cb54403a5412cd286460b217315d2cfb20d54e3b7eb4b04c8a7fad3cc64fa392c0d505d03d6cc6b6a51ee811a5ed92d4f1eeeb66b97ed35bb645ce1c28e2c8ea15fd0eecd031a3dd92680ec2973182c1c5fbd2b43df10b925ec95c3ed885845458178ecda1503966ddd20882a81caf91254cc02f4e631a7c394d27fcc0948f7af66f28001f1e1038c845196cc4679b8c87b8e8a4987f5e075278fc39cd89892e74a28c727730e1e0319538fd41c44ca40558aaf994fe22afcf51a22f04220fe0125a92e0816c4c28903a5854634713acb68678a4f480764095989e9280f1cb8e0a2ef96eac8e19f9bb003b5ed5414140d4697d92ead987b96e5a634986d38c303fa42d5ec91c6a20b88c503d1b533b789e70ab1a9b55353d54742bcb216899d50126ab302dc649fbe520d2703d1c3b89ed66244fb7da7b47196ec1359edca5f1a08d3d8eb3f3fba69e97077340360d9a23cb3a437da88fe28fd5e63f16e04b54e13274ae8aeb0215b84ac53304703fc0bf425140f17c487052fefa8d86134b50fa4de5e807c8e1b6152c04de40f5303a3f01c6228905212e499674e6f0b6944b7dc59b0a18a133ee8114f2aa5d2fd1d038ef2b7b41d16f586afa268c107342fe4824677bb6d8cdb40f5c33b384987210d03af1f00ececfc61e30ffe36ff89b5f4e30beb44e9eda68b9266aa7e308715419603fa9a3f2ab1c231817692cedacb8a6d8797eb63f3cbc814dcc7dfb39c39bd76d805581e03c8da1ce30f3a9385bd0c9c79639c253efd26db53df57872805144735c00c0447bcc34406087be5032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03f05539ae9d44a7f89eac6ea28f7fc9f4551a742acb060fddfed3d9724007011bffffffffffffffff05581e03e5c84092d697ecc14fb546322a4f21154f98ac9c9bd22ff22446e6a2200c014701be2cf7c2c1880369fb98d0a636f9d46dee776a23c6b40b1daaa66228ce18fdcc46f1a3512ac64903d201ec4218721a1b4d9ace1b8d40a0f947fc6fbca044ec07d2489e08f0c1474803bc962ab923c4f000a648858fcc6b8e86d8edc44314cd67755dbbfb837427fd690605581e0311eb8ed915e2a61ceb0a8940c04de1f3c0f1dbd8fc1346504efcd0570007011bffffffffffffffff05581e0388fd196defbf8bb5703edd9458e3589bec37431118d32493d33e9cd3000c01470315c59256b34e03f5775117ef3dd5fd6163bd78174dab00afc6f023da214adb796fbdb622d937b405581d02e63b15e14314b4281c1d6bee559c8854e501abd2fb2288853c782c050c0246010d6292f2000399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908039496d1176ba4e77f2885acc44dd38e8dbbc4b6e33325aa49b1c6850a4c7a27c105581d025a9fdfdbd5049d04757ac6673189fe0df18e90eef0e906dd1fe3602707011bffffffffffffffff045914e2608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635b0fc9c31161008c578063b83f866311610066578063b83f86631461042c578063cf40882314610476578063e985e9c5146104f8578063f79fe53814610574576100cf565b80635b0fc9c3146103025780635ef2c7f014610350578063a22cb465146103dc576100cf565b80630178b8bf146100d457806302571be31461014257806306ab5923146101b057806314ab90381461021c57806316a25cbd1461025e5780631896f70a146102b4575b600080fd5b610100600480360360208110156100ea57600080fd5b81019080803590602001909291905050506105ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61016e6004803603602081101561015857600080fd5b810190808035906020019092919050505061068f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610206600480360360608110156101c657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610764565b6040518082815260200191505060405180910390f35b61025c6004803603604081101561023257600080fd5b8101908080359060200190929190803567ffffffffffffffff169060200190929190505050610919565b005b61028a6004803603602081101561027457600080fd5b8101908080359060200190929190505050610aab565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b610300600480360360408110156102ca57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b80565b005b61034e6004803603604081101561031857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d42565b005b6103da600480360360a081101561036657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610eba565b005b61042a600480360360408110156103f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610edc565b005b610434610fdd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104f66004803603608081101561048c57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050611003565b005b61055a6004803603604081101561050e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061101e565b604051808215151515815260200191505060405180910390f35b6105a06004803603602081101561058a57600080fd5b81019080803590602001909291905050506110b2565b604051808215151515815260200191505060405180910390f35b60006105c5826110b2565b61067e57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561063c57600080fd5b505afa158015610650573d6000803e3d6000fd5b505050506040513d602081101561066657600080fd5b8101908080519060200190929190505050905061068a565b61068782611120565b90505b919050565b600061069a826110b2565b61075357600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561071157600080fd5b505afa158015610725573d6000803e3d6000fd5b505050506040513d602081101561073b57600080fd5b8101908080519060200190929190505050905061075f565b61075c8261115f565b90505b919050565b600083600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806108615750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61086a57600080fd5b6000868660405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506108a781866111e2565b85877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38093505050509392505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610a145750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610a1d57600080fd5b837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505050565b6000610ab6826110b2565b610b6f57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316a25cbd836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b2d57600080fd5b505afa158015610b41573d6000803e3d6000fd5b505050506040513d6020811015610b5757600080fd5b81019080805190602001909291905050509050610b7b565b610b788261122f565b90505b919050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610c7b5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610c8457600080fd5b837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610e3d5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610e4657600080fd5b610e5084846111e2565b837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b6000610ec7868686610764565b9050610ed4818484611262565b505050505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61100d8484610d42565b611018848383611262565b50505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600080600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111d85760009150506111dd565b809150505b919050565b6000819050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611220573090505b61122a8382611455565b505050565b600080600083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611383578160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611450578060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a25b505050565b8060008084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505056fea265627a7a72315820e307c1741e952c90d504ae303fa3fa1e5f6265200c65304d90abaa909d2dee4b64736f6c6343000510003203636d141568cf459b69c53f84b040b02022441351ed1442322f2bb7f8f184e95703b314fce97aab0ee9ab958f0f1acf37a56599c4b008de9c7f0eda5800f191569f03c026e73501bd1b03c1e633f2072234636b769f9221e51e82c5fb1a1ab1d56b57034d203c0d21080a746d16b364116aac3f149c1df848a0adf61758e0902ea1cd3c036c99f4b3aa139f37db955ce27e851700ada4303fe5007a5457696e403a63779c03d0a8d38cec2e0f9783e1da73f97086c10be8848eae0d9662e14bff66cb76c0c0031c7012acb5b28a5b4b0ec717daadc8565f51f9a131959749b35b9907acee5cce03000494c199be568941abcc2462b71c9740368742ca091a47b3d7b6ddf7048a1103c54c5b77bfe7f8a8737bbfc2f39521bbb7b75078cbd5c8c96503396abab4c280039c752cdcc31a15c397bad3093e1a86ab50f9669e9ec93e6fef5334429a936eb20341c9ace4c8f6dbe037f9c583b0522ba8b83b95542948778a4bbac736091434a0035af155f2557e7c553860e5dbebcce023231d0d578c1fa16080ca24c50c6ae72a03d177f8662b04610d7e7fec567fccd097b74de47df806c2e52f605e3af5f244b70329c94b9b214f5e5442f0da92202164cce8b185e94ccf3df9a9a58933fbf5900b0346edfcb5cf52eec5f5461f17e0bbf0335fa665cbad28877b91cf79d3c31aa20803b13ad367301a23fe950b3b4e0851635b1f470fd28d247a1fe2dcd1ec15e94d6603a67d294466516262fba77e2d99ac0a4942f8aaf78cc0ef73108eea1b0f28fffb03795b89e0341c72ce3f90352daec2fc959c8d6ae17ae555910bdd1965528d599b03e17387491a07f02319b15607c64bec2c7c19ae542a45e875ca70906ad14b9ace031e3103768ce8e9f1fa5d415c50fcb64e596ab901c0010fc6aa2133f368cf6cd1034750c950ece8ba2034a1dc9a98a1e2a4cdea451cfc0c4fdc65986489618536c5035528ff4ecfa28b8390abc6f20dd138e9467d7cdb0a4e72cd0b8dbe391dc8c4330310822a8ea3b7fd1c7929f95030cd0577c7c5b3d576b985ad904918d3d2275a8c0371a565d183315f95ec8edeb56cd12934c931c463b2cd46c63790d91271a04ae4036620722b6431d12eb26928dc60449119041de380b9927003a2796c3d2d37bdef03e0ce2fccbd1e5e9797a2b0ab0569ee206e09bfd22515514a219d9579cb2b6c1e03d30c994db7c820b3a3061aa178be5d6dc80fb9e837c33eab7a720277e426e0f8033d50f311d28b060a2a472d4d8912da6c7ffb99c054b82646cf5d79f5dd2693cb039e0df8a6cc55f712b1c6a04880107750f203b6b776493c1dd395d7ccf17082760330d12e48af15f7865559af0afeafd44b4e54a7af7b098a504f9b1d67a9eab53303b77024edb1c570956e7d649799960cd212fe903d1cec7d1a5f73014a96f27f6f039e97f7027d44c1293ec846ebf6a907c4ae7dfaf80ef2330ca7f458712b72c3b6030ecc68c0d97d17d5dbcac6bdfb7bddc2d70d903124e5c0fa31fe54977320c23f037e3017104e2e7cd20ce74a268f8bb0591f94753368d46470e2aa4c2cc560ac3803cc097281076682c9d39ac6a31031cee68f81e1d9c58582ba1d04ece902ef298900581e0211437647dcdb03ca10a097d060097d6e2601bff8fbedbf738804a4a3275429fdb8168a0b76a50e11571336837bda2788377f00581e027d4ce62b08adf86efe5bee950af58261e83c3e232ec9b36e7aa6803e16544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e02cfaeefe3985c79c3e9fe1a907245baf20add6c08ad8c44dc62c729c3da544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e0256855bc495c51bee4f0ae9a22d07caa3459cc883514891de52a5b46227544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e02cdee2210f25b3a2360d654063ecd7b3046ac659f39ae84c21444143f2854f60595b5bb6fa8135c0feef89543521ff38ba83e03eaff93c5de12867d25d854cc30eebefa1c20d25400dda878874ca8535d64c42002194c520312cc92134bc63ee40c57192836c5632a5240e709a4829c22215e97232bd6dacd03bcc380e9b1131f503bff639e7d30598d7552e9a8bdce287fa34fe17759db9b590318eb71521d3bc5573411f7b647835cb25c739561f039a3cc93b984c96c1c838d0388ffaac3fdd51609e5f877c869956fefb3d168444334ed7d217149707b2e3a1203f5c83e00d1b05d00dade121b244779d133f23024ca89a32b42de82a3d3e586b803bb78086a976b2ecb4aabab9800ce43125ec18e49748c74cde59f15f2ba5ab94703b4bd2d129c102c741bb87e214f06c4dce6dd6525ca8696613311f862d7ef3ad903e94a6261eb04e1663ebaaa5649281be5b948985fcda15522ef6dbf8634732144037f4f2d9444e1d63b75bb968d01da53414187335c3e1a9fee95912f18acf56f010219ffff0219ffff03e8158c662398b21d6cd9461558b16587cbf11040dcd9e6e0c51f84c2232b7dab0303216dd0ef2a9ae21fc335fb760d72165a1c8b8d13efaf2706a3285ccbd52aaa03cf6898b18b2afb6221037b8bccce57c52717de8691721f2af546f85e99f6cf3c03d15d75b0e16b635d5467d0ac4b47f103a1a2d098aecfb798c91f92e98904c8a203b59fd95f30bad80a6b5b58502646565a30aae218c5fafdce1fff863b8452c7ff036cb9a4575ef127892ada2efe3f2b003f3461814dece2a5dea643011f47c56e2d036b0888f69e0281b798441a475cf63a4b833f3d3ddd88bde355cd668f3082ccea036b547fda7df19edf350ee92d7c194a06d7f96b68cc9b3367996b383073df9d0703b3d37b6e24d6d362fd8d5ca3ee4a4d3de82975f48b023a3895cfaf945ab41e6b0339b5447ac852ce8509cfb4ab440cce5fdaeaa90ee516a8fa61c2d25fe38cb4020365f2124f875b79c21168c2f9e28805269560f8e4af2b975e8bf5d817174cd39c03de3948b4028ddf53be5aba6b1308c9d8e87ec00ab3dcd2cd9ee8c518d9f14110035f7261cc399e66f9a43307c7159b93dc1ae8db32d6cc68985b38639cf6ed58900219ffff0327b6cb2767ced18b0ccb07d4e490bf8bd2142b076ed9b55178646d289e5a570e03a04cae7b63d56c1aa976a069c342f122801bab3c74e989ed6ec7377ef3fe588003243489a39cc42f845ce8611d3d221b00c04d7014cb86b66be506a12d1b2ce8b90353f4b492ba5413dfa939deef9e21cf942cea6ff8b98017deaa7fed4e959d6544038fffce4358d006282fb806b0dcf88c809fb8571dd09b088d081297d16c139ddf03b469726f9416b990c795536807e3120b605ebf6ffcd5aa874a8787fe5bd4243203604236f67f2c14c62a7f2867d404332ae43a7866561fb8a573c9b7a58b759cce03630b51aa7fe5877042bb9cc8f41bbfa664b3e2940a67898a9b7655f41c8b021e039bc9acbdaf43c2f040fe57c54e60663df7b095b03cd5112ce862d940f988f82103487ed4d441c52250fd575b8a4db3aa3587faa22152422dea2c71e2a5f682726003d2299f90ebcfd3185391d458a286e9d381add65edb29e1bd3d761c72a0a2731c039af022aba7c9e275c2e627613fc241a7c8a5532d607bb45a96ec13d219571956036e89d76d031301c99fbaaef82e886fd103d8ed6a61b74e45ba9c10949642e4e0033a43d54bdd9ccbd5ff79fd1b81fa0e615accf1800ad1792a33e4418f40c57449035aee16eec4719b9159175f110a68367d7fd4e17c9aa1ea578f28132dd6b49a0003fdf16c1d4a0d84eb7dae8fa646ca5cee245d7bdb2b2d144251bed7eecd4e5b3503ac4702e9408c15a664a3e1a334da678c30189baf2d29d689dcfb78c6a86ec45e036ae3aa53773c1731e2270b9e7ac67be74d318ffff8979e392f06fdb45cbf935003ba0ab88dafafee25cbf940783b9435e767f22721c7fa752ba2d75f9c834f7bca038ff059e19d91009670026338ab26f1152b0b081a041ed75966bab1191d49be9f03b25a1816f918367b42151c7f628571be0bcc711eb7235b05731c018de0a131ef03a92655e217ee8e7219bf76348d6d7b87be21a53f33ec89b2f01164b2fc4137c3030ce4e49d99d065a97f0a23d816179979d27ba677f44afea2fb6e339db18d23b203e26e944d86cbf2299f74b6ba287b65125207927ae1aa9f1a369fc3cb96f6d58203345082a19663fabdf04fd587e07c0c95838836a16e43bf8367e501dd62d17fa803eea3e8a638bd61abf6d4f2e8a11a1e481a80b4cc957c9ab0a07e00e811633ad30383eefa59b3a081f5920435377c628a1bf76532271517c1874ea8d876cf64b7b5034d486310d6c8acd8bc1060af54ec220121e4ae4cc787af82b541be0ed2037af5039bab0d76e3b5d082df6e18125e43d1afc57e2119269821b379359f69ad2e696103074ff4f672d6f8eb062d3387c84e4e5e47e0a2acc5fe0271ab9dad025e2dce23031adca71241f4d8c870425e3ad69a56e9ca28ad65a583f7ed717f78e92b21779d03b7c241433adc6585b353dd242506107a254065a01f6d6e205b8be276c4185b2a00581e025e9a1ef027e204b9b1d8e9abe779f9377a6be45ec5e922356e5e1b237e5461592a6f682bbabfd743aa7596ee269e7448212c00581e02ad9d39bff035fd8f5b37b332c4214d4c8b02bc20bda8811570804fd26d54231b0ee14048e9dccd1d247744d114a4eb5e8e6300581e029e6792c759fb145134dacbfb54eb7ab803b6838661043ecbc827d2844154231b0ee14048e9dccd1d247744d114a4eb5e8e6300581e027bbdf4fc2f407e2d534dd95d2e8fc72154ea32f4e91f8cd605f1e4e90754231b0ee14048e9dccd1d247744d114a4eb5e8e6300581e02fdda9ab0dfe42d155f8741dbbac0c955ece07fd59e6dd9879f09b0c78354a2c122be93b0074270ebee7f6b7292c7deb4504700581e025eff28392a1fbd0c710f54e0975f484bb823e9b5f230c5aeddc70e6e67544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e03ccaa821ef4eaeda04a7f12f93c3e5a28c111a293f79f922f915f7205b054084b1c3c81545d370f3634392de611caabff814800581e0351f9abde78d8c8028ca5e3bce1af1189dedc5670563b993337b8f589f054e0a15f73cf155384307d67b2f28719b1fc301519021982000375193582f1d411a1ee57eb3b1d6a8bbed4656337f82422b7a6d5d220a002187000581e020cf74e970e4216bb75be8cb4cf14abf6e4e411fe74efff60eb5cc9f8b554228b622d48f6ed1667bb8875e14653905610a3f70219fd90032a1c28d9c157f7d8254b7a45e457d8d5b07c5e21ecc8a6874b39665b30294bfc03ea3da3b52c42d649b82a712f9976d2058655c93fbf3a6cb81964da64e7d239310219ffff034ffd665a069d4b00915c748a547e452710c6da97db11e062db1f0d478a8752f303fbb018fdecc3fc4a70adf5f4c11750a4a02f97dabcc1ae5f6b5ebfd954bfd3c20310f4c2fdfb657524584607a005cc49ddd85e960880c848fe0e2f63d65b87377603ce18fb5cb5fed193ca7c2995562caa5b01edba128e69b150d9ea664b53b8ad5e03ea053b0434d5faa953ba620f69805ee638b171c802578b8c868f7b9089b737550219ffff03399bcc6c6309273a372d4d646a3dd75842dc8ecc588e3ad70e8b532d17ebe15c03ad3a38edf1e1b0fe1ae4b6661fa964f009acf5a1eda5fad737f88ff374e25f8c03d351fca3d815045bc1f80504273d50ecdf6d34796d1fba20b3a95241723dd3c10360552ed8a786f6c04d8800298dc0d872abd5845015f229bba6d02d588127528303603af14e802a57d89851c1d891ebfd03e0ac5421880068eeb99a1db426bfff95038d0beee7efc178fea402fd4259938fd4cb88f62c833f92b5fa87aa0966ad262703c6419e01114a8da12378cbb1fce45669f9d9102dde7f3d209eb559351b2185610219ffff033087a07167d18bff5d1d49447dc104e17a1bca4a451595774d3f5c7ecb0704790384e5d7e46f1bcfafe8a2b2605363bc833cc072c85cf275208d2b29420461658503b26f60a1c3731ef55647671a9bd9c6e84abf9e8853fcf9e737a48398e52cc5a00363ca1086ff286ed12d862da0c85e54c3c85ff59f362057f6b73141db452ece940219ffff038d957de089282e2447a2128ae3dcc231d75928af4a7fab2476000bda065f78e0035c722fc9b6f4932fa2d5afd9d0b8208583734e51cb05a6efe5923ca63f75dbcf030cfbc0efea530ab71c98644ab89a1cb58b8fe32b7be24048dccd920b890e6575035aaab25d1a6084de5cb5d42deafa4da43b17cf0388621cd4ab8a7bbeb655643f03dd53a185080eaf1afdd9bb825f08370b3f208a27a2f6edbc95d03fc30e2af52203b722d5ac0326e242fa0f3d0c7ef4230f6ec85668f313434005373c349d711cb30350f1f86b5ef26f5368877511009d355f41cf456caf049dc2b2a7056d2ca3900903c9d867e7c810a1ac073c7d177fdc9c9be8468a279a54b2a203c66b1c56d8846103545f82ecb2a73e7683dbe2d311b35ab056773b99809630482e1adb0e0c74ce1503fe58c57d38e4dcc012a08e59136f6d33a6b80588688e384735a075635686a6870394872cfb95b9a18fbd063af5d1cda5cf2d9bceb3c4eda4d839b8f407fc0e69bc03dca3ffca07d746a67e2ccb8b3a5324985fca261631ab9602bc193e6465ebaed5031216c5d38fe3372b82c62e768e2b94266381e5ba1738eae339440c17004ea58c036646efd57c68863c8e7e3c7b56d13f7dedd942c2889824153a1474e8699b31cb03e8131e89e519a23ac5122f114c4f88510d6cf7b05b2d8a5db0254c1b6b048b24039f3da4bd15e5ec1fb7b44495d91912d37ec9bf1d7f250ac270d06c08968593b203284fda10b7c902437146b5852d7d880e47ffcbfee3f2ffb0aed5060a8c380fc003a208c5f9a3201497ebe5aadda51b94442b8201a5ee18bf07a6de2a732449e20103f6d62b661069ed9f0cfff8b14cc0951d3fcb22f09a37c46ce40957adb2ea11f403f82ad4766903c51a9114ad9c5aab3c31bc9e4246044f05fe7d43f2d54a229b45034948fec63ca1117aa117f72e53d73594f0fb583ca9b0b5fc32d68b07361a6ce8035049542d1b8714115786f848806867eeb006e14faed6e62c2e8e504a694429d80375680b451c2d121c3075f4c81e701dc8962bcb6ab51abccdbabbf055c5c0334b03c9ee94a28056e5af589b3a8dd9bd666f648990f6ffb21b2b300a4220d5ac5ca8035a83cca518e03e11427556681eafd73b327b85705c67132a97b01f93a31908d50353bc21aa722878d218cb1e9a55491914c9f48882308af194e36f3592d6d0583803b256cfaa674feeb84ffeeed5dd8c75d72a525a3a0edc57ffbb8800d82c41477c03b44b5a930bfb139472057c4b4a5434b3503bbd538c3a37e116c4911e9db39bc10328f20284919892ce05c5ea9d84c14b3cb628501eda70040c5f778db6428626d203eae10f7a9da608eaa17e9b2798a7f7b415d97a3afb25d42391e9a98b6d0f4e7803c53a5c79d36ab6b2fa87ea84048221fe79f8a3653389886be025c6b2e5bcb4c103c7b8283af040bca909e272c1d7c0763a3ae646c2b235007bd3cc231df464dfd603df76b446d291f69d2a46dcc7745161edb1dc96bba3d1df5bc25aec5eaaf39ce20345e06925b69a38e383235ce1535225caf95a0082d371a64a17e08d3cd3ef692f03cafdeeb7626d18b491dd9e74d376f604008b4c46c66fb671a5817e74057487fc03a9ab137393cb4b0e46ca8b87f3d279e51c419788e01234669cab4b2fdc3da20f030abdce77b8672c120be86df5c4036aaa64a01fe7b16812223aced388ccf32ae503ec1ed9883de2bca3ac3cdb6509a5351da915af3e5efa331cd72908feea07968903f96193826f2c3c3558803e14f415536a7bcf3431813c53618c163a843976c8d403202ec59207233ed5c6877e60953b0fd7ae80ff45691411f020d4ff4079a359cc03817d170d8b12d63689d9aa8dff316c9fa2fe42524ccaaa08f9156a75d0b480a0038067d6eeada7f8e173e03968b6fd0680a820c1d0ddd9f8d16911a0c8a2f07ece03768d61d8a5c59567afbfde4bff5c9327aa068f6c1fa2e703070ca16f020250fc03a84806c3c84394be5483dfc7c7e93c47f9356d2bd51400117b9c8f7f8ca1c6d900581e02d36c12f82ec279cf4af7340098eb9dfc84addf0a852a7d24235a121fdd54a2c122be93b0074270ebee7f6b7292c7deb4504700581e0265bd60037f204b2d50014961faf499e0dddd0218947a6cc772e6f3e18c54084b1c3c81545d370f3634392de611caabff814800581e020c65f9dfe85e45883701f4a158ffe149b4ee73883ab6daf0da845dacfc544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e0293ff30e659cabaa3fdd7761d21becb3605b0ea2bbddd20e18913ba60565480a96b126dc3101041e02e04d2bbe924bd8b3c5500581e02fc0a1283cbc5779fabf2bc923c072a0af0eb4a53833049017762332571544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e0244233d4d66371f9298a35da20aa6d725ecb95eb5f753b86b9dd012e1ff5388dbf44a9c8050276e2935509ff05267cb1a8b021927180219ffff0328c6eac5e5c64654a429020a67de30ff64f35c7b02510a42a30929ffa020489e0382f13ee992f574757de7ad643aa2c0b9d984021bdbe942290786e0ea3aa26559036c63890f32ec1a94274c4271dfc18b4a4713699041ca97958f395546626b6d9e03e410679b7bc5d5aa51aca2a54988a9a8112d6153ea641fe95116a7a486945470035f93c1055be209b6fc87321bcb36c739f71268ddbf22e5ed403760090739b87b03f7a3ed86e719328d14e5de5066ba17f9faad96cd6ccb7015d535c7449691490e03388ad4a306cf5027eda92af69c9196b2b9bced9eb46696a7189e70407d5302b103e82984af894ffe1d8fe9d7b0127adebf4a97897c7544367e3231ca2a99960876039da910d91f0b461716c1ee17b9bdbf5ec596f23c02961c2c769879fa57f1a207039fd13df3432f63cd5e8f1fbadafa584ca4a0a5de247abfa21a64fd35717b2aaf0219ffff0308cf3f47315883f5202ded544de4440b5b957dedcdba1dd1c2748cbad7f538060394e85b533330e3f200b312090008605052e265d1a26e300294e1f23f410b3c73031e7d6a80c474f828d58894f41b3d1ae48db1804f590d119201d495d1481315f80358ead3007a5ea81a4583a7c5ad627ea9c654605fcf8ba672912978556e1e316303afb50167d177fccf6db3aa23248ea2ed1096c0102fa7718dcec7be9390f110d70321268ece4e405b76df3b123317517f20e5a7997ae5fe53d1a789ca8bb971a61e0219ffff03336e3d3a69035dfa59e011da77f70c582742b1a50c8ee2e24c9b84b3622b22a3033238f6c0199f37fd36c77f6aa197e35e4d615b2a46f844a85faa6263850bd02e032ba274f02f9caa185986ae78c4a03302f3fc772b97bb55db4083ca0d69c4d1aa035d115cc49a31428290b4cc4e6a21c5bf405dd6a97d65103e357219ff207bee8e0219ffff03a9d9e0da79a1577f8c7c474046b8f5b7f861c8ed6d4d0a41b56709ebaf70913b03f2c738b9c2830566161b9dfa4cb2439ec1f0246140c02e0dc3119a68d3e9426403141dc132d0caa0c1bf23c0ef4441c2762ecd5d8499350bddec892f12dd75e2bc033d95eb45cff732ff00df7c593746949db039859a95dd0e9c9aa4c2c6e78b6ee103ed191223a00a711d9bb209a06641db0730036b03953e455a4f7a3a21f83fc59603c99daf2035b590466966b531f8c044830323aec03989a24fcb00ddee26568d5c031463d7e46079fb5ff620fc63a0acdc3393c8b370c589d1763fd4e57b2cbef8d40358670a6134de8eb6d1a3b0f952afa350691bb9ea9b273320c3bbb7e21d7fe344032ac6efc9ee718f96d3a990dad6e93887aaee9151b492d27f8c0c286ed26e2e7203c2db6cd94d056e10f122d410ea2a79ee73959a5958c385cabc3319367844395603861ba8e36c69044d17e17fdcdedd86ef273d38f02fec0a8e575d99789c150abb03c46ea65625dbbe3b7e7fb8b793ccb7a4200cbe9395d9a5758a6e0228d6244daa03cf33b7f107eea623842d911b112cfeaa47e83b88ef6d5750074bd752107b8d6903e83adb4be1adf5b3b429f7b82b720a99691446d4b650539a79c7d561dbd0623a03b81f6ffea7f9f18188e6dae0c02c38c0b33b3d94c9813fa579bc87ad6a1b91140393e95e2169c1df3c12af7f4274ae8ff1fc720e8ff8a78bc0600ba41943ec921803fee1d6d88c2de5d7f509364b825f02c97c97fa3fb01b92b75a2b186c0ae2e6c003602bf8cda06a0d7fe42b525bb4780e15f1d29d84466acda7db98595073ba4585032c45f2a757557e6596862aaaa16bcf29101da33e30b2dc616c61bc5afc08438803620f1516d2bafce2be9c0ae47b2a6b0615cff9a48ac7a717427c529ddc44214703d8dfbabe85edef024316f91ac7387faf78aa2c8ed35f192dfc99ecc0ebc26a0e0378a48e729195f88e0aa5afd93d67f65dec33371ab23e5d668d41f5c725bb13400377819f57e486656c19f3a7723e1abac036ced157d4f2ef39a0d90da08c30bdb103f6d0270daddd143fefd41f5f617f0b46e548ca6dd9580b4bcd2bef6be9cf7e410397a2a3d1ea4197e5a19e01d133a12070c20d50c87197cc2569e828516fb63f4d03e44812ba6c64bf9f1653d597ee37891630934100d43c67556b47580be1c215bf033800fdb62e676d9a9bccbc4ded4f40158bf72d39b74420033dc75064cb1e4fc803b2de51964c79158e94269c70d920432e6e099095e1330b80ab0f44b62e61065003490e8b9998037559b210823bea234414ca651a3db92427bd02b7d9784696144d03e0b285b5cdb344f7f458f3006c626e887f9a711b60094681d808aa0f523efb1c0327d4b72911827f669fb129efc50251601208e4465f96de89b91b603edc5c009b03f3b69eaac0186fb4c0cb08183f5831675c5b245108cc65703156dd087d43f498032c7dba9f0ad334badbe100ba248c74a8fff6e2449dd8c1547a098c97937cf9ca032e95cc74684636bcd6bf309006ecc9915e0a48e9ce4bf55ea5d714f4359b70f503c20a0e4a47b7a846d1a3675268bf6ee1c1ba4b97bf233e1db59da7b9ef8070a5037b7a07885625e48a3cef3659d1c3a13e90e61e8079f387d8a79b6ed7bc87373d00581e0288a934af171028a5dc619d2b2bbaf05f7a16d4b17f340fa495b00ae645544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e02b28ed6aeeb14edfbc54f54d07fa6893b2c6a272d711a94b51adc11861554231b0ee14048e9dccd1d247744d114a4eb5e8e6300581e024ec6052c01c535adde87945d32043c269794565e54af5aece3d53932005428b2a5921581d280262472aa9ec36dc25e2f5c0600581e02587474116bc3d5abf773037480cff8ad0d5b2de2859b80323eef91244054231b0ee14048e9dccd1d247744d114a4eb5e8e6300581e0215e74a8241791d324cff1f309955d27bedd1a5d206d5ac6ff0466990c254bf16f28923b56da151bc8492613aaac318a4128000581e0231b99949d6cdfd8d0e45ebf1e168d534d77e2eb1c0c77a4041b89a6daa54231b0ee14048e9dccd1d247744d114a4eb5e8e6300581e0201cf02e82791459705705e01016059bf09b5919973943aee441e2abe1f5457f1887a8bf19b14fc0df6fd9b2acc9af147ea8500581e021dbeefe96f519da027703ad652185bda51742aaf1648280559415c615554da1756bb923af5d1a05e277cb1e54f1d0a12789003ee0e567366615e6c894e979bdec2b22bb175472b7528499f0caa8197b54705a602195fc403b28046ba2e1495125a2f50608bf8f54c1afe3754ce4e031dd8c5e89ec0d9386d03629dd8104140783c56494ccafe2cef9a96cb2d74566d3c516afa4c94632e23d6030d7bed492947d1d3024215791ad62f85c46b7acdd5b2a87980551e8cd37c7ce6037c2c1136e522b3f8333013c831be642f05e3ca1fa15b23d158c8ac35ee76103603f343f34aa2912bc717be02c0e87b3128671cbd3f7f6f85af879b915a568b8906030adc782a0c620087a7c54d8c8c8752fd16b9409ef9361114f33db900947e603003d9d7fc95b5bdf951f8272143e770096ecc431847b19be29e9d30c3adb646c384038b8624d4aeb87a1a886a3088b0d239dcdaaeff8df851e61956456a940644c7f2039faefbbaea10d348955dddb815342bbeeb2f8ee7c387bc612e72997d67b7cc3403e197f8fae68869c731ea4e330ec6e42c7ecde2bef2ca1671207365bdc172bc0a0219ffff0336babf2007725b261a4385d5b32e2e5e6262b3c15d3e9fb4fb9ca3b55e6edd600343667a716741ab3831125a0617e7529a66f99127b8e824cee7f73a65f5f65b7e033d6311cf63f47a6aa69b1fcd088d68412acd7e2344891c000def001de5e13bff038af6edfd75dd36c019e1a95551b3001a5a9ebcb7b1b3ecf7fcff5858cf7941c40219ffff0219ffff034a822a2028cb8babaa8135d77f6cb5a626f7ce7b6bfdaaf825e126c3808b6298031e36ae99070823fd6baa51fe53f7ce68a89257c780aae873022328f998f14e78035cc6545a8fe19319219dbb1fd02e31358d686102976337ec25ea0d4e5f2c673303ea1d1a8f8593bd2ceddd4f2f63f95cd123dfdda2d468df63a43ed63d1d92a1500338a76dd2d411bc8f6121f5d8a6eb24a6e24c40dc7ae93fc5088b7fb9ca93b962031502675bd228aea77a99b742c5981fe9ca61df5baf5d77b37f6e1030ebe8878c0334c3696732598367bb0729a432abd304b5ccd4cecf5b41c493c52423795fe05503c9daebc8793233c7b77749c7679de90ff49e66a18af48ede30adb6663fb5541603b9d8657e86929d4c87c5e208dd68dd5a6860129af2fe90c6690cda12aacb7c4a034eda10d06cf4a24937310fae5a31d508725c97ec5965685938be854b1b60ef6a0219ffff030c54d5d56e434fb772bd422248ff8d6b124673aeb2f57f866b3e4a2568f4575f03ab6e561b687ff008e4787db21b7f7e16249234cef3b17df7716790acf5c098570373dd7c42b574725042cee33575a25e16eddc41065be7007440f5a55769c5d510032c18c3b3a02dd3e445950164af5ef99259b1c00820f2fa02814af433533a375503d1bbdc54879b2425b01a6ac4dc24bec4d6297f6b8149bf41fa8468574edd216003d37a5b53ec76225a8ceeacd91260fdc56f92bf1685d682110d0e0ccd91ed9a1f0371cf896f1103d0ba2cfe6c0070d0db239767774bc17316120d65ccf2928b85bd03bf71c369d70a9af8b8053ca3c55ce238155c3821b753352ca5ace99064a56c31038bacebf2d8ce8868c2292e62df5abd3bbcd8c90465a1ff98534cf29c384aac51031ef2abd47511b099db9a47482852f91e6689c8b0534f9ebb504fed794486ac690370fb506ebf1b910d1dc93163971c14da1b608ebd2a2bba3947398fb6e58bc85303636e591e04168b6d3d2390b96c9d4932bdff2908e51a374377c408fd8cbba21603ec985d31ceb28b5a1923ae640b62decf7ceaff56256b313ad989083a5851acb203eb67c46d4459715814aaa99ce1ccd250349e8a793d48ab257719181af937f8b203f8f1a182e6c3bdbac212007ef70dcba85cf996c34129106c05e3185fc9087a8203b8da5f55712b568f1959aedf81580366939c0280755a8fb3606b97fe01bee6c903069b6557a40448524c3b34fc43e01b2655cedb56bea145d2aabc7922145984550308a37a89717dd79b1e256b2d33c784218496a081465196cab1a65b4b1efe5c510382d02b81fe834c3647435daf317d0cfbfa0d216f76b846a066f1e98329b6af0b0339855a4f5656e1660191387462872fd6c11cf44dcdeb5966add4bf1496fbae8f03804dd5989d297189166289d2ac2049ffd046f68076cbe0fd3cf2aa5c6efbd92303e2d58fd5a77183ae54b03c98f66e99ead73e14566dcb1f283ff38390817cbebb03837e858321e00643ad1b80350874eb5d2fb11502847c7d9ced8a023fad06961703a3da048f3bb5cc77ac4b79d350c24b0f1ca682ea2f0ccb8abcbe2efd69c36d90035309c22a099956d09ff640283a8bf0717bcd28aee70af80c0d71064c2d45f8a40390c13ffe528dd970d3b4dbc4c7f6e28f4f269590bf0e6d0d8ca2d2c44869da8503b07a55e5ce9e80b7de58252df4c0c15a9464e7f4d07d7c0f10a440fd964eeee80392d8b33414be600d4c58ff9cf40c17f9bf45feed005ae60e80d0fa17f86fdfdf037a4edda758c64e46a7e283d38790c3af32632f72b854985cdae8dc16bd2ebcf2033f963d673f785dcc2e96dc9b6d535935867dd730c3b6e20d3834a656e0ae6ca203cc7dc06bfb76a134f5fc03000d86898363ce3eb38ffeccceb36936a49776690803d8fa0c3e2d648f4e86ba0276f974a6405a8e03a2b7602ce7c7ae51ea4352b078034c7dfda11b3e636f1f8b206f4f655e6e3d57dde287c1e6223ce0187bcf74809a0325fa9f4c71d499afa0a95cf6041ad45feab3766ae87303889b3be5c658282cbd00581e0293e42dc0bdb5385272dff7906c46065cd240f7b1431e6306ff20d4076154fd6646281c01b6dd52135ad669047be8b2eddb4c00581e0245f0779f85ab1d120bd5e8ea1d472961ca5317edaa3bd27d58aece5f41544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e02c021d60ffe3da1af8530dba813962f7c04d362455a0258d8b9d164f04354b2f2d487e70aebd8116596326fee9f3b1eaebce3031d74c42450b79d10206ea579d51ed8dd7aa4f32ceca120bb535f2bc3f19e5e1600581e026dcee2a74891045790743f1841f09285cbb97ea721cdc1ae2724b8ea8e544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4102190c70030131482817768b21799fe0a11112d64a936d5ce4d0c31171927f44a31e388ab80345da0a12818740c58a7ad777e89f27a990b2943ecb6204c802486f238ae34cda03563e3db810ad2bdaad06e9ce37c584d9be5e80781e250aa58319a78f987cfdb30219ffff0360018ee5f05ab28fcdee0b845a108e6c699090ff22ccdfea7e64b1823639a26403b91107f73321f169b6b6305fdc48d2bf37df54669069cc4aa5d4d77ca766c1fa03ebe3a1320e9845122ede781e23f973d10b3c679d8379a31576306a7813cfccde03b2b9642fa22a0264c28d9add4c26b91a368426b78edd06a41a89cb036878a67b030d9927d40b9093c6fd1bd33cf00bfba7fe17364cf2ca27631478f37cc698663203f2e3170f7772e810a92e7ab2057f835c69ee598701a0ccc372e750092721192003c82931d67cc99132eef3e9a1a3331aa931a32d97707f56c4708202f0d32992cf03d18a41c5669f79d7172373f863b20ca7374c2a9a6be46302504192be1ca04488032c33a3ed9e18b4f75f43e63c9d5374acd14f1c122a617ca21f7fc0060541c8a10318cd89f74c0b5cee08304da375320227ade8a2e3c8d4326043b0afaa03e9572d0353db30fb532ad083711c437b52b64bb144810638aef15df9b9544e74d984b5eb03e00187775332433f37896cc823411ad7e263d90b1b6b405ed18c16b75786c8320390a704d85288c53d0f7be560a05f0b5ed480f037c46ed2b90ca1669efd7b07fa03f8bf8ecc3ded1adda207e05d91a7720ee3bcad7eda964f1578bb3b8b968aa43b0311af1cdb9577bb52835bb8d7efd79bbcd093d34373c9079af44eea9f0cbe258b0219ffff03d2bb5f2bfeb7df06cd014bc6c2d245f64bf4496c6b836a513025099db73fe794032b19619af07e9e18e8bcc2a00d6ecb1c0e9329173f65ab0499ae8dee68f47cd803eb615f52ac8fda792ff55c6630c5474062109f71bf5313d8e8a826b507822656038e698aa6f161a0d522674ace4a0d375178a9287789f56f1d75a57bef103769610219ffff03f95e1a7706fd9947c719029e86f5d263ab678dda4ddb2a9306b58398c8fce11f0377cdbf35a30e6f74caf88ef3edd388de9ee12cf83a494fa21dac62585228082203cec94807b654f9a825188b0d0da4328069211c5f4251986946a4a01703cc4d100399b2a46bd54f84856ff052b7e093e49cf3deaa00e5589b081c32979887c46acf0219ffff038ca86d70fbfbdf49a68ab1f3bd953b62360dfb64df5404184cab34638f5f462e0379b976c49dd2d76f9561a1457c5ba57f19adf77cf658857e66ca48fc4fbd06c403ea52c65cbf829b0344f01a0ca2b259143e31a6a1d882879226a756f55ee009cd03f20913972b5e4373fd1f9ccee72e4295393e19ea45934de5ca8974267a8cc8a5039debfa3f042a47d4cc928709ff10c6be869f8102f9d6350678367df461eeac940367614e48dbd902303957fdde1c09412c075db9895789379f39f02cff288d82a2037c645b1e311f224938cd4798fb5f4418e3ec3e4af298e907a6e4160f31ff4e0e03264d4b0d95b527126fd2b9c19ce0126e876d55fdca04a46c86a2d03a1b035e290361f9740aa99190261506114a4ff696b7b795a261e1b6969f09ec6c0ede3d5920033536bda2b69adbfb220d3bc29fe7878a8d0932c8a2d80d9cddd1a06af33d2b540338f106b2cd91ebf6c8b30479a2d95548ae3d02ab1e53dfcadc8903dd535b1c0c03a584876fc4cf697b067cffa5cd8949b517c0f4826cd3b722bda185ed8c3bb2bc032804c2d2fc10cb0f7710e82d805613c0cb3bcc3400a7346622e8fdd95d8e615403632c2f85b77869a1b8953ccaef2b16a4af628082afc5c6875576c69c55b9c45b03cf70f3f479754ab4daed57e08594097fe3625990a16c31ddd1a5822282e2e5e1031277cbab216ce474483a9088ab2beeaf94eaba971c50b24c6014710e4c1402e503f49dd4ff7566ccff2595fc3f0f41d20fae0746c15218de08b8a4e99d25294e96034efaad59f48a474e73dc37cedab71cde327a89c457b0691f85fb88a950b1de500339449340a748fa89ded12b902f65d2ff942cab52b1b3c8685771c4e14240e3bd038a84864bcc5d098250878c4aa6dc8aaea978437fe0eaca5fb92376fdb3c9a3db03f14a343fd71fb8da592ce7eee56c9146aaf19b9c2bd0d5b3f5c0623ae95d848b037e570a5c592499611a7e4c3c9908c34a36530b8b157b9ab740689a1bf03bddb203e7a93d20f6d10a24b7360b202c92c743ea2805519237f67313a926ab7ef92b9700581e029e57b301282b7847dc4296b83c6f314b01adabc9fe73e24f0b464f070c54084b1c3c81545d370f3634392de611caabff814800581e025e129230843b78ab085fadcf9b9202cf9082c775fae360d1a7a2e106d354a58e81fe9b61b5c3fe2afd33cf304c454abfc7cb00581e02ba82645192a204fdb8d0e203e4bf33e15a8aa8ea488785bebcea8896ac544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e027fcb823421620c7d32f04f42cb9b941788f470432157acb218e82be615544e9e00e7edbb3cb153bd25c595d67fcc8eca055602191c4003469f6f96e490013da4cc0ad6a03d535c459af907ba51165da1c81dfee741249703c6b6d21b68372ae91f66cab0952c284c1bb7e868beb9e83c8f9f8d395ec9f1e703326affcffcc1cef5ae7a83ad1d4757ab84fa313eefa51126b2590256b871bee003046c2a4ae8bbb6f411de8461da5b8e1b3c3ad60d7a3ee105c65dfe341192554c030b621f6374351ced830fbbf132a47d9f20f7e484cd43c0573099d3ec29944f91035dc6c77c472d74a379dc5b65e50a996da85bb863f048109d635df06d428d18fa03cf5b1b60d05f52e93630bbffd2ae864a627a8ff34d9048a8fd53a2bcb3bbcc8d03cc4bedc3d7539f8d096daf8bffa260766999ffa80ea0acd93ab33d2d7c5ac0f903d89bf9c6e66d3ffb824b69a751c14fde83fbf8f82ebdd4b8a50eecd5d224f5780348938c6cf1c72e442dd4d85f865f5c712f2ba0f7e2a6f90d7ed59b4f459650a8030a11a13f0f609515251d24df013ee72a37624fa85558eac1d9460fa3c4c8a2cd03491860af69e12370106689c14201f0739d1693e752454c22a9f6403c96d14c1e032664d7771cd85df5362cb829479f9eacf587315218f28789f9c35c84278d09700219ffff0394d383ab8b255d95165cfa5f43f34fc7e120944f72e3ee017cd5ea6b44d592a7039e213aba362744f0cc798ddd0b7ca1ba11ca3577c6a488a92534d28745169fca039f344ea6a17b1117981b15300240457c9835aad833e1dcc108443f68361a9c8e03b2c21a4e7fa96daf02d8296da2cdb468dcefc0d9a58500d08c9a1c79ded9ae9c030a875f95cf9d7454c9c73d0dab583092998e66fb81ae6fe85c57c631a9ac141e0219ffff0344191c61adca033cbb86187cf34028038898018b3f700e70a86fec2f2134bdc003843d874f49d25f91f4801775a51b803215ed79e7af80a4bd595577a927566ebd034cf842f7d2b93db19a06c8465464b9c410af1dca0bd7ea1a5157af1ba9b9e070030a861d395bcd68da575c06406a5cb51cfd6bd88b93d46a81fd925c06ca5cc80d03db154cda3322ff4d822130a4e65a8fb1da0fa749b5d83bf41b26d464644a41d203e6b880d7fe9d17930e31aee86fef0a91d9eb8ff2f4ba5c79c1e35ee32dd6698f037786721e8405e2672aa35b47751990fdf7e460616011c9d6f31be4a5f8df74c40219ffff033ba84f98cf946ede713931299ff632b638364fa75913414630204b5c945bc1a303cc38611a65b312010c14e74e97fdcf20ba9b9a05a07b571182d905746c789750037db48b14519dac302c3f4e63837cec3ce861f92751205b3aa032c9d1b030397d030de9b2d82186632749508cbfd10cdb3501edcf0f2d538075748ba0d4fc16d1fb035afecab040db30101747b8ee39adde6f3735cf53b84e77147fb54d5ec45c6fac034347455d34d7afa013cad159fc0d605be1f4e8c7a52b7e3149466f1f343b263b033cf75c4ead4c2cc0a8cf5b33abbfd6018774c678e83e8d78a4ff01ee5609fdc50374eae8ce791c917dd0d162f7e27d1f6f2c30ff417c06a3c86080703145f4681003be985d02e65946d16eee184d99e59d37601222b258c3b114453421555aa6fefc0300edc9c8e339aa51c56f898a69630f79db68aa0cb9f41d1fdae5bb39d4d63eec0349058b2d84b635ba2d10835dd61a89f4d79dea3c3c7c1531ba0b5a37e8d517e5030552318158643ceee12527dd458402f6914bc36edd03403020c2041f70bdbd0d03a9b0ef7c668219e108c9a1f7c53ec92ada7af5c04a4ffe73def32213159f7f3f03e7b60c9023de37bb9cf597d3891ae25c7d9c602ec9d711eb929e0b0a075451010219ffff03231c318903e0b32c1cdbbce59d3dc16e8296b0803fdb0b3e265b0782357555cc03d52949fea2f113c3dbd382fd941713723bc1b7fdd0931c6ead583eb8fb7c43210219ffff05581d0253e8a0e441d4dc5101efa6a123b85a3a2a219f1a5fd625a5d661449007011914e20219041802191779035d7b56caaa2a451ab5405e86e53b97df40fe250c88bbd73367ef4b8cf88cc27303d8f721c8170321312c8858e4936004510a76b4098d23c840c263bffd7535e42103998e7e322ae4b024f798ea4e7fd3184e0da23ff665496ed6b8d1fbbc9facbf9903612f6e5acf72b00ce760b203d4bd03f70a5045cf510108d91ca9d564e92ee34103cd206f2a782fe76dac48a57f7578f4c0ab63d0ca0988bdd0e340f93c1b73819503a7c61d03f0d6e8eb0267e4878151e96289b51c431174eff9f46bcde8445a6c96032309129e458a12707964b30d8fe20f411248dc5e70882288d3349035da641e3103c98a569d92cd947503dcdfb1cee9d975a0b5ba0f067a699250b182ed49b608dc032d9f365cd74900bcbded34a59828b3bb96cff51938b98b4035fc456dbcb8259b0354f195efa211ca473f7f1ed2048468fc3b6876c4729851b5597b3729518fc463032bf41c5354f1b459be12a4c99801c0f6cff295daa69e6c0a03e599a1543ecca60361d7bf14c4a0de0f0aafd3ea31db4d18c6e4efb2c6d4c153189c7354eaaaf371035e9d793a1c3c22eee0812cc2662fd5ef03bc7eb344c821f56b9bdb21411ad2b00219ffff0386592367c575ec6baf18523963173ad16a44c4698f2748f164cbadc2978ff90903d438316b1cc250bea54693c05d9816b5a42e369d672d0e85853a107df31991b503c926fdcde46f11b3d706cbf52ffe5cc9a458afd675da31de09a9c05c97f3a6cc035704aac092d8c739d5b5ce86395da36a873415a4437f9f7b4db98650558c2689038976cbe13074c2411c032acdd3c0c6e9b3e70c45b88296d5e8fff23f85ace69d03d5401e72231dfe3261124765306ff0214ec49b2221e23737f0729e4564b540cd03e92586544510ee550cd6bb38487311abda83a0053a58cad97e52890a0a83340803bd8fb1c4219b846ca4adfc1dec4cd3210d35c26c7b51271bab446a76bb0d002203a90beef4096aa1f9fe9dd1201013f4385f741d3af8cdd041fe28c97dbd96dc5903a18cef690c13116995330dd8ba9ecaec8cc9e456b1461b05546e70cfaecd0b5d033f2ced955a22a80c2a7ec597322b7b6cdad28ac355d3b0ed64c96a5bbd85002303eebf2cd888a9d36e8cdb66554dafd5499be17e4c7c5ae5ffcbefa2501977ed260219ffff03e076f709cc4dd5277a8b857705a932d1ec37d15262648e6198f7d29cc6299bc903bbc497f97e6519504719a4650d1842a9503b2b800ef11ef1d9ff57aee95fec0b0323d6d74fa9f6f516de087cb60683a59d3956b09f38e321f71877ed8a048a149b03a649b6c6a1955f56449d72f4f3feb5128963c7c12272795f19a9c5acbc161ca803e158dbdbfdadce3484fd6d2134e66d24dbd69934346c5956f215465a83014fd103afec2d644906d98b8f73dc4a1ef544a196a96105419a75526e9209c6dbe4e7b10362910a8c3e9478a75a34865d9bf3c7554063e05688921f4c6648f81c255dc1a60219ffff03842bb8f62db5d3bfa92cc0fc2a8371a9cf78f6068109c681e9dd75582cc656d703a95433708f1937fa3f29bc482cd316d3744f4858d82b781979c43316dd98f6b603c22c719f7328180a69d86cd7987c5698d348108984cfac86295bd44171a7c148038f7b7e70632e6c4d82c57b29d9fbd5a4d984c9f6a848ea8571612eb05a0448e60362a9e000e847afc787befb4718eebf42a0ed764336d0bb088175a21e65123be50356f4110fbcbc6fd3e7025ee84f78b49806fb81a1f17a69d079e0d75e35d9d78503d5dd7e8af932c8c65f1303d5c74eae1506470ecdc45a62361835bd7dc687accd03a78f72e796e5f0a3a91072ae064b04fd5374d9f170252aeba6247a40df4f6d60030ea67c556db691b6dcc1911d65ef4b39d7f73c9ec34974ee922efd3c244d03980308c23d0f26e4ea32136251160edf0348717b21aff5d16fa1a81d8759faf565b703f4ecd845f0da13d856f276fa116dc8e17e7dc5320749689ab0d379c66f1077430392c3895ea1d4fb86cfe7630a96f42c23002c99c7afd5be64f0ea84e75dbdd2cc03d681e006db698644039f36ffe95054ae60ea72b66c342aa9c5f144cc27c53979032f9256424eaea897b1d809aa056b1baaba3b839b953967fad0b3a382f6bcf27b033a7829f96dfbd3f5cc7109464065283d4151ef2b375f1f8f928565be185093e003b244fff5c83e4048437b55aa5d6ea9310dfc1fc9225492e4a8e60826b27b23a30309c6ea850f1c92a814609ddad2c3ac9d6d8993bbd13dfb756cbea17f8fb9501b032cd3183c5793f558b8f6da696a8748d1e5e1680763ed54fcad7810f8bd5002e8035348e765ceeb143bcb5f4317f3220cccee123baed7d0c08486d56cc0c178c33603bcbaa58342a89adad378a6cb0cfcc8109be5a8fcc8c3def3b0a3b5b7295988bf031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0315eb5b602207d9672510ceb8b3c314f803c32717522a5ac3b41d27994007011bffffffffffffffff04592dae60806040526004361061019f5760003560e01c80639ebf4ab1116100ec578063dda3346c1161008a578063ea4d3c9b11610064578063ea4d3c9b14610690578063ec54aa7b146106b0578063ec730177146106d0578063ff0996b5146106f057600080fd5b8063dda3346c14610630578063e251ef5214610650578063e2c834451461067057600080fd5b8063ae2814d2116100c6578063ae2814d2146105c2578063b9155885146105d7578063bc79a36514610604578063d14649311461061a57600080fd5b80639ebf4ab11461056f578063a0d58d8a14610582578063a3aae136146105a257600080fd5b80633f65cf19116101595780635299ac17116101335780635299ac17146104fa5780635361477b1461051a578063573803fb1461053a5780636d96a2aa1461054f57600080fd5b80633f65cf191461049a5780634665bcda146104ba57806347e7ef24146104da57600080fd5b8062435da5146103ae5780630cd4649e146103eb578063127842a4146104005780631459457a14610436578063397bfbac1461045657806339b70e381461047a57600080fd5b366103a9576101ac610710565b603a5460408051630d282bdf60e11b815290516000926001600160a01b031691631a5057be916004808301926020929190829003018187875af11580156101f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061021b9190611f3a565b6001600160a01b0316336001600160a01b03161480156102495750326000908152603e602052604090205415155b156102595761025661076e565b90505b6102638134611f74565b600003610270575061039e565b60355460408051633d85fbb360e21b815290516000926001600160a01b03169163f617eecc9160048083019260209291908290030181865afa1580156102ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102de9190611f3a565b905060006001600160a01b0382166102f68434611f74565b604051600081818185875af1925050503d8060008114610332576040519150601f19603f3d011682016040523d82523d6000602084013e610337565b606091505b5050905080610359576040516312171d8360e31b815260040160405180910390fd5b604080516001600160a01b03841681523460208201527f64459fab7324199920bec86f9ce814dab17621d386f548c8a7c4e638d28fb8f4910160405180910390a15050505b6103a760018055565b005b600080fd5b3480156103ba57600080fd5b506033546103ce906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156103f757600080fd5b506103a7610848565b34801561040c57600080fd5b506103ce61041b366004611f87565b6036602052600090815260409020546001600160a01b031681565b34801561044257600080fd5b506103a7610451366004611fa4565b61094c565b34801561046257600080fd5b5061046c603b5481565b6040519081526020016103e2565b34801561048657600080fd5b506034546103ce906001600160a01b031681565b3480156104a657600080fd5b506103a76104b5366004612094565b610bfb565b3480156104c657600080fd5b506039546103ce906001600160a01b031681565b3480156104e657600080fd5b5061046c6104f5366004612162565b610db0565b34801561050657600080fd5b506103a761051536600461218e565b610f0f565b34801561052657600080fd5b506103a7610535366004612240565b61103b565b34801561054657600080fd5b5061046c6111e2565b34801561055b57600080fd5b506037546103ce906001600160a01b031681565b6103a761057d366004612364565b61128c565b34801561058e57600080fd5b5061046c61059d366004611f87565b611341565b3480156105ae57600080fd5b50603a546103ce906001600160a01b031681565b3480156105ce57600080fd5b506103a7611475565b3480156105e357600080fd5b5061046c6105f2366004611f87565b603e6020526000908152604090205481565b34801561061057600080fd5b5061046c603d5481565b34801561062657600080fd5b5061046c603c5481565b34801561063c57600080fd5b506103a761064b366004612465565b611568565b34801561065c57600080fd5b506103a761066b366004612536565b61165c565b34801561067c57600080fd5b506103a761068b366004612162565b611773565b34801561069c57600080fd5b506038546103ce906001600160a01b031681565b3480156106bc57600080fd5b506103a76106cb366004612631565b61185e565b3480156106dc57600080fd5b5061046c6106eb366004611f87565b61195d565b3480156106fc57600080fd5b506035546103ce906001600160a01b031681565b6002600154036107675760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600155565b326000908152603e6020526040812054819047101561078d574761079e565b326000908152603e60205260409020545b604051909150600090329083156108fc0290849084818181858888f193505050509050806107df576040516312171d8360e31b815260040160405180910390fd5b326000908152603e6020526040812080548492906107fe908490611f74565b909155505060408051328152602081018490527f667ad9c7167aea9bfcff8b321015abb0d8b77cf151a377e09e12b9017f9889fd910160405180910390a150919050565b60018055565b610850610710565b6033546040516358e3de6f60e01b81523360048201526001600160a01b03909116906358e3de6f90602401602060405180830381865afa158015610898573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bc919061264a565b6108d95760405163bcefa34f60e01b815260040160405180910390fd5b603a60009054906101000a90046001600160a01b03166001600160a01b0316630cd4649e6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b5050505061094a60018055565b565b600054610100900460ff161580801561096c5750600054600160ff909116105b806109865750303b158015610986575060005460ff166001145b6109e95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161075e565b6000805460ff191660011790558015610a0c576000805461ff0019166101001790555b6001600160a01b038616610a335760405163862a606760e01b815260040160405180910390fd5b6001600160a01b038516610a5a5760405163862a606760e01b815260040160405180910390fd5b6001600160a01b038416610a815760405163862a606760e01b815260040160405180910390fd5b6001600160a01b038316610aa85760405163862a606760e01b815260040160405180910390fd5b6001600160a01b038216610acf5760405163862a606760e01b815260040160405180910390fd5b610ad76119d8565b603380546001600160a01b038089166001600160a01b0319928316179092556034805488841690831617905560358054878416908316179055603880548684169083161790556039805492851692909116821790556040805163426c083160e11b815290516384d810629160048082019260209290919082900301816000875af1158015610b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8d9190611f3a565b603a80546001600160a01b0319166001600160a01b03929092169190911790558015610bf3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6033546040516358e3de6f60e01b81523360048201526001600160a01b03909116906358e3de6f90602401602060405180830381865afa158015610c43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c67919061264a565b610c845760405163bcefa34f60e01b815260040160405180910390fd5b60005a603a54604051633f65cf1960e01b81529192506001600160a01b031690633f65cf1990610cc6908c908c908c908c908c908c908c908c9060040161282f565b600060405180830381600087803b158015610ce057600080fd5b505af1158015610cf4573d6000803e3d6000fd5b5050505060005b82811015610d9b576000610d63858584818110610d1a57610d1a6128d0565b9050602002810190610d2c91906128e6565b80806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a0792505050565b9050610d7c633b9aca006001600160401b03831661292f565b603b6000828254610d8d9190611f74565b909155505050600101610cfb565b50610da581611a8e565b505050505050505050565b6000610dba610710565b6035546001600160a01b03163314610de5576040516342d16b8b60e11b815260040160405180910390fd5b6001600160a01b0383811660009081526036602052604090205416610e1d5760405163862a606760e01b815260040160405180910390fd5b81600003610e3e5760405163862a606760e01b815260040160405180910390fd5b610e536001600160a01b038416333085611b19565b603454610e6d906001600160a01b03858116911684611b84565b6034546001600160a01b03848116600081815260366020526040908190205490516373d0285560e11b8152908316600482015260248101919091526044810185905291169063e7a050aa906064016020604051808303816000875af1158015610eda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efe9190612946565b9050610f0960018055565b92915050565b610f17610710565b603354604051630d5dcbef60e31b81523360048201526001600160a01b0390911690636aee5f7890602401602060405180830381865afa158015610f5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f83919061264a565b610fa05760405163cbdd1d2760e01b815260040160405180910390fd5b6001600160a01b038216610fc75760405163862a606760e01b815260040160405180910390fd5b6001600160a01b0382811660008181526036602090815260409182902080546001600160a01b031916948616948517905581519283528201929092527f1a654dbe468f1cff27ced5a916efd4120a4155caf290688ab42aebe90554683e910160405180910390a161103760018055565b5050565b611043610710565b603354604051630d5dcbef60e31b81523360048201526001600160a01b0390911690636aee5f7890602401602060405180830381865afa15801561108b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110af919061264a565b6110cc5760405163cbdd1d2760e01b815260040160405180910390fd5b6001600160a01b0383166110f35760405163862a606760e01b815260040160405180910390fd5b6037546001600160a01b03161561111d57604051631c52d05d60e11b815260040160405180910390fd5b603780546001600160a01b0319166001600160a01b0385811691821790925560385460405163eea9064b60e01b815292169163eea9064b9161116591869086906004016129af565b600060405180830381600087803b15801561117f57600080fd5b505af1158015611193573d6000803e3d6000fd5b50506040516001600160a01b03861681527ffe608947467beb30a90e072fd2fc7d52baecf0935f542011fcd8fa6362a5d5b39250602001905060405180910390a16111dd60018055565b505050565b6039546040516360f4062b60e01b815230600482015260009182916001600160a01b03909116906360f4062b90602401602060405180830381865afa15801561122f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112539190612946565b9050600081126112705780603b5461126b91906129f0565b611286565b61127981612a03565b603b546112869190611f74565b91505090565b6035546001600160a01b031633146112b7576040516342d16b8b60e11b815260040160405180910390fd5b6039546040516326d3918d60e21b81526001600160a01b0390911690639b4e46349034906112f19089908990899089908990600401612a1f565b6000604051808303818588803b15801561130a57600080fd5b505af115801561131e573d6000803e3d6000fd5b505050505034603b600082825461133591906129f0565b90915550505050505050565b6034546040516322e2ab0f60e21b815230600482015260009182916001600160a01b0390911690638b8aac3c90602401602060405180830381865afa15801561138e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b29190612946565b905060005b8181101561145b576034546040516365e15eb160e11b8152306004820152602481018390526001600160a01b0386811692169063cbc2bd6290604401602060405180830381865afa158015611410573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114349190611f3a565b6001600160a01b031603611449579392505050565b8061145381612a59565b9150506113b7565b5060405163c5723b5160e01b815260040160405180910390fd5b6033546040516358e3de6f60e01b81523360048201526001600160a01b03909116906358e3de6f90602401602060405180830381865afa1580156114bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e1919061264a565b6114fe5760405163bcefa34f60e01b815260040160405180910390fd5b603a60009054906101000a90046001600160a01b03166001600160a01b031663baa7145a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561154e57600080fd5b505af1158015611562573d6000803e3d6000fd5b50505050565b6033546040516358e3de6f60e01b81523360048201526001600160a01b03909116906358e3de6f90602401602060405180830381865afa1580156115b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d4919061264a565b6115f15760405163bcefa34f60e01b815260040160405180910390fd5b603a54604051633768cd1b60e21b81526001600160a01b039091169063dda3346c9061162590869086908690600401612a72565b600060405180830381600087803b15801561163f57600080fd5b505af1158015611653573d6000803e3d6000fd5b50505050505050565b6033546040516358e3de6f60e01b81523360048201526001600160a01b03909116906358e3de6f90602401602060405180830381865afa1580156116a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c8919061264a565b6116e55760405163bcefa34f60e01b815260040160405180910390fd5b60005a603a54604051637128f7a960e11b81529192506001600160a01b03169063e251ef529061172b908e908e908e908e908e908e908e908e908e908e90600401612b04565b600060405180830381600087803b15801561174557600080fd5b505af1158015611759573d6000803e3d6000fd5b5050505061176681611a8e565b5050505050505050505050565b6033546040516358e3de6f60e01b81523360048201526001600160a01b03909116906358e3de6f90602401602060405180830381865afa1580156117bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117df919061264a565b6117fc5760405163bcefa34f60e01b815260040160405180910390fd5b603a5460405163e2c8344560e01b81526001600160a01b038481166004830152602482018490529091169063e2c8344590604401600060405180830381600087803b15801561184a57600080fd5b505af1158015610bf3573d6000803e3d6000fd5b611866610710565b603354604051630d5dcbef60e31b81523360048201526001600160a01b0390911690636aee5f7890602401602060405180830381865afa1580156118ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118d2919061264a565b6118ef5760405163cbdd1d2760e01b815260040160405180910390fd5b806000036119105760405163862a606760e01b815260040160405180910390fd5b603d5460408051918252602082018390527fbfad24c5385b591e87ef890b13ebedaadf34399714ea0e2dc0f6e4ff69c731dd910160405180910390a1603d81905561195a60018055565b50565b6001600160a01b03818116600090815260366020526040808220549051630aa794bf60e31b81523060048201529192169063553ca5f890602401602060405180830381865afa1580156119b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f099190612946565b600054610100900460ff166119ff5760405162461bcd60e51b815260040161075e90612cfe565b61094a611c99565b6000610f0982600281518110611a1f57611a1f6128d0565b602002602001015160f881901c60e882901c61ff00161760d882901c62ff0000161760c882901c63ff000000161764ff0000000060b883901c161765ff000000000060a883901c161766ff000000000000609883901c161767ff0000000000000060889290921c919091161790565b60003a603d545a611a9f9085611f74565b611aa991906129f0565b611ab3919061292f565b336000908152603e6020526040812080549293508392909190611ad79084906129f0565b909155505060408051338152602081018390527f4ff29a094e434f8a698185e97d3a285f4ba26c723f8ec8d2c9914213d61589ca910160405180910390a15050565b6040516001600160a01b03808516602483015283166044820152606481018290526115629085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611cc0565b801580611bfe5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfc9190612946565b155b611c695760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840161075e565b6040516001600160a01b0383166024820152604481018290526111dd90849063095ea7b360e01b90606401611b4d565b600054610100900460ff166108425760405162461bcd60e51b815260040161075e90612cfe565b6000611d15826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611d959092919063ffffffff16565b9050805160001480611d36575080806020019051810190611d36919061264a565b6111dd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161075e565b6060611da48484600085611dac565b949350505050565b606082471015611e0d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161075e565b600080866001600160a01b03168587604051611e299190612d49565b60006040518083038185875af1925050503d8060008114611e66576040519150601f19603f3d011682016040523d82523d6000602084013e611e6b565b606091505b5091509150611e7c87838387611e87565b979650505050505050565b60608315611ef6578251600003611eef576001600160a01b0385163b611eef5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161075e565b5081611da4565b611da48383815115611f0b5781518083602001fd5b8060405162461bcd60e51b815260040161075e9190612d65565b6001600160a01b038116811461195a57600080fd5b600060208284031215611f4c57600080fd5b8151611f5781611f25565b9392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610f0957610f09611f5e565b600060208284031215611f9957600080fd5b8135611f5781611f25565b600080600080600060a08688031215611fbc57600080fd5b8535611fc781611f25565b94506020860135611fd781611f25565b93506040860135611fe781611f25565b92506060860135611ff781611f25565b9150608086013561200781611f25565b809150509295509295909350565b80356001600160401b038116811461202c57600080fd5b919050565b60006040828403121561204357600080fd5b50919050565b60008083601f84011261205b57600080fd5b5081356001600160401b0381111561207257600080fd5b6020830191508360208260051b850101111561208d57600080fd5b9250929050565b60008060008060008060008060a0898b0312156120b057600080fd5b6120b989612015565b975060208901356001600160401b03808211156120d557600080fd5b6120e18c838d01612031565b985060408b01359150808211156120f757600080fd5b6121038c838d01612049565b909850965060608b013591508082111561211c57600080fd5b6121288c838d01612049565b909650945060808b013591508082111561214157600080fd5b5061214e8b828c01612049565b999c989b5096995094979396929594505050565b6000806040838503121561217557600080fd5b823561218081611f25565b946020939093013593505050565b600080604083850312156121a157600080fd5b82356121ac81611f25565b915060208301356121bc81611f25565b809150509250929050565b803561202c81611f25565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561220a5761220a6121d2565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612238576122386121d2565b604052919050565b60008060006060848603121561225557600080fd5b833561226081611f25565b92506020848101356001600160401b038082111561227d57600080fd5b908601906040828903121561229157600080fd5b6122996121e8565b8235828111156122a857600080fd5b8301601f81018a136122b957600080fd5b8035838111156122cb576122cb6121d2565b6122dd601f8201601f19168701612210565b93508084528a868284010111156122f357600080fd5b80868301878601376000908401860152509081529082013591810191909152929592945050506040919091013590565b60008083601f84011261233557600080fd5b5081356001600160401b0381111561234c57600080fd5b60208301915083602082850101111561208d57600080fd5b60008060008060006060868803121561237c57600080fd5b85356001600160401b038082111561239357600080fd5b61239f89838a01612323565b909750955060208801359150808211156123b857600080fd5b506123c588828901612323565b96999598509660400135949350505050565b60006001600160401b038211156123f0576123f06121d2565b5060051b60200190565b600082601f83011261240b57600080fd5b8135602061242061241b836123d7565b612210565b82815260059290921b8401810191818101908684111561243f57600080fd5b8286015b8481101561245a5780358352918301918301612443565b509695505050505050565b60008060006060848603121561247a57600080fd5b83356001600160401b038082111561249157600080fd5b818601915086601f8301126124a557600080fd5b813560206124b561241b836123d7565b82815260059290921b8401810191818101908a8411156124d457600080fd5b948201945b838610156124fb5785356124ec81611f25565b825294820194908201906124d9565b9750508701359250508082111561251157600080fd5b5061251e868287016123fa565b92505061252d604085016121c7565b90509250925092565b60008060008060008060008060008060c08b8d03121561255557600080fd5b61255e8b612015565b995060208b01356001600160401b038082111561257a57600080fd5b6125868e838f01612031565b9a5060408d013591508082111561259c57600080fd5b6125a88e838f01612049565b909a50985060608d01359150808211156125c157600080fd5b6125cd8e838f01612049565b909850965060808d01359150808211156125e657600080fd5b6125f28e838f01612049565b909650945060a08d013591508082111561260b57600080fd5b506126188d828e01612049565b915080935050809150509295989b9194979a5092959850565b60006020828403121561264357600080fd5b5035919050565b60006020828403121561265c57600080fd5b81518015158114611f5757600080fd5b6000808335601e1984360301811261268357600080fd5b83016020810192503590506001600160401b038111156126a257600080fd5b80360382131561208d57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8035825260006126ed602083018361266c565b604060208601526127026040860182846126b1565b95945050505050565b81835260006020808501808196508560051b810191508460005b8781101561275b57828403895261273c828861266c565b6127478682846126b1565b9a87019a9550505090840190600101612725565b5091979650505050505050565b81835260006001600160fb1b0383111561278157600080fd5b8260051b80836020870137939093016020019392505050565b81835260006020808501808196506005915085821b81018560005b88811015612821578383038a528135601e198936030181126127d657600080fd5b880186810190356001600160401b038111156127f157600080fd5b80871b360382131561280257600080fd5b61280d858284612768565b9b88019b94505050908501906001016127b5565b509098975050505050505050565b6001600160401b03891681526000602060a08184015261285260a084018b6126da565b8381036040850152888152899082016000805b8b81101561289557833564ffffffffff8116808214612882578384fd5b8452509284019291840191600101612865565b505084810360608601526128aa81898b61270b565b9250505082810360808401526128c181858761279a565b9b9a5050505050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126128fd57600080fd5b8301803591506001600160401b0382111561291757600080fd5b6020019150600581901b360382131561208d57600080fd5b8082028115828204841417610f0957610f09611f5e565b60006020828403121561295857600080fd5b5051919050565b60005b8381101561297a578181015183820152602001612962565b50506000910152565b6000815180845261299b81602086016020860161295f565b601f01601f19169290920160200192915050565b60018060a01b03841681526060602082015260008351604060608401526129d960a0840182612983565b602095909501516080840152505060400152919050565b80820180821115610f0957610f09611f5e565b6000600160ff1b8201612a1857612a18611f5e565b5060000390565b606081526000612a336060830187896126b1565b8281036020840152612a468186886126b1565b9150508260408301529695505050505050565b600060018201612a6b57612a6b611f5e565b5060010190565b606080825284519082018190526000906020906080840190828801845b82811015612ab45781516001600160a01b031684529284019290840190600101612a8f565b5050508381038285015285518082528683019183019060005b81811015612ae957835183529284019291840191600101612acd565b50506001600160a01b03861660408601529250611da4915050565b6001600160401b038b16815260c060208201526000612b2660c083018c6126da565b828103604084015289815260208082019060058c901b8301018c60005b8d811015612cac57848303601f19018452368f900361017e1901823512612b6957600080fd5b8e823501612b77818261266c565b6101808652612b8b610180870182846126b1565b915050612b9b602083018361266c565b8683036020880152612bae8382846126b1565b92505050612bbf604083018361266c565b8683036040880152612bd28382846126b1565b92505050612be3606083018361266c565b8683036060880152612bf68382846126b1565b92505050612c07608083018361266c565b8683036080880152612c1a8382846126b1565b92505050612c2a60a08301612015565b6001600160401b031660a0860152612c4460c08301612015565b6001600160401b031660c0860152612c5e60e08301612015565b6001600160401b031660e08601526101008281013590860152610120808301359086015261014080830135908601526101609182013591909401526020938401939190910190600101612b43565b50508481036060860152612cc1818b8d61270b565b925050508281036080840152612cd881878961279a565b905082810360a0840152612ced81858761279a565b9d9c50505050505050505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251612d5b81846020870161295f565b9190910192915050565b602081526000611f57602083018461298356fea2646970667358221220a28abd5c2e625c0355e001793a1cc3eab62230c93c1c75c88e38be2987db653d64736f6c6343000813003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d020d6f395069a20bf67d9e79ae86345f5239b30993ecd31ae4d39a1b9a0701192dae033980451255e493e58008161f3645447b7f50756ea57a9af29b3dae54da936f0d033606fd27c299e77c5bbc19a07413e2427b3cdb3fe91d108774a475c4736da77805581d02f6b1d78834956e925793aaa9d69c9c5ebdba1c1f4caaae645a3c6df207011bffffffffffffffff05581d025e16049e0a15e5febefc44b05e5d3e2e152f1dee1b6e261338a7ff7a0c02470b6e8fa6b3d80005581d026134e10551f6db9aac152995f9f65a27949c0ae456b62263bf4252c10c0147141b5f06ece03b0219501805581e034fdabf8a7b6cfba443acebc74bf027cf4494124a0a52d8f0c6dab3dcb00c014706a43eeb21000005581e03b4f93e052fa775f555371dd4c4de2ec902e3bd03d570c188ce01bf02800c0a470493e5c83b25e0036e4d2d1970faad30a0543599a0df89be075a0686caca66c392ec2f8fdc1c146005581e038537ab6d846dc53d94cdc8fa5066a07b644aba07d324c85073685fba30040303c12099e7348b91083846f67c24cead2eef99dd40799490911476dba21d6c674e05581e039926e93ae9c44d6a8cc38d3294d6c6d62f7e9d9ade5372049e586951a00c06470624d490c5c8b3039edd8ac9ded9dc7f60272895e2be6f5603de3e924b5af8f7b13375dcb4f0109205581e0303e316871bc1f5af4de1359677a73b7941445b1db4b9532e24b5ba80b00403021941ff0313779ae259ef626fd323ba71bac2d932060897a8e9cbca36ae3a4c2ace82f2b5034e3129e4302d3397e9928cb54406d23b0544323b3f5aede83f0a2a1bcc79e8560219ffff03f6593dbea5790785ddb6b4dd3253e115e71f51c5ab572fe8ee73eb024b74487d031edcf18c71ca311f547466860ed34940b57cc2dae9c3df0ed8ef864c807eab5d03418da17dc6f4c97c454f594a4703e2580e59f5e4279fc59477412891928bd09703e9f46b3a00e1f3266381be04b0abd12c14e46a52339e8408e39c5ed5d045e8b503f3037345a899f787e07e733700bc71a60bc668432f4236ff56b18363b0c213b3034fe9dabb53693755796f8a3fea55ed681859f3938b3fa9425babf4623b7759710311a562d0c37b25c8f1b87fe084be075fb73ad8e761117252dbab21cd480ab67303e8d70774a04d8b6d0df278965ef97048b08db2f36fbc9e932b082c1636e18b070339139e1afe5cf4107ae80a7274d3ff6389c78c7bb265e68f94ef578dd3750d1f03b79af5815b000aaa46e452337a4e2540076c39e4416e2f87ac9c1d9d73d9fb400219ffff039fcd29b8c38bfd7df8a234a4eb729b8a2b82ddd0da2043ec2af412f84406a895033f12c5e6e81bd1ab59a388a9e2c57da69e959c88a3f86d845e3ee72dfdcfc050034cecefeb33567c31ac31f3e93b00c87f459ae0cbfc430a9e72acf28b9f565abb03f8804ff05639bcc2f2acb03839fc11b40b2980fea1aff04b605559a4246f9ea503ec9aa29f1b59f3e431321dfaebd620cfad127e2f7581927c9c2386b6d37d395403d16cf9d2fcbfecc515505dcf30d0059ea2081c9c682ff0137a795f15b59ef2ae03abc6fca535bf1dc2a06ff4a932283bbdf72b9a96ca1c10bc0b91cd0a1f26e7c00333b957891c9610d0272963db7713b505778608c0d7f18994e09681ebdc0f030f033e29433cd71ffba6682721eb30f1b6b75314573c7b007197497cbed4b2f030a30329b1c1dd83f25b6a3f21025f52383b2df8b869e574f098a85393a048d8be66cd03c0813df351079a3c4babda90a2af346037538d7255403b2a18d73c0c70c3965a039709193ebe79db7b8e344fbefc95f9326b6236585ac756f69414c79ad0c9e0c5034e773d118585b571f595a14fb68202fc71cd8a6559804db66f7ca815a747917203edc08499ed3ccda4664dce19824fcafdd8f148216f12e44dbeab8ca237d7994a0219ffff03c7331fe1a83b93a2b9ffb4f265aadb1dd1bfd73e97c279dc397ffec1304a80ba03d0cfda1d6a3e3808ce16e4892c988eaf3ae8bfc8c9d42dbc98fc8b1ce843d8b1031ad912b01a47883db52743c9a69cf78736f4bc89bb6b62634f26baf069e79c6603c16809a3f5235fb964ab0f43ddb23d64550c6674dda40e615e1dedcbe6bfed010219ffff039ec4f57fc9aa02f2746c96f92c323815e00df82d85aa342fb07f34ec414fcfde03ee1d12662c2a7b5f76106323511cc6e44c4288f691dc94ce67b92033339fd1cf035ba4a987ad72c76be5ca207363d396d4da2cbed96af7fc1aceaf5e0551c58b38032b0d2524c929536db5dba6432d60012c3c01643df5cd05285f6771ca3a88c7580351e3cbef1485e5dc00151bb21a328292ec320efae636c4a51e359151a21343ae03deb8294a0984c67850d3327012639bbd897402ebcbb33128f80ae310e4979544039dda631adf06f5773fd09c2a40affe051442dea8828a7ca3b4678a31bad07ffc03e7544fc04b616032e16ed9581befbd196961432e321b2ba3dde6b2b36175b3eb03938bce642692ee5eaa2b2394f8d89aba98f15a509071ce7d77d73a76846cb8e1031351961d7e0536f4ffee2753bc2515ec17bfec357a4b0e6750f0843e7a7821420321bbada2b1056d3bc05242e96961fe03cc491cda75defa5fa52fd4a13acb5b5b03cf7a5c306605d2d5971636fea0fb8a38556c6c74888cc5878b3590da922494d703d9ea4493579c5cf60deec8673ff8ed0788e70a60414b49cd4ae56fb06ce829540320a13a57b41b4e0c79dbb6881581d29a0a7bbf43618373d1c25eb8bbceafa03a036a94e55cf365c8129566626c451f4937b2d9839f9ff1724158421b9766a5cccd03c66c8a50589a624e044f27ad2aa760e6ec06de43182416c26c7abd9dce67205d0393e81d7736d4c12d73c3fb04d9d1425b8cdcc5a8c600e978eba9699875cc18170330ee2a3b5670139ea0e6f9011456c41b141c3c967f83b4b6a8de9e63e397be0b031eb579cb9dfe49ea4cd7f69b3f70c9b2bdc372e557bbc8edf065f16ee3e43891030dfbb42444d090b22f0c945a11d3682edcc017f5ad63349f8c5e8fd9a980125a031b5bcb409717039249600f8c2e5970f7c3434507dc6495127e6d6473a08deff703aebf69a1b10cd0c996ba985886e26c4e0e8414c4fae6b9896ccb0c432bb2ede703f22c1bba7c6b050fb32d7ac7c8277350868c869abc10c61a99c779ef843aed7f0324051175c82f98efb018bc00e0c41c97b65a4eefdbe8c16d7a66b5cb3ef758120312dc8c2eccd6f4f41866a5998fb4253e2cc52945ef599c8b89bae4b7af666b8b03fb468542384da023e5e4de4f1d689c7e0e189c81cb0e3830841866b6e941e76403bab5b7ea1fbae061f831db7ba01e5693e83a24fd9523621b5b8344c8880946ac03321c68605c374d3d88d713961bd5c6c90670c725c1cac1efb86896f8cb95dc28037c3b6a68714e87336b4de8cf11a93243afab9f2783a7e7d0dff0c0a3803aeca503e34c6339ee127c793fbcb052f937e8c09461033347eb937698d5334deb0bc2cb03a411a38ecf59766f3455f7f10d4fb50541a4e977051513cbf0867bb4a6c5a4c505581e039b9b6ee803856adc294714f4f1c2274bb71a02e98491e57272cb8f7390040105581e03f3145fa47bc236e2447f9924680f484769d6a6004428b5f4740b1c6b70040205581e03f7585ee4eba9a32d6ac7f75aa58cfc0c1770c09e7a9d7f412664c87f00040205581e037d8fd84264225fcf323d7b810d34e1dbf955ea1a867c8b5244e538dcb00c01470625580f0b1c00034fc553b6963a166045e3e6e675c96cf5757de7d4205eb672ddfd54595122ed080364650f4eb56bdef6ab56da8e26ed3c4ecaca0d0a06e0992b015a3d93ae29ffb703905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03b7e07195dd1bd25657fc3f26477f17432bf796648a93c249e69f1a1ac007011bffffffffffffffff05581e0342004d207c188889bae14dde1b61f3e252493ffdaa780c38944c9ea1a0040105581d0201957391fb0cbe6c194dd335ea7d8a5058337b9d177af6c65f47cebe0c02462be00e4b892005581d029560759e04c6dc1c356f85b92a4a222f9ff27d0fb52165b7ecfda6800c024617a60ff9340005581d03a6235984e6821e8efdb57bb3dfca1a688d82d674f813b79a1367c2800c0f47233a3dea6e8bfd03dba29514aa98f429ed66839d59e316bedee77defbe78b81e86ca7d76bfd3ff360605581d03f75d26c896e40e355ca684011190703d41601e5fca7c2996cd78ec8007011bffffffffffffffff05581d031881a5cc6c2f7195e6835f638573c8d0b42a2c4d0cac0e140d5879000c084701d7fddd1959c402193004021902a005581e03955ca14c1265fb4fe2a7d7702a4e2bd2ac2c2428d730378f7bbc703ac00402021975f803c8e8e6da9b28241fcde6b321edf76f915e107623073b2708f18424a6534c00bf03a8ffd027a41b1053fc52e3217d927088f3bae7f88809d08d9660f9803685f26a0324d84a7c5041f7e5ea8a19919b6fe4adfefb62bbb856f6b0c8b1b0e6826d799c039b158178f7979ef9cd975880b5ae771e7b5a006330cb493d1a20e0b5ac378f6103e27b26d6d2fae171c1d4869159cb6d397ef8d0f05774abc318d8599c62d2b4cc030015cdbe0458ac56d87919b1bfd6382131d5aff7988ef6b7c72d89406d3b8c1b0219ffff031b8a74a265853a5ec398bdf8ac69e110d037f1ef6269e1b62311dd14772004cc03b2d09cda815a38423c99900abf55b979d718c0a327121c87b0e23342ee48b33103dbc3b1f6e5a8fa99215a3b9d68266ecbe1f9dbc404a6636467149e8c0d96e9810219ffff035d2629ea9c94fa53a850625274948131250fee5f1db7e0de6a98505a735d0009030a3f1113081380d866b08c3e6f2635400ef9128d6f0070508ba11e0c7ff2021a03eb164b16842df091257f95d9d5a2e09374eef96f865a7d279b9cf83ca0ac883003e13a7c774f124c371fde1b4c23ee6230b9dc663b6190a2abd52d3307b45c73b103129c83979d5651b0c294e75fa0f5f98db97e130f403901488a9e86014e73cbcd03c6bbb0ccfa507b0f9bd9c6b2296cbec22f33a92e1bf714c01ba6032684a33b5e0219ffff032cae3894361466670d9d04048cacd920528f6feb1173650ce52a31d9c0cce9d5031e695890082e35a25796dcf8ca1e19a7c54eda9ae50d62914ea4dc56dee37f5f0376c305f59f9fb7fee59404dace7dfb73f8ac33427245bea863bb8d50c17603cd036f7a0fb5337db0be76a21ac0c3e6d5759cb500ec30d370994a7ed2f8aa95aabd0391d2c6e86724e0d796bdccd39d101a5283585cddcec720abbf2703a95e79feee039ae6e0150f0235fd40c651814e75086f5c54787063caf732e40334169b94af51032921d5c710f60163f5238ef0f1b5b587cd818737917cafe38430500a2e57c8d003a2140ba42a55b1a4c3e26832a07edc2e18b428e071159250485cbb63793f585b035b390833ca761c99fce49c751e0b90e6f9d052862d5d3c522ea6e3f64db6539b03b720e96b3deb87233c98510724f7a98c17813cac71da5fadd57b7a4349751556033af53bff04662c280c77e7c53b6c8ae14b1ae39240832277ccd0c510f1f56fb2037a79be638585e4f0956366398661bfca2c30cc7e8e32370eb9394589cdc0fd3f0368007e115c9269df8531bc14daed34738e90c99e801a0087009863db161de2a0039b6df6d163d801f2f2ef3dd9306b28aca7d30e5e2623c3600fa4ddbb16a2a1f2037f2f6af5d4899f7e8514ee20bac19091d87a8d5b0884922a2f04b30912139420031c803083878e869724afc7ea8d4156ebbcf5760ea36f15a4ee3d78a9db34c9bb03f94ba9daf79b0861e9c82ba3d1dd4fc29a975ae7c3c20efbe76fa6815c9fe60a03593381ea084dc66c656193343be8495eef9556cd2f20c8799a07065e0f80e1d603e966084716391339fb53c952c81b50500a090d19fc8242b7933f504ce4bbe4d10367255d84413f315015ee02128bc10ab4bb74593519f38f73f419b80bc6e986b80386e3ddc995096f919a3d0d76c694ccf4392ab33f5c99d2f17c0a252e689998a503cbbea2dbd35401492ea41fdfe5f1f3616cfc69cd1cb586e5ed5fa6a32a24ced3031f63a174088ec58ed0593e291e4324e6015800a8b36cc0675ac012223e9c7bdf030caecf76f78d8480053d2b1571a1776e601b45dc533fb2330dc7d5ce770eed8d03f0bbcc5ddf5893c816d0b5b1ef7d1aff399d8afd124121b5bb1c89573a22b8c20384c8aaaab2f562c90a7b2e7e749395fa52a60d36b1df7ac63bc2b5a13ba9b38803b23a46f744de5fdcc1a3d4feef1b3542cb5695ec18234d47c1e03f47a191e1dd038b962960cf3a9ce733eaa7f06a3726d48f58a3b8b18a9a1645050307db9a6716033c3061e81480a25f5aac599d2c307d149156f65db7958e99b9785927098e31d303821fddfd4a91180ec6daf68c1f4b3c67e0113d1bb0796682c42a8a3488da90b505581e03a0a033a99f75b2723f826ec043acde0fea81e694a4e3a3433798642a200c034709afac0a275ede05581e03a2d4dfd1bf64a1ad75071378d1bc6017bd02fdeddd24b000354be1779004010379cba6df9cacc2d94e748405c04900dd4b0f8a6d9f0ed4eae10c35dea757c11f05581e0306c6fada77aab564836056ba282eae192d5e32bbafda45f591215cb470040205581e0353236751ef64b733a5d067434e919f7270fa5ca9971a50d3617796d220040205581e03583613f1974d9de5ea3714243e932cb779dd3b5d6f342cb3dc44685900040105581e039f366d550e3ed59c633bf4502578c448d6f973877319a54288165128b00c014606c5ade7e1f805581e03c759aaa13fb126c2a65f5ac2991e0a69c917c013bb844770ce281ee6500401045944a16080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c91826306fdde03146124e957508163071bc3c914612453578163078dfbe7146122c5578163095ea7b314612276578163128fced11461032d57816313a73c781461220757816318160ddd146121a957816320e8c56514611da0578163213cae6314611abf57816323b872dd146118ef578163313ce567146118935781633644e515146118585781633ba0b9a9146117845781633f4ba83a1461167457816341d8bc5f146115a35781634e71e0c8146114945781635c975abb1461145257816370a08231146113f1578163769f8e5d146111c957816376d5de851461115a578163784367d6146110dc5781637ecebe001461107a57816382c876e314610ff75781638456cb5914610f4557816384b0196e14610e4357816387a016f814610b4f578163892866a414610ae05781638da5cb5b14610a8d57816395d89b4114610961578163a40bee501461091b578163a456365d146108c2578163a9059cbb146107ee578163b8f82b261461074b578163c4f59f9b146106fa578163cbe52ae314610644578163d505accf146103f757508063da88ecb414610328578063dd62ed3e14610384578063e30c397814610332578063ef5cfb8c1461032d578063f8b2f99114610328578063fa5a4f06146102dc578063ff0996b51461026e5763ffffce47146102165780610012565b3461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a5760209073ffffffffffffffffffffffffffffffffffffffff603a5460081c169051908152f35b5080fd5b503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576020905173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000074a09653a083691711cf8215a6ab074bb4e99ef5168152f35b503461026a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a5760209061031f61031a6126ad565b612a75565b90519015158152f35b61278b565b61272c565b503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a5760209073ffffffffffffffffffffffffffffffffffffffff600954169051908152f35b503461026a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a57806020926103bf6126ad565b6103c76126d5565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b8391503461026a5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576104316126ad565b6104396126d5565b906044359260643560843560ff81168103610640578142116105e35773ffffffffffffffffffffffffffffffffffffffff90818516928389526007602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff8211176105b7578b525190206105459161053d916104fc613189565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220614046565b9190916140e2565b160361055a5750610557939450612b4c565b80f35b60649060208751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b905082346106f757827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106f7575061067e6126ad565b73ffffffffffffffffffffffffffffffffffffffff809116907f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d21101681036106ca57602083516024358152f35b60249251917f88a50561000000000000000000000000000000000000000000000000000000008352820152fd5b80fd5b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a57908161074792519161073b8361287b565b8252519182918261265b565b0390f35b905082346106f757827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106f757506107856126ad565b9061078f82612a75565b156107aa576020836107a3602435856139e1565b9051908152f35b73ffffffffffffffffffffffffffffffffffffffff60249351927faeabe7180000000000000000000000000000000000000000000000000000000084521690820152fd5b50503461026a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576020907f010000000000000000000000000000000000000000000000000000000000000061084a6126ad565b6108b36002549161086160028460f81c1415612971565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff809416176002556024359033612f06565b60025416176002555160018152f35b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a57602090517f0000000000000000000000008119ec16f0573b7dac7c0cb94eb504fb32456ee18152f35b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a579060128260609351928084526020840152820152f35b91905034610a8957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a895780518381949084546109a3816127c9565b9182855260209660019288600182169182600014610a415750506001146109e6575b8588610747896109d7848a03856128b3565b519282849384528301906125fd565b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a2957505050820101816109d7610747386109c5565b8054848a018601528895508794909301928101610a0f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b870190940194508593506109d7925061074791503890506109c5565b8280fd5b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a5760209073ffffffffffffffffffffffffffffffffffffffff600854169051908152f35b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005a12796f7e7ebbbc8a402667d266d2e65a814042168152f35b91905034610a89576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610e3f57823573ffffffffffffffffffffffffffffffffffffffff92610ba9846008541633146128f4565b610bb2826129d6565b917f00000000000000000000000074a09653a083691711cf8215a6ab074bb4e99ef5917f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d21108616868416895b848110610cf55750505050505080519367ffffffffffffffff8511610cc957680100000000000000008511610cc957508190603b5485603b55808610610c86575b500191603b8552845b848110610c52578580f35b835182167fbbe3212124853f8b0084a66a2d057c2966e251e132af3691db153ab65f0d1a4d82015592820192600101610c47565b857fbbe3212124853f8b0084a66a2d057c2966e251e132af3691db153ab65f0d1a4d91820191015b818110610cbb5750610c3e565b878155849350600101610cae565b8560416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b83517f172c48c7000000000000000000000000000000000000000000000000000000008152818b82015260249089818381875afa908115610e35578d91610dfb575b508a610d43848b612a61565b91169052838a610d53848b612a61565b511614610d7a575080610d74878b610d6d6001958c612a61565b51166136c8565b01610bfd565b8a60316084928b8851937f08c379a00000000000000000000000000000000000000000000000000000000085528401528201527f72656665746368436f6c6c61746572616c546f6b656e733a2073686f756c642060448201527f6e6f7420617070726f766520657a4554480000000000000000000000000000006064820152fd5b90508981813d8311610e2e575b610e1281836128b3565b81010312610e2a57518a81168103610e2a5738610d37565b8c80fd5b503d610e08565b86513d8f823e3d90fd5b8380fd5b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a57610747610f1992610ea37f53592052656e7a6f20657a45544800000000000000000000000000000000000e6134d0565b92610f26610ed07f3100000000000000000000000000000000000000000000000000000000000001613608565b91805192610edd8461287b565b84845281519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e060208a015260e08901906125fd565b91878303908801526125fd565b9146606086015230608086015260a085015283820360c08501526126f8565b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a5760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25891610fbc73ffffffffffffffffffffffffffffffffffffffff6008541633146128f4565b610fc4613fc4565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00603a541617603a5551338152a180f35b905034610a895760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a895735603b54811015610a895773ffffffffffffffffffffffffffffffffffffffff90603b602094527fbbe3212124853f8b0084a66a2d057c2966e251e132af3691db153ab65f0d1a4d0154169051908152f35b50503461026a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a578060209273ffffffffffffffffffffffffffffffffffffffff6110cc6126ad565b1681526007845220549051908152f35b50503461026a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576020906111186126ad565b73ffffffffffffffffffffffffffffffffffffffff915191807f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110169116148152f35b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576020905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110168152f35b905082346106f75760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106f7576112036126ad565b91602435926044359173ffffffffffffffffffffffffffffffffffffffff908184168094036113ed576064356084359586151587036106f757506002549561125160028860f81c1415612971565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff809816176002557f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d21109084821687036113be57881561139657856112e7928a9260001461138c576112e283306132c1565b613ebd565b80871061135757602087897f010000000000000000000000000000000000000000000000000000000000000089898989855191878352878984015216907faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c863392a4600254161760025551908152f35b60449250868851927fbfee4ca00000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6112e283336132c1565b838a517fc3d83b07000000000000000000000000000000000000000000000000000000008152fd5b602484888c51917f88a50561000000000000000000000000000000000000000000000000000000008352820152fd5b8480fd5b50503461026a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a578060209273ffffffffffffffffffffffffffffffffffffffff6114436126ad565b16815280845220549051908152f35b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a5760209060ff603a541690519015158152f35b91905034610a8957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a89576009549073ffffffffffffffffffffffffffffffffffffffff9283831691823303611546575050806008549384167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a37fffffffffffffffffffffffff0000000000000000000000000000000000000000809316176008551660095580f35b90602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b50503461026a5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a5760207f97f0b7a8b22ce6b1d8cd80fd30e159ba09a73df70fd026076c317f099bf50a8d916116006126ad565b9073ffffffffffffffffffffffffffffffffffffffff90611626826008541633146128f4565b603a547fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff008560081b16911617603a555191168152a180f35b905034610a8957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a89576116c773ffffffffffffffffffffffffffffffffffffffff6008541633146128f4565b603a549060ff82161561172757507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060209216603a5551338152a180f35b60649060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152fd5b91905034610a8957827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a8957602073ffffffffffffffffffffffffffffffffffffffff603a5460081c168251938480927fe6aa216c0000000000000000000000000000000000000000000000000000000082525afa91821561184e578392611816575b6020838351908152f35b9091506020813d602011611846575b81611832602093836128b3565b81010312610a89576020925051903861180c565b3d9150611825565b81513d85823e3d90fd5b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576020906107a3613189565b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576020905160ff7f0000000000000000000000000000000000000000000000000000000000000012168152f35b8391503461026a5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576119296126ad565b6119316126d5565b9060443592856002549561194b60028860f81c1415612971565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8098161760025573ffffffffffffffffffffffffffffffffffffffff8416815260016020528181203382526020522054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611a15575b6020877f0100000000000000000000000000000000000000000000000000000000000000886108b3898989612f06565b848210611a6257509260209594926108b392611a55837f010000000000000000000000000000000000000000000000000000000000000097033383612b4c565b92509294958194506119e5565b60649060208851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b83833461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a578051916060830183811067ffffffffffffffff821117611d7457825260028352602082366020860137611b2184612a25565b9073ffffffffffffffffffffffffffffffffffffffff91827f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110169052845195600196871015611d485750828486015283518681926020603b54938481520192603b87527fbbe3212124853f8b0084a66a2d057c2966e251e132af3691db153ab65f0d1a4d9187905b828210611d3157505050505081611bc19103826128b3565b805186847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611c07611bf285612959565b94611bff8a5196876128b3565b808652612959565b0136602085013785825b611cd4575b50611c23908851016129d6565b9685825b611c93575b505194905b611c43575b855180610747898261265b565b8251811015611c8e57908782611c5d829796959484612a61565b51611c6e575b019091929394611c31565b84611c798286612a61565b5116611c88838801978b612a61565b52611c63565b611c36565b918096959493928251811015611cc9578086611cb0849386612a61565b5116611cbc828d612a61565b5201909293949596611c27565b509192939495611c2c565b918493928197969551811015611d2657611cfa86611cf28388612a61565b51168b613d63565b15611d0d575b8101909293949596611c11565b91818091019281611d1e8287612a61565b529050611d00565b509192939495611c16565b835488168652948501949284019290840190611ba9565b8360326024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024826041877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b91905060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a8957611dd56126ad565b92611dde6126d5565b6044359360643594600293845497611dfb868a60f81c1415612971565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff809a16178655611e4b85612a75565b1561216457821561213c5773ffffffffffffffffffffffffffffffffffffffff908186169586156000146120a4578434036120475784611e8a91612cc1565b98808a10612012575016928315611fb557611ea3613fc4565b88881161026a578554908989168a831601908a8211611f8957509380927f01000000000000000000000000000000000000000000000000000000000000009694927fff000000000000000000000000000000000000000000000000000000000000008c60209d98169116178855818152808b52888120611f248b8254612eca565b90557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8b8a518c8152a3865190815287898201527f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d59873392a482541617905551908152f35b8360116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60649060208851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b856044918b8b51927fbc71f2ba0000000000000000000000000000000000000000000000000000000084528301526024820152fd5b60648660208b51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600c60248201527f657468206d69736d6174636800000000000000000000000000000000000000006044820152fd5b88517f23b872dd0000000000000000000000000000000000000000000000000000000060208201523360248201523060448201528560648201526064815260a0810181811067ffffffffffffffff821117612110579161210b8792611e8a948d528a61427b565b612cc1565b60248660418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8387517fa907f2f0000000000000000000000000000000000000000000000000000000008152fd5b86517faeabe71800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861681860152602490fd5b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576020907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576020905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110168152f35b50503461026a57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a576020906122be6122b46126ad565b6024359033612b4c565b5160018152f35b91905034610a895760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a89576122ff6126ad565b916024359182151583036113ed5760443592831515840361244f5773ffffffffffffffffffffffffffffffffffffffff948591612341836008541633146128f4565b1561241d571692831590811591612415575b50156123b8575050806008549283167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a37fffffffffffffffffffffffff0000000000000000000000000000000000000000809216176008556009541660095580f35b90602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b905038612353565b9350505050167fffffffffffffffffffffffff0000000000000000000000000000000000000000600954161760095580f35b8580fd5b50503461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a578051610747916124928261285f565b60018252602036818401376124a682612a25565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110169052519182918261265b565b84843461026a57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261026a578282600354612527816127c9565b90818452602095600191876001821691826000146125b857505060011461255c575b50505061074792916109d79103856128b3565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106125a057505050820101816109d7610747612549565b8054848a018601528895508794909301928101612587565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b860190930193508492506109d791506107479050612549565b919082519283825260005b8481106126475750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201612608565b602090602060408183019282815285518094520193019160005b828110612683575050505090565b835173ffffffffffffffffffffffffffffffffffffffff1685529381019392810192600101612675565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036126d057565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff821682036126d057565b90815180825260208080930193019160005b828110612718575050505090565b83518552938101939281019260010161270a565b346126d05760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126126d0576127636126ad565b506107476040516127738161287b565b600081526040519182916020835260208301906126f8565b346126d05760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126126d0576107476040516127738161287b565b90600182811c92168015612812575b60208310146127e357565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916127d8565b67ffffffffffffffff811161283057604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761283057604052565b6020810190811067ffffffffffffffff82111761283057604052565b6080810190811067ffffffffffffffff82111761283057604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761283057604052565b156128fb57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b67ffffffffffffffff81116128305760051b60200190565b1561297857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b906129e082612959565b6129ed60405191826128b3565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612a1b8294612959565b0190602036910137565b805115612a325760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051821015612a325760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff808216918215928315612b20575b508215612aa457505090565b9092915060405180603b54808252602080920195603b6000527fbbe3212124853f8b0084a66a2d057c2966e251e132af3691db153ab65f0d1a4d926000915b838310612b07575050505050612aff81612b04949503826128b3565b613d63565b90565b8454811689529781019760019485019490920191612ae3565b7f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110831614925038612a98565b73ffffffffffffffffffffffffffffffffffffffff809116918215612c3e5716918215612bba5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b907f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d211073ffffffffffffffffffffffffffffffffffffffff809316918382168314612ec357612d0e82613db5565b9360009380612e0a57507f00000000000000000000000074a09653a083691711cf8215a6ab074bb4e99ef516803b15610e3f5783906024604051809481937f5358fbda0000000000000000000000000000000000000000000000000000000083527f0000000000000000000000008119ec16f0573b7dac7c0cb94eb504fb32456ee160048401525af18015612dff57908391612deb575b5050612db090613db5565b918203918211612dbe575090565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b612df49061281c565b61026a578138612da5565b6040513d85823e3d90fd5b91907f00000000000000000000000074a09653a083691711cf8215a6ab074bb4e99ef51691823b156113ed5790606485928360405195869485937f0efe6a8b000000000000000000000000000000000000000000000000000000008552600485015260248401527f0000000000000000000000008119ec16f0573b7dac7c0cb94eb504fb32456ee160448401525af18015612dff57612eae575b50612db090613db5565b91612ebc612db0929361281c565b9190612ea4565b9250505090565b91908201809211612ed757565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561310557169182156130815782821461302357612f3c613fc4565b600082815280602052604081205491808310612f9f57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220612f94828254612eca565b9055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f45524332303a207472616e7366657220746f2073656c660000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000022e12a50e3ca49fb183074235cb1db84fe4c716d16301480613298575b156131f1577f5d0586932171ae961d7338aeb08f0cbf30424eeb63cf9d78a2c0dac8bdc5fc1190565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f2e030380fe3971e5f1af00637b99c0c601da4e618f9ea8145141c83c36eb32cf60408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176128305760405251902090565b507f000000000000000000000000000000000000000000000000000000000000000146146131c8565b73ffffffffffffffffffffffffffffffffffffffff16801561344c576132e5613fc4565b6000918183528260205260408320548181106133c8578190838552846020520360408420557effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808211610e3f57600254908083168183160381811161339b57917fff000000000000000000000000000000000000000000000000000000000000007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef949260209416911617600255604051908152a3565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b60ff81146135265760ff811690601f82116134fc57604051916134f28361285f565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600554816000613539836127c9565b808352926020906001908181169081156135c55750600114613564575b5050612b04925003826128b3565b91509260056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0936000925b8284106135ad5750612b049450505081016020013880613556565b85548785018301529485019486945092810192613592565b905060209350612b049592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880613556565b60ff811461362a5760ff811690601f82116134fc57604051916134f28361285f565b5060405160065481600061363d836127c9565b808352926020906001908181169081156135c55750600114613667575050612b04925003826128b3565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b8284106136b05750612b049450505081016020013880613556565b85548785018301529485019486945092810192613695565b9073ffffffffffffffffffffffffffffffffffffffff9182811690811561397a576040918251809581957fdd62ed3e0000000000000000000000000000000000000000000000000000000083523060048401521691826024830152602096879160449788915afa801561396f57600090613936575b6b7fffffffffffffffffffffff915010613759575b5050505050565b8251906000808784017f095ea7b30000000000000000000000000000000000000000000000000000000094858252846024820152828982015288815261379e81612897565b519082875af16137ac613e5f565b81613906575b50156138aa57916000929183809386519089820193845260248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff888201528781526137ff81612897565b51925af161380b613e5f565b8161387a575b501561381e578080613752565b606492917f5361666520417070726f766500000000000000000000000000000000000000009151927f08c379a00000000000000000000000000000000000000000000000000000000084526004840152600c6024840152820152fd5b80518015925085908315613892575b50505038613811565b6138a2935082018101910161402e565b388481613889565b6064867f5361666520417070726f76650000000000000000000000000000000000000000878751927f08c379a00000000000000000000000000000000000000000000000000000000084526004840152600c6024840152820152fd5b8051801592508890831561391e575b505050386137b2565b61392e935082018101910161402e565b388781613915565b508581813d8311613968575b61394c81836128b3565b810103126126d0576b7fffffffffffffffffffffff905161373d565b503d613942565b84513d6000823e3d90fd5b50505050565b9080601f830112156126d05781519060209161399b81612959565b936139a960405195866128b3565b81855260208086019260051b8201019283116126d057602001905b8282106139d2575050505090565b815181529083019083016139c4565b91909173ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110168183169181831461397a5760409384519384937f18160ddd00000000000000000000000000000000000000000000000000000000855284600460209687935afa948515613d5857600095613d29575b508551917fff9969cd000000000000000000000000000000000000000000000000000000008352600083600481877f00000000000000000000000074a09653a083691711cf8215a6ab074bb4e99ef5165afa928315613d1e57600093613c59575b50600091613b855750506064908394959697925b875196879485937f8f686e6a0000000000000000000000000000000000000000000000000000000085526004850152602484015260448301527f0000000000000000000000005a12796f7e7ebbbc8a402667d266d2e65a814042165afa928315613b7b5750600092613b5157505090565b90809250813d8311613b74575b613b6881836128b3565b810103126126d0575190565b503d613b5e565b513d6000823e3d90fd5b86517e52e3fd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91909116600482015260248101989098529683816044817f0000000000000000000000005a12796f7e7ebbbc8a402667d266d2e65a81404287165afa908115613c4f5788859697989992613c19575b50509060649192613ae0565b915091929382813d8311613c48575b613c3281836128b3565b810103126106f757505183929190606438613c0d565b503d613c28565b86513d8a823e3d90fd5b90923d8082843e613c6a81846128b3565b8201906060838303126106f75782519067ffffffffffffffff9182811161026a57840183601f8201121561026a57805189808d613cb2613ca985612959565b915191826128b3565b838152019160051b83010191858311610e3f578a8101915b838310613cf95750505050878401519182116106f757508291613cef918a9401613980565b5001519138613acc565b825186811161244f578c91613d1389848094870101613980565b815201920191613cca565b87513d6000823e3d90fd5b9094508381813d8311613d51575b613d4181836128b3565b810103126126d057519338613a6b565b503d613d37565b86513d6000823e3d90fd5b9081519160005b838110613d7a5750505050600090565b73ffffffffffffffffffffffffffffffffffffffff80613d9a8385612a61565b511690841614613dac57600101613d6a565b50505050600190565b60009073ffffffffffffffffffffffffffffffffffffffff1680613dd95750504790565b6020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa918215613e53578092613e2257505090565b9091506020823d602011613e4b575b81613e3e602093836128b3565b810103126106f757505190565b3d9150613e31565b604051903d90823e3d90fd5b3d15613eb8573d9067ffffffffffffffff82116128305760405191613eac60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601846128b3565b82523d6000602084013e565b606090565b8215613fbf5773ffffffffffffffffffffffffffffffffffffffff1680613f565750600080809381935af1613ef0613e5f565b5015613ef857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff929092166024830152604480830193909352918152613fbd91613fb86064836128b3565b61427b565b565b505050565b60ff603a5416613fd057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152fd5b908160209103126126d0575180151581036126d05790565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116140d65791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156140c957815173ffffffffffffffffffffffffffffffffffffffff8116156140c3579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b600581101561424c57806140f35750565b600181036141595760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b600281036141bf5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b6003146141c857565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6040516142e69173ffffffffffffffffffffffffffffffffffffffff166142a18261285f565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af16142e0613e5f565b9161439b565b805190828215928315614383575b505050156142ff5750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b614393935082018101910161402e565b3882816142f4565b9192901561441657508151156143af575090565b3b156143b85790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156144295750805190602001fd5b614467906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906125fd565b0390fdfea2646970667358221220bd9cc7cf441f2df6526aaa0a5bd04bdfd2e8437e33a1853369134b6221b0955964736f6c6343000817003303af7b2d9911ad86f11ed410a7f286ad1317d92517a320f28088b1473f78b8f419033c8ee202adee6d8d660421c49099d62a26b7a8e1bfb53eeb48ffbe16448e35a3032bb59d170921dc7d9fd2aa9e8428ed44cf856b33c301bea540fe8d6ff2a887ae0344bf40789ba89340468e03b058d85f8c0b3fb91483d5d6b51eaa15cb1897d61500582003280ba2f4f4bc3473303d515d8d83d36b4de8b29ef1913bf2a587996ed69cb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0354530cde122a939e5541b68fe7ab92011cb0421d0c48a765535d2c17628a566e00582003fc0c9baf063f45c8b9814b0dba1674e4c9d51017b6bfd46537893313b2bbe04701a72b0c53feb400582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05820010000000000000000000000000000000000000000002095830774b90f35ac64038777d0c35074fcad6033edfaf3812bb88baba3b23149f00ccf77fba5c7abe4c601410f03718e347a662711d83db6295418f73a17335eea3071b9259307760a14fa7c563203d2d2d1f42956e980c6e9c9b034a33ace58fb72d710574ddc87fbc5716c77d6c10219c07c038e47aec2adb873e3d8303ea0340e487cb63ba2f90756b2d8ac99127abb9d69f70391bba9359b0830742ea48a5b4aa57a608f65cee42d83d291850fd9cf63d1c3d403ed050757335f8a5d2b13eb25be7815bb901b3b5dca3470a866bdef2ca64c4bf703315268b4de3f1dea1d8e17270a5d2b40c4dc115f67cb122d7a530c7a9205de970325e80a3166642c807b4ab8f83d7466ca3625872d4a143f36584cec7c3d4f90170374866a15126c68f79879864b26fdd49031fd716c86902237cd324245e357cb600360fa36ae5db74e22281fd21dba7a1f44af36f62549465e64cff6a6adc0148f8a03e70a490467ffa973e3e665df20ef854e4d67b974e5cfebec0eb3363bed1ef163038fbba4aa31c6baebe26dc3bd5a61db13186492beb0eb548821c0a834e92d912d03cc556c52186c99ab6cfd8b42ce1c3a9c9841fc1897468b19af829bae343fdb800338c10bc9ef94a766c305c976a64e53b0e648f939740d52b2857a1bed74254db803c91fad811266a3709821fbe93559cf71fdb1e0bd645676b792f544921e26b3a4039f7a8cabcdbda9085ffb16db9c6ff3e6b76c8b0e202983dd3c15b131e99862a5036d4c88374755db255f2769ba60d7af3ec0ef48958857e3c7afd200929bc0db2303af548b54e6200bef9385e0f85ee711db647674288a273983a2fbcb995eeef3260219ffff03260cad02b56213e374cf62c233ed6867984a664111a9029a17d192f4a01c72e9031a102a10c0ff8171f1c421371913946e1d8c1a3ee61e61981083b42a5d8be7b8038b677b9196efb0a19d4d9bb79a17aab5564dd5d5dd1a83691850edfc7d0253e503fd2c8b5267cf0b2dd1d97efbf57aea344acc1372e9b5353918ee341c1b1707e7033a747e62da2c45d963e62b7fb0f29fb4d41814ce30afcec3da712cb2a248f42c033b4dcc5db217662fdf4fb1ac4b75f13e377607e7fdeac79c060cf98f42ebfee1036cd89e02c57a58b66aa9bf1850a859cc35ba2ba96aa1b30f6cc858ddf54b8317037b36b1c2f3d6647e6abfd3f2fa37a11c0375dfbf65d08de0319a07960a827ded0346bd97a5384d3c66d530f439fd2686510156d9b033de2f53754455a3ee8bf28103c26569295eeb147f090910aca42041b71a2a0a385c52bc769715a427e6519c0e0332f24e25cd4e4d5f8bbc9d818a1d348728efdf178777db0b9e79acc5e9f3c36f0361796294a037ef2e27e01b7d16d03c14bccc434fc66854e10ba1afa096c495f203772e0b39bd1f4fc61fec4bdb3f4068d1e621546f9a17f061af862fd90c76efd6035fcb529f74dc3bfd4cfcb815b3e80b0225e1007de5f6cbca497815ef64b8e062005820030b366a4382e6c239058d6371367a3816fb92fae7f4959521a3754d6a1eb5d0471900427d0ff189005820031a556352834260828651da40eaf21bf774f9cafc89f88a3f18b8106431c12049019f666ad1a78fca15005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0582053592d657a45544800000000000000000000000000000000000000000000001000582003c3288089afb607024f970d022331315665c524a9de5f988edeb99d7320b13046446c328c6c29005820032879be62baf4295f8ee4c946ce979a4ccac8282f455f7a2af10194e1d891704730b795eab9efb7038ffde65cfb0b6db517832dfd19ab6d51a0962d961ea2d2d1b66c4956f49416c9005820038335e53e56d32c1b8708b4e4e62cb4a2576ccf13f9d63d9f29e9c59b23ab305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200350d84664c7dc00cd6da4e900854fbeffa867aa4e398877da204c0ebe4cf2b0470b6e94dc654d5100582003355fcc19bafcc8d1d432753cc56e8311dad6a85785f80a2552ed2bfcd3fff046a040859841950058200354b08e362165da19d5ee1d2945588d23e2a54c15ae1fd6ff3cbfb8f460e910474c0813bd2273080219f07f03513b51cc5fc5bb8363018d766f0e4d9effe2072c99e32cf4a9d5776bef7459080311dead51af8614d6114338e5ff26282e51b4eb9873ad24654b08d5eaa56d0bc503f3025d5e7e10a8e2177cbc66b579b44705803e4fc4d1f3de1ccd4ef816d40be803823209cbc16335c5779ad6f17336de89ee47db3116ff36712f90d67a1684eda103aa15b65b7ee4f443b986c8eb57dbf4a4577d12106c86f511178ba8050047944f0219ffff0316dd966ac5c17576d7e09217f49a183f24b21d1f4c7a6bca73f9ca98f020dd4d03922e5c85512ce5eec1bb6645f2fce1dca457b5789efab339ff5b07c374f83e5503c5d2f13381be370780fdabf9a0f6461c793c97fb3487ff3757e3143e62d5afb1039a1faece406e74386f323b8a61177d885d0855f6e28a365036ca062c21e156810141040332e6d18b6368208ad00fe01c050de9e1c1779fc7ad7bb4d64f1a9252dc8ccc51038ada21ad5b99c554ad876dea61cc68d1defcb7a7a41671ba79e62eefd70562b30058200344b0ab337e8c9ce58a4427f4a4037377ee8c304f7c041c150563c7b4abdda0480c50672d6a740fe100582003c8749e8927bf3846d9d4114a4e110e1a22413b1f893bfab3a07718552e84d0470a05a67e96c7950058200399d817b6757290b50e8ecf3fa939673403dd35c97de392fdb343b4015ce9e05578d686134aaf149aa767dce1ad0cd2799a3cd7a0000058200336b949d15a486f8286692df5983add4bbe6f9515b85e07000a9cd7506a9cf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820033395fc4c5a3e3b3df67a800958888c36b31557429a0474ad6937903444b6404740084f950730210058200346bda82ffb0e60f20a79c451ae99de44ef86fb1f131fbf12f1ba7ee51315705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a776f7f4f827ba0bfabb7a2d671500c397c7229dd6c7872f52e4d8df984a32b901410c0219d753031ede7eb405daccb6a7f9a7746e8fe85fcc3ac656b663e0e85112d425b6c1cb9a032b08a7d7faa4fef228121b84126ff7759ba272163ca3e8567a78d0ea4f739b940347655f43d97a1aabf9e40466ebd0017680e96522d8eede89203dc3eda32adcf503638f6ea682e7034aa8a52b4df7a86a18e5707c772a41e7fa5315127471d47f6b03a00682c51c3b757aab25a8de24dd8748929d12457e9739f569a4a13a7c0fa8c903ae53bb961ceb6a643abc98e9845dcd9aa06e19b80f019cad1a9a2a43d96ebc23036793cdf3b565b62146a74048f3186a409b7bac9100f9e02f0e01bd8062a31720032119b9436162bf7f93301c84c5e898394b92e4d913268d620a0c5989918215fa039e35d6fc35f5e843c8aa1624106c88bcc56bb80bab5c9a21ff2e47b7e6d646e5038ab318895de2163c77f1df3e4e549212829821f80e6d6937c793621f05729194039be8963962c0f43936e2edda3d9308cd021eb515557d41104ca50c42add1f7100349bc3a79769bd3f1ff68166a64bcc42db524a3642caa9dcaa5153c12eaf789df03d62c0258f8b83e4127c88a16b4ba8204665bb45db068e62c817650d08dba22fb0219ffff0343a3a27c7a26e3fdbf342d2844e4f1b3a6f76c5139fefabcf4308e2712256e2d0368c4b5d94921bcfbc2307d1d5270f1c0f7e1d10fa5705f54e675824c35bcdd18032ec956c7030b5c08f60472b5a860a420f1a3c4a5c3facefebb0bbb08a9707f7703bc44aa50e2c53cecd67c8d3eb80f47dac1535211045b3ed697fbf47185799260005820031aeb9dbbd2d14f01dfdccb81badbf6e2617635175df768df0ad7ac9be03570470b2f6d746ef6d903d45c95604c5e4804c03c99b2a3c72e3d88376a26c8fad0d214628d138753b99d031047342db83e114c485baafd00e4ee9b702f2e902b5a01b06d7800a93b59af8000582003c89805d5dc23a105c8c0d1b659921d81ecf122e6d29eb87f3e6da6636806f0480e74b1ca506567f800582003cce090526666e1a4d7ab6275fda67a68917e821e38f9d2d5b4cf21ee1ef0a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d66c031cea2c2876801d9ab94b15d574d6069858d07ea60d64a355e32805e04717078d20b9f98200582003615e828770fe199d5404b489307a673a4750a841beaeae509d274a6af8d1b0470b69645e87ba97031626e33de549239d2281da6db48bc99972ff53d08823cdd5497523032b0b0c3f00581f02c7628a88b74caf42369bbfb34ac38145f010b352bbdd6da708330c41ea68470167cae954ec1b00581f03e1720f90fa9634464e90a593155305dc092ce030b459eb575e3aaa577310480101c9d5d33ff4eb00581f03e350d6c4e14ded960573c47fdb9fb7fc0db72695b671939f3a7f4eeb4aa0470b1f94202ea66c0219801002190210005820030fae6628460d5e36d4bbd268e7a5b636bae219699870dd57b34f2af8c75c2046a49e58b45000036c3044793d6c25987611ba915f59268734e321eaa64379bbe6ff32980d5c0e710219faf803aabcc406a849748dd973508a66993bdec5085c83b512271b44cd01460556604f0374eab7dbc598595a36f0289742feb187881c09227569755a729aae0c826a388e030439b810fb1cd7fc364c045640f229ea12402e6e54686d0c30422c4fa1b524fd03a70a2b4f82f6d10642393721232f94773e424f3b208bc5effc16c76c76b2b06903e6c0621fa214ab9ddb629c7a4c6e793086a37ba86b81f15b08a19587308e1b93034cc34287802f15e7424a0e9e3c459a66d55a1c7bc46c9fd02b0a4ba50f80323a03be1e793b97731d9d32f159c1fc78fef13f519724b444d169d25ae03ddb88249803add2c0d7c6a3a91b37bc405d4170f272514c3112beca86592df4e85ce9c2e49d036f7124b9945207d24545a9fd5eeddb4f1a2c90f8200147527030bcceaf01866103b2f64acf53436a4d04520b9031151f44b295237909e3ceb30b914ed8e8eed6ff03da4b53d6ee71bf4728f33a754a0c64cfd0c95f61cfab49f59698dc5fde2404d8034832bbc7272b1f97655bdac6f220234025943191be34230b745c30ffda99b24e0219ffff033a53fa0bfdd803c6f0de4426171a2a5bedb879505e85b8a3b908bdf4ae4259d2039d753298b1d151a78883f3bfca3a29e7fecfb0bba238fffc67dce78bebc546dc03d138e1d80de5fb1ad23f8750eb1055f71007eb7abd2ecfb6916168b88179407a037e9d76bce2980c1baed36497d485a236813a56b881c0fa3767f43109b2e831cc0307a0628b2ea88567d74f996ac6c0f0752ad06a13b92f31c8f54a55f10dca957403c25ab8b859878bb55236f005c444b35ee1fc6f87345156098ed9fd57a08039b9035a88ed769c7467c90c7a6ed14cd6d769f1a16ddef3df450622b225b101127b7d03f1fd970a029e96ca6149fe8e20e789914f9386901a62ec981aeeee1751fc09ed0370dbe220986dff842d359b5a56892c4c7a11163bbc11af308a62576a63f20a4f03c5214fb6a810b060a6c8a73af4f6d3916ba6125be35cd320dee8e030b4dc75aa03313a9e71ba0bc42dbeda4af8f91ccde5f80cb7cd9eed6e32a28c9048b4b5bf6d03e79e3bc898ea211aacf7d179685f90411d8080092a489b263cb88222b340d2d30058200340550a09093e1367d78fa5738f64fe90886f4dfad0cd706a2b1900993496c0472dd41dcaa9277500582003a9d288f01297b3f9a77e4b1111e92ffef7c179773c87e3e8c41e9ce1c417804719014354ab60b400581f0259265860b8dbc479cac5a9aae27904eb412cc918b81decc941e0b42d24444d5d6121589f3d08693c7e4a7bf200581f02809c7611fb21d6b7faccfd51fd75d3d91956d319f03386f99006df0a3218470b6c5f85207d8b00581f02f77985ce3c4710955da042cc2cfd9d4bb9fcaa2868f2e3400384ca5c58bc471b1b80d065813f00581f023d37e7b935210dd24e386dc5b6e9e245e9140ee4483376fa5ab84a1b258649056bc75e2d6310000000581f02a0f2a617d47902739164aa213663f5da13a95a875c7ba7f607c11d7f31545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219920a00582003df666b803326d0ad4a18f4c75082a9c232c7fbdb0b1e588f1d81ca522064304701340aed5d6f5700582003707bcfc952b921d0bd61d7e975f565c9fcf7dcae8b4c6ee17b2336d5dba1404761a9e24a11dcb2005820033f9e4d63994bc9fdbc4212de5ceb02a4df5312dd62ab07626c7b892c9e37e0470afddde84fb258031e0a0bd3a3df1d53aadfdca2bb62bd85f4748c3a9f383bf9fb7c06dab0d2f98000582003648e0340ec96abd160588c79ac9812cac772df018d27f68194421a65af42d0470b557881bbe1cb0058200338631ba0153c26ae2d2881d030452bd04db05f143187310bf8482049014f9046f24d38580fa00219adec0325d43fd4436e9c3e3695d7bbbe5829e87a2462d2e52f70a599da4df39eefd41c0346955baf0ec27d28a7a41b61928727cf18bd01a7f3c4a5e393defe67019fa98003a5cebd6d074e137ed360b150716274e1d5924cb7d4e15a196f6ade1f9a48e16903da7a939253ac18a95d7dc6d2dae4b9236be435e8faa0abf14c36382851235c990219ffff03c3a4fa43dd80d08afa81c86c12af831bd5f2518687ecd3c37061dbe5983a595303445b8654c946bf5340f1837fda0c4105a4407c00122ec492783a29261c35ff840219ffff05581e03da69569b04e7d4d43b6b610bb79c22a94948a7dffe8b4cff944e36d4e007011944a105581e03f3764d3b1930b450b63f5642836c627cefa790c80773715e750635c6d00c0247032f1272e555680219f3cc0219ffff03e6b71042d413ac21ccfb56c3f3f9abda0bb42435cab3e463183c5026783dc2620359e8c663b2fb62da72a986c106e855a695acf00d80ae988cfb9f8b642972792d03d9c7c46de9a572b58872d4bc8bd792ba7e09514aa62dacb36bade6b250412bf503cd8c196865488a1eeac0109c630d8c58f463da214f8633b7c9ac8807483300540219ffff03dc367e6bb693681e26eb71d2c06dee4bd2f1ef9fc6e2c369bf87043a72a19d390326acad7f8bfca89b720f7da443766b85cd57dd72ec6f63725a47cd42561c1b9403a32bd19cb9178847f0ce24e090996279ea1a3a8a29457187e78a0b68d144e8d603143e7d17ebb3f765e640457b25201d9516d23f40c359ac1df2e1f8eada3f744f03ac0a5c646ef4d366f6ff03a6106d4a12cc26b26c6e093f148e9b7e51a2e4af580351108b765eee6e604ff3df8cc1fa12b1686c3132432f9c75d0a57fd1a49174f703b9ef555fbef43c512f0ac41ed58bb1b8da240a9a80df2e189f8e9443556c7252033f83b0d6defbf6f4ae08327d2fae6b1cc6c317ba8e7dd41b758225e40091c6b20382f19a1848cbfc7ecdc2e2e6d0dcfc67aa249d646795508fcd1c627ce8a58ecc034d1407d11ebd4f77e043e096321710c8219aad803b984d4602fa4fbbbf48cda403e7ffc59b1da2da4d5a12e942bf6ded5815a81694792347f040d4d72e6ba3943c0219ffff0312552489180e94605de480e5cdcc11b87ff5c2678ec47a76476fc615f2fa9b77036d4ecd9c321099fa02fc0dc43ea84f1eba4895aa5611e20dbd49c5cf957b13b00311eba68e38e0e6198a3640f275f1933d844d8854066f24ebd54f742c20f297f703bb45a311cd4945f7ed11b45f29f8171772ab1da5b21f82ea66290862900ebc6b03feb4501d4704107e8f9c79496ca17ebecf151dc587e1e693ecc11651e03193ac03a7e60f716b56fa6b2838964f44392a0d6ac314dcee7f6f7c03dc4a71dafbd6ef0377d7970cac2bac08531c7bbdbabc106639ef73cfb01206727a2448398b493db503177656dd0683d75ba66200accd3681948578e4dade7ad82041b9721780f7dbeb03d64ff8b97b74bf38bbb39c8462cfcb47132fb2bada94574e6b6ecece1e98a23c03e8879aa7593a5e1973fa6a3ee59eff1b2fe8e2aa5ec036417547a99efe6775c003fd81e66ed860b820eeee826cc2312fc667c6388c240b84700df62b698aab73a2032fb7b122d5cee8b63d6fb2e03a6b23d66ff94146b3c9f89673f2b5a657f8853203f84926728ab5cc987f8aa5594efd4813271e46cf3e994528c313acf4fcbfc7bc0219ffff03b21c04c899f532730690cfcf21b3ad85bc11ea17916cfbb49cf8047df03c764e032d68435d008397793b873becf3d9ae8b8589617dd66b26d0b5152989a3699cc903195a2cc812291e9af8ab514d459c33aa0f4c60f0c96a59af8af9a1733db6a80003418b8e1ba49147311f190fd526e7af86e9fa7a9016b9e81076709acd19bc185803c6dd8c967b185ab330168dee2d03131db105ad67cb916e592187585e8bbdcf270344974bbeb5555af49a5c696ceb4c203230504fb01fbfc6fe25206454ba023f5203cdfaa6e7e22deec34dbf9ae5d61b5458c934f8cbf948da17ab02e2c686efeecc03cdfc5a77989e5abc55782a9b51fa8ad26ad8239138d8cd573e38866531c2de8403316ed6558d4cbc6e31e9fe6ff3e68dbdeee98924fff49f8de41263a95190271e03eb4e2b5dfdb47ed099f0b73381cd2efb21a3527412b0ec419089f7c6e602a6e103aa8742c67736752d64ad36e288512bb817e066d75dedf75fc1577232f6f774a8039d1eb93ea11cb9a3970ac8bf1d30257ef01c302da4bfffffbe839209f378f9640367669378623ca7ef53d4603637236e944528ec55142f0753961610a8274e95ae03db483e145aede6c216909edf256059fca3136346560077ee665523aa4dd5415303464a2d2afa8e4cfa5f27cbc9743c5dd36a99a079bf0d5fe9a9bf362b91bc581803529bc1046ee871307876a7a1e4105a8491fac8233728af08c5d1290ba658fcbf039d7c0f9ac7d9e7eacd607a2907f60008b93e59f9cb20603cb88da8ff8b89ba84038b5fb43f9b4d7f929c6a4ebf566fe4e6d49500ee02c2926f508c6ede19e60bef034939a2edae327747e86b5c039c24c83a19df77ebb11ffbbdd2e53f1500878f330323075f95df3e2be21d3ddb7b78dd53f3f883dd5af6def6cc441778c7e989c96803d3db1ccfe9c085ec2737de80290caec354bd7ebb27106cd51de8bbb54031dae90399cb6e0c085d4e98cabb1a64beff6685381b0c344ad54813aa4a76295d175e60036f002404a0899a8a4c92dd22e59946a2ad054bfb6a9ff7abe9244cd4222913870367ee7b8d1dec2064d5fb98e98faeb9d13c23799ef3caeee27a3e6ca1405616b403ffe39ce51614de1ef691d71e9de785429dc56b30ede5d40b179fd58eea260a44033d76b70acad4fa1d5e0c832f30d2462d30254aa24e4a5bd7344998adf4bab04203063c413c0a04dceeb9f26f0bfc8efacc58c30c84e623ed1067f00301be34ae2003a8dc9f3cf35313662f8e5431ec0aef4957a90d1f982fa709d15ffb92feb83cb7037ac0a021c17cab1bae770a5dcaa63f21fa1dbed9d2250051eb7544744f9fcb6f03e40b7174278c96ff03d3fdee34cab5d0d5ac4c0c4d53c6af26999385272eefb7032758e4a98dd00f43f67be595a0257648d68e3a5fa6ea576009c447308fab6d2d034a6ee3c279e8909c3eae0742b5ae24bebb36cfeabbebe21ffdf9e6171769e41a03c82e47f9a3177453c65e7985ca4241d5e1cb0d7c5356b1a10dad428b0136a045039b9704911893dcc21fdb06eb657697dea9dbf1d1ee3d46ea5881f139458fa0e4035b6fa2d84c6b26f74373104eeab63db08237ef1bc88e3adf08c0f764f29db68e03d332328e8b926a8fbe1aaeaee3aa50e8d20a6b65d685d47b6d3ca1fc13d7408d031295d45bbf163d0489b14787bb23a8ea9c1ed4ce1267df65cd41f13e45420ca80384691f8329366bab8acea8732acf1ff8632b84a382c494082c0f35f4c532d8ff03bdd546c89076b9e7c7dd6787b7db957f97068bc0871da01c224fba92d3ff9d2603b8cd8a5ae3f948d1b65c6dd8d060f3092e4ffb540063fbca31d812dbe85c158903faf30d31f9b904e858160fcbe3999275ee99f133f09d3ea93d74cfce515fc4ea03314c65563653c9ce942494a069755d8fcdb68c3f1ed9cb7dbe2dd4a2e0fed1990337fee658a51aea871131ac5ae627979ac9ea5e37d2eb5ceeebe7a04d224eafcf03df3e85c25a5564706cb0ca5eadfb331cde82a75a4f3963a8d140c377a254b1c0031b480954674d4e8d38cce9a522ccd064d1f913bac17a829388aa924bdd9c56a30346ee74e02c26c852371a34bd6746fae837ed67d0d472a691921e5ea846cf576703feb6805d93103f905663c88893656a08dc1b424abe717afbc8dba7c5e5913bfa0332ce9ac4b6b15ad64e81dbf7b298014c8dc87e434166168769ec2c93858b0d45034eac0f869bd04e7e2bce368782f8a3baa347d4587786ff2f423ed6c0c9f70deb0326e5440dd79935df54e81c9da8b9c90fc44170248f1f3d3d4b3ed4462d9d646d05581e036b37ba6304d1fffb65218589798f85d5743663777c6a8df7b0b4cb68600c014503feac972805581e034e5ede943554a0b94adb19dbfc9571b6f3ca984bd7d72a95bbad2892700c0346b4394dd9540003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e036ca57d3cb3077c619176dbd912ba9e423536273b401ac94ddc9a104ed007011bffffffffffffffff04591969608060405234801561001057600080fd5b50600436106101515760003560e01c80636fac3007116100cd578063c00f8a3d11610081578063f2fde38b11610066578063f2fde38b146102bf578063f75c2664146102d2578063f7f1baf0146102da57600080fd5b8063c00f8a3d14610299578063c4d66de8146102ac57600080fd5b806375f3974b116100b257806375f3974b1461026257806384d61c97146102755780638da5cb5b1461028857600080fd5b80636fac300714610237578063715018a61461025a57600080fd5b8063405fb4f7116101245780635b7b018c116101095780635b7b018c1461020b5780636cbadbfa1461021e5780636cebc9c21461022457600080fd5b8063405fb4f7146101c9578063474a245a146101e057600080fd5b80631095b6d71461015657806319117d931461017e57806324d7806c1461019357806338899935146101b6575b600080fd5b610169610164366004611465565b6102ed565b60405190151581526020015b60405180910390f35b61019161018c3660046114a1565b61038d565b005b6101696101a136600461144a565b60656020526000908152604090205460ff1681565b6101696101c43660046114d8565b610447565b6101d260685481565b604051908152602001610175565b6066546101f3906001600160a01b031681565b6040516001600160a01b039091168152602001610175565b61016961021936600461144a565b610526565b466101d2565b6101916102323660046115d3565b6105e1565b61016961024536600461144a565b60696020526000908152604090205460ff1681565b610191610685565b6101916102703660046114a1565b6106eb565b610191610283366004611639565b61079d565b6033546001600160a01b03166101f3565b6067546101f3906001600160a01b031681565b6101916102ba36600461144a565b610839565b6101916102cd36600461144a565b610970565b6101f3610a52565b6101916102e8366004611585565b610a7d565b6000336103026033546001600160a01b031690565b6001600160a01b0316148061032657503360009081526065602052604090205460ff165b6103775760405162461bcd60e51b815260206004820152601c60248201527f4f6e6c79206f776e6572206f722061646d696e2063616e2063616c6c0000000060448201526064015b60405180910390fd5b610382848484610aef565b5060015b9392505050565b6033546001600160a01b031633146103e75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161036e565b6001600160a01b038216600081815260696020908152604091829020805460ff191685151590811790915591519182527feeec8b4e2d317fc608f301f859237a6081b9813f150a3fcfb02fd54276c8be4091015b60405180910390a25050565b6040517f6368616e67654d5043000000000000000000000000000000000000000000000060208201526bffffffffffffffffffffffff19606084811b8216602984015246603d84015230901b16605d82015260009060710160405160208183030381529060405280519060200120826104c86104c1610a52565b8383610c57565b6105145760405162461bcd60e51b815260206004820152601b60248201527f42726964676556323a20696e76616c6964207369676e61747572650000000000604482015260640161036e565b61051d85610e01565b95945050505050565b600033610531610a52565b6001600160a01b0316148061055f5750336105546033546001600160a01b031690565b6001600160a01b0316145b6105d05760405162461bcd60e51b8152602060048201526024808201527f42726964676556323a206f6e6c79206f776e6572206f72204d50432063616e2060448201527f63616c6c00000000000000000000000000000000000000000000000000000000606482015260840161036e565b6105d982610e01565b90505b919050565b3360009081526069602052604090205460ff166106405760405162461bcd60e51b815260206004820152601b60248201527f42726964676556323a206e6f742061207472616e736d69747465720000000000604482015260640161036e565b7f532dbb6d061eee97ab4370060f60ede10b3dc361cc1214c07ae5e34dd86e6aaf30858585856040516106779594939291906117cf565b60405180910390a150505050565b6033546001600160a01b031633146106df5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161036e565b6106e96000610ee6565b565b6033546001600160a01b031633146107455760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161036e565b6001600160a01b038216600081815260656020908152604091829020805460ff191685151590811790915591519182527f0e7bea53cb2b3130dd1aac8d56b61cc8da7ebab0432e2d1622513523d848f2e7910161043b565b6040516107ba908490606085811b91469130901b90602001611763565b60405160208183030381529060405280519060200120816107dc6104c1610a52565b6108285760405162461bcd60e51b815260206004820152601b60248201527f42726964676556323a20696e76616c6964207369676e61747572650000000000604482015260640161036e565b6108328585610f45565b5050505050565b600054610100900460ff166108545760005460ff1615610858565b303b155b6108ca5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161036e565b600054610100900460ff1615801561090957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000166101011790555b610911611072565b6066805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03841617905542606855801561096c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690555b5050565b6033546001600160a01b031633146109ca5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161036e565b6001600160a01b038116610a465760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161036e565b610a4f81610ee6565b50565b60006068544210610a6d57506066546001600160a01b031690565b506067546001600160a01b031690565b610a85610a52565b6001600160a01b0316336001600160a01b031614610ae55760405162461bcd60e51b815260206004820152601360248201527f42726964676556323a20666f7262696464656e00000000000000000000000000604482015260640161036e565b61096c8282610f45565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839290871691610b799190611747565b6000604051808303816000865af19150503d8060008114610bb6576040519150601f19603f3d011682016040523d82523d6000602084013e610bbb565b606091505b5091509150818015610be5575080511580610be5575080806020019051810190610be59190611526565b6108325760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c656400000000000000000000000000000000000000606482015260840161036e565b6000806000610c6685856110ff565b90925090506000816004811115610c7f57610c7f6118c7565b148015610c9d5750856001600160a01b0316826001600160a01b0316145b15610cad57600192505050610386565b600080876001600160a01b0316631626ba7e60e01b8888604051602401610cd592919061180e565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610d409190611747565b600060405180830381855afa9150503d8060008114610d7b576040519150601f19603f3d011682016040523d82523d6000602084013e610d80565b606091505b5091509150818015610d93575080516020145b8015610df5575080517f1626ba7e0000000000000000000000000000000000000000000000000000000090610dd19083016020908101908401611543565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b98975050505050505050565b60006001600160a01b038216610e595760405162461bcd60e51b815260206004820152601660248201527f42726964676556323a2061646472657373283078302900000000000000000000604482015260640161036e565b610e61610a52565b606780546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff19918216811790925560668054938616939091168317905542606881905591907fcda32bc39904597666dfa9f9c845714756e1ffffad55b52e0d344673a2198121610ecd4690565b60405190815260200160405180910390a4506001919050565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03811660009081526069602052604090205460ff16610fad5760405162461bcd60e51b815260206004820152601f60248201527f42726964676556323a20756e74727573746564207472616e736d697474657200604482015260640161036e565b600080826001600160a01b031684604051610fc89190611747565b6000604051808303816000865af19150503d8060008114611005576040519150601f19603f3d011682016040523d82523d6000602084013e61100a565b606091505b50915091508161106c57611053816040518060400160405280601581526020017f42726964676556323a2063616c6c206661696c6564000000000000000000000081525061116f565b60405162461bcd60e51b815260040161036e919061182f565b50505050565b600054610100900460ff166110ef5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161036e565b6110f76111a5565b6106e9611222565b6000808251604114156111365760208301516040840151606085015160001a61112a878285856112a8565b94509450505050611168565b8251604014156111605760208301516040840151611155868383611395565b935093505050611168565b506000905060025b9250929050565b606060448351101561118257508061119f565b6004830192508280602001905181019061119c91906116ad565b90505b92915050565b600054610100900460ff166106e95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161036e565b600054610100900460ff1661129f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161036e565b6106e933610ee6565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156112df575060009050600361138c565b8460ff16601b141580156112f757508460ff16601c14155b15611308575060009050600461138c565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561135c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166113855760006001925092505061138c565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831660ff84901c601b016113cf878288856112a8565b935093505050935093915050565b80356001600160a01b03811681146105dc57600080fd5b600082601f83011261140557600080fd5b813561141861141382611873565b611842565b81815284602083860101111561142d57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561145c57600080fd5b61119c826113dd565b60008060006060848603121561147a57600080fd5b611483846113dd565b9250611491602085016113dd565b9150604084013590509250925092565b600080604083850312156114b457600080fd5b6114bd836113dd565b915060208301356114cd81611925565b809150509250929050565b600080604083850312156114eb57600080fd5b6114f4836113dd565b9150602083013567ffffffffffffffff81111561151057600080fd5b61151c858286016113f4565b9150509250929050565b60006020828403121561153857600080fd5b815161038681611925565b60006020828403121561155557600080fd5b81517fffffffff000000000000000000000000000000000000000000000000000000008116811461038657600080fd5b6000806040838503121561159857600080fd5b823567ffffffffffffffff8111156115af57600080fd5b6115bb858286016113f4565b9250506115ca602084016113dd565b90509250929050565b600080600080608085870312156115e957600080fd5b843567ffffffffffffffff81111561160057600080fd5b61160c878288016113f4565b94505061161b602086016113dd565b9250611629604086016113dd565b9396929550929360600135925050565b60008060006060848603121561164e57600080fd5b833567ffffffffffffffff8082111561166657600080fd5b611672878388016113f4565b9450611680602087016113dd565b9350604086013591508082111561169657600080fd5b506116a3868287016113f4565b9150509250925092565b6000602082840312156116bf57600080fd5b815167ffffffffffffffff8111156116d657600080fd5b8201601f810184136116e757600080fd5b80516116f561141382611873565b81815285602083850101111561170a57600080fd5b61051d82602083016020860161189b565b6000815180845261173381602086016020860161189b565b601f01601f19169290920160200192915050565b6000825161175981846020870161189b565b9190910192915050565b7f726563656976655265717565737456320000000000000000000000000000000081526000855161179b816010850160208a0161189b565b6bffffffffffffffffffffffff19958616601093909101928301525060248101929092529091166044820152605801919050565b60006001600160a01b03808816835260a060208401526117f260a084018861171b565b9581166040840152939093166060820152608001525092915050565b828152604060208201526000611827604083018461171b565b949350505050565b60208152600061119c602083018461171b565b604051601f8201601f1916810167ffffffffffffffff8111828210171561186b5761186b6118f6565b604052919050565b600067ffffffffffffffff82111561188d5761188d6118f6565b50601f01601f191660200190565b60005b838110156118b657818101518382015260200161189e565b8381111561106c5750506000910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8015158114610a4f57600080fdfea2646970667358221220e98886659424a1d3863b2dcf74b14cc988d9236de336592d014fad06f4d9306864736f6c634300080700330605581d0214b52ca668e141c943a1514b268267512ebabcf9adb135d55199a88f0701191969039e074b672d2c6cdc45b354df3363fe73aaeb3aee65d4dc9dea7e588cfaf59aff0219042005581e03041d7b4dc4de142d94a65ea05884b8559bad2f9c4281b6473ae6db2500040402196493038f0cb5cf2c841591b3fd9d91f6d9161b6db55349e219100749fd49cf6b5e3b480219ffff03b6405d675bcd4c78a4debd66ff0012be04ebe39bed3ae4afae61faa1d494c3820332a31a84ecbd6a4ffa9414daef8ab530fa15a2e6336edd9fd1e2feac1493a92003681429507d4db429d03cc49f0e9fe5288d33adf325ab7c27374b656145b81a49033be773b9d275cd478eb307be903d14c2ef47655ea70f21e7daab2db216c6ee920219ffff03d424aca35f3586bef389035b2bb32d1d8432924bfe9ba4025cfba94f752c6dd60383c847b48bc7b3f7b79d9cc4b2c35509115aa082c2900a41b7ba660a0349fe6703265ed092fae3b4fdfac98c60dbbe59daf116cdd05b963f5080be1e6a1c0496a303875611266d5d0d5c943f05e445a3462963a242de67d37ecbd78d8275c3e954d5033794e199fe041de24540a4be220bc8723495f6d813ac814a219eb496aab6c65403210e6ca780bd58cf3d2d6b707bda9db11119a8a66e8301116ef9a5af2970d58003533d556143377cd030b9814a61d3656f9614ffe52ef4859b3f230c80e405fdce032c2f6f2dbe44e7941dd25eff74b4612e3f96073175ff9687867ba2b9e44a037d03dd6c1b26b58b4c447b100f1c32f2024a5ac49bf48aa5ac55f95e33329cffbeb703b73d3ed3e483c5a4ae6577773cedc4549463633a094ad1dc2eccb57ef8ab092c03f8b99aec99c408977da14f3f8b627d6b4ea3f49999360b2629fc5fa1b4734062032c91315b5c1de469878c5cdf40fcdda53869d8c33c236cfbf4f988a172b7e0f103572f6459aaeab4c19403140786ed6b323a0be0e4227a9fff6063ff260284951703a46d1b98711619bc99d826f703d764cd08e43a643c357a224440ed1c04e7c04f03c7e4409a09de408fd17f6a3210f71862262a516f41dfbc62f7c8307ace67ebc90389cbf43bc44f3d257635919282d9fa453fdb1729c1c4eb576ca1e78631158ab6037049a1b74304ed6448061d8436f8c2872082c236e2f6c7fb3018ae448f5e72c805581e030144ebd2de4fe3cdc5ec5bf6fef4026d8719358d63971cf6c0848676d0040103feea2d1d375946c11e10168419dd824b815e1b854e5a54e69346c46725cc398705581e03f2f5c7e62911727c0af0e9cc785ccb81efe6ca26c18c6e27857cd67f700c0c47535b2d375225c903fd68f36f5054d91a142965a5d838ec6b66934294069a55ea06b9e89e2ae457c305581e0384fb4c4b9e2e0b0705e145bc9656f08456189b8af98e0a0354bcc2cc90040105581e03906b3bdd2f2338eaac3fa885bca237e362fbdfc0a9369675c33053fe00040105581e03331b9c9cf0b9582cae387863ad6d843237ae9acdf457e8392d00174e500c014705a8f59233f0e0021947dc035984a68421da88fac877071339873de556e752ecebfa3b34920c2e0f9e13a4b7038741ee840e3b58dd628d1b5dac8b8fac21bfe140665450f80cd10141ada0875c03e2d22e143acf86d5259811991b52ef243a14c1b95a6ca4a1044bf905d08c638003e0725ed4bc82d455152b7b07c8fddea31ad7315ea0f948a10ffc2d1a291ae51e03d6f0d603990da443fe52d28f98a8868c354e3b20bb91e72524d4890e150a6b76033bd84b2f8ccb580b4fee6274e41683993dc6edef41a33a60a4a1261f5a4b9cad030200c8dcf05708c9f6ea529f90dca5789faed2331b74ce63f265c5c9a3b64b4803d7c961e3cc0cffffdd7deb7d7beb7fd38950ad52e97da5ab29b51246d3208b5d033560f1cbd8a5c929e883aa1c4daf744ff61246f1b5f134971bc465fb32c6236603712443a9590c2f8934b1b028fc9659be0597e9efffccae47dcf04b1ca53593eb0343b915494342a8f13ad2ea20fc87abfd84fc3d87c8ac83466966a131f40314ba03f42210c41fb0c0bf841e05577e524b1134cb85bca9925aed7c07f4ece8a952d803f6bfbef5faa3db24c3df5ec5ac61ee87635ee0c143ae62a2c14e4dca3fd0087803b3d644244ab2e17980622eafc9e2ca0c2d1b0def8df15d12b31d9369a56d54260219ffff031ea97db812092f3d7b8b861735041308c4bacdae3db26af31a68129a23c43ea00219ffff03810b98463e54e4fbf4fb08e1cd5cf86d53436c494337c899744bc3ee17bbc6f0034a8bffacbabdfbc896bab022a3d6fa2b3497c3dd516aa4f6cc8a4e74f6b200750219ffff03346dd781d74284cbad3fc98cfa21a14ba23ba814eacc29ceeed7d64a07d206020311209f0aab55a00045f50b2c7ef14fee3daa6f0ede5c0b90d6064ed12de888fa030a90eb155b2d2c16703b770c8e1da172bbd313b3ab586d82c4454d4c22de6d2103c3e43631ef1c555313c9c854444d2431f7dcf7bbdb53377b721321b92d83aa720219ffff039a7d4113040621e788c18914b241bee3513199f17f622dfe708e4ac8d4a9dd3d033fb6950e8ea62461924bb5176cd976628831f5aec8cd3a738d5462e5dc0e32e403c2498e49dff469fa1b056667fac3505eb20c94ddfbd278a891b5e688fe43fd4803f2bdcf040c9f15ba31c7f18a6751760fab1a19529ac2f674ffed3d6cccad4b0f03a0f7c8892915880a2d3132968a16641083c532dace63d12c33a5a39aeec4d23f032b9df40e6c0a0695fe4c4f2002139bd2ea5edf5b53d6bf76c30eac1d607be83c03a8f70676c59a8b3e8e8d3d298dcea3d7d77871607d45910540c0dba26fa013ca038ef58b599f5ca08c3677dd056012c7fcd719e0bf384f542b5b14a2ce356e3487037b158908f517c4aa98a172f617ab1a961f95a5f2bdb0619b56088e37c368fc46035a2cbcc97276dcae6b4a15262d2a17507cb13e91f58d2b084db97a42ee1a092203b468b386e20440fe43e204e449708fe20e8d9ec93a1c1ba6bdf50144a51dc22203069b34d69035e4584dc775feae93726971aa787f87332d2c4ac3998afb2b640703b0bbd6b6928977b472aa5154d4c30b5acdaa20d92a0d205570b539bcc9dfaa8c0339f3698f46718b64c9a8b5154cd048524fd79a2904419e7b464aa20b3da938f0030ea37a52f6de4b9a324a004f4df5d5970392b7df037bcb124a29eb83448ac0a3033d17fc9fee041c7dbe01712b3a2f581bc66484af83a8f8873a0e11d024184131033922620703f30506658ff1232b408b3e8350dbcc561b85824cf090aec958ee6303b66158217669a44fabc9177c1dca87aa0f4ac1255e3c514509a03ea009b4846403e589006c408a4fb000d9c03bde60b3e1735b2323bc65843f3a64e07b614edbf30390ab3a5fd272f1fea73ba1623502d124dd71c79359fe13e67cb70ec19d7e1936030c17df812f3c01679425a0125b450074f22ef02d9856ce4bc669fbe7d70575e60352c897a81a672a7e5d64330136038c7f6665462175cef20641143c53ba6de4a5030d2c85323a3f9bb9d62fb742336aca6a153504c873bd495acf8776269688f60b030c14b8fc87e651f651e4b052aed5144c2868150edeb03e6a88ce3c9b8a4035d50309c3171dd6b2f35de300eaf48568e5eefcbf077ee80ff464689432cccfc3fbee03bb7b55c8c239f38f8265968cc36cb152abadc7422f018f4b42ca18edc6096b7b03599d189f524903ef066ca26521cd7b192e6cf6414fb9269ebcafa1f140a5c91f03f3f8544e0e5d0f8e4619a9e7cbaa4e484617a0f78e3399b8f6360a347e5311790381b87f9f311bdbdc3d9c03ccd78e249dc7c0415947b3967e8d0b88c4630f82f203cd3a9127f5d431158c5881fff9c46e4709c2287c5b6456fd211f3c21ff5510ce036fb0efe5828f21ee5ad4b62608ce8f40704bdb7cd8fc5a72571e313af91629e303ce6e6c7529a5c22583901ff5f6992dc55eacbb85afd2609a37d2950f54ba05850336990db75fea1864b5f781ef7bf5ae41467c44af15a8e285826d31b206db9628030d8aef84061ceae9673758a918334c952d2b5abac94a633fec8257df8433d1d503d13fd5528b5ab545865d9fc376e9f990a3a4fbdc7c1376f4932c8be92724d152037237a799b21da3dc62e72a0884695cb18ca4f12f8ffe09e64261e4306d9f45b703b04190e09f9efee6a8f54fb9be9b1122c15d1fee4c2159e6a86a54115e24346203da2053ef7eca9c99f41dbebf0501f7778de56c0a0b7b92eadf4657482fbf24a505581d02cc3b3749159ae6166d4976366ee4bff9fbd1ce0c2a92a40b6a975e8d0c094726a85ed44cbce105581d0263ac96663b5c502529e958d481c6d0b5140e313044b687e03accf9b40c024707660d58abb90c02184203daec1d1308fd683aa5c32389416a0865f6529f044a209fd8b8bd036a8b16c52b0361d1ad0a9e7b611c08ddd2e89ad5d140def78ec9d7146c357651d1e22c117a5b05581e035c4ea820f427c232e8093933b417ee370d4115c278214cfd7aaf4e742007011bffffffffffffffff0360c4649e22b90ff8a2dabdd4127cc627b6eb4b16b436dd27d1a4d8db600acfe903f75e617dda24e4dad496b09834bafd9d91a66bae5c6b0efee4b25c004359ef5c05581e038e95dce779a9dae5f2074a6a1d8879bd3b45473f40bb652e2086832ab00c0646f93398ab20000306e671dc273cc2c2a583d710e0cf045db3320598f7ff301bea8d85c946772c5b05581e039ee5c830d4aa66b8fec509f268ef963ad835d0022a0f45ac1c6590a520040105581e0367b1fdfe0bf951da12ee987469295051579cfba81b34be1d88561f7f600c0a470203626b07e0900219dde703a83f2e1dbfba6794962f9895bc065dbced30ef6b657c1c732e0d258128317321039c04c79defb6e3a09c20b9a885f7db316dd2adc2e4531605b7fad47e54053d7703245cefc62b50dda611ae26707a411820c08a5c32f1735f9b737970c802326beb033e56faf0674314d383f3247a742e9efe21e1475dedacaac3e43f1b92ad0bc42603295b87eed1f232d5a7e7ea837063c4b2f8dd2cbae5b7fb458e9ec1bbd0448d390357733a216bfd6ff38597e442d82368d1984a23ca6d5bc1da756fef0c5158c44703ca16a76b8d6c3ccf7b339804ecb030df0efee6f146d1090770dba19f47ff3636036a3973251e1da4dfa2a77f8f48167c2cc48a12cef66c35ff7ba5d6d9cf2b26b903c88de6079a1c3dd82085544348d16a6ca630ab74add2957b4c7e3f2915374311032484d6049d771036fb2a32ce35aa38b735a25f0bcb2623b1f8c4722a7dfbb65e0362e088f8bd71d6ed70b34f7446272ab06b169edd425a3da033342d866a9e6ff10219ffff0219ffff03a955d5826343d4362bb4b452f82d4ab12ce077fbff65e198671e07d33fe1c3af0382edb85ac6399d659deb40ab7d9d60363510ada815585bf1ce2a439ae1d39578033279d3b8641ee5c56cc11e74bb3493b751c8c2564cb7a4ad45a3d85dc76bf4e9035ba4b3ac0b9e2dfbc6339c5d99d531304ed3c4520b87164e27c9bf2eeb6d819a03c2b59949de393b2a11629abd8ce77b8f818db164678e05d83b39723462603d9a0390a152649c323f63ed8ccd48f63977c12a2318be1f6a5c5212871f1acd69153b03494a644e023d5e162a6f9223bdfeedd026f48be2412c434a4ae828a7e20f06e803a189eb66eef8707a8b2d46370ccce69a16147482928a1116917549853104c65a03c8ddf43394f3ecd5c106d6036f01a1b4e508575c11baa217e49a876a229cfe2e0369414d9690bfae83e595ad21d3b540deb82e7a275f87c653011122c52a1b70420376c32a4b82e1e6d0196e5063b56ee6dfa807ffc3487fb45c11e996194c2385d40219ffff03b76377f8bdc34fd6c01dce87785032a6184aa86515c81b95b9b5cd4422348806039cdd17aaa100e1f2e14ebc271e1cd8ff46448a6c4e74a95fbe4ce3fc58b1f05703a4ac768807930377dd824339cf59cdae797fd46c0309e4a10cbf4251f4c5dd26033d04b54fb34dc3f69d705b64451f6d6f554ecc062e20a1ffb74db8244d3791fa030bc97b3a32c2859531e8c77b9b697d07406878e1da1bab892761bd22a839a00203573185a5625dc26541fd9296540e2929b3fec85bf0e433f8303668853b62d829038ca0b015ee51136933ae1df8ada023f1c62a4d5147f5891516dcf1edb8eded4d038e8d939a222bfda3e604d8b57a369982509707bb620490c4e5cbf1781ecc4e20035c007fe37e0c74a0d87d3736b66b762ec7e0add05df83e745b6f7e26ac772aec03bcfca6c54566670646baf39dae93c885e17cdb778970aea7309af54ca9a818ba0375d95360d7abc6ea7ce405a13b7c77d1864f5b7a52e1ae4722bc9f1266eea51403f920bb97534a3461813647482d9da42c0c809ca03ec1dc4cef7335751d6b0ec2033c1b8ec08349fcb32cdd2fe4f68fc99f2567f0d9a85ca4be26871ea4feaf3089031c1626bfc561a1e0910c5b1d87162d5d21a80eff3dca7685727527400b0e5fd10339c1c52047bb46428e8473131fcd1801ec5cd4e438b5c52f1c73de4f507f39b003014f009952330ba0a23686fe751c8c78d9d8ec9feecb4c6e68265388fe8c495103dfeb1ff2c1235503e6fdc3ec880583ff0131df8bfb988946ede86fef57c05847031d3445c47179cbc0001c830bb9d33be2da3e318c74e74366d25b698c858edfbd034a594aab9253a9b87f5a809de839533d89f159f02a3879e41dd0b2a33e02c6050312c2a1a52e95d089266e2df6d0fe3b449b785fa9cd1013c25a21e747e8562c0a03ac5ffb52dc0fd20d4f2e2e065ee156703d4e186a22076865494a540947d68dc2036116e0063be8485d557ab9124b591beb4aa739c8756391b7e60f4080d82d651005581e033725c53be36d3d76934c911cd8c22165555e9996cf805b6f96387cae800c04468b5909a14c6004591cfe60806040526004361061005a5760003560e01c8063a11b119811610043578063a11b1198146100a1578063c394a5da146100b4578063f5b697a51461010457600080fd5b80633bc788351461005f578063732cffe914610081575b600080fd5b34801561006b57600080fd5b5061007f61007a366004611a40565b610124565b005b34801561008d57600080fd5b5061007f61009c366004611809565b61053a565b61007f6100af366004611a7c565b6107e7565b3480156100c057600080fd5b506100e87f000000000000000000000000fcef2fe72413b65d3f393d278a714cad87512bcd81565b6040516001600160a01b03909116815260200160405180910390f35b34801561011057600080fd5b5061007f61011f3660046118ca565b61119c565b600061013360e0830183611b30565b600081811061014457610144611c16565b905060200201602081019061015991906117ee565b9050610169610120830183611b7a565b1590506102ad5760008061020b61018360e0860186611b30565b600081811061019457610194611c16565b90506020020160208101906101a991906117ee565b60208601356101c0610120880161010089016117ee565b6101ce610120890189611b7a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506024925061124a915050565b915091508161027557610253816040518060400160405280602081526020017f4d657461526f757465723a20696e7465726e616c2073776170206661696c65648152506113b0565b60405162461bcd60e51b815260040161026c9190611afd565b60405180910390fd5b61028260e0850185611b30565b600181811061029357610293611c16565b90506020020160208101906102a891906117ee565b925050505b6102bb610160830183611b7a565b15905061040357604082013560006102d7610160850185611b7a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250608485018790526040516370a0823160e01b8152306004820152949550936001600160a01b03881693506370a082319250602401905060206040518083038186803b15801561035557600080fd5b505afa158015610369573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038d9190611ab8565b90506000806103b586846103a96101608b016101408c016117ee565b878b610180013561124a565b91509150816103fd57610253816040518060400160405280601d81526020017f4d657461526f757465723a2066696e616c2063616c6c206661696c65640000008152506113b0565b50505050505b600061041260e0840184611b30565b600161042160e0870187611b30565b61042c929150611bc1565b81811061043b5761043b611c16565b905060200201602081019061045091906117ee565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a082319060240160206040518083038186803b15801561049157600080fd5b505afa1580156104a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c99190611ab8565b90508015610535576105356104e160e0850185611b30565b60016104f060e0880188611b30565b6104fb929150611bc1565b81811061050a5761050a611c16565b905060200201602081019061051f91906117ee565b61052f60e0860160c087016117ee565b836113e6565b505050565b6000806105828b8b8b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506024925061124a915050565b91509150816105ad5761025381604051806060016040528060228152602001611c85602291396113b0565b6040516370a0823160e01b81523060048201526000906001600160a01b038816906370a082319060240160206040518083038186803b1580156105ef57600080fd5b505afa158015610603573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106279190611ab8565b9050600085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506064810183905290507f000000000000000000000000fcef2fe72413b65d3f393d278a714cad87512bcd6001600160a01b0390811690881614156106e75760405162461bcd60e51b815260206004820152601f60248201527f4d657461526f7574657256323a20696e76616c696420726563697069656e7400604482015260640161026c565b863b878161074b5760405162461bcd60e51b815260206004820152602b60248201527f4d657461526f757465723a2063616c6c20666f722061206e6f6e2d636f6e747260448201526a1858dd081858d8dbdd5b9d60aa1b606482015260840161026c565b5050600080886001600160a01b0316836040516107689190611ae1565b6000604051808303816000865af19150503d80600081146107a5576040519150601f19603f3d011682016040523d82523d6000602084013e6107aa565b606091505b5091509150816107d65761025381604051806060016040528060318152602001611c54603191396113b0565b505050505050505050505050505050565b60006107f66040830183611b30565b915061080a905060e0830160c08401611952565b6108f4576001600160a01b037f000000000000000000000000fcef2fe72413b65d3f393d278a714cad87512bcd16639fc314c861084a6040850185611b30565b600081811061085b5761085b611c16565b905060200201602081019061087091906117ee565b336040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0392831660048201529116602482015260a08501356044820152606401600060405180830381600087803b1580156108db57600080fd5b505af11580156108ef573d6000803e3d6000fd5b505050505b60a08201356109038380611b7a565b159050610bed5761091a60e0840160c08501611952565b61096e5761096e61092e6040850185611b30565b600081811061093f5761093f611c16565b905060200201602081019061095491906117ee565b61096460808601606087016117ee565b8560a00135611555565b6001600160a01b037f000000000000000000000000fcef2fe72413b65d3f393d278a714cad87512bcd166109a860808501606086016117ee565b6001600160a01b031614156109ff5760405162461bcd60e51b815260206004820181905260248201527f4d657461526f757465723a20696e76616c696420666972737420726f75746572604482015260640161026c565b600080610a1260808601606087016117ee565b803b9250905081610a795760405162461bcd60e51b815260206004820152602b60248201527f4d657461526f757465723a2063616c6c20666f722061206e6f6e2d636f6e747260448201526a1858dd081858d8dbdd5b9d60aa1b606482015260840161026c565b506000905080610a8f60808601606087016117ee565b6001600160a01b031634610aa38780611b7a565b604051610ab1929190611ad1565b60006040518083038185875af1925050503d8060008114610aee576040519150601f19603f3d011682016040523d82523d6000602084013e610af3565b606091505b509150915081610b3c57610253816040518060400160405280601d81526020017f4d657461526f757465723a2066697273742073776170206661696c65640000008152506113b0565b610b496040860186611b30565b6001818110610b5a57610b5a611c16565b9050602002016020810190610b6f91906117ee565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a082319060240160206040518083038186803b158015610bb057600080fd5b505afa158015610bc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be89190611ab8565b925050505b80610bfb6020850185611b7a565b159050610f47576000610c116020860186611b7a565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050602481018490529050610ca3610c5e6040870187611b30565b610c69600288611bc1565b818110610c7857610c78611c16565b9050602002016020810190610c8d91906117ee565b610c9d60a08801608089016117ee565b85611555565b6001600160a01b037f000000000000000000000000fcef2fe72413b65d3f393d278a714cad87512bcd16610cdd60a08701608088016117ee565b6001600160a01b03161415610d5a5760405162461bcd60e51b815260206004820152602160248201527f4d657461526f757465723a20696e76616c6964207365636f6e6420726f75746560448201527f7200000000000000000000000000000000000000000000000000000000000000606482015260840161026c565b600080610d6d60a08801608089016117ee565b803b9250905081610dd45760405162461bcd60e51b815260206004820152602b60248201527f4d657461526f757465723a2063616c6c20666f722061206e6f6e2d636f6e747260448201526a1858dd081858d8dbdd5b9d60aa1b606482015260840161026c565b506000905080610dea60a08801608089016117ee565b6001600160a01b031683604051610e019190611ae1565b6000604051808303816000865af19150503d8060008114610e3e576040519150601f19603f3d011682016040523d82523d6000602084013e610e43565b606091505b509150915081610e8c57610253816040518060400160405280601e81526020017f4d657461526f757465723a207365636f6e642073776170206661696c656400008152506113b0565b610e996040880188611b30565b610ea4600189611bc1565b818110610eb357610eb3611c16565b9050602002016020810190610ec891906117ee565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a082319060240160206040518083038186803b158015610f0957600080fd5b505afa158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190611ab8565b93505050505b610f9d610f576040860186611b30565b610f62600187611bc1565b818110610f7157610f71611c16565b9050602002016020810190610f8691906117ee565b610f97610100870160e088016117ee565b83611555565b6000610fad610100860186611b7a565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506064810183905290506001600160a01b037f000000000000000000000000fcef2fe72413b65d3f393d278a714cad87512bcd16611025610100870160e088016117ee565b6001600160a01b0316141561107c5760405162461bcd60e51b815260206004820152601d60248201527f4d657461526f757465723a20696e76616c696420726563697069656e74000000604482015260640161026c565b600080611090610100880160e089016117ee565b803b92509050816110f75760405162461bcd60e51b815260206004820152602b60248201527f4d657461526f757465723a2063616c6c20666f722061206e6f6e2d636f6e747260448201526a1858dd081858d8dbdd5b9d60aa1b606482015260840161026c565b50600090508061110e610100880160e089016117ee565b6001600160a01b0316836040516111259190611ae1565b6000604051808303816000865af19150503d8060008114611162576040519150601f19603f3d011682016040523d82523d6000602084013e611167565b606091505b5091509150816111935761025381604051806060016040528060228152602001611ca7602291396113b0565b50505050505050565b60006111e288888888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a925061124a915050565b50905080611240576111f58883896113e6565b604080516001600160a01b038481168252602082018a90528a168183015290517f0ac368c799fd87078497a837c3b184349108599d7c108f68710d3321ba416c6f9181900360600190a15b5050505050505050565b600060607f000000000000000000000000fcef2fe72413b65d3f393d278a714cad87512bcd6001600160a01b0316856001600160a01b031614156112d05760405162461bcd60e51b815260206004820152601f60248201527f4d657461526f757465723a20696e76616c696420726563656976655369646500604482015260640161026c565b6112db878688611555565b838301869052843b85816113455760405162461bcd60e51b815260206004820152602b60248201527f4d657461526f757465723a2063616c6c20666f722061206e6f6e2d636f6e747260448201526a1858dd081858d8dbdd5b9d60aa1b606482015260840161026c565b5050846001600160a01b03168460405161135f9190611ae1565b6000604051808303816000865af19150503d806000811461139c576040519150601f19603f3d011682016040523d82523d6000602084013e6113a1565b606091505b50909890975095505050505050565b60606044835110156113c35750806113e0565b600483019250828060200190518101906113dd9190611993565b90505b92915050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905291516000928392908716916114709190611ae1565b6000604051808303816000865af19150503d80600081146114ad576040519150601f19603f3d011682016040523d82523d6000602084013e6114b2565b606091505b50915091508180156114dc5750805115806114dc5750808060200190518101906114dc9190611976565b61154e5760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c656400000000000000000000000000000000000000606482015260840161026c565b5050505050565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03838116602483015282919085169063dd62ed3e9060440160206040518083038186803b1580156115b857600080fd5b505afa1580156115cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f09190611ab8565b101561053557604080516001600160a01b0380851660248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff604480840182905284518085039091018152606490930184526020830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790529251610535938793879391926000928392908716916116ab9190611ae1565b6000604051808303816000865af19150503d80600081146116e8576040519150601f19603f3d011682016040523d82523d6000602084013e6116ed565b606091505b50915091508180156117175750805115806117175750808060200190518101906117179190611976565b61154e5760405162461bcd60e51b815260206004820152602b60248201527f5472616e7366657248656c7065723a3a73616665417070726f76653a2061707060448201527f726f7665206661696c6564000000000000000000000000000000000000000000606482015260840161026c565b80356001600160a01b03811681146117a057600080fd5b919050565b60008083601f8401126117b757600080fd5b50813567ffffffffffffffff8111156117cf57600080fd5b6020830191508360208285010111156117e757600080fd5b9250929050565b60006020828403121561180057600080fd5b6113dd82611789565b600080600080600080600080600060e08a8c03121561182757600080fd5b6118308a611789565b985060208a0135975061184560408b01611789565b965060608a013567ffffffffffffffff8082111561186257600080fd5b61186e8d838e016117a5565b909850965086915061188260808d01611789565b955061189060a08d01611789565b945060c08c01359150808211156118a657600080fd5b506118b38c828d016117a5565b915080935050809150509295985092959850929598565b600080600080600080600060c0888a0312156118e557600080fd5b6118ee88611789565b96506020880135955061190360408901611789565b9450606088013567ffffffffffffffff81111561191f57600080fd5b61192b8a828b016117a5565b9095509350506080880135915061194460a08901611789565b905092959891949750929550565b60006020828403121561196457600080fd5b813561196f81611c42565b9392505050565b60006020828403121561198857600080fd5b815161196f81611c42565b6000602082840312156119a557600080fd5b815167ffffffffffffffff808211156119bd57600080fd5b818401915084601f8301126119d157600080fd5b8151818111156119e3576119e3611c2c565b604051601f8201601f19908116603f01168101908382118183101715611a0b57611a0b611c2c565b81604052828152876020848701011115611a2457600080fd5b611a35836020830160208801611be6565b979650505050505050565b600060208284031215611a5257600080fd5b813567ffffffffffffffff811115611a6957600080fd5b82016101a0818503121561196f57600080fd5b600060208284031215611a8e57600080fd5b813567ffffffffffffffff811115611aa557600080fd5b8201610120818503121561196f57600080fd5b600060208284031215611aca57600080fd5b5051919050565b8183823760009101908152919050565b60008251611af3818460208701611be6565b9190910192915050565b6020815260008251806020840152611b1c816040850160208701611be6565b601f01601f19169190910160400192915050565b6000808335601e19843603018112611b4757600080fd5b83018035915067ffffffffffffffff821115611b6257600080fd5b6020019150600581901b36038213156117e757600080fd5b6000808335601e19843603018112611b9157600080fd5b83018035915067ffffffffffffffff821115611bac57600080fd5b6020019150368190038213156117e757600080fd5b600082821015611be157634e487b7160e01b600052601160045260246000fd5b500390565b60005b83811015611c01578181015183820152602001611be9565b83811115611c10576000848401525b50505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b8015158114611c5057600080fd5b5056fe4d657461526f7574657256323a2072657665727453796e74686573697a65526571756573742063616c6c206661696c65644d657461526f7574657256323a20696e7465726e616c2073776170206661696c65644d657461526f757465723a206f7468657220736964652063616c6c206661696c6564a26469706673582212205589175da52e6bd4ff183673aa898b78db22aab72465807e5f1dcddff88e0d1564736f6c634300080700330605581e031a83bd238da04428e90b5f84ea3b2562d936c61a88b3a91464517902f00f02452540be4000191cfe03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0311575aeb6c8f3d75cb204b9b0e310b72f3508e59f5e84c02628418680007011bffffffffffffffff031fbea80824887afb0d8578ac0b95fab083c0f97ff19d58cb22d48fbb6009729d05581e0387ca82b0fc757eeed9527aef2e8b8209ba4588858c43c924ef7ea1cdf0040105581e0347597b8c1be6be4f7a578184c257999ae1f32ae393a5a7f4312390c7000402036094a8b554e43d10f7e8ad4924e41374846febd2d07c7299f11e2a0d96fe811605581e036f8070f907dd15ead0a29c3cc059c904369edfebe917617496d46c02f004010219f70903dd6f98abe5a8f7e8f75b07015f79ebd6cc25160c9ed114d2ce3e43609882f741031cac84a6bdbbc3f33196179931a1093b01d3a47ea0c14abaa88b04ddac39c607031e85a069fe78739f2d6f8537f60cdc0511df190ed550b6501c5d2d474a6c34e103e8adc02faa4cfd148534f58dec1b1ee25b32563e54b46412c3eda97c70e600b003530193e679426c00aeb8a72ef36d14fac022b5d500281a53a5269d78db6c6cdf03183613b6afe9ae2c4a0996c264e9a0e3700a635a9c709ee6756c02bcbe6425f40309fcac042c1ddd664567c1b5ec45d13567350b9c6756ec594bb79469537a43130219ffff0377f356b1d611991c8632f72fd98a0d55e0d18b18d764f9a18e151036399fd0ba030f3fd383b1885f29b89475d9acae680cb61d191c2c4ab77acde47d428344a01003b529b55c713a7ecc92bb55591884e04743c86b2e33e1c184170e881f3b94ef78030de091df6100a147791d7ab810cb1154bd74d4c39bb3921eb1f49a2b0c69b4bd03511e2484238f42b5e003b6ea478c0fa45b6d63d8d9c154ba576c2560edf265f40300b89e3ebcf1c4c7a8eaccad22cb5ee052a75ad19aab9598f2a1e98161974731034a1d3877e9fa542db91d40b2f6fa0e3c4bb988f83fddbf1e829af15d55a2e3e4032cef3a56b0e94bb1d0cc2ddb1c2678e540e65b991a5aca8127b797d1548891530346da3127ca3b63b839a251cd1eb225fc5c1f447d52db3cc6702d1648fd61459803c55dd40b141bc3415008a7e67ebbbdb5aebfe154a9882a28f8a82bbb99d293250318c4c89128b2f0b972ad5f4f2b10297a7b497bfd7121e9a3b56080069e4a3e230394ac129c5c2f92519469c93ae2eb7884ac1a992f527e02904c13deacbbc9aebf03d849cc7a9877d17d2e6c32cf87b9fb9ae2df65a6347698a8b293f40d4aeedfde0219ffff03c57ae378d1b1f0f15078a5d5b0f13723a515ac97bce9abce1ab69384478fdc3e036b6a705b0240296c911b1d89a31f9b7d53f51a40fbac68d6b99cdd41f38d8e2d03bcbfe5a88c9026610cfe7abd246bd4811c86c9b4ac29156395a5b5ac2c3ad362037826ae320e63bef4bd18d48e7f3dda1f547cada2a3cce73ad98f136fbf69a2f00395f83ce833dd5cec17b9d7a287f6c15c08f843f2f4ea29f83951e6a2d2790c1d0381bb02a3b1f4f8ea8b226f75bc064468e61a555d39b95c9176d683c4ff4ab4d70219ffff0309b8f20717d9fd54677738a3382ee3660670a59039ca0c6b77e274b882b356620219ffff0317f5b0fa15cc1c70f1fd2441897e7bd08a817a72522099bfef095e81b2abfbb2034d97f6c357864303f2134163f7b2c8cd93bd716dd8c2a0c8b756e3eb4f252bf90361a65852eb44a9d4a9fd8e1649f895fdf811d4999b793300d5de3db275937b8a03f736c54e36410272cd57e7c4aacbad595ebb2a508dd7dad5a39cade4440e310a033d4e9df189d29187f314e1a4fd4c45795c9cb544fec20fdf56b43683a5f9e4f9034ed96d40d347dd908211db5d7d69ff0edd41775d07983fe7b6044405f75867e3032210827e30a376ae5913a808fb79e9d476059663d86c2e2b2091945780af9e01030402e0dc4c2ff61040253d5d05f4fb87e697452f79f5379210110f56a15cbe270313f862956346c21d77239268a15f5e824368f7f79e11bfae29a29390ea993a450353a57fa8d2e50b220ac877a5c6ffa9b4de52f14cad33a1f3e8b9984dad5370d903c2aa0a3bd4d9ac32f63f85f2aa940f13e6e72838749eda3cd33b9804d71b757a03fbb16cd24daee1f7007230cd88339bfaf2d69d41a98917050baee870dccad13603c59e5b20ea8e85d86effff5bd449d37d73fd17c323f0fd249fc1508f9938ab5203433164d98a58150a978990f9e48b7a16d111dcfcda71b90cf65dbb304e7848790377480f7dd7681dd07d04f80724f24268cd9a1915fdda082be5b3f64c48d7fa200323bde125e64c3196691c32284c00a6a9254446444dcba1682f8992fd1e35267a0348faacef0b2672542d987fb131e78e495d655827e81baf126e7e1c19b2b3f50f0342f4c332ab1cfc21734c42ea0de8b7683dcd70854207feba100151e48703990303bcb8646f2796395305f66a06221f05c0f3a6a4fd8d985f9272b5efd5e9abe6dc03754805e8f4c22e69f010926e9896d025d65d67f46bb84598d5c9c3b0fc99bb070351c280c5f83117fdd4e770fd3e137afb02dfa3cbbd64a0a43354825279fc1daf039450a9d5d51aeec49d1f035e50c2c5055b253b570700888820e46a01c0c8a5b9036bfd5fb235e564232aec245dde71a21d1fc08dae0fc30031163df1bfb4fb591c03e6357e28ff4d4f2c681fe6ca00e916dbbecbd41f3b8d9043fc495cd24065953803cd760dc29965b9bc6e9d57a3260a1ac88b38d975b793d94f5d173ca67b4a18f2034c5149359a28156263d8e9d4d4674eba8c3521d8893f85b430515f00893d893103647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03783cef69339a0b95ec65ed805fc43bd2312fa89fae02b6de30d96c0b2239f66705581e03c5dcd4ae9ab77f3f56c3afd9d36349eaa7d6c177f12f378d0e3ff4d91007011bffffffffffffffff05581e03c700c3b39f739cad5572ae050a0fc1cda601bde3858db5fb6ed82e5a700c034702486cf84474e7031bb390351520d5ee3f5ed967af0bcd622b62cab69bbe1185058a99ea2d4cf20605581e038166f99e8261a4b16bdf7c77827908cf53dd3de981117b709b96c392b00c034701a890a183e3f80361921e10ec83b26c6714acd31c016f3757b46087dc8d7ef916511aacbe644be105581e03ba477730c80dd83e4025d618b41d155e1ca3c5b6e053b22712e72410200c195c4b480deda73c66d6ef0203598e7ad7af4122e9a005eee4e2382cf77d3dec3e44b8d31c92a36f30301cb24205581e03211c73b54e4087a148f0b1eaea08175a0b7bd83201c9621453919e2c10040205581e034d97a4e64327af27dc30da4806dd423550d1bc4fccc5538bac4a5c2f200404035227d08db751a798468df0ddd9ac9c37434a682e08a3e4be01087b8d75b795400219fad2037afff9c7250291cef459dfbfb18154097436c3e431b9faec6e4ff4e4e0dd5e1f0318a62eb08bfb03fecfbd2169f2e7716ec989d3be78829dc80d2d4c563dc2cd1a03e0ebcb509bf98739b81dbe9288a7711bed655cdffc28b6ce010789179cb88d3f0303aeadd342dd5f6bb7d312cdf4046760425d4fc0efb7d3e693ae5cfe4716490803ae465d8d6412e52228e87254558f6527a6d2029ff142f37cc1b5d9c720bf4623035c8e94b0e00c66e7fd89db5c06c8ab3346dd3abea2d99d2ab647e633924cb755030a247a8ee0124a96475074a1962582663d9cd745c711c21840d27bb68ca500bc03c86de4111699efd0f8f4b48d74345de973293736211c8c71b05d12e2177d9de5038506b4e0e54ee372a443f3fefd5ed4a5d9b661262e46291d89532f58818d09180219ffff0219ffff0373fa483ea737ceb94bfb91986d41a3fed4cd473b4cc87604dc3617d0b47feb3e03f9eaf706b89f0231e55155e81be844862639c1ebf9120ed131ba14fb361fcefb039c8865e59a4ebcd04919ce1bda725597413a92e29f0d3af3d9ee08e8b391be05037f5714ef4fe8a1a19151af301aa20fb40eeec462e8ddd96815c041cb20da101e0353444dc94e066fd671f5a36c95d978b41c2e695e20c006e1480c7057614b25cb03d4643c753aee22a2cac5306333cdc8f7151d7a90040c9e4c4b91cdb82bb4033d035eb1fa69ce59fa08321be5ec32b922d727106f4ae073cc8bd77ad0339ff6a9a50388ddf6c264a6f4a2f1eaf677011eff285e4dbd7b8e2fab11437844db769c32d203ccc1492ac7627bc9a5ebccf5616e300c7635d8973b79e896f25e7d0ce03bd14c030e859315ec0efae5067344dadd0131a06c80a36d638acf03de68905e9202b5880219ffff033ef2613bde1d07a3a6fdf7594973bcd195b15eef34048ccf1354f4636970076e03ca5b672c4b4bb75966d5e881fcd289fe4c229deaff87780e239b79d32435614f0330630e6fdc1ce4cde8e92656e9214e2714353483d8d1b521391c6d974e40f0a0037a9b2d871027f040b10ae5394b0c15b222b03d109dc96f9a64c68139c2645a0e03271788bbf37e60098adbaa72d3cd2671dece7ff373f14fbbb333ed812086dffb031761f1de9f894ec45cbb7e79eebe7cf7c58a26dc4b5a970ad25c125787077a7d03d732d376b8ed2b637cbddad831d9cecc2948163aef8d64cf4330fd2a410456ed03f3c4ef2bdbf53ae564d0ce7428db241e6c10edb673655eea322fd79843db278d034e2dd3bf472e28e998a92f4b073f29d8016df1fd2db7bb325eac0268d3e68d8e0375444c98fdcaaaf04c42f808d32ee10b1dc862066107d1e70dec21df7caad0d103fd7c521b0c2c9b7e32cbc2cf12f8d40be674b513ff4416edd45e832a820c66c2032b8d63a6187ebeac8363bee059c86acbc652f13553b840a34c1e369fa9de1cac033b9ef7e556cb1fb7fbe7cf6af041a3d62a3ff57cb90b6832ad51997de8cc1dca033fc6e144f23c25184524366c549111c42746373729315a9dee33628806581c2f037c43bfbde872e46923f019ad6701bcd8d7205b055be9b3bcb3bfce21bcd4b07f03b6c9c756f0174c553f3d98328099e87f283e66fe3336afb50bd66fd39ab3fc4103d1c1a4989e6ff5a1458dba35e4e17cadf2e4efcc0c9b0ccbd47317d4ee91836f03f80b3fcfd566a444bcebcd315d829c25c29c37279bf2e7f12ebeda00e2fdeb6603e4fa4ecd99b340ebb9b2c376c23554461cbbc43f595a0ad1793a523a76b9af68032ee9403f517371019535877e00763af072a929ac60497829157e99202a4d36cc03f8f9e50618873229c0bc1d503179040806115f3b7abee9eefdd3c5673957ad1303917100913f0894268f1aee0ade01d1b66519d981b8b4655fb4f71c5a35f8260603465507fe973171a0c85c7e25d54530ec05da17b779b6643732baec71e9f58013039e0f5340b68bfddcb98bb26603b71ecff19c31abf879019eda422aa39e092b7203d412bf617f0d386ecfcebb80306ecfbcaa0e166818f53dd1ed243ad3d414f9d5032d939ed5ba2461ef764f21cffb610891688679ccbdb1dab9112db836fac5ea69031e0c35fc453505dd4ebf0e4bd4232d70f0b23af6d5e4cabe939ac4db2eee216f030e07b56a4b1823740f1be7b6d929e140de05aaf3dd677f3fb34dc863e64bd48103654aedb44d1f7bd4f1217e24b8978bcd968e6deccc946f6f3210dc1c0b309eca03ff8395ae3090d40e72bc5816f5e7ef2fb2a2d3ff7aaeeb13f4fb846c43fe37ff0368d03e121bd3acdd9bf4161d819d41aae64067d29bc07222acf90e5ffc29346b03c9283816025f4af8e4722cb5a5149d807303da4bbebd131fd6114fc0a38665de031df1ec1f7f1fb460cb82d1c876ad3b1cc6391c7b740f695fc539531fc549cfd403dbe631fabadcb671539590ef4ff1465bf506d60adde19a87f7316a323e82ee19030b9cb5260168367cf1b93b29f5aa8baad4244cccfa5d6eb3130a76dddffb37f803693666d8f2cfd5ff52c0262ceca5be75a12d090ae71bd99d838a2a660c8caf8303b19eabd2b7aad3b854b037b8d2f31be933547dde997dfdb8563098fa581c6845035112c0f818880162e2aa479d76ef3609b25b00fcc80c569497da271cb18ae79b03e1b75cab0d12d609fb9a3333a75454f4394f40b2df1ed5a12e18ac69c0f569c705581e039a372dcaab159a3a04f0a4cd162eaa374bdec592a210ce6e61e11267700c0e463f055bb6cfb6036f83343a067ba432f2f9f48b9d78148966a9647206bf932f67382fef4c534df003746a9f58f943fda40bb67a24cc402ee135057359492e948f3dd24f79b2046af705581e0305bef121fccb7707754d9d75d73d68ca7bf6f4c31ee2a8f7896b20dc6007011bffffffffffffffff03f0b332bc44312957c41e1c20a16725fe869fe75441fd6ffd6bd0e13f2703d1ea0388f6c90814631203ebcd879b9b2a01f894d317d77528d0a411dcdc9664a288fb05581e03663459162fb08393011fcdcacdd92a80bf6ca27c77b9e350bb6a5555f007011bffffffffffffffff05581e03f90b189e9887fa108aa7b5399aa93e05b7eae656eb2cde89ab3615dbc00c181a476a94d74f430000032dd46a3c5f76f0102462eeebf7d89f465ee6a0885d25c7cc37115568570c6fad03d96004bddd853013d5f2f979de5de325f5fa48e89d9f4769a42fe754089db44d05581e03845f3843b9eb397f1369976cd8b32c25cab3a213da5a4f67255d833c90040305581e03d30c9f3542d6ad33cb03418216f80b7a077f2d9d10672484243ec2f080040105581e03d90362c6d61b2a96c27e07b09874a10794e882d8a967f12ded977e67000c034719038406a7e8000219e92d0363388f3e8ae3b2a5f385955469b91f63ca5494d269418d3d83c198e60355ccfa033c6137c098eb25f562b2ae8c10f3d1ec7085278f6188671e38fc3392e9892bd503c1440e744993ecaa174f3198a46e0bf0c65512dc1a64ceb6a41b16b50262679f03ac0991cae12f45948975aff06ca702c71cb10e191db4dcab4bc51d03e861116303788fe284649ea8114dfb90820c8abc840e41863e2cac97225ab340ab6231df82034517be3b9071713405f5d5860ef02cf9a3c34371b338af7590eb0954233a776a0219ffff0219ffff03f1d4201acb3e24a06d8d6f1e324ea2d59ce99281cb612055c74695511ad45d910363d2391fd3e45f9eab7640de307bf39908b1f673cfa1beefaf014ed644a022f7031c60214790269adfde7d2704fb5883238d9ad8e5a91321188a2a50e4839ff7fb03458f2af17fffad1c5b5cd38d0e918f2bcc2fad98dd4ccb53e8c5a6d3da581c82030d66aee4a4d7a1ea8a718b6d662ace3d558effe4fd7668a7696f20fac4ac712403d6d77c005e169f1a1d1e481993e1360ec404a0d42b95fa8ecd44e32289d9413a0329b94ea9e0c8e35ef63c56ae2a9631432f09d073fe36f0a494243887b83c747c037874e0514a55134b69084be2d0cf173f8b8de19dcc0397874e53cc3c07512492039d2e9c6ffd08da6e728459fd4b872e401b63aeec80eab89211da5af64aef9b80032e8509949b2873db1f9884ef9e914e81e89ab7a0510853aa113ada30ec811667034dae13a315b072e7c84d0fba1adb4398576643a950bcd5a96a59279c5d46a6c40366b304c33673f8e7e89a2f735bec8cdcc6b88ef3918fdacc664f5b3fe10c471003976e1efec5d3219ba32456279cb41c619d36f7553dbcb21126a027f57d050436035843827c4ba997f41fc9eb2fabb0414f634b61d2a7ea615a8964cf352b57a0e10219ffff0219ffff03d2782d4980005b0fd639ded82eeadb34aca00bd331a36e8e46b900404e722393034cbe110144746a5366ad7c518e57d4b1a814b480b16e8b177dc91aff6a1b404503a4f988f34708f9716e569d45e1b6259081a1a72b73c9dbfbcfaf0b72a06ed8af03486b683ea5f5d984a5bbe99987dd0118550aeb334a7972f7b5a5c13e5ad6c3a3037badcd6f0b1e07017aafbf58ec1fde307c15c248180290fdf342c680bd680ead030b078bfaed7af17560a3f5162ec80e59f716d1bbb543e2809b2a72b97e28e36a038b2aeb0e1b0424c9f1024ba79ba4979039ec47aef078a0e69170b5d463beefd60356f5b6a32294817d0f250785a9bbcf1dea7a0d2d9f47f67300708cbf11c8d3f20372e8ea3cb68f9935ee2094ccd994c048121ec2bbd8dcc61102e4688dbaafaa270318122f1fe9b686c1cffd4ff1ab81ac09dfb0301571b286159fe224c8bce7580003fea0475b2e48969ccf8cd926129855916a1624801c237cdd49005b0f694ad3b3032cfd5c16ae1e7087525952d7a79838babe7ba10ad6cecd9f09349002c59a4953033da9ffaf3315e7e65d0f1a205760a47bfc4734b54d465f15637c3f6d91fb1e4a03072dca747be7c16ae8a7d12fc21283f1f63de2c775800bf2cdbc5b5f9e8f8bbf039ef3632306ed29166fe89936a2878982cfffd3ca72f2fa071375ac3b12f5f185036ddd85119b06d0a8a8fad37f79b55181fae527622f01767bf99607b42ec04f5203737841cd3daf64cca0a86a83233b1f439a01a6d8cc7b3649f0eed23abbb49cff0307e8e13361cb9826a75c27166d45e3901b75a93010e5165af3e86a409fd400c303316067adddbe002943055425d3306b68fda40cda5b39d3237dd6b09bfdf7dc6d03718dbb838e35aad02da4d1ff0b52613a816f38a83874f44ae5d703669f5a01610364ef4924c09fbf50978d6c1fed318dff1ff31273041b3350089f71426a1727040358606e10351bf39cfa54726ccb3c34dbf1650772e81309748452d993c55a13dc032c632d274e8b83b1e9f25488c075e7783a15e34fa053c865ddc6d73084d178ac035576e6980f1ed8c91d946ac91f20ad7141a9293d98b6486670a222cfb50f5975031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03af530ac5aac6c689f56e4a9f4233a03761b0c680109f068f3eb33fc6f007011bffffffffffffffff05581e03e8ff70ed2599fdefa6c0991240c02ecd00062b192b6be83318a6d739f00c024721587fa47f697b05581e03fae5c06196aa06a8508cf45fd5042f6ccdca4fa888ae8c2c7f1c09ff400c014623b1c90ad59003c8b260e9fc73dc8f71db121fb5a6c9d8e018b2d340d7aba74b9173b1014785e905581e038f926c816ca1e079067caba944f158e764817b83fc43594370ca9cf62008483913792fd88db4d005581e0311a9678266e7643ab22b3e891d58ae36f01e4158a98d44b27e723969500c01471195ffafa360000219444703e1d356548365fd782c88296a3581150096eb9c8ac04c34126d4312567f173e1203f6325e791be949d3416cd699cbb1e894d81c813dff6b90bac32b0cee3218568703c847ca0640e230b7b2ecd84938e582618f8912eb01b09dbb45a353de07e8740f03a6474e4b8cc12e88d1f308e9a67de978b99b8d038397a7f22da8e4e6600d0bcb03319b5944fd56ca563d0689c91e91b734ee398a1053067798c81efe60e27f2f10035493b9231db483656341547fa06c910c27e034213b87285b26b11dc57cbdab82031c9f3d5138dad9ecb21d3498d1387e5938ed25a10fa4a214f10c981a94c433310219ffff03b388930ee4ea9c5d2f77d3613bdd74d259c43e2e7d80c4821e484edc1d097b8a0335be89384f5e4b6dba2fbc379f042b3aa31f3ea5498f025d07ec9ead12f78dc1033584e0df0fb5a00ab6697f93478a015663b2754770ed71419cd0da603bc053d3035fedd2f3a970a4d1f98e748535ece71d31b37ccb106c16a0eb9dbe8239ae56910349eeb11170017b36bf5340e840e240797fac5f0cad3ab9bd8d3b35bdbcb81eb303863872df0e68ec1dc793602f68707be10d723b66ef6239f8ba15bfe4ecd7980b03e5ca64a31bbb7d650bacb0d1dd30bf486baac4df29da37e90f37ab11dd7203880219ffff0320e40ac9caafb2100af82952b1027d76f2b77a1d4090170274f2ab8f177a4198030f799dff446f6b866675d817ff1ccf1dade6c574b15b629d5cf4cdbd2aefa436032053066914d2282f3948a239dd27b2756b25b4a35dd186b00a5503e923c907de03a7a93eeef457996a2af8bf244f7f03f943227efb91ccb592783e8fae3345439903e3d3e04b1a9abb8e58f3003b69c078e07000887b8a30f2a113bff7dc07b1ac1203a262af76e1feb8a4efc1ab882a9e5b0e19f00538e7d0242222e400f0b087d1b8038c2e0283c04b86918296e6a55f945f4ecec64c134f0abe2114933bb9c26957fe0373faf728e5bcfa5d945c7147373c7902c6effc6178b55e3446bfc9253bf4ea7503f04d3665da0ed19ffd2106499fd487f48525f6d107c4243ca05c2c033105705e0219ffff03eba6652e1b7be70472950f1273be0f248d762d4cc5ac06b55e3bea5f1b98644e033627e9f37ba32913af0d8d48e8f525a1eb6e7013f58ef5ee9fc35674f6df45390356c6aeea926eb0bb8340e2cdd7502d2a045dcc4ecec0ab3a5bdfe4cfdde775d3038895dc35b30f39d73c0f6ce0159bb2821c26c61f3a2c4df900af2d98e76d63d10328b7c36707f3292d0c253b8cb01aca1c0b14d21bad31d0afbae54b59806cbc900386685641ed9b4f9b25d86399ca90d3d6b2ab70593964d4447f7406ca2588b91f037bbea248843e8f452ea49a704d723478c077c452b390862ff8b9e75b4ccb56950338d53a9c4ef0e50669064f00cdbba6d7cb896b3e3926e0249b08226716970e77036cb46955d1f519411922aad0a97ae93f7465565bbdf6c0091a26e0a86480eda40312144ef653f387c20827d6317fc516e0d2f0a2a7676dd697b149cf8d645044260320ac33d9f094ef70657465bb902185f0bbedf2f477c41d6aa8838b1feca403fb03e8407f018500906f7e7c31f3bca00c51777918afad00a9120a1b57514089cb2a03e467f884ab9fc0ed0607afa3950537fde7b231a8dc59832dcc825816c31c1cd30367a7bfb5c733f3987069a15b39d925366185254a66d720537f8f51578a71d0e0037fd7cff8d25ed2fff9a3a4efeb08af76ddf0245705a8ce5870ff48dc7c4543d203741f43647acf4c81b859064ebe5752b517ccf4a8efefddfceafb7b906c70f87503630dd8af660eaff266a2240bc61750bf036a56cc0e7621a3dbb6a3cb95ca83ce03f13c1af1a70477f5c8186a293cfd8f20b16ccf2c8568aac6ddeb8f102db7772b0382cb0fbb34e3da1d7c0cf812a6b61f762754df3494df7789fb50ac3dc057ad310308c9356f110a441868493450bcce8fe2801e54e0ddb0f24d1621a5b55cde524a031e217e63f9a42c738f683984748af95b5390d78d18b271504163d3a27f101df505581e0301396d45188989ce252018a922601121d2a94fe7a69ff5efe5cf906a80040105581e03f5b62f8dcf1c765468bb82a8ca75cba4392e260cf19015e811e24d1fa00c0347012463448648a00385d2f2643696432c62f7de4c08757a51239b90b6756e332320b77157855e9340036e9ee7b6bd3c023101067c1ff5af4915dea21f8715ce9206271f6b58d4302d1505581e03ca64d51546f47beaf4c8f5fc67276cebeb2d8d180ec084e67dc08fa40007011bffffffffffffffff03eef1c4c7e0bf74cf2f2529d357eb443b23e019202ffb1fcdf29d6b7d2649771005581d02deb5755c401ae1b3a7d40d05d3f0b4bde1ab813994ed6a444d858a300c10471a2a71c36133ff0459300f608060405234801561001057600080fd5b50600436106101b95760003560e01c8063b6399387116100f9578063d8a4bb1a11610097578063ed1f08a011610071578063ed1f08a01461038f578063f068ad3e146103a4578063f2fde38b14610416578063f34c34da1461042957600080fd5b8063d8a4bb1a14610361578063def3f44f14610374578063e74e34a01461038757600080fd5b8063c17c5ab8116100d3578063c17c5ab814610307578063c8c18e5914610333578063cc106fc714610346578063d20387361461034e57600080fd5b8063b6399387146102ce578063b86d5298146102e1578063c091e154146102f457600080fd5b806367d09212116101665780638132b321116101405780638132b321146102705780638c5f89dc146102835780638da5cb5b14610296578063a531ed53146102bb57600080fd5b806367d092121461024c57806369b3729b1461025f578063715018a61461026857600080fd5b80633f8bd00d116101975780633f8bd00d146102135780634783f0ef1461022657806348ac04fb1461023957600080fd5b8063054f7d9c146101be57806306b091f9146101e75780632eb4a7ab146101fc575b600080fd5b6066546101d290600160c01b900460ff1681565b60405190151581526020015b60405180910390f35b6101fa6101f53660046126fe565b61043d565b005b61020560655481565b6040519081526020016101de565b610205610221366004612788565b610658565b6101fa610234366004612807565b610739565b6101fa610247366004612836565b610849565b6101fa61025a366004612912565b61090b565b61020560675481565b6101fa610ad7565b6101fa61027e366004612912565b610b2b565b6101fa610291366004612a55565b610de1565b6033546001600160a01b03165b6040516001600160a01b0390911681526020016101de565b6101fa6102c9366004612a70565b610f14565b6068546102a3906001600160a01b031681565b6066546102a3906001600160a01b031681565b6101fa610302366004612b61565b6110d1565b60665461031e90600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016101de565b6101fa610341366004612bdc565b611296565b6101fa611490565b61020561035c366004612788565b611516565b6101fa61036f366004612ca0565b61160e565b610205610382366004612788565b61177c565b6101fa6118ce565b610397611954565b6040516101de9190612d17565b6102056103b2366004612d2a565b604080516001600160a01b038616602082015290810184905263ffffffff808416606083015282166080820152600090819060a00160408051808303601f1901815291815281516020928301206000908152606c9092529020549695505050505050565b6101fa610424366004612a55565b6119e2565b6066546101d290600160c81b900460ff1681565b6033546001600160a01b0316331461048a5760405162461bcd60e51b81526020600482018190526024820152600080516020612fba83398151915260448201526064015b60405180910390fd5b606654600160c01b900460ff16156104cd5760405162461bcd60e51b8152602060048201526006602482015265233937bd32b760d11b6044820152606401610481565b6040516370a0823160e01b815230600482015282906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610516573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053a9190612d77565b905060675481116105845760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610481565b6000606754826105949190612da6565b9050808411156105dd5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606401610481565b6106036105f26033546001600160a01b031690565b6001600160a01b0385169086611a9b565b6033546001600160a01b03166001600160a01b03167f680f2e4f4032ebf1774e8cdbaddcb1b617a5a606411c8ca96257ada338d3833c8560405161064991815260200190565b60405180910390a25050505050565b604080516001600160a01b038816602082015290810186905263ffffffff808616606083015284166080820152600090819060a0016040516020818303038152906040528051906020012090506106e6848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506065549150849050611b07565b61071f5760405162461bcd60e51b815260206004820152600a602482015269155b9d995c9a599a595960b21b6044820152606401610481565b6000908152606a6020526040902054979650505050505050565b6033546001600160a01b031633146107815760405162461bcd60e51b81526020600482018190526024820152600080516020612fba8339815191526044820152606401610481565b606654600160c01b900460ff16156107c45760405162461bcd60e51b8152602060048201526006602482015265233937bd32b760d11b6044820152606401610481565b8060655414156108165760405162461bcd60e51b815260206004820152601660248201527f4d75737420626520646966666572656e7420726f6f74000000000000000000006044820152606401610481565b606581905560405130907fe677a10fd6b3db255e39561290e096bc56e434295e8f4a3ee1aea8f8389b221c90600090a250565b60006108556001611b1f565b9050801561086d576000805461ff0019166101001790555b6065859055606880546001600160a01b038087166001600160a01b031992831617909255606680549286169290911691909117905581516108b590606990602085019061264e565b506108be611c3a565b8015610904576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6033546001600160a01b031633146109535760405162461bcd60e51b81526020600482018190526024820152600080516020612fba8339815191526044820152606401610481565b8a8914801561096157508887145b801561096c57508685145b801561097757508481145b801561098257508083145b6109bd5760405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a59081b1a5cdd60a21b6044820152606401610481565b60328b11156109fb5760405162461bcd60e51b815260206004820152600a60248201526913dd995c881b1a5b5a5d60b21b6044820152606401610481565b60005b8b811015610ac857610ab88d8d83818110610a1b57610a1b612dbd565b9050602002016020810190610a309190612a55565b8c8c84818110610a4257610a42612dbd565b905060200201358b8b85818110610a5b57610a5b612dbd565b905060200201358a8a86818110610a7457610a74612dbd565b90506020020135898987818110610a8d57610a8d612dbd565b90506020020135888888818110610aa657610aa6612dbd565b90506020028101906103029190612dd3565b610ac181612e1d565b90506109fe565b50505050505050505050505050565b6033546001600160a01b03163314610b1f5760405162461bcd60e51b81526020600482018190526024820152600080516020612fba8339815191526044820152606401610481565b610b296000611cad565b565b8a89148015610b3957508887145b8015610b4457508685145b8015610b4f57508483145b8015610b5a57508281145b610b955760405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a59081b1a5cdd60a21b6044820152606401610481565b60328b1115610bd35760405162461bcd60e51b815260206004820152600a60248201526913dd995c881b1a5b5a5d60b21b6044820152606401610481565b6068546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610c1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c409190612d77565b9050600060675482610c529190612da6565b905060005b8d811015610dd057818b8b83818110610c7257610c72612dbd565b905060200201351115610cc75760405162461bcd60e51b815260206004820152601160248201527f4e6f7420656e6f75676820746f6b656e730000000000000000000000000000006044820152606401610481565b610d9a8f8f83818110610cdc57610cdc612dbd565b9050602002016020810190610cf19190612a55565b8e8e84818110610d0357610d03612dbd565b905060200201358d8d85818110610d1c57610d1c612dbd565b905060200201358c8c86818110610d3557610d35612dbd565b9050602002016020810190610d4a9190612ca0565b8b8b87818110610d5c57610d5c612dbd565b9050602002016020810190610d719190612ca0565b8a8a88818110610d8357610d83612dbd565b9050602002810190610d959190612dd3565b611cff565b8a8a82818110610dac57610dac612dbd565b9050602002013582610dbe9190612da6565b9150610dc981612e1d565b9050610c57565b505050505050505050505050505050565b6033546001600160a01b03163314610e295760405162461bcd60e51b81526020600482018190526024820152600080516020612fba8339815191526044820152606401610481565b606654600160c01b900460ff1615610e6c5760405162461bcd60e51b8152602060048201526006602482015265233937bd32b760d11b6044820152606401610481565b6066546001600160a01b0382811691161415610eca5760405162461bcd60e51b815260206004820152601860248201527f4d75737420626520646966666572656e74206d6f64756c6500000000000000006044820152606401610481565b606680546001600160a01b0319166001600160a01b0383169081179091556040517f8dd052dc67f32dbc0509b130a5cb79278183aa8a4dc7764619f9094f35a6985b90600090a250565b8887148015610f2257508685145b8015610f2d57508483145b8015610f3857508281145b610f735760405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a59081b1a5cdd60a21b6044820152606401610481565b88610f8060326002612e38565b1015610fbb5760405162461bcd60e51b815260206004820152600a60248201526913dd995c881b1a5b5a5d60b21b6044820152606401610481565b6000805b8a8110156110ac57878782818110610fd957610fd9612dbd565b9050602002013582610feb9190612e57565b915061109c8c8c8381811061100257611002612dbd565b90506020020160208101906110179190612a55565b8b8b8481811061102957611029612dbd565b905060200201358a8a8581811061104257611042612dbd565b9050602002013589898681811061105b5761105b612dbd565b90506020020160208101906110709190612ca0565b88888781811061108257611082612dbd565b90506020020160208101906110979190612ca0565b611f1e565b6110a581612e1d565b9050610fbf565b5080606760008282546110bf9190612da6565b90915550505050505050505050505050565b6033546001600160a01b031633146111195760405162461bcd60e51b81526020600482018190526024820152600080516020612fba8339815191526044820152606401610481565b606654600160a01b900463ffffffff16156111615760405162461bcd60e51b8152602060048201526008602482015267105c98da1a5d995960c21b6044820152606401610481565b604080516001600160a01b0389166020820152908101879052606081018590526080810184905260009060a0016040516020818303038152906040528051906020012090506111e7838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506065549150849050611b07565b6112205760405162461bcd60e51b815260206004820152600a602482015269155b9d995c9a599a595960b21b6044820152606401610481565b851561127a574286116112645760405162461bcd60e51b815260206004820152600c60248201526b105b1c9958591e481c185cdd60a21b6044820152606401610481565b6000818152606b6020526040902086905561128c565b6000818152606b602052604090204290555b5050505050505050565b6033546001600160a01b031633146112de5760405162461bcd60e51b81526020600482018190526024820152600080516020612fba8339815191526044820152606401610481565b606654600160c81b900460ff16156113385760405162461bcd60e51b815260206004820152600f60248201527f46726f7a656e20726573657276657300000000000000000000000000000000006044820152606401610481565b868514801561134657508483145b801561135157508281145b61138c5760405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a59081b1a5cdd60a21b6044820152606401610481565b8661139960326002612e38565b10156113d45760405162461bcd60e51b815260206004820152600a60248201526913dd995c881b1a5b5a5d60b21b6044820152606401610481565b60005b87811015611485576114758989838181106113f4576113f4612dbd565b90506020020160208101906114099190612a55565b88888481811061141b5761141b612dbd565b9050602002013587878581811061143457611434612dbd565b90506020020160208101906114499190612ca0565b86868681811061145b5761145b612dbd565b90506020020160208101906114709190612ca0565b6120de565b61147e81612e1d565b90506113d7565b505050505050505050565b6033546001600160a01b031633146114d85760405162461bcd60e51b81526020600482018190526024820152600080516020612fba8339815191526044820152606401610481565b6066805460ff60c81b1916600160c81b1790556040517fecbae3abe261a42d856a6774d88d46451a3c0e0c47b8d3d721bb47fce979aee590600090a1565b604080516001600160a01b038816602082015290810186905263ffffffff808616606083015284166080820152600090819060a0016040516020818303038152906040528051906020012090506115a4848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506065549150849050611b07565b6115dd5760405162461bcd60e51b815260206004820152600a602482015269155b9d995c9a599a595960b21b6044820152606401610481565b6000818152606a60205260408120546115f7838a8a612206565b6116019190612da6565b9998505050505050505050565b6033546001600160a01b031633146116565760405162461bcd60e51b81526020600482018190526024820152600080516020612fba8339815191526044820152606401610481565b606654600160a01b900463ffffffff161561169e5760405162461bcd60e51b8152602060048201526008602482015267105c98da1a5d995960c21b6044820152606401610481565b63ffffffff811615611717574263ffffffff168163ffffffff16116116f45760405162461bcd60e51b815260206004820152600c60248201526b105b1c9958591e481c185cdd60a21b6044820152606401610481565b6066805463ffffffff60a01b1916600160a01b63ffffffff841602179055611736565b6066805463ffffffff60a01b1916600160a01b4263ffffffff16021790555b606654604051600160a01b90910463ffffffff1681527faaf1228ee16e8c45579e37d22b8261e5332167d8961a8d231a61cb89c248daba9060200160405180910390a150565b604080516001600160a01b038816602082015290810186905263ffffffff808616606083015284166080820152600090819060a00160405160208183030381529060405280519060200120905061180a848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506065549150849050611b07565b6118435760405162461bcd60e51b815260206004820152600a602482015269155b9d995c9a599a595960b21b6044820152606401610481565b606654600090600160a01b900463ffffffff161561186d5750606654600160a01b900463ffffffff165b6000828152606b6020526040902054156118c2578061189b57506000818152606b60205260409020546118c2565b6000828152606b60205260409020548111156118c257506000818152606b60205260409020545b98975050505050505050565b6033546001600160a01b031633146119165760405162461bcd60e51b81526020600482018190526024820152600080516020612fba8339815191526044820152606401610481565b6066805460ff60c01b1916600160c01b1790556040517faa6bd94f90c9581b32527bc4c4afc059e797d640411b3343c6a3687ff24ff9e790600090a1565b6069805461196190612e6f565b80601f016020809104026020016040519081016040528092919081815260200182805461198d90612e6f565b80156119da5780601f106119af576101008083540402835291602001916119da565b820191906000526020600020905b8154815290600101906020018083116119bd57829003601f168201915b505050505081565b6033546001600160a01b03163314611a2a5760405162461bcd60e51b81526020600482018190526024820152600080516020612fba8339815191526044820152606401610481565b6001600160a01b038116611a8f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610481565b611a9881611cad565b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b179052611b02908490612313565b505050565b600082611b1485846123e5565b1490505b9392505050565b60008054610100900460ff1615611bad578160ff166001148015611b425750303b155b611ba55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610481565b506000919050565b60005460ff808416911610611c1b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610481565b506000805460ff191660ff92909216919091179055600190565b919050565b600054610100900460ff16611ca55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610481565b610b29612459565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516001600160a01b038916602082015290810187905263ffffffff80861660608301528416608082015260009060a001604051602081830303815290604052805190602001209050611d8b838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506065549150849050611b07565b611dc45760405162461bcd60e51b815260206004820152600a602482015269155b9d995c9a599a595960b21b6044820152606401610481565b6000818152606a6020526040812054611dde838a89612206565b611de89190612da6565b905080871115611e255760405162461bcd60e51b81526020600482015260086024820152670a8dede40daeac6d60c31b6044820152606401610481565b6000828152606a602052604081208054899290611e43908490612e57565b90915550504263ffffffff86161115611e98576000828152606c602052604081208054899290611e74908490612e57565b925050819055508660676000828254611e8d9190612e57565b90915550611eaf9050565b606854611eaf906001600160a01b03168a89611a9b565b6040805189815263ffffffff80891660208301528716918101829052429091116060820152608081018890526001600160a01b038a16907f9c91da9f102663943dfb86d851c76de06c2fe178d18a58e45dd7a9cbeea0bb359060a00160405180910390a2505050505050505050565b604080516001600160a01b038716602082015290810185905263ffffffff80841660608301528216608082015260009060a00160408051601f1981840301815291815281516020928301206000818152606c909352912054909150611fb85760405162461bcd60e51b815260206004820152601060248201526f4e6f206c6f636b656420746f6b656e7360801b6044820152606401610481565b6000818152606c60205260409020548411156120015760405162461bcd60e51b81526020600482015260086024820152670a8dede40daeac6d60c31b6044820152606401610481565b428263ffffffff1611156120435760405162461bcd60e51b8152602060048201526009602482015268546f6f206561726c7960b81b6044820152606401610481565b6000818152606c602052604081208054869290612061908490612da6565b909155505060685461207d906001600160a01b03168786611a9b565b6040805186815263ffffffff85811660208301528416818301526060810186905290516001600160a01b038816917f1aa4a94a89d0cc9f5ccb81fd359566be8adf2e5938549d97f4b98726455c8ca6919081900360800190a2505050505050565b604080516001600160a01b038616602082015290810184905263ffffffff80841660608301528216608082015260009060a00160408051601f1981840301815291815281516020928301206000818152606c9093529120549091506121785760405162461bcd60e51b815260206004820152601060248201526f4e6f206c6f636b656420746f6b656e7360801b6044820152606401610481565b6000818152606c6020526040812054606780549192909161219a908490612da6565b90915550506000818152606c602052604080822091909155516001600160a01b038616907fc7828828c1695356404c845784b646291521ab3d4c89f320fe570974e02c5fa0906106499087908790879092835263ffffffff918216602084015216604082015260600190565b6066546000904290600160a01b900463ffffffff16158015906122375750606654600160a01b900463ffffffff1681115b1561224e5750606654600160a01b900463ffffffff165b6000858152606b60205260409020541580159061227857506000858152606b602052604090205481115b1561228e57506000848152606b60205260409020545b60665460405163ad9c499b60e01b81526000916001600160a01b03169063ad9c499b906122c8908490889087908b90606990600401612eaa565b602060405180830381865afa1580156122e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123099190612d77565b9695505050505050565b6000612368826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166124cd9092919063ffffffff16565b805190915015611b0257808060200190518101906123869190612f7b565b611b025760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610481565b600081815b845181101561245157600085828151811061240757612407612dbd565b6020026020010151905080831161242d576000838152602082905260409020925061243e565b600081815260208490526040902092505b508061244981612e1d565b9150506123ea565b509392505050565b600054610100900460ff166124c45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610481565b610b2933611cad565b60606124dc84846000856124e4565b949350505050565b6060824710156125455760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610481565b6001600160a01b0385163b61259c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610481565b600080866001600160a01b031685876040516125b89190612f9d565b60006040518083038185875af1925050503d80600081146125f5576040519150601f19603f3d011682016040523d82523d6000602084013e6125fa565b606091505b509150915061260a828286612615565b979650505050505050565b60608315612624575081611b18565b8251156126345782518084602001fd5b8160405162461bcd60e51b81526004016104819190612d17565b82805461265a90612e6f565b90600052602060002090601f01602090048101928261267c57600085556126c2565b82601f1061269557805160ff19168380011785556126c2565b828001600101855582156126c2579182015b828111156126c25782518255916020019190600101906126a7565b506126ce9291506126d2565b5090565b5b808211156126ce57600081556001016126d3565b80356001600160a01b0381168114611c3557600080fd5b6000806040838503121561271157600080fd5b61271a836126e7565b946020939093013593505050565b803563ffffffff81168114611c3557600080fd5b60008083601f84011261274e57600080fd5b50813567ffffffffffffffff81111561276657600080fd5b6020830191508360208260051b850101111561278157600080fd5b9250929050565b60008060008060008060a087890312156127a157600080fd5b6127aa876126e7565b9550602087013594506127bf60408801612728565b93506127cd60608801612728565b9250608087013567ffffffffffffffff8111156127e957600080fd5b6127f589828a0161273c565b979a9699509497509295939492505050565b60006020828403121561281957600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561284c57600080fd5b8435935061285c602086016126e7565b925061286a604086016126e7565b9150606085013567ffffffffffffffff8082111561288757600080fd5b818701915087601f83011261289b57600080fd5b8135818111156128ad576128ad612820565b604051601f8201601f19908116603f011681019083821181831017156128d5576128d5612820565b816040528281528a60208487010111156128ee57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b60008060008060008060008060008060008060c08d8f03121561293457600080fd5b67ffffffffffffffff8d35111561294a57600080fd5b6129578e8e358f0161273c565b909c509a5067ffffffffffffffff60208e0135111561297557600080fd5b6129858e60208f01358f0161273c565b909a50985067ffffffffffffffff60408e013511156129a357600080fd5b6129b38e60408f01358f0161273c565b909850965067ffffffffffffffff60608e013511156129d157600080fd5b6129e18e60608f01358f0161273c565b909650945067ffffffffffffffff60808e013511156129ff57600080fd5b612a0f8e60808f01358f0161273c565b909450925067ffffffffffffffff60a08e01351115612a2d57600080fd5b612a3d8e60a08f01358f0161273c565b81935080925050509295989b509295989b509295989b565b600060208284031215612a6757600080fd5b611b18826126e7565b60008060008060008060008060008060a08b8d031215612a8f57600080fd5b8a3567ffffffffffffffff80821115612aa757600080fd5b612ab38e838f0161273c565b909c509a5060208d0135915080821115612acc57600080fd5b612ad88e838f0161273c565b909a50985060408d0135915080821115612af157600080fd5b612afd8e838f0161273c565b909850965060608d0135915080821115612b1657600080fd5b612b228e838f0161273c565b909650945060808d0135915080821115612b3b57600080fd5b50612b488d828e0161273c565b915080935050809150509295989b9194979a5092959850565b600080600080600080600060c0888a031215612b7c57600080fd5b612b85886126e7565b96506020880135955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115612bbd57600080fd5b612bc98a828b0161273c565b989b979a50959850939692959293505050565b6000806000806000806000806080898b031215612bf857600080fd5b883567ffffffffffffffff80821115612c1057600080fd5b612c1c8c838d0161273c565b909a50985060208b0135915080821115612c3557600080fd5b612c418c838d0161273c565b909850965060408b0135915080821115612c5a57600080fd5b612c668c838d0161273c565b909650945060608b0135915080821115612c7f57600080fd5b50612c8c8b828c0161273c565b999c989b5096995094979396929594505050565b600060208284031215612cb257600080fd5b611b1882612728565b60005b83811015612cd6578181015183820152602001612cbe565b83811115612ce5576000848401525b50505050565b60008151808452612d03816020860160208601612cbb565b601f01601f19169290920160200192915050565b602081526000611b186020830184612ceb565b60008060008060808587031215612d4057600080fd5b612d49856126e7565b935060208501359250612d5e60408601612728565b9150612d6c60608601612728565b905092959194509250565b600060208284031215612d8957600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015612db857612db8612d90565b500390565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112612dea57600080fd5b83018035915067ffffffffffffffff821115612e0557600080fd5b6020019150600581901b360382131561278157600080fd5b6000600019821415612e3157612e31612d90565b5060010190565b6000816000190483118215151615612e5257612e52612d90565b500290565b60008219821115612e6a57612e6a612d90565b500190565b600181811c90821680612e8357607f821691505b60208210811415612ea457634e487b7160e01b600052602260045260246000fd5b50919050565b600063ffffffff808816835260208188168185015286604085015285606085015260a0608085015260009150845482600182811c915080831680612eef57607f831692505b848310811415612f0d57634e487b7160e01b86526022600452602486fd5b60a0880183905260c08801818015612f2c5760018114612f3d57612f68565b60ff19861682528682019750612f68565b60008b81526020902060005b86811015612f6257815484820152908501908801612f49565b83019850505b50959d9c50505050505050505050505050565b600060208284031215612f8d57600080fd5b81518015158114611b1857600080fd5b60008251612faf818460208701612cbb565b919091019291505056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220fcf16702d01d7b4d7409885fcef5ba5e1b1ab4fb4dd950c15b7d71aa2f63858064736f6c634300080b00330605581d026e2d871943af043c404949e2126f3d44dd8f49e6162192dd3fa5e4bc070119300f0219a00005581e03d799327cb969cd84c0f10550570ca6788ce04f046695bcac6afed644300c124638065e1e40000219390b03045097d533d4516ffd9294dd43a04028ab403dff3e44e7e7ac2be4f8e55d49da03666854e06a5f267e243200e463e4a6624f58974c5156d8a486a2df2cca977bd203ea336746608c04df0a6040c1c1256191c7e6a7cf55cead01876785c0e7175a8f0382fb8c5d69977e75e471097950c7f613f3c56ed89e9f64261b45a704a44e00df0399a9e16d7bf9e10494fd81dd21b519cf164ec9cc582e3cf2135f239ff7fea66e03e181d5cd479221b09a18655497d93da62f0f9fe7c15a13c0bb0aab1fe788365a0303c361bbca53d6f98ed4c8c7de51bda0abab1fdc1161016b2a8fe511ba6511210304d85587b6e5bc50d7d3dc01309b948573ae9b80aefd56b4723271a48456d8b003c51e66662575f61e2de3935ea7c52a202da087e9cf8ecb8b583d44e435b6b288035f6375bbb0abc7af009e1443fb94473f279b419efb44f85ed514e7e18aa264fb0219ffff03959dfafc8c67b4e6e6e175e247cb184c493e9fe83820ec5147ac0821bc57ea7903afff03c13db9eff3cd8a2f6296ca9b2fb01af0c0842176b80f6eb4cce276139c0374745f384f4635f93707b2db975a11d9f25aa9f84c6d1bfff08f4e723bdd57d303a394385fc442c354aa1ff56574183590a687b1cc89a10a1392633fe31f752aa8038a3b972708599628d377ae7b53d9f05440c198406ef43750d3969fa7efe0a18503405eb748aed4bf64847c3e3806ed91c7064cea94f0f97414f9185018f2793d750391aa642506cb92768d942a95d21fdce3eed090c03e6294b4a2dd59d82c02228403c225f225ef1c17ed343cea4973fecdc6148778965aec8f3bbec24e9322539cd303e6065f6da8e2ceb49b27ede87df2d5b379d02b069d3e867331a2b2a3449a898303e9b5260bd8399a52343d1fdf89cc2028d56d57efb35ddcba3d800bd1806f557703ba28a5210638ea1733ca7d4872146c25e18d20a9b9ce504fe5280aa39184583a03a70c8c0d2179b39bbca1b47d8f427f46e2984c2a1ad1f00ae853fe074ddc6ca603f69dee3aeecec31acdae34d2a4c2e37ae20af53aca2ba6fbdd446542ea7948d20302c496d745b343666a7245170153c1fa1758c50557788484478edbc67b4d887903ece66505d92e328af41388dff8616da7e4e51590f10d43dbf0f32ed668050ee70219ffff032f0766377c48651f3e43335de6204220cf7e6f6c5b92e1b6e5a46a6e3de7a2de03982db053e24f2b4446f83b416a2b044fe1128394fc33f8ab3dd7bc8f45d5416c03fa199847d6a8491f72a1b5d46cd241c744c3369bc2f5c31299ebecf9f8a4564b0329d03f22220b02b057db86e0ab2021f752dca0b6650f0b12eb9f561bc42fb8aa0219ffff0369307043c20276c8b7d7595c9767661773e5a362451f8210ed7dd6c8763d021a030c390f927f7552cefee1a658ab7201905492a6e32c3361c290538fc96f3f1347038b484a088ccbdc9b91270698dda178e52b656c489e1149f168e9b701381beb0303285a4a1a9f8091fc5fc995ee73bfee093123e10b587c27ea4eaeef1d8d1e83b5030c2a1a129d4b6965b4a642d31405d2c336a7ccca7f727cb133552bbf4bd8907e034a566b876d143fdd79832cafc2f2e04a2eccd79b0fa56b6e94ea315284b6cc230392ffd23c80d91ae7a9637ae8529f3f23925ff5073088c97c96e96bec5f67dc2b03cfce112ec0207686ac61cf5788d58d95697172c04e99f23bf3a6960b351789e90219ffff03013136d797d83e4f6bac20c0a75dbaec333dd7949c017ecb79b5827ab10b28ea03926eae41d35afec925a44e535608ec459e5ae891932156bd2606d4134e3d6cd603759701ad3c095e7d35ec03826c3f6bc53f880ba89781b594ddd3a2646be58ce4036d058e532328f91ae67f95a677f1276a7fb7fd6c6bfa851f18a713ece71b4a8e03f956c6adf3c731f7e2dd3a5fd51f6e2e7a13112d7533013a5a8c36a28699cfb103aa7307fefe36f236f42b15f98a2a629652f582624c7e9c0d7eefa435592c5ec403e704a3ed81334ef52376a2af2f34a5471a238f53fb6c10de962ce48941d6e3c4034d7c63a1fe2b80d63e99664bfd4a3be6f8304b6f4b3277b798124616bb46dd1f0346f0af6cb907f4b66adfb9eb2c5b4b36fd10349907ba1e0d65a8ff3fe4a0f55f03a6eedab921aed5494b612fa0591914b65ddf52e53052aa9f17dfcc9e72c1a89003af5bb791ff42ba899243a4dadd650b6e3fd53c18ea643846f043003535d6d755038c416ae1e25553e806957874ab7361cc019b76e2881574397748cde29cf22b87034bb2dfdfc53b31a3e04edb61f725e56e7d8e6f7447a92e1b9bfe80b4d835e34f03eb9ca971c1b0e2ae89640845fc3ca19916da739a98b41c0bdd9eef9e0bdea09803284819156a39fa109c4992133f1f43f8716b5e9c3b371942ac27db0860139a65035e90ea8892cf97c8e0c1c162755d368267a3d093d86d5d1234c78c1eaeff3a930338392c2562a355dfa4c821da7e095412a4cab7e41e56ba107861fba3c73cbf7103fa0b9e4aab72ebe870bcc80a216095510f41aa9d8f4dc761ef672ca2c87a159b03668b9f71aeb785fdcbee3de0ddb39c08a759ce03efb9f4ef52240866de2d0b7703e356d0f6fefd5843c6bbb3aa13210532b236b53a36b141274977a31fd645661803c06dd66bb47733c77703a89b702c7e74b315878e925d7f5deff676c2a9b641c703c228166a1fbfd731bfdbac0bcea089a2d7cc28e85a41fabeb297fd8fd85f8b00038d3671111f688cdfcabbc5fdd13ed902bf4c7445b45ddc0d321e80b5c0ee73fe0360adf4b65235839eeca398dd27d9c8442472f45c38b14d695ae9fff381d7234203d90ded807475462f577330868622276d8a14fd2885146cf242c130b186f6d58d03454328b81074fac14bca14e8933f4b9291c6b73165ea96763bd49b0e5b78e4dc0321212b5748422a67638d992405660648d947b8a9f0bcc02a4d72fd12de7b0ba40394727e3e7a1ca1c24a2a1962e7585b69daf9a7129b6a04602c5cc774198c6ffb033a46f645d922cbf85eef7c850c268d8b9f5087595803d4645c39a8e535af2da3039c812db34fd717dd887417a64766b36726e9a901049894a89df2a8f73db1e61603334200f8329c61ee280fe0c6dce766991ef4514129973a61d8a40682ae791ef3030fb9b3461accc6f048b52e129304e7d6d6f71ac983dfe1e757c9838aa3cdf35305581e0310482cfedaa0b5db58d4c651c7a40bea5a4752ee5f80fc96fff129fba0040403a6ab4ddaaf8bfc50e2b08d02b445c40f0a241b0bcc6afd962b970747c058bbec05581e03c57633a87933578a164151aaa495c478f501d5d4486e927ada6b58505008460c91b830d8000339ca9d9397609af5938b018eaa2a636d5fc24f76f0c020c3080821386cf9d23103c13d1c34f6784d52b311182187b5e66fe10d7e19396937760f8f51e2ec859f28033361ec0d0f6903d8358e1b4b94253756f9eb56587078afbb45fdb07484d66ed905581e03da7a57ca754a83d737b7a2c2f07852fbbad64efef01349aef1d0afce000c0142132f05581e035478763c729337a943eadb351a020e188d237cbf3bf95bd92b9077db4004010219719b039338b0352f5fb341b0912e48bd9cedaea4fc8f6c7cb72f802b726779cf7b605c03a8430dc0c368bccaad202267d154c54b38386357edafe4a976ae973438f19d0f030f8bd9a1b303460b468ce2c73ef18b354f88ca7ca310ea450fc8a10c65f7270d035bec9ae71900e617276356e3758484179ac6e5c0b559b292cf0111db8277f1c203e549f905a38bddc68453e2c67ae3ed0fcc6454bba913bd7619b75973c3cf5b7d03fb3820d45409974c0757cdf19c1c312ef0e576596376a777b3c49c10bfb1f3d00219ffff03862e24152fd836e8afb951a9f03a2c847e91b53fb015b097110e03200d22557603a7b864ac717a6d78516dbcdaccaee8c78a566ffcc35be17cf0d575992db8763503ac68ecc89f89d3df8f6f24ee8177c0a0d226468d44f7297433a890f72743c5fb0339f30106873ba5e7b61994dea96974877784ff6809f14049e565fb684ee46a5f031d8f21ec66eb2d1a94357b0f20dfaf27a38872dc4c080dab46c68019c44524ae036ebaec33211e1f65336c8fdb1ef974e709f60891bd81b0e5bb755554e2d050f303e7dd4f12ff9609e2af464945e9d1e69a2c7e911321d2f8ae978e509e98de1a760219ffff03728b7b6aa00141057d0f77576e2aaf176b781e42bd9fd82b9f8cac20f7e9394c0219ffff03eb23a8d1674df5826cbbcc06e63767fbd8e6911c8ab81d63aa3ae0b398f7830b03414c55648c242fe5e10bd5e076662115d620157002c057c93392f10ee9e9366e031bedc5fe881ff8708ae12003a04e1717a981ab8dea83e9938729ae1a6e75c0f10369a370385e03ed7e2896a5c9e62b7ceed853f4116086856e6f7ec37bba7575710367ad3619a83596b75b70e1b048b6dd73ff87a0ef93ad0e99e3c502bc8efc5a3303ba7afcaff0eb98a49642c87dd9e017327fe25b178561a4078ab546ae9c4688f803ae45723a29ff277cb7b265c33ba5c7db7c5a9bc895d1c31af0865095164300b00378487891a558b65c26c2755d812826ed299a536d2e77eee0d800c83233688d00036d3b9ba99014e859ecf2cc0687989914ae076b035e19d16601cc487c2548a238033868974a1e4d3be36a9ca0eec04748e2eef170abbfa029dfc8bcf14644356c1603b7b9a034cf11d3b84c78851f90dc30a57ced37abace600b3b978a443fd212f2603f9341dd22bc209e569e8e8b35dfacb3bc638973b01a0343187414ae4a6524b2403efc16f2ff1afccb0ac5e03effb878fae8523631ffbd1d58f099264ade4419f9203a0f96c3d0d8510195c004158daa9cd9f9d2605b4653384eb54527ee8306a44c003e4b67e5cab78310ffeb82119eb8ac7edf16e22763f82f7825b1b64d3fcec83fc037b40518df3880c3906465e6b98af2798e33a1d6530ff08c7ef2c02003105a45403679d6c807463d257b42d88190251923843c0770d945e1b45815c735052006cdf033f03a4c219142144ae4b8fc950263df5f76ecf17efcea65d5afce72eba5a5f3e03388af9cd32d953f2bfe4d1539db8db4ddb412a9846f44de60abe05124fee68f7031a5dd1a2cada21b9bdf56e6bbef4031583f09b468b0a6b9ee9a846aa91b16bc1032c8b1444a5bd42d2a5d6823bb0841011348d9fa7212287a270d5ed44267a5b17037206e59b6d8e440c6fbac16e63ad075fc305462d68a279277a6ad59ab3b5b107037d622c9709fecb09e7e75eb252203ea832d06bb4ca8bcd460bf36fb8d6f16d17036f4482de4ab3e4099f4572dca554e8942135cbc501272c789130ce8f260ff4250310e26c35be0d93ee8dbeff47ed1e391e46d924d3767a200fb79e7c420ee6cb5303a4700b9428a6c14ed12a1d5727e52d6eaa5b1c7ee4acba82396185c581935ecd034def29c0f34d36e46bbe4a9778a9206c55e5b52aa944e95f9e21f601bce713a203eb70ed7b7672cc0beb9c3cd8ec1e69fc4f987c644366b51c6e84aaf70f7829b20332c265553418ed1465ef81e56fc67b048d05ff8c588250ae1c23d11a70cf222603c278ba7b8d29a9a0bf7345b91661288185514041b2e5e7a12d8e3b03d32c293603f564ad7ffb1f48b2eb0a0e26ab0127c41ec0b7d8610b775277c7c6a2a84a85ce05581e0343e64f9b2fa44aafb71a97298fc94de7db34793e4b22f9086a7f8cb7e00c014708034e2662640003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0337179fb554bd07a830815ef12a9d5a5513fc17016fc300e07734da818007011bffffffffffffffff03840de315f078c15271b428655e1d2b1b3587d932430e71e45054c284d429bb6c036cddfb794ff534b9a4348ed059f8bf6618bc6a71cab219ca407a7e3aca349a6105581d023f305093a75a3c7fe02af261f4d8caca05e23befae97b7390fcb421c0c044801dfe3ad279c66bc05581d02f2e7aca122d41a533c92bcb4c237243346d0c93668bf278cb2115bb6040205581d0267663284a034d71696720ee8cf1479ce47c5fd4bef2df7017cad7fa8040302190a4003dcc091f74f45417e4834c2eee00616fab1a5170d2d932ec10ce2c833da1642c205581e035780f7de018fbecc95ae70c6a66bcfd5e3af19f03c4b473285f7167f500c064706c632b81f7e0003c5d701ef4db3a29ec67455d0c7cc013882ddf3aa7fd686c5a906d3379462f486021936f903f93cd5c7a2e28349151d14afd02d0d0c59e8e8988ad6f1330bfca9e7d3c25e4f03b13eae6caab1479c8a2f758510601f93ee8027e6509033c64c18523edeaa402803944069f1f640efa2413f2bab247d53232c7e841f666c7c66cee7e564cf82f89003bad107fa56d509cc597b307080a301ca322ed096c5197b7fb8032b1021bd905e0219ffff03d5725af8b941d6091cfbc52c603f55dac47a35b367f48f3716448e9c2785539703364086c6495443c055c6f1db7ce1887b7466b2d61f997e001407eac5f561495e03a8c06f5a5c9235aa76153fb5ba390652a64d4946a85e2b90846c3057b08110540219ffff03f7bef90fa33ede55e6e949871a5ff3a28b6ec9411fc105eaa686317e8463d37003c55ea5d6b3f2164642347c6ca0f4b047b33d3e47da8d9b50645cb1a51d0a054a03b28da1e3304b5df720af1887b9d68d8bcb315530afdfbfc9bbffe83c15a8184d0392ab986017eb3a1f56c17ce8017d2eb5c1219fab609069137cd038a3b4fd6350039b07badb88bc3b4b2bd3a82b8db64230cc2b51313a49dbaa636f609b5306dce703f42bd9c58544c1697f6e1e730240f7c67650b7f0f1a0f357902ebf1b51a91f5a03a3bf4b159fea14e14094a402bd45c7c0cde9893577884db837170c73deee4eed0345a8819adc7e85634e324fa0ed89bf44e0c5d92686d5f555b8c5c098320ce49903786e680911ac5ab58fa84407512beaadf465bd4c8bf3b8e9cfa0a3d611ed4d2c03fb09a6eb4d6555da8988f738a777cafd7701d72471e1fd56d00f22d573e6b74d03a19efc84ad19289d90a892cdd9c3e50367b126423e028a5aff103dc833579d930305fc3ea86b0b6896fead2552ff25deb218c5a7cd0ad00289c7aa447474b4df8d0314fcb3265f113da4297872de2431606261e42ef05e20dd73523e7001e0925e200219ffff0374e79a97f8a326975d9c2c30b65111ba49997d787c7208c6acd567357df30939031835c1b3b02b18b6e218cf45ad367181c4ddfa1dfd3b133be610aa3ef4be58a80380e9c11178011ad70754452e048888aa40f54cd42aa40240fa9ccc7b975dbffa034032060479866df48709d320fa83ddec69a183d463997af838766476fa06fcbe0343e52d93d951f2857a039b82969926655e370d3bc98c190eb5a7603138d71cff03d6c913c40470793da68a9e52163d86bc70afca410782cbab034238cad2bd9f2003288fbdcffa368efcc8f67112b653c8548307b2e529b4ccc5ccbf4483e0c4074503b7c7b518e9eecfa05a532740352adf0b79bc5acb2e4ab0a855f97af7169272ad03a0cdec075e67e1a39ae4acede3ef97ab7e0608b826eb5310c8ddbb0c044996090355c184eff052f31d26821d18be7e2b79ff155d776d6c882552968d038dbd74be0219ffff03889808bc312aee69ac923dc7f577dfab671131bac16e3aa2319fc2ea9c4d9b97039b704bc01a6a49053a213d28418653fe8f010a1df47d023f715d1f697fd6ae2e03ba2e9402dc3f59c532f44fc6a1ad0996f657a7e96b6f9d72fff3e477c158e8210305476554380ac923bc839ec50a4793c3088fefa7a38c0cbd54348dc5054fb814039ad2bc537e149ba6ba753e3ddf9a9174192ce11228617e7b0bbdba8939cddd73037f69572f50e9dc267470a65c5fa9379124eae431c883e16fa51c154d0c4234be034c9e0a65340c88b6b73cc748c2e4c572ffe88f63c75f1c2873be4b009e94d0c303cd48b717547399b8f49033fe1ab3999aeff3399f563981d66e3c9c577dd8709d03de6fac2d23a34d8bdef2d048b52b88b66cde2d6ac61974ed321d574cf71b41250321d46bc704e85a0f9730081447f5147fb285297c473684b13fa8d16e4e2ef56103f42cb6574076f5e44dc5c3a819de45766b756ede5db3647aec1b49ff290197390359edca7aeb8839324a9e31738757fb0a41d04ad976ca1e66c5fe2d7750bff1a1033b63b76728735936f085b6d3165756942bcdd3cec3c2f41206a490642add2412031183cd352bfd2afc5f633858ba54e6be29c01fa67a75674496e3c16e5bb01ae8036875ef3593e3ef46180c5ad0d3a4e0800f3afe1c7abbb101e5c82d432a1f9a5e03b3e959d9f33539d00b55017d340e7df57e5307607fe55e5167fc82fbd04bce42033bae73ba8cc2d744d32331e53aa488cf1a2b7743f8e0bb8879384e700faa81480367670ba95b9f1944d0a12ba96fc0bba45a77c89536018d6061cd6be766933574035e8fbe5009b61279e7e24723f94d93eb44959bf7f9e88c96af0b9b0b7a4f0c150304dd58d847c4695ff91dce48f0beb901be7707c882262ec4ffe7930a490560e603ca0e4f9e4cd6f4f587c462b3624a154ce55dc0f804512c4cdbc2ed8bb38ec1a70349ef88aa72c340aeb14ea4fa9021d430b1b9df6cfcddbdc3e7711896750ab270039ec294652d4e3cb690e64c3679e180458719b6c3663578148d3fbd8648dfb178036fa181f643f682414fa01d7c0adc998d6e03c45bb4dec26606517e3fb023ae1303ca7006830317fac0ec07244cf4052eaf2c6ee0f8613f0f2a8730d7e6769fea1303ba247f6d5189ae97d550cc1faad86ca4732622285465457c33f849bb1408cf5b03482fb7ee1874f9152c2648aefc59577c50d1fad19593c2a8b24ac2eec604ea0c03f3d45ac2450685ace38922ba59d161f2d3b74ea672f98f4124bf50808505277f037315f9aba9ec339134730a27d9c87e3f223bb27081a7d1d6846f7b1f5f549023035310077801884b26fca61ee3b778dcbe9aa0af483ceed35cba263474966d976b03348a3fee7dd0fee6c617af960f07c68f7c5ac874e33569240e65a5305c067cdc03ebbe76afbea024caf7d16b239330579c035e5d719b233fdf447ffa0f4093985f031520ab9bed6c82e012497ecf460cb0fc6a40296391ff869139a168d665876a2e03dd35e68ee2755c6c33c174fb076b9950e4ed30e947b45f2354bc20fa5185342905581e0399987c983c7700b1072cf6e8f5108af6bcc4ce9195fffeb429ec34e4300c014714b82c50548000032603cc8f9dcfb74eafe54d83a70e12fb18ca9cbf9a6d8eb33a14fa26d3ef3f4b05581d02d46709432d13f1f6096e72972e81f97d8ee6d2488760f23ffbc2b3e20c054693ecfbd53578045919dd60806040526004361061019c5760003560e01c806370a08231116100ec578063a22cb4651161008a578063e5e01c1111610064578063e5e01c111461046d578063e985e9c51461048d578063f2fde38b146104ad578063fe878b1d146104cd57600080fd5b8063a22cb4651461041a578063b88d4fde1461043a578063c87b56dd1461044d57600080fd5b806395d89b41116100c657806395d89b41146103bd5780639858cf19146103d25780639894ba7c146103e7578063a0712d681461040757600080fd5b806370a082311461036a578063715018a61461038a5780638da5cb5b1461039f57600080fd5b806323b872dd1161015957806341f434341161013357806341f43434146102f557806342842e0e14610317578063528c06cc1461032a5780636352211e1461034a57600080fd5b806323b872dd1461028c5780632a55205a1461029f57806332cb6b0c146102de57600080fd5b806301ffc9a7146101a157806306fdde03146101d6578063081812fc146101f8578063095ea7b3146102305780630e5c19191461024557806318160ddd14610265575b600080fd5b3480156101ad57600080fd5b506101c16101bc36600461136b565b6104e2565b60405190151581526020015b60405180910390f35b3480156101e257600080fd5b506101eb6104f3565b6040516101cd91906113d8565b34801561020457600080fd5b506102186102133660046113eb565b610585565b6040516001600160a01b0390911681526020016101cd565b61024361023e36600461141b565b6105c9565b005b34801561025157600080fd5b50610243610260366004611445565b610669565b34801561027157600080fd5b5060015460005403600019015b6040519081526020016101cd565b61024361029a3660046114b7565b6106ae565b3480156102ab57600080fd5b506102bf6102ba3660046114f3565b610847565b604080516001600160a01b0390931683526020830191909152016101cd565b3480156102ea57600080fd5b5061027e620186a081565b34801561030157600080fd5b506102186daaeb6d7670e522a718067333cd4e81565b6102436103253660046114b7565b6108f3565b34801561033657600080fd5b506102436103453660046113eb565b61090e565b34801561035657600080fd5b506102186103653660046113eb565b61093d565b34801561037657600080fd5b5061027e610385366004611515565b610948565b34801561039657600080fd5b50610243610997565b3480156103ab57600080fd5b50600a546001600160a01b0316610218565b3480156103c957600080fd5b506101eb6109cd565b3480156103de57600080fd5b5061027e600381565b3480156103f357600080fd5b50610243610402366004611515565b6109dc565b6102436104153660046113eb565b610a3e565b34801561042657600080fd5b50610243610435366004611530565b610bb5565b610243610448366004611582565b610c21565b34801561045957600080fd5b506101eb6104683660046113eb565b610c6b565b34801561047957600080fd5b50610243610488366004611445565b610dad565b34801561049957600080fd5b506101c16104a836600461165e565b610de4565b3480156104b957600080fd5b506102436104c8366004611515565b610e12565b3480156104d957600080fd5b5061027e600a81565b60006104ed82610ead565b92915050565b60606002805461050290611691565b80601f016020809104026020016040519081016040528092919081815260200182805461052e90611691565b801561057b5780601f106105505761010080835404028352916020019161057b565b820191906000526020600020905b81548152906001019060200180831161055e57829003601f168201915b5050505050905090565b600061059082610ee2565b6105ad576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b60006105d48261093d565b9050336001600160a01b0382161461060d576105f08133610de4565b61060d576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600a546001600160a01b0316331461069c5760405162461bcd60e51b8152600401610693906116cb565b60405180910390fd5b600c6106a9828483611746565b505050565b60006106b982610f17565b9050836001600160a01b0316816001600160a01b0316146106ec5760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054338082146001600160a01b038816909114176107395761071c8633610de4565b61073957604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03851661076057604051633a954ecd60e21b815260040160405180910390fd5b801561076b57600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b841690036107fd576001840160008181526004602052604081205490036107fb5760005481146107fb5760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b60008281526009602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b03169282019290925282916108bc5750604080518082019091526008546001600160a01b0381168252600160a01b90046001600160601b031660208201525b6020810151600090612710906108db906001600160601b03168761181c565b6108e59190611849565b915196919550909350505050565b6106a983838360405180602001604052806000815250610c21565b600a546001600160a01b031633146109385760405162461bcd60e51b8152600401610693906116cb565b600b55565b60006104ed82610f17565b60006001600160a01b038216610971576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b600a546001600160a01b031633146109c15760405162461bcd60e51b8152600401610693906116cb565b6109cb6000610f8d565b565b60606003805461050290611691565b600a546001600160a01b03163314610a065760405162461bcd60e51b8152600401610693906116cb565b60405147906001600160a01b0383169082156108fc029083906000818181858888f193505050501580156106a9573d6000803e3d6000fd5b600154600054620186a09183910360001901610a5a919061185d565b1115610aa85760405162461bcd60e51b815260206004820152601e60248201527f4552433732313a2045786365656473206d6178696d756d20737570706c7900006044820152606401610693565b8060011480610ab75750600381145b80610ac25750600a81145b610b0e5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20496e76616c6964207175616e7469747900000000000000006044820152606401610693565b60038111610b2557610b203382610fdf565b610b85565b655af3107a4000341015610b7b5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20496e73756666696369656e74207061796d656e74000000006044820152606401610693565b610b853382610fdf565b604051819033907f52277f0b4a9b555c5aa96900a13546f972bda413737ec164aac947c87eec602490600090a350565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610c2c8484846106ae565b6001600160a01b0383163b15610c6557610c4884848484610ffd565b610c65576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b6060600b54600003610d0957600c8054610c8490611691565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb090611691565b8015610cfd5780601f10610cd257610100808354040283529160200191610cfd565b820191906000526020600020905b815481529060010190602001808311610ce057829003601f168201915b50505050509050919050565b610d1282610ee2565b610d765760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610693565b600d610d81836110e9565b604051602001610d92929190611870565b6040516020818303038152906040529050919050565b919050565b600a546001600160a01b03163314610dd75760405162461bcd60e51b8152600401610693906116cb565b600d6106a9828483611746565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b600a546001600160a01b03163314610e3c5760405162461bcd60e51b8152600401610693906116cb565b6001600160a01b038116610ea15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610693565b610eaa81610f8d565b50565b60006001600160e01b0319821663152a902d60e11b14806104ed57506301ffc9a760e01b6001600160e01b03198316146104ed565b600081600111158015610ef6575060005482105b80156104ed575050600090815260046020526040902054600160e01b161590565b60008180600111610f7457600054811015610f745760008181526004602052604081205490600160e01b82169003610f72575b80600003610f6b575060001901600081815260046020526040902054610f4a565b9392505050565b505b604051636f96cda160e11b815260040160405180910390fd5b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610ff98282604051806020016040528060008152506111ea565b5050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906110329033908990889088906004016118f7565b6020604051808303816000875af192505050801561106d575060408051601f3d908101601f1916820190925261106a91810190611934565b60015b6110cb573d80801561109b576040519150601f19603f3d011682016040523d82523d6000602084013e6110a0565b606091505b5080516000036110c3576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b6060816000036111105750506040805180820190915260018152600360fc1b602082015290565b8160005b811561113a578061112481611951565b91506111339050600a83611849565b9150611114565b60008167ffffffffffffffff8111156111555761115561156c565b6040519080825280601f01601f19166020018201604052801561117f576020820181803683370190505b5090505b84156110e15761119460018361196a565b91506111a1600a8661197d565b6111ac90603061185d565b60f81b8183815181106111c1576111c1611991565b60200101906001600160f81b031916908160001a9053506111e3600a86611849565b9450611183565b6111f48383611257565b6001600160a01b0383163b156106a9576000548281035b61121e6000868380600101945086610ffd565b61123b576040516368d2bf6b60e11b815260040160405180910390fd5b81811061120b57816000541461125057600080fd5b5050505050565b600080549082900361127c5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461132b57808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a46001016112f3565b508160000361134c57604051622e076360e81b815260040160405180910390fd5b60005550505050565b6001600160e01b031981168114610eaa57600080fd5b60006020828403121561137d57600080fd5b8135610f6b81611355565b60005b838110156113a357818101518382015260200161138b565b50506000910152565b600081518084526113c4816020860160208601611388565b601f01601f19169290920160200192915050565b602081526000610f6b60208301846113ac565b6000602082840312156113fd57600080fd5b5035919050565b80356001600160a01b0381168114610da857600080fd5b6000806040838503121561142e57600080fd5b61143783611404565b946020939093013593505050565b6000806020838503121561145857600080fd5b823567ffffffffffffffff8082111561147057600080fd5b818501915085601f83011261148457600080fd5b81358181111561149357600080fd5b8660208285010111156114a557600080fd5b60209290920196919550909350505050565b6000806000606084860312156114cc57600080fd5b6114d584611404565b92506114e360208501611404565b9150604084013590509250925092565b6000806040838503121561150657600080fd5b50508035926020909101359150565b60006020828403121561152757600080fd5b610f6b82611404565b6000806040838503121561154357600080fd5b61154c83611404565b91506020830135801515811461156157600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561159857600080fd5b6115a185611404565b93506115af60208601611404565b925060408501359150606085013567ffffffffffffffff808211156115d357600080fd5b818701915087601f8301126115e757600080fd5b8135818111156115f9576115f961156c565b604051601f8201601f19908116603f011681019083821181831017156116215761162161156c565b816040528281528a602084870101111561163a57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561167157600080fd5b61167a83611404565b915061168860208401611404565b90509250929050565b600181811c908216806116a557607f821691505b6020821081036116c557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b601f8211156106a957600081815260208120601f850160051c810160208610156117275750805b601f850160051c820191505b8181101561083f57828155600101611733565b67ffffffffffffffff83111561175e5761175e61156c565b6117728361176c8354611691565b83611700565b6000601f8411600181146117a6576000851561178e5750838201355b600019600387901b1c1916600186901b178355611250565b600083815260209020601f19861690835b828110156117d757868501358255602094850194600190920191016117b7565b50868210156117f45760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104ed576104ed611806565b634e487b7160e01b600052601260045260246000fd5b60008261185857611858611833565b500490565b808201808211156104ed576104ed611806565b600080845461187e81611691565b6001828116801561189657600181146118ab576118da565b60ff19841687528215158302870194506118da565b8860005260208060002060005b858110156118d15781548a8201529084019082016118b8565b50505082870194505b5050505083516118ee818360208801611388565b01949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061192a908301846113ac565b9695505050505050565b60006020828403121561194657600080fd5b8151610f6b81611355565b60006001820161196357611963611806565b5060010190565b818103818111156104ed576104ed611806565b60008261198c5761198c611833565b500690565b634e487b7160e01b600052603260045260246000fdfea264697066735822122004b71c2a7c49a02fd29d997d933517c1adb025db5a3437b8af1a1e3c4f5b242764736f6c6343000812003303e26793cc2fa5f366e693f89b1bf445bb497748374e8eea8efbf808258bbb3428034cd9b0ae67d153e5610090a89f3f4eb44d21f89fd107bab828c739442c5d619d0319e0671bc7405430770ee89cfe569434f8b8473b8328d72c61f478ae5805945d03240f2cdc8e97d33b18c62dff6126ebdc9ccd84fb503b5eed70aac18243fb441d0306ecf05cd7a24a0ca9e43a48b3c0f3cbdf8bc5fa8a33ef3d4c0dbe43fe59b2a703bbe6553379c1de20bee73957213059b1deeded873bc499302f511a9ccda48d1103919b419ad03281ea58827f945eaf79e1fd005ccf92a611c84635d79925944ae2030b3ead0889d5c0b7293cdfb31975846a8c643bcfc5e076b08bee1e6f7527f57903d434dff0ea9a7ebe9632a1e7e54256090d55edeee136d1f8e8c1bd141853afce033473ea7424cef58da07191366747326d0615107c05f929e217e1f046dc0023ea03d3cc22433a25ea159bc72fed145ec2dd56b9fcf6f2cff88491da5faa773051f900581f024964fb55980d96fc634159015567f776c4bc76a0ce058e3149177a63e5834903000000000000000300581f0299c4fecf115fac28562800c45fc139e676fcee4f38924eaea5cbf5f3483e58186477cbb7e4ddcc1996b326e2bb5bd364237fd12e9d71320100581f02a140ad610035e14dfdf3dfa485a910bf0b3b349369d24a4b3963e496d17d581d02000000006622112f3df6f00faf90cbce809c8f87e812a0837fa6363500581f02a924ccbbac648813188d10e61f45709505b1663207b0aa2abb2665a717b1581864d39a9b73a24d946fb77c52fde2d431079bc8dcfb8f7ef700581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56343013a4100581f02d4e1fd0cb90732af4e57c3f7225c490a8588c0803385a1082cf5b790c41d58186476df3b48a7b12ebbb2a8a46c9d9535e3be8ae87a3e079c0219a90503cabbcc8fe3c5787c371c22c99ea0129149b81719ba7754554dae8d8d2d1e1ea1033963a3a6da2152b1df3db0917697f8e97d812fdb4124e4d4d5a3b1f51e297eae03da8609e6366bb0f8b3a62bc504de448ee068938af5b78c40d2c7a3118be5e715036f654471f64c779ecb59c639b6ecf6fe55b88397dd2b22a02aed5d39925bb5e2039bf3b564b088b86f959adc296d6bcf199a521e55d1c1f04b0d4cdcf55ab317b303f6b81583f88799ec84b956a86bf0c29ea870394a2d54472dce87c9401ee913c303c88e1be13d6e2415dfb4b195465fb3c19dd7b3fa1bc8b6ba5185dea6cd5d284c03f08107be551b7d21c1a28450a270ada2df3114b842c976dd7255c77284bf649b03d431a9e35a8696f7d37457c9bfb8c0d05a4fedb3070330f1a6a9459a0632566f03361e13e4470b9ae79cbf49a765e6e6c9d3813ccc5295664f98bc1ac5eea7ef0e034d63116df2749a4ff6c455e99a1e9d8cc2fe51872492e48a4d4440ba5df26dea03195cfe676056e76a84cf1f14802360d527043f74c9ed574ca2e97345f053be2903e41d7423a2c7c624d5ba5cb2e4105f0c713f966375887523c379b0cb742801b5031d0aedb6859c41b4851bfb207bef8da04dc03a48cbccd07e04200076c4f49bc9039bd1bf936256fe150f45af07a461d23febee3a3941818d2efcae89a0f1161c450219ffff0346c3dc3c555c83d4eb3dcb4985cf830712b0eb431ef82e9cf307670e4f8cb0940327d249b3d3aa1f061c4c72916970fdb132456a42883c28751b71354b740de5ca0307d35401bccc5d21f02149ea719fdf344bc600d533cfc7fbef1b1abfaf9771f103a4a9f7d2860debb255e2106efcc23a5f643f02a58aced8933fe0519c2d60674b037f12b0ba4437f6bfa0487ea909a34908fd0c636e668ba61de0e11bfac881dd9c0307f116f9b63f64c20fc4309510db521ca2a30f40aba52de18ab1a99c464bf37f0219ffff036e2c0c1649ee184c1da8788ee269c1ff57fb9487b1867f20d3a7d60e916a72de03defb6566823aea062473374152159baaacb17969d5d796964ad7106b6cdee6ef0388e62ea99ed7211c1ee39ecc32c2adb2d615ddbade8f49efa01f0ea82eec3a49037255d60b21deae0cc4538de1abdc08b925faa428cab1da87a09cc8322819fc7203e753540e9dd1b7e00f416916ff9316c54ba4dba68f9c03941834d3f99ae798fb031587b198c19d18b2d4bbc2657a62047800f7f8534126ffd9ce38d83f66191f5d03b997c5f33cba327321dbfaed978787b23380f56229cdb74e943bd3e6de305dd9031dca8c6a8033b86d5f94e6f2d07a6c29a98eca432e2db08188f70d1fdb4d1b0a03cb3390547667bab31dd6d9d784f1f6286e4a36277e0a9e8431d91bbb7d4246e303aab89aa9de95dc952f6870e0895d1a3d888a94dee415019583bcdb733f9fc0e1034b1e8f8c4d31df7c32b9897c3797cf72b022a7442d878f563a11de1b33bd6e3c035ece34131eb7a534d2c2d1f78f0b103f16323da98a09dc81b58fbadbe7add0b003e7c459aaae36d15ce45ac56f9e9478be0f9290cc0ca00cae8b374fef9c00ac6c00581f02a92439648ac22ba4003ddb5d6206d20f6111e1826d0105a593d655d7c8b84903000000000000000300581f0222a6ea936f990a11a7e14e8420a6a851fb6bff1e7b6216b855c9536a71cd581d02000000006625c4cf06d4a43e580498ff26c01215806951a074f8167d00581f021089b3ade8e723a20986d92068ed4afd0df96f2227417cc00a6112c677ed581864d68ea727a58c5a73446c70c07869a0d1898effe474fc9103db15d837cf383ec98943b69664f0a5e247bfeecd7d10dc5ca3d35860b1854b4b021944840393c6c24b3c3dae33c2f9136cbeff7f4217fbc1a71b9559f103272bfe57111aac0370691ba07ffe7c8e6dc7b2b853f6dca51af95959820b1bdc2cc1fe6095437daa0364c38a2249252c83839c821de27597522b80f42ca5c5f8f1259e21abf39d3cb903dec54c83cfb5214125191d7583a4f23edc81c12dd7c909f828122e79e10fcbb203865877852104662c314fe98177b446d36f492d51e029cdefa733bcd0d90b510b037fdcb840a3d126aeff5fa2532a95e630adee09893e2cf61f5c87f29c33183bb3030299236a6f5c7e674cbe6f87608124cbb366b0359294f75f45a03a6718b332b40219ffff0398a350a5789cd18fdc54dc13e58970ed988c52014d04d8d7869210855352dec303fef4e311d7b2eedc1d33d09df330adbfa1ca4e34443e6a8d33affcb2e6765b3403411719cb5acc4c0c3f752f069cd352e72f6f2e39357053f5b472c8c2e32dae2d0327259923aad97f419b40e8b441aca0cded0ff5df079bd6395076a365f2632c2903e7f861c683ca65a6ac98c43d1bf77571416bab00a74583e92561bdd509a5ee0b0315114f55dba0db7f272b3409e5748cb4031b32b64a8188cc7c3fe4b2959c2de0035ca42fd6b34cefdf97721feff0ea26271e1a6c51a4e0cc5d46798f1260b0a0fe037c10c4ed78319eec804f852a2fe7a061ef6696ae392dcf14de0b62c91aedb2080398dd762674612725823ee2e5a3033443d74f0f74fdff7fa910c4a91f1cca233903100b26f1dd711a21406461a8d732c4ea32e177f8f24af6e53adf57dd39d41ddc0219ffff03efdcee1172aa871f7584b8d9aa944187c4a139597c3e3804b2056492f62263f803d71f5a95c6e5250de71d10e226dbed2c16cbfb4b762dc26a86131296d38641cd034c9ccc0d9829beb359d184d00827ac5d8cc31bcf069e106f06ad518a790c85ed03088ddd19c3a1a0158dc9bbe3542a095c8ff46f263508a7d4a70b6255f64dd74d03dcf4f7efe4747a48137e08c029790f7421fe97819d25b41c955f4cb8f54ed7cb032eb036623bea939344b0938ebc2831c0c7731938a2d96990ef598faf0eecd0a7033806fb9897d9e1d6d24417feb2a4a4b937b1a658bf8d8b9c7b5bbe06b86db5df03003d33af53ea028879b8b5caf56d6d91d5aafca2e388758650d1a2a68d1e38b303ca66b40d03bad95478b9bc26b2b7622f99228ba849c4fe6075ab1e2b4549202e03b3a97cafa875cb7b2714d41088625456998228786400aabff32d0973ed964cab037b9e336e010d29404dfc884fa8101caf5cabaf7196f83353744dc089ee3116ec03bb7af8e33f09543f3e8d2437782c7dfd2f40f213da3929e2f2a90c1ef170401e03e0c9970f1186c99dc4dd928891f0474804ccb69520de333c7aea713ff4e9f8ab03a0cb0419efb5697ad6256ccaf40a7909ffd6b7716f13b18c782834327b62667103c4f62790f86760aa842b6e64b3427e9273927d15264891f28438cc7f064932ad033a6c783ccb73bc42b8c06589d9a7501e4c8e30e141e037fc828beef24cd5dd1d03b8aea48d4f8053730b1641b511146bc4db410e3211ce5ec42108a15faaee59c9032c769a18a70a0744425de7837c4673aa4b274090d88fc61369ba2adddb5549ae0337f0a96a63e7246b692fc1fca710f1e1839d819f43839f98d0451ea78083624703f6d7679ed0130319b186b750b4fb0fe1ef8a39c4db61178a0d8fe913bb0bd3fd03949146eb3353a651e57b52eb2dfb5f1ab77ca30b058f36771bbaa3454a19a4d30301ac0ba857f1a219cb16f09818fc6fa8c841bc592754552f61078a1def84cc4f034fd69260ef0fde8aac56f798fff862a4d06d258690c061e9c042ef64ff877a74036c3e70eef87fffe2d9595722fcc9226dcab3fea4b30fda9763808dfc3ca2ef2f03801c06ca5bc8796e6db719e9d7377b09e9c8cfebc3d819bdcbb4d25607f23cac03dc3533c185bbf6e7c3c92c2f1bd4f208b2a4f79b1a2f30c298f0262b0e14cf7e035eeacb4a151fbf94f97483ffd2965cff1d5a9797dae50905592c55e4d375bcfc03162707f0fc233f61ad699ea61096017388a3d4810490f0d57236563773f515f4030220d32725e2fb7abd99b347c9c4f0bbe5ed38890b8563930bb604fa0750633400581f02ba2e2acaf3c1179c390a1abc484f50b228c56f60b63c671dddfe293f79784902000000000000000200581f02e6fbbc5e97312e30a39045afca7209bed89fc9ec0b045cc19e0951af427d490a000000000000000a00581f02a17589d58ff2aeca042bdd444aeb51001c035fcf64451299517282d867d74903000000000000000300581f0241784fe070a148be31c63ca4bfff2632ce154cb8a1e7c69956d7266cbd9a490100000000000000010219281103daf780342a7ff80252e19f7cb4cb442fb72ff4e71f97d9e225a2997a7aad127603e4a323ee38a0cde6d92cf678d03ad6ff793a3e585fbcf4f56be674b8dbf76a71036fdf6733aa93c92d9723832be02926a6446f5c275ff43077ba83d91074af74d203247497f3e19210e8a7e0b6d194b14cff5793f773e85a2c64140aaf548b9a3fa50219ffff035c7041e31143a2c8d476a958da48e09528800e1ccec7d6f8da50e4944ef094a603ca9cffe80be9a62dbaee2290016303881b577977fed95200e9b3974a7ec33cfa03f09de587ce12d13a5bed6cd7f239606ba5a348681b319462c2534592ac5cf2750219ffff037687fc3182acae4d54bcd51ce4a2b9009c01bc1f689bc4708703e284283de46803723a67a162690a2bce427ddf3020c9cd2b15c781e0a3cb8af9b08c43e6a274f500581f020786c22fb06f0b7797c18f68ab0014e0c0fc8511a7d05b7faddb4962c9b24901000000000000000100581f026c37b6ffc6cbfffc031d6288f0e615357bade50146a056faf296081fa0725818654625d34f49c34759b7e888ce77de9dd34fec63d63495cc00581f029efffd0518bff89be9890b991f7584716e2b94e780856a0105abc665f90f581864d9ddbbfa18b9047ad29f8b66b556da8e97af1b6a57e39c03c1f05765842007c32315177bf784b02ed4b3af8fc56ec8eb368477897b7ee8a00219058c03d750a6463c46e4516a5e22b886a0a47f685581b4e55ddaf0bc539087d1e16d8c03bd57a4e296d250ac241464fe1cbf33fc92e512ccd71ced9a09527f7eefade15b033288f5609ef60287861ea513ce463516f42de922b4f5df8b1e6dc94edae4888f0356f46007d4cd8cd3c9c102f6b48a40ddfd7fc243ecca733176f65ebcb2f35df903faac1d43956ef7ffc5189ae8b8c7260aed352504f5a5c6576fddc6c31b396a110328bac45fde819e61cea467bbea0d0a4ba46f24a612f0944e2cb91d4b63e3550e0308777e90d688a860f5f13ee10923249fb047e96264c5a6630bfa5e83173e95c403df0dc3690b982f9de5cc61a656df134f0088b854cd4ae817e808adbffdd1fcfe03737a8d2d9ec28abcb2c416487ad9d45fd9452e878d0575f6df0bda6ab32939b103c21188263bedb37ef98c68120bce6dc83d4d81ececdfe4801849d06502378cbf0304d4d11568e23ea37470e1ea8745272d25c7a1a0a883d17254eb455a3112a27103f570de133b622b0ef814577af82fdb07ba649569abfa7c4ef2341dc27e25462a033c0e4747be38ad883c395eca69eb5ee6bc9b95250fb02a60378e2cefd2e70d8303d71c8ce33de6d4785ace926161d56c7a8e2af37a805c387841d6caa0db555a9c030bb5f3f5aaeaeacc577eee6211dec5ef9567ad3e47f9afdb1f0d4797813e2c230219ffff03628d6fe1980aa72d16a51cf937a26e91ddae857e0f3f4256a45b877fe743e68703e23910c1eae9aadbc8048966e45d6be0616b4dff9569885f86662f76f859c6f50342faa9470741ca4d72a464d5f54e7ab6d35a22fa5aded737c6f6255cbb2926b1030c2de84cbc0cfe3cb8e0985f5c110c8e066c6f4012ecbc47310fe1df745e3c4003ce1e6b24010821c1daaf0c83561aecdecab6bd7cf8501acb89acad2b514a893403953357fb33bf21d3c8f152a0a4a6f47a1856c562f607f0c939c7ae7ea61fa40e03b33d51dd65d32315ec21934513c0525c5c1cc131a3ff9ae316f313b2043b282a036a4a34cd76286f80ab866b7c69e6ead95c3918b88bcde69667009c4a1768649e03f1027b6c69a3ab28b68035432e0198c89738ca04d70e236dd8b6461629e4030403b3f32eb481f5c312b9574397585c6941d3b9307b0c73517af9ba05d2e19880d20384a80e6c94bdc91e21d774b9023d03a84d6f41b283570a5d207f3612aa75228c03c7a50a30cfa8c8ded30286ef9ec3427a43e7fd5e6f7417ad1fa4c728b35bf53403c2ba4a19069195ce3415bdacbccffa167a0c4f4db339958d34a0e45b0f6a69b3036192d2b33f88bb72d22b3f499a2e1516fffd586dac702cc9426b427ce2c47a030219ffff0342d83bb9e48927ef091ac46a7682543e4a35fd824d74a098087cd0f08701a04e0333a8698020da49984d69c02698ea50db1ffffa88f1672e443a66db14e1ac6d5303f1a677d788361ed48d9a1982cc9fe25c457b30bf76615c98d8bd1bd95b9984e803fa0cbe7ff2b17c10e59b39aff2b3c70d6a313af212c6f733681c5bf88979387b0219ffff05581d029a9c04d9e60ac538797af89e95bbe7507a7c6d89ba5c2017c594e9030f014745b4493a7e40001919dd0219280005581e03cb96039dc13f50177c170e882e917e234a16d87bd9f4ccfca89242ea100c01471934db16a28c00033f7d83f822661de8b9919a21d7153c3284d5511564f1f173818d1090f7aaca39032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e032aa3b439abaa71bbf94b897531393ba7a74a5c288abb59e1e8045538a007011bffffffffffffffff021950c9032d39f30d0cda806eec4d0914df96db3f6dd0e539d88d3934f2527484ef19737b035f07ef8fa8501df9c6c285eeec6f376fa972bc819fca4a3415fa61a9c8792b7403f1c78bc707f8b5f53f68086ddf267cf4e1ca7890a886fecf73fd60699cf77e030219ffff03047fa9228ed2c604084fe540ec245fc5862b3a8ebc2e0bd4d285cb7306c14c0e0219ffff03e178cac1689024519da3a017df5520ceb59af39c51ead6c20287121497548cb503bb0f758193befbd336fce5ee05fe0ba3dfa9fcf67981172534f8255d0a77730f03032b8dc810fab1bb8cac86735f3f7bd21903598bbf06869c14ddc9d5c040b48f03904ebb9122b579d6162fc477346ec09e4f26b35c87fb3e94556ca6d21b35c36403e9c366a8eed13adaffc5cdd9ca6bba11f51274071f6ed9174e5d77ff504af88e033af0f23de0da8a29b8f4cc45146fbfee181514ddd270901cb4c52185408cb904037cb1afb81cffaf9013434ffce43de29e058863dc153cfcf9c2793a0fa1434ac403a81f38c4ceb0c5df0f82948e5adfbb1147fee369d245a571f40cb9c95126758903858503ad368483f4e3561e8c56641fb84c425b2eb0e8c82b6e648ee221e2839a0367a202fd7eb84d1a7a65ac2cac68218e1a10f50edb248cad1aa94d4914ab18560333b6734fd5196ed8f9fe7183b9de957341cedc6e2d2654c34104021d95a3b28d03c12a72cde7a7a9d783ce2999e2fc2a8fc518d64bb3028d2ce9d4466b93272b990219ffff0380f3d473e266601b071bbb1b956e850c75f32d8fcc202a8ec2b51557029989880310e39a534d388b2295a007a634964bb4de8f2906c7f4148740f50eb231f12b5b03530c2e0d02e28fa9fc83e1a330f883eaa0e5512776b2346c6cf6c0710fca6ded030d7109ff78b77258243f85c88ed194b245f4a49dcc9b0c4cd463be1fd0d60ec4039d964af205dae8a45a14b724cca3c2d0fa18b7cc64001f45854db280823a9a6d038c653590770382440e244bbedb122e3568413b1b1b6ba0c224ed2aeb9e1bcfac03c0b504bf4472a40729390f864214e40b1059ba8710250eecae56cfc47eb980d8033c809fe8e6da1a65dc17ffd4044082f493a335dcf21404346e02b9252b63d9540351f5d75a0e0a8e656d7a8a6a0494c57a5d5046ef01e28792315ff1b460c8c78803e1cec0102c531a67e7631c2657d41c2c34eb53985379ea43baa1c820a8414c0e036875f0ee334f0503b47486fd4005a317b828fa61d5e22c0165d8f9b5273dc671034bdf1bd928b140b65474195f59c4639ee1e036cd35fa49e891b9be7d09304b8803ae7a15a2f5ce3904940208d10ea422c13696a4a74716dbabc08693e1e8622eb703de259a2aa2d700e50dffffb250eb072f75a6744e8b16ada9ba95c447b188231603489032c68fc957a1a7c49009ba8efeea9f486921f11eaec57fa9955c51021490031908f396c52bb6a08634ecb2add1b4c6cbfd1c2538d3c7197bc24dc7a83fd84403f67767d85dd1ce0d0cef7b4d2b00d3d05d64a858a8da3c726a328e657ddab22903dfd914925d216c5b7b85cec33ac397cb57567949b3b2892b93bf4205b7513c9203e7136ef0d2ec888260f5a126d3d401c3446c22e86d45d63cea7d466b5161008703888ba9974ed7b5690261fad466469529664cede4b25b77e54279844c2c6d8f94033aba8ca94c7fcb588d0ceb2326e609de638479718473d046c8dd2e93fca4a9110373735680e99daa5238758375ddaf38d63f71e2c654805c2f1cd37bcb5ee2588203d194e7e36cdc3655b55f74c6479cf4338c907ee2a405d7f458dffb2785cbf28e036f9a18b513a5009914a061e82864f5288cb7c401021f7a82d4c51d68a408e99803f5ee61441cea16d0b8b7a591b0109e90ed9058b9119b99559ba49f8f6b9bed4c0306ac840e97fdc2ea9e0706f5e6e9df7b6bced64de6781f26dfb5aa83cc12506a03dac696049fd23d4871e0f6dd3b9c2a33e5a93d846caf4ae40d0ecde5487c9c1e030d4c8d7ab6841c58310304a1c8879bbba088c6eb734c4cb460918ade73c42beb03fa3ec5e02d06bb431a8e96fd995648254789b0f4a341e55253591e76b28b9bba035fbf35eb9583cf81aadccb4fb2e65dac98e3f4a081dfacf0c53c551942ba5e7503e5dc284a201f7dcd57c00751fcb30323b408e07d9545542af6ce8509a35a976105581e038f6cd5629b2fad476fea153fd3933788c736646151860c3f1fd5e51740040205581e031d608986d7b7e2c65968cddb35b4e88318963f7daa2b53c9e0a707f2600c08490209b43a9159d75fcf0335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e031a01a5fa01730cd108a6f14ef5986019c08518114f67638167d92b1ef007011bffffffffffffffff03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03a6d78da4cbc2fd95478aafd48f79a375588a3b9c38e6357a7ff2b8660007011bffffffffffffffff03c5b3627e48a601f3aeb52ebc6e596b6eef3418d589a6fb94ebb3bc2243b732f103dcb3b7b36f0ded358a0038d517596a9062e14d778653c6f4281e834dedc216a705581e031a5f9cf1c48f080fd5e8e1be889fcbe51bf6a1088cb2c732730efe187007011bffffffffffffffff03224f783df960267ab2a4c2b6cbf11a212ea63af5ae3cb7d88134ca08a193ebc3037c0c3762c4c479f5e02e9a0d20ea14ad4fe906f59b9ee04d5bdbc1c2eed2b410014103021911cb03619effb31ec54b5ec1d858503a1ff86873cd7b9642a75f4c2ef0d764264069c703e69ab4c89a3f2c75e29697bca248dbda09b49a24d14f613c25b2a3317c0716b20385a9189df1db9aaf5978477307244156ae797d31b86af23e934d5081383760320335b0f7584b8980fc6431a892cabb219b830a3edf6d68207d42d750dbd04f0a70039a31a316eaf768ed44559568b4c183ac3cec1ed0b6f8a571e31fbce0cc113327032919a3355a0b68e00021b7f0b8790c392085f481f1c47759d0707d7f504103c403bbf2b119878f7fdf21e8a1a3297a56d5ae48c2487b35e62b2160e1e6dfcd8a220349fdb1a51b3fb0c0497d590da8a85e0762bd5678328b8fc59dcdedacc43b55b803d711a2d0fa12adfc279496a5c04afae458dbf04be9295226b55c483cd25d502603d6878b38eb5961f2f80bc438f77e5667e8cf5b0db87de0cf4e8a383984b8463503348328934333215af2a855675adceb1dc8c8632254480cb25e7c95f65856770303eacf7b74a945736e1517fddcfbfff65bdfd124f16f3e534e6dc92f0b549730910219ffff033ac8138172f47d6c71fc93f255a8573b0d40dc90a30caac999e1e83ddf884c9a0339d2b1efb2e7f06eb9f08e44b0e6feda1b69404c480064fae4bbdf825f6d4d6f031ab5fb6b990fc156a4daa647846956aa800dbeb7d549f8b242217b99e8c6f2e803a351a37bcdd1427a05852f913ce135d15b8aee6761c3305ba5e46f18ffe310bb03e446fbca46088845d92252ace6088ad354d91add59abc5e5cca79eb3fd58d87a0219ffff03e170f2f72b20bab6c66dfde1da6e7808f9e2e941c212cb3f2d53bc55d1196324039bca4ca0dcc36960aa7efa7c9945d5063bb2f6e85ffdec3656b9324f391d6feb030736736cc7ef6b154326bf9ce94f8a4f6a982d6d2b8635ec5893213d17aa69b303ee5a991810d9bb0110ecc9fc0637de8312d8eb2fad96fd4dd314f578a3855f770219ffff03fd88a567a91043accced519669a3446240ba5b9d656fc6606df38f26c6e4be19037874b6392915ce8ef30221dc87305254f3fc3615b476cdcf07f1aa36fb73cc670219ffff0379551e7336397e73b4a6c66daf6cba8234a48849375dd5f4d9a26f448d3801b603e6242875b0b31765bbeb00520f35e78a099544714418473db0b872c1ede3076f03395e9c48f92b92ec185af03c2792f45bc86c619479a7f7df77038f6de9d1c7e603f014d32538c8730d0f8b9846447025ee47302cee73abbfcb0bf45382e8cae1f30353ee421167b24f77cc9c9163eea69c35a917301d9081b50c6f971a108975fcda039e18292b863612b3a0d7f71f76c01082905a6745dfece9623a746eda5b18db13035274eb1d0dbe6704520aae99e1a9631a62e47adf91008b37b741c8c324942ad0039679fd48817392da7eef8aa01db7c420468e5e701a5fad40bf76c66cd718b16c0319658eaa22aff41657efd799b8cb8d011aa61c05d4d80f95b602f3b8bae9a6900314bfa3777272d3e40d31217f96974cc7df56164142bfdc4cbe251918a1950e0603dffe008f9b55e2a7aedaf0f396e2ebad0b081af37727f05d781f007d03e3b0a5033ab5defae0385ffcd2131c4362abe2071826e041657f58a985e6ec5a20e082fa032dc4f0fae7cb53b50ceac2594c6371c468942698c18f01ffb7c03c6181352e890306ed1a973436738c1b7700179530e06caede491dfab2e55acad25828daaa61d603739f36ee76eab848baa67c67a4c66b8d758a59932abbdf27b89f69406560342103a436a21630e2c989e38c52c09387cd2577d31c63658a7e62b68b5c3e1b3a81b30390a756207610d7f6257a6b767563c12756d107d065603d6115a8114e706597270361d73c60e683298822ced2b47bcdc7ab7517d1a30097eeac7acb6c0c443d41d90396daed3c4c1a85424ca408be856949dba5b8219bcac5058292359fa4863753d103d25a954333a9fc6bfbb662155b03dfdb633f996939cc6e37d116760b0c3ae7f103134ea17b6e17892d9dfd83e56190a47e2d34caa8ce567c6bd3dd9f5b7353bdf303f68caa78f32a2c1df2941c9e03c516b744017055da80569d436403e681c4134e032364c80fd5ef9fb1c7fd8f7a2f2b9ee7aa36c9cd1e8b79ccd0610323392da8e103f3167c7ec060c7e8e4d4209142673800a2beff378cd85d5c5ab9fa44ef23f99503ad833424fffba4e1e41d704dd36d15d0e557e78270bcbac1d46629eb2cc69997035c6b68124718d0f0ad938e089409526f2a61a3c62bdca0f15ba23d696cb9c3eb03d284fcef3067cd8175a322e9d609349c9237e638b67c4beed8f928c1e119758703b216b58f008dac91c50ea094aa4292bc2a149274d410f55720f4ebd7540e49dd03b5db757917e7eee89e74548911d0515bc686e49c2eea501d171cb0359c69f48b03fb9ffa6e4cb446cdf0fa328bb4b998ce480c24fd9fe2507df65fe11cc760111303090a7d19e8c8ebfb60c8a15477949906057c79ed4d11dee799285592dd6d971d03959252301e17b817228bf9ba6833eddc24c4077bb10ec5e2cb3e11f01f3b6b3d038fbac04f5c01bdab9fbb3f8955a3cfb43356d0a098b5c24ee37d069024cccb480380457dd3702d1aa19c27ad6d333e4e446a05f8ea608cdf588d2f5c7336ca3b4703dd1d971baa9697b8962175d0d3d5897fad93c9129dde88bf91896fce83bc39b30372242bdb61c28233c05155a50db9d703e20867961692f97242a2f3ea71ed5b1a0365f38b42e793bc7d9e3546ca820970fd8defc5b62c4aecd4cf205cfe58116b9205581e03b66d91f8635919e84725f61e09f44d36e8cd16c45dd605d495dda732600c034747e2c05e2f053b045916166080604052600436106100965760003560e01c80636ae4b4f711610069578063803ba26d1161004e578063803ba26d1461015b5780638fd3ab801461017b578063fa461e331461019d57610096565b80636ae4b4f7146101195780636af479b21461013b57610096565b8063031b905c1461009b578063168a6432146100c65780633598d8ab146100e65780634a931ba1146100f9575b600080fd5b3480156100a757600080fd5b506100b06101bf565b6040516100bd91906115b2565b60405180910390f35b3480156100d257600080fd5b506100b06100e1366004611075565b6101e3565b6100b06100f4366004610f90565b61021d565b34801561010557600080fd5b506100b0610114366004610fe9565b6102b8565b34801561012557600080fd5b5061012e6102e6565b6040516100bd91906112dd565b34801561014757600080fd5b506100b0610156366004610fe9565b61031f565b34801561016757600080fd5b506100b061017636600461104a565b610331565b34801561018757600080fd5b50610190610476565b6040516100bd9190611268565b3480156101a957600080fd5b506101bd6101b836600461110e565b610593565b005b7f000000000000000000000000000000000000000000000001000000010000000081565b60003330146101fd576101fd6101f833610700565b6107b8565b6102138686868561020e88886107c0565b6107ed565b9695505050505050565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561028757600080fd5b505af115801561029b573d6000803e3d6000fd5b50505050506102b08434853061020e87610a65565b949350505050565b60003330146102cd576102cd6101f833610700565b6102dd8585853061020e87610a65565b95945050505050565b6040518060400160405280601081526020017f556e69737761705633466561747572650000000000000000000000000000000081525081565b60006102dd8585853361020e87610a65565b600061034085858533306107ed565b6040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21690632e1a7d4d906103b59084906004016115b2565b600060405180830381600087803b1580156103cf57600080fd5b505af11580156103e3573d6000803e3d6000fd5b50505050600060606103f484610a65565b73ffffffffffffffffffffffffffffffffffffffff1683604051610417906111f2565b60006040518083038185875af1925050503d8060008114610454576040519150601f19603f3d011682016040523d82523d6000602084013e610459565b606091505b50915091508161046c5761046c816107b8565b5050949350505050565b60006104a17f3598d8ab00000000000000000000000000000000000000000000000000000000610a77565b6104ca7f803ba26d00000000000000000000000000000000000000000000000000000000610a77565b6104f37f6af479b200000000000000000000000000000000000000000000000000000000610a77565b61051c7f168a643200000000000000000000000000000000000000000000000000000000610a77565b6105457f4a931ba100000000000000000000000000000000000000000000000000000000610a77565b61056e7ffa461e3300000000000000000000000000000000000000000000000000000000610a77565b507f2c64c5ef0000000000000000000000000000000000000000000000000000000090565b6000808080608085146105db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906112f0565b60405180910390fd5b5050505060448035602481013591810135906084810135906064013573ffffffffffffffffffffffffffffffffffffffff8084169085161061061e578284610621565b83835b9094509250610631848285610b0a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610695576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d29061149b565b5060008713156106b0576106ab8382338a610bca565b6106f7565b60008613156106c5576106ab82823389610bca565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d29061134d565b50505050505050565b60607ff0ec779b0bcda6d84abf99ee2c67647d1100ebbb553a9c2d1c2ba1579592832c8260405160240161073491906111f5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b600073ffffffffffffffffffffffffffffffffffffffff8316156107e457826107e6565b815b9392505050565b60008415610a2b577f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561084f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d290611407565b60408051608080825260a082019092526060916020820181803683370190505090505b600061087d88610c09565b905060008060008060006108908d610c10565b9250925092506108a1838383610b0a565b93508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161094506108e1878483858e610c76565b5050506000808273ffffffffffffffffffffffffffffffffffffffff1663128acb088661090e5789610910565b305b868e886109315773fffd8963efd1fc6a506488495d951d5263988d25610938565b6401000276a45b8b6040518663ffffffff1660e01b8152600401610959959493929190611216565b6040805180830381600087803b15801561097257600080fd5b505af1158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa91906110eb565b915091506000846109bb57826109bd565b815b600003905060008112156109fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906114f8565b965084610a0e575050505050610a29565b309850869a50610a1d8c610cae565b9b505050505050610872565b505b808411156102dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d290611464565b6000610a7182336107c0565b92915050565b6040517f6eb224cb0000000000000000000000000000000000000000000000000000000081523090636eb224cb90610ad59084907f0000000000000000000000000e992c001e375785846eeb9cd69411b53f30f24b90600401611295565b600060405180830381600087803b158015610aef57600080fd5b505af1158015610b03573d6000803e3d6000fd5b5050505050565b60007fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000007fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54828073ffffffffffffffffffffffffffffffffffffffff80871690891610610b77578588610b7a565b87865b604051958652601586019182526035860190815262ffffff909816605580870191909152606082209091529290965250902073ffffffffffffffffffffffffffffffffffffffff16949350505050565b73ffffffffffffffffffffffffffffffffffffffff83163014610bf857610bf384848484610d1c565b610c03565b610c03848383610e12565b50505050565b51602b1090565b6000806000602b84511015610c51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906113aa565b50505060208101516034820151603790920151606091821c9360e89390931c92911c90565b6020850193909352604084019190915262ffffff16606083015273ffffffffffffffffffffffffffffffffffffffff16608090910152565b6060601782511015610cec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906113aa565b5080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901601790910190815290565b73ffffffffffffffffffffffffffffffffffffffff8416301415610d6c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d290611555565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff83166024820152816044820152602081606483600073ffffffffffffffffffffffffffffffffffffffff8a165af13d600183511460208210151681151782169150816106f757806000843e8083fd5b73ffffffffffffffffffffffffffffffffffffffff8316301415610e62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d290611555565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152816024820152602081604483600073ffffffffffffffffffffffffffffffffffffffff89165af13d60018351146020821015168115178216915081610eec57806000843e8083fd5b505050505050565b600082601f830112610f04578081fd5b813567ffffffffffffffff80821115610f1b578283fd5b60405160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168201018181108382111715610f59578485fd5b604052828152925082848301602001861015610f7457600080fd5b8260208601602083013760006020848301015250505092915050565b600080600060608486031215610fa4578283fd5b833567ffffffffffffffff811115610fba578384fd5b610fc686828701610ef4565b935050602084013591506040840135610fde816115bb565b809150509250925092565b60008060008060808587031215610ffe578081fd5b843567ffffffffffffffff811115611014578182fd5b61102087828801610ef4565b9450506020850135925060408501359150606085013561103f816115bb565b939692955090935050565b6000806000806080858703121561105f578384fd5b843567ffffffffffffffff811115611014578485fd5b600080600080600060a0868803121561108c578081fd5b853567ffffffffffffffff8111156110a2578182fd5b6110ae88828901610ef4565b955050602086013593506040860135925060608601356110cd816115bb565b915060808601356110dd816115bb565b809150509295509295909350565b600080604083850312156110fd578182fd5b505080516020909101519092909150565b60008060008060608587031215611123578384fd5b8435935060208501359250604085013567ffffffffffffffff80821115611148578384fd5b818701915087601f83011261115b578384fd5b813581811115611169578485fd5b88602082850101111561117a578485fd5b95989497505060200194505050565b60008151808452815b818110156111ae57602081850181015186830182015201611192565b818111156111bf5782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a0608083015261125d60a0830184611189565b979650505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b6000602082526107e66020830184611189565b60208082526029908201527f556e6973776170466561747572652f494e56414c49445f535741505f43414c4c60408201527f4241434b5f444154410000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f556e69737761705633466561747572652f494e56414c49445f535741505f414d60408201527f4f554e5453000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f556e69737761705633466561747572652f4241445f504154485f454e434f444960408201527f4e47000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f556e69737761705633466561747572652f53454c4c5f414d4f554e545f4f564560408201527f52464c4f57000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601c908201527f556e69737761705633466561747572652f554e444552424f5547485400000000604082015260600190565b6020808252602d908201527f556e69737761705633466561747572652f494e56414c49445f535741505f434160408201527f4c4c4241434b5f43414c4c455200000000000000000000000000000000000000606082015260800190565b60208082526023908201527f556e69737761705633466561747572652f494e56414c49445f4255595f414d4f60408201527f554e540000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f466978696e546f6b656e5370656e6465722f43414e4e4f545f494e564f4b455f60408201527f53454c4600000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b73ffffffffffffffffffffffffffffffffffffffff811681146115dd57600080fd5b5056fea26469706673582212204cc6b7a366a0a6e22a04d2d8d2b0410ef6d76b5c47d78862c5dda3d6644d33db64736f6c634300060c00330605581d024a44b4d2b5f6d242dda9b7b806263cef66b2f139670929bb28fc7fea0701191616031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d0248da54ef2abcff5a6301b47cc3692cc096a0adad40101738c69779e707011bffffffffffffffff0219010805581e03a0ac152d3ac0c9c9c5005c9d692bd5ec77014cd36d9486547a8ae0e5800c044718c6b04dbcde8303201700f92a763e27560f6ea05eced4cbe1d48deaa7943c683c4b4f49cb13106f030bb2972709eee5ac99e532f63c7b92c44d818bb26438a4d42d25522aeeb170c505581e036c5bc4dd61532c76ed680ce6a453319986bfa089b6f9be89f1f79574c00c02470305d37cf544b805581e035f496c54a63e3e6452326d58130075258bda3b6f8cc4c367cb565d26e0040105581e03ad44e4916d57aa025a1cca3fef327c942a8ff7d793403bcdf72a5912000c024717a681984510000316c07421137d6fca67dbf763e0cc23c12a58498d88d94791d2a6c260c562bfa005581e039e4aea363c26f33a85ab6a01b8b36e057abd6eef33bbe3118a012cc4c00c064682e7c0c427e805581e038b4747193ef8e3a8860fc395cafe5c98a3f0131092943d5219e3431a300847038d7ea4c6800005581e03ed21ee4b22c2d91a89ee20876c15c9f2625971db8ef0d1a8976c4b2be00c01470128546a26c40005581e03d16dced3be69b2b03f5944d1abef9bda9e457c9d4deb7453efb8eafea00c03467076e2d3b0c005581e03fe59d2729a8994ae4ca677efca10032142fe70091fb49ab30acfc281e00c024672560413755003eaa13b8d3ed72aef2a071a3d3b532ea9ad4997230aeee9d8150ef68f5dd83c8f0219fffb037a8eb0b632333a983e1ec72cf87cb94a1ba01a6536939b39d5b49a5760d5208c0219ffff039883c3f5fd0deae58b6cb2f803705e7132e9d7cdeb797d107d06d405daf14b0903dfa7b8558495de32b2331e090697b1adc625893c04ab577f183f1e19bf56627d0338d506235bf8e4418ce8cd46b5878e23e8675419d20d46c5054b39e9889e2d73033bd7f87458515c1eb52dcc6ce99850f504917a516ba538e81f18308925f517c103066102299187ad72a054d6348ef635fa6a2d37439369ebd4d6d552f2d444bb690219ffff03254b07a5fd07493a2e89d1b23e257f48f7a46dfce274d3817bf933150a1818d9032247961dfe338fe8e96f8199113d8c2326286638e35459db0611782c44ead33e03e95210a8ab1550150cfc91678f169b21f4db009a25c66992fa9c15296988d212037704e467d064bbdaef050ea44a079924243cb8919ca80fd54c2fbc0c47252f610219ffff0321e40261a51585e26d5507bb97af999ba3718e5821689366f544d45e66c329ea03ddac14c4b82b015c165c5dce1de1d636163a90f09097ebf43880c404833f4177037de8ab95cac8b376003f50241a0c517e841f4a5898dcb3345f61292b6f2e961203532e027b7022b1f24b39933c7a8aa67103c06af2441ac8617952a6b51454c8b403927b1f5bac72d18115ded75669239206dcbcdf29a8ce7b53d2ff8681d327d15b036c12d2c36e99bacc8620da952292a1106cb4b0d72c76c0d56aa38a8c1f7a781003aeb6e6bf510802f54e973b604a43b214bf0240461a969fc9907e0eacddbfee0f036f0a1b28655de1bf4969f6e6a1bb4ab616b3835cbc7793ee2a6151e1a6db78a50374f71af67e7501439f85a95a125192c5810018cc708171c6238a420d1d87c1ce0334b813fbcdde8bf4e0da820125b3789df8264545489d5cad28528ee74690c21803ff3a0a079d34570754574c7e54325bd603fea96bb63a50a783881b7f6c4263c403d0d6ef4c34d633ae9bcbb0c0544b020f3c11db6f8ca7615c7b3ba8a2158bf932039f582585a42d74f856271f2194f6d6a1a3d1e54d26448c687445175425d4c0750382b611414b6241d62c59e2bd55fa2d9c633188e68288ce4c2b68b87660b0391003eabbd2fb1fe078fe45b0449a475c203ce3fb0ef4810384ed7e2affe6c81ebe540349a266af2ea0e2505061d871aa85d1df61ceb4d696d1002d8750beb22ac5c56f0379ff54850e43be521728a7899fa5a2c0b1b7f8257e886f1994817bd6dce4f34605581e0388acc094486627516a705362ad36981f1156f320e9271e0ef57446ed60040203040183bb8df58208d9554e6be83b8862e5802844e531a79c6b98776b527d2bd205581d02adfb67b70d7113327b6fd6f46b540c5e366d55596e0994662ce21b70040105581d027c06e73989da14c5d1c1b3299ddd8acf2bcc8639dc00738922fe6d1f0c074758e04004a2986c0219040405581e03f3094183f9399575ca26db2f04b86f5c80d5e97a724638b29d32a209100c0446a0c3df9ac8d005581e03be6fe6b867becbfeb018ecc21a2f3ed0ab87432f6800ddf6b4a3f06c30040205581e037edd23239726f9e309c203cd2f467a680a3b5bc4dba7aacf66ce39c2200848016f59c08dc6800005581e03525b0236410f469038fd16ecd0e1de6fd426e206df41773ddeb0750cd00c0147165fc47cd1fe00036c72585e8072e9aa577ed58d71766919349067b85bbe35453605f61bee805c51037eac025d33020acff9a54f761a0273fb9e644462cbb949c9976e67216c3f5f9705581e03dd2a5af92c9c73cf5e4a9af0b8bd4fb4374c76d283e59f649994c087400c186148031bb655191942840219d4bf03a896b39cefff6a38e756a1b66ef29da3882d382f8992f908aaa75b977745653003aa498dd6d7372f40ae9fc0c6e12d1c8efc6f3056e0bbe7c53541b3c136d3124403ec40f3fb3c6028cb66bc9498c063fcdefaebf1991e47ee7dc25e80e3b9ab233203d13a72cf096b09e371ca8180cd183d8330098d28712ef44f695bd5b7f352b8f4035a90821fbbcf5e9764fdab3e873e382749d2315fa615145b6083470497973157036529c1d96520a9d40a8ef69b7cd7a98ed81db2589625111ba38edbb92076869603a0b6d09335933f219a48ec63acbe419dcb538d19e7b9d76cd0db3eac2077be01038b3ad6e25e586fcdbfe8ad0dfef1edfb6f549f83b69d75b6d87ed24ac6efbc5603254da7bf17a8e759b96dafa62bcd5912988eea36a15420bf52a6312d826ceabb0336c7a8108c2faed2b86cb77636f2700ee5ea5c01b5748d65df99e904d5c44fdc033fede1300da80780d58739d735fd431b8b918f5e218ab44dfb278e8af589cf320219ffff039f67c752d74afd48022a524ac8836cdbfc8d9a1016b130cf9cd19376d5094f8503a67cc7b63f128efa05f3e12af82b55aecc989a7c28c1063e7c6d25c8d65c28ca03184a7877738a289f99d65c7200fdb959f21652a417fb70cb289ebd44c00851d503409fb2c1909f1db2f029c0aa51930180f5352fbcc43dc0c644ae151601f66c16035f3701a7dae9831f824a850d0a69684cb7de263c148287636dc07a5801db33a4038b3fc5b47a7f7b64f38faf1d8040fa0cb0dc02b87010c29d274c20649a0f2bde03e229da8952de9158474a2c687148d52a94c5d43dc327ccb32ecc884118406b72039b3706afb30dc2fbd2dcbf9cf78d4ffab17abe8ac2677e5c7c592495380103df0352369c4fe23059ac5a7784f9780fc7455a382d333c29540aac6f0620ce1af2dd036bc28e983e37aef18cc2921b5593fed456d01ff80d82d1fca2cb4e43517cbf0c03f4000fce0a581d09b565e8b0dee665e7ab6e6c84b0153f89f2b3a75f3c647c0603c9d0e1df8c0ba2b3729ccf5cc2f3f590a68e0a62bcdb0a5338ec9531d03c7d28036068255bf0d7a57ae6bbe12088f2cf9cbe07f555223f2495802ef1fb2c8ed2f50219ffff03066e07fc6c560db180d42b5b8036362afa0600935789e1f3d42dcb0018e3682a038423598ae8962f2e7ff044e36351949649faea9ead463e9142235fed576e27ef03c92ae2cac0c0559b4d27afe343b85c0e35d081b0420f894bde594ffc7a3665160394013ef18d0e2265f1c3cf666c94a40213eab7fb1ea92053c6650ca9714ce87f0388daf78ed0debd7d835029d0db09b0f414c008a098050a42b59f932e178a1fcc03b481840e176f281d456960e2f8ff424fa728eb1ca0311dfaefa74b9697f662d203be195cc89ad7048f2b94690c41573b7fbef9477eb53a9150298903578ffdcb300316a6f519a966facd1cda7d53072f4924b07bbf23124b638ca0527d83e41125ce03fbad13c1fa344e20ab5ddfedb1fa03bf52d07703cd18bf6d324cba2abb7325370335002a45e5cac3ebfd071820a6ce0d1ff191f4ecefe0cb3c62fed92c67874b6c0398b32dfe132ec9d98ee9c63b0f1ef763507e6035d043a1359bbaaf0bd0598be403787e0446d6d3c08ee214c43323b383ad544e964ac392c71c8a018407af9021ad0302067b85b155a0db1aa3450dc38a44830411c3ad41a144b4e30a6011737c79f20219ffff0388c2b684ed52b373dcb90d246e470ea1b7387fc37390c794fbe122c44e93d8830361ced2dfb66df1c16d84692c70fb30bc1a32e37259660f172375c5b8d2066f9a036cd0c3b2fec0d7b447adfd4d7dbacc30683bd6f55426ae2449ff360264f76da703fa6a672ae1f9510213e8f8c5efaa5f9b24beb9b31ef3f9f38c43b451c4c870c30219ffff037a5f145401afffe72a0bb8247dd4250c4543a428cfbf0a474354876cf5321c670341ac28fa38b1b660c4f8070d27e53becd9ecd48e968f0579ed756154f476d4340370c9df2613513576055463802bcb7b81f962850bb5aa1452fb89e4b3077690a20390950426053ba78580548d4831996cee958325187ba4b88f2b226e1882b7b2d303c44a1a7c3fe33fccca2b0dcb2e44c13b545e3912c35ca6cbbe01c50fdb97448b032b4424ca18ab5d95cc046b8f98a3c3ca73706dac14da53ccfbacec331ccdb7d4030f7876f66ffb144b08c1d041fa7fff4cecb18f197653b4d8ca0933ea419cb5c10321f74a19a9d08b691ed60e3394d62743d7827c3ca45b72cf89e7c52c75a52cdd0383a38c16d92980044c8fab2835f77f54e1f3b5fc6392e6bc4290d18234c2f209036c07b21b6d35d561a7fa77f190c7b2a08a25894dd3eb4a22ab3588d8f736f712032dd41bf8453addde74b09d52051a58bf6077421781c1aee325ae90471c25cf8b0320a316da4194dc086a7ae0eaf794344aefa1608fb19a1b73971c2e9a600bc103032eaf82dc16467b4051db0243732dc1e567798dbb1b43d82ee83ff6fb24a26a160350dffab89c33aa5af57b2eb5043d6fdda1d744769bf64bba77a667633a8a5cfb03138eb7996f5baec711c47af3116766521a9a652c77cad4c0dc0fb84a3443cbf203c83cabd85c8914534f42fc741a81b036b48cd1b827e7ffc83888db98a596e96503ddd1a5b2620e4efe8f376290313c989b91859601ee5ab75b0254d6f79687c07d03e221250b945603bf2afa82cc3194a8e7623a4b1d6e9f778da32c7332f37a0c0803c0845bcbca6f67e6026b89cd464db69b9bd45a8f6d230f256d611d569c844ce20347cd3eb7d7647709cb07bd514369f43cdf06c59ba3c51c443b4651431a70706903fd009bb90f0cbf6abc04e7e3ba387cfc748966869e3a238887feaa7478ac2db4037fcb13255be3fcc2f94fe3984999604b6f1acfc24c65697d3f165ab0a3879c15031f81dbc3c440f281f74a025ddedff596b2b7a0e0216a1a3eb39e1a1cbeb9d83d03d7f704b796c76b5bbc8bfbfeb59ed0397f0516296c4d85412f66296dc58be2730334c1ff4b229d41f52d7cbe6ab7001c94db1c79849cef989940f8b5c93f31ff9703c9c70627f973507eb1e4ebec2658c8e52274d36b8ca776161f762da5055aed66037e28599e035f5206e5a10728b905f2f04411a43d06ff8461493190bb3084989b03f1f59bbc881372a1c9cd05bb733388826d4b95394db62b43446b2324ef599c3d03d82949bafd6bb9448294f84f666c226b1d5bcb53dd7366fff1790da72a8a0ebb031c8e46a26750cd1471153ef5c6742d2835ea473733ff5dca1a5a1f675f11e28e03432c7662b2a5371a4314df3e998c5aa38396568ff035f79eb8ab7df1ff1c7a97035250cb0543d7a4c44fadd0732b78a5e5144382dc47736a12cb645e9118f530e403e15c91c9a1009d33d53e2bbb5be295950102a851c5c11bc84972703119361b8f03d89db8febbd6dbb7810ca191b67b8f94f938cd3f578db0e6606f9f6d4208a16903363b43cf4657524aed2e5885981afe024d08b8e8229427a2cb88b9b2e8722f7105581e032bd0e3e22d10b8d880abffca1b092995fa63a896223a4f1e72117295600c084711ef638ff3c700035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5031ec24ddcab326164119cbdfe96c65710c56272a8db33d064d6bb4da5582fa3c905581e038f72d40f408437cfa14381aa9d5678dd318d5bd4b74be9e67de50606b007011bffffffffffffffff036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e03f1d3b0c57a9d328472f980541aa4e0603b3452de800d8e76a482d6226007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03eb631ddbdabe4a1dcf0a973c7375616fda993cb989b57fd8838ffc896007011bffffffffffffffff05581e0352650f28d7a8f73c7ba49bcd72d97edf8d731797e5a2728559b865552008470e8c87f785691505581e03ebea2f113dc4688cb9710b2194eeaf0d428c7524c8e7a1197148d4c7e0040203818254249eb0387ce5adb54bb377bcaa4661d040f754c5fe29f307021517346a03fb9cb38f33fc4607158fa4ef8e5037cb16eaad5c7ab482e9bc82915aeb9df85c05581e034b2a88e2993c221bb39e6e45008abf44394b84bd4498496823c098ff100c1147030c06b2ad495003fb64400744ddb74165f73194477bbab43b94bef94f0e363ae06a224c6a9571350349449f3abb8f8224140d85dc2c0c1bedf86d1934ae0d21d0e375ac6333d8a2f00219ef990337e8e318ac9d78083faa40d7e7715ba0d13c909f09f207ec985302e50b9ff06f030142cee0a7268a3963f3cbeaf911612598c402eaabf9e217d70d0b0fdb1b2f2a03677086d2d157930c13e4d71dfd606cae076136d70608bf9af336439c7c09033a03db49716c3ac3383f7a96c22a6a8ec98734988681062e00cb363d0c7a17192dc903fa2ae8891e5f2794cc6a93ae6313cb9f0dd99f84dad9ca93f4735cee2d12b05e03c2a1ae851227cddffb49b9dcb8a1b92b94aa85a3c65f29759e1023895fc00893039deec6209faeccb3aed774ca8ead1b810db726da9ceaed0d3eb5f6bd0aaa403c03cc60d7e8b17702875044df9ea752ba2f043ad010fe12b5945f0503ff27ef08fa0388a5e179daed10ee1ab9cbb51ffbb941220b8bf6393a5b237c955be8b7b8dc7403821acb90b7b3d2b9f2ed8437ea74a52b3488a68b14a43874b5adddb1f1e3ee450219ffff036ef4af6225dac04d47cc7b28d7fda90c505b26afb2409db16ccc14c36fc7b2200331b4d7949a848ec26daa7e813066c0662b7416043248e0496a3c5a7fdbc031bf03d8ac4440b1fede3ac9f7c7b00a8a8e8af11d78ad14e1fb3fb06403538feb1edf03fc2db1945bca5f22d3c1e4046d3517c6832d7aa37e0e2e2816f9fedf2aa1c060034808b2518ff1de7a818bb552bf5454527c4f0c4a8d7faf94f793747e52bfda9203d71a6b7f69f470d368a20fac5f1a50cdd49087d810f92ea47057efc26be878160303fcbcf50750cb564e456fd4c2fbfcfab9f7d9f0035d7cfcaaac7e98adcb846003cbdef6d0716f5c1d295f16318eb8f2c6c367681694384529897c36e1347f1b1d0329a08570f6026d4d1b95913ab6453903b164c7c3e9a70d2c100024103c1da847033956967b5273e89fabad5f1a114ff8f882a6a2b9693e28eae2db9fe457c23f840312b79e37997ef4b981d3339ba2c613e37826278d7908308eb3b12d99996fd61b0337b65ce5c665147dfc023031c07af87dd1e7b43e9c72f3f84ec66e170a62012c0219ffff033ede74392cfaf799b61d19450f6c8e4c74e3bdfd38e279650bb3c1875c6ab8640330a68cb2420bbf8b4863f67ca0a505b13633b5602c573f96a060b94150648ff50219ffff03f3d0fff14d4175edbb12005dba0efdbc4e5a6758a8b6c85186f5b70fc54824450312edb86ca103357d59aace93d3ac83dd397e2b9bfee109426a8f6356a60775a403119e397753f1c5cab455de2ec40d45468bb403d6e36b9c316d78b2b7751f22f80349ee570c0679586a4c290d5b59ddbfc6a0e27b11cba503d387b8e5bb729dd7dd03df08fad684c6920cea1dc57104db37503c6abb488d2378f3d8017ca14a18e96203ec98662ec8a87bfb7a59de7af7d30ecab55ca5eaf430f7217e52714236e7b929030e1453721d237d166ff004bfee56620ce6eb23306ad873191f12ccf0e397b4c303bef756b2ac495ac5703dec4b9d22320255f5e7cd79f0d62d6c8fd4777cf9ccbd03a966e0c452a808ba84e74bc3dbf9ccc7995e3e7317d490f60dc8a08ac8046cd60325c858efe5f91cc04685266280b98a23acfaebcaa314efc4adac30bf9ca073d0035d61226061fae5be4cce3c7a7dff5e5b52918c29af5c39302b2c989e7f93a20d03852abf2f64cf72f820e35ffd8c822e6e2bc33486111ed6fea87cf43da3aa56aa03236c54ed7c8cd0df64d769abf029874f664a0743f40c927e44228469d05367fe03996e099faf69b94dbd52f6b18af000bd8ddaa2656c8a12a8418beb2146212c150314f72f04e2cc9984dc718893b9d907de85671a102479c784b6a3f81d7a40778a037969f1c61f799728d0db36fd6211d9146ff898ff2714769e030973093358adce0396473acc1533a375a65ad4330e3dacc0863f27629f526092e3203d945ef7fb5b03f0e372da1263b17b8c95d37b2fa6faafe6b7a7e2068910f3fc45b0b205029765034969ed3c554232767a9518b90e809b8a5bccfa532105aa6d05dbdf9e511683b603e807c64d3fb2ea3ff353310ea782f2c5d6173330dbbb690f401b5cbc81ee619903fb0c57a00a7958e24771f3b027613c3f0762d3863d225657a5c2aaee670d676203debe4ca4a16d01c71839ad8d618ceb920ca91c899bdbca3bcc6726bbcb4ecd3c03c6526bffbf64b761a6bff12e3dcbe8850c3ca05480ca7d082e4594b8c353c9ee03faedb85f15d4fad953034a1ff580470841493eb6e66e693bb6bd01feb3ebc4250306144d90e0728c8e9b25b15f59ae8d2fd4fb5fcaf739b296bb4829ffcb6a5d1e03e91a6dff4172b03e8eb96a892c43953fb0ff2e09f678602142f7fa9148e1143d03602c8d08709c2ef22eb28f1fb25945b7949b689f1f852760edcb6fed340ffd9d035fdc210629eaa3048a05929480dd34df8bc3f6453e0faec270d289658b43683a038f7a86de0d3f4ac2747ced5ebfbbbb4a7155c2cef94145ca8e4258913be7b79805581e035459e59bbc6ce90667d093e189bc9eed5848418febbcc469d0afb6a3c00c1a00116b3349e8262b8370fa00fb6e05581e03b2b45ea4853e702e0f1e573597c9c722b75e0960935301d0a8981b3b900c01471afecd92900f7d03f44020043d0096e4656057abebd70a14d26271b7c0cb6a0829de4718ecb50f2003d1bf6a9deb7d34f523ef234768244329cd05add9e62bc0eb95961db38236f07b05581e03c569fbbef285b273025f7c1568aa4df55a1065f7fdb97a0cea86cbc50007011bffffffffffffffff03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e0333378d45cdb008c48dadef3bbd1b83201aa8e7ff9c0d6c9b9dbf939fd007011bffffffffffffffff05581e0331b309e9091e68d53797eac88b2781841cffe750f1bba11a49622ca9200c064804009d30e1795eaa0357b198ed1981891e3d42eb9c62c4a1e042ac09489de7c08b26f6267f25d0aa6b01410c05581e033ae7873157d9ed58ece142af4752f76464dbd5aeae73a9853fccfd27e0040105581e03f513130e73967e001ef9ba23b672587e14aa6694273cc7546c572f098004010219982f0219ffff037ada7ae334499b3e31baad231425b1ad360e5ba957e0ebbe7070c643143c8bd1033a88d56e38ae47d5748dee07ca96cace64fa4e3f480bd40ca1305c5e9a5941ea0388e033a8f4ffb89bab0dbf006caff3b92753c2cbdc1072ba3874fc13ff1eca63030b37d3e54efa399fabb837d80ea822b2b2ea093c699c2a897359a8b2d723472d03a8eb62c0c96aec1ad660df7b77f06da6eee4519ee4229d1f4872b83b77902c18039d91fa6f6706be16d8888a02a4066f052b915809b77905a78bee09e07635037f032105994aafce707d295af86c7292b91be33b58059ef157ad185c53ce3a03724503874f13beb553b18647d3ee738ae611ea26c72a413de3e6f9fc4d185070d149d4033ec0c62a70d0ccf51d44c330433f664716cac3c0b1dc0ba8e03bc8a561163bba031ca6034c4f59c170aeab9b2c68e0c341e64a2a04e60cf388d1a73ce924344dd60219ffff03d26740b6cab38c091adbaa83e0c385247cc76f99d770a8b4a1197088a00882de0370c982282465286cc6708c4fe31493ea029c192105931ff1d0ebc4c9d450748003213f1c554ff889bd3ee99b8ba2df94627834043dccaf67d713dd166264bf05aa0316bcb892507cdb5c54bf7592dc5e7b2c72660ca69873410b239496c508df6edc03222b66529f2a67bb0e37aa5cf74d749f34742dcd019379f015599af67efaee2703f37f9f9f4238bbccc24bef1e25d2bc44598dc3972dfb943d95826ca91685aec80219ffff0219ffff0349b88ff799912e1d9e0e14c4d052e26eae36c7cdfb44c59f1e64592aa2b5b102032ce11cdf37a7a4edef1135aca93fb6e4a904a3d908e05e1148aff448dc4865e603983c7a2c1d1f5d26c5e28d9f67c49e77b0261b2b2c35630b3d61595d4635d48c03b258a34979b872bc1b1c6281ec50dc239bed9cbea3aff1c0960a5eac11c680370315bbd0a81ddb00acf461beeb8e81f593e11691bbfaee97df8585811c6b4053da03e2c63b25a8023182da0841636588154b41b83e653c21a96093c0acd0905c58d8039b463a24c0c49196c74f8b89efbcbd6a2f7d054cb6e0c7b748a41f28a804448303343467099308dd3300ab0d77b7c31ebf90e9344d1b3c8f9193ca53058a644a720347a196a9e70ba4be1ca2ae4474fefe4c2f076f6a524809e307e5aa8ebd73481b031e0df13f8e8c1eb7d58543f947a7db5fd22483b3ce38d45fbeaba8c73aa66eea031fda57ab2d4d29648ca670db016a00af28e41a86bb375129183673c7e118b2d903ae24efa5db81ec67c648f32fecfeff3accddfd33f62bcf925451d95d5599728b034f9253de57f01befa5e892da79c67aa1e8d8234ecabf62e6c67bb316984b5d6f0337230930a51c1b98094e2f67612663397a1c12ac82338e0f8f19c6d7540579a6032700758f217fb9fbb668b51bed664c8603944c5c734979b2bcafd9c56a299f1b03ca490b11d1ce0a2a9e439a243d7d5b64034c0aa845fad83fc25c388dde4ee19c0313433ce7da4c8d374e4a5d5d8c74c1fb2f5f32cbd2e012795d26b39684efaa9803e4670b1b4bce68857b809b682b15b51b958d0fa10f99eeb2803897eb8480561003291c04151a61fe35643bd47e3cccf6055fed5c1bb235fe078b21f928afdc004d03597e5f81122e4e6b49eb143485942a29f9b51b078da40a858195cd6dc71915c203a06f7aadaed8226ab568f47f1c6d562134054072f8ea30e773a4830643ca3db603f3c56f971a65f42112e6685c446d6e9aa57dd59b2c9aa86135410a32cd590db703758816553b892f97c575d9078c77983732ecb25f2bd3dce0d1e0975b6b94d49803001d62ea140de87cf71b6effdf3020de7ecb4e64d2543bfc3bf760ace6267ad803cdc91e9a5f23dcd7c513268c291aa3edacf305a2d8645eeb9a8e2b389c7e1d8d03a78649d5a89169ec169e6cc2fea97253dca4ea2412319460615ded052c06a1220351c19d497d99a525a7f3ca07bcf568a2ee16eccdc4e7ac07a45e19df20cb311a03b5bf696cb6750977abc52ea7c64eee7773156920190e343d5bf55f02acd6ead1031d163dd24566000f9e344ae9c7d8680b17b43d95e06cffd6ee50162aae1cee2b03635cae890c1a24282062d232256496a35856ade5c9c51890bd9956d68432437a03241b4d5ccf62f1ff181a2cd0e542690cad22e330973205e70e39f4325332999c0339ffc17e5d6e06d6b1f6b60b88e957ef35a645f0e63a3ee0b17af37ccf5be9a50333a86901ee2e88906a829043311eb5df63724d73987637192803dfd6080e91b1038936186ce1e2fab67269b959c8e90a2f0df56ba95900c2af3c98bea4e54b042803b238717128d0b356b164db1788f0d72ffb186d1ac394344a8189f23e365ff6b205581e032d8a4c165b2d79d5232da656199254d4fdaff7b2b99d826f509e987fa0084701c6bf526340000399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803bb510f1fa5d098f5104870ec0d084731d322b5e47d6e785a781524d74314ac0405581e03a39a3c727e027235875e0306eb7db8386b41fe2a269b0a78609ff3dc7007011bffffffffffffffff03ee9252398c9e8afe49a81246cefcf9e99dd8419db885c402a98d2e5825597d6305581e03a507a7ae5e51db9e0b085522c79bca31e40fbef5f79de44a4f7f44a2f00c03472642ba5311550005581e03916abae04cee64f030ded86929ec6053becf7491659ae5e0531d4c86d00c02468934d6106b6805581e0381c5819ae25bc9a4c10dd734053570e6f0e40b414ce8d81746122264d00c014624907d88ae000459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c6343000810003303e5347a9f30bc9c8564d4d09cb6db6abb4ecca4bc0b9492a03c0115d954570ffa036f70cd1492f3904f209e714559d5450739d4594c2ff60f821e9880a74587956e03d638f7bababb23f39d9375c1c91bfbd8276778d641307ae9c435cf33531e376003357022b9a8d5b25bfdd1f2626b0ccea3828bec30ae66fb10615f0505617c35a303f7a0bb27583b3d28ed8fd23072ff9794021a568816ee3fb93db9f63fe4a5c1ca0336e7420869ec3e6e5e6f9ca80d0230cf7aa96f4bbdbc3ee3014062e912379b3f03c8a0648269e5fde15581c11e03eeaaef0bd84c980d849c93734dc1e76a8351fa0311988dbe6418ce8801e9489336e1efc41761c77e8382a6750203b29463a23da703f7c52ab5a4da59a0d7983da6fe518425eb583966306d5b4eff7eecf1373731d803b2078623c2b12591ea9e5f69cd5a950de84dd83f55053fdec8e21964b158e2ee0351ee55e40a00c3afd2aeb650599e686baee529c03f45abca47ddbb451988b3a70320fc55db4c5248be7f165bdaa3d3db6acd2af2c76e3647d235cb3d212d42c8b40357650a06138ec5018dd8d2cc442c3f618e250cf5668ca1def6a003324068620c03ca09855ebab63c7aee71fff359e09dd9bb71c09611df14a9d7c9bbdfe699705d033c1cfe94f4a406262b2e74ac2064c099a443111e5f4aacc86662ed81d375b61b030f80e1de44ebab40d78319bdf8276fec66281614b7b1f5a39b9f72173429b31303fa973872e47b7c4e63e93786110cc67e7e38d623a94a2133671757b60c372e00037481f5de0d088327b0fef2b7af2bc5a5c19c87146263aae838fec8bffac6f7e303dd1ae91cf1977f7cc09b3218e7e2417f459adc458ec72e183c6c1b6bedc9d80003a405dba04ef0774a002e62800f770d64cecc1a54e9a867627c5d30fae4b98a6203e5d8d6bf396b8281c3e7da490dca0f5bdad98db47b9abf22ce91ddad884fc10803dc63fb8a5895e746bea2c93fe59c22095dd24a3cc76e148a528e77cf37967bf703655d5b35a06474625955a047f5b2ee710b1a3926f1b6ab05f0a68ad0fb9be3f00343b36a6fafe140a542141aeb0ef1548fdb7fda4c8f0a1059923d01de51f17bfb031a9e4bc375e0e673a6ac92ff747019c11741498f716628732084962161e9a37903e7de951690da4828a7420cef215cef81ea5af44b376a4ad06e7ff89ac4b03eab03f013454f5e0b6a66e134640ad5544a2ad2a4af8deadbf7c7598fb8b41adc79e00378a645bb9f1ed7fbf1591e58b72cad1b8ee1a2ee895e84f83cccfa37895abdf7033b2eca04716ec11c4b2b579799f99d55b098b2f9150bafe67971ba4636f8b75503a02817128dae69471a7794636e32693ae5bbc194a87a5c1174ad6527480d491200581f0308272112ad1a700a72cb160ce4d10d4f30945ea6022e30020edd389e075044662b685300581f036c73d2e3d11544b83f3048c6f1c863e00cd7924272fc30b3e506b8a5a9704465a3420b00581f0310e3544204d7f283089ae59e57e2ee83a0fcf2c9e2b5feaf3a89ca333100410100581f030cf26bbc56ee93f6ada7fd15afeafaa263589e5e554e5991584551f52cb0410100581e02d93cd044e68394cacd665518bd94424c9865c4e92604ec1b3509792eb24465d9914300581e0209e49147e56bf70cb3a46851713157c20c03bda77ffa61242f9ab5fba544661a95bb02182200581f0364a9120ef6622e9384c496913c9644c040a3b0efe17996b7a7e54fafcaf0446574af7b037788f66b480addcbbaff1d09555e3a2fd16ba7846039202c2d511e7055b363e200581f03b992a3678ac12c5016e0fb739845fc580c9c5c7b76218de949822705edd044652f7b4f00581f0347940a064f5683083fd397c4e030351e3ddeec160aefcd833cb7af3522b04466273fbf00581f03a4da5b475fef8ba73185d72ec5f431f8978e7f6e10fe0e8c49a8e11f17b044662aff830219dd4d038e0c848de8eebd6265825ab5b3eedf40bb6ef789d481747d6d4eb93aa8183f6f036a77823126c4aa972fde96bc9505932b0ba8b7e5bde400363971af3972e60a6403942d77663da134b2673107241824820c5d9b08680f758b35a7cdd6bebcf5a24f03f6127fb2e7a4a500c74b20d22576c7575f8e6df17f191d6cd48970da484c175a0388c88a96582202a7f89e3e4cf5e53ce34b96ab52d9d16cd189a23156d4b57d040335bd0890f49d72bd1e1f15bbee2cf2d646d9d744ab288f6f147680a905f6b098033eb2f42156e7d836826c38cd3aef1b64b1534f9d96c4af6d85d7f5f30d408a850219ffff031580bfae295fad487bc93c1b342dee544d8d1bf8e85bbff746f5b81174a87f7503813df3500e80853e0dac172cbdba691afc393385d6d7b40081984f220d708c5a0219ffff0300cf01fde134fe3065cc234b18d19e1a5dbdf736f5bba30b4b6081835078fdb70346b3540647fc7313c5bb6f3042ee124406863036e231bc2395cc7da724e4ffe003efb1a421b6b229112f3cf173614356a8ce6d162c49f7a9e699bfb6dca891a96a03d8a5a0bc419aa84599c4596f38e83986572823a032fb01b99c9ef1a29eec4edb0341dc049a37222ce77c3aa3c65c72661d7ac09e4351ffa94237da58995aee3fad0326a3e777581eb8fef791f356f587e8b335d586534cc8fc68e934334dba12896c0219ffff032b8a5d735740e3b6028fe4bfb55d03472f0bba8c72828b610f3f45767c64f696033105ea69c68601de7af4189e119201d94d84f8a4e581a8dcaab898a365a7c7ed036b981e3ba46ef524898e2495eabc6282702732a4eea1cd177fc61f072df30e2b0356e211d8a5980acbdae3e1bd83fbcee97bf67898758389ab8b6590facce4c87403f07d8bbf0b7c924453db155a015cb7d095960c729405687caaab1c484a387e2803acd572c2fe250acf083d236b21176abe34af0b4f88f53249aafdbf794b654f34039df9c5bd9dfe2c0ee5f48ae5dbd5169cbc9e4e0050ba34760b4400632e84da6a0328371948861936cdddf12747f0a7a5966ac812c828aec99b7688d2adb8e54b1c03117f6b77d9eefad5bc626afef72bb22c686f29563b35beac65b730dd723f6b650344ddf99f4d9697a379f85cd891c9c213a9b4b4964f29eaba4873034ec646ae6d03d71b09f6f1a8da6f48b0e2590141a294f8ab3e6e59dfdf7aa8b50e782d6393aa032e8f6b479396b53335c6e20a832a8cad4e539d84a0adff5e2c1eb37fda8f87130310f97167d2867a467c62ea0bac4773b37a50b213a807e15d23771351d5c274f603fa8e60e5fa8080f618fe72f4263b93e884f0d722d4e0f46edc37bf65bdc8df7f031da95480d373c79e5590d04619fce50020f06f002be18a6f3fea355f4991ea1103f77cf0ba8b8420db355ae4ac1ab1f0b419f677de9e85a0b4da8287156257cf3f0310e5b69aa5a4b3890bf760ab6022a6871c0b6c9f6424c4344831b0a1b721904203a5aba674f2b408f39490a730a206dd18520f9387314b3ceec9edb9804fdcd3fc03993c5b50706c0a6bb1102359b6f123176c34e41890095444a9b8e7708cd2a82b03cbee98e8f155e2f3440e7a02c16d05dc6667b40e77dd091da0ca52cf00a39c7c03a9c502d7563ecc57813c6079e76a9dee0d5896a9699ff50311ebb227e1d6fae500581f0313d9ce423ecaa25f33436eff3a958180f8c814635acbe63a32cd63fca7704465f91e8700581f03b4622bd38967db8658dc01167df618c461b11ac9b67fbddeb8d8f49bb4704465f79bc300581f0306c23d3d80211e05c237f54ded7de7b92b3d278f2fe995bb61ad4fd5b38044660e460b00581f036b67e0ba2449a2c8353d30217eda3db0b61c419e5a5a27391ce8f18a9ef0446631d75300581f03417c170aba6d321f85da20a048bec7a9d0fd62c3bc195c45c6af87335530446608ab3300581f033ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff90410103b2f4c2f10cb7eff20db9bc4d8a402e7a79531bcef39d8c96bd77c041d9240e5c00581f03ea37a1d066bdfdde49c20b7535c927ba55c7ccbe8c59df2dcaa8545b23a04465d03b8700581f039734c0917a2810ceb7a9beb8ce2a3da830b7edff4cf7112ff036d193b010410102194df40326644173e4872e6f2022482764240c90ef2eb5a878d6a5750b6f3d54304f53a8030d8e630dbf06d50aacd1db1ac19dce234b830ea501234c586985a9ea0ec89e85036295ac02910947730098c39a8eb8bd57520ba463f686f922fff9a8644ff3ce59034eb5e16abeee8e1be8d8855bca231e7418a853e95d535f839063c0516595c3fc0341424b1047ffc11fbeb67da2fff74d966cdb49bd2aa37d73ff2abb99a56d04d30219ffff03cf7af0a7624ecbc76be887b272af77937c47ad5e6f8e5a5ab4831694060bbd8003470c5ab75cd372d43de58f0478a119e158228d21325f0476be9fc0cb9cae3add0315328e20ad97dcc239d404532e5c344ab66c2e958848921dddae26b9b6ed763703f1158a8477a7a8e938d148ee99f50623159f0d7add1d1117be58e32f007d70b0030aebbbfad6707fc64571bdfa3109250c3f7b821e3a12b78954f8eb5cff6a5ddd030609e028271007f3060af4365b9c5d49bc6c601e7ecc54fe0cf19f5a89a3b45d03b8bb0ce7adce53bddc7694bd0083facab5e936c014315b779b3c7ff4e5c3065e034a6ef05f4b84794d0c60cf84a0608fc6e8977293497f25c79ec71ebada8f2e6003009c715c241466db87817438cdfce395fda0651a7f591107dc6108cea336219b03837d3f669b8df2d665cf439ee80ecd8c19a0ef53e5fd4b6fb29c0339177020920352530bfb2ec8752af8eb0b2b0b8109a6f8774d66ae589d00e6863243f2237b3e0219ffff03f8b0d306ac87a4cfb007e3c3f7dd2b2d83144e7fe97545f10cd21c8a80d5a1e503ef896c639e0b7d3741ce83a39a0234e6dbc30edfc973de76013d20d7bc06f39f03d892c1521a80212e43e2f207071bb23ebd3f5179874c71700c40b44a591bb1e903d95bf02525b6b7aa9b07d287b4260e9a46c3edef3ea7aebbd882b956c5ff036803bd00eb896808a98438b0079d4ee3e7a92e92c4913c80cfcff4ad72a1f902ca6f03e60b6fedc246198b47241ca6e87857bff9793091120425a7dfc96d7a598ea7130397b83a7b3da17ab8715df371745d10c94c3023f131a16b0f9426664f53c9903b0384445b274a6271b21ef7dead7fb95249b9bd9324000aa6698dafb84485c19764039d59b4070be5d0a17a1b5276875ccb07128096a4a3daeb7bee695d2efcafb6b103bc6fdbcb32a269f6317bac785bb3fd81d7d2ae04ae18cf00a775dfe5050f39980219ffff030422186ddfd59b876644841fdbd51993faf87b9566162ac9c56d1222f38006a70352afd66f3ca69b994c5914b0154bfa33b4ed2653a68e75aeca57a4df947bf1b303cd541912dd60390a8615aec7b37d1298178111193185cc96ae1c4e1cf7f27d4603cf073de25b4558b4e2bfcad71ad426fd55ba41bc38c8c7c53c1eb70f561d6079032ce88ded9334db3e914dd095c0b5fcd4b632c83f984ea20ad6f5d4aea3b548280330257606c2db8f01d5edcf1889d1075a219e5ea6eb4dfb54069edd45669e292b0310f082c4a357dcb769ee3a12eb941b7d7b39efad8e2e8ac0cd8ded118ad844be0307009422c8fe9f184fd03c3118576423c0db8fdb004e1671562334586ebfdbac03f9cf379fb48b5693a54559203bde9cf8f59b3763d50ee155a552d9aa73c10523034252b26905052121709b0a42ffa8d2f8c77bd9033fcacb329b8298debc39bd9b03e9bd450b130d4398386a88f335bbf6d6c1abfc0a23908fe298785297f36855a1033c27eb313f0f7d4fb1d1b9acb02c98e1d3c96b3bf91bb99d4a7ddbb88c1480a60335935f91b963a347554127e94558893e6f5775e121ebd4cd077436c04aedae4703784a28f2f40d2ecb03bd20aaea8aa4613f65f831f79229a61c082331742ef4bb03158b249894135bdc4553341f43c8b7fc6e42bc17b4ca3d6b22b84a0e696117dd033f685f7fc86c95d0019268bceacd56d511b9a794dd7740be8ac952675dd1033003a59fdf56547430867c6929097cb9f354537e01528b40b33490feb201def60f4e03c103d1ace062d3318ea64cdfa6532c2ffc27982aa7019f3bf9ab38f650c96d28039fdce10c94096cafc1f303a84f308c5a68e2494f1b5a6f4abeb40039b6d95b23031e4910c5b4544ac507d780cec7c3eb81a6a0e04941c2fa33bc6944b3077127300395dfa34b8ebc81bd61ab7facd15eccbd3b19201201a976d7d2c8ffa50debcc8c035950b9f622a2956b26600c88d39fc668fb37b81c8423dd188667662eb259eb0803028ac094642f1c0cb94bb9a28b0210c87d07c62759b9288821ddc501043a028b038015e096c61fb7a5ec55de87063e921c5e33fb5685144fa6b8309586228e78920393e89fdfa199d6995b7909c78fa418b8dee1028ccf0d072960061153984628bb03d12ff5e88b89d015d0511e252c58f52bd0f7fdda9ba48b1a71ee55af01742957030e7c293bcb51e3317e0023cfc5abb8720788d15ce942b2d06a0bce75b54e2b510345372dba1ceaa906f78f532a7facd9085ad4bf797d2a5c9e3df052ba73d1cab803f19dc008536ee7d5541fb73928dcdfeeee2e8f543c759deee57f77b827c859c5033be9aa104f998b5cd633520ff1779bbc226c11e69f8c04ca0d109031b0eccf9e036e19b597d1d407f7b6567403904694495d0f5937f5d66c26f092eae346b2f82200581e02df5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154eb803eb3f501998126bf37bb823646ed3d59d07200581e027c18ccaa81c85250d5d09d29ddedaa37c195acaaa023a5879492d9fa2f44660fb6ab0219480000581f03d7c00a5b931ecc36458fba2d07051414e39a1ef8b162fe4760d528fef86044661a25d700581f03b58b4f0855058fd6849ae5edaf16feec0bb181e3fad22e38c27f20e72550410100581f03a7638634bd9ebc8532534157f3ba07beace8ff11a82148973a5e4d5952f044662cdf2f021904190219ffff038e7a2d049682057ba58e263def026effa089ada973d795734e0187533089f9b50382a1b6276cbb6c091b675b7e78fc16a8af78ced4f2b8e33eaef147b21fa779e40219ffff03b323fddc7e23bb4773dea5e3239fe837f33389beac7e6f723284e9d6b899a01f039149f1590ea3c0d4a17ed90aab88229c32bc74686e86097aebfb9c6e6bb14fef03f1f5f839638b9b7c29ba9ed243a2caa40911f97e4e4683e5574a1e485fc219b403c0fd334254aa3f5f1886f0b8e640012ebed07ea0484e4888c429c4d1af87886003e91ebdaf0d51c620a7fc3cd8f8e57bf606af449303aaef5d7dd4014b1efafdc7031715f42e15b2b3d01392fc871d25c6567b9765ad23cb27f18a6a8ee569dbbc2c03203473c68affd06e0fc4218f8a4e5938b8a3cecce2f405038201a6c8d43f6519033ed4f6b30354880503c95d982a39a52991999af54a43e90024f3427b639d59ea037298e0af4ff9e462508e2edaa9012c981033b76526d85e2f1fed3103bbaafe780322c5b2904cd4b22b32983e08e12a9aae90cd41c6e736d48e7c11aae47954919b039fa42da372675c7fad4ced138d66b3e745b24422cad1e02ede3de8155ea7b66d03c123ab458a55dc31597e1436e54e31bd57ed23053df8dd5f10e9b5b820cb90410396f45b144af0cd21dd1b46aa22d646d4f4db7453d49cb19896460049ec13a7c30219ffff037681916bbb3d8ac48f82a057a635de5c36222bc49d9cd1a8c40864608b756ed803120e649ab593ed2f5f0525f112ec0fe8ca6f13ada77eb66869602267976838d30319a2603ce88d7247264a846b26c0b24b476e1334ad5d1808dfdfbe2d0e2fd4e203afa003337078e2d42c6a96ba16ad8b7d10548d7dec5775a443e999f03c212972034c8cf4cbc08e19c08c87b6d0eee914d4aefe06bc5ad3576d1c5f8181b7377ba0032aea4c82205e277d2b84c17af319181bd805ad4b34f1a5a9ed56a64cf8d6d5d9039e847501b73c6c99fc4b4b2622f418766e019da1cd82e97b9b14f349eeaa419e0305fd6b738fdd20aa55e1bb9ad6ae8ebf28a76319d0c06985274eaffb2c43891503042496d036bc9b917706b0fa4d06dcbd20e35459f508208ce3e871957ac9577703cb66bfd4b2408611ca1a9db4dbf2365ea2a38111c64a3c9d503f3368f6e6435a03cd8a6c4637aaf37a2ef828f7934bc7b28dc25d7f998744f4802e98193372439c037e91b1fa75f3f3f726285c2780ab62f6adedb6acd87093a1e34cb592841e09ed031e2bfe2780c3de25f6e77eb0b1b37b9bd0b8070011fc32bf00bde9c26868e9ed036b1989aba78d978733c26b419de6e6c5b9b0ebf3da537a253852344811a5e317038360935a146b2b5391fd3155702aff66767814a1990f7dba49a19df2921da2e5037c607dbc1cccbe6cf2fdf5073ca27f988e66d5ec0c535cc4e2ce42abc07b3b8b0372f16338d5d54caaf78dcfc5ed13124f8c1ec6464492e715f5e51dd9926708120313aa3b64ba9b073eca1bae642235ed800cfb1ede396f9be721c3955d52de82e303366ff6c981b41ba9af7b7cd4163e035cad7d7c4bc6ae11fe7c2ed9a0a729f04100581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05472981fd00087ff4f60abfde9f353cb1912a37fb60322670a9272a7a7be6344bd95c8dcf1005649dd17a7bc0290c945c8c52ecabc1600581f03691dda7f8b5365c052f7fac0a92f54c3cfac993f04676e294715197c0ef04466327d6700581f033f09ef4d2f80d85692aff516ab0eaefef65abbab27e9582c5669f2f7b87044662b2083034de11f6217329fbdd04e0326a3dd0391e63f5481be0322e478c463c20dc75e5500581f039c84ea74ad4d81acc30c1ff77cdfaca48a67eebddf1d47f428e3011ff6f0446632299700581f03ef9f562e02d3e7b5d294a0a8cc164035278a17e0344c974334ac1acc8cc04466277d4b03f672e3ae54918adbeb3f7aeb6e149004445355a9d2dd9fd14f69c0e421dedbc40219672903ccb80c5697a694a50d35951d6cf4b482bf6d4bebef2cdeae1b11e1d57d05a11003c59186f6b1821c23f8e899b989d73b3b5f248be5dadeb5a55725bb751ce4b1c403ec6078e4f7f6928b54a6bdf0d0d2d0c156e77ad1f0547e5efbdffb6449f64e4e03ba69603e359de26eff462d762c6fde28626451d8114a25735f62e1600706a77803e989a2f1639284fca89295077faa140a9e254c42e5d197f017d5fc29eeef407903b24b3bff173c0a66bfc8498480a2ce4197c83abd085e3578819cd3648c453af10369dc28639d9d133e98c65a4fb7b828caf21a4b77d29734c6d563481578a81886039e9d930a11d008b9e769d0ffc4002469785be8ebae421d2aecaac9f99267a98a038ce85a816147bc47259326f5b11f917391725faef86e52a7e82ee9b730e6c59a034348bc3be2a6cfe132f882fa1929d07ca63dfe4fe4611c1fbd049ab67c7a183a0313768d38ec88dfe9f054d033fb4420046774143e2ac03f0bc0d6cf4d9bfbcc5503e0e82e278195d06b4e6dfdb1de35e90b39ad2665fcd62b79e59b5fa1e0c1449b0319a27b4d27c86a2c422d6b2e7bd388c856072c4001724ce62d0d063deaaf1b770219ffff03bfee9c8f7ada04b51b44f2b578283b5592d12aed6e92976ba941b3bd89f96c2903b048cfd43b7a68c246bd7f4a6d0770c1c09387e7b4d7fa81ada2758cb764e69203e9643b2b8bd4cad0b54ab81941739d47258b0d957746be072d3ccd453c228bd4031484279fa0ab5a365b64106b41447ce52732c11e086b4164f45a02defa9c65720219ffff038529a8f89a4d81e770861b9ab82b39aef4beb81f1d2bb614992c0b2ffd729c7203eb37fa0b9b7807f4206e0351939e578d65b1e8b4ed89ed8fca159c056f494209037e70cca84466c084344368a3fb5d05edd719d14178b552b0a0890320d268a90303e02fa88262b3e2af753f03e1678ad278a017cc0947587d4cb2e50621181731060373b9af7fb1b12f7beaab591acdda417842116a48f64125b4d4cb20a19d94f17b03fe205e676c073164c673f7d0f74cbdee3fb70583311d206d8c1f3fbf09534e630384b7ecce9d45d6ac2ac0e71c05c125e787ba1751464a9a85317ca07bc2e3328a03ae6ed5f98c4d9346cd47b728cf07ce681bbc5b071620a191068baf0141707f87031d8069a516399829466443eb0b9e18d2fd24beb213852ed0edacd2e9ad1c77c203ee61dcf6e5f7cf56f38cf1fee935eb90efb2b94249acd5c56d13c66d4d61738c0219ffff03a1868c039b6b08c83b03b4c89cf1f765473332c5df72701e981b849a55bcfa55039de676c810bd230d85d28392f28e3f72c1bd782d4728a7dd382ef2261ee8dc7a03312ee0777a8b3397a9239ed8e18d43bd9dcd8b4acd4cf6c11b121914f5633d7a0381f11f7a303d200a4b0b8944d05645a893fa37410eaf017ccb16b58deed1729503861ee3372c1a1da76fbfcb6b184e2d905664352c701efa831a60e7cf0e05a89d03923a5a40fefdfbbef3e8b5b61a7bf8ffe9b5ce57cad69f16204f7e2418ef4e1c036200c284518173ff598ebab677888b4b49f1e9518ece1555bf6119a43fe9ecc003e50c5cceb811d6d961bf7c299b04cf51c407f03cfdc57c04e6fbe26f0d30b840036bdb4853328da9a00b9c8c2c3d6de9e5e1690a76c28a7be4865d08c01b59a0bd03f39ef8a82f5160da7f5797474b593b4aaf8bff44a257775b6b4d93bc931a47c303d2270f84daec31ef1c0b3d976142002214cdcfd4869c3b8452141a7d608a582e036074e0c965f6802c03704b0f2f27ab539060d441d5c50fba3047fdb6f839e25003097d5887a5ba235c9a8af77a56d12a9a6ba1b8f6bd30824312a936707cf730f803cbfc1f2a464c6d177f0348f295017c87031c57a6b1569a03235e00d02e7b0fb50354b450951b6043c7ff7dbb0605ed7922c984d25e9041c5774e461d2b039a25f10399153ada0e5a75a7bb733b9d6345360802c4b75397412463b8fabdc066f63103034c236ee03777399cd735bb904d6a374f19472593347f7ab9409267ac592799240317fcf254c138a1295383ca72773d1f2d7dfaa23b01c4c0f70fa63d77c791689e034d10f1f659fa8f67c9ab7235519a893a66464d9909a5c3a4cdc14705c16518f4037ef78448202da616e52bfb6216e3a3254f8a1924db7650f882e1980cc93318530316692f8aa0f82c945df4cb5a02e24695bdbe22c44d47f37a3f3fab5eef291f6d03b6de29c720fddafbefdd7aefb23af3b784b55ca13501f051f018a6710e56b7a00330d758ae5e62297c1b05756ba929fab87b65a41878a5a5bff37f340531bfec7d03c9957a6969175b4582d05c58c99312c6e850eef8fb511ca9552ec20b3360479403049c20f07293586cabd6271eb3d7582fcfce112a3029692acb85dc1e056613a7032233b475a4fc76200c1bfe5ed9444d0fd8e3c0be6e1191bed780d8adf5fc9a3a0325bfa3dd3232b83370231919b91f2eca4ffb5a1cb1e2fcac701739846f6904e60337c603e6783c6c8d2ce38bb774574f005303ba8aae50296dbdba324e8594bb930303301647fea64a97b7af7572254693a9cf7051046d10ea90ab825c7f474d42a7031eadfcce4c12a34d9cdb82e5fbbaee2b0f11e18a91bf30e35094984017684fa50322baabac7fd754d1ab69b023470cbb451e8ca17d71fbdae7d7c845fa6c9bf6e5030c38c03aef0ffce63e2b75fd360beaa201f52469a5cd6d57369757e0b94b715a034801f79ec9abb44d74a39cd67f17554627e03fd260a409568a3dfe0f9a18437703924657504d40e4d275a339bd2a05618cc46d7c89e09f4c2418736c91d4d7479303e885b8de583d7666093c0ba0e6548162be5b05ef7912ad21b8799bb95cc9959b032ff529c74d393765dc0928c1f43335fe6435def2918fd7e2d2033d152013479f035f8670b29e75a7064af83c31defa2f6d462ea19080df4eb2cdcc5a533b7e569f03cf30e1c17c72af913fbb224912f309f1c9fe4a0d5ec83ff87396858abe5d249603d700f3bc56f5fb63836d64872c90205e30530092d50c8c6d2f58d629efdeb1dd00581f031e21bbf57fb8b5cbfb8b204b7e2fe0f13056b9b8f90868ac101b4a3a717044662d6ffb00581f03e97c152d5610da74a3c940cb4f767a4bf192382e19b6d262d97f279e4aa044662a366b00581f031ba9259ddb4058b027f016060aa3dbf916bed7e9fb7cb0b045a58b450160446534bd5f03ec4edea61bacc55b3424ffd3463d0e41a005c5c4d314e6447b863ec278a1fd4501410a00581f03ac63d299ff4ad033efc835b6125dfc2060e781b0db325f1bea7aeb81549044662b7d9b00581f031e743da94875e9f07390642466d1e18db6b4f557fec87611acdff7f82cd044653deda700581f03749b2f65a5d98816155ab69cb40da1d9997eca0b0c21b6c0e248d9aa79d044661a546f00581f03cd3173e0f8d7307bc827271aeadc0adfcc7e70dd9dfa37425c07a88ac850446601436f03c08b52b52873d2dc7e92f5e13efa458b884fb83e88d3428dbe06c1f94812324d02196f1a030e631cceec125d592ebf1817b12220cbf15b580826d0e636d38fc1e675218bec031adef89162cec36b014699169da4d292b2989bb8f7f4d1e8522ab7328cb1dee203575f2030c67d5c5f742c43fe01dbd89c74e88d6fd64ece08b7c1f13be6e737dd03d88a7d713932f0b2a3cf77e91067117aa2ee7664016d425230babb94372e3a640327ba28adbacb4f15d5ff4df4b47e4dde9eee90b99ac457d02c099038abfb8bad035b26ccd0e94b26c8d472a8121e7b8ac8e3f4c6c98b5f29f8d353a8a52ed339e80219ffff0219ffff0219ffff03b7d6210b87d9254f5e088eb7ea6525f6cc7be39c24d5e8ffbfad099da9d4048d0365804cd83a80192b458da4dba07a742ddb56c21745f15a00217e8cd99cb1f0d803e69f9026c17c7da6e13800b9619cb091d6b344042c55f8812630488738b5c0200320e17efd0c9b6b9d09523e10baf8efd454d4c6975b0737549ce8ab189395658d03e2779d4447f4db59fedc574819e3e7119229986f539ebc2875b0925942e891c2035f2f4ba47968ae369fcd460e19101c54675b4161763463ed0e119ba7a2a731860351ecba52e389d761caebe7d67e0fe40afd41e3835defe1a763f3829c4046cbf80379af8831bfe50d7bc6e0c46db5418d32c0be75411f55394a3d9d7441d4960772031b493c3c6e8ef3be19ae3e64a286a50dbbc8b93e6d57d29cc3c7b780922543c503b467b5a13101181406952f85792a4682a55cbd4e5b64a266438573ddefc2dfab03e1674126d352bf4c79f0e0b227a52fce0b0b070941e3f71dcd85c45639a4af9003c6182ec48f137572a7a7e169e7de4727bae2510722b7f5b623f04aa317011e7903900c0a94a2db9b6a6388a063da9723f464fa2952d23b0bb86afbdc14f1a425fc0310899e9f65f253d20648d2e6e09313851ce256ecf8fa44da1f6c247380987a8d035825ca19ad17221808cd0b18363c036b7260a0f8beba74c482e38dae272f6b6f03853afaa57982929a7067ed988ca554ebc03db9ecba55b0458ec3b996338ac11b0345663fcaeedcf2bd976a453311eab7f02f77f8a25a8e281356b1baa40628ae9c03b9cb31cc9d106a0f1fd9210f4bdc1fc46b939a9015de4956f903aa24871880f603fcb60a77f02a37a3c7ecdba3bc5c9dce2f29858e6c5c157addb31f6c23b118f603a3d481a315fb714ee82956980e70f3c06653b96f132beb17e52cb6c17f3865b103c1d6b1aee02a41fb51ba18dd42145574aa71a963c8f88ebbe5701edf201a763d030ef43a89904a43db91bed53b405105cd7d7753b4366824d1bef1acb7f745bde10355c432009fc69f632586571be8748407d9cf730433f87ed4ade168a35f30184903d5b7ab3356179d4537d0cf01c96eecbcaa99a7b8e70d8e8475c2f75d04a45a210352501f80740ace43bfa5a79b663443dd26c136fcdba8aeaf7c9f23135a6dc94403bec78b8c1f088e7c0217b6a5353c75a4ecff4dac24b6289931f647a9cff8598f03bcdba835b43598c3809a2a138b267b0d91230126c56d9847e10af7d29b7610370347fb29ca7b0dda54a081f4f0beca26fea15b36ca93699a531ba672343f9f69b303c71b89732fe97437b6758984207d1ace036dffa166544a7de375f38bfb280a32036866c98e31fff55c1eb03f50315ee83cc49343f491fab1ef6708e888870dcf930326abee3321b433dbf911be04fccfdf9259ca1a9f91c9c0a5d0fc4e82ed71188d039c1a34e36f6256e77575b4f06935613df99147ab973d1cd737175ad2d00f932f03c20b0c4a4a969ce1454d04ff4356b4e43bd54e2509261f0c9001ff6f51898fab0395590d3eecb3d3ec46630effb3c59efd9a388c95d7116398e876849609c64bdd00581f03e4834f0bc9e464b25e4d9ab01dacc6b70abdef54208550070986f2e3734044659c2af3032ceea026f1de7977e01e0f6c60377b4092924ad1ed214fad4585ec33cbc527d000581e022945b8e2d263a5f771cb24eb41bb3af1c0387b15abb8b5705974abbdab410100581e026d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb548fa3b4570b4c96f8036c13b64971ba65867eeb4800581e0286a40cdd8501a82566819dc4dc66908c42f822ccd4be15e7f7b20cad434465f4cd130219400c00581f03ee0a2587ad90a951e9a3f2bac2e82c4817e191088a97286d5b54816c6cf04466277757036d442b64197d18d0673da56d684518dbb6b4db73e072edd60bd1c8e42f5b46b20219894203ab47195e0ae9fff1217f3cc6ae14bfe00c22d2355686060efa8459b71b5791530219ffff0318b70c2837ae2913df1c778505b7da39fdb1f2ee4c84b7f461db9f3f072717780369f20dbc9b8eb30d0935e95a3deefa9132b1c960a36f6497cb53b37f6949208303a48aaf92c4f3adefb0120f321c8f6dd0db2b37fe11ad0e1d5ef20c80dee1f1e90219ffff03d98a053341fe211ab5cc6f76c7347fc343da52b81e0834b44014b4796205541b033c215395f7e22c1bcff7adaf424fc1461ff7a395b63338517df99eb5ab67e2c30365fa2eba7bdafdf8a52ae8187295c4f351647a5d80126a87bf39a69f6bcaf22103a7e7c1652e25235734b45aa9ecc7905881980a24ddba29b650e079ebeb7ebb1203d387229876f1b9215c062742b69d19896fc95c5f5a469dbd8d21000f565ca8e503c1ee17ecdfcfaf99d3158247651da7e7d86648f1b1ea8a205a2a4f2c98d3a818039d463c314d6dd486f10884dabfee6759eaf46d122fd05a6b886f194087568262035cef4a430bf96b48611801585b29487d3205ebe6e14999ecfdd1924fd2d9e1570219ffff033d9c05baf8ecfdb3f76af75f165ab92e355ed2ca8e42dcb5e15a34c3639d9ac10302dfdfa98199db708469db024185ba64491738289b979da54981f95dfabbca8403a79deea40ca62952fccf97329fa00b875f2b572b3626036734a2006e6d9a74740303173a5c78fde17ecf43539a99e78c7b5e12f2a9a9f7a612ad05e51c65e5f08c039a2978f6f148eb2e8767e6d567df4196828c81dd0fc11aca2c394197d9d4c5d50219ffff05581d02f54a79ac4d4c234c944365ce341f9f959038aeb6b8acafd1b18a2a840f014a0988cd1e5056f7f47e1519089e05581d0286729529c620a9a42947d7fe5306e0cfe92ccef52db87dfbcd91e1380c07467966dfe5bb80021908800330deea36cbbc0c7494cc464022a43b9180c29c54be96dd3efd4a8e5663c3d39303db79b39cf5358e93333235f43d313939677275db1db5d8f9f9f2659a51955cdc0605581e03aa257be74be5a3009db3107407a3e2d3fc8b8cd24507b7050b9c6f020007011bffffffffffffffff03c2c1c98a181af426699c528dc6444bc79000475c357b63f8eb385efd657cbc6b01410e0333b9e9904b660a01f6535369c4535c723e7964544b53a035f0cbffd0927c4dce02192efe03f97e491cc16519e4de0291c7feeb40cf979322b12c9637ca1f83cd175a5bc89d03db38a17046a0dbb054913d3e5b55b1599078c213dc08af9e2d8b52fbeef3d7e30219ffff03a1de5731e29041041ab96bc6c29c8e7f4a0f966137e05c302df2f7e1110743bd0316e90d1d8d1ac894a2a4133c87cda638d773b231896041badb9dccdc7b6c5b5f03beebd225e7279f5ce075569d39eafef6205266442efbe2f4dfda6a901815e63203416bc3c0b6d112e0ebc11ec65db361b0bc24a1a7dc49585134ed8c6108afc898030f8eb334affba3fadd55eb9fcac4b36066602fdc91aaa2c386f9890b7cc9f74203bda745dfd66953f9f7c805b2fc4eeb37b73d028f1b886f2adb02e43fb6735b1c0359b22bf451c8541ce71ca436f475a9d2a5383b67973bb3dd55eafd829dbb4c570219ffff0304c6f1dabadd24097ae3309a356acb3a747a13044fbfcf828ff8443461c830d203da562f108d6aa17939f960ebe5562968741175ec351fa4a900db3f01176584ae03634885b2941caf4b3b5c10e9b2c624f8f6e53c22257e42bb462ad13755bf3111034387c826db4306eff36c3e250947a292360b568eaf397c83ba8d528949f33d23030e3f10b5ead9b54b1f2cadfba2c246c7a3aafb7d54111d75b25892ed8b9e9b7c03fccee6c7822b895aabd0ddc744f0807348827c5d444b890abce5de958713a8f80340ca11ebfac4d06bc67f88d653b857370d57ae2fc42f40f304f9b9d5d497bcc103ca3804aa0a3b0f5992ecec2adcde314f85c5f84bcc0a7d28307bdbeb5f16276705581e039aaa3b548ae460dc023d41538910084a800fdc698c4872c265a94e95f0040105581e031ce4b853d593d7091e88c427ba1599c45b1f3ceaa26db62d0936c520e00c189f46cbc54d00a62003ddc59da7a95f6ab2b0ade29d11c4cca056248e144ff68602fee8eb8b4def520105581e03be0a39661972efdb6954f423ab37a7018f783ca18f51b440f00ea48840040503decd7820622a46bebb3376a4f161a9867ee6e350a59ac8f309c6c96d2a261cf703878698e5005ec753d165164ccfc7ac4fb42bb20c5521bf2e6260a7aacff1e685014101021967c00383749d44c002aaa88fbd51736970420dd72e351c5af0e049863571d8d9a4b0c9032a9425bd9c2dc550ca4602cbdb6ce43c6888e32a1316bd74e904b9ad9f46ca9a0313afa16508d8a6a7c958170168294299a820a120c1ff7e8195fc59a4d2d1142803212e5f89e0a89291d74926f033ee20015d85fa83c1938201aa62d67cebf42add034bd139d6367fa1bd19827b2f5cb156ee33780c78e00a0e387c3bcf21ee95ebb1038c8b7bda41cbba95e1668c74e9ddb8375d4dd3577aea17f21b95cfe859f6b8ee039e098f14afce6d7f2993fa5f12be0d28195833df47064eee090e4897eac25afd0380387ea62d6ee2122c233b38d9eb0cf71b47eaef9ab083c9b1dfa3a34829a75403eeac4dfeff7cdef48df4a02951444a137b9da175430c82f20d74ce877fbc74a603be29b826057707051e3b3e5883bfb9ee766dafbc8bea6fedc19477f62c8dd33903c787e972b7342465b8eba263cff9a599b864f2f77d5e72622dbe56e701acc642030f2bfcfdbef874f60428586b8eb15d20045c12dfa2d10360c1ed73387d82ec4e03f17e7d3ad33c96bb837651b559de6f96930862770026c72e8c030dff5aafb1ef035762d2c4d95d57648c7ed1062faf9e245d6a5667ae0917d9dcd3db5dfba05a090219ffff0319ae0bfea16a9b331f55252d97a4d757420ce1fc74cf77aed4d12953d1c452f3031f0fa41ad1c60f78e3d8d0f54ac1677deb59de8b088a6117976eaea5c249e061034f4d301ca5b1f7d5c97c982ffd85901d65bcd42534e7b690c74af4a0cd3a65ce038992630bbbf3b80586b6dff8f389cc8bc8c0fd5b6be52afc599f51067a1a4b4603409492e5f2ef640420f28e3a7c0436b8351e258f168cb625d068a1d0e955b15b03a60456376edd8982f2786636759fb8f9a3914d4653f69a50f328a76566d6251f03468ec1c4d79fe5b5fff26bf516b786b6de59e602dd03896bb8cebcf747ab01ec0320e48412fcf41995e670c3de850f6420f87f293e4b74b3d974eaac5b3773b3120330559dc14d5dc25d38060ad7a911785d47d5be5da698cf5465415fc32b396f750219ffff039e02e7a07ff1d7b1ca1a61243d27c14d1f08bca8725774b10f5720987f13ba11031155852f48a657f2b7ef4959098104c197125e2f56739cb6594450383848075a03c0d8a3f6716cff95917aaba634616528bc3bc5c060d803f1d474aea6316289750219ffff0389986238da6ac0cbc65621fe48d9aea0470902dc2e3d832190db23d8eb74ae4203f36123dc1de4397e40a05cea32a86aaa2248dce301c6c1a762a4f1c07335c56f03d6c7718bae921fbd3b999d5ad8785b848656f9bf27ce148bc498735f46e9227003be20127bfefb9da204b4400d9b3cdadddc2b897e039846161494befb74de20a0033277a2b4bbf6f67d939da8e3e511de112471ad3987f15009042743c076ca1bb50331fcb5d4d72d2c6c52b7d486f6ecf0d1d93386f282cab68c1115c856094fe2ee034291ce2b684849d97cefa20b8dd66ad069485f8de59160638eeb8fe8ef108a7303e966cf7da67019301bafc7b93568a2bfa90e2d834d8e86cd336572fadf2a430703006d5828bb20df27cdb2f17524140b09496de8399fe01b46e1b99d988cba390b0343e1288c83c6e06efc7093dbb2a693e727df281822b6bc3bdfb9ced668dcb593037fb7bc15040df1393d3d4687f1de03395aa2094403bdb00516fa1ba9895db09b0325f218fd3d78ed26e8d01e2cadb25e9f0c4d4ef8fc72103abecf7d30c92a01a303480f47f418d253a5fbb32a7fcc289561a0243cd2774aaafa00ec88a4fd212739030d5f34607e9e5fdcd2cf71ceb4b2093243e5bd7ab790bc4aa73727ea61f930e2036d6d89ebc88b2e14f50de471b9d8fe2009771ad96698bdc947c2dcea9bccd08e03413b3e8a6ccfdd558eb0c791231fcd1c047e67c46c81d11ac0237a3dc6f1543203f9d13748f9713bbfc38549a0d3fe99fa9ad1f5349ef47373a6de9f4686a71e830344af51f3a1c58a6373ce35ab33c2bc5b06bc2c28c578510b6e7ef6bfccc59b66039bd48a5ef16871ded485dc74831b8e7e149d235f473fa0b36a847cb044b10cd7039f4133b2426992a7cf5a111a930909ae0cf8a8818babc38fbf8798752ca35dbb03a16725a92c56f0521ca33f5b1ee7215d98fe40f38ecbbdcb2f707a6c8c66500803e12e09882259e0456faa93f8d5dcb39bc7f2f527d72e741c0fccbecd6d2e4f2303214c8189573fda5ce9c735deb5baa7a6c71cdbe1add458b74779ec03fcfe9cde03d982e505107f7838110ee38a9850a35e49a2b04c31c8adc14d3ea63d4d79fd4303649ff022285b660354117b3b7f2ceb5e39a97a2c270a775b20656107edec621603e4fb8c5a322b6d404debacd60105c1fc5108663c51e03d33aae1dd08a68390f303e8431ed6300740ea8b0020fd79495621e158c80eaf0987e41a3d1aac58962d050323f84b1b4476623825df06c450530634a5776a9e988e31e187aa8b675b5f472b035b83eb394cdafb809f996c2a6fd9483f5092db248252e9221d880428e973ea87031a4ee5939d4a72aa309d9435923ae0b8102dd8eb67069ce5fae4b2cee66c646d03ea3d2435f993d4e70fc82dcd20540cd27c3a7df66232f5a7752cde6814c186bd030628309e34f49452e2614a89a0ca5904896fd06a40cfd3f6f1daa38f32f1018105581e038f753e12b2ba247df9a3af555373582d3e4ea2cb0a4284d39a17b901900c064709fdb0aa15740005581e03e7b2532054dac3ec909de3ce615957f333f5dba104d228ec01590501400c02470216552ad42a0005581e03b7be39401b7bc6f88794a701c1fe66bb1e86a46a50de27453ee771ec600c181e472938fb0094ab3f033101cb4f78cbda1ff1914ffbe34a90498c321969e7f18bce1a70b4fcff596c9e03cad9ad998dd7c2ad45beb5e6185276fe2739c938ce217c20452829640f042c8905581e03cec71bfe7c2874f52e36fc4cab1e53b9225487bc3b5abc33340c391090040105581e03ebd839a9aaca685e5425e1f5f7c1ddc127a2c92a9f1b1034582a5bc2b0084708f03745e2200005581e0379cc02d579f748dcdb0de7fdca16e7a87064b289cc1cef83157b58200004010366695db45d9893cc076f647c20dda1664b626167e0eeccf5aa9c5081371862e503aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581d0272245db924bbc8c5a7b8cb33a77cc29a9ffa9a7ec25a1a19798883ff07011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d022ddf21b2fc66195ddcad830c089ce319cb35db57cf181e665a5dca7e07011bffffffffffffffff0219140003a7e64525d01babac8f0474cffbe45ee2bf8d656961be0ba689d0076891b29ba30330f488b22dc9e7dadd73d41f72e917e24ce6f4076086cda5b764f19ff677282502199f770315231d783ff1947656c960d00078dfa365213c74553f769f4081a0bea9307234036e13602dd5b776038c3d64e711f48bf834f9feaec5afe6c86830a1d8df14d86403a54d0353f3bdf893dddeccc1e1418cbf38629ca81d17eb4f706e2343eb170cd0030f3ce7c3e806636ff9be8b7c30577d2fa14b76dfb0a7e4603acde017f019de4503b662d3f3452fcfc6fcbf2291e373183c09379612df0596508eeeebe66ca2b9ee0379307c362f0549fd0aeab795540619dcfe40b99155c2f6faa0cade5f99c86fc803fbf9fb1c7708616c45e5c68a3e6fd31b6476a26aec0a11aa23a9705911daf2bb033b406e7e5a81ba1099950e3cf4beb490cb61df3570d0911550d7745e09ba82c703d3c2b790793881521c654982f3c2c138aae1b28ae8cf824000dfa635247eb10c03f228bd17f8cccebc1c36baf20d4045ffecf02ab64512144e817eedd27100f4d503ae68e5d5330764ebe92266736cc4d4bf9734edfcee7e8c4ecc362292949fe0330219ffff0219ffff03a91c9c4152e645cc6266e6b11da72dc7a83aa3c9443c08b2d7a34707d7d4055103b51e08b9f5058828116de1f88c7bb0f4ffb1526a64829ca0dc60a2935f3de6b103ad3660a9fcbca597b4f26760f50e7c04c9c584c145465eea71eacbc372f6e5be036dc1e35a13d6fdc1f8ad6c079103d46c738f807ec8ec9ffbcbef29c109c78e8f032c681c68bc44ececae22a2339c8bba38873067f68d7c9c7a765730105fc5859603e703dd2b3b3c11eb366ce2e52813d0b7c8da909e6c3862d6f6bc4b539160d09f0219ffff03978393cc3801eb950b9cf4bf42a13297e0af6ef5aea927bc4f2f05141b9757fa034d3595ba7926f763cab73d9b3b13f3d655d60fe88febaa5a2f46daa660849f740356f017bfa47ec033cc30706ca9b8e7e952458f1111d8451aeaf0ef8739c5072303e8bfe00a5badb33a84006908b2f5ba4072578f39f2a3c22534858c39f28079870387695e9226d118b2cd884fa7b2d08851e8f2be1d612670d9cb7a3d5a3624386f036b36f951a552b01845d7ed7eba11a66a174fdb26a1ca28100e550fde2696f21903c8f1ba14fffdfbc4c7fab81013aae90b524aa8c3260b181e0b21e1419fc4142a0219ffff0383c436f2ed2535b40391324be4031f2b6396604961100a58188b49e37ff7c36003a72c8b537115011cb5a0ded6901b45dfbb605d7b1e851898758c73aaca162d8503647451c1e8e754986a1115f2867a708f98f0a2f3fd5a9ef9ced7789344e7673f03f6cebcfb0bc108ecfd3533ea810554944988fad82555813f75e69bff6ce34d6203538fe0b10fb8653fbfb48968f54fa496573b189c5234cbc59cdd40720a467d920361a528ff01216ed7e97af00b419e565d3f3c1967e1a75e86a5fb8e32da9f48d90377072c4cdc2ddbf43604202106f33fcb94da3f2b04b402f9eac321bdd63a365c03db9c41ba8ef84bde9f5eaf7daa0242fdce2bf5ce0364897527f66db5adffb697037f68357f7210dc474b78b04d27c2ee20fcd76b2db79b8a0d87b2d5ec3d6eb73c03525a23c991795a7e6296dfcbb0a0008269773866b1c68d6e512f73f0ed56672c039604efc7290fce41ad55d8c3117d5b436c74a0bd7381ab2a751752f8f6aad394039df28d41194ebebde1e0319a5fbad0f927cf42083ce28bd49cfc4ee842e362d8031bc510f4640f74dc62a66df80a9bd53a06f3d53925a626ed9dca32365c55030103cdb9b3a581a2426ca5068225a04596ff8beb8004fad9f80e4c146678a5754484031636d3af8f8397a12993dbab77c74c8c02d5456d60f51770a55b367bcb4d864b03d710ddf0ceee2b050ee791adb16f822508e225ba101f5c93a11fe98fb2db4dc103e0087eff35f5869b58968a653f12a1507f80f8d584fc5c844f7781d5a5ce16cc030204ce0480ed2f78fe04bc895bd02a8e14a24a812d415c40aef275690f25549003630fa42f78dce19239ef93c67e2e36950e7808b85a55fa2ae1fc8f47b494b57103eb51cc5667b53c1bdec004ad70cec808dc07f46c8c8ab436ebed9ae09a6148e903e421ad7a12fea34f4b0e98d8d26a532467441b452d7d241a7a3a966b5f3dda3a03abdc323bf6bbf880c19bf5ac9db37e599d9a8999cb75d030cff110d289ac5b1b039f53cbedc4189f851c8508a9787999d1235725001154bffef59ad97e6c6fc7f503cac21651a2515ee58729800b8e07f7c3b8b1870af641080fa2a48c1941dac21e05581e03eacd77c2f7e103e6c7e5e5455a621551b0bddd09d327a5e046038070000c0146f1ea9f76bc00037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581d02139a02f633da775304f868d0c27aee84d13262d0fada8413829eb1d407011bffffffffffffffff05581d02fd24aaf2107f7719953779850fa67bf708886d573832c174b41aecdf0c189a4803201a50b85dd21d021948000306a4c25e333e35fd3e3e13829a8cb64d3ebf0a7b5971574bbc49d8b4760f396d05581e03a819c8a74408b86a556fe48fad771ac072d9b28cc5a329240e4d3169a00c014720cb8220219600037b65b8e48a8b8d67288aab5112d8c56a5d83ece73fcb21740b5d36b291754d39035ee82a7a867ddfa145068a14d61efd53969b1dc07e2c2a1ddbbc067be8f1110c0307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e03ffa278b300b9ca3a2882647ff636fbdb759736d727e33b5a5dd45abb1007011bffffffffffffffff038bc0e6036ae14fd12f9d10ee1764041262aa03fb5ddc26175fdcfadd86092fc10219f1760310975b1bd7ccdf9be6336a395a326288a999ab215e8a13649c8ccfade73a233c03176e033c547c7d4c3bd2a83b4a6afb4011081a9750303f8be2cd285dca9c66020320398ff1790e8000db5fb46d0a69940dacd18a1b4b277c78a289a1b3c976ae59037206b54afdb6a849761656c815af2ca2ff2b7cda2ab0db04335c18f4e2d17a5f037d8d3676a4c0b592a8d4f278bc11ecd3a32edd8070acd18a039197a4c1ed9e0603dbd63c87e18058aaa3914620f5dddffaf4b02a96194134430aa973e5aeb32d5b03498100826277102f34ca0594baa8c4586277ce909c19638693c8af61acc1856703942964e4928b8f86e1646591d6b1b10b822c3274449482265066e43de69dfea403dac1f57ea7b557625ee93275a24b0fb9cb8f38abfac4fd08ab22181dce3f183e0314bb347dbe0e056eed009be4ed8d9885bbf3b63198eec5fedc1f33a6baa876ee0219ffff03cedf8efbee16d393de55498c168c06e23d5bc99a2b061632fac43ef7cf4f4952032f43b1c35b5c4690b145e3f5590a2dd0ea67699d4c24aab5b8758dc65ee3c52a032287fc1ba85e0d9eb46718438bff709baf67228b6f9805ac6edf9d09ee7b692c03cdaf27a5eb8511bb396486846e4135982bd39b31c1d2ce62e220b7a0bc716d5a0393bd530341d57dc4bcc3c6cf2f66a5bdcdffacd2f222057cfdd5d97edf7321d5034d7981bcbb4ec9948e5a27245dcefe33cbd718c9dbf4d57e81b3828b347095d6037609b70e7989e47a496367eb5d1c6a8ed8ca3e7242c6dd9967df20281dbaa76d0339275380348ff5fb3826fe3d181f4e0b2be55d8cd1e8831056e36a3a0142daab03b5d6fe6bd119fa9a2575f66f576491cafc341187b608fc096984c9c305f15b090219ffff03a6f1b740f1922c3074a517c48d9944dbb62d7811c46b90fb2f3c94615e5048b5039fdf56e6ed53c7036653d43acdcc3e5a2c8148ccb18f2dcd68a62fef572a060703ebc2eacc24d0fe09373572cef2d824c34979809900ab0e888526ade487b556d90310aa51fde26ad16ad5a6af03a11e2a820d72d2d1747d01c4b1c5ed49e5d718f9031c6d1fb4029050b5e6982ae8151ccd8127bfcf1e019dacdb74cc240314b83e61036c203ab15c9090acee1f8bc9379586df279d42717c122220e2702af645c635160375e8a7514961b25d050c5a6c0f4adcd53017e8a1bdcc7a358324fbdc228e478a0316f3cfc3dd18b6899d2efc8fcf79f40f42f948f9eb3f2a90d9347e24be0761730219ffff0302c76541014648908e6d843d1473194cdc02f231d3da5905de54c7657a344dc203baa5485c83c3be6d497d0ff4d62bc7d44fee70a55f3f7ef2546f5adc7bd0539603890b304089123877d9009aec57be59ae8cbb40a1f5ac38f59af37f293636f9ff03b735d9c134bc44d42465c8baf06e61a9119d37a01c5519e4ada241ac8c7948950393c7a6da600b18af127a1181a52dc0a4ece8232fc2cfd25b4c77ae11e55c2cd80342a2db2dbe5de07ee3f0e47fcfb902f449aa5f0b0c216e7e6e24be0c6d1d2b3d037a0ad79b63f572d9b47a5f68e2ccb742e82a853aa9400859ef9b7523e1661ac1039a2d8caff34056b4596146ef5d95d2418a1a777d09688ada4ecc9b547fc1397f03df26725b832d8cc15dc384a88f72def7fca6c33287cfd2858ce1e22c4198fd9903e50e50ecd57dc17b19c56518df5c800a3a3bef78706d5323e941b36147de107503172fdcb01218a26ea7bef4f0e26b0ae63aa36edb867a5d28a6bfa8756823220e030b5526cbc1cb3fda47b173a6bf4c1b01c66ad51ee521e9fa42040b0cc6e0408a0219ffff030b78d874b47838da19fb3fad4153a8d585afca6fe8456accfdab8b1bcabd51c3032149dc10f1e84f5a44479fe4a97f573e107bec76ebf71174551d0a7e6ef1a9bc036bde6676fc54725d9958fb723d8e7a96beb89261bf816eae0756f025c16385e2030f244c18d1b6d45ae33d920fe0a43b7573aab2a1dfbe3a3afa81590ce0c07cb003ebcb25520c0a809dc7b13e35aa24553c894e24398e3986e9504d82d63f9bce4c0361b7a7d10656df0ea4283f5d73504a730be246fadb0c0be2beede9a78851e4df0306cc6eb8781132c4bb015069e3f02dd31c238ea3611d8ab975508a1fb48a1c9303868b55fcc1f18d63eef54a420ebb429a25e4b76977a8169ff466f0d12a02c0ca035d396f0820391d82eabcc84e90200d51ab17d4603f99c8c1ba82b48b53d0f31f03a8824d6f2af11198601f72bda32683ee6bd78d9020c27364c4d37c0716cd861003ddfd01047dd2d48ef6a311d47ad929e6be8e160b6a80d182c403f3a5a35bd69903632760120d62deb05ad482f54166a7bd4ce383dcf9ee9b574a2a446470f640a105581e031365d1ba03e39644f466049dfcc7b9f18a265fe98020fbfc438f2bc1b0040205581e03d2967e0b4bd00e86ae1113fd73692c6c9b8fbf328eaaf35878cdca30300c0147025c857fec000005581e03a1317acb2f2e4107ea304b06b70540c2ec9f719dee4064ed12acb2b650040305581d025584cb5416c478db5cd3337dfeefb10bb6937760864ff981ddc91fdd0c0146e9680633418804592dac6080604052600436106100c75760003560e01c806381cbd3ea11610074578063c25ff0261161004e578063c25ff026146101b5578063d555d4f9146101ca578063d830a05b146101df576100c7565b806381cbd3ea1461016957806382678dd61461018b5780638e81a2d4146101a0576100c7565b8063439fab91116100a5578063439fab911461012157806354e3f31b146101415780637a3226ec14610154576100c7565b806312070a41146100cc5780632298207a146100f757806330d643b51461010c575b600080fd5b3480156100d857600080fd5b506100e16101f4565b6040516100ee919061280b565b60405180910390f35b61010a610105366004612496565b610218565b005b34801561011857600080fd5b506100e1610525565b34801561012d57600080fd5b5061010a61013c366004612429565b610549565b6100e161014f3660046124cf565b61057b565b34801561016057600080fd5b506100e16106e8565b34801561017557600080fd5b5061017e61070c565b6040516100ee9190612743565b34801561019757600080fd5b506100e1610730565b3480156101ac57600080fd5b5061017e61075c565b3480156101c157600080fd5b506100e1610780565b3480156101d657600080fd5b506100e16107a4565b3480156101eb57600080fd5b506100e16107c8565b7f000000000000000000000000000000000000000000000000000000000000213481565b42816101a001351015610260576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612bc3565b60405180910390fd5b600080610275610140840161012085016123f3565b73ffffffffffffffffffffffffffffffffffffffff16146102a7576102a2610140830161012084016123f3565b6102a9565b335b90506000806104516102be60a0860186612bfa565b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506102fd9250505060c0870187612c66565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061033f9250505060e0880188612bfa565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061037f92505050610100890189612bfa565b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506103be9250505060208a018a6123f3565b6103ce60408b0160208c016123f3565b8a604001358b606001358c608001358d6101400160208101906103f191906123f3565b8e61016001358f8061018001906104089190612c66565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508f6107ec565b909250905061046660408501602086016123f3565b73ffffffffffffffffffffffffffffffffffffffff1661048960208601866123f3565b73ffffffffffffffffffffffffffffffffffffffff9081169085167f4cc7e95e48af62690313a0733e93308ac9a73326bc3c29f1788b1191c376d5b66104d76101e089016101c08a0161240f565b6104e96101608a016101408b016123f3565b6101608a0135336104fe60408d01358a610a53565b8a8d60800135604051610517979695949392919061279b565b60405180910390a450505050565b7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb281565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612999565b600042826101a0015110156105bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612bc3565b61012082015160009073ffffffffffffffffffffffffffffffffffffffff16156105eb578261012001516105ed565b335b90506106388360a001518460c001518560e001518661010001518760000151886020015189604001518a606001518b608001518c61014001518d61016001518e61018001518d610acf565b9150826020015173ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fe00361d207b252a464323eb23d45d42583e391f2031acdd2e9fa36efddd43cb0866101c00151876101400151886101600151338a604001518a8c608001516040516106d9979695949392919061279b565b60405180910390a4505b919050565b7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4981565b7f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f781565b6000604051602001610741906126f1565b60405160208183030381529060405280519060200120905090565b7f000000000000000000000000e92b586627cca7a83dc919cc7127196d70f55a0681565b7f000000000000000000000000000000000000000000000000000000000000271081565b7f000000000000000000000000000000000000000000000000000000000000138881565b7f00000000000000000000000000000000000000000000000000000000000001f481565b6000806107f7610d16565b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff1614610830576000610832565b885b341461086a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612a9b565b600088116108a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612a64565b8c518f51600101146108e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102579061284b565b8b518f511461091d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612905565b6109288b8a86610d2e565b6109348f8f8f8f610e06565b61093e8a3061108a565b91508782101561097a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612b66565b6109848b3061108a565b905060006109928a83610a53565b905061099e8787611185565b158015906109b257506109b08661121b565b155b80156109c457506109c286611235565b155b156109e6576109d68b84868a8a61123f565b6109e18c338461127f565b610a40565b6109f18b858561127f565b6109fb8787611185565b15801590610a0d5750610a0d8661121b565b15610a1f576109e18c82848a8a611386565b87811015610a35576109e18c888a84868b6113d1565b610a408c338461127f565b509d509d9b505050505050505050505050565b600082821115610ac457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b6000610ad9610d16565b73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614610b12576000610b14565b875b3414610b4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612a9b565b60008711610b86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612a64565b8b518e5160010114610bc4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102579061284b565b8a518e5114610bff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612905565b610c0a8a8985610d2e565b610c168e8e8e8e610e06565b610c20893061108a565b905086811015610c5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612b66565b610c668585611185565b15801590610c7a5750610c788461121b565b155b8015610c8c5750610c8a84611235565b155b15610ca357610c9e898284888861123f565b610d05565b8581118015610cb85750610cb68461121b565b155b15610ccb57610c9e898387848a8961149b565b610cd689838361127f565b610ce08585611185565b15801590610cf25750610cf28461121b565b15610d0557610d038a89878761155f565b505b9d9c50505050505050505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90565b610d36610d16565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610e0157610d7283826115a6565b6000546040517f15dacbea00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906315dacbea90610dce908690339030908890600401612764565b600060405180830381600087803b158015610de857600080fd5b505af1158015610dfc573d6000803e3d6000fd5b505050505b505050565b60005b845181101561108357600054855173ffffffffffffffffffffffffffffffffffffffff90911690869083908110610e3c57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415610e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610257906128a8565b7f000000000000000000000000e92b586627cca7a83dc919cc7127196d70f55a0673ffffffffffffffffffffffffffffffffffffffff16858281518110610ed557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415610f1b57610f16838281518110610f0857fe5b602002602001015185611791565b610fbe565b6000838281518110610f2957fe5b602090810291909101810151868101909101519091507fffffffff0000000000000000000000000000000000000000000000000000000081167f23b872dd000000000000000000000000000000000000000000000000000000001415610fbb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612a07565b50505b6000611041868381518110610fcf57fe5b6020026020010151848481518110610fe357fe5b6020026020010151868581518110610ff757fe5b602002602001015161103b88878151811061100e57fe5b602002602001015189886001018151811061102557fe5b6020026020010151610a5390919063ffffffff16565b896119b4565b90508061107a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612ad2565b50600101610e09565b5050505050565b600073ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156110dc575073ffffffffffffffffffffffffffffffffffffffff811631610ac9565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906370a082319061112e908590600401612743565b60206040518083038186803b15801561114657600080fd5b505afa15801561115a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061117e9190612660565b9050610ac9565b600073ffffffffffffffffffffffffffffffffffffffff83166111aa57506000610ac9565b60f882901c806111bc578291506111c4565b82613fff1691505b7f00000000000000000000000000000000000000000000000000000000000001f482116111f15781611213565b7f00000000000000000000000000000000000000000000000000000000000001f45b949350505050565b600060f882901c15801590610ac957505061800016151590565b6201000016151590565b600061124b8383611185565b905060008061125a87846119dc565b9150915061127588876112708a8c8a8888611a38565b61127f565b5050505050505050565b8015610e015773ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156113655760008273ffffffffffffffffffffffffffffffffffffffff1682612710906040516112e190612740565b600060405180830381858888f193505050503d806000811461131f576040519150601f19603f3d011682016040523d82523d6000602084013e611324565b606091505b505090508061135f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612814565b50610e01565b610e0173ffffffffffffffffffffffffffffffffffffffff84168383611c7f565b60006113928383611185565b90506000806113a187846119dc565b9092509050856113b18383611d0c565b116113c6576113c38689878585611a38565b95505b61127588338861127f565b60006113dd8585610a53565b905073ffffffffffffffffffffffffffffffffffffffff861615611422576000806114088385611d87565b91509150611419858a8a8585611a38565b94505050611490565b600061145a612710611454847f0000000000000000000000000000000000000000000000000000000000002710611e6e565b90611ee1565b60015490915061148290899073ffffffffffffffffffffffffffffffffffffffff168361127f565b61148c8482610a53565b9350505b610dfc87338561127f565b60006114a78484610a53565b905073ffffffffffffffffffffffffffffffffffffffff8516156114ec576000806114d28385611d87565b915091506114e3868a898585611a38565b95505050611554565b600061151e612710611454847f0000000000000000000000000000000000000000000000000000000000002710611e6e565b60015490915061154690899073ffffffffffffffffffffffffffffffffffffffff168361127f565b6115508582610a53565b9450505b610dfc87878661127f565b60008061156c8484611185565b90508061157c5784915050611213565b60008061158987846119dc565b9150915061159a8789888585611a38565b98975050505050505050565b805160e0141561169a5760008273ffffffffffffffffffffffffffffffffffffffff1663d505accf60e01b836040516020016115e39291906126b1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905261161b916126e5565b6000604051808303816000865af19150503d8060008114611658576040519150601f19603f3d011682016040523d82523d6000602084013e61165d565b606091505b5050905080611698576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612962565b505b8051610100141561178d5760008273ffffffffffffffffffffffffffffffffffffffff16638fcbaf0c60e01b836040516020016116d89291906126b1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611710916126e5565b6000604051808303816000865af19150503d806000811461174d576040519150601f19603f3d011682016040523d82523d6000602084013e611752565b606091505b5050905080610e01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612962565b5050565b818101602081015160e01c906024016398f9b46b8214806117b557508163bbbc2372145b806117c257508162154008145b806117d0575081633c3694ab145b806117de57508163c88ae6dc145b806117ec57508163b28ace5f145b806117fa5750816324abf828145b806118085750816330201ad3145b8061181657508163da6b84af145b8061182457508163f6c1b371145b156118a15780518073ffffffffffffffffffffffffffffffffffffffff81161580611864575073ffffffffffffffffffffffffffffffffffffffff811633145b61189a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610257906129d0565b50506119ae565b8163077822bd14806118b657508163c8b81d63145b806118c4575081631c64b820145b806118d25750816301fb36ba145b1561197c578051810180516020820160005b828110156119735760209390930180518201519093908073ffffffffffffffffffffffffffffffffffffffff81161580611933575073ffffffffffffffffffffffffffffffffffffffff811633145b611969576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610257906129d0565b50506001016118e4565b505050506119ae565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025790612b09565b50505050565b6000806000905060405160208401600082878984018b8d5af193505050505b95945050505050565b600080806119f06127106114548787611e6e565b9050611a22612710611454837f0000000000000000000000000000000000000000000000000000000000002134611e6e565b9250611a2e8184610a53565b9150509250929050565b600080611a458484611d0c565b905080611a5557869150506119d3565b86811115611aae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612d526024913960400191505060405180910390fd5b611ad9867f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f78361127f565b8315611ba7577f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f773ffffffffffffffffffffffffffffffffffffffff1663d1f4354b8688876040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015611b8e57600080fd5b505af1158015611ba2573d6000803e3d6000fd5b505050505b8215611c6a57600154604080517fd1f4354b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff928316600482015288831660248201526044810186905290517f000000000000000000000000ef13101c5bbd737cfb2bf00bbd38c626ad6952f79092169163d1f4354b9160648082019260009290919082900301818387803b158015611c5157600080fd5b505af1158015611c65573d6000803e3d6000fd5b505050505b611c748782610a53565b979650505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610e01908490611f62565b600082820183811015611d8057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080613fff83166127107f000000000000000000000000000000000000000000000000000000000000138882011115611e2257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e76616c6964206665652070657263656e7400000000000000000000000000604482015290519081900360640190fd5b611e52612710611454877f0000000000000000000000000000000000000000000000000000000000001388611e6e565b9150611e646127106114548784611e6e565b9250509250929050565b600082611e7d57506000610ac9565b82820282848281611e8a57fe5b0414611d80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612d316021913960400191505060405180910390fd5b6000808211611f5157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611f5a57fe5b049392505050565b6060611fc4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661203a9092919063ffffffff16565b805190915015610e0157808060200190516020811015611fe357600080fd5b5051610e01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612d76602a913960400191505060405180910390fd5b606061121384846000858561204e8561219a565b6120b957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061212357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120e6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612185576040519150601f19603f3d011682016040523d82523d6000602084013e61218a565b606091505b5091509150611c748282866121a0565b3b151590565b606083156121af575081611d80565b8251156121bf5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561222357818101518382015260200161220b565b50505050905090810190601f1680156122505780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b80356106e381612d0b565b600082601f830112612279578081fd5b813561228c61228782612ced565b612cc9565b8181529150602080830190848101818402860182018710156122ad57600080fd5b60005b848110156122d55781356122c381612d0b565b845292820192908201906001016122b0565b505050505092915050565b600082601f8301126122f0578081fd5b81356122fe61228782612ced565b81815291506020808301908481018184028601820187101561231f57600080fd5b60005b848110156122d557813584529282019290820190600101612322565b80357fffffffffffffffffffffffffffffffff00000000000000000000000000000000811681146106e357600080fd5b600082601f83011261237e578081fd5b813567ffffffffffffffff81111561239257fe5b6123c360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612cc9565b91508082528360208285010111156123da57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612404578081fd5b8135611d8081612d0b565b600060208284031215612420578081fd5b611d808261233e565b6000806020838503121561243b578081fd5b823567ffffffffffffffff80821115612452578283fd5b818501915085601f830112612465578283fd5b813581811115612473578384fd5b866020828501011115612484578384fd5b60209290920196919550909350505050565b6000602082840312156124a7578081fd5b813567ffffffffffffffff8111156124bd578182fd5b82016101e08185031215611d80578182fd5b6000602082840312156124e0578081fd5b813567ffffffffffffffff808211156124f7578283fd5b81840191506101e080838703121561250d578384fd5b61251681612cc9565b90506125218361225e565b815261252f6020840161225e565b602082015260408301356040820152606083013560608201526080830135608082015260a083013582811115612563578485fd5b61256f87828601612269565b60a08301525060c083013582811115612586578485fd5b6125928782860161236e565b60c08301525060e0830135828111156125a9578485fd5b6125b5878286016122e0565b60e08301525061010080840135838111156125ce578586fd5b6125da888287016122e0565b8284015250506101206125ee81850161225e565b9082015261014061260084820161225e565b9082015261016083810135908201526101808084013583811115612622578586fd5b61262e8882870161236e565b8284015250506101a0915081830135828201526101c0915061265182840161233e565b91810191909152949350505050565b600060208284031215612671578081fd5b5051919050565b60008151815b81811015612698576020818501810151868301520161267e565b818111156126a65782828601525b509290920192915050565b60007fffffffff00000000000000000000000000000000000000000000000000000000841682526112136004830184612678565b6000611d808284612678565b7f53494d504c455f535741505f524f55544552000000000000000000000000000081527f312e302e30000000000000000000000000000000000000000000000000000000601282015260170190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292166040820152606081019190915260800190565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000097909716875273ffffffffffffffffffffffffffffffffffffffff95861660208801526040870194909452919093166060850152608084019290925260a083019190915260c082015260e00190565b90815260200190565b60208082526018908201527f4661696c656420746f207472616e736665722045746865720000000000000000604082015260600190565b60208082526036908201527f537461727420696e6465786573206d757374206265203120677265617465722060408201527f7468656e206e756d626572206f662063616c6c65657300000000000000000000606082015260800190565b60208082526028908201527f43616e206e6f742063616c6c20546f6b656e5472616e7366657250726f78792060408201527f436f6e7472616374000000000000000000000000000000000000000000000000606082015260800190565b60208082526028908201527f63616c6c65657320616e642076616c756573206d75737420686176652073616d60408201527f65206c656e677468000000000000000000000000000000000000000000000000606082015260800190565b6020808252600d908201527f5065726d6974206661696c656400000000000000000000000000000000000000604082015260600190565b60208082526016908201527f4d4554484f44204e4f5420494d504c454d454e54454400000000000000000000604082015260600190565b60208082526011908201527f756e617574686f72697a65642075736572000000000000000000000000000000604082015260600190565b60208082526029908201527f7472616e7366657246726f6d206e6f7420616c6c6f77656420666f722065787460408201527f65726e616c43616c6c0000000000000000000000000000000000000000000000606082015260800190565b60208082526013908201527f746f416d6f756e7420697320746f6f206c6f7700000000000000000000000000604082015260600190565b60208082526013908201527f496e636f7272656374206d73672e76616c756500000000000000000000000000604082015260600190565b60208082526014908201527f45787465726e616c2063616c6c206661696c6564000000000000000000000000604082015260600190565b60208082526028908201527f756e7265636f676e697a6564204175677573747573524651206d6574686f642060408201527f73656c6563746f72000000000000000000000000000000000000000000000000606082015260800190565b60208082526030908201527f526563656976656420616d6f756e74206f6620746f6b656e7320617265206c6560408201527f7373207468656e20657870656374656400000000000000000000000000000000606082015260800190565b60208082526011908201527f446561646c696e65206272656163686564000000000000000000000000000000604082015260600190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c2e578283fd5b83018035915067ffffffffffffffff821115612c48578283fd5b6020908101925081023603821315612c5f57600080fd5b9250929050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c9a578283fd5b83018035915067ffffffffffffffff821115612cb4578283fd5b602001915036819003821315612c5f57600080fd5b60405181810167ffffffffffffffff81118282101715612ce557fe5b604052919050565b600067ffffffffffffffff821115612d0157fe5b5060209081020190565b73ffffffffffffffffffffffffffffffffffffffff81168114612d2d57600080fd5b5056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77496e73756666696369656e742062616c616e636520746f2070617920666f7220666565735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c6343000705000a0605581d0220ab01d123215cdd2743ab1a061fcf544864c9deca113651af9cbed90701192dac0219042005581e0350e4904b4869ac41550d5b7cf1feb13b9132f0738ba4bde735e2c760b00c02470527f0861ec0c8038b8100cfd0a82cf50440496ddd05da71ea386c199f57ea75dc47a5ad2c84b1d303c7fdfdfc710dc54ab166b5deb8cc6e56f76f8d856dc37607542dbc2e0f05457805581e03ad660e2e74fb2c6e14b226837c9da72b68c9fba76e2af8de3a73be3ea00c04462cccc397634805581e0335a02858417eb805d2c4ecafd888354af7a699c1ba61c431a647f87af0040302192bcf03d4162724251306cce24833acd29e68e223f5ee36d742777caa189102b821fa4103046479fa9d2c708eb30f1880789f69731222e8936c4844c4a906e75d43173cf103db88a1f8bb0f41631de1f647678070390243d9bf7ac4976915829bdeb4aa836f0389e5e6f8aa646c862fbab4d9510f835051a532dac2adb42a3adddcabaf06b3310300ec086efd01b2d2d13b8b0a5a919a27dc01f256975ae151370dc9e25e499a5e0304154e484ff04efb769fb8d2979225bcc6b273079986a10ecf1c33f864b4b33e03f2847267351e1e5657bde1c727b660ae12621b6a9a5d1a81817bc3bc614ba9cf03431c4d9a29306dd032352145b9dc66bc0440a2ed6b7b48c7670bad2e4c46b1a203af0445d5938886eebbda53217151bde8bb3f6b4f9c00b4dc309a8949eb20ba02031bdcec61a550932dec255b5be8f9622e42ebe3ccd61c506c69c3e27fcd3f685b035ca74bc148bb8548a9f26bae5b7facfb6437abf1e540044ee54b1d09c5bccf12032123cf0249c55718b9458a592c70a8266b79d5aebe21aca6fe3632890707753b03c66debab041fa88de84321b42a15a13d6fcb8fd42cf94e38df72d421ce82fcf7035b9142b4acde577c3141f2d8e9633fd4d4c86557decb5f09d0f11d5434ae64450219ffff03962d7fa7c6d5c7d3dc01e9e47722e5a7bddcb844a7a2c21d6f4ced2558f794f50353fddafe0dd9f6525ff0ace184af6ebaa7a655d4f7d99567f7686bda0a4e15f703eca703863e8121bd916d77250abe0d41844500cf7fcfcebdb0585adb5281599603c13042379e35c5ee01186189ecb2e60168c53d26d8b77e4d8ec34ba00ed5fd770388251614b9b75e075d088dcf546c7009e9814744a77bb1042aed3623f606395f03e2ad45b99f27b408bdf3cd887dffe514aa40cf9c448f104e91570cbff72eb26c03a5d6cc7645e8d150cc2cb412ac522549019f392ce79ddae65ccfdc7ae773f4530325bafc4a8908abd01c77b475a129e17ca303bc50bfa4f086a2b1ddcae0a6b85f0327933f127af048fa77c889d86ebe11df194da52bec241f20cd877397ef55b6fe03b1353ea4ae5e6d3f1c38ebc41b0a2c86d1c27649ae3e98b7721512f9543acf34030f2ba9dd55df699104737167b8e8d29fc742da3c3567d124a75c2c6ea6e4694b0219ffff03a5239fb90bed835dd425e4b792bc3135612f1c02cfb60252c076ba70513c3ca4034af203337040bc8d76f7874659369cdd4d865c0c5370de888b6322f6f70150bd03686c1f233b77c8fb58b6e5fc3ab5f9fe5b0cebb2f6bfba293bc71ea6a65e9ced030e7948a8f4ed2bc31ab4602a7f43bbfbd9e5a236daedb00c868783e33fcbce7b03c27a5c448a11c0569c34754fd9b57686d9eb853aaaffd1e800bc1a9c8b26b6330363235598093705ef0cedefa0ffa7f07481ef093e8361f12647dfeb1609d4b7e603928a15cb0b1ca339fd7df812cc02606bd29195cbda6d436866484d11b484f17f030954506ddff645e6097da6ea6d2c6dcc26022e96b3213c4173be9a8fdd12dfca03087067ba237a8936085d61c0d39bc42ec1b59655bd4419e5d3fc1dae377fd01c03d9730065c29f2f9f649d222d892c62a146e89d5dd5ee3df182868d3c19495d1703393812ec1323975ecbc01e3d0ebda9617c03577cd835978a5c4485bdfaf30724037be7e261648c9af0d8ad252cdbffeb2a63ca3fb513460d93218ca2643ab925a0035888b455343b13500a7099f3ae6dfa9d4d43cdc878a8aba0463c988a92441d25031e058012e36d7ce7abe32e5f39592152921b6ce79dbbc81fd908cf8cf2358d300219ffff03638df2474a916be606dac0a9419476fafe40775ae15a7aabce13585188a1467d039dc5fa63aed87814812b3ed5f9f5bd202ba0fe95b82ff1a892783a2a5eaacb5203a0f9a161aeacb6a5a20f68cb7f342adabdd93d7fb98b4acdfd8d7acb30919b830315a4f1d7dbd8a741ff64753d943443fdedefb3de446a0885b40d441ec7e72fec0396c323a439ddd95d383bf09baf98101d77cf238a04afeb8e79c6e4c7d08d2318031885c7817477487d07972749a324104c2f8dfb8845ce530dd5089cff5181daef03aa02ffa79a95ae67456c5ca34d712da0cb6a82aaf4c9fff05eed48db1b88a40e032049d45e25add79e1ad6ed3bf3bdcac3e4b7151b360d7bc0c20bd5c46e42f5c803c88831ea69888eadd9d687cabbc92ba0362dc6b92fa35b92b737aae0d85e735803d32016cf455ef3d5f4859093058d3f9d4e3b9ad0b82d85c98ace87182f80e37f030d4a8136fdd447ad62d3afa871d59bb04629d0b7ecb2aa8c58e57794c3a436ca03fcfb272d2302442c4d3b50f38855372f2d3002f74e77145115ddc8f3530fa6d7033effbf97f1c2a48715d1ea3bb538abcf638fd64c3a558ef646a679bd2861f9f1039764e56610fedc2a7642d57dd48bc4c47720b1e9eeb72bd3d59c9525b7c69fe1033526fa25b6e4a729b367da2bea8a11a63cb1501f4be5443299043ff269d59147033fce8e669f37b0742b84d407c90acb65dd658ee4570a01df770154ef65d0017803a572780cdd9c6b959855567ba37b2fd05977396770025f6dc6e41293542cfb650331692b0dce08f707300751309ab115aae53972ded7fe51b45e52a397592551cd03396039274d906cb1bba7c4bf324abf3653871cb90d0d043ff3dd4cb2129421f103fe389f6f6264cdbae75dfb9095cbb87f7cef7f42068f9b9e43cb748ce04116c803756f61752753f72ed25c7e979d7776b854adfc83485592652d824985a3fe386803855e728c9ae938b12d21c4972c5b49fa96bff2f20f3e66299b0bf045b2f1ef4d039903ea5ebae29fb84777696371d3f028bf8a6fa7fccbce5ee762c779c5bdf36403c23cce17f24b1b04561396be25cc5c8816db6e12442fc5ad1b0c7854e95a5c5f03a8bb3d34c5156c2c49239a3e73ea424110aa9089ec1ad91a371dc396ad0ee93305581e03dbf741ade28b21790ddc1508da17bbf040fc1fc2d99acdf781b257f130040305581e03b8885ff550322d06181a61fe071c30cfac7737d48420a96ef0e1e7cd800c01410105581e035cda031b92ee999d2f1fdf98404752675e001662203fa5d8d32543de000c02450135bb13a003e9affb8e00475270a6e444b06651ae2a7c58e2bd0ff6e71180130a6d84656db105581e038cb25eadd9cf5f1d831200e461822734a0ab6405ed92b574b6f8aef0200c03468c9d16419ba305581e03eed8c9342b9b04ea16c8b3b61bc1afec298412e25ab078163fb14df280040205581e03dccec88e450ffc2a588a7ac89f5fcda5207cfb8f3227d43e993aa3eb10040105581e03833801f7199f2a65362d716255234f84b681f310a3ccf01a19b729c0c00c195eb0480445d092c189f00203ff69f990906b7600eb13e8bbc99ef4abbec7c2a0152a9ce4c4f5dc3ab9a0b3df05581e033cb345c05ced0d67b2d4e492f4277b67ee9287a6434ac744880158ad100c014701d3fa2f687be005581e03ba2f4e9c81da79c35d7aff905badd11c9e0c83c4cd916f5e5f9b5346e00c02471ca30dd36bdce805581e03f79c582db44ae7b2547eab285a9616dc1cdbd6d9ce0edc5796a57ec6c00c014731b0d36b567d8202197ff40219ffff03f2355782ca6c6ff6a40d1f60e99a9c68589e89a02a4e7ab4cb110f294d9fc33903181432891d3f4de2e291613ae75861bf755a475f8e8e94800b73b989bcf0043e038feabb9d001c72522c198fe3d3dbebbd282eb6eaedb2352537c48cecab839ddb0301d3647d728bad32ef6662a2d44645bc35dd23f5884838d6bf7e1762b2be0b3a0328e39853ad6eb913e0cbd7789b7055f1972db18c0412b2af5c4bb2c78011ecd3030875f242390c745e0694a618c3f735799a8eb91d4c5688d5c48d8fb2df18999803685569e8389e9f75ba38ae5f0eae313f38e12b7329977fd5dbed9dab6cb8a32b03232f32188b5878d74b67f3b5b5cbe01869a5789fecfdd2e826d20e304363d70f03407899ca743073ca891e6b470b36b37705b69884f6c524375aa5199b8340aecd03e439a45a6490b48d140ce5b97eda837f34a169f8d91d2535765c77f4c43ede1203a8f1fc9066c47c0318ef9bca4cdedb16ab1ba66fe5dd90346c3c7a5ffb0c196303833931f156a5907a1a36bfe83121fbfdde983740c6c6bc83d0eb0d73c8077ce603b937340bddc0a638c84cc235ff00a94a6b9e9c9923ebb54771dff06bdbd8456d03ab8c421b85d1ed63a91ec3ab495a2f52c8cd2ffedd8c2e7ea110a851b6be300c0350d32df87ecbd756e1385bb3ca3d3d6d70426ba68497532c168ab5ca9caf3be40219ffff03bd29e8800f1f8b97c4ab7c57d9504009f9f6d1e7ec763034890b44f0fe0a556803e50e30a4be6c8f0fe00e0726a94a14a77b214c89414f1f0c95b98b383682f3fd031af4dfd942299a7b5df88507ce2199d664eedbcb7bea0dbbe53325f99147562503cd6d317aaf15ec515b20e7ace96d71a0f4a00a3e477cc8d27f625cfaaed3d8b5037a5517634d70288b5808178bb5f7d676a4b09a561945061521d3b8769b1750480311754a4f66da70b5d828a80602ee145e9895660a88bbf9e54c170e3daa7a9f7d0219ffff030fbfe5a2343632627bcb8427e503721e67f14fbe3ec7bbe8b6ea0cc95895e5cd032f6ef61bf1261fb75c05313bbda29fb473dde846da42575bd122ed7b6968ff2f03296979b9ffab9b6d4020114aedbbbd6f1d9fcc0d0f386d6c0b96ecc2957e3ed2033f08c379d6a1eb96ce7fbfd9b9469b0f917fdec14dd02b753dfe2d2c857551ef03960fff58e6b4c8fff23911ea32a2f25f9aec305ce767186198f01bc1ade79e7503f9c4a9a441365ba6695f62fc20d8ce5acf9dd4cbe21ebf17b15a130bba4004180317458a9fcfff1693367668139b756c8393573e8010127cd4b637c4ac69b6afb5034151a28f5404433e426376acf6f7e351895747fdfb416da3ebb25b05c492fbfa03eff1a829dbc0be6c8e0941e372a0d8c0c45f0fd28147911dde9f1e35b32bbc3103fc8bc5b4d1967100090e1c91f4cb8b9a55ec26ae097625db11e1f6534433e91b035e1808766e0fb9b4e6ef530102d76ab652b34f54608ebd5f3a3572ae9ef16f0b03c146cc4063b37da9eb913f0949a81094daa9cea2cb11601051f4acd48938451f0355971b8c735b604dab497f6176d19a1ae9cbbf749b220c5f90cd312d8a2b1dc2030f34a10b6c594f6cdbf7b05086ecaf5fbeee4201d5415cbc292f91b5c0eb7d100338949b52d11b54604f04988f5178bf24c264608fa1a95d9170f4a7e1d18d53b7045916e46080604052600436106101435760003560e01c806388786272116100c0578063cf8e5cf011610074578063dcec334811610059578063dcec3348146103ce578063e4a30116146103e3578063f4daa2911461040357600080fd5b8063cf8e5cf01461038e578063d1de856c146103ae57600080fd5b80639aaab648116100a55780639aaab648146102eb578063a25ae557146102fe578063bffa7f0f1461035a57600080fd5b806388786272146102b357806389c44cbb146102c957600080fd5b806369f16eec116101175780636b4d98dd116100fc5780636b4d98dd1461022457806370872aa51461027d5780637f0064201461029357600080fd5b806369f16eec146101fa5780636abcf5631461020f57600080fd5b80622134cc146101485780634599c7881461018f578063529933df146101a457806354fd4d50146101d8575b600080fd5b34801561015457600080fd5b5061017c7f000000000000000000000000000000000000000000000000000000000000000281565b6040519081526020015b60405180910390f35b34801561019b57600080fd5b5061017c610437565b3480156101b057600080fd5b5061017c7f000000000000000000000000000000000000000000000000000000000000070881565b3480156101e457600080fd5b506101ed6104aa565b60405161018691906113f2565b34801561020657600080fd5b5061017c61054d565b34801561021b57600080fd5b5060035461017c565b34801561023057600080fd5b506102587f0000000000000000000000006f8c5ba3f59ea3e76300e3becdc231d65601782481565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610186565b34801561028957600080fd5b5061017c60015481565b34801561029f57600080fd5b5061017c6102ae366004611443565b61055f565b3480156102bf57600080fd5b5061017c60025481565b3480156102d557600080fd5b506102e96102e4366004611443565b610778565b005b6102e96102f936600461145c565b610a4e565b34801561030a57600080fd5b5061031e610319366004611443565b610ecd565b60408051825181526020808401516fffffffffffffffffffffffffffffffff908116918301919091529282015190921690820152606001610186565b34801561036657600080fd5b506102587f000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c581565b34801561039a57600080fd5b5061031e6103a9366004611443565b610f61565b3480156103ba57600080fd5b5061017c6103c9366004611443565b610f99565b3480156103da57600080fd5b5061017c610fe7565b3480156103ef57600080fd5b506102e96103fe36600461148e565b61101c565b34801561040f57600080fd5b5061017c7f0000000000000000000000000000000000000000000000000000000000093a8081565b600354600090156104a15760038054610452906001906114df565b81548110610462576104626114f6565b600091825260209091206002909102016001015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16919050565b6001545b905090565b60606104d57f0000000000000000000000000000000000000000000000000000000000000001611285565b6104fe7f0000000000000000000000000000000000000000000000000000000000000003611285565b6105277f0000000000000000000000000000000000000000000000000000000000000000611285565b60405160200161053993929190611525565b604051602081830303815290604052905090565b6003546000906104a5906001906114df565b6000610569610437565b821115610623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f4c324f75747075744f7261636c653a2063616e6e6f7420676574206f7574707560448201527f7420666f72206120626c6f636b207468617420686173206e6f74206265656e2060648201527f70726f706f736564000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b6003546106d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f4c324f75747075744f7261636c653a2063616e6e6f7420676574206f7574707560448201527f74206173206e6f206f7574707574732068617665206265656e2070726f706f7360648201527f6564207965740000000000000000000000000000000000000000000000000000608482015260a40161061a565b6003546000905b8082101561077157600060026106f5838561159b565b6106ff91906115e2565b90508460038281548110610715576107156114f6565b600091825260209091206002909102016001015470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1610156107675761076081600161159b565b925061076b565b8091505b506106df565b5092915050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000006f8c5ba3f59ea3e76300e3becdc231d656017824161461083d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f4c324f75747075744f7261636c653a206f6e6c7920746865206368616c6c656e60448201527f67657220616464726573732063616e2064656c657465206f7574707574730000606482015260840161061a565b60035481106108f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f4c324f75747075744f7261636c653a2063616e6e6f742064656c657465206f7560448201527f747075747320616674657220746865206c6174657374206f757470757420696e60648201527f6465780000000000000000000000000000000000000000000000000000000000608482015260a40161061a565b7f0000000000000000000000000000000000000000000000000000000000093a8060038281548110610928576109286114f6565b6000918252602090912060016002909202010154610958906fffffffffffffffffffffffffffffffff16426114df565b10610a0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f4c324f75747075744f7261636c653a2063616e6e6f742064656c657465206f7560448201527f74707574732074686174206861766520616c7265616479206265656e2066696e60648201527f616c697a65640000000000000000000000000000000000000000000000000000608482015260a40161061a565b6000610a1660035490565b90508160035581817f4ee37ac2c786ec85e87592d3c5c8a1dd66f8496dda3f125d9ea8ca5f657629b660405160405180910390a35050565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000642229f238fb9de03374be34b0ed8d9de80752c51614610b39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f4c324f75747075744f7261636c653a206f6e6c79207468652070726f706f736560448201527f7220616464726573732063616e2070726f706f7365206e6577206f757470757460648201527f7300000000000000000000000000000000000000000000000000000000000000608482015260a40161061a565b610b41610fe7565b8314610bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f4c324f75747075744f7261636c653a20626c6f636b206e756d626572206d757360448201527f7420626520657175616c20746f206e65787420657870656374656420626c6f6360648201527f6b206e756d626572000000000000000000000000000000000000000000000000608482015260a40161061a565b42610bff84610f99565b10610c8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4c324f75747075744f7261636c653a2063616e6e6f742070726f706f7365204c60448201527f32206f757470757420696e207468652066757475726500000000000000000000606482015260840161061a565b83610d19576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4c324f75747075744f7261636c653a204c32206f75747075742070726f706f7360448201527f616c2063616e6e6f7420626520746865207a65726f2068617368000000000000606482015260840161061a565b8115610dd55781814014610dd5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604960248201527f4c324f75747075744f7261636c653a20626c6f636b206861736820646f65732060448201527f6e6f74206d61746368207468652068617368206174207468652065787065637460648201527f6564206865696768740000000000000000000000000000000000000000000000608482015260a40161061a565b82610ddf60035490565b857fa7aaf2512769da4e444e3de247be2564225c2e7a8f74cfe528e46e17d24868e242604051610e1191815260200190565b60405180910390a45050604080516060810182529283526fffffffffffffffffffffffffffffffff4281166020850190815292811691840191825260038054600181018255600091909152935160029094027fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b810194909455915190518216700100000000000000000000000000000000029116177fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85c90910155565b604080516060810182526000808252602082018190529181019190915260038281548110610efd57610efd6114f6565b600091825260209182902060408051606081018252600290930290910180548352600101546fffffffffffffffffffffffffffffffff8082169484019490945270010000000000000000000000000000000090049092169181019190915292915050565b60408051606081018252600080825260208201819052918101919091526003610f898361055f565b81548110610efd57610efd6114f6565b60007f000000000000000000000000000000000000000000000000000000000000000260015483610fca91906114df565b610fd491906115f6565b600254610fe1919061159b565b92915050565b60007f0000000000000000000000000000000000000000000000000000000000000708611012610437565b6104a5919061159b565b600054610100900460ff161580801561103c5750600054600160ff909116105b806110565750303b158015611056575060005460ff166001145b6110e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161061a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561114057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b428211156111f7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526044602482018190527f4c324f75747075744f7261636c653a207374617274696e67204c322074696d65908201527f7374616d70206d757374206265206c657373207468616e2063757272656e742060648201527f74696d6500000000000000000000000000000000000000000000000000000000608482015260a40161061a565b60028290556001839055801561126457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6060816000036112c857505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156112f257806112dc81611633565b91506112eb9050600a836115e2565b91506112cc565b60008167ffffffffffffffff81111561130d5761130d61166b565b6040519080825280601f01601f191660200182016040528015611337576020820181803683370190505b5090505b84156113ba5761134c6001836114df565b9150611359600a8661169a565b61136490603061159b565b60f81b818381518110611379576113796114f6565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506113b3600a866115e2565b945061133b565b949350505050565b60005b838110156113dd5781810151838201526020016113c5565b838111156113ec576000848401525b50505050565b60208152600082518060208401526114118160408501602087016113c2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60006020828403121561145557600080fd5b5035919050565b6000806000806080858703121561147257600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156114a157600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000828210156114f1576114f16114b0565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600084516115378184602089016113c2565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611573816001850160208a016113c2565b6001920191820152835161158e8160028401602088016113c2565b0160020195945050505050565b600082198211156115ae576115ae6114b0565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826115f1576115f16115b3565b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561162e5761162e6114b0565b500290565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611664576116646114b0565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000826116a9576116a96115b3565b50069056fea264697066735822122031bcd6d293dce43bb2aa0c060a708cc7e35290d9a378c1cb32ba6c46a0929ad964736f6c634300080f003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563410105581e03f78dbf3824f9676f28ba0035b26e493e6e1477a5827055aebbad1ba0e007011916e4031598636dd981ce389ad6d11159df5f3091f30377068cbff6f97ea41ef9e7734003780549780dc0f0fe61c3ef671cca5db041044003c9fe697ac0601990706f2dfd03cabb3ded309baaacfcda9c19cf42468160101b586b1079734edd442a5ea5e80101410a034a9ef14d628f6718b2b35e0fce714640998c6306e3d10011beccf6aa7e9559cc05581e032f348b90d20b439bc93f4fbed70c4684a1fb7b59e1fa1e4cc9f3bb6940084721e0f414c143d703edb09d24b878ca359a285478f7680af70ae8e427cf96d88988d6ba2ea3d4e85c0219ed0a03b348e4140daab20d1b96202439b566b2e86a5d7f2386424198498778aabe07e60366d752a1013952b6279785a3f0915fb5fe0d35809ce50b70212342f7b062434f03cad8dfd5220eaf16d5bd9f1a0f17692cacf651b4599c09d49a1776525b62002a033967b778af61c282d18d2698e4a6699fd3f078b5f07052ffe2843543df79ff9f03b1149219eef8ab3dc80d64b891f359522e5d00366ee282cf19851859806a861803bccd17f70436bbda8faecc63c55f92d0fb4cfa9682028632cc5dd8ed3a2ccbde034e8dbc7f56ef61e720e915bf40977662fbf058c79833451559bd8a94af642a41034cce7ed3ab5d6ed2b491f3dbf72d2322e393ea60886d2cca696e49e9e7c8da82037e3ccb381e3d3385ba00b04c6ef0ef63bf3061c41927f0a1e8042cce0ba2e4d903d01049d771cdf5a3987f36013facd3f6e25547c83ce50b67c3d514969f837a4503c53eac288f053ec4950a028d6aa2ca3cbee2a890328351c1ba4dbfb1252b902d03735016a4227957226bc13a9435e9da6f044ad309eaec358782ad2ac656c9f6b9032d1f440168f97d560e688910a9ae9350cfe4ed17de06d6a5507089adefd9bc230219ffff03e865c5befe127fa0060cb49d7c39ded939de410269d8f19bb83159cbb3e3acdc032fa052517f4616a6c902743cca20d91582a411d72505a825d48c64d4fa656d1203447929edece72e00716405c37c870a9052043658614195e1bf4a4a67e3dbd98003f337a9e84fc598fb5974ea8d2c994a084e042a85a5b017a3f7f3e7a327fe2c0a03bdd13124c9f0b178a468e7050c179210ddd1dd5ca2d9b8809cb09ca303cab3f503d579341e64601a41ca48104a782061f47913d8ef9dcdc8838b094492e3406f49036c7ba7d6338f3162abd116faf29bd927d7127a11a031ec0e96a0b51bf42e65aa03ad279d77264cbc188c880b0ca1ae9c6a3484fa50aba9bbfdc721302232a25f9303d73f979ede53d0ee58abd1df189d1b757ab214f018af375a1c551fe962c61d520219ffff03d45bfe6b744ee2fcf94db9046ac2d9317799330627f0f475abbe243afd77304c03dd644f4533589ec2d639a93ea28ab57597ea93266bc036c8da6044f370ffb17003e377e78316b7df70bf2780202705d08dc416d8ad050002ec57152a2176478f8603787ae35e4768e76c78a56b2d71f9279b8afe34df8653cc714b7b3ad66315958a0390d6b2b91fd4d7bbe65a63e9b73585c77c46e52de5fe93b625e434a514958eab039c36b46a3d590bf00d7f748889e66d857fcb0b2df01d85f8265f65c9ed11df8d0359cd11a029a154609d2acbd5a3dda6b608cb3e646dd8d793e65e3e041dec0a6f0364fa204a17e0bb4b45e4ebc6085b3b906c6523c1662dfac9cf3cdd4cbf78eb1503aadbc4b183dd3d15174c322382452f53f420a2d1a395c6ecbb1452b1713f29320219ffff03d3ef0338fb158807768351220dec6d296b03b15f74a077483529a9e17fe6131e033dfd8141d965c430cef479c55ceec3e67dda28c8c34c4fa159266721e6c5261103756976bffca5f8346a398e6034ee2459de01c5931319d3e55c7d63c6ea21403d03fa4efd24fece10a41deffa7b9ea6ea39d8eaed9cdf1715bba602da9e3993522d0303c354f33dde7945987c607dbec250caec142185eee91bef0bb01f4404fbb7df03b1420e699222e1bec0c9c41827be719bab8ed9c575148406a6e964c783b77e4b03d5214388c346194088c5645e5800475af91fb8ebe635b30c2554cb8e9edbf43b0219ffff03b3f8213f2473a0bbf229d085d4a0941ded1e4747da494547c1811b252d2b03ef0380612bb1b5768f75fab58bf1793c97fb863808cb82cbbed97054456063d3789003f28e77df6b42377114ab01398f5bf5c4b46e0330a4095f2deafd76a15e8abe6903c1b481b8dacfa424b1624ff300001a364a78350159735a5000f71215b7803b6a03b319e42328f3eeeacfc0c3a3da0d4f7c7b34259bc22314130892dbd07dd05427038637fd5828e3c3f6a2c1ab0e39acc3ba21148d14c7a889967a73faede20cc1960375b3ae7a11d916cf48a713fbbd7d2743f249ac871e5470f398bb75dcabf5f7fa03f63e4dd0e0d562066bec65c17d67f4a329bd7562b63ac1ea9ec0b42c2627b65603bcd2a30b2652b04e4f00aeb083634ca7a14d861234613aa9f39257dcaf3a39cc036ce1f0eef4b04c1e8a7fa27835b54d0a21f784a4a3d4443e43346a8906352995037dd92ae050619706080d646f458cbc286d70d832066ccc319b464a9f43266c88035ae1592bf257e225872d0415e43064803ea58e4e12c7d40d18973c48e16ba032037b20ccf12700631dc68003eac1645f0b7c7ceb17b9af94e60688ec0f51e389c603bb41471f14f1d332221b2bae556954131eca720a3b501c060a3651fc456d987603f594406f585592a079f230df3be5ebd86588c1947d5d85493576042ef15dac6203b5a4968080cbdac7ba6f582466c7169052d1670598bfe958f2b4515d70a797a303136f4ae530ee28eb4138d982d0e05463cbe355652861025acd554d6695adf4720359ba65133cdbe7def2cad370970006ae82731ecbc0d3f26921996a136e9487dc03203b46043a066e060bed498f9249117f4cbf29e09aac6a135bea2309ec55b2cd03fe575c1a660b5ca9f9d6d28d9351a008e234914b88a0a3cdc30a3a3b4d0422be032282e3844f251efbb707e2af9d3973f144f89f31034d61d2392e578d9d78d54a03911151103628adc3b20cb6d2cc2b68b747f0e2bddf62c4ad43cd3a17a38368ea039f0c9236601cbeda11b184a6a8456b0b278899358abb27baa9febc1f3b54bb6203cc158c8cc374cff4820d647e688db318b6821a4571b92db8ae9d530f94d7c22e03c5c34e4f02b239bd74f53190323a8672bdb2cb549f7f3f03b0f7c7e431d40b310387b1891d75723579e094e4175612a80ea8fccc63d5762cd21c4553a7edbd1c5205581e031a7dad12a9a596583c05628211af551eb9689c9eaa76d97d2ec2918fa0040505581e035f863c83536195d9dbfc942eb6949f35585eb7bc757daa34910baeed20040105581e03545cae7af17516fb665f2b5a7487f6b9a5b836d1265a52f245877e4940084703c3cfd8041a09039585083e1854b11e06bae08275dc5c94b999f5962a8328230afae78fbe37b2b901410603a209c6a76629f2f7c118f10ed9f6c9f623c77f535df4dc275eaa0f664b80aee0030a8330c6fd29857f6336ef62591b4a0f180082ee15f2db9cff49dbbb4432558603a76b2b1e37ff5fe3255517b86f321f1b075a861282d0d4b2cb617170317d0cc903827ab68f846134b16671044655f23707f9ccad4e6bb60d5ede858d9820cc0523036c04e257ec8dd2830eb0987a2200dd60d55214a64d4c78b8f2b0ddc9ea0be81e05581e03790cb54dd3fabd8c8f4459e35b14cf1f618eda64d982961752a327ec7007011bffffffffffffffff04591e6a608060405234801561001057600080fd5b50600436106101215760003560e01c8063715018a6116100ad578063b61d43b111610071578063b61d43b114610320578063b753bfe91461033e578063d5b5dc491461035c578063dd62ed3e1461037a578063f2fde38b146103aa57610121565b8063715018a61461027a5780638da5cb5b1461028457806395d89b41146102a2578063a457c2d7146102c0578063a9059cbb146102f057610121565b806323b872dd116100f457806323b872dd146101b0578063313ce567146101e057806339509351146101fe57806342966c681461022e57806370a082311461024a57610121565b806306fdde0314610126578063095ea7b3146101445780630c900e901461017457806318160ddd14610192575b600080fd5b61012e6103c6565b60405161013b919061120d565b60405180910390f35b61015e600480360381019061015991906112c8565b610458565b60405161016b9190611323565b60405180910390f35b61017c610476565b604051610189919061134d565b60405180910390f35b61019a610496565b6040516101a7919061134d565b60405180910390f35b6101ca60048036038101906101c59190611368565b6104a0565b6040516101d79190611323565b60405180910390f35b6101e8610598565b6040516101f591906113d7565b60405180910390f35b610218600480360381019061021391906112c8565b6105a1565b6040516102259190611323565b60405180910390f35b610248600480360381019061024391906113f2565b61064d565b005b610264600480360381019061025f919061141f565b610661565b604051610271919061134d565b60405180910390f35b6102826106aa565b005b61028c6106be565b604051610299919061145b565b60405180910390f35b6102aa6106e7565b6040516102b7919061120d565b60405180910390f35b6102da60048036038101906102d591906112c8565b610779565b6040516102e79190611323565b60405180910390f35b61030a600480360381019061030591906112c8565b610864565b6040516103179190611323565b60405180910390f35b610328610882565b604051610335919061134d565b60405180910390f35b6103466108a2565b604051610353919061134d565b60405180910390f35b6103646108c2565b604051610371919061134d565b60405180910390f35b610394600480360381019061038f9190611476565b6108e2565b6040516103a1919061134d565b60405180910390f35b6103c460048036038101906103bf919061141f565b610969565b005b6060600480546103d5906114e5565b80601f0160208091040260200160405190810160405280929190818152602001828054610401906114e5565b801561044e5780601f106104235761010080835404028352916020019161044e565b820191906000526020600020905b81548152906001019060200180831161043157829003601f168201915b5050505050905090565b600061046c6104656109ed565b84846109f5565b6001905092915050565b6012600a6104849190611679565b63a6e49c0061049391906116c4565b81565b6000600354905090565b60006104ad848484610bc0565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104f86109ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610578576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056f90611790565b60405180910390fd5b61058c856105846109ed565b8584036109f5565b60019150509392505050565b60006012905090565b60006106436105ae6109ed565b8484600260006105bc6109ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461063e91906117b0565b6109f5565b6001905092915050565b61065e6106586109ed565b82610e71565b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106b2611032565b6106bc60006110b0565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546106f6906114e5565b80601f0160208091040260200160405190810160405280929190818152602001828054610722906114e5565b801561076f5780601f106107445761010080835404028352916020019161076f565b820191906000526020600020905b81548152906001019060200180831161075257829003601f168201915b5050505050905090565b600080600260006107886109ed565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610845576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083c90611878565b60405180910390fd5b6108596108506109ed565b858584036109f5565b600191505092915050565b60006108786108716109ed565b8484610bc0565b6001905092915050565b6012600a6108909190611679565b631dcd650061089f91906116c4565b81565b6012600a6108b09190611679565b6311e1a3006108bf91906116c4565b81565b6012600a6108d09190611679565b6317d784006108df91906116c4565b81565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610971611032565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d89061190a565b60405180910390fd5b6109ea816110b0565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5c9061199c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acc90611a2e565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610bb3919061134d565b60405180910390a3505050565b60008111610c03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfa90611a9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a90611b2c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ce3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cda90611bbe565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610d6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6190611c50565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610dff91906117b0565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e63919061134d565b60405180910390a350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed890611ce2565b60405180910390fd5b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5f90611d74565b60405180910390fd5b818103600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160036000828254610fc09190611d94565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611025919061134d565b60405180910390a3505050565b61103a6109ed565b73ffffffffffffffffffffffffffffffffffffffff166110586106be565b73ffffffffffffffffffffffffffffffffffffffff16146110ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a590611e14565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111ae578082015181840152602081019050611193565b838111156111bd576000848401525b50505050565b6000601f19601f8301169050919050565b60006111df82611174565b6111e9818561117f565b93506111f9818560208601611190565b611202816111c3565b840191505092915050565b6000602082019050818103600083015261122781846111d4565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061125f82611234565b9050919050565b61126f81611254565b811461127a57600080fd5b50565b60008135905061128c81611266565b92915050565b6000819050919050565b6112a581611292565b81146112b057600080fd5b50565b6000813590506112c28161129c565b92915050565b600080604083850312156112df576112de61122f565b5b60006112ed8582860161127d565b92505060206112fe858286016112b3565b9150509250929050565b60008115159050919050565b61131d81611308565b82525050565b60006020820190506113386000830184611314565b92915050565b61134781611292565b82525050565b6000602082019050611362600083018461133e565b92915050565b6000806000606084860312156113815761138061122f565b5b600061138f8682870161127d565b93505060206113a08682870161127d565b92505060406113b1868287016112b3565b9150509250925092565b600060ff82169050919050565b6113d1816113bb565b82525050565b60006020820190506113ec60008301846113c8565b92915050565b6000602082840312156114085761140761122f565b5b6000611416848285016112b3565b91505092915050565b6000602082840312156114355761143461122f565b5b60006114438482850161127d565b91505092915050565b61145581611254565b82525050565b6000602082019050611470600083018461144c565b92915050565b6000806040838503121561148d5761148c61122f565b5b600061149b8582860161127d565b92505060206114ac8582860161127d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806114fd57607f821691505b60208210811415611511576115106114b6565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561159d5780860481111561157957611578611517565b5b60018516156115885780820291505b808102905061159685611546565b945061155d565b94509492505050565b6000826115b65760019050611672565b816115c45760009050611672565b81600181146115da57600281146115e457611613565b6001915050611672565b60ff8411156115f6576115f5611517565b5b8360020a91508482111561160d5761160c611517565b5b50611672565b5060208310610133831016604e8410600b84101617156116485782820a90508381111561164357611642611517565b5b611672565b6116558484846001611553565b9250905081840481111561166c5761166b611517565b5b81810290505b9392505050565b600061168482611292565b915061168f836113bb565b92506116bc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846115a6565b905092915050565b60006116cf82611292565b91506116da83611292565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561171357611712611517565b5b828202905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061177a60288361117f565b91506117858261171e565b604082019050919050565b600060208201905081810360008301526117a98161176d565b9050919050565b60006117bb82611292565b91506117c683611292565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156117fb576117fa611517565b5b828201905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061186260258361117f565b915061186d82611806565b604082019050919050565b6000602082019050818103600083015261189181611855565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006118f460268361117f565b91506118ff82611898565b604082019050919050565b60006020820190508181036000830152611923816118e7565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061198660248361117f565b91506119918261192a565b604082019050919050565b600060208201905081810360008301526119b581611979565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a1860228361117f565b9150611a23826119bc565b604082019050919050565b60006020820190508181036000830152611a4781611a0b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74207a65726f0000000000600082015250565b6000611a84601b8361117f565b9150611a8f82611a4e565b602082019050919050565b60006020820190508181036000830152611ab381611a77565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611b1660258361117f565b9150611b2182611aba565b604082019050919050565b60006020820190508181036000830152611b4581611b09565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611ba860238361117f565b9150611bb382611b4c565b604082019050919050565b60006020820190508181036000830152611bd781611b9b565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611c3a60268361117f565b9150611c4582611bde565b604082019050919050565b60006020820190508181036000830152611c6981611c2d565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611ccc60218361117f565b9150611cd782611c70565b604082019050919050565b60006020820190508181036000830152611cfb81611cbf565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611d5e60228361117f565b9150611d6982611d02565b604082019050919050565b60006020820190508181036000830152611d8d81611d51565b9050919050565b6000611d9f82611292565b9150611daa83611292565b925082821015611dbd57611dbc611517565b5b828203905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611dfe60208361117f565b9150611e0982611dc8565b602082019050919050565b60006020820190508181036000830152611e2d81611df1565b905091905056fea2646970667358221220b54ac41f1a41d8b044e4d83e837d56b962b0bae51ca58c45694a6cc09cd0218d64736f6c6343000809003303791c7a6332d2785eafabc3d5ffe3d8cd92e5408a17e6d584c03363dc062694690378557f1de81c8cae6121ea1ccf3f438eca3a63644d45e7f52c66d667292a7a6803757f36ca5e40d470806e80276adc29cc268d51fec307b7a54ed860eae48c79e803eb48a6158b3478045380759c78eaddd1234778dc21d5e40159dda715fb9bd06a03cf62ab18d1e05b069e00c10bc303961cbd7de535f3c917c4ece5d3a4978ba6ce03c562402ca539130a11d7f06f1cfe4ed09872dafb991a732f9e2e59325b4042a103d7399d2ff959090388cc76a671bc37d9108cf7708098066495b9430370f21b260318514b85325a438965f15b1afefad2322f7f4694acdf4c4673cf1bd86f52166103ff8e07d9913692f9c42bf16b4321ecd116a3bf21a36a5f646ee21efa3011b6d8033aaf63aed06f0f5bdbc33bcff24aefacf0b11156cfa456eef581ec81bd40cab9033a5a698af1a56c04fe559dd15e047361dcee1fe0bb557b3c822d715f847858a60336cff03359aed4a3f9d5344b9a943e646adaca51a1824e240efcd2166dd179bd03fd9e0caccde74f0d7944216579eb6dba662d99bf5a75c9ea005a2e219ed645a703b079a98273c6780990f63db6b604a66b7d16f039973f2873d8ed2a19e0911a1803f1acb097761ee22a07548b211fe9599f301bda2c737a5fb91f607e5cc8f03c5a00582003c6a5cac7efae7cc2129316086a3a78b668f9c77afe1e3acd9ef00c5e69e9b04945a3443b6894a63303005820037de5f9305fd785967eb99b23ac4e15022720a52332eff9a85ff40dee8c5fd04a4cd6d7b7a16e185c0000039b2198f48e1b11ba353c47d62ba08ad36920a16b8f00ca74c568cafdfe181bbd00582003f2dfd0d026110cccbac5eb43ac1e795343cc92c18ffffbb0ab2d07795917304a108b2a2c280290940000032db536111a02012d1d70a5ee47537877f2faf3c84df23112812c276d72ca19f9037694e86d787e19a45b760959f26f9a16166456d08d0c263db560963f165bfad400582003a80c88f41033aad3f4caf5e72eac63e640e4ab53fde311670d5f263df81d104951b6f78f342c09ac0000582003670bb8a97e0f9815d81176eab1f470715d8842256da74f90425c8b75a055804a0117b9629525f7a0000000582003ff28f4b11410952ac4dd16782a9943867dae976b175c9488cdd23f2740c3b049eab6074dd1ef959b80005820033a461359cb94c9f933a23b334c7f71c2a47ed273e8a4bb2c53b50e4a0fdae05820fffffffffffffffffffffffffffffffffffffffffffff934e025040d7d713fff0331f094ab396e83ed07ea5d75666dae15205cca98cfcce3cdb0d3717f1ced348c0219ad7b0358d096e0366989f4ad7140b437dad27b38440966f57be3c9dcb8f27f94cb237a03f0e671d77414523a5543dfd56a06bf8592269bbd0e998aa2d595effe71461d5e0219ffff035906ea70bbec9d529fd28147df6fe9c67dad148d10482e4817a803213154c4a30342dce4dc7c966d479271c497d89d48d491349a2f4dab366b5e20353812aa9c6e034f70cec7689dd2ce7bdf0641dc121a15d05128c8e7ce2d6bebf71c7c71c6041403937134ab354eb98551bf447b7aa719599bc0b0fdddb01b4b0b96bcefd767341d031ea069a5e17abfbe77f8700f8f40b1aba189512a35e9cc35eea341961a43ba6103fb168a1e6b67de810e50fbb4719177c35a18786ce09a13bd396a57bbbd0d1c48033d6e0839ed9e7bac1a09a8639044391f2d606ed09dc819ba8998d50ef127c180031c4cfdf7bcae943ed3e5e48bc4390ece1434e3732645faa0da6ddf7d1566b3570307e16f12baaf1b4955a68d569b7c41a91314e1ab943abb886fc35201a47fd74b033616257b3ad730b9e68e53bc6839d88f04ab705f63ae616a841d41429077f6f50331b5442a583fafd5c6b94bdc3d38c1c3a58f61fb635bee2c2faeab119ff335da030b066a1c511773fc151cc450c147e9cb5f9c7be41850548b9d860fcea115f94003fd5bec38201cda5866c6c45837520b6b07eea6ebc94769400dca32939518097c03bab0f146e501bda1a0fdb093cd45054a3d890f042565f6ef575174bc8bfeecc40355b63ce7b8ede07bbf55c584c7a1546db0e7120428ca9b58115d5ab86eb10b4f03b35d4f314e630926c47b1667d27dfa41ac2817d5329a8626052f6df6149f67ea03f288dd371e9d23e390fdf12b4433947534c55939764f211820a749e137148bb30312d47c1172f3d3fbe204070a78ef2134628a09e6875a35f2072f587b317d49a603dacc2be791448c507e619d335ee73b1e17e1d1e9fb057d05ea818d2acdf3abe4031304fbaeeddd23523571cb130c678bb5d9a6a41117b73aa53dac059459e8b88c0386528297696ad79c51284d99a4c87a5d568200a3079dfd2e0f7c053f53c3bea2035e48e78fea3eb9806d8b451c98f41ae3a5c890b028f2cb38a0e0a77b63a3a02903d9981a340aed9f615fa11e544e852532781bbbb7c065d7a44ee3c96b4fdc7cc5005820030bfca9887b3c017260051e2a9d031a53c1c809e2b7927a6be905c323ee7d104a033749f6a3d3516c000003ef63928229fa56b392331030f8d0ce189c6224f688ff5b2b4e6c9130fa588f93037df905e27b4cfda0ee1209990f94e672b699fe0e5634babf93e39a8abedb494c03c74f274d81be58f957ec98b52aa57fdc61c2ffaa86e660e73756bfa70921064f030e8868ae666162ae07699bab9fd5c9bf34cbd706dd9d67bfba45c661872a2b0003ead7715a124b3c4c290d7b4d67978c6461c930814fb321bc057d5e4b1f37639b00582003b7067a4598f2b43bd04ae2175a01002e36c67dfed64286c6a6a59f1dec01b04a036317374adba50c0000035a1a4457c917349b2e549e6a3af0d0be160d7b06fc6e64c3f5b981713024a0e000581f020795d660c928d25796eb5ff611aec25f325a0e4105a408582b2ecf30cdcb4971073005325174000000581f02a309032dfd78350f2c771778341c79c08aa3341d7c43b34228ff3bc4e9d84b52b6c685bb570c3c68000000581f023792c32641558fcb1901ec015f67e2f89685abdbf0dbe700cbb0e3dc518d4c0617e7e2f43c86b85bd800000219204403371731d82bc7f16e7ccf6841e0eeedf6948a34b3f5458b1584e68ba7e031b36e005820034d8841fce1b373f6fe6022f2148f5d29822bcf90fb03567a474eb9ea46fcd048a72b4a2060ff898000582003b7691d4258f31db3c35d8a19875ccc03b7c929ca5f96498e5a21f7d502e3804a13d97e321c16c70400000219fbda032c43efe25d6daaf4f41b3fc9afe07aaae9aa5a96141f8db6d9949ff3170f54080219ffff03fd0a25be59ba960578c4d88eac3c3c2fed278ac4bed5d3ecb1acc93219dfc65f03f80ee14fcee2b6c05598901d0ff1b5b9623a14240fdc41e7fc9cca953abc789603aaee12f496d96b3718755def6a0d09b0c2065e06e6a046b7aa3bcff67723066c0219ffff05581e037fbabb92715c03f5010d0137a47fb97b106bd1de601c109bd52448c4500701191e6a05581e03129c5d0d299f1e61ebabf19930e2520cf08899c3ef15058fa9a6f741500c034643f64962902002199d7e03e49dad555ff3a95d736a8e748fb6177e51931ff7d4782c1f7dfee4ad5b9bb4d303fa4a5c7c69057df7d1e8e2c53528dd8bb8af7ea016dc74fc5319a72e86281c29038dab1aba27ee20e6d544f1a92f1cfc719b75938da5be62cb5a6c0324dbebfc45034a2f47208d121d67b4b4e732fd876e5451ac90dd69b4c514816afb0a78307c680350c73185d321d8e3f12c73643377fd0233bcf07fd841b8f522817b5d1bbad46c03c5015fd7d29b100e435453c358f3ce912843660fde08f37f4c5fd489b0a5db7c0323d2497afcde7373b3b709c968b2b9cff7a74fafe63089006199fca73d3f73ae03e9a337c9284b3535b3a428b5042e75920e16df317e8728e3c213ee2ed80d9668032716211e11f312e18a6e5356004ebc7d1cfd14d5196fbb046e5c627fb203b1a6032019909d34df5502290df0e61a09d9969cdf479a0bbb70144d95004f8be2af2303266140dab76a8a06f1d85f2b9db0d0845e526a95f76f62639560339da535ddca0219ffff03096550fbb1bf1576a6d3bec556335e4aa564b78b0faa9c77f11068f65bbe5ab50219ffff038835c534c67a5d5b78178edf487a87dffc85bc611b7342e0ea7f94c258d1a2de03edf92ff5a8644e2251393fdeace6aeeec23da676119918524656a88a099b31a2031b67d932ee37d8bbbe290d6fdfdafa756f5fb5dfbdacc72d2b2c71daadc1163303acda2f4439de823b33ef6f1e029acc32af35757ab84cc1c463e2de2c5a44956403d9c57a21b9ef7ecdc30ca5ced748e767290fa7dd709768da50755b60092573dd03ff22fbf510006445f79959f9384f1dc0529d4c63df6d4e3f175671173af23ca7036e6a6ceaf313bb7b4eb68a733de6fc399b0fdc3035b709c510388da3ecf2de0203ff8353c2d10f2c7c91e3ba9c9490918f952a3e81276a9026968c062e23e662ae0313646b096c29749675c97490d10a40f82872e6f84b3806304cf4deb7bda42cec03f32fe22cb3866a830254756fb36cd2b0fef47f025c92542bcdc40f691e9f90730219ffff03e969fa75f32ffcb0bbc134a077e98dbd975c9d6ee5d14218c429b53917cc4d7203c3ce0c3f58dcef5a53692af3fc20084464e5c4b7227879dc455f9b50bbc0ff4703b84b947387ac06f5c7e2309aacbd7adbf8e031e02da5bb85edae5a2f901693cb0335b3185c1803064a4b1e82db465d3a02179dda9935cf9437899892d0220a6f4d038e4a2259eabb9183511ef44a4d149b5a564a9473701345e7bd37a892d3ca0bf3032dfe84090a809319c88320d07e504d88a74833b36addf822ecdca6e03628e65703da1fe76bc578f35106f51e297e3f2a2144ee80c06f5f89117be264f2c2e90491032ceac9e2fb200e962473bebbf2aab3d40317ef9f7d646030ae6c59368058b73503faa116e7a38bb587260b6ba6231223bac9de3dd1d4a3d8abbf66abdd1ddbb6ca038d9bd78e5c4ad25a108ac4e334d25095c9708e8b2f3cd7086333d034cca8102403a09ee7fd9b65be2ae8ea4a1d73bfd9c31e95ede40859afb88615e1e695b1ce03033b864111a55b252034a8c4521fbc615df5794447e0d1d7f2166256a5452eece903a1532309168b89f21cbda011c02cb92cf386cf14c64b3981ba1bbee60f8e2ac503a2014d782f767b31e47aaf10bd1ef5d0a0c6584d337670842b00ab5e6deb8fcf03bfd04319b7f41648fdc9d4317338c99323e65afb76d3ec14fd8dbfb82894c5a803a39b7242cb581d18ce7c8202ad6160bcf36946774f93c51f0d3e7878490a4bbf033f3b5c4f57913a538fbf06d0454106d0567e3c17f9f4401e80b6b0a4a98708c003eabdf3d65022757eb17d8c097c44106a4afc8617d01cb329d25d6de252aec4570315b7d8504f66604a4d0ce299eefb0894ba7764dbd4b626185f7ff5dffd8f0d06033efeb7a9651d6a9fca4760906980a490721b41b70851765c6af96b4630082bdf03db2cdd13624d507b7db0451239996291ae20b3ffc2a8285d670953fc4a3fb6fa03ef3f36f9e7fe23e89e2b92aa91550437f83c8cae8c821fbcafbb3f6f42249a2103f4f7da0cf1c99834696764a01c6fdb8ec55a8558ad392fb900f31e473e2ad8f703c4d1282c1ee66554f2ebb546b4a7be0eb8aee4ea127d0aee5cf617509fa443e20398b3a843b65b1f5eca07a65cfb160f5847d9d6b0512ad81d067e9c2cdd628baa034a25dc57e7e027391f9cee61518c8a171458eee221e1ceabebf8d4342c8e9093031a5ecfd67681a3c7f6140a0088a02c685fbd69413854e31ac935ce9b1e7a2cbf030ff798af6bb6505d074de01cff915c7754feaad09d1f3f209deac30ca709489105581e03fcb9b14c887f201735415bdd50ab072a743484e7a2cce3f5a4715122b00c0247023a5a4a5133d60305ef4ff0c8638eb2b24944c73fc22fe74b7de1e6f0fa8b623adfa375827770e80458aa6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220d0232cfa81216c3e4973e570f043b57ccb69ae4a81b8bc064338713721c87a9f64736f6c6343000814003303b952122896aa297f8afd8efd766b6be6f60e0f526df491ba27e2de29aadad4cb0377327619679cc8df197029ce9aab209234f5293488af900ba8e957aafa45f5fd03ab3d90ebef144a8ea3aa8b86f9eb8ed60e35215d903c840db66522cd455f51a703fb5273126c4a968d63a23318c3daa27cb034c17a59911f0666d0812a554a222903bb22a2022ab15cc65b99520f45d94ec5c7c6b6839cec353c2036393ac6cd9ebe03b34d4d62ac1c4148b1fed1b56484579f4fa1b4d78be2221cdc9281aeb729746703224da8445d5de7d19beaeaf4f75c5b7d1c884c6057a47aabd948dfb1fbad738d03c563d73b29f4a33110edd45b431feda299374ef2a7b61bf555df6f0a2208d03603a376ef9357100777de30048fd71ca818d17e2914c3bb5b91dbc82c6df69efdcd03173cf9b85fc3ee9c22139a1fcfefbd2e0016671c6fa9033201ecdb2f0183e756031c386bf48d4b68c39be7c6780561ab79206168a060b34b8f602415db8b0e5c08039615a9b83705526505b817043236cef2e829f3766b01309fb9d929b61d3a5021033e7015303059bb80b65b0e2c4582954dfebb557a76b7bf286397b9da80c7ed7700581f021ef5d4bd9fb85f1ee7552920d96f468d564a363fb8d1440d41d5f13ed3934a0147f66c33ab7969463300581f0292b99335998f50f9375e794a5c58470c6595aa274d28dc04239ae39ab7a44a012f4fa5b716a88174e600581f024d0e3ee48380a3c16d96f4d5c4e838ea44c746cdeae29e9329ed0beee3a84a0141722aad72d3d1b1bf00581f02e9b80938a78e35bee87fd878b04fa072bfc829e10017a8a1ed64941e266758207e533688501855ed37bf89446f31146eddf5293216dd68a1059d5f0f11ddea3103938cc644fb4e1655632353d3870773f4fcdd526360077feacda7b33d85901b4700581f0245fb34522f966e34603f87acd0a526d9ac1520597dc7b4d5f0c85775976f58203fbb8f951f23a26d55df68d32e5de16c7a59f4cbe27fd61e957255086245d77e03793d964fdf5c75f544404ba3e43d69069d7e075eb4ce05726d5792afa4b8c18e037b3a7f7dcf39ff754fd60d828f22cdc509efbfb78b8e319085de9cde1470452400581f027cc43a9acd05e8bb6add64d88b4cf18699fbdd755d49fd15d0cbc8b22b644a01bd8c757a5d24ebe2e500581f023a2642460b2ebf82851c6d86b6d725dec15c7e413f8b1788f3209ad2a9d449b98f3369c86d123ac903c7148f63b6b689a37dfad5b38d22f322a823d095a1b429730da352a3a1dd91d80219bcfa0307dcfbb2bf1ddad27f7ef9b24a6c8afdaafd8ea39601fb1532a84187c15d3a6303f917a74259d6105b25a0e68c16fe9aab96506590e496be4c00a767a81d8d8461031014ef9e773cbd65a80ab44c8f7734d4451f5e733f352fc68948db2baa37acab03afc9786b5097d4aa15740e593d7ac7bf94244000ea2b127150f56c16c17e54ae03f3250ecdcf679b3f43a2e799ec3a616a75df41863b4de6483ce9c8ad359603cb037189aa4867f27afdf436b6185b56988003fdaa32477eb8bc75c950968cb671c603738b07b3568689f438149132420bdc59a79eaf24695a0d54cc9a68758fe233ac03e97ed6369ffcb30ed2798bde176f375b2439c6411f4d95764aa94916bcf7fab8038916545035b080faaaf2965f30ff3b8766ffb916dc9878d9efa3fd11f5cabc990327d421e3d0e1fa16e0e971885608ced518d6f0ac1a1a1a57982803d586df92d303a4c2ca8b2b1c40278c81a4c0cab839721008111b47d494ee90cca38b6c4108520318bbd98d9026323ac444838ab378daf70c446e2d42acf21e8f4a991a54f2f9830396d51432c3cb2fdc2854b9344b19022cd39c0a3f69fc83224f98ce81e981017303cdbe444ab5acc8a56d01e0a6ea39f362bb9450af24d58ca16e8fbe8db88c6301037b9f02459011525f485c3d6812524fc7c236ef90b965f850e8e90209556af9380219ffff0348af9e9c5551e28f475d51f3e68dbb3ca51e8f1272a68459594c6fa621610a1603b90a8b4d586141bab7d0f0a47586094d1e16692e139e89447c96e6ddd362e2480219ffff0305f3570f7b3d03e0690dcabe54fe56b92bc2779b289568d6278c2cc0bf4e693803a64b222f477637632acc7fe350e87051122566fa4667e8a296b09678c4b52713034e9ae47546edd985c4f8cd0b34e73259dab160b523ecf76162f300aadd038ad3031e80585c277c4b94b9682a6505d7c77fb116cd71b5ae82cf54820e6b64d758730351087fe7bd0358def7af691a0189aad1d9360e4d12665ee464240569db46c3e2039187f71900c797a0a4401f9d4acbbf6b0bd13ade78152777d3e01e074663d2c0038321f6e8c32b009af5934d44b6d8959ce63321858a1425b8c01b4f35f6b1c98b03a11c64e8ddb9fc202e0fabf06f2749577997989ffc7ee7d5b36847fbd26f8a2103e3c82003d13d72447decd936189704c8b2489cf128d378167c731a89c77d6ee4032c4cbe9be4424ce224bee23738a9eef61553c8e2b5ecc04ecf936bbc9e6348b603bbcd17488dffe4bdafdfa82e4efe91b7f249093dcbef96630ffbe4bd7cf553b303e3899c6aa272bd7a252aa5c2873d5982ab7e60e6f459bca51c5eb58bb8219eb003ce5c92f46b0f0b0e096f8e895eb57896109af1f4d753f77c58a0d50dbeef65570141080378ffb03868b9b271b41144ff71b2218d59786aa4305e72a705e019c2448c8a9e00581f0273cb79da35d20669d5bcabc7c1e7541d18a24269b61278b0f7a7ca85364e49beb6cb36f118bc715600581f02488b1b89209992abd6cc7ff98abde92d20e3b9324d90f6a771797b5c2729582058f892c6586531c062f33e3f75478c16242a9d85caacc8fe5da6b322caacea3e00581f023ae4da5049eb74cee39e4cf5827f7ce7b1d1d1775ef1c6311eb60558e6d55483bc7394738a7a084081af22eec0051908c0055c00581f0224e4d9adac87bb2b135a72d0a976c4068528bb910e0c99da4df53bf486f849b01eb44e6bb402818c00581f0237bfc21a4b53f3d0890e010643775f6dca9cf1a3a64a0fa27d01504a1928582080921d3588c61ada88d8b2cc46496ed873b14628752040cd5a10a9ffd44b8ef1030ca0058b978a51ee636157e1b4c98c625eab4fbd3183270c958af296c7502e7d02196c3603264aad845dc23a54ff483fe7f7b7cd472c74989cc9b55f96526cf6bf036da8e20343de07e47105f2fecfe5983128c1abc96b1d698a8d40fa544e0861eb58a5d04c03242321c2f56a7eca7c23e88f8d55d19af8cf7eb222e0b0c7e540def477a406f70399d5672de5b6964cfb727d40f78ac34a2e2d8b16ac90a2c13f9daa246de7d9e20372b8982fd237eb7f73b729ff8dfb1e7edb1c6890c4134eeb3c6a692aedba06ca0371c540d9c693ed513037370eb0333e7daf6ec182282de8318edd26a5a3f2199c03a70a31250b84bd9689a3e297c8467df56729c7a0bff667528e415c8b4d8dcd000307380ef7ac8af6a69698ec08de40376eee825b410086339ffb209de04a2e86e103d920447edab43dc73d4c3a18a8c822c903120a8b1be8771b865f17a4262694ed03efe9cced27fcd2c565e773c7b23d09371585903453d3e6e63095319a9ba4fcf003f9b6e5ba6cd3039e21a8cfaca7a5d9c4ecfb4338016caba137a086a72dce2fce03bedc77036698099aa71c88fdf869fbca38cab15c37b10820ff0f6d12ec734e2b0219ffff0380f3ac0aef5aef39e65ac80cf677e2e71adee7f642e57b7f8eb736eb54325046039b81a509a3514200da973f544c2692e732238b4ea8f351b65e311e5472343c66034dc51b8449e81f30c115376f192ee251d9a24920dea245ef373de99286b3b0f50335920423934aac1210c354c93ef64ed49005d994ae258151c5e5628b6659ecf303b505e5bbdb2c3d9b32abdc1acd3680dec393b9c4461a317ef8c8f6f1db52621403d49b4446fd45967be67a0497b00efd5f030afd6faf4742117b0f63cd378497a80219ffff03df4c7f89490c66c8d08307edf70de18d6156680d7ab206e65c61e82c08e9e61d03e50bed0893dca88560caa64040ef9d02cc7f0f3ababebf879d5bb4a8d41eb3c003595b04123ea71734875a56025f9d06c72667d66eaa91162f2293d473d48c7fc103cc791c1e5ee9dc0ebf4da69c3270b45da70759971f0a08ff9bcf09079c62308e03579dbd258860685ee846250a054ffa9881f8c75b340fb256297897fffc430fb3037e51bb36535460f183d0e84e941f35c40ae3a7607de9b5feeb178045e30391d503532f81781d37de872f21d55d857fa8d954522118604fe5feb0bf478d113a83a400581f03b219e565a39d95963a13be6e3ad19368a1eaae526968a74414498ba50a604a01d19754e19adc92854b00581f036245254e456ed4035c8f1c5544ac806b0a3b8a54a9ba9f65160d013df1505820231051a4cc1249b5afdd58febcb9cdb57a3fdcfb42bd7389a982c94f54bd0d610219400200581f027ac14b68f4afbfa9bc27e5a9caa22b2e94c5cc4b21a75fdf6e8a5cb3741b582082c859547a902245ffd5d5ca1532323728e2193c8b67f5c12bec9b28decee22f0371ed09eb4faa0de99bbe00a58e677695aa74047a0c17f8497ff9b18e333708cb032368f74e8fb21779d4cd2113b6a7c1cbedeb659717cd0a6e2bd0e7f98b48f35f00581f02b2d9c110a2ce7efc7db35d8c48208d58afcaa6bcda504a103296d4801ed24a01d11198e3b6a8c7b2e900581f02386b78e0b695d6c667795f31584770103bc442fd6a7601b4d8c16ece52f35820d82f52adda3d971374a9e2315f00210096ed9c861de6a070241678dfb4460a5c00581f024e23434ccf00cf8b5feb56444b8f078adf5f07ab3f8d07d827616a3f2f23582060cdee44c738944cc47263eb96ab0f176f9fbdaf72e4c1dc0a674ab05b2db66903005f5e41cc56e9ca9bc054c368a8b832c509aa03c00b23358c4942347805665500581f029c161892c8c040e56ca0b7e03ae22b3f9dcf8f291f712c737a05656ab4325820668ff7822e7ece444d3048ccbb68b3440947ffa13b90ebe85ca2ec68fd77579702194cbf0322a89927e78e76ff828ca6d5c84476d35b7fc225b27fd245b4b09719efdb514e03c45e63c3c6e2c0bbe11eebeb6181e7923783f0689bf0835a3274d9b44d802e3f03364cbf7cd2e55e22f9d09b81b20c74440809a05d8fe10c18cb903c72973695af0362a9dffe5cb9b512525ca22e5f22ee2c930b35c5179dd01dede884b42bab75960315dcb6c447c3a7b83592fcda11b59d8f79c75ab37aa962c09c18b686df1e5962037f6967abfa80aca79811835d6583a8ed5a1d1d19019f0fb8f7d27351910ef00e035db6b1b414728158d06802b1eaabbd5e98e6db44cb0ed08727dcb0f3d3d1ace6031e11630bf42c118d27892aa6372d36a33447e97b646e4f9321cc2c2aeedb2b260313339a5440298ccbb09a32f47f7c672fd3c49d6cee24c3d77a304a435abf215a0395a543704315f46461c7121fe6079feb4109c0526d9f337d4e0e4284b3ed7ae003c52206455571e59e782945f50182e2df05a5a7872a918584b11724da5589e2ae037c762313168dfb81456f911dfeee303ebc8cedbd2524a1f9002e45ea72dc33020357e501cd38e3dfc78d513081c8b858e8b7262da851e157ac9b5e8bc35cd3ca7e0219ffff03cffbe47e74e4b0685ef665f3d63d6c16b02da56ac39f216c5e0102b2b36266d50340f17c212db2de90717780c23acb68553c9fd416534dec303a1117f4290e483c03768224bd66b6ea3de64e095cac3db32bce4665fbb8f073606cff7d251770c39c03565253b67fb1a9e530126db5af70e06ed06bbc6c29d88d4cd0aceaa7226ad10b03c34a89ac2a0c1254ceb57a9e1d3ebc1f279aeb59e2b84cbd05e0ad2be62fd4ec035a0f4d54fe557f9375ad7a920e6328db13fc1e2a51236f69ce5710924e3f7f880334cabe44c55d5d0edcc4b608d193c6074260eefbc6c97de040dd821b83892d2d0342b43a4204644130bd379bc8af1ebc881f1eb8f7061d23f7461a7c9e23fc69e103e6d197961b86e194f808b9f92c213df9bf9318f613bc1b7da58a6cc543928f76037d622ad94ff7182ccff425005346df47610b6f9f8a52de75350a08fc029f370c03971fc1232f922dff4b709c79f0a40632d0dcaad480f6666105a4b961ca5e3937031353b4333262decd947bcd2637cbc885204132e6aa9701c51da2782d8370692e03500103077f3e67497a90079153a1578ef073e0b86a7e79db32bfe952f01b708703ec5cb52cce2102c40079c3715ea0951bc8e2d5e99eba16a64dacf49a7dcb5abd03a42c1cd89e24abba526d7da79a6c1d0e8948e43284700601aab8fec02690b79603b2c42854e59833dd21e028c164d784cb71a4511dfe8bc92406b3a66aeb5e826100581f025e086faac1d93117bbfbc18835d434e9405fadc1ca66faf4b864746daf344509502f9000037620b491b653ac51d5a8b7f64940bbf37baa7375cdb1bf9875bec39c243d497d00581f02190aaf57f0e19e480b3586c4a25af16627608c8b6603efb2d7abeba5e743582072a529a6d83830671e0790ca26e99ec08cb5fb8e23c1b240339395ddeb91e8e900581f0267a7122f65b89c8e5863d4a3fcd61db6a6d12a8dfd0393a79d562e0f95ae4a012e44f2dd2b2e306ed203afc3344be9722b31d12f26db594d6ec8648d9b9b3e401cb0466c64503dbdf0ed021914190350f1108d5384de3cad42abdbbaafbe9fd243a2cb09c3662363900f6badee95aa03776462b003646c4426c3270c13cde050805b7cf42e0000fc31161ba235f1bb6203feca495ac6f5f19fa0b619762c96e4f44c6c3f30a59fbb19c72ac41149a9f1e00358d8968d57b39e36fa72ec6cb4292b44dd815b6324c47975aa52002b0f2ed1ff032c30ef4998f02946969438d0c382c5a641ad283b33297c2ea1d502df89b02a5c0324448658fd25301195bf0a8342e82b2978e37c88231e62d4c87d9ff49a900bd4038e010cd4c6d28d6f853818d59f5e446335661b8ba61e72dfea6b7f52de17a071031fd31a4b2e4d745477e870c8f8ae1919ca54f4d7e084a9de08b07c1d68ff0aac03307a457a10bf273894a14afed4e035aa75bbb5307fe1acf0e7f24842f4a78ea00219ffff0219ffff033cdd2b97ab989db1ba29feea12f2a9f772398c896cf7f4d3cc0c88e04f938ff403dca4d74b778fccf206639751d4e5e0f1a43381d6afceca65464526ec244ee1b803f59ee273f38c19a3ad13fb28a5473ed8cb0109a708dcd796cd0c344aa4637e010307062327084d44d2bb9293508c3c046239e0c90586e62f2dee3c3924c8839f7b03b79f48ce0f9346662ad2ea5103511d4423a61ceb9d90d25b7682786db81e52a103ed8c6c67f424e4a32905de4b132a27ac23cbd8da1b169f02b5828e1d3bb57c50032882a75b024a2d4c15f2784aa600ede64a5248691f3ab0716ed0fccaf182bf78032a261da4ab2046697500b59f9f4a71832ca021d867628e521a7bfce1c914797503f34a990db2ff23a038a1d9c5ea2fd73a922a0113d2d21d50d9b81ccd69c60a8300581f02599d40dd6ec2ceae46c2a84718820b8efe0ea8c73ae06b2220884a2782f449ff86361b326b20515603d550404bf5957e7a8f2c6506af1f2b69fce68aca74bcbbf5dff3670af2f5e84903cb24b3f32082ef3f46d5cbcdd2c3ef8ea37d4d1c9307df583434d373414f8d5500581f0258975e0e2b7c2abe23a890185b4e6f58ddfd7e7f5c0382995855469d79b74a01c9eaeb365ebc96beef00581f022c4abe27a3c74b12ad353f0c37d5fa34f09828fd4ddeb75704cc22bf94d85820e7a4d74435f7b29565cdcb4abce84293b00f3feada3d0bcf1623c44e8fc7de5a03276429afb0cf1d8819791cf1ca9d5ac43169fb6f6eb2307249e634d935f5c17800581f02336cbf5100005f6d5e93b5536b3af291a170a0d9c087a5821164a9c4d6fe4a01019841b599494270f700581f0224ae204ea14a0def23dc69ae0259dae018da2deffd38f2930b0838de8f0a5820d570dcc35fbbe39ac34dd86906317f4250e98c25a8bfda31990b79476a641c730219b8ac030d910ed3f0377444204ab7e474ab06f6de860be7f764f8b3be319d2642bea49b03968ee8cf6aba14b0ab46d2cb81df8252c1ade475c4c1f15a4d538ebb69fdce490354afa08c1a6ebe97c73dc38649f742b964800c1b8ae76c7177ab7a89740b080a03a10de9b5b4e8961214373b484c9684b8732268b13605eb239a65a39c3f8e2f2a03a58a391e312a1410cdf56669e2b6f89148ca21b77fa013d7ed36a6d0ad48cbd503f1ce88dde43ec17dab5a466e764c4e0b25aaf625ddb98befe3a901a4db80d0eb0219ffff03388b59208efb7ec5662e06a0e685457e9a2a04e405d048f7064c26cf933d1eae03182eacb41bc2f76b1ed0feeb06d4e20221f41d09aae71162c95c38087ec50e3d033671acfa3b7efb56a1d8d200ba35c74951c62e664b1cb8eeea581b9617df2d120308e959273fa36fe4b977ec84adf1de1252a93f2bf9d7409f76bfad6e015ea1d9035f4e4e951417326476348059112085a1dc891713451ca7bb441dbac4d2aedb3703236fa30c1d7e7a746b56d8566fd0eb9ec5eb8290c5d1dabc6e41f23820cf1ba80350e06061985eac6c259fc378b9ec5f044848ee5a0aa4ff4975bde051b078325a03f1cfdbf3be977a348d1113230b230a10504450bd9a8e2473ab1711a75df24f7b03c72f07551d6bd70de209cd671bd2706b8a35ea0fe82344f37ebb45e56c68502a0312801974f476d5ae7ea82ba2799d92ff12267680600d857db8a6297d2d1ac85703aee8f46326003811d130ee878b61fa8fb7e3a4c40888a43d5bfcbfc156a833940314bf82041601444b2ddbd2d3d524ddc91a6032a6c5e203a46a7ec1c68745beb303810861140005a9d83f0dd9bf8267244cfd5456553a0d120ca53f4216e8ccdffe038e12f455a901945782b59a8eef8594064e770ebff39fe20befbb67412bd4065603f75ddd99cb5953c549329fd02a08f5b9b634740c30be1cdfe596b4afb1925644032af0f4aae3ac3d45e8cb888c567281f3bbb5cb02383afb04aa87893e746064f70386ffd630e63fd69b63bc8129cff912db8adce4d29d16e67ae39b84da78db9b10038f043cded0ba2381dff46c785f0b8de8c0bcfd8ea123693ffe1d01abe6ede43203b23ae908e58d04ea2be0d106377ae15e29c7aba66f972a5f49ce69a624cd3f4103be18d857e0b2337dcb5dd5ed53743bc1e79d01a63a12fbc407346ccc6603ea4f0364d9208fe8b672a549233b58fe7fedb9dd1d255adc5ff9b3952e0296e79e3a8d03c8bbaec5d7d58753dcfa067798e74e55de14ad8b4618fadedf7f22baf1f4ccc800581f02a5db493f463ea491a9134271ef5566c8e3e283104961467df3dce62e12a049ffd6449317da06d15600581f021e831983263dfdbbcd269d15f01dfdd026903a9bc44cec73cc3fda39718d58204ee729c8acaa0f5978ce8e94fcf1afffb9a2cec54e40a950f2132738ccb04a6403bbf6c9182be54212912b4c2f88ad6b74f2ec729b9a0ec2ed41809b28569b366b00581f02b6d72976feb2f7786f0a36040b8f7ec3ba21407920446afeeb6375daa21d5820cce4a39db88ab1b7a3ea1665cfa95ed2feb2e87c1c965428cbb61ca78334633603cfeeaf95251077e289a5ba1f0604efb1975ccd0e408b96ee1f48ffe690dfa91c00581f0281050c45ab2a86844f4bec8b668e448af6929e76fe292d51c0763fd2b3465820bd4b290071bfa4c2d1afaa005ccf41819638e48699db862989b8d12cf8d267a00219dea003c00ad27b78723fe2a030d3905cb32a726673c334449800f25e51c37e4d984c2503c7d1f0940414a35beaebc9cb243c0e7a86c60f8bb7aeb0dfabe2da7969d79c880306dfd1d1493edb7cad34694faeb1abccfd783cd06bb27be6028dc0cf4f9ee8f803c3afc639efe9ac86b5a9ccf99cb997ad5ed458b970c98824be9d954848e0dcc00328641d99a40ced4209f2e73db8feb0613f054a30f3ea6f823a0fbcd7494c00a8033f24f1f7e38aae9b08b52210f5ce2c43da2fdf9733254e64cf4c4c9e8bbce0f1037dae728227afbb409d87b6ca25dd793836106f640cb553ee9cc2e552d5e2dcf903939c2d73fb7534d1765bbcfa9f80107dc3f962778cc44cbd5a1c2d8184ecd4ee0219ffff03d5cf66c0931ea4d18f2adc57010d27e7abc9fcbdd2487abddf50bd35058289400219ffff03116c29b1cdca9b49d99460acea71b1ead96581f7b422ea373114ba6aa21d1abd03782a8e8435628f3a1ebe652dcb583f554a4c079f1813a5b5f37ae779cb2e29f003938eceb693cada249698e92c7f192e0c810e66a0767a69b66b7dd1447a1f113e03f4b88118f3109dbf8920f5d38348162a4485ef24dd5f2e932a258fd63037413d03ed384c46a63b86871911952614e9dff814a038c217467a446ce9a9c672521f5103fd2940b45c4b527e5f7f92d6659d7da2aef3a5ae51d48f7cbcdca759389228b103764b5c8acc3d2e5e89ca9b9c9875767fa58bb13022300e55b0b6c86b2664c8b203702febfab9c639e2339122c9a26d9f6db6c01a674eb8ccc3a5203906e7c5408603ef87a8062a3df195378b260c97ee605c27f02903ae98c9b383816ac1d9940e0a03c06829a159e8230a6ce6a950b822c86a8ee37e05025abdefa4069a12a3ce3a3303b3bf257253b36255ca0900e74621dd5b9954c3a47ae17e4e10e5d8a7141ded0603b841c6bd07047b5f203750df9e9b0ae8218755657fa1b0841678411d5b362b2703c5f49a04c4b394d52b9c407cb3281aa2437e48a15f0cdc4592edf29cd08ab58000581f0237319d8f39d5f1310954bbcff4cb6f94b593bd650a745f1b839679a79d045820450b461aafaf934c5af47da888abb034add58584ba5689a5022dc08da2dc6ed100581f0205c30a44ab20d4f93ac7f56400c69f1fd4ac2418a91ab127be0884cb18fb582006bce79a13af88455bebfaa3c0addd1326253d7b83489524fd90f07557e9f21f033ec676a59f8b251e29248478a785a52daf33f71690a3b319ca4f0e20668f389e00581f022b3c6e28c9dd3818fe83e8f81bf998732b7622896e6763718e79fd02ef154a01c8c96ee507263b7fa1032e43ae74ca9e26779b8416fcd8248168acc928b999be61bb27de5836b7ca6d6503fc9775d08bffafede4b54265d5a76b51e0b8cab61e1d8040a2280883468f398e00581f0287a2b3f182b4826c231a1ebe22d956676c3553071c3c51ebd61bf7269e825820d735c7bdbe22efde7c1be2072809a9115803b5bc8e0ef1d040f6bb9dce9dfb270342195a53894bc3c59de68a7ca3344acdee323c2d0d0578e6986f6eda6fcb577c01410c021925a70306c83936be52bc6935146b65b95549fc0b0ba325a3920d7bbcda89c414f6bcb40347a736a0f6742423aae1a0b53ec1f6e11ece3140f647143d41095b10f7928c8703171795d85eef1600578c4a0623b5dda305e9a6b40a49d12a32369d2a81de67440337fb61f04b3d7e7a555696d53904d70215a16c9fd6d6b0bf9bd79fc9a0e049c50306dac132ef6263535914842066f8abc3d24b6d2f400a128f0c3683b657de916803f0ae557eb99805ebe2fce4a5236ff1c8ef7e2f82ce04691381480adab41563220219ffff035f9271ab44fc7d8c0debca5c3fa06a794627d19b78678e9cdd8db2fca03bc2c903ed882252bfb036c3d2ba445f85496fdd2aee895343724c2b3c1556960066ee3003b3356c18f0a3da757ee2410ab4d7ba4368b840a20b8fda74cedf0367a7b2e40f03979008ce8b8fb8125c6cc1cc2953521aaa39b2d8c02d92f88a30492ac1a175ff0395b3f808b1eeb7b6f4a1d5b0b9eb9d1d73cf2098e2e3a25e3d46e0e3d1fc9c9e03d97437bd84d82c1c63572be37ccdbf738aaf6511f0b65e127866dab6c2cb399803be919d337a998c7e0abf63d670d33fb6627c7515de0e6245e4f535cc5317ff18031499a1b966901d223c1c45e6d7e11aae0b9fd72428b75418775058303e2fd9dc03bfab05004bb3fc2c1a77b089eb6d644fa472ff630afd4ca4c107578ca66a665d03ba10c243be4b482e72921c4016a07c015c26c401009ee03266d34cbb6fca8b1c035d2a133b11100e34ff56cca00bbc8f7409095e2e09b9eaaa946757a5d54bf53a0360c3e6e3f48d19f49c4fc047f424c3fad68a38917903dec999d8976b98f03e4e0219ffff0343f4f6c976ab39f8164c09ef2e57d68d33ca33864224e0c93592253800a1695d030bf2fc3cbe3b0b3a5f8466dab4dcbb87e7a4fca7aac51c18c522c8e0da3c5d3a034dadef3a5273e69e8bc34a6a573c348528a4db6fba25fe59a42e98890f68f4380353a7bce597421a4fa9167932b41252171bda916cb79b23189d9393703e03d27203302329162617f4f0bc3e4644b076b8a0ff05af772aab65f6591a3189f991685303dd4e958007de0b46235c78e822968cba6586d6faa2541d6982d8721024c768eb03c232d710565e89bb3434bf8252f0179587c384bd4fb01b40efcbad565415c2d803658032c90d72ba130c3ee959b42b82cab8b7f0494f5f83bbde0cde33ac25197d038b869ebfc2beee2c1ffd5ee398b79eae0229ad81cefd7d671de9a745f5973a0c033201e6c6ae0299e3a507130694e8cf4bec490b49c629691689b8d060ca8d007603af12c062c0f9cac86498755734efe49653caedaebab57b46f8aa7847de9c9b42038bf5255a1e6c2155f4255f1a6876e2d0d615b9c396487b9dfb93319340bbe15f0316e1c6e05095b8000240c434fa7e867736da5f3c48ecbd90502d6a6595967a1e03c286c06bc9a10909e0113efb760579b041a1f66e13617577b717ba1ebff583fd03435e3402a9522b90f639451720c2b57e3def57f55d188bb331335e3c71d4b29b0316b16150dd16caec56bdae9827889bef40939beda414a6cb56e396d9808bb16b0341e41cf8de08aa17533b50823657a0aaf4190c71070a0281521fdb8411af6ea3030ee6344110ad4026d159cdb1bf162e4f6e23abbe0e8eda25d5b6a2458dc0801a03c3a8888992fc723a106e232b72ad64bdb2cb763af0a36cfae58d8d67f7e9a11000581f02e703eac31e9a85c28198baa0342db52d76fa81e82b3aebca63d960429ff64a01341402d70338d044e600581f0259558ab92c3caab4aabae3d4f3809172917e15c5d3eb7207d010fb3215395820d80a2409e7849a4a4137f9581b0261d67671ac2e1afcdc8c98f69d3044cfb33c00581f02026185ba97d3a8c85e69de06f3978d5936f4bdc487b7862c173af06a33ad4a01c85544e73417e1dbb000581f03f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d280410100581f037836ad9593df653953dd14fa217977b9e93c05fb0ea32282e5236eee1f004a013107ba3eb73e4a74e6021910100219794003093bbd3ee3c5345b9c1534c73c4ab0e119797f35d7b061541a2071fc7a0b22bd03ff6a57d6792e872f80e1c8abb877b1a1859169d5437ab68fd675309134a1580803593f659d3a2591231d4c571b5d78be276496e1d43b2ce4551c06fec5670114e303ba67b4a12d87acd690e8bdf146ba6f266ce6a0cdaa63a83d668731f8576f89590219ffff0340bcff618cf9cddce8fa439cfced640ad45874f229985d500d04e78c615391c203232092a81a65d07e44a3238626ec10896ce71cc240f6fc884b28e2a62c70ad8a03a74f3651adf4055382b4e026fab9d93fc2607f76b5cc4c4eeffa6fed1803ff99034d5fd53347b3d16657e45fed521ecb320dfe9d2ea6cc6a24b8e004e513c92051034a712a7a81fb0ec9d695a772dfab9f11b8cf0aa06593f37259c6a409634744b403878524f61c1c2b1fff861e91aa15c6339601f48a8a19d0c12837132c7a97c327036cc4211e632c08d2f259fdfce5cbea24c775780020dee4b73a720aaf68bd8d7a03dbd303b98ce878259f73c24ee84ad4fdc2f6a01e3c2c604452258fac3ee710f5030a464654e68c15875cec869e4573e82b5d5428f9190305600d00852def73173c0219ffff03cfb06daf61a936a6ece9496e2d7608ef303e15b768321af3ce1ed2c29615da390386ee3a1f0204b7e2284c99dbc7d1a6d5bd428d08b3572a95b1280a3adfcb383103140ed27b81207165568ba76256969ccd00458d701235166c754dc163e9d0c306031dd70c05d6bd003b27ea9822a11f542a7cf917ce101b3817217d319d7aa4edbe03587bfc56ce2ae18e232a1be9172b7fea5aa5f1842ff8ef4ebe510be3fa68a066034f78d24f9a9a2d36c2087608db9a5453aa986c18e23a451366bd63c39a518218031c417af6952fb7582ab1d0210a71a28cf7b416724d4ec57633939691d8911eaf038fdd3801713f9ae4211ef1a9ed4b1ad3024438e725d04c780e3237c51dffd26603c375a4d7c01cf3e2d51cd477a0d2921a7822ba653835a0c21c19603bfef72e9d035983f305767694c912418c6274ff51b9422eccc7ffca1fa7a1e3e025096a1b5d036869b86f92833bc5a348c9e28d46f91be9c682ac793fbd0252bcb4d8d4da237e038fe2c2d7ca7c29f4541080c9ca6cde94fde556668b6239486656ed4b18c0c2ab034f2843d96241b56388ba8b99ae5a4d4673b9e51435ba0f7debfcba69d9cc20da03d0fbeac5fd7cdaf324bea783bfb47b61ce57fbaba1b69481f85e0132377a1590034b33c861fb10a85cca3a9ddc5dd3b9f3d5e3efe878e8c1edf4a33a93178c559b03ef59881084804bb548041bf03e7e93bbd9591bb29c4566e8a42dbc629cb3a7ba00581f029c9121945ab96b78fafe1fc736c295db8200031f98683d70cccf992f72955820b14bffd81df5a4acd35332963020ba7dfddabafaeab8dbee603afedb5f3427ce037645668982623a6c033e92e42ca5fc26d87b34b274ae8a5aaee12fda586934a300581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054eac8e6c1acbabc7135fc8357ff2d718a36177ab700581f03e8be9671bab2bb41187fdbfee6e2a83c565a2df1d3cea7736a70aa7735505820d7877079ef06d2a88678eb203ce3e892e9363be6b0277c6e6551d40604bc81cf02188100581f02fd16ee1cac683e26aba9ae62643df37e98d5c6f675e180fe37dbbd45e9be4a01baa6ed160f6a21b22900581f02fa21a1f7113925d0e58f2a5ac2cf8b20ee389d2345454cb48dd34e70a8624a01d06b0aedc30122cda803f023f8bf356405005af5d01e21c0e2aba79b5f6a1e2769d8d61810af1410acb400581f02005aabbecdb08d8e63b18ca2bb1f50bbfe39bd63fa3996c3989b4f2181b058209741e337a325f383c0d6aac834d8fdaf4349691e268ba456d810c8d1a5332d6700581f02ffaa07aac9d5547ee41a9acd8ac1fc651c9bdfe3b3245da484826a390a8c4a012df06ed66f540f6ed202196917030c76184140bf7914911b10188637b0721db389e5966dd9da40859e44d22d23660371d9b38ff2b47a4f1fb96f1be096134e6a87a7bbcc0127c38efa454321b4b02d0310a527bcbdf30185e7a3ec0a8edcc0449cc6183077720da2aeca3da824c499750348fa9a61a4241a166705c85c8aaaa9cafe2590cb51a277b4c57b92893042cf750219ffff031fa1e8dbda73946023ab876eec8c029d01b80ec6cb982c728955a003d8f15deb034aa6312e1c626b254c2547a27eae673dc01c616e3d7a412207ab7456d1bdda39035e3ec7c568be0e38b7a52f9b81439a1cba35ec74dd41fbbbd5ad5ad48ab548c603af9d154263917540e2c4fc8762bfd6d1639fac9c62dda0e45eda216fd43d5f2203c11d8197909910e9f524f3f3e2a13cc3c04401a3fb986f174c7ebf5f3ceb3e4d0352f47ebeaebf644268431f16525ebb4d26246b0593dcddf819e3975ea5fbd68203f7e6a71bc9a9d464f4af5152d46d1c7c1b9ddb7d8de1c3b1534b00a720e2b4350369721267fd7dff4065bd3d4add94de119dc10916beb7b45e50137c521183907d03669ec7ff6d94bbda13658fbfec4b092aeb6b2c024bbeb4097aaf8670bc40c26b0313e2d93ab93594eef825894b7a4646d756389f455ac13063c3a70f0bfee0ab960219ffff030cd351214cfed6ea54b11c65f72ede993b7ed7215e1ca3e75379372477ea5a9703b14744a6cb5104b63a65632d7c519824060c8519dbfe204069782205ebeab25e03619cb7e894b0c1694a0000642baeef4451f603a355d20f9167b92338174bcb14036eab4a04d65a2294c8b3e013c49b329badd72dcc8e6c275865d9da9d4d6361dc0330a48a3843cf58da7b47559cbe4ee4fafe76cbf719e8e59e1542b1f81133c345036b00303382368ef4757f1b9cbedb4227d6059a7b509a0e2b05dd1dbf9947cc9303ff4e541ee362ac75d8c3b1b42ee5ba5a76cef05e0cca8a8345b7be5a6a9adbbc0390686e9fcaff15aaec8a420cb5d766fb8cd9e0d3c2a53b9ee2a15cf50b041cb803b2d7d40d86d61b2ce389931e53f4f4dcce0e7c0e0fb8970f110e9ce6d16d08b003cd8e2a2dd16503b6540149c721bee37eee421640a6460f18dc68aa76db181f24033fa7b0a3789459d667a3287bb39a0e19ca3aa21e97cb47fbb8390c5567bde10e0374afcbdbde3ceaad6e0c4476536ec241b23c72ac269b0bff26dd0ec6649ca47c0349bcb79f9ddd0d8331704fe15a07435eaf75958f9e2e8632c214c7456616ebae0355526d6999a85ff040e26e725569083234f1fdcd9674fe261aa4dec1ba4f7d1f0353c07b7459c39a601bdf9fafe86e8b01ddec1d42b305eeb110363ffbfcf22df1038612d075dd3116277f68038648f93e767a007712018257ea26a21b8f625dcf9703fea9c4c965fd0d5c953cd3e549275da7b12b566cced54862f995efc36c475a48034c4bcc54f5295c0cb9860bfcebf07f33233caba3378ddf287104a4bdb7b72c9203f50d47da128e30a2cb87acff2ba27241738e66e70eb1dd927599fc57712cbe40032d9a7965b194d20b5b7c5f5955817c9631d0f4d2f07559fb4a181ee4cdf8cd8a03d4e38601a5b0dba9c63ab4fb400e4f6ac75fb230e630b48f4fb32a9a617423ee03f60f154de94c91b8733ea256b9a78559ae58f55326d8c5c3eee9811659ebb0f703f7bcef02b289a1152377603cc6301b8fdb4f85bac340d821da3fa2577dfd30cc034a696eab9903903fe1b80ca6fa414566f25e4f842a5e7b1db90faff85e2b73f70395a5faf6070f6e8979ca61984859f3d68df30ac5696a7c8ea8b0ad215a3cba3d0379755362bb3596b61880fd4774f9adb72925f8d2c1bb02dd8e8b08b0338c1ca703deca4246142a442896e581479c9bc98ed059eca72524143db31b04c61791b82500581f03ad6ccdb7c7567f7335ea839f95dc944431abcf935b6924f70215963db730550ee6b280000182b804c4b4000001d4c0000f424000031ba064e3c9fd764eef8043cf86a615f3daa92784fae6f82450e569c985bdf420021901800349555e9d739e6a4147c7ac0c555b2c78a21f18a5160dc6ca2cf7b5b5c41b33ca035b8c4c2391dccb1a9c8f789cdfc0ac2f4d9eef18b3b8f4c42f753abbddcb37d0014104037484fc55b14ab8fcfe9dfab977dd0df7d2f5a225a3fe95687558d8fae7345f890219d14103700bd97a76b609da3c73ecba033a2829f08ef04e877e89316e7b5ee5e465d962031587afc8f8df44e0ba604292b5293c4101ba8201aa99d16d957d3fa398a86e5f03af58a91610e38f2d1ab4565bb25c0e4db6445cfa0eae6ebc30d9d6eb91a4485703644097d961fabbca581488271f4eeb7fdb549c11b22eba1ad7b8aa1c109143ba031e77d704138940e5eb8073b34f0fa7a21c4bd4cc42a619edd8bc4cdefdb1686d03c2cf4653624b1a1ec8753d6df9909146af0d2334fb59079380047014256aac490219ffff036ee27d8b4bf3c5d06aaf7306fe21dbc68b4b680cd72d4a0d1a9ad6ddf717ee0d038ca3cc189d62c9266caa3d42d68f69665c19c3d14485ba7461bed9d0de05c6380219ffff03639f229d3558a3969e33209cb2eee4e0f9e45fd74485588634218cd7b09206f703b8bfa3bcafb515f201c6329366e11cb4dee902fa3a95d218986c3b080f762fa203f5dd1469fd2d1b585e629fc9fe0238905cf2ba97693b7fdf1f119419b79fa6ae035abf1d7cb6591de3e4d010289d7380ecd92519bc1cfd939ac3cbfe1ba4089ec003900171595c71ffd902f3802b09dc7fc14aca4b40b570c267a4de0e4bfb04d12203bbeb30f9752f92cb4a281ba50481632dd2dd676a58d322b67cd9fc09841985ce035e832a30e91e17e6f13de9baa9206e8a72f49ccde5b7f41505ad6f86783f2d2a035e3d2dc33983f6200de83231945b203756d558ba508be034f876465da5ba4d3c0319018dd4aca4aa8ab52b5d2e2641aa0861161d93dc213e509b67f6a0a8e09d4700581f022697c52c296401c5d6c46f6f8ea802b4ede489d0885677356ac229234e5749bd999765535daef15603d98736088e2db1aa328c9849f55af7b9f7eb4f84f4ed6b501eccccd7897f130b00581f02ea40264951a755c3f3b2d46bfc2f4d9831a177760cf242ee7c054aa6d27c4a01ca737e42900df1181b00581f03c9854ddc5c435a0fddca9f00abddc5c832c694f84d39b3d043fd28bed1e04a01269c200c79e26ffdc000581f03d2121e0f3e04d36200cbd02c6d80a67907476d102a1d70dc0e55969b6cf0582003666c8f92ba77ac68170e05a9a62ba9d15de934ea05014959a7d2c54ae8a0df00581f03fd4aa1ab65dfdaf681ca6bda958ae4a123d4ed68c4277796592280e783504248150219200602190d840337d8128f662a6c95b160e6b8962bb7e69818d3b96f2a3bc0dadddb40de220e7d03996a14b5ab073aae9100e0bbea680b605ef43326658d44d901b8f6d2066ac55b03926f133682779309e7c900e29bd998959e8437bae74e4b75dd72df3bf1d8c67a03ec442254f491284e7959dbb33afb0926714506991798062cabf00ac52eb0d85403ae8d86a96e4bd8c3007902c77aa1b09efa641e051161ffca41ad1235df98418e037b2dcc9a17decf0bf90cf4699688c8bb42e4afa31cf49473b22d1f4fdd4337e403b6632ef826f6b350de5334dae3f57f9f7200793671683a171121ee7c9caf66d003772424b9dd12716fcb19eabd20d86463f679346576ae5320aaa8781919d45b7703903d5066f9dc67612106855f9cae358b8922f00d9d0161e356410e7a0aa7609f03171b8fa3d30c763382131df26c3e460667a49d1270a59d5b921df317003aa1210350ec77e5edd62d9bcb51d186979ee2e82226829b85452b5726a6d18a90d46a6d03a591f7306e621a601067b90fe68e5986c4e4e4279486c4153611d622ff1c5ab80219ffff03a4cfb2ae5f879bcfee7da171563d58de7111becab08be90bacc860ccf6c983a6039cd4cdcfd5fed53064a53b50ccc8cd25a6537d81ad6c59e74ca8a349d526dca40326e20580c9f8bfec7270898bc18618107930f4a5c277cfde05443f0a0b1467ec032acf57eea3d185a83445ebd7c12e8f50f2f0e94598d70ef2fbd645cb75887726038ba7405302212c7964842ccbbcd5ecc189a8c3ede3816e03808e23b3fb315827035b823e54abd4648a4874e7d4463f3bad2719af64b467c90acb280ede80e7910d03e616a6d67d32fdd7085a6beecc8b11c3d38f06d05a13d5e2c97d3cddcb65c71e035000875f89643fbd511dafdea9925d01becd9e8df3518210fc1305357c691d3e0354699b8656a69f84fc364abb6b26fb1b5178ac056c2e6253949cb388680e08ef032f7f05bb6b54c5ca5d925db89ab664aea497df327a38fbbd769fa515d991a5030219ffff03beeb1a0f7740113489a933cde4a85bafeb90fb174de34bfc44e0abdd499d2c2e03985ea74157355984a2e9b9396b616cf574f63ed5eee230a02bbf257f549c04e303c1306ec44eeb295b80fab2fbfefd707fd7ce1ec77b49ad4a781a94de389bf5ae03e14fdf80bc9ccc42c26c23edc8a9f3c5fdfa3ff8d08d5134542ab36fc4ac5d4503f9ad2872eaf4dc5f36de85f404a0967705e6871c9c55988b311bf49877d9b4e203781ee27a0fe4ebfa3cc0b68ec4c20e2937c852900295a3f311fc75e6437fa62a03bf351ff8a2d298bd0a36097c941193bed5fbde7396864efb47a4664ba654ff34031a4836027c9e5f26064ab72afbed00a164d72f729c7c99b30984192fa4d7298e0303819353f99464bdfb87885c6d0d49651abd1370b692eb4ff1a10401b80d2b960311560f278a530e5a9d7e6c00bafb32345e90d118dad8a200cd97b44c1500f35203b5daf1c416b882d5b3b5aab1fc6f196580c914f9d5eb7037fc0c9c75a287742803e325964c1232ab232849d50adab58c74f358fbdf6df65254ddf6c3824fbc0d0d03d8bb7263ee1ccfa534968f633d9e4ef5d86462ab0d11d8355e6bde7eb4f43a24033367a5fdc00e328150590b9589293a07210f87c85f8969af7c92d505eb1d9fc903dc34d11333d892c74574deedfbf23abed9a08a3362fa5b5da307eb6522484b1c0360940608447755f0fe997b337dd1a3caf56729b0198fe3e76e3fd2cbaa717d2c0372a20cc61c97b6732c85e381877894597914e197c0728531f78a2e3f2302f72503005cf3029f2cecd18a34825bc70784c45b232387f727e7c18d7ee9458f0be4ba00581f02dc76ead477c56bc3d12cc58ebed7f4504b81fedb7bfc29b155489c6151c958207ab9277089e85c23e27a75c240d2364835f4dd1dbefd864e6c664d135c6e151c00581f023f88bea28953862fcf66e190f9b9a97d278b4b149a8213cf18bed49332515820be78929117ac64ecbb4642ba8300dab3bd2bb5455ffda963b0bab960f4a6e63000581f0260a1d4512287ccded7a5bb93717357762bc0855c23a080c2db4e7b486fc14a01c9f98f5347caa03eef00581f02dc8822642a35332463983e15e4237f65b82238fad165c74eaac2c8d2276f4a01cfa46214a9b02dd93f03a3a33d68db2a3f5e2b3d0ef09fbe550c34dcda5894a5ba19c2a2c086055407d800581f0263dcec80ed75c82f36161f17b9c2f407860160383a7be0a0ee7962c527ae488fc2c5994d1bc6a300581f02ae9113eb62e4f63c61bfedffd366ee045f52b3689fa1f5757ccf0df6ce8a5820bab076eea1bdaacb76c648b3493151f07441edb392228482e85e486a571a9f9203f38cb7afe0c72718d306b6db2053c80c335e4bc379d849debc5489b6aecff06503c2c9b7d234f250f9183792ce7cd22a1e3f0caac9521f42162e274251e1a09a960219e4ce03ffa3970f7682e815c05ddbd9d768073ba4561c6ac88959a079a24a35207fc73b038a675b1462c9fd6fa1e50bcb73b2f5383b46ed5a9091f01fb2d146d9901b6cf403a9a2e679a41aeee06904c682b217e328c009dedfca9e7fda16c9ef82ac0fee9c03eabdbdeef731db62283b877a351f1beeccbbfc8fad08a32416be046a39cd0d3603fcad4eced06b2012886e5293d2830892661feabe12e1ef2ecdff74138307364b03a48e4a8b15528782734b18e8bb6a58b8f5eb5b5b7e41edd08c3bfcfcfe42d2250219ffff0313081100382b758a075cbe7a1e69b7a7622bb54338fee4b179559b3e11bb6e8b03147d37725c0d4bbb86b6b9c14be8d35b34332bdc23d8518a9037944ec29b30a6038b737e41fe0b0ce4ecd2a308d91a838c0efb45a77ab70505ed66080220a76f1a03dc5e407ea3f472f162aecdfaf0432266d3e0e6fd4f324d33fa812ac62458513203cdb605c41aadc2df9af14a9a8e21f707fd2ca3c3335b6f9161490aba1096ab6303dff192c06d8cf861c1049bc08877e37cba56af81f9ec81635e686defb6cfcdb7030428d6b9e13867e4653dc1ee99a64397bd3d7c190ce425642ba35505179b631403031a8830d2959db626578fa94d5b50321184033cf8afc729d5d22f5ed4b715320219ffff0219ffff05581d02acb4da9662c407c163860078df88710fc5f6988c1f9c2db4f06c6b680f01493c8d63ec11e8b75e9318aa031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d021d99ed399210bbe497e44910446115192a36abb5997d2d7d7469e91007011bffffffffffffffff020605581e038bb06f9728ceaeb48381f21e936be00c5224f882b82b32b758b7e4e2f00c0247048d100df51000033e3dfee5623869e876c233f60bad1ba460b7b9dc0baddabcc58591bad8ec9e6d05581e030650fa149396566d908e2cc8fccbcde2d72a04ace67334fefab6f9f2200c014753ffd95706480005581e0373753c9d1a89b682cfaa73925d584e66cbb2e02edafe0d7a46cbfd24300c02470e3602f4de68000361c6cd77b4a32a559fbf17586e8b5419d06ff883fed5dd67b3cf1e54a2688f7c02197e0c03a4b8926f6889a782ceef223883394fc954f69388c9597a6055f54164fd24fbb7030b7866c7082b067ae07db5c74489572320d85a39bd9c40c4d5c342398f24646503378cbf7ab887c9bcc4940a82b02df507663cf4e61c5a7d59f8091d7da58c30bd039d56b7cfb7c0f088bf5fc6c3ed6993b67b946f987730994f8512ee050721189503e1d822cd42c1f5c012b7ed2a580e88d2dbbc31ccdfbec9b784dbd8ca961f9d5303f4fab53e333eda3428251255d1d74e214120f9cd3a270d497a07a3adf95acafa03cefb50cd3fa9682b3e6ef2a5cfc97423483a7ff34079ddaa525626b81774c30d03ce38d0dd84be3f1f914ca6d1859ee59c5046bf8fc7f61beee714c002893de6700219ffff036fe831c96de5c3b703cf6b1e11c919fd8060d8655884209fc643e861962668e50357c33497dce306d951b576dd8e9afb7528445c2462d744b586ea5afcf30b71ab03535b53cdd11248b85ba0e326b50c8e563bed706f41378476fa96bb12100ad3f0030a535625dab8c92ae41aea2cf61c8437325294f270d7e79b6fafbe78504ab84a03da38477715460ac8c2ed030ab2266ca8f1cdc3276851715066340f882ce112e50395d80264abb60b0a65ee57db2488771949fa6c8ba73186a64ea220c2752ef45503aa5bb2d347453bf115ab18cfeb14df6b1ca31bb29848a98e4ab2e4c9ac06b8630379faf8e8407dae6d8413091e1fb346cd113bfc42e6982443100d5843aac95326037ddbb3d14c2e7cabc8adfef07fc5ad01b95afad8bc09fee1d8d0fe30d8b9e32f0219ffff0387bf36e1c80137bbe6910afcd52b40c5ab6400a3b294594d88d8ab85d6bc01f603c3a5c78005a26dd2f0a4030ab2aef1233ef4e97262f179b5547962d4204e9410039ccee74879258152672353675c36e3ad0f40ba890b4c77f9d6d2a3bf405155280305f7e3e3a1a6a81944f7496165fe7fd5fc089355e0685f48bf0e993ec4c85b8a03b3467ffd1d7fafae359c4736d38cd552c6a7263cff4257192921134976278d3c0335161b9f4df56f24a7944b54b71b40f25dd84de226370a17faff5f4858d9859f0219ffff03b12cfdadbdca1de20fb0858b9516cf095963f1bfada2c8466bfcbd7081f68e34030b3af9440108339a1b9b2e7e0e297c78584b69bc688f7105caafb561660e44dd0335e6a5413c9531e90dca2e0f9d1a82a1b39cacb765d7a282e919acca1149845d03d21cb26c8a1a0553a7e5621bddfc69f679308db0ac7d3553f1eeec5cea8b52e503ec34dc316483a973845455a89bdb2c9b85b7cfa2d9f956329268ac9d546768010309a19357d3cb66d20773e0bea6d7e0bf2b0ed36f803b8e8d44b9dd5e2b757837038e8f645e2a14d03b3666ff76778bca92a8e17f8cf1a81e302ecd429722db214003cc2a767199285aaf21ada3927bcd9113ea50eb3d71973832b6ae8b610819e5ce039a29669a9409379770f44760ccb29115f6103fa35652f9335ea90aaefa7ab2640340b698f84d503495bbb468d93427e09e11b643f0989a4d455be61431b2bb0df30379307ee67e5c5c06e381d729f5c068bffe9f52fbe5536db917c1c5a486a7e649031c5f3b4a4e948f36a230931773b277f44cba2573ba536bda03850687459d03c103a7f380caea9165d9c8068fc276fa1536944ae9f8123cb5d366d3c69e1defa1a903f02c66a1ec51c2e694d619eff53ad34bcbfecd3f68fb48c38a6e664670ffde5f03a35ba660a3d82f751fb15bbc1eaf3ea27ae5f72a89986bee0bd1d89f581cbf480392533eb5cb8a538663e1f68d9525b54c16226f7b64982c4c076523222f447bda0315b4c7327ea56e99b878728cea4c0067be022609ee988ff31225538c52b0369c035353e8d9f5e07834afb31346e1c7eb7e0b368858b63431eb19e7a4c957e1daea037a4c0c32201530a42601c7acf029a8f5179daa29c172ac018ec85c68bf89cc0503e2d158c39cb473b92dae37f1c4557ba8d5eabdda0181dc3774ce05974330fe0f0350e29045daf6dc5838dcddbc326bc1ed986fd8d8834e629281ce799763144f3403a28779db81eea80911c269bd47715d79856d42fe64a75a6ab6425d654e7f3262033fb824d0a4a6cd48d309727a8f18fb31c6f3ff658cfb16c334eb376fdefafb050376411de885127b2bbf86348220b187dad46df8d587a54148bd9559dff01c61bf0387ceb73fb1fb9782fd08787d1c004e68f17355b3f1968e4a8e7d87c8e85f3b67032563405a6e92bcd2aac2a9ddd64645466000f29b7e61fb39e647fe0d2f4479b705581e032efd70a87b5998f09ab0d1320d5f351b9ed1f71e7ddff4011692f203000c0147036ffb8c9244d405581e0367bf43e85fe053fc5d9d9559ad621bfe9d6d044c53599468fff7b434800c1854470309998f027db30332328415ed0ad68acaf22b38edf748075eb0429a58497f0f9e935c18e851703401410f05581e03a7da9cb7172ab6b71800618451b64797a01c0e547166649a6e23d1e640040105581e0364b26076aa251d1ddfbc86dcd57c46e7e0e44cff55e65e7da4d40beb100c014607531e37fa28035c4940be2f411480f4fcb4cdeb8a5c8c83edb2bcb499ef6b9d6759ff7aadd9ab05581e035568cf0ae2e45b4c4574a9aec6875a500bf6080f9195d9688afa71fed00c024743e5b930260f0803cdbdde1e64d684fbf340f4ccb62e6d60874c45d8c19c842fc594cf8e1a9298af035fba658ef9bb784c984532d4d7e03e111bf062bd4165b78ed74e4ab1e3f9ee390219a79d03ed11c4294d282979204cf1096078ddd5b8ef35d6961961b2cbd74a3f6a1331b603da58956e00aa5560780798a2d9b780a43edaa9a057e1bfa642375d2d95dd41c40364aa3afe43b4693e8897d216bf6fda274c40af2e98d655863c5ccb3ac18e1f800219ffff03f6cfc07f9d474d6287bdd39e9a2b185cee57ffe11397e6f5ebc927be359b9a6403680b2d709e9a433e268020aeadf2078674798a662cc653edd0a8c5ab70750e21032eea899b450efebf99e5d591969b008e55a25cdffb78e96374857643fc14f807038ffe7d7ffa307d9cf7fac9f547a1186f2bdb9ecb8c122815c0bebe19509135400320a318bb65fe7c3ad29091b27a6bf5d44ca693b6e713fb40f8b64417a08822960374c477aa1e234c24220aa7c20a0855d3f11b7509b094c1830e39892aa23410b00305233c24e7bd3aa0cb765a6a645daa962b64ea1fdd7fd764ebe855938d32f963034f02b1bcc09218fdb9f0781b443e8865ffe492972faaee20286fc7a5a6abd4b40317fb0a7b17c592d6d6a7d24918e0f1d30cf60fd3f697595d5a65ad258c3b8eb1038e8b227f0243eeeda2f2a81417b270e2ec13712148c18ba6ff36a3aecdff0702030e5d59987b3b8ae846e81ed88171e0a7993a02c50e23b0cad92e744274de94dd030bef403ade7cdaf891f1b5e71333ae0838ac0f83874fdd518110a826230a3eaa035f4ea04a8d3eeb9c5b1524fd05effe814e728ce2d53b46d44f96c0eca40043800301ca9290ed96432998938ebc04513c30e6914e1b8b61f3c8ad22f83dc7909c2a0384f05bafa811ab56b8b370f5b7909c9bfd8ed71e3c762269baed7616650a7fff03ef0b91274f0b3105a75013d561b82806927f4c0f92f2eeceeb9e9d25487bb43403b5aabd24dbde21d494e7f1e0ca5f1aa02fd2e51583125a3a2185478d308165fd03510280179edb1822cc92f10f264063733b7206f4df37aa381d2907b656fb72a103997c797313313655fffa265d2bd3ca4d43d0cd91094cc9221fcb536ac18d488a0396625938c73414fd08fdc17c71e2aff47b2aab547dd6cb55864cea8042702e2c045953ed6080604052600436106101625760003560e01c80638c3152e9116100c0578063c0c53b8b11610074578063e965084c11610059578063e965084c146104c7578063e9e05c4214610553578063f04987501461056657600080fd5b8063c0c53b8b14610406578063cff0ab961461042657600080fd5b80639bf62d82116100a55780639bf62d8214610370578063a14238e71461039d578063a35d99df146103cd57600080fd5b80638c3152e9146103235780639b5f694a1461034357600080fd5b806354fd4d50116101175780636dbffb78116100fc5780636dbffb78146102ee578063724c184c1461030e5780638b4c40b01461018757600080fd5b806354fd4d50146102735780635c975abb146102c957600080fd5b806335e80ab31161014857806335e80ab31461020c578063452a93201461023e5780634870496f1461025357600080fd5b80621c2ff61461018e57806333d7e2bd146101df57600080fd5b36610189576101873334620186a0600060405180602001604052806000815250610591565b005b600080fd5b34801561019a57600080fd5b5060365473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101eb57600080fd5b506037546101b59073ffffffffffffffffffffffffffffffffffffffff1681565b34801561021857600080fd5b506035546101b590610100900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561024a57600080fd5b506101b561082c565b34801561025f57600080fd5b5061018761026e3660046149b4565b6108c4565b34801561027f57600080fd5b506102bc6040518060400160405280600581526020017f322e352e3000000000000000000000000000000000000000000000000000000081525081565b6040516101d69190614b06565b3480156102d557600080fd5b506102de610ef2565b60405190151581526020016101d6565b3480156102fa57600080fd5b506102de610309366004614b19565b610f85565b34801561031a57600080fd5b506101b5611040565b34801561032f57600080fd5b5061018761033e366004614b32565b61104c565b34801561034f57600080fd5b506036546101b59073ffffffffffffffffffffffffffffffffffffffff1681565b34801561037c57600080fd5b506032546101b59073ffffffffffffffffffffffffffffffffffffffff1681565b3480156103a957600080fd5b506102de6103b8366004614b19565b60336020526000908152604090205460ff1681565b3480156103d957600080fd5b506103ed6103e8366004614b8c565b61190d565b60405167ffffffffffffffff90911681526020016101d6565b34801561041257600080fd5b50610187610421366004614ba7565b611926565b34801561043257600080fd5b5060015461048e906fffffffffffffffffffffffffffffffff81169067ffffffffffffffff7001000000000000000000000000000000008204811691780100000000000000000000000000000000000000000000000090041683565b604080516fffffffffffffffffffffffffffffffff909416845267ffffffffffffffff92831660208501529116908201526060016101d6565b3480156104d357600080fd5b506105256104e2366004614b19565b603460205260009081526040902080546001909101546fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041683565b604080519384526fffffffffffffffffffffffffffffffff92831660208501529116908201526060016101d6565b610187610561366004614c00565b610591565b34801561057257600080fd5b5060375473ffffffffffffffffffffffffffffffffffffffff166101b5565b8260005a905083156106485773ffffffffffffffffffffffffffffffffffffffff87161561064857604080517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482015260248101919091527f4f7074696d69736d506f7274616c3a206d7573742073656e6420746f2061646460448201527f72657373283029207768656e206372656174696e67206120636f6e747261637460648201526084015b60405180910390fd5b610652835161190d565b67ffffffffffffffff168567ffffffffffffffff1610156106f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f7074696d69736d506f7274616c3a20676173206c696d697420746f6f20736d60448201527f616c6c0000000000000000000000000000000000000000000000000000000000606482015260840161063f565b6201d4c083511115610763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4f7074696d69736d506f7274616c3a206461746120746f6f206c617267650000604482015260640161063f565b33328114610784575033731111000000000000000000000000000000001111015b6000348888888860405160200161079f959493929190614c7d565b604051602081830303815290604052905060008973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c328460405161080f9190614b06565b60405180910390a450506108238282611b90565b50505050505050565b6000603560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa15801561089b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bf9190614ce2565b905090565b6108cc610ef2565b15610933576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f7074696d69736d506f7274616c3a2070617573656400000000000000000000604482015260640161063f565b3073ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16036109f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d506f7274616c3a20796f752063616e6e6f742073656e642060448201527f6d6573736167657320746f2074686520706f7274616c20636f6e747261637400606482015260840161063f565b6036546040517fa25ae5570000000000000000000000000000000000000000000000000000000081526004810186905260009173ffffffffffffffffffffffffffffffffffffffff169063a25ae55790602401606060405180830381865afa158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190614d1f565b519050610aa0610a9b36869003860186614d84565b611ebd565b8114610b2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f7074696d69736d506f7274616c3a20696e76616c6964206f7574707574207260448201527f6f6f742070726f6f660000000000000000000000000000000000000000000000606482015260840161063f565b6000610b3987611f19565b6000818152603460209081526040918290208251606081018452815481526001909101546fffffffffffffffffffffffffffffffff8082169383018490527001000000000000000000000000000000009091041692810192909252919250901580610c4f5750805160365460408084015190517fa25ae5570000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015273ffffffffffffffffffffffffffffffffffffffff9091169063a25ae55790602401606060405180830381865afa158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b9190614d1f565b5114155b610cdb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173682060448201527f68617320616c7265616479206265656e2070726f76656e000000000000000000606482015260840161063f565b60408051602081018490526000918101829052606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201209083018190529250610da49101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828201909152600182527f0100000000000000000000000000000000000000000000000000000000000000602083015290610d9a888a614dea565b8a60400135611f49565b610e30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4f7074696d69736d506f7274616c3a20696e76616c696420776974686472617760448201527f616c20696e636c7573696f6e2070726f6f660000000000000000000000000000606482015260840161063f565b604080516060810182528581526fffffffffffffffffffffffffffffffff42811660208084019182528c831684860190815260008981526034835286812095518655925190518416700100000000000000000000000000000000029316929092176001909301929092558b830151908c0151925173ffffffffffffffffffffffffffffffffffffffff918216939091169186917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f629190a4505050505050505050565b6000603560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bf9190614e6e565b6036546040517fa25ae5570000000000000000000000000000000000000000000000000000000081526004810183905260009161103a9173ffffffffffffffffffffffffffffffffffffffff9091169063a25ae55790602401606060405180830381865afa158015610ffb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101f9190614d1f565b602001516fffffffffffffffffffffffffffffffff16611f6d565b92915050565b60006108bf61082c565b565b611054610ef2565b156110bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f7074696d69736d506f7274616c3a2070617573656400000000000000000000604482015260640161063f565b60325473ffffffffffffffffffffffffffffffffffffffff1661dead14611164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d506f7274616c3a2063616e206f6e6c79207472696767657260448201527f206f6e65207769746864726177616c20706572207472616e73616374696f6e00606482015260840161063f565b600061116f82611f19565b60008181526034602090815260408083208151606081018352815481526001909101546fffffffffffffffffffffffffffffffff8082169483018590527001000000000000000000000000000000009091041691810191909152929350900361125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173206e60448201527f6f74206265656e2070726f76656e207965740000000000000000000000000000606482015260840161063f565b603660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663887862726040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112eb9190614e8b565b81602001516fffffffffffffffffffffffffffffffff1610156113b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f4f7074696d69736d506f7274616c3a207769746864726177616c2074696d657360448201527f74616d70206c657373207468616e204c32204f7261636c65207374617274696e60648201527f672074696d657374616d70000000000000000000000000000000000000000000608482015260a40161063f565b6113d581602001516fffffffffffffffffffffffffffffffff16611f6d565b611487576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604560248201527f4f7074696d69736d506f7274616c3a2070726f76656e2077697468647261776160448201527f6c2066696e616c697a6174696f6e20706572696f6420686173206e6f7420656c60648201527f6170736564000000000000000000000000000000000000000000000000000000608482015260a40161063f565b60365460408281015190517fa25ae5570000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff909116600482015260009173ffffffffffffffffffffffffffffffffffffffff169063a25ae55790602401606060405180830381865afa15801561150e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115329190614d1f565b82518151919250146115ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604960248201527f4f7074696d69736d506f7274616c3a206f757470757420726f6f742070726f7660448201527f656e206973206e6f74207468652073616d652061732063757272656e74206f7560648201527f7470757420726f6f740000000000000000000000000000000000000000000000608482015260a40161063f565b61160b81602001516fffffffffffffffffffffffffffffffff16611f6d565b6116bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f4f7074696d69736d506f7274616c3a206f75747075742070726f706f73616c2060448201527f66696e616c697a6174696f6e20706572696f6420686173206e6f7420656c617060648201527f7365640000000000000000000000000000000000000000000000000000000000608482015260a40161063f565b60008381526033602052604090205460ff161561175c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173206160448201527f6c7265616479206265656e2066696e616c697a65640000000000000000000000606482015260840161063f565b600083815260336020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055908601516032805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff00000000000000000000000000000000000000009092169190911790558501516080860151606087015160a08801516117fe93929190612013565b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead17905560405190915084907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b9061186390841515815260200190565b60405180910390a2801580156118795750326001145b15611906576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f7074696d69736d506f7274616c3a207769746864726177616c206661696c6560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015260840161063f565b5050505050565b600061191a826010614ed3565b61103a90615208614f03565b600054610100900460ff16158080156119465750600054600160ff909116105b806119605750303b158015611960575060005460ff166001145b6119ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161063f565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611a4a57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b603680547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff8781169190911790925560378054909116858316179055603580547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101008584160217905560325416611b0357603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead1790555b611b0b612071565b8015611b6e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b600154600090611bc6907801000000000000000000000000000000000000000000000000900467ffffffffffffffff1643614f2f565b90506000611bd2612184565b90506000816020015160ff16826000015163ffffffff16611bf39190614f75565b90508215611d2a57600154600090611c2a908390700100000000000000000000000000000000900467ffffffffffffffff16614fdd565b90506000836040015160ff1683611c419190615051565b600154611c619084906fffffffffffffffffffffffffffffffff16615051565b611c6b9190614f75565b600154909150600090611cbc90611c959084906fffffffffffffffffffffffffffffffff1661510d565b866060015163ffffffff168760a001516fffffffffffffffffffffffffffffffff16612245565b90506001861115611ceb57611ce8611c9582876040015160ff1660018a611ce39190614f2f565b612264565b90505b6fffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000067ffffffffffffffff4316021760015550505b60018054869190601090611d5d908490700100000000000000000000000000000000900467ffffffffffffffff16614f03565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550816000015163ffffffff16600160000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff161315611e40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5265736f757263654d65746572696e673a2063616e6e6f7420627579206d6f7260448201527f6520676173207468616e20617661696c61626c6520676173206c696d69740000606482015260840161063f565b600154600090611e6c906fffffffffffffffffffffffffffffffff1667ffffffffffffffff8816615181565b90506000611e7e48633b9aca006122b9565b611e8890836151be565b905060005a611e979088614f2f565b905080821115611eb357611eb3611eae8284614f2f565b6122d0565b5050505050505050565b60008160000151826020015183604001518460600151604051602001611efc949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b80516020808301516040808501516060860151608087015160a08801519351600097611efc9790969591016151d2565b600080611f55866122fe565b9050611f6381868686612330565b9695505050505050565b603654604080517ff4daa291000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff169163f4daa2919160048083019260209291908290030181865afa158015611fdd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120019190614e8b565b61200b9083615229565b421192915050565b6000806000612023866000612360565b905080612059576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b600054610100900460ff16612108576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161063f565b6001547801000000000000000000000000000000000000000000000000900467ffffffffffffffff1660000361104a5760408051606081018252633b9aca00808252600060208301524367ffffffffffffffff169190920181905278010000000000000000000000000000000000000000000000000217600155565b6040805160c08082018352600080835260208301819052828401819052606083018190526080830181905260a083015260375483517fcc731b020000000000000000000000000000000000000000000000000000000081529351929373ffffffffffffffffffffffffffffffffffffffff9091169263cc731b02926004808401939192918290030181865afa158015612221573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bf9190615266565b600061225a612254858561237e565b8361238e565b90505b9392505050565b6000670de0b6b3a76400006122a561227c8583614f75565b61228e90670de0b6b3a7640000614fdd565b6122a085670de0b6b3a7640000615051565b61239d565b6122af9086615051565b61225a9190614f75565b6000818310156122c9578161225d565b5090919050565b6000805a90505b825a6122e39083614f2f565b10156122f9576122f282615305565b91506122d7565b505050565b6060818051906020012060405160200161231a91815260200190565b6040516020818303038152906040529050919050565b6000612357846123418786866123ce565b8051602091820120825192909101919091201490565b95945050505050565b600080603f83619c4001026040850201603f5a021015949350505050565b6000818312156122c9578161225d565b60008183126122c9578161225d565b600061225d670de0b6b3a7640000836123b586612e4c565b6123bf9190615051565b6123c99190614f75565b613090565b6060600084511161243b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d65726b6c65547269653a20656d707479206b65790000000000000000000000604482015260640161063f565b6000612446846132cf565b90506000612453866133bb565b905060008460405160200161246a91815260200190565b60405160208183030381529060405290506000805b8451811015612dc357600085828151811061249c5761249c61533d565b602002602001015190508451831115612537576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201527f74616c206b6579206c656e677468000000000000000000000000000000000000606482015260840161063f565b826000036125f057805180516020918201206040516125859261255f92910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b6125eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f742068617368000000604482015260640161063f565b612747565b8051516020116126a6578051805160209182012060405161261a9261255f92910190815260200190565b6125eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e60448201527f616c206861736800000000000000000000000000000000000000000000000000606482015260840161063f565b805184516020808701919091208251919092012014612747576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f6460448201527f6520686173680000000000000000000000000000000000000000000000000000606482015260840161063f565b61275360106001615229565b8160200151510361292f57845183036128c75761278d81602001516010815181106127805761278061533d565b602002602001015161341e565b96506000875111612820576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e6368290000000000606482015260840161063f565b6001865161282e9190614f2f565b82146128bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e636829000000000000606482015260840161063f565b50505050505061225d565b60008584815181106128db576128db61533d565b602001015160f81c60f81b60f81c9050600082602001518260ff16815181106129065761290661533d565b602002602001015190506129198161357e565b9550612926600186615229565b94505050612db0565b600281602001515103612d28576000612947826135a3565b905060008160008151811061295e5761295e61533d565b016020015160f81c9050600061297560028361536c565b61298090600261538e565b90506000612991848360ff166135c7565b9050600061299f8a896135c7565b905060006129ad83836135fd565b905080835114612a3f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b6579000000000000606482015260840161063f565b60ff851660021480612a54575060ff85166003145b15612c435780825114612ae9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e646572000000606482015260840161063f565b612b0387602001516001815181106127805761278061533d565b9c5060008d5111612b96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c6561662900000000000000606482015260840161063f565b60018c51612ba49190614f2f565b8814612c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c656166290000000000000000606482015260840161063f565b50505050505050505050505061225d565b60ff85161580612c56575060ff85166001145b15612c9557612c828760200151600181518110612c7557612c7561533d565b602002602001015161357e565b9950612c8e818a615229565b9850612d1d565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f6465207769746860448201527f20616e20756e6b6e6f776e207072656669780000000000000000000000000000606482015260840161063f565b505050505050612db0565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e70617273656160448201527f626c65206e6f6465000000000000000000000000000000000000000000000000606482015260840161063f565b5080612dbb81615305565b91505061247f565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c6560448201527f6d656e7473000000000000000000000000000000000000000000000000000000606482015260840161063f565b6000808213612eb7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e45440000000000000000000000000000000000000000000000604482015260640161063f565b60006060612ec4846136b1565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c182136130c157506000919050565b680755bf798b4a1bf1e58212613133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4558505f4f564552464c4f570000000000000000000000000000000000000000604482015260640161063f565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b80516060908067ffffffffffffffff8111156132ed576132ed6147d4565b60405190808252806020026020018201604052801561333257816020015b604080518082019091526060808252602082015281526020019060019003908161330b5790505b50915060005b818110156133b457604051806040016040528085838151811061335d5761335d61533d565b6020026020010151815260200161338c86848151811061337f5761337f61533d565b6020026020010151613787565b8152508382815181106133a1576133a161533d565b6020908102919091010152600101613338565b5050919050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b83811015613413578060011b82018184015160001a8060041c8253600f8116600183015350506001016133e5565b509295945050505050565b6060600080600061342e8561379a565b919450925090506000816001811115613449576134496153b1565b146134d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206279746573206973206e6f7420612064617461206974656d00000000000000606482015260840161063f565b6134e08284615229565b85511461356f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f524c505265616465723a2062797465732076616c756520636f6e7461696e732060448201527f616e20696e76616c69642072656d61696e646572000000000000000000000000606482015260840161063f565b61235785602001518484614207565b6060602082600001511061359a576135958261341e565b61103a565b61103a8261429b565b606061103a6135c283602001516000815181106127805761278061533d565b6133bb565b6060825182106135e6575060408051602081019091526000815261103a565b61225d83838486516135f89190614f2f565b6142b1565b6000808251845110613610578251613613565b83515b90505b808210801561369a57508282815181106136325761363261533d565b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168483815181106136715761367161533d565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b156136aa57816001019150613616565b5092915050565b600080821161371c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e45440000000000000000000000000000000000000000000000604482015260640161063f565b5060016fffffffffffffffffffffffffffffffff821160071b82811c67ffffffffffffffff1060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b606061103a61379583614489565b614572565b600080600080846000015111613858576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620616e20524c50206974656d60448201527f206d7573742062652067726561746572207468616e207a65726f20746f20626560648201527f206465636f6461626c6500000000000000000000000000000000000000000000608482015260a40161063f565b6020840151805160001a607f811161387d576000600160009450945094505050614200565b60b78111613a8b576000613892608083614f2f565b90508087600001511161394d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604e60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20737472696e67206c656e6774682060648201527f2873686f727420737472696e6729000000000000000000000000000000000000608482015260a40161063f565b6001838101517fff000000000000000000000000000000000000000000000000000000000000001690821415806139c657507f80000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000821610155b613a78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f524c505265616465723a20696e76616c6964207072656669782c2073696e676c60448201527f652062797465203c203078383020617265206e6f74207072656669786564202860648201527f73686f727420737472696e672900000000000000000000000000000000000000608482015260a40161063f565b5060019550935060009250614200915050565b60bf8111613dd9576000613aa060b783614f2f565b905080876000015111613b5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605160248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206265203e207468616e206c656e677468206f6620737472696e67206c656e60648201527f67746820286c6f6e6720737472696e6729000000000000000000000000000000608482015260a40161063f565b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003613c39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f60648201527f6e6720737472696e672900000000000000000000000000000000000000000000608482015260a40161063f565b600184015160088302610100031c60378111613cfd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20353520627974657320286c6f6e6760648201527f20737472696e6729000000000000000000000000000000000000000000000000608482015260a40161063f565b613d078184615229565b895111613dbc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604c60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20746f74616c206c656e677468202860648201527f6c6f6e6720737472696e67290000000000000000000000000000000000000000608482015260a40161063f565b613dc7836001615229565b97509550600094506142009350505050565b60f78111613eba576000613dee60c083614f2f565b905080876000015111613ea9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e206c697374206c656e67746820287360648201527f686f7274206c6973742900000000000000000000000000000000000000000000608482015260a40161063f565b600195509350849250614200915050565b6000613ec760f783614f2f565b905080876000015111613f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206265203e207468616e206c656e677468206f66206c697374206c656e677460648201527f6820286c6f6e67206c6973742900000000000000000000000000000000000000608482015260a40161063f565b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003614060576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f60648201527f6e67206c69737429000000000000000000000000000000000000000000000000608482015260a40161063f565b600184015160088302610100031c60378111614124576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20353520627974657320286c6f6e6760648201527f206c697374290000000000000000000000000000000000000000000000000000608482015260a40161063f565b61412e8184615229565b8951116141e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20746f74616c206c656e677468202860648201527f6c6f6e67206c6973742900000000000000000000000000000000000000000000608482015260a40161063f565b6141ee836001615229565b97509550600194506142009350505050565b9193909250565b60608167ffffffffffffffff811115614222576142226147d4565b6040519080825280601f01601f19166020018201604052801561424c576020820181803683370190505b509050811561225d5760006142618486615229565b90506020820160005b8481101561428257828101518282015260200161426a565b84811115614291576000858301525b5050509392505050565b606061103a826020015160008460000151614207565b60608182601f011015614320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161063f565b82828401101561438c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161063f565b818301845110156143f9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015260640161063f565b6060821580156144185760405191506000825260208201604052614480565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015614451578051835260209283019201614439565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b60408051808201909152600080825260208201526000825111614554576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620616e20524c50206974656d60448201527f206d7573742062652067726561746572207468616e207a65726f20746f20626560648201527f206465636f6461626c6500000000000000000000000000000000000000000000608482015260a40161063f565b50604080518082019091528151815260209182019181019190915290565b606060008060006145828561379a565b91945092509050600181600181111561459d5761459d6153b1565b1461462a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206c697374206973206e6f742061206c697374206974656d0000000000000000606482015260840161063f565b84516146368385615229565b146146c3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f524c505265616465723a206c697374206974656d2068617320616e20696e766160448201527f6c696420646174612072656d61696e6465720000000000000000000000000000606482015260840161063f565b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816146da5790505093506000835b86518110156147c85760008061474d6040518060400160405280858c600001516147319190614f2f565b8152602001858c602001516147469190615229565b905261379a565b5091509150604051806040016040528083836147699190615229565b8152602001848b6020015161477e9190615229565b8152508885815181106147935761479361533d565b60209081029190910101526147a9600185615229565b93506147b58183615229565b6147bf9084615229565b92505050614707565b50845250919392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561484a5761484a6147d4565b604052919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461487457600080fd5b50565b600082601f83011261488857600080fd5b813567ffffffffffffffff8111156148a2576148a26147d4565b6148d360207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614803565b8181528460208386010111156148e857600080fd5b816020850160208301376000918101602001919091529392505050565b600060c0828403121561491757600080fd5b60405160c0810167ffffffffffffffff828210818311171561493b5761493b6147d4565b81604052829350843583526020850135915061495682614852565b8160208401526040850135915061496c82614852565b816040840152606085013560608401526080850135608084015260a085013591508082111561499a57600080fd5b506149a785828601614877565b60a0830152505092915050565b600080600080600085870360e08112156149cd57600080fd5b863567ffffffffffffffff808211156149e557600080fd5b6149f18a838b01614905565b97506020890135965060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614a2a57600080fd5b60408901955060c0890135925080831115614a4457600080fd5b828901925089601f840112614a5857600080fd5b8235915080821115614a6957600080fd5b508860208260051b8401011115614a7f57600080fd5b959894975092955050506020019190565b60005b83811015614aab578181015183820152602001614a93565b83811115611b6e5750506000910152565b60008151808452614ad4816020860160208601614a90565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061225d6020830184614abc565b600060208284031215614b2b57600080fd5b5035919050565b600060208284031215614b4457600080fd5b813567ffffffffffffffff811115614b5b57600080fd5b614b6784828501614905565b949350505050565b803567ffffffffffffffff81168114614b8757600080fd5b919050565b600060208284031215614b9e57600080fd5b61225d82614b6f565b600080600060608486031215614bbc57600080fd5b8335614bc781614852565b92506020840135614bd781614852565b91506040840135614be781614852565b809150509250925092565b801515811461487457600080fd5b600080600080600060a08688031215614c1857600080fd5b8535614c2381614852565b945060208601359350614c3860408701614b6f565b92506060860135614c4881614bf2565b9150608086013567ffffffffffffffff811115614c6457600080fd5b614c7088828901614877565b9150509295509295909350565b8581528460208201527fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b16604082015282151560f81b604882015260008251614cd1816049850160208701614a90565b919091016049019695505050505050565b600060208284031215614cf457600080fd5b815161225d81614852565b80516fffffffffffffffffffffffffffffffff81168114614b8757600080fd5b600060608284031215614d3157600080fd5b6040516060810181811067ffffffffffffffff82111715614d5457614d546147d4565b60405282518152614d6760208401614cff565b6020820152614d7860408401614cff565b60408201529392505050565b600060808284031215614d9657600080fd5b6040516080810181811067ffffffffffffffff82111715614db957614db96147d4565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600067ffffffffffffffff80841115614e0557614e056147d4565b8360051b6020614e16818301614803565b868152918501918181019036841115614e2e57600080fd5b865b84811015614e6257803586811115614e485760008081fd5b614e5436828b01614877565b845250918301918301614e30565b50979650505050505050565b600060208284031215614e8057600080fd5b815161225d81614bf2565b600060208284031215614e9d57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681851681830481118215151615614efa57614efa614ea4565b02949350505050565b600067ffffffffffffffff808316818516808303821115614f2657614f26614ea4565b01949350505050565b600082821015614f4157614f41614ea4565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082614f8457614f84614f46565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615614fd857614fd8614ea4565b500590565b6000808312837f80000000000000000000000000000000000000000000000000000000000000000183128115161561501757615017614ea4565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01831381161561504b5761504b614ea4565b50500390565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60008413600084138583048511828216161561509257615092614ea4565b7f800000000000000000000000000000000000000000000000000000000000000060008712868205881281841616156150cd576150cd614ea4565b600087129250878205871284841616156150e9576150e9614ea4565b878505871281841616156150ff576150ff614ea4565b505050929093029392505050565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0384138115161561514757615147614ea4565b827f800000000000000000000000000000000000000000000000000000000000000003841281161561517b5761517b614ea4565b50500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156151b9576151b9614ea4565b500290565b6000826151cd576151cd614f46565b500490565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261521d60c0830184614abc565b98975050505050505050565b6000821982111561523c5761523c614ea4565b500190565b805163ffffffff81168114614b8757600080fd5b805160ff81168114614b8757600080fd5b600060c0828403121561527857600080fd5b60405160c0810181811067ffffffffffffffff8211171561529b5761529b6147d4565b6040526152a783615241565b81526152b560208401615255565b60208201526152c660408401615255565b60408201526152d760608401615241565b60608201526152e860808401615241565b60808201526152f960a08401614cff565b60a08201529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361533657615336614ea4565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060ff83168061537f5761537f614f46565b8060ff84160691505092915050565b600060ff821660ff8416808210156153a8576153a8614ea4565b90039392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c634300080f000a005821031df491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff697042dead0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041010058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60581c012abdea00000000000000000000000000000000000000003b9aca000219080605581e0378a9b82309ee787f532d46a748ac4bee65a60ba03b0be0954a9b18212007011953ed03bc531c013acfb00cad4349afa6d23e88ac56750e1b6dfac2d66f8f733bfd5c3205581e03f8e298ac274763daaebc14037d43f800478d309bf17509b6e40c8455800c03470758b90a88ec0005581e03e8dcc3b82d0b8cb71046ed44ff34338d1bf21595c28853d5fcf0facd200c0346bc8268fd061805581e03f27d82d7be7f34ebb0f3b755d3be3253aa37c7bdb23950dd4660d028e00c0547446b5c922e5d80036b1d34a7c277689c5d5f0c4d695d2e2a6e83aa4ccf2cfc6fd70673115c75d82205581e031dea81780d71d6115394b1cdb0549a0a2b52374488c9907eb281833750040105581e035f537c21b6863e8a6791ecae5257987e2d7e73acf8fa36be5a2b8b40500c0146098cb8c5280005581e03bcab928efb8555715471e050452f3c4609c703abc38a2524e23a140e700c0147105a58ff53470005581e0330d25b72a9ad80ffac2b0b3b1ad23ec9cfe2c989e78c20067b8c8aaa900c0247098e21a85b0c0003a97dee79efc640a5e3796447236710730b9c4d432f3a14e81303f4b8cb2575b605581e03b7ce92acaf67ef903666cdfbfbac6d2f4c0c340a441761695c2b3f8f00040302195ff503c3e2d62cbd745f0be923ce06a75cc8ad37cc76f3923881800b945b008035352d03a57c2fb3f8f73a7bf6de22e85793279a3116208be8f4afb931173b460aa7bd2803eb4e61d95774906cabf9c624170a071eb3ec28c6f202d71f2fa8fa84ad5913ed03000a31cd4d33ae07e13d30d14332410b5b90d9ca00ad0d2f95d06c157ee739d4036c2d5fc0e9e116981b593319a79beebaa93d994fedd71148f46a39454a9a65c50354872d8dc065dd061f20355402340760ab54d6b6cd3b01c3c405239bc826398c0303ff99c5d39c9f14231980bc95316f515531db4720d4eaac3d97d42cdc6ad40003a755df733d6500c2496d76a15e5de6a9dd9266b2087b74f5288cf839d4a746fb0219ffff0324a126f9790122e457346c56dcc2629931b1dd1e22367a80c36651af438798160219ffff039507f6f6eaefedc401776f5c855fa46f9a49b43d88b25c44d903b9d6d7170a06030858b86a6366ab1132d95c978e51477c68f62955618d795f30ec749c07be9d9503d0d3566d987ed189fd726564f09ced014fc0ed5b00dbf94585d07bf543e6ec240219ffff03e2c945bd01728a4f3bbdb984f3aa01e2923d737b115022416707f95f4708a84703bc818d4907ab38373b186f72c257f348579506089cfd25740c95c91533c5eeea039ddd90b0a55abebbc37df046ce3560fa7c7e30b3c0f59c704ab59b41c7ec7b2c03e19ffd2450da8cb3dfb06689b1f0a75368fd5fd4618e8abeb1ca2c1704c51ea80219ffff03852dbf2f6fffe4d97a918d9006a9ec77c0750468748da79e094168c215a38ac10395786f8dca7e35a6795d278c723fb646a54d52321c5d3d53f85d7fa157b7f6510358bc9e3842e3a417eb2e9b117f05f08dca4aa591eb8b36f79a0cd4f9bb0a467003cc756d879a9842087cccf98431526e46307c8965bc0c5c34beda0d5a5fc9102603ee96982d6efd328bd554b47a5728d6c7d2977551f9b3b8493b4f3e6f1581fcbe038354e049217e2852ee620171579810c3ec3a8172db24024a50c3f93896df79e203f5c82268c62720291bbdf39375672130d840fc9adc63b43a08b6891c5d31314503c7e3fb8f0aaff67c06d78cb3ff63fed9da501f9a773f24c6af705b5a38196d2d03d9d5f6c7f144d63d5db7708da4a76879aed6ec52ef5d4d52d2bf72f6286d6b3503fa0a1df409aad9191df1183b989b994cb728f1b24a91e3b829bbfcc47411a97303ab4b1e981aa1bbad1819eed4fa63186b625c17b1b37a5a885c0c7ac25cdcfbb803d6b28f99fc2683c46492d6fd8f936c7ee7a53c98288cfcbd81854b7904c4217d03dfc6c19b94d7e358635dcd24dd40d9c7731280f65dec99400e3b00dd4c40e1e403d22716c58b4fe70fd8bb6965fc4120117f0b2c95b5c490cf5eda28ba30e3321803d0b937d5621f3b9389e860dc48b54dd3193683eae4893cdc6918ebf99efd367603701afbb9b0543117cf0107f33b12d5c71cccc791922fe9efab76a24ee8f4bcbf03113e357cec4cd19bd6cf0f242b79c9e6382bf4debefe4eb62a1c41eb985248d703babf192551b734bac43e714b90129cab8312ff3a79a41b45ff99efb680b40ee503fa68e83521ea704a1d1a5a25abe09e581f0a3db7dec02d8bf1d5e41531a40a9303a12534daacdec30461510306ad9c52e32895d0696abe27e77a27d1e289bdd153039a0c284e55c43d40848744dad11e8017c59e360ddbe92d7c583f3528660ee9fb03c1c64bf76e28665d8b4177f9b2415ba57d9ce36b636a88cfdd4999f1372580a9035a71ba271401c51d6daf59020e20eeae15e9919c9df51922d931f557b90925270352f2af75163997ac579541bed749396e5df708120e0548890a71a8ef62a7fc7b038808df3a9866e3e13f7277549b6a667c6a92d91e27e281ae2d498f9b9f8f6185036f65f1420bdc29a6f5c805411e6f7ad4a7c19b3c424e3a48e1452a51786fee97039bb0c334f5418491b1a7259ae92775f57d6f3f500ecb2b6176c221912b5a939603327e1b9380e8704da3de418fcb5c2224c3b737385c10575ec6a2cb49924decc203ba8072e2e7c33a73534cc185d67912595330538608abd346867ff09945c766bc038925cc8db03102b170d5890d9bbc37c0d06bf570f77f9aab59322b17981d4789030057c6a667f53ee546d7f237c16563b318856abe9e3bc4536e4413d3c9b1628c03920321dcc967a244e747027e094d5eb68294db09282dc7774604243ec58d3616037a67e6f282e8f12c89a51d24453f974fbd6ba272377f9583c110b9d7f9a776cb0366d1f5869aae55999417e46c12e445b5280a1f4a434b865cb83cc0346a98dc0b036de2e9d478437f8e9cf8b7767e12504bca199af0b26478553f3a0def1eefc47605581d021974fe612783ef1fa33f05b7fac62bfb2336cc2f59f19c6c8ca4fbdb04186505581d02ae05bd2b836b9d96f0cb3252900004ec52a9209a7e9f83b39e3018ad0c0447064482ee9d7e00045910e4608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025857806370a08231146102bc57806395d89b4114610314578063a457c2d714610397578063a9059cbb146103fb578063dd62ed3e1461045f576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019557806323b872dd146101b3578063313ce56714610237575b600080fd5b6100b66104d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610579565b60405180821515815260200191505060405180910390f35b61019d610597565b6040518082815260200191505060405180910390f35b61021f600480360360608110156101c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105a1565b60405180821515815260200191505060405180910390f35b61023f61067a565b604051808260ff16815260200191505060405180910390f35b6102a46004803603604081101561026e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610691565b60405180821515815260200191505060405180910390f35b6102fe600480360360208110156102d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610744565b6040518082815260200191505060405180910390f35b61031c61078c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035c578082015181840152602081019050610341565b50505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103e3600480360360408110156103ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061082e565b60405180821515815260200191505060405180910390f35b6104476004803603604081101561041157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108fb565b60405180821515815260200191505060405180910390f35b6104c16004803603604081101561047557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610919565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561056f5780601f106105445761010080835404028352916020019161056f565b820191906000526020600020905b81548152906001019060200180831161055257829003601f168201915b5050505050905090565b600061058d610586610a28565b8484610a30565b6001905092915050565b6000600254905090565b60006105ae848484610c27565b61066f846105ba610a28565b61066a8560405180606001604052806028815260200161101960289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610620610a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee89092919063ffffffff16565b610a30565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600061073a61069e610a28565b8461073585600160006106af610a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109a090919063ffffffff16565b610a30565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108245780601f106107f957610100808354040283529160200191610824565b820191906000526020600020905b81548152906001019060200180831161080757829003601f168201915b5050505050905090565b60006108f161083b610a28565b846108ec8560405180606001604052806025815260200161108a6025913960016000610865610a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee89092919063ffffffff16565b610a30565b6001905092915050565b600061090f610908610a28565b8484610c27565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080828401905083811015610a1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ab6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110666024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fd16022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110416025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fae6023913960400191505060405180910390fd5b610d3e838383610fa8565b610da981604051806060016040528060268152602001610ff3602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee89092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e3c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109a090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f95576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f5a578082015181840152602081019050610f3f565b50505050905090810190601f168015610f875780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201ed2a9f0f885f0602f28135782f6af361fc66bea8ba842fba83c37ccdc84325264736f6c634300060c003303a58f77ad9d2c37b87e77a7d7a69a6a63a53d69c1fbd5d2ee80b916acda8372790393e1d8bc3a5b302e9f996f5a4ce59ae56e71c59ba1aaeaae96ec412f36a7ac1203228a566f169618a0e718fb2d8b5a577889694835acdfee40c54886eea62f1b3203e846af156997504d6ed7e0c7e8e58ea8838585ee90dc9d7c2c04def1ef014f4703347fe11a9472762f177da86f7468075909dbf8276bd6244c02fee83a35be866e0345f1e63bbd9c066119b1e98066f9ed9eb5e2adec3ee31f89e0a10c12e359fc910314955536618b8ed51a800dd11e3774a5f79a3a48f372a232f06aa0e35180867c0333604f0156ae89b35e3d15572f9117a909c235acc5c15d90ebba100fbac5da6b03ff9eaa4d89cbd9c2b781640f36103acf8090d6965574bf00bff6328e94859df3035e9990dc4527147837ebd399e4732d3f711aaf4d1329cd98eac78e8b2aac297a03565b4ba4fe1c77c9774a427c06a242d0ab5d52157e018cb7719f109e9a5cd637035dc6651c4e3e7af91bedc81251c7f2286b8feb06da7124be7c73f5c676c310e103f95a40ace3212932812f1ffe505472dd9886ddf3f59528553fd02f8fdb7b90de00582003167371797007f269305a22198fdb4466d9de4d21e38b748452ca571b7c9d705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0344fef9fdedf35328e199eb34bad5a734284126f203b9b21a01133d874f8fbc4e03b17381158510008b65161eae3318979ce4f8e682e350695d7ab01b7d575b38b300582003ee4cf0ed9ff6d417a4d697e2ea6005d61b8e1624f9ed4800724956005dcd10490ee2020e9d649271f200581f036d8b2aa5a3d735352025362a2a11d01be1f8f120ab3f60b9efd98a547ad0410100581f038149f5360cb2028094bca529cdc3c1589905e0a1ebdfe9805bc23379c7904a01ce9d4ed0757591cd610219400801410203d6f568023bbb4e176600f5f9c4d004d8f2e5a36d5708514edf149b3bf1522fa703d4c7a743f826e416566e5b8142cef76c91085ea2dbad7032b80cd0406dcd7e7f03cb56e3a022e402669ae3e913fe40bc7970f2d0319facd77f3c0ffe7fa686712603812a5456cefe1be1907478e6ed959c80611443e9f41cd0d9565b3cf2eef11e9203c5466ae9ed673c5f568418e97f9d5839e71e8d53767e18a58d0c824e16b2bbdc037dcde0d79bec088eb0963f5bbb1fbf4546a05c3c6e0a0087d4b775dff16b77eb0219ffff032906e0d25834b232d3e995be1536c4745c26fc155bff3a5d77255dd46dd967a603d88acb2a32ba35e7ddae79180bfdd508764e536d3c3135fa8b6ee4dcc9a304780392a6b54f8cc93b9e28bff8b3059c0ea0523a349b2fe06b635597584331bbfefc037c0682015fec01037db9175d97e104a807fac114a84c218dfe3af104b5a688d8032c09e3e34796bd49993c6caecdd378625929dcc2a3767ddbec456f28a40618f5032f706e1c93f023874dfe5e7a71846a92964044f3d32a490bc17d3abe7c054d2f03737aa6103a2c8b3af0750438f86e636c0e518ac5cf8bc3f7a9251047802b2f040363bd69b60a57eb83d6bdbc5cfc171386c139609bdd287fcc3cc5157961dc584f0336778df5c609dccea0fd912a0c9384977a189b6220d8ee23ab70532c3c8ab5d403a2f5969890143ab32e2e91a6dc51221251ffa792ef4c836cde61d603c5f7a61b034cd6b02719ccdba46b5169c4fbea248decacf541dfe613e054771bbdec20519303e4a7362953e93ebe9063bd3473c13cbf86bd4afb1b92911bb0e002dc836b5ce703ab5eca7a311f53cfe2f490f7439f09effb69bcf9db3a6d25c6803d7b1d90da7c03c351395d85f3a2c9a2341a2b506441a4b5346bc7105640c410fc6aa33d61211e0219ffff03f4c55966cd674a2359555b8d3608614c72538584103af70d64eb71787b8651200341fd87edce89b95a2845830e59e6f67b187424e413fd8c0ee40e90f6ac602d1b032cbf32d7e09a4bccce2bc3571778ca9f9182d951300f59096c9b683817ce20fa035692b83b3bffa4b886aeceabb1573773ffc6e2b99f01be64d2c2ad9a2ea3e96a03b1afa76ceb90eae7c6ecf861be94243f88bb066167c34a4aa9d0b980c4145cd1035da79611f2c6d6dae6e08e6e8839baafb467588af5074bbde32d5aead852eee4033d82b0f0825c3a67a334af62367a45029b0e2a6ca024fc3a1fd411c9d0b43c94030cc9147d29173e8f5b9ae3453dde19fb3ab8c96995782018234705b2b722aade038ebaf865d10f64175b3b833c9e3b8530707631187672ebe2e98dbf259fc1286e0339e7e1f07b44af894c8966d88a0d5d15dd8ed85f52c33b8a83889d625753993b03044a7b76112d909be333c7fa8632377dd7ecf88fb381d9e4af581f01d939daa20339ad4f24b3bb351896fe2ff512e422635b1baef3856ea18565b8074422103d6d037083e31d3f0fd2803d5c5108b6d39f287379fdadae4218ad766e2ec51f90e3d2005820034e01cd1ad3f0651e0e3486ae8526adb9dd946ab54c814f8c88bd5cbad869e05820ffffffffffffffffffffffffffffffffffffffffffffffb0d60b7d315b4c9c8d03b7e8faaf972ed3eb215091fec626d80d291c1f3d51aae570b4dd13150ec07aa5039dd2035644c395bbfb6fff904849a77dd0de1a201d2cce6e4cb38fb73d0b0853037d0a847f75c3b22fdf6a43931603db7fb4e8206464ce8e603e4e01ab65e15ece033075061389c0d7a1e5b6bb0542485b4744d8479344893fe6f6c2197a81befb8b036a30c5876cea6623c21049deee68b6a4d5af595c68bc0564d0af62b30387143e00581f025cf1b9a424614e5594df20cc66477a2c4c0bff9b14818687af985d4e72734907bf6e569db748111403b98179d80c8c2f4c9036a06793a7aadbd76c2bd5f7ff63bd81384172bfb6b7c500581f02fdd50f49467bfe2b917bdec0f52379cef08867ed6361e80d32ecd0032d58494d5d7c7dc5424b5266021908120325239ed7062069f0a0dc05f958862aa17cfe1e06a4fdc6e898e578d297e7ea6403d2906a34fd086942cbc1e06a6aa814d7dd55703ff9d0f0f0a3f52144c4fe04c70360c25b5b083aa497c88e7f7c4361f719722f1dd8251ff46cab5cfcededbe05d901410b00582003f5bcab5e15f13a3fd0a4cfc9d47e7b13e245e0c41081a5827cffa5bb5fc2c05820fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e77ffff03793eda3022db80a6b93789a54e98e7d565d4d353e91b0f185c54c71d7b3f09d603cc1a6ccceaac74915952bd54df18d1e6a6a80e7b951f6dc6615bf4df253eb86d0394eb224b7523efee6eae78134961d115941e5b63a933c08f37e6771e11369a2b0058200397ec5f079fa05a36749f0bad9e77ee3f878e2b2018fc3381df9320a4cffde04a065a4da25d3016c000010219ffff031295c1200713b0e992f180fbcb44df6840debbbb8f946fbe069f79d81a81921d034919cd01d3f8e58adc2b22285ab8bd138dea5e2dc68967e8fb9cd92527d8ec0d033e3b2ef6706cb6d8d915b6678c97fb2e2298d675db8b4653ff078072b95a89f703678afb42ca17a42811e38b684d3fe9727ddca31614c1ce9e15efe6d7450391b703b814f58e28617aa19eeb721d7426e6738ae232987d513028b9a4774ef774a14d03fcf10c95b149fa4d73c28288a4ed37f8280639381e69d83f035a594842a340fd032cb6f923a1cf6c061815b72326e500efcf4c9a7668705b9cc12a0eb6da827487036be33c6264bbc5c02085b65c3fa5d5acf060c4a0bbf62f8804fe1fbf47909abf03ba76598a4a2ac1fa61713516a5914288839cff1280b207b67e958a682a9c991c0219ffff0312fd6dc5ca96c21bbbb059638ba9df9c7c473d05b726f65e7a51e1ca16de921f0219ffff05581d027159fe81a13069d2519f0795c59daa4dffdd8050b2b5fe954ca308fe07011910e40219818005581e03256cc4347d796df35423c6f1d75ef9d45a5bf888c6ea6587fcf28a6ac0040f05581e030ec8286d872aa3fc3313fd18a5c534f341db833cdbff14d31eecd2b970040303d75958f010a36b14444fb65eb06414408869ac66049ffc9caa90a873762144b305581e0393244877af7e0ead7d3c5d3012e56fb168153d65b36575bd266087b5e00c1647134860ff9c5c0005581e035fdc358450a74a035615b5832cfdd1c3efcee428b4b698536c0582ea900c01471182e63e19100005581e039e302a13c3c5f7ef472f4fbceb4c018b3084286b8f8ddbd73f461f13100c084503a8012ff705581e031850018eb1dcbd157fc07c58d73ed0b802ce9dcc689b1cf4c392474dc00c1840481b3e6a420b50cd2005581e03aef4c3514e510f89112fbc27d342d9fd4d38fb8a9217dc10b47ed420700c044718fc69e741f1c00396fd0ada747007c859bffd530c0c2ea85dc9799f336b4ffe56e1842e96cf6ee40219edc903751655852dd1072c3f437bdd574c6a7d74dfa88578aaa9d2441a8de6296f134f038fa2c449d8492e4d77b9d06ec35262aac3d86354845a7cdfaebf83f57b576615036c43fc634fcd233971f323bede639de4513b6b55c7fc84416c2bfcc9512633920219ffff032737279c09c5733de10a4f16117e732babb24da1721e395682e02c26b51e9320031d0bbb2986d5e764d7fac16b24b452855fe1abe6eaf4b08c7920227455aea88303cf6175dcd679d718ceb6339677be02094973a0f9c6428ee23308b66a92621e5c03c2d52062a2df1d2c4bf7f9746f8029ed6c86106959dcd065910ea0d02e0a56f30219ffff03b80f35c37781722607eb883d0697e2857e8d57dd1714837aec188cb6a89b0c2c034dac041d069ac50184441f97dea903cd53164e03d0b91924009589124feec2fe03aa87209c2bd862a1f8b7657c9ea916bdcd9f952858c9601c44ef5dcbc89c0699038cc023a6563f675b4f834e3e5525ce122c6746b63eda3743fafb0e1b4ad96b3603ea7117c1f647222d8e9cb1c437912fc5a1bd47ea0e2dd512ef37ea65f1d738210313c82cb62bc52960a5d9aff43f4cb472c3019828526973d7a338534af260a3a50219ffff03cb727d06efa1dc27355dd02ee8352554881519567c699b53c52346ee28705d3403e48a309267d3d1fca515e177d8a065b01bd95745d8ed4d5b903adcfd400ed45f0385d38e0022928e82e6fc4d061e3f40078c4db29bc1553cc4360ccb4ce064405a03e3932f5e0bd6d9c8aa0595b83c03fc51c0a17c0e108ef8c542fe5e7bc91dd21403128bb93421e9764af52487b0b2ffd7245915aa0327e9528dfbd2b46799e2e1af0378f4c4e3c8172f719c591e3dd94f6f8907f940b420a342ad2452e75b8432f42a035932529b919605becfc4a3e184f60d379331af8d97cc0c9da5ff437d4bc9eb4703edb38a7091791f7863bcdbfc10272df4dae8b7f5935d152ec46304eb157ec4ff03ee41b7a628f1193176efc013d7e6502abefc30272208764f94147db1a7a48ea80306bee314735bd8597728656f11bd0eabf698990dc6bdb9ae3b1f8dc30eafaa6903aabae5417056793ab0e8248f5abe3d4ad2ae06fbae5b0792b31ab220275d13ab0307ca2d60bd757776f87bc92c014e7ee144ba8de178cfa7f7452647a32711ca030308b7844fb069d0b8519c111e716e8aef130b6b8d61f95a34ba9a0a77108a157e03749522f7e0ec382f53470986a1324c9f59b3b38a71cd712e936656a431b867550385981f7853478471fc34185cf8ff05e40b104eb42ff9fb675c65c4c59a76b2b903bed6b458daf3fa07d563cef885cad7e55a53c53a5f883e2f4e0c99136f12e20603a99fafc2290a517997840cd4e6b29cbb12690e1fa960ac45d9273935ab4643a80350711116694cc3a1ed05472f8c56aaa013b516baa1b6f31da23960f88e5b9de7035a82a6cff538c015614681e86d84b8cdd6b9da5f444bd3b962c91b4ae89ac7fd03252ad4cbdad1547bd37836948b7aa4bec7b9ffd228deb02837c7ab324db2234403109af459602452b5bd2dfe34df9ae875b7cf795c61ba2e06d7697fcdeb3af57c03fc903add1af3877f1769477430b5899d3830777bba751c7923eb6b11c9e04e7b05581e03d1931a420c22211efdc0ec157aa8c31dba1d930acc4e48e2210afd4a70040203bd2eb6d910185850cfecfcba77cba9715d8f1963989466688a49e0b6e69b924d05581e03327de80f0c731415a8a755c58c166244aa2939c5b77c8b065d1a2733100c0c48015dabaf9b02d1eb05581e033817c9c9930bb249e42f01c69f8b599e39e04df749402254602bf56670041305581e0351177ea05d9f8f5e1981e6e18311b5cc5a19006df226c944625998b2500c01471bb60f053f800003547d0e736f436fc324e810b0cbfe97f5869fd465cc1ea24801a8cfa22a3823fb05581e03b77362dd8871ee7b28df0781dfaec61e8380148c6d09b2ca616c7307b00c06465f634724e000031c4fdb5800e086137961a0c3d0c34b30978bd97559397aac4f0b8ee92ba2b4f0036ae9e4f3da01a2bafda4295e8266b36c935dc9fd18af6d9dda1136c458d7fa0505581e03eb46ab68a4bd2e6d7c686014c88f06e992dc0b813bfa88d3995721c610040105581e03f0970e5c3a832d0a51fa662796cc3307e142072dcf3e5372dc7a9b4c20040303dc9ec9e92d360b3b26d37753361afdbd2c99da935d0133d1ca45278ecfa007b805581d020f4c20e72e5acf10d894c7f7426dd306f049305793bdb326651f76ae0c0446f5ae46afd0d0045941df608060405234801561001057600080fd5b50600436106101e55760003560e01c80636f265b931161010f578063ad677d0b116100a2578063c8b97f7111610071578063c8b97f71146109d2578063d4e8be8314610a4e578063e488181314610a87578063ebecb39d14610a8f576101e5565b8063ad677d0b146107fd578063b64a097e1461081a578063bf353dbb14610997578063c3b3ad7f146109ca576101e5565b80639c52a7f1116100de5780639c52a7f1146105ed578063a19555d914610620578063a49030361461063d578063a53a42b51461065a576101e5565b80636f265b931461058e5780638b147245146105965780639507d39a146105b357806395bc2673146105d0576101e5565b806336569e771161018757806356eac7dc1161015657806356eac7dc1461048f57806365fae35e146104ac578063691f3431146104df5780636baa033014610571576101e5565b806336569e771461033a57806341f0b723146103425780634d8835e61461035f57806350fd73671461046c576101e5565b80631a0b287e116101c35780631a0b287e14610291578063217cf12b146102ba578063247c803f146102d75780633017a54d1461031d576101e5565b806306661abd146101ea5780630a3b0a4f146102045780630f560cd714610239575b600080fd5b6101f2610ace565b60408051918252519081900360200190f35b6102376004803603602081101561021a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610ad4565b005b610241611aa9565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027d578181015183820152602001610265565b505050509050019250505060405180910390f35b610237600480360360608110156102a757600080fd5b5080359060208101359060400135611b01565b6101f2600480360360208110156102d057600080fd5b5035611d3b565b6102f4600480360360208110156102ed57600080fd5b5035611d5e565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101f26004803603602081101561033357600080fd5b5035611d89565b6102f4611db9565b6102f46004803603602081101561035857600080fd5b5035611ddd565b610237600480360361012081101561037657600080fd5b81359173ffffffffffffffffffffffffffffffffffffffff6020820135811692604083013582169260608101359260808201359260a083013582169260c08101359092169190810190610100810160e08201356401000000008111156103db57600080fd5b8201836020820111156103ed57600080fd5b8035906020019184600183028401116401000000008311171561040f57600080fd5b91939092909160208101903564010000000081111561042d57600080fd5b82018360208201111561043f57600080fd5b8035906020019184600183028401116401000000008311171561046157600080fd5b509092509050611e08565b6102416004803603604081101561048257600080fd5b50803590602001356123d2565b6101f2600480360360208110156104a557600080fd5b50356124eb565b610237600480360360208110156104c257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661250b565b6104fc600480360360208110156104f557600080fd5b50356125e8565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561053657818101518382015260200161051e565b50505050905090810190601f1680156105635780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104fc6004803603602081101561058757600080fd5b50356126aa565b6102f4612735565b610237600480360360208110156105ac57600080fd5b5035612751565b6101f2600480360360208110156105c957600080fd5b5035612bf7565b610237600480360360208110156105e657600080fd5b5035612c89565b6102376004803603602081101561060357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612ef1565b6102376004803603602081101561063657600080fd5b5035612fcd565b6102f46004803603602081101561065357600080fd5b503561308a565b6106776004803603602081101561067057600080fd5b50356130c5565b604051808a6bffffffffffffffffffffffff1681526020018973ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018760ff168152602001866bffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610759578181015183820152602001610741565b50505050905090810190601f1680156107865780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b838110156107b95781810151838201526020016107a1565b50505050905090810190601f1680156107e65780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390f35b6102f46004803603602081101561081357600080fd5b50356132ac565b6108376004803603602081101561083057600080fd5b50356132e4565b6040518080602001806020018981526020018881526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528b818151815260200191508051906020019080838360005b838110156108f45781810151838201526020016108dc565b50505050905090810190601f1680156109215780820380516001836020036101000a031916815260200191505b5083810382528a5181528a516020918201918c019080838360005b8381101561095457818101518382015260200161093c565b50505050905090810190601f1680156109815780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b6101f2600480360360208110156109ad57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613567565b6102f4613579565b610237600480360360608110156109e857600080fd5b813591602081013591810190606081016040820135640100000000811115610a0f57600080fd5b820183602082011115610a2157600080fd5b80359060200191846001830284011164010000000083111715610a4357600080fd5b509092509050613595565b61023760048036036040811015610a6457600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16613787565b6102f46139f1565b61023760048036036060811015610aa557600080fd5b508035906020810135906040013573ffffffffffffffffffffffffffffffffffffffff16613a0d565b60055490565b60008190507f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff166336569e776040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5657600080fd5b505afa158015610b6a573d6000803e3d6000fd5b505050506040513d6020811015610b8057600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614610bee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806141646024913960400191505060405180910390fd5b7f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b73ffffffffffffffffffffffffffffffffffffffff1663bf353dbb826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c7557600080fd5b505afa158015610c89573d6000803e3d6000fd5b505050506040513d6020811015610c9f57600080fd5b5051600114610cf9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806141886022913960400191505060405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663c5ce281e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d4157600080fd5b505afa158015610d55573d6000803e3d6000fd5b505050506040513d6020811015610d6b57600080fd5b5051905080610ddb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496c6b52656769737472792f696c6b2d616461707465722d696e76616c696400604482015290519081900360640190fd5b6000818152600460205260409020546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1615610e7c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f496c6b52656769737472792f696c6b2d616c72656164792d6578697374730000604482015290519081900360640190fd5b600354604080517fd9638d3600000000000000000000000000000000000000000000000000000000815260048101849052815160009373ffffffffffffffffffffffffffffffffffffffff169263d9638d369260248082019391829003018186803b158015610eea57600080fd5b505afa158015610efe573d6000803e3d6000fd5b505050506040513d6040811015610f1457600080fd5b5051905073ffffffffffffffffffffffffffffffffffffffff8116610f9a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496c6b52656769737472792f7069702d696e76616c6964000000000000000000604482015290519081900360640190fd5b600154604080517fd9638d3600000000000000000000000000000000000000000000000000000000815260048101859052905160009273ffffffffffffffffffffffffffffffffffffffff169163d9638d36916024808301926080929190829003018186803b15801561100c57600080fd5b505afa158015611020573d6000803e3d6000fd5b505050506040513d608081101561103657600080fd5b50519050600173ffffffffffffffffffffffffffffffffffffffff821661116757600254604080517fd9638d3600000000000000000000000000000000000000000000000000000000815260048101879052905173ffffffffffffffffffffffffffffffffffffffff9092169163d9638d3691602480820192606092909190829003018186803b1580156110c957600080fd5b505afa1580156110dd573d6000803e3d6000fd5b505050506040513d60608110156110f357600080fd5b5051915073ffffffffffffffffffffffffffffffffffffffff8216611163576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806141406024913960400191505060405180910390fd5b5060025b606061117285613cc4565b90507f000000000000000000000000d986ace7b674fe0434d721f5339868845158195c73ffffffffffffffffffffffffffffffffffffffff1663019848928773ffffffffffffffffffffffffffffffffffffffff16637bd2bea76040518163ffffffff1660e01b815260040160206040518083038186803b1580156111f657600080fd5b505afa15801561120a573d6000803e3d6000fd5b505050506040513d602081101561122057600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9092166004830152516024808301926000929190829003018186803b15801561128c57600080fd5b505afa92505050801561139057506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405260208110156112dd57600080fd5b81019080805160405193929190846401000000008211156112fd57600080fd5b90830190602082018581111561131257600080fd5b825164010000000081118282018810171561132c57600080fd5b82525081516020918201929091019080838360005b83811015611359578181015183820152602001611341565b50505050905090810190601f1680156113865780820380516001836020036101000a031916815260200191505b5060405250505060015b6113cc576040805186815290517f93272f551c7dd0dd38e4c01ae7b4eeef80d2557b4460caa3ee96697d93bc809a9181900360200190a16113d9565b8051156113d7578091505b505b60606113e486613cc4565b90507f000000000000000000000000d986ace7b674fe0434d721f5339868845158195c73ffffffffffffffffffffffffffffffffffffffff1663a86e35768873ffffffffffffffffffffffffffffffffffffffff16637bd2bea76040518163ffffffff1660e01b815260040160206040518083038186803b15801561146857600080fd5b505afa15801561147c573d6000803e3d6000fd5b505050506040513d602081101561149257600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9092166004830152516024808301926000929190829003018186803b1580156114fe57600080fd5b505afa92505050801561160257506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052602081101561154f57600080fd5b810190808051604051939291908464010000000082111561156f57600080fd5b90830190602082018581111561158457600080fd5b825164010000000081118282018810171561159e57600080fd5b82525081516020918201929091019080838360005b838110156115cb5781810151838201526020016115b3565b50505050905090810190601f1680156115f85780820380516001836020036101000a031916815260200191505b5060405250505060015b61163e576040805187815290517fd4596cfd8cc9635c5a006e070f5c23e1af9b5d2e65665a8d73958c9e6cc17b4d9181900360200190a161164b565b805115611649578091505b505b6005546bffffffffffffffffffffffff116116c757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f496c6b52656769737472792f746f6f2d6d616e792d696c6b7300000000000000604482015290519081900360640190fd5b6005805460018101825560008290527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db001879055604080516101208101825291547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016bffffffffffffffffffffffff16825273ffffffffffffffffffffffffffffffffffffffff8916602080840182905282517f7bd2bea7000000000000000000000000000000000000000000000000000000008152835193850193637bd2bea792600480840193919291829003018186803b1580156117a757600080fd5b505afa1580156117bb573d6000803e3d6000fd5b505050506040513d60208110156117d157600080fd5b505173ffffffffffffffffffffffffffffffffffffffff9081168252604080517fb3bcfa820000000000000000000000000000000000000000000000000000000081529051602093840193928c169263b3bcfa829260048082019391829003018186803b15801561184157600080fd5b505afa158015611855573d6000803e3d6000fd5b505050506040513d602081101561186b57600080fd5b505160ff1681526bffffffffffffffffffffffff8516602082015273ffffffffffffffffffffffffffffffffffffffff8088166040830152861660608201526080810184905260a001829052600580546004916000917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106118ed57fe5b600091825260208083209091015483528281019390935260409182019020835181548585015173ffffffffffffffffffffffffffffffffffffffff9081166c010000000000000000000000009081026bffffffffffffffffffffffff9485167fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009485161785161785559487015160018501805460608a015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff9385167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161793909316929092179055608088015160028601805460a08b01518516909802918616979094169690961790931694909417905560c08501516003830180549190941691161790915560e083015180519192611a4b92600485019290910190613ee0565b506101008201518051611a68916005840191602090910190613ee0565b50506040805188815290517f74ceb2982b813d6b690af89638316706e6acb9a48fced388741b61b510f165b792509081900360200190a15050505050505050565b60606005805480602002602001604051908101604052809291908181526020018280548015611af757602002820191906000526020600020905b815481526020019060010190808311611ae3575b5050505050905090565b33600090815260208190526040902054600114611b7f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496c6b52656769737472792f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b817f636c6173730000000000000000000000000000000000000000000000000000001415611c17576bffffffffffffffffffffffff8111801590611bc257508015155b611bcb57600080fd5b600083815260046020526040902060020180547fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166bffffffffffffffffffffffff8316179055611cf6565b817f64656300000000000000000000000000000000000000000000000000000000001415611ca55760ff811115611c4d57600080fd5b600083815260046020526040902060010180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000060ff841602179055611cf6565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614095602b913960400191505060405180910390fd5b604080518481526020810184905280820183905290517f851aa1caf4888170ad8875449d18f0f512fd6deb2a6571ea1a41fb9f95acbcd19181900360600190a1505050565b6000908152600460205260409020600201546bffffffffffffffffffffffff1690565b60009081526004602052604090206003015473ffffffffffffffffffffffffffffffffffffffff1690565b60009081526004602052604090206001015474010000000000000000000000000000000000000000900460ff1690565b7f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b81565b60009081526004602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1690565b33600090815260208190526040902054600114611e8657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496c6b52656769737472792f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b8615801590611ea157506bffffffffffffffffffffffff8711155b611f0c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f496c6b52656769737472792f696e76616c69642d636c61737300000000000000604482015290519081900360640190fd5b60ff881115611f7c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496c6b52656769737472792f696e76616c69642d646563000000000000000000604482015290519081900360640190fd5b60008b8152600460205260408120600201546bffffffffffffffffffffffff166120b0576005546bffffffffffffffffffffffff1161201c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f496c6b52656769737472792f746f6f2d6d616e792d696c6b7300000000000000604482015290519081900360640190fd5b506005805460018101825560008290527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0018c905554604080518d815290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909201917f74ceb2982b813d6b690af89638316706e6acb9a48fced388741b61b510f165b79181900360200190a1612106565b5060008b8152600460209081526040918290205482518e815292516bffffffffffffffffffffffff909116927f176e1433f84712b82b982cc7a7b738797bd98e17b0882a6edc1a9a89e3dcbdfa92908290030190a15b604051806101200160405280826bffffffffffffffffffffffff1681526020018c73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a60ff168152602001896bffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff16815260200186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250604080516020601f870181900481028201810190925285815291810191908690869081908401838280828437600092018290525093909452505060058054600493506bffffffffffffffffffffffff861690811061224657fe5b600091825260208083209091015483528281019390935260409182019020835181548585015173ffffffffffffffffffffffffffffffffffffffff9081166c010000000000000000000000009081026bffffffffffffffffffffffff9485167fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009485161785161785559487015160018501805460608a015160ff1674010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff9385167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161793909316929092179055608088015160028601805460a08b01518516909802918616979094169690961790931694909417905560c08501516003830180549190941691161790915560e0830151805191926123a492600485019290910190613ee0565b5061010082015180516123c1916005840191602090910190613ee0565b505050505050505050505050505050565b60608183111580156123e5575060055482105b61245057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f496c6b52656769737472792f696e76616c69642d696e70757400000000000000604482015290519081900360640190fd5b606083830360010167ffffffffffffffff8111801561246e57600080fd5b50604051908082528060200260200182016040528015612498578160200160208202803683370190505b5090506000845b8481116124e157600581815481106124b357fe5b90600052602060002001548383815181106124ca57fe5b60209081029190910101526001918201910161249f565b5090949350505050565b6000908152600460205260409020546bffffffffffffffffffffffff1690565b3360009081526020819052604090205460011461258957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496c6b52656769737472792f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166000818152602081815260409182902060019055815192835290517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609281900390910190a150565b60008181526004602081815260409283902090910180548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018616150201909316929092049182018490048402810184019094528084526060939283018282801561269e5780601f106126735761010080835404028352916020019161269e565b820191906000526020600020905b81548152906001019060200180831161268157829003601f168201915b50505050509050919050565b60008181526004602090815260409182902060050180548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018616150201909316929092049182018490048402810184019094528084526060939283018282801561269e5780601f106126735761010080835404028352916020019161269e565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b6000818152600460208181526040928390205483517f36569e77000000000000000000000000000000000000000000000000000000008152935173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000035d1b3f3d7966a1dfe207aa4514c12a259a0492b8116956c0100000000000000000000000090930416936336569e77938382019390929190829003018186803b1580156127f957600080fd5b505afa15801561280d573d6000803e3d6000fd5b505050506040513d602081101561282357600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16146128a757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496c6b52656769737472792f696e76616c69642d696c6b000000000000000000604482015290519081900360640190fd5b6000818152600460208181526040928390205483517f957aa58c00000000000000000000000000000000000000000000000000000000815293516c0100000000000000000000000090910473ffffffffffffffffffffffffffffffffffffffff169363957aa58c93818101939291829003018186803b15801561292957600080fd5b505afa15801561293d573d6000803e3d6000fd5b505050506040513d602081101561295357600080fd5b50516001146129ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806140c0602b913960400191505060405180910390fd5b6000818152600460205260409020600201546bffffffffffffffffffffffff1660018114806129ea5750806bffffffffffffffffffffffff166002145b612a5557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f496c6b52656769737472792f696e76616c69642d636c61737300000000000000604482015290519081900360640190fd5b600354604080517fd9638d3600000000000000000000000000000000000000000000000000000000815260048101859052815160009373ffffffffffffffffffffffffffffffffffffffff169263d9638d369260248082019391829003018186803b158015612ac357600080fd5b505afa158015612ad7573d6000803e3d6000fd5b505050506040513d6040811015612aed57600080fd5b5051905073ffffffffffffffffffffffffffffffffffffffff8116612b7357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496c6b52656769737472792f7069702d696e76616c6964000000000000000000604482015290519081900360640190fd5b60008381526004602090815260409182902060020180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff861602179055815185815291517f176e1433f84712b82b982cc7a7b738797bd98e17b0882a6edc1a9a89e3dcbdfa9281900390910190a1505050565b6005546000908210612c6a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f496c6b52656769737472792f696e6465782d6f75742d6f662d72616e67650000604482015290519081900360640190fd5b60058281548110612c7757fe5b90600052602060002001549050919050565b6000818152600460205260409020546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1680612d2a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496c6b52656769737472792f696e76616c69642d696c6b000000000000000000604482015290519081900360640190fd5b6000828152600460205260409020600201546bffffffffffffffffffffffff166001811480612d675750806bffffffffffffffffffffffff166002145b612dd257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f496c6b52656769737472792f696e76616c69642d636c61737300000000000000604482015290519081900360640190fd5b8173ffffffffffffffffffffffffffffffffffffffff1663957aa58c6040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1857600080fd5b505afa158015612e2c573d6000803e3d6000fd5b505050506040513d6020811015612e4257600080fd5b505115612eb057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496c6b52656769737472792f696c6b2d6c697665000000000000000000000000604482015290519081900360640190fd5b612eb983613d4e565b6040805184815290517f42f3b824eb9d522b949ff3d8f70db1872c46f3fc68b6df1a4c8d6aaebfcb67969181900360200190a1505050565b33600090815260208190526040902054600114612f6f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496c6b52656769737472792f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811660008181526020818152604080832092909255815192835290517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9281900390910190a150565b3360009081526020819052604090205460011461304b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496c6b52656769737472792f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b61305481613d4e565b6040805182815290517f42f3b824eb9d522b949ff3d8f70db1872c46f3fc68b6df1a4c8d6aaebfcb67969181900360200190a150565b6000908152600460205260409020600201546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6004602081815260009283526040928390208054600180830154600280850154600386015497860180548a5161010096821615969096027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011692909204601f81018890048802850188019099528884526bffffffffffffffffffffffff808616996c010000000000000000000000009687900473ffffffffffffffffffffffffffffffffffffffff9081169a8187169a7401000000000000000000000000000000000000000090970460ff1699938516989094048116969316949193918301828280156131f45780601f106131c9576101008083540402835291602001916131f4565b820191906000526020600020905b8154815290600101906020018083116131d757829003601f168201915b5050505060058301805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f81018490048402820184019092528181529495949350908301828280156132a25780601f10613277576101008083540402835291602001916132a2565b820191906000526020600020905b81548152906001019060200180831161328557829003601f168201915b5050505050905089565b6000908152600460205260409020546c01000000000000000000000000900473ffffffffffffffffffffffffffffffffffffffff1690565b6060806000806000806000806132f8613f5e565b60008a81526004602081815260409283902083516101208101855281546bffffffffffffffffffffffff80821683526c010000000000000000000000009182900473ffffffffffffffffffffffffffffffffffffffff90811684870152600180860154808316868b015274010000000000000000000000000000000000000000900460ff166060860152600280870154938416608087015293909204811660a085015260038501541660c08401529483018054875161010097821615979097027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff011691909104601f81018590048502860185019096528585529094919360e086019390929083018282801561344f5780601f106134245761010080835404028352916020019161344f565b820191906000526020600020905b81548152906001019060200180831161343257829003601f168201915b505050918352505060058201805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f81018490048402820184019092528181529382019392918301828280156135015780601f106134d657610100808354040283529160200191613501565b820191906000526020600020905b8154815290600101906020018083116134e457829003601f168201915b5050509190925250505060e081015161010082015160808301516060840151604085015160a0860151602087015160c090970151959f50939d506bffffffffffffffffffffffff9092169b5060ff16995097509550909350915050919395975091939597565b60006020819052908152604090205481565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b3360009081526020819052604090205460011461361357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496c6b52656769737472792f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b827f6e616d6500000000000000000000000000000000000000000000000000000000141561365e57600084815260046020819052604090912061365891018383613fac565b506136f3565b827f73796d626f6c000000000000000000000000000000000000000000000000000014156136a2576000848152600460205260409020613658906005018383613fac565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180614116602a913960400191505060405180910390fd5b7f6a04c0a277676f3a4d382fc6167bf871235d53006834505ea2d2c6101041eda88484848460405180858152602001848152602001806020018281038252848482818152602001925080828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690920182900397509095505050505050a150505050565b3360009081526020819052604090205460011461380557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496c6b52656769737472792f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b817f646f670000000000000000000000000000000000000000000000000000000000141561387257600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905561399d565b817f636174000000000000000000000000000000000000000000000000000000000014156138df57600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905561399d565b817f73706f7400000000000000000000000000000000000000000000000000000000141561394c57600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905561399d565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806140eb602b913960400191505060405180910390fd5b6040805183815273ffffffffffffffffffffffffffffffffffffffff8316602082015281517f8fef588b5fc1afbf5b2f06c1a435d513f208da2e6704c3d8f0e0ec91167066ba929181900390910190a15050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b33600090815260208190526040902054600114613a8b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496c6b52656769737472792f6e6f742d617574686f72697a6564000000000000604482015290519081900360640190fd5b817f67656d00000000000000000000000000000000000000000000000000000000001415613b0757600083815260046020526040902060010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8316179055613c6a565b817f6a6f696e000000000000000000000000000000000000000000000000000000001415613b7b57600083815260046020526040902080546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff841602179055613c6a565b817f70697000000000000000000000000000000000000000000000000000000000001415613bf257600083815260046020526040902060020180546bffffffffffffffffffffffff166c0100000000000000000000000073ffffffffffffffffffffffffffffffffffffffff841602179055613c6a565b817f786c697000000000000000000000000000000000000000000000000000000000141561394c57600083815260046020526040902060030180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83161790555b604080518481526020810184905273ffffffffffffffffffffffffffffffffffffffff83168183015290517f4ff2caaa972a7c6629ea01fae9c93d73cc307d13ea4c369f9bbbb7f9b7e9461d9181900360600190a1505050565b60408051602080825281830190925260609182919060208201818036833701905050905060005b6020811015613d4757838160208110613d0057fe5b1a60f81b828281518110613d1057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600101613ceb565b5092915050565b600081815260046020526040812054600580546bffffffffffffffffffffffff90921692917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908110613d9f57fe5b906000526020600020015490508060058381548110613dba57fe5b60009182526020808320919091019290925582815260049091526040902080547fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166bffffffffffffffffffffffff84161790556005805480613e1957fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255848252600490819052604082208281556001810180547fffffffffffffffffffffff000000000000000000000000000000000000000000169055600281018390556003810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690559190613ecb90830182614038565b613ed9600583016000614038565b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613f2157805160ff1916838001178555613f4e565b82800160010185558215613f4e579182015b82811115613f4e578251825591602001919060010190613f33565b50613f5a92915061407f565b5090565b604080516101208101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c082019290925260e0810182905261010081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061400b578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555613f4e565b82800160010185558215613f4e579182015b82811115613f4e57823582559160200191906001019061401d565b50805460018160011615610100020316600290046000825580601f1061405e575061407c565b601f01602090049060005260206000209081019061407c919061407f565b50565b5b80821115613f5a576000815560010161408056fe496c6b52656769737472792f66696c652d756e7265636f676e697a65642d706172616d2d75696e74323536496c6b52656769737472792f696c6b2d6e6f742d6c6976652d7573652d72656d6f76652d696e7374656164496c6b52656769737472792f66696c652d756e7265636f676e697a65642d706172616d2d61646472657373496c6b52656769737472792f66696c652d756e7265636f676e697a65642d706172616d2d737472696e67496c6b52656769737472792f696e76616c69642d61756374696f6e2d636f6e7472616374496c6b52656769737472792f696e76616c69642d6a6f696e2d616461707465722d766174496c6b52656769737472792f616461707465722d6e6f742d617574686f72697a6564a2646970667358221220d843537e2ddecadd26a94b08219645ac97fd4d1fa6d605d803bfed0196d56f7f64736f6c634300060c003303f390613f44cbcfc6779a594702653adddb47d312dcbe231b76ceb34e8d196d4403fc6f347f45e0a18c2ca39f81c5d31837c7dc77f351e4f890fee9fd2be1f2accd0393341455f2228d419bc92f28159f0ae400c714bdb7c472ee023be736e72eef2103a6318ad616f0b381df77ab3ffbc65249d2cdd2a2d804cd19344d64c71e93a1750359cbaa23a8c6ef9b2067606071bbf773e87017f417ccd23ba75cfebd72d1d7b403f322cd8ee1e38a3d255de5157277ad24d1173300e44862fb3732dbb0d85891b5030c99dd41dcd7e7c14b0376728a944198ed80d59f3a769b7e25c23eb7a176c6c903a309ae1f1abb6aac09f466027ab613b8b2519c5143b76a7abbb515c4447e5d8d03f487d16151efe50ffdb641a8f61e44cc45d02c7b332919cc3f929440d9c1bc510319e958c57378e08cac719b07db5ea57c555f00eb70c5197da9da87192da498e700582002abf93d01cf3e4dea5e3870f7db5fde3d502bc27a63f1006f4fb8cc9211d3e95820525741303036000000000000000000000000000000000000000000000000000c00582003f16980e6ecb1974da4d567e8fe94ffc99ae634e105749fbea7e4fbdaa87210582025d03c2c928ade19ff9f4ffecc07d991d0df054b00000000000000000000000100582003ba8c776d8359820fdce0bab0516f0a15af20a3734db67a0326570973a9fe005820555344542d410000000000000000000000000000000000000000000000000000005820036cb4092fc35d7d25bd8a6150f441fa07da5c2c458dfe69818adfc7bfce852058208df8f06dc2de0434db40dcbb32a82a104218754c0000000000000000000000010058200334f8c3506df1ffd9a6069566311fb67074ffa1899895a33dc79db2ec51f5f05820554e492d5632000000000000000000000000000000000000000000000000000c00582003d3971a50696d33d2c7bd274c314cf8643e6bf0e637991a508464bc9aed1eb058204241542d410000000000000000000000000000000000000000000000000000000219250c00582002ab86d964dbd82ec383b041e46c3ee2e8992afd80f100c9cb6ed159cf01e68e5820434f4d500000000000000000000000000000000000000000000000000000000803b52c93b7150d234ce8f4a7eab52fe26b65d740e31733a49762594da2ad4bc0df03606ccd3f8d73403fbcda3f54364d52ea3f363e4034917daf4fbc783a68d1b20103a6a4aed48e232852a1f619cbf18f9daf2a8c6d645f6d4774253a74b241f8ec10034ca25507f20f3b3158d5fcb4b857872cfdae5408958ed3c884b91f40062fe31600582002115c3f8c9083f6a7f40c4aa58598c4364bbe147f5a22ac94a9d04b38f43d704159038489abfdda0020af8a0e995a7d3c0f1e960921132ae8f34196aa37d995a2bc2a005820025d01ecd538f370c054f51cc9ac8813c7f84fc4ffb5576c07400ee3c63f5bb2582081fe72b5a8d1a857d176c3e7d5bd2679a9b85763000000000000000000000001031c4fa1f1f9c677c5eff53dd2535982fc8564605ced5bb3847abd09258bbdb8d10219dfff03f33de0de8acb441b14aa5bb3c648dcb42d9189822ae8ca2efb927deef10bdac003821e22358984ec518b196f256418d4ec8b910e7b02c723cfeca24574e2b3fabf039c4d2b217aa388c1acb9fd3a1cb001754d4d025005e7433047661c09849f327c03c100de86891b4b517273deb7ed333dccf86a992a6e1c1baaa203ae3db531d1b3033ee6788bec031e57b5ddcaf1bbc39318a6ca84046daaab3785bdb417fbc44d1f03fd93b08672677be5d25d9060b661ce796facffe099ee5279ac192fad53b0128203a5bafe96d3542557a955e3094f30e2e3fac16d1b38c0f902aa2a64c7942339fd03538a5e31a9445ccce8b15f85b5d32a678443e7d75961480869ca421be5a3506c00582002b9e96e759c126bb6562e80c311c7c21082e00ab4815f9822e57cc219413bf858201fe789bbac5b141bdd795a3bc5e12af29ddb4b860000000000000000000000230387515a5d48701103fd93729c660aecb61f36217f5da445fd1ddb576f99d6d03900582002892de37610ba50fea1298e762e885d86b441c510e9be4bd6fa22de1ce9158c5820614441490000000000000000000000000000000000000000000000000000000800582002d3b7338031dca902f3f7442b8393b6684fcdbb1def43247886055cc88d08f25820524554482d41000000000000000000000000000000000000000000000000000003ab61887b57c7396dd409f146076556f8f45eecbcf25950369ca8b12d9383aa9301410400582002af4c2f97a25da2b38a43e20be515a68c5866b471fb7a06e816fd55ee72f59d415303013929d409ca5380ee7ecd1d6c08a269230abbefe01ba38673beea9c2668dfdb005820029e32365e5219138256e627cb85e5fb7dcb63270de9d322594ab2e844d4b77d5512ae78736cd615f374d3085123a210448e74fc63930398d596a32114b234b0028d81d5b9271b00d8bf0ceb7037af34f87f51beef665b00582003e02e295f18c7285706ee510c92311ce9cbdd165ac18ce860a9ebe56d11da0058207f6d78cc0040c87943a0e0c140de3f77a273bd58000000000000000000000001005820039eede8d383097c4ce0d2b9ed6e61f79e1474429cff6c806c111ffc435ab4e05820885f16e177d45fc9e7c87e1da9fd47a9cfce8e1300000000000000000000002800582003335e556404be00662e9ebbb13cd2106ff4b1e14cf0c91b00928bc4082f750058204d414e412d410000000000000000000000000000000000000000000000000000021904600058200294ed3ddd2513253a1265470b5a4c1654ed6d4e3833de69ab3fadb2ea2eb42d58204c52432d410000000000000000000000000000000000000000000000000000000058200388518bd5223262f9a69e4a9714667564081c5ccf77da88e9b5060819ed4bd05466609b4799fd7ce12ba799ad01094abd13d5014d00582003ce050b4ccc0636e72dc3161df6f8ed48ad9804699c0d60fb9ec204df4176405820414156452d41000000000000000000000000000000000000000000000000000000582003eab73dc2b6d3bb41db8ecebf35e6a1e547197ac94bf702133f26e1f82e2a705820ccba43231ac6ecebd1278b90c3a44711a00f4e93000000000000000000000001021984010219fedb032b0f51e644d075dea2d8b7efa37d797861ef1a2e7b44ce1148aee641ae04be090219ffff05581d0227a5053047f43b6990490bc35ae9e059f53d9da62401bdb20ce38b2007021941df02184402195ff703848a97c149a09e58d72329406fb752b391fb32dc8d747e7276dae7c4fa061af303d7479524124ef7a1f527662d119ce7938957eff600402bb2aa6aca42e42033a80340090d7c41dd33516e44e79f7bcb1009e3825139503964755fa6474b19fc67cf039063db128dd34a473f9c56cebd9b99f2b25e25123ecbf27a2a4684575deae4aa037ac301d60a561f59e6d09ee5300cf5fd48c5559e48ffc4f5fdff46ee6f60528903da9a1e479d8890da45918fcdb536fe3b9cb38a4af58be537efbf16f023838d810366fe29e1bab80b67f54cc6eca5edcfdeeaa726542b1df91243c7e1b37237047903c24998bd40f79895fec1c228fd8e389733c0684ea9a34048a22afe4b684eebd8034004049ae16c64b7c4a07617830fff30d60391fbb5c3da6505b4497d69df5cd303149f05e8b8001e8f7408472bb3c25b14f11cf8c0f37a34fc5069117a2b1933bb03317dad5692ebe14d4373b31f7f587e0304005c44599f18d5ba15eb638e66f073037dd9b1ffafe07c49ef176386562165a18668403aea82067cedaef48c898700d30395b7859c484209d84bc4733a032b476424a74ad78604bd9c29babd5974cb5d660219ffff0219ffff037f1afa91ef83bc216f0800a676bdfb309cd4db725e7647909050e14e0fdedaef038331ee5159914c12c34965dcad3a86b47b9943d48b213cd8717d5385351c4cff0330cec04c8e5ffaffb6f2b76146dccbe47604325b0e81ffa10f7ae68dfe5524a8036250423c7d122893bf2bc3a49d5fe1cd14753add9f269af2e1a35c37fcca046203a5c9160007f9739ae47b743f5edbd9d56802f78a42f249026583713c886a80e00343658281561836f3a848804815732e948328d790fc4b2c2ffbe4b2325145f7ad03eae9102430a5e17c4bf3529562e695c2c1b9f838a4ddacd4f1057aa59bd0599e03edb98eb9e71318e3bc340efed4bf8e27da680cc515e4cfc80ae497a496a45ff403b279d0ef8c3b02014e7dc3cf7890b1e4dde7ff1df2acc3c76e1f7b761340677103a36ec658d8b71ad4bd3a440c95d398757ca942fcb273e59d6295bad358bf3a38034a79cb99d02048decda8612f8b388ee3d74d10be5ee5941b513f286ce634ba8b0368bd08d3f1d358458ae2c88ceb0b7ad02ace29db9d64740ae55ff9c74c0747780219ffff037fc1405ca5f944695ebb4ad4774a48c9fe45b5c01286cc16dd8ff4f4d81615de038743de1d3461137711183fe07d81714f0ed2dc3c2c6329de20903e404a83ae42035afcfaf4092e562dadd485538ccfaa53f0e5fa15e3fedb1568b179450280499e0330b8d9e8a3c831b3c30ec8bc9863b8eef1d28cb7b10f28daa20164c8d53a3a5303be714065b086319a2335f6f4c6cd0f488021c33429831b43934cb5618077880d033472c47b8b2ba1198a6b1271ba53d69bcebfcdeb7bf6867fd89b72569153201a03d4c5e046217a73390e97e0cd750edefd1e0c93c4d92d4c5fd067ff13c547c11b03dd7e0dee4bcab719ca80ef9281edfe4bdf3ecd29cffa50198729e29a5da73b180380db0cb20ad0dfc50657d37d6a67ab2f835df976a08b0d69aab23795e6bb417a03518e52e9484e26e2b8597df20c27064404742affe29c3650f782f6299a441a8c036f5011be7500ae88a5b24cdbf5ab1c9214335be5c6887e4f9ee93396b035a17a036a47fb78425170e751abedca2c5038d0cc5e0aecc4fd7492aaad1ce547c3adb5037a2ede5faf037e631906c7a41cb64994b6ac9757707e0ee4cb45172da43a00ac03bd86fb790164219ace3b852e9af45ac1e8d5c6faca5fe3fc4cf5b5e8a70104a60351235b775dc7dffc5e458e058644ebb993d4f9393709714963ff38f6512d0c7603389f16f89013fa6e5e5d12f7642dcc1b7eade6ee9b8fcf888254b1c5204e5273037107283e0bffd75753b8dc756b52ff3667fcc04c0f11e4962ed41b30a176f62805581e031751305823c592e88aebb03b7f996009c66b1f88c5f07eb57703544fe00c1841461a2a81d5055005581d02369262fc1c21a2d80a3fd81a968ee6f3b2e603c3d4e59c815a92074f040205581d02179adb6b7d6128cd93a4045762d14604691f0e48db34603804da28ce0c02470f55ff4fc804fd0219800403a2e13fcb5f01068b4c792496cc5f8157487d8f53909aafcd5a5cc374fadac65f03ac401bb8bc14f570e59f9bad37e9e8bb0b3f9188d0bc66a726ff1bfa4df35b0d05581e03ab66990bf7f5f7256685720ddc4eb1959f63ce02b9b815002cac69eaa00408033d32fce2a42075f080419e342f14e91a63cc801b3513d1e36ea5bfddf7fda47605581e035949a15b419f4879c8d184605c4e2051a7fba69d4c7746db54285c0e20084804b7ec32d7a2000005581e0381816f141002436bd4a1b95e133e2cd9b6729e594777bc0f076cbb98c00c18394702687f9d1619d005581e0388b8a38cecd60e9c08681bd490623de908802cbf04645ec42746f2b330040a05581e037428e1be558aef5c886ee3634c864722c4a954044375a1c3065313ef700c014746c9f3b9baaa00021995bb034e806f8ec5267fc3689ed268bae3e94a77b7d795c6ffb55871d95106b73c94a303f7de22354b411aae447fcace7a13928595783f70f49f95c99bd8e65f6f850adb03a75256a450b77559e86459fbe2a7dab8f00a615f1735f6a036a5c3580d7b3fb70318556a2cacee54603b4e1d8aafa0bbe98010eb6bb426423728a0476548b2835d0334e071fd6d6df62738cb9e694332fb9e0941284f93fc5ef6f52ddf3ae3bb5a4e0219ffff03024fbf250e070bca2f28d3fc191489687c4f651c7bb09b1102998b323ebc79db0366ee845259b62096211f00184c9378a5d42c377a255678ff0ba733566c5fb6b8035bcd51195aabc6a67f225dda6e96743f6856854600daf0c5a34286ce1c663903036ec9fcdc1987d3bc36079eaf3f869069b59cd18ef8a137f9f09baf0b8cbeb87c03c5870c7583ef4382ff7791709aa3985b10d7ed8655e2b1c813fc6c7a52a0e96e03a85f9d67f281fa3e9897824c40acbe8fe320ded4b4c320de454464611de41953035965f4c30751e12cef56bd5a9134a403767944383124cd38e49adc05d985e58003ba5ee951f42180320c67826f1f97d47728a53977546d73d666cf9e74eb69ccd603eb3febd406ff3fd62ab24bae46067355baf96ae3ee0e30d348df7a3b1906d5e90302b636edf91708d897be50a07597f032b5af9c35052e4b3b53d735236a05e08903e5c19ca29539e16139c9173f88e34a0a82363ac7c5f6ed296cd2e257960c589603f00b7a8b34279ee330064107bbf1006286559be3f0efa4fec100e7d2615d07a503d4b8e2c116f2e8527e2efce35a49797fd985d743bced1d4a5afde9e6dd4163b1032e0060eced0dc1ed2fd835530a68e7b50c3e3e43f9099517d236f04f2d7f5fcb037cdb37ec20bfb002eece0c9e7cf652f3e99776e3dcac1d90beff1146c9f3c73d0219ffff039edf0a0ab60ef6c9ae79a053b6a248621f46759566a4c0763e0843e1ecad0562036ee24f5685b413f21b888f2af262df6ff68f0ed6608294485e7270f7750af1b503d669a994e1615b45749d69e94a6cd264c3638788ff2fc4d72a72bd3c83c111760383ca4ecab9d33579569f4d94e42a74ba922787a8a8d771fe35b12c001a63e35d031cf5c4b62b9c6be1e13ae5431f38394e2c623fb8c2afb17961d08dc0ab74452103e9375dfdc0e35134c404a6c2d514bf6c6b4dc76738b057f4d0361ab382fe70f303b4210724b58972527e5d4aa7afbf6a22d31d6a5d5dab806b769556c63ca3c86003ddb463158fd7f6dc8dbd6746e09ade37327167da09317a04ea2fbab3e95169e1039e6dde095f343988d7420e6bcce4a59d19063fef0561ae33b8183295acf52f4c034f3cee258540d75d826d341b6d128734991b2298fb4c7d3576c623c259b548f803aa21fac70f08bb328b0f476a30bcd67cb0b0f3cb07f55d152f2994a5314d509d0321634ed76f0c4fbed328b860532138592880370eea0f727e1aece88ad09763470219ffff03ba7a153318bca4c084fd4c5b780febeb49a4d5b4589b2a95a2567817ba2623c103475b55d00d7d2bf348e49d29158110a51a15985d8b6adbc8811c987999990e220313136b1e6677063d15e07e2c198c912b918b8cc3d60774a3f6afad868e727b7303606e5e2cca32f629bd6ecb8ad02060f3e97975eb3ac9e817b83c24f886b2460a0219ffff0219ffff03e72309cc90a2f665f2768ec480c2800bc587f9415b83af6af1fa3e2cdf2c9b77033b863be4a19ffc5dd933a472d2dc6fb7ba575cf377d95cbd340dd1c8f11032e80318f1d6419f076e7a46a36eb1e93bc2971f394fd96c5028c6b2d535e5063c549d034c46da653be80cefaf76b86ed42e092cbd88598da475447b4bcf8b27156d35bd038de525250595058056de2f1fd17d68319fb39e9c1de2d1ce7ec518dfa79b2ea803081cc057846f75a9a0b666e9a58cde930b2d0e677365f3e11293037eaf9901670370885b879e9f4ad83b3ed1b99296612584b30d90a29ac15aa93ac6a545fbf86f030788aeb49ddf899673bdac273f4ccb2fbcd1abc2ef1cca0a22710102c43a937003c1553cb7f168a6ff7f9d2442cc8f5ef3c0935b92d189754daa3e0c671528576a03791cb02ae34e3ddc3d50d630dca1104ff4e3f1f75a08eb6297769eb4f8bd94d0030228f3512458745c0b2afc472f6b5e8cccdaf61b11395f62911fa775fdbeffd6033ee61d4357ebab352c3c507e920ef9b583d2060c5327119d013c2cebb62a01020348f2ea1831b45e21f0a57240a1eddfbef21856644f8040d25c79b847acde2c8d03e29bf2b0c25e96923a2df4eb7540117fe43fc365d0f46d019d457111a1e4bf6f035156485abc653e0de36ac2a9fb94e2cc7eb61dbd9ff934e86e2025feb9b61bec0363451656fcf7577fe710640a3e770893639a9cc4fdbc8743f3d15da05703d1020304b0d906607d508304dcdfceec2ca0733b4ef180559d04f2e7d0df7bec0aac5c03cf7dfea5a26566996be4b7bb19a1e499aefdf17ccd83a8c87d71269f2278391e03b8e354956031fb60981f2ea3270acfea1979bd4dd49410de57e539cb46e7206703a3f02fe009f2e83416dd4d53e6c5965395c79f5d39bc94ffa41e489ea47ec4f903dc9d7aaccf4de4bde710cbe8931337b21c37335f9ef555786c7270b54a33c5fe033432ac77ad01a3796546255c71d812c1934357f5cd780699bfcb15a7357e79f703794befd03322b72578da51e2b6e46e17a57155a64d4f3a6ddbaebed86bb06f17034906465000cb7fb3e90a79766cfb6dffcb4f642e32c717ef81521699ba0cfc6703972a40db261eaba4501efc1d20d031f0c938fae874ae9ddc769d150fc891ea7b034f51da80a26dfdd1b38c31a8b7b9563401e85226ff73a993e9d78b45bdb078bf036cebfbc4fa77164d8c851a888a7cbb127696652e725c9d672decbdca0520f64d031cbe55bed0b70cc5930a5cb33c890e8f6cfb9786aa5a2bc479e2dc41232fcff705581e033e349c38f9ff6629606bb4d2e30cf14390730fd258e3fd1f75826c15a00c02471324d73ced30aa05581e03e667e3cc9f9265a47a6799d9db5a6ce06a8dd10b9bde06c11160ba75c0040605581e0326c339ebd9ec70cca78096af109af887220e206d131771cc1f41a295600c174726ff2d7fef380005581e03c6eb78b659f79975503979e8b21ae1de2a30bbd1c4289de0bcb43324e0040205581e03ec065b63b9eb7acc4319ee2b06c526af448765ca76825eab085d745aa0040105581e030a64dc8cc991f00bf542d1e30799785066d8db59392b35720a2371c250040105581e030567e1cd821fab3bf9efb4245859f1e705c7df5daf13566b36f67894c00c084669d5cb14132805581e03c18eebcd2bac64d932598dd39a8ff839a3e0034f33cb332feec4c76eb0040105581e030d647f46eff4a26e08aa4b5f36183394fa8dd2d83a1e4157aaa5cfbd700848113d9a468b53380003e45f50123b7f97e223e5ad8cb10a9bad5bebd780fb6a1f70fa4b13a0c47aa35305581e03127ee10b4375198dffd75d80824d9ab3d928affe56e2dd812f1bafa7800c01473379ad58dce87805581e03abb6ac7c3ddb5a8826317824d4296d9d75f0be87745c32e3b8e0b993000c0146bf9c4b5a1c0003f5ba6d386e5a1829f8db079873aaad17b4c9be19d7848c56f9c23277b9128d3405581e033db769fe24c34695ee42ec089cef47043c19bd54e77dbdd62a47ea6a600c0247031dbc24cded9005581e03a67f46828bfeefb64be6327739ee1ee774e11af61516e674c7f0c047400c06478d0c17e391131c0219ffdf037bdd08527291f2257b8c01c802a13cb15ea1a8ca5d68c51f2ddfe837103e96b9038999bdb06421f4380ac9fb98264dc654d67b4fb5c820526d14ba8b02925e3435030b7bcdd66ca6ba6765724ad253e2bec96366a24215a399ac7f165a2c278ede8903d71713e6a5dff95392e33d5f81cb4ccccc639c780a53b41331b9ac47e30ce33003f6f4a4130de0829197a05b556743b735d28a90e3c4ba084552411863e4a97f750219ffff037c328e48dd35f3d66225bad05c2f7a7e9e592f63fc44489a72e003de9a462142035d2bc2e572397c2faed355cffb501dd3fe2ba3ba41dfee6578204d42995bbdb403ad340590064278dff023021165c1f4ee1dabc85cb95e18d892f1dc03f660578e03b379f603ae5067f674c19c96b13dc55bcf532ee878b4fe776e40da7398b0e72b03c61a4ca44df7a65702debe406c90cf3f16cde729dcec06753847e6f27366e94a037f7d77f466f671c88f9e1c97382f2eaf14bcdb3fa824513c3a89c14f2c0fa592036164f153bf3ea1e2e6efb53a3e7325ab2182831c8789cec2e1c161bdba34e7cc03d95b9089dd99d5399355d1fc7b84decf059acfa9c14602b707d01d00ec473f950320efaed7c3c4c30bde5e2076d99f65ec01867bc82b60eb8a6c43faed8e48e275038b3880cc67c5e1a601455fdcfbf57f0e7525517c63f6bdb95d10be2f5cf06c49037f239ebda0b24ce9c90cff82b267277a70277c53b1f64f09d4c24db2ea8bfb9b0219ffff0368ccef9a06472f2282be93b5329f502306d0234cfd717c63d1e7d627949cbb4803513381a7e31ad552f4c96c138f773d64a11b9df0e596c716527744e6b531ec980366e54accd2ce83c7ebc3766c73f3cc49aec3b7472678e162eb6f6b73f833b7550324c8fb8306929c1f473e439b443e129edbe4b9df69e16c3362785eb4449d774903b99acf0befe6a2441f6f9c08741a9a86817a87f6ed41d228d5e0c50c76a2b19c03da616e01441f29ceac5eb237d7dde877bebbc3220ab81d7736f8a0e5c66ca75f03d90c07046635b7a1c76001018bee099c1c29ef10a306bc15afdd392faf79a04e030f6b6cfcef2ece36562e8b45ff04877f09f76022b5761c019ab0e4f4161f78fe0219ffff03fba696c1b1b2622a0ef17f88f262898c550deef7c376ab41b1566b1534865eaa03a62946435835d078e1333eb0d60a5caff3a7f8d55a16cc6aa54eb9233807d6d2032ff3ce67b96548498fcc0cc69802a5711a30c660ad2f9f0765d9a805ee236c84034ee2c762b2ba1b811d01a1b4ddc4214590199b26e9d8c718f0d7b7230c8700c8036a3059f1bb8ca35c9bace54773263323c694b66a79fd36d5d96b68fafe9ff07503ccfd63cb38480c8ab29d027d88e20aa2e2514da51fc0fa8ec6d2bcbaef6cfea50332af5c1144c8a51005dafa9c14e086dec7b19d261a8a0549edf9571688561dc203a245d26db545ab5a3ef3726025fd2ecc921550faa7a6c3b35955029cef37f9f10219ffff036ab0102d0602e15090e8668c13759af28cf68b314755c1ef020705d3ca052025039cf0fb3dd31d4e69b023c6c747e70896c794ba9bdadca673a9e0c2e874c8302003c7727d59350d6528d6910b583a0f3d1136654c23ac10338c9ec3965ea2d823b80395cf768dc5ea4cc75f17d742f665a8c5bac0c107fdf952ff92b9985b55d37e6b03d75e869d400b69f7a024cbed737973f438988fbbf77882d011734b49e7b40f0603378c093325c54efb1902e7506918401f19af1dac604dfd7ad5fde09058b89ad003e642db24583f33ec0767d5495a5be0b601e886a707663ae5388723f75228c9080367114e3182fcfe96cd2f5ff4a8ab125320cdd4ba9d258a677359540af761287603a2652207aa9b1361f991fb619f7962749806582e637daae80adec3a2530f440a03a9ea8b1be1c6bd6e4603e7a2f5ee3266b43417426f0712578fd190f716ae4b07039ad2647973a9cc542d6e700f028085daee73442fb0b1bec3b14c0536fde0173f03744974569d3d1506fed1eeff1c363decd18fca6677216e28c93b7b466759737e05581e03d6da41a8d3ee9230936f1ceb6a97bf45148e666597dcccdbc71ed7df200401032b7a9008440f1b6ec329267035979617dac5c0b7154775756b8540dc4fe1fcf9038764cf00fd6a96cb29c032fe479886f2680ea555998b1acefa02df4fd65d519005581e03fe12865370fcbe17c4cb9ce314dc65d60eea998c4310fb68f8d3fca370084738d7ea4c68000005581d02095971d24cd19e5b83546317cfc5a5f350dac3d88323ec28ed1d72d6040104590354608060405234801561001057600080fd5b50600436106100575760003560e01c80633659cfe61461005c5780635c60da1b14610071578063715018a61461009a5780638da5cb5b146100a2578063f2fde38b146100b3575b600080fd5b61006f61006a3660046102ee565b6100c6565b005b6001546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b61006f61010e565b6000546001600160a01b031661007e565b61006f6100c13660046102ee565b610122565b6100ce6101af565b6100d781610209565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6101166101af565b610120600061029e565b565b61012a6101af565b6001600160a01b0381166101945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61019d8161029e565b50565b6001600160a01b03163b151590565b6000546001600160a01b031633146101205760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161018b565b6001600160a01b0381163b61027c5760405162461bcd60e51b815260206004820152603360248201527f5570677261646561626c65426561636f6e3a20696d706c656d656e746174696f6044820152721b881a5cc81b9bdd08184818dbdb9d1c9858dd606a1b606482015260840161018b565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561030057600080fd5b81356001600160a01b038116811461031757600080fd5b939250505056fea2646970667358221220a22223d3e2a2d861ad54e68b7bc44b4d82a5a12a0bcca5c3404502bb1b430c5c64736f6c634300080c00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054369e6f597e22eab55ffb173c6d9cd234bd6991110058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60548ba40da60f0827d027f029acee62609f0527a2550219080405581d0288bc8d6c3f85cfd511f88725e1c618f8cb555058509bb6592e26ef6c070119035402188805581e039bbfe3e37c53bee65ffc137941665b7d99980761c9352bdfb9d87133e00848011db104359cf0000395116ce8dab960b2e3b0f6be4abdca6385a440e8902ccbb140e94381ad3c2d7603b7a4288767bf0f9495b8777a7788ddcc359e0fc658119b51979597fa26d4dbfa03ffa12b680ffbf72726a084aafb71ae3212f9299be0526fd91b868d72fff8202005581e03d29e38341d181f5d712b6405a035de9b519932cb1fcbbfe10227067ca00c044710d7d166ca075c03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e0325b244a916fcec2a5216164616cd1e1b6ab3c8c8badf08de991d80c3c007011bffffffffffffffff05581e0362ae00d8f54c5c447c227e8fac13cf6eb85ef4618b2dc165c12f20ad500c014745d7c6a536358805581e030133bf71fb835ff0846b9a79a706f694a06bca7f128c314edae318b910040203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e035545e2f1580b114ccf7fccfdb99ec1fa45a71a76f29abd8c128d714bb007011bffffffffffffffff0219fe7f032321e17961128ed896c283ccf6ea2f657308053187fbee3283f8220dc8a6b9be03ae0b07ab2395f88ced0de1746f9f3d111898696cade4c605a457f71ae1d876eb030a9cc10bc01287bfb369b244f03f11a71c22e63211c037b4b841c78e40cf52490306022886720cab1d5e5554d567c1a5d8b73da05249b2f3de8adcdaa9f309506c037595b0febdb430c2c24196fc981ed6534fe4a579e4732f1ec523c7bc94ee50be0327581d71cec2ff1c6e6c20f1b6f87ff583d2176bbfa60e5af6dc89d00fb56b9403458593d8925cada8c4c483421c4508cf7895dd2a069f9b61d69b85c0e3d882e003da2cf0cbc8b9af381a9c34aaacbd91fdb98dbecbd7cd8fe8c52c56431f03c8ac0329f9e8d23703dd25384b42989b7d8bbddbfba9bbedeffa404c6bc7f2a214d45b03f5de64e4a685cbbf30675598dde0a82389d5fe7c5678e54ef0b61bcca0819f1d03fdb980c7e2809d5f9174a3098099d629ebe1c8ec34cefb2cc99d90f2df1a50520322c5d29853bb9ed5143b28d0a34db02a843cd9f5285565f5312ff92df80ed46303bb818b6721ba22c60994ae45686db9d6058b7b3a3acffe7fecb58c3d75d0dfca0219ffff0300c504da6a5f3de73b092e32cd3abca53d15c1d721c53f0a917224fe7c1a86d603b051126d6372744abe1b3f9d09e3ce78007274c29dee03e3e235a75f361819e4034dad1cbe3ed40bf6d38e06e49a700f0d8add0b146f4cdc44774bb5092342e09803b5910643b3d07b551880a9979522c8b7b3e9d7129425eb66d253857da9f21f0903cf62acfa83633235eeb18320eb167bcdb030b46855b53d099758de94881e80d3032f1d190428503b7e40cdeacdcbfa3bb21f3b00167702059aa1da03ad48bd9873035c131976bf70ede5e5ecf7b2a974f5629c05d355dfe3898db14acd40a9eda25703537eb644e69adb7cb483213191a65d85429ad64f9086a9be3c2206e1eeb9ca56039dde5bfc88a4cdac66197539ccd4dff5e640b502e2ff06644fe66a3cb83374560339b89d507dc76a2a6451d43b87fa37ca75703f94c1941edc0bc80a562d488e530219ffff03b8fbfa7bae294e8863a515f2ab91262397295272880409956727f9a404e9a96e03eafe0a3b3890d3345f6e44cd6eda98f8c8a91aae8eecfea27ed6d5db73a063b303408ced4e72ba47aba8b78ff32b46d788f12356771271415e8b7cf51b83e76a840353e118c6a23e583b6783e0e4eef92762dbc7e9bfc8304c512fd9528400e8982303a181a995d894164df16d018f5807a535893cf03eaf0be98c2c0985ae565d3ee203adc50e9a50f3367e1045a018e0cb407af497da04c23c40bf45c57ec6f50e957803c0e1eb835a9de5e98a48e4fd70d727fa2ed397aa27843f611e7f3d5acdc5934d0320c6e81398456741598552888085db0a0ed11a5e6af6dfaaf8df882e646ca11c039f176c669c0a89d3d64659abb3885d97d55f2261a6c8532e11e292d079c27c2a03ff34c4a6abcac8f9606f92920c1946668b7de79b7597137664b1a83e866819ff039794f9ac02e3c9d154e57b48c2e225f8ee624bdde5e506022b184313bb417cf50219ffff034712ef2718fbd0176f2c9123b40f5df8109f1a3ce8207fb0627063a95157a07d03917fed46e4ad3a8a8f1fc1a5c202d791b58bd59fe41d9c3da971e698369c27670345ec646251736d805a75edc566fef3a1fd2200fa277ff85018843d03f6ee5d870340dc206f5bc8125f42fac52e26ad81b2d605f38c64999a748b03d01b8f970e7003722489a65ead3307071092134148b7003c0242e4d8d5555c1648b568300cf0f7031fea858c0dcdf5e66f693b5b07007766bed8b5a6da6f86a7080d5595c8b622ce0394788f55d6abe012fc2d0d6dbe28bed1775840ef158e98e35adf1625d821f50b038abe3b9ddbcbe1e1557fdb64d9f6c51a901be33d3a7294756ba321d6da77f20703af4d3c09337f94be809f7cfbe89c7de1c8ec2ff4048ffb303a3b79cb674e5c9c03685f52e66ceb9d45be17b62d4acc61581353dafc406e9dd5cb34a3b33a41f09203f3086c4c6211d9fb44cc9cd55742d127fabf23be2117f622aca073b406bb94bb036d2a06e10a93344e09669e9e92e9ed7ea844780982ee5e6c4d40d6eef9cae00603e68c36a604a2781baa5f043d016c835321507869df4876f1690a0ae669d8ce13038316a932604fd62475b53125f6bbe1b4004ca592d13ba13d68175abf5dd9f05e034d9d067eb7dc526fdfe8c0046bf4344447642af293bf8db9af5b7dbccd16a92903a7f501cd772a3c2ee0b0b16c3caf1b9cb8ea9935c229313572ae7d1d5c1df141031b3ce0090b21cfe2c6b022a540e1bf8c1e49ffcd54363a1f01b7a322d01598d603103b9beed13e6cc9575072f2a0eb08127c97b30c98b4e2acc3a6e4f30421740803386c7f710067ea3da2b8ec419831842a7fdb2b5911da72c5fdea7faaf4fec791031cae2e759df28e64465ad101ed603f165f594078c81e5928029178b97e62bfcb038f12da8011f650bc579b81ee63eb0a91e59c91f81c578f1dee6ff9c77375499903289e568e607b18bc1b391df4324024417f3b86cc78bc77a6ccf22e097413636a0320563daf0313dffef1ccf08b67234ebc8d274c367dd85a7c3f76c262013b40ba035bfe1fe482493ebb85a3e98c0490959a44597a27a81339213772a131ece50976030b0a97fa90b68bc4055683516c0915611c2c953f6061f3908dac986696787b2003a10c2715d8e12ab9330e997ea736b45eafa890c3e9245cf08965dc0d8ce04345030d5709731c7a08a06e6c09284effa51a64aa2cff84e85964c2613ed914fbdaa40345394f8f33d7593493affef7b87271aca2dd8447e1780271089b9b538e919a3403241ac9f1734c6a8d9d6b7c960892a6e918c487e4f1ecb7e22d4f81c75cce5bb4035e31d9ce77b8f4d98fa5c4afa281a84879b1d846d6ac301c51d4bc45b5a9baf703a72ec1fc1899ecbb73584ad5a3f071d71f0238eb164d020f9a0bab7a45318356034b91659d0918c0478da3d340e57abcd9ba691a1722c15a319d4beb661403d7da031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e032e8d515ca18424d00b11df1342775a289e61728fb67a647634da86b5b007011bffffffffffffffff03d7d633a58946d00ec7a1f93c1ca631df0a8673eae96370b6b72631a2907dfb7705581e033fc85809662858ef84da3bed357c869ee43c4d2819a83a2937915c2cd00c0147ae93a8ff9e300003b40cabe387ab1ae0428e6acd4f45febed642e349e6ff78e5a0c05562312e524f05581e0305d5e239991ca957fdafb6c81e43e290d6f76e225d6a2eab825f7b9740040105581e03ab5b2d37e3e36f18459c8d739cf4cdf28c3dafab87d3e2a33182a651b00c03416403cc80a46fd86aa7d5f4c2bc76f1e6fa171f6370a7220ad8b37ba5ecc254a992d7035a4c1af179adaaa7f3f14e742e56aa80a3bb4cc0f7652031b83a918e921c878704591ee0608060405234801561001057600080fd5b50600436106101425760003560e01c80637ecebe00116100b8578063a9059cbb1161007c578063a9059cbb146106b4578063b753a98c1461071a578063bb35783b14610768578063bf353dbb146107d6578063dd62ed3e1461082e578063f2d5d56b146108a657610142565b80637ecebe00146104a15780638fcbaf0c146104f957806395d89b411461059f5780639c52a7f1146106225780639dc29fac1461066657610142565b8063313ce5671161010a578063313ce567146102f25780633644e5151461031657806340c10f191461033457806354fd4d501461038257806365fae35e1461040557806370a082311461044957610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806323b872dd1461024e57806330adf81f146102d4575b600080fd5b61014f6108f4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092d565b604051808215151515815260200191505060405180910390f35b610238610a1f565b6040518082815260200191505060405180910390f35b6102ba6004803603606081101561026457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a25565b604051808215151515815260200191505060405180910390f35b6102dc610f3a565b6040518082815260200191505060405180910390f35b6102fa610f61565b604051808260ff1660ff16815260200191505060405180910390f35b61031e610f66565b6040518082815260200191505060405180910390f35b6103806004803603604081101561034a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f6c565b005b61038a611128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104476004803603602081101561041b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b005b61048b6004803603602081101561045f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128f565b6040518082815260200191505060405180910390f35b6104e3600480360360208110156104b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a7565b6040518082815260200191505060405180910390f35b61059d600480360361010081101561051057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803515159060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506112bf565b005b6105a76117fa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e75780820151818401526020810190506105cc565b50505050905090810190601f1680156106145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106646004803603602081101561063857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611833565b005b6106b26004803603604081101561067c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611961565b005b610700600480360360408110156106ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df4565b604051808215151515815260200191505060405180910390f35b6107666004803603604081101561073057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e09565b005b6107d46004803603606081101561077e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e19565b005b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2a565b6040518082815260200191505060405180910390f35b6108906004803603604081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e42565b6040518082815260200191505060405180910390f35b6108f2600480360360408110156108bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e67565b005b6040518060400160405280600e81526020017f44616920537461626c65636f696e00000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60015481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610adc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610bb457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610db25781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b610d31600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dfb600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e87600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e91565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b81565b601281565b60055481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611020576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b611069600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e91565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b860015482611e91565b6001819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611215576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b60006005547fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b8a8a8a8a8a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018215151515815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141561148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4461692f696e76616c69642d616464726573732d30000000000000000000000081525060200191505060405180910390fd5b60018185858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156114e9573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f696e76616c69642d7065726d6974000000000000000000000000000081525060200191505060405180910390fd5b60008614806115a25750854211155b611614576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f7065726d69742d65787069726564000000000000000000000000000081525060200191505060405180910390fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505587146116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4461692f696e76616c69642d6e6f6e636500000000000000000000000000000081525060200191505060405180910390fd5b6000856116e4576000611706565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b905080600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a350505050505050505050565b6040518060400160405280600381526020017f444149000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611aee57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15611cec5780600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b611c6b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611d35600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8460015482611e77565b600181905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611e01338484610a25565b905092915050565b611e14338383610a25565b505050565b611e24838383610a25565b50505050565b60006020528060005260406000206000915090505481565b6003602052816000526040600020602052806000526040600020600091509150505481565b611e72823383610a25565b505050565b6000828284039150811115611e8b57600080fd5b92915050565b6000828284019150811015611ea557600080fd5b9291505056fea265627a7a72315820c0ae2c29860c0a59d5586a579abbcddfe4bcef0524a87301425cbc58c3e94e3164736f6c634300050c003203d04985ef7b5736a45f50da721ec9cbc3f84ec36cfec39113367dff89b4a7a92d03037daf4915dd664e16bcb58dadceb36e4aec3d09d9e39ce6c008aea82d996ee103a96d78446f7cb118aeb3bfcef64612c7bfe07c2b17ba3c3d107fe3525821b90a0343c1c2a84a0eb115e625f45e8071add497f28d13c453872929281f622748e19f03536e4123fbd82ec9074e7576e6100b3f122b9a3b41d55fcf88b1e81325671fac03c452fde1fb1edd80a88274ecee256132f2c3c09e7340c28b0eca535f2e86096003757e28a5a6eecc85deaa7f760022250d7ba10a1485e2d5ec508db0574e147a2903cbb2e57bf897ef86854397ad0b9ce483d36980292c7f56ac5a865034dad912eb03d6382f0df2bfe11926edfc7056ec5e386d2c95af37aac9ec348c1ce7961a8f950308d6534af6d7c0a5129e9e0761b8d911ea33e70bcb88e8249a8a3eef8b197b7f03fa5b101661a62bc7246a3f834a9addf6744872cdbfd9446599f687112ed68eb603885f007b2efe4ec94886fc91b8e92f9a316deb8ea17ceddd1132f433a06399ff033728851e7ce96a04cfa158b8efb7bc54d20987e8c4e70634c69381b49fc22bf4031d33219610dbaca88f167c21a2f36ce5a56f8cf844c3c18c33afc8ec90ab5fe40342e29f20d19c1efd337cf9a7b8a84f1fdf91d684ddcdb54d60b53f9f30ececfe0353bedde6e8da1d56fb4784a59cf9526974fd87671b95952ae6628cfd357c22540347d5a5b6f0f9e63a0403e7990de9a7bc5e9b8708a3037372994f443bdde781ae03576a94f08696808eaf9fb324fadfa4b15f2b92b0b1ec9566044161d8adde1896035c0239d1d70f8f4035eadc9a4471adabb4d4f0eb971edaf484618dfce29312660371808d47ccdb311e516089e5bf2d01a54131caece2f1f4cb83f28c0aa7c3ad1e0384cefecffdd20d034959f79c1e7ef43499515918ce4e7e23b43df5e242559d5c03c91573ac4f21847e438049c6cbba17a3559fb97e26c254dd459ebd0146abd55703d7d7c0ed1524db922674ab7e8af7fb6cd05c91ba67eab18ec54862e17089bb4b03eca6ed0736d79942a9d676cf8cb9e6fae4ffa612d838d1404d73c8c8da59bdf203a5688a3f1791084fb6418c1a62fc0f119e83150f060e2291081a5d591db1cfc5031b060d28d7d9090e24b31b29ef96140a32e66d8982083fcb1be642c10969c25803e17da93c91d3bd08a5377ea8107b912bf3ab062cdfe52ba5730a9452041c9bb203835d77c92cd3d2749f3a75d98e3e1fd744d7989732762dc5d76978405a43de000361aae87569ef6418c6a72afc755cfbd4befe1e9b2aca8f35e3cf208e0e83aeba036e65f630d006b45b2cfacb513f5ac191617f04b0c490b86fe4c6e8bd565eae9803d606104794cba68108e76a1427a55949dfc53d262186d2a3e92ebbf5098866290311d31a1140bfd2d5e2e300679d10a154b715ee24a184f9dff495130b8b1fc40f0361f5cc21b0e16d57b3fe31cc5f9fcf79e7273c0ef3f7604d092157042848dce6037b497f3ad0ff773b1f8f59b79784c96a92e9995fa871704f661abd7248072563031fabf3478cb1f907cf4b220d7c89ffbb8608d0753d7709a1db10ed86c6d1beb0031ea230cc7032d5a37db72f641e65329b26e36e82dd3d11dbcb3756fcfd541a76032bae4fea7e8c6e85bd3cf163effb3f30efc7ec816e38fd59860c3e76c200f18003c879d616bf106ea2713ee79faada12cfbb46a64ca5c7e2a7d78d349a026e431a00581f035c1c12dabeae4ef8b68afdbae0d40925244bab4321baec17dbe1876c35a0423cc103d543d3428d927ef8942226d80ad26ed11b3670bb826a4f8ec1bba43dd3ec35d103f2b47c71102c0b9fb747bef79d2acc226b59f209347a61df97896617ee594fef0362961932d15acb520e6997dd0ab47529810853643e3e50c0e91cc75e24f6dda703d9a67f83c1f4d5322d9e0b548a5f5900574fb7a9883faad62ba62423e4a9f3eb00581f03c4ca168c88c0fc6ec5333635477ace21e0a8993c02c12f3e9e310c6835805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0312cbf5f9e0dbeaa3ba4ab25598f64f7066f4057ea551a63700a2f4f732505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0309015edd3fbb957b19b5556d168a22db50803f7be65c253554fbfb5780704aa29d92681533561aa9f100581f032658055a6ccda2fbc39118c09670304d1a6a1eb892ae1bcad29b291be4f04c204fce5e30444bad689c000000581f03c9b47dcace8d2388101dc1fa6ff130ebb6b918321c5802e0313a1a517e505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f9f45c97b5700bddf0ea21940dedcbbc26602b18b7bd9f0cb41e2f3a95a36e240356987dd500995eecb16994d248e1b2cd2b82c1b19b97eef3a3efd2327a7ffae90382d76a0673d2e743708ad57e8d98fe413ea61d905b91f4e6f07abe514703377800581f03a39359f41f2e14a8e2798031fef2d21deac675eba32113bff48cc5b0a7d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219fffe0308d24749c74a48a90f5ccb05c0e184d97f9eb444f70f44cd2743dbf6e606104a038ea40139b99dbda14b5c81d2b9c03396397d217a51358ba3fe47231bd3e6d6bf034089a5edb025effe67a60e4a018c1cc82b31291468806b5622cfcf17fe0e450603409d85291aef352e7f6874f7a307724703053865687c8cd7d1fd6820a12680a00300eec7d612ab5826449ec21cf20ffacc745e559adcabe203b570f8b448e5d4c40219ffff0338b7261439ed937f12e07f65bc6503ac33b5b1808da80bc06b119fc9235acc7a031527a105eb79c66a7fa0ecbb6f94163f0269c7edbc628312d1a0b1519aab8bf70219ffff03cfeb8d53e761dfd30050b71aa3d74bda8a6dfafef758b56149dd018655c9fe54033ad6371645752c4ec781e0a6ec960698a3619bb16a10423b2a5299817d8231c1031e6ca138fe6fd12edc0050df21bcdb307a093ee1ae0216ecaa75772dfcd833510219ffff03b86e54f5f769da41470a28f2427b1d5a0a21889547e7cd2573df5109c81d427e03444502d8ee996287e1e8ff4f438b306b24d016c1a3293f6b6bb646eec9a19aa403131894d494e8c85dbf5c175b4321d2e8732ba5a543353104b0efa247aa94f50903bccc8dcce78805cf47eb7bde1bb586ead6c85ef40f98c589efc326a3f4fe288e0345531bdb2e22cbbda67e2e31cb86d733094a19227a178f0d01a2854bf1bf6356034b2874121832f9895f5699dec7648e2c689c84dc52f097516a6bbffda4ae9b2f038092adadcdbb8f8720245031a46012a7b1389c3c471bd01441a3e61cc95c4ea4035480fa3f37b0edfa09d71579141ce9e2c43c286196fbbbfd660adab63446c17e03f2b7aa2b8ee388f5b667100807240c8f5fabecd4df304752fb6778aaf47e39c1039f6218873e0acfd17042b4658a6f646c5d3cd35c45705bbdf911ac634ca2414703849f7c4d9967bccd816a36209a6c761eeb5d92e93f613f9dcc1d1da0f61be15203e1f618fa46533b1e1e291a01c56eefb9316d94be392412580a2a7ea087240ae00348a17c7b676a35b1748e382179c9faac107b70f9422629baef7642df67093b1e037fdb33006f63231a8d13804e9e119d7587e3f3866a56fe68297e336fe2ddd7260332d432adf03a639afd969f30838fffc4f87e0c3976826679ed653eb8a5eaff660367ad970c8a3a5b583432b679f73f242adaa4fadec7d24dd372f4a846f653f7d50358e335b5e899c037947e36b120e1fc0906e32bf169cf04574bdb704f8eb89860037510aabf369be5d63be096332e4d31f67f672fa773c186e7551b912fb8c0bbee030f65ee047e5be9d0730984c3161aa3ca07caed4e3c9875ff2d1f4a94ae2532120336382da876c29fdae5b0f8a5727bde0339b1289ce9d1325555b756193c518fc903d687324ddd81656e0f72d58699fc6a60e7ef8e086f992cacd2cf6abd9fc1bb2903085de76f12c5f05b3248cee9318bae2712bb817923b98f1b4289585bcb167f8b03ac24d6bded401de081f2543c54266d4c3665293d873e7df75f547ef74fa1532703128ae98779b4286622e435d398ea1f6fb975440e3d307397f45e875cd2eff9ab03de3fc2bb116cfa9146918b510e57713b2fd10abbf1381e2f1984500709f0c00e034e5578c3de53e6a1afffab6825f04dc1f947252181523d010de184d35b1333bc03cfac60f605a05bc5980f16c235ae0a1c9d528c526bcb3bcc00a67c53023e0d5603751734a12fd2310121fc46595bfce7c25d0e4694ff863f635aed7ee39d183b8b03292075d942fed06173297d992d054bab55de2fd4d9d3cb8f0ae8d0953222e72900581f033a51b3b2e3d0ce0b3412b1bed2a135098c448b69165fad75ac0728565ff04901475bc68c990a93ad03f041305a07f0bd0438b350e94cbd15e8147444ce4234d157e93a51a3885445c200581f03ed0becb194fcd87002f2bf5ae1cf8b943d5b678c6c5ba8b3d411576760f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031a64ffb69f71df476b0865b786f503fdac3902208e1e9664d28964ba6194280c00581f0369da7a6488584b9b995f8c5133fb2c76eacabb05ece0bbdb239bea71c4d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0340123a08f47ee483b32b9d3e462a2d033139de8746add71ca86c19798e265f30031015d0b39a06fa375d7657506226414d5aa7c5272ce60416b8c8161e0b26ba3b0302afe8f138b88d57b02b12d41b312922c055388050b39971a1a88e73c582daee03d0fe1f747a8767750895d8a0e80465708f186850723199beda5ca653cd3448f900581f03fbce2ce625fc309dadd1390e824f5091e7fd2c60a626e56a4a2537fb2b10487af83090dca797fd031979170605ca504e0c794ef0917fa6173700296c9b4d4adb3a7b3452c612bd4203a90617d2a3f3c99412e7627087f624debf9f6ffe067308a0a6bcafc74b47ac4e03b580e73855d2dabe2837ded927dcb42bd99d5aa0d107bb12fd6f39474875b0f400581e027a23c4e1cedf5786a611ae1264aee873dd6c26319ba05bc07aebcef3225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e038f175cc3cb2d939b559433f96379e7833b211bb3ee1709701615a9a9004a021209d9eb35a5054db000581e0371fd8f7dcfc3b75c55c1cbcd7acd9d4e0e465d07f4ca9c37f0c540b7705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02188100581e026681ab4fa98a28f50df030081f53adcf04708ac2cd6f980a2772ea4a754901e4109005ffb7fef602191086033a0ae03b0da728476ba0c380651b680d701d807bf6706f43f5e2c4b0b3b55c5b0219fff6036fb6bb8d8d1040bfbe628527d0221c7d3b2f6fa1f4b8d31e6c952705a44cd18703a72a943d0ff613cdb80df9cbd6b30beaab14034f7b1d580a05ebe4590cf293f70323727355f6529fe7806d0f7cecf64ff1286f1a7405cda0d08c275f028b8515a003c58e736e67d1648bbe12103398806563e675682bf6dc487a153210c445755797036f5ff188e0c2e4f3f6076d41e84499147c69e08e14738c1229083f39c710037a0365d469febedf3e983c9f6f892a66fcdfd68c7e87ada11cdbeace0beed84c7651034e8ffd60c2b12b8959fb703ae241cbe7710a6b6dd7e7019082183fc372a5beb30301e583e846ab09b6d94d4d39518bfb7e61a2c8255f148eef539bc95e59a6c80b0219ffff0374c5eff614dc1d474c19a88d7720bd3e97b3c3218af24036b30d36aa7d6791f503b2cb86495a0ecbd42e9b74c3b37513b3d768a81e3e99fdb915ae57641f053c92030b1f88640065f22c97b6fe0bca797421035f9fb36c5549c195c099efb12128a9036eec24db19ab88e7d64ac50907d5055882448cfe22f3f73c45bbb593fd68cbd903edfec331ab17f66d8cb20690a4a56b149012f2030cc7f7f2cad426f4838b99b90315b668f965ceed808d16e06fff77a6abea8c5532fc95ae65f9c7a5376f0819d50219ffff035cf79f3aee8bfaa792d716290a6a888cf72857840a5c377de698374d6010907e0358ec107f75aed751e506460f2949b52a927bf97b7465bfc88a9bb127ca74f9c80219ffff03cb87532ef6b14c00921ac653321de89f2818e484388586ae8541a4cd6274a63403e0470b5f80fadd2bdcd35cea27eef481f4a7bdfd8a92c20fa1a934e97d48226e035c040e93491ed02bc9e1907f27870eac50c05050d72b13e79b16fe60d92c82790312c4c3c80766990cabb186f32850a1df63e7cd474229e0d2ab172c5f1232046f03d09b400f9068afec89d955d1f2932c7501e5cd34da48b9f58d224871ea984b1f031fbdf327d9f804a3f2c26ae40ab7dac15ad553885cb4623590d5bd5db849521a030ff41df1409c14d1fba750a20a4e4064df06f64dde07088e92a8ff01f3fa84c10353a11131bff3ccd85178fcadd05627e3c782bbb9e308039e7f48a4f205a4874003ae2ae8609fccb3f48cae0a7871620f0732a66eea9a5f176055010708a5c0be7b03645581d9193b5f01bd80e37747d870bcc6ff7dbbe0eb6876efd8a1c385f6f99203de761177f19029e7d1175f65e32e910cf3c733ec09fa5949e456b0503eb8115f036b4a23a8b8664202b2defa85410e42c7d8e70698273f93dc2ca1aa5ce3f3f7410342fc2a92c7b38249554098cdbb362c6bd13a86ed166dcecd7ce74a59f339ed71037392c3e760b4354ce8d50fb8db9d81c6c4000d69879d0e8ec76d84fb32e5212c034f172a9caf88cf398f81d24d1da1a0661a3079988ffbdaa6557dfcce1f29474803ee117112abbcf532c7a3ec9b3dcfe27b162e5c75adb3f7bf5d6704deeba323360317da9bee28daa2de2637527e2b17465b88103ec45c09be9a74f358df22bf81b9031896594bdda5989e58397c772983aaab1285f819d3ba1b61ff9887ae0a0eeea3033b781cdaedfc7f252bbaa5278fefeb1fee611192cdea9e22d228d4bda7627d3d03693680433797ee3547132a141ddcb74892766e6bfc176f6655aee77e24e2cde803cd5f9266faff6b8bfb75f15c269f4c5fc97bac9f0d276cbf6cb35f549de88817031a9d1654b3cd71a656f0583889d2201ad74f342780103792110a63c987ad7445034b44eebd32cfc2fee087db277698bfd7f3974348a6ab3523e02a467c555a0c0f039f2906d995609680631ee30b7bb3b5555cad43073eff6da77b11460689ff42810320c20d1c1c717c8ea8d554dbbefc9deb45d78422adf03082ec8de9ee134f34ef0351a62254889f93220c9b320786ca68c51b56a9eae9f965efca361ed16364690203e27ab30994cac3350908b97cccacf044d231d8071d3b50ca95069276fea4200203424bf6d68221ef99423462a6422a6179ede709e0f44b74ba19f3aa9167d95bc603d3fac2875bb7aece8e916ccdaf18362426ae962b5ae2c4d2889e90c406b44d3f032e9b610fbead7922529104eaddbcfbbe29d43050a321608e0b75bde169efad62037791a6312c6b1826e320318b42f26493bc5d0201e61e7830f6bafb3710a9bfd100581f033657a7b0bf6ef5b323552c3da07b8af28ff3c8e3d44656c38af9d677d7905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f385082389ad4b6e84ceada0a9a2542bf91bb5b4df785a66e3b224c16620bb11037083df8849ca103eec667cd3f0045b0ce8c49b7e90696994e927fabecb349ec30310281c983ea64e81331d144a7c35aead79fc89041d7d3523f4d3b98cd35ab504038bebfa8211300735fdadb86aca5ce79ebaa635412ab04bb6fe5ed5b7cb85b96800581f03a0cfce15265c6356aa7bc5cc318d66e0f9632239d4427cd988e659f521905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021880b5d440ef7cb3e59e828cdc773436f19fddda654c0b6aded891d0635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0251e34444e9d6e7b7f8af8a33881ed5bc89ee78edcec17e7e495ce192ab5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02378381efa4b9eb0ab74ed0442823ff84f5874b3e31bf2c3e96b8dc5cd24a9b9ccb5b891e752fe06800581e026c956f2e3e66b26f1ce88ee9f7d7587b5d91df2302826bba0a3945d1265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219460100581f037d3fe551f9b7cdaf74cd0f595e4060547cb43ef6e34ac715120f41599bd04835f56344b206b00003bea6d61845cf27081d0373841f9366f1c8298381794d56129234e9f906d60a2d00581f038c473a6dd4fde939072a996e8edc4831a577cfc054a895562a066212a4505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0339f9ade6118f586eab5b9e74139d4964e10b0b520ead195135be6ad691a6bdc800581f033ce1904c969576862c9d0d8c4cc3238766270dd62a969b266599bd6c30a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03eb4942aefd160268dde93dd2f5d833a1ab3c68d01ae96102074725ab4d904802804d053db0ec0000581f03b276d756216269db2c763876b93fa11aa61113189af3404bb1bcf608dde04ad3c2000d5f86523800000219eff703ef77e59aa0968a3c6c2a6b48f0d5859124533df9988216f68a80424ff3c267860219ffff0219ffff0366f9ccba74d1f5ea3c51a02434ebfacaa0b3177444d32497b614c558b550073a03d40308f5bb3be3d5823ab922570474ea0bc23d4e095fe25adc2b65f79acb96da03ee9c15d328250ac39b0d48028c5e2202f56e17f6e81e76d9fcde36e833c9655f0353b7823a6054c3cab6a399419f1a97abc93b5b2d2b4222b42369d92357e4dd5c03b98df76ea7fd0e8300ca3046cdee1d0e7f58e3bb372dd1d369c3c97c143b176e03161329cbd35dce4051609726645b584754aed54b01cd4f51bec0c74da64dde0c0359b79294d7d747f16378a438cf3400482f8f5e454deb7803d99ef59ed842ecf803f48a7c5edb11736aa3cbc589cdd913bfb000c3c7b8d01d014d27a2cbc8386c1703a34cd1d9d3c69c51bb4c8bcdf12137e5755f929aaf6c2dc821a5b8dac915b5c40319efa542d45e4f2ba961d946c0a18be8f2fb39203b126a86641a9db0dc1bf18e0348553d9d845e97a9598cf8363d69bd3dcc8db0b1b77877897c7aeded0a95e1af03221af47f3c72d309735f2e364acefa54a2e880d96698dea023b13345067de23d036d7cb9a645b617f40aea84ffafeb4f2f475d25c96873579785ee0baf462ab703030eee07891f7ba4b91a6dadb8deb501e97d25fd1b04de33f17e123cc2829217f3031a577eba7747d8ca01849060082738ddc542805c3c1dd93d440275b4a1b964ab03253818eb0f740c34f1a1bf5bd467767f9feeaeb1781b1082caa27a5b5ddd5faf03e3801dea733ff07048e3ff3fc2ab0c52a05c6e4bb014fd0ce4173031846f8a39036d262055b08148eb56c347e92c0bb2fb8614e70e367cbb7eaa5909a2f92af8ea03a316ab5352db7a2d94d3a61572850cedd46c8be8381113b99e70f2f4abfc436d037d6d3c00095e32e85e3c39d27ff8031dc712dfdf01c3f481b690be977c361aae0347c33a23a6d9614ce3f1568d5219bc78565d78e26836432e4f8995f0ae0f355b00581e02fc76560181b08d205628dc29b78ffa3fff20804892f006daae0b1cce5b4a0e99e8ffd448bd100c5e00581e021f1882b28f9c56365ca6448fb8df9fc710fbcc78c2bd3d9f27329606bb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0288d4c80a21f9fac68420c4759b2a1641c7332cedbff881cf0cf1f205495820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02655064717150f6903f9c61664f0e35ca1e7dc8b083442d423122a1a5ff5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021902c8032c6ee023a9ce90af639e6f3900b4592ee43ae6a1980e8f8a299cebd12258d568036964b00d5376f132c152c99f6ef85dd87e330ad9fd21d263dd7502d4c39fa68c03646db84d4568db4d117d741870f1594f132f227bcfa7068dc77dd545836f233e035748658581da5f8050a1a9a276f84733c75cc00c59241aa624fc58ee8ddaa3b800581f0366f33e6b6df7e2dc5844cf7413140950ba2b039a24c5e9d8bf037997e8004812e5a060cf05a00000581f0325ef4918baf20bb485299127834c0dd50a5fb087636afb750149c73aba805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f5e6a30a7e3a819bed503c87b1c411deddc625263013682eb3064101cd8b2cec03b0ac39ab1ced1716ee7095d49e884bb7954e6a88e7f2152e94ebb7d47b8fd66e038ab68e809a8f06d636abf3603cac799f1191207dd78f12fd9bb9d4b99455cade0219fdff039150b741a53fb82b9c05b223affa37abd471a04c4493140e04e70b88e96c5fcd0333805f9bff55a1fb61209961bebe4d07b66fa6d657be8163d0f53b11d3ce34a1033dfd2512e09705d4f0a60ca3527eca397808e3f3c6a32bf7d29cb47d196260e303acf1aa7d83c2f4859c2df33d362b0120e71667ddc2f67bae5b1df229ef7025c603cca89d61f6986b6ab2fa1202012930e7bc7714e7f23c901923af622eda23e136030a633d725392db8927a4fb7695d9b9005cb2a9be15e4aebb1a232140a56561c50320043671da505085064e1ccea9e0f3097b0bd8e86dbd680fb408ccd348b03fef03d470392fe913150c105c53d26e11468a0839059caf9a7f721844d3760f55e18b030220c0f9b5838aa8b32a216ea0f287feea2e4824d46006abe269c96cd2805ecf0323fb3c53932c503ea57cd8ca606108f3f654beaf1845776eca8f9f084ccf3fa7034d5599e6b2c30cfd28873a4de6753e4fefe6ec3ad27099d0447f88953a030c5a0219ffff0375ee1a4421ba57b5e8357cd369bb5fef5df045128c0af1fd5c391cc01c46844b033e658cda5a3215212fbc1148710ab0fd43f84bddb22a3416c02c75e7300fe6f30322a49bfae0801e57c6f8c6964f59af4fb857643d91b4cf61069aa4aed9e1c3f203a2b935f5c565e58889ffa78452f87af32e5f5e7a7c009746b10caf2b99845609032df5e6889b99e325a4b45f3bcff6837b7860a27cbcc0595d00552e6d48f64072033fdec0b5e3650f45ec3a7010848ee89f98f758c43623f3e8d6722cf4e6fd1f3d03f7e906cb761037a203b4e29dedfc6c98caf59a19cd829e853bd085c08e4a1d7603e2e68b70d168ff3a69dca628150427b1d0fc04d99a05180a52b59eb378099da0036ed5bff4c8b7dbd21b2c79151c2af0e732f6f5aa585546d08e2fc663cf95552603f0dde7c4aca853a31f0796725136186523b723e7470081cbc6c05eb664754e6503121c7321db6b711442293704637223ac57707c07d82245c7e7e819761a44496b03a7876fb1c3ecc05cea9e9829ed1bb636d4437a78191a2384f0df764842fd3e3c030cc0e71a5a42d7b7017d627992c2a99ec65dc649e58db6c30edc1e4e877145a20219ffff032c425c215bd531b4ad7419a051421b01d1d6929bb93177a8c3ecbc38e7bd92810365ea926bf17c0dfff57daf0c631b8e8f5e87a5d0f4937b767156f07c7c9634a503d396a83a15437476000dd6ae251043a6fea843c7428e44d40040d4b3b1389d5a03c19609f4885d2ea925b4fa1150126567c613eca0a5ab3b53a2206bbaff39642f0219ffff03390213067ab5faa74d52a1588ed60b1ac353b9161e846d039dffb2befca0e63303478d10f290f9b1c70bb58f5721fc59229e61ba686a665b2042f03e0262b8600c03d06a8412784918cf73b96f6bddcead686bf4ef8aa167d1aae1d4a3a1829a91c703b39aa82ec5b6207ee785438b8745918c9d9f6bcb94560c768bcdfb8e4f91c13903c9d6de580fc7671f9d2525b3eaf52d8cdcfe2f2e9a2bb1bd03aad6412691db96034c0034598badef869c21717c6cfa595ace1cf856312a1f19c1144975151add7c0302ba411f7fbf79daa1b22531166fdd64b4f5b31e70eb548e241480fd3dbdcc2c03995f00991e9d9ead3cdb366f42437bc2fd3891460f091e7f563d49e795fd570e039fb88a44583404bddccae66476ccc5af0953c8295246977047aaa7c7160caed7038a260faf9b73715976d80a2f0fbe7fd5712ad118ddde03f60da765b34627e07d03782fc9566d57f9e1392ca8a429e04793eba5bc823fcbbfb39b1afbb31637ca4d035b849054c983b5cd0dc6be5571318d673d0168085cb78e05748fd6110f1047a103e88aa3a0c817fc19e9ede92aaf64d4833f974c649147957c410ea0c24b264cfe0343ea2cd4c891a0c9e97218bcce5616ffdadd8468bcd094b45e5384c62090bef10382a3e5799160444b31c587c8e4980875ee4b374377952b4eb2fe2e65a52b510203501416e5767e65f69ad9aad8abd5079bae2288267ba02b9361d86b11f973bcee03c8a41dd415da5783c73a9b386f420c2034c034d95617525d39bd61658a5a86d803f6fb655bc89758540fdbe3aa9a4ba3fbb4f2eb8e1202e070bc9b7fa50bd610dd034bca76bbf16df82b0ab25b733c31853065d3ede2319864f5ecbf29cf5e8b90fa03a5f4c37c930831878a72d20ba1333593bf11c726dfa2682837b8955a0595af3b03ec2e4e81f4bb786be03c159d557fc5c9f6ba8854961f9b790f8b1fb52484b1fd031bbb4a61eeadd0b699c5c3469b1087beec02fd6b971e0bd33bedf2fae6b8eceb03d24bafe68a0e842d6b5fc4b2629c86d441b6b915e18d0ec75bf16b410175ccf203bdccfd9fede006b387e1f3c26127e7a6b83032cafcdcf27d0d525f0756fa4c8103dca8ca41b072bdea1fa5b4b7aea323918baca346282debc5e02cb953260c2c8403ca785379c062edf04aa1b624b7c6485944ffc5ffd459723aaec9b23f4770ef5b031fbcfd408332e975c2eaca040e19cb89968670788bccfef52a8e090730b2b0fa0338cd537a43694fb70239786fb9e7bc2c4a7f41e6d7257ae2e006c9f4eff91619034db8366dacd735a30e5b84ac87c6ced0aaa63abf5f0a74e838ef30c4e11517f300581f034138f4aad2eaf9eab8ac123bd503938e7be9f69ed0abdf00db02e2a8a21048885c80e32018b0000390abfdafc26239a13b234d8209aa0837fae0e42af7de01cf0d0668dc78f57a9b030aedb1ee5e7fbe5e0f4c17660ea961dc8776e30e718985965283232c10ed3ebb03967586ac22e4a4cfc0cb8bdef5078ec2ad310322451ef7a720a34d080fcd8eb103ae18c3b29d518d32a92161d67aa84ecb3bfecde05681e7787485222437671ce500581f036c40ab7e84fdd68539b3ce42c9bfeb76c18b8525cbeb7216b77005dc11d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03fcff0fa25b83e7a02529d11e9fce8f267d0ba8660913109ea0941b91ebf0458969b4c84903ebbb8af8af692d677545899fcb35f308d8d2d174af448b561565db13663e1ca601410103b08121aa0a15cf620711d7b6e483777f6507fc73725d1ddacd167008e22b1abc0314b2494e9277cf3820e54c92008a871cece2bda625ac285829f40f26e26266dc00581e020377c09ab678bbf9ebee27ec7cae2fcd4081d00a6ec1548ba81e9166735820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03e53286b4806b7c82ca6db6afcab0fd8e6bfcae97d6cb259c849768b9104901fad9aebe9f0346b900581e03c41340fa0c94723c1c5b989a66bf556d86711f5faf5a09fb89b61542305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021830021940060219f3bf039d6fc73d9954eae791de4b236bccc6a1c195ca33a0b7db646b00a37f08655a6b0336241644d42672b113bab6061fe8b53245799e4c83579cbc6a50dc51b73fbe2e03b875c13151beaf1539f61196a8000c8891234a7c0dfd237705d7903e12d7c0d303061f1c34fa562b5ae931e4a2f42f9a24a705701c5624e0ae167e4be62f775d5403f33d16529be1fdf5fb88d8a8cf5f10d5e94d34c86417f591655be4028495b39a0327ca6c325e012f91fb96f418ba3949624603dfeec127301ee7b94a106a028cd80219ffff03984208e01ad862defcbc3a2363ddbc5e75dae950c9928c6934bd074e84b6d94c038da6bd5284f7db2aa46b38662f1f4793c679a1bd213773e71c55b7e67488e0b903150ef59c7f21f362a96169ef54702854fa619298196e95ae1eb7a40af9c456780387984fdf1d989d0fd431caae050fc9ea02bbcd6e3baf34544c4ab6dce2a3774503d94511c183161f46e8969ca410d336dfa0aa70a91d9fb68930b1ad4c38b9256803a19c9f6f32f7810420416e71448dd9864b741dff0d28f5c9b2a618094d14b39603ca0bce61c6b08a8274b4697b23b845e8c1e4397a938e5e21958ab3b3abdebf9703d421c0f2dd75caf295db667e359cb8e8e29c5dacfecb3d83e772d88d2845b081032e8020b2334809ea545bab1e3a966843064d31660d70df3fffdfbdab299fa5440349f76946a17892b9242faa4ff5d2f71f76ac3526b0a42f5590b18040f9286cf20337148f3112c824940f31f6f63343ef4e8a18e37fd4a379bcb8549d61184b86d5036302b7067b6044517db3770d34622ea2cb15a57024daf6088934a427a2bb52d70219ffff03b244381d1edda777b8e16ea0d25e838f0323caa341d8073d39e34a8af008af4003066dc94383a3b5e4f469ace1da25a125db79cf464497b7ab123c46892ad8021003a2270d39b1133d8b4a4e13e8eb9ad3255a0d80d663dcdc0f3f1908847ea2516b03d0aaea8703be3b7f4e224f795f49e8e1f545659d7c9b0cade146c8ad2e9a16fa03050112f214b9eadb8b74f64cfae4ae1df4d25745240a675d59c6765af82e941e0321be298231d42330ccff033a97d4171e730e1b28837258a6f16d322d3b0046ed03548865ccf1887fb6148c974f1ba0617daa0b79ef0443b618d8475509255eae9d0219ffff0363df360e9c0652d41b520bd35f7ec9bf1c39429e4618fb7d82d4cf696835ebb0035f97519b0e3df72d2089392d15a675d29d70c9e0695c084b13f39e2bfed1621e0219ffff05581d028cfc997a82252167ac25a16580d9730353eb1b9f0c6bbf0e4c82c4d00701191ee005581d02a482ab4b142dc254cd296386030fe8c02d1a908075bb0c57c5d36d420c01463faa252260000219200805581e03720393ff9f9a5a3113b70ecfdd01ec81296fd5c7434cc8c89bedae0240040105581e0326a1263a49385849fc3d264449cc387a96dada0c5160f58c608505d9100c01470383de5d371000021935f7036d2c3867ba9350351e19bd0675cdea9b50520f07f61a65e7a9b3220ccd4cd7bd031f747b82056933d424b60b686f074d785004dbb24f9ec3b79b0a09fb55d4c1a10219ffff03b4c78861e0bd1c4d8c4c81159d1ecc49cce7faeb316e4ffc02c79b7214ebf55803974702df4640a1ae3a077312a882953a9e95426b67cf7d4ed3aa6c11a841ddf9035f9a5eb39c6be369335aa35e7d3c14ea71dcc8b61bd197db9977d4cc3bac60c20321a92520b3fc07ef2f7a91619548e681297f226b6b8498bd045633c96b4d289e03634a933342ea8ca4f7a9c3ac0716f510f068ae9f477b653f8de3db68efc4729103627ba78c9576a19d6a3578b8291320ce4553b02353de60e677d6c2f92d7a66560394c53610898d35816e707757ad583fb65a40ab5e71771992a14d0c62ca7b348a03c4a03a2805caa1a32ed99fab148735a7e15f416e032551b8c2fb19b8d21206bd0389c5b90e09f377a43ee548c4d7c6c20f968c7416abc1702dda08fe476691be2d0219ffff0333e2fb9e51c4a3680ef3135c2b07fd6a28b7ba3ec9184f276a720d5fec5afedf039e9a7fb331b1bc8ea87a16c72148926ebc368f8e58be630d746c047a281d490a033e49719f29f71a1a92e07aa2bc91276e3c1dae258f246ec4486835d38a0999d203e939fdf2517fd4f0a223c809e8b150749b605d3653e76b566bdc4795bf8964200305aa5cf2754cbff3fe8cba812b604c7e2e22934967274edbe4bd3de3c4ebe0500336339540c9c9b81a131e08ae619d8c0ee6db7f0cc8de72801086aeed6dba092f0219ffff032765e1347245bcdd168152ae2bc1b5b4ce975876b9076b32139f823aa66796bd03a42dc3421c5676a16e6601fbf580fcb95b83e9eb34d46dd022eaa6fa7d58f4d80346a24cd5504b1a14c38045c6221386688b732c6cff07e1d40b2a63a248de116003ac440e42a145a98b91b67490301a0a821187b8ac7f5620f6000665b386cc474703be999546fb6f3b2d5a74517a5cdc51f907da2b8ca2569edeb765231cb148039e0390659e02212c57a8aa1c075f47c7596c214259c86c78f4aad419fc318c25514c03a105b03595a22840765f5a62a0741a2b58cc4013b545aba1e9b5bafe88d40023032719e182408713234b0c0612f8f29490349e529f85fb8e3d8f93501eb82bed64033dd6cf45cb39901e349c3b9eacaa14bdcac6e7010b451a098de64700e5f110220339bd3aadc4e4062787293ad7673e9894414f156f53e66a3442119ef0474fd716032b160c081d8729983c507270d2e38642ebbc71bd2f33ecfddb32d475d8e9f520039119e14333471460030b0587c38b9b302618c497618f2b8cefd96b38191dc7720357784e48c5ff4cd59cb059569e49892156de92160b27e99a979a6fa1d70c103303a4798348231945eef3066859a55d71ea5b0329a25410d830cece667a59e34d6d030081af028a11649b294592267991809e13937e58f4a2792489ed86d59955320c03cd456eb25a3582444e0fbfcac96969b2dca259fe91b412160c138c652d96372303155a5534219b7b87df2da177ad1e5d1e5960b0821770f4dbeb150e8b0adb6be2034be854be807b24861110da71751f9132303c293368c64999a139c6c51712b37503badf7386b5f0e5c863e846390f90a9dda1a7e5e795350c14782a6c0f20b60bf20324ff5595891b894cc04296783f28595752533454582d837fd901cf91efa37ba503b8b509d6815d0cdec2127db61fabd5b3debc91e34204ad2113247f0a35a3393403d07d642efefc9369b545606875911bd5320002a6a05e749deb4f61cb89764c8103e7079ac79cd2e3b86e0c969b534b9c102ecb5710fe3d02b6e1796df22f69434e036eb6da887b1815362d43e309d2b086364634274cd1fbd74f2a639b8c3c78cca70373a72a8cb795bdc1f3a1605f0127b9529f70bc1a4b74a9ae9c743eebaf29f2e103d30100f0321f775dc625bea4a6131ec313966f640acc6425c6fc1972e23c597803a68cda97754e81367637c96472624fb4cbe908edf8faf17324eec9114065826c035ad0b417c1e40fed14a292b10ae761377e9a82e8ef61c144449dce2f8ec42e74037551ec6761c4b19edc9043483f42f367c6fa6d829ef9c5e02261861a3a064298035c116a8fdafbd22c81b701a9d14096c1e71093e6f0733508917af2ae6293cbad05581e035517074ef29013a65236957f23db319960029bac0bdf72d6baf76ea9e00c0e460d7c759615a005581e03c581ed9759a66d5425e6cb5cdec2e3f763b622e4e79bd8db33a91250b0040305581e03877a3878a9c853be6fd3787fd264fed23b41cfcce2403c7fba18051490040205581e0387f7903ae4250153d318bab30946f074f6ea71c69bf9aa792aa5b8a98008472246a423f4f80005581e032db8bf1a5dc769aadbee40052d4a44a20861757e467d5ed4d2997558d00c0f47010a9a28555cf803d4165b1dc8792aed303ef6ffb28ca7f50b179d939318fac42efdbf333ab579fe05581e030f8dc024a1c35d02ec1f04e09bb84f9ca17edea9dcba4666c574c90f400c0f470ca492c521440005581e031cf474a4e804002bebf25c5551b9b0ff1ae49c4055078f623e97c64ff00c03469241fe889b1804592a7f606060405236156102cf5763ffffffff60e060020a600035041663023f414781146102fa578063035d37a81461031c578063108fe10c14610331578063116b556b146103605780631307d2d71461038c57806317ffc320146103ae5780631f6d4942146103cc5780632390507b1461038c57806323bba49414610428578063265298361461038c5780632b9edee91461046b5780633197cbb61461048f578063383e9a3a146104b15780633d8270f5146104cf5780633de39c11146105095780633eb578bf1461052b57806344a2d0d21461054d5780634a3931491461057c5780634c515fb5146105b55780634d140467146105d757806351ed96b9146105f95780635b55169c1461060b57806363086b5e1461062d57806363a599a41461064f5780636aa633b6146106615780636bd50cef146106855780636e0fb1c5146107425780636f4682891461076457806375f12b211461078657806378e97925146107aa57806379ba5097146107cc5780637b3aa441146107de578063806ba6d6146107f457806382a66d931461082057806386cef4321461084c57806386d1a69f1461086e5780638da5cb5b146108805780639075becf146108ac5780639762f802146108d8578063a6f9dae1146108fc578063b560b6da1461091a578063b6ac49841461092c578063b9bf068e14610950578063bbe4fd50146109c1578063c0ee0b8a146109e3578063cbf0b0c014610a11578063cf054fb214610a2f578063cfefe5a214610a51578063d2fa635e14610a75578063d4ee1d9014610a8a578063d7bb99ba14610ab6578063da682aeb14610ac0578063dd8bf1f514610af9578063e559c72414610b17578063e6c22a1114610b39578063e6f9476a14610b65578063e7a05f0814610be4578063e92b681814610c14578063f3d7e464146105b5578063f48c305414610c58578063fb27961c14610c80578063fced569414610ca2578063fdd96ae014610cc4575b6102f85b60015460a060020a900460ff16156102eb5760006000fd5b6102f433610cdc565b5b5b565b005b341561030257fe5b61030a610fb6565b60408051918252519081900360200190f35b341561032457fe5b6102f8600435610fbc565b005b341561033957fe5b610344600435611000565b60408051600160a060020a039092168252519081900360200190f35b341561036857fe5b610344611032565b60408051600160a060020a039092168252519081900360200190f35b341561039457fe5b61030a611041565b60408051918252519081900360200190f35b34156103b657fe5b6102f8600160a060020a0360043516611050565b005b34156103d457fe5b6103e8600160a060020a0360043516611180565b60408051938452911515602084015282820152519081900360600190f35b341561039457fe5b61030a611041565b60408051918252519081900360200190f35b341561043057fe5b6102f86004356024356044356064356084356111b3565b005b341561039457fe5b61030a611041565b60408051918252519081900360200190f35b341561047357fe5b61047b611af7565b604080519115158252519081900360200190f35b341561049757fe5b61030a611b05565b60408051918252519081900360200190f35b34156104b957fe5b6102f8600160a060020a0360043516611b0b565b005b34156104d757fe5b6103e8600160a060020a0360043516611bad565b60408051938452911515602084015282820152519081900360600190f35b341561051157fe5b61030a611be3565b60408051918252519081900360200190f35b341561053357fe5b61030a611be9565b60408051918252519081900360200190f35b341561055557fe5b610344600435611bf7565b60408051600160a060020a039092168252519081900360200190f35b341561058457fe5b61047b600160a060020a0360043581169060243516604435611c29565b604080519115158252519081900360200190f35b34156105bd57fe5b61030a611c74565b60408051918252519081900360200190f35b34156105df57fe5b61030a611c7b565b60408051918252519081900360200190f35b341561060157fe5b6102f8611c82565b005b341561061357fe5b61030a611cbf565b60408051918252519081900360200190f35b341561063557fe5b61030a611cc5565b60408051918252519081900360200190f35b341561065757fe5b6102f8611ccb565b005b341561066957fe5b61047b611d4e565b604080519115158252519081900360200190f35b341561068d57fe5b610695611d57565b604080518915158152600160a060020a03808a166020808401919091528982169383019390935287811660608301528616608082015283151560c082015260e0810183905261010060a0820181815286519183019190915285519192909161012084019187810191028083838215610728575b80518252602083111561072857601f199092019160209182019101610708565b505050905001995050505050505050505060405180910390f35b341561074a57fe5b61030a611e52565b60408051918252519081900360200190f35b341561076c57fe5b61030a611e61565b60408051918252519081900360200190f35b341561078e57fe5b61047b611e70565b604080519115158252519081900360200190f35b34156107b257fe5b61030a611e80565b60408051918252519081900360200190f35b34156107d457fe5b6102f8611e86565b005b6102f8600160a060020a0360043516610cdc565b005b34156107fc57fe5b610344611ed0565b60408051600160a060020a039092168252519081900360200190f35b341561082857fe5b610344611edf565b60408051600160a060020a039092168252519081900360200190f35b341561085457fe5b61030a611eee565b60408051918252519081900360200190f35b341561087657fe5b6102f8611efd565b005b341561088857fe5b610344611f95565b60408051600160a060020a039092168252519081900360200190f35b34156108b457fe5b610344611fa4565b60408051600160a060020a039092168252519081900360200190f35b34156108e057fe5b61047b611fb3565b604080519115158252519081900360200190f35b341561090457fe5b6102f8600160a060020a0360043516611fc2565b005b341561092257fe5b6102f861200b565b005b341561093457fe5b61047b612048565b604080519115158252519081900360200190f35b341561095857fe5b610966600435602435612051565b60408051602080825283518183015283519192839290830191858101910280838382156109ae575b8051825260208311156109ae57601f19909201916020918201910161098e565b5050509050019250505060405180910390f35b34156109c957fe5b61030a6121a7565b60408051918252519081900360200190f35b34156109eb57fe5b6102f860048035600160a060020a03169060248035916044359182019101356121ac565b005b3415610a1957fe5b6102f8600160a060020a03600435166121b8565b005b3415610a3757fe5b61030a6121e4565b60408051918252519081900360200190f35b3415610a5957fe5b61047b6121ea565b604080519115158252519081900360200190f35b3415610a7d57fe5b6102f8600435612229565b005b3415610a9257fe5b61034461226d565b60408051600160a060020a039092168252519081900360200190f35b6102f86102d3565b005b3415610ac857fe5b61047b600160a060020a03600435811690602435166044356122a1565b604080519115158252519081900360200190f35b3415610b0157fe5b6102f8600160a060020a03600435166122af565b005b3415610b1f57fe5b61030a612584565b60408051918252519081900360200190f35b3415610b4157fe5b61034461258c565b60408051600160a060020a039092168252519081900360200190f35b3415610b6d57fe5b610b7561259b565b604051808360608083835b805182526020831115610ba057601f199092019160209182019101610b80565b505050919091019050826101008083835b8051825260208311156109ae57601f19909201916020918201910161098e565b5050509050019250505060405180910390f35b3415610bec57fe5b61047b600160a060020a0360043516612661565b604080519115158252519081900360200190f35b3415610c1c57fe5b61030a612678565b60408051918252519081900360200190f35b34156105bd57fe5b61030a611c74565b60408051918252519081900360200190f35b61047b600160a060020a036004351661268f565b604080519115158252519081900360200190f35b3415610c8857fe5b61030a61269c565b60408051918252519081900360200190f35b3415610caa57fe5b61030a6126a2565b60408051918252519081900360200190f35b3415610ccc57fe5b6102f86004356024356126b1565b005b6000600060006000600160149054906101000a900460ff1615610cff5760006000fd5b600a543a1115610d0f5760006000fd5b600954341015610d1f5760006000fd5b610d276121ea565b1515610d335760006000fd5b601254349450600093509150610d4f828563ffffffff61290016565b6012819055600c549091508110801590610d6a5750600c5482105b15610dc9576011805461ff001916610100179055600d54610d91904263ffffffff61290016565b601081905560408051918252517fde78be15d84d3d3bc9b53efece19934c9f9f1c988330a42270f82acb16f072699181900360200190a15b600e548110158015610ddc5750600e5482105b15610e59576011805462ff000019166201000017905542601081905560408051918252517f0b597135d1b48577583d352aa1538ab86001c75e653f5502586f47d1004839549181900360200190a1600e54610e3e90829063ffffffff61291c16565b9250610e50848463ffffffff61291c16565b600e5460125593505b600160a060020a0385166000908152601460205260409020541515610eb8576013805460018101610e8a8382612992565b916000526020600020900160005b8154600160a060020a03808a166101009390930a92830292021916179055505b600160a060020a038516600090815260146020526040902054610ee1908563ffffffff61290016565b600160a060020a03808716600090815260146020526040808220939093556004549251929091169186156108fc0291879190818181858888f193505050501515610f2757fe5b6000831115610f5d57604051600160a060020a0333169084156108fc029085906000818181858888f193505050501515610f5d57fe5b5b60135460408051838152602081018790528082019290925251600160a060020a038716917fa4343ae98cbe49a830f8d4239e189409bfc6939e7f70d8af07acd896d89580a5919081900360600190a25b5b5050505050565b60125481565b60005433600160a060020a03908116911614610fd85760006000fd5b60008111610fe65760006000fd5b600f54429011610ff65760006000fd5b60098190555b5b50565b600880548290811061100e57fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600554600160a060020a031681565b6a0422ca8b0a00a42500000081565b60008054819033600160a060020a0390811691161461106f5760006000fd5b61107883612661565b156110835760006000fd5b82915081600160a060020a03166370a08231306000604051602001526040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050602060405180830381600087803b15156110e657fe5b6102c65a03f115156110f457fe5b50505060405180519050905081600160a060020a031663a9059cbb33836000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b151561116857fe5b6102c65a03f1151561117657fe5b5050505b5b505050565b601460205260009081526040902080546001820154600290920154909160ff169083565b6a0422ca8b0a00a42500000081565b600080548190819081908190819033600160a060020a039081169116146111da5760006000fd5b60008b116111e85760006000fd5b8a89116111f55760006000fd5b60008a116112035760006000fd5b4288116112105760006000fd5b87871161121d5760006000fd5b60115460ff161561122e5760006000fd5b600c8b9055600d8a9055600e899055600f8890556010879055600354600554604080517fd1698430000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201529051919092169163d169843091602480830192600092919082900301818387803b15156112ad57fe5b6102c65a03f115156112bb57fe5b5050600354600654604080517fd1698430000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152905191909216925063d16984309160248082019260009290919082900301818387803b151561132557fe5b6102c65a03f1151561133357fe5b5050600354600754604080517fd1698430000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152905191909216925063d16984309160248082019260009290919082900301818387803b151561139d57fe5b6102c65a03f115156113ab57fe5b505050600095505b6008548610156114655760035460088054600160a060020a039092169163d16984309190899081106113e157fe5b906000526020600020900160005b9054906101000a9004600160a060020a03166040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b151561144857fe5b6102c65a03f1151561145657fe5b5050505b6001909501946113b3565b600f5461147c90630375f00063ffffffff61290016565b600f549095506114959062dd7c0063ffffffff61290016565b600f549094506114ae9062dd7c0063ffffffff61290016565b600f549093506114c790626ebe0063ffffffff61290016565b600f54600354600554604080517f9754a4d9000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526a626f3aed214275d7000000602482015267ffffffffffffffff8086166044830152808b1660648301528b166084820152600160a4820152600060c482018190529151959750939550911692639754a4d99260e480820193929182900301818387803b151561157257fe5b6102c65a03f1151561158057fe5b5050600354600654604080517f9754a4d9000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526a4158e694d13d54af000000602482015267ffffffffffffffff8087166044830152808a1660648301528a166084820152600160a4820152600060c482018190529151929093169350639754a4d99260e4808201939182900301818387803b151561162657fe5b6102c65a03f1151561163457fe5b5050600354600754604080517f9754a4d9000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526a0422ca8b0a00a425000000602482015267ffffffffffffffff8087166044830152808816606483015288166084820152600160a4820152600060c482018190529151929093169350639754a4d99260e4808201939182900301818387803b15156116da57fe5b6102c65a03f115156116e857fe5b505060035460088054600160a060020a039092169250639754a4d991600090811061170f57fe5b906000526020600020900160005b90546040805163ffffffff851660e060020a0281526101009390930a909104600160a060020a031660048301526a0422ca8b0a00a425000000602483015267ffffffffffffffff8581166044840152888116606484015289166084830152600160a4830152600060c48301819052905160e48084019382900301818387803b15156117a457fe5b6102c65a03f115156117b257fe5b505060035460088054600160a060020a039092169250639754a4d99160019081106117d957fe5b906000526020600020900160005b90546040805163ffffffff851660e060020a0281526101009390930a909104600160a060020a031660048301526a0422ca8b0a00a425000000602483015267ffffffffffffffff8581166044840152888116606484015289166084830152600160a4830152600060c48301819052905160e48084019382900301818387803b151561186e57fe5b6102c65a03f1151561187c57fe5b505060035460088054600160a060020a039092169250639754a4d99160029081106118a357fe5b906000526020600020900160005b90546040805163ffffffff851660e060020a0281526101009390930a909104600160a060020a0316600483015269d3c21bcecceda1000000602483015267ffffffffffffffff8581166044840152888116606484015289166084830152600160a4830152600060c48301819052905160e48084019382900301818387803b151561193757fe5b6102c65a03f1151561194557fe5b50506003805460088054600160a060020a039092169350639754a4d9929091811061196c57fe5b906000526020600020900160005b90546040805163ffffffff851660e060020a0281526101009390930a909104600160a060020a0316600483015269d3c21bcecceda1000000602483015267ffffffffffffffff8581166044840152888116606484015289166084830152600160a4830152600060c48301819052905160e48084019382900301818387803b1515611a0057fe5b6102c65a03f11515611a0e57fe5b505060035460088054600160a060020a039092169250639754a4d9916004908110611a3557fe5b906000526020600020900160005b90546040805163ffffffff851660e060020a0281526101009390930a909104600160a060020a031660048301526a0422ca8b0a00a425000000602483015267ffffffffffffffff851660448301819052606483018190526084830152600160a4830152600060c48301819052905160e48084019382900301818387803b1515611ac857fe5b6102c65a03f11515611ad657fe5b5050505b5b5050505050505050505050565b6a0422ca8b0a00a42500000081565b601154610100900460ff1681565b60105481565b60045433600160a060020a03908116911614611b275760006000fd5b60035460048054604080517f69ffa08a000000000000000000000000000000000000000000000000000000008152600160a060020a038681169482019490945291831660248301525191909216916369ffa08a91604480830192600092919082900301818387803b1515611b9757fe5b6102c65a03f11515611ba557fe5b5050505b5b50565b600160a060020a0381166000908152601460205260409020805460018201546002830154919260ff90911691905b509193909250565b600a5481565b69d3c21bcecceda100000081565b601380548290811061100e57fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600b5460009060ff1680611c4e575030600160a060020a031684600160a060020a0316145b80611c6a575030600160a060020a031683600160a060020a0316145b90505b9392505050565b62dd7c0081565b626ebe0081565b60045433600160a060020a03908116911614611c9e5760006000fd5b600f54429011611cae5760006000fd5b6011805460ff191660011790555b5b565b60095481565b600d5481565b60005433600160a060020a03908116911614611ce75760006000fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a90811791829055604080519190920460ff161515815290517f69599168a4e7e4dfdab47666c80b8f4e4f2ddbf94fffbd241f7b9448dbc9f2499181900360200190a15b5b565b60115460ff1681565b60006000600060006000611d696129bc565b600060006000600880549050604051805910611d825750595b908082528060200260200182016040525b509350600090505b600854811015611e01576008805482908110611db357fe5b906000526020600020900160005b9054906101000a9004600160a060020a03168482815181101515611de157fe5b600160a060020a039092166020928302909101909101525b600101611d9b565b600154600454600554600654600754600b54600a5460ff60a060020a90970487169f50600160a060020a039586169e509385169c509184169a5090921697509116935091505b509091929394959697565b6a4158e694d13d54af00000081565b6a73ce27351811f40c00000081565b60015460a060020a900460ff1681565b600f5481565b60015433600160a060020a03908116911614156102f4576001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b5b565b600654600160a060020a031681565b600754600160a060020a031681565b6a211654585005212800000081565b60005433600160a060020a03908116911614611f195760006000fd5b60015460a060020a900460ff161515611f325760006000fd5b6001805474ff00000000000000000000000000000000000000001916908190556040805160a060020a90920460ff1615158252517f69599168a4e7e4dfdab47666c80b8f4e4f2ddbf94fffbd241f7b9448dbc9f2499181900360200190a15b5b5b565b600054600160a060020a031681565b600454600160a060020a031681565b60115462010000900460ff1681565b60005433600160a060020a03908116911614611fde5760006000fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60005433600160a060020a039081169116146120275760006000fd5b6010544290106120375760006000fd5b600b805460ff191660011790555b5b565b600b5460ff1681565b6120596129bc565b6000600060006120676129bc565b6013549350851515612077578395505b869250600091508560405180591061208c5750595b908082528060200260200182016040525b5090505b83831080156120af57508582105b1561213157601460006013858154811015156120c757fe5b906000526020600020900160005b9054600160a060020a036101009290920a900416815260208101919091526040016000206001015460ff1615156121265782818381518110151561211557fe5b602090810290910101526001909101905b6001909201916120a1565b8160405180591061213f5750595b908082528060200260200182016040525b509450600092505b8183101561219c57808381518110151561216e57fe5b90602001906020020151858481518110151561218657fe5b602090810290910101525b600190920191612158565b5b5050505092915050565b425b90565b60006000fd5b50505050565b60045433600160a060020a039081169116146121d45760006000fd5b80600160a060020a0316ff5b5b50565b600e5481565b60115460009062010000900460ff16158015612208575060115460ff165b8015612216575042600f5411155b8015612223575042601054115b90505b90565b60005433600160a060020a039081169116146122455760006000fd5b600081116122535760006000fd5b600f544290116122635760006000fd5b600a8190555b5b50565b600154600160a060020a031681565b60015460a060020a900460ff16156102eb5760006000fd5b6102f433610cdc565b5b5b565b600b5460ff165b9392505050565b60005433600160a060020a039081169116146122cb5760006000fd5b600160a060020a03811615156122e15760006000fd5b60115460ff16156122f25760006000fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038381169190911791829055604080516000602091820181905282517f18160ddd000000000000000000000000000000000000000000000000000000008152925194909316936318160ddd936004808501948390030190829087803b151561237857fe5b6102c65a03f1151561238657fe5b50506040515115159050610ffc57600354600160a060020a031663827f32c03061246f6b01f04ef12cb04cf1580000006124336a0422ca8b0a00a425000000816123e169d3c21bcecceda1000000600263ffffffff61293516565b6124336124006a0422ca8b0a00a425000000600263ffffffff61293516565b6124336a0422ca8b0a00a425000000816a626f3aed214275d70000006a4158e694d13d54af00000063ffffffff61290016565b9063ffffffff61290016565b9063ffffffff61290016565b9063ffffffff61290016565b9063ffffffff61290016565b9063ffffffff61290016565b6000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15156124c657fe5b6102c65a03f115156124d457fe5b5050600354600454600160a060020a03918216925063827f32c091166125166a73ce27351811f40c0000006a211654585005212800000063ffffffff61290016565b6000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1515611b9757fe5b6102c65a03f11515611ba557fe5b5050505b5b5b50565b630375f00081565b600354600160a060020a031681565b6125a36129e0565b6125ab612a09565b60115460ff168260005b91151560209092020152601154610100900460ff168260015b9115156020909202015260115462010000900460ff168260025b91151560209092020152600c548160005b6020020152600d548160015b6020020152600e548160025b6020020152600f548160035b60200201526010548160045b60200201526012548160055b60200201526013548160065b60200201526b01f04ef12cb04cf1580000008160075b60200201525b9091565b600354600160a060020a038281169116145b919050565b6b01f04ef12cb04cf15800000081565b62dd7c0081565b600060006000fd5b919050565b600c5481565b6a626f3aed214275d700000081565b600080548190819081908190819033600160a060020a039081169116146126d85760006000fd5b60115460ff1615156126ea5760006000fd5b6010544290106126fa5760006000fd5b6013546012548997506000965090945061273e906127326b01f04ef12cb04cf158000000670de0b6b3a764000063ffffffff61293516565b9063ffffffff61296416565b92505b838610801561274f57508685105b156128f457601380548790811061276257fe5b906000526020600020900160005b9054600160a060020a036101009290920a90041660008181526014602052604090206001015490925060ff1615156128e95750600160a060020a038116600090815260146020526040902080546001918201805460ff19169092179091556127f6670de0b6b3a7640000612732838663ffffffff61293516565b9063ffffffff61296416565b600160a060020a0380841660008181526014602090815260408083206002018690556003548151830184905281517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810195909552602485019690965251949093169363a9059cbb936044808501949193918390030190829087803b151561287e57fe5b6102c65a03f1151561288c57fe5b505060408051600160a060020a0385166000818152601460209081529084902060020154835292519093507fb64dc853912fd4236096ea16135dfd31390c1c729643cc9c97e48536d5efdea7929181900390910190a26001909401935b600190950194612741565b5b5b5050505050505050565b600082820161291184821015612981565b8091505b5092915050565b600061292a83831115612981565b508082035b92915050565b6000828202612911841580612954575083858381151561295157fe5b04145b612981565b8091505b5092915050565b60006000828481151561297357fe5b0490508091505b5092915050565b801515610ffc5760006000fd5b5b50565b81548183558181151161117a5760008381526020902061117a918101908301612a32565b5b505050565b60408051602081019091526000815290565b60408051602081019091526000815290565b6060604051908101604052806003905b6000815260001990910190602001816129f05790505090565b610100604051908101604052806008905b6000815260200190600190039081612a1a5790505090565b6121a991905b80821115612a4c5760008155600101612a38565b5090565b905600a165627a7a72305820f3367415b01d924ff09c28d982cfd787a3fa056a172635b4d22ae50077555eec002903db3bd643c8b1767aa97dc7e861b875a1cbe816bf3638e9ea9db1b66574235cda03432eb4f50b473d3d94410abed7c65b18eb735e3e14ea5be40fe5569350ab3afb03f72f1ad8fc1763cf1a47bda4fa092562172d0ea864acda57e0fa52f14cc251a7033f4c1ffc32ec59a07758596a880f853fca8b0a953468b3d8a83d5cca6af8cc3e00582003066db6c1550483a833544a63690cae2bb232b0c0fbac596e4310a36cb751004829a2241af62c000003289ad592d23a988241aa6774f87a777fcc0b0e089a975b9a7a02261f8c1611070351a6fe71918d02da65c8a86c388310672a812c1036e8009e30709cbaaeba57b00058200317b54aa0c4b8818718e4e5997aa2eaff49042df26e60e677a6845f57895f80410100581f02410443ce43adbd45fea22857d6ffe2b1352230b12eb46170b0a953c79078410100581f02d97499bea841dcc119042db9f9cbbecf0178a88a03f811376c7c8609f071410100581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9410100581f027b962f3d15ccb3a6ed646ab6c6a1ddfb0862132345226a545be15e1c4f23410100581f02b5870ade3bc0f48e137d006c97e407a5b98e76d263b0b1d1cee8e0b57ae0549c5c6b22e876d1cc7c99258552b88581da068893021910ac03bc66e4f063f742e1760fd4a59649728039ddb0321c9123847becd858c5d1f39803bbdb7c712268fcefcea61bbbbb26ec1c29c253b9d97ee3932b41d407cde125d703477245ef9ace48198a652740f002f160a08206bc01ecd76a77868ad61f1832d70349a14756bf9e47febaf47fe1a7774a1e792313b353a57da16def2a46a18b53a903a918c5ff6ae57e62e517a2add5528477bb9ff7225cd34e20e659e6981eb2d0e9030283efd9a5960357dc5db4c31e4c7c154934d487995cb3a53d22e3defcdf622d03e66ef7c064a12cfb3c34539a98b0a679360c06839069edfa599237ef854389d50219fbff031fee9c9e4197221db9d32fc53b3d5f174b2cd9e5ace7cfb0f3144dca5ded92f303337070a83ed5c1d4637a074e2c77f5747de53e7ade1b08438352111522a40f2203eca0d1cf616db6b14f65d8c80e86d418cdac8ab30d79727c903991b97b53eb23032f4b5d118183aef9d64357c560adbd6045ca97f3b64bf7bcd07ce75448c56f44038e2ff342d3b4092755c804c9a1e2a33adc7753f0da4d899c9d629ff95ad1066603ecf70930d0bf39df9c13db7684f70e90c5337047bf09adfd4b17f3d45a7de330032dc14edbbf922a801f7e008dc339ce21a98f24b9bef93284e1b17efe4dc04b2d03f1a70123a04e97c95d1f710c094bad2f4ac62cef14e9861d4da699642b04c98903df0775ea369aacf38ab7eebc489890b9b02b5e2fcc09ffca5c5265b410a6c8a003539d797ff3b92769baca8de245e898ef8d12afec5cfed11fa7c42c4ad90b3d6a03052c05f5ed4c9fd7fcedb8d171277d207aafcc496493ab803208042b8fef9cc603a9483a0e3adb3bf0a7bd2decb8b7af757f245a6be2c10b03dd7d7b714ec8f59e03da8f90951c54c95c64f80922cbbc8514def3056ee44d4327e4740051d792bc7a0359358f6bbf78e4a7dddd367103f8933ea2e1c269a59d7ee4a2f8d281dd03084c0219ffff03ad937be507936ea4ca155e6846b39f60549a05a7428fb73b59eb7363251a14f103473e46fff0e5424fc757af5ef2c2c9fe4495ac1c55edeb1528b3265d6a6cc2c603b923d7bee353af11cc855b255a767899dbdbb0a410e89e823a516ac17040241d0312359e30ca796a2d93b71f066fccb37153977336a6ec138e7cc78536fbe631470331edbcb052af46c07399bba0147e283e98c9fd15f220824888aae270fa213df0033016201a7d6418d75520392d316f4c8629b243509c80a53b039dea99528825fe03b75717937121906c8eb969fc5ca19963b9d90dcb28176797e57036d25bc3ac5803695723f0a7a3bb9172e88f79fba261008bb80338de5a8654b99f3e31cbe4af390374572dfb1d30633afe777292c8ab1740f90aa0697df543d5f3c552eddcbc522c033cd496af266bb1b3599c2c6f271cb1851959e4d49477aef10a1de0d9f46c2e52035e3d853fd11daeb85826fbd271ff8224725923dda5fe5f0dce5bd7ef4561b26303ec88a710a928627d8fd67bec2a84d737e470acab2b587bc92ddec20af0c11eed03add21f6b80b35709408a60900e11b7a9b071576dc6d0fc02f79fe347d9a1c8f103b36ca64d98f831d7ad834d9cea612f3253637b74b5f845448924fd1f679b9887039e991784028332a31254f3f22d3e225bc492ba0072a18f0db2b0ab12c013eac20219ffff05581e03a3f2d4f77fbc8225d0c0eaf968d30da3ca17f8f5419826900fc866fba00701192a7f05581e038046656ead2fc48692cf1e35d260d23d4e2096260c29f494b961911640040105581e0338a5d4f360ce0721379d9a0ce0b5ef233ee875aa9474f294bad6a58d0004050219fab903b07b4de8a65c602d933864e2fa83b78ed965a888caabc5a816302d017503d4a10219ffff03acef4bd4cfabcb1e603250e94770b71c480f7e3aa3d61cef19d8e55d85c2c5500368024e19b846032b5e2f8d89dd4a0e310f419dbbfc27301e5143d76ec70f6f6403150f4d916a0774ac716d4dde603120909c4345b6804e69d435496bc9d04a1cff03defdbe52a0bae015dda21392fccb5e7996b8f7257d86ffe15d4c67d9aadd2f210219ffff033192918466d60b031a67691674f9a593010493991588a4dcefeafbedfb969fbf033be6355d2dcb8e5d3e98f63e01718b2860e7c78176a7f7443facc760f8b872c703dc24056a20e3023af37032745d09b0d49e377b43ced1d6110cf21a117cf3e98a03e043bb505358b5743baef3b7c191b1ea577b6db7e2dac82f7a3717fd4e7a21f1036586813acee2292380e0cc311005428aa4d86249ca02230f4a9d5bb53cac69bf03922b909d0308b3e3288a129b33884bbe151870b98b42528846ecc11b73dc8d6c035d9398564ef686124176f9f6fd050fdcf31bf0a9a1e4b32e171b117e72b61ca203c09e32425be39dda0ab820936285b7fb9dfa898ac2bca516a2ab640e4a7d2e970389553122968568a501db64944006b04b4d178bc3168805528ed38a8bdff806c903029ed46df24fc02d3815f41f0cbccd2c351eb8bd3fc56580501b2781582184620219ffff03f590a97eaea087a347c77c6486a21916e3d79437dc37c882da2de4daa930f12f03bbeeeca143811926268f5100db95758b83291c16aa196446d226a4909c1d5344038d46feac8f7dc70c9863263dde5cdf6e773da6ee9b19cbf97c009a0c62a2c6c203994db069b1c2c18a2703f11d6ce23b6062209457486290f58721acab7b55d28b03315209dad8f567711f6c73426f9b7794d2efafdd61b8321ab165c7a7e6ff230c03c4318f3679cc077959fa3f3441a0e640f8c7b7a0576c38fca996a671eb143c39038fdb604301064d783b78c3e385cfc7bf891f526b01fb964767993506b2ccbcc90368642557b55384f60d87278c5b2ab08995c5ff688dbcf9620bfb8cda96871fe903ebb74e833d50070572338d23c1bced61c79c6e07a2bdddad12e12410a06c132203d786ec419144b8c79c634ff60aa77a62fef05dcc71f007d1893f4b464f040381037b795a4aad6a99bc92ab47bfaec34289d7874444242d62cd9c3d8ba077c68f2203f0ec4754a86409b9ef2fb0bfc2cd6fa88cedb3d3f6ba5a675d3a6f68d65d41e503974f1fd0188ba0cf6bd27a977a2eda3cd83aec3e2860fac62500c89d5e471eca03484fd0da1917d46a41957f58932d3791fb2e7447817fe4679d8381c680baeb67031de1d94141f00a04ae6c3dfa510ca0073dc2e6270fe0b729fb4f245afe7524f5038d2d3c957a0ea201ad8615742573d6357d89d3e3fd68287adaf86f8a8822f914030c2ace0e8d0fc0f7fd4f4c033153d47b69f38c3e16525778edde69fcf21b463b036c7227398c9e42a62587cd391788181a4964e3a10893f557c796bc9cd007e8c703987999c26e5c9910d30b757623573e71c0a7cd6c7762d5233c9f3a1e32755f0403adb5b619cba578ec12fa39aa93039887c0f10c4f4b2dad4d99ff57c11062748005581e039dc15067c0467a8a381976cb46be59e47ed30a0710183ea95b5d17f46004185505581e03ddb3c48440e53844fe0eb0003379ff75d9f6e90942df4a3aa4bb9b13700c18914707d1d6b2e3d57705581d0278052d61b865c0e100c79ddcc875cf84395f4ff14f2028ef5bd5571b0c181b46acc0f2ad413805581d0203a1c52f44a2c855d25de5b51b53f9e68838132c53f5698167f0a429041902b905581d028665beef362ef223001e79d23a47bc98dc1717fc0491acf1f6cdd7af084703e871b540c00005581d02f1d2c7bd0b0c5c928e9629185c0bc91284587cdfd45e904990b5ff640c02470983b31714800002184b0351e31d2082eb86e99096cd79d241e34d8ebf96502b675313016cbbe0bbd456bd0389e9c57270d2f6f247e5662d86e365f40bd58fba9a469d2a244ace15db3471c8031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0344f9c6bd3f229a6a1c16d4b27b1a81786ceaf7d8ce114f436fbc0d779007011bffffffffffffffff05581e031804a7f83830897846da2cac5338a07aa97477ae0fbe3d0f3dd1a087d00c190447466de957054a2005581e03836c5dafe4f4d153a17bf74be4d435964bd88cab7e7015f295054b0a80040103037a98beca69579347faf01e04e12d53f88f9b0d69c72f53ae2986ad7b5ae0280396f4d46521b0a876cffe3c853333bda3459835f912f851b4f32227f27c0a0bcc0219e4f50387f4b7d8cddd6110979f4c45219a15c68f437761c5f12bc2d6cedde181d2978a036f691bcc0a1df3db84677cf7c794d45ec3d526c27218c62d83bc2c0ce7759e4b035e2cd2a4c2062bca4f497d48caef4472d6fb92469b2f5f95086678c884d72fb50361f8a307437d55b0e6ce3bf072f2577c18d806aadfb78b79e947dcc9aad8ac0c034070bb72a75f79edfc42287adf9fb5b9e150e898796bfc431ad6430e69bdd3f30377d0cb81d4df7ee4ca27c56c064a711f0c83054ff09bca5f9880befce44d9a8803f4ecfcd545d2ff9871576bd5e7a9f3689b8128c7a0463aad5dc7f30594078561038051d8cc371ed6f0bf436dca9acbd8ecebfbce4a58f74c1a8894e361d25524600341d266ef2aa15fb58182e6011dd27d52f36df4c15654cf74e3eb1daae5bfae180307658997637b0128627a475038523f1c80d4b525ab3a980520053aad7429f12f039763272a6664554361542c7e24c06869c63939edd91b4274542c02d32cbf76a80219ffff03e1577cf5f9ac4fbdb16df10c101cce23359af01da83bdb9005249f4134114dad03791d6f442109b6f29d69e4c42d98da9a8e6df0cacd7f401aea732709a5686b26035658060d5869b9d4c9de8707fec44456e0ef56a68fcd6d6d9bda1382abb84585031ba957788601f59db561cdaaae44623b7b17f7e2d992834e6e161404a0a1fe800355adcaf648420c764236840f9dc6732d95e8dce3161b214df8fc981abe3a9b4203c6dcc68187f0637812be47c40397a9fa2a19ee7881c1e637cd08d0be3456a644034966d79818e86da4aba70869024dc22d0cfcb6a8e3f4d86c815bd24858361fa20219ffff034c475d7cf8738480f350578174cd663fc7fcc24e5d08545ea1f79d1324d89b3e0367fa9b48f15ce62148023d57b068e476318bcf767bbf550e1cd1752eab42c65603a57f80041a7c6eaaa6783679c88d8feb351f2d71fb96741857b56ee7ac12a48e03e53834194f5aa52b1b6d221ac0ec3f7e1876d721dc6f9b221c3119802a3c15a003ef18f12c497498c5b390bc6811220125cde70c38d3ed31cf7b910898bfe6b4c103e28f0d457d8dfab2f9aff173809d38c4d51745c535fad00b154022c1f182066703ca16225df3bf14564f5a4a5a65a09c8cf657470f4c4fdc899557c1b219a65b9d034b102249dedae6e949216f982be50b3fb6c9e2396897bee03d435d21e647864403b5d634fb853450b3e53bcc1b9e68db569c2db52c6b1eb0be7753c8116cecd4e20219ffff03c4a87f6da1b949d7fdd2d61997d1f970a11860ddf6c91d4345d2c24e6557231d0318631591d2d5ca84fe9a1e3cf9be001ac5a181ed5c5acc3a709b9973e582f007036360b2ea9c3a1cf8acdf7f73f5d65705f4d7e316a9b0ae860d622decbe012889030b8c4864d2d59ed25c46de925f96008a813eeace4a9873e5c6470a1a3f32dd150388e977c34c835d45b08da511196a60fea2f88d078040d6381b28810db1832a600219ffff03a51808ce45e9b3c58e5e37689af5d25c6fc27bb18bea1a42d5b8d29f62ca8286037f01c67e71e84cabb4bf9dede05d50463da4e765b59c1b963b350862cea55c3803616b2ec7cc41b937bf3fc76174386f7a166e64fc003178695f2a4e90cfebeac203ef77836912dfb9ce3e1a0364b6368cdfec23c2e7a7f5817ac2e4d681c4f54b6d037c9f2763f1a9696b9ef885315448838efb595baaecaec120da785babe50fbe1a035c3ea1de063faba324ecb929af66e89c20c82095c3226570cc001d34af31e48703821a287f0641e1fc08fdddd3b3987036a9f11ae28162017a26560675f5a52c68032cfa4c244833d4fb70d0ba260cbf9ab7fa4dcce2cd94cb739b3f04311b5e49ce03d691a8100694fda6b5bc15ee8100395890061061570cdc2640322c3735ac7c5b0346a907fc1f9ccf7ba315afa90f350ce45f90f666c63d1857d53187a2421d354d0350ddb0e4ac5196d5e26f39c28aad326433aaa585651ae1614e87089dae42b0e703509280c9924faba5a6238e12e25438cc9f12a75d0abc6cc8e8bc063284fca08b03ee4ede93e2fbd7e3e33d407e33ec4060f2986dc66503f34ac16209c2eb5c1a1903a81e998d5e8d08e1a0576b5b6a8a54be9cd7be3b67aad99870e659b97e5a712903a0fb2bd83e2869a979b16938cdb4dbbd445c801497c02619c6c956fe5eb92e3103061626c78bf141dab9a84acb65398fc4910a3fa9cad3f70d69d8e586f7515369036cd2a5ef1a11ae337740460a540e6a8c2f36f79a34920167f928e656d9a37deb03f0161e18177efade1593b292ff93b14d95934730b40e9a99129d8342241d1a0a0379e30d05c8765b73fad19b4aa4eb65340256a1743437b39c37d917833143bdb005581e0309faabfaf9060b41f35070c451a94b84524405a763e19c06d850b72850040105581e03dadeeb4cbc7cbb2859035499afd9d61846e19791e6da9ba579990142a00401031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e032b352c9cd244c92af05b093e78f50491f770a944b935c19be75800b54007011bffffffffffffffff033d0f860f98345cad535e4f859a664ca2f250174d55759b88c13192dfaf7f469403845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581e03bb84aa584a09444f6c6f7df1bf5cd57cb1fe3c03616fd73e8e8b3be80007011bffffffffffffffff05581e03c97c8a0b6618aa22800344a2b1707aab1c6cc8a31e034809c5744d65000c024501dcd6500005581e03ca1bef436a08af023d370715693f9a3a2b1aa4c551f2ab31cdfd053d200c1a000ad451495bf30e72d2e03f2ebd05581e035cd247b357b90f83a5b72352cda5171539d3ed6f7fad760477fe51a8200401021944fa0378c19010b5b832c1dea3318894f1fbaf1d79e9e8c49c336a0087a73ca2c15fdd03e87260b54ad67629039706e92b4b04a2df3c4b416075afc1d9680f8ca6e0e9bc030a116215ced5569b55b446293330e140f273c4563090518283ff7f67b8be2c92038bf42186f861a1d580a2405fc49efa4959398e9d454b3dd6c1954ad7adf6fc2503503c6c7eaa19628fb9391f66bec3b53e21e063d526b5cfd16d50493e3914598f03fa2275cba99c2b064c3c9d70eef106505ed0c22ca944ce899ae88dfbb33b8c25036869ba19d2c9df705b33dae358844350d140b2add61a1c0cddbe1ea6775deec20219ffff03806571c8e3a012b27c954b566fb31ad7b6355f265a606defcedbf8d55b7a2f6d030f6b2faefa14749a407d44a31930fc4c2553277f36f90b8790c5719a58cc880d03da80b6616460277e72dc8f7592658b2f1c26378c5a1fb95f4ce08e03da4d057003e0e6f8d185f9ab6c1a1bb6707a8a113bc6686003644deebad2b7b1ecafda0168036309e962edcfd506989c557ef2b3621cd11b9b9570f2c49326c105fa299e13dc032181f7855734aed03dbd827f8a3e321f24c3877e3f2cff7e87ea9720766ce3a103f8043cdfd9da4e9d90916a5da7e7b3874dd3e750d1d76e25f60f29b912ad26760219ffff0317ef2bbba601a8649fd440b295fe3e36149626f0d3ada40f48f6adf71f7bc32503202d6e5fcf322a1971bebf00e491f44a4343f6f2cf2d3a4d0842525cd3c82dd103d5b9b776da5e312238d0fc9bae3a0e285d09fa04ed57b5061ba8fdfbc5c9810803450ea7a0ac2660ff4540d766667298fe245705c4be20b8c1610a1f754b294fb70339a5fddf90973c3a3d042edce15c2c5dff1f3cadaf0537ce9395a230563a125c037f8a2853f21b9018c0bef5fdf120767ae28d2b71349a39f31b08cfac0646a623032ce24b18c70e09954cf193f8e6c6b71bf2ec65d247ba2b74c6f241b6e1877da3033179e505853d2de94a2a77224dada0bc3e8ad4435ba9049699f0886edbc3f31203f61e4e49ef17f4e3b98e9822cb892e6751b8b66000a4bc2147c8bdb4599efd6d03b173a27561835c441ae9ede39d95ac019860b463ec9655415e113052b9beb5a4034a02f67882e38729781f2a5d60d806270397220e9a4804e104a6b1ed25301e8b03605ef0332f0bf8e1d993d24c5fdc6e99aec3ae7e4a779db93e6fd3a5cb4b2fc003bf16d630d3ba802d63439a01566ab6f0675e55bd2b0ab094f2b463aec5e0dc470219ffff0309bd353b21a9c8ab4b5451739e03b976acf21b40a0368bab65ffaf335a874e4d0363d2598e28ea98523de67d6807f8d2500a99cf4574faea72e68178e585700e9503b4c55155ba6d979c6c9e5e166e3cb63f6947c8b4edc0577d11f7b18318098d6a033b3bedc009c70693954474c8ef99bd1a5b08cc12272477e6111e955a006bdfd203bd8db9ea21c6e1a027fb9746331f6b86b57424667b6a4acf7d2d364e8719133d037ad0cdd473f7510b30b3184506ca9a1e9e2af276c981cc58bd78627c7b4974d0036c0a97f2c5073803f175d011accab5e3e4453cc13d6cb5cdf3619b58ae27cf5103a85390a2b65c7eb5066c3b56c42730f1ac0bb1a89ab22e06e7f4aee2839ed008035896d247fea421f2dd5c427a065955b3bcc28e3f635fcb03386556d325d923b10376094d542f5901cc8f7aa9cd60debb5cc18dfd29d459f9dd6635bec3b27ae0ce03194f8caa21b905c7a8a1370431835a3fc89ccc30fb3d5fd12017dcdecf17d45e036907b0dd39715034472eedce84607debd55bfa10d73c78c9085197766e55ce6e0379aa0d1571c8786eb24ec27d86dcac97a3c5e8bc139179bb29c87e345b86882b03c446b556e9d38dfc4c7af4d79abcd520aa307e9185cf116a5bd4fd7d27d69c8103f2005e525d4d98195bd8a80d82b5330dc90ba058a42e4e5c402ef5b22287c66203b939bea86c233bdc9797bbcbb499e6cbb9972345a39afeed0ba483c007794c53031f7ae19c3641be931bb06b95031bf634727c6450745832ddf84f430f3c4ddc6e035c93b4d2fe8826c46e0789ea2727507edec8f299e599222ce1c356fd17adb12503247f8d0a98a3de86b3d06e62572f774bc28e63600c627d8cd8679b38dd6b613f036f7249789094c5c539620ef02625867a802198ee1891a04a59a40decb79b2045033e480e6e28b01a19168132ca195d82e67ed6a247d0f097447176e4ce932a9c3503fd561aa25ff9b69c97392acedfc85528206f284c4989851c8f48f6bbf2fb0b1f03cdb043f40babbd0bd2dc72042f199cdc2a8840573f9b94b502ce8649a8be58590399682c2109eaad8a05b5533a51f3bc3d66ce46a3075373f596f492e91cefce0903484bba7e200cf9371357440701ea4e9d8a091f75531d03c58195beb25c2195e10366df09980f23c4eb4fd7056c24e065f47b716ccde2fa05b92c7d5f85814eb1360349fee2f6b019b559d85f9390dff1e71ee861c5441f5f56d8dfb04ea893dd05f203a0c26285064c5704c051510baf6e80d709bd22c29ade49287ae0cab4ca195bf005581e03337f3611c666b0f08b98c949ff92c1b345b5f0993e7531a3de6c74d7c00c0147015ea9378d40c703a47b539e34cf7b9d5b598bab6645aba2e190cd2f8ab350e02a8afbcfd363de1805581d02253733a279fe0322f714a1dbc4ac92119fcd7eb3ee68093baab2eda10c01462d8082a64ac005581d02f3f8774438fabe216653ab723ffcf3f42da91b7f6bfd9eb178adc8c70c024662ac62b55d300459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c63430008090033033a14474e29e12e317b0839eed255253b1b01be71089c393f7e5e1835dbbf59c603ace9453d3411e44f22f4ed809a76dee06d83899d258b7044d425b53483588a12037a53cf06a258074fe41cbdf67d76f9efaa8132be05ec82092d8cda962c91d2a603a74c32a88f216de07b39a05aaf9a596864d6cf5eac7b2ac077e72bcb44b43288031a1220b28ea2f548e078eb4732dc305b56282d912a588c890ecafada5e5a1cf803b76f3c42eb99e98f2830be83cc4de062472a611c36e88cab6bee19d2ebb085f203fe7a54a618217a51d0ae0830651162a73c9405d77149cafde228dce6ea787f5d0394527959ede572c96d94582c84d168edc162a4faf79298172f6f3719fc55aa7c03bcb8c3e21683f1a0d1489a787aa7d38de157a2c5be83eafeec8073f4cc917ba60344b7d989d05af9c1b2b0b8abcf495613c2c73c16ffba12363f6ca8fe9177a78c0374e7d01bf25a0d8a8f5e5e127627fb16366d10429454ee3a72db1b248acfa4900377ad4c9f382e4ea597d3a2328eb291f47e79ccbf0fc004be544a4012eeef17ba0303de55093565214a59587b0c23e0c2b4a3e518f145a62b6da4505f647d82c5ed03164a64ebd0b5a7bff920b47d4812e38ff6fea99736ba921aee550ea8f03f8584035c0db796b874f8ca0872d68c88b23709599149afefb08b2e03c827668bcd90c8030a77f94ff1c2ee6fb6984963d52f15efaa935debb2ad1dd675a278285a389cc703d5114b6247d3412e513bc59edb17f515c1cf691f805c5b2abaf276d0530a67cb03381cadcc5b3856e878cc60cde4158ba72aad87a5baf84b6756740941c9cde4df005820032e456c11b3c3af39c84e785bea4b96a4c1c152529409b803eac9bd66cdf56048a20d6348368e2ad40369fe0d5811790e24c9754847ebe494caa1b5e7ff7a2d46ada81e872ca85883ec00581f02cee4920877ed76a7a6ca5b2fafbfae9f45b4b99c017a73419244fd2acd9e4801a8459efe075e0500581f0245e79978d7b9de324f728ebde6bef2ab8c6d9a74d87856a6657883549aa647152afe4cd74c8800581f02c6ea0a2403e3471ff578e1e15387c76623ec166d572eff66f8cbc4860cc848066f5d1694a4b14e00581f0254c4493148fd71f7de8cf083a0369c66272260ba2945a3c3d2eedc7a661d48042d460cbe56755c00581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154d750b84845f1cadfeac63f96ec74635e949bfd1402199c100380ce14c8bb05da22b4facf3ec38bc1aa61b399c51c28fa0bc7bbf3e6fa79040b035c0818de8348d9a8f73fd8e8fbd5f8df71caa272d3e1652233373333572489880219ffff0385958b229718b890ea0c473fb34b5a219d2ff34676f70a3e16a6b6aac4d0c47c03dd20ebc02889bb6d3de4a44d16e9fa3a2d56cc926fbc7146b86ab5e91cc3e60303ea0f51772d6b0595d0e607be2dd5057483620b14a3c3d6cba3d28e0621c2bd3f035154954ce0e73628c61a3b815ea7ab4a0567299551600de982f1d7062dff082d0315d8d028178d9795dbca243bb38c86660cef017ff02833e8b7a51adae5580c140328fedc50b91f8145b4b4d32600cffc2416b2e784886787dd450e12b8b614e6f503d1404f4a1a9a509424c700460dc3d7f737a049add9f836effa632af1cfcbc7d70389a5936b80fd5428cecd2a6745b65573a6445e5994aa112f3280f1fd0df5324f030bbf7325ccaa422426e3d66c4dda453b461e645eef2348080767258ec793b64503063b13a85567313448b314528be0b61dcd8616f6f26ca8d59cb219c87c7ddb2f033ac1afe98911e7c06556d7e7aa47577582d49eef99c78d1fb5e8a302e1cb8ded0312adf8f807b4fb4aa90da61e717a487e81158805cd6d04da739ca960d7df39b1032d3a54899a0470564303370c42a0ab1734327cbb76ac732dd03f693715d893880219ffff035076d20f610bf148ae4fbcb95a973f37e8083570616901c60899fc9fca13ea73034b3c98d07bdef4002eb37e7641f351fa0030e39c439fb664e9bcdc2dadd4d1b1038ec56592229d605c6f543a293106891f772fed4f7b95fa3f828d3ae675662517030e02304176cd051236e1de6f9d0cc0c8e36618a40c5ed75af468d2aa0825f42b03d025603cec4c4e0efdfc4d07f5f0626894b5a309a4254c2124123e3f233eb0e903134190010044d47e5923847665b5ec9e9ae3b357f337a044efe10948864281ef03aa90f2e79b25d0b2641169aab4765886d9597a0f765590fa589897c88c69b023036f585237120ef88786f8b078a642323dce3d8a499e28f17c1172ac24674cc59403cf62403cda6d9f91ff1e08a55b8774a6693a0d77e58e041b0210957dc7a39bb003450301281ccb545c87567d8201be1b7d1adb71831709f762905305c60f4dc0fe035cef330ab61d2bbdaf0a0e61f0602478779b1f74e25784ceab270733a71800ec033cdea224fe0ae61cf609999c504defbdf912567d90864a68e3442da3ba21cb8403a5ae32f6f25533297d67feebed4afa869c62ba9e78016c1adaa7db3c428de697037a13fb50ee60a003efae168054a448e0a0bb762920c5cfe214cd843891ec62ae0333861a978d9ff7943f5ea4f04492652fb618f277e5123b17ba43275937fe338c032bdbe4bdda066a8cec123801975a6d67ca1e4b05103638a17d69d4abc9fa96c2037043b32f4b1fc1bd5a2907277b72f46dfd8bf63e818d045928387c59e8777eee00581f02e94f8dd11519dc567b9743e2f1295f21ee01cb9c0124eb720f74b7c377a34837a4f8f6a81b2fc100581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54cd284a617b4ed7697c2e455d95049c7fc538785c03f59a11cc83432aca6bf2f6bf6bb3eef21a55ac2dad3dc3b26074d0b9a8c317e000581f024f30e3f3dc19c5443ded34be84f3458c979a2c331f46101928e6698d24395820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f0112840440ba07f7b4ecfbadf663e0dab8ead023ce81e79796d65a95e4f472386f26fc1000000581f022ecf24bc4ffd51efc9529905ce6eb7b288362c4cb672d50b34eb876c629c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02000fbb0b0e447e3ab4e7eac5fe81247512057f0fde7b40356820c34d9b4e47011d3584d6abe50219c11d0302d5ef7046fc8c710645fcb24100fd90ad12ad27f4345cad9ee938395a1d04af0380c6850eefb82cf8072bcb5f2ee5c366185f6c1e2c02b1e66e408a67bda7076203ebc04cb5bcdcd84562408301e8934c52365bc0484edeff595bedfe7ef88b26d00315dc399c30db08125975d8562a79ceec5b54cadbe06e74009c0571df0e6f4aac0219ffff03ecb0fd928f93ae312d1339c34033bac881930369a948f6463fe56b5840ce12610347b059131effef67f11104eb8ad49b9a9ab1db288ef125d2885ce346927b195a03b2963fe4c2652aa1f39f7e496faf30829b64b5e17792546ec1f127e51331766503ca0d6654a813793f77153b25cdbb480cbe2770c83777a8c675bc757ba81a8c4e03a0ff827b13bdc6a1d14011e9d823719c1ed0ce633e92e6e82051ccf8255a32f603e5ebc1595eff5e47b5a39af0e9d5f366a93ac14c3894e37d48cf94bf0f6f981e038bd12758477f3fcfdd72d18eabfebc2bd1d15c0e79f55158551166567519b4e703c609ad25277b17785d5d937a610637cc31181698f8eb3f788dc8bfa0f548fc1103d087ce00aecdadf49b9c652dfec84e88105ec3bb1070de69fb6f014a7926737b0335b9ce58bb22df45a3b344181883e9787d42e18084fb008898f77446bc9cd9c10219ffff03521c1103416412f6dea4bd373289a3a81bac98244abddad5dbe5cf35a791b85b03961024ec94378efd80ec91f32b41d5e231c870e7ee9a9a6b9fe57d9f0d19566a0395f9dee073ed6662c36621cd5b80e8cf3835b2f44266b70d148f123f7d89e22b0313eaff56364980c5cb23905600496ed0ebf39a6d5fd30d4adabc757e009867b4037bf6563d62623c3d9401662ad49e354d438b98a4cbf20ae725ecd8fed151cd030386253fabce0aa0b4631ab547c17038d80464766fa44c27365a7a242044404dcc036d98f631a7b41e588a577fedcc0467b6f75baa7c93eb6d0535ed29aa5c386a93034a57c388f7691035c51f95a5146281d76a83df0927d6b64513f9f19ef8ca18c70396a203c35377fb174a12fb6e237f094b41a3ae256c2e8af22cdfebe098f20816037aea667e157472e7ef2b8e88a75a55958e8f979801282efb5f16f6263fc6269603aab6994629690713b19e35c5cc01466b963eb6b0034314fddd399e9ddcb8ec1403c74882ff42dbd1d3c9906a250c680b646a950f0c58795bdd19c8369319e7b6ff0386c7d89b28057a9915c8a406027acd6530ba0d191cc03e8d32337d1fcb8bb2d2034aeb5ac650ba940541f615f7eb080c20cf82e08f9132a48c40dbf8efa16a5a7503efbcaf16f304b739e41b45c3ed7a74660dbf4d29528efb7db845d9e4359fa2220305efb8202c69f816513db01613979a5ce36cc6f3dd820d44a46cc5dbdc2df7440389e486837750ec748165c9b14a0f4a3e3013d1ecc032776262f56889aeb9f86a0377d6450074abfcbcf9b5e0fbc174b91949f4781f133734b10ea9b92366b5402c03364f593475690c4ca7df9fe4110f987cc64e8b367afe2f2733a9b97362dc70c4034e0b3c1e86b330c19eb88d3e71460ceb66e98bf0c185d5e0b42afb3fd3561e3603290f42ce249cf78c7c8d1d215c076a4f763d25e246782f88a19b8ed2e98279f503d6c5ea7518e78e5514b4ee4488334af9f353a693e6a1811978351e5b9cc4b49300581f02b12cfa146d995dccb6f89de9db58c520ed6d64ca5c6413ea3f348f2e7cd548053c19f9b97fccb700581f02bf6117e289da4b11cd41623a69126f65f7278b14d10f12be039df4275fde47f8b0a10e47000000581f0243a30f3f61f32a3ce28086ae4f82940b568ef0e78a35e3fd50ab151b5d18480214ace0bf16edbb00581f024cc37654f3d71be8f5b4cfbadff00cdc8461a034f72c267d14f8a9bafa5e4801109dff6ff802110219811a0369a4cdfca55838981316a5366fe485f77bf898d944f12a6689c71c58ebce245303a399f199a52226e8c03fce7c432d9f68e0e0f9de22c051246d38c1d00d776b44032ea00a8507cfc61dbe36fd2ee720322226a28b382908e950c57e31e43af0ff64035f2f5dadd25f912557f1f930eed04884204f611fc33299feb12a1d40b1dfd1d703fc9b66c501387903a2b8d7f8551a014cd31f76c90dc6e66cab45047f952bb00e038524865cb6a6b35ef6e92cc5f41304cb9577a676bc0811dbd6f34dc3ade8678603d1345c4fea7a3bb73615ccfcb9e21a996ca14cec73416186fc62f548f7d813ef0340377e512e08f6a9ed6eef05ad6a39a94ecad8b02036fd4412d2f6d410d4226a03f0f2ab78274540bcbb15f9af2b8a6822abe7d33818770f05cb746679f2d453d2035f7209612f3a7382008a2b647a8b424d05ead08082a0003a11e96353bf2be98403121413196aa488765e9cf2cd72e34a1acb2ab0473baef0af1c46cacb6ea1786703e39ea24adb56735c62b5fc5deba45e4be6c5075f40abc489b6b66d954d7e81aa034e80e983c3ef209a8bf9dc8c6d757ccef296f799b9816dcc5fdb87cf97194e9f035f49d50953bf143c8d6cf2fa6a4e9cdc48bdf240b589e8c14b615ce56c5c9041037a9513127054845f52e9c4a63ee11b34c751e86a0b2fddbfc6d300468f5dfcf10219ffff03d88d864cbd6e1f7aee6089aa5794396fc7ac0340701949a7afe1abaeabef546d0219ffff0219ffff05581d023689fa1a4adfaebbc285ce9dea92a94ceeabb917a55e3cc71a5f586f07011908400219408803b0cdd9f54116829c0c1e268ed2a58feac554d210ceabd664b1d2dd3e5841e9df05581e0331094758b96d7cebbd150a7082ecac5ea2d9158d5a399b5357b9c7a83008471be00bf2666756031fa119969ab66e96a99731a8e619d1faa9ab27badfc905224c29f114c8ded26605581e0331ea5d2353506a3e1cffff0c7ccfb107648711019080091f7528fb8bc0040103c748410942b81f419678a870c17c03511a08617e344e110e58cab486cf8a17c70219879d03e87297ce448c5f55576d627b717b9536cc9f46111e665baba0149b8e298d7a9003105c53609fb7ce353fa8d3574988591c968717c0121588c5382f6ec3040b4e6f03c795f8d6db7fc8b0197dcb16ecdb553a24ca378f8d6dafe7372b732bae155c2c0391edf07e184d1ee4515bd9cdd9d8c60733e5a1351d0da38949434f8f64c28e890219ffff03c36de177e9d33e49720231fddcc698e2adffe79a6c2514f4100201793fb5b52b0320ecf3d5b17035e28028614cf5e5ae43815539f3590852353d86485761fe19c803003cae7440745582529fe156acc641a57f6244cef9f5aae2da05ae87eb150a4e03378c7851845cbc6723046bd1ba6f2b6f92d8798f6b9f2eee418fd56ac24bb00003a0d5ab49542e431079e56712bc669439f2fce2c8b2aa01ee3df6fffe3f648ac303b5754a570ba9969047de4b88435a68c141dafc49b2ac9de5d9060d87035d380e03a44935da8352c74b84e14a286ee86b4c9f4571b03e9a29e91f3e554fce5f3a210342d121849c400b70a6559b5e8e96e40b37342d1481122913544b22904d35182103c5974d11fc00e4e196fb4e8bfa1f0b98356048eb64436ffec80af9337f6153f703758e1debd011f08bf338e7cca198f7df715ecd8de1279a01f4a2ae09ef0b9c1c0219ffff039e1a24cc7eabc4d54d4e773a909abc97b40fce9c1e47c5937ada87a647f3cdca0329c8f64ddaaf0a26e110feff5f5711214e7f3165eeb3b4b52e3931167fccec7c03f3e29abce5c65e737920a1acc6605ab1790e9f661a8a44e359db61bd9aee4e3c03c10e6dec800f29686ff96567c35d8c672e43f0a6daaee0d93d08f44d04aa78c003e61a033ea287ad306fb633a95faa199f6a8067d402b7b0e2c7a68705556ac4c503ffd66f82adf5a5fd87b6a09bb0dfbe33b6aa03176981c71329b0b4b3e747348103e644effd1f8f7d6617a3d292267dbfa76087c012f78d7cff0baf14bb3682900f030efa9859ae35e1e46ad215c00ab928036c305312b5244ee797fe09cbb061a80c03e3025329dc75cd6868cf4c727bd8b731158f3771020066979b30c5645e2b072d0219ffff037cbdb4bf9b5db6797cfd3cfbfe62f0d77250075ccb291c7799be822e3729a7ba036a1011ca21ad84df023714d9a9e04903262205e13487f5738e801d404ef5629e031c9a646db8365b97fa1255001c3025f72731fcd00924f58a2b04675d2d7182a3034780ad4de019266a24464447086e57aa859e3a6a51ec61331c5d03e65796e7af038a2cf42a4302128c3e65533dea571c91634005987b2dab3980752bac2bb6f90603cbaca8fe726bc503ebbe61000d4924898cb04e42dd06d55ce96ac40d3cda5dfa03b665949ef3f8067f96a730298f75be715812bf6f5b0ae92683578eaf5929f4ea038b0be55a68b1f887e6bcde6e2f315760f1fc3738265e1996e7beba5ffab98212038eb21388e034ac82684a4d23800412631084cd435eed184e59169664d0c1d3c10387db5044d3ff75b81b8636be7fac603fca83dc1e9cc1a479686f5b624102a2f903f30fe524e85bd4cf024ff47af0b8e3d4541190ed53f050cbfca781dbe2f4ad9b03a94d4c9516e33d4c281e3841632ca584c0ae22aa875dc47b5f8ca42f430ea81f037500d9a53db89fe5f68dadce3c34ad949ca2ee9cb20fe054ad27ae48c6d2c32b03246e01752f2280b8ebe868d42b843eb58bbc7b2309237ab54ba9c693570d40d203dc3fbc6abecf44322c9b17ef025d0ba72652cbd25e3dee8fdac39ed1afef53c703f97e91c0b22752e6f77185908c38e872b4fbb85eca0153d7185df2593724ff880343a17037f4f6db8833259d2d18af77c85867bdde18e2016c321d74ef52c50e53031b2d566ace8f5adc783d47d32b210752e5ad0ebcd502bb93f84c932616bcae8503542f32a4c4622e24466aae8959bd1694eb74a36863c564151ec7310aabe0930103a053730d5b824b788a5a85a3c1e271814a26a582710a1614ffc1ad628e1a902503d43aea3c893cc8371f890bc0acd7adf18f52d6be9678605375465a25baf6a3ec03afb3137b8e44e4deff025ff49273fcc75aef0145939569c3034671cb593322fd03d93a9d3c90f6d8491a400917e8500e6bef0c1054c6f4086fbb65ea3f7b0db8f9031e3e38cfa59616bd7e47a78f61b38613db200e127ed8116673886232fd40c32a0359b0bdbdcdc9e8fe10bdd80f629f41660316226845dd3fd1069a98f8daf4b87203481959310b0ee5de3005e6dec9f8e216dc97103b4b617570239d17090987074503baee0f95cdebb09bc9a81f885ccb4af50d69e58f15366094689a042a42edf01d045941dc608060405234801561001057600080fd5b50600436106106885760003560e01c80638dc433681161035b578063c54b7358116101c8578063e6d3565511610104578063f020044f116100ad578063f2fde38b11610087578063f2fde38b14611064578063f3db119114611077578063febeb13214611080578063ff75eece1461108957600080fd5b8063f020044f14610ff4578063f1113d1714611006578063f22395c81461105b57600080fd5b8063e9a16bdb116100de578063e9a16bdb14610fbe578063ec01952b14610fcb578063ec7373ce14610fd457600080fd5b8063e6d3565514610f02578063e6f0ba6114610f0b578063e826cdf114610f2b57600080fd5b8063d385014d11610171578063d835de061161014b578063d835de0614610ebd578063dd2f6d4b14610ec6578063e47a58d914610ee6578063e6b4d60b14610ef957600080fd5b8063d385014d14610e74578063d6ebe4fe14610e94578063d7c97fb414610e9d57600080fd5b8063ca97f520116101a2578063ca97f52014610e1e578063cecb2db714610e2b578063d3419bf314610e3e57600080fd5b8063c54b735814610d9c578063ca067ad014610da5578063ca24964b14610e1157600080fd5b8063a3c573eb11610297578063adb9875111610240578063bb905c751161021a578063bb905c7514610d5e578063c06fda8e14610d67578063c37a576114610d70578063c44ca13314610d9357600080fd5b8063adb9875114610d15578063b56c610514610d35578063b69b2a6514610d3e57600080fd5b8063a549d50b11610271578063a549d50b14610cf0578063a5b63cc914610d03578063acac98dd14610d0c57600080fd5b8063a3c573eb14610c72578063a4da467e14610c92578063a4e9f29714610ca557600080fd5b806395044c921161030457806399789241116102de5780639978924114610c315780639e15827614610c445780639efbdcd014610c4d578063a0e69fe614610c6057600080fd5b806395044c9214610c03578063961b294a14610c165780639624b2f914610c2857600080fd5b8063909e376d11610335578063909e376d14610bba578063922c317a14610bda57806392bbfd5114610be357600080fd5b80638dc4336814610b7e5780638ec14dfc14610b915780638f46500e14610b9a57600080fd5b80635072c1ee116104f9578063715018a6116104355780637d5ee8e6116103de578063833c7fc0116103b8578063833c7fc014610b3b578063834e91cf14610b44578063878e9de614610b4d5780638da5cb5b14610b6057600080fd5b80637d5ee8e614610abd5780637f5a22f914610ac657806382ce18c614610b1b57600080fd5b806376bcff4e1161040f57806376bcff4e14610a815780637bf1b56214610aa15780637d15132314610ab457600080fd5b8063715018a614610a5d578063729a90c814610a6557806375794a3c14610a7857600080fd5b8063662162d5116104a25780636bb686641161047c5780636bb68664146109875780636bff95061461099a5780636c4a8c1714610a1d5780636e6a943614610a3d57600080fd5b8063662162d51461095857806366ed6fbe146109615780636a8515861461097457600080fd5b80635ca2034a116104d35780635ca2034a146109265780635e71cc7c1461092f57806362e6ba591461093857600080fd5b80635072c1ee146108f757806350f7c2041461090a57806351e9a59a1461091357600080fd5b80633764d26f116105c8578063424e657511610571578063448b77531161054b578063448b7753146108bb578063482a5278146108c8578063489da8ff146108db5780634e47a79a146108ee57600080fd5b8063424e65751461082257806344004cc11461089f578063448883d7146108b257600080fd5b80633bf27cf1116105a25780633bf27cf1146107bf5780633e2aec28146108045780634025feb21461080d57600080fd5b80633764d26f1461079a57806338e692af146107a35780633a6a6ca3146107ac57600080fd5b806311b1c10111610635578063257822101161060f57806325782210146107515780632626b8291461075a5780632e9554d31461076d5780633186d3c91461077a57600080fd5b806311b1c101146106fe57806319de52211461071e578063243a7b941461073157600080fd5b806308a1c3911161066657806308a1c391146106cf5780630ee9a59b146106e2578063118b8daf146106f557600080fd5b8063017193271461068d5780630181de42146106a957806303524005146106b2575b600080fd5b61069660845481565b6040519081526020015b60405180910390f35b610696608a5481565b6092546106bf9060ff1681565b60405190151581526020016106a0565b6106966106dd366004613c27565b61109c565b6106966106f0366004613c27565b6110bd565b61069660b75481565b61069661070c366004613c62565b60be6020526000908152604090205481565b61069661072c366004613c7f565b6110cd565b61069661073f366004613c62565b60c36020526000908152604090205481565b61069660805481565b610696610768366004613c27565b611101565b60af546106bf9060ff1681565b610696610788366004613c27565b60b26020526000908152604090205481565b61069660bd5481565b61069660895481565b6106966107ba366004613c27565b611111565b6067546107df9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016106a0565b61069660c25481565b61082061081b366004613ca1565b611121565b005b61086f610830366004613c27565b60a36020526000908152604090205463ffffffff81169060ff640100000000820481169165010000000000810482169166010000000000009091041684565b6040805163ffffffff95909516855260ff93841660208601529190921690830152151560608201526080016106a0565b6108206108ad366004613ca1565b61123b565b610696607d5481565b60b8546106bf9060ff1681565b6106966108d6366004613c27565b61135b565b6106966108e9366004613c27565b61136b565b61069660b05481565b610820610905366004613d2e565b61137b565b61069660995481565b610696610921366004613c27565b61142f565b61069660915481565b61069660945481565b60c4546107df9073ffffffffffffffffffffffffffffffffffffffff1681565b610696609b5481565b61069661096f366004613c27565b61143f565b610820610982366004613c62565b61144f565b610820610995366004613d2e565b611517565b610a096109a8366004613c27565b608f602052600090815260409020805460018201546002830154600384015460049094015460ff80851695610100860482169562010000810490921694630100000090920473ffffffffffffffffffffffffffffffffffffffff1693919288565b6040516106a0989796959493929190613d9f565b610696610a2b366004613c27565b60a56020526000908152604090205481565b610a50610a4b366004613e03565b6115c6565b6040516106a09190613e5a565b610820611ae4565b610696610a73366004613c27565b611b71565b610696607e5481565b610696610a8f366004613c62565b60bb6020526000908152604090205481565b610696610aaf366004613c27565b611b81565b61069660985481565b61069660975481565b610820610ad4366004613c62565b60c580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60bf546107df9073ffffffffffffffffffffffffffffffffffffffff1681565b610696609c5481565b61069660965481565b610820610b5b366004613e9e565b611b91565b60335473ffffffffffffffffffffffffffffffffffffffff166107df565b610820610b8c366004613f18565b611da5565b61069660a95481565b606a546107df9073ffffffffffffffffffffffffffffffffffffffff1681565b6068546107df9073ffffffffffffffffffffffffffffffffffffffff1681565b61069660c15481565b610696610bf1366004613c62565b60a06020526000908152604090205481565b610696610c11366004613c27565b611fd5565b60ab546106bf90610100900460ff1681565b61069660c05481565b610696610c3f366004613c27565b61209e565b61069660855481565b610696610c5b366004613c27565b6120ae565b60ad546106bf90610100900460ff1681565b60c5546107df9073ffffffffffffffffffffffffffffffffffffffff1681565b610820610ca0366004613d2e565b6120be565b607254607354607454607554607654607754610cc395949392919086565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016106a0565b610820610cfe366004613f18565b6125c6565b610696609e5481565b61069660b95481565b610696610d23366004613c62565b60ba6020526000908152604090205481565b61069660825481565b6066546107df9073ffffffffffffffffffffffffffffffffffffffff1681565b61069660ac5481565b61069660835481565b6106bf610d7e366004613c27565b60906020526000908152604090205460ff1681565b61069660aa5481565b61069660a65481565b610e02610db3366004613c27565b60a26020526000908152604090205460ff8082169173ffffffffffffffffffffffffffffffffffffffff6101008204169175010000000000000000000000000000000000000000009091041683565b6040516106a093929190613f30565b60ad546106bf9060ff1681565b60ab546106bf9060ff1681565b610a50610e39366004613d2e565b6127f1565b606b54606c54606f54607154610e549392919084565b6040805194855260208501939093529183015260608201526080016106a0565b610696610e82366004613c27565b60a46020526000908152604090205481565b610696609a5481565b6065546107df9073ffffffffffffffffffffffffffffffffffffffff1681565b61069660795481565b610696610ed4366004613c62565b60936020526000908152604090205481565b610820610ef4366004613f70565b61289b565b61069660815481565b61069660a85481565b6069546107df9073ffffffffffffffffffffffffffffffffffffffff1681565b610f7f610f39366004613c27565b60b1602052600090815260409020805460028201546003830154600484015460059094015473ffffffffffffffffffffffffffffffffffffffff90931693919290919085565b6040805173ffffffffffffffffffffffffffffffffffffffff90961686526020860194909452928401919091526060830152608082015260a0016106a0565b6095546106bf9060ff1681565b61069660a15481565b610696610fe2366004613c62565b609f6020526000908152604090205481565b6095546106bf90610100900460ff1681565b610820611014366004613c62565b606a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610696609d5481565b610820611072366004613c62565b612b2b565b61069660a75481565b610696607f5481565b610696611097366004613c27565b612c5b565b607c81815481106110ac57600080fd5b600091825260209091200154905081565b608681815481106110ac57600080fd5b608b82600481106110dd57600080fd5b0181815481106110ec57600080fd5b90600052602060002001600091509150505481565b60b681815481106110ac57600080fd5b607881815481106110ac57600080fd5b60335473ffffffffffffffffffffffffffffffffffffffff1633146111a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152604482018390528416906323b872dd906064015b600060405180830381600087803b15801561121e57600080fd5b505af1158015611232573d6000803e3d6000fd5b50505050505050565b60335473ffffffffffffffffffffffffffffffffffffffff1633146112bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161119e565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063a9059cbb906044016020604051808303816000875af1158015611331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113559190613fd8565b50505050565b60ae81815481106110ac57600080fd5b607b81815481106110ac57600080fd5b609554610100900460ff166113ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4530310000000000000000000000000000000000000000000000000000000000604482015260640161119e565b60005b8181101561142a5761141883838381811061140c5761140c613ffa565b90506020020135612c6b565b8061142281614058565b9150506113ef565b505050565b60b481815481106110ac57600080fd5b60b381815481106110ac57600080fd5b60335473ffffffffffffffffffffffffffffffffffffffff1633146114d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161119e565b60c480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b609554610100900460ff16611588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4530310000000000000000000000000000000000000000000000000000000000604482015260640161119e565b60005b8181101561142a576115b48383838181106115a8576115a8613ffa565b90506020020135612d5b565b806115be81614058565b91505061158b565b60c55460609073ffffffffffffffffffffffffffffffffffffffff16331461164a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4252310000000000000000000000000000000000000000000000000000000000604482015260640161119e565b8267ffffffffffffffff81111561166357611663614090565b60405190808252806020026020018201604052801561168c578160200160208202803683370190505b50905060005b83811015611adc5760008585838181106116ae576116ae613ffa565b602090810292909201356000818152608f909352604090922091925060019050815460ff1660018111156116e4576116e4613d70565b1461174b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4252340000000000000000000000000000000000000000000000000000000000604482015260640161119e565b8054610100900460ff166117bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4252350000000000000000000000000000000000000000000000000000000000604482015260640161119e565b6065546040517f6352211e0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff878116921690636352211e90602401602060405180830381865afa15801561182c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061185091906140bf565b73ffffffffffffffffffffffffffffffffffffffff1614611a0457805462010000900460ff1615156001146118e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4252320000000000000000000000000000000000000000000000000000000000604482015260640161119e565b805473ffffffffffffffffffffffffffffffffffffffff8681166301000000909204161461196b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4252330000000000000000000000000000000000000000000000000000000000604482015260640161119e565b60655460c5546040517f23b872dd00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff9182166024820152604481018590529116906323b872dd90606401600060405180830381600087803b1580156119e757600080fd5b505af11580156119fb573d6000803e3d6000fd5b50505050611a9b565b60655460c5546040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301529182166024820152604481018590529116906323b872dd90606401600060405180830381600087803b158015611a8257600080fd5b505af1158015611a96573d6000803e3d6000fd5b505050505b8054845161010090910460ff1690859085908110611abb57611abb613ffa565b60200260200101818152505050508080611ad490614058565b915050611692565b509392505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314611b65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161119e565b611b6f6000612f0b565b565b608781815481106110ac57600080fd5b608881815481106110ac57600080fd5b609554610100900460ff16611c02576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4530310000000000000000000000000000000000000000000000000000000000604482015260640161119e565b600085815260b160205260409020805473ffffffffffffffffffffffffffffffffffffffff163314611c92576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531313100000000000000000000000000000000000000000000000000000000604082015260600190565b611c9b86612f82565b600060b5608f600084600101600081548110611cb957611cb9613ffa565b9060005260206000200154815260200190815260200160002060000160019054906101000a900460ff1660ff1681548110611cf657611cf6613ffa565b600091825260209091200154600583015490915081908490611d199088906140dc565b611d2391906140ef565b1115611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531313200000000000000000000000000000000000000000000000000000000604082015260600190565b611d9a8787876000612fab565b6112328785856132fe565b609554610100900460ff16611e16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4530310000000000000000000000000000000000000000000000000000000000604482015260640161119e565b60408051336020820152823591810191909152611e9790606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152611e6d90840160208501614102565b60c45460408501359060608601359073ffffffffffffffffffffffffffffffffffffffff16613489565b611eff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4532383100000000000000000000000000000000000000000000000000000000604082015260600190565b33600090815260c3602052604090205415611f78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4532383200000000000000000000000000000000000000000000000000000000604082015260600190565b33600081815260c360205260409020823590819055611f9791906135b1565b60405181358152600090339082907f40e6a337f1a78915df745fd02b2ca082e64e8a780a99b8fbb355f64409b399cc9060200160405180910390a450565b600081815260b1602052604081206001810180548391608f918391908290611fff57611fff613ffa565b9060005260206000200154815260200190815260200160002090506000606460b68360000160019054906101000a900460ff1660ff168154811061204557612045613ffa565b9060005260206000200154846003015461205f9190614125565b612069919061413c565b90508083600201544261207c91906140ef565b6120869190614125565b836004015461209591906140dc565b95945050505050565b60b581815481106110ac57600080fd5b60bc81815481106110ac57600080fd5b609554610100900460ff1661212f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4530310000000000000000000000000000000000000000000000000000000000604482015260640161119e565b8080612199576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531323000000000000000000000000000000000000000000000000000000000604082015260600190565b60b0805490819060006121ab83614058565b9091555050604051819033907fa6df9b8f40e16bf37c6f7f7dca55aaf3900a42a82bf36a2be3a2af68d5953f0e90600090a3600081815260b16020526040812080547fffffffffffffffffffffffff0000000000000000000000000000000000000000163317815590608f818787828161222757612227613ffa565b905060200201358152602001908152602001600020905060018081111561225057612250613d70565b815460ff16600181111561226657612266613d70565b146122cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531323100000000000000000000000000000000000000000000000000000000604082015260600190565b805462010000900460ff1615156001148015612308575080546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b612370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531323500000000000000000000000000000000000000000000000000000000604082015260600190565b60b260008787600081811061238757612387613ffa565b90506020020135815260200190815260200160002054600014612408576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531323300000000000000000000000000000000000000000000000000000000604082015260600190565b805460b580549091610100900460ff1690811061242757612427613ffa565b906000526020600020015460018561243f91906140ef565b11156124a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531323200000000000000000000000000000000000000000000000000000000604082015260600190565b81600101868660008181106124c0576124c0613ffa565b8354600181018555600094855260208086209202939093013592019190915550839060b290888882816124f5576124f5613ffa565b905060200201358152602001908152602001600020819055508585600081811061252157612521613ffa565b90506020020135837f8f128424f32a4d6764618308b84307db75f4151f3580608175283d54326fe5a560405160405180910390a360006125798787600081811061256d5761256d613ffa565b90506020020135613610565b608954600384015590506125a3878760008161259757612597613ffa565b905060200201356138f7565b6125b08488886001612fab565b4260028401556004909201919091555050505050565b609554610100900460ff16612637576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4530310000000000000000000000000000000000000000000000000000000000604482015260640161119e565b604080513360208201528235918101919091526126b890606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815261268e90840160208501614102565b60695460408501359060608601359073ffffffffffffffffffffffffffffffffffffffff16613489565b612720576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531383100000000000000000000000000000000000000000000000000000000604082015260600190565b33600090815260be602052604090205415612799576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531383200000000000000000000000000000000000000000000000000000000604082015260600190565b33600081815260be602052604090208235908190556127b891906135b1565b6040518135815233907f7ff7ebd87b7b8106143dae0edea4527426a4fe3c6212527521853e81340e3cc99060200160405180910390a250565b60608167ffffffffffffffff81111561280c5761280c614090565b604051908082528060200260200182016040528015612835578160200160208202803683370190505b50905060005b828110156128935761286484848381811061285857612858613ffa565b90506020020135611fd5565b82828151811061287657612876613ffa565b60209081029190910101528061288b81614058565b91505061283b565b505b92915050565b60335473ffffffffffffffffffffffffffffffffffffffff16331461291c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161119e565b60005b83811015612b24576000608f600087878581811061293f5761293f613ffa565b90506020020135815260200190815260200160002090508060000160029054906101000a900460ff1615156001151514801561299b5750805473ffffffffffffffffffffffffffffffffffffffff858116630100000090920416145b612a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4535313000000000000000000000000000000000000000000000000000000000604082015260600190565b60b26000878785818110612a1957612a19613ffa565b90506020020135815260200190815260200160002054600014612a8357612a8360b26000888886818110612a4f57612a4f613ffa565b90506020020135815260200190815260200160002054878785818110612a7757612a77613ffa565b90506020020135613a8a565b80547fffffffffffffffffff0000000000000000000000000000000000000000ffffff16630100000073ffffffffffffffffffffffffffffffffffffffff8516908102919091178255868684818110612ade57612ade613ffa565b905060200201357f55424963b3051f3e409ce690d992b8f49f563bc54536e3cced0f9ed16089419160405160405180910390a35080612b1c81614058565b91505061291f565b5050505050565b60335473ffffffffffffffffffffffffffffffffffffffff163314612bac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161119e565b73ffffffffffffffffffffffffffffffffffffffff8116612c4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161119e565b612c5881612f0b565b50565b607a81815481106110ac57600080fd5b600081815260b160205260409020805473ffffffffffffffffffffffffffffffffffffffff163314612cfb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531333100000000000000000000000000000000000000000000000000000000604082015260600190565b6000612d0683611fd5565b426002840155600060048401559050612d1f33826135b1565b604051818152839033907fb411b44bd5c76eb08732ef9d1c023d5ef94e6c9b292801e07bcae2af5e4a860b9060200160405180910390a3505050565b600081815260b160205260409020805473ffffffffffffffffffffffffffffffffffffffff163314612deb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531333200000000000000000000000000000000000000000000000000000000604082015260600190565b612df482612c6b565b60015b6001820154811015612e77578260b26000846001018481548110612e1d57612e1d613ffa565b906000526020600020015481526020019081526020016000205403612e6557612e6583836001018381548110612e5557612e55613ffa565b9060005260206000200154613a8a565b80612e6f81614058565b915050612df7565b50612ea181600101600081548110612e9157612e91613ffa565b9060005260206000200154613b61565b600060b2600083600101600081548110612ebd57612ebd613ffa565b9060005260206000200154815260200190815260200160002081905550817f09698112a550dd9c01c2bd871ca714f89914920cedcfeb00905d4de747159a3360405160405180910390a25050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b612f8b81611fd5565b600091825260b16020526040909120600481019190915542600290910155565b600084815260b160205260409020815b838110156132f6576000608f6000878785818110612fdb57612fdb613ffa565b90506020020135815260200190815260200160002090508060000160029054906101000a900460ff16151560011515148015613034575080546301000000900473ffffffffffffffffffffffffffffffffffffffff1633145b61309c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531333500000000000000000000000000000000000000000000000000000000604082015260600190565b6000815460ff1660018111156130b4576130b4613d70565b1461311d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531333300000000000000000000000000000000000000000000000000000000604082015260600190565b60b2600087878581811061313357613133613ffa565b905060200201358152602001908152602001600020546000146131b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531333400000000000000000000000000000000000000000000000000000000604082015260600190565b6131c986868481811061256d5761256d613ffa565b60028201554260018083019190915583018686848181106131ec576131ec613ffa565b83546001810185556000948552602094859020919094029290920135919092015550805460b480549091610100900460ff1690811061322d5761322d613ffa565b906000526020600020015483600301600082825461324b91906140dc565b92505081905550600183600501600082825461326791906140dc565b9091555087905060b2600088888681811061328457613284613ffa565b905060200201358152602001908152602001600020819055508585838181106132af576132af613ffa565b90506020020135877f8f128424f32a4d6764618308b84307db75f4151f3580608175283d54326fe5a560405160405180910390a350806132ee81614058565b915050612fbb565b505050505050565b60005b81811015611355576000608f600085858581811061332157613321613ffa565b90506020020135815260200190815260200160002090506000600181111561334b5761334b613d70565b815460ff16600181111561336157613361613d70565b146133ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531343300000000000000000000000000000000000000000000000000000000604082015260600190565b8460b260008686868181106133e1576133e1613ffa565b9050602002013581526020019081526020016000205414613460576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119e9060208082526004908201527f4531343400000000000000000000000000000000000000000000000000000000604082015260600190565b61347685858585818110612a7757612a77613ffa565b508061348181614058565b915050613301565b600080868051906020012090506000816040516020016134d591907f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600080855291840180845281905260ff8b169284019290925260608301899052608083018890529092509060019060a0016020604051602081039080840390855afa15801561355e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015173ffffffffffffffffffffffffffffffffffffffff9081169087161494505050505095945050505050565b6066546040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015260248201849052839216906340c10f1990604401611204565b6000818152608f602052604080822081516101008101909252805483929190829060ff16600181111561364557613645613d70565b600181111561365657613656613d70565b8152815460ff610100820481166020840152620100008204161515604083015273ffffffffffffffffffffffffffffffffffffffff630100000090910416606082015260018201546080820152600282015460a0820152600382015460c082015260049091015460e09091015290506000815160018111156136da576136da613d70565b036138af5760a08101516000848152608f602052604090206001015460ac5481101561374f57607a836020015160ff168154811061371a5761371a613ffa565b90600052602060002001548160ac5461373391906140ef565b61373d9190614125565b61374790836140dc565b915060ac5490505b60c0548110156137a85760ae836020015160ff168154811061377357613773613ffa565b90600052602060002001548160c05461378c91906140ef565b6137969190614125565b6137a090836140dc565b915060c05490505b60006137b482426140ef565b9050600060c25460bd5460c1546137cb91906140ef565b6137d5919061413c565b905060c25482111561385c5760028160c25460c2546137f49190614125565b6137fe9190614125565b613808919061413c565b61381290856140dc565b935060bd5460c2546138249190614125565b61382e90856140dc565b935060c15460c2548361384191906140ef565b61384b9190614125565b61385590856140dc565b93506138a4565b6002816138698480614125565b6138739190614125565b61387d919061413c565b61388790856140dc565b935060bd54826138979190614125565b6138a190856140dc565b93505b509195945050505050565b6087816020015160ff16815481106138c9576138c9613ffa565b90600052602060002001548160c001516089546138e691906140ef565b6138f09190614125565b9392505050565b6000818152608f602052604090208054608780549091610100900460ff1690811061392457613924613ffa565b9060005260206000200154608a600082825461394091906140ef565b90915550508054610100900460ff1615613a7f578054600090608b90610100900460ff166004811061397457613974613ffa565b8354910190600190608b90610100900460ff166004811061399757613997613ffa565b01546139a391906140ef565b815481106139b3576139b3613ffa565b60009182526020909120015482549091508190608b90610100900460ff16600481106139e1576139e1613ffa565b018360040154815481106139f7576139f7613ffa565b6000918252602090912001558154608b90610100900460ff1660048110613a2057613a20613ffa565b01805480613a3057613a30614177565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908101839055909201909255600480850154938352608f909152604090912001555b600060049091015550565b6000818152608f602052604090205460b480549091610100900460ff16908110613ab657613ab6613ffa565b906000526020600020015460b160008481526020019081526020016000206003016000828254613ae691906140ef565b9091555050600081815260b260209081526040808320839055608f82528083204260019182015585845260b19092528220600501805491929091613b2b9084906140ef565b9091555050604051819083907fbf29afa7b80118742f9b6f15e4a2f6ae38b0dc246732b5b2bdde209326c7dfca90600090a35050565b6000818152608f602052604090208054608780549091610100900460ff16908110613b8e57613b8e613ffa565b9060005260206000200154608a6000828254613baa91906140dc565b909155505060895460038201558054610100900460ff1615613c23578054608b90610100900460ff1660048110613be357613be3613ffa565b01546004828101919091558154608b9161010090910460ff16908110613c0b57613c0b613ffa565b01805460018101825560009182526020909120018290555b5050565b600060208284031215613c3957600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114612c5857600080fd5b600060208284031215613c7457600080fd5b81356138f081613c40565b60008060408385031215613c9257600080fd5b50508035926020909101359150565b600080600060608486031215613cb657600080fd5b8335613cc181613c40565b92506020840135613cd181613c40565b929592945050506040919091013590565b60008083601f840112613cf457600080fd5b50813567ffffffffffffffff811115613d0c57600080fd5b6020830191508360208260051b8501011115613d2757600080fd5b9250929050565b60008060208385031215613d4157600080fd5b823567ffffffffffffffff811115613d5857600080fd5b613d6485828601613ce2565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b610100810160028a10613db457613db4613d70565b98815260ff979097166020880152941515604087015273ffffffffffffffffffffffffffffffffffffffff939093166060860152608085019190915260a084015260c083015260e09091015290565b600080600060408486031215613e1857600080fd5b833567ffffffffffffffff811115613e2f57600080fd5b613e3b86828701613ce2565b9094509250506020840135613e4f81613c40565b809150509250925092565b6020808252825182820181905260009190848201906040850190845b81811015613e9257835183529284019291840191600101613e76565b50909695505050505050565b600080600080600060608688031215613eb657600080fd5b85359450602086013567ffffffffffffffff80821115613ed557600080fd5b613ee189838a01613ce2565b90965094506040880135915080821115613efa57600080fd5b50613f0788828901613ce2565b969995985093965092949392505050565b600060808284031215613f2a57600080fd5b50919050565b6060810160038510613f4457613f44613d70565b93815273ffffffffffffffffffffffffffffffffffffffff929092166020830152151560409091015290565b60008060008060608587031215613f8657600080fd5b843567ffffffffffffffff811115613f9d57600080fd5b613fa987828801613ce2565b9095509350506020850135613fbd81613c40565b91506040850135613fcd81613c40565b939692955090935050565b600060208284031215613fea57600080fd5b815180151581146138f057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361408957614089614029565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156140d157600080fd5b81516138f081613c40565b8082018082111561289557612895614029565b8181038181111561289557612895614029565b60006020828403121561411457600080fd5b813560ff811681146138f057600080fd5b808202811582820484141761289557612895614029565b600082614172577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220bb23ad1225a2ae4d323364a403244b0485ec995536b9d50915f6543d660c725764736f6c634300081500330605581d033ea20e2a3aff318124db2189de54700428374dad7ab1813d6b0e4d6007011941dc05581d03883788f98b179cf8574a7ef6485036ec8b37ef56b03d29156ce5c1b00c044603ad19f9640002184105581d0245c1d46ce34aa8393c4b41965876b03151a98b4d85a69e4cfe06f83e040102183005581e0370727133f6c506fff4adf5958c49685402ff2bccafaadfab830780a7700c014709a265d2a7ba0005581e03ece6757d6703b5371da6d51ebd936fd3b79684e5318d7aaf1471415b700c01421000037f34face43ae9d2c3d447782fd9bb0274c9961305038ce169ec865e82886407205581e0388f550c624e41f60b449b47356549e4dddf57100da2957fc597ba2ae200c0248024d3e97559e550003b25b3beffa9ca9ab48874f70c04ad92594265f76cc8d358d3e11b55cd992c58a032d4b17ab850f8de6f6854423be4d50430c2e12059ab4893bdb198ddbaa483ff50391a40cabd0d560fad8e6d3e91ea6cf5f80fccf9a76774800fcac2583d50bae9303534f173680c7cfa82710a4da504f0c90e2ec09d8ad5fea6b4f77fabed878064703e9259b78f4b61af7e0659722db39b5f4346689453d800ff9e2b9134e2f30c86901410905581e038f0a733329208f6b23c433adcc816be1cca45ec7f17b9387e4e7af7920040105581e033a6855d4cbe9767fc974a032e4e7ba215f0f4f9ea31c0325bc92062e0004030219eebd03ad6fb7c7a447c0f5cfc197a1296304398c7c55c9e43b1c93fd5b7b3658b300e203a461a186c5ec2cd867b2b548e76297c7bc78ab6f25b8a5c4f2d1fcd66c2bbb4b03b31ed80b84c2017e727e5ccfbbc9cdf5d34d2eddcb5d911387099ffd44822adc0219ffff03d760279ecae789df83cf647854036d8fb0e0c494fb9d79c0c379fdc562b6bf9903143779611e72f6a621afbb05b5025aec470b4d63c0f750c4c8fce0bd0a3a5989032aa55c423bed0bc538f9134bb9c83abe01cddafef214cc7bc81e426a79c294fd0388fc2262d63b6251ba5840f3730085fc4580b983f92d69f82cb73d11d348c92303666e46372b1e16ea2868d80668900907678f0a25b2de89e3314eeca7633e071403aa0f9abe68ca8fab2dbdbd00a9b135516612f28b56c543759374954f9ea0fd4003512be80413b50159f98b743beb174560f36477882ab082d0d1f195b6a8f8e3c203164800235ae3e984505ba2c745e25f53aa91e8016ca8d93d5cd2d33272896a8303440f825db682d88566f96662ec77bcb990e658abda977e96841bdc0c99e706810219ffff039500e1fe7b7955649497f9f8f099da547a0e5b894a841e763c2e475d74b1cb930323ad5acfee25e44d08c892f221c90c24b4e80886098d48b8d70ed8c148b82b4a0346f8083ef3532d0e9c3575373b32e51026d30727bb2151fdc3112b365f18fd9f031aa9fef00348408404c4a0911c10aea8991392a725b7e526b8fa3a3fd64a0601033706ad636b0b89b1732735cc69feec58f5fa343b7f34255ab90352f61795c3d703e78b2171286c2403da25afc950e009ca7e726038af94b40394377b37bf68275903600f66179fc6e9b28e62146ac369a508d35600930959f9e2e2ddc352c48e838203ddaded7709a0089bcea5627949641808db1df11d3729460e17ac8d11e3fdaa610336254db6be8065ddf3763abf95a5abdff0d0c8d60f52c1e819a10358b0a919e6039a6f5c0d102aeaf0727ea925ec081cfca3ebf984be53e47904d3b0e8fed1adb90219ffff03a90c9a3abb1e5be655a7741eca66db1d6e4b36ecb79e4caa1367e33fcbea54cb037db66a2a9ffbf48263631887abf9793d2e52cfa6e96c166537a8fcf7835d0fd303c3c0c033978213bfa58d7b7e075a7f3c54bae331e8373bca752e9979ce2ae44b0219ffff03ae09e7165f7205c70c4b1bbd60099b5ab4e09154aa466e90ae17385bc277e077030ee3e3afcb13149ff8c1f8f64c63c588a3a4fcdc49590bf30a6161f9938171b103a4abe537d98e15b0bce29bad5021781cca7d763a42af107fd6db299a789b644e0348100c1deed61efbc08053cfea0dfd2f7bc3c4c0aeadd61bd119bec555f48d54037ad3cfab51e72f32c4c4a13c4067afd4a7a2d3dd3a82664eaf6aaf31c31f1ea5030b8668a6b914b066e901b0c6ed9cfa3cc67e6418f88b8b836c043711a6eb1a3d03a1b1aac223ad96fa35791dfd5e47f8f7c77b4b42ac9b5aa05014169bfb06d3a203dd97759377ad7c272aaa9b2795fadbec41a471c5815d5f16f6ba8f9a968c411703a92a5bb7958a73ece89a13b17e6df0823a228290b7643611694e359076401b55037773140fc51f9b13af35fee6d8a27cfbbc9ede227e4f6b822c916ea08a54db6c03e6fe7e160784ce526aa1aee148420a4aa9c7d30f2fe39a089d252683f364053a0306203c490dc1a853b11970bbb40e8f1e8554dc414f0e066a30aeb9078c34cf94030799d42ac255ec237f289d9cbf75e37ac15e49f7fb9f37bafdf79c06c2a9ed9103dd67cf1733a3d60424aa18eeb9d7b0e9cace4735fb776297b553a54bc15064c003a136ebd62833d6fa9f33e9cf673a02029a5a3f5326fd107a3ee54a3f40e60ec8038cebaeb5b84c61afabbb0d2e3e858e2b18d2fded4764497c6f69c33f4fbb28b7036fdf1250838d5faffa8c2e816022f7b3ef4c69f2d64ec10ea556404229e1663003d4c01e96671c52793f9f2040b66112f24ea4ba7a8d42ed7904a2a4797b98be80039eef5ced31180a409d74c0145c9b331beffc57731c9ab5846ca1b85b4127529c037ad42cbf3c241c01bf5c2b9f18435e7551b2dd12bfe5b2ab36a411c3b9980af50310bc1fc65018ea73d82f496b9cc66ce56c2250d14286e749c234e033f41803c2032933dca70412593cc8fbeb31e0461a0081495fb9f2953aac759bd0e0578684a303a1ae0a215d12b32e2b78dca0246fa53654c3d22732c2a535520971defc1a306e03acc3a7e7deeefe36c9a677938b5fe9ce16bed2cd1507df53e26de04a08d40dc305581e03d3d2c1b997df3e91829f2a172d97bb89a6d1dbfb7a6d1092ab12f434300c024701a2ef2f6131c805581e03aac2d87951865cfd4a6378476488d679ac6da4404372153d5636af74d00403038935e73b45f1d757d1b3755f5a3a78cf797081ed861167ab144ec68a0682434403dc5ef0b0c09857447cefa10c5f57edf0c739243f393dbd96b3e7001b95031f7b0338f8ebfc57eeaf21ff35d7fcb412eeeafbbfe260e199df9f2b4315396d54556803f0957ae103eca19713bedf525730303057b219b73d048a09d3f0ef6c78b60c4e03d5ea6fe9c380cad5b25011bea0ba75e9cc37e1fda94cb98bfb42693e51ddf2be03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03ba9f86eaaa0b1fe468706b2a70ee67186f405a241bc2100749ec19274007011bffffffffffffffff05581d02cf9baaecac257535e7ade6ae221641d218ce99d4b1688f3e45a8e2ac040105581d02a2c075aa10516e5506bdeb3ec99c2e4ff01f73ddd38b4659a9f2b2a60c014745daa5b9fe96e005581d021104a273f272e916b3a26febf376d1f8d6604dd6e9cd2d8436778cab0c06476b9a4bec9ca58805581d02d96c5b80eab7549b87f035cd9124d4695c2355aea6b7322102c5884b0c0247015083569120000219110c0332aa1d5b864b0a4ce3eeaa6b8af6ae4c4fcf191b0add84893d91ee186feb330c0605581e038049d2b2ae0ac0bda28f27abbaeddf9b62a01cd20d61d6586cb3fd6c4007011bffffffffffffffff02193d9e03a9d3f0c26397f707b1b98a8745d0da30fbc8c1b9490b5799f3fb70928bd7a5d303e7f1919dc5c7b1e628c2c13efbae77d06757323ff3bd20efde903aa04ba3015e03b52ce7fa8fcfd583aea325f9a91648b9721a7ce631a1f7f09623399ed6f535a90219ffff03471f8aabcde811ad0cf3c4d688de17aa29d112d1327e674a076710868549f508035bef366b01fac9692cff5aeba1865a2f4e433217dfbdc539d926e64bbe8403b80324d389d29f5d186401a3ee11acea740c64916a116022c714e453291be994b3d20332a9355efeec99e16d124ae84a937685b3c08ae0b28624ba35e731528fa14fa403642e682aa630f47085bf03a2246efad835bddebd5606bc3e241c519f35eca0e803b0d63d7f4bdf2a8862abaab2b035471c6629d909653fcfe25be82a7402fa2b5003c7bcadeeb3a34483eaf1b20f33e8f871f9b5f62a97dc0463828f656d96a52285032d728ac8813cb0b3296c44ff3da03f238aa691cbdf9de5021da000fb9513d00c03e300b5b7692a72601e68542344ad649979399db57c211420f0076f3ff662f96903047ae65a8989e9e193ffa9824953f6940913e79ad9a7884352e9cd230aa0ded403ef7a77d92ed1d40ca0b74de94fb20dbf940a77aa81286456d67b24c660e3dd8e035e0993b3b805967f074e5ec7bd4e19507823ab493235e98a2adb0034740cf709036eb67718cb15a1ddc3b5d4ff331881ecccfdacbafa9d0ee11569916b89beb5a50219ffff03dcd98f50efabf5d66846933e51f6b4753eead0f0f170e5957897fe77bdfcac65032aaf1696697ffb91d7c950decc834fd50a4ebede8794f6779120e015ba67874c03a46a78fc6b5570304eb238a4ec7a5adef95376f381a6aec34be785f977688ff0031d32e9b2702b5cab49fe97f2859b315d92e20257592fbbc635271f3c71b32b93030836f687147cf8180cd281abef9c86f358f4332283bf8686eeab2fa435cb8e510219ffff0348b63b4106e8a9bfd9f2377a29225d37fcb587a1d1071bde97fd8aa4dc61fa6b03deeadd9c6be223e06b9d08be19d800f567caee796fa684e5d7b7b5e75ee23c6503a4b16892dbea5c199f47a32ba32dad22f6eb044136dca9eb6e3eaa424a8d53c803dce681704ffa2c02fbf7de816ee23feda71a6e8e00f00e33b510cdddf3d4aa98036f743f63f4fc96179844f1371e2f0c0468fadb58df3b8ae3262c878f8d78b2aa030aa4d6590c627f7e98baa1ef1c233d92682423b362db6eda9c1239c46471dcd003ff84f465a563e83e721dd1a5703f4757b6fa740459332f00b190880136999b2d036778d93dfb69f4a7b2b25f998eda5d2c767e4fe6d878d80a1cae111c7adc800e037a1b9350066b2da3754f26593bbb340feaed300f7666efb0b76c57bfc520e7df031e2e164bf95b22f1065fe796fcc6a26bf15e60f111a5154cc6a82ba140b62f1e030c09e0656161925e0c13ea9b6b612c78c41633308d5877a85732e1eea7626400036621403d7ec9bc3072f1e48cbe0f349861e407e2a270b6ec3c32f2b4725c04d103cae4a75ab9c11e18d634c608744026b3c8aaa81b48e2d1e6ce965cf8ddbedd26035f14bd1c86a70db3fba7d8b43a915d3584482dcbb91d568539b25812c7f0fce703af20a9a0f47cd04495c0985f71b3736ca999dd79f0f8a9f155c10cbe71b7049103601c15ad2397ad4b86a44c4636d1858dbab35e3f55e61f27af0e457dc75b471903c0cbf9509dbc17a1fad48b470501ce43b73e5f60bf310ee1f4e71aeac095f38c03585fa39557f34dc859f1b8a74042416bfef4a3b3ab6a03f991cb00ba207f57c3032d3559a8f3a76127822b2515290108fb447db2919312b87ce26cdd2c697a88b503fdcf7ac6b69d7e74a35cbbf7d6de79524a276452440a03d38555067b9fc50a1903629ca1212a8e30c1600041c81d8c841516a41a9c4477f35ad234a88b3cef7ff0031f334042d292170af5894063158300899aa6f5baa2443a7f897eaa0660baeafa03da71fe0ab53116ac96a6e0b150235667990627e8b6e53934d7593103c685118f03c538e71f010c1aeca6fdd6fd4e51a58e6eda11f1face6454819e25c37b036a5f03f1cb55f3f94ca257cb1c55a925b3847d2b084de06b5f1887701538334423ebcc03d8cb7328f7d2900ae5d744639b89ed7a7a5648f77644a5fedd887e230a7aa952032c269223be03c027ef1dc8c99a1d87ace934d66f0156eea56b62054e866b6fff05581e0307598c567266bd5d114ec72d8d0023a63af2b7b318a7d2730f04d575100c04467a9be04f9b5505581e038f520e3248cb64d6599fa532b726e70ce7a2364c2397755e45efeb5b500c04465cc46eb8feb804591095608060405234801561001057600080fd5b50600436106100b45760003560e01c80636924500911610071578063692450091461020d578063957aa58c146102175780639c52a7f114610235578063bf353dbb14610279578063d9638d36146102d1578063ebecb39d14610346576100b4565b80631504460f146100b95780631a0b287e146100e757806329ae81141461012957806336569e7714610161578063495d32cb146101ab57806365fae35e146101c9575b600080fd5b6100e5600480360360208110156100cf57600080fd5b810190808035906020019092919050505061039e565b005b610127600480360360608110156100fd57600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506105bd565b005b61015f6004803603604081101561013f57600080fd5b8101908080359060200190929190803590602001909291905050506107d7565b005b6101696109dc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101b3610a02565b6040518082815260200191505060405180910390f35b61020b600480360360208110156101df57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a08565b005b610215610b36565b005b61021f610c27565b6040518082815260200191505060405180910390f35b6102776004803603602081101561024b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c2d565b005b6102bb6004803603602081101561028f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d5b565b6040518082815260200191505060405180910390f35b6102fd600480360360208110156102e757600080fd5b8101908080359060200190929190505050610d73565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b61039c6004803603606081101561035c57600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610db7565b005b6000806001600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359e02dd76040518163ffffffff1660e01b81526004016040805180830381600087803b15801561041e57600080fd5b505af1158015610432573d6000803e3d6000fd5b505050506040513d604081101561044857600080fd5b810190808051906020019092919080519060200190929190505050915091506000816104755760006104b1565b6104b061049461048c8560001c633b9aca0061100b565b600354611037565b6001600087815260200190815260200160002060010154611037565b5b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631a0b287e85836040518363ffffffff1660e01b815260040180838152602001807f73706f740000000000000000000000000000000000000000000000000000000081525060200182815260200192505050600060405180830381600087803b15801561055857600080fd5b505af115801561056c573d6000803e3d6000fd5b505050507fdfd7467e425a8107cfd368d159957692c25085aacbcf5228ce08f10f2146486e84848360405180848152602001838152602001828152602001935050505060405180910390a150505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610671576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53706f747465722f6e6f742d617574686f72697a65640000000000000000000081525060200191505060405180910390fd5b6001600454146106e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f53706f747465722f6e6f742d6c6976650000000000000000000000000000000081525060200191505060405180910390fd5b7f6d617400000000000000000000000000000000000000000000000000000000008214156107315780600160008581526020019081526020016000206001018190555061079f565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f53706f747465722f66696c652d756e7265636f676e697a65642d706172616d0081525060200191505060405180910390fd5b5961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461088b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53706f747465722f6e6f742d617574686f72697a65640000000000000000000081525060200191505060405180910390fd5b600160045414610903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f53706f747465722f6e6f742d6c6976650000000000000000000000000000000081525060200191505060405180910390fd5b7f706172000000000000000000000000000000000000000000000000000000000082141561093757806003819055506109a5565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f53706f747465722f66696c652d756e7265636f676e697a65642d706172616d0081525060200191505060405180910390fd5b5961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a4505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60035481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610abc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53706f747465722f6e6f742d617574686f72697a65640000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610bea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53706f747465722f6e6f742d617574686f72697a65640000000000000000000081525060200191505060405180910390fd5b60006004819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450565b60045481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ce1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53706f747465722f6e6f742d617574686f72697a65640000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60006020528060005260406000206000915090505481565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e6b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f53706f747465722f6e6f742d617574686f72697a65640000000000000000000081525060200191505060405180910390fd5b600160045414610ee3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f53706f747465722f6e6f742d6c6976650000000000000000000000000000000081525060200191505060405180910390fd5b7f7069700000000000000000000000000000000000000000000000000000000000821415610f6557806001600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610fd3565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f53706f747465722f66696c652d756e7265636f676e697a65642d706172616d0081525060200191505060405180910390fd5b5961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a450505050565b600080821480611028575082828385029250828161102557fe5b04145b61103157600080fd5b92915050565b600081611050846b033b2e3c9fd0803ce800000061100b565b8161105757fe5b0490509291505056fea265627a7a72315820b20103aad12e7c2a10372688d31c070bc7aa268459f8bc3a58d4298c7f6bdf0964736f6c634300050c0032036b28804bc07e4be2bbc72ea762a327559bee21ede0a4711f5b28949f92bf4baa03fbcd0a7dbff66347af658ddf395f5ef2e1f9978c72aeb55e947739b4e18d685e03d966a2c872c1fe3bb846a7a668696c80000761826ad672a00ef9b66e00b3b10d0367ab3f1861ba4e64f6f7f97c33fc3ab122922b93e4c2789d9b1b878af1dde88b005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5435d1b3f3d7966a1dfe207aa4514c12a259a0492b005820029cfd501e795d7d49c0d1a69914c39fc1ec129f1620cb403a161333142fcdd554f185d0682d50819263941e5f4eacc763cc5c6c420305b30db6316dab9ba1d1007fa0a8d16415c4c2a10df73006bbea7e0266294ece0058200298aa8742fe7d597912ba838bc751ae5eadf60ea84146b23aa2bc5c7f4938e7544fa7c611bd25da38bc929c2a67290fbe49ddff5600582002c88f5ca55484496da4164cc249dca0d3a69430f64ce674b012f24ef509d2294d0169e43a85eb381aa580000000039c55195c9ac42dbab43f80ae053f73af2b72b1153fcc213da4b7cbc682ab872a0058200226f77a8e2beba92c24fcd4cd4dab6a5b903988a335f3044cd505ef70ed0d32545f6dd5b421b8d92c59dc6d907c9271b1dbfe3016005820020f1fc399cad0dd660ea84d67b49f8e6187ce56f4a63ce1e806221319e88d454d01431e0fae6d7217caa000000002191a9b030c05de02302e960a858930208fd69ddeaf1acba3ab35a4246cb48325979f85520392ff14a3b793bd06288d5895d728191dbfa1ec724c5e3590cf8ef2b54fd98a130307044c7d7853269f6823ce57b9368ea8e8fbbf5d4e57fee76e335fc04a47565000582002e35cef1d4616c5ce12368e3b27f8ab0410fd6f5051e666b25ecbfdbd555e124c0b4f21d42f59c0d52c0000000058200294f235a64f14829517f86c17c941c9fda59bada209ad249a94d5aa591cc1ae4c409f9cbc7c4a04c220000000005820028c733ddbb3dfd3e32591be03558360fb1c94de836a662810c6b7fa86d8d7ff4ca18f07d736b90be55000000000582002de48e30b27f8ef7d8c4d59583155327370d88fd3afb388f6cfba25cea7795154d2473237e20bd52f8e7ce0fd79403a6a82fbaec80058200224e8b7bef2ece41d238ac37847715dbf0ab10847c4c33c0a6aa680732e42c654ee7f0b350aa119b3d05dc733a4621a81972f7d47036875e5ee53a41c55492a596352e9af322f285814bea6373bd05900d6fddd689a0058200291570ec972b07eb0a9498f730f3e1039fc63cc390067b832839545ae4da7c94c038de60f7c988d0fcc00000000582002d069af6bcd25ca044d3176a316771dc56d296e36cb0455b639582cfda90d0e4c04af69718154b9f1ea0000000058200272ae7c2ab07b83892cad186b6719c28809e8957d4cb34106523259a48302024c034bb966cbf882cd7c00000002199ec600582002770d9ce7490dbeae5061e00820e593e84e94cd4c1ca2659d0376e17bab04d1545f122465bcf86f45922036970be6dd7f5882021400582003c4674338e9daa1824866c760a3e66b9f918caa338c4c99771bbb5e3cc79a7054f363c7e351c96b910b92b45d34190650df4ae8e7005820032af6495a6415c4de23f710cdfd13b89082a44b6b353792d53e7c0fa75bc6b054ccba43231ac6ecebd1278b90c3a44711a00f4e930219100200582002486dd037ca7e3292aa4a0d51f9bf0db5b9b1a5f232c377f0cff8649a4f9fa74c3077b58d5d3783919800000003d14de4b5b0b4822a9180d98e97387bd76efa1d8f56ea17a86b0f53c491b69625005820022e55ce1065cb6a1fcc94490cfbe2207185ea405199ca55c13e3a8c7a41fb5854f751f24dd9cfad885984d1ba68860f558d21e52a00582002647d6c8b51623d625d8c098f5ad8a5058e2d5320036b6c3127d021d350926654f185d0682d50819263941e5f4eacc763cc5c6c4200582002d6295ec4f87d2b786b8d70c2fa01554ec6520c7fec164a0b352f8baf26ef0e54634051fba31829e245c616e79e289f89c8b851c20219286b03530cd7a61dcf7486f2975359f7a20bb06bc674db5745d6362895d7824842d6940357adf554f7e3b1187fe41e0991ab9e3d9e34f323868584a557a7c81a05f455530058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b04c033b2e3c9fd0803ce800000000582003a9a7dbae975c6007a5126630844ddd4e71a3c4597b8fe53c1cb966198768b054fbaa6a09a39d485a5be9f5ebfe09c602e63b21ef02192020033df3198342601cdaa65229b3c74ab12c9c20fce73ba2ec47dc244de46f0fc11a0058200208cb1361948d2e3fc622c14701c93f3dd775a73064901c46945868191a9d5e4c33b2e3c9fd0803ce80000000005820022c15f046b1e6ea52c0eef50c37a193d0cac2fe186ba30b0968e99878bb4f36548e6039c558738eb136833ab50271ae065c700d2b03f5c9b0c11b1233238ff101cdd1bf3819b9ad54c3b515efb7c16552efa7cf117a00582002c2c141be37b75b7a6ea4ffe957638e570525094a15281279c00d3983501a7b547a5918670b0c390ad25f7bee908c1acc2d314a3c03095291de6aa52c6aa131ac489f71cea3be958a3d84153d2e2e1371f7ebb67bb102193a9403fd6dcd3b2c6814c8360d00f1c41c9e0afa892542040e567ace14e9a8a2c370df0317afb965b075d7c7c72399aee694f329d3714d35db99bdb18ecd2fc754cfb59703fa009190c1c10b7806ad3ba3b251e6ffef8cdfc45eb66d955cee8137ff01345e0219ffff05581d02f807d3e8854262cdf1beb835cc69d9a51136d288091ef13bae07f002070119109505581d02cf578fa9d96a9e95c8bcc253c2b8b2be4852efcb3c2b7085e160fd1a0c034745003351757eb0038a67fc5035fb300df0dbe6e1d9a648c6cf4f15512dfe66a6a1e7efd8d6d4f76d0605581d0242a1aeaffea00c2f1b7be1ced3eecc32b7164e96f584b03f08e922da07011bffffffffffffffff0219082103a77db31f31ad301487ea8f76c639f41996a0ae0038fc387cd6c79fc8d38d96fd0376f9574baf3f2e66b04ada8e7bc90335be29e5e5beb94ac681bd12ff732ec55d01410903b6e5be258af8e2d9fa5c92ce6b7b7079d6628fdda13488bdf2103d06f446abea02195bca03113fe77a2b445318247fda14177718d3c835b1977e36f348551441dfe489f0d403b06b666b8dcde54a12bc9ae2ccefd71a4575755823958290125e6a94a3bbad0e03c29130d208c0dab8f61de6e8ee5da3be8011c50128aacb743958e950c2cbcd8e03cfef81fe30a47e2a389b15f67511aae8eea442e8c49f5a57fef33bdb4d6172f10319440675b27e7188e3a062da17c96b731e6bdc3398d5a5a9d16c2881a5b7548a037c30db2bbc65423597f410e22599dae413a63b68b887decc93972325aa14039f03be992bf98961f850524797597ca04ce19cd27bbadca5b7a94d27f89b498254b903f927f973e168e65c792f18cdefb0eb42ef3604b948ccfb195a15ccfb0dfc0c4f03bb15fd6aa6eeb81ac1483766b2c39282f85bbeccb4dcec95eb7b5b18116f5be0035ccc29b9147072bda3596eba21361e44d9ac0aafbb10eb9d79a5d9e0a3b4804e0393d80997b03150f35f2469abba50def4f4797ff7aad5d955f6621bb827fcb06703ee20710b9213cb409f1ebbb471d978d046c9a977d0a90ea6e55516fd4765c00e03b4e34e7d5fe537b5b48ac60ca3a6578f10ae84b05ba696065e2cd3eb53dcf3a70219ffff0219ffff033c10b61ae84588299d1aa57c381deaf90d09a4c7bb37b4561ab0230e6394384d03c51155537452844d6d59bd3be86c4dbead76ab30db9954ebbd222298bc4c9cf1039bc15f3aef1776710ac8d4ffaa214e727b9802c610f17cd7043841302b8fa64b03dde55c9fc448e690a2e6c1396bc4cd5122c81ec166af136205afe162324e666403ba02446f50516e71a847b6eda696dd2211430531b35a12e931cfc4deae20218d038a9920884d9814bf41c36ad4f176947fce9f06a529d2595358ebb5427aaa362b03d9bf4f2fc17fd8764bc2061ac2fb4fa4fb3f712119d85b6de1e9b6cc14fbaca3031caf6d3f09d9df65149a30249ea6b442bd5682bc2a2d2693a1ac3ab3b3deec1103426f5091119a773681f5390d16729227180995e2f9762c0e4a13d878f321f15503c53c2d6b3b40354e7a8506e323eebff8007480e083033272df43570d47ee52ea0364d9a4b0476313bf3fc2edf116aa3c17fadb307068f2974a0f055a7f1ce70fbf03d323cc0299a49026198b2bdf8a441498dcf8f0186265e56aceaa6ef210df819b03ac050621f0caf2800a97ee3b20361d9e538e5145cec3a59216865f807e6ad0a5037634d986616c11ac71359cbf0c659d5d62d3dcf656c64ab0ab1b2043efc1041f0219ffff03ef4aa92175b57dbdfa1c03b0a707a0cc94f2ea0e8cb1b32e5030386fcbaaa69d03b8db696b6d2155d1ce9c41718b80850c57084258e5e486b02fd22b8622d174bf031b74555db7011a25db3513bbb6b17c31dc6b0ca7da43c7307aa710affab5d77603aa0c92f92620bd0cd2d0a24a66d3042cae82c381250f7d94ba638916939eb41203daea59d4310e5069b48ded041690b4309eb2fc7fcddbf12166466a3d163a2db70388bf202f65bffc1ddaca8ea7fb515a2b155431e216022fcfe8f1aee0c94da99703773562e8a25c35f0299791c7671f5954875f7cbb1f78bc03f8a84f7495393ea503d1f71fa72395da7f7d457836f6fd58c322e5e2f6e291b1ce724160dee8f097620219ffff0330079232350dabb9c698d188db7a28b97ed3afef4c8f3532f0c1884f817c319d035ed3c9bfa65c0218fd0432ffcbe4e4739e1bd8ab6d898be2cc466f5f4df73ddf0355d545cf341c0b7540510a5568857bffa971db6d75ab20ec5d218dcd6dd180e903a01fc8497cd5fe29a833d39fc5640265e1e61311a0e48d3c75222b16a38cf1bf036fac85e9dadaef20182cdbdfa2404e6158f8b5f774d687fa76cb9b722be21e4d031fa2a301ea26a684e53ea8c065fd7f5f608ac42668c864f3e5bb30991da3906c03f32e28d0f5060fd3fcb4c20c2e20baacbe57ee8c3e7656329b41fe9c03f717b80395d66b3d1d9341b8711584892990d85ee11343c7aa00c41cc95cf973fda8521203b536dbb7e5a22a072d59fc23764312b4768f7e422859b65bd6f87cab1f2d05df0374395e8fac0b8fc8decfdea3c9cb131c269ea22503e90a73c3a565e009a22d1403f0fc48badf4eb4753e15b470c24192b75d622e17b5b962a8e900828e172ffb720378c96bb615ccd70b6ac9b6f31bdb99666c2ea5ee25db88a6709594ae4bfc6579034344bbe2af9c0a9ab162f64b1fe7ef609bac9afe8c9b323f5d9168d7ef68e13703019b6b0696346b3a1df283dad301e600e2c5e0db1051359e51928bc8e6daa1d3031e3fef723e32efb144dfb486dc31ec71b81a61ce674ad5967fb9851418d5549e037698b6b4096c7f7d9e1212d642f14245c3f1308cac930e6a05ec41907d684f4203989baa8fab08cb8a6b4399dbae9ac374fdba9f28c69f666d019ec01eb55c5909032814af6073617cc90f484665036eb6fc78ab94c7879ab8c3a1a75aaebf28734b034f6d087201f987842c2e6d04f3b694c62378e943b6d4c41346412b587534396803e9a6c1ae5bf5f100a383cd795f501f1e38e67795a3f88e14f68a9f60067d7a8e03884132a10750d19223749de04c672e1d1f3e77b274e3ad4bc14a3b8392b7ecce03b86d120328af36a46491ae58089f60605a1ef0593e8ff35da7e065469a7651b103528e7c02ed8e333cd57b08b66b576ab9a5ecf80deb3aad58e8caccdbc3d4752803b251c2c0224e301635c0c02d83810dfaad803c28d7da52ca659a71fcb85f6954031a0c278ee4eb1941bf1ccdbc321cbaaf7079f739c952b3d6d5271777ef2dab0803fc3d5794ebfcb978b17acf464f38bb42501a3ec84542b160ed494aa80488fd8a03c81e5e373e938bf98647892d38e97676280d4e63ac0a657d104b139c8e1c58ee031b24b9aef792126dce07a3ebe23acdef8e0c1ea92584b351c52a338157a83854034d9e09c788dbbe164009d63f30de1f14f044c2d6d27ae630444b04321c055539035412deec0e43050a7fd9fe64189b2e39ff7ba3fc93f888ead58a9f56ec7d18fb03a67e63fe8e52eb08a581c69150b58f504b6ac5c0673aa679d6c87f3fe2270098035ab85b075e6110792235132656527ff612afaf7675677709d49879f9aed71f7f0339065861e3d4310b02f95b2712b5e42723cec48b6bdc8446c4d355d866b0eb6303f25c7b49072484ff41b2ca12bfcf279e8637aa2aab7060538adf4efb33df3a58030a81a7dbe01e9bdba139bea380aafd72e23dc368eada0f3d5d36cfcf8bde3d0005581d023ac91c746df3fe6e9898d1a33b7ced0b088ee10842a867e24f26725307011bffffffffffffffff05581d02f0130cbed9b4681cd67c0b98bd7ef2f61343a19057c77f0f52ecbfc4040105581d02d457b61afd0d7a3e8d13784ca625a08c55eaeb2addc8d7c87e1c40910c014699851e001150045932d9606060405236156101d25763ffffffff60e060020a60003504166302571be381146101d757806302927d20146102035780630610e03714610230578063085a4705146102545780630af3e66014610308578063106fcb7a1461033357806314712e2f146103dd578063161ff662146104185780631c8d5d381461049f5780632a11ced0146104d35780632f553d311461050957806332a16f4e1461052d5780634637d827146105515780634ba4079a1461057e5780634d30b6be146105a2578063638a9ce9146105d0578063648bf774146106005780636713e23014610633578063691f3431146106665780636932af36146106f65780636b4ed21b14610722578063774248a3146107415780637a386e881461076e57806382fc49b81461079b5780639666e1f9146107c85780639fda5b66146107ec578063a0f15b871461092e578063a69032ee14610957578063b524abcf146109d8578063bebcc045146109fa578063c4eeeeb914610a8a578063c6a09d9514610aae578063ca448a8814610ae1578063d0169c1e14610b08578063dc86e6f014610b2c578063e0873c0614610b52578063e96b462a14610b79578063f07629f814610ba9578063f0c06aa514610bd2578063fd83915e14610bff575b610000565b34610000576101e7600435610c2f565b60408051600160a060020a039092168252519081900360200190f35b346100005761021c600160a060020a0360043516610c5a565b604080519115158252519081900360200190f35b346100005761021c600435610d39565b604080519115158252519081900360200190f35b3461000057604080516020600460443581810135601f810184900484028501840190955284845261021c94823594602480359560649492939190920191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979998810197919650918201945092508291508401838280828437509496505060ff853516946020013515159350610d5192505050565b604080519115158252519081900360200190f35b3461000057610321600160a060020a03600435166110bb565b60408051918252519081900360200190f35b346100005760408051602060046024803582810135601f810185900485028601850190965285855261021c958335959394604494939290920191819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979998810197919650918201945092508291508401838280828437509496505050923560ff1692506110da915050565b604080519115158252519081900360200190f35b346100005761021c600160a060020a03600435811690602435906044359060643516611343565b604080519115158252519081900360200190f35b3461000057604080516020601f60843560048181013592830184900484028501840190955281845261021c94600160a060020a0381358116956024803590921695604435956064359560a4940191819084018382808284375094965050509235600160a060020a031692506113ac915050565b604080519115158252519081900360200190f35b3461000057610321600160a060020a0360043581169060243516604435611421565b60408051918252519081900360200190f35b34610000576104e3600435611448565b60408051600160a060020a03938416815291909216602082015281519081900390910190f35b346100005761021c60043561146e565b604080519115158252519081900360200190f35b346100005761021c600435611485565b604080519115158252519081900360200190f35b346100005761021c600160a060020a03600435166114a6565b604080519115158252519081900360200190f35b346100005761021c600435611574565b604080519115158252519081900360200190f35b3461000057610321600160a060020a036004351660243561164c565b60408051918252519081900360200190f35b346100005761021c600160a060020a0360043516602435611699565b604080519115158252519081900360200190f35b346100005761021c600160a060020a0360043581169060243516611746565b604080519115158252519081900360200190f35b346100005761021c600160a060020a03600435811690602435166117a6565b604080519115158252519081900360200190f35b34610000576106766004356117eb565b6040805160208082528351818301528351919283929083019185019080838382156106bc575b8051825260208311156106bc57601f19909201916020918201910161069c565b505050905090810190601f1680156106e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34610000576101e7600435611898565b60408051600160a060020a039092168252519081900360200190f35b34610000576103216118b3565b60408051918252519081900360200190f35b346100005761021c600160a060020a03600435166118b9565b604080519115158252519081900360200190f35b346100005761021c600160a060020a0360043516611998565b604080519115158252519081900360200190f35b346100005761021c600160a060020a0360043516611aff565b604080519115158252519081900360200190f35b346100005761021c600435611c01565b604080519115158252519081900360200190f35b34610000576107fc600435611c24565b6040805188815260208101889052841515608082015260ff841660a082015282151560c082015260e0918101828152875460026001821615610100908102600019019092160493830184905291929091606084019190840190899080156108a45780601f10610879576101008083540402835291602001916108a4565b820191906000526020600020905b81548152906001019060200180831161088757829003601f168201915b50508381038252875460026000196101006001841615020190911604808252602090910190889080156109185780601f106108ed57610100808354040283529160200191610918565b820191906000526020600020905b8154815290600101906020018083116108fb57829003601f168201915b5050995050505050505050505060405180910390f35b34610000576101e7611c64565b60408051600160a060020a039092168252519081900360200190f35b3461000057604080516020600460643581810135601f810184900484028501840190955284845261021c948235600160a060020a0316946024803595604435959460849492019190819084018382808284375094965050509235600160a060020a03169250611c73915050565b604080519115158252519081900360200190f35b3461000057610321600435611c9e565b60408051918252519081900360200190f35b3461000057610676600435611cb6565b6040805160208082528351818301528351919283929083019185019080838382156106bc575b8051825260208311156106bc57601f19909201916020918201910161069c565b505050905090810190601f1680156106e85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b346100005761021c600435611d62565b604080519115158252519081900360200190f35b346100005761021c600160a060020a0360043581169060243516611d7d565b604080519115158252519081900360200190f35b346100005761021c600435602435611de2565b604080519115158252519081900360200190f35b346100005761021c600435611fea565b604080519115158252519081900360200190f35b3461000057610b3c600435612084565b6040805160ff9092168252519081900360200190f35b346100005761021c6004356024356120a4565b604080519115158252519081900360200190f35b346100005761021c600160a060020a036004351660243561225c565b604080519115158252519081900360200190f35b34610000576101e7612291565b60408051600160a060020a039092168252519081900360200190f35b346100005761021c600160a060020a03600435166122a0565b604080519115158252519081900360200190f35b346100005761021c600435600160a060020a0360243516612336565b604080519115158252519081900360200190f35b60008181526005602090815260408083205483526003909152902054600160a060020a03165b919050565b6000805460dc60020a6407365747570290600160a060020a031615801590610cf2575060008054604080516020908101849052815160e160020a63169f2bcd028152600160a060020a03308116600483015260248201879052338116604483015292519290931693632d3e579a9360648082019492918390030190829087803b156100005760325a03f1156100005750506040515190505b15610d3157600854600160a060020a031615610d115760009150610d31565b60088054600160a060020a031916600160a060020a038516179055600191505b5b5b50919050565b60008181526001602052604090205460ff165b919050565b6040805187815282151560f860020a02602082015260006021820181905291519081900360220190208190610d8581610d39565b1515610da757610da260008051602061328e8339815191526124bf565b6110ad565b87158015610db3575083155b15610dea57610de17f43616e6e6f7420697373756520302076616c75652066697865642061737365746124bf565b600092506110ad565b610df38961146e565b15610e2a57610de17f417373657420616c7265616479206973737565640000000000000000000000006124bf565b600092506110ad565b610e333361252f565b6040805160e08101825282815260208082018c81528284018c8152606084018c9052891515608085015260ff8b1660a0850152600060c085018190528f8152600584529485208451815591516001838101919091559051805160028085018054818a5298879020999b5096989497601f61010095821615959095026000190116048301859004840194909392910190839010610eda57805160ff1916838001178555610f07565b82800160010185558215610f07579182015b82811115610f07578251825591602001919060010190610eec565b5b50610f289291505b80821115610f245760008155600101610f10565b5090565b50506060820151816003019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f7c57805160ff1916838001178555610fa9565b82800160010185558215610fa9579182015b82811115610fa9578251825591602001919060010190610f8e565b5b50610fca9291505b80821115610f245760008155600101610f10565b5090565b505060808201516004909101805460a084015160c0909401511515620100000262ff00001960ff959095166101000261ff001994151560ff1990931692909217939093161792909216179055600089815260056020818152604080842086855290920190529020889055600854600160a060020a031663abafaa168a8a6110508661259f565b6040805160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a0316604483015251606480830192600092919082900301818387803b156100005760325a03f11561000057505050600192505b5b5b50509695505050505050565b600160a060020a0381166000908152600460205260409020545b919050565b6000846110e6816125bd565b15611321576110f486611485565b1561112b576111227f4173736574206973206c6f636b656400000000000000000000000000000000006124bf565b6000915061131c565b846005600088600019166000191681526020019081526020016000206002019080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061119357805160ff19168380011785556111c0565b828001600101855582156111c0579182015b828111156111c05782518255916020019190600101906111a5565b5b506111e19291505b80821115610f245760008155600101610f10565b5090565b50506000868152600560209081526040822086516003909101805481855293839020909360026000196001831615610100020190911604601f90810184900482019389019083901061123e57805160ff191683800117855561126b565b8280016001018555821561126b579182015b8281111561126b578251825591602001919060010190611250565b5b5061128c9291505b80821115610f245760008155600101610f10565b5090565b50506000868152600560205260408082206004908101805461ff00191661010060ff89160217905560085482517fa4a833170000000000000000000000000000000000000000000000000000000081529182018a90529151600160a060020a039092169263a4a833179260248084019382900301818387803b156100005760325a03f11561000057505050600191505b611338565b61133860008051602061324e8339815191526124bf565b5b5b50949350505050565b60008261134f81612638565b15611378576113706113608761252f565b868661136b8761252f565b61265c565b91505b611338565b6113387f4f6e6c792070726f78793a206163636573732064656e696564000000000000006124bf565b5b5b50949350505050565b6000836113b881612638565b156113eb576113e36113c9896110bb565b6113d28961252f565b8888886113de896110bb565b6128fd565b91505b611414565b6114147f4f6e6c792070726f78793a206163636573732064656e696564000000000000006124bf565b5b5b509695505050505050565b600061143e61142f856110bb565b611438856110bb565b84612c2b565b90505b9392505050565b60036020526000908152604090208054600190910154600160a060020a03918216911682565b60008181526005602052604090205415155b919050565b60008181526005602052604090206004015462010000900460ff165b919050565b600060006114b33361252f565b90506114be836110bb565b8114156114f7576114ee7f43616e6e6f7420747275737420746f206f6e6573656c660000000000000000006124bf565b60009150610d31565b61150133846117a6565b15611538576114ee7f416c7265616479207472757374656400000000000000000000000000000000006124bf565b60009150610d31565b6000818152600360209081526040808320600160a060020a03871684526002019091529020805460ff1916600190811790915591505b50919050565b600080547f69737375616e636500000000000000000000000000000000000000000000000090600160a060020a031615801590611621575060008054604080516020908101849052815160e160020a63169f2bcd028152600160a060020a03308116600483015260248201879052338116604483015292519290931693632d3e579a9360648082019492918390030190829087803b156100005760325a03f1156100005750506040515190505b15610d31576000838152600160208190526040909120805460ff19168217905591505b5b5b50919050565b60006000611659846110bb565b600081815260036020526040902054909150600160a060020a0385811691161461168457600061168e565b61168e8184612c5a565b5b91505b5092915050565b6000816116a5816125bd565b1561172657600083815260066020526040902054600160a060020a0316158015906116e7575060008381526005602052604090206004015462010000900460ff165b156116f55760009150611721565b60008381526006602052604090208054600160a060020a031916600160a060020a038616179055600191505b611692565b61169260008051602061324e8339815191526124bf565b5b5b5092915050565b6000823361175482826117a6565b156117735761176b611765866110bb565b85612c7d565b92505b61179c565b61179c7f4f6e6c7920747275737465643a206163636573732064656e69656400000000006124bf565b5b5b505092915050565b6000600360006117b5856110bb565b815260208082019290925260409081016000908120600160a060020a038616825260020190925290205460ff1690505b92915050565b60408051602080820183526000808352848152600582528390206002908101805485516000196001831615610100020190911692909204601f8101849004840283018401909552848252929390929183018282801561188b5780601f106118605761010080835404028352916020019161188b565b820191906000526020600020905b81548152906001019060200180831161186e57829003601f168201915b505050505090505b919050565b600660205260009081526040902054600160a060020a031681565b60025481565b6000805460dc60020a6407365747570290600160a060020a031615801590611951575060008054604080516020908101849052815160e160020a63169f2bcd028152600160a060020a03308116600483015260248201879052338116604483015292519290931693632d3e579a9360648082019492918390030190829087803b156100005760325a03f1156100005750506040515190505b15610d3157600754600160a060020a0316156119705760009150610d31565b60078054600160a060020a031916600160a060020a038516179055600191505b5b5b50919050565b60008054600160a060020a0316156119b257506000610c55565b81600160a060020a031663b4ba9e1130336000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200192505050602060405180830381600087803b156100005760325a03f115610000575050604051511590508015611ace575081600160a060020a0316637ddc02d430336000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182600160a060020a0316600160a060020a0316815260200192505050602060405180830381600087803b156100005760325a03f115610000575050604051511590505b15611adb57506000610c55565b5060008054600160a060020a031916600160a060020a03831617905560015b919050565b6000611b0a3361252f565b6001611b1582611c01565b1580611b425750600082815260036020526040902060010154611b4290600160a060020a03168383612dd9565b5b15611be157611b5c84611b55336110bb565b6001612dd9565b1515611b9457611b8b7f496e76616c696420636f7369676e6572000000000000000000000000000000006124bf565b60009250611bdc565b8360036000611ba23361252f565b815260200190815260200160002060010160006101000a815481600160a060020a030219169083600160a060020a03160217905550600192505b611bf8565b611bf860008051602061326e8339815191526124bf565b5b5b5050919050565b600081815260036020526040902060010154600160a060020a031615155b919050565b60056020526000908152604090208054600182015460048301549192909160028201916003019060ff808216916101008104821691620100009091041687565b600754600160a060020a031681565b6000611c92611c81876110bb565b868686611c8d876110bb565b612e76565b90505b95945050505050565b6000818152600560205260409020600101545b919050565b60408051602080820183526000808352848152600582528390206003018054845160026000196001841615610100020190921691909104601f81018490048402820184019095528481529293909183018282801561188b5780601f106118605761010080835404028352916020019161188b565b820191906000526020600020905b81548152906001019060200180831161186e57829003601f168201915b505050505090505b919050565b60008181526005602052604090206004015460ff165b919050565b6000611d90611d8b846110bb565b611c01565b1515611dc757611dbf7f436f7369676e6572206e6f7420736574000000000000000000000000000000006124bf565b5060006117e5565b611dd9611dd3846110bb565b83612c7d565b90505b92915050565b6040805183815260f960020a6020820152905190819003602101902060009081908190611e0e81610d39565b1515611e3057611e2b60008051602061328e8339815191526124bf565b611fe0565b611e39336110bb565b6001611e4482611c01565b1580611e715750600082815260036020526040902060010154611e7190600160a060020a03168383612dd9565b5b15611fc457861515611eb057611ea77f43616e6e6f74207265766f6b6520302076616c756500000000000000000000006124bf565b60009550611fbf565b60008881526005602052604090209450611ec9336110bb565b600081815260058701602052604090205490945087901015611f1757611ea77f4e6f7420656e6f75676820746f6b656e7320746f207265766f6b6500000000006124bf565b60009550611fbf565b60008481526005860160205260409020805488900390556001850180548890039055600854600160a060020a031663c70bbc138989611f558861259f565b6040805160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a0316604483015251606480830192600092919082900301818387803b156100005760325a03f11561000057505050611fba846000898b613152565b600195505b611fdb565b611fdb60008051602061326e8339815191526124bf565b5b5b50505b5b50505092915050565b600081611ff6816125bd565b156120655761200483611485565b1561203b576120327f4173736574206973206c6f636b656400000000000000000000000000000000006124bf565b60009150612060565b6000838152600560205260409020600401805462ff0000191662010000179055600191505b610d31565b610d3160008051602061324e8339815191526124bf565b5b5b50919050565b600081815260056020526040902060040154610100900460ff165b919050565b600060006000846120b4816125bd565b1561223a578415156120f2576120e97f43616e6e6f74207265697373756520302076616c7565000000000000000000006124bf565b60009350611e2b565b6000868152600560205260409020600481015490935060ff161515612143576120e97f43616e6e6f7420726569737375652066697865642061737365740000000000006124bf565b60009350611e2b565b60018301548581011015612183576120e97f546f74616c20737570706c79206f766572666c6f7700000000000000000000006124bf565b60009350611e2b565b61218c336110bb565b6000818152600585016020526040902080548701905560018401805487019055600854909250600160a060020a031663abafaa1687876121cb8661259f565b6040805160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a0316604483015251606480830192600092919082900301818387803b156100005760325a03f115610000575050506122306000838789613152565b600193505b611fe0565b611fe060008051602061324e8339815191526124bf565b5b5b50505092915050565b60006122678261146e565b8015611dd95750612277836110bb565b600083815260056020526040902054145b90505b92915050565b600854600160a060020a031681565b600033826122ae82826117a6565b15612304576000600360006122c2336110bb565b815260208082019290925260409081016000908120600160a060020a03891682526002019092529020805460ff1916911515919091179055600192505b611bf8565b611bf87f4f6e6c7920747275737465643a206163636573732064656e69656400000000006124bf565b5b5b5050919050565b604080518381527f03000000000000000000000000000000000000000000000000000000000000006020820152905190819003602101902060009081908190819061238081610d39565b15156123a25761239d60008051602061328e8339815191526124bf565b6124b4565b866123ac816125bd565b1561249957600088815260056020526040902094506123ca8761252f565b855490945084141561240857611ea77f43616e6e6f742070617373206f776e65727368697020746f206f6e6573656c666124bf565b60009550611fbf565b84546124139061259f565b848655600854909350600160a060020a031663a9612f72846124348761259f565b6040805160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152604481018c90529051606480830192600092919082900301818387803b156100005760325a03f11561000057505050600195505b611fdb565b611fdb60008051602061324e8339815191526124bf565b5b5b505b5b5050505092915050565b600854604080517fe90459f8000000000000000000000000000000000000000000000000000000008152600481018490529051600160a060020a039092169163e90459f89160248082019260009290919082900301818387803b156100005760325a03f115610000575050505b50565b600160a060020a0381166000908152600460205260408120548015156125955750600280546001019081905560008181526003602090815260408083208054600160a060020a031916600160a060020a0388169081179091558352600490915290208190555b8091505b50919050565b600081815260036020526040902054600160a060020a03165b919050565b60006125c8336110bb565b60016125d382611c01565b1580612600575060008281526003602052604090206001015461260090600160a060020a03168383612dd9565b5b15611be157612610338561225c565b92505b611bf8565b611bf860008051602061326e8339815191526124bf565b5b5b5050919050565b60008181526006602052604090205433600160a060020a039081169116145b919050565b6040805183815260fa60020a6020820152905190819003602101902060009061268481610d39565b15156126a65761131c60008051602061328e8339815191526124bf565b611338565b8260016126b282611c01565b15806126df57506000828152600360205260409020600101546126df90600160a060020a03168383612dd9565b5b156128d7576126ee8661146e565b15156127265761271d7f4173736574206973206e6f7420697373756564000000000000000000000000006124bf565b600093506128d2565b878514156127605761271d7f43616e6e6f7420617070726f766520746f206f6e6573656c66000000000000006124bf565b600093506128d2565b600086815260056020818152604080842089855290920181528183208b845260010190529020879055600854600160a060020a031663d54c8c876127a38761259f565b6127ac8b61259f565b6040805160e060020a63ffffffff8616028152600160a060020a039384166004820152919092166024820152604481018a9052606481018b90529051608480830192600092919082900301818387803b156100005760325a03f11561000057505050600086815260066020526040902054600160a060020a0316156128cd57600086815260066020526040902054600160a060020a031663233850896128518761259f565b61285a8b61259f565b8a6040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a031681526020018281526020019350505050600060405180830381600087803b156100005760325a03f115610000575050505b600193505b6128ee565b6128ee60008051602061326e8339815191526124bf565b5b5b50505b5b50949350505050565b600081600161290b82611c01565b1580612938575060008281526003602052604090206001015461293890600160a060020a03168383612dd9565b5b15612c0657878914156129785761296f7f43616e6e6f742073656e6420746f206f6e6573656c66000000000000000000006124bf565b60009250610da2565b8615156129b15761296f7f43616e6e6f742073656e6420302076616c7565000000000000000000000000006124bf565b60009250610da2565b866129bc8a88612c5a565b10156129f45761296f7f496e73756666696369656e742062616c616e63650000000000000000000000006124bf565b60009250610da2565b60008551118015612a2757506040805187815260f860020a60208201529051908190036021019020612a2590610d39565b155b15612a5e5761296f7f5265666572656e63657320666561747572652069732064697361626c656400006124bf565b60009250610da2565b838914158015612a77575086612a758a8689612c2b565b105b15612aae5761296f7f4e6f7420656e6f75676820616c6c6f77616e63650000000000000000000000006124bf565b60009250610da2565b888414612ae35760008681526005602081815260408084208d8552909201815281832087845260010190529020805488900390555b612aef89898989613218565b600854600160a060020a031663515c1457612b098b61259f565b612b128b61259f565b60405160e060020a63ffffffff8516028152600160a060020a03808416600483019081529083166024830152604482018c9052606482018d905260a0608483019081528b5160a48401528b518d938f938e939092909160c4019060208501908083838215612b9b575b805182526020831115612b9b57601f199092019160209182019101612b7b565b505050905090810190601f168015612bc75780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b156100005760325a03f11561000057505050612bfc89898989613152565b600192505b6110ad565b6110ad60008051602061326e8339815191526124bf565b5b5b50509695505050505050565b6000818152600560208181526040808420878552909201815281832085845260010190529020545b9392505050565b600081815260056020818152604080842086855290920190529020545b92915050565b60006000836002612c8d82611c01565b1580612cba5750600082815260036020526040902060010154612cba90600160a060020a03168383612dd9565b5b15612db757612cc9856110bb565b15612d00576120e97f53686f756c64207265636f76657220746f206e657720616464726573730000006124bf565b60009350611e2b565b60008681526003602090815260408083208054600160a060020a038a8116600160a060020a0319831681179093558286526004948590528386208c905560085484517fea14457e00000000000000000000000000000000000000000000000000000000815292821695830186905260248301939093523381166044830152925193975091169263ea14457e9260648084019382900301818387803b156100005760325a03f11561000057505050600193505b611fe0565b611fe060008051602061326e8339815191526124bf565b5b5b50505092915050565b600083600160a060020a031663809b296d6000368660405180848480828437820191505082815260200193505050506040518091039020846000604051602001526040518363ffffffff1660e060020a02815260040180836000191660001916815260200182815260200192505050602060405180830381600087803b156100005760325a03f115610000575050604051519150505b9392505050565b600754604080516000606091820181905282517f4f71ef8100000000000000000000000000000000000000000000000000000000815260048101899052925190938493849384938493600160a060020a031692634f71ef8192602480830193919282900301818787803b156100005760325a03f115610000575050604080518051602082015191909201519196509450925050811515612f4257612f397f49434150206973206e6f742072656769737465726564000000000000000000006124bf565b60009450613145565b604080518481527f050000000000000000000000000000000000000000000000000000000000000060208201529051908190036021019020612f8390610d39565b1515612fbb57612f397f4943415020666561747572652069732064697361626c656400000000000000006124bf565b60009450613145565b612fc483612638565b1515612ffc57612f397f4f6e6c792070726f78793a206163636573732064656e696564000000000000006124bf565b60009450613145565b6130058461252f565b90506130158a828a868b8b6128fd565b15156130245760009450613145565b600854600160a060020a031663eacbc23661303e8c61259f565b6130478461259f565b8c8c8c6040518663ffffffff1660e060020a0281526004018086600160a060020a0316600160a060020a0316815260200185600160a060020a0316600160a060020a031681526020018460001916600019168152602001838152602001806020018281038252838181518152602001915080519060200190808383600083146130eb575b8051825260208311156130eb57601f1990920191602091820191016130cb565b505050905090810190601f1680156131175780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b156100005760325a03f11561000057505050600194505b5050505095945050505050565b600081815260066020526040902054600160a060020a03161561321157600081815260066020526040902054600160a060020a03166323de66516131958661259f565b61319e8661259f565b856040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a031681526020018281526020019350505050600060405180830381600087803b156100005760325a03f115610000575050505b5b50505050565b600081815260056020818152604080842088855290920190528082208054859003905584825290208054830190555b5050505056004f6e6c79206f776e65723a206163636573732064656e69656400000000000000436f7369676e65723a206163636573732064656e696564000000000000000000466561747572652069732064697361626c656400000000000000000000000000a165627a7a72305820c6b0f154e0142d65bb5467dca4a26c852d2e6e792db2d104e3fe12d1f0e71771002903403bcf0f1c64e1f95d7acd2ade1ec97b07eb43a1c5572f7ffa947f2ad0f54a7303217db6205192991570e93e6ac3f9a1467460f1f3e7056de94c08e8b22da2baa2039fcbf172b819d0404da552149d089e7340d87d41f900c62f330790ed134e432e03b34ab81301af4481a8d4bd2e28ea27d1d87f411097726095951dde21b2bc5e9f0366c19fd59a0eb740759cdb5f5254d6ee033b57091de9312eb349f32ebf51972003cb9838850e5e0c12a1be7938d229b4fa83e8ee48d6cfb0488806dcb020234507035ae06e0355a2d59a40826c8fef444073cc9398f519d5abbec20b6cd433e6779703d688cd14f7e5f1016571129f9f75ea7d39ae990eda6f9e60f346dc514d64fd7b035ce0797c86799a4199c64d342479121dd1e04b803fe52367c97c47544dcfa130034842cb998c2639dad155c2cfec1d7cec402baecd105025938dbc1fcfcbd5788f0340d9999648ba60c72f467d33ea1b5774764a7f54ad75301538c0f6ffa70b4afb03830ea6b5e2d6b9ddc5acbd3dcd3b7801c1670999892a66079933453b2b8f63b4036f1f5527ce84dc2b0206f595020ccc93fee70e147b10eb46dcf09abef22a9d2f03fd1ed05af7781344f9ea34924d3dad6cb62de66d17cdcace8a2d2701ac05c34c033a77b7d965a69e437210a14a7c84f07eb52dfd9500e3dc280e6d8e05b861c4fe03a113e3468c9b6b7b4006bed34171b113e5b0a6fb2e253a503583fec1a9f25a8e036dee329b0ac4105c26fdcf484f772dc484cf9b298740366490ebcf8687c0098c03417eaa15e01de677c90d8ed6adec6bb6e9ad6f511d31c38fedf563350b5cfafd030713c25aca497695d937b392b70c1807281fe1b9e4adeb3cf87d9958cdbe0776039103b346795164b0774db10e55f40bf66ec366951a9399451460f87e374a51810356ffd004733c9bf1606f245b3630e17af9fcc4280f8f35f9aec240f4c3348a6d00581e02834236e8b5d5ec13f7520b993aa94d3c61302373c5b3f6e0788c36534c4401276bbc00581e02bfa5dc0e5c1e1601cffbd5ba2ae1ec85e9eccf781955cc5509f9ed8cca430394d800581e0291f900d89116b1ca26511836e16ae44adf6e680652d7357671a58fb80a54951e0831f813a1c348d5dcde111f90dc8911ab57021908480340e31a0709e11f82bf3a366bd237bf08d3ee430386623a9a30669cd400d427bc00581f030c321c39c6269377c8155d9d85c9e904c5df9bc74200bba5c52fe0b670804309231003ba59074b2fa529931d93f372802afff4e253d838d281a06c6b58ddf252cd000a037ec3f0dde5a0ffb48219d397ccbb24021db889e9154db641c65ddb01263dad6501410c03cf6e8410f9a99112dfde49a297f64330e91e69c2597bcdf198bdd466a5fd5a3803cde055289fe77ec3b0b07ac6daf48be1c621c896d150f32f23a0ab6038e01f3101410500581f03b52a6a5ed8e6fc24c7731ffee283c85aa25d0f753563b96c587bd359c99044015df5d80357a6aa32d686445ae7810aeb2a4a8f68ddd82c44144bba8ecefc137a9599983703dd0d56a83ea582c090e1d214cd7b46f84c6ee2aad44d41c8cb6b8957796d253803b38d5836cc5c7746971bc385c3c8f2e94d022c45d8d5403864555e93699edabf036445d0c3cb18cdb0c4f6ee6c037cdb371bde51094cd1ff6e7372b1b7869f8a6300581f0371b65b89b61d61aad7ebfd115140e95bef9f7972fa89a6328e1e211ac74042c3500354291c60cc011d71fedb62cc5d662ecd57ffe75d5dd8350aa05fd42eae30948c0219fefd033b4138b335cf29db6aa97575f54e7564c64d65109cbc6de375b53f083b947a89031b7c5a79f5a17e3b9b63a64720774cb346a2f2f35a6947694524ca189e956beb0370ae2f0b3bf6588765a7e9d966b7363401a85c2ad31bb7e797ca43fec745df3903cc6d59da713cd9f9c98dcf3a6303cc088b883e565bd070636e2eb9fb6ae379910369bf6e15fbf5c74982e3e5f9b8a17e38c6336401d44241d97eb371e40c0100ff03387445f784b6b2e734799cbf28ef23e66abe452e7e68bdb232946c29cc2c3aac03f19de4efc5a2adcd478ef8f55cbd63d777ffa3075175cdcf7d319d0d16836c7b03025b349a6f9433a53c85e0b79d5d8167f4f6ff23602b6c00c8ce8e8525c6b5a703e2777d9d37da276d548c7831ed88e01a3843d446024939b88ad8900fabdf15bf03f561f76ac9baf2641a8a3fb298b0802b7cdf446762e39fe3f5b9f32709f7ffaf03df8b657b6d7756946a193cb9ff4c56cb843d3f36154c8e13e422e9f910fd4d2d039d0043761a71ba38e9c88d809daca400f88befe76fee2133e45a70aa330f80250219ffff0357e97e0ce5c61a8adf04e7a87ceb69a52edb4e6f943cc36598d9d4508446547603afafcc5fabdaec0509b89660312045eada451146aab8d6c842fc4d607656812c03b5407934441ee4882c7550e9ef6624c7942887bc81fe8322f6f6d7dcbe7663f503ff54313cbce9679d39053563a034ad642fa2bfb814283721fd64f5b35e10adac038629dc3b21a27acdb57451322bbf91bab66a37a012b484e3fe5587239b758f1c0355fb34941c57f41341863cb6ee08e3ee90de743db449936ce6749603aa717868036666933e51d69cab9cc26b684478bd1d1a0de56ca7801a1a8b42ed9b40c68a0d0387bc4a2a2d0ef39424ced58cf978b08ff43c73648a19eec7c0b423368cdd808a03470d8dbbde8adab2d91d656505077a177983d325a7895f384f990b7cc3a8354f035f81387519472e9bc63663c0f2fa3b1c887bd23136d8002e164de01e55a787ff0219ffff035387d3ea0da4789ee15f25cf71975310f3758a817ee66873e389a33846a22b2703ed80656f0a04549635077fb25955d8f564a5e5e83e9ff277ace093dc4123d65d03f7c409a0c432fbf399cb2958750bac758e10d5a598dd9fa7b7ad3b33d0fa07460219ffff0382dc1927dd0826be693238f64c39ba5e8eab72186f843a468798c1f0f84e178f03da7b2cc2d5c8e0e82a2a2f23a115c0dfb64e45f8ccae965cbf8aa9438b5c23260382015ef0be5d231ec995da3768491fd08ebfd330ab04d3d226b6c2a189fdb36600581f03daa90b5b832ba7d7cc29b07822e0f3c54c50342366952ba3e6752badd5d04303845700581e020b4652c974ae3762f45de60b55203d5679e698565d96006ed789b1498454226bb599a12c826476e3a771454697ea52e9e22000581e02de091c06a7a361c881ec8b10ebfe2a2380d2cca130258016eed71e9c4a410100581e029a0b753df3a46d4a9643c96d66fdda6f7ae7ea9d36bf9e15bb7fe50c2c542de401d89e006536f1e905165d41a41ada0a849100581e02400e45bb22cb7903623ebec4f397a767a5aaf77139f3d931d6a9913f4f4606efe232212400581e026404332ebadee0f98cea29d674728270107aadfa0511620719c416c4d54309f6c102193106032c862c15e46e9bbc01c509854ed24d46aabf1b66a4df0c257ea23f2f52f0d9a4030887b39c2360a73e5ffe0505267848c55235922442ea43305d1621c663ce829a00581f03f8e10fca92f5069473a99f99151847270a04c6437e812bafa8f5fc1105505478575d4c7414b17032cd9aeafcc4cad5e5dfb78400581f035e2f55a96d43c28040e73bc5cc581451fc59a19c010ceff9ea2d3108289047038d6337da0abc00581f03695a4a840ae3389a120bc05c8a78a57817f20f616cc689c7a9a19b55c280430635c100581f0313aaaad9821da26802bcf687820557a44aabf47cddf626e7645937ceb1104302ef9d00581f0310bace34c4bef794592c5f820dab91f3323d68996858f416981227592e0054ba3f0e71fdaea883f98298cb9be3330d19af256600581f03d51bfff2fb5216fed781ea49784aa5b2ba171719db4ea162159e23caa4b0450ba908d78e0313de8e1ff4f6a27efcae5be6c55b2dd3b4f92ec3800a528202a855658b18e4d4036936d0fc3bcd338488de630daf9054b2d460d58bf4882afa0da03a6bc62688480360a3cc82915add741bb03b522178f215eb0eaca1b37d46781c87f19147a4730500581f03881c26dfcf341419279553bf4a4ffb469877003161cf2612ea589bdc4bd04304cafc0219fff7032fd3673ad6c115a4174263309b31488f279e125c4f5f2b73b0f8d26a6aa47f1103491cc5dcf2246a2b17e686499545d5c4d0d97273681b645a6792c5be4878579103a99e91c912925e2e4e07898424df5da9d887bc7657132bfbd998f6ea11cc6a7303a06135b632b1cd152095ceb6171696c7c425ef8ea06c88a027b4ca0edcecf9a50357f32b0823604370aa02f77e7aeb8ec3931d3eb7814b6c767bf3af4df404194a033d00c2031a9c0ba78dfe6e3da2ed1195e86d37abacc3e2edffeed7e2f517bd9c036a9ca410ee7cd4dbaded87ea7abfbac4eae76777f54b1e9a42f00a7eede26ec503437fc0bea2e795ce5d6b8493f7628ac0c50361c1286c3345f3dcada3a2040a38031169b300b9007fac4bd4806f7766c70a284fa337e74547576de3514475bc3b98030a1945b79937ce78c85078156c64a53e8c12b0d455501cf920fd11730362c793030c57ce42eb266ce76405fa68de3c6c5a636633906da7b20cba3325554689a847038b35f9aff57c3032022057fa6a5537bac6d069e99119c2f037ea6d5a69f970ba03b46adfe20f40a0bd70b1aa0e9f9a3b046cd02bfb348381f0555b6ccc343caeab0300c01da78290c7639fcdf72014f4bdc86115979687dcbe130870b8c1775964910219ffff031e61aa2df87ccda512186ae1f49a49925e5462a0c6c452147c2908009035e493039088812cc2d6b031f473a0b657fba1073a6a553f244d8ba065ba4f9d934290b9036c763520d07ba5ac832419f49667b3ca6279450356e061bcd46ef761c5847fb4035ca51412d045da7004b581b8ae83ab002d2546315b1e665666e87f176906f3ee033bd1d1e79b0779db14987b68c4c91a2b22a963f2b983a961b38292bbdb1e492e0347356a2dabf1b290016e80f755931b326ecc6bc53c6ac793c341a1b0eabad0ec03d033e4e9334928e96e1391daf4b375817b8284d3ee01704c07130d13bc64d09d038d08706763da5ae2ed36e72d958210acdf4046f494438762f47dffeba4343b3d03b462bafebf20e0ad8b9e8a617a17c155eb91bfc8daf34e63d3bd372c48e1e79f03f20643a33b7e2876f60693226e200c31a3c0c1f24aebcbd236c763b3e8531f9703707ecade0d570801b23e5f6b5072a9526c5d34f444a448b8e241bd4f6b08a56f03e01fe043d24e4a0f5f471c35c24bbed1a9068549ecbeea346f8b3f7391f2197003dfbd3ce84a085a6285ba7cd4c8ea3a649df7c4745a412b9fd290542af90ca9cd03c41a13f71396709a835667f2865869f824033939afe85523ccdcd7932a4ca72c0219ffff038cf8c0352adbcc22ea8e092ec18f1d96d670180dbc12535104d9397a608742170343d373010f008b1058b1a143c46130756b4a4eba15f95b0d5e1dcdee14cb42ed0384291784d1718a8cc6432dd3c63a24e013dea3cf5f30443c424c0a985e9b61af031d9f3ff1096fc1a793869e8a5ea6dff54c4adccb95e0a9e8e0bd8bba10d4898903ceb11a3b7570ed39ade12c7e81f64de8d876c1176eadf6b397d20436bae6c88c03338d96df5e1b120c1b82042e0776c4992ce828a68d81cbc064803ee5ef6a0b3903994f823ab816efb19ed1522f06fe57b7c690bc3f18523278dd9fbc837f42a533035c26a4cd23e52a8abf4eaf19aeedfca89937f9718057dd8f70549c962f810c9b03faf97d15bcf4de29f169ddda80a953182bd441027496bf3a6be0a8c7405ca056031524aa5ddbb124f784817a7ed38758c475b639b55217d90ecda590d024802a3303eb8a770553e7acdd4ab9fc9d727ef7c0b288a66be32050ca3fd372d3a864c50e03e66283ea91024e93889dca48c31cd830a0e170619758f6686250d4aa6517b85503287a1fef97c5eb25d60179fb80f77b6d6f3298ed7e494674614b320dcdf8991303a24e3883652ee05feecbdb722e9be17da2e407c97286e40bb6360df428a03d3f0317563ed53949c1cbef1a102d869def47880bb3db3fac9c826cf629a19c8bef58031daaf090acd7acabf64a4ff7f9d1d94248bf818f9c9e16b542f4779892b35a5a0384ca88c61f0cf5c67dcb849c3a80ecfccb3f51f8ecdb514dbbf6203105bff3e0038af4796bf8b2aa19320729e911d3ce445640e4c8e48f1e87e0cb68a39ab5f19a03543bbf1e04f866a226db89abbe74c90ab3abd53889b5e3dd40f80b3345d3ae3f00581e02787ae1b2ad197159b13fee2bd0bf3109f042084091a4292c1aa6a373794308edee00581e028742607fafb2a71d1ee42795220dc23733344801d76ce17d2e628a64345469460570c93f9de5e2edbc3052bf10125f0ca22d00581e02f740c3a4bbd4e6bdfac2bc1467a6e3c9dbe5682be3b9a17fb0f5c53bbf54baf4d81dd8889503be3e70560250945d361bff42021901480303841066f781bed02c218f87d45fd945df8699ce7a82a630d214c63d839d99cd03f9438322641ad2acfe55435cb7c1b9eae20090c9cdcaae11245353097f8dab91034b5a9fc2b187a4e817ea9daeaf63475d96c18342692e77cd90181e26adcc77fd038f7d42736c47d73a509cd9ff4cb63b2552c47bf0784c295ed4b447de04b230a7014103032e881197317a222f5d4a53094a3a6ad38696f40340b0e4302d6794ad39e5812d00581f032b3461b3171371b0dbe108c8aeac5305a4ce53f2bbb3fe783329d7bb14b044038ef8f400581f03582f4002fe3784ea2692f46140402e4b868269f67b1e1802e382b1a46510540b6d62120ec8918dfd1ef51da8e3a3346021a3a903f5201eec3b7ba410770dd1e646b3ac19f2b07df8ad68aae2f5e6da8ceebdffcb00581f038bca14f3aca7b7de3f74897f891db1311337f6fc4d502bf9932131340bc045495ae79bbe0331e2df51bb283b545684e71c8f37c905093d1f2df932ec2c7bff0d20785d49a700581f039822c4efb44fa5096ee4fa53c420e171ce93a38af1d29988253949e4e7c0545c994287d70f2d7ead26d6e5b28d80df71dde26003d611c1840cc5f321794df801c167859818cc8e78e8ce28ee1348b055a0eca8e800581f0376b8383f03c8242b1f965e029255a26a54a526a4ae61a609e058751546d05420258aaab2a3e21e4f70e8d6c3704f60400aacfc0219ff5f03571a5ad814bdd68867a0108f9f1c20bf79cccaa72a2877d93e8d850448db783d0377ae5d434b1bc447fd6d7f5879882c80e63b45abd12f85698bfba5b860c2bd530322bdedc02117a07e4e6d12b175e43e4d64e0376743ae72abb30d6dd8a366cd0403eeaecd8a36ee0f8215ddb760f38ef17ce83191f19aaf02eafc51bcb33748249c032c9aa08c898f4f0da0eff3d3875817bcc654cdf97176fadca45fd3d277af69800219ffff031baf9eb0778cc4ed6a13d20990dc9b3d55f07f8c66a778ccbfb566e35b3f925503c22100942beb24ed8355aefa402f2c0338b8bcd8ec4d46af9d9ef8cbc90a431a03ee0e2ab4421710262c2473bfac2b3256e54be45157cdcdbdaa5e6a2077c2d67103a882c97d18775862048b86d41344dc4d98da7655a4e00dcf91453bd5d7f69589037a7c6a0049d49f4f83750e98500ed16957287dec0c153c56fc16936d68f5af3a036c0821d882efae6a3e395f87e0332e8cdd178d9d490b8fbf4d4e63d433ca8211032c9a9affb503b94ada3e677a933d66b4b00eebff6c5d151eb58711a8e93ea95203051a0bcd222e50a668e75c9ea4f73061089719f4aa6257e20aba1ea9e1cc882b039ffdd411f749e12d03af867e094ea4edc681c84e7fc256196b088d918edf818703ed6ae2d810e4ae38c1b12565bc3f8cca233f4c15d459b9cd03d86229ed9d7b99038abd1fc1ab53c081d62c01a6fd7f0ab09544d7bd3aba21eba08f4a9703233de80344bd0931e6286f1cb524457c65dc089301293f34471dd53dc892b634b9a3d0570219ffff0347ca28d75ba0e6b91921d06216e77bca23a841701abd2ec10322cf32557387600312a2b8a667791ec73a569898819b40c689d5a59b7b64fc7cd274336e1aaa361e037e3bc4f530993485b3b25cf9adcf34956608003c30794ccb2e5c934965ceedf30375cfbc3b957485486f0946ba91e4cb723e210ca61d901a4614c92cb1f3a820f203ad038768dd27c396a4c8e89a408ea0d626b7b0862aad970246a15f74800b0dd8037f5b3c0d90fa54e618770e8cb5b1623984af8e88a847ba7be2d436884afb076a03c3fa8ade8279dc89084c338ed7c61d55f5c2ee6604da4b0fa31baef9f4c76a5003e6639beb66aab81d60683d69304628460b5d0bc117aa0c883e02ae01123c49040219ffff03aaee004459d105dc9fbbc55af58401c9422b1e08e8217f91b1109623c075aa700306b2fb25fd87c3c5aa61895dd498bd326f6c23ae32091eb249698d7a8dc6504d035296ab91ade78c2202bff40667cbee702dd866f8e1803452bc4c7a5923a5023803d81a82c74a2c24e1ea5679bd177e100f53d63868b07ad6316b89af63be47af2f03c37c86bcbdfe0831156b8062f3d844b3b374e13175d759ba73ca0d1db260ac7c033b040d7db2dc31e3fb1220984498aa7f897197f26bf8e6fdbebc5179bb23402e03f397ca08a6f8c1c3d234db180dd559a2b1746045f0e9889a32ca3d766aa495f7035e7c9b970319a9e68c534e2f3bb7e2a8dd2253af7e84e70cc4797eabc16e916303a1a51ec2f4c2cb9c5249cdab7d4a0e889f80f13b35d2c84bb6908c070452cd7e038a308e34c1725e6349919040b1de177ee079908dcffea9c723bb82c3ebb1a0a203ea474be7055af0c2e6d40eb80c72b540b27a129a6b56442b308919d860201966031417f88c3673c86825864382c87fd91a3b6bd3dc2b347f68ef9b25c7728c3f180377afcfe9d7af3b34e2bba5cb9b5f73c64cebedeeaa8e70ad0953f334d8561bbb03926f448abe30792eadc772f25a63a8a56f08ca3b787f31de66b75a3651290db0031fe6c82a604131b9864ffd08287c0baf6f1882c4b9e9b72bb9433e3c7504768d03c42a4fa4c460a7b354c9357d5e6f1800196a5aa444d9ca81a62131ab4f1e8d6703bf39179c8d33bf67e4891468c5f2d7999985c20346f5368bb9915a8561687b2303c13d62984106de0d226269018ca485aced85a57fac950144aafe2261a3d77b6b03c8cc4236f3090926367c228f1b88b3fd511c72e03da2c52b52b67f7fc55bd08203a40b80439c4a8b2ef529fd2768ef66c8ce33a0832ede56a5f3425e16876ea8b400581f0371c20e6d061f55d8e5e4edf6cec95b8d37880b0c8c810d1d898cc66fbb404101032fd6a5c105200a85396edcc22f0869867718010734736e8cb9828eb90e54c1f1031e633a6279d1c864d0b4aac767930aff0962eb9f7acb2642afcbdf9d82cd5b9403a6562b167f87fcdb4a8879472d38f03cb060940c3ee12c90ca2f95e28cefe6fa00581f03c2fff7b0666245e82d9362a5e98815caaabdc8eb9cb9d311de6c60cc68504a0109c11444805d76000003118abec598396df948e02c8238903e1f4401404889015d1b75d06b80b508a2f0038cf7dffa0411df1a9fad984162866b43c13fe04001862b6f9e46270e2f26826200581f03e6ee218743d123b76a92b648c4b9554277d9b4c2e5aebae11ae35cd6955054476e6fd659b5805a24903f501b7aa4b349bddc2003de1eb1be359fc2a1b5290bbbbbbc8b7c10e462eeccf2863e84b42ab2136638c100581e028d4835942880f98a3bf7c52393f698cfe018e175df66c8fc89cc252d19430b114900581e02b5ccc47d433da1080946d727be89d5eccc72eb0d1d46deef22f1990185430a792800581e024b09b5352a988ce98cc5acb44809472c996043ffdc205445fd27c134ae4302ee20021920210374feccd24697b1604bef902a202a8a46c07ce434e090a9fe7beb92829798ab8d03b5f223fde31618453e61f150cea29bc5d797a27472a53a138ca73ea0968b896500581f03934216ac51767b00dc1d65e703a8893abbaea31b483c8ea39c189477ee7041010376771207d0b377a7a4406f236b247a7d3f95e2fe7aac0230ead2be75585de0040219feff03994adc987464d77bb64635d0ae71b63d7b7bc3d6e978795695fb3cca6e84aa9c03f41b7a1b9c9113659f5250661f50698e69b6864c4e5f24c95af789816ce5bcbc03c84fc78f37adfc8fe9d10819c11ad73d913568237a7a066a38dc1c1cbe9088590319a99856e8738307a04f95e091819bd285a72bab940c1a98cfa62eb7e3caf7a103d2a49c18652b2f8e1684b4eb25e58098e864a77b351b31d60f83cabbf5c0fd2603b2a348ad0c4efe2b94a9b9f2d6ff83fdb0b2342ecfaf2f58a7988989f9dd9d4103ef58d24cc79e3abe765a21a7ea5f45a9349b4a4c6c1bdcda0bc97351a547131b0219ffff03ae433d0da636c3d47c9b6fa7b23ef2c43be6c6b786ba4e758269aad53902336c0355681a6fba2ebcdb909d1eb47e4f1f6a40bf0a26ec8a413819f4200aacafde13037642454dcd1708dc1b9cc83f5c9a569e6cef3b91e40bfbaecc3280d412cc325003ca41a42d6f2adcb3ef72461fb281e1f785ba5ef882b8a32a1216100e58a1044403faa6f968443138b4010c01fbd8704d0805f23fc6f71e701ba4917ce204503464038ae0a3ab0e329fca159b994252a820093d5ff1cd77a9d4f34551c39580a5d601030268eb86c9da5f7f1bac2a4c10365003d51d863fa81d6e45892248fd2fb22d6f0219ffff03ae315de7eee9cc8979e9913e03c95e5bbd33d87ecf4d83fd58c1eb3e70e2aae8038276b787d99ec501295202c63fba6edf9784cccc90b5902f64af8e36b592ab480375fd2fad14ac778a9bd2d9424fc1a424258ddb8da2806e36f0ca7048e44d62900389d1b3a08bb7ca70ca9dad5c8ed132b7b6e67267bf9714c4c8506a743388d80903981d61ac0cb3474dd9218201acbe31df91b07a726e63e25a0fac7548f9aec1c9033ba86fe2f043baa8858985f53651432122d7dc8850c77fd47f6563676f0d107a0332740af2308756b4a9d394a7da542045654448e6fb54c4ff41f21fa1a8d9c18a033bcec8c273303c5bde1504015619b5b628df44d8a508b232b5ef4c7d457d8e6c039cac0587c76cb75c0c486d4242a984e4ed234be3a0cc3a3397b087af7de08ce803d7b5eb94273287b71687af0d7f7e9cc4ad63a5e0d7c272ebe5dd6088131da82b0339fa6ab88ede176b34bd4d31242f53a7e0b39a2afb1bfb80cf30e390adff1f4e03198530dc3c23d805928553e0f2631bdb65ca44999b40bd7ab06a37849714f170034a53ade6a26a8f67317ccfed20f51c901a759714271408ca382d1d2c1d28e63303b68eca8f14b96ac7e5bc4828f27c7db51810c0a818ea4613b56225d149af3b770385d0c532bcf093dea3c1a95d0701da817e3759f8ce2854e85f01b7df5983c2fb03627bf7485a3bbc191e350d2d4b02cbf7d82f3cb6951b2afc64e5fdfa251b5fda039be540553592561a6211b42cf848a19f383790221978280c1243d9f9ba22b43e03f62051134d7033386cd42b2e6ca2824bf29c9f766c5fd826dcfadae711c8090203c75c965350e7b23dc590920d63d56401ff0730523aaa41b8edde0eb62d19439203925eeb0f9c6178a5d25b9162757c2ce173855ce229f7c67a43ff307a5d3b48c403049e55b0af922f9d637a9fd509f4f7dcdf28e07b315dd075f4286ea10637be4b03784f8629c9218dc8fff43c7fe74b50f53d8eada589482979e223283199855bec03d43bc249b7368d54774da1083745adca0e5cf4ee91e4d31654bc5e4a70f10f0b034a2177afb4eb660bf43f4f1d73750b8ddb903a792df33a7f65c3119c87ba48ad03aa5f752fe60f9cc03787030a29bb4f070e72e8c62cf648cf0cb34cb4bb0fbc12032a8a9f203a49e179ee46a254b86cb665016310077ef10b8c3b9c19574d9c5b0b03c21756841a48bc0700d32b2e660101943baef8661ed3c1809c6e5643c539611a00581f032572c5c50e6183090aeebe4ecb9e0d2a05b27ebb9da4aa581607a763af40420c1800581f03ef7192677bb9d3bea8e25c1b5abe8ba1b1d6043122c19b09ab42181bf1c0410100581f033f679fbb72ea208644df4fe2b89e6178d1c90f9b1a12cf22b99a20b164f05464955110f326ffc64025f13fcd419db68e6a49fb03dfef5d0c7395a99805677470df0d2164878864f80d9a9e8f08aaa635a475dce300581f03d8d5f583e64f58e5ff15a895056c55cd87c695a8e40fe4afd2a3211d9a2054b2c5d060416aa4b7009898162f87ae06de68088f03afb2261982a70bc57f97306889b848940935eeea6e8a412c88fb3a758cde437103630ec0035a2b192dc9bf49d472242642aace01419f68bc071384ee2d96a2849b036d2ffbe2d27c582b5b01c725e4dca91dd059e3c77e099a7805f6ce4f4bbf810303df8c41de99bcb834ef23663de6c4b0e1ed5fa7dfc454d0e37640064c6c55491503e65f2c60d633abca0940f87a799576f4dc75ec5776e686bbca5426d49338f13b0353442826e6005e6980bd9545ab150f245733579b5411d9eac750bef8cf76039203eb3412c34587090c5e290bb8831bb2a71a9417e2611e863641bc07a96dec2d8e032749db3768ef8e5c25dff6d459c1bb066ebd4eab5742400c7bc6c7c834000b93035eda2d4f8bb4f6bd0ad8dc2d54f4d577a7a54e70b1594c2d310d97baa4dafc86036dbac7be3443732d7770bb88e09889c16b89406e9377d7498147f8696a0e29670219fffb0358d1735232e6ed0617344213ac6a30f4e60faa5cdf27378a76bb8edbbfcea9f4035080411b83a0fbe35552036f1154b47f01ca991f3dd999420cf321fb3b5f8d14031b2f2258e9cf0c4f5b75f388a5b28a3354b8e9904bcecc55eebf6c9215644ef80359cc5df9d9d8fde21d235079a2d7bd8e70e1128122f7ab0188b00faaa447de6c03f1a979edd71ce44868325ec8df9eac5fc657094bbbee0658b968f9578874d0200379831894eb09618e30ee3222af45a3e38ef5aa48a5848c23d5f9460d6e70237703d3e5195b9f891f7048f1bbb70110689cc98efc0190d6f68881181126456000d40378aa98156d0e3abc9a063124a9ec1d4e7f2201b5e3b67b95b569c567ed6aa9a703b0ccce6176fa2eb9ca3bcea203f0c6e7a25397815694dfda5f8c1defc27f035503cc572390f8cfe28d19b4809f3f438ed107f3331441b06b68c1dd79eb5a076aee0219ffff0324e7a33ddbb86fa4909d3a9ec49829304cff21fe3eabc69b15e81cb5c0c7f48e03f5f46587e61da10aa6772461e0932c05155132cc06ee1c85e5f74084a1189206036533dbbbdb687c76390246184c6026bae011aca6b57760084e02b5ace746f0320219ffff03ac03413bcf4ed9b7e4c65b854bb905fe15ff994b865f0aa837e891d1b5747e940219ffff03203748ca6fcc6710b7dc54dc3f4076454706ca75f135803403f9daeec7e8453903b3df2fdb25916e4b32431f3ef6bf01117cd668cef211a22620a33d65afca0b6e031751ddf107d39b7288ccbb84dc0e9e92f6bb07519594494d5add97de781caf9d0369dea7d593547998ff6ad7fa018b75723081c7a729dc4bf34306b1ce12e0fb9103610273b711e2efca4a4be685c2d8195d8db15cd4caa94260aa734390198642bc0318ac1fb5d0cb9034ad02ef7d0d7970dfdc78d2a0966aebb01a5baa0ff9f4a71603bcb000a152fb7d60ee99d80402b1d210fb51fcd9d94d750f67f1d810ecce190503b7b922d3aac0851377dc321b884a87b5b8aff843b7969809fe31210c1c606a4a037d7e43f6387e806bba1cdb90fe8b8b2a1f2d9c3e944bbda989abe3bf2a05d4b5031aede4d3ffafa5ee7354080bc7ac7736fcfd52da93ddb9419774b91ab8aa19520371b7e81b0f64c21bb375bedc94b166282f884d1bb5ccb4621426b7eb61f02a630355631af2ed5e2045227d3b94d403ac57eeabaeee2dc3299bc09fc0c0abac20e1037c14528e801b65bd4f5180f2489e2805909d42b82b81f6ed34aa44a9d8d08a0703c6472f92f64c75fe3279706ea25a6dff8ec9063f7fec043760104086d3ba252103357cfe1e113b9fd6d924d1bd0cc59717d5af7b1f78a6121578f39b0038c7c5b203d7a6c265096398c6a8b391aef7fca49fb8589d93b5993b137a09c9562531b6d300581f0357207fe6d70ab474e987a13e31ec41d7c0012576335b54768b55e61277b04902d8cac2437ba3800003d5235d72e1c3738127d138fde5564474ca3b754362405d7598729a225a6c6fb103356da2f173011df06a52de136a28d39fe30f629dd1ab7d2ee247cecc32f66ac200581f03a200abaa37ba32f721dc94718cdda33f9b94898a7b6f0bea436a7b4675904402faf08000581f03b95f615340f90b68a022a5dd91e82c8a983161458e4b591a4c145b1cdde0496d1ffca2ab3d540000038aa961ada333a4f661e57953a7c1ef4b754ac05278bc2aabf6b269a2beb9213503dc3a76064e93f7ebca1c126f8eee1b8a62e3b46373fef9bee058467c915129550351caf5c6b540e7c03d6a61796ae57e9f0c68983f57077cf4d5721d0d435434e303589bd05e54168797275de91ac9a47772aa72afed133fc166b77dcfab40b05ae803bfead5ee477fd56bdd756c509a5400fb453a67524a7d48e3da5a1b4d70b94d0d0372223c6d2b3dc160cff1da27622e326a97a36d2e1b3a61729a6fb1f8cdd9cad002197fff031a5594eacb89adf36bc9028680f9758f9d129fb2363e161cfdd8793837d842ae037d59fcc4cd98fcd0f84100074a7e7d89a8352063e4a41ababdd2f91df66624500306169736af8cb2f767edab64d55ca39f9f405fd9e6b1601e4fb20fd2732731b603de9d9e77e897183ddd1905b547fef357da26ab6b4f9c4e6168adbb3b7f3c988403a874ac0baafd29b779dff37c7b023246d1fd7fa110c6e167ab5a27412948c79b03796e0706ad2a17f0a91590535052cc15959fcb43594345c6f85cd41b22e1d43303818133e58acf2eb0891af23a09402653cf36e5373c5a5dde86d8599079bf28e203ccf83e2fbb01be84da529a3d485e91c3ddbd94824290dd7f87cf401b4da10165033873b050f84ea7ece727f223ad4e896fd3b4737220dfab9f314a2e4b3ed22b9c03cda89f14867872b31e5475e41248b63dc8eac7a3824d00a47458d4ff328ea0f30326a4dfa87c9f86c98023d49a9e547a4757c912a2fe74334372f4831c4ef5e0be03ea1aff4ab099600e8d889816f19867cc79f74f98175cd1e19ab4642e413e6b8e0219ffff03f897b7ff9323a3dfef7eb7976f718d03a99c4859db3557bc356612fbf31b26c80301fc1b5f51a6ea5593b8ddbf8b2f70de3df99216ad1648f8e2982463376c267803267ec6d15970fed68ff93f2bfe275b755038944fc68f0d205058b1e35630f4be03f722c6f4ac9c043d03115fce32b663d937fdb12a3828079308428638f123cf1a03c44b3eb2199c66c43afa05ca18a387b5213adb4001ada7db5f25d0dd4dc1021003874381b50a903f76dfa9e4b03d4dd071aabd35e72c99a6ef0da9d36db9a0d60f03c865c9aabda8fc26a10d9283d92cb311c8e4aad4a257e18337f664097a3e69160219ffff03ed1e9fe453a3608a05268c7c1a80380a09aaf90098737b25018cd6bd206db84e03e99ef9fb77f5d678469ac2465009c356c259c409a3996ff1ddcc5b0a0db1e25c0344172b93af6f5c68fcc26189111e5b2ac484e61334f8bd7b9cf8f697be06856903b155899b8e0d05a41481dfc321d8573f35858b2c0dda342b64671c68f4f4549f03fa6e2a06cda5972998e7e37f59ec66bffb6883cc0b04d41320580e28ded7c42903d1953670681baf77808e85185eb31b22ae3065fb43355433f19915c94656b7b103a1ed3718a4543be493a77a66bcf2c6abaaea1be0affe5c4783700d3f05ae407d033f2ebd8b03c62c57c4cdd90ca239b443d0c31a544e7aeb2f9a37935a34d6849f032312a25d18e14ab01a1fe85b61846e7ffb094972bcea208a906de75d85c9f12803a95b1a9df0ca9260aa721679e7fd20b84f8d753915a40ff86da8db9b835688dc03cad0b2154b3f35cfda3b87b8ba74e5825c29b4ca097fd874cb3a43726d61ae900334a036e604729a16708d6b2057dd4de5c4252f3f18a111089eec30f4e6de3398034d6e9b2f178f3176ff69b9605c833d2556ce78280e8cb887fb7492f8d5443e440383db988f155e74f4b2938bc450169a0dc572f9f04bedc780dfc514fe2563af620388a873c0ae20a5019ec5ff1905249109836ce2d7021743ef4e64f08353ea0cbb0219ffff03eca014bad6c552d9635671d8edeae1233aec6b808a387afe90e1d6422dc237de03c90ee4f251034693c291774cc7923e6617eb6dde3c8e659809c813a5c5c31a430317faa3a82a398c3dced15d81ff8c3228ca2f7ede7cf77625c553346539e32951036ce8da828ff23ee92dc40e41930fbab4afb0d6afe1c2a950e7c9c915e1ce2c4d03c86cbbff4565a2f78b3b22fa5c2313f4640dc1ae68fdf6472d3cd277540b20b903e24bcea2737e260a2174d2ce3bfb5549b576d1ae1c49b85ca34e5f3e4c42d9ec0384b286ae2e96f23a8fe2abca638c7974fc211f3736c26e7e1af757941b485fb6035b4d83e9f997c6fb79f7c7b4d8571fb536156c10ae51245dccb10e020154c387033099e2b19b27f7b78495393fe22016b89bf3a8c4c7476f8f1e2c4447ce7fa70703a1c078e2779bd76f03775d71ff04d7b9f5f40fc95521a3c2e33c7b2b04a6788703e7d9e584ef322642562829f839b7fdfa1fb497cbe50c64fd23ab96948e9478e803558fd9a1fecccc80ad22bb22732887124f46d89650016c1999645a9bf66ec8b50301c77713046bd94e888ddc75dc1913496d653faaf42fde75eec0425f1415a39203b9269d55d5cd54a0926bfe6ea7d27afbd4c7d3322b1cc9159e2cf7b5b09ff8f703137285f11662c3bf747d2cec9c78d1e003b0a12db17ab10d394b622c3c05d4e703ab2940193375ff86fe458697715ee6282c08ea42349ee4d2c0fb908339e3c16c03eb4c0bdba4d279f50d8ed87e3879e179e3dc5cea9471c4159f4f1b8ac6776b6d03735cb2b77e58dd277a09ad242928d85ff00d3743035c2c38ab168d67273ea9370342361818d5f46e9421ace88ef5d541d235d19b1d35ccd5c0f66f27d77b588735034b0a878f1396201c5fe6d9a92bb9785a165959915cf1cb09a3d4bcc467a275c703b281a6e48d1f50a433b3ee50cd945d62103303d5870ee2966673c2078b78a3e2030e60e8a851ac3b6a5c9601d36dc27f66edf2ac8a7e1a63cd7b4a2ed655e220c103d07d91d2ca9da8e9a18f568da1b365e1bdece3e19249d6cc39eb9b5ee9bd37260374c48e3465b0a35c91b1a982165275f74a306e0e2e1915aa7537ff3993eb8a9103a8ce6f948e48faed4158da8ce924582fb91f5bbf2ace4f8dc0679a31b5d9b3ea03135b5fb2650e14a9c00f2ada731d590434f7305eaf9970a68c97942eccbb6ab903cbb8c3b6e69edf94a892b32ee2464a94ef7809253e39783199c9c6127ef5e57403194dd94676cf32bd329339e6dea7b3e9f82e616939d8a7e93e37511a0f3d966a03b4c76c3565098b5bf31455121dd835b7380a204f8b9baec6418cd147b9bf26cc0397330f346c078b8b71d72a0212f81da4d907022c3cdfd9a9a3d8e8b860f53b2f03e35058d508da5c60ff422736033373789879caaec0bd13235b4dfcd28c3da2a003250e327512090389e30a61b0994bb1405a3179294ae641220b9118f071a5e94300581f034cbfab95ec4d782908f3d75e27953e734de26aedea9f93ef941dd26f4370544c412696531741db273898f2535a23266bc9d16803ffd4468988c68494ec7a8d09b7f7c25148bc42187c02f07624021730cd5c2c2c00581e02e954e8cdbbb689f1ed41a744c29533580dc3baf5f2355f415de428f3ce43076a9000581e029f81eab3218e5b99b48af2eb7c9a5ad481b6551eabf870da5c680bab70430b01760219080200581f03887d13879650de5f27a9308a321fc72f003fd888725339d7438883773dd041010373f62b9090012fb87df7c972e7577f1251220d04de18e7500e0ca8307e1fea37037f80873b6b124e986c526ce566bf415af7f19a313ebdb8c7a9fe7e43f5715fbd032ea6ad70a075eb05735697ed8f7efca3b6aa042258fbd885129f8baf269e764903c84fe713d5989f481cbf4a426248f35fb8c4c347534de1fed8e600b940a584ef033b914d3a8b63036afd4617e26a3f63ebf2ecc3daf78d170da782e661a5a9d6710369a97e61808e2685c073c41a07f1dd106b06173d29e4110e03aa873815ff242300581f036af2d6edfb44c8ca1958a80171873952ac6e78c6a801ee02c7e8b78b5c3045e8ba6eb57000581f034b0bd0ea333086b50e64cd35404efb7b6d1a1a86e7f2a2a75714fe64595054736a2cd95058bb8340278aad3d3c83d6fa5a253400581f0300dc6ea2bb5753ddaf7b8c1a32a635c52b1a02e64e582de0402f901623b0544b244e8865af4ac439c64f19c779e3e015d8af760219fdbb03d4ab70a9d82a59d72afbcda94ba7205b47d7eff12f4b436f92f86ffdb36bda90030a0db1008fe008f559c3cda02688bd6be185b65dd54301c6f0798c2e1fe4f555033ba08cf277bea27e8b6d693d34f5524c1b648c55c7f0acbb2349ef196231e0720314c62b7486a784559e172f3ab87a48d2267300d5f04f7279c216b8f0975849c903aad5c21e8767fec3b7c2ffd0ed4072275a6ea6434444b26c9198cb274a03ea230219ffff03dbbf291bb51fd9aa1033fb95f950c0d286ff85aeed9c41f26e6fb4a22901270d0219ffff0325b86500cb36cb0859b0961aa9a49b7d3cc4ddd1170b5b825b8299872dbbc16803a21c1729b175bbb7295de8e0a02e59924febde0aad72a4fb8cf02e9d0cf68624032ca1ec57a19657dc9f97d10efdfc0dcd9b5e6fe0340df2d2403fb988373e7c0b039e6941a2277182fcacdab8159c86dad4bc47e2b7df4a85dc156f8d838717f60703008d5ae70c739667afd26035bcaf1f93ce6f6f7fc13de75685edf645f659cbe703ede26241d3977f6257fdd6e3b373af19979d98b48589b2880e32b6b897d361c303c0310300989856b13c601e5cbfead0c520205e9ecdfa71b99baed22328f8f36703586088adf621b497500c54ec53d5b98a50ac26a326de9a83418ef93f8ac7e882030f482fbbf3806d7fd5e2b1e512cac84f31c1df67804fd3d1f198ab78a7f458280372d4054b6946d14ca567de1559b32522993a714d8c34fd05d2f944ae95ab102b03890e46877a3f4a08a8affe5f88cb6fb14343d673212a231e937ac0c043ffd271030b4ba9d5bea9506b9073d127adf2e348343cd22017d722ad7f22fbdf840157ac03291a5cdc5eef6a6aaf2161d725d457ac71ab8b46b28feaa6751cc71797d2cea503897890aa77531c137f2e0c986d74e71c1b295b8cc146782ee156840884ebd7540389b3793612eb0e1271798335727b6252d33faf67a51f40407172c247e286979103f68500e20b8c5cb6833ec3a6db1a41655d59e37241a6e362fbddb242b177549c0389db257fab6a943c2a23340d4631228726df4adfbc2019779ac4c9179aa773bc03ec409cd7d1460800266c3b33110dc08319868a7446bdba6724952ef33897a08b03a70dd553fc595bfb1d66519efe03c5c3c5422464b63ef7ae1c9fe723c12df2ac0342dc5c507ac517ce47aa0a0af8864799a4d570275bcea05e59347e5947d4919903039ddf5df19b9599a3f273a4823ace7afa11e29d53d1b29353011f6829190efe0376881911b075347ab4e6bd2d5c4665a837dd91a4f127c485fc5c6ef04f46191a0358ec8f2cb77a03b904c198e2d35814c47967216b39550fabc2b8194fcc35d75703da12a7e761f7956804fd9c73cbcc8fa816c1a7f6bc3018e07e8dce84fa422caf00581f03b5ecebcf84d410dd774b78e9d08afe9c60047d811557005480dc8dfa242048eaa2a66ccf3f9e9e00581e026f596f4bb4f033f734032571d932b49a01127bdfced6d574b5668d28774303e98400581e02e564fcb86d48e0bc7e3354d3c9661295b8ef276ff2d196a84ce7354d0354c7cf089fb4bc91f1981df2285ca019ab09a5dd3b021908080305a2bc42b5aed7c79201e722f574753bdc0531c16293e0a421d2c515846fe5f703b89de67dfd27d31734e8a296148a1fcaa8cc4de87a62ef4b1d7d1ffa4176a433032a67019363676aaba917242e3fc96a5e536aec2d86b2e3f7e1217251841c6b0503ef08c578fe998bf566d4beb666029a6990671c0646dcfb3cf054d2bfadf6c08903ce9fdddd12ff3d26a91aeb93dbc5fc39f368ca7d506b75d5bb0d570778911971034d544134128227a35a6c78822fb097e96ae1e5e6b21c2bdfb1b5445196afc30a03ed3eec0ef1eaa04fa6123ae92eb3af45d68eca7338957dcac2b94aaa6a273ba8034461fbb4d435779f9ec3a629eb121ee3b36d296efbd3769b99258b677a67b0080314f0f6ae17ef77b94bc49375ad29a904b36b512c5485f252337fb84110e91ac703a3d0f4ff0e29b66fcb16fb70a31fac6ac4450d7acb5e61279d871675361d80a700581f032eb0d38efff2dfd253fb565c6fa90a8bb078eee9efc6750b65444a3430a0410100581f03f7b5148ffdac09f1d9b08e8374a950cb1ec32349954aa1577f4243f49b60541e1f00c4e4a9e7947439547e94fd59bc1c39377403a3943b1bfb08377716776a58e1a445c74cbff527ba334f98db85d234a949e8da0141020219f7ff036c553d9fca83016af5c3f5d2408bad795a9ec835332d2e1ee096b529240dffde03654236c16013ec6e342f92891bc90a6972cda80d54d08f3f4530388ce767a1c2033ca28d8ee307acbafd26ca840dae71abb08432c7d82aca43b451ab14b5fa24e303734bef9afad3136ce4a1febd6fd80effc874521e73aec7b86f6f0b61eca4393b03e04931b09f293bc4839fd2afb181a9a05c409280c546d7040187c0396e5d1f9b0219ffff03b923e9708e2dfd6e048fdf731cbc166227f82b55ec981fcb6396448c62d3ebf00323776ee3abf94789ba61f923a71e672b52334fd277146c1111414cbf807800a303cc89d6fdec924c093ff51b4dfc4af8e455b76720eaef349f2d6a5bebf4f2a2540219ffff038bb292cbd9c019e912a13d39f0013d4fa908064fb0044cc64bc4f5043ffa2f8b03c45ba461afe73f97ac27b18231ee8d079e070d43a5a8ceb568094b7290beee5603df6c70cee440e5117a1bfa86e972a7bf9ea2ba06d66a254393403493dffdcad503c2f9c4ad5c6e3521beebee86572ae2fd3fa62908767d0aad316a73bc79d23f8403e4937dc23d39cbd6d060342e63689b363ad07ebd04bc211f839788f0f8e63a550350f9f74323b83f1df4edbdbb75139c7829cf95bb83bd670c8de065f52e0885800219ffff03c2582e0d14efe2a7b44a2ac2239ddbc7e59d6ec3ab67f25e2de4d5e0eb6d13b1036902d753b373b0aa8af353a566677bf09b74f829dffbb20d6ce45162634ebafa03cffd62ff7e169d817a7d893e9f73326a637aba40067650698463f25d96f34bab0324edd73376ca79b22153be1669fd98c20e306ac1db29fd91e3e2e673bca46b66038b4838de7a80b113fd0e2991a01d51578b2185508fafd30a2be5333a08b093e10330c8ab71b8de79908514f27dc8310ec520bbc9917c9e4912d13a9a07d2613e6c0300860ad5f899f6556ec80ed5bd8e98940371b130f13389cf9fb5e92ee43add6803b168d22c679666c51c16c4add85afc60d2bee07b90e69f4f539b99957cf1e1f3032eaed43997371d5e7c4928f14ec6ee9083a194f253beca2abfc6e397fff9801f038433decda62f31cc34c77fd5910969b42a2e117cddfd134b875d50c4f889f07103d0aa06db7c585c268f7b6b10319f8d53496807dcee5c9e5c611eb885846c2d7103286fa60c6096dc152d4fb0a84888101ffbb70a3027c74e3d920ea429af53e0a803f72574bce65d803da30bba697f7c16cd315001313fd6dc5f50fb3d5bc0acec1403e0e9060efe8e179c463a22c5d1fcfc565b415925944e1237330ef4941ee341060346ccffacba051b0863c99d8b45023541a3ba09292bff2227cd2a3fa96f0a4095033204a35d210a633cac5c4e4d493dd0346376381b5938c053c8d1a5e8e72bd02f03d447585848ea979b044e22a55cd267263d9080b8aa7eb40f7aa2c95510e9fbd60364bb211b1db65a210d681d02ec6338394aba599e798d1c1e903f96f4776d28e903fa78c1eb01ee127199f836dc3182e1e22c8af6df3e5d3da11881ca11dece7762034fa17b0060e519d1d6d29a4d1357a3a8dcaf8e94583913a6fb2a8156eac4ba8e03f0fe5c602dcd839765e9408d6ba2f538a76892061b04af8b2ac364a7cc1596a10390764d612f8981ca85375a3be9164de1d20d87eb8dc35f8ee09b7620d29fa2ef03200a7156f637f5967d40cf7636b069477780e0724574f67c026176cb5f1f8cc8038fe8945f72f99531d9246b9f1e41ee93a119c83828c920bb7617cc99d84f3ab903c74eaaad1b87a8530a5434667e33b81a8e2c22ee56048d5e38a81fffa74a0fb2030b7153fbe982443eaa1585ceccbf9541103aa1b5cf6f00b4f67507d5b41d00ae0341fcdd8bb7fa67a15dda59157bc6787a89cb2b4acd63839370d17b26303d9a1b03abaa7402efd702129f595b274836b089e9803f934393b9d15d0cca06ec44d3ed0375cad2c24441d3b792b2dea700f94f959d41e5e4a5ee06894af3019ec16839c10374f81ac862749e264ca1b1241c36b5a7175fcec06198f9b893a1b36d00a6278e0392e8766f461ae41b157f513d83ef6e0ad09bd13f5f21aeed485f816f3a97e24c030d6b45548a4c31924a42a52b2f353ec4f5437775c97f133b4c9a5b4f917f263e034a085669d0ca769dc1489835d1584cfbd0329284361fd13e6e326ef280b5952403174ba76d2a00374afba8bc666e287a6c67ef2be6200dbeaf2daee01333412dba0311c8bb3c0e580a63dd8cb2d6a9d6f1ec6e23dfce3225527c9703b1335c323f0003ce5e84bf87520153795ea08c05c227e50e0e3cd521160713cec07ee4f5edd32f031fcfa7b893d60d29b9ef6d41c197a85dad2d6d966568415382ce5882051bc20900581f036ec09693856d745e0952962ac9d2591239d2a7adbb11cc91e4905af84c80441eff5358039f9b5f2c224b83c7a14e5023e46d61644f06958ef22ec948f3ca75f7e178596c00581f0350014f5f2f22afa57fd3d0f8523f7a0da1a916d671766bc0608f7b06ab8054623968c2e08163279128d4738176f6e6e15818030382d3cf4a9d407e7e6011cd844fbe40ffbc41e1c3d50a61afd7e680d3a0c066d500581f03ff31aaadde1cc4141874a93168fa5882c162e3b0ed3732af128a34eae4f042015000581f03bc9d382c38c1ab3ad4da35011672448dee5c9df17de2a1e92d5267eeecd0544ea5b7e23a863951e11e9418fb29007a681faba100581e02ecb0b996018c81943d18c830d8d3410753b68cef1df952288261e3510654a9c9633978d2e888387e673a13a99ade8a297f1d00581e02dbf0fb0915dbb7f5793847f7e00fb357bacd8a7075df738b09f6f4b7d74309286900581e02b060b8ab2ae77b710d93b4a8d0a671ad6a323a578b08d3c2583b851bc0457b413575c000581e020bc757b679bf9e96dd599a241a6709245ae6cf3679a94f17c7613328c5430b49c50219054100581f03c3dbe3c27a599b7270b33030f56efebe484c4ea503ceac1b7120b08c7e004901728974898eee000000581f03936ab2e3e8a77ff49e6572bdac0798530f30500a8e3c07fb589acab61e2043036d6a039ff05e0ce21e7791b32db0d47bf8b4759a73ff0a9bc74f03fb9aad3a554ed67103c85894870bc56725c747007c7fb5c7bbeb9495967abfd3a71a278956113a21f0037f7a30e28b2d0920ffa265d0dfd42020c989f7b7f37bc5513eba2d00d0f0ca430219bfab03bf8eb0ad5ed135f6f82d883999c84686bfb8d1846428f0e831965f3174a4d09403fb41ed2256f45f5f02a221d1b5f3168c2b6e02885bf77f6c72ea0e2aea12d0c7034e487948db8ed77fca082ceefff76ec8c3073b934729c3e19873ceed328eede403f19badafe4140c69404b0239a968793a2d6296f0e9329dc75f7405fe0e65dc2d03e0303d6792a39927ba62795ffc3017fa0237394b2fe705487b29848d7c0ade3b0219ffff0331474fb9b8f7f19b73f84a5603eea8aad435c0de83202976ea5757b31ee42588034820dc0e69d10e59c62beef181773e82b9daa8273047ff540de0bddfe30672300219ffff03987cb84396d854b895199f84e4f54ccb0158be4c3ac9c61f2c1c67847cdea7db03a0122b3e5a294736d138db313fad7965866522bc10d5f1e879327b997155c6b50219ffff03f6ae022f240bfab8de4c1af3517176a91ac58b68baf8604ea18165c0f3f64bf703b809e732a88dd94b397f01daad2a01a88d8f5a8a2b4f7f59f483547f1061400703b36f1214d7c16e57131a9d4e657cda794f32f32f25cbb92ac5dbe756f7b6f7350320702829c5067694bd3146739aef516df650dd6e5b1652c35cdcc13908d4245e030d8c7960f89bcc417bcdc470623d24c381d33f9617ab33e53396226972d4b8fb03be9cb539387de24420efdc0039cbfff524fa4929ff12d6d823f2f1b094bee38603996f370d9e3e0cb11ca44c03d3f804db0bb1c4505df2d0577583beb0544f9188031552c3c0d24fb689617de660700830736cdd99a938bb6499c1c12f3cbcc4b56103fd55a6459a37cd5611c8ef3ce5628b565269c2b96e2142429b3b37011168a4270383f6c24f91bd724cf5a313ee49ee1e2106305af3ce22783cc252c0b75ae1d69f0357fc5e626fb20831e5f45ca63f037aa83bdc15c6698e8da385acaecd7c4cad8a03735026244aa05e984b10cc25fdc0b9accd6875cb6ff0232c3a9e97bad10a2c2803b448a4031c8eb003a42a821506dcef324b2e09a036630279ff80e3a028bf394e03f1cd65521657310f63235389bddd43fc4c6d2532dffd97498d7ad3c0cb2f130803ef434fb4abdc6865aea9227031a1728b75a4de7036c121282a71fd9c25a84e120358c072901945ffe7ccfb47e986a6faac3480554dbc734abfddc3d7d30e0562020343a93ae9fb98e3b1ca066d08bdcd5215c848f9b315f181f08ee8e4896eb2501103ae393b3876b02487b5ad0a37148f32b463b839967ddff1053952bd09bc9db34e03c84167a8829f3f6373e2a1733b2d9902da3daa7511ccadfc8900e45fd63f3960030b29fa19eaf4abe1184e0a6514e1aa364042de0a2d17b8d44d71add430eeab01035a2a860caf8857035387d35f91d48deaf5a4f90e07c4281accc1ebc1e302bd6c0354ed9204ecea9f560339293cf2bb1e35bbd24c3430b200ec7d58308b25b02c9f03a7f27b00521e7bc2b9b38375b012bc9841baea235fc94097463e66b27399ab770316ffff58501b4345c4514000607de00e2db22045b625ad965c4ed88e339e662c00581f034d2638dd020496e94baf7b440958e758c0a040b86ad45bea5a8e1cefec1043065a6f03667081ea32ec284cfb751b6b0b631f606a73f896189ac44455d25c244f78cfd500581f03774dbd0a418ec4b87b790a83823e23fe198531f90b6ed34c0b893fa4af80545e3b2e1e57e720c59d16520b1c3d1a882767158503678c264f59d8af98e61526c7b6d5171e8e3c55437252ed720fb132e5208bfa9900581e03cf0534bf647ffe2ac5fdd927f1153addb48f09d843690f3624428f068054413a02f0cd2ad19fb68d4e5efab34976b910afb700581e03791fe3d76259c840364250f94b33a52f7a80ec016e42f39d55cea28e40547e387d6e13c02ec8c693caeb03bf0e22809193e500581e03bc5789638086b08b870eb4c851c428cb3a85fc047c47eb505fe600093044798237680219a20000581e02ee335cb35c66ee1da59921818839f5fc0f895dbe5e5e3065f3a088ad6f440b2d05e000581e022391e665ccf60b17fe49f914d60d8b7f63b7af4cc63b78946509f24ce9410102182600581f037db2e85f06505b726cffd9fc1c000be9f65202c6dd38a8c5595015e1331054bc96696246d4416561a0f4c65c6662c98e2f9a0900581f03ef44ef38bab4535375ffca5622d4b541127f68a35fc5dbb82f4d1dcfaa304298910322a572a0519614d5bb9b0afbb5bcff04ca9c865b0ff9d8fa64cd90c5f020ddf50339fa4d4b02b76aeb9d46f5b8cc8e7d54344417b69d85aed09837a3b23fd3797d00581f03ccdb7f3b036b9155fc99e45379fd2e4e4caf92d2f636fe6ff3ed828690405412b53cde07d5755f36e843322774e0357e452bae03881ba4c6dbc0de62ff2be57438d110372e38d62c0c4f963a7621f3a7bd07df7c03966a8e8b7d361c7b484986345c2a2bfbb9deeab6c419996d616982861cde7f320219f0ff0383c8e94dc55ee905cbd4d3c8128606ec7c2f200fcf3a8ca5c80073105a50eb6903827dffba9a459b1c34669c861512494d7d64571790e681f0c0e5fe5f467ec928030a2fe656c621a1788d080ba07422c948e530d94ade8de4c3cd179710443941c70219ffff03e0b080ad398bb994d90b100196bd7f1956b0d6d934139fe7fd39689e5aec802e032dc0b6ce5513105fd3bc3aadddd0285f4be6870a07fb679ea21463427519a5ae03ceac661c7edd2b6d96829a1413f1302b87c02acb83ed61089f85cf05f48b29f803e6699cab1d314f4dc9599f19401ddc6664bc9b95b01ffb1840b388f152e81b99035d99d02549775c1cd42156ae4932affec38e3545d455ba08568eade87655a6c30219ffff03842e9da3ff6136aaa87fa39cac25c0d14f7823faf589c898f62d795e3af339c60356460541c14af9ba54feff51e78a74bcd1cde5713cece9e5d33278fedccd898c03a0f7d798af0668946bde3497e310c099aaf1880ce714c218410a84b17eae5ed903e151f3342e641af56ab31d8632a36bdea73ec96967b67b48958b634435c075c303871d8cc8262f5b6b357a27db1ed4f983f0c0d9439d5c71e1d0ceb9b602e593b00392e3fa45b8dd02a5106d26436802a83882bc0414aeb867c23f801a281d00eaf203f9ee50b4055b430a812a6c30fdb3a7bf568481484e9827a77d0a2940894ea54e0341b9ea7d8877bd25448f9034e162ae1663eab815ab01680682e566bb3f1e5f5d038bf8f18777d260265b98af2862809edbc7ea1d6da525bd7d1e884a0964dd478103a8d18bab075b7b1e8f1336e8e9f9360806266533284eb215b6361e2d4a30850d0313e53a2a486b63bfab1ea50cc0c9224f902b6309e967f319d495333f26eaab3f03a45bd27ed957ae1809768309e6e74489efaa595b289b48bf99f211e1de93322a03bfaa69e0f56fca205a4bd8a5a03ac9644d67ad5f79b4121b6eff0ce93b4126a203b1597a9f02d1f661ee8ac4f8b9a2046a7a54f4fcc5dc026558df829ae6233e7203042210b6091dc5ca4b4fb0f3a6461c803d1318d116d2216c24df67267e84228403d3fce777d5e3716099005c448afce66675f6b7d6e66f6604eabe28af21fa1bb4038f7f26922a1bb53b9b080022a441f864687cdf11ab608659b02cb18caeba329b00581f03b71331e2b3b5f85d7a2674dd5565529a0670373c708ffda53373553b6d0046125ca9987438038b0a690aa9e3226b844d97237607b3af4883bd47270a9a98f0fd484f03d5044803d746de8f12da10ae77c2ce5e0fbb57d578214b3c3a1fbb47fd35e67bd1c48e91030f0f9a83a7943aa2bcbeadca23e577da7eedee38af469ff0db2406273857ea6e00581f0343dbbb024504c071e7ecf61c421c6ef7c9b947d2b5e0a8088c8a330f3ed054fe8dd539a02bd398b7af788384cb6fe013ce4db803e33cd8b92a215fa2013a86e99c155a6bd7433ea26ad8752f99bb4f6a9c454920033db9f4daa321804f41e3c84b55e13471417a77eda769cb4d4ecabc4742274e69037d492b0413d0225e550fedd7f8bdb0bd1e1816e49dfe47022e97ad4c2dc1f1870353f3388af629cf8fdff39addb39bea16b3ce60dc31cb31a6526563e274534dba03203cb0bf629b05d659d8fbd307a4c418c967d6e564a744d436932f786133a01000581f031223b9135748d1c97cea2b795375fcf5669da9ab89f7c199cf6c71e1a9a05453f7f5fc819eac315c1cf7070aa33b228ac0bc6b037e91a363f495e37260c4da60c1dbafe75def017f0c4bc42b976a1445ffb30cd603b7bf982ba6370cb36308a6e0ebc173d852e1aecaf7d9315bc681ee6b88f74dd00219f3bf037ebadf85d8ec5373a0e2493926454407abda7d90827d809631327600fa6da07e036023c7c8ea9f52d4f13a6c3b09fd411b11dff19f8ea5635e9fcccefa883d55a20302608b27021bd4d902aef0ebbabdd17841b45c017f6ded8a35ec20d91b8df0fe03ed61cda799dd356947bfdb72e450a9cde39348c86b962b1d72ce7790ef40ed3c032dcb457a062621727a0c5ddbd77405598d402b351ecd5096123a4844f1c3c8e203393fb5f8383018ae8d43ee911ea4792ea39052d28ca9c7986cd3bddb7cbdc22e03e12c44307c76f29dc54035b80c9e34b2cf77e3dac09ece2538875b29e074e8970219ffff03847f3372ec163a1386b43990704f7313a147cdbb0c6af6020e0dcaad603f0c330384035044bf3526b689bbf63c9c2616316f2744986575644dfaec28a6cdb1be9d038b43e31d77787b521c5a54437276491ae4268243659e9924b306ca2a838da39703857fdf1107e503b4f36d0493d15b5e09a7af80e74c716070069c7035820b1007035a1a9e71eb4acfd556556ae361f8240702f51b3b0a4045ab33498a4e4ddd0dd403de05800c43bba64970e080431cecb7f22f48ea2b758fbace19ff51d787d3d78b03db6299ae61e81d1748b8706c1da0712e6f0479bbabd5725402d9a9aa5574883b0308a0732737e35ec37f9ab5ccdf6d7fc59683d00c5a5ee46b7726aecf4adae44503d71b9836447622c8a450885a08f3901ed989d945756c7c612115df8a3c9b0c38036c05c1acc1cfeee3a445148184274a5c7493e37aaab7adf45bd7cec2f667b4dc03a1b143547c5a27b213a62c3372d5f50f05fee4fa94f28a6c7de2d59bf542facd0219ffff03c11750f579396dff2b0f817b3c2abd28fa1bf3debc7744339c1ebb8eb490191b039dc1b0bdefb30a4caa751b85708c89a8df18f1b844b87fd2af42ceb586df06990363392a7054b20af00b3f6b837921941bc8d6d2dcd02b435218e89acb31bb070b0346a17de7752b3e0c7b2bfa0e92e61691feda3b93f3de52eb9ce5d3460e6612fd03d90e47fbd82481dfda80dc305cb731e9d0bd954d638f5e2eac4ceb9632dce78a03e8ce2f7162955c37e02bde608de96ebec49be8abd24cac5b0f1af33ba01b997603b7d58324afb1bfa2fab0b3f78ac7771136f407b84988c85816e0772f0c5403860382671155ac4330b85e72e37162dd9b820a45e4874ca6b10a767dc344609748c2036fac3f45375cfb65f73fc71d39b5a879c1444ab08f4a52739b9b3240f43c64fe0219ffff03a45b39cc1994fb58a47e3bb64506dd39d0ca0c6f26d2d0e5f2ebd08720ffe0e303ff928f4b189ca77ec72762de78ca32f2395ad7a09e7d57f8ad2569c09738209403baf8f0b07f1f9149847b25060a26b3cb8a63347966edc2faf1469c5eb7d74d7103cea89b07ea4ec1ed6941940bc37fcfe0f21ba5c0671bf39d9889ca409305114a0325ac868b24fa2caaff61e3af6fc20f54afb10d16772820e029e41f4be05b0e87034085ef59627322f954d651250b11482e19064c2fc59c4a27313ed7894318d2aa03843197aac079b661a74a657a7f9c0cc4a74435110664fc97839aaa82844c555c03f501b8a5b87bb65b55a27d7b436190b951ba84094697e284f07ca71549cd3dfe03f861addf5cb3be436109f7e4d12efc0d901ba34b9ee51f9b35f1bd5a1195b39e038edba30aca61d5b361690b0bec782a798d46c464c17faf68ff969cf5cd8f746d03a890d9b942cc0bb663dfda592e959f054de4c507e80c781520de7777125795b203fe12288f900a5892e2d7c6197fd2f84a8c726332c7d7006ec9727bae9530b7de03f27b05a57ef8958554cf79eda7ce2f9057c3e67c17d6a23907a0a7dcc64c2e34033aaae12b39a21d5fcec5d35d42968908e6fa6164b510426d26231d48a24de2d203fc5a8c7c180e852ba5904ca3df21eb10bfde03aaa72eaee48b21447001fa4cec032bd51d92bb544a50959054e506cead0c3f4536b702470486f55e5756a19b132f039248cdc701c1994b32f39601bfe83c3ef7ce38ca85f72f2fbbff0f86ee5bc49c03c4debea3b019d7ff1e5470980960630906019d0a5de6482acbd6a10d10534cdb035c478dcdcb314cdfa5146a07d428bd247dba501e691a629e5883882bd0e796d803cb5212abdc8362c4f27037fcd82159d3bebe0b63686c1cf9ecbeb8c16e2290b203526e9a5f136b002289051a431b5113ba8238e010d8117e3900a7b43168b4d07d0308819da6734aa14ce66b9a146b558285658c6d0bdff4951298ebb9d6a256911b033a20ec68f2d14e6c4a2e7169d81abe6e4cc0c812ebb68663c2514197ab8dd5c7031e1bf0fc21299b43329b00b9a27a6b8ca72082a4c1dc85e8d4ef09d5d6af2a8f031665bcd0e01d58aca4dae03d830dd90a1ce386a62fe74c250ccb7ba2b612992703d6103d467700a2b18db731be466063b4a92afc75c065b00de83791e90f3f75eb0321138ebaaab8e89454d4d940ee4383e9186890e3238475425a12d2a30da4298f036072598991168b73218d27ac6a5c274f5c300a685d4d9c281b1829ffbbd3abda039049a574274c3b5a9cfa805f1841767fa09d39c2f79c148f7b06f31aa6a6e2810386c23cd0fec1eab61ac17d7cf94483412dd0bcb6a1ec96e787550ce7f57c9f3a035fc6b04d8a1ccf3687fca62ce1e5b1b73906c175241233ced09f5ba68d2db077034fdb408772e1c3a452e73cd5dfcc38d78c932636a0b5606455ccdbe6aa2440ca0313d4e09a2b9c46e65d0134dca9bbb45e526ec46b6d48ec48a1b4b89b9be67e8e00581f039ddedf575e1a812a0dc971873475a75174e131439774f46a2e91d0ba1fb043040f3400581f038635cda89774999580ecb48782187dee36d6b650507a0b757f2542c36da04304e4a300581f0398a99cb1e93a7dce063fc71e86be691dd8efec1bf8d47db8e65d82065a00430732b40363ebcf5fdd86c11d00a38a0f55fc803435aa0866648192b06643f3f79aecf0c600581f03623789f36426f8bd63dad8b497f50046d60479cbed5c69ed9a3f98a765d0430922e400581f03e4c3e66599aa524047fffea90e2016cae9d35a14c20df1b6f4627c2585c0543e78938d200e0c665c2307a76ebe80c1681b735700581f03720a578e4761614691855de2fe6584739d7b649e356536c39cf69ad54dd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffff8b6879905500581e025729b07a601a1a72ea2ae383bf2dfc2ef9c87d06b5bb4ca307725aed144513e2233b2e00581e028d86c4fda48a7996475e1aed995ff4b836b4c4ba7eb0efdea80524260c430766b3021980400367bc30e916e22856a1fb79f0aff1ee0819ac8bcb950eee3c212137a45c7d500b00581f03f3c0d393b84143f7ea3805b5f4ff78b47204ce2edc10663417bde69f3a40462c039be3e688031d4421828c45e3893ddd56be263994ceb5e5383e9d7c35cccd364d4083f3d53d0300d1620431564536f51cc927f4ce3cbaf776dfb021989a2abcce18ad182c5b410219f9ef03f496d0e6ac258842cf6f21e97fbfdbc319fee6c78c9cc3b80f8ed9592777b35003dbef1211bdd50181c20bb9d4e32c03d2f573962c58ec0ce05f840d03c13ba6b70219ffff0219ffff03319eb59aa5e6793b99cf1be30a997033c48b8ff5d0a8cf3e2ccfde02b1268bdb03459fa858aec8474c0abf651fe91897c6f955691f156f57773f95484fa4c9f8b203a58469a3a292de655b2c55e5ef57fdcbd13ba574d2723ff69b838447002ff105030f322edc48d17574187c39c492fe337debb27d365389dc8691408892c7c6581703dbf0909fe10eee74b50bb2eca5d0e9f0c94a0e6d9d9de4535b4812c0ec5a0fbb0302790979b079f84caf879e05657a57cc05543e0c5500a7305c329bcd1a88c8c303d4bc8c0028fe1e60687071636ee75a284382aa539170b4ef808fcb76c900121e03d9d762978e7d6f12d03278a861f6872cf6246695a9532c987ab7ae4d4a74c3da03acfc2dfd75c22b3320eca9a88211a51253f5c3023368d57f5109810a943ce13b03d586db306102e56290bfdec582967c19c0ca228023d2499fa6c175266900e376039643828742d011f41b95d95a35a2e5cd64c18c2cccf1b1dbd0323bb6df46760a0219ffff03f404f9b9dfdc7e4f33e4858c6f7855d8cb9ff62a9646b79f6e613d3c32b5bfb8032dc6a50dfcc1ca29ce0be83136809e7b5411cbe19049893c4b188c0e082bdbb80321eaddf9172fbe240748c972162445ff1e5a9884231dc22dc98c3ef621e32fad0396b8bd76b160ac0b68c113026eb0a1117f33ae76f7175a4e5f3a26bb714ecb2303e526264e9afc2a6ec66ee2141ba069dad55a42a73f5cd40019dd5b88faf2b7d703c8263a01d137b1e4dce7b3a29f0e9c5649275f5708024a77c07bb43abacb4c620331e6a4543946d04b7bd9f8f5e495be7e108d4efdef9beb5ae330b86ab3510c3f03fc5cc3266444908ad77d58f0bff31d1846fa960d40d05e49405347fbf6268b24032620fd15be56def7bf5d4baa0869d03d723b64bc0cf831a22ce0abb3511be08803d78f9a9c8c1ba39874e7e6641de2ee31f0d18ad758328d31fd9efc0b9cc9da460323dcde62bcf2d253b31bcac437f25634953cdddc4e6534cbeb3424a987c017fb03f61970adfead4a924396d038830bcb88eb43afce1a00d00e78b0b835e091e11703d270a785e4bceae101d668b9402eae16f5cab4f488e970b5059b5a32bbd82b24036f2ac6540fb9d06997fcaa4397d02fbe4c0d8f184e2d673a4fbcd5a82278d98e03da4f721edb46101662a0b3002dbeb3681a8b1e50d1cad6d81362071ac445311b03e97bf001e9e87c36ff16ac4ddb81d980ce9461c611fe663072752c509926efd70312c29e57314de33d14995c2d36d47ed7d1fc60ad6a510942a73e3db0f3e442bf031bd580eea359b49f90089da2334bdd490190666180ada8d3bec37a4631e35b8a03b535a09b54397daf222dae26063129c65d4678328e5bd1bd7f84cd204f83c52e038239f8bc41991e837a604030658f34d36ae6bbf4a26840e750f7c7ced200817f036ef0a0fd8cf94b6ab982f2bed18025e989a19617f3aa67de7d555b67ebffffb603bc353ff991156823904d12d27f82e75480c83d446206b3c6cf4113addca030fb03b5ef92da0e22aae809aff6ce5684fabe6b48210042428993848f8a4354f6e5250389457697f2a96966cca40dfb6977a6e21d54a034b273ecf7fe23bedbb49d469d0342d497cd9353b75b1a9c448f50c28985ed1d27ad73349237254239db384f0d94032b0836e4c31f3ec270346bba1d0d8a6b9b72d7caea4c32e555b974ea6399c11c00581f0309df873b1739742ed4ece799528351d37f972c0598db317d4c75699023905452a0e7d7b72c04694578a0feb3eba8c5c6587af7034cf8fd5892f1bcaa2d4ed74332a96be75f0023371c36541ee94d7865a59da11503d07a13e786a1c5fb6ac644c07b676c6be32c7715386f03808fe3c44941819e9600581f03252364788323c038580c835236e9b8b1bdce85f7d8a89e474c084e3f67d05466e891d0bf1831a36383f89007dff55a2b6314aa03bfda7a226eccd9698aa0e5b76ca61de7a7e3dfb668f5ba414a2d4e63c898bbf00319ee2c9e01caaa83beffe3e122ee9c2501732f6f3b4435828a94e639e1808251032dbd181af6ee8657bce3fbf3726c96f91c9437914b9c9717b14d09ea4cc1a8eb03e98a6a5ab0082657af258e8bb86e0351aaf15c3798828430b693059cf75e8b1903bbda9a7b35cc42d80d0b0e8f3e9fc228043ea6c8abcad0270647bdfb60945ed700581e02e68965c77a2a3a6a11140c554b9f97f7c9b92d630ec52e8d804d1d64325486cf57e80dbdeb8e8f8007662f6f6b8c74ec1bd600581e02fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35460bf91ac87fee5a78c28f7b67701fbcfa79c18ec02190240036ba17aea48297d02eb136c02c4dc6f37b8306c7d4141fbc56df93b57e64acfd201410200581f037df7a4b471fa972831c4e619a0a6043129458ab10cd1a3bfa307504f8b504b4a817c7ffffffdabf41c0000581f032de1b51904ea94f16cae2f9e90938552fddd2cbb774c6a0b26897bb17c10536092bd7dfc0f9aee1fa836f2a84474445c4a4e037a471b0e3b7cb8dba746a4db11a39ac39a5b43373727dc692c31572b4b0ee30603b35bcc5a1fe7189eb4aef8d21d161fbd2c8976b924624e97f274a526ff872bb50219ffff03d538b2b2446e33852336bbc59f1919863f33e63c51ea49adf7845a68b37b900803c503f8c10b6ba94801247b431b94ee4111829d3ce9f671b783f29428f9788b3103d2e839203b43b14d5df9c120192d9b91a682419683e7ae25f8f3747fc46478bc03ed51dbeceffbd549a3a6ac4c191cd47450691303814f0ecc5e4a5cd3edd7bc7e030ccc41cc733b0ea580afc81b5ac54ab2fa3452ad6472287183c8e974fff91160035e06da12a1779de5b5c33a5d8cbd205f5d4a5c5a8c59038736973870163370830384701fe9f8daf497b081c0f5e7b1a8e456293587c4b2e97ef3a686d09117015a03d93f0c1d88659088890569100a509181be068e2f950013bb3dc873ca5376fba50219ffff0219ffff035da37a785140ba6be929650fba0d029dbe8be01935f1bde865f9440f0f72e4dd03b21f369391fe179903aa639af6da8b5d519cd9d60160f16f788fd1e407380816032e4ba1301e78f69b56b056805668bf5be7d45eeeba17a2ad54600b881742893b03ab47cc3664422d6a8ffef2891b20a8714764cf5320f50cc3fac8f3701e6517dc03eff5f50c0e306bcae1e97dacb4e54431c71f03fdf9d15c17bd9231e555cfccd30304e5673c5d77d893fc4e16416db37e444193f40da1c6ecab641cd2d85fc4d30803954c9b65310c271d4229a6524c671e825bb13622bee99cf2c92ecbe169b66688037ce6e55de56c73ac3c48b7d2647a9937482d59e84a86c84a1134e7b6b576b35c034f0d47c5578d6ccdecfe2a4e0c05b1c5c109fac7fc3f3337ee729c35d89a75000394553f90edd2d2adbb8f58414eddd065434d4334460acbbe8d4a9cd48d684c1203fb01b8bab4795084391c702570972dd40402ab8c699e12f61b62d21ed05e9e79031fbd3b5ce488cb4b42a3bcab356a37e17bda6036fa04ccc97bce8290634786c20219ffff0219ffff05581d02ffc22d63a0f1b22e922054a56acea91a1fce56146aa2a6a016e589ba07011932d902192150037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e031aa8bac5ab927365c4daa59efb5d8f647188eb172fcb174806440c8b7007011bffffffffffffffff03c724b09ef7573d6c8515d9b9ef46f9e394e0973086152b266046a92e9eb03e6905581e03aac03d8aa57d0f89391f515be22f872130dc984ecec4876a945ec268100c03470902fd7778accd034259aeb385c1463dd1d9b7982ad51c3e43c71ab77e3a9dcff21dbd54f480906003519bf83c89fdeff7a67f9a1cab7dfac31e26903bc83296b73c8adfdcc3587d5905581e03250812cc1545ea14922bc20eb8ea295197165eea5f31cafcfb066755e00c014709dd0d67eeb57f03802ce1ea02e7a67b7e993793eaeef1292cb3e064c3a69d2d53a3ed74f2ab550405581e03ba75f3e5f044ce8817f4700fb275aefc52edf51314f303e11d029025c00c0147013353cd841c0005581e0390bdec7933c1dc3df7f4eec72a1059ca943a897e91e55b67f5a8b5ea100c0246aea05d0174400306e68fb09627cab52c003ef89dc9a36e978c83309a107089545840147201dd8c0219db6e036478ff56d41f025151ddb689d56e54230106f9ea7a74ae5534c273b5ac005d3c034e4856b7a040f0c0aba12ac1ed73338dfdeab30fc7c09acaedced310f0c4782f038ff9187f2fe0fcc0f7ca3496e4c5158e5427e1b3d752b8a834ce2f916f5952ba0310519026a413507701b18f7302e3c8228ad5ab3d77659777f484b41de9e866e203a6fb9a3dbb157dd5b80dc22f1b324c23cec149f4539ae33dda69cf4212e93e2803c8d4fa87d9da7059371307b99aff52f7f4624d9389f58f50e84714f85a701dd60373bac4a5f9f5460852e7af336d3cdb328059ca1de1eaeb05c7965babac3e85d403d66eee951234de345ec4dae1ee4ad45d1de3a80d367646a2bdb6df6cd05884e2030d0c9ad8dce104e285c1786a4a65a8aedf2579ebf9276e3c0f4be9511c320af403a8261f8b39606c8ecd84f81ebbb63ac59fe4b6b0651ccf309d9e05c535479cd60368f4454ce8907cd09891a8558a7250fd9243576bee10ba0ee477a3234c2ad40e03ece29bad7407d8faccee0dcc14296acc22c6c366d3396d2788b01246058791790219ffff0303d8802b7752cf7997b16bfc29df3c33dfe6bc98b94770140a48f82e4f10ecf70330c95bb1e6ff0db9cf9660072c1300eaa69e01d676fffc8ebe939464bc3f570503652cb7f6c170b19ea424d7190dbd0be6cfe9962e94628190fb3571719980c5dd0219ffff0389d98ba429cf22bf31b7929191ccab599739a038749d0dbe6e18c1feb87b5d0a03e4e02b390eff84b3b0c377c3429c737f1e11882764cef757a1382fb25e757be303dcb287c0e02d5f85af75ee804dbaa2c302b64996a4455cbbcc58bfdfbabae1a5032d8f7e833c69adc9b076069b4af674d9fb2286dcfeb6663837b09e9be7298757039ff0aac16d9a6287aff39781b5b7149325e84998d87e3afd660d4d99ec5df07303fdfaa0c3e0677182f4f432d3b52dde5de2e7adc4333e47073b61bb875d04936c03a08f4a56c2af8ffb7e3776ab92afd65a9234240fe291135726f0f8fc81301eea0219ffff03662554903f77b05c41f6bd9d9e928b5639326d48aa188e6899ae1530a615a8a803cc72f24615ffd0a6bc8385b1b12ef29ab19f8f3d184532c5aedf1eb1669f879b037bcfed390bc447c8f8818647b8a7c3104aa14799615289a07b85eebbcd6187c803e3d24734cbb94af780612a82200b3e4dde8cee4c2cebe30a9dce290c77f0960f033483602dd83ab8762b3270e06c71890dee285c548a8de7d02af4f152bcb10d540367ec837975452d482ea4a6b4e10851cc3b916569f35b0aa923f981d71c88f6ae03bc42f1451e25aca6cd9d8b9065a8542ed9e6999e0bcaf85c5bc980691990c91b033c1c5cfb251c2e10f22a990fc24866614801975a1c21d611b272c8e113b141540372477802a0915a21f46d7b6c9d3e73ad898e6186dabf8433dbd21ce32e1d83e203bc8f580fd3bbc00762c94a04366630bd59a8242f6c7582f559762cf3093e2ca50387abee98f6ef8b83a6a313edaaa1c9b4c93b22592456e723187d0f2052775a4d03e72ec8add9463586238fe6b3c2e2447764b5986891791a18f7d52184836600c205581e03f8fb0135e6d1af037f96c22b6dbba89b31b2c3134a4f667d3aedf310900401039298d4e7c1f0e2fff421ba913757b3bcf4a27d08a6675a93cf372a924a2eada303c1e3f1d944f6948256ab888613673089d52cb607844d91b49c250b8ae2028e1b031c120433e6327ac600352ac99657e86da92ff916b44a8de2132fada81d2eed1405581d0251821eaaa4220b61e1ebc6bad62d5bf7dbe2f77f065b52f8936acb0c0c0147034f8ebe33fea60459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000003b50805453023a91a8bf641e279401a0b23fa6f981565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000003b50805453023a91a8bf641e279401a0b23fa6f98d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000003b50805453023a91a8bf641e279401a0b23fa6f98b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000003b50805453023a91a8bf641e279401a0b23fa6f9908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000003b50805453023a91a8bf641e279401a0b23fa6f99087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000059c68e0eca9f0844d9d4cee0bedf23c8dee462c51614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000003b50805453023a91a8bf641e279401a0b23fa6f91693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03ef2d647bdc04b7995c3a51ebfbad60b9c576f85981697c9d945625d6a82e9b5903181abb9a54ae9ef078e89f0fa2df89ca0bae8ef65c25253d61116b964e9d4b4b00582002b2cf0713fcac1873855a035b9e1900ea62fa6a6515465b7238e90967e8f8804f0364765ad9a891cd4b8ce7c4b7ffcb0058200220d7ac4f4dd6fc08d318aa3fbeba0509770a8fed362b74edcd905960311d774e0b92dd0982c8a1e93b5578439a6700582002488f9f27dc86a8fa08931db2d4f4610eaff673dbd50e45b7f193f5a8532a44489e0ca2b1e8a328ae035100a4497d782fefa3c3c6b380e87a3fb7c7b2dae085b4f4e396c4691baac9e0005820025b47a29ae40020090517922fe37a7fed34b80b6a204113a44c78e634f14cf9493875f1578afd51eaa3005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100000100010000fe7e9b000000000000000001d84702ebe756a65f92b29b00582002b3bf89c620bd764118feb484344d37b2dc166cc0a6fd6097e87c4e957eb1174f063b403e180533b8aae8816c73e6db005820029f6a185b325816aa6067d83b6071f5e6eea3eeef4844ec4db688942f59f890510113f121e7a85095b20c5f705ccba3743700582002948c1c514d004f5e58c4c0b07ffe6dcf0d3abf1fc9b4633e797bdece6754555819027f7c8132ad66477700000000000000027f7c8132ad6647770219c6d30368042acdf45c0c09da3b962ed7fa063449492f7691b522ed85934fae6e41b8bd0300bca312b787effcbb5c199c2500aecf842c7b03449ba7e56feba539c64bd4b2032014ec25ede94616aea83d122cc3f64fefcd76c2e01e3506c8798146935a60d6039eab246027c80c59a8fbc22bfc05f02f81e76ec89e58a151937653b54fc58da6033f932280c753c642688efaa775ec310c3c1a0594c14c4cdfa5c9bef0047358ed00582002557ce3e2a722bbc5aed0c5aa217ddd339e72b25eb9ae20a60502e64c68a31058189e0ca2b1e8a328ae00000000000000009e0ca2b1e8a328ae005820026821a58b2b7d72b820a3ed0923a56d838ec097d66163ddbbdb2933634441934e4fe512d9e3157344637bb74e656400582002f7502a0d8d3ee298779e2a8a0c06650145a6e25af89351d005dd5782f5be2e58200166325f2b0000108c000000000000156c326945588cfcec0dfffffd953e9044005820025fecd5a11ecc2f21649e046284d220971ee0cad9bb751e3c1c4d0c68c353ed50ab6cb21bd1a68722cf8936bdd86a9e5e0058200328439c74eec398efc2961864351b67afde3c0d12fde9c348be058b96f07960480459f0d4c8d346cc00582003d4ff1a6a46d6ca8375c4ea3af2969f7388863f6cfdad7c4aac8bc6be9af410581e060000000042240000000008c040061000000000100000000010000000000219900000582002955b64d96d98bebb300a7241488afcdaea8e05082ae1ed3d3e8dd7f3916dea4ef5c571fffa4989049e1bc0a736480058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4a1b68c21bb86469c4bb4200582002a327f7b4fd3ac26ceebe9752cda368bcebd6b47b30a779b8ea4e071eadd5854de49b9c5097b64e65d64ac912a3021917e2032be9a93cd10261a44024a6c5f76f42d7bf2ed4379403f8bd4e1c78880b46bf580381190074ce6a4818fd62f4046a3ce70847a71436b1e938269b1687417f2956f6005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6510183f5b0dab8c858fe6e082b2af24702e2005820028b57ab7b43a8333a18bb342eeab3fbbf2de3a1df679331b2873bed586cff135820010000000000000000000000000000000000000000000000000000000000000000582002e7a5a0924a2b1595845936d7652cb5964f27814abadbd318aa5792ba7bd90756508bc42ecb560000000000000000031904607976ba7b00582002847fcd093d075a563619708b7c64bfe676d43ed0119413cc6940bda2452909500cf29533a768301a55f8eb371b1007c100582002bc38a13123cc1f4b8e7ca4b316527865130ec07d74d550aaba6ce106827da35820ffffffffffffffff61f35d4e175cd75200000000000000009e0ca2b1e8a328ae03f404bad542e00bcc902818efda4ba1b6c398ac47e118c99e329fe978f43e82900219c12a039de5f62328055e239e2d987c3c18390b3f39498d6a1cbd9f7bf1c9eec158c92303b2d26eef07deefe04276b086bd7785bc80bd2652c256e6d4bfbc548b5120c42e03f8ef4b7b9e612c8b1218d0548ccd8a3aeda3f002afefa52092d30b850761545303d6366e77167d87c3fc50994a1f4776113f229e02c44bf7b09668103988c5d83b0219ffff05581d021650ecdf6b6567813c6fb4a690d1a4b91f777a85be508bde6bbc3675070119567e05581d02da196dcc050194f2d25e03252a62a3ba0008b51c5bfa82e618b64cc90c02460d225bdad9c005581d029ef2d377da6bdc9968fcbaf1669f873f94159a12aa9edc162c4ddfa80c0146f5904616e000021982050307dfcba84950a055d67254f5294c9842a65c51e3bb69c2b9a241c22c8a2875e805581e03c32cd2363ba070cbe243ce77635fbddb4f12c8b8f916c9e6f5d7f47a400c024702f97c2489cd480349390a2fae3859e5888e83be52d930274a038f739b0a9ca66065222ff11f26350324dc79c332aa0c007f3b413ffbe8a6aca096aace87d52806845bbc9431a70d2c0219f17503cfb8289076326f2d0ab708020d398315e68b8e9029a5b604407609a4d8f3af4f0300403c1ce6851eb6826b579adaca15b63037bbbd3f24b7892eadce141a212b320388f5d4f38e4c94d8abdd954d82af7d4070c7b3be905f857d22b03f683ef75d9b03afe28479d0a5718144f6207badc3ddb7f0a149bb9fced770e565405f968585b303cc0cad527fc78c1d89f819847686c5b14ac802e4f887c762bc7141f1723b1b9203a39fc14b039d393541b489dd1a0dbc1f4184dd19fed0caceb576d48e59a95d22034b36f3c7a03e45da596115d95dbcf16f24f3fec0536cc605f682381b4590419c03e1b2c83902ee436d3ffdc6ed1602042413dc6b018c8bf2c51e3fd960c1c075ad032676a4967a5dfd8285cc7acd38d65f2c216c8a2a615ba2b1bf80944cca3023f8039a10194c397b825c3546f93c0b785bdc9ba23d2a8b0b8dfa6186b24087c080330219ffff032f8d70c6e1045c59062a5506354ce92e67f6ea9b19bcb58d783b73517700308b03b3fe9aebabeef2f1ebb3f4925bf8b6175307ecf523dee5fc073fe964a04c89e603687c5f8562b9c70e2900a289d482c46ef26967ed08cd08299fbbe95fead3410103f74deeff9ede78eaa0d5408dce9295fe46ac7839d583e98da7b653e75ae2d4bd03d01d2798bc3d151c8de98b7ec37fa63edf6e8f28ff0b0477b63f3bd2ed0ed96c03a2df67721929524a8158f4cda6eed6769d1dc5a4c82736621b844d35b52dee2c037dba25ff0cac963818a26cb00e8dfb4f856efc0b85a899dffe6c7de602c1aa85036accaa26228f76303b246bb021d1d30317090e936b9c43c9ecad2537efb5b494032aca7f8510f4a434d0574003865b07c13d912ac6c09ab1f9441737b0113c5f5903fc9329b2b724a0e3bbcb0307a52c4234343e666f4074b004d4341cc58c264c0a03b701d823062479bb026aee9a4766e8a452bb2b2aaf3b0257ee19174d21a08dc503f9688f555c28a66c3f9203ad9d418439e8059740798512af97b3defedfa940080371965bbe0ca5e0de85c3843181ec55c8749871163a49eb7c5ae7d754f40a36fd03a459ba46926b9894fec37eb1cf5100a52ba41fdfe9470090d75c1dc154ac923f0219ffff03af9e3fe7c31901d5883f2b3c594dd9e86d42a99b7b93511ce09cbb381791e38b03b19c3c8482f21a6025e3797396de35ef8f17720393d22291d029144ee82152fa035064b717b75aa5f03dc7dddb92628fc912ca47d54ad86ed63fe445f155cff5f003198d0ec7d1bc874c3154afbae1bf49f9414adbafe2f6f1885d916c478b12416d0388e7fdc59d3c99752de2a43d5243b19e3d8a144bb84c97c6a19301fe7a7fed560378352beae031d4980e8bb2ebef5d08dcd17b468cb8b03fc437ed6e0d0c40d487030837df7bd6b5daa0cf0d544615ba095ca562ee5d184e32ce9a9439084d6ea3ae0346f44606c0e27ed2f821fbffdcf314553160dffb4fb40d0810f5befbd4ecf53b033ae1a4a9037433f94bae3a6cb018bc7831f3ba4a28d52d78d35b8c46f8e5f09103f898cfd83aa0e100422e17da6696d7a6ba76639aad231166dce269c62f9e63c20398b8edcddb10db6fc8346dda63b80d2f2ef722ff50703670bde65322a113eae203901831db7a82d6eadf1aa3ebdba12bf70b5ed3f2229d1ab5f23264bce3a868c00219ffff03832fcc89c71e43af017fbac3d8e8f395af31d27f112a27533bcbd2237f383fe403c3e704fe9900eddedb3e3c11facb33dfd61e1fff0614a8ae1fdc75fcbee03f7703eb2a5360cae0c2d5726cb5ed9f5db66d2c3a0a30d202c80ac5c72db77bd5cb7c0358ccf874cdd7ed325134ae194d3f7cef0a9da42869cef6dab3ac5f2ca841c98703db7821433489e47b9a0e94ba68ef558c0753909069cdebc2d104efd4dcdfc207039498a7d7e2824f206e0393043f47bfd09f5c6323594cc4bfeed3515bb305da6803675dd775f7afbad7e4f8151b99d0fcf1186e667f0590fd1f4f5370a7e652359703b1e92cae0873545bfaf97dd8f38dcd31e08d1c604d5dac5ae24e95e477fd51890356243fa174bfdf13865e3b0b0c2c879e5ce5b904aa1f53aa29693b1ed50401c303248551dda8db1b1f65492992559a008a7e74f0b05d1a5faef9d06a762f96848803d03bbf614fed96e1d2ada8619cc01cb6bdcfc6cf6ac377d85a0371a0afca4b8603497dac22206a53b7f1cfecd92bfe1191f7f2bb8954f6b38608f72c0c36d3988503a88ac67a5ddddf8914404be82865bbe8560fcbc9fb417560d4578964a87bb90b036e28b300c888c30ad6eec320fd37b69e6c5ce25e293f097eea3b692c20082f36033b4c462372e3b572c9bc9e189b0a11352ad246ca5e032db5b1fa17cdbfaacb5503bba77c3e79fbecea81c526fe3cc770ebbcc17b8b02fabe42078f043443970710030da49f306a4ea0a8909b88c04bd74e0bc5cb77f98d6d6c9b8af813c144e3ef60035be2b301d6596de5db8c1234bea7c798ce12c8846015f50143039860e93eb7da0333c36c798cb31a2722a85b8abe06c19b8da7245c37c09815492acad6436963ed0321cec63a1d52e30d179b641b99a54bd37526622e7c18ee3bf574c5015c7779a203f878d1983f05512d17280471bfb7381711bd48d48a0e5327a8683a45529ea435037e81fc58c9ce0d0d4cec16d9e7fc0bc5a585bfc8fe623cecbd2b733a91c8c18203e242973a108d764a56e09dd98a1946bbec75081ed62997e0b7bdca5e2111d91503604c95d687aad5a68d0cd9b4101a79bbbe3c4f923552c9a98dd1a68c3ba3eeb4032f60e68df8b1408e9c73982de70a7403993a13db5fe4a0d759ac1dee1d4f02a803d584e862027a8d9dfa8a0a00f55c95ba4e1b69b58702f8f6be55efa57887fc5c03be0e792deee21557169a31a35501a2408889d3b5c3b9e8999e5cffd5c884308403a589e5e2a304bb0e4f332bedf4f8d6a7711dfe03f0b7dd4126327ae64118ebe303ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03b5f83d81e442e304e10b2aeb17ae33cd15dace34926f000f21f582d0d007011bffffffffffffffff05581d02dba295b8d8f60f61c12afe854d59f8001198a3a864e7f46a5b97f1030c19028148018c67cc2af08a3e03db79b39cf5358e93333235f43d313939677275db1db5d8f9f9f2659a51955cdc0605581d02e97a568cbe0d2ce44ccb3e941fc408b825080e10102517b63a3da5ec07011bffffffffffffffff0218a003ebed8ba9ae214cef8a95a59dfb08b66a9a18f834018ccd01f901e7c212e20f8501410005581e03d040e76b5d36f8df8fffa6254605c2fe0bd295d6871b3013e2f216e0400c0146d8209c89ce300378ab3e3d59a3de1d9bf2d0c5050987e19d4a49a77cd54f54b28f7c529c51699a05581e034202ad5921f19eb6d89d66ac62fb45d0105614a57121842c9a5434b97004010322ef40c46d98a39c2a574321ab63702ae03ddc20414c788e48408f71e9e947ac03736d54af9327993810e9b502e810fedca214853f25198d79a4978c6fd5b9c28705581e030de2956abc7b4e550b9d5589cf8fa643ef5378b0b608134bc9228136d00c014701874a96f8ebc005581e036552bacc93229e5bc2190106372e12a308eb65fb3fd75e4487cf139a30040105581e035cee8b2a51c7a58683a103c419d8f960b41f69f843007103d135ad99600c1822470d0274aa83f7800219ffe80219ffff03a0ec0572f8d238179cefd1db922006926c7e6432ad278e2061a83328333631bb037115d4102431213f15fcb24cdb14f2baf984cb1a4cba88115d0c9ef9418902c503ce9638a12a071e3725c0fb30664c6649e41df4a608b25decbf5943bb36dfdde3033ef4112f3bf2d93484295d90d077c19d5a78fd1c3d8f66f0639fb490fa6a9b7c0392c7eb68f507a17e97ab3dafebb0f68d475d1b4276d341747f7cdc613ad6e37a0366fb565e1589e41d43de082548a647998c363a53085df81c2b91f78e08672dfe03b77b467310ff8c4729de06680d6a14656e3b41fd7df3ea1ad67473253b151d84035e9f49adcd516429a0b2ef0c4618155de5e7d1af149c6f6f124a6a8b7fbdf9ba0335a7f40f3ac105651306475b3c34c68a2b9a701c22eb8de74bcd7440676a76be03e94d4053815210a1f35f96895f84645c21ecb361f0c20e922735ae993a234b7803244f69f95ad79aef64ec4ea43f3bab0476c30b377bead4927c2e4026ab84615d03aad47f862309f92a627005d94a1e165217666475e19881c57b849c5d3457cf210385bc61c77f13d1e9e7a917bc9acfca9f564c5e9c467e5ffb7599c2d6649d75f60326f8ddc3ffa679c34afa12cd74cb55ebfda68834ac02bda76be094497ac53c3d0219ffff03d3d5451e2f7115dd91442a59348faf117fca67eeac112ac75d426a20be473dd6031a2e38a97ffaf5242155b823646a66b71e72e7a85bb56eff16686b301f1c82b003b36f7d65bdc817f6aa37e42f02306a63b87c5ebbd39f80a22332f1d9a2b52de6034bd6533b55eac71a50f5dea0d54283706d460057e4af9a29de8a70d3bcbfb25c0219ffff032a21be1ec742a07733fc5fa96e62a5617aa3205ce1385f53bbaffbd48b7e2ddd0219ffff039a8b5a4da1b03fd164440ae11797b7f659a03f81595dfd89626e65357c0f8cc40345ef414cb078f3e8fe4c03ff21eaae3e2eea23338b8eba5137ee6fe4bf9780cd03e944a0d00036e8361d540f7469ea3d048bc47887f8b3c7fd7b314ab24ce89ba20355279d604528b42d46f0072f0eef49d9f8a70ef5c340f9f19fd8d1a2d24bdb2a03f83717351c2b87d43eaae3a87f61ee28e47d640a4ed27d672343cae3b7e32a72037b6c402d5e1a8951d2fad2ea85611562efa73f914626a546919662b45c33931603c21916564bd29ec4c0a63ec3a372a9c52500959011e4add7a04019fd7d86d49d0319c75db755cee89e25fa195b6351dc9299a5d81218c8ba1239a7b66a9678ffc103a80777117876c6de151c66e8a1104fd82d62246968f4e4035d3f0e6e014f166903f89b3d7a68dd616fb398321cff03f323d6857d8a26ec106fef385a6b703410c303a4a2f7fc7a69b6a2501c8b7bb2a63719182a381cd56c2ac0e2d866bbbafe617f033e454225fdd84ec7321c4f62b96ba59197c9e4812688deb7270f90004e25fd290348af3103fa98ed7afb844ac7d2c2064bbebe9ce7eb792df6addac2c9e8ffce9103b1d4645c83d4f84f767dac647853512fa0f535f3c66c089ee32493f5de2b7cf405581e03fe7a3c697481d8d0f20fdf5f812e2d51e859957d0cb95256b1ce223140040205581e039de016e413a9a38969269bf26ad8d29629e63fb09ab4e96f655b1509f00c0147077211a843ca00032207ebeae11dd379dba1d78fa6181566d706abc94989768946d2412b82e2cfb205581e03b3b67e1518b208c735dcd9b4b5bdbbe2dec527ebb6059e545eb33c72a00c01470413bdd7f8dc0005581e03873a1de3b121872973e6fe2a8046066daf361e0927592448d3f76714400c024703c5e2c3f5d8df05581d02bbd44d97fb8329bb65a0da007644e10b30dce793aeb5cadaf36b55d60c1147078cae919d057b05581d02b429a381b1b3ada5ecbc9ab8e9516d964c526b61c2916b1d4438ea910c01470102fc19924cdf0219100205581e03d6b87f72c2646147aa5a6def988e4487ee6d2aa9f14bb7619d398915f0040c02191b2e036fb895c921379e494ef5ecca92dcaeebc59bbba30573a870df87800994265fea039755d4cf41a2232dd68b44d05d06e48d69225b0a7b0571aae7f5eefbf4226b5b03a2b195ac0b79df4ee82a9c73a29192ed10c3c39b6fc160bfc1461ec49459841503778f6556a37a8aa5292eb6afcb391de650fc7f2bc3c66d134bb8f76b292d0bcb0350f801d0f8b5bbccd4d366225e2feae9e071aeb1ad6a09bf7711477012690e6303124e52a1c38bcb9fc46cc34c8a3b80a9b825dc4ed7c0e4e9ac6d8a8afc6aafd303a6de53639a1f3b180fb1e5fc7bd81f66043dde3f56b245761a082d0461e22ac8032e395f18a18bc679203ef0c48a77f61758df5b1e0df66491bccd0d5b8d68b1df0397762b4ae65cb585e0a14fff6f510a06f79383226a8b22f74a68713dda59193a0333688c41b0e7b0d17c7d1765979ae7fd656e15a519a01a5c57a257bf5e8bf385036aa72f357e8731d8afd514069b7a9b51759396ed62fc8e1c23045f4ce8a93e550219ffff03c2a00633c5a28c625dd72253a1a59f5a4813fa62f713b3bea2d1d986b486ad7803af9d1da6f70182a42a9c6772532498f9459392e3098fb8de780af3334ff79716037387bebf62e68a098c41810d3a5f3592b5c8c34c9719839e02df4361d149251503f61d35ed454340b3d7103044f3fc1372fa6d8fe795fe7b7f9b57e4e760c2192a036171641cd0735a5b7f4f9eddba3e37111f962c15bc337f6f41444827c118e6ff03575f977caa58eddf5c21a52b48bdadeb2b48b9777e6da8fb335b6f8bc738074403dfefc47987fdd8ea9c0eb690a61adf4de861a084a48d885d2f4ad6f63bf6bed1037d0732007ede8bcc70cb0501434972fb7eed33879689d5c2146c3f5cabb9677c0326abbdd1779a1c4ab038be57b0ecaca0765932928e8e3093620ab1d5ed1e752f0308d63472b19db4465f554a8e5eb849229b07f321d03dd8b6ada45d6df4ce9c74038d5e19af70fc2f2ae3fd7b49d1021b7e86ff3185bf64b3e05cfabd61c3dbea90036d32e55c7670b481decd6f1f1d1753c6b90a87f78a2a28bb67169bf15c78051e03ec2a21f95fef0bfd718481087125e9acbc87c95bda6514f28deb24c63dcd3926035c5b728cc4f2ce2ff6d0715765d4e40d56aa3a3d8d09e734a26c7ec7cb5c8b2503b94ad86d523443754063aa487b36aeeaa78b0096c28b55507bfd725118bc1ff60219ffff03ed71844973c4ec74eb367553ea5e287bc7629e5d7b922f7a73c0941b96e6a6d6032d5328a8c6b700e0a44c9792102f36190d34af590d965d0bfa9ebb06d04be7210381e6648364530ec0060163c21981dddaed9516e074216daa6097c66ca7235d9503a0c379664984f1a1c05a5329a430399b7965af8938ed630cec88c4bee07deac40345886ff35d444288366f8de3203d4da92a1f65309988c3827ad993758d7c622f03473ba64d92e5dc5f9a9a79d2e51270860925f004e2527b57b525e812a228281203ea55d989d9226f7ca3315da4413c2f159b8663cedbdb6528a0ce14815a43ba5d05581e031c7fb5e254731af7d35613df061d6d4eb716a321ad9fc1a8c6cc4feb800c02465edcd5238960036a81c29f9959ba862b8e3e3c2cb3460fc33c0f7016a7ecb75db9eb4f8150184a0393fd4352e325036e0754e23c1ca8652ab1489a8ecb0d6e9c1b83b36b6c557f5505581e0390573059647a00fe1e31960ff3dad24f18f06f821d4e623e1b3be316500c01470a23ee863e268003833130e8d8737bf2de1c60917de53dfe629f65e1f92cfaa77cc2c9105bc6190c034f5ecccdccd27e030d175befb1db3baaa1f82f167fcbcaa9dc5e9ab9c493f6b903de8cc0a80a910c253f91ed1e5dee70f26cee4dce6721215fb8ed9a34653d84a4045937ad6080604052600436106102345760003560e01c80635eaa82471161012e578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e14610830578063e6be4a721461086d578063ea2f0b3714610896578063f2fde38b146108bf578063fb235f34146108e85761023b565b8063a9059cbb14610771578063b29ad50a146107ae578063c49b9a80146107c5578063ce831ed5146107ee578063d2d7ad83146108055761023b565b806375f0a874116100f257806375f0a8741461068857806385141a77146106b35780638da5cb5b146106de57806395d89b4114610709578063a457c2d7146107345761023b565b80635eaa8247146105b35780636b67c4df146105de5780636ca60bc61461060957806370a0823114610634578063715018a6146106715761023b565b806339509351116101bc578063470624021161018057806347062402146104cc57806349bd5a5e146104f75780634a74bb02146105225780635342acb41461054d5780635d098b381461058a5761023b565b806339509351146103e75780634076350314610424578063437823ec1461044f5780634447842514610478578063461d9476146104a35761023b565b8063220f669611610203578063220f6696146102fe57806323b872dd146103295780632b14ca5614610366578063313ce5671461039157806336e4ec64146103bc5761023b565b806306fdde0314610240578063095ea7b31461026b5780631694505e146102a857806318160ddd146102d35761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b50610255610911565b6040516102629190612337565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d91906123f2565b61094a565b60405161029f919061244d565b60405180910390f35b3480156102b457600080fd5b506102bd610968565b6040516102ca91906124c7565b60405180910390f35b3480156102df57600080fd5b506102e861098c565b6040516102f591906124f1565b60405180910390f35b34801561030a57600080fd5b50610313610996565b604051610320919061244d565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b919061250c565b6109a9565b60405161035d919061244d565b60405180910390f35b34801561037257600080fd5b5061037b610aa9565b60405161038891906124f1565b60405180910390f35b34801561039d57600080fd5b506103a6610aaf565b6040516103b3919061257b565b60405180910390f35b3480156103c857600080fd5b506103d1610ab4565b6040516103de91906124f1565b60405180910390f35b3480156103f357600080fd5b5061040e600480360381019061040991906123f2565b610aba565b60405161041b919061244d565b60405180910390f35b34801561043057600080fd5b50610439610b66565b60405161044691906124f1565b60405180910390f35b34801561045b57600080fd5b5061047660048036038101906104719190612596565b610b6c565b005b34801561048457600080fd5b5061048d610c06565b60405161049a91906125e4565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c591906125ff565b610c2c565b005b3480156104d857600080fd5b506104e1610cc3565b6040516104ee91906124f1565b60405180910390f35b34801561050357600080fd5b5061050c610cc9565b604051610519919061263b565b60405180910390f35b34801561052e57600080fd5b50610537610ced565b604051610544919061244d565b60405180910390f35b34801561055957600080fd5b50610574600480360381019061056f9190612596565b610d00565b604051610581919061244d565b60405180910390f35b34801561059657600080fd5b506105b160048036038101906105ac9190612596565b610d56565b005b3480156105bf57600080fd5b506105c8610e6a565b6040516105d591906124f1565b60405180910390f35b3480156105ea57600080fd5b506105f3610e70565b60405161060091906124f1565b60405180910390f35b34801561061557600080fd5b5061061e610e76565b60405161062b91906124f1565b60405180910390f35b34801561064057600080fd5b5061065b60048036038101906106569190612596565b610e7c565b60405161066891906124f1565b60405180910390f35b34801561067d57600080fd5b50610686610ec5565b005b34801561069457600080fd5b5061069d610ed9565b6040516106aa91906125e4565b60405180910390f35b3480156106bf57600080fd5b506106c8610eff565b6040516106d5919061263b565b60405180910390f35b3480156106ea57600080fd5b506106f3610f05565b604051610700919061263b565b60405180910390f35b34801561071557600080fd5b5061071e610f2e565b60405161072b9190612337565b60405180910390f35b34801561074057600080fd5b5061075b600480360381019061075691906123f2565b610f67565b604051610768919061244d565b60405180910390f35b34801561077d57600080fd5b50610798600480360381019061079391906123f2565b611013565b6040516107a5919061244d565b60405180910390f35b3480156107ba57600080fd5b506107c3611031565b005b3480156107d157600080fd5b506107ec60048036038101906107e79190612682565b611134565b005b3480156107fa57600080fd5b506108036111e5565b005b34801561081157600080fd5b5061081a61131d565b60405161082791906124f1565b60405180910390f35b34801561083c57600080fd5b50610857600480360381019061085291906126af565b611323565b60405161086491906124f1565b60405180910390f35b34801561087957600080fd5b50610894600480360381019061088f91906123f2565b6113aa565b005b3480156108a257600080fd5b506108bd60048036038101906108b89190612596565b611540565b005b3480156108cb57600080fd5b506108e660048036038101906108e19190612596565b6115da565b005b3480156108f457600080fd5b5061090f600480360381019061090a9190612596565b61165d565b005b6040518060400160405280600681526020017f4e6f64654149000000000000000000000000000000000000000000000000000081525081565b600061095e610957611771565b8484611779565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600454905090565b601060009054906101000a900460ff1681565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109f5611771565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c90612761565b60405180910390fd5b610a80858585611942565b610a9d85610a8c611771565b8584610a9891906127b0565b611779565b60019150509392505050565b60095481565b601281565b600a5481565b6000610b5c610ac7611771565b848460026000610ad5611771565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b5791906127e4565b611779565b6001905092915050565b600d5481565b610b74611d8c565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a0081604051610bfb919061288a565b60405180910390a150565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c34611d8c565b68056bc75e2d63100000811015610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c779061292a565b60405180910390fd5b80600e819055507fdd970dd9b5bfe707922155b058a407655cb18288b807e2216442bca8ad83d6b5600e54604051610cb891906129bc565b60405180910390a150565b60085481565b7f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f81565b601060019054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610d5e611d8c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc490612a36565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610e5f9190612ae9565b60405180910390a150565b600f5481565b600b5481565b600c5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ecd611d8c565b610ed76000611e0a565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600381526020017f475055000000000000000000000000000000000000000000000000000000000081525081565b6000611009610f74611771565b848460026000610f82611771565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461100491906127b0565b611779565b6001905092915050565b6000611027611020611771565b8484611942565b6001905092915050565b6001601060006101000a81548160ff021916908315150217905550600061105730610e7c565b905061106281611ece565b60004790506000600b54600a5461107991906127e4565b90506000810361108857600190505b600081600a54846110999190612b17565b6110a39190612b88565b905080836110b191906127b0565b92506110df600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826120d6565b61110b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846120d6565b6000600c81905550505050506000601060006101000a81548160ff021916908315150217905550565b61113c611d8c565b801515601060019054906101000a900460ff16151503611191576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118890612c05565b60405180910390fd5b80601060016101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516111da919061244d565b60405180910390a150565b6111ed611d8c565b60004790506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161123a90612c56565b60006040518083038185875af1925050503d8060008114611277576040519150601f19603f3d011682016040523d82523d6000602084013e61127c565b606091505b50509050806112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b790612cb7565b60405180910390fd5b7f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516113119190612d49565b60405180910390a15050565b600e5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113b2611d8c565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141790612de9565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161147f929190612e09565b6020604051808303816000875af115801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190612e47565b905080611504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fb90612cb7565b60405180910390fd5b7fdd970dd9b5bfe707922155b058a407655cb18288b807e2216442bca8ad83d6b5826040516115339190612ee6565b60405180910390a1505050565b611548611d8c565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00816040516115cf9190612f86565b60405180910390a150565b6115e2611d8c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611651576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164890613026565b60405180910390fd5b61165a81611e0a565b50565b611665611d8c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cb90613092565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516117669190613124565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117df906131c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184e90613256565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161193591906124f1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a8906132e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a179061337a565b60405180910390fd5b60008111611a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5a9061340c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc9061349e565b60405180910390fd5b6000611af030610e7c565b90506000600e5482101590506000601060009054906101000a900460ff16158015611b6757507f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015611b705750815b8015611b885750601060019054906101000a900460ff165b15611b9657611b95611031565b5b7f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611c3b5750600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c5d57606484600954611c509190612b17565b611c5a9190612b88565b90505b7f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015611d025750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d2457606484600854611d179190612b17565b611d219190612b88565b90505b8084611d3091906127b0565b93506000811115611d7957611d46863083612191565b80600c6000828254611d5891906127e4565b9250508190555080600d6000828254611d7191906127e4565b925050819055505b611d84868686612191565b505050505050565b611d94611771565b73ffffffffffffffffffffffffffffffffffffffff16611db2610f05565b73ffffffffffffffffffffffffffffffffffffffff1614611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff9061350a565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff811115611eeb57611eea61352a565b5b604051908082528060200260200182016040528015611f195781602001602082028036833780820191505090505b5090503081600081518110611f3157611f30613559565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611fa057611f9f613559565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612005307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611779565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612067959493929190613681565b600060405180830381600087803b15801561208157600080fd5b505af1158015612095573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516120ca9291906136db565b60405180910390a15050565b600081031561218d5760008273ffffffffffffffffffffffffffffffffffffffff168260405161210590612c56565b60006040518083038185875af1925050503d8060008114612142576040519150601f19603f3d011682016040523d82523d6000602084013e612147565b606091505b505090508061218b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218290613757565b60405180910390fd5b505b5050565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121e091906127b0565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461223691906127e4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161229a91906124f1565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122e15780820151818401526020810190506122c6565b60008484015250505050565b6000601f19601f8301169050919050565b6000612309826122a7565b61231381856122b2565b93506123238185602086016122c3565b61232c816122ed565b840191505092915050565b6000602082019050818103600083015261235181846122fe565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123898261235e565b9050919050565b6123998161237e565b81146123a457600080fd5b50565b6000813590506123b681612390565b92915050565b6000819050919050565b6123cf816123bc565b81146123da57600080fd5b50565b6000813590506123ec816123c6565b92915050565b6000806040838503121561240957612408612359565b5b6000612417858286016123a7565b9250506020612428858286016123dd565b9150509250929050565b60008115159050919050565b61244781612432565b82525050565b6000602082019050612462600083018461243e565b92915050565b6000819050919050565b600061248d6124886124838461235e565b612468565b61235e565b9050919050565b600061249f82612472565b9050919050565b60006124b182612494565b9050919050565b6124c1816124a6565b82525050565b60006020820190506124dc60008301846124b8565b92915050565b6124eb816123bc565b82525050565b600060208201905061250660008301846124e2565b92915050565b60008060006060848603121561252557612524612359565b5b6000612533868287016123a7565b9350506020612544868287016123a7565b9250506040612555868287016123dd565b9150509250925092565b600060ff82169050919050565b6125758161255f565b82525050565b6000602082019050612590600083018461256c565b92915050565b6000602082840312156125ac576125ab612359565b5b60006125ba848285016123a7565b91505092915050565b60006125ce8261235e565b9050919050565b6125de816125c3565b82525050565b60006020820190506125f960008301846125d5565b92915050565b60006020828403121561261557612614612359565b5b6000612623848285016123dd565b91505092915050565b6126358161237e565b82525050565b6000602082019050612650600083018461262c565b92915050565b61265f81612432565b811461266a57600080fd5b50565b60008135905061267c81612656565b92915050565b60006020828403121561269857612697612359565b5b60006126a68482850161266d565b91505092915050565b600080604083850312156126c6576126c5612359565b5b60006126d4858286016123a7565b92505060206126e5858286016123a7565b9150509250929050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061274b6028836122b2565b9150612756826126ef565b604082019050919050565b6000602082019050818103600083015261277a8161273e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127bb826123bc565b91506127c6836123bc565b92508282039050818111156127de576127dd612781565b5b92915050565b60006127ef826123bc565b91506127fa836123bc565b925082820190508082111561281257612811612781565b5b92915050565b7f57652068617665206578636c756465642074686520666f6c6c6f77696e67207760008201527f616c6c656420696e20666565733a000000000000000000000000000000000000602082015250565b6000612874602e836122b2565b915061287f82612818565b604082019050919050565b600060408201905081810360008301526128a381612867565b90506128b2602083018461262c565b92915050565b7f596f75206e65656420746f20656e746572206d6f7265207468616e203130302060008201527f746f6b656e732e00000000000000000000000000000000000000000000000000602082015250565b60006129146027836122b2565b915061291f826128b8565b604082019050919050565b6000602082019050818103600083015261294381612907565b9050919050565b7f576520686176652075706461746564206d696e696d756e546f6b656e7342656660008201527f6f72655377617020746f3a000000000000000000000000000000000000000000602082015250565b60006129a6602b836122b2565b91506129b18261294a565b604082019050919050565b600060408201905081810360008301526129d581612999565b90506129e460208301846124e2565b92915050565b7f7365744d61726b6574696e6757616c6c65743a205a45524f0000000000000000600082015250565b6000612a206018836122b2565b9150612a2b826129ea565b602082019050919050565b60006020820190508181036000830152612a4f81612a13565b9050919050565b7f57652068617665205570646174656420746865204d61726b6574696e6757616c60008201527f6c65743a00000000000000000000000000000000000000000000000000000000602082015250565b6000612ab26024836122b2565b9150612abd82612a56565b604082019050919050565b6000612ad382612494565b9050919050565b612ae381612ac8565b82525050565b60006040820190508181036000830152612b0281612aa5565b9050612b116020830184612ada565b92915050565b6000612b22826123bc565b9150612b2d836123bc565b9250828202612b3b816123bc565b91508282048414831517612b5257612b51612781565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b93826123bc565b9150612b9e836123bc565b925082612bae57612bad612b59565b5b828204905092915050565b7f56616c756520616c726561647920736574000000000000000000000000000000600082015250565b6000612bef6011836122b2565b9150612bfa82612bb9565b602082019050919050565b60006020820190508181036000830152612c1e81612be2565b9050919050565b600081905092915050565b50565b6000612c40600083612c25565b9150612c4b82612c30565b600082019050919050565b6000612c6182612c33565b9150819050919050565b7f5472616e73666572206661696c65640000000000000000000000000000000000600082015250565b6000612ca1600f836122b2565b9150612cac82612c6b565b602082019050919050565b60006020820190508181036000830152612cd081612c94565b9050919050565b7f57652068617665207265636f766572207468652073746f636b2065746820667260008201527f6f6d20636f6e74726163742e0000000000000000000000000000000000000000602082015250565b6000612d33602c836122b2565b9150612d3e82612cd7565b604082019050919050565b60006040820190508181036000830152612d6281612d26565b9050612d716020830184612ada565b92915050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b6000612dd36036836122b2565b9150612dde82612d77565b604082019050919050565b60006020820190508181036000830152612e0281612dc6565b9050919050565b6000604082019050612e1e6000830185612ada565b612e2b60208301846124e2565b9392505050565b600081519050612e4181612656565b92915050565b600060208284031215612e5d57612e5c612359565b5b6000612e6b84828501612e32565b91505092915050565b7f57652068617665207265636f766572656420746f6b656e732066726f6d20636f60008201527f6e74726163743a00000000000000000000000000000000000000000000000000602082015250565b6000612ed06027836122b2565b9150612edb82612e74565b604082019050919050565b60006040820190508181036000830152612eff81612ec3565b9050612f0e60208301846124e2565b92915050565b7f5765206861766520696e636c7564696e672074686520666f6c6c6f77696e672060008201527f77616c6c656420696e20666565733a0000000000000000000000000000000000602082015250565b6000612f70602f836122b2565b9150612f7b82612f14565b604082019050919050565b60006040820190508181036000830152612f9f81612f63565b9050612fae602083018461262c565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130106026836122b2565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f736574526576656e756557616c6c65743a205a45524f00000000000000000000600082015250565b600061307c6016836122b2565b915061308782613046565b602082019050919050565b600060208201905081810360008301526130ab8161306f565b9050919050565b7f57652068617665205570646174656420746865205261726b6574696e6757616c60008201527f6c65743a00000000000000000000000000000000000000000000000000000000602082015250565b600061310e6024836122b2565b9150613119826130b2565b604082019050919050565b6000604082019050818103600083015261313d81613101565b905061314c6020830184612ada565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131ae6024836122b2565b91506131b982613152565b604082019050919050565b600060208201905081810360008301526131dd816131a1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132406022836122b2565b915061324b826131e4565b604082019050919050565b6000602082019050818103600083015261326f81613233565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132d26025836122b2565b91506132dd82613276565b604082019050919050565b60006020820190508181036000830152613301816132c5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133646023836122b2565b915061336f82613308565b604082019050919050565b6000602082019050818103600083015261339381613357565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133f66029836122b2565b91506134018261339a565b604082019050919050565b60006020820190508181036000830152613425816133e9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006134886026836122b2565b91506134938261342c565b604082019050919050565b600060208201905081810360008301526134b78161347b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006134f46020836122b2565b91506134ff826134be565b602082019050919050565b60006020820190508181036000830152613523816134e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b60006135ad6135a86135a384613588565b612468565b6123bc565b9050919050565b6135bd81613592565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135f88161237e565b82525050565b600061360a83836135ef565b60208301905092915050565b6000602082019050919050565b600061362e826135c3565b61363881856135ce565b9350613643836135df565b8060005b8381101561367457815161365b88826135fe565b975061366683613616565b925050600181019050613647565b5085935050505092915050565b600060a08201905061369660008301886124e2565b6136a360208301876135b4565b81810360408301526136b58186613623565b90506136c4606083018561262c565b6136d160808301846124e2565b9695505050505050565b60006040820190506136f060008301856124e2565b81810360208301526137028184613623565b90509392505050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b60006137416010836122b2565b915061374c8261370b565b602082019050919050565b6000602082019050818103600083015261377081613734565b905091905056fea2646970667358221220d27eecf47fd26e1a172780e5093d395abe48026a3c958d00d71fe3f1ec7d277b64736f6c6343000813003303b32ab06b2b90fda04328afbf9bacb8799db3da60e6402c54357d763583bd213303feb48b9937b2100936dee4d61a1dcbcd3f96e9843d713fc32978e9e02613c72f033540953362ae395040d985e1d1466aeccf2db4d993f811d5d95190ef561eb2fb0397dd8def6cd35a6826076dbdf8ecf57dfeb834d6b6b55cce81c5a96b1536151403481087f4269777103dee1d94848e8b5f60163f48d1671e0eb22ce8c1cb3dd8cd032bdb4b4f142949cabbd5154273379599d64b0872911b9a81608ea7e174f3041203ae90718c2d0cf685b7d0b4fef6f042a2fb3114ea905f2241703fd05f81d8dec703799d9c1ce5d58ecb71e510a1daace3cd5d81c20502c5c70d78829a2a46c9214803d4e4d200e0115d5418099700aa4a6bf407d065d9d05853e79a470b575d2c1cee0367800da919455da73efa05f921eca2550f9309d3e7119fd26eac047e3faeada30370cb2b531e34fbab79e36217751f2e0e8d7ba91c0f8971f1f034592ba546cc3e03783de59cbfe898193a3cbb828433cb7a11981f2ec4103f9acfde496818cbff40037403e91488218d2db19ef2482187f48010acebb7c7b5a40eb4c1a2590fa50ea2035e9de16df075196204c374ed493b9ba459d8afcd6621d01d051752e7a27b22a703daab2123fef603a4525129e169703f9a73e5c91684e74418e5f0058e5b36dc5303a9cb435faa67458c89b779750d58f2c25ebc5aba1b2069374cd19e38ea4110aa03f9baff683ab3ee57d43f93942f4aaee72aeb39fe15bde409afeb9a2d42985158038547e1c11945859031917e87fa86c5e39e687c76b4dd9fdbe4b07e92fff4946500581f0290713e65a55910cb3a3d509b965aa66efc76c6a2a4eaea2df07b608e19294911e0a164c255efcecb03a39c5d4a2db9770b068fe049d33c65906b3aefd06868550975f435bb52fecdc400581f02003c0c24c9de2c42758264a57815c5358cb5906084b986dde631816fb1d64938c405e892e07ecd2b00581f02dcc6a886020df34db74439955c9f8c277cee68f49c5edb8bb83c1d6042c24a02219b449c170598718000581f02248852bfc71e57df8897b7e3d265a76f2a18656e4d9a20b889dbd0254fa84906073a9cd8035d8f3400581f037dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672042010000581f0356f6990d2328088a5bddfd31e420910cdda51cf8ccd6f7a1575d67b03db049314d3a582546593e1402192010034f415193ea8abdcbad6ec458376ea5309621eb14dbb766332bb386237553e4a6021981d3033368bf9464871a66633a5baaf850a2eb7241021979b0acafdd5cf163e843133c03a51acc8c7cbb45f12856a2d49b70181499af98c9f81710f41927d10f5eeaef2403ffd2eadb25febfb486e7c2035beac185fc44b94207240c0673fb75381946385303d6c8de134a7c9cd80dc8e263e927ae0ed6b8df5e629ed685f3f87df57ebb5a3603b6b834f7c5296c14c2a79cd247fe8297e3273637c5c948317567e5ab6769e8de03b7f8675b0cb68142abc1441b391b107f3f1fddf7228dd27c31f8659cf027ce4a035ba23180fde2af59f55b57d6e75c70e98db935617bc27827610bbbe9d6c649bf03e4cb51c223559d84a15e19b2b71339688c2068b03472b3d7956bb49626da7cae0334f123473a1d370c736b646b17bc7fb1cebc94e79284823f3473db632d90ebfd0219ffff03082ae1789eb4de2093b459e74020607fae0759a2296bceef4573827b45a4197203b73a857d5edc7527036cdc5f8f7f687417140448cf1c6b2725cea9e17549f9090341c0ebfa2ef0e0fbb8886f99ba437c0ad87646af5c323fe137c02b8e619b205a038f1c102fa99089c48c9500945607847bba524e4b94ac0a85da93c75f022204480219ffff031c3ec0a90b2ef3dae0e114133c9e9865ccb15b5a0e2e1d30709e2cd0dfd11b8b03f1cea7835449cee020564b7db4f645511a8c1996eec9dd097a131f040ef6ab8703bdc64093b60a3d0ec4678539b73afc8cb97fcfa85e325449dbe438c5d40941950376022a0ca842c15c21dfec6e53572ea50c2b372542df422a37005e1d9ed87f510332749c2dfe0aa5dc03b00fc5a93a96bedcb4a9aff5ca4a89f24b314bc65ed3b00358eee7edcffa9c7206c317178d5773d435c46e63e01caa6aa5f365d23e088b6c03fd6d780a39e693533fabfae4ee154294686bea52f4a70febbc13cbbaea0d767a036dde70b8ce986360078041e2f2952927255cdc82c770faad222fa1771fe28b6503e9ea3daf1462f8646988329c592fed1a00ea8ab27b5fbaf809599d64ac4d7e300351f4f5a7300b25c604e0cc748b9bfa63268f3dedc313b9c2feff99e4169e7b1403dbf9dfc4a350027f1c2e8e4600a6b47b3e9002195f5edd6ac12e221f11e59f96037bae298ad1440623b7319afa1ee01f909e9cc39bf81fb442db91e3b12eff42bf034739484f5aa019511ca475ba6aa7e5dd91030512aea986e0f77854fa0ea1100a03ce288a46585fdf0e14b51ecfa7e398e4815b686b52431495960a8537b197174703fef856efa6122a79024d3e832bc63cc92b35c3c29c98ee603df3cba01fd8b07b039c69f4fbfa1e7635878c0753fbb34b2ae3f289c52b54e5d546b234761beb3e880395bffab3f2d1e6317d31e682fbed296ad6663b096f6b4676ea6c1755cf86ed2503c900f8e8368314b87ac655c2f72d6d473137edbccc5673ab77d50e8b97ef3c50031f127af5432bffdccefc217b456f810e7c84e5a2f82eea275232bece36dfb384039c26c7f21c0b2220dd8ad46f0e910c074285e3918bede21f8cb35fec9b2087e403165cd9341135d4e7a1bd3a9bd0f78ba2e51f53d18d51568e7ebd3014cc03474400581f02067687f2a520fe1e46d19467bac63c51a10353f15005db105ef7d8aa6b2f49215972251974edb86600581f02a18537d40f4e5a52d1975f9cca6a6265d92dd1f4bfce8e8e66e148e3c8d25820fffffffffffffffffffffffffffffffffffffffffffffffe211771c570f7f1c100581f027560c210a5299c9df1954312c1bcc0a3836f47583673e367015d538ac99f49151e8e0db9c7f4d70c00581f021a465733fbb199f734ff1bd1d06034e26407d7eeea392626361091d336fd4903a4965bf58a40068700581f028107e1d685074d5b0b3239fd5cec99932c485e68d167f960582d50c5bf794907261e1f06f528948400581f0284cfaa8ffb680bcef0a8707f66d3de986176dc6aceb45d65f8f347aea33b490cc7f8c25b7f4f323200581f02abbf3507c7286404185f70adb809ac42ef82803cb5be7dd5f2788b1789b84908c096d5d5f2c7185c02193e160219ffff03835d013e2ab627bed35104683fd4b1aaa0dcbc4c5c6df4fa7f06a0f369284aa403ffeabcca0ed10a765bfc3e169fbcfbe4cf8ca881d908ddf41191cb8a824631be031585fc22329523de9a89489680f337c4461f85ae33f5604d80e01a45437a2dc30356d4ec08d99e986f8d1c4c25960816ef88a42998c04c906b5696fc5665c3ec94034f56d33696ffe4cee6e9a4f1546bdf3fbf42a86f2b85eac5ee35a3919d7168cd0381958898e18371f24defce9b0d1dd1d039b5cc4a2b13c522edeaed5093be1f4503e211b42cfc510243cbbd9c5573a35a1d676fb00f05945df307ce6c25c10af7c703565384e6818f02d3adc5350be86a517e535b5d87ec1738a425bb5541a39f8fdb03066303b45e6866caf2f1436ad4f1ed85dafad0ca3289b8773b3cb883ea00ec3103efcb6572fef53922af97e4116d6ee6dc87c1964a41ae9ad320edd5dbadf130e503830cb815b901a3d31f49c8534da22b2a37bf69185eafa27a64fcf15938d986b40219ffff03e9d58b624b1193b9b1212550380ff9bdf7fd072bea4facd242fd3e5adb18599f031f40651b97f90586b507ec64000e6ae9d9ba160686cb7e572df67f756b499dbe0398307917c455fb4d95e6dc440ca7d0f9a4a703002ed45715f296d11ce7a6e00c03c267d7c4b58369fd3e6f9280970469da1c07ab85ef57705fc8ba37c5aaa7e7cb03ef17104cba43bffbc3e1cd434f120fca150b660e41d0f6dfe3ae8d302409fbe80372396f1ff02fefb5ed85a06b48ef8a65f919f1b1f5d365f3a41f1c12df9ec0f40325d74aa37915c073f62f202fe950cb99df2b38cee4c950e694ef2af8bc6ea310031ccbd0e7f3edbe5c2e6841064f6a969df95a9fdd9eb8b5b7c08d49a0531be1b403b9e992720451f5c68186461c23611bdae95c68a22a626ac19aaeb7df470f001103ad7678a72c9d6dd77ac651fdb3410d9632d590af1484f5beda32ef25216bf9e9039f47f284d54173cbb8781147f59e12fb58fa0617eaeaf045fa9c3ba53de7ea9b03e1c3a9f880e31955378a194a99dc2c391344fef7a75de7ba5685be10395b7e1803228019e843fe104879eb2c6bf5daa7e511c2740aba58ed9daf6ff7b69a3ca32803dced85c9fd434881b6e7cbb7c9d05e7cb8ab365f6969a22335150c25a34236ea034e5fdf1a779efdcdf9d2c354227679bb445835708b51ba415ff7cc265c972bb000581f021d171ffe36500971df39b3700ecc80316b2ceb7e92f7c0001591b2ae964449b8ca5ce8c96b648ce003ba8fb9ce0d1d3b2f72af9e91edc08deb338505ec62e77ca910d73a7bf2eebaf300581f02bd25fb0d0c2485005eef80adc3dbc03096b2dd949e2b845be0d01e066f8c4a022c8f860b4b9e0586ee00581f02e58e39d64312eb58b4a636c390d9660d76790902d11628dc1cf5864edb66490487bc69ea870e525800581f021029419465bd35ed7602fb05f0698d5cdd0bf78251f41ed035dcfc669e03490a97db5f2804ffe46700581f02ac3947b9df631b31ba0138cb25b8165fccac8a15b6b39089c270c96314744905ff08efcf46ed8e93021922720219ffff039a3167266a8acdce40340773f5bee5be8d19c8f49176b37b3d4880aec175d349033e39098be225925bcde1fba39496d2b3b0dfca772c288e60b33224c35fa4c1d1039bc318630b22e7fde2a6cee159882bd70287bcb8c356fba39d3c03ae86760a0e0332a0bc96f2ab48ae482016b1fab7703149f5b3f768f362d1c7de2679d0cdb42503af9bb6db125fa59a0de32e717640f448ed93094eebdb731e379a7cd9ad6fcb7303c2f0bc0761d5c71f431925a362e4f6a5127f10265d964e6582c0d89f04ede971038b2382da258168a36b190275e243542ef183c3fb2ad06cdf120ca55a677857680350020a7bcfdfad09d63f07c3096ecc0c65c6f6901c7f0fecec558ada3311537a03a552c3aa8c8152f8dacf69fbb0bd85113ccb62969fa474db91521f40c8fb58d003ac3cf9b627a347c18110ff89f6f15345d637327cda688420d81db2fd8b15e85803cb2c3ee259539b1a0447e7f1c3dcc6b47f4f20ef0656a81a3f20e23db8c665db03747b7e0e9b2564bf6aeb18d3a52a423634b645b3dd844b75270dbeb82ea47dd803ba7c895c2b7db2f8c17af8b62c586def75a4095d965054ee9081b58bbdf1f129031bf363aaa03127153dee30b4fd89ffdf403595669eba3d44d53988c418b5385003b13506518fc17af90559bc82ee16996eb79b9cf672f9beece89eaf8b8cc9a5450219ffff0312a74cb460c95e3a702a9075dc7a4e19ce3c95ff6bf08b875bdb27b6fe8bc47403100a7c74721250b747675bd555a60a0846cb4563431aabf20a30dfad8ee3989703502c0bb1415a1eac6d08a27966281be9fc9dc1de0906bd6a5790864dcb7b86d5036ca32dbf79fe674339add588b1b2de305927c86a1b6b093f1c48641d3243d9de03458cb0a381ac8c8325054356d1e5a2439165ec0d65e580c7fa027a93f884da560354e07ec1bab10bd6b5283ff2221b9abbda7cfc79da40179e2a54b3303ce61eed030dba57fe550e6f54828e49a9b01463e6b0eb12a54e5969a00af5fa172a3b124e03a736310fdb43d38c17be63c08caf72781865c23823c9243e0a478abe15c4d3570357341dc54cb85c7edb065c5e671242f46fc39beb0532a73f077b4dab5a117426039afc546a031ce917db26b3a7ff4c120dfbace0a5fc0f7865abb2536fe0a6c52a0384866fd26ede2d0c3e31e090f27fd96b030edfaaad3f3e70bdf75f4fe5737aa203356fa10930acd4ba34f9c9702ec6b4ed684ade0dbb1b4715be01aca03c2b6d7d03dede88ed16797413f833bd41a7a1484730c7ef825072870002cf5fd19e55c3cc0387651e308d5078765bcb300590cf1115efb23c5245bfc1cc26ff5964c608838403f6295110f04f31753c26eb51750cd2113f6337cc67c624fb2b83db5f7388945503350e62c0388958f2a3d4f726ae06fa3fdc09a10379f79cd1afeea1d4e13f3060032120a7da6a51f61005cb15d771be31040785dd6f4b78806cad26f71ae7276a5703b82364299228e83122ffc7f218fb9087023dc20da98057c6e19a72aa55724b5103757a90a8537bdab6c15f71498156afef438475c47b9343eeb4551dbfff584e0d03792a5afb9d94ef1595a83125b8e51ca11641a8c278f4aaa08dad15a3e4e399d000581f021499bad6058accc845e187a38060b575ee592cab08067ddb235937d360b6491556797a39de95beaf00581f0264bfe0b50485207560e20ecd27e5eb2f62a5d76b5052735a581e6c594eb05820fffffffffffffffffffffffffffffffffffffffffffffed12bbc8c19ecf26525037562c5d595fd678f5ecdd350b85ffce0778b2cda4cbb4a573adfb62bc94cc73900581f025ef0229cf4b1944f9788c439afae3fde3a49dffbc4016276620a177d6c3b490d418919b2a22b94ff00581f0273850c92958a1a2500d459584989fec7a35058df5de35e0454b607efc3fc490bafc005d23f8b4c35037bd1bec6fd312847ec230b83d2891e69c98fe6f1ac97df0cdf6695df6d5ecec000581f03b4e91f57edb599825f76f02380df5f708d1802b6e1faa85d3462265499b0494ef5ce40c151ced7d000581f0300ddd56da04e45eec66e59f2b323d6fec46032196702972e17902e870670480aeb3b66d31362e200581f0343d94d432af7605e463a3c115d65c62456cba422f428edf10f9011ee17c05820ffffffffffffffffffffffffffffffffffffffffffffffd1ebe15f7e35f7ffff00581f033de0f5f364637b31440f9a5dadb3ce3f8cca5029e7bff2e81000f0a35f2049163db244b4772d327600581f03d639fe41d974032ac066327cc34cadf52ea64958bdbcbd83ef56047b51005820ffffffffffffffffffffffffffffffffffffffffffffffe2f918c228f0b7ccb500581f03480d0f82504beaec70ea81b01507e02ec0ad0ca70abbbecd24c393ab4ba0490570642beedd46fd2600581f03e47abf123c71f1643ff8123bcf881ad2fb7591b189c8ff94c2ed97b529705820fffffffffffffffffffffffffffffffffffffffffffffff3881bda979c27ffff00581f03b4b4fcdae5a64cd576d3f349b729ca838a88e3a07523f3e7f6abcea931e049162ce1f4cfdec158950219836e021917630219ffff038cd634433b5989da1baac9b1d86fdee103e60821ff76b7ccffa50704954976d50304d01c1102780fec00e1f9ec37f2f1f698549f4a92f6cc2f6762c504ea31e0cc03ac862dcfd00cbf3b5fd02fb00370491ba0215ab7e7e6dbd21edf31be1efd2e2c031eb09bd7d28cd54773ba7f2ec4e2b209879d69693a91385bf299fc7e778222c3035ba4e8f2cb9b6794d5b424b6910089d63ad671998a0f6c2609ea7d1d0cac42920399b248acef24a7ee42ab261df19e83cab6757d437430507f8692e8eaff4a9d490371c899687a52baf75634994bfeaa8372bb0097650fb9aad9adcbb2519b434abc03d4feb9f847ba63860cb05193e477b0f0aad2c1af0d450b141ceac51957c0bd54033f3efc6c8ae39530e66c79abae195f3095570ca39039edd869ab90b8fbf0ca89035be9fd8a503e2b59414f7db950abcb59e20a72983df02816d35742f5f85abe77030c5c924e028c2c1fee307ff6a08ea5d99d1377f3c8ef3c165193b377002e1eaf0219ffff038014a83d22b9acdeee93640cf3f1567816b14bd6d74cce46f21a691716eb45e703139c4bd2535088623ad520913889340c9122c74f949ea8e949bf20e9ebd89bc803cb20356df1bb06833c385d4d4d7de2e9aa1b1506732dffe752da256a24638acf03460d55f0769ae5efcfa04b968c9354c45a8147bda8aec0ae50277ab551fffdfc038626eff32f8aca8c51ed71e6b906e8479126a0c17546ea5132ae15fd2b64635303a662f87699f1f1e8db742122f9a1ab1113831daf9931a7dcd07ebb0f8e2406a103f6ec3d18c3eeb39f6f480db20f216ae1c7bf9a31b863f6ce07a8f178caedc64d03db6da067340beab121c287c2f3c88713b93f2338de00a2d9201dc8529017df91038f22f4651f003e04351cc26e213b551be3ceb8a31b122655f45344e14c7148990381462f59c93be059435138289d716a1e7ccb96399e9b9e1ad8a40ba50a8472520315b3fa30378aac30287c7274892ec4db2532c3de7b2ec1b93786cc0fe0b5ab6d03b5f0f390975e1c023b16a5fa0e30e581c6ff16e1fc8f47f3a9876cac8d03216803c65341409b7be48dd4b4396167f9e5ff052acee15e0176ee40928479cb6792b2033c9c505857abc509fb7f287cdb42af4d8d7c91df9676b6d3a8f6b27fd763bd3e03f8d36678b38b779fc9fdc3ac81407a12650b1d3c6befa7a9a29600475d6a9c96038696dc2423a741be0dd37e9f8bb4c1b6cf1ae70c56b6bc8c239e5adad1598e19039ee4b5df5fc5e157877ecbb7bbefb6cbf12b2b5f2598994b7cf12d5ce4ba957d038e9fb4180ff04b29d8365ac585a6ef7aace21ba1b1c40a0274df0134cea00baa03c6cc9878ebc52ae943fe403f9cc42a709e5eceab3402aa62d2881151661dae490324c0d7b76500a3a3065411cc8e502460c20ee152ff4322e55d75f22fa9ccb597039c543c183a1139cdb5742e6f8459d9d39f3b5080805154caef107f5bce6b0d60033415914e5a5a9c39bd650dbb2fd2b88e65f04b0bc642b95345e9b55f1c82252000581f02e4267cbc505fff77e96f95ebea7dec4f74775aa8964cc58c6aee6af54bf35820ffffffffffffffffffffffffffffffffffffffffffffffce82b3dfe98fa7ce8403f8e117c8152b43becc23c0c8aa970292eecb8c01ef765494865db6a04301f03903db23d24f326a70f0fc34ef4793796ad652bfd87fdc9407115b19c0c4307fb7d9038bf41a51b0eb9487e2bfaf082226ddb200f598c0da2b2448a42e7a37486de7d400581f023dd336b894c97317f8ba944b602ca6480fa61e5cf6013df138b8e867cc5b491236efcbcbb3400aa000581f02f89844243cc1544dffe449616b45463c00c4f7ac9ed4bbb3c61b21a3c58b4a01a3f60720ce47c1825703f57e8c4105e78f38653847c7afe719fb0370982e87d35bbd476f3d9372cae5be00581f027350c284e24559afd212e880f6788d4446711065e0eff27d2105c4e57b5e491abe6e8455f6bf82f000581f02203c64836c9fcc9adee0cdc66d18d514bf402fa9c51e21bca6efe29c8c2d47011fe2639cdf1e0219edc30387f5213b62aec443ab7c955a49e15732621b24fe9834909f243f960aece31adc0317b196758e9c2db2d8672f8b484f3cb089ba910596a3eed2f18de94054f50e4503bea31a36dcb6dbb2dbe250e5c85263da819ba44b3cdb35723a702270c9a6680f0322c7797bddb6e77a9ae97a4fa7146752fbf6233d1815d00339ecfc972052eb32039a070cb3682c99163abaef9ce732fcefd912ada84da65c4f6b11f948f8aa49f303ec40af3fce07e165c98431b964709cb0642ffc926d8e983caffcadd935dd6d300399c038d86693502bdb380624f07dc307523449ada5d6d1ac7ee9583bb6caad9703c1091f5f54864ebae500cdacb801d5bfedd747f4d093d707a532b1046aa095e703deb55d9671aaf35808ba256a004bab307df3f5a0c09511bb1e496e7bced2c05503dff7d5dc4e60a0fccfd82305d56b8e0aba7f0e7bf87871cf68917d6d72db63460219ffff031a929931d3a2c41075d899ac0b7b3fe04f905ae06dc737774ae9812fb2c9b63b0362ee889f6d3806cfaf1bce47d306bebd386948795f028b2b8b40a99778275ee203bafd30811ac659dbfd87db83568eb34c44389fef9f615affe4ea35b9e69362550219ffff038cd3adc338aee24ed13c57e0455ff3545a1f8ad04cd17ff9ad83f968d9fffd9f03396d583fe13962098bd426c1be360f2efeaecc7619ebbdc8ac1570acff363bdf03a4468662eca5ff326fbe7bc31498e931f1ab91c32900d9573697b8506e94b6ed03a8a4f5024b012b17461ee3b2ce6ddb3fc7630e6ce3ac1198c22f40f3d3fb1d0d0324735d17096f9e98a976b6025a835271d2118c4e3e49895d413358d8b630e7b203f3f74acbdfb97adbb9c277547b63a3fed5541a611e41bda2359ad6f615a236c903c2d4e14ad2f9b109ee4f7230acaf0c5c3e1bdade238dff00ee26955bd540b07e0306e15f8b1dbfe2f99824c2f0bc79917ac3fc8cad6326f8883fd96e5e8ac9890703f8a084c20480259ed57297dde23d352b47a8e4f342023b26472caa9406661c41037d5f24bfb6aa080385e130d7f2a7171086372ef78083ec6f8ffabd4302997368033bcd1e0a46bd35ecf788eed3491a1edb74ae800aafa89db8b5c771d6c5057ef403acd49b33688b394e9be0a638d37cee6bc226cc5862bbf828513351a56ec3ffad0346a1cd8a504180a0741773147e71fde267ff9bb51fb9fe66e3680afb139d34e6035e529a6a1696e461c4d83284f65bebdfe190040fecb253ac2639a53971e9106403db3d6d587485c2221eeeafed2a3f5961cdda17911c0e99a99df14a2180be5d82034135814115295c0677d1f35aba03b19cf701c600a802f349e827618ad01a5cd803e796fe78761c67db6eb68bbbcf63fdd66f161884f870844f82df8f56a7c2ecea0307f7653098d42f50cf6f754be2d92c0623f45604eab61163e2e2351d5fc315d100581f02ff98dccc8266065d67dc9df0eef84068c22f4f4e27fe8b113593497c374d4908e65b6b63752f663303323c011cb508c7e3a150d88d146de640718ce738f4bf9b23eed0a67160f91cc200581f0274875e1a62c2a695bf432311a59483eacbc5ae57903f2d35f8e400e9bc0c5820fffffffffffffffffffffffffffffffffffffffffffffdc4c54a4432fc72ca320379630d46b641268346499f979f05191b70b2fc5b9bf1dba76a179dcf9834c2a4035bf7390eb69b71dd01ead3e1b279ae49dd67ac36cc076362578573f0f9f921a100581f029d6495b3f2836ed15b85d35201ef18ec39ec60e69cb893719137f413cd50490cf4b5da7584b3d6e900581f0250ebb37049a245ea5fa751df1878ad251201b7cafd31f6e8fa4b1e3b3b934911d4aaaa6ec550fd9f00581f024a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd4a021e19e0c9bab240000000581f023715679f4cf1adf5baa12776af1df70b988db2d0e2049365537e16bc1e82486f05b59d3b20000003a572dae03bf8318ae3f6e3a157cf478fa7cc348f651ce2aa96ee3f121342a65102195de5032f87df0bfca58e31019e392281ae6a5eb2e9498eb848fb86e20e74dae8d20e7d03293983c7e328688281893922e7d5103526c0d107224fe1cb58af005fe3d5f57d03ecf0b995e5f5e97ec3321f6525e9056fe443a7040955f1ddf034537fca8d33ef031f1145576991cce69fa61fb58a5ea6515d9b2275c82e9970a1a10e74abea9bb7034949d785151465caacf7bf52f6a88cd1ab4fdf22ac7483fa36ca51fbfabb9a850320bedc34ac11c6d3ddcd8c9684b16f33b4cbdd8d1cdf19a9a3edf611c53057fe0309b7030c7f83db2b754e02545363dddc58eeaabe54d6a3d69004a36ec11d299c0354b4c8442aa27d8029e784b0fd381ed353b7b5373e2ceaeb3482a88ccd6c78f70219ffff03cf92634fae571789f560d3daf3b765a12eca444a193072b3014e18fbdb955ae20346a00fd65c5a4fb91e4066bb103624cf8213d98efb98c1619b9afe2478f691c60386e07de55c0d55b4d241a99bdf7a36b9b4bf8b6aa48abb342d777202856024b603f95c6c39e9be613e861fb7090e0f6041edf1fe44443fe7d84d282a7f1d742b820219ffff0300ccee3c5d7c4f9425c7f2da5bcfeb3cc5cc029e7f2f4df4931493b01fd9866103b8a8b3ae8c5c13c4ba6dc90fd5ec6660ba027e9aaec5acdcd00a95013b3caa2503f38d264004d1ac959c4581b659ef2ecee8724559109e57f4222e8760d6519ca5033b606343c6af70036cd195fe78160a4de85f6207437067f696a6c102436f83f703d42725755c84ecf6f38f2868b209f8bdaf74b9ff9e90190b8118c9eb380512c803579d25dc12aff3271f77160cccb027d0848b970f8e4d13bb4185ba1eb3201e39031efc5b7d3865cef4f6b398b2bce170a3b37f021ae5dc97267d78142beca5b4ae0378b67092b754dc8a11e1f3df107bcf7cbe896467a605a822a8fc7145c3cf1904036c6a7b1443e973b476f04e8cf644143198dacdc85283dd6578b1f3d3576d1206039600e01370c8e50d1f30c1bcc59f0ffbcbc44f30b1e9fc141a5d7cab8342739c036e1db2ea2bf567b066be618034630906adeca2a0e904b9bfd298ac2566ed53c9034f599d62e1e810246d5f6c8a0adc3be1952bcb8d73a3977b18fb267c518887440380a51773e8e304c8d997cffaf3b4343079e3ad2675b5e3a07eddfdc104eabb0b03f9d3432a0005a29379e902fdd7192d8aea8a71b1c6c2360a42bb6b322c0f77c803162e9f170b7555ed0059ffd8356f94f58741d7b7e9b2391a33c2b0188607a200034909f2cfca884ff427316b05f36ea45fd94c7f469a910c9cb3385d515e31503803c6bc5c6fae33a4c6a4214167b894cabc8d796098908fc064d087dc1c162d6fa00306801317dc7ba9be2dcbda057568dbbb7944969e39e84dea774fc740218475550343a571ff97f99515a4c60c9221b83ed4693273a86113b3a8cc21998bb3703ba003160667c4db9da126954134999b8b842d18403dfe6f6cfb813e834d2c1efd74bb0342acd2b0957aafaa32a0c65725bc082a04f2434f5b13b7952a5a11931462e37a030f433c3ce38d8759c33137cdab0b916ebf20e6cd0d7620072398ced4e255777700581f0274bc0cb1d69e5305ae07bc583831b13aaaac39c462855b7740e84a761739480618b264860390ad00581f024caa14982a2ab10bd20bb4147aa98138cf2bfe637c15fc5142bd6030211f410100581f02c78dba38fdd9f06e571837f8092c614a8ad1d532a9c68fe4779878839f535820ffffffffffffffffffffffffffffffffffffffffffffffd498dcae224c3851ff00581f02fed37fd1b84415dde2cee6e4f89ab6538f077bf4d16b70bfa8512d0795c35820fffffffffffffffffffffffffffffffffffffffffffffeac1b24a1e8d1f88c4e03980d3f3db21099aeb1c4b7cb527d1063367e7effd70a0b7a32c1e34414241722031a28107ea7c15fa9024c8e055601663ff869bc318c71c5d9e79025c56753824f03228f388c5d81f701d0a319bd12f2e29c10631fcf4a39a71857a85c9d083aefbe03bb3e6d1017b111b491a10457ab00aa78fc541e57a30d51ad966d06227d9ba17602191bc30219ffff03d7625169d295fc21960f20ffff8cdbe70deeadb41ad640d0dc18987104a2bf96037c505d5dbb195a7736ee802e7e4dc1a69a40d9f3735d0bab1919b26b02c5c84103d7e1f2893001e31393534e1f2c362238bed47f9d0b1b26324e42c6943f7c5a43033f0670b31e931c53aa901255c92f2122940b8c39ae27684d93e629420c336df003d6a0f72b41419c4ac5f01b8ff5cb30188cae8418f79d3eb91cd9274a4eabf93103fb44761a0bac2538c414999a6d147a62bc8eb55f9616819b7f2d4153a0cda2a803dbc32b3b77ce5bdf420479094fa4e6179bbe643f37dd607aa40fb53d92404c73039bb170cce79cb442b0b3fc5b12e10b04b02c4ec0bb9bc1db788e904332f02dd80219ffff031245c7321be975d584a6cbf799195236e5eb5d5d94e8cfa6cc4e107290af4a2103f24cf4f5b2b1f3b1ee7e821bb8b1ee33864fa9b89ba4ba87a5f9fdcffda0dbba0369e9ce2f9b5bd66e997a7dc28b67e3554a193c66184a85298d1a587b9e75725c031b41a44bc8babce6eb7efd66561e3e9444cab5bd65a0a7b6bef35f255601a983039300838209df165d27d8743b996a8224da2426e74c57b372838cd9186ee5d69c03adc737ceada9e80bf77f6c5b85d63290e42485a897383045660aa665d5f09d20032e1db8c860d665928277096daa256e813768c09f112fb2a9c27b907b5adae51f031d6859224f488d3c3e8da30d4649a5b1e495ee5d14a014c333e0900aabc7ce2403818dbc371a933a6d23aa5c1891a7a6ff831eaed629cce69d532a62194ca1e24c03904755fc6b2a9e1e79ad6d349a4c080e9422e26d9c1665a53f2175322dda870b032abc2702b4a471515139253cf28a9b4ba3f25fa45b0b7a47eebcd0a0ca57304103bb0fbff179f42b9d85ef3de8f1ab7f60339dfccc07f4a8df016679ac216c46e703d11b362e4531b80e98faaec9284fe70498c84afc067dfb28735e1c213d5bda1603f448acf120e09e52e3d004b9ad4f4b53ae713adb780eca4fc56c0b320d2fca5c00581f038312cf5491f5cd5067722f3ff89844e72596d65f07e638a20542e02b91104a67b6bfda28b16ceff3d800581f0348a082fd3665f381f0157f50cfa26eb5e0d4e6e851e159c062c401333a205820ffffffffffffffffffffffffffffffffffffffffffffffa727c1819acd876e6300581f03df627d51a2e764cde18172c61e65721ab098715a50c2461887883c3e8f6049256ed7dc8ab7d70a7800581f03345b9e26f263addbf7d94195c7f296ad0d071f9781f582d6bd0c8651a8205820fffffffffffffffffffffffffffffffffffffffffffffc6b464dea620d63fcce0219024600581f026a3f4bcdb2f60617bc95b850def42840a64ec7d175b96790516959b452615820ffffffffffffffffffffffffffffffffffffffffffffff57f2db9881010fffff038416f9fe89fecfc0916441bdb472b44446d04e9fb9f100cbb899e2ec2067da0a00581f027d72004b41b0e0420ea5c4940e96641096a5f94eb031b4e2ebff13aa757149bc5366929be72f0a2800581f02a760a083c471e634e985830e3dc86d8ab34d0473d2a39f475eed7b4a0e0c49035eb16875d9693d9d00581f02fc3ca2899a90f59c6092669767647737b2a81a15bfcf84fcef6e48fc79df491043561a882930000002190ed00354493567e93d39bacb8c86ba5cea8e4392711f24cda4b686261d586d9a392bca037627169ad00465fd979fba0053652e09c3e7901d156cc92b1d317c0cf95740640379221022d5a47086c1cb59a7e40715c751655e2d15c363d17863faa5d69e3fea035e696838343f19e78472c95fec6bcff765d0405c9deed62fd918b502004bd0cb037a36314979642b460a96e2a948a11115a5820a7ca7e7006b3231f6fce11d3bb9037bc79fa208e4ebdb109984341815509da83b1e88403019447b511b9c2925931703534a77bc78106c05f854f039c5b970327b03dde010490d14a0e154eef032f8e50219ffff03fc7949e4e15670d2fde6f2e245ef314786be2b18cd9cbc5d45fd77f405b187f503935f3bc48672434131d45a351274c2705010ca6cb1c6ef6e1bc41af218bee7160392d1bce436e55d767d1a8778a8dcd2e72f25c585f94088cc011dc7a11e37da4f0303d76b296721d3b37854052b391298d31aa2c4ac05e26649ccf6e4c0bdd04d77030a4ac9b6922ce6da6cc03c94eaa7ea2d035f919ac61264fc2fe96b59395bef37035b59d4e68127d74f639a794c0ff0bb498b66cd273dec69f523c546c2ab77138003492ba258684d1fbec31053246279dc9255c0ce31e3b117efc113d1e09a30af140391e6f488981c5de38fd7c2dc0559a4c197ef83439b3e47212e75577503b4f66b037d7d31a9a7a6737781b980dd451b329a9123204a714f549867166e4c9d6b380c032f87951ae732a8d5bf4f99b1b4898a89ae7360799a8fb3e262abfadebc5157580219ffff038c575825b4df32125651c1a662ebdd07d0e96acd9f0afd55218fd17101e58c2a0219ffff05581e033b73ac7e71f2579d412e82f5c65b0810c5c58eeec2831f612c959b72b007011937ad03c34c3a17c2ce58942a817938ffb6b4f4e23b2a3789efc9bd190428f8601e7ac40340e84b37bc140d75e56f32bb2eaf66ec41a51acbbda58201522deca067e3a6650219aef20365c2d617c29cff06e6ba170dcbc2243d3b52ec0dc55bf0b58d4c0b6919126e16036d3a52ab6d57d4cc41fcd050404f7e4daf8e6b71db407cb2c59c7f14e210a885031a4e6795926bd5fd12bb1d557681e86267c516bb2ba69617ee83fa8fa3e089370328972dd76ed42d62a3f34574f58e4aff376126706655a7ed9df14290922392bc03e4d52c2cb49c02f33caccf9927a1ebf6335e2c8f29018f1bfbad7d1f73c7457a03bc476c64efdb59b692bf4c7b5ba359f4fbb74adf9a64a9dd6bade20a39d67c8503530bddbf3c7d45ff8deec4cd1b29ea68abe345e3674dba224f89dabb5e2f9ca903b022d983fea36340c474778d7f1f187032321c0cdf68549e97bab25b938f6bf60370117c465652899c5c48de93182a7b4e7cfd41654087ffe50f98afa174354d460354a891fbcb5aa366bf4359e4af63861753f3dda210a34545785d2ae8ac2ed79a0219ffff030b24d2e38f2c333f7dddf0aad14b3cffaebee29eb0316c56c3c7e9425b5ddb50032159e4dcba926af384491008532053a72cc3c8cdcbe8b940361e1d57d1c7fe8d03c2b6f88a1ec3b3ffed587826f69dd1a5ed514a9c96722a68b06d6d180531231f037d247bf51d987999554275ef65db628bc8874a39ab34e675258951199a691c2203986d1c58906e1acf094c7eedafe1c7112c15f0a9da2587ac879b7c5496cf585b03e2b1e5944bc603a465f07f084f18e513a41010bc677010ae443c65df26a16e9203b3dd8e3ec2deaed65ca4c48aac9e6539b77d9c25cfcfc21132e5315f79cf5cc103cb9ee6377a8864f4b8b64375855d984b5d5e740826279365f11cded6d192e7e203575fb0394c2277e331195da062b0ab99457f75a766ee81e2b35b8820d8aaa89b0329eae7810f354d93122b9e8b0dfb5ae5d846edd701aeb2d86be0764ba6d53f790304234f0ec3c592ad2f212031649ee8b3e3da17c975dc9c35a2576342d2b644bb03def182b475593675a49d61fe45d9b230dd5b6846ea0a3a97c776ead9a43622d0038952c6bc897302ffd6afca22ff59bf9b67d2014b07221d6231c21063ee75e0600219ffff039693ed3f61752f41c7ff201b5d057c4b3a313fb82df04f528e947f391bf688e9030d7a0f391283b2d49da813e94bbe390680b9696e90bb777e53c4357891c26a0403c1a702a3cb82a34df6e4e0eb87473f4652327e1b450aa9dcb6452f8f7872b4cb03e86e8a35b47d1f187373ec0472383dfca8051e4c121c655885425699715e59ff0393b03750b4126c3dfcc7b83e86b6c5beed201d3ceb9292f5c334e9ba0b7b6e0203b69f46090c338dd0c53ca752ee982faaa7c63665c1cf4f9b12450df44abe94cc03c35c948ca1b2b12c5661443ceb40a07bdfcdfe892cec14965f0e1cd2ce8b834a033f4334f573ee4a06fadbab65b1a24eaafb5aaf5c4f60f4d63cf17d05aeea309803600c3934ab7adff65d7e40b311c5f2229f7a5ee6e3c7f2db81e85408c6234733038116b5e9585bdf467a19db8bfe0e819ca88e9c17e9fcaffe06230a7f85fd184403b407d45021005d3733b618f9de448ef01fe1ca9142d97e6cdfb5b9ae92da85c303992c8ebc0fbd70849fd1decc8788378c0fc2a6d160d442f581122019a3e9a6410315a6262e9abc2d86d5a5c6589874f48296d90c863df75080e12dd7e8d51524430219ffff03a46deb9634f83e8648cf683ba1ac08169aa6d857297254ac62abad9604fd8f5403a4ac9a2afedab2edb6e8e857b37e2c1a5a22a85a9ed929b69ac19fe696b432ea03a2ff9d3a126f0a91d45a82de99cd7e11a81f38977a6901c2265dd7a66d1cb5cb036a06570eaa103565da53ccf0f4d42b592f306dab8030fc64f522bc303f432c160309a0acc32432241129d69afee3523ef6ca1a8e4e44a77cfb638bd8c20f0b6ef80399252031fd175f5d412c0bcfc5b90555d74bb2ed6876ff474c0bb167d1c87c9a03fb0cd2a98f929517e028db8f3e08ed134d0b3126b90ead218c3dbe7b848bc370032293cebba7b18fa7eb3825c6621b6088b835241dea6a2a15c583a8ca44ab16dc037a1c02b76d4c1ef63c504c3a4f95d4b44d6cc3f28d5d14fe40045d2e23fec70503b34a886b6eecc4a59000492d3f613e03743d78201df71a4cc381a2ff1c8f36da033c99917b8d1e3ec9016e30410f68b370c5499373ef5cb2fdfaf9ea4798183d9003a97b01ab12fa5ed74c93f04e436bb40bd7142da8eaaf4c77d8292ccd0b018178035a928a4fc485b7b8372f01775d306c05960d8cb64e156f9d14f8556adbe69ffb034a062f1140e6c30831ec5da4e86929894cfa3074146136f48f2c6f49f60049d203db4ff09af23c82752f9a56a3ae167925dec6019f58c1cd5e776a80eaf8695ec503601c95146b881b001b326f46337eeeb383b1e05b3671a99cbbbd1547f6dae6e203561d3605cd70c784f621afe9c316fa5418e56a192a4fbcaa00f72ae1eaccf57403fd3bb039df0cb849f69f8e3c70fc06ed0aab4558b817390682bb2f097c356ecd0313a82508790730675e36add0136d4b0f82e89fa4f12b794f2ff207b8886b7ffd03dd691b3c9386f4b7189cfc0f831e83294e2549f3e1a3e51ca9579f5453b277b003a1f417c9ad462eb89cf16028543774522b40f4215e4d1fd59932d6103c3d9a77036515489b0ede6fd7ba2216d47171eda0ec939b071061e26c39ab4cef6d04fc770397359a2a2143022a4f2d657d84c3f857e7d22f9c8b548975c8742fbbf92f021e0384785cbe47853c070cb0d463903a5dee57e0dc8e6a1e9f88d18cceed62fe57c303fd1997b652e64be0a67ab45b9f1aa63a08b2cbd524494932b8342d743b86eb9403d89a4bff193ef03adb1afd923ca8c1ea67419cfbdb56da43596d075e4a7c6b3603bdebab5dcb3770bb095be7349de3968653cdd80924fe318d567b448515f549e303b40aa18c3a657d2abcf453b719dbce07bea0b00c18da32a4b893909569f00e0603973fee544e7c1b81f7779cc2687d40105401dd6ca37a2b01fce5a28fe22b34e705581e033c136b1220c01bad7c0c3573b0f9d4516aad33df345008eb2c035ea86004010459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f8b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000019fe9857bb3652e9007f2347a1f877ffa9215f7f1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000102c776ddb30c754ded4fdcc77a19230a60d4e4f1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a0325e3312d65157d7926101e2870e5eaa70d6f712db1ea951154073571eb93acb90390ff650ee599b0a8c940a6467df54b6bdb0041fcbaeb18a051bd099c5b581e7d03fdd017a63693f3c4187c707acc4f711821939e7608c8bd5c1d0a43bc877d201f0390229ea20fe52678a3bc72509e796b39aa94598617a0ba411db9b84331d1e54703787060c5d76760f697c4cdc782cdc77f37032a78dee1f8652b936e7c830076980323e2670698279a9950944e1b77aaf6eeeca3699ea51bf6487ed7f32408399c9603fdb784cc4443451f9e5828eeb8594c00641c252f553e75effad61d4955e58923033f0f3e5b68c2fd94e36723029a857fd9b76a3f6f9ff56b461a8bde56b773ada7036c8b1d2257105b2a2b29f63c6038206755cb0111323dd13d49f790b2575dc8df03845394eae8d99ff8e6952fb8abf17ce826e32ec15f0c7025410d39c2981ba92c03de6b41c59b76b1829a5f660e37be1bc139eb868532f5e1ee1912e4a416a2436c00581f02f8689b3a1f6114bbcd35b65c8453e4d1e3687262116697ba440f4c45f3174d0b811d09d6c0b97e4ee46341b300581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100003c003c0028fe258e000000000000000000971406849315d2ff2e8655021930000058200382df7b2edbd4e079951e149fa293fe5753e5b50063061b862b95a8191b44404821d6e1dab64f8a2400582003a56cccb95f86a4df002d269a1aab989762f5458a72ed3950d01e9cd81d0ed04f05407e6ad349f64aca3a4f452356fb005820039855f4943a76e34d3e2adf953a3fb3ac821936a2164e71c53f5304d19971c04e050d23ef284b75c0691ce4517ee200582003f37713626062d797dc58e72193eb2216e2c628f20a93c7079e70a943338d404e1465d44daabf96d64ec195328fbf00582003d0440203fbe04000be9df55d3fece807f7fbe416f665cf4e459a268a4c0fa05019e80f1bbb4fef51e6254795e33551340058200376f25f8503d4d6bb1c2411d035144f45d5c10ffc33f430259307b7df87b6304d047b73eac9a437929205be3150005820032eb1fa36889b8974f776c574bed68c8dda1bb32f0afb568f79b61203850a204d529526702f99901b04822e434900582003fb8f85896dec6f283e3179f40ba64d23e6554737e3e23f3ee9122dfaf62b804dc542c583cc73bcb5f4694d5f61005820030bf85caee33b8c8bbfe09f18ab77007378dc834841978b32cd30df4cd033b051010000000000000000000000000000000003a1df1be78552b1edb93d9de0ad5d4f9f324cefbef16bb593820fdffaddb614da00582003c54bd24f5ae7a0d36b4f41a3c9c4816a04c46d3cd7dfe68ed7df075f2e07004f011c1df958987fcf2fdc114f9ce2860219b6ef03dd3c9bff14c5d0abbfc90ad085640c5b8dae755be9d5ecbca429d605130efecf03d0a1da8a4761f4bd2d6452d45f854b6c313cb78ec140439f7e1ad010943a17420320ec973cdad1b2dcffa79ad597b8021ed8f37581d4fe3527cd4aebd69f68002603ad5e5d4cbbfd23c7aa1c5e8f8dcd83fffa751ae334f181ac1be2f09785ba1af103bf874f75bc6800fab7ed0e3b169aeb2775510826b54c6133dcc95e89541e42e10383b886e9d54e39caad4616d7cda48afd90c241b39d103847f25cf7f716b0ce980219ffff0304b209e37ffab6e7e56c29939f5edac093b09f4b39cc915b210cd9d547ec830603bb2b5da26221214a19e5d0aca7d6565ab335e70de32fc6c17b090312319d198003378d07290fa786a0220c4a8d2069dfac3be6aa402ed4dc57f940ca0ca6f201b2030173bef4bf5a0473188c64d1a7af75a73b7c8f5647ebb38f68c7de27c512914803418434bbce4b700d993445093b17ec32726c091cbfd71d1ebc8a098dd8c7bcb10336b0222ce3a5ac80f7abe87c308df7531ab46eb22a6099aa634a80462ee4f7b00322b1ce0b9fd8366028e908761ce95fc819cc8e7b40f7ae00e9f0e3505f4a683c0373f2d0ac2b34e45583b94da0ddb004f6eddb8788311c24e77449d88d33ad60440304ad3846d0fdd7129ae01de69594c20f2ebcc947c187a72dd8f9d9aa96a6a3bc03fa16fa0668e86d29d0abc79eb4f89c258209b0105a561228d43038a1008f28df036b78a3f718c7d2d61e98b1430311d22be81294cd1fef7bfd1f16588679c01f6d03c706f40da1fddd9482641ecd204a3accda4b5265cc4ea818b0d0fdf1aee95d7f03903d533d2c2d98e6e79ab591eb1ab3a1e9a2dfb1c3bc6a2de144b1ac0a90426f03ef04a5f854afb251cd35d4d26fe6691a7d37131f7f2c95b503ae5b2eb8791252037b04fc7277a684805fbcc24d7008e701b0143366144e2d9a5fdb966f7d6fa1f303c6ec525466ee8e6175b509ed413f726678df10500dab4f6c929cff8b1f5f2ef2038db830e5af37dd91c6a676c0445e321e7c315c2f46e612fa8cc1e8367c6ff4850313a3aac38befb57b4ca5be52236e2be5a416f52f59d643f895fbd3911dbbe54800582003811835fa13ade9aa079cea0b5338919aa2e9204a5ff090da2ba2a2fbc52760410100582003a5e5a8f327deb62b3148b474fa5b3e601bbf70f4fee944d2540a9488ce4a404d6e6f085dc4900d3439de93a0e00058200301c1ecb0474de3f1f2d3ac17e76219b631e0f211b7b167aa54987489c98b405009947088ea62ac0218b6059f5e94895103f91e4511e0f959fbd800c53d193d3009cdd8394b3f6acc955ed880dc5b5430ae00582003b0c846f9e1a9dccb43a17e702f48a57dbdf35036ca974238c2b89e866cfce04c3bfc111dde113914b4555afa00582003b3a9b5836acab890e379357ecfc675cbd4f0a49b98d8dc3c236c86067844105820ffffffffffffffffffffffffffffffffffffffffb3ae2fb7d7ec96fa677f0b9c005820031f02e5db79500644ec18d5fce38fc4b21b551b51ef72da8c4e6445293662f04e02f589b6b610110813c9e4863ca1031d0b005471eb2783b76b93e0ec004cce20b543520c7931490b92b83fd79a472c014108005820030cd0370e1ccdf68dfdb69bbed18194b36cbdd22fd987846ba3914cdd0a35404d081fde38c00e9752a5b0c9419a0368ad531cf839d4499c1c49eb53e893ce8ef3c206e08128252adf615efec17c0100581f027a59c90d62cc7236ba3a37cd85351bf564556780cf8c1157a220f31f0cbb5820010000000000000000000adf9fe5f5ff3d588da25cfffe91728f3a646632d05f00581f02959b96932c00814066c21eddc8b70434e282701d9ce9385bc23f54df5782510100000000000000000000000000000000021912000219bddc0219ffff03e23d5e5d0acdec24df154c1413819449f44584101ed5a3b97366c735ceb9e3a0034dba81cc4f864232220474750b4c17dc28af29c7cc7c25cca140eabf7f712c0e03bb98908266cb0107cd1bba476ab9aebaef527a7ba4a12072d87487a84546e67e03f9e94ef5537b527890f6cf4baff0157099bc33056604049be17bd87bab7760f703f359f60a873385ba4f28fd198aef510916f0502a872626ee865fbc10a3ae78bc036cf0286379e9f5a3b3aa2ab23dc746069a2cb52874c7cb2d10dbd658ea365245036d8c09f145e93177da4ffa9577b17527d5977f983b8e77311ad90d4a87fb6831030c4966caea7ba4f05e637bc533eff3c21680f40228e2a0a2a474a43f29e0ee5d03ef3373432cc608b5da3b6ec0f360a721eef88112b4b8605a9bce9e3f0f725ca2035a159ced29605e867d496b2a3a2b5a2dd408bf1b1d115abfc9993c8e471e9f33036c980c4a95b7d891e8711c57ef324aab180f9f1852e0752c978485cf5a43cf6c005820037b09b6712f3e6f9cea696b75c5175c8b9ba23de07cc0ea352f848f80e9eba04e4b8add5f6f50936c595200df3cff00582003abf96e2e0c8b938faac920b8df84f6a05882627cbe81ad004718b78e8fdc204e0a877aca527555ff9cd893c6383000582003d56731d664e355d2362d6bba5cae06af9fa4596caf1ac8f4592f69930a7e504f083a2bfd351a6582de482a06e10cef005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a95bf5e01033dd31feb7e005820033358f7e6c267dc74af464808e183791565c93e3ad1b5fe64ba60a77b8b32f0510100000000000000000000000000000000033f77ee7feaf38e27752c9b14229715c84016fe3593911b15697ffee22c62e5e600582003dabd750a3a4729f1f2f9d47298b119d6a67437a57a9ba89993133db4a747304f2e5b6fe5bebdcdcfc8a70321d66f9400582003744f326b207b10498fd14250ab144bb8a9ac2fd9c21b28d745ffd29468ad004d063a7b8399f876735a5953ee10030103dd4c1b098c7a529ea05f0bbab554c3b53fb84163db862a68e2e27d8f60ba03e9bd3032897dfc9cbf03db5d110df9896fb8d96780b19ed3400d952a8a11423603f85c59fbf192ce634b584451b546079c55d7afd28d4c937bc374c273b6bf85db005820039ee754e0e96d5c8f4584b5ffa10a61e0082d95389207d8ec3adf9e627d06804f3910ddebd97550ffba1a44c538fd5a00582003cc3edf1bf1233e7e1d8b985a6e01b13228824116c49f7e7b80b56dffba52c04f157f8b4d1064cb392da346f0de371a005820033061351226862bc933ac33a447dae8c3d85748b50198958fe2a56bdd21e5404f2687826ccfa11543aeea7b87facb800058200353c9dfd08a4fa31fc599b598fe07d30985043f13683e5388df66975c745c20500313c024451fa08779a3c92e314865f50219ffef0347b4c25a50a98bac710894f79a58cd0eab2e2d150ef63b9c983c07847922e0ee0309249bc4139f128fcbdfe1c42f60f208bfab35f89aeb32240ba9a229abeee7b903258a5be498a8ae1923f39cd48ec58e1a1cb90b84936d31de43bd8f5bdde5a4c603fb3c510a0e969e4edac93af0d007451f4d950df74e5f65766c89a030dc39903103ac8cb02c57969f3ce57182058323b481d7eb8f6e851c35462b079855e838022f0219ffff0390bef5487aed166463547d0e33b9a08f7d406d644790d65e37ac66706c8651af039fa9eee7d41dd682e79e3383b7c6d74f61620ff24b8e28740fec3d41f47cf57603b4ed36c10f1076d7645c223f502956ddb436790d564ff5083e5c021f44803ab603104f72ac00f3c778a916837819a09728104eebb28dab916a6f9db7c5a36417f2036ff561015b14dc368aeaf35e78ef08f4a3c952eed352b0cd781399bb576eaa5303727e03eb09fe456c07ee395f25442067db8a4cb296753052a25933dd7746511203c0ff7b98e4917f9607cf666e075b523240c689d6724ce93f3cd2bea3319f50d8005820039ab64c62b25f0000dc416c591ab5e438f5e9a82b20cff4dcf8728b05ce65404d1b1a12ae66b2536145c1f4a8e6033ca77564f55af9eebed9e007058f5fc803d4b5c90f02dce9142c8b81cf63c7610141020058200310d9ed2ef8212adb3bd3f6e8164ffd283225b1a30729212d04a8271ce91c605820fffffffffffffffffffffffffffffffffffb78b32ee5d85f60818dacbeab5d420058200377552664a90d7a83411e71b24bffedb65edbc427230709d51715a6223b0110581f04000000000088000000000000000000000000000000000000000000000000005820036e363f430388e85a54c99d54022a426bed267ab948dfb45d76e72be3839f304d06163547913848eb4ca1a06bed00582003e6b564e43b3bcaf15e1185dfa4feff7b109ca7f5ef513fa80d230069173c804d01ae098c32dda3fde895c7b97d005820038ae96f21b2371f82dd4c83b7eefb911d95e6b69e439e9ff456dd35fe204df04f0123226c88224435b464aefe089ba300582003dbb0473ee3d4355a517c7c5c41a8b35b4f512a5d9b6c6c6b4d0c03e75382704d0a5e5598dd578a070aa51383aa00582003c47463588503f72107c92aca2269d0eb9c03b51e7f5f65e7358ee95a9ce5804e4a33b97283bab30a6c7fbbf2419a0377deeada407aea35fe868c58861742cd7351b12926de4f01acb574f118e2e3af03d65b0782b4253eaa77f1320c92d066b7de30369c6712fe92f9a9ff8d3e112fc703e136bc3ad9a49f8122076346a778a251a0bda6ec1be5bdd4bca9fc03f259b122021979fb03780b2d48ac93ec5cf60fe9525e5c2c95660c4e10795c795f73ae55c0beaf92b40348e268e83e1551058a23d4408908b6f44dffa736032cc0ccfddeed09329125720350434cc7c90b8dba424267c20e00b46ac5f08308b11946d9666b2a9e2bb9042803703fc3c688367859c55c1a73ef22741929e6a1e9c67f3c7443c0ec93f6354011031b653a113102f62700bf48ac8a9e22b399e21fd283bb497009be7ba31f3cd1b903a2f5ab7ca918ff6a681b3eff3667df798bd51e8814f3b1abf64f90fcbac9d9850326276ca50f333ab5c5141f37b4ba1aa3ee6f020ea334b763f7b693c85dfa3cc803aa16e7a9fc76e89300ce1c7e81db49f1a6353c280d21046da0f2bc86ef36255f0219ffff03f23925e04e4c34a0b726f397e1900831f8c6e5d659de69019df90ed88afc917c03db578fde281bd62aca346fac325e27fd16c4920167131168a8f88914026742b700582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60510845912be7c095652efc5c0f6886b5677800582003eac78cd053662bd59fd3f9746c1969441de1d32c2f589732a103e784ccbb004eb42ad182abefaf6890846b78ae4500582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e05820010000000000000000000adf9fc7d488bde3ec0b62fffe91933ceef06632bebf005820035e4c200bb9833667c867d96754d801ccb048037d095f8cf2ef91f0681d13204c17e5fddc9e04d71dab539f0003221524a85f6187cec1e27ebdbde93600ae35a2d3fe1d72031469aaf8563302c800582003dcf31a630ab91f9734083cc0a1c104dc7bef63876e499794dd3b6eb6dc14504c76dce117ceba76dc45383c59005820030d29da1f84fe24e393256f4f4485fa60fb29c415f1aabc8f1ef7ed672482c050072db03d4ae5c0f94eb852d3363092c5021948ad036d3ccc3b66830efdfe9afc3250571f6a99227e0cb5ea061637099a7f2d8b02f90326e8a82690af9fa4fe9026891476cae3bd13fcb372dc46847a25ea2ae63c965703e71211e8496e7a3b194e5bb2cb0c38b45418e4cc77e30ebb5523190ca02b7d8c030c551c3402e6dfbe488db87d21f509cc08aaca4d869acfdba0833a1d3e43d572030bbae724443de6b5f260c760511a4aed3f77f29dbbb9d213297e02875fca75e40377a3f9889ebbb259dc178653dacbd5725f39549995cf2006414ed8daa922a60803bbc1e82f5fc3732bc6a31a32a90bc80036875fb37d2dbae1764e15031de15f29032c69fb295a85014697ecbab8d75299a86193205d64ff22694dc045330233b9aa03ad951d4c07a09e889844119e1d4765e4df8d2c277d9717645d64cf9762298f1203e93c8216d87e9cffd8558a268895dd6dd14260e83a15244ecf85b846935d5772037cddb8091595227c60bd6f927b52f814cd0f2ed011435c60c2ae25ddc15fed34038f0f69b3cf487e9f158a5bf35f495fc0b723f3f48ee56d96876e86e71f4fd3e60310fd3ccb800047302655750b7a611be7e3178100e0cefb8e02f1b4eb3de9a88d0342a0758a1208d22f2e9606711b80d0707c035a2ae963f475a56b40585a2e4e200219ffff037b93fc5612aa0e955277e67dd762fab0fa073cae3d344717e319fb71a9a750070380ef04008db544a6dd9bd0ba2eaf8bdce6df47f45671c4bc4eba74ea6b431a87031d0c97b7de2233cd26f78621bd94194561be30ae9468d4b8d499a633eb0c43b603974434f73b48a2a8d3d23be8bd6382425696409ef8b8a11d80f37656ee7c05d9039577fa07163f4c48d040803181b56d095630da6519956281a743f7c197259d1103eec3ea606bc8f4a66e1065cdc49bf3719102c7a238370c4df4d8a9229e885a4403c7241ac4291aeac49ed23ad3ca09b110fef4efe5cdd243f2fa99e0df1c72568e00582003ff1e0fbc179ce96d9b466999560e09212796ea283f12646ca694a26a5239c04d2093074105798da5614bc22bd000582003045fa7c6ec765e825df7f9e9bf9dec12c5cef146f93a5eee56772ee647fbc05820010000000000000000000adf9f96c9a4769b31495efffe91c8707b346632a20f005820036d92db94b6952447041ed33f2ab386b5b17ba5befb90f6599157523258a3e04c342f8f0d7dcddbecc4fc687c005820033aa53f82a63ac571abf30b8afd77b3ea00f5083bf8c9288c10d3ae9c8f105050abcfeccff4ceae17fef1f06b076212aa03e4e410b3f64de25d41800fe14fddaf026ab3616b3517cd3f824bde85b054b4a900582003ecdc14c26cb7b04b8297c143bc67020376ad4fceb2a8430493537db1e0d1404fa55b188f81f26e2239d1a85683648a0219615e036e06b03db6601f427262a9bacf5501d6ad8b826b6d5a426a47dbe7f69795ff1f03fa5ff27032be43e28a29318c881d9f6f6ba465fc6d5974771caf3cf45ee8c1f903dfea06dbbb4aeaead9c1e88dee6d76949258891ea84e1ea8d855a8dfb2ebe6740355eba425c7a987f4bfc550a3d1e6a938fe8093ecfe504cb095dd83a8e85f504803ca74f0037947b1e8b7bf01238114fe89b4098e7d5c20cd9a68a1397aee3a0e5a03ef62bd4ba80ca76e2f6c3461f5256715d37ff08d5c6901c477337389ec22c6d4033430e1841c6212ca9de510db24235e37e1eaa7c486a700e5d3c1b9e1b5565319032b77025935cdcafc2fcba56c1a4789648ae463ca4ef8bc5012e836ec55245fcb0367d1a3f222b688a33420c6dc5f30b92e26a149ac2b148afdee5b98234820bd990355775ced91d393ad2b7b4061bc794e52a5bb97c85bc7e4762b0f3a3f80b7c9be0219ffff0359660f43c16b8de85d54d83f6d6ff8ba413f9c7e2199545908c325f2c005ea9803e1f671d2715f85c669ca1ca0551dffedf165b763a24e08ba47265f53973700f103e1a4f7ea099ba2dbef194d49ced14fa1be550c6c93bb522367b096e0e7c39f760219ffff05581d0340a73fe149c89fb682bf2b6bf778ca5a351c06192518ad5a3c176070070119567e05581d03052941084bf310bd4c8344b4d1f4a99e0662b303549d4493848997a004010219800105581d02ce5941b75b56fb35d1dcbf6e267230c61b11b5799a83478984cf2c380c034704515301da275705581d022427c8da67cedc453d0ab5620fa000afd773baee11571f2beab988040c182d467ffeb56e95400219012205581e03992e33e497cf62affa4dbcba58ba5e284e7d419ac169a2e994b1dce2200c08471499a508220c4a05581e0346e70a743384c4febccbbcfae09faac719a8bbff4fc92521bd7c44af10040105581e0372c5619e2b73b894bf4859522ccc382c65f87fbafa3a5b2be455d430500c01450196be1ac603568cbe138b905b4da8e551bdf59cfdf0925b13162b47a71a73cc5bb44697d8c505581e03d57986ca2904c891a257a3874aa603ef1b8129b1d6983be62395da386004010219748c0219ffff03a27b9029b276932682b46697ff51e899937d748f0309e2776c8e590dce9bd4d203672575f82f7b25b1f209a8427b29a769dba112a3e989daab518928c2a2b9ccb903afb8a0e008077f1410e420324bf287a6bd249314ee9544f04f6ecae04590c49a03acbbfd38969ae701b40b3057ff00bf83c59c2e5650408e74f7db1d9acee1adae03a64fa705012ef7508a252ebb34323ed8b1aff0e0716867e7ebf910b922dd1ec003ddd86e35da70e13875b6c38c1cb394b85b338699100dc2a254234ec40573564303b2b6ae505a62cbe85798a9caf30813abd8736631ca248b09653228eda44ee14f03df508708d78bea490cd969120e9209b1c78a42513c219bd020324505c233ba0903c56300b51c1065adcc9c4d1ebf09255164cb937181f07110d9b1d69dd1ec3735039648b97ef0762e00a9a33bc7f1d6aa52dff9acb9be6785b22716f8d7e02944cf0323acc1144489c4c47a7e68b532f5f97f8d07fcde3566c3931523caf5e811ddf203256f9368a84500449871d5c5fd0a5acfdc97119dbd6cbacf7f891dd3a4425b690355aa9a7d4a2854c5c4676d495e5426d75420df30d20642e6e55c64f4c6316c6f037c5837bc70218ce9ff256bf6439615394590329145c9c22b622626c09fd97a280219ffff03a85a0248b83b5b3c72762244c7f9f7ee60a9ff711746a2300cd8463ed8f25844031b1c45594fd3e4f2ce1fead1d725b68219ed50205df61f506c8dc150f75ef57e033c07acd22d28dc0e9f1863f0bf79b262f28853f5d63bf8db6091c066a5d8a707035a6f387ce1b710d20af2a60bb3f8ef62e876e8a0fe7d89dc57d3dbdfc7a37b560219ffff03dc1964bb10a4f9c7b7cf7acace95e1d9b797fd1eb34d6ff43cfc9ccfd954e597033cb3fcafd832282204aa4359b390194ed697f5adab8f42f668a9f7d3c482557c03375d153f139fda4f8a5b4f8e5892bf080ff40aea2d6945b7b38ed6def34ea9520340384d1ec148f85ca469a4cb3f4eee0835da0aef71106632bcbc7272aab8477203e415c51a9af4a09a84be22dd75f71e9ba9253c7493bdea09d23839fb386878b0038f87f6fbe43507529fa4aed6e3572b3542a5120bcc3efd47ead27f3ee5d4e1bf033667596fb2d7856812badc592a11a86ad238e87b6b166faa53c26f7ab9676ba30219ffff03bcc6cb0379e115db8ae7826377b2d1819bbb50984501b06f73fd0f4b520acd3303f139958397772b518dd440df26ee9b829ee3b9a9cfc1666ad2ad24498b1b7a51037872f6ed138bb95c42af80e710937427c75c41ee5923ceb7d99435fbea2aca7e03807f3ff40edb698a78b536aea46be0594f90c2e5e4e80f8d7a7fdca41c2a907e03a5f7e7d058cb1f62c5febd2ef58748e514684a5707fea871179c7dca7c60d85e03b02b26669425bfcd73d1195053a9b84bcb5ece2de209a8cd28e5e74f4a6427910369835d49fc375aa72be2b56eac7678bdb1167f4404c5afc9532183f1f1bad3b803ca36b156b53cce7feda0d4479fbef0c4cbe732b4a25851a4147612760192f4b30328bde5c7738525995d591f4d20874e5ecdb1beebee74bb7773302353eaf65f2e03378a0488da80ad34d92071cced9657659895fe59ca654da4f88f74f6bd7046f803a83518bc4e636d35c47cbf74bfc34a6ae7127aac2f166e3bfa261c31fd8ba46103285ed85aa31b98871858e1af642c5cdf06d562534469361458f8a87e321ec96b0380cf6c64cb49f7f8912ac96e806242406efe4874c5e6ca51c2566b3d63a7b5f5035055c2cac034e6895bb841b4b456a7176be39edf341edb2d109f34480f69356503e63b5806a68603d968a70d3d06ffffc3ca160faacc742a165c75527b32a109e903b7e7e970665d6b26d3dbe92cc31ef8fa7f8836a84454deaf4debd5b4b96699f1034c5b855472c7ff292d7e495a7cd15baedcf419d1912a6b6d87810197170d2e65039a641d926fc332197bf5ddd5cf55d09ad06dfe2830c5d2f73ed3ceb881a21907030878d56b4babadee516eeec6d9e0ae1bd194a549afaec6f7249b39b89b2fd0c003479ce96975f20dcc184a41b90fbf1c58a1db30d14c786f9114bc2a7db821d09003930cc2af5fae447a00599416fc34ec85de47b86a6c3a1fc8b1256b61a0285949033211295a5b4b84274ca4ae08af33830142ccbfb6918ef8d2c38eb01df4b5080703ac0162f13641f7bd39b6e69b44c6eb80a94f110d2ac9ca9a1be36860ad63dfbf034348741b3ace633752a1ad68a8843813ed1e06b35279f4f82338776e51d04e520343d357afe6ad326e546b0ffec873bb48b518297201eb5b772bdf34bf9eae3e76031cd1b4de875de43b1835187f869b315feac9ad9a3767b347281e04271211a21503e9806e8d937f87aad726966d1f66d7a5912244ead747bc1074b9f8fdbb5151cd03cb30417ed3d84986b159fa25e2fe5c3d4d74a539404bae74e9c062563486381f037fa1d888503f72dfbdee5d905db9b61a65c019d7d2e28b73bb1bcec0055985aa037a0c45f23d8c981afbc6fe741fc97d8bc4a54072898dd2b96bedaa433d817e3c039ab744f467c90f4ba254ea405670ab7e2777ad671cd612f5567e32e0895cf70e032d21387e5e83a98332285f8f1e4d3d2bc10e6547d383d248e646586e4708330b05581e03dd3ce679dcb0ede2970f52feda3b23cadde982d5b1c8778270cc6f3ef00c03470144a13347e1ef03ea8f41cf5ac51b95502481232a6e9820da853536886c9902d1edc3ca89f6a33903237286ee90c3a251f3c59e55621fb9b96dda980955e8ce3f5de0b40fca2f4e1405581e0308b5dcb091944665f9da2bd6013498cdd9978987c239364f02f6b54440040105581e03df26cdff8516cc90513cd54e97a642a261a01b089fd008ea5b7c025f50040305581e036cdcf1476bd1b23add4b64010da351cc2aa550170f22edb342dd8415b00c0348013e61d51ad3b90005581d02e63e7961ce5dea17a98f591e2c6eda8a816a4588b3bfdc4aefbb9bcf0c189c490461efafd8a0d7ae2e05581d02f506d97baf34ff63f7104483de6e386c41c85e8875e446078136c3410402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d027ab3c921d800d8a9ef20a838773fb82cfd777e337c87f2fa4d7b899507011bffffffffffffffff021908440390016c55055ed0e1ee3eda68b796b2d99fefc8dafb12bc72ab1dbe32bf662b23032859fb5f4bb0c0a0f8b8be02479b5f2468ab5532f7066c8d5fbac05d2f3d5f7605581e037f93d575e5ac68785a09cefe2f917f1848b65615c9e40dccb493b59da00c0745a87ae7083805581e03a172bfd9583f6ad30c94e6d7ee74040c9e5d8a343ca00307e2a542dd200418b6032f22d62bc0caf5f3e8c1935994a18e9b815787c5d8c99cf0b63337b6bdff67ac0219f9ee03f331a4f69d40713f3396799275829f756180ae6676bbac2c35a739ab3ce68be603c059299f56d0c051b6b94a1c0a9f0916e64bae9749d95c6054568abd03ae9a6c037c963bfd9e65b62e185a7a0164647defa5f2ec986b7bfbcd013b3f3b307dfa0f035534662d3eb4fa8ecced54344a79f481fb1da694b902586b7c2350a7b37a1f5a038bed46c8bf91ccd98788f8e60689be9b1c80b6c52283a8c88c22653369a64bcb033caa33fc0c3b868f8b6781118f957cb92158e09039c7e25e65fb9b8fe647aa8a0219ffff0343e30e267828b0a2820b3debc4474347998beae6ea5b957e1c2646973932d24f0311623f336da7fbbef38a7bf1dc9174b35e7f79a77e6b6e2d0642f96d3b86ee220301cb21d765d6abe6a1520d2656f14031b2857d33adf3fb89a6e4648437b473a903769d46b6991cc861cec02153f1484eb3f1ca62eda6646ecec7348ff065d2cea10342056e927cb61ee2fd8d687e99c47d5fcbd9dea98e856fc085c75e9260b89ff7039aeaa7dbb4d646e02064fb51933bece684ad829c450d13a0d09028b9b0e0ffc203ef36fff1edb3773b741d68f0c48d650e5cb568e880ba045e3724559686e3ffe2034682c04cb32c92ed9f48d97d8c68c6a5104b670fa421117a914b7013f06fa6bf0330377539b2dc57a440a6e7b956b7914c76ce98b962829a7bcd427deb85a39507038a8bb460e18a0a0a1e876d66720ffc4d4c583d98eb49f68b54ff01fe491b9ef3034f3430ca93a3ecb449183627b3ae6de2693240617e9d1e536995046d728c516e0219ffff032e7c7b5bf506c05221f661cf397c537f04f07fc294a688f8f57007b3ddaad07803ca137272df0950089fe12f73203e9814d78039bab11ac0f98367b42ac49cdf73037a355635e39795eb5eb082833e2b5ebcae88f78290b00a5a1a35117e34cedced0342508f85ebaaf69f18f3082f80e3d0fecb0210debad9a7eb6ba7f5ccf0c38b5b03dbe41ebb0fda8e1905b6dac99e518dd6c9a69f1f138c7659d97b63e0f88fbddb0382fdd7857e005e5c6745c9a8977853486e8e8610b076a7b724f8e6e10673e4f20219ffff03cbe9c3a7887df446941c68de816fbe46b211d8548d1009a11ca04e2c3529b7fb030776df9c82ccbdefe3ea3e674b9f37aa187fdd050a796d75ef88323c1f83d5ca03524996fe834c1bc6866679a41471df406fbbf0e6e83ede00f7c3ae4a110bc4700356a592216aa755999724814dbc543398379c986053b62b01df6df6f5196d781503eaa9ea8aaff69f279cb19d7b24ea81fafe7558f1d3f92a8a68277d14b8ac036903284f9711f7576f8b80b1d759204c53fdc4ff4e7d09d763d1f1eebd1053c8453603834d18adf1544a06bf9cda5eaa4877ab6fdd3fddf957950f8867e273dffb8c860361768caafde2a1a0b147c177ac3621ae90f2e207271518001b816f5cc19606ed0309a7a1abf592c3ee421bb3d7cb365c3debba078a673b5b9cea9c049872b637eb05581e03e05b0afca370fab2a485919e6c6a301aaca616d4580e5e32fc3bb678100c014702d52ff2ff86ca03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03f5ab465c72d692bd10dbfdcab906a30df0e2fa54460e401e51ef4fe4b007011bffffffffffffffff0387a0332d63acf94dcbdd4bbff466b344ada46fd70dc30cc74a7a97d3b15fabf303da5d66836c19b5f86ec42188ebda3219ea0bb0f31f4eace875b70a4fea2c9145031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0323021c3d9d84f63705be88476b11b390364c3c4dc4e34914782967f26007011bffffffffffffffff05581e038c1f606e34894790449b12d47164c6be4a971eb5205536261fcfd3f6200c034632896925e7000459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c634300080200330383279d487dc7850a87ce46818fc2256b3741c7ddde71883b584a2795ad4ea3ff037196e0a39e878faa224be88062372039486133b83332f06e8a6a9b559f1d549d03a08bafd51612e90d947e385e60560be6455e1a153a8b0a5eafac067ece580125032e553ad51ed8a31c430d042d0c40a0e9b48ac4798797142eec3c7942ecbfc4c2035e6fbca87a558cdded5c49f0d2b2e3a833e1593046c0033d92a5faab308e24a103bf1d714193ff011d1959b75306e124cfabeab33924c66251f93c3240fcb49f62033e84e4efb74bfc3c06623c59b1e507261304015f123586caca727e2557aef51f039a99514ef3d9e74c05a9b70df8df766ac900591ca1b30f389b1c76d0ae9c2b7803779692c91ba20589f12f834c67ee232fac97237304faa64ac17d930c34a92937034018f294e4d50260d937bb8bf8e8e2fe34c224c1e5dcea817d4351e16f5a1ec903d3b8525a0d4b65657229a95e1a20d4d33925a6d03a9bad2fccdb1e464e71b53a034effb8277c04055d78e878c6ab795c703656552b3640298b250c7a57fc6d039a034c108590e8c97d5a87cfd79876e817ebca503b6ac94866be14a7c64d94c75c1803584d80236b261c390d011fb73cd36fb45b181352a4ad547bf9720743657a0a9803e042cbf0b6d8f3e58450133cf770a2089afe05701356e40e23fb54a94d8225f50365201e7e61d551f957c6ae31551f9d56cd8060202fd80110a5605c29987558b80219ffff05581e032689feabc3ef0f6bfd96a79947356a9f15fb8299c070ce3292c49208c00f014749cbf109953b8619085d021942be0318d6164dc833fc133c95f39774ee9b20fceea822d641acc47b8cb5109619131c032ba74e3c44085e4be1124640e1e686c6c2310a66e7b6745f18b35dcd1ce9d01803e909808e5f52a026920662f309b7592e2dbe5401df4b314c83e1a0fb97aed08803203cf94f36868cb52d3ecaf8dcc453237889c026803ec2139da47c91a2d2bab603855928f28f8b549633ccd053699666ebcfc7f017f56fe5cd728300a85c1bd14903d7735a5ee7fd9c0c603864719742df439ffbaedda5f6c4e59bf6a596d9fd22a1039447403bb370153e309a76c35d0b2f12f7dab016a8e9d016d0aa65f07d694e420305d67488c23026886e518f1585b44970815fb89e5892ff7d2d38e9e78d2dcc2a0315e816c0786f002aec0982d1ba70da030ac3db0e7f18719d3f2aca969a99024a03fe125fa9bf57d4ef39fe2c8ffb698e17e36a2792c9efba527579cb8689b1062703741a581df168d33645b6911adf6d1a6e120b304d97c14d726533d88f6726b0d903655d1b9137e17708319b49d659f5c960bd8246b88402cfc2b2a67bd87758c72d039e22a59f975fe088486effd92cf2355cd90f3f696e6ed81d853e99533f86c1d803137a8c784cb138dbfb52ef2fefdef9c6645588cb3f512a8c6df116a170e61f09036e79b991052f96037b52362b902775557f911cd4432db6f58e7c210b23d5f8e30219ffff03faa09759078bfe8139110a07e744c6d2fd11673f373116b0665782657e744597034df210c538ffc9388c3e9ff10339e0a93c41b223eb3d5512e62620e3813636a0031b0714be8379dc3f9729611c4ae15f61f0b5fe872de1df076e7c301cd0470e85035986514a768306e56f80b2f777da1fee1b415fb2242c653587e7517235e7f2ba03da4c44c6a156e3ab1afa722445a023ccaeda3197eb1e1e1eb4b3d33bde3e6e8d0383edb237817767f5bfd02e3ba2dddf6a5089bd9d9d8c7251728d2f9a1457605b03485758d79615100845ef9b100dcceaf6fe3d8077d87be23908c6982d99bc3da1031d5c12e1f0069c01d87656d97dd4707235f096264f40b79595f9973f12984b1103c929801aa5372bfdd49ef757174964a4f40df514ca4f8b7a2bf6a9f1ca089fb2033e672c8d8257ff2e3ce20ec092c218acaf74d77b99b7f03eab244fa186fa311003c534fb9082f3bd72ec28119a2d987b34c5a25230281e280db7de7d8a344aa223033952da42027807945352e64987c8418701f8b5caac146069a5057192680b579403e75413da74691df7566179e1b5280b5eb651515f554bb2b18724a3a9d106401c03124742f09dd1820bfca1c8779d4946c2eb2002f44f0f0712638cd582b7dcfa2a03caf998136000ba67d2877fa0b3552305948966dd95c610563ad57a18d7c33bc80219ffff038bef8faff90a16c21e06fdf92c71ff3bbe4bbf327ce21759e80d437eb593817403c8ab64fef819995019bf1160feaf7c82ea4fc6d1c9f0cade132d6f448c4860b4031897359c17848524d3960cab3229b171173da4686409274a16cb032c50cd4aab030b3c405ec3c5888fa5e5591f1409fbdfd490de4b7c963a548f051d9a564f540203e7f68a44d839e9df77e4a404991580dff13abdb5f34e9362dadddbd10b00495003deaee14f1be974404820e2ae8f4f53a92c911c9ff0b9fe4c4dc8191cfab5141403f50c9179c823247d92fe2d89769255985ea042387ceb374f8c6e91363a384c3603f501365defb57b215d4fbb82cc4cb233cc71d756753f19537431abbf7e7545190219ffff037f87af44064606c191004c4acd126e51f1d639f76d2e404b70ef78e3239f1448039be6ff482b4debca1301bd93402ee75b2891fc7236c45057d90cc7a9d11cbc6e035698c2b136fbb387ddb933d24ae2f90a7761e266435a8db1da23aca60aea12b30219ffff03b9d257e040b698ddbfab236de0ec6fa614f7bb03bc123246d59b45749eea328d03119a2252dd5061354fba7cd895be7b9f98e14f8381b47aca5c9e588373c4bf52037139a18a47207e6290265970a77aa128158f440effe160a1b67f42b91b117c7303948492a841173474dc5edc3b1bfe59099d45e9abdc76d0e75c0c3abc6cc2e36903cd207684f9ac93e98824c4767390b4dab9fea87714b3c74d01a93103c8001ef30327ff2a1f3e49f9b81033fc2873b1774a7a539414a63d354f001e78deedc8cb4e036342d73e9a445c4df296ccaecc8cc16d74e1802c2211e8e104f34972048d7d53031dd9b9b8ffdaa2d6280a1bc5c5c477ec2914d941395e29ca8436e9bc91f2f3e503e0fbdd4ba0ed9cc78708dfb05ab95f5d1708905ab77afde434812a17ee93183b0305e63cdf2d1fb15c5b82f9218380db665263f4119366ee22a2abdacdf5b40e4903ee2e6a2a0fd0c1a80c7eccc8e1b423be55700e50b6c8a2c40aad9f8ec99f4cdd03b4c22a7fe8df022dc925ccc62c24c724a04ae17eeda4ae9787d419479b8ed58f0395c2a28d8a40f1c9a4cb81176c7bfa1c1746cb230db80aabab06296e88051d4f03afab3fb94cd28128a7504d2aa81b5ecb7b5c7a070a3d07db79984e56379a51a003744373c8bb172b0bf500b82bcfdecc9a135f7d20e7f19140bdf0f7a075b8599f03e6d5022548270d11b03ca375f92c7711151f3ee573c35527a9543d1d0eb701e70300570802b02a5603d60b56110a8cbd610003f01980e039c6610526fa8af4c01d03a718bd76f46e386d19959701c27ab3d70ebb8946f00812c1bf6dfa8b67b2c5cb0325e778c23a9c8b431d016021629ca89814631e215f5f83bbddd93f41f805115d0329044a2be884d91c21845e2e889e27d43bc4fc8fddd757bd672e8a0f04da0706031119a12bf862721c24ce2e6bddddffd45b40ed9280a2b096d08caa81752778e5036de2f2b1802bd1e681419f6662fda70e2132a7d58b5ea43fee51a9f07a92ce2905581e033299c7bf725a6fac26c4e906e456662c464e92266a6e60ba3006dd0bd00c0848138742ff72cb7b580300d3a9276d2c475845498d3b0d5d9afd9d827ec9a3845b8b4bd049a3821b3a1a039cc2ee0a71825ea696a358c52d9e95da5b27d86b991fc8efd40309d68a6e23d905581e03306f0c187a3b0f153ca80712c2630502719d32da0fb80312f523e0f5b007011bffffffffffffffff05581e03186adc9a08f511843443749b6598fb102e7ea16354c7c7082e515cc6b00c15489a0a1c060f1bf7c603fe07aecf364c304b88a1c9a2b3854af948d9d1abbc6f71b34739562f6b21ec5e05581e037b65730627df46ca3e524136fcdb2ae9fb6264fa0bea73d145c2fbe4c00c01470467ab4c81919803ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d0260695a38807ea5a404ca66066421c6671de5c773641a30a31edaf07a07011bffffffffffffffff05581d02cc6f29560c575c4bcd4f2a413eb4f845da04b27f822b33038a4a3c36040105581d02a3dc3116fda19da809b17a6a7a4e06e35ff65936cd073d6f2f36488b040305581d029d9f3d52a216ced9e6397c3af91252a4864fadbfd344a796854e83ba0c1902c7480332dd55c1aee16e02191441038b61a7670f16ef324f3884a32812f82d07eed8d622a7a78386a20e5beba0bddb03435d4024d9b9b68b27c1d7cf9ace90bb4ec628595bfe56deefd4b036f47a0e39033c032e001c1fd719c5ec0cb746d477ad3716d1a22efb081f9bec36f108e499d805581e03628841d00788eb117dd37668aa117289f737eac0f5fc6014de6fb1dc900c044638449debc5700392bbb505daff472ea5b01a57b339485c5afc15328b074a30e34b950341335fe10219b8bf0324571cb19cbf04da53b5278e6ac4aa964df87cb2156fd2c012e4665d588ad63403fde97b226c7a6e1d29a27ad669139835ecda39be6c83c3c656061b3c7ae712e003ea58049411195ab99df397bd84ce652193d9bd8011a779b31cf1a6dbd44feb2b037350df8bde6f985d981edb8dac59c03a0b04d0d14c924eecd243ac8551cda83603b17841f1b3ebb96a948129d4894ad29fcaf4e6bb636b817906436c3807095c3903e3e2b9d9f0344425cdec1f2d0dd93feb000269300293e18aaead6a45e0f35cb103d263da0761c8bd6213a246cece2178d607772adadc6731a015952f58efc9b9d503d82f60ecadd68eab15e07fbf24972b5a968b9e1b834a4e4c139a020f491e760f0323a2f55364ec9eaf10f13990dbb52c4307dc134d6cd84c1662bf8e229542b12f03c56821a218d71269fb8dff6fde506d41ff29e5b001bf02fc40e1c09ebbda3d6203f0c5979b6e21f973db512719371a76f7bfa8eb154e114b94ac292f053b5057ff0219ffff0219ffff038026c248ab646b8f1c5f65e37924f4267d882754d389810c674489fbd82939300395ef635bfb62c621f8523fb2e86a38bea03e822631815e9fab2dcfae2e94a92603149ee4487dd138bc1c188bfb17c2ba1810fc9c5638c51fdaa84375f8f7a282d903b257e806b33d8e34e3f486201dca785c1550dd545c1c821d53aa58d8becfb421031393879079583ae61b0d67536d52c7a73485c4b2d30f0dd6e12490e3d7cffeb8036d6ff27363f5788c72e63ac7b917d17ce66f73a72cf224e09359ef50db8fcf8403bc0ba4e9bd4cc584c9e84a1f77d8cd1b62279dee0a62ed9b4053183ce404994103c8039634e89a81cc0ef2cc39d18f57dbbe8455337e5861a690d9843ccedc552e03a4ce2593cc9faabf434018f757cde50ece210a0e2b754b12bf86dd9c9033038703bef1117e16e7b305f5ff33f0c3f73049460215f30620ac5a57264731cce5a467035af69e550ab4d598f81c87b5e2fa5fffbe5bb209bd428eb7f9a96f44954147c60385de642b6a10f72c972cab80c0027803b89c42a4b411fef465fea9aa638df03e0219ffff03c1b0db8a5a7cdd150cbf4618ad487e6b06dd97fd7630b24b74e5ad010000a48703caad861163c9e58c605ee4252fe676513005fae340363e926ab06f5ea3dcbcc003edd72236d0856e882be8bb8948dbd5e7839414e575c86686a954865e03cb87fa03065e49fcf5ce16cb9c26391be30dc0d58ed5fa5758d4e01c169695b8df28da2103aaddaefcc6b5a3ae801c040f2ad844bc95c8485898b7d3d3f6620c0fc1f37101030c05fbe7c8c145709d9e472400cfe4ba7050360d90a248a70a86aa5ef4eb541b033b41b791c3d7f20a5700aa4ce9d6d8d2eb58036288be9cc646b62cb7c6f2d5a9036c3e89e19bf9339f898abc752cd29a6b4e740da76cc3bd7d13552a5c930ade0303a4b9391ba525f23adb90daf947e6bebe866d2f384005b0db50e7dd8236efce33031c0c55f69ad79c716171358e64ef0814a657ea90428619559726b1b3689d80d1032bb2ad7566c4bd765ef097374aafb1471d5e30f6722fa198d6ea74aa794a961303e8dbb9d86b89313103b0d65aa8cb606a7576c52446a31922acad5263805a35720394a6adadbf444d22c01eb58daf15d83169c1275afd9d8f5f6ac9ae6475412b8903c5eeb6ed0edecfd74a691442ce3d4cd34080f50d4f3a7a3bbe679568c55c7506039f381b9a75ac56569c25569e6e635e8c6f250367fac7b24af87013db461df9bc0219ffff03a3ef583b230133807ccbb42bc71b26afeeaaed73586ecea386d07f072df796b90389b06d1893ac92c4c5681ab5fe29256ecca4080016f49d412292a055cb8a98220321f747d515cf201d6b15c5cd170248631e981b3c6ee117e254e93dc1cb8331d2036e0fa210b02988336c4a61ce5230849102e958901b9c7054dd753818cc5dc34e0397ad2674f03be082998f3173190d8afc0e790400796085c309e55d7c91bb0b7f031ff962b6b0d35d6c607dcc8819d18f0ffa16e7e96f79b72dc797defa217cf6ba03e6699692c8e99ec1a53aaf7f017d1047830c8c518e0b0d15b7c40610b924a91103de536872d24ecdff151b9fbfaeb1de45badca98cdaf66ce41f2659e6a99f682203a984c4b7d2f01096a46101f8c0bba9e1f4fa9c59903bf197e7c93a55f37066b803c5b0e339d68f282d3a86f842b12abe41388b978809e1516c749434533a9968610394825ccfaecb0301173a54bb55d298c98895ad12b955c53836fbb49ed1926aa6039bf6c4328d88da5320bb4dd3afb56e53f8f6458b6f8e619dfa95252978d640f203f8bd33498e6ab79be066a898cbc86ed78f6f670db1921fb6dd9ec282c168ab0c0330b19d8f180a12c9a633f7c2655cf25f725d2a97c0e3c9fa2180be3615579e4e0331f00ce7261cc6adb0b775b1b91b9b3dc0f6b3277a4f510e501c2b01ca8fa79603d9d28a22d1ab2630220ddc6c4de332e231dac7e2e3678af63b017218a858f2220334a8b992fabaafe1ef68a395dac433776cff12e120a93395c5539020299355b8032e83c20ef88fdf39e398f87bac1daf30051d61b1808225ccf357de5606efa82c03ac5a9c395a3b41ef346113c0c133df30ab24a1b424a8ec24d1bc170b6fe1ef2e03e7bb18369eb0e017039acb5ab3a3eb0e5573ba34953a650ce56418dee0fcc47003524f1e5f690b87ee73770fd0d8b0e17392d318df0465ca42e74f7a130bc9b41f03c97f0c465f518d017db4f203ec0d5e2a9281bed4a6d51c8e174ec9c23d02bb380337809a2179c795bfbd35fe74293b2589bafd75739fd0de3c26ad86a015b47b7f03b7ca5eb9a478b9fc8bcdb1e67b4b65d8c1350cb763087567435243199bcc359003aea64fb057c8278b453a5f92fb1552465b773f0473d4a12ed211152f4af36c2803e4447c017c2f8c228449e04d8dcd3d759e167e8f36ce1af9563239adeafa9b9103631733a394d366f1677abf8bf07b67e2dc58b74083196dfce450411853cc2588030e47e4ef1854c8648af318deae7542d508d265f5c59a8169cca591b18e237ad6032c4b73959ed49bb0d53f2774b4c95305496db6c6e9d682ef8690680d6f668ca305581e031b869c9a07fb30c9160f0c8b1d7023b0dc1312888685fede7bdee28860040203bb97086dd558439b4f330b5b2dad65bbad82c56ffc36414ab351703068f6fbe005581e0312167345ac83cd064d3e923d113313b3ca5742eb70decbe410721878a00c0c472f318b6967803503535a96b275700f8d2cf9d1d6eec9e1adbd9c3448287309fac8ca0c8424e9012d014107045907c86080604052600436106100695760003560e01c8063ac210cc711610043578063ac210cc7146100e2578063c2167d9314610102578063f2fde38b1461012257600080fd5b8063715018a6146100755780637647691d1461008c5780638da5cb5b146100ac57600080fd5b3661007057005b600080fd5b34801561008157600080fd5b5061008a610142565b005b34801561009857600080fd5b5061008a6100a736600461072b565b6101ad565b3480156100b857600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200160405180910390f35b3480156100ee57600080fd5b506001546100c6906001600160a01b031681565b34801561010e57600080fd5b5061008a61011d3660046106e7565b61028d565b34801561012e57600080fd5b5061008a61013d3660046106e7565b610321565b6000546001600160a01b031633146101a15760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6101ab6000610403565b565b6001546101c5906001600160a01b031633308561046b565b6001546040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018490526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561022457600080fd5b505af1158015610238573d6000803e3d6000fd5b5050505061024681836105e3565b806001600160a01b03167f1d27d1c62712f590d53fa9eb8bbf3a75d09503deae319bb9d99644339cb312e18360405161028191815260200190565b60405180910390a25050565b6000546001600160a01b031633146102e75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610198565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461037b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610198565b6001600160a01b0381166103f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610198565b61040081610403565b50565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905291516000928392908816916104fd9190610757565b6000604051808303816000865af19150503d806000811461053a576040519150601f19603f3d011682016040523d82523d6000602084013e61053f565b606091505b50915091508180156105695750805115806105695750808060200190518101906105699190610709565b6105db5760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a20747260448201527f616e7366657246726f6d206661696c65640000000000000000000000000000006064820152608401610198565b505050505050565b604080516000808252602082019092526001600160a01b03841690839060405161060d9190610757565b60006040518083038185875af1925050503d806000811461064a576040519150601f19603f3d011682016040523d82523d6000602084013e61064f565b606091505b50509050806106c65760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527f20455448207472616e73666572206661696c65640000000000000000000000006064820152608401610198565b505050565b80356001600160a01b03811681146106e257600080fd5b919050565b6000602082840312156106f957600080fd5b610702826106cb565b9392505050565b60006020828403121561071b57600080fd5b8151801515811461070257600080fd5b6000806040838503121561073e57600080fd5b8235915061074e602084016106cb565b90509250929050565b6000825160005b81811015610778576020818601810151858301520161075e565b81811115610787576000828501525b50919091019291505056fea26469706673582212200e79dffe321a7bb0e7bddde5a23e98f01b0321b43c4a8b8b3da18b7d92bd5cf864736f6c634300080700330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630546dcb5e43b05918505f65bf423088af172c32be330058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20219080405581d028145caebbdd10b20afcc2de5d3a5472e5b99a09d129070dfe102f0ec07011907c805581d02823728f3198051128a3391c469951f4a846d66cdbc0f4f8741d162310c0747019b57561481b202190280033da7cd27be6658287fc9487ad605ffddc4fe34918b8325b077379a2ee400287405581e03eb906176368f81296caeb9cb0aeebb1ddf9d3140f9c8f9b5f76bf823600c0247100e2ff12ed30003f53c9efff1462721cb2e094cd822b328ee31987dec8a03a1ed5acc544489ed50031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03bf15ee8976e3886fcd22104a180abeec01b30c650d8962e1c1d5ea729007011bffffffffffffffff0219b6db038726c5957254b3aad842938e931b02691500fc10c1815a0d4765e19361411c2c03e6281049eba9d72b8a10b0752217ea66fa01cb42faeb6a94380715f705ffee7a031ee606e3f4d04f0b4ee3a9aa96048ef095c9e629978ab3f1e75335778c1945370390a1cb413748ace737681300de8e4a8c00eaf44b68738500535decd1a22fc7760326d92d4c0aac2ee5592c9bc8e24947634291b5cb6284a739add35abc548f2441031d1cfedbe37eaa5cd3242af64999ebe059d2e537a9c8b6927928d9b15c995596039a8ac3f686abd391e21f1cae301dbc711feb27d554313f65d44ebd3b7351dbc8036a67989ba809a0853b5a0274a0e165858a6048d3fa52293cd441c520c9649cbf030f40b07e36d998651145093ae303d90c017ab7badf7a0a7e1fd004c3c62e3ef403c1a603f0caa3202d08e96863a6c30ddd0427dcd46582468bcec0c9fb2ea3ccf20375c3babde285d535e92c0b4feed095b037587d2075743d97e5ee028c416017d4037add432f2012d4c3822de391ccc44d578fafe485c88159e691509180d48c9a720364d14b732e9b6a89e73e5d46d98a7e1cdf6814a3b43f6184e6eb19c93827684903c75ddd20a5e6d22ed74e7e52dd99846181408287e530f6912659bd403bf314ce0219ffff032053f52af20a112ff8fb48ce1d891f0baa0a363ef762585ce5283fd84e1f4ef8039cc4daaddaa002f6eac50cc4f35286fab75d881a24409ce81999cf6a129e4a8203ffbfd0d95115849e6b048aea8e4bf94656e47d4009e2c140212e2404ee46b22303aefe84c55ba61bd40ce29e28341b0afd7d3b9df8f7e0d4d73066fe7f6c5085c60219ffff03c8539a3fa351cdecd599b4d01fd2b107c6917d4b95bb509fbd2b859691cc7b760334cb2efb37386643860e41926af3bf10d470f1e845aec6e611059a240558826b0370547288813328fe484b613f55568808b7608a6e47fef001be1015b0f9c40db203db245dad77817f3c9f1f15bd564c752940324696673356c160676a59d5e65c5a03a415fa181861768f2fa06eaa85fde3e64258b8cbd11b3abfe75df455dae070c1034fabeb23d80455279b0a71b37c84b1f1f823ba03ca35a269415703752908b6b5038f3a841599fec9241b16d870bcb695fbededc053529c19b6d40aaf1679224d3e0219ffff030c2f343287b7632b66c47235bc24b8df1cceebe0261786a89bd1affd5ad40d7903336ea4a33a3a65c5008ec5fbf00e274b4e28c6241cb6844b39ab635b61ac83ff03720eac3b4bf8d67134d0bc6606510db2f97673464f1ac1ff13e7d70656265b7703f33252d3c7c99b2ae9e6a872539f8684bd9e69453a550a7d829961c1679b459f030c31a8f7590aef8cd27437b4825d40c5db810028fb4f5ca085b1fc97bf06f762031254a49000e03ed7de034871ce185b31dbdb13c4e81a9b254f6972763a2c27c203d2a50b845dcc3c198b2ff44b30e727442a31e40b05c44dc4307edc099fb6c92a03349013c4ab48a7f4f08b32bb932e1737338bee14b31ce8f06f3becfa422e4a8103d52743880b1725ea9e5ca8f084ce10f904c71b6073af37fe348b6cfe1d3065b4039365cad1f2c7d96b5c6b632d90c3de6900e862a7836ddb4a662717c5fa091d2803bfb07e9e58b878f20825fbebea8befd143b35ed99d58dd1a972601eba10854a8033bc6266866939692e225be80bcf35189c7cd62d0c67a478fcc60afeb5a52ef7a034b927e5eeaaf00a23d13ff490a1f370f216e4e6e0f786c7fde5b1301dbe2807403cd088b08bb22ae35f7e76cf1b9bd250cbff5d28b7a3c38e2da33aa010fc9291b03e8647bd5a9784e9b2a962790a67df496ad27451b95b89f8b378f9f42192f855d03acf6f48da367aad9360b97a156f1764b53239904734812c37392ea8c7a5d47fc032c3dee8fc0cf35ad33e4c64627bb7142d047027ea3539196acea02bb08a894e3036058686014c36994f92ab2a423ac048b3c306dbf7328ce5e79defb47c75e62760304d0715b8e0056488fa0bb8f7d8a3586eaa444848891c681dc8fc2e16403a46003e1721f4bd0b79159cbaca142745bceb31844a3fd6e6caaea81496a29be40fc830312edff27ff5fbb73678186f34ee0c2ebe81330450fc258b36b0f41cade60ee4e03717070fd8938713992512f2b14af36ec439c7bfe2e8ecff4a181e77d11367d360312cd6863653999b13c1c86eb01d40f0d2d3fa79874e8c432448610c87ae4af45030b95af39e8aaa900efc4a5cb2c826930b92f383c18d909be32a6a11365e358df05581e03b4a7dbb74e12336f08f100424e30d560bd028ee3195d6791329abdcb4007011bffffffffffffffff05581e0307d2280148aa9703f9f23f1549c5ad7e6c597764f67ba7414583f1c7200c18c94807455db502de08cc03bd0afd0128da94514899ded5dcaf13a302e0b4b54adcde82267e2184ee4cb52b03a508fec4fa680494263612fb648db386117334179c9e4330d6bcb9f7c9533bae05581e038049fa170e6323024fc9224b78db00ac1a98f247012c1416f428bf189007011bffffffffffffffff05581e0359be496babcd54e3638407acc6245fdbd4eb7ef4847c33ec35d641c100040205581e032cfd4e42812bd55b5f63c1c66200de86a6f5efcc830e0e3f42205b30b0040205581e03f43b947d5615cb343a0263228620d96ebc4eb4ebdc91213ce69554ca700401021914ba033d05f513017b4aaf5083347c636840c90ff94ad142905df9f6216c52fe54bdb503e82c95ce72017e96234b60fe4363e7260b3d9a60ae407a6ec5a69a0b283dbf2603ec800eb58d2b7859dfaecc81575e24f7d5834788842c65cef52248e7da63d9fb03c4fe2a26700d458dada7f59f8f698ff4892345e4dff347ed41f47a45e6ce5d62036871590bbb407891c6c635b83d65bae594abf7e6cd3b8667be4d103820a0e43803585f535d2830fe6e8155efa628b7d501ce1d20092a21d603dfa19844502bc65303495eba98428295b8be7b980c09e603f503ebb26e3b787b73cb0a611fd0343154038831190c703b013749f35b43282d4e8ea904c7c435c7cda35eecc0d0d0be8ec8032e3ea30bf6ebd6e0ba7a17a2b19fd3cd85f7f47f1bdfc4548f6a2abedeecee1103c863c42da4472c9ae66ce91a59f02a7b0d21a488a2faf211a97b267d0880efc7033b7f282960d26633b12c6e367f7f89cb8182d09f18cba88e29546955c6720fce0364fa93e1d2a59dec7805a8377674a83e648742796ac715ded59376450dbf9801036601007642beae223e358bdd24ba03efb244615ccaa3eecd21124c36fd2714e603fc555080d3ba287306c8c149b429609e53a3737327676b91a5b6f717963c828b0347df7ba5bad79faa3dd1ecb693e1730f2c5808c1f59e52bca8dd521c04a1edb40219ffff032c26c8ea4b308b6aa5de9c3e808df8dd98898c83f19909ffddb8acd9b679684d032e94d4da09bade5cbbdb579bcc8444317793e9dca775fd2c6f9f858792725a2b03e8f6fff02f79c9c9752375d90dfa2e76f9ce088b26bf299a3f6489c561ff159103a423b093f9fc7015efbc4fb00566b8c11c87aee45e1e9b73fe4149e166ac40dc031a6ecc2574957f6a1b651638d7cdb6bdc899821f991db558b5237aa43d623f41030edeadfbe1fda3bcb83a10980e3f244047d36e8c430ad49948b88efd2dc711ba034ac2ec76c7066794a4eceeda81649a07cf6764b81b75b3fe26c7a95d0f24e3b00219ffff037e97bf8340d3356463776614004afea32cfe7d5251973bba38c2b0fe0392fa9703e1e47f91575e389166ea32ad57e6a7d32f7b7f528663bd07f5870feb3f70ff67036a0e5364a5c9069ff2e0c8d2d8c6e7234d242261e2cb8007405253bc680a92880219ffff035c3e37b4853989860c924f9e9deff5ed652ad364c265e40b81f2922c5dab56ca03b61a3a233e87378911a3c3daafb7ce8117956295430bb0410d506107dfc0b5d1030e97cca61bc023410a5dfe6a73c21753855031bc6b5a9da1799e58783ce8c56c03eab162e6f5ebabf0c824a9db1638330b6ce7474e7c70c7416f11a212d9ea03bf035cb56928f1b300bedfe353386291bb23918edd62562fe92fdce5042a271377b4039947e515eb9a08276c5ab0daed9beda7d5eb71e1c2e5e036a5ab6d9a18f8599e034b9640e968dc2cfbb844dc2a0891e729d9059153213a9f47a78ebd1b881c9efc030423e4c408fd8eb42ef2c5b4fd861b72062f8d42e959128a44c8e3f259c394df03dbcba642a0a7d1d4b75c90f23af91f1b8c1833d77b87b264e67d297d4989540503cd67c79f1e5eac421eaba5cb75193fac4d49502259fc81051c12727821b03e6103621f086259c9aa87b5ed1b3b106e698e6815c9b4b8c002bec826e72a72314205030a3424d38c563ae3f1c5f83e5cdf4841b824f85fd37bd58a5c253026bfd1768903b2ac6b27d992b673258143512fd68980853585b238fae2e29d25a91a483fb0c303f3e76ccc86b7ba96acab34fcaf265d313c349435d71730ad3cd27182aa328e7803437b2ae63ecd8273026dfcbf5741cabd4cd559880faa75890d5375491796be33034441bdf45e061e75c2c6d26681fd6ae1ca548ffdf625b4700cd2e838a59bacf603d9f1eda82c1ec15ce84cefb9b85ad5ad7473d3f6169b24b55580bf0b75cb32a805581e031729c504ea0e0609e27a4e3a909564269315fb46c227d0b9bb5afed0e004183305581e03f8347c59f1f21a3cd8c2676d1d1786ba4c142e0a176c6c27f4253f64500c0147091d30bf91440005581d02908b073dc1e704646f041a86cf8abda0dfb0a833fb7cec0ec949ed82040104590b3a608060405234801561001057600080fd5b50600436106100885760003560e01c80637a9e5e4b1161005b5780637a9e5e4b146101465780638da5cb5b1461018a578063ac4c25b2146101d4578063bf7e214f146101de57610088565b806313af40351461008d5780631504460f146100d157806357de26a4146100ff57806359e02dd71461011d575b600080fd5b6100cf600480360360208110156100a357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610228565b005b6100fd600480360360208110156100e757600080fd5b8101908080359060200190929190505050610371565b005b6101076104f2565b6040518082815260200191505060405180910390f35b610125610582565b60405180838152602001821515151581526020019250505060405180910390f35b6101886004803603602081101561015c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105a0565b005b6101926106e7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101dc61070d565b005b6101e6610887565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610256336000357fffffffff00000000000000000000000000000000000000000000000000000000166108ac565b6102c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9460405160405180910390a250565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a4610459336000357fffffffff00000000000000000000000000000000000000000000000000000000166108ac565b6104cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b8360028190555060018060146101000a81548160ff02191690831515021790555050505050565b60008060006104ff610582565b80925081935050508061057a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f68617a2d6e6f740000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b819250505090565b600080600254600160149054906101000a900460ff16915091509091565b6105ce336000357fffffffff00000000000000000000000000000000000000000000000000000000166108ac565b610640576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada460405160405180910390a250565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060006004359250602435915034905081833373ffffffffffffffffffffffffffffffffffffffff166000357fffffffff00000000000000000000000000000000000000000000000000000000167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168460003660405180848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405180910390a46107f5336000357fffffffff00000000000000000000000000000000000000000000000000000000166108ac565b610867576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f64732d617574682d756e617574686f72697a656400000000000000000000000081525060200191505060405180910390fd5b6000600160146101000a81548160ff021916908315150217905550505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108eb5760019050610aff565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561094a5760019050610aff565b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156109a95760009050610aff565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b70096138430856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001935050505060206040518083038186803b158015610ac157600080fd5b505afa158015610ad5573d6000803e3d6000fd5b505050506040513d6020811015610aeb57600080fd5b810190808051906020019092919050505090505b9291505056fea265627a7a72315820784bc36714747d1c41d2abf649034fb498623a8122631712e25774adba77b88c64736f6c634300050c00320058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0480de0b6b3a76400000058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605501be8e3e3618f7474f8cb1d074a26affef007e98fb0219081005581d02399897579622d884070f94112835fb514bb55af68836bf2109768a7a0701190b3a0218a0030145117a2b15d613d77eef6f7cbbe032f2c5ef1f1f009618d607cbd88cb4ac4f038a35d42e3c439c2d6dd732067ce1735df73706b1a1cdadf046c3312d8a73d2ef030f68b72fc6e48e1beeff4d840619cd58cffd23a2aec9048d2153170478f585c703ca65e7aff2fd9578e81e0adeb636e807accd0ea4e458e83a9a19bebfcc8201f305581e03c3700eb560db7faa63b4711ca9a4e799d17374c27c22722d57734c67900c014713d2fafdd8c00005581e03e80688e255bd237642e438891f3b21cc0d98e34b3d67165e502556cd800c0347018daee2ef96680219729b03105d00c9a201f5507c97b8764fc119cc3ef6b1bc3cc8eee3dcf18bd081723c2f0397e53eb40a9512c62fe8deac62e62f9390ae37c44496d1b393931b0d389440f8036f389d20357498e2ed419e7f9cad501145c35c6f5873486a7477e8ec848a98cf0219ffff03bd31c351f18958a21fe990191ea5288c32bb01a2738162af10f7cd56bfc7f50e033d8ef2c4743664322bcabdbaf580ecec42f70a98c4151c3cfd8fa19b7c3ce1af03f080e029d9aaa5036fcc1fa2325fe3223450fcf2957d06250864550a271141b103052291fe94a8785e97b5601200c0ef715bdf8ed5b0ee07879e66492eec7a9b9003f472a256cbb6c3139d9180ecca670b3bb9d762874f620725a33978d35be7878e03a8a179e5234ea0c58c7a7f22fb23099c0274f72a1de1fe270f21a0beb06a610b03e4657126a0b644c5615f3f95e26c45ef4b058af6cf702c2a9037255ab3ad337603e77ccd29f3171c1bfd61ff6481712e0e5957f8495d84ab4188a9e70255ca594a039c222b6a8d59a004e5e5744f8482d2fa217c7335090959ac33d7d6df5b209f3a036acce96a6af807bdddc8a7a4674c72882b550165f9a0b238aceb2a98c2edf8a103d930aab7b366c233802c54b289df2f54824e026746f42d0d5a24c473d9b561bf030e0855e452004deb845537d50b52d5d2b2056f683602ec00f06539474ecd902b0219ffff0319c229eb2a5f1931a3f4392ac4b85571f2dad7e04540687962c63766750ef4d7036cc1fdc9368aad0749d93d43a93ad069d01f86da89d919a761d093ccac7abb80035d8fba25a9da2cc0c444e4408e603e595520d0431258820c60d7944f5817edf7033cf73d26c4969f13a4f980986c6f6fef9c72cff2c40027722922130ba915336503f7058cbecd6555b202704d49f89c802d3e5d931a5850bf26a9ea8fa34c6165680301f0d5f1e4bc92ba3f60123067a3c6c906c827caf4a7afa52535521a23669e6d03c51daf33d00b0b5cef1d8575efd22c1dd94b5568cab6e86f7e46d8ca8b959c4c033c0b8245633d0b0b65c6081cad344893091bacfc4d831cb3173a1937671597db031a1bfc6bdaa31e12becb4432d1dbbfddc7fb9f4947f6f46fe23087786bb608e9031fc6e617687ae17e957b89c97508e12180a9d78afa07f51489b9d3ffb725a3ef03118661628094b45bd8b18d87d9c5ee43827142326928fdf73279937502f1e3540309c332877176c89f26f68590835070e4641a66a4255527baa49e451ee0c9e43e03bdab43058c2700d59c3a7f540ef6ad4cb8ead9ef097fe744a9ed56bdf713640703cd96d52fe1bf11a41270b60471925a28b35ba75b32bd7002824ec539e983e4400219ffff0321f3bacb9a6c1b881706340fa9e2f98c96e8753e5c90a61df293c1f83cbffd8f031826beffcfe8b616f7eb39fd1976db03bc06f527fabc03d95e725156952d9ee10379e36e4dc58c5a2352dc15a7057361fb4350b55f8ec6eca6a83f6617804a134f03cbe19cad2e4a30cd4fb29006fe1b2e28741d2a89d9abcf75c3e214de31bbaa5f03ce50cf3b5e184b3e7b93f4cb71e6e873ccf6cf0c4b2aceb3c7ea19defdb1662003a23c9821fa385dd0c107ea9a4f94e8782115b2b8335685e36371718f17b1fbc9035c1a7123163dffed6dd8fd33497d49c61aa1f6f0255c05fd753392d690abf0c603dcdf9ff85a51fe06f9eb10226a92672aba286638e53981fe7b27b0f947e17506033f25d0d4540b65f8123f46f5ae64fc746e4a776913681b7238b5f21bbacef278031467d7f872b3b0deb30dac6dc8f517445f0704eca1095e7e5b6c619b7f5ee1f303a569eea2266eb908ff709d66f2246f8d9d3af25231db16940a614a261335dacf030862f762b96ed62c617fde893cb6af5adad7e44986b54a78f9e0d9857782141203a22e8e490e3a5b7c4f818c3b3c364df23ee188d89552ced62398ca2c63be31f10349a03358781a1c83d22b8cefb26204bd17757e6f5a1334290c3fb45a47c1ed1803e14e08d47f5492376671546c0bd2ac774db9e1284da3bdc98dbe34d569621769033bf196e3fe7fb63f1994d2f6181a1e62b2dbded9bcf2de8b9ec64c7ce911fea3031ca1797fcca145576d07d6ce189af949c070cf4bed17b46776b5f61d50d1772803d4fd5c9c29aab2d9b3570d15140bc6cb093a61a0f269e6172e0d086b88f22fc703ed5af2e9a0a7dbbe4f594e0879f8b2aae6b9f86f2c89186f465646098e44221203ef02df759850cc86def06d769a6b0446701c63643729ba01b01f857f5439e03d037d713334d4992dfe8710ca284f644c59b69a385b0403b243e29735f0bfd7d81e03054e97f65cc1009648b81aa143084581caca269d5eabd1046f96d76902087f9703f9b17efdd4c76bcc5b46497c1af3018ca897f0071bc4b9f4d8831ffaa1b3031703b3c49abe6c44eaaf0694028a2f91eac931d775365297b3932507ca1e2fe5073b03d17ebbd0a5d97194e49e9ef3ea7f28b1a3b1de7d58ba7a5d3e31f4c9b39f8fdf03c5ef21480d1f80fd6bfffe946ceab3a243a530059e1475213c4c90293533dda103f09d1eb99057a4f94657e1600f631566fa57169545449c6dc56d8fa945837ee2037fce3c574c970a0f4384f539e23f1ad235527583de982b09632b2a980753d78e039d0e6de07157828cbf05d8f049d23d68fadbaac462e0cfa8631cc18d591887fe036d39e16ff5cb8fc9340f9401cbd9173d5794e56a8be85ec373e67603d97a290f0356f6fe66036abbb75d7a24acd7050c0bfd43ca1285f0cc81942af8f04cf1b32b03a47fd9a38715b9d91d33cb1c1bfc5cadf8623121bfc41f7272568c699f4fe1310304ff904fa33bb7edc8001655e3d11a10b03d571e29f8456c9f1d03feae599c9a0339c9f40d555bc55c622bcacba72a3880a2cb8443f4b5a3aa9b5e90239f92de55030c42f0a6b7eb7a2d29d376789d271090d1157c8bd526d60e2dda9bcd911e78ae05581e0335c6cf2bfabc0148eced6ba2a14ea702d443bd047e1b9b8320fbfe2b300c1821470139ac7736dce8038cd14c8d9a75f90c7bd8d08f5d735afa74616fe6d9b86316be4abc9d15d5cec405581e03592ba8fe5d71e128a473b3fed68d0a4b9e43a67b40a5cdeea4d31021700c1147023d6f1b79e56905581e039c84bb215a589e4dce3e42e326d3883ab0b539e1317ba53f0e5fce9b300c024744d2c000a984e0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942036d39b3abe098d4beb2d17693929c185aa18285a676c47264a6242fbd6e2917db05581e037619117ca787c5a7099e2e06260b16f789428ad0101389964f270302c007011bffffffffffffffff05581d022326d079478f0d8f73627c94e64ce14431bfd3cfa9ce8cbb7779fff6040205581d02de4ce395ed311b676a5cf772d69f06fbebc751928b66c7d452f60cee0c183747786f0b0e3d840402198800034060f3778407cc1b5f7d8dbd5b197b21bd76b83a44861e7a5bfcf6107b063e2005581e03f5cd611f33cc2cd977e4c9a03da3406cc4bf9d7b033a75415c9b33d6000c14470911d0fb5abaa403c2129b84d39ab7454426dd81899ff8e0e23bab26af964f89946648e2eb0d374205581e03d722577398ab97b7c7db11f44df6c48a5d3c322106e43024fd63339c600c014704504623d561e705581e03c5c9d34d8f949d7cb3f3386f3341ef95b5c69d5b1b243968364b395550040105581e036bf7503266bf4c34f7876e8eb4ea90e3f0d5c16c14185a940ec97cd3100c16470a4c8b4f9fcf2803d5ee36926aa5c841e1932e140c8250ef1018919bdd190f4005d75fdb76c3dfa00219fefb038387b8e60b16d79d2583b23ba4977325d10dfb0c6a432e62aaaf6b0fd701d1460219ffff031cf421b2664a6290400f6d8dec2dffee52512fa5f52c57ea03b2175e804d6ffd035e16887ffc6146e1f737810af063c44d400025c20a2894cda99b313f973358d30318fc64bc63fdb1ac607d9552694b080c3fb27c068c15a8187349e9b8ffb3b37303093f46ed5106f9574bf42946b4a65c04c3001dbed367bd37fafa67e6c6cc10fb03de1facd51ff61edc51594d058442cdb3049971fdb0479b34cb0a5cbff603f26703ac5bfbdf23fe84358221dd6036446d82638dc6802a83bf761d82a952b14cb9f003d322a6f65ac6ec23dc8fed1b537a4acfd353cd4fa85cdb4b4abac1df587761ae036b40329cabca32cc5b46d0935755e7a60918623228b76084fa074663945036ef0330bc40041dd85fab5e9beff63e19c907e16de1e8e9fa6ca228a5e1a8e4c10cff0219ffff0392ec4b0ae234ed32d77a354e3b036f3f64a2775e754cbc25a3e99dc445bab6800219ffff032caf2362a2604ed2e1f4101bae18395a82bc29386c25ca4b9a3fd36caf4552c60320b6425ee4bfd4b70873bad996c45b4d43713fde1ca4fa7fad53923f343d214b03967dc53f269bec01e9d6983398c2f00b25416da0ceff3b10ae13b6f9f0197c3e0219ffff034c48dde2645166d303bf3375994c40556103545e3425ad2534ad796d2faa08ec031e5c17640f8504698d4ffb9d0fbb9f7f7d5c3cbff31fceeffde399b509e3b54003826cc7dc8986db3a2d816648183fbf6209b9fb6b31e42cddd7f4c8da4c0a91d603ff631969d91052efdb0f332a43da7924e882c1f49b40b109af78a172ea9a6ac503105da0e25756cfe84f0701b7d71df637d8a9f2228d26be9f404d318f7905f16803a008b2c4553055aff108fded349a68fc12833a7d58a349209a49d113e196808503a3570b2ddfe4f8466144dc39413be0e91834f125f69bd0d74bbd89de471255300325ee271023c139de85ac5655d3038cd1d3febc48f9af782cfe73909a3fb3ebc203b7fbf9305ce71d0b6aee1f209493b2accba1ac470da9c46ae8689dbae8bf2047039d31fa92f5d537fd88af1c4c4ba88f44e230c9b2846de60ea0840a83c252f592039dd8511f6c761e132d1868b8c3e50095b83266bb3c63c2518e5effde8ccacc40031f0e0c401b48c0c390f593a0a732b6e25ba6838339610dc13be0e1cc69b3c073039bd9e5be456cd70326c36ecdee432745ec646f03141c2759b4bc1f2aa8886f2e03e12d5dfb335250286e0b1ec96f49663107e06dd84b39687bfd32b563de1164a703d77e5a72474cb6513c6873cc59b101b947af6a03ae89ea4dbe587bb6f9519aad03fbea7dda1c4a1e030bb3d8192eb1e4e95216903fef41d2f0070cd0ac8b68726d033f9a30e9473ec68bb3c81a7436d084ccce9c9bb50c1ec4f1d7d0f902b53020d2030f8b5d7352c7ed4d8645b27b9d0ada6675a3015579ff5ebdcd862e2b05dcf78c03162228315da695112ccb919110c298cd47cf61f76af7ef0cd63054f52dcf60e703fa4fe667c6beab06df691956ba40ef57885f868de495244adc231fffe11729e303e83edd8e18115d42f3ce73e65588372082a6295e4249cdadb1455a551806c1d2036303fc6a785fa98762fd76ff7be12127867a706dc402b2091a22b1e777226e8e05581e03392a10306724e4e4a1a41442b5eb6f36ac3a069c836601690854094ff00c01462e1cc69645b80353d5ec9500d1ff318290f400769bfd85466e26906ced80f200a5347479b86ed003b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03bf23b040dff4063c81faba2ba6462645360cc5bd9be571d32a6a0fafa007011bffffffffffffffff04593065608060405234801561001057600080fd5b50600436106102265760003560e01c8063989560691161012a578063bfd4e557116100bd578063e30c39781161008c578063f2fde38b11610071578063f2fde38b14610561578063f4ebc69914610574578063f973a2091461057d57600080fd5b8063e30c397814610530578063e95b771c1461054e57600080fd5b8063bfd4e557146104e1578063cbf7c6c3146104f4578063d31eaa8314610514578063db985cd91461052757600080fd5b8063b6549f75116100f9578063b6549f751461046f578063b6a5d7de14610477578063b91816111461048a578063b9cb01b0146104c057600080fd5b8063989560691461040e5780639e93ad8e14610421578063acb8cc491461042a578063b0e21e8a1461046657600080fd5b806352c5f1f5116101bd578063796f077b1161018c5780637ce78525116101715780637ce78525146103ca5780638da5cb5b146103dd5780638ff39099146103fb57600080fd5b8063796f077b1461037957806379ba5097146103c257600080fd5b806352c5f1f514610342578063715018a614610355578063770fde121461035d578063787dce3d1461036657600080fd5b8063416f281d116101f9578063416f281d146102b057806346e4480d146102d75780634cf088d9146102ea5780634d2af2b21461032f57600080fd5b80631647795e1461022b5780632e340823146102535780633644e515146102685780633eb1af241461029d575b600080fd5b61023e610239366004612a87565b610585565b60405190151581526020015b60405180910390f35b610266610261366004612ab1565b6105ea565b005b61028f7fd29d3ba78a838f80d28aeba2086c6fa04f4f889c05242204543f9cc3bcb9063c81565b60405190815260200161024a565b6102666102ab366004612b37565b610667565b61028f7f000000000000000000000000000000000000000000000000000000000000000181565b6102666102e5366004612bd9565b61074b565b60095461030a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161024a565b61028f61033d366004612c69565b610ccb565b61028f610350366004612a87565b610d22565b610266610e05565b61028f60085481565b610266610374366004612c8b565b610e19565b6103b56040518060400160405280600a81526020017f535741505f45524332300000000000000000000000000000000000000000000081525081565b60405161024a9190612cc8565b610266610e98565b6102666103d8366004612d19565b610f4d565b60005473ffffffffffffffffffffffffffffffffffffffff1661030a565b610266610409366004612d19565b611011565b61026661041c366004612b37565b6110d5565b61028f61271081565b6103b56040518060400160405280600181526020017f340000000000000000000000000000000000000000000000000000000000000081525081565b61028f60045481565b6102666110e8565b610266610485366004612d19565b611165565b61030a610498366004612d19565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6104d36104ce366004612b37565b61122d565b60405161024a929190612d34565b6102666104ef366004612c8b565b611b71565b60065461030a9073ffffffffffffffffffffffffffffffffffffffff1681565b610266610522366004612c8b565b611be9565b61028f60075481565b60015473ffffffffffffffffffffffffffffffffffffffff1661030a565b61026661055c366004612c8b565b611c61565b61026661056f366004612d19565b611cd9565b61028f60055481565b61028f611d89565b60008061059461010084612de0565b905060006105a461010085612df4565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260026020908152604080832095835294905292909220546001921c82169091149150505b92915050565b60005b8181101561066257600083838381811061060957610609612e08565b90506020020135905061061c3382611f2e565b1561064f57604051339082907f8dd3c361eb2366ff27c2db0eb07b9261f1d052570742ab8c9a0c326f37aa576d90600090a35b508061065a81612e37565b9150506105ed565b505050565b61067b8a8a8a8a8a60008b8b8b8b8b611fe1565b61069d73ffffffffffffffffffffffffffffffffffffffff8616338a8761222b565b6106bf73ffffffffffffffffffffffffffffffffffffffff8816898d8961222b565b6106ca8789886122c6565b6004546040805173ffffffffffffffffffffffffffffffffffffffff8a81168252602082018a9052918101929092528681166060830152608082018690523391908a16908c907fb651f2787ff61b5ab14f3936f2daebdad3d84aeb74438e82870cc3b7aee71e909060a0015b60405180910390a45050505050505050505050565b467f0000000000000000000000000000000000000000000000000000000000000001146107a4576040517fc614eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4289116107dd576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a297fd29d3ba78a838f80d28aeba2086c6fa04f4f889c05242204543f9cc3bcb9063c60405160200161091a907f4f7264657245524332302875696e74323536206e6f6e63652c75696e7432353681527f206578706972792c61646472657373207369676e657257616c6c65742c61646460208201527f72657373207369676e6572546f6b656e2c75696e74323536207369676e65724160408201527f6d6f756e742c000000000000000000000000000000000000000000000000000060608201527f75696e743235362070726f746f636f6c4665652c616464726573732073656e6460668201527f657257616c6c65742c616464726573732073656e646572546f6b656e2c75696e60868201527f743235362073656e646572416d6f756e7429000000000000000000000000000060a682015260b80190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600554918401529082018f9052606082018e905273ffffffffffffffffffffffffffffffffffffffff808e166080840152808d1660a084015260c083018c905260e083019190915233610100830152891661012082015261014081018890526101600160405160208183030381529060405280519060200120604051602001610a0b9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b604051602081830303815290604052805190602001208585856123ef565b50905073ffffffffffffffffffffffffffffffffffffffff8116610a79576040517f37e8456b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a83818c611f2e565b610ac1576040517f91cab504000000000000000000000000000000000000000000000000000000008152600481018c90526024015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8981166000908152600360205260409020541615610b565773ffffffffffffffffffffffffffffffffffffffff808a16600090815260036020526040902054828216911614610b51576040517f9e7fe83900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bbb565b8873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610bbb576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bdd73ffffffffffffffffffffffffffffffffffffffff8716338b8861222b565b610bff73ffffffffffffffffffffffffffffffffffffffff89168a338a61222b565b600654600554610c5b918b9173ffffffffffffffffffffffffffffffffffffffff9091169061271090610c32908c612e6f565b610c3c9190612de0565b73ffffffffffffffffffffffffffffffffffffffff8c1692919061222b565b6005546040805173ffffffffffffffffffffffffffffffffffffffff8b81168252602082018b9052918101929092528781166060830152608082018790523391908b16908d907fb651f2787ff61b5ab14f3936f2daebdad3d84aeb74438e82870cc3b7aee71e909060a001610736565b60008083600754600a610cde9190612fa6565b610ce89190612fb2565b90506064818486600854610cfc9190612e6f565b610d069190612e6f565b610d109190612de0565b610d1a9190612de0565b949350505050565b60008061271060045484610d369190612e6f565b610d409190612de0565b90508015610dfe576009546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8681166004830152600092610de9929116906370a08231906024015b602060405180830381865afa158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190612fc5565b83610ccb565b9050610df58183612fde565b925050506105e4565b9392505050565b610e0d6124de565b610e17600061255f565b565b610e216124de565b6127108110610e5c576040517f58d620b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048190556040518181527fdc0410a296e1e33943a772020d333d5f99319d7fcad932a484c53889f7aaa2b1906020015b60405180910390a150565b600154339073ffffffffffffffffffffffffffffffffffffffff168114610f41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e657200000000000000000000000000000000000000000000006064820152608401610ab8565b610f4a8161255f565b50565b610f556124de565b73ffffffffffffffffffffffffffffffffffffffff8116610fa2576040517f3419a9e500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f8b2a800ce9e2e7ccdf4741ae0e41b1f16983192291080ae3b78ac4296ddf598a90600090a250565b6110196124de565b73ffffffffffffffffffffffffffffffffffffffff8116611066576040517f176f7c8000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f58fd5d9c33114e6edf8ea5d30956f8d1a4ab112b004f99928b4bcf1b87d6666290600090a250565b61067b8a8a8a8a8a338b8b8b8b8b611fe1565b3360008181526003602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000008116909155905173ffffffffffffffffffffffffffffffffffffffff909116929183917fd7426110292f20fe59e73ccf52124e0f5440a756507c91c7b0a6c50e1eb1a23a9190a350565b73ffffffffffffffffffffffffffffffffffffffff81166111b2576040517fcd4b78cf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360008181526003602052604080822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616908117909155905190917f30468de898bda644e26bab66e5a2241a3aa6aaf527257f5ca54e0f65204ba14a91a350565b604080516009808252610140820190925260009160609183916020820161012080368337019050506040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915290915060008e8260000181815250508d8260200181815250508c826040019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508b826060019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508a826080018181525050898260c0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050888260e00181815250508782610100019060ff16908160ff1681525050868261012001818152505085826101400181815250508f8260a0019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060006001611418846000015185602001518660400151876060015188608001518960a001518a60c001518b60e00151612590565b6101008501516101208601516101408701516040805160008152602081018083529590955260ff909316928401929092526060830152608082015260a0016020604051602081039080840390855afa158015611478573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661150e577f5369676e6174757265496e76616c6964000000000000000000000000000000008483815181106114f1576114f1612e08565b60209081029190910101528161150681612e37565b9250506116b4565b60408084015173ffffffffffffffffffffffffffffffffffffffff908116600090815260036020529190912054161580159061157a575060408084015173ffffffffffffffffffffffffffffffffffffffff908116600090815260036020529190912054828216911614155b156115b2577f5369676e61746f7279556e617574686f72697a656400000000000000000000008483815181106114f1576114f1612e08565b60408084015173ffffffffffffffffffffffffffffffffffffffff9081166000908152600360205291909120541615801561161d5750826040015173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b15611655577f556e617574686f72697a656400000000000000000000000000000000000000008483815181106114f1576114f1612e08565b611663818460000151610585565b156116b4577f4e6f6e6365416c7265616479557365640000000000000000000000000000000084838151811061169b5761169b612e08565b6020908102919091010152816116b081612e37565b9250505b428360200151101561170c577f4f726465724578706972656400000000000000000000000000000000000000008483815181106116f3576116f3612e08565b60209081029190910101528161170881612e37565b9250505b60a083015173ffffffffffffffffffffffffffffffffffffffff16156119265760c083015160a08401516040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015260009291909116906370a0823190602401602060405180830381865afa1580156117a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cb9190612fc5565b60c085015160a08601516040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015230602482015292935060009291169063dd62ed3e90604401602060405180830381865afa15801561184d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118719190612fc5565b90508460e001518110156118cb577f53656e646572416c6c6f77616e63654c6f7700000000000000000000000000008685815181106118b2576118b2612e08565b6020908102919091010152836118c781612e37565b9450505b8460e00151821015611923577f53656e64657242616c616e63654c6f770000000000000000000000000000000086858151811061190a5761190a612e08565b60209081029190910101528361191f81612e37565b9450505b50505b606083015160408085015190517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015260009291909116906370a0823190602401602060405180830381865afa1580156119a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c59190612fc5565b606085015160408087015190517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff918216600482015230602482015292935060009291169063dd62ed3e90604401602060405180830381865afa158015611a47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6b9190612fc5565b905060006127106004548760800151611a849190612e6f565b611a8e9190612de0565b9050808660800151611aa09190612fb2565b821015611af3577f5369676e6572416c6c6f77616e63654c6f770000000000000000000000000000878681518110611ada57611ada612e08565b602090810291909101015284611aef81612e37565b9550505b808660800151611b039190612fb2565b831015611b56577f5369676e657242616c616e63654c6f7700000000000000000000000000000000878681518110611b3d57611b3d612e08565b602090810291909101015284611b5281612e37565b9550505b50929650939450505050509b509b9950505050505050505050565b611b796124de565b6127108110611bb4576040517ff291bc0d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60058190556040518181527f312cc1a9b7287129a22395b9572a3c9ed09ce456f02b519efb34e12bb429eed090602001610e8d565b611bf16124de565b6064811115611c2c576040517fdd1a4e2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60088190556040518181527f8f4773d92ea1b8ff6e9ea92363a816f089d2042092c31bb82607707d6699b0b390602001610e8d565b611c696124de565b604d811115611ca4576040517fcca4057d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60078190556040518181527f01d5d03fb73185766e93e2c8300b4fc67782909a607c987c6f76f35c84e2a32590602001610e8d565b611ce16124de565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155611d4460005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b604051602001611ea0907f4f7264657245524332302875696e74323536206e6f6e63652c75696e7432353681527f206578706972792c61646472657373207369676e657257616c6c65742c61646460208201527f72657373207369676e6572546f6b656e2c75696e74323536207369676e65724160408201527f6d6f756e742c000000000000000000000000000000000000000000000000000060608201527f75696e743235362070726f746f636f6c4665652c616464726573732073656e6460668201527f657257616c6c65742c616464726573732073656e646572546f6b656e2c75696e60868201527f743235362073656e646572416d6f756e7429000000000000000000000000000060a682015260b80190565b6040516020818303038152906040528051906020012081565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080611f3d61010084612de0565b90506000611f4d61010085612df4565b73ffffffffffffffffffffffffffffffffffffffff86166000908152600260209081526040808320868452909152902054909150600181831c81169003611f9a57600093505050506105e4565b73ffffffffffffffffffffffffffffffffffffffff861660009081526002602090815260408083209583529490529290922060019182901b92909217909155905092915050565b467f00000000000000000000000000000000000000000000000000000000000000011461203a576040517fc614eff800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428a11612073576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006120906120888d8d8d8d8d8d8d8d612590565b8585856123ef565b50905073ffffffffffffffffffffffffffffffffffffffff81166120e0576040517f37e8456b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8a811660009081526003602052604090205416156121755773ffffffffffffffffffffffffffffffffffffffff808b16600090815260036020526040902054828216911614612170576040517f9e7fe83900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121da565b8973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146121da576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121e4818d611f2e565b61221d576040517f91cab504000000000000000000000000000000000000000000000000000000008152600481018d9052602401610ab8565b505050505050505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526122c09085906127e1565b50505050565b6000612710600454836122d99190612e6f565b6122e39190612de0565b905080156122c0576009546040517f70a082310000000000000000000000000000000000000000000000000000000081523360048201526000916123489173ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401610da2565b905080156123bf5761237273ffffffffffffffffffffffffffffffffffffffff861685338461222b565b6006546123ba90859073ffffffffffffffffffffffffffffffffffffffff1661239b8486612fde565b73ffffffffffffffffffffffffffffffffffffffff891692919061222b565b6123e8565b6006546123e89073ffffffffffffffffffffffffffffffffffffffff878116918791168561222b565b5050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561242657506000905060036124d5565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561247a573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166124ce576000600192509250506124d5565b9150600090505b94509492505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ab8565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055610f4a81611eb9565b60007fd29d3ba78a838f80d28aeba2086c6fa04f4f889c05242204543f9cc3bcb9063c6040516020016126ca907f4f7264657245524332302875696e74323536206e6f6e63652c75696e7432353681527f206578706972792c61646472657373207369676e657257616c6c65742c61646460208201527f72657373207369676e6572546f6b656e2c75696e74323536207369676e65724160408201527f6d6f756e742c000000000000000000000000000000000000000000000000000060608201527f75696e743235362070726f746f636f6c4665652c616464726573732073656e6460668201527f657257616c6c65742c616464726573732073656e646572546f6b656e2c75696e60868201527f743235362073656e646572416d6f756e7429000000000000000000000000000060a682015260b80190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600454918401529082018c9052606082018b905273ffffffffffffffffffffffffffffffffffffffff808b166080840152808a1660a084015260c0830189905260e08301919091528087166101008301528516610120820152610140810184905261016001604051602081830303815290604052805190602001206040516020016127bd9291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60405160208183030381529060405280519060200120905098975050505050505050565b6000612843826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166128ed9092919063ffffffff16565b80519091501561066257808060200190518101906128619190612ff1565b610662576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610ab8565b6060610d1a8484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516129219190613013565b60006040518083038185875af1925050503d806000811461295e576040519150601f19603f3d011682016040523d82523d6000602084013e612963565b606091505b50915091506129748783838761297f565b979650505050505050565b60608315612a15578251600003612a0e5773ffffffffffffffffffffffffffffffffffffffff85163b612a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ab8565b5081610d1a565b610d1a8383815115612a2a5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab89190612cc8565b803573ffffffffffffffffffffffffffffffffffffffff81168114612a8257600080fd5b919050565b60008060408385031215612a9a57600080fd5b612aa383612a5e565b946020939093013593505050565b60008060208385031215612ac457600080fd5b823567ffffffffffffffff80821115612adc57600080fd5b818501915085601f830112612af057600080fd5b813581811115612aff57600080fd5b8660208260051b8501011115612b1457600080fd5b60209290920196919550909350505050565b803560ff81168114612a8257600080fd5b60008060008060008060008060008060006101608c8e031215612b5957600080fd5b612b628c612a5e565b9a5060208c0135995060408c01359850612b7e60608d01612a5e565b9750612b8c60808d01612a5e565b965060a08c01359550612ba160c08d01612a5e565b945060e08c01359350612bb76101008d01612b26565b92506101208c013591506101408c013590509295989b509295989b9093969950565b6000806000806000806000806000806101408b8d031215612bf957600080fd5b8a35995060208b01359850612c1060408c01612a5e565b9750612c1e60608c01612a5e565b965060808b01359550612c3360a08c01612a5e565b945060c08b01359350612c4860e08c01612b26565b92506101008b013591506101208b013590509295989b9194979a5092959850565b60008060408385031215612c7c57600080fd5b50508035926020909101359150565b600060208284031215612c9d57600080fd5b5035919050565b60005b83811015612cbf578181015183820152602001612ca7565b50506000910152565b6020815260008251806020840152612ce7816040850160208701612ca4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215612d2b57600080fd5b610dfe82612a5e565b6000604082018483526020604081850152818551808452606086019150828701935060005b81811015612d7557845183529383019391830191600101612d59565b5090979650505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082612def57612def612d82565b500490565b600082612e0357612e03612d82565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e6857612e68612db1565b5060010190565b80820281158282048414176105e4576105e4612db1565b600181815b80851115612edf57817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612ec557612ec5612db1565b80851615612ed257918102915b93841c9390800290612e8b565b509250929050565b600082612ef6575060016105e4565b81612f03575060006105e4565b8160018114612f195760028114612f2357612f3f565b60019150506105e4565b60ff841115612f3457612f34612db1565b50506001821b6105e4565b5060208310610133831016604e8410600b8410161715612f62575081810a6105e4565b612f6c8383612e86565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04821115612f9e57612f9e612db1565b029392505050565b6000610dfe8383612ee7565b808201808211156105e4576105e4612db1565b600060208284031215612fd757600080fd5b5051919050565b818103818111156105e4576105e4612db1565b60006020828403121561300357600080fd5b81518015158114610dfe57600080fd5b60008251613025818460208701612ca4565b919091019291505056fea26469706673582212205224666a3e2f7586a91c044dc04310c0c13017f4573fbdd33690544096295d3064736f6c63430008110033036c03d07dc7ba4867cc2b06084199cd862357b7d2e2bf08c66a787da59f70a08e037602fbf45f2671c32a7a2b11ca7301e70100f514695da51dc2772e96ff98b68c0392ca7d786a586e964159a2b14f5e29d8ebbad6ab737e31aea4311c71dcf4c62103c08b150e1767f2dae2731d19d5931b66249886cf5876c754ea1738bc26b5af5903a7e460eef63cf0753ccc66b1c32b79d2b49604daf45fe9919caec0984189143803c12f8b22934d549fb41a57a229fc44b840e4839316ef887a8d94371b3a0ecc9f03180a23bbf213890307555d4a489ef8ac4f3c31e7d613e877a213d325d4dc136a0317251e1800a42510b6ec23ba7e2249a9e18e1e679e73781675be66ba5c47d02103bab0392b1efd8d6b51e09209bd46b54cea0cf96e14d668f3204d546d795f021100581f021d3b293a88b4482d7c7148478c2c7d0e4b883b0fbaa61eb9d4d1b5f5c9db4d0100000000000000000000000000581f027d18302aa62dff816a66602cc8d98a94dc0299641da4566246d0e9e349a5581f4001000000000000020000000000000100000000000000000000000000000403293ce1c315ee9b2a67932a77021a815d9bcf186c4268066d6e8b235ae1d0c0bf00581f020c85aa9c1d984ee56232d9560a9b919d3cba7746c37f8573f5547f017bc84b0100000000000400000000033eef0ecabf8b9f8614b4246f84108cce69e57d229a5d328640287b1573167ac300581f0253424a86fcd03512dc0f1c0b7baade78d814fcb15df686afb30a57c8c54d5820800000000000000000000000000000000001000000000000000000000000000000581f026022e4291c143acf657c4aa54dbd6e55233836b76976b74452375817861545800000000000581f026384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0410500581f02c1b6514cd7917f7a32e1850e643367c75419c1a33be9ecb3f4656ea24c2f57200000008000200000090040400000004000000000000000581f0297254ef3340a5ccc2b8286d82f76095b0d77d200abf596a0d601e1c68812581c4000000000000000040000000000000000000000000000000000000002196ddc032b132b6d597fd59cdbc59750a7adbe6850ede771a0d7a6aef4768715c3c37d88031c14fd6af5eaa05cc28dfcb53a6e9ce12b9abbf42358518a0bca417aa87e681b037a42000f76a0e90d3e0dc31afe2284a6192fbd11fdc7a270dbfb3dd3f9a44e6b032f93cd7cc33122a3491371ac98628f0b8a2a5f6d5b7db3223b1d45460cf51bac037a4387c74060bd8b96e14dd58928b045260a8283a56a24c968d8034baa7907b703b9c20bfe28eb51076caf1973a2d74f86aee8d6d7de277f1b3c2505daf4f51405032c2fc6c6f15327a85cda0fde3fc18a7be2399baa2f96a467b8cbcc598e5864dc03e2ae6586a970667125d8f8584383b4c640404e23c5144548c807aeb41cef395e037d0d559573aa3e118f971b54a57cff5098e87a05b5f572dcc4ef109e600c57890219ffff03e84d2d0739d9fb1b75054ebcb90a38b3a2bb070600c1a5223c6e5779f86e47ad03aad1e6d9e96bd67c2676130bf374cf5740180ea1ec307ea99cda90ccc8436cd50312d2e6dcb76714b885ec151ed2aa961808c7db839e8de3bd7dd17c7ed527dba7035768fe0ce32b52e73281f193d6b4137c7968ff12fd2ed017a9ef1a5660b6e47603dbd39be64fd46d4c2598268197f7b9c34345547bdd9269ad571066c8eb9c537203fbc437abc9e979c3cefdf2082a9533924b12afa7c206b5bfc961756a5e3d8f45031492812b6a213000cdd80234f9f75fe8572de5b9a1da5508884b38c2d3744dc40367889f7ea0bb00097726dbdbe33864563d23794ea48491d766a07c20574905aa03812fb89d1e1419c203b332b7f75e81fca8bc1fb7d2b38fd12bd2ceb3da0f37210398225161cb8c11b0d42478af292af4e76e980d0b89576f697a761a03f1c08d7303f15b7d321fd317c6d4c45a5cd455f89da6d98334001da7dfa30362867dbd5a63030484dfabbea7a23a1fe6e2f06f6af4f13959149d9358cce14ff2c07d62d2e0220219ffff036380f56d6750457b29727118b12cbc67e6c06dd672d2018d9462c6302998e4fd03459bef5d763981ff5c5dd50ed250c33151a7c0ea1f49200b238871bfe2a5a99003bd9889d9a832e125be6243926e75d75530ef01a82107306dc80b4263dc2edd23036f2b581f734fc543b11a4e1cdcf5a658ddb9667ac4b91aa474b526bffa417d2b03b13ea94cd95c1184154270b103edb9e5c11fe3cc216f7ee1b082d3f631b697c6033a6f46548cdb840df68243a29a1aa976b1dc43b53c686c727614249bec994c6f0339858e55e525ba01c4b246467d55b6170ac4fea4f4ebc0926b7b5a92c185107303d50ecead9d4bce05dc32b0bf218d1369186de996522cac3e0efd9007c16ca4e303082cb39e2e6423af3139d967b5934b95092732287b04fa76c5b6975620b585b5035c57fd3909e9c9347babd4744f5af125630bcf211e4380a1de9ac6d210cef84b031d74880254e8c3e6c6d5ab7182a9c16d5ce0022e6e8f81db88aaec0b92096be5034e9b0d2d570e951a30337b191c6114d7d2454ff5ffdf5a845ab3b084a61b3750030e338281753f9b28d7aa6444a6129f578c0ba793c23bb3c9e286c0f89f79fe4403cb1c649be03b00514b3038fe8695ff5767989ff180c6df680a1d15eeb965bda503e1e7f5fa7023e602974bfa4d45d1687405594827526382c4e4a959d4b85c4c7d03511756e0dd4cd90e3b8e9e04bb99c95dbaa61a0fc1a5867e40836e2578939125035a1d74e084be135521819a9b77fb9eec77de01db0a806d44cb44eecc23c8032d0313c054c7e452301755257e9d0fe7d2eac30901356ddbc8ddca4a5f97b28076bf03a9e1c9bf46086e71e4f55ce378045f4e4103e0e364b8f351ac415578129a7c090397021eeeb6bf00a4e4c26c9b1dd2f2c8178cac0b0443da47740ceae117b1a51f0360e92e1c37e03708f57746ca636f891f3ed18a4966191fe0b196e8bb777f50b5037e293247ce7d013e1028b842e7e1620da9df98b5e4d54d3473090d7646fa404103e6f2e621d597ac57fdeb5c26fc71d6af4b7cc794b15cfae12d01b7372ffa6c43039e37ff76c58bb0eb1be837390ad07ce6d9c089daef79f42e5d11dee34d7cb94203aebf482af87a960a56549ded804ccd95b72ad94afa97ed2d287ff7e74508b8110305e27cda1e851ea87137d25592f5c8982ad0345d3fb8cd3b4e9272d5d7c95d5203d9b5e22d33e6801362e474f0c19c2d6818fa476e903fd384fbaf6a788ad8c76903588670d20d4f7b227edd059b07520851d38d9f95a976c11d3edd418ad818436c03b9b644119eaccf86bd441e581ab00089cc8144098783aa20e09550c7007e0071034914c58c71b603dceed37556f6008a4a21f2a6f3db6cd6dcd0c449cd85dbbe53035ee7cdd8ccce48e0779d33e0ca2ddc5a296297c6cca6efd2fb91b269861f36f503b2d20bdbe9695e362a2f71379fa6c8ab70513f7d42305e5a294c08052e6db72003cf0a8c4ff230ef2ee86d8ea3fea37868953bcaac8b6eafdd64dc60046cc84c7303c8a9199ea0c2e923edcbc7ea872e14dd5a7084cbaf8e30ababd64c3305b9b52000581f02d9bd9b4c2907452c42fceff3bf7b08c9734fdd46f96294a7d573eba0afdd581d200000000000000000000000000000000000000000000000000000000000581f02c87774179158f1c6fd01337552720dcb8ac4b9cb471f40b955a139512dc25818400000000000000000000000000000000000000000000000037f9521de2cf9af54d91f3b98cc8c8167bec5a80a31921246ac2c82e3a2570b4100581f02c0e4019a9ab9b05931687b61343878c12ef3ded89367b37cd120fbb74a5f581a010000000000000000000080000004800000000002000000000003520bac2381ffd0203edd9213821cd2076b85c3b17d7ecf8839f8876c1bc8a6e300581f02fb63b964375409dc8a9b47e26572a080391606c02eb280012e9c31878530581e10008000000000000000000000000000000000000000000000000000000000581f02cf3bcb2f7a883b5748282001cecc95aa56479df6b8ed7877f847c8f16bc5581f2000000040000000000000002000200000090008000800000000000000000000581f02e4f8da10a24287056e4ee73a36c3d042b10be2d9c776542bd1b3bf6740bf4e800000000000000000000000000000581f025d34a18b886a6db79b40ec71bd63543ed97aa853338eef85a7ce210f504358190800000004000000000000000000000002000000000000000000581f0206253ce07efabfccfb7340da56f0dcbc3625113aa403834d01b239a2fc8c560200100000000800000000000002000000000000000000581f02f96febc0bf288c1cb2e2832b3c19c931879e69e0457431d4cd1da99f3eac581c0800000000000000000000000000000000000040008000000000000000581f0359b20fa689ed86782e716fdd41c0b300482e5ea58a9833bd729639adbd10581e12000000000004001000010000000000000000000000000000000000000003087fca74ad24fe8dfa2b9e72522522680c379a8cc987a5269f40a3c90cd9d36000581e02d33278914f28540dd7b7f84e4141cebbc44748edf3c46a70b480b7c8dd54a0f1898fb62aee04f9aa1aa5866bc48e6b4cb1d800581e02b2f578dafb281dcf1d0f8e0e5612425cd5d19af533d9175fbca40f6f43581b40000000000000000000002000000000000800000000000000000002192100021940410219e5df0312721000b1842b0b1188c4d4a5900c18ac0a37ee0873fe0e22c71fed1572c7130315a64f4f7b9d51194970e298e42277a208b0b8398f77d5825c06fe63367244bf0354f1d51577f84b387e9efa906c9072b5fb446564a5ff3a4689476c506d2b05d70335cefcca6f2ac68b40ae181e1a8710e69d3e5f0895ab1ae01b18e8434d124ad10219ffff03edbe95aa6aba9b07a044d049ff41b35bfc34d832732ac069c8119cdde89dd9540398771b5cd2778b11070acd175d927e3129886c52fbde2df90c87615d0534f8da0301402debe755c9f1ad44f12fb602bac296c767c2b0c051f947da8cb1d3b2c7d903f6599f77cb6ecb1b0aea6030d33703247c24f2ee75a20f1579acf740997277fa03502f5c50a71bc736d7d7eb06b39ed14718235d8b8e6eb1f97a0a48506e9a1cfe03f24b8e50730e8a936ba089fef2004556d3ff7f13513a64c9579f0c73213d056003d21e13b5f605a03c9aa8b05a6e272c94aeef99a7f76b116d42fbc444aedd1ca100581f029e69f0b1829fb3a979bef0e7402f8126bd1582678006e175d16c8e0fb318581d040000000000000000000000000000000000000000000000000000000000581f0287c14c399982bb7211fc3842522750ded9d6c64bab0f6cd698724486b185581e02008000000000000000000000004000001000000000201200040008000800581f024882ebe6b510682b8ca43a66d16a7bebe18c6964ab6c309f53b869b6c9d95520000000000000000000000000000000000000000000581f029ec3266a1b702505d6cce3b1769fcc2779ae74eff5f72f9cf08db985155b581d0204000000000000400000000000080000000000000000000000000000036a3faa9f50ae6f4b2aeabe991b8781bdaa89802bcda04751092448e45ad75a6600581f03a8bc21dd5839dc57aa574f1d619c05dbacc99efb7956ef3d71b2d322b9f0581840000000000000004000002000000000000000000000000000581f03cb1e8c64a2347d289f10f7c5476d2d049f9f41661e4af7db83c56b0403904e80000000000010000000000100000219c00000581f022282596ad94ec1290c61523a85443c2bff854a3bd28c8ae0c11da4677dcb581d8001000000000000000000000000000040000010000000000000000000036ae4f932fbfbef563f02b869e9bf490e9e1e48726240ad09bbd0df257d7ca74000581f02e741541fa465ebd5e9dd00586378c27d85ecd80a93de87b1b827286d6f42581b010000000000000000000080000000000000000800000000000000037fe4de969901ee163498cce48b140b4627979bc4cab1301b505fcf3c0a05ba3901410900581f02b73ed8ccb78c2ace8369ac317eaffca981d8fd52ede9558f0d457fe83d0f5820010000000040040000000000000000400000000000000000000000000000000000581f020fdbdc767235ec6dfbcecd0c4e09459d0eaf0f27e20a6d27fa5e44a5b1fa581d800000000000000000000000000000000000000000000000000000000002193dfb030601f60cca77299508eafc3abd273993c513640dae1c01dd64e093070fb15d9003bc89d63122269cbd88219bab8c2f0638a351c474fd17117286a9eac93859b72003c162a312e3a58da75cca4fad62fe0c6e74afd829a62482becd30a7cb8a52a9b9039f856ada3017b2695cc43391d15171493077a8aa1dcef6d9c7faf5af2cc4e5fe032e589a626493659c27927ccfb806f172b105d0ef4dd6f52c1cfc8360e6edbb3803f2482b8eeeeeef36be9cae1b093e3255214104f518a0ccad79fa825acc5eb92903560da5041eb801ecbb864e6603c10279af4eac7312f5e8457ad060aef11726d60323468b1731eabc69da1617dc3350e028fbc8df83f18984886c6eedaccd9bfb9a035d208fdf4fea4d6b6f5408b9b34105dd07e976ed9559631f751a46138d8615d20219ffff031642ab88931447027451a24342d5f0c333ad73c2307c597f254aaf93bde353ff0349b7d9390bba1418ccc78fb8959180feddd1d879a4d058b9ec46455d6f17c34a0219ffff0333269d76cfcdd5bde43c14905421ae8f661bf019360ee24eab5202c2735fe23e036ec5e1b0a7da154bf5a1ec79cf8f24880505490ee77d764129e8b21c0605fbbe031fa1a41f3249261ba8ceb204526389cd8a7fdf54dff230eeb0b09211c2adfbd803b63c5bd771f6a9826a28d873ce29809098a3fa2ea9d65ba11ed3bcaae8a17db603e21290d6bea84a2270e450dd36ef6c75a6e49632ea691b56ac7555d850a823b7035d3aca4f617baad5e4b212422b5b484e9c6e97dde77ffbdbeb4d128eaa234dcd03c934604ef5ce2e86af3c8e3889dee096fb4c658db09e9f421f3f43de698f444503870db99d478426c7ee45bffde1ca197ae68a04c0dc99ae46607cf199d4d9a76d037a4501848c636c20d193ae7f979a7936a15a72e4c28c4d7af519ce03b472a6ac0305cbd8cda76e8945ac97828f14b7e53071955b096b18f322774604b94242d841039bb55ab36d4e2253a708da9760a37f1a305440c3535436b66082a8c6db65233a035aa4cb6139cfafdb2547c79892d95a6d2d405861fad68269aa87f0b0ae0535e400581f027892f2ee160b0a176290912ce0deac3742eee8770a6194188e9c99bb249957800000000000000000000000000000000000000000000000581f0322313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f054ad30f7eebd9bd5150a256f47da41d4403033cdf000581f033e0c3e369b29076468cb02a5521989855e368712b80758b1852c7af437705710000000000000000000000000000000000000000000000219010400581f026b37e46c6388c44657e51256df6b2efd05a87e327bb6ade8b415b55e95f5581c0400000000000000000000000000000000000000000001000000000000581f02664f13e4376ab697855e44c0358eb8fed5ede24c9fa7408baf5bb3e675c758190200000000000000000000000000000000000000000000000000581f022bd6c9047aa938c6f8e18443cbb9382ef567e2a9dd04cc298522da0f37dd581880000400000000000000000800000000000000000000000000581f0241cf8bcb04ea3adaed06c232ab1a204c44703f4c405550d9338bf8c9646d581c0400000000000000000000000000000000000000000000000000000000581f02d61134c243095996cdb432807f5accfcd3309b3d774bc327178035027872581f8000000080104400000000000000000010800300000100000000000000000003c46de78f566f84f657f8d39ee1360b8b519be4116c7e3956003a287b6d743151032165568c09478be031550ee1a8eb524a62189935909a0ad19a33e54c97b9f7870219a5ad038fa43b499826eab1b6236317559bf41e664d66b099d5237b107d180e2caa03f2030c1f093ac4ae2aa2077cf930adaa2edfdd84d572bc7422a194a5ac928e872cce03a36a75a47212314270271cb58829b38bd1b89a671b00ba8e09f84d08aba7c03903278e7d398db2677ca78c6a7336334913085589dfc3960573ef3ddc293a5c1257038d7dbfe292d643b238116f572124e587719e4e1d556efd2925be89bd8dcfaa5b03f82c537147267d8aa2b9b356209cba0819d5eb8c1c0076b00097e4fd1b07c1aa03fcf7c8cb0aac08d08763f78b0f9f2774cb8971c5e95953b391c982f26f5b29c103e611df3081ae18270e2f1faafe8738307ec7f11aac619c11855a397403d5bfe50368c86a59fd0331152da3e85fe2187cd39339a45c6e13ce6d2d0cfae20e2c4dc903d180f4674e1f5ba7e98979abeeb6d160a5b90057757178800956ff6b3524a14e0219ffff03bf732b09e0fb2b0d27fbdc4c6b192d9dc38396c92769a593eb9b641f5619337b03f0d5174de937282daf75d8aa36653a5a4364d90e72ba1fd9685500c7920c1100033b7f9d6f79288fc8d8424572166f73bb03921132e3a47533c12a5e25186bb1df0348a62a85ba8a2d39832123cf707b10ecac75796d095eaff1f35e916233a91983030d590dd2fe4c855a47d1b07f29005167717d83cdc44cc058d4e045a5fd048cda03523091bc1bfd806d512df2dbd4baabdece5cc7cc700c05a15fb1c97a53af0e04037638d2517b53a3fa5ac7391b4ab6615e708f392c145a07ba5a5f48b21c853a22036e2bdb3bddc2f3f7e039609e12c764da6eb15c603debeebc0fe2ab370fd18e4303ce45e686be63a32c380b3ce7ccefac63a46554fa83a79b5b8f2c3699456e801c0219ffff0219ffff05581d025859ad914d32c29f0664fd3dbe95689ec131ad64f851f080a3839709070119306505581d0298cb0eee6a6101492d4124b20c97828810743a37f5ddd09929f30aa60c024701972e477748000219080103d12727fa8f1527ec50fa4c0d74ab8545d5b0e3c3b6c0cb89e9c8cad9483524a005581e03038231b8abec0384c13358175a5d87e6ece400712377548f7c440a7aa00c0d46c056b645918805581e0396eca976cc7568547a59e3c7661b3bc9d821ef6c7209f7b124563017100401032cde4980820b59aa21b43cc82ff16a24bb888642532fa5088966d128f7691b83021990fc0330fc5314587763d451c29c3aa0e6b91729c90d318c656172f453e76db1a2ec1703ff5077bdcdc6e967017fa4575d4834e1c4d32a050fc6efd976f7a516baf1787e03731c23b852581fa8f3b923eed994f0d29b0ce64cfaa9a8673dd4791db095350903df1c0cd05f007da3819f0600da472a01f99b00683b6c6ce1d9ec721fa49710910335d68b3f051efbd10510c93286b938916ca0c5389feaa881c8d9e206dc5a5d74034cfde6dbbcaccd16c0d63203d445d8d37001e63a011fac42ec0e0644645e187c03cea66cc3932e68c081e026b3ba592950712dd6dc0c820661770d7814c2e2cffc0310d9f40bb589c0fc8c67a9a494ed1c14ba564b3c9b42f6efa0a53d3a3798fce403e61827450d1611f461be5327f505845a5aacf8a315b45c3e07ba68d49a249d3b03ecaf52a83e838653dc6e7532b3812e0ac0093e023ce2aa7d46d582e41367e6c803eb2e1506ed1d05daf2e53c1fbc307188a7073053c0d22991e353916b1e9fc2f703999a111ac50071c83eec4cc657dc859051150208516acad539bf8e4d6f98d0310219ffff0369fa26f30c30c05aa0182dab50b184fca1262915016fc7152e4f7069b14428a40382e0ce57c4ec2c766ba093aa39d5c09b84808ea3533d745700dac1a9935aa4d7030aee2e3805f2552eefc97c2aa782dcab4d962da84a74ed780255d718c5830ba103b12294ab95692270c9616407ce51c903247ed47a2d171d6324874be09e768d3803bfb7e33c76365c677aaee1db273acad2b1ee8be75f4e6266123d14a5248a245b034ccdf6f6f23a58e31f6e794dfa47883ec941ad4ea743352826cc3a23a859b5eb03b59b02e8b6f2de20ba89b87c137101e7c1fd24c16676d76e3e1774e1686cfca60345902cc3c0b6e7305421f953e58d2e25f2ef00358dcdc5d2fb176728095afaf903f34d3167db38f55ca4d6c9768f04b0d4af7419e46270fcf65cba896156408b8503b88c8c73b61fe72788bcb7e80d3c6814888f161d2089ad48a7206f0d8d07fe8003c74ad2bf192522aa0ad5c34f5210fc45901e792ed585f000dc985478f75f640a03977ddf994688dafb036bf77df4838f4bd9a4d9a6c418d1822a6a68450207e04903c96b31b4884082193a4d387a01a496d7757c87df07b93881545639ed0796c8fb03bb3af769da7777f63be222cec0834853382b437148948c7cd92a347f18373dd603a8ea9eccbe084e9cc51d50c53139d5e5d1a2d90fc7b03085a8ded3c4e1da3e1e0219ffff035f150a0ac4e60dbd6d6f5366e36c1060cd7177ddd236370e9f403879d086f2cb03bb633b3ece1308e6cb45c0be226de1c2a41cdd57e987ebb4b41a55b72120cf030385efb5cb295d9065de344d1d2536d999e69ca0324e1bd0e173476c093f72ac510303e2f158817655d1fd0394fbe99d96427d82f222187d9f6f662e29493f4eba680219ffff03e7769b7eada320aec7c150c6c763670adc48acd4ad4cddd45f45f09202b302c0031ade9f6f98299302caf56ae67b248f1b867e6e08cdeb78dfc1b05e33e39770cd034e6281de14a7a79704d2f7106546acc217d6080ec92388d30220ed05d7d4a649035a02786ca68f4f4c5cc56b26a825650cdc79fa7c2f0773b756c6328b17f0647c03334630ab875c1d8e2ef6211a05c734924ef1b4153c2ef9f281504cfef104f6c703e3fe11653ef4082c1fdefcba66f9b5a86723553f50d20fe8f7f0b02a8a63321903b60310d095e6f53b3250a103f9c2c08358eae0003065e184cb29e796b89bd43603aee9d169725eaaee513ef67b37b9b3c2f33bcfc4a7768895ba2f2983e81436d003dcb63887645c1f141c76bd70ca1118e8251265fd50d635d1c8274620ac0be05f030b721e356c1baf104b1eb1f88b51ae38c1b63f23b1290c6d26cb034ea9f3b463031f00ba5ba119a4e7cc858187c591eb99d83ef22a43cdbadd0dc3f5f785de98d703061ab7d59a546b93979b0ad8cc659684d01f39fd72ada127048f05190341787b0327869cd2ca152f7c21c9e04b4bf8a8556fcf182da0c567781f0e88a04e47b4dc03fd46b12477dd9f1bff258b67feebd2935f113ac5652af098c8560485432edd4903145d805ba3db686be6854e795253f088de62b7ae0f8f224fd9069a8833a3885503949b7d406dcff79358a2de2475ab7abb20a25d590efd1d71bf9b9b1e3e30e0c803ff3a03a5ed96ffd542c54bb4743d7a3517edb80c604a263395e021ba734b451203383c9933efda37e209da3455caa3d620fde311b53f1a91b487d72ba3d15929100300e908af037d61525119314de99fd3a4974e6ed1605dee13a8adae64c34abe250379721f6360a910126cb1eb05fef63975f0b990cfced54029cf441dd9439e450a03df2aa9acc33f1d60092ebc56607be364efd60fee5407d674971bfe5ae4d3f3d90329f5800258b82b5394747a92df6c5d03a64c4fc4df94a55f9f6f8cf0113c5e99036aa830f3cb5bee15a21f0cc02bbdd0839f4c538e981d7a98e1c6e935dd181c4f03ab40534c0fe395ffccf99f46913c2105492efde17e5f70fd41a828bcbbd21242032b497eafef2204dc0bc6c30e8a53c1ff412f6c12c42ea300041b2abbe6aebbee03156f24edb2ca1cee3ec82088fd7abeff31af9a503b82414afe5fa5cfdf32fc0003abb5cbe56ed6b4818966e453a5adc5ed6df81a2fe90c4a5130d7837e50a47b48030efb40eef42ccaf947044825e4c7aba04d96cef4c9893aa6870eb46a2f70de8f032b9516462b5bd72f3fdd278910d8cd7fee2326e9b9b588822bf2b0680c54400103ab9f919042fd814c486660ef0c5621c6ad4ad4b76618643f676bc09a85429af60370003263f1ade4e8cca9326ad7450c83eeb864db0183a5c56224ebfcd7995be405581d027f97ac7a14a5f8dbf01c7ae679a341ef3bf5af225a4fcc48f7f850ff0c0142139005581d02e0b0538f0ee3a18d44256c9cdbeea16a5d8a320f2bddda29a0e414af0c03478c29a2e5ead10002184105581e0387e910044a875d52ba6fe9ee94d4051eac50d7c5cc48591388d86bf2e00401038c2b2b99cb94f091b68a80c354b16d5cb92222dd7ecc715b268d6914b1e8bcdb05581e03c32ab8fde14751c8635a9e4c403ac9eb27a4bedcfe0dad61833a69ef500c0c47031a4a8c39b37e03f40dec6d6d769b8c7bb56b22f3d784ca82880b19b6fe685a7d0fce3bdbb2f87603776b493b613201623de503b0ba2853da813666ae8e7bc635679cb4649c84292605581e0335ff82a50d752beaad492237ad5a4273d89c246d975e13e74c16e39f5007011bffffffffffffffff038435c1498f082595120403bebfe5bcff17a8af3b8dd02af84b95e6d088a7caee03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e0377f82db76275db1af2d213baa50c818a68f92c2e65c83a60f2036bbbd007011bffffffffffffffff033746a45591d3a5cb12cfcc8b02763f22bb68ea09523f0f3009713788b3e3c593039e35d856eee885137b4f5ef2e0845a8e608d3d20f7aa1201ae20d51120061e51031b9f9cf341b3abfa1d0f844be231bbe2585b01964509785c8b8731497f2f0c8405581e0308b422392473862eda91e7985ee8735e40b9334011e3bd4af1ba87790004010219e6ee0338738a249d9fc26643ecdf5476b5cb9906df0717fba906e6a22643360b959d250350aff9a61e09134d23d0dc80ea28c340ce35fe7e521adfcd7994bd0c67183b00036a1ed020762a132e275abe3c12eb197c7c555a701b5b68cebb1b2bdc1b22fc6a03c8e7d028a247867e2588b38b3a0abc9f01ca9c5b74264f57b0cff9278067b26d038731191523f1f15f8f78b4836c13ee5c4453c0d6350049bf26acd626fd99204b03be168c6960df1ca6218e05bcf3c06c5d782fd7e3d29fd9252a3ba62ae9c3c2580219ffff033f3f717d891353ccb4af925db010319a8c56eb01c75d4be7a9e4b24bde4ac24b031142778fb01a0ac42b6cdb556aaf3174bcecaa311981ac20c1a5bc5c91bd0d33030736ed70f0dca8b831da8c1d5e04a44111038fac194ffc4b1aadebe1595e96ef0219ffff03938f2fee10fc1ec46535b832e2f51b786b4f43ce4ba4d90b9245e2cd1da277c10347b81564b78097fc19c8b092fe9d8c4a7f7dc294e8f27d4fe89553395e69e0ac03d7df780fc5aad9a56bb14c3dd48c6d196a4b7f13c80b056f3c934da8c8ac936d03093518fa5ebb18816b344c3ad26e8c07ea2433c685992cad419b89118ad689b903a4186a0b358a78cffa25d8c62d80e95abcac166aa8160c1fe80bd7e6cd5b2c9b0219ffff031500002e5d4b69849b8fc23714c992cc0d0e4e426a35178cc0262a942c01d0ef03804776562c2d2befbca2daa9db7951e6cd5db4717481fd1fb27a1cbde8e9bcb403a893cc63608d052301b49cee3257fd15f5834843f0b21b77a42cc823a583f6dc0351940f8a1420a449b26f81434d01299f3fdc5459746b7ead46dd4567c66c34400375c1d205589d02f835ca6a26e6379c28709b8bd21f84f6694161bf4765e8fec9036236728ebc65da76d1e13111ce80d03df099cab93c6e4f45948e3d214ab810ef0219ffff0380dc46d0e10cae98de017a0f2426376fd8f57958a1cf1ce3aaf8de2ca15ea9ad031d3c16cd047ac405c098ea42682035d7782585417d686f8c312708e3326c288803abe293df475e1a33e0ee7917ee86d085956e8ecd810b8cc7952027563326b68c0328b5c18e9c2839e2ed6dbbe6a3be876420448dafe5771e77e2a30a2eb8389a28036758fcdaf7624af58305490d07b91a2448c51b045b8b527d299d230d691f56a103aaa6649453a5bc6224845c347c2106d7e157737099d3babd473f83f4c0c7aabf03e7d8339742c9226c958480fffa7cfb722263671967464cb185167df7bfd3a0bb03b8defc518f01e9537711b965db58a41559d7ea1bb980449b2a40aded52bd78f503ba61ad2cca133e2b4824f7a284cb6d2c01436f7595423eace2f355fcccda68eb030abbfa42054a49d96a39b44fb3b0d82feeb9dc58ffb3a87a503eb683ac719dcb037c0e9c5023099dfab9eda015c52f52cc173a8b9c06b126b988d1cbb360ab4252038537619bd817f935a362dce32a992b83e3349dd75324ae5333d0fb6a43795d5103ca0474a286db191fdff1c167992a521cf0cf36833024c838eabba0ef7a5998b803cf3bf72b10f4523a43b231d0de2d2760d4ad71e5830c844a87a6187cba71242103c64670e59778ace10f674190788c8de2633ac4d9e872802aae6fece1fbc9dc600338482538b18be3057aeb39919bbb7f95a129ee823eebd9d19cb524bfba0fd10303416df5d2988db2f921cf615acb1e81e9f6755d0fe6399eceab62844c8d3d07140330d48c6a85e596600a24349939ab453a14bb3735dcfb333f927da993fc5b0de703093734f1375f099f350a5d375116effd9dda02c4a70808b71e21daee3de1684103313ef3a8521faf6efadc219a20f9d58669f4dc54d429b97705d4bcfc33f554d50382593682cb07808754d217301e4ba68feb83499d37dac31e790a333e1639b12103dedce5fe41eb27a0d00feeddc1a5ee4ab64be518a5d56fb9775afc67e1c1e677034a37030cff771f4258cc39a1c01fbdaacb85e6dd1fb31df071671137ee28c86d03bb1c55dd7b7237d0cb3a454987d4293dfbbe7378acfdb78270ca631dfe734e25036507b48273aae3570b6063be367630692bdccd2c7105fadbec08a7acc7208840034edcf72d1e029cf34d7621d0aaa43d0fea3cd872e9a12eb09a9a0f50f2eb5fbc03f2f6a49a33c2f3ed5facae844ec8fd7df5bc7dbbdcd147602e1d651a1f4b64340360d2bae4f08b9b9a9e9a6d035c49cdc7772666aa18c6a61ab2a8843bcf4f8c2f03caa4b823c9db8fb00414cfd4a2356fc6cc8263bf54316afe44348c3c4e8ab87f03e32198ebf7fee1aad1afc151a452b591fca5921c4b8c2dabce0ac34cdd2b46ca03f8a40d4baad07d8d2ffeed3136ec56fceb128c9e350b2aa8fa07fc039c691b5905581e037b7ce41ac2055ef70719c1767fa509d51b8c4d078df0525ba00cc140c00c04470561b224c01b5c03a7da481b7b704f7e8e9ced456aa29952dbeedc54fda8803a138e10df74e9a63605581e03ec599263d6ef24bfe14b22d0a5c19ae3966d4134e5e2542c5a7699d440040405581e03f9fdfaf0f03681314f8c049843dcbbfe79325b8e77a1169632246e360004010307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e03a32a2a1060d0b1ba348c4278f320f89c7a646d4e06105d200052fa29e007011bffffffffffffffff0459088c60806040523661001357610011610017565b005b6100115b61001f610169565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a5761005361019c565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a576100536101f3565b63070d7c6960e41b6001600160e01b031982160161009a57610053610239565b621eb96f60e61b6001600160e01b03198216016100b95761005361026a565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102aa565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102be565b565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101a66102ce565b60006101b53660048184610683565b8101906101c291906106c9565b90506101df816040518060200160405280600081525060006102d9565b505060408051602081019091526000815290565b60606000806102053660048184610683565b81019061021291906106fa565b91509150610222828260016102d9565b604051806020016040528060008152509250505090565b60606102436102ce565b60006102523660048184610683565b81019061025f91906106c9565b90506101df81610305565b60606102746102ce565b600061027e610169565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102b46102ce565b600061027e61035c565b6101676102c961035c565b61036b565b341561016757600080fd5b6102e28361038f565b6000825111806102ef5750805b15610300576102fe83836103cf565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61032e610169565b604080516001600160a01b03928316815291841660208301520160405180910390a1610359816103fb565b50565b60006103666104a4565b905090565b3660008037600080366000845af43d6000803e80801561038a573d6000f35b3d6000fd5b610398816104cc565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606103f4838360405180606001604052806027815260200161083060279139610560565b9392505050565b6001600160a01b0381166104605760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61018d565b6001600160a01b0381163b6105395760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610483565b6060600080856001600160a01b03168560405161057d91906107e0565b600060405180830381855af49150503d80600081146105b8576040519150601f19603f3d011682016040523d82523d6000602084013e6105bd565b606091505b50915091506105ce868383876105d8565b9695505050505050565b60608315610647578251600003610640576001600160a01b0385163b6106405760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b5081610651565b6106518383610659565b949350505050565b8151156106695781518083602001fd5b8060405162461bcd60e51b815260040161014e91906107fc565b6000808585111561069357600080fd5b838611156106a057600080fd5b5050820193919092039150565b80356001600160a01b03811681146106c457600080fd5b919050565b6000602082840312156106db57600080fd5b6103f4826106ad565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561070d57600080fd5b610716836106ad565b9150602083013567ffffffffffffffff8082111561073357600080fd5b818501915085601f83011261074757600080fd5b813581811115610759576107596106e4565b604051601f8201601f19908116603f01168101908382118183101715610781576107816106e4565b8160405282815288602084870101111561079a57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107d75781810151838201526020016107bf565b50506000910152565b600082516107f28184602087016107bc565b9190910192915050565b602081526000825180602084015261081b8160408501602087016107bc565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220949b1f520f279848d7da9a3cabcfa44e230fb00bdeef00de9a6df70e81fc72f264736f6c6343000818003303f0c567e0ededcb731da59ef7da75e29ae177aaef5b331e6e61d59f6d831ffa8403da3b4955205823fc63db9868433a12fba9d174ffa50b0d0f7714426a240f043d03287beb91dc44f519885024b23795498edee080a5991f2b291659bf9cfe1a83cd0327999d6ca7594092107a1a2fe6fe9aca5be4c50d8901956b4d4ee9e4916e1ad0031305466c051ba9b103526a0a0190b0200cbbd72d734efd380bb82d4750434b29039b151b813ecb292f3ef70bc76d262d38136ced35aac205f94c525b04b9b5d1b00311a2f5fee561e9ce900149c7b9fa4100adc6dcbfcfc85167cf792c1eb5238edb03c1ebe9ae64a187980ad2adf67dc6bab9bff029f5754bb8404af1a55db44bd4c303fbfe54fcfc7ac5ecfa263981dfdaf3631c9f04c91e18375953945a49204397c803cfaa774c59c9897f7da4aac354c707af341b3a6fbcd9833ec00503fc41d0b0d6039bfcd91857b21a7a77587f77ac1146a293282980a580e753cd04787271f42360037be8e2d1ee57ec497463dffd23ca4c2ff05b0f4594db77786c6d3dc03e41f9eb0328166dfdea6296c0a9a0f1f2ba980ee1c8253061633b761145ae0250daf5bab403433a5ef2eeb489eb41b15dc9e5adb06a01a47767f0c17bb00fbdbf578d4c5e7803a004ccddf4dfcbccdb4be011507471ac3a8c7d47abcda475e79c02c1beb9b67d036cab1dc097df5ff34b501ac99b0e4b434c976bced6164e407d9a2dbc281ffa58032d7a6cb3655b56091d3a74ec0cd3f8308a1d619ceac656c543da302e0bd8d1d603e20531625676596faee515fb4e896e75da162866e45f0e9071308d6c0c287e820390e99bb933b7675fb74a348f46d959bfce347b74cd146360ed02de81e8c3a8ef03898cd384c4f5763982830a3fa944768fda4c9dfe6ab69fff8d5a1f9442a77b94034412cff2c02393a31bffea5f54530441b81d397311db6fc5ae4460150a733f5300581f023332c07f9a95c21e7f4b4cbdb427c913cb04d760b20b7b8c198041a6059348e8b6b5fcd0cb700000581f020cf379f1a09323b20823d6b879a14e7ddea0ae4b46f6d6a08acbfe58dbe948a748d022ac94500000581f02021457ed564648c82e2bfafe08f376bfe4811e64d469f10285404faf73ec49013a801550671f3000038888871f2a2126108b9bba0de4c2bb1bf1361498ab78f39105f34aca9c8ef05f00581f0358ba27f9252712a74ff6a55c5d531f69609f1f6e7f17c4443a8e2089be40410100581f03289e0e9ee7b5f751f5437bb945f83e51f789a552c5266aff2057be7c3f60488691dd33f93d40000219020200581f021e6c9c9a94462def5cba57b71f01231f79272c869a2c8a95933c53db4afb487c86d4b775a2d00000581f02f235814d822051a11c8ee429d7ac6714ab834effa3306d0c1720125aad4e48b7a44999caa51000033bb46feaa1882cdbac05cd32c5e0d0de1d25c1082680212de2f4ddf176ac39470219e54503dfc63fd2dcd62548714ff5e70a7cdc70e929e27f33233bbaa7bdd321a148b5630219bfff0373dde6f0b9189e2c2f164376d8754af53e99f1ce04b484a66977eba3a3437f46033c01a8ed4136b699e07dd5b8bd311edf828c757c86b8543fea431265d8ff903803cfb4d799b44cee24063c1858e0d95df15656f06cfd58fa354addc17c5c5bb11203d2c12c6f038b9ad9cdcd703bdcb03cf20a8d241ec7bbf3c99b0b6fcfe1f5cd310344c438fb1491d39b18ac195fe1dd79f5853143960cf5cc1baf897618f3be6e33031bdf12792ede186f7b0b7080bca70a0308c1933eef6ea194374ecd1043058b8c03ce8dc8b97c484cfcf55f674d21434bf0750b4534b4a4a95c707abf3f2746df0703121fe8d234ce62ac80cc15a94d84e63176386cd28c62f02197f8b5fea8f0a41a03a62ff5c0e7c21f0a192b6cffa2e25015a966ca7c600f99a0d4c3d14b8fa9edd60360679640b885f65e1bc413d868c20eda806c75b472f50a7bbc2a766395d9d50c03765c32963e6bd7e9920cf886a340e0d9631e015ffdfc3503e0614a79c15c9cbe0219ffff00581f0277a4cfa681ea58d195d1bf2fb3c5ff79adacf5e9b25cda30d1dc8a334f92446620cb7300581f02f7e0f7cd6967f563591a5a9db7ccf2c244de8d5bc1a06a506e13a0ed2f6e487c86d4b775a2d00000581f025360473c63c891453ea8c242a8fd732518c2365232d12145f15d073eee2049063252ec41e4d2400000581f02a549aed93eea1b4440576a212403a9e3df8a058fa0323ed996091d5b8960488691dd33f93d40000219064803025964aeb33151f2c8110589db2557532d12e1cef9fab8d7e50039da244ddcd40375d747a88a869b693f52b9b62a03f1a7111f21784d9d654c5c7d25543bae2c3503669b4fa9ba9e36859d002c9ab95b7a22960c44000487825a7b2eb208be75c50c03707eaaaa8371a4701816a1c0009e845a204770327835c7392675c9808595e6b803245345a5e8258dbe5253982d7d1f8d736a6c8e71ebe2f46c742f4b65b173cdd203e77bb6596eaf8c3c8d77828debf135834cfd84bb1d047d9c7cf4f3272e80cf85005820032930d389f313ed4b6bb8d6ecd1e9b3c76709d8c95a50f34ae136f07f60f82049012a249bd9490e70000340331f859afb4baff5956fd0ef05304682ad8fa88e0faa21bb68174c308a6b84032d6c7c62e9616037dcdc26be19e3c6938bd0daa5138cd4b9385a2eed6c88690e034b4471efa633bc0ebe6e635ca3e5895e7615742c91510de6dc399df95dbbb75a03e66d19f4702e02d0c81d9ec3c9def6b767aff5f0ad4cbb01913fac855fb1c027031a2cc4c91adada42741264d1e8d724d00d728165e85f11f072e72a44057e4724033f7be162daba1a407119addbb7599b0a28433c2deb99237406c348207f1f71a203a5f87916af655417e4781025e435b11dffdec8cb0f5a45f2f5a2635821c81fbc03854d0821972e81e14f992677315d0bccbe2ea820b65c17abf9809a0c852eaae40219ffff03e8df9f08d77b2a62bc06d8dd0b096d187954864580a692199c635f00dd28f3af03e77cd2ea74911218259acdeaabb5a965713e07ba41c6502e176584a7ab90856d03c61fd8a7c824b9cf7c56c1978e39adc02a9389aa3f79f7f0e3c2371d4757e5bd0398c1a159a40c28f9a1d508b261699c0966ce093cc7deb4c84972ec1beeb68d3f030741feb285d1f544b1089874508fb6c171f4ec1f12436063802a82b07c4ef1f60356b2863ee29f0c0d03e3649092f65d389af0213b6506332ea2d544a648cca4590345a66cc0fcd9dd771dbc94177207ab4774a13b4fbcbb4e1563be18f0ec56501b03fe24a524a55e9ff16a8807ad746939a036a4ca5c846bb5407117b77f9688cc16036884e1f23c5a4b6ce3716d8575e5bce517d7813ac1fe1e58a2444df2bd57777d03d29dc3e374c9c2adf43b5476504a0ee048e88917e86d8f5079ddfcd221edcf4303e928f0ce6c19119d3e6a30cf2aa22f54d6f7d58e5ba0ae602f18c8ee521f036f034d45217d47bbab602e181b35879495983915adfae4267b39ed694be7303f542700582003ddc8b0cd08d2f1c2bb152b8875597085d9fd1211e2ced89ee09ca1e85462004861d7a7226eb6c80003a6c1d9d95dbac196d87d2c15b4ecdfdcf3f9eb5f13a8e6718cae8e18f11246b10376354d726c414cdb33b3f4e6921399a44dbf9f8c43c103cda505505cdabd9f6700581f0215238923a6ecbd0fac79d8580cbb107cefe0cf77801f4d7531696d120caa49012a249bd9490e700000581f02caa494655e00b492e365674d4b881d0f15247490a68a58a4306973d8e3d048c7ffc310e8b5d00000581f023dcd59086777057e219735dd635c185499c9aa90d1ec86bfa4ac3e6acbf0490340aad21b3b70000000581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4815442a72499eddb0374ebfba44fc880f82cce7366140219a0b003900f59ae00eb37bd227b22d4ad4c4db441a21bc95a8be3dee7cb2f49ea81f9c0039d0493f64d4cd54729a7d55ba4807d58fdaaab4edb3df9ff830ae5132d88b6fb0219ffff03b9ee9b66324c52a35fa88a8a63d06e84bac1a00d32217ceac3bb7f6c60a12b1503d8c443dbdea5d697a12b9ed35cbd1e63ec0e52a0c40dbd9a2d17e9d6a02228360343e3f8a86abf12f8e2bff2f9beb0850e7aa7768e8ca52b244ea6b0d5a57d66fb0301d487d87be3ad62ef463364d397d52e8a3508f574520c5983b34dbc85e84d6b030a0eec63a8ac1d9587fea3cc9d30f0a6e0d1380092d20d0f9effa15ea23545880384ebf3f290224cb12071389fb344c4e41b74420cb4f7a2f6f849d999de981e9e0310e02644def21fcaf11f840523d28ab68b6b759147990c12576a97c89d5db99d03e1fac2d884ad25796c34d0a722fef84bc19df60c08472623fd1962f9a6612a3803198b19871ec30a1da3cc8f2bb37c35be1f461bb037e6bf552245618cb5261847030007442666a645bcbc40ec6e21c6a29ef6f1e67608640b19a6d8ff1f5f0a81ee039ca03225b695e7af07ed5d55e5e9da79fe3ee0a58453601aeedb657a938a5ed7031afcdd68a7609061544c3e7aab25d5b21c0d1765061d7179a4c1358f77bc913a0308042623b3c3ede8537674ab7c989a788fdf1c7354bb79bda5141726a24c41610219ffff03ca332c66ecb4eb94ea0c9e20d71df87ea6fd0057986a1d9732ab76f60b8cf1d903b75690a4750e6dbe59aa238c8acd70b77f3b6d57fc45c4ff18a28bcfc59e44cf036c99094c4a1bbb3669f531d886f9d2ce5413b8266f296a090ac7a9f9e389aa5f0368686692b3e16ca45aa80dfd203fb68dac50a4097a6effb3940463ac1155f5b50341a82fcba2550528dd3f37137080ba7c038f70f5dd9e2966bf34c8e39adcba1a0378d0162be0f858842804af6c1a3d0eed9684740cc82afae73037ec0b536ab8e903104fe9f2aebdb80051422058535fc2204525aa26b02577e1a17ce1844644aa760328216e93a14b79174cf0ce02ff81db431f8f511596f436194b2888c61443371d036a868638097805a7ad9aae67b7782624db356f5103ad2abae3d91466e0922d1703ac8525ef90abc237febc38d5c776fa7104060f5fd7bbc526b3e32d7607ffe04e03266b172116482ee85d9370d6ca1963eca4c7812ac393f233710c9fcfca9dd33c030b6bdc24531d775cb5efd43c7a714ec4f60ae4093bab0a89cd33c89163ef6c0a03728ef596f9fd81260c1b6f9e15d83bb2ff290d4384fc7f325e3514345dc9200103e799ca567b1ca2afb8e1a8edb37fc40944aeb9bc2758b8f6b7151647e958f733036f0c1e68fc9bebfad3fa89232df46d2d68de6fab76b4fb3b91bb642229c6e3be033584c2c344d3a4c85eb0cadaa19fa243831ec54376f6e66978844bdf97228f660326a34ff3f022c095748a0d038db7d687b979ef6e805d5f8a440b5f37df62eda800581f02664bb3aa8609445f7acbcba37302d3314891dd19a2ab01ee1ddb4c26b8cb48c7ffc310e8b5d00000581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d549ef80a5f91f043c887ce391399b8faefba17364d03787f350c5a291d31b3ab93a8997c72f87fc83caecbe11e52d5c6dd9e12688c3300581f027821f9752011aa8f1aad297ba1e5dff046051b17c025c32a6aaab0cb4090482cdd269540bd100000581f0241c535c2ebbb68cbae1b195e19ada8900f2ffc9ac40a10ca222b2903ad3d49035d82540660dd8000021920c600582003be01b269196244fc3157b836e96df44216e767438970dd74f11cd9d7aeba20487c86d4b775a2d0000386fa3f52a0722b885002360830d2c8d70af9060226140a510499d774f446014b0311ac4ee6002f9fe6df0405964ceb569b6d634db7d8cd5e581217dfabb1f49dd80058200373be6298dbfeed94906076e6300097e7a2f3d0a9f880fcb27fbc1d45b46480490ac75581c36c59a0000219ffff038df8004e711f8c094acc931193aeb032faef0060d81ec7e446481c60879612f5035aebed60042874c30c92ebe1532aa1d9cb9ccd3e621f99a78a2b2574f614cdef039b006de6cc9188212ae19e4466fabb3d4670407c0e88299de8173b1cd71bbccf03959252014b3178d4b3d74237c6a086e88c0a28b6347cc739d0c812e963adcf9503ca4af79ec958dadf11d205699f102ab355edd3e967b61f980df6c04c469bf62103aa1c9af340466b7e738d20b14378a270a29ef090c0b93a3e423973536e0fe213036af2e14275cbe60fd61527fdcb684eb568cf92fd76d3dab85bd06bfec264d01c03733f5938767e72e6b8d276448fabf05de9b66660728e0eaf458d20d26eb78a73030c852dfbabbf978faf7270c7625208afebe6ef1fa8237ee897b032bed4f7baa703528051f576d08f56d6adb27f768f2d00cc7c25d458247ad9b674b5bda88804640219ffff03f81b99bf86084f8b96055f5a3d088dc77cff9342eaa295966d3ffd7a0b4893b00308972ea9a367f0be50536fab17b66a2d99ec2fab81b0e54752065766d705f669032d67f8670dc8db0d31774e2a48f7edfddf89de692cdc1d332a98f2a60b89df4203992268d4ef151694bc45ad12e66fe7793973d72cd5a2ff46960a2ace9e43010903aca656304124e13779e9b6aa8097040d7bcf1c233a6d010034560e22e29d3e4803ed56c532b9e2db649b06a6581e708599999a2cf19438a44c66f6a9974a3ec8300338fbc29ffcd6b04e9d24f2cef5c21241ef1a238162c600daef4d25335d3e6dba03fad764ecd940fdedcac7f8f57544b178e8321dc95ff6529a013df35cd2c9cc080301935122d6f0cea1573df6712cd0979b8f9a2051eb28ef36b9ee92d6402d0e7f03d6a6d64120ea30376032c34c967e0a1a74dbd44247db5e715361c75b219e56130348942f6f3695799ee7406bf6f27a4230dd614bc3ec37312f3c0e4fd3ac11950c03acb00bdd04e3d6f62fb7a1ba541d21920abdc08e60b0e22ca7aa21cd0fd872bc0356c3941db6016d5a4a7665b06443bcfba6b612cd0d83e11734ca6f348300bc420382d69a706bc68714992212c3c1d4f9ea6b5ff3a6879c9c1369ed4eceb45a3e4e036dfce7c38d2a8ec7f72dae407ff03e07245371c1e55775b41fc19b202206be7c03572e8683d7f812519eadb698df8b4f7256f9453e7dffde68037dc6706e03cfe4035ca7b540b32395113ea280f2ade48854410ecbe1a4c0f8202b1093d2b4c3d601037cdb62bb85dd6bbc19824c8ea6f9ea2d02e767527542642e8b3c66293c98ef820383f8c57851c574853434179ae107b611a954bde82e1f1496cb0907c548ec18f503def4b11a3128a857ea7a7c8b5700ecac46add13a4101d2b7e197bafe2fd579a700582003f6451b40fd088c1db4ebf702daf42affcc0896c6902d405edcf4ea861f2cd049012a249bd9490e70000354a55a4f5fc628be3b03330916c44fcfbcdf35e7a34704c078b22d089f267ad403c499891e1a24637b0e5f447716f95b3620eef436b509de9823647e6b223eaa8903f6ebd193c9cf7a0f15cb2f72d096485751bbb3e37e87d2d50646f4dde3645eb70304d9c992a684e6ea4fc49442558df2c1ef027111a2f6b96ce945d4c13639708303d0409d0f315226ce41f09e06279aa134dd260c64ca6fddcf6f23f1d591872f840346c7686cd9fd9a016137ad663702ea1eb9ba65b961ceb9df7fed6b6cd89efd9b03caa94de7359b46e03d346e5e6ce5c31518367bfa4377f9f257697d73a3f723de00582003a8c3187503b7a91481247833ed78bb96d99175075344e187781a1496ad4f4048f9122f73eedc300003b6cf79f17a7f976bd8d19d96aa27aa0d06426b5cb508975ad84fb7841a25892300581f029d23f6d283e468dc7ba3b16b2865d7b3a37efa6a8fb7712b03ccc1e70c344896ed56ab8e83900000581f02567571576630f73efcd0aed74b8a9bfebca338dc1d864d4601d4b11ef5b14866cc902157dc5000021901080219ffff0219ffff0333e58520f8233a26f1054ff4eb4b6638b361e08b9ec1fac97ffdfb09c5fc887003ef54688a227811788dcf39a3829fcc6d5115e08fc4e87956d844f3ebe3bdb32b03b9b09ea2f883cf5e79c90760bc0e951729c09484993881916afee744cd25a43e03f47087f488322d242e72a7193512500f8cc9911a751bbaac4cd080ad8ad3aa7603b051a5b10977c7b8dc4eec624c7fa7875154483f5ecb0ab371b22026bd473ce503dc0b1e9893e0a8dbd040c584da477dcc663d4412981c2c1aea72081924b077d5030b4b85d7dceaea8296d28981f82a9cb34df590f3e9580034473eaa9a3ec5f9af0331b8d50c21a2b707afcbf485188b5768d29d8555ae43086310df5763d0682778033c65162143e721867782f9061d603363e9562e049a4514fa14c9e1c8aab3e50100581f02b1a4e21ef123d2d03b8a1ee4e6094bed2e6fae78cbeb534bd102d727f7a64898a7d9b8314c000000581f02777954b7be9721e80eb6fa81794c6629a2575995bf66f0379195c529a5da48c7ffc310e8b5d00000581f02f576bcc1812ee141ed0c31b67f3944674c53c56d1dd3c8e32b942400761b48a748d022ac94500000581f0282ea49cf9ea01240f55a5f16df79968fed4aa1c727b4d5384e53c04973c548a748d022ac9450000219180c0305338ce6f4b12c62f1e080c7d215a840b5b68eb33ebd52106e5d85dc23c6943f037f3099db7f897b0a4f41b8180526b01762756838d153c6bdd4eb62dd649f13a3036078ac64f4c16c8f716aa33aae3fddec9b9414de8d8123d09c625549c391fa97036a2751327566eef7f8c2fdc37533c3a35fba561f731a417a3b8d5275de007f6c0304a1d5c40c018a709593599548a5eb9ca18b42e18a4be3c6260823161d4d2b6303b934ae173eb133bc259256bd2738af15b94b9e032be37ea42f4175263476c38f03197bc2491ea88d69361c70976f53373735b2571ca35fcf028d69ae5639501a1203d79c522d81097c09ed55f6cec988207f9f94bbbfb5652c0f1f494f47a354b67d0336a2b56ecf1029613529ad449d6fd4cd39a9c157be0532649eaf0c3c67fc5af90219ffff03dfc8e965d134108c1301d9b3f798daab0cdab5348b120b7f25efc81911cab2a903313e07e8694c5f74c040b5f323050aecefed1b3f61f458d2c2438c32a16e5f79033a95b3c29ad3dc604513a95a165718f92fd2a616f746d00176a03562ffca87bb039a7ef53f9da186477dddd1fc14adc320ec022551d5ce496ca2f40d84f379b51f03324f603cf1bfe8c0a457bc67c85ea5f172d7345ce652caf822251f3b119a5ed303d2ba82253add004c10ad940edf8d80022a88af209dfa1d4e888983d3f6bd4e9903249a13cc75ff00686f9e63103c245c5ee2a4c2791cd97a04879f7af8fcf16ae5035f1a30cd4f247d79ab909f2e0dced56fb7bca4bbfea0504defdd49222f1f50f90351b53367425d5e0e2279301d2814ea13d6a4f1cb8cd77a16e831e869a16a330303f2683f27ba6b3934848c0143b81bfe6b8d46938913f715ded88cc1edd2bf7a6c03d0cb13dee974e667702590246c51f8c2e53c186cd2c654120512917c601af86903635f4fd28c47a9e1249f848f98c0304ab0c7cd5bfa574e1d6ea91fbdab551d36039056290c35cae85bab5178dc09c448224e6479d8db15082f5fdbc199e5a197a10219ffff032487baf4f73c7a6ed802adb0082e7313240120aa9d2c7c89018d2227177e833d030aceb3497e7b13c021e028942231552f02650143e26e62266f7adae05e37d38503b03043c12d907e10f19d7eceb3e0597b30511d202694de33fd8732d16be126b303f6a6cac491bde58eb3b456aadbe7279461614028aa57b6cd6012bda8ee4a9f7703811c4c9049b662dde4e6a8930dd93a4d6de1691142c6ccc20f3e855775947fca03015675c61200423c997a9fd16a3fbcb6b1b530fae1f7f64cf5aba7b9ec262c3803abbf5d43c27542c14ae08c863394998d37af58f5634dfbc8d296b19b91d17c4503ac7592e74b3411aaf8ae2ef258217dd4641b1e7823a4948fecb158dac09ca2a50312d751b5752369fea34422337a71837f653bcadc5e37e7768f8618abfc167bbc0368bab9155c36c921a8b06a596b4900b7ea8ee0d86fcbf35996e34b2a9b61c48403b754d13d9c5f5abf315d4f583c2e6c483dd4e69ca07f2c8dbc8d6b73ca826a14031f99b0e4fd80a17a8d7f3e1a4aba2b81fcead7ca4bde9869470ffda73997107103a3584f114b17088a69d6309a9b5df599011f57b89d88e0c4a533273f87d65b3c00581f025ed98b68677f8fa1c890eea68a337263b24fe42b136bcb5ae97d587b5721488691dd33f93d400000581f022a6f324f57b6a16118bb9aa849c6d025165de2be941c93b0c8e9b78f28254901914088f67f70900000581f020606fdeafb3b3ca0b6c2aa1bc1782139400ba90dd6cef8f7b838e88517e84861d7a7226eb6c80000581f023072221237fb88836515e3c04b2e6ddc4192ce4d7691178a969bf1e96d5248b7a44999caa5100000581f025a7a3434f74c9f3d8229eb14982ad537973494e6a5a3e7ff79f4d58b0cd048a748d022ac94500000581f02006474c83cd64c77781af1a024fb9d9bf81483ac239a672eddf33c0fba3f4466261b1b0219963003e37ebc188ef498e97bfeff9861a8a3bc7a558ece3a59aa767668cd39ca1ba3800393c86d513d96f278c214b358d911fe7bb5432cf42487bfacb75c614f121d0354038e8782562d3941d1599674aceef9772c50d120648be40b1126c8dbd2f21d1faf0373ba46043932f24244431adb87ef2ea23b320418904411801ead3fc2245d086d034a1f16552074c12957bfd5fac86652f665e1e40d123e16a67c473904928027a8030f18e26d6437e7368da1609a0d2b7fb2070af472601d246014b79a55e762a7e7038079f40af7b204bc1755fb33138d1a0e6b4ac068299ead92817b1fb5cd3faf220219ffff03d949e039a354558ee886db08acc80fb3f7eff53941ab7e9ded4fcaec433b9071039fe562a54e1b849a26819b86a7c69f0757b64068407f297aeebf43b63da0995603affb4b2fe08a423fe5b43aef0ea9d38f58cc477ed8b352365f8ff16ffc7db12e035f34d017aec7352c316f55c35d8255522ddead623d7266ceebff834750b6d669035681c952390825cb92fa20abdd95efe30ecf257c81e6bf62469ff52e8b65f7c10382c4b0b0e09737b3f7f8465cdb6c72dede9f60df3f1d43a661ec4ba20e3e2a8503044e31b74030d0568966e555f096f31c7ff19736876622036ada506d02504cec030fe09d4f33275b08c929d9ced31956bd5b8ca578986d5703ad1c08a3f4000342035e08f9918d0bc735416dd4187fe3472f71828faa5a79db77a94bb72f4431c297030ee2382159add96765879ae488e49a2de55c71113c5be6e615801218c096cba3035816c4b8db252ebf700be03af31b3a170a93324c7e9c82b9ea2c6c07377b408a0219ffff031feba50fac5c5630afc4e551a5a51d16bb6c607f37bef985deed885548475151039bfc00b7498c8fa94d3f365c0ed9c3d908c749ff00316fec3865663655d800d903b08da06c100069e62d1e3ede6afaed29e002379afdae3cf492e9992c50b7e0c70331337b4c7b10a997fea0a9725ed6cedf989f7992a617b47f3c6baec31ff9817d03f3e9c2b7df40d2f516406179daba8ca6d1d6a9b6d9368d0cdaa119a9d44df8f00316ea2d511433bbb6ebcb1dfbe29dfc690154eeb2b9af9593cfc34832acaf9d090332a3ee4768ab278d371f01ae0cb2c1fdf1de92c0cf8b3ec25b98bb87bd95e94003c7bd3fba4b33fad098a299fdc1fcb3f7f7de3dd6d30e5f30e253fb268f091798032c0120bb779ea787ae3c8a9fa335226ab078d3e9f2ea0249d2edf35b0375296a01410603ab43f100dab6957eda13a41cb54393ebea2c986bc5f1d010f6b41b428cb34a96034e6568b5b03936befab8cc5b7a74bf9a431a121f7637285e743cbd5aeb328f55033289ddf27abd766460905ab4ea25b285119e52c330ed6fb6b63052713f304a2c03c7506ae24cc8d660f6279b11d4233d77b370cda8c271aeac53bc7f8fc39bc286005820030d9631c658ff940017d4c86826f98d68777316d4f85b9eea0378b886f9a95048c7ffc310e8b5d00003405cdf93a07e744a368b399de99bac33cfd8e4b77c3e0f9e38ec31805464656603d8e7768e94899391438527cf4cf5618b9d2293997ca52e899c28b9be2aa70310034fe84cbc2127bba262b6304725d7aa268d049719346feda03a59bc188952879303a2e4d32b60ef762def4435ff822a9f8966f90fbe2bd8898184289eb09c5047f103cc9ccd315e1a2aed8914bc1e7e4ec2bfc1b7b8988ae333ed2da4c284bd29f6f103f770448e5333d1cfa189de2adda7111ba7d27d12f7098ba72dda3a0e50ed221803cf3e570907a862a53130158dfc912aeec20156f97f4fe6f763885099e77f182703d6c867007d405e16315eb5272a06b114ac1a8d73fdc4a2894daefc47defedc8600581f02957cc14d088ebc859b88fbd5c077cea5afe8552c360f599aa84be40735e249013a801550671f300003c20c8ff68fb00923fc6e07aa3b8211d81792082a859d7d7096d6d2fd2bf5680103acaad93cf6555bba9d1135d8266ee682eb1f844ec87469f1452ccf10ebc4345200581f0235629c540f1c32b69dc16de221ba22f4f0c5e9f361c00c0d07c0408300f9487c86d4b775a2d00000581f024782f45475da007dabc819caf1967ec2ba3bd93369b2e0e8306079b8f7a448b7a44999caa5100000581f02154df549fd07dda464f8e19dfdd864bd850ed0824cd408a5fb07ee452c9948a748d022ac94500002196c85039120fb0c168c4f646fa9eb4c505b71879b73454060cf575cd2d4fcb8088b5f780219dfff03b8337fe8bbe4c21a83834cd27e5a189d2ad69f1af437fa75c5838f2ae74effda038630a3b30edf48e37929bfeb28453a2eaa888db59fdebecbd03db3641f1bab4b030db2839c7a904712dd3364dd807f98cb99fe1f7397f5fb252b03d7bf9510373b03e95c0d19f4058061f81e4f6f921def2699bc67bab229451377ccd4d91591c8d2036c5a1cef2cb9aa38c357ac528e49fe2dcf34826b9b3fe81e91b5b4a1d54e5848032a8fd603e9df13f49b77732f1c37512453308cbfa0c06b8d6b76324b143438f90351c5650ea47f91a8621f087017cb85d4aed5f2ef2a5cc9d5caa2902250cac4b80334db6d12f9b3d5faaafa0a72dfe6c1a98c5bca9870c029bc4a194a94609c80470219ffff035454e054fb37aa8d4e4e1c5d2a61f41de4feba67eb2150f6ec5c3bf13c0a62d003933517c44fc002a5fb2aadd8929daf1d9f038110b469b4fba7991bb05cb5c68a0390974c08138a83340951493ce0b8c7dbdbb8c0ca013b3e9fa2809ec291585e2203d42918d0f51b18e928770c90a050b1bae51744ad850471f2d0dc32b9fd7b61a403330a18974f48c3085afe9cd22261966230652b8ba367d77f13cf49e9e16d7a7403ff5de700ca66d23b9ce07ec5a62208c09b98cb264cd7fe2773011403e04021ae031bab9447163865757bd6adcc7bd09662f4fad7910b94ed404522d41cba652f620320db4ebacb26db3e176cfb59518122934d1382e7faefa6789aba13fadbbf7d9f0397c7a8abe673f7bc2e7f9bd2ce6ea562e27fa0bdbdfe8ad1f89861b6c5d441ff03fa669e486b37a8345fc0f5abfc733850bfa67fdb2ffe5e297472bab75115e20e039e3f196f701ab401907c34887a4920dc379d8176e1334cb82126489526bd1ec403149255510c1569c618d8a3d2fe97c892e45768846d119ce90fc65937430341ba0385310d396266abd9462c2eeb47bc8c079d18c8a15631ba977b36b44b6a8b1f9b03311fa5f62e1014458a962b3b38f3ec480771aa82b29827dfda3403affd94334f03b5728a4505081cc5e7184ba782c563ef25086a3e3bcffff82afa2b863b078cb900581f02f0258627f15d7f830ffa4a9c9b66f1836bfb4079bb3a21bf1aabe4119d2f4858f297f0c1bd7000039341c8b99ea0fab61a31f4f6ed6d744699bbea6f64e592bd9267619e4fe49d2800581f02a49899fa25bac7fe48cc3b279d060ba90ed508613011a2adfe1dd068a06f49035d82540660dd80000219401203f54cc740f2184eb40d3dedddbe6514a8e29611cf5be42a6898f90b3ed351129a0307ed84f3164dce2ed758e6abdc751daeadbdf1ff65b2afab48f698a7ae84067803b437d6deb3703a3994c2bbf31a5af233ca40f6da7d2068dded00c049b45603f903533171905681d8db14ff0e6a8b71d73918165e7d185a343318bebe515bd95b3a0387da7c81f688ca9b8ea379cc24b05d18aff6563a62a19f874f8283efb45ec07803c4405e536554b92ebce4d7badde74f16e3db30adf939102364f09dc527a5038403abfe7f7c2d08d641d3f52bc6ce1771e23ff7b47c18f3212acf656b01c0f6e72d0219ffff0333f72ec6c2aee02720dbe1cbb24a4d6e119be366b20d65bfea998d34fdc6465703a435c918e32e59d525e5e6267633b1264659000ccf03d0c0ff91770ef433b8ee035635633d54e5987c8901e647b75a4dbe2323c4707196bde856157501a98e977403217da28ae45507a3ad16d30268fc1447f0b7dce3f842a3bc3864c656e63b476703057bf68e235825e6d53439dfc8c1edf513cfae1b4aa8939c1597f2b93fa2e47c03e96017e2bbc2c4c28864d4df2fa99d76a3b7686f27a7b1fbd8814897dbbafcc6033721a42797c3484ce83ffdadb5ac68d18efeae2dde10332228a1c822502c7b5a0375b6d4aed2d31c0df273c6ee3a8bd310f70f22d14fc22de337b5e9fa35a715310219ffff0219ffff05581d02bcd0ab9e46d1ecedf72c4afbc4d3a3138dcf96933ecd1f273a0ea883070119088c05581d020df0d67f0d45fd8009636aa753308fbf89298d72d8cca0cf08814a8a04030219440003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0322679df9dceab6a5c6bee317257f4cb639aef73d56ab452f05c7f19c8f69268a05581e03ea724ccc7ee260cad900bab12dc924b15cbc226254fa909764c995bf5007011bffffffffffffffff03c9e078a0e3ca68ee524a508e26c90ac6567ccfd73cd25b6be2b6de899c1ab6680353b02c7484ed0a7d8b70d8db7ead07b3d273a4a897b9cfaf7fa07852495c999a05581e03ab37967bf67e04e42d0b022f9741ac497df9f30bb6a1a29bbda4aa9940040105581e03d6fca799bcf38fe5f8276d5144d35e98527bdd30dac7333c82a7a7ce00040102198bf70219ffff03755a0b055946b2062cc04fe366e4bf96b0f074b3cdd7deab7e47b4d4a773910d03f34c458439816ff4b2a1b76ecd33b2c6e5b9913898c0f75c92207bb1c229f2890349d82682ca88fcdc1798f744fff62a88f4fee1a47fd5de4f91eb59bcd7afbf55035dadcfbbe00b0d0f7bf878cd2d0f6d010d651657ca6c25b4dd4b6941b27e8175035b5e364e532bfdd2d81684b89332b18d75b431c25e519e02873fe2f6d63cd3c90353dd6f038a27c9bfdc6d377fbd8b1513442dfe8071aea262a385cff3cf5653c0034cb3dc34ab9b7ba80796d3a2c30e9b480985d7b46e7e6a7708449440e5ef207a03f015102420433cd4b7eb6ef9bf610b15f18bfea2ac4067c9808ed5defcad9ea7038057f7ce7067bf2c14da3224bde8fff7e988e9edd211ff079566060ccb0281780219ffff0320312c6136a9b2cc9d4578e599fea09a938cc56f728097d87b87f20c026568d903660749457f208e44c7892ed4a7b33543ebbff48462c02975bc48e9576fe99b07032979c1b3439312d2f1784c7c9050fbfdd2187c5ca7e0ffcec7bb000515967f81036b18d81f07bf34350834376ebd0de5b91c95e8abc4e60304cf2f0d6be5cedf42038a743f181b87253ff6c4c07628dd1bc109af081546aa9ea192e809b703de27e60388bd650b3725a0bdf69a552e0b226ec4386778a650db17015be1136307fb0ae303bf947c188039b0a4e032e173dd3079ca59501e28ecc71bb93e6880a5e2805a20035e2f2dd58aac5f6f839154eaf1dbfbfbb348859558bca2e72487430d549d80740326b986d092cbd5460c05f0a05dc61d32803ce496293d3a54e3fbba316e7593ab03439d0111639806e0283e0709d2ef6004a2647596eab8b0857c2b075ef085dabb03fb399d5a0c939ba7cd74945971100cb77c7e0278f04b308b5f65a6d079ca1448031d70e9ee585484d211b27887b4a38d6073959939b46b802a76f114d63f85f70903da999e072e8d76894ee5c6ee60a58eb0de943e9574ae11867ba6c735a4faef5403dc294ab888374d37aebc8307c4a7d7fde11dcdab4f4d2817b5e9168848602f2e038cf22c49d1e7e75e88faa77dc6b2a3523725952baf1da60229063eadc079ef600219ffff035c9e9d662e697b279cf2b5f3eea3012cd0679119a7800f2fc7cff372523d912f0326e26ecfbeed1cb901aaff3df1705d517f01457d8a9da2729dc81048ec82b34803b9739327a76b88048cef753672ad8623e451860993992197c3644a658983bdb70375350dee0e985ae1fa74a9ef712926c01b2aa290b5165bc3f46e3bfe222f34470359760a4d0252c622de282be60b7a598c4622cdbf214413c35ec0f1816420f423036a789a22733717bbe797c0e579911e69b81ce0c8e9aa658a0e7a0125617a5ff4036b6b52ce181fc2a0a15f28bc62c8565a97a578f0d260daf768edd1d87ba52d6e033e9def7e1c6dcbbe5c2a3022696c342c2faf7bf545a3c8fb1e4d40d2f2154dae03b8f8530ac55d4f62fdb92d9963c7e1e96321976dccd6328ecf23a9db64aefffe0353838e743e958e7bfb2675da2300b5aa4bf9710a0aa397fc7c524c56d49c452c038046aa9c6bade8d8174a7651983a4fc35eb3d812658964549b85a0af2992990303d45347367c66958a39d9e43e75d4647178afc1ae4c3c40bf7065c6edf2eff081031ffd32f9ca347ec65301abc9f0c97099f0432e932937492354140a79fa2357a50340df0a0abde54ef7ec4593bab8765dc78aab0eccdf4b87ab299afd3a054d3ed6033c9496b85545a57c8bf8427e264ec189b312c73bf51d65dca21ba61d87badce7038175c95aff2c1e1d492157a78b34ce9e2132e53d943c5515bb75af38428d0d3803b804166754e1b4af697b64117df7e321de9f29a8518ea2b54c7387379f6a7bb7032b7c4e4c9971f9ce25f646957e18813ef49e9dd83c1d90e93ae62760d2b4c9600371e4addcafd420bc29ce6abb56681162b83713610f01fc09a0beeb7c3be0612c03851f985545e5c51b717f6b0548777816cbf27db91fae21d9b881b6a9aabe33b203c7df8e1a73e0d7c4efb7ce2ce3514901e5e1d9c6d4c92805843c09d656b0948d0343af0a5fb31f96811273a584ba9e61e1c7a727d1b374dba7ae6f461e98b7c45703938af9d0d3866491679a55c4eb1cd1b74de1bbe1bd167741a812169c4aa3c4de03f51f5833e52900cc50dedbaefdb2b084a940f870fecfa1e5bfea4cf5c9f2053d03489fdf51e54d65df3bd8ebad7884ffa8738d38928a5f6b905b118b37a3e26ba80329e3ebf292dcb936c4a13f484fce615bc30fbab41e0cc5e815dd7994d288ce4803cb769b9e00432a89cf4892a3915b697fa321fdd09bfb3e00dc2e795b201f6d120459393e6080604052600436106103d25760003560e01c80638366e79a116101fd578063bbc0c74211610118578063e7ad9fcd116100ab578063f2fde38b1161007a578063f2fde38b14610ad6578063f5648a4f14610af6578063f637434214610b0b578063f8b45b0514610b21578063fb002c9714610b3757600080fd5b8063e7ad9fcd14610a75578063e884f26014610a95578063ee40166e14610aaa578063f11a24d314610ac057600080fd5b8063d85ba063116100e7578063d85ba063146109ed578063dd62ed3e14610a03578063e2f4560514610a49578063e71dc3f514610a5f57600080fd5b8063bbc0c74214610974578063c024666814610993578063c876d0b9146109b3578063d0d41fe1146109cd57600080fd5b8063a457c2d711610190578063adb873bd1161015f578063adb873bd146108f8578063b62496f51461090e578063b8eb35461461093e578063b94279ea1461095457600080fd5b8063a457c2d714610882578063a62068ce146108a2578063a9059cbb146108b8578063a9d3cd8a146108d857600080fd5b806395d89b41116101cc57806395d89b411461082b5780639c3b4fdc146108405780639fccce3214610856578063a0d82dc51461086c57600080fd5b80638366e79a1461079d57806385ecfd28146107bd5780638da5cb5b146107ed5780639164f9db1461080b57600080fd5b806346f1f5de116102ed5780636a486a8e1161028057806370a082311161024f57806370a082311461073d57806370db69d61461075d578063715018a614610773578063751039fc1461078857600080fd5b80636a486a8e146106d15780636b0a894c146106e75780636ddd1713146106fd578063707789c51461071d57600080fd5b806358881304116102bc578063588813041461066457806358a6d5311461068457806359e000c71461069b5780635a139dd4146106bb57600080fd5b806346f1f5de146105ff5780634a62bb651461061f5780634f77f6c01461063957806351f205e41461064f57600080fd5b80631d777856116103655780632e6ed7ef116103345780632e6ed7ef14610583578063313ce567146105a357806339509351146105bf578063452ed4f1146105df57600080fd5b80631d7778561461051857806323b872dd1461052e578063249ec2bb1461054e5780632e5091031461056e57600080fd5b806310d5de53116103a157806310d5de531461049357806318160ddd146104c35780631a8145bb146104e25780631c499ab0146104f857600080fd5b8063053f9040146103de57806306fdde03146104005780630758d9241461042b578063095ea7b31461046357600080fd5b366103d957005b600080fd5b3480156103ea57600080fd5b506103fe6103f936600461344a565b610b4d565b005b34801561040c57600080fd5b50610415610d9a565b6040516104229190613463565b60405180910390f35b34801561043757600080fd5b5060095461044b906001600160a01b031681565b6040516001600160a01b039091168152602001610422565b34801561046f57600080fd5b5061048361047e3660046134d0565b610e2c565b6040519015158152602001610422565b34801561049f57600080fd5b506104836104ae3660046134fc565b60246020526000908152604090205460ff1681565b3480156104cf57600080fd5b506002545b604051908152602001610422565b3480156104ee57600080fd5b506104d460205481565b34801561050457600080fd5b506103fe61051336600461344a565b610e42565b34801561052457600080fd5b506104d460225481565b34801561053a57600080fd5b50610483610549366004613520565b610f52565b34801561055a57600080fd5b506103fe61056936600461356f565b610ffc565b34801561057a57600080fd5b506103fe6110c4565b34801561058f57600080fd5b506103fe61059e3660046135a8565b6111ac565b3480156105af57600080fd5b5060405160128152602001610422565b3480156105cb57600080fd5b506104836105da3660046134d0565b611235565b3480156105eb57600080fd5b50600a5461044b906001600160a01b031681565b34801561060b57600080fd5b506103fe61061a36600461344a565b611271565b34801561062b57600080fd5b506012546104839060ff1681565b34801561064557600080fd5b506104d4601b5481565b34801561065b57600080fd5b506103fe6113bc565b34801561067057600080fd5b506103fe61067f36600461344a565b6114c5565b34801561069057600080fd5b50600f544310610483565b3480156106a757600080fd5b506103fe6106b636600461344a565b6115cb565b3480156106c757600080fd5b506104d460165481565b3480156106dd57600080fd5b506104d4601a5481565b3480156106f357600080fd5b506104d460115481565b34801561070957600080fd5b506012546104839062010000900460ff1681565b34801561072957600080fd5b506103fe6107383660046134fc565b61169e565b34801561074957600080fd5b506104d46107583660046134fc565b61174f565b34801561076957600080fd5b506104d460065481565b34801561077f57600080fd5b506103fe61176a565b34801561079457600080fd5b506103fe6117de565b3480156107a957600080fd5b506104836107b83660046135da565b611849565b3480156107c957600080fd5b506104836107d83660046134fc565b60106020526000908152604090205460ff1681565b3480156107f957600080fd5b506005546001600160a01b031661044b565b34801561081757600080fd5b506103fe61082636600461344a565b611a52565b34801561083757600080fd5b50610415611b59565b34801561084c57600080fd5b506104d460185481565b34801561086257600080fd5b506104d460215481565b34801561087857600080fd5b506104d4601d5481565b34801561088e57600080fd5b5061048361089d3660046134d0565b611b68565b3480156108ae57600080fd5b506104d4600f5481565b3480156108c457600080fd5b506104836108d33660046134d0565b611c01565b3480156108e457600080fd5b506103fe6108f336600461356f565b611c0e565b34801561090457600080fd5b506104d4601e5481565b34801561091a57600080fd5b506104836109293660046134fc565b60256020526000908152604090205460ff1681565b34801561094a57600080fd5b506104d460075481565b34801561096057600080fd5b506103fe61096f36600461356f565b611cdc565b34801561098057600080fd5b5060125461048390610100900460ff1681565b34801561099f57600080fd5b506103fe6109ae36600461356f565b611d31565b3480156109bf57600080fd5b506014546104839060ff1681565b3480156109d957600080fd5b506103fe6109e83660046134fc565b611dba565b3480156109f957600080fd5b506104d460155481565b348015610a0f57600080fd5b506104d4610a1e3660046135da565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610a5557600080fd5b506104d4600b5481565b348015610a6b57600080fd5b506104d460195481565b348015610a8157600080fd5b506103fe610a903660046135a8565b611e5c565b348015610aa157600080fd5b506103fe611f0f565b348015610ab657600080fd5b506104d4600e5481565b348015610acc57600080fd5b506104d460175481565b348015610ae257600080fd5b506103fe610af13660046134fc565b611f45565b348015610b0257600080fd5b506103fe612030565b348015610b1757600080fd5b506104d4601c5481565b348015610b2d57600080fd5b506104d460085481565b348015610b4357600080fd5b506104d4601f5481565b6005546001600160a01b03163314610b805760405162461bcd60e51b8152600401610b7790613608565b60405180910390fd5b678ac7230489e80000811115610c0e5760405162461bcd60e51b815260206004820152604760248201527f4d6179206e6f7420627579206d6f7265207468616e2031302045544820696e2060448201527f612073696e676c652062757920746f207265647563652073616e64776963682060648201526661747461636b7360c81b608482015260a401610b77565b6040805160028082526060820183526000926020830190803683375050600954604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610c78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9c919061363d565b81600081518110610caf57610caf61365a565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610ce357610ce361365a565b6001600160a01b03928316602091820292909201015260095460405163b6f9de9560e01b815291169063b6f9de95908490610d2b90600090869061dead9042906004016136b4565b6000604051808303818588803b158015610d4457600080fd5b505af1158015610d58573d6000803e3d6000fd5b50505050507fa017c1567cfcdd2d750a8c01e39fe2a846bcebc293c7d078477014d68482056882604051610d8e91815260200190565b60405180910390a15050565b606060038054610da9906136e9565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd5906136e9565b8015610e225780601f10610df757610100808354040283529160200191610e22565b820191906000526020600020905b815481529060010190602001808311610e0557829003601f168201915b5050505050905090565b6000610e3933848461209c565b50600192915050565b6005546001600160a01b03163314610e6c5760405162461bcd60e51b8152600401610b7790613608565b670de0b6b3a76400006103e8610e8160025490565b610e8c906003613739565b610e969190613758565b610ea09190613758565b811015610f045760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201526b6572207468616e20302e332560a01b6064820152608401610b77565b610f1681670de0b6b3a7640000613739565b60088190556040519081527fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc906020015b60405180910390a150565b6000610f5f8484846121c1565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610fe45760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610b77565b610ff1853385840361209c565b506001949350505050565b6005546001600160a01b031633146110265760405162461bcd60e51b8152600401610b7790613608565b8061109957600a546001600160a01b03908116908316036110995760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b6064820152608401610b77565b6001600160a01b03919091166000908152602460205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146110ee5760405162461bcd60e51b8152600401610b7790613608565b6014601b8190556000601c819055601d819055601e81905590819061111490829061377a565b61111e919061377a565b611128919061377a565b601a8190556014101561114d5760405162461bcd60e51b8152600401610b7790613792565b6019601681905560006017819055601881905580825590819061117190829061377a565b61117b919061377a565b611185919061377a565b6015819055601410156111aa5760405162461bcd60e51b8152600401610b7790613792565b565b6005546001600160a01b031633146111d65760405162461bcd60e51b8152600401610b7790613608565b601684905560178390556018829055601981905580826111f6858761377a565b611200919061377a565b61120a919061377a565b60158190556014101561122f5760405162461bcd60e51b8152600401610b7790613792565b50505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610e3991859061126c90869061377a565b61209c565b6005546001600160a01b0316331461129b5760405162461bcd60e51b8152600401610b7790613608565b620186a06112a860025490565b6112b3906001613739565b6112bd9190613758565b81101561132a5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610b77565b6103e861133660025490565b611341906001613739565b61134b9190613758565b8111156113b75760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610b77565b600b55565b6005546001600160a01b031633146113e65760405162461bcd60e51b8152600401610b7790613608565b600b546113f23061174f565b1015611468576040805162461bcd60e51b81526020600482015260248101919091527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e6064820152608401610b77565b600a805460ff60a01b1916600160a01b179055611483612cf6565b600a805460ff60a01b191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a1565b6005546001600160a01b031633146114ef5760405162461bcd60e51b8152600401610b7790613608565b670de0b6b3a76400006103e861150460025490565b61150f906002613739565b6115199190613758565b6115239190613758565b8110156115845760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e322560b81b6064820152608401610b77565b61159681670de0b6b3a7640000613739565b60068190556040519081527ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de4100990602001610f47565b6005546001600160a01b031633146115f55760405162461bcd60e51b8152600401610b7790613608565b601254610100900460ff161561164d5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606401610b77565b6012805462ffff0019166201010017905543600e81905561166f90829061377a565b600f556040517fba61a96074b3d636edeee92caddc86293c917d5b6818b7d3698bb52e02ec86c890600090a150565b6005546001600160a01b031633146116c85760405162461bcd60e51b8152600401610b7790613608565b6001600160a01b03811661172d5760405162461bcd60e51b815260206004820152602660248201527f5f6f7065726174696f6e734164647265737320616464726573732063616e6e6f60448201526507420626520360d41b6064820152608401610b77565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526020819052604090205490565b6005546001600160a01b031633146117945760405162461bcd60e51b8152600401610b7790613608565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146118085760405162461bcd60e51b8152600401610b7790613608565b6012805460ff199081169091556014805490911690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c90600090a1565b6005546000906001600160a01b031633146118765760405162461bcd60e51b8152600401610b7790613608565b6001600160a01b0383166118cc5760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610b77565b306001600160a01b038416036119245760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401610b77565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa15801561196b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198f91906137c9565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af11580156119e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0691906137e2565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6005546001600160a01b03163314611a7c5760405162461bcd60e51b8152600401610b7790613608565b670de0b6b3a76400006103e8611a9160025490565b611a9c906002613739565b611aa69190613758565b611ab09190613758565b811015611b125760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015269207468616e20302e322560b01b6064820152608401610b77565b611b2481670de0b6b3a7640000613739565b60078190556040519081527f53c4eb831d8cfeb750f1c62590d8cd30f4c6f0380d29a05caa09f0d92588560e90602001610f47565b606060048054610da9906136e9565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015611bea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b77565b611bf7338585840361209c565b5060019392505050565b6000610e393384846121c1565b6005546001600160a01b03163314611c385760405162461bcd60e51b8152600401610b7790613608565b600a546001600160a01b0390811690831603611c965760405162461bcd60e51b815260206004820152601a60248201527f54686520706169722063616e6e6f742062652072656d6f7665640000000000006044820152606401610b77565b611ca08282612f35565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b03163314611d065760405162461bcd60e51b8152600401610b7790613608565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314611d5b5760405162461bcd60e51b8152600401610b7790613608565b6001600160a01b038216600081815260236020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314611de45760405162461bcd60e51b8152600401610b7790613608565b6001600160a01b038116611e3a5760405162461bcd60e51b815260206004820152601f60248201527f5f6465764164647265737320616464726573732063616e6e6f742062652030006044820152606401610b77565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611e865760405162461bcd60e51b8152600401610b7790613608565b601b849055601c839055601d829055601e8190558082611ea6858761377a565b611eb0919061377a565b611eba919061377a565b601a8190556019101561122f5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323525206f72206c6573730000006044820152606401610b77565b6005546001600160a01b03163314611f395760405162461bcd60e51b8152600401610b7790613608565b6014805460ff19169055565b6005546001600160a01b03163314611f6f5760405162461bcd60e51b8152600401610b7790613608565b6001600160a01b038116611fd45760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b77565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461205a5760405162461bcd60e51b8152600401610b7790613608565b604051600090339047908381818185875af1925050503d806000811461122f576040519150601f19603f3d011682016040523d82523d6000602084013e61122f565b6001600160a01b0383166120fe5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b77565b6001600160a01b03821661215f5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b77565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166121e75760405162461bcd60e51b8152600401610b77906137ff565b6001600160a01b03821661220d5760405162461bcd60e51b8152600401610b7790613844565b6000811161225d5760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610b77565b601254610100900460ff166122f0576001600160a01b03831660009081526023602052604090205460ff16806122ab57506001600160a01b03821660009081526023602052604090205460ff165b6122f05760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610b77565b600f54156123c3576001600160a01b03831660009081526010602052604090205460ff16158061232d57506005546001600160a01b038381169116145b8061234257506001600160a01b03821661dead145b6123c35760405162461bcd60e51b815260206004820152604660248201527f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60448201527f72206f75742065786365707420746f206f776e6572206f722064656164206164606482015265323932b9b99760d11b608482015260a401610b77565b60125460ff16156127bf576005546001600160a01b038481169116148015906123fa57506005546001600160a01b03838116911614155b801561240e57506001600160a01b03821615155b801561242557506001600160a01b03821661dead14155b801561244a57506001600160a01b03831660009081526023602052604090205460ff16155b801561246f57506001600160a01b03821660009081526023602052604090205460ff16155b156127bf5760145460ff1615612588576009546001600160a01b038381169116148015906124ab5750600a546001600160a01b03838116911614155b15612588576124bb600343613887565b326000908152601360205260409020541080156124f957506124de600343613887565b6001600160a01b038316600090815260136020526040902054105b6125635760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b6064820152608401610b77565b3260009081526013602052604080822043908190556001600160a01b03851683529120555b6001600160a01b03831660009081526025602052604090205460ff1680156125c957506001600160a01b03821660009081526024602052604090205460ff16155b15612695576006548111156126315760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b6064820152608401610b77565b60085461263d8361174f565b612647908361377a565b11156126905760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610b77565b6127bf565b6001600160a01b03821660009081526025602052604090205460ff1680156126d657506001600160a01b03831660009081526024602052604090205460ff16155b15612740576007548111156126905760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b6064820152608401610b77565b6001600160a01b03821660009081526024602052604090205460ff166127bf5760085461276c8361174f565b612776908361377a565b11156127bf5760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610b77565b60006127ca3061174f565b600b54909150811080159081906127e9575060125462010000900460ff165b80156127ff5750600a54600160a01b900460ff16155b801561282457506001600160a01b03851660009081526025602052604090205460ff16155b801561284957506001600160a01b03851660009081526023602052604090205460ff16155b801561286e57506001600160a01b03841660009081526023602052604090205460ff16155b1561289c57600a805460ff60a01b1916600160a01b17905561288e612cf6565b600a805460ff60a01b191690555b6001600160a01b03851660009081526023602052604090205460019060ff16806128de57506001600160a01b03851660009081526023602052604090205460ff165b156128e7575060005b60008115612ce257600f544310801561291857506001600160a01b03871660009081526025602052604090205460ff165b801561293d57506001600160a01b03861660009081526025602052604090205460ff16155b801561294b57506000601554115b15612acb576001600160a01b03861660009081526010602052604090205460ff166129eb576001600160a01b0386166000908152601060205260408120805460ff1916600190811790915560118054919290916129a990849061377a565b90915550506040516001600160a01b03871681527f55678e47d0a699d3ab99b0184c4ff14f2246ba80522deb921aa0c8823578c44a9060200160405180910390a15b60646129f8866063613739565b612a029190613758565b905060155460175482612a159190613739565b612a1f9190613758565b60206000828254612a30919061377a565b9091555050601554601654612a459083613739565b612a4f9190613758565b601f6000828254612a60919061377a565b9091555050601554601854612a759083613739565b612a7f9190613758565b60216000828254612a90919061377a565b9091555050601554601954612aa59083613739565b612aaf9190613758565b60226000828254612ac0919061377a565b90915550612cc49050565b6001600160a01b03861660009081526025602052604090205460ff168015612af557506000601a54115b15612bb7576064601a5486612b0a9190613739565b612b149190613758565b9050601a54601c5482612b279190613739565b612b319190613758565b60206000828254612b42919061377a565b9091555050601a54601b54612b579083613739565b612b619190613758565b601f6000828254612b72919061377a565b9091555050601a54601d54612b879083613739565b612b919190613758565b60216000828254612ba2919061377a565b9091555050601a54601e54612aa59083613739565b6001600160a01b03871660009081526025602052604090205460ff168015612be157506000601554115b15612cc457606460155486612bf69190613739565b612c009190613758565b905060155460175482612c139190613739565b612c1d9190613758565b60206000828254612c2e919061377a565b9091555050601554601654612c439083613739565b612c4d9190613758565b601f6000828254612c5e919061377a565b9091555050601554601854612c739083613739565b612c7d9190613758565b60216000828254612c8e919061377a565b9091555050601554601954612ca39083613739565b612cad9190613758565b60226000828254612cbe919061377a565b90915550505b8015612cd557612cd5873083612f63565b612cdf8186613887565b94505b612ced878787612f63565b50505050505050565b6000602254118015612d125750602254612d0f3061174f565b10155b15612d2357612d23306022546130b8565b60006022819055612d333061174f565b90506000602154601f54602054612d4a919061377a565b612d54919061377a565b9050811580612d61575080155b15612d6a575050565b600b54612d78906014613739565b821115612d9057600b54612d8d906014613739565b91505b60008060028360205486612da49190613739565b612dae9190613758565b612db89190613758565b9050612dcc612dc78286613887565b6131e2565b60205447908190600090612de290600290613758565b612dec9087613887565b601f54612df99085613739565b612e039190613758565b905060006002602054612e169190613758565b612e209088613887565b602154612e2d9086613739565b612e379190613758565b9050612e43818361377a565b612e4d9084613887565b60006020819055601f819055602181905560225592508415801590612e725750600083115b15612e8157612e81858461333c565b600d546040516001600160a01b03909116908290600081818185875af1925050503d8060008114612ece576040519150601f19603f3d011682016040523d82523d6000602084013e612ed3565b606091505b5050600c546040519197506001600160a01b0316904790600081818185875af1925050503d8060008114612f23576040519150601f19603f3d011682016040523d82523d6000602084013e612f28565b606091505b5050505050505050505050565b6001600160a01b0382166000908152602560205260409020805460ff1916821515179055611ca082826133ee565b6001600160a01b038316612f895760405162461bcd60e51b8152600401610b77906137ff565b6001600160a01b038216612faf5760405162461bcd60e51b8152600401610b7790613844565b6001600160a01b038316600090815260208190526040902054818110156130275760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b77565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061305e90849061377a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516130aa91815260200190565b60405180910390a350505050565b6001600160a01b0382166131185760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b77565b6001600160a01b0382166000908152602081905260409020548181101561318c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b77565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016121b4565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106132175761321761365a565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015613270573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613294919061363d565b816001815181106132a7576132a761365a565b6001600160a01b0392831660209182029290920101526009546132cd913091168461209c565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061330690859060009086903090429060040161389e565b600060405180830381600087803b15801561332057600080fd5b505af1158015613334573d6000803e3d6000fd5b505050505050565b6009546133549030906001600160a01b03168461209c565b60095460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af11580156133c2573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906133e791906138da565b5050505050565b6001600160a01b038216600081815260246020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67469101610d8e565b60006020828403121561345c57600080fd5b5035919050565b600060208083528351808285015260005b8181101561349057858101830151858201604001528201613474565b818111156134a2576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b03811681146134cd57600080fd5b50565b600080604083850312156134e357600080fd5b82356134ee816134b8565b946020939093013593505050565b60006020828403121561350e57600080fd5b8135613519816134b8565b9392505050565b60008060006060848603121561353557600080fd5b8335613540816134b8565b92506020840135613550816134b8565b929592945050506040919091013590565b80151581146134cd57600080fd5b6000806040838503121561358257600080fd5b823561358d816134b8565b9150602083013561359d81613561565b809150509250929050565b600080600080608085870312156135be57600080fd5b5050823594602084013594506040840135936060013592509050565b600080604083850312156135ed57600080fd5b82356135f8816134b8565b9150602083013561359d816134b8565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60006020828403121561364f57600080fd5b8151613519816134b8565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156136a95781516001600160a01b031687529582019590820190600101613684565b509495945050505050565b8481526080602082015260006136cd6080830186613670565b6001600160a01b03949094166040830152506060015292915050565b600181811c908216806136fd57607f821691505b60208210810361371d57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561375357613753613723565b500290565b60008261377557634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561378d5761378d613723565b500190565b6020808252601d908201527f4d757374206b656570206665657320617420323025206f72206c657373000000604082015260600190565b6000602082840312156137db57600080fd5b5051919050565b6000602082840312156137f457600080fd5b815161351981613561565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60008282101561389957613899613723565b500390565b85815284602082015260a0604082015260006138bd60a0830186613670565b6001600160a01b0394909416606083015250608001529392505050565b6000806000606084860312156138ef57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212201d628393c3f60a5ea9bf95d3a3c9b4ea218ff2d3bcd610ec22ff122fa895b71a64736f6c634300080f003303a7a9a84c1e13379d9d71e68c53814d6bcbae41675b9714f7b2f4a40c7b30439f0388f8d001c7af33d63cbe39883d967295c9377ea154bdca17155f7f282ae02ffd03c5d55d91de3a148dfba197a3d4066a2c3aa0fc59ba82aef17cc219c60ad89f9f03cd3fac870645f9ae0f88116e5207e84447d380f0743e67727f5c714b3e8cf08a03012ce2621518d698ef563bc4587cead62ede7f8de5f459c318ce4a30d8c389e80354ba4e4df265401c44f238effd6dd5bf1cc10080e1b32de7520e1f75c9c4326c035ddd8088df09a85e4ad15714612b01edef5f8bed311054a52ce7ebf32f6241ec0343541cd9c4e35a15828e0dd9b21b9d217f3f88812dd4d789f5abc64048b786cf00581f02868dfd534ee59e5680598b8948c08ce2c8a98edcf74ac3a78c7ab1eb7a494a1ec4018088010cb427c400581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db94b034f086f3b33b68400000000581f02222df4eb0e99731a20706386f37b3bc14307301b2d525471a19f02d739854a0e1f92652d1e2434c95d02191028037fe79d850a0d156e148f1e1734cb0424eba8c9b742371eb99dffc4efddf7daf703d2ebe6ebede86e5c0e04e25cc11259c0e7c19a7e4fd2b868e67fb50e31fa837d03feedc33f12d0303e152b1a1de9a79c60b91c124d1a504b84e6c167ba3e86cc4303769112233526fb49b869089f3f61a5cdb01165ab659995d64745848ac2ed60e203150f67d1008a87cbe6159636509908ee7314520f185e9560f1b0160eb61ad88f037c41b5567d23420080d7151ff8442823ba17bc45a305d9609c63025f478cbd3b0384c61dc924748da3ae2bdbb7bad88681e951aab57227cf3746e4011e68a3693603c84e6b13663bd8e253bc4ff5e27fdb92dbbb53f9037370598637546b403a0ff00219ffff03a07f7bcac752bce00af6ac3016a2e60a5934ca0f0d0762967b6186c4c5e987fb0338c9c5a87aa446d95fd2f2247817067b394ae4cbaa42205914d63fb487c1e0eb03c5d9b78b637c1d9a1e913b9098eafc33bea0e166fb6e0dcb2b0706f04495a43d032ecccccfd2d9fb86b8d3e55ee798eb70951022f8ef7d57c4c4d93de94ee2c64203a3d2f0e3f09093a1fc2d2e5c2f65403fd1b1a37833ba350a76e008a98e1dd9a303f75761eebaefc0f3c1c76294b93d01be673029a0dbbe004760d2f95b8b20b439039bc549e7490b0795fc2ea5821f1406e684480cf1a5d5ccaf723f2faaa4e36ed50370d1fd0941758727c7ecf3d7f46b508c20b2ce361b4584822e7b348e38ba60e503c60d24b253c4f4d6abba048e93c4123488d9f0c6a243b720a7629fba09512681033ef39eaaa6cd6aa8df93b66601edfce0f6115437176222cd8c764e704f79b64700581f023b4cdad62b2b73b7af04e42741345f12462ff1ce7dd35a08bf64869347a84a2f7739a255422dce39b200581f027b921dcaf266107c732ebd0c3a622b495d4546d153f860ef6e34c41831ce4b073eec15f43d6dc8c7172c00581f0384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e0410500581f03db6bee082b442391990cfce579ecdc2e41e58495a0765164b883eb1f3fe05820fffffffffffffffffffffffffffffffffffffffffffff2865cd920c3106852950218280302b2694f6b57d018db7c370ef7b14bdbbde18c4abdae187bf5cbc82f792fdb4a0219380203310e01598ec23434160afc8b1e872c7521e92990c7231e59e6a6ebdc0c0b1d8503969c0ee48868cbe30f3d8b6203ca6ef404b3af2ec1ac5ca06722a6c9742aef6703e9806ed9806c53154092a4d8e81defe4eaf5acebc69bdf492772163df099f46d03a7f70e23d0619ab7d9f5fcefa18493724f21bdfd78f9c59327ab9c6b4b7aabe6039c287dd420205f0dda6b9bb6d8e814421088c891b70c9f22ada7898600e9bf0603975004c3d7dc0884bbdd28b73220a5bf58ccd3e15f9356162cf91974a932d89d03498990d6544d9350ee00ad479e630aa663848c16f5f6492ddfd43cb89d1aa86f033e3773ba1ba53fa0ed1fc31a8e685c4760297c0af26c31ca9df18822047801a90219ffff03d3972baf7e3c66e95f70f46cb101384f0937cbf9a2a3b063fa66addd8238119f035cf1572df4e3725be697808998bc64044e928ef535f7d644677263fc0f040431030e28fe2af1f83a2974d836e092a35809fc5aa6dcdac91f255ab433c20fb99f1a032b0b07ede977b1d9368fa13ba554ef247be57c63d169728d5d360a069c81a0a400581f02a82e0bd69a6c30c4fa7d3bcfecad30067a5f27dce25bd71c6876cf750feb4adaca9d7902f2d92cbbdf00581f02aef40f0413ad7d33f458e025f6ab3d319e7ee9559ebf69760ce17b1e95d04c033ad886cfcf7022e794000003187d784738dacfa17626c4eb88cbb9deadabb58f36fdbef021b9f4a183a0487f00581f02c1b06f74e9d87ba8a9c443d80c22d01693789cc78f9002378a434549b92d4ab8ae8112d6dec45f921300581f0226df487bb7a30297cbb6214c582b5bad4aff8153c2187ce257230d43ab6e5820ffffffffffffffffffffffffffffffffffffffffffdcef828ebe8e7c326ff57d00581f02240f30325d87579b5ec9c3021453ae8bb87db353c4fbc3a215cc0ea41f864c045552e57cfd5ebdfef80c4b0396624d5db0c563782b81eeac64920b71e763a14f38dbf72dd3d027272bb0ad9c0219d50a03f7e0114316c1da8715a48ecabadd73d79bb87c88b0a0ef1e7dced1ac0576479803b53920e5045b8f985623bb2b4dca0e334fc199b329065640ef3145c4c363d6af0309636bea74e2fe47491ead2b84ec99492f61a7f94ecadef6dde81a8e29da447d032b6c848d743c51f21be40585e2b9d4cc368b9c6d7fa2f3e6383ba65877a2d74c03eb3aaae091643fd19c515287380d71ee2c4a3ce253f45b291f3434fbb4d7ccc403cff646ebafa0df48b01cf0997f5c4d5c3a996d2b71531211841efee314ab8b0603aa96fc9eef85a95b2c31e9db9636796d1d044ea6541263a9c98c1483fee86646035c75129692be72046ac2af5e8c085049cafb331881165026a6d144cc2d0445d403561f8e035a4f5a703741e488b9e326be890a1f7d2e7a338a1907890a51bfd6bd03b21bce9820b0f31e1456303e0e73ebcc62179942bd10071d6bce5d0825cb7eab033647e18043a4a234fe462a5679d637f4bf7618ae600a24397e2fad20a9cee4dd0219ffff03d34c618947805a4d35bb1f33bd34ba43d6b8c3f6a9b452935dea1d5231759b4703e5ab21ace135c5fd3f71d7fcbc28fa98d379b3dd4f486dd84ac383848d37867703507228a84843690edae074487462b01a3d9c9d208bb41d5974bbeda926259fc0031d8ac65c6de031ec02adf163b94f7f04ec1a22c81a6169dab7ddaa2f42bb5309037f60ddfc7b8b218cfa104a46d0b2594f6e2800eb7552b037edc8e0b47a21c4e003057b72be316decd5a34b6a0a673be8c350f8448e8f2f06133a5016f66e69ac4503f6b76f6ef4ffd854d82f1228c0c62459bc71004e1c7f5eb8a937828ada5f83d50328cfc2c5ff590fcf2cd4f6f9417d8301d200c5e7df41a905355f74ca783c0adf03805f676c2056444be8b8b3751a76c498ae9e406bf2260d1cf709a15aac09a5b5032d9927169dfae8831ee4e1a559cb80f44639ede0e04674e1aecd26f0e6d44dcf03c809080ee635c77b9fd7da541572defe79f416aa4af7a1d9f3b26bc9e8c8580500581f02b3bcbc40c971036942eca5550b23abccc425465c2cfe636d2cd8ca53947d44012a9e1c00581f02f6b9929f8c78e9102893271ebae161eb8994211af0f91e455813a719a7fe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e243adab35918ea8fe3ff581f719b1b584ae2c47346d21e4cfb0bce19c689b4100581f024eddbc1d56e757796230847a18ee882bcac84ba9d9415052202aa16cb9534af6aa3352a4cdc29f11c600581f02cbc32e8891f4f4b9b74ca7828853a50ae3306dafaffa8b990ce7f20864f24a0e690e9af2b6b6626f0a02190b09030718f50f17c84256c81e54f0c4252f20e62826fa9f31c54c08f1b445c31482de03208118ccd10da945522640a44a8738dde7aacebe9c959c4109adf9a3e5ccbc4e03662d7b99ae892f809e5deb18c2ef88e42d83b5ea67e32efe764db28e622f2cbf0303a9582d0205d594a5554c509923e2b582aa06b63ac2523088ef398d8fe542300324542a428dc6f5766a5df540994726094a89b4d04bfbbe9d050f8b44464711f803cac01573fc53c343231b3e739f1cb0aed81e08041b46fcd01f8c85ed08894aa803ae5951a7dee47b7f20b8f3bbda2c571a23d8679611c0d9e857a71d82f5433e61034a302fcaf36778a16a3eba9fd75424bd0bedd50dd522f1bca906ec879c084c410383a56171ff75b1446e3524d426676d43b6fceaecdc3f9c859ded8cb927a0214f032ff5050bd41d502afac2c2c3d39ba453e1d002ec0abac5c2f116d45e44648e5803fbebea1495d7d7184e66d898beb990412bdf66a70ef15152676061c3556c51150219ffff0374770d88f4d32e55de7674c2995843d558d1ba8be4a495c3eebfff6ef0a3d9230219ffff031ff163864c185b35ca2b1a3e89232c05863e28284128bfe6498f3eaeb9830de103529b3fd096641642a950f72467d372adf35bcbdd293eed35f23051b029c2802803f44d71ec7516b9925e9f1d800537078e8a9ddd97f5ce27957283fa6b2ee10f1c0390c6a216a0834ff2edd03242d5e85f5c62eb126fa9cb14603604c30273c3afcc030cf0e9714f22b5390a7fe6373ea9e2e283501eb8462f64021ed7c2b66f5fde7c03613780e1e3118b95a5bde94adc5f3f26306f4881a9d6e1cbf466508134f6fc34031a5dc531a856e1ee47e4f64d67cc06ccb54e496cbf60d067304a983b0ec84a3003e52bfafb474e2b2365f83f5a2cade32753714e545cdfabb5afa4eadba3dc9be903fe0a53c427957c1d17089e5bfad077027bc3ed51e6b9aa7b5294935fedd871b1030067357f3f5a40253b061968c1ff8fbc0f6868add34601ae311950218a578284035fdaecfb17a6b37f183ce72dfd6904f7fa5a4fa727089204e642077a04966aa503b80bfb8ac17c534a14a0af4b9231694c082d07a843791bcfb1231335adf2878d036d024b0a37412340000e49e817e6619e83f61e0a150aefece36cadc0e28dd84f03e38135bddd1383e922b739c9465ef675badd8bc35f65c20cb3068ec67789299c032b21bc0543a94b08995415e5927e93c2f304c86a2483e745ab7e3a9810a085ff03b24e7459e7669935e1b6cd4f314a135eaba3da7d56db3f9f648a849a603fd08a036e60320f4694da37d8fec427487711ab3de7fbd267957cfb606f05d528cc43f603cfdb945fc48d4c9f3c8d6ba2c12141eef4a4841c577af00bbfd05fa43d7b14da034b09598464faac0ed5a2800e48cf1dfa4541cff9b105f9d36c1c86f79f75d99403d286fff1879ac15d2a0889e360d90843224f6b2b891e026bb1e942b549905ad303c4e150dd213fc23b7d48b45ae3adfcd0fa6bb7478213a72c625ef26882b67f5e03baab792ce0365b6812b37a3ef39ee3ab6f40b90bdee9fd790b02bcbb41af4e7601410f03d9dd4aa1ceb142861bf20b22241578559f1b63a128fea9d5bc5d8b1e6199b8c800581f02d2b5608754e1b36784937c48dc00871358a580f133809b0af45a00fdae954a08ebe8b7c449d82ef98a00581f0298d08b87df719a38e36cddf11c37a9f6afce2346a40477d17509a2479f544a6ea669b345e9158239f300581f025667af1be0a936fdeed52df16cc84021ec47be9f6da367f9839702c72acd4a692816c063882d0a0db500581f0261bee00baff8d250999d4583385d885d2a9f7d33a2788277c5d88f2872d544012a9dbe00581f0254b2063adaefbc611779c4d689c1449986d3a75b67b247a4005fe3ecbc684a14620425c665b43bd04200581f025ed3913d75309ed803342a399cf2a7c8302a6d0726483ea0dc27140118a65820fffffffffffffffffffffffffffffffffffffffffff410afea3bfa6f28d3fd5c00581f025a3454c43b2ef0ab450cfe70b1e700d694ddd64f3ec284f1c08e1f913b9f4b019c7a983f9cd95705b94d02194d9203af944c8250b48d9ef5e6a776e14d43b81748a44c17a08f440c2d006217f7a97903a77effbff3cde08d8fe3e1d30f4a0795f4fbce3b65ef9ba0214b7c63a3a89baf0219ffff031ec5fba32f753ce8c30f00d71c6dad325ef73a6cc646d0e1c1100842fb36a9fa03639c7b0b3b17d09e41051db3dee64c0a1cabec3263820fa7b72b0fe8c036c253031e9d11af904b296e509a1af68c95f7a30e30b1e1624ceaf12f51c7dc905af217035697835ed624303dbdf31fdfb532221844ea919ba81ace055bc911eeec8a676b0390fac055f445b16c45c91472ff5113916a273257e8b8d44b560f2c8acb29620903bcd061522ab370b6568e68a1a0e77cc52bc0e64d4915eb88234ada316375489703c605e0a0718a2d17465a7ea336aceffd7da61e999f52a83f7581e51dfcb7a1bd03c44a06f63eaa7b30ee2f83652144441c6cedc711e98066f524276ff9e11a9bf8037605644cae0f7dcc0fcea2cc5a588e525649e05fce5d2ba3268cb37736a6fa3d0356feeee8cdb64db66ad8ba1160ac3a070bb208cd8b2e27ade33537006e5be658034d6d3977b44e7a8d207a159dcfe7487289215872b9c27491c98a9dfc0200b41400581f026f4842e11c641b1f0051c483597ce8c919987bf88b8fbe4ba4cced7db9f14a1e05d0f0ac897bfe72d500581f02be8c20b1c9430f33f5565e4df2b14389259c1e62beb510c0f2a96472faaa480cfc41fca187cf4300581f02a3659712cc13d6484433b0aed85efedb11bad41e6e4e8dfb39e55aaa6e514b024bfce7fe69b1dcf77b1c00581f0286a37dc294b72f843b32e1b9c3c9620134885d7ef29b9f091240aff915814a5092bd38f59b92e165890219b0200364e93acc9b46c2db5324947c7bbf323ef93811034de76a0b07ae88f655a143b503dc162c891937bbabd2c62c47188522651931f9aa7751a931b0615f062956d85e0397d305f321e85765d1842eb51393646b4cd62f0ffb43a19474f75f6b9f431fa00311ae5e0784e974f8c6aa48848b3c43f666cf9968c484884da6dc6d2138c8428b0326c8ea6b3507b2308b329b751281c87de0582b0b72c0226754cbd853e56e9a2b0219ffff0397359ea6fd6a944cce26a54577a2998d35f1b615d33af19ced0fd2fe5605996203f777b4616d83c71279318eb5c3f895717e45f8f318388ef1bf41aac8b3771a7103d89c6b01cf5fa72e126b275493c10fb3ef6e1ae632486b9222d6f3e386f009b60219ffff0306d1f0b273f4ef0c2237e4c8f12de7809da663673304784197076aad38806869036c55554b90795b6443c52e51571797cd13aadec971f97598684fb5858b7f8821030f5c1d190a92ed058e47e9b5a912fb782a9a332fa9650efae536251fc1ae02fa031df86d7da484139370e84131e6047689449408ddc28aa04860e9dc3374442fd903162c77527c314082df19d86ee1d9f8752835f54708ecf1425da5d74d541782a203b82e9cc02497ad8ffaf681bf68b5241b4b7e89f0cb5208af7c04760d5de2c77703d9b639f56dc6b7bb28d716dba1c1a18b3dc3dab58fe9d734653194c60ab0382f03dd939da7e19ac3b36180cceba5404c6a27ad801b80f356e0cf9623c1cbd559d40324879926a3702a5d6a486ddc3cf13fa112b64b96c9164324f5611aa311cc03a003ec2530e61c68f94f3b63c03fd4b99cdb1146cdf4f71361cef318400a42d9e4f70350abb3b205f0ee81ed8ebcc97dbe7f19deed6fea66a521cc6f9a869f9d93df5d03f4a6696bb2be3e4b612360a6cdadf7fd32052b13478f1b2b596dbe75ea2dfdb50328143894ed57164849d7e1e35e28ed78c673bf242d51346b1150a21c5f3745b500581f031f53a5ac92a936d808143caa0f043e1cd44d4434f7e9a1c327b6dfebe9704a14c29fce10895ebc8fca00581f037fe900956e448167857e14324060c07c6fede26bde7aced1c493f316f4a04a05106dea3dddab2940950219030000581f022e9473387ebc95823a8e8fc04959f31c5d40ff0bd6532874b2b3b058e1794c0337cda0e9d4197a2c4c000000581f021ccbc0f2878bfb8bf8b761a093e0982bd231d5ea42c42734b11fb1ef9e774a685ad699963a58df72ba00581f0204474f6ae7b8c697f85864e82cd628f5127bd0900c2c4d1abeb4659bfc7f4a0f5eb47753d1c3a8ab1a00581f026c12190a173eb920878f6efe87a11c6f82312ec02ca78dc2bcc687d4342d4a1e0d50fcb34536674d0600581f02519eb509354fd953ad4ffc79feba5634ba722c8c2e068697220584a56e454a17717e72cca397b8094602193b0103bcfb6ea3d4d8a800bfc069012f8f206599ccc54678de589033d64b0ddde6525f03d13cf6708d5f905d5ba1cd5aaa76fad4060fa1f40bb3f95e6486850be422c206030024e4634df2e4005b7337eabb0d4937cd04803efc2aff4f47b3e478f3600f9003837443a952e317779031035246a1f31ca5ba00430eb56cf29d42327cb24f0be7035a4595def74fa9c79a5edd6d79cc5f517e56a75abb2be3a615253188152a9c19037daffe6d9b3d3cc6880894c7f972785b25974ceee1253af8081e2d86d6af4bb20337f2be51e786310c8125f6547981669a262b584d165cfaedf62af5015d70f7010219ffff03d00306267457a2e1fc48a18cfcb5867b6d7e70f93b2ca1371c7f492a938257460361a19a9b753dd2561454671d9c6b22bd5b1a947a1f283264cc782f7c8f3b2a3f032a1fd08012bf46f88091da3873e430e8d465d702fc5018efc6f371b7914c999103a707e5e7f7a31adc62f49e419516e031fe82e37df58fe95c1f1a557f5ccc3fb2036811240045dc75897f3346421b3b26d329e78c5401befe39f86b646f5f8c4ff003591fba2b90a338bd9324c0360fc97bed7f25111cfc563053c23e6645b1d71fd003acd91c4de281be45b8f8e34fe6c19d2c9e88a3371be6977330065d173aa8ae4703fb670c2f2323d206163611ccb87d0c3b5e555b8814be36193e5e1dee63e7e939031f5cf7a477e5481591555c5a47c05b0d574f6c8cb5178ef7865a77fff7ccf563037d7413182aca70ed8882ed1a54ef812e8521df076be73d034b39315dc09b01d603555fca6d1a14c4989c43f793bfad7773ef21588b8e3ee53ad2a6aab0dfa4bbcb03c93d6fe3012e623637d9819e4d7e0311cdf3f96fe0651cfa915e63225b18860800581f02c04680b73743c4cb5315e20d7fd7cb036550abaacfe413122e6bac0d0d245820fffffffffffffffffffffffffffffffffffffffffffc4c423454a97c7fcb46be00581f027827310591e2002222b8335a58947ff48a7792a1a716f00d127c963cfdaf4a3f731ccf9cafbc2f524600581f021c363c4eaea1cfb1c0267934fcac69f0784cb94ac9d957c6e7e714b6b38c4a2b1e5a2037f0eaf1e3ee00581f02e13f12c84573b18c49c0fcd3c0ea7ddb4a5e720e95cc646e6d7603aaddaa4a1ba9db28ebc7a667592800581f029cbc5b743569f30b7d9b0f8da05abb353c8c3b79b01b95fa4737192f03904a6018a1fc88b4cf209d050219344603383d5bbedc6f5df14fe8cfb94d4955e32930f64f7215506c6a519627ae0433f703ee59cda6c738192213cc78fc2dd7e9b91ccfdd00cdbced77e854d80f59f6ca05035e3994cf80d3db03ae24d92c1acecf3b87095f0a5208f47b9973b79bed96a974034f99ad2c3b9ea962c1e6288ba28a16d8f4b15ed51cff615b9dd58bea6533a4990306d2ffb83455494b11483aac5095c9cc747b649285d355c8988de6275b2f95d40306b65b0c298575e88d9646383e971b5f0175fe14f263d87bc2da5e2f7c3ff84400581f02025d930155d2fefbd6079c74b40579b0ed65874225da9d9b43691ac1e81944012a9cd300581f0224cd38e5d2a0791b49bdbe2d9c3b814a09719fd95903d55b8e58b4a502fb5820ffffffffffffffffffffffffffffffffffffffffffffd074f697b0bfce6fffff00581f02cccaee906c46c38dd5beedc6a848ace10b718ea9651b68f2055f256f4ea25820fffffffffffffffffffffffffffffffffffffffffffd9ee00b5c543ba4b7a2f000581f02aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc1410500581f0281aefec4a454a5cb41a861c088fe317fa24cd8d7854edb8653021777e0185820fffffffffffffffffffffffffffffffffffffffffffff59fe30e982f29ed2434021941a8039317d4fe4dff801932213f28a17f1cb465e76495b5b7e967c780f573766335350393d650dc0003724ee82e8ff9c476082fac87c26f016e4f998794ce5d6dfed3f40219ffff038c0abdd2dc3e3b1e6d63fcfb6a23410893433e9511bd8bd41bdf8958a2a1022f035101c9dbc64cb7451c3a2fc9fa1c0309e47ea04d5703892856cd0aee0f4a913f03c6576a275ef0b2cf26a169998b4b4ffd20f4a8bee0a2f52607ac45db8612700903840f4a57aba6637b21d970af9c45f1cb8168f4e755072a320bedd3cc36e3279703855e00e0c42f38969200a36e77050dfe715988e1a2be09cd4df154a0e827ddf003b71cbd6a7e4c7dd865eb5acbe84023199807e5d15e04e0e371e7ff8e6c8e1e61032ea83c7db205e9016100b9e11ab7ca3ad56382dcfc44a4b4879029c196b2defc03c4148266df9fb334b60db70e82f46c0db2935071ee09f94a45bdf3b7ceb66d010368fe2537c5bcebf1368b8e7adbbedb278f77a55db350344425885e9404ecb3da00581f022eb6795781b9842a7fbf99f6ab611a570d3add4d3aa0fe86de16c2ee3db14a050215977d4dba05a40400581f02cdbb9634a5f58bcaae9317aeb20709a6faab022aa08b4cdf25367fc0fbc95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02bd318a09b42b6621a3aa4f3dd7dc049b0219f0aae0b79123a926d0e0404d4a1552dc7bc2c9ffc5567c00581f026d55a7d08f0f3537a780fad25f5a3b527d6d6f8133435516710f358dbd384a3afb079b5053d55f63fc00581f02dce180ee2e5d266d12a35896598d3371736d3fd0d1f973ee2050252361835820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e2c91f032b565a5189cb8116fc2e6e376263f4ebb66ff144cdaac3c27bd2abd500581f02b0b258e75a5cc452cd1d4aac47d3906fac5f5b317cb959777e3a4410c18a5820ffffffffffffffffffffffffffffffffffffffffffff9d761445746d95438df900581f02f30dcb99906dbcf40e5eb7f82667a1a641d06738d801fb0d37b2eee4991a4c017121b90b6367a163dc000002198c3e0394d7f7624099d4113bc802ba9d80b2f26aa2803f18c77ee0416ff3a2145cc63003ce00953ebb73049d8bc11cea2d1816fd53f01551239dd0d8b2d7adce018bbe6a03d0745756c2621c37cb96e5fd5e032bfa4454f77a8c64c7c5f1fdb5cf6c822fda03014e1e0062e2581f3ba4a35d8a2cfd74593cc737fafaa4b70cfc80490e4b42f1033e77e286859173a9c0548a1ea260b01522cce1534f2051f00198ef573c854184037f745f0d212e98c9802b47fc8f3218627aa1158ce7780107370ba0c1f110b1640219ffff03a2840e10699b20b129b1cafd8a3ec91334afbec6de56a4d99fd124ce5341a79b03c6dfc230368014912bbcf5cfd46471110390d2b9f8473ab73696c4ef10f4917603a0d1b69d7f7ef6393ecab1fea2c650c45bc2fa121125ac6b06c06551eb2c264e03d8c25bf2857848745b35e276938f020111dcfdbf1ee0f6c3b7147d4d41fde5c40219ffff03baafade2058ad990e3c485ba02b21566c1544374f59ba0f3a8413fb663e22c3103785f188a05173ef1815dde093158c1a582bea478ac12a6ead72f540f061c7c6503e86a218741078cbc069a61d042a0955ee4094d669b191dfc0e1a3e65ef5f717f00581f028727fe0848bca4a3809ac5c72c5183f0b7b67fb1036d0f41c728b948034c44012a9cec00581f02b47b30501a24e8930718e563561bdf192d8bb36a63611fb27c7d433fb4365820ffffffffffffffffffffffffffffffffffffffffffffee506f8eda29e06211de00581f02810aa94ac46e540955ec5c299377a5ce8f47994387c8d82dca86574978884a07aa524cdc469312bc8c00581f02c5bfb0b80aa4e47bbd00834b22228f353e71848139a26693fdac1e727337452134c14ad900581f028b3bc168377ce0b27aa804b883b8ebdb9389090bc84a248fbf2774c432564b0158e0a3a5c186d6f99455037a06474208145ae520459ce43ea6ca7786986e6969d29f43b477bde81309c1ed02190ba1036b0a185cca2a014f838ee3ce73dc0bb5d0967c175ac412f3a829c78d4d59558c03a0bd9d73316d444fcbbc93b263a37be800d4b1bed0190e7324f5c66f8af313ac03a88b2d3d7ce9495927d87f5c3986e67abdd8f7f7f71e562f36733ed2d6d8e17803efbb650bb9b6a37d26efe01ce69c65040cf86b4343756fd404f445bcc7640ba8037d6122bd704297b6fc65d47b15d425c435afd44b6e66c8a788b554dd5a755e8b03bb154cf76576f2bdb89d1053fb67cbe1f8e081571fb076893cce71685e6a47990351282c5f83a54e2b64ad640e99598ccf965b88da7aea20e5380014cd8b9599a2036e614869c024a84545480abe4b05f1784f0a8545fd1c59f0b3ea6ec4ae4a670403ccedce1744b93976be4dd1df1876b625c2af049e7fda4c75ff2048bc2cf2053303f9766ce027f556461955d3fce1a9dbaa9eca387d991cf9988f5d402a5deabe5c0361d7c9c5424ceff636f3ed64a91998041d69d1af9d7ef4a80afe7ebdc457051f030dcf5a9cafaad884191d6f1f31ea3b39c79be573d664594a6e94cc91cdfa97560219ffff030365e96815f0ae19bf279275dd2a95f374c1ac3ba8c97c41c3915802a271f5b0036f423c7dd94518e2227201eab753ba0a821c5cf5a139587e1bc76fac325311bf0343a24041784d1fb33e11f1cd402da906cc6b3cb6b29727569e9a4116b260dd71033cf22b0d8c402d61b75a9b0f864c65820096f35acf620a66cbea47c2820e3bc7033597f3a86c395092f4aec5c5330d178e8ef53a34616976aa641c30e8122f298303ebb41edeb6d054c25e1dfea3e93cbdcedfb462607514a343be5ff4dfd787fb0a0331d79f601780df7678c66f8c1ab53ecf75bf431f623b15364a94440d7447347c030599fa47dcc2c09d53ed1ca2de47344a052c0bdb999e18aa37066dee214e1c0a03cc9d1032b1350cc1571df3a3cdb32d7604da70c525ce4a70a03d6b66475a7b0303a9fca5c8e231283a525c5222a65f943c38a4d9e8b588baaa0587ca80a7225cb503d869275c0e6085c48749ab89cfdd4a5f95e0cc9c4f1c64d63c23a5f8b72cfab903f0ee6d172ad815cdd585aa94749f6e2c0dce3723f3198852bf101e9d07fd036103390b0e646fde5b043a41a4ab63a0e743923b8f3f02d3707603da72cf0f80378b03358df88622fd11d7a13475f48994788a2eead0a7dcda724bf8c04df906769158039f749ee04b797f65fa629a3da530ffaa96b49bedb283a8e0d88dd04cc8e356ff0219ffff03c407c34a3a03608a7c02ec56f7d594e7a49cf3817170176632571f0b50abb5270371b25e89f6e2892ea66f25b84d970b2667c7a6c40b2ff49e7090ea0b6ca9347603d1f15ae3fa7df27846336485f20f22280981be44728006177d37f1cfe0a5b59903a82dae68f11329390b8603046b9e1c8ed65c4c5ec8a828e1d82864bfd058f7bc03f68e2731f33d478a74344988386668a19a3d224d9d49dc4fc8690ce18d28ea90039d8296061cabc0e3c8584cccdb333b398465525a92c353f1af9a6528ad0699d10388917ce115c39cc19e42077c092c996d1d8026a75ae1683d5ef47783445ba797031474ca1c24d19d9f902d0abc5292e7cc6777077aaf9915eb3b823c447ca5fba6030c8bad7b470be4eb02bdb84d4cf3da3d978518dbb77a1116112e38b8343736a20342cd25e6198293e02a131dee40490d1ccfc760771a8cec829f73375dffdfd48d03b595dc4fe7c9ce67d57e8219ce87616565bdc0b877dd2adbcf7d99da8c51803c00581f0216d5fe8e0073668edd36f49b2860086b3b75c3c9d182f367f26a0f0e76844a48fb8e4ad8219c37fff1038f527692146ce13ab8e1aa5618d4d92ab0f50c0bf6b1384d7fa49380042e42a700581f02ffe6a527408be5d1e3e2c3fc0bb993f3d95a9869641c38e9adb2f5c5b4774a5b5885e2dd758e3777b200581f020129d9ca0e7d4d18d896140b26898ccdf10f229be9dd4d79a7be078cc3ed5820fffffffffffffffffffffffffffffffffffffffffff04897efa6ca5d0cffffff00581f0297aa90f8f5f8369fcd424326e6c19cf30276ce5db81de83dc34c4fce68464b0387aaa339681e8f2316b70219807403af5b9a71b994d70e007512da5fa64b298335d9eef871fed1a6c815d67436d3d603ed6a426dd4f268644141230ff02be89e8d823f89b70520a81cdd2e35f766440a036fc0e706b2d7b64cdd6d724484e4e5af42cb1c01268a054879bdbd4d6c14c66403d3b8606f643d7b659891b5459b7f0b88e0d86561db330e3f0714dffebbf615b70219ffff038fda799b1c32f6bcc6a648497ba793e4e9f1c78b64c0b0d375bad9c6b2a4fafe03c55ff761f17e983dd5b2783e46a8dba70ba1b199e0914a72cb3926f508fa2e4b03e27e079ef97f81d554bf3930be3c2c67a601734cb451a32f1575f92c62f141ee039d174aa57a32202a9e1ee08ae9714ea8d06204dd69fac943f23cec9cd18bf250031ee5156670781503066f74cad8ebf0f6088a00fbad5aa5bf1bacdd503eab86b503bcf03e90b71d6875171d1f423b1b2b85a5c1ba9024968c1db60024518f01b4e50334275b93f603fa45da70589261c2693fc7a9fbfc3d15803b5f2b27956246cbdb037478ae6e74da6b58a11e78db2597d8beca80e33ca4bfc4d0b8b8c05dd83a731d03a7c30ca5139acd7305a9daa076b8e9ef009f86f40edcd462244094d026ad532c03eb5ab8b5f565ee721a88f887ada14cde03dc802618073d728be67f78c16f4f8a030ee4d07d8d57ff3ef99c0796c0236ce4013ed8addd7467897ff3a375de871837030f665bc9d51c05ab4f1c2d9160a7b1529a146c2713fe0b1ae6d898423def4a0203eb988e140c019f747b10940c00c0f6b6a50ac069ff956bf5365c4ddc9d25e1a703b0446378915655466346646f768ab9305e94acbea3629463a0d6a809f56bc99c03489e7f42cb1a923842548447acfc1e677eaa672385e8ccb9f54558a0eae5ad8703bb7707ef4d3651dabb6dbc882ee6facc8a4af7e7965b1a786de9738d58454ffd0309a227b2c022ee5fef033753eaee84fce03eed986194ad7d462e9c7b7bfe4c9603b8e25a97645cb868a6e1135e2e2817b50b144e7de98068791abb964edaeed63103d78ba354df345c140542f6c80ca85fad2c8e7c5ba6b760480267e5861fac13f703b7884d7dd9075b077e1feaac52da98cfd319ae1b81c0e756b46282d80cd5abf6031f97cfb4783375dea907295b8d8965f11b7684de049e1b907f6f51a8439e86b1037d6419eeec3af88fbcc11dc2d2eb06bec8ef295bce595ad659f4fdd4c08d411f0302ae9af2f18bbbbd2b2b5242132aec9c0457a48e0f483dbf838ce3f4d761753a031bf3b27c9b28109b6dbd007373df06d37b6162cfe1945f6297d5ed71f5c5d28c00581f0210cc6bd682e585fa1c7dbd34e67998ce8cba5869397b2c1b69f1c55e82b84a1b5d5f45a78b5e0c11d100581f02d5c289142a044942055f62085073409a235d0188e2288ef82e2b8d9cd3f25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03529f6dc69a605df6ecca0788ec7205279c65648002e9969c249fd4525090410100581f038707cca24608e451ec53354c0f8812f8a00044d15c3f320fa8632bc7afe04a5e05bcd22e371295742b0219022000581f02872b014b67f92aa665849299ff83e9f8bc244f07d54f0006347bf687d24944012a9cb400581f026f3441e97681ba6fa11e1c8b3c7b51f08b37eb4a0bdab7e301d191956e415820fffffffffffffffffffffffffffffffffffffffffffe03c7bd42e0f8e3ffffff00581f0285c234b9b3d4068e814566f97e2435a8fc85ed3ba3d749e88c3f907737394a7059d22f7e37decb961e02198538005820038ad26bc18554f84ffd65a467ca3d282694caae9aaf536c709e380261da08004b0c3db0f0423831989883e60219ffff039f9d17bd5c8377eef94c60c15d576797c905c47317a5f28411bc0ee9bf298dbb03c0f78f1940413541666531a272680cb1f869e8d352b11336cb99b34c72730fd903777acd834ad3d32bce8d88de7a11842ec8af0b85d03445a34ef04ff9295caeb303372e5b4af7341de33630452d165dd363d29e70e737609e5d19b63cf67dfb4de30219ffff03b216ee4b9a5fcf604b45a4b1334b999b3fc9b03ac5cd7ec6aa671518d37d1e1800581f029b82e1c7f7e8d9a80a3a79976a584c219fdf2bb307c42e3987583082f65b4a3f870857a3e0e380000000581f02fc70a7355b835ca794e04a53b0a62837055743716d1164b0058d6c9b5db64b0125174c1a22e147a922f400581f0265545cacbc99e0cd7c00b87ba7e4b6b8bf4eb92f5cd03678b9f49b722c8a4b04be2655f6f86791319c6400581f02d7d2f4e2f2fbed7e130513ae8191e70f381b066a84d88b1d8137d80568254a0368e931ed334fc12c220219412403406d8d6ecdd4948b88771678aeca2941484ba43032f3ed6f4527d2b59195d6ba03c59265f0a8976dda7160a80ab4aebfd12c58efc4879dfdd14b010e1c84680d5503647c278ebf8a85b5dbc16e72c8ca2a199df7a81a24288d91a300d811b44e984903b86233753d786a5bbb3ededd1cabfe3c3b97870c60fcb211d4bed98bc48eab4d0331d9f049797e48e27f18192ff87cc4eb0bd4f75b9a52eb0348788166d4bd1a7c032135061927f2dc0263eb0ceb237833efa10321151605b72cd8d8d1e88bb8587103b660e6c588017f2b371e06ca5267df96d37f405b1268e5f81af93ed4548e97d70315f7ea36825551f1183c0856a56b0c39041a6b1be12b9c111d457987a20de565033c97bdd68c365e438d3b3ad1420d1232372d78438f5176a19105d14191d7087403d4574fefa89e78e3c97e2f190ad537c330a626deb57e42d51cecbb0cda9556f503db5b22f09e36a1346a09c8ec83f8e299dbac2443e9625aaeb9196deb5cb8a6d80332a1cad82bedc299fe280bbbad3ce6353e6d8393db0d2f9c0676e1d0485a86720330482217d15877228647cb92216c907685a027603b2cae24ff6c81ad7a65278c037341e30fe6878db5f239c5b3acf2ebb3d2cc071882d15677a9e78527fb323a8603e5eb9d8830c72bcc1d213c6c4177bf94e3376ad269733ea5acad0042815dffb00219ffff0360fdc298508bd1614c8abf12f8d1abc5f0bb4b9037cfc470caed7c4b62b5355d0352347b7cff611d863a546c3bc07303a7fe3f2408af19228453141f11a40f3ca5030bccaeb4d8ac052ef03e91b75e32b0959424fa1295ee5069dacd8eb3fb36682503a151f00fb881b54fa7eeba81b577f5772b6accad9d7ea9d7e5e20046ce5ab6c803e6bba86d06e4c4769f6b97e77272a5af623e7bf491ea5c0951fbd57f90bb8cbb03ef8c518b48817571bb84a5b23f54bba04739e8c2aab0b3c4ec105ec19401835203bb1f16176dcc021c590e7ac2fde14440271d34a292c861238e706e72c5ebe7de036a2750da2c0e0f8d86c00407372e4abed2b8b4b2d43a5047ea5df4ae09e1afc803848c0050d2e2312d12a50da66a1206c7b1e32b9013478eb7d0f2425671851e5d03cd2b49205f7b56c8f31c12ac668d1f46b1d1a42fc5d11583cd50b758d92b5db801410f030491a1a44dbcaad78fb5707046419a43d5225bb5ac7521428768aebfe2491d6b032438cdda211f536c1a8b9ab45b9f651745e40443ccfcd7c2bf52151eac4e28b7039436ec514aad833478dea3a55137452de238d2b620b71dac95555f2a81032d0e03c880be285a9275c87105e64ce279404bb63d0d658c367805bb93c1cdd19208b103432334d20a1669597eb16fd67f44fe32663909f243adee320df994c5c8bde41703d5612f5228e1fb28d24ddb25e4627037f0b341005cd11d28c543587a5fb92e9403beb33ee71e6c8b6a552f0d1ec529751a8ca021e6b026441f60000376823a2b5b03613bf027dbda46b52aeb5fdeb210006233720ede011ae72391b119bfcee1beed03e464b07f4ee9428e56ca3b5f3198a725b5c1a6bec6c5663ee50c7c80f76cc11901410500581f0286596e0ef3d33d29be798216856e9234088d51b96b99aaefd81b4be46afe4a080595ad84d84015714c00581f02fbdbc2e327c99911372cbda3eb0ffb4164323292ff2ce61ec372194311614b014b9894007716e077d8e400581f028dd29262959afbcf7282c4b05571a9807bc30a8c6a10b9a8a6c47c0620c54a20f6fc34d6d9af7406c700581f02bf2555132c332fadbe9af181af569ce7c06439b293831464f7c5d5c030e44a106d919703507684b6940219882903369812f6d6d59d289d9e5a6374d07b153f7299cee12bc797889cdf4d591c7ca903c5871a88b76cfc7bf9b92ceab2c89305eccf9caa817308036404c3c4855e43a30219ffff03da728f7449c547fe95b5088efaeac0a30ae20a439c219cf9a2e0022df0addf86032ece5583d8e5dc62d7dc605b38f1130b7197497ae8144b9a72661cf7f7f5aa4503c923a9e77a52adddc7cec3ee78f9c5d05b74fefa36a8b7d722042c303debb94403242246073561ad301749a4727b48e2ebaa4a23be53c94cb132c80638024895a303cf91e8dc980bf719cf8bb859ddf170be53dfe0a744ee6fdb0f70094902d7947603b78b6dca4df2ba7d2dd295e643fbd7966ad28d5ddf215eca362c18e54a94c50f0375511aef64b360e747ad6ec65a1f12e69c22ed9d7ee1c3f0eb1fd8bc4977214903c4301894d6c6ee3e0cb24854ef7b755b927c2d9d7550ba5ee14e5e8dc76b28b90335e3b30040d4031605e58a95d5bdb6f68f0b8925e59b080c5cb6d6f69b97aff500581f02f2dfef464c5f5e4440c0cff14cf47f69bd461ca43f50901050ccd088f1ce5820ffffffffffffffffffffffffffffffffffffffffffffffcf6822688afbebf1f700581f0238bd0cb971b8241257f7ad4ad2e777b58a40f5bec1746c31d49675ac8b925820ffffffffffffffffffffffffffffffffffffffffffff924e327daad7fc01991c00581f026c6e7671e56d14629845afc68a40959568a506f258fe243c755b4cf3c57f4a34d0d16dd9eb5cae5c3c00581f02c34351d70e44235ba1bd6f280613edbf127a9d5e05e424804c227590013a5820ffffffffffffffffffffffffffffffffffffffffffff1f4dafabce491f10901b021913400384a4b92655c0550beed71753bea2341354329e8d71c8a382e9b8f529266bf60003c4daa04d197a1c5b9c6c5f4b27536eab42259039293a014bc94146b0c797dd3d03f993ee974370080eefcb856eec35001bf665dbf3cb692c72f111b9a6c5d76bdd03df3a062e8152f24fff9fa4bae235087a565b53dd84d80d4810dd27c0739ffc0c035baf802b670f028d99e0e25b43ea99932bda13dacb46ece9ce4da636d139ba2e035e461c8886ef39352e9d51deb349392ac9cab72edd8a3fc009dec9dfc50c9eaf033b76415caa3425ac70e12011c8380e99ec31b24cb8fca3c2b62047e68f244c840392b9d1604a6101d5a7f04faaf2f621b6c6e61c1b5ea5e1668ad210e43f1063f8036baef440b2bd3039816a4a151e3489c2c0f1b95316a482a362e1e6722efa3bd103ccc27700a8e623a95c68f1ba214a12054027b28bb5d09ad3677a50402f881690033a2fe33861b5668090d4c5e06e42d098cc4177e9d47ce464c78e1cda03fabc080219ffff03021ce01dc49adc5fe42bb1ee976fbf8f3a1336dbe72d71dbc5db73a31633992903046673bad2cb6befd386eb4e34d795e2c5a1ff463acad1ea401b2f9e0f3cc5950219ffff0392bd12d54cf117db0e71172375170ab8ca16cad72d2e2efbadde42d2353f7c8e031bd93f8dc45eed2bd08c34609cfb1a5eef9dca54335d6428c77c2143ca2f10d703bedce9baa9b53a3d35df2243a560b07fe30113c32ca15cb1fcef16dc7c33de5f039f6cd771d7ec03608084e026c6e55f6bef2be3345099e3f7d408728d02d6012203310c63d00b09a3e2a3e00ece6258412445f5f190862533c620144cb4142b8e8303078ee5debb6ee72d3f2bfc0a538b333e76af916402b65caf1e3f3b9b2abc071003acf8f11f21a358c6da9718965a415f6a4e69270c521ff6f62654ad6a112d18d303809c49c8147c4576e6200c9e591c1da20d3305de8d65a626224bddaf90c3004c035cbae695e73fccc50d4abe68e56b471c15f29a21d7b736650a30488370c033bb03258bbb1c928ae234974967f31c1f96bd15a6c8f0f98d5a67aa03d4f7de64dbc703ee6e479742d7a4d528a983768cf51920775dd72a1eff1226bd0b194c12534d8c03ceca1546881e126507867cca3485afdddeaff7c384b14b881379926c97bb521c03f9410e3d28cca4642e258cea912ddd5ec0fd4d4f53c69b7bdf257803f1ef9f85038a4093f9960745562e20bec22bdd3acf370464c6c49ad56299013fc686afd13303914e895a8b086fa3301017081d4a9222ad8f83a576333967122c274cbdf0b32700581f0208e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80244012a9cb400581f026ec7cd347683809c3bca68ef4ac57c2916145e2272f1191aefb65efd71bc5820ffffffffffffffffffffffffffffffffffffffffffff6baccde8395c6322297400581f0250bec64042d0fdec5c1da99dd9d4593ae259b40206e0cabd7b21f6c96d344a5bcb4b4c17213531c23300581f02cf8c91514be9f75066ad486e8bde7303a6f268ca3155caaa56bea5841a024a35e03eaaa355e7d435e300581f0299df52365fea808ebc47ab187098d500644951ac5e99d85e08d3dc7b5a3b4a107c235d3a2e73b8f15300581f02f140cba305dca6d39be04aeb13c2a3163ae5b09f6391bf3880af5a265b455820fffffffffffffffffffffffffffffffffffffffffffe6da8cb2a476fb47fffff00581f02e6dcf8111dd7cb80643dc7b9902ffc23b4b961f50761ff6080c88028137b4a6221075e6ddc04412e0d031adb7b7c860f3b53c9b620387df73ff1aab39aabc8a2aecebd6e177cdb152c560219d44e039ca7024b7da6091ec765075e6c2143a9fd03ec2a5786d30469fde7b156f7695703395c4bcf14ea06658ed589b7c1829058034c319c729cb65d5c359c9a79e54ce603a937082f34b56ea3a6b8a9ce19fc098f5c20bf8848374326c5462e9624ad7ec5032dcfa6d460cd6390d23097f718c76e1d55557df8ff2f69c42c5fbc4d9664f9de033270783310cef12ede95cbe69363ab6e6d95c319a4903d8aa7d33adb9540bb8303faa5553cedf097214f48bbcd4bc3701e531a95b9854aed03b8c8fc323e1a794a037b532754adf1982dd9c3eac059d38bdd03678a39f260939ecbcc0b6f7a9f887903d29993b282cb8bdc36aead76b3d51ea26dd8486202dc4043eb72fd64f3cd85fc0306e1135f62ef2e04ee3a387ba1e690688af473cda100112aad1d440dcd3d56ba03eac707ad3afbc07e67b0dcb3c54965ccabf517d266b57d9cde598e0ee619ab7c038d4e1dd2a95d808bbedbaf0295c814a798ae4a518cf62bcd8b956ede05712001031b5c017ab93493eab5290cd87d1945944a1fc8c8fbde7f1e5995adbdba5bca7e03275b3839fa798440bb83ee8db332146ce5a9a0c1ad9d6d90b1a67e40dacd0cde03262a89cb188b77429aa6a5cf6d375de937f99f1df1ce95357ec4140f5f1d51740219ffff03e87e249e0711d13a155dec4ae53b19f2a06c4a9754af520adf75469e07306cfe032ddc941638d232c00eb246086a30dd84ffd5109ee6c55d3ba6102a0e8fb1143f0219ffff03c05f3996577dd6a3fe56a79c1a90a9a41e3be3818069ae600a6cf639da40a48303ba546a2e76259d9560b18df74a3fe23249d157b8f65b523adc59d02953d8f62f0305ccb14e3b9b4dfa80125fde00d789662a89d118c0e7e2509ac4dce69826aab803425c067c0200d3d6c030e0d16e29a886c9ccfe66d005a0e1ad6680ba3e5f5bbe03a7e55cf207d7ef77a347187915a3bb71bc3d1cc9234b4f3dd2e070cb2e05ef2c0336f4993eaa9c4ecb8127999dc2338cf54a1bcf692727e3648e112251fee8f77f034f96b9873ba1f30623dd97da11e9648487504f2d0dfa899939d4b35dcedf3b3c03faf4dbb011512cd41ac52ef16130330a89aa0d22195c6a4b48c81ab29b77d14c03d1e8529d81f6471dfb52643fa6241020d62eb847f3a434c5b4371b85ee8cae2e03edf81511ade8efd5896628224b66daf9d62bd771a59125c3c32208ca12c362320396e99e04940981eb9d97b4048321ccccbd8db590573e1daf200e1373aab56190035796b99d8dbdb5110471c9d3e79f6d7d78872438c754c0bc0c37ff5f85d9545d039ad5037a253d4d00b1472fafa8ee3d58c2632b2971010551d14ef54c30647b6f0364b7fbce6527f17d4bc57ed245fa306f12b8bcc9620b63db27820e9e5858195e03a6462c25137e83556e79944e7dafaf9c3e93f1d1beaed20d680b413c927ecf860324810b0771739be023bb6fd48f75b1c06abf4f68c27343ad281441ceb9befc18037794716747e644c52e636721a3a25f573a7d8ce7d51b4d40c2cb2735e1c5d86e034b82122a35487c8f9097bfdd3c8e2a01b81c3fc7b93a4283f00d061b6663d34c00581f02a511512f0d54dfd2d58340698af70dc619c5b64d6edc16da43800f8b032f4b013da329b6359f1f90d02b00581f026a5fae84e10b855f1a677c6e83abee26ad91e352f7042b073edefa2d96045820ffffffffffffffffffffffffffffffffffffffffffdafeb76f69ff4b5ca5a7ff00581f02b85177d77eb212a541ac901d535bae526ba4b45ee765cc0fff70efec36135820ffffffffffffffffffffffffffffffffffffffffffffe2802c69dda0ebf2462b02188603605eb1c8c9724faf63d2ef2dc17bea40b6140e14d4a675a39cd659bbc365cb6703246e2b5c4e91e225f3adc4c95e2a0344a46034ffc6119a33a51fe06090bad65703b5d8fd0a2e7b75d04d950f3d76cd02abc47b024b17bbd091ee041071dba36653031efa7864559d6efd5c5660661bec4e949ab217da2d901d6afdda724badfe048203720de0d97a0694c97dd8d2568c640901e3bf74f0ef55f6047df293102218138f03470f8bed1728b27cef33aef978a50a336cabcaa9f8202da0a6e9447fa44db4f303198d7f1dcae4942cc8e1b544dccb80410af8363d8c3d4d9828456a1263dfb134030b32d49ebd5dfde0f55ed59b15799318370965cdc6b5a0ae57b8f643bd6df7ff035b06f4852b7895f4dd17271e2819dbc64ec33854763a38d90e9823755b7a10ee035958c78a8c47f39f1d58aae5bb2bd51361ac4a7f158b1bbe9c33069c8fca263703dbe7decd1d749473d6150ff84c375711b0f8e22e7cea1e51be2641495f1ef2800302aaf6966a2c2d63c1e29b0e30b226f94c6d0ea33d055e553819f4fdb9c3b6fd0219ffff0219ffff0362e27de43063044f7ca96fc7623548f158376049bc0d1b01a01ed99f70521b2a03c24d383b6ffc0bed0d46df23e97eb22c3abb4f759d3efad6afe9619be9258a16033dd5cf1c130368ff4d3f585cd142e58a0feb1bb858f7c3d57f29ffdc466969ed00581f02ac8873aabe7d4fc8d7ee88251d04888a8e10c61cab8ed52f185f7f3fa1664a41bcfb35fe667c2de77b03f0294cce0b649ae72d6c09439a0f76def10effe84a59d246f525a85df3b72d0a00581f026687735729cdf51f93d22480b6bb090b55c3bb4f72207cf99a9c6fb2e39f44012a9db100581f02479e2bbf8b17753c850bd79f9e62b732761301db93eff4fbc3215b6e20284a26527ee25a9a5efe26d300581f0237a25210ee280c2113ff4b77ca23440b19d4866cca721c801278fd08d8074a4a4da65d6e876f5538da00581f02cab7bb58f439c889476ff3fa2d15249611e914eb39fb317392e0ff8b5f394a15e338e5ee25c26b40b102191147030ec490364bbb920987dc3c27d2ac09b4355f576f829aa365210d394befe7c546031c1267a7f43bba98e8bdf89861a1ed34f83140b465153b32f32250addd3e601303c779d5aca2a26242883c09084e2fed1d637a378596b374a3e97d890575dee8d403153343a547c2e48edf7fa39adf75deb0a2fea846738fef3843c940ee55bfd68303572ca8d2e9b7b97f50a2a56d1530491f57a4d85d66f4b4ea08aaf7217ce7cffb03fb238921d8c1c7b5bc524ce7e2f118ebd8a77c6fe437f4d4eaca32bbf197cdaa03cc96ceb9bcaf109ee9ad5efe43de0e6fe4226b5ca37ec4bc05627f751ee6fbca030ecca6d40a2c02192cdf1aebac9bfd4fda75fbd66dbe9c156f6b8e1d02d0640603c526a88ac15f207f81453064026dc17962bcb1494a166a460ff0ac2112b3729a03d9f7b9834e0e1d39475c380f2b304d6dbb4e8df7ad1fa338a1c1e31ec5838e43038702a495033c80a8e985c6455b8529788c6f7bf74de7124fa66b7e962ddf4a36035ab589a94a1a5bf36c338e30fb0ce1ef771b3331aa31a51e5dde2b67e096e05b0219ffff03419d8d2307cef444ddefd92af6ee8e2bd6e937763df832b4422198a21671f26c035323f99bb3045b27d6ec9ff1c4ee240e05cbbe1fdc1ddbc7ceb6cc51c189771203c65f5dbc4485eae233bdee4e9254e8605773951c1ca6226af5731f40db5caa6b03ae2f11e44c96df2f80d5d655d78086b71f7f673572ff10e584b2edd6db5ea3cd03d315d53b45a200c50676b0982e0fdc6c03fd83d0f80b93930d36ef72413883ab03cd2799228eee7d45bfc028f79db41643d8772304ddd050d74d3fdba76c00c37c00581f020a3a85779b6d6690ed59bbfb0cfebb398942c951305771c7d488ead5fcdf4a9d16c7ce9c11b9dfe04100581f0276f26c0825fb6dfffa71311081b820c371196ab13606938af592421436484a2ac5a07a968b0ab9cfea021901200343044f1654297b3350f4d0e343a840799559e204dfa89b1a97adf804db0dbb6303f881bfda5c010800a6558138dee3e938012a1072965e73432fb09c571d22a77503f8b0fd9e37bff256eebb9094f90067ade900d4df2d835f898c48891be0b5b954035ba100a187c405c42e14ff6876c358062ce2f6b619155af974a9e7e6696bc1fb032a4b7fe69d717862e10dd91cab96d5d1e0350863ef8507b07a8c78c082d9ef54030b17fd39de64c502c456e9f8f254d118588507bcf5a97bef100396df62d3ea84031ad42b086a0a3eaa9c614f33ed39252ffada1b51de51ab8937e0ed635fb2a6fc030e002272b0c2d2136409694ea4937b2f38376576c776078425d0d5b7594439300372958cc276e943763d7e3e1a60c7260f6304f6b182eb915876763c61954ca3010219ffff0353de0afc8b0af7dc7e4ab57b2e369b2f600d52ddf67fc25ddd6afcda571a135b03aee4086d223f2e81264cba6520a59ddedf1429cdc9d1c09750b2dd709d9419a00335ac112ee34695ac20daddf7216c0d705ff8d35cb767e94e6d16658020b3be95031b2fa3257d5456cd11f25349e24f42113a59e994731817d70d3c1f59f0a673130345b4d23e26ec8b1a93389df791e99b8049503aaf7191e37c73252b7897a2c7b103681ecc11b4430a6180f39ef67eda15b2b0c93d38f9c9a976a603d9ca7ec56613032065465f9ad2959e54bb06127d924d87958d9dbecafc974ae32c32a2984dfc1803a0806b3e0af2f68f0c9fd3be927631ddc841797fa0a3b915d7c8b1d0d961318b03c05908b8d9e7a38f617562c135c4f285db03289e2aafadfbf5935ebc57f9617203544cb776368ecba123d9741fbf20888b4c0f8b0df0e1bb3cf928005821d87082032bd9e69cff2cec05087c72934d1fb688eb66d59af88c2e3d71026a35273dc7a3030287205dfee7d1d30e02a8723d6baad447b579247cbeb4ecfb11b72ad54fd42203f873d78ffdfd59f97ba7a6c368308eb4306c42f3f740aeb4b4fc531f6e82a01a03b92be183d363fc22746f54c5868ff12f457c9b94cd7c7ae4e2257a0806e9f9530219ffff0394a47b7422fd7385bd981d05806f3a4a8b44097a8b11a6da8e22bd3139b69c4b0326cb179b97ac3470a3d32682c6b8ca5fea890d729cafd111f43786fbf21c9f7103c9df91a44aa6272801f9e765238569c9569ccb7f0ab96e2d05b03797e026bac7033f47cb7eb1541e6966a0ca13fba0b864860e66189cf9acedbbf109ba87817cf30321fdf963674607fa7d0aadd9b82ca325dd989beb78711028ba18f66ec14c6f8903f96caf7a2d7af4f4574fb01cbb118a34db984ecadf8608a0fdef2573e448257f0325caa2738050e6cc1e6e75d0be197515992568be63add8d7860becfe78e17ae703460fe1d4158f4f7ec8657a0de9ad541545fd6f8d3b28700f944c7017f99ddbbc039109c48f06f8ce14e288c0d106eab907baaf794b1035982a32ce9ebca6da97f2030ffab081b3c98e161854e6eaef18c32ccb47d92551e7da7382f0b5e9c7bf727103ea3294725355b2e27c10a55ad81800666b0bdc163e844881942dae4d35706cb103247790ffe57693bd88d4b6800d237b60806b1bab4ece05f04fc4174d032dbec803e0fedb60d7ab8e7617021102380ec57edf98b27cc7f92bb24dde6a5c1a2f008903775c27b725912550b43a799db22c9ce2bd0a7d5558d6a8cb359f7ce780774b970310e9c2ed8d305c26d11aa1e550def6f006ccf21a101618d5446337f312b1349e03a3025fc8cee7368f582605b4710b31c1eeb8a30bf1b5297ce77f2de3b92bc1dd034b59ce9a0b9a902ca63cceb65ceac28305057098093cf42fc44ab2bce7704b71039337bdc48a5659d5eea5a83a2b58cf4cc3a7e6f3db0f4076c585891b7bdfa4650370a1da9638366b7bd9fcd12b4480898bc184e94cf8fd824d5f972c083b85973e00581f02ee0158d6c988ff83b67e88043a99fe2310f430eaf93c1dd0d748d82a2b184a1b05d355ef11e66e105a03d1a224d67b7ccb98501fcb88f0b4a12a09c0ad08dfee06f60f700772ce4dc39500581f0292f46d7a7f1f3404bfb0d1c24643ba0b4faa178c4c802af25c7cb94951044b0228f4249f672a995244b600581f026a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34444301010003add00fcb4a9921d4da36764af9b38d2a270643a219e43c91eec1c11db6163c9400581f022743d3f2a24128f5a7609578b55f0102ba2a471ade576fdd5f39f27a4d564a0c190300bb59108ec7c200581f02bb922c932b14935936102ca1ca98e2e36ade278aa10971e4b6c6357e506544012a9cfb0219b5240310e2ce69d84b2cd867588180d9522daa867bf61fc16e29c1e93b9aa5937fea9203e3daa4686d2fd1d73d27774e16b3a84eff72defe3ab94df807960648b69a53c0035b183d4cf7741227c7f2ab0bbb022e197b32d00e0d91964147530b6c9eacc34b03f24de639a55b46ed630c3a25109256e8e59b72c08a130d63d860b46f8bbe291503535c30de23da3af5f4ee6191b1ee28882ae7259289075d53b37f78ee0d797b5f03f0eb5e5b422f72e33c3cc325ad6a4e60becfb3f3834a93477e942653e40e5665039d8062d42370e416ab8d6beea7fdffc826bacf97474f9de6b1ec0d95e47e09ba0219ffff030b39eaee71d86c86ba3199849d98650b66ec180f8c063444cea918df1d436ef903851df9f570a8b475d6248f9f547058e3663d87ae01d0b378550516f5d1d43d130308a946f5b0dc56bafa686590745844bc9b360e77ebd5f3cc73c394560b3f9f1a03e74551ef1973e728969602b1ff89fc2581e686423d5d2422d67ca95fdfb7fe500219ffff03577d88de4da7203c5fb77ff51bb9c131ef399839d0e2151a5968e3384f9f95be032a251cd6c37797e628e22de690d93b1d7ba38b820fc639b56ae18f60571e0c45034d06ff469ea2f3707ab30ffb8cd428b3aef38cd3b59be00d90b64a0aa522291c03a7f7c2e78ae2c345de1bbb69af8185d295f454d18cc71eff3c11cae58b7fabad03675138e46845279a885ea8c19c537e3cc664137ac9a651261095def820ab3d9a03345ec691bffbaed8c964726fbeb16d6c93cf0bc45eb4ef2a31f0a2cf9ed9b14803dba3620e18ddfe1cf2d13da4fb4afbbe175cb10b21afddb0889377205ad853490369e2773ef68825be05a8c26aaaf15ed086404206118491322d31316e5e79d2280325446a2189c2c22781a60ed03f80e606b069944e61b42c37c235a3c3170de7670340b375a7730509520e282e4f4770a74580d9c9d090989648f791ee205d67c49a03636e91f12c7377baa26d5fe3db3e75a48f1dddd2bbc7c1f150d0607c0c562f9003553206f0fc4767f5d22ee3bdfd9c582cac7556ba9673c220c27e693b34636dc403dfe4cf4e4db0fb76fb3f68d417540ceb7b2e11db8feb3b20a3c823af4b8900bf039221e9ef209d6a1602345cec3b8d754bb802d348c60fc41ab137c0781658b91c03c06b2918048f5818346d87dd91752946363d7b2560d1e14a476830464588685a032f024d9961be03598b2acc642c91ad85f5b55752d9f17febf1b03c953915f40900582003e48c202a32aa39f4df000c3925ca4a8052952824aec82f0952f7fa108031904a8d4c05db2144469a717c03a4a6c4a3552f1587d8874d11a0a11228d8a931a89332e4b40414d07cdc8013bc03a607f644f6523c1e7ac2ed0e8901c914decbcf05ece5d4af86220dc73461ee3303486181e761a7b92b005b50e39118375f9b2fec1425da22f173ba95ed9748c8730381e0312a74ca6f2af490b92d344f6d6cb462357b8e3232926371abf82f22cce00317d5a210af20fca0fe71bedde04b3e22dcc4bfa0112b9bf5bda53a6d894168a903c3ac492ef9dad2c31a0d403bcaa1e36f6f0c9b5697342712ccdb994eff11d7b203604aec13bcde221af9582b8fdd5f42cceb5a8099305344e1ebae7dfc709a9444037679b109f83c1f3630c06c78717c5dacebac1be7507c8e53b8cff73cc68562060219ffff032f6dbbd66d398cb5f6b67dc948b36f65ae4e0283918dbd57570864bf8d9a597303b9c97e2bfdeb36e37b034d057705174cf2aa5d0be22b99fefc861029aa705b480396282454988a353a5b23fb6f7916539bb48d8e2468a85563a48dea5d46c5bf7203a7abb0c3bf9ccf3145f9edd3dab930b53c707cc3e392c150bdeadf3064fc9bf203cc234025395c40eca735b12e9f5004e7cda9e64d2270a94fe86d2312823532ec03d09907b70cd67b00d42009794d5167b4d13f4e2beaf6aab98ed0b2e1a539f3860219ffff03abc9f266635c0be81167bff4c870f824fca8fa0158d2e4eb2777648b31ee432f03d7965bcdc40e1ed490116789179ed7b0b1b33f2a59f550f6711620bb77111f3e03835aa169d08c47d8c0cde14d663ce42806f57636e82078613145d6fd49bd655a0387a9834062e982b1fb1e81816ad46e2ff1294cb902d60f473a5c48ec67492bb703cd8cf0be030300783641daf9fe567d0ab3ea27bef2075841ddc4dc016c471d8303a7c5e077030fbde130c3d086722de456b9c0d86fcbeea1d1cc70996a0d1e8ce403c4712b6c91eb4f774d6402377f80410bce63e0b954fa1d54b65a29ef8280164b0379c76ec7e947f402c1441b92f364ce48bc578eac5e9f23a819be6bf5bd7c7b9f03f42b625be6628d1e5e500f383f6865e4329295c4a5262e794415622dfddc74bc03c1058ed3341d058c7770b665dcc9afe8abcd5762eb634935c468d68bb584a9380372e9bd2750d6afc245e74ef7efb043103b8503b4b9fc763f354c84f9e0b265520372f0260d6107d56909ef7388231612bd8f034cc76c9feb409e9880033516cfc1036038adc95de065e8a04b6aa94108b6fbc71087c21d26cc17568de7f9183f878800581f026daccadf880dfca50ebf142f6e843512839ddcb5e5e61f70d2e737716e474b03dcc2848c4b169fc2aa9300581f02f1ae418ad536d91dc1d6fa9df667a550a60c352b31a94fdbf530ecd3e9405820fffffffffffffffffffffffffffffffffffffffffffb73545b814638a7d55f4f00581f027a14227015facd539eab5c9e78077deec5c8d3f8662190fd9e47a8f69aca44012a9e0b00581f02248c8d23c3e01e67e7a1278bec0baca8fb7cb7fcefc5628c439689ab2fd84a08670f3e1b874f4705b700581f020e8413ef7a6c7fecc4266b3ec3071c88835691950bde7b72af574656f17c4a20e368104a98a2ec0c520219402d0351eb2edd65a83763be7ec86ee126d1e9b8b9bb1771c81c4f01c92a75593c01be03b6b91665419a67e714b3997e202d4cb17ca7880a85adb9c121c0c242dfdd2157030387c7766a3463bb928778c7164a4b2a83c692e5d7b11c9f21355ee46d113fb403802ed27933b6dbe0faaae97d351149532cfc84c0b3962aebd6cd306ff2cc1ad0030ca9c52284533a211a5641878213f7c105e0c33d30395972a5647f6d86ab792503884f4ca4dce7a89fce6d83be5a76e20661d5bc41770ca8d5a06e4a10a9358ba703f315e1a2136fc5eaf8d4670588a4c85d6062312c53b91e91953a3499b14252c90399c9a6707207115bf401fe8ffa31d42d1bd2198220c6c12d773a2c3c595444d203c08cecbff6a242cb1c7e63442e315683f424a1469e9b072f65fe445fd770eee80336270a200f1257c4d9b5f92fbb554cd1a46eab07c39e31231f87c8784332066d0219ffff0338990d9d98a9ae35a635a8c3221ca9559d7cd00054b5860de47adfd1838630700396c3084e0783010ad9d3ed5fdd2c9694d08ae444fb0900adb9fbc36e930ddad800581f0224e7726b65c845d736a350590bc5311f48e8854156b9512ad83ae4f0a0224aed542956a753890ce74600581f029a6f60066298bfe2610ced9a5566a86b513e989d09806a438301f476a4ea5820ffffffffffffffffffffffffffffffffffffffffffffb0ac1f71b384a07c9e4900581f020f76363e49f7b7183d345f3d76a72b783a379f06c66334b6bd516d22bf9a44012a9d1c0215031e38ddf1aa0e3474e59d5963d010e7829f52876d6cb0bc143e4413861901348b03cd9a90326bac558e8643ce9c138f6366b8f52abe61e84ebf79b17857120fba4f03f595bd93fb0cd9ef0efb840d3a5b83272b2fa088016b95538694451f5d9ee224031d63d975b00683adb4e3c5c57ba49ceac10622b4c5c39b627a0e898c4fc2410503f6745aca44ae306a1664646483e6b57aa7bfbd9034054a211d56cc6ff9c68b930375764247bbdd3e34e4b553e5baedebd8c9756b50132afb202b87ec21376d5d58032f8f947c45bbd2a91a41eb333e1535a861a310d4cd139662178dfa4632ec6401037469ff881cdcbc2c0b480700e97d216db4cf0fd329ef0ca870cb9b8e7c5c01570385e10d84092000284229b14936464c9b7a621519ed1257cc651c52158ab2b48203083be13ada5c5dba1de0a761121398025eb66acb8302a0917b17a74e978116c503c3970ba9b2e0913df465582eab1f09e875c581c303ffa1f733f6e612aa509617033f5af2eac8de32507a0be2d178a40a6ef7daf6c1feb7fe44c55af6cdaec2854b03733d78b90352169fcfd8925bbdc4013f8c6a52af0c87dba723d0c5c8fa0ef3ca0343db7f0a2b5f7c4a65e06b5e1adafaef9e32404b5d8ec57984ea8e3a2be7f47c0219ffff03dae5181ad4cedea2cd73fbf9423225acaa0985ebe228a2a65d16988a1127fc8200581f02640bac0fc6b11ef1572421132e4b23510cc0939ab9d0ae9f24e891b3d2e14b01aad8725b71e49b43500000581f026814c3ed5a4c9c73116986b3b85d9c7eb300b625a5daf0519ee026c9f65b5820ffffffffffffffffffffffffffffffffffffffffffffc03ac419910ddf39410600581f027189cbf60d40c58eccbf864010f02023f09dd42a387eb70d8086a199ba4b4b010bc47221b288d0f4b73f00581f029f79adf18d2bc8f7b7cc1ba5c3eb685cc753373e47b2006af8903ce2f33d4a6a077990f6d1a01bef9302195880030e519cf0c11cb99bf668595e93411944ece7e36204fdce8caa8201d9e270d94703bd1dbad1061b9a5a7c38efda37dbd90b6c6dca14c485b8e316c14eccb07f465403caf2bd648766711f4e27cdff051e8c0a87ede868681645737bf2b2aaf0fae22103494cb38490a9ef0673e35d8c1873b7118bb974e083f2e733a34753be0a1b2eab014108034047f176c3b14951eed767efa2df4eb1ac032913d97c4f113d229d36e96416e1035566b001bfcda12fc77b1e84a9f8b10cebef9408a1f8072758d373e43d5aa70b0328dafed2e01a7be933d284794494f9a5afe1f2cd09f869597a793a710e96905103b8d4cb091bb95b41e19bc733ed8b44581d2632c7a172a6bc150d2e04eafe0063035d6255bcb77e445250deccb757daa11201ddde1a568f864d350e275e7619b58503c9ec3e953fe6553528f39c3e6c3c63616dc0023c9d8fe754339e5511f75ca05f032f0ad5036ad474604206681424d73eca4bbcd036e68cb35adb5bfc46b69e434b0344fda3514efae50b64190e2dca1979dca9007c6e73d450e3f1b71520bba0bc70005820033649c99b2f0ffa9a2edeb49581cabe4291d73fe0bb668a0c45ab12c1f2bc004b0396b53319ec1263be05140336a459c04a3e18e6094779bbdba7dc8d16b6fc2433af5972e41a7f5f0d502fc5031d06b35712293b311dbd61cf52def4f5ea07534ab59dbb2f79f0b419e2233be10219ffff038afb5a7daab673633fd3f0c8bc4921fa6cefadf3e5934f1866186cc08bc967c103dbfedc47731688bb61f47683b01954e2b932de0b891005522b34ae7607a14c2a0337a5dcb2fd9e56077cbe8d09675506de17e275288e58a4df47cc7e79792840d40219ffff03795a6b5c2577bca3d545a1f9a4989260339d133620f11a3615412e93e204978003f6afc4c145969f1f8f9310421556bd54ab29f755ea26f3b25b77a8c249ff3e4f0385422ccfcf838c75c4d94c4da7e78751b7411191abfa7b97ebe18836e5a2a5060399fe78ebc2f98ea382ed0fe30215cbaf1e33f7c21e84bedebfa88f12faf2ccdb035131ba03fb73aad1285c52b89dbff7d426c72f6e4083905ad31e26f090547e0803201e28b083bafac1ff6e4b606302b69fee48eacb22ead720c911528c8e61dfc50320df44c6dea6cb34080630baeed49c04a2a2b53b4790d82b0bc37e41ec1956cb0380c0f32cf0fcbd7896fde99c63a78b9431b051314c49478b3b978c4be6e8d3e0037714574c6528effc5916510bce2111a06ee672ff1c1cf8272448a6578b08701c03f3a1ce6ce05aaf6be4ced9ed5a809cc0a5e636cd2ea678f77f6d5d94523010c7034ee329566449023d5f7c0e11cea6ec7968d0ac1a73a9c578ad21bcf9b6cf304803c91b82003c7ac52ab35464752de6d97fcced73b3e04f09f2337325a9cd7e01d503f103f70febe9266d2872aa0f1335f4fc1b66745ee261a64b2a65d7083a7d2a5a03a56f78b5cd394dbd9a7dbacc1daef11e685f3d24377535603ffb0e14b53fe87e03b402057347a66208fcbd8bf3f477636f952f2099719004fe10cbc06f76ba07fd03d5e53f00a3c83f1014ad059f51841a938d96080236c9fcd3287e389c825cb27e03a2b5bc0c2da0ba409a98bbd84bf27f5a942a037c871a22b543e530e8d2ef737d03c5459448ddeece4c5756c0a769e6342b709e9105538098a7c562568741debe4c00581f021a706255118c7d97528f2bdb9425f3abc77b12178cceaea49c61e2ebe3cc5820ffffffffffffffffffffffffffffffffffffffffffffa4aad71806052bc8c0fb00581f02cb35f1d977a30698beb90744205025a25bfc2fc4e8e057ce9a8b25f249355820ffffffffffffffffffffffffffffffffffffffffffef0b050fc5e3b5038d77c900581f023aa184228633b34b6bb0664f134cb9e3bf3005decb458788de40275d38d84a1741b0c75d097812ba5d00581f0241910211206a20d7f13d7309b085f7f6b93800fd79f2a05f00ee99dc207e4a1b2834ad7b1a90d9bbcf00581f02f29cf328ce525bc642d03d64d92a57b3f3c5ff36e8c801790fc19932bec24a4a4da65d6e876f5538da00581f02b8e5d106df4cd2e30bff7f749eb112f5aa8604a03d19863fafb3360ec8c44c0339cadb44b70ba55b10000003bf58d02ee1d85cfe4a5612a82b93091fa355b57f8bfdd51a811d25af4f46ef3a00581f0209ed4568d97c76de8bfe2ccba15f9fad43669271b22330fd5fe2d6ddf3d84a01b7f77d95395114e1920219b74103940ead4f368a00b5f9da6325766d093067a6b055fb4edaca6234c01af7a09b410374747b630d7ca5f6b321086be5847f631ed4463e4c4bef9c72b3f22b7ac5c8c10219ffff0373cb9fc74d5be0b75029c39df4241055769b7fd6828baf70529b8d4230ec72b703b7e12d37861cdecb5b121550c6809427c997ce1e5c50ed3567f80e77d8487e9d03f6b3d54c241c5662fbd7a96c6c602f07963e1a1e3056d24c44c1278f9ff93a7603c6dfa4494d185d5726cfdf7bef0a2e686ccbfe4e81ccf0ea4b7eed8587b8539c038adabdbfa952f13fa7cd1b5fae8ad577d8423de617da89d21a2475b0c3ea6ddb0302b435e66494c83f9d29650d433bec03602d5392aa965543d8590c792c11709503b651da076e024a0d061a849254fa8f16f8e76d1333f7c1fd8a08ecc236513d1703aab75442101484729d00bb3cb871196213e82c4020fb3c0629b37d23aa5c883003a99819262331e511691830b1ac595ed7fb6b7e1e1077ba3fb358df6721b344df03e626d75dfc741af42533da03cbd837482473ea35e41068d1306dbc80a77a15e20219ffff03a94f9ef785da099bd5f7ae51262c832b98b3276a4040570461da989a47aa3c3e0342b7cbbab268a082be85dce557e22f7a666a38a552b465b8a1d67963e709282503cf58195d360b5f2f14417d2988b85aa39df1309f54395ff8bbfe01f22fd375ce03d40d7cf2c96da24a319a5119a90f872fe13aeeadaf18886e98768d89121bd47f03e476360487403319445b02cda2f190d5e83efdf9a5b2d9b92da40e5f12813b85035b416c6e67e72d64d4fef128127839e111c451673ef293314f9649df5bc662e703bbcc9e7756021813bd2afd3e791d362b3d4f323e4af37819c4d785697a5c13a1038ba6858c9e98498955a8a4f5b62a48e147460ec1c86b29ae7404f81b8eab70dd039cda0ee9eaf6322a606e31f4ea2974db54a88b12e24bed953c1d9055ecf4c33e00581f02e14cdb34f961dba32152fb526537aa80167de7d38eb940dd3359a4dfb4f24a5581af9f020c34bb79fa039045a6e1a01566b1a1e581d671078038681c149eba16ea8e0bdcc42f262f70d400581f02190649c73762dfb856fdb8d28caa3e94c196c212aae4d86e6a5b0067c4334ab41057285b5dd520891d00581f025e05c76301bb708f8e8d68dc024f5bc018a4d51f32baa4c5691572f1a62c4a091b70fbfe9996de62e800581f02c58b7a08a0bf05003cfde778a797b2faebbd9800963c3c3f49ca9c4facb34a15cdb7dd63fd5159bd2400581f029c18f96ea8b72dc8168d0e1638bfda72827b31389e5671ec7305cb08c5914a8c893f2530535ef4f7940219a83103b0b415f7c05c8c9b60ce4b94cf20b898a5d020c0c8556f2c775cde8ef973dc890382309116ed0212169de00a68ac04538274afd6a42370145769125fc48cba985703050ad585fad50aa825003f6ae74477e92a03ce4ac66d2e2c23c1ead6f0c82bb8034b551291c1320521e9a758b61cb3a88e732bff3e1c865b903c8015eef406535903ff2b78156c3946214e73bf6c455e50c96b56a25ca1fd4a40dc4f4066a99d1c0403a7533e27267efe0c3fee23c089b5a4dc7c1e843f42964107594702d954c9f5600219ffff0363d363360569f408e7035f3b6d851fc6bad23051a57d6ec5d74a1ed6fbc0e63203a7fffc98c071adc7d3943a51a50c7e0771445d3e7c014d95e82f94dc8aa71ce803caec70a26a1bb92c15e1ad2e4a4732987897e5ef1f12f5b5fc9d64338e4fe876038bffb88adfa94c2fc3c073a5a2d9154d528d5a023e574bd712f3a3c9a0e24943032caabd6b289cd516867c9c833a698311c62d3ea392f694f9fe5300bc342aabad03aa24fde1f3c2a673b89ee7581ccbf0fa5faada6689d253848e27721cb7655e26030d5f36ab5af71239e2e9fbbff52fa3da580cfd33fe65f6cd92d6161e0306b85403526cd52b38dba0f405e7d669f615cab53c6435503c7a16d714c193ca79e413bf035abd2309a669d3d017b5b5ed3a1eb00d10a31240ebeae3f40e4c17570d530cf703d70217c4174efab859a2528f03976d7f5a5005a497caf92352af87995ed63a520329cef4e82f4345c29782a36ac21abae3a11cdec90671dc1c0d4f048de78e261803b0ebadb4e1123c9d4469a8a742b57e1ed7ac6e0a8a3b8334def709b8d30e213403651a686b55a5ed8e63c2c4864f98854291fc2a844a0acbda20c8f220d1a6892703ccdf52208ca815bd07ba79a9db58eb66c818d1a79623e28ab8eec26848c7b2a903189444752ecdacb41353432d63a15d40dc9833d9f5fcc5fc7dbcb6579094a64e0219ffff0219ffff05581e030884a15a69a108746a3d41f8a54f9101af57ca273f15fd2765b1361120070119393e05581e0390508cd1aa21bb82fcfea3e6769db585bf56387204c12a8086e855bb400c0247453028d660b77805581e0322d6b5e34d7ea9b965db89ccf08dd5600f8795baa4ace05e440dcd7aa00402036a4bffe0b24ad61b89edc406b67b1422c1f5d55124f07b6d551f29d8b34f98d00396284204b6bdbcc6c2d6b73510b0c3926069336e6e6ea42ac2c31bca5d3f153703367b3a2ac7faf1683cfe057794163167caf89cb4bb55541439ee3da11a718df005581e038e22dafde498d2c3fdf96838e95124f4e32d74608615ecbaaf2c2b427004030219fadb034c566a80c9dfd73613ab920aa5752413bf83e2f8ea015e3493071634b36a33a303cebd40028d03518e77589cc2e0783426ab8974413f23a013831364b842d18e3c036b88b5c8a479a19fb07183524912c8e47757d651464c69ee8f7d9070e8c6c89803bcea66b406afe0345a7988c7e687ed17412832dc4fc3b4997a60e84a0c6be1b803bdd0a53dd1d04d4223c125d74b689a4e67d125755f164dd62ca44fbe993a55fd03486a42cbc7b14bf5dbb3ffd77411d5585ba27810fbf0d87da64e01208068fcd803d038626870f3dce05adb70313dd57c93de5f6dbe969dd650a706c779c533ced40219ffff0364be81397a4467241b41bc90320335a4723de84ac332dc55f6eb21b194e78de703219ddcf3e28cbce419cc22b33746f14eee1f99adf810743be8e1f8c8e3407920038e1995a7a18e5b588c04f3c973ff892e3847bfb0097508b3dab6220b1fbfbab20339d8f372b55d6ccbf4d4dc72f73fa578553e4da2460f5a5e4644f1387ae6149c03d2c3ea35a3489cf6830a7405a239a341b14e802eaec68eb160bbc124a6d52c9b039825c325269f1ca5b2d3a1d06544bbb4d217a92d26fa26a1e496fd08266fff95036f19cd1664671833291d470937d11f0fbcb2c708c137be6c8413924202720ab6036c631bb098b3fa23c177afaff1020a5a18ced48e88eced3456a05e3e78221ba303973168c64826a67f9db9c23fc923bc97715b5fb131e22efbb44eaee96580baaf0366ce814b8f336875364002add39c7ceaf349624ff7d1a954eca6a07c324cfdf003ae928022f08d6bc1aa428cbc96c818b9caa4c618837637f2a135832a7c6fdde803526ebd2d471de28e295d708701645b7ded6192d21dfab08d5d71935d08058ac40219ffff03aad20f24bdd8c0e0f9edb79c1991768eb0b1a27373c896fe94ccece3c69d9fed030635eef610dbcb7213b5d05dae0af980ff7ea0aa23de3e671e7368c421165b6203811dfae5b1445a7facddff5f6ba42e649ec6a5a2c89a845d9af022fa70a730330378bbc533217eff119db8326beb2e24b4cda18a08c19d6de7024381f7156b891d036ef3e68a1fdda2d3901bc81b4d5201ea751c3f1b4123c1c76d89b887767c75dd039fb614f51e9006a8d42662dc8bce80b9335216bedebff78227c4fe940b46f6230219ffff0310390cbfc2ccf45d19e8680ca90b0e411dde25d1203184de83344fa260066f05037ac1b3258e31cb7763c5b76485a7ccac55bcbbb5ab68fba7309c4c643e1964ba0219ffff03b9d7eed9d05f26453d6df330406c18948dfabc4ec00da0973f08693e8caa9b0b0356b8ac28c3822c40d593bcec8d50564b9f40fdd96024eb5de28c0176bb9c4403030fc919057b53f916e7205534c89b783cc85387f52cce88500bb7bc48b0fde31b032aa7673a5e629c68ac76b768b12d72638ea61e268852f238e6082921ad70cd6503106d30473771f484c33eb03598af65882b7208f3b6f12705713cea54c20701f403cba8bbf8215deb31883df115f7489c98bdf3ba09de6fbba5acc0a6b4d9f7aa7a03aa9e40bcf5cc15429fd9792c4678603a07b6eeed2ef7d35a81dd429e533a46de031a43f8d9e47f4b562c0d0668abbd1c57db6b50dfdeedd28c63cca98c62f8cb260391ef8a4afb8ebb39e8997a7e95dca8e7fdf836757df50d2019ae9d1a0ca1e99803392bdbddf92520d2317fa2574bdd65d716d5d6b986949cb54bc526d80db9646403508babc54fb5ac2cf6cf22bff8e43c082794d042d34db1b651b0401fba8e7af903e707b7868b6baadf92d72e6a7ea0bdd88bcd0f496850021d8da198eec8dd5b690373541faa69122164977e6c2f1abf26119c12bb55387e0993836f2347855ea72703fe93a8dfa47fdcc5b1bd92819546c761fb502abbd66033df17e690efc16a7d40030a1ea3e9a51863aff21453423069746adca52aabce15a752bd2cab8bb0cddd4e031a4a1a6d9de76e084060ae753e750243921e271e66e04bf5d2a86737fa723329033ece8ad51d15f4e8c13aeba00cd9f106568e854930b3424f66dff16dd7bf7755032533f99bc5c9ce851ca8c528ac2e6761dbac4ea47124cd7cad2664b6540968800368fbafea2fd17a3d4aae0853a618ba358bfbfe9f47b1c012fc8e6ebce5126b94032d96085a4a9a1e5f3af3cfdbc2f60146ee22f75c8c70e5721f7fbe74a147953a03b6968082fd0f59e37f659a2d78c39d7215c1b72f5639bd199223861c00cbf7fb03557965351417dc4624e2ec34abea33eb941dcdb2143b99e3d0fe89df4d0bb3b003cce14803812b49c562e3705d0d8176d4aa191f7c6ae2516bc2d03b44f98dcfd603bf0fab5b757198b0774e4891a282ded4729720a9780adbd10b279bc9a9cdb28c03c4c85b3c90142c9989e984907f472e5083d8f50ee1333df57cf48e61d476aa9a03f043d86b9cd1e60aca9b17325d9c77838b8a61c998fda2b80f4ff17250d337e803fc49e8768c109473a277295157145146928259ccdf96298aa5712b46499f7e5003f8573dc74d33c5fe08054f2d1083996e222eb54e7abd3d99459679b0f2cda02403f8fe3b5d02b17429923edf955ad882bb6919e636586d605449c378bf42915f8503f0b2928f098121ada74471e6e374194d807030a177d2903894011f70c3bbd201035590a19e9daa22d45a089404db48c87b2938676d3930bf04c173a2b7f2ef18f903c738c2298c15540912044423afc543b03afd7b5fd10816620d6beda8992a7a6f03136b735b93b2d68ae3514ae6d6db3ef4721e000e5dcada762c41b2618ef521d7031d96fb907e02e58ba1977dc033beeebf7fc66811eb4e5b14f9622e779c1e0ca703d51fb73705529201ba6108555baaaf628e374793641568893026152d6b3c22e3031190ee622047f7eed672b1c394c3ed7d64bef43408c8ccc76154782e0bd9dfb8033793c453058527b168012e3e53cdfc182436e4a8e8683f056eb0c5495c2357ab030b2e389f3805fcaa3e8df3768cb6bd104e06868000117166b47625ebc8689205032a6ce487d54a131769d473765b94c37b7e6cc32c8e1f03bac81e210d1c5be64005581e03853d071a8e61477727c2aeffa4112d059573ec374d56cb5ed5149f96700c0246cfd6d3c50740038061cb52a6b1bf0db0363d48d3cef0c65c6cf24515fce778c6a3b6bdf8eee90d032d43f4b0fe11c787d621aa62cb7339c0bee7802fa1a918f1344d9ab20bc5f04505581d02fe834615d84946b260e1b5f90fd31d368cdaef5d69ee886f874c923e0c0147141caf9642600005581d02ca41d1cc754172aa5acb490a670aa19e34c0b159781d1017bb92cf290c0147184221fd54539a05581d025700f9a3ddef78b66ef253818b437cddee408dc5069b8ae5dba3bcd10c1a000212be4822a29751b43332080219013005581e037ec73642797b4bf21184f07c3e91b43125801b41883adb286c0bdde870040203d59245364682c4b6bfd5f43b30e6008c0a50507119e8c17915168dc5a4bf8a2a05581e033f674b6b46fd8235955f935ae52de0f849d08f36f3c7b4f37fe3c519900c014717af99e6b7b00005581e03c86da61583fdf02dc92273522c6b08f04a948065f5d7f3417efa3372000c02474a9352f4247e6802191e9503fc990ca48bd71a6357fe7cec2421821b6dd1f29b06c099cd19e58a6971a55c5c0219ffff038533ee90787a423cf4db1add1f9f5fa5d9b833cb97234d4f0ecb5a03fba6e81a03fcad215a7d367fae943dcb2187ac72da3b4698e1700bc16dca14eb5b71db1e25030e03dac05c0a06ec4cb3ba520b5dd512dfb932708f2973cbbdcd3f19e0ae32d203f36c62b4d7aed0fa94f8ce3dcd083647c278dd9d949484d1c87a85acf556548e03629058324c9c8672e5a3bd2c2df466d9b6b7a211113d04771744b64b2676c07c03f9039b1c023789fcfe9bb1b2e4fcbe5f84a25f3a61979785e7ff2f31ae4d4b8b03a3e4a9173fd5fb63ff3acacf8d8ab7624bfa6597ca99928edb7ba714cff24ebb0360e7eed776370555592c91830a0aae64a2911ee7fea9e60d13bf1033610dc2d10219ffff0219ffff03f1f47adb6a9b75a1adab093219125f1ba6dad8b9ceaff2a0dfb299601826ab220355d3361ee119873e00e39c8e29579608c630460538e8bcfc6a5f68bcc856bcc803c68a66a28689d8db98f73f8314e6c1e4da09bc95c23e42fa62d0861c90fe5f5b03d6aaf6e5f77eaa991195206dfcbd03c24713ac1e8b15d65f9de363d90beb48da031d5675308d69c6f2a47f80ed72abfa4ca1b2adaadbfad2ff816b63d0eef4a4a003d8369399ebca53211e40075a83e08a4248ab5f2b234a436d1263ed2012f0e64603a97d83804806abd9c5594a534f186720517777a06ad7fc90076b4ab50a0b9a00030346d95413a19c10187bb96db47c40de77c13aaca193a9863d6e43d3a57b1dd403324c4a864fad0a80fa2029417280f806b8882ed6301e6ca782c6a7731c7474e10392accbdda9c3f9b390018ef11f08733ef184c446ab92872a8b84e436b98d2942037cd9de41bbe8b8dd4730034ef2a36abd8551eff5b19ee417e0130991e3819b99030b102e035a1a87c8879a303c113a58622f575843e9fcd6e79af611dd1b1de366032cf261492c0f813b5f245795a4df5f96da3dbbd1840a8864dda62411f759f0e70311fc7c465bbf3f9d9446df5e067150af26169b836e0a7501e3be3ca5b9ae73ce03a5e182eb462ba8a8add39d105f4f37001faef54e9caf2a44b03718e101f5145003ec63cb1970c8f0b374c5d7f7eb4d2abb2be30204a9d09e9734e88d51524477bc03c3bd377ce5a34ceb4e3e0fb66c78f34117a703c4bd45ca9da56fefe47bb5d0e9038c814538570d86bd64e2b4cf01d2b375078c4716488fb463bf7e302152e12afc033b241993f98afb62c38f66f0df94d7dd0dfb1089e99e5113dbcf5ff9fffe8738033d36e7b2c0fb0070917636379a6e75a00d17a9f3009829dcec28e6849a57fa4c03e67fa559cec854585bd9509bce76dc6771719be2722ed7f54848930c2e477f1303ec000787a7b8cec772fad4a88c97ea167d472761770cb96264f9e251228c2f54036697f5ffcaeaad6a071bf29638ccc9571172f977b7be447fb37769b2ce13c308030dae32b5bef012074b207e0f4ff6355cb48f82828b13e31b457a161b0977473e05581e03730336464530583dd2bac49edabccd2f7dc14d0c481b3b839a5752a6400c09470d398d3bbf3ca505581e03e4bdad35ca02114acca6a2b81d455b3777c317e4a987514d82b5b30ff00c054744833c99a847fc05581e031d20de8a23f2cddf910aa7cf2a9afdfc91cba7c4df9aa78a11e27808e0041005581e03c2f05f6d15c8e3b0eebc5143dde18db0ee0d67df54f3e3d8d251f98110040203905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03d15dc280f611b1fded651dec21c38cf00a4a26070d0fa824b60d22a58007011bffffffffffffffff05581e03a2d6e6d76fcd391832ece5ac52924ce68256f3bb79adc14edae845afc00c18194743b73825ad167003b45a8d15f93abc7b2047a292c87cee6298a499835375ec1105ac318a7e1525a302195bb6030e2ae3d9d0b14dcc0496748af7e27f690d2f6c21baab9972e8baecbe03cbe37f03f1e4231212ca979e53413e981d8bff2476a6ff41445848a06607e8d395bb3a4c03759fc7ae46ec625daa6eefc1c8148ae05a4d89dd6f4c199954fa7adfc32df42a03350953138bce084bd3222920ff2b392265502c294769e7d33643b2fb79990d8c03db21e1ab9a0423b7c03792e6523224ab032150174e27216b97d6a3f913be63dd036a4bcbb30dd2aee0553e80d03149428bb16018acf56e9a1f944d016af93b4d4103fd51f20846c90ea6a3904721fb45e89f24628c7d8f343f2cfdb68e2a39138a88039e55e9615b7d53e07146288734ef327cb47c2906130d5bda3cefb9fc87cb9898032f6c83e8fe0fb2290d30a9f95ddd444c7127168d18ecc1835a4134a47ab55c8f0219ffff03e3cf4c5d7879e5829702d8ecaaa7382f54ef85778c0240cc0521ad1ce19636c703cfabb767b0f772b8566e748a07564bba0536788ecabb555b5209b5185ceb2bb40356a067717642319e06213e6be0989aa28db63393871a2260797495a8560b4efd0309c310e8721f1041fd14a4d79235cefec958c8b69650c5db63673f2a69dc4dae03ab4f5c532663cea36307aeeada8ff82cb1110e51b184331efbf99fde238e00720219ffff03b6f3e5c0bca6b6f938b56d4f13f7400e0ffb3beebc69400e6e76f8843bc847a8036f8e74268ed623054df22fb9f0f2222197494ee791d499df0bd4399f8b9031ce03a6019f495ab87d704ab075a32e087f658274af88aa4b9c0d53230cb04aac9f59034d5c45a1ec3a8972436e8885bfa4984dde06476f0ff74b08caae176d2fdee4d4034e4ceabbc000e4473623efc987eae8308993b9fbc43e59a99bbec456e4c0dfec0361732de43f0a4819c90b7b85c46560b2879e18ac08d3a913dd7a6cc48388b22f034c35ec9fb3a4f2beabff4b73c97ed3fb3c896f1f32593c16be19e174415330a40309c267010e53d9b555488f43eaccb5c64625f414abd7a7f6b07541506971c3ad03805b2cfc5e3efc78dfda03d3c9737643851cdbfc160542f15414fcb3089f8b0e0351572517f9dcdf23f1a5698170b2c254e7b55c5d7808d094e9ae613d47947b2703e49ef9caa89f4425ec75fffea36796f0c7d03a2307cf987cfa062e261d76c50003937a3015fb8e1d4aad0488887798db280628b33f0a3c4ba4486c75c4b1a0b7c5031ff8859a2d1b0ec91c011542e0fff47246e3eb15274f471d3a2ec8a803ea48ea0219ffff03d9f0a7dfb45c5db57b275ddd64e6377b7be34dc51bf35b9f8ab2ce4a617d29fb03b989b0f19ea37394d9f3802ae8c9fa0d19b69621eb79b81af81cce9dbc5c48780318adaa8cde746c18475ad4c8340b6e996bd13a195ea48845541390d886de576203df4bbfdd776ace8d8de05cddbe9120f457d03ff04b088a002278c3dc78c5505803910caa1f1821ab78a4a80dd5108323d2bfe65433837373372befecbf79fe4d510315fb59efcdd866460a3057c6c4cd2147d6f629be546d2a0e6b9bb8586f404fb703e21524c05a1649c8da2c9b9cfb8b4a10570d1f41e70396128df9eef1805baa200394ea4399d8658f336ca5295276bc90f990f794eb0ade79eec5e77fe92732c6e4033038e2ea0d83df9dded1d6c0980aa567202c7aab7a334c6c30ad1a7f6c83186e035cb455324db3fe18aa099955e011eb8751a5c5cc8e7bcce10d36fcbe5cdf6af30390ff121675205a0608b19c5d0e1813d9705f13c6a7524b07db85900dfbfe022c03a554ec6ce916da67b7d79e8a4b3a183661fec5f1ab5194f21f8bfa564ceabcb303e1ac8e97fbc58ae9775165c6f73e2a331db9c5fadff52e0405067d4d622e01b10345c3578b173a089f99a4c637cafa9c428c4d1cd5e808c0c3a65aa7d8cd9f003b039225d624c4bf19f52bce8e88fa6f8eb771bc9db49e890743782e24076ece3ef303ce095708e66653017b273c3fb4829a66bb1a01053794571290e1234c40d5f7da037480f3cec129fbd048e5f048ae7ddd6987aa7d04a6d8eaa2c5b55c687319d12903e2ca1f77334727568be7569da79709b29fbfb43b03977ad6005caf43bd723aaf03fea80d8b152b526cc362bb69b5b042f0d27cdb19bd97026fc82b745f1bfc7eb003e27a4b67fa95632ae27c54af11f79ed44855930b507020d5b8b0772e98bf5d7e03d42227957f6a193cca807e0f75ca7fb7aa4d9a0c01ccec273216ee559fe91fa00355353c03550a439243db26f9d1d10bb47c895a811a26a9c9581649afe8709dc3035c2f372090edf5b8682fda8d382596682ed040d565326c2cde8247f3b63e12ac033276ff9b8ee2506e8b592f37baa206fc2169cb42a484512332aafb0d13d7fd6303e71cc0e86d922e877c9ffa88e5b206681e2bc68de4fd3f8c15408a136f37215f05581e038ff8a3c86cf5e71128a48dc278f494038379c2264687b72cef82b682900c02470e0833feab4d660364cd8175ad061531c91b51435b6944375e3023cc03bb925dfa5adf74d91491b205581e0351bcb9d7db040b2c879dd7e8a33a5923f7e08f4b271ee10b2ddf7cf5900c04462f22a266320005581e03b1bcd18fcde4a86ebe7365e552b89e44152982966d49c109c06df872e00c1a00011e79490702e643ba1755e76803dc37fe443f528d87bc35dee9941caa9722432cd553547e0d9c02855a6c9750e405581e0306ec7ad2568d6cd69e9004f7ac18c203de1b2e1a160c4bd44a537d1d90040505581e03f59b33ac11a51a9dd912dbd40d961ccf3df0ec58c49d18bbe3261473100c01480d46037bcda0c3d8035097ba47aeaa099dbc9c30acd78fbb62749d637d04cb087cf69d8498be1835db036a5d27b8a9fccf5731d6fd22a175a9e187bf8dbbc4f09b690abf32cdbcef87a2032f2e77573bec51d7fe50ebb809950cec0c83a651f639ad09380b306ee0acb53e03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba036a21dfc472559b46a642ea0af5f0eebaa440de78062202f70deecd9c3ade559d05581e034614d7dc440486433ac0d39be971fa9c4bc18a600f19a0ba248ce464c007011bffffffffffffffff0393807e649bfb5bef371e81c207621131da54f2b322fcce679dd45ccc494e651505581e03bc5d951a7ac38c46d4efe6f641537ee2eaeacae52ef15fc76d7129a5a004010219edfe03abcdb3e56963cc47620edc4774b105b096b0c32f375213c12d0964817e7e6bf8037d98aefebc7cb75fdd966507157ab52219e0e5ac30a42bb7f5ac7f9c1eb1c0d0030f8065087ac5633e656d57c82d4ac96ba5d28f0d3f800b81ebc18dd83e948fc5035f6a43eb91e0ac51f7842690a8701973a6038577a0799b379f7fe597715f8c720312ac7b4c7cfbfb9e04bd29e7785f5852e9e9e68ae6541fbd977c457054c42027032ffc7092b63ec27589fe3df315acb306ac6241a738992c69411361d4dd56a53f03d26711f8047c592e8e2b5d61d130773dfbecdd06d772310dbb58347c210893910219ffff03b1cc4958181f0ea5b13fe90f6917b66b53a46232eb5ee8978ebd6683a8be4df2030aedbdbb1cc6fd38cc56ab114f2a5911ae2c6ed7bde99eaa7dbf7f1bf1115e4f03c11a10883925b277222c551fa9b5844cf377835a85a27848aa98cb45a933cb8503e56c76556dbb544d81e6b28c3feb31af03e24291a02cf28a40618215dbdd6c2103d9d436fc5e30f66158703dc0e2075192b9b60fb01d94174326599fe5a316504603422b101dff186c33f642c7581471427f866efd16c06d9919eff2c346f41f4131031db5fd96c66988743c29c6d594ef3340c9b4f192c2c743b28982e148c45b78110389402e179fc9ddb1519ff9b38ee38981c5276e7593a0e3b8f4f10a953f522c6a030b7730a464aa1267f41a81d9325d22e5a1fb7cc20ca67107b2f0aa0eb9550d67031dac07817db8bbfe52e0ceaf5c490269d0ad5bdb2558be70f04679c4a661706903290c6cc69f8e58adeb31b84c2f925a9ed32d09ff2abf2ede3111fb819d664b2b0219ffff033c42b7522a455598ef0b09bcd3a451a28dd154ab56e153b42d455db94b85328903413e4ed25fb19084f8ba215eacc54ceaf7493a94e58de306c42305a717a31ec60219ffff03404183f7a10c1958c4d8be90ada1a1c63aac14c039cf843b58080ee9ace328ff03afa019424a11425dccfa7e8e103db80d650a0a57a9e691dffc2eddadc5a61d3a03d2e174428bf464e370a67999d19d92a4268d056cbcf0bb4d7f1a3b43692ef23b038c78245517a6398575035b37f11155f3b2f87f58ec69a149b2c46d88ea0f311103549f20f4a6b2e8a6892edfc294b57815e5eebbf4508b66cd1ecc824b8bfa9e71033b1af7cefabf7f278ad1eaa906092ea67f213bcc09f50be3c37b0c52e46f989503329b50bf086355c3a9d2b9680fed21f05351510f3bef4f6697b3b38ba145ae900219ffff03821df77a36a6a144063883257e6a36a0e64e78eaee98cccaeadeff15857b026d030a4ce5f96386d65eaa45dc1474084e4d88e3e6805c3d2e3ddc628b01148843c403f398f35d8c97da4622734b01bcfb1190a097555ff71f92f483779a69646e57f9034132025e7182a7ee5f1ffc5c1abfcd49a0807952b6407fb980b5bb039c02681c0365b06a8fb499314e7b9938fb694f5cc387bce5abd44e7b04ae2821601fb15a31038793e91e21bb3544f7d47df9d949fdcbf5073176e3081838e4e07723a5749f320352c1d274a078adb8306dd51cce2d78ec240c2d5eb776ffdaef51c1cf4e14a2ab039e93bf7b6b3926ae54edc820c1bc6e3bcc6f2ecd28cdd8b4fe355bb0e375d84c03c7db7a065d58720d5cdb07716f6c544c90a203d5d9b952f208fd0c155f30c4a403817a819e5152c247d8052cfbc32612d0ff09776b5157edf358905bacc64ffef60340cdab076522d8dc245d13e14a21fe4c2ef627dd1f39a6f4844c9f8b188f2b260335e0c5167dfe1271223b99db348b830a49e8265c66dfd330d2bc26e57e14753803d6415757ebe03559209be2744bf868919d416992015d97d4b03f6a49b05b47980315f113183a985a40dea6c15840e3ff44555a64cc068fbdd9db685519a729d92e031a81b0a9aef1a603a3f05af01f92a74c36281c3f2f9e12db16774f13622a25c40398ea08831092872122b8acc68b631f4e3f2901955871f3d4c4f6350e25067e3003e2a4628184544206c82836315833759d0a79b0ff0c12f9a1724501c65d9bd54a033cb121991eaecc84853823034ef96fd55bf13ac4f171246d6be7cdf958352b100320156aff3ebfb83ecca770e0f8fbdaa329cc52b57e8c591bec73ba3b1cfe5bf7031eeab4d3681422a7b4db82f69241cd8189a2fab69c473f643ad6e4ed599bc63703c7555333391f2430d401dbd00e15b2e12394cee32bbf03a8c0cb437ddbc2d4d403f8cdfea86c6f644d51a687979fa2ecc8f5dd3be410df6c811c88bec3aa04c7ab033ec80517157e6329df9a499bc6692c62eecbbf5384632929577c4dac84cf843403ec7aa30b9d62a3812cd59a6a6ae6053a5610e1d0ce8cca44f9d6321f5f460d3403c2d7999940ec1a61c336f8a2bb36685b542dc3b662b9f09cac5b35c8200ea875039cc475e756bb8f5734f843cb5f5fec7a131d7e204e0d6f020b492bc4263f9e9d032a886d805a08f46111f96f33ba894688c891323d1b9a3d98cae30f25590a6d3e03bd4e3bd3456dd4e01f411a48fae26fcff9e20a2ceb354af34c0c80193e79cb4a03cac2289ea96ba538d4ffcaadfd01ab94c5dd83f01d91e4d4d439bc43a11947e9033da94e1341dd9d9b561d53da5d0c17f6c81d1634a7c8b98a08fe0f2f4bb370000389869298880da1d38b91f8579b25e9d545c1166072cd2986f1e19a6572ed3eb803d9e25222d58c1e8642cad29cb2ae7c5af439cc67fe838b564452021cd4a1fb23038d608865c684103f1333650f9846329792d2de1a5f642466faed9b0cc5c6e70503799a4f974f93d287ae49f0e18584cb1947812d264b05381befdeea6c4435ff52032d7831c14cde649a2da3ba0881e7db1960cbfdf358d66b8ad063ee50c3fe651805581e033105e4e66d7358d535412f7d88f6814dd5695b53bb39e473f6fca0861007011bffffffffffffffff0459593d6080604052600436106103635760003560e01c8063715018a6116101c6578063c4f6a8ce116100f7578063cfb8ccfb11610095578063f7260d3e1161006f578063f7260d3e14610be0578063fbc911d014610c00578063fc6f786514610c20578063fcf0b9d814610c4057600080fd5b8063cfb8ccfb14610b80578063df2ab5bb14610ba0578063f2fde38b14610bc057600080fd5b8063cc6db2da116100d1578063cc6db2da146109b4578063ce5f39c614610b20578063ced0911214610b40578063cf24284914610b6057600080fd5b8063c4f6a8ce14610ac3578063c97cef1e14610ad9578063caa6fea414610aef57600080fd5b8063ac9650d811610164578063b3ab15fb1161013e578063b3ab15fb14610a38578063b44a272214610a58578063b4ce128014610a8c578063b6a6d17714610aac57600080fd5b8063ac9650d8146109cd578063ad5c4648146109ed578063b1724b4614610a2157600080fd5b80638da5cb5b116101a05780638da5cb5b14610956578063a15ea89f14610974578063a80a71bd14610994578063aaf5eb68146109b457600080fd5b8063715018a614610901578063718da7ee146109165780637c2d6e011461093657600080fd5b8063219f5d17116102a05780634ca6ef281161023e57806369746a1d1161021857806369746a1d1461089157806369b02128146108b15780636d4cec78146108cb57806370a08231146108e157600080fd5b80634ca6ef281461082757806364482f791461085b5780636558954f1461087b57600080fd5b80633b1acf741161027a5780633b1acf74146106e757806342966c68146107c757806344780994146107e757806349404b7c1461080757600080fd5b8063219f5d17146106795780632f745c59146106b157806330ec24cc146106d157600080fd5b80630d55f9131161030d5780631526fe27116102e75780631526fe271461056f57806317caf6f11461062357806318fccc76146106395780631eaaa0451461065957600080fd5b80630d55f913146104c6578063127effb2146104e6578063150b7a021461051e57600080fd5b8063081e3eda1161033e578063081e3eda1461045b5780630c49ccbe146104715780630ce5d4cc146104a657600080fd5b8062f714ce146103db5780630501d5561461040e5780630743384d1461042e57600080fd5b366103d657336001600160a01b037f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f436416148015906103ca5750336001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21614155b156103d457600080fd5b005b600080fd5b3480156103e757600080fd5b506103fb6103f6366004614f58565b610c56565b6040519081526020015b60405180910390f35b34801561041a57600080fd5b506103d4610429366004614f96565b6110c1565b34801561043a57600080fd5b506103fb610449366004614fba565b60096020526000908152604090205481565b34801561046757600080fd5b506103fb60055481565b34801561047d57600080fd5b5061049161048c366004615002565b611140565b60408051928352602083019190915201610405565b3480156104b257600080fd5b506103d46104c136600461507b565b611290565b3480156104d257600080fd5b506104916104e1366004615134565b61149c565b3480156104f257600080fd5b50601254610506906001600160a01b031681565b6040516001600160a01b039091168152602001610405565b34801561052a57600080fd5b5061053e610539366004615161565b611700565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610405565b34801561057b57600080fd5b506105da61058a366004615200565b60066020526000908152604090208054600182015460028301546003840154600485015460059095015493946001600160a01b039384169492841693821692600160a01b90920462ffffff169187565b604080519788526001600160a01b0396871660208901529486169487019490945293909116606085015262ffffff16608084015260a083019190915260c082015260e001610405565b34801561062f57600080fd5b506103fb600d5481565b34801561064557600080fd5b506103fb610654366004614f58565b611c4f565b34801561066557600080fd5b506103d4610674366004615219565b611ce3565b61068c610687366004615250565b61233f565b604080516001600160801b039094168452602084019290925290820152606001610405565b3480156106bd57600080fd5b506103fb6106cc3660046152ca565b61260a565b3480156106dd57600080fd5b506103fb600e5481565b3480156106f357600080fd5b50610767610702366004615200565b6007602052600090815260409020805460018201546002808401546003850154600486015460058701546006909701546001600160801b0380881698600160801b909804169686860b966301000000900490950b946001600160a01b03909216919089565b604080516001600160801b039a8b1681529990981660208a0152600296870b978901979097529390940b6060870152608086019190915260a08501526001600160a01b0390911660c084015260e083015261010082015261012001610405565b3480156107d357600080fd5b506103d46107e2366004615200565b6126c0565b3480156107f357600080fd5b506103d461080236600461533b565b612989565b34801561081357600080fd5b506103d4610822366004614f58565b612b84565b34801561083357600080fd5b506105067f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c89881565b34801561086757600080fd5b506103d461087636600461507b565b612cd2565b34801561088757600080fd5b506103fb60135481565b34801561089d57600080fd5b506103d46108ac36600461537d565b612e7d565b3480156108bd57600080fd5b506103fb6501d1a94a200081565b3480156108d757600080fd5b506103fb60105481565b3480156108ed57600080fd5b506103fb6108fc366004614fba565b612f24565b34801561090d57600080fd5b506103d4612fbe565b34801561092257600080fd5b506103d4610931366004614fba565b612fd2565b34801561094257600080fd5b506103d4610951366004615200565b6130ef565b34801561096257600080fd5b506000546001600160a01b0316610506565b34801561098057600080fd5b5061049161098f366004614fba565b613176565b3480156109a057600080fd5b506104916109af366004615200565b6131d1565b3480156109c057600080fd5b506103fb64e8d4a5100081565b6109e06109db36600461533b565b6131fe565b60405161040591906153f7565b3480156109f957600080fd5b506105067f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b348015610a2d57600080fd5b506103fb62278d0081565b348015610a4457600080fd5b506103d4610a53366004614fba565b613356565b348015610a6457600080fd5b506105067f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f436481565b348015610a9857600080fd5b50600b54610506906001600160a01b031681565b348015610ab857600080fd5b506103fb6201518081565b348015610acf57600080fd5b506103fb60115481565b348015610ae557600080fd5b506103fb60145481565b348015610afb57600080fd5b50600c54610b1090600160a01b900460ff1681565b6040519015158152602001610405565b348015610b2c57600080fd5b506103fb610b3b366004615200565b6133d3565b348015610b4c57600080fd5b506103d4610b5b366004615200565b61366a565b348015610b6c57600080fd5b506103d4610b7b366004614fba565b6136c5565b348015610b8c57600080fd5b506103d4610b9b366004614fba565b613742565b348015610bac57600080fd5b506103d4610bbb366004615459565b613794565b348015610bcc57600080fd5b506103d4610bdb366004614fba565b6138a1565b348015610bec57600080fd5b50600a54610506906001600160a01b031681565b348015610c0c57600080fd5b50600c54610506906001600160a01b031681565b348015610c2c57600080fd5b50610491610c3b366004615490565b61392e565b348015610c4c57600080fd5b506103fb600f5481565b6000610c60613ad4565b6001600160a01b038216301480610c7e57506001600160a01b038216155b15610cb5576040517f32c98ae600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260076020526040902060048101546001600160a01b03163314610cf0576040516330cd747160e01b815260040160405180910390fd5b610cfb818585613b2e565b6005820154600081815260066020908152604080832060018101548251630a81a92360e31b81529251969850949590946001600160a01b03169263540d491892600480820193918290030181865afa158015610d5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7f91906154bc565b90506001600160a01b03811615801590610da35750600c54600160a01b900460ff16155b15610ea3578354600090610dc690600160801b90046001600160801b03166154ef565b6001860154604051638910faf160e01b8152600282810b6004830152630100000090920490910b6024820152600f82900b60448201529091506001600160a01b03831690638910faf190606401600060405180830381600087803b158015610e2d57600080fd5b505af1158015610e41573d6000803e3d6000fd5b50505050600185015460408051600f84900b8152600283810b6020830152630100000090930490920b908201528890859033907fee8f6362d59839b4b3c990d7e085a63a0fe2c58f4eff4a9a2b6de93a4c645ae39060600160405180910390a4505b83546004830180546001600160801b0390921691600090610ec590849061551f565b90915550508354600583018054600160801b9092046001600160801b031691600090610ef290849061551f565b9091555050600087815260076020526040812081815560018101805465ffffffffffff1916905560028101829055600381018290556004810180546001600160a01b03191690556005810182905560060155610f4e3388613e31565b600c546001600160a01b031615610fcb57600c5460405163622cd4e160e11b815233600482015260248101899052604481018590526001600160a01b039091169063c459a9c290606401600060405180830381600087803b158015610fb257600080fd5b505af1158015610fc6573d6000803e3d6000fd5b505050505b6040517f42842e0e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038781166024830152604482018990527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f436416906342842e0e90606401600060405180830381600087803b15801561105457600080fd5b505af1158015611068573d6000803e3d6000fd5b50506040516001600160a01b038916815289925085915033907ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679060200160405180910390a4505050506110bb60018055565b92915050565b6110c9613e5d565b600c80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b8315158102919091179182905560405160ff9190920416151581527fc749456be5379ac4cfc1f856208b32ddcf01b9db3ce6c37784ad91a8390ae9a8906020015b60405180910390a150565b60008061114b613ad4565b8251600090815260076020526040902060048101546001600160a01b03163314611188576040516330cd747160e01b815260040160405180910390fd5b604080517f0c49ccbe0000000000000000000000000000000000000000000000000000000081528551600482015260208601516001600160801b0316602482015290850151604482015260608501516064820152608085015160848201527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43646001600160a01b031690630c49ccbe9060a40160408051808303816000875af1158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190615536565b855191945092506112709082906000613b2e565b506112818185600001516000613eb7565b5061128b60018055565b915091565b600a546001600160a01b031633146112ef5760405162461bcd60e51b815260206004820152600c60248201527f4e6f74207265636569766572000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600a5461132a906001600160a01b037f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8988116911630866142de565b601480548401905580156113405761134061438f565b601354620151808310801590611359575062278d008311155b156113615750815b42600061136e838361555a565b905060008087905083601054111561140557600064e8d4a5100060115486601054611399919061551f565b6113a39190615572565b6113ad9190615591565b600e5460105460408051918252602082018990528101839052919250907f317bea91082b2a8d33761ba0bdd38a785d60acc1b964e3ead01706baaebf548b9060600160405180910390a2611401818361555a565b9150505b8461141564e8d4a5100083615572565b61141f9190615591565b600e8054600190810191829055868101600f5560108690556011839055919350907f44521c2bbb0ee364592908d6177ce446d5554c5a6c4ebd12adf86912c617a78b9061146d90879061555a565b604080519182526020820187905281018590526060810184905260800160405180910390a25050505050505050565b6000806114a7613ad4565b835160009081526007602090815260409182902082516101208101845281546001600160801b038082168352600160801b90910416928101929092526001810154600281810b9484019490945263010000009004830b6060830152918201546080820152600382015460a082015260048201546001600160a01b031660c08201819052600583015460e0830152600690920154610100820152903314611560576040516330cd747160e01b815260040160405180910390fd5b60208501516001600160a01b0316611579573060208601525b6040805163fc6f786560e01b81528651600482015260208701516001600160a01b039081166024830152918701516001600160801b03908116604483015260608801511660648201527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43649091169063fc6f78659060840160408051808303816000875af115801561160e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116329190615536565b602087015191945092506001600160a01b03163014156116ef5760e081810151600090815260066020908152604091829020825193840183528054845260018101546001600160a01b0390811692850192909252600281015482169284019290925260038201548082166060850152600160a01b900462ffffff166080840152600482015460a084015260059091015460c083015285166116d1573394505b6116df8160400151866144ff565b6116ed8160600151866144ff565b505b506116f960018055565b9250929050565b600061170a613ad4565b336001600160a01b037f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f4364161461176c576040517f0bf3405700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c081018252600080825260208201819052818301819052606082018190526080820181905260a082015290517f99fbab88000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b037f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f436416906399fbab889060240161018060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d91906155e3565b505050506001600160801b031660a08901819052600291820b60808a015291900b606088015262ffffff9190911660408701526001600160a01b03918216602087015291168452151591506118a7905057604051636180f03f60e11b815260040160405180910390fd5b80516001600160a01b0390811660009081526008602090815260408083208286015190941683529281528282208385015162ffffff16835290522054806119015760405163079f151f60e11b815260040160405180910390fd5b6000818152600660209081526040808320815160e0810183528154815260018201546001600160a01b03908116828601819052600284015482168386015260038401549182166060840152600160a01b90910462ffffff16608083015260048084015460a084015260059093015460c08301528351630a81a92360e31b81529351919594909363540d49189381810193918290030181865afa1580156119ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cf91906154bc565b90506001600160a01b0381166119f85760405163ef3d9b2160e01b815260040160405180910390fd5b600088815260076020526040908190206060860151600182018054608089015162ffffff90811663010000000265ffffffffffff19909216931692909217919091179055600480820180546001600160a01b03808f166001600160a01b0319909216919091179091556005830187905592516310a537f160e11b8152919284169163214a6fe291611a979142910163ffffffff91909116815260200190565b600060405180830381600087803b158015611ab157600080fd5b505af1158015611ac5573d6000803e3d6000fd5b50505050611ad5818a6000613eb7565b60608501516080860151604051633816bae960e11b8152600292830b6004820152910b60248201526001600160a01b0383169063702d75d290604401602060405180830381865afa158015611b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5291906156c4565b6002820155611baa8a8a6001600160a01b039190911660008181526002602081815260408084208054600384528286208187528452828620889055968552600483529084209590955592909152905280546001019055565b60a08501516060808701516080880151604080516001600160801b039095168552600292830b6020860152910b908301528a9186916001600160a01b038e16917fb19157bff94fdd40c58c7d4a5d52e8eb8c2d570ca17b322b49a2bbbeedc82fbf910160405180910390a4507f150b7a0200000000000000000000000000000000000000000000000000000000945050505050611c4660018055565b95945050505050565b6000611c59613ad4565b600083815260076020526040902060048101546001600160a01b03163314611c94576040516330cd747160e01b815260040160405180910390fd5b80546001600160801b0316158015611cae57506003810154155b15611ccc57604051636180f03f60e11b815260040160405180910390fd5b611cd7818585613b2e565b9150506110bb60018055565b611ceb613e5d565b8015611cf957611cf961438f565b600b546040517f4c96a3890000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526000921690634c96a389906024016020604051808303816000875af1158015611d5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8391906154bc565b905083600d6000828254611d97919061555a565b925050819055506000836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0291906154bc565b90506000846001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906154bc565b90506000856001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ece91906156dd565b6001600160a01b038085166000908152600860209081526040808320938716835292815282822062ffffff851683529052205490915015611f73576001600160a01b038381166000908152600860209081526040808320938616835292815282822062ffffff8516835290528190205490517f7d38f65f00000000000000000000000000000000000000000000000000000000815260048101919091526024016112e6565b604051636eb1769f60e11b81523060048201526001600160a01b037f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43648116602483015284169063dd62ed3e90604401602060405180830381865afa158015611fdf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200391906156c4565b61203d5761203d6001600160a01b0384167f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f4364600019614697565b604051636eb1769f60e11b81523060048201526001600160a01b037f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43648116602483015283169063dd62ed3e90604401602060405180830381865afa1580156120a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd91906156c4565b612107576121076001600160a01b0383167f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f4364600019614697565b6005600081548092919060010191905055506040518060e00160405280888152602001876001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b031681526020018262ffffff1681526020016000815260200160008152506006600060055481526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160030160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060808201518160030160146101000a81548162ffffff021916908362ffffff16021790555060a0820151816004015560c0820151816005015590505060055460086000856001600160a01b03166001600160a01b031681526020019081526020016000206000846001600160a01b03166001600160a01b0316815260200190815260200160002060008362ffffff1662ffffff1681526020019081526020016000208190555060055460096000886001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316866001600160a01b03166005547f0621c8de33a230aec1aee0d4f7b6c81d97bd3ce0a2040ca33fbd668e521ecafe8a60405161232e91815260200190565b60405180910390a450505050505050565b600080600061234c613ad4565b83516000908152600760205260409020600581015461237e5760405163079f151f60e11b815260040160405180910390fd5b600581810154600090815260066020908152604091829020825160e0810184528154815260018201546001600160a01b03908116828501526002830154811694820185905260038301549081166060830152600160a01b900462ffffff166080820152600482015460a082015293015460c084015287015161240091906147cc565b612412816060015187604001516147cc565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031681604001516001600160a01b03161415801561248e57507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031681606001516001600160a01b031614155b801561249a5750600034115b156124a457600080fd5b604080517f219f5d170000000000000000000000000000000000000000000000000000000081528751600482015260208801516024820152908701516044820152606087015160648201526080870151608482015260a087015160a48201527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43646001600160a01b03169063219f5d1790349060c40160606040518083038185885af1158015612557573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061257c91906156f8565b6020890151929750909550935060009061259790869061551f565b905060008488604001516125ab919061551f565b905081156125c1576125c1836040015183614860565b80156125d5576125d5836060015182614860565b6125e58489600001516000613b2e565b506125f68489600001516000613eb7565b5050505061260360018055565b9193909250565b6001600160a01b03821660009081526002602052604081205482106126975760405162461bcd60e51b815260206004820152602560248201527f456e756d657261626c653a206f776e657220696e646578206f7574206f66206260448201527f6f756e647300000000000000000000000000000000000000000000000000000060648201526084016112e6565b506001600160a01b03919091166000908152600360209081526040808320938352929052205490565b6126c8613ad4565b60008181526007602090815260409182902082516101208101845281546001600160801b038082168352600160801b90910416928101929092526001810154600281810b9484019490945263010000009004830b6060830152918201546080820152600382015460a082015260048201546001600160a01b031660c08201819052600583015460e083015260069092015461010082015290331461277f576040516330cd747160e01b815260040160405180910390fd5b60008160a00151118061279b575080516001600160801b031615155b156127d2576040517f32e7879300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260076020526040812081815560018101805465ffffffffffff1916905560028101829055600381018290556004810180546001600160a01b031916905560058101829055600601556128293383613e31565b600c546001600160a01b0316156128ac57600c5460e082015160405163622cd4e160e11b81523360048201526024810185905260448101919091526001600160a01b039091169063c459a9c290606401600060405180830381600087803b15801561289357600080fd5b505af11580156128a7573d6000803e3d6000fd5b505050505b6040517f42966c68000000000000000000000000000000000000000000000000000000008152600481018390527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43646001600160a01b0316906342966c6890602401600060405180830381600087803b15801561292757600080fd5b505af115801561293b573d6000803e3d6000fd5b50505060e08201516040516000815284925033907ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679060200160405180910390a45061298660018055565b50565b6012546001600160a01b031633148015906129af57506000546001600160a01b03163314155b156129e6576040517f98f76d0e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260005b82811015612b7e57600060066000868685818110612a0a57612a0a61572f565b602090810292909201358352508181019290925260409081016000908120825160e0810184528154815260018201546001600160a01b03908116828701819052600284015482168387015260038401549182166060840152600160a01b90910462ffffff16608083015260048084015460a084015260059093015460c08301528451630a81a92360e31b815294519196509294929363540d491893818401939092918290030181865afa158015612ac5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae991906154bc565b825190915015801590612b0457506001600160a01b03811615155b15612b69576040516310a537f160e11b815263ffffffff851660048201526001600160a01b0382169063214a6fe290602401600060405180830381600087803b158015612b5057600080fd5b505af1158015612b64573d6000803e3d6000fd5b505050505b50508080612b7690615745565b9150506129ea565b50505050565b612b8c613ad4565b6040516370a0823160e01b81523060048201526000907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316906370a0823190602401602060405180830381865afa158015612bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1791906156c4565b905082811015612c3a57604051632ca2f52b60e11b815260040160405180910390fd5b8015612cc457604051632e1a7d4d60e01b8152600481018290527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015612ca257600080fd5b505af1158015612cb6573d6000803e3d6000fd5b50505050612cc48282614937565b50612cce60018055565b5050565b612cda613e5d565b82801580612ce9575060055481115b15612d20576040517f87e8068300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260066020908152604080832060018101548251630a81a92360e31b815292514295929492936001600160a01b039092169263540d491892600480820193918290030181865afa158015612d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da091906154bc565b90506001600160a01b03811615612e11576040516310a537f160e11b815263ffffffff841660048201526001600160a01b0382169063214a6fe290602401600060405180830381600087803b158015612df857600080fd5b505af1158015612e0c573d6000803e3d6000fd5b505050505b8415612e1f57612e1f61438f565b8154600d548791612e2f9161551f565b612e39919061555a565b600d5585825560405186815287907fc0cfd54d2de2b55f1e6e108d3ec53ff0a1abe6055401d32c61e9433b747ef9f89060200160405180910390a250505050505050565b600c546001600160a01b03163314612ed75760405162461bcd60e51b815260206004820152601760248201527f4e6f74206661726d20626f6f737420636f6e747261637400000000000000000060448201526064016112e6565b60008281526007602052604090206005810154612f075760405163079f151f60e11b815260040160405180910390fd5b612f1381846000613b2e565b50612f1f818484613eb7565b505050565b60006001600160a01b038216612fa25760405162461bcd60e51b815260206004820152602d60248201527f456e756d657261626c653a2061646472657373207a65726f206973206e6f742060448201527f612076616c6964206f776e65720000000000000000000000000000000000000060648201526084016112e6565b506001600160a01b031660009081526002602052604090205490565b612fc6613e5d565b612fd06000614997565b565b612fda613e5d565b6001600160a01b0381166130015760405163d92e233d60e01b815260040160405180910390fd5b604051636eb1769f60e11b81526001600160a01b038281166004830152306024830152600019917f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8989091169063dd62ed3e90604401602060405180830381865afa158015613073573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061309791906156c4565b146130a157600080fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527f4a2963bfc20b87a0c055468a66e6638d57725e93fb4d65733fb2f25587ae8c4f90602001611135565b6130f7613e5d565b6201518081108061310a575062278d0081115b15613141576040517f9e11b5e600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60138190556040518181527fb5521c8a03b484502769158d9dd83186bd0748f3ece2fbf358233994c2a2097690602001611135565b6000806000600d5411156131c757600d546001600160a01b038416600090815260096020908152604080832054835260069091529020546011546131ba9190615572565b6131c49190615591565b91505b6010549050915091565b6000806000600d5411156131c757600d546000848152600660205260409020546011546131ba9190615572565b60608167ffffffffffffffff81111561321957613219614fd7565b60405190808252806020026020018201604052801561324c57816020015b60608152602001906001900390816132375790505b50905060005b8281101561334f57600080308686858181106132705761327061572f565b90506020028101906132829190615760565b6040516132909291906157a7565b600060405180830381855af49150503d80600081146132cb576040519150601f19603f3d011682016040523d82523d6000602084013e6132d0565b606091505b50915091508161331c576044815110156132e957600080fd5b6004810190508080602001905181019061330391906157b7565b60405162461bcd60e51b81526004016112e69190615859565b8084848151811061332f5761332f61572f565b60200260200101819052505050808061334790615745565b915050613252565b5092915050565b61335e613e5d565b6001600160a01b0381166133855760405163d92e233d60e01b815260040160405180910390fd5b601280546001600160a01b0319166001600160a01b0383169081179091556040519081527fc47d127c07bdd56c5ccba00463ce3bd3c1bca71b4670eea6e5d0c02e4aa156e290602001611135565b600081815260076020908152604080832081516101208101835281546001600160801b038082168352600160801b90910416938101939093526001810154600281810b9385019390935263010000009004820b6060840152908101546080830152600381015460a083015260048101546001600160a01b031660c0830152600581015460e08301819052600690910154610100830152156136645760e0818101516000908152600660209081526040808320815194850182528054855260018101546001600160a01b03908116868501819052600283015482168785015260038301549182166060880152600160a01b90910462ffffff16608087015260048083015460a088015260059092015460c08701528251630a81a92360e31b81529251909363540d49189380840193919291908290030181865afa15801561351d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061354191906154bc565b90506001600160a01b038116156136505760408381015160608501519151633816bae960e11b8152600291820b600482015291900b60248201526000906001600160a01b0383169063702d75d290604401602060405180830381865afa1580156135af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135d391906156c4565b905083608001518111801561360f575083602001516001600160801b0316846080015182613601919061551f565b61360d90600019615591565b115b1561364e57600160801b84602001516001600160801b0316856080015183613637919061551f565b6136419190615572565b61364b9190615591565b94505b505b60a083015161365f908561555a565b935050505b50919050565b613672613ad4565b600081815260076020526040902060058101546136a25760405163079f151f60e11b815260040160405180910390fd5b6136ae81836000613b2e565b506136bb81836000613eb7565b5061298660018055565b6136cd613e5d565b6001600160a01b0381166136f45760405163d92e233d60e01b815260040160405180910390fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f29e3e57b4a1e4513d009781598c7e4b8b2a68e4b71fe977e362d1b591016fade90602001611135565b61374a613e5d565b600c80546001600160a01b0319166001600160a01b0383169081179091556040517ff32244aa081c72b930bb47bb702115e112d779ed353d6b1a70b28babc9822b7a90600090a250565b61379c613ad4565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156137e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380791906156c4565b90507f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8986001600160a01b0316846001600160a01b0316141561385c57601454811061385657601454900361385c565b60145560005b8281101561387d57604051632ca2f52b60e11b815260040160405180910390fd5b8015613897576138976001600160a01b03851683836149e7565b50612f1f60018055565b6138a9613e5d565b6001600160a01b0381166139255760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016112e6565b61298681614997565b600080613939613ad4565b825160009081526007602090815260409182902082516101208101845281546001600160801b038082168352600160801b90910416928101929092526001810154600281810b9484019490945263010000009004830b6060830152918201546080820152600382015460a082015260048201546001600160a01b031660c08201819052600583015460e08301526006909201546101008201529033146139f2576040516330cd747160e01b815260040160405180910390fd5b60208401516001600160a01b0316613a0b573060208501525b6040805163fc6f786560e01b81528551600482015260208601516001600160a01b039081166024830152918601516001600160801b03908116604483015260608701511660648201527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43649091169063fc6f78659060840160408051808303816000875af1158015613aa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ac49190615536565b909350915061128b905060018055565b60026001541415613b275760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016112e6565b6002600155565b6005838101546000908152600660209081526040808320815160e0810183528154815260018201546001600160a01b03908116828601819052600284015482168386015260038401549182166060840152600160a01b90910462ffffff16608083015260048084015460a0840152929096015460c08201528251630a81a92360e31b81529251949590948694919363540d4918938181019392918290030181865afa158015613be1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c0591906154bc565b90506001600160a01b03811615801590613c295750600c54600160a01b900460ff16155b15613d98576040516310a537f160e11b815263ffffffff421660048201526001600160a01b0382169063214a6fe290602401600060405180830381600087803b158015613c7557600080fd5b505af1158015613c89573d6000803e3d6000fd5b505050506001860154604051633816bae960e11b8152600282810b6004830152630100000090920490910b60248201526000906001600160a01b0383169063702d75d290604401602060405180830381865afa158015613ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d1191906156c4565b9050866002015481118015613d52575086546002880154600160801b9091046001600160801b031690613d44908361551f565b613d5090600019615591565b115b15613d925786546002880154600160801b918290046001600160801b031690613d7b908461551f565b613d859190615572565b613d8f9190615591565b93505b60028701555b6003860154613da7908461555a565b92508215613e28576001600160a01b03841615613e205760006003870155613dcf8484614a30565b6005860154604080516001600160a01b03871681526020810186905287929133917fd25759d838eb0a46600f8f327cce144e61d7caefbef27010fe31e2aab091704f910160405180910390a4613e28565b600386018390555b50509392505050565b613e3b8282614b21565b506001600160a01b031660009081526002602052604090208054600019019055565b6000546001600160a01b03163314612fd05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016112e6565b60008060007f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43646001600160a01b03166399fbab88866040518263ffffffff1660e01b8152600401613f0a91815260200190565b61018060405180830381865afa158015613f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f4c91906155e3565b5050505060058e015460009081526006602052604090208e54939b50919950975095506001600160801b038088169116149350613fd89250505057865460048201546001600160801b0380851692613fa69291169061551f565b613fb0919061555a565b600482015586546fffffffffffffffffffffffffffffffff19166001600160801b0383161787555b600c5464e8d4a51000906001600160a01b031615801590613ff7575085155b1561408b57600c546040517f44e7bf06000000000000000000000000000000000000000000000000000000008152600481018990526001600160a01b03909116906344e7bf06906024016020604051808303816000875af1158015614060573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061408491906156c4565b9050614094565b85156140945750845b64e8d4a510008110156140ad575064e8d4a510006140c4565b6501d1a94a20008111156140c457506501d1a94a20005b6006880181905560006140f864e8d4a510006140e9846001600160801b038816615572565b6140f39190615591565b614c3b565b895490915060009061411a90600160801b90046001600160801b03168361586c565b905080600f0b6000146142d257895460058501546001600160801b038085169261414f92600160801b9091049091169061551f565b614159919061555a565b600585015589546001600160801b03808416600160801b029116178a55600184015460408051630a81a92360e31b815290516000926001600160a01b03169163540d49189160048083019260209291908290030181865afa1580156141c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141e691906154bc565b90506001600160a01b03811661420f5760405163ef3d9b2160e01b815260040160405180910390fd5b604051638910faf160e01b8152600289810b600483015288900b6024820152600f83900b60448201526001600160a01b03821690638910faf190606401600060405180830381600087803b15801561426657600080fd5b505af115801561427a573d6000803e3d6000fd5b5050505060058b015460408051600f85900b815260028b810b60208301528a900b8183015290518c929133917fee8f6362d59839b4b3c990d7e085a63a0fe2c58f4eff4a9a2b6de93a4c645ae39181900360600190a4505b50505050505050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052612b7e9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152614cba565b4260015b6005548111612cce576000818152600660209081526040808320815160e0810183528154815260018201546001600160a01b03908116828601819052600284015482168386015260038401549182166060840152600160a01b90910462ffffff16608083015260048084015460a084015260059093015460c08301528351630a81a92360e31b81529351919594909363540d49189381810193918290030181865afa158015614446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061446a91906154bc565b82519091501580159061448557506001600160a01b03811615155b156144ea576040516310a537f160e11b815263ffffffff851660048201526001600160a01b0382169063214a6fe290602401600060405180830381600087803b1580156144d157600080fd5b505af11580156144e5573d6000803e3d6000fd5b505050505b505080806144f790615745565b915050614393565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015614546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061456a91906156c4565b90507f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8986001600160a01b0316836001600160a01b031614156145bf5760145481106145b95760145490036145bf565b60145560005b8015612f1f577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316836001600160a01b0316141561468357604051632e1a7d4d60e01b8152600481018290527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561466157600080fd5b505af1158015614675573d6000803e3d6000fd5b50505050612f1f8282614937565b612f1f6001600160a01b03841683836149e7565b8015806147115750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156146eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061470f91906156c4565b155b6147835760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016112e6565b6040516001600160a01b038316602482015260448101829052612f1f9084907f095ea7b3000000000000000000000000000000000000000000000000000000009060640161432b565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316826001600160a01b031614801561480d5750600034115b1561484b57803414612cce576040517f4b508fef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612cce6001600160a01b0383163330846142de565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316826001600160a01b03161480156148a15750600034115b15614923577f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43646001600160a01b03166312210e8a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561490157600080fd5b505af1158015614915573d6000803e3d6000fd5b50505050612cce3347614937565b612cce6001600160a01b03831633836149e7565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114614984576040519150601f19603f3d011682016040523d82523d6000602084013e614989565b606091505b5050905080612f1f57600080fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b038316602482015260448101829052612f1f9084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161432b565b8015612cce576040516370a0823160e01b81523060048201526000907f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8986001600160a01b0316906370a0823190602401602060405180830381865afa158015614a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614ac191906156c4565b905081811015614acf578091505b8160145410614ae657601480548390039055614aed565b8181036014555b612f1f6001600160a01b037f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8981684846149e7565b6001600160a01b038216600090815260026020526040812054614b469060019061551f565b6000838152600460209081526040808320546001600160a01b03881684526003835281842081855290925290912054919250908314614bc75760405162461bcd60e51b815260206004820152600f60248201527f496e76616c696420746f6b656e4964000000000000000000000000000000000060448201526064016112e6565b818114614c08576001600160a01b03841660009081526003602090815260408083208584528252808320548484528184208190558352600490915290208190555b5060009182526004602090815260408084208490556001600160a01b039094168352600381528383209183525290812055565b6000600160801b8210614cb65760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016112e6565b5090565b6000614d0f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614d9f9092919063ffffffff16565b805190915015612f1f5780806020019051810190614d2d91906158ce565b612f1f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016112e6565b6060614dae8484600085614db6565b949350505050565b606082471015614e2e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016112e6565b600080866001600160a01b03168587604051614e4a91906158eb565b60006040518083038185875af1925050503d8060008114614e87576040519150601f19603f3d011682016040523d82523d6000602084013e614e8c565b606091505b5091509150614e9d87838387614ea8565b979650505050505050565b60608315614f14578251614f0d576001600160a01b0385163b614f0d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016112e6565b5081614dae565b614dae8383815115614f295781518083602001fd5b8060405162461bcd60e51b81526004016112e69190615859565b6001600160a01b038116811461298657600080fd5b60008060408385031215614f6b57600080fd5b823591506020830135614f7d81614f43565b809150509250929050565b801515811461298657600080fd5b600060208284031215614fa857600080fd5b8135614fb381614f88565b9392505050565b600060208284031215614fcc57600080fd5b8135614fb381614f43565b634e487b7160e01b600052604160045260246000fd5b6001600160801b038116811461298657600080fd5b600060a0828403121561501457600080fd5b60405160a0810181811067ffffffffffffffff8211171561503757615037614fd7565b60405282358152602083013561504c81614fed565b806020830152506040830135604082015260608301356060820152608083013560808201528091505092915050565b60008060006060848603121561509057600080fd5b833592506020840135915060408401356150a981614f88565b809150509250925092565b6000608082840312156150c657600080fd5b6040516080810181811067ffffffffffffffff821117156150e9576150e9614fd7565b60405282358152905080602083013561510181614f43565b6020820152604083013561511481614fed565b6040820152606083013561512781614fed565b6060919091015292915050565b60008060a0838503121561514757600080fd5b61515184846150b4565b91506080830135614f7d81614f43565b60008060008060006080868803121561517957600080fd5b853561518481614f43565b9450602086013561519481614f43565b935060408601359250606086013567ffffffffffffffff808211156151b857600080fd5b818801915088601f8301126151cc57600080fd5b8135818111156151db57600080fd5b8960208285010111156151ed57600080fd5b9699959850939650602001949392505050565b60006020828403121561521257600080fd5b5035919050565b60008060006060848603121561522e57600080fd5b83359250602084013561524081614f43565b915060408401356150a981614f88565b600060c0828403121561526257600080fd5b60405160c0810181811067ffffffffffffffff8211171561528557615285614fd7565b8060405250823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201528091505092915050565b600080604083850312156152dd57600080fd5b82356152e881614f43565b946020939093013593505050565b60008083601f84011261530857600080fd5b50813567ffffffffffffffff81111561532057600080fd5b6020830191508360208260051b85010111156116f957600080fd5b6000806020838503121561534e57600080fd5b823567ffffffffffffffff81111561536557600080fd5b615371858286016152f6565b90969095509350505050565b6000806040838503121561539057600080fd5b50508035926020909101359150565b60005b838110156153ba5781810151838201526020016153a2565b83811115612b7e5750506000910152565b600081518084526153e381602086016020860161539f565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561544c57603f1988860301845261543a8583516153cb565b9450928501929085019060010161541e565b5092979650505050505050565b60008060006060848603121561546e57600080fd5b833561547981614f43565b92506020840135915060408401356150a981614f43565b6000608082840312156154a257600080fd5b614fb383836150b4565b80516154b781614f43565b919050565b6000602082840312156154ce57600080fd5b8151614fb381614f43565b634e487b7160e01b600052601160045260246000fd5b600081600f0b6f7fffffffffffffffffffffffffffffff19811415615516576155166154d9565b60000392915050565b600082821015615531576155316154d9565b500390565b6000806040838503121561554957600080fd5b505080516020909101519092909150565b6000821982111561556d5761556d6154d9565b500190565b600081600019048311821515161561558c5761558c6154d9565b500290565b6000826155ae57634e487b7160e01b600052601260045260246000fd5b500490565b805162ffffff811681146154b757600080fd5b8051600281900b81146154b757600080fd5b80516154b781614fed565b6000806000806000806000806000806000806101808d8f03121561560657600080fd5b8c516bffffffffffffffffffffffff8116811461562257600080fd5b9b5061563060208e016154ac565b9a5061563e60408e016154ac565b995061564c60608e016154ac565b985061565a60808e016155b3565b975061566860a08e016155c6565b965061567660c08e016155c6565b955061568460e08e016155d8565b94506101008d015193506101208d015192506156a36101408e016155d8565b91506156b26101608e016155d8565b90509295989b509295989b509295989b565b6000602082840312156156d657600080fd5b5051919050565b6000602082840312156156ef57600080fd5b614fb3826155b3565b60008060006060848603121561570d57600080fd5b835161571881614fed565b602085015160409095015190969495509392505050565b634e487b7160e01b600052603260045260246000fd5b6000600019821415615759576157596154d9565b5060010190565b6000808335601e1984360301811261577757600080fd5b83018035915067ffffffffffffffff82111561579257600080fd5b6020019150368190038213156116f957600080fd5b8183823760009101908152919050565b6000602082840312156157c957600080fd5b815167ffffffffffffffff808211156157e157600080fd5b818401915084601f8301126157f557600080fd5b81518181111561580757615807614fd7565b604051601f8201601f19908116603f0116810190838211818310171561582f5761582f614fd7565b8160405282815287602084870101111561584857600080fd5b614e9d83602083016020880161539f565b602081526000614fb360208301846153cb565b600081600f0b83600f0b60008112816f7fffffffffffffffffffffffffffffff19018312811516156158a0576158a06154d9565b816f7fffffffffffffffffffffffffffffff0183138116156158c4576158c46154d9565b5090039392505050565b6000602082840312156158e057600080fd5b8151614fb381614f88565b600082516158fd81846020870161539f565b919091019291505056fea2646970667358221220109eb4b53cd461f51ba54c31cc02e2a5f039fad52bcf51fd5c82ea3c35c6bea764736f6c634300080a003303dd2e9e0413304b046736bb193e312a61874b78c614b109d36e9743feae5fa35e0312d742ccee821c0a1bb3a465bccc6b9b3ba22018522cf2d4870832da2719036103affab503aed2ec982755fed41d13578a4110315cfa39369f14c4500ab8317b9703def6a44aab699db799f57712aff642e014157c36be50093539716153b74cb67c0355c539d89ef4b925e51f56acb42e9fbfa9d1dd1fd006214ed98a06ddc7dc1f0603598c617a8d7c8c5b0afce271a03e22b14621ec6ddbcc1c69a68f47374f2703a203d45385f770bd8011706d032068a686ab9b1a852eddf468eea4d7d72ddfb4753f03fea26a9391f9bebd1d6ae1ea1aa3fdd7ae068084024a2205df0907c9c68ed86203e2c3549410dc67462332a95edf57f1db4c17c954287a788a8015f88d8d8d6f7a03cb072a37ed85c575bd0d08c639c37ea1d4e0cf5f2f0bdfa58860eeb5e88a411c03f14f6bed2775d4fdf485d361922c5ad31ad23d4d95acd57689f92954039e06e9005820038356827d058211adea76e20d59df9af3ea832d145cd6357022126cdaaa9d90410300582003c64e823ea44a551d1244a4c3779641fdf42d7a3dea9f478c6b6b93a70d5bc041050342447a3da6ad00fb5074fbaaa67fb6317065835bbe5e83ee5c5dd41a542b1a070342b9099d76f1eb9f146c3485904cfd2bdcae4ae3e5d7d3dfeee98ce4d23675bc0058200387c7d2816178f323c852faa9def2920ede944ea4c1db34cabef9b2a7990160530b852d4601629041e72488bf02ad6d96704a710396a55588990970529a0b9d1642ddaf275b631eefdd17b5ef90785688f7f6902a03b526b095fd514f05af439d454c1dcb677a30e0a21caff5987319a2c0219ba3320058200367ac13463202dc6ba1bdc6b4f3da514ef94f2bde32a781b97f1603af845520413603fd870f8f43e1d53b8851f16e7c3b0ff9a12687f324bc6892fe2faa7b8cf6a5190321c5af4ae466b761ac68405f87b18a23689ffcb6f2a829c4119b96b57f04054d03f336336bcdc4b1d3d2d60313ada19d0eca8b77cbc5e1c073e56bc9364ce6cace00582003f1e602d368a12c28c93acc45497b595454978308c3a327642ce5405be3b5f0411700582003ecf1013f7b764c933e9d7732c0cbb948b0d7bf221d8d3ae6758c0c21f8291041290058200384d1c79fe4abd3d6ce47a7638c1bbd688208ea46dc919a345c38d5e84db9e045e8d4a510000219fddf0399212da4a1a944114c026fd76bc0271c5e74e2713995ebf17f3293216b43167a03e2025d45b43e93a488160645b63bc159b502040120cb6de4e91c2e5168027b8503dc7ed32c40a59b6d4b63b0b5b31597350ff156594349d28814ccb6ea74a7f5ee03c2a4f29615593da5dd9153eea85e9dc486f98f11876564a520ebdda88384b3b60219ffff030cb72575ec5b71b619702afc767ef8f95c038efc8b73a9d3c7cdd6f6e18bd12003d4e9965fa17073c5f87daf7d6c933cbae52431ed8dabb6145f4dc267db5974c90309546bbe87e45f093b16e995dffc080f00c8a52cd7683f8ba86d3a6de50e4f420364b5e91632a25d9593f0bb37e8c97c04489cf38ea898f182c160a592ffcec52803e0919a321f8e23a08cac64ae9c127807794f30c5e27709117e8ae78bd3dc79b703d46b330d25536c0d88fc3e5d756ca3a2ca363e4e02340a80c471dc043d1ce74203b24d31c91999280653ddd7e0e75d297ae920371756811907b1c479acc5af62f703dc4a1888c896c7d5838df46b72bf9a282736e040882afe4c34c7cceb870f725b03083be9ee79bd8f47f04d29a5c0bda407b2a4db6c02f49c121fb1219fda15bd850308f8a4f7f620cfee63530fd1c6ac78240b42100993b750803de17198b7c2c2d70377822d02c7746fb6fbf28b2a81d3fc13756535fe81848c66e4d7c051ce9f3b8b0058200308964779950b2ec0bedea7e569f0dd21ec4cad0c6a376a4b9e5b458971948045e8d4a5100000582003db687b151a6e5ebc955c75377de6992cb5855e946a346b92d1f2c66ce9c7d045e8d4a510000058200325dc09180dc3dbb35d970e3aa64214ab9fb858198946acc717ed57833020f0412500582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672044663388eb00582003b281b83c365777340b64d95e568610a4c612e509da42e9e16c5f9434105680540100546f2cd4c9d97f798ffc9755e47865ff7ee603498d485c116a5e04dc0ba142f9599b0a9d37a47ae8a9f121977c40e2c5ae28fe0058200334ea48477b68814ed13e1db3cd9fe5cf3b5258920ecaf6c07cf70f26c645b046fd099afd017003a590de3f983081cdacc3a90e3bcf99a82f465c1f6b3e32a3195327501dd8671700582003230817e3b67dbaf479d996c9f2ee84cfa6ee9837fb8300eb32846d2e42248042145103da4bc3737abe6ddf82288f707b42cdc46d1fc04a88e6ee922fe09148d1fcd82900582003912259c9bb9fd8e3164f0428d10a37982c24e60536a58cddcd518d417f5b004204920360f2dcc52560c9bf183c122819a4b5f37becac237052764bd3792a2e5770c72f0219fdf8034a480d5f50f8a633764c47c2c3ece4b004fc0df9994fef170a8cea3e8fe72858036b27f718cb54972edb3b95c1b0b8bcbccc0eb15d460c9b4b0cc1694e636749d703a0b78be832c71f0aa2f08a72021577d505a52a815c7df48b9392cafe746558ea03415b7ac2ebbdc689b11c2b2f61e4e88b78aee3fef88e6d9a3bf485a8e5e883560219ffff03529cbe635a2b6a65d9350b41d7f40730028a60ce119f3f7e554ddbe9faf722b803fc4f96704eebb4fb59e20e2ca0bd5e6df4474418e304d353086fbcb60d15e77903d8fc338569eeaefb41fa87fe5b6ae75ae30381f82a731351462c4a3a6ea43ba903a07f0dc3e64fdf7aadd2b69b95077d86c92de92184eed6fa1a47b7f1d15f483d0303d7ae71f2d0ba2634635ca7bbc8d7759866b616cba34ef3430d190259375581030144616c8ff6d8b8ea3ab227a1034d23710ce6c3690741466875e46402eb260503b2596c42da4875699459fedd68c9be70f454206f16610046d3487b0d25b7a3ca036db6ab6f000dd7aa3bd6178ed13394cb10f038b332a29c6693177ee796b391b30313c58b5e4c877fcbd829a89f829f79c0681b2ed6fa72bf12c27cef271c810aad032e014f9ccbb3aef5bd6a7a1d0ffbb3ae52c5917f1f1eec70d52259da276635db03820e62c68a8a7e52249153a0f85bef29f0e28dd73671a1b0042d5348f77b99fa00582003db6ff62b44689017448d5a61ddb53fb87f39e69459acd09d16bfce1f38ebc0440400000300581f023c6e2d5091920289be1dd359cf0e260345686c8723b21c8d5617a6defe924809841bbfb7c2cd6b00581f02b2948fa9233b640ede20093bd0360af76031dc35276139ee04d76de374b7410200581f03cc333919d6a99a9abab651eb29f5a9fe938879f78f3cbe3bb5b32ebec2f0410100581f03330606da1b3a511cb74d59067f686371c2dfcf08c40f28d4ccae4bbb8eb041bf02188802190910005820034422f822e415df80c81d289326ed67a878cc22c1ee8926202ebbc0e09edbc054201c078d5d9d9029392580553a33c5b0eb94d5fd00582003f70e3c4427afb400dc329570643b3e58070dee2ec1473c122842d4d17e85a045017200014a0058200379811893e1495113ceffd44f9ee422075caf4b3edafb13adf680cefdfb233051010000000000000000000000000000000103d28fda256fb160d8cde6e903890b8e8b03bf1c45d41e55580073a16fc63a50c400582003e7785a7eaf8dd9e42b75057348538ca802928b33a8477ab1a7bf249550a4304603094403091c02199dc903d3d43f321298fc3d3231f9859137b46de2c8db140f5bce0702bfe2fc1777cb9d03e655de667e7f6fb9f168558192be918fcab58775feff31a6ff93ee7d2d175cc00383b0bc14b198cd21ca6a2112f4cf8fb6ba33e65886982833bcd909d2881a3560030ba13e16c8b024255006f842a620ef6460b9002541d53c720d5e3e256392d5c3035566599c8b6e99afe1f1b22d1cf970b73cb87c5b10c8bf38f45fe7c7f4d978f9037aa26fe92483fb9ed26ef5e5262c56a863bdda3e3008f01cc7d44600baa9aabd0219ffff03414e3c61a524901cb0169a5a79c19b2f0114745b7da7bbf5c4075e53fd19a7d700582003eee9125402cfe8ad0bc093c00647e0282b61ed961b79d96bf8ec631acd2fb046ff0a1afed4000333018d2ff26b8779d21df429c4eaa517918e1f138a5db5d31da365f9d6e6be1e039bfa7f180d5688cf355274a7948418e01dafeb7c2ca27004010e45eec542351f03c5265fcbb82b6256c7fc08d9362126f2745f6ae26ef5afb1e127b748b961f11703d5d474fb7341c78e44b6f77af4728a559dd008d944ae9a227bafd0ddf4b542350340db2f8850ccb1546b9ddd42b893695bdaf582b64dfeb7ec1d9e13357cd33ca6031994b8c4f53ee7f736fbaabe3887b4d00b5ee45ec1875a893bcd341f5eb5c1c90347bc57e1dabd5013a183605a1615407309f8500d78502d374b93bae7aba26d9703c9cc2ed61fe53f63315ab5d38d821c8c8bca9ccb6761f4d72cc9e9ab1bc6a2dc03aa8881400f9f4e7880d9df6f3d01a2f3a4803b3f2c463f45cb795b7f29f03827005820031337a02555f1b20ba6d04c20ed50c27c340d0c250def507b75e7afef025f3046ff635cfe79600368dc1ae8b23192929990ae46837997d83778b0f5968eab52d47c6dd31070987201410b00581f02c21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c684ccdf500eb6296018350ba48f30219120003d378ecd6e3d26fb7a6b7c0f15cdd74232150bf8d73969117ce7e972d510629060219fcfb0332db51bfb2de061aa34cca9c6920ddd94c95e24b92bb4920249e9a684b7b0286038e46889a18b9886d5af78829d0387c5d06b3fc51638e9603c58864212cc1feb503953698c4b5027e0273472a340bd7d9bdc136417313ef8a4f0830c152acb732a5031a0dd1cf60892a20263f728e1f356e28b419e7fbdf19d941bf8ede95e8dee3a7032be0d9822e21f3a780b7799414df4aa04a5f794c914704d6ddf2772fb05bfe9503d6b25d5f2d41bdba6b767ad628b64abee7ca8b594430f93b44a7c265bab7d53a0358b0fe34af750baa38740fc5e9834a039c2910d2dfed1602ed700fb9df5f960303b23f81f6adfd56262aa09aafef6849ddb7b0398d58b5eb6ec725f02e9e07ece903e7eed5d5efecbf51c444db144b92741f04d801a08eb5a2a3cc4297782b1b81b703efd373043590a74ad6f22d247fa71d983ecd01827a87bcbf65ea0b5be8c4fd9403da995710a030a8f5c5641e66d92b38d5f3b72e109561166657bca52b67bc4de103a7e629ecac1df10ad2af64f584d3900fa792196724906c5d8f358798d409955603cba7748d3f15d21ca4336295c0612a7401d89e757e504c1484f2b896f975e8da03cc248f26b1d129fd3674d123e87cad1af59236cb64f582f95ec47dc780ae2f9d0219ffff0329cbb5906b67e52d08962590676e710f91745ed0aff0c12105c5f3956b297e0903e23278dcf5389017055ad796e14e7e3a02d8939493b6738d8518b35c554e05f303a7045c08ba74af61649cf29476f1a3715b5cc892943a36209baef62b5a2c7f5503c5d38e04baaa494118e3edbb15db570713951c4754d02bb9ca9a0a0b1ae8811603e26651d854433da4a03e8ebb20831059d5706d5856cee3b8e96cc7555f155f9503628f3dc6a186f2bd860cb9ae3dd676d487a731c934ddfd7d9824429dbbfdf98903da0a5669485d06684ee384b3acb3c4931c3b25abc1b2b2b2cd4e565ddc44855d0367e272ad59e18d9e2f5f3135f0b3ddbed8c0007120320fef81dab49391598916031a72508b82a7c6901c5e70186c070838a7fab8879cad4baab6913bc25b6098fb0374ab90ac320c642cd54ac87b2994cb7a59b8bb95a95ac8e8df4ca02e795192a903ba659a9bc8420aff9b4fef674d83c1ac11c754982783abd82dabcd48db8bed000393d145c7d5b65546ccb57dcdd9f024d83fe5bbfa493bb5e25c6b79edb947efaf038f8abdc8203d5f71c70d24062d2c99a8e8ef052581fb1acaa8fc9514e6fa7001030f781990b38d9f8f92e5daf2f714aa42d33534644884f372b4a9d00eb377ff2903f053f1ff9338272926e9b76c6905aa3629e9e5e18b98e97d785227335281327403372202e2dd83310832cac8e80d2c4051224cbe8f4a415fb01671acb0106c731b030d2f57f61346926aecdecd4939f7da7fe7b4ff48708f6553298c2101f3b5e12c03778579d9ac087602f4e55c96575d75fbd0964cb48105acd5abdb8bc72444a3310312503c7df642e494df6973415627ddfeb2d41222f96a6a081a9299cf8258f3d100582003f2f8137ddbaae9d06a1d51966f08ec63f7e505c27e5a0fc6ad8f7799bb38b04101005820039ce4b6ffbb4808d307a4a285b0055759ae2fba958934ad456906af23b711d04b038c4b84d4dbf12c0f445a00582003231c324ce6170824af3edbfdee0b176f7bb5ddeb1b29b013542cbb476545c0567cf5b8ec6a89000000000000000000007cf5b8ec6a8903685acbeb04022e7aa1ee03680ebcb7872151868e3c09d068461388e784fc67f300582003c176eff0b41492680d9a2e046ededb4d8286badebb7dca4f4be07a079960904603f35403f322030f0dd95d830ebc85439ec0a2b12aef586f939b32ee55736f22a63b9639970d25005820031e4c6d2922fa65c6e85aeaceef8ef58bbe272eca9bbe23e33dbaface01230058190117b6d00a654f6c00000000000000000117b6d00a654f6c000326abe4bcff87ec2170b4ded305d41dca234e6add190bc8335e7f35bffd6514b90359b18099d85465675230cd8950ac593792720a81ed4f92946455185018e4d278005820030d2d544e51664f372fb4d9475448296a33341a818602539b601be9f6e0dee04222ef00581f028c46ab9cd47acac54aadd79267ff958aee18137323cc45a249f80d87033c4a12d33dbd14bb3ab6480e00581f027b62a969df401fd5c3c3acb70574511d4d86ae3a0ff47d51b0af86b14fb54102021818037561f77c8449273467088d64a8088abfd18b5ca32b83eb403251bc9abfa8644003bb75201e455ccfaefe247bfe10fc5eee955893ef624c2f7b83ecb2a29415b17f0219cdff03b70cc40da346aa181f22cdd1345e15091408297f589ee81b9de0c0849c4f2f750380b3a08d87e8eb8ada6709838e1c26645127c425991e04d00490d168e10ce8bf034c88f87dcf8a874823a531f23b50ebdff8e582d50b684230ec3dad460ea413850219ffff03d826ef5ea39bf315c411c85c16dbfe25904e91e51ecd57230decbe434f95ae5c034e745307a178d2503e3fde6e7fb23897db7c0b9a9a9b21321131476e46db80260397c530e5630a71d932a96f17f96ebe706b9299508361d92cd1bafba0954d79100384f8a5c38ca85df114c843e22800ced78069e041db238d9ae1f31a35eaf690b7035cef17a4bdae7d7a6e9a354e518a600803753fe71f4b9ffa062c84530b7abfb0038f6377e9847444f4fc6012568e88b9c664e62eef32046b0f14f667c7e8f2cfc003d82e1dcb4507bc81c2867b12a3452c6fcc9d58fcb5f6bc548c7a99c586f132f70352aeb3b45fbcfcebc9b1a86524d4426c3264cafe33d9eb911098fb01c433f6b0005820038aad78f8335f8deb58c86dda9c34f7e0d2ad7bf2408dd3874e8cb02a4cb100411b005820036bfe8dbd8b44fdc3f69f964cd1f0ae48b51aca694bf388d1720648820f61b0581920f51af4ffbde3836a0000000000000020f51af4ffbde3836a0058200387716d77d1ad92f34c6ac37a6a463d94a6bba28974a382bebce556d21c6c7057244efb29cf2170000000000000000000244efb29cf217000582003008120d80543eb2f8a9f40d4c8e205c4c0da5945ed5256dd1882583d46bd70460d89d2f2762e00582003a0a0cebef8fce59ac0dd409329e5698ae861e1549677a73068399f1e8353404603019c02f96800582003020bf32cfe629f451648b7ef368c84c8fa870ca6353eeb3f95d7a7071d548041030058200302bf919c1562dabad27eea68de4818df8b0678a6c681b79f94cbbc61f7ea50581a02df8946213c1aa22e2a00000000000002df8946213c1aa22e2a036571374cacc297d8e16ccc9e7bdf8918fbc94d0910d84d983450f2ce1c905cb9005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb504207a8005820035c03630f7134702706045139d627b31c81789184287f1ed59c212a3f11e9704602fccd02fcb203f1337976a6204e45b381901e2796841e81673a2f292772f7b6cba99549bff2b8005820036d938c664b565b8bcd7e234909773ddf99c7627fce3d1e45cfffc84667fb4045e8d4a510000329cfd49e8004b06964e1b6f186faab92dd0eabe12a65f16894622299a4b544b90219fd7e03da2f6ad20058bd498e6e35581a626bc011b6f63771f7c952e231a44d05c8025603467ee2d4b349321c0799d872a8d072f44384507593425878fa82168f213c988303cc32086fbe001c9c15a845ad394368b3bb68fdbdcab4b8a6775f157e67fbebbd031db65ee59e00ed84a28957f1eb58a728d04adbc89c8c22b7c3eb8a7dcc3692410337f272d4b76eb7d597aaba8298d4a7af49ece46b6144c323dbd7200a6d2fbaa503e68ced3cb28340fb2da63a4e43047f397ac6f4625764dd3ea81c0c1c9576ccfa03b96a4f1b66bf71503b98c74abe06f43116207d3acaa968e6f653baacb5d041e303681365239ad8c41a50e996b1e3fdef00314e0687517297b437eb4317e59723290219ffff0356d0e2c17b775e8e855aa8c5d9f76867a7703a12dd1affce819a1bbe8b56ec0f03bbbaf10c2ed38abad4ab9e28b820b98a55797a02645353a0ec1058bf00471bc70321e43535bfa47d2a8c754b940f220620849cbfd1dfc6f3f616eed1329f75608b03dbbd40bb7f4fedcb826fec443b5758f0ecf6aa8290a1bd63ace5467f68af24e203dc05c5c93ab91880f112d6990486747b8b03f187f431596ac91577e422bb020b033f8dd25d00f6721cd88440738898c8e31740e037cf6de812cefeb670d983dffd03bc765986f8a6202074c8a76c702e43bc000ec3bd5e38552de4019d6c5485568f03c2de284e8c1501b0b17e2d18c89378bef871d9e0cf17269577b59c13d1dec19d01410500582003787bb07ed9f62ac83d12d1d2d874d055c42b41923ecee0be85cbdec041b3f0460310ce0310b003933c2059ed51905f45cf73e17402b0753eb8d07e6eb68626e1501b8bf3616ef6035b902a5766a05c49d72162137b6cfba7ef5c600b5bb8ed0c92b0d0ffa211d8df0337b3d17849b1393eae2b9c4002d705bfaf983c7df382728098379b33badd328f005820034bca4be04a61417e87c5baa25bff5a11153fba2db2cc29df474326614747f054159eed89294e8d11172128997f4aad074566a5960058200355a5bd9c29a784ee43d3591a8c143c0cfbb5e452100abfed2cd1b42e2e8cb05707353378726d7f00000000000000000007353378726d7f00581f02e0ae265b6557e54f259d779970486c8f8e46ce5b1d3e373605e86bb8d79f52022e507c502198b938714804927e3eef424300581f02de75ef35d6534a81ba9024edac2ed79d98bad4902758a928b0b275eb7026546bf3e1d7591a1162114bfd59769d4eebc083223b00581f022069d81bc7a04b90a5f4846c2a77567046650b8ae2d936f4d0d151c41a6a410100581f02906f00400cd8011256368849abf5d045cb493cf4841c92ea0271eae73bbd42037f00581f027d77fadd4ea3bbcc7c23ea39375028fac660701eda080accf118792a28775306e2b5139078e3cc5252ac05a5e5f18b0810d7021982c8039294f26e1e112e673a19e4035c0e29ebfad6a6f25eccbc2e147d89dfdf3fe516036611563de935998c466c4a110c8d264a8f1bc92b3b61db2ced813147e41430330219d9b603313a0abad6064c2420dc60e8dd09ff0e6b71c28b3b39746c94a60470967056f0036b061536b03c85162a99e09eb2ed4eb7333050993941fc602315e1cc5abfb2800314cc00d5b5f9bfc6fde1fd36c4167563959d6aa8762edda1d7b8b7504e88cbca03f71e91d4a280d067a6ca49bd3f6a4223ca384345c3a5d643f1b65afda2f0361303fb8848d44871297a89bae38e4ebf0c32de26a22c1ff68c41dbe21d992cf447e903bead9c0a95014fa91e6fb4a94abf68049936275e1bf4beaf3434b675d3e7bf0403ed698344cc780d07951f298a2044c9f171086171b5febfc6a99e3ac0c7020e8a031d404a89132f2e0ff5b48917f8559d5c60b17bdd01a77dc09c111f61135aa62803c2829091b026c2c328fe584b365fd3f7f7f2d13a32ed9636cb8139699a9adf100219ffff0219ffff05581e03ae72b31ee21e17f6d94eac678cacfb67eee8d3d2b37f52045a6a5d7680070119593d0365e943f54baa846954240db7e85dff0c97eb31c189c81e0fca101b940c632a6f036b5f6bb51197eac181c09185fd98949e73fe29ac9e8f8e1443b041d443ba7b2305581e03d2783dd920b58fb17b9269323db5ac9c39e33ed938fd1aa6ca9841c1f00c124902839436170f93bfc005581e0388878e9e5c04fa84c598409fa9bf510f2d763763911e8762ce3d5cb950040205581e03c1e57a89e64bf808faa29916d63608cff9342b182d3bb2969071f07a00084704aecbbe3b640005581e03f0e2ec3cf8f3924ca7d927b686b21e7cd290a9a38ec18e77fa647065900c03464ddaf3ccc7320379f3aac2ae04465b0f36b2e9c2d22fb10191dbd15fa116a598f45ac04d350a640219c76a0219ffff03d05fffdfa119d90e994a92b7d601066c466c81f1ab88e7dee7f62d51f6b0221d0308cf89d50050a42a473714099096e9211422f3233b1a6f3cc849fd40a901954e039347f7486d266b5f8200a6380582cc37580da3471c8b15f681ddc6fb5377da5d039c4897ea3e56f918e9686d037676b7827cabb3977a0167c17923c72fb5ef29fc03e3e3c4157aaac705e0123daa207b821feb1c1923b198416f95022ca6400087be03ffc337c31dbf9df0adf0d3bab8e7fdba8b2c2ac2897aa836f344130220f270520219ffff03295b30ce7c42eb51640598df3ad24af126d3331066407bb5f8c03899b1f1eee003752c118fafdcc7c5da8ffd32d6212365a72f29f6ca316e60e92b46af834aa3a9033dd7f6001b14e11f01166e51968f18240e09999829e022a123619e00402d538603356e5f38ca5089bc4dc00836e92d831beb8e04401d92a2366ed34a63e24d3f2a034f9420c3e443b98878f6e91a809c2f12114bb23f2566c765c95952df61c31cad03c16e428d633f12b23be25b5781d7743d201b0cc87cca9a1a0a95d9d8d32a660f03680c522718b128d99e2f363e9b0cfaf1b767651c64a970f4854201701fe42c460219ffff038740166e2a7d15d17bf3d854e0562c9b49d76e78e2795a6e32292446c36e91ce03ec94e9c2dde104636bd5e3ba068b192aae93a7df4745e562d9aa319d45f4f66e030632c227255551e03963d73f857caaeb6e010d9b96dfd839e9b022f2b34a82bc03b9c91e14b973930ee49da3c5afd8c40f914bf6563d7c4624628d18046ef65f280313f8a04cfa60f1a00ff932c0c88320cc6e0cc5ea1d977b3e27196722de047e82030d8e00d45d9606949ec0204f50985da903449a7b24de1c74ecf3ec268de949c8032eadafd72ee335dc36ec43240be3c2cc0841824f51b1dd39ec01242915f7ac0b03bb3b8b0364ad7fd1ab0c1f84553d0518eb4bbc91bcc3bde217fcbec926d3c64603a2b195f0f93652b3942c6c2afab93ff6b4bd2f742e019268b926b2ca8f7cbadd03d919db9bb9c6bf9d871089d6cd18462cb51567d6bcaad02d011708c5aa2c219e03ae717b6d07fd1bbcfa98de5e2a8bbb49a4db77ad8443f016354877ec810adbcd03536a1b8c1a6cf8d5e5286d25f5d403d87fde88638dbedde1d2dbb5ad1635797603c7f93ed73d8e406a525e90fe5ee472c75b05119234c376be81ac446f2197d6fc03c0d72bec75d14f64c9f9c4c2812a2f01f68328673f23f3215550b8d8177f509f0219ffff0219ffff0367228da9803a22ef2b8aec67e24a05eff06390bcaa3370f39450fa7d874d1d0b03ba05a2cf29f50677b4c47463ed078d9e10f8800deb0f3d0898e8b5f1c993441d03d73ba38a04674ec36d649f8f8e9ca555c486b3f546094673135c52eb50c3915e03c41ba3ed86422163404d9e4269abd5c821b58ca2ea6dd14f0af65449338a70d40353a0bf09094fb8dddbaa2ae960eb717a9acc119d0999688144f85a915f2279c2037924612a6841dbfdfce410410760a945048777540e4049cb0206ac9ac94db86703f24a4e28a405854f549e0986d86561770e67dbd24024db9686e1c7f4746e52d9038c5898ff0f6f37bf1f0df87e137101a1337d900346d457dede80e67dc59c6cdc031c58b9007637ca885e87abbe14152a5f4ce36ca6dbd09acccf0863e9de91eeb203def535f59611d23120838f26feea28eadb57c23e167d1251fa5f5ed32814c22603a4da52ed302085664532fe856dd4c593ae23b97b744c4f0a39de0a207dfa33dc038aa35640c27ba68340d79d09e28110d66facb047719f454700635286acd9ed4e03eedf001903bfe6eb5488637a8b08495773f0635a3b6585c5eca29bd310f75557032f4bd3ee1b865b74968129530ce29fc2a20b5dfdf5f5d5ba7422e43e3754796e03ac68cedf57921ceb18903c17bb2688b03f09fec3541a51181a67960c7f8e9359037a3d40400bc721765709418282515ffa8b8a665674a40157cd109c167037a1090306b2c0713709566552fdf36dea7522cc1caf13f3dfbf0164371237707e8d851103b4b65c51b12032ed75ede2ba75d61b90ddf227e37220c3a4996f86766e86c38e038c499d71d1fd06774420513347087a18b09ac6fb0e5b3831cac3e61f370333410344efcfc84f67bd47c788a0f8f70d281b57742b8287443927abe9ae30142bd9560385696fb57195972e5549c5fa4934d64317c52d534d330b061a681ef1bf13482503545b7ecc5af77dd52002002d52cf3173251bf9b24b78ac58e050a8e96e5f0c0e03ff2d70259f4cc2ce95ce0e1bc78b024add94cdbb36c375d88a5b7fd73e00c8cc03d2e2f96272642eaae0281a73bee26f30cc5d78db709502337e132c31c80775b1033f0e5a76b3b4ff0d5a99c44db57eadfead08543769a9cc452fb1307c4e8e45af031e2643e6544a3de0f630bab173df13fd7322551a407279233015feff6fe5a0a405581d02428b8ac43a690b71fd9428f115109f3c77c95d7b3dd9a17dee981af10c16473e7e7d13ec598905581d02bfb32180682d67454617346454beca657ee6d492dfeb59011e63bf840c024703cb90258ada700219020805581e03a5c860b993381c81e4cbf2f848eba691592f03a71944cf7caf8bc0b7d0040103fc6b606cdce7b48e743e42f74ae5d9b97b820ad11c4d1c1d56b4f5ec8414bf0405581e03e5f20461fb9fe41416cd94b5122b6c4ecb42690e1567650154c91b3ed00c0446483d1f96031f03017d19577e3745cda1624e74b9a8660a26117e8ae67c2ba27870eaab0de636d20398e1925077872d5e7faf55fbdf59f347bd8f9d74f5ee6363627a5aaaddf714cf05581e037b7a6f2b26812c58447557a83bac6c920d08aa9d6e05d27142dee570f00c014704dff43d48380005581e0326ae9d4f71de95f6520de1227ce52a8d91525a2f1ed38dd01163a2024004020219bd5a038034eba6fb5fa4f40982c96af127d936e3988f140aa3672fc426bc6f4d661d2703c004dc44ac8a1b060c8a3f1c35e8c81928e130a556f4e1b15c8fdb8aa309421b03d85d0a417ccf8c70cb6b4510b9c5f759caab3862f6cc11382c0ba979be7430650303d7460ccfcac0120347839a57c76cb10cb62f5e86eaa60ee0c292fbda41839703db688e6817257cef1f8776a2a53cc3103144e2e9bd5abbc31f6fb2d02080a61203cc419508a0667fe488e430fee94a64ccc0da95c01df59ac2b344f7ea9bae714f033ce28d33545abab6617a8991b8ab441ec535fe3b303f0e60b6e81124c89b82760338f9d30409e2f03257ed0fea135f07758a68e9db33a0421a09eca4dec1f1abe60339bccd8f7565c8bd1ed9d4304ac82dacbf43e1d1e37f31a54cca9f9d49a81a9903119205a266460082e585c313a2c2cb753465c94bea730903779f8870225e0a5603569983f6843cf86f7ce15e29f2f6ada5352e7a973507588b9f4228c79fcd7698036a4acabf52f02e9359f8c550ea7f11870e62a9b12cac0c044ffce77038563477037984fa3c8e5b643b0065ea10e4b3613d76016d3842db5365a686073a3bd41e620391221125006665696bf273a890bba5bb1fa7d02cef4a1b5610929ae4a3ec0899039729b87db66185ea381d364fab2a3b7eeccbe22447a70f0f71881f33256fc47a0219ffff033531469cb2798dc506651579e71d6288092673474180f6c241b15a5fbc4c4cfe03fa2ada335fbc42558d02108bd955f0d490d71a7ece5eaed97825c10755766c1e0219ffff03ef16f224a9411c39bacfc6d21a1f7e5f32d8b57d3ea6c85ef58cc5af243c444603fdadd81eda45e6d89fb353ea71545d6fdb5137892eb907a1687be136c4e71f44039642dc835702e766f4b29876c7f896e1de077adc78c05f17a70aa65d99e99b9203a3fb9483ecf7d115b10fa82cbadc265971c8a44499ecf422b264ce32ecb7414403d3e64ab9b02089dc66d3073aa455f54bb5675a0811d430d63a6226f8721feeba0395840bebf2b1c08e88ea65d97f88bbca54090b43e15b2abe12899dd691b2bd1503654612462c55504930bf0c92119236fa0a72cfae913479c04e6a14192ace19a2037bf3ed4be4078f267ad38e27e7a5abc8a2e1251bd35bcd94ed59cfc8c8ae5faf034f7a9a44ea7ab904c420c6b08d3a73c49a3dc1bd88563e5b91d7c7af2133e89903b0003d90e09ddabcfbab44a5f78799b35e01a735b41be659f474f3a59edb877a033ef35bc45be20d4ddcbf8ddbaffd0ce5529ab9eb945b8ec2202f068e07bd2b7b03b94e743c4015911bb3da7075761a74a76e9f938499663d74e72f975255bc0c4a0219ffff03528be642e9ca7d777305354cdd03644b8dc37f4c5299fea3f7533ead54a5ad380364206cc92d3386fc65a2a6f8720f814ddf5a25f6a4dd2748c9104dd84a3e7ddd039b9621a3f2e8d703d08c27ee4b896a33257cc66ed18451c1b4f2d10c92a2914203c87a7189f1fbea9afe7a577621a9967f16f1bb345b39bb33b39a482e1f26279e039e7a24a96914f5e4b5943312ce9b5fcb91a353f71e1d24c49605a0576733babd03af864b7691c4ca5387e1677933109b68bfcc9f2ae0fb6dcb45316928fad93baa035702148a7681373075505df672a9fb75e916fe6fad0e9abc4df7352058ee266603c49339c0e0feb0777291e6f761e3881878ad51d6819d4addeac1b167a4c84925037acb19f61fa2b5d733290eb86027f4d866b10b5c463a14e3e6c2a0ee64557d28039e72028cb2335466d4393b2328efec6fbae5071ef987d0551beb79cca4a6ec4c03a6c21616f72fa543ab22b963898c73bb264981e79ebcb87c8c66f3ff75a4fb6803a5a081ac3f23d43e0498306abdc29d1684debb11967baf65900e9ab7ab8ff8eb03050de62be4b822836b098cd2112c8013711c220d336540f46c1d3019959be0f803bf3c700a401dd1df82115ed2dcd3ee2e39a3b7363a16fcd0a56d746df68cc2da03e7c9fa3ea2f5c9574ab715b68329d41002b9c89183d24f99daeb7035bcb004d30330f6156d9d05fe41a2ac528f25408dd76738372f4224a2e7dd837e3cccd47bbe03cd0a7262d0c2f10b2d90ba0aeba2181028912974437a2bd6d8d10aef10edabc4035124deaa4f2d77d64932ecdaea6c22ef5c4d3bf3f5d1ff83e6d30c818901852703daf9f9396dd44235c54a5cb360333dfdfb5c3d550eed9b20be4cd901edd393c403ce20f4d4634f9b7da871e60cdd0d4167eb8f338afb666ae64a2f7f558573882c03445350e065385383c3a4986404b4e0c2c0d00d43550cd1e5eda18c8d32e55f3603780eba681b572196fe36701c5cfc95c058a43960eb44ea0f147241dffe18a003030920557dea99ad500de06eb5e09536326900ba02354d404ba4d4325237e7d5b5035b83b9392de3a9b480c7f565f23b00cd0463026c3b241101c15908dbcf0602fc03f6918eb4554840c10b494f66ac61accecdc8d2392852d58644569c265936b4fa0353ec56fb6fc79e01f9a941a064b02e2b66baad57e4f199e2a6df4d8b8ac023c003f3071d12e4e40f226105b13a2cd2113922342c75e2c723e9e1ff50d146fb63c50381b9bc076376c7c980af9528311a01879cc0311906b879b69db9eab977b2e3d903e32b7eac0e31fd3fd23443fb21e97003df105cf5957bd7ae558ace9b8cf388bc03fd8622b33c1578ef1337e946a1c01db44ff4028141407a4ee6046991a4c43525031e7cf4767fd68ea269954ff7f6b591187b8c208b37fa6d72c2ae377347e58cd40327d04157030ade34dd7c0fef646152437bf9d2af2f2e223192d7df97b6028da203b4fd0408d05d8db06cf535ded5ccad1ee4f031f77423a9d7dc08c046375323f403718daa99441e8fd7c311949ae3c6bb2879bfbad1228918afa1a6c741b0d3c83603d34f883096237eaf9c2c02b0e74c2406b295acb97651417f445f8677ba687e9505581e034a4d91332852a00003e79d014ebda80d532a09ab852b95c1e2e286fa000c0247458f8b9d66235005581e03e6df1e0b96f9cceb7368a1060713ec1cc37a0a0e203471581c2d4343e00c0146b03ca822c0000370ad4b67983a7155fe3bebdb663903770c4e05bd23671cb1fe7bab63ceba31f6038cbdbb5211ce4aa63cddd1860bb28c0c184b10e2ccc7c47f1cff10164577c25805581e032a371d455b7dcb6bc03b1d989a4eef8e41ae11895b197bb22f5c526d9007011bffffffffffffffff045906a860806040526004361061004e5760003560e01c806301ffc9a71461009b5780633659cfe6146100d05780633e47158c146100f05780634f1ef2861461011d5780638356ca4f1461013057610091565b366100915760405162461bcd60e51b815260206004820152600e60248201526d115512115497d491529150d5115160921b60448201526064015b60405180910390fd5b610099610150565b005b3480156100a757600080fd5b506100bb6100b63660046105a9565b610189565b60405190151581526020015b60405180910390f35b3480156100dc57600080fd5b506100996100eb3660046104f2565b61027e565b3480156100fc57600080fd5b506101056102d2565b6040516001600160a01b0390911681526020016100c7565b61009961012b36600461050c565b6102e1565b34801561013c57600080fd5b5061009961014b3660046104f2565b61035e565b6000805160206106538339815191525460003681823780813683855af491503d8082833e82801561017f578183f35b8183fd5b50505050565b60006301ffc9a760e01b6001600160e01b0319831614806101ba57506307f5828d60e41b6001600160e01b03198316145b156101c757506001919050565b6001600160e01b031980831614156101e157506000919050565b600080516020610653833981519152546040516301ffc9a760e01b81526001600160e01b0319841660048201526001600160a01b038216906301ffc9a79060240160206040518083038186803b15801561023a57600080fd5b505afa92505050801561026a575060408051601f3d908101601f1916820190925261026791810190610589565b60015b6102775750600092915050565b9392505050565b61028661039f565b6001600160a01b0316336001600160a01b0316146102b65760405162461bcd60e51b81526004016100889061060a565b6102cf81604051806020016040528060008152506103b2565b50565b60006102dc61039f565b905090565b6102e961039f565b6001600160a01b0316336001600160a01b0316146103195760405162461bcd60e51b81526004016100889061060a565b6103598383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103b292505050565b505050565b61036661039f565b6001600160a01b0316336001600160a01b0316146103965760405162461bcd60e51b81526004016100889061060a565b6102cf81610475565b6000805160206106338339815191525490565b6000805160206106538339815191528054908390556040516001600160a01b0380851691908316907f5570d70a002632a7b0b3c9304cc89efb62d8da9eca0dbd7752c83b737906829690600090a3815115610359576000836001600160a01b03168360405161042191906105d1565b600060405180830381855af49150503d806000811461045c576040519150601f19603f3d011682016040523d82523d6000602084013e610461565b606091505b5050905080610183573d806000803e806000fd5b600061047f61039f565b90508160008051602061063383398151915255816001600160a01b0316816001600160a01b03167fdf435d422321da6b195902d70fc417c06a32f88379c20dd8f2a8da07088cec2960405160405180910390a35050565b80356001600160a01b03811681146104ed57600080fd5b919050565b600060208284031215610503578081fd5b610277826104d6565b600080600060408486031215610520578182fd5b610529846104d6565b925060208401356001600160401b0380821115610544578384fd5b818601915086601f830112610557578384fd5b813581811115610565578485fd5b876020828501011115610576578485fd5b6020830194508093505050509250925092565b60006020828403121561059a578081fd5b81518015158114610277578182fd5b6000602082840312156105ba578081fd5b81356001600160e01b031981168114610277578182fd5b60008251815b818110156105f157602081860181015185830152016105d7565b818111156105ff5782828501525b509190910192915050565b6020808252600e908201526d1393d517d055551213d49256915160921b60408201526060019056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220730effc08e7ae1c19f69ae08dd52de483b649ded49db9428e4ced9875431474364736f6c63430008040033005820020c89d8a1eacd020b3ef0b186478d4c707f18403e373a58282e501c8e0b7ef1470d33efda1c57cd00582002f582913c3f2d57ad855a261f25db37ad095d0fce4cd7025df3b72cdab480324706cbe5f391dca500582002137bade707c77e9ec1cc42105a2b5d56370b49fc9f3ef16e5a419d30806c3d4703bf836c527aa503457b4c7db2c8c99756c86250b89156bbd291bf842f1fa502d65e514dc633344600582002e109641f009357a87745da3b55429c0b07d1faf6d3a9d971b639feb14b2e7847a4f1161940d5e700582003a7b3ed8611f8dea08486dcfe7160f2c08a6734d9bba21624daccc8343e3e3048015cb5e5e1e965dc0058200314066c33013fe88f66e314e4cf150b0b2d4d6451a1a51dbbd1c27cd11de28054a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480219180000582002b22241d76d6f7cd3eedb558056f097fb3b44a3d91cff971eff3e4d8e0fdb564725aa93f59d45f500582002a80ec17c53ecf3cbc25854e5e24148841555a8266d387ce8fd72c0c4288269488930215e28fc8b3e005820025519567c19593f9cc1fe7ba8f2c1edea0b6ce3f7748a92cbecfe65449337de480357e4c96d2a98580219ed8a0382544fdbcad574104af7efd368703311aba535f11f25da07eb0f241e8cba2341005820020f55431f846cffe052dda2cfb2e79530af05203547957786caaf4d6de0a9c54725fb53718f3140005820037a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d814042012c005820036c93b27849125a5a3b6757e92d8357d00f1b672b4e7acfdc1cafdf29c62e6047f8b9f2a9dbef4c02190408005820029a624743bbf2968ffb8a4ae429c5ae97e52044a78ab939ea050da60806dad74706fa5f337f2f7100582002007fa50db1292d818830c01dc05857f75792411b100a0fb5037db6750e991d481d33896c4f9276460058200246c2f66281784c647c3d605748f08e0d4da93cb4f2140bd6edf32b13bce169480168add983bcdfc60058200223faf2913b364df942038fb24c994413b9ca2de0545e0381d65e1648ba3bc24801086476beccbee00394440d76a049dfb75685683c4e8c0e2838613444554a5a6b074b8657f54632e201410000582002fc98e7ed303a20dc3ca0f8095efbb3ba6c976d7bf2e4e4872d2d1280d488135820fffffffffffffffffffffffffffffffffffffffffffffffffb04527d2e9ca16a00582002f7a664c7955bc1dc4a5c4220926c7cf0e0fb85a3fef86712685959fe9b5781472161367c3743bd0058200278c63892f3f3157c372f9995a11c0dc3dcb4352d75e0455d053bdabb69458d4a04c1ce1960b7aa1ba53a0219cade00582002f9910d9c40c5b4b9fb1f8fb3326d5dbe6dc480d393766a39e98a47f20a2f704801b994ab32b50e5f03ac5d19dd213699b391da9728c051395fd5f4dad3dba7f3a5b273bcdb44ace9b4005820024a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9582001f4006400c8fbc89efbc89a000000000000000000000000000000000000000000582002b7095e842d1140f4b7101dba02179e1fc578f0c9ade3195a18b2fdccf347854725b2289d7787f200582002494c7bb1c869c4c0b3643c6066cf83ae463d271a7ecc9a7354d2991d3f98e25820fffffffffffffffffffffffffffffffffffffffffffffffd3d67ed551ae96062005820025847660211c5d8c4ffdb8be5401b48080769a0630221d8b08fff8b0e4185b74701a71200944d8b00582002a67bf982f6d92bca29f54e0a9d3b5e79578142086a659375225c639cd6dc254712c9223d9938710058200228ed4c79fbb858528d1ba22887e9b4619dd209b13f5e28300e4ca801b42af447213bff39ccb9c502196a6c00582002f6dc6e4f041461b86aedf5821ea26fcc8f49dd352f6ad3af7a99f85342628d4746b14eb7d6bcfd005820029bf6e27f7cc11db477ecd8b96a4e8ce34741e21296d9b092829d9beeab5d6e4802e71fc7c71b968a0321c6296f7a4ae6f6a6985b215844709d480ed92b151e763cc057eab03182282e0058200360a1c9d75397c3b7ff6c895960d7f1635f09cc10ab6cb6d2ecf42240e7db8047ba9a99626a8da100582003777fcfb40a3f3b2f235c7ac4bc996a347bf3575a0664dbf6f6486e532ea9a04703c56a24dbb54a021902100058200223fc6f9f3b3dcf9ac229d832c61f8cc06646c8c7c40d6c41be93e6268c15f24a4c1990d46316b052f80e03bf8452453042ba6d9b7f58773ca6b49f7ce1d62cf9a1228f3277e3ecd6a39cb30058200226506e386cb01c6b16e4615e15069091367a22de4cf2d50d2ec6121cc4f3a3472811bee5caa3ec0058200211f94e20a93c79f6ec743a1954ec4fc2c08429ae2122118bf234b2185c81b8582047656c61746f20556e6973776170204441492f55534443204c50000000000034005820024790d3303d7ce9735259063373a27ca65f3ebef14362002daf4a6a476f75d847042b7d30c5e70400582002d04914916813d3e10f66537bf626b6db19815ce81025838cc3448719eab0e847034e3a85e33e6b0350d695f1ebef8c05c137be7b53609ddeaaa9d2e82dda737fa1fd6607f9966c15036852934607efd120970bac7ec08a107a538b629ed6d504357d5e1d2efb53c42a02197ed703a259644bc4fafe228832cd216cb296d8f4e1281b40c1406f7461e7bbf9155e9b03ba37117d1f252368d2732db434f87b9b000d4bb58b3200601433b607bc64acb8005820021953c095673102d151917b7d9e437edeee01d9feaec7fac4f7cc733b7caf0a48015cb5e5e1e965dc00582003b82385fa8257577683c09c5cb785b43fc0eb1c2c9b8e49a48bf1d2fde0d55047b1f2058bbcd99e00582003ea2da1af07d76124634d7b31ebbbc46edce7482cd2f53bd3e4cd2c0b5603f0472111b148dc145a00582003ff47af0393bc78b451c0149117a388e6e33b1f98f57e11e288dd93f642c2304703bc571d4803f60219481000582002d819811f080011e4d932828034a4abef0c01aa38a805a180cba4b34412d22a480332f5cd483e588700582003839e57cf8c9e9f47fac9ae9d85fee81ea6c6c8138eb848c76ad3055144c570466088eeb5c68e0058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054b542d5cb34ef265fb87c170181127332f7797369021909000058200246a76bfca821af2f63f668def457265fc8d18c2251857b9645545dcf65e07f47139ae4b3c94c4a0058200267d6784270fc85e6db13f6c8c20f431a20204ae8461069908392dba299dc7f4802b10c28fc3df30b0058200271804d269679e29d47773145c43a11b4e19ccb50ca6381dc8825f41820d53c480148e8c2c2fbccc4005820025a318645807d58cd1446257a22b5a59bf8c087858e900d695272f459b1731f5820ffffffffffffffffffffffffffffffffffffffffffffff91b0b0717a358c519e0219e22d03772ef72f5ddeefd57b08de62376d8eea3702fc5159e59761c5f19b0d5a0d2c890303a3aab3154389b9ba8cb2d192c751c0f230a8f9600947376f193d690e914a260058200226a2e141abcee240458b6d485f6a6bfede45af30a3d1aeaeb0534020850a8148026acea02a5549580058200224d8d86bcbda2f17bf0846fd3694d672051aae3fcb0922e34cf3476fc5792047469581ccdffca200582002a1971172afb23eefbc28c38d12faa50955dfd0cb63a22677367374d8a01f4f47c3663566a5800000582002f4a8902905ec76fc122545be0a289a7d30e88da7d30e378f36e0c6f508b2454703befae5c583a20058200285b9071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c442a9aad7202198321035fa715afd55589fa9db0b074e939c35a6255256a83a1f15f489fe99b656ac07d03b9741f90856ac8014e6ff1f017efef2322d69324218a7148c601dee6a64ea13500582002383d612b6c32dd77af13c8f2e3a5d7569a30033a999dbe17c67dc560ab573f4703c6900fc9c88400582002a9db4cdbea0a37c207bbb83e20f828cd4441c49891101dc94fd20dc8efc34949264194045a4ffcbfa9005820026318c4c876373c7246a6ee0cac7ce6476d4da766c2a696a41d591451239b6d48058b571aac548723005820022b109b3ccf8cee25cff87bc686d00c1b0b1f790d278339956b1fbe10f0bf3d4743595969bb001800582002f5f28394742211fdf8df3f9872bcdac53eecf1a48486718929961011327d6d4724e1323f39eb520219ec090369547fa1c24caa63a2d9c49615ddf09ce1de2733d87d02a37ae61bf701bb38c30342e5f22252cbc9b4d8ac31989dbbb0ba6eb65e76a9716c65ebb0b69cf0320d0b005820025c87f101407de3c2bc044c5acf19824065492a80e136b640a6744a3ab4bd6a480756909847e4887d0387d7cc1953a7595325abfc5b6d02fa2994125c3ca65e5fbe82b06ffb35a5f40f01410c00582002169c35109944bed4451203146e0fc9ad93ccdfeae7ae1756262d6956836cf64725ec88d086891100582002b805c9015283d7df9b0ed21c1abedfbd5098f966cb992f597b72d974115f8a481a9aed082d12adc3005820027c71264f5dc0cf6dae2bf3aa4cee83028a74194c508dd01a43b90a4ea138a0472595e1b9db299900582002fe19793c66d1573c68ba0ab54986c7954deca3278cd4945d349bb2a6e2c94c47077e2385cc887c005820034bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d04a4c1de98227341961d4e300581f02a20ff701a1f3e14f63bd70d6c6bc6fba8172ec6d5a505cdab3927c0a9de6546b175474e89094c44da98b954eedeac495271d0f00581f02b48e4285a45c9004d93c3f1d2c55a0be6110eba7b0364ee62b68a497e6b7472613f5b01e117902191004021944000219ba6503d1d92d08e98b63919919ac5d74c7631ef4f66247c1cee3bd004e618afd0126a600581f02832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7b545777d92f208679db4b9778590fa3cab3ac9e216800581f02a2c30609431555812e42dcac9ed6bf6cc2b312419500d1891e9ceec1f3f24714ecc40f099d2c0219c00001410603a15c6f02ef218bbc90f426ad09dc808fccc5327cab60f98ee7274cfbc3d393ca0058200220f008283b49bb25fcb883f3b723607f6efc7718df36025dfc5da985bb2b1c47078d658b887efe0058200208472a2b34847223773b797d4b1270a30bbe50367fa581a544dbb15430f5a64703c40f65e659c303109038c10b4d70719875c8c5fb69493d33e3b0b79671917dec607e64c96d023803a08c3e90e01fc64fda80d93895b604ee14e8e949b6558161d3df64988d673db800582002932b8331af2657d31f9636b8ae5848ea14b9fdc442fbddce35900b8aaec6ce477727dcc1a5e336021984de03a37c782e9ad4347cd002fe3d9f5784052dba0f24cbaf4f589132554ab38fcb72031fc7e7e797ce36e3c4e8ca365bad195c15816779e651272f7cf5b146ef01b6ac0219ffff05581e03f1ba570285b2daaed4a39d25fe458ea221b370ee0235a4fb96965a4f9007011906a805581e03bcc04452acf28b4367c55d8b059060071b1bcef623454021b962af6eb0040305581e03caef089c7a832e9dbf55e64dd1940c033cf1cced1def9ed69c13d398900c024615d7a926200005581e030ae2eb5ce0fb220de379c652003231e653eb36ce052cd8f899319dcf600c044699f5c6affea005581e038f58bd441fb4d96f47610f2338ef9356cf314c8b7af6d5feeeca38f5a0040205581e03ce8def3df375ac8f262413c301368264cd8f3e94811c1925a1d6cc986004020219c6f50219ffff032b0d27330adf04ec429a22c68b0c50c068aeab556ecce65440f5edcaff52ae690363290b3dd283b1fdf956ef82309b87791e196bd2d62f960c128b2638f2ba9fcd03a3bbe09fdc835b60cf2fba20c401d0502dee21d0e6d2fbeae9afb797a700026003c5d87b1fc3a5e463e34aeb749064ac99ee01b594fb606c9ca858276cba07a9ad03ed912bb7f7ed1e0b5cbb043fe8bcc9e2c863479f6d6646a587d15abf4a9272f703320c8bb6df383b2545f74f8a5cf822d18942d7ca14f5c68aff090cfdc00efdca0345d8f4e774e23cf76689a40ace1aa7009a20a55bda039beb8e08c926ebd30b420219ffff039bbe3c377a02cd7097d782c2e8d5f37ce0368225f8041b270dc7cbe76699ae5d03d65ae79147833e6cb3913cba447807eaee18231f2a35d27946d0b289e72733a40397a7b088f30b9cad31ea4ad15c0e1487c9630285be9ff683e73c810f0486c15803c74cc39789e3b7e1a9bf2afb9ae09cc23f4642c1a976d059b23e5c366566c2ac03db9fa42400957f3b3051fb5907cceb848ea52e4d15a3af4218ea2d5d739d819903f16988c938f301dab783f62ee5681746f96fde072b5d5cc2fe9f25f113829dc803202d646e5cecdb9002a13d0fd9aa15ea9f346674ae40fda4f9fc87a9099cac110219ffff03de12d6cd1f114871f28113a867f02d665ddd303d5c28686434f03ef3a79479050315722625fd4eafd6a82107d2b078520517465fa256d7e3e601b20f5633aecc94037b46a558f6e81cc2addc91c6d5de1d83e0743d47e04f3464ef9ebaafc802318a0219ffff0365a7f0dabd774dabce651af569eecf3f9c0a8f54264d46bbe4be8d68a1795ba80385e5560a696de5b8c92b2015fe09ed6dd26ef57be57af70f9c4638f74b7664aa039c7fb6ec82e37af019128a94447eb347464cd2cdd67571ae8148e3b1c42065d203a3eb37275d4ffa15236c52a1e8a532f743fe0d2d50f03b61f5c0c0e84abca38103529e0c15b9ebdd7f4252a7ae41a47576c6c3e3c7eedc60e5b149511346a089cc03d246b7ee8079a9495423ad5e066f7d0bc9e95348b3199c5f0c694b57ec525b7b03e45a2a9f86331eecc6793708a3338a75496fa85bc8514d774452177dd610bda6034e7c92a76778977b058db8e626bd7a18591a30b14580fc6356f3097be3dfa03a03b226ae18ccf1e6b17ebe5fcbc2ea66dfd8d20e7f33949ff78ebd48c1c6b81ebe05581e03e0833c9a6bd4a1ac36850a62c4012cbef8724d84c342728bf310af1940040205581e039a53016fc11537f8108d40fd5eb305730b973676d0d45f0c4f88808500040405581e036001c4889dc3e713ed02fcc9cab9bbad7863bb27a1e8b1b552c0bd72700c0147896dc85adb7b2005581e03991b2266ac19ee8b051d14c0c8e0f91d76fcd27c0df828f049fc1cb2a00c01472386f26fc1000005581e03e3808e141b997a17bdb8c8738359774c81d8aa7f0488119e050e7c6ce00c054689bf9914400005581e032990ee508758f7651acaa0542fc1b4bb243de1a2235b543c6448c14f900c0142290405581e03b069641cdca6c6b812ae10276664878871b3bf049eb89c676eb57d2900040105581d027d22d561610232c90d3eba1949f0af76037757b493b8dd42ed6f0ee80401045957d46080604052600436106102f65760003560e01c80637e54f0921161018f578063bf15fcd8116100e1578063d365c6951161008a578063f2fde38b11610064578063f2fde38b14610859578063f78dc25314610879578063fa461e331461088c57600080fd5b8063d365c69514610813578063e449022e14610833578063e5d7bde61461084657600080fd5b8063c805a666116100bb578063c805a66614610799578063ca4ece22146107b9578063cf6fc6e3146107d957600080fd5b8063bf15fcd814610744578063bfa7514314610764578063c53a02921461078457600080fd5b8063942461bb11610143578063bc80f1a81161011d578063bc80f1a8146106f1578063bd61951d14610704578063bddccd351461072457600080fd5b8063942461bb146106915780639570eeee146106be578063bc1ed74c146106d157600080fd5b806383197ef01161017457806383197ef01461064157806384bd6d29146106565780638da5cb5b1461066957600080fd5b80637e54f092146105f4578063825caba11461062157600080fd5b80635a0998431161024857806370ae92d2116101fc57806372c244a8116101d657806372c244a81461059457806374261145146105b457806378e3214f146105d457600080fd5b806370ae92d21461053257806370ccbd311461055f578063715018a61461057f57600080fd5b806363592c2b1161022d57806363592c2b146104d25780636c838250146104f25780636fe7b0ba1461051257600080fd5b80635a099843146104ac57806362e238bb146104bf57600080fd5b80632d9a56f6116102aa5780633eca9c0a116102845780633eca9c0a1461041b5780634f38e2b81461044957806356f161241461046957600080fd5b80632d9a56f6146103bb57806337e7316f146103db5780633c15fd91146103fb57600080fd5b806312aa3caf116102db57806312aa3caf146103435780632521b9301461036b5780632cc2878d1461038b57600080fd5b80630502b1c51461030a578063093d4fa51461033057600080fd5b36610305576103036108ac565b005b600080fd5b61031d61031836600461483f565b6108b6565b6040519081526020015b60405180910390f35b61031d61033e3660046148a9565b6108d0565b610356610351366004614975565b610d16565b60408051928352602083019190915201610327565b34801561037757600080fd5b5061031d610386366004614a17565b610fd1565b34801561039757600080fd5b506103ab6103a6366004614abf565b611001565b6040519015158152602001610327565b3480156103c757600080fd5b506103566103d6366004614af1565b61104b565b3480156103e757600080fd5b5061031d6103f6366004614af1565b61114a565b34801561040757600080fd5b5061031d610416366004614a17565b611164565b61042e610429366004614c15565b611188565b60408051938452602084019290925290820152606001610327565b34801561045557600080fd5b506103ab610464366004614c72565b6111aa565b34801561047557600080fd5b5061031d610484366004614cbe565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61042e6104ba366004614cea565b6111d5565b61042e6104cd366004614d60565b61132b565b3480156104de57600080fd5b506103ab6104ed366004614abf565b421090565b3480156104fe57600080fd5b506103ab61050d366004614af1565b611355565b34801561051e57600080fd5b506103ab61052d366004614c72565b611384565b34801561053e57600080fd5b5061031d61054d366004614e0c565b60016020526000908152604090205481565b34801561056b57600080fd5b5061042e61057a366004614e29565b6113aa565b34801561058b57600080fd5b506103036113f1565b3480156105a057600080fd5b506103036105af366004614ecd565b611403565b3480156105c057600080fd5b506103ab6105cf366004614c72565b6114b2565b3480156105e057600080fd5b506103036105ef366004614cbe565b611524565b34801561060057600080fd5b5061031d61060f366004614abf565b60009081526002602052604090205490565b34801561062d57600080fd5b5061030361063c366004614abf565b611544565b34801561064d57600080fd5b50610303611553565b61031d610664366004614ef0565b61155e565b34801561067557600080fd5b506000546040516001600160a01b039091168152602001610327565b34801561069d57600080fd5b506106b16106ac366004614f67565b611571565b6040516103279190615001565b61042e6106cc366004615045565b61162a565b3480156106dd57600080fd5b5061031d6106ec366004614abf565b611767565b61031d6106ff36600461483f565b6117b7565b34801561071057600080fd5b5061030361071f366004615082565b6117c6565b34801561073057600080fd5b5061030361073f3660046150be565b611867565b34801561075057600080fd5b5061031d61075f366004615082565b611872565b34801561077057600080fd5b506103ab61077f366004614c72565b6118bd565b34801561079057600080fd5b50610303611930565b3480156107a557600080fd5b5061031d6107b43660046150e0565b61193a565b3480156107c557600080fd5b506103ab6107d4366004614c72565b611971565b3480156107e557600080fd5b506103ab6107f4366004614cbe565b6001600160a01b03919091166000908152600160205260409020541490565b34801561081f57600080fd5b5061042e61082e3660046151a4565b611998565b61031d610841366004615295565b611a2c565b61042e6108543660046152e8565b611a3b565b34801561086557600080fd5b50610303610874366004614e0c565b6124cb565b61031d6108873660046153ac565b612558565b34801561089857600080fd5b506103036108a7366004615416565b612573565b6108b4612785565b565b60006108c63387878787876127be565b9695505050505050565b60006001600160a01b0388161580156109085786341461090357604051631841b4e160e01b815260040160405180910390fd5b610a24565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316896001600160a01b0316036109f057506001341561096357604051631841b4e160e01b815260040160405180910390fd5b6040516323b872dd60e01b808252336004830152306024830152604482018990527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc291632e1a7d4d60e01b9060008060648382885af16109c6573d6000823e3d81fd5b8181528a60048201526000806024836000885af16109e7573d6000823e3d81fd5b50505050610a24565b3415610a0f57604051631841b4e160e01b815260040160405180910390fd5b610a246001600160a01b038a16338d8a612b30565b8015610ab85760008b905060006327a9b42460e01b90506040518181528a60048201528960248201528860448201528760648201528c60848201528560ff1c601b0160a48201528660c48201526001600160ff1b03861660e482015261012061010482015264a62929c86960d31b610143820152600080610149838d875af1610ab0573d6000823e3d81fd5b505050610d07565b6001600160a01b0388161580610aff57507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316886001600160a01b0316145b15610c75576040517f4cb6864c00000000000000000000000000000000000000000000000000000000808252600482018b90526024820189905260448201889052606482018790528c918a1560018114610b5e57306084830152610b65565b8d60848301525b508560ff1c601b0160a48201528660c48201526001600160ff1b03861660e482015261012061010482015264a62929c86960d31b610143820152600080610149836000875af1610bb8573d6000823e3d81fd5b507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03168a6001600160a01b031603610c6e57604051630d0e30db60e41b8082527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29163a9059cbb60e01b906000806004838f885af1610c42573d6000823e3d81fd5b8181528f60048201528b60248201526000806044836000885af1610c69573d6000823e3d81fd5b505050505b5050610d07565b60008b90506000632b651a6c60e01b90506040518181528b60048201528a60248201528960448201528860648201528760848201528c60a48201528560ff1c601b0160c48201528660e48201526001600160ff1b03861661010482015261014061012482015264a62929c86960d31b610163820152600080610169836000875af1610d03573d6000823e3d81fd5b5050505b50939998505050505050505050565b6000808660a00135600003610d57576040517f0262dde400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d666020890189614e0c565b90506000610d7a60408a0160208b01614e0c565b90506000610d90836001600160a01b0316612bcd565b905060c08a013560021615610dd55780610dab576000610db1565b89608001355b3411610dd057604051631841b4e160e01b815260040160405180910390fd5b610e06565b80610de1576000610de7565b89608001355b3414610e0657604051631841b4e160e01b815260040160405180910390fd5b80610e4f578715610e2557610e256001600160a01b0384168a8a612c06565b610e4f33610e3960608d0160408e01614e0c565b6001600160a01b038616919060808e0135612b30565b610e608b338c608001358a8a612cbf565b60808a01359350610e7a6001600160a01b03831630612d1f565b945084600003610eb6576040517f28ebf24700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000199094019360c08a013560011615610f4f576000610edf6001600160a01b03851630612d1f565b90506001811115610f0e5760001901610ef88186615473565b9450610f0e6001600160a01b0385163383612dca565b610f1c8560a08d0135615486565b610f2a60808d013588615486565b1015610f495760405163f32bec2f60e01b815260040160405180910390fd5b50610f74565b8960a00135851015610f745760405163f32bec2f60e01b815260040160405180910390fd5b600080610f8760808d0160608e01614e0c565b6001600160a01b031614610faa57610fa560808c0160608d01614e0c565b610fac565b335b9050610fc26001600160a01b0384168288612dca565b50505050965096945050505050565b6000610fe76001600160a01b0389168484612c06565b610ff48988888888612eaa565b9998505050505050505050565b600060d082901c60a083901c65ffffffffffff168361101f83421090565b801561104257506001600160a01b03811660009081526001602052604090205482145b95945050505050565b6000803361105f6080850160608601614e0c565b6001600160a01b03161461109f576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110a88361114a565b6000818152600260205260409020549250905060001982016110f6576040517f41a26a6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518281526020810184905233917fcbfa7d191838ece7ba4783ca3a30afd316619b7f368094b57ee7ffde9a923db1910160405180910390a26000818152600260205260409020600190559092909150565b600061115e611157613131565b8390613258565b92915050565b600061117a6001600160a01b0389168484612c06565b610ff48989898989896127be565b600080600061119a87878787336111d5565b9250925092509450945094915050565b60008060006111b985856132d7565b915091508180156111c957508581115b925050505b9392505050565b60008060006112356111e5613131565b601f198a0180517f74ab4f0cde46aaf927859983f7d04002116dd057d4c4941f6dbfb775c3e31f4582526101008220915260405161190160f01b8152600281019290925260228201526042902090565b9050600160fe1b8516156112a957600160fd1b851615801590611259575060418614155b15611277576040516317c2b1f160e01b815260040160405180910390fd5b6112878860600151828989613466565b6112a4576040516317c2b1f160e01b815260040160405180910390fd5b6112d6565b6112b988606001518289896134bb565b6112d6576040516317c2b1f160e01b815260040160405180910390fd5b6112e1888686613522565b60408051848152602081018490529295509093507fc3b639f02b125bfa160e50739b8c44eb2d1b6908e2b6d5925c6d770f2ca78127910160405180910390a1955095509592505050565b60008060006113418b8b8b8b8b8b8b8b33611a3b565b925092509250985098509895505050505050565b600080600061136b61136685613b2e565b6132d7565b9150915081801561137c5750806001145b949350505050565b600080600061139385856132d7565b915091508180156111c95750909414949350505050565b60008060006113d185858c604001516001600160a01b0316612c069092919063ffffffff16565b6113de8a8a8a8a8a6111d5565b9250925092509750975097945050505050565b6113f9613b45565b6108b46000613b9f565b8060ff16600003611440576040517fbd71636d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526001602052604081205461145e9060ff84169061549d565b336000818152600160205260409081902083905551919250907ffc69110dd11eb791755e4abd6b7d281bae236de95736d38a23782814be5e10db906114a69084815260200190565b60405180910390a25050565b60008080805b63ffffffff87821c1692508215611517576000806114db61136686868a8c6154b0565b915091508180156114ec5750806001145b156114ff576001955050505050506111ce565b50839250611510905060208261549d565b90506114b8565b5060009695505050505050565b61152c613b45565b6115406001600160a01b0383163383612dca565b5050565b61155033826000613c07565b50565b61155b613b45565b33ff5b6000610ff489338a8a8a8a8a8a8a6108d0565b60606000825167ffffffffffffffff81111561158f5761158f614b26565b6040519080825280602002602001820160405280156115b8578160200160208202803683370190505b50905060005b835181101561162357600260008583815181106115dd576115dd6154da565b6020026020010151815260200190815260200160002054828281518110611606576116066154da565b60209081029190910101528061161b816154f0565b9150506115be565b5092915050565b600080600061168a61163a613131565b601f19890180517f74ab4f0cde46aaf927859983f7d04002116dd057d4c4941f6dbfb775c3e31f4582526101008220915260405161190160f01b8152600281019290925260228201526042902090565b9050600160fe1b8416156116e657600160fd1b8416156116d6576116b48760600151828888613c9b565b6116d1576040516317c2b1f160e01b815260040160405180910390fd5b611713565b6116b48760600151828888613d05565b6116f68760600151828888613d5a565b611713576040516317c2b1f160e01b815260040160405180910390fd5b61171e878533613522565b60408051848152602081018490529295509093507fc3b639f02b125bfa160e50739b8c44eb2d1b6908e2b6d5925c6d770f2ca78127910160405180910390a19450945094915050565b600081815260026020526040812054806117ad576040517fb838de9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000190192915050565b60006108c68686868686612eaa565b600080846001600160a01b031684846040516117e3929190615509565b600060405180830381855af49150503d806000811461181e576040519150601f19603f3d011682016040523d82523d6000602084013e611823565b606091505b509150915081816040517f1934afc800000000000000000000000000000000000000000000000000000000815260040161185e929190615569565b60405180910390fd5b611540338383613c07565b6000806000611882868686613da9565b9150915081611042576040517f1f1b8f6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080805b63ffffffff87821c1692508215611923576000806118e661136686868a8c6154b0565b915091508115806118f8575080600114155b1561190b576000955050505050506111ce565b5083925061191c905060208261549d565b90506118c3565b5060019695505050505050565b6108b46001611403565b60006119506001600160a01b038b168484612c06565b6119618c8c8c8c8c8c8c8c8c6108d0565b9c9b505050505050505050505050565b600080600061198085856132d7565b915091508180156111c9575094909410949350505050565b6000808060148410156119d7576040517fd9e1c6dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660006119e68888613dd7565b91945092509050611a016001600160a01b0384168383612c06565b505050611a158e8e8e8e8e8e8e8e8e611a3b565b9250925092509b509b509b98505050505050505050565b60006110423386868686612eaa565b600080806001600160a01b038416611a7f576040517fb0c4d05f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a888c61114a565b6000818152600260205260409020548894508793509091508c906000198101611add576040517fecef366400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611aef60c0840160a08501614e0c565b6001600160a01b031614158015611b1e575033611b1260c0840160a08501614e0c565b6001600160a01b031614155b15611b55576040517fd4dfdafe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611c5857611b75611b6d6080840160608501614e0c565b848f8f6134bb565b611bab576040517f5cd5d23300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060c0810135366000611bbd84613e15565b91509150600160ff1b89166000148015611bd8575060148110155b15611c51576000366000611bec8585613dd7565b91945092509050611c076001600160a01b0384168383612c06565b60008881526002602052604090205415611c4d576040517fc5f2be5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505b5050611c5d565b600019015b6000611c6883613b2e565b90501115611caf57611c7982611355565b611caf576040517fb6629c0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8415841503611ce9576040517ee2a52200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003611d795780851115611cfd578094505b611d1b611d0983613e23565b8460c00135888660e001358689613e31565b93506001600160ff1b038716611d318682615486565b611d3b8b87615486565b1115611d73576040517ffb8ae12900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50611e44565b611d97611d8583613e67565b8460e00135878660c001358689613e75565b945080851115611dec57809450611db0611d0983613e23565b935087841115611dec576040517f939c420400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160ff1b038716611e008582615486565b611e0a8a88615486565b1015611e42576040517f481ea39200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b841580611e4f575083155b15611e86576040517ffba5a27600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84810390508060010160026000858152602001908152602001600020819055508d6060016020810190611eb99190614e0c565b6001600160a01b03167fb9ed0243fdf00f0545c63a0af8850c090d86bb46682baec4bf3c496814fe4f028483604051611efc929190918252602082015260400190565b60405180910390a26014611f0f83613e89565b905010611fb2576000366000611f2c611f2786613e89565b613dd7565b919450925090506001600160a01b0383166396a10e3387611f536080890160608a01614e0c565b338c8c8a89896040518963ffffffff1660e01b8152600401611f7c9897969594939291906155ad565b600060405180830381600087803b158015611f9657600080fd5b505af1158015611faa573d6000803e3d6000fd5b505050505050505b611fe5611fc56040840160208501614e0c565b611fd56080850160608601614e0c565b8888611fe087613e97565b613ea5565b61201b576040517f70a03f4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60148a106120f35760003660006120328e8e613dd7565b9250925092506000836001600160a01b031663ccee33d7338b8b87876040518663ffffffff1660e01b815260040161206e959493929190615600565b6020604051808303816000875af115801561208d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b1919061562f565b905087811180156120d057506120ce6120c987613e67565b613f00565b155b80156120e557506120e36120c987613e23565b155b156120ee578097505b505050505b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21661212d6060840160408501614e0c565b6001600160a01b03161480156121435750600034115b15612359578334101561216957604051631841b4e160e01b815260040160405180910390fd5b833411156121df57604051600090339034879003908381818185875af1925050503d80600081146121b6576040519150601f19603f3d011682016040523d82523d6000602084013e6121bb565b606091505b50509050806121dd5760405163b12d13eb60e01b815260040160405180910390fd5b505b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561223a57600080fd5b505af115801561224e573d6000803e3d6000fd5b50506001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216925063a9059cbb91506000905061229760a0860160808701614e0c565b6001600160a01b0316146122ba576122b560a0850160808601614e0c565b6122ca565b6122ca6080850160608601614e0c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602481018790526044016020604051808303816000875af115801561232f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123539190615648565b50612411565b341561237857604051631841b4e160e01b815260040160405180910390fd5b6123db61238b6060840160408501614e0c565b33600061239e60a0870160808801614e0c565b6001600160a01b0316146123c1576123bc60a0860160808701614e0c565b6123d1565b6123d16080860160608701614e0c565b87611fe087613f75565b612411576040517f478a520500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601461241c83613f83565b9050106124ba576000366000612434611f2786613f83565b919450925090506001600160a01b038316633504ed628761245b6080890160608a01614e0c565b338c8c8a89896040518963ffffffff1660e01b81526004016124849897969594939291906155ad565b600060405180830381600087803b15801561249e57600080fd5b505af11580156124b2573d6000803e3d6000fd5b505050505050505b505099509950999650505050505050565b6124d3613b45565b6001600160a01b03811661254f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161185e565b61155081613b9f565b60006125688787878787876127be565b979650505050505050565b6125cc565b3d6000803e3d6000fd5b8061258f5761258f612578565b600160005114601f3d11163d151780611540577ff27f64e40000000000000000000000000000000000000000000000000000000060005260046000fd5b604051601581017f0dfe1681d21220a7ddca3f43a9059cbb23b872dd0000000000000000000000008252602081600484335afa61260b5761260b612578565b60208082016004808501335afa61262457612624612578565b602060408201600460088501335afa61263f5761263f612578565b600080600088136001811461265d5760208401519250879150612665565b835192508891505b507fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000084526060832083527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460208401526001600160a01b0360558520169250338318156126f6577fb2c027220000000000000000000000000000000000000000000000000000000060005260046000fd5b60843592507f0dfe1681d21220a7ddca3f43a9059cbb23b872dd00000000000000000000000084523083146001811461275757836014860152336034860152816054860152612752602060006064601089016000885af1612582565b61277a565b33601086015281603086015261277a602060006044600c89016000885af1612582565b505050505050505050565b3233036108b4576040517f1b10b0f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006128b9565b7f0902f1ac0000000000000000000000000000000000000000000000000000000081526000604082600484875afa6127ff576127ff612578565b60603d14612831577f85cd58dc0000000000000000000000000000000000000000000000000000000060005260046000fd5b81516020830151861561284057905b8785029250633b9aca008202830181840204925050507f022c0d9f000000000000000000000000000000000000000000000000000000008252841594508415810260048301528481026024830152866044830152608060648301526000608483015260008060a4846000885af16108c6576108c6612578565b6dffffffffffffffffffffffffffff8511156128f9577fcf0b4d3a0000000000000000000000000000000000000000000000000000000060005260046000fd5b60405160c081016040528260051b84018435886000811461296957341561292b57631841b4e160e01b60005260046000fd5b6323b872dd60e01b84523360048501526001600160a01b03821660248501528860448501526129646020600060648760008f5af1612582565b6129ff565b34891461298157631841b4e160e01b60005260046000fd5b630d0e30db60e41b84526000806004868c73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16129b5576129b5612578565b63a9059cbb60e01b84526001600160a01b0382166004850152886024850152600080604486600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16129ff576129ff612578565b50879350602086015b82811015612a50578035612a446001600160a01b03821663ffffffff60a01b851660a01c600160ff1b86166001600160a01b0387168a8a6127c5565b95509150602001612a08565b50600160fe1b81168015612adf57612a873063ffffffff60a01b841660a01c600160ff1b85166001600160a01b03861689896127c5565b9450632e1a7d4d60e01b8452846004850152600080602486600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1612ac457612ac4612578565b600080600080888f5af1612ada57612ada612578565b612b0b565b612b088b63ffffffff60a01b841660a01c600160ff1b85166001600160a01b03861689896127c5565b94505b50505050838110156108c65760405163f32bec2f60e01b815260040160405180910390fd5b60006323b872dd60e01b905060006040518281528560048201528460248201528360448201526020600060648360008b5af19150508015612b8e573d8015612b8457600160005114601f3d11169150612b8c565b6000873b1191505b505b80612bc5576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b60006001600160a01b038216158061115e57506001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1492915050565b600060e0829003612c4457612c3d847fd505accf000000000000000000000000000000000000000000000000000000008585613f91565b9050612cac565b610100829003612c7a57612c3d847f8fcbaf0c000000000000000000000000000000000000000000000000000000008585613f91565b6040517f6827585700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612cb957612cb9613fe3565b50505050565b6040517f4b64e4920000000000000000000000000000000000000000000000000000000080825260048201869052908284602483013784836024830101526000808460440183348b5af1612d16573d6000823e3d81fd5b50505050505050565b6000612d2a83612bcd565b15612d4057506001600160a01b0381163161115e565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015612d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc3919061562f565b905061115e565b8015612ea557612dd983612bcd565b15612e915780471015612e18576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826001600160a01b03168261138890604051600060405180830381858888f193505050503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b5050905080612cb95760405163b12d13eb60e01b815260040160405180910390fd5b612ea56001600160a01b0384168383613fef565b505050565b600081808203612ee6576040517f67e7c0f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8591506000198101341515600080600160fd1b888886818110612f0b57612f0b6154da565b90506020020135161190508115612fb157883414612f3c57604051631841b4e160e01b815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db08a6040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f9757600080fd5b505af1158015612fab573d6000803e3d6000fd5b50505050505b600184111561305157612feb3083612fc95733612fcb565b305b89896000818110612fde57612fde6154da565b9050602002013588614038565b945060015b838110156130265761301c30308a8a8581811061300f5761300f6154da565b9050602002013589614038565b9550600101612ff0565b5061304a81613035578a613037565b305b30898987818110612fde57612fde6154da565b945061306f565b61306c8161305f578a613061565b305b83612fc95733612fcb565b94505b878510156130905760405163f32bec2f60e01b815260040160405180910390fd5b801561312457604051632e1a7d4d60e01b8152600481018690527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156130f857600080fd5b505af115801561310c573d6000803e3d6000fd5b50613124925050506001600160a01b038b16866141d4565b5050505095945050505050565b6000306001600160a01b037f0000000000000000000000001111111254eeb25477b68fb85ed929f73a9605821614801561318a57507f000000000000000000000000000000000000000000000000000000000000000146145b156131b457507f1c0eb4c27d5b523ca136c0b3b83a4dcac8b70225b38be8507ba1a3f2af03cfca90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f5c6cbfb2848b981a8f93044b3530be1fac304ecd5042396ca8729cb8fdd718f3828401527fceebf77a833b30520287ddd9478ff51abbdffa30aa90a8d655dba0e8a79ce0c160608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000368161326a61012086018661566a565b60405191935091507f0a244ca8a150ac294c14fcff9277051ced9a5b23e966a0ff0522e989da23116c9082848237828120610140820152610120876020830137818152610160902060405161190160f01b81526002810187905260228101829052604290209094506108c6565b60008060006132e685856142ed565b60e01c905060006132f986866004614317565b9050632cc2878c19820161333057600161331282611001565b61331d576000613320565b60015b90945060ff16925061345f915050565b63bf15fcd88210156133be57636fe7b0ba82101561338257634f38e2b71982016133665760016133128261046489896064614348565b6363592c2a19820161337d57600161331282421090565b61344d565b636fe7b0b91982016133a05760016133128261052d89896064614348565b637426114419820161337d576001613312826105cf89896064614348565b63ca4ece228210156134115763bf15fcd71982016133f35760016133e88261075f89896064614348565b93509350505061345f565b63bfa7514219820161337d5760016133128261077f89896064614348565b63ca4ece2119820161342f576001613312826107d489896064614348565b63cf6fc6e219820161344d576001613312826107f489896024614317565b613458308787613da9565b9350935050505b9250929050565b600080631626ba7e60e01b905060405181815285600482015260406024820152836044820152838560648301376020600085606401838a5afa156134b15760203d1460005183141692505b5050949350505050565b60006001600160a01b0385166134d35750600061137c565b60408214806134e25750604182145b80156135095750846001600160a01b03166134fe858585614378565b6001600160a01b0316145b156135165750600161137c565b61104285858585613466565b6000806001600160a01b038316613565576040517f692e45e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606085015160808601516001600160a01b031615801590613593575060808601516001600160a01b03163314155b156135ca576040517fe8c6632100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b855167ffffffffffffffff604082901c1680158015906135e957508042115b15613620576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61362c83836000613c07565b505060a086015160c08701517f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8716600081900361366f57829550819450613715565b600160ff1b8816156136ca57828111156136b5576040517faa34b69600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8095506136c383838861442d565b9450613715565b81811115613704576040517f7f902a9300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80945061371283838761445b565b95505b5050508260001480613725575081155b1561375c576040517f07b6e79f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031686602001516001600160a01b03161480156137c257507f1000000000000000000000000000000000000000000000000000000000000000851615155b1561395a576040516323b872dd60e01b81526001600160a01b038281166004830152306024830152604482018590527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216906323b872dd906064016020604051808303816000875af115801561383c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138609190615648565b50604051632e1a7d4d60e01b8152600481018490527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156138c357600080fd5b505af11580156138d7573d6000803e3d6000fd5b505050506000846001600160a01b03168461138890604051600060405180830381858888f193505050503d806000811461392d576040519150601f19603f3d011682016040523d82523d6000602084013e613932565b606091505b50509050806139545760405163b12d13eb60e01b815260040160405180910390fd5b50613974565b6020860151613974906001600160a01b0316828686612b30565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031686604001516001600160a01b03161480156139b95750600034115b15613aec578134146139de57604051631841b4e160e01b815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015613a3957600080fd5b505af1158015613a4d573d6000803e3d6000fd5b505060405163a9059cbb60e01b81526001600160a01b038581166004830152602482018790527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216935063a9059cbb925060440190506020604051808303816000875af1158015613ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ae69190615648565b50613b25565b3415613b0b57604051631841b4e160e01b815260040160405180910390fd5b6040860151613b25906001600160a01b0316338385612b30565b50935093915050565b366000613b3c836004614468565b91509150915091565b6000546001600160a01b031633146108b45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161185e565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316600090815260036020908152604080832066ffffffffffffff600887901c16808552928190529220549091600160ff86161b841791808316839003613c82576040517ff71fbda200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000938452602091909152604090922091179055505050565b600080631626ba7e60e01b905060405181815285600482015260406024820152604160448201528460648201526001600160ff1b03841660848201528360ff1c601b0160a48201536020600060a5838a5afa156134b15750600051143d6020141695945050505050565b600080631626ba7e60e01b905060405181815285600482015260406024820152604060448201528460648201528360848201526020600060a4838a5afa156134b15750600051143d6020141695945050505050565b60006001600160a01b038516613d725750600061137c565b846001600160a01b0316613d878585856144c3565b6001600160a01b031603613d9d5750600161137c565b61104285858585613d05565b60008060405183858237602060008583895afa3d602014169250508115613dcf57506000515b935093915050565b600036816014841015613dfd5760405163779ab6bd60e11b815260040160405180910390fd5b505050813560601c9260149092019160131990910190565b366000613b3c836005614468565b366000613b3c836003614468565b6000868103613e4c57613e4586858761442d565b9050612568565b613e5b88888888888888614532565b98975050505050505050565b366000613b3c836002614468565b6000868103613e4c57613e4584878761445b565b366000613b3c836006614468565b366000613b3c836000614468565b6040516323b872dd60e01b8082526004820187905260248201869052604482018590526000918385606483013760206000856064018360008d5af19050600160005114601f3d11163d15178116925050509695505050505050565b60006001821480156111ce575082826000818110613f2057613f206154da565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f7800000000000000000000000000000000000000000000000000000000000000149392505050565b366000613b3c836001614468565b366000613b3c836007614468565b6000816004016040518581528385600483013760206000838360008b5af192505050801561137c573d8015613fd257600160005114601f3d11169150613fda565b6000863b1191505b50949350505050565b6040513d6000823e3d81fd5b6140028363a9059cbb60e01b84846146be565b612ea5576040517ffb7f507900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600160ff1b831615801561410e576000846001600160a01b031663128acb08888461406488614700565b604080516001600160a01b038d1660208201526401000276a491016040516020818303038152906040526040518663ffffffff1660e01b81526004016140ae9594939291906156b1565b60408051808303816000875af11580156140cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f091906156eb565b915050614105816141009061570f565b614783565b9250505061137c565b6000846001600160a01b031663128acb08888461412a88614700565b604080516001600160a01b038d16602082015273fffd8963efd1fc6a506488495d951d5263988d2591016040516020818303038152906040526040518663ffffffff1660e01b81526004016141839594939291906156b1565b60408051808303816000875af11580156141a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141c591906156eb565b5090506141056141008261570f565b804710156142245760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161185e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114614271576040519150601f19603f3d011682016040523d82523d6000602084013e614276565b606091505b5050905080612ea55760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161185e565b600060048210156143115760405163779ab6bd60e11b815260040160405180910390fd5b50503590565b60006020820183101561433d5760405163779ab6bd60e11b815260040160405180910390fd5b509190910135919050565b3660008284101561436c5760405163779ab6bd60e11b815260040160405180910390fd5b50509182019291900390565b6000604051826041811461439757604081146143b157600091506143d9565b604085013560001a602083015260408560408401376143d9565b60208501358060ff1c601b01602084015260208660408501376001600160ff1b031660608301525b508015614425577f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16060820151101561442557848152600080526020600060808360015afa5060005191505b509392505050565b60008360018161443d8686615486565b614447919061549d565b6144519190615473565b61137c919061572b565b6000826144518584615486565b3660008060058460078111156144805761448061574d565b901b905061449261012086018661566a565b6144b79161010088013580851c63ffffffff9081169360209290921b861c16916154b0565b92509250509250929050565b60006001600160ff1b0382167f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1811015614425576040518581528360ff1c601b016020820152846040820152816060820152600080526020600060808360015afa505060005195945050505050565b600060018790036145be576145478888613f00565b1561458c57858514614585576040517f49986e7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082612568565b6040517fbec74c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660006145cd8b8b613dd7565b925092509250600080846001600160a01b031684848c8b8b6040516020016145f9959493929190615763565b60408051601f198184030181529082905261461391615782565b600060405180830381855afa9150503d806000811461464e576040519150601f19603f3d011682016040523d82523d6000602084013e614653565b606091505b509150915081158061466757508051602014155b1561469e576040517f110b8e7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808060200190518101906146b2919061562f565b95505050505050612568565b60006040518481528360048201528260248201526020600060448360008a5af1915050801561137c573d8015613fd257600160005114601f3d11169150613fda565b60006001600160ff1b0382111561477f5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e74323536000000000000000000000000000000000000000000000000606482015260840161185e565b5090565b60008082121561477f5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161185e565b6001600160a01b038116811461155057600080fd5b80356147f5816147d5565b919050565b60008083601f84011261480c57600080fd5b50813567ffffffffffffffff81111561482457600080fd5b6020830191508360208260051b850101111561345f57600080fd5b60008060008060006080868803121561485757600080fd5b8535614862816147d5565b94506020860135935060408601359250606086013567ffffffffffffffff81111561488c57600080fd5b614898888289016147fa565b969995985093965092949392505050565b60008060008060008060008060006101208a8c0312156148c857600080fd5b89356148d3816147d5565b985060208a01356148e3816147d5565b975060408a01356148f3816147d5565b965060608a0135614903816147d5565b989b979a50959860808101359760a0820135975060c0820135965060e08201359550610100909101359350915050565b60008083601f84011261494557600080fd5b50813567ffffffffffffffff81111561495d57600080fd5b60208301915083602082850101111561345f57600080fd5b60008060008060008086880361014081121561499057600080fd5b873561499b816147d5565b965060e0601f19820112156149af57600080fd5b5060208701945061010087013567ffffffffffffffff808211156149d257600080fd5b6149de8a838b01614933565b90965094506101208901359150808211156149f857600080fd5b50614a0589828a01614933565b979a9699509497509295939492505050565b60008060008060008060008060c0898b031215614a3357600080fd5b8835614a3e816147d5565b97506020890135614a4e816147d5565b96506040890135955060608901359450608089013567ffffffffffffffff80821115614a7957600080fd5b614a858c838d016147fa565b909650945060a08b0135915080821115614a9e57600080fd5b50614aab8b828c01614933565b999c989b5096995094979396929594505050565b600060208284031215614ad157600080fd5b5035919050565b60006101408284031215614aeb57600080fd5b50919050565b600060208284031215614b0357600080fd5b813567ffffffffffffffff811115614b1a57600080fd5b61137c84828501614ad8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614b6557614b65614b26565b604052919050565b600060e08284031215614b7f57600080fd5b60405160e0810181811067ffffffffffffffff82111715614ba257614ba2614b26565b604052823581529050806020830135614bba816147d5565b60208201526040830135614bcd816147d5565b60408201526060830135614be0816147d5565b60608201526080830135614bf3816147d5565b8060808301525060a083013560a082015260c083013560c08201525092915050565b6000806000806101208587031215614c2c57600080fd5b614c368686614b6d565b935060e085013567ffffffffffffffff811115614c5257600080fd5b614c5e87828801614933565b959890975094956101000135949350505050565b600080600060408486031215614c8757600080fd5b83359250602084013567ffffffffffffffff811115614ca557600080fd5b614cb186828701614933565b9497909650939450505050565b60008060408385031215614cd157600080fd5b8235614cdc816147d5565b946020939093013593505050565b60008060008060006101408688031215614d0357600080fd5b614d0d8787614b6d565b945060e086013567ffffffffffffffff811115614d2957600080fd5b614d3588828901614933565b9095509350506101008601359150610120860135614d52816147d5565b809150509295509295909350565b60008060008060008060008060c0898b031215614d7c57600080fd5b883567ffffffffffffffff80821115614d9457600080fd5b614da08c838d01614ad8565b995060208b0135915080821115614db657600080fd5b614dc28c838d01614933565b909950975060408b0135915080821115614ddb57600080fd5b50614de88b828c01614933565b999c989b5096999698976060880135976080810135975060a0013595509350505050565b600060208284031215614e1e57600080fd5b81356111ce816147d5565b6000806000806000806000610160888a031215614e4557600080fd5b614e4f8989614b6d565b965060e088013567ffffffffffffffff80821115614e6c57600080fd5b614e788b838c01614933565b90985096506101008a013595506101208a01359150614e96826147d5565b9093506101408901359080821115614ead57600080fd5b50614eba8a828b01614933565b989b979a50959850939692959293505050565b600060208284031215614edf57600080fd5b813560ff811681146111ce57600080fd5b600080600080600080600080610100898b031215614f0d57600080fd5b8835614f18816147d5565b97506020890135614f28816147d5565b96506040890135614f38816147d5565b979a96995096976060810135975060808101359660a0820135965060c0820135955060e0909101359350915050565b60006020808385031215614f7a57600080fd5b823567ffffffffffffffff80821115614f9257600080fd5b818501915085601f830112614fa657600080fd5b813581811115614fb857614fb8614b26565b8060051b9150614fc9848301614b3c565b8181529183018401918481019088841115614fe357600080fd5b938501935b83851015613e5b57843582529385019390850190614fe8565b6020808252825182820181905260009190848201906040850190845b818110156150395783518352928401929184019160010161501d565b50909695505050505050565b600080600080610140858703121561505c57600080fd5b6150668686614b6d565b9660e08601359650610100860135956101200135945092505050565b60008060006040848603121561509757600080fd5b83356150a2816147d5565b9250602084013567ffffffffffffffff811115614ca557600080fd5b600080604083850312156150d157600080fd5b50508035926020909101359150565b60008060008060008060008060008060006101408c8e03121561510257600080fd5b8b3561510d816147d5565b9a5060208c013561511d816147d5565b995060408c013561512d816147d5565b985060608c013561513d816147d5565b975060808c0135965060a08c0135955060c08c0135945060e08c013593506101008c013592506101208c013567ffffffffffffffff81111561517e57600080fd5b61518a8e828f01614933565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060008060006101008c8e0312156151c657600080fd5b67ffffffffffffffff808d3511156151dd57600080fd5b6151ea8e8e358f01614ad8565b9b508060208e013511156151fd57600080fd5b61520d8e60208f01358f01614933565b909b50995060408d013581101561522357600080fd5b6152338e60408f01358f01614933565b909950975060608d0135965060808d0135955060a08d0135945061525960c08e016147ea565b93508060e08e0135111561526c57600080fd5b5061527d8d60e08e01358e01614933565b81935080925050509295989b509295989b9093969950565b600080600080606085870312156152ab57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156152d057600080fd5b6152dc878288016147fa565b95989497509550505050565b600080600080600080600080600060e08a8c03121561530657600080fd5b893567ffffffffffffffff8082111561531e57600080fd5b61532a8d838e01614ad8565b9a5060208c013591508082111561534057600080fd5b61534c8d838e01614933565b909a50985060408c013591508082111561536557600080fd5b506153728c828d01614933565b90975095505060608a0135935060808a0135925060a08a0135915060c08a013561539b816147d5565b809150509295985092959850929598565b60008060008060008060a087890312156153c557600080fd5b86356153d0816147d5565b955060208701356153e0816147d5565b94506040870135935060608701359250608087013567ffffffffffffffff81111561540a57600080fd5b614a0589828a016147fa565b6000806000806060858703121561542c57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561545157600080fd5b6152dc87828801614933565b634e487b7160e01b600052601160045260246000fd5b8181038181111561115e5761115e61545d565b808202811582820484141761115e5761115e61545d565b8082018082111561115e5761115e61545d565b600080858511156154c057600080fd5b838611156154cd57600080fd5b5050820193919092039150565b634e487b7160e01b600052603260045260246000fd5b6000600182016155025761550261545d565b5060010190565b8183823760009101908152919050565b60005b8381101561553457818101518382015260200161551c565b50506000910152565b60008151808452615555816020860160208601615519565b601f01601f19169290920160200192915050565b821515815260406020820152600061137c604083018461553d565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b88815260006001600160a01b03808a1660208401528089166040840152508660608301528560808301528460a083015260e060c08301526155f260e083018486615584565b9a9950505050505050505050565b6001600160a01b0386168152846020820152836040820152608060608201526000612568608083018486615584565b60006020828403121561564157600080fd5b5051919050565b60006020828403121561565a57600080fd5b815180151581146111ce57600080fd5b6000808335601e1984360301811261568157600080fd5b83018035915067ffffffffffffffff82111561569c57600080fd5b60200191503681900382131561345f57600080fd5b60006001600160a01b038088168352861515602084015285604084015280851660608401525060a0608083015261256860a083018461553d565b600080604083850312156156fe57600080fd5b505080516020909101519092909150565b6000600160ff1b82036157245761572461545d565b5060000390565b60008261574857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fd5b8486823790930191825260208201526040810191909152606001919050565b60008251615794818460208701615519565b919091019291505056fea264697066735822122040321861ce858a2c911db7a2e1f42f4368d23b5251b80dd661a6f2abf19c358d64736f6c634300081100330313679a3926a5ead52aabce0fb8fe8a5ed28e28bdbfee3aaf6963e1b540ae01f8033251a93a085101fce6395c95e029fa0e64a6b47833060769ee3e0e22b52e16ac03bb962b72580eb99bfa7259639e4059ed2685bfce6e32fd41320bc74d97a4f43b03d13093c67ca76747893ba0fb37ed1d7d9cf0d0e76979ae239306a64b39886d99039d7b1659942c3366d513cd654edbfd6a4e0715e850e72b020c0638c2f28301290360e04cf83b3c57a4d2c52db449461183bb8ff7e646036fa85680808e9c2deece03e3414a7a1c9e2b40fef53041d1d6cd44b51f0ac05ea2d5573ef4211bef74d33303539cd701f44ec282362c38b512d60632e2e0627b0401cc8b7449de07ce9e951103a9ec809fd0000cbcba1de92b572d5913835802570e157dbe8ba876cf880cf0a903a6e2a8b7b7d1e4dc8186bd2e2542e7d63223fbd7e44f993aed34c50543ceab100305f3122b3e4af31ba3b978bbc0f351a93df1fef9896070de47e1dd40570fc6a9031be15247ba7e4cb8b0877db905fb44abda0bfe8d7609c83da749e11e51f793380339be41adc65b89d8521993014d6d12a9f5668a5552b53861bd17ef25639921c0032bf5739e2846c08506be9b20bcccc90347b41aad134e0f8e61191a0c72a690a6032dfc587d0ef75f396a6567cf40d343bf902cd5b2f35f0983c359c2a297fa945f03d0f790397bfd4fc6d7c671f0934e178f4c7b997bfa8db143f39ef6df16fe9c000219ffff05581d02a60b44d485b25109469ccd689525ca635399eead780b83b92abe15410f0141011957d405581d02ca6020da6a27c6d29e500805bdd2c864e78cda51e74d0868b5ea5013041827037153c4ace2d03b3c3d1b9657de749a8e348f094954e1bee59a134b59ccb94baf021904940360ed7cf891587ba16f47b0584c3fd2389fc7fb3bcb3bfef8bf363c783eb41cf302194b5703122dd4494388b05efeee9c5a212aacc826eacb62c25dc0c3d22cfce9dcb0357b03d07f85beb6bce76030d60327a32f1b667d12550025d2587dd461b4a6919bc3f0035b80c6c461b546eec72ac3a506c2c2638372bc3e536cb7cca2e91a43f3aa490f03c8d5bf513c1bfc630c91519fb149fa7f27776ce08a1a0ba4a2059a78693de50f03d0e9287f19f7bc395df1edc9cacabe877ad66d53728a03c187c970383d1811bc036f379b1d109ecc2ec3a6ab17b1d9acd4acc1060cd85b7e5694be527e7db6cf11031f090991ca6a5db2dd06baf2a43b1590bb37dacba093e9f16c81a1888fe16aa7032a217c1011a56309759f590b46edd1814d4c7bc30e55e4e8843d3298518eb606037a73c22d35614e2393d47b74d467dd72be471fcad0da220b80a85c49b5a7fa310348d4173b7d1ddf05fe50fdc8c11e3aa54b75d3de1debd64a18c8d7a14bfc2cc403fc5c753d33e597d6cfcf9d82f6b1b46a605a1646380678abe6b2ac495391cf0a03fd6619b7cd82ed2836d65ca7d4c17a2336aa6d7ec0d6680ae757558c67074b7703bb8fb3992fffcccc44ab4b9875ecd51d29369950799ed279a1585e09aaa12fb70219ffff0354572cb532685380228362e0e2a904158bd24b50def528816d159d3ad9ca0a8303f7fa8bd6845d49b632bbfbc778a133d9e4deab01629e92fc1200bddbadff0efd03bfe5c2d8dd41c4e9ef76121225ab92230ba834616cc134441fff8082ebcbfaa80372aefa54d35d265ffa618dbd734dfcc205ba026722ee9a5a79c550dbed82337b030383d31cdcbbbaf13ae4e710895d1553a1875597a9a86e6a2b4966f3d78fcc8903321187f1062f8a188eb5efc2012bf3e4e9c10b82178f54c902b2877f0708e47a03307308ecbfdf7fd46eacb6d1df3304c20c0441a2c87f84b7fc5a58621ffcd64a03a46f91c8cbe707489bfd95a689c16ce33530bedc09931ae719e88b2bc25d227303402eff820f0cbaaad033ad43f36d6e00592dbf1ceffe3544d6a5fc3600bebe5c03aba127abad328d3ebb4da602404886ea7c8068420286cad2e3b4aede4440d31f03a31f9108ef4bb1e314c899db9ddd14b5c078b59a1ef60cca19636bc8fc6700bf03acf417b94558a5f42cd6183cb2c09662ad6c5b21b742b239348b05bfbf3d32ff0360ff9629c5ff1f52d64fdac843009e6249297d7129a013e114324b1a0dc0a9a7037aaee548cfc9924372e240f61bc80d61034e0bf928e63a16576c768eba44ae520219ffff036be8905d745861061ad49ad250bcb04aee4180a7238e154c412c18bd85992e4903b5e83c3a2c702210e560687bc5e6114ea30955ed53dffaa8ab1a2b771cae659b039e9503e81c97d54f3fef122a06373e02c4e666b72dae79c92aeafe41065c416c03cd0ee0b5cdaa38bf311391cc48220c13d400cf6c6835d83adfbf986b880ea53e03970ac8c7c28e4175ddf9f5497cef5725c1ff6129f79818c08bfa56d45649896c038e12df703646747baf3ecca4a79b06b39d551658e85c19eb5d060b1a853c0dea03a5bba68fb6961524ec30606ed04e6c4e5c815630f4aaf6e25f8c324063d521e2032704ddcbdbad20176b88b455cc0ef7bc269cf0a744b2f85dc6a0ca310a5116ea03056573b7f3370185637876b03ca7eb933297d6ca3be5eb1cf43b8133c81f71e20219ffff037417e5320dfdf9ea4ecda3d009a1342da9ece2f2bed5d33a5945c1c7361d827103a0e3f562e6a98f5cad710ad47e6b992c39f7aafef17e92547ac359ffdf54e9d503e1e61d27d8eab7af048cbfa1c2d35943bc4cd6ec70310ed3519e54b22d04ed1f035ea6a25c798c28663105add3486d61638e360fa840c88482558ecabbf5dcfaf9038d9a68e1823726e1192e10298fd2e204a1d15cdf9c9e746a5914989726b1ee8e03fb3cbc01c412335402af28a381ab732983520d8827b7e3d95e774dfba0850c26039c926a6c16041d042cb2b626953d1af8fd528c0394f504e3239d0fcdf01ef37a03b41441e176a37ae1c26964ed7e0fcf179487c7db3582031b40ea151ee2b24c7c03e41bdcb5ceac46542b3a9d8f78e3aa23b6e16b36be372d40c04f87c49fa4af8b03713744e751526ff7dca1623fad51d9933a0f77b1a12b1e25d09b2c986c09237003a7cfcd8eeadbbb18a6ac301028d73be40e48e2336aee29634b9ea10df5fd88a1035d3aaa5e1c6f4c324d6f54a285950a3d689ff9f9ec597a1d7e7c41c995a089f4031e5f5391db787630b6a6057b2f453503510b30d42b4f87f0d3006e99353c029203f47937609d89d767006f30527cb220718b925502defe3b14b45db51406624d2803846f0c3ea75581deddef454fe0876b84e5a28780daf4e58b29055353996d14b10219ffff0307dce61f0d5c9fdcc36bde42ff874faa53eee99d6d68447a78c72c3ec3f4e8c503eb522741f05aaf1a87852ccf4f9e1a979dd36f042faa154ba27d24a2fa8345640384a5200bf258392eb35330c81dd33c6ddd44d03225273c38cf462a4a6c480d5403609b52a13a6a5f9a297276519239cdf3ea115c95487ed51069d9535d40f4732f0356fb9528e42b9abb588dbdf403a38db03375865e95ac3465b6ffb797c7f488c7034d071d9fafa84695d401e02ae4b0990821a199bb07a94be3847e5e439144567f036b2df99c9cd5cef63b3fa53c5af26435fd9ea363dcccfbf767d354f6f71be5a6031b96aae34dad5b52fa5eb77d03acba240f77f6180e564ab10e6d17933d1f11da03bb8fce0ee2897322c62c43695cfefab068989720b3b408274367ff363a47510903e9ea36b750a110cdd64802d0bb5bbeb667725ee57ca376c3d7125fb64f0a891d032e9e45a4eddf93ef66b3d3835b8e5f6f277bbdd5a797e8a82443ee97dd2d1883031abc6bd0a501e38c6f503d15f094933a76516d4921ca9313eecc9b094ff48546034bc920ebf08cea0a6713aa8d0c297486303d2dfd14a3f502e285ef5e05aa6347038bca49c0b8e3917d1f07c28f964748a0c677c228b96c45168cca4a02d8b6f6f20389be32e90cc7c25f4670af2c49f5a4617679d02bb9a035a8c9793ac4c4ae78cc03864825d3a6d24ca0894772312a1940979e7a59a2d1f67142f7cb4e7c2311664f03b5a5617b9fbdc4e61618b25b3b7438bb45cf3005214e2f5f6422af88847ddd200309096126e84bb6dec19d876ddf06c54ac098294d416baf245120bd72bfa9b03803776ee97b6baaa8ac02d244b54ddd27034eccb29887a374a1cdf216419b9150de039dbdd0dda242e554732bf8ccb8b5e615cbf6433353d89d72840ab79b30e5f81b0388385510779473a8c32b3a6e2e24a918b635e91d46680d19d58545ae3e0fac8e036f6b928e8fe2ff763b42fa9ed5e6901afc91787d728ccb5c7c798110fb25804605581e03099818764d702542bb564c462ab4a732f0b2c769e5d258d5c679b392d00c0347225ed80795a6e005581e0324689145c5e083a01ff399a466b10158df408f112b5fe2e0761d08eab00401036543c16d7008d7e298b956db51a9f8685bc5ca38bc327ac4fb2242a110ed889f037c1742d594cd6d52469963b336911798ae8b1228fd7be7ffd9fbf27f18331b6c0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803b04f789b7d6e2b32a7e4e2a2d97d8e664aa99ca824c4c7329140efddd486c93d05581e036764773243aff3e982226b4e8808274bf45a48a9490cd258ac681eaee007011bffffffffffffffff034b10a6b0e187cf08b320ff47b5f75991fd37ed87ac17a53259f84a42ebb5233a05581e03e9bdb6acfc7a4fda4c64a82c0cc8b1ea6f328d129ab74bd3aef90f4b600c0147100496406f1e00045866608060405236600a57005b36600080376020604036600073f466f27fb811ab1572ca67ab438e966910f5d9c15af45000fea2646970667358221220cd31d7df5797d8b0f1c574d09d57ef4cb1c584709995986ec107980e2b93f0cc64736f6c634300080b00330605581d03c209d2d6947745d4d726491a9b3e6aee2bb5fc514b5f382cdfb209f00f0148013c885e7f49670b186605581d0346a05bc99e9f29cd914b9ab8378628733f7350da199a8b08cc43ca200c024641c03abd22c00219204001410105581e0307c4d655625a678d46486e83caeea9988452c3de15e568ff20bc20232004030368c82ba5e167e0cb2b79959bafb6fad079187a9a62f9fbcf7abe6b5037d6166c039f3c974e5d14cdb1208c0863e3a8967288cb8d113a4e058168b5bf2e83a4752705581e03f649f205e664273080bcac0e551b1f893aa7e6df25bc9a292ba7baf48007011bffffffffffffffff05581e03e6a43f4f613b75b4ae281f174c845011549310e3f31b96c1ed94653e900c0248b17d7c5f3379ac50039c4da409f7c4cfa1dc902d1613c1182b714a021d9095a7284e5d73bbb87e25030394d9a2bd5f4ab8569e3bb34ac8a2657d65713732e23d72e8de681639e31b5d7b05581e0393e247a68ba76a8a7f5f3cde5831386b94be360094fd3579084e7c4e2007011bffffffffffffffff037b551d87d8427c07244447f8b45b2517239f5b20dfd7294ae5f7392190b798f70219d7f703fce1cfe88eb9f72c03cbc5ea45d6ab6f5ee6ff961c0ae20b8b09e2ae1cd2c2d103f9e0865c74660f578525bcf1918b0be3c9395f5d4254a912e445bfcde16ef30d035c9e24174a697ccf4eafcc0745867a6c2964ab20a4563e2c5baad2d7569a8ddd0343a46fabceb4d416a71a046826f9bb62d8bfba51032c1dfbff50d8cc7a1099af03bf4aa483b1431ced75c7828d7b4d6d1b80ffcce4e85e1f45c70b1694ef88510f03c0f1071fd18259093d373dec5e4a8909068887ed5acc3c6db92ff1ce2835a6e503450bebc5019c536f4d3017943e6d6c903538bae1b422e94cd5e50b0287a590fa0219ffff03db53bf2c9cec30e1c7b3f49e6052048b132d9e0dde65f762513389c9098139be03189b19185d529e0893a842158af84eca5fb186c6c73181ba0b885cab122e50af0320dc3a51e90a75a6724ec86be3a095b17bdb89b7bc20219bc1c62df6e94a5d4f03b7c5793a931dbb964d1d7f9406d0accaeb6eb587b5a2ab3af8ac8967c9cf26e4038ea677da4da4e23575844d3ad761fcadc6b4a5cd54783c329b6ced42c55ed6490363bb0108707fee30e60cfe205a7cbe84cd2b3921f95928e3eb1f7b1a80c6428c03987c333cdde5a4b842e4be61e308fe81e061f9e73d019c9811cacc843b0bf97d0377c7c8f6ce14ad3ecb653a4b5d76bee222a26a0ed0ae30b724cea9c75659aa34030b534318e38d3006793727367655d6923d680f8b303fde3d9a38d39c8bdb42820219ffff035a21b42086556451ff5e09798046e071bb788c2e99f70b58a51524811c1ba49003cce5e1bd4ed5097943c4a7fdd16526761f06d0d4953d6fb92963740a116868bb03d0189900c2fb66f7d857e2d5c178e8203e431353e6d4fab6be7c2dcef40a87b7032414eae2b7830e9a4814b8ecf74c3d2df830616456b2cf1453d2cf884a5e1d0403a9fb7c9ba59836e6ac67732bf01d49b2dd3d18328ea522b6384a2abc67aa1ed703b99d4934f1b0baf4497c0fcbad407d0ebdd2f5d7eb3fd0061a28d3055d036d1d031ff2d2e7c0a58758aac83418b9823d52130333ee1424671df3e4b4487b08232903cd7f2660f3df424a3866c8cc34805fe5a6c5da66ed42c4ccc10fe195b428d88403de60e6cc7d9a6a675e8b03307131827a6d5f9d47713e9d7e3206be6aa84ac3f7039fdc3bbc7c87cd142a512fbbbcb166d6be0f20b2113a6d5f4090a63befd80c75038d928c2a396db37ca049fc7b0bd78e3fd5887f5decc7281dbf2434db460bf3cc03683055108d757a8e690bbaef5bb8afb8b35e11253793617e2b7e9b035967f49e034e4bf27a5e4ad629ef77e739a507337ddb3108708cee84e7aa0d94f32ff08d710219ffff03b94ec57bb2a157502c431f87dc7bef7de31434b47c4d4679c8ba1c838b33bd6503457203c00e8d99af206d63dffc242fcfafd819d8d751b7fed564496e03a89c6e0337ad7bdb2f355f633a5c30e62708f318f0bf92005cbf5b78dd14003dc2e1a51903d951a416d36cb90d13d1c2acea8ff0fd91a13fab60af0fa4fa9eb2c3da75de2603d76713463c9d61f41c07c4fb5e2030ddb1d61c7b9ee2294be947641a23ebdcd5032583922647c3f1997ab5c284cc4635473719b30ff218d46e499f0e33759085ce031157c9ef38d78d37d89c5152e5643fbaaa228260863ee59d9f100c88d01c8056032d44dc4acfcb1249962510d30c31248d7d86d32ebd21978af39add69e7a2e01f031f8b45338c82303787c72115955f76d5ddd42f9c4d3b6289bf8acc56f2406c9403e6844ffedd793dd67d45b77cf9d29cb5d6ca90685da7dd57cf3f001c456d831903902e4dd0a80905d801ec66fec8252b7a7f2aa6d93c5f69c83016983e1ed8b6670347fc0dd4891ae4b65be89b37900254762e8c6e0e2f126d06af685b8b210554ae031db2e085a35913a824dd1658919dd530666b3f47bafff4286738a3f73c6f1a410359d6191b3fc36472900bdf135c53c70892ca8b21067fa00f847fa88eca97ef8d0322fdaae556e6ee8ecf599511a38de0e5322488e16318979ca7c68d1b928dff480312ebd1d55c4b1a9e60d8920c9e5d87c25b927e9bdc9c02315f331075c7bd6965038ba43c9f8470842cd057134a8dd67ebdeb1aa635376303510cf7f23e6e8a8de80319d6c6e995de1155ffc6e2f0754c0fa5043ddb363f39fad3288a501eba654ee303971fa87d88a339059e0af7dc72a89a6ea37e31b6a34b471f8eaf2549ad087be4036c170488e8384d59add3faaa1a19aaba99c9016ca739a8c1742ad331cf6e83f003b7a2c3e809bfa1e37df460e406380867d38812a33e700d7f6a48df9a46aed45603a26eb4fecb3c4b305e2ad86b5b7100ad6a160fb96c2fda824a5c53510aeb278303cc48e59195bc9f10924a100debc1074dbbcb507b8115d365605b151099ee054203fdc52f004350a37d8e796bd40db248183d66e027669e5ae1e2a38a01d7177c7703b8a0b7aacbd79f8ebfd1d4cdbafc3947beb1f1e7cf5e3aefa7e3b144023937b70315155caf1a47df4d2a1ca339709b1a69fe5e131b9b018b67fbffc222816b389703f737e0c8e9c4f4dcd3cb552e6c720fd95f79c8c9f5b1da5808ee3a605be9fa6605581e03e6c0efcd14bc655dd659575356c9c8db0219d0de694a74fcd3a1660c30084850ca0903bd95080005581e031768387dd86e31eae173eae35268a1c5ede8d6a9e756d75f8cf8f911900c0347013b7c65c6f9d005581e036573eabe144d4edcf2795569fa0754b097f65e668ba8ee60622c2a9e30040105581e0399b10462badb19f12b1a747cd169653fa9c5944fe952c84a2512c042400c0146eb98daf950dd05581e038bc30f38ebc4756d0db7c5ea43451c766320abc3dec79dace7ad0351b00c181a472dfa615b267c0005581e03000526d1f974a5a88d2588b58c181605848f939aba6617bf9b795941600c014697789dd7430003d501926049cbaa26e07c749cecc8c5a297d7be5aff456040a85c65ba165af39d0300e0c5a0180381a78f7b4d2fdbf73b106aef2a6ed29fbf0f73ba9a938421d92f05581e0324beb4fe64fcb745d7a28f2a3991a871b9a38e056c0640a99250da766007011bffffffffffffffff05581e03566dba6dd42ba383f1bf915213b4cfedf099319e870fe3fdf1d0f883900c0145beebcf080005581e03dea81df2a9f9112787d543de1ca3f4b02d08ffde7068cdc986d401fd500c190a2b486fc570d914e9ce3d05581e03996d3839802d1deee78645518943564ce2eadaea56c3cf83a3959fd4c0040205581e0368ab0206dc6ab5916d1e7f82b02f9f2fcf071b32d672f8675b07b7b7700c0346760eedff867005581e034c1a4d3620cdce5a0312fff876ccf16884994167474daa09ac7144e6500c01410102199fbd030885d8ae7a8d920457f1f870c2b5c25da4b47a017579403ebd7eaf55990875080342e32355ef4aa5324c9493572d28c9065cc77451938ba8b1ce2bef120729b21e03c9a800f97b6a3de56cd06b92c4c4c9c78476f5d5d3b721c61d5ea32b55e95958034f95760a8d1e3468bcf1fde60c8edaf611b48a3e7f26d3096bd350ec63b3ebb50305d8f10e8c8a2fea2ba15f0a678a21920109551153339ad0d093101231913955038e90707a3a964e323d3a85ac30aa822a1e856153e16c6b1b3e7c52a235ac56c50340db1ae5f2a85895ace0d0ff1ba3e1c5181592c69a00dccd43c1ea22bf9eff5103b5ede9f78786beb93268cfea52ac843a896ef827ef85160faafcc659f247fcf6039da284078d168117eb23b8e93d9ea91038835044e9f887169c26caa847d51739035410fdf43c451ff037a9b31b3ed1dad76ab088173b49f29c6dea10fa8e0c04480219ffff03b2a9398ec33cbb7c5ce39483a80d692178022d41aef30ac81e4382e9220c6b1d0219ffff03b05f4eeac85ff7c69a6cfda9aba5b116170e97886e15f26c1cd9d7333bb9f400033b5501008fe9976010725adbcea5bd1eb7fb7ab3790d245d6aa8fa128628f3f10310253118f679c290b01a42a4235eee76710e818ea6703c6a49130d2c0d710481032cde32da344135e1c56fa07fd7a8cf4478a7887247b50ae72aa8434520a1b3b103ccca746e3724c49094b4861c003e073914792358a66ecb2f7b5763166e58060e030d94bd19115b59b5eb901e63b74e3cabe858d1bd022c259d0c168ce2ca69588b031aa1c7e772fb68423aedb21fd9eef3b6071d5ba2e77baff54262fe5e0430064403f6be47d7504021ee383b1e1975e2d0f47419ba19a7119c5319ca9ac9daaa4f0403f501ec640f3cf8c6eb2997c475a6455d666395c68157a1926c3be86c9b698f13034b8022aa9241b01a7f8eed89625b5a371144d074a54f5b3858f36e0b62adff4403e0a03eebba6a272dc4b2420b9086bcc4810b3c86fbb877e30464424957d648c503706da9e9ccae387215e0a81279ec2937ce0b68593854673704e20ddc245de36d031e55141993b0f9e283eedeacd3501fbf1067fd63946912b0fcfdd043da4767d703d0eb5f8caa22d6140176cedf837ea6df3944d682dbd8bf3d4379ba043e0bb08603afa13c2ddd9b3021e7142c12f10932cef504ffd577ef71e8b181ad38469fba4e037dd545981e848d9df50c546183b6a1296a144ed3ef77252a009ea8aaca9e8d8103569efa3b4650a36028356a003ddd56efc2763c6072094ceb7e77db4c1e1291d0037ab53ec99a63b631b78c7313bc43801729fd970e6f1e401ecada3839a5746a4403e72febf55a0dc75b682d9b992342042634662de4d320a80fde9d61dd73a0765703f53f6e69beca4a3c8b0b172267b124478405730c0f9597465efb8e2d97baf080038401ac2c4db70cdf8add57a2e62e6f8843906c839d3ad9eeee2067fd8364777403a170a652cbe40da0ab5872337f8cad057b76a9db329442e16d2240695dae4f9c03b587b7c273dceb343cc6f1f89de8e9271d2e01187a4a919316c3f378e98cf9a0038565b48d54cedb9e9a22950840368303b52b2c7d3f1611051a654cf2236b1c2205581e03ce620183b78ba133baf04def4135beba788b18b9481a403397f0f2af00040103f8f7ad631147631883e49a52495945828376123fabe019c23132c1a72200f7d505581e03f2e6bbdcc55426175dd90a668578eb347d9903478e94a1f1d99c2cf6b00c014714b82c5054800005581e038c488c3a60450d296d8c37f1eae69fc1504b519d4c245dbebb944de350040603f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e033fcab1549220b1b50d13875efd3819683d621b123d8920afba30d6e6c007011bffffffffffffffff0327e6240f69b92250a3afb0de2cd17d62a42d8e1ed646f367a97eb74af821b48405581e0388cb247155f0d830567fe14ca376e3b97ade3306c75d7cd02ea4ada62004020459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000fe0c30065b384f05761f15d0cc899d4f9f9cc0eb8d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613b86565b8715611aab57611aab7f000000000000000000000000fe0c30065b384f05761f15d0cc899d4f9f9cc0eb8b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000fe0c30065b384f05761f15d0cc899d4f9f9cc0eb908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000fe0c30065b384f05761f15d0cc899d4f9f9cc0eb9087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000fe0c30065b384f05761f15d0cc899d4f9f9cc0eb81565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000006f00544c0bc62e6db10f46d370dfccdc23d81891614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000fe0c30065b384f05761f15d0cc899d4f9f9cc0eb16939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a0391267d68f841b954a7820ad4ada52530aabeb85abc0338d99c6e10b3431f676703fe0329a4ab22a45fbf4a5c582177ee166c190e23a23d60dd0ed4041c9cb1464a03ddda30e1eaaaa1c093fa2ed17d20a5f274b29d0df64068cc6b6dfce82ca7fbe100582003c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e0582001000000000000000000001014d81ec937d39e2e4700003ad90fc4486632beef00582003085caae91bce65a2fd5fbfe271c54c11da6f51e21e6d0a1ca65fb43055b04050173d5ac5c25270035ba24a2f8027f80d00582003a9a41d2bc2d90884ac748c22f0f0fb1e176064c39bc25f3d6bf8f80ec3b8d05029033a7eb9bf7cd5356b6bd69ec1672d02194180005820021fef724ca2655c8243c0e905020b1c3951c9a1c7a357518bc207c8698f57075820ffffffffffffffffffffffffffffffffffffa3d11ee1c8c4f382f9e3a87f743303949b7a278f45f146a840d19e28c455a2999b190f3c6679dd75e8c149cbd1234c03335e2760194c7a118647aa0a064fdc39b63102aae155cb1c62dcfc6ed17888a40360ed76849db8c01537db18e690f815f2306f2da4b2cd4b2804db98c382b09be603e5ddf748c8dfab7efc84ea2181beed88b635b4d05a7b949b736ff1e6c769390403d96db92cf261c712ac9268a355f4066695aad2b1e1f4aa3d211a1c78027ceb0803135c5e4c3355ac8bb2b95fafdbec5e8ca093f4cbb1bc3041e1a7c56b346f4ca900582002856709ceaaa34c66884a940395509a53f6f9b4c8bfb71e7a20c2f40baad51d4e028aa95b53e58e23941ed34aae5703dc3639949f1ffd64cc2052d60ea1da4c82c24d1f56a21c7a8b775405e5745ff602197ff303c70d6fd09f858f28c479eb511108812f825dac0cc23ddc443814b2cbb948744d00582002c5a4674c0644d9c6a1e9f942e934d4adce31fce51fbd5ad8f702fe09da24ba507c68b3af7b85487cb6f2239acbda914300582002494d1ffbabd9d53955399655a2bb026ec1bced38e186dc3f30a07dc936accf5101d28d787d2ded7a4508961804dc9d8df300582002d186e2641076d5f98f661bafc588bf4dfbd0fb93402c2f459cd11f0b008c2a4e61f1133e99182523bd8041f7fe580058200248e6a6cdb08d17a3052c118d17c5d2f02d43ac1e7eb3f5a2ee4d6cde651c4a4f1d9e4cd1ec8faa8da8b2d4baed8e3503e487644d0d0a22948ab8db7d481e202c7497d07454d97ff78181515a88092898005820024c94f8dcffe4e7d9f99ffef999007b3a852b488fff3f0b05ffd033ea37d0454e16729ceb7a3c187b075c556f285a0389456688f5c1a0b82abb26939f1785551fa381932cb097499ff59e4cdbaa0f5a030bf4e13407e25e12a6b79bf3c7355ace473434539a20c660f48f692d73002e9d005820027f9ba0d9533119a5c01dbf5513e83b875d30fb05f092b6842298502cf5f4084f98ae18bbb4c57d4b2b3ee6172e389300582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010000140014001101044d000000000000001bfc4b6c52a394a9abce48317600582003b7330606da1b3a511cb74d59067f686371c2dfcf08c40f28d4ccae4bbb8eb0581f2c08800410002008100000000000000000000000000000000000000000000002188103e8cec350f973f66b05d6230c7f980c26271c80d067b8ca23d9019936aa53bcd003bc1300f7fa4ff52144fc66e7feae9d0dab8bddb8d9fdba7938f9abbf35f357df03961665bd080ab5e305714d635ec8d221234606c2c970254292917c9bcffd0a680367dd856e56f8e896484b91478aac0778ed99b39ae307b01c285dfe2c82965598005820020cc58f0e9221244ecf53f50095be8c04f925b4cf6c469b56d341955aa2b3d858200165ffd06b0000000000000000000002ed875b75ea68daa9c900000738bc0c3400582002f6a4039cc0132dc98feaae85ccf5a9d30d2d1061104351a19e7e3a1a864879503965c87508cf03dae25297435ea03e670219ffff036282e5ef3f8f9637fc6156edc95a08dd481891a97cf247c19a95aada7777b83100582003ad2fee2e207ce8625f3ae936bea7685525307e636c3217ac7c2f3141cf44e04d0dc2e833441274430f55c7ceaf00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05101d5b59ead48ac74c5a804772bad5da3ff00582003bc662fae4763cb8acce1eb332001a1bdb5bf1260939620935a9f3b8249f9b04909d10ce0e48f7374f3005820038b323b48b3190d3bc00ce4921252fff6f72acc66513754afba494f2034eb804de5fd47e2dcfca2032ce8d3e83702190c3003363f529ea68bf40345343f5fa2f96e11b1700d019071503a0c0e1f5b517fbe7400582002bb5c1d5a5b7f8abdff24549a716d9b7b8a27418b2b5c3e18fcb46454b2c0724f06d8060faa446cb287485ebbcb290b035b9724b39403bf0ecf38af6d00c06692b4801ffbbf7cad079eff45bc9c03f62f005820021f9248c15ffb111f6aa548aea2b97b609ba86fe50e34491117c39d65c1bdfe5011b4e1d31101412d847ed408206f04d103307b4027938a49e97017d6f97cc43126eb8d4068270afee9fd05e0cc5c268ef00323818f781a9d26081db1e491dc0fe6a022396c44db07db67968216c01d47000a03c6ed9a55f57cacd313d3d52d6330b4282e37dfeb157bec503a3a7744183b7932034aef0d476d5a4bb2fa93217023853d1489354f22517a83a1e3388a2b37de77180397d892d1c66669b2a3ef29a101d93da4da175114f4474435260dd85c0a4f8597034583ec22081a4f0ad1faadbf859c1a4573ac44426ebb996e748bbaf601953f50034685b3ed47dab2f06f2f54a21c5dd941aa4a2c8305bca6d0a24451d84b975c1603ba78ceaeee431366de5b950c8be029227396aee694d789e33b7f21ec50d3c05600582002ef1144b40dd08167187bf08b4fcfdb3258acadfa05f9f93fcc9ec96ca790e45820fffffffffffffffffffffffffffffffffffc819cc993e092d8b93195be60be950368709526ab555159845dcb4844426249f3f375cd4a9bcf93670bc86f52115fe20219fbff03bd109631a8bad68e7a5e4c0b2a04a4e044f66c93322a61e5a7db140e09c1ff2103e06f7677e236cf8e89081ec1bc28409fe11f990d099cd508b4c50bbd42390cb6038df6eb084e8e091293d3913b648c5d70d4116e345b1a479e28715be52bcb6bd40349d79734d6f75e091efdc82aec36c63c4646bd9da798a845e308b38f2b738158031793d62dfcb39654910f4027816ce17d9cc06ffd1b77d78d4978b84a4002fdb403a14f8829ad7146acdca6fb91b4ff58fda9e2be15bf8ee890f8c728511879dfd903f104d3a3a3f28a92c5c81df7acbed91517a704417a310b4dd48ed925f349af8c03c07a6a2859b3288ec212ec517809c87543a2a9204bf0318654f3a172c52404520341f4c1ab5da40ffe8d3bc3a345960117b415b8aa1da2fe850747a7267b7dd68503598c4f1aaf90029de0b743e861e2410292a5edd9d7cbd187ea973877f3fb8ffc0058200246bb314908741dfcd773f7e50fe4648dc634affc10e55b82a816cb791d69d55047215bbb6a04d7dd65f78d77bcd5a78900582003cea8c5c5af9cd320ff2293204e66fa9749e535ddfc688c2514b1716f6662f0582001660cae4700000000000000000000062271510aafe03cc91300001474a030ac005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a02db9f6d7f1ce7013b95020900582002a3ee89fa454fa97173fc334478195f7e23d5a5574697879a655a7602d5bf605820fffffffffffffff55db2f868645e9561000000000000000aa24d07979ba16a9f031239b064c8b1baef94a4a4620aea3844bb9f61ec13b6d352a51c1b9ba30765cd03f74449e8c486dfa1c2df0f44fcb69e8c98b64ca52b8949bee01df3d089d66b3d00582002339512e7a15e6e0312da25e68ef69da6796c7ece100bceb1d896e047be61635002b265c8a3f98c735015bb73ca26848503247055fb48b41356c399795ab114d1acf568ab597f50cfcb16c86727fce537f70219fedf005820024d431f53d9ec8edce5ff0e359952e7aef96d8c5da9b451c1015247d964888a4f45a3c67fb76f75a498831245c6cd6e03da0ab9c34233205815f57f418c6220620d6519cf5a5495c58856cdd84eb3634903dc6fcf9d10b779083e0ac2ae8841e4a2ba9c2cea6a107b8d6c213fa7d8e2f0ec00582003b9fd2844a6788725c7af68e2a0f446f70ded4a163dbcd9b6e2c73556a054904e6a9224263e6e9b951d12317b9ace00581f02e6d11eb12ba32ea188a72d7ddce37969abc8be1a455551d8524ec65060885041d6b27f238a7fb0f20124b42ba0c3ee00581f0298273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c969558200100000000000000000000101aa253a4dddc4cd20200003ae9e6898c6632cf7b02190280005820034a62297610875257a2bb33ac5b079cc0be01b1673e0ec4fc4fb447a24744205820ffffffffffffffffffffffffffffffffbbde82b0449773341f8ad6b51124c8eb02185203dfc4da10780a5fc318505bd32fb82ad7e59dc80360da330ca124edc25b2201860355f44a3c1ec912877f2a1847e36db48f03487903ace050091d14e795e4333ebb03ba679655196243f00b0e4dd8eddf68e09608d897ec9346422aae4a2c95806168035c65a1bd48d493c5927f178f3ceaeb0367e98bee07ac97c0cb77c5bbdb3c8d10037eb54dbcdcd14abab2ba7e3560b11917e0ed1b1692fa5bb8be737c25a3c1beef035aed5d5cc112803d9ad0060e94ab43cbe932fb9c2326c2a424cb1539a3590e6d0058200238d593c31431d53755942509f2a819995cdeef878aff52bd138af81b79943c58190b8beac3f65cc6e2aa000000000000000b8beac3f65cc6e2aa0315ba422cc032af24e267ea085bf2ab10a9517f9082696e7b8b0d5d8b2f24a1ee005820026cff9ac19849c4dadedfcc26dd8b79171d897fdef1015296e2db59571202a74f127836393f9c7d4f7651a33e3606bb02197f7e033d067e77a399c9794a84fd0f381932294edd7acc8565f5e728ef45841f86f2f803f1a778b984c5a88da598513924b3d4afa20adc4442ae16a5f86de60f73192ef5005820024bfc18fcc1e244ddb0876050d57bb7afc7d3015357149890d41dc0983789d7581e020000004000200000200c0000008082810504000844d00110840465280000582002ee41e4808f0f575ef59c3aeebe6ea34f0529224099b716101dd7615f624c7b5044217d4fbb688ccbe075294aeedb3715037c288bda194ef9e5966bf23899bdfd89610ba1743fa3a1d5fee6d26d0e954c00030e20c85086f77b3221f0dbc952a34ff0d47bcc85190c05c778f17f4680a771b40351fac68cf5e7d64ae9513f42fc26fdf9d2892cfe23689796a04e899480f8abce032afdebb2a5d5695253605df6b6c6bc62f529475f3b2e59c16117e7db692d1676005820025e2654b7b467ec8f8051f9b94dd51d3d59e9ca54825cc88ba931f07b47c28d4fedc6e71f3e0fa398c6dff7bd326d6a038172088c8349af9f00ddb1d6bcc3f10f571042f30443ba8cf4ab43d8b4e4fdf7005820025d9b2454ea84df8abeea9a572c961e172fdb1c4143e69dd1da8e75cb47dc984d8094f9e676e38becc918e50fa7005820025ea4266785b79d9b9a567b0a8c70062facdda4e3cf3898cf929768dbecd06c582001000000000000000000000000000000000000000000000000000000000000000377cfcd1d252a9088850e2081024efb4c3cad6886421a8f2c45110c719ed6fc58033dfd286075aedb69f88a1354f52bcca09a977f87e59aaddd9860be635e831f4d03e7e52097ed732cb8a3ac812a6660ecb5956a54a2cd2c3c45e5dd9fdcf78cd894032d7365a2af1ecc123580e8358d78daa62d13a6f14c61f279d3d18c03d171a6ac0219ffff03bf5000ffc77f5536a180d2536a493dddcbf392411b3a9a12fb0df4828e65a4d2032caea33277833628bb3f770548e2b297755462ee2ad86ca1b5117ddc1ec070ec0342bc4085a5cffc0b3433486d4e6c0a8a3f9186487fc96f339895dabfcab63180032a6bad4f3d3737fa6d4879d27ba23bbf29bdd339897ab278549e35a7e43e45ce03e8c6361a7624361d43422ecb1ca57138e675500ccd9a4f0e7279196c483ea3db0219ffff05581e032de1be240bf1763dc9dd5cc03b59ebce5ca66af1876de75ac1f8020570070119567e0219bae2030ce5fa75a15b640ce240e26e3f73eb7db46618431cfe73160c77f5b2db7760c70219ffff03df15534ee9b794c210fa71ffba354e56f35b64c97eb3528c86cb8c4d90ff72fd03e5a83c306be94de21be1a8200f125af8abc8a57352981dc18b73808127924be503beb312635b5d1ef9af36d93f8a6ce3c08423fd92ead199952d5cd766b611a4f203841924b93c03bdaabd395b8bf36602b4126aca440eaa5640537ed655b1dbe3870305e2891d69137336badf0373bb2835cb51554ce11ed4d3e6b657c2d40db3847403c7cef09967a839fb7ee5be74ca94899560328d03629c8da1f9520a58715c9d940381a5f79227a5956d2aa3e8fac496a4acd5d0cbbde7b923ac7801c0f24919b70803fef390e4def34f000377340dacd436c55638669be3ea332e256abaed58cc15db0219ffff03090ef8c960796c4173649cf2e932aaca7136167eaf49469a0d3fc55dbd92275b039943f4723d452b2ed477a698b8754a1c089f15157b7025fbc1f51f6a9885de0e03ff80957ac4aa5dd3e4514f7206dae34d4668c1760868dd1d8541822a4e6be4c503d34f04c643d1f3d7fa383ba0714bd78c8a266bd24aa6f7c63454dd020be71d36037d5cbb3ca6b2987ae7e88b30bd67deb99953ace77a81dfeae5dd942efcf55d4a03340ba26de65beec6e42a1c21d48cd45ceb9a774dcc913c51d59a59b57b3e39700391a220990118619c58e17805aaed3d973987a4b9c6fc141f1422da5efdf6659103768ea324b0a1d73d9ad39f54a742d920993e87ebf154c626008f71311a19d98c030c3caec029df2de210926fbaf5d58e0aea24dad00b03208be75df36d0da5a5a9030e968cfb22def05cef08f6eb6d0f0a9d1e6b40bc34418874896afb494e4d98ef0338fd313f80d904677d52654646237cbe925eec343379d73ea6c67f1b80b7bda503410e8777fb6f3160221847d4b4331e5d36048bda3542518fca831d8504956df103b75554fde2bd184e5b6e195eaf7b97e4c2520adfc414ca6ea17a74dfe054b56803b8d28287621df3dde74ce45f1c232cbedb3d0b61ba8ef78c3e38d77f860dfdd503f59171a4bf438f076a78cb63060e53f31317581efbcac623c92ade2b98aedf49038b85bbe4f2119302c1c7dafa90f888424e83d0b45826a40019925a074a7b5adb03b048757e9a472be33a56dc603d280ab80d1edd45019a1a4b83304de650b06b0903426f7b2e3c8c341536c130f0cf2e081e137efe08ff1762c9cf912ab44d47109e031e557cc39210065d829d3259c914a885d6fd3f8b320b727d557009963f9442d703afecb660d5b70ab7792c4dfe4575480dddeefa18c67c20672ed5c46db1d8454003aa5a58cc79a6148501665215e9bd3a9f19590129fda5186c94ea830525d58dc1036adfd399fc77da2dc6770cd093f0e6eaf0ff6e0594b9335ccc6b604addb2699d03ead461369198c07f8a0ffd009116c9741b2cf11751dddc154cbe055ff7b9921f03a840fca25b9748b84cec20176584db2eb151b4d5fd2ad0589905ef087e6d3f800383bfb846087a8615ab523b1bb352e17155425b764359fa30c6e9271210d410bd03798c558abf25c56f711e9d4cc41356edda5f37192ddf31fda878a181942312950399bdf057cf2c4cfbaeefbe8a84fe8bf3bc96e7201fa31aa195ff3f87186a5d990343cbeecae79ac3df8978e03273cc5ad6b5b730cf1964207887e215e979b0838e035f95d82d7d461cdf41c89ed81647db6fe0e9805251d2f81bdd64a46b3f6ead930369575ef248fab6e8ad875d62a06916df7aa130a49c0997bc6e01c32bc0426fad033f16f6c89d512336c71849543b654a489049e5cd98320e17c353a9fef83d3ef6032cf893d63b5b346f890fda356fd66dd86bd94aa0c14d0a04db4e032d6774ef9c05581e03c683000ba68c212ba350ede32ee9226e9f8de9794835efd51770353ed00c0447165a879dabc8000391b816d1e255fb7db1f044393227e01ab3dd2512b66a34fe403010ac75c50bcf04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304901b6daabc64ae595a70058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604901b6daabc64ae591bf00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0501a568a79a4b01b47b1c0de509926ed6c0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820f202fc0fe5c38b0a19d128a61d3588aef6a330bd29e20f37159cecfd6e7a5c06005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85114513e5f1bdcb3e8de2f1ddbfcce53920402184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632cfcf0000000000008124eeddeceea544000000000006cfe62120a3c65f360058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5455c3a56e638e96c91f98735cc86f60a6820e6a440218480219b45505581e03d735f5b1b6979ddf3a2b42e5d73999971e749f779200500418f17c56100701192c1d03c23317f0cd385f00d5ec7e4293aa24ce0ce55271ac4683311c4812df6f004ae005581e03246f63e2bdb783cd97becc5697d24924c5d1fb87ccbd86f7cf772121b00c014626bee9505e0005581e03d06e1e4992b3e6520edf40c7d7fc383a55145154d96f659339ab1dfdd00c084702c337accda36703e7060058ff55118de60a0c457f49c286c154bdc15f34e7b88299c12fb20494490379586c717a834e00bbf49242178874b161afd54ac63fed2ecc27a75f0263094d05581e03b1d6aa42da7c80ca0ca8194c3de16b2d241f60a6565efde9b86b59a2000f01470a56a2559367641bffffffffffffffff03e26401506c352ab1a571a419260af320306f4e7165cecd103d911773c190f9bb03e2ad213d1b79430550e179fcbb56db37c624c95dd092762d9399cbb37fdf2379014101021975f20219ffff0390a05be4849bb7828cbffeac7adf90f654a5a9d018cf8e74728f8b9a54a72d7903fa77dc52bba55259ac89a82aa20703191d50989f80e4bb5fba8ff3f080c9dd6803548f7ce30b0da8eaa98b4dd188857ab9cc9d5647c485ed9da731db95467924d403575b8456675dfcaa50951751921615991b2466bd1a7f7cbe38b8533633a290a8033f5f47b6d20080d727f03d80f10d963bd00d476c9b5a33e9d38037a6a1dafa9e03c460de85f8192ac8383f3331d1cabce2e59d3e9f471cc9d5141199cd223abcb5039b3c6be34d441e50b5fac56ac3c276323a597694e51f1cb0c691fd1d1c9d8250038d66649f736ac5f8b687cdda2570d997078589a812df8b56cd871d09a1d6834403958df14ef87a332ad7b6798da69d53f5f03ae8e37eca85235de84f1187af595703076a072ed3f57c6fbe11182d96c2784bdff3042d43c1462b53edbc53f72103d70219ffff0219ffff0219ffff034371ff4bd6bf399b69c5381cb078be2a3f288541c32d6dc405d1575caeacf5c103ac6a3c3d819a0c1afcac84dfd7aaa8df41a09b74730cc74df7baa815505485050317e562890f69f52f27f5742bfddfedd2750ee1d519738aa2d77dfaa810e27f8b03d8b508782d587fa6834d52300f1c4591fadfc78540d7651a4a99c622ba261ef903c0d2c5a2d21319def136ab277cbffe9b34029eb5f37915120de91af41acf2e0f03b0988e2c4d4e8edef7738e0754fe0f2bb5b4406bc76e5972fcfae4f89ea25108038f8a0f5df11ec9c14cadc2510d13f6b8e5ddd3dbd6a1d0a3e34c005d9d888301037dca63987ceace4ff99229941b16e45e09267cc6dc4289e5a9e21a4c3ee2034f0307982b535639bd96b34e056449a4abc81967fbf73e1a89bc3c5ef6ccbdc1d2f3033da925a5a4e3f6f2ab3063fe7e8cb5dc3f9f332b9cd5b71e460ab41d93ed62e10313b6a99fe2d6063f11d37abf189f4a3047933ca904f346c81c8948f2e9e62cc803ca6eda71d8f20b1357c03614119309c461ea6b2c3c5dc0f32cacd6205ae222fa04591a5160806040526004361015610015575b366119d157005b6000803560e01c90816352ef6b2c14610058575080637a0ed62714610053578063adfca15e1461004e5763cdffacc60361000e5761039f565b610330565b6101ee565b346100ea57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ea5761008e6105fd565b906040519182916020808401906020855283518092526020604086019401925b8281106100bd57505050500390f35b835173ffffffffffffffffffffffffffffffffffffffff16855286955093810193928101926001016100ae565b80fd5b90815180825260208080930193019160005b82811061010d575050505090565b83517fffffffff0000000000000000000000000000000000000000000000000000000016855293810193928101926001016100ff565b6020808201908083528351809252604092604081018260408560051b8401019601946000925b85841061017a575050505050505090565b9091929394959685806101dd837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0866001960301885286838d5173ffffffffffffffffffffffffffffffffffffffff8151168452015191818582015201906100ed565b990194019401929594939190610169565b3461032b576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100ea576102266105fd565b80519061023a610235836104db565b610497565b928284527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610268846104db565b01815b81811061030b5750505b82811061028e576040518061028a8682610143565b0390f35b806102e16102bb6102a1600194866105e9565b5173ffffffffffffffffffffffffffffffffffffffff1690565b6102c583886105e9565b519073ffffffffffffffffffffffffffffffffffffffff169052565b6102f66102f16102a183866105e9565b6107b9565b602061030283886105e9565b51015201610275565b602090610316610452565b8481528260608183015282890101520161026b565b600080fd5b3461032b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032b5760043573ffffffffffffffffffffffffffffffffffffffff8116810361032b5761038b61028a916107b9565b6040519182916020835260208301906100ed565b3461032b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261032b576004357fffffffff000000000000000000000000000000000000000000000000000000008116810361032b576104056020916110b4565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051906040820182811067ffffffffffffffff82111761047257604052565b610423565b6040519060e0820182811067ffffffffffffffff82111761047257604052565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761047257604052565b67ffffffffffffffff81116104725760051b60200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051600110156105325760400190565b6104f3565b8051600210156105325760600190565b8051600310156105325760800190565b8051600410156105325760a00190565b8051600510156105325760c00190565b8051156105325760200190565b8051600610156105325760e00190565b805160071015610532576101000190565b805160081015610532576101200190565b805160091015610532576101400190565b8051600a1015610532576101600190565b8051600b1015610532576101800190565b80518210156105325760209160051b010190565b610605610477565b600681526020810160c03682378151156105325730905261062581610522565b73ffffffffffffffffffffffffffffffffffffffff90817f0000000000000000000000007f51b16394255dca3b784d1b1e7fcce221014e3916905261066982610537565b817f000000000000000000000000ff2097020e556648269377286b1b7fcf6987eede16905261069782610547565b817f000000000000000000000000851fa6b758d5b70551089b466fbaf69381b0d06e1690526106c582610557565b817f00000000000000000000000032ac6ab61121d20bc08989bfd200095431c2e35d1690526106f382610567565b907f0000000000000000000000008086174be8fc721cbf275545193a73f56fbf338416905290565b6040519060a0820182811067ffffffffffffffff82111761047257604052600482526080366020840137565b604051906101a0820182811067ffffffffffffffff82111761047257604052600c8252610180366020840137565b61077d610477565b600681529060c0366020840137565b604051906060820182811067ffffffffffffffff8211176104725760405260028252604082602036910137565b9060609173ffffffffffffffffffffffffffffffffffffffff80911690308214610fe0575b807f0000000000000000000000007f51b16394255dca3b784d1b1e7fcce221014e39168214610d84575b807f000000000000000000000000ff2097020e556648269377286b1b7fcf6987eede168214610c4e575b807f000000000000000000000000851fa6b758d5b70551089b466fbaf69381b0d06e168214610b7a575b807f00000000000000000000000032ac6ab61121d20bc08989bfd200095431c2e35d168214610b08575b7f0000000000000000000000008086174be8fc721cbf275545193a73f56fbf338416146108af57565b90506108b9610747565b906108eb6108c683610577565b7f1a8631b2000000000000000000000000000000000000000000000000000000009052565b61091c6108f783610522565b7f2d8f9d8d000000000000000000000000000000000000000000000000000000009052565b61094d61092883610537565b7f2e071dc6000000000000000000000000000000000000000000000000000000009052565b61097e61095983610547565b7f339748cb000000000000000000000000000000000000000000000000000000009052565b6109af61098a83610557565b7f339a5572000000000000000000000000000000000000000000000000000000009052565b6109e06109bb83610567565b7f47f1de22000000000000000000000000000000000000000000000000000000009052565b610a116109ec83610584565b7f5d3e105c000000000000000000000000000000000000000000000000000000009052565b610a42610a1d83610594565b7f60fc8466000000000000000000000000000000000000000000000000000000009052565b610a73610a4e836105a5565b7fa89eba4a000000000000000000000000000000000000000000000000000000009052565b610aa4610a7f836105b6565b7fbd61951d000000000000000000000000000000000000000000000000000000009052565b610ad5610ab0836105c7565b7fd0f42385000000000000000000000000000000000000000000000000000000009052565b610b06610ae1836105d8565b7ff7e375e8000000000000000000000000000000000000000000000000000000009052565b565b9250610b1261078c565b92610b44610b1f85610577565b7feb3a7d47000000000000000000000000000000000000000000000000000000009052565b610b75610b5085610522565b7ffa483e72000000000000000000000000000000000000000000000000000000009052565b610886565b9250610b8461071b565b92610bb6610b9185610577565b7f2a50917c000000000000000000000000000000000000000000000000000000009052565b610be7610bc285610522565b7f3346d3a3000000000000000000000000000000000000000000000000000000009052565b610c18610bf385610537565b7f594a88cc000000000000000000000000000000000000000000000000000000009052565b610c49610c2485610547565b7fc81f847a000000000000000000000000000000000000000000000000000000009052565b61085c565b9250610c58610775565b92610c8a610c6585610577565b7f05eb5327000000000000000000000000000000000000000000000000000000009052565b610cbb610c9685610522565b7f448b9b95000000000000000000000000000000000000000000000000000000009052565b610cec610cc785610537565b7f7b8b4b95000000000000000000000000000000000000000000000000000000009052565b610d1d610cf885610547565b7f80c4d566000000000000000000000000000000000000000000000000000000009052565b610d4e610d2985610557565b7fc861a898000000000000000000000000000000000000000000000000000000009052565b610d7f610d5a85610567565b7fed48907e000000000000000000000000000000000000000000000000000000009052565b610832565b9250610d8e610747565b92610dc0610d9b85610577565b7f12599ac6000000000000000000000000000000000000000000000000000000009052565b610df1610dcc85610522565b7f2756ce06000000000000000000000000000000000000000000000000000000009052565b610e22610dfd85610537565b7f3dbe1c55000000000000000000000000000000000000000000000000000000009052565b610e53610e2e85610547565b7f4e390267000000000000000000000000000000000000000000000000000000009052565b610e84610e5f85610557565b7f58bda475000000000000000000000000000000000000000000000000000000009052565b610eb5610e9085610567565b7f60da0860000000000000000000000000000000000000000000000000000000009052565b610ee6610ec185610584565b7f6b77ac9e000000000000000000000000000000000000000000000000000000009052565b610f17610ef285610594565b7f844384aa000000000000000000000000000000000000000000000000000000009052565b610f48610f23856105a5565b7f97ee279e000000000000000000000000000000000000000000000000000000009052565b610f79610f54856105b6565b7fb00f09d7000000000000000000000000000000000000000000000000000000009052565b610faa610f85856105c7565b7fb7d75b8b000000000000000000000000000000000000000000000000000000009052565b610fdb610fb6856105d8565b7fd13b4fdc000000000000000000000000000000000000000000000000000000009052565b610808565b9250610fea61071b565b9261101c610ff785610577565b7f52ef6b2c000000000000000000000000000000000000000000000000000000009052565b61104d61102885610522565b7f7a0ed627000000000000000000000000000000000000000000000000000000009052565b61107e61105985610537565b7fadfca15e000000000000000000000000000000000000000000000000000000009052565b6110af61108a85610547565b7fcdffacc6000000000000000000000000000000000000000000000000000000009052565b6107de565b7fffffffff0000000000000000000000000000000000000000000000000000000081167f6b77ac9e000000000000000000000000000000000000000000000000000000008082101561162657507f3dbe1c55000000000000000000000000000000000000000000000000000000008082101561145257507f2d8f9d8d000000000000000000000000000000000000000000000000000000008082101561134857507f1a8631b2000000000000000000000000000000000000000000000000000000008082101561127a57507f05eb5327000000000000000000000000000000000000000000000000000000008114611254577f12599ac6000000000000000000000000000000000000000000000000000000001461122f5761122b91505b6040517fd5acfbc20000000000000000000000000000000000000000000000000000000081527fffffffff0000000000000000000000000000000000000000000000000000000090911660048201529081906024820190565b0390fd5b507f0000000000000000000000007f51b16394255dca3b784d1b1e7fcce221014e3990565b50507f000000000000000000000000ff2097020e556648269377286b1b7fcf6987eede90565b8114611322577f2756ce060000000000000000000000000000000000000000000000000000000081146112fc577f2a50917c00000000000000000000000000000000000000000000000000000000146112d75761122b91506111d2565b507f000000000000000000000000851fa6b758d5b70551089b466fbaf69381b0d06e90565b50507f0000000000000000000000007f51b16394255dca3b784d1b1e7fcce221014e3990565b50507f0000000000000000000000008086174be8fc721cbf275545193a73f56fbf338490565b7f3346d3a300000000000000000000000000000000000000000000000000000000808310156113cd57508114611322577f2e071dc600000000000000000000000000000000000000000000000000000000146113a85761122b91506111d2565b507f0000000000000000000000008086174be8fc721cbf275545193a73f56fbf338490565b9050811461142c577f339748cb000000000000000000000000000000000000000000000000000000008114611322577f339a557200000000000000000000000000000000000000000000000000000000146113a85761122b91506111d2565b50507f000000000000000000000000851fa6b758d5b70551089b466fbaf69381b0d06e90565b7f58bda475000000000000000000000000000000000000000000000000000000008083101561156557507f47f1de220000000000000000000000000000000000000000000000000000000080831015611501575081146112fc577f448b9b9500000000000000000000000000000000000000000000000000000000146114dc5761122b91506111d2565b507f000000000000000000000000ff2097020e556648269377286b1b7fcf6987eede90565b90508114611322577f4e3902670000000000000000000000000000000000000000000000000000000081146112fc577f52ef6b2c00000000000000000000000000000000000000000000000000000000146115605761122b91506111d2565b503090565b90507f5d3e105c00000000000000000000000000000000000000000000000000000000808310156115c7575081146112fc577f594a88cc00000000000000000000000000000000000000000000000000000000146112d75761122b91506111d2565b90508114611322577f60da08600000000000000000000000000000000000000000000000000000000081146112fc577f60fc846600000000000000000000000000000000000000000000000000000000146113a85761122b91506111d2565b7fbd61951d000000000000000000000000000000000000000000000000000000008083101561180057507f97ee279e000000000000000000000000000000000000000000000000000000008083101561173957507f7b8b4b9500000000000000000000000000000000000000000000000000000000808310156116da575081146112fc577f7a0ed62700000000000000000000000000000000000000000000000000000000146115605761122b91506111d2565b90508114611254577f80c4d566000000000000000000000000000000000000000000000000000000008114611254577f844384aa000000000000000000000000000000000000000000000000000000001461122f5761122b91506111d2565b90507fadfca15e000000000000000000000000000000000000000000000000000000008083101561179b575081146112fc577fa89eba4a00000000000000000000000000000000000000000000000000000000146113a85761122b91506111d2565b905081146117fa577fb00f09d70000000000000000000000000000000000000000000000000000000081146112fc577fb7d75b8b000000000000000000000000000000000000000000000000000000001461122f5761122b91506111d2565b50503090565b90507fd13b4fdc00000000000000000000000000000000000000000000000000000000808310156118eb57507fc861a898000000000000000000000000000000000000000000000000000000008083101561188c57508114611322577fc81f847a00000000000000000000000000000000000000000000000000000000146112d75761122b91506111d2565b90508114611254577fcdffacc60000000000000000000000000000000000000000000000000000000081146117fa577fd0f4238500000000000000000000000000000000000000000000000000000000146113a85761122b91506111d2565b90507fed48907e0000000000000000000000000000000000000000000000000000000080831015611972575081146112fc577feb3a7d47000000000000000000000000000000000000000000000000000000001461194d5761122b91506111d2565b507f00000000000000000000000032ac6ab61121d20bc08989bfd200095431c2e35d90565b90508114611254577ff7e375e8000000000000000000000000000000000000000000000000000000008114611322577ffa483e72000000000000000000000000000000000000000000000000000000001461194d5761122b91506111d2565b60008080611a017fffffffff000000000000000000000000000000000000000000000000000000008235166110b4565b368280378136915af43d82803e15611a17573d90f35b3d90fdfea2646970667358221220dbb3fd18e0ce9d2c8a8514c9680ab85dd3080cebe5a9a8ea17ff9bfb1204373964736f6c634300081700330605581e03392bad9a146d693240c57d53e1ae2bd0299c097516b1d08190e66b2bd00701191a5105581e030925a1048d79b50bcdbc7aa4bf191df9a144ec0a07a67afa2848cfaee0040103575d0432dcc3cdd199c5805146dae06b8c0a0c94418b0a55adfdaae91c60368405581e03a2a0fa870611e34989fb801621185e1d34f88cef0a6903028fc54e7ae0040103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e033933351ec62fea7bb1e2919edaa5719959aca38c8672ac432128cc1a3007011bffffffffffffffff05581e03af0967c507fa6c42ade00c008486d6b8a566cad51298ea4ff54ed341f00c0145019cfb8e8305581e03a5d1e05f09e74adfbee45326323c5e954485915427c9466142024117f00c024705ad528f944a280219cd2c033899e9fc349aa829f78334f562943a4efda69b1ab5df8c8f11f6d111fa125a0e031f1ea095b06c87384da1126fa3162c79079f3b79ebc6706fa2d76e7876263c7b030688045482812088759819105ab9a374238ba6f2bd1c22a42c6297a66597aa9c03af1162807bfffb510ef2a062220db29213934f244093c64e5a511d358fc7f34703e0f2c4f1ea72b62fa1598caf40b39eb56391ee216f803b777a7dda07e11a9fc403e73d6566bf21199031839ac4b19a046170e69f53d0044b47079fd3a481d38cc603b3edd91af67b05a878006d942fcd05909c82be379141cca47a5d97e3278cdb2b03446c70e110d66577cd48bc577704c968c947aa6eae5609d9146d1b8294f7e14b03ad75a78c117a25fad3119e51313606b26d0d3459b99a805421450dabe6d20d290347d59744b4310ff846275d3d5d7a35799d7db23c28cd059ce807b58b86ff7b7103cebde7dd7c23bbddb25bf07ca187ae438b15004d3bc0237a83f3984bed466fe103b4e646af230199545882ee33e8970f8991b33bd6bb5f1c99b7d0639a4d2d209a03f4dfeb196efa2c796c32e634d556571290ba6ee339ec6010c39521223ec8f2b303f0a8f8ac4a88748913a46a678e5bf20a2380388cc897d3a4f037583cdec206350219ffff035c2605b072aef80e4d72e10774d35df83abacd24967a4000ceecdb370b5e0b3d03cfd517e9274f55206a9d52047694928edfec8073a857ab9b85a25c32d236f4c703fe9eb1a8fd3a13cf06e30a9008e9b76e8e53ca3f26b8a618d2f1d26424205daa03ce0f918601813d5e49fe263ff562b7282f50b0771f4fdc4ab0d4a712f7b8bee303fc15dc26ca026d2fe2e8e3683e2bbac5fa623be9f5c3ba90d19bb60273962d7403d6154acde90e3030c4ef1747250699a9400255d81d67effb1a0c5f5defdb3c8b037f04ad36974264ea35bedc726f6d168e588fb3ecbe17994ab541d5c73bf9ec3f03694bb9c07f13ff28b786acbdac4b83afe2880346732d7aa9d3e61caf265e697e035bd6d86dd90488d22712eef79d94bdbc249125f102bf0a4a0db8e1b749f9cc1103a0a453f95a27731a2b895731f3d35992ed4731c06899217dbf8b49ac905d1b4c03113549b81df140cc3a096b2c5e486cca7e9ff9fd804271a02c7a90491f1f1439030fa06bae0f33a1676062618aa6e1a7da7719a8fefb56a0e90073a38b4df258b1030af858bdf98b1be81960e43980ad7f737c4f403d309834e5ef9301372403763f038e4c9586a032535ecfeb3a7e079720ff686a23ba6d3428f9a33395ecd1544e540219ffff03813e77a3b4df7c099601addbc8e7d4785eb2f9d43bed1dbd5e6db3a095bbda620348e520ca0842cdd3f8430569fa115dc9817e079152c60946cfd37b38cabac4c8033ab2d291a10ebe6062d6bc39c0d0a8f0ccfc61b2f2f22d54da7c691ca4f6670b032e1f89fccc7efaa66cfe0737d70c2ab0735e1aedd7f3187fb57d4501aef4dc0003c793d59501423bb2a842f655cbf80d564f5e340ee6287db8edfd1ec72cc1ee4d03fa0f378bd2ac251165cc4637ca411657c8ef993f01bd9a414159299ffd067cf20341deca8bd6230928e3dd5f03cc92e4ddfbf17215b5be4de1aada0d54c4bec8ca036eb9d83c6296043e72eca6ead3af9701b2a46b527d0e4499cb7690de2bf1df21032bcb2ac5484d9653d50262b86ae2a8c92bf4f4ba440243d8c1decd5a81d7d69103aff163b8b94dbbbcafb8558d88235b3eb1d2a5f48f2357e31e8c78c93b0e776d03df6262468d9da3f51fef2c78f2941663c0613a83771ab6d9b80e089077de39bd0219ffff032bcc8c2b3ed20b49ad1d599452fb48579f011af2245f3ea9e9247b551e876b6603f75791071a457e886a29fe9102942f8d2e396ec57668a2420da97f194f0ee9b00301af39becfeef04c8422d1ca3dc57b0cbaf4b4a1084110385266f6cbe1ae5de7037497904b251b19c39102793d33f8008443c81743904e69803d33076f7c62879503bb3a058878ca030577cd4c44a8b92de07d520db5aeea255978036f5211d33fea03785e36d2b37e6282216047cb5f110a562943a88ed119bbba2a5ec769b4879c5b033b4f2f8559a89f7840e4ea7cace108d67ab023b746ae454e096b5527e84c8b22032885ef9b47b752651c086ef4df80cf964693afb151e89a316fa7af7465d0c18503d24bb922803f45614af1c3b01d4ef2a493fc1d6ca44a4b450c3b5b24dce83e3e03826595935f2152a7890a18e9ac96171efc28789e52333e3eb10bd4be5e4ec83003f0a5ea2ec623ede2fd3241a754b831095c442f54ecdcb7329311b48b4af8f7de038a23a27487fc2d9cf916a84e3c7c902b3fcdc264cb7bbe37273e747d21be2b6503e884c2b95fef96952a2431e45747b2195b61fcb39589d08ce7e7c36b9c6a4819037739415951e68112915462ec6fb17e8ac6c86e9b6050640d9c130863fcff9b8f0375a25f9e7a3b93d098e7f0c5cc60535eac4b2626a729f51b83814aedd36f4f1c030ddd5d8f91126fa2251c15c57f0cf70bfe617dd70dcf9e1e489520dc765af7680376d7a1417e702bd8c093158310cbe5d7b9868f4fbb43b56a7cbf51d1eae2ef4f03abdd861f2b4138a52fae26a38089025cb6a0ae2c5aafce71871aff39b9ad62d503529a28b4d6beb6cdb458c1da0a82392f900feac5fc38b1428fdcbe55ed46649a03ec35916413685b74fb5a869f4ab3ef53229642bb56dbe4cc81625f3783ee12ac03e9cafdf291ead98f600c6bb6f8d69682e94f4e3eb1bea9f23c7441e053c9da670393bc7beffc13b4a41d52c1cb44fb523ccb9f0dc132a6d779610c489390ed8b8303f7855b3594237a04f15069a45fab04ace59d8e746d15c5eaf381b9a287de6581032633924c29a964ac9b2d0f95f9e7db55a3cff2362297a0008cdce6832f5eba0903cf30ef7cb180c70a95f11aca0080817a5a669316201dfa31c144fc2e60fa5861034f69301fcb1f24f91584f96fa2f329dc7b047244df7dd586c258ee780ea2313a03ba3ce108598818d5d23d96608b68430099e8350edf4d2af64c619a5a23ccfcd103153422199322f98415472fabf22f1502ce02ee33017cef6056c3678ef46946a405581d0232119d0eab571cd1b4b25aa5e8740226bff0f79d56e257e12916dad20c014733d0bac93a4c780459228e608060405234801561000f575f80fd5b5060043610610140575f3560e01c806349bd5a5e116100b65780638da5cb5b1161007a5780638da5cb5b1461036457806395d89b4114610382578063a457c2d7146103a0578063a9059cbb146103d0578063dd62ed3e14610400578063f2fde38b1461043057610140565b806349bd5a5e146102d057806370a08231146102ee578063715018a61461031e578063860a32ec1461032857806389f9a1d31461034657610140565b806323b872dd1161010857806323b872dd146101fe578063313ce5671461022e578063395093511461024c5780633aa633aa1461027c578063404e51291461029857806342966c68146102b457610140565b806306fdde0314610144578063095ea7b31461016257806316c021291461019257806318160ddd146101c25780631ab99e12146101e0575b5f80fd5b61014c61044c565b60405161015991906116e6565b60405180910390f35b61017c60048036038101906101779190611797565b6104dc565b60405161018991906117ef565b60405180910390f35b6101ac60048036038101906101a79190611808565b6104f9565b6040516101b991906117ef565b60405180910390f35b6101ca610516565b6040516101d79190611842565b60405180910390f35b6101e861051f565b6040516101f59190611842565b60405180910390f35b6102186004803603810190610213919061185b565b610525565b60405161022591906117ef565b60405180910390f35b610236610617565b60405161024391906118c6565b60405180910390f35b61026660048036038101906102619190611797565b61061f565b60405161027391906117ef565b60405180910390f35b61029660048036038101906102919190611909565b6106c6565b005b6102b260048036038101906102ad919061196d565b6107af565b005b6102ce60048036038101906102c991906119ab565b610883565b005b6102d8610890565b6040516102e591906119e5565b60405180910390f35b61030860048036038101906103039190611808565b6108b5565b6040516103159190611842565b60405180910390f35b6103266108fb565b005b610330610982565b60405161033d91906117ef565b60405180910390f35b61034e610994565b60405161035b9190611842565b60405180910390f35b61036c61099a565b60405161037991906119e5565b60405180910390f35b61038a6109c1565b60405161039791906116e6565b60405180910390f35b6103ba60048036038101906103b59190611797565b610a51565b6040516103c791906117ef565b60405180910390f35b6103ea60048036038101906103e59190611797565b610b37565b6040516103f791906117ef565b60405180910390f35b61041a600480360381019061041591906119fe565b610b54565b6040516104279190611842565b60405180910390f35b61044a60048036038101906104459190611808565b610bd6565b005b60606004805461045b90611a69565b80601f016020809104026020016040519081016040528092919081815260200182805461048790611a69565b80156104d25780601f106104a9576101008083540402835291602001916104d2565b820191905f5260205f20905b8154815290600101906020018083116104b557829003601f168201915b5050505050905090565b5f6104ef6104e8610ccc565b8484610cd3565b6001905092915050565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f600354905090565b60085481565b5f610531848484610e96565b5f60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610578610ccc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050828110156105f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ee90611b09565b60405180910390fd5b61060b85610603610ccc565b858403610cd3565b60019150509392505050565b5f6012905090565b5f6106bc61062b610ccc565b848460025f610638610ccc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546106b79190611b54565b610cd3565b6001905092915050565b6106ce610ccc565b73ffffffffffffffffffffffffffffffffffffffff166106ec61099a565b73ffffffffffffffffffffffffffffffffffffffff1614610742576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073990611bd1565b60405180910390fd5b8360065f6101000a81548160ff0219169083151502179055508260095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007819055508060088190555050505050565b6107b7610ccc565b73ffffffffffffffffffffffffffffffffffffffff166107d561099a565b73ffffffffffffffffffffffffffffffffffffffff161461082b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082290611bd1565b60405180910390fd5b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b61088d338261110e565b50565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610903610ccc565b73ffffffffffffffffffffffffffffffffffffffff1661092161099a565b73ffffffffffffffffffffffffffffffffffffffff1614610977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096e90611bd1565b60405180910390fd5b6109805f6112dc565b565b60065f9054906101000a900460ff1681565b60075481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546109d090611a69565b80601f01602080910402602001604051908101604052809291908181526020018280546109fc90611a69565b8015610a475780601f10610a1e57610100808354040283529160200191610a47565b820191905f5260205f20905b815481529060010190602001808311610a2a57829003601f168201915b5050505050905090565b5f8060025f610a5e610ccc565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90611c5f565b60405180910390fd5b610b2c610b23610ccc565b85858403610cd3565b600191505092915050565b5f610b4a610b43610ccc565b8484610e96565b6001905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610bde610ccc565b73ffffffffffffffffffffffffffffffffffffffff16610bfc61099a565b73ffffffffffffffffffffffffffffffffffffffff1614610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4990611bd1565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610cc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb790611ced565b60405180910390fd5b610cc9816112dc565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3890611d7b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610daf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da690611e09565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e899190611842565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efb90611e97565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6990611f25565b60405180910390fd5b610f7d83838361139d565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611001576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff890611fb3565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546110919190611b54565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110f59190611842565b60405180910390a3611108848484611671565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361117c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117390612041565b60405180910390fd5b611187825f8361139d565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101561120b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611202906120cf565b60405180910390fd5b81810360015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f82825461126091906120ed565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516112c49190611842565b60405180910390a36112d7835f84611671565b505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561143b5750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61147a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114719061216a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611585576114d661099a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611541575061151261099a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611580576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611577906121d2565b60405180910390fd5b61166c565b60065f9054906101000a900460ff1680156115ec575060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b1561166b57600754816115fe846108b5565b6116089190611b54565b1115801561162b57506008548161161e846108b5565b6116289190611b54565b10155b61166a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116619061223a565b60405180910390fd5b5b5b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6116b882611676565b6116c28185611680565b93506116d2818560208601611690565b6116db8161169e565b840191505092915050565b5f6020820190508181035f8301526116fe81846116ae565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6117338261170a565b9050919050565b61174381611729565b811461174d575f80fd5b50565b5f8135905061175e8161173a565b92915050565b5f819050919050565b61177681611764565b8114611780575f80fd5b50565b5f813590506117918161176d565b92915050565b5f80604083850312156117ad576117ac611706565b5b5f6117ba85828601611750565b92505060206117cb85828601611783565b9150509250929050565b5f8115159050919050565b6117e9816117d5565b82525050565b5f6020820190506118025f8301846117e0565b92915050565b5f6020828403121561181d5761181c611706565b5b5f61182a84828501611750565b91505092915050565b61183c81611764565b82525050565b5f6020820190506118555f830184611833565b92915050565b5f805f6060848603121561187257611871611706565b5b5f61187f86828701611750565b935050602061189086828701611750565b92505060406118a186828701611783565b9150509250925092565b5f60ff82169050919050565b6118c0816118ab565b82525050565b5f6020820190506118d95f8301846118b7565b92915050565b6118e8816117d5565b81146118f2575f80fd5b50565b5f81359050611903816118df565b92915050565b5f805f806080858703121561192157611920611706565b5b5f61192e878288016118f5565b945050602061193f87828801611750565b935050604061195087828801611783565b925050606061196187828801611783565b91505092959194509250565b5f806040838503121561198357611982611706565b5b5f61199085828601611750565b92505060206119a1858286016118f5565b9150509250929050565b5f602082840312156119c0576119bf611706565b5b5f6119cd84828501611783565b91505092915050565b6119df81611729565b82525050565b5f6020820190506119f85f8301846119d6565b92915050565b5f8060408385031215611a1457611a13611706565b5b5f611a2185828601611750565b9250506020611a3285828601611750565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611a8057607f821691505b602082108103611a9357611a92611a3c565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f611af3602883611680565b9150611afe82611a99565b604082019050919050565b5f6020820190508181035f830152611b2081611ae7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611b5e82611764565b9150611b6983611764565b9250828201905080821115611b8157611b80611b27565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611bbb602083611680565b9150611bc682611b87565b602082019050919050565b5f6020820190508181035f830152611be881611baf565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f611c49602583611680565b9150611c5482611bef565b604082019050919050565b5f6020820190508181035f830152611c7681611c3d565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611cd7602683611680565b9150611ce282611c7d565b604082019050919050565b5f6020820190508181035f830152611d0481611ccb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611d65602483611680565b9150611d7082611d0b565b604082019050919050565b5f6020820190508181035f830152611d9281611d59565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611df3602283611680565b9150611dfe82611d99565b604082019050919050565b5f6020820190508181035f830152611e2081611de7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611e81602583611680565b9150611e8c82611e27565b604082019050919050565b5f6020820190508181035f830152611eae81611e75565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611f0f602383611680565b9150611f1a82611eb5565b604082019050919050565b5f6020820190508181035f830152611f3c81611f03565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f611f9d602683611680565b9150611fa882611f43565b604082019050919050565b5f6020820190508181035f830152611fca81611f91565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f61202b602183611680565b915061203682611fd1565b604082019050919050565b5f6020820190508181035f8301526120588161201f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f6120b9602283611680565b91506120c48261205f565b604082019050919050565b5f6020820190508181035f8301526120e6816120ad565b9050919050565b5f6120f782611764565b915061210283611764565b925082820390508181111561211a57612119611b27565b5b92915050565b7f426c61636b6c69737465640000000000000000000000000000000000000000005f82015250565b5f612154600b83611680565b915061215f82612120565b602082019050919050565b5f6020820190508181035f83015261218181612148565b9050919050565b7f74726164696e67206973206e6f742073746172746564000000000000000000005f82015250565b5f6121bc601683611680565b91506121c782612188565b602082019050919050565b5f6020820190508181035f8301526121e9816121b0565b9050919050565b7f466f7262696400000000000000000000000000000000000000000000000000005f82015250565b5f612224600683611680565b915061222f826121f0565b602082019050919050565b5f6020820190508181035f83015261225181612218565b905091905056fea26469706673582212204c98e2c73f4a3585e64eb665ab78419469a672553e297e40623a9b55a1199ded64736f6c6343000819003303d5f1e6698c9541f1679b498bdde676bff97bd6a5aa28bf33cf79b6bfb2eb89a803a62124de7c05fc5b3311d85bef95bfcc32036f6daa6e294ce5e8633df7be8e03039e33420963f673edf78ede4b303acc8181a6cccca7850b50c3aeab834eb791c40334aa5e60d2ac5e95264cd7bd0d8285b1ccb4a89a33cdc88033c1fc0f292b7b7a035f62743b5bf39c45bf6b5200f348a709e22d8e9a2a67cb1605d5ca4a5c3555e40394c294dfa340fbed3e399646f87edabf7c69c1559c5fd178e8c65020a3c641cf0307edc773c8ae2315446ca83474833bcbdd4544541b5c5963eb22ec7002b8723103544df171bd0c2bfaf89e3a2c0391fc1484fede6714f834c834484016443aad3e035f137a8907909e2eed104611bb0add3901edf72342ca0c3172cfe90e2e61dbe4031e86f72ecd15f0a49df57fe2c5ccce9f6d51fe88d9b81a3d1364c4120ef672dd0379aaed8d43e571fa4c3e0a387851eb6ca113343179270ca414447bc2dca3bc1503bcd2b7a802279aca057273d4b56bdff5c11e5095be58727efa1322403484bcf6038a2960975cae567f780e278a7d52e4db90c3efb8a8845dcbff4897a4b36a62b0031b064a28015296d460351fe8c4666ab526f4b27671d37a9455967763ac5f52d10058200329bb9c3e69cc9724fb4afe7997722c4965a9127dd3a7aaee4b132e92f052d05820ffffffffffffffffffffffffffffffffffffffff8ee18961194133cffe7aa8b1005820034e81a8b1adc55cfe8ea56a280c3d605fa64c9acedb60600d21c9a73654fcc05820ffffffffffffffffffffffffffffffffffffffff755da463b9eb9958271fc00000582003c3050bccac85a0c47b713c652f515a77aae0cd497b590f89db9ac70e1021604c4de7016feb0b7708d5ae77a803aa392f39aeb7f8ed24d3956cd8474642603ea186d73bde04f5316ab251a3882b005820039ce9bc787327816018e7ce325d18df30ff60d4fbd9a266567ea8c7ce23c1905820ffffffffffffffffffffffffffffffffffffffc47b32bb9442611fe9e5872ed900582003b92e1931ec50fde11bbe89b248bf40050d88353d4bc41e489caadd3b44daa04c4b32b5efc8d1133ba461fcef0219469603b234b908c5aebc80ee3e00fb9963a76ccb19be4a4ad876523f767ddaa5084bda0344ba14cdec02ad30d2cec4f7f6ea4166e2b52224bbdb486172545385da3811a003d2d1c26a0ca41d54bc232611c9dc6aeedd39b03a3a0f1462d857f6a210a549c9034803e16b79c3c130cf6fda1646a71ab86341b59572aa450ebc85ff06c99cca35034ebd3d5527583c3d9bbe35756e2a87b49819e7317b72e1b26e90a311a9f7070303c789c0b20039cc389ce9a82c59bea75f674e8c77248a0b1f71db059947a3c7f6031e680671d251d912c21d98a77ee3030449d6eb686aec2c936cf39edc2e1a9b61038c535cbf7534b84cf02d0ed4c33f420b9d6a515b9c961413421506786bd80b140219ffff0356e503d3536cf9e5ba43e6541563ed4527a2c6986a696b19f29df44372db309c03bfd061ba2158f63a936770e152ca4fda67f7b30d5b9e79cb464259c2f52f6f6803caf9c78b580566fe586c5003aa0fd5614d978fa42dd2b30ea918cc914e39f05703e86fde455f7a8098f3928f785489632b6df0a9ed9ee03e6ebd577b963d118d20037a679ea6a54912a18dba4a21a445992663e3d624c47ee1934fe5a0226fc6fd08039264084cb49355976991a34e59bf2971df1e238bf93bf2c08f0fb422fbba831e03bada0ca8a5ecafad3f77d38a8f2fcf828ffebc10b2725d07354e6ba604b69ac403421a9dfefcc903dd22fce0322b4fa4f6204f16015256116fa0eb6e183359830503896f8fe335cdb498b6f81b5d2a91d2d44c2785444cbc6292dfe2d0b486b6270e03cf5e012f1d88824315e71271dda0c623fc6dba3ebf575f84517f004d36fa45df0321c37bae6f67a2f4c3d81a1b4d2b575972daa49476148bdbf9b25b6db01bd63d03a6ac7f4aac4babebee5783e1bbc9d9f462c41b3f4333a6754c61c1dd327ebf9b0390e41f9049578c1ef44fbc3603086de6c5459f42ce88395de02cacc035b4844f0376ae693233fbb88a93fcbf3694b22f4ef41e4e54d1b372bfb6e0e7584dc72f20033f8ad4fc6971690482803b48966b93360a09c15868bab3edfcb0a4f6de1dab680371a40bc35935a0bb49ea7c67065d7d839352ad60e67444816b52858edf8de1430331ce6bf360451848c570be83d655a9791b27d7ccf6e0c87ae8becf14a50ef2c60382fd3c6ca9e28f3e39eb06bf8ba0b514f117145e1fa41a4af4c4e4a14644898e0058200383fc28ee319cf291c1345fd781c81c0d6e40d8e9e560f705a62fa427025d404c3d1d6905119583513f297e32031da6b4b3822938f540b843cbfe07606a539bb36303dc47f4f8f047d3c6ba3a9c03b68e6ae45c7dd5e3d0990f2cedb4f27a73a012e7a375dd002440836f884107e500582003c6880b1744dfa10ad07ca68891f5e33fe4ed9df8be71cb1527cc24c44da3e05820fffffffffffffffffffffffffffffffffffffffb9a255c0429d00f5a4fb2d48300581f0202b67763e9c997107a15b3ca76306abf49524b215138bb8ac190970a5ace4c289e04ef78579c0f6b3c85d000581f02494222c91f952940fee9393e8715aaf1f8e9cff3df58d8d2293db673acda5820fffffffffffffffffffffffffffffffffffffffc2daf20217644c7a6fd99c0000219401003a850c5c1ebc2798c101723acfa499606ac040f1cecd4a8f681d700315d098b5c00582003bb64b360eb99a8db8c4f4b11690235f3b7317cd02a8726766a06a6bea7c8305820ffffffffffffffffffffffffffffffffffffffff2fe9d2d5c215c91455b2f46400582003f04cbe5201488a8747772300ea3e190811b377eb8c2529f8bb70078fdbf2605820ffffffffffffffffffffffffffffffffffffffdfb031a1c1dafd9e6455c2a1ce00582003e923f086cddcc09bd32521bd8bd5c7c13229c150faa40117f7bd362af30b605820fffffffffffffffffffffffffffffffffffffff61d05d4b11a3569d8b88ae1e50219c9f103fabf05060f2734e7bfc13b2d45d2761ab57629b4379e8562706b9cae2de7fc14038303aede1a17f4f48c9fc9e07a8ddcaed50fe9020ea1d458d91f9f4bd87e638903df375cbaf0bc0c5ce0d0f40d830a70f8c19395b1552cd88277c38c39e91efbc9036f8bf42364c9bc5f833d54531b8d0c33055227743a71d5b5f0b0bfb6a1f11b38032e69ceb727d3db1faa032663c631e898576ee3a76c72515cf9b0d580ac780b290219ffff0219ffff05581d02aa6a27897babb89ae3f2243ff3c4fdbb2613290accf40ef237d0ca5a070119228e05581d022c4e2fb94daab08517eb866a81def0cd65250c75bec1a8cd1dabc2820c15472f6dabeea2f6290219408803f3a316ac6c0c4a23989f07972998d469517d2291e4b08613947077c6b615683d03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e037839ef3aea39b62f7d8e353c81f197527d500aa797104607ea49d3d93007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03a972ab080b3dca8785b329d47e897bf1e1419afa333368c47cc3f7981007011bffffffffffffffff034cb92ce0235ce7e0232b954cde3e16eb35c4aa8984ca4c2a514b60f605cb398905581e0378a09b49912cc2ca32a36a7e6fdb0d92efaa707aebcc8424948aece780040605581e0331c02bd4f08dd3a9cbfb04a533cd3ee31465fa7bac9063a9474bef73a0040405581e035f28e3de6ec4f2dc8c62155e7ae4a500c21f7a482b436106d9ea50fa400401021927660328785399314d3b1850a005ed77694e38bc8c15bf77e474600d0dda892778b9400306ead5837a43111af00b13bbcc1829d6c27a2d25abfb56a0a8cd97d8a85cea0e03c546bfc52a25ec22a93fc804928bb9ea9a0067742d081615217b316890bf308503238b21b9558a491933ca3d8517d95c7d2ccfa1d8dfa8aae8fcd79ceb145a22b90308818ab74037200d294c130fb3c95eec2fc87278adedea4f1928e502c03c2c7d03c69ce3147f738540df4de330628c44b2d85428ef2ecb465a043cfb46b303def5034185b17dc1a418050a9a616369f284ec530e49e21f694853a4ea55e74d5f1c3b03115d5d81a7de7e720bfa8631356a07b033539dc5d75ba13e917a791ce965b8bf034858fe6f2dfbd251e14aba7b661f6aa18bcbdc45e3cfe6c1f5996840e9de87e6031ca5848727b69b1714d65ecd43fca28d617b32d1394504f9a9ee762df2548d0d0325e4035d76ee040b63c071c1c85c02a08ec1b29d80a2cb6692276c0ce1da094a0219ffff0352c38376029e1e574044fdf844c1bcaba9b610e8806d9a027915ea4b06e572bf03fcb46d507783219f30b9d15649c3f79d0b567a1d0a9fe09bd75cca10247d2869030a07655b24ac8a1e83b0115869712565c83779cbcb4050b557f27e6d1ff944e70347bf28f5e736bb92c680aaf6ec2013603f3e92f2a48be9313a16f3387d7ef16c034e43ee795ed98a30ed7eaa863f4f46c10c6a807464eac5593816e278b419705a0219ffff03e8d919521f460e9aec9f8d370fe7423f342394fca40367b89b2fd33611d452680393dd19f498e6ac38069a3fae14e822e8eff08e415bd876281e3ec7e7ebf2163d036f83b3f2cd325662f61310001f25cbcb1497674979e44495f8c701fd67c73e140219ffff0378efc6ea3e4b8399f77ccc1bb2cc990611e841ed6d5885802b3ff9088a65b78b03ed782d8375638cb01448d9b87048a154dba3211cdecef17d8e3e768656e521f703f0c10d9089e9ec2b111c8e064e7449862ce2caf012d44feadf0dba40497490c3033aeca0e72153712729f5c0664cc0a77794b860401e011b9668949968617fd2de03c6066713c210011854234e1a7040cb5c4d1f74d3dc1439acd24063e4ebc50380033e394e9de9bc101d49f00f80074871c8e92623db747cc611c83992bb9d138f6b03c6841ed0fc447637ebb13ec7ba2e7a49fa77e912ab11135c9b7f0e43d00c05c90219ffff0337f578e539af7d4787eebef49622894509acef3e236b7c14fd3a53627a8ebb6b03f825fd9590f6edd881b775687e38dfa6a33d7bd4827b451bea709d4430587524034b6c89082a7df2d098fbd096aaf910eabb9857fadb69dc92ec1a338d6c7bd44303fcf1239e3c53bd0680445ffe27518af1a9c2689b89bf71bbbb5d26c5caebec0a03ef8050dfe5fcd12efee3ea7541f5eede3c1b31cab3fdf79e1e84b5371b3b960503c90f486874a323dc500b60235a9178d1065687f86c5fe60f1d488f32dd2c1743030d4d93ed9cced44225f384f6c1ba03ca7a040dd8a1378e0a6d461a762025ac3703508d25f66732759425826ea0b9c1edeae53179991aa5875a5b181449712460c9033ca62e75bff8837429a8c2f0d25e6402213b98393c38e942fd7c835fb5064adb034e7c302d3721586926b8b0dc1dfd8e83522e32611a3fdda33a7ab455e7a2eaa803b642cc2d9e5d294de3488afb65efc9dd7ad47e3a2be9bb100381cd4e9edf04df0302ac24abbb7086a45c41b70cbf02a7948652c9a52d539e5700c5bb671ecd931f0332ae14e09a15ea47773af5c7f4c79e59d3d7ea4a8f88e6c7451dfa0c9c642c9e031a1694fec77fc651e23cb5afefb0c9b609f5986f08e9330744e4ec825016cdea03122f57495730264bc44c3661f16a87152a2bc842a6dcf7ddcada3ff99172c3e003a3097bbd64243dd9846f0a98bfcabb4cf21f35aadfcaaf413ad71f96f9c0f3c903de43f30967afc20c2b2b70c8393466921da138ae1f0ff39383191057c6507c72038ae138b4fb72b264619767d5d2ab52686ee649618f5308cd901cbd8ffa329fdd03601414da4dec17718dc9e33c73e50607e869d8c2ee56a7fd343b78adabba6b1c03fcd46b45b66daa5bd7f0d7cd97b146e3446fc3b98049073390e7791ce5d99c5d030ecbae83888b1826695bd7519b9c1d6336099a204ea2f3f3695d79a18bbfbb0c034c87bedea2b3a67fcb17a80e340321f0328d91795dd0261a1df99ac0d8bd580e03215fc99dcc6b053d11b3dd5427baf32d9a27f1053240445b520f26fd0af8976c033665cc21ba94d31024832661ee4ca9a612b6f3f30022aa463d8ae30bac4536b903c4b621973cc85fedaf7324d08f977e26e8ba654cee8e9bb7f76d5ab12478479103ffe78581de3d1f13034bdb23607a44346abac877a7cfada36f535600da0f34eb03f0d78f7cb52c6812f7a0c93c001aa18b54b7a2acca4f7c2eacc9e3b0f7a59a45036b3907806ccb21f43daab833321061528bf74ad633d78558ff701b2d4ffc8e17031cead28dc2ac247ec10affb7f95d2eaaa409f8344abbccf592ee79cc71f601e50367484f2913b5e639dc45b1576d68bae76928c20ab4df4d02972bb1ecb3f8546c032b463d1a4a757798505ad3f383dc108a401e0a1e41f3a5f831e61f0df1a100ac0309c02b92ffa718cdce209fe4da2487963f05e6a992299e87d1ffa9e81abfd923030bf1a5e07e48a6797e9c7b8f11e616b33df637b5418ee265f5a5cc2284ef0e4f03cafe05aa2436ebbfc062ff43fd5c299f995e77aff4030442fbff9bf1fc7ca641039594a4d588f02cd4606e5a8cd0a954ff335cc38d7eb12302eb2bda0f1395fbc4036e4ddcad785aed3b9bdafc2816f9154d0f3747a24cd183d7b785e1836675349203dc5504ca827b1d7bcaf3f56336332197a7b7b7675b1508c156ba2a8b35962ea703a43f06880551d312ebc591d6f3434e38aeefd3ae3592a0211ab04ee4293e1169036de0c537e5c88b3d3b6406a03f0b7fa75f11ca8b75988594ffa93ec43fbd2ff40363010a239d8e1100bd45b4a0a4565226d7d5bdadb2cb6ff6d6b01ce126973c390345c1f6443615e8fa183f40727fc83db6932984da78a8bbbe9aa3b484284c8d1705581e03e33a7a00678910e18e52980a60c263a7f2662a91c64ed5ab3a67cbc700040105581e0345f1fc2a5fd449902f70ab1f1f47577850e100f2d0e2d88ff4362089f00c01470188102b0f7c0005581e03971363717fc6112409b97f217e9d950693b2a9093cf5b54a9afb987430040105581e035e02b25cb8c34961983196d193876f2af067a85533d76cfb88496ef6a00c0147052669dcb7ae0005581e031225b641631bd26d26f5eb67f3156bf537f5626f62ba38b4ac92f036900c0246449e8788578805581e03528cc9d3f4b353767c866d07ef225d5c00951d55d38004044499e98270040105581e034395826e728d53b4e21516858143e57fead6acd3076d3c81e1be476a90040403d4892551647b70a0015c83406c1d20647f7b355daff74580a0d96a6669c4d82f05581e036fe4aef4d90f37ac3f9b086ca786274845a75ba8a96ca9063fe0ad73f0040305581e035e7f63b7d81ca5ae7e279c2f933b06485d264d842c4040f2f822b4638004020359e0e7572e4465e0e20ddd86708e5711470f803af51be1b8c904590dc4ab3a4805581d02516db3df765138bfe4d798f07ff679d455ff8188a06a88e670c2ceab0c0b478b49c6a57c50d80459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c634300081000330391c2729bf37621d01a1bfcbe929542c0ed9d0dfa4979fe69e0a233e4bcfca73f03bf489d20ff887831916847f1992ed198827fb3e949c035ef09182c09c24341e903bf6e44edc7e48d69db0e0f29582719a7e54ed7aafd7f5b2024e354bad0ed2dd8032dac0d06e1b884647331ae993f1428496860ed7236616bc8f7da2faa96a8fdec0302f47687b48b626b46d166e77f1aa942b6f8d2edd466860e087930dd808a9ccb00581f03fca9b1e9d6afbca34198716be21611f833e6d8a5bde1f0f89450142fd4b058208354a3fb8b9827bfba1148558adb37559ec4ee562019c99ba9a3b821392f783800581f03eed0df816e85dd2272b68a49451e8dd15a08ffec1b95a440d47d7f907c1058202c28327a744a8e1503e876b6ed3bb76a8c00b7faee5adcdb0ec7b8fdf3313eda00581f03e9e4cdb9fba66696b69b215c11e612a6e8533662ad07cdd3809463ab198058202b0ee79f469102adc2242c250cda95c420eb90d8182ebf55a08e62226ed7d25f00581f035fbf4dfb0599f6a523fa639600c30a2558850c1781636e3981263d54cbc0582023cff755955cba58d9616563107d248dc80b3d035032bf9e962df64471d929df00581f03ecccc52d239c68ecb8f157cf3b3149fcf2b692718910ac42a2f336ac81e058206c27e027b67e1494f47df7ed1c4af0e8c632db9930c1d86f8b5507a7b97fc13a00581f033a35d851e607fdcb4420489d79ac9abac872e14e933f04141dd5882090f05820a061b9ac682eac1509088b077a1eb837baadd305fb2a15a0ab01abdd8cadb1fa0219c45403ffc5f5c54ff833d83f917bbed9a487769dceac132683c4d8b58300001846ce2b038fb181f902dae803d18f3721122aa21db437f045796922f7d5fe029827f451d103b39331f5123f75535854fc97ab2d81b0bfe2cfa463830b7704db4ed0d905feb703faebcf070f592629e34f3c51a6f35500d687ee31b6370d8c218021b00b0626f6033ac0c5aef4e19f274c3623c35c7b9533584561278cfe35da268994d8fb95e20203d90440972d8302b8204d6071800675f6971c3d329cde45e338e203f0dd3a989a0323b2bcc6b66cc95458f90952bc4e51f8f74ff083fbba03f10fd22ea22f76e88803e5f76688eec35ab0aa19650bf9305455f9b8afebf9e51b664a0684c4498f3ce3034878990be8369d2b5fdbd007260fbeb558159fd6b97a806a00a85cede78f1d34036aeea6485056b2b4b383be94bed5e5f7b726f3b52d1d808dd306b39a9b2a4b7e033a3a20f43ed01efc1d62efbff504165fe70c56afdc32e437627514a6ae6f81d203c4d4aa061e6ea24f39234509fba60890c8b00a41a429ce4b7700ea4d3d240ffd03c33e0a8c2455af2aad3fd78a12c15336901cd307f57e862a51b2089dcf1326e403d92dc20793dbc9ad80ba5037a20244dc6145e3aeeb74cdcd7d13b6ba14e0e09c03b540e7a9c0acb11ff5bc24f60ae226d613b72ef7e6f4861a5dbb6ceddc85d4f80219ffff034082033cb35086e59e91f0b976e7a6789c2ed135c1f23df9890c0f7fb35a19860398bea3971ca0db39dad69b5a37a2dbcb633921d3f4c7d5e1cbab773317d88d300318ccab0af7cf103242469e733ae30fed6d4ec290230bdf3e2dcb55b946b4c05303db2d7a8e633c0655c2220d28852dc6cb9fb05f97a360ddad76f921e1b587845803d7859da2ecdb7404fa76618386fb422a0cbddff4a6e5b2e30a7ec546de9449ec0353950413bb140b50547991182f9be3e8d1d2e63550c61f418e55975c14b3b440032a85f81064aa297b9397ca40cdabc6f40e92e53e30cc4926936bc51b2c58fce3038bc14cbeac0b44af2820eca5373630a3d32d4afb6760a4bc05a1c079b326cdae0313f7c20446003c0639c6ae43066626366c6a801839413e92d899025cfe44960b03d34773246a6a5e2e1897b3d61343237ee62496871b8b9fef0ef3f30485b6cd7f0382bb67c5edbe709784e02b19f834e534473476272a5964774218965896a4b6b103e82c4b60ee19b4e080397a4a7b1fb250079ce5b40530f96bbcbbbeb4eecb96ce03258a2bd7f41aff56f0cb8729e3bd349a8560e97e81c2860e0fe1be083b8b6fe80219ffff035940fd9a136cdca9e9293a2da6eb78cf3469f1f555092657f25d403eddc243a903e6567e7396d6da1671bb756b6cd8194f31fd772c93ef3eb65dde9064da990c3603084aa7e1644694db3d627c095664855629c81b7b649693ab4f792e4b42d4510f0306457d3323579d8c441b8b6fcbb856b89edd66a49428e614732788ccaa3b19c903ebc02bcf7e6b78b7e596d021c067fec85ad4478d6a4086a5396d199797143dc80366ecb866d6378ea1948d1ad0060783ada1d62640806b9ace2b2e0e09c379111a03038f30dcc8e14acca88f83893c2b8ff2a2870fe60721fb84b8a030fd6f5465db03826ca5a97b2f860b8b9d9be7c0f749a1bdc2fad274c4cd82b535dea640d825d10375c77fb568b1f6ef2d3a0b153816612cfd3da8c8e7fbd155a9c263e5d8143f7203c63d6c22ce990098b30d3d76dd80b1d1f7b96a46ebcddcd93bcd42f8003429720385b46ce473692f2bf54d9f8ac90f082c79959038381e9c544ae2a18a2a85f1a203e30a6d571a92e20df6975e1a8643af8fc1cc786b73ed9d43588b0d0601cccb4d038c168f88051bc17e795a4b7d7d55da4535765963198371c14c9266907e92fe0d0306d2a0534c95bf74cae18bc807229185ca9edbfa7a9a99a7b6c94c4df9a2a8470219ffff0396f28f996be100b3c2824f88dcd316a99155de1ea25bdafa08995f11ce5880cc03c031e5b889f3c55ba84c6dccc77946a4b9d6fbec11750d1635beb070c8cb2a8603b905cd32d0ca5b91812aac2fae694170a8da3182c51072a25b181ac278ddce2a0331932e2bce84311a721f1d65ddc65d6c0fa17af2203d577af4ad75d29373579603bbffc9b76fa01230de8edff0e1d5ad321f90c337ea98470224c1158bcc71b42403ce6d2812a6aab30072df2556e3d6970da9779e24129b1965d3f06819d009f52803c8a728834f4ce31b41f783bc54d41729601af457a021a1b73fc451d90a3ddac803fd679f43fb737ee9a56418f7fc4510f57a671cd6d279e32d67be5ad3796f81c70387b0fb1bc4eb9f936dfaa7a6093c29a128bbe45eb6e5092cf75969571ebdbcdd03afba65520ab4a6ac0a505ffeb197912b16909a369e93ee4ebdf1b3f141599cc703908d65e2697a766dae8c7f5fcc7542018ffc9630fe4a432f80006d4cd2842eef033960f691b573ff51c87ab6c3f8ed9334dfc9bf37f2e4ae29d5942271a250620d034c7caf5611a0698d66305cfb7ded1e00e956b8103ac474a515be64b83d2eb72503306f709b7a3afad64ed4fbb7b5859109680210ac9a15e7923335832373c05c1f03246262ccbc79d5cdcca33bec5a20c1427d8b4a975995410d3ac17feaef1ab74403f21b05c9748fda325049f46208f4b94f4eb0ee170d9bca7add08c7bec942004f03d4bbe75cbbc201cba184f628094fa6cce986c47de783ef1cb6bfb3bcf83a154f03f85abafaa95fcdcb5df31cd411dc55cc1af177d1aa907b77c46bfed6b9bd1ef403e12b46180f85fabd26005182ba75def5ba20e17cdf9448573ca511e80b3504360320694622f9249d620899505949453fd7405e84791a821ed9494bf2ec474a1d9803bc89d887ca1cb9cf59f4ee290a9ae6555213abd846009c26b4beaf45c10015dd00581f0313c7ccf3ddb31b63414c3a565a8ddb84ae1448e50b9ee2150c4f0309e260582079cef2922ff109c7ea0fb031855108bd8a1b5e32c7c616838e882c095b0ac10700581f035aec4c57dcf06bee242b926b0cc90ff923818d6bbefb5cb0bc051ef4f88058203893be7876bbfd51007ced114a7090da419f29f864756724d236affa7e2f8fff03e482847ebc9355741247495c609b143fc4131548332f21bc5b3aed017381262a00581f0365dbdafac24f3c19b2bee5f2d764c424169faf4402542fdf09ba22d62af058206b701fe1d0fffc172fb566cba6ba919704b8ea78d3dbc836447aa53e5f3baac500581f0393d48fa8f1e5852e8675f7fac6e0e5049b55f3257ae7bf95550f0e2017205820ba203acccd224038335326b54863f5024e1c8ea71002a3a79b3eea787f53892800581f0314096bba95c9122a2d5eddb547782e534171044393e4b9dbeea6464c3e805820b61ad17ace4f197ed9aeaf68b5ca1a14a8df3fd7b8e8df3c79816a91febcd2fe030cd60b9d407c2608b06360bc725eba85eba3cd3a40498808f5672a72a2834f5b03a473335e49d18a585e9ec4828f9a51150a24546bc31cf3c1ee4daa011a55511b0393448f5505307b1d0006fa4d8315eabf1795912d2f2bc118329cd26e71b0dac2021939c703f91b170ae0f350838ae1d320e3297e8d0030aa0694ef6b228232e5bb7949ce920393e187a6139f96842e33c31ebf61d432b5e31d7b478e3776989aa6ade4f68c5b03dad3d6e2661ad23608316dc3703c2578f3ee5fee03f91a555fac0f49fbfd89650219ffff035ef7e0a29aa1958d757485097bd7983a7b7481178b83848a860b04f4b5cf617003177fc6f69cbbc26041a37bd2454a5dca4967e2e02a03d039cb02696b69a5bbe3033dd40151a6b8a345beb29a6438318ff800d483b5e20d2ecd98c4884bc2afe73903e9686378a3a2107b49563b01db70d802c4ab2d8b1dbb74ee6990fe7944cc8bae033c0bef8f31eac63b2198eaaf6229393964d1b2201d003a3d59bcd6577734d65a03789137783ab7f3d0ec606365ba6e225193563b7d07bfb761484e3c1ea378a6a603a0272641aa2304f60ef8c0ee623c1407d126599d962a75ff6c903b60c6249858039b571126fe9b930d6179675daffcc3d1c340193c144f6585537a793a3c7f6f8303075c661eb9d4661ed87963f50f39ddc5fdbe5887a1a9415a537202471797a0360219ffff036531b228eaeaa0e10612428e692b34a5b4da75975cdc7e69786509c9a5646e6f03d9c74f1fdfeb6a0462f47969c4d969ba7a6d41cb5708d862e29f4b2416640424034c38a9a4c4e4f10e8377bbc4df79975721318f103948abf2e0028eca755309bd03ab6ec08ece49239efd23e8a962d6a0d8b9743f5619929a387d1f26a862d8db2303715f5537731a380ad7ccd99790418597671380a11f245a83f4e6564156005b2a038a3a6ea87219260177c1c27720d29ce397b9ecb5cda84dbb622b43ea5e81149c036cf5bc04592579bd0f5233ef2ee3d68db27d1af7bd180bacf58edb4e1d762ce603aa94163ab541eddc060eefb6538cf49c4e3923fcfe4fa6e1e9f9147752775337036b0c661c9c34ff716f37c03f2814ab452b7905b3711a30d242d3c90eeeb74c62032f088914e266a0f2592489c79fa8dd07a8f2d04ce1cac9bf2649d41ac8453c3a03c2a1f42b65a2201572811025ecfd1159d86e6148a96361c3423c0465bc2dd43a03dda99364b44b77aaf22af7a64d45e906bb84a472e50ed92751838e8672a6fe340219ffff03cc5d00261f08761d432a1c2192fe01e61cf1cc64f6047248a33b55aa4b103f8d0330922d812559f3df87be6ba3e8519624dba6727c42f91c0c6bc84f83b1533ea603442ce7c440ded2cecc476c6604969194c14e746159c8164c0948f166874b214503cbbe1e1b8ec0c21aee40f4a4d50dc2aefe58e4a713cde9431b8c3b24e47ab50303efc8fa93a105efa8704188c11cf44f3274a0e8264de087ce1c63030d27f4e33a036bae645f3e7423cc132692c4ae11b9157900292ec043bd0a7d5898bfc1747255030c23fffc0e2d63c211a9c96e8030261c303293da0b32b88504c52c9de75314640385b90e707ca34a826d8843ae228eb6887651670baf6e9d005d28b05bc409adb503d1ae2fe0c3e661d874dc2493bcac8f2a6402181271889760b85cc63319edb48003d48bca4a3f7e41fbc716139f2cd30e343a3bce6acc218dabc05c720b16871be503922f554ed1cd962ae772e0bc7c14c1ed8e4aadd44029bb22a7f1c3a9d495045a03890e1e07a90279cfa473539067c4cc68d9920692d0c484c2de33fdd2c524296c03f752366190101a2b5761e5be5421859e8fa8b96b00fee478ee6c2df2f92159de03b842fdf45dae32dd378f87c68f0491f19b0207dab89e48b026b536d376118d88035274ac5c83bba576e9f2a0d72a6e91f4ff8cf790ed3bd90b0da323105bb6c2d00358681c97f58b920f998da503dd0a247759e8765687335175ee8a283a870b82970390a34ab709d59e2b8ee15e48752fe6bb7ebe58e22d9ae67d21c73c43d0eade1003ffd3532d77fe2bbf1b09ab555bbd5953a60129c33412e0feaff823b731dd3c9103329468fdc5e90f4cdd21e256c67268656ac7de265acc40391accec5f2db61f6c03b221f7564107fb38bb31d7dad05ecec4a5b5eeebba472825dae8a76fd2cc2f1a036f11e34a7de06b8fe60ae6f3964204d72f2026b8d98ab9f227a826a50a48b76103ff9dc7cae7d02454c46cbf7fea723a1681d0e054bdba9705f6abbf15e57c398403ee52eeed58528824484b4d1157665b35ea5f563ae955c7e7ad63c316893fed6303a4d1de880670697b8e75f066fb451f5ccdc486e8db6f21a5caf3b150e06090af0376652ddd14d2b4873e49e4eebb4e9e15577767674151f4076dc515fff743767a03e80af217191126fcad19400f7dc24a59c23b951792c719f117b28e66cc48fcd1039d398c2279826350de1086d584ac2c9e4086bcebf81baef558ad80e1cbb725890373e54f2809fe8bfc4563973b7618c9ea2e634ee2627eac408a9bc077ced7d7d1033807b8ad8a359ed32c1644836dc8b680cdf47589be1fcf112eb36460171d36ce030326d97f53c0ebece972236e45005455be37aae54ad624d34b78d5e56352bd6c0377ab5f85581d9f0d6024a53c1bd5615d39b2638b644b843bff428a0c4520c68600581e025503821789a4b4ea6be72d82ec149adfcf5211381e1bd6695e086bdc9a58201dc65993a6fee48ae044739bdf0f14a597449f83a827a1a21a1c5294be899d6100581e0301e2fa3c8b0594fc66bc2b44274f26aee712ba42906dc982fe30a808c05820821ab97758fe1e48b5a51c9bc4d645c3d9b3da2b19aa5c33b387b0cd6a58cc3000581e03f5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054eb803eb3f501998126bf37bb823646ed3d59d0720219200200581e02922cfb52d260f1447d7df9b7b3efd80d892215bcc50d2d68e256905fb358208a1da9cdaa65668c5bde0d47e66a386b33568e50d298f12405420c36dae6af7402191c0000581f03ebcea01c852312b942e2e6cf4973cebbd43cd0e3e6701257332bcb1965b05820b555f8e3328ef86d9ac43b6107aa23b90666756b3e07a978f639ce89aa8cd84800581f03c107679ef1c9c2ab89b53e930eb3d3f9fd5ca4a168949ef27f5e947951e0582019e02ab98bccdf876a04778008a97f5af49d8f0c66c1606a10aeb5ff126c669c00581f036906c81e6d41c0ac3ada7f6033ab1a55f361d28c538d79b30c1d24d1c47058209ace9f9fe81aaa0ddcd94ee6ea1c1293ca79e3de25b465eb878adb897463f27003f2c717394cd321934f829f8b539c0b505625a6a77b6a9b267dd04277edc6e73800581f03883e4e44a3e3e8cff1f386347f85c052b070a0d81f2741d4a152356b0ab05820f8abe9ed78a36aa5e3ec1ba7942cde4b8a26ab8b15a974e322763c5f9f1a072c021918650219ffff03f666a31f64b822eeeecc0ba717f41770a45d7cb9a12ad7230467aca7ff384ab90324c18d0c4042c5486239a2531b9b90b1575f83204ed1ebda30ca1bf04572ced10219ffff03ef2d97fbb653ba0b240afef4588a95abcb8fe3eccfba1ebd0affbb1d438927be03d9d270d09ce1f6ab6633be6cd5e7d93b4bc902fa89dafa0238dd18f0b36c6d00035fb59f53661a6256bd43f2c2f8e9a3a153d2fd99b667e5dff79b195f03920d530349505bf5771636f5bfe4021a6711d865c1ba149f3e8e74db191a239d07eac45e038ba30141d848ba7a12cdf2ec235430875c24e11c3fcb56a8915fea862f54c87a0305d0362ee7dddb9769635cd1bd25fb2b1c4dd78abd38e164c3b7bb81b159bb74039c556d5e3ce699e35fc9a789f4332a4cab557405810fbad435ec529ed043c300035444a0f40c964554d0c1b77cc006cd061dfd9b0123e605973fd251094a85db9c033dd9e899174b8bf19b115deda2ffba221eb08f6393b2e61e117d03e35754f2d103535a5f1ce46c28bbbf2b0b55d0a2ae809ad9646bf20d39afb73536f8c5fef675035dd067abe4aca55368ad866ef4919b8451caca0bbee28d169a3bf8a39ede831f03a10699dbff4923be48ebe08a30c19a91cb39d44c41159727a90c149c341818170352e337da07b37163bcbe404fb8a914206f4e7d652a83cfd7204bcc7ca9bbb47d0219ffff03e54492b42e8389dae9865df525dbe49534769203c0f8effd07e2d5f74c829bb2039f9ad1421ee578aff3e44391bc4e24bca83b40651469373c98d77ce66bc53b7c038f5a8f2d7fbc8f8cf4cad03b2c92f5558f5de49bee46983b254b97c8447ebcf2032dfec15597df64ec10b5759f940e934f11efbe93629aaf7db3fac292dd37311c030da130e7b9a8a52222411c8860339a89ec810f5a6715e644306cd27061f84613039e8e3d139cdd3548b14671de8348fd7287c0f8337e374ef7a6df0152d892067f03b445845cc49e19542f53c749e0fdd4098d75c9708eeeb2274acdb9eefdac3df60392fe541f801b32befdfd0f0f1cb23d6b6208801f871aea91fdab030c1c7f51f903caeb1ac365f8d2a0629a0e603b456164709fed9adaf065f1f3ebd64c0c00fd7903654f1931d35955613968c8330135166aaebb357f41fff90308bd770333e54e0a037d6246b9854c06a655b3f1a4b5ae16f0f17e7e4177d757da08d4c3264fd1ef0103cb6518ae3dd7ea1910d8aed94f5028bfa67f42079076c5d28c0ebf126f603c8a03a9ad211a6aaf06d8cd9c91c0bdb25c8fba6b8d01b2733ae1944fc602091e2e9503168fb8d879d0876dbc56558179fc87b5d9bc0d56aed4f913f5800e5a77f38e330300469a02fc52679f1d2a57e5a6ce0ae2b2d9890c4bff72eedc9fc9a67b04264903ae24459c51fb250bd6d30aca2abe7855b21ed8db267b3077add4008345734ffd035b9e492a2dccbe6e853805eba913706acc2e7529cb6786c9979f9cbc7a03e01c03a69c9276bfc721b161ef86b05e079c69aca4e6a0b629ec3fcdc423bc78a8795203b3aa674ca116b805d1190e2ab8137be5b9508027d5b7f589a6fbb763a2579c5e03a425c502afaa560bf71f9e959e0f6b4dfe99559b459d99a19c98cd36c585312d03f8320725683db345edc8d7fe9e4735798f053bee2e98d95a9229d8a8e2937fb203257b05280654ca4bc7e6fd1eb375b80a32d3d64bad35f4e9635537472299732203e822efb0de24d19fd51fbff4203334c33ec2e31457bb16e60f821cb8577e20ab036a89424c48870a59b0df5f28a58760f5a67c09c8cecb7f9a2cd8e550965f51df00581f03ea2ff023a4220f490e402524d923f4677d1e7f708834ea081e64c18b8af058200d4504fb77438730a2d7070ee0b5c93e4a0f2ffa1264c70c68369c0abd5e826000581e02871a661a19298a738bd9fc493376382d996317e79f1de4b1efa77c65f35820399606ec1e9065f8553cda08aab02e74c156e364df109b4f08b6ba21f46698dc00581e02b29b3dc1016c4ef7eab6c81df36cc2eafc7dbaf333120d6acf66523c4e5820fd76c2749953153bb90e934e30a26b9d9565094644ee43467b474e559951371c0219a00000581f033ca74e645026a744229aa6090d565756534bc1b665efbae4a72c6b70b19058201cfa9a11097ee935f8db85524ef64c02331dc68158be10366542bf9fdd490efa00581f033d63227e65a4db0ab3650fb3af168f61f6e453791cca5f40e92bb4558460582029112e89cc19106b72c8668a3e171a45ce4fef770abfe4dbdb2fc37fdcdc2b5f03fda0fc244f46397ccd3c4031b6eadd9391dc84b6c9c3e0a442aa7bf88a03f69a00581f03ba54aa1a864464a75147a06324f54eab231ae21aadca262173f6b8049e60582054998965a2b065ab54590ae3c3d3ec89db0967a97d64da207734ea57342fb13a02196226033df7de121a6e9cd037cdf333d9839bfe55d1ed36a4ccc8aec7732cbced115b210378342c2323aec135eddef95d7fd462870ecdd36273380122ae8c2944942db94803a956fc28397a121f3c75819866285c00d275689885a2c8d8713013a452ac214903d5663898c5f48c73bab90624442ad74fb9f5f0fa225d216e48778d0c2e9e9e4803944b250670caff45b14189b9c06f99e19db334f4a8b5cdda57365ccb211ebff803a605b758b3ccff79e64b3e8446aabd7dd8db0c3bb1d8b081309906e5de173b4b03400ddcc9eaecaab27a2ca7d54f33fa9785d3c9a768e269b2223f35116f70b8030219ffff033ea3d7152f0981b810f77907059e72607a7d09dd1d2b89a7d44687e1a852790a03d0b52f2ed8e9bc1f9fdf31ae587e2e6b90c80ac3ad58f60935b0ef4710f7dbe203a34d949141c5f8490f150d2056b2ff9060e27761530f3eebed02d72d847983b8033451e01fbf1f0222b18b9fc19e9d1de202270c6029a9bddc2a139f8763592ea303006633219f73f7600324589558463a3c9ee2f4a169ae541a97a5578172b01f310219ffff03e0615347aca5d4147872ee2b60c53fffd374c0d3d0a6bb1d2759e17ffff0cc52037b07042fb3ed619c59ca98ddc89d1d854526488b69bb217c8e353f2e7c70d01103805ee899371ff769cb235e320bf9ac3952099e9c217d70adec840d5d7505dd6203a77fc2647dd1d00cf16887e987f9ef1fceb96feb3bf853d4a8de84de3b1c47c703f7dcec9fda1d8765977539b6564d21c4a22468530bfb41581fffbc4b57ba616203b7a33ed13846b2ee1c917fa678582038ff039d0b2070cd266401a37c99164ca403b22156b98b2595fcc39cecffbf9877b83051efd6f0f66dd857b24b8d549cb55d0394dbeec35300b6f48886b7d105ccabd218026720f355ef175280421b941c4a46039a4284c55803b1046ab498484441b44a379a10bef44226a4390b9c7d9f005e330219ffff035c3f95e2f691089ea82571ef1a65b3ccc8dd1fb7be6ff65948176748565fb57303e0de91fe15f24dc92dacc6941e1a78ecff4d9152583fb71bb8a389e629f12d0603911a022851e36378053740288d9ad296b778b89ef229daa6f0f9bf96f305536003c4477e79ca9587a5256d8c889d024a5482c4674cc2a36be57500f43942c4a7f103630751fcfea1f1883309a151c024499ab8a9b7ab490b1bf224024e48089652630345f5b0f40f925db1555f75c8edd4ba56ce129d60506a912810a862987f51a15c03fada9ff5e722c79fe66a7ea0df299a5e337b30dc8029109a3787bf7ca10450f903a8eea48b2400dc45bf086686983d734d10ae76792b3e6c268f52f78cceca2cc50364f0a08fe4d841f49263ddf57fb2b402300eae6f071d9669ac90cf9e2552b51903c645c86f557888f08f0d76341ef722c29ac57f822efe0c6cbeba4ec1ebc04a2103b9d1e23437639f1b71f772adbccbcdfaeeb93679b27a5f7858edbed1d869cf9d03711b39fde67afc8e204506e57e53cf59feea822400ebb4a5c9e28e6f355151a003c1441bac5849971e917642e8fd3414450dbb6373c4b27cf9f40fc7414e6ff84703e1b3b47a1eea5d9246b6edec23442ee028dbf55d533ab6ba5f7f38f2844a92260332c25e0b3cd2fbaa7a5833e37e430a698cf0958a2f2bacdade6d3ed4bede96d8030d541ab519136610c1e86b37ca978248f5be7afadd77929a27f201adf57f174303e99d28aff42eab3b7e87b93ad0493f64386147137ebff037628c2cda0b6991e1032251d8f435524d02262edf2a8aed43a94d57ae8b5944b0b51dcddb3691329da700581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054aa6d0f2490ac3957b97e11afec6f0f250593cac800581f037b98eda070a65193faa056b4ae2aab3e19145201a590803b17aca532084058204b28548c403eb51468b8b653953b35d0d5ba387134039cc8ba9d473d50274c6800581f036d4dd66a9d773eb49d46dd2123c7d428deffb35cd86415fc0da4981f95905820b2b87249c07d897cf2193aa2341115c36311127e1b1af4bb9c99639e6f2418f700581f03d3085e5fbe9feea16584b41b8a91013594a6cf5857c3b886f75b7517727058208bb021f6848188bdf36e351d145755d40b46650b31afdd6e0019bba128d4430400581f036af1be698ac0ed52aa6ac46b45f5b8b90c30af0e8146b031ba497e4ba8305820f92b36f27a350d96c8486313f7e44f83da496cd7754e5c29f9e4c7fe305d30ac00581f03c1b1265e04b8c04b2f87a3a644a5aebf3d71b756bbcd334964e6970bcf7058206a5d72c08006d47e254e00fc13b5aafa0502844f229459f3e57cca93359410fc00581f0390e25ad797c5129f88d53a80bdcd78b96019925801c28198a718edc67220582020f255682f4378821d3d3a22df08775cd59fecb73c16f4061d4f2bfe5d7cb8aa0219395103711b5a24ae377c09ee4264a3cf7e68d9f79758c37589d7fb747dc548de54b63f0376ecc8ff7f8ce67a14d5df6d1c41f43b7fe5f4a1d36a5b273e4ddbdd3e0659f503d5abc795f63a3337897caa90d771450b972c19737eb5edf35b860466224536d803a896bb3f4dc4750a66fe1cc127dd65d4f37c57eb3eb802868a5a5c8fc09385f903273460f1d086843b1d0e8e6fffcc3a68cf214bb613649cf8e729a1d9da25e8b203c40726933745401352930923715119a7d320f5024b17eba3e3e4f9f8a103c4ca0351cd5d2f3e7bad2b8a0f92d08e0c4f722572b3e4155c7ae38d04fd0c84db13aa03817bcbfd6c0e5d4060348581020780500eb3596072a5aba739322ea85e4055fc035da521eaca610b5da003233bc8a32ca074cb92fbe268f1e930fef2b640c0932c031a3841bef168ffd7d5e7b94fc9f109e8466d20700b2faf1ffaa9fc05eb9cc22503d454cb955be599822b53a1fbc3ccac01002ebb827963f5d12deef6f5765f567103752e51aeae0fd6380bda58169890c7ae8759e25625c0a5933b50dcba802640a3031088b7faa25b9c441ba2f95c36eb29e6624bc0649fa0456545d9d084daece4c30219ffff0327d845a0ed7168e834d5d7c560a605cf5a91c8c7f37db343d555250fe3ceecc703c96779a5894f5beddd0ac65bbce48260fbb46a390861ca94260b16fe83eb29e203f3131aed05a6c0beda32bcdf753850f21d5288bbe52c1ddfbcbb471725975e47038f9adc5053a2a6118adc9c79835ab9e417a77603271792a1dcca63e2fbc06d3d0219ffff03d326553d6d003bcbe7cf04da2ce101b9f92310441bcc5f9b279f7049ea6f1495033a50c7472fc5d690c09eb42d70cd8b49d64d18aead86c4e001a53a6dd3da43f4031510e1597eab7a2c0a1ccd2a9f61f962601feb41135a94eb8cfd101749c3a3b0033a179a91f0e99d47e8bf9a88efbfc15bee9e9111efb6507d0dad9b1efd9f60060339c1fdad83711ca4466635faf00fb54a3c25f18733935719d4a5adc29414a47403b5357e19c3eb4b2de4c331d8023deaf1a50d0d4c61182ad5132c845b8f6962f103ef3fcb441af2af06a08259528e56434a4ddccbf9b080340a19835d8d1e7d3ee803b4972f23fdc015c0c507b1dabbbe9513cbb0a527e3e91ed8c16468be753b653903d41ca58bdb84dabc6059bd8955ae1b1010a11f47d08f48c7672d4be003384a860350a91d5347f4da8f5c188117d5c357f75a40843285b53d58638c4bf8252305d50219ffff035ae82e869f87fb56995843b32143f202bf1306cfe6fb7f44770022f449518a7803e76cc151eec42bf30c9f665d530d236bd434b26897936b2a76bc67bf231565540335b4ed4e1e5b26e68f22841ae208b0861ea91ef657c916644cf77371a9e2f0f9033916113deaf7b7e989f64bef84ec999c8aa1a93f64522ffd349e5eb74899a24e0366dfe51431f88a7632f30f17b6790228a553ee326348c89168d0355345d7b2f10318303c14a0df8be44231acc11ab08da14906e5bfc3aa0605d41792ad7763694e0339b6492d44b69b40b7281844066334e8d1f36c1f8e22915f8721cff8b5d40029033b987bf74028457eac2670e9543e4cb23a48897ed55081a9ac625c4843fea1e903ab647af958424fde8ad3bc43fe958437046c37a99d8567b6f19206d602f6115803f8f9d379d6474e5dd3bb76a2f2eccedc3e0b5495445d2d1af3d12d9a64bd894c03fe83de57bfede3ec10196417dce0a567a10c93041f800738763d902a725c4ce603f7a74fc7e85dc5be83af122e040e7ada747d0fe386506f93e62cd578b56cfabf039c3e32b99d9bdc29cd6684ec0653998aa92d60b125686a7bdee19749e505c35d0341b86cdc4d89e2678da137b6d8483da9dc1a21aada3bc9d5f738624473271423036da500094e113ac891d0a16312dc7e0ed7645048fc2b676ea127bff6c5aa3bac030e925b30715139cabae1abb6590ae3ad741e1814f11e3cde6b9e6f34122aeb53039335a4d63b308b244b15fd7ab67747b427ec1dc380cbb5caa4372af1fa75138b038328d8f394dc0985fbb48b711019bbc16b7fe3a6225093a7877bb6326c4e8d2f0337f882d0a7c450579acc62a5cf0c896cc28041645f3e2a9ac786351bc7e1657303cae9571a8f668e1ff779b603b51688e33b56569055bb099136ce22d69e3ef52803641690dfb07a030cfa23d89f00289075ac89b7a1c95b84b6967ca75210fac22e033f46e1e0157bbee209cf18d2e7e147c380b346916a5d6b3a2a78ddb0cbde5a19034f38904dd9d29e351e98c3ee68396d3e9d5d4166334a20e61d13c758a1f78c8e038a946b8d39ea0ca9f12667a816fb66bffc49622372dde01d1aea84ada6b74e5503ddf12e02895e965b445bfe3d66ce9868a27233e66016cbd058476aca38e5245503afc460c9b5f76d9599444d591dfafa37b7fb0fb106c89527ca2c1819f8a3112a03fc5774e6688ad27c2561f648375bd67dce6a151a8b64f2a5434f3ff4d96ebcb703887486422f8b3fbd928979e5b659012daa6e057042894e4fe52d8969f202fece03060009b63ba7eb8e3b692d454761fb195fae735c8533e027eca86cc0e15a644d035044ad4dbf7d32e44b5fddfaa108137c688dd7223fbcc0a765ddec8df34722a103c5de5a302081eb4b7533d6aa3430abbd0c379569194b44a7b41f5b7a52c1daab0398b1d51515553c09e40d262c9e4e5fb2755f2db7f30a0b4a7122e75c41cf34b703050a3546080eb1cde96d862d8559eb9ea5f2a802e77ce9c51dda674b64b134eb03cb6534fd09acea207b0eafbe82b62a12718b22df542d8d1632a2ca99fb46572b03b494a4148ca09a8685c215cd9f139478149aeb9946ba21622ab054df5dfdef5e03e9cb2cccb55caf6826b2ce7494c7c37cb39d52d33859e23e812a515b6c07bcb3038f4a1ee808a4111d95f7e158cb5c9fb1f60e5a4dee5f06a5e8736c41452b0f0703600006de5508b280d8b2ef929bd4c2b48f30f1c7bc918a1c19198ac323fdcfde033a44f3f18b87ebeddbed0c3820c8e168f09f64d10dc3d63e0258e5802544fe1c03cc3d8ced82b70daf84b20678c3ba91aa2ed55c916ff3f6f618a326737089718900581f0318a47338f48018fd84743ed3e63fa7af81be2560ca06a86dda82f713e4105820205a0baf879cbc76362d49aec2cad604f45a9febaeb5304792e7df70c84ce3ec03248895abb4d35d3fadbede4925bcf70a21c694f778bcf92305d2d8fba8de732b0219e0000369e07b8f5999240bebf0a8debcaec2f1e667ffa7e05565f435fa8583f088750303bf40329e6080db8ebd651a7014aa05b0d41bd115894cea5d551a807d29d89e7703c79b954e10708af8bc988b100a9cd13fad9b0a7f222e58f70afc31b80d24a02503542a563df4fe84e36012f45562a6ba1eea36dd9de3f56c526ecba23479cd238d03b36a511ba598dfdaf247e6217882c2161af4f82c8ad401c4f3d28ff4d5e2620203a761da3ad16065fb209561559c1e49bb07306db85f4fd12f12f7d8e7c79814420219ffff0219ffff0219ffff03309c40121ad1e0296e064dbf9a72505617724f885ed4056cd8aa327cdb939d4703346fff1ffab384965e3ba1297d4f21ff3890517b52dcdc621a7d416c807554250362b5eb29142eb6f9415d434f89a00ceef3c549f564513eca5a068ae3a8086a3203a72f8d7361aeb6e4264776320110263aa94901e181ad6d59f2da7670dc1f45c903e52cad79bbcd2ca48a32f5d7d3bdb72676d421aaa77bb7472e04867fdcbd6e6b03ea1b03b68ca94f5d9e05372d92f2bee15d36c7b9acc156e29a7f64d37253228e0391f3fabc256d596ecf629dcf4e4567b46992e58cff969dcff96fa54287eedb5e03d39d10d84a05a478af168bed28edcd0e3e3a9ebe564c69ca2c42d3177a1e9a48030bd866a51fc6dab9853cc9ff23c522aae5d7b651042a613164344946aa1ec7b9037bd123cc74c28d740be035a0c5492a7e77d1a1cf978d2d210e4f0babe74a68ee03d41d0f7c802ed3c14d214bf9dc5240f6071244b03389e8352619bd1b167d779703e9ee3dad63761735c8389fe8e399ded68abf6b6cde779c14e2fd23d61f344ff403843620c4152323834aa570c3c86c1067dfc9420e441b80c243e398ccbc1a3a9203eaf6dd69e66b847caa262b47785de6a6eaf56ec17f0b008b39951cbfa17238be0374b9befa6b399d1b34fb8df7177987c331e874a728ecea3555b9c566181c14e4034a240aa3f6bce0eba4caff240d713fa6e8607467de61637e06c2e2b90801334403cbbf2635ab7b2bc89d613f339cb22c8f9c1f4afbbf856fcb26659ece7ec4fae903fcac594fd07e43be2da5162453930f63d95e37c699be7f9b09b5f928b25e68c903addb1abbf41919763c8c0a41c88dd6cb7132f9b3d3c5c57cf62d3fa5e9c62a660399e48c5a887ea6595c09a6cf7f5e34c19e92d43f74a4cca85b4927cd1dff2e0103529ff6106ce2ed4d5ce6f96f97187e15fdda6829155f2d57bfe6aa59e0e7322503c62d2c8f922f33c7b304e08e289b8e0514dbbbcc1d208ab28110a28b448cd1ae03f6ec206eaebec07a414465021c4800e0d1495b20d4a8a932848187f2df98dd8c038e356a4008c74977e0476907688421f95c831a8c0671871d795219b87b50f89a031b6b1cc5caeb50060d56aea7c4c668fc095f8b2c4d800ed90d8e2e11d4387d8f0347aea4b0e4a857f8f0181435860539733206833d6b7ff623efc7b34ace94810f036c88e8ab695c2e1cb860fc44ed960de2915c67f79da279b064dfbe8d13e8c7f503d03b78c4d4dc7971049ceeb3613ef6d7e0626fc6841043bb218dfe8234e40f3b038cd2437538c89d47c00c0e493f0e93719a1e1f4bf266ddb57ac0e6be510cddd70319792372d0ea10b15bfc4e02320d64f927325f97bfb76cfa72d583bed907060400581f0358c019b110259a2a5be75f943414d48f5e870221924a5da8d5c8ff5643805820211d81932d647a29b03e9480129bf37903fc20d7bb40a42372b03fc75baa033c00581f039071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c04302aca100581f032a8b53381ebe71fd7bbc1e49f60d9fd17ba985d421622852117969f27780582041afba4fcf5d7fac31ddf42fefe67d66593eb2bf8f7a77594120b3f9ed3f9cdc0219880903acab23fb0ba954c62116de02290f5fba0fa43aecea524a0673ea92daa20248d803a8a6828cf603483478ad0eccd7736308b127d98ae709806a11d7db74ba4a1350036cef6fa148082b80f54af2ecbc1c78e0fdfe3c98651071f2fe8213540265a547034d999aeb6339a4c315947c1b7602d5f9900fa33c71fcf616278cf6f4d0a6eef40330f8b95fa28b41ae8f65ff45b768080cd13f966e8b371863bd748bebb8d3d5a9034fab4304af95d43e8e6ae846625e59a727258c8fcb7f1bc72c17e7de2e73a2d603cc7d2634be7bc2830cfc63e18cc1c7a38d49b895dcb156e77bff974852a74b6c03f60d4ce2ab32f4639aaaf7c3ea4ef83783631c3fcc75b2ec3045edbadf1d46d903b83b3dc5f9b84efa4c60b9a34c6c87d1f7e376d3f7ca1aeea43198be784ed82d0336f5f1d3ce931d14208809990e965398f29acd1822543cd4aa8f9f0daa4ad2640219ffff03bbc8531e116c332ebb7c20c54dbf53a493204812cba7044cd2695e4471d87825038b4c6ef50351a3835c5374cda5ae97e44db7abe71992a0bb49f8155be8bb73aa03a2b1e75d60b988cc41be8b6b305639e66374ca6e79317c4a55d004bf58bd647803ee76da7c274229e165144e380980cdfde248f86779b249333731f65dafbd1b19036a540995bb40a4cc4985232e6e6ab36a252aee123116a5cfbf4cb5a01d52b1f403e340e6415055676da799feebd157d373e5576b07a92c26537c1640dd6007a42903d81edc31f699ac0f003ec549b576b05c1fe9278e3b5d5132af48c2dee3e843b60219ffff0219ffff03148dac1c40bfb6550563d3913a5a3e4bb5e428ad18b1590d9cfc3b81a06f2d4803fcfb0db9273b41f2dcc57f1068f54af23317891649a89f37e2f76fa88a92c1cb039563fc374c820b8893b2fb8cd1928d4f0cdc83fc87bbe63f7c3f20c921e03b1c034320d0461c641c27ff27c31372291c236441841e0fa5d5b50c8e4166ced4862903b65115f74d8cec571357df8290d29ddcc73f4d41f793792595630870af34da7203d172661d0948280817511dc082fcb7e0f752cd85f56bcf0f67ff2e2ebf8c5789030b49cf8c2eec9c0d750e57aa408502c15c916d599c45f202db727c472000887203276c95ae32aa8d3fe8b7c0bbc24cf0a2aa148d85876ab1a113d88da45c69e4ef031e891b4a1eb06c261f1100e4abf77e22a8db1e0285f8cbd10233d319d9b7afb803b23aaff562af15edfcc125350e0aedd9d75a379ef733adfdf8eb14ea995bb5d303435ca57d6268ccf73d0e22191cb1f502fb02d0281bc54644fcb44d4011140e9703d34a112fb0202e8de60c6f3e9896cffd304e699eb503d1f84c348cb45990994703ca6628a1f2d5df835d9b8da2caee45995475ff18762498ce2fe8532e52cc75b20337f94c637e7711e6a0dfc77665679309e54b36ea1a78274ee8eb595f051ae9a403e78dfc66d3a8b6adca74f8d53741afbb01b610881ea4fca111c2ed058d69084e0308e1d36418df301426ebb4e8683370e46d20d93614f94b1ca74aa37910a2467c03375fca7d48df3b29f80066a2b119cec748f1a98c0e64018432e552834fc61e74037c6d7fb9d8a8c2ba3caad5e7b1f024ca00c0db53f26172a2815b7091fce1697d0334c6c67fa7bda4a46f51d7adb6682abbbfa5556ec55bad30bf0bf0e5404009f703b13a45fe4c0353d751c7619c4c8023a8b1eaa73c599c9516471f3a844aa695c003e06cf40c2771bb664853cd8b1c2d81da2a639eced626914b600c7ecb4d5610b4031281ba73a4288f5ac26a994633eeee533e13d72a1085e7e3496011032c7ad83103ca7f326b7ee9da4679d9ed9f847d51d0191f4727c53aafaf40758133975641e603e893af52e6b299a0832395e69b23b2a94721e5a42eedc82ecbc904d48e0381c803ffafb335c5bb41becca1e24aa30c5f751f645e6bf0a7a6755ae18bdc86c48107038e68e476f0734c41ff6a505d69edc926b7057db6cac88a6393b835230481f93103868d42e8bba7c5d24229d03c47134e286b5186f1afb0fd6c2bfc9fd80be63e22031ee0bf73ee259a9ce6fccb9c18fc693eed7322ee436a242cebf234e20621651c03852ec896e21b334042e8e3784381ba0aecf88d5e343724a5e573ff54e22da9dd030f597c925bcfc9c8cba6384ed180fa5646f5e49b0ba389c7e659a29803976115031c45b021b28a36a77efdfdbed2399d028f13c1ae73e497e8117901efc75241a101410e0366262892de1b163b650fbd4f7508e82f28585faaad2296d4a800e054d0569bf50375cda1131c0d5ba167d549a9fa7f43f6d69dedf336316ee4e9ec6f88cbe4af6700581f03bdbf2d69ad2668663a14c191b8218180d0eed3a4d2681cefc34e8b1f5b2058202ea914c8a30df25d993caeca8f3d17b4d6126cb7fde4d37612250ede4667f72b00581f035788d7e7177ce19e7cdbd5481ac1e70a9c76da3aeb4e158642a3292c6b4058201ad630a3e24a7bf429521ba2ef0015335682264aa12fd3fee69ddbdfc94415db035d0624407db9a638b4a0f6e8aeedf23eaadd7f35403eccf31570a794cbc39f7100581e02d2efb36a0dba34474d9197ca8e7d7becacc35f0fb1c36244140d4770e7582004225cf58e53d5a34f9114cefccccc9454b8d3ae0918499b7471bbc3a476603100581e021934d7196976054204cb2cbd2cfbe2c901fa0fc16377270ca7d1609e13582065233e5b84855c81237388638047c56b38566d70b9c4116ecff9ee4474e6716102190c0000581f03c1a23f4abb62f35fc4b7c10283c387813df4f0e9d9b93fdc2d65b67de7805820d2d9e5ba454e59ac61770e2e2cd53dd908640d6bcf5f4c084a9c3ac693f381ba00581f0310f01d59f33a494b6cb31d4906a4efc914883754d34b747520e5396bb490582016e086a3047438373358a2590d9cc663702c22ca67436165ccdbea564df45b5600581f03374b1e7c16f455957f77e6ae971496c1e452d11b15b241e1f01b32a933105820368407b9bc596918c2e9c046f0889109d81565879b385544ce72679c66922adf0307e9a2b70e38bbd15eeb84b1521aa801afc6bdae9e6daf80d7a9d670d82f6b1200581f031dda0a12d9dbf71dae4bd6fbef0335d96bd6c6168c4efe0964f1633c51205820076f1742a50e6e372ba9d1d06128f39249bbaafaf06f30df432e1cce6ed7d2820219af4c03f81712a43eea2829e860a21b57f682a11225cb0d2e3fdc3ef10e0610c03ecf070219ffff0382d40713a00cdc011e879932bcb16b7555bff493df6777106684754dcae67a5b0219ffff03876ef2e3ce87331bf8408837661be9476d5ba404ef087897e5adea593999e1140376b50f0f7421db2753286a0aaedd53f31af710c8d22bccd9ecc3a80e8c9d4bec03f7c965b788c96aa2895c28260ac2b64e086da7ece1c842aa2108031c5184b1f103c7273cae927709cfc288fa7579d30d21dc31a8454f9b24e1da704cb5ff8d0d5503f5d655e84a177a053db6b9d2cb91a756b16c13cb8b850b75680e058fc06d8a3a038085ffbd4fb0b9d8e58729177aed518333d3e128ed93a393c5c5f16b0b73ee6203639184703df34c093859c67be7208e6ecd232dd655aa8dd578ddcd3fa19d95500343de58cf9c2664683ab6ecc0890d17cb3d5e4e6f38c489fa9a8d072d45ce19ba035cbcce2af73f406bbe8f546a20784403bc7926fb89f86b9973699a98d6c5c7220340f6bf3a44f58a10ca0344d226f5a685146c3cf13607579c69d0e2d51d232b84039051c952d0b8ac7030ffcd2ec44557fc913bc23b95bb2fbfe2ddbb7b42825c39036714b2ea405a31aec39ee99baa27a7e2adfaa60e6b103ccfd6fce32b38db3847039794a53c3ceee8e5317a8a5847b20c614f72d0b6abae099a6669157f81a3ad850219ffff03833422b6d24acfe413f6d8df402cc1c201fe74eb36321341e1486974320106b40364810cea3c7d9bd62d44f59419ac8a4e51b2ab33e24f190269fd6d2b58270bd3033feece2a26b54468c53c3b4802fda9f16eb04efd53978e736179138f163bf17b03bfab3909a6cfde3e5f7079ffaed984804ef287254144bace633dd88657f7692b03fc1c8c80088fa44c4b96cf4cc680c1e30799e5ec5574ad3d9e113411f773eeae0317ce24c57308bbbe36d8806d9d22f3ec3f2782e8eed9cccc21e025319209e6bc0385a6b00d0dbee0733ca979bd46efb74db7a44da7bccbb18fb9964db64d32bf61032ca38257a81df75471d32be0b195f2dbedac3fc93e4b9e0bdb52fd673d2cbbe7032b990ba220142c86116a85b2403730f7989f821e0e201dfbfeba182c3b1a80fa00581f037cdf29c9a76133cc8343f2801f3199c29d16b2b39a8bc67ce9844a411d4058201cff6d1003521f01ed48ca40a927e0a73fc575e1247b4c6d625b0311ebea1d1d00581f03e672c9b1ebf4f4a48aa94b6b3cb1ffb2c0100b9aba328a9a950317f76850582089071422d21b8dad132a36e6d8fc983c586432d1768d27a7e7568f3495b137be00581f03daa9fdba27a209fdbed5d5d8531cd02324d913a7ca8c7dc72a8d7b619dc0582009b38f8b24f50017a5a71a48252bdbccf535a3ac3bd85809abfd4087fba42f0d00581f033b9c69ea1a4cf67e460133c5825d6d051312c8649d4634be87846b13c800410100581f03674fddeff9c3ba69cf9fdc81ed2201a8755f701a9a542fa094bd23b783605820c1e9ffca4755e5314362f48a0cd77bfac1f165d9c8736ca67401a8b6c3291d1203b9fb3c985e38e5038aec2cd2ca7b4a2dab671204df4bced3b994715d641de96c031904cf7b00064e74065cc1db4a401658c5917f23f75360fc47badd58ee80456100581f035fcdd37e370e732a87c06e02ad6450b29b2c4865a2bd39f9be9eea875ec058200373774826981414bcf546141f4b404cabfe5a69165af0c2b68f5060328e7dde00581f03fd9bcc3e5ea0a52d75c9bc390529c9c6cae0a33f673b6fbe658c746c97f058201d46d0c81d7e011b91a80c57595a898228dce13b3a47fed2ce2e07fc0480ac500219eea20372f7676a5d3fa3ec4c61471be0dfe545ca0006234db3970d81a833fd35bac8d903e24c212559d4cf47641b32db9da4c57f0ed36db10d855e27c5f42a2cd141172803e99ccae93c6719881dd431f84249c59a379f71bda7a41644e810cbc1b4f277110303c088ad3c57e04ffa4c2551b44756198bd5a989f3b0cec1766a08f392216c900335b6ecbe17b4a089e66d246d48a9ed0e82d4fdacc6bcc0b4c48221520d49321703ad0ac758f33b00a78fc69a06daf4b512fd0e03e2d89d414ff02bbeff23e0b31603b0530dceb48c2a4dab505534c1d4acfb0f3613ad043fc78b2e2f4397b67e02e2038f80c242f980ef3f61bf23aa8df507a9835a23d2d76738c3940476d881adb03803affd44c57a6ff2679974fd025a7afdcfb6bb2fcb079227c7fde65479ba5ef1280219ffff032468f70c53e93c9733f969e5d8c2ba6006208444dcc9ba7e48826fda000419fc03bfd66bb23b75b3a4dd1195e0e1e3d6a0cf2d8e118ebc9eccce20d6dadb7b2afe038fcd54dc52668ce7072f4144e5dc6b4695a507476bdc096fff10eb6386c3238d0367fdf155beccfd04ec67984392667c437bb186d50457ffdd8c54ac927932301d03154c04a3e01d75d4d689d37a343ba0b7e317217f72ea043f5e3c9540a07884c3037f8b1d616bbbeaae817197bc6c33341af8c1939137dea4c44369fc9b05bed5ef0324a51804f9e47a45c3935a186380d70215b1ed0a71b1cd6a1a721499c1973d7703e69339fa762f7108c3938269475ef27314ab0f2f517722a2749b0820b1afc8da036ec792475e2d386a59ad108478177f6aadd5788a0ec2e06428325ebd5f81e9ca03c5db6244c87828a7960ac2a7df3d0ea551ce69bf9515f38de4c3ce5f99cda71c03aea0b11c2e32a82ff04b6b79df8163ace5e7c3a41ca078a90848da7a36f85d8803b3d43fb036194f69dc560b756d5d926a5cb5742567d543e0386d25ee8b60973b0358dad9fe6a6be4192048244caf5e574df94b9a32b7cc5429cf358f8e7b0c91ec0345671e8e11be25768d3c67eab06db3057e3e95ea464409b3107623d04d416dc70361b54975534961e7a95fa3e2a3f4c18c49ce5ad8d52e60113babac9d05239e410219ffff03ebe5139b97d9fc26f29223cdbd8bb3d3d30a3a52c8fe2c0f2257e8644e02a5b703895654d5cdc36b2bdfa91052615b6a4d16762d0c89850728f0c0d2778dfeb49e03affcac66129e01350199b18b764c91ad301a671871be7212095978af13f9b0c903b10fc468aae29b3e63a3a8952b0d0b134c6f34ede9eae2acb2308ba5ed68957c03d813651c89f484c5f14bfbf45dd568ea6486a675251bd455cda49b6a1d3135c103e039ecdee1bf27f9d39cd01b8deb7d7b7551e26224fbe5f970bf7ecab23ab09a0316a00735c2dee799f732506e21c6716ff5aaa35b95086088abaab0dce9e8eb1a03a529467b0254bbb6f209323a04f4426a18514602e672b8388a1cf7a38eef7fb903edc774c9b0a8097587b05c5212a23aa50de46e9cc3723c46d9e25149b20af24a0304812741cbfc43665392fd3ad6b3591674bff2dd83f4e30eb397a1eeb2a453d803de9cda9ca49a0dffdc617437a185db5e14a225f1697db1735e37cddb54dcdc8a0398a4e1f7dbe26f295aed018e0560e02f8e735f55d5c26c78e2907d061d37a24d0219ffff0219ffff05581d02c617f9ef14c016a3256ef95f180174f20035b534c14263666d9fee8e070119089e0219100105581e036a31d088bbae9c85cbe222e3262794380411cd4ae54e1433cfbc133ba00c03464a8b6e323e000219dbf703286325e3e3d2cf9ccbe788038218aec67d093c0ec02ebe05e498393386761e2d03b2e4164d191416d935c1eed7756ce5d77383b11b9f594769890db51ca0987366036c638842c8791ea3ab9aad56e93fa5a924c5b5ca1100ce0e87519e2c9e3eedce03ef9efe68d288e0a1873cd4a93d60e4112c6e8df4a03f54f24d718f192111ea3b0219ffff0329740fe14898031d7b799ce3e9e04e25fff7c8ec673a21833a06176adba054a00219ffff032927aa71a160ae0ce2db0c8ac607698bb95a2552757cc835a4d449e517c0770e03097921fa3e261f66577e24e6fe163f4857e28891f365e9c61938bd01e027b926034c5d09e824f9c1d08f393ecb3e4f84de4354f5b701619b36b720b2375de2213203eb4b0632d9cd9bad120cc58502748fb82ab5ef9092c6852b78ca3def9836a0610304c0795db50c3b2d29cf3963a11bb6d7ed0da1fd4072dc1b4cf6acd3cb95bb3f0308b8010d4c433fc25c032566fb392213444c96353cfb251c1cfc089f30b62e5f03321b9caaeb5e59b830c9d2570d994ee0812c31de2048d775ef8c25014610851e03018a13371cf1805c1edf3c483395535e6b3114d0a816e6c96b0878b3cbfade8c03d91d2f8d13a58354b02c038fb66d8e45a836afa4aa9eef17a7aa43a1f263dfb00219ffff03e4d1e874d9c00f6ad7bbda05fa84685054738f563ef496aed9093832ddb3bb6703cdf82e88a156572f7bc5a3cd4d38a0341fbc5d951539f3dd0b5df6f57b3c3ccd03a0364755e7152c8157c1d219531448551ecd85e3a49e39112de54d4ee765c0c703ddcbdabda11bc6fbd628081cbecdfce45dd7ab2a7675e495df6047271dd626f503a464a797ce1d2592113031a12402bc1fc56d17fb4c83a43b5a62175b134fb0e803e4caa8d399dfc08d81011a47369a590090d7f159818d6d37f4779e0ea51e851d038b68709c8868479aeb2889d35d97864a96fba711bd70640b5b385645eb91bc0c03b832625cd3e7db684afa095b0f418806819cfb731bc4b0789fa3e9879927955d03d099c8da8b5dd1ac8536d8c0e2555f1b635a79525696a890ebd7ce45931d630203174a448e84c77125f920e514f9c2b5056eef6c064538e40435de230ec27c402203c1b3f702bd9683fa50c959a68e01bd55a5d84172b456a3ae72aabd46439b6b8c037cd768f78cc96aa441af329a243a468f793e1c8d302f063da2ff6c7f620656b4033c304836fd49f35faa59114a897c80709a8b58628eaeaa068e41f921e92d12ae032d41a439825f080936ab52a00a085d5db4caa99cfa1d80e5ff6850ca154752f2031e6fdb9eafc40cc3b43a6605c70b257e43174f94ecf08f7baa103092e4ff1eb40308a017e9173d6a07113bc5861fcade68bc70c22f6983cb61017bd4b6ba717e11033cf3284cb46260c8fdc92f8dd577f4917a7129bbb12fa66ccff6ff57518d8b9f05581e0340f10f6365d9da1045c0c18785a912ea028a0c4e45658fc426fa7a16b00c01471712c79ca20200035a16d9afed90e4cf8c48d6e0313b95f4e67fdb67a7176c17d800972ac77d1f570315d6aeb9d8a5ce6bf105ae34224cd9a39b7b4ba059916587d4afa8b8478013bd05581e0324f4275f0bb9277e57ae423502a5f624de7ee2305dc47d5b435cf745700847028ed6103d000005581e03262e1c688de33ea7d4a769a317267f6846cacf0e43fd97420683da1de008480109e38c2be9e80005581d03cfe5c04c70bbf7dc6813bc48235bf7d3b24c62fc661e2b1da851af700c182148056a3c2a08af0d3005581d031180e24365860604f3be54c73633a302612812ac8059f31fcb96daf00c064702993369171eb00219400205581d02dad38eddcfe4b85a41693150fcb6fca30607d698e69d9d14faf1ef2604010218410327b8d8aa69581a00108901c795bc2b61b5cc9e92110df2c4688ed31fdd9f7318032e425878bade763865317057523be6bf879379fa2945a5d9a09b49ffc32e099b05581e0337c4ecb00541211f8969c4da28093b000cff2b7301980a0f4cf2a639c00c014731b534bd63b2d103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e036de483442586c398d9313026022a8cd50953701d1c87feac0c4bd63ca007011bffffffffffffffff0219cbab037dcbfe01b394cffbcabb09cd05a5174a3160584b50ba0ed18a469b339bc5fb1a03ab3721493d0fbf04999b97fa571f70f65627a6f08023ed8dd8901c3aa80b340d03faef1db4ae00ed91ebef9ab605d074b9aa20e140add566ee33afd3f49cf6754603c3f034299c976a941b4c9ae66fe5bf1bef31c25ddf2639db557c2dd1d9a0092203b641f61e8f334b8de7148dd104806c22bb0e086061e06ea9d5a07746fd18ddb503752202776d60bcc246ca9d52bbdcece3ae4e968dd3ecd825ccb381706b90297403a309650353e21285e2314d12eac761c87756f71ce322e70cad8517b5973f70a703cd6897fcc831a2aa982949efd0746aeb1e07a796875d3176abef06ce6815f0d3032b8b01855b627c74ec80af7bc016462d9dd6ca81b4631c28050b25b52305602803dfe94f9da5465fb7a38ee2c5a1e0f566a8d41b2f7c28b9cd06692ea9a256c20d03adef1e8d58f21a68f59446ea5ed0b7a2a7bcecb12032d171b01c8a33d06a696603c6debadb22f7d5d9b14ab463c70b6c5196308fa5acc58ce0cc6f40be0c97c659038a5d241c8f32bb143fa966aa3d8e699c61717f02bd88e16fb584e80848a766640332b1df9c2d7d0debd248b59cac60c2e20a0638e430b0417954cca9417dc8a45a0219ffff03da57cca1df285099a9361e77d5de1caaea767c667e807776381417c9a71e86ca03552773466d5f77b0f9f6ed29ce94d7c327f08c6a648114d16c45c5732953e05003685d91e7e4459bc0f9aadb0c2a396e58fe6d8574410f68d00939488c330ade9203815b360fa04c90f82a44cef2fb686f3c798d7bdacee3f9a06c9e3201e429e081030965efc56dd3f7bebce67bc521246a9b87221c9517fb0d28acc23e725619e85f03786c9fecb116a19ab2a265352c658ac6a8b0f755088b784fb291c9287ee6746d0356bd194e65993b9a9ff023ce3ebb48bd97a4b77400d2a29631152bdf1e513be50360da245b4156182bed0995c7252a2e0cc6818475f110657fb1f00aee05932cbc0309948e0061fb1a3384767392255e53148ce110ed8e9756b08529f67b882a5046037f27971eef1f444b955ab991f1ffd20db5777347aa1c9680dab9d8b5d289c44b030392b56974fb9c17de24e559ceab5c554126c205c8ae444d28299b85f243b9fc03bc600739f76aa4e8d386cd31ea25983992659369a30f45d373a4bbc4d5d5a0fa0219ffff0392fd9f124aad7915eab01cbd805e3d4a6b713ea36b71480453772f7649bc24bd03738bc3286103e1b80b16340dac3c67513c1d3b789dc6b2eca5561a0a4c61baa30219ffff033cadd383fe76b4535476d1bd1da691c481ed06c4b5f5f963898598bf541851b003eb7b0b8d1cecf180ba825a4482eb3ceb375e41fe6569e6177c98d7f7bec5421d0311db2b5e4bb0d10942bcd8ae325ef56494c4eb545076a0d9164566cd2c0d9715039914aa31dcf4a80915d48c106880832b5c8b152e799e156225a0c658728d29e903e78e362d10ab2ced0784a9692398578ea9516d4cd5686c37d3a7ef7c56db47a303dd6ddfdd9b95953f2c93c4b8b8135990d7650443aaade9f3e7ed62212270e08b039158d5c88f2d6cd094aa46b2d8e5eadb32f4c43cc6e0af5d803546e2b8b15817038bf74213c49b2708c19b12d00c01c5351f08cd86bdf18935d05a6a1021c072160370d4b683ffc22972373e953af7ba181ddb814763bf91d6fff3b32b97f1375f980357e3860120fdc0b824d75729349baaea36fe0834fa79a037c960fc7621bc7284033b8a7587d31a15aaff57d90d3d8ce97092f0fdc6dbae78fb0330b57f59afd6600373b40e126f1c13bba31a674919d5e9ae89e6c57c6b7a7b31f76aab85f3a2a23a03e0d92b934fd01f9be32b14bd8e2877c4f580951cd0f74bec3a601575200f4a1603468709dffb1761cc866659295a880ea8ce86cb8e2571fbc1e6c60fbef934c02303293c52902cd761458272e46baf4091789f7768e082e55def9589af89a4fadd1803378be46c2b12ee77cf3da0e9266476cf08eb933614aa6ffb640ad6ca327c1295032f74c35305da4af56b2b9b15b14c751f59bd34c5fa5dd5fdd66ed1e85edf54ef036525b4749abda43ad3ca2e914c419b8a67ce4bf1f4c2d2339b7e2beb6aac3bf403bb371922fe7d902ad108aab7eacb4a53accc40ab765887a257cb368c75e0af3103dc1698344d43a078f8c7cf608bc43bece4b14bdefdab26720d9be2c8695c34e703cf6f5ead294971b21efba5ec0a3ba83dd75c95ecdc723b01f288731957b0597e0381b6000b8a2925365cc6abdfaba917d069535ce88e640c6c763e4fdcf9adf92103fc426ee6e4d549dfa3e2779ef8b6808b857685c9dc2362a48427d3d83a8d0ebd031f486feb2b5d1cfe2151888a81d79c11021ea66e5397a71aa473cb6827e6a83d0306da81e411df3ae9d46a6a2f1cdf1e2b543c9610ec1277c8a6a8b90b3be601e003b8a67e002b1009543282a6873957e04511f15e7a04d58856993fcc3ea7df36ba0373783021d46782d27873bce506133d3c65a0fdf484c29bd5401a57171aaf5e04031f13aebb6c0ec6a898fd8dbc0b78113142b390828a2df9b3e4e248fee8274dfc039d3bc7f7fb3547481405bf63815b94733a35ed73364556ce06ab08390c595aa503b3ff44cae05ddb47274c17f12cf61e4d025696474a7185a3c373d8355e7364a103acf7430a0b8bf62413eaab75b9b6b51913756c937a97d5cbf5c5781be31a669803535d9f31e68cf17939c5062509767fa6e3bd3ecc2ba0961d5f851237c95c1b9105581e03b1b7140dbb197082853651d92061cf63c303b1acd46728e8793630cd400c02470231d0daf531e505581e0384d95c8595526a07b0d209da56c4a57806219bac33d696561e080755700c024701bec2fc62fe8f03f2f0a5ac08694f54d4b08e20806f6ac6c88cb5bbe6b95a9ce04063e045cb829903afe24e1c1090fb0bb2767bc0df9a9f031a54033f7506363ef453174f8ebe21ac038f08d9cd2c6589a1841224ed9f305e68ef00da8e66c1a91e9ced36bf9ab6ad5a05581e03ffae820853ac9ace84fa35b19c9d1b1536a0c93bc89344aa5a69e6867007011bffffffffffffffff03c61293550dc8ee9bb8c1d4a8da5e6f935b5b346bb5cb74c53a9c2d231a22f6ea05581e0335110e62e04d264dc4fed769ae3ff4df1b03417e9a80590fe26d5195700c024705002edc461b0105581e03ba8b0a0e5a87d3192df4af87840e26295455ee485895a4376f8370b2d00c02470147de98c1148805581e03760ff0c45616fcb05dc840044f6d9fac63fde0df8adb8d09a898bd50d00c024618261e87300005581e0336a36573829a8662acf38b0361590bb96da31c45b3edd25668dd3bfc70040205581d02af4083cb6c89b82c319d44aeb986481cde9f97dbd7db77e4becac7100c1a0026a47e490719f8060d28ababf705581d022b75f0ab8856e4488839d159d1cb5c39391c25f3592cbd2ce04473470c01480163039f4f747b0002190802021945fd0219ffff0219ffff03408630a8813a1eff97de156ff1d3b33086a0279d3af61d7f7b5253347e54fcdc03d4ff478594f1926889d2facbc44eabe5656a04ca692f9e71af987ae647ea887f0363679a63c637ee4c0ad52f3bc5d374d96ad5e0f138803d9869b2553c6562d01a036432e0cbd4421a0b174ad1739ba86db96784159041306a21b9c2f566e043a19a0358c76fbd659824caccb1d387757483e39529b4d8a209153800875fcce6ecec0503675c2d75d166a043fbaf8e5ab15a098ddf482cc77cdaee46bab93207a20e47a103f6ac5881ab65f2d5f16b3dcf755411814f8e10ff2efe3436a916b239414079170334651fd049fc235809f56a9db2d76a297a26ad9779df299eb6caf72d34b0b8de0379b83299cd6297b5f362927acd646854b7428aed773041e7c041c33e6a6919bc035b3066d75d2b53d9aa44acf4456da6326795d2a8bad997e41d8716a5be0debf60369bb4221cb0463cd8eed4b5038da8d1f866870782dc7068386cc05159cb7f3b10322d3bb75e3152a49c4547d2ff3230efd8f323ed30a6a2d1f0ae609cbc9f5be67034d66200ca73b417ed9f0ca0a876745fe8944b528218e21e3aee7355ef716023d0324d0a0ebc49c7c9c3ce362bdb12be4650a71bdda9a320b1f2294f3395e28066a03bd5867d54fb2aece2ff028436a9eee96bce6d3e4521cdfde62362948c54304ef0219ffff03e466f08d0154508de6ff98947ded718ba3f325821cc2d9676b76ba20a618f6ca0219ffff0330e69984d10da9b4252e57ffeee0cc06edfd86fc7782811184b789b5d4e7df0503fc7f10fb5efc7eec8047d7425001f65d0e711528ca8822eaf197b97161b8fca3037ee73b62af93378a6cbb023d00f6ca76c487eb8acf9b7279406adbbac80c099d0368879d21b35bf39379d21e6c618a7fc8283c4a0b27111cb1e6074760882232d403ef96208d21cd34243190b2a6c3836339b39870914c647bd4c50c5a45bde076cd0382198f7426fb6df870e5bc19b4541b7f44bdc723defb517ab6bede68aad60a4f03438ae894301f649efc6c89e1ad1c80699ff0ce629452db64184b859c6785d2d503de738a3e5d8ddfdac2edcbc22699897accafa9c17ea34313db4c913db05ee8a203e49855d10819674f3949fc6b77fc1fa62c9072a20ef971591d59c45b9e600dcd03e528a93e6bb1096a839c3125116b42cb57ebf8539a03da9029efc102bf0a5d85037be3c402755bbb408e6c1d073c0ba64d7d0fea1892ba7b3374d3fc2881bfba3803bc972187be4bd6826144bae70bfe342a54f47123a04682842bb25e1edbda0a7003f8f4f4fd2b924ff339a8df9fec590cf66fad46eac26faa315f64480bfab9dc180334290996639f70aaa438ab0dfacc8fcba8b0b95f6466f290266204523f44b31d03c2179b910c826fd4776abda025b6a1ecd22573b32c3385736a559ae841ef08c80303ac18abadd7c7694a62717e4cf541b0068acc976bd187c79aa9bc219edd4aef034eea08b1da3259a9da0bf99fcdd08cfc8a81221aa5f626f5772e999ca1b6415903feb56530c94d85a8de0a27b7158a093f4794f15295293592dbb0c880f4c4ea1e0361ed4f2621fdbe2667500a123cacbc477371c616db28486b1f380edcbaad04f8030873e99be46c82255b4a6ecfa27bb101c40a8c5613c71574a4dcbe69e4865741037aed77d0415e32bc2f6d40fede6b2b0cfe91b6e2aadf889347d12bf7761d5a2103c8582a9da71931d6f0852d5ef2b488ab3472ae68155d236cf3fcfab7b63a7f4a0361b2eec1103c3f02ac0fd1a19e0633d851a83caa3a71847cdf5a508afb9c9faf031cf3f4d7f8ab03fa0fbf47b2340d4e397f112e38926bae47a1af94e1dd030ca303aafded724f661b7c32b7cd69eeab8f1629451366392dcd5fea6d5aea2702017f0389872eef3eb379fbb1869a8bdc119f11d4ca2919f619776ee7de1a92675693dd03d26e2a4689eb0979b28b9b089de89efd95665079335c5a228c0ebc488da619db03d1645c68a4e71af867b542a3d70954e4628eba6d79c25b1f642fda95d33690d803094e1b2ec40bfdd43d36728b9c8320a3952c85db770c5e0afc466a6a10fed80503bd845902b08e425d90aba750613869a863fef09774a8191fed69ad19088d232703f7f15c3ca84e33c9d764e424147019a0440fc23ec4bd1c886671df9c7e55b01b0346193e74fbc389e6bc97f2859e9c0687ee005c5e1e97bc5adf5198f22b6059cf038b21993a43ddc6ca54fbeda7064a5a4126b8d1b59fc1df07e6c3bb1da9cdad1303938fc4d699afcdeb7e54bbf271895c108c3d0f1ced8ec70ce16e000121ef39cd031061c10f185b71ef001b2a136bc5966b762281a756f3fdb82b3642b2387e828e05581e030f3f00e58f3f5e9bd77d6aef2e7ab8f8d423a762101aaf710d96162c00040203d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e03dadef85eac3b62ba8cbf7787f77442cd0cef609822bb615d423920aed007011bffffffffffffffff0316a3080a51bb20b0059c456342b334f7152809561b0ba3c3defc534384d1946105581e03e5f2f5b964b8080359cbb760e5c66c0aa73febd3d5d3e64332a93049c00c034701bf5867a831f005581e038ef6bbd978194956d086102016634b368084116ef5bdaed10edccdf6500c09476ca45027d2c44f034107257f70f4256c2790fbee38afcdb06a871d8073e6df683b8187337004652e03041b02ed163846017162d442225471437332f2d52bd6fba69af35ce74ff80c2905581e03c4b355d946fa012fa64329aa041ec568509384377000d559ffd6464b2007011bffffffffffffffff05581d029daf07e6a4db7f3453a21e0797b0f64789a77448a6464ff4fbbbbdaa0c1a0001ab9c4902fbe99efe2ce0d07005581d02bd70847e837a318feb42956389f7a31fb14b5a01f91e33954efc63b404060219080403bbd783c06916d19d2635490c1fc5f3051fdabb22350aa35ccd12fc83bdbe7e3803d74243b084ebb523e7e2cd8b81c88cfb9beab1b24078ae514a4d20670ab0453d021937d2031f8946015076c9ada0c1c885b1509f17a81546b74a1c9ed8d31ee00668d17fd503e69ddf560890854af11ee278cfce68e5a5aca70951100089c1056a4fe6f058da03d1da42c2c3becb9813702e06017d465825956bc1335faef3e254edd17073937b0219ffff03d0397d4a0e8038f904ce7e965e7c2cc50f54c21e993d842f15e9d43d2ca2667f0312a1e64e36c5d49df48f6fefc7b6ee01957ebf3f36157e8ac175cbe2b3e99e2903996321bd4f3304d7f9448e9b8c7d5046b1f99ee498d42811e5c533685b30d85c03378c8da2f4cd987f17552f06263e2c1ba270bf6e6b1778258dd9667a9dc402a403990f6e5b1e90d191e3225327a15927d50b7e7fe9de2ac53451b10f2ca8ce1b76032c6fdd324f47306da20d6ab74467fc372a530c3977712a3d80e43552353ceeb60219ffff0328cc4103c3747d219945dc91b54cbc3d92286233849d0b3c41928d72ff2da7e903c6262ee8f12e8309e833a07f6b3dc1bc1ae57558ff55eb9d501cb5de42a165bd0219ffff034972579d5f059101fe415a36d88bf07fb0575e1c4e0015bae652ff260e9a7e410350e81c57abe38df8f772764827da578b153d03dccd85d94c0ae5891e352bd1a7039faf888b7e33aca74d940b001a0269e27a5e2411817b4aaea75d303e3f544dc1035940154e1eef12b62bae08f578f2bd65b8ea310ac1b43e0f837a2d61c630313a0376bc270525dac98b845133573197ed428483895980c8097e597e4d2efb22254a0343fcfde262620ab32c58c9206e86dcd3d1a2ba0b1be296ab15c3d029f1b17f450360562014c58007524ab83b9cd1ca3b23ccfd30c531f0f59317848507fcd38c3d03c1fc21350de549bb73b9e8234cf2042e897b71ee16a8343d8577927a34b1dab103793f54d31545ab6f0bb58e683ce00c553972e6dda32bbd44ce705d283f8cb63203bc0691d3a6b659b16737b0ca53f0140a1b18306b7b42d9d9c49d4fe65bde160f03890452f48ec9e7593ae7712b092d2958748c5533a93a4f0bbeeb2395404b6cdf03f59dc925da09f7f5f92cb3638c4d47957cf5bb19a916769b438dd71b7f26166f0396190096338fcf09fb83de9d7ba1dfd43cd719fd0240127940a20b7f7c9da29103a83b765955f48777a2a8f7bdcaaf8e89122c302b264bd1016abd498114fc7fe10219ffff032a99f0c281eca9f9cb9eddc12bf5d70a1bce17e72123adb70ac53d51e5363cf603709b909104c1474382d0ea77d0654cfeb8b2977df74e776384d7f7d49a2565760359674ff64ae0a400790e439298d0a42b05471b7dc911bf229c0c9a1345b09ea803bf3421f4313147e8eb95817943c47640f518486a9031ad2d0c06f514b4a11a750361b11542a5aaebb4961e00e85e17f55396b6e610b786058c7db295981ff23d860348e1c9a8ebf11b3f68a81f0911aa9e380bfc70b57f61b2ae7fe8d7dc91b19224038b1c66f1596036d2f3a1a531aa58568326184d6cc49956c43f892ccc5b8ffff003a9f56eb85b05e6423dba4da46c65f7c668ce1d3079333f49f3d6ccb1cafb86600321aa43c0932b900b452f8634f41b4e78185a166c755195827309f9c24801944003efff3b2cc40331bb84b18b46a576bae5b460631dee3ef16e6939e18e93d175a903567653bbd7dfcc023a258713aed5f8e1648b725e27237c608a2df51f3e49ccc3039f593dce53c8d20f63f429b7955c76e2b64667a44a2ccd18979080ce4afd28e50373e811ae865e83a6334a81d998bc78c18f8dec5491a29363ac282203c67420ac03bc9f992a67fdded9e24fffb0abe617b10e947892e4329f6c563288ee912aca52035fe6dcded3e53c8d4df6b9b266860e314b862e7aa3ea62969dd7c2d2567c437c0321a2c2086b07f4c335bbdf6880ede6bffa98e42719bc447117a9334e87b291a003d51ce4c875d01c0776f7251da4444111efc75b019610cfe6bbd192ef273e0d9403b7925fae2dd44d8ce7ef9bdee4ca37a807e5b735a885fa915cf257167498ba8803ddb53d1739418e3efb47ba905b50bfc14fa2203345af7090c76c453eb4eb7dda03f079009e42377edad4859c481a702137301c2bbed3fd16af620629f916e7cbea0374c426be13658c889ce49808f27fdae8997e7160999c8c4e5ff8d32806caa1f10388f68bb6a6f0129e3a30014f8d1339a03649e87e312d3976a6ee7d40aa95309f030595778ff4a48393e5208d885fd6411363f72741c759942da535acae76ad85bd0360da2c56c531be889d0200cf403485a455fa6ed44197774f27a8f2779c08030a03b3e63db63dc47b5724c7d5efb2f1da1940715bb726ff17e783c3ef91bd5440580347d0ba9887f1de6cbd71e89e3e2b9fb00ca9615093414b1682d3bfda14f1b4ad032de0ca8d7f4d651fa69b5ea1930096eeb83e84a30362b9aec576fe8b858ad57803f5c90f39ba8144dfc8f66a7abc135c7ca156755ebce7111a72b45d5978adad69030b9fb748c10cfcb7a0b03726588d168cb4f43c789ff7eeebd3e2fd708bd34e2b036e66c2fa87b4f4617bdbe2b4e7b5545aa643ada1dc0df777439b0b4afa46909b03e76505fad6d3ce858e898f1a2719aacffb6b2b53626acca0ef6f0b43577980a20384f3700aaa8ed43b09842d665a6f14215beaf6afaff36ab732d4f4797ddac0f803d0141bb715c8cce2393ba555521684b24b2e2f81c8c43f92a4e00d08880ac5cb045916f1608060405234801561001057600080fd5b50600436106101a95760003560e01c806342966c68116100f9578063a217fddf11610097578063d539139311610071578063d53913931461035e578063d547741f14610385578063dd62ed3e14610398578063e63ab1e9146103ab57600080fd5b8063a217fddf14610330578063a457c2d714610338578063a9059cbb1461034b57600080fd5b806379cc6790116100d357806379cc6790146102fa5780638456cb591461030d57806391d148541461031557806395d89b411461032857600080fd5b806342966c68146102b35780635c975abb146102c657806370a08231146102d157600080fd5b80632f2ff15d1161016657806336568abe1161014057806336568abe1461027257806339509351146102855780633f4ba83a1461029857806340c10f19146102a057600080fd5b80632f2ff15d14610246578063313ce5671461025b57806332cb6b0c1461026a57600080fd5b806301ffc9a7146101ae57806306fdde03146101d6578063095ea7b3146101eb57806318160ddd146101fe57806323b872dd14610210578063248a9ca314610223575b600080fd5b6101c16101bc3660046112f6565b6103d2565b60405190151581526020015b60405180910390f35b6101de610409565b6040516101cd919061134c565b6101c16101f936600461139b565b61049b565b6003545b6040519081526020016101cd565b6101c161021e3660046113c5565b6104b3565b610202610231366004611401565b60009081526020819052604090206001015490565b61025961025436600461141a565b6104d7565b005b604051600681526020016101cd565b610202610501565b61025961028036600461141a565b61051e565b6101c161029336600461139b565b6105a1565b6102596105c3565b6102596102ae36600461139b565b610669565b6102596102c1366004611401565b610797565b60065460ff166101c1565b6102026102df366004611446565b6001600160a01b031660009081526001602052604090205490565b61025961030836600461139b565b6107a4565b6102596107b9565b6101c161032336600461141a565b61085d565b6101de610886565b610202600081565b6101c161034636600461139b565b610895565b6101c161035936600461139b565b610910565b6102027f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61025961039336600461141a565b61091e565b6102026103a6366004611461565b610943565b6102027f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b60006001600160e01b03198216637965db0b60e01b148061040357506301ffc9a760e01b6001600160e01b03198316145b92915050565b6060600480546104189061148b565b80601f01602080910402602001604051908101604052809291908181526020018280546104449061148b565b80156104915780601f1061046657610100808354040283529160200191610491565b820191906000526020600020905b81548152906001019060200180831161047457829003601f168201915b5050505050905090565b6000336104a981858561096e565b5060019392505050565b6000336104c1858285610a92565b6104cc858585610b0c565b506001949350505050565b6000828152602081905260409020600101546104f281610cc2565b6104fc8383610ccc565b505050565b61050d6006600a6115c0565b61051b9063800000006115cc565b81565b6001600160a01b03811633146105935760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61059d8282610d50565b5050565b6000336104a98185856105b48383610943565b6105be91906115eb565b61096e565b6105ed7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361085d565b61065f5760405162461bcd60e51b815260206004820152603960248201527f45524332305072657365744d696e7465725061757365723a206d75737420686160448201527f76652070617573657220726f6c6520746f20756e706175736500000000000000606482015260840161058a565b610667610db5565b565b6106937f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a63361085d565b6106fe5760405162461bcd60e51b815260206004820152603660248201527f45524332305072657365744d696e7465725061757365723a206d7573742068616044820152751d99481b5a5b9d195c881c9bdb19481d1bc81b5a5b9d60521b606482015260840161058a565b61070a6006600a6115c0565b6107189063800000006115cc565b8161072260035490565b61072c91906115eb565b111561078d5760405162461bcd60e51b815260206004820152602a60248201527f4d696e743a2043616e6e6f74206d696e74206d6f7265207468616e20696e697460448201526969616c20737570706c7960b01b606482015260840161058a565b61059d8282610e07565b6107a13382610ed4565b50565b6107af823383610a92565b61059d8282610ed4565b6107e37f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361085d565b6108555760405162461bcd60e51b815260206004820152603760248201527f45524332305072657365744d696e7465725061757365723a206d75737420686160448201527f76652070617573657220726f6c6520746f207061757365000000000000000000606482015260840161058a565b610667611014565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6060600580546104189061148b565b600033816108a38286610943565b9050838110156109035760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161058a565b6104cc828686840361096e565b6000336104a9818585610b0c565b60008281526020819052604090206001015461093981610cc2565b6104fc8383610d50565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b0383166109d05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161058a565b6001600160a01b038216610a315760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161058a565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610a9e8484610943565b90506000198114610b065781811015610af95760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161058a565b610b06848484840361096e565b50505050565b6001600160a01b038316610b705760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161058a565b6001600160a01b038216610bd25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161058a565b610bdd838383611051565b6001600160a01b03831660009081526001602052604090205481811015610c555760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161058a565b6001600160a01b0380851660008181526001602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cb59086815260200190565b60405180910390a3610b06565b6107a18133611059565b610cd6828261085d565b61059d576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610d0c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610d5a828261085d565b1561059d576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610dbd6110b2565b6006805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b038216610e5d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161058a565b610e6960008383611051565b8060036000828254610e7b91906115eb565b90915550506001600160a01b0382166000818152600160209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b038216610f345760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161058a565b610f4082600083611051565b6001600160a01b03821660009081526001602052604090205481811015610fb45760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161058a565b6001600160a01b03831660008181526001602090815260408083208686039055600380548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b61101c6110fb565b6006805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610dea3390565b6104fc6110fb565b611063828261085d565b61059d5761107081611141565b61107b836020611153565b60405160200161108c929190611603565b60408051601f198184030181529082905262461bcd60e51b825261058a9160040161134c565b60065460ff166106675760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161058a565b60065460ff16156106675760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161058a565b60606104036001600160a01b03831660145b606060006111628360026115cc565b61116d9060026115eb565b67ffffffffffffffff81111561118557611185611678565b6040519080825280601f01601f1916602001820160405280156111af576020820181803683370190505b509050600360fc1b816000815181106111ca576111ca61168e565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106111f9576111f961168e565b60200101906001600160f81b031916908160001a905350600061121d8460026115cc565b6112289060016115eb565b90505b60018111156112a0576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061125c5761125c61168e565b1a60f81b8282815181106112725761127261168e565b60200101906001600160f81b031916908160001a90535060049490941c93611299816116a4565b905061122b565b5083156112ef5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161058a565b9392505050565b60006020828403121561130857600080fd5b81356001600160e01b0319811681146112ef57600080fd5b60005b8381101561133b578181015183820152602001611323565b83811115610b065750506000910152565b602081526000825180602084015261136b816040850160208701611320565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461139657600080fd5b919050565b600080604083850312156113ae57600080fd5b6113b78361137f565b946020939093013593505050565b6000806000606084860312156113da57600080fd5b6113e38461137f565b92506113f16020850161137f565b9150604084013590509250925092565b60006020828403121561141357600080fd5b5035919050565b6000806040838503121561142d57600080fd5b8235915061143d6020840161137f565b90509250929050565b60006020828403121561145857600080fd5b6112ef8261137f565b6000806040838503121561147457600080fd5b61147d8361137f565b915061143d6020840161137f565b600181811c9082168061149f57607f821691505b602082108114156114c057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156115175781600019048211156114fd576114fd6114c6565b8085161561150a57918102915b93841c93908002906114e1565b509250929050565b60008261152e57506001610403565b8161153b57506000610403565b8160018114611551576002811461155b57611577565b6001915050610403565b60ff84111561156c5761156c6114c6565b50506001821b610403565b5060208310610133831016604e8410600b841016171561159a575081810a610403565b6115a483836114dc565b80600019048211156115b8576115b86114c6565b029392505050565b60006112ef838361151f565b60008160001904831182151516156115e6576115e66114c6565b500290565b600082198211156115fe576115fe6114c6565b500190565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161163b816017850160208801611320565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161166c816028840160208801611320565b01602801949350505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000816116b3576116b36114c6565b50600019019056fea264697066735822122002e28a8b9f901c0884c0fcc3d2ac81da5007c51cd172206d3657de1b93fe248264736f6c63430008090033032ca1e45e230f499e2dd66656abc49efd326fc2ae07d6813cf49c40ab2693d297033359e77abb422abb61e91d4468cf3f1f4f4d559c293d83686832d34126247ee203ac987d938015d3d6e53ae3b25cfa93404be63b6f36f92e832f8e870f48ff8a8f038c6e7e22068e9bf729239e0a7496a0b500edda4b7dbe5148dce6b1c1b54b3e36037a2b57fbc6990486be73642424c2062efafc4f7fa5b4ba28bb057a565d549074034310d84402c8df627d59b52c373548a3295ca970d8fa24a0c714741cbd79cd4403739b16d3e2572252bd8c8fc576b165895f96646e1e9f949bebbcd78ce29e93ca03f077dc3f9093b902ace95e0c9cec844fc3fe284882d51f669d39dcaafa05a20c03b2796e20032570baaa3466834abd2d863e71055dd8aa625d0302000f48ed2d1b03ebf06057d8c2011ab32d2d8ce786971eb50a45de1d9ac200a2d3f3040af7b66a03726904f98d14773c65c82d75a8495b763373dfd2badd1984a21108ba276f32870337e5027b1067e243f013da5fbe0e15a5bc226728076a107316cc3bf1055a777d0374354bf6dbf4946294303c5a70827c89d371871a931bf3e720b48d5d38f851d5039cb52dde4807cc879405d178c2ae29edaad4818f44e5f3346a189e5544e048550333b675d04a12afd051b2cbe065eafaf1221e34ca01da853fab33aa5fe71a76b6031c8546c1f068ed1bb80914e157d75a9af141b06d09e6d1027ad3ff0c59f2e63403a9989168e442018712b0383f777ce1f1fa2ea81d9338289ccd43c5bffd846f1703423228a413bc370848ab36fb92db480b02c6391ec81708044405505e90e1f904039a8f1a43b4f0c8b86c84b873f307aab702e479976a4cc98c0d7de89f1697e6930058200326e6d117c554970d3f998b8ac6f4671aa2ce35e01ab05f2c78fc74b29ca3c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200379db8c88c9ef286dccd8966f9a2b734793b640b88be7840d43e484b85c1800440b2118ee03883a4f76e42965155a9fd897424f87e2956c10cd312dfc83f53462ffab24560200581f020e0afd4713eabaaa90e25c9d47fb4fb958c56173334a6ec3185459edc193460aec7970fb4b00581f0255e8526618557860e06e5a4c56a5d9d0a0576cbbe8d68796790a027d10e344277c1d53021901020058200370b02b1e7a0c2179492ea30164db719efb41abec1b5b2dd6f1f3ed9bb117c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ea6e39713974c549c8f6a894f3676fe2b8e4e474a4de0305c724e982d2d3a0447a120000005820030049dbdcdb5bf1ea1805056103e1bf06fa4ccf44f2fe955d62b265c1624af0441c06364400582003fbba848162966b01a03563581337bfff496c1b46955784067056a828f633104502fabb6c9c03f0116dca4718eed668a81cfa56bd1312db8e9e17569a10e874f72f48af3fb66600582003fe47bf9651ec63b52b0499d7b7b142898470bd96d7e83ffbd9c49fc87059f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d50794ed0e03f6c8e11930d538d9f5a14250640c8e1c3aa5a1e2b70eb65cb3020141010219fbee0301b393b91c403466b82ff5f0e6f1e6e48a751551db20fb0d4bc4228b5e40134003322dae945b98239e520a8edfdbc7c70dcab05c11ce5af8cbf02712feb55bd151038aec7c708defb746d98a96b9d058b0765b48b406ca1299d1d208265b9515113e0309acc76555a5ddaf65073ff377d5bcf4b5dd68c517a2b2c2aeca7a7aa823b4300219ffff0308d7d24c298d6ac15b707d45d3b407ee8f927cec6bbfda92ccd8e9b1a57522b203cc6ed9b76e806023e43933f4cc42b86b54da85b67e94ccf5d88195d6012c816d03b5f1534a5fe5c7fc1bc97757383100b86a1609493727bb14ba2a2ea57c5769be03dcd334fbc9654211e579a73fc7a7b936a8d8a7a50f572af28fcd0398b564231b03c8446741946181607386375510f3e5a5ce2fad104d8a199031d0c6f3effb8db803bbcb3559a6286c9596a56863e19a0ecf91e850cc66f7bf0e7cc1f4a81425a8a403becc98cdb7701f37963dfae904f0883d97b0bcda2e23e50eeaca4688c4b0b777039764c5dbd9c8198e87a9b26e2f8245b2706c60c7d91ca1e34bd916d30fc700f503925552588b469d22c3db1dd6409417b204e2d61a9a69491ad79ca33ec25e639703a6442de9a352d29e2e14be3a1eacfa7a9d1e92179f42ba2715eceb0f9e8868f10306fb1d7e5b7c2a58f8f7bbe9d1eca3e31a7434a00c8b029d1ff51484a2a361ce030ab148b70702056a165330c68e3f69a105c592f415cf0d3799cee42eaa2a6ab1034d5d2edc907584bf77a5d7d478666f48a29cb8f002eff0a1b74a55b7c92c3f1003c79b097bdc379dd0f7bf6ee908341792663024863ecfab67383d5eb2c0ff2d3503820228fc872871d3a9eb369869bb9398f065a80e250f8b71f98d9378602093b703a9aed62a6582f57c2eed0a7936a37652d899ad7999fdbf7f0c385b667db70b64005820034a79e9107f6181572a3b64646161d27d52ccf64087a0a736d32d368055db204457ac66a2031acc6834cfcd085455f0d3aec81ef4d585493c7a521c28187f8249c7f38be9fd00581f02da6c354128d125bf1617348f80b317e04da43abbc0a1080bdf3c2ba7d0e3443060d41f00581f025e9665e13248bab9bb0989a56b090c146587acb090192c8b551c36fbfddd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190802034030103c4e0cf3bcd6406198f9cbf5176c147393f5c553b65538e3e2913a652b03dbdf6dfa92d7ffa232db91898629b77bdb00081cae9885b04f342bd842ac22920304b1ef98638a9275f7926c8a55c151b2820fdefcd8a0f41b42929884d99ec86603c78cc9ee3b0498f5569323459e0e4bb9a7f0e70c7f7b2b152fa9ff021b573cab0058200378b5c84831b854aeb0e91ec777614311fbd9c2a2424ef4be75aadb2c76ef40450f424000000219d3fd0300ed1d6d11ff9a29cf31724b6328262586d7a672845c6ee49f323643cd00020f032380778b4244ddc411703cdb2fc0294f2baeb4049c5f06f2fba9300c982c6be1033ced2241c194a42d8d91562d12e84e9004280897e20960621905ed923b848723038fa9e45774f6c60f1d33aa0a56f7fc370e19341a64a8a5ed6ae9230a1e229bec039708faeac4234253b2e35c211be74e2102882cbb93073a662fa6ec7e05d1cf17030d7b19d93307361e5669474f4393db595ab0f63fc8f8245d8b224de90ec7706303d319e6a0d0fa455490ef6c9209122a7c5a64672d9d010983c7c04f414ae6c0070219ffff03cbb43b24be4a6527f5e492caa75bbe663f1e5ea36977a850649ba4a3dbfde9b103e8ed5a2179ac5e03c5d02423436646115b831e21c6aa6dfde4be0ab57c82086503c4b6461819b1a32bc6ac0eb5aed013552c0f2803597899b93fa997048feb211b035a6927d6af0ae29451ab04843ed03fdeb538598ffea22b3e19ac04203c00b15703251fe1e804cd1d323af79845bf55d7d7de80b331e3c5dfabba9d9b4f343b02d10319f5b87b61274b32d99678ee0ecd56f1c63303ba21f71465fbfbdc5eea4ff64e037b4ec2708b62fc5e8338a020fd757765da8d55ef73f44772174cfbc4c9f5472b0345c99ddb6c2f9e5b1d81d48634269978a699c2b476646a69d1cfd6bcf0ebc2bd033d4815bda8050911513ded3e2ed163ff65fcc4476229c1f0182605e541c23faa005820038f3963c74db2a00e1c9234411b9956fc56419016d511fc594fd402bf17cac05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0306a26faa2e9d14b9190621b39d2864cfe9709948aa3800103744d525f7e7e4d900581f02429ff0149a78e84f9fe322c70b7d99e142b6e187a007ac90d27957d6b01444e2d415ce00581f024a56f7a155350bbca66ee62705cc29c5d873f86fd1977b63aa0787d96fcd4511bd8ca4ce00581f02be71b9f79c326826dfd6a7faed3ac58053c4dd764b70096442cd39d555215820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021911200325ccf92f3141e1a1a5334b2c83c6c244340920fed3a4a890643ce948827357fa036245a94909ec33d119ebfa54e403d842173c9621b53f600448d44d13bfc41690005820035fccbad42f871d57cb1f2e1896a89bfab1e0b6638975d1dd8a9c32dd1fee00443346472603b993fc5f0e58d8be1707567c4d3fb60c5956c242390037f153fcccdfc824fcf1033dd4e62b354c7d81e2b2f4d245b4b8913cad7d3b2e436ea40861cf6a54e1506f03402775402f0fd09a3dbc72d0a3e06547a28822cc2985e2e8bfc4930efda1e717030012224ac19f75ee5207647b92d81ac4831ea1c44f0d1a80e90954e07c678435031bb5e766fcb7b5f37c59966031af950ecb4fce3bb17611c3a3b6253cd4129e6c0219d7e30314ba6c5e8df08beb8fa04b798d6929dc427d95d3589472a4209271742c14215003746102c2e3f88562aecb310e0babe778962532e5e65f6b04811327e2d0b2821f03a86ae7c26a6e9bc1da1b985a8725be4df200afa2bf0a57d89a0926ff53b9218603c3cd75b1755394a901e8498ab1f0011ae0b8111d1038f32dbef05037dedfb3bb0350769b8f6af78ecee502ced0e3ff0ba32ba5f00d622264e0b64c36803d9c965203acf5b69b6dba57078a13117c77f12ad48150f16cf4f5f6286d0b8326719a6323035ef6057b8c6eb0f8e07343fbf9624203e5545a985c51633f5119c82841e7eedc031d32ec354cd56729ad89d9e04de72364953bad5320b2ae9394274bc8f4b450280359d997a69d1aa762f4cc73efd1680b47a32a685eaf88897fefc20ff940627c450219ffff0219ffff05581d02bbf8c4fd92b9f1e44f2ff75f066b591798e7f71845090bc59b4ae31407011916f105581d02888df0b4efb22dd87abf35907f9dd8aa362124467ef8fe7beb9d4cad0c02461319718a50000219a00003e54402fdf43be7508dfa29cb16b4150ed9965b74f34cd802c9f6aa9c82e9ffd1039bab1b14a74a08373c3a11959043a88f99d5ab902ec50f2c68cfb9dca8f0b36103b64746a10a8503e7dd04f8d1ec78a97121f5690a8b15c57ecfe954151aa8f41d03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e03e8457ecd835d1acad261920140f96fe9c8bf65ccf7dcc3abffa07c4ba007011bffffffffffffffff05581e03b96378b4fec0471218e8dc1251bf23af2c0d7cd7a9a2959934a96e8170040303003bc7a59e8925469210f9dc3130b5fd3a16e9857569da18426297f2008fffa605581e03b7459286ee7aeecfa2b8d436dc4354f1ab619cdb79aa8497c4d41641100c054701a2b110e31c7905581e03f1fe8600d3e0f1e2a7b0dc512d3266d3f1bd75c36230580b9455c350800c1823472937f190c85c1905581e038caa78a717fb59311bba8ee3ad3996cec927bd2db0a172a6a674c3c2a00c0945195f147e680219d15f038d71b26a105ff6e3f5252e75c752c4da9fb20cd40db1d26756ee5583c61c560d03414141621e8dd70cfe6b0ba87bd5ea12c09c17347f96fd6d5749e49602911b1c03edb14df04c8a3db47f19d750065f483727baf63d9a3e5ce91039efb73c0a5e060333056af79df693b2c79b3627db79fa4754004a3a91e398edfc361656e00829d503ccb1403b099e599b79e7c9c163251f7acf270c7c3e4d8c2494776f528cd23c4503e404e0e9579d2d9706b9ee3ce31ccb1fa8da249e8417c3342ca12769e3c1b97d0343a494991b9fdaab0815e5b9de272d88c6ce5d936d650cb713b251d0defdd0a40219ffff039d1e76c58f8e22ebdc8504bd368db4e867da4a10af2212a95d5f7e62777b5ee00379594d43700183759dba53e7853dd30d41f5c6004cf12ae072893e6ea574560d036d752289b21fcf01f459c814c5e91d1eff12bcb85a7dd0bb1522ea47dc56198703c4fe02100140da9d17e8835f9e8e5be65fdcc5720290e03d6e06f039c3993de40219ffff0374919ccb4f6757d89081056b0583e4a18341a870c39ead6aaf18da88a73d6755036346f9edddb248bc6d2185004159ab6bfc9fa01b69b8cd5306c83882e999c812032f2f32e973d2856cf2879662f234bb2cd664c83d98252ad91c406619bed7cab5034f832840843ae31561eb08f49223d730ba9560a0bd89998ef63902dcbdde498d03b3f8679b791dec1e262d99773dda11402af653a430e2edd303abc358dd8eb80703c09a7384de09b9187563ba1ddbc0dc773942fd3856d1bf359c4f89c1f0d1c2c403f9cfacbbf095d603b8ec1ca48222be53525123818f96026c92225eee137566fe03796e87617dae4b97318f7f23452ad5a1c2a9503d992cbf1d0bbfe5acc9cd18e40219ffff03d3cb25d07c3882ec5c9d2f4c6b05a85748bba25f8da1907c552ccc8d2c2e3ab203b8eb1091de75216533826f79311fc8f089968140cf69206d7580dab5e29ce1070313b22ed995ad1007714efaa64286b17d90dc7dd17917ddebb0fc6baba18cc34e03ec27a00f2d1ced23060adde16f43e9f38928cc7be9c981c81de2c1f4ce1f47b003231927bfaa1ba571375e97919bfc02d87b2162abbb1dc47394d8ada4fd6c1159036901dcf135960f8c41d37cbf2bf0843f221f4dde0411a1d0f9ed22d06de94d6e039f9fc4a42a41b1494fcb48ba8a6d0911166b8344bdad3174f8a253a96e5eb4a603b061acb28ae59ac7fe997b910f916d0b60398e52fe6008bf022c3dd09b03ab7603af5c1af7c301e6afd50b5b704aa9115148dd58b95515b64646e25ae25333df6a03ac60302489522a31da5759e07f0ec1dcb34ec9a03ac5ea5ac556f54579d82afa036338f194ffba3038255710fae6f40f07d6b7dd1173013aa5b4a4318e271b931c0358f604b9a02acb36b1d7c850f557182ae5377fab9418213e2d69f48de1169fe2032510406dbd714a4c7b4ce10d1b6bcc83d3a3ce6de4df1aeaa215c58a21892d620384dc98b216a6185860bb92c7458b7e37dfe43056e439014670232ed5ae8ecb230385e9ee2acec052f74189009c3d6664346fa016a272fe06f3f884a0a4dae50a8d03096bf52e539c83c4ea99f228920a3eb13ce6162287d36b037541e396a29afd3d0300a881d91d8f92cc998a7653efa3e58150e2dd637c33106a4fe1a5e5f031cf1903960bcadbccf02011678613c1239f9c9b3c423e4af91c75b04b206424fbd32e3503b990f77a43bad02f429a30bd78c2b712308dfb54153b3f9d7e8e58bac20d72f7039b3113cfa03826ac0e1775b891571deefa750223e9a9f2e327c0dd541d4fd35a0364e230b5a2183649f9a295dd7e93c1684cccf746122c12c9dd12818602218849037ad5abd9acc9c40bf08e1005e819c8cc14e6fd748946b887fa6f1c4fef10083703c32e79051f83cd436af74d1f1820509cda1b6c36bb2f690d03d2519bc9ec8bcf0314daff628eb1088ff7d1d8f4b9c217da4ddc835032f9adbe22c3a36838aea81a03561f033cf217d67c6a832f0b2e4b736cbede71ebba8fd264509d1201d0b0d389034eaf4dddd2f943a93c46033f7ba68b24a9fa966f370971a3c3c0fecde9d17be503d501926049cbaa26e07c749cecc8c5a297d7be5aff456040a85c65ba165af39d0300e0c5a0180381a78f7b4d2fdbf73b106aef2a6ed29fbf0f73ba9a938421d92f05581e0326dab9dfd3f1bf1bc53904580604f13da04e2dd250bf8dc9785c9707d007011bffffffffffffffff05581e0350abe950ca804678fa07c099d6a6e2ee6cd117b983cd9eee0da93bdeb0040105581e037bf812bce54bb11adf8bd8c7b1b482f12e4badc6845fe575d1bb570d800c0747442c9b5097c02c05581d028f2e6f1412d2a02a641760f44a8298f80abbbfe88c14ef31b1cdc8550c024625febba3e000045934b5608060405234801561001057600080fd5b50600436106101c45760003560e01c80637cdd3fde116100f9578063bb35783b11610097578063dc4d20fa11610071578063dc4d20fa1461096c578063f059212a146109b0578063f24e23eb14610a08578063f37ac61c14610a76576101c4565b8063bb35783b14610848578063bf353dbb146108b6578063d9638d361461090e576101c4565b80639c52a7f1116100d35780639c52a7f11461074a578063a3b22fc41461078e578063b65337df146107d2578063babe8a3f1461082a576101c4565b80637cdd3fde14610652578063870c616d146106aa578063957aa58c1461072c576101c4565b80634538c4eb11610166578063692450091161014057806369245009146104ac5780636c25b346146104b6578063760887031461050e5780637bab3f40146105b0576101c4565b80634538c4eb146103785780636111be2e146103f057806365fae35e14610468576101c4565b80632424be5c116101a25780632424be5c1461028b57806329ae8114146102f45780632d61a3551461032c5780633b6631951461034a576101c4565b80630dca59c1146101c95780631a0b287e146101e7578063214414d514610229575b600080fd5b6101d1610aa4565b6040518082815260200191505060405180910390f35b610227600480360360608110156101fd57600080fd5b81019080803590602001909291908035906020019092919080359060200190929190505050610aaa565b005b6102756004803603604081101561023f57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d58565b6040518082815260200191505060405180910390f35b6102d7600480360360408110156102a157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d7d565b604051808381526020018281526020019250505060405180910390f35b61032a6004803603604081101561030a57600080fd5b810190808035906020019092919080359060200190929190505050610dae565b005b610334610fb5565b6040518082815260200191505060405180910390f35b6103766004803603602081101561036057600080fd5b8101908080359060200190929190505050610fbb565b005b6103da6004803603604081101561038e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061115a565b6040518082815260200191505060405180910390f35b6104666004803603608081101561040657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061117f565b005b6104aa6004803603602081101561047e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611392565b005b6104b461153a565b005b6104f8600480360360208110156104cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061162d565b6040518082815260200191505060405180910390f35b6105ae600480360360c081101561052457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611645565b005b610650600480360360c08110156105c657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050611e31565b005b6106a86004803603606081101561066857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612130565b005b61072a600480360360a08110156106c057600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506122cc565b005b610734612700565b6040518082815260200191505060405180910390f35b61078c6004803603602081101561076057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612706565b005b6107d0600480360360208110156107a457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ae565b005b610828600480360360608110156107e857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612967565b005b610832612bac565b6040518082815260200191505060405180910390f35b6108b46004803603606081101561085e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612bb2565b005b6108f8600480360360208110156108cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612d80565b6040518082815260200191505060405180910390f35b61093a6004803603602081101561092457600080fd5b8101908080359060200190929190505050612d98565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b6109ae6004803603602081101561098257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612dce565b005b6109f2600480360360208110156109c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612e88565b6040518082815260200191505060405180910390f35b610a7460048036036060811015610a1e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612ea0565b005b610aa260048036036020811015610a8c57600080fd5b81019080803590602001909291905050506130ca565b005b60075481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b5e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6001600a5414610bd6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b7f73706f7400000000000000000000000000000000000000000000000000000000821415610c1e57806002600085815260200190815260200160002060020181905550610d1e565b7f6c696e6500000000000000000000000000000000000000000000000000000000821415610c6657806002600085815260200190815260200160002060030181905550610d1d565b7f6475737400000000000000000000000000000000000000000000000000000000821415610cae57806002600085815260200190815260200160002060040181905550610d1c565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5661742f66696c652d756e7265636f676e697a65642d706172616d000000000081525060200191505060405180910390fd5b5b5b5961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050565b6004602052816000526040600020602052806000526040600020600091509150505481565b6003602052816000526040600020602052806000526040600020600091509150508060000154908060010154905082565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610e62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6001600a5414610eda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b7f4c696e6500000000000000000000000000000000000000000000000000000000821415610f0e5780600981905550610f7c565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f5661742f66696c652d756e7265636f676e697a65642d706172616d000000000081525060200191505060405180910390fd5b5961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a4505050565b60085481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461106f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60006002600083815260200190815260200160002060010154146110fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661742f696c6b2d616c72656164792d696e697400000000000000000000000081525060200191505060405180910390fd5b6b033b2e3c9fd0803ce800000060026000838152602001908152602001600020600101819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b6001602052816000526040600020602052806000526040600020600091509150505481565b6111898333613244565b6111fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5661742f6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6112556004600086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613304565b6004600086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113036004600086815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261331e565b6004600086815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611446576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6001600a54146114be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146115ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6000600a819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450565b60056020528060005260406000206000915090505481565b6001600a54146116bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b6116c5613437565b6003600088815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060405180604001604052908160008201548152602001600182015481525050905061173e613451565b600260008981526020019081526020016000206040518060a001604052908160008201548152602001600182015481526020016002820154815260200160038201548152602001600482015481525050905060008160200151141561180b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5661742f696c6b2d6e6f742d696e69740000000000000000000000000000000081525060200191505060405180910390fd5b611819826000015185613338565b826000018181525050611830826020015184613338565b826020018181525050611847816000015184613338565b8160000181815250506000611860826020015185613377565b90506000611876836020015185602001516133b2565b905061188460075483613338565b6007819055506118c060008613156118bb85606001516118ac876000015188602001516133b2565b111560095460075411156133de565b6133eb565b611932576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5661742f6365696c696e672d657863656564656400000000000000000000000081525060200191505060405180910390fd5b611961611947600087131560008912156133de565b611959866000015186604001516133b2565b8311156133eb565b6119d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d73616665000000000000000000000000000000000000000081525060200191505060405180910390fd5b6119f76119e8600087131560008912156133de565b6119f28b33613244565b6133eb565b611a69576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5661742f6e6f742d616c6c6f7765642d7500000000000000000000000000000081525060200191505060405180910390fd5b611a806000871315611a7b8a33613244565b6133eb565b611af2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5661742f6e6f742d616c6c6f7765642d7600000000000000000000000000000081525060200191505060405180910390fd5b611b096000861215611b048933613244565b6133eb565b611b7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f5661742f6e6f742d616c6c6f7765642d7700000000000000000000000000000081525060200191505060405180910390fd5b611b93600085602001511484608001518310156133eb565b611c05576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f5661742f6475737400000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b611c5f600460008c815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054876133f8565b600460008c815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cfc600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613338565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600360008c815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001556020820151816001015590505082600260008c81526020019081526020016000206000820151816000015560208201518160010155604082015181600201556060820151816003015560808201518160040155905050505050505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611ee5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60006003600088815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090506000600260008981526020019081526020016000209050611f5e826000015485613338565b8260000181905550611f74826001015484613338565b8260010181905550611f8a816000015484613338565b81600001819055506000611fa2826001015485613377565b9050611ffe600460008b815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054866133f8565b600460008b815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061209b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826133f8565b600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120ea600854826133f8565b6008819055505050505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050505050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146121e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b61223e6004600085815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613338565b6004600085815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050565b60006003600087815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006003600088815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006002600089815260200190815260200160002090506123998360000154866133f8565b83600001819055506123af8360010154856133f8565b83600101819055506123c5826000015486613338565b82600001819055506123db826001015485613338565b826001018190555060006123f7846001015483600101546133b2565b9050600061240d846001015484600101546133b2565b905061242b61241c8a33613244565b6124268a33613244565b6133de565b61249d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5661742f6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b6124af856000015484600201546133b2565b821115612524576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5661742f6e6f742d736166652d7372630000000000000000000000000000000081525060200191505060405180910390fd5b612536846000015484600201546133b2565b8111156125ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f5661742f6e6f742d736166652d6473740000000000000000000000000000000081525060200191505060405180910390fd5b6125c3836004015483101560008760010154146133eb565b612635576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f647573742d737263000000000000000000000000000000000000000081525060200191505060405180910390fd5b61264d836004015482101560008660010154146133eb565b6126bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f647573742d647374000000000000000000000000000000000000000081525060200191505060405180910390fd5b50505050505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a4505050505050565b600a5481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146127ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6001600a5414612832576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b60018060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612a1b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b6001600a5414612a93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f5661742f6e6f742d6c697665000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600260008581526020019081526020016000209050612ab8816001015483613338565b81600101819055506000612ad0826000015484613377565b9050612b1b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613338565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b6a60075482613338565b60078190555050505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050565b60095481565b612bbc8333613244565b612c2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f5661742f6e6f742d616c6c6f776564000000000000000000000000000000000081525060200191505060405180910390fd5b612c77600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482613304565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d03600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261331e565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050565b60006020528060005260406000206000915090505481565b60026020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b60066020528060005260406000206000915090505481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414612f54576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f5661742f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b612f9d600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261331e565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613029600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261331e565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130786008548261331e565b60088190555061308a6007548261331e565b6007819055505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a450505050565b6000339050613118600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613304565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131a4600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483613304565b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506131f360085483613304565b60088190555061320560075483613304565b600781905550505961012081016040526020815260e0602082015260e06000604083013760443560243560043560003560e01c60e01b61012085a45050565b60006132fc8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161460018060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146133eb565b905092915050565b600082828403915081111561331857600080fd5b92915050565b600082828401915081101561333257600080fd5b92915050565b6000818301905060008212158061334f5750828111155b61335857600080fd5b6000821315806133685750828110155b61337157600080fd5b92915050565b60008183029050600083121561338c57600080fd5b60008214806133a35750828282816133a057fe5b05145b6133ac57600080fd5b92915050565b6000808214806133cf57508282838502925082816133cc57fe5b04145b6133d857600080fd5b92915050565b6000818316905092915050565b6000818317905092915050565b6000818303905060008213158061340f5750828111155b61341857600080fd5b6000821215806134285750828110155b61343157600080fd5b92915050565b604051806040016040528060008152602001600081525090565b6040518060a001604052806000815260200160008152602001600081526020016000815260200160008152509056fea265627a7a723158208a74d6db3d5b0eba259e13b86f201f0fda2be3ffedbc0b4f90a67d87593f4de764736f6c634300050c00320339aeb2d69b5569c762abaaf87b8e1706fad13bcc7644ab9773e70b8f3f0e94a803c5c8ccc7769c1e8cdfec531b6b922c62716c32b27a06842dd7d5603e727b36f70314bc545b49d57505068d70cb4ad5e224d765a1336f567f6f9609fcd077c817f103c4404e932abf2669678a9ac92263904abab6c9b793f0e451a4ea52ffbc3700b203ba10c49b819e1b21957f89646dcb98df188ac6d22da76662a3f596c61e30912d0387188e4b982b720eb39b79f7973d6f3d005d4beaa4851a2dcfed739d55b7d7de038d98d219ab4aed08090b13908005b544718f879f6d9aa741c6286d7ac7cec2ef038f768bb760d7a96907580ab7e042d482aa50ca4c3d15b1e5a9962c524b059e1d038d6e0374f8d0dc139366f14bda38440631b3acca382651d07dc53a95f253671c03d2a340dfe7c78dc5fb9175195501a0d41bf549af0cfb54300669eafbee4e5d38039fd5a654cefd846196466568e71434c42a7de73f7aa32d2b7e44b7e48c5a79c103c30768b2104f0a3f6bbbc80e2c65f92cd7beeb609f3cda5b5e83154e15b9bb4603bf45a8e95acb7622f6a0abef0d463c0f9fb052eae5705fdfabeeb8b650c5451e03e1e88ff6066e96654a2d87d267b8e720de0565d28d22e3006593be6b57f344a100581f02407ec2b839042c36b1fdf7796743714b4ec01bac509a11594ee7917d46b4410100581f0232bb2074b40ee0de721b1db670ae9fc3e34d85416bf74c944ac58648f747410100581f034434e25ee50245e87755841ad61c6218e2976272e09bdc4bf419021f6320550a436f434bd5f5c792d09a618c74cf00000000000000581f030440b204e24b77e632f682c8a366ab67c4704937b097303b1aea608061304c0328a259bffae10037a924d202190408033537540a8775afc346fc105e734292c16fb550189e1612d97279e3ae0dcbb34a03844f844a4b1e9f1bef8feb3e08490c8fa7c0bbcd3eb8d6d82c97f9a81abde6400331e594efe3055fc46ea3116a0380f6f3efa6721e25f6dabbe9922073fb11e24600581f02b1757786ef4d362a0f1fe0a87e5d95b819d62bc220a6c017c00369cae539410100581f024cc7f1a07f9cd14d06a16a0c4ea30c45025facc5e9756969cac85dfdeaaf410103335bbc1a1499a831cfc6a0a11cb83c06750f9737e131b787ef95d91b669790ad00581f0284eeaf655924ea212dad7147597a0a99d5edb7963951a857623f823e46d741010219fdff03278cfacaa380f8d9f7c2b4b91ded172f447d03c887606fb8383086b0aa2142e103b5c9cc9e88a596409aaa4434e720b5d371c410efcd698701a766d677182840cf0331b5ebe4c2e49342f5950ce88f0caf091654ec4dc79dedc37ba21dc76bf913e9030ce43f90a4c37c3f701086b61d0edb2a00c07c3d446f8f954595a4a28e39591903fc8dcc1dc18269f4e95d69a144088cb6231c0c1eccb82b9f6d6407ccb9060217033fd8ed658f54e9995e5451293519e65a3129cc89fa632a5788fa9322165721ea0219ffff032e605cc37c216ce2f4419f64e803b7eef65676c8438d51ed2d6bb5a8711d25da03918d28bef75d045c5af25562da86d879cac1e5d3e3a70d14405c96accb97452d03d677258695154b7026d6bbd9da410438996af71545180f4acff3d72a3b1909fa0389f816e1ace86e5f04a7f2d02a4f94ae1ba5d15c80dc99b4ba1fb8cff2b1bc0903cf556c9d26a025fcb8a641f3e5bf69df7175f3280761cb4d11f48a8e9695ba7703782532007a6ab0cbb82b29f155164b3d7063cdca825c2603c4bbdb0b46942df60368e2e42567dc1b5b713858e2639761ed5697b0aebf64710a9ecf9325fa314816032651615ce39f3a48a32d15bf4ee58205c7e4547e1c1c680007f664aec2042f4103cd3728ae8151b7808819308cc6ad5919f1e5ed9b3fbf38a42edbe1841a2280cd03abfe285af37ba02b6d985e3b4aefc74a89d1123abbb9fc5da91a3d9741d1d32b03754f5d37fd12face724fee57647ed62a83dc593a6d588bcd1ddb43c15104c62a0379c2e8109ba1d6b54bd5cfaba40fdba7b42b8e1b2b541e045cb8c9ec98f2b44e0369b0be561f12d5e7e593bdc3bd4770b8d6ceac69c9ecf5a629752d82b007bb6e03d07e41c410a609c2097049169d0279259227c93b2e7ed195eb288ead91c4ef5f03aea5908780a545b34cff710b16b8cb233b91063d2051bb99833ed18dc117d5800219ffff03acb4813736eace624472d6189efeed1c88167bb371ec332625339220228adc1b0389da96e6b9a88a89dec708c690ddfdca3d929f49d451399de9cfb24634369a6a031c360c3c3ca32f2af0d62a990b1643ec30acabb3c9cd049aee4f772b3add795f0322209c9b695ebfe7adbc7ab316054fd21b2b784f4b1a84b2e92e5e2b027550b6036b82f979629752241a09cc7966228da153f9433bf813ab32c2bed8196fbc7dcc030aa10ae69a072ff72385d416b5c97207eec6e353496b7a82d4a0274a128fd7d5032f04cb9481dc7379b2fde144646209c41646f1bbc840a0e2345c9ff7603ef31103cba7f7f74d6476826c994b8adf15f051d811f4b44f43202a6a9c6887b4eb950e030e20c12889ebb99ded75bf6a9966dd344ba5732ffc1eb4b6270da3012160bd08031a184a661b30fc2e94d32b392bd2c97df1a98d37cb77f360bf53126f40052a9103d23c90f2f51f33db0ca38d7e40887354c9a5d3df2c924bc54b8a59a879834a2103f9b6c3cd53f9f560ab338ba669fb8d561ac12cef3961ecfb5069ae196c3f85a303bdfe301d54a1dcf175ea479bdaf3508b70eadf814d25782bf4ed92689684b1b003a92b2b44b496fbfcd540e26acd3ce773e1ecc20e640b84bd6f07b105d0b5e132036d305cfc81cd1bce94703aa76421a6a1984ec43f394a8000dc30fbf47e378d5203a251c7ca036a79b94bf54964219cbef55dc094ef15c1c518ebcf363c1ac2540703f80c37ee783be2efb514a2e0f92ec977289064b005e503ecd11d0f7f0568627800581f027d06f0e3cfed2939e4c1a955e29a49c13745f1a18dfb3e9c64093136660b410100581f0212ba31b22ab1d49a75a0f1803495a2a5e0400b76f1dbe024dcd0aa135a4d410103ea3902bc8df180e24b2be9b86b092cb92e93ef561e7f94b140d870dddda476ce03db496baa553fd99445602ab0b17083e89b2cf6aecf1d9aa8cbd43d76bc87e2880300345ed5f44d40c1850bddabe18d1a856ca214c63c7c65eafa25083e801a046603d2a1ab2c678811db47e5a84e419d11a0f70bfeca7c88a77c925f4fccef5bd2ef033a97447c87a9d87b10a6d8888f27424cbf669333332bf3e26a758b03b816cd1f03775b45b659d47b72a8d6e68853d17890c6fc82b3db27c4c6c90d9a992475f04201410800581f03523e050e641e6af27a340416e419eeaa274e592de50df0adfbc0a9d32400410100581f0358803d5cb60ee49de834be4c6d0b7ae8f02105f03fdfb096027e2f5801604a4fa129015bc2457f9f9500581f03627f9409877f0608e826d969ea30b6a254f458d1bfc60bb250a37f7cdb904bbe58f174b13dba4ff3ac9600581f03113e3adcfa9ab7b12737555b020806a2540f5e62880a31e9e6d5249002c04b54e996de2a7feee75d8a6b00581f03ddf4f694dde62c018335961de954eb4cc81981cf9fc43f1471f113806d4041010219322200581f0202b68cfce2cbebc87754f2ba8bd7ef31ad6c400388ff92a188b330ff23794c01f12f117a21f9f05f43eb7003624afa4fa38a88274f317d143087d23f61faf53b269776afe3bff766d9a6d3e303edf41fa0757349e6bd416bc4625e648ea56625e4c10610c49a28bed22c1c99350219f7bb039f88795b26f1467f218ac31dc255bf4b986a91521d042bcac741c484ea267375032dd3e72518ad133e458373a411e44a2f16e7a8961749759a28339f610466e5130219ffff030a925c9995e570e034282ccfb5efe1f1ddec32c153f84f6c8239c382694a0c2b03bef37a45277298a1a84df275d396b0b23adb4952b7c63720aeb74fa326efa02e033c93a11e40dd44ea51053d9069f92552c8347e1c5d493d40f167ca1635a06aad03161d925342b47eeca11422b2f0d3dc7f4bcefd2b01d044d228a3a31ae6c0ef6a038cdd9ee46b47beae8a46139b52bc91a6166b4743505f3a20ad0e127b970e1fc503c16435fc15f21ab36da05b76b5c27608f02c6e69e0124573a23b205afe2bdadc0353ab3d75034f0c09cf460de093f7bb57181295cad50c57ff5498719058dd149903fe43cf2ab110ae3a250d58e5339b8437b06d3aec03ce4af053a579955140245e03128c343f5f25dd076168fbf3cef8b26e09fddfa067ee72e84631645517159013035705a04a7ab69df2ebd1f20fc251ee7086cf6d2bd7ddc9a14f3df947883ad3bb0315984228c7c37fba80ca73f8a04c23194a747321c3d833a414f2f91893039144039168efdcb7ccfbc9a0d02aa54efbe5bcf963ccb7b17deefe78fa2ceab88f933c0219ffff03a9f0f6783a164835bdcfaedd0759bd05eda89f35d18093c2ffb3356683a6e57b03ac631724905cc741a32b0858f0c2d6f184e949bea9fcce4766cda9078ce1ac0d0385a2b30c6815a292e2e167135e35251512fe4cfe60df2f34a2aa8f47808d8ddc039aec4459c13e5bbf0f99c8ae1b33304456668b7f05ff1bdf655790508860c1e0033e32cbdb3d513df1e4ce2816409c59bb25aa1a1e832f84437795ec89fda46d0b039a762dbe93fe8e12142f0be75bef0936d44c1bfc9c6ff18d7bfb4eaefd5bd7ba03d0bd02c595a17e905f37c0a0e8c020e914471733aac8f233d3fd48687650e81203f3b98f4845397482c0782acf6631c19e90699697f0c003c29aeb9ed4d63241ec03816c2fbde7281a9eee92c9b9afff0fea48248bda14db73f6ef6762e6b4d7b01c0373d5a642289c9ffe1c2af998de9e243cc948826bb1aa7c9a9b56b94c241876e603f785352fa95a7c883dc9c04637136bca793e8b786e31b08d2572ad91d224481503cb76927d0281a6fb2c9821c3fd7a6bc1b5a15e7822cf12f253aecc5b14ec62d5037a9e19631f604fdb29745724006c3afb2335e8e152098cdd6eab04cb49608002035c478d19b6d45a926c63e6cd6b592e36b95fb1a120201990646d856ba08c0ca003723da07dcdd01c0250d5edadec57c5a7bade14d015c2863639cfe1f1d41ef62e0322f6cf3b639e8e868505d799337b3dbe4b91d4fb5569aacd619eae045b4c36ee035a1252f05acdbcad3390a8c8bd78c09154e1f64c09962fd8176432860811106a034c11d979c129ec8348d3f9f249983d04463807a52a3db09a0ae4dda2c9ebbbaa03bcef7d10a07844a4024c00424d65c3092fb92d2fb8acbc1dbb1afb00a16a5e7b03a85a8216d23336c384a76148f371dd7a2dac3e401fe00c641544b248ecad18b3036b2f353c33776273d166dec2ed3abb7392c93fa4f23d8950be130d407b869182031400bfe28ecca614eb8ed68e64b3c0d831e2bc10c1d0d9b15d4bdb10982afa0800581f03263ed68c9a7db492b24886523b8bd2302313ebc3f6e3cf0c3a55c6dbda10410100581f03028e0fb330f47a92208aaaba7bc58ca6163d55570b1bc6f418d4a10729f0410100581f0390080265d286911d792ed092a5204875d6a7ec96e5132b4e728925bc1760410100581f038a6694351ac64e6974d00bf4f518020e21f97381fd2f296182ec5d5d2d904b3aa7ca833462424e46dc7f0219c10200581f02b4232b25a8633980754a9368c29cda342e8e10dd93fadfbde0e587881231410103063658b26370842b1456bd014db05d93466b7ed4bea30ef55cf16af9d7c5e969034494b5ba81df725f87007f7e9fd44353c7164b4f9545a11554f0209584f4e6bb03e9242b9eb0ac0bd00e2cec8429957a2a1bc1d7476047ad4fee3c7af83ebed84803f5a9b7da98d01896e15daec9efd18d8b635b71f5f0ddf2581d44cb7c5c1adbdf03a027de207bcc0af18c6f660deb95265b206441143f711bebf5ba4fd9f0b19c5a01410903f8aa4734b5620b614cbbd597c818b216bad97faee5db8755798dfe11f011436b00581f02d2d01e76fe9ef33bcd72f5cf58fe4d5bdbb07f4731fce3c72724db9e9fbb4badceb9cd68b31c9571fd3903a6bc843209a0be1b14e0c42e762d717e39bedb4a6409a909fa29af36fad4c23b00581f023aa43ee8a8b790af09dc3883bf76ed661b8cbd9543e8a47b4faeabc29b8b4c01ebba44a3ebc02fea2ffb15031dd79d5e73603f7e6dccbbc29e3f5d51c0ff220e540ed76434111cc783d22a1a00581f023b8785c747ec74bb1590192bcfa2efc516b2e54c16e5841bd1e7d469323741010219fe9f03edbc527cf51a75d702b9d0c059933605c3cb3cedd45be4bd99dbd840c271ab7203479fdc3fa9e030c88a09b7a1c87fba0cfecfb14b462f8c130030aac213df5f7303eacf0f57b2d217d5ad2f43a737c98f69554fb93bb67932c9e0856e3a2cdb4a5e03bd3ecc2b8a2bc0e3d4e5ce06cf7981cfb3f353ae341366efa55a23ca5dac3356033dc34df3e12e959310a546dd079dac7e3d7dd196498b972515ca8658b35a779f03a1d5d80a185133f0308f7d6a09bf8853b9802aec5b7753c519f6422e4bc792660394cbccaf12b6be7d03607f271608ef00df203adef6a5a7c3478e967358ce90a0034d3890f864f46cb0bec952e10c99c2e7463e6225d8a67af02a3d20956f575bb603b66e4a2e227f3dda623b5f8f7aac112881468fd5568517c6208801dd0870efe40219ffff0219ffff03ebe939ba9583dad239a94cdfbc61e1420680cce938ef92a806f00ffcd53983c60379f2d420f2b9b30e2beb6b31df0b5ee7826b26928c88f1e30ce885711aeb5a3e036516b24cdf704ad77b202b71f3b19bcb0143154306b180a2eeaa5ed27c2529d303cfb76558a6171157c30e5810ff5e686890854dc17487985c3ccdfc1e1e5e2cb8039911998edaf2e58f2c074e8e751a813631aff58217d59c31a837515a46435dcd035b7b8cff427aa9b6b6b23b402b6c21f8261675e0cda80fa4bfb633e01ce8efee03d0c539db3cd12707869507bf8311d3d1a82211fcd3e8aaa126043705ddcfcec503ae4ba4fff7951a146aeaa401ae8f0675bfdfa3eeb70ec51727b786990e94f22003f9f4976aea6e0c6bf1dfb4e334b8ab660080fb74ebe94404999c8771d8ecf83403be23b59e6dd66c340fe67137526542d3adafa688e25860c2b97ebdd8a7d408ac0344848520f22cbbd039b5e4ae37291c2e114a3beb26cc1f5360c80cbe86f5fcdb033b096b64f1a84a25423ae4ff9a7b8c5d1f98cbaf1029225eb4d930cc3ed3b95c03a45512cde174d0413c065e997f8de4507e0d0f581d7918a08a806469e5fae1f7035914be432a0400b1ca0bcf30c60aa2c75daa214cb010c431cf2cb0d30e465e9f037e33259796bb67771f5887819fc01288e065fefe95b046218ac7b13196fe513c039d67b979685449300ab427b1112dd5d263bda7d654af5401cf5a708ea71e282e0341500f7064d55a6698895ac7b3183c1da3642c9b71ce46ccdf702a2371595991031a61de83b5dd8a0234fc7d135e968c472d0fa91da359e1e5e1a3c83ce54e231000581f0321874d61f7ca5d008c4986a090c29eae3eeab3d7fac0a07cc69beb9b93f0410100581f0302c7494878d722b6552a1f6244549119cd1922bf3e7050eb4f077f6e38204c033d149d9e4b78b15b743af500581f038f02eaae0345e2a5d09fc8d915b7f7b8ce26795bd3625437c6b20da9af304bfe71ba0de648172526373000581f03d7e5ee64225d6212c3f4614d554ed739ea62d50b86051af89f148ecc06504825bf6196bd1000010375dc833c7e1cc2cfb39a18eea54a734b10fb21cddad8986e26a69a43b7a143fc00581f0385b5904a256e57317e6a1ff29e041afc1055c91327eaf26e346ac834d24041010219228d030b3bee22e777b7e0eb2b8928ff9e7edbecee8b07382f25b4a2ae89c0dfeb19480344a09819a8ae1cbfb6eb82c067a67c1b0821f26e9e03a7b7f4622fd583eeefb8039afd0fc661f676e7e358416d9a08e0bf84e9c80f33c90c23127fce7151b1a29900581f0297d47c92043d69608f4e371f74c715ed6a1d7805bffa56b6a3b254ca03d84101033386ff97b358c6fbbec0b63c78f3c8b22fbb168e9dc96ccbd2b547a3ea299a5700581f02a924ae551e8880b8c935e3d75c98ed92b7e53c41b277f7446f7ac27c938c410103af810108508b591df44428d4f3b2f8727ec97d232090e4b18e557a78de96508203c35f9c2810e33859be541ef165339603f8b2514969804c35c3a7ad854b009c6200581f024e197e7bde8d886181b75fc0e4c8e3c8aeb1098aaf30e69300f8bf7bad4b41010219ffff03e2c3ebb13c293a37ed9eea3df668c2b9f568575e0490efd61c5d1d26e1a8f38c03b783213316c1a367e31d03083fa3fa3e619521dc09468c3616d7538a64db8719038403707e81f1d29d6b8986440a9ccc1a5d607f523d1800fb272c68d54b7df63603a349945f1baa9a8822c42665e8be5be7ac8ce273831055ae8d2a651b5ce3dd5c0394bd03311fafc9fab5d72a0deb499a32c0c082b34e97e7f4b80771f07734213b03709bfd5bf1d58b086b07f1441cf2ba4af3c336bd70ad585c1b4e170d8fb4181a0305645270438366cf15015f46eadc6ad678474a094690fc820e0d5f2246de5964030a3c7b8dfc73894fb5d779253ebc4dd4465a6a18a9946824f8310de71fcd7f760219ffff03b53f5acb6e36cb4eed8c405e037a7c6887b179043cae2f7a3cc0b6985191767b03502b5c8f0dba0941f3b5179d3464045a883c4a301c1d8d09226aeb1090d9e2de03dfe9dacc5f053ce4e17c6072f818771c5c2932087793919afa557313c239371c03b23c378311951ffe9637b946bcc3c592f80cd1e6a95d62ddfa55d6cd2a06813d0318b8e68cb82a01c29edc0f6973c7911710bccce16e4a58824d3e43eb76ccdd090396d8f0bf3d6c3496d4368b6d71db11c39ab80d4254f2de373129d65be9c343df033d0c48159ab57c4d5fd866d9fa22d8b4e4eb494843fe81d6098c31f214509f9f03d3b4d58a6e39ee09cd966665f3e1ae398d6fdcf6f11977d8c8bcd711820ba8da033f8c647dd8bcc41b91a92c56c98349d2d4e3418fad1fee92d32ed8f458eed4f003e64a19bf5ce296c9484f83ebbb6f6da16caedd0250530b2135a515f6f7ac9c9c035adb90f3a86b251961e73b9dd1b7f046573258b79743c5ef2a9e90552a457d990307a9109311d289627201fce2a552a0bb9552e1ea90e1b6b3c19e77ac06516a5e03cc6b6127c67094803d90e20a067434d1b4d9055ca0419085b829e19af520ea8c03ba788685b768ff8409d2348de8e3907e09a6c04b13a060fd24659af97f919ce9038b8e274517eb30f5a7bc90ba5dd39a684cb1beec14517f5a931e6478e2b06d2b03fecb16e7986847b3f9fbfd97d70b0506fd9aef01ed62c24bd5106ee207b81251031a4775b0a25b252fd7acce540cb5d0e48fe31cc7183c105934349354431960e503a7cf9ea54d94b86a5c2d44374da00d81befbc1baa50fca9bec860ffbf0a31a7900581f02fa179047fed395ee3883d654932e08797e7a62627bedf590828618d7e343410103605042a59d81ce29aaa34e2473c20d1de95661b61f5ee4bf0a3859c2193b243e00581f026e8eab6fba3e537c592552d075979560de6ac0d3b6f829fe0f6643c512fe4101038829ec934c4e1e939110904f8b8fd9ccb8a093c9c5539678558c66783639e01d032761fe327002c888cb662d71322aa39ea90ba90e23d5be76228b1e25f7ada1b203eaf7e24328850630187d241946707086c8da202472578e9db9bb8343316efec300581f02b80a9c48f971780ee66fb653675764672d3abfc75e4894cd8687adf891f14bf35c0a0af835be9505195503f9f1eeed232e1a419fb307cfcffcbc92fffc62703a495d7c8d0fa4ea1293f74703b6b417cea54258e73aaf24ed54a98650ed94921f849a6d0358012a2030e505cc00581f022876d0d4274cd2d7f313d63cd306dc6c0d377eb72208cab36927f938c4894b9b0cdf30ac878f0e7f656e00581f03cc81aa315eec3290de4348f0ee089bdc659b9c3527bb5c58dcc2dd156ca0410100581f03a2551b42483a845a9edc133e0506670b558f8538bf15a53310cf8bbbb540410100581f0315011d26db03cb839c2636a6a916c8c269052044f927328ddc23e8e55660550a436f434bd5f5c792d09a618c74cf0000000000000219141003bf04ea550e268b8af6e0521862f91144f4d3e79d4e52df9def2f6b2aa004f80e03270ee1a99f74b0853f9e515372c627d84827d49ff050072e408181850792d14d03a76b5b14145c77633d8c9b5785bd303fe997f95802bb5b17edd5b3e891869be50219f7ff03f85502c236e05972804774004504b55d1c08267d4ed4e6ec4b9069412cbf6e2e03359e950999cd074b51e081be76c0d8732b72b9c66bdbf90c12181e1b64cb93690394354fa48d2c3730473fc177f300cda976ce2286b05065273ee7c796e1ef21dc0219ffff03554e927531cd83fe4a365469cf56123cc31b287395dac95127ec75c836a1de5e03e60420b676b49d28e64f554c9a7c36cf4964c26966e77a5c9608e46c7c7132260368fae21b550159a774d8f1183eabb8e7bc9b7a1008a480bb3e471ce360c04c350393a46db415f12beedf5e24fd3709c254ac31acd44d00c0710d8af63211e28ef70219ffff03a9605ff3ed7925dc07b590ce89e9256ab7ba6ec27ce8da4201c9c997bdc2c16d036a739c4548a1cb6f3cbf4d320ca82baec21b4858a3643b410a675935c38d808d03dff99094d1599c92e134f88491f17693bf52e7624f13371797dd90b29720ae57036730a400bea93b3d9c33d50210f9ce56740c414cb5ec123de59a27a935c6f348037ae09eabb6a2f6771fc39bdd33c869ad0ed7928f56fe3db8cfb1ae3ccf8a6927039753f1eca665bd20589598a0aa50851d0dc8ddffccdf15785db49919093add1503175d481f743bfc9cacbf282fea83ca3f7f6012a1b68d92c49470f33a49653d0803431b5cebc9dc3f9df9e544344aadc6ff5456506db585f2c3fb295babbb1c73d400581f02054eacdab4026ce17e062a71590b140d0294ae77a2779c18172038fea0864101039b62d241c7be192b1f1ed994962c27b52a3011cf749b3a20fb1aa94c320981ef00581f023c2e1043f4288d88bd3a3bd2b0187209eb43487d8127c7c93e587efbbcee410100581f029d148c6c84f337481412a32fe59bd3ef2603354838ea5751b16b7c76538a410103e1b56d4414468b68d42d037e8ea3f41570ce3317562925d2895074fe7e799c4c00581f0329880e54689063e52e3f4d012e8a549e719f167a062b66effce07a4076404c01fe95113fcbb8427504a6bb00581f0375af377f108062cf403c6380451fffb09330b0ab2d567dc95e061a7436604e6d4340d59dac74cc630e24ed7bc302186000581f020407d76929e0da9a3542c2ab87f1a7f4549200037a010166eddd5cc3ed454c027f9cf61ace39ed00ec8aef00581f021a9e83af09aa619802574509f9da7d54055c8879a42b5b757af9dfdf39c7491a6a6e09991648fe5003a34bd7816854c9bac46f82f19c491657ac23b954e280ab0099d7a2b096b7b51f03349d2bbe0f5a03d4f68fe1922fc9f36cfc0ac106512367792e2152380888c27003ca713c13a741d271f299ce7fddb5c7432b3443f006b795f4bd2434dff3803e5503c72125ac099e81df7103b9c58c14dac4fa7f7036c06403fc51ef3376cdc7d43403b1bb415ca82ddfaddd8566e4c1e5a823f23a33f32dcde5d50e0a40007a613ef000581f02de276b9df19159f88cee69fdd6ba7952358bcc7755df2d66d3da5146baf74c07dbbbce9e9d9fc33229fdf40219f7df03bbd4a17357142121b2868021a716612f702a800470eaecdcd6d474efe1ddd7d203d2304a0dd26d0c90a78d99a92b28cf6f54c512c7633279ae98dcd0674bdb904003b5a05b7b5a32e2442d6ab579b3053f98e2a881a3505bd16fa33bc398caf64ac1034695734595679afb6fd473482971ccada90f2241da3726d6c9d7c16a48739505036104bfe2bd138f3b06ff8e1bcbfe5150b6bff7fcc02070058586e4df302acc4d03e308cd76d2d583955bcd0ce3a39d151ac63d4a30e95c8869b460beab5ec655c803b15d2ab1fa57cd06a8a5998514a3664101182fa25eeee9559dd369ca3de632900368d70be4726a79a89971706ad16912122a5a3cb5107c60883ac0c9e5586715e2036179ccce88258c903e22cd8e93bedd217a0e75a4c2dab49feae02c8afab3b5680219ffff032385a5f0cdcb48950f715f28a7869dde071f196738a1e6dd2067612e24e23a7b03faa79f1bd8c3897b935840ad951df21987ca4b70f5ebf82c300974d28267fd790330ac7db37937f377221514ee1a8cf1e502a467d9114930837f20376eeccefeaa03470b1f60c5df87e6bcde999cc7c7d2c7406d92e7335633b275a6f85223fe99a503838effbd022695dacd341863140d4b9ee2d98ddb8296665b5a8681112fd4424d03e108f1859eddfe9c647f20d8244539c09618668940c2a048ba9e624200afbbf00300eea593fc0c9f40c208c3189601d4790b4bcf2cafd1e0651d1652106c943e3a031bc8112abd9e6d8e9a83942cebd48a85d898b85d8c88cde5855564a2f45e89a703aa0fc0e410f28dc4bbdbe7fe85cac1c219b4b69c75ded314288b722d34b1a63a037d5357d233ef10240eefebd0177e09c51a02ecf1ff700f63e2f1a2d1343332bb03ea3321055333910fe6087d6a12856b9b1179358a0327cce9f9239e4b56e30d950327ad104a5e4f94ffacb9be5d9031bd069087b2d8d9c1ee6007cf8bcdd65e663f03b592c19cc9e127dbace4e773a7fac34a02f16a9c78654d457e7a3ee16b1b17430219ffff03bd11f2492661f638c48f3a829e46bae177b5fe3cd3e5e794dc3ee66ac635befe037b6cf9d2333b3c1165a7baad688001dec01666fc011d13b84e4b049f42c804600351cedd9072bea278b072f3e7c511da1c588f31de3b5cfabb82c6c5ef924f370603cb076c729816383ce9fb01e6a70301bbc5f48ee7a15b432008aec4550c65d49e030d6bd5e9da6230d689bdef859fd38daeceff389b94064b9c50b7b9aab271b838033ea97121e51191ecd83bf6c3282b23dc2d97cf02a89f6df105875f48aa0e476d00581f02a2ef3a8f57540b6dfbc209e3cc0c82ef832e672f91474400a238363078b44c026c3e4478f5382295c9c65c03c1c23677b9f9998757ab197820120cedc8d4cbf8fb40394b742c5186ca6e7bb000581f02a209a7d154014e9ee1176d0ea2a0c0813a9aa94bd898caad5de90af7ec56410100581f02fc2e15ba76754af51d62fe1bab0fc67c9dd8e65a9104952b76621205d50d41010349a6c7e3f68cdd8d186c33f4a5622a2c9ec7f324b2beb7be9e1b0e389e9402c001410d0342c9a783894babc95846851c7bf405fe51fd70f7b1b3e24b655de968f6158b4600581f02f8135b96bfb42594504125962739de7f202c0266d47baf09f65d9556e0d9410100581f02246c2f6afa71b6b4292859406d6db35ceaac32fcb7237899d14487728075410103622fc6510e0a4cd18b6f87e96107eda4a2dbe6c6c254004345c9a4216ad6591700581f0341a0524481a1d48f13e453fe61c517010fb3e7941f403cc6da748f5ffa80550a436f434bd5f5c792d09a618c74cf00000000000000581f03a4922687c9803b7cbcff599ea827ecf2d6e6dff4cedee1487ae77d3a1150410102194400034cc79198adf0695943a4a85c1ff91b54a9e02f03df66719ee461d95e42cad05a0395d23371492f0966c10064991a755c31e5d3ec005ec273ec1079febbbe4c17de00581f023cc2196cf0f6682363d04ded42fe725f981f2c19d9427c5cddc37803b2c2410100581f02fcf7bb85d85310d1dcfa44c8a14ad457bbd12b1b7ceb651813089799112b4c033b2e3c9fd0803ce80000000219ffff03a1656f7ceb5c27fa9237dd649e9fba09a1fe3f97962f6b7def9c6db9c166f37b036a753e71c396e1bc6907a6f04c7c7042bddf3a6f8615e9119349c9a9f3fe264d03a5103393b9df0c31d8e0d6e86abe3f2fae08f9418d08eba1898b99f3112fb4df039fd6f4a265e6f965ad5c92357a57e90be07748f08d7e28b5449aa407d04cd4d903bdc91bc7f5ec684767ff712bae57d7bce496444ab9813748bc77e999a49ef92a03664e2c1bd44f131dca60b1bcdb316e79f80f5d4637d846dd6295ace30b105edb03adf7f5760b50fde6421123ec9efa5cf6cdd7fc71abe7e11b9dd051e2c0d2c769037313115812fb4092e3be435fdc4350c492958df1147906bd3c95cdb3b801d71203fbdccdae157c00bc8c1200583bbfbb76d5f33a20945f6f76af9c6d4e505927cf03bfe8c2a875a642a1a709f38805e5f0c4e87d9cebb821f874bc1eb7012eb0d63703fa9b9327f886adf94b6e99f07d4266a46c4ae43050b633066b200204b97147540303a26ffc01b2fba90daaac93681e2396ef0d1d5e09a0fc50e2d38001466b7f350383e0c4948fae59ee69b56061c9fa4be2066a59b3c94a9eb10b90b47515042fcd03edaab41d7c298b97e7f91c9fa1e2ed5d762c950f109e723dfd8d94025f6c0cd90219ffff032329792681cfb1ff9b023a5bc5c6741799174dd8946d89cf298d15517685dfb0037d9b93220cda5e00321d524ae331add38e5db9ceffde82ab2a67882710bb210c031939a2ef20117203dfe02d1f558660c8da38b7449c591f58df7d301a2d2ea35703056b6897575cb9bdbf6122fd2e194abfcfe49d607c10a0e5642b073ebc7c641e03f0b39d3e2ab25239894a244ffe023e68b5ca82ccd7e5858d8e80ade125f0e87303a137e95722bb8287d03fe1676996de1fa3312304d840ea5ef149e93f06f923c00314b20ff263ad43dbedf617095f33cb68234ee0cb73f1cdfe4abd7c38a52376ee032894db103af1520e4004c403796f0bdb0a0cd0f981851c3c49478c41c68fffcf0356472cdb0b95b8408aa3d9e421467cc598496e3ff93ad152304ec98ca132628503918beb64335cfac5cecdacd203c61567d6de40295ea338007289eb1a7f787ead03c2201e30a9da85c52f4ae38dc8fae91703f255faec7057659af66589a387d70203b83490c47e6e22d34e9724d10157c277dabc73ed859ecd6a42547efe643106eb0379daab492c3576f4e16df170d10d89ad2bef0fe3fd9e67d4560dfcfe43e6d52a03273ff5aa60c978d2584ff9f33ee325deedc87d8d020307aacef7d32fef8862bd03fdff0cfaebbec9456a914bcac0677324b0e0dc91d65f5c658b606b8a2d7e132d03d5f001f3cd4f9a19ef7515178b9e85fe83564ef2f2bf21c07561224ebb9fa4350386a2fa2033565c0e44038f1d099228fb61743a4b9cfed0062c7888153c27876b0305ccba2625b5fc88d6bcf3c6e8814deec8734aa2647b9a1b5e417fd0c797da8c0388a20e6bc0d0a33a6d6e45d5aa9064bb426e3c2066832c91a27a3b358fa2c88300581f02a0166a3c42186659afe68645d9bf40d88419b37ff8b311869b81abd291114b9a7d8f854f28778fb42d6a00581f02a1c3d7d31d4dc86103a20a2a8d317a33d243cbb6ec5065ffda6ff269eaf24c031474364675eff664089fe9033243c2caace35e732348a413a3701046be4b09f49a22f63f4f02c3858783ae9c00581f025df1fbc21f3f0c9c117d5a26765b01a43ddc8d4f93199f2126a072d6dfc1410100581f036f91f09f2f4fe8402f420ea88f524746424bb1de8dee79c1075b305bb0904d0cb0f907e2be5343f44db78f0f00581f032041a01da0a633f69ad3d1123fe18a0e2a79e191d178c2e8d8246a858e90410102190204032293153feb7f1aefaaf00caac68f6043821742e0b5ffd6c9e683f5e0f1bac25003dc08b609a005d2372a2ce2b7db3909fc5011c726dfc975ace36142936958a3cf03d4758e7a1b7abe70b8b353f4710584de97d8127f301d92062243cdea1061c0310317e8aeebc6a75f4426b01963cb27f69a8cef9d43e3f8cb7d04cd458bfd68f179014108033021b884a4611859f4679dd63a415cf8b1de91444531c7f73ebf6dd69709ba0a0219f7ff03fe91546e13fa65106c46ea5801e00034e92aa23d023a7c1af4cba34e7d8aa890035b452f5877c968f501d7c6b479d865713b545b8ea337729ac2c0e866426c1987037a90c547dec61a07c18e8ebd144735b8c4fb7aa8b3f11ecc96e7b5e3f7306652030e628d19bc25ec55d5f5b835b4c47999700cda529b168b459931480c1ba3e4070219ffff03ea5459d5df88137708d1f674c25f21a5ab5eff45ce1f05ead764f962d371053903aa236d299a4a4e45c0f969823e128e9c7e56da5972a874f5f4e9958d4d666031032363be1b6cbefe4b3047de809b8a9ab5c94565be72ae3a55629f808546b923bc03b469da85d2938f4aedc4b2ac27c72bedbb0f59531e59725c408e68cc6932eb850372a3da141b15805c1e84add8e36b7c005b409339e8cebef302585775177392d203d48c49ce82ed8e6e85ef8e007c0e1bb414d971ffdc366f33edcf7322c370c41f03014db023e54950f8a8e142d4469a5428619d8f702506609a8d54eada5577e9da0392983134284bc35967313b39c78a50e1a789e30d6ecb17a8792e62458e20f7ee0386f86f361b7047363cadbdb6c4c1c1fcf771f4ff19289028e26ebbbdd3974ae1033ead4470adaf0b973448032dc653da93a57a6da81e45cee5efd283dbb1309448034ebf127c99a6dc57327e46681f2a1891800dcbf0a50ca7dcf5012728357bbc71032aaa90bf7ee88377bafc6218c21b2ce585af9061955cee7b4d94a0e1d3c4dc8d0322d8e66e7a42f18e46173f221149a8ae6a32e37955eec33ae43b9ee3e973f64d0367f160a5fd8e239cf19fdc6e6142c8a70cff9bd50d20ce17b07ab7ab7184e89f032438472140685268217f13d85f3fd566f9b1528b128bb82ea42ef00eda9ec76000581f02cad5f94fc255e89bc8f60f01b92d2b58912b232378bf5ecd9d09aef96ff6410100581f02ca06733e5d3f3ced631c374342347c9eaf580ed96464bf5b58e2823ef2ad410103ef0b8182b5d35835637617c47968912360f9e61e88dd4753cdcd93cf6eeca0b500581f031a3016ea23d98521e5f83ed20a1d467f47e7f63715859b3bb46bfd04af10410100581f03d41f7bd341539921931a22732adddb4a54d36a7d7f1369ee5928edb23ee0410100581f0339e3bea73b3f7d43a397aaa56b79c5edc08940c3302da99780996d2d572041010219098000581f022c7e3fe928ba917aaa84ef6592e1b863379c0c37c593c1ee8601152fc99c410103cdcdcee6d0fd2f2ae7d0d02818c8c62374e4a3980bd2eeba621b4fcb05382afa0319deb7eeaf98af15dc84f385fa826495e23b5284850948a062b17acff0cd5d8703a296a2c91d838cca024fef24daf2af4c869c2ecedaa4bf2b8241077da4db22ab03df238b1e0065a3dc78691614ebb684a74e72289a96bf84460569ae5707d1a1830353f6754d04deb1913c2334ad40680e4f0d2f77cb0e137b495ead6a42e8201f7403c072cbe32fa1b3f1902b40dff6ae149875d3561a45eb8f65ecece16cc7f684cc00581f02582965aaa8ca6218c677383ed87bca0317f53f835848b68718050b3768ec41010219d7ef03ae036378dd320a241b1a8fefa0d85cb40604a89de38a6e818672900b4ebf35fb03cb6bb4e0c57c1583114a6b00f05e7f4164b667798a9f1cf9ec21e790887439b303952080f86dfc1d9e8e5c2a16162e772e2e57a3bdd3f921091703ca13dd10d6860219ffff03e52b8d45f52c0956c9d4bd7294fd39a0e9e8d37e9e2971fe699ffb3f484b4266037025a7ea457ec617ed7cbb78200b883fd7362dc9074651b59812a2de37425d34030e7b13de68ad48bbe4e0eb876e2f2209045e569993a098b9b135baa545e2d1700352c19db692b7011f66739c15bc1632ad8d463247dfd7a08b586ce209c2f03b4d0331722ab9b4007aaa0d86b590725395d96b1062d6a921f94d43343542d907b9200219ffff03b1ed31bf53575b5319cf644c033470bbe7931d8f45a131dc06019962387ccac503e57045190fec4c325af11a1166dc90940475770f2eab35961548c30271dcfc360387130faa422cc3cc394cc72cdc5389a901482835cef1f73c3b97ff2c92f3a8d50364165a7e1896cd1745b3775de771111fadf2dbed04079370f8dcccf8d7099c89032a1c82fc2662e504f5c86ae981f05f69d13f651e8f0f5e7f7c8b914f73973ff803d6f691bb0514f8d5a0ef410c6a8e3fa43b8f0fddf9dd64c4248fc4dfc1f398e803d83d4a66a4d70062fa06feca002e34409bdb8bd0821bc309ee21f2f8f4a79c95030ff91fa635ecc4dbb54df5a97ea3a11934eba70063697bb1c1177c9cc3db345a03e1e83c0e3a64ca931be4ad93a9ade148f29f884be319425a8dc50c3c41d5b9dc00581f02015f78d88419c6a460bb50acfa942dacf479dba1ce54f3e0b6a8df79ed94410100581f02afd57a65a3c434e44ba3873882c93b11f70ca7710492a4b121831e196996410103cd1896042dfa07ff5f63a65eb99ad89c03a386b3681ed166ea08dcfff17afdc003919497d66597c863c823f6bd2cc846ff575266a15f098b65c910cb0ad40e9cc100581f035f0d613568416dafdcfcc716cf0c2d47bca39512646e8e80a93596ffb0a0410100581f038a5206ce3c9e6cf0776859d5b69431a46da2729ba7b87a00264e83c0b0e04d0284ac976ca6ecf1709541c59100581f038b2ea3f5a139964b546c7d6de6a57ee06216f3be2d85faf193855b1b65b0410100581f03914010e9ff70bba8111487b68a21c4cd428af072ddffa0b5a8580ad529f04b4c3e36bbbb1fa5219e514e0219801600581f02db814f9d54741cd834e53208086bb425f5b64257223d9fea257a0fdad57d490113a3ffc440cf000003ad1781a37fd2c2f393d863a1458d160d5bc1a4526e9538b711c863a0362259ef03737b9f979e82991b08e37fe4d0ef2a2c1bb6eca59e45267a059ee4b85f37baf800581f021960be987407b82cd510aa9c25dd9a538e3f4bb1b70a92efd4c06b24d7764c01747a68c7509129a460b83903d6494319775bd3631da7e83fccdd66dbc2607c4c0654b552eb16f0c08f42fa2f03c16c5b48c192ab1e5da5367bd7065691599cf0b036b861331e025e9ffaa045ed03e1ff353308caf9d9cb663b78699f5580de0f3eb5b4ac28740fac5a99298b95f10394420d3345f98d8c887a3719183c6b372fcfc6080b6d9656f873da353fe6043700581f0247aa4160fda129e319ee7e55315510f94177a57d064d4d454b76d2df165f410100581f0206e4b822037065a899795bf2b8fb066e66a6854f314168b2493e355e0f5d4b0a27f2c066572d56a2673b0219ffff03cc255e9a84bc3dbecfe24253eb85d866eef3448cd983cc4e18642e898e3a72cb03cc89c52e35b2dc5fae657fa8d4166fb9c5a448fc67d5afc6a374b22ba171dfbf03de7fa5ea3dba7f2384fa1c2e24aa36c0e262df3a41a71d57f2871fe6ac20ed070389c83e9744e1830a2341e6c511733fb2a17592938a35b7fdb9a62eeb3cc7a6ba03382f9844d7c7da4e5375f4a03b76c0e4c2bef422534e79ea37f0f5c76601e41203d0cc676ffffd5d8b8f6868d0b7190903421448c7f23d1b51046f5606185c79a50367ea1e0a88e2e4680c86ede5c59c21e10a975473242d5ba9a67dd3fc65f546ed0354085308533ad84c01fed8d9fff4bd0757dcfed56584bc49d47eec5b1dd99cf603c3295d3758ba39cc00ecd078df7160a799501b0be88c85377e29d6b91a547aeb033762e4eb2d662ae3ec5b92adf172732cf532768644332e8b022132e95f23795b036c7162aa1a5e3e77ebc9bb955e7284d7e3ec864ed7b07779d65e5b49891314df0219ffff03d8c3f2a11f9c0478c1f6f584f121d419f91a653f65f2f7dfcbc39d557e7e1521032005a5b206d891513e9e3b3298cbd7e615154616f0e74bd4230afb7fffa7d11803c125b247a8b1650cba309622ca2480c1620ab9c9960fffe81f104cf70ea967690357c9de9445a43284ccc99007f23ffe3743926cce541603dd92635b65328da60303db7bb2c9cf38138030a14ced733d430fc3b1c2d28cc0791843da4863761e8448038d3436c10974faf1b2e5e227f0881b79aa992e92a067f80166d1834d2273182e038a124b97a790b085bc5aa0084159c3e3ae1bec0758e8e874c5d9ffe4205b4be403530510d82ebf3c4ecbce2475db29c9d9d0e3ce1aceda5f4d79f1aa1b91733132035aab877cb8b2bd2f55bfb4241051e322baf58fe59b26575ccf57e38cbe2262b10390fe6d99b5075abb62e69afbd85edda7d0acd1048a6d130514c1c7477a093a72030617838288ada5e2ff4c56c81299db6ece24a70db4c5031a8d4aecee222b9dbc03b12fc4c6490c60aeca1f83ad6effad92e31371b70293bb23de67f29896c34ba5036afe5e198e235a6829b99bde1a3a4f1f9653f65f01fb58c5129ce8059623c8d70219ffff03a7e4552ffdb5547448280fec90592acf10510e838b1ddb5bc2b848d9c3ed43680343bf05c8ceb59844f03244a25b137ad2650abfefd9dcc4cf115226bcafb6ed45037b453658a58dcc11b5506e7b0e751effe017fec4afc28a032f1f7b1fb5fa7b6703e993f2f40f5213856927aecc7e025985dda88570b36ed37bbae48d243857904d03a606eced84c525e19894ffde98150339abfb9aecc17549e3ddb6f99fede40c39038c56e2cb1221ae4e57de13d62e50c1d1eaf53c403ed63e9f56adec90b8c3d39203a755e975b38cddd9e5da67af9c0d25c391136ba740c021470f3db9417716174203eb1cbd3f25b38050baa0cd9f6f4d5042e543101a8c55cd5b3b3c8893adb094b8031073ba7d39b57be7eefcfb8c9b1c4f8c251e064cad4777af814083a2a554ee5f03872fea95e96fea30048ce0241f9c80fb348e9a2a0485f9289c2be83fc354b290030b9592e7342ae48044e9ae0e8e5ed58d482046499d7234a16707a6b68fea1c050360e59b959803ee52950432c0e42abd9756e1919b4efae79773fd52081b68246c03af16fc588614f305eee6778313f98c46ca2242e4be50af3ced14462f470ddd3b031948afc4d090ac343a3f23ebb15893b12e42173bf48f0ce93b858be0f9c35a9f0380e56b247cfb4bb10fca3f39a887d6baeba444fc1c3341028b5766c201abac5f03124eebedc85c3eb0853d437faeae55cd6282f851ddb03474e6d860c38a7aa77803cfa9f9972c46d8bc111fc56484f5f62256ff05120d0a867fbc2960f138f5030e03b7d77331ca960c74ae3980ecfe5ff767ac35dbf257eda9a72b58c3c136268a06031adbac1d192fab6c324762d03b1f3a377fcaada8350a5b067a92361015ab060b03afa78f99b771457767c2549ca52d23633c42072b136133661bb6e6d0f9fc2b0b03e436764ba3840f7274e5874879dd75d1a84ed5b32bc31d125fc2b4cfa69aea3f03900ea3224f59d4a08c93b85ee0dbf7ed1e65634092d89ae3f401d5c6aa9deb5f03f404afd286ea923a01f707127c87f0c0717fb6a1c452b8eb0534b8039a06450f00581f02222bfbe03c6c1d5a67d0bd90bec0e2f1b62cfc06b64d1680a889eb5ff8544c060fa76b57def2e1bbbf1dfa03e12e9ae34c64f746b43c2799d5fff235c8bd68cafdeeb18a9d20316a4cfbccb10377954e371f3d641186b5cf319a987bf670becc362e12dc892d3df25c2469a77b03b231eeaed347229346426a32b5da144882fd3065b8b0830b4e391f859af881960337aa174003c66bafc4b56c93f0c4657e9362ea453a94529285c6e39e78117b42032e0be34873c9b3138784ef111acf1ba54a53573b4d932d7dc154ae1983540c2a03d1c50fdef4198d96ea2a7df26bc279244cf445521bbcad19a1fad5cc808c6a5d03f0b12624a8fe407813890643b48aa0ce289f1ce620d0d522b666960ab8edd86f00581f03cdfcb88f1bb8767a860312cb89e5d459b3691d02fdc2bd9d668e4ff854e04c0324582cefa2cf863b8d01d500581f0390d26d38ec0f26cd8884a883836f6817b702693e494119a80f76af7ce030410100581f03f04740f34062f6cca3faccc7d8910b89cf0428c18454b647a89d1bc2fb60410102183800581f029987d10092f5f5176b4287e97bff6e98bdede0b2f1dfc1f8171890535b3d550205fa1cce7bedbf589ed61a2b25d5726d37093fac00581f02dae094790f1db0d36e55d87f6517dd34435ee13377783e7cba913d9d213a4101038d53dc48e0ec40cb087b86ae5bfd5a2247413a3f7d47f8c8d54846df571fe68000581f02e4608427206758bf804076dfab673a39027fe9dadf6e99a6385e6706f3ca4c0317ed91f31c686e45a99d13039b31ffb5484f38306512eb6f02c06531a55d37a42421fea659fe4b34d5bd13e70219efff0311cecbfd9c2d3b722f69c3fa51764189a7ff5d09e8369e8007e7977e301713a403bda0fd1b95de8db6d4c09ae9cda0feb352014e6877c599d64a624898920fbb6403e11fe7c76b776eb9e9dcab657dc1a3e703b090979bdbe66b959a415a4912049303f8dc12ea2ce5575bcd72a86bf8a0237583ac140b0079a4210a941a8418bd053903531e64a0c388a1fe274a93e5f19123e125b2fdf0e010e0f3c820ca679ae6846a0219ffff03287d66d9c49c874a835c79c4cc403818e3db54630c1a2daac5ee56c9e657135103d2ded27a51c9e0a3649d841b603e60c8e2616c39ee878e5a39bdf12ae26088cc03937c987acd316667351a1cb60b9a0cb098344f7800c62af492dfaa3da71b3cca03b5ad228413baff2f78346fa85db8ea1fb477b51795e1283462cd4dc2cd3d93760219ffff0323358c34bc7fade95c984b5cbca2259a1e14075e67f025bd885c681d75d982da032f196d74a42fec7662eb028ddddb2fcd3a8d304126a7712e4e13f4f074dfec2003547a4bfe49cb56a4e4621edc7c3fb418a44b554ba2d35bdf942bffb14fda35ec03cded332953875b6001e44b6ff53de764daf70802c78065660e1e1276045be16403c5109e46d72681da2c07fde5e373f9c91611910dd43e67287a30957e48dcacd90300f127d9c73b12bc27715d982cc01c34d4a50a814e94dde9e2c1cab2cb55fac903460429f510323373dd23b3e3f3c90f3d83397d4bb3b13cbd48c259f03dd9831203379cd9dd24d3e6fed091fba10335ca5554b17c47384876535d343426aa7630ab0397fb939ac0505b9496e29a288f9328ccd6886b4a87832735c50448ca91669dfa039817ae92fa3d652fbee403e156f780be55a7b1720da381f547800175467733a0035747910efe423db503d56b0a0ee6cb03997457662b7af2f6a910a9319b2e0a7900581f02ebc194432e83cf89dac40f5ab40ffc6c037a3c1d82dd1466824b210b8728410103037e19eeac11b40e217ff73d09022a30f00bc4902620e0ee5ac1ceb5aba3248303a7dcc6736c006f60661391f36d51da12ee0557f646132ccf1bf49d32af407741035471d7f48e2ad5c71193ef285ae3053fa7d3270c9ec2797274284cff739a3b8400581f02d50296a4b11da3d7c1b1805262b48c991aa948615ec393e3ccb074047a1a410100581f025374098f655fc5009aa1dabfecb00fbc1049c5d8718e840bb7c2136a2cde410100581f02b9b67b37b1a16e59845f2b099a2d5391ed132183d2dd227be494189081b7410103b11857e5ac50a5213275514bf15f78bc728e0ce13a510162986687055d660b2900581f03bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80410100581f037742be5bfd5a72d0050255b65b09740b463946a52252955a1d0ffcfab23041010219018003ff78bbb0f6d8fbb963e323331fd6bfb06b8be50c51666c377af834281cd9c689034099cf7ce41e2d4344403b3f3b07ab2d48b6065024f13adde8d985f891a46e0503edf734a318e4855e491ae8e1364a37de854a6cf32eb2fb9c02fd72122c63de3203d0ba32d937b7d05fbf4652fbded8cad6d2bb4f1072c4d57ed22647b251fcb4b40219bfee0339dbf2d49fdbe062af8927d4d860fbbcd377f310cf7be7677e73803f80f80c98036b7a3a60f8ec1636ccdfeaac093542f7daea01fda3f0db760932bf367e39ed37032d47523a7e2ead88388ac4c437b501e7361f467164a3eba3f465ac4587c48f3903b8175d4da1ad0920acd195dd13ccf7d84234ffb9b274067abd6a32327fcdac6d03196098de8e56a7d8aca0d3ac2ebf295238b0ba87b595a1705136da17122f0f7e031a9d520e4da08d547185161cae442ad9b8620c2cb98536c766da7e40b70aef36037ee79d4b7b4c1c42c90171377f4ddb9004de93c3ed4f2a458b3dc37175d273fb0336c7e7868061ea4d76f1c38c469cc13a389625a07d7057ad1fc2065351c74c6a034f6026516a09315ceeb1705af9e9aa12e0160d76f1fcd4e425b8b8d20c7230d903517569054cc7574c84dfd4b53021d595b892f7225a935ad3717a834fe19668550219ffff036fb574261cd40b9a5410f1bbb34e8fd3ce0f6477c045ac03d4c3f356c69a709e03e5bc3fc21399255f3ec23e2899fd26303f80f6a332773bdd9604bce9adf7ded4037078110227fe012cb36e0866d12a9b7666af32a7782e26f124b427bd34e5eaa1036c488ce1cbd7fb9a729dd3f4de3fca0ee5c4ba5eee7cc461398889abe63c9ae20349731382e8cb448f96daeef252363299a9e1d6976e0d53b33e1dbde50a043c83035694ddc351ad50fe1d76f280c161adc7954f2abfbddc002917c5aabb8df87473038babe712eccd5b31f7e55655a3da7a36f96f81a208c142c6cc7ef76d99f8954a03447f535a8a0998d82c1f72ddf883342ad07f560783c0cb360b25919e2def2f4903b34ec0f0884971a21aca0812a08a0ec0bd6fbad4d0f58302f35f9aaa23dee95203b873f30fe687d938f4f5a115f4b66c99cd180e295d8a73cedaea37f0e90cb47503dfe01217d79929e7564e6a19c256d401e42b7516e7eb2661c7e886139166d18d030b4a93c3db87201b76dc460a191cc9ec84c0e695385c970788e185adc7f3e27303cacc2f87151f50a830f70741da9932158b0ee825ed4f4190ef76086d132fce0b03022fbe49a1048c8dd5c9d944ced58cb96d7ef23700b3d4b3ee0f267b436308f900581f02b8af3bc0f8d8fe04ea637ae8ab4ab0ca4dd6aca0b7ab89bcee3d743bb3e04c03293a69f8444d6aa5c80f3a00581f02444ed2f272333c5114d91d1634d21309e8173d4e964be402fbfa10ccb391410100581f02a6f1f6360392fbdd1dad64fd375c20145e5c292f5bd671e4290ddbc5ad7d4c01de1ed1a4439d6eafe3f2d400581f02012a0f694c47ab6ad40df58ff281f5360289de2fbb6c61ae790f7f6b1937410103d47134fec05e7c712e031e4e22cf89238433a397aeeec2efb459d2af60f6780a00581f039bee2c0601224f465f343a0da537111dad663955044983645bfaa0dbdc30410100581f03b6a0337ed80549835475114721020e3c8d981baa9d03bf8b07e198be74d041010219800800581f026c1249a7f7f72c77f6edd0dc148e21d10af139635cbfbbba93f7a6d26173410100581f021213792bb10706eab8b2a451ba2363d079065d8575aac94e921998ecf6ec410100581f0272a357343d6102f7bf44e242dbf3bea79e63f06c6f0f2f8ddc5c3816b682410100581f02a2ab676f4aadc4ad7b498a1f9426ef5eaa0c09e69db8a0889a57ddd3b8be4c01b585af7d463e5f440a60de03538f0651c3b3c3e665a88fe4b62f242e50e22a02a44d7c6c9c9623fecfb443ca00581f02cc8a53ed6b928630baacdd76fc6d450c22f2606a397c120179a8cbee7bf5410103712eed8750d10d858824cae5304be2c589cb4bde63e1766dc5449fd05b302cb203c2fa113777b780acccf4ec35c3e44354bcbbfc890b9f7cc4d26c0c682b0b477a02197ffe039cd09466ffefd02e134461cb782f2829b5debc1892c9df582f1e7d27ad868449037df9e3b6c0e90be4e2663553ed324df9b582a1790322b1bb16d78a0c849e651e03ce909176ac1693ff0944c450e807aab1f55e0a205d5501bcc0b9d2e53c0948f00219ffff03f7f1d39bcebc62c5e5093c9a7a7f4616ace17aa192aa92921caadd5f3cb0001f039ccb2830a8f06b990e102b83f5579f2f00e4f1b7c95ef1d187818934f7d42f5a032b1c5b74f5d53b1ad0916c87949c79445ef2a52be2a2fe810daaa56e6ec53d98036bfdaa03c558e0b0a0358810077b11077fbad2e9104e2fcbb703e30a1bbefc1f03617940b9488ee231a457381900d6a3e13a664a7f6d5e9d87dae8cf1ebe8d818503d11ac6b346591e34b78a9a98e065127228e71f468454bb470e93c86a0cc573700219ffff03ed4d77a691c07b906d8df5076d205d56ef568556065e035b3f946e1c0102abc4032712e52fb94bda441cbd156643b13492750af197c405f1ed6fdfba03ee9f2bd70308676a8f4369508d11865affdfc6f00d22fa6d760defb306b8dd0fe33de454fd038d80a83fa063a9e82b656bb15f192535633b310806250f10407cc2bdd1018acb03b65ebc7e7293f2c5f80a9a4706a64a8409a586aa2b86d3f41f70b3ac6768fbd5033654921867ccbe1b1cdeaebbf6dcf15457b41b0038f64e43b887cd79182ff3f603049f2fefad75152f8b901c0c9ee97f231eca35efa1244c55007cf7ccf924a3d700581f0287239a1f80b0161d689557b542d1927ab908fb0aaca2ab0c4189cbf3b76a410100581f0246544be4b3e62f7885f18850a2fb872b4cec06ab5a3233464c752c6de9cb4c087448c5931b23cace095e6b00581f0222d938e92f82c84f887d8cab3099d1f32459a9af4817a03bc13174b947f04101031aa29f15ce53e54250ee9505b128a9d3e776b13d51950f620c66b4554059735b031859970468bf3d3f0f37679fd9fbc557f39ebcbfce0bcf45fc679441598cedb80316c496448ad653b717b83176d2695e117fff67eace33ba4b79a6fcf5b44e938703368eb31eb3ad343fdc4f018a77ad0411fb88e5c601ea154be8a594d86421984300581f0234ee3b88424bf6b519e7bc6102ccc66187107a4fa2f0ea6d7e6a14e80abf4c02ccb3c7b173f5588ed4e5d000581f03f9e9624df44f53739216ea7ac0a392a07bc9a07dc3e9cba568c785236140410100581f03102c9dcbf3f68eb46c73563b49ee07d74a8ee1f4daa6c8f5d5b216e461e04c026aa6d4e05af2fb43230a6d00581f03c2dd53ed09c362a45716c7c30a2c765258e42eb8d5ce769e768081fe1a404c01f9a269c70e2a3a69c7c73000581e029bd624ebbb8f37805704e36d89b3c23f5dd30cdffd041c886e05a3ec3d410100581e0239f2304a8f4e1ec05fdbb8439eda58832a8832516c40357d576eb4a14e4c0341b90ded70240c4324c2e50219100400581f0330c025875af10f7f13912d7dedcfc4bebac034cfe51702d04c28773e8f50410100581f03d1c6e821417ebaff5e3ce21860dac4d5c0f54c18a4e5ae178839ea6fe89041010219a8c80372af4fa340a9992c226c001d79e46b03c04471a8a60bf72071ddd1e8c5e12e9c00581f026a6940624f2e7f8be0c2e9fbfc63c024061995cad027a13a5a27aad4d0d04101038da76280a40ff8f47617114abc9e2e151529865e9bbb795a6dc1c21efdc3f93000581f02f44c1091aa05227c4cc9bffe3f458fa30024e49128934d481586e212e04a41010219eff703803e9f48d0296a5d021d2c18e910e52df320bb39af7ec10ed4baa7ac94eda67403ed8817150f3da3ce529fc90d443546546b011785cd0c530ad699f363bc0f0251039c62e43e6487e581dff92434fb457daf7b849ed74c11898d60e794d0fe94a8c6037150f9af2dd77b99a71f6d005ca7825303e34a8ba2b3edc2318903320ab3194703d98697703c92a58ee4fec3e92dcca13a5398f345da830a7ca94875a8f5e717dd0364bfc82e4e72cfe9d079a2d4ea3d2848a88932b5eeb0d5c60203809f05a5adca03aaf57321e273aaac0e599319915acce3de38ac9377ebf1427afac9e6100ecd3f03142c3b1a7a9684abc5b9aefc1b1ab0b542b7ce7246129e3f33d821306d36a2b30329e46f28f428bd79a2bc93cc61ae3e7096cc11d7b329b52e17266335a15a6bd00393905c8575da155323d199d6d9a573464c83edd41ecf8b5886d91478153c97740219ffff03c2b2c97f75c498eb1c449493fbfa573bc98599b953579a026a45d7f6728ff0430333781a637f41be6b5950da6c3160c0a6d032f1b468d29b23869e7b6937c6f9f603762fd219a901ee72716a0fff9ce4763e2aa98ec62c69581d46aae866705507d603c858d6207f7f2ad9a203738678fb4bdccf45232a4aaab8cb9d7e43996494194c035bc5e57c96a93909d8be087ff1e1f70b9986af1b03677421d386d27d6a97e73800581f02a01d904133ed4f120e06ddb1fafbebd78a53d9c3d00dbcf819a65da0f7294c02dbdfae8ce627a3abbbe6be03eb6b0ede06b6e59fcb1ef21cfd08f7e83658cc8f6665d9d22eabda33e6f1635301410f03a382c5e4657c4e179f0d8d0b3e97210f82259d1bc0a202f0df7c58fa1b9483fd00581f0332ad30816cb3b0ea4918b17d2f41f61cb1918cfb78d4e1c1a6ef18a546d04c025644298c8cf5f900f55f2200581f03ca19ee27882ce209a732891261e71389dc8059bf90aebb7b4c5e9ea934904b1214b3141727d955a6e9b9021940800387ba001416787203e3731b483779d95cd6487931ba1303cf7f9f65d917a42a1303d499fb30dea3f5c61e8f99fd06aa8a10e637d9b94dd1ce01d5272fd9c09b634500581f02312015b1f117054269c5fe7fb7799746df37450bca1014a611042d39b5a64b7b02447671742be41d8469030addc26779e91b96045294caa532044f5a65bb0847b8056181a621ada17915cf00581f028acf237888554d3c08e7bb9c4564d4534c07cecc13c5dddced2aa207ff10410103e701ec2173c4db44934080a0dc6db9c7e0d11061377ce3431ffbd24572840f2c0348df8502aed0af705b32067b024f2a5537c002187275106f51a292dfb93b32aa03b251211a049addc5bd8a5480e89b98854fe55e359233ec1d12721a5cf5d4595800581f02eaa3318542e94dde1a9b40a5babd4792934f56603de51abd6543421ed8f3489155315ae469f22a039f4c7f4289949d5caa896dbf413fa492e38d3c6ef68a3f1dc3950c69bcc0cc030219ff3f03ccd623aec8974c84daf0bc8bc01436f39642fb41bbd8b239816e84508e0432980347accdf826ac85cef1ad63fe1f0a24307f79896893cd52915632165f6dcd668903eb20e03b79f3cec1026a231e363f244d6ebb71fbcc1e590f5e1e287c2c97503c03f7e3b873a242a1f8cf83049163ba680a41ba7f7bb3acb0d46d2dd0a240d67d53037ae291d4b0bf794110a0277e8b76544265b4d550e04e79bec47339ff3da74b6403b028111b9104d21908c49d6824d8869e91ae3488527fc1c606263a561b3878a903fd4609049d5c750f4f17486ff77ff3cfec60f3092444518b17cd6201b521f49503512935e2632bc7fa6fd821b3c4143aff3f40249518c6ec7a1c3859709a8ee82b031dff4f283448511535d73c4c0c6aec7b8c4da7cfb17e509a477ff2998b083fef03142e580cb9323fbb982a70720518505ebb4fea15e0a7774dcdf1a23961410545032f98808c5bf44ea9093a75f5848f6c50a85c61368e275b760cd8668c5f0caaf30219ffff030ac285a30525505865db3f9ed7e6c69a58a7bb28c63fa4701b9060548e352d8f037f34a0a51ed24c4495f19fe70b904b1154cad0a0d4a439854f6057aebe167ddc036002bf3a0972c1d66f372ceb9427c4d5d67c02c5e5f9a7a5a812b20cfecb9dee0373f7c0bdf6288fcafdebf552f4b384aea99725d2f9c751d9e488115749b8e85703041010c6492b084ca7b60502132cdb11d311cdbd7c9d677ad6c09b0ac66a7105039878043a007ebaaca303d5a9c8f32a8d8e0fd6f083bc8720768dbb51954e3c89036befd742573ef4d1a0b196092013db5e0d951d35884d1eb9653ed68baf10f59b0377ca1cc712922207e3b0642c827ce245c1b2bbc8d558a31e2e9f7b59d019a1e203b057850ef73eeff8fc1e5534388398bc007cfc07753a963316fafd8b7c212d0803cc27e912911cbd4cb06ebc19df1ed692f6d74ccf228a674585416932ef1c8fd2034a9af827488c596e5a6964ebe07270fb5620bc77e11473161258545caf0d119e03e37883b23a2dc07d525c1ffac312b0fab6ca2c5ae2da2d368bd04f3ad857e85203ea9084deb4e8740bd16b63bbd98f65c3e2b54724b8ebd5eee1a7e2f378f28d7a036117d36c8679fc305a02d32cf503bd9356ade9e394a38cf2a06167fb0c90784303b5a38602a6408a7fc7501cb6b75252b0efd500ab5b2959bf42fe9fecd9045d8e036c55225dcbb8ea4164986ee8ef0802294631a2e86c40418e17f68fd67797bc740342a59e014e2207421f3faeede72e7692313e62f722716276fdbea2cc6a22bf4703a0ad1d3e449d6ee86b07398374e073c8d389471958195ba05027e1afde6e549103e985d8e56a86eb000d4d308801b5991bff34ffd7d0e9ec281f402e5d6e80ebbc0372193e0004e6cb062c12e579bf7a4db112bc2ed223fdc056e0a8fcb450b4414f03cca04d6077c8a37794208f4a5636e201929923a05844809a7c5f5f5c0d26fa1e036706517cb9c75b4efd596776db74e5f2144f273f95aa0f301a9879de805b531b00581f02e87f10f1b1430fe40292d1b2267c7aba3ab8a9742fc9a4cc63dd64f6400a4c0194a757963f7619d789faf50323b1f0ada32824d3e8fd02b9a75d418d34faa717875d5a89464cfe0964b25a3a00581f021e6fa76193f29a3bccf64645f9f368828d5f5cd41ac664295974cb2a35d2410100581f0201b53692628d6ea067bc50aacaaff500ef9ff94bcc163cadff7baa7f645b4101030025ead04c7b1ef1bb74f2f8a1e985cc0cc10d97aa2d0552abadbffb8041e9060323f63f308f20a06f369f0f7e5bf9b322770082529723d101c746a6817dee654703cb5670186b8261641dcdbbc9e38d99391885ed57e43cb7126e6f3fb1b266bac1037e46bd3f05664239c664c78dca9558734d61d402ba1ac6d2a3e2b0d2aee537cf034e595990be0d35ff8d9cccadc4b9ca9dc1e6bf96c61a9227e90a84a4c6e4a5a703019fa2c8040efdcdd00107ff2955fc907babfd8d5233ee0dca18cee69f3d6aab00581f02d35337f4109dce15b34be487a08c8e8bde60e3284cc4caddcde315f471d34c02f0155ecb76c2a201c4dcf603760591dfbeebf05140887eda146b940975cfb4713283ca5584bc85f1d98ca86600581f027fd028f63456637df3938ca9d2d0510a02e46be3e3e202126a7e30f54cf14c033d68c64852b34fe939386f00581f0231967a7bb40325dc023ac46a2a372748786ddc08c7ec6dd85094df052d2e4bc8b82d58207e32100382680219ffff03f757abb32b11ef0381d8a665227513bfc60f7a9b0db15d160a20eabccf672fe103dbc5ba58de369b62de73785e697c593abb7959922ef077582cc9d4f626d68e8403dcdffe42391d4503bc67729fef12eac57af516df72f711b70e7efd197651468a034ee7a544821fdc298388dcda1cb1d817d82fd6a99c87416dffdc5cbf43327b1f03d903579ff0380b85631510872e08a8b0d9080ad9cf13624fa86d85e72ff8b0ee0367dcd1fee8fa0e94e9613734e842c54c0b697aa62b752b897258fd5f434e26440219ffff0219ffff0369f382abf682c7789d2bb9324e53191e94fcda4f24c2b9c3465e2d21ab0e09d4035367d375df324cb83bbcdaa388f065c2286fcb3c1a3f69e7e75c871f6e96064e031ab7c5d3afdd0b845b793492b1d44d850a6849b4bb19e91c80085764b13038ac0376967be2ee6b6de48b0faa80e6ee57f54b5a3c2523a6c9d7e0cba261ebe2ef80033ecd9eb01d19461008b9c1f25cd876a9b68d1aff7b0f46d3519322ae8701eb15037b75650206e92e61f190be0cc5b62ffa137aee4f28197246b8eb08fe8d27d31403f767342424621d38b894d431504e23ff22ccffd66d8664c5e26bfc824cb0560303c3e3ded1a9b7a4b903f6bf5a67993b21017fc2eb2d5b9b3e146965e964895ff303b8b6d9d583a3de16c85a184ddea83913f3b5346655647a95c57789028e09fef203ecaebf81c3b267cdbbef12d9471be9cab67724e99e14216701348cd72513ed5403d4d10659e04b832716bbec33b8c3bf6b787d60d9b702a0dd93c1c7ebce6c9192030851e94199d023ef702c564dc604405042b34d816ffdd4885c9729dbd8d117a903d87f9d05cd196466b695ff203132b6001c3103ed4d11fa2435b7900a4c63205103262956c7b288c6a82c6be4459a4d97dec0ab1d669ca869b29a1145f8e23cf38203000df91f71a9d9f1da55de15ad5951aa9a102c505f0fa4c390bee00d2b26566303730b3b8fe6e57c7adf3cbe63f92340b12cfacd4a7bca921d867a9f24a99b29e0039ca4cc6a4d7e3d7a9c83207ad0284e515cade86af52dbea5a682325b36d9495e03ea6e6f838c75f6d8adc9f992c5b432638557b2db9059134b15208bfa8305794c03f88960b343c8735012e3af93f27b14a4d8fbb49d4a32f6a6d7fb5929eed75dcc00581f0302813cbe0533211e44018a33a4439b9784ab758359397497b72f4278b570410100581f033f0fb8317faa65266ff595c91dfa6c418e9360a5ae59752e6f6edc97e0c041010219800200581f02ebfe19e76b3216a0771b9230c892ca5c6d056ae04c943bf02400f269e3ad410103a12a72f7a1f08b5e7a43f73749f14d68f6c6e3fa94031d04cc1b241c6b27f72d00581f0252cafc975f81cd33c78e9af3b934607e296d9cab5a3af6898d5162268e48410100581f023ea34fc95fe400a0b0869e2ca6cb4c393abb68c753fbce9f08cc89188808410103b85cbd2502626467a55c1dfc25f889db71113a583cf4c43dbb8947100c7936dd00581f028cb4bf283e7bb62ac486b67e91f6f413eb9b33716bace39710aa3a5a420a4b2a590f02ceb160852177f800581f0281e065726165d98c49124ebc2de13a6737b5046a2210a71774ea3bea85064c0133bb2032ced0496b766c90032eab837d97471da736c5368724c87e5d5706e04f59acafaa25c818f0dd737bab00581f02abd240800e3098b6e8635550843b26c65570dcedf6c08deaa68c34c4a7114c0251117c976fa480af9cf729035979eed07aea9b312d73d026cc44448887ca034630c59957c1e4035bf7271b1d03c9d2d272b20b72bc4ebd5855be56ef98bab9f24a1ef6f644937ef5f6c6a2b217036ad4d1970b702efa2d45166928460cc23d1c6cc69dc7df81b6643f6f01710fcd0219fbff03169869c622b10193753433e2d74f845bf397f9e4c208293f025e003dd2ff883a037373297a5babc8fec696de3d5c62e2cc17b9f47601783aca4c7d147dd8252f4303bec3cc48e8e17fb3af3ed073c44473822c854892dd051d6dad347c75f537d3ac03e45e0722d7364e77883c77b7c09b304b2cbf9527df042538874ed52d9fbbb3cc03387584a2b0ab75e53e1423fd0cd199f90e3abe618a1d6d9a566edbb9941054f9038e4ea6826c0322a99a046fd1ab4b93e08e93125cbb91573b9a992895b62a61db03f6d790b9904df4bc7ff53ed1224046b1cf4a966e835ea2496b6ff7c3ddaedb4e036155e3d88c00c3d66bab7343f0834b00e59c982f071ce293bc456f7cc30927c803c9e1a2b07b753f2238b5faac9975221331ecd381cee1ca57654f9ca7154eb8f20219ffff039961a5b0c9f30c3676cf27b6dd4482c1ade3a630c756037a03b7c6ee818f9ae3030b5d471fdf0ed33cc715228e0029f80f8a3993c217ed36d13f915731111294260381e81b01e468021a045a2b070e2249f5b582b1f9f4e56d69ce4891c4748571f80327b5d2132be508a820028e9b046e80ee0c64a98b6d6f931cd90e0604858a33620219ffff030104dccbfa9ea5d1f16cf44b0527650bc206fd1754eeb93dc50cb58d243f227b0219ffff05581d02a4216113a2fb238127567ed9e4d6309abd40c477f5085f5f1853697107011934b502198040036c52ba42dad23e04ee4cb88e9a4861a0b47a0ee6bae1635ad10ea1b5512c8f7f03b3e91992ef430fc2a3630346d3a824c381bc973db5ee22d2ba811f452e241bbb0356c4817c96d5db79a031f42d2b4e26186c53f9564dee56023d40e6ca2a9dbd890321feebc0db7c16080f8e642b79565a96105f5866f05af5f91fdea7505d04db2b05581e03c7bc28712da23d11aaafcdaa0d0f30c2c587ac7b3a745c3bdd024c98e00406031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e035f81cb2bf70e3edd597edb0bd92321f63283921722de2a3c71523d60c007011bffffffffffffffff02198df9038943dfbfdbc609397d211b3861386aac7e9aff5d3b65d5c4fe34b806069b2ef603128f8639d43e67e3332847b7510ad4e20f96d0cb1849d16e9f756f1ae490cb1c035d1cc5002b232a1a43765594a182f2148c55c79ec387dd3ce5bbfe203d47da1e037e8d21daeef14dd081f4488c71af9556279164e897d49bd9231ff4f6b0ab543203daa3d400751b904214b6ef873be71712c61334110641a39c62cb7507b74adb1e0219ffff03d17ea49dc69bfe538392df5bf47be62866e2c9cad7401638ee6faa9c31c8da7a03c8efcdb39fdcef96b46b1ad7d570c59b848aba828116e30abcaeea5fc25a995b03de340e63f9522cc8efbac5f91e8579f441ca8b414d0d734d5d8ef613945960b103b447035b6088ed4ea49ffad85fcb849b1618e1bccc15c2edd8f8e310af59907d034bf836a9b23051136a19473a374b21d291cd24416ea9157f0bee6a6967106bd003d47fa2d089e8f1b1312db9c5ab86526fcc88ee4c6a0c5bcf75d527e961581c17036c4b91b0de82ad779f729034482caa9c17225df853f95b090ace61af1c9225cc0219ffff03ccb399f561cd898ce7c288cc55aaad987a0225f822bf61abeea21c64a071c09503e651214105c42a23b2635f103a6cdea05ca1379246066cc11a6230e5cd66c74d035427ac9cc62ad72f018b66fd8fde712af12fa5d0d70420c07a4c2dd91c5e6afa0366f59006709d6bcb7c17b6fe0623cb543c3a1adb355381614e7df83aec714020037868706b64cd1819e633c3ac51e6ad043e42442c05b8b6dd1d16b79cabed052003ac498b2088895fe5598522f2e01b71f1ae7b56a6e71fd6e42cbeecf913cb76cc03772d704d498d9e1cd0c36e8ed921799316b05ffa6c6f526ca89b5ee002afe8510219ffff03f4645a408374fea78eca8ddcf1011eb32500e69fe9662ccb9dd66520f916251103ad02d53d5d0c5dc27bef57711f4899cb92ce17fd15b8a8ccf32c6c4eb9b771b203f7c09b68d7b3bf707795e0f444cbc6fb6157bdd01b2a4496efac53a475dcc266038c862e1ba34ea073dab85f049ab2f21e779893c32744ce5644aa72a6048624bc03fdd1378ae8d5b36be2e95ab78faeaf8630609c537d795acf5c1f338c21d12e5003c650ecec28d2acd5e1a6b13485c94700d87a0e862a91daf682a008ff2a5aa6330377a80beca1147ceb832cc5f6a410f8bd99243799ea44698fee546f47185512ef03a169a00eb82acac2b7fcc6ce04ea7abec630cb63fade22ba50522dfc1eb79cb0039a1e6e7ad5c7fc2935935bdd527d8fc635a98180c15c8e4e6174db032ea3523003e17927ebe13beaccda4b2ca6df92af1f87a93b23ff1d7c583774587e8fcd0f8f0310625a6f31544e0019dbbea7d59e911e75e30272e072d50d2271365f6911086e03e5af13f319f40f8a2b2612501a05a8ea1129eb25f481ac983ec8de15304de41d03d71b7ab760b546740949e4fbe4021c6c50cf7a936de59fd560725194ba4ffd8b03fdb2f9c28e76b7e580f1932249ace9f709934e57b0974541f75e3e1ab34f9d220308808d9d5fd638e23a2e1d7fe7ee526b52a3efe7e9c52dad1705d29065338d4f03fd9a30d82540b36bfbe23b64deb0ed2b5293cca788cd5b8b50b7f1e94592b58703b4441ff7e23e76c72a10b2d4b06b0169c94282b6e6a674c7d83502cd257c917e031fb9c642c7fb4def96919692ae68488f5535bf788fda3d458f94645eaa0188b403297b6c9fa6a28e2f7ca20c73d0ccf49c0401ea97aaead681aa8b7ab48197e87703d8f0b486fb8c69698e08f2e2bc2a59fae8825f6cec4fa0149f420c6951fdc968034ad285ace74c12442e0c7737641780da4d7a6eccff8d122a1f13ef09da4743eb03681fc7e891f5d4f8e6f1e0fd8dd5affea0e94a4459036eea0dd84f9c44f985e803bbaebd3eb60ef6daa935b868350a454c00867f6d1c351c9bc0e60a92ec20b7eb032fc4e6da2ffe9d77b6d8fb616a6761cc8def7a2b0abfdfcf366dd909a3173683035eb88bba8d232379cc8afc6b44ea426911d60ddf06518e7a4ab5005b21f41c5703724888452516e4066b17159ee4aa80167f6ec7abb66ec1e19340b67a432892f90305c53edc993ac38e50895a549cf7dfb1ee40128adb9c869eb4b5db52e6e939e703e858054ba882f1debe45f9c6c840fe5f326c2cebab8716d800470baf6784896203a35c8afe98d81c0a8f7bbfc77c31f2fa1be3c1699e4c5567b2322b0f7e37a207037c745d23388dc7da32beadbfd916fe9f0f6dc69c5e0cf188d83ecca2db606bc203780176ab7154b9aa4bd58032b7eb3c373846ca99d2226e99d3ab1ac3d6d6459103ba82abfbc43e7a10dc57522594de3cc15988ce5fc2e19baca6d0b65985fe4ef20358aa703e9a4d8c3e5e6391085b0c5a921b8ba23f677cc9e50584b1069d1e23a805581e03dee6c7f193bfc2e54bd07f08d7ec3088a4aa5a99cf7af81a3a5fd8f1f00c0147016454b7c6cc0005581e0301eb7fccc98fe685cd2eef8c6b5062a94cae15d2f8e01d7261f76967f00c02470540ace8daa8b005581e03c0d4a81c6409a38d71a5da8cad7d723274e41e88c2f46897ef70a9c2f0040103ddc24b70e8603105f821921d4816488b35a77fb9f58db9b11efb10b446963a0d05581e03313f5ce937076cc1526bb0199faf810ee1aaeaface93945f5f4cb03df00c0247014092a02c0140030aa711220517e3798adbe659609d7b0e88cb5923ff6a671869504ba213a41b64037bb5ec43d1b9da9318b3a48ab943e9f57d181f624af2ffc5f68f9dc0f0087f6605581e039fb08791c0fc8c132ce7c0dadf4489a5d0f8a5dd426f8b48404bed13100c024732ed11e81d6400045908e6608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461014557806370a082311461015857806395d89b4114610181578063a457c2d714610189578063a9059cbb1461019c578063dd62ed3e146101af57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101e8565b6040516100c39190610723565b60405180910390f35b6100df6100da366004610794565b61027a565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f3660046107be565b610290565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000121681526020016100c3565b6100df610153366004610794565b61033f565b6100f36101663660046107fa565b6001600160a01b031660009081526020819052604090205490565b6100b661037b565b6100df610197366004610794565b61038a565b6100df6101aa366004610794565b610423565b6100f36101bd36600461081c565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f79061084f565b80601f01602080910402602001604051908101604052809291908181526020018280546102239061084f565b80156102705780601f1061024557610100808354040283529160200191610270565b820191906000526020600020905b81548152906001019060200180831161025357829003601f168201915b5050505050905090565b6000610287338484610430565b50600192915050565b600061029d848484610554565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103275760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6103348533858403610430565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161028791859061037690869061088a565b610430565b6060600480546101f79061084f565b3360009081526001602090815260408083206001600160a01b03861684529091528120548281101561040c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161031e565b6104193385858403610430565b5060019392505050565b6000610287338484610554565b6001600160a01b0383166104925760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161031e565b6001600160a01b0382166104f35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161031e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166105b85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161031e565b6001600160a01b03821661061a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161031e565b6001600160a01b038316600090815260208190526040902054818110156106925760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161031e565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906106c990849061088a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161071591815260200190565b60405180910390a350505050565b600060208083528351808285015260005b8181101561075057858101830151858201604001528201610734565b81811115610762576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461078f57600080fd5b919050565b600080604083850312156107a757600080fd5b6107b083610778565b946020939093013593505050565b6000806000606084860312156107d357600080fd5b6107dc84610778565b92506107ea60208501610778565b9150604084013590509250925092565b60006020828403121561080c57600080fd5b61081582610778565b9392505050565b6000806040838503121561082f57600080fd5b61083883610778565b915061084660208401610778565b90509250929050565b600181811c9082168061086357607f821691505b6020821081141561088457634e487b7160e01b600052602260045260246000fd5b50919050565b600082198211156108ab57634e487b7160e01b600052601160045260246000fd5b50019056fea26469706673582212203f149347dbf615dbabcbe7d171b7db32b0a098efab00277f224054851f60dcbc64736f6c634300080a003303476f6a323bcc46250f00d24a948f8db927b9c077ec806c393b1dc2f3e4f1be2403ecd3257787e78dce100bc2759443e26d2a3501810ac3ecdc6d8beb0f2cce77a5036ff83a7388b48991488e90fa9d25e4b066b1198b63a8a1362acdc2c1cd85346d033d0a015ef5ecc423f48833e50fa9e0870efa715176e31f9813e82196f1e5cd07038ac62fd8cd952837c940abe31af7496d71440e6eb7dec3266a2190898494112903678635f1e08bb049db08f04c5548b641d1fc5ed7a3ec0ca511652a96c69d124503c6a827640a4732bcd6f60805368a76cd402769d96996b6972ab526657acf7c87038eae87f3767e44f501281179a1f3310ea940ec8232434cd77dff63084e395c1803d48607f4a5575f2f62da40eb3c38dc07bae5007a9f1b48a40c3a8b5000576eec0304313b736140d065311627774676ee1bfb83e27c1934798fdc8bd30676e317260305d7a99af98faf4c7e99af1d49b979b721d258a960075656cf8b46b20d133c46034babe7078fdd04d3a15b85097409fc4e57faf03176c611a28df623fdd1792e58034cf6d0c5a64cf27803e69563f0a3315fdb5018560e3b78dc3e940a90b3d53175030ef403a92ff855ea24a1db4563685255b7acaea629d2f8a33e29ba1972860b3e0311834864b0f0b59a7f6c3ec11cf4addb9b3dd896590f4b7a0386333732b0b3360304ea0497f71ae900862ee5a4803070ab5669605b9b04f76a25616007f9c10a2d039b58e887a59fad9dec2c0140f68756b61921286171f7a98f25831ae38c3f321803e02852b1fa88c1147bbb8fd4bd5b2b02a1e840c1ed5c4e81db7b8c518eb47fb703334c16b319f6cce2ee743db10cfed85b00d54892faa6460345805237be6a9e610369996104fc38b4e8dabf3addfe335960b434e8c737eb97d76f517a4e6c755cb603f9dc5f8627e6534c9c4ee2c849bdc65068a38e66d75177d4305d7db8ae4bec23036e80a232d0dfb7185e8884deba88e6d5eac2998fa069ffa326fac502dfa72097036258b159963cdb36172d27c03c91c346b0b5d3a7356465690e86740e2fb3888603357f579a826549db95911931c94e27739e00a479ea2918baf95e57953a5e3731031a9e0d35767c8c7cf04caa3a42b3062b259f3be298318ad31a0f869746583a0203134ddd7cb2529ee4cd294f19b5f36622c841c9af027f62e3afcf3ed61d00074403ec1b73d6f26f034a28e76c6c61910fc8d2f75ff2f994bd591729613bae60e10f03da91a77ec2d7fb91d8c4ea903762c72aceee95054fabafcb766595ca2917d55a03e7e1261dba023a54b6bab55655b86e5bfa6be4e7d8b1537ecb431f47a049ecc80328ec68f3198b23cfab851f7c45251d1a256e3288cae5e835abc3c91cd76bc1420058200370aecad5a2fe95ac8f269e09d466aa4fa43ca33bcc7ed5185ec526f8167db04b31c529e28ef1222670000000581f0253e2b0a8452961c0307211732c3fb6ccd88060feb5ba42acb62b4c7f1ad15820fffffffffffffffffffffffffffffffffffffffffb613bc31452846f96aaf30900581f0345254cbe5d41a57ed0f4469f54e4350c46abce1a4e90c2478d4f3c86b3f04c01454db0ef8d730a24bbc2c700581f03f17e015bdf5c6515f5f9456ad1b356fbe627d8a2fa3337c8a00832c081f041010219210000581f025a2cc4974407174c29be085e31659b4700057e327a473f95125f114816045820ffffffffffffffffffffffffffffffffffffffffecdc2365d1da789a1861e3ef00581f02523a753afdb88fda6c85343a12e1849568af31fcb7f6b6296cc642af8c374b1f29efdb30ae039218000000581f02d799dbca93d842dfade719cb078b8c9ce44c6eb845f71f0f29ed04ede6374b590ceb7f57d305fe2cfde302191c0903553ba39b4d9682c64c470f6c27dd3700cf18ce54251a4a4cd7511555c255c59403a2947e90efc7e7f17e76156c5e3640a5b9c49aa9d49e01cef5576467a46a4e1903782ed921f1b0081ae6aa02e83d0b9f02da65803dbc7d3ab7d2a01b6805945eea03b560965cf75e40fbadd922acade0db0bc80818fcb07bfbe800319ceb7511838903bafdee085e0496f0ebf75b4466a5abb15c72a7c688b670ea9f5fa60059d6698d031398e175f603798401260e51e749484cf362f88a37398c65ab650aa0d477604203c0dfcd314f4bf9e36a7e2da03aebf47ac16ce99e5ebc27ba6cf07e508b323ac40219ffff0219ffff035bf61f85d2c758d2488bec0d1ce9a8210111f309bb1f678607e1a5248561eec703ee66865538f25cfd827fe903785ba1eaa67bc05d14b559dbffaff8852080d86d030aa72d544be0ea08887881b8ad684abfd2468700f3e35a1bb152d35eadb7454603f69aee3748faea2c129e5dd19beb254d2f315998137f3516f2a552fb95487a2a03ff4802579b8dd5b809ad6280b9937f1005b894fd599d3bd1550d3152bcf500ff031a2c8cc211a3a2158c31ff881a253808bd4b4c1f8c58700792ef4d3f59a7b15c00581f022e3ae840e22c68507b49c806763def92d9042ad871ef46a7d048a14bec515820ffffffffffffffffffffffffffffffffffffffff22bb7584a1a0c7014675108800581f02353e532c8dfd20c4a9e4fb391863a72de4ed31a43d0c114bab1f40ef6f175820fffffffffffffffffffffffffffffffffffffff5053e31aeac19a2a68233ab9900581f020c3d6860732b0433a538ef3b20dbaa71eb9f4146142cbb1d28ccefbf02334c1efae6e3636e85221a98b03b00581f0284f170c918788a5f875347ca9df2fc87dd32e94bbc0b036bafdbf3a00c4f4c01078e7009c9e0a9f5c9b9ac021990c00322d0d5513cd3b83c16dd48556aa4f32574449ff45350eac7e9fd88dbd827c3b703f36fe3c7adb6e138015b0608dbe69dd21a4a9a18e10cf521463ae64126f40da80394de0b86878c9451dec3d99646ed13264071908424aae934a672e6f579ab3daf0301cc3c526910f3854109cbd9cdf55334bc16ab7c8274f5dcb5b5c7191017505303cb9c8e67a24c6b1f4a56fbfe595ac30c652c9cbf1357368959706f5f5a4b8c0d03bceeb12b6dd957cc94817440a09716f8c35657b55f93a1cb4d5cea5cb995702f03eaf1f9b47fde32202d6fa8325d1bd4f80b65b25c7faf7018c83b2fd91918a7ee03d2db48fbc1ffb7682bd274421dedb2a55cfac2dde75628064417bef9335d403803323453b1618d896b1437546879d08b613af460456190bbf4ddde616f69497c39032554cb0c3fefea665269dbf633602454d03c2742db597c75c9889b190f2890a5036d8dacb136549212aeb764b95160fc395e72622d20e918978350e5217ed911a903f0446bc89920a725e2d2dbc5dd1b876181629dd26455e8d8398c39ccaaeb8f6d03b6e2f01e9767fc5d4f6227daf7a10c5420c6beec7e59862ec8a6ca94e478bce103d57be76ad49c83f0caacff14d188168b5202d58f7624828462ce552bbcf397c40219ffff03b9bbad53d950356feca8d0989216d653ab213991636eb79a2fdb5a101643adec03311435d9bc39da5f4edf8e17c7127c5702c1ca738baee37abb120a03d5e6356b035f93b77e1fefeb7e60ae73efbf40e4ef1e731e727bffca5f38e7af0c6374fd5903c6a34d3929de1d8aa0a237042a031f559968395e801bd6ea1d4a9790acc44692037bd4b6abbf506b462f09d8de22d769a209093d8336c8df969db697205d3f60ee036fcc7cff798f985b87ec61d246399c1250b4ff455f1d5ad89e4c70913cd5ffac03010e86aa220d28a07c4175fffb9ca31c02c4454fbeaea6541c0d92ca9ef37abd030c71ee044b2a66fd96cdbc91617b3a4eb9881dc1105ced53aa4da77047646e790348854656434e3181be47b3882eea20170c436586920dc917a048989bcb04df6403b08d5ec94dcc49ab9aef09922609dc9ad7e06d680151f35fc1b5664344c8e02d03b11cbab9b5bd6d3721c017b8fa01539099cb8fb162a55f1f01365b8e8590ed970219ffff03176f75c61068551718cc7e3eda6532fcbf1e134f96cb2bc1498872c01633c20403ca095493ff6b5c30a9a7360b7f24bac7aab20099ac63ad1095c1a5601c37f76b03539d0678e588f36082a45f12c4fd35ab53cebab1d0bb170a0775d9a5cf46e93d0393de9e388a151cc55d421fc60271cf7389244453f33999dc43bfa20317f6d58c0378e7e27f872a9738642ec5dee5d41d348bbc093f1aa404dea3084000da73736103915464482087562507881ce368db277ad9b5f78012dbf1f826b9f038ef1cd009037c9857f5b95e1fe34355bf3cb36445affa40e0d4ad8af067cedc2e595b05b50603514af506411bd305a45fd501a2c7fc1942efb793d53da31cffd50316c4871be003e42d2564d1da12ca05ceadc2193137e6a337c158010ebc3b36fde9cf32f33b92032d231b2e9af482e62f119e02977da54636147cd855f0ebe37abb5b13acf0d8f00383a01aa87e7dc808692947388bc26810410356b20e4b084e4461e0334fcfe233039b5ea3cc1fc66114d4a1eff94eef9b6a2b3c2bf9ac177d65ac82f95ba9d7050a036ef98c8e272da7c19b23f01623e190fc3dd92b283b7f065c6a6032a5f2b21e3a00581f020cafea03095e69103588cdd7f28c1f68a7e025969f6324ab8174b40312815820ffffffffffffffffffffffffffffffffffffffffde10dec24f4d0f7f2d4037bb00581f024a47876e987e51fc5bd15ca6316939df2cbf0f71b18bcaaa3a577888a1dd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02cdb38ed32273db86e7a58bc3a0b45adc1fe3e063249cc50a05575da0ef5a4c1947dff93e9dcb75ed7ec08400581f03339214e90d70f0e38da544efed31dfa9d4c4092be9ee5811219138be37504e02579299a0a092ab444483fa93ae00581f0358afa2ec8b092913e316483f7ac4a6018915b4737dde0527369adb6f31204b1ce81420b05383bc153b8300581f030e051bd868bb4f3516aa0d20b7a41f11042c5ee14ee9da97bb49faff38c05820ffffffffffffffffffffffffffffffffffffffff1090ce2b3cf683f55b17ffff0219280403d2bfd54b0facd76e8c44d141ee3b1b515871ef83f9d02a1e68c37cfdf8de550300581f02aee1512627d6f86797b3e60dc7a8e343de6a9d33f6d8941098a8fe0b190e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218bb0349a54a4b1d0d3bbaa5354589706aecaaee87999e142dbbecb8c5b4273a8f5a3d0324d226122f80973d2e32c3b44299e2448275622f1f316f83d67ded251271c3c4035fe77e0fe6d5ab54d2af81d41b64642ca8c592df02bc15c58cb55f301759540603758d6ff362c406b15d0ecce39422287c270ae417a824fd0f1fee4d5a7997d0940309a2b1c99c0ce1df5fd945a1b9e797f2ef000289fb9bf607e4d4d8e512c4078c03f21c27704b51bc22a86894538608a8f7c70c2349feccdbbbd51a248479bc3e5a032e4be579b967bfd3958a6115fbfad030206bb6b5812ae82b331d7626216e143603e71e17675e02b3c88d001055e2d569ea3261344dfef8337d2322ea8de10ca1ec033a790fe3e4f8c4b8a2a7814a6df0eccbd8d1579cd93e08075e0f66b0a96b434703fd68f30cc82235581f7f620eb976a58bd7088bf075350a8ef91339e674fcd7910374fee45ba378237d3100a78098a28d8de3ba27f5771aefcf69458b795279a44c0219ffff03178b305bba6ce046363a8c570d6c73bb864064e3b3fef5562bc47c7615b34e04035c5afee754926e5fbed032483aeabdf7ac5a749eee4a2187798c2f38db64f6de03f78949fcc64d6b7915147a6b4e9e916fc3e2cacac9e93a8cf4fec23c226b97da039a4827bcf844fcea4d4507b04c63c130502a0ede92a19d9b1d437189678c15e103105cade8bb91c53a3f18a455b9baa431beaced419e2c15cda4322add8f210e48038af6b899a28ff0beb3d56bc164a0686228caaf13180c1e05dccf6860a955c0fd0337ddbd6a21a01ffcc2dad2d632e61b8f9234139b17da2189e530c7ccae96d69903a86bb1323a6a46dccd412599eb6caecca418ff2b3af8ef00c7e2901184a534ca03f5f0e0f788921d4ed51cac23c4a3432da09982c4cbfb43b86e308069892fed59039b3b8a07b8610820673b02963fa531a9e18592ccc711172dc1d15c41730d20d20219ffff0219ffff05581d0298a9f6c13a95ca4ec37d4c59bceb3400db8bdd80baadded0676a143d07011908e605581d02edc1c406fdcfe2a3f16385264b4a279898120831120cffa3e7f623830c014744ba559f64ee180219280003f99af0b81dc988ac8cd1fca36090f280110777e0d6f9304383921260e7ac232703852179c171385ffc76ff608b2e384b168f999cb82f80c2ba801d8468e6b07a7005581e03714de13ce2cf7723432bb0667b643cd2ad399c799a22bb5b810881da5007011bffffffffffffffff05581e03f92b12747390384ab84191f0961ee788c34c5c6e23d3097b29b8b81110040105581e0312c2487e1fdcaa41c74aacbfef134718349315efa81f3764c3f7cc4b500c0147444002c1b066000219fee3036eb1df01b53ac2e6f3b6d5e529452f25a0fe1a26750e7aa2d74bb56735cd28e403f5fe60a678958b1cf50a6700dfcf558c8c16ee9ef06da87d0d638dea386f901803b1c87264dcd5d84ec69faebcd7bcebbf38ce22cb80542c86700b2d88d1012f0f031177f21e22e3167790950f5af28d820b46a8ff2945fbf950b28e840303a5762103109d749b122e8c05b1f78b10fe18b43ad2d70f8568cadc5be368c8c0b9fa987f0375a207c5f54021398fe4b5f933936ed379aeaf9f19d63de95a734dae503209c60219ffff0363a1f8df5c90aa6d8d10150d73ae36ddc480832219e1bff7ad4a18101fc62d4903313ab1a4f58f0e123317ad44df873d86b6ee2be45aacc22eb188e1161ea39d8803cfb322ad162168b8a68244b2a1a28e288229ccd6bf226834a09ecfc3bab914640219ffff039ae00cf64f4ad54705bf6c952494afcfee835e6a67403c1acf63f36ff47c2279037148d21cfa928f80a26ae4b26dde7794e885365dc4909117435cf037f3dcb13a03bb881764a264ca802291cca4162184bc5bc4e9127498bfff6c735a3a26eb5c1803c587dc760804d3a43c374ef7e36962b7ee704dfffbc77f5fab4574a02dbb69cc03b673cf28082dcbb23a3548582c6b04c40e38e0265620ce1f6dc40cee010ecb26035cde81757e97fdad648fac86b865a5dd89a20af380c21da113b0708e97c2edc4032a91be7173ca5fd998e4eed6504a8193660211179de4de66c81986d0d771723103ee2916ad99a3b90f9df86978e7382d262b58217d9e7d815bc6fafaa99a95b00003a3edc4e19068bdbd81c78f3befd4589a6ed86d6af7e84e89ae423507619eb4970219ffff0219ffff0306200ec1492cb11695d7146a37e29f6fe04d11bffcf66324282c3c688e170899034f3a923aed36f2d018e9f9359c481f36fc5bdcdcae820b4a20809e1d4fb59587030013f2f1c93569fc7b0c8def051742c6b231b6598c0850a995f3165f3627b70503087fd74f70a8da076e4ee17c6c6f82c269a0bfee348e0370141d3c6b8087421403958e076e5c230911c7a3683b96892f038f62565a3559f3ddadfed821d7602a74035c21948cf68759e5c0f281e6080c73cf3fba1abbd9905d63bc4bd59c3ce1e70303b9facf32fa19676899813b719e83efd5cb16f08f634eda22db74edd804a4d7d503b5873767ced0743d018a6a2bba6f2e346566887f0ad605ed033d62a3b172e7da0339ce9c39a3a5788c73b7196b2ce81c692ce75a0c60ccb415d66746c22e27a04f033ff5896018c117104ac9cff76cdc128e08682ae1551d8d2aa01184dcd6ccdc12030a5b5b4d32b6c78dbd34d09ecd440748034c73ea9ba17e792ef864cf8f7500b3031c4a699343ee1e28d0ec8b9180d74caccb4033a1321df3a458c528804e97b64803e5428ad34dc5fbffb8b3c3dd7120dbfd26eb27f32a915ae09d6a3840088691060384f27ed47d10bd282940330142dce15f556fd4f1321d9027a6f86e1f3786bcb7038656c504d487ed097d88aad785da97ff8bbedc1925549495b234fc3eb577bd1c0368157680d0b4860932d3b3b1000dcbac4867bfccf43f1f05f4e97546a2c8ebdf03ffbdaa1e9ab993f739203f9b484609f195cf1d70c6682c095bb5ccd4a31023ef03eabb1525f370a6d2fc592c221fa9fc1f29540d20b4a8009fb10250192eff696e03c6dc5bec3c6f3a760318aabecd9134c7f4d02f468d1b28a2f3aa59f7bc8d8c7003c8409b24bda3a31e97e4cdd0279d23d8b09696f0877835d623ebbbb518557921035877eab092b8a930a6d7ac760c022e5a23cdbdc2834c42030eea8d2cbf6e0d8003b1680cb50383a2e74589f2016805e6102a78e12811c0240e8a385a6db4d710b2039b7ad73d773a4ad06a84cd390b901fb29a27068a60570dbb3399146ababdf77a033a858247fe445498272b5917fe097ba205d66933cb7e8abfc403f3146619b0c90367f815324d765a920ffb95f060370283f5baffc62d6b1ea03b74e0b1816478e303b1515cf6c96084be86b252f831de2f3922ce207bf5c496b04d4535ea5da44fc203ad96e512b98405d715735745e35d719431cef8a230d026c138cae8c51003f68f03b938e563e7e4a6c8d001cec3095f32b62ec1fbed5f3d8568b64cf47d263fde4f037c4e1b901118a874ee11225b18fc4720f1e75ab5bdc472ac725944de9ae5b4de03246abbf3becbc97c73a014e39b91335c69786f3e5e2374ec2bad512e0efcfa5c03fb59232500319b8a8a707d0c71a24e8465767e736421ddcd745272c126f92cbf0348cf498eed47de2248f43c27fe1aa567228c461c41fc683e34a5ee20ce82e61f032d852771359f683f720d313f026bafda20016ae93b2933793d72f10b7eb76581037d635bfa35ef65ab40f493d33b499658b311797a5aaaeff103d9c560384c598603c46ca953f87470f72a1cbd435a18ad497e468396eced8fbae3585937890fc99103672313a40ff157c8ed75ab6f808aa09318d16fb176e7360bb905c44463adcf470356eacd76fcf790dbc62d0615beb3975ed3659b3e4cd2461970e141fdd7276d990345f42e72c325ed68cfed85844e3cddae9357f8fd304deefd98020b777daffaa503337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03c4889c0c20fa13e0f2160166e3c394dac4cbf5fe85cb0f9004af1f5bccff4d0605581e0356aa49f8248736d4e2e8d0fffb74c21544b704dff71a809a77179f2b7007011bffffffffffffffff04592e466080604052600436106102465760003560e01c8063780a47e011610139578063c4d66de8116100b6578063d76eeec61161007a578063d76eeec614610669578063dc310b4114610689578063dd62ed3e1461069f578063e43252d7146106bf578063f4f3b200146106df578063fbda759b146106ff57610246565b8063c4d66de814610601578063cdfb2b4e14610621578063d0e30db014610636578063d19dea651461063e578063d6b0f4841461065457610246565b8063a457c2d7116100fd578063a457c2d714610598578063a7b9544e1461046f578063a9059cbb146105b8578063bb6a0139146105d8578063c18d7cb7146105ee57610246565b8063780a47e0146104fa5780637b2c90701461050f5780638ab1d68114610525578063902340a11461054557806395d89b411461058357610246565b8063313ce567116101c7578063543c679d1161018b578063543c679d1461044f578063679aefce1461046f5780636f2f755f1461048457806370a08231146104a45780637342bbd4146104da57610246565b8063313ce567146103c357806339509351146103df57806349060d71146103ff57806351fb012d1461041f578063537ef9b51461043957610246565b806316b716d91161020e57806316b716d91461033857806318160ddd1461034e57806323b872dd146103635780632a0e5e36146103835780632db6fa36146103a357610246565b8063045fb8881461026b57806306c933d81461028d57806306fdde03146102d2578063095ea7b3146102f45780630f01046614610314575b34801561025257600080fd5b5060405162393b6d60e11b815260040160405180910390fd5b34801561027757600080fd5b5061028b6102863660046128d5565b610715565b005b34801561029957600080fd5b506102bd6102a836600461295f565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156102de57600080fd5b506102e76107d3565b6040516102c991906129a0565b34801561030057600080fd5b506102bd61030f3660046129d3565b610865565b34801561032057600080fd5b5061032a60965481565b6040519081526020016102c9565b34801561034457600080fd5b5061032a60975481565b34801561035a57600080fd5b5060645461032a565b34801561036f57600080fd5b506102bd61037e3660046129ff565b61087f565b34801561038f57600080fd5b5061028b61039e366004612a40565b6108a5565b3480156103af57600080fd5b5061028b6103be3660046128d5565b610993565b3480156103cf57600080fd5b50604051601281526020016102c9565b3480156103eb57600080fd5b506102bd6103fa3660046129d3565b610a4b565b34801561040b57600080fd5b5061028b61041a366004612a40565b610a6d565b34801561042b57600080fd5b506002546102bd9060ff1681565b34801561044557600080fd5b5061032a609b5481565b34801561045b57600080fd5b5061028b61046a366004612a40565b610b26565b34801561047b57600080fd5b5061032a610c14565b34801561049057600080fd5b5061028b61049f366004612a40565b610c29565b3480156104b057600080fd5b5061032a6104bf36600461295f565b6001600160a01b031660009081526062602052604090205490565b3480156104e657600080fd5b5061028b6104f5366004612a59565b610ce2565b34801561050657600080fd5b5061032a611370565b34801561051b57600080fd5b5061032a60995481565b34801561053157600080fd5b5061028b61054036600461295f565b61137d565b34801561055157600080fd5b5060005461056b906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016102c9565b34801561058f57600080fd5b506102e7611400565b3480156105a457600080fd5b506102bd6105b33660046129d3565b61140f565b3480156105c457600080fd5b506102bd6105d33660046129d3565b611495565b3480156105e457600080fd5b5061032a609a5481565b61028b6105fc36600461295f565b6114a3565b34801561060d57600080fd5b5061028b61061c36600461295f565b611520565b34801561062d57600080fd5b5061028b611683565b61028b611758565b34801561064a57600080fd5b5061032a60945481565b34801561066057600080fd5b5061028b6117b0565b34801561067557600080fd5b5061028b610684366004612a40565b611881565b34801561069557600080fd5b5061032a609c5481565b3480156106ab57600080fd5b5061032a6106ba366004612a85565b61193a565b3480156106cb57600080fd5b5061028b6106da36600461295f565b611965565b3480156106eb57600080fd5b5061028b6106fa36600461295f565b6119e4565b34801561070b57600080fd5b5061032a60985481565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561077357600080fd5b505afa158015610787573d6000803e3d6000fd5b5050505060005b828110156107cd576107c58484838181106107ab576107ab612abe565b90506020020160208101906107c0919061295f565b611b01565b60010161078e565b50505050565b6060606580546107e290612ad4565b80601f016020809104026020016040519081016040528092919081815260200182805461080e90612ad4565b801561085b5780601f106108305761010080835404028352916020019161085b565b820191906000526020600020905b81548152906001019060200180831161083e57829003601f168201915b5050505050905090565b600033610873818585611b8e565b60019150505b92915050565b60003361088d858285611cb2565b610898858585611d26565b60019150505b9392505050565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561090357600080fd5b505afa158015610917573d6000803e3d6000fd5b50505050670de0b6b3a7640000826097546109329190612b24565b111561095157604051639dd414a560e01b815260040160405180910390fd5b60965460408051918252602082018490527f27e4f2f352935a2ca3e0ce8449fe7cb9d5a6ff6bf77dd8b3a15b7fe8e6c70b17910160405180910390a150609655565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b1580156109f157600080fd5b505afa158015610a05573d6000803e3d6000fd5b5050505060005b828110156107cd57610a43848483818110610a2957610a29612abe565b9050602002016020810190610a3e919061295f565b611ed1565b600101610a0c565b600033610873818585610a5e838361193a565b610a689190612b24565b611b8e565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b5050609a5460408051918252602082018690527f08dde51d1eb863f6f778ed692f211d8fbe9842b2f1a688face1a896aedb0fa45935001905060405180910390a150609a55565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610b8457600080fd5b505afa158015610b98573d6000803e3d6000fd5b50505050670de0b6b3a764000082609654610bb39190612b24565b1115610bd257604051639dd414a560e01b815260040160405180910390fd5b60975460408051918252602082018490527fc6a0a21af7e95fb21f7a2393b2004d6a61318bede114a5d92a3d2b7949a714d5910160405180910390a150609755565b6000610c24610c21611f6e565b90565b905090565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610c8757600080fd5b505afa158015610c9b573d6000803e3d6000fd5b5050609c5460408051918252602082018690527f4c9adac02d01fe2dc78362d7bf107fc644b07591c9bc388829bce56460a222d1935001905060405180910390a150609c55565b6000546040516312d9a6ad60e01b81527f2d75377dcb6dd2e926b45cf6146dc2d7b3733f67c9846fef3fefd0e32c3c74e460048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610d5257600080fd5b505afa158015610d66573d6000803e3d6000fd5b50505050600060029054906101000a90046001600160a01b03166001600160a01b031663d19a85026040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190612b37565b15610e015760405163e014c4ff60e01b815260040160405180910390fd5b6000610e0c60645490565b9050821580610e19575080155b15610e3757604051630c961a3160e01b815260040160405180910390fd5b84600003610e5857604051630beee2d360e21b815260040160405180910390fd5b600060985442610e689190612b59565b9050609a54811015610ea75780609a54610e829190612b59565b60405163385305b760e21b8152600401610e9e91815260200190565b60405180910390fd5b6000610eb38688612b24565b90506000609754609654610ec79190612b24565b90506000610ed782895b90611f8e565b90506000610f06610ef68a610eec858e612b59565b610c219190612b24565b610f00848b610ed1565b90611f9d565b90506000610f21610c21610f1b81858d612b24565b87610f00565b9050609854600014610f86576000610f3b82609554611fb5565b90506000610f56610c21610f4e609b5490565b609554610ed1565b905080821115610f83576040516328a4885d60e11b81526004810183905260248101829052604401610e9e565b50505b6000610f92888b611fb5565b90506000670de0b6b3a7640000609c548a610fad9190612b6c565b610fb79190612ba1565b905080821115610fe4576040516322249b8d60e21b81526004810183905260248101829052604401610e9e565b600080851561130057610ff73087611fda565b600061100589609754610f00565b9050611014610c218289611f8e565b925082156112635760008060029054906101000a90046001600160a01b03166001600160a01b0316639ffaaa3b6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611072573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110969190612bc3565b90506000816001600160a01b031663bd8206886040518163ffffffff1660e01b81526004016020604051808303816000875af11580156110da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fe9190612bfc565b90506000611167836001600160a01b0316634f20b8886040518163ffffffff1660e01b8152600401602060405180830381865afa158015611143573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c219190612c17565b90508060000361118a576040516367c0fced60e01b815260040160405180910390fd5b60015b826001600160801b0316816001600160801b03161161125e576040516328cecbff60e11b81526001600160801b038216600482015260009081906001600160a01b0387169063519d97fe9060240160408051808303816000875af11580156111f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121d9190612c30565b6001600160801b03169150915080600014611254576000611245610c218b610ed18886610f00565b9050611252308483611d26565b505b505060010161118d565b505050505b30600090815260626020526040902054915081156112fe576112fe30600060029054906101000a90046001600160a01b03166001600160a01b03166396e9da556040518163ffffffff1660e01b81526004016020604051808303816000875af11580156112d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f89190612bc3565b84611d26565b505b6094899055426098556095859055609954604080518b815260208101889052808201859052606081018490526080810192909252517ff0e4379b3fd6b436bf73f47761c746a33d02bbd47835cbd8050b130fb2c6db2e9181900360a00190a1505050505050505050505050505050565b6000610c24610c2161209b565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b1580156113db57600080fd5b505afa1580156113ef573d6000803e3d6000fd5b505050506113fc82611b01565b5050565b6060606680546107e290612ad4565b6000338161141d828661193a565b90508381101561147d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610e9e565b61148a8286868403611b8e565b506001949350505050565b600033610873818585611d26565b600254339060ff1680156114d057506001600160a01b03811660009081526001602052604090205460ff16155b156114ee57604051632d85515d60e11b815260040160405180910390fd5b6001600160a01b03821633036115175760405163dc33424560e01b815260040160405180910390fd5b6113fc826120b6565b600054610100900460ff16158080156115405750600054600160ff909116105b8061155a5750303b15801561155a575060005460ff166001145b6115bd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610e9e565b6000805460ff1916600117905580156115e0576000805461ff0019166101001790555b816115ea8161227f565b611630604051806040016040528060068152602001650e4e6ee8aa8960d31b815250604051806040016040528060068152602001650e4e6ee8aa8960d31b8152506122a6565b611639836122d7565b5080156113fc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b1580156116e157600080fd5b505afa1580156116f5573d6000803e3d6000fd5b505060025460ff1615915061171f905057604051635f076d1760e01b815260040160405180910390fd5b6002805460ff191660011790556040517fe5e5846f783279948f6ec5faad38318cde86fe5be7ea845ede56d62f16c3743490600090a150565b600254339060ff16801561178557506001600160a01b03811660009081526001602052604090205460ff16155b156117a357604051632d85515d60e11b815260040160405180910390fd5b6117ad60006120b6565b50565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561180e57600080fd5b505afa158015611822573d6000803e3d6000fd5b505060025460ff16915061184b90505760405163fca0549760e01b815260040160405180910390fd5b6002805460ff191690556040517f212c6e1d3045c9581ef0adf2504dbb1d137f52f38162ccf77a16c69d14eba5c390600090a150565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b1580156118df57600080fd5b505afa1580156118f3573d6000803e3d6000fd5b5050609b5460408051918252602082018690527f789d9f061bf0f3168343be4f3221ced5600fc12b01682b64edf925abd8dc64de935001905060405180910390a150609b55565b6001600160a01b03918216600090815260636020908152604080832093909416825291909152205490565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b1580156119c357600080fd5b505afa1580156119d7573d6000803e3d6000fd5b505050506113fc82611ed1565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015611a4257600080fd5b505afa158015611a56573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092506001600160a01b03851691506370a0823190602401602060405180830381865afa158015611aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac59190612c17565b905080600003611ae857604051637dd28aa760e11b815260040160405180910390fd5b611afc6001600160a01b0384163383612340565b505050565b6001600160a01b03811660009081526001602052604090205460ff16611b4557604051635821868d60e01b81526001600160a01b0382166004820152602401610e9e565b6001600160a01b038116600081815260016020526040808220805460ff19169055517fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df7579190a250565b6001600160a01b038316611bf05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610e9e565b6001600160a01b038216611c515760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610e9e565b6001600160a01b0383811660008181526063602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000611cbe848461193a565b905060001981146107cd5781811015611d195760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610e9e565b6107cd8484848403611b8e565b6001600160a01b038316611d8a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610e9e565b6001600160a01b038216611dec5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610e9e565b6001600160a01b03831660009081526062602052604090205481811015611e645760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610e9e565b6001600160a01b0380851660008181526062602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ec49086815260200190565b60405180910390a36107cd565b611eda8161227f565b6001600160a01b03811660009081526001602052604090205460ff1615611f1f57604051630dde5fbb60e01b81526001600160a01b0382166004820152602401610e9e565b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab039190a250565b6000609554600003611f875750670de0b6b3a764000090565b5060955490565b600061089e610c218484612392565b600061089e610c2184670de0b6b3a764000085612446565b600081831015611fd057611fc98383612b59565b9050610879565b61089e8284612b59565b6001600160a01b0382166120305760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610e9e565b80606460008282546120429190612b24565b90915550506001600160a01b0382166000818152606260209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6000610c246120a8611f6e565b670de0b6b3a7640000610f00565b600060029054906101000a90046001600160a01b03166001600160a01b031663a3e7dfd36040518163ffffffff1660e01b81526004016020604051808303816000875af115801561210b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212f9190612b37565b1561214d5760405163bb28eded60e01b815260040160405180910390fd5b3460000361216e5760405163798f9d4f60e01b815260040160405180910390fd5b6000612184610c2161217e61209b565b34610ed1565b90506121903382611fda565b34609960008282546121a29190612b24565b9250508190555061222b600060029054906101000a90046001600160a01b03166001600160a01b031663f712312c6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122259190612bc3565b3461251a565b609954604080513481526020810184905280820192909252516001600160a01b0384169133917fe28a9e1df63912c0c77b586c53595df741cbbc554d6831e40f1b5453199a96309181900360600190a35050565b6001600160a01b0381166117ad57604051631e7d738760e21b815260040160405180910390fd5b600054610100900460ff166122cd5760405162461bcd60e51b8152600401610e9e90612c65565b6113fc8282612633565b600054610100900460ff166122fe5760405162461bcd60e51b8152600401610e9e90612c65565b806123088161227f565b50600080546001600160a01b03909216620100000262010000600160b01b03199092169190911790556002805460ff19166001179055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611afc908490612673565b60008080600019848609848602925082811083820303915050670de0b6b3a764000081106123dd57604051635173648d60e01b81526004810186905260248101859052604401610e9e565b6000670de0b6b3a7640000858709905081600003612409575050670de0b6b3a764000090049050610879565b620400008184030492109003600160ee1b02177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066902905092915050565b60008080600019858709858702925082811083820303915050806000036124805783828161247657612476612b8b565b049250505061089e565b8381106124b157604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610e9e565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b8047101561256a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610e9e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146125b7576040519150601f19603f3d011682016040523d82523d6000602084013e6125bc565b606091505b5050905080611afc5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610e9e565b600054610100900460ff1661265a5760405162461bcd60e51b8152600401610e9e90612c65565b60656126668382612d14565b506066611afc8282612d14565b60006126c8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127459092919063ffffffff16565b805190915015611afc57808060200190518101906126e69190612b37565b611afc5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610e9e565b6060612754848460008561275c565b949350505050565b6060824710156127bd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610e9e565b600080866001600160a01b031685876040516127d99190612dd4565b60006040518083038185875af1925050503d8060008114612816576040519150601f19603f3d011682016040523d82523d6000602084013e61281b565b606091505b509150915061282c87838387612837565b979650505050505050565b606083156128a657825160000361289f576001600160a01b0385163b61289f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e9e565b5081612754565b61275483838151156128bb5781518083602001fd5b8060405162461bcd60e51b8152600401610e9e91906129a0565b600080602083850312156128e857600080fd5b823567ffffffffffffffff8082111561290057600080fd5b818501915085601f83011261291457600080fd5b81358181111561292357600080fd5b8660208260051b850101111561293857600080fd5b60209290920196919550909350505050565b6001600160a01b03811681146117ad57600080fd5b60006020828403121561297157600080fd5b813561089e8161294a565b60005b8381101561299757818101518382015260200161297f565b50506000910152565b60208152600082518060208401526129bf81604085016020870161297c565b601f01601f19169190910160400192915050565b600080604083850312156129e657600080fd5b82356129f18161294a565b946020939093013593505050565b600080600060608486031215612a1457600080fd5b8335612a1f8161294a565b92506020840135612a2f8161294a565b929592945050506040919091013590565b600060208284031215612a5257600080fd5b5035919050565b600080600060608486031215612a6e57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215612a9857600080fd5b8235612aa38161294a565b91506020830135612ab38161294a565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b600181811c90821680612ae857607f821691505b602082108103612b0857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561087957610879612b0e565b600060208284031215612b4957600080fd5b8151801515811461089e57600080fd5b8181038181111561087957610879612b0e565b6000816000190483118215151615612b8657612b86612b0e565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612bbe57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612bd557600080fd5b815161089e8161294a565b80516001600160801b0381168114612bf757600080fd5b919050565b600060208284031215612c0e57600080fd5b61089e82612be0565b600060208284031215612c2957600080fd5b5051919050565b60008060408385031215612c4357600080fd5b8251612c4e8161294a565b9150612c5c60208401612be0565b90509250929050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b601f821115611afc57600081815260208120601f850160051c81016020861015612ced5750805b601f850160051c820191505b81811015612d0c57828155600101612cf9565b505050505050565b815167ffffffffffffffff811115612d2e57612d2e612cb0565b612d4281612d3c8454612ad4565b84612cc6565b602080601f831160018114612d775760008415612d5f5750858301515b600019600386901b1c1916600185901b178555612d0c565b600085815260208120601f198616915b82811015612da657888601518255948401946001909101908401612d87565b5085821015612dc45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251612de681846020870161297c565b919091019291505056fe4ff52032f36e32ac782042a01802e20394d4255c84a3c046490be98ab632691ba2646970667358221220f28b33912752b9cdac9d9235eba635777f42ed85309c528861acdca0a5377e9764736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e0325a877932cec3297a6bdc5392666efcbe3e582e829bdbaac68c22691e00701192e4605581e03c2c355ebc402811ca59171be5304b226754225160a24dcb6e9e18aee2004181805581e031a53b0cec58cdbeb24e33a3dc8da4c2d4047a077da2186667296ed7680040105581e03155fdc2c0727ab6763200c0ce91008d517c8ecf5ddfdfe016cd46240e0040205581e03ece65de97e2ec266afe40c64706d7c59338a138c31e0b31e2a5a8e0800040205581e0309826cd8c7bb37022110d3856c05a5613ffbb1cea436ad41266262bf700c182c4706aa2a04219a4e05581e03c09ef0b884c59692b71e29ca06c63d35624884f577c813fa64fe8c769008471d8078a65aac00033f604f3331290323ca526376654eb986af74246f98123e7dfb931170db12f44205581e0336962776b68c635e1bd7aff429b126e5ebbd4508ec42f8b60d377c279004020219e79d0348a6e7b235c3e3f6963741736206731ef59ddb0279234867083facab022cbfc40219ffff0353c5e241556cb096a31b74f53813c3a080c97320c57f4156e7de9f27ec5da9e9036b46a6f989522836c4ea41c6b584293c6378b9eef6f8c99c3fc3ec42c2899dd103c905166c54ea5f14b77ebc07d656bc7c89bb8de3f4ed2eb5fe93907871bf19ca0336ad689cfe86818e035b428fdb66ce61250b6388dd6c0f91937eeb78eef36ec303154c06bc3743075f884d63c2895ac807b7a0ea7ab67be036b410adb45b5e88f4031e99844cf26765011b531275def5dd295ff7f253b12041b047ba441172168ef903bcd39d79c989029fc738f41711d76071bc2526b6f074cf299170d63d7b0d6b0203f9b834734d00c909eabcd9881e4ccffc777c211b024399b73bb488b02045d59b03ee2f76b6c77e78c0cd262462c119f44fb44e2f48240e48b04a1a162d4848419c03757a510923436058e37738b8274de3ca6472cc4e173f7bf7e14e1bc3a5a6f52d03bbfa520b6ffab58e4706ffa66397cda052caa214cc59b98b7d9c4861ece061f8039c5ca656a2b9c182ecf0eb87fbc4e8e19b874ed9567d29628289f7de6b3fadfc038fac98c652b44efff492e56282b7658bebe9834515bc95e14e46f7f9dad41d17035fc668595f51fea6e7bd9b3a9ea8e89ee8fd574ffe768a565603e419de8e6c180219ffff0219ffff03cd2343a3ea4805cac7a17a24322ea98c2e31ab34c031654d6e06fb77733a83eb03e2604030aeb4f5b86b22ec51200192586f4aa97f34bce995c0ee71513854321603bd0198dd00113ac919f7d6f9f2126cc7ad4b80b63e6edef364697cb597332dbf03360ecee96a857ff2baf80a77f607ff4895b1282a651ccf2a6d5346feac68dbb00308f327549bc6b79d371d6058498830dc5577c8785a29bb1dfb75c0c6574d254703c2ef480547c3afc1d837d529bc4d9c78cb2c36ea9f8bc896917ceb76cf14712d0390a76b79cab72c43cfbf0c7cf0db6c89cd2658fbbf7bcfae8892f7aec922c1fe037ae2ba444a2a5aa66116e1f241182e7959ecb3998e7721e836e3c521e1a4ca6a037b836344ef57e8dbaa79be599a97eb3b1f7fd75c6da5ac14f148a8fdee84a62a0390227352078b50a4a3a57008b24a92424a12785fabd70d6335b36fae38c4a6270306d65043979b71947426d3a7d3a99fb0b4ab18d6388760a4aea3472231e9393d039236819377be515a394ed1a4b75d5d299b6c067b5067c6fa539e60e390e827a9033204dc46d344bfa91e12e9466400871075b354a95a5b5c1d9329078ef91218d003d8da16567f10fcdb813299453a11370ff91c5e6f6b9cb9e74ae89d7c8c278d0803dcf26af578d1209d7d5fc80bed4ccedc3553241f801566b956b6f16e0b2a1d35030f1ac74e3b2991a519cf79ed4909bbfaf6388954501902f59b4bcfda6acb7fb603300426138e550e90754760508b94e30826c86887cb65149025fdcec704352efc032baabf1af0f7f9f1a4f40211930edbf94adf4e2a1824d6d568bd213457f8962403397bad8d211c4388a62eaca856a7d7564b0709451e3c2a55891e24b75fe81885039b81dfef4f5bc9cd2cbb97f20d1fe3e294cdf4034dced2b3c8fdfad9113ca41d03c10dfef4e1487355e903f8e41f70e3c29dd16872a8a79a7ebb594e458dbf82ab034413ccd9c4654e2b7c7e8ac47578c8abf6b027bfb6022d403350ccfa52192ca30356079d2a3855718f0f4a8c0ebc829c3e73fa2162ed1531b7a1340cd821ca70ce039ae7c2fa7ffe78e4708b7eb119042df4fad881e04bde61a49f867451097d122403ea976acfd9f5487b67034cd55d4e55dee65592cc8687433e4b97c79d05f7e181038d88a0f2040a42ea3d763b7d9fbd98fec7e5a0709bd1a7e2d836dcbfd392428b03ca6307173418dcd27ad9d8f77e5018a0b9453c9e852c562f8b1e937f19d3f278037373227e77cdd315121de898ee1e90702e99a26c3cf648b0679916c4c3334e0903cbb5c7c0a89bb997159486c69cec00ab83a4c0a7cbb9b3eec468f05b222cce3f0329d8ffbc57ac3479b638d2d80666cc7006d5f124ae2ba060538d37dc2e97ee580361aba4ca585d47f09c53eb76f77d177209aa9bb1c79878d15119312f1755898803cb2e60b8c40d7962a715aa6f3bb0102cb3bde10a7578cc91bca6aa28c2223b11034c70c828fef0d419a8ab350ddbd2b02d1802442a38988dee2247f79feb1d78a3033cb255bb32a99ca1d2dbd4902cf7be6e6a31a027ba472f6475544aa0184c17ab03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d023bf2488d07be8ab9570079b52082def8ed2b4aec9700bba4fb827f5007011bffffffffffffffff05581d02a37fc3b34af3d79621c35206d0c461f19ccbb8c66007e5fe78dc08270c185f48199035d12508a11f0219010803d70214ef791ba7d0089a2a137a12fa16d173749a20b8457253a703e6baf37eb805581e0382efd412fe6e0432e516e1688b5ed5154fa5433d3ea0ae4895c3376350040105581e030b31cdca8d33800d670e805582599bc4d62982f4b8550dcc2f66ef2680040305581e037f0d15d5940d259cc5be195c41fdbcf295670a41c323f17bde6d713ba00c0246935d83c7636003845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581e038d5f8aac3af1b82f5c644b62b04714a62dff7d31db131b1dc2806cf85007011bffffffffffffffff05581e03070fe9cb8d38143e4d74664c20e00f8a00dac939c0558ddc3ce5b50f40040305581e0327d16b77e2b94573df09a1b2debaa4e5a29357c8a71f1925805db11120040305581e036b57aaf11b6333c961432d8e177f27a634435bcd3558810018428a47a008480422b56bcf11000005581e03508c1acc79b38775efafeaff33791384bf7d1446df3cbd90bae3ccf3e00c0148011f2466ed2754000392ebea652215a8e18c094f1f334a310ac4516451978e47c34b77cb9c6cefbcad0219ebf403a683dc6c2d7c077d0f7d70de0c393413d39256cce92a22a0f57de14afa25f37b039f6ab02808d36ac48c2eafb8c4b29a27107ad51bb1a4c9313096782e4d659a7203072cb19b9f2c1c497258d6e15c68c185af041c2fa52d3b5b90ebc07e1bb903f503c970c1274ac511ead35d96c9166ec19d20a120818bc35a22f084668fdf4e9ea90219ffff034d18a3bb492b0803b646e24d2e6cbee3e475cd5d77bc9687c147460a197d6aef038cdafb100946f1b5e747dbac6e27d82793d957d8f98c57cd266262dec50a376103883796e32132c54a647a4d9416b15c8518d0abeee958fd690b41b72c94379c12031936d644812a003665d2ebd34d9e082c3452dbdf241d90aff6fe5fb48aca46df03ab990278457258e1bbbc005fae56194191e170b04805fa52bf97330d9f60f4c803f8aa261fde071d9c437e28bcaf09f2674d21081973970356d3c334bdf5e8218603b17cf70df270ceb7631736e447a1d6e6eeba4d190057ace5629d923fe2883d4d036629261aee4a84f048c443b1d92b0eea9f7b615abaf12377394329da9f59c39e03ab340b0358f05c58b15310627175fa3312595a778a6889d96a8f52b58fbf853b030e6e76d8b039decd7b5a307bb10f20aeabf56542c87ebd362ba45e54d9d395220219ffff039eff80a9a71d4b21fbd4c12ab0b2b9cc48d9f52701dbe4f6cddf1e8e172648f50219ffff03a0a3010adc7a815731b328f33030c703beb4e43fa0881a4be563abe6f0260b8e0344df1909af3b6bf0b61d8e9aaff424cc2004afeb09b845ecf79aac34d890e310030aa185c99a168aeab18e62e8ed565b4c9814b30939e2e6adf295d76e169de93303fb6cb27aadc3a2e06b626d4e453b7f4832effff7e3386b27dcac8ceaaa3e11b30219ffff03795980a38503afd924310e8512b626fea59c957f0659e29fd6f989074c4a57a10390c860034c4301d2b76d90bea07a1b52e7250ab260b372a9069794639af17494033a174b22020cf86cbf81d458bd0eef26844ffb141d9c0573b7965befcbd1a9ad03db1a4e37f6606fd4a423c9ef716c4c5fbfebb878e3c0fc1c144f714e5e012ddb031bd5bde5a1b8d79d24850ecd9d1dba57b71fbba179950c984614c9ca7880673f038489993bf05d7338fded5aceddebce8a0538a8c12e89a8e8101c2bd0276b043e0344118540c7accf967d8ad7e3d7522e40b52ad05559d0e597368ed3d42ce294070345ccf5a29d536ef9244e8fce1a1c495e3657e88d8af81cdcb384927e58245dd2032e44fc8549cec24583b19dd7949596c6a7a26050e871aafb51c41eac6409c35c03f63f138b36e1ae9a182968982523ed171a5734ce729630c60589128c0e12fe130370d1c39cbc559a49656c64f9bae6e62de5af6684093fb3095cfd6501c451ba3e03f0d0f5d5f3521ecde63e317371e0a1a63d409f2cbda96483a9e18bfce2f84b8e0326eb7b81a5d7317c30315751a626e31a42a308e0221b3367ce0b4cb016d50c410353e53b77a5389536fd2424991d851f67e29085435a65e8cdfd9ff2f59f68b53203d434a12963b9366dbbcab0cbd9700ddcff8d739f4a96a03159670c3997e328ed03b2c6306b0ded3c7b7e1ec29c5d54242ee9ed600835f53b5fefcb22779ed70dce036c921dfbd05404f19ed449bf3c240c73f4f7bbe44a0c2cfc31332d96aa1383e1038633944133a3f9f806b9fb0e5879a08566fa9e88ef860c90b021decc9768be6203578b093cbbcfc5bea2cce895e6066c4913d056b443cd6569cf17390db8dee2fb0367103765b4369589e29f10d5ab5126b15d06cedafa46a0e2431a2e2dc6754f830313544dc3441067e0362cd6f01471b9e32ffc95bb551da3b84a2e62f4259a507d03d8881659fbeb8578fe48cdbfc280e4d8caf1d500d3cb471b1a01d42e55d5b65f03a5fe41716c187af6c1f699bf8aa02f50dff68a092ef106acbfa0e0b731fdfaeb03cea1177741f802773523cc52782f781bd30e2071976117f06d570dcb87f5e39b038ef70e51531e6ac1de66fc2804216ef16cd1799a7b45fea99d54185da064535e03708e7d89d81826e3b02a7c13d84dd81a28e6e991c9793099dac5fe588caa792e03e88ee8fe1a86277b118aa4fb9ae0d397b09c260f583ead8d864613f489c9079903c6985c5b631daf2c7abfad623a40ca6834279c64189814924c1f8bb6778bf66403564fa6ced1bc87a6cb8d2afd3e5e362ee388f82491df2496f2416bcaafce0e9603de125c5db3858b8bdffc41174a1dad233eeed5bcbe622e63a16a31a21f4a9b0c030d58a74e3f0b27a7b4efbb40ba28f261b79b100ed7fa36ca65e7c327db33e7310383ce9238172b6b7307985348b0535d71c448fe0050164088872bdcefff34da8c03642cdfc19aa02061a90c58be43eba8f4b86fff8ae06ac49e7a935bf8eb5db2f40387463838b3835fe24ce78c935ce6b0b9ae567140d7d4df44b5e1ea7128be5d7703585ef564b87837c39779c5f88aff5c2c2013320fddc166333fc4953d88af0bd9037206fbeebc40e0ee8e0e949a93b74bc25195484a2ff16603241bf7d32a898b370350982b62e0c179c4a5c4b417c662650e923828f58c05a209bcbe16282cc760ca03014fa5ebd64afbc59b279af41ff91692301a2b0f755768754620812a9e681cfc039c437459a66f6f617b3cc9a27d0d25621a418c8d2c59131823263fbc360522da03adf8bc745a068843ff11e4ee1d144fb29ebb5b2102b6942fc725f28f496e06400388a73060af6860a7998df919bd51f4df1375dacbdb2d5fde87b02519d4ca3f3703965d7641fc887c5780242f548173961991bf11e77016a35a427800134547445403942c19f4ac0f1b9cdef78b68c6ebe70f212c3c065583f2da81402f61f0a6a79203fd0f2cf5335eef889105d9ea08ca2efc138f9fa37a3be4cdcb7300425726108c035e99afc957a15dee71378fec16e8d2239af12842a1d3303ea204dae5caa03705030401183d0e59e0bef09de69603100a442498f80d6333c4b014a5262eecc480cc038843fd2a62b5f4a3eea5a03120cc0d55e6cbb17e119067be1122e9c6cf7c822c05581e0362a8caa638a1386af26d586387193ebf54a63f9f3b8f0b065a4b861ce00c01470e0242e2581ecb03f52b044876edb71af4535652c3cb7f5b408b257e905a8ab50ea7fa39898dfde00605581e03990d1d080d1c006df1181f2bff12035f6a21b9a1acf2e373a4caed350007011bffffffffffffffff03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0369689ec66539f21057cefa455d48cd4041db1ed67ad76bb469ab0832d007011bffffffffffffffff05581e033b30c03a3da52472660398e6444d7945d326031e9d9022b48de6387f000c034701ef4c242a65f005581e039a69c54423558c0ba693ae6fb8882f104b3bc1eff4613cb1065fc04a400c185b47360e4fd833184c05581e03a67f75baffd16b2e3f87c139dd621eb5bfd5ed8f0c172ace597b63f9100c134703fc874034b3000459131d608060405234801561000f575f80fd5b50600436106100e8575f3560e01c8063715018a61161008a578063a9059cbb11610064578063a9059cbb1461023a578063dd62ed3e1461026a578063ea984e7f1461029a578063f2fde38b146102a4576100e8565b8063715018a6146101f45780638da5cb5b146101fe57806395d89b411461021c576100e8565b80631a8012e4116100c65780631a8012e41461015857806323b872dd14610176578063313ce567146101a657806370a08231146101c4576100e8565b806306fdde03146100ec578063095ea7b31461010a57806318160ddd1461013a575b5f80fd5b6100f46102c0565b6040516101019190610f2e565b60405180910390f35b610124600480360381019061011f9190610fdf565b610350565b6040516101319190611037565b60405180910390f35b610142610372565b60405161014f919061105f565b60405180910390f35b61016061037b565b60405161016d9190611037565b60405180910390f35b610190600480360381019061018b9190611078565b610390565b60405161019d9190611037565b60405180910390f35b6101ae610494565b6040516101bb91906110e3565b60405180910390f35b6101de60048036038101906101d991906110fc565b61049c565b6040516101eb919061105f565b60405180910390f35b6101fc6104e2565b005b6102066104f5565b6040516102139190611136565b60405180910390f35b61022461051c565b6040516102319190610f2e565b60405180910390f35b610254600480360381019061024f9190610fdf565b6105ac565b6040516102619190611037565b60405180910390f35b610284600480360381019061027f919061114f565b61065d565b604051610291919061105f565b60405180910390f35b6102a26106df565b005b6102be60048036038101906102b991906110fc565b610702565b005b6060600480546102cf906111ba565b80601f01602080910402602001604051908101604052809291908181526020018280546102fb906111ba565b80156103465780601f1061031d57610100808354040283529160200191610346565b820191905f5260205f20905b81548152906001019060200180831161032957829003601f168201915b5050505050905090565b5f8061035a610786565b905061036781858561078d565b600191505092915050565b5f600354905090565b5f60075f9054906101000a900460ff16905090565b5f60075f9054906101000a900460ff16156104805760065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680610440575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b61047f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047690611234565b60405180910390fd5b5b61048b84848461079f565b90509392505050565b5f6012905090565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6104ea6107cd565b6104f35f610854565b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461052b906111ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610557906111ba565b80156105a25780601f10610579576101008083540402835291602001916105a2565b820191905f5260205f20905b81548152906001019060200180831161058557829003601f168201915b5050505050905090565b5f60075f9054906101000a900460ff161561064b5760065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661064a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064190611234565b60405180910390fd5b5b6106558383610915565b905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6106e76107cd565b5f60075f6101000a81548160ff021916908315150217905550565b61070a6107cd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361077a575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016107719190611136565b60405180910390fd5b61078381610854565b50565b5f33905090565b61079a8383836001610937565b505050565b5f806107a9610786565b90506107b6858285610b06565b6107c1858585610b98565b60019150509392505050565b6107d5610786565b73ffffffffffffffffffffffffffffffffffffffff166107f36104f5565b73ffffffffffffffffffffffffffffffffffffffff161461085257610816610786565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016108499190611136565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8061091f610786565b905061092c818585610b98565b600191505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036109a7575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161099e9190611136565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a17575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610a0e9190611136565b60405180910390fd5b8160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015610b00578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610af7919061105f565b60405180910390a35b50505050565b5f610b11848461065d565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b925781811015610b83578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610b7a93929190611252565b60405180910390fd5b610b9184848484035f610937565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c08575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610bff9190611136565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c78575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610c6f9190611136565b60405180910390fd5b610c83838383610c88565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cd8578060035f828254610ccc91906112b4565b92505081905550610da8565b5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610d62578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401610d5993929190611252565b60405180910390fd5b81810360015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610def578060035f8282540392505081905550610e3a565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610e97919061105f565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610edb578082015181840152602081019050610ec0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610f0082610ea4565b610f0a8185610eae565b9350610f1a818560208601610ebe565b610f2381610ee6565b840191505092915050565b5f6020820190508181035f830152610f468184610ef6565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610f7b82610f52565b9050919050565b610f8b81610f71565b8114610f95575f80fd5b50565b5f81359050610fa681610f82565b92915050565b5f819050919050565b610fbe81610fac565b8114610fc8575f80fd5b50565b5f81359050610fd981610fb5565b92915050565b5f8060408385031215610ff557610ff4610f4e565b5b5f61100285828601610f98565b925050602061101385828601610fcb565b9150509250929050565b5f8115159050919050565b6110318161101d565b82525050565b5f60208201905061104a5f830184611028565b92915050565b61105981610fac565b82525050565b5f6020820190506110725f830184611050565b92915050565b5f805f6060848603121561108f5761108e610f4e565b5b5f61109c86828701610f98565b93505060206110ad86828701610f98565b92505060406110be86828701610fcb565b9150509250925092565b5f60ff82169050919050565b6110dd816110c8565b82525050565b5f6020820190506110f65f8301846110d4565b92915050565b5f6020828403121561111157611110610f4e565b5b5f61111e84828501610f98565b91505092915050565b61113081610f71565b82525050565b5f6020820190506111495f830184611127565b92915050565b5f806040838503121561116557611164610f4e565b5b5f61117285828601610f98565b925050602061118385828601610f98565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806111d157607f821691505b6020821081036111e4576111e361118d565b5b50919050565b7f7472616e73666572206e6f7420616c6c6f7765642079657400000000000000005f82015250565b5f61121e601883610eae565b9150611229826111ea565b602082019050919050565b5f6020820190508181035f83015261124b81611212565b9050919050565b5f6060820190506112655f830186611127565b6112726020830185611050565b61127f6040830184611050565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6112be82610fac565b91506112c983610fac565b92508282019050808211156112e1576112e0611287565b5b9291505056fea264697066735822122031411a8129f71491cdc1cb79c2a75282474c4da1daedc448b3edf3aeb228095e64736f6c6343000814003303cecf6e86d08e63eb75e3258f035103dd8ad5c049649684616b68bdfb36ff367e038b4c67e0113371ed6efe9dde0420c494494ac100862b85bf0abc9d21652c210103c396f98ced8504e6654be31e8e4aaf3cab7fcd839180d87d71a46f5ffa1226320328baf4f3220ddc882c579dd77e7e1344d7fc7378019dcd5a87b626953c4a281100582002f5bd25fb0d0c2485005eef80adc3dbc03096b2dd949e2b845be0d01e066f8c4b02da38c40e52d20642cc8303de7015ee772fc9ff02bc54b85eb3c9d9e321eb068eacbc9844524299014b93420318c6d86cae8caff1f5c5f1e541fd6fadbf405971f70f80205e5f6d7f623532d80344c5753a99798d2c8ec79dc15e09db18aef08168f5e7e580e3c959690aca531c034c5f23716222d6a9fa16efb000107ac5528eff1c4de1a48628e9774799682f5d03b6a8e1beace45d2d4f4a7cf8d8a04267fc3ca0d2f03dc80f9f1ad5e11627718f034e5cfd76a44d524bf6bb17fd8c51ab971db1e1bb5afa97fed7126dffc14e41ff03accb6cf66c903c715622dbbe76b6f5946c783e17ad1c5bd84115d90479b5f9ec033afc83dc5dbaf44602d3846c92fa539ae858aabea170571ef4b5cc7cafa9fa58030859be01c47e40165a7d54efbfed85ee7b1b614a7d9238f17c59bc33aae51ece03772851fc4d4f0be237fa8f57e97eb5fbc0367bdd928162b1faa37e79d3b2c02f005820021eac5c5f72d5d5db69050229c39bb263b9887892f508884780ae2c5aa016f84b22bdd88fed9efc6a000000030788e8e4d1bdf46f700f5390d4960c72be5fa013369a66a08f11b96201a66ff000582002ee17256884a285d8c2de70a030cce52332cc269f16637f9488af9d80b7ae545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e3d6adf3e456c1778694961fc086562683e181a022cfddfc49d41cfc9ee636cf0058200264c002a09d98cdc599fe8eb0fd3fbae8a9c8f5b989b9673b72d338a3a7c28d4a279040af27f6c91901210219ffff0305e6d6134da74aa53974b55d5a14e8a382dd7abc6ea9f97e08cf8ba418cd88ea03b709f566c8c564220c14d7f48581112a4ed3b2ca644bea5f0f527e893d9b52a103d3345d77e6458695cc88637a71d7b73fd9a60ce484172af80b3b69ea4073a10903c9512f26e43be2a6bc34df11b7dd0eabe0fc6bbd21419b8b3058be3027cec8ca03ddf6756ff2de1cb80458ff55145f168cb116b27cefcb306fc5ed6d984cf66f2f03a2e65dab6b2cb4aadf130ddfaed91f14e42bcf13f27aef01524a00ba2380b0f4036f36f5bec17de4785173d57c4d6f54a4b14f6d1b534d054fe8060d5ed10e517f03b4e9941b83eac64477f8829a9727374e48f2ecf304dee83ec3958a39b1f9c5f503199511d0e403dfc2eb16841100a842ea0db9af0592f46d08edab716009bc55c2036e14848e8b5dce983596e8f80b7c2354908e1f944979b36e3c2a18fe53143fdf038e0afcfa6da0e50e9f0a8d024dce1c737570286f6d2fd920fff60327cbd199c60219ffff05581d0260efb2a9e49481a83acc27274ab83d021c84d6fe71506900bf75af13070119131d05581d0239ffbe1121e90c642d82c1921048220de4f6e8f4eea966896f82b5690c0d480596fb4ab63f6e0002190c0005581e034655ae60361e91b298daa2db8910e7bb143e6b5db16b6c66b5ccbe11800848017718735b62c0000219dc350319d15225f3d79875147861a9f4f9208a9a1031a59ba2899360fb3175d7225bfd0387f1d691d1307154a1dc4a0184071d3b266d6ddf0271bdf728bd7c0e87d71ccf03c1a3df561cf83a2dbfc9b1be841a57c4ae80376d21b46fbc516e8a086c1f10d30219ffff039d70ba32c9d81833bc2115696e0251e2982bba7ff6e13fc6dca0df43fb425b970388dd07756f171cd9d4efbb8de3032dcad72dd5eeff097bdf2de778f0790942380312d9834e8c5c867c7bede4c6f8e26d46821f02cf325c52e27840188a7db6a1de0334558916f01a8c70d8885ee40a7e8e26c809a99b978569afc67f83ad2e14ae06033d0b987ae02c91c0cda3b8201cd755ab6e8af674b79b2779f2a2262f2823c05503410408f041ec545011e5fe25b4657e179240a9374eff8548b4f1f027ccca394a036b5904404d6c4a83be1cdc665199e7b804e9d95a6c557d7a6ef7cb22bbabd2e6035e6385d57c0fdd06bf4ba4ba77a43e182e0e460c1728993093554b7674aa4c6f0219ffff036f938f70c24442076c47ac2fab6eccb3335bdaaaa9dd838cf33e897d9a835ebd03502abe179a0038ce388520860868b3421f851d79286f53d3f47ccd1e9727a3920219ffff03d0cefb9d484b20e5cf505c7ff2cae9be233055478e33059b9ae43b45ba4bd23f0219ffff0347961019d29cacd1a8dbc3819c4b95146ef6623b62a9530c41951839126a468c03f22a4f78757680dc3148b90173fed997d55b374188d7c2eefffc06478a9d1f5203f513409707e1cc2cbba556c4452ea52ad80381cf562494caad2e55410fadf64e034bbb20376330a24a964ddf6ec0ea09aa00e9314a85fe179a3493177ca925cf9a031ed82870de1c0f39a8becc0a70dd53096c04bc6149d135c4cc24ab5afda8a77d03dc6905550b62f9104eaa3fe1dd7630b68f38dc1c7f66c4f43b11e836e173726803214b8c9b8027910c6cc8c061c0734b87dbcae4bab7b13c88dedef949c48bcb7403c66d217468532410b815b9a1a76f58de5649928a7c7b34f07c73d1d773111026037c6bde66d38ac0e61bb204030eb5130847d0fe8562f250b9a7fa4d6d63f9362203a5601d6fe904beb17a28ad7cac9138f36d5f275f1acdbac85fd05f8a6dd7bbc703badedd5770bdf47c28c1857186df57cbf519e5f6b5dc45f955bec232ac789e78034e13fad31cae2297efbc637497982ed9ccf0fd79400f24cf16771fec927ab3f9035b4e5637cb81fd2004c026a55c7d37c519566b296d1693bef650afe7c8436486038bb5264b5de2e7e70a47729edc989654374a2dd111251f5633edc3578e99e847034c32ea2627617fbe7e5ab4f0a609698c98b4ba5d545165b0ff7c4003fb977f480372f2ac63bf93800ea4b7a365f44c3a3e65c88e734151f08f0c57f7d15200069903433835a8dddcfed5878735fa3071279ca7d5c38db23aae2696dfad338c9d2a12032efd249f1754d8eebd215d084ab0f8926af97b6cfbca362cea4a60c064bbf280031b4ffbb7dbf0fafb99fe3a98cc8a2207c0b4eebbbfc7481573ca6b20ce40c9c7032e2da1cdcc8f677afbf77e42159124b019dd2228251ebf8a7525fb4d7c54231a037641b21a8b99569485f656b924d666bf9e61b1b02251f19337cef64718dfcd2603ff928e2478f362158c0abb8106b418ed297cb9a11061ef4c987a529577e80fc303d42bfdca6032b98e3038614bd88c997595b5d2373f58fe05ef888da096f1a6ef03af66d1bd58620c4494b82efc346de53af032cd67b546dc8880d4e94838bd2ed60367fced440a1b8f302d06b31988014b63580684adbeef4f64b6f6f526be2f547b0340e6b235a3533526240fcc2c0b56e5e5b55a58515b66ab3ddad472c1335b4df0033cae5d4e4cab2b87baa02afbe579a269d3d914d20e1fa47387107ad4129c08eb035e512a4c4b6135ce0e3f1712f29118de6bee2b4c4d892fcdbc6debe88082c30a033e155b346311cb4425b5c983e6089c20ad0b55741f3c2abd767a243670edbe5b03df977be3090102567546f971478611398b67add311bf9be9d6e46b03592304c3031dee97eb465fb5f1a553c579abf20b1fcc580220af659777fe5e037fcd55f3cf03669e74af58e481d40ebc818baa444c6e53fa65da4a75cc7ed28d7cc1f5af122c03a5a6020ceb1c5bd2bdfd1a0cb8e0e787eb619612785893445dc1d4e8034ec922030f89853774ae52878c142860a59d54f481ac84d545d4bd828501107329d3275103223e7f30f5424e69af8a16cb43db8d36eb7d0d84d4cacfcae16d94598e1a6674031115da570eeeb76da98df7fb3c531ff337f1406874b75190cca06f40d870625803bb965991ae9ec716552dc94b9ceaa7f77296e73899e6cb375f8270ee5b45f44903d674420015c96c8b309d87b9a8fe0558753e6b3460b9fe8e1037ef5ef573925b03bfcace1993150f92d9c07a8506a836528a8987be2b215fd7acc7c2c1db76d0ab03088bcbc253ce4ed63a2c34fd5f073e0dffcf26ea43d031e917f376b2837a1810034eae83a8a718464cf9a51bd2802e2f5642296ee774b75f294115add4e07ed64d05581e030c22a95921f3cda7f48965e11574163feca39bcdf8fd38bbbfcf83eb600c034605c8cd8a700005581e035d9203b634fc7ca9bca6299feb0a7ff478efea0365fb231e34f6cb9d60040203ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0304b5d8aaf51233385303acadcb2746002387d1628fa6cfda24944d34e007011bffffffffffffffff05581e0319867c754c0c5daee173bd6a1f5d2bf28cf2d34c813c5d2e837e954250040105581e03de6bb0ff2b6b40e7bc19da9b595580e4dc0753eade6df1df714af427200c014702e175269e1c3d05581e03194be767166de5ae1cd7c577e0d4679ce3a996cf951d7c52eec204b2700c0146a4ebf4eb6b78038d75b7cc05c96e49927a6c1aae7440e12ba5068ff323f800599fcba979d1df4204590ac0608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b41146101ad578063a457c2d7146101b5578063a9059cbb146101c8578063dd62ed3e146101db57600080fd5b806342966c681461015c57806370a082311461017157806379cc67901461019a57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd14610127578063313ce5671461013a5780633950935114610149575b600080fd5b6100dc610214565b6040516100e991906108c6565b60405180910390f35b610105610100366004610937565b6102a6565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b610105610135366004610961565b6102be565b604051601281526020016100e9565b610105610157366004610937565b6102e2565b61016f61016a36600461099d565b610321565b005b61011961017f3660046109b6565b6001600160a01b031660009081526020819052604090205490565b61016f6101a8366004610937565b61032e565b6100dc610347565b6101056101c3366004610937565b610356565b6101056101d6366004610937565b6103ed565b6101196101e93660046109d8565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60606003805461022390610a0b565b80601f016020809104026020016040519081016040528092919081815260200182805461024f90610a0b565b801561029c5780601f106102715761010080835404028352916020019161029c565b820191906000526020600020905b81548152906001019060200180831161027f57829003601f168201915b5050505050905090565b6000336102b48185856103fb565b5060019392505050565b6000336102cc858285610520565b6102d78585856105b2565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906102b4908290869061031c908790610a5b565b6103fb565b61032b3382610780565b50565b610339823383610520565b6103438282610780565b5050565b60606004805461022390610a0b565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103e05760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102d782868684036103fb565b6000336102b48185856105b2565b6001600160a01b03831661045d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103d7565b6001600160a01b0382166104be5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103d7565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146105ac578181101561059f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103d7565b6105ac84848484036103fb565b50505050565b6001600160a01b0383166106165760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103d7565b6001600160a01b0382166106785760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103d7565b6001600160a01b038316600090815260208190526040902054818110156106f05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103d7565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610727908490610a5b565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161077391815260200190565b60405180910390a36105ac565b6001600160a01b0382166107e05760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103d7565b6001600160a01b038216600090815260208190526040902054818110156108545760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103d7565b6001600160a01b0383166000908152602081905260408120838303905560028054849290610883908490610a73565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610513565b600060208083528351808285015260005b818110156108f3578581018301518582016040015282016108d7565b81811115610905576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461093257600080fd5b919050565b6000806040838503121561094a57600080fd5b6109538361091b565b946020939093013593505050565b60008060006060848603121561097657600080fd5b61097f8461091b565b925061098d6020850161091b565b9150604084013590509250925092565b6000602082840312156109af57600080fd5b5035919050565b6000602082840312156109c857600080fd5b6109d18261091b565b9392505050565b600080604083850312156109eb57600080fd5b6109f48361091b565b9150610a026020840161091b565b90509250929050565b600181811c90821680610a1f57607f821691505b602082108103610a3f57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610a6e57610a6e610a45565b500190565b600082821015610a8557610a85610a45565b50039056fea26469706673582212208efbf7fa65af80c8c51095dfb58b03edfc2ef34dc8adf6111e6d44ed805b64f864736f6c634300080d003303fa2ac28937884d47f28a09d052fc8ab8982da88d59f7c86b24a9da829abf086a0314a4ba673e387bdb970bf6e936a59248be7f25dcee326f229a8d4e61a5f01f0e0350b3fcddaa37a90ef666a0aaed404b92e8af153309a82523d64a697bfb4d18da036d3f96d08ed08f094d947dd7346e507a16e09dde41fbab51b02f42bab2d9cca803d496e2b7c60f9bf97e6f31b169d8065bbe53999da363feb1fd0b901bdc8c0d960340bef0e6ced194c41c36062da3df7cd400b399c3757cc4dfe72a955d329360cd03e315d949d2c7cd98c4f4bb522bc9141327bce1fad27d6597cdaef9c6e98fedd203c6a4b7e65fbcfc0231f8bff1890739b9e3ebef5c4c58ebe0dfc089660fa3d01103b0b30b50aca70d9bed72386266557560a457963e84606fb3fafd0331e654ad4103bdbe5c514f700229a18807967addee91e263cab1c292ff1d91ec9e4be6b52f59030352c65cf0a21c4c9ff5e790de069d442bca916f1770b201f6385ae6edf3713100581f02a380a83d7660034ca1d9440026061cd08af10fc43226e230254e7b552aac5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0217971dc03aafc789ae018ac5e40575afed13eee0727630d634726b7048655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c63003453b4746a23d819b115cfb21f2792c7cbbfc06692bac117ad19e1b4c026ea48ceb57156c31ae25c4033f18c1d95ec78486181a9365a55491da8b2432ae30ce9263726b8667f7522b5300581f02debdaac182777593b645541eba0ec734015661298c8b1619680833cdfd2d4c128bb5868ef7c4b6e3b77d7a0219ac100369d3e436c2b4f1baa69453982e92f716539b1da6451eabb460e840d54969ecf8032a730cc313c99d81397a0a6162585f798031f5386037e78c09e711d4739a88af03efd9f2e6824f9afe664711d7543e6289e2b921bd0c0bed17efd34db5c8bec7d3033d100f5bea909cc0b342f1102a878fa14fe780b01554c27a40c21228af1fdb21039d59e5a08deda8a7fb01834a2beab41794288449b670641215abcbd28c2ee86b03e8a3eaa21d56e65f4d597bba7ca4f483a50c10bf02cf26122c598e9b4f4784ef0378c2a4561e5b42e1196f387f42536babaa6107ff111fba686d2395e65687dac103635de44ad80568d4b55c6a2bfa4fd736f29c0857d0c09893724248c6195a64f3039649178a7f8dfeb5e11ffc014350e0a178cac4281591c39dc78dabe3605aaab803caa9d34f056d7a43b033289670b3407818c7d6240cc951ea55dcc9d83fa06f2503cdf2db693636747c8c517dd1521fad6874056013ab2ad1eaf59340cc6619c8110219ffff03fb89193de7929da4236d44bf793a0e2b12514fc966896cc6876cd2eb6f1f4a7303c9c22a9a2915b2c194da397d74493d5cb0217a4446594e1937f56006ff4d9ea6036590fd7e031778c477909d7b06a82809a1f349353efdd2adcf29f4ad17a0bd5803567f4fa65d495de6803206ac634b426df44cbae67ac26608af9dbc9299a5ed320332a90dd4d747cbaf5f869383b2565aea0e488df697332e6e056cbbb1280cfc2603be399c6de79881743f41524f7d5485e4eae671ff80bb33ddaf9c9b17f9ce3b460323d3d7bfb9f8e90e79d9abcf0e277b4166bf88e2827b0e7eb1583bfc4be8b4c203d484f49fd127942e3383fe9f1f2db722115ad4462e8603225982f14c719124eb03edbadc6ae2d97de2803298c550d967c7f411ea95be9d6a275ee58bcf07064cb6033c56a9d13d4740c617496706423e6a445cd4b9ec669e4875c6959973757e4e2e036053c888d171e10b993e52a56b2ac76a6670263bd053b82382087b04a27d6fa503123f73d72ddfa0fd20b3400db7f62d140b96c5f9e4f49fe7093f28e1845acd700219ffff037c1b0484d23a458b690b80301163c51a8c4059f6e049981c319ce5abe963c08e03ffba5026109c2a8bb7d5698195d7891e31f6827b4a53de80487944c32d351e280334405ebaa558859816a90a6644d6d4aeaa205f006cde1d2187c7ec024db8a28b03322c1a792a49f900ac221aef4507a49b26b0c960fc963452c0056ad01cc79c4903ef185e6c3f92169d0c717faa1992b7506d06299348f00a012831ccd865af70cf0336750f12c5b4d86c1dc28003a6a1a6bd7df8eac44d95a3f4547c2d23c212ef9d03afe1af06389f6355b35445eaf9782bab0aaa8f56855ba46cce86063fe694919d0380e86ae3ba937d590cb5fde79d2295dee7bbf8de5ff882e2732c66b25b57bd320340a9b2193dd052a8116e1388d8f98cbbea907d5e6306000fecaca020d4af9e1a03d8d51978200c0d62d22aaa17c62c7aa9eaccfae9c9764517c6a49e85c42fc52d03d50bb02c08c9abf07a379f772a7c28796c4516d48ea41d05402d41a05f10222203c72c3f8b08b4d4c8d07519125957d634bb170ffe5c115e38e8906b12d0a4738203e7e16374aa30bc0eca286967eacf7b7f06ba89e62f4f596b4cbb9640ab69237303057ac3edd93db12d756c0472eb9bc8dcb656814c75cbcff545e4ed7b4c2763e100581f02ce1f9edb424d979ac2a61ed5844681aee3e9740ae78b62aa3d7d7fdb6eed4e018a0e36da383ccaf1db6c3f77b100581f024bb8c5b9a35e380cac011e59b92bb7de2c0a1e6169788d107aee3888204c4c027793b7f493fc457d577d2500581f02a7b6e1f02e28163463500ff915ecf3fc01912962f3ddd4b474ac9affd49c4d016182e04c64ad6c7e3779862f00581f02c3f67aff45deb666791bcd58248d6e3a4613651910c8497082c71089bd2b4c096efe7d40cd8c88f09beef3034fd30fe865bacd9ab87e7556b646691dc6490c79007d7e2c7b5674631890143203ffa43713d5136becc30960088f0c4115d8cc0af93093a07560a304cf0a688c0c02194287034e4797148e579c696421e87524d2623a31987c81496b2cf5a950f9bee6afa9de03daf16bcd61b5301d71196ec10a0195456b0398451bab77e5cc6f028593b3293303fd297ccf8bef0ed8a37e3e5b13a929aaea8f5ead517d9197882a224e2dac04a50316f71d1625b4ac59a5b58de374360397e7086f4ca8aa76a8c4f97f090994ff2f03fc686c7250c78a16f979c64857646e2623772ed455705527a94a269f000d5dd4033958e77082e8e3b5e5a5c0a55b01233cd697bd872a2458b1a699482fe45cfd310302e39a4fc3f08d359e66c93d8096687897af550fc0e821e90868ae02c63337250321e673f0165358c476b863777adb230480e00f2b4b4be59f2fa4e014ea9c948003927deb9525fc70bfb2e2f7927ab972c06e079ec96594925ffd2e83c2d030ccca038fc39825a6cd69066a9d55390217baf144199eac18d5f5e53f3011ebda699c11035da705ddd60f6be932cb133cc747b9a89fc895eba5aa2576c855b83c71d29b4603fef911f4a8759fa9717bbe8338179ee6424b124da2896dbc26feb0f125234ffd03d7c189f0d1da49118ff74b37fa69701802c96504e580490b4cf96febfdd94803034b5fac267ce04b7fb64cfd4e772552f137bdde60470923bbc99d3b6dd98efd7603b8d27a2986fe3e3829f685a97986fc7026c31d8434b619d0c656c375eafed6390219ffff03f471fdbf068e3f4b7eafddf3cd793d133a30e0875eeb04a44396f3308807fd5103a33b9676ccd0e7863eae4389f8af454e79d32f246cf35525118b9d54d2be8a0803fd10763fd3562b638b42bec5c3f1d0a3d2d06730e75f8591a1b09521de8ba4bc037dec91767ad774fb971b7ba526d1c6950e9c6f5f6acfbb24b12bedcae4f98c9c0219ffff035ce03d7b5158c7879e29cb9efde4d46ce23ddc462a8fdc8a810a784bf957fc100311ebb37697a2e4ff392cb206f771c77c5acc9075e7a57d95f7497396aaba330a03de1c0e6a0b9780794b620508918a8e53721a3c4eced489e859c3b9f04ba5fc440383a17169296e9aa268fc796e1020fe50c1a3248634e754f2bd8c4f4b0bb75bb603f3f848ca489cd722e8818f2a21b80d728d016f06af4c8e99feb33402888192ba037d2e576ae2c283c0808a5a569a170e624b5cb325487ea12caa0450542757426503d0478fbd1b16ef6c7a90eed0af894433e92463b9c876c49981957664520eb5c80369e7fb7c196c1e335de52739b8f0c744a51308262b54c3d5e21f7be27ba7066c0322a5eea5b5ae3fc15edf993ce1f3f890b8e399ac2e16a87f396584af48a6e0cb03ba1f74dd8e930fd15ca6a18b18ea8f33e94c8eb67ee4f9315f33581891ffedc90333e26cb9050aebcd11b45206355ebb617484eada82c000c34bda44100bf07b8c03ad6d6b494b7eb635d8869aaf5bc52abf0f83348d6c3d5b66015033262a53cd90035257bc46d247c9308ff6c4e90dc741bdacd4453d68ba472b182b806186d13382031d07876f94d2432893974c36c76a5e3356dfa46af5808de45d17d9f6ad35348a038b46b9913a8bf4329dd21077560b4f005a82abc690b5cf231cdc8304f1f8336c03469a620478e7a0b412919fd4dd59b4615296ea3adfcf89bd566ebc34cb9c985e0321492ac3fa40461a934cc255cec114e29d3aded51349ba32e40439314e8a278c03d5075cae043ef3194c2a321de619e234e02f4c8acc3962a4aeff39ccd0512722030ed3efedf94464ced4588e171e19aeee1130fbad1904bb2419e3cdac980a4ea603c0c7e8c6dc186b67a565f558c0221f2e27e2de6118a833804f3ab55565cda5690316eed08ebb93c678f6f064ae770d9ae96e4f4a92f1e6a48f301ea9dbe959d135035ada76ff64581928ff8c9e63e13b60fe7edf2354d0b2f56a5db330dd08fc59aa00581f0264d9830577aa2e2e87bce0ece63ea27d3399df322569cb43e7d135989445422e9600581f03a901e2c60d2671177e9ee36773343f06cf7862d72b743fe877325ba6b7504c0666cea0c0379f6d7081000000581f036b16c2a993c5a3c77e7230400c3820409a352e62d52623e1d854aa550f604c0623a4a6661a6db594a4e5a30218410350ac046430aa92f8e1d624050d2e7f43335cf97899ca24c4ea3833a46a6f966901410002190540036bbb7c47a4e246af1d6c936856b092701e72529e160877f0fa2ae861393e311303e932978ed774a82bdb1f6c74b5e826f0a34e6b8ee9d7bfa085d99d44395f473203a2d5a621c0d0fc970ad3a892812f4201aa33c963080729d4f145ff0955d6132003a377ca02ebcdc2567407caffbaa8d2b5d5367495c50993ee667d43f02569f9c703d189f5d78b824baf54c47e1500fe73ab8ad8e2f7249f0cd127c5bf31fad5b6170353835a16d00d28d38fd05e58357b61f9e923fc783996a0076fcfc75dac57c8cc0219ffff032e5bb7837b73c6ff69e2239e07a86a936f377adc8d274e4be46bdf911b9ff0a603b39f25e957a5ace16be472cffcc938fd6af8207575fbc489a311c09ae3b2c888036faea95790f8f0a76d39d436388d381b472ccce976b43ae8fb0ccce97089f01003b78cd09504924290b170594416c60b1bb9ddb8c59b1e07ae42980103bec5e77803bc1dc583391911fc4346d9a62c603ead857d166476d10d81b98bc9a424886fc103e7688973e3188e62cdaba0c584059cdf777ad6fc872fd770a7615befa6d023710219ffff03ec759abec9196f2618cf590dc327b21471bebdc0c55b6e05bd459f82ab2857ec03df558acf39ae094f10e170164c268c014232086ae5cccd77947fa6d615f4c4dc0219ffff05581e03b80dac6dce1f5b5816703012ea818386f8f14a736b294c13d23559b4100701190ac0030a71e3eee72b7fa66841f967ba39780fdcdccfb207b33ec53d15338ed46c37e105581e0331b2b0815892340c89c5f0c518d1e532fa40a497994022f2485d4797000c0946a5def899fca005581e0342c343bc8b37cdaeabf09588065aa41afc5e128f1b02188cab0f8dfa000c01470cdc5060cbef000219e75e0327f0485acdba731a8593c3ebe59c555447b0735000aa8930623151f55691cd0803064fe2961e9df87965f4be32646081fa87c393c4d774ae899211abc5ea8ee3f00219ffff0357497e5994cc4a68669ba9d8df22c4179c075e8438c6aaf050ddfac13688d98303a8508cd3929a6717afc6865b68921668e7e4be66d2090863769392ab3e3520c4032295b1e4480946138e0e90835bb45ac2816cbc66cbe677320872d755845dd9d3037b092e9deefd05c98351039be5939db51c2798e8c77d1af94382ab5776a930e00219ffff03a6b9602d9e60242551b8043097bd6a6a11189702d6f57a14d08681c051777910039809ee0ce2e2292df9a5c05f377f59568c7fb1942f070ebc1897510dadd5f24b0314149ce6b22cb69df30d6df2324ed590ba267eeeb4e503b39de7092dc478b0b7039b3185fb72fba9bf07071978d2af771b7916f4c90245e296fa2cf0a00c80f574032003bfbd533b98b2452708b0c68673d95968dd99f6196098d780e115f4e7b78f03a3837a9d5be7175007b1387d59f47781e177d11fc332bec58269659a3d356426038a1b89e7a53e186fc0def8208a99f342a9ce47fd05c7b43744f065d68dd18e4903fa761c2aab87910ff5d533cf00fcdf909f6f9f3c74ff4e95cc1b165181779f8c031ec2e788dfa931b8bfc548a245f5c686630d88231d046ea79ce014bbbe940e5f03bab14d5fda70d7b9f38710b32a6a1e3bed4d75b981ab6d117d842fbdbdc764fb0219ffff034a1819e761832ea0f825753ca71c04de5d13851670edb058c4ed739fd52984c20339acaf2eb392e04fe59383aaf5c04ab10b07343c72abcb54df01ef813fd2793e0338cf20622a2a1338a92ec23c8f3a8d9e5cd4537dc1c1fea23e630498714b7b9103021606797a5ee31020eb15a59be4c6a06bc476ca969281495bb10fc9b438a8d7030e0069bce178c59cde8bfbb88632a9e00c65e04ef37b7e135a21595dba85186d0359c5fc6fbb63766f4ca0e5a937e2558aedd5f88e7061ac65c27b8134a8e87025037b0735ca35444368caf5f519fe3e6aedc5e467b28cc448677bc0346a78a8230c03e092fa0bee156bbe6f71ea7064f54e96bbc8513d843dd6c9b3e3a5817a22bc9803b764b89cebeba9d4ca65174786cd033f4335aa4986466b04e49c59f57c7709ed03ceea0c55ccbf3094832bd136f8666631fbcb8153ccfaf6d4deb34ba9696acc6f0395c0f96870ffa8e978b4ff73bd70d458431462a13beb8b7fe7b5d59c655bd337036babe28b79591765e69c7f362740039382020a6755483e9617b35563703d90200317a00cf3fc257df88fd64eac058b463ffef67111dc1f08b563bdd3eef6fd5d420330f2ee5830e23122bced0d523f90ca390f4cec4c044ec53764d1e2ededdee3ba03ff2ece9a3cf248f3c55952e32c5d92129948d0e80868f8386ee3b56e22538e60037f05523c6b434c9c7af364e472ece1b58556d1dd64dd54efc3e719a6cde8cc8303094feb0f83687079cd48df7850a6074ce76c5c71d38d66533c5b0b78772e12e905581e03c36777d5cfbd1af08698b72631bd661d2eafbddbf4ec0d0be074b47900040205581e037408e8d2e36bef3ed9bb3712f7472c1d806a0c8cb7cbefe335b98b9ac00407037edd5c713d9b07841f3975ed40505f0613e435f3a9f27e9974fba19b9f2b9c3203f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e032c728c7732ace133b098ebeed6e2a821e1d7a8cedf11931cf8d6a1cac007011bffffffffffffffff05581e03cf5ca27f1eff0b72e04cfa0c69e2212d28850c06583a0ed55c27321420040105581e03faf2c31f753709fd172ff7c2b2d8d4ae05973dca8d8489c566d968eb200c0148015bea4539d39c10031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03741a074e9992a79c48798469c0b4b57527792a97d6c50c9a27de6257d007011bffffffffffffffff05581e03a758789f93a94e0e840b25bc6bf62d7ee17aea9604cfeba10f27169a300c054733959b3a69550605581d0209af49e40f4ede158f781f1579a4bbbdd4ef2f93c7edab6d75330cc3040205581d021aea82e75ba3b7eb83f2f21b228bf5331950e4655ca8b14eac249e890c0147a802e9f812b00005581d02c8da991b960f6ccf176dd5d2347c8ce16d31afe5f11b79912ee54a510c1904ed48016f3a94d7f64d1502182a05581e03e9ca7e20c0038eaac56b14ebe8750862c62db1dab03a7b00fe6a7f60000401021983ef0337087f9bd481a578b58fe374b22e1c5dd80a542ef39e2b65369f814655259f7003245d867fa503d3c5abbf16f969d6cb1c018680a9c4c9d74d3869c96fe542805b031fd35fb2d2c077e010466fd7ed747fcc63c501498e6db52cb46902355e3151fc032dbbb499ab53a5114499d0c64e7d07bbb49ad9f1f2df1d3a33f4ba0da14f538603d47bc794113617ead7da0db858b66edfc535a05c790425cedce0b3467afd8f7903f998e15dd84fc33bb9647e729eaa116be9f469c0cd387d7d0a0652e770904c4b03f4f52b9c46bab2d5e54d1fb7144cba18f13d7b675847d62b261cb91b9f579642032956299434180785153fecd952f4004265c7139f5e20713c14fbfde4d68b67f3034bf929060aa977009b2886daf4cb179057dc50a2d578029ae5578d368204878003ea2aba3d8e0a46477b9af5ede854578644d92f439b580edbda3ae7d2367fe67603941089d0726ad5228d6de1f801248c8045cc203d9dc5ba40989b6f0b994fc2d503731188b920322f36b178582fdb8f01dd73e3f85d0d95776bacc0485056db20e203f2166abef2e873d225927a25e27133b0c81a13417ed871a8666025f8a48f807b03ca1dc2be1eb089041be612701110290ff4d1e26e985a437caa45281b5d298d6f0219ffff03dc2b73738c886b83777dc22139826ace9a71af62559d28c4ab8ffe7e395f25fb031a8e242d379989ac14934afe794d3653c0e1baacf88b7d5370be02f4dd57bf420219ffff03a1899bbe210f682c11363213701d0c9aed8323cbd553cd766974ebe4a747fc6a038ad2e0788981540371352333254a9704273681c5e874b142478f816d05e16eb503b897314e96610d4158201a4ae2cd6ea83838eacd7cfab7c17ce109e6a99728fe03870560ac67bf5af37b3215c11c4b38df49dbb249eec60182b64f18afd38c894d03fe6e9de123898ba50285c4cbd03358c062a6891a75081c489ddb17e7b0605aeb03d41c350ec184a7263d061106d08d87d9cb705a76e2be41c62d1b306a8017feb203340d3140e2be65826968e78496b3acd6059a4bb62a42ea8f80e825183276907e032ae9f29b5a4212ac83c72107812e675dad650dd697dadc2527f4349b1e45343703a3d4bdb8c6e697d9293254c1a31fd891535dec22c72ccebdc4b413f030dcf25b036e968188276a6607b3bede5e9bfc87fe295566a2eb7a6ced2eb10d849448fe3d03aa126c27c3bf4cac1cc0c421732f73f53a8a57c686a1cd1601b4bf2bc717bd8503c072f4184ccbb437bc378e6f6fdc76666a0a2b48f56062c438da198b6c028d9903a44889a7c80bbd268c2c09c0ab02c0e4eb69a86c4ef3f9402e34fa5063d1cd7403e218b3c9f9f18cbc01a6be097e5f01a36bb911251feb04ba23728b677005f54e0219ffff0219ffff032d21268fd72b54bd5cce1ff0d2d27dd1f5337f5829825566dca074473919abc80369ed07493f80bbf1dc5b9daf28e3070ea296eac3a1f1ed83d1e460a134b77cd40381371b8bbccbc0c968bf7dfe62e41da9140349ff30ecf52c9db6dcb0aaa51c0303708d246ecc9641521ec0c95cde9177ae76344e6a09cab62151b9caf53b564ec0034ad99367a4ad2d9aa8d1a1e6c4d07e359a3365db581ba879aa26d17dbc3984160360fc5c81617b6576c70068aba2f9dc72bc252b7092dc915a6c8a0bf9f5f839dd031889d55066be1c2347136815e3aa5cffb1efc62b0a099ee487c0f402cae088900371b47781aed6d62021d30de2df281e3aef211cf89cf7c2a87362b975e6d6fa4b037d48e4ce24ce8915e68da4fed26e68e23eed457078812b54987c792d30aa3b1a03344436880c8a35b47355fa07e47b6091fdaa45f6342ed97e501b673cc900c7fa037eb8916498ed46394757ff75b94f37234f731e3a9490c52aafea9f7e7a65aabd03fce744fe9b810a3b36b6c23dc7beb63f97cbce6aa6c781ae5e1023bc578f45bd03394642ed75eb0ac2870a189cc73e5cc722b8ac2e8f97fb5d272a347b22264f51031fe3ae0b994a260187a7287b00854ff30a91dde7d73c50f1d2def3c237fdae0b03574cc1ba186303440529ca81b456eab1fd6fdd7fc84fc855747455bc780ee5ea03ef4e99a55bea33ba4f2db73e744f0ffe29d91d524a40e30111867cbd9291f5cd03520e7a3f78dd844e8df359aab2141e87301028b95d2c67be0b98c18a96d3df0803a44f628cb37d480d189381c50fefb7e421ac456d8e499d6af1e39a7db077f434039f386a0640961f8adc61429223d01f4a42f4b05def6be6ad103b4a5709cd412803b754bb91f6001e1d48b00985beeabf60f9cee4abdb1ab8510e514189274f4a90031fa9bff6aff2acfbc1d9027d774a2807e879e05a3d9423f0b22b91efeaf7698703af1d05a1d25a17e3bd85b56f728ffadb4e4e68128940e7d2a442eb8f549358fe03052d0d1dfb400436679aff7d7b98415f791667a5f8df79fc71a036d08a2c198603dddc03ac254641c128728d4b2b7e853d76ddda69f7118ecd52153ee78453547c0328288e21d9fe88a23d8a83b0198818647e6dc7c8f78523432ae4c8f53547f8c90387d40c290204676d477e892486f3c3a2cb7bf97a8fdb51580cc44c33e4e8e5c5036817275e2ee97d4748b593e45037ff899824c610a27c786b0d65eb626a415deb05581e0326a2f99c2d7f9f4cc8ad713e258cf7fe44ea7cc5d87960f483ed1ea8e00847028ed6103d000005581e03afb1900fc78ea3b02e091c05b1ac79a0e15bcaa186e8aa8b9525f97db00c13470430aec7cab85803e2a86b3dde342b7760ab942f9fab3ebf1e28ed5c984dc566ba6a21fcf22e2362033ad10ac5ee36ad20653d1cb2414e6c869ee8facbbb6400d5cfbee867a316952b05581e0325761e5c3c2d9e222b2274bea897ab2cf7f0bcc5419c0dc84a9edfb3100c0647498e3a6a09751303c9de949be3d72761d2317700d237d1bd50b234d55264529a9edad5156de5484204590e0c6080604052600436106100e85760003560e01c806370a082311161008a578063a9059cbb11610059578063a9059cbb1461040c578063d73dd62314610445578063d89135cd1461047e578063dd62ed3e14610493576100e8565b806370a08231146102bc57806379cc6790146102ef57806388d695b21461032857806395d89b41146103f7576100e8565b806323b872dd116100c657806323b872dd146101eb578063313ce5671461022e57806342966c68146102595780636618846314610283576100e8565b806306fdde03146100ed578063095ea7b31461017757806318160ddd146101c4575b600080fd5b3480156100f957600080fd5b506101026104ce565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561013c578181015183820152602001610124565b50505050905090810190601f1680156101695780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561018357600080fd5b506101b06004803603604081101561019a57600080fd5b506001600160a01b03813516906020013561055c565b604080519115158252519081900360200190f35b3480156101d057600080fd5b506101d96105c3565b60408051918252519081900360200190f35b3480156101f757600080fd5b506101b06004803603606081101561020e57600080fd5b506001600160a01b038135811691602081013590911690604001356105c9565b34801561023a57600080fd5b50610243610787565b6040805160ff9092168252519081900360200190f35b34801561026557600080fd5b506101b06004803603602081101561027c57600080fd5b5035610790565b34801561028f57600080fd5b506101b0600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610859565b3480156102c857600080fd5b506101d9600480360360208110156102df57600080fd5b50356001600160a01b0316610949565b3480156102fb57600080fd5b506101b06004803603604081101561031257600080fd5b506001600160a01b038135169060200135610964565b34801561033457600080fd5b506101b06004803603604081101561034b57600080fd5b81019060208101813564010000000081111561036657600080fd5b82018360208201111561037857600080fd5b8035906020019184602083028401116401000000008311171561039a57600080fd5b9193909290916020810190356401000000008111156103b857600080fd5b8201836020820111156103ca57600080fd5b803590602001918460208302840111640100000000831117156103ec57600080fd5b509092509050610af8565b34801561040357600080fd5b50610102610bb0565b34801561041857600080fd5b506101b06004803603604081101561042f57600080fd5b506001600160a01b038135169060200135610c0b565b34801561045157600080fd5b506101b06004803603604081101561046857600080fd5b506001600160a01b038135169060200135610cf5565b34801561048a57600080fd5b506101d9610d8e565b34801561049f57600080fd5b506101d9600480360360408110156104b657600080fd5b506001600160a01b0381358116916020013516610d94565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105545780601f1061052957610100808354040283529160200191610554565b820191906000526020600020905b81548152906001019060200180831161053757829003601f168201915b505050505081565b3360008181526003602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60015490565b60006001600160a01b0383166105ea576105e38483610964565b9050610780565b6001600160a01b03841660009081526020819052604090205482111561060f57600080fd5b6001600160a01b038416600090815260036020908152604080832033845290915290205482111561063f57600080fd5b6001600160a01b038416600090815260208190526040902054610668908363ffffffff610dbf16565b6001600160a01b03808616600090815260208190526040808220939093559085168152205461069d908363ffffffff610dd116565b6001600160a01b038085166000908152602081815260408083209490945591871681526003825282812033825290915220546000191115610731576001600160a01b038416600090815260036020908152604080832033845290915290205461070c908363ffffffff610dbf16565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35060015b9392505050565b60065460ff1681565b336000908152602081905260408120548211156107ac57600080fd5b336000818152602081905260409020546107cc908463ffffffff610dbf16565b6001600160a01b0382166000908152602081905260409020556001546107f8908463ffffffff610dbf16565b60015560025461080e908463ffffffff610dd116565b6002556040805184815290516001600160a01b038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b3360009081526003602090815260408083206001600160a01b0386168452909152812054808311156108ae573360009081526003602090815260408083206001600160a01b03881684529091528120556108e3565b6108be818463ffffffff610dbf16565b3360009081526003602090815260408083206001600160a01b03891684529091529020555b3360008181526003602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b6001600160a01b031660009081526020819052604090205490565b60006001600160a01b03831661097957600080fd5b6001600160a01b03831660009081526020819052604090205482111561099e57600080fd5b6001600160a01b03831660009081526003602090815260408083203384529091529020548211156109ce57600080fd5b6001600160a01b0383166000908152602081905260409020546109f7908363ffffffff610dbf16565b6001600160a01b0384166000908152602081815260408083209390935560038152828220338352905220546000191115610a84576001600160a01b0383166000908152600360209081526040808320338452909152902054610a5f908363ffffffff610dbf16565b6001600160a01b03841660009081526003602090815260408083203384529091529020555b600154610a97908363ffffffff610dbf16565b600155600254610aad908363ffffffff610dd116565b6002556040805183815290516001600160a01b038516917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b6000838214610b0657600080fd5b60005b84811015610ba457610b48868683818110610b2057fe5b905060200201356001600160a01b0316858584818110610b3c57fe5b90506020020135610c0b565b610b9c5760408051600160e51b62461bcd02815260206004820152600f60248201527f7472616e73666572206661696c65640000000000000000000000000000000000604482015290519081900360640190fd5b600101610b09565b50600195945050505050565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105545780601f1061052957610100808354040283529160200191610554565b60006001600160a01b038316610c2b57610c2482610790565b90506105bd565b33600090815260208190526040902054821115610c4757600080fd5b33600090815260208190526040902054610c67908363ffffffff610dbf16565b33600090815260208190526040808220929092556001600160a01b03851681522054610c99908363ffffffff610dd116565b6001600160a01b038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b3360009081526003602090815260408083206001600160a01b0386168452909152812054610d29908363ffffffff610dd116565b3360008181526003602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60025490565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b600082821115610dcb57fe5b50900390565b60008282018381101561078057fefea165627a7a7230582003831a05eef9554b28a0275d37c8ad0ff27e6bb2a227f1cce439c4251d309d7400290325e752e236f2caa9b8371c66f738b02831dc34b67e7c218964eb262f23c151ae03f65d2802c33ab19d0177355c43b90b201bf71a79e0a4fae15271d8923318220803a332dfe7b807fa1fab6fcab6cf26e8d440a418528f5cef3034b5c3c6756df0f4037cc8f4b79a21a6074183d7bca4601815283a1d8813c81cf619b1a4e8969572a103524988f771cb364bb76437c735488548cf8a4f7ac3028a80e861bf3e03114bfc03c77a61ecbe466dd982e4846d7bdb2b5e6551eae4408f2bca584b160210efbd1503a9f63d14395737f18afb6f273d74dfaea93cf972e01e5315fc61ac19b70fc69a03c447282f3143cc71ae011a6bd305a8759d3b3d31cf2359f2a525f3c6f5095e3403f91c40b376fb5f02d004795cd309b53ca88538279692610b7901c87405482fef0367924701b882aa5ff20e9cbcea6e21dc11c6da9c69321c158c3faf422761c7b30304d0cd669ca563c5e34078e0a20be3e594194f768857a223567c4e49b87cd70803de116722cf52aa420cc436814ea0fb49b86a2163ac0e766c27d9cce11b2d548b032dcf2cf07e27312d2f188832584259602b8796237151d2a2d7d2438ee508ced10358e450b238eb769db355577d7f0a37949a23d3577b3fffc5c69770eb7f80b2cb037168ac4b2ecc2a99b7600769b16b46991c5f9e3cbc068adbfb265e2e6f4a9fe000581f035282002a717e38c995247450ccfc5744fcf2b476953705297a11d6e6cc104901de22b769b85ec30500581f03e5bcbea2480f9b807a6db7e9b1d37cea5334d900cde7bbdd48998fd185a0484563918244f4000000581f031c8bdaeb489d1e293aa2f92c5e9618ae6b79b1c211752efdb2297c3ed070490a81ce6be1a0c9ac0000581f036ec4bbc04d1f2fb3d3163a8d6b25a6d64d4539ab1e730d5276ac2d25bdd0490aebc86afde1e714000219c088038159d5554c5ca97374f4749748aae32a7fe65c9c548ad018b2805b9d00eb188103968d720ad9478c982bab075da7bf87df4842461949097b5ef3ad776719b6599103a822911274deb59cc668707a5e2ce9117e04c7d7c21e8325de964984374de53d03340e238bdcc7e34bb42fec2c2f9bd0c2537d18517813b1657934db297a6092ac03ca9c8037db938eea1b3675ea7ed78d3e7de39e2136690206688c82a3cdbe574903890c375cf6c015735be03ab56b7d46c64a8cbfd90ae89baa65ad075dcdd10962030c6ccd7193dcff4a756e9fc1793434f668c0a0e5c2721f9a6904ade61292120403ab572e5d4d47722fbf3fcb1f0ba2df08b3af39238ad0b1e7489a0524e2b5dd93034cbd5357d1ff77cf2774dd71924602416c3b7ad5c3031283ffaac9c46f2f1b7c03b5047b576e65ab94a1ffb1afd3af85c495aecd14c055c6b1c0f699775408a9640219ffff03c05c48e9ca1b3ae0bd50bf20608b01715c3385cf0fcf16af86a28fd2a78c5529039ae2cdb2e99062e08d8c04636982013d5dd55c472fc35e2d38de7af165ab96530316846855a3040bb9417067032afedfeba58cd8617a4cd3d76d1d37ad7cd17eab0329a7a841ec16d9c5d9199b88fa561d37ead29358377cb8bcd037179b15f01a3403e86a7b6f10afbbc3f2dbdf016432a4d050f99648a4ced888106067f25dc365bb036d0ace3f8c77a2e5d0e513fe7808858a02874c4644e967d6406c148a1d704f3303531dbf530d2438218465573bce34d7f15402a7e61839aa919848441901aa55530319aa7c28e93085f219f7677814ec5626baa5aec601331c3c818fadb6884f81830370b3f20f45b292cac51b5d5643a0c3d443ca456ee21ee100d861842664446ea603954264a00a39e6cb99d9913a9e0e6e7d0d728ccfc770546acee29141f0126000030729d75137b31acdb6a60edd54c05d48695869f27983176f8fa7d97d82be2ec5034d33fddc9af5165c5138e9d4d7f5c5a1350a2a0bf0085b14c046ca94664c713903f15e39c26ae1c4c53a11dd3f3b1862b79c0be13972f31c6b4d102809d82f7aff03aefd7df90d635c55687581a947415efc2425db5ebb9c799e129d54d50f1d74d50219ffff03c17066c48f0165684648cfec0cb8efec64c701ac86af53acd51303355f274fca0352cf21b1c8626a1792264f26a6cc149593ed70c3fce63268d309186908f1183c0364b55b04c0b5ac201b1278af43d9103b9b80e0d8e448ae61a0b423dc7467ff0d0375d969fa8dc9bad16359a1353347e7bd45aa934ae9aeff1e70f53ec3b316beaf032c22b06219ceafa91314924b0505a6fffbbdf04620ab2c8398822bf71e66e29c03bbe4ef6464202cbf355ecf387255c843f7444804d3b2def078d5c2ba6de7783a0219ffff0394f246cf9d6e0ce84146e3cb1500644bca714cd01fe2f840aa3aa8f54afab32a034e220a7bf2b9f545a1ec5aa36b4e6dfe763da9fd2c96aa88276a471aa4dd6c3a03b83f585b8666a20e3e9ae0f3b2951d6c00c54336ab0d830d2264de735e4ec7390338e8c12ffbfaea67f39fa6950970fd16eca72627f7d6a2b7c3d3c4548d596b3803467755f157fbec2cf62642b57f9db52320b90bbcda914b50a1591b18edff7d2503bada233c1e84d09d6434d44760d5057bbda78405e0c74dc1621ac30011c3085e032b4be0af49986aafb8139a4cdff52139e46ee902525ee602e4ed74dc365bce5903def7c6550efe42840079364f29444d2d1b8b39237f4893b527eb60b7fd4da3ce0387ee10a1a3a32711c2bfb744c10926ee260d7caf87162c7f79e9e36be8f9eb1f0368f2ed7f604c86646db040a02c8691978a1bde06473673d1a04b4ab21823c63403ab10c046f878e57007330ccdb6b27f2828aedab307a9a3a50693b3641a14b77103aa57fc5d02bc8d8551d6a9afda948ffb76a28c8f351e246fb30dd1b96c58504403ab3e12a91ce6d8586010cf5bc88b35de5a09a5195db2971146af933a7242f99803f43f42639c0a9c953b392e071998b5521875c8491f17c8ce83f2058340cad3f903f26b880b10a7a26a1986ea45a64ad926b0a3343ad85140fd9f71819c5d82440003b92f0557116e882531419c3464bd093e373b95f33bf4da822fec3b169ca91e0c03c532ff67af3b5571a1cb97491d913a516a3054a701cf0cfdbbb434ab74a2a6ac03e4bc3599dbb76192fd40cabbead14578538cd4a45d533422297c1a3361bbc65c0309bc896ace875242777f0bbadb900b35d7ee1419bd17e29e26e66831f8d2503803f22ebc217c57301070d4367daf85b97a643bab64f3e79e4ad6d71f6c07a70bf8039798bbde81f202f78142503307e99bc15b6f52352f6e7a0eeb4255f2377be4ed03ab57f03c5537197a3c781d8610eba59af2918e241074ad53d236386c42b00c390376e9536ab2880c0e96fdb2336069f6f7384818dbf1eb73a4f3eef16e0bce65c3035418eeb7d4c7135ca2f46c43321d35f316810ce5ef9d659ee720c5beafaea77003318fa2f8fe259c58568f70b7d7a4194e6cf116635ea698f9dc54b4525c4bbd950336e7a80d5703fed2f96a66088bb92c2c49b18c27b9a3bc4d95ac9102676364f60320203e1f579d234581bab73e56c22b7709498f75b2a8506f1698d3167f26b3bf030b3dffce0f42936dce7ab5b6d0cc3b8cdf184738eca59031bf87cf1050a8a7f1035fcfc83eb6a2d9fd03c4561f8c0ccb8349f980fafd07ce7e7851edf66af65dc9036f04c0cffdcf7f2a28a244640c867ccc3b41197487efcc64b4f3ace4319162aa036f44677ec45d3fabef4a970fde03713d2a9903609701bdafe22438e41befaf60035ac53efa331ecb26fb992e4c8bab8220c446ab482308a80bf916b853f7fef40703567e8d550bd15056f6e1c070abb02cf9f34c9ea78c63b6d2d8bf316ec5cc8cd1034569b9a9ced3c72d105c9c95ed6360ce03fd5a4ddcebae7c54dd6bc286486133034b68ea6f2defcd88af6fcfa4b9891ac000d237280a95e968d6da63c7fb617fcf03d0bb195c8fc215cf4781ac161024f366cd40e17313eff875b603b595bdd5ba560340709c5702eaf5211b23719d4c9384a880a5883663b4cff6bbf8cb538b8f5819038aae4ddc077c024e7f1b31c0603786c91ea6fea088a4380d006a7077658fa08403eb7e8be105adf6dac677d3e142f7c29fa3984165cbfb41e25df69faabc11c5aa0316ed15624be9a8c5606f4bcd81ab67a0f232199eff62f0b06ff2a2562324140f00581f028172fe642ee4dee7d23b076e8451346a00b80ace96b7916d702ded3f32a34cfffffe4fda65e26d70d235d00348a5af467e6a830f26263bf660349d7034f8e837b42b2544cd28d22d86e9bc7203373de8b6a52e4cc4df287e4413fbd3cf3ad1b9c35bc8e3e764072cd70d816d9100581f03533985aa9838670e33f72f28230162f1a38b6e88be3061927106b66ffe204901158e460913d0000000581f03ac11d54069a315fcbdb02139a89c50e7c1db9afb0b90cd1a5952523c2dd04501a96e02c200581f034fb043d593e3c3a089c54f0c4c4c1bee6a0fdd19e38201a3a5f095145f50490e0e94b21c628b100000581f03e258be48853fe0b92dfc3d4a5e4a551d32eae749b3a71f85eac12470a51049182228ccaaf428400000581e020c0b7ee7fc76ab4a95cb35e1eadcc25361d56d228f58b0436b80abea814a26a5aadfa04ad176f9b700581e020615d57c2e80acb4c53eedb08208a318251c4e54b7d77331ab9bd2f501491cdf159325f0d71800021940010219c38000581f0272b3891281b30fdbeacb32b5d58e4d6ffe5edcb8a8bc7c0d3c4951d260025820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d2bc189ae2800df10e1b943225fb5221364213b81e6f483517c512b76086b19803d2ec3fe2c62e7a41a31328a2719fa5e4b9233855c7b20a270d34ee93170d7ba303544b779ceca65834d101f52dffcc2f6d46a323bbde1206822f37557bda01ec070390afd1b2a9e6448af0be313552a1eabe8261d518d07805324a79d412ce5e29a10327d52ef8d7660894448f90a0f64b9dc96f262cb6201029f44f8fa9390ce6723e0328d1d9fa52cb00a1bd54dd3168d4bf5eabf7b1febd093caf703f86fb41d707f103c17d40300dd39a958140364d5e1b1146cfaf3c9b9d5dcdc48bcf5181f58953960368f77c19800f596c8217ac6de65d56f755b65b45bc5724f8dfb15ec6a56c24840219ffff03a873e968cba7b47029985d0e12440d170075c05b8979b1936e2e2449f50bf02d03f0aea1f666379e4f1298b7d48ee5b0d2ff93f2b03a98fb3ca349344ec6aa7d2003b5e813d95edf979979ad8e14e97628445cb98357e9840b2822ca3a85321093a90219ffff03eb36ed34ca53997992da7f7e9bfa569d511d91d17e2e3e8f7b81e0383ebbe592031ea1b49c5e3cb57e5bb9e5530ec3bff829fddc186e3d6ed39fa6eb143787ac1b031f805e06367eaafe00d40f008d0eb6f5aa05675551c1049e2aa484e305425eaa03f82c5b4e455e9b345c6d2df8dbf36a26f6d3262a3620c7d1fb52a45110fd76560219ffff0219ffff05581e03a569318f782b86cc395ccc92155bf64a94b854f2ad1680cc06cf2e43b00701190e0c02197cc103d026ff680c6d933224c60e03ee6a092277435f7132c90f40c1a6404e875a32b003b8730b3bccc7d50ee55f219c07b443d812479853cca60a034a22e58a394b50120302d546670ca1c70d56a399bdfef8417b4a6e1bf7b4c8489d0d85deee95f9d02803dab5b3d37a44eb4d8f2b6c4419e319cc05fe82c75f24dab2efec4f555e7fcc7e0331892d93860bcba011e7991c192c83982428f0895764b6aa8245f353435bd74903c5419a46bef03c5770b4aa2a12118e83440dc5a12c9e14e99684b171f33053f6039a41d67a82b455c1726832bd86862012c862156f38a1e2397c550ed243b37391034e1aacb7f9e6af277ecdc4cb51d35a4637ea518f0f38a1778c9b87843671af9f03c98553700d595d5d55fb40ddf4f06ea876ccce610646a60c61f1cbb2b5f1585c038cefb78ca73412e72257e5760ce5791b9969f6461653324ad725fbf41eae343a0219ffff03bd7f37c15b2405bfdc548b8e98b7ddd3e7cc9123e2d2c6592d34e9e55e0a8f690305e3eeb366ad789247a8f5bdbec368eb2d05920dc6833bcfb19a851a6054c781037b31adf315537131654821538efe126e38610507e96bdf91b241e770189ed80903af5c4402a86ce4cfe6c33f84f8bb934842e6bb5423f4c9bef784ee72dcb2d40103c46b72fedfc1ea1bd91273065ffc9b7cc57e461f4b671ecc8a055ed86c4433ff036f55fe8ed55d94161ddacc775a8cd02b3d65a0b4ca58f181c5869f955d7ffbd0035136b242578773e7614654f02f436446d7c4ce4948d5fca4532c92e1ee493b83039741e16ec29c8e186da3e79ea4ad650ca31f7041baedf92e2f46ba1ea19442730219ffff03a226e472ab367d5307bb3ebbd7b9a644c00aa699620c82dfdf476ffe77fdbb5203e9c7937aa9540c16c1f89580b028e841c00c6c6a139af3a42342e1bec738fbde03e0ed40d747b7852841200a1b5704be29535d656651977a8cc7268a964bd9f2e20376100804cf0a0012fa590c7d05003ba131f532bb3ef0d32859a3ac6683658a0e03035f2c38b766534f7b2dc3bba3f8b72e5d3295656e5645d2a407a9b506413da6033e99a34f50febabf0ef6835535f25b34d62d53853f310c89af352826c1554d4c03aa78608ecd4242608abe6edf85c48e4be5a38f7b3f3aaf7386c116f4016b6cc103685e69334d7c0de5c1647dbc9d49ecee314275558cc2ed7f9f51e77724ab6f4503a0e76378d4f48b61c15d674042ef552709a567aa94313bd9a9e6e060491b972503c5d1318b852ccd1ea71333796dce194a4815224e1ce7a8db5d47d0533b2a881d039d4a29764b0335c03a5262c9792bf696e12cb7de2cdcc86d62960d57bb7d46cc032f8519275efa52aba851d3398e7b6f6ab19eb68bd2d247f152243c695a1a175b03e7611d1d09ffa6d02d11200a6f6589579c9b0303bf4635194fa2cd0255dfc1220219ffff03c2265493b7e49e53ac9bc0fe9c5f61fb18062cd2f3354d3785fb6b08134a82dc03ec53392db7cd3a1b0760403aa51e3af700cddf3767e544da77a5db18b5f2c14f036956f892f67c9886ddc0a3bd72c643ffcee1bbd3bcb3835aa660bbb661bf1cd003698d4c1c95874df3ec144248e01362802d5c2adcec7637aec19876b6d89236640362a577f711086eacfa2071848e5913ac962168fa128417f389ee13416b8549d20375a3d4ddaf4d304e3879c5eb1fe62fd52a1d577d89765977e9e08ccf2faf0579036325e3e80cb2113d5776ba9bd77b20ca630cd18250400e8680c50a9c95f6baba03803e810547116511868eecdd0f5a681b3d4f7c29d82d9d5b4ae1e5ff04a85f7a03dd9271f5d3ca0d7f72196b583b535d2c12b4264408082d27e8bddad597e873bd033a565f6078159ce92e44d5a9d3ffc969d214e23d85770e2f27423fdbff6c24cd03d077622a6be11dbd60a9252b9dcc507cccee58ffb1dc4c1d98534a859723c4ab03cd651551ba13a935b267708ee3fe962d5edc57d3bd340860539debb729fb2ff5030caf3ea5292fe48ff06d4421b2e841bc86bbfc5e369f4bfad82994430431b21f03a3e530cf4ac4e9a8205f131f9de3d709a1db46bd5f11cce1ded20ba5e9b9799e038660d6eee57ecdb16eb82272e541d1df3815e9975b0f0016b9522092fe8ac10103348e2dfea701d1c688bd3e86be3ed9a3802d01d8f825efd676e9b7ed97dec27103a7e93333ce2864666078516f37194bc42ca59146bf9685432b526fe0a22769340344a12ac9a3298aa182de8a365e41ae3747c9da4bbb516678f466f2b0c1467a1703d67d7cb3159a42a17a28a19c986a26ed2d37afc550731c2b42f5459e1fad445703659bdf326a0c4b685b3c1779808547caf10973d9fb68f14548ee8e8ba011fdf503ed29ea03e4be2b662cac65949a6211e7f4588fd7549f297f5060382d7afaeea0030924e36ad308d4d72fc7877eb5b72e28a501a014b6dd5194f6800cccebabc3a703729b452980bf6ac3bc2897f4733d6bbdc6a5edb9bae080aad7253f3c0ae5badc031e980e5203161ce72d0d632dc741739d529648b1d65f81ec2ca521e2f4386ea10306b2285f6d11b189ca947a5db35549ad48d59e7615d1a62812d7af9e636418df0371988ab8e325545fb265e46ca5833dd847fd19d7ef0e5682492ca34a2b01f1a203ab9e69e2eae1426c785502adad842b3f8b60b56f5c5d3505a0e7da3ed680bb7503a51eb92b876e8df6c975eae45615dc7331a268fa8156f2d4744a404486819309034d25815ca5e8edad788ef2a0edceddd84ea93f4e5129fba68cb38bd0dc4ef29d036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e033ae930cf9d82b9a321e49eba637fb440a59ee9ccaa03f7888bca9277d007011bffffffffffffffff05581e030c77c8a2fd4b6f3cb9a2b968ad985e4cef4b8f097e58ba6e2821aa3850040105581e032540febc7f557677e0b9da7e9103be6cfcfe17d9c805e716a1fc901fb00c0145011052dfd005581e03784acb0740239f6b04b028e8001e4c8b37991d4cca1641e27a6955aff00c0747015083569120000359230818449c9715830e58a55a75a4c4c0b432e1c72e9a2a3b1d8f7f7adcff11033d427e480c55c7b74d130d08c2e857cdee7cc9ff96b605bc354135527e9cadf504592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203856bf7b84711e66dc40b22353b05261615e11d81dedde76781eddffc5300ab09034387e8e7767e7dacf0747050af5d411085d66bd97bf02c5311ed17f3f349d1710338b0332f68942de039821be7009925668845e188f8e008403c1c3db88769c56a0376590fa2b233e76083698664426473ee0c008623d3b2e8b30d22375f6453cd5a03381353a597a492d1de5ade07d4c0350cc8fdca12946594224c89f24a5fce7ebf03b587013d0b1d7f4d677f3a620fe21b9aacfa81ffb5abeb79b6c54ce08963aaed0304ad32c51e279df5ad39c4649ffd3b9260c72286dbdf05eb4c8ff1aaad14589303e874e17b1c458d6d54b16c164c9ab4607a77a2980ff8631b2ed3eb43c20ad558038767af9b6b0ded25827af48d08e1c46d5936021d50b51543d4c7c395054e52c4030aa2142eb0759fcbf779485ef17530acaaa41c39472922cdeb390f61dee54b3f0058200251a8d0d8dbb0c0bfb2a76657bf5f996854c7fa39601d81c9cd4ebf488cfea341010058200223723c24e9c366cd993165a31663e0d9b590f3621ad86245c72c839956f145410100582002a5bfeafadf163476e4b8cc73f6961de49a0aeebbe0ad66b3d622129e831461410103dcc2520aca557937a96193e7fd6a5713bee23e5a1bd2dc931e65e06e8892c5bf03ff6d125da065aceacd8b27fa8d43e3a0b3f47e14f9cf8b26184450bbc4e0290e0320efe2ce1d33695b55489ca8e2bf4fa5c9d1540e262b3f76606d397e2c8c3df1038953c39640015a7ae2bc85972504eef0bc7b72288ea87b8e4fa7e2d5c718ed0c037b6ce0fac2e4bbd84be26e4156bd94cadb6334773ffdc471566b36882859c801030398a4d7ec4f2ed17b755531cb4aa3cd6143fc26faee438163b5a685f0dbc94f00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af054e21ecf3c6b1e59b5cf947b6e6c363536f63f2e88005820039eab6021546b02d965015ebfbe884c040ef93bf047f3336e5fce76b5f111204702cc3e8727da9a005820038c59f933afd395d4a13a27a85c9f9461cd558388cfbf5ad56bd8981fce30c0410100582003b696e7b66728177ded7d276ef920f007aa6eaee684ea63e6c0cc7390093650410100582003e3eb63ecd612d02014ed3f0fd166fd635d8ad2f7d3b6adc99a1979eb5cdf20410102190e8203b1a2e3a5d1907f692f26d1ad65b693012ff3cdd3bcbce08e26b32965a18f5cce0141030219dfff03cf00e863ce2c7fdc234464afb029013d6996f766e37d4f268fcdbf844074c56e03e903c6fc6e5148638e70a265d6be370b5bcf37c737a25c383475e55ba337c50d038c03a6656e65ddff445e7cbd5364bd21c47ccd51dc3b74d64a01dd68ff8605260346d940e6352e40af84192f1801d02e8f5b790e9bd974ff3b9ab39f2f14d9f6bc03e2fe79a5dac0f1539108c667383ce50edcc17e4d19a1a86976ec813968d274e500582002515f9fed12295bd3a2c5939a79e10bdb2b363f9fa7605389b559b20cd93e10410103d59ac1def927d1bf470dd31b803c827dc1ee38fdfbc41911de67aed390186a3e00582002bdf8cc63057d748433d82daf442936088636154bf4916f1d9aeec526015525410100582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582003d5108398e79aec57c3fa22f4590ddc4c29c9bc35e83aa380ff6947b63e3f704101005820031c0cd730a32055f21502e85b589f4a52205ad01d604f9045e0626b2f6ed1f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200393dedc043fb9353ab3eb06cab3a2e5488f55b532c0f17ea938e900ba57199041010219074000582002161c5de9d53777f0bfcd82c42343f11a5b4bb305e46e7e1f36cbccae45b4e74101005820024ff2199ecdbc309af2035f44183a9bacb2b3e3796f84f0c0efadcf56f72cdc410103d3a82a863023b1c5849a90b33cd0e9b4784ea0aaba409b46e5eca6e39c9b934103155fc0dc4a144d375b9e45eec43b2d873635abfc8773cb0af961bc8c336e92cb0341f74b93341fde6fcb597c18afb99d9f9a2dfb9dcf83206c5c3352a92a92f38003c01d0983cdcbc29ef36aeaefda2c51aba9d76a0617054f6083d682cd3523773401410d0353ffbf1c77067a55217da221afb6501fdcd13d5da348903f512d816ab700efb90341319c2de8ef15f4056be3fd3a3ad8e2c7821558003fc1be4e089dc692c26ee803d5797cf00deee6f8dda27d23e0ab2c2c0cdaefd17e90c6260b5ab6c268fd8d100219ffdf03c55c9afe993bcacf2e3a563e1b6b6dc66c327e5b7e1ea624418db44f8a7969b200582002e3d7d63882d8c4bb14e15ef62870cb1a98070ecf27e2b5d03cf38938a6b84041010332830bbd77244ac7c0ab6061815804b7d20502b2b99b42266e15f1a93ea60171039ed4a208cdeff4da6d10dfa6f6dce6d0fc0dcd421cec7bd72614487349a2f42e0374852c5c0b8f9a3faac43681e67ed914d9743336cafa459becc7b3ab2f2a319f03b2ffff5c79d417192833d483e0bad1274cfc97a46a6550701acc47c17afa5e04034419d52fc1edab76ed9ca99b4beb352dae8d5ec16734e78daa0c92b5558649be00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8050010b4254ce87ae3f1f8e6e358f3ee0f400582003f1f06c3fd7d9946166581fc8d0b5dc75b104eeed17f4e5db1503fa7ab672a04cffffffffffef21a6e8d3362e005820032f455b108fcca926ba266528b5a437de2a7ca9cda5110777504d87cbc70a805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003bfe67b743b49cbe1c52e9fd8224e628a6e39629b7305e3b949f2eb8ecf55a04101005820032d591820e1fb23ab89591815bd58846648e2cd14ef398aaaaa9414a60d786041020219c86003974cb58b738cd39dbfc8d8ae2bca451e140cefb5d25f71d0f62dfd5885cee0dc03e69495b5410334fe7a4a8e263affa31c66186cce0d0d32ad2425a2b7d189b92200582002a36a8826140a5d129c5821a4da15bd5e2fde8628cd573e2daf4365e8c5e68241010058200263ff5b911964e9aafb3e3168e30fe8cfaa169dc74fedd9dd8a0386451d7ebc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0386727262e9e942dd12209a13eccccd1b0f8a9c41871398c88736b10e6a751bdf03387553d114c63dc342656baf3f0d6759462bda39938b7582cb3cb8fed90d89b503f76617549c01a05d367adcaa53164b120bf5d64b00702f9d170b334e7dc3b9d000582002c9220948594b1b23d250c26e103fed06768143394cf0977a45f40b1ef7c2514101005820026a5d22e5201face0faa8a43ddd34aba3aa990ceb348ecbe77ae794f26a7a1341010219ffff03bdbc38b0d8f7a8d665a44e13cbef2bfc5f4fdcc71e03553091c6756fcba176d803de52e01b1c6e0d288324f8aaff69ccf6df9b50e1dfbd49e0c7e7912c91803e3903fdf36a3d6be95fb61885ddea071f2ed40f73ab64678a969d1e41fcfe0c7c46cb033989808bb403a9b6ad5c21911403581b2e8feadeb06ef2b427dc59b789e245e00366764d78d5b422eb4fa06ee96a811da5a80df205d4d374ecd826b771a7105b7200582002d44c84429d853687bc95e0d805d5022e230f79186273a07a9ac811e3a97b485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002002019afd5f350849e675bd07830fe4c999ff41296d52d1a65c94a17eea93c410103ef49fdf6fc4146738e01094f48ae62028ed331cf09617b3d4f57ce0fccd82fe003f4358b745d75b9c3ecb8acbfb10c61b9bc7e5e961ceacf993e2a8cb05474a3d800582002503846cfcb6ad9248b5d31735ec0c2178fac87ad757b2fb4d1c782a6ad0fb74cffffffffffedd5b33698e18203e341211c5710eaf769c9656a2836276f1f16883296bc62b312c98a3e600f60e803791c2166bb97fed70ea7bfa33e5490ea7bc9122897a3cd42db2b33f479fc8c6603f0ad3e7331154acef3d6958c056064709caee60321a6ebadbeee27ec77a51a4203d6a92f72ae44390800ad2c1cb25c4a299f3d7f3579a0d047b413e54a2ff5b73400582002c5e061280e815a2bccc2da9512f06d4fb9382a5bbe17ee886614e7f8710000410300582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582003fc8c09dad44eac746f20ae3657055a5aaf16501bf262f5f1131f56f924970041010058200339e8f93ae8b16478a04c1125f19d211bb0dc139b8605dda85e8f400844a1b04101021911400219ffff03b55d084512241f60ec69ee51ef1b2e380a7ee85d6eaf8bd68665450e9bebbb9803127f043c60dc5fb802917971acb48e92d82658ebe72110c7575ff60d8f011d8803d57d854d5e5ff79e4f744442ab407d7c79f99b3c19ea0643d831340b01d5aef6035ba1d77dc8054e1366ef18643ba18afc338f73ab079f78785a8a87603a1ccad000582003b327741765dc033e4a3e465f6bd9e05cc43b2ab3f890b7e4099924489557504101005820038123ee74f965ee6f1b887db96d0314692ae0c0b05d38858fbc6040cbf865f04101005820038ad96e8398a183ca51b87f7ae021f57bace0c617d4348998afc709b76f6cf0410100581f02f559b23d059666afe7e9096042f2003bbc3e3e17bda317b2d4570a6da93a46299f9037183b00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632d03b000000000001389249c0819dbcde00000000000000003c9284ce0e8000581f02ca690fb0f5f2f6cd889f351a4c3a329981b4486de23fa3431ef3979b5214410100581f021c61badecb618314ef4100ea9280872bbc876ddf639c7f939a54158bf08d410102191181021980160356ab56ba7223aca1dad6c09a1de4eafbe5425356bc8a01a3189be95885e1ca9700582002e583e62f25dae22e10b75cfdeac70782f6bc6ff0bfcf5f24e88d52325efd805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ed0f49d8f2420b701c5f6714f3267a0c5086389ab65070bc52be5984a504f0410100581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f544c19596f5aaff459fa38b0f7ed92f11ae654378400581f02240fdcb5379005258548f8f925b0a17f0f2e64469ee5f6611ebff0de7e625820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219200400582003b67593047eeb925abdd6921e30ae2782785f03b1f853d3bdac4119448666805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219043003436bb661e76ab1638b6fde480b33af789e036b500e946717a9d948b939a83ac8039a75ee4d0561849d5b430a61db9e3644445e17821aa8ec5bb5b97dda7b6ff34200582002d823e6135e4327a9eeb74b02741a50e64f8cb6c01d7ab5895973038a34b6b34101035db5900056711e1a69a3ff7d20cf4fc1801ac6af66cb49e5ed43aceab78d9a3303440f21c0cb5ffc4866af8dfc33aec01de0f6518c2294c3a43c97857891383a5c0356d19316f8c0f58b73b246f8c97fe7c427d124eb527159ea49e53f446dbb36c403029323490c7d2d82288354d0fcbf888df136a1ad58654d354d305138b0a650280219afff0219ffff05581d02035a7110c7a63dacdd47f27bd038dde60c83cdec6ae18971d0999c060701192c1d05581d02cc0a06864217ade483c1a9e9407545195708c916413b19f05d688f66040102188103e098c62c69ad42230972448d502fc2b9278579c6e7b3dfdb2f3a9223080e7ad1033bca7238be4619b46e706f07bd4b32f88615db1c9bf15cd5279428e08e241a1c02191fc303f217c0b6fdb5f828e98a54dd372eead7c162ef0161fe3dd6c7389727e7f6b95703ef5c88af7a806ea0d71035fa38d9a6bf3ae418f9acd89c12ef76b03f4cb5a5c703b9f6b3e44f3a9cb28c847d860badc29b49f5974ecb6a269aa020aa501cb0f71d034d55c9d8b74acd616e7135de481db6f779dc03dcc945faacd38e961132fb0e6203ef4fbd88aa8ab190aba1075631e605d90dffb4f94fda768821b1697c0d2ba98203fd4cae6c58eadd72b7910dc034ca9f93e5537c4b174f4c5244c06f11ba527f5e03fd574328ae9cb38a39078ff9a4fe47260e924cb4a1f88b1dc48cf7e890682e5f032d6c85a0a1c84653352c8c46dc4ddea57f45bea28853e314a26302f42150e2a903ac478e81b792e638c53e66874758434338e93c34d9b2d647a9a97d212b0a4fc60366fd3931b0a3855027f1e75599da8539e9cdea9c8e9b609d7734dfa3c549a713034097353ba24b3e3ca748e37b0d715608d4fd77605419508a24bb950af57c783e03c4fd623598db27877d8d1bf52ef5616d7330b82f8db204d8bd8071b605ec113e0219ffff033c8f4daf9550e66a4492b5560f22cec0c7d192396de7b1c3836fa8902ad1807a0384119798e16bb5d6a30bdf1435bf52f329accc31de364d5534906a4a067461f60219ffff03569cac84548823dd5b7a9d2a282fdc32c6f9424cac2c9d80c95e79685daeedbf03d662320bb4a84147973d624f24af757e20fde1b907ac611f9f6be5181ebc71c40219ffff033bd7a7b1de0d4217d228cd46fee7ca42b969f660aa91b9c196619c57c0cf0d0c030b4eb77f1492f4ecf6f472652f6339310858624c062a3cc2592a930c6015d0c9037bebc5885197687f72347b6b29db4bf424bea9aa13ea38d71fb2f5ded0d572f0031386d3912208c6232e2e0eff77c8a61d51c4015a1fd489cb242216c0c0f05c190357f2e8db2e7df9a8a34a45a840171e9b4de8be858db8cf070796dfece780b3210347a6b97e26bedd5ad392cd5c7388b8454e9cec4f536e01c3f5073b2467abd902034cd3e7e3a891ddb5cbb0b06e2dc22e153a7f37f9b5579743646910bed8091f5503a5a667b914aad4ad267743a3a97a3ff51426f596fb5b4ead51d4a47b04eb014603bba22c67669786521be551758c31ad5f03b52fd6b833aaaeb9d8faf1f70728fb031a3c2bd20b6d6a904d18911135be8c53ba67b1ba9589c07262c9f4057bd4080e036ebdc6e9b26c1bb187e25da870415d32c60245b8a61777dab72a15efbed06b28032f4bd53fd58af4bac052740e89ac8364ed084a73df166824f17d4ce133e9fe4403455471ef7ebc492e6a163d79e38e6a1ad241731fdde0735de6dcbdccef35e65f0330e1a99414832b998ed9b1ce9c00dfa1ae17a387ab31d8a6b4851b5659ec1d5f03aba799cdc757c3f9797bdca152ca831126037b3b45c0c5310a10176e0100a963033bf20dac8b954c73a7350d9069268d9fa46e0bf0670695047e015cb340e4082f0333640bf4af20559956ffdf090576ed40082b87f12dd2f7f6e3c80e86644f0a6a030604f71bbbcc4f3e3a77906ef985b446cd68486e7bda95430fb834328b37c18d039baab658b04fa3949e7ccc2697bbb8751c49807d8bbc73945b76f3111f8596c703b80096236f7e207430999164b32cee54e50ac94a6a21cd8b1a253cb732fcc636033ce7c15f3dde0bd9567c30a52d6be7ea286b23a3d1cc016d5bcbbb15ca9d3bf703ef1c70174b55e953ca86a4925513907e075de3f2499d067054f77f078b849cfe03eb2cde94cf104d0bb6814997cf6a4cd6297d0b1eb1a81ca7ac680b4c7af21e36033cd2d521da87176e975077a90ab6a81605414dc5d48613d9c78c1115d2e7314a03af973af652adf03fc5b4e24afbd69de610dda6e56d3bbb439fae14ce2782a386039ca0d4b8679ce3eb80dbaba0e1e6a5d215b693add18e762f53b75ce4be7cdb57033fc463c31beaaf107f86851f4cd764445ca5c858622c21aedcb214fa4a340429034d16c168c08fbcf13466a53202d079558c743681f90d46857ac650edbc0e99fa03092a717c488eeeed44f5740a8fd9ca6b50f95b62ce43d494b3a15a8d79f6f11d03757af2d32f849a999b1d4cb115c3b26c591c022aca7cf188f6a68bca6c2bc7ec03c1004295c1f239dc1bf42f799d103f5d4d260cf05b2feeaa0a0b794f987578dd03eb12c144b3886812be10e1f17caf20e09fec263f825cbdf4b53b9f8e9a38aa1d03459471699bfa0f9cd942ec8d7b83161eda9d3fbf041b2de1afe11fbf5df85f7703289a4688aacbf20f1876d4672b71b998e8d22ce1b5d48a9f62f90da9e1ace55b03df8fe4b4027021cf6e0f0d4e68679c3579d1f9527aafe887fd1f4f42f5edb78803e2a7f7f83c9a9e51a68f59e85919089e10fc9485245cbd835b14dd68f4e84e1d03981143f2cbeefeaf4178d5cff00caba30543c0cfe9ae12ad10176caf2b5f821d0345445f12773cfbc3b49497a7317cced12e34c89cad2aff87e92d7d83836f6158036c817ba86bcd28512dfcfa8c2f13b737f3b83e57ef527b81f5c715ac729fde0a03d1685c67d2fafab781ffb2944186ed1fa7c07c3a7465e6fac63339af206c2d4105581e036f625ccb9e14ef49352942e0a7c9116bbee46fcce05bb9900f877aa99007011bffffffffffffffff039c4da409f7c4cfa1dc902d1613c1182b714a021d9095a7284e5d73bbb87e250303163b8d1bfc6064dc4df1a6127ea86345306d8d7fd2923ef42f41a8246408cbae05581e03f33e2cf15d7eaa442a075220f02bced96d92ca2318d7f6112df624081007011bffffffffffffffff05581e03c678965343ced5dd60b3fa620bbf6edd33505cdb17e98030832eee93300c0347f1f6e029fe58d805581e03ba08bfaa3f7fd29cd164b27e4e6db07005681e6e5898d7f70d87bd5d9008480110b70126c5ecc505581e0381753a6d330f98dd2c765b1692105ee4303302ce10898d29e07a7af0f00c01464d4e9ace500003bfefbb0f0b7072bab1786d101fa501ac86455b10f34c59c8414247648e878cab05581e03e0bc29891fc6593007895a50f5a7201517947bb40a03f858d1c41adf30040105581e03830a5e591b782739b214f357d4a64e99161c9675ae7bc142b38145d650040103db3340ccfbce481015cfb5a15960d686f387dc2f70899d894cf99fc2bad8cb9003087319e67accddbd587d76309f2f900b672f276fb17850804e952076a9848a0405581d0226a35dc765a6c7842d1712d51a08400ac87e2a225563e76dfeb0d82c07011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032035edf738d483025fa21b56c90d3c618c8421475d6df620fd10bbb97312d6e0a340324beebca98d5ada03b7772bb4a355927f5f8acda70f56823ff494a3fe93866ce035d49dc5b48bd92a6fe3f3fec2429732eb7b468b8af9ad410d2b86f1b849acdbc031ac02b7ca35b5bc888033150f70e39ef28640e01e801edfb079bd4eb8a90e85d030ae1c34f5979df5e48a3856b7f2e698b41ba74b025f3f3e3f16743e8bb61d7ca03d52f12936cc1a15b818811d7fb71ee35b8bceb187e18408c6f38e154c0e431b0034f11db107f5a2ede0b94b7c2f782e30daee22ce3708364ee22943e63bfc6855f03c5504cd84d8527ed1b0f39d15e4047547a9cbc6da31d19f15339783e284699e00311cb44d21490233dbb89d39716dfa082cbaf4ac32113fc87e0e7dd2ca43f4b9a030e1a89d7e969524d1a85c193671fb3d496ff9ecd81f386986546d6a23c98b9390315aed982cdae7dba108a830e26202367076ab1fc093ef32c9f92030a1e33e3f103ee6eaac0519dc095ab0ab6d061e61fe10b200e5714fb5a1025668ba19f9296010395a9e0dbb4f1a5b8bb005a00e15073834bc1e2a7a18f73999ed1ebf2f1624a9903b91b3f70f1be2d4d98fdb9729b614332bd1b652d67eebcd73716c2de909bdc79036738f96d575d0177babe6400556c1bbcd5af7da3059e0be554d0a46b5a13007f031bd9c4ac77e0107816246aa11b0bea0365bce87a5a95035b06a4445849711db203f16275c185e1fefbdfa8bfa645919eb42fa21c3f8d363c70322406d8b5286e5503562a26b91ba89b1ad586cf3cd699f36934e1c43f701ac0e69e615019f1e38e17039d66cab8e3682fe2552738586849d9b373e2d9fcd82ca62a73e9cfbc30d4c07c031c9d906b3688230b7ed75d97c06681cf4c47558180e36af389c3d6f7850d5c8d032ed60e214116123ad8d86ce8e156b98ddff9a1012c1b35094aa3af7f0a42a71500581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4e3ee91ed4680469043ea14164a39000581f027c312c51f98883abd09c01e9b0d54742c84f821c0b1627eefcd080816ddb4524368b72ad02190220037cb7c44debde262df990aa83cafc50fd16d127fd1521d008af69f88610ca125003f00448a520f9e9835a63e9f21de0dd930a3a19bcf15e72b53f46168e5e57501003516761530be1d258017ea66322b0f7ed7cee6c6a48536997ab0814ef47860df9036f9afdd8e5d6b157c6a37b72525942bdda6b6408fb4aae4642f54d91a69366ed0320463145a0d04cff42362013f6aa2714e5d9511509f0670022bd0e96e86d3ab703a26adddde3ee1518cba1968d1642c69995f1209b4272e5252e21cb4119b74fa4037692ed3b387c72925bb0b0cc550048cdedfe35097ab6073797ca2b959b1038d403d9301384c12242de4b9fc7c0e8c22232f3e74f75ecc1329da32e92104f9796040345c420e67bbc8faf5141973e7b0666e288040508297f54b224ad76506f012ae20310675fe7aa917b66fa60a9c8141e33d666add14ff7a697b250df3d75d988b995033b67a98c5a9cb6b3cc97660e34d849748dc320dee89fdb9cd5d7a54f0dee7b1d03f2031d07ce135ff1ca7952ffcee1ef43d9585c47223d0060b86c405dcfb56afe036bfad0d5acc4310626e524599099e64324058cb0b13c2b04abade5bb4a2b621303cc8e17030a2c9ecfc3111b52f6b05c0cf178b38adbeb7f491de3a68e69a21c760219ffff033423ea1119f9a8e9782874c798506d630ac894a31ca7205339dcda5c49eef8400219ffff0364a871bdd55af8d74ec93273d4995bb291bc249456db55b071417e35d0ea488c034f42e317f8edb50e66d30c6abbc0a7f0ce5d4ec1a25b69840699fcee6e0ea427034a27b64893f0889fb702c1f712aec4d95a72567e43d587f64934dc4bc03ed001036a6c61a6336e504c14a851fad460f1ba3dfedd856176f849825abb4505a8ccbc03e5c6d7d707b36f3d9e4d0c4b9272f5849d74bd48643b011553b35bacf85049870373d4097a7d9a698bc691be20968d9f2a84c36b9a63fb18a9c611786c1430c4e603536501b40911de2df2081bd412b2ac4cb10378c08a3008e43ff34bf2a46069570392659be9828cdd821df522b05a81fa0cae53b69689566cce0dea0661d178748f03a70a32ae8a964764688133e412cc9758c20e7673a573d8624adb171e587eb31703c3e555546719cf42f540957735c833ae5e617a31ec68498eb973bde5f83323e30334348edaefd6bda8db2a19e21f2df6c3068e940d15c2da744719c4e21bda232903b18a2b78a4ffdd5bf2d9fd3518146b6b8d90ea6f9aee529a888ff4bcd294180d03185f73d28b65b2d564c11dfa6bb35ffe3ef1c4387dd27d85d8625906a15841e40364b603c02aa30d89684a62b809035d1ae65f6f994b0e38f042e80ddd0e44898003668bdadbdea1007dff59c1a818e1587870e60e1bf3f3e6ceb2434634e937dfe200581f0288c0431ea0f66afbf17fa83bb8c7800ab34f1023dee436c2f8711e0e0a59410303107389856cdc020005a531c506cf2d3b6386ee95e16c64e9487d6746284f58fd01410a00581f0235e8eea0d96822615ece9d807a9ce462bf0fe8748ea375aef0d0a6c70d754526711dd9e500581f024a6a32a7b8525d8ae93f469925f23d1ee46da1e7efff441f8786fe2335cd410103818ef537880fd116276f0b4a46433de0c2793e6b1ad4c79ab4d69c8d0a3be78200581f0276194250b0002812bd70e970cea11ec48d373d7409154ec3ba1fde1d50eb410400581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854dac17f958d2ee523a2206206994597c13d831ec702191b0d0368c7b12ec657bfbc65f0116d37b84c94d31054a44c7fcab92d2393be5ba7d51b03534d98c3ad6ecd7917eb4c2562f81febf93cd633e8ede587ed7d5305f6ed210c03f5cb54e69cf0ac849ff37d42beb1f2c7cb6d55d4d4b10b3fb854e836e495066203972afa62663dc8edc20ca16dc4a85fa9eef58ed694c332c9db8c526e2cee4dcf03cfd0c37c7095a848881f1f7ebb461015e77824ac6cfbd9cb6b6afcc48ef4aa4e03052a472726eb8c9c795fc3ce80a93dcdfddde8c5c3e7ba9d876303afc6a33b360378f0c468a0fa47f15bf6048684cbc4656502649451bb72550c1374b32e71721f038539cb216596cf0b13b1a047fb6b8d4fe6429b05b34851274eb1467d5f1bb627038c94e0c236fb76654566e475dd4877303e21f85181d6388ae6ab6725292806790219ffff03254c08d38c1e34cababae3fecefaa3dc984cf8af5d5864b8f1696ecb9c08ee0303f23b74e88c4562c45c7f296e5a28770c0a19cf1c687db1a1706f70faa3cbfaa303e012397f0eeb1b2ee5897b9770c730008cde8aa29e5a68bef11eca978304db6203955fce3ee5aaa50705372b08dba0758037f56d7015ce0f30e76bfa9faa97ffed031f8dac8891f86b6050de5c2a3dddfcac1fdbc9471d28f50fdff443624817527603784b69a94ec2a26caa2f95c0612570c7ede4440333643cc86197cc277f4d0e98030211e9b0de4643cb028ec9c2f4a71897f1f1cffc73afdba757f2862e1ab59255031c755342739ada18a1354a2aa6a157d8771b7d6dd1f37c2377e83416bf17fd170338c3d1f41e27318a69ae57df3d5b3d301583a9697b902aeaf3abda0aab5270620219ffff03d609ffc034a75e12191826aceab2fc3bdbd7a0396fad45c8b9318cfdfccc007103eeccc701a965804c75a613af29255877bd5c70bcbcb074a207aff6db72e0dbbe0320cbb16f4aa7ca2859cb10c7f72a09233b8dfeecbe35575cdd7c7a93056a401a0340569e3201dd7394f35a95ab94a4feab410f13f88f7f19637ca6364d45d5d31803732d4725b5ef4c42bec0481cc8675e5159fdba471ff260ce8f2e7d61ee54f4a203ff3dc1800b07363eddd0f8a41c945a60fa6038add62c71777b1abe345a79a2300308e0cd89fb936539d21317683f69289b1e77af95fcf36bfd9795d0aafe019c2503520d171404de45af69995895ddd669407444fc41121da5bfefdaf33cc23139310306f4176a4f52663dba3015f5cb9b5325bbf0f42574bc1048d4558f8d73705a1403588199d42ca58503aeddd557d2a335a22b529e58d8056567f889b9932dc429b303a2c98f192db60f3b8daf54a7d7dbc93dc87ff6364d82061032177e7fd08e8cc103923d85b9dd1cc82736967f356be0b61d98f62b79c4485feeec75df3e9848c2af00581f022c2d2901876fffef46fd499ab2ff493da3d1cb532566f5b81f99405be8885820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b60953c57b62175847f6cab1fcb064e4c5c9a67c1f8a9348cc3b8798e9c45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b28b9e8385ebcbee54c2719e931da6ee2997d1aeb203486f647e752d262c457dd7c47e8b00581f0224c47e0132bf330685f8a96c9053661f3507912dc7feb2ca033c51fa726d410100581f0296cd7f459ef45829fbf21c30ae565c186fe12b78a4ad4bba961afff133e5410100581f029a74777bf00ec4342b4db1325418153cb9a4454fbff4e1af3f9fa8c5cd7d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8560189a26d91cdab35a4d6716e7f498e50a69f160389e703e862e7fc8fc105d9dc51081c289058ddd505248607d2bb6ad8082ed828198c3a03b764ccb2e4f72546ef2e55df0585ae057fe3b341c8fc5faf4ce405bf37b29eb403f4b13e72bcaf7c99890cf6a8ca39d8ac5f4a74b8a7afb95e674e3d51ef11df9f0219769703435a01c22a728e0e295798f42914d23d8eb6151c3ddeca262a4cef4d0af7b5c50363385a7514915b6a2754c155378ec9f0f596754b458eecc2018d42410ce6a3560371b280decf73fa545048d3b83cf0ec4f679f9cfa5d8f140197cf33be4d79fe28034bc3184f0802a8fae0f443cce83ebeaefac695e2b0326459c57e1f5738921aa703f9e985ce15bd581b4ae18649721474a7f2331707ac58a2e255b8620c2f33dab203db916ac77feff481839538ee1ed72928753112eafcdf5e04b6dbf2182f36d6f003fdd8fb1bdc0de3bb56101b5e8a8183b6f410128d0f26b1ba0e6d6d5af0599fa303ca4eb440f04eb09c21f20cad6c66ce1717dbd657ee09af8ce2404d07eb67ad8f03956babd7d7a52afc46a44895950f29e0bdc1f994eca3cc4664b9b110e1e9bbf303998476ed76a18e0179e49996b762185a4626c7f02fa483b28ffc8b4ba43abce50219ffff03232e8eafa699bfa5294c03806a6b112656e7663a93136a0a6768fd6f9a2940f003f4927534581a87eb35a967cda15741408398638e0629f6a6c0d1a8363ad2c6f703479758473ddc1e8afaeccd077eb5702235ba9420781de66f51be8d648a90c0170392bf845462d4bbadee685fd43b612ad66bf7d49978f1bb585e5ec2d170c65f3f0322720d6e58a984d268cb540d622cf98fef03eeb245b9de4bf3735d25bda740ce03383e182aa4c529333822ef7db88a5176d07f000f348c7983a73e9fd288b5f0ee036256c1f156f859e98acae3001cc892275b51e51873873c7c7aece97ba289df11038e6a3b81d6f63b124f76b6115b53ba8b7d87e05672d1fe84f6ede641d55948910302b72513bad0cf1e1564727fedd978ecfe0a47b8472c0c5d8a705cff192c10e20219ffff0310ae4405a532b34fc0b888c2016a8d7031ad2db6937d19b48fbf74b230934c1e033cc15be1a8c5b0c5dc15900234b88395d926402eb94cd039bc42229bc1768e51037d38d5e86d2b778181fa394c1b028031055381ca28fabfe48afded94a8ecb94003ce9e03c8be9be115cdfee7e76e42cfc89f8460d3d08e1249d08c88653dc77b6b03de05d50c7d0b5411875e72e936e1f9c4e9a1aa69960c1fa4e8231a93a8f4775103281e9ef65d16b687d77b371150cfa15c8022bc73a65b7b0005f34d1a1cd906cb0387b3992d806843478562c17a84d63cace590586aef59ec2e440ef55d5971f71703372f386e3ac74a73e75cd125273401a5c7cacf875c49538355c3110ffbaf6bc103ff0c7f8104d2406938d980823581252b45aaac687757a2640eba820c5899a00b03bf95782608713adfbb833cba69b051adf876018af7abd819b30401e7902a9df20383546592f050615b4c1068502f42c8b78636731c496bdceaebb78e4014bc2ab70384ccbd84eeede3fd15b26ae2b0063fc4cd4bd2956296d2f644bf748129b15f06038f25a61a3b8fa0ee23db590cacbae50aa4ce1d2081c9378d4f25527d65d0ea29033f91b2e2ac515a5a557be8aef16084f2db389fbe93bb05bc59ea4ca3ad00cbe003dc4245d8f9ed2d04dbb2d6a9c6c27f8ccd549e5b79538827766d519d8414eac9035d581146b768431fe8b587d01a234d5feae2ed3538cb613bcf69393cb453a679035da429dd8f35632f20cde5162f5663febe8fb0a3c6808ae2d7cec5d29446630403211fdb54c48d0d90d1b50d373ee4654a4fe72cc3da3e6c7488b92cfab208bacc03024638c70eade12d110901d79ba9e44e56d127776ff4bf86c213464b44a837d403e18ac72a70246f6764d4030d62d81ec5da4e71afec7cb50a4f4c87bc8fea57ae03e158c287b14e4450a13dd180f85492cd773139109d5378b879c3b7064318df7500581f028717b82d1847059010d2deebbe39eb341eb37e5224e6c86c72270b4077a8410100581f0221d6516cf129367ce3736a65f6f8e01e279a9e305c9952e9c2516bf0770c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028bef4014d6c53f1c4578872f8ae6e1d900e0043fccd7cf2b0ba32dbf496f454472885c50035e6fbe7d926f29fa35c3fa9cdb4691fce42d693596c3bd8ccbedb2bda57b0dd500581f036c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100581f03757a4efbc8034107d698e2a8ae8c95dc857d3931535305a18671a00e365041010218c000581f02b7b1efe0f1aa87a3a814b59a2ee2a43d86bb8bd4269e67b7681974e96e635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0374491ffbf4ec2927296fdea33b10675a0eea8405260fb2e6a3c850b57e77439200581f02a0ba73b9869f40efd80880282b30e3002685fe084baa7990353698bb2f204cfffffffffff0965bcf9b50980219738c0397b6d3dd9d608bf4e33401dfcd1ae3656f0b579e5da66e0e1e19e2defad496670360e5ecb8c193afdf4f93754aad7e9fac2d885c88c8db8c1088db7a37a3ce2675039837c653b486041d20cd76c19600bc48b6c662ce73958af351156ae6e8dc1e90033a48d3ad181f90bcd734ad3fd4329a91144879cfcbf441a9d84500f256d52557034173f9006065d06c9e539880d557a5df3fddd8ff679b11da0b7748d2c181ba5c03a66fc60201181c8f71792eee8e7fe2a7e9c365e6df9761bb81a21ccfbd3e081503ccd12beacae8f02ce33a845d884a135a84e6cdfffbbe73de3f1bb3f9a06b222e0381e541d7bb53f7cacdedda9941928d2f92431f190f24bb0c09f108acae38ffc3034f31f1d4d419521dcfc5b563e8e7913b5cd3ef69c5195c7d89c0d1acd92cea3f0219ffff0219ffff03cacef29ffd12141ea4e5537afdfd05c784886445ac515236eea7f31311d5175003da4044667989b3cb55ef0db6061a0181e0004262c779704694fedabfdbf6a0f503d71c0c9083ae5682be72f015feee95ebd9bcb2ee834dfbf2d84603339504829a03c4f028c30db8b87ddce6147d764f387e66731b3c9e5933a41eb990555caacfef034779b4b32310de3b3646f1ce3baf8c1300105fa119a89324102dee5d5b1fff6c0310ee8cc618ce1f2f6a45073162b97a91262fa0209037a6225a08541444788972034bb6a4c38a11083401b51ba7bef93b71229be5cae941b1cee0d6f5409f64235a039fb411aa740fee9d1139b8c4893f5de14b410d2bae9cad7079d5048df53a522203ce0531f6587275222fd49c7493c23fcf6d6988b96443b794b1172e9a7f40cd340300fe44446894e6071abfdcee67d495282c2f176bbf7dac4a5536ae03d33fc54e0353633fb4de7ef5db023cccb3c9045fe96ab9efb7da613bfcb0f868aa90b794350361067164eaea0cf8a8ed0513aa966a5285004d33fad4161716ed3df2b52423580368db52a6680957c295ea74c8ebf435adb405e53727268fbd87a92a6d91978cdb0384ca70b1e7b47c2b77fa1ce737a17455ebc0f38d7055b39051a1ee4703d0bc940377a67f883f5883595cdaf4d18b57143112e17c58d89579fbaefc9194917a106e037d0a0fc2dd1eaf2337a9007b384b105ebba6042683f51f397686183ea0427da10308aa3aa3f44855b2023d72732c1129a16e8375490e1c02143f32ebe828687cb603c1fd3a75126d3fdaf1559bf9d15d761be5c1772207baa799928161ab9505ead7036052636fbf523993c43998a01fa5cb9fb53a3364abb386f73ad40e32a60302b600581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206632d03b0000000000000000455a77ee14aa00000000056e610551e41bde3a05031f943e6a14542cfcd2051b012508edf41ea368b23d076943d7e9addd3671363a00581f021b21adf49da102fcd022822e57d9f923a6da8dc4bbdcb470e2e2a5a631f45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f024d60e8095990c982d58518ced7a17d286c3c26b8849351e9d8d23fc20db74d0c9f2c9cd04673f9c73ca04d6d00581f02afd970abf15588f6ce51ba971802337b9b54010f11590ec781b068bbea895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219e4800219ffff03d352cd144ee46dc5e72a438bd909234308c00507021488ccc3cc040296827efa037d3d607d3d21cdcd49bc0ecb78f9ce2072bcfcc8be89fbfacdc2ee31ccbc7cfb03c303714bbf2f4e90cd99ca6ed5107fe890a374b2c917e82f2bc912703a69b62c03d7fe08859217c89e78a0e5bc9310e188bc85379023754fff246e6cd55b1f28c103bf1a5d9085577418c2e27c7af3b3012ed343d955b8e65b1a8435d6b71afaa4aa03983adb722f25b0478b54319f31db64ce3ecab6f5eb5b8265d4cfd676d0f1127303ec8a7289a0974ed4517dcac6384b7737532f84fcbd328bab22b8375a419d0a5e00581f0286c56a1d006003c0ce3b61c41fae53b2f4de1f98d4113e9ea94c28f3017e4101036ae1424e8e858b86212e310cb0d86b25dca66d9284144be36536f43d90e8daad00581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200581f023b007e089ae9ebc9a090eb84c267410670ee7441c3ea4fbb36b06f47121e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02989cc1223d3371bafc3e8273d5a93ee53b03d4ca0d6917d95c8a02ac70d9410100581f02a2d971aec5cb2cd455e2b2804674bdfb76ff875c6a5381c45e5f9dbc9b265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ca1ce7d6d20000e842e6d1d7c704aab5e227005e5b3909035bcfac1700764d0c9f2c9cd04674ec7c449416c4033870152b4e0e9947db0af33122555b6a590ac9254369dcaa28ce95522c3f783602191a67030cf6821a78bcf1853a954e77ac3b7919133f799709581fc41e64b71dc27af45503b087c5c4c0025eafa308c4a889d61814292bef8239dddb6bdaef37dea0682178031c0a2d93a8e8a215e7cf039ed435e016ad177eb12de7e52fb11ce65b7429791d03d9b6a77a19f4c823f4288e8a1359bbd57e65750dab7c0a4ac922e438a45ae2840304eb9e07b8e14fa53b550f37b37ba548cf1ce84c123567eda63b23dff6decc80038d15767c4063bc20fc600ffa262b9964ebd0bc1dd716468e6faeb077baec081c03d345c6b51fb36973f0b06e38651151ec0ad528917fa57dcef05bdf28ea731c69030506ade626d6163e63d0a517ac2cf732c2fdfce95a2563e33ad32cc07e6acb62037cbb2b7d16e893717ada6e8f4c7e61c7978e57533a7b529163ee974cb622d1c203f632513bebc7a17bc36f044e4a08f67455085f67e1d786b3f4397700991c11f50219ffff038301996d321284a90feb4878c32a8bae24ed6e4aff9975de3a98a19ff7cf3bac03b2fe6404330cc02b38b497dbfa696bb10a0ab6e59afe9034050d1c05a9bdd7be03331559dde12472eca071870b61c65a9ba9b99ef9e4cd9e25f40bca0a93c9d89b037f5c000b93331a27f548f307ab8945344fb9a0c48e2d9ab025543a48c319a17103a460a2883bcf1e0ee982b75d6c18904961e0569dea48023b30bf6bcda92bad770305ec62bb3c9d3bcbf34317713c069a3c15b6ca14efc4beca524a7edffbd3077d0397a872664bc39c95ab4dff83c392c3b889592cb0534a5ec38fe8109837d083270353649d80157d72dea587fa0dc9dd2313fcd85d7441d54f998e6985c885d81b5703bc554c25e250589d57d3f861d95015b868e83d622c9c9a4de214a57dfcc3a7a80219ffff0219ffff05581d0298aaeaeed7fcd2e41e2030bd01bcf393c32a702fef8d71b5c373edc50701192c1d021908010219dfe4034af741adc5de455c8c88f5177771ce4567ecf5c56b0a9e56e3d2040d9db5bf070330dfd20715a73177f8b61aef09ddec6f121fadc09e77a21f4892bbc6b08f7bfe038fb957ca61ba72d566196a59c9fbebe5b841098ea3707d19933ac742ee3949d90343160114348abe8debf731f5500bd7d811a684d9ef447bccdd51ea18ff14bb7b0219ffff03b4b3e504f446cc5d036f1c3c91ca15768781775a4f6d5b540d795b8cd3be10f70386a7b794a8ffcc9c05ba53b130eb342e2cff65f4be60db3e85fbecf0bc5ed53403800230f133bed8a0846b2cbdd759fbab1702f06547d8795fc32094171d0a091e036b2eeb74b70bfb478c6b4e89fadc27d9aaa1510c8c8db7a9cf33108a64f1b01103e209b2d80cd2bce8c542561438e767b3e97fc64c84f30a2b01cb1a70ab3f60bf0219ffff0219ffff03d57adbca062449c97a4f5b92b9d64921fbeca3021b900ffce2317eca6a8209070219ffff03fcb4000c791cc2a3d3590e8b3bcf3e3271b692d5414ec3479c0186629817408103ab1fba61975505217761e920a375a621ec82e330be8f1cbfc6057f003de0faa6030fc9efc549e632d78d97a0f57d36c08fe7dd7abf4b0ed04d1dc5df273ba1c62f03aab24f429bb20da66d720e2da427bef319108fbf77dcda66c4f3669b2b57324f0399682307d43feb61e67100b9da779250de23f05c2e685b64487f2b833305b6ca0383f4bed6ac984dee7786707c6cfcfe32ed27d346dc1ca64641de2958e3e11d0303fc7d4ddafcfbe9dfcee6ea56b9e3f9579308430a62976aed602e5517024025b8033196170b28cbb0356850d8e05a1172374c16a00470b4e16d23743347a72d694403c76349ffff54ea251bcb26460c2070bae018ed2c3b9f5ec637dddbfeaa04af7d0388efa3b6cc001e17cfa5e5724f3e3c06e3741d14376227513899f7a2f9121c7c0351b21f527b4372b0cdec23ad6a56c14ad4e6b60a180ff63d060bb2e3d77fbb2d03f623169d5fb05c4a55c2b5fc3759ee60e39c2522f794200af2cca3729071445d03ec681eb2f048192f3bc11e62c497c79c61c856b78ce031ce6fc2a16341ca9b86032a2e3378e40e38ff78d055b529b06ca31073a8078751f1cd1d8cdf5f52eb11d603ad24ec654a557e4267c56c253b7a0e8bd34b4babaedd74afc4330bfeac6618ea037572510b7c9d2d56db0eca87639783178e49fd79e0fc7b2d7c00a9304d13357103b38614fa88eedad45e55f304915c6cb5f932710a2485d8586dec1891b23c3642037fadddb5803a99daccd3c4446100750d254e1dea958094c7bf4ca7a0c3ec630003a56b2f8569947ef48c6d00d919ef5373790416ff71f4a24cbf45418fe89951ee03a4f22b4ee0c69778252253b1551a14d2ea84d3898587b1f86343286497fcc239031d0b16afb12545199d13ec829ee542ef59720a60e7274e269bc8829b0cb7ed69037bfbc9bbf8ed7ad074ab414662fa6f9b3e932576bc25a6a2137e08c39394267805581e030232ff385e9a969e77526cd961324d6c7a1179954fad86d8615cef9fd00c0147ab1be31f15b2a003bee5ab501f1615aa6dc899ebadab6f1dfb5f225d673485ab10e76b029bc5b2ea05581e030671a5cd0c33fee5205db61df8ba8e2c59485394a06276fec66c207a600c0146c3083406900004591c7b608060405234801561001057600080fd5b50600436106102415760003560e01c8063935f029e11610145578063dac6e63a116100bd578063f45e65d81161008c578063f8c68de011610071578063f8c68de014610597578063fd32aa0f1461059f578063ffa1ad74146105a757600080fd5b8063f45e65d81461057a578063f68016b71461058357600080fd5b8063dac6e63a1461054e578063e0e2016d14610556578063e81b2c6d1461055e578063f2fde38b1461056757600080fd5b8063bc49ce5f11610114578063c71973f6116100f9578063c71973f6146103f4578063c9b26f6114610407578063cc731b021461041a57600080fd5b8063bc49ce5f146103e4578063c4e8ddfa146103ec57600080fd5b8063935f029e146103ae5780639b7d7f0a146103c1578063a7119869146103c9578063b40a817c146103d157600080fd5b806348cd4cb1116101d857806354fd4d50116101a757806361d157681161018c57806361d1576814610380578063715018a6146103885780638da5cb5b1461039057600080fd5b806354fd4d501461032f5780635d73369c1461037857600080fd5b806348cd4cb1146102d75780634add321d146102df5780634d9f1559146103005780634f16540b1461030857600080fd5b80630c18c162116102145780630c18c162146102ab57806318d13918146102b457806319f5cea8146102c75780631fd19ee1146102cf57600080fd5b806306c9265714610246578063078f29cf146102615780630a49cb031461028e5780630bbb796814610296575b600080fd5b61024e6105af565b6040519081526020015b60405180910390f35b6102696105dd565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b610269610616565b6102a96102a4366004611928565b610646565b005b61024e60655481565b6102a96102c2366004611a55565b610a44565b61024e610a58565b610269610a83565b61024e610aad565b6102e7610add565b60405167ffffffffffffffff9091168152602001610258565b610269610b03565b61024e7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b61036b6040518060400160405280600681526020017f312e31322e30000000000000000000000000000000000000000000000000000081525081565b6040516102589190611ae2565b61024e610b33565b61024e610b5e565b6102a9610b89565b60335473ffffffffffffffffffffffffffffffffffffffff16610269565b6102a96103bc366004611af5565b610b9d565b610269610bb3565b610269610be3565b6102a96103df366004611b17565b610c13565b61024e610c24565b610269610c4f565b6102a9610402366004611b32565b610c7f565b6102a9610415366004611b4e565b610c90565b6104de6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516102589190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b610269610ca1565b61024e610cd1565b61024e60675481565b6102a9610575366004611a55565b610cfc565b61024e60665481565b6068546102e79067ffffffffffffffff1681565b61024e610db0565b61024e610ddb565b61024e600081565b6105da60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611b96565b81565b600061061161060d60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611b96565b5490565b905090565b600061061161060d60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611b96565b600054610100900460ff16158080156106665750600054600160ff909116105b806106805750303b158015610680575060005460ff166001145b610711576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561076f57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610777610e2a565b6107808a610cfc565b61078987610ec9565b6107938989610f2a565b61079c86610fbb565b6107c57f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08869055565b6107f86107f360017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611b96565b849055565b61082c61082660017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611b96565b83519055565b61086361085a60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611b96565b60208401519055565b61089a61089160017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611b96565b60408401519055565b6108d16108c860017fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871816611b96565b60608401519055565b6109086108ff60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611b96565b60808401519055565b61093f61093660017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611b96565b60a08401519055565b610947611099565b61095084611101565b610958610add565b67ffffffffffffffff168667ffffffffffffffff1610156109d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610708565b8015610a3857600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b610a4c611575565b610a55816115f6565b50565b6105da60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611b96565b60006106117f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b600061061161060d60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611b96565b6069546000906106119063ffffffff6a0100000000000000000000820481169116611bad565b600061061161060d60017fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871816611b96565b6105da60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611b96565b6105da60017fe52a667f71ec761b9b381c7b76ca9b852adf7e8905da0e0ad49986a0a6871816611b96565b610b91611575565b610b9b600061167a565b565b610ba5611575565b610baf8282610f2a565b5050565b600061061161060d60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611b96565b600061061161060d60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611b96565b610c1b611575565b610a5581610fbb565b6105da60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611b96565b600061061161060d60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611b96565b610c87611575565b610a5581611101565b610c98611575565b610a5581610ec9565b600061061161060d60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611b96565b6105da60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611b96565b610d04611575565b73ffffffffffffffffffffffffffffffffffffffff8116610da7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610708565b610a558161167a565b6105da60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611b96565b6105da60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611b96565b9055565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b5490565b600054610100900460ff16610ec1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610708565b610b9b6116f1565b60678190556040805160208082018490528251808303909101815290820190915260005b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610f1e9190611ae2565b60405180910390a35050565b606582905560668190556040805160208101849052908101829052600090606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610fae9190611ae2565b60405180910390a3505050565b610fc3610add565b67ffffffffffffffff168167ffffffffffffffff161015611040576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610708565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002610eed565b6110c761060d60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611b96565b600003610b9b57610b9b6110fc60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611b96565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff1611156111b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d6178206261736500000000000000000000006064820152608401610708565b6001816040015160ff1611611248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e203100000000000000000000000000000000006064820152608401610708565b6068546080820151825167ffffffffffffffff909216916112699190611bd9565b63ffffffff1611156112d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f77006044820152606401610708565b6000816020015160ff161161136e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f74206265203000000000000000000000000000000000006064820152608401610708565b8051602082015163ffffffff82169160ff9091169061138e908290611bf8565b6113989190611c42565b63ffffffff161461142b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d69740000000000000000006064820152608401610708565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b60335473ffffffffffffffffffffffffffffffffffffffff163314610b9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610708565b61161f7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506003610eed565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16611788576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610708565b610b9b3361167a565b803573ffffffffffffffffffffffffffffffffffffffff811681146117b557600080fd5b919050565b803567ffffffffffffffff811681146117b557600080fd5b60405160c0810167ffffffffffffffff8111828210171561181c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803563ffffffff811681146117b557600080fd5b803560ff811681146117b557600080fd5b600060c0828403121561185957600080fd5b60405160c0810181811067ffffffffffffffff821117156118a3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040529050806118b283611822565b81526118c060208401611836565b60208201526118d160408401611836565b60408201526118e260608401611822565b60608201526118f360808401611822565b608082015260a08301356fffffffffffffffffffffffffffffffff8116811461191b57600080fd5b60a0919091015292915050565b6000806000806000806000806000898b0361026081121561194857600080fd5b6119518b611791565b995060208b0135985060408b0135975060608b0135965061197460808c016117ba565b955061198260a08c01611791565b94506119918c60c08d01611847565b93506119a06101808c01611791565b925060c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60820112156119d257600080fd5b506119db6117d2565b6119e86101a08c01611791565b81526119f76101c08c01611791565b6020820152611a096101e08c01611791565b6040820152611a1b6102008c01611791565b6060820152611a2d6102208c01611791565b6080820152611a3f6102408c01611791565b60a0820152809150509295985092959850929598565b600060208284031215611a6757600080fd5b611a7082611791565b9392505050565b6000815180845260005b81811015611a9d57602081850181015186830182015201611a81565b81811115611aaf576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a706020830184611a77565b60008060408385031215611b0857600080fd5b50508035926020909101359150565b600060208284031215611b2957600080fd5b611a70826117ba565b600060c08284031215611b4457600080fd5b611a708383611847565b600060208284031215611b6057600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611ba857611ba8611b67565b500390565b600067ffffffffffffffff808316818516808303821115611bd057611bd0611b67565b01949350505050565b600063ffffffff808316818516808303821115611bd057611bd0611b67565b600063ffffffff80841680611c36577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff80831681851681830481118215151615611c6557611c65611b67565b0294935050505056fea164736f6c634300080f000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582103fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308046020100000001005821032a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82042dead005821032153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530410100582103c15126c9d6cb6094f5d6f3cb2aac8dcbb22b2a1328bf6794f61b5e641c1be8e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219458405581d0209428e7811274028bff29d71182f79e20423bb2d5d9745b1dc6b0a080701191c7b05581d02150752ab8ae5ef8dcc62fd0754851f92fe2b365e5bf0844e3136e4730c0147012d39825980000219800205581e030934e5656dd08b2e44db8315caa7481998ec15abe1f26ef674e5b73a700403033c2ae366c279a97fd58baed07ab492379c7b8fd0eeeb590e8833689e16058fd805581e032ae440ae47c63b89cd534fc2b67f6d33f6540884050f4e9827095b3ae00c0547116fcccc8ec00003876202e5ee60a15a14c8c6aae1b62ec3bf3d4c404280dd53a82784011794dfc30219f528039c79113aeb524efb27fa80ad63688262744cd877b5b1d3abcad790b1e9ad898203c189521ef7683a531619655f64fdc44b3a422d1b5b87a26593c3b1121e7f623303bb65456820399b59b2d7fc06368904f0d03e55ee7ffca7b80bc14acb371333ad0373fb065732b6c9ff0e304311dd282c2734b097679d39c23fd1ee2f0739a9c5be03536dbb74340c33be95704a3f00375c85851dd441255ef6d1a7ccc2bc3384350303219be063b761cae3c577c36240157af231888ae31e331e761424a57af9f54a1403b1d142cf5699f302780cdcf2f1354f2a6345a622b5bda02c2f919395a4c0fcbb033ad54537eedd8be925cd625818ffb96dd43234785039a11a6f6a4e0ed1d2e7db03e7de5b6152d20c46ffd70e5616c0b880fb705e523b05b2414dd532221a6fe2b603a75681b6e15530a53ff9a92ce081935a1ab4d13f4b0e0e4286375de724cd4e61031e1fafe72dba533b1d82a454358535e6cc10f61d28d5dfb3f1929202eb9a05a1034698fa4058be35346fda9745ab5af56355247ae79721ea4606fc21c18f78bb380219ffff03d7dd034d17af405834f8bdf051abc7d07ee1c4d1f566c0e08f9ddf5329571f0f032b24ca3f272c92225d14e84fb9ff937a6f614df62b65decee04c924936b85b68037910e78efd015a0f4e905bea376f34653d7d6a39490b76b42860ed9729694a5a0324ebb33e2a0048c9a2206da6778212a1fb7d9da60d33c0ea91f07e8da85e664d0320f57fc91d3a055ec873ee9a848ad1a8b040fd37f40f38ee6661961a173df866032e56b6fca4fc2dba306ed42de38ee539fcf69a85841cdbe6bd341f13c03d2ef1034b4976b352031e1fe425a4095a3d877a30ecb92921d327efa241c6de97571525038b6363496fd16978bc852240ae62d316e711bd23ba04299aee0271d00d061eac0219ffff03cae76fa9292974f14c74343dca2d4adc1544bdc17835c4bdbdcb76cb7aea5d8f032b5dc1423c837da7d3e96202acbdc691d2942e679f19db1a17498cdef61f8de003e95955b72e606d63eb728632096afc25638c6a4f87311cc866fb514e7656260d03de890dfb783fcdf474e8984d7b9ebe82bf51915fbd1486952bdc7e268af686f603091661ef9ad5cb6cdc631fb009956246d24b5988d5873a86684ad4d6a2d2966303d9dbbe29deb70f401f85acfcb82d4574ce29d14cf76bf6ef46908b6bdcefdcdc03f50d3f8b5b72bb2f566da09e3d0a2ba10b34b07b97479a830910ccaa2a6ba84103757ad454bd1b9c3068fb0089a7e128fc13961b450dadd53199761f963640a3940329d75c1f26368734fd921a332b5acd83ef2044442a04603024f6ebab50c39908033383f1fceb92ad5f1d08553bdc54d14883b1514f1c4cc7384618daf0c6ead32e035a5b7370eff8a4141fcbedac0f9a02898eea5ea35ec0450ab489f6156f71259c03dec507c40669f53beb66d2bef53274dcbf8ee355192d148359df1a4c564fb23e030bfc403cc8b8db5fd7647a5f72f5273198d31efa68a4f23a420820031679c9f1032adc4390d98a755136b00c674e2fd55a2a8cbf2eb58f766c852741b7e58ff39403b80a8573bf91498c79225bd30b97bee6ca0fa29bddcc5491d11b6a65f624f97803a75feb185853404065d8ced6f136b050a380105739a50328109293733318fc90030ca791171ab0454050f6ce1ed6e9c0f6501e78f3e29500e9397cf6204a11791a03fad100808c008b04b3a7eedb62217958a9456c3066db4b543a0cbb3cc717df2c03dc76ffdb247ca16b552c070bc2f8b1451b9dfddc90ddef4e3e30ce590b795c0a031e9788a4bf80878218d174048e81afc47a9e2c9eac1a6cb458a12e95b537379e03afbb3753217563bdde7cc6dca9a40028ff364b83564a45af04836b2b2e6edb6703369657cb62b1017b1f95e35e8eaa84a9b338a0fa13065999e57b59f04c3d90f80300a0b9b570625f7d66a67fc80c409ec040a9b94cb1fa0abbee786453ef47b70d0384974a5158d458bbb8319a1982240f6132e0c2ad2b4a9958691195d80773ea120317694d16932a69d20ce07f43ffd047bba6c286afe10ea136c929f4e8498eead703be623717d3c8cdcc9b3b23976959d2e6a41f5435dac106b9e94d3114fa9b299f05581e03263a9dff7f18a91350f59e72a67974d7c2116bcd02e6cd41b5881ea650040105581e03faa1cd4940924bd0bb0ec9850539c3b2e206c765930e5906465f5bd63008473fe18973a91000031be6bd0b752994b3ea6d85984d2ff3c498acb162009d4601b112a4726ba84e9d03ad38bf43b0355a1c2d70328e9ea391016fd61daa6395a5f6f62b6d5e36ac3d7603102b5bcddffd801d0d4e0086a7ed10dd2203f56e4dfc56266940cf832cfe684b05581e03b2efff030a24e1637fcf2c7c6cb229c0a4bde3046513a311bcd613d61007011bffffffffffffffff05581e0364dbb719aff8ef9b7dcf35e042e1db45085ba0b5880d9ce5cfa6da8e600c06470b65160583640003390b443edaa087bada593a717dc510f5b39bfc030819a8207f80b8046769a93105581e0394e99f8e4bb1c580d063bcfbbc564a56e525561d5b4e5b961a10e708800c0247016ed40a167a3004592cc2608060405234801561001057600080fd5b50600436106101585760003560e01c8063a28a4d86116100c3578063d82cf36e1161007c578063d82cf36e14610384578063d92a931a14610397578063ddd5e1b2146103be578063eaa4c446146103d1578063f2fde38b146103e4578063f4ea93d8146103f757600080fd5b8063a28a4d861461031e578063b62a772f14610345578063b964b5e51461034d578063bb2a091614610360578063d087d74d14610369578063d1058e591461037c57600080fd5b80636c19e783116101155780636c19e78314610263578063715018a6146102765780637ac3c02f1461027e5780638da5cb5b146102a357806393f1a40b146102b4578063984eef56146102fb57600080fd5b80631526fe271461015d5780632575dcd11461020357806339bc1c35146102185780635054da721461022b578063568e478e1461023e578063640d526414610251575b600080fd5b61017061016b3660046126f9565b610400565b604080516001600160a01b03909d168d526020808e019c909c528c81019a909a526060808d019990995260808c019790975260a08b019590955260c08a0193909352815160e08a01529681015161010089015294850151610120880152929093015115156101408601529215156101608501526101808401526101a08301526101c08201526101e0015b60405180910390f35b6102166102113660046127f7565b6104b0565b005b610216610226366004612882565b6104c5565b6102166102393660046128eb565b610725565b61021661024c366004612977565b610e8e565b6003545b6040519081526020016101fa565b6102166102713660046129a3565b611260565b61021661129a565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016101fa565b6001546001600160a01b031661028b565b6102e66102c2366004612977565b60046020908152600092835260408084209091529082529020805460019091015482565b604080519283526020830191909152016101fa565b61030e6103093660046129c5565b6112ae565b60405190151581526020016101fa565b61028b7f000000000000000000000000ea7b7dc089c9a4a916b5a7a37617f59fd54e37e481565b610255603281565b61028b61035b3660046126f9565b61133b565b61025560055481565b610255610377366004612977565b611370565b610216611625565b610216610392366004612a32565b6116ab565b6102557f00000000000000000000000000000000000000000000000000000000000f424081565b6102166103cc366004612977565b611a6b565b6102166103df3660046129a3565b611c02565b6102166103f23660046129a3565b611f79565b61025561271081565b6003818154811061041057600080fd5b6000918252602091829020600f9091020180546001820154600283015460038401546004850154600586015460068701546040805160808101825260078a0154815260088a01549a81019a909a526009890154908a0152600a88015460ff908116151560608b0152600b890154600c8a0154600d8b0154600e909b01546001600160a01b03909a169c50979a96999598949793969295929491169291908c565b6104be858533868686610725565b5050505050565b6104cd611fef565b60035485106104f75760405162461bcd60e51b81526004016104ee90612a8e565b60405180910390fd5b6003858154811061050a5761050a612ab2565b90600052602060002090600f0201600701600001546000146105645760405162461bcd60e51b815260206004820152601360248201527211549497d053149150511657d1115192539151606a1b60448201526064016104ee565b8184106105a95760405162461bcd60e51b81526020600482015260136024820152724552525f53544152545f454d495353494f4e5360681b60448201526064016104ee565b8383101580156105b95750818311155b6106055760405162461bcd60e51b815260206004820152601860248201527f4552525f454e445f4f465f56455354494e475f434c494646000000000000000060448201526064016104ee565b4282116106485760405162461bcd60e51b81526020600482015260116024820152704552525f454e445f454d495353494f4e5360781b60448201526064016104ee565b60006003868154811061065d5761065d612ab2565b506000525060408051608081018252858152602081018590529081018390528115156060820152600380548291908890811061069b5761069b612ab2565b60009182526020918290208351600f929092020160078101919091558282015160088201556040808401516009830155606090930151600a909101805460ff1916911515919091179055815187815290810185905287917f8f3433165a52619388932e74a94de77af10aac26c523170aefda9e57ac679fb5910160405180910390a2505050505050565b61072d612049565b600354861061074e5760405162461bcd60e51b81526004016104ee90612a8e565b6001600160a01b0384166107745760405162461bcd60e51b81526004016104ee90612ac8565b60006003878154811061078957610789612ab2565b600091825260208083206040805161018081018252600f90940290910180546001600160a01b03908116855260018201548585015260028201548584015260038201546060808701919091526004808401546080808901918252600586015460a08a0152600686015460c08a01528651908101875260078601548152600886015481890152600986015481880152600a86015460ff90811615159482019490945260e0890152600b8501549092161515610100880152600c840154610120880152600d840154610140880152600e909301546101608701528d8752918452828620908b168652909252909220915190925042116108c85760405162461bcd60e51b815260206004820152601960248201527f4552525f4245464f52455f4445504f534954535f53544152540000000000000060448201526064016104ee565b428260a00151116109145760405162461bcd60e51b815260206004820152601660248201527511549497d05195115497d1115413d4d25514d7d1539160521b60448201526064016104ee565b60408201518154610926908990612b08565b10156109665760405162461bcd60e51b815260206004820152600f60248201526e11549497d3525397d1115413d4d255608a1b60448201526064016104ee565b60608201518154610978908990612b08565b11156109b85760405162461bcd60e51b815260206004820152600f60248201526e11549497d3505617d1115413d4d255608a1b60448201526064016104ee565b8161012001518783602001516109ce9190612b08565b1115610a105760405162461bcd60e51b815260206004820152601160248201527011549497d413d3d317d4d3d31117d3d555607a1b60448201526064016104ee565b81516040516370a0823160e01b815233600482015288916001600160a01b0316906370a0823190602401602060405180830381865afa158015610a57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7b9190612b1b565b1015610abf5760405162461bcd60e51b81526020600482015260136024820152724552525f4445504f5349545f42414c414e434560681b60448201526064016104ee565b8151604051636eb1769f60e11b815233600482015230602482015288916001600160a01b03169063dd62ed3e90604401602060405180830381865afa158015610b0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b309190612b1b565b1015610b765760405162461bcd60e51b81526020600482015260156024820152744552525f4445504f5349545f414c4c4f57414e434560581b60448201526064016104ee565b60c0820151600090610ba87f00000000000000000000000000000000000000000000000000000000000f42408a612b34565b610bb29190612b4b565b905060055481610bc29190612b08565b6040516370a0823160e01b81523060048201527f000000000000000000000000ea7b7dc089c9a4a916b5a7a37617f59fd54e37e46001600160a01b0316906370a0823190602401602060405180830381865afa158015610c26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4a9190612b1b565b1015610c905760405162461bcd60e51b81526020600482015260156024820152744552525f4c41554e43485041445f42414c414e434560581b60448201526064016104ee565b610c9d86868b8a886112ae565b610cd95760405162461bcd60e51b815260206004820152600d60248201526c11549497d5d2125511531254d5609a1b60448201526064016104ee565b8060056000828254610ceb9190612b08565b9091555050815488908390600090610d04908490612b08565b925050819055508783602001818151610d1d9190612b08565b905250600380548491908b908110610d3757610d37612ab2565b60009182526020918290208351600f9092020180546001600160a01b039283166001600160a01b0319909116178155838301516001820155604080850151600283015560608086015160038401556080860151600484015560a0860151600584015560c0860151600684015560e0860151805160078501559485015160088401559084015160098301559290920151600a8301805491151560ff19928316179055610100840151600b8401805491151591909216179055610120830151600c830155610140830151600d83015561016090920151600e909101558351610e20911633308b6120a0565b82516040516001600160a01b038916918b9133917fc436f473cd90c9b4dd731856a14b80f713d384a1688a506d4230140c5b36d5cd91610e71918e82526001600160a01b0316602082015260400190565b60405180910390a4505050610e866001600255565b505050505050565b610e96612049565b610e9e611fef565b6003548210610ebf5760405162461bcd60e51b81526004016104ee90612a8e565b6001600160a01b038116610ee55760405162461bcd60e51b81526004016104ee90612ac8565b600060038381548110610efa57610efa612ab2565b60009182526020918290206040805161018081018252600f90930290910180546001600160a01b03168352600181015483850190815260028201548484015260038201546060808601919091526004830154608080870191909152600584015460a0870152600684015460c08701528451908101855260078401548152600884015496810196909652600983015493860193909352600a82015460ff90811615159386019390935260e0840194909452600b8101549091161515610100830152600c810154610120830152600d810154610140830152600e0154610160820152905190915061101d5760405162461bcd60e51b815260206004820152600f60248201526e4552525f4e4f5f4445504f5349545360881b60448201526064016104ee565b428160a00151106110645760405162461bcd60e51b81526020600482015260116024820152704552525f4f50454e5f4445504f5349545360781b60448201526064016104ee565b60e0810151516110a95760405162461bcd60e51b815260206004820152601060248201526f4552525f4e4f5f454d495353494f4e5360801b60448201526064016104ee565b806101000151156110f45760405162461bcd60e51b815260206004820152601560248201527411549497d053149150511657d0d3d3131150d51151605a1b60448201526064016104ee565b6001610100820152600380548291908590811061111357611113612ab2565b60009182526020918290208351600f9092020180546001600160a01b039283166001600160a01b0319909116178155838301516001820155604080850151600283015560608086015160038401556080860151600484015560a0860151600584015560c0860151600684015560e0860151805160078501558086015160088501559182015160098401550151600a8201805491151560ff19928316179055610100850151600b8301805491151591909216179055610120840151600c820155610140840151600d82015561016090930151600e9093019290925582015182516111ff9216908490612111565b816001600160a01b031683336001600160a01b03167fbc26696e7e0fabc5eca7f4c50f2eca48ff55ef18d9855423e62c0e142fc5806e846020015160405161124991815260200190565b60405180910390a45061125c6001600255565b5050565b611268611fef565b6001600160a01b03811661128e5760405162461bcd60e51b81526004016104ee90612ac8565b61129781612146565b50565b6112a2611fef565b6112ac600061219a565b565b600080546001600160a01b0316611327836113216112ce8a8a8a8a6121ec565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90612228565b6001600160a01b0316149695505050505050565b60006003828154811061135057611350612ab2565b60009182526020909120600f90910201546001600160a01b031692915050565b60035460009083106113945760405162461bcd60e51b81526004016104ee90612a8e565b6000600384815481106113a9576113a9612ab2565b60009182526020918290206040805161018081018252600f90930290910180546001600160a01b0316835260018101548385015260028101548383015260038101546060808501919091526004820154608080860191909152600583015460a0860152600683015460c08601528351908101845260078301548152600883015495810195909552600982015492850192909252600a81015460ff90811615159285019290925260e08301849052600b8101549091161515610100830152600c810154610120830152600d810154610140830152600e01546101608201529051909150158061149b575060e08101515142105b156114aa57600091505061161f565b60008481526004602090815260408083206001600160a01b03871684528252808320815180830190925280548083526001909101549282019290925260c0840151909291611519907f00000000000000000000000000000000000000000000000000000000000f424090612b34565b6115239190612b4b565b905060006127108461014001518361153b9190612b34565b6115459190612b4b565b905060006115538284612b6d565b905060008560e0015160600151611572578560e0015160200151611579565b60e0860151515b90506000818760e00151604001516115919190612b6d565b905060008760e001516040015142106115aa57816115c2565b8242116115b85760006115c2565b6115c28342612b6d565b905060008860e00151602001514210156115dd5760006115f2565b826115e88387612b34565b6115f29190612b4b565b905060006116008288612b08565b90508860200151816116129190612b6d565b9a50505050505050505050505b92915050565b600354600090815b818110156116685760006116418233611370565b1115611656576116518133611a6b565b600192505b8061166081612b80565b91505061162d565b508161125c5760405162461bcd60e51b81526020600482015260126024820152714552525f5a45524f5f434c41494d41424c4560701b60448201526064016104ee565b6116b3611fef565b6001600160a01b0388166116d95760405162461bcd60e51b81526004016104ee90612ac8565b6000861180156116e857508686115b6117265760405162461bcd60e51b815260206004820152600f60248201526e11549497d3505617d1115413d4d255608a1b60448201526064016104ee565b83851061176a5760405162461bcd60e51b81526020600482015260126024820152714552525f53544152545f4445504f5349545360701b60448201526064016104ee565b4284116117ac5760405162461bcd60e51b815260206004820152601060248201526f4552525f454e445f4445504f5349545360801b60448201526064016104ee565b600083116117e85760405162461bcd60e51b81526020600482015260096024820152684552525f505249434560b81b60448201526064016104ee565b61271081106118395760405162461bcd60e51b815260206004820152601860248201527f4552525f494e5354414e545f554e4c4f434b5f524154494f000000000000000060448201526064016104ee565b60035460328111156118825760405162461bcd60e51b8152602060048201526012602482015271141bdbdb081cda5e9948195e18d95959195960721b60448201526064016104ee565b60036040518061018001604052808b6001600160a01b03168152602001600081526020018a81526020018981526020018881526020018781526020018681526020016040518060800160405280600081526020016000815260200160008152602001600015158152508152602001600015158152602001858152602001848152602001600081525090806001815401808255809150506001900390600052602060002090600f020160009091909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e08201518160070160008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff021916908315150217905550505061010082015181600b0160006101000a81548160ff02191690831515021790555061012082015181600c015561014082015181600d015561016082015181600e01555050886001600160a01b0316817f1f1f6396247a5ba59b7b1e094ec3a8e439d4dace0c5ac4fe3ecfde3e68e03a8a60405160405180910390a3505050505050505050565b6003548210611a8c5760405162461bcd60e51b81526004016104ee90612a8e565b6001600160a01b038116611ab25760405162461bcd60e51b81526004016104ee90612ac8565b6000611abe8383611370565b905060008111611b055760405162461bcd60e51b81526020600482015260126024820152714552525f5a45524f5f434c41494d41424c4560701b60448201526064016104ee565b8060056000828254611b179190612b6d565b90915550506000838152600460209081526040808320338452909152812060018101805491928492611b4a908490612b08565b92505081905550600060038581548110611b6657611b66612ab2565b90600052602060002090600f020190508281600e016000828254611b8a9190612b08565b90915550611bc490506001600160a01b037f000000000000000000000000ea7b7dc089c9a4a916b5a7a37617f59fd54e37e4168585612111565b604051838152859033907f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a9060200160405180910390a35050505050565b611c0a611fef565b6001600160a01b038116611c305760405162461bcd60e51b81526004016104ee90612ac8565b604051600090339047908381818185875af1925050503d8060008114611c72576040519150601f19603f3d011682016040523d82523d6000602084013e611c77565b606091505b5050905080611cbb5760405162461bcd60e51b815260206004820152601060248201526f08aa4a4bea8a4829ca68c8aa4be8aa8960831b60448201526064016104ee565b600354600090815b81811015611ea357600060038281548110611ce057611ce0612ab2565b60009182526020918290206040805161018081018252600f90930290910180546001600160a01b03908116845260018201548486015260028201548484015260038201546060808601919091526004830154608080870191909152600584015460a0870152600684015460c08701528451908101855260078401548152600884015496810196909652600983015493860193909352600a82015460ff90811615159386019390935260e0840194909452600b8101549091161515610100830152600c810154610120830152600d810154610140830152600e015461016082015280519092508782169116148015611dda5750806101000151155b15611df5576020810151611dee9085612b08565b9350611e90565b7f000000000000000000000000ea7b7dc089c9a4a916b5a7a37617f59fd54e37e46001600160a01b0316866001600160a01b031603611e905760008160c001517f00000000000000000000000000000000000000000000000000000000000f42408360200151611e659190612b34565b611e6f9190612b4b565b905081610160015181611e829190612b6d565b611e8c9086612b08565b9450505b5080611e9b81612b80565b915050611cc3565b506040516370a0823160e01b81523060048201526000906001600160a01b038616906370a0823190602401602060405180830381865afa158015611eeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0f9190612b1b565b9050828111611f575760405162461bcd60e51b81526020600482015260146024820152734552525f4e4f5f4558434553535f544f4b454e5360601b60448201526064016104ee565b6000611f638483612b6d565b9050610e866001600160a01b0387163383612111565b611f81611fef565b6001600160a01b038116611fe65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ee565b6112978161219a565b6001546001600160a01b031633146112ac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104ee565b600280540361209a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104ee565b60028055565b6040516001600160a01b038085166024830152831660448201526064810182905261210b9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261224c565b50505050565b6040516001600160a01b03831660248201526044810182905261214190849063a9059cbb60e01b906064016120d4565b505050565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c739060200160405180910390a150565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008484308585604051602001612207959493929190612b99565b6040516020818303038152906040528051906020012090505b949350505050565b6000806000612237858561231e565b9150915061224481612363565b509392505050565b60006122a1826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166124ad9092919063ffffffff16565b80519091501561214157808060200190518101906122bf9190612be6565b6121415760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104ee565b60008082516041036123545760208301516040840151606085015160001a612348878285856124bc565b9450945050505061235c565b506000905060025b9250929050565b600081600481111561237757612377612c03565b0361237f5750565b600181600481111561239357612393612c03565b036123e05760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016104ee565b60028160048111156123f4576123f4612c03565b036124415760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016104ee565b600381600481111561245557612455612c03565b036112975760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016104ee565b60606122208484600085612580565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156124f35750600090506003612577565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612547573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661257057600060019250925050612577565b9150600090505b94509492505050565b6060824710156125e15760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104ee565b600080866001600160a01b031685876040516125fd9190612c3d565b60006040518083038185875af1925050503d806000811461263a576040519150601f19603f3d011682016040523d82523d6000602084013e61263f565b606091505b50915091506126508783838761265b565b979650505050505050565b606083156126ca5782516000036126c3576001600160a01b0385163b6126c35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104ee565b5081612220565b61222083838151156126df5781518083602001fd5b8060405162461bcd60e51b81526004016104ee9190612c59565b60006020828403121561270b57600080fd5b5035919050565b60008083601f84011261272457600080fd5b50813567ffffffffffffffff81111561273c57600080fd5b60208301915083602082850101111561235c57600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f83011261277b57600080fd5b813567ffffffffffffffff8082111561279657612796612754565b604051601f8301601f19908116603f011681019082821181831017156127be576127be612754565b816040528381528660208588010111156127d757600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060006080868803121561280f57600080fd5b8535945060208601359350604086013567ffffffffffffffff8082111561283557600080fd5b61284189838a01612712565b9095509350606088013591508082111561285a57600080fd5b506128678882890161276a565b9150509295509295909350565b801515811461129757600080fd5b600080600080600060a0868803121561289a57600080fd5b8535945060208601359350604086013592506060860135915060808601356128c181612874565b809150509295509295909350565b80356001600160a01b03811681146128e657600080fd5b919050565b60008060008060008060a0878903121561290457600080fd5b863595506020870135945061291b604088016128cf565b9350606087013567ffffffffffffffff8082111561293857600080fd5b6129448a838b01612712565b9095509350608089013591508082111561295d57600080fd5b5061296a89828a0161276a565b9150509295509295509295565b6000806040838503121561298a57600080fd5b8235915061299a602084016128cf565b90509250929050565b6000602082840312156129b557600080fd5b6129be826128cf565b9392505050565b6000806000806000608086880312156129dd57600080fd5b853567ffffffffffffffff808211156129f557600080fd5b612a0189838a01612712565b909750955060208801359450859150612a1c604089016128cf565b9350606088013591508082111561285a57600080fd5b600080600080600080600080610100898b031215612a4f57600080fd5b612a58896128cf565b9a60208a01359a5060408a013599606081013599506080810135985060a0810135975060c0810135965060e00135945092505050565b6020808252600a908201526911549497d413d3d3125160b21b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60208082526010908201526f4552525f5a45524f5f4144445245535360801b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561161f5761161f612af2565b600060208284031215612b2d57600080fd5b5051919050565b808202811582820484141761161f5761161f612af2565b600082612b6857634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561161f5761161f612af2565b600060018201612b9257612b92612af2565b5060010190565b60808152846080820152848660a0830137600060a08683018101919091526001600160a01b039485166020830152604082019390935292166060830152601f909201601f19160101919050565b600060208284031215612bf857600080fd5b81516129be81612874565b634e487b7160e01b600052602160045260246000fd5b60005b83811015612c34578181015183820152602001612c1c565b50506000910152565b60008251612c4f818460208701612c19565b9190910192915050565b6020815260008251806020840152612c78816040850160208701612c19565b601f01601f1916919091016040019291505056fea26469706673582212201cf92f3c2166c47409c3629171591ae125f60f59a4d2431654a659dc380eaf9364736f6c6343000812003303c534c6f87b3dd18497a10bd66e04cca98fbc902238e2884e740d9ee07bcc1a4a0358b4983fa1bdfb3e4227b90d3ccb6745869207665c0aef4a320f45c2c1d290ba03555d38856c11861e4e1a54e4540189866cc7c808319ae2adfc30e34ba5b0ca3303026ba86b0c26be1107b08d768b2e39aac28f100a15d83e08ddd2c0e73b26d6900058200307449994b96a361e9161e9c070d6e3775eafaa7076e68845633e99e9bb75f0440602031a0331e0cca9dbcee15393862b59626ebbc0ebe40c154089a95d881fbdf28f6fac9c03c6c9b186735f4874f850748a6a74b2299e0fb2033a90dc9967c93c8da62d924300581f026384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0460aec781bdac90219090000582003e8a969ef6c63c457390b71a5de619c96b2d10ca73aa6b7ca7511049ce9e980450149bac0580058200356362a89130276d90c03cbbf7d2e508bff030e5f3f6002f6f3c1c50a35c4f045040ea70a3e0058200372c0f720979fee76f144fa992a4fdabc19c1f009de2d2b8cdf42f3116668e0490c4e42014d6dac000000582003f4114871ff1fb4f4347f1f9e75deacb5eada70bb426cc4ad4819e326ce0580450102a9e4410390bfb12e5c5c36c507219d95a4c325620d87e41a6f483c5b5c84cf9af90d76120058200369c36b2ca6831a4eed17b15ee12ef05a65d8c035ef14a870bf74453b1fb6204501a51d7f28005820035a809a668fa4e57533b16ecb2d6d994d421b818d2f4a3d92ec6b340d7ee12045012a05f2000219bf6303a8249d9a22e134a95965b6e793927334762e210b7c4b845153807602ae89a2e603d23d85780c9b35b98bec2d57adba9f95da86c87025d12e621addd948a2db3bf10058200385115399a1ea974ae31d521873eea95e67fe77d5c1f61f0cb1323a2921e3b04464d22e4003929df99a72346f49f8d789e7db3f1b6fe6baa030051756b284ac88232f2c302a00582003fb0e9b2ccbb20f82267d84594d4f4e6357c572a481d9f7124cda789ad9d06054dac17f958d2ee523a2206206994597c13d831ec700582003bd345cdd7c163929b89dd7cbe6469189f5d70f696386c0719d90c253f247d0445c802ff600582003089085ed3f5df80894f84acf6e4fdf59cff74dc3c20d7c92ff5013817ba210440601eef00394dbf9dd7f16cf78eb8eca15864551d52d6ba9bdc75955e747d3da6a5d20681701410a0219582903fc555ff19e4e025e2778bd4a47bb618ee118f9d507c121270844d02d2d06c33103910d911f32476f358d4499b6868fc7a60ebf6c072409e8debbdd2bf6b3e3dc610395c3cdb55f364690089967c9cc2af703f662b886f197264cbcb278286790b7f90367f53b53e278578c4e1f70eec4f5a778a3ca675fd1857bf0d591bb417ff9eee700582003fe80e2c8ea9c07bd82926c9287bd8ec9cde5cd2bd2361ac9c8c94042c78150440bdd951a03ab360a98e4b1eba6c5a2c6703ba047e67170833f1d10f3b01295163c1f7aaccd033a1cb96c3fcb2f7e7181cea3caf50bb3dded6f3baf45470f05d7889506825e320058200377a69ba0d7c0daf1029ff658be8f1c4130d23327a482099fe1e9c30b53475042d9ff0361f915d4647e91f4d343ab7ebbf903ee328128b27ffb0dd8204b0e86fcbe5038005820035b4a9571c623b2ee4248c09cbdefad9a430dc360e2b79de3d594a4d6851880450181c7925803bf76ea9b757c910c4a3eb3f15e70bd70b711720d2c79df727e758e75042dc9430141050338fd03810f98f28afe6cf7628e44c9a8b360338cb187fc8faee8224089f7f5b4036b06c74570da811d9c3d2389a2e301c6a2c99589f79744c45ad4ca03eaa5e8250219a9d5031314edb22dd046a1e491d4ea5602687d4b95d44f6f0988182881e39b55dbf4e503dfb7ab73442e0a60655f98ae26f4844413118b1fedf198e0238b2b2b202e13a103255cfb677ff8d0bbc0d01491c2f7af4dbb320ad41ce2de55410b8ca0e2d253060388681cb6c7c1b0571fa3a39981728c0228db465fa3d2aff9fa51602524eddc2f0219ffff03035220798a40eb2eb12bdc0390eb54bcc3aec24688b0fbc4b590e5bbc6fd1818037867169aca63a91b9a517aae9f208b474ef273e14728656bca06142296201475034f780081170a6e5b9dba654b1aa9d2572fefd99059510206495a40ed1baae098005820031c2cba71836cbda5da47f7a713994da8e37e93f6361c8ad44db1338ac14420446109611900582003d6628042de285abf008c99f37c019aea852458229596572fdd485aaf3057c04501d9c5a199005820031233eb19df66d0617f8c2ee3add197d44551b503be5024a8bd68f0327595c045010953c4b803dcfc458ddc61f4057d2e9f4a8e5e92bea2848bd4df2082ea322ff5e3ad721c1f00581f024a708d5f6ee93e782cbefc286ee586b33121736ffc7b915323e32d126240446452f57f00581f02d40306d2cf4e6f2cd589a9d951d45e4593c31fffc601f4899f7469f4f327494ff5bcad1d752c000002190820030c73767cc745a1b65f496ecce97a7303c8245cd09907c51cf9419aa53b23203703d9e5ada5f6c4d92d65ad64fc58b35f8dd19db906ff7675a47bc85a796ff3ad72005820034f8cc6dd674a1ed12bd05569eb75273e3146ba2395f25a82de2b452072ca60450d5cb3701200582003eabaaf346c55a984a3b9e3258ddf794174f8959b09ed935584b10c5307787045140b01990000582003239a1ef4d5d8c26ffee4ec65996361f84672c08f6e01d4bc6e26bd38f63230452b6c442900005820030dfd03e5021a88f8c5eb11356ab73e85e4b13e82f834d23187a1de81fa6060440c0406330219cf6703683fcd714fe4963d5c5cd3bd004bcfdaddf32d52bedf618936aefa5d7e6c6c3b03d11d24d263650d203ae374706d1b7ca6ec20fd2a2d38fe8195a8af1a0f22fbe70344e545fccf07b7e735452e08349ed23255670af970407a54d4b53feeb44f6e8b032d48ef7e668808c7ac81c937b714942a9727385c16a6913fef3f79949518acc903eb7208018eb87ddff3e63bfdbbef820b2dbc7cf1e95aa1cdf5af48351de221e70378fe8ccb47769d9194fd0605e5592644cedadf10f0347d1a81cf0e1dadce404703ec33b508772887987bd0fef7bcece224d5f3f5a4859a5109552d52101ee1e5ff0321c854a5d04d582277e6d53cf1f4ae641501be6323e037e514b23091f2b73bd00058200356c96ae529f1971896415e77501a6ca723fe1dce3f29f828750daf8e1a35504429abb620005820032f31216900e59d5df66795e641e3756f5ad0389a61fef6e800a08d1b16e9904501dc11e60e005820039f7ed6b66d2ffd3dd94b4f44e741e1be3279cbc9a869c3981d3f460f6b2490490c4e7b4f79b5413a8f0058200380979c341ad7830ff1de21c622e17439c429f1da5a2e02d8f63a6fc35598d0450d5cb3701200582003cb47f892c495882f0d8464aafb7ae9058df77ad2a7c0d46185a183b0428ad0440601eef000582003c3059f1e4c3189ca279803b90d53b908c92a67b405088eed8cc42e30e8a490446452f57f0058200348f46e4a078903d3fd798b9cb1be11923135d8ed97038162831b489143b54044c1af2648005820035136122f1dada27a90d4d6e6eaaf0b1a5a5bf09ee02546be52af14b5624180443b53e981005820035b5400ecd4f94f5596fa76241cd8de5750bd5952a50ccb0423ca48cf0478504411cc5fa70219d4e603d0900a5a73df56df2a5bdac59a02e0d78e3cad977d26e86e03028b51ab3d2fa203c344e5bda9c1f65ab7aa239d13f4de4d7141e02fff6c2bb2c6e7b9f535321b9c039908c6163a22658a596b6620e00438e66f430529dc1c309b4de9ba646b65188b0219ffff032c55174a92ca15014ad59e13def23dd49b407ea3d3f89f5bcf054299b838f58303b5a16dd42e1272edbdf780249ee7173fbabe71f5e0fe32cdb1411db3dec7aa3703e1777662751b39cf4ab7422fa86b3ff18d6798d9d8581182c2e2a670c094662403ea0201ffbe9b099866db3bd498b12dedb6e1256d7a03585cd1e579a4a6b90d10034a4945f927df98a55ab76a80817d9f6d3e929bfe7679df962f82e9010b1570cf031f0b3676c59a74e28d4404298a722087a717212ee30a7503f2e6ba55c70cf38c034fd231a9c9c796ccbfa6c8b19baa8aa60b1e86ef52da84361f3b2e59e20238910308179495e7dbeb91e9e970a7f69b9510e926a9972cf7860ce14bd357d52aaaaf03d2a74d423d306f4b7cfdf69c21d05b7f1d1622f89a70cae158546d83deff94e103c1fc9b149279bfc9ab78a5293b7144d7317ffdcc9ac8a90449a552582283cd30037d23e7261ee6dd8d35ec55becd602080e1556a49a77e653cec715e096cc0e78403135987209631029aee8695106c110e635d3d342b02ed57bc4a2f1813aee15b5903f82a4428a559c9b02d84816f9eb3f04f2f1fd5b2b546783012ff74addfc66a180323a0a343689d799f397a7e9de476026a5300c0d4b044f77f3a9babef68c7009c031458a9a99379a87e7310d111c84aeba50f532f644a805de37d5395f5342b7bcc00582003d79fc4b874b7206b25b148c5dfa2c0315fe6e1baf79fda8ae6a78167d495604542cc9295000058200372d658a4e9c8af7041dc54ad564a1d4ccd8b1a07f1ee261b5bcaa86db12f504542cf81305c034aa93468473385c3bf41b0e5a2b96159aea1a70dcbd4e4e67d0b12bb2217a6bc005820035fe3364c809cbc0529f376f8f858840c3d9aad1c8aaf5fdeb2cbd7545ec1a0442bb1f0e700582003ee125208518a289c7be30968ddaad2fbf6376391603d536a792c16989a6610440602031a00582003dda0b39ae076813bbd38558121d77ed75c1d2a97f8ba2beac65573740e9380442361ec8a03d8eb4f347b3d1edf5deb67cbf0e92959b1a6b5ea69ef34a0d111425e93c9f32a00582003700f301b5bcad33b5659bdea2d1e07fd00b776c07699db43cbc65417df67b0440602031a00582003c213a14d5d486980c5bcde5e52d773540658e75fbd699922184734b603d7c04501a11713be0219e0d70219ffff037ab3215f70038e1aaaa26be267e82d5c3706690d9b6aae296e7f8f0f685422a703a37537e30d1e31cd336b4803d52a621337bd67d0c3572f7eacd51270471bd6d503b5273870445ba053c81d470af4bd365ee55f1765425176e36d7c946de6d3fb5b0058200365de696d8f17058d9ca8da8a2e59cd7a8ee82359eae93dd47aee6bc167de804501adcda3d8005820033784bc8d45a9cfb8a0368bebb493882ab6a3bee4c83c08032481f2d2859d00450197ad3e2603d1e441bb8294c469e779a84bb6fc489c930957f8f74fc5862e8145d283465788036571cc5a735da6ad1452643c8df24506df2790d5bf6151b07b1c031e6b65cbb40316d77779af8f04f857e0c7567d7cec71d244882753c62cf2af10b6a3282e4b1d0058200345202e2e279c56632403f4c84240a42c7a8f031ac015d4c3d9615cb4bcef50545b7533812759b45c2b44c19e320ba2cd2681b542032c4053e0e4570ef288d124eb60ec92beb6857ca59150104f34d9470a331315070321ddc6b3eade9f5248dfdcce062ca61547ea176a34e81d0421f2b2aff93ba30b030ce1ed7bc45c3256c385bfdf1c63dfe12bc374cc1b4025016ab585a8e5dd7d3f033643bc71194546feffd5fd4841591d3faf52017134c250fecd3b177134021059039f064625912717899acf8f766399a3881bd315c00b0c60c84a068c26a0218c8b00582003ce6d30b30e2ef24d532a15d6833e28f9b51fab0b51f21a137ce4a5ee31899044056998b40219efad03da3089842e1fce6b0c230927ba03886f4303c50870c0eb6731c7ba09ee1bdee00390b08699145feb1922d8b4094d45698517b89d9b0cd205c922d3d9c2071c2f5303a746aecae0cbe7a86f0c07fa5d2b2a951ab9892556e1d6bfbf968d259c7e599003aeae421ed90f0b7cddf361c9830760c1b8bb4a328a12f107b9495351a556c09d036de2e9b6d3622e1ef1f983372172ae54e00c85db026fed5cf0176f7a205057c503ac110cc5cada526238d74994f1a44d2454d177020e2da4bc71559f27be806e8e03c47e0c55453fb2cccf7122505fe65ff02d4cc617b2375e5db87ee389892bb79d03d284c4e23ff09aa8e0a18b3d996629842a504935970cf5e3892b0d7e4a375de00386517ea0e6d09588abbae54a7980ed99735be5c1796d6bbc8a2ddf5e90d3df980365137fd00cae50aa4ff02d498cbf26cc48dd5a56d9dbb61d6b3756c8fcf2bdae0371f2db6322c1b925ba68a4f5d506f1a390ef587cc83e1202fa72d3459c50428803c2baa056b05d9b8d8b2f356421df7de17d4db04276b716e2239cc6a723ef7d6e0219ffff0308549b59dff85906b1c3aac0bbf1d151dd1005a2b1eeb0578e09b087fb4effe80335d3e798452ef94d484e66a31d562f3f0ee57123dddd26d9bc80127085c8d5980386b6518a80151825fb3443e7d81cfaf9a37e5b24ea900062bfecacc792fab66f03d018a6be96ad510df73c4875dca70c8931948c93e3bb667af77e2b6c09bfdb5103cdb778f1fbe814d75fb7bbb79e993cbb47691f5fee2cd8bb1c3da9000647efd603e8cf334b682e63be33837445c6e1e9fb3953f6e0fcee210279a9f744b22d726b03e119863ffebe21857bd1a6ae75dc6e66768aa318b88981d43706ad64d0e5ce5903dbe60df6a032769bcf18a735c701c0476f4a39dc490fff7cc1dae78474722d020353e5f40ee0b9613c809a6232d8de88bce22bb9c5acffdbf09696be07452400a5036f7f596728aa460715e24823f9123fd2266730c5577c028586f689b0cc7420b403c31fb3fc3afa2e02854c38f300c83e4a31ef28a3bf181ad4a113eadeb934f1b703e70fb4b9e283d772cc4bdb79b6168973c7c815e7045e57e4865543212c31762f03b32e618c81f380526af9ee968d60a5e02e8f77a7f2cdf0e7c73af530be5c127f030906914ff3c78c010f1716e8c20ce7db36ae1c123f82c0ca2cab226386326b9c037673ed652d2a1c923f6a62bfb8259c5dcf72708be3bc45d1985d08e64ebc6b5403216960e1402f3dbb6f008730de98434c95d36feb278b6316c312dda8afb1056f037907d7cd9171a6cdfc2ce09089832f75952872f09a91a1a50e37a5b4604b2ed500582003a08d55b5f8cf5d574f13ede5a19a49dbef2719b16014874dab45674cfbaab04501aea5911d00581f024b68874d8a6281f796c708808d66f65a76cbe49675283f50039adee9967c443b53e98100581f020858e42066be61ebe30bcd5b51ddcd957bf219679ca754e9ab50ef5bcdf246012d1190dbc900581f0211e53cd87bc2cdad8673576857e5c5d57295b9b300474a248d62c7bb17d7448e74818002190910005820035c01a74aa5486dbfdb488df635e7465ac4d9330364de3aedc91c594d643d50443b53d5f0005820036faea7b2ab87c11aca3a2d00ea2a90ab8d3e1ad9918ce70612da7a2f1f479045014de6f1fe0058200319e68165f1f2c58bfd60e3f88c4c59422ed4052831768aa46374929b0f6d00494ff5bcad1d752c0000034374b108bad655dff513e3d06b3a6064162ea7145cd18692f61dcba4e992f68e0219453503a11f62ee695a287034ed799ae8aa3eea01532fd91e937f0dbc2290a997769d150219ffff032ddd8d72fc255317a1e166ae3617a9005ebdc8428994cbbddf86e2bd6de91d8c03c6205c76e586290a213aff8960c113f2a1bd6149f1c01807f0eb8c0fb2c8ce5203c5aaa258df9f4aa6a9a4d1a235e22dd28535db81579d385471f82f8d38532faa0339dfed0037d1f6be796c04432565d355b7d1885125847b123140c69e6d14334303a337952b24ef159636fed4cb81729436276648be8dafe2a800d733b55dc7505603ca2f758cdb3159751885e3b10d4ad47bfaad5b15f60b0f7ab2bfc3d8dafb541c03797f3287bcfeb1fddecbcaa639ec483f7193e1072904fe5b8494a04cb2153c3e03c395a087b2fb1ea2c3cd94027dd210c622e5eb8d9fc7e5e117c0a9486294409c00582003df1deb222c7f867ac217b14fc37ecca37702c90652e85cd239330cc8b1e970442690249400582003073ab17fa86c7c100503fdeaac16a7cd5beba3ba5d40597f1ec94d008f7f7044777cdd240330b207e539a51c76ac3c0f3c5454aa75978062ff72352a9d3728d48483f0822e00581f023d1f2532940afc50771c5444b52bdb9814224f17d7d68aca2fd523085752440601eef000581f02e078d71c59cfe6656f5fe7ef3dbb981e3cf5fd31deea9fec0e197a20719d443fdb8bc90219100803fe1b14d7153e3c1072d54f2a5d861075495d95097823f1cd71948642787b6741005820031d934ba89946b3c7a5a71fd5bac5ea7129eaf27983b8aebcc3f628d55eefa0445c444bbb0058200364c5b4f87333406f085a8ac9a85fd177912b58c05c64652964ff99e4e82270440bbab77e00582003f8d056844a6aeb646609961941eced023b4e8a68679a0ab20043d0d652f4b045011f1a78b1032f27a5f1ee8a7db2cfd222b80dd4480c5db0d28c345f230906e1d6821733d5bf03e1e7a34748b7a72bd04f5ab76485efe7f9e4f10ea231708a6a8641341d4e44900219ec3b03f6427f00af82b80a67c2c47236124c9b9c67dca62f7a9d8efe0aa5498f0febe10302d2d5c026149217cff04b5776761b55555baf991a84fc963ec1559c6541fce30370ca6444978f7ef65e1098612d802221e1f845a907dc38bfe080b784bd9e05430360c371e48844e7e07aef0c7c0b7cf295c3194f09f25af08fc29805bc0e7759e903bff21578d2c5f25fcbc886a699442c573ab065c2bf56be24a49ed39d67ba674e03eaf4b194bf946589d242a31dd7c7be1ddfb9a1df52635d5fe5f112ebb6bd50c100582003732eab7f15f07f488e789a8f1bac7e3cf6a752fa5d396f173e3110d7421f404542cf7e434003f57e3bcab23b12205a1f302e6bb6895dc123bc6b439bb65fdad578563c6e838e005820031f243fbb4d85042a94d6d21bb0c9209283efd48e00814368388d126fc19c90450106f530fb00582003a2ce38e65b706d6690c8e6e8dabeb1584a734d154df437c60428392683275045057ca843af0378b6df3f2ddef6fce79389ef548631461a7815dfa4a28b16dec8795f3e9ba4fe00582003d665373d0ccc87498e5d853057396c7fdf2b063f2eee83b330d58a33b683f0440d8cf0aa0058200322ac814a3a14ec818126079e1fd04875b46416f3b038246dac2b256b14dfb0440c04063303c0414538507bce8fe2eae54a6a357bce38334fc9bb4d0d2a349ce9734d759f59014103030996b6314718aab33727545f65bd7c4109b5a7ce4947afe4f89deffccd798d7e005820033d8a962077d76f85a7251511f3e3ee9189f467e32a9221ec52b82fec98e8e0440bdc7fc002196d6d0219ffff03f379b22f2a3d8478454c743f6cad8a0b744c96133f5d6b955b295db07ec2f950035447ed4adc28523311880b6ec08596c9c53d3a4817561bbcbf6c185f04b25dfd03fb099e34e5188f78147216f4a33ed38af2be39bdc6e81108fb0532b009aa711b03a4278ef4e3b095f554864e015d4fa7734ef54dea07c6287f3cc385dd15fd3b1603a753d7cdd962cd1b417061bd29e29d68029a3d9ca7a5244571a1f782c0fbd8b303b3f2b36ca196e743e50a0e07209c0ca4ba4e7afa2f46dcde307152ac1fc9b988005820035e5e7238db6d3a43f97b8c6d73ae4c9a502ca1491f6ff3bc023dd864ead6f04489453b2803f44447770dbc2d470e28603b7c2ce652075a456b45c4f5215ee0394cf72306b503662ab35f26bb2e362ba44940e41308dc24cbcdd886c0f0319d050c1f312a861c00582003e2876702d01497e895d37c5351d214dcdc7ee8df574e0101796c21497055f04529ce750d2003a94d0ec1c76d235156e8980e2f5148b0df30fbe43cae713e2f43432727fe7a420341a59f559498f5bc582f95e45991a91d0e13570582d86e6c439ce80122730cc600581f0237fc3de756494ca305a271eec5d07027c7ba53e705f98e22854d0ce14d80440bdd951a00581f02e86df6552646d72861d4fe40726966835923801a85b1f5b61c09d9792c7f446832565000581f0294f4edee6b7fd2305de2f7f5b19c13535a6961b220700dffdacd798ad67e450d5cb3701202182600582003f79d488ad3820e027e4f8014625ea52420dbd2cd3bfd7849c539531e3e72a044218a8cd20219d86703b7f1538e444895d7b0705c6f9c878ee842f611f57b37a6e1158bf05e4399fed803f194cb3bb4b47b5a760c8ba46a59e68ab6cf97df65e701a51dfcc113b4040b6303e14635c65a6df077d4bd0ebe2c84ded8c39677c9fd4bd7d7e44d449a5d0f44c9037b0bbb514b2da66512f9640a98652240d56aa8937184553ffadd8e8a6c31f5d2030bbe0702d32a2d6d5a2049561b4f07f053b26f06e9670031c4e5627e54c2ad510349c676fb8aff76ba47a2b85f8ad350e55596684052fd94d96b1d60afe6d525330339437e81416b76b809d85ff2cf33bff97111e869fd5366c6242424186e7962ea03fbac63f2e1a671f837c178221ee1039d370a26cf7ddf2e20d1d6f16372976c41005820030f4732d08bd30f4a4361cc7a403939981769e7ffa4862a3d79f1b3cc4443904542cc9295000302bf17f777b247b2b02ab4290fd3347bd13b5b8d258438786ba893c4039b665a03d206bfcc96124948c1aff5c6319e97b98d2ddae76a969e83bfb7a9be2cbc427100581f0269b52231969b64c537b09dbe47c77e5248e3c1d959a851040c7489dd3a5b44270d142700581f02a3ef4802eb15ddc36905158874aab4dd2cfc536a1742e6018f418a54287d43f4240002198800005820039a7c439a3a649655d1ec3afa2da2cddf0deee6716e568c3d42660a917d7aa044516689b800582003d9793aca28733c44795697ef74afcd4d5cf01ebfbd51735d740c0b86114dc0441205f3e000582003e9ba2147e1f77d57762ac19f03522f71d41ba8f143710fdf264b10e568e2b04464d22e4000582003776417e39761c05af3bd1aa2ba466d7daabbf5960b6e80cce1302e71c36a80452f7853f7a7005820034562be7a1ad9cc05489bbe207845927f224aecb62373712d67542f2c878d1044d3e54aec00582003cc44eed38341699b250af62aa4e8a1a667ef3f634432aaee8e2b281eeede40440602031a03bafffa3e15dd971fe8ef520cc2f1a0347d607f08f6d149c1556b7c6f1484821800582003379470b0abf9cf7cf38a37d38bfd94c86559d7ab594aaaeb4ff51e55cedb8049189cf69ef36a82751e0219eb5f0399b85bb871b334690e5695ce4c0f404d8ff52695bdc338251cdc9181f09b3feb039791d62dd32f9a3949368761e2f9e8fb75e4acc773786ede42d97b08ffc50cd60219ffff03d3812ca2704291d6cc2e70335b971354136d6e5b49ef8e84530244604d4b673a034969b0c7f2e05fcc7ecab509d02e8ad7ab9a1c9b68335efec63e278eeddcb76e0393d50293d6f35fb54fa118836a38b3a4eafdfca5113e8029e6f45d4b56ca0a580333242727452877e9122dcec8a3edba03fd43accf28511ef4899b07b8edb2c6f900582003e470d436e1b733691b0294b7868f92b17849fa3c18583729be2dce064ddf90443c1418b003f29bf5c448a0a4b4023f163c724b34d9ad8ea994fe158ab4efb7d1eacefeb6ba03cc9717722ff00b7a07627b1449b8d19a37bc3fc66ac6fa8a00de61bb58c0340a005820035a63cd07d6321fac1f91fb5fd5f34746e0ed89b57a71c769c166e5bd633350442827d9f900582003749d04b40dd8627e5c6855ac529a3c280416ebdc50bc6ea4e4d346cedae5f0440c04063300582003263eb94b8bc81d7e67519f84deae357e606cedce5731d1930816725a3182d04501014fe47f00582003b185c459963610edd131dcd78e4337ab3c62882882d0f374a42d3071853cd0441008d75300581f02bac6364533ce1d9bedde5c85f18d424e09df760031cc4687e116108d059b4201f400581f0209d07999ca843ad32fea6a973ac6733dd85044294a8d0e4d46b4eb3b6ab74507c16db82203d7a29520fb818d19ff63e6f595f6fe8760d69f1a01e43a8f5e44320c645710c10219200c0219d8360342b3e9d7daa4e5dfd60799b24d086f4ec8e09ed606a6f0aa077810cabcd474a603d3b1e981dadaff5c09dd1a9ee61b72f3f42278a87a624cdefdca3aa50c64d99103c8c526483f5fcb7eaf11ddd947db5e5b256ed77a96165b7d9c543d5c055ad650037e2c0fe61a71fd57314c8745d96200c58af7f1ffa97ddae0c47339db42c6178f00582003b09f3e039b9762b304b8b09b8415e7c64d86f3c09632ab7b0a05f8f13e69e044270d1427037c177df808677c700cd9b8554ce36d6032818c79dfc7f0a85be5138943ec4a6300581f0266cc3d72a48d6bc682b555a7e52865eec3176f2d6ac2829acbbdc124f7d944681c9cc000581f021a839b6672f51a9b57951a77230593864445dc839eafa35e093166016f68440b6741f50219082003f143be334e0645fdc5e29b004243446509aaff8f22a4b932cd6c853a17de72df00582003d535ddc9c7bc28c3a9c592678a1f9740f3c124141aba9697ab7f799564b620443880e7040363405ab5a6284511ccd17329acd7eea7901ef9b7c34c878a08be3dcbc8c9548e005820035229649e82b24bc1307b70c4722d3a3a09e190d70eebf2ffbd8ffcb0e239c0442e0fce0c0058200333d1727e313cb57d75fc63ec10585e2007a5147b97fd037e3310a9a5289e3045010a4ebb3200582003472ec52bfdd1d74b00515000ee8aa554451b3e6ffbb88e0e1b8e6c49840c6044ff7da10600582003ae7a1879425f68413faddd505352af994e431e6d0b5c8891f1170efcc9e0104501aed6679802195fb10347f057bfabb1f221e97349739de889320ae1defbcd15e3c9fd4554c1bbfe179b03290613d8f0d18b038bd78a06e3469e8b84b07d95f49fe37f73332b9707b2bfe403f9a9a6bd7c8565e8b5842734a264c4b3f65283a2a679f3551d7ce4c09fab697d03fd76074e87dec2f23edbfb51da6794d7b7ab742a39caf2800279d76aa0b91cc903618d19e67ee3fe2ac3adbc37bcd52ee32a489555685fbcd344b486d84fd8000603bfb9630552103a9ff8b60a7f11156c121eccfc88ce6b80eb0c8905cb7008a54c03a63022cf6ec18eeb4b2b42824451dd5837a8d487c13aec55f6f9969bd961eaf90219ffff031764b1153e0fe9e543691fce3e2a984d3d9e659b547a0d55a3fc90bea78b01c503a55557773a8f4adabf8a80c28cc8e91c31373dc7e13c857f4990e97368205c900058200328c300cfcadbf3343ffd728bbfd549443a53e4db5d9fe61b838fe285a260d0440c0404f000582003aec303d808cf20688248b2af7478fe14bcaad8d8ad668fa25a59e44eb278d0441206094d03cc1660675f34ca5333fec670478b04f407b5876362e5e4aaf2ead9de17ae7b9100581f025a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b411500581f02f35fb9aae9dd8de5a8be8825b7c6040b2ee2b8bed602a130eafd757717684508b6ecb8f10219408000582003f1bedea40c4469d04bd718b51291e0a762e9e54c30fdf0a0912772767642d045010b4cd2b7005820030ccfb5d8a21af5f3a678cc6f3f4838698e8abd2c925fbfb15e722bea8c6c40441db7773b03f876a6ced98672e1ae7243ecda81d014e2b8a487c6f1bcceada9525ae00ed3ee035eb47b9fa2eb3bd85b01789a2e8f3b18e7b57fca64f2d2074f486beedc6d68610058200320e4ee52d0c009e21274757b353ea7947f4bac3eb84c8e28b1a65bcdb53fb0446452f57f03db8659f3a38a668589f1644a9b185dd6573f7744acff3f8695d2a821a87c1c6c0219c77603a4575c6668fc763be1edc60a9736da85f7b989eab0c4e8e3be3970ad094b9210039ae109b96414589b31e45ba26c9d8ba7e7ea1a94b4780d0d6b1dfe00583c4f9c033c0e1d269564045598b3a0f90bfaf641b7caab476b2174d64039b5b9814aeb1103a1518f5de016c895297cc88571585222071f077b768047311591bace02c1c5c2038c9389122ebcb8f43979744b03955bb8cf9d55f77922826ec73a8343930ac5a70399ff90e106bc0716f45c432fa374574cd6c9930eb1d7762e725ab52d2c9facf8033582df42f320475e2fd6a563d387573e62b2789d183d0987fe3fc3602238b6ef03a6e064d464a273bad9cdd841e28c909938120a52c31452694b0c65227a2a421703110efa899d4aec9d45c668e7356792074d3dcb201bd2bb91e07cf3fbe84306ea005820035b282aad78927ba8c1deeffaf71fce4a495498ac8a7085249ae2592dd687c044270d1427037061e3d38e0a0d353fe2de1fe19c335c21ccec126bed39e14899e81f0a1df6de00582003a3e8a68ae8b7c8aef6a66d79a1c988b369579704c16df89fccd4fcaf6d2d90490c4e65883fdd6d000003428b6f502926f61a97a6f06104c0d0e52fef259b0d10aa140e4bea24029e8a0100582003793e4491480c9308afd52e021b35b0c028d1c2659c2d8a446193e4447953604501d0005f930366bdf577f0357eded636c36d9879953b849482fcddfab50211f0841a09bcb66e00581f020db675661260e082bf888e77b4a9ff88cda76081827bc4d22545498b2ff34449b4c3ba00581f026e787b3b5b3333d0eb2bd060368cbfbd68b2973b310f4f694db30aa1ed614201f400581f02f47b0cff49c81498a5a22ccf8a6c04d098fe4e679dc0ddad87fdb8c4cdb941010219500203599e9549acd58e792a037b52b7f39ea604debcc143e612d13f3f9d99f983ceca03b79c06c32c71d4498223a1304c9d652a392da1aab89311746f196c27e0e35e35030adf172a513146d72be2abbd96b8b76455808457eee7a689a810042d88038410005820038f7db4b67960b407b5da3ade5df2e5d69a52c745a0faf094888bdf2520f630445faee984031558d6e8486655d0a39c6358d73558c7a884d071e0d97f156bf3800169591e9600582003f59dcc88a0c61809b9a1dcb213fa206b10106234d510ff97c46081913bf3404501681e94b90219bffb038df6d043b93fa661b15d4d2aabf193a5b39f3d40661e1cfdc25cf643be6ed743032152eeecf600e9066f0d38e9689ad16d24dc07778e8dbbd5f164a324edff49ed0310a9b9d0138c0659708854fb7bc06afad623223bbafebb8ca3e65916a0202a6d03a39c2b4c7d728c6cb3ff9ad1435327a86b2912f48085537737657dd81452978f0219ffff0398717e8227234156106c79d1091bd64eac21265ed360775ca149b67bf30dca8203132cee03b3bd8b9d27743f066393904dae1c48e2ea0599c805db72353a76ba5b037464614ae90febd838f4cdd30474800faaa8013e5e12a591c0dce84de5f0037803d259f571c1380fa0a57cbd3d670b950da0c3eab428c87140416b2259285b916b00581f02511566024f71679957da7118cc1ebf7c00f14669c266ea84e2299f412f2c44644fa9c000581f025bd8dda595851d5310b9620bfabcc6f9a16758aad020b69e83e09f9260264426acd0cd00581f021c852f9fc711055d61cde1999ad4d321db894edc96dc217dab28e87e4021450de54774c20219014800582003c774d3bfdf01356527598b270b1683317dbfa7404689f4757d38ac5c72396044269021a003e5db0473fdc575423ed83b291e05a447d7ff6dd38dbca45390856a2195710e74036a730675136d3568a17ddc1911346ad3aa35d5cd37a614b4e1123c327b0a671b01410603d445be0b78dc84098bb786ac21812c935a650fd04aeafcdee7faf8a9dc46413f005820032b72bfdfe52c9e9700c5bea30f1bddec702332d385fccc07ffd629ece839d04405f5e10000582003f4db06703209363a61dfa94fcf43c47883f6a84b60e9bbb7c69bf2b175fdf0443b4e7ec0037f843655b04c25b4169d6d72b0477cd59df2818907343e0f6f94094ef82a5b270058200343dd3538c2f5916e026cf3f515d895e6487389a5dcf191ebae5a27fc703bb0447da96d0d0058200312608b6d936391107dc1cd95952941dad0d7179f7adc7fb2e80b2a9befdef0440167f6570219378f03c5d92e2492eaf1c2e36b44e8240f0970e5fe4e86760d902eeef0db40de40707d035d69a4f958048799e96733475890da4b0ebd4abb8db4c04093006608a346a949039f6643b4d863d3bae5ff990a57d1706f29cfc4b45ab7f56247383fda0432fcd2036848fe8156244b70ef0f8492e6133cffa2e1a8b53fa09ee23d81ced7b751c9b2033a353f3b6717dbe3ad9c1e6205fd885fcc40615dc5b6b2cba2ed32ee163e2f9103b0a1d97c7b8c33d006c2f8f8785f32ef44cd0d09f519269bf0d7d931a3bc1f1b03539634612618c74225e7ddaaeca2de63721d7e714b1a255ed22823941da98f9b039e9b73b8380afa14367a127ffa400254cf8a90f2345dff727202e5c9149b0409034c852c750042083ce74aa340e6497563cbc8bdbd1ef70f06cf41499e195831e500582003af8eb8142fb59a85e1c58b5f40722df242e9b341bf39368f85a6a37647de504506ae59b8090381f4188b223700afde28b3f606983e92e45625f0bec1407514be543763428a890058200324900520f0699090322654a3a5e4c5948ec262a528eccd231e1679e949c8d044681c9cc003e9b068b16b47bda9bbc0af5ce9caa441993b23458af63c865716d0ca4b74957600581f039f40f0d422c8e940bb20f583f7ea709a69cd7b50a2f18d2a2b65824e86b04601838053b21400581f03b77be8cc6ef66b8714c1336aed1f13cd17f0b6ce71683f64c1b8134c4df0450132191616021882014107005820033c8f592c1f2eb62926918f87cc6ddaeae17a056ef892d40a674177aa6e09204501a904fe7a03f16ba01a372b1636df29bb2295c865bc26ddcd5cd8d3422da07f6d4ab700b2e20384fcf434a03b28611966eeff93c0778aa0c549272e2ab7de416472deca7b335f01410503ab8f4808d6f9fedf2bf37d3950735f1dc0efa12d65dc213a5f7056aac4505a6a0219b73103d5b036654035ea589285ef522ef75a03f5fe629b90f3043fed4c052618eff7900219ffff03b03afd22ec09501dc4a36324ffee8221a6f93141eca9471fdc4a56652b8d71540373b5fb6373ce2b6909c435d1d93718f80da50fb096a0022509f62539039a788403ee25ea36edd8b229acfc358cca06b64ed5fab10227983bf3552cb43e7c42bc0903cacac82c8622cad06b75b8a62e4c068167909587bd214fa62496f37077f8ecbb03d6d2b1256968e9211592bab30ec10c7846a264ae207a8485d21b4ba752045b2d03fb081c85b56b3ce6b5004f36f237a9063041cfdb7484a1799dae6ae9c3f2b01403a18969dc522732592fe6e3677221d9c38c0ba259c94cdc018820e791c01ed8b203247aa29d11192c8f605429da904d89d20dbab11aeceb8cbb3c2377aa5ecd1eae03df6f7568c7cd78fcd33fd27f4aa88a24458fe7b8d822ca78e5f24819a589046d0331c460392c0c6c0f072bc3eec41797c0eb536a63fbcebd50247906df87bca8ec03c9e222e36c022b726ea01e21ff689969905815bcc3779b6b5bd1d7310b96df1303b308bceaaed65384d2d0f2fe76532fbe2373192f8f5bfc369eea77d6787f017c03329fd9cfc2760c8bda32c85416d418f983e6c8401c2274fa521d55d5553708e4038d959af0be701160876eae63e76cfa77dd7fdba8034fb887f9f2bd46b3f09d8a031dfb1d24aff8c1a0e9aa54ef754dd8f000d133f8d301fb43828e4c1fe659364b00581f026fc4c9dafc15e2f934e3057f0eeab6e728475342b057f011f103f5f60a33446458e44000581f02ee35216ebedd7bcf7bd8ac3e9e64d3057d998d3085c0d1cd3539bb2be0bd443b53e9810219108000582003ef32635e86765bac6d0f50e55efee60fb406518ea6ad22ffe902505e5de82044701559dc005820034312273be93c499155a82f694aeb7209c91431f673131febb9bec5a639bde04424e3538a00582003484064d65237c8f2b7a8b466e9e6d50b1511f68bd70665d8de44eceef1936045018b2f68de0358cab9df0281f16c370d4273f010e317db1f0ce76eb662424ca1d3784fca0004032d4619a2fc5efd763bc9a624e174c552fbc74a620e751ecbb9fb8410e053a4c70058200324807f226a376fd26f5356d97fbc2521b5c4b7c121e98b8de1aad5fefb6f504405eeca8d0058200306dd697be9439e4393822675cdf14ad915ab1f815b9836cb6d0092e61c18f04501cfb06288005820036dee412628d103c5a6ca01583b2c6c0c64c91c2c827f74c978fb8ff367f5b044869c31b4005820036664d961c85d312d67b6387cf405f20427d57e97cd76028f25f6e1fb40d8b044270d142702197d780219ffff038ac256ad17a84d4c0c0225a9be7bdc93641e25a17b56edcbfdf54d10aa64cd320219ffff05581e03c4c4f640d14ae877abfe8e3b0b4f6c97487f8d474cb66cb44fb595bac00701192cc20219d3ca0303d170aa454f665c0aa41566a1286a3a248ae8e49fde22e4b2b7ca86104d5ce703c9714627b1fba57d3ae64830556f1d74e517b08bfcc8fac87cddb6e00e46b2ac032bdc86da863f2cdda66ad288e4a9ee162dceab1365f292762c660f93a5b8d07303c1e949ea0ea18fa217bdb6bf4dff72ff9ddffb53a8ff84cde3615c73cb83e5770219ffff038175555c5629176b4df0866e07aaee3116ba67695ec7faa10973ff63da7d76a2038a8e28d7816885c9e7fa6f657124f030c69f14361ff3e4c15155c958e2410d3b03717cfd816fd488e3c9baba864e97128c4b9a9d6a4f544739d2d1ba70db28f13403eac606d6b8729118836e77d3debcbdb16b114b5ffe9c0a3e3729d653e16e0ae603329cf56bcb64fb2aee7ca3e7432a60b2126321f08e865e087769c90822a4dd0503bdcd09616f33c07b14b143a397de08aefbfb8dbfdef74352af7ca9912ca058260219ffff03d8a443ac053a680e8dacb2fa46b558402db67a8c68aaba9a23f1906fe218ce1603577da05148617427f42021e468ca09d79a3864866d1e214cdfe8886c8eac92a70219ffff0338e2455c4a56b409f3afdea530c98e5fd958112961eddb0610109c77ac5a9bc2037a86d62106c91a872f5235245a11ac67c0f15cc05029fe5982c798d6e01fae4a03059828d14e3f81d562b6c88251b2e603c3b496d8d40f2da7e685afb1c80e3d3803d5da1b4455fdc5f2ce4493aefd4850cb66f772ac21064ef995c6d64e76a17943034c46b8b6bd458ca2bc74868df24d44ac430bffb8607734d1328af10b93f37972032a5d67b2bf066be4401b1837dcf1a0bc6d015fff52874085ad5102d2daab3e460307023579616d645a3d40b255a26bd69a8b4fbd15a3633810a8372f9e40424dfb03eecce3550e67fb4fcb7e3f36c219710acfa317e9af90debc3d505b869510f55803b6a02c82da497baf43cd3d7aeef0b3ac0c8fe8252b52d5e66d258a33e3a19bc00377f6711d7236b0c5f67d3aa3dd2a0ace172cb9a85d46ec94670c3da0b20b0569031f58ad46488aca7c9219d25b5c96c0159335eb7680184b15c0a101a079e5e5d403b04d337b2618e90e7687881ad9266e63e4455f81bc15306727853fb0e510e4b103aaa209d1cddd2c2d605738dfe295519378b6310d1313e96dc5826bce1ecb55d8033033dfffb594149884c9dfbdb1ad0c094744312fe40432d798a41130094f8b8b0326b7ba49bdefed8fc044b01d9bfd9ea93b5612c5a3d5777fa59dd21d7c214a5e03bb10258a4f9042da8de43c59274016a33162131fb5c0f0da58f7b1f5e76976cd03314bb4ac966b4595056f83b210f24fabe0b5e49e0ea9725cf945d75721d073dd03747cce93548e74a28315e78d5392c3d4870ed3fc49486e84cfd7631b54fe8f5203e34f3453ccb1fa9dbf2e18ccea18d70d1d97f0a1faf18bf0893abc43c6c48fd3036df0dc236955afe114ffe651f23dfe1df230f86175de274be395f6d95096460f03f118ffd918366ba7e7f174bebb5dec1767b5de34e69805b50f2195e78468cb0a03160d313790db41bc54cb099f89de84068da4c9c7eb17263fdcd925b31b45b51e03e5eea43bc2e3337163c0675c2ef0a3917794847da6ed4b5e5263f061c31bf63b036d5b2a0ffe56baa74040472799ffa0cb234e2e04eae447b4099fb8d245093bae03be3d9587b4b48763f259b51c61064b78caf37855d6990d2d1c2994c0d5fddb7b05581e0357a4938e831433b36b8d76032bb9a24efde9ff95e8e28eaf86201dd700040205581e037456969e32a9f110bb233df6078147407a42f1b99f0d709d4751a7b5f00c024801605300a2e25c0003ddd36cdeeb4edbfd8e425ea48489ba480c2d21266e83def53f04fc73c7b5fd6d05581e039079e2ca06fe8d8b49a74ad0eee2eec8e38a04e92de19049d8104246600c014702ae5ed1f3eb5805581e0396864ddfb8355a94d50e6bf2769497d1159d671aee5b7967c7985d0a000c0147069a3477d9c00005581e0385b2c982ed7ce1833eacbd0accdecc9f1aac1830676a0ee55c56a32b4008465af3107a400004590744608060405234801561001057600080fd5b50600436106100675760003560e01c80636932af36116100505780636932af36146100ec5780637a386e8814610132578063f01b896f1461017957610067565b806350695a021461006c57806361641bdc146100b1575b600080fd5b61009f6004803603602081101561008257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610181565b60408051918252519081900360200190f35b6100ea600480360360408110156100c757600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff166101ad565b005b6101096004803603602081101561010257600080fd5b50356104a6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101656004803603602081101561014857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166104ce565b604080519115158252519081900360200190f35b610109610694565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600260205260409020545b919050565b6000547f61646d696e0000000000000000000000000000000000000000000000000000009073ffffffffffffffffffffffffffffffffffffffff161580159061029c5750600054604080517f2d3e579a00000000000000000000000000000000000000000000000000000000815230600482015260248101849052336044820152905173ffffffffffffffffffffffffffffffffffffffff90921691632d3e579a91606480820192602092909190829003018186803b15801561026f57600080fd5b505afa158015610283573d6000803e3d6000fd5b505050506040513d602081101561029957600080fd5b50515b156104a15773ffffffffffffffffffffffffffffffffffffffff821661032357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c69642070726f787900000000000000000000000000000000000000604482015290519081900360640190fd5b60008381526001602052604090205473ffffffffffffffffffffffffffffffffffffffff16156103b457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f416c726561647920616464656400000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff82166000908152600260205260409020541561044657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f416c726561647920757365640000000000000000000000000000000000000000604482015290519081900360640190fd5b61045083836106b0565b6040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fb1253e1e50d0b0e0688eaae4dafdddf0ae8ede14a453ee8bba1ebbaf4911605a929181900390910190a15b505050565b60009081526001602052604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6000805473ffffffffffffffffffffffffffffffffffffffff16156104f5575060006101a8565b604080517fb4ba9e11000000000000000000000000000000000000000000000000000000008152306004820152336024820152905173ffffffffffffffffffffffffffffffffffffffff84169163b4ba9e119160448083019260209291908290030181600087803b15801561056957600080fd5b505af115801561057d573d6000803e3d6000fd5b505050506040513d602081101561059357600080fd5b505115801561063d5750604080517f7ddc02d4000000000000000000000000000000000000000000000000000000008152306004820152336024820152905173ffffffffffffffffffffffffffffffffffffffff841691637ddc02d4916044808301926020929190829003018186803b15801561060f57600080fd5b505afa158015610623573d6000803e3d6000fd5b505050506040513d602081101561063957600080fd5b5051155b1561064a575060006101a8565b506000805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091161790556001919050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b6000828152600160209081526040808320805473ffffffffffffffffffffffffffffffffffffffff9095167fffffffffffffffffffffffff00000000000000000000000000000000000000009095168517905592825260029052205556fea2646970667358221220fb0adc37393813b2604ebfd962752c64fed480337a2477239a05d95c7dac103964736f6c6343000706003303bfd61e97208fc91708526649d89c294cac081975c5ee0047e496aa329e687255036d7eee952c61575e5e795e1999be9a2f3c22442bb2f356f8a3286a70075e8f5503d704a8c01bc3f631cf2db2b8dc4c4a362c6e0a31b3f976041b05af2009029ad103bde979683e06d4141098f4fb6418f11e43b22bc6673f381f46fd76620e38a3e0038fda037869556a72aec1b1f8bad4d2a5e02f0a6fe69266b9b0e8be09d747022f036ba7f7d2fdc71fc1ba5fe8c2782cade38d6f437729c80178f33d1bb6e4d864db0303fa75cdc85c84283d77415234fb318926ae1f1687b09797c27623d8cb0bccbf03cc581bcfecba6873f634fa1efd0a71583feece9f4aea127956430a7dbc3dfe0e00582002caae77764b6dcbda10d410c45a5cbdc987ebc94e2114d076e3d7c324581d0858204c4f4f50000000000000000000000000000000000000000000000000000000000058200282fa706c4ce7c51029e42eb060a8fb757f06634917879586409389b660978f582055425452000000000000000000000000000000000000000000000000000000000348988b8ec14c42fd546eca16ac520ea256d07ba2b6f47224f9c9e0082534ba0a0058200253fb2311acf1bff77689916681171d35e068fd27e402e88efbc949907210f9542c68efdd296f8a4f83ee46b12152a66dbe74b68600582002e0816fceb10564bb8cd9d20c69eba0acb6498a1763e001c5c405c23c0de45c540616ba1922fd52b3de6760cc5ffee7be6af3c377005820023485bf79fc328ae5ce165ba55226b45c5de486716fd8708673bede4c62ef095820484155000000000000000000000000000000000000000000000000000000000000582002885b3472b2864ee3ec0a0468317247a051c84b4310658ef17fc09a7563954b58205245444c0000000000000000000000000000000000000000000000000000000003e0cf07a1a9301d224891f11f2579248a24fc4cc2cb9d950f3293dbd28d728142005820021b193e4e2b1ca436e526b899ec14a158e3811c10348d5b78d6ba60f7246cdc58204c564c0000000000000000000000000000000000000000000000000000000000005820023db9d167aa59bc916a55bf520ae8cb963dd771edd818423b2826e99888e542547ea2df0f49d1cf7cb3a328f0038822b08aeb0ac100582002e70721dabf89a0e5f877c90c3dc3706a3165db2ac645c188135051d839f91d54f64c4abdaa85909571a08e0ccaddfe258d89c78e0219fb6503a5909101dc4c694a693b67fa6bb96d39c6dd4165215b7fafaf14b0e3051c1d0a033ab5e8a1a8b41a692a49d60da1de1735e6d8940de812349ec0548f5e72e57f7803ed83e4241c1b8107d6cc5247b069055f9679ff729eefe2ba7ecf8a74330338760337614bda209373a39caf123bd81762d0d78487d322281f064c30b23baf2d72b203020aa808110c7878c6bf83e01bac4dc0cb1f254f2525ed34fc42eaa13c53a38903b385256038eb235d23fe12b4340977002b80feea2db39b3754ff86298d7d747603957590b3e1501f4cec0fc175057e2420a25a4134582152dbee2d486e063019fb0219ffff05581e037b83e6cd9a78d41dc6fd46846d4d475f4dc69fef8b9cd4f10865bf48200701190744021930eb0387fc726a0fe35d694c3dea67bfbc19bddbc1fbc022f6ca00fcc5bfdcaccc021003724be1aa461d73fec7c09e175239a75d921c93503d4f109d90f0142b78d7c2af0334798f13c73eca14252009ba4cd97dfb3de9c23e4dda0f5caccb4928a2d0874503aaa8bcbf47717c74dcc9a7e054f02be308b94ead69301002216adffe8213cc8c0219ffff0381a3aa16cc656b58870e3fec948576f87b3b68322685a1a2b02fccb79c01d68903d27fb9ff37cd272d7bd13f96e100b7f6f4ed5f26478f3550918ef4d84cc73c4503b5818f6dc88db1a6d5aa33e04a19fec6e278df2dfb297e64eb38d49813565c1f0372fa8301962fbc77bf03511fa2638336228b56127771afa671412c7fc2ffde1f034f6c807f80978dbd858fabfcc154566b60ac72c2983150e840bfea114a87a2270342f58ac6c19aa9933792008b13e2f47d8c8bf3bf6d22030af3c5ad2aa312dd3b0308e1a5578fa9ec8fb04e28b4be4d29a043c6430b8a913bea9adceaf6adfec09403131533d66078f53da70de4c7671267a6b5e6bd5d6ae0ee76c5be1711cf996b96033b4f1fff3f9598ebcc438ecb25c6805a973bbac697b8e6976148fd87caf891b203c4f27065202c4159c16848495bee8685981a9b0f22aef26e1291511b267fdc170321a59d91514226b9d6272749cc38352ac312dd95c130d8240f1812610ce7c6a10329d8d06e7ffb722607e1caf415b698c66795a32cbe744dd7ca9466535f942c05039d59c7a970078c8eeec32fbedb34324e355ff4942df5d11a59e3507413d6a183031d028e8c67de4ac8662f9b20c70b90fd38fd1f19330d23e2f8b580f4a5eca921034ceb9098c2713c5c42645f9774c7b9c8351432dc5f6ff2dbe8d895ceceab133505581e0341f5dba4929af44cce321dd4a48301e54f216c2ccd70d907f840a671a0040203918d4ed7372d0c2d719ff938cee0c56738fed4ef381fd5bb0f36956285af289d05581e03593b9de8878afd9f3e96bda8746eb712dae7c46616f2a05dbafa0ca0f00c014691cf2d0bb60003ea840d7ac7929962c37f533480a5fdfec771db43af5864e44ed0a7b79f8c56da05581e0309205e1d5ff161ad754656ae5329f14a1eac3c7dbdb04abae82149baa00c01470906c4ab8f146405581e035549df7583c003090f70d84f9e5cb444da0c952ba8c83198db14930650040203b295f581dc18129473ef66c2cefea4da335452a4704bafda2777e09802f528fa0383c0c2047591596cbca40e98bf5d6e175f49644d771d199f07befa3792a69d7605581e03371039f0f39095641d02998d221930e9873033d8e17a1657f97f25322007011bffffffffffffffff03eafeca2759f397730463f15a9cf992e0a9bc7e14e205113a66f29bf0884cb0d505581e03eb976b16a509fd0f3e8f8eecba182c6533b02bd901ee1f047c5060ec900847035565a6492000030fb94eb266ef3f2ccd47a6da4595e06c3a975c5a969a78a4d8727f0d255691bd0219a4bf0219ffff0319e948cfad771bf4be729f68c34778ce6655b5ac3952744f0ef1eadf5fae51de032c8f874674543d7d9db5875def84872727b27d75abd7ebda08fc8e176572d1390219ffff03184a6a1ec27e55b2326b991868923edcc30654f54f2fec639bb576070ea0b32a03379105bc06a70b1327c623feb3d27f4fb4debb3e7c3f181465057773f89d7ed303947bb3c5f9cb1d1f32a16287cf421f54f6abbb637563988e0f25fb61755129510365b540af969a643d3744e135411a2783ed5a83ceed349a838ab3c37787c23a4d03712562ab5b357877dfc6e5b6b4747d497124467114af9ff66d7cd8a1c0c47b6e035746c3064f5de0aa9682c89acd2e5614f454b6898de43231d345bdc52bc7516b031f4bd2479dcc172643f2969bf774482f8ea55cc58f5e37e450822d3b08a4a775032e2f3215a328c8d4420034495843e1da23e1f86417057dca11efedaedbf0edaf03396003f8709434a902fe9870a1756a85f6bba7c0d31a1966841d2bf320f480560307c1604f2dbe0c1ebb5f600bc28146fe144d6b5f2b2d584905b3ed3efdab2a160360ea15cab9c0f80d2f4cda5937459608db76a824e4adf6726c8449eea81c22e00308010f4ce078dad0117ec63ee759a4bfe688650da09a20ea92d9f9ce715bf93d03a8cd78a77c3215421ed220917a6617106dda23a724e750a73817e58c5a8442f4034d63a3372db432cc921fa57e7fda6c57d96092911120b6397ebd97c5b26b519e03c43faf50c0794201488331405f8f0f2e96e969297b757240040fb9433fb5dc0a0219ffff03299a63e2e4947929eac83a0303dc082368f15dd2a3086ceb56ce138b8a6c2e9403d2e7e7d9441b8c3b652363777e84d63d630fca19454650435c7ee5379a94ebad0338bb91ef71a4dac0c6b3ce8bfb73c0e727a3c2eb3d9de295029983e59a445e110358e07467bb5843e597dee20c37e7199f65af095d17b834d4c99c23f722accd5103f84791114d56bac78c5ede21a7551a9389794f394466716075c134a07d963def03e6e4e9ac41b78c5b9022496da2972d92f50c96b9532265301f173fad3e5f292603f2caf6b446d3e7972cb441076fe6eb7b005b19862d0b409099015c9011af380003cbed07129a9a25dda1a4731f73b9cd714e6f5e4bba4e941246b3e1d75ced048803ee6dace0e48291772ee9fa19d42ec3ef256bc5783e191e62c1674dff919bafdd03a8bca29c9059e19cb3af663143b2444fb1329eca6b1c61b16bfc985447bb91c603bb3a0d68c19c35d3f0f4cbf10f592e5fc045f83329de25429f1af6b81341519c03eb794fe6ee1ee44446cec7408bcfe4d041dc88976d1c76bac5d7262796df2e940351e975595af81e7e7c1a676daba3a6b19a0cd12688568b2481a6cb5cb82ff8b803ab33d5d51035db0d10d6c82c88171b57339fad4e27388dbbdd7aa2e95bc6ca2703e1d70de2439e0eb247a72ebbc666c1b907a24abe1dc47270884b89acc7a132b5039986a27bd810806e9030239caa62285f0c36b611b2bbca9bae7ea86963a355e503123bdbfb781141f66b58fca1dc66edbcd4d6ac38e035372d08c8505355595ab2031a8b90709fb8f60fb9fbcd9b47f792420c0bacfea409bfadf8e1463e263a177d030641f714751bdafa10c2e429c3e07673fa2dcf864e44f31628c4c04a9f7398bc036d8d9b4008455c97cd74f25db9063780ffdda644f20f25fff79671d5ab8ad74f0321b2c3d6cf648067ca729c936fbbaa56be1c553ea488140e8f04ea0c4efb568603b1bf0cb9bb44f369189ce844febb6ce3aeafc64f5ed9ae1b03ed63693b1e925203938e629a3c895392f5a5072f264d82b5aad473de3353fbdabd7221caa2adc0a4034396d2d46c65b22d39be19f28cef52afe211ddad142595c300745bc570de521303b074ef3b82e79f3db4130542c65a78085ba6e20576cb7b96e0901b8c5a1cc5ba036c838615a935b3d4a474200a4fc65c12cde8c36c73fccaf5362b170128636d6303144accef9c51c59739f58c67b454afca52834e200fcb6d263feabc72c081aa3705581e031b1969fdf6a2bb43d68070c31f53a4de2a47c5d31d95877d6d210e91100c014676da1ea4f82003b007dc2c7c2afc47e96b0a74c5a9ad39c8674c9b7d3c0ea200cee796cb1c7d28032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e031dc2964921af7fbb18132225bc61b1bde31bb41d68ffdaab8657c66d6007011bffffffffffffffff05581e03697effa7efbb3852376ed18898ceb2537cb5c30340f33b8dccf6e8ddd00c0947220fcf29f5315805581e030f90bae07d0f308e7be29760dd5819ee59f1a10ff11561712ddf19fa900c0f4734cef641bb57990382d6bf998f9f67becc5922a38346ba2e6d6617344ec3f1d362ad34479a6ae6b303197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e035cf175c59ce310c1f1cac6b1a64c364c2c6339d723d82230b9227958f007011bffffffffffffffff05581e0318a5d0425067b8ce82d68ce7959ae9ea9596afe6296737ce27bce447e00c02470324d4b40c07f005581e034f47c96a8d848e62c750bf8c9a3ee67610d3b215e5b92b7045d7d4fbd00c0147071d8b5046ddc205581e03609a4d5b5c656a8577482998def1db7a45e954cbfd2f3a718c42b22b400c014701a409f80d69000219fb160346d753552961e535c8b58182a7486786160b8ca485be506a9b19a7bbf47f030d03dffd196d054b1b4ab59ef86b1dd94dbadf2250dbb2a4658e951bbc38cd1bced203c7377b9ab9ee2501d496fe903060901805c4046c16fcb1e3581ca112c783bf3a0358a8e334e8ed1d634d6f26eac1c91b6a47c6b7f6540dd0992f1322edf1e36d4203b62ed807c41412ce8bd6dc046437a87d61c1daefa9b091645841fbeee6cb8e960219ffff038f62fe520b3c3672f0dcababd298ec778fb9d998491ce4994281e5c374a5ae9d036a431777a8851e0753fc0c72d3017364ed164b64d2b6e14b5fe1b046293ba0d8030c94373d0cc56e8b3c4855e023f480034747a3bfa1b7863d129385575a5378a203a67ce37e84f5b352c6d2807c0d554e7be7ee6c8f5c1bfac1504dad3c85b575bb034ef865873e4da69914c2b0d11724a021b9336ce7f0045fdd1e7e7a89c23b511b036e97614ec7aff0c0c20aaeee68f1aced91bcca6635acd65db444009275e113f003fd45e93b241e50a5671eb8a1ec9f14aeab62e3af8a6dd406c739083d5e0ef5c403ddc09ec089017a33bf63e33d4a8c3d827504a3203cba6bad3e5d2a930879dac6037977c559cb3f9c1b0142245db16982accab3e00a82f6c8ef78e435ed0e322ebb034a9d5c4fc7c36710e46b1dc133ee124be6b45dd90a3f238f856665a60b91a2ab032306be2c30dbb2ee6dd0fbec145c7aafa8495733c8fe011ffa9d7cca01c5a7c0036813d504315ea21d27ec9a134337e11cfe2a5a8080614515e832514887f1c1500219ffff034480486afcc407172635cb7e7ca040a185a20294dfd5368a4a262fb0a518ba34036f90395b1d310768e4e8b44183738dcd5a6bd564cb641b88ca52b9f936f7c7280219ffff03a5039d2f375688e0c19c32e0cb5117ae046d27602df18fc5d1ffc0ca28d9f35103dc6cd2a08c2f92e6b268be1e2626f8e29c893613b5dff75c27b09923e3725af903594737dde5706a576d437221e8f971a756b79c24573b5885a1e9216c6334d2e9038e4d070ea6c167c343534fc58b84e5ad11b20f0fe926879b0a332529db28852103e73768cfc924f003e0cb29f454cc29b144227c8547ab3aaf9b9d822d3d5341f503ca12abb754f86017df4cf5073d4149ba89554bde5677ec851030ef12b6b422430312a7e539c25095dc330d361894abe923991c20d33990d23d3f650381f228b66803eb263b73a58c2a78817ab599a341d5d6e74723c9a9fa14538ad27e3000dfd93e030ca657522166b75e41017eed6719cf0c80eee616634e1bfda73af9fc4f92cf6e03412f5c0ffca64875b508f645d9e6f134c4a1f5ab88077cdc6450bda68d9409c403e915b3c46b2d2acd9f486edad2d25896f53b3e301d6e70fe5e40069d320d30cf03791ebee3714794a4b41ec06536aaccd0866f429fe85aaaa07ed90f7241b480250300f12cee85f556762cb711161412322be9898f81bd559c8142edf54961a08e3203b5e17c1c584bbdceb150e45ddc7ecb1dc5e12b70d26963a384635fc8af95d89b03738d99b87e044cfc305c3926e803efe71a1fa29a632bc762f53d6ea60fe8b5f403b6ef22c01fd14f54a9b7862cbe2bbbc732640551e642d1625bf0492280f2b8c7034f808bef87afee94999253ff211b2937e2c0015819a663358b4a851e81727fe70368234eb5c58585c00e21f88d425c78fe163742c561c88849d735c680bcce658203db1edd88da31b9173b3a01a4bcb70736f1fb7d3d7c4ff994859c9853af8d13ad03368a3deceddbf642196ed53eccf27173a264a7676dd248d202620423db656dba03e98504cabf99eefbe87e47d91557737a841470b7c25794b5510df76cf75ddc77037dd432716a52d84e8e711c0304936b75634e117ff5bb34c27b33987ef8da0d0f03f20edc3da73a0c03a2f7ae9b2ee97a7ef6855f32563dce3a0202a819ba9e63d703cf603aa4de6a946d150a191044c72b182176fb4021c6b2d18a383855a8f0234e031b5526d099906496a3a33d60306caefad770cd03a0881fe26d7f1a0de66b43ac035e59a8277f34b835258b96b4508bec0ef3922515e4142f0490770b3b2175569f036e96939ee1febe8081db06eb55d53a3ee3d831b0bee88183167a69d02d07f78005581e03e61bc331fa2bcfdfbcbaaffe43953dd29f5dae150f901483658d263be00c044707b05cbe758c7d05581e03e98f02ec287a7bc81664c3bd3547c9c43fc30dd780deb035cc572ed0200c044683c5a2e4fd4005581e0301b4c5ac518015a0bce436357c6ffae80bb8291afc971ebe35544f24400c024501aa2450d005581e03fe83da1ccaef9d9bd78ce53543b6368d6df3947d410bf2d34eb594c300040205581e03ec48afe9bed2ccb5532d8a32fc0cbb2e1ba61c7556de5f51e397c4be200c01463d1ec5ffb1f0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0397fc5d38badeb2417fc4af69d36e4965c61f33bb84f646b7d58a9da68007011bffffffffffffffff033fb0fa6f5661fde6378c4db73cf7f1243b922e4b55a3435735c010e477f1c24405581e037a436184a5fc4ce62ad4b2daaf8a45e35f2947e33aeb11416da640405004060219e48e03026455994a7764223a128fa757f29d61c41ac8e28bbab1f879c66e232fddb035036c4372246d91297c5eca3d8d1d450153f9522df23de517957182e29d8416b60c039c41360797c1aa7097a0a9af04c1f817bb5c454d0f772e8ebe2fd352ca7e0d8003ba5c25d3ffc47ad414f2443245ed620a381ce9d9f0d1ee70505a1db59120de1403c0b160d239ce0c71812917d0798c6964edb234491c2f32eb7574c8d7a16270d1034424e96e0a1731300a2559039dea0424a1e764dd8d7d15d03aeaad0ad4f3c4510219ffff03da8da37c4fe5c950e685fc4419b929a0a12eb5889b2f90b71a370dfb5e47cb93039ef121560406c7347d9db8c5d193f82dba39f64c64f08e8a6a53b1ccb916b4b9037ec73b2e9bcef8facbe2637ff6111e1ef07153186e00f47d729f0690dc004b450362a4793b315cae9c3e08317c32e40859992f7e400c4cbef01f38131200a2c0b003e3aca74f4b6dacc3d4fb4c0be96c6ad175ad5a5520c90c9568db8931dde9ebea0307792455cf8c23315cd488478b25f5f1aa1973f0ae67d5296d95f9e0f2f9835303c881cf638f97f8c05de4dd9401a6364aa3481d70bc6742223b0ce6642dae1dde037ffb55f30e6ca985fa50a8f290c7edc12949f3b21f65984d7db7c5294ad5d21d03d4144ac6faadcc32b8555dd289c957ebd982540ac7f696eaea7093fa1f26b0dd03399ab5947d58cdf15e2cc30d27a16bb4ba8c97c3d7c0cbd481299425b4bead34039a829b556001dd4620e2e8fed9066729e35473e4d81cf9ad53e37545923501150219ffff031f6f64264c5d7cc856cc3e2035d538d4987df7016865bd55851cb73935e495d703f6bc540f35f2053832cada8c5e69580dccbba5b8a8a025d2fb11cd0331bea0780219ffff034a466ff2ca4cab3f8eaa712b5503fea89801e4b46a7e6329b4ab57d7c256d7be03435f74d68c000c21089171d8320e4e452a78645f8b6824c84e23576f1981d5a1038a6698919ce0b77ffff04a61e955972b230472f08a95bbdb31fc986a1a3957b90327b44bb4514693b22cec2ad2238c17f7d5feeb7c3386d15b7cdc9e67ba02d1c60219ffff03e934d5d3535f236ca727f08ad335583665f3272e4703fb5922ad54d9bf80432403ddf14f89d00e3c89998c345ebba0b6410ebb6c30690d4d645dbda0477d3f3b3b03fa747db4438464c82e304ad412c88b5c930e0753a8f304cf3be3ba65ff6b6da403201c1607645ff4078224fa40310de0b34b94b619cf452bc920a3722ee0b00ad903f7dda9d591b4b67a0bc2448ceca01cc03c0d0dd276273e8f8b60ad8a795506f1031280b3c2b91f88fe7a29fc96e9b5802f9bd321f33dd705b2fe23acb3b3503b5a03beaf5d7e9722354a4ebccf1a6b055c8f4c2f11575589f115f2ed66a0a7e94e5203deb466018b9baaaa1fdaa2763b7d5ec72b2f7c4903eb980d7cc7635c5e316942038420fdd8de762da6a7e480d45bca7cb87929c2d81af0414c8ac75c9c52c09b2003e9b86a90fb0f79f3135fb7247d723f81ebbb9ad469233e45915701682b44a89e034fe269e07caca1f095ed8cc401c4edaf518841638bebecaa796d4c533e9f888803b7f87ebbde58c5a8e56e15ddaaf857a905f49a211c702cdc9ec5ac14f430e89e03907f05c0449b018fd29d4b09879081f26a777443a824160b74e01bde858d8d160337fc144eaf23f883787382f0b2e190acde9619578103cc3a0cb5425a753c35e3031d846ae4ce6ad3f7ab62a3f9e0b5241ab414b25a1edc1b6559e2a170ba5794b7035e118d6a94c66d82242b5f84032de7212519d7dd142bb2355f4d080a81541bfd0338b9f38956aa5a3f9acb7a7e1a630fa2ba56a307e6f88e4fd9ef56b289ab8a0d033a0f2b0c525360dabbe300ad5aea4d411c438c5285e85c9628c3e9980866707d036b63008cfce49217dc4ec945e38f6317ae2063675b7858a9a4b42399717ff0d20304e5015df22ac1100f78da4f320712a3105bbb8a0a8cd62e1ace771af10f0edc03950159b08b4925771f9556371176a25edd367103170023f23eda3733106f48a4037bdd5ae6e2ff4d1a84b0b65a1492e5f861e1f8b3e68a12d76c22b663514fce1f03eb8d40396efd83f86a1a192921b28106813eeb1a1788ea1d2011874fd2daf5930365f1e01f26b11f74fec91d0900f95547bad9ab42df2d752302b22de87d083cf505581d0276d95cd2b44d43f0a5acae406e6ae719af576539618639acf6136b7c04010459431d6080604081815260049182361015610022575b505050361561002057600080fd5b005b600092833560e01c918262b83bce146127755750816306fdde03146126a4578163071bc3c91461260e578163078dfbe71461247c578163095ea7b31461242d578163128fced11461039457816318160ddd146123cf57816320e8c56514611d5d578163213cae6314611a5057816323b872dd1461187e5781632a3437091461180f578163313ce567146117b35781633644e515146117785781633ba0b9a9146116ab5781633f4ba83a1461159b57816341d8bc5f146114e55781634e71e0c8146113d657816352730096146112ce57816356735db61461119c5781635c975abb1461115a57816370a08231146110f9578163769f8e5d14610ed157816376d5de8514610e62578163784367d614610de45781637ecebe0014610d825781638456cb5914610cd057816384b0196e14610bce5781638da5cb5b14610b7b57816395d89b4114610a52578163a40bee5014610a0c578163a9059cbb14610938578163b8f82b2614610895578163bac5f3c614610826578163c1fe3e48146107b7578163c4f59f9b14610766578163cbe52ae3146106b0578163d505accf1461046157508063da88ecb4146102cc578063dd62ed3e146103eb578063e30c397814610399578063ef5cfb8c14610394578063f1650a461461033f578063f6c278c1146102d1578063f8b2f991146102cc578063fa5a4f06146102805763ffffce471461022b5780610012565b3461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5760209073ffffffffffffffffffffffffffffffffffffffff603b54169051908152f35b5080fd5b503461027c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576020906102c36102be612893565b612c96565b90519015158152f35b61296c565b503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576020905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a35b1b31ce002fbf2058d22f30f95d405200a15b168152f35b503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5760209073ffffffffffffffffffffffffffffffffffffffff603a5460081c169051908152f35b61290d565b503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5760209073ffffffffffffffffffffffffffffffffffffffff600954169051908152f35b503461027c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c57602091610425612893565b8261042e6128b6565b9273ffffffffffffffffffffffffffffffffffffffff809316815260018652209116600052825280600020549051908152f35b8391503461027c5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5761049b612893565b6104a36128b6565b906044359260643560843560ff811681036106ac5781421161064f5773ffffffffffffffffffffffffffffffffffffffff90818516928389526007602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610621578b525190206105af916105a791610566613213565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220613ec2565b919091613f5e565b16036105c457506105c1939450612ddf565b80f35b60649060208751917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b6041877f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b60648360208a51917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b9050823461076357827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076357506106ea612893565b73ffffffffffffffffffffffffffffffffffffffff809116907f000000000000000000000000a1290d69c65a6fe4df752f95823fae25cb99e5a716810361073657602083516024358152f35b60249251917f88a50561000000000000000000000000000000000000000000000000000000008352820152fd5b80fd5b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5780516107b3916107a582612a48565b600082525191829182612841565b0390f35b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576020905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe84168152f35b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576020905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000cf5ea1b38380f6af39068375516daf40ed70d299168152f35b9050823461076357827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076357506108cf612893565b906108d982612c96565b156108f4576020836108ed60243585613a0e565b9051908152f35b73ffffffffffffffffffffffffffffffffffffffff60249351927faeabe7180000000000000000000000000000000000000000000000000000000084521690820152fd5b50503461027c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576020907f0100000000000000000000000000000000000000000000000000000000000000610994612893565b6109fd600254916109ab60028460f81c1415612b3e565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff809416176002556024359033612f90565b60025416176002555160018152f35b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c579060128260609351928084526020840152820152f35b9050823461076357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261076357508151918260008354610a95816129aa565b9081845260209560019187600182169182600014610b36575050600114610ad9575b5050506107b39291610aca910385612a80565b519282849384528301906127e3565b600090815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610b1e5750505082010181610aca6107b3610ab7565b8054848a018601528895508794909301928101610b05565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610aca91506107b39050610ab7565b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5760209073ffffffffffffffffffffffffffffffffffffffff600854169051908152f35b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576107b3610ca492610c2e7f5359204b656c702072734554480000000000000000000000000000000000000d613816565b92610cb1610c5b7f310000000000000000000000000000000000000000000000000000000000000161394e565b91805192610c6884612a48565b84845281519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e060208a015260e08901906127e3565b91878303908801526127e3565b9146606086015230608086015260a085015283820360c08501526128d9565b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25891610d4773ffffffffffffffffffffffffffffffffffffffff600854163314612ac1565b610d4f613e58565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00603a541617603a5551338152a180f35b50503461027c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c578060209273ffffffffffffffffffffffffffffffffffffffff610dd4612893565b1681526007845220549051908152f35b50503461027c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c57602090610e20612893565b73ffffffffffffffffffffffffffffffffffffffff915191807f000000000000000000000000a1290d69c65a6fe4df752f95823fae25cb99e5a7169116148152f35b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576020905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a1290d69c65a6fe4df752f95823fae25cb99e5a7168152f35b905082346107635760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107635750610f0c612893565b90602435916044359073ffffffffffffffffffffffffffffffffffffffff8083168093036110f4576084359360643585151586036110f45760025495610f5860028860f81c1415612b3e565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff809816176002557f000000000000000000000000a1290d69c65a6fe4df752f95823fae25cb99e5a79084821687036110c557881561109d5785610fee928a9260001461109357610fe98330613603565b613d51565b80871061105e57602087897f010000000000000000000000000000000000000000000000000000000000000089898989855191878352878984015216907faee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1c863392a4600254161760025551908152f35b60449250868851927fbfee4ca00000000000000000000000000000000000000000000000000000000084528301526024820152fd5b610fe98333613603565b838a517fc3d83b07000000000000000000000000000000000000000000000000000000008152fd5b602484888c51917f88a50561000000000000000000000000000000000000000000000000000000008352820152fd5b600080fd5b50503461027c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c578060209273ffffffffffffffffffffffffffffffffffffffff61114b612893565b16815280845220549051908152f35b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5760209060ff603a541690519015158152f35b9050346112ca57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112ca576020825180927ff1650a460000000000000000000000000000000000000000000000000000000082528173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000036676389e48133b63a802f8635ad39e752d375d165afa9182156112c157508291611287575b507fffffffffffffffffffffff0000000000000000000000000000000000000000ff74ffffffffffffffffffffffffffffffffffffffff00603a549260081b16911617603a5580f35b90506020813d6020116112b9575b816112a260209383612a80565b8101031261027c576112b390612ba3565b3861123e565b3d9150611295565b513d84823e3d90fd5b8280fd5b9050346112ca57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112ca5773ffffffffffffffffffffffffffffffffffffffff908382603a5460081c168451928380927f770672a60000000000000000000000000000000000000000000000000000000082525afa9283156113cd575083926113a9575b5082917f000000000000000000000000036676389e48133b63a802f8635ad39e752d375d935b81518110156113a5578061139f868561139860019587612c82565b511661334b565b0161137d565b8380f35b6113c69192503d8085833e6113be8183612a80565b810190612bc4565b9038611357565b513d85823e3d90fd5b919050346112ca57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112ca576009549073ffffffffffffffffffffffffffffffffffffffff9283831691823303611488575050806008549384167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08680a37fffffffffffffffffffffffff0000000000000000000000000000000000000000809316176008551660095580f35b90602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152602060248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e65726044820152fd5b50503461027c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5760207f97f0b7a8b22ce6b1d8cd80fd30e159ba09a73df70fd026076c317f099bf50a8d91611542612893565b73ffffffffffffffffffffffffffffffffffffffff9061156782600854163314612ac1565b1690817fffffffffffffffffffffffff0000000000000000000000000000000000000000603b541617603b5551908152a180f35b9050346112ca57827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112ca576115ee73ffffffffffffffffffffffffffffffffffffffff600854163314612ac1565b603a549060ff82161561164e57507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060209216603a5551338152a180f35b60649060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152fd5b83833461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c57602073ffffffffffffffffffffffffffffffffffffffff603b54168251948580927fe6aa216c0000000000000000000000000000000000000000000000000000000082525afa91821561176d5791611738575b6020925051908152f35b90506020823d602011611765575b8161175360209383612a80565b810103126110f457602091519061172e565b3d9150611746565b9051903d90823e3d90fd5b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576020906108ed613213565b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576020905160ff7f0000000000000000000000000000000000000000000000000000000000000012168152f35b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576020905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000036676389e48133b63a802f8635ad39e752d375d168152f35b8391503461027c5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576118b8612893565b6118c06128b6565b906044359285600254956118da60028860f81c1415612b3e565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8098161760025573ffffffffffffffffffffffffffffffffffffffff84168152600160205220336000526020528560002054907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119a6575b6020877f0100000000000000000000000000000000000000000000000000000000000000886109fd898989612f90565b8482106119f357509260209594926109fd926119e6837f010000000000000000000000000000000000000000000000000000000000000097033383612ddf565b9250929495819450611976565b60649060208851917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b83833461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c578051916060830183811067ffffffffffffffff821117611d2f5782526002835281366020850137611ab083612c46565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000a1290d69c65a6fe4df752f95823fae25cb99e5a7169052835194600195861015611d015782848601528282603a5460081c168551928380927f770672a60000000000000000000000000000000000000000000000000000000082525afa908115611cf75790839291879491611cdd575b5090918093509486825191611b70611b5b84612b26565b93611b6889519586612a80565b808552612b26565b977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe080990136602086013786835b611c80575b5081510197611bc9611bb48a612b26565b99611bc18a519b8c612a80565b808b52612b26565b013660208a013785825b611c3f575b505194905b611bef575b8551806107b38982612841565b8251811015611c3a57908782611c09829796959484612c82565b51611c1a575b019091929394611bdd565b84611c258286612c82565b5116611c34838801978b612c82565b52611c0f565b611be2565b918096959493928251811015611c75578086611c5c849386612c82565b5116611c68828d612c82565b5201909293949596611bd3565b509192939495611bd8565b928594938198979651811015611cd257611ca687611c9e8389612c82565b511685613ca1565b15611cb9575b8101909394959697611b9e565b91818091019281611cca8288612c82565b529050611cac565b509293949596611ba3565b611cf191503d8085833e6113be8183612a80565b87611b44565b84513d85823e3d90fd5b6032907f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b6041857f4e487b71000000000000000000000000000000000000000000000000000000006000525260246000fd5b91905060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112ca57611d92612893565b92611d9b6128b6565b60448035606493843596600295865499611dba888c60f81c1415612b3e565b7f02000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff809c16178855611e0a87612c96565b1561238a5784156123625773ffffffffffffffffffffffffffffffffffffffff90818816978815806000146122d357873403612277575b87917f000000000000000000000000a1290d69c65a6fe4df752f95823fae25cb99e5a7918583168c0361202d575050509a5b808c10611ff9575016948515611f9f575050611e8d613e58565b8888116110f4578554908989168a831601908a8211611f7357509380927f01000000000000000000000000000000000000000000000000000000000000009694927fff000000000000000000000000000000000000000000000000000000000000008c60209d98169116178855818152808b52888120611f0e8b8254612f54565b90557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8b8a518c8152a3865190815287898201527f5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d59873392a482541617905551908152f35b8360116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300839160208b51937f08c379a0000000000000000000000000000000000000000000000000000000008552840152601f6024840152820152fd5b8488918d8d51927fbc71f2ba0000000000000000000000000000000000000000000000000000000084528301526024820152fd5b6121ac575b61203b82613bf7565b92857f000000000000000000000000036676389e48133b63a802f8635ad39e752d375d1690813b156121a8578e517fc3ae1766000000000000000000000000000000000000000000000000000000008152928716838a01526024830152818b01899052608087830152608482018e90527f633035663639303265633763373433346365623636363031306331366136336160a48301527f326533393935616164313166313238303835356232363430323139343334366260c48301528890829060e490829084905af1801561219e57612155575b5061211990613bf7565b908103908111612129579a611e73565b6024866011877f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b67ffffffffffffffff8198929811612172578c529561211961210f565b6024826041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8d513d8a823e3d90fd5b8980fd5b5090508a517ff340fa0100000000000000000000000000000000000000000000000000000000815230868201526020816024818b887f000000000000000000000000cf5ea1b38380f6af39068375516daf40ed70d299165af190811561226d57879161223b575b50907f000000000000000000000000a35b1b31ce002fbf2058d22f30f95d405200a15b612032565b90506020813d602011612265575b8161225660209383612a80565b810103126106ac575138612213565b3d9150612249565b8c513d89823e3d90fd5b5083857f657468206d69736d6174636800000000000000000000000000000000000000008a60208f51937f08c379a0000000000000000000000000000000000000000000000000000000008552840152600c6024840152820152fd5b8b517f23b872dd000000000000000000000000000000000000000000000000000000006020820152336024820152308a820152888682015285815260a0810181811067ffffffffffffffff821117612336578d52612331908b6140f7565b611e41565b60248960418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8289517fa907f2f0000000000000000000000000000000000000000000000000000000008152fd5b88517faeabe71800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff881681850152602490fd5b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c576020907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600254169051908152f35b50503461027c57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5760209061247561246b612893565b6024359033612ddf565b5160018152f35b919050346112ca5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126112ca576124b6612893565b9160243591821515830361260a576044359283151584036126065773ffffffffffffffffffffffffffffffffffffffff9485916124f883600854163314612ac1565b156125d45716928315908115916125cc575b501561256f575050806008549283167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a37fffffffffffffffffffffffff0000000000000000000000000000000000000000809216176008556009541660095580f35b90602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601560248201527f4f776e61626c653a207a65726f206164647265737300000000000000000000006044820152fd5b90503861250a565b9350505050167fffffffffffffffffffffffff0000000000000000000000000000000000000000600954161760095580f35b8580fd5b8480fd5b50503461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5780516107b39161264d826129fd565b600182526020368184013761266182612c46565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a1290d69c65a6fe4df752f95823fae25cb99e5a71690525191829182612841565b82843461076357807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126107635781519182826003546126e5816129aa565b9081845260209560019187600182169182600014610b36575050600114612719575050506107b39291610aca910385612a80565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061275d5750505082010181610aca6107b3610ab7565b8054848a018601528895508794909301928101612744565b84903461027c57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261027c5760209073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a1290d69c65a6fe4df752f95823fae25cb99e5a7168152f35b919082519283825260005b84811061282d5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b6020818301810151848301820152016127ee565b602090602060408183019282815285518094520193019160005b828110612869575050505090565b835173ffffffffffffffffffffffffffffffffffffffff168552938101939281019260010161285b565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036110f457565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036110f457565b90815180825260208080930193019160005b8281106128f9575050505090565b8351855293810193928101926001016128eb565b346110f45760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126110f457612944612893565b506107b360405161295481612a48565b600081526040519182916020835260208301906128d9565b346110f45760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126110f4576107b360405161295481612a48565b90600182811c921680156129f3575b60208310146129c457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f16916129b9565b6040810190811067ffffffffffffffff821117612a1957604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6020810190811067ffffffffffffffff821117612a1957604052565b6080810190811067ffffffffffffffff821117612a1957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612a1957604052565b15612ac857565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b67ffffffffffffffff8111612a195760051b60200190565b15612b4557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152fd5b519073ffffffffffffffffffffffffffffffffffffffff821682036110f457565b60209081818403126110f45780519067ffffffffffffffff82116110f457019180601f840112156110f4578251612bfa81612b26565b93612c086040519586612a80565b818552838086019260051b8201019283116110f4578301905b828210612c2f575050505090565b838091612c3b84612ba3565b815201910190612c21565b805115612c535760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051821015612c535760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff809116817f000000000000000000000000a1290d69c65a6fe4df752f95823fae25cb99e5a7168114918215612dd6575b8215612daa575b8215612d7e575b8215612cf457505090565b6020919250603a5460081c16916024604051809481937f9be918e600000000000000000000000000000000000000000000000000000000835260048301525afa908115612d7257600091612d46575090565b612d68915060203d602011612d6b575b612d608183612a80565b810190613bdf565b90565b503d612d56565b6040513d6000823e3d90fd5b7f000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe84811682149250612ce9565b7f000000000000000000000000a35b1b31ce002fbf2058d22f30f95d405200a15b811682149250612ce2565b81159250612cdb565b73ffffffffffffffffffffffffffffffffffffffff809116918215612ed15716918215612e4d5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b91908201809211612f6157565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561318f571691821561310b578282146130ad57612fc6613e58565b60008281528060205260408120549180831061302957604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965282865203828220558681522061301e828254612f54565b9055604051908152a3565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f45524332303a207472616e7366657220746f2073656c660000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000730a5e2acebccaa5e9095723b3cb862739da793c16301480613322575b1561327b577fe73565aec678d55d0aa993e61b655a744e96d826ac79d4855f85605b0588ed4190565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527ff6b672ba703f5080fc51bca3bca30a1d83495413091811d3c7672434d7f46a3360408201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff821117612a195760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000014614613252565b9073ffffffffffffffffffffffffffffffffffffffff918281169081156135fd576040918251809581957fdd62ed3e0000000000000000000000000000000000000000000000000000000083523060048401521691826024830152602096879160449788915afa80156135f2576000906135b9575b6b7fffffffffffffffffffffff9150106133dc575b5050505050565b8251906000808784017f095ea7b30000000000000000000000000000000000000000000000000000000094858252846024820152828982015288815261342181612a64565b519082875af161342f613cf3565b81613589575b501561352d57916000929183809386519089820193845260248201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8882015287815261348281612a64565b51925af161348e613cf3565b816134fd575b50156134a15780806133d5565b606492917f5361666520417070726f766500000000000000000000000000000000000000009151927f08c379a00000000000000000000000000000000000000000000000000000000084526004840152600c6024840152820152fd5b80518015925085908315613515575b50505038613494565b6135259350820181019101613bdf565b38848161350c565b6064867f5361666520417070726f76650000000000000000000000000000000000000000878751927f08c379a00000000000000000000000000000000000000000000000000000000084526004840152600c6024840152820152fd5b805180159250889083156135a1575b50505038613435565b6135b19350820181019101613bdf565b388781613598565b508581813d83116135eb575b6135cf8183612a80565b810103126110f4576b7fffffffffffffffffffffff90516133c0565b503d6135c5565b84513d6000823e3d90fd5b50505050565b73ffffffffffffffffffffffffffffffffffffffff16801561379257613627613e58565b60009181835282602052604083205481811061370e578190838552846020520360408420557effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80821161370a5760025490808316818316038181116136dd57917fff000000000000000000000000000000000000000000000000000000000000007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef949260209416911617600255604051908152a3565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b8380fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b60ff811461386c5760ff811690601f82116138425760405191613838836129fd565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b5060405160055481600061387f836129aa565b8083529260209060019081811690811561390b57506001146138aa575b5050612d6892500382612a80565b91509260056000527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0936000925b8284106138f35750612d68945050508101602001388061389c565b855487850183015294850194869450928101926138d8565b905060209350612d689592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b820101388061389c565b60ff81146139705760ff811690601f82116138425760405191613838836129fd565b50604051600654816000613983836129aa565b8083529260209060019081811690811561390b57506001146139ad575050612d6892500382612a80565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b8284106139f65750612d68945050508101602001388061389c565b855487850183015294850194869450928101926139db565b9073ffffffffffffffffffffffffffffffffffffffff91828116837f000000000000000000000000a1290d69c65a6fe4df752f95823fae25cb99e5a7168114613bd85715613b16575b6040517fba5bb44200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116600482015260248101919091529060209082908180604481015b03917f000000000000000000000000036676389e48133b63a802f8635ad39e752d375d165afa908115612d7257600091613ae7575090565b90506020813d602011613b0e575b81613b0260209383612a80565b810103126110f4575190565b3d9150613af5565b50604051907fef8b30f70000000000000000000000000000000000000000000000000000000082526004820152602081602481857f000000000000000000000000cf5ea1b38380f6af39068375516daf40ed70d299165afa908115612d7257600091613ba4575b507f000000000000000000000000a35b1b31ce002fbf2058d22f30f95d405200a15b613a57565b90506020813d602011613bd0575b81613bbf60209383612a80565b810103126110f45751613aaf613b7d565b3d9150613bb2565b5050905090565b908160209103126110f4575180151581036110f45790565b60009073ffffffffffffffffffffffffffffffffffffffff1680613c1b5750504790565b6020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa918215613c95578092613c6457505090565b9091506020823d602011613c8d575b81613c8060209383612a80565b8101031261076357505190565b3d9150613c73565b604051903d90823e3d90fd5b9081519160005b838110613cb85750505050600090565b73ffffffffffffffffffffffffffffffffffffffff80613cd88385612c82565b511690841614613cea57600101613ca8565b50505050600190565b3d15613d4c573d9067ffffffffffffffff8211612a195760405191613d4060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184612a80565b82523d6000602084013e565b606090565b8215613e535773ffffffffffffffffffffffffffffffffffffffff1680613dea5750600080809381935af1613d84613cf3565b5015613d8c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f6574682073656e64206661696c656400000000000000000000000000000000006044820152fd5b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082015273ffffffffffffffffffffffffffffffffffffffff929092166024830152604480830193909352918152613e5191613e4c606483612a80565b6140f7565b565b505050565b60ff603a5416613e6457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311613f525791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15613f4557815173ffffffffffffffffffffffffffffffffffffffff811615613f3f579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b60058110156140c85780613f6f5750565b60018103613fd55760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b6002810361403b5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b60031461404457565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6040516141629173ffffffffffffffffffffffffffffffffffffffff1661411d826129fd565b6000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af161415c613cf3565b91614217565b8051908282159283156141ff575b5050501561417b5750565b608490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b61420f9350820181019101613bdf565b388281614170565b91929015614292575081511561422b575090565b3b156142345790565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b8251909150156142a55750805190602001fd5b6142e3906040519182917f08c379a00000000000000000000000000000000000000000000000000000000083526020600484015260248301906127e3565b0390fdfea2646970667358221220de5724325c7903d36b66d686d7aa7dabeebf6b3215ec2a00a5b8ce2360b8ad6364736f6c6343000817003303e384cb42cff96541e2d705f28464c5a271ff829c32582e60fceb78c2a602a528034d256d2d64b8ed05e8ca7b3faf34161a92629666c164af7e2c852c3ecb5b4e2203a1984e58f16e5070312ccc0ad0d6dcb9acdf41534c82b888e518714708f358de030e7eead33dc676c8c59bd5adb2f5d28695d1d872b2c3d84ff802cb328b8481c303d5e027ca3fc171f04bbf8fbcb7455f575853d31c9c2cc759865614c4c81553b103077e5709d245ab56b503f3b91f314dddfdf1300cb4931cdf6bda7445f39eaebe0329a8cabf8e9abc3261e887a59a2181f74c67d8d9e2315571cbff1d6246ebe458038ff4ee8bead844e59c6a39b74dceb6d0ab79765f73e10b0e8b539d8e1d1a81be0306ce987efbe77de41d960939067fb9eb06d904780922f379ebb43ceafaa0be33037367f402f394f942686f0be4b7521d17c936b5719e07bb9615bd16a9f27ecff6038f41daff993d1238c5eb384e2f5976108b5c4f6f98dbfc798d174e468ee2a20c03acb9a00b2137a4d1cebe4a34b88267bb16bcd741367b7d9c2b8497d90126631803a32d6248588ec722c62f5fe8a492ffc5891febbef9ef78191439efe42f8d015a03829ebe2cf7dec36a1eb9d6009aa2dfe760fa8a9314e18c00a987a12b00829bfb035ae5c7867a456a29caebff1f809e79e9279352c22f59897c1275f7b4ea6465b40323a73dd8d810f76bfbecf968591870eeca3988656b7ba3e4edf068ba134962f300582003c05fbe6ebf6bc902fa606d97221dbe50032c04cba5bbdb2d367380d4f33680476a07a1db82033b00582003396da3a9634e7f83d474bc82ae81f17f73a2050d5af100f53018b3d769d0a0468b68acf3b7a7005820035560ef25871b7dc66ac7071f5ad1ec0351d78cdd75ba5a0b77d5abcac8ee205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820038be24f245e92b71989d2496da05b5b307ae928dce6ce9f771df3caba86c3b0473d92bc40c3640b0058200346bdff4310327da1731cc4d9274730629a5123966f067b232ffed911708b904764dfbf4c087aae0058200344311af77e7af11c7faaa69d0e977ac80cd9f55880b556db1126d71b6313705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219487203f1cd4fff38f366aa4d5c16713f43915ec4f03a3d4eea632cdf105ac05660d3a803c243e7b78178a6b14c0e7368d17cf6da4ff5a19c18f2098e52af794767389bc0039e9ca9c8588bcc33f66cbcecc6040dc9d49527e105ccd75270cfc650db586ab10219ffff0311bcad906f081d71b151640e8d236b8e0bf7ede8f0d90cec4cab752437d01c810332e69d312791c270d533a1e23f29a0a5187accac7326cd393b6d2ed51023df170342a52a36f5837b12e8a665995bdd80f7a3bdde89352e55577dc58135fe2c8bb70328ee0311e8d1c76e92f93794653940aff1888e0d9d06d76a49de9caaf1e50cdd03abeaf264c7633b1775f0bbb67647c4362e54b74dda944672e384abcc7907386303bd028dcdcf076de27ea0f29f84b68a64f681f52b86bed1a6492d4721286333b003c479c5341bfc96a8308a5ed82f8e0a842cae979d8ce555bb9f973f6dd018c7bc0348a1353f11b672570fc10bc0e4ec104c5b81be492b7964ca16dbf7e88369a5ae03ca6c67ce9476ed84736687935c3a7b37c0e86f90fbd9733ea04693c2ab790cef03f0cf9a8056b083825d901c7761e60e99c9d846d3d0cc4ba0d7f9686e0b173e8c03528da176707170f5e7b7705e6b64d7cd8c21ed007190fd1c0608587c55d4011c0219ffff05581d02d8fccc9929a6e2520a832c44cf40d89424c8fc2cb17a59a6af9be524070119431d0219100403ab8b539f516c45f74a7d4cbc1c988c0aee319b31bb8984e45fdc5a6c0220fe8a035a2f42633c203d5215cc36a5145583e5ea4b156058debfaea2f4b11eeaea430d05581e038fe817ac09ef1e28741c786ab81f136527884afa1462a799173ab19e800c190159470e000691261a8805581e0356df3de982a97a5a2fa8cf66e9ee75f13f19481c979d44ce70b67e02300c0147035e5a90d3d00005581e031f33cac461ddd864c378454890fdbf61062504b17598ee54bb1ee64d20040203600eb3dad39f261248e7399b301acdca39eb414737b8c35832879438751a3ab1035177bb1f0487cdb9e20ae545d604e409afe7a045dec2f5fbd44aed7a2249a12c05581e03e20fb913e3a27bb6ed78e022ee4d594728a474eff3205572b23969a03004040357753f3721437d170d834ab7495f18199cee7647a213c2719a1d9a50342eedee05581e03417f2f3a5a3a3f8089d9f4a031544eb532c9419494388c81268be5f28004010219fae3031aeec8ccedb2f90a96759e904b45b15dc6c01f98799d036b024ccf2807c391cc0305688941622a3308041ca390808892311d7d8d6edbbecc12dadc7430f6bb83bb0354aceac7ed65a48a6b41d42f03e33d6c0f98f2c2736a8b0c53faebd208ca55dc0317e742c74abc7d600bdbd012a626506ad2a2bb0f2aa463140359063f302c916903692b95ddb972fed253f51807b4dde0ff88db356bdee95891796987a1e9a867720219ffff03f3ad049d0baba2d50726b02e1bbea33b320719e322cb33eec66720ad83411e3703570e41dd71764271888a92d69089f2bd3c37e9117c43e7d100ef7862a8adcf22036b4af4623f433447c9328c621b10dbcb4a4442bd8d70a3381a86df6eb35079730329dc3d8b6cf3b972cb51723b83d3f86e45984a5887ba2ec280c5bdb991ce5b950371b2c48d2268db3323f4f717ea767eeb0653b6b802a8138e4b15928946e02bc3031b13cd53071c5055a6c32efa738cb22c21f01d6a351625a6c21cced19dd098120219ffff033d667aaf4960906891c5f0d8ee82cfba1433ab24d1d74ecddcaa13fa6b0c411e03db67235f6dac75a7facc7d47d288efc9bde5959e2c03068b2ba68dfd80e13ff403ed5fd26d3d5a4f22a3d3cbaee16783d3a8d1de96f9af84f5da594875219a4bdb03b0459d39b158dee5446e43207c59ef77fadae9df3f10c6b41abd0c7fff6642bc035781678b4b533095f3f69005aafe18759a0982f3ba4d26160b846fa806faab15038c978f70e82ae771baac0b10b80af2f2b98693bca9d4e2b4bce977432041242403bd17a72d85ce4b7a26dcc3d2df37508629a29767c0b63557675207ad682b46f103e3e55bfdb42b715e61408a1c03e388d82402e707cc809eac62ce1902de28800a036ece110c0b669b2c2fb6ab80893aa401ca8221d0c2c96262e01d83f0b6d60469033ae908a23d54470a4a64ee6d495a6bc034723a2f7e7eb757da6e9fe648cb1b00032e9e0698b13c54390d32bcfe1e7f10caaa75824b3afa9e955f28e36623c23b050219ffff039863681af2217de92d545d6795d26377e618d56c7ef89d9dfe5e8bc5b557a71b036b89c76ad7b24c4c22ec4d7b8c99b8c9f10d4ce3c18d0d6d5a7ca51377a04bfa035b14c67421894b7d282a95bfa8db9a56e1fab36e6995f8b889faabbf7efcca5003e2e5160556ade4c78ad0d1e1022a2988b5ad7dbede03c32f4eb832e59972919c0346db25811cf00ae3ee59553a3a680bfbb91af5f789e2d29ee8b525a1129e3c29032a6095797ff16802e6ddaef333c3a0599f79441a7ba44d49ea264f75a41a76b503e9d13c5d6ccdb89e36683014fb6c5865cbea676000f2fcb0f7e1ccc22ac26ca703ebed08a4e12b7b431a3f4c3ad04ee28aacb9b6b7428a9a10607dfa3d89cbc15303934bcfefee0d329cc70ecb9f0b1cacf06b49b68e0e51e9dd610d0f78cf2dca4c03f01da8f650a47164123102b18503c65d07663acb4c47a6ee8d9cb2eae0d0e9ee03c60df8bfac9e6c725a24f10bab1dab8e16f1fcb57f59d35bc82f4f68762cbc5e034539c4e21d052b711ee8dc317781476bc90ff9a1e4565d7d6ec0945241cbc2f003c2dd0c1b37787d4b49ef1d7475fdab9cdb8b74715eff1a32734779476c55e245035c9fdfe5991d3c5745676ee5acbf2796bcf4ef490cae7bfe22a3195aa0ad5e080219ffff03f59dec8a0cc5be185cddf5101cd22233a7b35ee3ccd48fc2ccc8283d32f4ffbe0384fade67527ca80fbf539f3c38a444a8504f9e330ef404200f42b7dc36f0572f032398474bad1b06845b1bdecc5081daa4d9d7492275a7b89df7208564cafffab8039162d4d7260a56b299ab3cf4cc21fd57a9fd9c6ba64262034694487b18c53ba7030eef56a9a54faa6eeb7cf8ab2589f36398452203a15c00282bf246cadbfc71ce0340ea9914a5116b796aac8d59c67d23d61e6fe32f10b10dd321dd8d73379a6119034b27115144c52f40a3ec16c6d3172bbb6b076b1c9818a4857204ede07f7f50c10396418bc0ff7a80b706edbf8167d93a24f1a95c5ecc42d22404920facc8d3bfc7036eb5aeb8f75cc78b6b5ea79345968aef2353aa805f4700338fbe28cfe6f9ece103a5148fc3ca25c2da219ba3ef94fb71f78ee70b29edff989fb3e5d95266c368bb05581e0319861df94c92c27777b2a6c01628dcf02e2ea028b0420a6b534c279ad0040103630963579ef0f2a9adc5d4e49ab13b2af54fcec0609906648449980d4888b4840349ee1010f2395df215f3781fe5868e28896bd91099e1dc356b2f87f4df7cbf67032e016be7ae3cdee9d1fbcb2c6b0b911857e440f7ff01fa560155bbcfd317b77b03fc2adfaa9e6a6be380a58823527dae79ab8f287270d83c04441fc572153b62fd05581e03a18cdf4fff05df404d86236e33dee15d7a92e3708ca5991b33565668e0040303245cbbf3357b794e77735c403b23cf80ad6da014361d744872e6a130f2cb2b8105581e03fc7ec598885a64e08113ebdd2a5b7e22f144671845c1d210776969d6700c01470270b10e17999505581e03ed1b178042613b6a1834a7fae1a49fe076ffdca1e1a1cc17b093e93b800c1903c348051928c91e16ce2e0219df9103718736091c8084ed4390a61aa5afe54544d3ff04c0b20dc79468aaeac4b0240c03b8b37c7dab61c1a96161b5c934a200304a30afb9685d775ab26953765e7aa1f203833280c71d4b26000f31053a5cd0e85f8e91b5ab32763d3559249fb2c61d5b250371aacc42e58e399b4cbdb1040ab6358a058198ec4e20fb8723bb1f77b8561cd4030a3f03aab3d7ed5577d9912ad934d10f277981cd00dd0cda78b624d19aa248de035c01612e54e66d3c35c23786cc52baaac8d9547ff9168e97af479cfd7982a6600301367604144eae36a5c2e729b9796f3ec2f5282c92f7691ace82f42451cc3886033f4107b2cf85ed539c78e6c3d94f7eff8d435a043fa36ce3661abf7d7b8990e003bb418c9f0cb2b308d8e33d7f4bde78250f20721cf716d317ff16f0a8ae4e25770382caf5cc51a4681d50e208f9ffbe84f894d167d1ae61107db2b2476ca6309ee9038737a9086c2b4b5c93ce9f24623991e6c2a5607d7638f40d8b03a27a53741e670219ffff03afd08aa41cf8609097c9fe6f94f7a72afd169f54ba960260cc7bf5c883a38892039578e8ce39403621078c641cf0108ce542eb8836584bc5db8e06ec24fa8ad33303bd139e26a9983a1d9a5d7c514a39853eed06d6eb199e86b87700139699a8ac0b0381f39c72013292429344dbf73bf29c18c9f46e121fa907789458e8e78e8e273d03645779969a7ae684e95ae956b28d3c431dbeed1c9da0185c5becf7ef7d3f8f5003fd2a06734516e62666b532d4916688a894dca7b13a2e53961a502e7694d3ec6b0399880bfceabe9051f0ee32ac5ea4be133c4cb338d802a3e7fc645b965b87fc0b03bb2b37e17787614520d37cd044b018b29e165c14387d9a6a563755c148a65676031d9950bab2aa63ba67719fb1f59276b1e7643e5097976dd405b4b1de1d8e07290301906feafdadeb1d6f71c7e866f5c2ebc0c0b310dfff63d8a88a1d279cd9dcac03b027bd4085faefb8925ff5cfa7417cdb82b22c0e370b71e67dd2ae6f695147ca0388ec158b26dd3496edff359f51ba65ca3df97deb79c4b980758d0680147fa5fb030c561ef4d7267e79db5ea1a117b6d3140778f6d2c06a70d28dc3465c386889ad036e86ecaf89a8d50cf201e20854868190a9f55dd0fa6c7787e9c45392eba3b0a40219ffff030e82026e8dadfe7ccd19a64e5bf28affe31e8fefc20d81e8b5eb22054355785b0365c0cf66ccc9e5dfb003440b49fe61df506ca4becef8bb5f85e830207aa4ba0c03b394c6f32fe917f83db7bc16ac828f9ad993695c581543fe248cafa2e80eda9a0385d9bdc7288e68ced27f21514e2f0bccac929718dee685f12a0cb333af72710a0310ab633eba797dc0ea8acb74f14a57721f28aa413a17c65ed06cfc60e21857e00325af98700cc7d01f56a86f9691ab48b4a602fbc234e09544e6c875f795cc47c8035c3a8e6ad7399366500481878f96c931c2a87bd14e565a9dece5091ea5df77b60392c45bbc2246e7fbadd179235e2f7651d6058d0f7e6617f2a639bff8cc291d5803d45cacae6637d34f814916244ebb4e4d82cb5d91c02bc3df06e2e85f66b1686d0322ce07ae38fa79b44cd3fdec9ee7cba716ab65e4760a285bd34924d3f971527d030027d57322d73229b12d5b4ccb93488f9692ec0e601b2c1799dd251f6bea36d60219ffff03aa48942dd290b4dc2bd4ca505ff5575af389764b092cd35d20a51aeab9ac226603297af47842cff31e923e6b0097681ad5ee0d114c23161a4fe084a008c6d61cff036b1827b0aacf9586df1bb23be76e9e9882e42925cb982e69fef26c3a85babe7f034117c78b3c776b3b86d0827eacbef6d9d479d0b164fc26b5860b3f9bbc0b368a0304383b5e61a46704f634e804338017cfe9ceeb33ce52eab668867267fbfe97eb03e645ea2e319d028e2251c406746e587425b7f8aced8913cc033de92f88a554830390e02e46f16709ae41c815950d81cd2c7541b906d6bbc4790d13ac909996822603a4f7f0f6762ec69013dc54b8c37b27d9f66a9100ba7708bb2eaef0c0f11e0e4f03f983f4506f7a22f0e46a7eb093635fe9f163cacb3cca8ba4998c331d31f6df2f03e1e1d5af2484b5e98396fc8e5fe1800cf1956e154a287b78b13fbb2ca4d5d37403227e1e63a9d7ad3f6ffab0e6c1bf4d981975614b094b4298877e94dc698b0132032140714779eb867f2c7a3a6f813631d0244bee9874df2b9087f6aea3c7c08ba703492d74be602486c13d5c54226517de89b284856f59c441597433623f088613b8032a152a4b37eaaa0a3ee7ce2fac54b193b1d6d5962babb3b37de8f261b6a76e4603db0614c1a73beb2b1307e071c4fe03baebc7edda157829603f817317d36d74fe039c67416c79ee7cb4febec04702cc4ec83cc047a67c86de0460350b68d86d858a03c93517f3fddf3c0bb0fdca23b45f85909f908845799f175d0041fc2ffb3ebc68034e9460e5c8193c86585ea15adb526d88a8bde1fa42bb39142c75c0c461389f4c0317b55a6cd2e6d49303cbf007b25e3744cbd2d82a9b24159c89f6aa534c4b47e003157f6b9eda6087e2c590f38a00e589b14de5da0d4c07740153b6b30bb7876f4f03ece0994f17d3276f3a8ab9edc0c138716132ebc35b1475a572ed099c58b1e07a0305ba77557f8ade3a2de8285e8fa3696497c88ca4338ee424cc3b272d96dcb0c703ed4294f09f2255d540709ecf7ab73c5f198c4e7008173c8a56137b698472744e035178dc02cbf30445f8ff8131f99e4e18becee045673cead89c9a460ff1adfb8a03b04e9aa356f9d8d1f6b1c5bcd61924e6988c1d6501821b651830c1a30b281c1a03e1d3367a0efbcf3321c8d7bb564593c93baca00045629f5753f1bc5065be735603eeac1a5774cb1863585237f2eaed7005a6a9e18316b41d6f02c13bf77590d93f0367dd0bd7134a0654d57d1ed6f9a03ff3175e97ac3588a6205034afa63baeea0803e0106f2293fff1d2e25bf4d1acfd04ecff85cea64d061826c9a7230035edb29605581e03dfe41bc540d9607e00c5588106cfcda261c2f0f221ba098de4ea3ad8600c01460afe7037b5300334e7cd946d61b06825d2e4b3bc7de71400faed3759dbe0ecc3fb0a32a390eac50393d036692f08c9673d5dfa32c63df53bf2654e3d3f5e7790114f2dcb826f4007032fd4b8c46e3aac49a007aa49c0eb01c774d81d3f7fd825d0ea6566c05e8e3a4305581e03c6161ca14e244b044d7994f8625e6d5554a894d81a8961851fbbe27e1007011bffffffffffffffff033dacd5ee1305d9ba35f85f3a4824bb29845e8b79ca3df1d6a89ffd517bc5379305581e031b8308e253821263796fca639abd6568feab27b6a1020a0c14ac60e2a0040105581e03b9b62f80da3a883deede6f6b03cc950fae7700a6fa33a2845926041d700c18194701463e5fe8d61005581e032d5bfbb7cf1b1a684ad190d97c75b927be80f838d918ea1c922ff2db70040203c21afc3bfb8a8ee6d0d62fb6bd7a71d7266b92490140e4cc4b8071e0ed4cfc5905581e039adbf8939b180768e3f9f342f15e565d2a1cd902a00c774f230c30b460040105581e030e4a1b4641288dfd03bb71612fec13eb8927dc84af524ef59c964d1740040103391a879fc2f555f55e486de2c1f676a34c644654b3cba175b67b9c6b0301d84105581e0323512bdb553bfb6c17fe66f51b79af2ea007f2e8ba281050f4d05507700c05470c18989146ddec021974ff03d86c61b4d3f2a676916514de5d8aff892d91edae46eef5de1f7711a786f0b3bd0219ffff03ab48076b16dcdc0e1b74aca34c66b02f9bd2d442a2e716a5c0903f3b198fa17d038ff706c9f1e41e85b0ad9c3ff23f574453cd191911ebc36652149708eb6390e503bab8e55c0f11ab8a14046681d94ffe91b3e9e7575dc309f77ad60c7275089d2f03a7a15747361f350d02deed570454cfac154a04471280d723ffcdf77a2b6f50dd03ae4f70a40430fccdfc1e0425161be2965111bb42e5ccc7cff29d3f7a1dfad101036c449e56df3294ac3df46cffe9f6087db2848d9b843a7b87e216426d10aabca50219ffff03a0f3320db423d1fd25ec793b2421ddcb9cf81a8ade95e9fb5f64959f23ccbe5903e07902bb63561fcbb4cc4d6a40d58ed86a698a48c2a8dd17082090a1d078978e033bbf46a7b6ddce867dec3f6cf3fa6216a78e9b59c04dbeab42b647b531fe8d380322806de5a5d73d1beb0b48c0e4f013a6af9dfd636918da0c9e0baa22e82ca05f03dd0cab98471f083ff610f8f9df6fc14994dca75230c9debb38541549705cc3440384fa741d51713fba12e0b6fda6afbaa1d8d17b60254b5ee28a6353e698c304f40308b1f1001d42a392963b20d83a10cb8ace5c41aeb02dcfb043fe25b1955bb935038185577ee2c957bed978c9ca2c052bb61169b02781c025f32830ad1a3fdefad403dcb239d22c5e412f26da6f5826be5ea3b2376796d5a97b3c45ee601490c78554035b003a848077c814bff4b365d7e0cfb21e95730beff5585724054d36d29dddeb03e869caed32e3f26ea5a8cf4e0da7d9d905be87b4f2dfabecb97dca04d4015bc3033a035e65effbdb99821af1b68f462f945f9c569a4f0553ada7ec15fa701585ee0344284e20508eeb967591d597a19bde78fc3ff1c9db3c25e7de7b7a8f3d44e4af035cf57b5116865fbc136061e1f2459d4b9f85653b646cf2a567fbf16e28c73ae105581e033a39ff5a1dcaea50a1d7dcce8b7cca885e41625f511dc46bf46fd6db000c0f4742e3bbe2fafc5b0366345330149afd48d6a3adb7f1cfb2f4185998e9ea9171cc509e44df4cda8eaf01410403d4819d6448fed37eecb85a01676214ed4033f18923875b2d3fb851af8b929dfe05581e03203fa42402062d7f0eaf597099629a91d33fca0249d8cd28a23ec4e4300402039d77752750e891ce3783193528d6254b74a54cb730c74454b6df1622c610439a05581e032f5e231fff3d70c9dac4a494df4bc035778142ab59bda73958636c65200c0147031bb787b6c80003ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03bca21350c4729dd0e400d8d37ab6cde77ade68389e89c7205d754d56f007011bffffffffffffffff05581e0347943cbeac34fe056a3910d546f92a55a609d88e105635c3ae9f5ce1b00c19010e480e540b146cf60eb80219232f03295e217a3cedcf13db91cdb6c7c69fd57dd21f5495d8d8be5abe9085ba2121f1036aa14e2415f8408470670df651e6e8d7b0a11f7100c628bea5c0c49e753d988a03ba83222330681c3df5ceef851fc17b6fe6cfb26db327712d7836f2c220a6319f038737574c0183a14efcd265229af0f463ba621f22bbe7fed037ba344f8d10d067030eb4059964637cd0ae3eab404f0d4cf44635a24bea9502d98ba53403ace5988003f9c46b2d35b1e0d444fa8d17fa2ff59f4813be59c982b012695fd4a15dd7255003c450d4b999d4925b182bbb01f486e7c2f1486bd4d57bf44056d8229553835aa703e163f34e0842ecc9b4ded6973bbed19e666346a994549ee366f532853f3eead80372e363ff863d6dbbeb28ba883b953f047558e046150557d95d2b17fb3818d9d203a31041522377cedc0ca16b60bf3b5e8b7ddf2f6cfcd924914e4d975af6b08b92030e3770e801f21201324a7945c9f695e5a0be478c6241dfcc6ee98fdf00bbbdd303ab35f0da6afc4d3e56620d9d1ce4cf72c18f312e77d3a482340fcf4f0faaf61a039df59e2e9bf6a54a9e7991befd1e18a92559ba7fc6de0a568ae9a35d16e6e61a0219ffff03d144a1d0945f56176b10169fe7734d89c80f189ec05dad8959d697626e53c196036940a9ed9216663068ab0752241bd9f3f4db4c0a6ad163be7595eff0ffd0f521035458927ff55e36632c864c5b4bb387a8137d5cd64846cdb89d4fe8bd915a371203ae282e008e42315ce27213193e44166ae68a63dd779a3dc11a43430f310368e003936623474c1566e977dc0c56a5864787e4572b8c9158395c4c00dc36f3466a1a0370e097acaedd9a525cedd2e3f0eefd029f133a35c2cf16fd9b1e298b8f436993036870509981896845753cc4af771337b59c8d4887a8c54a3d2b70bff894f44394035d169e3e3afa0f9b5cfe7e8eccfc16d78e345f83c1cd70af63725fba244ac846030ec449b40b183e633570ebd488855252c36f5d313dfda1b226bdd74cd858003203c12b3facf16a2c218fcc8bf7e4cfb25fed078a849269581fa2269d38e310094f0219ffff0360c0240dfb4749a1ea2d41cc4439cb05e93d4abd400b66f008c149e8f28c14b80338067e3ec81ca5caca5d6a0673a2bcc800c8d124eedfd20ebe4ac16d41dab06a0389df880873398fa8aecf9f871f7215ae9ecc5e009f4532cc5958a52a3c2a39aa03e4c1b01d14a5d42fa4cd7d58c5632097914711c1306c509b4ed5f49c6733e4bf034fa72c1e8dd9aba2a972bae947b5b1899ed5aef27f1406d643ec276b4ed45a9303e10bf9035b5b6fc7ddd48f318df07e529b2ca0a1787d83d7b2e438c2ecc8d2fb032775d2e5fb3c911c338661e344767e4f911d341f059496f3827979b3600122410219ffff03d77ac4951b1b85c87c6c18434ef1db61b4d51a04523fe9fd49036dc83bf9a7d2038c6e8ded97a99209ecf96971a30d9bf255d3ecc279556557c0f1a52f3fbcfddc03fdbb91f071f9bca5f534117f95007b6905e85bb098f8ab4552f11420b25932860321425fe85aa3e52ae5aaade18862cb6081daa1eebc88ea31acb846e8a455cd9303ba917564c087891dcb1417a3f576d4c19a84f42847483e6d6fa66cd9db8abd48037b4402f334ac22df9619fb708774d8fcbd8e5b72893315c70eeed9b45a2e00b103032e02e6c505b5a017cff4ee8f88c94fb6c6e7f6122f4730e35ad0f37d6ea3d8034c892e765e2f9bcb0aba135fb5f93a8a6d2bd95175a367cc6405dfa38c13269e0219ffff03d7206e711dc1fdeb74684b84f16c4f138e939e9344fb22fdd33fcbcd0a6f2afc0308eda152ccea501f62e861d35f9cafc385df4bd78972be6cc998df292592ec83030dd14b4afd301bd65950c3ca4c3e19f1923c8543bc65b4e30d70ac2314e7c66f03932f1c4b054240781bff275b14727582b507abb7fc14da35a3373acf78c1134d0384d398165cb41c822abb9236b8ed2aa5631ccca90612cfefd998c6e274f9020f03c69a2900e73d66f7f5af40078c43ab02c0299840d66b6499374564e29adbc77703fe3f7e1e3ebf611c17f6d51cbea66633785300dcadadd118524620fc9da4bb680337b3b22926a2a426fc37ad934b807055f5001f68fd212582fd066ee6c73a4c8903a2eaff0760b5949a8bef37945c03204b3e30ecbb20560e1aea18c68ec230baee03180f01dcb67234d0ef96dc77d0db14dbcdf23d2b1ee98a1be6287ad8c378275303e65f0e61692779570b42a6a8df762021ffc6a1531b1e5278f48640b8b63ac7c303e6481d20a8205dbe33230038bd95f55487178db2243f85d5bec2942dd7c292c3030febf8a8c8f9542711898e815a95d50b1049deea85acabb1be4eb8fd5dc47adf035b8cf2a9f5a10b6a1b2a8ba43ca3ffda86e9c9261797dbbbcc3646ad34dcae23030aba86d0e035df2819d43db0600e549f5aaf95e54bd02245fa19b8c5dd39d8120381eb1a658a31cbe56e8ff4d1e7bd0d8b5c4ab116f05c9571cec36187eb5fc81903f1ff7ad819f59bdd5cd1140a9053a9ce4752a7fb7b62e450fde6d8919a4aa64803843aad6b942a61080dd8abad89a3e8824bae4f235078ef88c58cbf2db398914f0300640845a55e864fc2b3d81754d761f202079a74d5cdd379f167a4e18adadd56037d1dd570286f74d17c9d0e89196c62d52b2dfbe6ea0cfbf11614da5db4abd6de0310c90f5902d0659eb4cdd76cbcf9de08620f294b696568309ea71977cf20f88003b20141e3cf9b92de517b7aba26299768cee5c561994dace09d873eb0c248b7a10398935cc3c51259930b2c6df12794621156c099ca7027ec8f1cf6df0f15fae97c03223f4d3fb12ff9c69507811bb8753efb229a6c221b20f236d4a7cb7ac944a566031e9bab3c6a075820d4a412d0ab425b7a5fc7366347a57f361d9128d7843bb3f7037b5275e871eb1cea85979694594c494916d3f5c02ef9c8c09937d2ec930c2a7b05581e038c7ab886cfd77ffc61b8436906b5a1e54a48d8f734cc544b55e3ad65d0040105581e038a0df747851c62fabab904ba64bb419ccde08eda86e77da9272911f9900c0147083271c31f80000307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e0375e291abc5465c69decb61d916fb78fe5f09b714f90a212b7e042e297007011bffffffffffffffff05581e03074ab9607e7b7d8a003c26fa1ab31dc9cc8d31d85754ae6e510f10c1600c13480c3f28616ecfd1e503b7850047a5b3014ef798f5d15084dc331604c7707641408f3cbfc9e93463d84703330b4058380e770173cb94f7dc96b6172a2e1fad9e58771cbce51a62689e80cc05581e037b566d75034e5a4213f726c0d5974b876c2be20fb3eada8cdb6ce68c200401038fe42b7b9a647314c739f3d8b96d3708f0158ad247615fb49dfbef24e11e20a303c1e8dc0692caa95d5e400abda5aaa8fb85af429b6699cc8991699aa3ae436d0f05581d02990e855eb727eb817ee73597bb478ddf8058bd37c9017b78645dab0207011bffffffffffffffff03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581d0288d4dc73d7daad13c399189a92b74de0ca2ad1d506154520b0768c9e07011bffffffffffffffff04591ed1608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de57806395d89b4111610097578063c3cda52011610071578063c3cda5201461036e578063d505accf14610381578063dd62ed3e14610394578063f1127ed8146103cd57600080fd5b806395d89b41146103405780639ab24eb014610348578063a9059cbb1461035b57600080fd5b806370a08231146102a457806379cc6790146102cd5780637ecebe00146102e057806384b0196e146102f35780638e539e8c1461030e57806391ddadf41461032157600080fd5b80633a46b1a8116101305780633a46b1a8146101f557806342966c68146102085780634bf5d7e91461021d578063587cde1e146102255780635c19a95c146102695780636fcfff451461027c57600080fd5b806306fdde0314610178578063095ea7b31461019657806318160ddd146101b957806323b872dd146101cb578063313ce567146101de5780633644e515146101ed575b600080fd5b61018061040c565b60405161018d9190611ad2565b60405180910390f35b6101a96101a4366004611b01565b61049e565b604051901515815260200161018d565b6002545b60405190815260200161018d565b6101a96101d9366004611b2b565b6104b8565b6040516012815260200161018d565b6101bd6104dc565b6101bd610203366004611b01565b6104eb565b61021b610216366004611b67565b610571565b005b61018061057e565b610251610233366004611b80565b6001600160a01b039081166000908152600860205260409020541690565b6040516001600160a01b03909116815260200161018d565b61021b610277366004611b80565b6105f6565b61028f61028a366004611b80565b610605565b60405163ffffffff909116815260200161018d565b6101bd6102b2366004611b80565b6001600160a01b031660009081526020819052604090205490565b61021b6102db366004611b01565b610610565b6101bd6102ee366004611b80565b610625565b6102fb610630565b60405161018d9796959493929190611b9b565b6101bd61031c366004611b67565b610676565b6103296106e0565b60405165ffffffffffff909116815260200161018d565b6101806106ea565b6101bd610356366004611b80565b6106f9565b6101a9610369366004611b01565b610729565b61021b61037c366004611c45565b610737565b61021b61038f366004611c9d565b6107f4565b6101bd6103a2366004611d07565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6103e06103db366004611d3a565b61092e565b60408051825165ffffffffffff1681526020928301516001600160d01b0316928101929092520161018d565b60606003805461041b90611d7a565b80601f016020809104026020016040519081016040528092919081815260200182805461044790611d7a565b80156104945780601f1061046957610100808354040283529160200191610494565b820191906000526020600020905b81548152906001019060200180831161047757829003601f168201915b5050505050905090565b6000336104ac81858561096b565b60019150505b92915050565b6000336104c685828561097d565b6104d18585856109fb565b506001949350505050565b60006104e6610a5a565b905090565b6000806104f66106e0565b90508065ffffffffffff16831061053657604051637669fc0f60e11b81526004810184905265ffffffffffff821660248201526044015b60405180910390fd5b61056061054284610b85565b6001600160a01b038616600090815260096020526040902090610bbc565b6001600160d01b0316949350505050565b61057b3382610c72565b50565b6060610588610ca8565b65ffffffffffff166105986106e0565b65ffffffffffff16146105be576040516301bfc1c560e61b815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b336106018183610cb3565b5050565b60006104b282610d25565b61061b82338361097d565b6106018282610c72565b60006104b282610d47565b600060608060008060006060610644610d65565b61064c610d92565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6000806106816106e0565b90508065ffffffffffff1683106106bc57604051637669fc0f60e11b81526004810184905265ffffffffffff8216602482015260440161052d565b6106d06106c884610b85565b600a90610bbc565b6001600160d01b03169392505050565b60006104e6610ca8565b60606004805461041b90611d7a565b6001600160a01b038116600090815260096020526040812061071a90610dbf565b6001600160d01b031692915050565b6000336104ac8185856109fb565b8342111561075b57604051632341d78760e11b81526004810185905260240161052d565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590526000906107d5906107cd9060a00160405160208183030381529060405280519060200120610df8565b858585610e25565b90506107e18187610e53565b6107eb8188610cb3565b50505050505050565b834211156108185760405163313c898160e11b81526004810185905260240161052d565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886108658c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006108c082610df8565b905060006108d082878787610e25565b9050896001600160a01b0316816001600160a01b031614610917576040516325c0072360e11b81526001600160a01b0380831660048301528b16602482015260440161052d565b6109228a8a8a61096b565b50505050505050505050565b604080518082019091526000808252602082015261094c8383610ea6565b9392505050565b600061094c8284611dca565b600061094c8284611df1565b6109788383836001610edc565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146109f557818110156109e657604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161052d565b6109f584848484036000610edc565b50505050565b6001600160a01b038316610a2557604051634b637e8f60e11b81526000600482015260240161052d565b6001600160a01b038216610a4f5760405163ec442f0560e01b81526000600482015260240161052d565b610978838383610fb1565b6000306001600160a01b037f000000000000000000000000fe0c30065b384f05761f15d0cc899d4f9f9cc0eb16148015610ab357507f000000000000000000000000000000000000000000000000000000000000000146145b15610add57507f54797201ea71c4c3a2408f5bc5eb63b68b8f3c2762d11c5837928e9b705a08e890565b6104e6604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f72ac7fc4502bcc7024b64a85f70fe7216dc8dec470b08d27ce1f1bae1fa1bc31918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600065ffffffffffff821115610bb8576040516306dfcc6560e41b8152603060048201526024810183905260440161052d565b5090565b815460009081816005811115610c1b576000610bd784610fbc565b610be19085611e11565b60008881526020902090915081015465ffffffffffff9081169087161015610c0b57809150610c19565b610c16816001611e24565b92505b505b6000610c29878785856110a4565b90508015610c6457610c4e87610c40600184611e11565b600091825260209091200190565b54600160301b90046001600160d01b0316610c67565b60005b979650505050505050565b6001600160a01b038216610c9c57604051634b637e8f60e11b81526000600482015260240161052d565b61060182600083610fb1565b60006104e643610b85565b6001600160a01b0382811660008181526008602052604080822080548686166001600160a01b0319821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46109788183610d2086611106565b611124565b6001600160a01b0381166000908152600960205260408120546104b290611290565b6001600160a01b0381166000908152600760205260408120546104b2565b60606104e67f65746865722e666920676f7665726e616e636520746f6b656e0000000000001960056112c1565b60606104e67f310000000000000000000000000000000000000000000000000000000000000160066112c1565b80546000908015610def57610dd983610c40600184611e11565b54600160301b90046001600160d01b031661094c565b60009392505050565b60006104b2610e05610a5a565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600080610e378888888861136c565b925092509250610e47828261143b565b50909695505050505050565b6001600160a01b0382166000908152600760205260409020805460018101909155818114610978576040516301d4b62360e61b81526001600160a01b03841660048201526024810182905260440161052d565b60408051808201909152600080825260208201526001600160a01b038316600090815260096020526040902061094c90836114f4565b6001600160a01b038416610f065760405163e602df0560e01b81526000600482015260240161052d565b6001600160a01b038316610f3057604051634a1406b160e11b81526000600482015260240161052d565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156109f557826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610fa391815260200190565b60405180910390a350505050565b610978838383611564565b600081600003610fce57506000919050565b60006001610fdb846115cb565b901c6001901b90506001818481610ff457610ff4611e37565b048201901c9050600181848161100c5761100c611e37565b048201901c9050600181848161102457611024611e37565b048201901c9050600181848161103c5761103c611e37565b048201901c9050600181848161105457611054611e37565b048201901c9050600181848161106c5761106c611e37565b048201901c9050600181848161108457611084611e37565b048201901c905061094c8182858161109e5761109e611e37565b0461165f565b60005b818310156110fe5760006110bb8484611675565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff1611156110ea578092506110f8565b6110f5816001611e24565b93505b506110a7565b509392505050565b6001600160a01b0381166000908152602081905260408120546104b2565b816001600160a01b0316836001600160a01b0316141580156111465750600081115b15610978576001600160a01b038316156111ee576001600160a01b038316600090815260096020526040812081906111899061095f61118486611690565b6116c4565b6001600160d01b031691506001600160d01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516111e3929190918252602082015260400190565b60405180910390a250505b6001600160a01b03821615610978576001600160a01b038216600090815260096020526040812081906112279061095361118486611690565b6001600160d01b031691506001600160d01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611281929190918252602082015260400190565b60405180910390a25050505050565b600063ffffffff821115610bb8576040516306dfcc6560e41b8152602060048201526024810183905260440161052d565b606060ff83146112db576112d4836116fd565b90506104b2565b8180546112e790611d7a565b80601f016020809104026020016040519081016040528092919081815260200182805461131390611d7a565b80156113605780601f1061133557610100808354040283529160200191611360565b820191906000526020600020905b81548152906001019060200180831161134357829003601f168201915b505050505090506104b2565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156113a75750600091506003905082611431565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156113fb573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661142757506000925060019150829050611431565b9250600091508190505b9450945094915050565b600082600381111561144f5761144f611e4d565b03611458575050565b600182600381111561146c5761146c611e4d565b0361148a5760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561149e5761149e611e4d565b036114bf5760405163fce698f760e01b81526004810182905260240161052d565b60038260038111156114d3576114d3611e4d565b03610601576040516335e2f38360e21b81526004810182905260240161052d565b6040805180820190915260008082526020820152826000018263ffffffff168154811061152357611523611e63565b60009182526020918290206040805180820190915291015465ffffffffffff81168252600160301b90046001600160d01b0316918101919091529392505050565b61156f83838361173c565b6001600160a01b0383166115c057600061158860025490565b90506001600160d01b03808211156115bd57604051630e58ae9360e11b8152600481018390526024810182905260440161052d565b50505b610978838383611866565b600080608083901c156115e057608092831c92015b604083901c156115f257604092831c92015b602083901c1561160457602092831c92015b601083901c1561161657601092831c92015b600883901c1561162857600892831c92015b600483901c1561163a57600492831c92015b600283901c1561164c57600292831c92015b600183901c156104b25760010192915050565b600081831061166e578161094c565b5090919050565b60006116846002848418611e79565b61094c90848416611e24565b60006001600160d01b03821115610bb8576040516306dfcc6560e41b815260d060048201526024810183905260440161052d565b6000806116f06116d26106e0565b6116e86116de88610dbf565b868863ffffffff16565b8791906118dc565b915091505b935093915050565b6060600061170a836118ea565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b03831661176757806002600082825461175c9190611e24565b909155506117d99050565b6001600160a01b038316600090815260208190526040902054818110156117ba5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161052d565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166117f557600280548290039055611814565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161185991815260200190565b60405180910390a3505050565b6001600160a01b03831661188857611885600a61095361118484611690565b50505b6001600160a01b0382166118aa576118a7600a61095f61118484611690565b50505b6001600160a01b0383811660009081526008602052604080822054858416835291205461097892918216911683611124565b6000806116f0858585611912565b600060ff8216601f8111156104b257604051632cd44ac360e21b815260040160405180910390fd5b825460009081908015611a3157600061193087610c40600185611e11565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b03166020840152919250908716101561198457604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036119d057846119a788610c40600186611e11565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611a21565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b6020015192508391506116f59050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b0291909316179201919091559050816116f5565b6000815180845260005b81811015611ab257602081850181015186830182015201611a96565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061094c6020830184611a8c565b80356001600160a01b0381168114611afc57600080fd5b919050565b60008060408385031215611b1457600080fd5b611b1d83611ae5565b946020939093013593505050565b600080600060608486031215611b4057600080fd5b611b4984611ae5565b9250611b5760208501611ae5565b9150604084013590509250925092565b600060208284031215611b7957600080fd5b5035919050565b600060208284031215611b9257600080fd5b61094c82611ae5565b60ff60f81b881681526000602060e06020840152611bbc60e084018a611a8c565b8381036040850152611bce818a611a8c565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611c2257835183529284019291840191600101611c06565b50909c9b505050505050505050505050565b803560ff81168114611afc57600080fd5b60008060008060008060c08789031215611c5e57600080fd5b611c6787611ae5565b95506020870135945060408701359350611c8360608801611c34565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a031215611cb857600080fd5b611cc188611ae5565b9650611ccf60208901611ae5565b95506040880135945060608801359350611ceb60808901611c34565b925060a0880135915060c0880135905092959891949750929550565b60008060408385031215611d1a57600080fd5b611d2383611ae5565b9150611d3160208401611ae5565b90509250929050565b60008060408385031215611d4d57600080fd5b611d5683611ae5565b9150602083013563ffffffff81168114611d6f57600080fd5b809150509250929050565b600181811c90821680611d8e57607f821691505b602082108103611dae57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160d01b03818116838216019080821115611dea57611dea611db4565b5092915050565b6001600160d01b03828116828216039080821115611dea57611dea611db4565b818103818111156104b2576104b2611db4565b808201808211156104b2576104b2611db4565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600082611e9657634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220c5cf63a6633d28680f89a045c2472aea10c79116e43dc1fa9620f1c7023c528f64736f6c63430008180033031e98c2a98f2b3e83b9dd49302f0337e5c6d059ee109542cebfe5ca86f697e09f0302ca3b643c31484778271a77022d8e8f371be9a4207c20f28270a800706f84dc03e90952c39956cf8f88fd89a0ddd2071e9783ce57b2b72e2e8ea5904bb1728c8803bf5bbf3e665041cafe95d1400584a7ba6c6e970a253e865cdd283bd59df1405303d0c7f8cc70668923b607485b25b246da97af51013a76d4786e050d4e5f95ca4003e0af82d4e530bb73e33329484ef59082e9acc758b679fcddfa47af8df0ce024c03ed93ff3e641dba96d71888a3c655ada0e59e6ad87b20cd4b4e615fde8a54c8ab03698273558f56e98a1b34760a034f27f8e2aa31b85ac75866606c10f663dcf465033bc43f98959420e14ac4275200ba86d61f878a1a1fa8d9bb218ff954b244b6e9032ba771c582e9ffaec126406d7c6e25ad7dc8aa3ee33981fd6c412ec58efbe61b039e13ae599858df914c817693020a776e71efcca73506fd1fa481906bc67aa91903bc6ced3301e9556c347cf604bcda8f9fef04b28e772ca14a1fcfab3ffb8226c900581f027e18580ce2136d3e9c892f47d0b9c4517137a90953268ca9dcab744ca16549097e002a47cae6000003023c7947809202f49453b5d3a8c45e889446362b82825e182e410211f04d3d1600581f02431090101f7df1ec02a49ca5bd789bbe5da0ae570e5adca7c6192415f01e49097e002a47cae6000000581f0212444c56f9bf7b3b887214f79a536cfd81fca8079f1b4268a7165f4ae8e45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03031340acf6fe71e5a2e759b65a630c33668c9bf68dbe6bb8c16bff6f9193f1e300581f02487bd3786f1e68278f972f65c9753785fa8d73c1a9040ccf64b8f4bd86184850abecb38f58800000581f02e0c53af6cc915f245ae5a20509032aab83c4dac5c0d7fa426f0054f0e2b649097e002a47cae60000039e6b0b8d86e0a6e581c73260df9dd17450dc96acd09f2fbebd505b89757d0ac600581f0217c9f26e8d9fed1a670993d9713e8ec91975f9b99b7935cf7212efc01f525820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0225b27ec0902751d66dd31b4692ae5fd5882311f4e6ee3feef5c71dff178448021be68b3456f40000581f02972af8a6b8a7aff33381ca44261fa5dfed36df1ef8b3425381a159d8919847f8b0a10e470000037c01c2922eb5d9aa3abcf16f9ed141e980c2b3128f0b7c7f20ea8b3ef3f3151a03cb55fc3958368fbed6d903dd596e191ff8d360c7c9f7078fffb229557b5557120219fef703b26dd1645b1a825813b5d9dbf0dafd90aa2c42edc0e158380bd8b3496a7379bc03284ae2f3bffead77fc16377253b71a45a8b851a229b165337aa3dea78b695e6003ee6edca03767c6195ec88ed0f4956bbfce144015e4e515469409648265c44dee03a19b3259ff2d2e04aaf3b7a42c8e9f375d80c2a700a425850b81f854370bd40e03b2f41f441954e398331ccc292fc1b0ee29d99e591f2baf78d01e7d00631537240219ffff039882f045ea7ad2cbfecc5dc9a884ad51beebdbae63617fbc679fc70a77b664a8032daa93908156c27f075906de882e4e60d2337f7eeb439760757f0c6efd2fe243032de333a465f021ead3bcd92faf26576d4f763c3720f322d8dadb40f7da0d8c0103bf67e6528639513e5b3fe20dda0102e1b46ace65bf88853fd5a1ee719a391d2603f2d2f8be4a369bf2a24a872c64be4945c111efcda6c9b08f029f5474b2072fb603d4c7f3d506748cce7cb83226dd441dbc26348b28c4886f3effa85714969870c20304f2ab191adc9fffe171e7aa81983e1da8d4792d2c2eaa5151caf6fbaa7e8e3d03ab575dd29aafb44b8d712858637ec4579f35b65ea9545a1509fa014e3953ba6503d7341c3208a69cb138b83fe38ad2dbffcd182d0049b2c928bfde753bfd637d450376201485ab2b14edd4575b4c68ee08faaea2bee509a05c48e26c688708a300a103c1492d53df41726f317e6d6cc308964aa51bdb26cb3200636a1146cb9216cb7503be9f43cea71cd2b42c968bbec749d6010dbd6d6070339ed6821aa5d6619ebf52035b3be18a14fe0226e8af059c611eda3dbc0b35b00d3269fa19f9bc1039b39bcf03c17071b3a09d01a7fe384346e0bae1abfc804ed70a20ef56fd73c074a82f1b06039cde6ed0922bec98537f869239df40233f2070e8acd9048e01fd8c19ab2905ab0321c75313f99a14335f307c1140c2d2dc676f93ca9d3a006b0f78b77cd63ab339035d936ad2d609fa26a37b55d452f1f1a0843e90d557e8e8cf56f303be1cf6eb6100581f02abd306779b41760af87ed5124f43225483aa5ffeda5005974bb361f4d850491fd242edf0d24c000000581f0269d342f2fb1e3917f65e472deb74f30087df1e5737be69925afdc16df3ed480bbef0f54c3b214200581f02be1fac665bd0a0537822c4b30ddcc3bbb95cab732dc10b03d067ef8203ec49097e002a47cae60000035d243be6f402993f98f08c8e92581df95d7c5f16b88a79353835e35820c59cfa00581f0227dacc08e7594ab5906278f55f774cff91bdc7f9bd3fa7b796e9a42c19494912fc00548f95cc000003cbd9d75cb2615862117c7ec813d13132ebc955c08be4c9242ce48c3e52a28f4c03a7f490de02c5dd9e6d78960c117cb4afb8ceb5e5bd54be5ba576694387dc831c00581f02bfaa23cb91b27c09ef73c067d02da438a759a456b1cdec98bd0471e7015549097e002a47cae6000000581f0275483eb2170874326ab914002dfdde159abe65813a701d449edfdb3bf17b4850abecb38f58800000581f0214ba16b63abe54cdf9c41214f409d3e0d590a7cdb19001fca5ddf4f6221f49161cbfe8da69d6000000581f02d3537addbaf38f329f57ea0c01964662e40ea3ac57f7ee24f883dd143e4149096ebc2e1bc5f80000035cc469d03e7cd8c49590a3661a3d9c124ce3b20370186037e1b592465fd0e4b4032616ebcef439c061847b0c265aa61c438f8aa90a0133d455c53cbe0e3b39b0b700581f02071b08151ddc623bc28099b319e2fc4cb88c5d543de234b769bcf1d3247941010318f2d5942eecfd94818bfccf36ce604035060cd174041b2fa2abc3abff8fbb030219bfff032ff24db0c3621c5736e5234ec4e68ae042403b22740bbec9ab53bb30a967502c039832a699812aff1c4f4eaa8a164cacc25c0b902bd0c1b5dfbd6b6b64b223b17a03a1829ae96d5da40533a8576092f9ca9a46170fcfef1c7cb646aa7c4b0a230d6b03d81bd59b32d681dd65b8deb3ba7fecbcbb4ad65a42fc9a282ba3678026950a1803453263a707a451384f2cc76f0008e0ac6228af2bbb49e2ff0e804e817202166503fada372ca5762bf1b93d5bbbcea5527621e488077b650c6e7d3c4a219297ffae0311e50bccad31e4e2d5c5e21f1e2111d6625fbbda4692d3c7a2208698ffe105540219ffff03799934a96f578d74cc9f97240ca0a2f6bdc919c2a3e462ec5a5bba52951e9a6003359a446b2a7c200d80903ff328479d6c95eb9ef40a1231a2e0526da1d508b7c203b89d284112df40fac2850a816c408a366a3e8825136f8eb8631f568ff8edf21703f8d385bc8b0fa0bf05a2e435b0c6d3cd93857312e42ae3ee8acf5cee2d5ff03e0219ffff03aedd8e7b249969e6e7118559cedfb0d05310e4bb4f9fafd241faf4c8ddceab2a030906edc67911c706c48e8431190dae3b17d0ab165a524e35d7e8e0c87122dcc503d81beabcdc01ad5fd099c768cadfbaca95780a6093bca382238f2e8926aed506034c8e3b9104b7cd5c9db1a6146c6852aaebd35412a383f17081a9dd9b4ec3c5ad03a1bb2af51a2f1bdf51ba05985036696cf01cda43603eac06baae2612ec5ae2a703c2b9a66fc90e7086a6a6c265b66e0617aa7e753c4c12eb7a05dc93bb29dd456c039bbb876922631de2d3e5636eff153cc50eac58d326564a9db41e64168a56adaa03404aaedd8f70e75d2aa54bb73fe9bb90c7d469c54b6b33fff8b09957d61841da032d459a406ba4aa4e550330286ee484d7f56f60dffc915c6555b910c048843df003ba38bd784b43fcc7e04a55ce2d8c38610a10a6805d0320771b7daf270b8e4d2f0313a97f1a8749ae65b26ca993f1fdc4739e5524d128d2b5ab9928c0be6bbc153f037e6a43a444e3c00aa90a08c522e3754bca92691fac4249952f3de752cdc74a9d03f87fb372bfc7cd6d86eaaf8e689940e0f40a14349142271820add46e8134a7cd03980f0c40f227bf19c9edc4aee8f4883ac713317355e160cddba10009b47a4e8a033d99b748c0c30a43eb04a2c67af0edae4aa008a8523a3b108af66475a4d1537603315e1c9df791d6b65aace244f75b8c0230e932ca41f0dc34d213599c12a214bd03ceab01f8d2183405bba2677809107a1bdd90110e829856e7a4ebc264d9194c520361c5f29ccc6e3c541cc0ed7239a2b0dfa603aab3a26e3789fe5fb273eca28df103950b75f7751c9caefac458419c6cb538f23e50697306c29da5afdae8ee6452900141080333b35b298c7350e6c0d20f19f0ec24ade63dc4d3740c74926cc0fa5a31613b8100581f02bb5456bd3246f208936ae018b326cbbf24cbce8eee11140a13be215b4c3749097e002a47cae6000000581f027637de61f466dcad71ba6e5bfa1d63141cbb76d3eca1ec07eba58b94e95d49041238cc1a67d6000003b06b43f46a9876bfa5b0cd5fde124ccf3030d0deeb7cd351fa1a2256dd7e475903c427f9001dd46a95ba4520e32e0b178d3a1aa84364a572608ead100da0d74e1c00581f0203719b63d7d06d809813ca1d8c165c2a783c321612528f53a074adca588a49042817c8886478d9b600581f020a55249f00447463b2227c65349308d9e756f0998fe9d9d893fc790302425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cfbceb215f101115fe2b2fc2bc05f03496e2646fabac08653a7189848c0b102000581f0233755c908e11b7827a0a848bd63bc7f26e82526f33f51d0be941e54424f2480ca7fa26afbe4b8000581f0209cf78c3632ebaacd53f26c81b2a907358d69df1800dc2541ce1b7f46a1e4912fc00548f95cc00000219bd97037559e96cfaf7c59f67660338a995408e190cb36000560060cc49503cd96aa1f40349eeef116612ae45dcb41456126c2e344cb2be861ccbc12b89ad580a7a3839d2035298494bc694c8e52cf78879e00b1c0eed48be98b3c46df9bf1f98a797a9acde0366bb21ea7f16377e7597c14678cb5a974d3fcffe594f5300fa89447d2849311403dc9317c44188a8f59baa09e9a72bad7e114aabb47b6338bac9c081d528f8db40030eafe8bdcde58585f5c3581e5846fa8b282fd6fdc45cfb74c68b60ece88a08fe0364b3abc4d8bcbdb0c043cad231895ebade9e03cb948f1521126b1f83630e7abf03643625a89a2f34b6b1c66745ec32de27b0ccb4304ae899e77d7f7d2e189181560219ffff03b66f0228479dbf05c0391f23b09410303c04ab91e2ed3c72acf1eea4059ef73e03738f04425575f090e7277871a5d6b5648c68c36b4bf3024a0907aae3a149d53103875ce555602790a969b2f044e4786e5b8c7d7b3935b779573f295b65f011df780381dc708f2915d4642ffb84a05d90486c6f268ca3ebdafd788c217bc9a57f07750387a7a8f975e810115f801c3d61abd87457690fc5d8bd3f6fba6dc86650f93f31030c6dd59c21a60b5c31fb7383e4df0b7b19a13c6fc1e68f27c71d79a3f8b188c503567e440bcf04f5ac25fe70f7bf49756626ab7bd68e1db45ab672021924b2a0550219ffff036fb85b6d5913a97b8a6b35536ffe70ac2ef5e6c106599f2f41b06c0f5dc9ae30037fbacd4b360ff3a350e4e2cb48ceeb31f8a293e3302c1f35c5b28f1d7d1e626703bd78df06730d149c8846a549924193cd492282e5b74eb77456d4c9d0f3beff8803da88dc2a917785ab5d11b021da77e3037c272d1bcf76089a0c14acf7697b3243035b479405fe49406179f50e560adb854e72f6104c45464b4138399314ab7ab7650338c011e67277d1a88dd082af5c23967eb79155977ce4b5cda82230eb1f4559c103ebbb1e8f8ed1f6e0d0965a4f9e63028f8894a052ac90b2288cc32d7e0901abca00581f03dfd110cdfae68a06b07b851d936a5e60020107d224000f1932f6f2b5c4004a02d9ea9055fca725ae7900581f03a808024b4e038c1bc75c2dc25629ad68be95561011dd86328c7e4f89022049097e002a47cae600000219200100581f029488b91e4680b323d879460d53e4793f565788ff3e5fa340834c3dd2e7f848016345785d8a000000581f025de5873e8006d940c173f9cf8158b84c2a39655f1b1d539daa828a40bda149194736636fcca6000000581f02e4fe606312a471527b5bee4fc77a02c38f4fa31bf3db6a32640c74317f0a49097e002a47cae6000000581f02272306088ac353887e36e50fd8f38624c5e373cddc46414547407322e8235820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02eb920b3ecf5fc6c629d5bc00f2fa948c1b5128f2c897f4fb254e4a2ec74949097e002a47cae60000035bc74b7f55f175d2ded4f715ccdb0da6af1f7777dd0f401883c38fbcc8dd3bc700581f029c6add3778ec65a205df169a73666340e59fbee789c0e9105a318bc200cc49097e002a47cae60000031f96024aa4e991d517932cce5127240d16c8b4fd20f3657822c85932791697e300581f02715dd0de77628c34c3d526d1b4493a0170d7d40cbac10cddea3368911e3b418700581f020caa63e715965f33df2658c42e91d01f9b7ea2f628a4cea39fd7a967bade41010219f26f0331818c9742b0a9dfadad3821049e1d506a070ddc152d6e39d9fb3781dbf62bb4032098b0f139b1870e6809ece89bf23737dda24e7f355b03cf931fc45b3cceb2b703b46a719243c3a955271125b02ba2f7c57ab5dc982797d8172de797b10613d131031b8e6f03130830c61e171b20079e73979fb17afe275ae395d7aaa8749142972003001cfa6e71cf5f132bcf8f08f91200dd2ad7873f9fa520fa217213e773dd745303343744f759bc1ffe8b7f81acac5506ff3f292aeb4bb7e7d1d565c3ce6319f6d5030552b1700a6cd77cc5d499b465eb04e1cfdcee56ceb769217bb9562fa6f62fe603fda6daa4de5810d9f63e03182052737d267494fdda2d5d9599abbb0d7ae7a198038acbea29a46be2e380afde52f98e5c56951064bf4fa4c1bb441d1e6694ed9d6b03b25c7b9ecf1bd488b50d9131c811623d4029934fca82a3f59c92895871fd5b1a0219ffff0337d22b7ebf81d241308d0ea636734acffccdbfb42502192eeaa9e938f8fe7aa903f46fe95e017c76e4f886377db688d6b523a3c0715679d68c2646e6d1c7bb690803db29564907673853e62712103839e404a0ec6aa2ccc83f1414e1f43385e4544b033e341b05e1fbc6648a803880a6757766daa7350715473da4cc3ba5d53753f7e1032de996bf982b6f4df780c6bc7995cf0061b904d63221e17253a98b607779996e03203ed58e541f16b5749db2ed5b7bc979ede0a43791b7b2a85b2fac15dec5946603d67cd2c90d18cd3fdbfa3d81384d5fd55c7719b1006c616b47398f203069b4bd035c3792a36d2131a0c24a11c0ca3d80e3be56f67aec1ed9f6a31c8ff9e0ec81b0037faba6746ea0ea8528ab0d74db9def59367e54a3999c802a41e87822c9e5032203250c215906d7a6496ee09f71c9c1a93de0816156db6a9fb414d593c2ae1c388803f0fb815943e14341fa0b33c575d4bbf4efe4cd8ec56696e963ef3af7d78c925903302180dab0016c8077620f2bdaa8c4827bf3fcc588d041ea7e82453bdf4f12a30301a5a43c353fc83ff9c639e9ac9f7f279177664538c3addf16163ea4ffa71a34032e4f9fe777ae0c3fc422309440955a2219f03db766e5e3d68774cf2e42ae273f030baf953a8b524ea81543d7d5211bc03e1f748e4e7e5bf3ace764b966aa93258200581f0222e888014d69be18995236e66bfdb841f1946a530bdd64ba9d09d014f6ed49097e002a47cae6000003ae9492affcdfed4879950a7d2f65588ba573f245e41eb30ef09ff500e265fc9700581f0237deda61c4902050ecc6fcf89518bad633a02c95e235285bef48bae54266483ca4df818f0d1c0000581f02a94fd344ba8be5f2d62b0d40cce5a49cbfee11c3d6d1f271edc640d9abcb4850abecb38f588000037ba8f2162999f3fbd9fb56dfa6f7f8b5918f01127b863905cff8464263d9978a03cb7150487e6cda0d0dc53d8694e3da06546f03d7ec1966fe7eabf2f3d7322be403d7bf331f1c6b2fe7fbe06de483de19a80dcf40c1d22a077aeb6d969fa844c7af00581f02e29ef9b2e685fe4db6015a5391cf7d042bf00800ea53b865d409ba1d0b5549056d2aa3a5c09a000000581f02627e028dd6e456345a9b1ca09d285ed3edca545db0fa07c14015596b26ac49012b9b891dd7e8800002193c3e0345c53388c7388b2082a34da095e64eee7863e4e09fdc08640296fc16a520d7e00395a0cbcde3397f9018dd2fa1e523a984c32a59f3cd2127a746be90157ce31c570382c6785a86dc28922d1e36d5e7a958e2848dc841abec0e5d7fa6af8421da7693032dd711f320525cf4991ccfb3a1f809d4fbcfefd75de33a683648b4c8453628140219ffff0381a20873a94e71c9b4764d45d1f06fcc612f9d64d562ce5581a8627929585d8603c7d2d08f7e862df83e5f8b2a730efcd3cd66728a98c61172ab28742b317894f3039705e78f52f07337d920f6f84bab02bc7d1c8988ec58302655a8088f9d3349c903fbedaa4f6f7a5256dc3a49acab6943046ae90fe0ceb0fec8711ced94405cfc5b032da48f71c553e4c8e52a16deb9ae3c818345ba8ab3071e711391f3d57feaa31f03ed03d16b684c87c74f0a47cf32d10d4f201a962143132c4a59f3d44acce4f37d030bd63f70b45114795efcf2773f3f1ca14f03ecb3b13c0784f3b3a0bd26f9f9970399c210d7704fb89785bc43e0bd989e2f35820b320bb04c71c25822c95b172278037d36734de4854cc69c32a9545fea7f6a7b8e3764c4a55e6f1ec5f641cf7a5cac0219ffff03fdd8cf59aa6bd82c5190d1c77c3b14c46eaed01e8c4f0b08b2cbdfeb0b51496b03fd9b81d5fad73d7e114a6c2289afa9a35efde4d745bffb2d547ec63edf3c65c90355086e96cd8c2dceb84243fa5eda70fc5750d8291a21fabad5acbb5658a0ba5b03d67dea97b8b19c0290511ac008d51ce58fdea35fc755e3d600e27d5fb6c682090343e4e8edf830b350080aea01192d5049bf8ea73bca839f97d0a7d9ecb62f80cf031989079f49fddf0a34be9277a90f7671c966978bc40880311c184736298d75f103dabc8da6856151e76b086609a2487b4e4123828386cd733979c3f9973f3a6c44038dc52ae47f6f7eb50e9bdff8246e5a9d7b70c373e2b3f7b508c4d94db33a112703b8f19d0fb1b94387c54e762d943728c585180c67a214ec7f0e85e5261a56a6a900581f0267ea149253094a87c24f86ed647e2c61dbf14268147d86a2369ebfc200ee5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03408bbe23a4afd875af5df81aecc5e5aca891b51eae9612c2c17188d607c8da8a00581f026adc42f9e9109405461955813b58f2a838fbc4b0a758cc95f76fe0c58fdc49097e002a47cae6000000581f0246cf69e8dff6c04660acfe0ea921ca6b4fbc17dbceeb46d20adfa3eb973e490b3489eadb413e000003ea06b22e7fd9372f9189784134297dbc8341154d385f78e78d5eb20a208ef2aa03a6f48cb0fffb4684acb89bafb217bf8736c6bdb0ebd956136750490d5aacf20500581f0247eb388208fbe8b35f081118982ed4c6ec5784affc8e75dc33da3c842b254850abecb38f58800003ba881743e01e44c27630b1603e25681cbec05d8cd3e948f613b771488f5da5ea00581f0281551b200a95613dedf022bc8393fe7574aebcff145f5c14ee6a35565b28480176b722f19aa40000581f02b4c84e183a11aa93a0238a609bec3caf00b0a966b3bdd40187b3c42ca9dc49097e002a47cae6000000581f02743d6c07ced53c4a4acab09f74131d808e0c8321328ea84343e91e52abb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030da399bff3d699c4c26e17a7dcf3b69eb01649f5874973d0062f6f979e0b12f40219cfe703cfbd8d66c8c7e8788692695bdf28857794be9b1ffd13ddcad56480672c82490d03620b3d867ec3c8714664d8f92d1b0d327a79ae9bb3676ee58f6b625e7fef8017034260b81749b8790e459c09a41109dc9ea5f9e1c65db81d17b9cb835f7161567c034366ef751e6444c7608985cca0a87a2940bdb3e1037c65d773cc4c160765b0cd03356715479fb29aa5840da4381e27c755d0a9d4fa127d2f5a987b75bc957a07890358f3f738f7937c2c64110298ebf76a2c3bbf7b99f4a622d71f726d69fdbed1fc034015fba117118552ea83b82d3149853ffba179487b8d74ce9b5974230a325f740367e1d34d7ae22e9f75b04824fcbb8bcfbc0e9a2773ef3df2b9bd8e710b2854870219ffff0375451588674f23db911466c66810e5a2fc4f3ca425ea39320ab5b772509006e103a2c97b44efdf77e2f348750801f0e94315f31da082bd212f8fc59331a9ee36bc03303331d3ad3468e6ce5a8399ff8f02cf4c06c987930a1945bfbf789fa6564781039998f81241ca8fb69eb07c8233a2d34c2fd23753296d76106e39fc93f3cf847d03376699fe9826df4153930a9ce088017aa3be7845e9526d0eb14a68af478cb55c038ca734e824eb98c331f7ef6eb7f25c49c3241d1b00839ef9d5db5d1668a861210321c3c02dae158fee841ec3e0e3dc05362b3f639012670365bb2612f44bd84d1f03cafb17606af35b542e4c71827be483a727586a08dd5f5844cd496884832bd34f0347a50a92115b270fe4c4bd304e83c58dd993ecd4a98e3faed261c51a7887289103b9ea097668b9c734059714694f076335d29783423b6dc77289d1e98b23682405033398757bd8a16057fd4b0958e1bb3d040835cf65eb63a08d8490e5b3e11f191003e995db4e2de831adfe1b33f493f0268797098599d5b0705e55852f0086c97928037ea94dfb7d99017f3eca7d25bacd878aedd9b24ef32bbd717a6ebb1ef35af0c5033e7e4c3b3301c0737c95a8133ad9b5fb3c9bd3ed2ffcfb392728730b1946ea8803fc82ed6c72ce9dd07a77b3a1a44dd8e2048511f29a297b1b09f7900afd1e06ff0219ffff030ced2e2ad579c1fb6b0b6e4ffd326bfe8d9cdf23cadeb638cc4789938c1f627803fd5b94e27caf3c1a60a7e317f0808751d6b9ad15cc7d2bcc705f21c52302d7c303e233b92007df8682b7140d12cb12de2b4e0576a665c50c5185e8c9445cf0dc21038aed4aacad9a86d066856cf9559b5a4267effc61cb38057d2ebff691b3e49d50034ca0d66163d47aceac8023f0cf0b8f7b1e46b006573fcdc838f7b6bed3d6f34603cb7935894a756bb361c7d29423fd15e1cb6b3a8e50611ce9f6f7eb2399df38a5034b28831ba8448b58361e2b973eec7d332796b67ba62ba12ea88f1112b40e7cc303b6f19d229ac6045739b377194f84cb822204653a77cedc80074ddef2fb71439203b788ccf20f54ba49e3a0514b16a24389d70c5fd00eee3d0fdf412b467db8425e0396f8375d4e5115e7cb48eee71b0f0fed8fe9840f2b7da929c69f7cf8c1f6130103934bc133fa346b71f309f10f82570264600f73b1e7da5d6625eea7542ca16e8503471299d200b106be00784937e0dc45224f1f1c1fca25b1d86a20eace89c0d3ca032f896fa845928dfe1fe669c4beb954b5e98d8631d38c495ae216822afc6ffee5037893c56b6186d5ca6a5847b6cc46d34e062a908c3faa409e283df18d321b914f0334fbac2ae0a264a6eddf38cd59ab803e8fecb18ce20fe323c502ce0c5ba56b26036872c889007a80f44fd8e0d14532982fe6a16c5260e120b494db44fedc33d8760376dc45b313e6374eaec6796fc3882b2c8dca039a1aa375c0b339b4bba8d5dfbe0314004202a02b132e9554373e62b4f6876765e2fa57db36255a5ef25599e89dc20378650143466a267d760004886dddeba737de818b29bc88787c6af66e48e76423032a9ca9f51a7d257fbf811ec1ed676559a8ec48b73be8a9f5b906effda65d9f2a0342f5a95690591f79eb3460fb97c8f9e0e9c188800216bcaf320c104abd139c3e03ff4358d38cb065ce45c11252685152e32d7943897efba909bdaf7d3ba166ef8303a967fadf2719bce94055e0bc5b8e650cb49d6d6d3f75813954422136cfb1df6f00581f029e70f108a9db8704f26daa6bfe236ba8612e44d41c33101f832f2e270cfa49097e002a47cae6000003208bc4e5842553746934b273adfc5e3c9f24d495f3bff9ccae0a4943f83abe3a00581f0292b33788e5335c86bf95f3604d6ebaf1dfa538ae5c11e25db285b51448e749097e002a47cae6000000581f028beaf0676d081707e92b3cba6a2858cd9ca0c0af75dfdff482fa6c40b0dd49097e002a47cae6000000581f023611c2a6982cfd1c4f5cd1eb27edfbd6b44f37a1a600c02c215cf9dbe7995820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f025332d731334227df9a00ba629299ad7bf4b0110ed956b2ebc7973be7e04c491561cde856f629200000581f02c9554ce3b1637cfab8320b4a1e61322621a1b7bff5f3a22faa03f152fcd75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0330a38177ab7d4a8773fd8f1a3ce1bc916c6e0d5d5aeec47ce55cf815acdf28770314d09d167f8685d1a22c1055e9e3d91203dc317c562c62e9a20672e41e16641900581f021f403d32e7f0fdef81a3882929aebb15127f2a6ea66c73fdd3845d83564649097e002a47cae6000000581f03c2a3c76bdcef48b0c19a963a38e92028d6711321313ec8f8bbaff796fbb0492106592c51eff8000000581f03aa2e4baea8db3f71f1111c167e3f6e6d7bd01fd720f7ced0df73f55ee67049097c9ce4cf6d5c000000581f030348d2219709b537e92a313e6dff6521b58f7ffa907f4b2aa85a00911d0049116b542027979be23c021902a0036dcb41b3fac18f14170b0fe67b8572f564cc288aa2dd1f80f363351fc4be680503d09c5ba3af28dece89ef428449cf4b1bc3dda666d16356367f1aec744e5761af01410f02197f7e03b52cca1ea2ed5775a856a6211ab2f84b713d158683fc968ef136af425b8311e80219ffff039b40eb727bf5e4c384ff153166f0682711668b63eedd4d6d9195e8a21520a66d03d58189afb661f91c4a881eac7793b4eb07d1755d5eced263b35c46203c2f774203d3b66ee5462da68dc74810eaecdc9f6396b585caee83dcda3cc6bd0c905c4526033bcb9757819f8710e785592455900017d7c9e6bb3f8872f5c6118644ec6f5f21034dc5d5033676526709848984eb309dc19c72616781ea76ccc8fdcc1bc055a4f303e236d65b27f674b35f78ea8bbabe20532be1623a7cd7501a92a4a9e307ada8610219ffff03a77dab2f53b9a040b2ab633afc1315623196c060a49d890de886aedf21d4c7e5033dc607a8bebd2dd2b168895be71da0d51fb675020299479eb1ffad145788f885035db18a798dc060d6945d6e76e31c1707d6d82b2a57c50153b54f8165388dc6590375ad4f088563c48bdf601d0f6bfc4901f5d1e172760d4f08bce26381f69050f103c9daf1d38fecbd0b776187d6d1ed0682c5cd5d04c30e92629318a46d16f4a5a20355706abbb83196098d58c24818f48b2c2e7f92c88e9b8953032838899395aa0403b5c60a0bd291909683d381cedb9ab8cf736968f17f7cb95596bff2409cd1f102030bbadcc4f8ffd7bd6cf8f51b9402db41bc763befe04d44050c146ebf6f9a63ca03eec5e931965f3fe7c78bb7c8ac6792a0409bbbc5e3d124b46ea91ad6452fa1620317f09ee2288caed291f8e1a89a765699dbc3e1eca672dafddf027e9cfde8175c038cc908692af8d719c794b3ca08027fbff1dd346352f3f03d3d051890f7a80e0703d96b02451628164ff4aefbd5158d0447a2bc0741f3127c2ed4ecfc7544b74b7603b3b252dc67f2b1ae36230232f3936a4dbccd2a8ea53d6430c3d2c280242f6c750370a926545fc4421d9c37034307631f72361c73922fde5cf5aa8d99b13f31378103a4f765e44c703f2f8171d4cec01230158fe1f2e3b93ddadd5e4bb8adf92ee11a0316e25ea387480c560766f5930716d9098f59a892354ace699aa5d243ef0bdb8700581f02340ea75c7c3bb5810293cb3ad79dd4d7b1fe26f6d10ce5311cfb73cd161f49097e002a47cae6000000581f02eb0f3d04fe8c504b0183892fcb21dbc1df88099b4708ec89e30404ce2ec749097e002a47cae6000003a73a8de4ee346b0420f05a71bf547e606503a38fc36d24594fde5ba12b90ac67031b15ffe184f48ac61f31fa5ec3af71c4b1195a86bd67b17c8a20ebb8bbca398f0301654a4404737909190f1e30f15960b8e4178a691578f7bc7b3665e91a12443903076f889f297225fa0d6b17fd2cf8a7c2cb0e1fda34917e6f706a96821d67e108034a60023cfbd0760eeb83d66db02996cae3e500f7275190da73ebef16f68f652e00581f0244e427ffff3187885e616a9a262ba223bc755ef6a581f758cdb9d8bbca93490752e39e35a346000000581f02279f3cf71a045e348257a553780edcf6a04703c8a15c83a5d6de712e9998490c0fcecb24fc6a0000037aeadd7f892fe93535b72e6c5e5bdfda484082e1817487aba2fa3bc772198ba903a5b801b58b9863e53379d3dab64391f4385679ab13ced4bbea71929ad7f2639b034fddc9e6e46ee4af236cad2c428708baa27d3f0466a7b3800f74cd71393b6a1203c460ade553e1a2a284164eb9d6eb75fc44c79f5761cf8f5626329713e523e7ef00581f020d62605141e12b040e8b83ed910b484cf5b1aa6947a2981bf682ba8d62744a0dc3feec724b4daf55370219ff9f0322e7405fc02a03edbff206261c248cad82aa20137daf8b694e1864884ef10e300331cbce04699f985f5f4fe372fd26239d877582abf72d3b6ad5daf25d9cbecad803ff69471e02d3ed4d9246196228c754965e2c9239027b240527609fec14738a68031e350a1c55204ebf88bcccadd95634aeb2822ab873d7705809b245e12f9d8037035d671f03d8b9d81de205c8445164feb06a2c05297bd7ba8a7e9c1ebe6bd7dc370219ffff0316d730a096291f0290456fe7ad0a48db3a2c3e36d799956960c00394d8e9fe1e03d0e2e84bd89946f655d970bbdc1587d8efb52270b2f0a10c0a23f5eba5a8677c03ab5336027dba228fdcf303fbdad58e853a0e12911edb3c8120a7da5d96d2309003c3f60fa9379a845453ebd0644c6f58fbd3d8f1d3e894c9992ef3799d21f9d67303d8383617e745fe05240f149528991872a7ae4fd41a2e44185c9b2892928ddae20360cdf3ee8a8de7914036837df0bedd2bb9e31e4d99c7f6854d27df52dd8c5339037d44934a19e786e5ea04196ddede37e0037c8204349c761be4e751a052cd08cd03c28823186b0b22d2264e8b0cbbb27c58b3374da43ba84d5e24f658e2624b92b603da9b25fb4a6aa21fbab41e61308cf43465d61691d5281cca5181edf27d2476e0036a2853fc0b7adfce364a768d0208b4292b120a68653709f5b5fecabfa38df0100219ffff0384aa4893af84bde46885759933660bf101f7a0fb3243745618a15149c7e6efdd03524740c280e467215e9e2d490305b207e5793e36c6813b290a7b10e336b6b0940372ebda18ba4febd1f409be22e4e4b8e1ab2d4779593c56444425781d1511ad02034b93d42e8f4d1734213d9d39364e008652f05b2b94c35a7576c0d142a45b509403cd97dee1a253970ff030529c0bba7096c8fa751861dbb0e7b8c420a1ac93db9003bfa47b2209dd8260075b7644efc15e6d923893f61bbad9dd7ec479bc8937a94903f208290a98de8577c1368e2f805e422c0e433da0b61da3dd986cb3ebfc9c8f6f00581f02e265dc77a767428e642bc82f42145638a23b6c34f20c34db58f1ad5954c9480534ff15ce44440800581f0296a8bf7f1c4b62932104121b36ff84bff291c616b4b749cce5112aaee6bf48016345785d8a000000581f02890dad8dde85093d05f97f4d54ade2b047d5d91c39a814212ef1af3c5df549063d55582c8f7600000321e79855ac6db33aca907d10f46d504f6c95d50b02c1229d37efe5724937725f035671e56bb49d670be86da58537e4934c081c2d16c1a3e4c10ee3755da73eb9090322e6cf87f59cb17c8b8caf94e47d93ef7c2f547760d950cfd562629fee8791ec00581f02aa4e1c784112e9d7761c22f9cdbda4e4eb3a64fd00165dcb861c6d4db8a74101039ff10364c8ca8a2d272221e51794ff01fd91382cf9672169487d4c09fa8d57cb00581f0228710dd7f20393c4ce66a30a23d97e456bc28276b40e962c7d87b6fc8a8349097e002a47cae6000000581f03a1cb9f889b1350e2d2a4cde6e2bf89db949564e35c99a4888ae5a75e7b50490f3354ea608b88000000581f03b07d57cd97612b8a4adef6039e3e82b25eb5d7fab50b0e5a4e6ae30075504437f8face0219200800581f0261e2c37647670305a8fa8654a1ab973c7c22903ccc5028466010132832fd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0205150b4f0b6640c4fc1ba3d239778d885861beb80851c0d7b4c5f59f879b480b3029889b78e0000219e97f03166651f802bc21c28d769ffe5fd03588af2836bbbcef0e73b6471e6f533b3dae033c28220b8ac0344e2e5a4147a9d8704f86dc4a46cc72f0aef956b753bb8213e803db97883939dd794949e5e022493d26a03665d8c835eab3491977cccb270add33030b954aaf56f6dfdf79080c8d2145a6f8cdd57d9ea7682b1f03545af144ffbbfa03e0d65dfd87ea3f922fbf525f249e67cdde9b90345c594280eba39d909bf84f190387133d1637e05bf940f9367e7cfc9522c6cf06f2596082b6c2375bcbc13ee21f031ce27b234d3374b3f9667bef02147fa750f45acbb08c73c24a447d29c27590f80388a1253ab8fcc7903eb0d02938020c286bc3af6636ffc4463bff2096b637abce03e441e5260ab663915dbdd05b9493e650b3fd304d99d8dbda6df3828d8c6d3efb03a542c8e50e7e9b50100b10a7ff88994a942e369778b858e41d93e2dd12683182031d1612f42e0a3e45d8317b7ad4d1c5435e2d6ba0bbaf526652237a0316b22f1b03f16c8e9a999ca38fa5be3efaf5992975cc606b738fbcbc8b55fde0f254db40e6034e31f3aed5a31414adc659d00eb339bd0dcf4d392d6069e71077d71e1031f9f30219ffff038e0b04cb96d302959458eafe08071b249e17081eca64eff793b4f32d24f93eb2035a1915febc60e53d1776d6084224c4904dc99cf8fe0616abf25b8035da7f549203562a72c57975ddfec3a3e308b4c7f6af702b91898e61fc080117ee051f5ff4dd03dcc1ec7b1157dac087b30723a7f5b0d0cb481dced8948bc97c0f2aef5bbcfd5703f76caa6e8f3f665934715c2e0e32cf6aba7f49889a55632cc0335a45e58dbf470339f6ed2420769e5490686a43c0bd50da13c82803c6489c2d0ebf98b496f8b3c303ab3ed7dada1373b8187c4ebb61af67ff99366dee8020199718ff90c1974f472d03b548d4ee21995e9bb531f822b0c8ac11b54e14426a21a60c15390d83eb6d5da603d4ab7147bd402d4d8406ed5a061a9532cc597cd2fefc7e1b4c6fb98e05a9b40f0341610240a95110c0cb982579ab318e24b26482f8ff0c9821da9a83c86e1c72d3038a820acbd6ba7ac3a57dcf622d7c8bfab6609f189b0bc63eb9ea53d230b2630b03be88fd0dca8ee7b75b247d66d090706e6b3fa332e972b45b9ac541b87c9126090219ffff0219ffff05581d02dfa672656c330b1932544d9fb5ea13b04a87fa9faae13b89cbeea1f70701191ed102190a0205581e03274d9c9640d1eca0c4d3572f34f0a72b94994acb60da0187d1527752e00c014801058610ad0e1a7d05581e03f7326a2e9d850f24bd31ca73358988934cb98dbd33019fe463afe180200c05470503f27e7d3fb00219db2e03cf8f4687b7d612f466f9adcacc487c1100386f6baea2c68d5ca213507455e99703469fcebefaf17204e74a2a86eec5dcd3599fc7697dcb1c0067cb5cf530c28eb303423c99c1960b928447efa1c3193c24e47d172fe047181ab2e4ed951c0f09aa3f031851f2bc09b7fbba176c8ae3199e0fbca0539f5ee843c686b0f9844d9f0cb55d030c5909ff9682e36952b0a2de2080c0c1e90f1100461dfb821c725a11e5a1aee903a00e44dffdf46c4e4cacbf8dc1e5afc3f300e95708460119706a0343d26c90660219ffff03a12ca8331f2747d385cb369aad3628d35102399bff0c39e01a92f22223c210db03c577396bacc172c917455fd8bf66eead91019c3ad186909f4382984851ce94f603088cb00964871fc263682495b4c3defe6bba3d6f9f846bc8b4b8ce93533dd6fb03380a98d55c866acf2b07b70db763a3f63e7dbbdbefddb51550c4e6378d53440303c8031f811a9d5fa8aef758f9e640038fcf6e4c21c57e1f5614ccb6913d31680c0219ffff03c17414b896f1414e2cb6906f3be0f2f87ad423c428397689e82f33b4c02a9c8b0338fdd0e362e0e818fc76b41c9fecd64a9ebeafc4cf0b6cc72792c23872a7e4b903375810bf6ac6284992690bfcab1f4bb11edf045857ab975201c044a153e530da039ebd6494b0e2dff239074d9d207782731b1f45ab022d02a1f41b63a0c3be93a203f97865e0cc944fc1632e63c3d9898111dd4f48e323bcbd47c0babec1b21fce7603ebda1d453152821db416e13ed35c5bc036e7c11963aa0a1e81dc7293f36b094203ea0c158b98b363b85db05c125d090609b5b76a98de225d55a00a4e85d5589ee60384b3f5a9d56e43d0db3190dadb421abb95ad2ec44dc61cd926bbb98681bdcd060219ffff0366a15f98e84b684c96ab7cf76d8332b005119a327cbf6563511bd101c5fb2eeb03c27cf0c6f952bd77d3d98de08e8ab6d6bda3e359c5db3753dc4e10948ca5c5ce03ff5509df662f8314fbfee84ebfc3d2865f20c6177da997a946ef43e90b44862303438302fcef8889540a7fde185386ec1fac3db6cde6a1c3afa7ebd239dd7e57ec03b5e1b6099a23122ada8e4c412d23c4b4aad59fcbdb32d65b48bc48719c5d0d4d03d3aee80b1e63feecd0c25e6bebce473e4188382f770b875c5b0c8415a76bc6c0030c16ae34e5ea197c83b359d950c5b63582fae865589db9dfdf03c523722e369903deabc75703a6c45a68937bc889024c0f19d8be9ca0cecba01148e2ce605d2a1203dfa4f57809d89c7149886b14f53c49dd51742a46be5476ca514524ef64ed586f03c87d5ae6c1d880e3e12474df260dbee09b01e3f975114d7db771da9f694cda6003629a66487893980fe70aa20a9b2cf526fefc4e8715254b8d1c07bc7d1a105989037eaa0a0a29cb43e9e3f732b2e0cb422d1271ee1310425e27dcd2bb1638c712210323c2a7ea50672a4f5e8d5d0ced8de4aa087f0c43e6ee868bb3a219c6cdbd9bfc0357d7483ac45a63cc5b447a61050c20f0f1a621396da3653e6bb1cab6066773bf03978a181e8be6cc1f6810a104294f80370a92086051a496ccca4f6087e3017d2c03a6e540f8be286b1dcd61953276de85a17ce986b57719339a0e3420db8bd921e103e05f6d24a11d4c4552699a19ebb37621a71187da1c2f06cb44c6f01e0d055b6d032c386512a9ab53f7786506f7b81ad619d14ff252fbe01b190ea736dd18c0d30203e4ebc2e4809bf631a5a7f13681e1940c03be0cd8c79f744dcc50f67730ff125003f527bdfbc4338613e16f531e4cef4f5cdcdaf7a31d1f0477dbb90c673a82e668033fa3fbe5d8222fd9c956041a0d83e94e82a4f0b84767b6ea19653a28f992bd0b03349fd66efe997a0c994829d473b471b2bb59d4fd63dec7346e43f6e9cb802f5b0378fcbacdb0e98e57ee9f0e636c1a95c45c3206141c6f285ddf23fd8d3908729903ce41fbabb6af3c393d10590adcd327b72cd1c2a98ca5f2e17d3494e5aab5929803990a417f810cc35e577ca6ea590c5c72fd17570b3cbb18d69857a182a4ea80a103a144ff4b5c909ad2aff38b0d1a3d531b99bb155437e4db440364ecbdc6e735fe03fc774816b46b57949b9184c2317b2555f38befd01ef0766480592e043ca83c90038f5447de1f09f3fa3c07f93ca00057bf16eb555d4415d627dc82e2372a93252b038b3b033e25ed056bd8e350978a7a209a5db5a6af3adfb1b2842f15ebae89ed5603f6b42ce6c90b076871d72887bf06e9e553415c33272fad5f4ff9d0b4aa351028039e3136040df3a95cb29e13fc27eb40f2cc6439c0d1afffdd888adcad63dd27e203139b9f318c5da208cdce6d1582f03c4aeed47109e386ffbbe86a28caf0b4ca6f03909bcb1ccde2a7a30478dbf6fe02b05ac783ae8ad665d7aa0f0163de92ea3a860326b32c92ac3f39e81e486c625436b5b4673c27a075d49d4c1fd9b62cc5438722039154c32f2dc3ff6d7f018845937d23a1df32b6239310b523862b30a63500e8ae03760d83ce5fdbdfe5b5a287b00ced2a7a13baeda25419f202fd9d6e0cb97ab6970382b3fe4aa9c33498c87fb727423ebff8d135bd5346b614eee49a111559467bc50350f1aec3cde8f98e799121f5e5ac18debf779507837518308c2b59a9b49b644d03662a28df788a4927e95fec0956a4822ef57bda4f0baf674be50e10b8cf0ac7c2035816bde9b58b2cb762bd451539848d091ed62db9bf4e01dbf175a062ef0da5fb034d343fb1089e64b054e46e0c0c9df4834b566d7a372041d2a716b0e811962c350302caf93f78604fe2b574cd4116698bcfbdf94a6c939edf24c6752443cdbf2e0c031f5a93fb276019b34dd2fabcda3bb83b1aebd9cd271b7853f2baae6a58dcdf8905581e039e497daf3edf871134017c6502ee2caf7a35fbf8179eea1091e532d8d00c0147025d80a17de2000387c42bb73276bb2c17185e5f90e860a02adef3253cb9a53638d2ce61d644434705581e03b4ff9c783dc7a95f5b8c28d430f12cda8e7d240551a0d30b38622245400c0646a85f038dbce60399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803dd36a385fe8d2df75dff57fc5440a653bba1fab0b96f62d5436ec4604f86615505581e03fb2c8d25536761876c083c44da1e8a610b979e28c30c8dc673b334412007011bffffffffffffffff05581e03891b3302cb04b28191a6ffdd5d33c15176d84843b356bb7ca0b4f2adb00c034701dc581e48540005581e03cb1b2172859927d97ca3648e54298c18814343c7c86a5edd4fd40883100c01470183d3b569ca9005581d02bea4e58becc3425e296aba7c556a0e60fa4afe1f9146b830782bb3600c014701eb3171219dc005581d02963ac8b94201e708a9debe15aedf03e1dc5b5e479a346f8744e928a80c0346144465e77800045926fa60806040526004361061019a5760003560e01c80639010d07c116100e1578063a64b6e5f1161008a578063ca15c87311610064578063ca15c873146105eb578063d2c4b5981461060b578063d547741f14610620578063dc9cc64514610640576101a1565b8063a64b6e5f1461058b578063aa5b2458146105ab578063aa97ef02146105cb576101a1565b80639812f33b116100bb5780639812f33b146105365780639a5a98d314610556578063a217fddf14610576576101a1565b80639010d07c146104d657806390d49b9d146104f657806391d1485414610516576101a1565b806336568abe1161014357806360e355071161011d57806360e35507146104745780636df77496146104945780637a3226ec146104c1576101a1565b806336568abe146104055780633a9243d7146104255780635459060d14610452576101a1565b8063248a9ca311610174578063248a9ca3146103a35780632f2ff15d146103d057806330d643b5146103f0576101a1565b80630815f6fd146103365780630d8e6e2c146103585780631880021914610383576101a1565b366101a157005b600080357fffffffff0000000000000000000000000000000000000000000000000000000016905060006101d48261065b565b905073ffffffffffffffffffffffffffffffffffffffff81166102a8576102a87f734e6e1c6ec3f883cac8d13d3e7390b280f5e94424662aa29e27394ed56586c9836040516024016102269190612082565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526106a9565b600060608273ffffffffffffffffffffffffffffffffffffffff166000366040516102d4929190611ff8565b600060405180830381855af49150503d806000811461030f576040519150601f19603f3d011682016040523d82523d6000602084013e610314565b606091505b50915091508161032757610327816106a9565b610330816106b1565b50505050005b34801561034257600080fd5b50610356610351366004611f83565b6106b9565b005b34801561036457600080fd5b5061036d6107da565b60405161037a91906120fc565b60405180910390f35b34801561038f57600080fd5b5061035661039e366004611dc9565b610811565b3480156103af57600080fd5b506103c36103be366004611f01565b610a31565b60405161037a9190612079565b3480156103dc57600080fd5b506103566103eb366004611f19565b610a46565b3480156103fc57600080fd5b506103c3610aa8565b34801561041157600080fd5b50610356610420366004611f19565b610acc565b34801561043157600080fd5b50610445610440366004611f01565b610b42565b60405161037a919061206e565b34801561045e57600080fd5b50610467610b57565b60405161037a9190612027565b34801561048057600080fd5b5061035661048f366004611dc9565b610b73565b3480156104a057600080fd5b506104b46104af366004611d6d565b610d93565b60405161037a91906125d1565b3480156104cd57600080fd5b506103c3610f6a565b3480156104e257600080fd5b506104676104f1366004611f48565b610f8e565b34801561050257600080fd5b50610356610511366004611d6d565b610faf565b34801561052257600080fd5b50610445610531366004611f19565b611084565b34801561054257600080fd5b50610445610551366004611f01565b61109c565b34801561056257600080fd5b5061036d610571366004611f01565b6110b1565b34801561058257600080fd5b506103c3611170565b34801561059757600080fd5b506103566105a6366004611d89565b611175565b3480156105b757600080fd5b506103566105c6366004611e1c565b6112c2565b3480156105d757600080fd5b5061036d6105e6366004611f01565b6114ef565b3480156105f757600080fd5b506103c3610606366004611f01565b611577565b34801561061757600080fd5b5061046761158e565b34801561062c57600080fd5b5061035661063b366004611f19565b6115aa565b34801561064c57600080fd5b5061046761065b366004611f69565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526003602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b805160208201fd5b805160208201f35b6106c4600033611084565b610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b60405180910390fd5b61072d7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb282611084565b610763576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906123a7565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116600090815260036020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60408051808201909152600581527f352e302e30000000000000000000000000000000000000000000000000000000602082015290565b61081c600033611084565b610852576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b61087c7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4984611084565b6108b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612472565b60008373ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b84846040516024016108e69291906120af565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161096f9190612008565b600060405180830381855af49150503d80600081146109aa576040519150601f19603f3d011682016040523d82523d6000602084013e6109af565b606091505b50509050806109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906122dc565b60405173ffffffffffffffffffffffffffffffffffffffff8516907f4aa65286df310c4e8390d962c75f50380b8260d96ea27cf14847cd683e22d9db90600090a250505050565b60009081526008602052604090206002015490565b600082815260086020526040902060020154610a6490610531611620565b610a9a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906121a3565b610aa48282611624565b5050565b7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb281565b610ad4611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612574565b610aa482826116a7565b60009081526004602052604090205460ff1690565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b610b7e600033611084565b610bb4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b610bde7f7a05a596cb0ce7fdea8a1e1ec73be300bdb35097c944ce1897202f7a13122eb284611084565b610c14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612313565b60008373ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b8484604051602401610c489291906120af565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610cd19190612008565b600060405180830381855af49150503d8060008114610d0c576040519150601f19603f3d011682016040523d82523d6000602084013e610d11565b606091505b5050905080610d4c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061226e565b60405173ffffffffffffffffffffffffffffffffffffffff8516907f2622745e83f97f2d871ef785497c1eeba6f9bb94c7dd486cf28228e814d929e490600090a250505050565b610d9b611bf9565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260026020818152604092839020835160c0810185528154815260018083015460ff8082161515848701526101008083049091161515848901526201000090910461ffff16606084015283860180548851938116159092027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911695909504601f810185900485028201850190965285815290949193608086019391929091830182828015610ea85780601f10610e7d57610100808354040283529160200191610ea8565b820191906000526020600020905b815481529060010190602001808311610e8b57829003601f168201915b505050918352505060038201805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152938201939291830182828015610f5a5780601f10610f2f57610100808354040283529160200191610f5a565b820191906000526020600020905b815481529060010190602001808311610f3d57829003601f168201915b5050505050815250509050919050565b7f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4981565b6000828152600860205260408120610fa6908361172a565b90505b92915050565b610fba600033611084565b610ff0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b73ffffffffffffffffffffffffffffffffffffffff811661103d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612200565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000828152600860205260408120610fa69083611736565b60009081526007602052604090205460ff1690565b60008181526005602090815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156111645780601f1061113957610100808354040283529160200191611164565b820191906000526020600020905b81548152906001019060200180831161114757829003601f168201915b50505050509050919050565b600081565b611180600033611084565b6111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b80156112bd5773ffffffffffffffffffffffffffffffffffffffff831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee141561129c5760008273ffffffffffffffffffffffffffffffffffffffff16826127109060405161121890612024565b600060405180830381858888f193505050503d8060008114611256576040519150601f19603f3d011682016040523d82523d6000602084013e61125b565b606091505b5050905080611296576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061210f565b506112bd565b6112bd73ffffffffffffffffffffffffffffffffffffffff84168383611758565b505050565b6112cd600033611084565b611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061253d565b73ffffffffffffffffffffffffffffffffffffffff8916611350576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061243b565b73ffffffffffffffffffffffffffffffffffffffff891660009081526002602052604090208054156113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906122a5565b6000891180156113bf575061271089105b6113f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612237565b6127108661ffff161115611435576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612237565b8881556001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016891515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101008915150217905561149e600282018686611c37565b506001810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ffff166201000061ffff8916021790556114e2600382018484611c37565b5050505050505050505050565b60008181526006602090815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156111645780601f1061113957610100808354040283529160200191611164565b6000818152600860205260408120610fa9906117f9565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6000828152600860205260409020600201546115c890610531611620565b610b38576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906123de565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff8416611804565b3390565b600082815260086020526040902061163c90826115fe565b15610aa457611649611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526008602052604090206116bf908261184e565b15610aa4576116cc611620565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b6000610fa68383611870565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff84166118cf565b6112bd8363a9059cbb60e01b8484604051602401611777929190612048565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526118e7565b6000610fa98261199d565b600061181083836118cf565b61184657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610fa9565b506000610fa9565b6000610fa68373ffffffffffffffffffffffffffffffffffffffff84166119a1565b815460009082106118ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90612146565b8260000182815481106118bc57fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b6060611949826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611a859092919063ffffffff16565b8051909150156112bd57808060200190518101906119679190611ee5565b6112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906124e0565b5490565b60008181526001830160205260408120548015611a7b5783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191908101906000908790839081106119f257fe5b9060005260206000200154905080876000018481548110611a0f57fe5b600091825260208083209091019290925582815260018981019092526040902090840190558654879080611a3f57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610fa9565b6000915050610fa9565b6060611a948484600085611a9e565b90505b9392505050565b606082471015611ada576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa9061234a565b611ae385611ba0565b611b19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa906124a9565b600060608673ffffffffffffffffffffffffffffffffffffffff168587604051611b439190612008565b60006040518083038185875af1925050503d8060008114611b80576040519150601f19603f3d011682016040523d82523d6000602084013e611b85565b606091505b5091509150611b95828286611ba6565b979650505050505050565b3b151590565b60608315611bb5575081611a97565b825115611bc55782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa91906120fc565b6040518060c0016040528060008152602001600015158152602001600015158152602001600061ffff16815260200160608152602001606081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282611c6d5760008555611cd1565b82601f10611ca4578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555611cd1565b82800160010185558215611cd1579182015b82811115611cd1578235825591602001919060010190611cb6565b50611cdd929150611ce1565b5090565b5b80821115611cdd5760008155600101611ce2565b80357fffffffff00000000000000000000000000000000000000000000000000000000811681146106a457600080fd5b60008083601f840112611d37578182fd5b50813567ffffffffffffffff811115611d4e578182fd5b602083019150836020828501011115611d6657600080fd5b9250929050565b600060208284031215611d7e578081fd5b8135611a9781612691565b600080600060608486031215611d9d578182fd5b8335611da881612691565b92506020840135611db881612691565b929592945050506040919091013590565b600080600060408486031215611ddd578283fd5b8335611de881612691565b9250602084013567ffffffffffffffff811115611e03578283fd5b611e0f86828701611d26565b9497909650939450505050565b600080600080600080600080600060e08a8c031215611e39578485fd5b8935611e4481612691565b985060208a0135975060408a0135611e5b816126b6565b965060608a0135611e6b816126b6565b955060808a013561ffff81168114611e81578586fd5b945060a08a013567ffffffffffffffff80821115611e9d578586fd5b611ea98d838e01611d26565b909650945060c08c0135915080821115611ec1578384fd5b50611ece8c828d01611d26565b915080935050809150509295985092959850929598565b600060208284031215611ef6578081fd5b8151611a97816126b6565b600060208284031215611f12578081fd5b5035919050565b60008060408385031215611f2b578182fd5b823591506020830135611f3d81612691565b809150509250929050565b60008060408385031215611f5a578182fd5b50508035926020909101359150565b600060208284031215611f7a578081fd5b610fa682611cf6565b60008060408385031215611f95578182fd5b611f9e83611cf6565b91506020830135611f3d81612691565b60008151808452611fc6816020860160208601612661565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b6000825161201a818460208701612661565b9190910192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b901515815260200190565b90815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60006020825282602083015282846040840137818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b600060208252610fa66020830184611fae565b60208082526018908201527f4661696c656420746f207472616e736665722045746865720000000000000000604082015260600190565b60208082526022908201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60408201527f6473000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b6020808252600f908201527f496e76616c696420616464726573730000000000000000000000000000000000604082015260600190565b6020808252600e908201527f496e76616c69642076616c756573000000000000000000000000000000000000604082015260600190565b6020808252601b908201527f4661696c656420746f20696e697469616c697a6520726f757465720000000000604082015260600190565b60208082526012908201527f416c726561647920726567697374657265640000000000000000000000000000604082015260600190565b6020808252601c908201527f4661696c656420746f20696e697469616c697a65206164617074657200000000604082015260600190565b60208082526016908201527f526f75746572206e6f742077686974656c697374656400000000000000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f526f75746572206973206e6f742077686974656c697374656400000000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b6020808252600f908201527f496e76616c696420706172746e65720000000000000000000000000000000000604082015260600190565b60208082526018908201527f45786368616e6765206e6f742077686974656c69737465640000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60208082526017908201527f63616c6c6572206973206e6f74207468652061646d696e000000000000000000604082015260600190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6000602082528251602083015260208301511515604083015260408301511515606083015261ffff6060840151166080830152608083015160c060a084015261261d60e0840182611fae565b905060a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c08501526126588282611fae565b95945050505050565b60005b8381101561267c578181015183820152602001612664565b8381111561268b576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff811681146126b357600080fd5b50565b80151581146126b357600080fdfea26469706673582212203fd8ae4e6506de07cbbca3cda754ae71293e8b3e0ba4c10c5c5bdfec31c3ff2464736f6c6343000705003303f2c356d63401a10ff525854d3077f3e724182771977ab99eb649094de8633e2503c023a085e96e83804d1d4a1642ca5699b6f47aeebfa0fb7f31eed5865807888203b2defb5e3be3b97e01b2311d392cb1ec8906b2144106ea1d4357225f9cbf9a140058200216a134a6393242b15c5a3f997b882090448e11c4980d429b34f77ced9416135456a14a1954b5d5fd7c636a24137a93742ba708b9005820024b0e547992507027bb0d60ea368f869c694ff34deb91dd8a4c671a8a433973412100582002c05628d969391a406d574039234689bbd55a8d991dc280e3588979feed04b454d37a6778e18216a13e920ade3dfa27e0c87dae6a00582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054216b4b4ba9f3e719726886d34a177484278bfcae005820030df02c793806ad2f867bff678b882ed4f0d2318c9ff4f2aebfbc74432a4a40549be264469ef954c139da4a45cf76cbcc5e3a6a7300582003b57a1003a52078293bcfae46239870dba93197fe33959ac32e21c858519ce0412300582003f084fef4edaf066ae6c56a48af8ad899b656f630420e4db0cf2c1ef52f5a80410100582003085276082ab2429ffd3e95fe08bb28877abbeb2d0878130b27bfa7422e8ae054c71781b5a7c7f1c8853dde052c9f575fe0bd04b502198a41005820028de037436bd370a08f548191bb949870fa46d2802517c77cd9f6d768b13a03543a0430bf7cd2633af111ce3204db4b0990857a6f031f1b11ae96119c22fa4a2ad43b9f7b669e22fbf92ca65093cad09f5516deeb1f005820022f2d987d915d650a22915bfd92c27eec29b702d604e9cf0324699f7206b3aa411300582002ccfd576ba239d52b290975e906340db82ba043cc1fbd3668424261ced158da541555105ee707e19481a36e1fa67bf0480ef132f80219e655036750aa29322c6f0ee5655cd7d5c0b1703b625f2caa67bb030fa667d667747b5b005820027d489eb6bdf30a06a1cc8910a49a73bd433dfcef55432ee6ff35aea8b2dd9354ab86e2bc9ec5485a9b60e684ba6d49bf4686acc203f11c27948b694d5faa3a6ea66f07df920f14414f71d0e3a7b77c3ff4a15ab6ce005820022f01df5eaf03ee907d16b77aa9eb559aef13b860d95d8d91d07ade49ba6ad154ab8e3b12d71b248b6de1e688be6e1f80845e478a039ea86b111002d4457da8cdb516b3ec9e74e0af0565bc06a3f1c6dbb2957af63100582002244b55246140f7c40e1a0625e03bc6aeb7df1832a68fdde1f49ecfe6a98435410700582002d5150bf50d49f412437b068a1526cc8ad7d71790a64bce3597dd333a275fa954369a2fdb910d432f0a07381a5e3d27572c876713032504302631dee0d1ed2656f954c3b31907c7e1e92f8d53f31c2888bf49511e4a00582002af161a94a3fa9f516fb6bebcc1be7fac2f3a69b3412144cab060d2f8262e5a412600582002002b8032be6e15f7049632eb225de92b7db2c17dc585c21a151ad307c9a5a054b2634b3cbc1e401ab3c2743db44d459c5c9aa66200582002c54182b11a2ea30a23caee6ed8eedd5562228974c17826e1253bf291e8b72341160219a5fa030b1b1725a7ad7341ed6fa133ea59edbb789706825437183a54bc15029f58a9350378620763bc215f6149c78ca88612c12334a6fc859ae14d9712ca3e0ac02361ec03931aa87818c32246a281822027418584fe1ab26a0c53add1dae126bd18c77c3b035567148bc1e7b15fee619b5f0a79a2934de9e568de0bc95a566b73d75640cd110372251f208f9a8b3b7329a75b589e30bde4d8da8641c9e829b17549f0538523a0034abc5e1626272c8fdc34df4a433af702e21a1c00b65212997b9a199bc1a1634f00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054d5b927956057075377263aab7f8afc12f85100db00582003d9122fefb3f5f0fd67de9675f45416b2a7f27724f31ceffb0bda1f346732105466c1c25d7d2bd4a32ed33501e202b275030f402c0219040100582002a64954fe892a49877efc95c8aae32edad6a7916d633eb7f99170520775579554749015effb59fcb9b826d854f3ca5c5c2f192147005820024053e8368edfc7d0e36d4610515d81ec44799a07ebbb9ed0eedcd3cdf81a66545172f0309ca013468c339dc26ab0a8095f87e26b0336fdd52b08d7e6f209836d776de0b930d5af8c17ed40fc9137c34c7fee945b7e035241ffabe7d36a1802afd9fea5a7135811551b7362a4c44783a287c855a2c6ac00582002a011ab57f5aaa1f39dd5395aa18abb80a200f7832a8ab3d5b4d7000746a79a410b00582002675d501e584c0b61a97a932859138d5a1b715934870a4dde51aeb1ac2b919241160379f3cd73d3c361fa6cb37b9a762ed0a7fc63f38f6b683939cd2e0badcc1ee41e02195a560352af6c5ab3b74acdd0553e66479879702b7b4e6aff45ff7b090ede9e9264e58d03851cda027184f9e81069a5a353c2036cd6cb7c1ef29668c11f0aa85f86baf548034a1b58bb0968bbd2862ed0da7b5926e6c6d3311cf7d9dcf2cb74f0025121350f03d956f6b3308b9021bea552ba98df0a99767e1eefeaf5f21e058c59f74ddde4d40219ffff05581d020873cd2d1f0c051c69fbc1e62e14341b33b24bf7fe16fff83545147807021926fa0219900105581e0305f7b67053896ca0dea57465a66d7890f92b99660fe0668b2d46189b800c03472ce0c78e46b9c603e2ea2880f9f1d257ef99e8725928498b95edf13d0506224d59e0491adc0915ca05581e03f5426179fc344226fc8f4856892ea0960227d24ae2385c1d36ed7351700c18cd4659b8c613b5b80219e4fc03250c591800007da91d34573c6d71e89a05e8d14e92dc51f0797833955a9cb6d503fe37df8afb6b0ee132e4ddcafd40a1a148520e73f7148b5b3c5de736038f8a8403dbaeea131fc308be3a924c602872098770571bd1a75be99805d7856c86ec12ef03ad3cdaeb9c468a919c326b95f07d139d6072a25f4103b50050bf1ae26acace6f03b39af281cabafb669efd8139cae9900c0e0fb17f688387a24a35cccc27aa04f803e058d35eb16b4740f076c7e27bc3f1e0706e4af9bf93cbdac76a525c07b475fd0219ffff03a59c0d9ab87880e567d62af840aa340df17da1ccf3098d2877c24a2ba1e698c203edfd45477b7a40d441b792485553a37e54971a690585e55cab2a1fa38be46d0b0219ffff0337eb0930c5015dfe984023f775388a14b8dec5ecc84fae7be138ae4fe7071f2e037c91d49fdcfd0e8aab0d08d21b7e2818483a40883a7a15b405596f06ab3f4f9c0219ffff0328d6d80087a7366c1def315fdf9c9b4290da3df53ffe85463a2af691c243604f03b2111430931f54850cc622eb20fd61468f1999758ffdb33853f35f5f5c5193cf031be6ab1468441ce77b6ddcebd01d48fa54286b702591c0dbacc2616e23f42764036a5d48a4f75a57d9da1214626f2f032ce2d0abbdb20d5e18612d7fd7152d1de503b0f3bdbaf603cdf7b9e20ee2d833849035f8aa112e23c54ca503f1a23bbe45f40356bcbe6b72f85668145414672cf122c459064f3f3427e582329d6467941af728039fd34040b09ac076bd0309c44eaee947b7855bf15e8c5eaede5df2f57e30076703bf1617658eede1e5312398bd0052fb7a63f67601ad560900df7368f8a87ace6c039b4f5221cf72a3fe5fe13b66a1ccb9aa010d5e9c7822d742aaf19adf0e1f9b5603a82847cded1d52b879f8d8aca4ff8b6feb6c6f4974d3e7f662994468864f7a3003c45a1716eed1d1e51bc1d5d89a324408362b78f1e3999012ca9f4373a02dafcf031f2d9ece77f670f0b4178ecf817c450e21780038c2f150271b68f9ea5e1c6bc9036c8de7a1a2b7b72abc54cd07e896f8d9cede38616e66607d04675fa772846237038df8f35be1ee5a23f506648619095accff563d3d72a089f9e74e5183d5a157590351c99186b4ce7cefb137f3c11464acb0727dee1daf6ead0fc871cab318400c4f039f2a78522e9cb2103719a66cfd35df2ee81fc3ef4a514c899d33186bbc3e78a4037ff8fffbc336276c2922261692170ee70dfe0d17043663b86ca3561a6f3c8078038aee1403975848253e5e5c455f648b42b11c0ca5dc0bc78609c452b69e670d5f030ae650eaefdfab01ebd68aac7a085660bafdc09e373f434af7f358a168b231440344ab6c39269fe5f3658c63645beaf3dcfafcd6a63c244fab2b7c0feabe0974da03ad31b753d159a2c9af9908435a5608fa688bd5942edc2a8298fb3b58ff46412503ad8315c0f449c8a2eefde352c27d82f9bec214c5f01cc84fe1d1c75bdd5451da0383a13ff1a42a6895ea2c7adec703ef393059a543622a7b511913d320fe91d66e03611f55eab5d6804dc9f1aec60e78fa16fe1b5fe5d234504d4d77123eef87ed5f05581e039f3b9d8507af59fb857185a3660f2750af740751084c6a27c6c1c31fc004183303d74c043d869a61b41b643e879753f8b7bb20858486f4a8ee6647652b1496690001410c05581e03785ba19c3adb1886d146def66191e39fe1eeb6c949001e9a0c728aae700c18354801472e1933d8600e033f323a1e9fdcadda11aa7358bef9fa9e7e8f418c4840f0958b2bae34119fe1c8031016eaba452fa555d0d9aa34eeef5dd7de673e27ffb1a2fa9909c17ba2b8bb05031fa5011406bfcd9316236526535f5926340f65c964a03f73a0fcad0ac8cc0f3d05581e03058d9e5110db21d522bcb323048f6a556a1c553162c97fa817a82bb110040205581e039e835fcd3c58bda90f3aee5344fb295c6978b138b3fd1a981c9ef265600c18424621245a97b29205581e03049bccde75a82258470749212710a86dd5a7aea2b90b9c6c337b7a16e00c07470472e94eaa39b902193cb603b9007849699a04614c5ae71b1bcf5b9081ac5a167a4cbb893faabac10aec993b0219ffff03dc9a0906821fa3a5e79a7fda42cc00657eb178f041173ac7a92b2b8fdfba7ed903f7a5b644f57bf59788a6bed138efacdf59fb317d7ef4d25aa4b2d68cb679609a0328d64bd0d972f577df2d1c21b394c286500929a2f983239ffd003c4ec818ac8503e3155ea86c9259e857c16c7936246f17300564b9c44d9e1da9df60d4f97954d003cafe61089bf75a64a3e84135b5ed050cb1bfc17a18ad7cb643c82222c12fa3f603b32d8a19d6b334472da461c34390f46344ea6785875cb1c22ace556405c00b040304246c91c34e29f6303b5a5bfb08e2fc7f3d69386d7839c4d2152fd3695cdaa70377c1fd01df28c047cd93d5ae06f55f521e579f5a2ab687f70f0607b0ace3676403548a7a81d6266b41f52f6e24804ad28b012c17e0307d2d84fda141a154dc7c99036d5e18f273eb1e4ca15214f1ec6ac6be60274c0c5d4d32e80d7b34e30c00bc510363a20d5208e8c0050851df96bda25820cee28afbf020cfe8e8a6d0f7c7e4ec03031f026cf2f1b408ce98d68199dc9776d7986ec93b925e26296c31cb162acbc0df0368d5495ce478d217fedc3d0e09c2687655ed990eafeaf994b7089451f78ff9ba0219ffff038f132ec79cbf43df4a92615964cc7a8f79eb88b023488615341a4b1be55eb791034f3fca4dfa7ffa20f5b1b0c0b7a1e5e8fb663d7f5801823b3339fac7b0a6d312036ac86f9da98cdda1e379fa672e7dfc235406f60b12728e83bbe11681530090a50386feea58cb2a499bede6076fd9d49f84bc0a722c2e1b5b701f25168c30936b8503bb09664ac7276b7a5c34ed2f174d66421b2bb45b1102b17a5cc3506eff929a2703a1126c8367f98acfef9633d7c3b3f4fb64f1ddc563d9fe4ff6468f6ac5e6dda603f4db03fdbccb12061be186564396be6047e2604c04b65091056edf02b7e104a303208e71a0d2094be548c49f473467d9e5847c8ccca248952eb2a5354bfff87c040219ffff035ce41d9c42493cba0dfa19f7234f5e5cda495d1ee44bf1aba2da72f9b3074b1e03d4d31ee67ba6992f3f419dda0e0e58c7de2fec6f9f3a036a613326392ea5d445036116468a165361307f0c0c0610811f3130ffe79549bfd9ab090bfa3c342cabe5032bb7d193a3d20f40a8bdde2161726be2436b5eed6c49aa6078296f541766a2fe034b25fe443fe414c4ca3ceef0ddb4acf730f974bca1ad5b327ad6020915f2c0dc03e42158d8356ce149da429d0fdf1d05458579839bc520d819cc44b3e39212ca2a03a7ae5f29ff42a7201fbce23f67735daacde5790f08da902c3100a44ac26b9c02035ebcb99da7e43dd7cc57b401932b6e80227ee130ebc8b6ba28db026403edd3c103a8c0d37ef3a5a451ca7bd8aecb3ccf1a596983374f738c3f433f1486c87fdc8d039653e5fb2b2dbfc62ddd3fbb9b6bff52ec124fc14a65dbc9a6bcab4ba79042ce0335c0a8e81a9ce763730800aea590f0748de72abf79b3926038663b6322d2b3ab038dd171eb5a93dfb2c028918f139e8b7c0aaf33bb40f4540822939da3ced5837a031f575521852a9cee21e84738c316c5269de0303c476d2dfe5cdf8e05cf964fc10367d9327248661f9c0b84c77812691a1ad42f5f37e3e4577e69974be947e49c06031f327d8b898c5629223ca01110dd9505acc1074a0c6e7f30cbabbcd27bd71bb903dd525190e35ea29745046fa9fa00c1c6d63c507a08e9d6cb916f06f4c0e555cb03940962a4a6be96b223ebf3bfd08ddef868adb0ff61c7bb594f7d21d87efdfe9303b49d67d42afb69cdfe97a33ac6c55c9ae35bc46bf876890ea5161440d6b7c2f80336cfac05759e20615143c92aa2d084ef4ff9a8ad2589c34339bd12514447d2a503cfe39b28af8de2855e3602c08f4862b5aba570e0fbd3677588ac52ba09c8cf3803719b3848e1396774b3ce3e91b8fa7bed5d3b8ac80ad5bab88f181517d893a4590352c8f58ebb6d3c35f1f06166a42743c7b672bea26e644e06ed4aa782c94338890390c215f41a2acaf29e093e456b1bb6b86263629faac5782cd6dc702865a8b98d03ef57fdb1a231a2ad7742e5c72d4240d5ea2898b97f2f94fc4ff201d9cea899dc03717aff3a1400530ad8ff4d46d4c905f694ed80a0af1a20032a222f8f1fb46bd403dd5a994f6adc07a5bdd3101a612393c760353e072885d35b087331e7fac94aed036099d27c9dfc5bab57a28e4240056f604635f25f09993321b6629727e50e68ec034583f20ee5758d560b1160a96bb1765828160171351916bf53b4e966aa0fb07a03453471a39e941aa53ffd9088c8f8cb9a11d922de48fb65f07a4a7e4a037d551f03a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e0320d9644905624fe45253dfef57cf302748b090a11a2c3ef172d7d5944007011bffffffffffffffff03553fc9acf0a27f7d4427dfa081d010b96118bd4748a2224b274f5c5a3586982a0318026b9be5ea8ac80eff58841df0bd41d41fe120d59414e03c4a3d23e14a4ec803e2141e1e570c55eaf110e7bb45bada7351d1a8c4d48b30eae10af0f270e8baea05581e0302f40068e1b2b62f4ece32ea68d2aaed2b2c961b7100fd87979743ef000c0147035892cf83952c05581e03c73574de05dfdffcdf33bcb4f3be75d4d76642e20b7aeb9150ec9bd7200404034c3b9ec4a46459cff10f8565c4c6772236b1535deccce86e3d46476d1e9a8f2c0605581e03a947fef7e92cce4197ee84c46a90b96d5486fee2cf6699cb92ae58319007011bffffffffffffffff05581d02f93155fef935b08bf372066eed88598d178266c7186c8cb530efb22e040104590a6b60806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100a85780638f283970146100e6578063f851a440146101065761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61011b565b005b61006b61011b565b34801561008157600080fd5b5061006b6100903660046108dd565b610135565b61006b6100a33660046108f7565b610196565b3480156100b457600080fd5b506100bd610221565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100f257600080fd5b5061006b6101013660046108dd565b610276565b34801561011257600080fd5b506100bd6102ba565b610123610331565b61013361012e61041f565b610429565b565b61013d61044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b8160405180602001604052806000815250600061048d565b50565b61018b61011b565b61019e61044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610219576102148383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506001925061048d915050565b505050565b61021461011b565b600061022b61044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b5761026661041f565b905090565b61027361011b565b90565b61027e61044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561018e5761018b816104b8565b60006102c461044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561026b5761026661044d565b60606103248383604051806060016040528060278152602001610a0f60279139610519565b9392505050565b3b151590565b61033961044d565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610133576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b600061026661062b565b3660008037600080366000845af43d6000803e808015610448573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b5473ffffffffffffffffffffffffffffffffffffffff16919050565b61049683610653565b6000825111806104a35750805b15610214576104b283836102ff565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104e161044d565b6040805173ffffffffffffffffffffffffffffffffffffffff928316815291841660208301520160405180910390a161018b816106a0565b6060833b6105a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610416565b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516105d19190610975565b600060405180830381855af49150503d806000811461060c576040519150601f19603f3d011682016040523d82523d6000602084013e610611565b606091505b50915091506106218282866107ac565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610471565b61065c816107ff565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b73ffffffffffffffffffffffffffffffffffffffff8116610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610416565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b606083156107bb575081610324565b8251156107cb5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104169190610991565b803b61088d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610416565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610766565b803573ffffffffffffffffffffffffffffffffffffffff811681146108d857600080fd5b919050565b6000602082840312156108ee578081fd5b610324826108b4565b60008060006040848603121561090b578182fd5b610914846108b4565b9250602084013567ffffffffffffffff80821115610930578384fd5b818601915086601f830112610943578384fd5b813581811115610951578485fd5b876020828501011115610962578485fd5b6020830194508093505050509250925092565b600082516109878184602087016109e2565b9190910192915050565b60208152600082518060208401526109b08160408501602087016109e2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60005b838110156109fd5781810151838201526020016109e5565b838111156104b2575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122006d608120345cabfa40f99ece9e714fe7a05c4cb82d8b7be4e9435192e6d3db264736f6c6343000804003303abc3d683aa2db894f2fb041d3c361dbad1a5748ffeaabb018e20bacc6921ac0b03a0f6900e9e85c1805c82b401847e0d3be7274c9777bfe3359b08facb0fc0fd35031f912c75eca12d2da2382c533f4acaa05dc1e9d55866f85c12aed9661a5c573c03f8f7c8de08bcdce085b6e118526e3658001ab37f8d1e149027204a505266292603ba217efbe7c10b0282be33c8015423fc299931ef243dc35bc5792f5d67469d85031ba067a6e3ed55d0b1e2c0cb27d475e78dd3dcbd9b1375f898f7e0aae6d5cb29031a3a62b69cb8a713cebe2caee598c563a87626009e5061b87cc5d6ca801264ae03bb8ec294ad6702daddc6f58733e423d762f4279474e357e30a3b2f7893066f3d00581f028caca96b8d4fce2882a1e5256960db32608c11c832c7634584c6313caa0b410100581f02653baf801608cfe3e6053bb715411db895872d1134efbfeae8d24473624354b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02de5369b42d73a32ab0f58832b3b209259bdff1868fbf0e69a72f097f2e5244631cbea500581f02a7a8803677e494efcbc6a4e015262049414f9231741734dc6729f202cc8558204f6f67610000000000000000000000000000000000000000000000000000000800581f024304a1d8a298dd836e6f5fcc240c93f0a64da967665122eb24bb7ff64190410300581f0275365690bcb943fb146fe14ebca96d18032fb09bb80224f351d9e62ee03058204f6f67610000000000000000000000000000000000000000000000000000000800581f028eb4221a7a2f3a90180229f5a088d603f9eaa25fbf34ed1548f66146962b54df6f3a6add540f8e628ff9bed5040ca09d075a0800581f02988f56b83c146352b9147002eb3918fc4101c06e3514d4445909b9bbcd4a4101021925bb037fcfa2dd77ef6932c73b6522df5eb3261830e9040fbe7e0223d138a0e918f69d03a7740d4ba994470b4bc63117a0cacc337a994b384ff7554de0b33be306024b4703612a0d10e77538cb8f64935140569a6dc8a6d47f87edf0e19824ddaa3b0857c7039d47f186419d3503f1387fa09e3dd3e7301617d9ac00ba330d1cf33c7d48294d00581f02f656fae73dc2cb04539505a03c511f29aead30d815ac6dfaa536432dfb6e58204f6f676100000000000000000000000000000000000000000000000000000008031e290570ffce426ad3d46fa0f68f52555a4941159e6607e898d4ce4222ccbdc700581f023e39ccc869065eca7cb133e4eda2f267a949f9a0c6f1ae3ca7faf627612358204f6f67610000000000000000000000000000000000000000000000000000000800581f02e626373a9d0ac95e620d308e7c0bfcefd931199aac266aea2b99a91aac724102021982a0005820037c5f50a005523d390a31e94392c4bda00fc79431da7030346cbabc6d1f7a30540630aacd7cff5c304e5e3a6aff2c2abf2739a03f030ed44fcf2a24fc8d378e42e16c99be94b9d0ab3d4c7045cf69b1c6ed0dde328700581f02dc404f367f176743793bc2899f33bcc3c15e5f403674ff76d452e6c31d9a4877d9a14caa94ab9c00581f0236718a37bc43bec187b8359689113090d4a325e720e91b965451923d3bd95482f2f82d0e72be81761c18a118faff3e5ee21e1600581f02e2f619dd6ec5fb2a23b2f36ac2dc4493f0e08859b7b4e0147390582b469658204f6f67610000000000000000000000000000000000000000000000000000000800581f024b13c9caddab996aab4926fa089794addf0c4b2c0e2896f107ad51ae99c758204f6f67610000000000000000000000000000000000000000000000000000000800581f028f61754aa1aa0627c8bc89519ff622b4dba8bfaf6ac2e4fa22398a08d52c4101021966020219ffff03e555c94e7c3fced7c93760acfb89b3e1703895f6ab309868e2b1923bbe5d819703c39f3aea76bcbc670e57b88afd51bab4302d246129fefd62650962904212df80039c06947dbf89dce9cab73ccaf7ed973433bd09ae5e369bb8ff175b4d150ff752034a1af9973ecc241dfc70e62dcdd2c29ee9db7156fef196773ee19a62f2c3766b03f8f46da2df2c7e84fa621a9b9c825b5f6fc615e25762afb968ee936b52bfbe3600581f02620471463e5fc38b09da8036d3ece0853066f2881ed1b6af1e54cec82cd04462bf0d7c00581f02b51230c86a323ff37e07d37eef227f010a30bc8a47445be0ab52f13d67274301000000581f02db04b72a3ed89cda02b27be5ca928aa4e2bfc26f5c3a1550e632e18ff3695466f02e34ce51397d9ecee0bec87e09ef9d67993e00581f027ef104e29f9596a3e79020788366733d4c5ad2009e9eb67b58b46fe7d8da58204f6f67610000000000000000000000000000000000000000000000000000000802183a033c607e07334725cc1083a566d2b8b40bb3d570c6982ee6c42482ed27e9c884a9036158eac8f28f19a6cdf9b3dad5cbdb212a6155d4c990be5f897564095bae989103945d5a2e4a04620e982711a6935a4b33c75431453f5644577c7053ea774a5bfc03b3bf6c0839a23ca2bcf7f9e3fb902f8605e3a7c333b9a04e7b76baf54e8a2455030aaa33bbdf31c7a805afd9fdf391fa106f72033344eef40021b41f1d262f96c30352c84722755a7fc310956b0c73629241e33392f269a9bb041e1a9c776c7ffc160391f9f271c1c8bff60a80c125992b75c0c45fb1519067bc6d943fd47fd8923767030bfb80285d470658fa7970a3dac5a8e48b60dcbbf88a3cf06e0e284a2516fe9603c7f33a09d0a4967b641c00e7ff537b9a36aee4356296b95da03f47b3f199ba0003a6aa284a1addc9463562f0f1d5b5494ddcb6615f202447c4c2efe146792faef70219ffff033c1b645fcbbfee7ced5d8d0cb799ea796a93c7ec53a11b0490b501d8f959ca80032d1c482b783de31719dc1adaca29fa35490265cf902ee61cad97c15f7a2b75f7035f1a47802b69530e3c750b9a4d140216941793193e6cecfe85491f83c725a1ec031cffd663b411aec81fc557b6bbf4afdf0b8d5d19ac2c291e813dad75fed9aed603bf3bc2d0753aec3381f7afc5d01dda54a3ebbc29d5d35562a49d815d28ac6e8c00581f0295806f74cabf59a14506b69ab8f58b5ed58b88b93f6ef0eed90f0d19132e545ce697521f40269c986d8559f0e55dcc4b2752f303a7f670cc1c1191ab9bf69cb611144154ff99b7a0b943e97fa9deecf5877ca02600581f02cfada1d76f46a40ee9b30a2f03a877b8f02bd02d77459f6fa0e889c71c4d54851b0a003bf1ca98ee84028848da1ed69a50cca700581f032c72b46330e21cd44954c1784211ff22e28cb3b570f8b488b8a8e8e30a9058204f6f67610000000000000000000000000000000000000000000000000000000800581f0340b89e4f209e59f3fb3a9c52c706ce9b9423dea48ff32b66436440248ed054b4dfd420a6982be95f27fb9b1ec0c374690ebec202060304ae0c80033b34385861292491f0a29301f1a8d04e8ba43e44410d13af6ba96a00581f02cd01e1fc1047ba4f14881166f3123893e389d50ea3ad44511e53dac3c3b94461efc4d40219925203350f1a33b4e404bec18334e870f39794b7de45a6cf9364161fc94f93529004af03a5213556f9b1bb35f09e16da3f0e87150e4c1401d6ba2a6ee597767817f93431032236566c3b2fa3ff311f93a93fbcdfe347760038b960315159ad06fdb4e9e5d90370c51dbd2f91c8ccb381930c75d4459caaa829f9c1df4580068d5bb703dd1956031ca063498aac6a3044589b4939c27560888e9d3f75257abe986a605cac4fb1b3033f5ee731ef4f15f3b221e58243fd045cbc814df4c0ac575023d05dd5360259ef03dbf47e4f213b4cba70d57355007fd45ac61e847a03b99a6dcdcd870e4487d29303eb530e629c681f3801a57b13e80c75b84948f1f5a13c93d469d6e4647201339d039946a9d0aaffe0c22b176c1ac9121c5b6b61c2a2dd5e67aea8efd93488fe832703e7d47d24bfb4aa203e51a9f3a1e94a481485d9b453ae0885f9f021256237e29e0219ffff03077a2da9d0a25b007a67de53bbeb5a777095209c0d181e084b19503a5500cca500582003cd3371d0e825c46ccce41f7409ba70e3b936e6c36f4331b490015f831d9f70411103e4b3e605035e2561e842b061e07cff34835206bd20ca7d0c2ba474d67fb3fad00395c9831c2e1659790b29c097aa8ab5daaa45dfef7b9f79097472b5a1683e3f4103b37f4ba27ad6550cb5e371b3fda57c56df97a725dff5bc65fa64edeb7b7ad8650058200381597f7f047ec8583b79beb6620b0c403271fd3ab8458dd4b66037e511022058204f6f67610000000000000000000000000000000000000000000000000000000803327cf46eb3bdc63dfebcc615a37f077c9a53f232b5b5173adaa4f1ed20790b5e03a3aa17ab2d7ecb87f11f7a0d6192c1a257ef2ea14e95a30a8b2af7c6884af9c503d37986f4168b38199064026ff69fd0bb1cb39c170592e2a74583376573263e1f00581f02ce6f77c8f22137f04c3ee000af2250945370434812cc9493b8689c660ec558204f6f67610000000000000000000000000000000000000000000000000000000800581f02c487d4fb326417d67cb8cd50e5feb9fb32fb3a6abe7bc8f77a00e7fc03f8446630b89700581f020f3d4a28f15d01f5ff7573ea3d7be2b335192318bbd3d2da02196ab1272c54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02384c7e20680db95bb84d19370020291d4ef82e018e750fcc2980428417d5410100581f02a30d86686c04fee3dac6c51a11a120b3bc21f0f9908c3af08270f8b2e57b54ae2461a7c635d9f7573a971bc5ef79d4111f1fc20219274003e1b31866d49368e77eae60adcf07421e8401de47fa5ed84dc9a81bcbc8b7b74d037ce347b229cc1a956cc83229bea3cb82605e0b8aaa72e910df4a709421b54ca2033bfbada63f30d49aa1dacd6e89be0a4a13ae05cd36604d123b172a277f00eb480388ba1405bd411db030c113554d69a7bdb9f2dcb4dac3f4a9b48c2020905b108403be6d18af86be8b1a9b6237c7fa5772cc88dbb3b2349e0def22d30f6663456be6033c9c43f0b7b2720f0a3b8a6282c12fd69ea8d5cf17c339aaacb9bfb9181157b70219ffff03911b9bd19159782ca272e39122c5ebf4657d6e76702f7f614685d7544916dbea03e719c5120a4658524438f27bb5cb9b03f7988ad6e9767a1cb833c5476a4b63fd0389d4bd5d5769ed66b4c435b31f8aff7b475b83c658f8ddfe6b433b27c1f4385003c27754c0f85d4d9c9c4cdb43b032d16e20797ffbd2f038ea1c3a55022662aee2035bab77bb430476730511bc145e2b074ed04703c5f40187d32226a20004f84474038b55a9b7b009a773f0fc1f982bf409bf5138065f1d25cd7fb700660c02f9c2690361ec7b8990cc56a3d148824d7649944aca789f7cc559b8333a0b713db504e51303225e4155d4b24c7aa5de6795b6075bd2c13665c86403a5f1ad3eca676ded127803fa83d0128ab3b3d3be70b8e285269a2a97f3d3b8c736d252d5b235b88ce4387003070e7a98263d280d161e81d8075f574b454bd9a46dc7c906408a3f05eab65a640335b41568e9375d9301fb0819f48fc2e87793bfa8bb71a14a8e4b13476c819f8c032dc924e3dc146bfcff93bfb175be8fe046eb17a2f1367296eea3fb9a6a2de28300581f0240dd8867e68b5e5f5dbc328327a61aeb7d739d2a376a531be60964606fab4463ab548300581f02e27bd085d65839e925a8c319f1fd51ff1096acb612967a2be5dd5cb8d52d4301000000581f02c7e97107262e07ee3f62ccd14b63cb9a6b16b54a1a6e768de738b275f86b58204a6f686e5468654865726d69740000000000000000000000000000000000001a03eeb98699d1fabcb25a35e2cf4dc7ba38697a0a048d6fa89a42a764fb97d0774600581f0286f36dd7e4085b2da5c5939e7cb881a4e57fa5faa81703469369c5cb631e58204f6f67610000000000000000000000000000000000000000000000000000000800581f0220e0487ebe066ec10454524978ffef07daf2de03b40c799cf95181e48d3954851b0a003bf1ca98ee84028848da1ed69a50cca700581f028da05ffe7efd4a62a202066c50b06c7f6591ab409a05f36f7da06e8461724461f6eb510219e849032058f723b1c0aaf6d9f2d9406d40fc93677337e5afa99fe74314adb7241649b1033e04f6e97fbcbbbe79dee4756505884403fcbe48ec4dfe6777ae2d3aae55a0ff00581f0249e389c29daf022b9b51b50f0dd29abb06dd62baa37d16495fbfcb1406184461f2bd0300581f0203e948ebe55f9bfdf711ee239e0c3e3c95fc5496f9261ec8edc09f949ea844650f7c2f03e47491218a76f9670a7122ff22a186336655d541af95bebd1fa7c59618af5cbd00581f0299ab9ab0cf6ee6772a9860835f980a8e4af179644b31d25a9a1aee642f1858204f6f67610000000000000000000000000000000000000000000000000000000800581f0225f0de0c3da1f05004bbaaec1262b3b3f76509eee1b874bc1ce9e00fc6f44461efb8be021982290376b2cb357a3ece2f272b1727e487c1025807845c20a0afd8b1c4e2242a0740720340d3efcbde29c4f87a8e7f53b414f9ceae66ddd9d3f1a40ed98abd76df4fdd8e0219ffff0373e05f4ab31143ee3c35247af56bf510c8c4f66e3c1bdb935167e058708b0cb3031cb81468cb7f508b51b5d5aae878f870e57707b514c406864ffb17344bf409e503009496d066c2b8e68f6cdff7558a553403c632518bbc9daf7d9b1fbdec24f37a03f4619156cb693c7ba0c720b17182ea4c31292b270312bc86da45d13e77dcd87a034543e16722878f01bf49208d600bd413e41ffe8b8c97d074d7f6a86019b504d100581f027ec828897fb3978839942341890707d1ec7a3436d1bf006c64d882db64e4548041aa28a98da37d7481d34663a5b6415ca3b56e00581f027651724183f26c520a10e4c745c261b4f5b02f3013ac9f9b4cbc92dbd96d4301010000581f02cf4bb75322a740698987d26b1390c095dd93d65e7e7a49ca59f70a60fe5058204f6f676100000000000000000000000000000000000000000000000000000008039549bab1fa3d3d349ea0e8fe51859c4cbad0f5c51039873152ecd204a82b1ae100581f026693643e285719aee8d93dc3ecc86669ea7047abdf30db289131398c34885490bffe61c7d12e137d659600a124800943018f6900581f022f12853b98da76dccb75224caa075300b0462bc665ffa6e3aa3d3a3d6ae454a751b9c7255d0e2ac70bdddec1044fc7657465cc00581f0236ae22cee9120508247d30bef0329a299e04efc6adb7aabca6f7b9c4452f4a02eb2d7358b3d19362b000581f02069d880d83994c674d853e1634df3d79e2868c4a60d7cb1169134605c11d44644a2c3f0219e2e20370159596cf2975ba2b40afcbac490811c57163ff335d57a1c5878bbc160ab97400581f0296ff23c3e21abcd70167b2083f4a51d1047f651bc5ed27822ad42b17403f446239cf7e00581f027fa25e918f9302d7d29e580ab0cfb413fbca0ee29b29afc276543fd3b5875478aeb1383224d0b6572525f0b99177b717ef0d0c00581f02270d3dd9b7ff3c1d3e92d8a8d4a689671c23f2a0252c8d2f15dfd52781ca54d6f1f26699f9d4e6054e628559b844fa9f0ee14300581f02a474e224213f4e66394a323b880ced47d01db634666f34fe55a317407c65410102190846037b3b1852ab2de05f032fa83cf33599d638a6d212d948de079d54dc5d48c749e003b23e45eaca810985507610536ae02af28007b70ccccc6f580fb2de5b28aafb4b03514ddddb0e93b38a28d75cb48d1e85c4df6f423787487befd0a4053cbefbb45900581f0226dc59b8d8df47ee02079996a7a4bb5de32c9fffe0889e9e54fc7f343fb24301000000581f021ceaeeb740eaff2d3183f2bee178e4e2edfaaea304fe650fcaaff329f0d2410100581e02d7b048a36211ea492e2821c908ba034307df35ccfa1cb74ecf4e94736f54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581e02bcf916187468decfd9858010bab960c47737c7dbd9106599652ea71dc758204f6f676100000000000000000000000000000000000000000000000000000008020501410900581f02af8c559ad9a993aeb254caa3569a599bd074c219c59cb6503e9e25e9e97958204f6f67610000000000000000000000000000000000000000000000000000000800581f02ee62508f26959999966d9806583a9e5c1866487310b17adea5b6ae2ca2fe490244f579f3f5c74fcb02191a840396b28edd691f0dd0326c3c9597ce395f3b8e9147702b755b6b3368786d1ff28f030bbbbc2ecbe799225ffa54634783169e1d39aff8bfd788c0b6a4f46c0358852a03e7f6d586a23ec34038a310763b173cf68723507911c46d933806e77d3c09ed0d031738afa79cb37a24d2483a271200e488315d02984803bcd6dfac71813b89b3f703c9d448f2fcfddc6e8b2444bfcd3e2028f6077df7366c2561ba54a00db60c04bc0219ffff03cb31d7a5779c2e43b057dd58c22d5730ae6a81077bba58a93c0d98487e38a671037fa5d826f78d3614db5252c910dccac6600c44ce59f9cafbcc19aa06ac83663203e0bb5a4630d83049beb831c1d3d6d74bd6de600f536adf25425891cf24d6c0d503b24e05b4d2830163aa87bacedd81d1fbfe1426d7015f78dc20227d9396e120d1036f3e17dc13081c56465ad3980ddb08713c580c6c9d07619db02f20d426ba57f20312337ef53b5cc814bc2d9078964ec1f17a0a24525ca8cd8e73c10bd0ede318b903e20f80b850d2e7eb6ae598d8ee3aed4f76e180115026c58cd678a8dcc7561ef6034ec0e4be54b45aa6ed043cc2619638852c6d6bbbfd74ebb340efd12df6ab747500581f02b547e27c9b311786eb913f5edbdbb33993bae952d273f6b2860562755c4154ae2461a7c635d9f7573a971bc5ef79d4111f1fc20372c8fd4786d376a9d7b92c8c6daf4cce61d505cfae2d7db1e0394ec795f6300d03196249e2a01bb8b155350e2b62b05bd727f914b42a95a9c05eb660652ad8594f03d0abcab1fad4d4a247d78a39edcf7d46cf320682aa10f1b50c40841acf7d0ddb00581f02d344a68f0798016d717aa95cd6db1b409d55e91e1570706992317d54c3724461ef44540219b0c003ca4f4076f6036d88da69a67a3cff1617ed643e07583b3cec684086f052511071038f89fae74ec8a1a52f7a56c03a27729d39e4b79221f91425496b98ff87d7e01003df95c10516c54e899a1a2da87d2b443f95b69b19d9f1177b404dfd874f4797f7032f1830c4c4f18b6c53747adc36007637d6d8ced725760fd3d15d4fe46146c2d303775fb42bea7c0a8783282cb3f4951790225a958761210b7e44569e34a2ca6bcf0309c3c419147d451a9344fa89691211b5f2a78d19455c40d9b432d5580ea58ab403e6c6e8be747828f854ccee2bd355fbcdca9815b438124c250297d56ecc4d95a50219ffff031888381da42860d8ccade80ba6b5437b253b8a7827ef738e2921cf5aeffacd6503ff9b316403d8ecdd681ab3b733cf4033e2dec83478e502ffe3ff250f5bad727f032a8c3b29b2c856b139bf8b25c7e6cf67b258e4b90b79916ce49c0c6c81f8471b0399cac7fe34707dbe9c1186caf1f4ffbb35378f7de10759ed5d0933505f22d70f038e07afe8f2070ef0c817cbf512c71401046dc028421d01b83f31b29a13a4df8e03cf9003d25dac220191660e93f29f53467b749267831c2b2a48498f625935d63d0377c63e39ca8d78316f05247b07385aac938101c22e8c053d09f6bf81bf02525803b570e1ad947ce5caf4f9d9d421b0694e42e14d2657c628d2d3065f021804ac6703b24fd9e8fee29c758fb646cbc460f8b5b1eb2daefb8fb14defd07843528c74e403b88c8bef42ebf5db5d5d82dd2b11f30725d1a39aad4f45139a4fa78a5a1a60a403c809b740a4af6cd2e987a160fd2c9f5b392d6eddcfa18cf907eaad33d8f9e08300581f02d0337f564ed10e71b963d60c12808010ae1b91d11e1aeb527f3a270fc977548cf943c008973a7f4c23f3f402d424aaca3a365200581f02f53daa826b72715fbd0cc5719db46ac9040a47dde2083f6ddf084f8403b4410200581f026e47cd192d41c7483a99a13bdecb6391a63ad7cdd038291217afd560ff4c410100581f02db54d8c722921f8d97773af659cf35dc45c5ba926e3d5eff858d560ce0e54101021970c803d0a48d4774b06c4f8c750c8af8b1c7a49ba03a42c3cab58d88501e73b9bbe79903c959d41a90422b7635748acff295149402c533e9aa0725d89718e43dd4c2dd560358d322eadff6d018958bafbe54784a11cdda44d06ab0eccff941a37f6821a1940365b18c138a2a7cf013dfc46277d24e327cbac90d6967e9020f857bc49e10c71703d135b509316f56eb2f41482df5de41f50df0c79e995723e8499f5c2b8dad22a8037f33ea670d56db016d438ad2c1c3b6ff7bb5a5151a51b2ea8fd4327afcee0af70352809e2de64582218ccdf52b06b9f4b0aff6fe82b1b00ab2c3392cc41f530c77036de108cc5c1be0ee2e5c12e46b90e480803301c5d6da6ccec23d9c10399cf07603f23b55e0fe4556cfbd89c24b30b975bef58b0732bbd59ca69990870e56577b0e037aacb4b3cb41698e6c7a63ef961d163f96fd2efb9749566cb1215ce35f5f857500581f02635e830265b4785a14c82f64ca60d9a20255f59e1e86ab965c0647029a725451f4b112d09bf1572d48e0fb02d8e546806331e800581f02f551e7eb841d66277c2989f3b3f3a6f7c5192204a327205782beb491d90e54675166b5a682d89b08b8a777399604ac203e202100581f021e85e16101c8e283a8fbb10dead0c819107ebf8936128f8b456799a0401654abcc86ebc70378819474a25086c80a3ff96f1e0400581f02bdb32aae4d80e3f76f9915fc611432f76da6ba0878915517fef807a46391430100000219a2190219ffff03a0c15b4b8ba795e379a66f69260beff478c7c24838f7d7da21bbb2db3489a3080338136b1309e6bf833eb89207d712a91e4148d76bacb6265d59b2516b3d96130203fc4a5f15b4053d7e74434a5d9bdc19947d56811099edd19ad63cc0410d4a7bb003fed470361860252aeac4d68e2db3567fe601b77b291ef66aca8b1a750cdbf97603c7961be60ef1bb956f5cd068113a0730cb7e40d72d0009c53a906109990dd57e03581ca435ff5ad2c46236e1ec6c1a066de013de028f41f0857aacd1af166b14d8039a56b0e78fd980901e7258283df1fff3c4ec2d16897f47a42f3173541b38531f03d104eca42e43ec06140d0936f3d2c3c52ffa77969523429058275c929743bd91038f547b0b4deaa941d5d694bf2602b678fb4772d7df6bf3b11f28b5d1f166889803312de8dacf1dd9a633a565486aa4ad327723fd9e0ff867caa55ccd74965155ee00581f02611c316af4c67de9948f27051a55759e421f65fceb55eb5557a7c4cdc9d854b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02e143b9f5f21260f667d7e653c198b2c295e1cb8ae0846420a08b69aa92044301000000581f020b4893acec93b522c6543137814fc411a8044aac51ac127c99fd12b8df704462281270021918080342b74e2362fcb223a9c55a2b1591372c1ba4d2803902c4ce992adc6c3b699203037f3ee64df6a1e61a2cb941d900229a89acfca8888a330f4e6f2bdf87962b509e03bd4310dd19dc2b5ac653c9a1bee0424533de38b3f939478b4efb4f7067394f5203cf43b0ea7837eaa5e42bf2aa0171b64c08d1ff4b778586ae3b622ab5ea3a46ec030e4efadabf3ce904daf1c996763aceac4062d0c58d3206c080d44353b1e90e1803957f1bfd1f6bef06307f3fda6c7a265c846bab81b0f9f55a9c0a5029bb6772d10219ffff0219ffff033cdef22c1da7982067c2d126dba38e730536853eba7645a328954de56793dc1203afab1fe3d5c55aa20f977a1af600933e2667d15db6054a3852432c8fc8e80ac6034a47dd4b6adc21fbcd7f590c77ea5d7a5cbe5628f9a1a92a536543580177c3cd0371be205756c7a1a9263b0fd061685aba99047dd26e7e1a47748cb09e543060a5034f8a14215564cdd49d23bcff1673f2fa7dbd3db382d5e92cf22c23462a25b451030bc898d17ef28ce4b02252297d181a4f208ae3b540d30483751a7e1f91abe80f031a14f48f2523037ac7c7f013653b5e84c776d2bdf1d7bad232a1f6d66db502ea03883516695bedb7147fe916d5717e8c62e578aee19f9280beaf9275eaf882181603200eb3c6f39ca46d838cf3bf67510e8f12245c0ca4c47abcaa16e1e679b52d540318b7f2670026a270c1eff485ba3ded9a600e95b5608d1b5e539ea56c2519d07d03a69b1cfc53e1771bd776225f0fab4b9c6fe11b59e35cd96b2f14bd1e2e57712300581f025d1d12ed4a612ede6ab3a12430520a32b9745c7f13aa32acc6583cb954714461efbce303a9ad55b058f3de53779e3edc0e92f470fd152b7eefa719d6df06672355d857a100581f02c2d3b7e347cd6ef33012fe68119e4ac74bc56cc9926fc8669296db28390a54b4e765beb8432f31dc81d851a04b77d526a04f2a00581f02655617a7b41be400e335660a267a80caf8c57670cdac8ac988050faf1ec04301010000581f02a892189cc5ad0163efad026c464296f80bd0a721f7a0c0645d447c3f917f4461efb74400581f02c3851dc5ca1a82219e24ef12f48b28fc25b8f44dee612752d7177681597558204f6f67610000000000000000000000000000000000000000000000000000000802198dc00335e88f7c892a4da5ff88c2043ccbe5261dc10afa37574c1e77f00467aa538fe003f68eb0590ba3bcd04b30a0788733a1a06e6990bffde4de20839445491b461b7903f6c2c4d4d86d17aee2677fc88c26c00e077ad00ba401ac606d682e241a7936cc00581f022acd3ab48eca7c2fe13d3796452f2c33cfc4cbc3584265bbdce723403b8d58204f6f67610000000000000000000000000000000000000000000000000000000800581f022b108d0b7a7ca310f535bac633e6fea7f6198b845336d9b12a65973d4d604101021918000219ffff03781d2bfc13525ca945a3a8d26757873a58622eec9b13a110d49f3f5cc202d8d703fa086183254d24a6b90e723cacc670dc4b41074db84173ec97a338b30d0a6cc803bc3d10d25a8bf97a6249449955bd1c507cba83c84041a619f4c87b658f8d0d7d03c640b5201c5451a5a162100bb20add7d73f9f4f022a7c5c5ba606ea24a2d4dff036956c3df7284934fabd4da84cfbbcbd3c1c64c9eda6147ca4c4e0021990894360367f3b00e9a760d83780331fb1170003c3cf5f49990e2d6e3412de503cf04885c0319a2585bc4308a2efd88ecf92d2e2dd8b0c1613d39640b9a191da0002e56343803703650265d30c78f54bd698dba2d693f0ed41a3c3e903d639eb178c6b681816503d63fd01105418b1ec7ebf44daa94696d8cc2324d65371bef8943e4ff97c45c48033013dfc80fffdffd98de6eab80b3bc189f05d812ce39924ce850ecb2d151bfe103d7a1e97dfc0f7f0d03ed07aa034d24b6e9065c71000ba614871c7c8f8f794bf903b87524b14ce9e1134276a7a2f36a8fa9e100bb034f6662b1012f7892d37eca0703e1c0b8a2c9eda932f3548d090764cde973cad39323072ed379233f3f1fc623b003686e2afdd3e065e36ea99cd36aef6d19be93a522bde0e669c719eeca8f859e8e0362ef6861b1852e3e76b0fe8a41f5ebb26b831db3a51d29aea5d6235b12bc364003964795489893c2f82887a925c7ce47305c85d8f50fcf3039753845afbf9927a800581f0291f366c85396c895809bcca8210b299ed68eb257246c8b16e89c2fdfc25f54ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f02870db9b1c339a150a7de7a0dc460fb312c6f1f0809304532199c313a58ef54ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f026c4bb040da302a36e4b927484d84ea900d5f7b2300efb3d385005d3628b64301000000581f026f415e50b4ef31e9d86f39d4a632585e047532cf654207bc001c7e58695054f74e29a292fd3b32dacfa792a29130bfcd82bb5800581f020972060cd64406f1563172ae4eb1706d52d3773fac22ed8b11c53b7ceb2154179c85856302a7b91cca4ecce530c08260e8a6a6038376f9cdd0f9bdc7d40ba02f9aca703cfe6c62142935ca30798fb5ba1fe406100219839203356835dcc2cdcadd82bc5ee408c0f362fa98bc217d3b22bba32e047e34063ac70304a717774f278b2fe64a1b57286930875b8a6e46787e43ca3370d05f6a00a1a70219ffff03085d5765cbffa80fd30f5bb52364b88e13fed83a2206e2fc8741b18086c61a3800581f0241decb319d57ad0d5e48522dd8a8b702741e844250064209545a9eaecbfe4461ede9f200581f0221df8ab1840cb1c6a1155825334ffa0f1dbedf183397005939ad3bb778e7410100581f02f5a112ccab7333a2cfe91f6c569deefaa56810c51190549f90cea15f862b4301000000581f020cc727261a7d077190ae113cac9a5b97fe29053380302557ef9ed0f0536c4463c2bd5700581f025354bede375f9076a6ed793e1421d75d16ea39f9a6278958e91c4fef1e5a410100581f02a396283efb4f207eb00ad2fde795713d78bc0b280d0c5ff1bffe85f04d4654dd7f18440c73bf2b39c3fcaaf873a99286d295ac00581f022a216f323eb312d4572ed3ab809a3544b65d049b00f24c518e02ef4a61d554f74e29a292fd3b32dacfa792a29130bfcd82bb5800581f03319f7b1f67c4ca5f230b6795ebf2ddca19a0377ddeb0904ec95b9b489040410100581f03feb40bc24f6f8a5f0004a59d2f26bf80d2f8b2ae9f54b37b5dc2f14bf6c04202fb0219204000581f02d04425dad78f09a40fc6eaae05f66d202ccaa3b57e892d6829dba5883f835466deade933993e4d1a7c868dbd7fb8ec0b6b317f00581f02e895f0de0471a3541896b64af4d93f189b809b1ea73a0280972c643292a241010219b765035a986c31411c2cb8e575473e486ce684ed06ccc45282f474342610f544b6df1503fd5d089c4052593ba87111b71a7fbc48e2ff981b0f9598d223d1c5b90d3470f003d82288e1f5ef04b885b60a3bd43baa790939be196f0ba0c59b226135aea85d7500581f02c9769161bf0571a49477de2f1333c02d78087850941f76a448506d10bff5480738ba184590770800581f02ae84a2f099e067c5e29a8e1434d995379b6a30c40155ab2207035be6ad1b58204f6f67610000000000000000000000000000000000000000000000000000000800581f02ba708a89a75d44c5ba3ecd18b4f1f9092ed20d95693547582e2b5b873eac58204f6f67610000000000000000000000000000000000000000000000000000000802190284037ae0f4366de012bdb9103a106325c6e421b58ab5217bb96b47d05de9e50c46fb03f45bb0d4b96368558c222bae387c4d3ded887d8e37603d393458302cd86b184f034ec093db062ecb283c4a6b329771efd79b5a4292e10c57eb89dc63b47eba45ee033019cea2b51a7c6c325cc11fd596916aaf9b123e127011ecc13cdc5b3e6513140349eb6d2eeac5a5b37981ec28a0c9ff0861410d7df0d124ecfeca4d10b70f3adc038a34b4348a1ddb788768ba612343fcf1152f38c7df1f302f545a319d382922aa0303723577881865a48e00a93d91ff0ef5a19d8a37eb2f2e9964331e0069dfc3ae03b1c7e9a7ce8122719547b16ed591d14e58d43d68eeffa194eeefc50a77f232b103452d478a9611bf6ef1fac84b07f11f75ff86bc38ef76eebaeabbb528c38deb8003839a01481e81a48f4ad8ba49af8d5aba1ae97ec1b8bc64533d71a949bacbe4e90219ffff03667ed24c057539926bb709c90c3d95c863c02a039aab2b2f268a455646efe5e8033bf4692b0e0ce4fe28c7b84eb9b250f47699d67092405ae22dcc200683a2422f00582003e84b3b516f32e2c2cc8b23efe4b0896166d08c5139faaa1ee720071daff3a044620197c900581f0260ccb5c2d55fb89a6b0bcd393ba17cae976c5161dd1ddc812acf8a68459854d1f677b0f5a217dbb4bd87273add9eba1e5fdf9f00581f02c7e89fe942a9cbba1d82e65e3c7fb0af7e47e2ce870d15cfe91022b902d554b4dfd420a6982be95f27fb9b1ec0c374690ebec203694ec1f3a823a11a46102193afb460c69306ff4e75c8cef9b46c4b309217e64e00581f02a3add6153b7ee1beea9df59eb16c3dca2e6be5cd7dc32fc37e2a7d1dac1058204f6f67610000000000000000000000000000000000000000000000000000000800581f02de255ea76ec61c5e44a31fce15effeeb1996c273d58478092c42dbeaf31058204f6f67610000000000000000000000000000000000000000000000000000000800581f024a383c7b89a9868f904e2840cd7544ca7573bb57dc98694f5d7ffa2d94c842dead00581f029787d719dd7f7af6c3d2749e0fad2a999408c2d1c585a87bf233fb462a9958204f6f6761000000000000000000000000000000000000000000000000000000080219e41c03a39d3f76fa481fb77e76d7c091129991b25924faba35137677046e3535c600dc030549cd8f6452c8a4ae87568b2bbc331f3e7f9c55d1aa18349a54d009ab4709dc035769fdaf3a8d155dccc73901e97d48fa7ef70e5e113ab311a0d7a893858efcc500581f0281c8de03a683db202ac96b56092b710ea72f1bab91aad3eacc944080912e545fc1cc4a453d258ab16e3a5062019f3f328ad61d00581f024e9668704acce8813827441eda6f57a335d6398a1fcff5f2a059277556c94461edcf4000581f02385d34320f9e51f9b905ca8fc918e2486f26cc999414a17a48ff2ed6837058204f6f67610000000000000000000000000000000000000000000000000000000800581f02afb7b00732a65b2cbb7798e270d0f8d67c2968bd4353b45aaf3b84e918d1490f7a6c5969729d6dc200581f023de091d4f25d18c924aff1f878510ea86f85eab746877dee61696ef87899548cf943c008973a7f4c23f3f402d424aaca3a365200581f02e625c034e1f9e70f31b9c8b1f5b99f210e763e105f6b0a441d6127426c6c4301000003af2b89fc43f1e0762a16f73fb5ee61bf3c479a41f35f9a0a9ffb09e2bab696f800581f029e8ff724a49795269989af4a44cda2f55f21ba1a3f6fa8b597db3760e7f041010315e11534e38ab31049a8efc007a3afec92d15de0293317ec21818f749bd5f7b9021984ef035a2dbf0e7b947505ee13cdfe257fc7d954a7485817a9b2eeec2011b96282fb4c0347aab584d8c5200fb2e90a14d8a47fe00bc5c824f6f5f5cadf8e7e1845d7174d036a330fae5970d403f5153836a50bfb66b009fb8aa0ba8d3fdc5988639bf2219203d4d0cd030d516da6add189afc7e4e36273ba5d89b18154074c34fe46d7c78dfa03a7c66b0a00291faf9b13998488b780b4c51f1f3cae24ecb13c5c36ddfae2b705037c63b2a32d847186a2383991bebb4f512c0d4ff5fce728115ec9b8700a21888603528ff3992d88ca51af28565cc55a166e22131608892c70b27f721d8aaa29aaeb00581f0340742d36150d6162ed9f87cfb64118d72e3702155958f94f50cd81574b3054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f03afc1c637ca64197c5d3ecaa2d9b7c5993786fcf44c624f846c7784439860542b5802957709d6cae73b2d5fa81232e3cf9094ad0219600000581f02d3d37e683ba1e117579e5b11f86a811d5d13c6bfa623b27bf177705651c5547a41b12ae5c524db1809a8ae6d2574ec0c91230500581f0241845e7e7e8a68f4ee1ff441ff3e504adf2916563ad23fc53ea50d4b148e58204f6f67610000000000000000000000000000000000000000000000000000000800581f025d0e61bbca8ec5ef0151e538b6dab5c6152e4dd4b254c6de2622e93504ce58204f6f67610000000000000000000000000000000000000000000000000000000800581f028ca22384772c78c802e654f95c82d8fe92445e3ad1581d4f17e55ada157858204f6f676100000000000000000000000000000000000000000000000000000008035f34d92691762b9d87bf21b4f05c342c74480977778db798e3ba6b1b9a75118f01410e00581f02fdfa27091a52b34844157b9cd05d786a71777dc2c34b22c1cb7e67505dd74301000000581f022120efeaf84f5b4f8b6fa98b693be82f73a38eb93ce68ae335d4528af4d858204f6f67610000000000000000000000000000000000000000000000000000000800581f0234ea5c256faf55593c8ccf15a5f0b06dae1c6bb52a29fa5538380376b66e549a52c38241d5b170c6913416fc6e8dbcb1cc73de00581f0281f9e9a1fc9fac84ae72040ca969ebb87303553de9e06a67e49880c0e90658204f6f6761000000000000000000000000000000000000000000000000000000080219e73303acd85afbe054cbbe464c52e15343024ada0d2cac0a6d5324a33ccfcce74a8573039df75fc7aabbe3435016c2b486fdf31248981f28416bbcd0874165c598e0de930219ffff0387a16d8c5825b2ba4bb2aa3736fc19db4d2fba8ed40867884b8b2a85f4d8bcac03f0193ca187244a3d9f8e3f3c99e2a7dada52e784eabc9bf74ec21d66ca388c92032df242f6d73f4d46940849bc8af92b37138da500ed48f2ea31dbb7d0459d09030354e9bdb4995f1eccf4cd688063629184d7f9d2436338e3485cf269ae1956a5520309a9b15bbb1b1590f9ce540ba243e385ee41b8a18d9d99275ef3f4e2aae8c9860317f389a3cf1088246ec5e494900b51b860e45b221688a394816142c502fd659400581f038b1a00dd89f327f40fbbed95e7b48935999b7f71d14deb9a469dcb4141f058204f6f67610000000000000000000000000000000000000000000000000000000800581f0354c3c4eac284cc5fe213d2bfac13bae5efda75467473f62cd12882ff036054d3466d1f74f2d888d425d31127e7627103446e6a0219120000581f02f8cd349acb06d166536e8002cc6af72109eb7ddd232b4e20b48b9a69941b543e4a75e79da0d4781214ec0d81394b25739208f20314c9b59fd91ebf94a8632245e81dd775cc0d93e51711dfe4652076129d0d45ff00581f02cdea57a4236a006735398554a349a6859d0f521797ea5e5c91f2748d79c158204f6f67610000000000000000000000000000000000000000000000000000000800581f029fd751aa9d8f124353fc2aca0d839b6ba60561cefd0791c00e57ef795ea758204f6f67610000000000000000000000000000000000000000000000000000000800581f02adbc00b6a53af0fae9c51d60a33baec4d22d5a992534c575cf58be03219758204f6f6761000000000000000000000000000000000000000000000000000000080395d59567dbcd9e8aba7539c7426b14ea52fca441323212ca993b8ffdc9504a9402199958030ea6ee399be18d682627ce456beb8b9a51738de697ddeb73976255f88c95fcd703c6a756312b968520267f51a4f9611907f50ffc4c5a40389db8b800bef30b13f100581f0208812731562d44edc75f7ff58d8e6aaa6acb98406dc6a70ffe169ced12ab542d6d7ae9e83ab7f48982ea42c11eeda20274840d00581f022bc95fb446fc9671f3dfc66a56ffe6ddd6586e3fdb06664d504787e5b4f842dead032f9be7f87f70f669256d24622f2ac772f3aee0569f99d9069b8cadd5b7d4a0d700581f02c8ae421880670fdd1b91928e78f4d082cf0487e548e0c24413098e8eb6084462882b0000581f02868d8678d434b26fe7472520da831e1636f8927850b61bf6ac8d6a1b8cda54f74e29a292fd3b32dacfa792a29130bfcd82bb5800581f02df2d2d6caeafc4b4ac381019e8ac00922b5e0ce95fb9b0405273e33013e04301000000581f026dd672d50e90e9f1774896c7f6b4134a5a6fdc4c213390373f93aecee28f58204f6f6761000000000000000000000000000000000000000000000000000000080219a651033eba4b4b01dd1674a776fe913939c9533f8850beb37d899d09fed5282483641503d7816b54ca7810aab54e8b0568b5c86cc51ac4c62d3bac10b2725d51bdc90178031a2d8b826ed6d0a0c5cdab1b833378c7593d12b6b5966ee1322d88225c42f11603602d74191f745e10b1d6a5a60ed0303fa2d88f3ba28613c6fb0476db34e41e4900581f020c18bd769c23a5cc3c79a9a2e75d1a27e091d6015df60e78180922f8b5c958204f6f67610000000000000000000000000000000000000000000000000000000800581f02d58ba8bfcac7379f42a988e38a0244f96ca0532f765444addb25183f058454851b0a003bf1ca98ee84028848da1ed69a50cca700581f023f93aaccdce0d852d4f69f91d039e7c089131040458f2d63d81b53e2e212410100581f024d3f84d0312949a9de9db6578c8adaac7726843fa83776038b2a9d45cdfe410100581f02524820b5ae41bd813659a855231ca851e0f091694236b4c71bff1d6fa89d54d7e366e8dfd1b8900486ca9a4ed825951bce28a600581f022eecd3a41e7b5d50f798fd0bd34023fa3a7fb5e6788dda0fdbfc33eeea0454f55914186a692a3335ff44ae107fa724b1074ddc00581f02d0ac5e8fd9a0e074e065490f5bb33fc3f677e14b9e7472dc7c9cab71e4d04101021962a303c38421382fe579d373cb12e1c123161036f9a84e08ba0a17bc2315281ae31b7e0219ffff03c66d185e2fadf20bbd6e5678d41eb4e1ca4eb7b789b4040116b76f4bbe88f45600581f0243abdb0d1030dbc55e60632554420b69142a1acb4316882fa48c855a2d354461f227e600581f026bb369c0eb21bacbbbcd59695ccdcf27bccab2555dd22afd8f4f9c6df93958204f6f67610000000000000000000000000000000000000000000000000000000800581f02b30f747c8ac9ca6d9be9740c7dd5ab030229075d250ee1ce0a5bf39aba3154180c236820334192cd62fd7190a9f3026a3477030219110103976dac9d7cfb16d601c0254c2106fc6dfc81cd53007429508a17a962e59cd4f803cbbae014170374707b68d9ce6b16dc0ce070495ea70af1dc7439fe0b5526fd2d03a1df337c0233c0138c231178bbf9aa37ab3d71ce59956e6bde8297c0480df0ec03b37b0441c9512ba18ef21551cc7112027b5ed4b1e1f8e10f633a68ef8f4473a3038076dbdff2a3e80b97277642b5398e940400dbfb860a725afd67a219e407dfb6037183e0a00fd5547e5e41a8f8fa1a15553d226779f1b6b1384af8f565c260387c00581f0205b668b3b303d3d221543cfdc561e065e90384ea24be12df6aa405562daa4465f59b0b00581f02a3c6c584431dd1f1cb12552399c6961e198076a4901449f13c80a1ef4e2f58204f6f67610000000000000000000000000000000000000000000000000000000800581f0253239baaf404b9a9eaff7000eab6e8a1e4cf9b0a059a1da437dd58c8dbd058204f6f67610000000000000000000000000000000000000000000000000000000800581f02c641f2ef588d7e4dd1be4d269324fac4e08986e2deb1ec02c248ff8fdac958204f6f67610000000000000000000000000000000000000000000000000000000800581f02d6661da02e2678faf9c357dd5317e377b22818f0ea0dc10d50a18080c4ad410100581f0281ceff15cd7dd798a5e8ee642484496dfaf881323356a3ecd2299bacce8d58204f6f67610000000000000000000000000000000000000000000000000000000800581f028f99df52907a69eb1f6f99142d45c7596db3f1defa26df7d3f539c347b415432598e284168389db88e769dbe982cfc10474f2f0219f2450369ddc7c1d01ad21f770e09356db761f1c83f0292bcce549bc5d44650fb45c80a03533b922f49f183604b27afe574f4e49c9b4ea7b626ebc30b5e2cf7faa2b61756031a67295067f099d38b9fe0de8b270fdebaa501fb7f6c7683f952dc6c44ca9e3b03bcf96b6d136a262cf46728c1388f60312423f0de8b279116919bd3660af351a403394df3390037b7b5fdda008f7aa3e4f059d28a70e33f75a58522132bb4a8995a0373052d798cd74cee5675949e31f49eff72c2f595697aa0f1bdc6cfe1ae288fd803538b520fd38b698d0fbf6aee798fb6827b93d385b532fd5e025530d24e9306d603b07e8bf509aff36c1b229790d77f00f581132a2dd7acfae6da542a57d4445a220219ffff032bc4a616bc13341b6b26f2c994ac6f875326e02ca141c071d99be0f87c45c61b035e5784ff9352171ebd311497ead54b3eb9ad18c22912174c2839d11784db5ab9035a3af22952a405febead3760df0a458947171bb624193de7dd16941bdf1dd4c101410200581f0271f511412c798521feddef5529a2dbf7f48b32fe9abb96ce1729a2b69cd54101021982080318cc6bef79bd81d68576f5cdd43dd0943790a5bc7558f2a53f24cd09973705c10340421b0c36c8b64a36442ce4357609211977a4c0908b28d1ee9e23f46c3f99ca03d3421df97085a65278e87fc33a884af86f8ed58db1ad315b11ec0162f615d752039a0faeb5dfd296f2e26726c58449f50f7007ed333cfb4a7e64cad37b71065c26039490f78a598ea71c2b4d5f1dbf13033c8f68a176d134616865f87015f1dd9edc03aaec319192e28868e45be222c74d864341a17c5867874dcde51984a02578e83f0352ef6430e682e1c7875e21cabfd314d7e6d7aad08bf2fc71599fc771eca4285b035b71ab21ff7ac793832f8e8052943c102e1cd4eafe4dea398ab29a2fd40ff48303088648e38e2027fccf5b50dd560619fab7c6e7a90319c30409440e9eb5abc80503116c7d58aea54d11b4e6ac6b7edb2209fbad857f0e45ab90be128f3d7e9a552700581f02a765870b0fec20a03c07522744ce2e1c925a21c6880f1f23c4549361c16d410200581f02eb3ceb156d6bfbb0bf2ec62de1c0fc71b47da864922ba265ee39f21614dd4301000000581f02344bfacba3afed60fb0326c9c16f242cd3321187397a8537b4fba2f1e68354b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0237216d5737d2fee8ba493fb338b62f429b018d5431bb22ddf8d43f7a0ee158204f6f676100000000000000000000000000000000000000000000000000000008021940a103e4471c539bc7c38eb9da288b119f73549bf0560fd2fbfe58f083da6c665cc5cb03cf5762d0adbc998923309f8241e82d08e84f18c0a846a48bdf3bd481f17ef1c703226d65b20ed98c68e3b45948b21a5e37a43e08c22c1db08a7c7568db714a1a850219ffff03babecb3991282b1003a5233831128187f26c68814d771b91dc7be13781ce49e30399419d8f304964df38cc345beec5c6631266c02cd728664efe00971ba694e5e703fce7544127e0f59856723ab857894692eaef93f63f9c0182d047479a23ceae5f03cc9bb5c3c6314a3dd7af0c5faeabc83e6cc8847c5be1a9c5237afa6b0d6ff4ca03ef5d9236e8b23b3ea1efdbef238f7451cda19dbdfaf5089a26be4bf13caa6f8d03f0f0acc8e3b3476647be8dc753f293b9a6950afb96dc119422c31f630786ef1c036fe17f4ba3204a0942811ccdc8b02ca5d9332716d425ebd586b99f9e276849fe01410703f7cf634ca36cd35f972c5239bdecf51bc7addc9bf58a5eba70779a3a1cb66bfc03e55df42e41741539db8e8777a9493098a7e5ddcc6e95f60a2d96258c68b8aca403c934ceb6f4c05e706ea063cdebc7a94c4661ddea5841716c8f4151363c22a9ee03754cda99b18d04cda50b0b9def586c65e7a98887d9872dfb86cf4217ad68d7e803fdeab145ede4efed426864dcf4881c947059fbb011b72bc5eecaaafc9ae82405035a9402fd82227e84504781aaaffe00e77332611c0cf6933340d924071774bd9b0324e212e6677dcf5559a82386d32701f905375f8ba0298791d95d525f4d39ca1b00581f022e48ea13063253ac891a4b8391719de2d460b31c3395538f869e8042a59858204f6f676100000000000000000000000000000000000000000000000000000008031e73386aa25884d310d70b95332cfc4ea78b856fe40dc3d43683100830faecb200581f02d321ffafb3085801e10a1a7a813eb4c8d0f44be24e6f257858209cfda33954b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0246eab03812e8aeace9a6a9b008e9ae3bc49bb89aa4755024a4fb927e88e4549a52c38241d5b170c6913416fc6e8dbcb1cc73de00581f02f2d29b5d41f642aaa91b06c60e6752d29a81f6382245faa129d3588f49f754dd7f18440c73bf2b39c3fcaaf873a99286d295ac00581f023cf0be31173f69ad52d8383e342aeea833b75176ba21a4cfc32254352a855465fe846affdb9b6abfc032ab81c1c81727da7ed203b8e97be04bf5c0fefc53863a56efb91f0c0093e8fff1509f809ce4da8c16a11e021965c803597460c2496dbd295064da0d407dbda420a614f5de7fa62382c36507d71c487b03ef5cc6a1f2849729a28d7b8848764971402720e709c0145946d42b130ddbaa860219ffff033412d62826bf40c01f75cda5500e5bd0a4a557caa0aa454ab154581ac98e43c3037152240a601b39461067fcfb2ab4d1ef4180f50437a89e17f52c227b669ccff603f29466b161e895e588d19b1fe55474cc824d7d472b7cd3b21f901d12910f05ef005820033c51d789777271c9d9aae2507e7ddc7128189698374df8ec45d7cd549f9e8054ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f02fa574f1c12dac14f84155d171efa683ec6cf6398518f5c26ca97d455d28d4902bf4d7c14e5be25c300581f021642dada7d1c6169dda9d7b3129257510fb2ca18fa9cf08903bc0616438354b4dfd420a6982be95f27fb9b1ec0c374690ebec203a77775f9d3b6bb8045b5b1e585ca1dd4f372b0d9ca9d723b0f91dd7f05c9a9ee00581f02b9effe633d0ea83c081b5daf402c74395887b90b87644445ac7579bfb90354b0881976905a2d509cb769118c2877646956ccea00581f0223ba11bddb0e49a493c5787134ad1053488f39b7cd6b1b9a705ab2078b26410203068b153417c1a80e2bbf55425df0ac094825c5d62c2ed797827a83ad0a48220203a30e544d99f3a7a7fd9a9bd112d46ed7b32e51926662dd1751ae9c0b51df017a0219fa01039b92d08f2e6dbfb667c3cd38c242978b10d3bc1d483aff347124ef8436f6b7cf030444ba198cc0c252106d2c2505b47ed921e620cbb496830a641ed02ce9396c7303e12ac348ad38710d564f57d0ba8f20a4bd51a593fe2db9519349d3473adec9bb0322ece4843537b6be8f51e2533a3dbf914404371d7eabc68cd31606b8eac7f26b03bfc242230aa47ead1b06e41c0e716a62efd79f5732fbb3a40332600ca03bfd3a03bee07e26a9b7b85b440cdb49c18457586b269cf2d6d611d7c3a984f2d153a233032b6b2112da8d16003912247f2d0eb1aa9ad0121b4ebc9402d8f5737edbf93b5c0307f239dada74713fe845c88e552b34d0f319c99a47eccef87d70b03a66ceae08031a2e7c69060a48c6be7e2831b170a54130aae7e0f8ca8ecabd737bf61cfdc58c03264d19855b163463e4597fbd6fdc934ebc38f399db2eb5e68b8d454916991d930358546f1f8eabe04888a316fe8906ddf8017a5a1d9b8cd315a8b1e4277e3aa9620219ffff03a6b332f9fd53ac69461e6c247e127d3644e2d086654f86faca918a85746d699a030b2c2ebe6c310a6d5f17fb545f98c645a4ae68b56a415ed5520a1f2029ee76ab035bd9ce47a87063f6fe1efd1eeca1888457a27d64b16c03dd592c54fe9ed30d70032b042180b03f2d03536f325e4fcc217b94ee3191919bf9ca612e55945d96cd5103325abd70813e5937f6d86202ff6b1f324e3f193b1ad8f87b6cee0ca45b56e7ff036e4a64c864ee98c04ac63b5702cbc2b9a40e6b2639ac6726d9f847d0f65fa6f1037cc4f6305f24602fc6b7547f6bec74a1ce8e5ccc39a101e592ce3427fda262ae03ed94b546c71f4b781b3ca111b7e97f8a69104b113960b5a267a19d5b796fbf88034c83b8ad5bb32f6f2ffab0025f52112e52c1cc5fd61c3b33ee1dd3eefd9039b703e0b2edca81638622f8cfad0af141abb578650d6d05e48d53d8ed2e77f61c065f03178c94d065cd577979356ad5b32f8dd317a62dc3e043c755b23ca4dfb9d07fa40343ea7cfe40c6066e1fbf16feba46facf6d988405dc187c596ad510a3c9aea9c103aa67ac03af77e7aa34a5a93023d40002f962bc3ce8cc74cd7de97994b7945a0e00581f028a63522947edbd59bbd104c2fe3c9c381c8659cacb350ec1c8d3311d144858204f6f67610000000000000000000000000000000000000000000000000000000800581f0201f995a736e9764d03b12d84270e38631c6b7ef79f43b18232856092e6d154b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f029519df6c9e85c6f2ac50bf3faefd9adf8d753ee4fd2c298678adc63020ed4461fbd31400581f027120a95dfd5df457bc989b4ce21df9384f4cd4eac472c2deb4f20bb24d3f58204f6f67610000000000000000000000000000000000000000000000000000000800581f023254d07e2efa9a6a1c581bcc2c517abdb570efd2b78d79bbfeb216d1abb25436db99ff69429e70170110af18ae282f9acd65c000581f022d4631982cf468bcbaf013e2e7532e0e838eb636f8b95795fc0a4f8777f7490f34de044818ebf08e0219063603f9e2f6062c110d24efd746aa4eef5f51cf151ca5bf373a8ed1cc5741b2e6a510039c5fb4e1d97ffcde8e49d6a5ced095efd32dea2989f31e212f7c652cf54f17c20219ffff0219ffff0370ef65a7a2c13c292dccda54b65be39bfc5a0d88b8e18e19d83274ebf57d7f03035f8778375eef0e8e384e06fce997102e21cd8008607c78411226d568c240aa9500582003cecdc48c9d7ec1f918c883913d6bb29d8529a776b03557af48257c5dcb61d049796f355b535d752e8c03478b15115e6d469aa23f63f5dbffed29a6cda9d6fab7f13a97fd44c14c485f6803fcf0975d5a952dc75c9415b4e436aae83113efa98ef33e2b93669c4df3d4b3c200581f026396a9038e384958a79a553f30304e06a90e272d27cbea193b771a8b4375410100581f027ccdbd9177f3477f24d9870b6b5f110b51966ceb58c31084df78b20981a84301000000581f029225b3fdf8a04fa0fdcbe841da1f1e42a3170267d3dc819c07ba1297830f58204f6f67610000000000000000000000000000000000000000000000000000000800581f023c709f8fd397a25914f94343bbb1a46b77c61441036e179b8bf860f6075854ae2461a7c635d9f7573a971bc5ef79d4111f1fc2030b9b62600247ec4c34481473a21066221f6890a2d016d010958ad9c9f7ec708601410a00581f02a5f0c37a608e4070e5c03fc6e6a070fbc19e236fd7cb90f0ed2e78a2e386410100581f023541419636dcd887d1918b17661549b0f44ddc0ae998a37b85c1dcddfbc14462e1cc32021948f40343dc4989e8652504ff840918b5fe426401baed3335abda5617326b061a21856403ded225cbe2bc77ce86d1f4ccc2baacde34eb8d156e4af8020743ff78eded911b0363a0f6089675e82ae9e6d89e802fe2b556123a1b03640d941865149b5ad5aef003d696ab446a2f26e9d5d82219e54e8d1adf8baa4a066c0540beda69732a4d909b03d64d0d92cfa629059ffb3e964b8a3cf76c8efd19d47ffb79ec0235171e30cc9303a4fa04df8d912720fbed3437d8f475f19ba3a310c463c70f2da7acd4edc9f40a0330e38291176a5cb025d8839e27efc4b60119e4e425349339b9d5d699afec070003c21f240567db97b4d7fc37b7f1733e8323b50b866f3a9a3b1870209e8f8f31b8038e3700aeee7e3fd99dc5e373f2a73bd2c214571a815bebd894f4eda99923984c03d1224484d82cbdd402c8a3bc0de7a602748ce7bd492720cf55925264a1a90faa0219ffff034133dbd76e7c3fd46a0149f18df14703d96f9e17d1def8bc6b68ff8476e9c1c403bf4ecbe83133319c1df210098f5038e69f4a04753cdc68763cca1cc86245b64f00581f02ee14b91626117a8811ed5345267c13925522e21c50487707d6d52e60205e58204f6f67610000000000000000000000000000000000000000000000000000000800581f025ceb4facb4599028c6529edbf66f95290988543ad0aa15f6685fc60902f758204f6f67610000000000000000000000000000000000000000000000000000000800581f02837b12678e032fe47a06a074b3e245af97bcfb328084a800639dcabb908458204f6f67610000000000000000000000000000000000000000000000000000000800581f025938b126f81085eeefb17731f576c5d388ecc12b51f2c044bc4baba94e6d410100581f02782c3e0934bfe410fba71974a6b99a2984238d626955b63fe25e3f89d40c5490406a1129cefc9081cb28657c6163a5c703edf500581f03ae6e115b73c428a622ea427499e169c96e7bab3775efcdb280e6690ff2705471c4a763dbf42b95bd627acca7bd6823de5e8f5d00581f039b6d53bb9f308dc27d1696e2f3d883439f17be42c7c8edc81674cf816340499b9a5a9ede861aa1be00581f03f1669d64157ecbd36e355c8c68ea1413810450a63c57f2fc71e668e739a054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219a20000581f02b32c74d86b05a3db3bb94951f2df71c6e9f44346adcbc56c64d9a79f992658204f6f6761000000000000000000000000000000000000000000000000000000080219b6440368a2cfa836c89c020dc80fc18d8f7db3b70665d980c2c3e9749f95dbfabb0f5003a26eb1e548e86b1fc1d89c7d816adda5bea09d0c9888437a8e7a7abe9049a7dc03e982debc2a26cd8968e9046d2daf94e5f7c78f28412ad4e3560c57bb245e598b035b7cbcfb75dce7d0f43bad79b06103888ad088faf4169a2d6675147d03bdf5e3031d2598db6d1dc712902d051a64f1a141251e24f84feaa187bdd26c1f5a27e89e032473f3ffc9e8578ebfd725c74c0627ee79dc71dd79b2eabc6f8a674f96be5bcc03a234de0c255fef3eaba783f7604d5f82095f661895b86fadab0ede0f163343930397b9347cb152e0545363b8f8a11c49611ef9078138e91322e2c60a24b7d9b5bc0356816da2d21c571d144444ea0f2a89e5ce3154d3a2021a714e78b7e5c1d9186800581f0253458a5c508144ed6cd34437b3b3802e92209bdc1d2f50d77fd9c0c2525754104be7518a497a8924bf2d3dd04f03339e9f384100581f02be1be5f56dcfeb8cedc11171e2fbfb7693c8d494e9af39486027a5d21092542b5802957709d6cae73b2d5fa81232e3cf9094ad00581f02ec27e161f5a8be1a1437d44a12400daf622dc36651b8bb75332b7a1f810558204f6f67610000000000000000000000000000000000000000000000000000000800581f021841b744847fa80b3947f4c5079cf3e70a7ca7b03406a0f7b5a269b58e0c54b4dfd420a6982be95f27fb9b1ec0c374690ebec20219a21003fe5bea4b2435ed3584c0c668a49a05569f307d176f58c7c3d167e3d8d23d5e9203be5c6c997a123cb7e0a3e31dbfe16f4b4278cd83f87290a7b0e1ff9d3b872be30316850350d7e2e0a4f7101c294da7f8c58f905c95ee6cc57ba6d8cd744662f01a0219ffff031bee24498cfc031a82e05ac014b0762b891ca888ee1f6bd5d427cda4ba98d53803b7c80fce62d544eae4ad5694b6d2c1ed9f6a2b19263a25ac84dd987258b96f0703347a0165c015a75bf903de3e8a29f72500fc0c0dcf28b2823a398af898936679033b3d7fb239ef10355fa584a6805dd0fae284068b64f3571d8764dbd46234e09e038a1601b4981ebdce26d9713bc3fa154c8a44326ad334aa80c35498438f356c9f03ca0165f825a532801fe2929d416460c34a7da45a804d10b4f6ed78f741ad838a03ca7ad5b87594178601e6cab61fc118488eb47072f2af8ffc39266cb1dd09f99600581f02ddbd80ed8964e4367e6f2f44e4bcd401261e1d5b49aa8bc16479e07d607d410800581f021d19ea6b60e468ce961700c9329cd532c582603d6c9362e8a89237c9737c58204f6f676100000000000000000000000000000000000000000000000000000008037e29c8113edf72419a6319d6eeb891c8f7fe8ebce999a0ba2660896837fa182d00581f02dfe09bc0e96e9ce4523bca50d3b7adb132adf214b2d0a16ff75744b8ac4f5451f4b112d09bf1572d48e0fb02d8e546806331e800581f02389fa7be17a0337c970fc973bb607db10c8f99d6a8f51412bd522ec65b5d410100581f0290c5ac5cf1f935d0b6c85447546b1bc8d56a2d4b8fe45f44e0775385ed0a54a751b9c7255d0e2ac70bdddec1044fc7657465cc00581f02ceeb61eb8684fb17050299c6d5f1a26d09ab83b397b8b7919ae4f1f8482254ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f024c735c118d9e9ef0186819c368d18152f6337d6f4344e8d90c4a168aad9f4461f838fb00581f02482c2fe2ace3b5a6d6feb0c4d51200a1006bf710179483e43f41edcf0acf41010219751d0392f0f35af9743e0f4b9b44b2992c349c0b578594423daead6011513357081ba40325a5e3e25c0a28ce38f0d4277940686483eb4ebc0ef04fe46ffd8d6c5d2a87eb03d35fb96a64291e71a80d8a3250dc4a135a911d261f24f7fbfc317c320cb68e1403501f43cbc2ec63096d6a808b2380b1b297499e5abc843f400c022f5c75560c2b03b7dc375fa6d612fd8bf417373ea1d5917e7b6acc28b08a618d8487f867937c1d03a5618ce279ec534f646a812ed13860286ea51c9d208e8dd1f11a9c4ddee145650364e2bb3412824f9f792e819f3dfee3d145f996f8cd6afa806fa0a7283b15d3410335915774af4e0d696227599aabbe81f0556609ac93f210a85f5e8bb3558465000219ffff03f4543e3c4436344981443683169332390feab879f78234b3b9ad81b42760fba103992b63dfc79de3bc8ea34af3402167a0bbc7ca9a9fca516d50edbac7c9690075036b57ff24a8a77a969540bdf4e51f3d81f279b51a686c2179c2ec1752a981105a03e4f2f3acc7043149af91d9e5befabb7f797391528605ae77dcb5c72e15116dff03e02b6256f1cba28d8e5574459afde82cc8b119624db323aea88a62c4a693489a03866a34fc39e4384f0775042210fb9c574624eb7ac6be4a8835e27f74132db9d903d323dfef18586778657d27590416386cc9ceb15abfe77cffe09aca4fc36cccf800581f025b76f1ea274b1f9d2ec5dd53a41fbb9b57cef9eda840cbf649890ee79779410800581f03605f4a6d89dc92b5cc07a87cc2628080956a7715516b8575e128102af40054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f03d4fe80812a6c0856472f17e3efddd981586cebcf29b670f4186748f0e7b054d6f1f26699f9d4e6054e628559b844fa9f0ee1430219040400581f023995cf9811f20a9499c5dcf2e98d4a6c4630df50cbef5c32ebf7dd55faf344620b07f0021908480318a44d69e3e7a926ccc769bd6ae9856b2cd5b099fdf7eb87371aa45cca78023003058e8fd92808ca39e007bf01bbf6e453aec1f73bb4dc98c1390e09afdcdf57fc037e730ca42695a229f27c57e4d247d1a239af07d23ac430ce3341e713f9bba036037f5132600e3472aa2ae079ba998ea96439e906e96a04052fb91d5705cdab1d3600581f0349fae0c5ab0ee8a581236e5990ac13819cfe2eb01d6e483b0a4216eefec05468ec697bba6b7485498e31da5291a0fb9941b6d100581f030df289789a04b0690e764839bdd5d7e57ef8ce4667ff84cd4427a381156044658e587f020a037c9a724627f8b941bd9382f5e6a1d32ec176bcf789355249bc0b16d7abfb4f09034d1ea176e3030a8fbd9bde7c5ff43c0273d3a53bcbb42d9ca2a96896af35afc500581f021cedbc6eb584051414c84ec24e238f6451c7556d2423dc3a7ff0dcb4016058204f6f6761000000000000000000000000000000000000000000000000000000080219622003acb7689e95fd3101ebd70752f59fc13ae6e913be3c2695cd3c962fe038f530fe03d4bb6e3f4c2ea5b8a4c650d11be19c5a9597f6bda4728127237692dc49fd39080058200313302919deffd4af197900f529ebabb7a1fb0ab9363a446deeec44d0716be043010000038335377a25b30af7e0eb86400a214cefef6a67bc747667008396d03e47ae638e037bbfb1c44f1f479468e063a938f98be152494b4f0cbab2b3680706aab9e4e81a0219ffff034a3e8778b97df6f97633e3261d8a89073aa2c0dbca766acd8e96d0b49dec122a03071b0296620cee035e0224c70d7fbc1dd53ff0a27be2707b735ff57093219f7d03c63ee71f2c612a7ad81c7d9c16668436ef02965d7ad942fa1b285b8e415aee36031f165820bdb6f3919099eee44ad468ffee4e210e7dcd6905b660af36fc14e90600581f022ee99ad351d5619c358e9687f08a45546d8012b302c308b0981c14fc921a5466f02e34ce51397d9ecee0bec87e09ef9d67993e03405789bbd58b8c06c059094dc0398fa5c3af7b43c119654b79ae1570af5c586500581f029a3bf4046d2da670f7c80c5320e60ec4cdf15dabc8eb4ccb2d6b8a0edfe858204f6f67610000000000000000000000000000000000000000000000000000000800581f02c5cb1826fb6c9d8a7edb25c18ba6714e0ccf7d3a8a06398f25ba2517758c410100581f02f22ddaf276debe07f0d383b939fc8f3bd11d46ad0a8dd6090f538dd7958054c2e30bccdbe2811af1d3348e90e4d1fbefba284d00581f0282c9ab254d7da81c3b61db6d97c957099f01d446c70df6bd6c1e8f1cc47d58204f6f67610000000000000000000000000000000000000000000000000000000800581f02baa6de1b3565d36222aa12709168689828ac4e39835ffbe513cf2efcd1e44101021926f0032cbfdb5827474cb8331e1bb7355ba863cd4bbeeb1ebfe10a0cd73966695e2cca03f01187617899439f053d9b64c20dcc38d0cfcd01174cbadda52f2acbda649d0f03a27c97935b1ec5a3b24fabb56ea5de97c91377c947070c231bb5cc9e5d1b06fb037ca1e5b9f79ad61b85e2d82c5f08886076767fe4e2d6c9e68a35b6efab9297ec00581f02257c11c76e23e728827a07f4086642a7456d111c2e95e32db79e3f0217a74461f9f768030e486e0b02fc12d253517d6ade67047147618bc7cc46384d192c79fecced416a00581f020716f0eed9134231bbc259e0f7676fe242ee4048adb9fd4de1ff0e9ed86f58204f6f67610000000000000000000000000000000000000000000000000000000800581f0297e4848ac8bef534bd45e32c42a039bbc8ca18c1235faf7e6f451e82125054458adbbd7fd10aa2c193a53d928e8cbce668365f00581f02a1e0480e2804c41e562b5cbde1ee5e0ed7a43dfd02ac89cd008c7627ee7858204f6f67610000000000000000000000000000000000000000000000000000000802198c060360dec158cabb740a46bba76a0126599b439c98f308fa57592972874a8ec5568403e100aa8049e59cbd6b0a0866d87f2ecf1a8cf326343233506a58b3f43cc2b99f032a3d1c8cc07c71fd9d5f5d45e7646d5623199fb1cc3660371a180b4056504beb03d15869e408b0691282f2d6fa9628a1c09497bd90483949e9802fa562563999b4038da9a5fadcf7bc551c633bd489f3d7de2ef4046c5848216b0851fefc1d0e6097036b14a645de79138537e96f79ef2394f7de8921210270fb64025d01a7a13d15800219ffff03e4ed1ac8f4b97e94ed9f9411c59bc87debdf4dde437738e3cd13ed6d67b444d5033843d307b126a7277d527c720db37ee37e6dbd183a7cef36e718f3faee1275ac033ab5736ae505eac994e9a9e5db916797230536c4bf9e26507a297a8c945875d5033f1bbe6f269acdf017e6fa72a79169f3dcbeee0161716f0c592bf100c3c8159103a07142c80900d5f2b25cb3bdd48a393cfd60203b6ccca117ad002de5ba0af53903dc52a7eb79c09f60de977a642725c5bbfc945192ca66c8197f8eb3af3fe6624603b8724ccc9a26b57e0e924dae07d24ee3bc025dd8d7f9ab5b9f3a50882d27dff9035a84a31721cbd34472f805b80fea0a3043d38f6af021ba1d84a49bde1a285854038cc8a15aeb4bd5d7c0cc6412b1fec6358b859bf3b1a74dc5e1e36ba58c23a43e0348cc87f70784deacaf9246a8ba18610b9eda45310ce9b7e9e6e5be27f539538403402bd27f6f1f8cca444db40480f13edcc82b1cd73aaa78e235d32d4e487bc86b0344d15349025dee8fe763f8830e24710905c1c52a8b974a5d9b4a524dd2a24c7303d1dc5c580dcfa39a541a4eb1c7ba43326f3ef38e9c0674d48168057dc3352b640313fcdd325caf38c566d6ea252eb4787d211838247738f260e3f3f5dd497b08ad037aac3aa2d43958daf4b8ee6db2b78ec6a4afe36c119818de1f4185559f87880000581f02a972cd7f2c509e8ff7de06ac6ba9bee7b5666cf9ce82ed187f9c64dd93a4413e00581f02186b961f2395638d4199e2796c502287ea72a0ebafc42def5f4a606fb3694461edd07800581f02ce07efd943024bca89e1f401f5ae8061fee520f32d43e3f0afc6b4cf410f4461edc35200581f02136cfc419d705ccf86c7176572e9027e54597cfb5dd601073ecd52becf69549e9c7ff2256428bd1caa5ccd32ae1866ced003ca00581f029f779d6a1dd6acb5a48a6a6d139b1ee97683b748d48cbd6a70fa80aaab6441010219101b0219ffff0338d591031be1382a9b218fe55cd931c1930c5a82756fb152afbedc2dae45c40103196c8b3bd4a33afadaf56fbf247b0bf768dfa2475e3bccd7b19cfd35670737c100581f02f374f910952a3e69981ec173813e32eba1850e10470623df9a8f1498224c410200581f029528aeae7ee550e8b5843fbbbdec9ab0056ca3484d753631f6f87676a2b5483e9aafa798184d2000581f02d0d38bd1bf2de44d4276b9a3145f9b78979c022bcf7b97959f07a1f5538658204f6f67610000000000000000000000000000000000000000000000000000000800581f02f78deb6624f677f16a533e95cea5172c85bbecc1975b87c03e7fddc0ee2954c56b2e81ab1405a9e6cd94b860a5ba01889f657700581f02fa61ff5860534fee18baa77c4fb769f05af9e4d66495d5b8a4ccd73a53ed545fc1cc4a453d258ab16e3a5062019f3f328ad61d00581f02bb0102e70cce529bb9314fe56d16e6aa9d81fbc860854003d0bda6ab9f3354b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f029839c748c8be7e2c2c97312b951d2fa0a5ee3e12c7478c3985b52326f1e654b4e765beb8432f31dc81d851a04b77d526a04f2a021914d9037423f3700f9a589ffbabfca8349a23635a32a9b9e96f9fd794fa42a59695be0600581f02dc631975ece74d962f1ff85f7b1bd28543314a4c198e3b112a678d5421df54ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f029d39a17283ce899d6c14161971fe4b0b76972a7cf1a07dd914ebfedf332d413000581f02c132f3a8f04b6978f90e1967690c8f1b778f96930f22863c4b240e92571d410100581f02e547073d1d279c564820b2966e7b966af0da655ad43d7b86361805e561a95404304b72cbad228721d84baeba563f36538a75d400581f02e05bf5814dccf5f5942ab1e9cec9bb1c3d98dbd45c77013d577d89efe4ba58204f6f67610000000000000000000000000000000000000000000000000000000800581f029e83bbcc089b70c666332d32066eba51b4d595d4d44e33afc34871e1a71954851b0a003bf1ca98ee84028848da1ed69a50cca7021912b203898501d01901bd8c5269f3bc37bdf04d77360fd1139b168421f2890b1007128803e8149797c2e0f470a4285421101b5d992a79c0ff06df848ceee537bad534a83903b1be671e11d32cd7e5518f79b5cc778bd58ff44dd1faecbc900d97af4d83b8e70370d2777d8a8082268ca9192a75fa5ac307a8af7a1d3618a098d8a34a8e9e521a03b70ab9df987fc2e46e8bc3d63d9505abb62a2cf7a834f8299eab1e94b68caef7031bbf9d00873e7ae742efefc977a64945a0bab79f51f74befbe449b1b735c35da0393c5540f7ccbc947931c81f194b7f0423bc03ca0b8e40bd7b89a8d6cdf4efdd003c9dec92776e49c9a19385264fa16160909803314f60e23982a2d448aa3b4814d038bb793a015636ff156b181e0272c584ebac85955d622ddba0b8e99f9795f031b031fecf7c1e633b6fbabda75b1b656dc93a767f9f04fb497c09c10ae71f8d38bc703258e52b620b8189623ef9b53c878400bce9a57dace603509c09ebeca0b93f3fc034c410c4a2dbcd2835c458e1a508043cc9c13adb05bdde5bd03ef29a71d5b74af0219f7ff03d4c5f7a40747f61254db22d6196f9518fbdc94986ef268703f07027a87e41c1303a41a8fb772b9a5b0d3692a1e60e2da2061af63fc22d5b29284f32ec5a165c70f00581f02c945b138962154919255552488579dbb76b1670fb232d82714e6e7caea5354675166b5a682d89b08b8a777399604ac203e202100581f0278deaad2667d05a139e15728eec815a475af0a16101583be94df62fc869858204f6f67610000000000000000000000000000000000000000000000000000000800581f02e03a5a76d16d66edb4fb69fab6af80a472a9f8a7a21ded97573697235db054b2782039d3fd2130926c1acd39d13481d8662c2c00581f029cb62bc445c2c7b29307d7823f1659c6c34461d076152ba0b6eaf37b985a410100581f0206f36ca5546c47dfddf5e5924aab6ded616155cfd0fdecd36e1e55ef9f824301010000581f028333053e1a65fa9b5173c502cdd1d065c0d3682ef4d7ad3b6fd7673ea8e558204f6f67610000000000000000000000000000000000000000000000000000000800581f021ca9b215083b01eae5eac45db8691ebac731c396ad772be6642087d716c54462f1fc7b0219e0e10329faa2da54b73a94afc9c5683c6007080da4948bf53dba40ea67ac15966f515903726333140b0d9028989db5f321432a4430a73be9e55b6a89b7304370bfc8254503d60648aa0ff2a032cd9b1cd9a8f5dd81bb4e3e0779f9aac79445564536c51e17032f862243b74f1abd3d692b774da66e5c4ee181c49788070543e3c29489b58c1403b7c5ac8d1402e6eefc42e9fb524a76f673538945718125b4dbc4167f2555f4c303f4e73811dd4e1f3f1fecc33b631ac025a8f64cfa2d3255eab7e849ea7371366a035b3260bdb9d564e202ae7574383382bf04fc29cac9f99ba27830a7db6b74913703977889583f00dfd7bac54bf81064f5eb09eb485d59a2da31f8b093a8480fc76900581f02d239621cbad2d3c8082a92d8b6cc6b4b978b54fb87c6d2677922be2f2aac410400581f024bf22f8edd323be84fd693232a51688664f2c223800ee9ac28feec7bd6a358204f6f67610000000000000000000000000000000000000000000000000000000800581f0275fe88cb4dab2e78899ca448694344e8235ac066cde56f81cdc556dcea8241010318a7767c91f27ce29f0a638601934169e4023bca01a8021545aaedca10f125d303fbc5af7d09aaa24133b00d4357977cc55cf454fc4d22a60cf44c1d0fa0b588830219e28003df1e96c2b4944b0519905d154595db36845f6c3008c9221539c57b9d705775520374662d394df8d275d6ddf039119887a60f13f7aec1537209b35b9f48eeb3f139033f7676dc0ad3224a81512263b33291aa0de9b3d9320e726f37f7fd89c538151303bb9952eacda0100a123eb801634ffb6bf74b4ec60c4593af51979555acc0cf1d03b7a004e915853ee74cdede92e53dca902983c241b606e284ae848b120d15cb9d0219ffff0397245eb24fd351a16b50163a6feda4fb84e7cb6c8bd3d2ceb12de7ab6c42dc7003c7e34bfaaf08f39bf03a4e5475913c9739a9472625bac106bc64c2818034aa340355df60a44e69b439b65a421951f33abc4fe81be38e924547ed980a0e2e84dd4e03dfbb85e3680bef9ec99db8eb875ef2e9e3785f962c328bcb87a5d620169682b90330c3d8776b3f4dec2c9d51d0c20563913038cb453937b69d5667f5cacea4e754031e9de60ad48ef6be0eb9c8d6dd590622ff8300928c283f1ce45de61ba8bf223003d411ce7ba9b35f203ff610a2d898fdcff5af770974d1ff86e5e8ce7ca9756e270385082fb9c5864311fb14a759c65ca0ca9a9a1272e94e0f04f34ea1845a4d4f5b03f26aaeb8d6df590577ff991609bef4c88fd0f137d051407cb2590056ce86dd1d031fa9c9eab9e3092984162250750508adbeb21a24ebe92cc74a7cc2a9b51a7ed2035bf1f5ffba5ef467d9d23dabc31cd6b1406aaa069b5ccb4d37ab4eb5d62286fa00581f0215daec08880f2897a7e85de5bfeb3eb0f96df3f992f69498969ef228aad548154361e3063847b300581f0254ff9bfeba8b9a86dde115efcbc070e2f7ca90c5a9be39900a09b3b3a9b05473fd6447c318ba78202e903b37690d2db2ffc77800581f0276895dae6569312331589be2f74bc1939e78c26083bbd56bca928f6f42795407200d7cbbbfa727c38cd2e3f10af2f3e534377602190610031c75efae743fcc300c6a94bf163e5f3e8bf3af8c151ab458fd10ecdc742547350337bcf6de417df2ece31ef1941b323302afaece59ab297c16c3696d14686e75f703c9c0a8626eb7de0f2cd5e09a88df947880ce81dd9146336971c6f187525c11d0032b748a68a98479250445c41b7738d45e9315b6cbb06bb364f4643d49d699e9d603c253ec7d4bf0ceb371b01871c975daff7b778862fce9c891e210ab8a1e3c47cd0219ffff03e624705ad88fac2964b70713ab75b465be0e8c9d7eb1c0320c0964f0a635716003de65fceedb81fa9eef9da98b4ee0024169b85dc351bfaf343dfa600de3f914640390486e046a68b419a9d4a38b27d044d4029757236f8c186823201f1ca6e3f1d303f6c70385c55b5ad9acb94b49277d99067baa18ab611cf6ae42f0979bba1aeff6039ad7b1583ece37035ee8677e48150d19fe5b1fe97ea69bc94ec5d18ae5aeaff603d8dcbaf733eb24fe5d36c84f83ee966822b864e526662e62dcbc5c79efc6895303479453d3c3d8a2cdd4362d0bcf8188cc6ab1d7a045498a271a570cc72a802246039e4b066b729479c38b5540672b5fce26fbe9a14473534a217e3e545a1c7652e1038b92ea69fd6336d611f600febe382b030700d2def752e2d9a7faee63fb471fad00581f0329add9cbfa3129c0be8b18f33ae0be80adac34b7aa2083320a2a0a5919e0410100581f03267f71a657f59a8177e2957b012535ab001893123ee64c0e7ce2a231706054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219200800581f02f89f2fbfd1f2e497c234bacae61c904bd435fa1360c59f75634ce780892458204f6f67610000000000000000000000000000000000000000000000000000000800581f0264b2dd91ee0129048450ce70fe299e1bae562ecedfdc03457906f0b0af4d54ea445a952ea0d0091c6e6cf8b5fba04a7d97c8db00581f0213159716c25830e0602ae682925caeb0d0fcbc31e8f7999b08ddb3461740410103f2705aec91c07c57893162dcf3ddf0131151489eefe0da1c94a5fae05355be4f00581f0259d3b1891938ea0ed096d4f30c10cfd63927832971f659647dd5976826e9545bc072aa59fedad644c6e7dc706470ce38dbd9f200581f02250f92117b722ba5f05464bd0f9f8fb6de375d130e1510740100f9f0b18758204f6f67610000000000000000000000000000000000000000000000000000000800581f026f57b10dfd2e1bc853db586975e593f83d7d8c5fff4237972dfad08b8a2354ec6ea39d397140b57d68a8eb8f44328f14d22fc70363718f29a03a5df59cb451bf49bc2fa9a4f894931dfc08ea22d1a39e443b18fa0351aa6df4f740101fdb2d12e09867490c8cec648888e1cc0c64331916e0d823a90219b57c033df4a6780f878e80fbfeeeaebf44588ea896e7115fd2c433602df53ae46a21f603f396aed23f3e03d45ecb5ece38b543b104546a2960ce1448c1010a22785754ef00581f023500f7812607a5a3e4d197efae9cae6dd86a0d610f176b57938aa8178ee158204f6f67610000000000000000000000000000000000000000000000000000000803a6488254d90b24370a964255dde625cab14b103a418802dfd503bd65fbbf25fd00581f02c72a5487ed9769e9f1b23cb0a66109c55115c62d3a5af8e12967f31a06e941010219802203165f7775cece70b8c7ba337f9522eec97a10eca88b289683a80a3e598338094503122a074cb6bfd8d2ceb8c7b45b6ff4eea86fdceb8e5b1c0f64e3b4f224355762005820033d6e96c508cb284f9b13e1342f8154400beb6c05adc0bd0f402dcb3da5b05054dd7f18440c73bf2b39c3fcaaf873a99286d295ac0219ffff0219ffff030c09166a14fe3b3cfeb08acac750d133ae7aa2c2cec6f3e5c0ff85e709ba41a8035a749f4f0ed9ad46c70ee540402be682fe46e7075e8786568a246c734be87057038b52e0fc84fb890d093c33097928a8c4a674c658dea0cd7be9a141cd8b80cb83005820037675dba655fa8c93ab469b7b0bc716a27c6fe09cd2fa0c3f8e06d036670bc0410100581f0258cd9b65aa9581c5d04238d103e7777b68089b15555eea4394cdce5ba51b410100581f0278098e55e06a336f0faa7e8151add9276fbcd738d20f04ee0464ac0c291c4461ef42ee038440cdc534a2f786914cc432e5bad589e3fbdea4a88ee0ce0e1b92ce66aae0d500581f02dc974686155eb55eca35e0897d52a22550bf3ee16bd4c33a4690f8e75a424461d4f0e400581f020a5bf3823e65309927ddaedeb1a660a0b95b29f08be7ed4c9e9f3393520944621341ab00581f0265e85ff3372c31eddf9d35be01022f4ed120c7e9858de9d7bd147fa15ad25476a679257bdcfd4e11d92233fb50907acab9014c0219ca5003408466a0a9ed5699be1329c709e4647d74a48f26e3b25254d7df5e21245d75270306fcf177f611135c1943c81e43de5ae623e07b311be3adda7e62717597feaaaa03d271e3c2000bc8b90146c1cb2fb67777eef3537faeead36ba3bad167fd183823037cb9b9a9dd5bdbd1fa07679b372c409816ff30940e8e4feeba4815892ed38010039419d669913ecac9c6b917981da5ea843f2adf35ef52fb0e0eb081f9f0423eb003a818d7351336d3f08791b78af7a9712afeb0d6ee02da76303a9cd79388f6e1c003762cc59c16e831ca6e9047871a639894d41416b1d7955fe93ddb9ba8f55e8932036ce2b513079e59a12595c75c4462cfaafaa82431883562aa4ff1cc96bbdadfb003c17a25cbb2ece25fca22c5022a15a2cc6cb30639620411d9205519d0447dd815039747f8868d24e503cc7f485c86f26d124233322cc701d2674371d9ec4f59777203647309f509b865f6c177b62c07f5511312219cd323d698fd2cce3cc0ba01bcc50219ffff036ef6f86de446e6bf8e8f87cc29b457b27ba93d29feba6d908d81bfedacd196fd00581f029f8b47b2b7031c0d24bdcd2a20bfd120a0ead710f1f947f6f823f9effc3558204f6f67610000000000000000000000000000000000000000000000000000000800581f02191e702cca88b2f9197ce53c681e7e9abeb3f8dc0b7e5b92394d95806ff758204f6f67610000000000000000000000000000000000000000000000000000000800581f026428c919a622c94111fa955da47779ead673cdce4a897fbcfe2e7e4bf7a358204f6f67610000000000000000000000000000000000000000000000000000000800581f02dbe8ae5a8f76ffe0218a54da828ca352042abe967fac61b3b4eb301c0add410100581f020ec306e823adb34fe054c48f5d234dd8172357622ad28cc110c651f3ad0f54f74e29a292fd3b32dacfa792a29130bfcd82bb580361dc52c92973cd0743d7ea20a3832f54d43e36eb87d5cbccb72f39e804ef0cae032736093e5837f60aefe9f1b8bfa35182bd4a1b357373c811e4ca924518153b9d0219325603baf3f176d22cb1248c26fff58edcb1f7d4e4984db6e7e16abe701d33ce48d2bb03e484a3b002fd14ef981d1115f7f391be031717be425e7b1729d9be04575ac05e034f5df4925a147411adbdebf193a7ba98bde6c0ed67805147ed054ed22a011d2300581f0233b3152bac581b075cbb06e1a432901ac5b13e1a308eac74073f522ed3a254f74e29a292fd3b32dacfa792a29130bfcd82bb5800581f02690bcacd74eeb54a95b636b8da1af346c310983aeef45e8a2a304596d7e154d1d9fda4370fcb2992cbaada99854d96db8b55bb00581f023df1597622deae84f89181facfcd8d72669dd539dd935a417dbea99e43c1446220406100581f026405c3faad1866d45124935f0c38d2c7150662cbd1b995fb1d068e6a598c54a751b9c7255d0e2ac70bdddec1044fc7657465cc00581f0311e46de32f2d9c538880d7a7e50495dcc99bb69450e860954572d8254a6054a14323ad059d84c561d4bd299a8fb7cffb69781d00581f0379fb58c37ae31949b76fb762d01a2b37ab24d24f26a198f58a5f0288be0054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219014000581f020c1cc4897577acf7d52430295cb554c46467bc20ca51e8a004da73a3b0fb4463ad772b00581f02e29afd0aae18509b0df5044db7d0828e1590abb523d1008d1007b57252324463308087021951d403b75762963ff480a6a118e80c9f80cc6a16d785d10cb35119eb0f08a65cd35ae40305da919d4f15b59a3aabe380c1fff9208d1d06e4cdc0695e70fb5f56ad55655b0353db7963f303c2cfc0ba6719f4fb4324e15435d184c8e8920f27972a5d7fc46a0357baf523b5fb49795b61bba84e5742748c661c37668c640d90c3b8e47632237900581f02354934ee5374584bbd62d72587063cca4ff2022a5055c3ef5e4c53c314a8543079725cc8f1949c42de4b6848b1091978ec517e00581f02e680d2044ba69fae0db92d727604a7a2bffd469621dbdb67e7319f23733754febec31bdf1972c42e683476b89b40d9871a62f500581f02ab067959f698722c9a7b53237aabf4effd57acbd6bc6dc46d3be514c530558204f6f67610000000000000000000000000000000000000000000000000000000800581f036e1bfa7a44b85d8a6547c66b05eef39b06ff522ea7eac0d57660cbe9810054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f035efeeb3927a08fd7d2f02619a05fcdf294006eb9ef96280f53d786961c504461efd13f02188200581f02047ac043e21fca43cef38633d7ebbdba6d2d59cfdf0b1a368c7324c925e3410100581f0268e6fd7304e6775a8a7baac310053e5907d3751c573efa51ef22850f1cbe58204f6f67610000000000000000000000000000000000000000000000000000000800581f02dd117cf03e708d548ce1fc03c4fd0443c9b8dfe587bc917a7f01dcbe101758204f6f67610000000000000000000000000000000000000000000000000000000800581f020d947b4815cf16f7840a87c7d23f80e07309c2deac568728ee2ebc0b7ff75451b5881ebe1d877f60fe46b2d5cd88212d21385900581f027d187172a057d50a7813006e0459c93f2e3ff50f2c2357a656133dc63fc858204f6f6761000000000000000000000000000000000000000000000000000000080219b57203bc46f43963115432212686323bd92114a20fef5fb19b6224bd0c1a73c6c9ed1c03534d6926ba3b2fa29aff3db0fee3e6a8a5842bef0ac49df1f7f9d02e9914121e0398b6befdb3d9e81780cac70c4eddd69808c905751730bbeb988e22c46e1929360364b386ceca7bb0059f62eca9645b16f89d09bf2b185074efad37704f676932df0330fa686daaee9db6d8f19123f5c3d12826fc9631ffedb8cd5245bcbff5f013d00219ffff03510304eac094327696f204a1fb136f01b91787ee848191ea292e8276aceef2a20358f5fd223182f9307330516177b452a58aca4fd32d98ba7cc37588ffe38dc26903358f1ab6074b85663bb601ee632e6b432186d8ea683f4f467db8723a2079ca3103eb2402a404df5a3947a4b8922f1a0fab301311910592e8b785ec158362c596c7037fb2e289868f5a5cab9c9177b285b76009c575ef5da9062816665c750a7d6d0f0308b96bb3a0fe2672d624a80a8ae198f3df73533dfd4d4f291ae2e07b36b30342037d1c9b50a70e281d2d803ef82f174f489da5ea0a36873076ac27979cc9e6f1840339925141237cd8f17c2348996eca3e59ce82f5f90ff0e5726ffd41fdd4103ba403af38e078df65d8a6545fa42ecb2718fd27a13567ad4b64cc3a7787f0160f6b2b03ba306528861c4631c775033fd1a4cccfdc0b45c4d41f00b836cd167e8a9dac77030ccf631e767b305a1098e52655f3b79e0bad5cca47a6abb673ac7b60e28515b703c85bbbe555d4f582c9c2d4e28b29cd905102cb60b1b51940eb736a8c867444a30315deccf648f8fa61fe559a5a81d2478a7ae55ce7ca5ab89d36398dbc0b93b3a500581f026d5548a60bd9352247cde32afb06170cb5124641cebe990982408eec253458204f6f67610000000000000000000000000000000000000000000000000000000803f913a88120d551ad8a424f31a39aaddeba1588847e322e914c06b47b8f9dbd3c03302c163f67f9162565484423a102c9f778c9fbbed5f7cddef0aec9701e272f6700581f03d1e3a21755ef98deaf042ef68c6c0a5ee524f8a70af5a33ed1035ed261605466365e025ee76e0a2205cf35edca16a7bfc5e59e00581f031f339a1d13844b9fa335c82d54753bb5e8d2cde84de17a93a102d2acc82054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219088000581f02e06aa1d3c9dc19187ded8618590c905efb50a3faa34f38def77439ca8899446329152700581f021613404fd7541d1af44b99d882a11cedc978218629c96aa4c7dc30389905410100581f026e05eb1aec7757cfd9454bb63b4e06d1a94e73c64196bffda38666448f2254cd7b63ed620562b54cbcc9f0585e7995721f16a600581f02a284436b51455994e662bf2e1e2aaa14e54ed85cd889088da0d8ab1870f2547d6cc2509190459d2149c0db903eebb6432fe3ac02192e2e030c1d82bc0c1191c9207aad4136cfe1127ca8a438bfc7a9ca5aca218ca2090b180338c693db89f2cc4810b5ec9e1a6e04f0cbc2d29bab2356e834ec8697e8ad882c0392f5df2b7f546d18944f7a62e8067410a2719d83c834da52ebc62ad347b6b6f30359e577551284d5b48e4408001f2fe3aba3a939f026d20b7a26d7167ddd0734980219ffff033ae5762910c44ae892ff9df39e1d70209e1eab12418a35eaef4b92c310ea3cf003b6bf53e72c66b00543b9461bcf1628677d362ce2775494d81e2713c1f623d33600581f0288798a36b2b27d7a7f860119c732ec44ad40dc72d579274d174fe8cfb87d44620b111000581f03f8d7f33a2793d92d319f91ff8d362e6649b41fd2ed6cb9a319db4963f6e054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f03948895f34f6a851e2a9b9f69e4a5ee2fab9abf296d216ddc647e3bc7417058204f6f6761000000000000000000000000000000000000000000000000000000080219808000581f02a010b8be0aa9a29e600f6c8e614ce33b38fa661c9aa37c7e087cfa6867ff4463990ddf00581f02b988ddb3a11000c55d29ddf31eeb69c9c1e8caf51a7a02140e8b5b2a08c14461ecf2c503b1d2117d71835654c35a2570535dc46263d7d2293e6cdf00e4074d3c85be482901410e00581f0254225ba905ca9c2e5b0704d5c4834a48d4796363819a015d5b4e18019aaf54c765723dd64a9a286df20e41013319fb2116ad4000581f020cb778109f10531e4d906acf3049bb25736e613e533ceb67af61ba63879754d3db4eceded8cc26ed47addb5d6b2e2f37cbb6e400581f0281de047790a0d1bf1df03a8babc9d34d7fe23665f3d424bf1715e48ff2c44301000000581f027b634bb15e8567baff78ab92cecee9ac7cf09df0ce72b44e223a716cafd1410102195f3a0317506e7e17ec7f5e67cf93ec233b8a134bc54a2bc33418ba6037697541c947130309f553fb3eff39130c6488faa50b4764bab13cdec684d65072af6cdce9d486bc00581f023780db195523866ce68b9ce8bc056d86ebb1981d7c1eb5dcec8a5ea9ac8058204f6f67610000000000000000000000000000000000000000000000000000000800581f0216ef5ef0d17766fb90e8a1334ddbb84857cc9987a604344ef1c3c6fc456058204f6f676100000000000000000000000000000000000000000000000000000008039845b64c052060fdb6d0f2aa022da8d3ce401152a126b9e880458015a32a77fc01410e00581f0283ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff954a700e69a8a60f6109bc728cf034d253db931782200581f025b0def5bb2b2c025c3335854894822bc9d75af60becfa8e002027edfc64a4461f69a9f03eb36764c889cca37d660c076124d1561eb98347cf02e7583cbffcdceffc9732401410100581f02eae710b8e5a036f57fc8788b2f413a68bb7682da6e4cbf3baa4954d7fdaf5425a685e7bd4c6a4e0a0c3706c471c0ec241d179102199d120340dd35bf6f2b4295481f7a3b3396efed743200f4ebd05eeaf1c713baa093d93803d90c3f1c4f5ae64f559ce5b07e6d4ea4fc734335fef1b016d7e29361183469220327ec2a340ee843211d75fc9bc96a1e0ea3b20786b8ea74fdd7c7b2c6d4c0190d005820039b4313cdf86c431029b302de555f77d7a8fc9041270f2ea4a583e0674266d0549cff401fd8a9e22ebf4c9a4a115e49c2c718f89f03459f3e1ed55a5ba47287def0a26e9102b47f3d50c46c498021c319ec222ca6f0032d871140170a0f5f4fb7d411899d7bf5c24fb621def1897374b9225b7d67b41500581f02d769e5b9dc051472f8e359ca87301e1c7d43a4d1ab83c5b53999c6e9acae5460c29313ff65823b09b977d68f5b78f832e01a8600581f0246e268f6b1d4e822e0478705f00f32ee88f9c989556186e0a7b0f6897d42410100581f02ff7c3e9c1db768d5e4b0fcbdd545022ab1c4112c86beb1339ee44305ea2d58204f6f67610000000000000000000000000000000000000000000000000000000800581f028aef321a1bd1ceb2f14bc1ab676989c7f736ddec4a981f34c1a2dba1617258204f6f67610000000000000000000000000000000000000000000000000000000800581f02956510bb79feddbf58133918a6f5a67d59e2439041eb367098797cab249658204f6f67610000000000000000000000000000000000000000000000000000000800581f03119a3e53d2fe96c94e1c3d0ca73d3170a5e319245418366bc9cc35cc032054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f037f5ce93e6942afec574f39126852790a9dc3942f72c1b28ecc251c03eb704461f52f4a02190600021969a0031beef72129841f04a87a1fa92374d03a7d504b1f29b89042f4d0ffe785be91fe03cf602aee32065775edfa1915e3da448be8df5a7da7eb9499345ba9bf9123e20b00581f022d0c8e8a854ae2b5e60a5305351f428eb731d7ae389d15428da844bf75ae4301000000581f021e8c4d38b9cc9dbe9f7af2e17764e2d9a4ee9e494757d5d7316e46338d92410100581f021b19e7e15ee520cd4f112f4e5bee71b7d9a6e7598defb134ef52f307b8584461ee1ccb03111524f1ee4db1be64ba8c9e3238a4158efbf9b0e8d3c2b5835c8b358639d9fc00581f0205bec9da8693114a4a74a69559bedb60780e75e757424bae9353985a410d58204f6f67610000000000000000000000000000000000000000000000000000000800581f02ac4a86b48da82a35975a1a9fcde47fa8d9bc7f7f480b07c4646eae9cfb4f54215a3ae4063b51c12b1e4c8dc12fddaef2d3eeb100581f023e182c699d2ee863980cae7d401a0d9fa8fdaeba0f9cc3439344a00fdd1f54c56b2e81ab1405a9e6cd94b860a5ba01889f657700581f0221bcbfe4ebbbe90d241a364a068f1438064555ddb1b6848543e9a0a3e8ff44661124b702192b4d03ea0ecb8420868d912ec5e37de1f496aea996917f2a9bbd560b7b37dcb99ba4e00219ffff0342d21c59e561f247918cc31b8e4ceb4c316dbf458a365ea8dd759af65c83a3eb03d48c879f70a9b0ce7db095c0c7625ab79de1a2821aa557db927fc8a2cd93636803604f866d8732fafef4ca9c20a49965304a52e13a290132654c45677ec6dd8c3600581f02a0e5ba1eb1b5c454b03e513f6aeb14345e9271789e48d253fc2c4d15063c58204f6f67610000000000000000000000000000000000000000000000000000000800581f02f1317c80ff473cb423b5e473b3b860db160fbb4bd80324ffdfc5b8c58aa5410100581f02f93a9fcc88f43b6e919c846373bb2210f8365e3435ecf15774b2c9233cc15452bd1cd1994487e82ec9e98b2a45d27f8650f01300581f02075d74266b736db98b8e90cf1fe29c8ff41793a387b4c856652aabc5e0c254b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0241cfecfe5cb1a470310740c6531b52a109122406f5730adad5b7faff880654a376012f41e6b4d954cc0e9564ff43efa658542400581f02468c658a3143e99096d8d0c89f1c827f3997b271ddb0a3412dfcce7739354462dfbf5e0219d290037dab2a81f0c9875f07d7b148ff0730b78cfd8cbfdb657ab9c794bf56c72b76240330e39c7dcad2ca416abd6707d0973b97381ff10365be0fca4d9224e5a0630c5203f274006514f5495c7aa62bd66afbb42b7c6a49889718094c5e7978df309d247403b1a628084563ef6ea46ca331be5ea180887f9e0ae42d135d349b5185ae3c620f0320e18f0ab480c3f7a9379d4daddfd2e6b7251e3fb20cc69a17cbf595b0c09117035326481cabab811719234dcf1e30f2d242c0d1fb9121b6774fc2b9c4526b00da03739120266b92518a511a425456616fc487f4a2d57deda8eb2a7311d5d90fac3900581f02a99a8f66af14004f3e9cbd7d5f09e8fd847ba721cd567b629e0cc59e8eb354f6e235b7dc178813ec3a2e3c5256afa2dc12b72d03c3703649b15f5930592756f4e75f0d50d2da86215df0085883bb8d9793ee57aa00581f02f3d123f42890c9b8837a2289182dce09853cacb8904a1652195cb2dbab3344660fd25f00581f02db27ef90c3a9fbddbc9f25bb72d029a9f8c78bc2f71f0b5c2ec80a63e6ad49018c8b80fa7ae0d2a80219900a00581f02e1d7e8cc24336884f6e34a662e58b70529d4429b4304077449228ff99bd0549b6408e870b36a0616dae20cf8aedbd21dcce1b100581f024c25ad2b44925195698b646cd2162411edfd4c9d1b5d1666836ae502a1074462bf21e900581f02fd4038410e675388e052e5b24485ff7ed5540f721b91c4f08e556c652f7654590045a31d0725e1092371a89ab2b6eff690a82c0219104203ee2085401efb3984db8396135ba29d3cf16a7b26c616cd9140b49fe9ff13f59a03e80f222062490f5314e470d6cca78f083b476e67bff27c1321afb05601e3564503dffdbe4a736e00c9fbc3659995679e3f2205aa486be0173e29143a26c12e07030219ffff033079896447cb8f19fe60405505708bb0f1d66c140693d942115ec962eb94cce9037a390eafa3e141fe799cebc42a1650b30d87174e2bb4491435ba460d650b255c03ec781713f9707c90c61d199c33ecf08dd3a5846b7d804931737f003757cec5cd0312cf6b4e6a5b8359fd7a8d202decfa951e9e189ccc811e37e024300a9d48fc2803c761aa355672483255bf97c53bba6c3d947b7b2311422b43029821fbdb9e2ccd0377abcfcd5e675d2fc62cb1cec2e3ca3d0b90801268487eb69473d3895c6880a3033080718e05d0a1caa57d5dddf46171f6a6f9662a5866972ddb3af6ad23ab168300581f02f31500af0e29cb651a1cbb9a8a90ef96e762c69d59e277b28a32cf671f8454e1e04f0402887cfe57512ee6db4bf74e59fca4ef00581f0284ce8d8af50fead31fb7c5b4e3a36556d4616ce9cbf1ba877063646109c04461edc8b503b548f56ba859579df2f1b1425f5a61a926063349d4c2b0a919ab5d2cd9de4e7503d3bda906a9aa58c1f6db7aa9cbbe720c6069d58e6d262ec4e23a4ae22f5b4fdf0219012a03d9e3d5ba57a7a742c52cc07fc4b3e3ebc6230bcaa5c8f252cbb173777c293ac5036e47c7e022cf71e005126693b8c7069bc2247caadd3ce7fdc01a681608814b93034fc804e72488f1a053ed3406f06f739c6c1ac2c6f46fb9f0b819026c1d5d45e0034f21fb7e92750e432eabf739393d67d2163756e1f41d22a4d0e7dc32e7e99cb9031db9d31d84df3173712a9a42ceb51ca3596a8e5f8de003afcfa2b981fbf5b5ee036779e6f741b24139a0f3bc87d0a54282ce3e70fae4bdeab8ccf055b9df6d3d51032096b81d01bba81441ac85bd71a12fda037642dcf3bb6ec82a91ec744152af9e03362486dbc047181dc3c7a7accebe7c39c5b5ae8e03ecae7024eb7344f512cc960219ffff034d1f55396c0bc69750d2534fc909e5c5a95baca1706e34b185c206273e5b580603101b88acb3121104a10e5226fbc2cf41f806072cda7bf81ea0ab1b43764079150355f9d3ca7f56f08e62be29e4af04962a6b0a558cf0e300bb599f73c4e5c6bd7e00581f02849e899ef2615744ea668f1b132c127a572cc0922d0045617aff6a6820674808fc37b691c52b5500581f02eb577c126bb100ada0a0b3e7b2d24405e54e4f75a8e1485de80cae2c40df412100581f02f35835af7815d3bd1551639ec2f7c9dabe8cd5513446f9fd9e7d5a3534e758204f6f67610000000000000000000000000000000000000000000000000000000800581f029304622dc44d13af2d5ff769833e1d2b272aba324efadab5c65535eddcf34802d6fd906098031400581f0207e03110bdb8377bc99084f78df2de26b5e3e68ebf39a92aef73c2bdd92c58204f6f67610000000000000000000000000000000000000000000000000000000800581f0251620fa8be68e6ed00e6b124ad6f705866bc355e784329fddc576b122b68410100581f02c50a9ecf237737ec292b9f3316d1d5416786507e169366e03252e124f3a858204f6f676100000000000000000000000000000000000000000000000000000008021984e5033e788a85c1ef4f02aea9ae7c2f74446201186c15a62b0e05112c7ce4e40410cd03284122cac5d0cbf76035983d98c5ad96b3ba8996703ead907ddb619dbad6504603bc12f5791ed634b9f986e9fdf6b0130398ea780497544f75f6f43decd4c6999603ac3aca8bc2725be2b056e5cf05b25610e0f2e375d57b1631676fc78cc369657603b58fdfc84656576f576c936d1568c208484f21911906115576a17a705acb0ed6039872cdae51b0e78ee34edf92b3b9994d318dfc70bcfaa3aa1c60f4c1af942a9803d6c4d374f36ca0a239107f262ec819057bef8e02258a867fd641623ed06b4f61033071f4c86ed0547a54372e99fc575760aa21ce39c2c701ef27ff8e50106621e4034795b709013406fe197d6f99622ecf61e9516e334852176941f6de2f992c87dc03bd5d8c8d993d588875a3f5b01bcd94917f468e5446992026b06715b3abe9111103a40c589a6ece9da2c83e90bf6053df06255d225c697252620f1d59ccfa02464903154e7f307a021953e8bb4fe29582c1831e94678cfdf38f7439cf041404434730036c73f122a7263261608efce17fe50e630c7fe08afb915368568ceaf564c83f78034f8346261ee3f8e6ed4f05dd7ca921f3303e62694c82251e44b960ce1b70aa450219ffff034c6f306c5a0ad7bb205cefef36edbf74c9ea6849ef13c25fd63ac91b811ddf4f030be1ded7fc1038172024e6bab47bee56037c39515ed0a573964b72e49f3ea408034902486bda15f655f0057a5b499c0fc2b758df3d100f78e2c0ef19a16074237203ee8ebf96e56b4f95df468bf53085fc7e0e5e1494833e59578c714f9ba7f6770f00581f02e453c5e14a099308130314cc519621040ffbb17b5bff83db7e3ee64675304301010000581f0313f7e243dd6a831a4c0199d07a29f4476e5142ba7bd44b7ca7494af4217054648d7655554cc4b9eba7623a9443b411e2f8d72400581f03a39128d9ebaab06b99e4d4b3513c20000390b4f776169b1a0715a6be0c6054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219018000581f02f380ac772cc729b21582e9542e42654c94e68805f77f0da2662045aa368454a751b9c7255d0e2ac70bdddec1044fc7657465cc00581f02bef247f0283d7a2b42bdd6b61a78de9d97c4bb12ae28fa6e45acc08be6c854f6e235b7dc178813ec3a2e3c5256afa2dc12b72d00581f02908912657ba1dd873a362789569cb06471ae59803e710a84acff7268bef058204f6f676100000000000000000000000000000000000000000000000000000008037183d9c4411f4c3b536def9316fd0755aaee6fa40d1c0fb1e37e8c24352461f9039b1a29d135b3687c6b6bb12c2ab519f8dc5d93186422731282dfafae89f56da803797f1a6bb923d65cb1a9ebc7443a24099f35ee40211572f35fd4d8491b67c05d00581f028fa920cde85f866edc4644b25aa7d8e264f80de7ace84b3b1d916d08285958204f6f6761000000000000000000000000000000000000000000000000000000080219569d037be7149ac6134c8f78c5fed02db445f986186f6947d26011e0bc5f2125b3e706030b16eef3b501701eba92cc7d5f44a71dbc7354d662f8a67b71a71268bfcf204b03a5d47a7dc89bbcabc59f2d5feb8186259cec728f1a30c2ebe12f5c209c1fdcc103fcd459c7d76bc6c158b24b77d38ca981d2a89c6562bc26c22d6e04df2256e05403b64ba1ea6397744378ecf90767843ebfaa9837c8f4b09ec9f697f2c03d9c827a03e5536b95388ac8cb14c0f0034611a6763ef8bee707e5e71b222ab00619006fc403b59844485097816d6c8398e5ebbc368f33aae3f6e03a36a6afed661ace0f68d303e5289346e83239cfbeb2c4e8d3fe4b2ddabfecd3a68ced369f8475820dbdaa13031daba10d1e5e21267b55279e5be3ca288088c935798f29fa214237e535dc8cd203d7c5665edbeb8ab09546e0ec9cb08ae96d276e67cbbb39d559315b8fc35f568803d0ae07c8a859a6f41e2ea947e593032a6d5038e6c25d9a832992dd26b86a0d200219ffff038162faa1fe4ab7c678db6a8bdbb78346ccf4074da033f6d973889ebeb8e6a2cf0373d163c921073d6aeb9d111077b775601fa6d7d15d35e43fc6176126aa0e62a303b1191d10fbd3b52b8922c4e1efea1a6e4b5bf6c511d4c14009c058b406f6ba2903c430c33712f7607ccb828e0ba8e4a22efd407e7b6ef1b66946b372431b496492039868568d37f17e7b31f14ddd2cf4a30fbba6f48cde4634f565a5895b592ae0ab032472f2b21009f54f79e7d7b21bd39fad461867b52c1b24af75c0526205fdda6f00581f029be1cb0d7a5e5f70cc19696303ed0789ba64900f8e96168d2c8b26dc6ff358204f6f67610000000000000000000000000000000000000000000000000000000800581f0207becfdc9b305bdb366ace05b0dcb607fb41fc1a69ed7f347f8e4ef1408c410100581f02c9995216e7839b385eaa82436083e9cb447ec19ab65d8934c9132eb5fe8d54ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f03fe7472f6fc6b7b31f47abfbcb84254b19161d8c5a44fab66c877ddf400f054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0360d238cb512d56e886fa57501d4fe7a9c01409a8448f394242982f9dd86054b1ab0b56f7074bc5871edbfc807b3490e6db61b80219012000581f028af98f2ae36c1b215277a5d6908bd82a62624d714244e224751c1c7a050f410100581f020f1a58f0f7505b7e27aa0151a4f32496d80c2c8294779c8df7704ffc09d258204f6f67610000000000000000000000000000000000000000000000000000000800581f024e6caa3bab5c74882dd809216361f09f40e7a576ebdd481b63c8f87255084466216a4f0219b0720309ceb7a53a6ca4a90d3ed58302ca2e2ecd380e81b475440fee81d4a0d06fe6de03a8f3a7ae7d824406c49eb780fa073867367a6110ee3ac6f6a59f0eb8ca9b7e38030da9a52b83a1af1bc0d1a6759bd6eb66d992fd5911e0e40be24f0d406fee696e031f928464f1a56049ccdcb96f8abfb9d882945176482fefc91fc7addf77b190df03f17a795caf7c78bda9840e515a18c6f60afeada0a873b936e20945ac602f5e0703449da5eb9db6854a2d9f0b9f49ff4b049b25bcce55912e352d0f01aefb57c10403b8b595141120f3b6016e5e3074da6c70fefecd51796dbc9af881212325b387bb03a202e05bd510d8f90e97a2d9a409598a11af5a03aa3951b75695ea21794d877303e2fd151d0fdf76a34e073ea0ccc067db7f1fd6b9a987472d86ba4b4a85150a160219ffff03c105bedf4e78c4bf1967a1ab642ea063fa7f30d2c20dd1cf1dc232796a38888100581f02a89078399131dd2ffd31b58e008356712f1e179744e11fda0386e7ba99fa54dd7f18440c73bf2b39c3fcaaf873a99286d295ac00581f0286f9a8022a268ba8a893787068a33a07a55d4e17d31fffe8cc548d74dddb58204f6f67610000000000000000000000000000000000000000000000000000000800581f025f4f2578aacc529b10a17c75ee9d62443a6768af96fe6ce9ea4c0c598e6158204f6f67610000000000000000000000000000000000000000000000000000000800581f02c9796fd0af40a3f0c0a60eacd5e7c733567268e831feb6ed9f8f1f9abec141010219348003e8ea00c408e3880923fbf6551dc4a6af48f9def002d81d7b1679af27bd2220040368fb945694bfe8ba0a59451a2d9bc1ff465e3cbc2038c667b474b009d8d76f87035e91bf1204300fd5939179f2944e5d079865bfc418acb10f8c10ad26f21ff68f0318a30f34bfe73e7c829e7cdca13806c6bb48887b0e125bcf991cce90462057a40360e7078308468d33407765199b8dea229d764559a61e0f4a7447c0a498d10ca6035321c0b378100c168a00da6e21d2622bed78a7ac44746b0a27f4e14a473fda990337dca71878501511f58541b406541963ffcf47c285939c093d04b156b0a1ba2a03b6332b2c8c828231bbf24706510be59793fb3b7cf3a83d59b45f33e2082caf9f0323b1306b1363f7b108ec36b2eed1014807307b5372eb9a6b11d6b7f70e1c797e0313062d55a2235cf7fff73c9a9b2a99ed78a5b4f2f26d641739ac04f7de38b9d7032c8b897315f733ddddb11654196b5441eafbba4205c411c5be835a96d5719e5e03c4fae9276a88a5254d5bb63cd065e74f997e9d9d0ad1b8582c758c112d05e69d035e064b34a9f738c97325a23e49129061f3d3f13d7c6cd0268d2639ff768c66d303129ac2f8d97010b0362fc3741251b28df2fa150b0d31b9d0c5d2e8af4f0e769c0219ffff0381ba2c70f59da599e97a67c826bd8d42e03f5af3e994fe21dc79158c24ceaa3d03d711d7bb3c29d4b3d0415d615fe010575284a2d78e44ab8f3c25e0e741fae63203c1ffefda53939c72efebf1665c8814624a7dbf051225dbeda96136ca05d2b26503901b5ae5851b0c1f129197f5614cfe32708c41e7fdf41502896b7af2e650251f038d8b072e7b68c705bf66dbbd6315e7913f333f6a10d46096368437450c602b5303ab4527cb9c912a452aa4ba43a723cbf0b4e63384b2dbe5c25917bd8db9cbc2bf00581f02fe92778b2278f67c6af3bca98de61deb7b189a621469d43b3eed671fa2e244662771db00581f0267887af9400b13c20e4babb4958ca2e403d79298666e29f5a4c9bf576dc4410103ce8bf15b8b36240bcc4e565b719e3d998a2a3ed09dd69e9ed35f6bddee72ddd400581f020cc7771628a23b6a264ccb3cb48d87230bf8ced1ee263aaa9a48129533c254f32af53f874c8fd99c64f9ea52c9825aa125fcc400581f025178e3d6ff1ea4e680d354f6afe8bd73335d95a59a6855967e814a974119410200581f024b80c8a72f50429d6476fa0aff3a0b0f7a407ea1e2bf404fb7fa30bd3760542b156888934894f8784aa59e5eaa230d3af3844f021984b80308d55d68e6e2c01d8f3910aff60d3fe9b71d3b45446f13334b313cac1997504f036847a873049d8236c177d9642a34a7c40749b192da31049a34573c78c0b90e6f0392c88ac09a5d25e88c4825cd47b6f3a1a33b3d029daf969dd57b62e04276bea90365db8dd56c056e30c17b24b84cd3d00e1b3cad96f8cec35107411273297a1c7303b63e0b51b71fd8c86d1c9ce7bb46a3ad8030a0f8de3d68cef90e4ca336b82ea00346b719f0ccc5f0da39985a59dc17054b11aff38a80702a54a3d4fbd66a0e201003677ef46dfecc5d0809c1fb6bff77d500c3b7bae031c94e093e544b31edf7abec03659d49f6b8bfe49b77b2d3eb199877649eb795ad6e2fa6fd043bb6b0fe67d87003db68af4a88528f2cd3b202186c0ac7f0393b583d9f3853ebe774d0586841c7c103d11e8ca8a17a2f75ec18dc58716b1c6f9354eaaf195eb5610813a53112735d050219ffff0219ffff035a2e3527d64386b035678078ab86f120b381840f82e755356243d4bc8652c14e00581f02c6abc8f35c6eeb7d7f3ade8294d2e11448c1bd368d2e2f4129041237380e410200581f02ac8550e38c184dcfa6ac592efd29717cc7e1a39d7e040d10c335bd9f94df58204f6f67610000000000000000000000000000000000000000000000000000000800581f02b169a551d3f4b9680bf7d756ce72a1085eb4a119d48ce8b4f21f176faf0358204f6f676100000000000000000000000000000000000000000000000000000008021904120328274a0e45dc522ffe5c8fcb3e4dcac9438c1bd1f0815d7054e0be9520e8f378035b226566acb2d13be6b5b8c2cd1a4bb41bea77fbabfd656eacd87334f196a63a03f8d7226a4b88160c45eef9e5e32a3421a81a397b0003cb68237af4c13c8080c9038075d37a474b294f8deb7a60e857e56cafe012583a958cfe61f36d2056e8c90203ba0f94e444f81266f9d3cca4e233520490ea1c104b2301a2d3d0b776b300f9d8033a992671d8b685d30c6e57d5b6530ad65c71bd148a3894f133a9e667bee0271d00581f02c8b991965d45a75b9f56281be35f131db5984cfa287f0593e3bcc8a75dca58204f6f67610000000000000000000000000000000000000000000000000000000800581f0257fb6b96c117e70babbdf0da0bc8b6f9f2b2505ead2340ab221a6f0b735a58204f6f676100000000000000000000000000000000000000000000000000000008038679e470eaa9ee8ed744da0e065535fcb82ab5d7f01fb13bf1da83d22df87ac100581f020b428826c369d05e8a3fd372a5f605b1f2fb68a5efdb6ae3251ed4e33a0654b4dfd420a6982be95f27fb9b1ec0c374690ebec203aef1cc834ca01933d005f5dfa4bb222db4a83987bb45f17775bbee78d0753a0700581f0294eb16f42a6a8faddf2642dc241b11e787541a2bc1d71b04f05dcc2d593941010366a9d46876144bc616fea8071ae0c9f871215e433776d6e90ee21869e23a4a6d00581f02133d851ba3e7520ee066c2962f654558063c205e72a37b9595da5fa57edc58204f6f6761000000000000000000000000000000000000000000000000000000080219d09d03c831949e7d026e612be260cb2695f1866fb8e8eade848e27ae7c725abfc2852603ff2d05c10a58302f3abe17284144c2f075c6ffa3f84143a79af3c9055442e3a7033c4fa72108da4d84953d79f988c6bf5852f7079ab91a33e19155e01b5f820eb70362860110f7d5e15e6c4153bcf4ce4936296fadb7df3d1ca399e46a68fa729b0b032f154a2594b5e6cef0f0b5bdd79f3ee4cc6f8690acfa41a3ba1c51c8284d93060320fd736c6566adf99a2084760763074776702e4357e9c362d95b5be2ebfd19b2031fa8b8fad2777451cb369c65383c6bdb55beb02665710209f26d217f34759f720219ffff03a02e0c5fe9ef793a3d7e609863f9b21068f4d5a0316741589cd14725403cb0e0030c0264c98c4f3cc9621b34d39d35a5a918aa816f986cc0a1e7879a6d6be88c4203aef6f22e96edb774ef892d4b7bc296abb2f843d54f820dcf3778fe9f79ff3f3103600142d3cc47a128ea2c511a584735868173d632b274819ba82b68b1f7346136034218d82b0218ffe8601770a1b70d235ade6991a160360b3f416daeefb5ec7dcb0323763498ecf4c3e87b57609935b775efbadcf51f7abf081f45188b779e64e38003d0d89113e16978f57d9741ff0868bc8a4dd2b07fec19eb425b1fb3fdff416805036d414fd51fef16586c0987c49e3f71adc6f6f35f1d610c96f8491dac64e63e1903deb7e11c63c45fa275b533c5d71f2a0818b35e9faba7da2e5802710198d3965d03fc93cc1f1fb0fca784c42140bdbdf590c461c984d0e5adff79c0019da25ffd9403150a6b0d38f3bc0b4b89ae0ef138e1d6aac14c0a71bbdc3b0d1274bab54d038f0370f5b794ad376a53c0a5e1770e72e0572643346e20d65f557f1b1a6f741e22db039a046d306581950f38bfba9500bc377f5698101a4e20e02a5c91b85128ad3aa603f8685205a26bb4c254aa932c26c597ec3839b60269188aa7fcaeb98e32bac4f0034fdfeafa7ebab1a243361e9c0aba3e8bbcd7787de3ec794d98cd586649d77e93033afeebee35806a4295c60169633649dc726087a5c8ed350c0a1d426e2d5720bb00581f02d870ff71a5a9b3621c6783f0dc7562bdbf074b015223ff69405454f27a70546f28ca76a3499f882b2f57c0b4fcfc0034fa5ad600581f026b98365c1567f96818cdb623175a8346ba5a615cde75a70b84125168a4ce58204f6f67610000000000000000000000000000000000000000000000000000000800581f03c6e821046e993a874b44cc08aff344f8d1e1db5cf26fe8b66c9ee5bff1d054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f03f727830701b00a7c0e22db6fb74466e241c867cc4986408224048e92a8904801e7acfd8523f1d902198100030ec8a6d7268ca566a4421bce6bfa5a292127093c7e498f12750652ddd3665fad00581f027fd3c74f668a54b7e0419b1121af527303de47a0641fe672a229cd2d698454957a5aa30053ef6a2c645dcbbaefb036d853090d0219690c0219ffff0336f30d57363cc5af3b0d7da4ad7e0222e87968abd1ef2b4d3945a19f17d9948603c933851adf786fddad1981d6aec3e182a09527454aa32b7e22b733c5dd2d081400581f0272232fb38531b6e8acc890b4bf6f94b391b44f7909d77b27a3f39a854ff65409f7c871e89e3a420b0dee4968470121668d62cb00581f023569090b0060477cc9736725046dec1e19dacc45147ee5af26608e0216d7543deec6a52d721002876365e4d50333f10fd423bb030ffc6b5ad280ca963fc1615597f829b9d77bfafdac54332c94222fec25c9d8bb00581f024c02972dc9ba0085062513b67ab76da3adba1d6ccf5ee8c075fccb0490d658204f6f676100000000000000000000000000000000000000000000000000000008038bcd6968896eaf3631c0deace40ffa168702515bac7775b48b107b40dd21360b03c4cb30a53c36afccfaf0baa44b89cfb1c2761464f0311842a95439a85e760df500581f02d48c654a6e2d1f48a4865e5a2ad2c708f0f6d678af0642de4c1ae16b36724881971bd715290e3400581f024504cfb41e35992c7e2ce440a78bb5d5ee47a94578ce932e87715179d68c410100581f0214de5231ffe6694e6d27a5fa8d7d370eabc5a72a56cd999bb3db29beac91543079725cc8f1949c42de4b6848b1091978ec517e00581f02aa8466723409eb2ea9f8e576c92d0c76551af40c073b356c4613bed5a924490673f7aff8001e91b7021969f90371034f830dda8847644d3c98091aa206f5377ee10a7802f18b07aaeecf69df4003b7214c58bd3235571ef383a194f67ba9c72e679b507b51edd80f310eabeeea610332e6ee45421f000d216ecedf61628f5b51a709bd86c4ad48a3cbaaa8837a85520358db9971537d0c7345c9df2eff1aea87e4eeff699982606df0ecd805118bc30903c4a2be9c3bd056aa7dd793fc14c737810b832b0e1e1a9309bfb22b1afee6ebdd03e9589a7ea83db218babce7f46bbb9ae70815fd1db2f1ac11139c9a5629bd708d033086ec8bc8d84a0856c77dc5855ddbc8455ac0daf68ac64f69c2b44fa2930ab700581e02dbfc9a866845f0f0821a401fcfadaf1a01d2fc09b53115c7343be410f754b4dfd420a6982be95f27fb9b1ec0c374690ebec200581e02327fc7d0373fafeef45c977bda0de0154c0a608039b701e5a0d412b49754ae2461a7c635d9f7573a971bc5ef79d4111f1fc2021100581f03267bdad28c23311a476f46c3f849ab32790e59d40487e5bace5d4e1eb66054df6f3a6add540f8e628ff9bed5040ca09d075a0802194400031d2be94d07840d135deb9e79201919da57250188828eed20a0ef9bebba3cc49800581f02cf9dd466ade1776dd20cd7623d66ec3d7736d5e637b7c719a78127e1ce3658204f6f67610000000000000000000000000000000000000000000000000000000800581f024936fa243931b9ecdefdd2eb22fcca295f4b989ef6712cc5fd22332ababf58204f6f67610000000000000000000000000000000000000000000000000000000800581f029811b547ce4eab459bc8bca9a69f52e87cf9d426c759b2d07f322dae701454ee60d91759432fd7219ee282c69b81508a2d5d09037ba749b86a559501486fcfe0a39a09708c6edd39e086ec4369ba1dd229c8277000581f025f1ae72f613820adbdee464176946d86992f0dd5134bac6c670e6fc9b18454fe64736df276de2aa0a4aee0ed3fca4b7847531f021981ad0393fdc47c16521cd5c43702c0c8d810ce23df35b881dcea063fbba3de1040f6ad0366bf2796f1a200b592136643b7f6d129ebb3246f3186e4f6e29521e0f25034bc03f1fe2a605ef0ff6c42280f141953c2d0d65482fcba7841647f283344c55bdc1503df9a93f5180c387edc83548ff6addcc04bd79fc5c16b075f823b3ee3b675bf000385ba8d7e3cbf53374816d4f0144c03a3a140088163f68d802446e3669734cf910219ffff03c0e4a9907cea4f737b90ab3098667f2661717893277ff13f52c931caa7c953120357e26d116b064d86b519bc835650696dfbfddd8bb58ee367891ef82df086f95800581f0221a076ce7e640de795f21fe85dcf124f942f8850bc210d4e086ae8cccf5058204f6f67610000000000000000000000000000000000000000000000000000000800581f021b546b1964a1f42c8dc92654caeac6973a79dde3d091f8ab73b11d3e2c0d410100581f020dae364aea1c21edef5794464cb171f048254300ea52711261fc10950719549610457fc388165fa49cbf25856830a035898eea00581f02d166857e2340512c78e8e52735157c21c3e76babdbc244c4f2d1ad4b342758204f6f676100000000000000000000000000000000000000000000000000000008030ce37af9c323663c38dd007801274abe530389bc10d75dbcc55b2b2be7bab56c00581f02ec3b439c3ec9f853eaf50574634af563a68503885f5cdb53995d1e9f87224461ed553900581f02d9040836856d2fe55c523b293cb5e989d40cd001cbd60ba3ae5163b96bf554403a0902d22f9758df435a74921d3d7edb14d4940219a28b00582003c19c3475ea4ec37db3608f59e2cd90bf033cb7b7b4a29ec9e736be9eee82a054e1e04f0402887cfe57512ee6db4bf74e59fca4ef037227e8968a3b4f7a9d223146a238fe83feac4dc53f7d3f259a45c1f13757ca5203ae0fbd29f3e8be4a27b56f36132b15eff48854e542100ec2cffac6619c123e9603c676bd2cb2f2ced1f801f49208b8ecc05782d72cc2f08fc1415f4d101acd967203493f5967f18266c0ba82c2fb5d30f9eb4384afe7c3e3c8becbc404d1d0ec97de038026f7736c211612ca06c13564edfd6437c0421d640ad2eb87664f56769d7e7103917da41dbbd432c4d6abeace5432b71a5775ae70ad50ed5f5c3b9c6b37ad4cc5039680f17c9e43443edf60a104ecefeb750c8c8ec0a81e1ce0f1fed5ea61da707203002487774152079104442364f6580ca78b1e100b7d214f48ee4854f67abc9d22030ab71e61015ac474ae92cb618514935f53184f092ce1add9901a2193c705c2ee03e0a9493f48aec65e2b2ae9a94d8b16a17a3cba6bd5e39d63994be245328e03e203e7c76c341d7a5a56ba5492bc56310d85c0716332e3ac65ea23c61f12dae3bbd403ec6e277c157e67522dab01b6b6618bff3729736839105914d29ee80c4d9ffb310219ffff035c2567b482ecbbcda684312a243047f033c66e43f6b42afd766dfb5f1edc738b037e1ed3bf1fb2430e790865840ca98b1e977d9c2757aface860ed1f40e1d25e5b033de4928c4f87b06a5aacf19418b3782527be516751572e0a936ab861ed7471880332925d40996ed28f501ba4f76ad6e71b1b2611c823ef21224f739cd5bfd6f684034e9c83e1d3c8600f893feca14ad83ba0af7ac946f996392b470fc0d267daa53103b1e3e69cd1b4e8e1982674fe2e92fa7a186d779727ada12cf20dfb8c4751f323033c7677193f66b6e766ebb83c38ec8a808ed07951dc51697a6e2232aab4890b0103b103d1569a84726e895ebbdfc46f8870c86f3a567611f562638209a0f7222cd603e1b7a2970ace133ec90d15836d21f4441423089859d7d366d760319ce94474800364d90eb34260824f824ec5bd01466aa80df877b56b218dcb0589770029bcdb0d032ae49cdb6b73b3a33ecfa6ba0f25748f866c0abbcddead517016a7d49384623503e98d66fc74a4b00b95b7185841377d7e2a848d86e36cedaf3c9801ea3e3015ec03a8d96f88bb4e9c57a3cb9c0c82c1207cc2786d5a16251c7a0e6111b3c924484100581f02b837cff544a9d6a00086863f6136950759203a25b4f9ca5f887be342aed458204f6f67610000000000000000000000000000000000000000000000000000000800581f0247dab570887829049cc3b94f12932887d9b2e55a1d2a907c34c1169d0750410100581f02317ea726bf85abfa04f7a26e0ac75b1994a75fcb296d1f676826bd29f5a954b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0223c775ce40bd1ecdb217f7642051c204d581abeb15bf8a6ae7d61ec0bd2c4461fa6fc400581f026b3a68a80bb8827add0c1969f369aaf0450075f089433b8ad313a8455af058204f6f67610000000000000000000000000000000000000000000000000000000800581f02c9bd6c3bf20361611349a2f7ef7954a4086551053e4ba6880f2f6cb3dce45469a3d5f2a91a24bef22d0c59eed51a5fd3d43d7b021928b403a8bd493921b8c00fb836a68f8f5e3e2b5aff94e3e5705f65c83edd21a978e6c8033ca58fa1a88837f1c2828a97eb523574cbd80c35edd0f098b0bce0d112852fdb0219ffff0356f5e1ee0ab46ec71135d6bb9fe84a6c7d68e18e38d053c1193c0e2612a6dbce034291ff7ce22e5354852a8dfdc222cd94e83054b8d2e3831cbcfc4d4b8ed003ab0306d748fa0ca69c048690f3b0fc77cdff993950020f7ac32c021cfecfdfb22c99031ae3b76cd75560eac4ff6942ea02c5649b770fd50296f7d3bd93ce711dd780ed03ac0fdebe722066900dc58973f6a788a6e65238bcde842b3f015038d6c40c78bc0334dc4d1e768e279fdf6b2d801d98146c3fc6149d5d7f1a270eef9d2000ecf5cc03872895028b6175adb89f60f57b3b73f81e5f872db4b64cbd9a2cdca19405c2db03370eb3ebcfff857de8db69aa04ddb4f321eb0cc6da44077fa34d3eeba86576d50392f98eeb0154a13b2c87b108da65c4bf246390385077cd47225c732d08b8dce003c4073ea8edf21047c448d9a7f1ccdfc39f92e261911db78495af0153d3af9185035d60651fdd29babb06bc8c9d514fb3a363f0c996008b9ea47532c2f8388acd6803dbb405d92c1becc5e4f7e95eb1f7e89c7d2bd75c9b30bf577da0a73a35962fdb037001d6040c73c2ffbfc54c0e657cd0730736f4119ba4d11a9bead07f86f356a201410c00581f023db4a33eee0baeb9c5f9b16afcc66c8bbc24fa9c50da956d9d1e06457898410103c25104161270262fa4933023b699b2e416924e5615d4e41411776876784fe17e00581f02d620cc81dc4d8e9727c3799fa6ad5c31359eb1556b8babb64d5b1b8d411d5491990512c429c15def1807cd6a0231e5c868276f00581f028218ba5208027423822251073158a72079b1b84e99fc953c186f46b55078490e309340d00bfab5fc00581f02c8c6d763a1d253cac5adf6c92744ab8f02dd88b4167231c2dc0c4dcb21ba54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02f8940ec580322fbb5370abaaf1b8ec134a7482bd1cc95c75bb6c239f5a94410100581f02608f9c893815368abfb243d695bd08730d2ac482d5967bb0625dafcb1de658204f6f6761000000000000000000000000000000000000000000000000000000080219688b031d6c34582b6753e92b2fbf01255fee779ed1488d7cd3b81831ecb0869cf851e800581f020893f770d9339389499233ce2cccce79927069169e69c80a74ea6372b4a74461ef6dfb00581f02976d9b2b95c04a6270833c0b67a94568041b1cb317688eb8f9bab47edf6a58204f6f67610000000000000000000000000000000000000000000000000000000800581f02ed826d642cfd9306a67e737b44da4cffee0c5f306b77a9bdb64003d5d87d58204f6f67610000000000000000000000000000000000000000000000000000000800581f0270e75555182bebdfb63eede0927cbdca659b33a8c358030087abc791fdb0430100000219c0640358b27e3de6484f5487ddc38714b8829bd975caf6b420447dd241664686d784780219ffff032662ed6c72340f41793785002e112de163f968657a31929ada25d78325c51493037ab1ca5044a3dc15f8c4bcea267227f937fd11aa1a138fa9a3fe967c636794ee03537626219f17a9cf9f93bb07b053bc3102764a6ec54117d543f1bf7ff2008fb900581f02a275cb6949f1036fcb6b4d5ca973959eeffe96f836d1b0becafa1f6ef5c34301000000581f0204c2f1fd4012807a30ce097a745ac33c27e30adf951e71c88725da1b5f2758204f6f67610000000000000000000000000000000000000000000000000000000800581f02ab68387157653a6a202084ab0069eb769f2763799d89a250640bbffb5a2a54c916ed713dd18f1c98e4c92e3162218ecc4c297800581f029281a9b1d4ecde1f92d18b07be6bd311d184b4ad109d17083c9fd0d2696158204f6f67610000000000000000000000000000000000000000000000000000000800581f0213931f2e2c753f4e8765b9a7630bfe3387706845b5fc54a1d08db3663519410300581f02dc516a6c09c85a708c9ba6a06c41cf95dfe06fcedc348b91e6fb54d4a10258204f6f67610000000000000000000000000000000000000000000000000000000800581f02c2f4aa1eef47dde4f123faf1a40a0b35c563cfbcc4e797b30b4481c2a96258204f6f67610000000000000000000000000000000000000000000000000000000800581f0351d8751534bc59dd33eea0afa349c8652f82b2715539d09c3bb0b37b7ae054648d7655554cc4b9eba7623a9443b411e2f8d72400581f03fdb3f22bb273c8aa2b8b3abea6ac1eb2975e0993579fb2bcf464317b6e004a646368f27d03d73aa5b000581f038870d13e7b13a09edf3dc338db0c9b41ff6ca465671115f057b8ddb7f6b044657e927f02194021021962e903aff24d96194341bd5d86d425ce4758857ae43a0d140b95bb8796446977047a2a03ad62267a5f9fc4ea36b33dadc422503103a8f84a86a4cae4bb034cd5451be3550319a5be3f0a1425caaacf44ea06df01354487542eab84e98651201fcd7653b61e035eb1c5b2007a48685db4dc1019733087fa5acc9d32ab45cc8012233d83ea2613037b41e5406cb6bf15f8b09128a50b3a96914919fb52c0acb71795629406ffdf54032e94243b987c22c509debb6b0995b5cbc37088c8093327b6d4ce7523e683d28a03f9a8551e7f97aa66c3c1a143996cacd9cff07b7a5e09f3d84900f09ae6abe42d038e906b623cdf12af2086d72b43f440a9d14b5dbc3e42ae52da467b9e2cb4616003587778e4a62eb81ce47903d33c5b63f356fa2af0facb313d4bdcb5094325b86303f69d674cd507b5387dbcb96c3be6988c56ffd115b88ae2a4e8cdcdc90945039001410d03b3583986eb8a4ba77064c5d0afe58a57789f7ae406c8e7ec7bef14cbae0ab4890219feff03a0c06c5bc4e44199ecd3de4de9b5edc8374f8b49baaca40fd873b8329d105fb2037b7583d16569b35f96fc4abcab63f9d7ed78893fd1a9513981d6aee617dcc60903ffe1cf3b7ed95f89a602130715f7f173d98080f0ce4aba002df9cfdf2f168c9300581f024f54e7169897729a5edebfa175a25e147ceb238655ae18c1a477b93cc9a0410100581f02aace28bfad214882e4bb6010244855403e5e1d765da425e9bedcb0f5899458204f6f67610000000000000000000000000000000000000000000000000000000800581f0278a1dacd4a283c6ce73e72029836dc4ca46e9520081c6c3166bddfade22d58204f6f67610000000000000000000000000000000000000000000000000000000800581f02c5d516e4e513a39b5f7385b731ffd70f9935a4dbd90b04eef172061e1a0254f56d4380594624c6bdd9ee58d6060f431073328500581f02e6d81036505d48b51d5cb2f3aa7fab14cb2fe500740284c9d321360e81ce5440b6b169fc9aaa1380375ebcc4be40d19f37e1ff03f6157e7191489402220101650164b3ea2f9f038fba353141ae2a2fcf6933990800581f027325980eb541aa8126578f281c8e41fc3c4721086522c8247b61f278020641010321ed1966ec25c3bc530971d39ea9fd1cb6ccba9431341efcc5a21c0702e1f42302199e620396d1e4e0b1cd07e6c5a3f6b0db5b53bc913593082754af3abb315920ea372a50034f68fe86e62462af2ed03fbe283a5cf32ec2df043fd2406d61633c2d6ef40c3603ec8e0c1618106fe8cffd22116a7491eb8189db5547a5d2cfc41a103b18f1e1610365a2a2ccca346b8558a20d165a40c7b8007a69ba709fa7686045a254ff910ef500581f02ffe76fcbbde05be2a35d9c7821d3f3bc85513bab853be1a63ecaaef99c395468ec697bba6b7485498e31da5291a0fb9941b6d100581f02758d5d43b7fa418d58caca4fabcf8bc26956aff4a5a5fd26a0f5b377d6e4446221eaa60219801403de46454f363a7ffbe4210d9e01d0523e2c268e390ea42024e71b8cc3764a08cd03fda00382aa716af5803723d551b3ba117da78e3b57338cc5c54760f9164f5da103d7cff53a76e9e945f238aa2f242febd7221638578ac3e759b346c5cc2dfff43d00581f02136d0ebe837e8f68774a37d43bdf15c79764ef73ef64bf9692abef27ee92410100581f0270c73353265b6c41b2d5fc2c5c44d278caa6158d1e10e4a06be36060f1a9410100581f026d17b2b50161ccd036498b7aa03c8794a55714e298186828218e1eb20d6f58204f6f67610000000000000000000000000000000000000000000000000000000800581f021cd21ce50c7a1f685e3333c54c1c668edbc1e2cfb13d43a60cc6cf07ca2d58204f6f67610000000000000000000000000000000000000000000000000000000800581f0212a710c7ed544af747e7a9719f865f50a1bb028e420e639c757e7736dbf158204f6f6761000000000000000000000000000000000000000000000000000000080348372bebfbca8fa249169b8da38a111f55a009e6fa38796a3b92a1d7b019d5240219026703398de343a3b970f9170decdcfcafe9bd71b67c332bf75626c4b372c1b097c2aa031e097bec9f91fe96c754834f5a106ce4482f60ac50170ba223af8f2470d07827036c4aa7e7445d75215b117bc0339e0bcffe140fc61fc0181ac11e42f5b46a742d03504725ce3ad60d1df20a153d8fab31631174eb086be43d368cd1d778c32ac7900219ffff039fe317bfe07e4f7f3e02af5db575f016647ff26b14e4d2b3a07a140713c77a2f0392be5e4a9e32d68f185fdadd450ccfe34570fe5f8b3fcabc6cfa78debed796da035f7a72f81f9a6d5e0b8376feb17e08ee8ec492c434ce27283490110042cdaba70344c5c0de7eda09652a52c9829c134e875f2132f10214dcc31f5db0c2bb85984803fa9c3555f4df54bacff1ddbb28ef5847e51a6a355b27c9395782c8091fd515980357129c249b7a7fc4593b1b75332b8855a9377b2f7260a8cb28c944a2575eaa8d03bed4af0d60b8e92cf2b4bdee9f97655d511d2edb95de0a2a936c3ead6152b16103a7c68d2d970772ff5dabb06818d2f01bb1b128f19e0570b42c7c3b6a878a0d7700581f028e06797161cc97b0c7285b9d2e675c886ec009ec36657678d9304c3eb9ec410100581f021725af66af0227db5d8531a0ca57d7a66714016190a2ef996b47eb7ee122410100581f02f5773831ce64d888b0e1d4d7b7a144b48fc241234a5658e159aebf55b61a410200581f0229dca728154e43cd6188904dd7ddbc25f87f7c8997a79a8e01a195b4d34958204f6f6761000000000000000000000000000000000000000000000000000000080219024503e788164a879755b88aacb0fd628d231b2a8c9389ed5d557d63d98fb1ddd5a377031aa3d2b6eac2d6dd904f4931d3106c44903d0531b65600553c4b4822641e07e803501a02acbdf24b2319839f7c83915287dedc95631b2b2ea39d147d932db32e990307207faf914a3cb1312a4be20beec5945a73883783a3cb28d6a97cd8f6a2967103178071ed7707e628b7186a0a4aeb8e1e0448defafd96eef8ad1b50f22c28432d037644fbc07c6cd2e3bfb5405829f59f5411bc20dee2493ed4d4359694c3ce0b3a03e330f852baf03da5755f88c645b94dbfbdbd2ddfb484f26331690fa4736118f90219ffff0337eb4fe0dfd5cc2e054f3a3e2ae6f8e0bb0f6118a35d6a80aad007ea1c0aaee603fcd835c101d8eb1d68c2aeb7d5b2c591d171dbd328e5d2bbc337865cfc95939503cc3d92e0f3794320169d0887e7605664a76138251e22d4221ba67c49b7ae960003d81d514bbe9f1abce04047798d8bb2c071f01d29810b3360bbbca85eb2b31981034d274b68f41db678971ba4aa0519a3c2cd1a449f1ca8152bc411866b06a9f76d0345ec32cba0657e101de32d7c68beb21d0faf68e61cd4395c8c92564bc629d202031ce54b7835730ac21dcc680bcb748e275571eaf72a586800fd94d05abc8019e503c738e2b7c6a81a16063de076549689d39426614839ae4d3facd6b260f64c0396038ce313c6494e7be8cdac9ada84aa8e9e07a79f5c4c7c14f2d5a5eb5ac6c5152200581f02421699339db583741471f665dc38976b9b7d31e2a32dd9ba28254b72c2d1542b5802957709d6cae73b2d5fa81232e3cf9094ad0307f9d0ab28a85928181b2702830ae9abd6584059d1ed573927208ea9b8aa767f00581f02d3d2c594d80fa57dc0b86994ab7bfe6ece6448f64ac644b701fef2280dfa58204f6f67610000000000000000000000000000000000000000000000000000000800581f023847d4d20f315e57bb2924f05819d333f7a63b383846c404df02956c9db258204f6f6761000000000000000000000000000000000000000000000000000000080219680d035df43b30d8d4e5dc48ff257cbdcb8ae1c0e15dd601d2a85bc8bbab5368bef6440372c998fbac8d9a1afa1a7aff2bf2c4a72764c0c5b9f5ef9edb3c5a9079cc3dd300581f02e097c4e352d91a6dded14efd6cdb2100d8733d63dff381a749890c3e7efb54dd7f18440c73bf2b39c3fcaaf873a99286d295ac00581f02582e37d9d3f9ad366d34e8254219a7554fd8b5e2f02aa23a2d9e1efa6109410100581f0225d2932848fc8eedaf615d22928567167243390777e00c8a554bc0c1d6514461e6d6ad00581f022721feb130e4acfafab0a0714d3a1e5ef91ce30ee1190ba6e8367450748858204f6f67610000000000000000000000000000000000000000000000000000000803b20372532e5f556a3c57ae63835d1a5923bb81f6ac4e6199d1f97640cf9e2f510219ea0803f37fa01051f5ae0f1d0912621d68fa19e0a11435fba62efe859f6e0c440ba73a031b3c62a3cd9628fc1062ece145e462e3d5931e073bbf295c5a65f920aebbfa0c03b066db66721dbf5f592f290467de421ac6ce4c0b35b576bb3d08a91c1c715c3300581f02e06becae99e96d9a0f362ae20ca322fb5b081859cf149ddf462d94c148c8410100581f02d424347c6372611f24f4acd7f2aa4af0aac0dd15d9af865c35d234c3298858204f6f67610000000000000000000000000000000000000000000000000000000800581f02720ef5254e5fd12a17ca3018b701855e3c758c15452fbf020f9f4ec4a8fb5454417b0cb00d83fda1c7a05b0066bbe576f6c41c00581f024c2fddb7dbe76db3f8eab3338956d86d5d2fee53cb400fcc49be745a67ca58204f6f67610000000000000000000000000000000000000000000000000000000800581f028c3b577fd769d395ef03a6a5c0b7cfef76cc8ed40d407644ac5fe75dc72f58204f6f67610000000000000000000000000000000000000000000000000000000800581f02a4653266d67742285ebd0fb1d7cbc2f0290edd2bfe15fd7d867f66210e47496406d4db38aa0a1ab000581f0257abeb58b7ecb8b8d34750cf30b17442984cb8a030e944e7dc5a5110d11854b4dfd420a6982be95f27fb9b1ec0c374690ebec2021942ce0373e726f3837f531ce22f887138927ed3147185b61af3ff7b924cadedab5cfc9903ea5d79045ebff2a1ca8aaec07a84c20c2d0e5f16eda1519008cd96f84e7a2fa70219ffff03b135e357d01fff8c01ccfa912d179e82badbc9cdcca059030a2d7f956b8d008b00581f02425ecf3b202c605ff8c60e48b69500b76d1d82c9b1ac6eee566ed9caf09b4301000003201d20ae24754e39beede4d20b8a2023cfff85e2df17ca0e10592557284d16d900581f02c67d66e6c7abd4380b1790c92ded9a32e9d9d481b99a26e0e8ad0b4d0bdf58204f6f67610000000000000000000000000000000000000000000000000000000800581f02dd7ac3ecabaf05c54f9041ab33a6fcb9b3797b8d99ae18039c661d0598f458204f6f676100000000000000000000000000000000000000000000000000000008036eea1864d60aec8f4ad3a72b71d416f9c8ffd13fafac6c8da703059eed11139f021980a600581f02d758751c1bcbb3623cca1280f33c869f60b417eb1fde7b0a3a8038738159410100581f0232472adb77236ff4a4a6cfe68c2571bda8545f8a15b797a33b456b7d61cf44662bff4f00581f02911dde2fd13053bb440c11a97384d2a3c747c39dcb79306ed5f82cd324fc546d27109ee133835817eb9f232cf5047879ca3be900581f0263f3d99c9869eb87a35af06be99f1d79a359a45c13c366ff854914ce9a1158204f6f67610000000000000000000000000000000000000000000000000000000800581f02bdda7f4fcfa55b0b9862df66d93367f447f4440a5802a9446c0fcd7ba71658204f6f6761000000000000000000000000000000000000000000000000000000080219211c0320e48f9ac31f866125759b5c276f1d26a2e7e97757d7fa173ae280dac144fe620348e70e737f4ba688cc46178c74621f3fd6d223ca59c109e40c461cc032f39a2203537feb53b2fc38ba9af44745cfea0348a280283e0607da2066bfdb195386bf5403009253ea7d749bc6f19d7ebc0afc9888e28341c3df35510c52efce8001811b5300581f02d192e31a314d007c64e47c1894d19cd93af125dc09c6b0afd55c6beb18194301000000581f028a3d824e87ec30d85f680eebd2a1fe13bf09d96a5805644e4269cb20361e5491990512c429c15def1807cd6a0231e5c868276f00581f02865318f2a8893e3882c5cee8ed31707d666e2a717e5e14f1592c3c644faf58204f6f67610000000000000000000000000000000000000000000000000000000800581f02646bc53cc322277ee090dc65cc1fd6ce452104d68c32ef8c65b649801a834301000000581f021447aa373e75d2b24e3cd3407c714b9bf17e841fd61ecf5f38b990045a8e410100581f02250c607a71955474696219753badf624829685c90f82638f394f22d972f354f74e29a292fd3b32dacfa792a29130bfcd82bb5800581f0246c6d1b678ae5a1b11de1eab8312d1b298c6c6b0ca10a8b425bcf8fac2a5490fc620bb38f8f5e04000581f0265bea7241dd2995992f8751f8fa4ef260a703601792bb579951b1404be5e4461f6058c02194d8e033db8d202fab962eb52ebc45ae535f2c47b5a9fb0eefa00bd5e79342486a8be4003ee5ac19e1815b36898433c1bc14618344bb6aeffc5c03b375454b1bad75df66a03c8ebe8b1ace75a672cd361bea39498689a2bf9ce9c5a863c861727d851a3c822033237cf533058c836f264b2b009ab53ab99c55e9bf6ba8528c9a434aea0cdf00e03a7fc3565fc069b04c574c0403cd5ac0004f87fa9c68d61191198dec4e8cb822503bc0b5ce94d0b5ba352a1703b835a625f3ffe7c20ce438d8331db27a871eb35ea005820036fbe367749e01c0e2579bc7c58a9606265a91a876995f340ec97ae359df8a054590045a31d0725e1092371a89ab2b6eff690a82c037d31f121338847b1b670ae113cc1c7c664ee2962313a3aac94887fcf6201cae30219ffff030552ec6fef891e94c4c31f43b4e3655a2d57c0bc8f2d59c8a7260dc77adbca92037a9ad5275865d0c961d04938ca89d9ea42052eed7e2fcad9482f2b9c838d7af303007f8ca0c3ef75d86641672df05b3b214a14fee559514bc1075cca36dd9c9735036a027062e5f087e21c0eee92df6c8073b31d3341ecbe49b55cc39b493f51078e03cb3a0e88634f832821486d5c5a0b119e9a2bdbfb3e3d22d9390fac4d58982a2e00581f020baf880efdef1e8a0871a466629f4a782d8f44cb26a5593cde2f062c3eba410100581f02420faa40e51dd92941db4b062ab3308b84dd6e6cf25789fa38ca085746c758204f6f67610000000000000000000000000000000000000000000000000000000800581f029b0d80ef26410419764e19496cadf2957e29030642b602f75e885cb55e3e410100581f0219da6553bc5d9220657b631ada125b524cbc6d12eafa01035190487fc38258204f6f67610000000000000000000000000000000000000000000000000000000800581f020fe7d41271b90be4a0d5d72538676c6b3277ae39d3d2d43c26c1a2a1ca1e430100000219343103e1c3ff03e2db0ef8f7b4e632313f0c8c90920cba0aa2b472d3581e76c740ba99037823311c2d85d02cdf76ac24d8058801bd5684613c12319b70b242012d76591a03afca7b27720f1f2d9841cdea75ef9dbc3525c67808072da9884135ac87c227f300581f02356a6d95c579e260970be43f8d1dd564449a7844c6107ddbc8cbd0970c46410100581f02d85ed002a093d5288109763d734460aac764e08bd29a18e3cab7c69ad7bd410100581f023bd3cd82ba0d86c9eb9aae68eab75db9aee4646fd445ec7994c803e29ba7410103bca201c3ef83a47e783d2292507f4362eadf4bedb0bc2161ade5e880702fcd4d03c5ae9723370f4b11268d7ca348d2e442a6e8042a0c8f1c656f077c50435ac2b600581f023e42a40edeef39f549d9fd61415b28addf21019c45c27dcc5c0efc6a128d412300581f027a71a1cb9a10f7578931e420aa619526cff06564e8be1a9a28d6e28ee1d84461d458fc035732b7434238f014385e3c05a740126db1c4824d04de4c24499aa984f8b3882402190e7c03ba07873b30895922655bcee450e16d089797b8a108fb1e70511c9f9e575e03d603403b86348d69871d5584c02aef8a3aad03e21702454088eee2f0b092e5ae3fbd03364524784eb031c231ba30631ebfdafd49133ce8bf92b8072e7d6338642cd76403822d7aaa6ac010de31976eb80455365204d8268d79a41834425732bf1522c2940325727a406e68cac7edb6aeafe0c8b50a662c17c904d01ebf2a8707fa94c4f2580388a08403782df722b62909da3a975c9f5e4b3e9eeea85f3deff29ab32b6a60640325b7ee72bf2c6e476f2d1522ecc35eee5f42b7a46734edd36dc5358f3e96675d0219ffff031687b10352610a30db80a896c558783096f573c2c4678a7acbd88ccf31e076190306f726a08cb79877a7e26f1b51c69a256a3c0da4d7fec379b7683a0ba5c8485d03582f09b749c2c2a3a551497cd24b67585784901e2ba1bb912e06f59aa76ae6fa034dcf228d697b1bb12b4e9e744d2efa03a37187d8a1b0628cbc50f5a952469c6d03db15e847a30791ef3b13eb9ea43604b131cef501361b649b151aa5c738b6cf5003ca6414909ae248e80bea4c1eb450b73d59dca6ac11c627a3a1cce4a65715520e00581f02566d6804510cb1ff1c19ab2630883058acb9cb8795e9ba515ce5bf21955758204f6f67610000000000000000000000000000000000000000000000000000000800581f027df93b35e7a1c18e3b7fd5f0ec4f22e4827d1516d3e54b15cb865961418a490958c7fc048c6efffe00581f03a4d69185feab7e000d5a183da692c275781e4565e6941e5754f86a43a570410100581f03d761a2704975beb9fc117de49d2ab139e61ec3669f7cc2526d51419eef3058204f6f676100000000000000000000000000000000000000000000000000000008021200581f02333a6da8343a6c3d531dce56229a68eec67d48bbdb7913b5a2e740e5638a54065d69d6554368e79c77443ad4c377702152698300581f0276a406dc453196e3dcbbcf4936e276978c07c84feff1b5069bf51151ebf2542eef40759463bb1c380915decc6580fb63da955000581f02c969919d068e580fca6b8c446508bf82b40ea2ff83161485469d2346929c430100000219229503b9e785e101a47e3e9dd10a05eca294a06c3708b3e0f7667e8755bbe1d29da8950334186e42aaad287ebfdd7098dc6cdb558b1a7a8f0069132f6aaaef23175e369d03349c1521a1ea744b4e3ea12c1463b130cf51a0e6c552c2e12c3aaf01d9a9fca803ffee220e651a3721530e1f6229fac609b418bf6e4a7666ff21e27a578712d03f037a1b7c7204fe7f903bde3d6b6652c6d6be1f7280e3b2746b77fb6f2a174c1a0103a548cb558c791710f684ca9e07ce7a2a719384e06dc5912a326bfefc40c2bdb4038bbbd6538aa80073ed66f4327a20ef3365c0724b5bf594d265d86ee1e47d01b103f4de735d31352ccbaecc618369e37e65dd7f1d7c60e9319847d15931d022072903269913780767c0b20078bc40c94b4b16b6063d7feb8c0555daf0bb6d8af3691003c0822775d63fab5dbf3bdc2b25555ed17ba51761d423a158fad467834348250c0219ffff0343061acbe4cfe6ce8dbdb37e245a875931e7db44807f0cc41c3dc8bcfd6c931503435657d221b39fc7111d8a8c7da1cb6ee3f464e5e3e1e3b2f9e0c56b91640b3e035a523ab4793a4ae1edf412741e837e704f0ec2be08096c75f52bf6f405cce786035dabb8dd4dadd0e440a87b19aad1561f174ca87295fb347929e9e53b91895b160395457fa264e85722ed1ffd2bd113c6433ec28b69490b31cabd7c544a96ebb788037c32c67596e66219443a5095356661348d59e6ba4a8625dfb5a81e4cc34fd06803158aebdc2c2593ef511bd099f4f7110b8a9949d8416235b94c30c85fc0771e5d038145f000f9aa9011563799c3f286329ef92bd737f714ff27034d6c8ad0e276100387d45279fcafa7ac1d7891c2ed1064db5ca1e3da3ee151c23220e35bc4e487be00581f02aa04f98c456871930948445185e2e4edff7050245fc503a21cd061bac20c54215a3ae4063b51c12b1e4c8dc12fddaef2d3eeb100581f02b0d48759c355916fb5849059fe5336c0c786786f8a552c448d7b6e880fca54f0e5eaeda6fe47f3b1d0dfa88fbbef0eaa72d7d30219040c03eeaa7d7302c59c262ccf14728fcd7167c9beb3a454eb944f1bdaeab50fa7316403693258c03ce36c46996a1f0849aa040d8070d17a52bc5bfe1c645feec6e09e6803342f8be9bd167c5d38ef3dbd506714b46877f75adc1b726f2c32a50e5a1ff4a603f52ed7e73ce218897d4d0073f98fd5847e34a4208bdb2c0ab45ff6b75064d835033883f78a700a2841d81fa69fd4124ea354f4e03d7a41e0c375ac8d313b549374037176178b2a0b7780fd0b36919033f44fa27d2663740c6e238f3f79a7d5945978037f7ac0c0c122df8dbae20dcf913ab76fc118f58c030d99123ff03586cf82caa80219ffff03561acc0a60947a6506d202fc7e5191ff63dbfeb269d5f2c31fb0f3aa2b3c31c90345d57f34d481869ef25bcbf0050842c6398b5ffab30f95a351958850778d9cc8038fee7b76031ba968881fa9ec998387960149df95e9a42f10e45e7dc02116a429032111cbc5f65856009a8e7e6a696484ea6912b17f7c1b9e6e53595f62b4cf1a5f0326233ec0022c1c9d284c58273be855f81f1bdc50cb797ebf28495e3a67f18a3803742f66a073583a8820479f3bcadaf71107d76159bee1c33783fc04be340bdd8b0310f1a8290770d8ae3b12cb8e7bcb9b0d6435e7eb6db60ba8475f14ec5bdcaa1e03ca8cbefc1f72af321521aa3bdc1b00a906665512746f6e9fac6e6382561be6ad036e3b38455ed571b95cd99010438a19a221a0c7ec140ac9bf0033fbb8a629f9530395dee861726661c8d6aff7088ae48bb6caacdda8e945c9e58fc47051a5eaabfe036cc00b7f5693fb984ae479870e0f3e2e032dce45507a60fc70877a40352c598f03c6383be3a6d757375c1be0623008f70fd0e780f9ecd820957279db137294211003ce0a091718e39c40ebe3240393ef0c8aff53c76525fd588b70b1dc2047f53e6b00581f020cc580198c4f8480973a942c368d869b70c5dd14497046e959499ce2e5e54301000000581f02da8a68bcbec78e5b50ceafbeeaaa8358ec868d325b918e1de64720091448410100581f0283d94593d2f6f5a935f7a506afc035da595731737c7040ad010623023c9a54b4dfd420a6982be95f27fb9b1ec0c374690ebec2034427369f7bdce7d2f376990ae1615e582ef02beab3189f0e4e8d3622e3c3280400581f02c9f316e15dd3aa8d7ac801de6d2b50e2919600a64f98144215477a5dd05358204f6f6761000000000000000000000000000000000000000000000000000000080219610a03572aeb0b33303311544d82bfdda44d6eec1c98977184391ebf200e8eed467e7103df76f57c897ddc0a6569d4571ec8dbe8bc2adc27d79a508291926d10786bf7620219ffff0219ffff03a28442b3b4ed8c7ae094b9052d9d0741c24a5e693b6d12fd62469ada78a2ffd5035d3faeae4d84c402bc5bee221c19f590081408693d86379472a2a7693956fb3503a22f299ab17302be4bad263b63e787b51f89585afa2fe2d2f565e19b3e2982d603e885c40a6a2c35485fbba99d2ac7d50da4d7cb3f5e8022276aa13c0e9b73ed96033fe1820c6adf6759436619673af7c008ede161e531faa823a88f2d6c2da4c7fb03d290c2041758b6e81538f201c80b2694cabefaca3dd659611079fef6d8bc873a00581f0210e8a1cdd42d91a71b5e080c1c009d8fa5ecc5697e0db5f7e6e88cef513a410800581f0254568b211cf3a8917b6a668c87d4f65a8cac540120d8e05e386bc60db3855438a61a047066a9871884ed46385ab93fbdb5da2f00581f0271e898e3b315e7ea97056cba990e3a78014acce327b36c71d4b330293cec58204f6f67610000000000000000000000000000000000000000000000000000000800581f02b795ffbf02ac888bc82b6232c4258b87cf17b91b2809ab5cf9e7186ea82e542d4544b84ac6287009f6f79f29c15490ea284bc400581f02eb671eab987045adecb4aedd85322cafb4915b8b97c87a3c88d707576f8d410100581f02fbbf015890d94ce2320b18f53da676dc23d4ffeba26f5387eb50a703cc864461b0efbf0219e0920338f1426a91dc962f79acab449dfd1d29ebf9c4beade17fe5bf4ffed1178d185803221d2b36a92f0788d21e4355875804554f651b687cbae3a432f9f60ddc344d2403ebce99b09f96053f65d205a446e167f79b160a42d910934f3d3d56bf0274d382037e4e73c750d67be0e63d1aba538b1a804b2b6f587a7fe6fff5b7cf1ee350d20d03cc38f83b548fa807fe894c35f619d74ac674590366550074614768df1158e00c03771e4ccc3a195bbc8dedb8bc79965f69b8360bbca9eaacf59cfd059ae4d9c1700379f1f8bca7fbee0f0b7676e59b0a670c27c6a53a54279dd365a2262ccefb9ffc034218cceb1efcb0fa8daa36fd6a0345a7bcb5f424b9632a75095571e86bdfe43703445ab81c75c590009c0d5d07f7a8988f1e19678f41b29d3b115e4a58ba4fc9b20219ffff037c613b8123cf81d9620343f874201f2cd35e44576cd0cb31f2ffcb8e1b4421df00581f02a28fa4614e0212e0b612681bd7f775d6716b4ac3790a9e1e6f6bd03526694461ecec8a00581f0248ceb4b931833b11d9235aa8150d7cca49b13979d80d41a069c909cbea4c58204f6f676100000000000000000000000000000000000000000000000000000008038de8bd5a27ce4afc73ba758346043397797ec7f832c5c109a5d640c8e3d82f8800581f0231a020c85c37e3b440586db3ad1de76844fdd923dda2a958fbb9ac6c9981410102195c0200581f024376aa9b6249291f2a4a3f192ef52eeec8ffc780d3ac08f6f512064f296258204f6f67610000000000000000000000000000000000000000000000000000000800581f02220580d006170bdc2d49a3dd6ea005b3eb75becf1201f7d950e16f75f619410100581f0265bc27bbb476e6fbb7af21a943e6a4d73bcfbf45569a81f2dc41a38a3c1558204f6f67610000000000000000000000000000000000000000000000000000000800581f021b483f9971c39db17323258a3baa6136188087999e13f6e102190c6553e5410102191482034c94d710b93ad188a4558d1465a6f5ad3f5425b3eb36105eb39bce360fac2bb703d834507b10ab8faa19279bfc6fe2ba3110721d4a3f7c6d501d440f091966591103a5061433e9695da3d9d446295442312e5832998773beb9d3db0a5dc8bf4cfd1303f27d5125ade993cf84cf80ad1a7345d4dbf952b15cd58c95e4513cbd4e1378b403ac3d59b7a1f4acb1cece0430d122a0f9bd1e9e96f2cf7da038f25c4874f9164a037a8af5a26a8dd460b370f942f1e0c82e82f7f19776aef3add2e4b3bfc0adfb3903c87d671ddaa8373bcb3d14ec637672ff59c134c2faf3d8840de71e6eedb21cdc034381d59f1cd907ba3de17d9c0e0cb4ef3e1d3e7ed2f78b0f122cef0a75114b30038b09776af895ee557e76ea1313d29d0a34d998b038794abdda06ec4f708399ff031c5411171d432a123adc0fe1ad04fd5a38001469693f54b1b3af24fd1428473603146334fbe51b24818377cca2df84af5cddc4eb5e8d8e800b7b8962910665dee603bfdddf9c2c4c25cf083211695229403bc690d4767f111bb6d548cf1c512820a303daa115e6d07ce5f74cb8a529cbd5f442f703e5118e24ba9f7a31765f856f31ac00581f0270c3cddbe80e12f644113e7c69fb116b145fdc6c9486a479574b3acca4f74301010000581f022f3d7e2d0ea375bcdb04fd0a927971f799e743c53edb6cbf5196333317f7410100581f02507aecf9e673e2c28a7cef1906a1298e042128369fe2959764a9a0cfa41244619c2c0200581f02f27ec2fac057a81d5d98677ee855c44523e6972f90239a9183938676dfb258204f6f67610000000000000000000000000000000000000000000000000000000800581f022ff5ed6f71911007629637ddbb1910e190d9bfa25bcceaa3e15652d54e6d58204f6f676100000000000000000000000000000000000000000000000000000008021994410219ffff034a92a70ae8747c9a582e608f647f576f90d1e6c841c6d08514d57cdda574cbf003ca849d099f72ce288bd4146cf0e9f35dcf089db601bc517b5bb8274d30aee13a03732ae3581bf35b0ec8e44bd10f233d8691cfde9ea5e222210d2f59efffdcd18e033d7eeae8d3e1fa6f201e604a0c420058e2b911264f8f02703d0793abcd3a125000581f0332c5be5f2a1d9eee954f9fe05ea9262b5a41e99b4baa6226d82442bfeca054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f032d48b8f1ca9033d749b4ac3dab3b78c0b3934dbfbe5adff0f259f94d038058204f6f676100000000000000000000000000000000000000000000000000000008020c00581f024325d824bf90e99214a2aaf28d5c921d5b856c2c7c5621a2a75d3b9d2c6e4461ee26e50360f71d968da5e1f86337f7dd6a8be2f970c9c43ba2e57d71a57f642c55f7acaf00581f022722ff18b186309c283944471334a247e58203d9d24db04f50714a6d2ca358204f6f67610000000000000000000000000000000000000000000000000000000803e0da6b4ce885938e0c90ada9deed8ce079efa955f18cd6f0888aeed5168a28e802196015031e849b0268cf21b3e2ad90e41e3d3e843083b4c4f86fd03ca5b899d4726a57cf03dc58b577b8e7e65bc17ece051a6a173cbe32f0c68de7740be9ad9091cf162bf8035b5f9e437d25449f03b95c3089d5cc286698de6628bc1f5400609eaef0cd4211039dab43b3465f820d27da727b2d51db6da0cd12f9a3dc34f2f0032968a80a59d90393071a0a873a1e9263b266975368144ae8806560195118846b8c3928b9d4df9e03fa49d62c8316c2f449fd413ad1bbb524b4d24a6a7b3d833a4321485142035c980344c70d7eff29eb5951f6b29a32207ca2ca39df5b91203a012b3eaeade3e7cddd03ebd616b4d83d980519b5c5453552fea4c191cd3fa9496149f96b77db5b446af200581f02bdf73c96b1411de48fc1bb1fc351de951fd7a9b5ab0d1134fc6087bc8b9754d8e5408a1ec690996474ab8e05affbfcde0f4bb4038b94637cd513cb1ae8223b1e1f0655fb0f0fc28e60fd59f1a8cb734ac660f71800581f02096c997d399fa12f98fc91b5641836c264cd7b0fea2949d0094ea4e5a63258204f6f67610000000000000000000000000000000000000000000000000000000800581f0206a2b7252cc1326635afa3eed569d5d12f4dabf3edfdb1454f84285b27fb4301000000581f028d0b166eecc721ae02c6a1c452328d126db162ceb601ae094f9bd822aaa044631f1b0500581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154f79aec08699c8ea4cf78441dac42fc1f6ef6df620219a226032f21a653c705392f6a4f5d0897b050f9402bfe232105f4ae31c6f7813f8a0795031a2967967596ca6d647bc2a6fae9345634eba44f3ebc03237c50f93c9e8a4f0d0219ffff036f62204df4b8c6d65d62914cc4621ba196e23efde89f6a80953534a979f4117a03888a0d31d87214fbf54ec366e2e6a3a039402db208c82bf832a52707fdfad1ae0361c43b3e5848592ad97af5c228adbb640774de493c559ceb4a129f9ff9cb297e0372ac98c610c925c4077a68d16b25e13bfb6f8c0b0b2387834f909de347eacd5f00581f02aeffbccafc3425a8c30bbbaef728407eba0268e2dfa765007ecdc4c278804461f0110d00581f02b08a97f2957f152ad99dcdd49ea2e1e60117af4e7ab04f86ef69156115f158204f6f67610000000000000000000000000000000000000000000000000000000800581f025f43dbc0c245efebcb84fbf96f59d3adbf0fd50cb6acdef142c51b49472a58204f6f67610000000000000000000000000000000000000000000000000000000802198818034a605c5f5ac149d136b31268df63c71a8934a19b6fad650ffad4b603cf84d576036949a0933e2a4894f2ff793e6cd4da2ee0fa08b62bdbe9661ffc830012af63cf0371768b5babc0aee63c9180876660ac6c7432b2511bb6f9e0e080466f105b2b9e0335ea1f837f1eec51a6d61a4ce0918e24aa53d77e5a4aef4fff5e15934b1d5332039c2182b60dec768b08224e3641dfdb3a699d31b177ac58864d6b24e9145121a603c1ae5255fce7108d405749fc5cecacd4c505c74b182de901aeb275b10ad07e960313ea7fb0f662bb9741192165e95ba74674ff87bc76da691ec05aab8076bf8fe7037b54408c201f892084c0b27494f0c1181d94665ed7ac7f09e406b9fa68e41e290340eb4c6ae1e8e186deb4c320f8c9cfbd35ccef87e015f3ae846105e9dc354ca2038229322f485ffbc34bd9ee0bae1c58d56c80867e80d98e968c83f84dcf5d2d5e03c5da1a9e3cc507e0cfea6c36c5696bea266a36eda6d288119a9dc67688faa81400581f02644221a6b93eb8c1ea2e0f6e5a49deefd7537a54fe0ee9b835f1de74fbcb4461ee449000581f035e8db55c997d48f5847e0ca45b80abddb93dbdfadc743976e5f7998a2c6054458adbbd7fd10aa2c193a53d928e8cbce668365f00581f0318e975120833d7c49139c4d15b2ad305157fbe1f14f4260d53fd61813540430100000219102000581f0212378af8cdda2851af2897243a9bf305a6b494dcb25ac6bdf4335a4c0cfa4301000000581f02c096daf9d3645761bedf891377c74e3c7758bc86db978fac6d60d966485744620e462100581f02c7659e42457e1b54112d116c311fb2b1d8b504bc9dbfc8e2d8625d694ff858204f6f67610000000000000000000000000000000000000000000000000000000800581f027917a232b01e1effc7618ba2c23611ef3dc1719f4e86e37a0e5e046ab3344461f2e852021925680219ffff035d7b21cde65752c096ba5f19fa138462325e697f75887efbd14a6473513f58eb0381748380b9672537fd37cadb2b2e0171bd277aa7e98a183e99f71024e0459035038089c64d1709e52b3db96175ddc068e0348538f2d35372d97b1e3dbcff7e6675031fc52e1860abfc533b47277b78fa97d1079908eb0af5647fff947a38e805098303c851287f72f5e0840b4c1bdffca595cd794e1ef60ec020123e3623d21c6ae5950348b7f2a672444c4e7e4628b1c1b7ac791682e5e3a95712da84ab57943bbad80b03d4c48c58f443720dc2e38b5a0373f06a25d46f14a77eeafffbf9c7f38b85142300581f0263f8a2cea57b1768b04bea250a71f9ab986de273f86160aa726b2e064e6458204f6f67610000000000000000000000000000000000000000000000000000000800581f03d02946d58de25bf9e52306a4c78eaa1d18be822f9c79976d2f542e5ad6e058204f6f67610000000000000000000000000000000000000000000000000000000800581f03eff86d724037d39db6c2af76795cc890c4e49a5be635551570bfae04b35054b4dfd420a6982be95f27fb9b1ec0c374690ebec2020900581f024a650f53efb9808a2bc753cdd49da8e53e011f7f37ba3718d7f8bc9240d44465cdd96700581f0283792560f26607b9879c29d485c9ae13b8e483d88fd9dbcd64525f0d636954242489ccfe7d7081d4b2778931a6d6c0c1fb380600581f028686dda4166a7c924ff973cf0ba391d42ae5bb1669d1bd1d251b9d71f1dc58204f6f67610000000000000000000000000000000000000000000000000000000800581f02ee34c3561a8f397172f3dc50c31c2d988773b1d18ca2fe315abc2f47f88c58204f6f6761000000000000000000000000000000000000000000000000000000080219216c03c7fbd7b2ae8c6d585ed2c1cc696400821dea58394f1d1381d0e2a0505452587303c2036863ea2dfa753e762aad0d458ede5aaa044cd3978baf9b348807e830a05100581f0210eab7e1717a5e5f8bb28dc88339c7e814669a9af03b01c66c3e27e7d1fc54df6f3a6add540f8e628ff9bed5040ca09d075a0800581f02de042ecb77cbe82ec1e43cfcc8109f87515b118ee4d5c2f7ec250623eddc54d6f1f26699f9d4e6054e628559b844fa9f0ee14300581f02cb8d0d5c6d110c07fae71efd1f1dbfcab0d3cfa68bc0ad1b5265de52a5c4410300581f02631679108d326683aa79dfe476f030b34d6cd098d2e691a5962d040379a5410100581f035f8bc6ac58cba74ef27e63f5a811819c81520efe5acd8ac212f2680057b054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f03fbcf477249c2cd73eeafd54de82b7ee537bccc0fe2ac3f2bf196e468fa3058204f6f6761000000000000000000000000000000000000000000000000000000080203021923840319ef777cec303be54ebc95778ae634adb2a4af6101ed3b7011567bf5e7d9fef8032602c192004e4eaaf7b7a20cab24fe718b0f7f65bbba37953aff026e9bcc2f170373890b4e94e26654310069461d1f407bd12f68ab4337c216f1de923e500bc65a038fa93a7774dc46eabc7c708d36b220c0c7127efb83ba4cdf8376f28eea54213f038a029f25ea3f308f46fbdee955b786f4818d8d7821d814a19b266089139d094d0219ffff03b95146a99e2a356e6ae43aaa865662e13b600b8c551a69a9b5dd12c3a9ac2e16036615992f065a89e3db63eb07e1563a6a87d1b04e9fa7f0e3343ab4e8cc50ab5503dc3752c72ac9114a4eec8d1e4a97306909ff6355c8c915ed553168309bb03cbb037e206237fcf9b85c68eab6daeba3d83567155f2928bf05a8b12d05bb8dc80dec035560856f8934559d2c105ac6e43d62438be8414e3b265fe0ec2efbc0561d9c2400581f023ffc7c7295b4c07f273cee112e5aa35128c8d48d7778006e1c2cabbd9a4b54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02637595e867bfb1f0ebafe8eeeb66b5c6705c7a8d8e2a7456a41a33e66a4644638ce9a300581f027f88e950a5012380f2708539bc1406270812d7e60cab0869348c8e74771f58204f6f67610000000000000000000000000000000000000000000000000000000800581f02798a387f473025d10174b8f8cc174ad22e1b93c3cc470e825a16e955680644661c62a70219822103da140175f6cdb76b1df320d3ecda7f70198bd9ba20d15eed9f0431429d65575f03012beec15c8a0c70101afcf68da43ad7088197686bb01d8a1f18b3816c39c97e031d56b69106d93c840072e667332fc8e67480c3cb875be6a1ff312b3082cc991903f27c4b0806d69e300dac0d2445420c3ba99ec128248e473637f15df7584fa19303d42db31b8a1a8d6dc15f296fbbb87ad6dcf527f64036c8c868628573b0db6a9c0397138cc81424f62375b1cf4610869e195f2383bde3b3e97335dc8a4c0c91d8ea034a24a054b48b71db2f3737f536da0e84121e29e07f3c872d9f8ad18ce136ed4d0339cf788b3b0e5616127458eae782aa1eaa49e15c88b37619ce2a999327b0c837039c7ca95dde25e6a7f6a988dee3b4780a7edf221c6cb1c715ba37fec3c75712a70368a085209227a4a0443cfdbef546ae526769e8a2349cc6421a84b92aa7b083ff03700c3dcfdbd8189933465627e0bbecfb1164b5d3bc71bcecf82a143a67712afd0219ffff03d18e887b60237ff4c5ae696079ba16bb176d1c4f57ede51ddd5990f2ff1c146b0357518dbdb5ee02c02314fd3877cdd105d5e34a2c176519e0a885d3ddd739840700581f02816b33d8b91b932119fd21841364baf31403a1b2432fa9a79b8b1ef59cc158204f6f67610000000000000000000000000000000000000000000000000000000800581f025ca3fc92ae1314052ea48eb49b973f199f577685b867edf6dd26fe3bdd9d58204f6f67610000000000000000000000000000000000000000000000000000000800581f02edde02e0927ca5a6513c1b5f383efc05c14c21fbd76282db7bd7c322d0ad54483c3f43ae8c215c41ef113ee35887ab85f9f7ce00581f0280ebc9a6049ae904d2da75b59c1272d720899985eea2ae41ce5f9562f2db58204f6f67610000000000000000000000000000000000000000000000000000000800581f0251284305d21113c0286d8d3866a1bb7f53e16880853fcf47395795c293a054ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f022993414edf4595116ae223f4408b370f91ce9a6622e129229a4d6ffba57e41010219251303265de948d19a58f615ccd18b3731a27869922ff6525b04fae1add837bbaac52503415e7b99be438eae9c30912471af8cacc631d8cb4b7a45ad490557186e50cc940307f05c2ae41bc51ca0bf9cd16d863e38e51361d906db8e4f13b0101d71894e8203b481e32179d1e9b477ce2a256fff506b4dc0e38cbd3e3d6f3c0a547f8435565f030a77fffb1a736f79f69ac13690d97bb3a2ebde5e395353c40f718a70206057ce03afcf542d7d1f176a1bcbdc80eb7a7401799e5c5801847c4423ed15d4f86b09b6036829f24c407a0c719768c4e03f550a09b18c8da4e78267452dc1dd8e1203beee03b92099dad918caaa1436ca7305d7a6397c024be452fae2e2dc635f5c6cd5285c03f4e6f1453f1d9b85ce6d911846c484ca4b20bd4ca7fac06bd4f2af07e7bf693803d4ccb652818f481a969a06c48e2d8dba33843b8fab693dcc055d2b8770ad221d030dd1d1030bb785d3323153191f09edc3d5685680625bf54428e133ba07a7510f03cbd480e22cfbc7794e404f8a4b619c2cc4d1f4aa38867994ed4f77ec421011440338eaca9b79aa8e8606d6de03be53cf0b27acac9a878730cc8e55bfdd078ce2510219ffff035fd0ab6adcddf8652b0a73b7e0fad9913fb09c74fcd8e4fe3f6db03e46efcac60309bde46afbef7cd9f5f6103314b2baae48239e39937d82a56cbaf3bd6e27b8bb03bfbf07b2618bf98a769bf7f051e65f21d09ae39693e1bf0121cb21ea926650ce0395262c240061823f37751080b4d534198cc136a5f580866f5206815e22d1b7bd038be30a34dfb733b9c27224a60d63791c45711ec864c900c2ccf58a554d720c170372a50490c5006f9ad76594dfc29c13002180309c831916757500d8756b0c1f3603f3f144ccc738a1d61860c5575dcfa8847ef83d6c924fb4fa9878e0db7b523b7303f60522f4b76e7e5d57376b8878d55376f8b93d11b430d1465528abe627b3964403f38f168855e81eb3f8fc267c22e5c8ac40b0442f421fc43b368585b12bd8cb4d03ae05c55eaba89e6fe14666647062300f7b830a22a036e9bed1f2df5ad85a5c2f038a83b62be3c5172f8ad8951762c68905d024ab9aa127986ff4adfe1f73e8aaab00581f0225bcf2d574fa171f83085c7626a999b8ef32ac2cd6712e3189d44d1034154901d8b64f4775bd2b3e00581f02d0e99b724bbb280e89a178dc85af5bbd3b0a9f13f521ad259ea2ed6dc48c4301000003efe66e7e6fb0c9fc4e2c473f9f0c09e193e794df677a6f49850496dd26f1299c0219404200581f032eb523e4c53e0b24460d11e77e36b2e8725cd844e9e4d9dce0504b33721054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f030cb55339beac51fdf952dc883b5f0214d874a53ef93e3d1c93c7315c895054215a3ae4063b51c12b1e4c8dc12fddaef2d3eeb100581f0357c59766f6c150ec31d4f5ef2e394350396b8cb5e6278dec81857a56e20058204f6f6761000000000000000000000000000000000000000000000000000000080219040c03f6b1f84ecf82abbe617cb6815d1c1eb587c1d546892185df28cbeefc01d1602d00581f0272f6411caed3ada5874376763a95274c6c73145d4d0d3c131bcaab020d1d548533a2c6abb89c722addb2e0da7095a9c72a535500581f025a812485aecafc389027a84a4a9fbec519b94021b9c396a1daf4b88031c3410200581f028d81cfc177638a23d11b8f4ba5dff6d8534f6abfbf45edc0fffa7b9f0ea758204f6f67610000000000000000000000000000000000000000000000000000000800581f02c8fed599b82e3864ba3f31adc597d7d1b654fe6187cac68883f0c1699ccb5415776c1f16c3b766a8a4af06ddb83dad1512c9e900581f02368be7e535388e35baeb6fed081749162cc173be79c1fc6956689263a5e458204f6f6761000000000000000000000000000000000000000000000000000000080219aa6803e5ddbdb257efccdef3ed86b68696a046fe344b30776f42fa4dd013a7a80eb871038339757e90f566dbfe9c93765b6f202c55f293310163cb42f08a77ef7df78e9c03b51c904e9869917cf6f53cd68879b8e90bba369f3237bd073857590c8f228a8d0219ffff00581f02a965a357afc1d3c3ebdf26bcf6151276859c735defaf14a8545496e184d748d6002926b6e1fdf800581f02a400824a29641f2f188eec618683b8191e091fe3af15e2aaa54e4bfd7aec54dd5a81ee4c853db84807c212808c64ae5aa7dd3403be65f9ef6ee3f1ec56756c570b860a9ee1709bc6aa285c1b3fb11e334b5d79cd03523eb4c34e9d52af59abe0d3267352c55135f3d8ed9c77b8d300eb3ee9b8811300581f02229139dacfd10a8ae22dadfdce2c41cfb0553eca7f60242414f69da42ec6410100581f023d0ee6661a1017ebd4e1a3e35eb2f4e29c16ed5b6ce598897bb870015e8054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f024158f57d7da13e3e4f66c328db95f9974faf299ba4a4bf035d8fbbdee63358204f6f67610000000000000000000000000000000000000000000000000000000800581f02808e458db2c65b94de28cf2207f948665a399f53972739c7508ada1d1f9a4301000002191b5303c99992837823f0813fec863ad89cd7f209454425f09d1ee2693e9fd4d7712111038452f2915dac9faf034513fcdae8ad3f4ec31797a7e7c985e477ae92e73c5a200349f83dab20e57ca1df6a92e25fdb79361df03be7301069586d1e21d378238ec8035fd71062eb021300bd89b799c5e014e2fa8da55f85d528a064d879b3ba9ad6fa0344ef83e2935f44ec86446ffacd3dabc41ae3e51c32e3947f3f8a2e67961aafab0347ffe2bf574c1fb8f8330f546d2dab6598aa7ed06c710a3b6b865ac8277e5e6800581f02db1a2431319bcd5d752999adadd6678227a6981cb97b40d7f91369793a0154d6f1f26699f9d4e6054e628559b844fa9f0ee14300581f02d6e963df24f7548d7bebd6f94161b5cea44de5edb74386ed60003e2ffd3c48171262f11316327e00581f022132aef6dfe103771aa5c5534c36659984c72f2a7b46d99cf8d318874e9d4301000000581f0285f299dca4c2836186e97350a3403844af73d3aeca290b0b6da326a23dc658204f6f67610000000000000000000000000000000000000000000000000000000800581f026bee2ec0a33da9792f8508ba5798c2f2ee0e61c5eeef003d8e526300d4fa410100581f0249dc285c866302223f13e87f0aa6c340aa87247eb9174d6e3d1cc17888594461e4f94000581f029779a9dee05934d00ae143214dcca4bdde8df35b5784261bf1ee4181c1515483d4d73ce85040363eddb03b29dcb30c50e27b3c0219437103788cdb40a7ba0b0046f8e387fbf05cc3bae4f903450e85d9234127dba29fd4ac0385597fe12236e3dd3fce7059cb0ff71f408228373e5be01b98510ede0859f74b03565ba67b3e58c9cdf39fc00ec2fc3380f19cc30bc221b8681a563a3f9e5fe4f003eeb36d85c52d5f7aec008bbccdee1a43855cdc2eb195d37bf4045c05dab2d89b030cc0a14b8eead9034c3339c80605d88045441032d2ab418b98f717e919d1943a035bbe0baa7d20a5fee0ead32a6b79b5085a2cb09adc89f82ccf9879df6680cbda033ac3890d09fc643ea1cd985c32988a888d2e8c8a43e571932d24a4d8f6f62d0803103b666274b542eca8173f7ddd042f18cc264d0218376b1ef9a7a76cb72bfe190219ffff03d54d9f8f36efbc77b11bc96bdd4ece1281fc357d3021f8bf18fc907cfa28e84500581f02232b7cd1ba610e2115bd58ccd7042aff232d342294c1b8ee60dae841b52554215a3ae4063b51c12b1e4c8dc12fddaef2d3eeb100581f034ef1634fd630acceedda90fd3ed0621193a1e02bfabf4aef512c06880c204461ed4f5c00581f030bc20acd2d4f2ad2b7691e68569bf6fc0f5f7b8381d5922eb9d055496b8054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f03f0c587b1959395572958827feeba0bfef37c460b35cd2713ab9407347d405417aed22fb447294519f2b599d34efde4235caabe0219020900581f024fa33c5013d51f967eb24f668db10ed3917a3f61855e097df4ec78d6519654ae2461a7c635d9f7573a971bc5ef79d4111f1fc2030b03f91073442b24032326c8ba24a2ea967ee46ba580c3dfbd8b6d8a67617a4800581f02f42f4abd7a266a4cd2926c86f107829c7ede7e98a5c6a2bf5f964300a49958204f6f67610000000000000000000000000000000000000000000000000000000803d5f765ab692a7fa1f9510cb6b426ad37b843afc15d6cc1e45e7d10ef4661c51b035d00cc5afe84a432d83b7a08c2e8403b2d404c284aebf0b47e828fd090915bdf03eb50151e0a899b51de238b1e2cc5ae001089018da376f69b8b777dbbeaae65780219763103ca138458e1a45b3f523e8e7db050e514afc0f3e0dfd5fbd6005b608aecd02ab803a335dab3eb946cd4df3801da6a5d09c8217128f1e8785358a9a65c875afdf55303fd52cae4d13705d71e6d8b11af4d7a8229cedc09893a8ee83da13c51edc98254031fe0a02eeba0b06639bdae84f45c9c78e1721f6170093a232cd9f8b92c70429703e7179aa43c94e2dd000189cc125ccccb89d74c09c4d8db24759f765a37f5f4f90303812d88abd48fbcab5e59a3ad420c91d2df02ef06dbc9d7f89664ba2714a19803c762dfa310998eacfe87f282f716cb599611df0a045c76e5a4c604d357d57efc030d33d13e024efe69aeb5df5e4868dd292c34c4b65ea8bc99318168f793e7a8a3031743b35268b7f2474f6e465bffbaf8ababcfd00e2dcc43c6e2df747d9f15c5d803d85a5afdc1e2708fa47a4270f7bb28ee9dd22d884d7235abd549a07010c0cb11030d994aabe15c9e13d5a07b12a98b8d665a8cbae6d64f8f8799eb82ec3aa90e050341d25bccd3ab50fc4b014a1e595d918c9db1c59e09768c14fcafcc084bcb6cac005820033f2c91732bbc66b22386f27accdb5906ad5c8657b31917d663b98586ca947054d7e366e8dfd1b8900486ca9a4ed825951bce28a603b839b2d20012722a32da3d69573abdce997e3df0e3000913acd68f90176034c40219ffff036b4d113936671cbd43d2ae34618bd36e93d4328f9c5d061d5aba7bbdaeea801303f325e6448264711fdcac31cec74a4878284caea932fbdfa47df238737cfcdaa603b5cde3736c9a170ab273cd0f0fdf6b81878136e539f921a755d3710a07be2c9700581f02408d86ee9c682d431ffbc5e488934f9735f7361511033fd8efe284c45e6e4461ef942703ed550255aed961cb6006e672a61b9376fa40c1398763e0cbe91de81ca1070f0100581f02922724602b964155b37e49687fa8a137a876d987ad02ae8a0a95155b661c582042616e616e61436f6c6c6563746f72000000000000000000000000000000001e0360db3f575017a76f950c61f5473de54e119d1056acdeefe26aa015dd7738605a00581f0211618a321dfa7ea5096406881700901eedc537541be7fd73fc7a6b5f0e8b58204f6f67610000000000000000000000000000000000000000000000000000000800581f028de00581b94cd012484560e2c079622aa1ddf72f2208f997a84c48b0fe6f410100581f02e21139f5b87cf836cf3023125f30b540b9bddadef253f3b8920d17c30cf25466262a0f1645ee1571f905add0b46ea5c93303dc0219c4d603b5d9df966245c5337cdcced8e0cb31524aa2d3db092347e5d5cc510c9f9024e203052e4aa401e5c0ff34ee2627147d46009fc3431db02afdf26073d34a6c94cf0903cc2c56cd57c729812b02bca75b8123cc80374c065d419dda8d545213463b3b7703d4dc1912d2303c0c544938f76ebda07228e67c7318b672b1647f90afa3c4acec00581f02a08c9588d93803eb2c86b49cbdb20c40494bb6717d1256f83e0b071f9ecb58204f6f67610000000000000000000000000000000000000000000000000000000800581f02c30fd00cdb0f2ea7cf8cc9aad811a06689becfc801b0748a985875312d78482af9139b9792e3490328d6170e4dc48fc62578571553e338c6779a0c1c7cc311c20f08ec112ec7c80c03fdfa27253a44a13ee282333198f0f2609ae442b8e21d8c78849d7461cec7bd6600581f0287f9ad86564ec8cd07b1be8ca68a523197513d4b7240d9f0c90a2b645e2558204f6f67610000000000000000000000000000000000000000000000000000000802190c5a00581f032a1dffd4b43e480245a94183660c3711d7789f339af53fabca77e06ab680410100581f03b707fd9ff1aea4679435caa4d512072e066abe9eb242d3fcc895cee3f4e0490d263210c17c6cbdcb00581f03f8209d854861722931aafd62ac4d686c4825d3f5f7ab88d68d1a1920a56054b4dfd420a6982be95f27fb9b1ec0c374690ebec2021904c000581f0249885b75dbd133c2f7e7249a50e13d4864cd666bcf40d0701037d02dab6e410100581f021d3614e15f98ec3071468bd3669c6c2a3763328c84a23cfea8f121e82b785491990512c429c15def1807cd6a0231e5c868276f00581f02161660440ffcccd03466a2a8b5a7038fa5da1384de3f50cd70c35ba5deb254b397a7476621cdc9c16769685a73a3566a82bb8903797e7953bb30e1d475a43b69b682029552c91d5b60d692dd6efad3432570916d00581f02c30b08817a3692e271ea488836c373646889f5767c47627409d9c8fdd084410100581f022e86b8806a691f4caf424670d247aab97dcbc63c4912a098d864fe389fec58204f6f67610000000000000000000000000000000000000000000000000000000800581f025325395d8c09bc7e201b8db7dd01c9728261e14c35bfa59034624d1432b858204f6f676100000000000000000000000000000000000000000000000000000008021963cc0357f2bed75780c5677a3c0e26472580b054d5803ca3cf01cb4c07594c3efdba2103d26a4dd54e673bf14141369838621554ab17e4dde264718bddb6663c6519105f00581f020bce84873f7760e6bd596ea6978c5dc75e645eea6060a5324d7309443fe158204f6f67610000000000000000000000000000000000000000000000000000000800581f029681fc82dee20530e370990a4a4b513dfffd428fef800f8b90b53faca34d54f3f7e40476ce6a22bcc737c7c7ad92196f9c80ad00581f020c1b8a8fd249e35c536072d012d40a9f5f2f30b59c59b0439c37c21675cb410100581f0215b468f39fb3577b122137a3724c143144c21f97b0a63873db4d02ce6d1558204f6f67610000000000000000000000000000000000000000000000000000000802190348034a03b954f287b4bb8109e3edaa838787ff26b8f58e6f0b0fe812cf52d539dc630308d13bbbff6e11deed08adb82432ee128f21d2f67e560a3e9b3232de3e5bd3b603c5ea5b476e076445f2c803c2067488f67f25068edcf143cb205a02c0fa25c30403ee340ffecdd506c4230a9fb79861cf9abc76826e3b890f1e373e9877789eeadf02197fff032dd21b390361517f8c0e73fd478b8d71c4c760b8e81f3aecb0c75f33eaeed9e403b83335e9e13bb7922d6438a81dad5333d0b9d2afc152a816fb5f69b48b39d7660355799965b51071799e5dd762fb4498fb7e53a72e027592d972172b1b69670920039140eebf4d9f35574f7f6892f5dd40f5f90716db9899b9d9884130af8739bf2b03c28530f3c667595560146880eea6b65bef7086515be8556b2dbc81758e82d3a503568853cf3c86fa13dfe9880b4a2d81f4ab5d49142df41765d2af5fd943edf80203fc56dd2c78f76ee52b39c0b30a7d38532bed08e9f1b2a7dbf30374c6b69976d003b91a4a53b26cd1d14fdf059c18b3c4928b3744e5f2a18256d5fe36b637b191ed037270fbba72b4f06ee8b7b588909ae5d86455871432f12f396f6b18c63ae86f2203f2f7bc7b72f1dc30c27b6dfc9ab871a255643bdc1e09641eaf3221430cc5581700581f026e220bdaae484341cbcfc26313b14ec2fd035160caec8570785beec2fa3c5489c9c0af789df3e70177de33aeec7a8672c458c800581f02b10b604020e997511e62c74a7eaaf41de1ef0f65ba1a4016a32b0bba2ec254e1184e4f972a48e3d2918f3b220dfa863e54890b00581f02c7f9a24ef0ff9c4f04162bda16771e6ee744294a4ad104a46aa3ae9f1c9358204f6f67610000000000000000000000000000000000000000000000000000000800581f02c4363a6db0a78e4623d27e2e15ba63d6620db11791a0ff0c73b2e7053cf254c499217baa7a0672f02c00634f6aa005e378750600581f029f80895a2f08b48ea082dba4337dfdd59c6065e0c9449dd4d21a2fdfeb6558204f6f67610000000000000000000000000000000000000000000000000000000800581f02bf9d2b22b9f738845e9727106bc6bcbc0adddd90fa69fc983d333aa73c344464314b7b0219a11503abe54fefbd227da34786ab7b5140ae8d21ce2c2b54a28d2fd217980ce9a9c9db037e3bde98be7ecccb3c987aae7bf25cf7da1e6497103548f543f435ba1ad2759803d33816d81087774120c3cdfd65809a22d94d6d72647f931f79b97f839b12f3a50343eac2e07a391eb27a1024f6eff3a4d2160701b582f14e8a482d50883e3a32c603b25b4a0d2f4c3128665b2088b775266843a73a2167e5a9633c62c8e5b188d23c0219ffff030b43f4693bb174784e3215beb04ecff193f5b0cf9f19d7ed70cbd996def88b440333115a1edaebf4662b8e9fad76d31392c39edea0e4e968fdba2ee186524bcc5100581f02b5b1db1de4cdce626f1812167b7557b1049944c65bc28be4e7653ead44bc410100581f0221aa537989aca30fe20d3983123a80178676ebc9c565ffa749b63426699d58204f6f67610000000000000000000000000000000000000000000000000000000800581f03d5c3d759370a6b684b7c953dd356aa32d35fa291696432b8994d231b973054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f039bce4fbd99a797fbedb928d974accfd197f0af31dd8eef50eeb221afcdf054ae2461a7c635d9f7573a971bc5ef79d4111f1fc20219088000581f02c6c1ffb481496d1c67161e7401e7bc9acd3a23cd826c18c31cd60cb33e3b410100581f02ac1f5690bdf0aa362811957adb1e41daaea3b632e5815f48a603285a4d6d58204f6f67610000000000000000000000000000000000000000000000000000000800581f022694bdd1cfd62c714ed8fe391cb682df3d0d8a617a04b686d670815f960d4301000000581f02ba5318ac6243bcbcf99413f13d43d255372aae3ef9650d4cc4268b0303ec58204f6f67610000000000000000000000000000000000000000000000000000000802193c4b038f0a598d117321d58bfddcad3f85dd0b4326c30333eca655547468591c85a5e7032b4b21ba4ecd5a98931e2b1d51293807a4d60db1593814d4fa22b57c2cea43c503b24ca79e1695d3c7cd95b5267bd71ece7a3d5dcee72e84020b31972711513f4303b2885a7329e164b36beea1a951db722e1fd7a08ff00e1caaafa7a169280f19800360889619254eab0af83895303f84e17ec811dfc8012ae9a2fd6d1e939c9783d403ec0efc8dd1836fe52552890bfdf445acc492f22a9e66f43181c50946a5a64d7e03be6cd4b1c8509ee507b3afb8a5c8625379e5e8d2d79ce59bbd0e021b67db3ff3032eacf471258702030f7fd99ad645d7751b1f76db576504258e9c7c6d32f14a6e03405911e04b4ae1da028b3a2fa0082e976283f93fedb12535b0c205c1e77132a003ca878243d79137ff6d3516a77c2989bbab240ab1e70d22dc3b4bfa459b83207203ce5922ee2f738f6d41ded5c594c0c2b8c59378267f597a82d2a61b3dbac4a6d50355541290179ed847f08572ae42848550b0b4d2979cee5225f5b11e97aac68b1d03a030a3b2770200cdf80fef6e2af174730bc8a8a56f74079987b1762a1377348503385b27cd0876f1a6691e225c9c4ac77202a31b764334cf09656999b487ea611a0219ffff0357d2461f44c6bf258851f5061349e636b31109d773b41de4921d2ce7db58cf6803624e7a492075dec8d74abc432d1b8bcce7a7303464a7611703caf5cef45ed7e70372d8550af97c6610ffa18157fdb54e8764a8df01325cd2d1bfb9d027216fbb3e0338a5992b767b9513ef642e4f9e08b669beed208234edb0eb5228e5f88fbb5ecd038688b69e3592e114cf3f9d4ee62e065c30e3a28ca910afbaa76cc178383bc14103078cf969a831a3c795964050be19f4de5f87d9db088c2c3612139d85be42381f03c0fb16b3eeff6def77b2e298329410844e985b7cc9bcfb2748a2cf4f784b6c0b03d21111f26f20bc256a04bf9403959067d70c5a0187082836c3d6925ef3f6b6cb03f3953777a9c292898b62c470feb2a180c9e0f25ae04dc6d27a727bb1f36fdc4303e8bb6a12b2b0f677d688402b468ac545184062a23f30094dbcb0df79924672460368aa4a5e1f69e7db804a1997bf258568491f919f5225a6f78b8f94d2e0d0ba1c03b0367aeec487a8545200995b75a942ab34bd63cccf94137520d68abe11fd722c00581f0246455bc319cd510355c040d1ce18f9d7f7d992a7a69715e7161c241ce50958204f6f67610000000000000000000000000000000000000000000000000000000800581f02ba6e9e3625b6ffef561eb8aa9a1eb7a4f0c222d176ab4bd405f3f67d405854d1f677b0f5a217dbb4bd87273add9eba1e5fdf9f00581f02bc38f2e6ad731e7b223d9393641f4d3eadb8ec05b62bf20edf01881725b358204f6f67610000000000000000000000000000000000000000000000000000000800581f0281dd4183582373a87075c506734bce3ee46a120bf14a60f197b7b570afce4461ee564d00581f027b5346b36c437fadbba022f72fa84785c13a18d0bfedf85a897e8291de0858204f6f67610000000000000000000000000000000000000000000000000000000800581f02682cb0984c9216f4f38ad914c72392785d3473069533c9ada4c333216f7654b4dfd420a6982be95f27fb9b1ec0c374690ebec20219a2c4033318da82208e05e076727139ab26dc882f587c9ec35270e885f0c0d48f8b5c80036e053e42c671068020de608207b827ba8015d3ebf700be8c230f9415866732da039122f79594a182ff9f0be412f9390aa05c485cc688e169c56afca5f0f11e37950219ffff03cf3ac3c0182934139b06084080944d8166597627bbed55746c746dbe4a34b53a03e388814b03b8d3d7d3cb93f8eb1e131a15d2daf2398946c3930caae566204fd003286aa8b5c4487096dfebdd883c5cdf801b8a7fe6d0e2a490ea54781c9403694200581f02d089545bf6b8b625ebe227872f825da20b3cbda6ea3d2bc5c7bc7e82f4bc54ae2461a7c635d9f7573a971bc5ef79d4111f1fc2036c3547f07d294596d3caa1a4523ce5f1bd8c537483e134536eab4bb7b171cf2f00581f0226e29b8cd8327bf7b63d2e4d9495111416e2335573db3d3dc274cc38b06754b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02104eeb7f153027652e71db666a9de531b1fbe0089f3099d5245c8d5b4e2c545bc072aa59fedad644c6e7dc706470ce38dbd9f200581f021c2415c7680664c6c263cda8d98b14e799aeb31eeb4bd6a422540b6a488654be0b91ceccaf68bc8268e296e85284c91c73c6de00581f02fd6c8a89a38d88d10dc7ac14dfa1f0ed2838e0a4050fcea7a7c776e9767e54fec62ab7350528e11a42069d05f227b73dba13ef0353e0c18ea2b1c2b4fbfcdea18ca9eb48a242b465b9dbba89c4cd62f3011f78db036c28b609646d121e063a3f1286f643c92983dd5bf67b4909a70815757f4d90fe0387583ce4bb3decde97d9e265de7d0430ff5776f05c35ef6404e73b9ab95433860219a6dc0386aca3145131e40cc39759863fb74fa8e5da3e667cd1e44781157f629d6b658903c70667b337c05afd8cc3fda04cbc03d9929e0e3af3d1fa1afa3a051c982cddca03e7ad907d69aa7c9416fc268b0b709222f7fe697a516c37b5461fca61ebe87e2303d44511ca1dc4c7e545f945a4e9f37673df94cc0f5ab632c1b0efb95714b6d32b03cffe58fd7aee4df0fb170e9fc12ba002d4dd5a9c7856fda1677ad7b7fa0c057c035b89702aef6fc1d5879d3903d1145a2fc07d6e8261cf7e463891006d79d9662a032a9005ecfcb27b4f3bbb3c68d07c8f38118f7dc4869ba3970ee512381def65fe034eb7c916b2d7950b2bfa25d0d4248eee19a689063a14fc8fa6c9f6a92780e56000581f0291a10050da15c37188ef6a605bc2c6a1ad33e152b065f352583437daf11558204f6f67610000000000000000000000000000000000000000000000000000000800581f022347ffe03948d9bfb69143e14ae68ca3db6951ccd0c992692ab4dd628d9654f74e29a292fd3b32dacfa792a29130bfcd82bb5800581f02417eca2bbace090e02452e51908b039bf3796f82c00d084b07489fbb622a58204f6f67610000000000000000000000000000000000000000000000000000000800581f02123e31deb87ad5453dc2a1fe4fe8c51614457d2b4727d2d9d17aa39b2f3d54474ddbe43650129f4b9eede0171ef4d5a3d5639300581f02a3c52e38df48a24d8077915a7291a2d98590bfd0587e07b0b9774d37595c540630aacd7cff5c304e5e3a6aff2c2abf2739a03f00581f02146c8e85ec9df3211b0155b81f1a5795d19c4203ec1a18a32fb24154ebbd5410ba31186fd01845ee4f7c108813b76630fd48e203afac57ad00048726596b9a3567e131ae08b6f2050b1eb3e3dd26fb811772857400581f027c32f5e30364b5a2850331e92c173cdf2b401e2dc2fb81a0f0a93297e35441010219691b035e1fc00a55ea94fa29801c38095eb4b1ccb7cdb803c856e3a3599b0ed896b25c03a81b57b012db6694438f20757f4c29859f7b7ac8529fa3e854cd5fd5ee3773c3031d9af670dc639be49a1aab5b3b4a2186bb67b37c607f538ef215b610e8a62e4b0219ffff0219ffff03b04db012ebdefd4a3831e86680ca42d7a9614a023eae06caf7f2bea5d46ccd2b00581f02d21e89231461221a3489732e264e7bf011be335d5933503f6f1cc6436f7c54ae2461a7c635d9f7573a971bc5ef79d4111f1fc2039f9dbc0ff56f81a159ed39e7e6542da3b0d17a94a270221cd60a5d70337643c700581f023b60e322ff5ee9b14c91e9bbd16ac8909b04f3ab4213cf1fd5949c56d50758204f6f67610000000000000000000000000000000000000000000000000000000800581f02db001bb32bb71b24628d1055723789ffc17175a18db20021fc9eef1b0d6654b4e765beb8432f31dc81d851a04b77d526a04f2a03e39785c9b54d2353bb2967f52d9a5c5dd0298e610b6082a9d7da819a05eaba2800581f027b0bbd0f62edcce8f0f2b9064b50bd6d6a0094654d78008a8bae24c7b28658204f6f67610000000000000000000000000000000000000000000000000000000802190a2d03e41e1e0bff71d932375edd45680dc141026ac4f448702b6c12be63c15b9f6838032658426f26771a6965f50fa8a5e2732c62ee7e78f98011253375b0b58c10cdad00581f02ee54e18032e861bb04d2e8e27bff82cb7d2b0bc2276eb838865b416f7e2e54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f023903bfd166b19e1093f66a5d1f4c5960f838755b08d7e9dbcfe7d132b3f6410103a89ff03493719c49ae0dd68cc9ca324749dc4ca02d0e1028767ddc8d391cdbb400581f02fe072b22cf7373e5e6d0929d3e308502f853af7db06498da8a87c6dc97535468ec697bba6b7485498e31da5291a0fb9941b6d103345270609622b36ac4290884809b6d9eb37ffff364023c15ca55492c06db60a200581f022caf29d8ca7662283bb41e68a605ba573ae69d8aee4db63fc109462cfeff58204f6f67610000000000000000000000000000000000000000000000000000000800581f02d3603d59ec66ff852c9ac1c353388cd1808aebdfd2e1b9f418ca66a9db3658204f6f67610000000000000000000000000000000000000000000000000000000802191d6c033c7a6bc6f647d635a28f3a41be30da672b58fb3834946fcda247ee3bad72866c03d62efb7112cfc94b79cf0ab054a9ac45c17d72ad7ba6485638985cc939480c9c0355f6d581a2aab98ae513770a1635cf9314a37b6f5f1c2684010a69bcb91c743603971ed86a4dba5528d5f5b49d9d2e50af152d2a8d0a160a8c3834ece46dc81c7a03075aab6e6e331d757c1843d459289f16db68f0d9f6cd319bdf2a53dde4f400d100581f02442aacedd47509998007a053642a3b9bffa0a59ca0ae324dbd11db46f61d58204f6f67610000000000000000000000000000000000000000000000000000000800581f027402a4b618a529385b71479f006285ad29655ba50635323aebb35e6053e458204f6f67610000000000000000000000000000000000000000000000000000000800581f028d49ac6bb5124f179654a2b495cac2a284cdf487ccbb15ca40b11471b17b410100581f024c230b8ddd636835095bbe635e607487a64bd241c1b579f06761d026e92754b4e765beb8432f31dc81d851a04b77d526a04f2a00581f028c3a4fa8982a6e76d382146f44ad1eabb817eb74f03606d2a33f68216f5158204f6f67610000000000000000000000000000000000000000000000000000000800581f024669f71881b132aa4719881cf6fdb0153c7b61b9b34552407cf59eaa779444662c1bdb034399072ae3910b6cfcf94f57b943a61a4a64e4ae05cfaf0e8ebd18fa4cf94f0300581f025e21fccd4cafef28a3c5ccc80013ce3329000a00dbe684326788afd5e1dc4465f74a9300581f02058061489ce80b79d799d68e21711950d68212f84dda2b7b722e2940e13c5466f02e34ce51397d9ecee0bec87e09ef9d67993e02194afa03749b4998982ffc14b36108e4f0ab99a2cf5438ad86e5aca45079131430c329d903ebf1723f6d4bb84de72942107f93c657531b48d08e4b01b311d15d51d3cd585d034617f99aae5b918fd80bfe1c8f20da92a06975c30f7c7e858fe5a980e6466d25039f5321b89dbe45ca09550257725f83f0e03b523d62df75d982decec154e6e68a03b434af4bc1dd6f39e8fe335a7055fc6a31ed1cecedcee639643aa06b2ff5cd66039199db531da4ab4f2f2c39c57558f2a6c3e4724bb7ebd938094ecf13d3b9a56703565d53564dea31f633e3693185fbe1b0187cc22c7d6f9a7323ed515e1f81ec8b0219ffff038a02bbc752f4f4a663f236394a2e3f15de81604870aa55d913eda8a9a397b79400581f023f2f8467b297f284b41972134983e498561d444727cb55f1fbcecfb00ff254b065e21b0382fc356ad97e593e4a6e4140e02312036181edd0c5893390b02cef0aef7c6359ef89b13d88b3de5309f5ad11bf4e92b803ccfdb33b44c7a659f1386d0fc37bbbd409abbb99e086b2c2504a8849a1488f6d00581f02fcf3d6166506c78c70ce9c6c20e1ad96c0a367528674efb4bcf85b9ef2784463f9839300581f021de158c354efa8b1af58ecdde0d409a297f074ae19a0ae8e53af09c6bc33545518299511f8aed172d0ba2a7a62a6a2d42fc50f00581f020af2cd75cb5967ee2f0241d24949b2293c889aedee60175ea07e040753fd58204f6f6761000000000000000000000000000000000000000000000000000000080219160f03ca45359509cffb987122aaddd229cc5f2834db7e169724d08c45b11ba139a39d03f5a580f6c8adf4e57640bf255c530a2e5b5076042e9bbb20d62a0f7d4afbc31f03f37a0f23ec226db096301917ba4a86241ca5f4a93ed55ca5286a01cf17d8ee6a030ac6babfeb9c9eb8b4d24abcc738f10b5c8616fc44fc17002272a284d3373cc5034fc2aa39e90c58cdb5322748abae42ef14bf422e18f6b1c5fab7897347f4c4b800581f02e48557fb54604009c3585c1cd01f16418d6fb73aea0d90409d717344c8b358204f6f67610000000000000000000000000000000000000000000000000000000800581f02db07310544cedcb2d55fad2c2ca88ab689874c935a61b0af21e7019b6fae54df6f3a6add540f8e628ff9bed5040ca09d075a0800581f026a0f4e3191fc65912dfe5017419912314270aec3a8eb745917861313a81f549610457fc388165fa49cbf25856830a035898eea00581f02e1b1d0d858bc80e542e9dcf6caadb58b13623e4f32c4d3496a29f6b9821054104be7518a497a8924bf2d3dd04f03339e9f384103e9648546849b4208eb4203eb31abc3aa9e86f02362606ef231ee83fe419b4fe701410002195b020314410078ba78a1f7911fcdfb575e4297b27f1922967b962f476e41548674a89303f14ef648052e30493649f71c881d0b55872cfd5468f2c28ba466434a321ba422036d962201ddc44e22f711f5d7c959b9894988dfa2fec9e253023b3ff0c877838f0382f9fc43b743922a1043bf5ec6bb2bc32ddee2535c1b13f58f88aa6e6f55b44e03dd232a34f26aa3ec87ce609c4358884aa637c6ef6e7a0428f4fd2186d517b20403dc57d0575f9ba91e0afdfaf01059b84d4d4f88b5ad01e1a1b599fb17fe65ff4803284cff8e35ccc99967f596db80400186b579f021770d50fda1cf03c552c8589803a3249fabd49d7332d09ee410de6da6d494aa0099e5eaf9e76684e2f860080b080308157020c1440d637170b46e586f9e9cb6214d1f5b058876d42eeec5f32ce12003026d01fb88fbd9c365ee617ac3a6b2cbbb1df316e9e376f8ae5ac41faec90d810219ffff032fc53294a5163d44f7453b1f6713b07d9b65963b09fa5735c020a03da4b103ed03d105b84c03f03ed00580c1f3cc94ed8b20e6024986ba1aef96255256f4d2d92803be2ffc354df1e393023044ace9bcf8e38a40d5932aa68b04f66e0f3571f38db003201897a8231cfa78e55fcb6141dd32afb992b88569878692b9435c65479e73f6037fd71d24bf91d9e29950da517a9544a8d516bf539aa1b027d23f3b171d2c43c703183119f8776bf23a6ede4e4b9cecead98c50728213b8abdec9d9790be08fc59a03d1bdda9497a034ad1f97169e7c37563417dc5195d9dc266751fbcaf2c305b076036814c0d6c2112e1bcf34cc98b0a5bb257559e1406b5786f1bb132baaf6a5e4ba033775749c916bf89ad2570bd159971067955da828bdd340c8bb134af530adfa10039e864106b2d4dbebb494a29f57533102b9c3a2128dae1b96ee1c347215aebee300581f024aa254991a805608ad5e15005a579a0c3f589bcec18c50e03c2d954b10be58204f6f67610000000000000000000000000000000000000000000000000000000800581f0265cf381842341157ed7f68f8bc73d580e0a6cebd1e401a6bfa7a7216b03d54ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f02e2a27235430aec62ff51568582ee43b2778533db02b3c76459c371e4eb5958204f6f67610000000000000000000000000000000000000000000000000000000800581f02aeeeb081fdc266690fe4d9bc048f4ca168fbb33fafe416803d96aeaf6215547a41b12ae5c524db1809a8ae6d2574ec0c91230500581f025887593f30afb58224396055ab191c80e219c11a3405e2bd8f5ef73a0e0958204f6f67610000000000000000000000000000000000000000000000000000000800581f02d45373ea03149b0a21b3cd79b4e6cba152463afa0c9d9e0cb47cb61eeaa44461ee7e9c0219496203befe41786584aa23e9d8bc238ebd8ac4b4e0967df0ffb5d471a1bb5019f44d2f03e3f6f642538d6a9075e6523da3612250905890a79d0cd2ed78245b09ddf2f96f00581f02d584885f35d953d561142d1d427a04cc4c3d983cdd959a3532da6a706b6c4301000000581f02438bc6660b34b2d4efc336dae1270678a3f045fa0c7249c5b346a740f96d54104be7518a497a8924bf2d3dd04f03339e9f384100581f021421cda20eabe428302605ce74106996e306a83941347390c78cadfed1f854b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0213aaa2434b694e6dbedd20d89da9a74a966e53f188c114e7907b47f9176f4301000000581f0271d212ca7ee6a5b93968844d6527ba89f2c698671dbb0e8732f3d9bfa38d410200581f02d7ab86d294c6cc662596ee95a9e8b5af762ad666ccaaeadb068f60b8929154851b0a003bf1ca98ee84028848da1ed69a50cca70219185503d8e9a31964192675547d4be0a1608d5b4cb96460b4c5f571e4d9973a80f8c85c03df07a53ad68059425c44ac31689336970ca609537bc72306bc89ae5e0680a4210219ffff03c37a14b5e5db570616cb65a3235ee1b08dce9ebaa7fbad0efb252cb517567ed60367dba06f0db2d1979c6bf91475dda2559001545f2fd7eab6fc5e19fc6031401103618fe3b8fa8146253d55bfccdc219841f71d1c56ef3304b65d4c88cab33857ad03666cc1642f80894844ad88486139c0cb4467149a24b91d4767e29f92ed539b7700582003cca756bfcef6e38724eddf4223abd7b0d5676e039fa24c72bf35f72d2276f0542d8794abf98161e521808dfe01893dca7a863d5a0338c49a52c06b245ee901a18be53f27b0d5cf10756c2d7d6818cd72f0b7e17d14038d13fd32b73e1a605f36313bca0373d3722c272f7593737b62fe66aadc2c9d940338357ba30170d75ca7b427463075b67558c6e36ed2678ac920acb5cf8c4b8b0c03671af578d8fbe4f4bd55a81f5893df8eb41dd6ce6bfc84b1d9613a3c8ee6267503ce40953fe0d0753156f1affe38921b4a474a67ef8020dbd3f2e7575c74a296c303fd290b28433b0ee6813d654da26353a20d1c5f01c3b9cf0a3db9dee49070e54903113f620ce1f651ef50ecc40d8054078f6f558ee744b2608493f1d4906e1328ee0350f327f8058ba6656fef3696c40802bcdd62efb8011f3db9a7f6afa75d9d355f00581f02de8a4df74f7d27766403045b85652edf54d37ba9c67fd3ce71cd9b5af40641010382bb5af80869187844f1bd606ab8220c29f6cd18b5deae70fa32f40436a7cad601410b0352967509c8af1ed62b617edcd104de30365a544e9fbf9cc28a4445411132197d02190452005820031ced41fbc57af7153e9d63625a25d510d71b83659f51bd12d36f97d830fbe04101033b082d2ac44456e0d9813eafc88d6577e434cdc363f953dd2efac70cdac98c920386ff7105715d1bf2a73eb9637ddf56f2e7535856a68a904d7f67ee88cba531e5036cb3bf8e2645c0138889ff7fe4ea90f8bbf0fbbe30f64282b761a365e99db9f003eb6e12d5f92cbd7b1ef1cdcd6e78522bed1498e07b3f12b71dcdbf0ba788a3b00219ffff00581f0210e31553720047ca9cc6dbe546a2874fd2fcf9f3602675fdb5b81385db9c54e0c036d2201c1e905e10a8255e449aab32ad2dad00581f02e1d9f0b4ff09e15ac5a9b4394be250906b083f0f08993ec7a0043f2a9fb644631b135100581f0215a2833fc8cd7cd43bb641dab77d87af6e27dde00489148b27cd92f1970a54cd7b63ed620562b54cbcc9f0585e7995721f16a603c95725700665bc1f35c6d5fbb92709fe4aea9af151b0fc3eae2fb13066d6288d00581f02573b125549a4b1148f53b977d5b2a5459dbc72f3e87f5c99608f41f1f5e8410100581f033091e61fc64f7bb9b0003d250d1b4c9ff4e3e02db1b7345cb610bfc62cb054851b0a003bf1ca98ee84028848da1ed69a50cca700581f0312371a408c06334d2fc985e5e1e01b0078520af149cc78d121cca824b510446632d023021908040219166203a7ec3c1b27adc044a8580883af78384a9916fbff8991d616a6be00181459e46503bc912be38c594acbbacfc3d6a2faa69c35bd3eaf850f05b9e4971f2baa8e1ddd0359c58afe705f2d41259c6502ea69901114272086c0f9640571da81dc16f4682100581f0224292a779930859fc57d04f7a3bc4ddbb17888530a11fef1e299f81504b24461ed161700581f023571d2a44358b6e914ffe8ccc95548fb289e4123744ad78bd63241ff040c54a751b9c7255d0e2ac70bdddec1044fc7657465cc03ba152aefab0d372a4e6ce689bf41dee6831270633549029a85982e76e69fdbc300581f023f252714c8ea67a5544c81b0c5002484e9b2d54eba5df690c0eb74dd0cac58204f6f67610000000000000000000000000000000000000000000000000000000802196041032aa2b663e031bf9cdffb80bd9c03217fabfb326e101154f6279153170b645f670383ce1a3caa5c44c1da5c49d161f28750e598ad1053ba2a38d4976e3d22330f1603726fa06053305c91e4ce20da6a32965596c9535f136c06f628de9e696416d31f03d37f8416b9473e4a706cce6b17084d3d62fde8874f3ab3698c72f9a3d24f20b003df570218717d7009f4098e65c4fb28fa2c07fb7c9a3410908549f9b18f436c9803d0f589c260c20ee011c0ff77278d522352979a725c6c171253102299193cf47603cc5cfa73f0b6888197caa318a623694c3cf959fc71aa8ac63665491b24bd711b030a69d5af598c8e2e6eab6ad93b6bbe41ad93dd60aa5a49dd6f8bf076d36daa0800581f020986e54a4f3ef22d8dc8516ad3b89ae148c81ade73c8663ec9be742d4aec543c42ce7e967a02872037bf06921aa2358783652300581f0237b0347638f1b3bd798cda44460fae4681c2740bf1b38474a9ea1b93e310410100581f027b32b4bf888492564d91ef01665480520eba628cfe2ca08e0c4c015a4edb410100581f02b47f4d29897269818bb0bc6d8e1042ff8dd12edc57b51710db61df89cedc54b4dfd420a6982be95f27fb9b1ec0c374690ebec203c24d042fd8a6f9900fd7e50e8a1cf713a722e138fad39e0c58ea2265d66bcbce02190a490374e8b7041801f769ad977e6c88b15f5b0c2541d1579bc19e4fd8b5e178e2e30403ea7ec347bdab8329deee0c3e54ce286057a4fba2aaa742b79f5e915ef8719e740219ffff03533d796d1ca0c7a6124d15cd65da3f49355dbe384d96e4cf1b215c89fff173320378c0b69c38a91c2b3d40bb70e2580b9a5368d434165913531adc86f7d1f2304403b0a64f1977605a1df743e07c17f392fbf03410ed175d602d89e25c897eacc7400358902ca939f222c3c193f6d1800699f7d44ccfcaad7e7c26acbab8465917565003667b8adad32c2131331e0d1293e6b07d947daad5ea16e0703a0878fa34fcde040379d4211c3d87047df40d8415070429f28a3d86d988c7c98d7b1101144c572def03d54d3e13f9c6599b4ffad11b959d1417b21f6ab0b1a80224c103e022fac57618037a53e15c8a30b2696ebdc0551c8b775fa90abf3b67af477f83cf5c6e59526ff70365aacefd71ed32a9c7082e7810afbd6209a8b112b4078656d8c9ed90ca3521ec0315b46f0109699c2d2e198c51ab5e8e69b1bb7fc5e776c65d48c45c4e3ebecee40301d55b7854f299b39e679133f56522a1e1711bf838f1d2f3d5dd16823be26b2300581f02e48c59a124592ffc9bd17898c586dcabfc14ba2d8a983da9b8a17ab1b7c84461f15d9400581f024ad872a7f94e72b7ee1820e8863d80f7418d4296b94506299fbf2023e1f5547a41b12ae5c524db1809a8ae6d2574ec0c91230500581f02f506ecb314df7f8725eeb6dd2b384f44a21129d181c8aad2e3db67d5bda24a01392b8be66ec8a58ca000581f02f48d22591971ae538571d81efebd40082286c0d1ee300769a6ff8aaaea3258204f6f67610000000000000000000000000000000000000000000000000000000800581f020778b9380dbab278b0655d824be365eccfe36f97be41c650186cdbda1daa410100581f02f5bb8e8da2abe5bd87f57bd2ec3c673abaa8aada4d07582e86da9cba24fa58204f6f67610000000000000000000000000000000000000000000000000000000800581f0275a4117f89f2540d0bdb71f9c10a691e9dd16af4fe7495ed4779ea2616c654b4dfd420a6982be95f27fb9b1ec0c374690ebec202198d58031606cc51c8fe51469b51ac50e91ffc250e28b7c9b0b99acc39f890654396a56903547e827ab86729efa6e4deb2e821786c0706bffc413a29a0bdb1ef37764d9e9903bc3d7444b014f86b171c1b2e6bce3e3aec2df78a9c0aca5b3ae86409263399b90219fbff031119b063f36d2547b69db5f5337bb119872eb8e3ff577e082739fabcd4867177032d91ddcff02aebed772248b9344533cf5bdb8cd1661ce8d8c033222c1c1ab9dc032bb98cdf998d1c8d934c5ce5ee2efa93731701ac2c42a4b8125e5331800426ab0302afd9d01c793030865906c3a93c9fb63357316e8250480acb457baf950ebeb003e0ba2fec6c3bd3f8eab94e74625149a4783c976fbdf7ce6c9a8bc2520b1287df03a3cb862d1e3447ccd8fb5f10b6b4fa9e82a84d98cd5aba66c39a80b9b1eb181c00581f02004a1b5ef654605e13d09b719a4f588e4b16ae51ede23c30f1506a31ef8354a5563b0c48d8d9c9c685f87842765cf8084fb75f03bf8130fb7d2865921c5763f166bcec5ff6a0cb6d6503ef0740a5e2b36ef4092403f8cc79a47b27cfbbff25a99ee3839b76a9978a82fb4bc191cdb53a843d66baf300581f021a0f39d30c8fb1175f6a66cff53b053920d7d3b2b65a2a8d0f067404f78a58204f6f67610000000000000000000000000000000000000000000000000000000800581f024e40fab2cbf6aecbdada317d4be4d987a71b0a70e1805eaa0f77918df8d3410102198e1003399b893885ac60c6362a6b977b336ec8acf4428c7ecfead587a852693f81fdb50322bcaec915dcccf354a5c2a1267b3b9f61060f14d4c53ca8d8d8ceabbcefce9e03d319e1f9b7c60491a9af7320770c8f32aa677191efd932e9ab7edd63aa97ce29031388a0d95437a25c24e977437d2a3c54120cfd5cc3b6f896e731ea29fb5cdb5f036bdf451b63ae58d91be1fbd65f7aca682b5d0a8b1c7014366bc1860610acea4603e82faff415b91d5a320d72bf69415ba8c1c853f977a3578e45e7d112c0197bd703293f93841328761fe36a759452eb17d1f075ed33049de3247abd2755e1573b2503df4ba6d36b0db4a01777b10751fec305df092eb1292961bced0aec1efd82bf4a03362c8ec07f90f7ccbc407cf08984b4a64fdd8997df5b07a9a9a92ea2c9c6b9f80219ffff0358f732a05c3250b25b1de4a49918a2a6d3ae1ba4633547fcd02d76ff6b6f6763031d612d17c6ce5625273202439f7f0a92f5c1148030489b6305bc753ca0d6ff1303de1c7e84926912afe33959b5a083980dc9cce51970e05ce5601a8fb6e0e3abb6036ea7bed0b253f00dfa51082746fd17e9baa7f6c61585287cff73f6fc423f841c0328979e1364ca4cb2d7340a94af3b979628cdc4364da33b9297be3d6b6ff451a903507650a3a3da1a429f2ee7c1bf17c9266b2cb9deebecbafde11cae27439fa38b035655c69a40634c05e1a10c6d0dddd5c0e4d834e143f518c5d2fae32241e45a4803677f7b512b152fe7f8d0c446a4ab7e1a8785dd4cb7c95612e7f6e864ade724d603b2d2d6bbd2efcd111e3f5acb71cc8413e71dd463406b6e73a6bafcb9d312824a030c24907910541e9c8785b223f9f48a2fa70c6fe9ce178e785b786d35d52d6cae00581f02d294bd026c0a18874d0131bba7dcdf5d72ee3bc25089cc13d6e7ad1ef8824461f5288800581f02b33f279295d33b1be98e9c041023e5694bbc57616b369a4cf51074e9fecc54dd5fdae3934e1b70959f73306429db9aced61f0803eed348916e2a5a60d8661caacaf6e76058336c226a2c4277239cbcca44d42e2700581f0209ddd4e7ca3bf2b7308fad225545dc860ba561a59218aeb21bc545fe7535410100581f02879622c625b28beeaa0578fc3f6b5c41907a116962c4742b1b69b90260f458204f6f6761000000000000000000000000000000000000000000000000000000080219920c03a268fc08c5c4539b2e1186892f969b042d8b9040aed9178120053b1112ce5daf03adfc9e62dd1e96aacd2f060de873518f089c1f1a6b8cf8e5b4fe017c98a5f00303104c1191ff71aed9bd9bce1bba78616a468dee947bd5e6d32163d3b149b88cc003f82e85ed1bee23358ed74037b2a45aebc1a26a1d5d61840f13ccb2996f19adcc00581f0225a8c8e35bc6331adb46308571302d5a41e4238065843dca2bc938ce871c549ad247cfead80a440c42555a0b412c44727f012e00581f022c8207a7334e7aa6c6703ec6f58ce18a0613063148a35e533108a439d7df58204f6f67610000000000000000000000000000000000000000000000000000000800581f02e1fa4b5aa394241b0715ffc15694bab23aef8d4941477657cb53d82fc9a354b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0211a33ad31d4e5f686728117dd9437c1766b320302004f78a53a221c875d358204f6f67610000000000000000000000000000000000000000000000000000000800581f02d2b2257899b5a656b4f14668c1f2937c94ee0e725f8c49722ba7754e8c7a547bb4ea1d6a1006bcc443345794b57a23d85ab52800581f02e834dcbefc2f246f8c3c3706b4034d9f30539e0bce2eceae5083e77e834b58204f6f67610000000000000000000000000000000000000000000000000000000800581f02633b5a5bbd4bb02f386bb1d099fe3697609b0ea937b105653045d2dfb68644620f887f02192bb4034890455b90c9d9f6fa539b68621630662cdc1eebb44614fe2bb9b331bf05581c0219ffff03d9a362d447977b68ac5ed86785cb0719efbb98606767a10aa5365346265e6ee6034aaaf58caf22d7c5dfe7347a7b54ef594220af41f06a3e3608da4acb7fbb7c0b03077898d2f7671377dc70cddf17929132a0384cbea5d33854e53942776576e85203dbb07dd4ec8d3105cb4fbbb7106dc1bc10822a9d6a1ccafb6d3aebeadead9ede035d34b0aa5b8be4e2d7de355b3699e90731ab566f9f4d7a80b6329d04735cb55c03bfad0273227763b62176c8e2b9fd27b38471187db484c0aa9412a43c8f4353c6033e0c7b7c8ae76adfc5bd3dcc6c8016a932973a46ed697f5ff3521cecb6ae35b903f67925d2d4cd1b0c608f1a7f880c36db5ba44130ee82856d62ade20192d425ab00581f027164da8f240f8a4b91d9a5654d2aaeed3270cf02e05d13fdb67486c977d8543d0edabae14e4d8edc6e069882884cfea127015b00581f02a92c2e07945c717cebdfd7a286c53927237c2c81d7920402a645aecdb38e54ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f02b7c7b473e23859c7f37d9ab32eed8538c9c08ac69e58c49f58746e92a64d58204f6f67610000000000000000000000000000000000000000000000000000000803f188447338387c8933ef0b8f4c631431df8adfd36d8f617d34bea7ad1bb754ca0219c006039391fb717e4c8860de13bb032aef49e08ff3e6709461f37d1b412a0ef9cf97c5031558a2ead5e640864175dc2d85fbc7bb74f1aa375d4bfcacad67fec0625f1a06033c91f0f40203e316ed299557cded161c124caae53b9425da496c49e7a39cb636033ecad0fa73edc8997d5da6393cfe1ee1d1fbf7e1ab4f31d0d50790453104d97d036118bee75c5ac55cc28868fbbdd238dac014003701043c96481664f2cccd0cd300581f02198db6413385b55d9437ac0eb477a55d8c670d0d201d47da9461c82cdb9054aff892109b8020d8ba0f30411e9472262d67f82500581f0260945d1783feec445aa88b89af7dc9999c50c77773725e1a0c703809343254d454ce15fa0dd8a5b04f2555a019acc4ff27d8be00581f02916e310d884a7c0569d6122e52a8d1d6acb49c53ffb0c274c320173fc9e954df6f3a6add540f8e628ff9bed5040ca09d075a0800581f020de709f6fac6861db376a61dafb0251385dc7eaeb7824633bca023491bb658204f6f67610000000000000000000000000000000000000000000000000000000800581f02c658ccdcd89a2619952d8d436b349f86371f34510d026514229da4c4c7e54462eaef3900581f0291e5eacb3bd2a855fdff41944a2d3fd722e7ab735140a88f89d7c57e522458204f6f67610000000000000000000000000000000000000000000000000000000800581f024930e72bce095c241a68a7275205770763ff4e575e1fa3c60abb383ec19e5468ec697bba6b7485498e31da5291a0fb9941b6d102198d890387c24ddaffaa4d6c40f75013c94ac8655235781407d5c03e25587f7f727538f60219ffff0362c1c479ec060da5b17bd0cd981c7063ca5c931d8b38b988da91a3b05505e3f10358e95ca0ae99c1c67281c02a25073b1f98b42a4151e40f9dfb211948ad81c09f03d2ebe4c23fdfc2eee5fbda400d6b92783712bc74fad1f20df150f54d25a2c4ff038be01b7cc4df0ca19fa11abad5f23148f631f8ae2a1148c1d82d6e91e4ad5e4503fb3280541ca71d5e2a09382e70cd812f64ddf3937faf48024cd62777f3f9b6ce033eceab320061e47acb5ffbfcf5f64c002abbdf65286195b4ff89a9a46d8edd6703c2e8444db294fcbabeb6a89d4ec01a631db3be21bf94d31a46d5d1bb75d8900b03fbf1e0f6298d89de6122514ee49c4501613da75c2a6cbfabd34e54a054b477140325f27c486f0b44c33c974bce592514d3d0ba42e7e56052b1cbef464e5f2ac8fd030a28445f09af849a7ce22ec689121bc867bea05c352aa3c9b62ba67eff47eadf030e5cf18adc04523282ec806975fe3b5a67a4ed78e2c6cc49ea4019a3d68aa53403aa078e034add4f4c2db8f3fb9a273f9581e6d66960f71a5045fb43d3476dd7e00345e27d6b43583a193146a41b7ecab45241af561a5927ccdde9b55f8d552ff89500581f02a25c6fa74174e806f21b73d3885237e7cdf409664d2c720a796b720aa205543b29519caa4995c7873e0944f24140751b334b7d00581f022de82494d9e2e9447ebd930591c9e125a0b0c641fb3d0d7550c8f7c53b2758204f6f67610000000000000000000000000000000000000000000000000000000800581f02a6d61ee26e06ad4c3ae90ea078cf3615ad35c4808d8ee870429f58f46e27410100581f0215ba1e1a971df60b1388f9c6b658f460e0b25a0facfb4c3b6514b1b4896d430100000219118103d16aab888e930b6014d9273fcdea40bcb6c74b1a698d723ab687bb7bde91965d031a2c57a6a0c158c0d8ffe63fda1d60c267b56df2afde4f7ba771706188d6b5d60219ffff032ce82d048918cb123a7dc2061f3dbbe8d5efd82f4bd95a9fba23077a6f33e885039197f5f6779e21e7da87eddf5877b649f292a7e7fac2d47f71d1b03733a7a7dd03036612881845aa713f2253d7b324be9a5634949be74fe936ab296aef10977221039aa857be86f987a72f5ef1371919a925f435cd0e7e3adc88d65964926db262130363ba7e895c6ed2065d0c6c36b763ec62aab1cb90da8b46778e516e2586d77d870397ac80976555272f3ada2a3e92e121cd3e8fbb8b10dedce8086404965a0c70be03833e44e33a402635caa491804849c8ef44d082523d0c798f52fc4b981e63bd69033b84469a516b97f3474a0038d389d1ed77c319c6337915e6b5bfca6f79dfff3d0382cfab8ba40ab640aede9493d01a62a41c375043d8d3b2543adf66ed6d56c77100581f02d9f0ed42bfe6b0bb6f63367e9cfd5ce32fdc92d5f276c16426d55647068a48b44d511019e65b2e00581f024e807e7ece440f8b92b0d0849e2df7e41a7ec67f4d79fae2678a376f669854b4dfd420a6982be95f27fb9b1ec0c374690ebec20219018003c151d2cd08160d15645129821aa51919efa5cfd582ff9e971351ba19139a212e038644c30c705d421d680d75a70f415063fb628e7ae782400dda407734feafb42a03d79899dc6f90abc90ce3e08b96107cc2f214ae00de48a9b29eed52ba4d814fae035f4248862754feae948e86dba571cadaed5c9d83f293571032732503a94d4009039112a32a35dc38bbcc77dec84cb71e0796365c3fc78b1e888cf8dcbab24aafe603a921fb930468392a0cce0add28d94fd596a42bf4c129232bd42370051254773903df118448fd0ec6d170b13ec94f1d0a878a4b18b570916d5e98de1b0223a4dab4034d551596e14de07b70186947833f5d5306bc6bebc959457495b24f4df13db8da0219ffff0219ffff00581f029a0d4d2519e03ba30d8cf82720e040dd1b38e0f888a5c23bb19daee560a1446521945f00581f02a920c6c9ea1ef451cb75aa5f99213a6ecfa4d488e020c9db5d2a81d7f6c34461e58be200581f02d3f56ce6157bb23119cadbc4b5da5895184fb6819cd2db38a174001de75054cac8ebfef76af031b71d85a1da9a7d7852c4734100581e02b92ddd6244223da5dd62a95f0a92d992007268f13085e14e9e98236b1454b4dfd420a6982be95f27fb9b1ec0c374690ebec200581e02813aeb1c53e0554566583eeeba5f2e442cd6a89ccc42215cb3e77fdd7041010219900001410600581f02cc7a6f733e5f4f73294b62682ac8e4e9e6f49aac11c45cebe7fc29f9060f4461ee3938034145e879ca216e9483311e4342cf32a9847c7deb1e2c302264d5b300468b440b021988170388d6b6a5945c8e925e55ca50f62957c00f09998fde9e4b06af263ef8f8ab647100581f027d8e34bc1d514804090659518425531fd15a71851ad4f387d0177f9e9f0b410103bd405e493cab56e6b2a5a88ce679e16accff567049f7aeed6584bce2f699d6f10219a08003d2f4957eadd4bdcec13a54e57932015fc2831308e4e17e91c47a1e7f13e87adf031aaf3c9f637656adb4fff15279092a7f5299530641089661e8fda895091852eb035c22036202076458a4cf39d8fbda209f890383d5065cdd3b8fefecc4cdee602903d71a5a0faaea24a94ebe08b3a061bcb973e74d59454f1853a667f3e797cc01140303480d86d129016f16293d5fe95a27b5943731a66234cf7af5cf14d881deb3a6037a51c40a9c6aa926aacf861ad0f48b6fd82d8ae287b66b1a1dbc380ef8b90c6b036b2d52668d14700a1c075f3a72acdfba7ea6e3c69fa6fd7ab19907a1b268d418038aa26adfed322e22d5b36a82a1e46268f0a10509d0f141c1a4de9d3a2f07a8920369c502e181d47ec7518a5899f8309bf496498c02ef4f04d795e227ba019308fd03dcc99aa9a47ccd389bf94914040c5a46e1afc06be039461d1f5928201e25fbf0030fef0e493d0d372b64ef15f417c5b97c9e4cdf33a2782c30b9c78fc268bc397c03430eaa4d5fea38a51ff283b4879dae9419dd5e8c64922fdb19b2e40db5813fd003ff0dcfb25869a420d49ada082f387d0d80799bb3a8e1fa1ce07573746634169700581f0236fd167ce44a28fd94eb2287b932eb4d8232f431a1b92828e4275bd03c0b410100581f0215fe80cef1a194fc25de96d61253ff36b4090c87ab2d1c07a2bab5e4c116410100581f0244572abfafe8291592845d7184e5bbe7e0f17e838fa44cc1596ead1c56aa49a816991a06f946c3e000581f02f0b355d7027ab84c8b97e7cea97ccc9be990eb7dbd5e72550272c6b0c7a054851b0a003bf1ca98ee84028848da1ed69a50cca7021945100219ffff039953823d140a7838d2ea1162b4e9fbe794956970e3e0bb7ba73f489bc8b1fe22032afcf618dd2efc4d46a9071aa592ecaea622e2a9009d75aa2b2d7a7ca92d372503d7f626acfd9847ef9ccf2fab3c57a84b19344b882cd4286fb288792883a9797203f3b14bcff3183cc8b1892daf7709a45a2767efc8661488f4f97f1ec3b1e1a45000581f02f3dec51d71782692a10cc2c19dd0392fe32a594c56ddc855d3dce7cedfba58204f6f67610000000000000000000000000000000000000000000000000000000800581f02c41c7b520ce737c1056feede6f7277efd2b3a90dabc2cc7f7fc4b40bb26e430101000370640d0f80d6022e7c29e5b179393b2f5eec07eca42451126f59b3b43b044db600581f02b2c31dd3d4aacb8dbcf2abf21cfacf4af2865b634cf70c8384ff57a31c3e54553133d5f03500bb910b4890bf4aaa834d18179e00581f0230dec5f3ffb74abe6ba05ddc1bf2f6fe3f3a98bcf2b791057e07e9ac723258204f6f6761000000000000000000000000000000000000000000000000000000080219814c037e773f5990ba1caafd71b9b8d36eaa334ee38cac9fd2e112b6f273b16198665b0394e36f84e1a8668a4b0102caee2963978005f81249e99617f8ee14c90ad2f8f6036d2fb3ead804d415645caf58bfaed877ceef82017e895cf9d3452685496787ac0350876a7c8220b1ef8644120f936d5a405c14f8658f78a1653b2106f475147bd0035f7e7bfcda227e207701d357cb3a3500eb97fc4cd25311ba402e2828e7be8ac50361b8fc118911e292850b81cd499f94631f65d78077816a16f09294248c2e938b03b301559b3f61204f53e28a7167d32de82e44d9009e24a54cc24f9bcbe14d7e7603715f9dd51b408042ccceedfbf7588e77986c51741867cd7afb5c3c59f304670e035fc80d377e944d1568a8403c389c42407cc58656022e4f77e98bf1f1f7fbc36b03714ff90a18bd9c36a68896f747926245f95d64f06cf74e21e15dac9584dcc37f0372207030c2ad088e392d4badd6382bd3048c6caf53415b59b1fa249c367616ca037baf39812e5be6ee918afd61fc6174920bb686b2049f66d761387d8cc11d7c240219ffff0355024ff1b28acb63bc39f9d3c9472ad3f62714d957d2879f5401fc6234aa47d80369d46b7c26482fcc24d0328c7d18f6baff9b675d89966fbb3795a28c5321980600581f028b49fcde7a4e12fcc308109c4489e4d78263c21b7a668cf714c5eea6afd3410100581f026709974c82c58d0ea98b4c330f3800d7469ccf2b75a14c881d537b4c5674410600581f02221358d0c5b0fd3aef4860bff1a634aaf95f21f891b6c8cde21f4ac709d4410100581f02f8c4155b11215cf758a6fa76dbe79d257a685d6deca9add79b1e43b1046554b2ee3eb3d7a8aa56a6dca9fe8b6ea1dc165756e300581f03670c3857fd16fa676805a15145f9b9e1f82dc77ab215dae531d99aeaa300410100581f03745baf9296f78ae84b65a4e84aa5f0d11bc5ce1f81d23304176d58ff021058204f6f67610000000000000000000000000000000000000000000000000000000800581f03b3c8e9bcf016abe5567ad39ab63bbbf9f8f77426595e22b542c9ac3e9e10545528697cbf1ce4b8ac054a30057f848b1d2ea5f60219028200581f02b4c75fd9a48e76ba9b84047871de842b1b35d3c60345ac9b72caf6c45e5e58204f6f6761000000000000000000000000000000000000000000000000000000080219780c0363a849a4b6ba93ef2f8b200dfc3b4b04c5d21155890b7345619e0054f312a12400581f025c62a5737d97a5d989e48a6e77dc9bf3c25e3a25e7b91a8fc5520707cf46446383b4e700581f03c8b3a37f8eb3f3ceb60a46080877e787f60ceffdbac9152dfb7d4ae78580410100581f039fced6cc60ca5a1d3c3493a0496a1f7ace479cf79a34eacf6759606cb53054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219040100581f02fb6f80923a1c7bc31464f3942eb4360e6d4d4217ce9f13e2de21d6b5f5cf544d1c6889307e75aca01dbf803d9f032a5749900700581f023ab42ab81a506b30b5c713fbcd1f9460a09f5d4a8cbb4352cb2ab5b00f8654c499217baa7a0672f02c00634f6aa005e3787506021871031670039e7f452b4cc36a230a95562c1b16abf4e1b76b520463f6ec5dfd4ac5a2030d8b1db09c4ef4361c7a4f1ca058342238d2a2a8c4251b083313be6a6b6f684c03d44bedf8954583938a6196be1a62b67e8bafe6d3cbdcfa020b22272318fddbe60371eaa0304ef3531f5fd03b7df1dbade9a1e88b98911eb27aa8e5f1be00c1f8c00346e5c073038c6bd99ec027eabec0a3a840dddca728067a60d25bbcd1c977babb03c1574591455e8b7339c8d68070dfcb0c2c59ef48468458f75ffe63fd293e749303ae8c268bc35bb5474f458d532b3ce196441723e0b0b78276a6894d4cbb1b780b031a7cccd2a51f63467d342e01f72178d1a48de302d9ca65357b2063f30cdd9bbf03d07cb01afbe49fb3c9fdd4f63ebe65c7915027a1c10549e7dd5b8c86b7c4732203b2491b813e016122f5f8a4ce8e9b027068aed9adf6df30aceaa29b5fe972314903d09263ddac1af5b89c375d4bf5166379a4062c8659cd0f26175d73505649dab90219ffff0343c3dd4bfc4cc5a61b9225f61437522c1ae83427ab49077349f3e1d98533665400581f029c0ccc638868e82feef02910eceaf8eaa07cbd7fc24da83ca651a44f2b3558204f6f676100000000000000000000000000000000000000000000000000000008032ac0c4880f9bc671e113681f473d459a4747469c7c55ebe40126c9eac4c9cf6500581f0232eb66b9d0f6d74ca9c2aed238422993ca2fcacfaec5e586efd98e44881b54851b0a003bf1ca98ee84028848da1ed69a50cca702198218036c5dee30c13d100a019226b4d3e56d77ad1d9e8afb0d8fad7f29bbc0aac6bf4f0390b83e225458323c08f7cfbe99201d945f0e39f8da438f1cb9be2469f1aa4af2031005b346186be725e9ff51770730bb56adb87b0c027e4f572943ee0a0dd35ce403a723d9522b8e79c57b74d390a8f1d414af3b3a391d80a0b76d77657923e03e20037024d657f363d0e0f543a3ff8ebe45a904e486a27a0d9bb8842be73a84b8b88003a5ce9e9b0a2f222bc8bd34f661e7e2fdaadacef6ec725b4cc847a9e0f2f7dddb03339ec30a3baaf3727963ada09f8ce1e99ea8c36c67b3f47dd8ee9a0e2b031161039fd0440c688808d7e730cb9654ca833687ba80435caf54ad1fa21b67a7ef1d52033148e18aa30c62b3d462d74c710cbffd69d6d106b9b05bb988da01aec622688d03725b580a56de952b7f2d4c6e1483eba2b7d3baccbfdcda55a4fa1b89f4fe25b803ee22fcbb7a92e03875ec261896fdad9385263b83cddf27bdded3ae6a6209ccae0381ecc46db48d5d1a68c10979511ffd8cb62dea46085bf7177588152f4349bb0903648d8dd258e08efb1d5dc6f883667a9e70c6741c100a03ba922d7df0604db8ce03b79cc2dcaadb17d1911c1c0113a773628705de326da85aae6d8e07cb897d7723038d1576974bf02115f2ce644cb2ac425eabc32810c71b30c078139349bf067b8f0219ffff030b94332e1e3486301082ab39aaa364b69551de48e8f9a557b7e8138cc281fd7403783b23bad2d94d1d1b1d8101adf9a3a482d68758adf479e4257f38f2de8779df0389cb2d971032c273d2b6c0f6c7cfe887e7a755f7cac5eeb4c5edfa5bde5e281400581f0212963ef5417e4b91216bb96bf5af3f7f7599ae47a0ff05e6837d4fe54a4154b4dfd420a6982be95f27fb9b1ec0c374690ebec203bb58c8460be2fc61184056cf549f631edb841fd4295adc9d558d67f197e6ed6c00581f024ef17e021ea141d7406e18f6bf130230e1cbfdf40f78c1bbbbe06ef75a9f58204f6f67610000000000000000000000000000000000000000000000000000000800581f02f538ae89f6f00b1e8eed204fbbcf65a944043197555a3f8e4880a764375658204f6f676100000000000000000000000000000000000000000000000000000008021960610374ad19c844516c3dbb9ab78d5aa1a785d68f7b3933b7a661524f4fefd1c366ba03caa8399e58565ba4241af758671aedcb974002d7107e0716fbddb02ab7ef58080364dc5e006542521300a2fce571a807944b66ee0f6e5402a9a5656453749619e303552d5a220cee27e6e77a9f2f8ad50ad503200e6ee17ac69d3e369537d3cf7156030e7f2edcef9373fa9682bd8d4df538f1e50b03961b5e7ced1bacfd70c05fd5df0351dfe782b57e45326abf77707b2b064c3615b5a1e83dc448f6b56213cf34ae3203c530cac47fcd33ae1b063fd7c77ae3ec425c19cd0eb4ae42767e13a19fb6896103b0c32b97503d046fed83ba5ec0c583ab80b3d2405dba926c3b2cbdc954d0d2f700581f024dcf1033b2cb74c98e3343c8e3324f526a0604246436c3c692278659223658204f6f67610000000000000000000000000000000000000000000000000000000800581f0201277061817b4153ab3d3037c5ef15d55f2d1e5a269db96b462d1de65b0358204f6f67610000000000000000000000000000000000000000000000000000000800581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054f88e304e7c8cba8582a430daa11e1adfaf2a383b00581f0349163be81f7c84d3c8a890e75e0dabf8031999d5ff71b8b8b44e1aadf5e0410100581f0324163e40f0e358b5d32d69628b45e90b05098bccd3b8854c6e419b6fabb0430100000219010500581f0288b7740a9ba8de042f2177c9129d393c26b010609a71c77757e37d443dac4301000000581f0297cb83a6b461dccbf67065a66b766809b6982d20e4a010127b8ae211b77c54c0a854a46878e43c8ffe70d903ec0ed1b9302d3800581f02c60cb4bacc62080208ad822c1e96f6b1c3ada363f08abb003816108da030410100581f02f50265e4c71672e49742ea435261a4fb8a19d89e0f708b1fc84387f7cae44465b39eef00581f0272dfbe686a182853eedbfd4dba4019b7c3185b01c657eb358c899b9c6ffe4101021928e703d10a487f428e757ea59b8ab1ba6b242f134818c57c5bbd9758fefd5817b9644300581f0245fe811249be59d2a3a72283b6abb7d847182f891f4d0c103560624730074301010000581f028ce930f31fdabfc57eb1c58a02b558b5de259a9ecc7219d17ca2984ec31358204f6f67610000000000000000000000000000000000000000000000000000000800581f0230762c687d41deae4b52a9d6f72dbea61ccf531264758a63585e2e9ea77858204f6f67610000000000000000000000000000000000000000000000000000000800581f02c268d2b03f312f4731914ef6170102dd72e6e199606eca7ff7947c8ba538482e426101834d3a4000581f037e6d8717977271433d43b0c43d923a03e6138cfd31276d355602190903f054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f039f318557ff7b6e2c4470f39c98fb078965d722a5e01cf669aa7409fa636054ea445a952ea0d0091c6e6cf8b5fba04a7d97c8db02182803722466e10558f65fdbfff215f29684e07034929a2b5e38e7a47ff5d413e5c24700581f0238975fc3dac06f4cd5689925d9d24f94beb5baad6f5f2555f89c567e69a8410100581f020c13403f634a5dcb4b7a4acbce209044d14f0d80c6b9746a1d0f3854f8cc41080219f54103d21cd2c81f87f1169d85c5c8f3de6d39372cd5215f48542512191720526445b3031136ccff14bde5ecda2207ffa6a6dc84e93d9b10f9c7a23d1846ee2b3dd3e5910219ffff03a012482442fe5f912497a2ec6aef0fc67a49004d36792b36a3cad4cab0ca1e1c031bfd700fe36134aa0fe846f24bf5849f42ac435ca25a3351f3c67aa49308b3c503030d797033e57e46ec4cce5237ea41b1a58581403eb4239a6edc1ad4c88249130353917c1b82baf19a995c765441c6e522b01fc6e2012fa77cafdc24fe3491113d03316ea29f4a48d898f262f744afbb6ae3c74c6587e2d9f252231fff30354fd43203349edc8326844c4010999a3aae5dca636c48ad3b4c2d57a283e4c95d380b7fb003405947b94b1bf4b946161c71782ebe87a3cbaa47ca1748b419fb6570ea97a9bc033e0719ce17e5e59ca8a43f134459b982ef883471afdb2a962f689ab75308c51b03aa339e9ee85708f292c5a984da1adc064d3ad8384c5f6275c19fac9a0fe049b403a5eeae089ecdf1826c9a95b31c115e51a473ae411f2c705a029485095b36e65903c98475c96b657078720959bcc58d261bc5d1065abf8f9c4d32f30d12cf3868390304896b7540de3283ab79bfcdec31ce1c2c846d1b951dc6559a0201e3655f9731032f1afbe85a35b271586f2f69b721dfb639006c47dec9bbdec0d987b00721c8da03f2345667e277c5997c407ac8e6299ba899762124747260b7f264281a29dbd0c000581f027813b51a4f333fa34ee6526a14426f838b6766ab724f31402596ced7dea2410100581f022a66749a5a66833a309906da6a3e482492b94d06e433d69b5113fd90789e58204f6f67610000000000000000000000000000000000000000000000000000000800581f020b271dd367cc352f50e16c94dd3da46053678fb76b7c2b45341b5ea1392c4461997bca00581f02ae1ecad4010a5276cc2b5741b7234fd10ebf8afd22a9462cecd73bcf7d80410100581f025e5fd9cf5d750ec6a6da28a92387d0c8f45d924cfb4edcf13d9ff70128b954b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02532ad471c0cee787987aeb184a34c8947313120e758d15bf855fca7a1f5c58204f6f67610000000000000000000000000000000000000000000000000000000800581f0256a3cd74342a8ae6c33d6f2f0f0f9abdf49e52abdd0ca3908a76383545f158204f6f67610000000000000000000000000000000000000000000000000000000802191e7100582003517226f0b3a7bd492b46446a13fa1480c256dd0e8d210f09c00b2dd77217a058204f6f67610000000000000000000000000000000000000000000000000000000800581f0258851b75a7dc4f3362a52cd67e610458fb4e396e4f75942db5116181292458204f6f67610000000000000000000000000000000000000000000000000000000800581f024986c9dd5fc9736e95d7abee2b5d89e58a26318cd323f302deab0efcd3084462edd11703bee73bed0872ffe1b1bdbfbba864342c29e8332d340d47a2aacf009f9215507d00581f02401b8938824672d12fa800cf4024f1cff403674fdaa1763687f133cbe2b454b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f023a121b918581ecff919fc913fadb4579f9e5642b66f0638a22d968fdf0e34461b1cc0400581f02fbf86f069d1f5f840e78525ac0a2575cfd0e54068946679a8693afe884a354ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f02a2e95ed73735487bd585b3104a4343295cdb3b8fab2cff0dbe9eb135e218410100581f025fe1ef31b7844573200581388740854ef821297d78cf6218d757f6cdf810430100000219c87c0219ffff00581f02c061afeb601421934b188f0f61a89a63d084cbc499f267f212e112de9eb3549610457fc388165fa49cbf25856830a035898eea0372b098958d29ed83795522593f480c2e9ea1957426278f6868b9edbb4ed9c43400581f0255f07806d900a00fdfe789608f79fe4ce1da5340c4fb71cdb6db5315286758204f6f67610000000000000000000000000000000000000000000000000000000800581f02a7f9cac8f8528fe43a03abb74a7178484416a0d384e2a5e5ba00bf966a8d54d975ce5f52478d7430169d57516c97f7b5497ecc03fbd51eaa0b3aad42704f64ab45f05e710cb0f55ba99ab19a414064c6107eb96800581f0246fca323a62dabcc22711eb58b129001d511879b8e09db2dbf4f35c09718543deec6a52d721002876365e4d50333f10fd423bb0219285c03370b515b63cf201818048655c44fe0d658672d77c6c7bab4e4febdb001de1c6a0331139958f0304b33fdd82f5ddf0c4ec45627e5112f8b0306d876f176266cdc90034c2b9c1691e22fa638619766e4a7dbf57263ffc2624b11c9915515f5ec8b677b039fc68c8897f8ad1eb4963cab9a815c4d8065606122d543c42dde3231cc4b3d9e036106742bda4a7005ff1615b45035b4969ca6bfa66ce433d3f8fba2cba5d1dd13031110c55002d6fa2c6f68041f4f7648e1fdca4472a3d05aef82a02499e31256f20320d6321748ef2a84d4f6892cc76167679977b08580b949e6f5668f41ebf4a22c03ce76e645fbfbc2aeb6f85594ee6b6b76992decf4acaeccebf72b0cb9b8680a7f03b9d707c2e333d7de5a2b5b353d4b5a91ed5f9a0fd5bcd3f77f15196992991eda037a773e76e85fa730460bddc28c2a08996b15b22d92cd8f685fd53cf6092b8521033e3aa870ac7015e95351fb130f80e4b4a86a6aa4c85bf2b4d2053129ffc23b62005820035498a994c2454b9da437c3c796292a001c1742b7888303c90941c220ae87d04461a20b0b03f8b64afff25c6459583e0a24b91145af016567b968c51480755834d4af4382c000581f02e1342f7248fce5c1acd7b4e15dea393e3685517f676ab6790d7b22cb14065490406a1129cefc9081cb28657c6163a5c703edf503f4bae52fa6ec50d2289c77e84b790c3091ceabd609e121ae2b35f7fe98aa18c800581f0247fea7d7d975ca37a5a03d517608f38baa0708887c67c25ee05d7338a341410100581f0297c76ff645ea83ee206917c6625913fa5f7aa7eb92f61833cd56120b54994301000000581f02e4486ec625e26bb411f532eb7e58ac22d1ff4e717d3db0d115c2c5926003410100581f02cc01b98d185617114d7cc33230e6343cb8a7dfefe3285f93ec4829d2778154ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f0226c7d423a4ee8a78e4ab289cf244c19188ed1095a7e3da72984ddc769bb14461edfd6c021981b3036560226299aca3e7bc9d513c51d12659537c4d3da900e64e38ab7912eb94d9780219ffff03676fc97399e244f8bbda9f0f51848d23f3ef12a86f0813dd4362bb935597a5da03eca154a318c5ad5e1fa27eec02b1a38e95fd602e5e984bf67aad315774d3ed20034f1c49b3f622d2a7aeec6846efbdffb0e841aa76d3462feb467535e69db45da603d414b7e50148ec85baa0812874ff857e46cea89c4d7cfff7943b91146fb1d57903ab4fb17c920e37cdc5258d97e15bf36c8bef779265a59907bf45ab9865f4d9a600581f02d682b590c0fed8748846b84f1195c3a3bce18e851cf4ef8ed3085a76598e54b4debffe85e8790581697d7ef9ffa1ca8c3e429000581f020955bb1109d7220771e447b46f9e66209cd810d294d4e678622d27c41f8b410100581f023be89de12aaf25503d2d4de568a47858d59fb94167cee806495f9a6d3f7158204f6f67610000000000000000000000000000000000000000000000000000000803dcfd9fe26ca83af86eeaec6ab62bb1321f1ad3ab15d7dde74d8a592df7b44e850219480a03bf665837abfb5c30d3f2cbffd4e9f55c08d3129f9e5bbe88337a9cebbfa2f4b90354f03da81855afac1442addea38b798ad7aca599fb07194b7ec54d40518ec244030e08214718acbbd95d1eded3fb31de31c988b66bd326cc170328e9df0f03b671036330eddcc54bb43a9734a779790245439e6c96a15fd130d75106af8b1881056700581f02f61c623c47fc7086417f5e8a8e8ea2f4fcc03dca9268237669f5c211a37f410103e1fadc9004c505aebff95639696ea160a0dbb45f6824840e9055cae693f8d7f100581f029f8b6123b550d84e20d39cfad9e35375609c18e3d20dd378830d219d533254b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f029dccdfb8808609f425192399555067079234cb19affae49d40c778c592a2446394750700581f0244947415846758bc37686ad737bf22fa059bac7c22a17eec46a443f29e274927f0f618653b2729fd031cc2f6e0a816611520d7fce472c8e13d3c29f75481721bcc376ac234ca89fc7703540ad977004d2e69055418a7ec818a4dda6dbb12b20b8156dc120d04e9d5250700581f022bd13fc86c90b98a468a6cc10baecb33f420b08aa6ddbcbaa594f72c5d7c582068747470733a2f2f6f6f67612e73332e616d617a6f6e6177732e636f6d2f6d650219ab4303ea454b03849cd1c9cd4af3955dbcf3d7e4d7467ab3f8211ee585a66a69bb4fb9036ed665cc2dc675ea9d6a9528d7e89b931a2ad5d8916aa2e84336a6a3ad77869603f5943b816993e62fa983170a230fd48c6ac47eb7499c2a0907814cc16504d06e03f058fe4932a8a782fd730936f683c707b3cde0f3b2289828f03e11e9f952eeb90336bc5c3ecc50d580899fdebd3409190daf74677e6abcba470891248c44436ab003ec4db14650057836d20d35ba20fef97c96aafbad3e3d23c46e5038ed606895360219ffff00581f02a313080493398d97416de5c8fe158e19e50b22e57271fd1d0d0986bbbb1854b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02130db24dfdb566bf98bf44808833bf40ec6fe5970acb4c2ea1543a554345446252aa1b00581f022144449f07cb9ce37574c0de00025774d5adb004ce113d76064adbfd6f32410300581f02bf9e2c7f5a8439b4b72c384cbe16d7ff4b93967f7cdeb55d2a8c1bbbdb81410100581f029267edc383972fe5a986a94aff8c85f06da1dfa50e12f247170632db984654b8585c597d2733cae2b62f9127371f072347a68c03f38cf29a97ce6cd8fd626df42ef4368331982cf73fa78563edc311f4d7de179400581f023bab33eb6a86a87c9452b2045eae3fca2a057aed853eb6dbb0526d85d36f58204f6f67610000000000000000000000000000000000000000000000000000000800581f0218522c31bd914699734c20142be6aa96349a9b408068d0847be157f71afe545029c43bcb0ba8bd6e94845abd2aa5fbbd6e33db0219936a0398e89892ce679935870b280e070ad5e2ee658acff9d260be8f0bb63311dfc23d03a8e39efdf7e8aa92af3920265bffdf687102981a6cc09cf99defc5380454f7f8031d92ddd6c017b36cb5940ad46847242530cd2f812e768c3a1d37ce6ebf49a35103f6453fd657d6c4b840f5b530615823a1232466cfe6af09eb78065b25c52bdc8600581f02b04cbeea7bf7099373f0dcb87aae1764e87d84c660aba120aa32ede6d76058204f6f6761000000000000000000000000000000000000000000000000000000080365a1e39e544003351b4333e1bc84e6f3bd78851438f21c2e01b75ff3cffdb0f800581f021c562037584c1d9d9479678659171bb06611d66944fc5916d26d2ab5970f4301000000581f02a26379baa0e5e3620e9d5f8735d4759f98066eb09d338bce14ad2e37948c4461ee3d3e00581f029cfc678bf57cfac2fa89d6d48598e53e9f42a2c6439b244a6e380e71bd7458204f6f67610000000000000000000000000000000000000000000000000000000802194a09030779af78627a24c4c2d420f2664647852c5bde5c5273cbced2c3f4638cb494d5036ff9c28453e703f7c92a69878ff6b5fc5fe86b6fdd734bbd0270bd9a60a8de460398a3ce48f287ab59f05f5231febdd7f92449b09b1893e1e0d13bb6a73137d8a5032fb6de9d326afe52dd84cf874f98b00c376f37b2935f95361e0cb138be50a482035728390c078051f816f9f55a603292417ba78677c5b1213bb9aa7c0407f9ab880345d0397f308730a059412c85dbec23d509efc4007ac1f08ec9e3a8712524d04603856064d1f9f73707b957a12f7f0ee33c26411bc8957d44f59cd9e259b9f0ba280345d1d12614056331668cb5019e7527b54433284e9a0f0fc4eb5310193fff9d8b033cb0a20a5036226e47ff41ad3443dfd983176ef65c96cb4d255fda87f1eaf37c03f877006f8462dd60220b72e4d46a8d88515e83a706fe7b4cd0cd943e2a299fed0219ffff03fd66a598054181bd1f0e97b834af3f5002fea87d6839ea2cb6fc694aa97da46a03189df0229621045a94b3ee9c3557b25a297565cfdf3eb7eab8b5ae08a97d8ef7030001458679537971730eca53c7eb64261b9672e7fb8c9478b6a4d2d8586b73f3035813aee64478176bf3cbb482462a2a715cdd7df57703d0a0ac7a10fa476456f30322229dee5d3004498b9dec4f3200dcff375ecc6d69cbf4d62edf0c148ff706030319004ddcd783d60f3bc6fee14886bbb0ce3bf38e99f953faa6bfdd1f247f106d03f2d43f071472507e6817837eeda15793e5b08ace651f82f7742b81c3bb3c64d5036a914d8c85021d041685981031dbd606291c164ab28e4b642336c0c84e77e5f1032191d0074502fd3237f269c8cf721db876c33bd43c5738c4308bab5c531c44de00581f0257725a015c1a5987d224e67aed5936a649057a8ece8fc619d9272bfe8a8c546126fdf271c70eae8e7046bc0d50e3d1c0b3bf5700581f02c7ba7dc0dc0dbc3f37f46b8df25ef02b0d2ddfd3fdc6a952c405e09ee319410100581f032d92633b2018e626fd01d8ae737d927054d4f13e092287b7057876c190a054ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f0380073ddb03c5e7926b10f45b902d8d09020ab2a3bcfbbc04e11baccf8330410100581f03ed3f9a4508e13dafc486660b14eab1f283161b75ac7078a3b280cb20198054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219221003e81e4760d350cb5f7c7bbf16e15886040e31ed667cd61ad1accdf6a77550a16701410300581f02ae74fb21cdf581511caf80ccfbc61b9f3048d44323198a6f90a57b76eb9044622dbbfd00581f02a0d73516da3e18ebf302ab37930fb1de18e8397fe07f54a215eb2e172cb658204f6f676100000000000000000000000000000000000000000000000000000008021941d200581f027ed9e69bb6f3a0c0dd175a6f4cb4e5361e53395611a367e10a466b9e97944461f25b8400581f0220525db2b1941fbdf20f70663a72e18c2dad001a72a561407d79d23d08ba58204f6f6761000000000000000000000000000000000000000000000000000000080365a1c52341a1012de7c267a691dd4d5c9f7afcec51830394f3db22919af7fbeb00581f027e2d9e64d00ba0e24a00d2f5f9cca28ab44b16d4cc4d4fb7f9ab68b94f5f548ac0012a3a3f02b5c89e8bf4a9b7cebca0732d0200581f02190b361b82c240ed90f602c74c997c14d91d10a87d6062d5b7209b9df50654820d2924fc880a3c045e64d35390a1faeb4f431f00581f02d3d6080ccf78b76e9d667ca1c7b29f17edd39e562655ae2c3d59b7ffb93a41010219497003912ac59f058fb75760f94a35edf26924e61c450bb7931c01c7405b9c5bb2cb5303b535f8b04438e3172986b02ea9851303b4e510180cc28959501e97e98d36ae53035b8a189d501068c091777651c59e620425a4431da30ac5afc2c9a39be1d6f91200581f02776e38ceea7dd7ae20f8f1f17c1237a5cacfc2631f9302431bf358092adf411000581f022bb06977ef0b430d93999a68c21d20b0eee468e5ce7ed02fbba7290c3bb6545ca9568930f61ba40d90f4d1707a93ab78db632500581f02f04f64b0ccf611fc495d0e59c7b1ab5c2f418d4bf00f7ea497ddf00ae21d4301000000581f029f7f931877873afa357f671dd62514a47367307995685877d7fd9090fe5f54851b0a003bf1ca98ee84028848da1ed69a50cca700581f02c23219b0a8fc9e4742316f51bddb831369ddf32437e30de5ec2f4f528dd158204f6f676100000000000000000000000000000000000000000000000000000008021904a6035c1260576a55658e9e0c983c36aee4db6597d8c3b9641a80fd65ae4e48bb28e60219ffff03cf36b7ad1e2e1f3fc3f7826861440928be8dc5ed0d0f4fca2aebb5b7478fa4f503bac27c572c64aaf2a86ad052434a9681a50404fdfe83c98d0079d5e9d254949103808dce15b5451176dac85423142dd7eb67e1fb827ff0cc24abb961d8bb43e01d0366a2371bef754bbf452b8edc7cba1415d0f5e97420bef180d3383883f897972503eefde599647d737f4cfe018990456036935e549f90f89ce4cf0dc235e236b1d8039ea36561bf70a910809ea906c7c57116f2958ded7a64fd74c75cbac767a98abf0329349c48a23baf9f550191e6a9b609cd15940498da77e4c500bf87ae306b18b303c2b6e0fef1fed3aa7b48dcd4942b3088b106e818591353b4445dc9b7a71938880310a1cf6ef11b59782af14a10bbb14768e086d1dbd5ea9e72ef96a700d231cdfe0310fb37c7f272b99ba990325217d42d3cd6a82da99c7355b7e4e33c96248843b400581f028cff0ebbef70560ad2ca087c2dbebf7410df2aa3174848c5a995a70a61ef58204f6f67610000000000000000000000000000000000000000000000000000000800581f028a98a22e7bb49d16f916ed443067e43fc87b4736e8331c293fff13138d1d4463a1e54700581f0286e6a8794a27fa893fd70419fa7ae990b29abde758dd66168b8c084d9d6b58204f6f67610000000000000000000000000000000000000000000000000000000800581f029f4be8f9fa79f65096a17bbbf346162ca9e0ad244e73d0cbdde46b4fcf2a58204f6f676100000000000000000000000000000000000000000000000000000008021928280330fab61804133a7d67be3690af5997ff266260d4acef546ef42cc227baeaeb8303318eb861990da566347baa757d1c8f4cd3db03e920f96aac299271207a4070fb03e3ef2091f452339a64fb50a69df05b7c4098f74b29312e82d655b314385056e4038d533e5bf3f11590ee25db72b0fa95c20af19b159f3aa10e48d227ecbd4f097b038a86ae45336c829b21244799cc295405d350ccdadb714b4c6fa655fa9c08dccb0219ffff03af9062006b0bc3de23bc774dcdd504702fa2f9d92bcefa040afb2794e285ed0f03e8869e2f07f271864c4a1c587a713fdbafee7c5fdab93d05e80aab0d24f0d801039ed8e4a2087da6fa9d4085835518ddcbefce04cd317edc42f0df8d4ec0fa72c60314dd5bdbe1444a0311d678d806b9cfddf73e7d24b5a706b9da5ef549a866fd3c00581f0238dc5a741b88eb331ec15eb07f0c9e2215d6b53c60c2d861a767a32d3cd858204f6f67610000000000000000000000000000000000000000000000000000000800581f02c3324ae560146605be4413320a7b30311830312624f2e8f9757b052b78dd58204f6f67610000000000000000000000000000000000000000000000000000000800581f02ac97ba6704c04232a3288da430dc19589d029014a20b822e0465ee8a1cea54fe9850a731c3fdd60bf08297214aa47b32a4c96b00581f02d6ceadcec0009f6e6f90cd24a2179ae85f4d2723c08ae6a8b4df149859ae58204f6f67610000000000000000000000000000000000000000000000000000000800581f028160a05b301a02f9e27387cd7d1ea69f5026311e4a47a1efef8a9274f02754d1d9fda4370fcb2992cbaada99854d96db8b55bb0219c00703bae84eee01e970bf7a62b722af0a49d26e37a94c9364c7c8c31f741d2d2fe950036667703786cd946c535b9426403fee9c684a6e0cef14ea7b708af8c99b7780300359dc3d2ed4d42c006d08c1904811f1798b3d0a782b431043753899bab4f8796a031e432c3504f6dc9cdedc125970f1d6f0a5186ca0039525ccc994c1fe9e85f4ee03d35cd2996da21d3c0e1e522bc1f0bc4eaa277995204bb819f2e7776bf602a9e8035beae51945aec067af0ba0c9da5c4305b4f8b960315351cc2ba191922837a56703357e6882c89ec85988e88745f207f5fdcc34bbaa465a12894548ee621126369c00581f0232bcaac963abbab3c8932264a8b93d9f16f5bb65261d8d4f7fd81f733902549516f1baf189e7c3219c8f807d1c386fd387a7b000581f0255a6ebccb0c240d1789147c6eae52b063815cac69b6c752e7100f1f074f744661ad5c300581f02aa2a7c3b0fb8d6220480c40f995ad6aa8ed89117714dadf7fdda244dca5558204f6f67610000000000000000000000000000000000000000000000000000000800581f02a136b9c6c022b57472a405c19c31bfc7f780c0a2cae9bad49f93d05944d54463b98a1b03392ccf8433afcd18d20437e238ded18eaac47c5069f7b3b48555fefef8e79e530219520900581f027ffad6ab19689645d413b4628a71d6b55735c8ce5a6c5017d09124e7ef394301000000581f02b585ecece18dbd5f0a228d826cd9455341bd479d78d4556861ad6f85088f58204f6f67610000000000000000000000000000000000000000000000000000000803df72dd769e2c56a0f5e23424aff7af1713b305d6f6a61a58c5785296aac8ba6800581f023da77128a2338156d6a381bb367f60ff6eac973f48adbd46d8c4e77c87df54fe9850a731c3fdd60bf08297214aa47b32a4c96b00581f021f3db75cfe0034dfa4de8370d3cf48090257889928743995641ff0dec6f654b4debffe85e8790581697d7ef9ffa1ca8c3e429003b89e16764a9c2adf4919d0491581e740296276fa137bb74c33b7d6a454c5e99200581f022f3ab5734fb84639a8d46f1c1d82b400ed2336b730372aa919e8d12573fc4301000000581f026ff0a06c2daffe79cc137c8e93b67703abb632cf6fd9d05ebf74c02b6d455460c958f70ef876d41ca2916bdbd39f2a8d07755400581f02843e00347812bf25b85bb4d8f8bd4b85ad54b5f83e5fe8374c61eaeb0d0254ae2461a7c635d9f7573a971bc5ef79d4111f1fc2021962bd039d2a3ab7c1d949cbde4ea338c339fa5091a8d5e9d0bb1249598950f72e7f610c03b0fb099e056a7df858c00561def4ae8dbf967e08a90821d5ab4d15e7955d9f100219ffff0379137b518b539e1b32e2a87ec20e369b39e604c03e92b63cd196a36e38f5226c0350505c4861505770dd3354031d71c79b2c4d1640b4193385909a1da610a00a7f0323573805adcc626b69a79c5d8c17412973d5ca52167da5ede6973d0fdf8329de00581f02c1009179f340963031005f5a61194531b82bdf0b6faae6794b4620418c1d5490406a1129cefc9081cb28657c6163a5c703edf500581f0299e6942d35821074203f58039718526e4963e246b278c45bc9414e643ebd4301010003cf1ac1097d01207ec35cfc1146a8c34bed33c04bfc2f6cb6986d6ff004e2992a00581f02a5183242582fcf7f32b36ab681c5a3da82b69b0e92ce3ec3cc21260d0a1158204f6f67610000000000000000000000000000000000000000000000000000000803ecc2dede419bd53c6ac56b1a22d15e1e64404cc22fe1e793e873d8400ac6a6df00581f0218928080dbf751330ff7aedb8845073f1b18acab8516ddc064fb26852011430100000219350a03ad2c9cdd9ddfe0dd9b70af0b94f3616bce2ae20b26b873a5db05c2a468edcafe03bdeef6c1d65dfe22085bceb445ae0672af797e1062bd69cf7d0d287359d41cb803f3d0020a19c87b72527952625dbc3bf70e79dc43ad1a566791263d0fef1c3b5f00581f02c07650ce6ab8abee3dafc43e22addb570aac1dbc63b77ab6751f5d4058fd54b4dfd420a6982be95f27fb9b1ec0c374690ebec203a3bc4639de2042361d605a098f94f247323f43710d549e258a7a95e8dbc9618500581f02cf2f556c2878d2df037cbec47c70311ad25600e7ab2c2824687631e28f4f58204f6f67610000000000000000000000000000000000000000000000000000000800581f025dafca15a58c369721b15bb0e8701d3ac61e9a5bace017a22952915a391854705ea7ff156cff3705613579c0da825003a326d80371d2c0eda2aa7d7c0ca9fa6d5384875b3bcc22cab79b2a21b1e516a6885f30d300581f0227acff67184460bbaf0da557db19d236069cd02abcd0adb0ec0074b085f054fc9e37950fca2178f211c32b4a974766faab256500581f02b35dcad95068d250aba33ad1272a7ee7426929f8d2deaf169930d6f317ab43010000030b4ea1a74617bb87502bca211a2e6a9dccbaca3c37c59f8272547f8f05b249f902190f270396ca1bf59017cb6e89d7d821cd1ed12451dc0e784caf82423d027045bbe6c6680327da33ef517fb20873ea32df607157b43005b8a133dfcde9cb18136032522294036d20abd8a59ed343ce4f0b8aa63dae0dc972dcf27565b3b2d88d23a784a1d2a800581f031c44f0c261776dbecb3d1432cda0f3dab75015d7a1f7ab84f76d900c968054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f039586b9b46abbe1e287deaa5e33a2ca07844894902682c5c0da920bbd319058204f6f6761000000000000000000000000000000000000000000000000000000080219020100581f0211ce6bd2ce714cec82b1538f9e556ff7770753b4f74121e77a7dcc96b31558204f6f67610000000000000000000000000000000000000000000000000000000800581f02feb925c0d497483de8eb30af15794fbb4772cf41195566b366e0234cf88c58204f6f67610000000000000000000000000000000000000000000000000000000800581f026d9ea7e43e026acd95c6682386ad51c3a6195e5c71ba46d4045db7d0581a58204f6f6761000000000000000000000000000000000000000000000000000000080302b78d53ba10579c77addff21d8b3aaf796f8898a8abe54e6bc9ab5797a27fd301410100581f0222dc61c0dc92e66bc0771e55f0be0048c6218bc66243e6eacc6062ec7cd1410102192c98031c1c9aab86b975530f950ab414f1ec46e385c8f5480f2d8be61b677dcc141da703da340c1f3e1cd7910929ccdb400b40332f3b8ce84c885d1bcaa5c0318414fce403a0378a046c43b01f814b68a3f1f5c4d0a34cc5e42f90ed798df28770b457e48d03d9c1a46d3bfabab80ec060b6eb30337a552073284391cc05b778ced55eba550b0312b1539768adfd0418391c46a77f36184e0e2ab4263aacb9241c13be3ff2444f0219ffff0219ffff033d3bc8477dff3ef9288adb861e28a0439f318df2cff5651d2a641de1ec9d185103de13fb90cb746bf6af7fe41454f8a325088396dc37f2927a467b60694da41cd903a6622add400668bbd716ebacfdb47d906746bcce672cbbdc1cd955e11ec51ee0031c7dd4843534d3efeafbb54456f8b19409a43e80b8f42109d0bfb184b03a315b03eda38f0052b2555fb84001a2a353b9d6ba1fe376208ef24caaa928dfd97f8c8703325260cdee9a1d9b973d242c3d59b3b0bb6b30923342ca84fd4fafe24a8cd79e034ac5d7ee620e465d66a044d69c0e358439430e33a53247aa0b909acfa1f7b736034a626d3104d7b6d7bf937d502d81b0ac621d816e7800ba6e14857f9a4a53fcdb034fd548d8997f718604923ddfc5babc51afa0141bd13e1cda4d0a02e41be0f7c60378e6c3a43c822299cbf36624a231b6e00d7cb832e13f72ba5190ece4f70b86c303d18264465e4be89bc35890e8190d1e77c39f84a738ee592ee8580b7567f2f50103c8ecec1f1b89638eff46562306f132288cff069ee858cfa007ddfd9f1dd1e27503d9bb490f23bf54079d851ea9e86c5d321cf6ae85a9c16323cf6bcb5c2e66515900581f0245763ad896174d45e8b8bb02048da026a5f8fc818a129237d799b6c5f17f58204f6f67610000000000000000000000000000000000000000000000000000000800581f029681a712401940bc8f6d261d5f196da4c7e32502fc2901ea472b03c6418a54d454ce15fa0dd8a5b04f2555a019acc4ff27d8be00581f02f83981c059b49189462beccd6e99e53dfd8feb2bbc067323b25e1d316c0c546fb4eea73ecb50d1d7a060c957967d0a7d379a6600581f02f5ba5ff226c7fedc8b192f056dbfe2327734a9150f1180c73226edf179f7410100581f02b9de3cc0acb5c72eb2f3a180f9843b6aa5f38ac49262fc29f9d5fd929df5410102191721031d91a1a37d015468604cf89759b64f7aea762f80861afe8c1b6a6fde176e94f10384a3c24d710b96a4847f764e02cfd83611fd77d336b67b8caed766c71017037203e2a652cde902ace753eafdf654f91bc80f7119655155e1acb5428af7baac72630219ffff0340ca5af26a507d2192f6de16fe53604a0f1f932897002025f57ca3fa6f822bdd03ff0f140481339cf201a2897f7fd3fb3330e5d53e77e1211c599ea085c32f508103df107def2372ee5dceeffccfb917b743a66161915dd3361efe8dd94809b46648032c5f0d0f0da39c9a60f3c285cb6abe5ef3238f491a1636ca050c1afa4c3ad1bb038a7c0ded37aaa50b92573756ed89051dfcf5ff0519d69b44589bca2f3d12563c03eb932a408c6424a684c753269b08bc58ae29d72f73a2f65f6c3ad10e5e98856800581f0271bae37d0b4bbbb25f8f452ca5733bcf9f26616906395438a499c14714e75489f8ca4386ad00d1e23d1fbc075adf01ba94590200581f02a9685c8b5f4fa75a96f7fae2243ce6ac61ed8b64dbf0ff599ceb0125132258204f6f67610000000000000000000000000000000000000000000000000000000800581f02e61774445aad9793000b3c175566cc39c276ea28fe4b1df3aca0b56306cf410100581f029b9bcfb5a9f38eea507c855f6a683213f48fd3f26f1e020f9e5344cad0e94301000000581f02fd53636c8aaf4feee888b9203546c4bd3bbe5e7cd1fd065263be2f3630ac545ce697521f40269c986d8559f0e55dcc4b2752f3031f9e440afd2ef13795c025e60d092ff61c68f579eb58e35244851337d62e8a070219730103c2feb7084406e26a01ff41f840e64f619038168bb7bad3f1bde9220a53d819f103624ce9b735e2f8de8e8acdf8c5efea5d1155d4850a78d4a68c62a933daa7b1bc034890065853db1b67fe615deb64e9602f466244e2659de1968b4c4423d00497ff03847f8c6d7d10e4cb46f3e8922cc9bdc3c42d4e99d9601f044e876b4be9c0619003e7b26dd46470288ba0f440ad51502add59190455eb9d97b457bf7e63919275fa03b4067d1700be89d384ed65bf3fed3281f26945c5561c94091adbeeab6b0a444d0399dbcb6ee1ed2d007947f4547110bd76022410c936ea99f041a51ef34ed9cc3500581f027e3b48affbc5fc66a956a72bfc7e7167a8ab59aa16d4e7785548432d6167410103ac31fd8a677cb6dc29c75906d1b4aea40ae2af887ad0d31b776e89a4169bc256038bfc70eb64be5d2ff01a760d1f2783846add662af635b096fe31b7cba3fb30a700581f02c10bd050962dfef92404ebae333b61ca9db0bdedd8955dbc02ff7cc6eb4f58204f6f67610000000000000000000000000000000000000000000000000000000800581f025925b2aeec9ab7b888a0914e246f86cc12709e7d56abec46472ee112107f41010219814a03ece294ec0886951a288491c7a7265753dfa50d701984c0b1ee688652dfb014670219ffff033b5446d38ee088e16c39d2e352601a60d278669130fe9afd920fbf625ae6c3a600581f02c054a1c67b216e4d3084eb4e714c2e69e45aacb5fc07fab56ffcfdf0b32454316fe7bd2a60739634a5d28eaa4db6db0fcfe6e300581f02f473d0e8dd968c0bb298d3699508871d6e3d4df90d289656dfdeb8dd568c54cb7b8a1dbe163cb3ccff2fbc4e55bca30cda300a00581f02f5ccc1ac8a51b07e8fdd71ee908c841f29261161b1a15111da3c74ad6b6d54648d7655554cc4b9eba7623a9443b411e2f8d72400581f0263ef37a5d03708503f4780e13df332ce9b8d5e5c965413d57ecb68febc514462097665037348022d00e2938f28a3af08646d3b4b289b51a5ace42e83ea4880c3ee5f08d30219144a034f1978433d70fc100347c80beb24cb31f7805a28da59ed9fa0ffc05a11b75af4030dbe9cbb481873438567c72a776737d4ebb0442e3fe7e7dee31769882bf6952903ff2d5b906f9cf2b096ffcf21ab56171c7f3af203cefa448fc16fe6c981c97d680377fcfb3d7af9a2cb4dae4d870890e3f35a2e2a2dbec202d96659d2bbbd1bf65a03d9915e59ddd97b5e20b62fcb04d20d2f8d5642d4e0dd77d58c596fdb4fd4687f033f81839eb64e9194c908a5999f5d8260767e5d7807054354401945c53729639403c6804e93aebeb03a9c9a9a41176ac7467dbdf1a3f5416cd44ca8dce98d6fe92a036667661b609f98d37f2da739f22729698c53b6917cfcf90a015173cd18fb4ede030bc6f9e620108d3bb82c4d5e048b7b7cf68fe934c67a11b1167943565d9b16a10353f73ef984e9cb65bd6a31590c9fd44bc62898a39af77010f27ab56e02d87766038055ca1d60b57daa639e2263e29d27947d8b9b171e06e9cd1559f139b3be2fbb0347ef7d05792e7134f73119bc2540251caeac3eaffd918012fc9f12353026000401410000582003c2532ccc9cc8391129e6c469a614713d8563b708f56fd246c1ec84985117e058204f6f676100000000000000000000000000000000000000000000000000000008031e4f0c6935fa467ecdf69d2a0ee8fbe1f2773d86d9bd947b91b356d5145430590219ffff037a05e4ffeb1bf3a006e9aa16a89d121f4b44d5b2e9aa713351b8647b6cf88e3803ea6dcfad42035427f10e4a3a802df311576db8eee4fc026f17286deae54304e303eb91a4615b913c63e0727ebf3c9f1b1267be241f804124874374593534f245a003850cac2b799d21ab7110494f2983e91b0703acc6cdc8969d7e00a999f721939f031e514796e0eb3ce438ca16e28608689c26219f607da09f81444c7ef79001b4ca033ba5002b3c91c4b9d0ee5d64626d4403288ba8596dc4ed508e403740441817bb034167d4923857cceabb4a1113e7f3a78f93b302c025f68720c6a8ddc84c14ba7303ce4063a5e84615e9d6bbeaefa009d8353b233db491630af47b39634adc435a6f0365702144b925d2768581bf08ca33d6ceacc31a7ae02123d639ea83d1b09cf517034b85a2356c11b2c3bbe2d1ea8d122c5f786bb24d7cf6110c53333f814ec4def703bfff870c30d3499db058c30837c2121c91bb3eb06285d6772390b8661982269000581f02d34b2bb9d3aefb0108012ff8d98454ed399d4eabcdb8c46d7d18fe6f88c254263d96f91ef9f7a34506cad1a34627c7d28de78c00581f02cdce78d4b2ffef2a29c0d4c41083db7b01d0ded1a0e27a82bbab3e7b560b4461ee25ef03debbdfd052f3f33e7061e271df04650fc7cb442daba1c8f4523d22d3c4da070700581f02bd60279efe0784e4936d4915976a6c8e09d0852d42f652e1ce9a58c0923a54ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f026087ef3f4538fee5bb02b62292cf84bebdd116e660eb8b03c1364168573058204f6f67610000000000000000000000000000000000000000000000000000000800581f02381a2a73398c7c85973cc2b6fb2fca4694574871eaf09638f0b9f456ba6758204f6f67610000000000000000000000000000000000000000000000000000000800581f039ba74865a09e2fb5624b9b520080391b30696b0c4b7f997238c8e1d155a054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0396637b1726b13c4fedd2e8ae7bb9f04263d932e7071e6b0bfbfcb13b5380410a0219810000581f027897ae2f8a892cc79dd42929fcbabf45787ab473ed17e11699244827802241010219167c035b9acd5a74f5ab3f2585a8d9ee282aea58117d6e3ac9e5ea704fcaf805057fcc03f57052dd4da28ec5772286838e5fb015bf70c5f0264ed7f4179e4029975ffe1f03fd4d9f5bc242137e9a46e7efb38fa2c7b28b5bf2688eb58a7100dbe19d69eb790304b8576bfb9f5f34b1490409b724186d93c55c57f2e91df198363be41d736b8e03580afdbc278b77fcf05a31e389d5cbadb5545ae3ddd92ff7ada7b2e9188c48e4037f14182e3b372fb101fbe6f5dd01980e98c4c38580a58758c0fd2b02929e3a1c0219ffff0310d8edd08cf9a44ec3bae1c4e71340a2ca6e371ef3a39049d708e93f85a29123032b49e60e0d822931854b874b6cfdb106c44fa8d233ced622dbbfd7949ce1829c03c76b2a5749049792f989fd4cc5ba229a0637c138468a11e10d1649337db1afe9031a0ad90acabb914d269f54b3b5cc9af41aeee80c2e680bc44c574e7af4ef4bf503083ab97f0c253a426a27d6d80b2eb1966659420857ef653e15ce030b8b0dd72e03fb82ec6413041fbd27a01ffc4b35bd596072eccb4d170112b7452f3e0e741e0a03ad233a54397f4334d4e9270d28e07fc60b6ee2076085c1ecf5749689c23f6133037d7e9657dddfdc478899b8fb876502e53dde136d192bddaba60379cc01197b3303f3182d5f1f08e3dfa523b6236de2ec4cc6991c07015b91cea39dca4f9b1d0f4a03579fdd2a9a6ca865675e8a3115fbef16b17992e21fc986a6d85038d92d6996f903bd162ddcdc5c3e0b45fc2b6e52a7b3fcb6af7ce23298e07ff2fe0d69332426f0032288b0a8507f2510d9c9a93a7d26826225d3a7a707671441109c707a785207b303e35ef083e89a9d070810b98e54e189a712cca585affe4dce348ede23dd16dad703255ec8ea277692c817f20e22dce0b437b038f3e2e188776669ca24dbb2362c3700581f033f93595ea5cf9379e1adb805b37510ff0da272c06c876c350c66511dc37054d3db4eceded8cc26ed47addb5d6b2e2f37cbb6e400581f0302b31bc9b580047f75fe65bb07597015852bfceab3d101dbe43cb8df020054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219101000581f02a0635306d7f847f263e1fb2c947f43b28e46e6b7b3f0e930834d5597bf8844662d154700581f02d7f8d67143c20b7a5d170afa632306591918ae91c6bfe35dd9c94527572b58204f6f6761000000000000000000000000000000000000000000000000000000080219704803bd66234aa2cd29f7cd79286ae2f0303ec237a712a827802e60bd68aab2f54e99035b9040d5912c61b4bca8e0642a2e22ed971ca9482818d7c24a3a0f945961847b00581f024418d7c2d08d196adb551788113d14ede3b403341bb5410181876e114aee446250d0e300581f023c2065096c347ee15302af053be3c10406ad6393ebbc83cd483a03a791fe5454dda9e07d50e4324baa23fa1960f433400470dc00581f02c0ef58e4118876b0ea962dbd414d9da5af6715872af4349b7b3498a93ced5417aed22fb447294519f2b599d34efde4235caabe00581f023364846c390e02f1b878088f0e6abd5e33ceeb459cec03e00807118f11e45463f07b8e438d661a4c8ce6a4cac5e52a08bea1fc00581f02c3445672363568cec2129fcb631e3f1eaba4fbd9715534c16b44f72b7f074301000000581f0271ad9b082862b764e267118e56b868a5ceb52924ff63d9d89bfc4edfb47144620ee27b00581f026814ab11bba5a164e6bbf44a0489b6ce5f781b377b83aa82cbbebd6212c758204f6f6761000000000000000000000000000000000000000000000000000000080219c7880219ffff03d3b7c7d9e9e4de8e597e1846f0976e15e6c88bece6f1134370448c272e37c87e035c424c1026675cd4692ec8b65fa73e4685e15f717563e6cb924b9fb27f36d878030f9da9690df77739bc856f1146cea6bd2c3a980362ba616f851452b61181289e03c937835c3f6140f535b0763fc04d8a63c96e2dce8b569f936cd8fe956a6befa303fad05bd03423950dc29e989f292f6d1323de0f805497c244cc5e128314a1c331038a8fbbd0929475731a9c455ffb5453ecae6d74e7edde82fe28a042f1ef66408403acb99ab8d761612acfd8b1718e376fcdbe9b289dcb3d91985bcef3985fa2e9be03b3b70910bef7d0689011c3d001bc44be4100c272f29a5dbafddaf55b24357d2100581f02237c3ea60078905796146ad99fca73ced4c6f51ad360924217996c4c41cc545a3e2ad1c402ba5165c695c33910e36fa877628900581f022474386bd9b79c62258617bed4b2ac3da0a9b93cfe831cc5045e671fee305483c6897847f461642f6d8cf45008ce349437919300581f023499d87a497414c0d05cac076169dabe6a13b8e31f8732f294df0754865d410100581f02ab480315db8d8672f47fc01d57c7b70917ca3641e90851cb4079f2aa52ae58204f6f67610000000000000000000000000000000000000000000000000000000800581e0223b7b5f44af56e7ea6d4014f95f9a7b9782e516307a5d2fdf51df39aef54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581e02eeaa0e4bc732c40e8727dbbb5391ffef223ae6060e4f59b438a78d63c2542b5802957709d6cae73b2d5fa81232e3cf9094ad021940010141060219068a03235029c1f55d214273bf51ce3e80bc6fbb541ae40598a970428dbaafaa47844303584a3029651d2487220e6a2f024f354f7f36ece26e4cce960dc9d88e94c8a558038ca2d0e7ec9ed02bfc80088f17129341fa19b730453a239f23e29511e9c6df63033e4eddf4c28276b1739efdbcc4a44948aa6cab6aaf7d2557b49c8d41e110438a0353953db1b57fed5a7e3f69494c386aefa58a458ae36a1a192060ff7ce8f898e6033a78c264e7643c0b4aee477b7578998303f928e36da4da515986902fad5fbe0f030047c949726532359b7cfff6d73814914ef9d5aea640151e688f973b657614480219ffff03c9ab40e3e667f0830165004ce277ac90fa1c8441fcf1a7f66df23397a96a5b2203fa413084ec5c8d7e316b79c42bfcbe0fbbdc5ec6a9b0ece5f81ee1c3fe22cb4803ff7c8e2687d80c66eee3ac5ed27ad127589517436e4eab24132d0a3799b97ef60363e242a0c4aa36c75b1441862e33c6c36ba05217d3229e92c4d823ae9ac6272e03d8629d881bb71b3c89a5927ca25a688bfa0684e9745bc4e603e944aedd0f733d03bddb0d0a95e15345b026236c8918c98e2df8e0fa3ef8f1a40f3a51a58bf9e780039157206f9b585be315cd156a5e364ba18892707ad6fdee448e2369f6aaa310e6035915b9bf10ba6b09eb418cc11617d5513a07139cdb4958734fefbd084ed67cae0364061bb0e69b9f6413c5344d46672a2f9ae00a812820a7382e3738281b5018b7034d4dea434f651380c748a1d3ecd82db7d1484488a364072c77a1458adf9440ba00581f02b963c2073fe0c04c8acc3c5296f73cc318c58649660e5da30cfbb27d798b58204f6f67610000000000000000000000000000000000000000000000000000000800581f03f92c1f3e58985eec1ac1249db4ae3124dc18fcd3c09b399b9dae2faa895058204f6f67610000000000000000000000000000000000000000000000000000000800581f03c52a6b27b0b4e7c7ea7f51908e4889a5d149f4c2d2706be90b7da3bfe18058204f6f6761000000000000000000000000000000000000000000000000000000080219120000581f02686632a1132f3cb73ef9fc4241314e55c641e3faafab4d35ad6971d32968410100581f028579520632d1dd44857a6a7279a2b767c071feb1ea9c437a80d06b822aa454648d7655554cc4b9eba7623a9443b411e2f8d72400581f02071b898c2624e694165691495a6ed9e22e2aa6d06343e40ddacfc7f9fa58410100581f024e436cd8132b8e2c4daebad87daeae5811037476c2de4290c6c5a8b02b4f58204f6f676100000000000000000000000000000000000000000000000000000008021914ab03b55fd9c02dacf144e14378621fb29d44d2dbcc2cfc26da0dc382a288846e2d9703a753f630ebc638e2401c237b5764e699fbe154ff122c2bc5c8b7ff926981d04503e3210fbf09d043411b4061a28f062827bff274c55d1517bf73285dcedb49d2c903b39f20fb4cc7aef45cc922aaa13f6074e2597fc52ef557658521e39bb47cc81800581f02ff2d80d713a1f95e1d782583c7ce41047fcfe9cf79caeac52803d8c4b53e410103b869ab1efd9f1c999488339f5a4e35dd624da6bd03b2e718cc33d42e46f8101700581f02ec036b2ba0fb37e69991111a542271bb87a2b2f3bcbacc1c64349cd6a6eb4463e22bf300581f02180cf9f381e81497b7644be2aca86fcf4458de3b45b66056b1e9571e25b5541b8e719223829171b72156130327623f0f31533302190826038aff278854348a7d61d02448e2aead795993f9bb227a0684efb68722ed042df30219ffff037ce13441a1c8fdc97df47fa1b8d4e775ca99ca3158b1ba9a3e5a2ab01a7496fb03796d0786ba68eac4c01e8c1ba2e40986f86993e5ca04c86dd2f69c73fa0e326603d3ae9c7a8ea7bc0997341125328bde5e33a177c091dafb88b8bc38d0f9998aa203d693513699a5e00812d3a383f6a650b4cd1b0101cb1050b9238f6fa3c62c068a039f0bb3a1aa6974953527be302f82e2d6d1824ef335ddd2ef66974a6bff08a3890341d27d1c5887eb42a0a0787484dbff2e5afeaebda0ac7ded8eed16ef1e5e441e00581f02ac9ff4108fddf17d31127a34564068374481e06a7ece3f8aecb5c7286f6858204f6f67610000000000000000000000000000000000000000000000000000000800581f0233ddc7519a449b67ff4cb11d20a59dda0a38325af7f0e76b7288f38d59df4461f18a0600581f027b1a1e81e994cee96a3f50bdf9275c1931bec8ab7355348e5155796393084465ac360b00581f02b189b3eb5020c4c29bc8ccff1ad3b76c449eaa483cd8fd491c8a04790efd410300581f020e6b08ec7e87420a706cb0724b2dff0a251d6dcf9bb059a2274f7d70900a410100581f02349de7051ecabf63ccb2c76c39e2ba5f60efaf093a54d220300c76cdc2a5410600581f02bce74032e3dc2fae977bfece72f8c7771aa66a6f1e4f728d250830815a0058204f6f67610000000000000000000000000000000000000000000000000000000800581f024024607a529b98478b3f6607d3c391a6ed333883fb179dd0149039d8fdaf58204f6f6761000000000000000000000000000000000000000000000000000000080219d30b033db92bdb6b19aaf4b4e372f6f959b96292c3b0e7fc4bd7c0310fc0bc8a59829003dea6d38dd58798604005c3d736d11719ca5db251bdb1d609be3320ec6618c73f00581f020df75bd37f37ed7027aad18a08aac9137360119b114170894200524e5a6954b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02157e0e1afca61710b19552d466292ea87756815949ebff6f267315ae3543446304027300581f02ca6c6e2dcba3136bf9a8d58aff0a61d92f9734265d73ccb6d09465c68379410100581f02bdbf4ed9030888073eacf87dc64ec40e94bf82e3d1f1965f9b4ab365727458204f6f67610000000000000000000000000000000000000000000000000000000802190b4800581f02d5bfe6394d3d378ed059bca7fe24304ec327914a3d19a890ceb3c1f9987958204f6f67610000000000000000000000000000000000000000000000000000000803249bcd8d84885e4d1d474332a855e4f74dbf2b4d60afd16524f11c485fbbe87d035aef5286db03f2ddfc13e58e9affe5cb0847a375366e9b1e6a3e829af97ca1d903550503fcb67c127bb4873fa803322804aad9d944a685c908d377f79029adead000581f020819445add5eed6a54b703ece4559e35ea16e72be78fe6dbce02a326f8e5410c00581f023ea1ae60553d0f5dc4a32bd7c1e332bc4c281ca48517c08202da5cd894a043010000035ba9455abc66a297109ad95b41e3090e5cb282d3ae764e0d5ea73a84ccf6337e0219e45803d20e57b9ee019cd66a5803af7adc66efc3763baaaa9d1f22dddb0ffe5f207e5403877d9a911d0ad9804cb1a647888b43f5e069dcca7677ce91856758ce2724467803b9226a6443649a42c0cffceb5cf8c036f6f0619d4390ec151e5d3c238c5b85c403303c5e9db3c86b15fced376e2c2ce7ff08fba63f96100351b66177b8fa31d33b03f1b651640ffe0d4adcc01ed7702aefdc952971d627896203414f88212436bc90031cb1579b015cf3fd6961a549a9e29b68d276eaf37f0dbe0f740d05d783f040f90219ffff00581f022a6de2943a5aa4d77acf5e695d4456760a3f1f30a5d6dc2079599187a0714634a1fede734200581f0220a47633fb35c102319c6915ece9b0f505ba8978cfc259f0ba1ee69188c558204f6f67610000000000000000000000000000000000000000000000000000000800581f024be52b04a85e69c8c203bcc94d2f3aa9460f7b57ec334c6c77ec57fa678a5427c4448bb5b7caba3ac3d1fde2325ab776f73daa00581f0210188428b6d6060f807698fba1983e65d167d067ec623432ffd090ad13a158204f6f67610000000000000000000000000000000000000000000000000000000800581f025bc49401d67dba6baad838d319fcfc8a49fb5bf0bcb84006e7aaf6d9047b58204f6f6761000000000000000000000000000000000000000000000000000000080219503203c11c5245d8d8eac46437661e634c03b90005f382cc9e93fa31ce98a0352d23ec036561f48fa046a458057f1c8cd074ad19543aa395a05676dcec470225ce007fe103c8cd0a5d80fe22deb6016e2c71bddc4dd004bf266c1eb55eaa333305097257370398e2a95f0ce3390cdca75e64cc12a644cd367dec90d201ca458e1e30b134808703e74fcc587beaf25273c8ce8b0765aee5c00d59344a145e98a6df94de5340e81e00582003341ce81552b05592a0511f281eca654a60275a9e2f205471eb0dcc3f223bc058204f6f67610000000000000000000000000000000000000000000000000000000803a7fa0f46d10d2f8fe1bd03aca15b2285e42f8a9f2da443ff394f9e5c9028643c03303909942fb4a9eabf1e9a795049f2b088dd3c887100ef3247a38c4810d7dd57014105033373a4f821bc3458e4a71dd7a96b432132cb622fc6613d5f7a763ec8ca7c9a9f03af781aa30ec908d3dd04fd30ca724fa97cdb62a501984e21de55b77bba031cc5036fd5c8882ba6b4c7be463b99068d145c4aa48db6b5b4744f62e530307cc17137030063981fb6f6d77b30a2b3e81de0e5df1117e5c16a86bd8c969135fe8045c38203a494598f42eecd515ffb668524b821ac107c1a6ab22eaceeb0799bf66e7c70950311a6d4b47ef0d76828743d94ab3f4d55b382ea497c208853d6a15d1902fcda740337b9a918de31d69ed0f78b6eed19cc854783a0022b2325ffc9a496ee619193740219ffff00581f0247be023f1146e66f7dd27e1a74d8108e230e245e5a4b9f8e0a4f8d69322358204f6f67610000000000000000000000000000000000000000000000000000000800581f025779837e1fa3d94f6827c740960b2654865b85b4125e4da90d338fcaa2684301000000581f0229ec293f3cc55cecac1e662fe5eb5917e800fcd49caee284005c8a87f4cb410100581f025de80492767f957cb846985e5cb864466ed59d7c864b1e160a6722746ca854b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0244c07aa9da2a600d5db99b7f69cc4847469d95d2b011f6230bc9ccd9a46d410100581f02783a226c9e2e5c1aa3870cfbd4ce5fcb5b7651fc408a98331e86e5a0973258204f6f67610000000000000000000000000000000000000000000000000000000800581f0259f303eadd307cbeae35713a9cee3ac9c81ec58ddf38e67d2f6244e1ede358204f6f67610000000000000000000000000000000000000000000000000000000802199c2a03a91f81b3698e4b586fbcbd4965308f6da61abf08b30c87666f21d4dd5879893d038103e2c06dc303612c89a3b4dfc7048a2a046e407941eaaf8e2d273e49de7a930377f552bd471c93133f4fc06e6c13112dc02342b0ad5a1ae5a8e9c70349492e1d031beb76de587bc4235c474a078b574a4d17d3548757914bf40dbefadc291d134c036b57c4f114a0e23fb65d3d64b9f1bc5b20a47e1ae938a9ab2df02e0ef3c2bf5703ce8344ed2265f328b2f58e2adb32cbee8453d17270293a71ba65219db1a3619e00581f02175a3503a69fc99317f3a39a9562e2bc9ecc2d25dda93a0210233990711754df6f3a6add540f8e628ff9bed5040ca09d075a0803305b67b3f75e72a99a5d3838d55a5ab65ec2d289ab808d8d9938f4ec0b90abaa00581f02692b64f32391da1c8dafc1e783258c7f16dcd6891f48c34d824f574c4f4b54dd7f18440c73bf2b39c3fcaaf873a99286d295ac00581f024628ead40447653df6efb0cee0e97ab5c8597fa4f5b953f3125d7c1a22dc58204f6f67610000000000000000000000000000000000000000000000000000000800581f029fb2ca87a9369ebdad82ab1b6a95ee422415ca28a1202c4261cc2bbc42ba54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02a26b6125369bc42885be145068191e098b1ed044bb260b3f43d7d1f32a47410603db61085fa22f99a5da7c801102a6cf1e4df3f6a93b0d20a1a7e8c1e753130dd800581f0294b337ca1210042b56bf3ffaa6b59a42df245c86e608a083274d3dd4872d5472ee6325d2bf50d2017c92b1c69c6531983838be0219a1b903f5b0601abbb5fbb67a2be0a276f596a5c88686ca821d70a014e09061de895b6103354893327442e4b75ff75759b2bea43c45178637d2ce7cdf24b5ffe75225156303f7b71915e05099b04a111c2bdf0df19fc74623c8277e1e7868a7d5a00007c8e1033d51129b39506b964f08d642fca814dd7b38dc2fd4a3c688816610cea624deca031ca6f2026fd8a1c88eb76cc2e94b4eddc90b62587fd09bf23a703f8009d7f84d03b57ec4527f192e31e641cd49ac06bbd27fcdea14bd739465d4b43e7093537c4c0344719d2ae732d51e3631cf64c1a706a0496651175a211c21b768e2e4acf0c151031333ddb1c1766014dbe0d70815231ad469728bf7b9d52d1206ecbdae39f9725b0219ffff03cd51fcaf21efe796feed73bdc03042cf538c62ac387f7ff843222da82ff4151e031b0d8307b87edd8ad3b0ad4da27398d28896889d9321c2f80bb6d009ec1b771700581f02aff4f42aac01b6d267e219fe8e82be07f5da1d0ca6815544dc4a7193b33858204f6f6761000000000000000000000000000000000000000000000000000000080395deff4ff335583a3c2e18dc5d2804fdce0b78f259278b3abf28baff3c61cc5703206946204bde3e91e2edab669264354eda2ecb0d3b6984bceaf13b9ebbf5d6be00581f0214e85d913c14df01d6250ea5a8ec66c51ef3bffa71c75793de9a56eb485454ae2461a7c635d9f7573a971bc5ef79d4111f1fc2037672b521037df83e97889d7679ff476c0d136f1c3223ce54d79c75e638b1d76f00581f02f33cfedefbc4d3adf5f226332083b30aa78c7a238b407ac382a10bd381a6410200581f0379a1f4ac160c4b186ebfe640e65fcf1cfcbbe57a3a800af1baebf011d8b054590045a31d0725e1092371a89ab2b6eff690a82c00581f037f8057b54fdcbcc3b673d82e77c939ba99bf3c1e91b0ad8348aa48cce530540a550a8cbc45768aad2f641c0fdc54c711280c3e0219010200581f029d2e349454b372e3f3126ea5b3837507e1df53f2f7b97053a1da023cc66f58204f6f6761000000000000000000000000000000000000000000000000000000080219d6a800581f021d8548fc167a54ce21df7597315ae214f8643bda9c65c905ba81217bca7f58204f6f676100000000000000000000000000000000000000000000000000000008033076e7fead6a5bb512e181d2c779dff444a5314f203641419987f129f3fde57e00581f02ae789367684dd2914a187deb8c1e2568ba8ce1bdc87cbcfc8700ba1f7eb758204f6f67610000000000000000000000000000000000000000000000000000000803e24d8245deededd56eabd55f08c35575cb1d8fb9bd142efddaa4b5a92e5f6d2f021901520342ea8fa5cdcceb1d544ab84537a77684ea3d4260b82a48a8da1e6127b5216e96032673df80598b0129a3eded299248de16aff14331a57c200253799b19f27367ba031f07e7eb1ad99d9222a8617237154c515794c8734cec8e5538586345052d0ed4035fbb4b58737d08e702defcc12bac388dddf4c5d6ae04d037ffa8b5cf9b1d865a034297368754b3063c9aa8e93a08e0480a031ec76ed4f08cec3e56ae976bcd04aa0356273630d1cdfe5384027b823551470cf5267beffbe43cb3d61e30420e749e74031ffd34a1e49db372a09dc2d1716cd77764e32fee438d9c0ad267441ba048072a03b9c2b55c940302916b5f064826bf75de26d1bfc11af2d013d52d21948fcc20c8030a038144853fef17fd2f132d404c054306f11924860c1f1a1c7f2432422c8aae03f1d30f3a045fd39342d3468081c84768a37ebcb3141518336374f5619e1f444a03f68c0309623c2710c1931cf5a519e3d726d0170db322808bfe4b8e535d1c83d10391755752cff4fe4ebf5b6af86232dd05b34730585af032f23f2cd8adbfd74aad0219ffff0363d62e33d8e8826306d12061692ede951fa83bae7df9df0ebc6866d3df3126850323c7f09f9cb1f16017b2683e53ee39fcba31979e3341a3c9f7440e14effbb80903c17c0fd5594c7e4bdf70d7de25889c90ae32c1d8805f7203769b82de75cedb9303e818099ed52dd3642d8f50a232a972069cec8f564d04fa4b41e77aa9f14452e2035d7226916d72814190320642cdc4770ed72e042c2d556556dfdd142f2ca5380d03488ba10b1c2b290f4775bc423fae1ad131792a28cc369210f198fce743fa10b403af8e3c10a9a9fa59028a169e227a6b4a206aef12c639c26259820a27ac1f7e2803d35b47bf9c070fbaa79083a499084f962612930996e842874b551b42688abfa4035a771afc1736c0dcd773b1a3988c383330b8c97f37c92a53af9435ff0ab3d74f03e68e990257791b648ecf462c814ad72ecbc1526cbcd3e384da61aa7d2fb58b7b0394ac18e98ad11178979438eb530277e05f8d6360a33291889238fd363fdd5a6903374e22c66537c633902bfba78c3ab1eef0afa1681d5276c32764ad20718b9991030d090a218825c4ded3f1e23c20280693de5bbd118c8f27ecea8bd11d2bf5ee7000581f021ab7969a364787db70e89fbccb9c0fa1958cc1aabbc1cfc8b583517ee8c44461f149bb00581f021c1ab57a592ce3def4daf0749ccecba6e292489bbe0accc6818c96a8a4f144660d883300581f02ad34b9f1f141162f92d81bdd71bfe18d12e7957810d2872a3a4723dc56244461edc64902190218034b8e23476d90a7f6dac8eadd7220bdde32a5d84b7d16cf612e986142e6e3815803efb04b4d6e81f4e553233df7621e64f4092cc7ec136b476d4bf8c336aef8227a0219ffff0330ab8167b97f6f83c282c0eebc58aea0b2b95cd67522a5d41a388284e1f901970324245844e79fa3891eb3e4dc44fad245bb8053b3b029545ba7d51e1b91c614fc03836f6ac558b491a7abb448ab1b3e9dda64c1031c5f2012b7fd4beb002084ce9a03f84580de811326c8f2d5e6cca8b1e93730fc7fb45cea81224809f8269b7b10e503b949805c48c20d44ce9049afeaffff8af092988c4549e897d1d36843346b9a56039cb49f148a22c1fe5d2489ba84a01603d603a3b008ae6bdaa045a8224253955c0378fffd4d7a4e8597d9df4b49b1d7e616ea86e9ccbdccf6d7654c6da8a293701203f46279f1c8c25da4394ae14ba23d2be49753b58679eb9f75415aa6db37eabacb03917e03a737d67823f14d36642a7d2caabbbc51cff51dc08bc763480a7bb8d11e036fdbf34100b40b924585ca4fdeab00f0ce8493f6600c4cb1024a57199ea47b9803662fb8308350af163a4f67b1d4efe2decc61ebb053a18a6737fd824d7afd3c2600581f02276c77ba5229a9397c50afa28ed30e25ae51640b2c5937ac236363a36a425441f8eafde35feb8a5962c0e0ba445ceea2e5c12e00581f0243ca10f030a24fb3397a7b5c3eb6b1088afc0509690fba8f62c76978f74e54065d69d6554368e79c77443ad4c377702152698303ef3fb3a877a6c0e034a1f86eddc9f4477be94f79b5699319b52e32b55644599800581f02047d5ae4895381977a9eb4b79cfc1b156b74de54adde58186531775b156458204f6f67610000000000000000000000000000000000000000000000000000000800581f02ac22c2e505760929d30cf70229022dcf4d5934c057f352900e9b9010151054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219e00a034594c83ebabd594006db48cca6003cc1002cbc55bd9582692d365d8095686bbd034f8adf07a3c781db0cd2c6eba0898fd6b74b02a12ea154fbfb0ceb709b25d5dd03f9284c06e2b9a91c982c7fd239c9d8c73fb5da268a46c89df1657ef8a72854a003eec4eed9d0d75e8091123b107f4fd1b20bb734c1f2b1198ee767794bcbf5a53e03752431b1fe25ddc3f3efd977c5c374281fcd195fa196451a63801f0801f210920219ffff0219ffff03549e378cc9e4619227014ba55d8dfdd76530fa5360522d73cb906abde31d6ba503062bf68d78e99b02f5bf2fa60bd2366b5c567db8b0294a49836eaf8c4b1275e703422303af79d2e444fe8bd3da1ee1a4d5e170114fb3fdfc030b3f0f8bd11feaf2038e35ebfec46800ac689127813f4afe1af9987345bbdb7d7cae52527d750882e3039a90c620ff15372e4cc806d87423a44d8f4c2b8b8782ac5521daeed7e8cadf76035b211eeb065e206844a8ffcbbbd8bcb76f7a6a3f5b1bd4f240f3f5158cc51b5b033a37ff0e78e6eb6aca6684b7326bd8f6479cf4f2ccdaacbd7024d5b2286e2bed0391064f21de3076ebeb83abaf02a5e8c6dcfecbd5be6b054a3e2cd926deb045e203d4b10d529cce62f522186bbcc2ef5e35fb79184feaefe036a4c03b63527fa85c03d034a54fd54c9858c7a50eae7aff95b0be83e0c23af588ac604f597f75d7b56700581f02dac322d023379c7edf80d18b6f050041ef1a6481cfd0d08e77b38da776c654ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f022e17130e2a319f65b3615c8d65461448e5cb9387bc8862b36f1571cf7a494465cc582f00581f02eb00e033757272e820f5fe7964ad0147d885b66b7a01320438e66ff4685958204f6f67610000000000000000000000000000000000000000000000000000000800581f0324ca5973444a3632f53f5777fbd366b45f69c7f09e0ad07da7a0c65b3da058204f6f67610000000000000000000000000000000000000000000000000000000800581f030191cef025cbcb3e52af1cc7f2e762bfceadfa41cee12eb4caea61198a1054b4dfd420a6982be95f27fb9b1ec0c374690ebec2021910040359b91fe51fdd1e226a581e719f003824a9e7dd04a67c4d6b1111271efbaf543800581f0224ba7ee89ce00c8091227bba3f9514e0ae9f651495750cd316d4226de732542745bd23d9b23edf1ff4b695729c4804c111676c00581f02e7b53b44342e436f550b611b51dafb5b8ad65f80e7705dd62912654cfc0b446249d11d00581f0251afbe7b26e0662af30dc2e132e8100945a1688ab76c5eefba4e52bc509e4101021909f903b15dceada90f30ad515358914db97d6da1924a3ca3a058b3e13bdc5a2084c9a00337dd137fd61300cf2167839d2f7c39623fd586e606886470ce2ba6bb3bc73d8b038f172dca64a04496d7cfa6968f0cc3ff9750e15a36a7ec7c0d1f98b932b0bc2b038acdea47a74321b30e1f8b1a0be4c00bd88788d6e45c45428298128e7e40e1c90358ddf0f0548357e19048b1344475330c2c33920c4c29618eae3049f58ac236380219ffff03e697caf0a4d9539a00112c9d083421d37975af746451f78c34aab93ee12ab7d603d62f79f0e9268fb8647bbfe15d31da3d064ffcb1ccf7ba633ba4cd9bf079984e03e95cac5010e678b963ebd91176d8a3779a2d2592e17025cfacb542ede1b8b5fc0378f71313da59091e55d3ef8ea58f541233c3a730b247ac56774d6695cd9e0aa500581f02e13bc63e27ff13a1a7c4440d9b53688ac982fac1e0e2a7dceac7bbaa95b54301000000581f02c8c0f59253174ea36298ab0ab88cadc1aa762c3fb073f4df2ae746a8722a58204f6f67610000000000000000000000000000000000000000000000000000000800581f021acd483c2ad512453bf1c3d8e95343cfc5f17a455a57fa3b6e5971c5ac134a010aed485f5cd8f2402a00581f02d042464b88aa520d96dd220a23f8f97429315e03ca5fa7a39d0365b5bfa04301000000581f02abf283e56695cd4e53b412ffac7220c97aad768175975375d3da99905f75410102196680033d10bc1de941b1796a2e0e059c3cf1002b9becfac5b6b8c294bd139128768b2b00581f02429a03a6938d2c605dbf55e89965d4195ed9d2ce34a648d7298e8c807e4c58204f6f67610000000000000000000000000000000000000000000000000000000800581f02c4e60e1d9b527e0c55a25272eb32cd5125ac01247a20ff95031f40a0e02558204f6f67610000000000000000000000000000000000000000000000000000000800581f02529e74f25c83da600b881a66e3f9b91e0c1bbc25ce1571ad278feeea290b58204f6f67610000000000000000000000000000000000000000000000000000000800581f02d261764b725f2a2cae0a182349610348d89c02ca2e5b4b7794870d47b190486e18dca25218e84003c8c46ad8cade765fb58f703e00d898fe39f85095cd6a0f42e84278b360c8029f014103037e6b119f1995a96f8fc1519495c2e7b6d9f09a2c42034d1eaec0ce5c0e21958901410d00581f02b1c98734a36246582903168f54a599a58c9974da3bfac6d41d106f88b91858204f6f67610000000000000000000000000000000000000000000000000000000802197d6003d2bb771a7250a778b65a669739571167e970a2c82d2989a8ce540ce4c8641bb303e408cd00f4864753bf80667c9e5dac0168864526656a738730706c745524ee850327c7309bd8dfad71cc694f342f04081d97e551e7997d884c69f2de14212d5c4803fb44bb9b319db6e1b27353987a33f6fa51edd4e68f860edb53a4f2f10decb18303fcffb8ef5edd78d2b8f4e00706da6f45b74f6ce5658cdf8eae53cb55ca872cd603a81a177094625e82fe87b194b129e138572f02d6b565fa4209aa7cd9e56e8ccf03fafb59a22293b819d2a57dd4c49fc7094f8209148e071470072e63fa0d5547cb0372c6c395bba88d88bb06a5e43ac1387244a02369fb315f43714ef471cb64d47200581f02b0c3f8d972de59b20948a9ee1be994861873e377f177dd6d6733e1f23b1c410103c81fd016a48fead317e681c1151a30459cf726dc3e39154b04372189dc0d5a9600581f02a9b685abc528b7c1884a290d80e5622104a6fbb725157247fe69972cdebf44620745e503edf4906c2f6c5dee87564529201f42af8917b713a28216416ae7c9e1a6ca108000581f0245e2543759d2b06e3dd9ff69e71f5710c51191dc733beb64d16aac33f13f410100581f02d28b3763bb3d67328d24b11c3a23cb14b5a2d223a5bc177f9d3fdf5ffb4954b4dfd420a6982be95f27fb9b1ec0c374690ebec202190c690321d7f2ba8776e9b08576f88f6e6cd324560a5701624b5989ca0fbaaa3d44234f0219ffff0334329b4763611e4e935ba80dbd4ceb03550fd5a5664d8bbc46d50515587847df035ca180eeece08b432b3a9bcc97f688aa1c1c29023e3578dad1b101a90265051903d60b57a1604bb58563d4796ae2a44bf4c909682e53c76682be0da63e7addd65f037c2f1e80855a879a3900a4758a433392e55cea22362c02586af2ac2d9d521eba031eabca62ee9e0b397f493d34cc5582d2fb38744a9dfbe8da9e342e71a04468fb03423c74b3a1321a27a3c1c70f26e5877e1f99a03a924cad855298b325e26e355f039714dedfc328f8c395995eb396eda995b7871317a5eee16fe4f9cc6df89895ef030a0431afb34b29bd8675279433f12ee3c54977c58b1d0e497b1ef336d5214afa036e6acef9224c4b012ab002f0dd03b369db1120ec54ef3e99085e73f86c36801c03a21c5157d5e6988912d6abca9d411b9f5db134db1a1fbb14e18ad87fd4c9db0103a20606748ca06523a339b0e57a65ebe114158b6591c2848cfc724b8b76ac8c0d03474fb3a79107bc7fd181a90b27399be6ca32935f5fbf96c496945421c547304d00581f02efb0914dd7212a602be68691daec3cc1affcb718c946922b37ec7598597558204f6f67610000000000000000000000000000000000000000000000000000000800581f020bfaf934b4a44d86a6c270506e2b29e5ec983cf77efe6e912655f71f78b558204f6f67610000000000000000000000000000000000000000000000000000000800581f025f0c79f6551a36bfb6a6c5def223e7d2325769a464e6fa34dbc45e9170cd4461f5505a00581f02ce12e945fe621a461d35a28f851e02cd1a67bfdfa29d340c43ec34a544794461e47eee00581f02d6aceae0b87e32e12842ca26c295c713fb00cf209754db991e4537d40f3e58204f6f676100000000000000000000000000000000000000000000000000000008035b82e62cb490e69b7cec8974adbb1ba8e7cc29ba8001b98b562174e7fc974f3500581f02681d7631012a3ca9b3ad590708a052dacecf3614ad6c467a81eafecb505358204f6f67610000000000000000000000000000000000000000000000000000000800581f02dab55f4be7396feef0dceab01b289983e3a622debe7989bcc4dab9769a8d54b1ab0b56f7074bc5871edbfc807b3490e6db61b800581f02750e0c43f302a1d7bc52cd8b8388dcfb4e2c0aa720802d9df060c112adc358204f6f67610000000000000000000000000000000000000000000000000000000800581f026098c0c9f7988b7e4e35c5f74d925c08fa43ae2e1959fd1ffa590b4d01524461cca4f602197f1a030fd81fa979ed606b883afbe2dd809d05a76abfa446a57e80b3c5223df330648a03ca3b3efb95e00bbaff97d78b48e4d62850c202f1c830a7f28392b009a59e32eb037d48fb1cbcaeab89810609dc69460b111d4e792203824d7efad425ccc66ab2db030ac30f71531bdbafc7cb72c3fea1a3b206198aef4b7a7ca1d94299591298930900581f027107dbdeb004bcc284ddc8d325ffa6f19ddeb519475cd1c087de1e7dfa8d58204f6f67610000000000000000000000000000000000000000000000000000000800581f0286c9ab8f116f9324128228043b3af3ed96af73e1bb953e7095201a62b39c5448f89a77a7a79a9febb82efe230dc78b483bc6e500581f024131dac91ac6e07b409e86f86ad0219fc7b45e9acf836ed98b3b41214fd2410200581f02b539fc8303a8f341e24b775b80bd52e7d4c81e5a30970ddf4f5caf1aa990410300581f0221076731246d4cf2d41c6f053e2bf9617e5cfe24e6954ee403ba6811204c547d6cc2509190459d2149c0db903eebb6432fe3ac00581f0222cc528d35105bd96dc1c82acdca53328ab3093432961218b5f006c68c4f41020219cc840219ffff036d48cb8be158e3665264b12f0d5fb860a02f89b1ae27f4a89a5b6615a3ada29b038752ccb2e2bcd57eff848fb7d140221fe0d6629aaf0e98937e5a8ed8159c9b8c03524ba79e520d43f368868e48679138bc2258dacc265afeebf3e4140946610563031392079cec28b83446780cf298711c7ea8d3455b7a4ffe3f1028ec4b139af88d033cbb6e6f2b0b37e9e0e6d229f0eabd8ba52de1493e0b921857ebfeecabfd757f030060ca31992144c26faa160a26bc9ada47f95b9b915bbb92f233e8d1cbb6828303862d0ea7743f535ea34ef4f99572ddd7d4cb8262d8046868f6a28a5d9e3cdc7603048d036edb98a72aec2d7a2bd8242ce2276275eef487a9e78f51813e0b0ec2df03c9ebc0ab491a42541e4cd4b1a3e437582b66d4cd3bb599c0e1cb42718119810a03a596d5e7d80d2081d165f684d1aad581813fedf2cd65001f140e7165f306da6003b26dfcf1b59457ba1a0a4a6b5133b3ff0f6a229308532423917fdcf2e01117f703b3752ceb5b7749957ae840249f364a486b075fd4989d1af4b999be9449afc94003c6165397dd7651eed2e270926c099d9e6d111d1167f0efe18e82d7f13c9c5a5800581f02fd4dea0a2f90d477703674a96a0606738b623ab39ae777fe9ee1b91e8d31549610457fc388165fa49cbf25856830a035898eea00581f024a10e838e64f251491e9670a88ea6b23d5548f767388916d7b908e85b58154ae2461a7c635d9f7573a971bc5ef79d4111f1fc20370f0a377215fbcb0f2f222e37becb9d9c8dc790480bd540fb2fad99ce285ec6d00581f02b1ab58a7ce894914de545a042ccab99c9486e4aed5be6aee25335c9d678a58204f6f67610000000000000000000000000000000000000000000000000000000800581f02d21bfb6f4fb6a5f2f23a32be55aed3b165d19bd7f2fe8834f6b7bed35d2c4461f13b2a00581f021ef85a86ecdb3a68080fd96de7e1e72798984e1ad230fe11feee8241da85410103dd093a7bd8248f8b1d41883475dfc3a393f2284826027a4e599fd3cc49881cb00219396400581f0264e2a3edd8e3a662d52b04466b0953f984cd2f3dedfa630f124aed3673e958204f6f67610000000000000000000000000000000000000000000000000000000800581f029b035904e62e6a0f4d0ab87e69de47f4309e453b46e51244fec28f5b8b0447679eedc5f2ea6e00581f0206fc9c98b77ce924479c5c24a99c2c1d8f07e2368a6b0c4f085ebf22621a58204f6f67610000000000000000000000000000000000000000000000000000000800581f022aac814caa3ca3836cdc66701bc33cc50cd981d6cbf54543d70b66015c1b4301010000581f022c2b9a8087c6ccf13b87516f7b9279f3268befaedaa00df5e0f6b6285d6158204f6f6761000000000000000000000000000000000000000000000000000000080326d9770422541efba7a016b9dde28960ccc02586f46c1bcbeea92471b33f03c900581f02837a3850ddf307692c59a0f75ab96c0f88c1d5329f36d7c68a6568361be65482f2f82d0e72be81761c18a118faff3e5ee21e160219863c03dabfc63d88d102f6b7af311fb760ee9931f601753fe9cccfd6f5eb91265049fa030d44fdc417caec190359a8251c27acbdca17d2c62b05b4363434ab772667be830219ffff03f966c1b7fec4baa17f05f7fd582568b23b4c8cac657241ffc056976a27db3b53034a6bfaf226cae94a4eb31b5bbc3d701acd3b96626cd06669e7dc14615a107beb0334621fcfee835e5eb50bfe975c1ec1a13624e54f6f72d9b7deefec6d0c064db70352786224a441a4267714980c43aa41c21c76bf2fd161685289816cbf52cbbfd0037817ffee5ff642c770508b58962e61a488b71b5ab0b7ed2308aa85da0b1f0b83032d9b5a84b373f88d7ff8c94fb2727c99364a230f726b18ac561633d436eb6e5703c8d7d90592e9564028c24a532fbd37e702a484ea662bda9027876d6d2962d8700361913ad2b9b586b6fc7ebd0fed925da7c6166f6b7fd80dbbd77aa294245cfcd103b5d0a55190ffb2a7aaed79795cad0842dd675ff03dfd6c67d1380bfb29a5f07103d4963dd58db7842527e64edb0e66b5aaeb68db81f1ae0102e97ff55aeddc28c103f74ad8280f513a7778d6559ca9e7320c93a3458e844789c2ac435b4439b8d4da03065a76cc8ad3b358bca8a960cd7cec0836fb388e975cac8f0fcd91b537d1c2ce00581f02041f3b65a44496ea18552d9054544315f81f1fbce183bf86f32e56fd7704410100581f02b5fbe115b2bc354d8243f54f4643ecc1638e21fd1f93fd478fa54eafffb949182174d0a7d84bff880339fbb9a416a646ce970013fccd5bcbbfd6b2ba7b0c1ff6a575503040bca4960300581f02c89859da08543e6c7fb71bc28b2d03cc723292d3b8c44568fe157a6e7f91410100581f02e0b5973ed4ce0b2a0a11adf4eeda44cf4adbaed4cd305aaaa0ec5a3e918e58204f6f6761000000000000000000000000000000000000000000000000000000080219141a0365a28d23581994453a61c882653ce7d92c65b6d6553b1f1c60308844d1e7e6e5031bf47a52c663a873de80368ab1f6f28a9d1c89815c1e285ce3e5b9b09f34ab2903778df6cd101cf563e6d1658f64ce1a543e71259f463f3faddc973804094d15b303aea51d6451315f5af4a36ececda032d73db466e1207cac965867de7c5286ba460219ffff039f30a8863ed54abf98b2583241c75e41ca6a5e24698aaf9b4f5d481e8ecdcecf0389d3da909352590139f2bf9ea92f2c3539bb661d76027b8faae3466e2bd8f1530394fed3c5401143427b4b6257000315e4fc53fcade178d652e9f2bd57f9f99a8800581f02012650557b479b876c257203341f693f63df706eec703756bc068c34789f58204f6f67610000000000000000000000000000000000000000000000000000000800581f02c473f9cbce26a68b088284079defb9ccc3f89c0b149de6fddb19a37415bb54a34d09bf7dec92e4d8d056b7e0776685d1f4a95a031abe3e68279a982c2b2306aae66b3a9cb9135a03bcf41dfda414acdbc8065a4f00581f02ac08fba8cc9689d6df7dd4ad7d9de918edbb210d04b3ae80a6803ac9d0b442dead00581f027c650bfd95d3170802b4d580bb6d3137c14d305151518dd02473911e85024461ed2eb500581f02aabdab86a9be98c87c88f3c3f628162e9d102485bea62ca8800271b7584043010000021908f8036d6a501bce3454d65288d1648f6f21acc481cec20507b4c4f5c3619d997f393d0347c412eddb3ef509438650652684ab19257cd77247c9f258b280fb5efa8b19d903e57aa80f723dc46f2afddee5cfe6479378f8b1d5fea21068d7fdeeb0c02b2f2700581f0290ee1d314bfa10ff1b0c9b1e04f6f2b3c355d2844e05e2d037b83dd4c8b6541ffb90f0ca30f6b2d75e9305ca10e17d22710ec400581f0214e120915fff9d5fabc9413a3aff34f0f0b49b5fda67fade5e36791f1bf858204f6f67610000000000000000000000000000000000000000000000000000000803af5dedb81573f045d87814f0806591cd3329fe917ebc8ba476073146e1151f6c00581f02b7891bbfb5cfe577ff98a7c43373d4ad7bd98545e6eee4be9c11971d5305410100581f02420682fc85c00bb4e946361b030ccaca1316b1ef1fb6c50e8e6c8c69dda858204f6f6761000000000000000000000000000000000000000000000000000000080219299000581f025f6fc55ab9834c7e0f5ca41e9d1eed518cd6bd9376dbac69d4fb4a404bfc58204f6f676100000000000000000000000000000000000000000000000000000008037e143a3b18acb43786f18b1e238ae226b08480e20b48fa2afd0facb1d6bfb9da00581f025cbbbebd259d52cc023511c9461d41e3bcc1a090ffd4ce1f419d895306af58204f6f67610000000000000000000000000000000000000000000000000000000800581f028fb0358e5f6d5f7a2272237f0a485c1d6694947783c80d20f7f892af7e9b58204f6f67610000000000000000000000000000000000000000000000000000000800581f024c0c885366affdcb189b49678d37d954bc440672ab8ad57c046137c354274301000000581f0219c0b9512d2e0ebf5470e76ba7c2f7c54d233bd62cf666c70ad518db2c6658204f6f6761000000000000000000000000000000000000000000000000000000080306afa58d6133dd4313f6fdb7ce344bfc0de060c364dd7f3092f9d8cfeafa4ff200581f020fee816ce0e0ed50092ef315c3a16faad1b2fb600bc0ea52e66952dbd17358204f6f676100000000000000000000000000000000000000000000000000000008021939a903abfcbbab8c9c0cc4ad828a669b4f20ef9a2824a191dfed1c71114f457466a64303ad1e61bfb82c0f85a23460dc5e93d87b331041ec1ee1e860743842bb424417db03865a9e70cbe9355fb22db080e8cf903370ab0a8cdd5b8acffe2c382fd1f07ed903e02a81c121f923e5f0112069e9eb86328720ae1eb861f3f5c25d98da9655b28a034e95e1381fc6e1e4463d299f4971e43f6595c67a66df5d2c296b922911eba6ce036b0600c74a6697b7ffd934291f3b88cf377e7602d47402e0b4e3b3407a87ace303ca39fc82516e7e29ccbd96679cfe60755188080cab7050565770cdd4b9e118e10219ffff03acd46b7f33075e11799bb90b62a4a616bc3850a1e405d28cdb8108bca5b2c32c0365ccc72542613d44345d5a439e76489926b9b613d3f578791c790b65aa26887600581f021d1e77a0542feeb6f83dda754cca11fb66cdbdcdc3193b85321015df37525425f87705d79635fe8db3c1e53e35b899f547e8a900581f029c72644308bfb04b7877ebd13002cec62595b44d33f45a670f68fa6e951b410100581f0257b00f4d4305619d767523513b0edac0a2d15964ab9a3312f16bb4814a9c54d1333b41d5851eb2c229ee3acf8b3afea2c6a48600581f03316937dd96c83fee9285ed8da82d9f4d540808707a945a087ccc2e67aaa054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f035296efcadf8932fd9b8f92cf4ac89302c499074ce0a88a5d3d8f6fa21a1058204f6f6761000000000000000000000000000000000000000000000000000000080219100402192114033dacb10e9392c6e398c7907b0369edc158c66385dc1f219d055c981c50831ad4034fd7b73c9837ffbd06c18a17b623f58e7718ef2db953037ba00ffb052b301ac1038963ff9e06028e8c50b2c8c29ff4d8bf0e125324a06573346486033518c9df230311d87404f9246548fcab2f7fdcb6fbcc4d55b073d13300a960c22b26b5dade50038b60a6d3a85aef02673d3dbfe6750387acb1283143af5c680e925c469470c594032f8edb6643e6925c598ccaffc585d8311c6f8e866e4d76a307d496e870e26910032305d5722cadc2c4000752ce501a71366e6318951f0020ddbb09697376730aab0339add3e6d8e8c65ec3a95fdc63c455447465f02e1692cc94910aab9a0b1a08f20330de528155868ca40913000fc2435e6f99f05c930f6e3cb9d9d96591a58db49400581f02f1e1892d60f486e678df2e42850d62e6828b226ad23a1d5354e99916cd6b54cd310d572272de6978d6a0e10389c8bd78b4879900581f027044949b6ed6bfc298441ebe7dcb9d1602237ade1115e77c452a69e7f54e410100581f02d8752e46c170ec460993258c03121b1618db0790a9af3c4ffc779c9b86aa4301000000581f02c18a166a2fa5d95f7acda0b92c7301f555c80e83980e50ebb8c9ddb30f0654b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02c51bdf1eb3e1dfe5b135554208acb020b9f4330654c269aace8a2da9ad9449019e234efdb203d3130219961003b84f6007a2b40fe48c23da4da28cf8cbb0c8f34f55f0723ac080d5ae20e71ef90388f8bd336124f3910fe8d22c49d3710cc1360feb9be852ce7a46509dc39cc26d00581f0271668f95fda5294d55d6a085eec96caf231df6ab9f83c09e40a8be49b751484487fdaefceafefd00581f02e14292c2dbceea59b970e436b7732e80823c19a77a832393388b2c0d2930410100581f024a1e36b89b8cd9502cbaddff93b7aa65f57ef81aacb0ba1dc26042c2184a54b4e765beb8432f31dc81d851a04b77d526a04f2a00581f0200dc91948ba263acd35b876d2d6c472c416cf6778aa62538167e204427a4410100581f02e01b5a6a6716e0b8c5309c4300644ee475ab7e7df73a4e2fe21ddf9dd4364101021981a40219ffff03085175b4603cb0dcd9cc3bce2f1421331e86856e3bd5a882fa105567774f47f800581f02c9f67465a0be92470a1d7fdce4cb2fd75e72e275a2aac6f820cfc6ec892c4301000000581f0249d841f4eb8983f60111d9c8d6ec9450337341530ad78cc081b81d920b6558204f6f67610000000000000000000000000000000000000000000000000000000800581f0203da921c0792282b115cb3c39b55857c666371c7fd83b76c38209e881b17410100581f027a68ff62f27ca4d99be5f78cbd6b7e6870ade3ca99e62e1a244a56c3e48c4465dd180700581f02460be65c89bf22629310ad648aad1ecc9c0a4e01bc4d35c9cf890d130aac549e09bf18e9c74eb20d6b606bb9d1ec0ac4ed111b02193c9003636605e9785c17d5eb1ff8a088c78b4348083dcfbc2995cfb4966d168a584365032d4ab09b22b1f71fd0a6a2ff42866e2ace965c66d26fbb69ed1b9962aded8f8703055bd28849a3aae8a299fdbb32d401277acddf3c768a77e1dff54d694da3531800581f02139e74c4818b5979855ec589b73cee94055773856627bf4be2e8d1bc07944461d47aab00581f02c8f6d64823dc76af47d1714c5964723ecee8df861eec6ec2d14ee75e3b8158204f6f67610000000000000000000000000000000000000000000000000000000800581f02a6d40f9521e9ad5baa293611a6ced042907cbb041ab0ef8d53a3a0b739115427c4448bb5b7caba3ac3d1fde2325ab776f73daa00581f0215167cd6209272e252d75ba88325a53e6030f1399ac6e2b571ec7b7793474461f05cb400581f02661078cbf533e8dfdf537be2e18c6b43ab2700307975c1341a8cf11e050b4461f0c9f300581f02ab76d9c518fc5b642e90f7f06d674e472cf75d29d17ff7a8c50d7e75196554668a2620728fe69ca257cd1102212081ca1e965303ed624ce8e8bd5d339d2e85bf73a9e97dbba56900df596ebe067db4c8c93c206a0219c60703a68cb3ef7fd81e4b89d63d55eb7cfa0a52450dc0cbf65617c9e9000bd0a5a1e5037f4547c7f98052ff5d4fa97705d8b6cddba28cccb9380a84d1f94f781af67af5031679976e69a5ed4c98554a5546f7ede27ca1c0f271a224105dec5bda07ce38690338436f5c861920daa3a7153be29d2c834f145a20d245ce6e1416b29d9ad54227032a77c5a6cd64e4dbf761f79da9f328c8257d89fc98d72831404fdc041bb09a2d0387c4d5d2ec15877d2dc8c6028f2e33718989da851798f35a6ecf78227927415603ddbe6318f17f940f00a42aeec84f3562f0781a271377a04f8e9fdd2609f7c03f03596ba34ae1f9ff1ac1f47427cea88433a9dbdf0e0b2833a90921960d054d7b58038f1918d93eba600235cb667420cff41695c4d677d8b03d44e0ce383d90e7dcbb03379eebbf39b3b8bda301a1a3ef5a9191c15a8aca9bfc056da5354da1b18926a703571e5ce173afdab09287dce90b90c9998bac2c34cdfe3694265cd846e42ab5790219ffff03a7302a488cf144c93e842097158fbc7c6d6df7f24cca711932fea33bc54cfcde03084240cd6b654b8774afc49c4b1529f92e1f4c51b65c2c6bba5f77dee4274e9903b1bcbebef556b04d23b29fc4e4b3f13c208feaeadd262c47e43095267f8b666003f2ad46f4e4f5257f8f464e9f9880e60140e552a2e9b43a629ab0567b7f7de09403ae0d61a6e4ba2e5c05a3bbe786523e396cd873b2dda8009d59019178c4a82f950301549bd25d187be4fca5374dacb773f2c2b8af4ffc0629b7d70e45f1ee50233500581f02338ee69dfc37481d38f84dfc315f50ce61e251ab57745faee889e788dd7254b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02bc675fa2c9d36e6548f37776248d47d692c9e67307fa166c0365d0970e7658204f6f67610000000000000000000000000000000000000000000000000000000800581f02bfe458873c6ccbeca6a37dbbf97084823d57968da7128e6ff8bd843bb72b410400581f02d21de975947d22453db8a66056afe2b49e0d172cd5e27aaf37da2aa75e5b410100581f02b5bc3e7ba424501a3f663ec512a072ce7be1a633720463ca862c7a781aed58204f6f67610000000000000000000000000000000000000000000000000000000800581f026df6e0b8092ed1c8896fa9c011756b66b6c78dca2a98d3bb844b9d9d47a8543a041efb62c22eb67fc94424ab97f63e4b02971e0219914603759b15c0c80115b6619db5669cf9bc233bf0e3cfbbfb9e47a986fbaf4bcb31b903ee9747ba538803e3b369d2da157db6b358e05afa6015297999613726c8ab47a70351a608feb33f86e62ac0346c0b6104f2a7d165109e80ad88afff79e19c704af1035a1200015e51054056c3a78e27056432acb06227458cd3f57e5d21db7b15fee703cac16f58edd3467eb51cb2599319d3e56c5462e5c03c3201b402a59e8269b8d903131fece444656bbbd24dc82cd71699bae7df648fee606da075914d77713a826b0375c3d075cb1be737b71b35e5f30d69744c7962c443062447f5537b17dfaa9fca03f1c0ca24681de33318e96a93feb1a1b721974913b985f799a36a44cf6b14cf0c038e9d1d2d638caf6dbd05e29649165c38b0594d87d165fb031bd956d6fc412f510219ffff036a6061c946bbaf7b8a69d5faf021b3e55bcf2b5a89c07652a5671fa9a7c2b1bd03e095950f3477a385565946551d7d1e41520231b6e04edc68562472fd8cfde63d03ad08d1e5dbfbd12257ccd93dc931128be0509e4dbd16cc0ec92af7ec8c2dd24f034b7e1988fbf47e790344d36c6bf80ce133f2e5659c27110905ca0e9e2c48cd370310fa4a0fda771ccfa9585cb87d8b297f3840a55c24bb88c8210fa87fb54ce8f103ba8cd8c1b555b5d0d739bf71f60233107530723b28b2b967d7fbb5458ec65d8803b484b2a675f7f0c9befb439e95599288500e43cd64ba5e4eb1bbd4e347d4b21b00581f026f03302195ba5437c5aeffe68a77769634c7a1e3960d65092e6fecf165d358204f6f67610000000000000000000000000000000000000000000000000000000800581f02030e8c6cf19133ce2dcda668f574b8dc4d6f99a6acf25a0713c6ff06971e547a41b12ae5c524db1809a8ae6d2574ec0c912305033cb6b3d06cce0792855cc7d6df76a7cd6937bc2ee7b9e94c66586c8b2b86ad9a00581f02d43488fe786b524cb3969cbe8c4fbddaeb8f53581ef13f37527752ddbd7054861332a8448aadef58626b3fa811ac0869c7fd7002194425032925b149a6f482279f2342a8541992597645d1973f653402a97db322b0cbbb6303712fe654f005224610e2d0a8c543d308c4f80d9ecae8520e48d945a4bfaae03303fbc7a168ebc21760601f21a49674629c89d44e5177484c50636a3be14ef0fee1035102cf6bc336d648ba1f05a9ee5622474fd8851830d89d39cb68376058f867fb03482a7be512fd0a5131e57019fc3e0a26c0a319599620447ad436e1c2d995c67d0305d11933f8b9b0c8516cad788612b9bdd7d7607c78fdb00db16fd5660f4c69fe031cb68fa8eb270cc6961c0e337b4615f032b02c5a2daf8273e391fd514e1bb1cf03be72dfa33dde4715dcc1643482bd04321f1b984b942f6b295fb4ba894b7c6d6a036470c59380aec0f56d36049d2eb3ab8b6a9cb078d95e6619b466f21aab898ad30219ffff036c79509562083afb8e79d7ae212be15081610f24b4b855ca38488e1885ba1fef03f63b71923228956ee9e74e5e1e18b41bbd17702cfe9494a792656472b2e91ea7036387cea6b50f2450e08a0732cbbeca267c253b94e4b8949bd4f01afd7e9bf7d1038e03d19eb3cc412b2c64ce33e2a72d71fb962a49b065398046a770f0a07a0e9d03f9e7c3a79ad6a27a740c2178fed3ee50d3f59f21e118792ed35f9db3b3c3f35103c333e0a31e672eb3adedef396524a084ba3490498adb24858bdcc1f557fb45f40342ea94d5ddc92447ede125be36e376d2298f76101d3bb3d218f27770335be510039246f11ff2307b9176b5e92460b1acfd90d1623fd0ab9a131d6c8d2a80393ac2035c4365785c00569057c59fbeed9e4c690b5901fa3ebf513695d0763176202c8903bddbc4375c0b30c24783aa42cb8f073db6146d124c5862ee1cebbe0dd5b891ed03c8d24932585719f132307fa0a82b937bd39ea5af9c9988e83ffaff6f2c3d4e0b0378e517f0fd52b28e77d0defe09fc1f174baa8fd90db14fb84afc3c562b24239f03e3d1e2c4acd5cb4684eb51f0544c6eb48c14eef0a55ba7f8068cc0e85645a560037be3bcabf231f1907bcd33ae56e2fc70d44c0e7a208173f93135e820fc6dcebb00581f02ea91a66d38fc3a8d4e351e38fc05449eb0043db877fd098b178b1ef080b8548c86360344b67107323617dd7e5e2c7a0fc29a8500581f02a56d172e0060de02be55578ceca111e9e3a5ba26644b9eba4903f08cdf0b58204f6f67610000000000000000000000000000000000000000000000000000000800581f021467dedf3a35eaea00d4578b32f73f94e849f92cb9fd38fdd24e2e037cb4410100581f02150adf7cd763b2408562678c9efc3c20832da66180f352d8a53f5e43eabe4301000000581f02ba532952a546cbd1d816c67d1c068e7ab2a450b4c5b478513e9c55100fe8549e9c7ff2256428bd1caa5ccd32ae1866ced003ca00581f02e33a3c74e73b86482646b0dd28f4a6ca49262719f113e64e5b634e9b4cc358204f6f676100000000000000000000000000000000000000000000000000000008021955c003a341b6201e9d1f2e3d7d7fe680e6bd0a953bd5254d66202f160d273fdf6de7b00219ffff03d2e03fa9867b782320c3d7212fb5d08f918bc7fc050bf0ec6c4bd0d8ff12352103f366564163c5ca9e6d919491cfa3cf2fe213f469e6ac99f4f00a60ffb0d205e1039f25de0b4d38a8ccd44c88d4c2591445e20cdf55bcf113c003bcde570b73340203214a3bb83d1abc158dd1772d49b6e5710801b49f4074cb7c88577b6fe9a0611f037c6744af5284bb743f49308189deff36de4e16ab95e9873aab31446727f9e3f900581f02209c7ca4acf7c8f6c5fd0d319b64fec568d8d565a8aa4290606c1398f3b258204f6f67610000000000000000000000000000000000000000000000000000000800581f025408907a7a5df8e991c1f2ba9cce61aabf58cebd7b41ba606deb2c44cabc4461ef532700581f02c76e518dbe6449f1be6a5a100a33a67b392eec9c714bf8003f45e7c4351b54851b0a003bf1ca98ee84028848da1ed69a50cca7033770d4883a94d5ef8345f9f14950ba9d26cf95aad3200f9e2ed7f520ee3c659300581f02a18520430f85103f5ff6296a1d10daf535c290b317ec81d04d40f7da21fd54851b0a003bf1ca98ee84028848da1ed69a50cca7038e2b31fdacdbc3f211dee063892edcde6080ee533f1ec95d3d5eb68ac9e8bff600581f026e6effac9b53161b5f54c16e99aa1e3092ce3b9e02619ba49bab2d009e87410103d6675ae294f28ad96fb94bb5810f4cc4afbfaf2e9b24b3a9d179adc26d445bb400581f02a25eb6184fc4fdc61300ad9df6ff3d3eefd9e65c2e887169f048bd8947e958204f6f67610000000000000000000000000000000000000000000000000000000802191f7303d95ae1343c0c3f0258a53fe18118fa866f08e16009b6641ac109aee8e012643003ce7689b5771a892814da3d111e8137d73569ccc3dea5a4ef8cc52c711e2601c50363ec8bbc18cacf19078bdb8f88dde0f7f7211e06c552de19dea7ba52e6a7ccee03010e81113261655672641b17b9038bda99d2b818ebdb3ab86967eefe6b18844103b3bd49153ebc20862982d4c11bfbf9c789c434f4fd5bfc8067c9fe9274af2b550395e3109f9bea715a5ab842fcc7f9b0cff4a08b13975d1d7b144672a9adc8880a039d45e56d14257b331aa5130664073ff6b2fd62028e442bfb807fb03d7231d39d033bf80c29f352a00b69e477c9f83c933ced5d5ded56527bea2a9abe5d27fb90a20389a42e2ffa4f7c0ec3ce5e452461c1b6222f26d09a035bdddc267a61dd90da2f00581f02e310f6f7b084351353687b67c6b7e50cfe7020d3e9e198ab2b30ab279a194301000000581f023263bded485e92e39cca440ae3e60f56b6cac15e13d8f7c632d217a72f0f58204f6f67610000000000000000000000000000000000000000000000000000000800581f0286b2c5a56ae1bb0244200883b59f0c64e1497509eb08fb3da73dc6ba3d984301000002190580038b66734ddedb92b3008a4bc8ef8c5123a276dee6c6fab649d78566863e5e160f0219ffff0219ffff03ab16c13f9020747b334d6b079a8af047f27c627a23af654aefef480ddc9356bd03d3f3189a47c4d87f73821c2988aac7bd36a67d7189fe23076b18dfd64649b06203dd1b9966c1cf5115844530edd7da00f59a5a6db64f2f5ba3b35efc1eb994277403b92353f722a5c0a7e4510d598f1b159b8281e116d6fa30986e603b9c07f2d8bd03e50a1572fcb59a5b64de468e6f168635fb484d29887b839cafd4ed9cdbc5a9dd03d6bf2e2242b4f77946fffd3103cdb982f33c075d3bd995ada643c9a0360700ce03b39ad15a3f5ccb7b2e26fba4518e3a7696b00fe3143bb291ee3b55bcb45b83e3036a109215a0af6ad9bc90149cfcd2484857a6c67f02114f9a560fc576d2cb202000581f020b95f5e306314408076a63f579c721cb7381dca3ab21fbbab49417c5858454b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02eac6ca2261e7778a43b9372fd726968bf3f4bd0a10f41847b13e756d388a410100581f02fc3e3ff6ea6e86d874b4957b6bbf72ec506eeab45693946caa922260d62e4301000000581f0256f4f5ea37d21460570b2b246f574790593c0c1b92712b70d3a81cd1a9094101021962a20390cf628ebba99f399cdb20bb5b778a1cc265ce09f45a6f4a96bfe1b7855eccb4035c59367afd79689c9e202ae9bc475ffb0e10061b31fe63878286c5c2211fa56b03a15bb14baadce7fa8434174ec9f93913eeb5248ed49eedc8ed573811ee3e9d0f03c5aeab708f43bf68521988fb6a8d2076715b93f1e2348d95271b72102db91638033e2562ef2914938b9bee6aa4b2ebc3509a0fe6ccf20dc3aaa059fb3e79de1d6c03c1f80e3e5b5d7b14fb811a33a9f2bba5e8896f5a665efb23767c1431531714e703954b6e66f16fbd073315f7533dee6742839cde56c372d2cf8ba224881cd95f25031c66452a146c0e559d1490f4a78309fcf7bbe3af6ea5ad1c2b6f2b289960fbd700581f026ff3f80f959031e984997810a303de8197d7880309fef3d27a7495ae6954410100581f020429abbc2828d4e8c68c0d2551d6954d3872c0d4944ad74357826a30429a54dd7f18440c73bf2b39c3fcaaf873a99286d295ac00581f022d8698922edcfb20fe85beb2b06fa7edb50fe59e56699e0949931de1b82c410100581f022bd85f9fa48881b81231bdb5fea92f72ff6dae687521056f4ecb7990ac2154b2782039d3fd2130926c1acd39d13481d8662c2c00581f0237297917cf1062fe0263180b3cc3a5095b25e6cb706631f2fe1ff1aebe8854f74e29a292fd3b32dacfa792a29130bfcd82bb5800581f028ca8669be5fbf4a4af7991f3ee38d745f6caa14ea7d344d8d4336b92307e54e7dea6cc8c594334f259ceaac1147402f17d4f3c021963210219ffff0367ba3173398cab0ed85b80d761a87be91c427d61c5b56fab31c06c5c5e97916b00581f025da2df81f4d2d44d46d693ecd3fa1d287281b0222ff208b9fab4402dc14558204f6f67610000000000000000000000000000000000000000000000000000000800581f026f73bc3e30a3bd04c71ac36102fdfd269d6b857be54cc8b1ce528c96886b5415776c1f16c3b766a8a4af06ddb83dad1512c9e900581f024868c3f4f3d74c04acff8e6e8c3e8708542196f3ce7d2c4978c7301a59a754ea445a952ea0d0091c6e6cf8b5fba04a7d97c8db0306d38035a4ff0623f5fbef939af6e95c26120e490441476c13155e567ad7c77300581f02b0ef25376e1f6d8f5a688760f8735dfcff6aea13282788ff6cad795aea2758204f6f67610000000000000000000000000000000000000000000000000000000800581f02d093c28025358db045b52753e6502affc33226deb55f365de8b3ebacbf1d54e713f250febea087b991fb37340c856530ac8b41021922d203579bf37dedaba076f55b0663024f4e6c8d98879f5c9d3c7f9ee33840298b9cf5032f1aa195944bf053b9e56ca28a8a7098e649a518a3e55822e9f3baac8932be7f03c9efc949665d332786330e715cc88680ad89df61087d7054ba053882e925254401410f00581f03d4e34585c1da377149c578be21cc9976bcee8e5156e59c02af8ccf0834e0410100581f037304ab59ba84589310787b48908a7407bd9518aebb130351921adda52950430100000219400100581f02447241220d38840f43f11f17506d4f987e35c70571755400b87fe7550a34546d27109ee133835817eb9f232cf5047879ca3be900581f024c77e6e6fe4633c893eb8971abf393c4d299d87524733bb2d73fe1a7b09b410100581f02dca0d3f32ecc462154e34691e935f24a4a04857ac3731e9f6bb43717bfeb58204f6f6761000000000000000000000000000000000000000000000000000000080219641403a0c7fd320b26e5c5ecb00ae9cb2eae1e793711425ddd4f73f20833260228879a03d3af4b428dd618b86956af989a32a08dd1d19b87f6d7289b474d5fb23c1fea6603147e9e338b68cbb47e6669b5745476b077c361aacca8e183bcfd317a2ff7f3d40352f1b933dd0f0d82ee7ef4a71a2f3491221f76e3074de6e1f38bb84c9bacdb9403d0a4d6afd86cf64645334e87619047140a276d211ecc422603b0e73cffb4c3f403ab94bc315f5aa7d5832a3e722330c2f537a39561ac0f6e18938a3204245dbfbb035e7eef206a8e41e7082de65334586f6ba8ac85217ad3b669b42d72e78bd8897e036b27fba648545969ff21aaf8602ea541c73f55ca03b4c38ec4efe87c9b2d8cdd038aada13bb5a7c3f8e81d1bb304ecb9923ff1f76e650610396b6f570594bd10ec03fd5c0d6b581437f153588c693ddfe68fc9810ab7560c3b671c2216e8396b0d2300581f02e85c6784cc0d91d12ba796c8f94bab5237873799a02ab68a2d6dcea6ab524908d0a4d9a17b9fac2400581f028a36f2a43fa68e183246ed81591a900c2cb9d5cab241c6b815eb0a8ad3dd4301000000581f02b1f0d109311c01b02c3f1f9be9026c2b599c942180d34bb1f83b4adbc52954b4dfd420a6982be95f27fb9b1ec0c374690ebec2021980420219ffff0323cad1cc6fac040f362ff685fbe231257c93afb5186883c933eeaf1f37c7358b030385df0445078f1702b4fe2f94d3f63b623891f59f7660e30306987576ca54ad0304f58fa2c33974a8ff5e35a384d28d1deab7ec77253e4b3f9455fdbf9b69da6500581f02e0d599784f2a130d6582caab22985fcb61dfab3174f6df03a684792b21a14301000000581f02591ef77d2c3a9a5a4439da5f8e6f7d415d07c4960e8414ba79d4ddcce3f458204f6f67610000000000000000000000000000000000000000000000000000000800581f020eb5380971ea104a297332511c92e03e0c7197eaa5dc3f1a554ad26b778854b4dfd420a6982be95f27fb9b1ec0c374690ebec20388a8f7d4e4d84ed8e1e0551e03cb2b858f475ac1223ad83420ecc8a72b3d62aa03107df21e2106b7067df77761f9ac2bbbe0e503cdbfaab28f1600173d2d554b4200581f02dc36fdacd0e11a902604cd20b68ef9b6a5b11091d4135f750fed2ccb91b3547d6cc2509190459d2149c0db903eebb6432fe3ac00581f02cf9672d33e6414638e5043628eef2019573a9a7151edfba8fc48ad5aa5d94301000003953fc3ee64332b58c7fbe753f137d5acdf4546b45b839b417a80472d09839d660219c5a5037407dd9e8845f7146451a39100db101cf1ce4e9dffd50fe861d3ef21d850b958031e51de17f7617f0a37bc41357a19a456d550a976cbbbd63369def28e3906da2e03ab62f8f2aab075f14de9528b5d36b24ad8f783123cec293b6b2d05e71444fb9803a33dc60a24c4a73a2c1ca39faa19c1de8f0ee7a5024f9232f4b7eaf091b148c0032dc80a05c46652411bfe9260766ab53d41e6474ff321b0ddf40e7d77d95a370703cb911353b666669476f43d40f032469e9849d4f6c3365ada0ae8a9af748741770385198d920642132b2b386a934a0b929023f06d283d5e8fd8bd396c3343ae59f00302462a495c9a40c14de54ebc2a5d75bd944fd88065a56432a7e37ac8dcb1edc703603b5d5ae8f9addfae2b77e7addee87d01d407c4ec854bdb8b2a6430f62cba37039ef4d0a79e77e427dd364e94ff20b83c5d059df071832e95897e42cd89e141570303ec0d1567abd38e9655ab70ef1498c93592972756c636737a837aaf66e2ef1c03037a8937722b6205711ca20b0b57660bbfc0c16bad3299732d501e2b64867e840219ffff03419cd010ead6d7af42594592631e87863bac632e54c8669cb6b644002b5e807803cd3845fb693ba4b970b8ba9854627a96feba0bd4d5ef62e15c82e69fb5da408100581f027b80cd3a5815b22571314a5c5c41005a3e8d456cfba1b7277873ff75f47844622e203d00581f0210a9ff4382659300c1fbe6d0c289327939ff14782147047135fb6e9c04db54df6f3a6add540f8e628ff9bed5040ca09d075a0800581f02c676d38beb048e1d7474c671feda36eccb1f0758063e8cdc15f7fcbc3d8154ea5111e25905fd6a12dc93f9d3cec2b24618b9290357e14e04420cf6ad17cfd09822ca1cd762f3fb75af5b607f05b2eafe59a5093001410200581f02429d58b69bffa1bd385a93b00d9599c8d3610a1a2595f95290f2fb2ff0874461f9112000581f02a83c2edb2babfad8b44e4bd98b4727bf19b4390c98fc070ad9a93bebb2d954b4dfd420a6982be95f27fb9b1ec0c374690ebec203780b47ef7ca946d04f2ef9f41093177272623f44b458d6910ff9b7032031dd8800581f02ebab0a5287607432789a9aafd5f21fcabe5985669c9605e86ee21275b22254590045a31d0725e1092371a89ab2b6eff690a82c0311024248235175bbc4d44f07877c0dc515556adc82e2ea4031933c318cd8ddd101410202198f55034d8d94e59b70d6fa0a61cb0622a1033719bb8464b9b489c7b8b998136a3b4db3030d2156218390bc52ff26bad8168a5193b3b3bc82e88dee0d17ad23f8f4fd28200394f7dbc0a4f5366ed532f89a3e79da682a8c569c7506aab03d6635dd2ea15f6703050234dfec05c6d2ca465561ab0b0dc6919bda1a54ffebd1490b2ec90e3d89be00581f029db17e35f2d371c138de05dc3c7de426fb07447934910808ea9bacd2562154b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0206a27642190742cabbe5d8c373251ef89949116383bc94bbe6de9b587fdc410102190810036d141738ddcae4a971c042ce4e19c85b5d7c5196f2b153b5dd191c00ce7f3e9d03cac75792fc47476c1a61cf2b35310a84c8228977a5ed10f31076678b0a2a58f50306d20275e6d244cebcd2c75e4a51ee00427a7c19c568932490a8ad26ee3408a2033aa44891c87dd1176b08f7874f2b54f2152158356e468da0ff272e0ede28c2c40391b38584f1f7f99e836fb4a9c46fa36ff9c1d38b92c2e773405fd90b62dbf80a031fdb03f7f5bcdd20330f88db3a47abe26461735aa5863f61663ad049c22dd94403c9a3c067d8587048432ccc86930e5fb0a1261422a606b4aca1c385166fc2884003f19d306532f97db80b2665d36231b578e44c75d334e89e4a23204bdcc7b301e30219ffff03ef1c79ef97aee45816ff6936c425de948803473bd37201b5f2458d4d7cd1018503e04afe9a7930a93256b467f4a0d7c0d083af930a82c975b64c169851d4e5136003e57791db5f82aa19769e93d0f5b1f555bc39217feac51d7f759445d756ad45da0368469e9f05ff9d2f092993fc77365709d338e5744121a5bed0e8e35649fed23a037ac1364114f2f3f035c274ccf99bdd63a825af18a1f3040ee1235bd2feda1561032b8633290ad3d887e525ab4eb5497897d0838629689e2a0b1093d8082b0f621b03cd61d5df83a7d733676f80139bac3e6f7adb5797b9a604991bec0bed4484e68703683bd2e1e86f779090efb69323cf809cc297f8c1eef8bedc08ca67a057c093880326c0e0344dccead84ad467a22b74fda696d9483b560d9bb131c75091f55e764d032803434f258b420db1950143f0784fb887a96f617385de36d10c75c4362f43d20344fe879ea751c4083d5d9bfe0c0a529b1f7b610c82e6051c1fa64cf24a5018ba0321d4a37d29071d43b0d96da5e74b209145f688ceaa1d581061912f44fcd8767b00581f02a3d38ae9608d37b0e531636646ba190db3f594280f615062c4eb1d0b5e7758204f6f67610000000000000000000000000000000000000000000000000000000800581f0210a0b5d414b1daec6d10bf41aeca8a5a94d7c46d7be68689cc8b3ffa1bb358204f6f67610000000000000000000000000000000000000000000000000000000800581f0294cc981c2c8dc9eb8d669f4bcf659ff8c18864fd0259a041119ffe79e18558204f6f67610000000000000000000000000000000000000000000000000000000800581f02cfe8adc2b550e8a922775b6e6ce2c9a6a8cf88a8a386787289941734fafe54121798e8fa98af9c4fdd2c25bacda3587ee16cb80219105203684ff76a0343f5839b5e1e2e20fef4ecb6c5af196bac09b4d5bc0417b008f0f303dcb2ae988894cec1eb589480cce659c8208e149a6355e872a88759a9f9a49509038e13577d942f0cc83d793888620ecd9199ddebfc434d0b99e5bcca52bb2f857103a1a2ec7c5f5323bfddec1fdaae34f13dd62db56d7fea2130b54502b4b679f0c50219ffff03dddc17f4b0d994e205e7a1a89f544f109560c13a826db4fda5a33c2c6199a88a035ddb3f4a4014ea4d57949de575d205d93da3b0d10cb894ff8ffbeafebf72153303b820508d7949834e2bde996a32c99717f40930e519d64d0cf29c7a5d94a1cc8403fc50a8136ca3486c41954ae5ccdaf90e5bb97ad0a066c36e6e6cf74acd04c14e0352fa332e2f32bcc8bb00ce1d3d627932d15cd64189fda39113ab405248cfdb8d00581f0265014c55859b69d588b995b29343483378c3b81ee7bc72fb6b30038a0126410100581f02e4862b4f0ea480a65326a1c6071a79d3efccf14f301ff9a3c533debb91225427c4448bb5b7caba3ac3d1fde2325ab776f73daa00581f02ec008dbf611e0c23190115c605486ff41268ebe50ef929b953e8c52ac95041010373dde5299facb2ba8bf1375bfba03e224e77d4daddaa298d03a432f2de40812901410500581f033278f8b2607852e4feb54e11ab67b5d3a8937877f7d43297b13f415e97d054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0340fc122be2e1a2f523745514c02f8c441cadacdcc93cfb0260363eab731041010219420002199e0003e070c5679fa3e7ba967f3b343c48d48efc3d848f856f32969f09073b5b02941003b45fb117a4e560227b27ac9c5dfdb776a23e82d1b7e130b6ab51197f00de998b033ed2c26c2fa3175f2421fbefbc49b20df7aed054506dd7998e60b8c510301978039e6099eed274eca41f619ce47ef2c0884f14951a81babe4c7151f33aea8b6e2d03c79b3d2d9f3527f9e8cd4b6401559f2e3adc41c91e515cdf09767ef673e6b37703341d62e027d5cc451ef293af584ab3b2b246ec25a6b86a7204aa00616c37e55e03742c6d921b489dbbcf21ce439db42b15b34c722628be27e1f142a07cae2dfd390315a618a2402f66659236e106ef65764f9ec80e0e1ae3b0950e8dbf77184d4a4303ed3fedf6d142a4b2bea0b3f9b104e8cfb727fa3ec811ad6079cd6187ef76e7dc0319b16ef1465f350c47eac0011bf2d0919b28fdfe3bfd8029fca6488047b96c300219ffff03568dd6aff5274b4eaa61095269afcc91850e51562fe32c233dea902e38192d98033cb5beb576a1929176f6c2247850e20168674cb03633531cc719e09d9f826c7d00581f0247c8c496e61a99ce0df0339c3cae3f35bbe4c691aaaacfcb4d547183d47c549a52c38241d5b170c6913416fc6e8dbcb1cc73de00581f0246d9d664fe3b07ab9ec83578d4956eb7d8888e0d0edb91e0c2326bcd0693540c90f24c9892a46036f7858c6b9eaa140815abce00581f02abd26fdcc080a184dfac881e2cca08bba8b6140222819c528639af27b55654df6f3a6add540f8e628ff9bed5040ca09d075a0800581f0233e3041732d9a35367a68cbdec850d29a113a7775b8cb175697a32a02c60446392da2b00581f02249ab6ef351f008831815fb7b6f31917e84e56b6c31005c93f09f0e4e76c58204f6f67610000000000000000000000000000000000000000000000000000000800581f02f06ce94f9f55dff3df1b539ab15f8f4ba1fd605644cce14ec8f781a7821054e086f9ee3f6a5a3aef0befe3cb0d0fabd82350bf00581f02de7bf555cbb75288a0baf5598b58313a95e1608d2b23075ae8e1b8640db554ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f02b4eaae6b1dc55bc33e8cff49135eebd47bc94f9770be538116d814bf9f1754403c2d4099179e178a0b9860139f0284a63c869000581f020d55ef893e2635d43a8a3b4e9cda10cf00134f27c9c49e15c1fd9b6f5af5410102199de3038315a8b32a37ba42761f25bb916b3935ca4019d946c377af45d3dd1ba3109f3503547576627faf4794ee47ca178f16cc4ab2e94c11b75a9392e98c6df72e52fd06039baf5d84c5d48f26c6d99a3442e20fc0c6ce45208e62cae5081184bc29f5be6e0322ea857354be6e0ddc37352c9e538f40b2859dc5deaaebbcfc89a03b5411b3ca0344b12f8cd8792839668a10f91bf545b2922681c8cc22f7a830d71d8c2d7867d303f0d763994c20c5a4ee936489f9b5a6a19c262b5308dfbd33607748cf5f4a5e1f033e530bd6c115e25b01a10abca596256dc0d2b2f60d8aea5983c7599610e3eb5303d301093c4a8596458b158804dd8ab8c7ac932b68dbc180d2e06042e542fcccf503f52d86bcedd203bcb269165301c53d55add81ba347e471200f51b4cd5db48fe403aa8faf0d9ef2ff869227fafa7c88cc727b55627231fdf21b7d8236533b713fb6039f9759da62bf7c88a2d89c76c740279116fb80d87deee8f3c06a215094557d9a03002213fe1eeed806ade8b5544cfb64b54b9a77f5dcbbb666eae2c26b58fa0a90031f5a35610bcdac274c20a8cfeb24c5b314aade9c73879de48646e5157540e87a033e8ae5867e1d546270a233f0b971514ba7ca38795e61c809e8aead4a35adff830219ffff038aea6f97b84cada5259b7769788a8ee98982c37990d10ec68023133f9487d56a03a352539cbe8e374b17dc8d1cdf8f5b36bdea696c355153c0c8b0c5c43ea7715103755bbb53c80c487233182e916606823c168b62cad7d4a90ac48d97a4784b33fc03543188cfa037a8c0be7cde89d8b8db6127e4c303d5e3b2eeccfc883656e9e932034f509be4640e02949ddfb7409c40028a1643fc9383c0c04927e39a662aad1a6a00581f02548b33670d4dbe28d3c7123f1588f3a559f4be546dcd618ad8ceea72804754ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f02503a25b3d2e5ca325390affecbb31137d684661b4fc0c1fac2d5a676f335410400581f02ef9a463119a40a238edd2614df17248706a3bcab0599f35f63ad06fdaa4e54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02aa3805e8f66b136133e05709c92825e1675f21ac0505246c5d613dacd01e58204f6f67610000000000000000000000000000000000000000000000000000000800581f02e25478f5b58513be1ba66b45fe48592f6ef5b320219535d5c2865689e85f58204f6f67610000000000000000000000000000000000000000000000000000000800581f022b310b08c62f32487613ad2a7cccfacc08586945dad7deb3f0c15bf513ea58204f6f6761000000000000000000000000000000000000000000000000000000080219b1090398fd71bbf76c372d68a54e144407dc991542664319518ea2f5bf50f4ce49afd803a2805364b145f4f43943bf0a6bbad6df4194880b79000d7449af0ae1abdd3f3703c182e224e7378c58ebbfe023b65ae6e5d61af2293df7946545ef38aea7956c57033c6f1362493750c1a824e40c506ac2e4799717f02f2421ea842e1a1a540ff0ab03bf71034210b25f30082c465a088207b8b9f1113d205581ad12d7705ae749b64d03d6c0a2e21732c80ac6014d5f37f27a8f59cf478a5c677453d180f76ae6347b01035d5928b4507faedf5eebb991b8d30a838e8597f57db4bc3abf1bb16ff8ebae290354b8b2dc2580d5301124e292575cc646a9464ad73b186d7687b9dafbdb317000039a23ea15413975e2cf4bcfb169608bd9aa859683401c4e64573a63942703f32f031a46599bf60bb4dbd2cbe86ef17ac76ff0425f763f95f61f860f7239e85e16580219ffff03652d969694b25364130015b6a87c12079d06bbe18d4d2dfd826cefb8a4e278c0037b5c9c8ba2fcf02b38f222757898fd8fcf7e3a51329ac0201df0360f34d5185703bf21085f91d80af2f0b7d8b240c495c8a63c1e26598135f6e95a6ebf27d7830703d09775217316c20c0c7c9edd720697ad9643a4de00b0e82758d92de5bd90e51c0309726760cf608a0407a7e163f458dcf0ece5a8b6655c91b4652947880171f6a6033e9e2df01f3d1ef66c55ee29c1150acf47d7418ba947d12b9e7b7ec7b228785e03b48711b40afea3a7b9c88c1a8a28e44a88770759adfbaed6e83e14c86ef900a400581f027cabc24a7aee64a1aee2eccdc37eff3877efd92433c2e70729aee72d8474544cde3c024ed5ce9ef061bda3574858ab2adf286600581f02ea7f7f297f924a4b296213ee1cc09a5b794ada671946d5c9ba967d6376c054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f029b276c71c163f5b5c3d5b432e4b41f4fe54b26a0635fcebb9aab8dcb54a85454417b0cb00d83fda1c7a05b0066bbe576f6c41c00581f02a9ed573f8fdef88e08d27506c059015a4445365cc338f204e3a4ee5e55a358204f6f67610000000000000000000000000000000000000000000000000000000800581f023ec330df084addfbe2df28aeaa262d1c98ffcd012233c61e34ae577f489058204f6f676100000000000000000000000000000000000000000000000000000008021929c0032139c86a80ce4c9bd63d77ba115f18dd80d22f52b4622dc19267d2513c6de11a03a18e5e78f77df9b9c2d66315b86d42f4acc4b170c4626e7cb2c38f0662018cce03d843a1f545f1b212a084c1da74bca4b8bd37e364070309780e47417b59d5c541031da6154eccf2e71567aa2d25466978adf6371d1f6d9371f42cedc5e77e62713503aa29b36a334f32937b8cccef26ac0321f01b575b363a5f76d1320eca62be98620394b8ee735413d70052c9750d25d7e79e41b41e5babbea77d60136679ec01ca6b03fcdf80169abb40a75d2009ddcfc6339a31b7a1283684a0037e666c43d741a2cc03f5d81200201dc3412b067b97bd9712d1a85fd900a5612e0e12297e34cf2c3dfa03a07d3db7d98086ec371e45c63e81fdb5780f4b00e479c0b36d51dc4342c0d1290219ffff03a814fe2dc5ca0d944c9f54cfbe650307bdad5cf0a7475b4c6358cdb66279f89d03c6a667a3f9501a0dcbe819143a5af32b004e60e17065fbc4189958d4019156db033f024e6b71111ed3d3a49dfb435b9c23287df2eea2ba83cc1dc17b5a7f6347c6035d0589c396f6a638d5c560aa8980b54c6015249433ef16f5cb412041658211f10353974357b9691db3c0417d693c0c48b208db02e26e5a13166fc6b3f70b3a61a30312ad81599b5f94373cf44f9252a73720f312b8c17a4273aa21847132ba54b38900581f02420614b2b04b56f5d7a55c64c0d7144bd8437114cc55c96469362920bf5358204f6f67610000000000000000000000000000000000000000000000000000000800581f023d5e70b82565a08eabe10d3216648d26708111c1ed67b6fcb3038fcadacc58204f6f67610000000000000000000000000000000000000000000000000000000800581f02a15ebadb22e8a06a94f9e3b2d295e521792dc72d3e07befe8addb461cacc410100581f025395ef7f5d2c6ed1f53a6a2f64a183a58c732802c01ed0da660c91cb7fab4101039fa7ffae71ac764a2c7c5eccab362fd651e1682368531b0f1c9b9846b115b61300581f02b6a0290661c8349048a6a7a52aa21367135e963df218a2158be88dfc65cd446291ac1a0219c07103653d731873e683fbbe024519e556fe0864105f8ec6f84e2e9c14cf51f483a6530339c3ec591166a0b90aee67d1061d4a1e30e1ee74d09d97dafc01b7d4b8a863a403481b83e95de77d5606af396fe65f1d360648f335b1f97775bdea74fa7484bcf3033f1e9ee4d0ea23f044f046e4e51d12dc1b81d71c4a6883ced44fe4e84b1d6a4003cea5db996feda04219ad02f0c388cf60e666f37f188e1c6b38c519471a693936005820031afc298d31da56871d1da50646f5c518681879c61a40719acd8c03f391548058204f6f67610000000000000000000000000000000000000000000000000000000803818145ed6e98e91e98e9adf1248a72860a3392fb109c4760a5bd6e0862a18af5038bf9c68a5660f40102a65ff57c65509ba4bd32282dad68897c6d804ef4a4573e03764075da2e82fdb601f42c3a471a0812021230058f23b370e7fffc70374cd1e30219ffff03003cbf00f1797050921a159512ac170556dccb208fcffc013c21930eb8abdbc703c3e5a1185fc911f875beac96e162e122126239ab29df2622d2aa53999b8f503803bc7394f8832dafda0166ef2a7387d68188f4fee3ae819e4b9476be27adf8b81103953b1cb7b9eea04b8901cdc85b39fb7c3a77fe75017d270152fe7bcaf61d8df6036065ca7e47d073e0faa626d2c1f1cf560406848cc493b4ded5dbedab6cd36ff40373c1da8cf6c24dc0ea815183a405b89d26c25f9ab8dcbdd0750e0fdba9935c39038ff612178f0a5a0ca864af36d89d02990c4c37265f4e5d7904495bde82aa3459033eaf2b4436ede487c161b735175a69d1f3278df1d7f65b90de35c3c5777c996103cbb41549fc082af5000dddf8a2fd5ca20e7e4e61b1a7b9d6c0ba8dd96f86eeaa039eaf6ffd442077c098097d61b4f2d46c383e2717ffb35395f8d4fd64edaf86a803dbe81e6ec17e8a01860f6d1a9e70027b00017db891e330c0e268f453f0f434be03d6d2b1741e6ff7f678d9dedd76f4536b82126f5d4de0d22307b2905b1724d97e0329f041fdb8b574283ebbdfd40757b096b08b5b64b9d133ad148e5bf94e3b8a2d0391306a487c274fed31d3c15e591f578446c617bcd36abd606e532e233ff9383e00581f02adef19e240bb1753970d17edba03d5db82fd7879bdca3cca37c6a9b560ac54590045a31d0725e1092371a89ab2b6eff690a82c00581f0274c0a048b5f84c799ee3b2e2b08c7223bc28d6bfa73806e0394c690ad05854d3db4eceded8cc26ed47addb5d6b2e2f37cbb6e400581f0238440135d12500bc99da87d3a362380a623383aabacfc65b6aecd8877233495a94ec284e5a0451b400581f02ea1cff7e495850a74efaf56ae5ab06207dd7e646da92fcdc1d207eb34d3854b4e765beb8432f31dc81d851a04b77d526a04f2a0219094403bad29f21e0a0618dd01943c28ea4587e56cd3fe7af1048f0a3866035c42f072e0219ffff035873a6af4ed9881263da2a1c001fefeb69b9b4ccd70c670b57d05197309d7bce037b0a3cd561f2903508943ec23660619ce42655042f5c56472a7e2669972a35750383822ffa3bc30cd06cbdf5d100a1420b03b9ed83b5f6f6531f82a39663f2a08303fae8c66c17abfab3f0ba212eecbbe415a51929b189908ff9239c02631fc78df1035f5cfe5bbdd5c5023151f6e1f3ab9cbc4e47abb1fad8b01757f1f0795d80e905039f00e9dc222f01e321adaf0c6f73d58d1e4ee396c1df402d8c06a4ab871dbc5a0373625e4626b66b9443ba8c7d6042713b4c5aaca23b345837cf0b7684b387095f00581f02281d45a744f23bf38360889a4ec33e173e76f53fca20861df7d982c1ef4b58204f6f67610000000000000000000000000000000000000000000000000000000803b4c62c88b8eb87e9317e4aee930f2333b9410b660909daf9d0204c1958241f6901410f00581f0205dc361784ebcfedf180127aeadb6d26dc216583e97ffae2d52403dcae1b54dd9dcb09381c33782a30ea72c530b67a6251818800581f028360819bd46b08285f5cc902573bd1bd16ac4ec534fb0b8e3b958da8196e58204f6f67610000000000000000000000000000000000000000000000000000000800581f02d35d28f49e7c74053a462282d6f10c356b07a4d3aa83c0eb3f3418c833564301000000581f02e574790392f8a8de71843f80597b28dde17079359077cd5532ce19aeb9cd58204f6f67610000000000000000000000000000000000000000000000000000000800581f0275131736d3d0dc176b0fb342cf76676e59371f0ffe6f74f6b7cdc77bda9d546231d86b83fa1922fb08c3fb1238446efaf6b2db00581f02f936be2f95f9826df0a597714fda3c1ed92c669ea0374fd446e93e86616858204f6f67610000000000000000000000000000000000000000000000000000000802197a19032b2f1437d0420d52a28401f8ddb6198ba66ea4375ebf9ca15f68c3ceb18135e203bc8b994425c969dcabb61710c7107ec58bc02fc7baed12d25396959ccd4dfc6b03f666c8dd024adaa6875ecd75161ef0c8c06434f5d395076d0c2b6fec315dd9a7039e105705d0d9566e495057e4d9dceca7d0dcba05153523447f955d97e48b0d32038c9d8f8f644fc7a35e753d63773411ccf75c60e20be74b3c846763cf64624d8f031e10cad999e7230e5d12a429790ca03dd5f724cdd13b3588b518326f0a6e1b9e00581f022154737563a2951c416c5aaec7a0ec934399d8ec1c8cd40276153b376b0b58204f6f67610000000000000000000000000000000000000000000000000000000800581f02759e649bb0818bcb46ab0c9cf13074d2313da71658d11336d688143b889554202eda0a06334f33572fafb593f4600576ed017000581f02daee0e3efeb5490c3ee7c4fb304df66861811f4cd10374b62f112873056b54ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f0206dbb8ad6a8d11b089ffe93797f00c639ac2e4df724599a08722288582f0410100581f0374de7e6fae2d3d22857ff28fb6c3620ba05f425e8f31078ef88c074b35904301000000581f03b40dfe0e186434dba90ac916411affb6ebc05ddf274b557b6e441fe7fc4054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f03d1745c6ad4974ebef313d4b696ba16d6661fa5730d525d293c04d0b449905430f9ea8f3deb97640e53b7a844d3696c22dfe1e000581f03986464469550f6e9e23729427424e6cf40d4b3bbaa97c859883d97d444b04301000002192980034becbf34d2b3bc1b3b2905823d11190b8bff79ae728c7b6965d14fe9af02820e014106021915e0035a9076188d6bdf16aa457448f61849d4a130ff80d5ac6af200d438bc51af0e380219ffff0341a51ff3998f76e3e833a7a8d2ad2adb6d66742062d9e27d77061e5ec2c9ecc603c4251a49ce9dcfc575076831f2cfbc1b0ed2cf87bf3eddb069eaf987f0ca48f803d49a26aaa75061275c0e084e0980b0c9d3f595374ee87cf1c271dd219747a0f803c986e631cdf9ddbce5e704e7647c723e003e667f6fee2cb2106e184e724fad10030e3eee094ba2b84eeb32fb342632dd19dfca9e97e5df51c07dc18a74a9db70d1031f937f6bddf21730a8d7539fb012b5d26ce56007a4bef8fcc14d7b31510e8ae803f806dd056a1182834d41e12e7c217e5b9cb20bae541d680801a53b27c0a2debb034f3b46006abe638140bc375ec0f4537de8e8a1f2ffd0b07207d9a309e074bbb100581f022c7071dd500bc6e87fa1f38d3aec2471d5940212e2fae49d05617ddf9f384461f194c500581f027fd77a9db72990ffcc4990693d6dc282ba6db5790d7e60b1e3a1fb32146b549a52c38241d5b170c6913416fc6e8dbcb1cc73de00581f02906e3830fd39243a76681b4c96866cf4e49f8ee93e83b8acae0aef3114d4547bb4ea1d6a1006bcc443345794b57a23d85ab528031cf212593c876f9044f4c7fb6bf8f9d676d725b1f92bc86e7856bee235e9f11400581f021ac71ed05ef641a64cd022a83507cbe0dcb8b395d15b9895ce3e1650fdbe58204f6f6761000000000000000000000000000000000000000000000000000000080219402b038bb3967089773b877daa80dc2000740ad5edd185912410e8e65abf424b30715903ec2bfbd4fb843e59a422acb34dc9aaea10e47ce94b2d81e3f4c17a317d143d620373e7e3b79c208bc3fd8a7643cdef48c9ebd0dec1eb6a199138a17b0a4f3ae4dc03676a2cf399ff5cc725380f715b897ca9788f4ea1fecf75f4032df06527e0a7cb03919ca7fcf858f06edd6d26e71b2a163eabda619ac88e1569fad675756919894b03a31f29082680a3f17cd1fa995e0a0e0b5614edfee1fd14af0a1665fd191d262803824db6c02c46ebd8f895bc50bd2d62197a99499dcfe951818b9d505b48215c740219ffff030e8285b12b651b3b575e18e9216aac4b0785220826c2dcfce75f369f6ddcdbe60219ffff03f93b4a50bf00b511b3902fe206eef1716fe3ab244a4aaf535b3cc2c1c3c459ac036c2c7799ccfed602d21b3304297a03ef07a553a8642e1417890d72c2f9136d90030c118239ea1ac67130dcbda922d031cd3da92137947d81bfbed75df75dee349203dd185cee26c41203f1604542b89e2d7174e8a35509af56fa256fc4dff7c5c8a1030531c2b55090ed6744f40667fcf03f1fc34ab450fe63dc84bcbfd671b40a6b8503ac1f8a06698b8882fc5cf96fa443c8fbc123dc1ae226cacf30cc5f0c6bf364d70348ae607fa0b76f7281c612530e50ad9c5596c03f8b45bb2cf5b9c6ac9fa028b803f2a20c3e75656d93de2f615bf624fc75ce24ab16bfa0ae81dd15e8c0d5453fa103398407b51866a333f559436731830121a277c8bc75469fb986c6cc6298a7c22f033ddd8dfe06cbef6c75817a59463fc4f224757cec3574904faa639384e6fd080203f0fd759a943b2d809db9c5ba6b846247568ebddeaeababd900173e718d1afa1f00581f02c862b422bab9f5376e62a5122a78376a10359f4283029d70e7679c6cd453549a52c38241d5b170c6913416fc6e8dbcb1cc73de03a2362d18aa84f7edc130bc651ad0d1689dbc05a2cd810d9fe6ded0eb4e8fe15e00581f02fc9fce2f9c2455b92b4d6cc690aa7d5b611c61a6c51ed36679ce99f3071c5469a3d5f2a91a24bef22d0c59eed51a5fd3d43d7b00581f028a4371cae767450a3dfe21e99b0f8a088857198cb68d2cba122960b6c75d58204f6f676100000000000000000000000000000000000000000000000000000008021914a0005820031588bf1b5e1a46086c35f8d064e387eac059dd3062853d595765fced0c650043010000030f4dab7486db784ec9704be72f024843ea3741231a08f613d8f3a0d942f19a15035bc1c6e5e8dbdb779f7dc90a758e62da5a1e07b42bf0969a3b326970989b485d035e76a1c572ab8401e31a8018d42c6741be1658397b8f1dfdd0985b5c9c0e30df0219ffff036d3429201cb29634f95ea265a00762671ebbc91f2eaf038bbc731bde1c55329903a16e92dfd4486c23d6cfb93f12b8fceffc2db9a789da0d2959e37a46a12bbcb00310a81df11e225ccc0a43a7afb9f12c30898004e3407f760c218f48fc1e5037bd036a4b807c0a09dbc56b7c75359d0639372b861265a15a24a0c380ad86fa4033b203d3b6824ef3f507ee8ef053cf895c17b7c21465f067db587a4ac0bc3efc0643290352d5700bae177e17608f975978af073daecafb45e3777cbea9e1203ef08d6e66034f3b37393210e1fe4a9ca3ba742d7035390d4984b141b3596dd2711638bd49f3032054e38bb0ffff973e98b44b48788f28fc3bd0043d79168772ea8316ce7b213303411cd2e1d3a1b70e1d07a22a8835c87b08296b32b6c299302be400b43c7dad8103dc18b010ef0016fd93fa67b783923ad8c3e5b2e7e8d772d7bfbb759f2db20d7f033cce5ee4107afa02e7f6043540abceb5925636c60811016a5a255e4a846309e703cf8b12c3782a6a6dde187d56f7998a086a8217e299541c35b086520bc638881e00581f0221762e9802b84b1e51fe568c2ed7d3cccd59ed054a2a75aaa04791ce168558204f6f67610000000000000000000000000000000000000000000000000000000800581f02b0d14fd9a9532b4fe057ee1c38b471462dc858f44907f9f752bbf41e21b054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f027bc8b02576c28ca5ec9e1163afc20aa4ddc44d606b7435b149d43cad06d958204f6f67610000000000000000000000000000000000000000000000000000000800581f0213392d5fe86be70a8c8cd832ac74402e6c7f9a4202a4473cac62a3ab62cd58204f6f67610000000000000000000000000000000000000000000000000000000800581f02e48360a054d9d71854c44489e87afce562e970d158205caa1edc420b460a4461eda9e600581f02021f68fe6b786d302db078b77a6c3f55fb88c09d2dc36f531e796b66a89854f74e29a292fd3b32dacfa792a29130bfcd82bb5803901e98d5fe7221dfb2e5320c08e78f190b14c47a79934bf878a7d9ce556d6e450219318d00581f0211227454beb133ba59d0b9f063361ab289af6c4b21e192585fcea1693b5458204f6f67610000000000000000000000000000000000000000000000000000000803f214c45de0cf4b24f48da161572d98d6d8963b666689bd6790b4c1cb8a31a45e01410e00581f022a10d525142a4bf28e21c0acc98cdad600c0e533acb02897234a8752162158204f6f67610000000000000000000000000000000000000000000000000000000800581f021b3b52beac7f46c28125517ec9dd9c06e259d69f80459f8feeb1af5237fa410100581f020737da9f0f407ac5df2e91eaab2e10959ab5b38dcfee3df19ea1f759b9c14301000000581f02aa976e1d8263419e831ca85b0ffb58868bc6b5cc9114f799fe6415c4097e410100581f029d0aa384cf04c63522c48be38141aa65e396886935bbd1d6c828d9ce7fb341010219e0a603afd66ad0a6995fbbf11397468f92d875ed274fdb8ef39e8620865b16e71b758903885abac360a6a149aba4a54f71d21ddd73531c50388e1fcb6d3ec2839e2ae9a203c1a9745e59ed4169d58670db045b5f972c36d0f66209a948f898f1772dbc24380219ffff03bf18654ec65bb1a0048e38ab3e023919f11d3ba05bb0507ae341c6dc5bd2bee200581f0298684997d39bb6a6a9e15c2dfe45d192c5436c8d9827154187c8a13e18c5546126fdf271c70eae8e7046bc0d50e3d1c0b3bf5700581f02e4f2244becddba8ac59e514df10e681678479f45af6656ee868c9cd754e354b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02ec782ad28cb8c73efaf688c4f50f5dc693df8ca7d7f4162a38c957f4248858204f6f67610000000000000000000000000000000000000000000000000000000800581f02da37f5fb95994ed9ea8a39d51e2551e7e0897017170633af8076ec3eaa6558204f6f67610000000000000000000000000000000000000000000000000000000800581f03e01dbd3f15207ce38d31e6594a935bfd4297914b87b8f04152c789e0059054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f031f69bde04f6919e8ae78aa64f4224d7ad029c7e14030e41503e0c5cf5430543774e7f83498744211a8caca877f2fa8070fda6302190180032cbd0665e016f49a4eb1874594511ff397d2ebadaa21d14d29e62d14f2f90a8900581f024278de27f87582f05a96020e8e53e2a6fe774a10afdd2e3174b798de2b9158204f6f67610000000000000000000000000000000000000000000000000000000800581f021534ad0aaa01944468ac2b649105e0db7ca46183d187126580f59d01265058204f6f676100000000000000000000000000000000000000000000000000000008030913eb5c0a81cf26f57aa1d4e6a36decce2bf6a756d0f9176177a4314b3652c90219f33203e838b0553339cdb9bb279f0300dc9749d9503a34088461ec1c84012c5f4e990b03e6aefe0dff688a730d26d8d012fda5162725edaaf1daf0f1e8934f9f1a2ac37600581f02b5379a7b6b55594e73a4c341f094bca85dbaaa4ae343f718745a891cc86c410100581f02249ad1c7ec86501965ef55ba531e279489a280314a9a61e6e2495b38dd0554ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f02848e9a41c01f74e7946cf6b96d5e0e5e841a1b485266606ceb055b3c3396548a5acc1f4308a5956694421859e4d93f1ed2b1ac00581f02bb18a41ed48d7bdd6e88cd967fde7ef752fe2c680cf8004152c7ccf11dbc410100581f02f1db8e37545e562f482869ed6cc0e5c2e2baf2786f18d06e4f40e37b2c03546dc347ca5a6efc227c88d5baf3799b785132da4600581f024ddb79405f535c932659ef6ab8a925a6b7008cb66121d1b7d04ca0bb8bb64461f0b5f50219625c034960901636351e55f002b130c721896a54522ddd5e97ccb9cd9b44e967ab0f2103c699bd690d7e682c8c799762e3fe5858d7ba33431425ccb55693e2a8c3ccedd703746656a3db8b508ee76edf29f7ac51002f7858fe6f497bd9e8549eb5c4104c7703f634607fe4dfaa9a4aa8f013c2ace4f4b8ecaa2c47998f2c0c8b20dfff3c10ac037be309318fb885d59a25c5027f03d192f61fd7e1e9808a5713208de499bf198c03e775e12826c622d81ffcfbd2b839877a5f667ac0e15332a409687abfedb1d61d0397f3882103960e7994d36093a819b17788a5eb6b8562f770e12d8966a8c9c1b1031ebe2fac3373beb5f201773555207149d06ea96a2f49f8e784c4e9e8a6b6bc0a034d647d3f6cfcbbe4b519253ac312df8dd3645d5c9c3a9e6c7f406a3faa34b90a00581f02448719140b770f4ff728f05b9df34799878fa429005437a4fc77b58414b8410103744fcb177c93073d5eadbfe524efb946609b55b62c04195ade5fbe554df8ac8b00581f02433b914ca018446934f48e7ad8b2b9115d00bf5f6253a14de3bc7d96355254851b0a003bf1ca98ee84028848da1ed69a50cca700581f02e86317c38844915b053a0c35ff2fc103b684e96cef2918ab06844eb51aaf447645e18000581f023a54c277215be55ca4992e2f102b277f78543518077366ba81715cb5ea7d58204f6f67610000000000000000000000000000000000000000000000000000000800581f0272e461d5c3655be148fa73ec01f981ed9b66de0afa3433aa3163b34ea67358204f6f67610000000000000000000000000000000000000000000000000000000802198178034f5d425ad6d62a4376a832283740b76d0fa5513f173858663146b0be6250a5da03dfeac2e9feed4e40170e48eecfd90cc946608ca3d7274ba1ab7e3c15bb4cc5a70219ffff0333cad62f820924a8cd356321d30028187bf50703850c8e558903158fe2cb3a8103b5a8b8fe944873e6a9e728a7b87761fea6f713cde9da3623754fca2405203490035c7419af02dcb19e14ea44dc6d87135c488f0e8a298cb33597e774e9aba7c6410364d888843ebb34bf6a2319229d787cd700422770f7318d1f349ba17a69f390f203b13fdb526c7a1296d97ecd2122f6b2959ce896d8527f32d46cc8e041e438cfb0031252713b3283d02eb83a909b73334848d9b15ac0bf9fbb82f98458985826eaf103e0791375b0d685fca3bf556ade55420e0080945257e96a60ae452eed93a97797032a3712c971f10a3db184eae5f24550756acea21328e1a5b24de240ab7d89cc1b03cbea20a1f24e5b4dc67a52f935c2de0e6399f0f868bbaf1d326523f1e997aa2f03d90a4a4a6fd343f36c982f5362cc3e9f23a64d0af3223753f01d58287346ad8103544f166f1c211f948ae569ab018068f164564e44e952395a6a83c036d85e8b7703ae20ab16bfd4422b4921e710b3f87062fbbb5548c4e755b78bd06926dc8e54a40318c784d90cc29bfe639a8ad0bde4fab4fed437f09dc278efd3f72de0791ad661035005c13d7f8c392a8ef796911da98dad0909a91f31dbcae9efcff27d5b319a6500581f028bdda5e36bb5bb7772f63bc0d2d296b6c32861ccdc0d5e161c401d3603cf58204f6f67610000000000000000000000000000000000000000000000000000000800581f02bea59be5bbe9abfd210927589210c22c8b2452ea1252f07fb51a7c1701094301000003ff36f6488a19dd600b68f2eb489366f1479f35bc7bd98e485107a593af84dd0300581f02556109f704befb8be6d0789c52130442faad464a8c5cb8097657f9f23ced410100581f02bd85175edd09b0434a317feeaea7063a9efdcf02ae67fe5e7fca2832fe55540874cfadd7102c37a1e56498a327906787ca829500581f0200ac3b5318a1b3967ee63399af70f81b6f9f2f899fb28a1d17ffef18287f4461edb7470219272203e11bec3cf864bcbc4761a1d87e4c0d98ec7620ef2dd01f40c6d91641bc2f9ef103c1e8a6e41f5be48c508bc8b71ff2b6ba76021d3c1b5bcaaad6e27e52a0e2d11a0219ffff0313733766a518ccec6cdebd18912b228944d0fda464be4aa5389a8f2cdbd04aa600581f020e24fcfc19145c1bdec4fee4dd8c3e27be0b5554c8742cbf69b1c332d47b4101033accd2bae44dcd9c22789306b890f7ddf000f1f547143dcb4bb4ce8df388b3b800581f0341b701eeaa97d59d7b6d407a53a88109241db8d7a8309c0c1cb62e3901704461eef36e00581f030a046283878c7b17909cab5953c02a421fd82181f5310ba3d1696611448041010219010400581f0240c607294e9b8357e6967dd77fdaf2a84f295492df4bdc6a8c06e5833b81410100581f02e023f971b30cd366903bc264af6cc56cef74557e995d18c81e0dfc0383e15438342cf9de4b0748ea40a9c9235bec7a3372037b02198438034061819c265d1038b656cade5011d51e2d548b4d464c39c7f526dc314c32573a033fef7a46a08aef3340e28fb99e3e025429ca1822867adb17ad5c58358c6b0c2b03e4c67ac59591253e90637de73ed4f467ca034cb2df736224e8c500442f66093603239d3c9e48b9dbeed6f7a3f535119cc566918caf723d752e4e8bcef43262fde103d60529f35c0dd9d1a9967de41a1122aa29a3ed414dc610868e51e1bfad0dbea20342d7e170d854954e30651206d828ed21e4dd6a72e7f52035bc8954fcf94c580303f93e3baf4e067f7b143a28a2bc06cff74b9cb0d6e3e35635d7637debb681220f03efff01cff889a9c51d31d11e7324c6fbce52d4799b17aea325001a5ea9c717ca0388b4dbe7574a7f1a5fe93e51969805690f774be228888bf266c07eb87fcc3a29031e6a7687900c6865be36836cbe0b65a339bb491fab40128c3c1c779d86e642d303703971ccca1df9b6ea753c1d75fb7607d3a1cf251c2d59ab739311c546382d4003c3a32f5e181c1461d3b0db926a1d1acba0cb1fe8df139b2db8d9fed84e43a1ee0379c4b469e6d293e5d81f57fe582e3a4d4dc3f89736f8aad0fb9fce545fa8a83403363169621424f7ddd36d92aaca12c41e0c814a66f255fdb86d371f0e2cc258d60219ffff00581f02ecb43d35cf210ac6eb71a3026a348698e83631ce6e0f877dab0472f5ad404461f5969b00581f024a4396f82eb5248866ea45286e3813919b0275c66f5ca374e1bf720a87eb58204f6f67610000000000000000000000000000000000000000000000000000000800581f02ad139211bf7228b38fb54e0a02fec4568d220de62ac55c2fd86b5bd2e793547a41b12ae5c524db1809a8ae6d2574ec0c91230503bb2fa248d6ae49b888b78bf6aa035c6460232b9ba03c1f349dff27dd4d8f1b30030499bc9d95becfa94162d19ac168c190248f250fa30b86f2f7765de08761701e00581f02eb9f49abf0c9e8ce66c77410785a6615b12600cfdd31f10789dbdb6d25b6549e4ec32d0cb9663faee42724a5d194d1d7317fb900581f029cb35ef2bd39c6bad39036f85866e5c577e774d17c49f71bf059a54eba1c54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02f3bb8962f6edc07f6222416983f918cac83e144dbad41f8198607788d923430100000219f98103d0e7549933cd90659860d91f388b25bf017127ac292abf2c246c5d35b70eca520323902eae7a173d568f844742d2c4ba1af1c1955e797411f0c58e88bb631a2721037aade9fc5a52fe99cd9d22aae4d0f2e754236792b300f32c85e823ef9a0a4673033a1f4cc39262e2df6912b7e4d9797580f771c5e008a2270e245171759943e6c50393ea6aa24d21d67e7793ed92d60681973d42ebe46d54889fc828084faf48b655035cdd33a7dd667d664d245746636e0c6b4cc00a135e9f2e55ef83b6d11fa29c4c033833e6eb3f2f211409876f62081373682b219c095d68955f73c00b6cacb16b4a038b06d31635dcad955a59b89e936d6d451cca0ad7b6e32ec81172aa24a0ff279003c7bebede5a978b1607c3a4bcb12bb2a5f33042da5721a5f4baf0659679a0ef94039ceb5836e0225497bf7edccbd881037549b8881e97f34f64d11501b30d86f8a6033792d5886c221d59672424f7e72fb7b8694fd5dd6bb6b8609a61f25053e67229039548afad8c862d457405ffef93c179a840bc32bcf100758efff5ac4f55370eed03a9b17c87ccf738f7b898e4aa9ee44acdf7865806591ce053554b729d6c6f809003be67e9cdfa6e72b4840f1e0cdf9b45cf89aafe762f11456cd54c0a41bfe6eec80366ba6f335d7af08717f3d28d94c16f53bb6bc4dfea7092e5a641ac750fd59c0b0219ffff035f67f20f8aacaf46d90e1b5ebb8af359bdd6fe0a3046cdf0118d41243652ecab031cffb9828c160ad3eba3ea1d7cb8b713e65003113b21c3da497f438f0be8c864030b67271b8fea92426773342a3853660992974aabf54d68c40233cea4bcabd39900581f02773ea9649a0ff15f893d29b30deaf4f073c8e1405b8d08e87778a4a458c14301000000581f0272a591155cdd4cd358e98e01793a8724d368bf241e0e02638ae4b89f8dfd5479593b91f2c6661a270cb61b059b7793235bc54400581f0249dfeb7a81bb11395728b26d6f5cfa2350c7975131ebad873e14eddeea9e58204f6f67610000000000000000000000000000000000000000000000000000000800581f02fb45f2bac6b42eb6ecc63476f35e04da92cb716d04e35ab9ca678b7ac35654c499217baa7a0672f02c00634f6aa005e378750600581f02e7cbc75ad4a7f563d30ec08064cc5160b6335dc1583a3823f3df3993d5c954cd7b63ed620562b54cbcc9f0585e7995721f16a600581f02b3442c1e146d0d6a4e5bafda7c28e57d673148cd8b1205f5b9e74f9e61c2547d6cc2509190459d2149c0db903eebb6432fe3ac00581f024d890f1e2fcc26f434e724691cfaf4da6eacd76493ccf56e7a8f00426c4848e62c0f1dbffbd0f200581f0350816ac60b2dd20a9d502ae6dcb4e0b4368089959ea206d0f90fa08d4d70410100581f034da3457ccadd1c7de313d16985431e63ad5c0522ccc946a2b8e5c7a05300410102183000581f02da8d23c889bcdba870aa6942c610e06ddf62b6076ae615dd5f2fc8aa9e534301000003690e64e37643e5ec299f06329fc7376b41c88e2deb42beb74be7f74964246d930219e9a70322cbab172b77e77e435b51bcb9ae11587c1ab91a7d1171fe5839be374ea0fb030381574f6074739e5aaa017863a0763914707c21bd6ac6bf88c7235f45f842621c00581f02bd50b3ad28cd591f0c1b20020167a385169dd1204d39736d4c0593962a49446247c89600581f02a735b3ed4dfa3f6441df9fa7a3f5eba5963e5208155bbf173bcfb325294058204f6f676100000000000000000000000000000000000000000000000000000008039b518a653e3fa71154a7032de420695957f19e6bc694f3b6acaf1a614ccc86f7035eceec77ffea8fa88c38f4abc012b433ce4f65b7e392adc8e982da3d8290bf0503b88df66b373cf93456125b59d43f22deb36a32137c2f898fb4e40bc2060e45eb0219a8220390a4795f4f468f074f1121096f57bd6d3d1102ad033ea07b810e03c67ea0413703fe9a16754bdececbe9267ce47867dc094249c42de75b0b87adc9db98ee31080b0376c6b2484a41c60227ae826fe6f53b16ddd80095b7b1fc8f2ead287e0e0830ef039d08dc062327465520378c784b76f35ccd881c63fd22dde2949043f9c5fa2da1033ca022f85edcda466af56876ae7ca3bd2f7957b0fea9c574b1063c179c53bfd0035e2b03d711ad74bdc1b600aaf121cb82bdeba2ff98ad85a398687898d0592a4b03fd1baad7412a7cbdb36fc9b13b3fb94b8bd2b5315ee3de226c85912cf66bc98103a469e957cb686cece4d697d4d3dbd3138f33abbced39e5bb3630725cbf13e03a034c9f730c6674e02bea67c666aba429349addd90eaf49a588b06a10a86cb73cad0219ffff03eee2fdb1ae239fb1bf64136e17ebecc4ebe66c0abb9c61d53c3e2877ce206896037f1bc70613df3ad8cfd43778de62727c687e01dfda9d30232d8a25431dabd73303e395bb5243a11fd33055754bdba8e2abdc22ffae08584aaa42ce5adcf9317db2035f73d2ea5d76ef123492049df7afe165b913d03a644cc994c63edc78920cd52003a34b83355105553d6995ee39ad4764b74fd8406c71a13a3af3cab0f630ce134c00581f028dad5629f0b771d08fa8a2a2c3185781429077a651afccbd9c94ef72810e4461ee37b600581f029b67793a3bb47353b2680099794989f33d7174ecfce86e0abdbe330d9b6058204f6f67610000000000000000000000000000000000000000000000000000000800581f034d1edff019a6cf6ed90bc6df7db25dd29b1c5fc3e754031d7c5f964168904461ee2dd400581f030624e0228ca61145c7eeb9ffa67e6175725ade7a59a720a71c3e7bc758704461f861c500581f03e6c966a005904cc6e135dbec7107f7c59b106f0b529564e84385d7584a6054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219102100581f02392d1e4167702518fbdb2fb7f4c1f9ea3fb6752a2b4ac20ae44a061ba73649019adce273b6741561021928890385024aa2467e62fd0242e6c6503c1a47e432efab1c5d55c01dcd5bff275fe1ae03cc04d4c408de38f5b28c691a6c5e530a2f249960457cc2a068a4f3a3031765b803b9b6df665847bf6dae8c3e9ab09e5429d1b3b6edec475e5eb05997b2ac36ed2403fae5f451fee4886494c160d364209d07dc06f971ef795e2c685f46a5adb5222203b0f665040adde715191fd678ef5070dc888368c741e4fc1a347b6dbbfe5fbda203fbebf19ea48c71c2a76f39eb139116b9d1c3347638df4aa632015b5ec1d21a410306146b5d826ea209cd7e1f50809f222560765a1b356dda27e8293d8452b7823003921a7c8ab4fcdb4e3b24d694ec68896d1524b9b8218a264d5e47ba51a86561600355762bab6370e4fff6609e088ce23ffc092ae7789b0fda9858a0cdc5300b881c0322872b182433070fc7fdd7390d65f731b3e2103ff001589ad50f1f24be1b791203f0758c08741c989468505021b27506b86f1414ef9bcb61c933225d4d324e03510219ffff03a0d030bfd88fce58f38ad91b8fd48327438b3a6ada3602ccb301761ebb270a6603b1834fff3e9385f7ac821fb720f2021f1d3e41561893f58c4b43aaecb54cf0ea03b3e358ac0d2113a69be2f688afe8de4518e70c551017e499e0ccb8f08a941ecf03cc4fc516255588bb0afd13c3919184e2a97059db43d4b0e04b1fc50d55a54fcd0371bad63ca0237c43d7430a0f44e8418a1cf18a445d8a461e1c6bc4ef0b3dc72003eac5ec45f414d0b31addfdc71a4c9f8f43e8dc5a0673c5f4c457bcee6403a59a039168a37a0528c45673b21f0ee023ecae53c724f1421d101e1d3b565a3d8a62aa00581f028f84efce027873daea64691961af11e8d88a7025ef228887e142255f463b410100581f027e5d0ae933c96894788fe24cc10425a1211f01bb5c1052317456c37348fa54ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f0249e36b2912f8840c15bba3cc041b80b2000ba40f9429b161159933b4e0cd410100581f02620c34a59e81d03ca010ae97dcb941f5f2fbb2f044e601cb675e52b938d84461ed900d021912090383fee813a37ae176120e8af54f9f4d2adc80ed3ddaca17a268753a0fdc2c761e0332c212a747b1bbb38c9e4c9c8837556d2ca7dfe039836e4b775393145993924c03c0ca09b93e34621ec62446f3fbd8c4c41c7b7277a8905ebc122a95605447fa420319e7be362b1dc41ec9d6a2f52386fb5126950d56128ded0592e28d3ee357094803a8adb4e16cc685b505468432da703e00a6691bf56da796bb2d76d3464eae3a3f03ca4c69360c1f02884cc4c788c8ef6ae4efb6c4a90c653caf774cfeed05d382e203a4f1cfe15de0b7c425fe6a0f3457d8ffd436b5276e8ed16adad48515396b1aa60345fb10e95813700cbf190a3ca78e6b424e643e6e20c830297403865c7e5cad8703d4e22a8a3064166de407d924137feb9202a973501ce7ffc1201f0278938eb34e0219ffff0367b9513a394c1c4fb06eb68293b433441344cfc85b9a731982098ba4743d184200581f0223fdf241c88e243b89a7dfc15050faadd9b1e1d54942eb5719ad9c994e5d549610457fc388165fa49cbf25856830a035898eea00581f029ed6dbe44bf89de0429ff669c5ef5be9aa58b8f0e5add0980e832df31d6458204f6f67610000000000000000000000000000000000000000000000000000000800581f0235a5c0e63d2274b648c1c991c0016e20d94c36bbf46730e82241b676396d410a00581f0228f6b19cba7a0357bbd177f1408433bb57287a745933dc02bf9e4c9766cc4461ee2a9500581f02c4d86a31d11dcf656e19a179732463bb2dfe00c76f6b898fa256170d32124461d91ec700581f02f62a7ba51348746b2923a8ac8bc2794234fcbb3e5c0cdd36b10681a2a59944639ce9030219246c0385aaef0fb838688c22a9b1d1acf3cae2b26ce799c6eba662786f58a13dddefce036a89196cd1ff9fa78b6307361d32cd8e3705e4b12742b49bfaa6dc682b050bae03f469170c084aaa420c039f2473f98af5155f61f8355b6e1038d301ab59388e74036881c4594a96e02e03d9e0ec1f426d80d9bf2fc4fbd6b26c1e1804a1e74413e603dbc0f86e25be3e66acb0899e28f0fbacfa4482b2a45c4789cd5d76c1b8ce31c3034deb386b5dd1ed6ef728533eeec7d5f5b369ef15d3468770632a80614ed93fc7037379249df3bd5ffd89edaaec4b85ec065e8f973a1ebdd5fcdc9812a1a01e6b4303294f6fc30971bcb4e572f1bff212faa1a211ab585cdf470e5ffab057a05728d803af65c6c56149f5b700c83584dbade8796bf37ecb8a82f5d9e00d1c890b4aece503e575bb35e954f1dea34d6a5762ba4fb09f6d8c55810557249a981299270fa1f303a7dc2defaeda85fc15ca6d7cbc2ce6a5664ca79395a29843a2593ec861eca52f032ca38404f4830916b6c76382958dfb128b57360a0b8b6af0e435f50748ed2f95034d213cf2f8ea69512561c0557777923e3f81932f92d4bbc351c8f564a44bf1db034ce6425695589779d2495a65c2e0e9541baa3fafea2bb120d56d30dffd04ede90219ffff00581f026c7657ebfa081893f20e4a4c88f9c3b55c4e97d76791212e2852bceb71bc54ea5111e25905fd6a12dc93f9d3cec2b24618b92900581f02e257e2d5243f227aa6e51e5df26d4151afb7dfbdebf13cd888cfec3e0e8d58204f6f67610000000000000000000000000000000000000000000000000000000800581f026e9bb90025f2deae5ad59236ef35e595f53fee5d50d8db6c7e282367d53358204f6f67610000000000000000000000000000000000000000000000000000000800581f022f98613eb9f0d920f9ea920ac96a72c8d6bb75b101bad617053220bc80d358204f6f67610000000000000000000000000000000000000000000000000000000800581f02859bc5fe30c0da7714beea61545af4f36bd672c0d79bbdb554261f385a7c4301000002192505033a9540d85b7df04f6c0a68e40cd4a47a7e028f639d84045ffffbce17b7bd6a2c03763653c0a6aed0db771e0568a29e1cd2a338336e7a7dc4569a800cd31fc3e10603d4c315917b1ebb84baf50fbc5af5e4bfb67d414e70316b0f240f70b037e985080312e40c4db90ac6f36a42fb57b8185db96ae55728f7bde1b9431312c186ac515b03dbdac949968933073522fe158ad4e2bd81361764d87d720f2067cdbf231d59e50310698b1e33d98780f296721925fe707066564274a375266cf191814a33fb0fc7038c4d5a92b19d67bc5cbd28014ffbfd624c049bb809e02cdebe07cab53864dc7403537f087ac314ac3518b227438847a7c63b17f8d9220a25b3c9ca81f4f9f88feb03072918b5097ca57a4ef4787701fc8b4b766aee837c1c14ac94e10c12df7251450393291987786a6c86b64cd56a28c838c48e845af79dccf37de19e7c4a20e7084a03ff4c28a5694ea640957fd107c461a933847e318aeff2294b56100153ae7c526d03ceb4f3d14726db706e99ee11315087dabca3d436ef31dfdc05eb83d057133763037ceaf3fc7df4f560d75b6f4b60f6303b579e1ed687fa5ae7f44ea14b13a63b7303ebbe79234f1317766e8452e3155d6f430617b290209a0b5cfc2644889ac05fcf0219ffdf03e7cc90e4939a0338ba5dc497f321cb705ea635fe706a8ee3d503bd7b34f2613703ba76b5df558456e84b308fc91b9c1ef942bc367963a4e90004580d5724d86fa703e43dc8c6c9b1fef4cb407e3f33935ef12572a5d433426e40456d537a33f74e2f03eee37748d9e12964ce3e2dae3d92fc60a3807f96c70a3408b515a1b7278c388b0332d40cb34e5d20ae40c442d39e09cc9dc662be7f828c6c6d3dfd817df293815f03536ed71960405c820a24ad62e1da63d44c89487bc9d02a6a9bec8cf89b60310f030e80f4e252f16b61c0acc43f67b5e673e2a55a950cdbd744efb6656ed1fbc01d0358b7e7f30bd4aa80663768626d47742f01603d187530df6d621644559720199903894ddb12f20253f64a3a7dc3256b0be2a3e01293357b076735243dd0ec564a9103e04b9d90baf55c61fe974f631e79bf2b33c20c28473395e9e4dd14322d9226c60398b517f27655d14864ecc956393e7fdedbdc84f5e854d2f79b0bab1269b93ec800581f02849465a0c7e06d944d54c77e8164c9eb13013252306098b52983b35494604461f0230600581f02d1543c4805cf76ea7c805f7b441a93ebf1bf4d9948ef82749b28e71024b84301000000581f022695515ce30e8d218bd2728579aadef9687fd5e73d03cfc13838825d2b32549610457fc388165fa49cbf25856830a035898eea00581f0288970985803acd97d247af2ae25fb7a6dcb19568b82735316c20009ae069410102190249039c9b95505f1566553f17ea2371d461e12e8c8d869631052b9faee3d11176a32d037fe7a7fe3dabdb20ea76ad368bb039eef0af4183c66ae5f44a91f905c411834e00581f0227600b620a5bf4b5a268be3282f842310f8f9817bbfd015b9ed290d628604904a15139072592d7ab00581f025e37db5e1725e2922e4b30352bf873ae0883ae15dbd5803bdf011082f87254b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f029fb0f46d5aa4de87cdcec62f70ca43891e184e139883d8f65f2f5f59b05c44641cb21700581f02d28dd1fe6be0d1b79a2fdac531c7fced426f2b2baae1acafaeabc73c4e1158204f6f676100000000000000000000000000000000000000000000000000000008021950090311ac8022c50f064b5f812927eb0e78fa157ecb9b5ed116865a2a4b41166d3d88038ec327f02e6c125f6cec9ce6d14ba81a7cc8ea5ec83e282e30dff7895a33c3c30219ffff0219ffff03fada68986a1d7e16ad3f1d990fdb9262909782784689e928ee9cad509ba2d28c031fc20feed66a677a8a57cee0939c5be5eb588302d32d8c72ed0e3cb53b32860a03082251f6e1648ac662a4c1f74805b63c7fd2a4816fd1b12c29eded2f78a7e75c03c9fceb2bcd5ddea06a632a38dc9b0f79760d26fcaea3045f2fd7c0d2b23bbcd3032681519ebd9be76a5c8be845fc8e2bbd4d016eb56d982ed036b966554d12a7d803fc268b162ed384db8c9b75056fe8793f94961bebad6999657b22b86a7f61f3c6039f18636bec81db842225ddef4264ff61f1fdb35eb9729fe64a52f62c1b2cf2b20391e8a67740bca6e3d71a42cf7ef2785e25da65f1ce64f36674be2c93e5e57038031233d0616ab9163bad9da978034dba89d07c75ed5cec2d219edf9438df1ff97c031ac049842d9bac9a3e6bb5d69b9ccd7bf26d38305777a46ca354be87b57b0a0f0375d2fc6ebed4b230609df067018cff5f1058162be7c23349b34b45eb2424a5b100581f0201d817ef8d1ca14e049723d2e023af27e470708f828efcdf72033dbefe7054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f027ce2030541a07027ea9925d6ab35f4df966318b5ece9a07a8ae633304f7a54cac8ebfef76af031b71d85a1da9a7d7852c4734100581f02fda41e4980c962961cb50359da128dda909ab6c3eef4295ac4927f5529ab410100581f0245ae2ff0296286c2bbdb56f83a847c06d2ed2241683311ad66f52837ec5d4465e64ed300581f02f77aa4e09b543951b73d24a84c279bc75234934b74c091c83f85bb632ac34461ede51900581f028135320636f2ec63a4226346a83d305efb6870f657062d1db6c0dbe1a3e3547a41b12ae5c524db1809a8ae6d2574ec0c91230500581f029e797f9e78eae6a6938f254a9ef2b3a0891ea03aeee96d288124480140a454ae2461a7c635d9f7573a971bc5ef79d4111f1fc202196c5800581f0247f5336567dce1c20e52d8f83a76089062c871d383c8c3b323e8356ae3e85468ec697bba6b7485498e31da5291a0fb9941b6d100581f024b313f9ad94a0e1002b86080e7f830a2cfcffacd2cdc6457f88b45f18cc2410100581f0265bc55a5234fa045f063f76381a2d0387594ea75c58318cda2d0a069eafd410200581f0285b49d6c24fb0f05d7ac52930ece5594cd570c1ff4a35f2626f9407786b24301000000581f027c7e6faa92aa110f4f68ac40fa5b364cddf0623d691723d640f3ef36005254ed3afd345ee37b6a0881db261b0e9f7513695b3200581f025798252269fdce84e0fb5c16153732a1c19e5ae0522310ae494057acc22b54590045a31d0725e1092371a89ab2b6eff690a82c00581f02746c9799af54b9e1fc2cb18f2f96fddf1e43ecd399523d328a766a56a79c54ae2461a7c635d9f7573a971bc5ef79d4111f1fc20377e9a2327eaeaac058b1628d59fd0c00b2fe759153f2142b8b0bc36f88e7ab06021955d80338a2c9b7ba5b51b03425da8ab0c41d67084fadf38888514078a554cc00f79ff303d436891ae0466ab809c7f5a27855d1b5565d7e50906f83c05a9f8a4c189bce84033962e36b7bd56f0e7db4330749b006c8e09f6124077281645424af786156c83203848d91a731a7dde2f4061a8201e506ce5d3137515ae4e4cdb45c34a54e04ced90219ffff0357ff9f2b6be2b40bd9466aa2ac5c4e0e734c5bc9c1c09cf321977cb3485391020355e55b34f60595bb445ec8603a680f36d07444d3a0d15cdf37ef724bea31ab2b030ff6e453b0c56b1e2df674a0bfe1f2fe836580d1c1ede4c9fc09b9d7b32ebadf033a55d0ca12b0fd69f3e3403b484826386b705f021feede2c55f87c280ffc41780305758268ca042fb2b684491ebedbd89044a45394ddc89cf13f3aa88bffb0a1f403bbb55027b93a8d6b4116996bea336ded867d2025b001244e3ec87f00e824518d03dfd3700595129385931ddfe2b1aeed99c376992853b42032f2a993f22ccbb81203a013d1db3e312176b8005db629ab39aa4d5b68d73aff28d10bd488e0459f70e8033c0360e8d89727df7a117b03be15c014a570f9495469f736d69c1b7a3e10412e03d201f5766063255090adc1de95d505aa77d54d36703befab0b87e5e398d263a00330db7a22e98b3be06b6e10dadd6791ce9b1693e674818f07cb3668628df4e697031e99007c4220b5bae0fdfe6de8190af345aaf8cbba313b62b34b648e2dc01417032c4e80bf91d974c2688cac9c8362781e2cd625556e07f055c0875733c367351b03695eef7633cc4b29e4c0dffeaf7b5283c83630b3efb4a783ba9199ff87846c7103c5545b9f2468f0f6ae0a8b5f66cd82021f43a30e6d84890c31c423e937a3bd5500581f022c74ca1fd7f6bd24fe671a20613f82067c5788a2a2cfc6ddeb09885f0eb8549a52c38241d5b170c6913416fc6e8dbcb1cc73de034549ca7cc94c645e31eb8383f7dd789694c4fc481abd7408a7564290b849323c01410a00581f027c73b4e555667420b04684f8625a83c6008e24b1a9b5fb2fa61a64a11930410100581f0269c90e2ce84c84cd18bc7e9be4cc821ee931c1d19aff2a2ccd7dcf1d635e542affaaa2882f1ee08335cc038903e637d64e0b8800581f02d58e115719291b7cce99d1f3657678c8e2b2e8b2ec14cd3aeb2e228d92b9410102191ad403e7164f089c59b9b01f460743e4a992d1ae34068a8679a80c555ff1e6f9248925032e233edeab1da88e1511d78d172b03430ca3a54481965969524142c93d22691703927f51a06e1b129ec7fffb4d2cfc5f192759457b8aa7ebc89a7d8a064abcef8e0219ffff03038f31fa030a182f2e91fe8fb7cc1e96e89d9c522bab24ed4cca7ef44b0988cd03699d1e595613ed3df8336a4ef2ab3a34883cefc8b3888e1e5b968779dc15bf0d035980388f2257e6f90f508dde4dcc9f97cb4a5087d3d3619b25aee338ea2ed83b032fde4804317e8a1080a771adfef4559fea7b09fd85fb43fceaf1a88b303304e000581f023403d6c80c62b45356ce6a22b4e3d556970d99764262337440e2b6a80e9658204f6f67610000000000000000000000000000000000000000000000000000000800581f02a3568ab0c8c9aa5aea7db67bf54bf5ff48b95b1e262ffad6765e70206a9158204f6f67610000000000000000000000000000000000000000000000000000000800581f02a45d7f90def9bd8de891f2bd74e3d96616c0f27a847d06b43aaaa1cd5b38490fa8be5a829ff4dfad00581f02e93d079d189feee7bbf0f686abd49abe42a8c92bfcafb7e2ce1100068f68410100581f0228ed358e2cad14c1e83648a404825891daf74a6e6956110db141e6af1d9c58204f6f67610000000000000000000000000000000000000000000000000000000800581f02c4da0528864c64195e9533252a373bcf9ac29535c1f465cbe094117740e6544d356695d76a71736016a62abf75fa76cda9e7950219148703cd1cec24f58c3c33773da86cc181c1bbb470040e84cde3cbc828aeae41759cd4039780b9e9400375acfb78c5f0bad49d28720268c6c3480efc84d9d4c8e071d0f403339dbb14c35673be2cf1e18115870c6248a670af32c89817406caa1beb2abeed035d9d0a1314b1c26cf317a1a7dd521d72ad898c0c4d4b4d5a9cc58e40e43d4d11031452cedfd47e8e146fcc1ab273c40b48feba77698b1e249ee6b5d1196857606e03114a7996aa0a1d929f9266b932415ed9ef039620d98358d80d9e0f20bf96b9970385dba214352e09cab8d5b457e575b1e01a59b6a2ee4c497ea5f7e5cee9f07242039d16fe4c79e3314f9c46f766ed4a2dae521fde1a285318b29f46b9e40ce358e80336002b6e441c54622a6ba3e3b9208252b2ebd4a79375efab58a4659eb055e3eb03c208567be14bb251aac7dcca451528430f2dd1e327cd955b64c039065c676cc70378885a1fc39378eb47d42aa8b80155ccffe8520b3fbcbcbe13c314eaacefa81a0219ffff031fc8f756e689edac7caa14b99dd9e02e64b5532bce24a4e25accd4c042ef6d7d03cddff0e8a2c1b1a13aa97e9d4f068bf26892bb729efb1ceac541dabc221200cc00581f0215f037c7c89e58b51fbf30b82557c65ea86ef1f585385abda0079d507f7054cd7b63ed620562b54cbcc9f0585e7995721f16a600581f03868c183e31be840396a7d9f34a46ee12fc9435bca69ced60e6a88aaf52f058204f6f67610000000000000000000000000000000000000000000000000000000800581f038cad2f506515968d15208ab81dbbcab48a214147150c4dfaf8bf738f05b054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219900002198004034d021f276d2399b175d9324eb51827642dfb6bd2079e5bdbc28fc9b814a796a103905be5b186f824894ecef5623122dff5eec9b02fc58fa8a103df48afb879a6460317ed6409cb4fc62589354183392c4f8b1b869073f14e28649b4ec2fc1177a39a0361ace3c8efd01f02a2af6d363cc77f9908c3ee6d20d3f2e1a9563d5868f3404e034de43fdcbc05d53052e1ce9845d10547c538f1a06c79e25f4e0c1564c9873b3303d040c51898555cb61c83de6762f4bf6ccbc032f0ebd048c4fb154687f8451f5e0385147126d4428b4c9209389b1ec4d385233326f9a20c500a48b2f76df049fad203e436ebfe5a93ab17028809e2d85bcf2545e89afe0a0052d20c26ef857cc5f28303cff8c53078883d60e2d5d4b29b026a2a21d5ea8a3100b774daddb08134bb4e490306610d471930dca76fd2ffdd06388461ddcdccd7c9a377cd7c4ed84909e7a087031382f3b0520ea05feb3392047caa238439ce8fe173694ba513c4cdc7909b357e0337b879420932c3e1359b9873a78b8a1714e6e41527f82c2c5468a297e2038ebe031c9c3e28713b939df9fb2ff9d374c759fd563a08802b38f4b00ff9eeb9aab55f03160bfd25f84b6a7a664f60972d4aef7a8218c95697f1a64e44d6f0ed665fbe950219ffff03b23569e7a649125594b7ab935f8b1dfad64feec2771b1e154e79b1937fc6087603cc7b33bcdc9d5daa1e6fb38299f441d3a1340aeb5232714ac10ca5698ef211470351aa590fa85d28d0812f979cb1adb62c8a83a87a3c0492b2cf7ec94c34a099c0033e0b11c94dd9d5f1872ab907dc432ef609a1ea2e24d3eb7008ffbf1ba5b9c1f00357f3f451a1c0c30145b8d5434fb153c75da6dbeb79716c9de4257fdcd632011d00581f0212d568f756839c9684d4a3e88c49559205f17eed942fbd7ec3013fc3774e4301010000581f021b6898567dc5c38e4049a35897b68269ad2c89710309992688aa129bfc2e58204f6f67610000000000000000000000000000000000000000000000000000000800581f02f8b03340957c2899663f3cd6ad66f5b460de2b605996e256540c92098b14546f5b679e376deea6b7a0b7d544f34400f8ec99d300581f0286e316ea3a7cc6a8c6154791fa56b124cf35bcb8ea137c1082ae34880dc94301000000581f02619842880939cb370ee7f9f25c5d02c0bda0725d27ce068d7fac63ad99094461ff0e3902191ca003eb87df6b310b891c713883babc2576c928bf51979f85f9fad0c5dd973a88e34e034426bd33e72f44caef02943ed19550e9b77523181a8bbcc68aebf2cfc08d7d1e03174b35626648248f72f3a85629d40cc079f179fbd823b22f0b3b8ef6174e17dc03b885ebc687d12219e278e08b560ff7034f6f1602461cda7b4f2b80dc5e50bba003937583a02b4a4dc0d35464954122f8c185de2a01c9e1e2c5ffd664991a995fe303c5d80d8ae976369c10bf9448c228c2d08d2b69566a8cf1e500f9a870a4ded00f03344574407e0441ad37a329914b878627dbbc8e048b668e4a15b0f067c9610aca00581f026e9587976a767ec004b7000a0963b97a7897bf2322ce889442d1feae22cb58204f6f67610000000000000000000000000000000000000000000000000000000800581f02dc460f96a1f9aefb579a3172c6aafbd276110a2283270600e0cea6adba5a54d01cbdd01ac3e92d27c5f70cdc24ab13fdc2addb00581f02f7aa1a935e5d4206330b5af292c4442433e861b0c535662a71b0c5a737f9410100581f027d78d91cd5db74993fa5746c68b630f5dbacad6be94c490d0da6fb804c0549c2517406746a81115400581f023f1c1505514cf48d7982b13844655ce8a14660159781b576b8e9c7679a785404304b72cbad228721d84baeba563f36538a75d40219036603777ecc7c009948bdf8001a9772b018322c7371a8ebdafde96d2300e154e3bd1303df81b0effca2ba966dbd3c4296b326d6d17adbe9f2bdacbb20ccc1122142d33603f90eba944908d69e029899864333d5076a6094ab6617a02c85f3d895d74083dc0219ffff0329c0265717a462932851a36673969046185541fb48193ac82aa40136eb30909d00582003fd403a8c62c30f72b7b8655be10fa61bfa88edf3238925fbcb2062d5382640440100000003c5f019fd3cfc02c43ba91abe3df31cf2503d6d0c1015af31c729773acb42501103b6f36ed421082e95e7ac60f26e8cefb1717da392150cbb7348a02aaa07e1576703910bef96b00497e431dee08eb461d18a37686a02c315eb24734e42dddc8162d103c9f5f1b95be960c9b70fb5cdad298835858600271bd6d604e1eb6bb901968a1a03452f65cc3895ae4967c0f7cc9cadc108999e1d5f63655992d2ce03f889a9d2540345b894111a3c3b43cc5ef8738a914ec421adbcde42162275a5af8d93d492a1ea030f5b05ee1cd103991a39fedd724ab0c6ecb827c12939437ed1fa06c436659e6f032a5f785e4b7200e6b466dd092f6b64c2c67ca69fe98c825f2eb913eebb3d072a03b2ebf6eeaffac0789d96adbfb0cd89a4d22726e472b3123d86a6f8d34d0f629503b048722c51575ad2f6346e11151a76a11825d7eeb1abdee295d9406b4e8f786d03276057a1aeccaf7390cfae10cad8f45af7101584818adcce516962ca3a640a75034dd1f5f7fbdf04168e16a0453accf2de8f164fb7a6b11e3f4ff4be60673e8f9b00581f02c8e4e3bf59c7d9f4f0a323ce7b18d79181a2a3d4f5ef5e48e8cbbe10187558204f6f67610000000000000000000000000000000000000000000000000000000800581f026a6ca615800ee9a492855123e2f18c61defc2c857b5c7e1be63f315aa17254851b0a003bf1ca98ee84028848da1ed69a50cca700581f029ee6189c0f28f7488492c298c46fd8b854760782ba309614c285d245f10c58204f6f67610000000000000000000000000000000000000000000000000000000800581f0203965ffd104dc36b235015e6531d314dc17b76ed1fb5e09cdb50b032028b546c9f5052a7b6319e5ef8dbe96811ac48fd3979ca00581f026c56b111443a9106e571378ea80e35d9191aa0e11bb667ad8a44b193afb841010219709003604efa8688dc61593ac81cbf9cbb730d855dd9f195ba0f6e9cfbc981bb138f1b03a2799825dd89cdd868fe3aa765b59bd0945f1ccedd255ee0b6082ccb9a2f2e0b0219ffff037582b5e69f8462ccc07b47f9996172867398ca4a657214e80d79c7afbd20c890039d34ae445f5058f6381cd67b612d98c0ebe8d8fd3434f13820c0031692337ff803dcd5f81250ad1e56dad3b9cbf87472b8842b06ad9a632baef9ef385ba045572403f15527593e4b8929a4f0f4d3412a04bada4f4dd5245fd9eb54ee2cb7688158030303e031ce00fe928a0b853f5de791b2c301181063eb4f2f2ed141ec8b7df2350c030664a376cfedb57e35ad03d1561eb41bc459b84b74c0dfd07cadc01f241ea815039a12e38423cd0056cdd9ada85407c897eceb2b09908f2e0a776b59d9c46d951a035a1df29cc4a94ac40a955271838a6593687a803c02e0240df44f9d399b6b78450348788781c759087d75923e3357ef0d51b7bb05b2141f7a5530ad32e1526e02ef0375e5c9812131872172d3b97708be6a8b32e188ba5dbf7f006844694b360b64b20373c64a81063799e0f30de08350529ba1d18499fee6dc51229cbca020db94b57a03a215d631543b76ff9fe643252f3361ddcedd1e14df249d5da799d07cba73d67600581f022d19f538805339072c59c1f6632f7e08c1994d8a8faf10d1e6027dd5351748808d7a44ca7b5bd900581f022936332bb3b052c1379e18dfa51a1a8395a5c7298de6d12d5398887f77445451f4b112d09bf1572d48e0fb02d8e546806331e800581f0261712513d6406718eb41cbff724b649f3d6b64f2d3a09bf9b887729b324958204f6f67610000000000000000000000000000000000000000000000000000000802199042031aa86e99baca031ca04a5ec2204de841c714e7eb05b5e5b05b9b3ab3b96982bd00581f02ae24f461c9df6f9d1ed3ad912f2ace76c0014577797596acedb1f9376f9358204f6f67610000000000000000000000000000000000000000000000000000000800581f0295ea6c3125225d526cfba246479933c7b04917f0561c23b30e9f0c407e4a54545576c9bdba3a6111d1477dbcc0b60e9cea90e300581f020be8fce920b54c975d66a843625fc2ad6b91f0fc72986ab4a6f09793893f4301000000581f02f464c2fc2e8ffe2fa8a6f52cf7d3209ff4d6bd2b9a9c576b64516ac3f35158204f6f6761000000000000000000000000000000000000000000000000000000080219829003d0cf5c46235b9b744e980d8a75bbaf0f854fa68095a8f52154d00c1afffede79037288fbf528c8b6298d08c9a4b62ccf2691fd849b52d9ee1a64b0ddcdbb0aa4010219ffff03753ab1b55fda85a23a6ef9e3c41e19ea701a81962388a626b2b03ee01905c496033dc0291aa27403683c6b164d91b5231b7d66f3128f63144e289a28e093d9f8eb0394652a03758014e66980779fd7e48734cedb2c4c57c909ceac49ae8202d327d00327068e01cb3801eabf173de5a3e235f704bc4e376f02c59c8d7a4b7c0784b56603b5f015f419027aa62f0efffe35209aea32e926971b9cf3d2e60386a43eeb081203ba04a16e28ade7b7932378d9069d964e5a100f2343a36fe4cec9a4234279f43200581f02f0e1345865918cae5334212dd29148c519c4a042746d6c82ef7093f804d94461af51f700581f0289a89b5793fc802f54d70b81fd667d3321c0447c1d23fb21a610cb2fa3ce44662c1aaf00581f0232ac241dcc88af8865a0ecac5ac3755e2cae19812d430ba4edf79c83ebd7446630122300581f0279a739759843c019484c974a28cfbea22156c1c5efe15bd06f54a62452dd547a41b12ae5c524db1809a8ae6d2574ec0c91230500581f02c51b5b8653f528a3311f27abc03e21d44b5290ab047a3a645527710213d54301000000581f0294d744e26d34a919763bccf929ba14805b58b0a3702cf25028ef63b21977410200581f029d2e88f422cfebe3bc9396275c6c7ac574e6a9c6a47933cc9b1fbee409d3446590e6f70219ea5003cc6b73f013b500e0ee5d8d4acfa1abd8d477570b38c8b596975b1a8bfc44fd26038d0dd59c66255174d9536ee2338487d2e20b57e7fb6b54154283fd43c21d2eb4037346ba1fa79e33cc8ff4116df3f39b9c8aadea91af60234b8235029019776e8703da6435c19c18f98e103d21c7d73fa7da585584af6c3ea4321d1668ab35b3ce3d0315689f77d3ce810f5fcc7e2756b2be2d523b5056ff7bd6c15bb2951aa29de74700581f03696fc8b0029f44f0da3e213cedd5ac3de21e1419328250a80f7f8da73ea054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f03ef02b2eea4cf3187131ac8f88d3bc70eb52c93f0db0a7c284794e71c88c058204f6f6761000000000000000000000000000000000000000000000000000000080219840000581f0255f2c9fcc9181c3f02e422cc56cb550ed17779d52a0199a770212a0b70595419caf2b2a757e30df112328e93b7090ffb49a37e00581f02aa307d8a0eb386b0f9ba208bde6cd4ea22581b7c59fc5903df86df3ff1c754df6f3a6add540f8e628ff9bed5040ca09d075a0800581f025351a27f18ee9e547fd364fd77df5d20ed0b637a7afda77a24c10a04c7ef58204f6f676100000000000000000000000000000000000000000000000000000008021950c80315fe2d0463e457f3c65a44f32fbd7e33a76be51734a427351f21d0b20807214c0383733ae08f7dab7865a97ca025f6acb8846d9befc380bdce4e013cfe9483d41003e1846bccd0cb7b9f63fd64c55c3ca1f4b3f03e5774a20ef3608957ceb052531a03b7d5850e1af02d2912f398258928bf349c7a6958b4c588f2c7669da593fdb00d03172908694b4e887ba635c1c655569069b5035abc19d3baed575471cb1f37995f03c194273ce28444c3ff7ee8dadd49020a0586d6e9bfe6dd2cd473e3187b7718c10219ffff03a1d37f23c7db4753551cf76b431e61af5bd943baa53385f7550825675d2f190403f6d40a835e0460b1b0a411efda2da539672587f3ac2cc6578cb6666f7ac6a2d803b1c17c91b48462a2b0e5c2871998c54f73dc7bd9aa9698506ccb7b424c4d692700581f02d32eab1c6045a40ed6b43945c05b9cab0a099a8462c3509f2a43618d3f5b547a41b12ae5c524db1809a8ae6d2574ec0c91230500581f029c325478e3add44b82c2700d81eba175309a678c3a245bf6ffeeb7a19f1d5447006451b5c25d4096ce8b1de1023a0ff3700b3e02198c0003ef3e7dcae3d320b7371ef7818ce5e2375634b441e3e4cbf16357c81f4a300f6b03d55511b1ef25c80aa4f433ca73e55aaff0787515f88aca5feaf29c74b078860b035301d50185c860275dd0443fcea7d2cc3d2bd5765b19762b462131d629e48d0603edeb66f1277d371cfe1518a5c2b72e7275bb0904ae6a4abd8d752315030d7d4e032332687aeb6aa5181b7786253f5ceeef006d1bfa8ba5d47a69eeeefe9ce9d35d03030247adbdbf12ae8b28c441a8c9c5321c41d42dd236a5a9e2adf1d3fb61e8c60385365a112ba423223a2c10debf2bf10606a0e7386342a4125aa3f762ecb0692f03bfef740dbed74869dfc25d620505c522d08a1505ac2d7edfcc5a48724d4849c1032e0a502f4dbfb89f52057c85c2343824cf942327fa739a94a794efe16f32319403a9a108070030587984a0584e9c9b5857a95439dc0e00ee50f797250a2a8353fe0355758b6401dcee0783388d8d0968dfb77247898798a5da2bb373cdb567effc840354d4eac864e7fde526149336c2884f4a839ac1b4be71e46b3b4f9343829b815003c2ab1d03fcc4d702abd6d73c837b12819f3579bcbdfaba1c2fd60d6df335550b0219ffff03ff1ac76c6cb2b135ddb714a1df1d4893bf9267890c4dd46f6531ac10f8fe56ce031ec56a29558bbe9797cd977dc15e8cbeddbf448102186cedd91d343e18c896ec03c369f359536201f8c3c89658fd9c28dc079c821b21fb50dc6f2fd170cb1742970384c2f7d3420ac6ba5e556a017e486124f64f3dc2e8ff4df2a7de17729c1e08d403672de6db399d245c5c9ca5b0e8a3fe1409b24a04f052d56658cc3bd35f05921200581f02acd430525b8c648285013be2e68d096b5cde34392d2882519f5bd70048b74301000000581f02409c14a1ece571e5bcc55053ad84b16cb256dececc269f563baa31c595b658204f6f67610000000000000000000000000000000000000000000000000000000803f551f219627085bb245a4cf7981454f5a21f26a73ac899065a1e50aa7f6fda2802190442038e70cfa91939831ceb3095e050337b9bd66d0273f03310810727b473d210d40903d3130d99f58b38fb4d38958ee12b5defc697ea5abc9cb47617e4964bce095b0600581f02679c63a739da686598ca92901e395338fa0f4f9b2c46d8ab481a3fe3206858204f6f67610000000000000000000000000000000000000000000000000000000800581f02d1ad30b398bcc045f41759fade76b837b8c0bf570cbd374d8212b73cd771410200581f0284fc9ac5d5453b0dcb7400fce91505ba319f09564051f39d6ebe9b11bd634910c6188fb8cf7f118000581f022ab17a7921c45f94fd492797551bf1987468f68477281b9c68b71acb9b704301000000581f024cf0c5d3937348b8f91aedf71df12b6a2501341e82f6dd9c6c301a64c58b410100581f0393e6283ceb4cd6d6df5351c9d9a758a1a56320f26bbdabd4a1bdd0a712e04301000000581f038be04604058e91de88fff91bcfade063bfdf7f6f1ce2b798b147ebfa64c054b4dfd420a6982be95f27fb9b1ec0c374690ebec20219024000581f027817b7be908f8aa1dfafc13df43cdd7af0a9018bd43c674d00e3abd3c9e7544bb16847c69acf11dcbe58726922083ff711bbc20219ab0503fc2af7211a5af241f05bf09a0c8eb793e7512888dda3721dec65448b824a8df703a3dcb5283381bf2220006f0312afc4867ee6a8247dfe482d07b2697777e4ca23037f3992ec4a7214ebcd089a0865d6c186ac37f99a4b39fc6d63ab655b34905e5203819c1509fa0bad741018269a5e7159ae2367face7caf4869ecdcf5331ebb6b9d037e531949c30cec013fd29469e92f2a365b0a9f4e3603c48d0f55f027eff001d103ebba97ff6947e4e1754821ba81f0adf4cf4258f8c75563839d32443b5747103b03b09ced96fb3a4d3188b965d041bdfa76d39c5018f0a3a51c6dcdbd9e9031d2700219ffff0219ffff03d5aec7b7f3db1515df59010e10724723041abc612575424cb12f9081abc6b7fd03fbedf5a2f42d40e4d0d545b4da6f013b9f2a7d83c02348cbe853798ad3486d9a0308d0693f79ac061e396c1fa1054c18a98001b8874cf622cc714a2097ff30cfcb03a5cc1866ec9b48e1f12c6b38039e8fcf074c7ad88f2a162c6fdbcdf4b2c8969003783ddb627a77f48e728cfb27a009d46e685e4b6edb580669002de7a8a08989cd0334c41936b1f87c2017b4e9ed620959c54bb90335455def10327a73bfe4d3cba8037cd9680ad35330dae785b3abf874fb2332b3e0bd2a058f80a12e754827898804035423805943a188a469610fd5df3fdba68fc51ecaf140619a5febd1d87e28c8a503e03c32ea4128327678d3bdaa620f623c7c4433383f460bca53929c4946f61479031857ebbd1f0beed4fe1f42f592af23107489d84e4132f5e95ddb65cc1247c8a303b643e026a435829361617b02ee4dbda0ce772f9772a416651a1402753d5e699203c90fc223a0b40a774605116c26f89e3c272c150da5633f44ad456f4861bf705003c978cb89df3545a41666f7915247561d8fcd30b92bf399b9e6d25b812eeac9c403364b0b5955b7d46626cf88651f12060946424a66a70b3fcdf66ba66744b0efef00581f02ee3c6d03eee3026540f30892e6e3b64857219164b2469becce0310f1bec84461edb2c100581f02af44f19dea9a7cb3e09dd91bfd980ea71ec5a6c4e528c5b24ec9f08eb72c58204f6f67610000000000000000000000000000000000000000000000000000000803c32fd90eb8b000d91c146beff996ed863b6650fba22a8f919ee2fe5e63e614a400581f02c21eab69cf8f60ae4e2296d9693fc08bb5ed2d52b6abd4d623999a4f276f58204f6f67610000000000000000000000000000000000000000000000000000000800581f02861299cff07ec7c28d25ed9ce3fcb1bd6c7e9100e51f0de71516d42968e5410102192306030d0d9b19e1f940aae79077d776563f88328d9aaf482a190248dcce63c65ad091030564b566ab24deec8b59aaef2c042748d740b6c82b724cd1d95aee6e9b7a5247033b9cfb5fd3ef493b625389ffa7a376479b32ca47f7014684142c14f21bdd3e520219ffff032baae7994c784c83aaffa57d3a443360025cbcc2960827f84210180e0c7be75a034dc2a4744646fddfb7b714d9869f7702966c9ad4eed217477720345ce0501584032723a44a4202056bf2404a04354fa3ac612d27c97254142bafb0368984cca87a03099c11634320464f872bc411ee70ae4d4e7a6a1c011a0fce43acb2e2b50c65d403eafc422df4c14a772be6dd61aaecf39f54f51e9faff3d17edd505baf626fc14d034c82d6daab4c3095665543d8b2a25f00ef5a021937a3eb6295b1ca3e19efb790034c509730fecb4249a09b26f53507378fe324ad090b781c745a1baa921f9b5dc1036fb88cafca31c990283679ee4a79c10180778297069c8a691d7dbf9bf39290c403e602031a9fddc5eadecd24739a6dde1f3f8e1ebcdccdc48a8429f248a22f97a9035d88860fb63952b2c114f976729c56fe8be743d49d14685de6e3fab23ff8b575031fc33137e24cfcb283e5b1c4d1ccd2bf74ea178ec0093848ae067ae8b8e910b7036cec72827b1925b1936e5d7e18efa58509478cd61140d5311cbd2748724534b1033887eadf37cb680486e432458a188e34f6a9c9fbff05416f5ba3503f761897e503e6389177fd4e1314e0d1a70bbfabb0046248e9a261d847a7d9cca03ba28e43b500581f032f52c138c4c8d5f423b3e567f6160e941f6ba681e337858cfd158364e20049023276fdf1b3b1087900581f03229cebcbeeb379136af0f84b4ecb250846ec1d0ef32da5b5060b9bebb1e058204f6f6761000000000000000000000000000000000000000000000000000000080219040400581f02f00b92e79d5ec03fc6330cb8678a03455ede7b134c8a35e20a7566ef829058204f6f67610000000000000000000000000000000000000000000000000000000800581f023da0cfadd84f868ce55b1456152128e56d260394c2530b7fa39e8619365e58204f6f67610000000000000000000000000000000000000000000000000000000800581f027f2a53d0d635fb91d707bf9b66c19159bf39f8c64330802536a808a0f46f41010219901503b07ac90c9a9c7ef1856af9477f9e9ced5828c5f3a825417139dfbc413ec17ff703c11b1f36973a23b200fca2ef7b541b89467b3d148f6a1ad9c99f8898fc2439a70219ffff035356b864264418d5cf3c14a533ad17f22a07dabbac4674a3df58b3d4db0b9b0e03d123472cd4b2f511d11829d4686d9f8e843e8ecdd74d25d0c8acf32c99c6d4a400581f02fa2abfded94da530f168577b0a4e58d6cef17f1d91162a1eeca867cbf7ab54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f025a48820608a16a8236a4a521316c6a3a7d69784cb2e7b1070ddcf483ebc64301000000581f02557799f2906ff900efb9c12a3a5c0ac5c9224653d728e7c8922c39dc574e58204f6f67610000000000000000000000000000000000000000000000000000000800581f02da737259e5f6a0729bcf4d2506569ba26b2b4635cee8f65381a34bc67c4054ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f020f104daf234290288a42a7a7f5a58db1b6a8d27474b4d4546e574e32d139410100581f0243c43b5a7a93d2b23f25bae9e1841d8ec157f106f388e0b586347810715044662f18f3021981740343693ca0e82269f7dde3f77c50f0ef71d511de0a0297ec32a5901af0e90a647b03092a9d2ffd80b13967bb3e6e2cefdf1fe13731ee02ebdcb896f596e4250f2a3703d2fc093bc5d41e3413c7a95e19ec591ffe43166225871167251fe888c73566fa034982966aef7708d0de7b625b6c7bac34b0f0d823c163b48fd891d24ad1d5a1a8037ab917d32e49b581832987a9d856448370f03569b8c3517818213121321f5e0c03087390022de670bfd32806c0da8e3d3dcada959f582726891bacd97bca849c08032857637b1d2b0cee21b5535598985b66993a006425c96665e329275130707eba03506f86ed083f0cf6d246336d0cfd590d678bcf5913a3d23eb69146cb7c05dacb03f12d904d9248529350f42a55dc30ad20c0980f2c096a736e5b3ea63fcc2a5bdc03afb7f7525b85700d22e5c9c9a5305a1a1195c85a0f9db720311d55f8e006f5ed03cff8ba6439fb3d94e8ac0abadb0e7ce30cb6470548db5054cd2706c3ced37c690383bf02d4555c2059985a9aba5e6aa1505cfe56b3220bac2fb03062e9d48d154103d6f5465da7816b033438d904512dc502f9a97292177344613cec16dc1e2e2c940219ffff03977f11a46b810458ef1bca005cc6b202d6260373d16dc904fc99e1de2c0b90bf03ec38efda430e0c6ffde0546311a731483639a7e79ef12589c7b29bd94f9fa307035b5e2fb5df6d0a69ae300bdc7e78a912f65a7e8d7df187806b3a6cc56c9cc4790370331a21d3a7948d7068c3ccdf9d6adbb269e4aca0a93131cbd791e95f4d38f503238c03388bf5ce2e44c50a69b60d8d4d793b38752d6c1e75e1501a3213e707f80326cd47a736632e6d125cab7388d2043f5173df55659c7b7069bd17d949772d080323eaa5f2c44518fde4fa58447b6c063220eb6ad48d39feac88a65d58c4ec3e21036336a971378635879bd9acc361fedf67f88e375e32878ef704f8231bc8f08ce903f51caa49db1c02103a4eaffa924e471aef7b6c9398faf26bdc5a881a24b6c6c803b9b3d988db191fa16bdf38b91a40fcc459ce96780abffa25aee74fe1f9287bc900581f028517ca23237ca16bdffdb8f9ea96383356779e24611e7ea9fd2c889c1ca04301000003af60e7d9f676197c1b5f8294f7d6c06738785a169aa16f44e9797c806166e0a400581f026ceaf783545938281e21f4d9dc35c2ce167ab6890b35cada21278699b2ae4107030297c972c1c89a131c93c93062dd17355709ad8c92a1104c56504e8041da9bf70219204303b58a75e2db19eb68d0188765d71d5e29c86244589df3f00b32d4bda94657f4f9038aa0dfd42adc3ef359cd9803a962f49d483e5bf44609838736fd6b1fb2d08ee800581f020022b74860fd37a5496773b81d8ce215aaef72c4676f4c18c7bc075858e341020346c94ca874e7ecacac799fbfcca6a3ee78ce9cbbaf4f50df94aa9643c89f788500581f028894f02e001efb7e0a54b3d6c487f6fc0b6ce0c91b3e658c2104ba6908d858204f6f6761000000000000000000000000000000000000000000000000000000080219808403bb9a33673b14ba19d38ffbbdab307e57da38c959ac593786221dd6b504e3a094033c573c9e627ac38266c4032cb9f33c86cbedbab6caebad09421fa51e7e5183ed0373702d2c9d84e533e7cf64ce5a2fca78ec4e0d3613fef6af625d9889a4bfbb720219ffff0333cdcb9d07a32bbf1c13288dbdaf4c57beccfe0bcae443fa0bb6544727f32778036b8121bcf2b8b424563fce67522734966c2118a47939159e3c4a159b8d95a93d0304bc97221be36f3f8165c35f58ec323cf5a2bac14c00b3dbe3fd682ff4963b8c0328bd2c6e2684af6791cef2c54d36089e59978eec9ed2d0a0ff4c432bec079f510363ab99cc6f624d35556dd16919a2e6432d4f4b3813bc69bd4b9cf3cb380fd97a03e3f43d88ba42d83a7a5ce07ba17eab03167cf53a8a34fbcbfe00335dcffc4ca900582003ecd845e830c173c910bfd19dd31553abd7bd04243e3f8642fd6f1195150a8043010000031c9d625cb5cb77f73c8a514e3b0ae0ee9f760197e6bbd8a1b65ebc7f2039a68800581f020df015181927cdc31288a90c6c65fd1b5bad7cca28055ba89c9492911dec54cd7b63ed620562b54cbcc9f0585e7995721f16a600581f02fd29ee5a6305b31c75984d9a4bddb87e629645dc0b287f8eda5e1ba00d7a41010377070b6feecea22aae934454318bb532a45917b33a8ce9a96d5837d190368bc8033ca98ca3ead0f9f31cbf45bb9b5b6ba6d5f3796ae58cc53d62c722934826ea8300581f02a2008926ca1765867db5cce9116d3cf7f49a3eb60f12cba31c56e4bc7af9446275a0cf0219900d03fdfa5cdb05e0af15ce8ec5d571999e0cc4bb7b7f16bfc37a6b7e5715b4b941c0037c94f3f90d6dda83feb8254363c81547e9edae20d4230fa3f4648c806627f63b035aeeefa346583b6135eb545a8cfa85ebac5c7260a2224cd10a4159f9157d94e50386fe1ffb6a947e457fc376d72af6db708fb0b5593f81a13f0d1cec1cc177b598031ab49cf9f235800d391cea66f62602ad2fa296484fef12eba13d0c083ece62e603033a117f1b6bd3d59ddfd9b49746a9937fd3b38b5c0a986c45f5e71f77c73a02032568dd0b71855116a3d321435febba704a97d1b23317706bf4c475c77a3775040219ffff03c113304f97feec926221408727d8c60a7c378c50ef829b07b643309f53bcec1e0365050b01468b7ea6cf328404e0952ef6a210815507c79174b3d029c8314891fc03c9ade72b175210af09912af2fdd1d35eb251483039c1b47fd6ace0cd6942d0a50397e1aaf06929154ed29d814fd58f94f3372797bd605b97326f482dcec99bf5af03f385e6b16c348351d68bcab7ccc511ca9bd213587790e3af2896ded2a42bf14b033e34232290e90e402c7a41794ad40214f7a1a58a258ca957e5e4bdc31554a14903f85f86b8c3163f50eb0d28f7cfb5050204a19832d76162a8076346e7c5067fa80322ce1895189c634a4e0f752f0388c2caed91adedfb7762aeb7bce17efb5dd95a03b622eb06431e14886e49c9fefaeb7d5a85cf9882c6e4f11cc0e4c25a3687d2660361856191e9729ce4e1c6baed96ec545785d480b192a781a1e51ebfd105e156d003de19f27aed15c1a37802a040e1eceaa65bcd05f7cdc4669d0f83249b8754df83035121a27065fd4562819b8f47cff36fb8565374889e92f0f4b71af035ba1602f50313bae49dd78980c966e3bee3fd61273323427a3ee0c055ef014dc497f9af177503a1894a80bdc15edb744131ed9e0495f517875d903283b821d6e1d752193a7865031b462615328747c249599d7c8f780139e1e038380712cbd62101a5558b64b82700581f02a3c2b9d75dcfaef08e131da5db4cd9431a71707081c833061d65778eeb774463825c2f00581f02dda193bab6fe973fd0de40f89b836801eadd021bb1dfe548843f2c9685614301000000581f02450d3d403c32202ff8921eb2745cdd17ba0fd5d55f2bbed965b409bf9b60410b00581f0271d04b4b625e089e64e8c1e11ff5d9072ccbb8187f85414aac007fd6ece14461f0044900581f025dbd98d1084aa0b10db0363f506dc50e9e8be3a62addd4ed377d7608d17758204f6f6761000000000000000000000000000000000000000000000000000000080219470803800da8dd0b1940f85c60689a27b3c59a0c453f3f5e59ca6d587e34fd2f5e29320219ffff03e3301e884bf5ac89b0a8b1102a6014bb3e4bc74f6e7c2b99d7413937ede993ec033160c21f62c028ae27489bc21362680c868e8ced3df2907787f150798c893427030d4fa0fd6a98ebf7cea7e59761e52ddecf30be06ee2bfcd4d5e06c861f90a6540386ec17c32731aafa395703153fe777b4da957abd56090166da16011eb6e968fd03d5a619b63eab3f9fb0fe0438f4868cb9379b5d16272e30e52854a2d451ac6234037e2cfe66fbb0ea8e01a2c3fecc66d5e03fd983b97dd498bb63366bb0bfacc23003bf4b0d4992460237142760cd20c86770f94607e1f7a0e9b9629461592dd8c040038ac452b5e8bb9ddb0ace49cef5ac85cbe8eb0832ef8e33c0716b6d136a02337d0142001800581f02e1c61d5332c72b668292b301af72865a20ea3ac9107328682772bd34c17f540a72177bd459445e3e3b0a78f2ac0f724946796900581f022dea1c626b3685268035ce6ac386829a710418dfd53f3aa9ed7a0390ebde410103e141d0dfd53ffed2d3242ff5688ec9b5804b1cb62c93676ee81dff9aa58a186c0373742d6b758a19dd072750b51f63dbc446d84216b134ac19bc020897c4e6872300581f02aa9f39be9f5e4f9439d65f8bdf636c068ab4927b9c4818b8624caadb4a5d58204f6f67610000000000000000000000000000000000000000000000000000000800581f02e2d9a71c991ee39bce1c765a9db3fc8217501d56f8a3de1594704c37cd6b58204f6f67610000000000000000000000000000000000000000000000000000000800581f023f9e840f375f64983bb16457d5d638d13dc7835be01660c9c7d34096464f58204f6f676100000000000000000000000000000000000000000000000000000008021921be03f27d6d0837e715f8b5ce359d2a3e2ba1896aa5bd015dc323d4ad81cfde97b60c034176d788691e06547a42a4989eef92f31527293e05aa9b9657c6ca1dcef519e000581f02bc2771e949f1dbc161dd5d7f8a8236a7dc7301daf851ae8245b8e8aff5de5491990512c429c15def1807cd6a0231e5c868276f00581f021d869e04cf1a793a694ae28fac6793ce2e9ce680eb1740d50fa35e417a634461ee503700581f0216a220d9b5c755c2bda66b952949e1a92a05b5db94a9c771bc7265ca75cb54a751b9c7255d0e2ac70bdddec1044fc7657465cc00581f032a845c9eb8f799c4cfd57f85c2ccedd30952b9591d3a1521276f8694e150410200581f0376ede9f0c9fe3ea7a1b67fea10da1d6127a34940dff164d2af62d2a497a041030219401000581f02bf48cae839487fcb80b61ff90b615c6351254d3d1438af1c69f16d0ffda654f3f7e40476ce6a22bcc737c7c7ad92196f9c80ad03d13bfb6715a2725538ec2c17eb87d258117ec7fe1c744acd3cdbf3f3cefd8f110219d682036229dc5c56425f32de08afc11d795f55cb6cecb56131e91affe8fff2d8aa144a03f25cbf1149ce1c4f62bade4ed57f24309861507a4d7ffd55fb7fed185c24cc830347b88fe3d5e92d01578b971d0d6eda879ba063e35bf0a6b2b284e71d9b9a1f0b03b0a02293b6ce859399828acfe4a3487b86d140cd0333574726b397c9273067ec03b8604665275526dd3ce25a4cafe0515770b3a911cea22691b73b6071c0d6ae5e0323a0bf4480ddb8e861edb0efbf4997ab8ed6a2f883ec3d002ce467457c893a2303a03d27592548635edd30a5c0a6c82c3ade3fd3e93cf43c64d8b003240aebd23b0358a4c680e6da0159cac7e8101168991443ad6d16c80d9246f7cf13e1c35fbb010219ffff00581f02301b3e4478f408e097fc98396f8c87d517a31582a88da769cdd9c5c469aa54b4dfd420a6982be95f27fb9b1ec0c374690ebec203574f5ba6b1c7a8044b1fa785ae682613a997fd60b2eb50c54677dc91b2a90d330219108003773c377b8bb9540512439dd976e92d78ade85c484d4f5d92b9bc146d04d97b5c0342620f4b614a2319d9e7fdd934c11af740f2e512a5adf1f0d58a90982acc0e0203312b83fbb4f02482beb4359e5968072400cbfe1f84dc17b927c17793e4d449c203410ef277c114ac8e9e8f4577ae2a0157ccf56c64fa439b69391803b425296d9a030cc659b27bb6515fad748afddf993d85475cab161afddd51083ad0251740d6ca031f5e6585d877602668d30b1386a88ea73644f4d9821d091a2c70401d54a02e44039984087cf829c9d6b5ba3d00054784e0ba70aac9a60ded0a71068ace2c516ad600581f0297ea193a0afabf9a27009b339ce577901218231ac5c320e59e7d69be9d7c58204f6f6761000000000000000000000000000000000000000000000000000000080219040803dc5ba36133f596134833d082bc90ec46fbd6dbdfb8e98c9bc8eb164a9f3dcadc0323476595dccce64eaaece9dfe6c10c7d2f184d7bd06cbf7ca63ddc31b4a13ac203332299984fb364147f99f62d2a083ceef2d7e7f37b94d58ee7f0315670302eb6039389ff9984f48310d3709c6ffcc1d7efd173de9a89c056279e0c37f159d7ff25039191e0b4e81a43f40c038d97768a05382475ef448f4fc79b3157cec1ef0b4ca60311e0f8235fe2f2c3ebc8324aa8562977abdc3f9d544523144ca18e5040f857f603343468fa8ed7fc8760ea456a08f6e5e83ceeeeab8c89b963b195e1b03950423703c0f0fdeaea9636db478ec627065ee7812b5788a5f457ae9a617523f4e132621f0219ffff032088c13dab112a000c387d3629904ed6ea172f2b09b7f8f3b3d706ced8d743e6031c91ef2803505e83c83948b0ad4591e3330867dee4eca64e542e024ad7c3e2560306029625aafccd54bc53468058601f85b339ec59f1eb523e44396d690ffe9ca8035b65fe7f92cc7aee19d0a3ce99f74ef30692b516fb76a409869ba1479c36cc5103ec9fdc8d28daa38a241cd4dc6822b328fd5d590f6829845e9a2659904c24740d03b53e7b78c3e109ae87e9c5df43e1c2e15aa67608870b0edee1fabe687d873acc03129c0e1d288922daa5101a2957960b90be24ebc08ef80c36520ba159f4bdb23d03ab24e76fa434adaeb679be9db7205973b2ba926978f3594d7e8cb718cc9c3a4b00581f022e5c1d68d9977ade3f2be3b2ab737a57b94e393d90ad113d1d332f55a9d64301010000581f02b69bd7eee83290fe2488f4c93d7053cc2a3f37c6afc260e04353bbb6ce9443010000039b795f0d7e9ddf799f50a60d4d8a46d56670bddd0c514cea9037b4feb0c6a96a00581f024cd12939cdbeb8fe1638450477eb063106fa16508b4e2eb89cf17303106c54ed3afd345ee37b6a0881db261b0e9f7513695b3200581f027d7d9061481c44cfa1d8d3c70025e4b0bafdb74dad8e218fa8bb9cfa006054ea445a952ea0d0091c6e6cf8b5fba04a7d97c8db00581f02eb72815bf181af5214697caa3acecef6cc6375954a1ae96038a9f1e0cefa41010219693000581f02d54a3a84df9617d645e8de8d9ea9e6351597db320b4e766b3430ce50126658204f6f67610000000000000000000000000000000000000000000000000000000803621f472ce51999ea0a4c6d70b723b4108f4a48f444bf6b6f7b664e2122cac6b40353024206c9ccc7fa4baed84a23ebc9d2d506dc48f3580c2a1fc823410c9c68ac00581f02141325c0d7045790582c10933e5150326157f47b72a2c1b3c8dd14b955c64301000000581f02235593238308d2cbffeacdef775a26a2758149245ad77bf0d7bd304afe02410100581f027b7e5f4b711965647bb72bf6af63e6332163204fb197dcae3492939eb82e54215a3ae4063b51c12b1e4c8dc12fddaef2d3eeb100581f027062731222f85017af466a61e0ba6c5f23af426e7a1fc7e1a8c1c3d7672158204f6f67610000000000000000000000000000000000000000000000000000000800581f02655d6f08d3a3e5ae296f9cd173dd304fa6f7989ea38ad4ffa65d9e3ddb0758204f6f67610000000000000000000000000000000000000000000000000000000800581f034a079a4da455a1d1ac31bd0a922d23f562e1357fc52ff9dd516f037a42c054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f032d7c187cad3ff7b1c535009708a0ccfaa12cf65a9c24ec377af439be3530548e85ee5fad05fadb84f317578d0fa1989fee5b8d0219022000581f026897436a8c8774f3621b880266ec9be8d4bc46d9ca07041db1708e3c2f55547e92b0f1b5845079625c7152633c2c8940b804df02191bed033429fb50935ea7a00ba8dfa6f0d4334e42c239c645053221d45ab1c9ef03c3a9035744198b10b20bb83ef4a2b6d120579be77fe9068d590c515a97d998d59406f50369d356afa1dab167ab3dc52ce8c1672ea21729b0c7ca0dbd9732f89c0281cec903a9fbdd396163775f617f43b0abf7128886809a4ef0ba022828a58eaac7a8667e03c5fd49c9b1a7f8714aeae6e92f8e914a0f76251f74a3f619955426a65da37a860354bd96d6a9e5bf555339418854c6635edccd923c57b67c91cfdc4697b56d32360219ffff0353756d0eb47c59b5fee5ea4171d5e94a3c4e010ad45ca9f059469acaf14e976003c8357b6ed2959c14dc7d0ea732901638abd66c9befc7b81f0c6715c3c35f4f50036c53e3f46d58641cb46ca13188dc5d6dc9222a8da8cb46c55453cb4ecb1cd2a10308956ff5b73f3835cb954b50e9b7dd2f066b158b68783ea5c9cd07856d6e792c038280cbf9cba24a73c854660f785420c3e5716b161f9738da6fb6bb1b388cf20403f49eef4074753d644fa3c4f3bb59d2c46254bc19b3c0a9478d6bc6fbac1d1afc00581f02e43a91ebd2f076fb837c7248451751af9314384ec60898290fabfd3f85d854bebcf96eeed98d495f45407ce7017179738e3552035c521f14d70050fcec7dda4c39739fcb91b11ca52c0000375f0f43aad14de11b03a791f89be47ab3e91cfdb8eb93e7071d0cc32635d444e6dfac42110a5283646900581f02f972a0454feb9e393f7d2a4ab4fb4e776723b8eeef2fc5d6ece2459ed8d54465e1a1af0219448c03f87bdca5324bf36007280e6e326c4a96b4dc197833c21fd426d346d0c80aaf8a03d2c1b1f9ae7d921f6f2d254254ca77d6dc5aa0df96a66bf0976cd168f6344f2d03ceef368dd3bceb45bd88cf3bd0e03663e413f8236226deac619ecec4a3091bff0306e011c187cb91b8e1e35ab1326580349cc8e40890be01da488ac0a5990523d303048f50dae89a4b34930de4d5a21b9c0b1c32818e4315091dda0c6c7f40e6fac703c16f960a03b020e324fb0ddcb09c87c64bdd4f88efb5eef5a961d0e2d28add16039473628a90aa5340bda7a8d32dbed8c51a1d889a87aabf3aad6302ec9d86d7fb03feef4a9afd9244f936428045eed0d4cb11f341bc537c413461cbd447eee1015c03f175a20df23537afa2cd84fac77199916efdaf0439142cddb5fe60ee2f929aa403a9fc52ae010110afd6e0b1a89f03f34835b4cd7dc0e6794eb3bc479600e7031c0219ffff0219ffff0352e4241986f2f12603246e118263ed81173c4a675f33a907558d751c98821f59032b0e843128d408427ff4297d32310a6e0fd442b0f39ff4f4aa0feb762907d9c703b2b6fdef425a3520c1d0eda8fa547c2093afe30810490ea242fba77bf9b1068303f5ec59cd2098551e1e41a6fb85b28d139c25f976f5d8adf9527a917a6fcf9adb0058200364f48079d8f1d8bbd80d52f3385141161601ba1f494d868a8e187ee1a4ed4041030346dff4bd04391376a901e51b7db4098423190a93f59b39a19760460350c5da960335da0f2adc29ab8f5dc99baa8d5765ba734e6ecb987268647e209e1e557c6fff031ea96f7c0f3de3406797ec95b7ff1fac9d439911fc6bfa30d76666251ab8e3eb034b48c9a59aa03514b759aaf7fed9067faa9d4b718d337886b77c70e2c48b04e5039791b638f77badf15e4addd925a8900cfd3dea9ce40d8aa122dc8b5edb49878303e9a72f19060b31144ffd4e2f704b8831a7af797ec875e569ed85b55647a224db03710b56de6e2e57abd8c37dc108a53c4fed7e1af0e1f9a653bd716438317cf74703ad8d583dd0185cca7f9e4b5e416ba1ee0e1d5898c0f53724263ff9c8db55460a00581f029c836180edb70cb57ca4f7549f2d7a205dc530d104c66e38e55fe859b66d54a14323ad059d84c561d4bd299a8fb7cffb69781d00581f02bb1ea05833cb170fcdd535103e91f91e4cbd9bc477d2fab9e0f5ca01ffa9410100581f02754336cf12312faad3bb2c55a9ab2d96b1639f028284dbf65dd5cff15a45446473c8f700581f020cd0279213930cafdcfe06429a7c77b9ac8eb264a412fa68277dbd985d14541dc707e04b4db23beec21019593fe8e7361c115700581f022529bc0b1ab654556515f42854ecf726711d7cdc7d548eefd9ba4d9af0394461ee38480218ce03392e7bdc806559e31ba7735405888ed54355d09498787d2137e498920dff38a703b32a9e800eb3c8bcee30a289c33d637e09ac334034b1cb8cdebab0814a2c0e100219ffff039ae8535078645d484343d077a25b8e2b2e63f0f7f445fc9ea6166dbaac3a63da0350b906f764468e19ff4f56868771ddccb7618a9bcd5d2372dfcf726bfc97519d03be085a4885681d8f128d4a1b2fdbeb8ce294ee13b5f440c08061c94611716df303bdb81daf51a68bc4c1a94b8f474a5ec34a79f35eda1aab28432ee1dcc58c3fec03c1a52f5748623f16793edba583e4898c27c822ddc0eadba133bcb03c773ee72403f0bd59b0c97069e4af12dcf0d4a1fd1ff0c540c9f77de190941fc51de85a2e9203b76d24791275b85437f00e5bb05f8f846013621c905872bec04d29858825be5c03c4c4808adeba13d25943efa4b54de9639b60aaefd7d25d2e1d291e67b328a2e903429fc9068cc72f17fc54c9c8fa3ca157c2f6cfa773783753037008d5fb2bff030351853db38acc2649931e75f6d8c5ff67fedad4f28a07c140e96d0ab52920800a03fe4c434f74fd56d9892cab20645782875cc191bc06a5a35368e14863544228370349818883a600c325128ca123bd906f42a69585e814f244bd6fa362bc34f051da0392bc0ed8f2846ac2a26aded1e43296f46853941c0d57157a22eaa5996d9608d703070a7f52e92fd1ca39eb3775eff59c0f197b4769e82fa7ee7534a99299b2fa54039d954a3e865105c7cd9b2c9e5113c732f60280e10b2619f831188c1bd0a4451900581f02048c62aba9a3f9e3e3537c1b9e9322977cd48190a29052675be8ed40a28054d10a92535af8782e06f22ce3f71e63c44c2b4e5000581f02f757b35e4b2f5f9d380bec1c2a2b81b02c79b5796a1365bf702dc4fce03d547a41b12ae5c524db1809a8ae6d2574ec0c91230500581f0285a790b9f12ea70eb6b3ab683844b0db59234e5eea0c9916bc05538f635a543774e7f83498744211a8caca877f2fa8070fda6303ba5707f4ab5553c001036ebd0de2967c001f770e40f52073d4720f16b8e1e6e300581f02876aeac9cb24856ca8955a7a61dae3a5a009de0600f8f88d35ab5e370ad84301000000581f02a25460f536c65ebd925767ec0854e5ec16cfd8b0eb9cc2167fb2863a7ffb54307f693a05d8f0c6750393d7f869f561af43e1a002196911038af67ed1f98d26312fb2fd9d69f82fa6ae5869850ef4f28ff27a575dd22f6cc30219ffff03a621b973213e9c1d2001cbb773a2cfacb58b64e71b049b5439a97b8b7e956d9800581f02aef3387541309d0fbe767255a30b5e7d6b81863233bcdede13175ecaf99c410100581f02be91bffe7659aa09b286b384e6bef75b50d66bc0033dc9c72007f52e04cd58204f6f67610000000000000000000000000000000000000000000000000000000800581f02b10013fe9b5fc3316b9dd9ff2880edf13357d85702698fc685dcee48bf0154dd9dcb09381c33782a30ea72c530b67a6251818800581f02dc7ca975545272b15a85c09fd2e281f85e959622ddc973d5b2aeaf0762c34465d860c300581f030350f5d2472ccb75d60350e3cae5a4ffb2ce62c9c2a789f42c2543d4993054b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f039e65dc1db36c9f4f588c008e8b28e5d8190b08c37c3a3f4c645728cadad04461f7331b0219180000581f0206904b753f949166af578932f17a43b74b4ef93278aec2ddfffddea265d9548a5acc1f4308a5956694421859e4d93f1ed2b1ac039536e21a30940b1a6c96d1bf335d902e019292e91bdfcf5c1e56bf785915102402194ad4030ec05a8d2b394b8a7f132e2502d4ade65a8970142cf2089b6e3a60fb55e6de1703da3b2d06ee7af671ece573324a7896f3a4341a16ecd7be9338dc5393052cd81d038308cfade7dfbf0f5a4fd654360b64d740faace61a8eb25b1c80fee6b09f456e037f573d1a8f149c3ccdb1204fefad400b56fb04bb5afb37bdc1496afb2ed39bc00374850ef137536382d5f1dad6064e5a80d2eac2f8868dbe70eb3e1e4e22bebae903dc2c0453ff5e34443f488c913b0df008cea29034b58cbc16933efb6bb8f4dbf30334ca4a533489089e98a3d6764f67e6420668e119ef2e3c30542739e2c3071be00391101a30d592afb49937622506aca917de0520fe1e3d180691422d907d3cd1a5032ff92ee319350ea43cb499ad44de2041950fe5346aa960b5cf5451f5b59610bf0362af075f9963bffc319f2bc0557a74a34b303d7fe49b1ea2b7ea22d5532f532000581f02d11878211862266dcfbcd89f630aa8a60b0c9016177ef56e76b94206362a58204f6f67610000000000000000000000000000000000000000000000000000000800581f02d44977396d4394e4ab58e69e57d148f8b59d302f72cb3d38a645bd96edb44301000000581f02e37d4676db32b499a1acb044acccf2f8a191f7c26913cb1eb051fc078b0e4461ee262b0219604000581f02efd6adec36940da08b87a72645a6882ab07c7166b325e2148ee75569208e44621d38fc032f6a327af0d368fe6487545d41cd218e86d91758d17a3f2eecfc7b619bab6fa400581f02f8e26a113d84de94225673f9d09594f4a6c052f1dc4015699222364c9c5254b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02b0a52804daa882c2fe7f692f03930e91b87dc1deaec14595014c18cce24a54df6f3a6add540f8e628ff9bed5040ca09d075a0800581f0218516d424bcb3a9cdd933f3be440a1fde25c7dbf35ef60107bcd4117445c49143cc55c0aedd2350c00581f02cb8676ac96a8cbe0d224bf20b7d2bad220f3e80f932c496efb6e2496c0484461d5d1f803aba121ae98b54bfce25147e90802a98eb83822373b96a6fdc5548c257105ba350307b656530d02d2c259c0e2e78ea186a9bc849ab15d681a70735836b5c24b00530219261f03e35cb4eeca32980237299beed1441c9c4fbe4fe4e37f4880b133b42f98829ad703463ccc39384bf713b1870ed388b5e48994687d9987f021c074b2ab7e983d1a7a0219ffff03f92a635c158b8c87c4a36d8f8ac9ce9a20aca10ae672b27e544a2a8b93ebaf2d0372adbc169dc449b19003ba1e7c998526bfaf7abf90e1691242293c205473ca840366961da919929f727508511da1c255eb23c35dba0f40d2d168efe5febf48fb9803b32040c6822547149fade93cb2a06684b7d2900d8a8de4449e713232a8e37eeb0399878a05edfbdb1257118a776b22647bc41e29d2d659e8753faab9e9be9a75c103673489503cc3edd1301f590e7774d3df8812942158410e344118f0ac8650e4f60390a847d72b4e1a5dfbc45dcdab4bbcd485ee8476700b39b583101efdac514a85038a46e4dcf1026869193861cb0cbe9822dc76740980a3da27ef13040331cf746103a3ec4c60cd489096e7a192d7973b91c42fd4d6363ffb8e6747be00a16ed49c0f03ad80c8340e1f19a58f6d188ef24eb67f79318935cd64aeed1289431cc3dce676005820030f511297d40a3fc1e97de0a3b5f06a16a1dc4743658ce7e7728b74e22fe0404101032c0dc8d589e3b4fe5b82af3bbacab8c90efc509af22c7bbc97ea572b831fc52603b2590a5a15833116411d24f2d4ba401b4789cf7be9af4ea28a7658e42f263bf00310283d3a53730504e5cf9a8ee127b056c77857d992df4d82095565b100cd2dec03b5caf6b513b254063bd1400aaf19256cf09d0bc0a6b601829b7738e03eac46c200581f02ab15dabd0ec5450cab12b8d68f04071bd0f76f5f21a8108b0147442db6e158204f6f67610000000000000000000000000000000000000000000000000000000800581f0266cdabfe1916361266e51aafd5fdd0277cda2fd5d239e4012e3d2ecf7772490985a2fae5c8d139e100581f0219fca0a877340dea24ea222ca45077d614b5f93a6d1ba1734fc075d3f45f4461ee376200581f0211ee9ed57feebaa9ffa5dc38a2d0c38a3275c165892616aade58ca6bc33258204f6f67610000000000000000000000000000000000000000000000000000000800581f026a672ffcb2141746c6010214e68256c997e4e772dacc26e60f153ad40b7954ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f02c4cc210dc9aeb2d77d666c4ba148767f5cc750ea61fd2b704283bc770abe58204f6f67610000000000000000000000000000000000000000000000000000000800581f029773925a6d92c26be06506ccc0e11094016346ec18523c2d326e0235bc144301000000581f02703c669fd88be45b8e3699118d59d5df1f3a6f6bce2b048a5cfb527859a558204f6f67610000000000000000000000000000000000000000000000000000000803f3b32a632ad57163f82fb519076fcb01f8c5dadceab7ee70d58c19ae401328de021932f903d1a1845d48bcefee07bdd09769101def7f1481816007be691d805edd32bed1e00219ffff031e9450df7f058f0a4f4345520004f55bd4566f8d36a124dc9221d3bbeef54d7f0366f0ee2a8920e608ceb5ffbb4ec1f4bca169d29cc9379c0515238fa18c5916fb03917e64907af391562a86ffdce2117f1d5fced4e3fa5503fe4cc25094c321100b03c1932eee0c6e725dc7bda829cb7c8122fcfae126352383c5589f0b9a3bf68ac303df3c378a5b8f7e00968d7a3d88057698af5cbc526655156ddf48b3d2d95c8522034dbf234108e781064896181c9d12699fc8e68b9a0bfd7e07ff57b326dfeb6c3d037c20ec64f1625aed0b0c3df3f1945f52824d8dd81a04bb3c8695ac15cdf7a03d039421412a44ee7a7718bf52f3d5c0e05e67cd2df3fb0a4fb307d17be16038fedb00581f021e0a2af7262ebe98a7ce0432f5f2168bd83d8546189aae418079ee94a399549a52c38241d5b170c6913416fc6e8dbcb1cc73de00581f022752c7eed59efdbfc09807a821445522e0c26a3f63adf1e9369969d69b79543f66f66161e582f20e6b45af8ab88281aebd171f00581f02d74f9bb76991a1dfb15f5b1045b682223ab74e2c22f741d6594dec484d1a410500581f0210bf99b1f7924eacf65d3637826c28070beed327c9d29ead991acd8f0a914301000000581f0295f6a378c2c04cae9be44fa5181ca8fdbdc46d21b1f42582b0fd215f1e1258204f6f67610000000000000000000000000000000000000000000000000000000800581f02116327438c9472c2750df4a024fd67d513ab1ac82aa29a3d07427cf853e15402786c2868b1d50749a71e75e4c375f25182dcb5030c794bbf7ec76bfdf4c427c2e6882671523546f1aeb627bcb4a59a1678f6a7bc0219e0b40376b59ea7bbfef4ddcb0daca46d92c66cf7f37dfda7ee0b7082ab0e4467be34d9036e6e7f2191b83cbd4f00f1bdde1994da25fa5a3b533383378dae38fc78802b1a03c2cc4632f00eb3ef7fdeeed255d85e4fb6f81946028dddd0bb40c57e96058c79034754f9a4ab5ce33bf694d1749960e8a8923021ffbc9701999f2aaf917fbb602c031905fb0ee85528ec28b9fe0ed9d2edf0db1377a8b31db0f4e7d60ff9bd59bcb600581f021ce33f8ee7499999aed9bb5609970ba2e33ce33b802af3868f8e6a5ba33d410800581f02df19e76a9c89c84b9d603fcfc3eee0a67ef0801f0ea4c3972f2c26631376430100000327273f6a66f88272f1b78cb7ff216f42debaabdbf32da37136a3f2e019a1845a0307de4c52daa10266af74d6002ba2bca28622672132957ec88761f7f868d69f0f02190c89030c665c91cb7535029d3c34d3b0d9788af31a72d52c8dba67f0b6d82360d5bc6403ebd537303f055d5e226118b9142827a39967f53c38ae6fbd0c3992dee3e8c66c0219ffff030c19b2dcf15fc144943bf444a7f535107ead0093b910e303d750db7cd4e4eab70363d2266c8703e5489511c5edcd612355b68806985848f7832e6c82a9c85e1ab7033b01caf525ff217be1117de2bff53b7b9ccbf322cd36477ab84d7136fcced9e103791d3350b356a0ab13e0b67b5ec5db5b65cb199e6cccf39429a40e575a967b66037881417d02cef7a0c4eeb71fc782529d6c05d49ce70dd629d0b7563fbf2a61a20368f797924c1e7507d98b98a6b4864205ce74ad5f4b52c76d5d0e9c443ab103db00581f0283bd63481243561e8335ef31d33422b3a4f272cba583577f35a3041dc4bf54a14323ad059d84c561d4bd299a8fb7cffb69781d00581f02825a265cffec723948b0b694e7a5c9a08c7e3f83d212d4ba4b6ad291db2f54ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f02803f8ecf1dee6bb0345811f7312cda556058b19db6389ad9ae3568643ddd46d287fb79cd0900581f02af5e08f5da62c95f46482e5efce3c2bc8742a3054f0d7df8dcd9e396398e4461f5b043021902c40319753a8ebf15dbc4ae4df7983ca9a8da9ae2ef573763aa9c640f55496302087f0377d097974f3c829f166ec9c9842dc71f63ee7cf076ce3b3b5648d7c39c6725fc036e45c7ceadff476ec2f699b706a2f5cdbcef750c3c647584120ada91d4413c140358efb8fa67264ab005fe72ee04346b7ae71687795bec18d0c8c8743a916e31c803a1ff152a38e2cb58ef973ba2d765f2d5f83596d9f8ff39cbec1140a093397eab03e7b5acac04eabf6b6213e91e2e5b71d79bf162f831a7243d0c9b424a27fe2342034aca0be22c3bfdce94d6018021b3128c6a96ffe963fa3ac9aa877fc83857742a0361613f5bda04c6c080f285ae7a8e0dde6a28024dbd9fc55110e2209cb1ee059203ba92ed34122376fcec101dbef1095e54fc582b820eae78780d149a80964ea6ba0219ffff037ba9ccba245da608836fc9de1969017c71b30202b14b436a06353da9a104d1bc03e8b3285737cd20502fadc9c3f67b24db9b47b974e0b5b3a2571fe9759970566f0344e7aa271cf5b423e1bedfb077c812ede04907ebf5136eb9ff08fffe11a4a55500581f02452c347c0d805161344722657202fa5938270056569e1dd9e3771bb46bd6410103d5dc0eb2a076ec9584d704bc4d131cc6d70e5f4525165ea5583916a03b25d77700581f02cd5f7fdbb628637c4ea2a6a6ec81cb4e6b26576d634663b23d8b3da1730354ae2461a7c635d9f7573a971bc5ef79d4111f1fc200581f026e878a22f78e5b1875c0687141684093ed5e3df847727e81a48e5373514454609e1de29d5e543a6eba15b73d9ed335e90004b300581f02815f6b5d013a415ece0ec465b9e84c8cb33fc9893e205b90b09611fe94bc49ad5f32ea81e2c0fd3400581f024736526caf76886003926ed34ca734e0a5669d9a31ad2b865ba7b83d90fa5427c4448bb5b7caba3ac3d1fde2325ab776f73daa02199831034a01481e90f17c188b0c6c73fdf3ebd31c97341301d88c198ba80fe329545dc40393faa22eaa23e3b4e942da9597468b48d9f058d8c2eacf756b9f991a8be5001503635ad4820c24613db2d422bc94644387fd2edcb63c354bf26a7c04f3d3ec04a803085dc2004adaf4ebb2992c15a3226aeb14aa56940b7c51b2bd39079618795bf903fad1969f6c4c7c21e4f4ce5b1582bed8e93e8f0fa5cae69ab0dfe459bf2b67ee03d54a0f0772ce7a076a6e46664423e2098e99fa6c1a5b511ebfc28cc11b1b70c403726b3486b34d6f91ebe5bccc8f69a4a9276121e6c473181f0341b810428aa56d036c53e2d6d1e877e0509a4d1bf65cd8fc0ffb91ac498eec564e40aec457bdae27035f3bc8e349277f7251bb7d281c03c1a824af292ced0a704ca395d170c9a2f37e03d888edb9577f8601cbf9ec2090b7aba68b20994fb803f03945d0d6abd9f91b9103cff9f83db83626551e0215720b7d6eac3fa925f2bfa59f29ef7f4ab5194f4f5c032fb32b7d79fe3fcb421725b984d7813231a723b666f5fda695e9541e11e711370219ffff037d217ca29512406e7e15d75a5e41e0615e9e923d5c89e3563882c8ad16786f2e0355ae958f70835a82554c5095c754e10e6b8dfebfd47ef48f510a6928951159930306074e956b8b6552b7e1ef8d442d76155975784c27dafabb104ec2f6cdc748bf03a5c9e8a47cb3a248ed83316a8c2b513615d0ecef550f67dd84030776b3bda65c03067bd35df2104029d665c261764df189c326646d60a97486897554ec70aab9d8039a96d40196adf546c5727ef8ab0ccddad70d6daa754f30c3fed4c7534af6f71903568f862cf90d904f7dd10f25438376901a4ee81daf4109fc92a26a16a3d1ef9b038803f780a6583f9f40d3e7aa6123be7ad691fa5c674dac0d5db22b07e171dffd03aa458f595f26f723a858542603567ea4ecc5fdd6f8ce90288b2dea2db892c198034b7f9f8f285cd23e347c20de74688d1a971bfef6d55f63757e90cc17f6f8921f03f987783a71ee594498d0f4603e12af08620be70296a6f0cb74608d651a0bb19703ea1c89aa1ebd4599aa75878fbe31e54d46e690c313326602fa567550cf2128f100581f024f8a2fc5437350aa2849c884dd60c62f89f71d692ff0ebf7460b60cd824f5425a685e7bd4c6a4e0a0c3706c471c0ec241d1791030784f6dcffc39a1def205ce62c30f9278a7dae6b73d3635bb90c51135f5dcb3101410500581f02abec8213a22de1a52bde6c626bb0429852cd1c30018de4ded3d00cb03b0254b4dfd420a6982be95f27fb9b1ec0c374690ebec2021980c103e9c40f939ea2af3ee293068cf238ba49162b6a7f1dad73c79e9ef9a79cab18b90367cd7753da2e91ab8032de9164dbff0bd49cb5b5698255d78d6876c9313e5f6403b4c958cabb333a5161bf278dd90f3a0219c356421b2ca603f63dafe4a1696bfd0219ff7f0336872ffe2e99b384522cead66e2f48ca2fa322237950726320ced95f9e45e52c00581f0270ccb47bbfb17fd4df926401ba6b4531c7266aa3443224ada9df549b06d454851b0a003bf1ca98ee84028848da1ed69a50cca700581f021313314f2cf385c1957a6a5fff326ed8ddf920c2a27da05f804df3c4f072446632d023038a65c2d89cc7666a230ed40df0a96cea636fae626f3c75b6e08d9081ca57aba003e63314cb4a1cbde299713c63164d27cb42262d08681cd6ed13b68662d373eb280373b405f5e906d75885b9d060baca447470f32740465bd223a33e9c066e0de3de00581f023cd4df120ac4841c6636070c6fa706c282611ced70818e9ef29bde65eba358204f6f67610000000000000000000000000000000000000000000000000000000800581f02b4f9d90fc58fd10c1019e9a74adae467229a55aa203576cfe79d8a8886b454cd7b63ed620562b54cbcc9f0585e7995721f16a60219d1b003b02277c82f6a2b2c76544c986c9a2c0f346ccd444465c2275bbc56e5753bed030356c7e72d831bf3599a0be0805b2c44d76c5a106f42df6157c48d938dd5de87f10360b2b5c9dd7606cd5bf998baef92322a3ba380e4e62a712aef5297fa2c26d6a903babe9ce7a18fc91141721199ec0a5e76eff8841f5c268a5ceaa3fa23b4d6a9c20321d6ad44078c42b492dfa544423031282520b855ad126fce5f6624a2a33cdb65037fe91259b61a59cef2ca6ceab687278880713f17a5d726313e009f74274439f003776af53bf81848b3a97d0200a8da03e13bb0a769e3e499c72471565dbbfce07c03b2a9102fcb2cecedaf0a879925c7132bdf3b81c490aa01ffee9cdb78f6d107a203816149a552f6cca74c08717f8217e9078ff55fb325ebc2779bcb658fb771cf9803399b526f2bc84465031354c4768378726d9702390fb12f6ecfce7cfdc4972d30034cbe17f5617ed1495d75f88855ee241e43c5321a274ac441f66d733d15d68a3b00581f02f3dcd60eede91193f2dd956763f77f04868bcbaac68189d51c2ddaa806954301000000581f0269d5df1d86408d9e32823fe85f6b1b32df3147c00be7f5a85bed6073966141010219230003e1bca8eaf784e13db1508af155a2429a99ad74148e0c48647cf5bf252f0c63c603f2f56535cb8bf6c9137efe56708bc0801ce8f7e5854c17c6e1ce0dbf7e0ef26603ed88e6605ccab46e678a0a0398d9e7fc62b8d613179425cb280ffa8aa85d03740219ffff0335eea3ba62ced716ea68684685d2cba56711fc385af036904a78b25181b376850359f668229bb6b566a454e30414a650ac2a1264805aa40187ec792219b6f7b1be035f9fd732886a52b100a8544f41a531c59359921958b29c54020d48c23e0d9f80035981b76188c43800ac9aee3a0f72fefab86d665ad1a63de431f3d1e1b023810403ff3ba31cfbfc8c23c42c64b5c2c55aa7ca35a0ab3abedf888a791ee6841baa4c035cc6965f3214327dae5de3a026dcee397db90cfb6a7d3284e310527d094ac23f0372371f2100f78e390387b4056edc71ab71ecfb4b64cdafdf0dac1ca73cbb35c303ac80e0aa6a1a08d3a781fb2ed0788b86967903d6ae141f0a49dad08f2b115e540357f21793c8b1ddb1d8e61d19975916c3f334db3613ce1a6e1b32f8b4d27960e50392dc2a10e84616c6e1eacaea1eae3fa6b871c083964782bfd1ca40572f43b880030a34b9cc6654f9f3e44d6918ccf88f338a87ee090827170e8d86936f7154667e00581f02a280a97f71844a6a1d2f7a5d7b1200331cae380a746fc7927c247fb31837410100581f028dcadd9525c901817b1dec9c0ef33833c99eae8a1d8df72f34276e26d1e258204f6f67610000000000000000000000000000000000000000000000000000000800581f025afb9004e6ce4a0ae6021bae175b59bb99974b08b0f9bbb3d2d959de4d9b58204f6f67610000000000000000000000000000000000000000000000000000000800581f02085cce574a20301b39d007bb52778543c774590cf455933f8ae824d148ef5440b6b169fc9aaa1380375ebcc4be40d19f37e1ff0361dcc6b637fab491fac3c4e9b5712173b90599f0bb7d3b220169e34e3d28043400581f020efb7c47d95fa93d296b600b7879518eef4d13a8782520f8bf77dda5a9ff54d1f677b0f5a217dbb4bd87273add9eba1e5fdf9f0219b00e0316b0c21d89c7bc3fd9eca9aff1d45c08f5d4f1faeac92c7c0e0f9e81a81d7cab0328df26f6d39c1b14fae0688963126f134f63a0e066faa87e58380445690de61a0398333216a22b7c0e9f904b3ec948fd1a6f448c1e9dcfedc9388515ac2c4b38b90384f3aa9e5d290ce741803de61fcf7610a0fcf04c2f5322aa63352b98f0b27db70219ffff0302ca4d4820d661821e62a2b601bbed6b30d257491ba1d344501beb4b42974e9f03a5172f9bff9107f5c7631ea180c3495f0db07bb91abede33a5da4676ab2cee6d035c8a6d38ee594f449dfbe97abde771cebe1a294dcfe5eb5defc14070b17bfd27033d82a1e8aad36198195aacc7c4072fff9a2c81ad843da34a4b6704b906e5139703f2915602c37d8c91c06c5a74dd765b893e69883d546d760b229b2aa08082939c0323c36f16069f0aadd3edf9e6640e124ef0c37b1f95353dc73f6e6f4da0483daa03cb0e98b2f506cb937f3bf47ca95a292a6b17c31a9a71bc4b5189258bd244f13a038eeb9fa6dbfb2e1d95cde02b792dab35ce5f1019cd986c4c8e858eb1221f038b030d7db7a4125bd11d6ea1c43c31b231205bd9eae1fd95626bb1b58608380735d6039441fd1d2dd9aa3f255e7a3b180029ea1780f57c3809631895c0eaad29e7470e00581f0283c80222cdae065da8de86f0159f9b2f70ed883996542e50611f7a52c5ef58204f6f67610000000000000000000000000000000000000000000000000000000800581f024337e63acf9f17362a8ab246cf8f1ede7a5b5dbd6512acedd038a91ba6b958204f6f67610000000000000000000000000000000000000000000000000000000800581f02c6b67ca2788cd7b6d594f1da162fb285e0070eb68b1fab2c7c3fe015f4e0547d6cc2509190459d2149c0db903eebb6432fe3ac00581f02ee87c7abaac9cfdb0095b9c94a1f91aeee47ed07e1d546d0ec3c27072fc741010219a11803ca9330ef8d06f9876ec48ac7af0554b8f8c066a7533cc0574e992eb9568f50870311cf6aee3beda75119f0563931f16b86489098a9cae43dd8d04fe3bec895964b03dd751f2507a83c5354e3bf35c8623f9f8f43c8b307c3a94a7ea60bca96347ca00304536403d112eb94b0c722c6ec9b66d00a7aa37d917af4ea6f1315a63253068503af1a0e26faa5d4e110c6f0e632d5f27202d8d1498d6f67f02faa3b838c44104e0304c1c7fcf8e09a45d717531e49d06fb67a1d1430ccccb85a14b41f4ac40191ee03ddbaf94304f9e86ffa53a5808c50a3605e30ce3a76295ce79cfab70843165ba703d3f5982fb94e6021bfc424016d555050683e19e484d44443a2b669775bea61390219ffff039a1a2891f291b835400a2d8daf1b176921a295b75ff4b7c24069e8dfbf6f1d1903518aa07e8d84b15be28a05fb6a6cac916986a87d2a4fea2266b7ecd74de468ab03a1a39d9a4cce776b1d61185354f2b0909ffd15f067053761fbce159c3146b37b03d3026ab6292db7de0e6ce3c2dec175e0490676acf42209c9d317c57e6b99ea3003a5a003fabf06caed163ad2cded0022b5c2e2e4d3ba8317946dae6767f689f4d20336f5c56760f066810d4964c51ba1ae0b464b841051ab8ced639ac7e9aad8c707034e0a999f4aa4e820431e5a5070a8fd3a41a36dae3b9bd930d1b3957e4542866203f9ea98beb1404a0bd54cb38e5dfddd37a31ecf6a79d77af8f169a778795ebe46031555c81c74d356e1208235ab0c36edfc9b96fa8e626bc7cd15a69ac60c62ca9e0370d3b038657b5169713b97211ea19adf43a7160faebbbd2eb52f1c7f377cd8a803f3f020c3aeb9f0d0621fdea5c9b9120eff587b143b64748996bc33e77264d03c036536f4487ed5ba517351c074f41637bb4c4d03f5ed75b0a12ad2803cc276d6a900581f022c13c39ffeaa9ca46ddda35e9003736f3e555b1e0010338779e49048137b4101038c706ea5bbf7432f3ed2cb153073915d8ed958fe56d05379ecba23b1792ca68400581f020c0e9cd3f7022bc90cb2e078ec2fd799d3cf85bf721d6eb5b03508f58f4558204f6f67610000000000000000000000000000000000000000000000000000000800581f023e8493b663f9050afe0d8044c866fb5d5d0489aaa3e3f9fa6026e40e7d3b44620d98d20361b28b794eb34860289ad68b309c7c630a38ea23b33cd1f7c60ca4658483535100581f02b9f7aaf66c3c5ae4484c3691d28e1ed1616df8d4427a2304d59203afd6555483c6897847f461642f6d8cf45008ce349437919303b1acbfa50a63a37f314035e02c0eb702c3c7f75ec1ea99633633c8258a7b58e200581f027814ec30c26ef8fe9f22eb994e7d0e5ba6173666e938911433752e5bbb52549a52c38241d5b170c6913416fc6e8dbcb1cc73de03de9a43cb7bdd5b963333507062851d77319b9195acf3352bfa6cf247c5ba36a100581f02ddb317b3e810b61aa95c3f6cb36a5209dd629f3c9faaf45dea1ed4b5725d410c0219f54b03d587280ec7005a8021e20901bb3042cf5ccf2a9aee51abf9b02d1d9d5393b4aa0338a4e591188d1b6e24ca5eb67f5bf96054862f39e2327de3e411e8e1097af7dc0219bfff0219ffff038ee01171a7ce391bf4fdf40c467ecdfdedffb74fe5278160d6d8d1cfb38fd11a03602c2c4dc774fa4eb59a26892a18f36fb8f0987c60811625bc805078bcc3a01503657bfb30dbc410cc3bda41f0a93c713593f8fb316ee6bb39e9593ada91970e2803c8f2706fb5a22fd911168a0beb0f20dba9c115fc388f688990ac952762a4644003ec9950950d9c7757620ee797cc9aeac02c1033a5b9837c8088157706c495c94b03d58611fff6208f8c71d79f44b6c76275f9738568d62e4ca765e613d4da8e949103875cbaaf21129350f38d0aad25052b72fb192d5efba0f5e2faf3111987a5c69e00581f02773e83a8a878d7498b373ee8d241f2d3cb7b122f6c34e25e0d272ce1cccc58204f6f67610000000000000000000000000000000000000000000000000000000800581f02a9e7e19021b856fac8ff9763e984a9bafce29ecf9301e18cc2e636e2564a58204f6f6761000000000000000000000000000000000000000000000000000000080219660003efaeb1297be94b5431fb840f9fc25e03533983734bacb71cf184442d2714ddc403f5ef081877dbf8c35a42618968b06129a0f802077f9d969d48f4f5befd3b7b6e03a3613a6b14d8c1c7f5bc7dcf3b0ece317e1cd2e9de4a44960e0cceb5fbb756950394dbe09c045791d60df8f2f818ec469fc508eee805bf603e3d44c7ff2936a59e0331f256b58a71e016c4e9dacbd96fc778206548ff03dea106cd21e3c271bddb4703a280960e168cdeb9e1d417c6b9938bf865fdfffc4ddcac1c4a41e79162403888033102401a650f808f2651a9d4f7a519a74cc75ee6f9dab987fb0899b819fc027403b67816d8c5a30792c7ac036049348ce0a603b0ea2f1bb7b126f65b0cf9ea559d035faa3901f01d35a939c6e2ecda4bdc8e5616c6308161049808e4d7132b1886fe0388db98f22d9d054ac41de6fab51a0b40ee9e4c27489ae8714498e80ac87922f50371f0781fabb476a0a2d9c09721e4e15faa2fa1919889e6369559b9c3354739ae03217fb825e198ef7c05278dda4fe90d1e5ccd29047302172d970f5fb8987dc3ac0373f106f72be6f774449da6f1a0c47f70c2649b092fee54e0263c23f5f0c42bfa00581f02721074eae0d594b0e484ac1bd329ddb31a9eb072691a3021dd9bb798508854b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0250f6b5d1573a033c72613b06572fa5b43c3cbbc497ae3ffff1aa8662a30e54ea445a952ea0d0091c6e6cf8b5fba04a7d97c8db00581f02784c6494ae9611f33925b315a4e76fe41a8f4ced9bf7f78e0923353034d14301000000581f0275ce8b1151fb57d131e310753b068fd3f9bf2ba2f930f7c3b15538174c2558204f6f67610000000000000000000000000000000000000000000000000000000800581f02dba75b813fe95bcf90d2dbc582078a839a1db3ac2c6929d71ca761301ab8548d0bb2b4bcb9959be264c0344a371d78f8592c7d021911a80219ffff030dbdc1d4c79905f5d1629f89f86cd6a8ed92d60db3b9894ef85153611fd9393303601699ee5cc1003d5673883ec2cef88ef0c8d38ea042edaa372d367a3af8c35703c520683fccb909e8e7849883bd59a0b6a0a055ef75e54d000a871c179d966d22032e40638025deb5f8ecdbfa4d455420cd1cc8c4944e16c13e0f9f702b273dfed500581f02773a32b3b6109f6fb8ae5062fa691587e4e6a3161f9cf51d294609f79ebe58204f6f67610000000000000000000000000000000000000000000000000000000800581f021ae250b33f1d5a517ee3adc837d182b31bb33eef142cc5cb24873f32165554b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02cae675740a558625b74e9e443e6b2de375f8b4aebcf0724e48a601561c7f410400581f023027f06ea71be1fe21afc3c579b6c67267a3bdea89bd7853069ed863b8e458204f6f6761000000000000000000000000000000000000000000000000000000080219080d03dc0c5e1177a0cb5a167ff77a370b3be22f692835dc73a81defc8fd6bdd76a5d2035eed81d5c4d884f0d9a491e5baab99863bc89b8a4e87c068561cf3216446ab6d03895a2279b11f4e25dc450760e9f5ff22cb742f7a2c39d1f4968e46e99fa1417903dbf27435cabb454f8ef0c2ac25c3ab4c2d7cdbd55a8794a2e1fdbc9c1befcb10034d3389c39118a08f978c6577cee7f0fb01f539d355f4a8ab4e03283bb7a1f30703abb2218c18e702c6229ce1978f3328e718dbd8920a34367e9ba3ffa205d7869200581f020069b50de340874229fe39a7dfa8b4e2f9212a1a0e7f8f30205359969f27547d6cc2509190459d2149c0db903eebb6432fe3ac00581f02de89043988039fb4e21dc37abe1c0cba9385107dc17aed65634e1a42f6ed430100000328a1ff39980dda4acfe41f587e58ef23a9b36d950e6f1caa33b5ed75ff858f7300581f02f1dd0af1c8b0dc76affdc206cde9188947bf709f84957542b1f71b7963044465117c6302191a04031a9221da12fceaffe76d121474848af2742c9c37f07df91163442749f220cbb803d74833d4f12fb137c1aea35fc178637c45fac48f9ea4da55ecd9590a6bcea06c03e8cdc628b959e3c0526bcfffd712e47e3c9227c5edd9ee3cf792939d245817c603d7c4c5b12fb227d2bc5713474607ba77465002c9ba6eefce67223a5d38e44db60219ffff03e63b9cfb0952e77d812f5524bf80f48ed9d56a67de8ddc2b69f5658fe0cc5a33032e44265e02ff2a761fa6a823d389926e97b66f4871441250d5d64343a29943a503f939e37748b06a570d04edc7d08e3663af51d175a40f29dd9c652d17875b7ede032b8c01dfef45733d78e41ad581aa212a40cd9167ce9109162db08864b299010d03c7c955e2b73d12349d3942f80cd9b9c6ca3f0c3a4b31ac309d1916942e47f21303cce9183bef0320059bd1703ccb9626170edb014e6b415e00b82dbf798c212e7c00581f02ddb4fdfd76ff3ee6b88cd37c4e921b5a0ce70fdaa1c0513a943aba01e60b546ed118e0bf84884352486dac910c1f88aafe755600581f02563041b50458ea3aef5415cfa04331c90d5334078e70308d629e8472b057410100581f0241928ba7eda63eae71565cd286c231f3a07d65c729209cdc7e8fb9f2d7f9411200581f02a0e8be95e24fe09a5cbc251de37cf248acb77d05056937c3a4127431c287410100581f020985fbdcfcf6731c2c357d0bc4d4c4e137ac864520bc1f1a925085b9773854b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f0263a7910412c2737bce3380112f94f84b2747cd7424c9951833d4bf9d8ae254df6f3a6add540f8e628ff9bed5040ca09d075a0800581f0288269145d33fc0187529281a82732e264f1452b817f05a2aba47ed96a0a958204f6f6761000000000000000000000000000000000000000000000000000000080219a0d303f6c0b5ecff6cfd01fa743ef58e349e95dce58812db58c7dfa7f16c4a36918bc50382b3f802a0315183a731401d199978464ccd5e18280a857132c4b8e9ee3e479003ebb884ac0a9a377ed9280a85bfc6aa19ef66cc58d7a4f9931a8938d59f112f6a037ac6e9ad01fafcb68b1b7112389cb93ad78110a58d67a63daceb569b57e2b7bc03f24c34314fb4f55cf3320e93b0db0aa28659b69b14b00a8b91d1f2fac7bd7fe603ec6cf6489ab73e7f8e433df4623a0bf0c35a951780c9c7dbe8ab5c85e53f233f034ed6e626692e1ae115348e6a4bf46ce5f77e15649867401382b5cd3ca9ff2de60317245e807b5710bf9b5df35e82089abe7daa86374dad23fae5b9fa00b73c80170364e1484a1820dea7457e5756f34f98cd813d6f6e02f388b5350d9b6397ee424d0219ffff033bce60f3ee1b0d8f2b127b7960da7f2236f447fd7a778347b63d99be27b8183e03afb24e1ab7ea1ea9abb59b300362db030256e9390d395baddda086d30a48fd4103866df0a3f2e0a9dff556543e10830bd188456eae04a9c4850348df9ddaced6560382bc83c953b04261a388eaed41fad27a306e09a132f9cb9b270f2db845675101030fcb733a9b8c4fe1c497d4e1de16794e39d49792896d3e71e0b660566384b0640058200350ad6ef5f3bdef4498b48af8ff45e1d61aad46c6a982e822feb7c38783a760410103d69e5d8ad0a3e853c039feb59fb4853499635fae59c8761383a913fb6befeaeb038aba5ed68817d5fdf47f088361335ec5fa6646ad536f66f9ceb0ac6a6f8b064c03ed80d8fe0776e4c18d63c2cbc8edc6bd4557a72dedd2349c74492782a0fc2703031d52c4161f2398cd8f6e4870239d29e31967b74b2448e830816c05003ae67d6d037d3619c5db0620e3b746d76b846c494e1418755dc9505ad05ab9a700c8327518037658de33bc566255a2e1de662601f071108e9c38e80146be03d9910f1b38987603ac5c764a97c167664e6173acdeee147060f696db3dcdf66cddbeec3e2a4973d603fcab6642ab7f0d36ffc2108647cf668a4e31d9b1135aea73209681d80dabeb0703f3c109c881074bec3bab831cc186c46167485c0337993f953dd88738e0db8f3d03e13399e85a3915ee1238687b399b095422ae055d08322bc9bdf4ed8702f2a20200581f020600c6848e6cfc4995d91234572d29828d5cf971d6f52c9dc17a75091bd7430100000317c607b31b82d7db6662874fdbc3738f15f25eefad5989fecfd5211670c7428a00581f02dc06b4771c203ca37df5069f5f218b70e54f5b63fd2a8a3829a4bf3f37fe58204f6f676100000000000000000000000000000000000000000000000000000008035a1c9d5ef3c8b8289fc253c69fee458033fdd8100c16d20dcaf546bb9dd1d6d5021940230391804494ed7be711fd502be6e27bc4b27ed7252213a5292b2b7bd28dd21768980219ffff00581f02d3c89adffa364554c497a5b25608d40f1da827f6be9c29f673299d1ba3694463350d1703dda426635d43a76112bb730b5d782cbad761ddf83f68533779ded6589e974b4400581f020ec3bfa2733dd98ad1e06875cae6c986f775ffb76d769dbad4d09d20ca2958204f6f67610000000000000000000000000000000000000000000000000000000800581f021856c4074195590a540846da6c3da47ea71d5d4c6877153efa1e48d52db854084f73bdfa23df2bf7803410467843555aea5afa00581f02d03b09153df249625ccd0b4ee551ae261e9ab2e0e6d3a8d0a89bebcdd7bd58204f6f67610000000000000000000000000000000000000000000000000000000800581f02d05798c5807eea51f9e7e14580700876e983a8115ee844d9da7375b43155543eec22e5253f09009278076590ae1d358c973e8200581f03c90ba8e5bf4914507afd7d5ad63cea1af92a4e6ca5a8397f57a6d3a223204461ba091400581f03f2061578eda5f6293e8def145af6b4ad249c4702bbbf39aee8c78f8528b0483b18a39ae489b2bc0219010403e492efae392202e20b83a538acc2b4bbdb82fae5e8edb893b606a780046b274c021925b30363aa2b5de12cab8ab8ccb437492eccc2571bc44666077bccf1cc07e87c701d5003dee4785bfcb35f76c780dbb3d08900695addf2c6fca6abfdb25a6ffe5758543903de1baea52b45cb846e322b51e9da202d4988e92a37a29a7d68fca054868b859c03a932fcb4d35393f462e04489a0ef6ed0543f5c9f7fda7fe8b209d81532c757730330b3f53a14eb1f6c6dac07ffe55fecd07ccc18dfc5cca355119b2aa1394d5d29039b67e5d90876e517bb686b4f9fdd1d1626c94abf7fbbaa3fe5cbd2f711be09e5005820032e44fcef67048ca7651aafb96feb9090bcf4012123e0002a14bc2933bb8b30410203ab7487d8500a8cb47691bc939c816315846e03ece06f658376cb60a87aa0493a038044f8f142eb7e6ed1d4d133f73d8bcdfa37eeb488314cbc361e923e7058ca2e039870cfb2c82690db372e890f5cb90fb0af4e2436702b4b186a498f236b9becc10373ae25ecaae6a57dd83e29636d9997209977c70797f497c101acc0b3e9c02872032bd3ec14ee7bae3cf6dddb26b5ea0852d4ba53d192bec12973c5e6c9da92604d03c6b3e9ede3df9f8b79fd5b1a80ba6bccb40b754e1202d5fcf8373ba9396d9acc03660e47733aef503087a73e0f1729e8af9042aee449c8199d39604e247c9dbff30378f3b2fc0cfc2e46c5f73a25758e2c1f9f4b3e0811e49a3e824bd614239119250219ffff03c52af83ee3941bd5be7633ea5dec326defbb8a8013bde2ad8a18555c0125b5ce03493577212044e1d40578b44e816ac856a0cf6facfe20f1ca21e14974bfe212e9037e4d0bb949f2e27c5658454518f04d77764d4c64b68b094c5a6a84af6a2ef10c035cb845c84867d964e59f214f7084d76ff116ada43d39fa4d41f74b8907439b6a03d3d8ced0c0f3eb48dd06b2decee05c9add4981dace722dd8b5f2300e6cbb52b100581f02c27aea4498c82e64599eb444907670bcbd02dc749e1146d35c07dc9b49de543e4a75e79da0d4781214ec0d81394b25739208f200581f024167cf9d99e128842248250651121f3c58d280d6bee7d882ea34fd841e1b4903d804c82a998e92da00581f02689222d37bd6e581d69b3a25edfea16bcde9fd5558fe596bcfdf4bcee21b47c2155bd449044c00581f02b57588f75ac36588d016cb679dbe0644a3e096a9b6dc76283b1ad86ca1b154b1ab0b56f7074bc5871edbfc807b3490e6db61b80321e4e9a07cc57ea374850e664570b9490352dcb0800e2ef17a7a799143c602210388cf6a47832b1df0a771947f7dd045fe78ea5e869622029ae1a2625f972d30f4021994c203f7e1b2f8b9a0b59cd2e14ee03c11e577b1ed531a81fe50cd8e047c8f7a14730e039bad355b16a2d6bcd17e4832ace34a87bb4d26ad673197da38b924ae2e01964703373ff6529991e65a7f5188b2ddc28c6c2fca798459aa7a087acf53871645828b0387bc07692ed968bd066df3c976533266e0335f423be9838cd9a8e84ffe7fa8d10338a277a34377623122d024fecca4b171bd3467e0ffbfa1721652189b3a8aebba031821491f81f554a07a2a609091905a182f3ed649ef4afc5f1f1348d3963b44ce036ffff7ce14c13afbfde8ddeff140e62118e723f27eefb78039930e96c7eb2d5003b2b46ec5cde84d728ba77766ee11744dd9f9d8683ee797b844887be4f6cd0e2203dcf4caa6c7d73924a3cdc10d7397f1dfe3ed1dd724cde525e26d34a43d56fb69033c5ec56059546a5d3683a6f29c89731e268f21be73d71531c7b41d73996b18840219ffff030bc37e6772144c2933d3c080085e3582ad42f59615d10301bf7fa641591e4fd8030cc72950f04955b62acb8b849fe078d4b61f6cbff6f2cf347e309ea0aa1612df00581f028e8712432767212d294f2cb105ef44166d3062c30333d21db284703eb1ac4301000000581f0210673f5c39efbd76524525c5b78633fe5b93c9c90c0aa923c39733157de754dd72d0f966b4b422c514911673697e828b58caa200581f027059901c9acb76e5c331a247e42ab852bf740ac3c043a9ef0ed5e41bf708446428f9e700581f0247deb8ff68417265a1e793af5ca487b8b820d6a6708025a03d964a81950e54cd7b63ed620562b54cbcc9f0585e7995721f16a6021921a80381fbae95f17d896affb4b4b69cb75a6448e8216f7f310742c1ebdfa94fcb926b0383616173eb504a739e96909725ebadc889487e3bc406c195dcf7727a83f3d8af036bc599df40889ee8d7cf1f66d118449476699d7326f05b154f0dc084a20ae7f50360bd5b26d11790db0aabfc51cdcbe673f0ce9f3338b0ad114ba17c85f9f2fb300358e501247ef0d0e1886265551af03e2ea03ad036713e5ff0e053aa7d3a6727c200581f03ea551f8a3e99002223732c61cb7ac8e74e789b80b37db44d8198491b186058204f6f67610000000000000000000000000000000000000000000000000000000800581f03c57a6b39ef8f613f4e6aab9b551130eeb8ca7a77f93e0f7ef25d348aa220410102182803f5ebbebbd6d16027854e81b9b4ca8f2b9ae9ea6f83989ec7a08731b9f13df67900581f02f28b221bd41ab2036019e80469fd86ee39a537ca618013333fe51ff41c4d548cf943c008973a7f4c23f3f402d424aaca3a365203965163876ef049b45adb12f99c5921be6da6a085cd1580266ca180c89edc48b600581f02ae18c411380230da30df03d81bab0c85c2878e267ea7ddb6d9bab7106d78410700581f02bb36732b4cea963fdd45b3279d205da4208d686ea2d0095b8eeed2d4725d543e4a75e79da0d4781214ec0d81394b25739208f200581f025595ba55e2700e8120637f0b2baacfe936caa589b3ae446f99b42cd49e1f42dead0219d41a039b4343f8788a53f7e526fb7fde8fa246c0b0d6e1eeebc209b1c12bce060768e703556376f21ff81fdb6109b937c18d8ce83f99505692aa27e5f53572b34380e53600581f02fc21031a831e55d55a3dd204382fed901b34be02084e556bdce3add0145458204f6f67610000000000000000000000000000000000000000000000000000000800581f0223a203e530af98c4cf711d41b134c0802133f8fd23c0484eee732620eb1244639eef8b00581f027e7e5fec0c47e25171842a2407d127f6b71ce35b55a46dfb22b90d5d2de458204f6f67610000000000000000000000000000000000000000000000000000000800581f028874d6864b3a98054eb98862d0ea338bfad66cbdf1fac15693bca796d2ef58204f6f6761000000000000000000000000000000000000000000000000000000080219445003ed701113f6588a22b2f6aa7e4ae6fb8ad0632ac8d543274dba7eac5a4a93290e032ccc1bc2e955d84c8d1429fbfdf683652c0fc432e5b01d50465e4130834a27df03e577286467b77707ae7dd6dc9804d8d7c8cd11661d141e36955ff19d07f85d5e0324ff79dfe1249b0f1aa07c9236c4379e403974076ecc91f047f4339fd4edbdcb039c9dc92ffb99b5184458043f40d3e2eb10d66af2e74901877410858559bdc3a000581f02736a33c73bf51512fa7f73f58c191fb853766dda835ebb4453ae3ab6ff9c410400581f02e0d4b493416924b3b9a7e0d0278b2b3c042560695208d370b9fb0719be12410100581f02f7427e863bad9dc08f835fb6b78814c5263f3f95d1050733a06c079c07645468ec697bba6b7485498e31da5291a0fb9941b6d100581f0263093d1bf5b447be4026c83eb3517de1ef10500a1383df7415f6e5a20fdf54b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02002748100f73d63dc4b9cc9b47a1a048705b20eda24d870628f79526380f54ed3afd345ee37b6a0881db261b0e9f7513695b32021952840219ffff0368071e507b9c9527e5dac3a68ee9ccca759ff2e2c912b55bce0b7163376675f0034da0fb26a365e7705d1720c2addeb8b1eed3902c9234f90ea7c7f30c3f8df9af03e128faabf3a8be9fe91e9f263e8576a7a3c73c88556663a3c49165ce7ac40a7a032c81637fc8e6773ddb879663cd77303126bf7a1ee18fa9485f34076169a361dd0348e71d3d2702c2030ecedeb7bb20bb239eb24a8cdf095a3e4c58b2ca369eb44900581f02703d02e4d6f2442548e0302e130164aa84ec204ca1fb404106b67a2c1dfd44622251ed00581f02e653baeb5b06d6d23d0278802cf05031513e296febc79bc72f353b2a6499548cf943c008973a7f4c23f3f402d424aaca3a365203c09f04afe8f4f014e3c30a18fdaff1497616299201aca6ef0a80d7557534412d00581f0228eb924f031d19896edc80b3c43a6d3f8cfcea663a7ff967d94c3bc8894d58204f6f67610000000000000000000000000000000000000000000000000000000800581f02bdf1085954451d075ec9e8cad222b8aa5458340910b66f1e371f41633c97542b5802957709d6cae73b2d5fa81232e3cf9094ad0219819803bb2a801147fe2a7110b348d4ae2b8d34fab5bbeacf5375c9f4a0fae4872e9c1203353df817f890a23a34c360ad41c262134b56518d5f0c8915af860cd0d6e3419500581f0244384edafd0a07058994385157f3a77a883ff0268fce6aaf8dc8eedf2ead54a751b9c7255d0e2ac70bdddec1044fc7657465cc00581f0278a1fd0fb53fda3c651d3909a4b311f8dc9c8256d4451bb71f1baee0d5fb416e00581f0261ceb49101ad2e7435a48aa098c42d0610c0cc67234ea1c57b4d27b3d87958204f6f67610000000000000000000000000000000000000000000000000000000800581f0285211f3b37de21bdf9e43f0519c0f97361cc98e5bf823411c56ef25eb5ba4a0193b447eb703007774c00581f02e459aa04cd63900e63c4606b6d8badd863de7a13dbbb7bbf6deac8f6b3f954995418c315ff98763dce8e57695f1c05548b4ef5021960a803520bb0f32232f728bb6b2aa33bc8b430a6eb756c8938f481505eb3270bb30d2b00581f0246aaf8280b1dc631e5d543f205b7906cb6afe2d4a3279adcd4d154d5ae044461ee384800581f02c345db6a41c4290e93b077dd5ac3d59f0c892bd48f0fc2ab4e5150cb91d658204f6f67610000000000000000000000000000000000000000000000000000000800581f029d1a9c1f59fac2049d098bb33643f37203603181986c34577e3ff5496785549610457fc388165fa49cbf25856830a035898eea03c794c4b1cf78c0043aabf2a9e51d1c2a26b86b2f0531a776a0670ac75c5bfb8c0365ade348e8cbd54b010173359e430aa79a8c374b8220fcc2ee4eb4be299ac8b2021911c20319681d61953b73b4d2c92f7cc77ff877046697a22ac84e10d5847a33734c32f3039ea5d3f87b8c0e9889919c8525327f217b5e62d6a2117cca5b3031a685d780c900581f028646a67cc3cdef4bf8b195f1a92435194b0ac8ac537e91704f16d56f12994465f4dac3031f34677934292771640f90048986679453a0419303597b71fe8171035e7c621700581f025915ca0e1683e4a77c3f95c5d8d24d3a5059b50dac7027061542e424d51144663033a700581f02d5db24fb7a3c08311a2e77638276521dbd39289ccff149f8a37350c7479654bebcf96eeed98d495f45407ce7017179738e355200581f027ae6cc66b5b0c48891a7a9e3fe0e75afd96aa59f11d53e0c94c546c97819484b4211f9fb360d0400581f02827cc98fc5cb107bc2e6c076dbd01b821de0755e96959c883cbe8fb8cb82541527bacadf291f334e420f24108f3c64f3c0a0930219422d03218bae4ecc42b0c8ecb4a6b4306c2206ba9a94aed1d4f0aeb5f7167db443acb303d9d35d6c47e79fea40110afc333d254b4bafecbbd47d3c07bea861960b2bbe100219ffff038f2a206429b965830ab2a8bb05a1b0cb495db261062e711650ea26c6cc0ea34e03baba4dc62d7817cb00abbb6e11ffb15cc4a01aa85bfa78ccd5dd4e4a0bb8bb4303b604b85459bba522a03f1980cac69447b24e0110336519048404e7c88a15b26d030d20d00a6e57e6420287d9b3db8155df2f0e02d458c95bf4fc23c71837b6f53d03f6bfc292e25d9335f6f2030835eb5d2057aee5bc45f5845bccc52e85f0f8f9ab0342b378de8776d99c486851b820c9142188a84830ff9a198396a236113781688f03c631ddfa6a1544f66fc4fc0512a9d145638cefe40818a1ecff2882ec77294e6603975c64f9f345ea86bc826bb928350b27173c3b66717a9bd6e9c5f98eea09c905037da8ee22f8b9108087b7ef173b11e14d574a3ac49f7bcba0d8d75efc4e8eb2a703d65062e54ebd2b10847a3c807c4c35324ae90c6565db1b9b7a3f2e1e278d745003f477f2566a000054ad66fcdcd11cd23d3304f84c038226738a079a1c554a64e703f1522e69cee2303452dfd4eb1dcb90d75018283bcec2c82a4b42d38776344f9400581f026b89b7e029bf40e0a411e18b6f423adef33ae6b2be23e292aea2062de3b9487107b39a2f7d51f900581f0231e01713a5fb6019c63fec92024273fcb63587636ef5af5b86e72f9339d754b4dfd420a6982be95f27fb9b1ec0c374690ebec200581f02874677e19c081b383e75d7225f89e139a7dfcac0ae024fde51ddc34f65d44461edbcc900581f024c3e4ef2c18fe7d2bdaa1e824a8f678999c38bf6494c6f9d30129f307c83541414ef1467b994008bdbab10fb5345c5802217f500581f02ad472434f52a006bbef2350cbc11db7590776536626a4c9abb585268061058204f6f67610000000000000000000000000000000000000000000000000000000800581f02d7a1e177039b548e137da8718921a9f04fbf6e7433a0da7e940c2a72628d4903f5aeb51768f4417c0219461c03e7a54af07faac78906d705910f9e59e2187ae4f983f5eb2485edaef5536bfea900582003b71165be76426047ad85b669d03b93af000450b18d76a9f2e444b76cdc8ad04461f6c7e503455a4e636717ee1906964ad761367183a537d27288840b51557c43a6940037950219ffff0219ffff0219ffff05581d02a82faa421dd4cb5536c1acc9877251d0d566bae00b4ce5d6d178f2090701190a6b0219a00005581e0395e92c9abcd30e99daced8f097011e19c2233130e580afa436880e8460040205581e03059e39c54be7d9fcd3810c0e013ea5f2838389e3e03e1011635034cf50040102198f3d035a4e0245c4cd2a3591aef0294c7c7545c6fc6c922959e8f15527ab40b835f595033be80a4539fdec13a743aadcb8d55acbbd0d7150083066baa1c60719aa3636e50321a75ea3f24d8a8da55cdd4872b200c981466670dcf66a81498f346a880fd0160355a6f6c539cc3f056d36086cce0d9d2ca45040d60ce16af05d3b72d18a8180a80339745ee48cbddb72cd3e5144a9c3c06fa65f96d6b23cfc5de5c8d150e5f9663a038b70b39b24045baa452d0e939fad72732de02579cc87eb7d64003d274c5e829503201ecce9a432a57232f189bc31fe964c3b111a75991ff2ec7cc7eb0a9cc6948a03542d5260ac92fbdcf131ddae40a47aaa433b6f83f0dc570f8f57ddf36eb18f1a03b5e876271070dccafb504968d3010db98e0a8de232189b3c426ee4751396addc03a09d66513853803135f93d7a9c337d0cef1746eee072a367eacf96f8c83175dc0219ffff0219ffff03f66d1acf0b7bb0bcdfce3596554e2cb6ddfbeb33c418ffbede23bbded2b02ecb037d7a8928df963da3bd0ca80f2d6a2de2850f80cc677f271b53c64595548a327803f7d09fa0fceadcc949ce0a17b20ae65626f18068aac627c498f3c60d9f27676c034bf2dd7544a2143be529b5fa95f5c9641eb600f0037bccddbff9915ff9bf6df903ff30ca3fc5976a6f814501a4461b9a85fda5fadcf3d1edc383bd8d557d222abf03fce3c3029ca53090d710c0fc2ff13212665a0c9a3e23650bfe17d088836ec4520219ffff03fc36aed9094f72148a22a4c070724d5d6e5c7ff6ed1e4a2c4c30b5e72c1bf6aa039607ab51c13ef596e7816a054332518c58f4669f828e473f6d755067485f95f10352dcfd36e00165cf4d4a2b4c4187ea88637cafab8920d9e0347923c9f4e46f050219ffff0219ffff0219ffff" } }, "txn_info": [ { "traces": { - "0xc280e6ffa54b0f18ed7362196e4c8e854cfdac3f": { - "balance": "0x124ddf132cc08bf9", - "nonce": "0xa1" + "0x74e9bd8dd24e54e8b17e416374a47518db0137f6": { + "balance": "0x0", + "nonce": "0x1" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x6ffe7a6f18af413e" + }, + "0x2f19e5c3c66c44e6405d4c200fe064ece9bc253a": { + "balance": "0x58ffdef00fcb7acaf" + } + }, + "meta": { + "byte_code": "0x02f8730180850a7a358200850a7a358200825208942f19e5c3c66c44e6405d4c200fe064ece9bc253a874ffbd04c128fa080c080a0f111e9ed49d401b0fc267b81d51d0940d2f4e5d10f9c40e2f2f99c97d15d9541a059d96eb706f28840d42d5597511b8fd0cd2a300ab0295a92231b7f78d159c6aa", + "new_txn_trie_node_byte": "0x02f8730180850a7a358200850a7a358200825208942f19e5c3c66c44e6405d4c200fe064ece9bc253a874ffbd04c128fa080c080a0f111e9ed49d401b0fc267b81d51d0940d2f4e5d10f9c40e2f2f99c97d15d9541a059d96eb706f28840d42d5597511b8fd0cd2a300ab0295a92231b7f78d159c6aa", + "new_receipt_trie_node_byte": "0xb9010c02f9010801825208b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x6fff32f34fcead3e" + }, + "0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722": { + "code_usage": { + "read": "0xa4c8b64de9c1701c21c5af5e1dbc17c13a8a50ecbfbc7493c50b4cb39eee3d76" + } + }, + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "code_usage": { + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + } }, - "0x7eec7a4e6ab3cce23ccc41b8601282716b9eadf4": { + "0x000000000022d473030f116ddee9f6b43ac78ba3": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009" + "0x7d387b1804903907429cc3a96273a9d9b57ab54ab31b082dc7b726eeea801d76" ], - "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000004438a627e6ca8892d0000001471d60b35af4ca2e1ca70", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x358ee51bd8320806845d9a274758", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x123cce098ea9f03724345725dc643e5053855c" - }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1962dd1276e304cac" + "0x63605e53d422c4f1ac0e01390ac59aaf84c44a51": { + "balance": "0x9f3994ea666f57fa", + "nonce": "0x5782" }, - "0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49": { - "balance": "0x11b16e2f89518d1b8", + "0x8cc137ede3da08c06250ce7d9165f3bc6328980d": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x11b16e2f89518d1b6" - }, "code_usage": { - "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" + "read": "0xba868e6fc0ca05a29f2cf06cd450d483e98e13b00e7a75bf5fef19a5e944fef7" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298697d04005fb7fd33ab", + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { "storage_read": [ - "0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea", - "0xb88ecc12f0a13010069fe31a467d8303b57edd225d4fb5fdf4e66214cbc6765a" + "0xec2c6722d7a43322f93372d2120354c90fd3c3d42da9b87f68ec1caeeb1d559b", + "0x7c708f136c9ee318db9901479fc7da7721fb05edeaac954187dde5ff24745e43", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x81b69b56c63e043848b61dbf780186647c0e0524f486e4b27e7fab4e993e7585", + "0x01e682c2beaf5e6cab1f2b67ce9be54b99d73da9d0ecd509443f37b862b5770f" ], "storage_written": { - "0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea": "0x0", - "0xb88ecc12f0a13010069fe31a467d8303b57edd225d4fb5fdf4e66214cbc6765a": "0x4438a627e6ca8892d" + "0xec2c6722d7a43322f93372d2120354c90fd3c3d42da9b87f68ec1caeeb1d559b": "0x16e62c8b6", + "0x7c708f136c9ee318db9901479fc7da7721fb05edeaac954187dde5ff24745e43": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffff941c36059", + "0x01e682c2beaf5e6cab1f2b67ce9be54b99d73da9d0ecd509443f37b862b5770f": "0x0" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" } - }, - "0xb8a87405d9a4f2f866319b77004e88dff66c0d92": { + } + }, + "meta": { + "byte_code": "0x02f902540182578184b2d05e0085029d09d311830248f8945d775caa7a0a56cd2d56a480b0f92e3900fe972280b901e421ea0c370000000000000000000000008cc137ede3da08c06250ce7d9165f3bc6328980d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c40d58b1db000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000d50faa08ed3488db26b0a6e1f17b8b889f1936700000000000000000000000067e5ae3e1ad16d4c020db518f2a9943d4f73d6ef000000000000000000000000000000000000000000000000000000003bb170e5000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000c080a0406b9a8b51dfd38342bfbde115abe0a824578ad010a9675a240c0a0643c32820a0526f4fb193b296f0d8f5b976689ef84a3873a48a71e1a175ea0ceabc5b657605", + "new_txn_trie_node_byte": "0x02f902540182578184b2d05e0085029d09d311830248f8945d775caa7a0a56cd2d56a480b0f92e3900fe972280b901e421ea0c370000000000000000000000008cc137ede3da08c06250ce7d9165f3bc6328980d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c40d58b1db000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000d50faa08ed3488db26b0a6e1f17b8b889f1936700000000000000000000000067e5ae3e1ad16d4c020db518f2a9943d4f73d6ef000000000000000000000000000000000000000000000000000000003bb170e5000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000c080a0406b9a8b51dfd38342bfbde115abe0a824578ad010a9675a240c0a0643c32820a0526f4fb193b296f0d8f5b976689ef84a3873a48a71e1a175ea0ceabc5b657605", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183015a32b9010000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010080000000000000000000008000000000000000000000000010000000000000000000000800000000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000020f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000d50faa08ed3488db26b0a6e1f17b8b889f19367a000000000000000000000000067e5ae3e1ad16d4c020db518f2a9943d4f73d6efa0000000000000000000000000000000000000000000000000000000003bb170e5", + "gas_used": 67626 + } + }, + { + "traces": { + "0xda31d0d1bc934fc34f7189e38a413ca0a5e8b44f": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x970ed9cd9741b4afe0d78fd355c8ff7cc4ba99e1a2761b359a6843f105b37df5", - "0x000000000000000000000000000000000000000000000000000000000000001d", - "0xa144f807cb3fb6cee02c2a9fa3687b50ee110d933b9ae3e114fdef9b5d0491f5", - "0x65b4472f50deaf0b000c8fe050adfbe765d8ed43c5b2a6d53388b95c0ea2bd9f", - "0xf69a4bc512ff3e114f60d55773edab9ab751bffdbd126627940c03bcc433afa4", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x492912bd9d929796b46aca97051672bcf047099f3ecbd75358bae5e53e739795", - "0x7342d16e34225788b8a8644e4434263380b310ebdb907cbbb418593014882116", - "0xe9df5837f3bcbb1790cb137a41af6668249cf34a286d7ed605320e67c6c23eb4", - "0x7f77ab918e11f5a3aa1b83e7fa69b47af3f5cac0a670bc62399e74e5d1d52107", - "0x4bfebf24978275179447f7cf6e42e1eec9a958f687caae1285b31998802c28db" + "0x5b244d2c16efeeb500d5f48a9520a1d89add6efe2d25a4f93449b2888e6ca97d", + "0xb0e23503070391771d3c31f12f67a8c2b49b0303adbe80a1a23469634c6abf4f" ], "storage_written": { - "0xf69a4bc512ff3e114f60d55773edab9ab751bffdbd126627940c03bcc433afa4": "0x42dbdc14c1a8c6c492c7", - "0x65b4472f50deaf0b000c8fe050adfbe765d8ed43c5b2a6d53388b95c0ea2bd9f": "0x1471d60b35af4ca2e1ca70" + "0xb0e23503070391771d3c31f12f67a8c2b49b0303adbe80a1a23469634c6abf4f": "0x1a055690d9db800000", + "0x5b244d2c16efeeb500d5f48a9520a1d89add6efe2d25a4f93449b2888e6ca97d": "0x0" }, "code_usage": { - "read": "0xa47998f0fcceee76c553f9f49703070078f39a295bd103fff52cd766c9b60168" + "read": "0x7aaf7616174bab59b5a8986db1cb18615324bb01dee029b3b9a72d1c77a0841d" } }, - "0xbcd3a47e4d0000cf170e25d1bd3d53f7c08be0a6": { - "code_usage": { - "read": "0x6ed615a0ca19cd89538543cdcb17a7e8d26147013208623b1efd12f8361aa814" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x6fff8791dff50d3e" + }, + "0x127754b41fa6911c1676c3e1072b1147a9c5f148": { + "balance": "0xaae5e08c5bc45b", + "nonce": "0x337" } }, "meta": { - "byte_code": "0x02f9023c0181a08505d21dba00850cf0e3895583076e9c943328f7f4a1d1c57c35df56bbf0c9dcafca309c49880de0b6b3a7640000b901c40162e2d000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001600000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf5de7000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d92c001a002bf22eda9af4fb647cb7a9922690c83100b28eb36d0d5b92a1d559d7e8278dea041d2549846582d1b882cfed10d546955467e62384daf43860eeac114a68b92bf", - "new_txn_trie_node_byte": "0x02f9023c0181a08505d21dba00850cf0e3895583076e9c943328f7f4a1d1c57c35df56bbf0c9dcafca309c49880de0b6b3a7640000b901c40162e2d000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001600000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf5de7000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d92c001a002bf22eda9af4fb647cb7a9922690c83100b28eb36d0d5b92a1d559d7e8278dea041d2549846582d1b882cfed10d546955467e62384daf43860eeac114a68b92bf", - "new_receipt_trie_node_byte": "0xb9057402f905700183029151b901000020000000080000000000008000000000000000000000000000000000000000000004000800000000000000000000000200000008000020000020000400000400000000020000000000000800000020000000000000000000000000800400000000000000000000000002000000040920000000000000000000001000000000000000000000100000002000000000000000000100000008000000400000000000000000000000000a001000000000080000000000000200040000000000000000000002000000000000000000000000000000000000001000000000000000000000200008000000000000000000000000080000000000400000000000000000f90465f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a00000000000000000000000000000000000000000000000000dcf09da3e1eb9f3f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a00000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf4a00000000000000000000000000000000000000000000000000dcf09da3e1eb9f3f89b94b8a87405d9a4f2f866319b77004e88dff66c0d92f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf4a0000000000000000000000000c280e6ffa54b0f18ed7362196e4c8e854cfdac3fa00000000000000000000000000000000000000000000042dbdc14c1a8c6c492c7f879947eec7a4e6ab3cce23ccc41b8601282716b9eadf4e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000001471d60b35af4ca2e1ca70000000000000000000000000000000000000000000000004438a627e6ca8892df8fc947eec7a4e6ab3cce23ccc41b8601282716b9eadf4f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a0000000000000000000000000c280e6ffa54b0f18ed7362196e4c8e854cfdac3fb88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dcf09da3e1eb9f30000000000000000000000000000000000000000000042dbdc14c1a8c6c492c70000000000000000000000000000000000000000000000000000000000000000f899943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a072015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499fb8600000000000000000000000000000000000000000000000000011acd96945460c000000000000000000000000c280e6ffa54b0f18ed7362196e4c8e854cfdac3f0000000000000000000000000000000000000000000000000000000000000000f899943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a09f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c420b8600000000000000000000000000000000000000000000000000dcf09da3e1eb9f30000000000000000000000000000000000000000000042dbdc14c1a8c6c492c70000000000000000000000000000000000000000000042dbdc14c1a8c6c492c7", - "gas_used": 168273 + "byte_code": "0x02f8b00182033684773594008501de6733c782e74c94da31d0d1bc934fc34f7189e38a413ca0a5e8b44f80b844a9059cbb0000000000000000000000005ed45f686ac3d8e31c0c5c90b12153f117990bf900000000000000000000000000000000000000000000001a055690d9db800000c0809f561200e4ba1ddfe0772b3a1d98d586c6a89644c846262cde62ceea5164c75d9f9be20e600a64bc283ee33ab06f9fb7d3705ffcba4432f48ab3da6f96c657cc", + "new_txn_trie_node_byte": "0x02f8b00182033684773594008501de6733c782e74c94da31d0d1bc934fc34f7189e38a413ca0a5e8b44f80b844a9059cbb0000000000000000000000005ed45f686ac3d8e31c0c5c90b12153f117990bf900000000000000000000000000000000000000000000001a055690d9db800000c0809f561200e4ba1ddfe0772b3a1d98d586c6a89644c846262cde62ceea5164c75d9f9be20e600a64bc283ee33ab06f9fb7d3705ffcba4432f48ab3da6f96c657cc", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183020feab9010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000001000000000000000000000000000000008100000010000800000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000f89df89b94da31d0d1bc934fc34f7189e38a413ca0a5e8b44ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000127754b41fa6911c1676c3e1072b1147a9c5f148a00000000000000000000000005ed45f686ac3d8e31c0c5c90b12153f117990bf9a000000000000000000000000000000000000000000000001a055690d9db800000", + "gas_used": 46520 } }, { "traces": { - "0xedc8b1e86fd6d18d42ada62f15a64a8fca475ad3": { - "balance": "0x0", - "nonce": "0x2" + "0x1f69bc4a2aecc2832d09d7e6066b2ddf129cb35e": { + "balance": "0x151046f1aebe8" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1962ec4a6b2043c04" + "0x808d0aee8db7e7c74faf4b264333afe8c9ccdba4": { + "balance": "0x12025bcf15d94a5152", + "nonce": "0x429b1" }, - "0x16707373aa474f3ffc6462fc0fcf4e3d990ffd14": { - "balance": "0x997f2146446a" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x6fffadc4c309ad3e" } }, "meta": { - "byte_code": "0xf86a01850a16ab54808252089416707373aa474f3ffc6462fc0fcf4e3d990ffd148603c65f2ba0128025a00131a5979b6afb8315490079173cc40565258241f63f75644e4201e4428e629da06155c353d567b7c808e07cf4b8cfb595683079904c2eef4d4ef2e464ba47293b", - "new_txn_trie_node_byte": "0xf86a01850a16ab54808252089416707373aa474f3ffc6462fc0fcf4e3d990ffd148603c65f2ba0128025a00131a5979b6afb8315490079173cc40565258241f63f75644e4201e4428e629da06155c353d567b7c808e07cf4b8cfb595683079904c2eef4d4ef2e464ba47293b", - "new_receipt_trie_node_byte": "0xf90109018302e359b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "byte_code": "0x02f87501830429b084773594008502abf2250e82d6d8941f69bc4a2aecc2832d09d7e6066b2ddf129cb35e870151046f1aebe880c080a0cde5c8119aba455621ac188eda2b217a8131bdf334916d4b4f2a49c4780da264a005e48dbf3509ddfc4b867a4cd571a900b6e51035941f87d8df607f51af121496", + "new_txn_trie_node_byte": "0x02f87501830429b084773594008502abf2250e82d6d8941f69bc4a2aecc2832d09d7e6066b2ddf129cb35e870151046f1aebe880c080a0cde5c8119aba455621ac188eda2b217a8131bdf334916d4b4f2a49c4780da264a005e48dbf3509ddfc4b867a4cd571a900b6e51035941f87d8df607f51af121496", + "new_receipt_trie_node_byte": "0xb9010d02f9010901830261f2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", "gas_used": 21000 } }, { "traces": { - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298697c6943d9120afe22", - "storage_read": [ - "0x05e950c03214daf5e318e3c0401e87e5c3b14177b9a9993d2e5f6176bb0f752a", - "0x6f30373353cd870b4908853b6b6aeeb83a1beeca429766b945bb09b495ec005a" - ], - "storage_written": { - "0x6f30373353cd870b4908853b6b6aeeb83a1beeca429766b945bb09b495ec005a": "0x0", - "0x05e950c03214daf5e318e3c0401e87e5c3b14177b9a9993d2e5f6176bb0f752a": "0xa93695763797be6ad4" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } + "0x4cd07021072937e16f437a6683542f3c13615da7": { + "balance": "0x151046f1aebe8" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x808d0aee8db7e7c74faf4b264333afe8c9ccdba4": { + "balance": "0x120259fd6380ed4332", + "nonce": "0x429b2" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x6fffd3f7a61e4d3e" + } + }, + "meta": { + "byte_code": "0x02f87501830429b184773594008502abf2250e82d6d8944cd07021072937e16f437a6683542f3c13615da7870151046f1aebe880c080a02b90ffc3873d61dba34ffa64f8c8df15e03550c9a469ff803c84e5218bbc1ceda033edfd7e87d91001234bf34a31a8d1ae51f04d54f68e2192e228e18d3db627aa", + "new_txn_trie_node_byte": "0x02f87501830429b184773594008502abf2250e82d6d8944cd07021072937e16f437a6683542f3c13615da7870151046f1aebe880c080a02b90ffc3873d61dba34ffa64f8c8df15e03550c9a469ff803c84e5218bbc1ceda033edfd7e87d91001234bf34a31a8d1ae51f04d54f68e2192e228e18d3db627aa", + "new_receipt_trie_node_byte": "0xb9010d02f90109018302b3fab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x163f8c2467924be0ae7b5347228cabf260318753": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x1d8f9d3b80add4b8c2fcca5ec65951887a33ad8dde5977683ae090432e8c878b", - "0xd867d4235f4a1fe9b8ca4498de653f938daf14075a1b49c957efece957172746", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x23e2bec196ba8cdd4280587b75dca260bf1683782e4e1759a7324be3ffbf63b6", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x1572aaefe0b2199f071561b88893f3a8e7cdfabcde8e36f23fcc9ea63b8e0c8c" + "0xc0ec8fbf02d70b2873f5a76f503e97bd1b0ca8048ab517fad231214a74ebe459", + "0x416986ea53b0efa2081d8d8e820903db4c311c74aa6347dbb5d6574fe48314ba" ], "storage_written": { - "0xd867d4235f4a1fe9b8ca4498de653f938daf14075a1b49c957efece957172746": "0x0", - "0x1572aaefe0b2199f071561b88893f3a8e7cdfabcde8e36f23fcc9ea63b8e0c8c": "0x80ebb866869", - "0x1d8f9d3b80add4b8c2fcca5ec65951887a33ad8dde5977683ae090432e8c878b": "0x1b546dd2" + "0x416986ea53b0efa2081d8d8e820903db4c311c74aa6347dbb5d6574fe48314ba": "0x2cf50cef8f125400", + "0xc0ec8fbf02d70b2873f5a76f503e97bd1b0ca8048ab517fad231214a74ebe459": "0x7eaa04469e41352df2d6" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x24d2822bd010463716f27a942c37c6f5da08c3393c86f5c6b179fafcbb3b6ae2" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19635cfb1fd3b3f11" - }, - "0x2e0b3afb185bfb3ddf3b7c711955274fd6412666": { - "balance": "0x74ac34fdc8c17bd", - "nonce": "0x3fd" + "0x28c6c06298d514db089934071355e5743bf21d60": { + "balance": "0xf1388f742a2cb89da12", + "nonce": "0x930098" }, - "0x5f1314cf2c13517d79a828c6aab4b173de47462d": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "code_usage": { - "read": "0xaf2150cafdd865cc1c7c68cba44957157788c60481de6a5c4b03a13fa2ef8295" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700031d8e4c2e93e" + } + }, + "meta": { + "byte_code": "0x02f8b4018393009784773594008517bfac7c008303291894163f8c2467924be0ae7b5347228cabf26031875380b844a9059cbb0000000000000000000000004edb39feaf16557ee2694ec5f3d54b757f667bf20000000000000000000000000000000000000000000000002cf50cef8f125400c080a0e563fb61effcb458dde3858c3a3373c574da5c392bf72094511e0dd47d00e163a0718040e4732db2a3fd35aa009a1ce3184b1ed4d3e04048bf933cf832c8ff7336", + "new_txn_trie_node_byte": "0x02f8b4018393009784773594008517bfac7c008303291894163f8c2467924be0ae7b5347228cabf26031875380b844a9059cbb0000000000000000000000004edb39feaf16557ee2694ec5f3d54b757f667bf20000000000000000000000000000000000000000000000002cf50cef8f125400c080a0e563fb61effcb458dde3858c3a3373c574da5c392bf72094511e0dd47d00e163a0718040e4732db2a3fd35aa009a1ce3184b1ed4d3e04048bf933cf832c8ff7336", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183037d95b9010000000000000000000000000000000000000000000000000000000000000000000000000000000080000001000000000000000000000000800000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020001000000000082000000000000000000000000000000000000000000020000000000000000000001000000000000000000000000000000000000000000000000000000f89df89b94163f8c2467924be0ae7b5347228cabf260318753f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000028c6c06298d514db089934071355e5743bf21d60a00000000000000000000000004edb39feaf16557ee2694ec5f3d54b757f667bf2a00000000000000000000000000000000000000000000000002cf50cef8f125400", + "gas_used": 51611 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700074cc05df613e" }, - "0x06da0fd433c1a5d7a4faa01111c044910a184553": { + "0x5b7533812759b45c2b44c19e320ba2cd2681b542": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a" + "0x507f23fce2bd949c083e53237d2f1d0ac2c6004816f78e2de31cb8aec270174b", + "0xabf7c265e73bb3bdb8e4a5d597a7808f7dc5e7719747642fc7b08c6355e8ed75" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x388eb3fee33e8e2507f2066e1abf", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de70000000000000000080ebb8668690000000000a93695763797be6ad4", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x10436ed4c3bc01aad66ad0d7ffc23ba803d0a6dde58", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + "0xabf7c265e73bb3bdb8e4a5d597a7808f7dc5e7719747642fc7b08c6355e8ed75": "0x36c2e71d1c40", + "0x507f23fce2bd949c083e53237d2f1d0ac2c6004816f78e2de31cb8aec270174b": "0x8528f4e5ffe0" }, "code_usage": { - "read": "0xcd82e2d9daddbf51cbce8d5429a0996e16fc670c4056566f19cf8864ad45a746" - } - }, - "0xd9e1ce17f2641f24ae83637ab66a2cca9c378b9f": { - "code_usage": { - "read": "0x2cd062d965df55b27a1f2d3c926212a046256dfc4191d9c32c82c5efbf3b231f" + "read": "0xb78fea465c0dd22ef8be85c23964d4842498fcbed1e650268f3cf84229b7a4e9" } }, - "0xa7a36f069bbaab279f8308923bff04857ee51f7c": { - "balance": "0x9abc86a5f23589" + "0xdfd5293d8e347dfe59e90efd55b2956a1343963d": { + "balance": "0x1f0a51c9b659d435cb6", + "nonce": "0x87e1aa" } }, "meta": { - "byte_code": "0xf9026d8203fc8509bd134886830f4240945f1314cf2c13517d79a828c6aab4b173de47462d80b902046d1e4d6b000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000763e865000000000000000000000000a7a36f069bbaab279f8308923bff04857ee51f7c00000000000000000000000000000000000000000000000000976a0b878ca1f1000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010418cbafe5000000000000000000000000000000000000000000000000000000000763e86500000000000000000000000000000000000000000000000000976a0b878ca1f100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000005f1314cf2c13517d79a828c6aab4b173de47462d0000000000000000000000000000000000000000000000000000000065cf6bf00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000026a0e454470b7a58c6ede330623c229cf43befd2120d0fc70b82d22a0f11981d9eb4a061bb089e5c6e2c738bfa06235cabb80e7b6b8688f213b7fefb722f25acfabe12", - "new_txn_trie_node_byte": "0xf9026d8203fc8509bd134886830f4240945f1314cf2c13517d79a828c6aab4b173de47462d80b902046d1e4d6b000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000000763e865000000000000000000000000a7a36f069bbaab279f8308923bff04857ee51f7c00000000000000000000000000000000000000000000000000976a0b878ca1f1000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9f00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010418cbafe5000000000000000000000000000000000000000000000000000000000763e86500000000000000000000000000000000000000000000000000976a0b878ca1f100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000005f1314cf2c13517d79a828c6aab4b173de47462d0000000000000000000000000000000000000000000000000000000065cf6bf00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000026a0e454470b7a58c6ede330623c229cf43befd2120d0fc70b82d22a0f11981d9eb4a061bb089e5c6e2c738bfa06235cabb80e7b6b8688f213b7fefb722f25acfabe12", - "new_receipt_trie_node_byte": "0xf9059201830593f6b9010000200001000000000080000080000000000000000000000000010000000000000014000000000000000000000000010002002000080000000000000000200000000000000000000080000008000000200000000000440000080000400000000000000010000000000000000000000000000000000000040000000010000000000000000000000000000000000000000000000000000000080000004000100000020000000000000000000080000000000000000000020000000000000000000000400002000000000000000000000000000000000400001000000002002000001010200000010000000000000000000000000000000000000000000000000000f90487f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000005f1314cf2c13517d79a828c6aab4b173de47462da0000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9fa0000000000000000000000000000000000000000000000000000000000763e865f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005f1314cf2c13517d79a828c6aab4b173de47462da000000000000000000000000006da0fd433c1a5d7a4faa01111c044910a184553a0000000000000000000000000000000000000000000000000000000000763e865f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000006da0fd433c1a5d7a4faa01111c044910a184553a0000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9fa0000000000000000000000000000000000000000000000000009abc86a5f23589f8799406da0fd433c1a5d7a4faa01111c044910a184553e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000a93695763797be6ad40000000000000000000000000000000000000000000000000000080ebb866869f8fc9406da0fd433c1a5d7a4faa01111c044910a184553f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9fa0000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9fb8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000763e865000000000000000000000000000000000000000000000000009abc86a5f235890000000000000000000000000000000000000000000000000000000000000000f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000d9e1ce17f2641f24ae83637ab66a2cca9c378b9fa0000000000000000000000000000000000000000000000000009abc86a5f23589f8b9945f1314cf2c13517d79a828c6aab4b173de47462de1a0a17db8f15af02c582aa3ecb40e93f5aea888c6fd35c67072b883723dd38a06f8b880000000000000000000000000000000000000000000000000000000000763e865000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000976a0b878ca1f1000000000000000000000000000000000000000000000000009abc86a5f23589", - "gas_used": 176285 + "byte_code": "0x02f8b4018387e1a984773594008517bfac7c0083032918945b7533812759b45c2b44c19e320ba2cd2681b54280b844a9059cbb000000000000000000000000d8d6ffe342210057bf4dcc31da28d006f253cef00000000000000000000000000000000000000000000000000000062ef80f1400c080a0723c40556e69a8d2b810b745f48d279be04c589f6285c0309322f2d888c79729a06a44e5641a5b1466d9f304ba612d63c4dfe6eebe0053ff079f936f25846e895e", + "new_txn_trie_node_byte": "0x02f8b4018387e1a984773594008517bfac7c0083032918945b7533812759b45c2b44c19e320ba2cd2681b54280b844a9059cbb000000000000000000000000d8d6ffe342210057bf4dcc31da28d006f253cef00000000000000000000000000000000000000000000000000000062ef80f1400c080a0723c40556e69a8d2b810b745f48d279be04c589f6285c0309322f2d888c79729a06a44e5641a5b1466d9f304ba612d63c4dfe6eebe0053ff079f936f25846e895e", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183040d5bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000008000000200002000000000000000000000000000000000000000000000000000000000000000000000000000004000010000000000000000000000000000000000002000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000020000000000000000080400000000000000000000000000000000000000000000000000000000000000000f89df89b945b7533812759b45c2b44c19e320ba2cd2681b542f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000dfd5293d8e347dfe59e90efd55b2956a1343963da0000000000000000000000000d8d6ffe342210057bf4dcc31da28d006f253cef0a00000000000000000000000000000000000000000000000000000062ef80f1400", + "gas_used": 36806 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19636a662ba026c41" + "0x3597bfd533a99c9aa083587b074434e61eb0a258": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x9d5f650b095ce1e2705888295014568ee16f29a35c630fc3423a7f90e62693b4", + "0x38e0409a09341495b0fe2041ee1218909daa3be9a67f3ae0f0e54a164df3392a" + ], + "storage_written": { + "0x38e0409a09341495b0fe2041ee1218909daa3be9a67f3ae0f0e54a164df3392a": "0x2d4d4b5b3400", + "0x9d5f650b095ce1e2705888295014568ee16f29a35c630fc3423a7f90e62693b4": "0x8540c710a7dafa" + }, + "code_usage": { + "read": "0x0778c65e6aca34c473fab26496bfef002d2448625f7f159440bae8a67aec8920" + } }, - "0x1ab4973a48dc892cd9971ece8e01dcc7688f8f23": { - "balance": "0xdeda085399dd10a902", - "nonce": "0x19ac8" + "0x362615912e77c46ce9dac206af4ca661b2fd909b": { + "balance": "0x198ee8011f013d04", + "nonce": "0x60" }, - "0x9e5cf8ae54253b93894c02e12a3216d6ea849a7f": { - "balance": "0x2ac816e03cf5ca78" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7000d7e3da56e53e" } }, "meta": { - "byte_code": "0xf87083019ac78509bcc52f7b830186a0949e5cf8ae54253b93894c02e12a3216d6ea849a7f882a3c33ff591778008026a0b598a257f94f8ed180e942d186e5594c729d7a912ca8003da1ef64db65bc97f3a01c65a6fadf6c07e3ce16031adf08d879a043c1451a51fd7cc4d2c71c7b8d06b8", - "new_txn_trie_node_byte": "0xf87083019ac78509bcc52f7b830186a0949e5cf8ae54253b93894c02e12a3216d6ea849a7f882a3c33ff591778008026a0b598a257f94f8ed180e942d186e5594c729d7a912ca8003da1ef64db65bc97f3a01c65a6fadf6c07e3ce16031adf08d879a043c1451a51fd7cc4d2c71c7b8d06b8", - "new_receipt_trie_node_byte": "0xf90109018305e5feb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f8b1015f847735940085021d723c8483030d40943597bfd533a99c9aa083587b074434e61eb0a25880b844a9059cbb0000000000000000000000007a3ddae44db429521e561757cb6e3b856b2b6b8900000000000000000000000000000000000000000000000000002d4d4b5b3400c080a006e602c6b7962edbed32ddc35a6ca6418ae7a52b9fa635332b2b1b19af9201b9a008c545e390388dc8063708c5a6a90169687ac7012144ba84cbb513c47134a0ba", + "new_txn_trie_node_byte": "0x02f8b1015f847735940085021d723c8483030d40943597bfd533a99c9aa083587b074434e61eb0a25880b844a9059cbb0000000000000000000000007a3ddae44db429521e561757cb6e3b856b2b6b8900000000000000000000000000000000000000000000000000002d4d4b5b3400c080a006e602c6b7962edbed32ddc35a6ca6418ae7a52b9fa635332b2b1b19af9201b9a008c545e390388dc8063708c5a6a90169687ac7012144ba84cbb513c47134a0ba", + "new_receipt_trie_node_byte": "0xb901ab02f901a7018304e228b9010000000000000000000000040000000400000000000000000000000800000000000000000000000000008000000000000000000000000000000000000000000020000000000000000000000008000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000002000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000008000000000000000000000f89df89b943597bfd533a99c9aa083587b074434e61eb0a258f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000362615912e77c46ce9dac206af4ca661b2fd909ba00000000000000000000000007a3ddae44db429521e561757cb6e3b856b2b6b89a000000000000000000000000000000000000000000000000000002d4d4b5b3400", + "gas_used": 54477 } }, { "traces": { - "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { + "0xf8094e15c897518b5ac5287d7070ca5850efc6ff": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000b" + ], "code_usage": { - "read": "0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2" + "read": "0x2ab20342bb55c62e76cfeeffd1419d6ff6d3fc82f2c4cfdd805d09ee1a6cf725" } }, - "0x5e37718cedad7cc99cc220c417f5095573b510c6": { + "0xc46750ce14116f03c5ac00ae8103792a6a4f6d85": { + "balance": "0x1fef81a8ca34b838", + "nonce": "0x6e8" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7001a331e236c53e" + }, + "0x0abdace70d3790235af448c88547603b945604ea": { "storage_read": [ - "0xef21b8007bf2a6a9857ea2189ba339cc0de15f8a2f4b59a51377aa3b9a19ca40", - "0xfbd4c12605247405c544a5378d3de984e71398fdee3d7148f39c584fee304265", - "0x873fe42076e79e3da705b99918658ab486530ac7f57454983de4f8afb6d05b1c", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x57915f62b2dbfb75114a0267474495855da7af031b99e378eda89c75207d07fd", - "0x0bbee55ca85bbdfb834d4f91939d9c436ec7fb71c0ccf8a959583a66ea68af8f", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x0000000000000000000000000000000000000000000000000000000000000009", "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x1782eed26a133e8e92b23464c88f2355ec9c15410fbaf8e873192317fbd956e8", - "0xf3d64580d9a0de0fe3e03212619a37e040bc0ea4b09d2b1055bdfaa9e73f96a5", - "0xa079a2a34fe9ed65fcd26c871058064318713aac24bc1d0db9f0f80315b6d2ca", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x0000000000000000000000000000000000000000000000000000000000000019" + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x657b35dec4ec8b91e9f8e76197437d557e6905fd9d0de21d03b70ee52bd81ce8", + "0xac4a58837995f4ae099776d76743cc8e9bfecde517ea48f0c0cf91b8a3e75a46", + "0xac4a58837995f4ae099776d76743cc8e9bfecde517ea48f0c0cf91b8a3e75a47", + "0xc33cdf3087abadf295e42fd43fe02b395305226274050b429713b8d6cdf62b70", + "0x657b35dec4ec8b91e9f8e76197437d557e6905fd9d0de21d03b70ee52bd81ce7", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x280d99241f446851970ac6161b82dbe2555cc8ba46251c19ace088222538134f", + "0xac4a58837995f4ae099776d76743cc8e9bfecde517ea48f0c0cf91b8a3e74cea", + "0x503d4ae27533f3e68a43c06dfbb4c9b2744adefc438f1c339999ee431ab2a100", + "0x657b35dec4ec8b91e9f8e76197437d557e6905fd9d0de21d03b70ee52bd814cb" ], "storage_written": { - "0x1782eed26a133e8e92b23464c88f2355ec9c15410fbaf8e873192317fbd956e8": "0x18c6c95908f2c333", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x7c", - "0xf3d64580d9a0de0fe3e03212619a37e040bc0ea4b09d2b1055bdfaa9e73f96a5": "0xffffffffffffffffffffffffffffffffffffffffffffffffff639915bd965003", - "0xfbd4c12605247405c544a5378d3de984e71398fdee3d7148f39c584fee304265": "0x0" + "0x503d4ae27533f3e68a43c06dfbb4c9b2744adefc438f1c339999ee431ab2a100": "0x81e", + "0x657b35dec4ec8b91e9f8e76197437d557e6905fd9d0de21d03b70ee52bd81ce8": "0x81871b862d60e0b085d21000000000000000000000000012dcc0f", + "0xac4a58837995f4ae099776d76743cc8e9bfecde517ea48f0c0cf91b8a3e75a47": "0x1364db0cdeeb3347ec00000000000000000000000000012dcc0f", + "0x280d99241f446851970ac6161b82dbe2555cc8ba46251c19ace088222538134f": "0xd5e" }, "code_usage": { - "read": "0x2dba98c3ffc1e20dd1f9474f247d51b8435d6c8cae54fb833a14a0042c889216" + "read": "0x8d6e37db5d99f11e37d9c88caba4d5d18b82e2df3b95cf2f796374a13f1d1ba2" } + } + }, + "meta": { + "byte_code": "0x02f8b3018206e7847735940085026046472083030d40940abdace70d3790235af448c88547603b945604ea80b844a9059cbb000000000000000000000000cef2470420f2cbbc5d411608339a19cf8ad27332000000000000000000000000000000000000000000001364db0cdeeb3347ec00c001a0c063312f7f038717316e5364d9cd909ac80b978929dc35f20675ea87e92d18c7a01a0bf3ad4f39f4378d4ece51a02e765449e20730499fd9d9c42176859306c0bf", + "new_txn_trie_node_byte": "0x02f8b3018206e7847735940085026046472083030d40940abdace70d3790235af448c88547603b945604ea80b844a9059cbb000000000000000000000000cef2470420f2cbbc5d411608339a19cf8ad27332000000000000000000000000000000000000000000001364db0cdeeb3347ec00c001a0c063312f7f038717316e5364d9cd909ac80b978929dc35f20675ea87e92d18c7a01a0bf3ad4f39f4378d4ece51a02e765449e20730499fd9d9c42176859306c0bf", + "new_receipt_trie_node_byte": "0xb901ab02f901a701830696c0b9010000200000000000000000000000000000002000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020008002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000100000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b940abdace70d3790235af448c88547603b945604eaf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c46750ce14116f03c5ac00ae8103792a6a4f6d85a0000000000000000000000000cef2470420f2cbbc5d411608339a19cf8ad27332a0000000000000000000000000000000000000000000001364db0cdeeb3347ec00", + "gas_used": 111768 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70027ced12f6c13e" }, - "0x2dd689bc44fbee35491f475498c443d88ae63418": { + "0x744d70fdbe2ba4cf95131626614a1763df805b9e": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x1d1e97734a1e5dbc5838a7317d618f3ea47b49998445991fc8fea1b11b5dbadd", + "0x1d1e97734a1e5dbc5838a7317d618f3ea47b49998445991fc8fea1b11b5df688", + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007" + "0x8bdba8161ea109359bea3bcbaf0ca3f82c08aca92e7edf6bd9cd6cb771a92ff9", + "0x1d1e97734a1e5dbc5838a7317d618f3ea47b49998445991fc8fea1b11b5df689", + "0x7964c84aa5e27eb29cb96de6e0c6c5a86919d03c449f8e84d56692eae10b3d88", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x1c8ea1b401f5500c9c2e1d7fc853b085be5d66aee165ee64fd633ea3eed6ed8c", + "0x000000000000000000000000000000000000000000000000000000000000000b" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000000474b011c40a0abfa00000000000018c6c95908f2c333", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x332fcd1ebbde8dd06df49994cc0aacf8", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x3e3e8947bf3c11814c0acb86c0e18a0", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + "0x1d1e97734a1e5dbc5838a7317d618f3ea47b49998445991fc8fea1b11b5df689": "0x184580ce90b7f47bf4ab4c000000000000000000000000012dcc0f", + "0x7964c84aa5e27eb29cb96de6e0c6c5a86919d03c449f8e84d56692eae10b3d88": "0x1", + "0x8bdba8161ea109359bea3bcbaf0ca3f82c08aca92e7edf6bd9cd6cb771a92ff9": "0x3bad", + "0x1c8ea1b401f5500c9c2e1d7fc853b085be5d66aee165ee64fd633ea3eed6ed8c": "0x109543fe30cd4d900000000000000000000000000000012dcc0f" }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0xbfab9013764150ad9235f83c5c7580232dcbd15b12f81d5ee81ee878c196cd75" } }, - "0xa12f10032d8877dff2f759a1e63e23e7d0090cc1": { - "balance": "0x58007e3f9d92702", - "nonce": "0xb1" + "0x28c6c06298d514db089934071355e5743bf21d60": { + "balance": "0xf1388f4652b7857f38d", + "nonce": "0x930099" }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298697a9d3bd7c5f2c0a0", + "0x52ae2b53c847327f95a5084a7c38c0adb12fd302": { "storage_read": [ - "0x9bc7ec8ae6fdb064e5d4de11792c60b7a0eafc09550de150eb14f4ca7b09ea9a", - "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8" + "0x0000000000000000000000000000000000000000000000000000000000000004" ], - "storage_written": { - "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8": "0x0", - "0x9bc7ec8ae6fdb064e5d4de11792c60b7a0eafc09550de150eb14f4ca7b09ea9a": "0x474b011c40a0abfa" - }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x536549f0f050cd75a0b836cc4f2e068204734dd72c039d218ee194c9452ce346" } + } + }, + "meta": { + "byte_code": "0x02f8b4018393009884773594008517bfac7c008303291894744d70fdbe2ba4cf95131626614a1763df805b9e80b844a9059cbb0000000000000000000000005e2770a4f9010f14a13c3831604f1ab2c6cccdf700000000000000000000000000000000000000000000109543fe30cd4d900000c001a014fc22c70bed0e6f9597bdafde94a997dbdccecf203248b5378320a2bea77122a046f6d5fff9f34d78e9a53f8c9a5a384bd5a83fc95f5db3a5c6c72c1139292a73", + "new_txn_trie_node_byte": "0x02f8b4018393009884773594008517bfac7c008303291894744d70fdbe2ba4cf95131626614a1763df805b9e80b844a9059cbb0000000000000000000000005e2770a4f9010f14a13c3831604f1ab2c6cccdf700000000000000000000000000000000000000000000109543fe30cd4d900000c001a014fc22c70bed0e6f9597bdafde94a997dbdccecf203248b5378320a2bea77122a046f6d5fff9f34d78e9a53f8c9a5a384bd5a83fc95f5db3a5c6c72c1139292a73", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183086a53b9010000000000000000000000000000000000000000000000000000000000000000000000010000000000000001000000000000000000000000000000000000000000000000000000000000000008000000000000000000100000000000000000000000000000004080000000000000000000000000000000000002000010000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000f89df89b94744d70fdbe2ba4cf95131626614a1763df805b9ef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000028c6c06298d514db089934071355e5743bf21d60a00000000000000000000000005e2770a4f9010f14a13c3831604f1ab2c6cccdf7a000000000000000000000000000000000000000000000109543fe30cd4d900000", + "gas_used": 119699 + } + }, + { + "traces": { + "0x10699d7da421ac8a26143b8ff91b2471d15f38d0": { + "balance": "0x2dfe49ae61745b", + "nonce": "0x1e" + }, + "0x46e7cb4d949c4b025c0e1e2304e0b86705a8ba46": { + "balance": "0x268861293be000" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1963b8e1eef8827ca" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7002a31e015d3b36" } }, "meta": { - "byte_code": "0xf9016c81b08509502f9000830a51b3947a250d5630b4cf539739df2c5dacb4c659f2488d80b90104791ac947000000000000000000000000000000000000000000000000009c66ea4269affc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a12f10032d8877dff2f759a1e63e23e7d0090cc1000000000000000000000000000000000000000000000000000000006bc53ede00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005e37718cedad7cc99cc220c417f5095573b510c6000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc225a0482a6db2b6038af7829be85e11b354b7da06d4ced7c314296f1c102f16a8fc3fa05d0edfaeba1ef3df412cf59d3557c71e2f28fcaa53d2e17e8adb2c01c866cda7", - "new_txn_trie_node_byte": "0xf9016c81b08509502f9000830a51b3947a250d5630b4cf539739df2c5dacb4c659f2488d80b90104791ac947000000000000000000000000000000000000000000000000009c66ea4269affc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a12f10032d8877dff2f759a1e63e23e7d0090cc1000000000000000000000000000000000000000000000000000000006bc53ede00000000000000000000000000000000000000000000000000000000000000020000000000000000000000005e37718cedad7cc99cc220c417f5095573b510c6000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc225a0482a6db2b6038af7829be85e11b354b7da06d4ced7c314296f1c102f16a8fc3fa05d0edfaeba1ef3df412cf59d3557c71e2f28fcaa53d2e17e8adb2c01c866cda7", - "new_receipt_trie_node_byte": "0xf904d70183082299b9010000200000000000000000000080008000000000000000000000010000000000000200000040000000000000000000000002000000080000000010000000200000000000000000000000000008000000200000000000400000000000000000000000100000000000000000000000000000000000000000040000000010000000000000000002000000004000400000000000000000000000080000004000000000020000000000080000002000000000000000000000000000000000000000000000000002004000000000000000000004000000000000001800000002000020000010200000000000000000000000000000000000000000000000000000000000f903ccf89b945e37718cedad7cc99cc220c417f5095573b510c6f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a12f10032d8877dff2f759a1e63e23e7d0090cc1a00000000000000000000000002dd689bc44fbee35491f475498c443d88ae63418a0000000000000000000000000000000000000000000000000009c66ea4269affcf89b945e37718cedad7cc99cc220c417f5095573b510c6f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a12f10032d8877dff2f759a1e63e23e7d0090cc1a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0ffffffffffffffffffffffffffffffffffffffffffffffffff639915bd965003f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002dd689bc44fbee35491f475498c443d88ae63418a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da000000000000000000000000000000000000000000000000001cc08014c183d82f879942dd689bc44fbee35491f475498c443d88ae63418e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000018c6c95908f2c333000000000000000000000000000000000000000000000000474b011c40a0abfaf8fc942dd689bc44fbee35491f475498c443d88ae63418f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488db880000000000000000000000000000000000000000000000000009c66ea4269affc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001cc08014c183d82f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da000000000000000000000000000000000000000000000000001cc08014c183d82", - "gas_used": 146587 + "byte_code": "0x02f872011d84772f797f85020d2ef34a8252089446e7cb4d949c4b025c0e1e2304e0b86705a8ba4687268861293be00080c001a0c44d51f5c75cc2af18f1d53c4603e01da1c3680b58f1cd38c5c676656c0bcefaa06fff40a038a21e2e8e917e03aac57ad5a3167966440f754ebd6aa1a78c9978fd", + "new_txn_trie_node_byte": "0x02f872011d84772f797f85020d2ef34a8252089446e7cb4d949c4b025c0e1e2304e0b86705a8ba4687268861293be00080c001a0c44d51f5c75cc2af18f1d53c4603e01da1c3680b58f1cd38c5c676656c0bcefaa06fff40a038a21e2e8e917e03aac57ad5a3167966440f754ebd6aa1a78c9978fd", + "new_receipt_trie_node_byte": "0xb9010d02f90109018308bc5bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x33f991e7566101e6b1b0991bc9c77b2fcf719738": { - "balance": "0x4666d53fbada41", - "nonce": "0x4" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7002c760041bad7e" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1963c6dc66b5b72ee" + "0xbb3692e69f3f07bf0ab480d46d45914f431aef36": { + "balance": "0x263eed34b5ca8fca" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage_written": { - "0x5774148d220087bc36e9a45b6b8ba61b38bf1dba695e287ecb7dec8529d6e7d0": "0x0" - }, - "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" - } + "0xbce5cbae369422275dbb9f8a0a25f18e32e0b677": { + "balance": "0x29667b79c343e2a", + "nonce": "0xca" } }, "meta": { - "byte_code": "0xf8aa0385092283e85e8301388094dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b30000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d000000000000000000000000000000000000000000000000000000000000000026a05f67cc3a36e57c639e1f278594094b6a3e55180a04f8fd57ad936150037e3ee0a06883212ca67d385d33749d5c3425f2564527847f84059af6465344bda0aac21c", - "new_txn_trie_node_byte": "0xf8aa0385092283e85e8301388094dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b30000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d000000000000000000000000000000000000000000000000000000000000000026a05f67cc3a36e57c639e1f278594094b6a3e55180a04f8fd57ad936150037e3ee0a06883212ca67d385d33749d5c3425f2564527847f84059af6465344bda0aac21c", - "new_receipt_trie_node_byte": "0xf901a7018308919db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000040000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000001000000000000000000000000000000000000000000000100000020000000000000000000080000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000200000000010000000000000000000800000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000033f991e7566101e6b1b0991bc9c77b2fcf719738a00000000000000000000000001111111254fb6c44bac0bed2854e76f90643097da00000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 28420 + "byte_code": "0x02f8740181c9847735940085018b853a9082520894bb3692e69f3f07bf0ab480d46d45914f431aef368804ae77405dbdd62280c001a003389f80e046bb789bcc998d8a56aff8f288292d6fd254c5140f0f9cd503994ca07d67d793f4d11ac12c2464793a963f590dde5ff876c122c87b46bed68ef558aa", + "new_txn_trie_node_byte": "0x02f8740181c9847735940085018b853a9082520894bb3692e69f3f07bf0ab480d46d45914f431aef368804ae77405dbdd62280c001a003389f80e046bb789bcc998d8a56aff8f288292d6fd254c5140f0f9cd503994ca07d67d793f4d11ac12c2464793a963f590dde5ff876c122c87b46bed68ef558aa", + "new_receipt_trie_node_byte": "0xb9010d02f901090183090e63b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1963d405ab61a57ee" + "0x7512bcba6a18d161c03790c95111b3f1a899fd5f": { + "balance": "0x0", + "nonce": "0x8" }, - "0xa915bfb9f246cd5c276244b4ba58de964a7bdb39": { - "balance": "0x258bba1743933443", - "nonce": "0x39" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7002eba206da1fc6" + }, + "0xac89386d47b34f99005a961b9a242cb9ce92d04e": { + "balance": "0x37f056e014cf80" + } + }, + "meta": { + "byte_code": "0x02f873010785018b853a9085018b853a9082520894ac89386d47b34f99005a961b9a242cb9ce92d04e8737f056e014cf8080c080a0e06dd201d71576be46e21248c11795a8133311699009e49184e61d2929998555a0339161272cd045d5f77a4f9819a2a2b42c70e54595bbb1bbf7d197747fc1c66b", + "new_txn_trie_node_byte": "0x02f873010785018b853a9085018b853a9082520894ac89386d47b34f99005a961b9a242cb9ce92d04e8737f056e014cf8080c080a0e06dd201d71576be46e21248c11795a8133311699009e49184e61d2929998555a0339161272cd045d5f77a4f9819a2a2b42c70e54595bbb1bbf7d197747fc1c66b", + "new_receipt_trie_node_byte": "0xb9010d02f90109018309606bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x5412dd20fb178baf735a23c06b1533faeacd53c4": { + "balance": "0x3506039d64ac6", + "nonce": "0x2" }, - "0xf57e7e7c23978c3caec3c3548e3d615c346e79ff": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70034260d8446ce2" + }, + "0x3429d03c6f7521aec737a0bbf2e5ddcef2c3ae31": { "storage_read": [ - "0xa69099abebff5bca7cc8d44689205032e07aa69a4ca2746605b250af401a73fa", - "0x044b610258ea4493ed7acc422061e30b031451076da208912614a6b34b699111" + "0xda2c8deaa506d281dd6a1d963278ee3e164a6446e9beba223b167fd5fb2159a7", + "0xceeb5a765012aff6669d3c22938963d5136847d59958f01e6561306bd9bc3284" ], "storage_written": { - "0x044b610258ea4493ed7acc422061e30b031451076da208912614a6b34b699111": "0x0", - "0xa69099abebff5bca7cc8d44689205032e07aa69a4ca2746605b250af401a73fa": "0xf5788dfc63e53aea63" + "0xda2c8deaa506d281dd6a1d963278ee3e164a6446e9beba223b167fd5fb2159a7": "0x30927f74c9de00000", + "0xceeb5a765012aff6669d3c22938963d5136847d59958f01e6561306bd9bc3284": "0xa81c4c97edcfb20" }, "code_usage": { - "read": "0x7da57fcd828b2ac43a76f9eb5ff41a3f8cc3af4e848291245092c6c962559b62" + "read": "0x092e99ab4e85917c24bca3d8b7f36a7f57f3159f912867a4812a5cf0b3b9b4cb" } } }, "meta": { - "byte_code": "0x02f8d101388508e53732dd8508e53732dd82a4e394f57e7e7c23978c3caec3c3548e3d615c346e79ff80b864a9059cbb00000000000000000000000099870de8ae594e6e8705fc6689e89b4d039af1e200000000000000000000000000000000000000000000000572b355eb94826800908f2e32343a18f1a86447339d14b78c954b0863605301e1247ebeb24294b7d1c001a033c18166a285c047e97cf99eb52d844ea02246d837b230b7dc2617b487a1e486a00f8fb1885cfe622de12cda3d283229f167a78f5328a774bf65b8bac11580385b", - "new_txn_trie_node_byte": "0x02f8d101388508e53732dd8508e53732dd82a4e394f57e7e7c23978c3caec3c3548e3d615c346e79ff80b864a9059cbb00000000000000000000000099870de8ae594e6e8705fc6689e89b4d039af1e200000000000000000000000000000000000000000000000572b355eb94826800908f2e32343a18f1a86447339d14b78c954b0863605301e1247ebeb24294b7d1c001a033c18166a285c047e97cf99eb52d844ea02246d837b230b7dc2617b487a1e486a00f8fb1885cfe622de12cda3d283229f167a78f5328a774bf65b8bac11580385b", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018309083db9010000000000008000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000008000040000000000004000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000008000000000000000000002000000000000000000000000000080000000000000000000200000000000000000000000000000f89df89b94f57e7e7c23978c3caec3c3548e3d615c346e79fff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a915bfb9f246cd5c276244b4ba58de964a7bdb39a000000000000000000000000099870de8ae594e6e8705fc6689e89b4d039af1e2a000000000000000000000000000000000000000000000000572b355eb94826800", - "gas_used": 30368 + "byte_code": "0x02f8b0010184773594008501874099fb82cf09943429d03c6f7521aec737a0bbf2e5ddcef2c3ae3180b844a9059cbb0000000000000000000000006edea5e4ab064e36b0b2f82f7991b0eebe55a9170000000000000000000000000000000000000000000000030927f74c9de00000c001a07f58148cf70686298d847acfdde50522c353cfb9cf59e2f665359e431beadc38a0667059a13cd57a03cb9835f422f39f3b6aaeca1605f9c1a233cd710bd20bce81", + "new_txn_trie_node_byte": "0x02f8b0010184773594008501874099fb82cf09943429d03c6f7521aec737a0bbf2e5ddcef2c3ae3180b844a9059cbb0000000000000000000000006edea5e4ab064e36b0b2f82f7991b0eebe55a9170000000000000000000000000000000000000000000000030927f74c9de00000c001a07f58148cf70686298d847acfdde50522c353cfb9cf59e2f665359e431beadc38a0667059a13cd57a03cb9835f422f39f3b6aaeca1605f9c1a233cd710bd20bce81", + "new_receipt_trie_node_byte": "0xb901ab02f901a701830a2c5eb9010000000000000800000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000010200000000000000000000000000000000000000000102000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000800000000f89df89b943429d03c6f7521aec737a0bbf2e5ddcef2c3ae31f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005412dd20fb178baf735a23c06b1533faeacd53c4a00000000000000000000000006edea5e4ab064e36b0b2f82f7991b0eebe55a917a00000000000000000000000000000000000000000000000030927f74c9de00000", + "gas_used": 52211 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1963dd1f93b87042e" + "0x151b381058f91cf871e7ea1ee83c45326f61e96d": { + "balance": "0x14d1a7dcd6fedca9a", + "nonce": "0x101200" }, - "0x0f25f4051a1aa955c34d9848d52736981fbadb7f": { - "balance": "0x0", - "nonce": "0x19" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70035e3e7e2dbf52" }, - "0xbf5dfa91134795b17718aa3391edab65227a1ee8": { - "balance": "0x93f4e2fc8935a289" + "0x3dc2893732fd502c57eec476c4f033285633f04f": { + "balance": "0x16c76583ecfbf27c" } }, "meta": { - "byte_code": "0x02f87401188508e53732dd8508e53732dd82520894bf5dfa91134795b17718aa3391edab65227a1ee8880bb5490e201fac1180c001a08520735dc7e920a18ecf225e4400e7b82af61b664ff2a74a01a1f51ea21d99e7a04e6f5d9d96354ee1c198e785157ffc5750b818b3cbf7834ffade7e7dbffcaf99", - "new_txn_trie_node_byte": "0x02f87401188508e53732dd8508e53732dd82520894bf5dfa91134795b17718aa3391edab65227a1ee8880bb5490e201fac1180c001a08520735dc7e920a18ecf225e4400e7b82af61b664ff2a74a01a1f51ea21d99e7a04e6f5d9d96354ee1c198e785157ffc5750b818b3cbf7834ffade7e7dbffcaf99", - "new_receipt_trie_node_byte": "0xb9010d02f901090183095a45b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "byte_code": "0x02f87501831011ff8456f66ace8501af06a6b7825208943dc2893732fd502c57eec476c4f033285633f04f87cdb3be447ec00080c001a0f1efa3098738d1c058e8c3c581b4e3a72eab1179fddd489192fad0f2efb9fbaea0652ae6ae8b414e94eba29f799c5be744f52d583c192df180e7402fef5779f21e", + "new_txn_trie_node_byte": "0x02f87501831011ff8456f66ace8501af06a6b7825208943dc2893732fd502c57eec476c4f033285633f04f87cdb3be447ec00080c001a0f1efa3098738d1c058e8c3c581b4e3a72eab1179fddd489192fad0f2efb9fbaea0652ae6ae8b414e94eba29f799c5be744f52d583c192df180e7402fef5779f21e", + "new_receipt_trie_node_byte": "0xb9010d02f9010901830a7e66b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", "gas_used": 21000 } }, { "traces": { - "0x9df1ef9d16078d29b2f69149e3d2fa5f9a8b1ee4": { - "balance": "0x10b0c8887fdb72" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70037a1c241711c2" }, - "0x892362723ace8cee0246120d9f94d23b299bd460": { - "balance": "0x0", - "nonce": "0xb" + "0x6b5ac76ff033d9fa5f87fb07acc923898b3f41b8": { + "balance": "0x2d3292774fe818" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1963e5f4d528fe4a6" + "0xcfc0f98f30742b6d880f90155d4ebb885e55ab33": { + "balance": "0x1a7618490a102fe7c4", + "nonce": "0xf60d7" } }, "meta": { - "byte_code": "0x02f873010a8508d7d341a48508d7d341a4825208949df1ef9d16078d29b2f69149e3d2fa5f9a8b1ee4870f52df905bc53380c001a0375aaa64f18c16f804016db67750cfd140365d1f055abf56454020a4bf8cefeba014b4286d383a434770b505a40b36c51a9f645c90b9080d1455075b8ffe6b655d", - "new_txn_trie_node_byte": "0x02f873010a8508d7d341a48508d7d341a4825208949df1ef9d16078d29b2f69149e3d2fa5f9a8b1ee4870f52df905bc53380c001a0375aaa64f18c16f804016db67750cfd140365d1f055abf56454020a4bf8cefeba014b4286d383a434770b505a40b36c51a9f645c90b9080d1455075b8ffe6b655d", - "new_receipt_trie_node_byte": "0xb9010d02f90109018309ac4db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "byte_code": "0x02f87501830f60d68456f66ace8501af06a6b7825208946b5ac76ff033d9fa5f87fb07acc923898b3f41b8872cdee8b3777c0080c001a0061e007968ddac7480fee1058f02ae40dc9c0c9ab633f262a042ff188f6deae0a02e958f612e61296ae7ec1a3eae60117b763bf1bb48097fd418be6cba681d3c57", + "new_txn_trie_node_byte": "0x02f87501830f60d68456f66ace8501af06a6b7825208946b5ac76ff033d9fa5f87fb07acc923898b3f41b8872cdee8b3777c0080c001a0061e007968ddac7480fee1058f02ae40dc9c0c9ab633f262a042ff188f6deae0a02e958f612e61296ae7ec1a3eae60117b763bf1bb48097fd418be6cba681d3c57", + "new_receipt_trie_node_byte": "0xb9010d02f9010901830ad06eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", "gas_used": 21000 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19643d8bf9da0228b" + "0xb287eac48ab21c5fb1d3723830d60b4c797555b0": { + "balance": "0xd26b5e913a9e39c3", + "nonce": "0xb0f04" }, - "0xa8e1aed437f83898784fdc5c0256412f10be33ae": { - "balance": "0x751ad", - "code_usage": { - "read": "0x86b9410ab0c8744f10d6fa1a46cf9d53e4cd484ef8d60909889183a6021976d2" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700395f9ca006432" + }, + "0x20d76615260f20901f89c5efd769e1b846ccb483": { + "balance": "0x4b2b97f16e3278" + } + }, + "meta": { + "byte_code": "0x02f87501830b0f038456f66ace8501af06a6b78252089420d76615260f20901f89c5efd769e1b846ccb483873ee20e6486400080c001a0ec6b19bcc1d308a8b4566885c4a38d9e1c6333a3045a33ebf3e3d1a505ac3240a0627efc7ad8767adef4cf7150347a4000a73bc4dad4728c4a4b302d85235b09bc", + "new_txn_trie_node_byte": "0x02f87501830b0f038456f66ace8501af06a6b78252089420d76615260f20901f89c5efd769e1b846ccb483873ee20e6486400080c001a0ec6b19bcc1d308a8b4566885c4a38d9e1c6333a3045a33ebf3e3d1a505ac3240a0627efc7ad8767adef4cf7150347a4000a73bc4dad4728c4a4b302d85235b09bc", + "new_receipt_trie_node_byte": "0xb9010d02f9010901830b2276b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7003c69588bc74ef" }, - "0x7eec7a4e6ab3cce23ccc41b8601282716b9eadf4": { + "0x3b50805453023a91a8bf641e279401a0b23fa6f9": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c" + "0x98b0245a67ca05cddd8bff0e950a52cc13a95833192735e861b8634a13888b3c", + "0x3dfb491370b4290302e90268ae62e682b8c0299e57de514d38af2be29ef825a6", + "0xf44be01e794bd0410939c1751f199beb415132575755cc9560856cca6e4b683f", + "0x2cf5af108c95c6d9f4e3f3ef70c9c65e8bb24a3be52575e80c60c223787a9c5c" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de70000000000043a56648452b721ec000000149e7925446f8bba33b4c3", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + "0x98b0245a67ca05cddd8bff0e950a52cc13a95833192735e861b8634a13888b3c": "0x0", + "0x3dfb491370b4290302e90268ae62e682b8c0299e57de514d38af2be29ef825a6": "0xa1544be879ea80000" }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0xf4f29958e527ecb18d30d8151f0f5a73b3db277a6ff3ca8dc2419eeff9e546d1" } }, - "0x19c1f6c7468ad4076b05a5f79e3ee80ce0064718": { - "storage_read": [ - "0xc0d1c00078410fd0164580b0bad93d8a579580d06cf45fc2696a823498097b8a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x23ed39b76a55eaeb124975b74c780c", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000fe105a000000000000000000732b6a85939087a9dedbe5", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x100000000000000000000003465abd5231c9fd886fffffe086b02b065cf5de7" - }, + "0xd85f8793b457902c5f2bca7de3372ba94027afee": { + "balance": "0x3f3c3f150274d8", + "nonce": "0x1" + } + }, + "meta": { + "byte_code": "0x02f8b201808501575edc488501575edc4883014f6d943b50805453023a91a8bf641e279401a0b23fa6f980b844a9059cbb0000000000000000000000005caf7f1f60b8e3203d9371abf936db2cca75292700000000000000000000000000000000000000000000000a1544be879ea80000c080a0423012ab728112b40558d126adefe18ef179a76205cdcc22171cb11d45cbd8e3a001b84bceb20278e2e2ea7032a29fdaace696d4c4a9a2e7b71d4aa461f0acfc2c", + "new_txn_trie_node_byte": "0x02f8b201808501575edc488501575edc4883014f6d943b50805453023a91a8bf641e279401a0b23fa6f980b844a9059cbb0000000000000000000000005caf7f1f60b8e3203d9371abf936db2cca75292700000000000000000000000000000000000000000000000a1544be879ea80000c080a0423012ab728112b40558d126adefe18ef179a76205cdcc22171cb11d45cbd8e3a001b84bceb20278e2e2ea7032a29fdaace696d4c4a9a2e7b71d4aa461f0acfc2c", + "new_receipt_trie_node_byte": "0xb901ab02f901a701830bee73b9010000000000000200000000000000000100000000000000000000000000000000000001000020000000000000000000000000000000000000002000000000000000000000000000000000000008000000000000000000000000000000000000000000000000008000000000000000000000000000000000004000000010000000000020000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b943b50805453023a91a8bf641e279401a0b23fa6f9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d85f8793b457902c5f2bca7de3372ba94027afeea00000000000000000000000005caf7f1f60b8e3203d9371abf936db2cca752927a000000000000000000000000000000000000000000000000a1544be879ea80000", + "gas_used": 52221 + } + }, + { + "traces": { + "0xbba88d6e733dd044a4590325b339435a98cfe56b": { + "nonce": "0x1", "code_usage": { - "read": "0x5218d91b409a649690db747c01aae184e43ffcab370003931ff590f24e0c6959" + "write": "0x608060405236600a57005b36600080376020604036600073f466f27fb811ab1572ca67ab438e966910f5d9c15af45000fea2646970667358221220cd31d7df5797d8b0f1c574d09d57ef4cb1c584709995986ec107980e2b93f0cc64736f6c634300080b0033" } }, - "0xb8a87405d9a4f2f866319b77004e88dff66c0d92": { + "0x6bd1a64227866ac25b7f9c918b3dc32d2a9cfa19": { + "balance": "0x8934bd84f75450bd", + "nonce": "0x219a2" + }, + "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce": { "storage_read": [ - "0xc659b99e79fe0de30a460bd9c30c4e566718ff6cfdcd6379dd0e4e03da9bdc33", - "0xfb74873144d124a9ae5c34d96e470a6709f5decbbff3f7a62bff519f49d57f24", - "0xc31ed9b8b31596222ff0e90049bb798a41abd7fd47b7602205c896a75602cd28", - "0xb04ceb61f5c03b733b515e10ff854b0fc2e559ff6d9ba0459129639a17705c0a", - "0x970ed9cd9741b4afe0d78fd355c8ff7cc4ba99e1a2761b359a6843f105b37df5", - "0x4bfebf24978275179447f7cf6e42e1eec9a958f687caae1285b31998802c28db", - "0x27e9f812186791d033a8f9881ee8bf032f697cd280803eba6d746cdf852e1cec", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0xe9df5837f3bcbb1790cb137a41af6668249cf34a286d7ed605320e67c6c23eb4", - "0xf21cebc87207a45343dbb33a2512a7ff11e6222d87d2759dc5745a55f3df1144", - "0x65b4472f50deaf0b000c8fe050adfbe765d8ed43c5b2a6d53388b95c0ea2bd9f", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x000000000000000000000000000000000000000000000000000000000000001d", - "0xe6b156d4976dc21131e68edc4125a9d124b5877bf8d3c78211f801b255d6d26a", - "0x7f77ab918e11f5a3aa1b83e7fa69b47af3f5cac0a670bc62399e74e5d1d52107", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x2c527d6233ad0a6e83c84c57d052329c3c6fd4c2b817cb7058d80a087c6fc253" + "0x73eea1f525b3ff07b92f2c0dea798f6fa66b3c53df127faeb8ea88038d64941a", + "0x123b7a9b7e8d81ed3ef28996b9b2629cd536a220b4ae89036cc76059a70d74c7" ], "storage_written": { - "0x2c527d6233ad0a6e83c84c57d052329c3c6fd4c2b817cb7058d80a087c6fc253": "0xcb19840e23d5a6", - "0x65b4472f50deaf0b000c8fe050adfbe765d8ed43c5b2a6d53388b95c0ea2bd9f": "0x149e7925446f8bba33b4c3", - "0xf21cebc87207a45343dbb33a2512a7ff11e6222d87d2759dc5745a55f3df1144": "0x125363454b89ea13693a9a" + "0x123b7a9b7e8d81ed3ef28996b9b2629cd536a220b4ae89036cc76059a70d74c7": "0x9a705a61dd6ad974d82905d", + "0x73eea1f525b3ff07b92f2c0dea798f6fa66b3c53df127faeb8ea88038d64941a": "0x0" }, "code_usage": { - "read": "0xa47998f0fcceee76c553f9f49703070078f39a295bd103fff52cd766c9b60168" + "read": "0xd0caa0f9bc744c523933d44e6d8d07f868803d10bf16c8129e12f670296175ad" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298697a7bb288bd523c8c", + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70041925aac8c2ef" + }, + "0xf466f27fb811ab1572ca67ab438e966910f5d9c1": { + "nonce": "0xccf7", "storage_read": [ - "0x363377a7861c6509e20a73b678431d5b8a2b52baffe5a95c8063329611915903", - "0x5defccebecd74077aa0ce566544361c4953269120956a662e3572c4a19339eec", - "0xb88ecc12f0a13010069fe31a467d8303b57edd225d4fb5fdf4e66214cbc6765a" + "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "storage_written": { - "0x5defccebecd74077aa0ce566544361c4953269120956a662e3572c4a19339eec": "0x10bdc43a4517a62de", - "0xb88ecc12f0a13010069fe31a467d8303b57edd225d4fb5fdf4e66214cbc6765a": "0x43a56648452b721ec", - "0x363377a7861c6509e20a73b678431d5b8a2b52baffe5a95c8063329611915903": "0x2540be400" - }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xf84c35a8d4e3f188e60cdb5f1d8d70fbcf0b4c29169cc618a1b469b4422c023e" } - }, - "0xec2c5c305806dda5e2852571ae974dd38cb265dc": { - "balance": "0xc4c5db876c4fb626", - "nonce": "0x9c4" } }, "meta": { - "byte_code": "0x02f90336018209c385015e61440085102fd3daf68319f0a094a8e1aed437f83898784fdc5c0256412f10be33ae818fb902c4dc4d776a0000000000000000000000004838b106fce9647bdf1e7877bf73ce8b0bad5f97000000000000000000000000000000000000000000000001961edf11a86e72ac00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d9200000000000000000000000000000000000000000000000000000000000000020000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf400000000000000000000000019c1f6c7468ad4076b05a5f79e3ee80ce0064718000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0b8201b4404d149caec72d1cde9049156d60ad0a78f98785b56fffc924f55766ca0381a78641e872256caf6ce1371cdd23b617c67f2a1635dfc882521e74217c57a", - "new_txn_trie_node_byte": "0x02f90336018209c385015e61440085102fd3daf68319f0a094a8e1aed437f83898784fdc5c0256412f10be33ae818fb902c4dc4d776a0000000000000000000000004838b106fce9647bdf1e7877bf73ce8b0bad5f97000000000000000000000000000000000000000000000001961edf11a86e72ac00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d9200000000000000000000000000000000000000000000000000000000000000020000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf400000000000000000000000019c1f6c7468ad4076b05a5f79e3ee80ce0064718000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0b8201b4404d149caec72d1cde9049156d60ad0a78f98785b56fffc924f55766ca0381a78641e872256caf6ce1371cdd23b617c67f2a1635dfc882521e74217c57a", - "new_receipt_trie_node_byte": "0xb9069702f9069301830d99feb9010000200000000800000000000080008000000000000000000000000000000000000002000000000000000000000000000002000000080020000000000000000004000000010200000800000008000000200000000000400000000000000000900000000000000000000000020000000009000000000000040000000010000800000000000000000000000000000000000000000000000000480000004000000000000000000000000008000000000000000000000000000300000000000000000040000002000000100000000000000000000000000000001000000002000000000000200008000000000000000000000000000000000000000000000000000000f90588f89b94b8a87405d9a4f2f866319b77004e88dff66c0d92f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000019c1f6c7468ad4076b05a5f79e3ee80ce0064718a0000000000000000000000000a8e1aed437f83898784fdc5c0256412f10be33aea0000000000000000000000000000000000000000000002ca31a0ec03f1751ea53f89b94b8a87405d9a4f2f866319b77004e88dff66c0d92f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a8e1aed437f83898784fdc5c0256412f10be33aea00000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf4a0000000000000000000000000000000000000000000002ca31a0ec03f1751ea53f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf4a0000000000000000000000000a8e1aed437f83898784fdc5c0256412f10be33aea00000000000000000000000000000000000000000000000000933fdfa19f16741f879947eec7a4e6ab3cce23ccc41b8601282716b9eadf4e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000149e7925446f8bba33b4c30000000000000000000000000000000000000000000000043a56648452b721ecf8fc947eec7a4e6ab3cce23ccc41b8601282716b9eadf4f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000a8e1aed437f83898784fdc5c0256412f10be33aea0000000000000000000000000a8e1aed437f83898784fdc5c0256412f10be33aeb880000000000000000000000000000000000000000000002ca31a0ec03f1751ea53000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000933fdfa19f16741f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a8e1aed437f83898784fdc5c0256412f10be33aea000000000000000000000000019c1f6c7468ad4076b05a5f79e3ee80ce0064718a0000000000000000000000000000000000000000000000000091274ab1150e32df9011c9419c1f6c7468ad4076b05a5f79e3ee80ce0064718f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000a8e1aed437f83898784fdc5c0256412f10be33aea0000000000000000000000000a8e1aed437f83898784fdc5c0256412f10be33aeb8a0ffffffffffffffffffffffffffffffffffffffffffffd35ce5f13fc0e8ae15ad000000000000000000000000000000000000000000000000091274ab1150e32d000000000000000000000000000000000000000000732b6a85939087a9dedbe5000000000000000000000000000000000000000000000d5323c032a1f933762dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe105af87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000a8e1aed437f83898784fdc5c0256412f10be33aea00000000000000000000000000000000000000000000000000021894f08a08414", - "gas_used": 257457 + "byte_code": "0x02f8f401830219a1843b9aca00850ba43b74008307a12094f466f27fb811ab1572ca67ab438e966910f5d9c180b884ba35d0b50000000000000000000000000000000068b2f6d299f0267b84f0afb35600873100000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce000000000000000000000000000000000000000000115d9c134fd89145e2000000000000000000000000000090f1f3247930ea8eeb466f04c51d7166a96c8b4ac001a060f0d6ae0af03c66186f51c00e3ec03ee1a8c2db91350ee1926f874ddf83acbea046317b25bf6012257914a7df8b5aded28751a8a537b6c53b017084052484aa6d", + "new_txn_trie_node_byte": "0x02f8f401830219a1843b9aca00850ba43b74008307a12094f466f27fb811ab1572ca67ab438e966910f5d9c180b884ba35d0b50000000000000000000000000000000068b2f6d299f0267b84f0afb35600873100000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce000000000000000000000000000000000000000000115d9c134fd89145e2000000000000000000000000000090f1f3247930ea8eeb466f04c51d7166a96c8b4ac001a060f0d6ae0af03c66186f51c00e3ec03ee1a8c2db91350ee1926f874ddf83acbea046317b25bf6012257914a7df8b5aded28751a8a537b6c53b017084052484aa6d", + "new_receipt_trie_node_byte": "0xb901ab02f901a701830d510eb9010000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000400000000000000000000000000000000000000000000000000001000000000010000000000000000000000000000000000100000400000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000002000000400000000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000f89df89b9495ad61b0a150d79219dcf64e1e6cc01f0b64c4cef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000bba88d6e733dd044a4590325b339435a98cfe56ba000000000000000000000000090f1f3247930ea8eeb466f04c51d7166a96c8b4aa0000000000000000000000000000000000000000000115d9c134fd89145e20000", + "gas_used": 90779 } }, { "traces": { - "0x1f7a48af45678548f6f001a462972e85d619277e": { - "balance": "0x1759ef74d6e21168", - "nonce": "0x1" - }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, - "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70042c3f1c5312ef" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1964ab431ad89f28b" + "0xf9d40a1753a74cd85e9690ba09ef9955de584bee": { + "balance": "0x468382618773c00" }, - "0xaf14c620e5c60082365eebdcdb0674eba5a94d8f": { - "storage_read": [ - "0x00000000000000000000000000000000000000000000003602298b8c10b01230" - ], - "code_usage": { - "read": "0xfd71fa7b1d1a995e1cc15885c7cd8e8fbc3b72f80daad4b33c86a05a47e819f9" - } - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298697ea582f1d5f03c8c", - "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0x1a30329192d6c0ed7f09569d92e56a02620bb5e92457635aeda9144f08296d6b" - ], - "storage_written": { - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", - "0x1a30329192d6c0ed7f09569d92e56a02620bb5e92457635aeda9144f08296d6b": "0xfdf6a90adda60000" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } + "0x0b936179a4358a0f401cf6a04e1edb61046f2f31": { + "balance": "0xde0e1e86bbdc8", + "nonce": "0x1" + } + }, + "meta": { + "byte_code": "0x02f8730180843b9aca00850157cd9f4282520894f9d40a1753a74cd85e9690ba09ef9955de584bee880468382618773c0080c001a0e3cc4aa635f95148294eb2d890f288046570e76c10b0283bd97f9b811e1af5eba01720706780717095104fbee395e570a6b08e264774ccb51879d5aee469d08d83", + "new_txn_trie_node_byte": "0x02f8730180843b9aca00850157cd9f4282520894f9d40a1753a74cd85e9690ba09ef9955de584bee880468382618773c0080c001a0e3cc4aa635f95148294eb2d890f288046570e76c10b0283bd97f9b811e1af5eba01720706780717095104fbee395e570a6b08e264774ccb51879d5aee469d08d83", + "new_receipt_trie_node_byte": "0xb9010d02f9010901830da316b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xead903044cf2e0f9f2f32dddf7eb8b8d13cc07b0": { + "balance": "0x26f011b1df29f1f" }, - "0xbdec23af11083df0f90715de922dbebb9867c282": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000000fdf6a90adda60000000000000030dbe02d6c3afe253d", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x15d13798974d98a21cd5d50ce04d0", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0xee4c82e454939ebabe3a321c43088a8", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70043f588ddd62ef" }, - "0x3fc97c421de5d23e59b42d048857b149e2f1c08d": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000a20d6e21d0e5255308", - "0x2c435cd8d6ffc0e875d0f1c4d37932a3b154cf57b942dac3c71cb21a2089e24a", - "0x6da5d32030204d3002d181902e9473e3c6e8c58db228771d9507d649432bb726", - "0x28fb27bbd5088f48cee7ef943ac381c3625598beb5a1b11efd7059a076e4838f", - "0xb98c1497aa699ab2cb9851bbfe4c4743aa8e6f2cbcdae67fe84e5aaf1c9c8e15", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x7f941a36b212e92f479b82e3031ff407367dac6ca3350ed51a9efb3c67f8a847", - "0x0056be2e2305443b7993caeb320e36a0d165d5fc801075df8857533dac4df652", - "0x270580d1f897578be2d4e05c9e5763e3fe07ac08a51643cca9bab11e3c37b93a", - "0x5903b494d8e43272fc300300a58a52500fe0b024471e93bc6835f1d297d5e715", - "0x2a3f1af2dda7131e5bd2b09ead77c60d620bdc9ecb4cb4bc6eeb66d7416f0708", - "0xde56b29e8494390fd23aaab2f21658ae31563bb2c7a20a59bb1b4963bf4ef740", - "0x0000000000000000000000000000000000000000000000a20d6e21d0e5255309", - "0x29a85ead4c41d7c628b2d76fdf2707bae15c8d6e6ea58ca2a40a1be36a843714", - "0xbc35ebbe263ba9e14071925daa54009312b496b496b2b0e3a4d190c12b7dfa9b" - ], - "storage_written": { - "0x2c435cd8d6ffc0e875d0f1c4d37932a3b154cf57b942dac3c71cb21a2089e24a": "0x2c0000002b0000002a000000290000002800000027", - "0x5903b494d8e43272fc300300a58a52500fe0b024471e93bc6835f1d297d5e715": "0x400000003000000030000000300000002000000030000000100000003", - "0xde56b29e8494390fd23aaab2f21658ae31563bb2c7a20a59bb1b4963bf4ef740": "0x260000002500000024000000230000002200000021000000200000001f", - "0xbc35ebbe263ba9e14071925daa54009312b496b496b2b0e3a4d190c12b7dfa9b": "0x1f7a48af45678548f6f001a462972e85d619277e", - "0x6da5d32030204d3002d181902e9473e3c6e8c58db228771d9507d649432bb726": "0x30dbe02d6c3afe253d0000000000000000030000000000000000000000", - "0x0056be2e2305443b7993caeb320e36a0d165d5fc801075df8857533dac4df652": "0xc000000030000000b000000030000000a000000030000000900000003", - "0x7f941a36b212e92f479b82e3031ff407367dac6ca3350ed51a9efb3c67f8a847": "0x800000003000000070000000300000006000000030000000500000003", - "0x2a3f1af2dda7131e5bd2b09ead77c60d620bdc9ecb4cb4bc6eeb66d7416f0708": "0x3000000180000000200000017000000020000001600000002", - "0x0000000000000000000000000000000000000000000000a20d6e21d0e5255308": "0x3635c9adc5dea000000000002c0000002d00000003", - "0x270580d1f897578be2d4e05c9e5763e3fe07ac08a51643cca9bab11e3c37b93a": "0xcfd6d5e220809d0b0000000e00000003010000000000000000000000", - "0x28fb27bbd5088f48cee7ef943ac381c3625598beb5a1b11efd7059a076e4838f": "0xd00000003" - }, - "code_usage": { - "read": "0x2d8aab18b75e36229e225596157d99fcdd49eb323321d856540c4a0bab1f9bdd" - } + "0x6c5eb88d4c966e3dc0d72eadbee9dea65ed31f54": { + "balance": "0x1341a514cdb7c3", + "nonce": "0x13" } }, "meta": { - "byte_code": "0x02f902fb0180850141dd76008508d8f9fc008308f50b943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880429d069189e0000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf602700000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000429d069189e0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000009b1a97f8fd825e4500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003fc97c421de5d23e59b42d048857b149e2f1c08dc001a028d0c3441d0a2a029d9029ab37688de9c927e18c217d1e5386ba45de293cca4ea05a1fe20cb85c48c58bb0bb8a765568ec96da606152084634071520a6548a72a4", - "new_txn_trie_node_byte": "0x02f902fb0180850141dd76008508d8f9fc008308f50b943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880429d069189e0000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf602700000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000429d069189e0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000429d069189e00000000000000000000000000000000000000000000000000009b1a97f8fd825e4500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003fc97c421de5d23e59b42d048857b149e2f1c08dc001a028d0c3441d0a2a029d9029ab37688de9c927e18c217d1e5386ba45de293cca4ea05a1fe20cb85c48c58bb0bb8a765568ec96da606152084634071520a6548a72a4", - "new_receipt_trie_node_byte": "0xb90ce202f90cde0183130e36b9010000200100000000000000000480008000000000000000000000000000000000020002000802004000000000000000200002000020080001800000000000000000000000080100000000800008000000200801000000000000000000008020000001000000020840000000000100000800000000000000040000000010044000000000020000000000000000000008000010000001000200080010004000011000000580000102000000000002000000000000000800000000000002040001000000000002000000100000000000000000080020000000001800000008000020188200600000000000100000100020000008001000000000400100000002000000f90bd3f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000429d069189e0000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000bdec23af11083df0f90715de922dbebb9867c282a00000000000000000000000000000000000000000000000000429d069189e0000f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000001f80f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002080f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002180f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002280f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002380f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002480f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002580f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002680f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002780f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002880f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002980f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002a80f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002b80f89c94af14c620e5c60082365eebdcdb0674eba5a94d8ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000000000000000002c80f89b943fc97c421de5d23e59b42d048857b149e2f1c08df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000bdec23af11083df0f90715de922dbebb9867c282a00000000000000000000000001f7a48af45678548f6f001a462972e85d619277ea0000000000000000000000000000000000000000000000000cfd6d5e220809d0bf87994bdec23af11083df0f90715de922dbebb9867c282e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000030dbe02d6c3afe253d000000000000000000000000000000000000000000000000fdf6a90adda60000f8fc94bdec23af11083df0f90715de922dbebb9867c282f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000001f7a48af45678548f6f001a462972e85d619277eb88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000429d069189e0000000000000000000000000000000000000000000000000000cfd6d5e220809d0b0000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 357432 + "byte_code": "0x02f8720112843b9aca00850180672b6f82520894ead903044cf2e0f9f2f32dddf7eb8b8d13cc07b0870bfd13db478f1f80c001a0ffc96db2d3a8169f1792cd8026ad5db1f99a079a324685700c3068e1afd1eb20a072454218c1fd34422035144bc4c8e98d904277a0f020c9add8f4548aa07ddd7f", + "new_txn_trie_node_byte": "0x02f8720112843b9aca00850180672b6f82520894ead903044cf2e0f9f2f32dddf7eb8b8d13cc07b0870bfd13db478f1f80c001a0ffc96db2d3a8169f1792cd8026ad5db1f99a079a324685700c3068e1afd1eb20a072454218c1fd34422035144bc4c8e98d904277a0f020c9add8f4548aa07ddd7f", + "new_receipt_trie_node_byte": "0xb9010d02f9010901830df51eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0xdbcefa5bad25cba5d15ec4633728c31b3764f15f": { - "balance": "0x11efca43db73a74b7", - "nonce": "0x52f" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70045271ff67b2ef" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1964b8843f695988b" + "0x2baa0573febed613ef2150f29cb1d1e24ea67e6c": { + "balance": "0x77d23ef0e65400" }, - "0x1596f7f7a0c495daf141376321d3ecac66a10a42": { - "storage_written": { - "0x66f367c07ecc473a2c4ef119b611ad50d1d1821e255d926c28c5fec55fe32d6e": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - "code_usage": { - "read": "0x03214f95572629deb809eeacaa5480d51ea4f8b5dbe419d3dc489f0096e9b166" - } + "0x3cd751e6b0078be393132286c442345e5dc49699": { + "balance": "0xe0cc9328e461d1b3b", + "nonce": "0x90acd5" } }, "meta": { - "byte_code": "0x02f8b30182052e85012a05f200850a2cf84c6782dc66941596f7f7a0c495daf141376321d3ecac66a10a4280b844095ea7b300000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a068de1d13ad983e0094a3674515fde7db7c356fe25f856dcc871812fe95c3b069a00b84acc54fbf2ed8c56a78b85e8d2214f3c3d985b03c3c86aa31f5d97e44a625", - "new_txn_trie_node_byte": "0x02f8b30182052e85012a05f200850a2cf84c6782dc66941596f7f7a0c495daf141376321d3ecac66a10a4280b844095ea7b300000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a068de1d13ad983e0094a3674515fde7db7c356fe25f856dcc871812fe95c3b069a00b84acc54fbf2ed8c56a78b85e8d2214f3c3d985b03c3c86aa31f5d97e44a625", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018313c461b9010000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000001000000000000000100000000000000000000000000000000000004000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000400000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000f89df89b941596f7f7a0c495daf141376321d3ecac66a10a42f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000dbcefa5bad25cba5d15ec4633728c31b3764f15fa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "gas_used": 46635 + "byte_code": "0x02f875018390acd4843b9aca0085028fa6ae00825208942baa0573febed613ef2150f29cb1d1e24ea67e6c8777d23ef0e6540080c080a08b9a98dc0469672b999bf3209145f98f37b16146f88d8285fa13602b01c6dc75a074e753483b8c34deb001598f462ff0c92125aeb8ed9e698a0a718b0067da4f10", + "new_txn_trie_node_byte": "0x02f875018390acd4843b9aca0085028fa6ae00825208942baa0573febed613ef2150f29cb1d1e24ea67e6c8777d23ef0e6540080c080a08b9a98dc0469672b999bf3209145f98f37b16146f88d8285fa13602b01c6dc75a074e753483b8c34deb001598f462ff0c92125aeb8ed9e698a0a718b0067da4f10", + "new_receipt_trie_node_byte": "0xb9010d02f9010901830e4726b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x4a259f69df6114ca3b4d380bda77852a8831c93d": { - "balance": "0x4520cde35b69be0d8" + "0x62fa11fc88f58e009e1631a971e0a71cff713c30": { + "balance": "0x17f9452ef1c000" }, - "0x23d6105ae6007620ccc3da63438a628705e72f9d": { - "balance": "0x0", - "nonce": "0x1" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7004658b70f202ef" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1964bdf6649abed53" + "0xb739d0895772dbb71a89a3754a160269068f0d45": { + "balance": "0x229499cb9e3d9331054", + "nonce": "0x117bbb" } }, "meta": { - "byte_code": "0xf86a8085082eb289ae825208944a259f69df6114ca3b4d380bda77852a8831c93d86097c6c71ec008026a0adcf70b047b923c2667f4feed5679027d55b8ccd261add703feee16a270ae977a00e27382ea26d1230162f1718ab4c2f8e62114f9d4c5b662b179da809e589cf0f", - "new_txn_trie_node_byte": "0xf86a8085082eb289ae825208944a259f69df6114ca3b4d380bda77852a8831c93d86097c6c71ec008026a0adcf70b047b923c2667f4feed5679027d55b8ccd261add703feee16a270ae977a00e27382ea26d1230162f1718ab4c2f8e62114f9d4c5b662b179da809e589cf0f", - "new_receipt_trie_node_byte": "0xf901090183141669b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "byte_code": "0x02f8750183117bba843b9aca0085028fa6ae008252089462fa11fc88f58e009e1631a971e0a71cff713c308717f9452ef1c00080c080a03fa523679e31056f866ec33860228c9277aab124dcc03496251b8685a232e645a06d8f90a438601cd7bc3b4d35c74327d32bc6606a587acbbecc12f62e9aa43687", + "new_txn_trie_node_byte": "0x02f8750183117bba843b9aca0085028fa6ae008252089462fa11fc88f58e009e1631a971e0a71cff713c308717f9452ef1c00080c080a03fa523679e31056f866ec33860228c9277aab124dcc03496251b8685a232e645a06d8f90a438601cd7bc3b4d35c74327d32bc6606a587acbbecc12f62e9aa43687", + "new_receipt_trie_node_byte": "0xb9010d02f9010901830e992eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", "gas_used": 21000 } }, { "traces": { - "0x0000000000000000000000000000000000000004": {}, - "0xa88800cd213da5ae406ce248380802bd53b47647": { + "0xe584be1c4715983caff2edecb0bd7c04cd107d1a": { "code_usage": { - "read": "0x665fffcd3ff12e50bbb854f4365a4a890285283a721eb7e92392d18496b74810" + "read": "0x1f076133e91ffd01baa6361f964d9689688ccf8c61b8b1a7aed700897674e3cb" } }, - "0xb2db04ae40686c2dd2b4baf43a6c489c963a1ac4": { - "code_usage": { - "read": "0x7ded065ce53b01e1651189e60ecf6bcad18d933a81a806d55efaa1d44ba951f2" - } + "0x6bd1a64227866ac25b7f9c918b3dc32d2a9cfa19": { + "balance": "0x8933ed2e8bc4c603", + "nonce": "0x219a3" }, - "0x0f2e5e488daa815361ada55ef816b47679918897": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x9b637a02e6f8cc8aa1e3935c0b27bde663b11428c7707039634076a3fb8a0c48", - "0x0000000000000000000000000000000000000000000000000000000000000008" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000feca30000000000000000004da99a2d44054e96047f83e", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x10000000000000000000002e570f85cfd278161c7fffff6fcdffdd465cf5de7", - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x2340fc12d101c7ff4e1b716d5d44db" - }, - "code_usage": { - "read": "0xf764c26dbfda68a0c61e61c824a1af128e0305732a94e063d7eb1ff0674bd51b" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700489db6ffe1eef" }, - "0x40a7df3df8b56147b781353d379cb960120211d7": { + "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce": { "storage_read": [ - "0x64d0c5154ac7b97908173f4f9e590bb3a239badaf69a41e455901913da5ee5c4", - "0x3e92a736dee2ee35f458179fd82b9ac6fefb1f24af328d36be257285d737dee1", - "0xdb3d17f07f47216c0bee4f7081c552301e4a33937d7e29d92648d5c4424853e7", - "0x67bb6c1b142f7f1600906681a6e025fa088c7979a81b24dc79036b9fb5b4f7d7" + "0xae2abbd6657169a33c352764deda85ac56d2d8f5a5eda7d1725550231a46fa27", + "0x123b7a9b7e8d81ed3ef28996b9b2629cd536a220b4ae89036cc76059a70d74c7" ], "storage_written": { - "0x64d0c5154ac7b97908173f4f9e590bb3a239badaf69a41e455901913da5ee5c4": "0x441bf88c05ef97b5134", - "0x3e92a736dee2ee35f458179fd82b9ac6fefb1f24af328d36be257285d737dee1": "0x115a4d2d1f9160906c2bd", - "0x67bb6c1b142f7f1600906681a6e025fa088c7979a81b24dc79036b9fb5b4f7d7": "0x0", - "0xdb3d17f07f47216c0bee4f7081c552301e4a33937d7e29d92648d5c4424853e7": "0x0" + "0xae2abbd6657169a33c352764deda85ac56d2d8f5a5eda7d1725550231a46fa27": "0x0", + "0x123b7a9b7e8d81ed3ef28996b9b2629cd536a220b4ae89036cc76059a70d74c7": "0x9b8588c74c43bd2199a905d" }, "code_usage": { - "read": "0xaaf60c688a03a51a2009937d38dfa091d905d45e39f341d15595e6286ee431f3" + "read": "0xd0caa0f9bc744c523933d44e6d8d07f868803d10bf16c8129e12f670296175ad" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "0xf466f27fb811ab1572ca67ab438e966910f5d9c1": { "storage_read": [ - "0xc9af6aefffd5e5d2426dcaa144fe8c4c21405ea9b0a1992d78cdad466644e16b", - "0xd301b32e681a09a389e9b843e278a0fefad7cb46c25374a48318d46c1b8149b2", - "0xcd76ee9aadff9d14e9960ceaf8373cca1b07a2c161123d9efd7ccb7dc802ab57", - "0xb9253327d76f9c54c640ef3f8c33cfc220313901d84879682aef542b78199239", - "0x0a8949e6285823b29ad4f43df8eee18cf7cdfca8111fa66cecc58fbdc183d28b", - "0x6fc2e158f629ea89d8404cb3caee9d08fb778c55c53f0df7dc977812d2faddfc", - "0x8e5b2a61cc204bcbc6dd90838acd043dacc0c8b6a5f27d03248563707f801f7f", - "0x1adc840dbab569377bb47e50958d7c760e4c4b63a6b7459aaa3c0d00822296c1" + "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "storage_written": { - "0xcd76ee9aadff9d14e9960ceaf8373cca1b07a2c161123d9efd7ccb7dc802ab57": "0x2b3eb73128e0c181b", - "0x6fc2e158f629ea89d8404cb3caee9d08fb778c55c53f0df7dc977812d2faddfc": "0x68c539902a0be101", - "0xd301b32e681a09a389e9b843e278a0fefad7cb46c25374a48318d46c1b8149b2": "0x2711dc54f637c326", - "0x1adc840dbab569377bb47e50958d7c760e4c4b63a6b7459aaa3c0d00822296c1": "0x0", - "0x0a8949e6285823b29ad4f43df8eee18cf7cdfca8111fa66cecc58fbdc183d28b": "0x191beacb40d4f25545", - "0xc9af6aefffd5e5d2426dcaa144fe8c4c21405ea9b0a1992d78cdad466644e16b": "0x22fd7317d62c997058" - }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xf84c35a8d4e3f188e60cdb5f1d8d70fbcf0b4c29169cc618a1b469b4422c023e" } + } + }, + "meta": { + "byte_code": "0x02f8f401830219a2843b9aca00850ba43b74008307a12094f466f27fb811ab1572ca67ab438e966910f5d9c180b884c0a797d8000000000000000000000000e584be1c4715983caff2edecb0bd7c04cd107d1a00000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce0000000000000000000000000000000000000000001152e656ed8e3acc18000000000000000000000000000090f1f3247930ea8eeb466f04c51d7166a96c8b4ac080a097030c1e26a539865ded33486fe8d0a82f70ebe0fa03098653951351c5584ce8a040a8139a40fd1dced0a189c3c4d31d32fa1812acee1d531e36d4cde35e29b25a", + "new_txn_trie_node_byte": "0x02f8f401830219a2843b9aca00850ba43b74008307a12094f466f27fb811ab1572ca67ab438e966910f5d9c180b884c0a797d8000000000000000000000000e584be1c4715983caff2edecb0bd7c04cd107d1a00000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce0000000000000000000000000000000000000000001152e656ed8e3acc18000000000000000000000000000090f1f3247930ea8eeb466f04c51d7166a96c8b4ac080a097030c1e26a539865ded33486fe8d0a82f70ebe0fa03098653951351c5584ce8a040a8139a40fd1dced0a189c3c4d31d32fa1812acee1d531e36d4cde35e29b25a", + "new_receipt_trie_node_byte": "0xb901ab02f901a701830f3524b9010000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000010000000000000000000000000008000000000000000000200000200000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000100000400000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000002000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000f89df89b9495ad61b0a150d79219dcf64e1e6cc01f0b64c4cef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e584be1c4715983caff2edecb0bd7c04cd107d1aa000000000000000000000000090f1f3247930ea8eeb466f04c51d7166a96c8b4aa00000000000000000000000000000000000000000001152e656ed8e3acc180000", + "gas_used": 39926 + } + }, + { + "traces": { + "0x4d39174306176b1db6606a90e85923427fecd9bb": { + "balance": "0x3412f11cd1b1c8", + "nonce": "0x1" }, - "0xd1742b3c4fbb096990c8950fa635aec75b30781a": { - "balance": "0x8f223", - "code_usage": { - "read": "0x0e52ad06c0b81dd7240cf0c474542ea16a61afab724443422cf2f61832eef028" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70049cf4e1886eef" }, - "0x61eb53ee427ab4e007d78a9134aacb3101a2dc23": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000022fd7317d62c9970580000000029d2da724974b1271bb9", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x62cb3968d8d43b6dbba6692c6d82d578f", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x74f173ca828d636490f0c1e6b4adaa72c8c12" - }, - "code_usage": { - "read": "0xcd82e2d9daddbf51cbce8d5429a0996e16fc670c4056566f19cf8864ad45a746" - } + "0xf9d40a1753a74cd85e9690ba09ef9955de584bee": { + "balance": "0x8cfba0fea420400" + } + }, + "meta": { + "byte_code": "0x02f8730180843b9aca00850157cd9f4282520894f9d40a1753a74cd85e9690ba09ef9955de584bee88046781e9d1cac80080c001a049bfdc71739e9fee0f1bdb5993033f31e1154f0fa1030e2e136c8741d9ed20bfa0213192167fe08c3ccbfef5629f91e57dd700e95872eca328b1106dccd50e8090", + "new_txn_trie_node_byte": "0x02f8730180843b9aca00850157cd9f4282520894f9d40a1753a74cd85e9690ba09ef9955de584bee88046781e9d1cac80080c001a049bfdc71739e9fee0f1bdb5993033f31e1154f0fa1030e2e136c8741d9ed20bfa0213192167fe08c3ccbfef5629f91e57dd700e95872eca328b1106dccd50e8090", + "new_receipt_trie_node_byte": "0xb9010d02f9010901830f872cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x2290a0e8f8a184d3a49c42a5414b3d6ca71886b4": { + "balance": "0x1349b56d0d51400" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19652a9b1d2ceefc5" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7004b00e5312beef" }, - "0x1111111254eeb25477b68fb85ed929f73a960582": { - "storage_read": [ - "0xad3860071535709784a6bdf513b6c33ef5259e3b0b3c77a39667fead4968c656", - "0x8f26ad84a683e7de364c7a5a3626a37c9e6c093c9ebaaaa1289d8aba75181c17", - "0x75de7d85efa3f1f4f62826ed0773d9933a0710b713ce5f2256a812c7775d7269" - ], - "storage_written": { - "0x75de7d85efa3f1f4f62826ed0773d9933a0710b713ce5f2256a812c7775d7269": "0x1b69785cb345326f", - "0xad3860071535709784a6bdf513b6c33ef5259e3b0b3c77a39667fead4968c656": "0x1" - }, - "code_usage": { - "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" - } + "0xddfabcdc4d8ffc6d5beaf154f18b778f892a0740": { + "balance": "0x870fae34e759fb776", + "nonce": "0x76b858" + } + }, + "meta": { + "byte_code": "0x02f876018376b857843b9aca0085028fa6ae00825208942290a0e8f8a184d3a49c42a5414b3d6ca71886b48801349b56d0d5140080c080a09ec0074d3d18172c81436552a169ece123fa108a28843986bb43f50c6e459668a013d18308e93bbcd414b94d1f9853bf0b3fa39af06a92f2279ab479cb3e8ad36a", + "new_txn_trie_node_byte": "0x02f876018376b857843b9aca0085028fa6ae00825208942290a0e8f8a184d3a49c42a5414b3d6ca71886b48801349b56d0d5140080c080a09ec0074d3d18172c81436552a169ece123fa108a28843986bb43f50c6e459668a013d18308e93bbcd414b94d1f9853bf0b3fa39af06a92f2279ab479cb3e8ad36a", + "new_receipt_trie_node_byte": "0xb9010d02f9010901830fd934b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xf8db8aba597ff36ccd16fecfbb1b816b3236e9b8": { + "balance": "0x1afa626156c4fd0c", + "nonce": "0x95cc" + }, + "0x08aa34cc843ceebcc88a627f18430294aa9780be": {}, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7004c3b288fb56ef" + } + }, + "meta": { + "byte_code": "0x02f896018295cb843b9aca0085029bc3770082545c9408aa34cc843ceebcc88a627f18430294aa9780be80a9ceaba3140000000000cf04dff71a56ab29445e062ee8797a0fc268ba38538761fd95d56dff57707903c080a0c04ef12c412bf14e04869f2b6381d7a43869ee4cbfd27026f18015316570826da05fce27a21021c2612fe031c9da3d56eb9dbfc8827fba83ca822f0e3ceb2e6838", + "new_txn_trie_node_byte": "0x02f896018295cb843b9aca0085029bc3770082545c9408aa34cc843ceebcc88a627f18430294aa9780be80a9ceaba3140000000000cf04dff71a56ab29445e062ee8797a0fc268ba38538761fd95d56dff57707903c080a0c04ef12c412bf14e04869f2b6381d7a43869ee4cbfd27026f18015316570826da05fce27a21021c2612fe031c9da3d56eb9dbfc8827fba83ca822f0e3ceb2e6838", + "new_receipt_trie_node_byte": "0xb9010d02f901090183102d90b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21596 + } + }, + { + "traces": { + "0xf70da97812cb96acdf810712aa562db8dfa3dbef": { + "balance": "0xad4956bbc8b28a3e3", + "nonce": "0x42ea0" + }, + "0x1dbbf849d35e75d5c5ceb6c3678d6f1903a04bfc": { + "balance": "0x5668e63eefb781" }, - "0xd267fda7ecbe322e64bf807de06e8e2284b72da9": { - "balance": "0x3d43bc5716d9e6ab", - "nonce": "0x8285" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7004d215cb54435b" + } + }, + "meta": { + "byte_code": "0x02f8790183042e9f842cca2eb5850163651816826270941dbbf849d35e75d5c5ceb6c3678d6f1903a04bfc875668e63eefb7818400909c82c001a0dc1bfa9e1c59958b414df5a6dc96b4aae5af66bb943309dc08c6dab753369829a039d90b52bfe9135c3e3e4b807245baac12d0546a03f5dbd2ba63a41927a29c8b", + "new_txn_trie_node_byte": "0x02f8790183042e9f842cca2eb5850163651816826270941dbbf849d35e75d5c5ceb6c3678d6f1903a04bfc875668e63eefb7818400909c82c001a0dc1bfa9e1c59958b414df5a6dc96b4aae5af66bb943309dc08c6dab753369829a039d90b52bfe9135c3e3e4b807245baac12d0546a03f5dbd2ba63a41927a29c8b", + "new_receipt_trie_node_byte": "0xb9010d02f901090183107fccb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21052 + } + }, + { + "traces": { + "0x93b578526e72b22cbce392086efcd56fec65c231": { + "balance": "0x16345785d8a0000" + }, + "0x116f0f1d2f0ab6b7b7668dd2e5a4d35b76335b1f": { + "balance": "0x7e92280e9d28b2", + "nonce": "0x1e" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7004dba284196b5b" + } + }, + "meta": { + "byte_code": "0x02f873011d841dcd650085019c0461208252089493b578526e72b22cbce392086efcd56fec65c23188016345785d8a000080c001a04b79304e9719e6834e74fac9e3a42a6a4d02124d77a110a405f6ecfeb62825fda07c790a30708cdf387dac6d9a14d91f88e5ec920a8b935a08e1193b748d100a70", + "new_txn_trie_node_byte": "0x02f873011d841dcd650085019c0461208252089493b578526e72b22cbce392086efcd56fec65c23188016345785d8a000080c001a04b79304e9719e6834e74fac9e3a42a6a4d02124d77a110a405f6ecfeb62825fda07c790a30708cdf387dac6d9a14d91f88e5ec920a8b935a08e1193b748d100a70", + "new_receipt_trie_node_byte": "0xb9010d02f90109018310d1d4b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x6081258689a75d253d87ce902a8de3887239fe80": { + "balance": "0xe8262addf7ddfb4505", + "nonce": "0x116b34" }, - "0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0": { + "0x514910771af9ca656af840dff83e8264ecf986ca": { "storage_read": [ - "0x47b6366d31626cd114763f86166326b538da0d079c9999a6fb969934e41727ec", - "0x16994389930456e4552bdb14b42015803ec45e760548b6d7da188915ac51b537", - "0xdb3d17f07f47216c0bee4f7081c552301e4a33937d7e29d92648d5c4424853e7", - "0xc12caead02d6a655cbcdf1bd28c043fc2b9383c354ee5aed422e2af1c420c434", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x67bb6c1b142f7f1600906681a6e025fa088c7979a81b24dc79036b9fb5b4f7d7", - "0x341beac9f70cc41030c8a716f605d7cc7cd9d23848048abe1c49271f95698da8", - "0xf60d9ef5875315591603ae7ef5601429b6a5c43799fd2d14651535f1a733f231", - "0xd60ccb6330731189e408f52ddb288e5428e9b3368aa88c72e9d51932e610e97e", - "0x6efb2bbec75db596d199e742b6e19327b07a9343e87d1b6b3ff742403eb72732", - "0x321b3ebf1f3d1a72e74ee863fcea9f207ada9617e6f5426586e6925e11a14b3e", - "0x55000bfb64a24c20a3d4af0c3e4c696a98e3023b48aed1eadee306fd88552dcc", - "0x3d1bb2fdc5f8e28d7f74669ea0baf6a1b5981c3b6665cd7e1dcf48e3bc7c8513", - "0x37292fb088dfb7d5592f9443343b868e577b6ee5dcbea249988cbf9a0feff9b2" + "0x7f899df9ba3a9c6ab67c8ead54e85bf990a92e9d82813b75ae67a1d68ba0ca2c", + "0x1b962b556cd5e359bc296f8de48c0ab94cc65e1eefd21a0c1b10fb849504dcb2" ], "storage_written": { - "0xf60d9ef5875315591603ae7ef5601429b6a5c43799fd2d14651535f1a733f231": "0x29d2da724974b1271bb9", - "0x341beac9f70cc41030c8a716f605d7cc7cd9d23848048abe1c49271f95698da8": "0xde19", - "0xd60ccb6330731189e408f52ddb288e5428e9b3368aa88c72e9d51932e610e97e": "0x231fdbd8ac1a2f4c936", - "0x67bb6c1b142f7f1600906681a6e025fa088c7979a81b24dc79036b9fb5b4f7d7": "0x0", - "0x16994389930456e4552bdb14b42015803ec45e760548b6d7da188915ac51b537": "0x10a867792c012596ca", - "0x55000bfb64a24c20a3d4af0c3e4c696a98e3023b48aed1eadee306fd88552dcc": "0x8b0", - "0x3d1bb2fdc5f8e28d7f74669ea0baf6a1b5981c3b6665cd7e1dcf48e3bc7c8513": "0x29d2da724974b1271bb9012596ca", - "0xc12caead02d6a655cbcdf1bd28c043fc2b9383c354ee5aed422e2af1c420c434": "0x231fdbd8ac1a2f4c936012596ca", - "0x37292fb088dfb7d5592f9443343b868e577b6ee5dcbea249988cbf9a0feff9b2": "0x36", - "0xdb3d17f07f47216c0bee4f7081c552301e4a33937d7e29d92648d5c4424853e7": "0x10a867792c" + "0x1b962b556cd5e359bc296f8de48c0ab94cc65e1eefd21a0c1b10fb849504dcb2": "0x1ed190ad4b3f6fba4", + "0x7f899df9ba3a9c6ab67c8ead54e85bf990a92e9d82813b75ae67a1d68ba0ca2c": "0x8922df2919d24943911" }, "code_usage": { - "read": "0xf19bbd7bc6a4a6c7edd6bf1542de2491e76935de8e52f8420c3dfc207ad27bdf" + "read": "0x77c633ba07c8cb94cd4864092fd8b31e31cf9d065f6fb6acf617298bc0008785" } }, - "0x5e92d4021e49f9a2967b4ea1d20213b3a1c7c912": { - "code_usage": { - "read": "0xd8d76ca95e505696e3a1f8b7a5c9a8de88e0097348e28fd777b81207430bf4f2" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7004ea403f0999e1" + } + }, + "meta": { + "byte_code": "0x02f8b30183116b33841b5ba0ce8501553ced6d828a2d94514910771af9ca656af840dff83e8264ecf986ca80b844a9059cbb00000000000000000000000016b4e1a2a6700f55e7f7956c50decf18db5922590000000000000000000000000000000000000000000000013cc1e0530c5fb7a4c080a0d8cf5ec9dfcb60bb07a87fb6feff55063547496f4e2bb60bdb38bb9515f01013a03328399a48925c2c2eb72d2e155e6dc0a1c45b1aa02514d091e682885b89e8f3", + "new_txn_trie_node_byte": "0x02f8b30183116b33841b5ba0ce8501553ced6d828a2d94514910771af9ca656af840dff83e8264ecf986ca80b844a9059cbb00000000000000000000000016b4e1a2a6700f55e7f7956c50decf18db5922590000000000000000000000000000000000000000000000013cc1e0530c5fb7a4c080a0d8cf5ec9dfcb60bb07a87fb6feff55063547496f4e2bb60bdb38bb9515f01013a03328399a48925c2c2eb72d2e155e6dc0a1c45b1aa02514d091e682885b89e8f3", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183115a99b9010000000000000000000000010000001000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000040000008000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000002000000000000000000000004000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000f89df89b94514910771af9ca656af840dff83e8264ecf986caf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006081258689a75d253d87ce902a8de3887239fe80a000000000000000000000000016b4e1a2a6700f55e7f7956c50decf18db592259a00000000000000000000000000000000000000000000000013cc1e0530c5fb7a4", + "gas_used": 35013 + } + }, + { + "traces": { + "0x1c727a55ea3c11b0ab7d3a361fe0f3c47ce6de5d": { + "balance": "0xbf3bf627e865f715a", + "nonce": "0xa3472" }, - "0x0000000000000000000000000000000000000001": {} + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7004f139fb595429" + }, + "0x41e1bfd48ac4a1baf0c14e345f0e0d3a7a6bce51": { + "balance": "0x6f90d827e549b4" + } }, "meta": { - "byte_code": "0x02f910260182828485082a7e626785082a7e6267830870d994d1742b3c4fbb096990c8950fa635aec75b30781a4db909f104000204650585020965d04b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000020dc9585caac43870e000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac465cf5d8700016801a01200000000000000000000000000000000009da30bf74c000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d000000000000000000000000044bdb19db1cd29d546597af7dc0549e7f6f9e4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a88800cd213da5ae406ce248380802bd53b476470000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000020dc9585caac43870e0000002400000024000000240000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000db2cc2878d000065cf5ef700000000000044bdb19db1cd29d546597af7dc0549e7f6f9e480001800c53200240178a1000000000b8a49d816cc709b6eadb09498030ae3416b66dc00000000874d26f8f5dd55ee1a4167c49965b991c1c9530a00000000d1742b3c4fbb096990c8950fa635aec75b30781a00000000ad3b67bca8935cb510c8d18bd45f0b94f54a968f000000008571c129f335832f6bbc76d49414ad2b8371a42200000000f14f17989790a2116fc0a59ca88d5813e693528f00000000d14699b6b02e900a5c2338700d5181a674fdb9a2ffffffff3a00000000000000000000000000000000000000000000000000000000000000000000000040ae1cf451cf9b7c98c4fc83ef7839668a1eb49f190be2d5bf7ff3608178c320467cbe4a9788b41b13353c96a35077e99b2919a19e64b69d48883b928dd5e9be750000000000000000000000000000000000000000000000000000000000000064a88800cd213da5ae406ce248380802bd53b4764701b2db04ae40686c2dd2b4baf43a6c489c963a1ac4050161eb53ee427ab4e007d78a9134aacb3101a2dc2300c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000212e278ee78bce00000000000000000000000000000000000000000000000000000000020965d04b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000001459a9e53577f3a100000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000dc394a3dc902721926000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac465cf5c970001680236d90000000000000000cb9edc8fbef0eb235ef0c405125c000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000040a7df3df8b56147b781353d379cb960120211d70000000000000000000000004507fb0190f21c2dabf7cf9c08962ed8e5b174310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a88800cd213da5ae406ce248380802bd53b476470000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000002eee79313d3f432f9310000012400000124000001240000012400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001efbfa75143000000000000000000000000000000000000000000000000000000a800000024000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a863592c2b0000000000000000000000000000000000000000000000000000000065cf5e02bf15fcd80000000000000000000000005e92d4021e49f9a2967b4ea1d20213b3a1c7c912000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000040202470800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c001fef003000635e0030008eeb003000f80c00300161be003001cc02000000000b8a49d816cc709b6eadb09498030ae3416b66dc00000000874d26f8f5dd55ee1a4167c49965b991c1c9530a00000000d1742b3c4fbb096990c8950fa635aec75b30781a00000000ad3b67bca8935cb510c8d18bd45f0b94f54a968f000000008571c129f335832f6bbc76d49414ad2b8371a42200000000f14f17989790a2116fc0a59ca88d5813e693528f00000000d14699b6b02e900a5c2338700d5181a674fdb9a2ffffffff3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e5b7c8ebe1603834cc79b2a6ebf15b8027b780c23bc080a50364c6c7c353d85500c310bdbcce27cfb2502e432958026a9da01e5a5e34e2fa377f1c69f61921a90000000000000000000000000000000000000000000000000000000000000068a88800cd213da5ae406ce248380802bd53b4764701b2db04ae40686c2dd2b4baf43a6c489c963a1ac40601c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000bb80140a7df3df8b56147b781353d379cb960120211d70000000000000000001663b98d475eaa000000000000000000000000000000000000000000000000f905c2f901e6943432b6a60d23ca0dfca7761b7ab56459d9c964d0f901cea0321b3ebf1f3d1a72e74ee863fcea9f207ada9617e6f5426586e6925e11a14b3ea0341beac9f70cc41030c8a716f605d7cc7cd9d23848048abe1c49271f95698da8a047b6366d31626cd114763f86166326b538da0d079c9999a6fb969934e41727eca055000bfb64a24c20a3d4af0c3e4c696a98e3023b48aed1eadee306fd88552dcca016994389930456e4552bdb14b42015803ec45e760548b6d7da188915ac51b537a0db3d17f07f47216c0bee4f7081c552301e4a33937d7e29d92648d5c4424853e7a0000000000000000000000000000000000000000000000000000000000000000ba03d1bb2fdc5f8e28d7f74669ea0baf6a1b5981c3b6665cd7e1dcf48e3bc7c8513a067bb6c1b142f7f1600906681a6e025fa088c7979a81b24dc79036b9fb5b4f7d7a0f60d9ef5875315591603ae7ef5601429b6a5c43799fd2d14651535f1a733f231a0d60ccb6330731189e408f52ddb288e5428e9b3368aa88c72e9d51932e610e97ea06efb2bbec75db596d199e742b6e19327b07a9343e87d1b6b3ff742403eb72732a037292fb088dfb7d5592f9443343b868e577b6ee5dcbea249988cbf9a0feff9b2a0c12caead02d6a655cbcdf1bd28c043fc2b9383c354ee5aed422e2af1c420c434f89b9440a7df3df8b56147b781353d379cb960120211d7f884a064d0c5154ac7b97908173f4f9e590bb3a239badaf69a41e455901913da5ee5c4a03e92a736dee2ee35f458179fd82b9ac6fefb1f24af328d36be257285d737dee1a0db3d17f07f47216c0bee4f7081c552301e4a33937d7e29d92648d5c4424853e7a067bb6c1b142f7f1600906681a6e025fa088c7979a81b24dc79036b9fb5b4f7d7f9012094c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f90108a06fc2e158f629ea89d8404cb3caee9d08fb778c55c53f0df7dc977812d2faddfca08e5b2a61cc204bcbc6dd90838acd043dacc0c8b6a5f27d03248563707f801f7fa01adc840dbab569377bb47e50958d7c760e4c4b63a6b7459aaa3c0d00822296c1a0c9af6aefffd5e5d2426dcaa144fe8c4c21405ea9b0a1992d78cdad466644e16ba0d301b32e681a09a389e9b843e278a0fefad7cb46c25374a48318d46c1b8149b2a0cd76ee9aadff9d14e9960ceaf8373cca1b07a2c161123d9efd7ccb7dc802ab57a0b9253327d76f9c54c640ef3f8c33cfc220313901d84879682aef542b78199239a00a8949e6285823b29ad4f43df8eee18cf7cdfca8111fa66cecc58fbdc183d28bf87a941111111254eeb25477b68fb85ed929f73a960582f863a0ad3860071535709784a6bdf513b6c33ef5259e3b0b3c77a39667fead4968c656a08f26ad84a683e7de364c7a5a3626a37c9e6c093c9ebaaaa1289d8aba75181c17a075de7d85efa3f1f4f62826ed0773d9933a0710b713ce5f2256a812c7775d7269f8dd9461eb53ee427ab4e007d78a9134aacb3101a2dc23f8c6a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000006f8bc940f2e5e488daa815361ada55ef816b47679918897f8a5a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a09b637a02e6f8cc8aa1e3935c0b27bde663b11428c7707039634076a3fb8a0c48a0000000000000000000000000000000000000000000000000000000000000000801a012bb7663f8483192d36317bd7aadb0b2318368fc402fa04fdfe040668b31a667a0322b7f50920a5707c7765b11ac47641df28c9b851d28ad3b7c360415cbe83901", - "new_txn_trie_node_byte": "0x02f910260182828485082a7e626785082a7e6267830870d994d1742b3c4fbb096990c8950fa635aec75b30781a4db909f104000204650585020965d04b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000020dc9585caac43870e000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac465cf5d8700016801a01200000000000000000000000000000000009da30bf74c000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d000000000000000000000000044bdb19db1cd29d546597af7dc0549e7f6f9e4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a88800cd213da5ae406ce248380802bd53b476470000000000000000000000000000000000000000000000001bc16d674ec80000000000000000000000000000000000000000000000000020dc9585caac43870e0000002400000024000000240000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000db2cc2878d000065cf5ef700000000000044bdb19db1cd29d546597af7dc0549e7f6f9e480001800c53200240178a1000000000b8a49d816cc709b6eadb09498030ae3416b66dc00000000874d26f8f5dd55ee1a4167c49965b991c1c9530a00000000d1742b3c4fbb096990c8950fa635aec75b30781a00000000ad3b67bca8935cb510c8d18bd45f0b94f54a968f000000008571c129f335832f6bbc76d49414ad2b8371a42200000000f14f17989790a2116fc0a59ca88d5813e693528f00000000d14699b6b02e900a5c2338700d5181a674fdb9a2ffffffff3a00000000000000000000000000000000000000000000000000000000000000000000000040ae1cf451cf9b7c98c4fc83ef7839668a1eb49f190be2d5bf7ff3608178c320467cbe4a9788b41b13353c96a35077e99b2919a19e64b69d48883b928dd5e9be750000000000000000000000000000000000000000000000000000000000000064a88800cd213da5ae406ce248380802bd53b4764701b2db04ae40686c2dd2b4baf43a6c489c963a1ac4050161eb53ee427ab4e007d78a9134aacb3101a2dc2300c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000212e278ee78bce00000000000000000000000000000000000000000000000000000000020965d04b0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000001459a9e53577f3a100000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000dc394a3dc902721926000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac465cf5c970001680236d90000000000000000cb9edc8fbef0eb235ef0c405125c000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000040a7df3df8b56147b781353d379cb960120211d70000000000000000000000004507fb0190f21c2dabf7cf9c08962ed8e5b174310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a88800cd213da5ae406ce248380802bd53b476470000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000002eee79313d3f432f9310000012400000124000001240000012400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001efbfa75143000000000000000000000000000000000000000000000000000000a800000024000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a863592c2b0000000000000000000000000000000000000000000000000000000065cf5e02bf15fcd80000000000000000000000005e92d4021e49f9a2967b4ea1d20213b3a1c7c912000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000040202470800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c001fef003000635e0030008eeb003000f80c00300161be003001cc02000000000b8a49d816cc709b6eadb09498030ae3416b66dc00000000874d26f8f5dd55ee1a4167c49965b991c1c9530a00000000d1742b3c4fbb096990c8950fa635aec75b30781a00000000ad3b67bca8935cb510c8d18bd45f0b94f54a968f000000008571c129f335832f6bbc76d49414ad2b8371a42200000000f14f17989790a2116fc0a59ca88d5813e693528f00000000d14699b6b02e900a5c2338700d5181a674fdb9a2ffffffff3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040e5b7c8ebe1603834cc79b2a6ebf15b8027b780c23bc080a50364c6c7c353d85500c310bdbcce27cfb2502e432958026a9da01e5a5e34e2fa377f1c69f61921a90000000000000000000000000000000000000000000000000000000000000068a88800cd213da5ae406ce248380802bd53b4764701b2db04ae40686c2dd2b4baf43a6c489c963a1ac40601c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000bb80140a7df3df8b56147b781353d379cb960120211d70000000000000000001663b98d475eaa000000000000000000000000000000000000000000000000f905c2f901e6943432b6a60d23ca0dfca7761b7ab56459d9c964d0f901cea0321b3ebf1f3d1a72e74ee863fcea9f207ada9617e6f5426586e6925e11a14b3ea0341beac9f70cc41030c8a716f605d7cc7cd9d23848048abe1c49271f95698da8a047b6366d31626cd114763f86166326b538da0d079c9999a6fb969934e41727eca055000bfb64a24c20a3d4af0c3e4c696a98e3023b48aed1eadee306fd88552dcca016994389930456e4552bdb14b42015803ec45e760548b6d7da188915ac51b537a0db3d17f07f47216c0bee4f7081c552301e4a33937d7e29d92648d5c4424853e7a0000000000000000000000000000000000000000000000000000000000000000ba03d1bb2fdc5f8e28d7f74669ea0baf6a1b5981c3b6665cd7e1dcf48e3bc7c8513a067bb6c1b142f7f1600906681a6e025fa088c7979a81b24dc79036b9fb5b4f7d7a0f60d9ef5875315591603ae7ef5601429b6a5c43799fd2d14651535f1a733f231a0d60ccb6330731189e408f52ddb288e5428e9b3368aa88c72e9d51932e610e97ea06efb2bbec75db596d199e742b6e19327b07a9343e87d1b6b3ff742403eb72732a037292fb088dfb7d5592f9443343b868e577b6ee5dcbea249988cbf9a0feff9b2a0c12caead02d6a655cbcdf1bd28c043fc2b9383c354ee5aed422e2af1c420c434f89b9440a7df3df8b56147b781353d379cb960120211d7f884a064d0c5154ac7b97908173f4f9e590bb3a239badaf69a41e455901913da5ee5c4a03e92a736dee2ee35f458179fd82b9ac6fefb1f24af328d36be257285d737dee1a0db3d17f07f47216c0bee4f7081c552301e4a33937d7e29d92648d5c4424853e7a067bb6c1b142f7f1600906681a6e025fa088c7979a81b24dc79036b9fb5b4f7d7f9012094c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f90108a06fc2e158f629ea89d8404cb3caee9d08fb778c55c53f0df7dc977812d2faddfca08e5b2a61cc204bcbc6dd90838acd043dacc0c8b6a5f27d03248563707f801f7fa01adc840dbab569377bb47e50958d7c760e4c4b63a6b7459aaa3c0d00822296c1a0c9af6aefffd5e5d2426dcaa144fe8c4c21405ea9b0a1992d78cdad466644e16ba0d301b32e681a09a389e9b843e278a0fefad7cb46c25374a48318d46c1b8149b2a0cd76ee9aadff9d14e9960ceaf8373cca1b07a2c161123d9efd7ccb7dc802ab57a0b9253327d76f9c54c640ef3f8c33cfc220313901d84879682aef542b78199239a00a8949e6285823b29ad4f43df8eee18cf7cdfca8111fa66cecc58fbdc183d28bf87a941111111254eeb25477b68fb85ed929f73a960582f863a0ad3860071535709784a6bdf513b6c33ef5259e3b0b3c77a39667fead4968c656a08f26ad84a683e7de364c7a5a3626a37c9e6c093c9ebaaaa1289d8aba75181c17a075de7d85efa3f1f4f62826ed0773d9933a0710b713ce5f2256a812c7775d7269f8dd9461eb53ee427ab4e007d78a9134aacb3101a2dc23f8c6a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000006f8bc940f2e5e488daa815361ada55ef816b47679918897f8a5a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a09b637a02e6f8cc8aa1e3935c0b27bde663b11428c7707039634076a3fb8a0c48a0000000000000000000000000000000000000000000000000000000000000000801a012bb7663f8483192d36317bd7aadb0b2318368fc402fa04fdfe040668b31a667a0322b7f50920a5707c7765b11ac47641df28c9b851d28ad3b7c360415cbe83901", - "new_receipt_trie_node_byte": "0xb90f4e02f90f4a01831a949ab9010020208000000000000000000080400000000000000000000000001000000004000000004100104000000000000800000002000000080020000080000000200800000010000000080800000008000000200010000000000000000002408000000000000000000000000000000000000000000000800000000010000050000800000000000000000000400000004000800000000000000000490001004000000000020000000000000000100000000004000000000000000004000100000000000000000002000000000050000000000000000004003000001000000000000000400012280000800000020400000000040000020000000100000000000000000000f90e3ff89b941111111254eeb25477b68fb85ed929f73a960582f842a0b9ed0243fdf00f0545c63a0af8850c090d86bb46682baec4bf3c496814fe4f02a000000000000000000000000044bdb19db1cd29d546597af7dc0549e7f6f9e480b840894db5a113faefd9e841fbe62aa4b232d45cbea0ed7e814b6af3e936bd0ba91d0000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000044bdb19db1cd29d546597af7dc0549e7f6f9e480a0000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac4a00000000000000000000000000000000000000000000000001bc16d674ec80000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac4a000000000000000000000000061eb53ee427ab4e007d78a9134aacb3101a2dc23a00000000000000000000000000000000000000000000000001b9cb93704862a72f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac4a0000000000000000000000000d1742b3c4fbb096990c8950fa635aec75b30781aa00000000000000000000000000000000000000000000000000024b4304a41d58ef89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f842a03eaa1c4be29b4a4c60e00300b5a17a8ec6c982b5b0ad5870cc84ebdc3b24d68ea000000000000000000000000061eb53ee427ab4e007d78a9134aacb3101a2dc23b8400000000000000000000000000000000000000000000029f3dc670eccd09637090000000000000000000000000000000000000000000029d2da724974b1271bb9f89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f842a03eaa1c4be29b4a4c60e00300b5a17a8ec6c982b5b0ad5870cc84ebdc3b24d68ea0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647b84000000000000000000000000000000000000000000000000000000010a867792c00000000000000000000000000000000000000000000002101f4c568c7d6947cf89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000061eb53ee427ab4e007d78a9134aacb3101a2dc23a0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647a000000000000000000000000000000000000000000000002101f4c5581f6f1b50f8799461eb53ee427ab4e007d78a9134aacb3101a2dc23e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000029d2da724974b1271bb9000000000000000000000000000000000000000000000022fd7317d62c997058f8fc9461eb53ee427ab4e007d78a9134aacb3101a2dc23f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac4a0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b9cb93704862a7200000000000000000000000000000000000000000000002101f4c5581f6f1b500000000000000000000000000000000000000000000000000000000000000000f89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000002101f4c5581f6f1b50f89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f842a03eaa1c4be29b4a4c60e00300b5a17a8ec6c982b5b0ad5870cc84ebdc3b24d68ea0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647b84000000000000000000000000000000000000000000000002101f4c568c7d6947c00000000000000000000000000000000000000000000000000000010a867792cf89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f842a03eaa1c4be29b4a4c60e00300b5a17a8ec6c982b5b0ad5870cc84ebdc3b24d68ea000000000000000000000000044bdb19db1cd29d546597af7dc0549e7f6f9e480b840000000000000000000000000000000000000000000000210fbc8c5698385ade6000000000000000000000000000000000000000000000231fdbd8ac1a2f4c936f89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647a000000000000000000000000044bdb19db1cd29d546597af7dc0549e7f6f9e480a000000000000000000000000000000000000000000000002101f4c5581f6f1b50f89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000000000000000000000000000000000000000000000f89b941111111254eeb25477b68fb85ed929f73a960582f842a0b9ed0243fdf00f0545c63a0af8850c090d86bb46682baec4bf3c496814fe4f02a00000000000000000000000004507fb0190f21c2dabf7cf9c08962ed8e5b17431b8409c6a9e8a17014cc070443d406e6624611a09820443eb7c42d2194194d550bd130000000000000000000000000000000000000000000000001b69785cb345326ef89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000004507fb0190f21c2dabf7cf9c08962ed8e5b17431a0000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac4a00000000000000000000000000000000000000000000000001459a9e53577f3a1f89b9440a7df3df8b56147b781353d379cb960120211d7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000f2e5e488daa815361ada55ef816b47679918897a0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647a00000000000000000000000000000000000000000000000dc72310cf6dc81b2d6f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac4a00000000000000000000000000f2e5e488daa815361ada55ef816b47679918897a00000000000000000000000000000000000000000000000001440e57de6369881f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac4a0000000000000000000000000d1742b3c4fbb096990c8950fa635aec75b30781aa00000000000000000000000000000000000000000000000000018c4674f415b20f9011c940f2e5e488daa815361ada55ef816b47679918897f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000b2db04ae40686c2dd2b4baf43a6c489c963a1ac4a0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647b8a0ffffffffffffffffffffffffffffffffffffffffffffff238dcef309237e4d2a0000000000000000000000000000000000000000000000001440e57de6369881000000000000000000000000000000000000000004da99a2d44054e96047f83e0000000000000000000000000000000000000000000003736b307a89b443b013fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeca30f89b9440a7df3df8b56147b781353d379cb960120211d7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000000000000000000000000000dc72310cf6dc81b2d6f89b9440a7df3df8b56147b781353d379cb960120211d7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a88800cd213da5ae406ce248380802bd53b47647a00000000000000000000000004507fb0190f21c2dabf7cf9c08962ed8e5b17431a00000000000000000000000000000000000000000000000dc72310cf6dc81b2d6", - "gas_used": 425521 + "byte_code": "0xf86e830a34718501302323908252089441e1bfd48ac4a1baf0c14e345f0e0d3a7a6bce51876f90d827e549b48026a0948be97eeb129b82e5418a45d29550d33276e0608838488e8e16b3dd85b64720a057bd2648f624eb6bc8e057bfd08a3a2858cf92ecc804470bc677507bb675299e", + "new_txn_trie_node_byte": "0xf86e830a34718501302323908252089441e1bfd48ac4a1baf0c14e345f0e0d3a7a6bce51876f90d827e549b48026a0948be97eeb129b82e5418a45d29550d33276e0608838488e8e16b3dd85b64720a057bd2648f624eb6bc8e057bfd08a3a2858cf92ecc804470bc677507bb675299e", + "new_receipt_trie_node_byte": "0xf90109018311aca1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x90c2984b370a7b7cd6033fa3b27aa68af4a28b45": { - "balance": "0x1722743714b600", - "nonce": "0x6" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7004f775626d5ba1" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196534fc39fb83ee8" + "0x0446532259211700b1f85cd56834a3e95d1516d6": { + "balance": "0x22738426a4a49c6b1", + "nonce": "0x23f" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x92ecc0b52cc2e95a545e1ad54e6b3d08089fd89da6b60a9efffe71003db71c21", - "0x974cfde79f64842c2b3308cc5b72dff5f6daa2c39c7bb8ff98c0e019eb62b91e", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x68961eac410783835cbadd44f7fc9db2ac9f584110cb577d75c998a200903a78", - "0x000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage_written": { - "0x974cfde79f64842c2b3308cc5b72dff5f6daa2c39c7bb8ff98c0e019eb62b91e": "0x875ec553dc", - "0x92ecc0b52cc2e95a545e1ad54e6b3d08089fd89da6b60a9efffe71003db71c21": "0x0" - }, - "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" - } + "0xc0b2f538e991b8d21338ebadabc562badcf515cf": { + "balance": "0x58d24f0822d6430" } }, "meta": { - "byte_code": "0xf8aa05850826299e00830186a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000003274ae9f94ec2dab27c9d2f8764bbf1e3d98828400000000000000000000000000000000000000000000000000000003b7e6fb3025a05d86395f80eef93b702058fccbc6719ca3d4702826bab3ba7e37ca0bccc09c7ea00190fd355294ed82f713b09885b9a5bd131a9d750f5dffcb263e015b11e8d0db", - "new_txn_trie_node_byte": "0xf8aa05850826299e00830186a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000003274ae9f94ec2dab27c9d2f8764bbf1e3d98828400000000000000000000000000000000000000000000000000000003b7e6fb3025a05d86395f80eef93b702058fccbc6719ca3d4702826bab3ba7e37ca0bccc09c7ea00190fd355294ed82f713b09885b9a5bd131a9d750f5dffcb263e015b11e8d0db", - "new_receipt_trie_node_byte": "0xf901a701831b3603b9010000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000000000000000000008000100000000000000000000000000080000000000008000000000000000000000000000000000002000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000090c2984b370a7b7cd6033fa3b27aa68af4a28b45a00000000000000000000000003274ae9f94ec2dab27c9d2f8764bbf1e3d988284a000000000000000000000000000000000000000000000000000000003b7e6fb30", - "gas_used": 41321 + "byte_code": "0x02f8750182023e841372df2f8501c097804d82520894c0b2f538e991b8d21338ebadabc562badcf515cf88016345785d8a000080c001a0e2f18cbe46cd3399f30819e712a880a672df2c4210abaa5e9a48f5399ce099e2a02ccdad7730af3a8cbf587183c2c08b0dce7e4dc26dd66e344685936d5d703264", + "new_txn_trie_node_byte": "0x02f8750182023e841372df2f8501c097804d82520894c0b2f538e991b8d21338ebadabc562badcf515cf88016345785d8a000080c001a0e2f18cbe46cd3399f30819e712a880a672df2c4210abaa5e9a48f5399ce099e2a02ccdad7730af3a8cbf587183c2c08b0dce7e4dc26dd66e344685936d5d703264", + "new_receipt_trie_node_byte": "0xb9010d02f90109018311fea9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x518024976bf1437593a15823d68cbe7050eb761f": { - "balance": "0x355105343b64088" + "0x077d360f11d220e4d5d831430c81c26c9be7c4a4": { + "balance": "0x228b55ecb9ad003cf" }, - "0x74ae836d6f949118b4e4d0af79924edd0d6fd163": { - "code_usage": { - "read": "0x8140f0e860a1ff1d303c031219ff9db58d3fd24808bdfbfdea900640b7aaddd7" - } + "0xb70bba8ce98cc6452a90b04006dc2a7d51ed0bc8": { + "balance": "0x48c27395000", + "nonce": "0x1" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7004fc7993f36969" + } + }, + "meta": { + "byte_code": "0xf86b8085012a05f2008255f094077d360f11d220e4d5d831430c81c26c9be7c4a487477cda362ba0008026a0bead5e9b932ccaa05a7e32683ab824aee91d3d8a7febcf8e83e7bd5329ba872aa0674e86238fc02d1560e9cdf6057ff8f78180f064298ad92d093365c2d65367e6", + "new_txn_trie_node_byte": "0xf86b8085012a05f2008255f094077d360f11d220e4d5d831430c81c26c9be7c4a487477cda362ba0008026a0bead5e9b932ccaa05a7e32683ab824aee91d3d8a7febcf8e83e7bd5329ba872aa0674e86238fc02d1560e9cdf6057ff8f78180f064298ad92d093365c2d65367e6", + "new_receipt_trie_node_byte": "0xf9010901831250b1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x2db973330815ecf60080b8528f6a260f4c3d9535": { + "balance": "0x1c1a37295a18ba0" }, - "0x9d903fe05f503ddd15708da2680802c722063740": { - "balance": "0x2954bdd9e17c99b3" + "0x077d360f11d220e4d5d831430c81c26c9be7c4a4": { + "balance": "0x226f3804aa541d7cf", + "nonce": "0x126e19" }, - "0x0b2fdf416cf2951499de9a1adac65c8e9907c8c2": { - "balance": "0xad04239063a73f998" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7005017dc5797731" + } + }, + "meta": { + "byte_code": "0xf86f83126e1885012a05f20082ea60942db973330815ecf60080b8528f6a260f4c3d95358801c17f01bdda9c008025a008b885adaa72634df61cceeb79d6e362a3511cd18be70792cf7cfc4b883e58a3a00bd5e3ab2d5c3b732ef4bfe8f277caa04c30a6ef3d55639efb6bd69715417c3b", + "new_txn_trie_node_byte": "0xf86f83126e1885012a05f20082ea60942db973330815ecf60080b8528f6a260f4c3d95358801c17f01bdda9c008025a008b885adaa72634df61cceeb79d6e362a3511cd18be70792cf7cfc4b883e58a3a00bd5e3ab2d5c3b732ef4bfe8f277caa04c30a6ef3d55639efb6bd69715417c3b", + "new_receipt_trie_node_byte": "0xf90109018312a2b9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xcfb8528276c7679b2035db7e604c341599078124": { + "balance": "0x1218d12b29717b" }, - "0x45300136662dd4e58fc0df61e6290dffd992b785": { - "balance": "0xa0df12f5b3eab545d1", - "nonce": "0x156d3" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7005199b6889d4f9" }, - "0xaa99fc695eb1bbfb359fbad718c7c6dafc03a839": { - "storage_read": [ - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0xfb881fb7047df87ab12a14e49619930df2e7e23c5a1c2f7059deb4ea5e9f328e" - ], - "code_usage": { - "read": "0x5e4dcb0bb1910f6429e5fe91678990088a51c6d1cfe1b31d05fb9d948cc7867c" - } + "0x077d360f11d220e4d5d831430c81c26c9be7c4a4": { + "balance": "0x226e8818f62778bcf", + "nonce": "0x126e1a" + } + }, + "meta": { + "byte_code": "0xf86e83126e19850165a0bc0082ea6094cfb8528276c7679b2035db7e604c341599078124870a8c22998c6c008025a00d4ed452d98ba6bb50edf35ac57fb96bc7a9e4dee8db1099050c6efb995f72b8a06d16ee2077a6749637d7eeb3e188ae31f95bfaca171a80de8be31a29c2fea7cd", + "new_txn_trie_node_byte": "0xf86e83126e19850165a0bc0082ea6094cfb8528276c7679b2035db7e604c341599078124870a8c22998c6c008025a00d4ed452d98ba6bb50edf35ac57fb96bc7a9e4dee8db1099050c6efb995f72b8a06d16ee2077a6749637d7eeb3e188ae31f95bfaca171a80de8be31a29c2fea7cd", + "new_receipt_trie_node_byte": "0xf90109018312f4c1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x077d360f11d220e4d5d831430c81c26c9be7c4a4": { + "balance": "0x226a17998913e3bcf", + "nonce": "0x126e1b" }, - "0x591148cfb7641828d1d1ea18dce20e8506445f61": { - "balance": "0xc3d35a29ffb89aa" + "0xbe48c32bc23fa5d1081a08cfbd9fd70ceb0c8845": { + "balance": "0x462364536c8d31e2e" }, - "0x1aad971b96a01edc5f5e09f764d8a921f4095797": { - "balance": "0x4abf356fa9c1bd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700531b90b9a32c1" + } + }, + "meta": { + "byte_code": "0xf86e83126e1a850165a0bc0082ea6094be48c32bc23fa5d1081a08cfbd9fd70ceb0c88458746955e27fb70008026a01db789e7e8eac0cf5e5c1021bf932ccf84f42e761af5f48f305392acf4e20d5aa038d7f59f1eec7c82161460cc698eec8f93bbd5fcb196e993e98f724776bc9321", + "new_txn_trie_node_byte": "0xf86e83126e1a850165a0bc0082ea6094be48c32bc23fa5d1081a08cfbd9fd70ceb0c88458746955e27fb70008026a01db789e7e8eac0cf5e5c1021bf932ccf84f42e761af5f48f305392acf4e20d5aa038d7f59f1eec7c82161460cc698eec8f93bbd5fcb196e993e98f724776bc9321", + "new_receipt_trie_node_byte": "0xf9010901831346c9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700536bd3d204089" }, - "0x33f7c348c1881ccf5463e37ad8ae3336f6e2287e": { - "balance": "0x55b0dcbf1238374" + "0xf90ff0610002bc168039045203d377b6599fd3a6": { + "balance": "0x1d2a8320900200", + "nonce": "0x6" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965480d2fd8ad5a0" + "0xccadca1fe3e34d0987edcc63e80ffc3b9dd699c2": { + "balance": "0xb42a645c8e550" } }, "meta": { - "byte_code": "0x02f9027e01830156d284d768f32885104c533c00830be6e094aa99fc695eb1bbfb359fbad718c7c6dafc03a839890b0d7bcbaad4496400b90204eb14f53e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000600000000000000000000000033f7c348c1881ccf5463e37ad8ae3336f6e2287e0000000000000000000000000b2fdf416cf2951499de9a1adac65c8e9907c8c2000000000000000000000000591148cfb7641828d1d1ea18dce20e8506445f61000000000000000000000000518024976bf1437593a15823d68cbe7050eb761f0000000000000000000000001aad971b96a01edc5f5e09f764d8a921f40957970000000000000000000000009d903fe05f503ddd15708da2680802c722063740000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000004cfcb17efe0f00000000000000000000000000000000000000000000000000acfb85738c53920000000000000000000000000000000000000000000000000000c254f36f1fac00000000000000000000000000000000000000000000000000003454729b738c0000000000000000000000000000000000000000000000000000034d6bb98d0c00000000000000000000000000000000000000000000000000029543c3ddd2b1400c001a0910243c833839263874a0f33676fbc33d0752b5cfc941022593d8074b79f0759a078ca138ea45aeaf8901939499c05a937e2212010f2f87b18011583a2b7bce646", - "new_txn_trie_node_byte": "0x02f9027e01830156d284d768f32885104c533c00830be6e094aa99fc695eb1bbfb359fbad718c7c6dafc03a839890b0d7bcbaad4496400b90204eb14f53e00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000600000000000000000000000033f7c348c1881ccf5463e37ad8ae3336f6e2287e0000000000000000000000000b2fdf416cf2951499de9a1adac65c8e9907c8c2000000000000000000000000591148cfb7641828d1d1ea18dce20e8506445f61000000000000000000000000518024976bf1437593a15823d68cbe7050eb761f0000000000000000000000001aad971b96a01edc5f5e09f764d8a921f40957970000000000000000000000009d903fe05f503ddd15708da2680802c722063740000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000004cfcb17efe0f00000000000000000000000000000000000000000000000000acfb85738c53920000000000000000000000000000000000000000000000000000c254f36f1fac00000000000000000000000000000000000000000000000000003454729b738c0000000000000000000000000000000000000000000000000000034d6bb98d0c00000000000000000000000000000000000000000000000000029543c3ddd2b1400c001a0910243c833839263874a0f33676fbc33d0752b5cfc941022593d8074b79f0759a078ca138ea45aeaf8901939499c05a937e2212010f2f87b18011583a2b7bce646", - "new_receipt_trie_node_byte": "0xb9010d02f9010901831ca08eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 92811 + "byte_code": "0xf86b0585012a05f20082520894ccadca1fe3e34d0987edcc63e80ffc3b9dd699c2870aa87bee5380008026a00a77c792d957d88e0616c417525d2153df8ea2fe4870b3f42e0db47c63187d39a005b8b618de535c2069ef4cc5ebb41ccf9db52958ba7370b41818cfcae5e39bc1", + "new_txn_trie_node_byte": "0xf86b0585012a05f20082520894ccadca1fe3e34d0987edcc63e80ffc3b9dd699c2870aa87bee5380008026a00a77c792d957d88e0616c417525d2153df8ea2fe4870b3f42e0db47c63187d39a005b8b618de535c2069ef4cc5ebb41ccf9db52958ba7370b41818cfcae5e39bc1", + "new_receipt_trie_node_byte": "0xf9010901831398d1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "storage_read": [ - "0x1cc5e4d6861cef01aeb042af32a50cfc9d8a7398524597adce475c34f2eb95fd", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x67cd9348adfb6d4efe0a94e3d384448128cd0eb5d5c5a11ad102107590b05be4", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x49dc709854b3f2f5979fd249c3f9443171ae28b352b928d078d6d4cad10edb4b" - ], - "storage_written": { - "0x1cc5e4d6861cef01aeb042af32a50cfc9d8a7398524597adce475c34f2eb95fd": "0x132609e0", - "0x49dc709854b3f2f5979fd249c3f9443171ae28b352b928d078d6d4cad10edb4b": "0x554ac91bc" - }, - "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" - } + "0xea410a9d6fcf03138c09818fddedd96d7514dd41": { + "balance": "0xbcf188d629c8", + "nonce": "0x1" }, - "0xfb183eb452cee258c7e429610cb7d9e2a5fa68ff": { - "balance": "0x654e08118394ec30", - "nonce": "0x4fe1" + "0x50e5289fc3a37fbad1948cc17a67f56867c8eb25": { + "balance": "0x3a22486b4516b80a5" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196552d49f78463a0" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70053907f8d4b089" } }, "meta": { - "byte_code": "0x02f8b301824fe084b2d05e00850f0b45e740830186a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000c0bc23fc078128ac56356287cc950b385e3d546000000000000000000000000000000000000000000000000000000000132609e0c001a0184457b3a6b74c8dfbc42731daab9206f9080457c26d31a2b8e3dd31df873cf2a057409fb34641955c154de08c18d472db9a0dad1aa8784148402eabeecf0f145f", - "new_txn_trie_node_byte": "0x02f8b301824fe084b2d05e00850f0b45e740830186a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000c0bc23fc078128ac56356287cc950b385e3d546000000000000000000000000000000000000000000000000000000000132609e0c001a0184457b3a6b74c8dfbc42731daab9206f9080457c26d31a2b8e3dd31df873cf2a057409fb34641955c154de08c18d472db9a0dad1aa8784148402eabeecf0f145f", - "new_receipt_trie_node_byte": "0xb901ab02f901a701831d9777b9010000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000010000000000000000000000000000000000000000000000000000000009000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000010000000000000000000000000000000010000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000400000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000fb183eb452cee258c7e429610cb7d9e2a5fa68ffa0000000000000000000000000c0bc23fc078128ac56356287cc950b385e3d5460a000000000000000000000000000000000000000000000000000000000132609e0", - "gas_used": 63209 + "byte_code": "0x02f87401808407270e00850174876e808288b89450e5289fc3a37fbad1948cc17a67f56867c8eb258903a2174d2715ac440080c001a02dd4351672feaa86277c5c184b7d9b9947c8d7f5cb367adaebc5a88b47803270a01bccd40a69e401df8b660c57d16d1869e53764d74ed36a4a13be69e0fdff5f88", + "new_txn_trie_node_byte": "0x02f87401808407270e00850174876e808288b89450e5289fc3a37fbad1948cc17a67f56867c8eb258903a2174d2715ac440080c001a02dd4351672feaa86277c5c184b7d9b9947c8d7f5cb367adaebc5a88b47803270a01bccd40a69e401df8b660c57d16d1869e53764d74ed36a4a13be69e0fdff5f88", + "new_receipt_trie_node_byte": "0xb9010d02f90109018313ead9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { + "0x971cf76eb9acae80d304e08ef169189080b5dd2a": { + "balance": "0x480605b0d961be8", + "nonce": "0x17d" + }, "0xdac17f958d2ee523a2206206994597c13d831ec7": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x12fe613e02847a24ccf1e8dd21354661c00a988c6a282b937c14734f2b6c38f6", + "0xce6c1b7c9fa38d34e774418c10763a80d0c9ded9c142cf71b5351f2c6a3fc507", "0x000000000000000000000000000000000000000000000000000000000000000a", "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x361ce7b2d020925ceed714de7f135a12bad067ccbdf8196bd4b0176bf20fd8c3", - "0xb94896f29f9cbd6302f9c0a52bc8e0a919d9f5c62845a9144910f0c4194c884a" + "0x5b7333d566768ed3992aa5cc95b2bd47a53005c31c3f4417a3c0b00a1ca15b06", + "0x5874055e6376995e5aa0936c3e608df9de02f1ffb5d5870e9e3e7c9590328f17", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0xb94896f29f9cbd6302f9c0a52bc8e0a919d9f5c62845a9144910f0c4194c884a": "0x37fdac2a80", - "0x361ce7b2d020925ceed714de7f135a12bad067ccbdf8196bd4b0176bf20fd8c3": "0x0" + "0x5b7333d566768ed3992aa5cc95b2bd47a53005c31c3f4417a3c0b00a1ca15b06": "0xa34a3c40", + "0x5874055e6376995e5aa0936c3e608df9de02f1ffb5d5870e9e3e7c9590328f17": "0x84464e0" }, "code_usage": { "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" } }, - "0x943c452511102c551e10b8d84941d6043a0438a6": { - "balance": "0x1ebf25a6c1b09b", - "nonce": "0x1" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19655787b9c88a420" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70053ccdec68a309" } }, "meta": { - "byte_code": "0x02f8b101808477541880850cb2c7a5818301482094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000ebaba1d649be1e293a8a9e37b0f59f166b025d1f000000000000000000000000000000000000000000000000000000002faf0800c080a0a8915ad517a3cd2e90c15b69f349b073974676e654d923c5b54cbe121f1a7abca0074fab20442f1f759dac3a124009911adf4f9dfdf25ed9007e8134a1cdfb2a09", - "new_txn_trie_node_byte": "0x02f8b101808477541880850cb2c7a5818301482094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000ebaba1d649be1e293a8a9e37b0f59f166b025d1f000000000000000000000000000000000000000000000000000000002faf0800c080a0a8915ad517a3cd2e90c15b69f349b073974676e654d923c5b54cbe121f1a7abca0074fab20442f1f759dac3a124009911adf4f9dfdf25ed9007e8134a1cdfb2a09", - "new_receipt_trie_node_byte": "0xb901ab02f901a701831e38c8b9010000000000000000000000002000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000008000080000000000000000000000000000000000000000000001202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000943c452511102c551e10b8d84941d6043a0438a6a0000000000000000000000000ebaba1d649be1e293a8a9e37b0f59f166b025d1fa0000000000000000000000000000000000000000000000000000000002faf0800", - "gas_used": 41297 + "byte_code": "0x02f8b20182017c84055d4a8085014738c35682c7b694dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000005748b5faa0a8b91900c81ab7a82758b48f1d0e6b00000000000000000000000000000000000000000000000000000000030fff20c080a09456fbd6916935110168d2587138d15178b181c7c0091066e696cd2ac7789f43a02f531bdeb912983c9f353cc253e282fc75e60c8acba5c5b69a554148a6628976", + "new_txn_trie_node_byte": "0x02f8b20182017c84055d4a8085014738c35682c7b694dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000005748b5faa0a8b91900c81ab7a82758b48f1d0e6b00000000000000000000000000000000000000000000000000000000030fff20c080a09456fbd6916935110168d2587138d15178b181c7c0091066e696cd2ac7789f43a02f531bdeb912983c9f353cc253e282fc75e60c8acba5c5b69a554148a6628976", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183149eeab9010000000000000200000000000000000000000000000000000000000000000000000000000000000000004000000000010000000000000000000000000000800000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000001000200000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000971cf76eb9acae80d304e08ef169189080b5dd2aa00000000000000000000000005748b5faa0a8b91900c81ab7a82758b48f1d0e6ba000000000000000000000000000000000000000000000000000000000030fff20", + "gas_used": 46097 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19655eb8d6faccaa0" - }, "0xdac17f958d2ee523a2206206994597c13d831ec7": { "storage_read": [ + "0x95bcbf6f39b9a2f447945c62cb5f4d63871e9dad5df1e34ecca044ae6ef46a10", + "0xf8c9481d1a1ab2836663193378e7be98babc20bfa97765aec867806f83d0c8f3", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x75f7f8a447801bb3acf20ed694b60cd14d95954391a921e8e0e05339d096a919", + "0xbab77acae3642d1840cb4e3a1281464ba78f8c47349fc44f1d08b424266487e3", "0x000000000000000000000000000000000000000000000000000000000000000a", "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x56ee5c039aedeaedf1032028e6c6acb8882795c2c1cf967aecbff3b2c39ab4c0", - "0xfdf63d3ff40a283fa89c57389b05f9f23f6ea6909b558c6dc6aa7c87a659c7b9" + "0x0000000000000000000000000000000000000000000000000000000000000004" ], "storage_written": { - "0x56ee5c039aedeaedf1032028e6c6acb8882795c2c1cf967aecbff3b2c39ab4c0": "0x1c4d71de2b7", - "0xfdf63d3ff40a283fa89c57389b05f9f23f6ea6909b558c6dc6aa7c87a659c7b9": "0xe111300" + "0x95bcbf6f39b9a2f447945c62cb5f4d63871e9dad5df1e34ecca044ae6ef46a10": "0x13866f257", + "0xf8c9481d1a1ab2836663193378e7be98babc20bfa97765aec867806f83d0c8f3": "0x820a17d" }, "code_usage": { "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" } }, - "0xb23360ccdd9ed1b15d45e5d3824bb409c8d7c460": { - "balance": "0x4f17944e2c12f858d2", - "nonce": "0x68c4b" + "0x66d2f46c668b5b791bfb0d09c7d5d4c2d5015030": { + "balance": "0x95d7f878f87a26", + "nonce": "0x58" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70054093dffc9589" } }, "meta": { - "byte_code": "0x02f8b40183068c4a8477541880850cb2c7a5818301482094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000e9ce0d674edd8b0fbccc295212d5522b070ec288000000000000000000000000000000000000000000000000000000000e111300c080a0b8527beb0ba51f289f32850945bea33b77b2c02d5e4ac8c293573925567e1ecca033443f0123a2343f290c2d9ca19b306aa64f721e24faeb18df95c9728dc687bb", - "new_txn_trie_node_byte": "0x02f8b40183068c4a8477541880850cb2c7a5818301482094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000e9ce0d674edd8b0fbccc295212d5522b070ec288000000000000000000000000000000000000000000000000000000000e111300c080a0b8527beb0ba51f289f32850945bea33b77b2c02d5e4ac8c293573925567e1ecca033443f0123a2343f290c2d9ca19b306aa64f721e24faeb18df95c9728dc687bb", - "new_receipt_trie_node_byte": "0xb901ab02f901a701831f2fa5b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000001000000000000000000000100000000000000100000000000001000000000000080000000000000000000000000000000000000000008000002000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000400000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b23360ccdd9ed1b15d45e5d3824bb409c8d7c460a0000000000000000000000000e9ce0d674edd8b0fbccc295212d5522b070ec288a0000000000000000000000000000000000000000000000000000000000e111300", - "gas_used": 63197 + "byte_code": "0x02f8b0015784055d4a80850135dce5d882c7b694dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000b30d2f5231022c5325d616215056a2f69f09b91e0000000000000000000000000000000000000000000000000000000000142440c080a0f93a6e9a091749adb6ab32275890a31202b45923e009d2cccd3a3faa860ebbeea067f03fce9e12d4e2b564f157a5775ce7ded2d4e55e9fdb3d5e8bd4e397fa52e7", + "new_txn_trie_node_byte": "0x02f8b0015784055d4a80850135dce5d882c7b694dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000b30d2f5231022c5325d616215056a2f69f09b91e0000000000000000000000000000000000000000000000000000000000142440c080a0f93a6e9a091749adb6ab32275890a31202b45923e009d2cccd3a3faa860ebbeea067f03fce9e12d4e2b564f157a5775ce7ded2d4e55e9fdb3d5e8bd4e397fa52e7", + "new_receipt_trie_node_byte": "0xb901ab02f901a701831552fbb9010000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000200080000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000010000000000000000000000000000000000000002000000000000000000000100000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000066d2f46c668b5b791bfb0d09c7d5d4c2d5015030a0000000000000000000000000b30d2f5231022c5325d616215056a2f69f09b91ea00000000000000000000000000000000000000000000000000000000000142440", + "gas_used": 46097 } }, { "traces": { - "0x1294f4183763743c7c9519bec51773fb3acd78fd": { - "storage_read": [ - "0x5c773e9271eb6f419b42f0490cd86fc79d1171c0ee2547024017695e946a43ab", - "0x49ba8af02d9344a316fc9f0e1425ce802a09de0d54abf79a1c226796592a8559", - "0x88014a56542fb90935482aaff081f79b19111adff9813e5ec89cb5ef957acf82", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x8c3f550f970d84dc9ceb9449f8a79146b81afd76122f545ddf8c9c20a7bcaa2d", - "0xa41e052b635fb5f5f276dd6196b7190ef1f69d171a573e3b7e24406089f3fcad", - "0xe06ef3cbf4d9ef77dd20c6cd5a5ff8215d56f988c543a1fc406db33ce9f9a2c2" - ], - "storage_written": { - "0x8c3f550f970d84dc9ceb9449f8a79146b81afd76122f545ddf8c9c20a7bcaa2d": "0x2e70b2da7c15a3ee6e28", - "0xa41e052b635fb5f5f276dd6196b7190ef1f69d171a573e3b7e24406089f3fcad": "0x68665d50b63911a26671f4" - }, - "code_usage": { - "read": "0x93bbe323a93a0759ae8d5dd17216194d14412242d9b3f8b521390a3420be8fe0" - } - }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" - } - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19656ef432868bea0" - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x29869670de5f39fc63c8c", - "storage_read": [ - "0x29fc5f334ece9c98324bc24abaeda67252adbf87a28a2722a673fa8a61f7f000", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a" - ], - "storage_written": { - "0x29fc5f334ece9c98324bc24abaeda67252adbf87a28a2722a673fa8a61f7f000": "0xa945bc096074a1024", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0xc48396f068c62e0192c9f2c1caa7e07bbd15dbc7": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0xc0d1c00078410fd0164580b0bad93d8a579580d06cf45fc2696a823498097b8a", - "0x000000000000000000000000000000000000000000000000000000000000000f" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100002900290008fe26520000000000000000009890a7e97e5b3edaa775cd", - "0x0000000000000000000000000000000000000000000000000000000000000010": "0x1000000000000000000000112600046a178066244ffff6eabe0162065cf5de7", - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x5effdc5139f4da0f11944d601847f5631e" - }, - "code_usage": { - "read": "0x0b1efe7cc68a175aa456b1085258e697be57fb5f24d57372c9ac32edd08dcc3a" - } + "0x55cdaced8d2e15bc14d09a3747923ec447eb529d": { + "balance": "0x0", + "nonce": "0x4" }, - "0x1302b105a2e6d1716ea930d27d6ec6de02fd4015": { - "balance": "0x18a9c193752a8037", - "nonce": "0xd6" + "0x787b8840100d9baadd7463f4a73b5ba73b00c6ca": { + "balance": "0x2ece99501b0e042163" }, - "0x000000000022d473030f116ddee9f6b43ac78ba3": { - "storage_read": [ - "0x9e75a7eaab4a5d769075eac5d982431cfd9c30e781c6021897117d1816303be6" - ], - "code_usage": { - "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700541ca5b1f9919" } }, "meta": { - "byte_code": "0x02f902d30181d584773594008508e05c0a8383032354943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b9026424856bc3000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000002010c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000017979cfe362a000000000000000000000000000000000000000000000000431672a2426f5f8162cf00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20027101294f4183763743c7c9519bec51773fb3acd78fd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000001302b105a2e6d1716ea930d27d6ec6de02fd401500000000000000000000000000000000000000000000000017979cfe362a0000c001a0ee8721f9cca1ddc677a11fdf68d05bf4757bfbfe5e6b2b37d1b70d2a26d82e98a010178961398ccf71ffbb468dab3ba7ba15020dcca0efc52c38ce2aaf02eab979", - "new_txn_trie_node_byte": "0x02f902d30181d584773594008508e05c0a8383032354943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b9026424856bc3000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000002010c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000017979cfe362a000000000000000000000000000000000000000000000000431672a2426f5f8162cf00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20027101294f4183763743c7c9519bec51773fb3acd78fd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000001302b105a2e6d1716ea930d27d6ec6de02fd401500000000000000000000000000000000000000000000000017979cfe362a0000c001a0ee8721f9cca1ddc677a11fdf68d05bf4757bfbfe5e6b2b37d1b70d2a26d82e98a010178961398ccf71ffbb468dab3ba7ba15020dcca0efc52c38ce2aaf02eab979", - "new_receipt_trie_node_byte": "0xb903e402f903e00183215d5eb9010000000000000000000000000000000000000000000080000000000000000000000000000000000000001000000000000002000000180020000000000000000000000000080400000800000008000000000000000000400000000000000020000000000000000000000008000000000000000000000000040000000010000840000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000002000000000000000400000000000000000000000000000002000000400000200000010000000000000800000000001000000000000000000000000000f902d5f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c48396f068c62e0192c9f2c1caa7e07bbd15dbc7a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000017979cfe362a0000f89b941294f4183763743c7c9519bec51773fb3acd78fdf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001302b105a2e6d1716ea930d27d6ec6de02fd4015a0000000000000000000000000c48396f068c62e0192c9f2c1caa7e07bbd15dbc7a00000000000000000000000000000000000000000000043054a5e11c6fb69fbe7f9011c94c48396f068c62e0192c9f2c1caa7e07bbd15dbc7f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8a00000000000000000000000000000000000000000000043054a5e11c6fb69fbe7ffffffffffffffffffffffffffffffffffffffffffffffffe8686301c9d600000000000000000000000000000000000000000000009890a7e97e5b3edaa775cd000000000000000000000000000000000000000000008799d9323f0ad5f6702ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2652f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000017979cfe362a0000", - "gas_used": 142777 + "byte_code": "0xf86c0385011e27387982520894787b8840100d9baadd7463f4a73b5ba73b00c6ca8802d2a02ef0d112148026a097828b68e16c1ed9f9d123144b205534505138f189b7184b471992633b2553e3a0463d16e25c84470d54b7a1b98e765447684c8a50de769af5a4f408ed0794cade", + "new_txn_trie_node_byte": "0xf86c0385011e27387982520894787b8840100d9baadd7463f4a73b5ba73b00c6ca8802d2a02ef0d112148026a097828b68e16c1ed9f9d123144b205534505138f189b7184b471992633b2553e3a0463d16e25c84470d54b7a1b98e765447684c8a50de769af5a4f408ed0794cade", + "new_receipt_trie_node_byte": "0xf90109018315a503b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965743172884a2a0" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70054300d6429ca9" }, - "0x86a78f8d75832a1aed06bc88a8ed2150a6b8126f": { - "balance": "0x2f316c63560eb3", - "nonce": "0x19" + "0x2c8068ca53557df7227a526633e2540e517e2ab8": { + "balance": "0x1d19abcd5af000" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "storage_read": [ - "0xd14a4a2e31b8097e75ca2836afdf67a0e91792bb9a1f77a6e7b2bc1b4228efce", - "0x4ecdcec8f84df5844e68690df06afabc1854d2a4430ccea67476cd5650080268", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x8e89599e3ecfb90ccdc86318bbd9cc92dbdf264451f0efb7e9e523d95683b1aa", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004" - ], - "storage_written": { - "0xd14a4a2e31b8097e75ca2836afdf67a0e91792bb9a1f77a6e7b2bc1b4228efce": "0x3fb16c8bb", - "0x4ecdcec8f84df5844e68690df06afabc1854d2a4430ccea67476cd5650080268": "0x23c34600" - }, - "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" - } + "0x974caa59e49682cda0ad2bbe82983419a2ecc400": { + "balance": "0xdd8be3ef91d81a3a15", + "nonce": "0x25947d" } }, "meta": { - "byte_code": "0x02f8b1011884773594008508eb7687d88301117094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000004efd0f870b7a6517004752f40e3fd140c369592e0000000000000000000000000000000000000000000000000000000017d78400c080a085669a48857f33f699bc2922b5a51582dcebb379de3a4645d938dc1298ec63f7a07833695ad55fffdab715e8cbd637273c7a1676e03c7f7387a97cdb6366549322", - "new_txn_trie_node_byte": "0x02f8b1011884773594008508eb7687d88301117094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000004efd0f870b7a6517004752f40e3fd140c369592e0000000000000000000000000000000000000000000000000000000017d78400c080a085669a48857f33f699bc2922b5a51582dcebb379de3a4645d938dc1298ec63f7a07833695ad55fffdab715e8cbd637273c7a1676e03c7f7387a97cdb6366549322", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183221163b9010000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000010000000000000000000000000000000000004000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000100000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000080800f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000086a78f8d75832a1aed06bc88a8ed2150a6b8126fa00000000000000000000000004efd0f870b7a6517004752f40e3fd140c369592ea00000000000000000000000000000000000000000000000000000000017d78400", - "gas_used": 46085 + "byte_code": "0xf86f8325947c85011e27387983019a28942c8068ca53557df7227a526633e2540e517e2ab8871d19abcd5af0008026a024f743b587bed503e6586b2b5d46f28548356701bd7e75fed6788b53fc5cb5d7a0235f61f6dbdc3fbd35a9f6b4c6a205c9b50aff3339d423e88a80cca9c7b11e73", + "new_txn_trie_node_byte": "0xf86f8325947c85011e27387983019a28942c8068ca53557df7227a526633e2540e517e2ab8871d19abcd5af0008026a024f743b587bed503e6586b2b5d46f28548356701bd7e75fed6788b53fc5cb5d7a0235f61f6dbdc3fbd35a9f6b4c6a205c9b50aff3339d423e88a80cca9c7b11e73", + "new_receipt_trie_node_byte": "0xf90109018315f70bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { - "code_usage": { - "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" - } - }, - "0x28c6c06298d514db089934071355e5743bf21d60": { - "balance": "0x16ba43932e7d8bc0a24d", - "nonce": "0x88d04b" + "0x83cb20ea218e29a7db2f38492faf3874f0cc9fb5": { + "balance": "0xb157f70773594" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19657b4573ae2b2a0" + "0xa44712d0753ea22da4cac436ccdcafe2dd13c3d0": { + "balance": "0x3d5c0d4479c8", + "nonce": "0x2" }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { - "storage_read": [ - "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", - "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x07081a045c3dbf2e63b62a407ef205e7586e2629d2e2b95ff093308ca0ff3727", - "0x94f6239d8c0c6671484e82f85d9863a2b9f15d6ef6289ef14823078090c02ccb" - ], - "storage_written": { - "0x07081a045c3dbf2e63b62a407ef205e7586e2629d2e2b95ff093308ca0ff3727": "0x1a345c38ae805", - "0x94f6239d8c0c6671484e82f85d9863a2b9f15d6ef6289ef14823078090c02ccb": "0x6544b98210" - }, - "code_usage": { - "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700543f54f2320a9" } }, "meta": { - "byte_code": "0x02f8b4018388d04a84773594008517bfac7c008303291894a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000d70dce1740ff009c6a6fb13ac714628edec028db0000000000000000000000000000000000000000000000000000006544b98210c001a022fb85ecc99c57e799bb54d5250645d948334373e164ef2a162f80ac4bac37b4a04c09965a009d1cf2b209fbf21039bd2e9bddc263df3e1a0ed100386f360ebd32", - "new_txn_trie_node_byte": "0x02f8b4018388d04a84773594008517bfac7c008303291894a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000d70dce1740ff009c6a6fb13ac714628edec028db0000000000000000000000000000000000000000000000000000006544b98210c001a022fb85ecc99c57e799bb54d5250645d948334373e164ef2a162f80ac4bac37b4a04c09965a009d1cf2b209fbf21039bd2e9bddc263df3e1a0ed100386f360ebd32", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183230497b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000400000000000000000000000000000000000002000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000000000020000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000200000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000028c6c06298d514db089934071355e5743bf21d60a0000000000000000000000000d70dce1740ff009c6a6fb13ac714628edec028dba00000000000000000000000000000000000000000000000000000006544b98210", - "gas_used": 62260 + "byte_code": "0x02f87201018402faf08085012a05f2008252089483cb20ea218e29a7db2f38492faf3874f0cc9fb5870b157f7077359480c001a0edf144608d422e39f70e1d235b05c4d99ff3dffbd5d2de9c2e8c062865e96fc7a0322dd97167aa0a84112ad1bd62ea6d2eed79b21fa342040d1f0c5562c1710ed1", + "new_txn_trie_node_byte": "0x02f87201018402faf08085012a05f2008252089483cb20ea218e29a7db2f38492faf3874f0cc9fb5870b157f7077359480c001a0edf144608d422e39f70e1d235b05c4d99ff3dffbd5d2de9c2e8c062865e96fc7a0322dd97167aa0a84112ad1bd62ea6d2eed79b21fa342040d1f0c5562c1710ed1", + "new_receipt_trie_node_byte": "0xb9010d02f901090183164913b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x21a31ee1afc51d94c2efccaa2092ad1028285549": { - "balance": "0x3eecb83db2be5d0da70", - "nonce": "0x846377" + "0x6a096dca8f2e17f975f1d8a3028909a71bc433cd": { + "balance": "0x17ded688952fa3", + "nonce": "0xc4" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19658166ac15c0aa0" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700543fa32d5b2a9" }, - "0x5b7533812759b45c2b44c19e320ba2cd2681b542": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0xbfe3a0ea4e4df64d52cc5d137e94731980838427db9d8b6d217b324d5b90b4e3", - "0x78c309b6060eeb8808be7fd9f63b074f688b6fe5ef764b48edb0e842afcbf00d" - ], - "storage_written": { - "0x78c309b6060eeb8808be7fd9f63b074f688b6fe5ef764b48edb0e842afcbf00d": "0x6fe8f833300", - "0xbfe3a0ea4e4df64d52cc5d137e94731980838427db9d8b6d217b324d5b90b4e3": "0x937f3f357e40" - }, - "code_usage": { - "read": "0xb78fea465c0dd22ef8be85c23964d4842498fcbed1e650268f3cf84229b7a4e9" - } + "0xdc634574a548a94b803e772e1e1277c5c4ace745": { + "balance": "0x780a79c41c6a24" } }, "meta": { - "byte_code": "0x02f8b4018384637684773594008517bfac7c0083032918945b7533812759b45c2b44c19e320ba2cd2681b54280b844a9059cbb000000000000000000000000562ca3378142399fd149efe12527d04b7a8324ed000000000000000000000000000000000000000000000000000006fe8f833300c001a070f35e5d369075abba98509acc2d1942f950a2d5527ec83abd0b8f6deae7fe2da0441fea20b9442c0b2d1396a6a4b83b08be8080578d5ef0495cbaa373a971bb37", - "new_txn_trie_node_byte": "0x02f8b4018384637684773594008517bfac7c0083032918945b7533812759b45c2b44c19e320ba2cd2681b54280b844a9059cbb000000000000000000000000562ca3378142399fd149efe12527d04b7a8324ed000000000000000000000000000000000000000000000000000006fe8f833300c001a070f35e5d369075abba98509acc2d1942f950a2d5527ec83abd0b8f6deae7fe2da0441fea20b9442c0b2d1396a6a4b83b08be8080578d5ef0495cbaa373a971bb37", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018323d735b9010000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000001000000000000000000008000000200002000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000100000000000000004000000000020000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f89df89b945b7533812759b45c2b44c19e320ba2cd2681b542f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000021a31ee1afc51d94c2efccaa2092ad1028285549a0000000000000000000000000562ca3378142399fd149efe12527d04b7a8324eda0000000000000000000000000000000000000000000000000000006fe8f833300", - "gas_used": 53918 + "byte_code": "0x02f8720181c3830f424085012a2c654682520894dc634574a548a94b803e772e1e1277c5c4ace745871f2a39bf79d1b880c080a09a99fda746d19a9403e625af788b196b608d10f472a4d278c7b7768d410fc366a00554b3aec8b83b5e34334d4a83dcfa983d6a6f82f08fd222ef39549d58c3454e", + "new_txn_trie_node_byte": "0x02f8720181c3830f424085012a2c654682520894dc634574a548a94b803e772e1e1277c5c4ace745871f2a39bf79d1b880c080a09a99fda746d19a9403e625af788b196b608d10f472a4d278c7b7768d410fc366a00554b3aec8b83b5e34334d4a83dcfa983d6a6f82f08fd222ef39549d58c3454e", + "new_receipt_trie_node_byte": "0xb9010d02f901090183169b1bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19658f90fa07cfa39" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700543ff168844a9" }, - "0xddba26666ff220dd94eb5927fd1c9741f5edd06e": { - "balance": "0x3b650838a714c6", - "nonce": "0x1" - }, - "0x5f020c5f2a75d039f1ffba3183bccad0157afed7": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de70000000000002fd6343cacc58000000002d035911b24a454a41c30f5", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0xa86984d535eb74ddab6bf5c3d09e6b5fe5d34", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x7bffcf5cf81515dfa729be8", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } + "0x54e9bc1efb6d4af2e8b29ff41ffa096bdfa0ec16": { + "balance": "0x74456c74acb08" }, - "0x3bac404dcf868cb3261196d7f9a34866ecbf0db9": { - "storage_read": [ - "0xd6058a56281a7f39b19dc9e179aad6322d7ab67ba6b4f97b92b7eb336057e02c", - "0xca53e414c85370631d791eba815c4a1e5bc0b374edb73f9c751d33bcad642261", - "0x9c89314bb64b26031bda115caf0dafe32b74d0ef4c48bc98f7fa2452d99cda6c", - "0x02957aa65518e3a3117fd5e9116cbd4fe622fb4a4dfc9df507829cc48fa3963f" - ], - "storage_written": { - "0xd6058a56281a7f39b19dc9e179aad6322d7ab67ba6b4f97b92b7eb336057e02c": "0x153b8d02f0ece78f6d8126", - "0xca53e414c85370631d791eba815c4a1e5bc0b374edb73f9c751d33bcad642261": "0x2d035911b24a454a41c30f5" - }, - "code_usage": { - "read": "0x62dba93847d49dfa18b2b038bb8100242db183aefa5b0b5139a7afa90b64e00d" - } + "0x724f1c901a9b31c251f06f5a8758f888cb53113f": { + "balance": "0x279461913d92", + "nonce": "0xa" + } + }, + "meta": { + "byte_code": "0x02f8710109830f42408501559a54a08252089454e9bc1efb6d4af2e8b29ff41ffa096bdfa0ec168707312104cd57c880c001a0a9fbca58a8dc82a4669ec8606087695fbc50cdfbec7fab55de64513502223261a037e9849407bb5d69722a0884e63f18eeee99b03603420811f634b543931f1bd0", + "new_txn_trie_node_byte": "0x02f8710109830f42408501559a54a08252089454e9bc1efb6d4af2e8b29ff41ffa096bdfa0ec168707312104cd57c880c001a0a9fbca58a8dc82a4669ec8606087695fbc50cdfbec7fab55de64513502223261a037e9849407bb5d69722a0884e63f18eeee99b03603420811f634b543931f1bd0", + "new_receipt_trie_node_byte": "0xb9010d02f90109018316ed23b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x9ea3a85d89b00c25d7a243a63cfe5d51223c646e": { + "balance": "0xb8151e73abe1bc" }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x29869686d9ded5889bc8c", - "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0x9c89314bb64b26031bda115caf0dafe32b74d0ef4c48bc98f7fa2452d99cda6c" - ], - "storage_written": { - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", - "0x9c89314bb64b26031bda115caf0dafe32b74d0ef4c48bc98f7fa2452d99cda6c": "0x2fd6343cacc58000" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } + "0xb87430c5c1fff642fa37b408ed6661b044a7e87c": { + "balance": "0x11342b798b1547f4", + "nonce": "0xb" }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, - "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70054403fa3ad6a9" } }, "meta": { - "byte_code": "0xf902f38085078f68e902830493e0943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad88015fb7f9b8c38000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf5e8e00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000015fb7f9b8c3800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000015fb7f9b8c38000000000000000000000000000000000000000000000153b8d02f0ece78f6d812600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003bac404dcf868cb3261196d7f9a34866ecbf0db925a03bed20a2e9038beefdfea52180b5dae09249b1170eb53423943d16636e6d9bf8a01d44d9a8289eae8ca609e38ff53f89097318ff26ef06b499282433583fa84853", - "new_txn_trie_node_byte": "0xf902f38085078f68e902830493e0943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad88015fb7f9b8c38000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf5e8e00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000015fb7f9b8c3800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000015fb7f9b8c38000000000000000000000000000000000000000000000153b8d02f0ece78f6d812600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003bac404dcf868cb3261196d7f9a34866ecbf0db925a03bed20a2e9038beefdfea52180b5dae09249b1170eb53423943d16636e6d9bf8a01d44d9a8289eae8ca609e38ff53f89097318ff26ef06b499282433583fa84853", - "new_receipt_trie_node_byte": "0xf9043a018325da52b9010000200000000000000000000080000000000000000000000000000000000000000000000020000000000000000000000002000000080000000000000000000000000000080000000000000008000000200000000000200000010000008020000000000000000000000001000000000000000000000000000000000010000000004000400000000000000000000000000000000001000000080000024000000000000000000000000000000000000800000000000000000000000000000000000000000002002000000000000000000000000000000000001000000000000000000000200000000100080000000000000000001002000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000000015fb7f9b8c38000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000005f020c5f2a75d039f1ffba3183bccad0157afed7a0000000000000000000000000000000000000000000000000015fb7f9b8c38000f89b943bac404dcf868cb3261196d7f9a34866ecbf0db9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005f020c5f2a75d039f1ffba3183bccad0157afed7a0000000000000000000000000ddba26666ff220dd94eb5927fd1c9741f5edd06ea0000000000000000000000000000000000000000000153b8d02f0ece78f6d8126f879945f020c5f2a75d039f1ffba3183bccad0157afed7e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000002d035911b24a454a41c30f50000000000000000000000000000000000000000000000002fd6343cacc58000f8fc945f020c5f2a75d039f1ffba3183bccad0157afed7f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000ddba26666ff220dd94eb5927fd1c9741f5edd06eb8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015fb7f9b8c38000000000000000000000000000000000000000000000153b8d02f0ece78f6d81260000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 131869 + "byte_code": "0x02f871010a830f424085015c2a8afd825208949ea3a85d89b00c25d7a243a63cfe5d51223c646e8777dd7ba55e61b080c080a09be38372c0736bfd88eb1620b597015f0ab1334f969a5d5b44e6a6df52dfeab8a004fe11fbd3b097cd3443bda5960138473628af31f604ae10359bef34dee31a8d", + "new_txn_trie_node_byte": "0x02f871010a830f424085015c2a8afd825208949ea3a85d89b00c25d7a243a63cfe5d51223c646e8777dd7ba55e61b080c080a09be38372c0736bfd88eb1620b597015f0ab1334f969a5d5b44e6a6df52dfeab8a004fe11fbd3b097cd3443bda5960138473628af31f604ae10359bef34dee31a8d", + "new_receipt_trie_node_byte": "0xb9010d02f901090183173f2bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196593d9782505a39" + "0xe2097703cfc7c1f1876431aae019dacb33d7f96e": { + "balance": "0x25f5b19b71ed5b", + "nonce": "0x2" }, - "0xca20c2b6726da9c10bdd04910e47276e73fa982c": { - "balance": "0xf6bb3b392f1056e", - "nonce": "0x52" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544153e5db589" }, - "0xe41d2489571d322189246dafa5ebde1f4699f498": { + "0x932261f9fc8da46c4a22e31b45c4de60623848bf": { "storage_read": [ - "0x706ae5cb79a22594f31c14ac7c556a2cc08c6ba0bf3846601a61d733d161b673", - "0xe457cad9e42255c0d35a50b7de04bacb1db0d3d1c3b808f4285bd3888a422590" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0xdeb0a351a45769d91c05a232e2c8fb90fc77aa540a4374e33097b5a038ac18fc", + "0x3628ea72d6ced02316542ba9c7e4aecf73529131095f0901d447025bea0c0f95" ], "storage_written": { - "0x706ae5cb79a22594f31c14ac7c556a2cc08c6ba0bf3846601a61d733d161b673": "0x0", - "0xe457cad9e42255c0d35a50b7de04bacb1db0d3d1c3b808f4285bd3888a422590": "0x1670043110562e0000" + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x51c58", + "0x3628ea72d6ced02316542ba9c7e4aecf73529131095f0901d447025bea0c0f95": "0x1", + "0xdeb0a351a45769d91c05a232e2c8fb90fc77aa540a4374e33097b5a038ac18fc": "0xe2097703cfc7c1f1876431aae019dacb33d7f96e" }, "code_usage": { - "read": "0x44d31e602fd21d6ca2e92923b0a6626c47c1986a92e1abc87bea9ae71e553229" + "read": "0x661e739970c6dc9867e662512f9316fb38cea6da23f3b9bb4c028009679c933c" } } }, "meta": { - "byte_code": "0x02f8b00151845f5e10008507e1d74a4182cb6494e41d2489571d322189246dafa5ebde1f4699f49880b844a9059cbb00000000000000000000000024fbedac740dedb891a6a6fe416692cd40daba8700000000000000000000000000000000000000000000001670043110562e0000c001a0539578302b5cb50c137ebf2b41c53587982c4602a74365e38d2279e66754b182a06307727fc9b61e1772b5d626f7053f8653477c49f20fe8f21b0ae0840864f3c6", - "new_txn_trie_node_byte": "0x02f8b00151845f5e10008507e1d74a4182cb6494e41d2489571d322189246dafa5ebde1f4699f49880b844a9059cbb00000000000000000000000024fbedac740dedb891a6a6fe416692cd40daba8700000000000000000000000000000000000000000000001670043110562e0000c001a0539578302b5cb50c137ebf2b41c53587982c4602a74365e38d2279e66754b182a06307727fc9b61e1772b5d626f7053f8653477c49f20fe8f21b0ae0840864f3c6", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183269248b9010000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000080000000008000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000010000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002100000000000000000000000040000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94e41d2489571d322189246dafa5ebde1f4699f498f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ca20c2b6726da9c10bdd04910e47276e73fa982ca000000000000000000000000024fbedac740dedb891a6a6fe416692cd40daba87a000000000000000000000000000000000000000000000001670043110562e0000", - "gas_used": 47094 + "byte_code": "0x02f8730101830ef4208501e66baab983012b0a94932261f9fc8da46c4a22e31b45c4de60623848bf80881249c58b0021fb3fc080a039d497018cf2fc848c5b77d63f488bf0b45b8707c0396c53f0e5cf684d5f48e7a0247b3ec1dd79bef5cadd6270f6e2eab99d740f6a29560b6b963400a71c2e87c4", + "new_txn_trie_node_byte": "0x02f8730101830ef4208501e66baab983012b0a94932261f9fc8da46c4a22e31b45c4de60623848bf80881249c58b0021fb3fc080a039d497018cf2fc848c5b77d63f488bf0b45b8707c0396c53f0e5cf684d5f48e7a0247b3ec1dd79bef5cadd6270f6e2eab99d740f6a29560b6b963400a71c2e87c4", + "new_receipt_trie_node_byte": "0xb901ac02f901a801831866c2b9010000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000008000000000000000000000000000000000200000000000000020000000000000000000800000000000000000000000010000008000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000020200000000000000000000000000000000040000000000000004000000000000000f89ef89c94932261f9fc8da46c4a22e31b45c4de60623848bff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000e2097703cfc7c1f1876431aae019dacb33d7f96ea00000000000000000000000000000000000000000000000000000000000051c5780", + "gas_used": 75671 } }, { "traces": { - "0x473037de59cf9484632f4a27b509cfe8d4a31404": { - "storage_read": [ - "0xf971a6ff39f526af1d8c27ed6497c9aa98c7c72b5705d75e7d41966b6c619c45", - "0x5c6a8484ae81b79e59c9fbab92bbd582e988e84c0eede7ccb09d8bffd2484796" - ], - "storage_written": { - "0xf971a6ff39f526af1d8c27ed6497c9aa98c7c72b5705d75e7d41966b6c619c45": "0xde49a466db6f6", - "0x5c6a8484ae81b79e59c9fbab92bbd582e988e84c0eede7ccb09d8bffd2484796": "0x94183fe380" - }, - "code_usage": { - "read": "0x5903a9db3f6392e82acbc4e23375addaf409d0f86be0e5687f269af42b3426a3" - } + "0x5360e661a1d80dd0c79535b2d5bfe651db2f643a": { + "balance": "0x13b7c854969b68", + "nonce": "0x2" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196598505adb52339" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7005441a09079689" }, - "0xeb49f0309dd219846758d1d4b15a381542182825": { - "balance": "0x1212a52bc14a6569c8", - "nonce": "0xaf58" + "0x19e24947af317ee7b3066e8846aa90e14e91bcbb": { + "balance": "0x775f05a074000" } }, "meta": { - "byte_code": "0x02f8b30182af578459682f00850f2abc4176830186a094473037de59cf9484632f4a27b509cfe8d4a3140480b844a9059cbb0000000000000000000000009cede37fa4befd700d500642b855bf89977e9a1d00000000000000000000000000000000000000000000000000000094183fe380c001a017a724ef7f196388e065ac1dfae1a99f76fbaba8fb0f863bbc2c310f45a1e7f6a072d3780de70b40fb4c9b272bb4764b2ea88476f28355b978fe5110bbafc77a16", - "new_txn_trie_node_byte": "0x02f8b30182af578459682f00850f2abc4176830186a094473037de59cf9484632f4a27b509cfe8d4a3140480b844a9059cbb0000000000000000000000009cede37fa4befd700d500642b855bf89977e9a1d00000000000000000000000000000000000000000000000000000094183fe380c001a017a724ef7f196388e065ac1dfae1a99f76fbaba8fb0f863bbc2c310f45a1e7f6a072d3780de70b40fb4c9b272bb4764b2ea88476f28355b978fe5110bbafc77a16", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183275ecfb9010000000000000800000000000000000000000004000100000000000000000000000000000000400000000000000000000000000400000000000000000000000080000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000f89df89b94473037de59cf9484632f4a27b509cfe8d4a31404f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000eb49f0309dd219846758d1d4b15a381542182825a00000000000000000000000009cede37fa4befd700d500642b855bf89977e9a1da000000000000000000000000000000000000000000000000000000094183fe380", - "gas_used": 52359 + "byte_code": "0x02f8710101830ef4208501e66baab98252089419e24947af317ee7b3066e8846aa90e14e91bcbb870775f05a07400080c080a06b900118d02ddc1b3df5669193d3b3302e1309760d4b5f04c28b22f05d2080c5a07fb948857422a8676a6db50eb4c8c9e7f0879b3853dc9de5134ae49305ccce9b", + "new_txn_trie_node_byte": "0x02f8710101830ef4208501e66baab98252089419e24947af317ee7b3066e8846aa90e14e91bcbb870775f05a07400080c080a06b900118d02ddc1b3df5669193d3b3302e1309760d4b5f04c28b22f05d2080c5a07fb948857422a8676a6db50eb4c8c9e7f0879b3853dc9de5134ae49305ccce9b", + "new_receipt_trie_node_byte": "0xb9010d02f90109018318b8cab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { "0xdac17f958d2ee523a2206206994597c13d831ec7": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0xcde00e4aa8737385df7d00095ae507a3e343d412b6ffb71aa6a115cf30ee4d13", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x8bc41dcfc838f07e524af11c4c088a6060559b41557ac1ae8079ecb980934c96", "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x135bf80526f52c54b7ad1ec19ca201f0ee7a26c88f55fa3a80aab0397e7c34d4" + "0x75a26b1f8850786d37bba38b0f06de5dc7d2c5c82025e3a1138b791decaf9685", + "0x78ad884a58c0ac6d2b7344f688169dca8e41f344cf0ea6fd6fc9be4d7f6c0ba0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5b46822af98b0cc983fd22912d6165e9deda60576339e1f5d8bbd66f45fc1c22", + "0x000000000000000000000000000000000000000000000000000000000000000a" ], "storage_written": { - "0x135bf80526f52c54b7ad1ec19ca201f0ee7a26c88f55fa3a80aab0397e7c34d4": "0x228c9ac0", - "0xcde00e4aa8737385df7d00095ae507a3e343d412b6ffb71aa6a115cf30ee4d13": "0xbaed9825bb" + "0x75a26b1f8850786d37bba38b0f06de5dc7d2c5c82025e3a1138b791decaf9685": "0x2eb3c8511a", + "0x78ad884a58c0ac6d2b7344f688169dca8e41f344cf0ea6fd6fc9be4d7f6c0ba0": "0x354f760" }, "code_usage": { "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" } }, - "0xeee7d74094cd46aa89cf16a155711c578951324f": { - "balance": "0xee607b76d19e5df", - "nonce": "0x528" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19659e8572252f239" + "0x8c8d7c46219d9205f056f28fee5950ad564d7465": { + "balance": "0x691d2738c6ee09533", + "nonce": "0x1030ee" }, - "0xeb0e2f857cec0a8183db1fe03f982b5bd63f2c7c": { - "storage_read": [ - "0xb1c22355ed62553dbf06beb697e060162e083bcfc61ea4180c48037ac4453d87" - ], - "code_usage": { - "read": "0x3551b673dd2e234bb738a16b391efa6d7c9bf0ad7b764172b614673c515be0eb" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544284f8d9a19" } }, "meta": { - "byte_code": "0x02f8d3018205278459682f00850e9d011e8483011c6194eb0e2f857cec0a8183db1fe03f982b5bd63f2c7c80b86469328dec000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000228c9ac00000000000000000000000001268c0846dc87b9413143895d03291fb32d7d23ec080a0c042a1b9c7ed354c0fe069596a9d778328dbe729e0b7db1244cf40940121a686a05f1201ea9305ce3ec820185f1687c14ce1b138caad109b35b946af28735885a7", - "new_txn_trie_node_byte": "0x02f8d3018205278459682f00850e9d011e8483011c6194eb0e2f857cec0a8183db1fe03f982b5bd63f2c7c80b86469328dec000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000228c9ac00000000000000000000000001268c0846dc87b9413143895d03291fb32d7d23ec080a0c042a1b9c7ed354c0fe069596a9d778328dbe729e0b7db1244cf40940121a686a05f1201ea9305ce3ec820185f1687c14ce1b138caad109b35b946af28735885a7", - "new_receipt_trie_node_byte": "0xb9026a02f902660183287b30b901000000000000000000000000000000000000000000000000000000000000000000000000004000000000020000000001000000000000000000000000000000000000000002000000000000000800000000080000000000000000000000000000000000000000000000000000000000000000000020000000000000001a000000000000000000000000000000000000000000000000000000004000100000100000000000000000000000000080000000000400040000020000000000000000004000000002000000000000000000000000001000020000000000000000000000000000000002000000000000000000000000080000000000000000000000000000f9015bf89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000eb0e2f857cec0a8183db1fe03f982b5bd63f2c7ca00000000000000000000000001268c0846dc87b9413143895d03291fb32d7d23ea000000000000000000000000000000000000000000000000000000000228c9ac0f8bc94eb0e2f857cec0a8183db1fe03f982b5bd63f2c7cf884a01e9eeaf1a9185f8b4c0c3394a8209f8c4bd7a41d93c23704144795f5b3d8bb88a0000000000000000000000000eee7d74094cd46aa89cf16a155711c578951324fa0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7a00000000000000000000000001268c0846dc87b9413143895d03291fb32d7d23ea000000000000000000000000000000000000000000000000000000000228c9ac0", - "gas_used": 72801 + "byte_code": "0x02f8b201831030ed830ecd1085023c3fa3e282fde894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000fee935afe43a8f42471b13373659a2b95a384a09000000000000000000000000000000000000000000000000000000000354f760c080a04ed0cc51136bc03f81f062d5265e62e0e624a4fc95f3b1e4aa4ae0fbeee1dadca03a7720355bb13339d96fc9c11a9089000ce6676714a88ba89776ca1ba156a91e", + "new_txn_trie_node_byte": "0x02f8b201831030ed830ecd1085023c3fa3e282fde894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000fee935afe43a8f42471b13373659a2b95a384a09000000000000000000000000000000000000000000000000000000000354f760c080a04ed0cc51136bc03f81f062d5265e62e0e624a4fc95f3b1e4aa4ae0fbeee1dadca03a7720355bb13339d96fc9c11a9089000ce6676714a88ba89776ca1ba156a91e", + "new_receipt_trie_node_byte": "0xb901ab02f901a7018319afb3b9010000000000000000000000000000000000000000000000000440000000000000000000000000020000000000000000010000000000000000000000400000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040010000000000000000000000000000000000000000000000000000000000000000000100000000000200000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008c8d7c46219d9205f056f28fee5950ad564d7465a0000000000000000000000000fee935afe43a8f42471b13373659a2b95a384a09a0000000000000000000000000000000000000000000000000000000000354f760", + "gas_used": 63209 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965a2b74a37b0639" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70054432b96a14e9" }, - "0xdbcc21224db3a930821381850a24317fc23ac529": { - "balance": "0x5bb9ab305213931", - "nonce": "0x119" + "0x8c8d7c46219d9205f056f28fee5950ad564d7465": { + "balance": "0x691d1acd7bd56f718", + "nonce": "0x1030ef" }, - "0x405ff48c96cdc5d882ccb694c58df97c391e0523": { + "0xdac17f958d2ee523a2206206994597c13d831ec7": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000003" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5b46822af98b0cc983fd22912d6165e9deda60576339e1f5d8bbd66f45fc1c22", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x75a26b1f8850786d37bba38b0f06de5dc7d2c5c82025e3a1138b791decaf9685", + "0xfd1b031cc74ebc71e6495eaab92717cd559a18c2488b50b92fa1eb9a9a51e1ab" ], "storage_written": { - "0x712baa677c8f83c83657281d65652bb5be91efa155f65d5d386091042871f3c9": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "0xfd1b031cc74ebc71e6495eaab92717cd559a18c2488b50b92fa1eb9a9a51e1ab": "0xfa87be0", + "0x75a26b1f8850786d37bba38b0f06de5dc7d2c5c82025e3a1138b791decaf9685": "0x2eb1dcfbda" }, "code_usage": { - "read": "0xed4dea68c1a7921a6bd9400c7433050a5ff2e805f32a219841c25135d797b46d" + "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" } } }, "meta": { - "byte_code": "0x02f8b2018201188459682f00850f2abc417682c1b094405ff48c96cdc5d882ccb694c58df97c391e052380b844095ea7b3000000000000000000000000ed12310d5a37326e6506209c4838146950166760ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a01881d520078c31790ae74e6fd05ed887370368fa6c62429e89170c1b626a415aa050ba08c07b25e46906d91cb8914c51a2bd219567c3f71b97628623f25b844705", - "new_txn_trie_node_byte": "0x02f8b2018201188459682f00850f2abc417682c1b094405ff48c96cdc5d882ccb694c58df97c391e052380b844095ea7b3000000000000000000000000ed12310d5a37326e6506209c4838146950166760ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a01881d520078c31790ae74e6fd05ed887370368fa6c62429e89170c1b626a415aa050ba08c07b25e46906d91cb8914c51a2bd219567c3f71b97628623f25b844705", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183293b5cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000000000000000100000000200000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000200000000000000000000000110000000000200000000800000000000000000000000000000000000000000f89df89b94405ff48c96cdc5d882ccb694c58df97c391e0523f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000dbcc21224db3a930821381850a24317fc23ac529a0000000000000000000000000ed12310d5a37326e6506209c4838146950166760a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "gas_used": 49196 + "byte_code": "0x02f8b201831030ee830ecd1085021d636f7482fde894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000199ec4691c221aafa0e138826f0443d77f3c2f690000000000000000000000000000000000000000000000000000000001eb5540c080a00625906504ffd99e1edf0c33f2b2ae0a8a7c49e79838b619230bd43de1608610a03fef3c530ecb7059a2f0939249a80352f44d06a5877a07450706558b31949544", + "new_txn_trie_node_byte": "0x02f8b201831030ee830ecd1085021d636f7482fde894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000199ec4691c221aafa0e138826f0443d77f3c2f690000000000000000000000000000000000000000000000000000000001eb5540c080a00625906504ffd99e1edf0c33f2b2ae0a8a7c49e79838b619230bd43de1608610a03fef3c530ecb7059a2f0939249a80352f44d06a5877a07450706558b31949544", + "new_receipt_trie_node_byte": "0xb901ab02f901a701831a63d0b9010000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000010000000000000000000000400000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000010000000000000000000080000000000000000000000000000000000000000000000002000000010000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008c8d7c46219d9205f056f28fee5950ad564d7465a0000000000000000000000000199ec4691c221aafa0e138826f0443d77f3c2f69a00000000000000000000000000000000000000000000000000000000001eb5540", + "gas_used": 46109 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965a6e9224a31a39" + "0xe3430206d702d911319c68f5c59c55be59ee8df6": { + "balance": "0x56c4e4120f42e6", + "nonce": "0x3" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544397c8e6249" }, - "0x405ff48c96cdc5d882ccb694c58df97c391e0523": { + "0x6b175474e89094c44da98b954eedeac495271d0f": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000003" + "0x0f09b222307a98c594c377d57f7db0e8facfa5c823e607f8c381564117ac865c", + "0x12304d65d6e3d6929492ede4d2306f33a2674640b88203af4f58a24a2d710df5" ], "storage_written": { - "0xb73605e60422d0fa4d2fda84c7fe3970d5ec27a7cad548bdcd8c45fd80af2b03": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "0x12304d65d6e3d6929492ede4d2306f33a2674640b88203af4f58a24a2d710df5": "0x9b9ec63537dd14332721", + "0x0f09b222307a98c594c377d57f7db0e8facfa5c823e607f8c381564117ac865c": "0x0" }, "code_usage": { - "read": "0xed4dea68c1a7921a6bd9400c7433050a5ff2e805f32a219841c25135d797b46d" + "read": "0x4e36f96ee1667a663dfaac57c4d185a0e369a3a217e0079d49620f34f85d1ac7" } - }, - "0xda80eae34529aec270f1b97f58aff679af1719da": { - "balance": "0x1e24794e9ab4833", - "nonce": "0x4" } }, "meta": { - "byte_code": "0x02f8b001038459682f00850f2abc417682c1b094405ff48c96cdc5d882ccb694c58df97c391e052380b844095ea7b3000000000000000000000000ed12310d5a37326e6506209c4838146950166760ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a03410589b3671ca898e3480bcf034bd77b4fdd08630c3a4f8482483c547f2d7aca05b338486ed5d285d0506a99dd4cd65eb0c19271e86a1d6428637e247500d994f", - "new_txn_trie_node_byte": "0x02f8b001038459682f00850f2abc417682c1b094405ff48c96cdc5d882ccb694c58df97c391e052380b844095ea7b3000000000000000000000000ed12310d5a37326e6506209c4838146950166760ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a03410589b3671ca898e3480bcf034bd77b4fdd08630c3a4f8482483c547f2d7aca05b338486ed5d285d0506a99dd4cd65eb0c19271e86a1d6428637e247500d994f", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018329fb88b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000200000000080000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000020000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000110000000000200000000800000000000000000000000000008000000000000f89df89b94405ff48c96cdc5d882ccb694c58df97c391e0523f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000da80eae34529aec270f1b97f58aff679af1719daa0000000000000000000000000ed12310d5a37326e6506209c4838146950166760a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "gas_used": 49196 + "byte_code": "0x02f8b00102830ecd1085021d636f7483020e5a946b175474e89094c44da98b954eedeac495271d0f80b844a9059cbb000000000000000000000000ef8801eaf234ff82801821ffe2d78d60a0237f97000000000000000000000000000000000000000000000001fad9aebe9f0346b9c001a0c6f18859e7c4d26325c56fe4e06927d45937b648291523391aba1368cf1552e6a070e4b2e8800cda2f631660ab22bcce3f0f6055718e6478dca8359fa6fcf29303", + "new_txn_trie_node_byte": "0x02f8b00102830ecd1085021d636f7483020e5a946b175474e89094c44da98b954eedeac495271d0f80b844a9059cbb000000000000000000000000ef8801eaf234ff82801821ffe2d78d60a0237f97000000000000000000000000000000000000000000000001fad9aebe9f0346b9c001a0c6f18859e7c4d26325c56fe4e06927d45937b648291523391aba1368cf1552e6a070e4b2e8800cda2f631660ab22bcce3f0f6055718e6478dca8359fa6fcf29303", + "new_receipt_trie_node_byte": "0xb901ab02f901a701831ad8c6b9010000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000000010000000000000000000000000200000000000000000000000000000000000000200004000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000002000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b946b175474e89094c44da98b954eedeac495271d0ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e3430206d702d911319c68f5c59c55be59ee8df6a0000000000000000000000000ef8801eaf234ff82801821ffe2d78d60a0237f97a0000000000000000000000000000000000000000000000001fad9aebe9f0346b9", + "gas_used": 29942 } }, { "traces": { - "0xaf65e45f4c0bd388f91eeb23cfcd52f4fcdd6ee2": { - "balance": "0x38290d5a3ba0171", - "nonce": "0x8741" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7005443e3ab3eac9" }, - "0x231055a0852d67c7107ad0d0dfeab60278fe6adc": { - "storage_read": [ - "0x105668a39e2eff15f6d78e142cc78f21594a5ba9aa89ca0b43124f6e6b54755f" - ], - "code_usage": { - "read": "0x85aeade4c7c5fd3395a20ae34667da8ee55a6442e8b3afcd8787efafc68f78a7" - } + "0xd571d5da0202541019ede96fb71670182707d7b8": { + "balance": "0x2bb2c8eabcc000" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965a91500a768039" + "0x8c8d7c46219d9205f056f28fee5950ad564d7465": { + "balance": "0x691a59f8f0e472c60", + "nonce": "0x1030f0" } }, "meta": { - "byte_code": "0x02f891018287408459682f00850e9d011e848264cf94231055a0852d67c7107ad0d0dfeab60278fe6adc80a497ad09eb6ff4e7455b233d1c843e23bbf3cec3d9fc3e9ae69e0f014a0494b401215213bec001a09e69825fb45a1a2228ebc52509beb1d428889e2e79b743b02c6c45c6e3f3a1bba06129d9672afc5b9a1260ea4b3bd4bdb9d8f9309692c27913e05f68d570ab9ecb", - "new_txn_trie_node_byte": "0x02f891018287408459682f00850e9d011e848264cf94231055a0852d67c7107ad0d0dfeab60278fe6adc80a497ad09eb6ff4e7455b233d1c843e23bbf3cec3d9fc3e9ae69e0f014a0494b401215213bec001a09e69825fb45a1a2228ebc52509beb1d428889e2e79b743b02c6c45c6e3f3a1bba06129d9672afc5b9a1260ea4b3bd4bdb9d8f9309692c27913e05f68d570ab9ecb", - "new_receipt_trie_node_byte": "0xb9018a02f9018601832a5f02b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000010004000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000040000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000f87cf87a94231055a0852d67c7107ad0d0dfeab60278fe6adcf842a037f9254ff1973d24d609016d6bb0aef8e6de91808811a546fad8eaa0e481d9d9a0000000000000000000000000af65e45f4c0bd388f91eeb23cfcd52f4fcdd6ee2a06ff4e7455b233d1c843e23bbf3cec3d9fc3e9ae69e0f014a0494b401215213be", - "gas_used": 25466 + "byte_code": "0x02f87401831030ef830ecd1085021d636f7482520894d571d5da0202541019ede96fb71670182707d7b8872bb2c8eabcc00080c001a0d4eccf6c062aeb58c89ae40abf690f0584d6cc816e62f0a4223d01a17b5e2b4ea0351f2c98f1ca51068a872a37c8a79b21e586375c53f15b4a18b5c1600eec54b1", + "new_txn_trie_node_byte": "0x02f87401831030ef830ecd1085021d636f7482520894d571d5da0202541019ede96fb71670182707d7b8872bb2c8eabcc00080c001a0d4eccf6c062aeb58c89ae40abf690f0584d6cc816e62f0a4223d01a17b5e2b4ea0351f2c98f1ca51068a872a37c8a79b21e586375c53f15b4a18b5c1600eec54b1", + "new_receipt_trie_node_byte": "0xb9010d02f9010901831b2aceb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x922f0bd01271383c158fa35fa35d12764b4d1c10": { - "balance": "0x46ebe89b37a6a69", - "nonce": "0x43" - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x2986965bcda5af5905b0d", - "storage_read": [ - "0x068ea7fabb40553b59fca32c493ec8b2f36881d42f534d96d639dccae762d6a5", - "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8" - ], - "storage_written": { - "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8": "0x0", - "0x068ea7fabb40553b59fca32c493ec8b2f36881d42f534d96d639dccae762d6a5": "0x3d6702f84d6b257c" - }, + "0x000000000000000000000000000000000000000a": {}, + "0x2293cd12e8564e8219d314b075867c2f66ac6941": { "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x3b69f45dffa4aa394e991c0bbf0a31b5652a89639f075fa88ab7ea7245a4563a" } }, - "0x5772a0d261d0b459971fde3bde1dad78b1173b02": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x11e83ef139b1f3652e8b3cae2c", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de70000000000003d6702f84d6b257c000000258f81c38453eadd6b3acd", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x57fca520331991b6e2c1af90d64e42ea33fefc" - }, + "0x4b289e4a5331bafbc6ccb2f10c39b8edcecdb247": { "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0x7a283a93160fb1cf43bb805e98db6d2b08502174e44bf664ae2052b977a865c6" } }, - "0x7c978e7d9ee04669efbae39eafc71bf2ab5aba28": { + "0x0000000000000000000000000000000000000008": {}, + "0xa13baf47339d63b743e7da8741db5456dac1e556": { "storage_read": [ - "0xf837d60bf5d607ebf744b95d0ae4ca9fe63accc7508df3d0f1d28f4ba8482bc0", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0xe5a76513fbf13ce7c68314201a43a2a58b21a309afbb014dec06827264b1e878", - "0x0000000000000000000000000000000000000000000000000000000000000015", - "0x4d8427c8f52a0b7cd3e54865a3172ded6770d0ffff3d50fa08433ec2c3a1c757", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x18ad18b2c5dab6650de951ec73cae49e9845e4f26708fbc10740407f0648f4ef", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x43c2a0c427dcc294a05e851759957cecdc638e04d78fab6d3eab2283ab9ca6e9", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x0000000000000000000000000000000000000000000000000000000000000011", - "0x8c94e4732e794dec759a061b80fe9270d11c96a68b6dcb5e68af5d62e4dbb59f", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0x894c49c59c155072eee901a8c580d9b46ecce13d428a96f9d0bf8f8246e4c25e", - "0x000000000000000000000000000000000000000000000000000000000000000c" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0xa0334f216fb81bb698dbc6875699b67042bf4274ebecaec0ab07f739c9e957e7", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x2671cb15894f1bf937071f762e4b49f9490b4357e6a067841860e93707df9846", + "0xbd15e599d0485f9a3d406099569589324e45480914e76d9b33ec1caafef8be54", + "0x3664ddb2ae54bf89ceeaacb3103876b86cee01e19ac59ff2f38b89930bc635d9", + "0x000000000000000000000000000000000000000000000000000000000000009c", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" ], "storage_written": { - "0x18ad18b2c5dab6650de951ec73cae49e9845e4f26708fbc10740407f0648f4ef": "0x243ff59dc420647bfba83", - "0xe5a76513fbf13ce7c68314201a43a2a58b21a309afbb014dec06827264b1e878": "0x5142288c6f881fa1c84c72", - "0x0000000000000000000000000000000000000000000000000000000000000015": "0x0", - "0x43c2a0c427dcc294a05e851759957cecdc638e04d78fab6d3eab2283ab9ca6e9": "0x258f81c38453eadd6b3acd", - "0x8c94e4732e794dec759a061b80fe9270d11c96a68b6dcb5e68af5d62e4dbb59f": "0x0" + "0x000000000000000000000000000000000000000000000000000000000000009c": "0x2aca2", + "0xe8874620198a23542777fee91c33da5d4a99a71bac7e85bd4e014eebab3e817a": "0xaedc1f61ed3031a9c8ef05d6096c8d6f1503e2af90e636e2f0cfbeca4e066681", + "0x3664ddb2ae54bf89ceeaacb3103876b86cee01e19ac59ff2f38b89930bc635d9": "0x970e34d7887f217e8b94719d9b9cbfa250989ab84f8f97fc20af88762a21a07" }, "code_usage": { - "read": "0x244aad67104f8dc49768dbe094d6b52b332065da3cc678e681c8e1c68cbd9c61" + "read": "0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965b76ddc7b95925" + "0x0000000000000000000000000000000000000006": {}, + "0x0000000000000000000000000000000000000007": {}, + "0x356483dc32b004f32ea0ce58f7f88879886e9074": { + "balance": "0x99b2113e3db52807", + "nonce": "0x2aca2" }, - "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544a6f96b7ba9" + }, + "0xaa6d0f2490ac3957b97e11afec6f0f250593cac8": { "code_usage": { - "read": "0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2" + "read": "0x4d2a2abcedb7b082e4c20237afbd1651664bf40272060cd56516642eccbb2941" } }, - "0x4d8412657de85ae6fef885307fb1837dea2a8a60": { - "balance": "0x1d9ebaf21b7a340" + "0x0000000000000000000000000000000000000005": {}, + "0x1ea29d57dac237152d878758bae4beb2668998f6": { + "storage_read": [ + "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0" + ], + "code_usage": { + "read": "0xe6de4ad89324bd1123072017e301fb3d360b14fc577717774a98de47aa9a65e3" + } } }, "meta": { - "byte_code": "0x02f90172014284458bea058508f7092ab083058924947a250d5630b4cf539739df2c5dacb4c659f2488d80b90104791ac9470000000000000000000000000000000000000000000175aa505884b34237b38e000000000000000000000000000000000000000000000000025df3df381b32b000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000922f0bd01271383c158fa35fa35d12764b4d1c100000000000000000000000000000000000000000000000000000018db2066b4e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000007c978e7d9ee04669efbae39eafc71bf2ab5aba28000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2c001a074458de7638b673bdd49df8079220643d8ffdfe5394cc9bf357491aacc1e53e4a013aa524d0b0392d36a6788423512a1c08a226bd0fcfb05f57bc5957e5232f53d", - "new_txn_trie_node_byte": "0x02f90172014284458bea058508f7092ab083058924947a250d5630b4cf539739df2c5dacb4c659f2488d80b90104791ac9470000000000000000000000000000000000000000000175aa505884b34237b38e000000000000000000000000000000000000000000000000025df3df381b32b000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000922f0bd01271383c158fa35fa35d12764b4d1c100000000000000000000000000000000000000000000000000000018db2066b4e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000007c978e7d9ee04669efbae39eafc71bf2ab5aba28000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2c001a074458de7638b673bdd49df8079220643d8ffdfe5394cc9bf357491aacc1e53e4a013aa524d0b0392d36a6788423512a1c08a226bd0fcfb05f57bc5957e5232f53d", - "new_receipt_trie_node_byte": "0xb9076d02f9076901832dabfeb901000020000000000400000000008000000000000000000000000001000000000000000000000000000000000000000200020200000008000000000000000000000002000000000000a000000008000000200000001000400040000000000000000000000000000010000000000000000000000000000000044000000010000000000000000000000000004000000000000000000000000000080000004000000800000000000100000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000001000000002000020001000200000000000080000000000000000000000008000000000000000000000f9065ef89b947c978e7d9ee04669efbae39eafc71bf2ab5aba28f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007c978e7d9ee04669efbae39eafc71bf2ab5aba28a00000000000000000000000005772a0d261d0b459971fde3bde1dad78b1173b02a0000000000000000000000000000000000000000000002a5a058fc295ed000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005772a0d261d0b459971fde3bde1dad78b1173b02a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000000000000000000000000000004adff84d0c3823f879945772a0d261d0b459971fde3bde1dad78b1173b02e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000024250d3305814739590a120000000000000000000000000000000000000000000000003fcce69263584ed8f8fc945772a0d261d0b459971fde3bde1dad78b1173b02f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488db880000000000000000000000000000000000000000000002a5a058fc295ed00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004adff84d0c3823f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000000000000000000000000000004adff84d0c3823f89b947c978e7d9ee04669efbae39eafc71bf2ab5aba28f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000922f0bd01271383c158fa35fa35d12764b4d1c10a00000000000000000000000005772a0d261d0b459971fde3bde1dad78b1173b02a00000000000000000000000000000000000000000000175aa505884b34237b38ef89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005772a0d261d0b459971fde3bde1dad78b1173b02a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000265e39a15ed295cf879945772a0d261d0b459971fde3bde1dad78b1173b02e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000258f81c38453eadd6b3acd0000000000000000000000000000000000000000000000003d6702f84d6b257cf8fc945772a0d261d0b459971fde3bde1dad78b1173b02f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488db880000000000000000000000000000000000000000000016a74907ed2a3a41230bb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000265e39a15ed295cf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000265e39a15ed295c", - "gas_used": 216316 + "byte_code": "0x02f90992018302aca1830ecd1085021d636f7483087d8c94a13baf47339d63b743e7da8741db5456dac1e55680b908a400b0f4d700000000000000000000000000000000000000000000000000000000000000c004225cf58e53d5a34f9114cefccccc9454b8d3ae0918499b7471bbc3a47660310970e34d7887f217e8b94719d9b9cbfa250989ab84f8f97fc20af88762a21a07aedc1f61ed3031a9c8ef05d6096c8d6f1503e2af90e636e2f0cfbeca4e06668100000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000007901000000000002aca20000000000000000000000000009ba9fd93826bddc24ec061e3cd51b12bb4e5034df2ccf04039a639af5a2eebfca82e1016c294c4cddbfed79780ac0065a0c125f00a10a4126e77cf034ff7f2d193b7329a41872cdc50476b3e6e45ad521060ebc146a353ca0cb69cece9e76aa9d0ecc0000000000000000000000000000000000000000000000000000000000000000000000000000a00cabf8b8d1b91e6c1ba089e768869925c7c827b21bb955d271332cc83d33f47a17304f4f8b230e1c9ebcc56060ac8b0dcf5f583f85246e95f8498f4ae00263558f8d19fd5023fd34b87491e7f5821e6150692c8a4f92471cff07720da0e75e196ad7a78826e51438e930299bda2320ed99fbf602661cb4cd0639d1b8753a0d9a4b25e56901cfc5db8b25e629d05ac39fc66ba6ca6775f4e4a5e3917a456e11010000000000000000000000000000000000000000000000000000000000000660000000000000000000000000000000000000000000a4d2095e8f86ac92d3cbe200000000000000000000000000000000000000000068a32baeeb3a04eb812db900000000000000000000000000000000000000000000264b46214c877afe4622000000000000000000000000000000000000000000bb57da147ce20782e2ee4b0000000000000000000000000000000000000000008ab924ee984aefc4c5b38f00000000000000000000000000000000000000000000198b585b135ec00ce0500000000000000000000000000000000000000000001ec0da76710206c470af3e000000000000000000000000000000000000000000d28b3c9daa358e473b784b0000000000000000000000000000000000000000000029a9c9fd6220ab37c410000000000000000000000000000000000000000000fd2d1a61fa9a9a7ccf5a1b00000000000000000000000000000000000000000046d16f8c622038ca68590800000000000000000000000000000000000000000000171a3fa7215bc5e829a124618bad272e288084ffa42c090624f9ad8c7ebc1467d3085609952b5ce098490bcc3670efe9e927c0d860c31e8328755c46d6979f86c79b51355cf81413a0232a57cd39abe11296e8ce0535a76417debd821c4db8e24f8f3a024384b5b1e6ea209ddf502e2d69591140a32ee7f1cf52069b8b7009d79e2edd8e46de66f37e52229e519f4a4e8c81be8ce0431a7e9bc2e548f46fe20c4c5ca698153ed419fdf4202275ecc2e96bdada30292ed45f7cd81d9ec75d88eb5520a97c021f52232905295bec2c38c90d652da6876a349ab9eec7acca1a3635db28e9eacbc55a72fd2812b6cff8921e1f74186f3538577d46c2ea61571eef637fd7cc389876af7e5b3a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000021689fb202d7a5a5b2cb4053d1430151a7fa8cd806b3c31294df287ff559b4b611c897730dedf693c6a1b41dd2dea38e5a776ebad6810878d5eed85389259757409c990f48538b34f82158d2ca7339d7c5811b71ab62cfdc999264989030a95c113dda0340fd58e9871636755c4e4aa6a6f8e8e1a6f9578f8cf0ca4ad4b813ff31efc4ce090c752948b514ad51cd826c4897b30063ce5caca6fc5b85346b2a0420ebb287b0075a1a9d286b932dd1e9256dcc10580f606caf955175be87830cb0b28ac6adde5c95cba4c70f2d66d2bf8ceb4e28a1a1765d87dac6cf405e5f499d829c8f3920a756e089749659289815975d4cde008f2df8c944895de40f4d8e0e402a572061eef2aa35d69d4587b2f2ca4cca8d84699fdc5ef42fed3d383413b660244e7cfb19319cebbf72380ff1d3becad00f73259e22f536fecf86168cd8f872c38142b2d064b5fee1019543d4d95dfe483ff59b0768e5afde8c920826034ef15f579bf1d751e9899e1a2cea33275a7d37015af06ea70e2d9807cbaebaf91112393988dfec4deb1779d27ab2ec4ddcb3570948b0bace37823a9a4f8484683232e487b6cf8ae09a246b84aaacd4ea0d53e2b6e311bc847a32ef0274988d127870e986adc964fd256778eef252253467b767e403243aaf0f4ba9e0bf0b9d3c1702de0227cd69e0ee25520541d28032720ccfb30ecca27af032e00462a8a1cbe1e0000000000000000000000000000000000000000000000000000000000000001164159154a4fb32ba01f855f01c5721d0f13def3ff229931b4c9f9b218e6682116b17aeb058fa632221f031e769d701d52d119ca5ce206117ffbd53d9ff2bb53272307ccdc79cf7b79d7099159072b06fa00f32677a4553220be9fe84f56d148258084012f33569326731704e7cf1ae73e0791568132171dee8f41347fbeed7d0f0e447aa1d0d4fe04450675363df0134f78c30f7f503f0dedb00c45c7be78a32cb1be25ed4e4fec37e35db2282e6d5d8d7d7cffafe8be4b5ef167e18dc865460c4a0142ad836e0476d1acae9d1c208c8846c1dbb341757fb80418e4575e7ef203c4d22b2bfca85a814d85dd55bda2286c34bf28a74cedd10580dd75a7c2526f2f87fdfd28620ef18aaeb547068666a64eb49c546e15083be39aa1e2144999fb110d0ced979d201cd75dc569ce35fe04aeae5ea94e56b3f19e9f6616bd64e9041d6f3e10f0d4b2249aee13e363f6ba8fae363ed88bfa85ef35481cea2af736160602a54b796238fe66c4b542679ab2f69e5150d9864026543e3d985921ea8f2cf87dd694aa6d0f2490ac3957b97e11afec6f0f250593cac8c0f7941ea29d57dac237152d878758bae4beb2668998f6e1a0e90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0d6944b289e4a5331bafbc6ccb2f10c39b8edcecdb247c0d6942293cd12e8564e8219d314b075867c2f66ac6941c001a0d09aa19ad11ae1afe6e172b649ce95e065ab93c820394c8654a94b5586884bc2a009bdca723c6f368ef54dd6e5922560a9a766c0a202123ce0a99107f4b0b343df", + "new_txn_trie_node_byte": "0x02f90992018302aca1830ecd1085021d636f7483087d8c94a13baf47339d63b743e7da8741db5456dac1e55680b908a400b0f4d700000000000000000000000000000000000000000000000000000000000000c004225cf58e53d5a34f9114cefccccc9454b8d3ae0918499b7471bbc3a47660310970e34d7887f217e8b94719d9b9cbfa250989ab84f8f97fc20af88762a21a07aedc1f61ed3031a9c8ef05d6096c8d6f1503e2af90e636e2f0cfbeca4e06668100000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000007901000000000002aca20000000000000000000000000009ba9fd93826bddc24ec061e3cd51b12bb4e5034df2ccf04039a639af5a2eebfca82e1016c294c4cddbfed79780ac0065a0c125f00a10a4126e77cf034ff7f2d193b7329a41872cdc50476b3e6e45ad521060ebc146a353ca0cb69cece9e76aa9d0ecc0000000000000000000000000000000000000000000000000000000000000000000000000000a00cabf8b8d1b91e6c1ba089e768869925c7c827b21bb955d271332cc83d33f47a17304f4f8b230e1c9ebcc56060ac8b0dcf5f583f85246e95f8498f4ae00263558f8d19fd5023fd34b87491e7f5821e6150692c8a4f92471cff07720da0e75e196ad7a78826e51438e930299bda2320ed99fbf602661cb4cd0639d1b8753a0d9a4b25e56901cfc5db8b25e629d05ac39fc66ba6ca6775f4e4a5e3917a456e11010000000000000000000000000000000000000000000000000000000000000660000000000000000000000000000000000000000000a4d2095e8f86ac92d3cbe200000000000000000000000000000000000000000068a32baeeb3a04eb812db900000000000000000000000000000000000000000000264b46214c877afe4622000000000000000000000000000000000000000000bb57da147ce20782e2ee4b0000000000000000000000000000000000000000008ab924ee984aefc4c5b38f00000000000000000000000000000000000000000000198b585b135ec00ce0500000000000000000000000000000000000000000001ec0da76710206c470af3e000000000000000000000000000000000000000000d28b3c9daa358e473b784b0000000000000000000000000000000000000000000029a9c9fd6220ab37c410000000000000000000000000000000000000000000fd2d1a61fa9a9a7ccf5a1b00000000000000000000000000000000000000000046d16f8c622038ca68590800000000000000000000000000000000000000000000171a3fa7215bc5e829a124618bad272e288084ffa42c090624f9ad8c7ebc1467d3085609952b5ce098490bcc3670efe9e927c0d860c31e8328755c46d6979f86c79b51355cf81413a0232a57cd39abe11296e8ce0535a76417debd821c4db8e24f8f3a024384b5b1e6ea209ddf502e2d69591140a32ee7f1cf52069b8b7009d79e2edd8e46de66f37e52229e519f4a4e8c81be8ce0431a7e9bc2e548f46fe20c4c5ca698153ed419fdf4202275ecc2e96bdada30292ed45f7cd81d9ec75d88eb5520a97c021f52232905295bec2c38c90d652da6876a349ab9eec7acca1a3635db28e9eacbc55a72fd2812b6cff8921e1f74186f3538577d46c2ea61571eef637fd7cc389876af7e5b3a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000021689fb202d7a5a5b2cb4053d1430151a7fa8cd806b3c31294df287ff559b4b611c897730dedf693c6a1b41dd2dea38e5a776ebad6810878d5eed85389259757409c990f48538b34f82158d2ca7339d7c5811b71ab62cfdc999264989030a95c113dda0340fd58e9871636755c4e4aa6a6f8e8e1a6f9578f8cf0ca4ad4b813ff31efc4ce090c752948b514ad51cd826c4897b30063ce5caca6fc5b85346b2a0420ebb287b0075a1a9d286b932dd1e9256dcc10580f606caf955175be87830cb0b28ac6adde5c95cba4c70f2d66d2bf8ceb4e28a1a1765d87dac6cf405e5f499d829c8f3920a756e089749659289815975d4cde008f2df8c944895de40f4d8e0e402a572061eef2aa35d69d4587b2f2ca4cca8d84699fdc5ef42fed3d383413b660244e7cfb19319cebbf72380ff1d3becad00f73259e22f536fecf86168cd8f872c38142b2d064b5fee1019543d4d95dfe483ff59b0768e5afde8c920826034ef15f579bf1d751e9899e1a2cea33275a7d37015af06ea70e2d9807cbaebaf91112393988dfec4deb1779d27ab2ec4ddcb3570948b0bace37823a9a4f8484683232e487b6cf8ae09a246b84aaacd4ea0d53e2b6e311bc847a32ef0274988d127870e986adc964fd256778eef252253467b767e403243aaf0f4ba9e0bf0b9d3c1702de0227cd69e0ee25520541d28032720ccfb30ecca27af032e00462a8a1cbe1e0000000000000000000000000000000000000000000000000000000000000001164159154a4fb32ba01f855f01c5721d0f13def3ff229931b4c9f9b218e6682116b17aeb058fa632221f031e769d701d52d119ca5ce206117ffbd53d9ff2bb53272307ccdc79cf7b79d7099159072b06fa00f32677a4553220be9fe84f56d148258084012f33569326731704e7cf1ae73e0791568132171dee8f41347fbeed7d0f0e447aa1d0d4fe04450675363df0134f78c30f7f503f0dedb00c45c7be78a32cb1be25ed4e4fec37e35db2282e6d5d8d7d7cffafe8be4b5ef167e18dc865460c4a0142ad836e0476d1acae9d1c208c8846c1dbb341757fb80418e4575e7ef203c4d22b2bfca85a814d85dd55bda2286c34bf28a74cedd10580dd75a7c2526f2f87fdfd28620ef18aaeb547068666a64eb49c546e15083be39aa1e2144999fb110d0ced979d201cd75dc569ce35fe04aeae5ea94e56b3f19e9f6616bd64e9041d6f3e10f0d4b2249aee13e363f6ba8fae363ed88bfa85ef35481cea2af736160602a54b796238fe66c4b542679ab2f69e5150d9864026543e3d985921ea8f2cf87dd694aa6d0f2490ac3957b97e11afec6f0f250593cac8c0f7941ea29d57dac237152d878758bae4beb2668998f6e1a0e90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0d6944b289e4a5331bafbc6ccb2f10c39b8edcecdb247c0d6942293cd12e8564e8219d314b075867c2f66ac6941c001a0d09aa19ad11ae1afe6e172b649ce95e065ab93c820394c8654a94b5586884bc2a009bdca723c6f368ef54dd6e5922560a9a766c0a202123ce0a99107f4b0b343df", + "new_receipt_trie_node_byte": "0xb901cc02f901c80183223e7cb9010000000000000000100000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000400000000001000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100800000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000400000000000000000000000000000000000000000000000f8bef8bc94a13baf47339d63b743e7da8741db5456dac1e556f863a026ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2da0000000000000000000000000000000000000000000000000000000000002aca2a0fd76c2749953153bb90e934e30a26b9d9565094644ee43467b474e559951371cb8400970e34d7887f217e8b94719d9b9cbfa250989ab84f8f97fc20af88762a21a07aedc1f61ed3031a9c8ef05d6096c8d6f1503e2af90e636e2f0cfbeca4e066681", + "gas_used": 463790 } }, { "traces": { - "0x39da41747a83aee658334415666f3ef92dd0d541": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000006" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, - "code_usage": { - "read": "0xbd12412bb0924f8710a26890f38d22e1055e9e77a7bd9ae68e6d47700e2d915b" - } - }, - "0x2f18f339620a63e43f0839eeb18d7de1e1be4dfb": { - "code_usage": { - "read": "0x97412a7c3c5a8f0a1abc9f387ada2e824748b069188f60a63125dce363a8964d" - } - }, - "0xefe3f3b2c4073b6539aff8467c649c750e8d1feb": { - "balance": "0x6eeb502aa33a34", - "nonce": "0xaa" + "0x8c8d7c46219d9205f056f28fee5950ad564d7465": { + "balance": "0x690c6deb0ff03a1a8", + "nonce": "0x1030f1" }, - "0xc3f8a62be827f4b535096545f6d43cdfba4493e3": { - "balance": "0x6efa607a1d26512" + "0x413ebc5050a018089a7b2f69457816aa248d4072": { + "balance": "0xdf1c97f4455848" }, - "0x98661956ed6e2f5fc99c93d909ec28fdc3d48108": { - "code_usage": { - "read": "0xf51d7b64eef813562ccd5dbaad10849b563ae6c90b46681adbb92711027cc53b" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544abb7910429" + } + }, + "meta": { + "byte_code": "0x02f87401831030f0830ecd10850260377a1082520894413ebc5050a018089a7b2f69457816aa248d407287de665e4af0800080c001a0f97cfdecbe7243b24d721641dc383e7ac6fbfb2aa076602b060bb35496bc125fa0460a1a7b55d7a332eaae18cce59e0d95a27809c704bdf02382bb770afe856a97", + "new_txn_trie_node_byte": "0x02f87401831030f0830ecd10850260377a1082520894413ebc5050a018089a7b2f69457816aa248d407287de665e4af0800080c001a0f97cfdecbe7243b24d721641dc383e7ac6fbfb2aa076602b060bb35496bc125fa0460a1a7b55d7a332eaae18cce59e0d95a27809c704bdf02382bb770afe856a97", + "new_receipt_trie_node_byte": "0xb9010d02f901090183229084b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x8c8d7c46219d9205f056f28fee5950ad564d7465": { + "balance": "0x69060e8a4d21d16f0", + "nonce": "0x1030f2" }, - "0xab4ce2a08cbea809692218dd7841f681b80069a9": { - "balance": "0x114c9f827d2cb430a" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544b075b68ca9" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965d3b6752d32d25" - }, - "0x0000a26b00c1f0df003000390027140000faa719": { - "balance": "0x101eff1597ce547487", - "code_usage": { - "read": "0x0e0a5f7bfe4bf9760a537b808095ac2a9e37c7755f7326691c11c216918166bf" - } - }, - "0xf2f42fb3a746952085f211ff5c0b3a68c2032221": { - "balance": "0x3a822a74abe64d1" - }, - "0x00000000000000adc04c56bf30ac9d3c0aaf14dc": { - "storage_read": [ - "0xd73c37528851bcee8ef8b6f42056ce3f0bb759193179306c472b6d33bc6e228f", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x3be811ce5ee64f2fad20b52ea524f006649d2d52322a46895386d50de98ce976", - "0x97fa93a1f667bc92deeb7b4486705ab18cb1858e1614fceaf81e542781ec9177", - "0xc70fd9802f7900850fd253334e7e85f7ba6695faffcf6f7ce3673023ab47a89c" - ], - "storage_written": { - "0x97fa93a1f667bc92deeb7b4486705ab18cb1858e1614fceaf81e542781ec9177": "0x10000000000000000000000000000010001", - "0xd73c37528851bcee8ef8b6f42056ce3f0bb759193179306c472b6d33bc6e228f": "0x10000000000000000000000000000010001", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x1" - }, - "code_usage": { - "read": "0x30bd6d5686b2afa68fa12d7f8838c8532dbace05325226f4ab2da7ecb0b6ee1b" - } - }, - "0x391a04311e0bfc913ef6fa784773307c826104f0": { - "code_usage": { - "read": "0x878aa3705d972fb969d591e689891f01c0c71e6a6bce6dd546a93c87ce23a208" - } - }, - "0x5fa60726e62c50af45ff2f6280c468da438a7837": { - "code_usage": { - "read": "0xa05c8b15687ab7e7f17964e999ff0edb47f51f8a98eca8e7ea1152a4ac186dab" - } - }, - "0x1e0049783f008a0085193e00003d00cd54003c71": { - "storage_read": [ - "0x73f81e05fe78bb9c03fd7e2026f0245c29102ff947eddf738e68a7faea7f48aa" - ], - "code_usage": { - "read": "0x069efdc9b946a332dce9951324fa197268e3ff0e00e44c6bf36049fc53113a41" - } - }, - "0x7dbc433c92266ab268ae1040837a212b77fec393": { - "storage_read": [ - "0xf713c3724d08c3c350dcefb418b9e8e05c9b5ec02447e515fd4a3d15c7079a19", - "0x9e6fa3d0ac66d1ffc13107fa805e04e9792bd9906f957f7ebd8a6af8c40a99f3", - "0x0ddafdb91bfcb250fb3865e5e85db2ab0aceac46acf0558e102ea730f7c51ffe", - "0x57aa9612125d6f3cb4e7c06b15236c4def26f21a13191b3590f568f23817d3bd", - "0xe1498d806df155d5c136022dc6a752632196b31357d126a268942a71c69e4566", - "0xa7ba506b12094321d0cc5c8d1ff3f9c6257e5ba5f6b1720f8f761133aa4e2991", - "0xbeaccc0ccc3e1da869907ec03ce3b6f59f81b63d7b9efd026cd7b398f3361492", - "0x53bd69fe184e9c9e93429893b9d88023ad3dfde07e51db64b5fd6efa1610a784", - "0x74c0c00da1685e7e6fad59969ea06906e7bc4310246d52a879ef1039fbe7f3a6", - "0x31f38a19fbf7084c937c83798df20981163126def89ae7796e12b2606a2000cb", - "0x4a2f50cd75f19eada169ea203662d799419439ae264e19807674f7b81e159a36", - "0x703a312351ee4bfbf4c690a0ae97342ac544ca1ed0857e8de60c43f1b41730ce", - "0x6384b8c000ebe04ffd2398abfb1552d0d3bba5c04eea07ced514080d491c909e", - "0x474cb8b9ee66bfc7bc2e8cca13d67051e5c97aa3ba695b23f5eca7ff56c0025a", - "0x35ca9dea00d4b425618f62c191702d1775dfce1e9381570d996134eb78179ada", - "0x9aa19bb5acf5dbb530018689b44b199645744b61784ff463f4d4f01007b1b38e", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x703a312351ee4bfbf4c690a0ae97342ac544ca1ed0857e8de60c43f1b41730ce": "0x65cd37aff8857fc8efb51a4f6fad1217602bd8a3bf596ad3", - "0x74c0c00da1685e7e6fad59969ea06906e7bc4310246d52a879ef1039fbe7f3a6": "0x4b0000000000000009", - "0x9e6fa3d0ac66d1ffc13107fa805e04e9792bd9906f957f7ebd8a6af8c40a99f3": "0x3", - "0xa7ba506b12094321d0cc5c8d1ff3f9c6257e5ba5f6b1720f8f761133aa4e2991": "0x65ce9cc7ab4ce2a08cbea809692218dd7841f681b80069a9", - "0x53bd69fe184e9c9e93429893b9d88023ad3dfde07e51db64b5fd6efa1610a784": "0x20000000065cf5de7efe3f3b2c4073b6539aff8467c649c750e8d1feb", - "0x4a2f50cd75f19eada169ea203662d799419439ae264e19807674f7b81e159a36": "0xe000000000000000e", - "0x0ddafdb91bfcb250fb3865e5e85db2ab0aceac46acf0558e102ea730f7c51ffe": "0x20000000065cf5de7efe3f3b2c4073b6539aff8467c649c750e8d1feb", - "0x35ca9dea00d4b425618f62c191702d1775dfce1e9381570d996134eb78179ada": "0x50000000000000000", - "0x6384b8c000ebe04ffd2398abfb1552d0d3bba5c04eea07ced514080d491c909e": "0x20000000065cf5de7efe3f3b2c4073b6539aff8467c649c750e8d1feb" - }, - "code_usage": { - "read": "0xd8b0e93212b19dba6511bf4905e53fd5c2cffaecac66744686cf40f35a7bcc73" - } - }, - "0x0000000000000000000000000000000000000001": {}, - "0x3a574bac669f3b1cb54b92ccbaefbafd07054d96": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d00", - "0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0d01" - ], - "code_usage": { - "read": "0xfbfee998daa5e6db19836914744060d84aed444c3108a310c6b6f1adbbd7d814" - } - }, - "0xb2ecfe4e4d61f8790bbb9de2d1259b9e2410cea5": { - "storage_read": [ - "0xb5747a556f844e44012d5c61c7cc152a738f258335a0e2776996bc821f8d9a91", - "0x81190a94f6550ce825e1c7521d5e1c08be35e0e1553218150522d169bdefd631", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x00000000000000000000000000000000000000000000000000000000000000fb", - "0x000000000000000000000000000000000000000000000000000000000000012f", - "0x3dc40693fb3bf64b979c0e0b720cba651945e1a1c67007f82f8a170b92d7faf8", - "0x000000000000000000000000000000000000000000000000000000000000015f" - ], - "storage_written": { - "0x00000000000000000000000000000000000000000000000000000000000000fb": "0x1", - "0x81190a94f6550ce825e1c7521d5e1c08be35e0e1553218150522d169bdefd631": "0x1" - }, - "code_usage": { - "read": "0x82dee1d830a79106921dc73f0ebb4758243a04f29c5346ba4f82f58b81ffef72" - } - }, - "0xf8857fc8efb51a4f6fad1217602bd8a3bf596ad3": { - "balance": "0x2567b02cb5b0af5" - }, - "0x000000000000aaeb6d7670e522a718067333cd4e": { - "storage_read": [ - "0x772cff010ba21d2145860eeda2ff154702f57ec0da746c08961eea44f80a8427", - "0x87aac7a904a8c8f55fdf2146118662b8b8251de0b6ce954987311e7875c7b79d", - "0xf7b999eca392ce81950e6e9266d2e8f30b30433b0a191821c210d0506b3c3e5c", - "0x5a10b39775c2808285b7713d610dfb856f330befcb9851a8d7e11c4f13b43448", - "0xc01cee722cb0540e554e32959d226e54855cf1f3fa8158327292aa45c27c3e3a" - ], - "code_usage": { - "read": "0xf81224da2c9fa1872376316fdc140b4b1e9dbf3f4579f37e9671575af143b617" - } + "0x4d7c1fe0a1bf1099c5bac9698b7dfe984d2b9d30": { + "balance": "0x65f6116bb33d90" } }, "meta": { - "byte_code": "0x02f9161b0181a9843b9aca00850b5899d7d88308081d9439da41747a83aee658334415666f3ef92dd0d5418802a6917cf0198000b915a49a2b811500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000010a0000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000001c331d3be79800000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000fc409c5eabe00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000f6487201b4100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000be00000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000001c331d3be7980000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005e000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000580000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad3000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf5da50000000000000000000000000000000000000000000000000000000065f599250000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000323ae04dce84c8210000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec39300000000000000000000000000000000000000000000000000000000000004db00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0ad71ee7e980000000000000000000000000000000000000000000000000000d0ad71ee7e9800000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a3d2a594b8000000000000000000000000000000000000000000000000000005a3d2a594b8000000000000000000000000000000a26b00c1f0df003000390027140000faa719000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b47a54b297000000000000000000000000000000000000000000000000000000b47a54b297000000000000000000000000000f2f42fb3a746952085f211ff5c0b3a68c20322210000000000000000000000000000000000000000000000000000000000000040944451062021c7446a14884406e5d4a300d30b1d3c17b4249e706cab17c7e2d73210b68dfaf9f64243437cba9cbfde1062ea87e67df06daeee8dc4a440bf673e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf0c8e0000000000000000000000000000000000000000000000000000000065f6998eeaa4e38354fae4dbd1e23fbce23172428905ac8027cedaaaf916ab216bab69a172db8c0b000000000000000000000000000000000000000029758682e21040200000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebb00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e078262485680000000000000000000000000000000000000000000000000000e0782624856800000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120c3bab75800000000000000000000000000000000000000000000000000000120c3bab758000000000000000000000000000000a26b00c1f0df003000390027140000faa7190000000000000000000000000000000000000000000000000000000000000040e1414e04823f02dffb7aa52ed64ae0dc1fa84abf78946e7c05f816dc20a289365788e8959b51316959d8e1d9cfa9ded106ba0ba9e799b27e9649befd626d38b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000e35fa931a000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000042470bce2d6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000c3f8a62be827f4b535096545f6d43cdfba4493e30000000000000000000000007dbc433c92266ab268ae1040837a212b77fec393fa8fa1a6af21082484de17bb69e3c7d147f910c67d5f4734bf21dee87ee5f73300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000065d8983c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049b05abb0de0abe411367333a02501b00000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000efe3f3b2c4073b6539aff8467c649c750e8d1feb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000e35fa931a000000000000000000000000000000000000000000000000000000000000000000bf7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041bde87d54b6087d9e26b95a66c5c4ff65c09fdf68c652bb64528bccf3793187da4cca15d66b87990e6247de2b6d169201dbe2d95a454063ef8b631425114c2c6f1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059acf63da7828add5750bd3af837074112573804fc28d5fbde323057aa8cb947ea302a5e1991385ea8daec755d676abbdc0b60e5f4f125396684b46252c873a2251c012596c86af68e5d010513ff70a3aaed9afeb8661116e6ce0000000000000000000000000000000000000000000000000000000000000000000000c001a0671b23faa042c3a26a553065a57cd1c5ce5a0043d34d15c73d283287f0a6a5e4a06ffc24e0932d38999f24761519a050ace76c562294bea9027068f7b600928f24", - "new_txn_trie_node_byte": "0x02f9161b0181a9843b9aca00850b5899d7d88308081d9439da41747a83aee658334415666f3ef92dd0d5418802a6917cf0198000b915a49a2b811500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000010a0000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000001c331d3be79800000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000fc409c5eabe00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000f6487201b4100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000bc00000000000000000000000000000000000000000000000000000000000000be00000000000000000000000000000000000000000000000000000000000000d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000001c331d3be7980000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005e000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000580000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad3000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf5da50000000000000000000000000000000000000000000000000000000065f599250000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000323ae04dce84c8210000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec39300000000000000000000000000000000000000000000000000000000000004db00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0ad71ee7e980000000000000000000000000000000000000000000000000000d0ad71ee7e9800000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a3d2a594b8000000000000000000000000000000000000000000000000000005a3d2a594b8000000000000000000000000000000a26b00c1f0df003000390027140000faa719000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b47a54b297000000000000000000000000000000000000000000000000000000b47a54b297000000000000000000000000000f2f42fb3a746952085f211ff5c0b3a68c20322210000000000000000000000000000000000000000000000000000000000000040944451062021c7446a14884406e5d4a300d30b1d3c17b4249e706cab17c7e2d73210b68dfaf9f64243437cba9cbfde1062ea87e67df06daeee8dc4a440bf673e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf0c8e0000000000000000000000000000000000000000000000000000000065f6998eeaa4e38354fae4dbd1e23fbce23172428905ac8027cedaaaf916ab216bab69a172db8c0b000000000000000000000000000000000000000029758682e21040200000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebb00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e078262485680000000000000000000000000000000000000000000000000000e0782624856800000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120c3bab75800000000000000000000000000000000000000000000000000000120c3bab758000000000000000000000000000000a26b00c1f0df003000390027140000faa7190000000000000000000000000000000000000000000000000000000000000040e1414e04823f02dffb7aa52ed64ae0dc1fa84abf78946e7c05f816dc20a289365788e8959b51316959d8e1d9cfa9ded106ba0ba9e799b27e9649befd626d38b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b00000000000000000000000000000000000000000000000000e35fa931a000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000042470bce2d6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000c3f8a62be827f4b535096545f6d43cdfba4493e30000000000000000000000007dbc433c92266ab268ae1040837a212b77fec393fa8fa1a6af21082484de17bb69e3c7d147f910c67d5f4734bf21dee87ee5f73300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000065d8983c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049b05abb0de0abe411367333a02501b00000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000efe3f3b2c4073b6539aff8467c649c750e8d1feb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bf7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000e35fa931a000000000000000000000000000000000000000000000000000000000000000000bf7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041bde87d54b6087d9e26b95a66c5c4ff65c09fdf68c652bb64528bccf3793187da4cca15d66b87990e6247de2b6d169201dbe2d95a454063ef8b631425114c2c6f1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059acf63da7828add5750bd3af837074112573804fc28d5fbde323057aa8cb947ea302a5e1991385ea8daec755d676abbdc0b60e5f4f125396684b46252c873a2251c012596c86af68e5d010513ff70a3aaed9afeb8661116e6ce0000000000000000000000000000000000000000000000000000000000000000000000c001a0671b23faa042c3a26a553065a57cd1c5ce5a0043d34d15c73d283287f0a6a5e4a06ffc24e0932d38999f24761519a050ace76c562294bea9027068f7b600928f24", - "new_receipt_trie_node_byte": "0xb90a2402f90a2001833543a0b9010000000000400006000000000000000020000040000000000000000000000000010000000004040000000000000000000000000000000000000000000010000000000000000100020000000038000000000000000000000800000000002000000000000000000200000000000400000000440000000000000040000010000000040000000000000000040000000000000000000000080000000000000000000000880000000000080000000000100000400000200000000002000000000000800000000002000000000080000000000000001000000000000000000000000000000000000000000000000000000000000000100000000802000000000020000008f90915f9039d9400000000000000adc04c56bf30ac9d3c0aaf14dcf863a09d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31a0000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad3a0000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00b90320736efbdbc37a71f121a25dc4151e5111d0aab9d9f0959e6504059dd239594c83000000000000000000000000efe3f3b2c4073b6539aff8467c649c750e8d1feb00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec39300000000000000000000000000000000000000000000000000000000000004db0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0ad71ee7e9800000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a3d2a594b8000000000000000000000000000000a26b00c1f0df003000390027140000faa719000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b47a54b297000000000000000000000000000f2f42fb3a746952085f211ff5c0b3a68c2032221f902fd9400000000000000adc04c56bf30ac9d3c0aaf14dcf863a09d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31a0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9a0000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00b90280a2cc2f59aa30e00d2b6a9fa00e428baeeb766266c6c320f1f703038f5f06698d000000000000000000000000efe3f3b2c4073b6539aff8467c649c750e8d1feb00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebb0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0782624856800000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120c3bab758000000000000000000000000000000a26b00c1f0df003000390027140000faa719f89c947dbc433c92266ab268ae1040837a212b77fec393f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad3a0000000000000000000000000efe3f3b2c4073b6539aff8467c649c750e8d1feba000000000000000000000000000000000000000000000000000000000000004db80f89c947dbc433c92266ab268ae1040837a212b77fec393f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9a0000000000000000000000000efe3f3b2c4073b6539aff8467c649c750e8d1feba00000000000000000000000000000000000000000000000000000000000000ebb80f89c947dbc433c92266ab268ae1040837a212b77fec393f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c3f8a62be827f4b535096545f6d43cdfba4493e3a0000000000000000000000000efe3f3b2c4073b6539aff8467c649c750e8d1feba00000000000000000000000000000000000000000000000000000000000000bf780f89994b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea5e1a01d5e12b51dee5e4d34434576c3fb99714a85f57b0fd546ada4b0bddd736d12b2b86094d01ef70650e957198f57db918d4e463230f5ed263249436d1c9091dc9f73600000000000000000000bf700c3f8a62be827f4b535096545f6d43cdfba4493e30000000000e35fa931a000007dbc433c92266ab268ae1040837a212b77fec393", - "gas_used": 497570 + "byte_code": "0x02f87401831030f1830ecd10850260377a10825208944d7c1fe0a1bf1099c5bac9698b7dfe984d2b9d3087659b8c6893800080c001a04135ac5078457f526bf0e9011944812aa86796cf82d6827e6919680471901fc7a00bd98f79b3cd6ee370faa253622680268ac1e514f57556842fd3745fde470364", + "new_txn_trie_node_byte": "0x02f87401831030f1830ecd10850260377a10825208944d7c1fe0a1bf1099c5bac9698b7dfe984d2b9d3087659b8c6893800080c001a04135ac5078457f526bf0e9011944812aa86796cf82d6827e6919680471901fc7a00bd98f79b3cd6ee370faa253622680268ac1e514f57556842fd3745fde470364", + "new_receipt_trie_node_byte": "0xb9010d02f90109018322e28cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x5c6423f1a5969ec0f20cce19d5f8c7744916ab8c": { - "balance": "0x29c8000378176ed" - }, - "0xb2ecfe4e4d61f8790bbb9de2d1259b9e2410cea5": { - "storage_read": [ - "0x00000000000000000000000000000000000000000000000000000000000000fb", - "0x000000000000000000000000000000000000000000000000000000000000012f", - "0x3dc40693fb3bf64b979c0e0b720cba651945e1a1c67007f82f8a170b92d7faf8", - "0x000000000000000000000000000000000000000000000000000000000000015f", - "0x6e2d2be45e6b106b84adfe8b8541cbd80c5d6317a4fcfbff62aca29457c874ea", - "0xd820c9ba768c98a359b0ec47a56a0f29384fea315a1779c212c1ee8df43f2d47", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" - ], - "storage_written": { - "0x00000000000000000000000000000000000000000000000000000000000000fb": "0x1", - "0xd820c9ba768c98a359b0ec47a56a0f29384fea315a1779c212c1ee8df43f2d47": "0x1" - }, - "code_usage": { - "read": "0x82dee1d830a79106921dc73f0ebb4758243a04f29c5346ba4f82f58b81ffef72" - } - }, - "0x0000000000000000000000000000000000000001": {}, - "0xcca4ba7eb2181c03ed041c76f9f815f16e8af5e1": { - "balance": "0x31406d82fc0c91", - "nonce": "0x33" - }, - "0x2f18f339620a63e43f0839eeb18d7de1e1be4dfb": { - "code_usage": { - "read": "0x97412a7c3c5a8f0a1abc9f387ada2e824748b069188f60a63125dce363a8964d" - } - }, - "0x2e541cec5cb41e7678ac3c8e91acb3fc1db0da07": { - "storage_read": [ - "0x69c162d4b16dab00e4b48678232a6d404d9424903a2ad976778a73f7ae4b619f", - "0xd1de8d39ede86dfba836745954b3f07acd7c093f7ac924f0d33facfd169bbddb", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0xe3883606ab3a5626a5a66e4b934e5aa446df1b3abb47e4436ddd7b5da7e34701", - "0x2b14981472a58efb8317d14e21946efae3bc7c9fdabd535f70c6168eac4e850c", - "0x664211ab5e5ba0a89da293562ce07663319979670087bc7f5a03089843ba7146" - ], - "storage_written": { - "0x2b14981472a58efb8317d14e21946efae3bc7c9fdabd535f70c6168eac4e850c": "0x1", - "0xe3883606ab3a5626a5a66e4b934e5aa446df1b3abb47e4436ddd7b5da7e34701": "0x0", - "0x69c162d4b16dab00e4b48678232a6d404d9424903a2ad976778a73f7ae4b619f": "0xcca4ba7eb2181c03ed041c76f9f815f16e8af5e1", - "0x664211ab5e5ba0a89da293562ce07663319979670087bc7f5a03089843ba7146": "0x1" - }, - "code_usage": { - "read": "0x3ea63173a3aa0275a3948144acdc51b57f41ef616e1f6934696c02bb2af6aae5" - } + "0xa76e31d8471d569efdd3d95d1b11ce6710f4533f": { + "balance": "0x3d2e72f6e411fbe8", + "nonce": "0x956a" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965dcaefb971dd25" + "0xaeba8e2307a22b6824a9a7a39f8b016c357cd1fe": {}, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544b556517e69" + } + }, + "meta": { + "byte_code": "0x02f89401829569830ecd10850260377a1082545c94aeba8e2307a22b6824a9a7a39f8b016c357cd1fe80a902aba31400000000004da9dd8ed8cec54c6fb5219b18131813ebeae435c1dc26cad369c722a3b954e3c0809f6399782acdd5776d1f06cc75f461e035e526392f40ffb515aaccbf1a387640a065eebdfbc8f3da4a18675f40d728847340590ba15a5a8021baf23ccfbeefa3cf", + "new_txn_trie_node_byte": "0x02f89401829569830ecd10850260377a1082545c94aeba8e2307a22b6824a9a7a39f8b016c357cd1fe80a902aba31400000000004da9dd8ed8cec54c6fb5219b18131813ebeae435c1dc26cad369c722a3b954e3c0809f6399782acdd5776d1f06cc75f461e035e526392f40ffb515aaccbf1a387640a065eebdfbc8f3da4a18675f40d728847340590ba15a5a8021baf23ccfbeefa3cf", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832336e8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21596 + } + }, + { + "traces": { + "0x5501b2d45f6a92150c11703087ba6b0e1d192c46": { + "balance": "0x1b679e9757e0", + "nonce": "0x3" }, - "0x5fa60726e62c50af45ff2f6280c468da438a7837": { - "code_usage": { - "read": "0xa05c8b15687ab7e7f17964e999ff0edb47f51f8a98eca8e7ea1152a4ac186dab" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544b9f00a6189" }, - "0xb4c1d3f047583c596a0dbf423b37118f42da97c1": { - "balance": "0x5422d08cda5431d" + "0x211737cca5f1f0631f0f256fd73ea4772e32b536": { + "balance": "0x319a882ccd3089" } }, "meta": { - "byte_code": "0x02f9049d0132843b9aca00850b5899d7d8830296c694b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea587354a6ba7a18000b9042870bce2d6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000005c6423f1a5969ec0f20cce19d5f8c7744916ab8c0000000000000000000000002e541cec5cb41e7678ac3c8e91acb3fc1db0da07639ff6e7c56b89cddf35bb68547465d2c8f87992e0d1cc997c0aebd4b8a40b9f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000065d881490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4c1d3f047583c596a0dbf423b37118f42da97c100000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000d3b9bcaf036b1b2a8c10133eb11bc1a00000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000cca4ba7eb2181c03ed041c76f9f815f16e8af5e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017c7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000000000000017c700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004178826b8ad2817d6c2877207c12ba5d116b017a3cc6bf511a9b734c6e311bf9ea1bd54430a76087a9bcb09f41128a9ac76ea7fcb23fc367d580bd923d7d59124b1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059747b7cbb17f19186e94d03d75cacf59ddd2b916faf8e066697be0e1585af19e433f9f2bcc5f8c4ad226c172f136d00fefc10fb602923f9a582f60f27edacce8f1b012596c86af68e5d010513ff70a3aaed9afeb8661116e6ce00000000000000332d1229c080a0cbbe7b51653d02569f4dff85b23d326ddece08b115a962dbec1b619c8422a4eba01ddf0292d38b588c95c50630fe443541a6529f02b3c1abbff4040adba7e0058d", - "new_txn_trie_node_byte": "0x02f9049d0132843b9aca00850b5899d7d8830296c694b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea587354a6ba7a18000b9042870bce2d6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000005c6423f1a5969ec0f20cce19d5f8c7744916ab8c0000000000000000000000002e541cec5cb41e7678ac3c8e91acb3fc1db0da07639ff6e7c56b89cddf35bb68547465d2c8f87992e0d1cc997c0aebd4b8a40b9f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000065d881490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4c1d3f047583c596a0dbf423b37118f42da97c100000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000d3b9bcaf036b1b2a8c10133eb11bc1a00000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000cca4ba7eb2181c03ed041c76f9f815f16e8af5e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017c7000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000000000000000000000000017c700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004178826b8ad2817d6c2877207c12ba5d116b017a3cc6bf511a9b734c6e311bf9ea1bd54430a76087a9bcb09f41128a9ac76ea7fcb23fc367d580bd923d7d59124b1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000059747b7cbb17f19186e94d03d75cacf59ddd2b916faf8e066697be0e1585af19e433f9f2bcc5f8c4ad226c172f136d00fefc10fb602923f9a582f60f27edacce8f1b012596c86af68e5d010513ff70a3aaed9afeb8661116e6ce00000000000000332d1229c080a0cbbe7b51653d02569f4dff85b23d326ddece08b115a962dbec1b619c8422a4eba01ddf0292d38b588c95c50630fe443541a6529f02b3c1abbff4040adba7e0058d", - "new_receipt_trie_node_byte": "0xb9030602f90302018337ac18b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000200100000000000000000000000029002000000002000000000000000000200000000000000000020000000000000000000800000000000000000000000010000000000000000200000000008000002000000000000000000000000000000000000000020040000000000000800000000000000000000000080000000000000000000000000002000000000000000000000000010000000000000000000000000020000050000000000004000000000000000000000000000000000000000020000008f901f7f89c942e541cec5cb41e7678ac3c8e91acb3fc1db0da07f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000005c6423f1a5969ec0f20cce19d5f8c7744916ab8ca00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000017c780f89c942e541cec5cb41e7678ac3c8e91acb3fc1db0da07f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005c6423f1a5969ec0f20cce19d5f8c7744916ab8ca0000000000000000000000000cca4ba7eb2181c03ed041c76f9f815f16e8af5e1a000000000000000000000000000000000000000000000000000000000000017c780f8b994b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea5e1a07dc5c0699ac8dd5250cbe368a2fc3b4a2daadb120ad07f6cccea29f83482686eb880b98f612772cf104ccb64d14bbf7d5428d85ba3ee302fdf7796151737553e17d400000000000000000017c7005c6423f1a5969ec0f20cce19d5f8c7744916ab8c0000000000354a6ba7a180002e541cec5cb41e7678ac3c8e91acb3fc1db0da070000000000000000000003e8b4c1d3f047583c596a0dbf423b37118f42da97c1", - "gas_used": 157816 + "byte_code": "0x02f8710102830e5b6485016ff2b7e782520894211737cca5f1f0631f0f256fd73ea4772e32b53687319a882ccd308980c080a018de30f61aafb609769a952c26dd4a20be777765055f6bc0498bc9217fb8d6eaa011df0176d18c9d33e67a7b2c142299e84320501db79ae47d74603076c6948f58", + "new_txn_trie_node_byte": "0x02f8710102830e5b6485016ff2b7e782520894211737cca5f1f0631f0f256fd73ea4772e32b53687319a882ccd308980c080a018de30f61aafb609769a952c26dd4a20be777765055f6bc0498bc9217fb8d6eaa011df0176d18c9d33e67a7b2c142299e84320501db79ae47d74603076c6948f58", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832388f0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965dfdd8e2a53725" + "0xe8a2031dc92da8040c498e89f6e47bc8f1c14626": { + "balance": "0xba8478cab54000" }, - "0xd108d3026f6f0c3fd58ef154203bc418c4d6eec9": { - "storage_read": [ - "0xe8b01d6666c0e367b657f26eb8c7dfbade96913d19b26955f1decbe079c793cb", - "0xe24f423d085faac56d980db2adf2441ccece54a6adad755e6187e716b9278bcc", - "0x8678125fa6066cfbcf6b7b52562e84a466b97006da76f369bffb9393f3ec070e", - "0x4cebefae5d7033d7dbe8416e6e28d2d7e387622d2dca178ffb4e42a28895278e" - ], - "storage_written": { - "0x4cebefae5d7033d7dbe8416e6e28d2d7e387622d2dca178ffb4e42a28895278e": "0x16614ff077", - "0xe8b01d6666c0e367b657f26eb8c7dfbade96913d19b26955f1decbe079c793cb": "0x2dae560" - }, - "code_usage": { - "read": "0x959a67ec5051f17302924eb4712621132aea7bad2b654ffefc46f985f8ef8ba5" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544be89c344a9" }, - "0x7d1b193701b390893736b557fbf7c2851344f64c": { - "balance": "0x1432c3b7f24772530", - "nonce": "0x11a1" + "0xf3ea1acb4d3f50921c9cb89edb6b9b0781b1d841": { + "balance": "0x7340d2eae8e1f9", + "nonce": "0x13" } }, "meta": { - "byte_code": "0x02f8b3018211a0843b9aca008520264d268e83013c5194d108d3026f6f0c3fd58ef154203bc418c4d6eec980b844a9059cbb00000000000000000000000004a158dc9d35fda9af880b6b581512d6ece78f310000000000000000000000000000000000000000000000000000000002dae560c080a021f96523d42f89ac54887bfd054efbb208ef6fe1c6f2accca33a21d13372a510a0386337d9cb75f7bb0afd62f38c6e8ab23ea38c7cbd6417aaab9f11fab227112b", - "new_txn_trie_node_byte": "0x02f8b3018211a0843b9aca008520264d268e83013c5194d108d3026f6f0c3fd58ef154203bc418c4d6eec980b844a9059cbb00000000000000000000000004a158dc9d35fda9af880b6b581512d6ece78f310000000000000000000000000000000000000000000000000000000002dae560c080a021f96523d42f89ac54887bfd054efbb208ef6fe1c6f2accca33a21d13372a510a0386337d9cb75f7bb0afd62f38c6e8ab23ea38c7cbd6417aaab9f11fab227112b", - "new_receipt_trie_node_byte": "0xb901ab02f901a701833886c1b9010000000000000000000000000000000400000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000010000000000000000000000000008000000000000000000000000000000000000000000000010000000000000000000000000040000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000080000000000000000000020040000000000000000000000000000020f89df89b94d108d3026f6f0c3fd58ef154203bc418c4d6eec9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007d1b193701b390893736b557fbf7c2851344f64ca000000000000000000000000004a158dc9d35fda9af880b6b581512d6ece78f31a00000000000000000000000000000000000000000000000000000000002dae560", - "gas_used": 55977 + "byte_code": "0x02f8710112830e5b6485016ff2b7e782520894e8a2031dc92da8040c498e89f6e47bc8f1c1462687ba8478cab5400080c001a0df0f574855c25b6f51b25047dd2a3f75f0fbeedf873c76d34c39b64cfcf67638a06095b08fcd95dc3e03de4f59a7b2072790019f0486ec907c208d8330a48a62a9", + "new_txn_trie_node_byte": "0x02f8710112830e5b6485016ff2b7e782520894e8a2031dc92da8040c498e89f6e47bc8f1c1462687ba8478cab5400080c001a0df0f574855c25b6f51b25047dd2a3f75f0fbeedf873c76d34c39b64cfcf67638a06095b08fcd95dc3e03de4f59a7b2072790019f0486ec907c208d8330a48a62a9", + "new_receipt_trie_node_byte": "0xb9010d02f90109018323daf8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x03f911aedc25c770e701b8f563e8102cfacd62c0": { - "code_usage": { - "read": "0x16e44788a6099cb07f7e622ea0a39073a70314acb7e7f005767db44f43b5c08b" - } - }, - "0xad6c2647dfedf1bcaf56667b8d85e170bbdf88f3": { - "balance": "0x16c2dcef165fbbb3c", - "nonce": "0x49" + "0x49cdb1cead16b469db9f7bc480483b91543e17e7": { + "balance": "0xa80b1971e04000" }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298693b9be192cf35d2a8", - "storage_read": [ - "0x5defccebecd74077aa0ce566544361c4953269120956a662e3572c4a19339eec", - "0xa78c3571170f7dcd4a9be5fc007f2e41d0568b2d304d741c66b27ec22dd33cfe", - "0xb88ecc12f0a13010069fe31a467d8303b57edd225d4fb5fdf4e66214cbc6765a" - ], - "storage_written": { - "0x5defccebecd74077aa0ce566544361c4953269120956a662e3572c4a19339eec": "0xf5490ce204cfd68c", - "0xa78c3571170f7dcd4a9be5fc007f2e41d0568b2d304d741c66b27ec22dd33cfe": "0x0", - "0xb88ecc12f0a13010069fe31a467d8303b57edd225d4fb5fdf4e66214cbc6765a": "0x426c8a27e790725d9" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } + "0x82203cfc81f30741fc3229a880611d7caa0f482e": { + "balance": "0x3c3300a1d015a2", + "nonce": "0x9" }, - "0xf3de3c0d654fda23dad170f0f320a92172509127": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, - "code_usage": { - "read": "0xe5b4a5c24225a0ec7687716ddb6728a7321fa50d7362c3a5acfe55e57b4b9564" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544c300273fb1" + } + }, + "meta": { + "byte_code": "0x02f8710108830ded2185016ff249a48252089449cdb1cead16b469db9f7bc480483b91543e17e787a80b1971e0400080c001a03f151d7f4d829e615e5413d64d97854e4a5c13fbee6e7778443dfc49300e031aa0584440c053fd54c72824555e6478cf29964d902ed1d5aa7291363c9be722f1cb", + "new_txn_trie_node_byte": "0x02f8710108830ded2185016ff249a48252089449cdb1cead16b469db9f7bc480483b91543e17e787a80b1971e0400080c001a03f151d7f4d829e615e5413d64d97854e4a5c13fbee6e7778443dfc49300e031aa0584440c053fd54c72824555e6478cf29964d902ed1d5aa7291363c9be722f1cb", + "new_receipt_trie_node_byte": "0xb9010d02f901090183242d00b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xed6e86b84ca7501d0c537c75d4600a66e513a367": { + "balance": "0x113bb77863a7a55" }, - "0x40aa958dd87fc8305b97f2ba922cddca374bcd7f": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000065" - ], - "code_usage": { - "read": "0xe8711c5f0fe7f3c28078140bb97b65aa015a58c06c14bad5abffa44f00f1ddf5" - } + "0x6fc89b58a600e8ad4179e410205dcbe212f03aa9": { + "balance": "0x28b0f9880e1fb2", + "nonce": "0x2bf" }, - "0x19c1f6c7468ad4076b05a5f79e3ee80ce0064718": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544c7768b3ab9" + } + }, + "meta": { + "byte_code": "0x02f874018202be830ded21850173a4943c82520894ed6e86b84ca7501d0c537c75d4600a66e513a3678801078a512570400080c080a035fcd6571836054c03832081467c98c4d0b2899bee586285bf0910714d39def8a01c97d884eef3ba8fa4e97e11a0b63a0906ab69507db4c5105eec6043d1c78c79", + "new_txn_trie_node_byte": "0x02f874018202be830ded21850173a4943c82520894ed6e86b84ca7501d0c537c75d4600a66e513a3678801078a512570400080c080a035fcd6571836054c03832081467c98c4d0b2899bee586285bf0910714d39def8a01c97d884eef3ba8fa4e97e11a0b63a0906ab69507db4c5105eec6043d1c78c79", + "new_receipt_trie_node_byte": "0xb9010d02f901090183247f08b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x292fcdd1b104de5a00250febba9bc6a5092a0076": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0xc0d1c00078410fd0164580b0bad93d8a579580d06cf45fc2696a823498097b8a" + "0xc80fe9610ea8ac5c4adbd3944d3a514515e6073afb016a3b6b07477ab9037253", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x3fa7a6f62955d9ef8c6e2eb8bfd17cf4d5b8b5e4b16073e564ce2360f5d6c1c1", + "0x470194f135c4b6ff35acfad7330d3fc88584b7432921ca28ff6d472af426a1aa", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0xfae2abf09a480143a75b2160b80752fc4d77038bce94e84310049703ab3359a9", + "0x81d48a77f80d9db87a74809aec33a18f4bd1d513f321b22c3b147b5da268a3f3", + "0x6af897fe8df47afa83e1a4f9e706ffc2c880987e4b0d6b768511ee49f0d35fcb", + "0x394c246fbe797de9db628d876f7dee6a3581f7c8039db8b17dbe6abf30c3c9c5", + "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x129044c1a2fed9b2d737e31dcb0699f561b3d6b1d238f9bcef7af2fad702db16" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000fe0f320000000000000000007179b241b1a13dad60f46c", - "0x0000000000000000000000000000000000000000000000000000000000000001": "0xef4cfd83ebc1619b44e785ee4c322a56bc" + "0x394c246fbe797de9db628d876f7dee6a3581f7c8039db8b17dbe6abf30c3c9c5": "0x1c6cf21aeccff1cf4c56", + "0xc80fe9610ea8ac5c4adbd3944d3a514515e6073afb016a3b6b07477ab9037253": "0x0" }, "code_usage": { - "read": "0x5218d91b409a649690db747c01aae184e43ffcab370003931ff590f24e0c6959" - } - }, - "0x031f1ad10547b8deb43a36e5491c06a93812023a": { - "code_usage": { - "read": "0x42290cbae7bd289ad5b81422508cf767bdd8427c81e166768650e5ce83dfd1ae" - } - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965e7766d138d025" - }, - "0x70cbb871e8f30fc8ce23609e9e0ea87b6b222f58": { - "storage_read": [ - "0xfca24f26881178fbb721486fd81006a8a2f47f9f9479f3a10e978c0ededf333a", - "0x0000000000000000000000000000000000000000000000000000000000000066" - ], - "code_usage": { - "read": "0xb6a0916f3f4f33110bd1c57652c6e21f4beb32ffcfb50124f8b51cb5cee61f04" + "read": "0x9302f2f590375cd85de3b3481b12ea3b26576eb8c408158689206ee8b7e80321" } }, - "0x7eec7a4e6ab3cce23ccc41b8601282716b9eadf4": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000008" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de700000000000426c8a27e790725d900000014ffe1cba8af17c1b47654", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544d2206c0d7f" }, - "0xb8a87405d9a4f2f866319b77004e88dff66c0d92": { - "storage_read": [ - "0x94b6d243156a4a59cfd6dc4d12219c4621790f78c98fccfd73e1d8763a6b3a17", - "0xc659b99e79fe0de30a460bd9c30c4e566718ff6cfdcd6379dd0e4e03da9bdc33", - "0xb04ceb61f5c03b733b515e10ff854b0fc2e559ff6d9ba0459129639a17705c0a", - "0x4bfebf24978275179447f7cf6e42e1eec9a958f687caae1285b31998802c28db", - "0xc977d8657d85c62ce038bea14e58534072449ab086117302462d707bf1d74106", - "0x69842cf0ef2707802b5592d1cc1de8d0ce772a62790dbaabbd98149afa409167", - "0xa924edc4f8a729e1cee77dc13cab779edc716fa82201b3b4c481116893df3027", - "0x417b2505f46acd6f2860512dde808e2aa51fb2f07b2353fcfa8a9b2f66dfae0e", - "0x98ffe5e074b5480f3a14e6a6b2f49c4eec478f903b9a445f54a17e0ce6a79946", - "0xf21cebc87207a45343dbb33a2512a7ff11e6222d87d2759dc5745a55f3df1144", - "0x27e9f812186791d033a8f9881ee8bf032f697cd280803eba6d746cdf852e1cec", - "0x7f77ab918e11f5a3aa1b83e7fa69b47af3f5cac0a670bc62399e74e5d1d52107", - "0x574f2c7846ea00d55f928c6f89bf9747d387dfd60d537b61bc628984ec954359", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x65b4472f50deaf0b000c8fe050adfbe765d8ed43c5b2a6d53388b95c0ea2bd9f", - "0xe9df5837f3bcbb1790cb137a41af6668249cf34a286d7ed605320e67c6c23eb4", - "0xdc659d23db7e81f01bd114cf34d2713f8f5298c0dfa6e888cb2e5452e1da6bd9", - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0x970ed9cd9741b4afe0d78fd355c8ff7cc4ba99e1a2761b359a6843f105b37df5", - "0x000000000000000000000000000000000000000000000000000000000000001d", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0xe0af14e9300205f069e33cd65f2604ae8648da4c24f245f61eb9ebc19a7331ba" - ], - "storage_written": { - "0x65b4472f50deaf0b000c8fe050adfbe765d8ed43c5b2a6d53388b95c0ea2bd9f": "0x14ffe1cba8af17c1b47654", - "0x98ffe5e074b5480f3a14e6a6b2f49c4eec478f903b9a445f54a17e0ce6a79946": "0xfffffffffffffffffffffffffffffffffffffffffffe51623ae084b62bcf71b2", - "0xe0af14e9300205f069e33cd65f2604ae8648da4c24f245f61eb9ebc19a7331ba": "0x1", - "0x417b2505f46acd6f2860512dde808e2aa51fb2f07b2353fcfa8a9b2f66dfae0e": "0x0", - "0xf21cebc87207a45343dbb33a2512a7ff11e6222d87d2759dc5745a55f3df1144": "0x12c5bcbab6174bacea1dd6" - }, - "code_usage": { - "read": "0xa47998f0fcceee76c553f9f49703070078f39a295bd103fff52cd766c9b60168" - } + "0xf054fdf38beeeb1f9e8eda941bb11a8dfdc0155c": { + "balance": "0xd8a5dc8e0483b", + "nonce": "0x20b" } }, "meta": { - "byte_code": "0x02f905b20148841dcd65008508245098408307778494f3de3c0d654fda23dad170f0f320a9217250912780b90544b80c2f090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000d3c21bcecceda101a4ce00000000000000000000000000000000000000000000000028b677a4cfc50cb90000000000000000000000000000000000000000000000000000000065cf6b28000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000d3c21bcecceda101a4ce000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000000000000000000000000000000000000000000200000000000000000000000003f911aedc25c770e701b8f563e8102cfacd62c0000000000000000000000000031f1ad10547b8deb43a36e5491c06a93812023a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000003f911aedc25c770e701b8f563e8102cfacd62c00000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf4000000000000000000000000000000000000000000000000000000000000000200000000000000000000151819c1f6c7468ad4076b05a5f79e3ee80ce00647180000000000000000000011f87eec7a4e6ab3cce23ccc41b8601282716b9eadf400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000c001a0d9345ec08648861ff9190ece74db3b5fda67703609aec1928bf87431584fb2dca06523f825dd3781d58e5dc3e91015b6b8f0656e85f56cc42e9a72cef08d340c86", - "new_txn_trie_node_byte": "0x02f905b20148841dcd65008508245098408307778494f3de3c0d654fda23dad170f0f320a9217250912780b90544b80c2f090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000d3c21bcecceda101a4ce00000000000000000000000000000000000000000000000028b677a4cfc50cb90000000000000000000000000000000000000000000000000000000065cf6b28000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000d3c21bcecceda101a4ce000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000000000000000000000000000000000000000000200000000000000000000000003f911aedc25c770e701b8f563e8102cfacd62c0000000000000000000000000031f1ad10547b8deb43a36e5491c06a93812023a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000003f911aedc25c770e701b8f563e8102cfacd62c00000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf4000000000000000000000000000000000000000000000000000000000000000200000000000000000000151819c1f6c7468ad4076b05a5f79e3ee80ce00647180000000000000000000011f87eec7a4e6ab3cce23ccc41b8601282716b9eadf400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000027100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000c001a0d9345ec08648861ff9190ece74db3b5fda67703609aec1928bf87431584fb2dca06523f825dd3781d58e5dc3e91015b6b8f0656e85f56cc42e9a72cef08d340c86", - "new_receipt_trie_node_byte": "0xb909a302f9099f01833c9ae6b9010000200000000801000000000080000800100000000000000000000000000000000002000000000000020000000000000002008000080060000000000080200004000000010220000900000008800000200000000000400000000000000001900000000000000000000008020000000009000000000000040000000010000800000000000000000000000000000000000000000000000000080000004040000000020000004000000208000040080000000001000000000200000000000000000040000002000000100000000000010000000000020000001000000002000000000010200008000000000000000000000000000000008000000000000000000004f90894f85894f3de3c0d654fda23dad170f0f320a92172509127e1a07724394874fdd8ad13292ec739b441f85c6559f10dc4141b8d4c0fa4cbf55bdba00000000000000000000000000000000000000000000000000000000000000000f89b94b8a87405d9a4f2f866319b77004e88dff66c0d92f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ad6c2647dfedf1bcaf56667b8d85e170bbdf88f3a000000000000000000000000003f911aedc25c770e701b8f563e8102cfacd62c0a0000000000000000000000000000000000000000000007259756a8d619980e33cf89b94b8a87405d9a4f2f866319b77004e88dff66c0d92f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000ad6c2647dfedf1bcaf56667b8d85e170bbdf88f3a000000000000000000000000040aa958dd87fc8305b97f2ba922cddca374bcd7fa0fffffffffffffffffffffffffffffffffffffffffffeb2cae144c44233503343f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000019c1f6c7468ad4076b05a5f79e3ee80ce0064718a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127a0000000000000000000000000000000000000000000000000169336c24caa8c52f89b94b8a87405d9a4f2f866319b77004e88dff66c0d92f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000003f911aedc25c770e701b8f563e8102cfacd62c0a000000000000000000000000019c1f6c7468ad4076b05a5f79e3ee80ce0064718a0000000000000000000000000000000000000000000007259756a8d619980e33cf9011c9419c1f6c7468ad4076b05a5f79e3ee80ce0064718f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a000000000000000000000000003f911aedc25c770e701b8f563e8102cfacd62c0a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127b8a0000000000000000000000000000000000000000000007259756a8d619980e33cffffffffffffffffffffffffffffffffffffffffffffffffe96cc93db35573ae0000000000000000000000000000000000000000007179b241b1a13dad60f46c000000000000000000000000000000000000000000000d5323c032a1f933762dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0f32f89b94b8a87405d9a4f2f866319b77004e88dff66c0d92f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ad6c2647dfedf1bcaf56667b8d85e170bbdf88f3a00000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf4a0000000000000000000000000000000000000000000006168a6643f8c0780c191f89b94b8a87405d9a4f2f866319b77004e88dff66c0d92f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000ad6c2647dfedf1bcaf56667b8d85e170bbdf88f3a000000000000000000000000040aa958dd87fc8305b97f2ba922cddca374bcd7fa0fffffffffffffffffffffffffffffffffffffffffffe51623ae084b62bcf71b2f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007eec7a4e6ab3cce23ccc41b8601282716b9eadf4a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127a0000000000000000000000000000000000000000000000000138dc205d9affc13f879947eec7a4e6ab3cce23ccc41b8601282716b9eadf4e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000014ffe1cba8af17c1b4765400000000000000000000000000000000000000000000000426c8a27e790725d9f8fc947eec7a4e6ab3cce23ccc41b8601282716b9eadf4f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000031f1ad10547b8deb43a36e5491c06a93812023aa0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127b880000000000000000000000000000000000000000000006168a6643f8c0780c19100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000138dc205d9affc13f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127a00000000000000000000000000000000000000000000000002a20f8c8265a8865f8d994f3de3c0d654fda23dad170f0f320a92172509127e1a01bb43f2da90e35f7b0cf38521ca95a49e68eb42fac49924930a5bd73cdf7576cb8a0000000000000000000000000b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000ad6c2647dfedf1bcaf56667b8d85e170bbdf88f300000000000000000000000000000000000000000000d3c21bcecceda101a4ce0000000000000000000000000000000000000000000000002a20f8c8265a8865", - "gas_used": 267301 + "byte_code": "0x02f8b20182020a830ded21850182487e228301435c94292fcdd1b104de5a00250febba9bc6a5092a007680b844a9059cbb000000000000000000000000652bba13c9ea29f952c2198285511838d14ee6570000000000000000000000000000000000000000000007aa524cdc469312bc8cc080a0f8f1c852367f7ced9b108b8a723826802bce54f71a296c059b05b94f25e08b9ba011748fd4641cabff26c5093d2f6720444b7449faba2eaf8ddc362830ecca0afb", + "new_txn_trie_node_byte": "0x02f8b20182020a830ded21850182487e228301435c94292fcdd1b104de5a00250febba9bc6a5092a007680b844a9059cbb000000000000000000000000652bba13c9ea29f952c2198285511838d14ee6570000000000000000000000000000000000000000000007aa524cdc469312bc8cc080a0f8f1c852367f7ced9b108b8a723826802bce54f71a296c059b05b94f25e08b9ba011748fd4641cabff26c5093d2f6720444b7449faba2eaf8ddc362830ecca0afb", + "new_receipt_trie_node_byte": "0xb901ab02f901a7018325430eb9010000000000000000000000000000000000000000000000020000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000200000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000010000040004000000000000000000f89df89b94292fcdd1b104de5a00250febba9bc6a5092a0076f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f054fdf38beeeb1f9e8eda941bb11a8dfdc0155ca0000000000000000000000000652bba13c9ea29f952c2198285511838d14ee657a00000000000000000000000000000000000000000000007aa524cdc469312bc8c", + "gas_used": 50182 } }, { "traces": { - "0xea2e28d5e6fb270a2059b6704443b92e163cf773": { - "balance": "0xe1e6a619e997e", - "nonce": "0x3" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965e9f0975d6c325" - }, - "0x4c045482551d0ca3e6078261ef4debda3523647d": { - "code_usage": { - "read": "0x78904b84122ead84066009add20f5665a39595fc560f4f0413b0c814c44049cd" - } - }, - "0x89a56ff41a4be1360f780c5abfba8fd7eced2c7a": { - "balance": "0x9e23de221ca058d0", - "storage_read": [ - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0xf6fe0582e0e323a551f456b66350a1ed549948a34fdd35be011d229e00171c1f", - "0x70f0f0296212959010054ace1e2e48e1b74d027b5145caf43ffccfec41e447e4", - "0xe34b8b74e1cdcaa1b90aa77af7dd89e496ad9a4ae4a4d4759712101c7da2dce7", - "0x70f0f0296212959010054ace1e2e48e1b74d027b5145caf43ffccfec41e447e5", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0xe34b8b74e1cdcaa1b90aa77af7dd89e496ad9a4ae4a4d4759712101c7da2dce6", - "0xe34b8b74e1cdcaa1b90aa77af7dd89e496ad9a4ae4a4d4759712101c7da2dce8" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1", - "0xe34b8b74e1cdcaa1b90aa77af7dd89e496ad9a4ae4a4d4759712101c7da2dce7": "0x99cdde4366881feb" - }, - "code_usage": { - "read": "0x60dac91861bb83ca86316dd746eeb38d13b6c1788cdf7042fb489a97358cd9b2" - } + "0xd5e7d4ba155fbecbc3ef124c06f3fe343e5e2720": { + "balance": "0x16345785d8a0000" }, - "0xe47a951f3bc6faf65a7a7074b9ad745f17084f98": { - "code_usage": { - "read": "0x5743c0932b7f4d4effdbfd16acde797fa136ed5ba75bf499ddd26ff9d8b8a6e1" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544d696d00887" }, - "0xb20f0105f3598652a3be569132f7b3f341106ddc": { - "balance": "0x3bd19df667d8000", - "storage_read": [ - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0xf0ae10cbc4b7e5d41a3a6c7f530e4919b2e487e56976cad1b0bf6c5c77e67915", - "0x0000000000000000000000000000000000000000000000000000000000000065", - "0xc6419d95c4132a6457e75ba0e17ba38918f9ac611f6ef582ecdce38765572ff1" - ], - "storage_written": { - "0xc6419d95c4132a6457e75ba0e17ba38918f9ac611f6ef582ecdce38765572ff1": "0x9ba" - }, - "code_usage": { - "read": "0x8d18f2dc05cfbba5333e0f874f47383a3f153de5e5db88b1bf50c41ec8a4ff2a" - } + "0x64cd2ff85a6d410ffd2b9b0469b937f41f551a56": { + "balance": "0x1bc7a58de4254dd", + "nonce": "0x9b" } }, "meta": { - "byte_code": "0x02f8d80102841dcd65008508cc571f008301b46a9489a56ff41a4be1360f780c5abfba8fd7eced2c7a87071b4322f1b800b86414d9e096000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000ea2e28d5e6fb270a2059b6704443b92e163cf773c001a040dc0d2c826913488cf8dfd11a339d8c791da2059acc89b237a5a08001c9ff26a03f34cd40fbeb9e0ef07c4ee5d0902d182aa3e6da19aefac4602a2958e58afb15", - "new_txn_trie_node_byte": "0x02f8d80102841dcd65008508cc571f008301b46a9489a56ff41a4be1360f780c5abfba8fd7eced2c7a87071b4322f1b800b86414d9e096000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000ea2e28d5e6fb270a2059b6704443b92e163cf773c001a040dc0d2c826913488cf8dfd11a339d8c791da2059acc89b237a5a08001c9ff26a03f34cd40fbeb9e0ef07c4ee5d0902d182aa3e6da19aefac4602a2958e58afb15", - "new_receipt_trie_node_byte": "0xb9036e02f9036a01833def5db9010000200004000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000400000000000000000000040000000000000000000000090000000000000000000000040000001000000000000008000000000000000010000000000000000200000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000010000080000000000000000000000000880000000002000200000000000000000000000000000000000010000000000008000000000000800000040000000000000000000000000000000000000000000000200000000000000000000f9025ff9015d94b20f0105f3598652a3be569132f7b3f341106ddcf884a0b8abfd5c33667c7440a4fc1153ae39a24833dbe44f7eb19cbe5cd5f2583e4940a000000000000000000000000089a56ff41a4be1360f780c5abfba8fd7eced2c7aa00000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000000000000000009b9b8c0000000000000000000000000104bc711530554f18936a12542192f8bd36166b100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000ea2e28d5e6fb270a2059b6704443b92e163cf773f8fd9489a56ff41a4be1360f780c5abfba8fd7eced2c7af884a0e0442d4e58b97ff2055e08df9305389520a00ac06c83a83131ef3d0e1572068ca000000000000000000000000000000000000000000000000000000000000009b9a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001b860000000000000000000000000ea2e28d5e6fb270a2059b6704443b92e163cf773000000000000000000000000ea2e28d5e6fb270a2059b6704443b92e163cf77300000000000000000000000000000000000000000000000000038d7ea4c68000", - "gas_used": 87159 + "byte_code": "0x02f87301819a830ded21850173a4943c82520894d5e7d4ba155fbecbc3ef124c06f3fe343e5e272088016345785d8a000080c001a0bf930062370fa288f814a67acf9476bd4061c783a0f21f246c4c0d7ef97de27ea07f428bc003165f0ef09a1a6f1ba696f7892daddedc7e43cf30c3ea0fb28d8781", + "new_txn_trie_node_byte": "0x02f87301819a830ded21850173a4943c82520894d5e7d4ba155fbecbc3ef124c06f3fe343e5e272088016345785d8a000080c001a0bf930062370fa288f814a67acf9476bd4061c783a0f21f246c4c0d7ef97de27ea07f428bc003165f0ef09a1a6f1ba696f7892daddedc7e43cf30c3ea0fb28d8781", + "new_receipt_trie_node_byte": "0xb9010d02f901090183259516b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965eb357debe2925" + "0xc72566357ca53178925881522911063ea14e688b": { + "balance": "0x406f32511f1ede6" }, - "0xe62b71cf983019bff55bc83b48601ce8419650cc": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000002b" - ], - "code_usage": { - "read": "0xbb2d1c5819544ff9d57480a59270ece03719625702c5b30c9c512d94d62661ee" - } + "0x8cbe0e420cf860a8fcc99bc8932d1015e837693a": { + "balance": "0x126e6e58a8a848", + "nonce": "0x7" }, - "0x3c4ad65f5b4884397e1f09596c7ac7f8f95b3ff3": { - "balance": "0xe08f72a87b43db48", - "nonce": "0x1c92b" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544db0d34038f" } }, "meta": { - "byte_code": "0x02f90875018301c92a841dcd6500850bfbe44269830b4aa094e62b71cf983019bff55bc83b48601ce8419650cc80b90804c980753900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000068001010001000001000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000460000000000000000000000047ddec946856fa8055ac2202f633de33000169a40319131e010c120e0b1718161b1d020307111c0806000f151a0a1005040d0914000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000042238023540000000000000000000000000000000000000000000000000000004224e60dcc00000000000000000000000000000000000000000000000000000042258f74800000000000000000000000000000000000000000000000000000004226a9852a00000000000000000000000000000000000000000000000000000042282e9911000000000000000000000000000000000000000000000000000000422a72ad00000000000000000000000000000000000000000000000000000000422a72ad00000000000000000000000000000000000000000000000000000000422a72ad00000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b1787fa000000000000000000000000000000000000000000000000000000422b7000ba000000000000000000000000000000000000000000000000000000422baa1c0b000000000000000000000000000000000000000000000000000000422baa1c0b000000000000000000000000000000000000000000000000000000422bfa3760000000000000000000000000000000000000000000000000000000422bfa3760000000000000000000000000000000000000000000000000000000422bfa3760000000000000000000000000000000000000000000000000000000422d14f9a3000000000000000000000000000000000000000000000000000000422d14f9a3000000000000000000000000000000000000000000000000000000422d14f9a3000000000000000000000000000000000000000000000000000000422d6d9d80000000000000000000000000000000000000000000000000000000422d6d9d80000000000000000000000000000000000000000000000000000000422d6d9d80000000000000000000000000000000000000000000000000000000422d6d9d80000000000000000000000000000000000000000000000000000000422de1237d000000000000000000000000000000000000000000000000000000422e771288000000000000000000000000000000000000000000000000000000422e9eca80000000000000000000000000000000000000000000000000000000000000000b67a2dc72e4c8d7196705abb456f224dd296d2a9d868bd4fda70e18cbc4e8b5487525aa29f31dacf340036494839899bfda310205040c4d7e20aad0a5a573a8c23ae23402aed8e15fa772ebaf6a6e0fb072f05d434d269329a16329aa6d668b3d1fc97a9037bdfdf4b00c580a0de40c54c8e1128755a8b4a88d744f23fddedfc0edd15115c27f847fb5ae5e699c27d458843f3a8bca4ba13d0654b148cec3813b067f2e11d8687b0162592420a934c14e8a1255c6c797285b2f45188f2d755d2d84abdf22b163ecf6eecf81a01fa0fcfc38f9d0b3aa5b1bf7be24d5e0d734de85eff654bc8e3391df0a60b5e45a44eabbf95b34a910da423d033fca0a48212a15f93b62f37a427e71f3d72ed113295d7f5870f69b8aa16282c499e0a5af0e1debec5d28f62c64a95892500e3b088d64cf723206a9a2c86476dca554f01a4bc9dca35321dadd33f1d20752c95a0eda31e7664fb1e5598b47e67bd6467b3d87cdf0000000000000000000000000000000000000000000000000000000000000000b696c4bfce7af64fe7bbbbbf2e92d227affc263b0f501ac834ebb162b6da2ee331353a590ca4b00d3088b6e08ca4a70178caeea5756aa665871afa65855e2032c7c1b63351d6c92b03e5d2b93232d65ccbf38edbc29e08eabdd4c59c28337d8812e0363e8a8bd57c2e37fb1f56735fb5b879cd14bdf1a10b6f09917225d3898417880491c294fb1bb2ccd0b7bd809842c8ad32fe6029047b541144bb6a7fb66001beb4e17c80e6799960d46e773cf08bb7b6659b94b63273a1ee422ad64d2461036a7cb06cf0a1a11e606dd18b70c7c84ac1a2be32f267a44f280c109cf598842710731db33e37de8463d5b2da5f39fbc1c5b6014f6fea729dfc0fd669f56135541012be564ba49acb016ea531cb0b8d2668332219e64437e0762d1944547c57d6649dab0cfcd7af5592cd0b26d583237d530f39c7371bf0d2ae2ae451aba955660eb4979c5c1304a6c7930ae5f144c8ca9a3a54141118c4a9bca8c663e68d82dc001a04a71eaac1dc15e0fab2f09cd6276e2add61d33f10fd69769de907494548a2997a03e945b557972a81ad8d488ef3ee066f3fccfe4a51d3ae9c58bfa08edabca1bf9", - "new_txn_trie_node_byte": "0x02f90875018301c92a841dcd6500850bfbe44269830b4aa094e62b71cf983019bff55bc83b48601ce8419650cc80b90804c980753900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000068001010001000001000101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000460000000000000000000000047ddec946856fa8055ac2202f633de33000169a40319131e010c120e0b1718161b1d020307111c0806000f151a0a1005040d0914000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001f00000000000000000000000000000000000000000000000000000042238023540000000000000000000000000000000000000000000000000000004224e60dcc00000000000000000000000000000000000000000000000000000042258f74800000000000000000000000000000000000000000000000000000004226a9852a00000000000000000000000000000000000000000000000000000042282e9911000000000000000000000000000000000000000000000000000000422a72ad00000000000000000000000000000000000000000000000000000000422a72ad00000000000000000000000000000000000000000000000000000000422a72ad00000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b14b3df000000000000000000000000000000000000000000000000000000422b1787fa000000000000000000000000000000000000000000000000000000422b7000ba000000000000000000000000000000000000000000000000000000422baa1c0b000000000000000000000000000000000000000000000000000000422baa1c0b000000000000000000000000000000000000000000000000000000422bfa3760000000000000000000000000000000000000000000000000000000422bfa3760000000000000000000000000000000000000000000000000000000422bfa3760000000000000000000000000000000000000000000000000000000422d14f9a3000000000000000000000000000000000000000000000000000000422d14f9a3000000000000000000000000000000000000000000000000000000422d14f9a3000000000000000000000000000000000000000000000000000000422d6d9d80000000000000000000000000000000000000000000000000000000422d6d9d80000000000000000000000000000000000000000000000000000000422d6d9d80000000000000000000000000000000000000000000000000000000422d6d9d80000000000000000000000000000000000000000000000000000000422de1237d000000000000000000000000000000000000000000000000000000422e771288000000000000000000000000000000000000000000000000000000422e9eca80000000000000000000000000000000000000000000000000000000000000000b67a2dc72e4c8d7196705abb456f224dd296d2a9d868bd4fda70e18cbc4e8b5487525aa29f31dacf340036494839899bfda310205040c4d7e20aad0a5a573a8c23ae23402aed8e15fa772ebaf6a6e0fb072f05d434d269329a16329aa6d668b3d1fc97a9037bdfdf4b00c580a0de40c54c8e1128755a8b4a88d744f23fddedfc0edd15115c27f847fb5ae5e699c27d458843f3a8bca4ba13d0654b148cec3813b067f2e11d8687b0162592420a934c14e8a1255c6c797285b2f45188f2d755d2d84abdf22b163ecf6eecf81a01fa0fcfc38f9d0b3aa5b1bf7be24d5e0d734de85eff654bc8e3391df0a60b5e45a44eabbf95b34a910da423d033fca0a48212a15f93b62f37a427e71f3d72ed113295d7f5870f69b8aa16282c499e0a5af0e1debec5d28f62c64a95892500e3b088d64cf723206a9a2c86476dca554f01a4bc9dca35321dadd33f1d20752c95a0eda31e7664fb1e5598b47e67bd6467b3d87cdf0000000000000000000000000000000000000000000000000000000000000000b696c4bfce7af64fe7bbbbbf2e92d227affc263b0f501ac834ebb162b6da2ee331353a590ca4b00d3088b6e08ca4a70178caeea5756aa665871afa65855e2032c7c1b63351d6c92b03e5d2b93232d65ccbf38edbc29e08eabdd4c59c28337d8812e0363e8a8bd57c2e37fb1f56735fb5b879cd14bdf1a10b6f09917225d3898417880491c294fb1bb2ccd0b7bd809842c8ad32fe6029047b541144bb6a7fb66001beb4e17c80e6799960d46e773cf08bb7b6659b94b63273a1ee422ad64d2461036a7cb06cf0a1a11e606dd18b70c7c84ac1a2be32f267a44f280c109cf598842710731db33e37de8463d5b2da5f39fbc1c5b6014f6fea729dfc0fd669f56135541012be564ba49acb016ea531cb0b8d2668332219e64437e0762d1944547c57d6649dab0cfcd7af5592cd0b26d583237d530f39c7371bf0d2ae2ae451aba955660eb4979c5c1304a6c7930ae5f144c8ca9a3a54141118c4a9bca8c663e68d82dc001a04a71eaac1dc15e0fab2f09cd6276e2add61d33f10fd69769de907494548a2997a03e945b557972a81ad8d488ef3ee066f3fccfe4a51d3ae9c58bfa08edabca1bf9", - "new_receipt_trie_node_byte": "0xb9010d02f9010980833e9dcbb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 44654 + "byte_code": "0x02f8710106830ded21850173a4943c82520894c72566357ca53178925881522911063ea14e688b8758d15e1762800080c080a0df5a3d25ca23e030755c940f3227640b629be13c6da9b8f7b49c7b65122ae50ca00f757c9b1a5c77fa24338ded7c388e849cfdca4992772580b7eb7faca88db347", + "new_txn_trie_node_byte": "0x02f8710106830ded21850173a4943c82520894c72566357ca53178925881522911063ea14e688b8758d15e1762800080c080a0df5a3d25ca23e030755c940f3227640b629be13c6da9b8f7b49c7b65122ae50ca00f757c9b1a5c77fa24338ded7c388e849cfdca4992772580b7eb7faca88db347", + "new_receipt_trie_node_byte": "0xb9010d02f90109018325e71eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x5a60cb4976af35124b340c8f6a8d4e9eee4056e62dff53ff49169fdec4e3ed72", - "0x09503e40c3d608bcfea64ce5d76377accb95cc73902688704180e7b3f22e3fbb" - ], - "storage_written": { - "0x5a60cb4976af35124b340c8f6a8d4e9eee4056e62dff53ff49169fdec4e3ed72": "0x43c33c3b391aff9b8a4", - "0x09503e40c3d608bcfea64ce5d76377accb95cc73902688704180e7b3f22e3fbb": "0xba3c0674891b26dec74" - }, - "code_usage": { - "read": "0x8b0a83a4cd51e97515c5898d296297d96c5377467369ec0ff432948c3ae995f2" - } + "0x3d2a4f5f3826e23f38fa9c377956106f2af404db": { + "balance": "0x2b292f3d2c2000f" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965ebff07e244ddd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544df8397fe97" }, - "0x20dca2f3b250c70a4b20dd3f3e7bc8a2e0a3f7b4": { - "balance": "0x15c30e0e69ae81e", + "0x37251a7f46229553253dcba628ffa37dbb9b56dd": { + "balance": "0x2147ce1957d0", "nonce": "0x2" } }, "meta": { - "byte_code": "0x02f8b0010184165e72eb850b29124d03829028947d1afa7b718fb893db30a3abc0cfc608aacfebb080b844a9059cbb000000000000000000000000187fe1a8b76c60b85c00a2819152ff00ff64238600000000000000000000000000000000000000000000010f0cf064dd59200000c080a0d6b273449174fbdba7d05f71c6f02011f50ed1f561815ed2f82a7879d412c520a06565252ab98ceb5df7943c13b3d5cd91726dda2f93c464ff473ab4c4173b6be0", - "new_txn_trie_node_byte": "0x02f8b0010184165e72eb850b29124d03829028947d1afa7b718fb893db30a3abc0cfc608aacfebb080b844a9059cbb000000000000000000000000187fe1a8b76c60b85c00a2819152ff00ff64238600000000000000000000000000000000000000000000010f0cf064dd59200000c080a0d6b273449174fbdba7d05f71c6f02011f50ed1f561815ed2f82a7879d412c520a06565252ab98ceb5df7943c13b3d5cd91726dda2f93c464ff473ab4c4173b6be0", - "new_receipt_trie_node_byte": "0xb901ab02f901a701833f2df3b901000000000000000000000000000000020000000000000020000000000010000000000000000000000000000000400000000000000000000000020000000000000000000000000000000000000c000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000f89df89b947d1afa7b718fb893db30a3abc0cfc608aacfebb0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000020dca2f3b250c70a4b20dd3f3e7bc8a2e0a3f7b4a0000000000000000000000000187fe1a8b76c60b85c00a2819152ff00ff642386a000000000000000000000000000000000000000000000010f0cf064dd59200000", - "gas_used": 36904 + "byte_code": "0x02f8720101830ded21850182487e22825208943d2a4f5f3826e23f38fa9c377956106f2af404db8802b292f3d2c2000f80c001a0189691c4c9cbd195e09e9ec114d85b892ba2f9df665a7a1b1d3b73075dd64032a048600f468cf3aea55a666a83ec886582d1188e3e00ec7cd3a30b9065e1e6913c", + "new_txn_trie_node_byte": "0x02f8720101830ded21850182487e22825208943d2a4f5f3826e23f38fa9c377956106f2af404db8802b292f3d2c2000f80c001a0189691c4c9cbd195e09e9ec114d85b892ba2f9df665a7a1b1d3b73075dd64032a048600f468cf3aea55a666a83ec886582d1188e3e00ec7cd3a30b9065e1e6913c", + "new_receipt_trie_node_byte": "0xb9010d02f901090183263926b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x8a2279d4a90b6fe1c4b30fa660cc9f926797baa2": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544e7734ee0fb" + }, + "0xa562912e1328eea987e04c2650efb5703757850c": { "storage_read": [ - "0xc9e85db782765fabc930b003e4cc178eeaaa6dbd73f825a460e2c20b4be25ec0", - "0xbaf56eddc46b5d2567dcda037eb6f8407917ad9a8a074e8192eb9ecd4e7bff1a" + "0xf71865eb8a0cd9b4eaf06531cc782fcf9ef9c48a8b09bdbd08b79932f9cacf4f", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0xe2f361caedb4b410cfa500d66d523d8a6d15f56b6c21cfe46653784e1aa25106", + "0x3f8efde70df764fc45cf2d3cbd335187d00517b992991b63467f42221c31fd1d" ], "storage_written": { - "0xbaf56eddc46b5d2567dcda037eb6f8407917ad9a8a074e8192eb9ecd4e7bff1a": "0x117684f8", - "0xc9e85db782765fabc930b003e4cc178eeaaa6dbd73f825a460e2c20b4be25ec0": "0x0" + "0x3f8efde70df764fc45cf2d3cbd335187d00517b992991b63467f42221c31fd1d": "0x58871690e27acc1254b", + "0xe2f361caedb4b410cfa500d66d523d8a6d15f56b6c21cfe46653784e1aa25106": "0x0" }, "code_usage": { - "read": "0xf19f08536e21da90c45e1e4ccf3308fbd51c1d4ac5babdeb183e3da3181780f4" + "read": "0x13dfbf6a9b627bce850a6920d12d7610aea6ee8b7df0e9cb11fbdab8f9fa9cd0" } }, - "0xc223e532ed70c675b15024d880a38bebb5dc0230": { - "balance": "0x23a317f63f80e92", - "nonce": "0x5" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965ecf739c872cfd" + "0x57e1a57b09282eb50326c015b7160b81279f29b6": { + "balance": "0x52ba3a648e3429", + "nonce": "0xd" } }, "meta": { - "byte_code": "0x02f8b001048415c8e450850b0be9e49482c90a948a2279d4a90b6fe1c4b30fa660cc9f926797baa280b844a9059cbb00000000000000000000000082b6433b30ca2f5af02bf6b51cbf1a8e29f77fc500000000000000000000000000000000000000000000000000000000117684f8c001a014a81705ee2bbad8c78cf30445ce36a215c02b9ab170eee453c5a6126fdf3359a02839a73afc73230d7f6876bc32bd8b59773bc93e6417694c6c297aae65bd55fe", - "new_txn_trie_node_byte": "0x02f8b001048415c8e450850b0be9e49482c90a948a2279d4a90b6fe1c4b30fa660cc9f926797baa280b844a9059cbb00000000000000000000000082b6433b30ca2f5af02bf6b51cbf1a8e29f77fc500000000000000000000000000000000000000000000000000000000117684f8c001a014a81705ee2bbad8c78cf30445ce36a215c02b9ab170eee453c5a6126fdf3359a02839a73afc73230d7f6876bc32bd8b59773bc93e6417694c6c297aae65bd55fe", - "new_receipt_trie_node_byte": "0xb901ab02f901a701833fe43db9010001000000000000000000000000000000000000000000000000000000000000000000000000000000000408000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000010000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000008000000000000000000000000002000000000000000002000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000f89df89b948a2279d4a90b6fe1c4b30fa660cc9f926797baa2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c223e532ed70c675b15024d880a38bebb5dc0230a000000000000000000000000082b6433b30ca2f5af02bf6b51cbf1a8e29f77fc5a000000000000000000000000000000000000000000000000000000000117684f8", - "gas_used": 46666 + "byte_code": "0x02f8af010c830ded21850182487e2282f76994a562912e1328eea987e04c2650efb5703757850c80b844a9059cbb000000000000000000000000ee59db4d3f8e74809311e8d165c9044c173f7bb80000000000000000000000000000000000000000000000d069a370fdb06e25d0c001a091528ec273160567eaaac1c892c8af16938230cb99031a2f96032d536941842da0698a3e904ba4c767ff21eb180c8a09e50afbd73b6edf4b0bb58ae366d35d6676", + "new_txn_trie_node_byte": "0x02f8af010c830ded21850182487e2282f76994a562912e1328eea987e04c2650efb5703757850c80b844a9059cbb000000000000000000000000ee59db4d3f8e74809311e8d165c9044c173f7bb80000000000000000000000000000000000000000000000d069a370fdb06e25d0c001a091528ec273160567eaaac1c892c8af16938230cb99031a2f96032d536941842da0698a3e904ba4c767ff21eb180c8a09e50afbd73b6edf4b0bb58ae366d35d6676", + "new_receipt_trie_node_byte": "0xb901ab02f901a7018326cb0ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000008000000000000000000000000000000000000000000000000000000000000040000000000000004000000000010000010000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000004000000000000000000000002000000000000100000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000020000000f89df89b94a562912e1328eea987e04c2650efb5703757850cf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000057e1a57b09282eb50326c015b7160b81279f29b6a0000000000000000000000000ee59db4d3f8e74809311e8d165c9044c173f7bb8a00000000000000000000000000000000000000000000000d069a370fdb06e25d0", + "gas_used": 37348 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965ed9abcb59c5fd" + "0x46e496937b5665fa045683e8e74b902eb10d6bea": { + "balance": "0x3f6016a1c918f161b", + "nonce": "0x13" }, - "0x578f533873dc8ea60ab1417180cc531f172ee292": { - "balance": "0x1c3cd55be177ea4c", - "nonce": "0x56c4" + "0x67ac54c5de335898fc57529388345b26e496497d": { + "balance": "0xe85e0ea8dd7c351" }, - "0x5ae2663949af4756710934cc528c0f0f7d9e5e7e": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x30a5785bb87a84e80f1dc55519bfa0ee4a8ba5408ed75dbea7f24cc44eb63d6f", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0xcc8a52935ee15e7862c8c88aaec051770273a5f563c843280551ce036595405e", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000002" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000007": "0xaf1" - }, - "code_usage": { - "read": "0xc3155d0082ab3efe91a75f7d99b0163c09ca274501ebb62b48bddd7af0e844bd" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544ebe9b2dc03" + } + }, + "meta": { + "byte_code": "0x02f8720112830ded2185016ff249a48252089467ac54c5de335898fc57529388345b26e496497d880e043da61725000080c080a056eb19f1274ded96733b69f5b4e42b23ea6642064a2b2b7fb9b0ea448111044da00d229f1ee20fc611023e79b1fb68554bcbde907ea454974dbd55e3f2baa77962", + "new_txn_trie_node_byte": "0x02f8720112830ded2185016ff249a48252089467ac54c5de335898fc57529388345b26e496497d880e043da61725000080c080a056eb19f1274ded96733b69f5b4e42b23ea6642064a2b2b7fb9b0ea448111044da00d229f1ee20fc611023e79b1fb68554bcbde907ea454974dbd55e3f2baa77962", + "new_receipt_trie_node_byte": "0xb9010d02f901090183271d12b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x67b4aaf2f38813718f830a92a2a721eb0fc02e39": { + "balance": "0x29f67bb3ee4e201", + "nonce": "0x4" }, "0xdac17f958d2ee523a2206206994597c13d831ec7": { "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xd4465cc613a58020d3d47c05aa8b61f97c6ff30b01ffa42a4f70cf5a779a9999", "0x000000000000000000000000000000000000000000000000000000000000000a", "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", - "0xa9df5c0c067855a098be977b63b77ad57a2c0c95faa173b2298ddf32de799cde", - "0x46d07bff36a8647afe99188724254e355caa0ef1b877a592705fae9183cfb2ed", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x25808f039ee57c17d00727f60fde595702221e2d1f476bb9202d77f9657e2660" + "0x633c46e8b325b37aada2d3fcb8736272741c3188ffb5579b7530ba81bbdb1e07", + "0x62816d3b94a013ebc433c8bb53f4edb779a70d75481b5c37cbe870f3f7590950" ], "storage_written": { - "0x46d07bff36a8647afe99188724254e355caa0ef1b877a592705fae9183cfb2ed": "0x530c9ec", - "0xa9df5c0c067855a098be977b63b77ad57a2c0c95faa173b2298ddf32de799cde": "0x266ca800d9" + "0x633c46e8b325b37aada2d3fcb8736272741c3188ffb5579b7530ba81bbdb1e07": "0x0", + "0x62816d3b94a013ebc433c8bb53f4edb779a70d75481b5c37cbe870f3f7590950": "0x15d70e7b48" }, "code_usage": { "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" } }, - "0x0000000000000000000000000000000000000001": {}, - "0xe5dcdc13b628c2df813db1080367e929c1507ca0": { - "code_usage": { - "read": "0x42369ef63736a4e8a1d2a615bd8b54667e469388ce0f791c1e44ce8adcf44f54" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544f853c657d8" } }, "meta": { - "byte_code": "0x02f901b4018256c38406dac2c0850e4a73b24483030be3945ae2663949af4756710934cc528c0f0f7d9e5e7e80b901440dcd7a6c000000000000000000000000d5cc7feadd92e08dd71a513dc4caf0609cbb0ada0000000000000000000000000000000000000000000000000000000004ead3c4000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000065d898530000000000000000000000000000000000000000000000000000000000000af100000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000004151105f693478dbcbc1c14a7eb8b6f69052fd37af912bc429ed35d5962ebb1e5536b537410ac84f1208af0f52322b1d2ef6917e536ff270b3d87a9450fbdd70831b00000000000000000000000000000000000000000000000000000000000000c080a0467d377ccb8057a99fd0257980af8fb4d57588f1d305a400f605275892da80fba06fb46135a08b90a47b43a6deafe514523764adce3fccf773efe0756de4fe8b42", - "new_txn_trie_node_byte": "0x02f901b4018256c38406dac2c0850e4a73b24483030be3945ae2663949af4756710934cc528c0f0f7d9e5e7e80b901440dcd7a6c000000000000000000000000d5cc7feadd92e08dd71a513dc4caf0609cbb0ada0000000000000000000000000000000000000000000000000000000004ead3c4000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000065d898530000000000000000000000000000000000000000000000000000000000000af100000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000004151105f693478dbcbc1c14a7eb8b6f69052fd37af912bc429ed35d5962ebb1e5536b537410ac84f1208af0f52322b1d2ef6917e536ff270b3d87a9450fbdd70831b00000000000000000000000000000000000000000000000000000000000000c080a0467d377ccb8057a99fd0257980af8fb4d57588f1d305a400f605275892da80fba06fb46135a08b90a47b43a6deafe514523764adce3fccf773efe0756de4fe8b42", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834161e9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000400000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000028000000000000000000080000000000000000000000000000000000000002000010000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005ae2663949af4756710934cc528c0f0f7d9e5e7ea0000000000000000000000000d5cc7feadd92e08dd71a513dc4caf0609cbb0adaa00000000000000000000000000000000000000000000000000000000004ead3c4", - "gas_used": 97708 + "byte_code": "0x02f8b00103830ded21850182487e228301741c94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000070d08a1e2ad7966b7a8492ac3497ccb2cf2591b500000000000000000000000000000000000000000000000000000015d70e7b48c001a04471bd87322042542b60aed408b53ba0b54ebc054b57eba8f93a4b0c127191e6a02f8bbdfbb3e1168de692e883a0c58bda82a197603c7df73ea25a089b0eb4749c", + "new_txn_trie_node_byte": "0x02f8b00103830ded21850182487e228301741c94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000070d08a1e2ad7966b7a8492ac3497ccb2cf2591b500000000000000000000000000000000000000000000000000000015d70e7b48c001a04471bd87322042542b60aed408b53ba0b54ebc054b57eba8f93a4b0c127191e6a02f8bbdfbb3e1168de692e883a0c58bda82a197603c7df73ea25a089b0eb4749c", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183280147b9010000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000002000000100000000000000010000000000000000000000004000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000008000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000067b4aaf2f38813718f830a92a2a721eb0fc02e39a000000000000000000000000070d08a1e2ad7966b7a8492ac3497ccb2cf2591b5a000000000000000000000000000000000000000000000000000000015d70e7b48", + "gas_used": 58421 } }, { "traces": { - "0x8707f238936c12c309bfc2b9959c35828acfc512": { - "storage_read": [ - "0x700c3d2b154e4c372d6716acc7a37f3f165fa230fa13905176c693da0747390a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x700c3d2b154e4c372d6716acc7a37f3f165fa230fa13905176c693da0747390b", - "0x3d6b2d44a07475bc7328a3a5b8a9263ed8ca6ac79ffd759e818153120ceb2e29", - "0x0000000000000000000000000000000000000000000000000000000000000002" - ], - "storage_written": { - "0x700c3d2b154e4c372d6716acc7a37f3f165fa230fa13905176c693da0747390b": "0x1baf800000000002b5e3af16b1880000000005e320cf33f564f8c2e84a", - "0x3d6b2d44a07475bc7328a3a5b8a9263ed8ca6ac79ffd759e818153120ceb2e29": "0x144cf851ba3f30c2a12", - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x1" - }, - "code_usage": { - "read": "0xee92b9460c4d40c0d93565a0b937a753d6fdc82303a5c88938f0b0e0e175de91" - } + "0x87923410adff931815eb2a67c0d65aa709d000a9": { + "balance": "0x10240200778d8bf", + "nonce": "0x50" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700544fcca2a52e0" }, - "0x2b7d6192add6ac2ab542b7d1349585b2bfb0caaa": { - "balance": "0x28fd503d88a4ac4", - "nonce": "0x45" + "0x763ac14e7041676f3e2bbf98d110a5e59aed8a61": { + "balance": "0x9b4f423b5acd100" + } + }, + "meta": { + "byte_code": "0x02f872014f830ded21850182487e2282520894763ac14e7041676f3e2bbf98d110a5e59aed8a61880928ca80cfc2000080c080a0a11695027eaa87fa737d4b919104497c533b5ebe21a5caee0d05fb36efbe970ca0389aca38e5cc61988474590a1ea0c6b44f5ccc3bc553752125f72a703e7a2a20", + "new_txn_trie_node_byte": "0x02f872014f830ded21850182487e2282520894763ac14e7041676f3e2bbf98d110a5e59aed8a61880928ca80cfc2000080c080a0a11695027eaa87fa737d4b919104497c533b5ebe21a5caee0d05fb36efbe970ca0389aca38e5cc61988474590a1ea0c6b44f5ccc3bc553752125f72a703e7a2a20", + "new_receipt_trie_node_byte": "0xb9010d02f90109018328534fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xa0b23795e683865fa25ba292f65f533a02e5198d": { + "balance": "0x5487c51d2aab69", + "nonce": "0x3" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965ee10d0aef82fd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70054501408e4de8" }, - "0xf55b0f6f2da5ffddb104b58a60f2862745960442": { - "storage_read": [ - "0x4b068ca2c7d38553e6293c883fbe674600af066c17fa2330d8692a7627092bd4", - "0x014af72491574063bde430eca8f630bb9244c429736c8c24c62e9e56e8a11adb", - "0x7eee441e865b117e80239f9e9696d95faf7b88d4c562b14031b7686e98158719" - ], - "storage_written": { - "0x014af72491574063bde430eca8f630bb9244c429736c8c24c62e9e56e8a11adb": "0x5e3238517a47baa4ae84a", - "0x4b068ca2c7d38553e6293c883fbe674600af066c17fa2330d8692a7627092bd4": "0x0" - }, - "code_usage": { - "read": "0x1ae216d13259d3e2088f002c586ba617e8335d5618a35c3111fb762606a41e7b" - } + "0x7550dd93d7682ddd4518bccc6fc2af6c60385af3": { + "balance": "0x3691d6afc000" } }, "meta": { - "byte_code": "0x02f8b1014484068e778085098d941d808301672d948707f238936c12c309bfc2b9959c35828acfc51280b844b3dd411d000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442000000000000000000000000000000000000000000000144cf851ba3f30c2a12c080a031616aec6b7bd2cc361421c92b127339930701d51b0f91ac6531e788eadbaf70a0311c679eafd926a69f32bd853fd4731d8c56b996e938a9c94d020bdcf22e0de6", - "new_txn_trie_node_byte": "0x02f8b1014484068e778085098d941d808301672d948707f238936c12c309bfc2b9959c35828acfc51280b844b3dd411d000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442000000000000000000000000000000000000000000000144cf851ba3f30c2a12c080a031616aec6b7bd2cc361421c92b127339930701d51b0f91ac6531e788eadbaf70a0311c679eafd926a69f32bd853fd4731d8c56b996e938a9c94d020bdcf22e0de6", - "new_receipt_trie_node_byte": "0xb9024902f90245018342820fb9010000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000100000004000000000000008000040000200000000000000000000000000800000000001000000000000000000000000000000000000000000000010000000000800000000000000000000002000000001000000000000000000000000000000000200000000000000000000000000000000000050000000000000000080000000000002000000000000000400000100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f9013af89b94f55b0f6f2da5ffddb104b58a60f2862745960442f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002b7d6192add6ac2ab542b7d1349585b2bfb0caaaa00000000000000000000000008707f238936c12c309bfc2b9959c35828acfc512a0000000000000000000000000000000000000000000000144cf851ba3f30c2a12f89b948707f238936c12c309bfc2b9959c35828acfc512f863a099039fcf0a98f484616c5196ee8b2ecfa971babf0b519848289ea4db381f85f7a00000000000000000000000002b7d6192add6ac2ab542b7d1349585b2bfb0caaaa0000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442a0000000000000000000000000000000000000000000000144cf851ba3f30c2a12", - "gas_used": 73766 + "byte_code": "0x02f8700102830ded21850182487e22825208947550dd93d7682ddd4518bccc6fc2af6c60385af3863691d6afc00080c001a0e77ed9b8d3c26f434f64b2a1c556b5261bf244eb2db8a74f32cce20358265b2da078820b07568e8a6ddb757d016c9ab726612c20747a15d6ad0f738f7a3a4394e9", + "new_txn_trie_node_byte": "0x02f8700102830ded21850182487e22825208947550dd93d7682ddd4518bccc6fc2af6c60385af3863691d6afc00080c001a0e77ed9b8d3c26f434f64b2a1c556b5261bf244eb2db8a74f32cce20358265b2da078820b07568e8a6ddb757d016c9ab726612c20747a15d6ad0f738f7a3a4394e9", + "new_receipt_trie_node_byte": "0xb9010d02f90109018328a557b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965ef2292b50bffd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700545078fe567a6" }, - "0x1066cecc8880948fe55e427e94f1ff221d626591": { - "code_usage": { - "read": "0x1470cf03fa245a37933022951ff43a2e5f33f914bbcef091f8b8db92fc23edb5" - } + "0x1e897365c35ed11a89071887e99778a09113e751": { + "balance": "0x4a190188a7f18", + "nonce": "0x4" }, - "0xbbce8aa77782f13d4202a230d978f361b011db27": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { "storage_read": [ - "0xcf066eeaabe656f4803cbf826325edd6539224bba87dc551c2e47732a997cfc7", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x9ce147ce3fe91cdf87c0f46423861d6749f2805807dcdd0d1dae7bb8b127c8ef", + "0x9a56d41704216227f92611d4440df186af45996cc716c8d26a6a112b105b5331" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000007": "0x1" + "0x9a56d41704216227f92611d4440df186af45996cc716c8d26a6a112b105b5331": "0x0", + "0x9ce147ce3fe91cdf87c0f46423861d6749f2805807dcdd0d1dae7bb8b127c8ef": "0x5dbc5fdfd493e745e91" }, "code_usage": { - "read": "0x9bf9f69edb06af79f6871dcd5b3c205dd358be1783b5f05c1ca163ae09a78880" - } - }, - "0x5aed5f8a1e3607476f1f81c3d8fe126deb0afe94": { - "code_usage": { - "read": "0x3aefeaef4785b95859e40dac3058e07b676f5ec099fa2a96923519fd62546b39" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } + } + }, + "meta": { + "byte_code": "0x02f8af0103830ded21850182487e228286bf94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc280b844a9059cbb0000000000000000000000008eb8a3b98659cce290402893d0123abb75e3ab28000000000000000000000000000000000000000000000000000c6f3b40b6c000c001a094a2162295c1b6e7166c0f5a546a8d066bf85115015521c3df3dfa0438bace71a03881b227d1eb84e7e1cc1dcfea363ca2d572a5ccf1573bf318994ad5ea7a7bde", + "new_txn_trie_node_byte": "0x02f8af0103830ded21850182487e228286bf94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc280b844a9059cbb0000000000000000000000008eb8a3b98659cce290402893d0123abb75e3ab28000000000000000000000000000000000000000000000000000c6f3b40b6c000c001a094a2162295c1b6e7166c0f5a546a8d066bf85115015521c3df3dfa0438bace71a03881b227d1eb84e7e1cc1dcfea363ca2d572a5ccf1573bf318994ad5ea7a7bde", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183291955b9010000000000000000000000000000000000000000000000002000000000000000000000002000000000000000000000000002000000080000000002000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000800000000000000000000000000000000000000000000000200000000000000002000000004000000000000000000000000000000000f89df89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001e897365c35ed11a89071887e99778a09113e751a00000000000000000000000008eb8a3b98659cce290402893d0123abb75e3ab28a0000000000000000000000000000000000000000000000000000c6f3b40b6c000", + "gas_used": 29694 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7005450c064962ae" }, - "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f": { - "storage_read": [ - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000033", - "0x0000000000000000000000000000000000000000000000000000000000000066", - "0x0000000000000000000000000000000000000000000000000000000000000065" - ], - "code_usage": { - "read": "0x685718cbe6f1ee62236ffbab640612cebc70c6cc69a54aacb83d0790d42e247a" - } + "0xa18bb628e5dc336e37125ff9312c9bb9de7ed32f": { + "balance": "0x71ce0e6bbc88a" }, - "0xb50721bcf8d664c30412cfbc6cf7a15145234ad1": { - "storage_read": [ - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x00000000000000000000000000000000000000000000000000000000000000cc", - "0xb4848ca98f57f12b62426d787de9d8e9c3a6793912856be4a5c513654f09765c", - "0x0000000000000000000000000000000000000000000000000000000000000035", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" - ], - "storage_written": { - "0xb4848ca98f57f12b62426d787de9d8e9c3a6793912856be4a5c513654f09765c": "0x0", - "0x0000000000000000000000000000000000000000000000000000000000000035": "0x1efda8b57bc2f6fef4355c" - }, - "code_usage": { - "read": "0x9bf9f69edb06af79f6871dcd5b3c205dd358be1783b5f05c1ca163ae09a78880" - } + "0x5c96b5b184fcf2687f3418d16096e2a8ed98171c": { + "balance": "0x2147ce1957d0", + "nonce": "0x2" + } + }, + "meta": { + "byte_code": "0x02f8710101830ded21850182487e2282520894a18bb628e5dc336e37125ff9312c9bb9de7ed32f870452423dac7b8e80c001a0fa1248a5ec141ef84e4acfeadb53f90bd91d91f68c5e265d1d66b0e27138dc5ba04bd7d6c7a296b751d81e523b9315de6c2d81369c794a3811c6ac85b5c72d8e5a", + "new_txn_trie_node_byte": "0x02f8710101830ded21850182487e2282520894a18bb628e5dc336e37125ff9312c9bb9de7ed32f870452423dac7b8e80c001a0fa1248a5ec141ef84e4acfeadb53f90bd91d91f68c5e265d1d66b0e27138dc5ba04bd7d6c7a296b751d81e523b9315de6c2d81369c794a3811c6ac85b5c72d8e5a", + "new_receipt_trie_node_byte": "0xb9010d02f901090183296b5db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x84fc056afd56bbccd013a20bdcf99296289a3b30": { + "balance": "0x288e73cce114", + "nonce": "0x3" }, - "0x4e8c24617c4592895d52ac6df29d9647e9d01bb5": { - "code_usage": { - "read": "0x8eeb902dbb04a268810246090687f652f28b9965590a32247003e3a570b68ced" - } + "0x92067e402a14fbc3b4a146e666cbf11ca6b53fe4": { + "balance": "0x75ed93357c2e8" }, - "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a": { - "balance": "0x13ca152b2db1035ba59ee", - "storage_read": [ - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x584291d70ad4dde9dd8406c3f9db0464c54b9f80d25403cf7e0305c918871ae9", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f3791484e", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000006": "0x153b11", - "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f3791484f": "0x2c1b194cd6861b70a6871eb4c6decec2534af22be010a81c2ae31191a6d12b33" - }, - "code_usage": { - "read": "0x8736329b580cfc0c0c39ee6700515e0bc51652afb614640db9e34a5d784933e8" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700545107cad5db6" + } + }, + "meta": { + "byte_code": "0x02f8710102830ded21850182487e228252089492067e402a14fbc3b4a146e666cbf11ca6b53fe48701c6bf5263400080c001a06026e6e407ea270731a7f6433a56a455a0fc7af933162533629f5b9edc8fa802a055f5c231bbe7b3bd5670c69995a62da800a65da1649cb6d07ac8e945110e9dfb", + "new_txn_trie_node_byte": "0x02f8710102830ded21850182487e228252089492067e402a14fbc3b4a146e666cbf11ca6b53fe48701c6bf5263400080c001a06026e6e407ea270731a7f6433a56a455a0fc7af933162533629f5b9edc8fa802a055f5c231bbe7b3bd5670c69995a62da800a65da1649cb6d07ac8e945110e9dfb", + "new_receipt_trie_node_byte": "0xb9010d02f90109018329bd65b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70054514f31158be" }, - "0xad0c361ef902a7d9851ca7dcc85535da2d3c6fc7": { - "code_usage": { - "read": "0x34635b0f0c4329ddb769c98c48c63ad8c0e6843078eeac03a4b1cf442cfe3ce8" - } + "0xc25cfbe453d77485086cc6fc3d3c63c60f7f0921": { + "balance": "0x19945ca2620000" }, - "0x52595021fa01b3e14ec6c88953afc8e35dff423c": { - "code_usage": { - "read": "0x2256af07f7742c561c42617215731b39e67d387ba57daa0b72458bbe562e12fa" - } + "0xfc80830453ad2a2653e5dee6eb7b00d22e2c43da": { + "balance": "0x9ba302ed03f0", + "nonce": "0x7" + } + }, + "meta": { + "byte_code": "0x02f8710106830ded21850182487e2282520894c25cfbe453d77485086cc6fc3d3c63c60f7f09218719945ca262000080c001a065d347987502145d7bab20d7ff0f6ae811b375acc8b916cfad9d7cf0cda6473ba0285148449a65209ddfcfa4b5589c01f64ee64e1bb9209bcd6f7ebffab0d9f64e", + "new_txn_trie_node_byte": "0x02f8710106830ded21850182487e2282520894c25cfbe453d77485086cc6fc3d3c63c60f7f09218719945ca262000080c001a065d347987502145d7bab20d7ff0f6ae811b375acc8b916cfad9d7cf0cda6473ba0285148449a65209ddfcfa4b5589c01f64ee64e1bb9209bcd6f7ebffab0d9f64e", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832a0f6db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70054519697553c6" }, - "0x72ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef": { - "storage_read": [ - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0xf351fe7c20333834e43bb71c577f11bdd21026e3535080f9d3771a18524b709f" - ], - "code_usage": { - "read": "0x685718cbe6f1ee62236ffbab640612cebc70c6cc69a54aacb83d0790d42e247a" - } + "0x52f845fe4cdb771c12c5198a5996b2c77a8a62b0": { + "balance": "0x36d5bf7b00d2ec8", + "nonce": "0x3" }, - "0xb15637ee490ec291aa1115f1ecee785384a25cbc": { - "balance": "0xa27c98462542be8", - "nonce": "0x6a" + "0xb667383ffd47b5ce16283d9d7ba2a05ee977bef5": { + "balance": "0x58d15e17628000" } }, "meta": { - "byte_code": "0x02f901b901698405f5e10085089d5f32008304ad239472ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef8701c680bd78f880b90144d2ce7d65000000000000000000000000b50721bcf8d664c30412cfbc6cf7a15145234ad1000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbc0000000000000000000000000000000000000000000007d2714602b5b621136500000000000000000000000000000000000000000000000000000000000493e00000000000000000000000000000000000000000000000000000000011e1a30000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000174a5fb71588000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000c001a0f7f1619f0e04165b2064c5dc2d2f5fb0e155777c47ad70af988e80627d10b84ea04d3a37cbda6d47650e2b4103090163a1cabf1449afd3750178369c0c23f5b0a2", - "new_txn_trie_node_byte": "0x02f901b901698405f5e10085089d5f32008304ad239472ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef8701c680bd78f880b90144d2ce7d65000000000000000000000000b50721bcf8d664c30412cfbc6cf7a15145234ad1000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbc0000000000000000000000000000000000000000000007d2714602b5b621136500000000000000000000000000000000000000000000000000000000000493e00000000000000000000000000000000000000000000000000000000011e1a30000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000174a5fb71588000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000c001a0f7f1619f0e04165b2064c5dc2d2f5fb0e155777c47ad70af988e80627d10b84ea04d3a37cbda6d47650e2b4103090163a1cabf1449afd3750178369c0c23f5b0a2", - "new_receipt_trie_node_byte": "0xb909e802f909e401834560ecb9010000000000000000000000000000040004000000000000020000010000400000000000000000000000002000000808000000000002120000000100000000000800000000000400800000000208000008000100000000020000088000040000002000200000020000000000020000000800000000000000800000000010080000000000020000002100000000000000000000000000000000000800804000000000100000020000000000000000000000000040000000020000000000000000000000000002000000000000000000000000000000000000004000001000080020000000000008000000040000000080000000000000000000000000000200004000f908d9f8bc9472ce9c846789fdb6fc1f34ac4ad25dd9ef7031eff884a085291dff2161a93c2f12c819d31889c96c63042116f5bc5a205aa701c2c429f5a0000000000000000000000000b50721bcf8d664c30412cfbc6cf7a15145234ad1a0000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbca0000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbca0000000000000000000000000bbce8aa77782f13d4202a230d978f361b011db27f89b94b50721bcf8d664c30412cfbc6cf7a15145234ad1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbca00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000007d2714602b5b6211365f9013c948315177ab297ba92a06054ce80a67ed4dbd7ed3af863a05e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1a00000000000000000000000000000000000000000000000000000000000153b10a0110474f0e33ee5dce299e12b36608046699c155299ceda2761602dc7fc1840f9b8c00000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f0000000000000000000000000000000000000000000000000000000000000009000000000000000000000000ccdf8aa77782f13d4202a230d978f361b011ec3867052dc27b447734d99131643aa0cf84696c8b83b8f353cabe6160d98bb64334000000000000000000000000000000000000000000000000000000071ec5cf550000000000000000000000000000000000000000000000000000000065cf5de7f9031c944dbd4fc535ac27206064b68ffcf827b0a60bab3ff842a0ff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60ba00000000000000000000000000000000000000000000000000000000000153b10b902c000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000264000000000000000000000000cad7828a19b363a2b44717afb1786b5196974d8e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c680bd78f880000000000000000000000000000000000000000000000000000174a5fb715880000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbc000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbc00000000000000000000000000000000000000000000000000000000000493e00000000000000000000000000000000000000000000000000000000011e1a30000000000000000000000000000000000000000000000000000000000000001442e567b36000000000000000000000000b50721bcf8d664c30412cfbc6cf7a15145234ad1000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbc000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbc0000000000000000000000000000000000000000000007d2714602b5b621136500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f9023e94bbce8aa77782f13d4202a230d978f361b011db27f884a0c1d1490cf25c3b40d600dfb27c7680340ed1ab901b7e8f3551280968a3b372b0a0000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbca0000000000000000000000000cad7828a19b363a2b44717afb1786b5196974d8ea00000000000000000000000000000000000000000000000000000000000153b10b901a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001442e567b36000000000000000000000000b50721bcf8d664c30412cfbc6cf7a15145234ad1000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbc000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbc0000000000000000000000000000000000000000000007d2714602b5b621136500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f8dd94bbce8aa77782f13d4202a230d978f361b011db27f884a0b8910b9960c443aac3240b98585384e3a6f109fbf6969e264c3f183d69aba7e1a0000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbca0000000000000000000000000b15637ee490ec291aa1115f1ecee785384a25cbca00000000000000000000000000000000000000000000000000000000000153b10b840000000000000000000000000b50721bcf8d664c30412cfbc6cf7a15145234ad10000000000000000000000000000000000000000000007d2714602b5b6211365", - "gas_used": 188125 + "byte_code": "0x02f8710102830ded21850182487e2282520894b667383ffd47b5ce16283d9d7ba2a05ee977bef58758d15e1762800080c001a0a111d59652c6fe6f5c71831ced4485500d87232774043af3e84d2ade086be81ba004cae4b1f9960bbbc50abdb88def2daf52b728cbd00130817aac0bda841590d4", + "new_txn_trie_node_byte": "0x02f8710102830ded21850182487e2282520894b667383ffd47b5ce16283d9d7ba2a05ee977bef58758d15e1762800080c001a0a111d59652c6fe6f5c71831ced4485500d87232774043af3e84d2ade086be81ba004cae4b1f9960bbbc50abdb88def2daf52b728cbd00130817aac0bda841590d4", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832a6175b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0xca13f3b368cdf5b96a2af31f9ee5d0c9a94cc47a": { - "balance": "0x1adc8210ccb3a3", - "nonce": "0x39" + "0x7550dd93d7682ddd4518bccc6fc2af6c60385af3": { + "balance": "0x763bfbd22000" }, - "0xf55b0f6f2da5ffddb104b58a60f2862745960442": { - "storage_written": { - "0x9ba1e783035a3976676517ca56c0ba4e51508036fcc8372119d529fa9504ef37": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - "code_usage": { - "read": "0x1ae216d13259d3e2088f002c586ba617e8335d5618a35c3111fb762606a41e7b" - } + "0xa0b23795e683865fa25ba292f65f533a02e5198d": { + "balance": "0x53ed9b7b76ce29", + "nonce": "0x4" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965ef65e9dc503fd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7005451ddfd94ece" } }, "meta": { - "byte_code": "0x02f8b101388405f5e1008507735940008301116594f55b0f6f2da5ffddb104b58a60f286274596044280b844095ea7b30000000000000000000000008707f238936c12c309bfc2b9959c35828acfc512ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a057be9a8a17e25be75125b7c61fda069e9a82b2f56d68eb322dfd7d88d7e2854da0201b59efba138b901debaa2f0492c2ada603cbe4ae7f2eba07d190b647ae1b6d", - "new_txn_trie_node_byte": "0x02f8b101388405f5e1008507735940008301116594f55b0f6f2da5ffddb104b58a60f286274596044280b844095ea7b30000000000000000000000008707f238936c12c309bfc2b9959c35828acfc512ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a057be9a8a17e25be75125b7c61fda069e9a82b2f56d68eb322dfd7d88d7e2854da0201b59efba138b901debaa2f0492c2ada603cbe4ae7f2eba07d190b647ae1b6d", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834615b0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000002000000000000008000000000000000000000000020200000000000000000000000000000000000040000000000000000000000000000000000000000000000400000000000000100001000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94f55b0f6f2da5ffddb104b58a60f2862745960442f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000ca13f3b368cdf5b96a2af31f9ee5d0c9a94cc47aa00000000000000000000000008707f238936c12c309bfc2b9959c35828acfc512a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "gas_used": 46276 + "byte_code": "0x02f8700103830ded2185016d73dabf825208947550dd93d7682ddd4518bccc6fc2af6c60385af3863faa2522600080c080a0f3ac3fd3a1ce1a437c5cfe2e61efa961b9b27217b8ce732842f0f14c237ada78a00385d846573a05e7657650b3544d331c3698b2c327b8a91e8e295ac5fca2ebf4", + "new_txn_trie_node_byte": "0x02f8700103830ded2185016d73dabf825208947550dd93d7682ddd4518bccc6fc2af6c60385af3863faa2522600080c080a0f3ac3fd3a1ce1a437c5cfe2e61efa961b9b27217b8ce732842f0f14c237ada78a00385d846573a05e7657650b3544d331c3698b2c327b8a91e8e295ac5fca2ebf4", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832ab37db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x6982508145454ce325ddbe47a25d4ec3d2311933": { - "storage_read": [ - "0x29fecf21a853a1736c3b43d9e0e1b0bc6339316fb4359bca84f6eb008faea575", - "0xd3ebf4e4c87ad72c114d5b15f154176aedfd4f7590e54026ab4927d476ce8dc8", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0xfb708492cc2759e6d9f1beee76434c41efd8189458642daeca47c40745a3dfbd", - "0x48e6bf4802d59ec9e3b28763a1d91156d21ec2fef9cef306f52b5316991d4c81" - ], - "storage_written": { - "0x48e6bf4802d59ec9e3b28763a1d91156d21ec2fef9cef306f52b5316991d4c81": "0x46cad4fc7c5bc0d913a7927", - "0xfb708492cc2759e6d9f1beee76434c41efd8189458642daeca47c40745a3dfbd": "0x0" - }, - "code_usage": { - "read": "0x4bcc3abefd723de3cac53e7c37894ae0cad2f6065e92c8901b0a086ae3386ab6" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70054522563d49d6" }, - "0x895f6b252d1f02d0a70aae23f4269de4d6d49589": { - "balance": "0x75da2bcbe818c5", - "nonce": "0x3" + "0x1b76268f4f5740baa6342f718abae5e64db25c7c": { + "balance": "0x3ff0dbfdb05d", + "nonce": "0x5" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965ef9e14bc709fd" + "0xe97458ed0911ce6f154d36319f045b49d24ae954": { + "balance": "0x2e32ffb4562b8" } }, "meta": { - "byte_code": "0x02f8b001028405f5e10085089d5f320082fed0946982508145454ce325ddbe47a25d4ec3d231193380b844a9059cbb000000000000000000000000b2cc26fa2918d474fdc87c0fe6dbe2b2f69efb570000000000000000000000000000000000000000023300bef3d0de86fac27927c080a07866991fe6e4a51ecab15df468d834f9b62a107bcd1e577c80e34432655e34d4a03a1232fd06f0ea33a57ce3eeea63bc210a088efea837425cfa1078bea2e330fd", - "new_txn_trie_node_byte": "0x02f8b001028405f5e10085089d5f320082fed0946982508145454ce325ddbe47a25d4ec3d231193380b844a9059cbb000000000000000000000000b2cc26fa2918d474fdc87c0fe6dbe2b2f69efb570000000000000000000000000000000000000000023300bef3d0de86fac27927c080a07866991fe6e4a51ecab15df468d834f9b62a107bcd1e577c80e34432655e34d4a03a1232fd06f0ea33a57ce3eeea63bc210a088efea837425cfa1078bea2e330fd", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018346ac76b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000040000400000000000000080000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000010000000000000000000000000000002000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000010000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000f89df89b946982508145454ce325ddbe47a25d4ec3d2311933f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000895f6b252d1f02d0a70aae23f4269de4d6d49589a0000000000000000000000000b2cc26fa2918d474fdc87c0fe6dbe2b2f69efb57a00000000000000000000000000000000000000000023300bef3d0de86fac27927", - "gas_used": 38598 + "byte_code": "0x02f8710104830ded21850182487e2282520894e97458ed0911ce6f154d36319f045b49d24ae9548701bda703f0a00080c080a0ac406fb7c821685ce20dca9ac5b37be022ede2f59eab1b2d885635583b98a569a069aa68503e7673954874b9302b78142b682010ae19f2bb726a6416ee9ee05cd5", + "new_txn_trie_node_byte": "0x02f8710104830ded21850182487e2282520894e97458ed0911ce6f154d36319f045b49d24ae9548701bda703f0a00080c080a0ac406fb7c821685ce20dca9ac5b37be022ede2f59eab1b2d885635583b98a569a069aa68503e7673954874b9302b78142b682010ae19f2bb726a6416ee9ee05cd5", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832b0585b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965efda3189ac6fd" + "0x1340651ce500862a8010523ef40f86df73eaff19": { + "balance": "0x1a9b0b1e86b8", + "nonce": "0x82" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0xc086766167abfec9418de0d6ef7b892844b0163f1bd74069569bdfdb219a3b1d", - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xbc83cedc00b0f829788d8e0b039248b49700edcd5a43ac573b171d021e70f87d" - ], - "storage_written": { - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f": "0x1897463e4fdb6", - "0xc086766167abfec9418de0d6ef7b892844b0163f1bd74069569bdfdb219a3b1d": "0x0" - }, - "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70054526cca144de" }, - "0x8592895aae22d5b47f4db5e5477ea47958953aa0": { - "balance": "0x15db7e50830001", - "nonce": "0x1" + "0x672ef4c702c0fcd0253e1d2567132edf3f14d011": { + "balance": "0x15d9b6d967116dc" } }, "meta": { - "byte_code": "0x02f8b001808405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d0000000000000000000000000000000000000000000000000000000009656540c001a017061fa82fe8148bbea59768d82b7cf70cac9772fb55f5225348385dcb1f8ea3a077c46bec68d7ff4d183fc0e5e45bf4cee4cdb50c0d26a0cefce80b76224984bd", - "new_txn_trie_node_byte": "0x02f8b001808405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d0000000000000000000000000000000000000000000000000000000009656540c001a017061fa82fe8148bbea59768d82b7cf70cac9772fb55f5225348385dcb1f8ea3a077c46bec68d7ff4d183fc0e5e45bf4cee4cdb50c0d26a0cefce80b76224984bd", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183474dd3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000000000000000000000000000000000000000080008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000040000000000000000000000000000000000000000000100000000000000000000000000080000000000000800000000000000000400000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008592895aae22d5b47f4db5e5477ea47958953aa0a000000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6da00000000000000000000000000000000000000000000000000000000009656540", - "gas_used": 41309 + "byte_code": "0x02f873018181830ded2185016d73dabf82520894672ef4c702c0fcd0253e1d2567132edf3f14d01188015d5f30ff18500c80c001a0a92aa47c66040115b17f3deda88667c6ba61b78dc7b3490e65a18f455c4a08f4a0590a5d1fe0e6de9325bda6a93cf9f9c3898e9e206cf2d61caa82bc8e6f9d6602", + "new_txn_trie_node_byte": "0x02f873018181830ded2185016d73dabf82520894672ef4c702c0fcd0253e1d2567132edf3f14d01188015d5f30ff18500c80c001a0a92aa47c66040115b17f3deda88667c6ba61b78dc7b3490e65a18f455c4a08f4a0590a5d1fe0e6de9325bda6a93cf9f9c3898e9e206cf2d61caa82bc8e6f9d6602", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832b578db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { - "storage_read": [ - "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", - "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x38653600bb42dcca737cda9ba4624269923d324db73b4f60385685d235627fe6", - "0xcd7a29227163ada612dd0835d7bfe7f9e0571e2e20f6f5406e4191072cb42168" - ], - "storage_written": { - "0xcd7a29227163ada612dd0835d7bfe7f9e0571e2e20f6f5406e4191072cb42168": "0x4f9e79e42060", - "0x38653600bb42dcca737cda9ba4624269923d324db73b4f60385685d235627fe6": "0x0" - }, - "code_usage": { - "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" - } + "0xfa7ef4582d544e1f7b9fe54744565e71ab4de61e": { + "balance": "0x8431e0a92753ae0" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f014e856ce2fd" + "0x71faa3502a84b88040ab95c60c753860e25dbe5e": { + "balance": "0x208c3f610d0e12", + "nonce": "0x3d" }, - "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { - "code_usage": { - "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7005452b43053fe6" + } + }, + "meta": { + "byte_code": "0x02f872013c830ded2185016d73dabf82520894fa7ef4582d544e1f7b9fe54744565e71ab4de61e8801aa535d3d0c000080c001a0da1210a47cf0e5d27f3942b1b8261248a84d31cb0d10f5280fac3c1c8b9a9e93a02218133ac1badc5d87e98cfb3ba0115845193472c96d3d6bbd194c11bd9590d7", + "new_txn_trie_node_byte": "0x02f872013c830ded2185016d73dabf82520894fa7ef4582d544e1f7b9fe54744565e71ab4de61e8801aa535d3d0c000080c001a0da1210a47cf0e5d27f3942b1b8261248a84d31cb0d10f5280fac3c1c8b9a9e93a02218133ac1badc5d87e98cfb3ba0115845193472c96d3d6bbd194c11bd9590d7", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832ba995b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x9f2426a1bb812e78b51dc5833863846149fc945c": { + "balance": "0x37a1aad660333b", + "nonce": "0x238" + }, + "0xd2d91dafa5a06a69d5565fd968981779e7cdbc4e": { + "balance": "0x42547f751403a80" }, - "0x81cd12a3d4a7d839bdc4773d7c17ee94f9af7d6d": { - "balance": "0x413b94abb51a1", - "nonce": "0x72" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7005452fb9693aee" } }, "meta": { - "byte_code": "0x02f8b001718405f5e1008508d8f9fc0082c35094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a00000000000000000000000000000000000000000000000000000000121eac00c001a04b165b1c9b49271edb7092d92163550e68953291726c2f8561c3b10c18fdedfaa04b79e5c868e464182e8fc543a0b3b5680d8ae442c622e14a9beaedd5d934d81e", - "new_txn_trie_node_byte": "0x02f8b001718405f5e1008508d8f9fc0082c35094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a00000000000000000000000000000000000000000000000000000000121eac00c001a04b165b1c9b49271edb7092d92163550e68953291726c2f8561c3b10c18fdedfaa04b79e5c868e464182e8fc543a0b3b5680d8ae442c622e14a9beaedd5d934d81e", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018347eb6fb9010000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000200000000000000000000000000000000000000010000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200008000000000000000000000000000000000000000000000000002002000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000081cd12a3d4a7d839bdc4773d7c17ee94f9af7d6da00000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081aa000000000000000000000000000000000000000000000000000000000121eac00", - "gas_used": 40348 + "byte_code": "0x02f87401820237830ded21850182487e2282520894d2d91dafa5a06a69d5565fd968981779e7cdbc4e88039bb49f599a000080c080a0d0fb70259ab1a4d60403efa3d12405a5efd49972c3cfc8a8757719619508cd98a05092e53e18aaf70d2f2686b89d803b8924adc715d1962a29776a4f07bcc53caa", + "new_txn_trie_node_byte": "0x02f87401820237830ded21850182487e2282520894d2d91dafa5a06a69d5565fd968981779e7cdbc4e88039bb49f599a000080c080a0d0fb70259ab1a4d60403efa3d12405a5efd49972c3cfc8a8757719619508cd98a05092e53e18aaf70d2f2686b89d803b8924adc715d1962a29776a4f07bcc53caa", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832bfb9db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x91849820ae6a4fd7ba0e8faf120fadc679b6bfe8": { - "balance": "0x5418c9827d91a", - "nonce": "0x3" + "0x68841a1806ff291314946eebd0cda8b348e73d6d": { + "balance": "0x1c663194f55b836ad", + "nonce": "0x3cd4f" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f051052409ffd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7005b82f4be7deee" }, "0xdac17f958d2ee523a2206206994597c13d831ec7": { "storage_read": [ "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", - "0xa1a7382426296df4336c07842e2f36da77b7156623e728f2e53d068228475d13", - "0xc67000432d826b075d8de46000e72067507038c378aff438cd706e1d878dbfd1", + "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f", + "0x893028c469b56159b53d100b4d7f8285e8f284245dace305c625109ffbf3662c", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x89263c89c4eb9bfa6622353b958da7610a8732a65dc7c283e94b910ded75c59d", + "0x07fd79bb82be1d156cb69d8c63af30ce54b2619b3433b59b612ba36bd59fbe72", "0x000000000000000000000000000000000000000000000000000000000000000a" ], "storage_written": { - "0xa1a7382426296df4336c07842e2f36da77b7156623e728f2e53d068228475d13": "0x0", - "0xc67000432d826b075d8de46000e72067507038c378aff438cd706e1d878dbfd1": "0x37a334c76e3c" + "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f": "0x16e40d00c340a", + "0x893028c469b56159b53d100b4d7f8285e8f284245dace305c625109ffbf3662c": "0x206d67bd2" }, "code_usage": { "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" @@ -2497,261 +2018,270 @@ } }, "meta": { - "byte_code": "0x02f8b001028405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000009e4e147d103def9e98462884e7ce06385f8ac540000000000000000000000000000000000000000000000000000000012a05f200c080a06e09c3e0470d4be30c4c4c56cca3420b0fd304f60091d7db0f231b1f4b64eef1a00ad6e4151154ae1e5f4546ac59d83c01226979230ada42387a4216a989300154", - "new_txn_trie_node_byte": "0x02f8b001028405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000009e4e147d103def9e98462884e7ce06385f8ac540000000000000000000000000000000000000000000000000000000012a05f200c080a06e09c3e0470d4be30c4c4c56cca3420b0fd304f60091d7db0f231b1f4b64eef1a00ad6e4151154ae1e5f4546ac59d83c01226979230ada42387a4216a989300154", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183488cccb9010000001000000000000000000000000000000000000000000000000000000000002000000000000000000000000000010000000000000000000000000000200000000000000000000000000008000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000091849820ae6a4fd7ba0e8faf120fadc679b6bfe8a00000000000000000000000009e4e147d103def9e98462884e7ce06385f8ac540a0000000000000000000000000000000000000000000000000000000012a05f200", - "gas_used": 41309 + "byte_code": "0x02f8b4018303cd4e8477359400855d21dba000830668a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000bda60655a4cb4b832540e1af701530d30906a1df0000000000000000000000000000000000000000000000000000000206d67bd2c080a0696c24f76888ffc0f7f0ae2b17e51950009d5408e34a4d1a8b49fe6e2368ecaca0293f2cf1a312b5a357fc0f322cdd17f45fdee790742cb87348577fa97c24f725", + "new_txn_trie_node_byte": "0x02f8b4018303cd4e8477359400855d21dba000830668a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000bda60655a4cb4b832540e1af701530d30906a1df0000000000000000000000000000000000000000000000000000000206d67bd2c080a0696c24f76888ffc0f7f0ae2b17e51950009d5408e34a4d1a8b49fe6e2368ecaca0293f2cf1a312b5a357fc0f322cdd17f45fdee790742cb87348577fa97c24f725", + "new_receipt_trie_node_byte": "0xb901ab02f901a701832cf292b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000008400000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800010000000000000000000000040000000000000000000000000000000000000000000100000000000000000000000000080000000000000800000000000000000000000000008000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6da0000000000000000000000000bda60655a4cb4b832540e1af701530d30906a1dfa00000000000000000000000000000000000000000000000000000000206d67bd2", + "gas_used": 63221 } }, { "traces": { - "0xff129412f182cd22046cb248e3e900de23150e63": { - "balance": "0x7b50bfdc417a1a", - "nonce": "0x13e" + "0x770a24d9bb452048dd61084a7c191ff50ff63fba": { + "balance": "0xc59362af42c2c", + "nonce": "0xb" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f08d1d78dd0fd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7005ee4798f7baee" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0xf091867ec603a6628ed83d274e835539d82e9cc8": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xb69b7856afe9d2fd93fee82af04857fad577f4bde1393c17f18ff5f0f6781914", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x095fcfb1afd85dbd83edd23cb2356ca5878f5d70e655152dfaa26b95b8b82593", - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f" + "0x3526508427d700b4abbbdb0901d3ed7de03ffac903f77b911799a0df11c9c4c3", + "0x830c4a81e43f9822ddc933b6f1c42f686856cc17352c69d5a5015177aeaf4782" ], "storage_written": { - "0x095fcfb1afd85dbd83edd23cb2356ca5878f5d70e655152dfaa26b95b8b82593": "0x0", - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f": "0x1897469dadeb6" + "0x3526508427d700b4abbbdb0901d3ed7de03ffac903f77b911799a0df11c9c4c3": "0x0", + "0x830c4a81e43f9822ddc933b6f1c42f686856cc17352c69d5a5015177aeaf4782": "0x3150d3531e315da4aa5" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x091368b4a4ca2a33eaea57b759f009499c1aea09c04f9faddbdf46752193d047" } } }, "meta": { - "byte_code": "0x02f8b20182013d8405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d0000000000000000000000000000000000000000000000000000000005f5e100c001a0d68555dd2a46ce6d89f044476f1b559a8f1aad5c7725bd05c64224772849bfd9a04d6639f01bb93840ce986fb82fbbf69ca0417ce2a268a4f1a9c5416e4d978b31", - "new_txn_trie_node_byte": "0x02f8b20182013d8405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d0000000000000000000000000000000000000000000000000000000005f5e100c001a0d68555dd2a46ce6d89f044476f1b559a8f1aad5c7725bd05c64224772849bfd9a04d6639f01bb93840ce986fb82fbbf69ca0417ce2a268a4f1a9c5416e4d978b31", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183492e1db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000000000000000000000000020000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000040000000000000000000000000000000000000000000100000000000000000000000000080000000000000800000000000000000480000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ff129412f182cd22046cb248e3e900de23150e63a000000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6da00000000000000000000000000000000000000000000000000000000005f5e100", - "gas_used": 41297 + "byte_code": "0x02f8b0010a847735940085023f6a495882f22c94f091867ec603a6628ed83d274e835539d82e9cc880b844a9059cbb0000000000000000000000006d0d19bdddc5ed1dd501430c9621dd37ebd9062d00000000000000000000000000000000000000000000006c6b935b8bbd400000c080a037efef07ab863bc76c32bf03885319b37155927ded90b931863087a88e04540ca01008492de4f34bc2d154170e10fa3c5a535a0e384f992708f85ac235def7c4a1", + "new_txn_trie_node_byte": "0x02f8b0010a847735940085023f6a495882f22c94f091867ec603a6628ed83d274e835539d82e9cc880b844a9059cbb0000000000000000000000006d0d19bdddc5ed1dd501430c9621dd37ebd9062d00000000000000000000000000000000000000000000006c6b935b8bbd400000c080a037efef07ab863bc76c32bf03885319b37155927ded90b931863087a88e04540ca01008492de4f34bc2d154170e10fa3c5a535a0e384f992708f85ac235def7c4a1", + "new_receipt_trie_node_byte": "0xb901ab02f901a701832d66bdb9010000000000000000000000000000000000001000000000000000000000000000000000000000000002000000000000000800000000000000000000000000000000000020000000000000000008000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000010000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000002000000000000000000000080000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000f89df89b94f091867ec603a6628ed83d274e835539d82e9cc8f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000770a24d9bb452048dd61084a7c191ff50ff63fbaa00000000000000000000000006d0d19bdddc5ed1dd501430c9621dd37ebd9062da000000000000000000000000000000000000000000000006c6b935b8bbd400000", + "gas_used": 29739 } }, { "traces": { - "0xad076180e367c8b65c3a5756241a858b3ae33b1d": { - "balance": "0x2bf01da0f401b", - "nonce": "0x1" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7006064d54cb453e" + }, + "0x192440e29c9491384dc1fddd864b6d0683984449": { + "balance": "0x0", + "nonce": "0x3" + }, + "0x511132e78da4149f08d40ca4b95ee7662ffc5658": { + "balance": "0x334a510397114e6" + } + }, + "meta": { + "byte_code": "0xf86b0285016556235182520894511132e78da4149f08d40ca4b95ee7662ffc56588701c7ba77c233788026a09540c628d54f9c8c75d065f57e3f9a3aa0f7de1c2ea1f41e6c4e9c1bd1f9dc37a013c84feaf7f3bdfa1fca059a0c4fa089128f3778641025bb9054f62e1ac8ead1", + "new_txn_trie_node_byte": "0xf86b0285016556235182520894511132e78da4149f08d40ca4b95ee7662ffc56588701c7ba77c233788026a09540c628d54f9c8c75d065f57e3f9a3aa0f7de1c2ea1f41e6c4e9c1bd1f9dc37a013c84feaf7f3bdfa1fca059a0c4fa089128f3778641025bb9054f62e1ac8ead1", + "new_receipt_trie_node_byte": "0xf9010901832db8c5b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x002b9ead9732eeae5d20da5bab9e8ad9b55e3989": { + "balance": "0x0", + "nonce": "0x8" + }, + "0xb386dff391830280763869d8f416206d16289e31": { + "balance": "0x560e69f04caa91587" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7006197511a5f606" + } + }, + "meta": { + "byte_code": "0x02f873010785015625ae6085015625ae6082520894b386dff391830280763869d8f416206d16289e31876945b86013bbf980c001a0954f0fc9dcf9615c20b29d1c12c286b29178de95478f47be1cd6b83e971788b0a050a1a6709bf665d5ccaa00e827fdf9617b12c4378a79b67ddc9271852a4f205b", + "new_txn_trie_node_byte": "0x02f873010785015625ae6085015625ae6082520894b386dff391830280763869d8f416206d16289e31876945b86013bbf980c001a0954f0fc9dcf9615c20b29d1c12c286b29178de95478f47be1cd6b83e971788b0a050a1a6709bf665d5ccaa00e827fdf9617b12c4378a79b67ddc9271852a4f205b", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832e0acdb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70063f25fd7c3507" }, "0xdac17f958d2ee523a2206206994597c13d831ec7": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x7619c3b6ee521c76bfe81f8db2447527ec7b1ebdff69a951a316bda140fb38c0", "0x000000000000000000000000000000000000000000000000000000000000000a", "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", - "0xcf971fef4170eb082403ba4744bb91b69d9794a3b6da1fb62b0de56c36bd9d63", - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f" + "0x019fd9cb7fa6e65e813d08ec5a27ce92bb16e46d7071a3e3772ca708243edb36", + "0x83464b709e6c7aaf3ac86a2758f82dcbf50b59d78c02418c55c061684ecb5aa5", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xb8eac43f56984f2ea86cc22cb61b6076ca97c83b2d70b6c6b83f2124afd15599" ], "storage_written": { - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f": "0x1897487a843b6", - "0xcf971fef4170eb082403ba4744bb91b69d9794a3b6da1fb62b0de56c36bd9d63": "0x0" + "0x83464b709e6c7aaf3ac86a2758f82dcbf50b59d78c02418c55c061684ecb5aa5": "0xdaa72362bf", + "0x019fd9cb7fa6e65e813d08ec5a27ce92bb16e46d7071a3e3772ca708243edb36": "0x0" }, "code_usage": { "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f0c935cdb01fd" + "0x641a1cc8dbd355679529d41d88fbc15137af4cf2": { + "balance": "0x69bd1d47241aa0", + "nonce": "0x1b" } }, "meta": { - "byte_code": "0x02f8b001808405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d000000000000000000000000000000000000000000000000000000001dcd6500c080a05f1ddd2379fd1f7059f2c35979df99bce04df21875caa9f8ae7ff5d224de9e97a010a827d6d30e88c80b602afa7e6b650f12f29ae6ddd7a7aa8eacedc4dd2f4d5b", - "new_txn_trie_node_byte": "0x02f8b001808405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d000000000000000000000000000000000000000000000000000000001dcd6500c080a05f1ddd2379fd1f7059f2c35979df99bce04df21875caa9f8ae7ff5d224de9e97a010a827d6d30e88c80b602afa7e6b650f12f29ae6ddd7a7aa8eacedc4dd2f4d5b", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018349cf6eb9010000010000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000040000000000000000000000000000000000000000000100004000000000000000000000080000000000000800000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ad076180e367c8b65c3a5756241a858b3ae33b1da000000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6da0000000000000000000000000000000000000000000000000000000001dcd6500", - "gas_used": 41297 + "byte_code": "0x02f8b2011a85015625ae6085015625ae608303d09094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000009aa65464b4cfbe3dc2bdb3df412aee2b3de866870000000000000000000000000000000000000000000000000000000106344762c001a0af264022e07abb184f00583a8a0f7ca2fb243e4f746710d0150d7d8e24f09563a06866e6416fa58bcb91af0a962b3797d1f8e59349321f3799051595faa206c4a5", + "new_txn_trie_node_byte": "0x02f8b2011a85015625ae6085015625ae608303d09094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000009aa65464b4cfbe3dc2bdb3df412aee2b3de866870000000000000000000000000000000000000000000000000000000106344762c001a0af264022e07abb184f00583a8a0f7ca2fb243e4f746710d0150d7d8e24f09563a06866e6416fa58bcb91af0a962b3797d1f8e59349321f3799051595faa206c4a5", + "new_receipt_trie_node_byte": "0xb901ab02f901a701832eac36b9010000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000020000000000000000000040000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000401000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000641a1cc8dbd355679529d41d88fbc15137af4cf2a00000000000000000000000009aa65464b4cfbe3dc2bdb3df412aee2b3de86687a00000000000000000000000000000000000000000000000000000000106344762", + "gas_used": 41321 } }, { "traces": { - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "storage_read": [ - "0x598a49bb87f7113b16c21f3efdd261ebbc6ef619a67154fc2811352c2a7302c7", - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xe9b26cc3ba853390a3554a01bd16315c77eea9b84eec0d02f7baf45abb1049ec", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004" - ], - "storage_written": { - "0x598a49bb87f7113b16c21f3efdd261ebbc6ef619a67154fc2811352c2a7302c7": "0x0", - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f": "0x189748d9e24b6" - }, - "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" - } + "0x6a04ddf3de778de8d9fc64fcf6fb826b03570738": { + "balance": "0x80d6e924b9efe207", + "nonce": "0x180dd" }, - "0x98f423b7d6b7e5fba9ce5b943568e4c2e607caf1": { - "balance": "0x8249b9538c484", - "nonce": "0x4" + "0x650dacaa54b919b8db69ab321748ff59700c1c85": { + "balance": "0x76d14f877bb91" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f1054e22832fd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70063f56e275e907" } }, "meta": { - "byte_code": "0x02f8b001038405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d0000000000000000000000000000000000000000000000000000000005f5e100c001a0a61d8e299c5fea7e2f7dfad6bd6c46d3d64b30d33582e36d7b13193b7e3e5d38a06dc7fa8d9bbd6c87ca83abb746a3383103602f41a443dcdd70cd09d2810dd831", - "new_txn_trie_node_byte": "0x02f8b001038405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d0000000000000000000000000000000000000000000000000000000005f5e100c001a0a61d8e299c5fea7e2f7dfad6bd6c46d3d64b30d33582e36d7b13193b7e3e5d38a06dc7fa8d9bbd6c87ca83abb746a3383103602f41a443dcdd70cd09d2810dd831", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834a70bfb9010000000000000000000000000000000000000000000000000000000000080000000000000000000000000008000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000040000000000000000000000000000000800000000000100000000000000000000000000081000000000000800000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000098f423b7d6b7e5fba9ce5b943568e4c2e607caf1a000000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6da00000000000000000000000000000000000000000000000000000000005f5e100", - "gas_used": 41297 + "byte_code": "0x02f87401830180dc83989680850430e2340082a41094650dacaa54b919b8db69ab321748ff59700c1c8587045129d40d680080c001a082b54690efcd477ac4ba4d6c4dc59a9bb103aacea2a3cdf130b47622e11efd2fa0481358f1c41c9fe3b99729acecd73c2def9536c0deeffdb4300b178542fcbe00", + "new_txn_trie_node_byte": "0x02f87401830180dc83989680850430e2340082a41094650dacaa54b919b8db69ab321748ff59700c1c8587045129d40d680080c001a082b54690efcd477ac4ba4d6c4dc59a9bb103aacea2a3cdf130b47622e11efd2fa0481358f1c41c9fe3b99729acecd73c2def9536c0deeffdb4300b178542fcbe00", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832efe3eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x0072a326e1ea3bf5556356d8a0663537ed3dda9f": { - "balance": "0x6aefdd46f8095", - "nonce": "0x2" + "0x945d72b13db9c26be523871b02b6d6420c1ef730": { + "balance": "0x7fe5e4e5d8dbc0" }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70063f5b58d9e40f" + }, + "0x3ae68e201e1a61f96af1035074a1abff5c79556f": { + "balance": "0x2147ce1957d0", + "nonce": "0x27" + } + }, + "meta": { + "byte_code": "0x02f8710126830ded21850182487e2282520894945d72b13db9c26be523871b02b6d6420c1ef730877871050f5ebd6880c001a0e01900c0178206d4cd4c9694035e5e985bebb614d75030dc7201f77f1d1c4726a024d8ee3445377b11f26c362dc007f43d2f9fe990a238dae2a8852cbb8223ccf6", + "new_txn_trie_node_byte": "0x02f8710126830ded21850182487e2282520894945d72b13db9c26be523871b02b6d6420c1ef730877871050f5ebd6880c001a0e01900c0178206d4cd4c9694035e5e985bebb614d75030dc7201f77f1d1c4726a024d8ee3445377b11f26c362dc007f43d2f9fe990a238dae2a8852cbb8223ccf6", + "new_receipt_trie_node_byte": "0xb9010d02f9010901832f5046b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0x6bd1a64227866ac25b7f9c918b3dc32d2a9cfa19": { + "balance": "0x8932136d0aab01f2", + "nonce": "0x219a4" + }, + "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce": { "storage_read": [ - "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", - "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0xa01a59e108ca0b68af3466cef4dcd222258178935f9d5cba75cb50d52aa67134", - "0xcd7a29227163ada612dd0835d7bfe7f9e0571e2e20f6f5406e4191072cb42168" + "0x123b7a9b7e8d81ed3ef28996b9b2629cd536a220b4ae89036cc76059a70d74c7", + "0x5de9f1b4969549683d8622a3906ef213e4805da54d77831032979f2e091d1868" ], "storage_written": { - "0xa01a59e108ca0b68af3466cef4dcd222258178935f9d5cba75cb50d52aa67134": "0x0", - "0xcd7a29227163ada612dd0835d7bfe7f9e0571e2e20f6f5406e4191072cb42168": "0x4f9e9e2a9957" + "0x123b7a9b7e8d81ed3ef28996b9b2629cd536a220b4ae89036cc76059a70d74c7": "0x9c9a5371f02a75d3ea6905d", + "0x5de9f1b4969549683d8622a3906ef213e4805da54d77831032979f2e091d1868": "0x0" }, "code_usage": { - "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" + "read": "0xd0caa0f9bc744c523933d44e6d8d07f868803d10bf16c8129e12f670296175ad" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f14009680dafd" + "0xb9ed85ce99f63d258a912bfeb8ac28b68455132d": { + "nonce": "0x1", + "code_usage": { + "write": "0x608060405236600a57005b36600080376020604036600073f466f27fb811ab1572ca67ab438e966910f5d9c15af45000fea2646970667358221220cd31d7df5797d8b0f1c574d09d57ef4cb1c584709995986ec107980e2b93f0cc64736f6c634300080b0033" + } }, - "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "0xf466f27fb811ab1572ca67ab438e966910f5d9c1": { + "nonce": "0xccf8", + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], "code_usage": { - "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + "read": "0xf84c35a8d4e3f188e60cdb5f1d8d70fbcf0b4c29169cc618a1b469b4422c023e" } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x700691ee4627aa0f" } }, "meta": { - "byte_code": "0x02f8b001018405f5e1008508d8f9fc0082c35094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a00000000000000000000000000000000000000000000000000000000244678f7c080a089cec972e8db98d7283c2b7a68d6eda13c1f547393ee98a4968b9c0dc7ac04f5a0489f449bc677f1d79ecee23a8823105dea1c814d582b1c4c53b03dfc48c00644", - "new_txn_trie_node_byte": "0x02f8b001018405f5e1008508d8f9fc0082c35094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a00000000000000000000000000000000000000000000000000000000244678f7c080a089cec972e8db98d7283c2b7a68d6eda13c1f547393ee98a4968b9c0dc7ac04f5a0489f449bc677f1d79ecee23a8823105dea1c814d582b1c4c53b03dfc48c00644", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834b0e67b9010000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000010000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200008000000000000000000000000000000000000000000000000002002000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000072a326e1ea3bf5556356d8a0663537ed3dda9fa00000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081aa000000000000000000000000000000000000000000000000000000000244678f7", - "gas_used": 40360 + "byte_code": "0x02f8f401830219a3843b9aca00850ba43b74008307a12094f466f27fb811ab1572ca67ab438e966910f5d9c180b884ba35d0b5000000000000000000000000000000009ea08c49817239af79db2f66f599466700000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce000000000000000000000000000000000000000000114caaaa3e6b8b250c000000000000000000000000000090f1f3247930ea8eeb466f04c51d7166a96c8b4ac080a0f314746c22c9b256397ab6c1f97887781639217b67ab529e8abf3764c69c007da003ff414d28aea616beeb51ef96a97f1be5e287712cdcb74530b7c20efb48f8b1", + "new_txn_trie_node_byte": "0x02f8f401830219a3843b9aca00850ba43b74008307a12094f466f27fb811ab1572ca67ab438e966910f5d9c180b884ba35d0b5000000000000000000000000000000009ea08c49817239af79db2f66f599466700000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce000000000000000000000000000000000000000000114caaaa3e6b8b250c000000000000000000000000000090f1f3247930ea8eeb466f04c51d7166a96c8b4ac080a0f314746c22c9b256397ab6c1f97887781639217b67ab529e8abf3764c69c007da003ff414d28aea616beeb51ef96a97f1be5e287712cdcb74530b7c20efb48f8b1", + "new_receipt_trie_node_byte": "0xb901ab02f901a7018330b2edb9010000000000000000000000000000000000000000000000000000000000000000000000004001000000000000000000000000000000000000000000000000000000000000000000000000000008800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000100000400000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000802000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000f89df89b9495ad61b0a150d79219dcf64e1e6cc01f0b64c4cef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b9ed85ce99f63d258a912bfeb8ac28b68455132da000000000000000000000000090f1f3247930ea8eeb466f04c51d7166a96c8b4aa0000000000000000000000000000000000000000000114caaaa3e6b8b250c0000", + "gas_used": 90791 } }, { "traces": { - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce": { "storage_read": [ - "0xccf89ee17790265a43896c5ec1a2b3dc151a32ea1354353858b8839d9c975c64", - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x68e3618829cd90722dff3d8df9e10b7297b5bbbe9f5d1a371ab199f47dde0ab7", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004" + "0xeb6bb601f978ee6289de5ee5bc87811da7a4b5d5478619211c5da43432bf4da8", + "0xb13b9282ea8af627605b4d853d3748c78b04d12cf62f1dabf1ad8c6f0a2c1559" ], "storage_written": { - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f": "0x18974960872f2", - "0xccf89ee17790265a43896c5ec1a2b3dc151a32ea1354353858b8839d9c975c64": "0x0" + "0xeb6bb601f978ee6289de5ee5bc87811da7a4b5d5478619211c5da43432bf4da8": "0x22c03ee7a4cd144be4d4aff", + "0xb13b9282ea8af627605b4d853d3748c78b04d12cf62f1dabf1ad8c6f0a2c1559": "0x187e2950fd4867b6400000" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0xd0caa0f9bc744c523933d44e6d8d07f868803d10bf16c8129e12f670296175ad" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f17c2635497fd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7006a798218a2951" }, - "0x51f9f9235f866aa60dc490430836a2e90e30aa2d": { - "balance": "0x700d7e3572c34", - "nonce": "0x356" + "0xc7f8df7b32cb89bb4ea5673f04695b87ed11f9b9": { + "balance": "0xb544cfccdca2d676", + "nonce": "0xb7f7" } }, "meta": { - "byte_code": "0x02f8b2018203558405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d00000000000000000000000000000000000000000000000000000000086a4e3cc001a0a42799f86a5e6ec1455e65f6b0c5a67984178c0a8d5c9366431ac85aaf6598eca017e68420203f84373f2736027f87c6e42dcc8ee807f19eaa44afa67f25c3e9a7", - "new_txn_trie_node_byte": "0x02f8b2018203558405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d00000000000000000000000000000000000000000000000000000000086a4e3cc001a0a42799f86a5e6ec1455e65f6b0c5a67984178c0a8d5c9366431ac85aaf6598eca017e68420203f84373f2736027f87c6e42dcc8ee807f19eaa44afa67f25c3e9a7", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834bafc4b9010000000000000000000000000000000000000000000000000000000000000000000000000000020000000008000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000040000000000000000000000000000000000000000000100000000000000000000000000080000000000000800000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000008000020000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000051f9f9235f866aa60dc490430836a2e90e30aa2da000000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6da000000000000000000000000000000000000000000000000000000000086a4e3c", - "gas_used": 41309 + "byte_code": "0x02f8b20182b7f6841b5ba0ce8501736bdcb782f6f49495ad61b0a150d79219dcf64e1e6cc01f0b64c4ce80b844a9059cbb00000000000000000000000058a0d34aca5d6b7eb01b2299f357e4d85a72b839000000000000000000000000000000000000000000187e2950fd4867b6400000c001a085eabd7b68ed8419f1df922df10e61ca2323dccf65303888328583755ffde52ba05242de3bfd15c5aef8909e4d64ce104795bc2729c50f63be03894183d4baa559", + "new_txn_trie_node_byte": "0x02f8b20182b7f6841b5ba0ce8501736bdcb782f6f49495ad61b0a150d79219dcf64e1e6cc01f0b64c4ce80b844a9059cbb00000000000000000000000058a0d34aca5d6b7eb01b2299f357e4d85a72b839000000000000000000000000000000000000000000187e2950fd4867b6400000c001a085eabd7b68ed8419f1df922df10e61ca2323dccf65303888328583755ffde52ba05242de3bfd15c5aef8909e4d64ce104795bc2729c50f63be03894183d4baa559", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183317da4b9010000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000008000020000000000000000000000000000000000000000000000000000000080000000000000000000000000000000010000000000000000000000000000000000100000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000400000000000000000000000000000000000000000000001000000000000000000000000000040000000000000000000000000000000000000f89df89b9495ad61b0a150d79219dcf64e1e6cc01f0b64c4cef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c7f8df7b32cb89bb4ea5673f04695b87ed11f9b9a000000000000000000000000058a0d34aca5d6b7eb01b2299f357e4d85a72b839a0000000000000000000000000000000000000000000187e2950fd4867b6400000", + "gas_used": 51895 } }, { "traces": { - "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { - "code_usage": { - "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" - } - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f1b6e5f33cbfd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7006ae91ddd9e399" }, - "0x0e0dd4a9f1ae43300d537ba7d62220774c9c8312": { - "balance": "0x3c1a1d59116a8", - "nonce": "0x35e9" + "0x2e87858ac48c9fdcba8e5196e7a181060383373b": { + "balance": "0x0", + "nonce": "0x51" }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0e890b98a7876f86b236ab0312b9671bdb52323d4c27eec3f19ae4858b8d9414", - "0xcd7a29227163ada612dd0835d7bfe7f9e0571e2e20f6f5406e4191072cb42168", - "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", - "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3" - ], - "storage_written": { - "0x0e890b98a7876f86b236ab0312b9671bdb52323d4c27eec3f19ae4858b8d9414": "0x0", - "0xcd7a29227163ada612dd0835d7bfe7f9e0571e2e20f6f5406e4191072cb42168": "0x4fd5910a9817" - }, - "code_usage": { - "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" - } + "0x974caa59e49682cda0ad2bbe82983419a2ecc400": { + "balance": "0xdd8e22b1e444750195" } }, "meta": { - "byte_code": "0x02f8b2018235e88405f5e1008508d8f9fc0082c35094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a00000000000000000000000000000000000000000000000000000036f2dffec0c080a0e133866b7b597616c8b51a230218fa808440997635d5120978121f463a3b7814a0135b5f29509a8bf1b15dcff82767399c4baebfa4a59dedfab11593ad4b07e138", - "new_txn_trie_node_byte": "0x02f8b2018235e88405f5e1008508d8f9fc0082c35094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a00000000000000000000000000000000000000000000000000000036f2dffec0c080a0e133866b7b597616c8b51a230218fa808440997635d5120978121f463a3b7814a0135b5f29509a8bf1b15dcff82767399c4baebfa4a59dedfab11593ad4b07e138", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834c4d78b9010000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200008000000000000000000000000800000000000000000000000002002002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000e0dd4a9f1ae43300d537ba7d62220774c9c8312a00000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081aa000000000000000000000000000000000000000000000000000000036f2dffec0", - "gas_used": 40372 + "byte_code": "0xf86c5085013023239082520894974caa59e49682cda0ad2bbe82983419a2ecc40088023ec2526c5ac7808025a0b46e42cadc9d0aa8b065065412a9f8485f6ac0861d431b97381e08b20ced2670a04a10a7263eb958d6459456ace22f46dbac71e06c01c97f2618885f5b0cfad962", + "new_txn_trie_node_byte": "0xf86c5085013023239082520894974caa59e49682cda0ad2bbe82983419a2ecc40088023ec2526c5ac7808025a0b46e42cadc9d0aa8b065065412a9f8485f6ac0861d431b97381e08b20ced2670a04a10a7263eb958d6459456ace22f46dbac71e06c01c97f2618885f5b0cfad962", + "new_receipt_trie_node_byte": "0xf90109018331cfacb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x8eeca23a0e346c1413baeb82381d1bfa32ebb838": { - "balance": "0x36054a3de44ae", - "nonce": "0x4" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7006d4c9a4a11599" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f1f302c0788fd" + "0x830e10f99ef065d9b2b8d53a02b6966ffddd11de": { + "balance": "0x54d836440978400" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "storage_read": [ - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xf2ded1110ece1b981324d0d617b0ee7ca7d07879985372cd15daea4e2d97f638", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x24fddd659e17c372e4c3fd56df007cc620be6cbcdcb118d435c8d8c0136e6d94" - ], - "storage_written": { - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f": "0x189749d634915", - "0x24fddd659e17c372e4c3fd56df007cc620be6cbcdcb118d435c8d8c0136e6d94": "0x0" - }, - "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" - } + "0x91a0a3043f68986043d7083c4d85b558b21f0a7b": { + "balance": "0x2f69b9ae71f549838", + "nonce": "0x1ab9d" } }, "meta": { - "byte_code": "0x02f8b001038405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d00000000000000000000000000000000000000000000000000000000075ad623c001a070a441ae38d701b4fe682200c465ebaa82491f8c07ac1da7862adad8ca77b7aea0369c8b1ff30245fc60ab5dec155716d01060aadef0c89be16602993ff2d48483", - "new_txn_trie_node_byte": "0x02f8b001038405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d00000000000000000000000000000000000000000000000000000000075ad623c001a070a441ae38d701b4fe682200c465ebaa82491f8c07ac1da7862adad8ca77b7aea0369c8b1ff30245fc60ab5dec155716d01060aadef0c89be16602993ff2d48483", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834ceed5b9010000000000000000000000000000000000000200000000000000000000000000000000000000000000000008000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000040000000000000000000000040000000000000000000100000000000000000000000000080000000000000800000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008eeca23a0e346c1413baeb82381d1bfa32ebb838a000000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6da000000000000000000000000000000000000000000000000000000000075ad623", - "gas_used": 41309 + "byte_code": "0x02f876018301ab9c847744d64085e8990a460082c35094830e10f99ef065d9b2b8d53a02b6966ffddd11de88054d83644097840080c080a0dba7b13572002908e996c0d4b1f0e96137315048e47908aa637afa6bd1f83ec1a03831a98c7f19bd0f99f41274a0695e091b79bcdd2717100aef20a462c9378440", + "new_txn_trie_node_byte": "0x02f876018301ab9c847744d64085e8990a460082c35094830e10f99ef065d9b2b8d53a02b6966ffddd11de88054d83644097840080c080a0dba7b13572002908e996c0d4b1f0e96137315048e47908aa637afa6bd1f83ec1a03831a98c7f19bd0f99f41274a0695e091b79bcdd2717100aef20a462c9378440", + "new_receipt_trie_node_byte": "0xb9010d02f9010901833221b4b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { @@ -2759,268 +2289,230 @@ "0xdac17f958d2ee523a2206206994597c13d831ec7": { "storage_read": [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x8d7baeabf27f947f3181b272a974bd30e1b4640338330398c3d451d9566b4be2", + "0x75f7f8a447801bb3acf20ed694b60cd14d95954391a921e8e0e05339d096a919", "0x000000000000000000000000000000000000000000000000000000000000000a", "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000004", - "0xbb35b0d81f4c4bbc32025ea80ffa61ddfe48c81616c509e771d90fe97d7350df", - "0x428ac0b6b94a9ff5c764f0a4c0fb0d97f17730d429357642c7ebb6e7404751ac" + "0x56ee5c039aedeaedf1032028e6c6acb8882795c2c1cf967aecbff3b2c39ab4c0", + "0x7522e9578269c4708ff8ce91106e3ff3c076fd6d55a231c3841588b1e2e09597" ], "storage_written": { - "0x428ac0b6b94a9ff5c764f0a4c0fb0d97f17730d429357642c7ebb6e7404751ac": "0x3ef14800", - "0xbb35b0d81f4c4bbc32025ea80ffa61ddfe48c81616c509e771d90fe97d7350df": "0x18c71b0d60904" + "0x56ee5c039aedeaedf1032028e6c6acb8882795c2c1cf967aecbff3b2c39ab4c0": "0x4f6579907ec", + "0x7522e9578269c4708ff8ce91106e3ff3c076fd6d55a231c3841588b1e2e09597": "0xcbfe75" }, "code_usage": { "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" } }, - "0x3d55ccb2a943d88d39dd2e62daf767c69fd0179f": { - "balance": "0x282743da780d777d1", - "nonce": "0x2a4e8" + "0xb23360ccdd9ed1b15d45e5d3824bb409c8d7c460": { + "balance": "0x5bf30b4e2419f1d2bd", + "nonce": "0xad452" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f24ef9780c5fd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7008e92e0dd81b0e" } }, "meta": { - "byte_code": "0x02f8b4018302a4e78405f5e100855d21dba000830668a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000e0c03f714f4564235f6c84945658d5c2ecaeb8b2000000000000000000000000000000000000000000000000000000003ef14800c001a030b292257a40ffda809b02295bd816886ca24f10e552ea44cb20d0b55300e615a00245e3c65d9a742fe4ec23c52f3ac85c6d688212156f562e58aa2842049c5e8f", - "new_txn_trie_node_byte": "0x02f8b4018302a4e78405f5e100855d21dba000830668a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000e0c03f714f4564235f6c84945658d5c2ecaeb8b2000000000000000000000000000000000000000000000000000000003ef14800c001a030b292257a40ffda809b02295bd816886ca24f10e552ea44cb20d0b55300e615a00245e3c65d9a742fe4ec23c52f3ac85c6d688212156f562e58aa2842049c5e8f", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834de5b2b901000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000001000000000001000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000010000000000000000000000000000000000000000000000000000000000000000000100000000010000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003d55ccb2a943d88d39dd2e62daf767c69fd0179fa0000000000000000000000000e0c03f714f4564235f6c84945658d5c2ecaeb8b2a0000000000000000000000000000000000000000000000000000000003ef14800", + "byte_code": "0x02f8b501830ad451850342770c00850342770c008301482094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000630e8ae3962a432b1af6cb9d91c1f00bf83e3f3b0000000000000000000000000000000000000000000000000000000000cbfe75c001a0aa86298d3bac7c04ff976ba99960ef3ad518b5101465df9e4c69f5fb818f05b9a05990477db217906b3bf6b7906bfd9b8dc98bd67714a17614425857bdb71f35cf", + "new_txn_trie_node_byte": "0x02f8b501830ad451850342770c00850342770c008301482094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000630e8ae3962a432b1af6cb9d91c1f00bf83e3f3b0000000000000000000000000000000000000000000000000000000000cbfe75c001a0aa86298d3bac7c04ff976ba99960ef3ad518b5101465df9e4c69f5fb818f05b9a05990477db217906b3bf6b7906bfd9b8dc98bd67714a17614425857bdb71f35cf", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183331891b9010000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000080000000000000000000020000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000001000000000000000000000100000000000000100000000000000000000000000080000000000000000000000000000000000000000008000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b23360ccdd9ed1b15d45e5d3824bb409c8d7c460a0000000000000000000000000630e8ae3962a432b1af6cb9d91c1f00bf83e3f3ba00000000000000000000000000000000000000000000000000000000000cbfe75", "gas_used": 63197 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f28b11ccdf6fd" - }, - "0xba81d3d662691ac435e487ffc3bbb39f5561d640": { - "balance": "0x14ad5b35371b1f", - "nonce": "0x4" - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x5f64ab1544d28732f0a24f4713c2c8ec0da089f0": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x5148abe62e543065f7b353728920706a61722d7e7108f9096cee93db25a0d440", - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x889b5565c14292db4d4e854ba72dadc51ac819219b680c9442f85ffbe9ef5852", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003" + "0x2d0b91ab285d20c1d7f99ed6cc43503b68f59f6db9dd757c78375e2ba3c82504", + "0x6e55997026a310cd92a5876ddc8bc20a593b9df701d6b5a6efd35088c305c524" ], "storage_written": { - "0x5148abe62e543065f7b353728920706a61722d7e7108f9096cee93db25a0d440": "0x0", - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f": "0x18974a3592a15" + "0x2d0b91ab285d20c1d7f99ed6cc43503b68f59f6db9dd757c78375e2ba3c82504": "0x0", + "0x6e55997026a310cd92a5876ddc8bc20a593b9df701d6b5a6efd35088c305c524": "0x21bfacb4e3ab7dd1fc7" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x213faf6fc0accd5fe2f6110763f016dc9e3d65d9416b2ad479ec1f43a64fc048" } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7008e9346daadedb" + }, + "0x661b7f490ecf38ef181f9bd006585e67035d4aab": { + "balance": "0x44d0113416ed5", + "nonce": "0xf" } }, "meta": { - "byte_code": "0x02f8b001038405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d0000000000000000000000000000000000000000000000000000000005f5e100c080a0936900f40392a75a5fae12f8e7673c980c8bd41df065c1c8a53d131797656762a0624eb3fc5c084df21baf9882a31cc54d16cdfbceaa0147f0ccfd8b280306f838", - "new_txn_trie_node_byte": "0x02f8b001038405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d0000000000000000000000000000000000000000000000000000000005f5e100c080a0936900f40392a75a5fae12f8e7673c980c8bd41df065c1c8a53d131797656762a0624eb3fc5c084df21baf9882a31cc54d16cdfbceaa0147f0ccfd8b280306f838", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834e8703b9010000000000000000000000000000400000000000000000000000000000000000000000000000000000000008000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000010000000000000000000000040000000000000000000000000000000000000000000100000000000000000000000000080000000000000800000000000002000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ba81d3d662691ac435e487ffc3bbb39f5561d640a000000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6da00000000000000000000000000000000000000000000000000000000005f5e100", - "gas_used": 41297 + "byte_code": "0x02f8af010e830ded2185019a8fc84e82cbe9945f64ab1544d28732f0a24f4713c2c8ec0da089f080b844a9059cbb000000000000000000000000203bab7fe58731f53de11099a13cbc1438736aad00000000000000000000000000000000000000000000004d5d7c7dc5424b5266c001a0f13946a8005da32172e732c85e67417126ea0991ccb2612269b7d51e6686fc8da06d0cfc6eaac2dcc08f50b87bb8b9f6db8c767c7e5c38da0e5bdbeb8dd9736f3e", + "new_txn_trie_node_byte": "0x02f8af010e830ded2185019a8fc84e82cbe9945f64ab1544d28732f0a24f4713c2c8ec0da089f080b844a9059cbb000000000000000000000000203bab7fe58731f53de11099a13cbc1438736aad00000000000000000000000000000000000000000000004d5d7c7dc5424b5266c001a0f13946a8005da32172e732c85e67417126ea0991ccb2612269b7d51e6686fc8da06d0cfc6eaac2dcc08f50b87bb8b9f6db8c767c7e5c38da0e5bdbeb8dd9736f3e", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183338dbeb9010000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000084000000000000200000000000000000000000000000000000000000000010000080000000000000000000000000000000000004000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000200000000000000000000400000000000000000000000000000000000000000000000000000000000000000f89df89b945f64ab1544d28732f0a24f4713c2c8ec0da089f0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000661b7f490ecf38ef181f9bd006585e67035d4aaba0000000000000000000000000203bab7fe58731f53de11099a13cbc1438736aada000000000000000000000000000000000000000000000004d5d7c7dc5424b5266", + "gas_used": 29997 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f2c5c362dc4fd" - }, - "0xc00e94cb662c3520282e6f5717214004a7f26888": { - "storage_read": [ - "0x37583893b08b530541c9f5acf38ad3b056ce9f1f3f1db21bf49a6e685634d902", - "0xf638e873b5997fb27246cb42b03d32e7fc095e96f30e727471c8a1dc8ab225a7", - "0xb0c86e9b81cc33f480ad0d1717460fbad99accc1c5deec69a6063d6af332ad0c", - "0xeab65ce9d1318f8ebd3522bda70169980d510135b3913e195b3da655590fd6f3" - ], - "storage_written": { - "0xb0c86e9b81cc33f480ad0d1717460fbad99accc1c5deec69a6063d6af332ad0c": "0x2fe2131fb2a259700a5a", - "0xf638e873b5997fb27246cb42b03d32e7fc095e96f30e727471c8a1dc8ab225a7": "0x1" - }, + "0x095527f5bea113e9575b662c5ba01d990a280f2f": { "code_usage": { - "read": "0x9398f9b1f117941e8e25a4aff4d11754f48933cc3c08101975e3306e98d88c2a" + "read": "0x3216a8bddf1a8e4bebc2106295e25660bc69867ceb97d074d621ddcba08eeb18" } }, - "0xc17ff2a0906b006136d1501d2f13b3cef13af006": { - "balance": "0xaba5dcb0a4a09", - "nonce": "0x6037" - } - }, - "meta": { - "byte_code": "0x02f8b2018260368405f5e1008508d8f9fc0082ea6094c00e94cb662c3520282e6f5717214004a7f2688880b844a9059cbb0000000000000000000000006cc5f688a315f3dc28a7781717a9a798a59fda7b00000000000000000000000000000000000000000000001a17cbaccdeac50000c080a061be4d88b89f763ccba79e7989b10f6e82194a70f19ecbe04f36f7a21aa3d044a0409ef864b7d7ebee49bd4811d553efbae02ddf2210d9c415f38665d18c691150", - "new_txn_trie_node_byte": "0x02f8b2018260368405f5e1008508d8f9fc0082ea6094c00e94cb662c3520282e6f5717214004a7f2688880b844a9059cbb0000000000000000000000006cc5f688a315f3dc28a7781717a9a798a59fda7b00000000000000000000000000000000000000000000001a17cbaccdeac50000c080a061be4d88b89f763ccba79e7989b10f6e82194a70f19ecbe04f36f7a21aa3d044a0409ef864b7d7ebee49bd4811d553efbae02ddf2210d9c415f38665d18c691150", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834f2491b9010000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000080000000000000000000000000000000000000000000000000200000008000000000000000000000000000000000000000000000000000800000000000000000000000000000020000000000010000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000100002000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000008000000000000000000000000f89df89b94c00e94cb662c3520282e6f5717214004a7f26888f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c17ff2a0906b006136d1501d2f13b3cef13af006a00000000000000000000000006cc5f688a315f3dc28a7781717a9a798a59fda7ba000000000000000000000000000000000000000000000001a17cbaccdeac50000", - "gas_used": 40334 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f301e030181fd" + "0x4842a2f9e262226a40db37dd29746846a7451cc2": { + "balance": "0xa8d7f561e2d107", + "nonce": "0x87" }, - "0xa460a322e7e07444be40edd7e6a474214aa1fbb5": { - "balance": "0x2881a4a933c1f", - "nonce": "0x1" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7008e93c5a12b89b" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x4c19596f5aaff459fa38b0f7ed92f11ae6543784": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0xff37f9939f247d39317333a8cdb53e16f8554625fda38e4aaa8d07b7c3129838", - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xdc3669ec37334c87a42438d6a9b83cc39d2c6b86970e282c7404ab8f49bd4c80", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003" + "0x6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc7" ], "storage_written": { - "0x651c09f0225976825accb5f6f354162eabc0171d62abef4ad21724d4406efd2f": "0x18974af266795", - "0xff37f9939f247d39317333a8cdb53e16f8554625fda38e4aaa8d07b7c3129838": "0x0" + "0x0c93a8610904e6c7a2f4a1da8f5a2457200882eb5acb56045ea931dbf31a1c11": "0x6a6ca90f6ec" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x49d4db941672a77d32af6747d690836f1a629e468784f9eff2632e70d0bf5a48" } } }, "meta": { - "byte_code": "0x02f8b001808405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d000000000000000000000000000000000000000000000000000000000bcd3d80c001a00662a0668e891f5b81b87f54c795344a81c7a0e768498b576299ea0371426768a02b66047980338821f6378eb939e7ab264b1579f63852eae1cf4348c67ecb9995", - "new_txn_trie_node_byte": "0x02f8b001808405f5e1008508d8f9fc0082c35094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6d000000000000000000000000000000000000000000000000000000000bcd3d80c001a00662a0668e891f5b81b87f54c795344a81c7a0e768498b576299ea0371426768a02b66047980338821f6378eb939e7ab264b1579f63852eae1cf4348c67ecb9995", - "new_receipt_trie_node_byte": "0xb901ab02f901a701834fc5eeb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000040000000000000000000000000000000400000000002100000000000000000000000000080000000000000800000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a460a322e7e07444be40edd7e6a474214aa1fbb5a000000000000000000000000068841a1806ff291314946eebd0cda8b348e73d6da0000000000000000000000000000000000000000000000000000000000bcd3d80", - "gas_used": 41309 + "byte_code": "0x02f8b0018186830f42408501295c03f0829920944c19596f5aaff459fa38b0f7ed92f11ae654378480b844095ea7b30000000000000000000000001111111254eeb25477b68fb85ed929f73a960582000000000000000000000000000000000000000000000000000006a6ca90f6ecc001a022e23c5e0e469d193a863defee6d7a586a6c886cf66bc047b60eb5aa003d875ca005395f67c22086e742619e5251f6dc57b87b9258dedf79ac348d8d0b9065cbdc", + "new_txn_trie_node_byte": "0x02f8b0018186830f42408501295c03f0829920944c19596f5aaff459fa38b0f7ed92f11ae654378480b844095ea7b30000000000000000000000001111111254eeb25477b68fb85ed929f73a960582000000000000000000000000000000000000000000000000000006a6ca90f6ecc001a022e23c5e0e469d193a863defee6d7a586a6c886cf66bc047b60eb5aa003d875ca005395f67c22086e742619e5251f6dc57b87b9258dedf79ac348d8d0b9065cbdc", + "new_receipt_trie_node_byte": "0xb901ab02f901a701833412adb9010000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000002000000000000000000000000000020000000000000000000000000004000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000400000000000000000000000000400000000000000000f89df89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000004842a2f9e262226a40db37dd29746846a7451cc2a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0000000000000000000000000000000000000000000000000000006a6ca90f6ec", + "gas_used": 34031 } }, { "traces": { - "0x32353a6c91143bfd6c7d363b546e62a9a2489a20": { + "0x4842a2f9e262226a40db37dd29746846a7451cc2": { + "balance": "0x1f1af4ea36039078", + "nonce": "0x88" + }, + "0x87ea2b2037046a9af3284d6a7f5a137931dbba16": { "storage_read": [ - "0x4de88072fe0e0011d624dd09868593a4afefc74a00bda5328a2338745a601075", - "0xb0c86e9b81cc33f480ad0d1717460fbad99accc1c5deec69a6063d6af332ad0c" + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" ], "storage_written": { - "0xb0c86e9b81cc33f480ad0d1717460fbad99accc1c5deec69a6063d6af332ad0c": "0x13f82656ccecc90ced4603", - "0x4de88072fe0e0011d624dd09868593a4afefc74a00bda5328a2338745a601075": "0xd68336dd" + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b0000000000001f73ac645716b725000000000000000006e88fbae936", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x4a9e0e244a96808ac7e37a3bf00156354281c16a", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x107f7919a7ebf1ad6638bba9fb8309b", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" }, "code_usage": { - "read": "0x8879dd7faf6732eed5b41ab18db7ba8783da2e800d67c4ab16ffc4d977dd9002" + "read": "0x7eb38a112ba6d7614d58b369913cb45d181c2879b1d55f22da50134627d5c3f3" } }, - "0x23529b46bb5fdb9f9d0427e9a35115551b72581b": { - "balance": "0x10995f4f948d0d", - "nonce": "0x29fb" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f334105771afd" - } - }, - "meta": { - "byte_code": "0x02f8b2018229fa8405f5e1008508d8f9fc0082ea609432353a6c91143bfd6c7d363b546e62a9a2489a2080b844a9059cbb0000000000000000000000006cc5f688a315f3dc28a7781717a9a798a59fda7b00000000000000000000000000000000000000000000001092c487806e331c00c001a0607ed7c49f5687f8f3bd09f1ef08bf88447b90a0a3f7978364a005f187b03aeba03533697fd70aecfad374eec4f10f6c99fc1e75e4cb9d4ff121b2daed5d73f2ef", - "new_txn_trie_node_byte": "0x02f8b2018229fa8405f5e1008508d8f9fc0082ea609432353a6c91143bfd6c7d363b546e62a9a2489a2080b844a9059cbb0000000000000000000000006cc5f688a315f3dc28a7781717a9a798a59fda7b00000000000000000000000000000000000000000000001092c487806e331c00c001a0607ed7c49f5687f8f3bd09f1ef08bf88447b90a0a3f7978364a005f187b03aeba03533697fd70aecfad374eec4f10f6c99fc1e75e4cb9d4ff121b2daed5d73f2ef", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183504ca7b9010000000000000000000000000000800000000000000080000000000000000200000000010000080000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000010000000000000000000000040000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000100002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9432353a6c91143bfd6c7d363b546e62a9a2489a20f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000023529b46bb5fdb9f9d0427e9a35115551b72581ba00000000000000000000000006cc5f688a315f3dc28a7781717a9a798a59fda7ba000000000000000000000000000000000000000000000001092c487806e331c00", - "gas_used": 34489 - } - }, - { - "traces": { - "0x0000000000000000000000000000000000000000": {}, - "0x357e925110fa2ef3422a1bd623a74de127ff5e29": { - "balance": "0x51bdadf0ec018778", - "nonce": "0x482f" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f355a64fc42fd" - } - }, - "meta": { - "byte_code": "0x02f8f00182482e8405f5e10085104c6064d482753094000000000000000000000000000000000000000080b882646174613a6170706c69636174696f6e2f6a736f6e2c7b2270223a22696572632d706f77222c226f70223a226d696e74222c227469636b223a226574687069222c227573655f706f696e74223a2230222c22626c6f636b223a223139323430363533222c226e6f6e6365223a2231373037363132343333313939363939343236227dc080a02619dbd74ccc86892324b6d5b44b5e1cdfe444d84ae074d02a3a2d7f09d67d46a0720704b0b4940303d601fb3f5a4befcb67531e7389e518b058bd7b56e7db9ac8", - "new_txn_trie_node_byte": "0x02f8f00182482e8405f5e10085104c6064d482753094000000000000000000000000000000000000000080b882646174613a6170706c69636174696f6e2f6a736f6e2c7b2270223a22696572632d706f77222c226f70223a226d696e74222c227469636b223a226574687069222c227573655f706f696e74223a2230222c22626c6f636b223a223139323430363533222c226e6f6e6365223a2231373037363132343333313939363939343236227dc080a02619dbd74ccc86892324b6d5b44b5e1cdfe444d84ae074d02a3a2d7f09d67d46a0720704b0b4940303d601fb3f5a4befcb67531e7389e518b058bd7b56e7db9ac8", - "new_receipt_trie_node_byte": "0xb9010d02f90109018350a6cfb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 23080 - } - }, - { - "traces": { - "0x000000000022d473030f116ddee9f6b43ac78ba3": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b81940b73db1ca11ac4", "storage_read": [ - "0x5bb776c61b29a0f3c213b1fc0d8bdd0c42fcbf9e8d4848784a6b163668aae5ae" + "0x2dc9d3c693617b3827e0e91a4d0bbb6faaf01b386557faa7d2246eb0f9066c6d", + "0x9951e5c97f68238701a07028be91c5ba29bde0c65662546c454bab615c93f76a", + "0x77de93e5b62f558c65a377bb39872b707ab595087b191c1a4f0b224eda1ebd73", + "0x0592cb2ac66491e80183860ecffee687cbefbc41e7cfe5feea9d6831d625cf51" ], + "storage_written": { + "0x0592cb2ac66491e80183860ecffee687cbefbc41e7cfe5feea9d6831d625cf51": "0x1277d7deb6f151d2c", + "0x2dc9d3c693617b3827e0e91a4d0bbb6faaf01b386557faa7d2246eb0f9066c6d": "0x1f73ac645716b725", + "0x77de93e5b62f558c65a377bb39872b707ab595087b191c1a4f0b224eda1ebd73": "0xc4f07b01e9d05d8a", + "0x9951e5c97f68238701a07028be91c5ba29bde0c65662546c454bab615c93f76a": "0x1" + }, "code_usage": { - "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "0xfceaaf9792139bf714a694f868a215493461446d": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x1091811ed789fd5bee59973dbc4c502", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000000c4f07b01e9d05d8a00000000000000002aca9d4f36c6", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x49582e872c083c221670b1da23ca1f9878ec0a23" }, "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0xcd82e2d9daddbf51cbce8d5429a0996e16fc670c4056566f19cf8864ad45a746" + } + }, + "0xe37e799d5077682fa0a244d46e5649f71457bd09": { + "code_usage": { + "read": "0xd471a60f6c7d3be7f423430564405669d08ee2006e9ae4203a9aac81e8474402" + } + }, + "0x095527f5bea113e9575b662c5ba01d990a280f2f": { + "code_usage": { + "read": "0x3216a8bddf1a8e4bebc2106295e25660bc69867ceb97d074d621ddcba08eeb18" } }, - "0xb18c8c017c8730c46f65d1151d7fdeb447670d52": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7008e9899c161b9b" + }, + "0x9deb29c9a4c7a88a3c0257393b7f3335338d9a9d": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x9650c31f7adfb67c3f6c7d90c57460d811b87d558e6272837a9ad5b3c732862a", - "0x0000000000000000000000000000000000000000000000000000000000000011", - "0xc9b446912383fdff75dbe1c0c9c90e5b69fdd26f243299b685463bf5747aa77e", - "0x13e75a7cc2ba186a271fd58dac9d4ff33ec582221291ec63b52136569581ece4", - "0x000000000000000000000000000000000000000000000000000000000000000e", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x2bf517b13835f45d2b0c8c6cff31bf2baba258ecb73a4668ddf1ad55c4848dd1", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000000000000000000000000000000000000b" + "0x0000000000000000000000000000000000000000000000000000000000000003" ], - "storage_written": { - "0xc9b446912383fdff75dbe1c0c9c90e5b69fdd26f243299b685463bf5747aa77e": "0x0", - "0x13e75a7cc2ba186a271fd58dac9d4ff33ec582221291ec63b52136569581ece4": "0xfffffffffffffffffffffffffffffffffffffffffffffffffef37854435da91e", - "0x9650c31f7adfb67c3f6c7d90c57460d811b87d558e6272837a9ad5b3c732862a": "0x5e508f1eac4c4", - "0x2bf517b13835f45d2b0c8c6cff31bf2baba258ecb73a4668ddf1ad55c4848dd1": "0x2f8cca06f04a175" - }, "code_usage": { - "read": "0x5d7cbf1017b4a29d0ac80cf258464aecaf57408906dd43548ea63763261e19c1" + "read": "0x8a167d5a7c0ebbe12308960359da937c9fd51d2fca17195d31ab75c9bd28df10" } }, - "0xaf054fefbcae65406e3da38f3478b5389c598773": { - "balance": "0xad8e01eed250528", - "nonce": "0x9f" + "0x1111111254eeb25477b68fb85ed929f73a960582": { + "code_usage": { + "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" + } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x2986938a476c266fbe912", + "0x4c19596f5aaff459fa38b0f7ed92f11ae6543784": { "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0xe7a87162494b0cbd1d4c4e12b6765c012de0e6cb664350ecdee855d22a01dd51" + "0x6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc7", + "0x42431213c2c25657b94612355a76ccb15d93dcaa1324f2367d51fd1787210ff2", + "0x0c93a8610904e6c7a2f4a1da8f5a2457200882eb5acb56045ea931dbf31a1c11", + "0x1682a52fd14049e3305cd6a00101da53e1a6ccd517535b9b86765d8849a7a6c0", + "0xf51a1ced999060d8ec7f0c8f8bdb0af1c3815afe88dbdc42bc1e8816ba0cac53", + "0x7d603234f8ef0a7fed0902951eed40d0ea9f66b7e86dfd3c376718344bd8b8be", + "0xf9383a448e02359a0fe5f06159c708a02804b30a1c2d1759b06e7862e2e15403", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0xca1595f6c23fb5c0edc576a56bd425811292514963a4804f1e025775d1b422fb", + "0x9109f6dc1648af2b44f2ca606ac3df18732c2a2337cb170ed04e727f0993fe90", + "0x2585c8f1a8afd5964fcd9a445540d6fdf9c1e36f0e5a4e7f1499668aabdb7719" ], "storage_written": { - "0xe7a87162494b0cbd1d4c4e12b6765c012de0e6cb664350ecdee855d22a01dd51": "0x62d702f16f762c62", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" + "0x0c93a8610904e6c7a2f4a1da8f5a2457200882eb5acb56045ea931dbf31a1c11": "0x5115d62423", + "0xf51a1ced999060d8ec7f0c8f8bdb0af1c3815afe88dbdc42bc1e8816ba0cac53": "0x6976a27f12", + "0x2585c8f1a8afd5964fcd9a445540d6fdf9c1e36f0e5a4e7f1499668aabdb7719": "0x2aca9d4f36c6", + "0x42431213c2c25657b94612355a76ccb15d93dcaa1324f2367d51fd1787210ff2": "0x1", + "0xf9383a448e02359a0fe5f06159c708a02804b30a1c2d1759b06e7862e2e15403": "0x35e87c5c0fe", + "0x9109f6dc1648af2b44f2ca606ac3df18732c2a2337cb170ed04e727f0993fe90": "0x6e88fbae936", + "0x7d603234f8ef0a7fed0902951eed40d0ea9f66b7e86dfd3c376718344bd8b8be": "0x401597b22662" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x49d4db941672a77d32af6747d690836f1a629e468784f9eff2632e70d0bf5a48" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f439f9a5c03bd" - }, - "0x036be6369d4d2883f3ce8da65e10bdfddbfb7d5d": { + "0xec6a6b7db761a5c9910ba8fcab98116d384b1b85": { "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", "0x0000000000000000000000000000000000000000000000000000000000000006", "0x0000000000000000000000000000000000000000000000000000000000000007", "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c" + "0x000000000000000000000000000000000000000000000000000000000000000a" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de700000000000062d702f16f762c6200000000000002f8cca06f04a175", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x3526f855e783e3fef223128849de7ef7bec", "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x5a78127fe4bca279c2def90d6fec0399a8" + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000001277d7deb6f151d2c0000000000000000401597b22662", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0xe21ed0341ce26794a4f29cd3219c3f34e3ab5098", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x10b425e1bc9741265631606f37b3ec4" }, "code_usage": { "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" @@ -3028,1423 +2520,3014 @@ } }, "meta": { - "byte_code": "0x02f902f301819e8405e69ec0850af16b160083037f40943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf60270000000000000000000000000000000000000000000000000000000000000002080c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000001675328a3097e900000000000000000000000000000000000000000000000002ec31bf748ecf4e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b18c8c017c8730c46f65d1151d7fdeb447670d52000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002ec31bf748ecf4ec080a060abc3b177e976a5390c52810bf65f56d0ea7e45a937e4188e0aabc5afeacbe7a008f05bf2945c0da445bf8c20fcea8f626ee5f99ad322f03663b924752bc1f7ce", - "new_txn_trie_node_byte": "0x02f902f301819e8405e69ec0850af16b160083037f40943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf60270000000000000000000000000000000000000000000000000000000000000002080c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000001675328a3097e900000000000000000000000000000000000000000000000002ec31bf748ecf4e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b18c8c017c8730c46f65d1151d7fdeb447670d52000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000002ec31bf748ecf4ec080a060abc3b177e976a5390c52810bf65f56d0ea7e45a937e4188e0aabc5afeacbe7a008f05bf2945c0da445bf8c20fcea8f626ee5f99ad322f03663b924752bc1f7ce", - "new_receipt_trie_node_byte": "0xb9057802f9057401835311e8b9010000200000000004000000001080000000000000000000000000000000000000000000000000000000000000000000080002000000880000000000000000200000010000080000000000004008000000200200000000400800000000000020000000000000000000000000000000001000000000040000040100000010000000000000008000000000000004000000000000000000400000080000024000000000020000000000000000000000000000000000000000000000004000000000000000000002000000000000000000000000000000000000001000000002000000000010200000080000000000000000000010001000000000000000000000000000f90469f89b94b18c8c017c8730c46f65d1151d7fdeb447670d52f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000af054fefbcae65406e3da38f3478b5389c598773a0000000000000000000000000b18c8c017c8730c46f65d1151d7fdeb447670d52a00000000000000000000000000000000000000000000000000000397df2059b1ef89b94b18c8c017c8730c46f65d1151d7fdeb447670d52f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000af054fefbcae65406e3da38f3478b5389c598773a0000000000000000000000000036be6369d4d2883f3ce8da65e10bdfddbfb7d5da000000000000000000000000000000000000000000000000000163bb4982afccbf89b94b18c8c017c8730c46f65d1151d7fdeb447670d52f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000af054fefbcae65406e3da38f3478b5389c598773a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0fffffffffffffffffffffffffffffffffffffffffffffffffef37854435da91ef89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000036be6369d4d2883f3ce8da65e10bdfddbfb7d5da00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000002f76ad06839e996f87994036be6369d4d2883f3ce8da65e10bdfddbfb7d5de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000002f8cca06f04a17500000000000000000000000000000000000000000000000062d702f16f762c62f8fc94036be6369d4d2883f3ce8da65e10bdfddbfb7d5df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000000000000163bb4982afccb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002f76ad06839e996f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000002f76ad06839e996", - "gas_used": 158489 + "byte_code": "0x02f905b6018187830f424085012a00a0bb83063fc9941111111254eeb25477b68fb85ed929f73a96058280b9054812aa3caf000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd090000000000000000000000004c19596f5aaff459fa38b0f7ed92f11ae6543784000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd090000000000000000000000004842a2f9e262226a40db37dd29746846a7451cc200000000000000000000000000000000000000000000000000000655b4bad2c90000000000000000000000000000000000000000000000001d8db53fc5135333000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a500000000000000000000000000000000038700037100032700006800004e802026678dcd4c19596f5aaff459fa38b0f7ed92f11ae6543784382ffce2287252f930e1c8dc9328dac5bf282ba10000000000000000000000000000000000000000000000000000001037913a6d0020d6bdbf784c19596f5aaff459fa38b0f7ed92f11ae654378400a0c9e75c48000000000000001c13030000000000000000000000000000000000000000000002910001b60000db00a007e5c0d20000000000000000000000000000000000000000000000000000b700007b0c204c19596f5aaff459fa38b0f7ed92f11ae654378487ea2b2037046a9af3284d6a7f5a137931dbba166ae4071198002dc6c087ea2b2037046a9af3284d6a7f5a137931dbba1600000000000000000000000000000000000000000000000001c08de81b5605144c19596f5aaff459fa38b0f7ed92f11ae65437844101c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200042e1a7d4d000000000000000000000000000000000000000000000000000000000000000000a007e5c0d20000000000000000000000000000000000000000000000000000b700007b0c204c19596f5aaff459fa38b0f7ed92f11ae6543784fceaaf9792139bf714a694f868a215493461446d6ae4071198002dc6c0fceaaf9792139bf714a694f868a215493461446d0000000000000000000000000000000000000000000000000b3b8a95c86b51ec4c19596f5aaff459fa38b0f7ed92f11ae65437844101c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200042e1a7d4d000000000000000000000000000000000000000000000000000000000000000000a007e5c0d20000000000000000000000000000000000000000000000000000b700007b0c204c19596f5aaff459fa38b0f7ed92f11ae6543784ec6a6b7db761a5c9910ba8fcab98116d384b1b856ae4071198002dc6c0ec6a6b7db761a5c9910ba8fcab98116d384b1b8500000000000000000000000000000000000000000000000010919cc1e151fc324c19596f5aaff459fa38b0f7ed92f11ae65437844101c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200042e1a7d4d000000000000000000000000000000000000000000000000000000000000000000a0f2fa6b66eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000001e77b2efed7ad9bc00000000000000000005fd4cfa18061fc0611111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000000000009a635db5c080a01b8cf09bb23e529ad3f36d69af34d46d125c50182414411f7ca3a84cec32dbf1a05e11ed2b47f48a31c8d0abd2c738e8e67b87b0dd819b3285a838f2b256a8c9f5", + "new_txn_trie_node_byte": "0x02f905b6018187830f424085012a00a0bb83063fc9941111111254eeb25477b68fb85ed929f73a96058280b9054812aa3caf000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd090000000000000000000000004c19596f5aaff459fa38b0f7ed92f11ae6543784000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd090000000000000000000000004842a2f9e262226a40db37dd29746846a7451cc200000000000000000000000000000000000000000000000000000655b4bad2c90000000000000000000000000000000000000000000000001d8db53fc5135333000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003a500000000000000000000000000000000038700037100032700006800004e802026678dcd4c19596f5aaff459fa38b0f7ed92f11ae6543784382ffce2287252f930e1c8dc9328dac5bf282ba10000000000000000000000000000000000000000000000000000001037913a6d0020d6bdbf784c19596f5aaff459fa38b0f7ed92f11ae654378400a0c9e75c48000000000000001c13030000000000000000000000000000000000000000000002910001b60000db00a007e5c0d20000000000000000000000000000000000000000000000000000b700007b0c204c19596f5aaff459fa38b0f7ed92f11ae654378487ea2b2037046a9af3284d6a7f5a137931dbba166ae4071198002dc6c087ea2b2037046a9af3284d6a7f5a137931dbba1600000000000000000000000000000000000000000000000001c08de81b5605144c19596f5aaff459fa38b0f7ed92f11ae65437844101c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200042e1a7d4d000000000000000000000000000000000000000000000000000000000000000000a007e5c0d20000000000000000000000000000000000000000000000000000b700007b0c204c19596f5aaff459fa38b0f7ed92f11ae6543784fceaaf9792139bf714a694f868a215493461446d6ae4071198002dc6c0fceaaf9792139bf714a694f868a215493461446d0000000000000000000000000000000000000000000000000b3b8a95c86b51ec4c19596f5aaff459fa38b0f7ed92f11ae65437844101c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200042e1a7d4d000000000000000000000000000000000000000000000000000000000000000000a007e5c0d20000000000000000000000000000000000000000000000000000b700007b0c204c19596f5aaff459fa38b0f7ed92f11ae6543784ec6a6b7db761a5c9910ba8fcab98116d384b1b856ae4071198002dc6c0ec6a6b7db761a5c9910ba8fcab98116d384b1b8500000000000000000000000000000000000000000000000010919cc1e151fc324c19596f5aaff459fa38b0f7ed92f11ae65437844101c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200042e1a7d4d000000000000000000000000000000000000000000000000000000000000000000a0f2fa6b66eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000001e77b2efed7ad9bc00000000000000000005fd4cfa18061fc0611111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000000000009a635db5c080a01b8cf09bb23e529ad3f36d69af34d46d125c50182414411f7ca3a84cec32dbf1a05e11ed2b47f48a31c8d0abd2c738e8e67b87b0dd819b3285a838f2b256a8c9f5", + "new_receipt_trie_node_byte": "0xb90c7302f90c6f01833922d9b90100002000100000010000800000800000000000000000000000000000000000000000000000000200020000000080000000022000000800000000000000002200000000000000000a0400000008000000200000002000400001080000000000000000000000000000000000000008000080000000010000040000002010000000020000000020000000000000010000000000002000040000080000004000021000020000400000000000000000000004000040000000200000000004000000000000000002000000000000080000000000000000000000001000000002000000000010200000000000000400000000000000000000000000400000000000000000f90b64f89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000004842a2f9e262226a40db37dd29746846a7451cc2a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a000000000000000000000000000000000000000000000000000000655b4bad2c9f89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000004842a2f9e262226a40db37dd29746846a7451cc2a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000000000000000000000000000000000005115d62423f89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba1a00000000000000000000000000000000000000000000000000000001037913a6df89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a000000000000000000000000087ea2b2037046a9af3284d6a7f5a137931dbba16a000000000000000000000000000000000000000000000000000000060544f4bb3f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000087ea2b2037046a9af3284d6a7f5a137931dbba16a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a000000000000000000000000000000000000000000000000001ce6d58da33bb57f8799487ea2b2037046a9af3284d6a7f5a137931dbba16e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000000006e88fbae9360000000000000000000000000000000000000000000000001f73ac645716b725f8fc9487ea2b2037046a9af3284d6a7f5a137931dbba16f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09b88000000000000000000000000000000000000000000000000000000060544f4bb30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ce6d58da33bb57f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a000000000000000000000000000000000000000000000000001ce6d58da33bb57f89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000fceaaf9792139bf714a694f868a215493461446da00000000000000000000000000000000000000000000000000000026215f634c7f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000fceaaf9792139bf714a694f868a215493461446da0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000000000000000000000000000000b9479c200c7ae9cf87994fceaaf9792139bf714a694f868a215493461446de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000000002aca9d4f36c6000000000000000000000000000000000000000000000000c4f07b01e9d05d8af8fc94fceaaf9792139bf714a694f868a215493461446df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09b8800000000000000000000000000000000000000000000000000000026215f634c7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b9479c200c7ae9cf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000000000000000000000000000000b9479c200c7ae9cf89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000ec6a6b7db761a5c9910ba8fcab98116d384b1b85a00000000000000000000000000000000000000000000000000000038312e417e2f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ec6a6b7db761a5c9910ba8fcab98116d384b1b85a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000000000000000000000000000001114cbd512889fb2f87994ec6a6b7db761a5c9910ba8fcab98116d384b1b85e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000000000401597b22662000000000000000000000000000000000000000000000001277d7deb6f151d2cf8fc94ec6a6b7db761a5c9910ba8fcab98116d384b1b85f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09b8800000000000000000000000000000000000000000000000000000038312e417e2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001114cbd512889fb2f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000000000000000000000000000001114cbd512889fb2", + "gas_used": 331820 } }, { "traces": { - "0x4c9edd5852cd905f086c759e8383e09bff1e68b3": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x714e5f107a56009b" + }, + "0xfceaaf9792139bf714a694f868a215493461446d": { "storage_read": [ - "0x36d46e071a851eb6e97a0a5fc317395bbf085dd54aa8b07860731deadfbe065c", - "0xb34965ab7fa0761cfa854596b7cff62846ccf3f6cacc57aeb5091addb71f40ee", - "0x6e9ed98f3802bfbd788a5b408bbc6863e0f16bd4eacf69402844680650faf15f" + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007" ], "storage_written": { - "0x6e9ed98f3802bfbd788a5b408bbc6863e0f16bd4eacf69402844680650faf15f": "0x0", - "0x36d46e071a851eb6e97a0a5fc317395bbf085dd54aa8b07860731deadfbe065c": "0x1cd08fbc98519f397dacc", - "0xb34965ab7fa0761cfa854596b7cff62846ccf3f6cacc57aeb5091addb71f40ee": "0x0" + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000000d082656d3f6215320000000000000000286c79e71f08" }, "code_usage": { - "read": "0x6ca5462ff0355c610301f701d0bb1136becca144e195da86d240b5e604ef9625" + "read": "0xcd82e2d9daddbf51cbce8d5429a0996e16fc670c4056566f19cf8864ad45a746" } }, - "0x436902d3e7b45a1d90791049d369283b49a032aa": { - "balance": "0x4ab5ddcecef303", - "nonce": "0x229" - }, - "0x0000000000000000000000000000000000000004": {}, - "0xf55b0f6f2da5ffddb104b58a60f2862745960442": { + "0xec6a6b7db761a5c9910ba8fcab98116d384b1b85": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x000000000000000000000000000000000000000000000000000000000000002b", - "0x000000000000000000000000000000000000000000000000000000000000002d", - "0x20973cfd05b47d6e15fb2951d8f0a1f1ac91025572e70c203d7361e1cf876b83", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000019", - "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x0000000000000000000000000000000000000000000000000000000000000022", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0x0000000000000000000000000000000000000000000000000000000000000031", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x000000000000000000000000000000000000000000000000000000000000002e", - "0x000000000000000000000000000000000000000000000000000000000000002c", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000011", - "0x000000000000000000000000000000000000000000000000000000000000001b", - "0x0000000000000000000000000000000000000000000000000000000000000023" + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000023": "0xdd1c8040e7cc66300000000000000000dd22ac31b61415d", - "0x000000000000000000000000000000000000000000000000000000000000002b": "0x35114e461b4bdbcff543a0000000000063513c70b32d21dbc39b0", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x3", - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x1cd08fbc98519f397dacc", - "0x0000000000000000000000000000000000000000000000000000000000000011": "0x55e45545d649d267f", - "0x0000000000000000000000000000000000000000000000000000000000000012": "0x2fcac458e31f099b7", - "0x0000000000000000000000000000000000000000000000000000000000000022": "0x1", - "0x000000000000000000000000000000000000000000000000000000000000002e": "0x65cf5de700000000000000000000000065cf5de7", - "0x0000000000000000000000000000000000000000000000000000000000000031": "0x6349009af63cfc465ebef", - "0x20973cfd05b47d6e15fb2951d8f0a1f1ac91025572e70c203d7361e1cf876b83": "0x92ab0812d2137b39a9" + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b0000000000013910465fc5cf9d3d00000000000000003c7f4be16c5c", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" }, "code_usage": { - "read": "0x1ae216d13259d3e2088f002c586ba617e8335d5618a35c3111fb762606a41e7b" + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f518c77e22cbd" - } - }, - "meta": { - "byte_code": "0x02f901130182022884055d4a8085095160bd008303ae3f94f55b0f6f2da5ffddb104b58a60f286274596044280b8a4b72df5de00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000929fc476249942d7b9000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000009259f7eeb178d8d6a20000000000000000000000000000000000000000000000000000000000000000c080a0af8968a987e7dafa180757fe4a6f85d369269ec616f62fe19733c00f1ceb452fa0140366dac2f976831d54cc1ea255141b6874e894050fc4d7bdf757b609956568", - "new_txn_trie_node_byte": "0x02f901130182022884055d4a8085095160bd008303ae3f94f55b0f6f2da5ffddb104b58a60f286274596044280b8a4b72df5de00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000929fc476249942d7b9000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000009259f7eeb178d8d6a20000000000000000000000000000000000000000000000000000000000000000c080a0af8968a987e7dafa180757fe4a6f85d369269ec616f62fe19733c00f1ceb452fa0140366dac2f976831d54cc1ea255141b6874e894050fc4d7bdf757b609956568", - "new_receipt_trie_node_byte": "0xb9048502f90481018355aa72b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000008000000100000000200000000000000000000000000008000000000000000000000000000000000000800000000000020000000000000000000800000001000000000000000010000000000000002000000000000000002000000000000000008000000000000000000000020000000000000800000000000000000000000040100000000000000000000000000002000000000000000002000100000000100000000000000000000020000010000080000000000000000000000000000000000000000000000000000000f90376f89b944c9edd5852cd905f086c759e8383e09bff1e68b3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000436902d3e7b45a1d90791049d369283b49a032aaa0000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442a00000000000000000000000000000000000000000000000000000000000000000f89b944c9edd5852cd905f086c759e8383e09bff1e68b3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000436902d3e7b45a1d90791049d369283b49a032aaa0000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442a000000000000000000000000000000000000000000000009259f7eeb178d8d6a2f89b94f55b0f6f2da5ffddb104b58a60f2862745960442f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000436902d3e7b45a1d90791049d369283b49a032aaa0000000000000000000000000000000000000000000000092ab0812d2137b39a9f9019c94f55b0f6f2da5ffddb104b58a60f2862745960442f842a0189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2a0000000000000000000000000436902d3e7b45a1d90791049d369283b49a032aab90140000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000063513c70b32d21dbc39b000000000000000000000000000000000000000000006349009af63cfc465ebef000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000009259f7eeb178d8d6a200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000016896caa6c81fc9000000000000000000000000000000000000000000000000015e0fd154e9a90a", - "gas_used": 170122 - } - }, - { - "traces": { - "0xf939e0a03fb07f59a73314e73794be0e57ac1b4e": { + "0xc6fecdf760af24095cded954de7d81ab49f8bae1": { + "balance": "0x13dd20107b91fe443", "storage_read": [ - "0x808a60166465dd78807ec96a5a3d62c5463310f575281f19fc02b7ed98823407", - "0x8a4afeaebb077a2ba2458664089008db4ea0ccb912dfe2c2feb14ef3f11f414a", - "0x2059ae27eb003394c7b550734e0b1554c1e54648ea6b6ce36d0919e655847166" + "0xe1592813cbda983f4dfd542dd95c0f40be5f7f7eeb9bb3c59a09081cad2a562b" ], - "storage_written": { - "0x808a60166465dd78807ec96a5a3d62c5463310f575281f19fc02b7ed98823407": "0x0", - "0x8a4afeaebb077a2ba2458664089008db4ea0ccb912dfe2c2feb14ef3f11f414a": "0x468a67d1c01c1175e329d", - "0x2059ae27eb003394c7b550734e0b1554c1e54648ea6b6ce36d0919e655847166": "0x0" - }, "code_usage": { - "read": "0x7d33300cc75c4738e04e1f8c838b8b4fbb1c40d046131088463f70f9c712325f" + "read": "0x75e3cab4a562f6b21080ebe229a131167a033fc14f26fa3bc52fadefed2054db" } }, - "0x3622c0b06ff5be5ac1690e9c99cc6b450f178626": { - "balance": "0xc7d76cf4ca8aac", - "nonce": "0x2a" - }, - "0x0000000000000000000000000000000000000004": {}, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f615d3de9c23d" - }, - "0x4c9edd5852cd905f086c759e8383e09bff1e68b3": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { "storage_read": [ - "0x36d46e071a851eb6e97a0a5fc317395bbf085dd54aa8b07860731deadfbe065c", - "0x3281bd50a6defc83d376ced1110b4b92e2fedc448c3583cb65c87f617206ebef", - "0xe0357b72c8840ea393b1f562553cc74f336c581f866bfd0d9e3ff2d824b5161c" + "0x59d4609835403825c6b59fc271728a39ffc9d771d23b5e40d45b3cea4ccb69dd", + "0x0592cb2ac66491e80183860ecffee687cbefbc41e7cfe5feea9d6831d625cf51", + "0x77de93e5b62f558c65a377bb39872b707ab595087b191c1a4f0b224eda1ebd73" ], "storage_written": { - "0x3281bd50a6defc83d376ced1110b4b92e2fedc448c3583cb65c87f617206ebef": "0x44a0743f951464d19", - "0x36d46e071a851eb6e97a0a5fc317395bbf085dd54aa8b07860731deadfbe065c": "0x1cd0a17ac65e5c5696c10", - "0xe0357b72c8840ea393b1f562553cc74f336c581f866bfd0d9e3ff2d824b5161c": "0x44a0743f951464d19" + "0x77de93e5b62f558c65a377bb39872b707ab595087b191c1a4f0b224eda1ebd73": "0xd082656d3f621532", + "0x0592cb2ac66491e80183860ecffee687cbefbc41e7cfe5feea9d6831d625cf51": "0x13910465fc5cf9d3d", + "0x59d4609835403825c6b59fc271728a39ffc9d771d23b5e40d45b3cea4ccb69dd": "0x306344dc6742e7193" }, "code_usage": { - "read": "0x6ca5462ff0355c610301f701d0bb1136becca144e195da86d240b5e604ef9625" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0xf55b0f6f2da5ffddb104b58a60f2862745960442": { + "0x4c19596f5aaff459fa38b0f7ed92f11ae6543784": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000001b", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x000000000000000000000000000000000000000000000000000000000000002b", - "0xd79ffbfb4d3d426603726931e059f80b4b9620445f9e8d5f182d808dc0282901", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000019", - "0x0000000000000000000000000000000000000000000000000000000000000011", - "0x0000000000000000000000000000000000000000000000000000000000000022", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x0000000000000000000000000000000000000000000000000000000000000031", - "0x000000000000000000000000000000000000000000000000000000000000002e", - "0x0000000000000000000000000000000000000000000000000000000000000023", - "0x000000000000000000000000000000000000000000000000000000000000002c", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x000000000000000000000000000000000000000000000000000000000000002d", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc7", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x72e6148bac3bd14c8358fcf6403562ea77884ae2a3d8798d3ab75d8e7940ff56", + "0x2585c8f1a8afd5964fcd9a445540d6fdf9c1e36f0e5a4e7f1499668aabdb7719", + "0x6394776faed7904ae3edf18bbf94795b1cebe9031fa028e69e20379b92a91aca", + "0x7d603234f8ef0a7fed0902951eed40d0ea9f66b7e86dfd3c376718344bd8b8be", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x09583c56b279faae7ef3ea97a30f502ed26e0def070a0c86ce787f9f2d1e51b3", + "0x43d944134258d7b383c13216ee66b2f9b49214343db3ff9ef75b44d0885d3b44", + "0x0dff3c552bebdb607e3689d2db008c029bec68bf8d2ad1ec1b9d2ed1eb4114fb" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000031": "0x63493dd9664d0ddb38743", - "0x0000000000000000000000000000000000000000000000000000000000000003": "0x468a67d1c01c1175e329d", - "0x0000000000000000000000000000000000000000000000000000000000000012": "0x2fcac46617edde567", - "0x000000000000000000000000000000000000000000000000000000000000002e": "0x65cf5de700000000000000000000000065cf5de7", - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x1cd0a17ac65e5c5696c10", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x3", - "0x0000000000000000000000000000000000000000000000000000000000000011": "0x55e45553708c558d7", - "0x0000000000000000000000000000000000000000000000000000000000000022": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000023": "0xdd1c8040e7cc66300000000000000000dd22ac3177fb023", - "0xd79ffbfb4d3d426603726931e059f80b4b9620445f9e8d5f182d808dc0282901": "0x3d3e70101194d9b54", - "0x000000000000000000000000000000000000000000000000000000000000002b": "0x35114e461b4bdbcff543a00000000000635179ca6fc45b0ce2536" + "0x72e6148bac3bd14c8358fcf6403562ea77884ae2a3d8798d3ab75d8e7940ff56": "0x0", + "0x0dff3c552bebdb607e3689d2db008c029bec68bf8d2ad1ec1b9d2ed1eb4114fb": "0x5f46f38d1c4", + "0x7d603234f8ef0a7fed0902951eed40d0ea9f66b7e86dfd3c376718344bd8b8be": "0x3c7f4be16c5c", + "0x2585c8f1a8afd5964fcd9a445540d6fdf9c1e36f0e5a4e7f1499668aabdb7719": "0x286c79e71f08" }, "code_usage": { - "read": "0x1ae216d13259d3e2088f002c586ba617e8335d5618a35c3111fb762606a41e7b" + "read": "0x49d4db941672a77d32af6747d690836f1a629e468784f9eff2632e70d0bf5a48" } - } - }, - "meta": { - "byte_code": "0x02f90111012984055d4a8085095160bd008304252594f55b0f6f2da5ffddb104b58a60f286274596044280b8a4b72df5de0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000003d39bc473f454f9a300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000011be2e0cbd1d19144000000000000000000000000000000000000000000000002b8af20046a2c0745c001a079311c8dce68c7779b106d78497163d955a9a57669053471b59879e3a83bb779a05a0c3e552e60a5e7a41b530d4ddc1f96fd691e0b234c676aca7a39872c5a4b1d", - "new_txn_trie_node_byte": "0x02f90111012984055d4a8085095160bd008304252594f55b0f6f2da5ffddb104b58a60f286274596044280b8a4b72df5de0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000003d39bc473f454f9a300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000011be2e0cbd1d19144000000000000000000000000000000000000000000000002b8af20046a2c0745c001a079311c8dce68c7779b106d78497163d955a9a57669053471b59879e3a83bb779a05a0c3e552e60a5e7a41b530d4ddc1f96fd691e0b234c676aca7a39872c5a4b1d", - "new_receipt_trie_node_byte": "0xb905bf02f905bb0183589d31b9010000000000000000000000000000000020000000000200000000000000000000000000000000000000000000000000000800000000008000000000000000200000000000000000000000000008000000000000000000000000000000000000800000000000020000000000000000000800000001000000000000000010000000000000002000000000000000002000000000000000008000000000000040000000020000000000008000000000000000000000000040100000000000000000000000000002000000200000000000000100000000100000000000000000000020002010000080000000000000000000000000000000000000000000000000000000f904b0f89b944c9edd5852cd905f086c759e8383e09bff1e68b3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000003622c0b06ff5be5ac1690e9c99cc6b450f178626a0000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442a00000000000000000000000000000000000000000000000044a0743f951464d19f89b944c9edd5852cd905f086c759e8383e09bff1e68b3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003622c0b06ff5be5ac1690e9c99cc6b450f178626a0000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442a00000000000000000000000000000000000000000000000011be2e0cbd1d19144f89b94f939e0a03fb07f59a73314e73794be0e57ac1b4ef863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000003622c0b06ff5be5ac1690e9c99cc6b450f178626a0000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442a00000000000000000000000000000000000000000000000000000000000000000f89b94f939e0a03fb07f59a73314e73794be0e57ac1b4ef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003622c0b06ff5be5ac1690e9c99cc6b450f178626a0000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442a0000000000000000000000000000000000000000000000002b8af20046a2c0745f89b94f55b0f6f2da5ffddb104b58a60f2862745960442f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000003622c0b06ff5be5ac1690e9c99cc6b450f178626a0000000000000000000000000000000000000000000000003d3e70101194d9b54f9019c94f55b0f6f2da5ffddb104b58a60f2862745960442f842a0189c623b666b1b45b83d7178f39b8c087cb09774317ca2f53c2d3c3726f222a2a00000000000000000000000003622c0b06ff5be5ac1690e9c99cc6b450f178626b90140000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000635179ca6fc45b0ce2536000000000000000000000000000000000000000000063493dd9664d0ddb3874300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000011be2e0cbd1d19144000000000000000000000000000000000000000000000002b8af20046a2c07450000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000001b3485064b0000000000000000000000000000000000000000000000000000001a699da9761", - "gas_used": 193215 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f6523317db4bd" }, - "0x8a3e74407aad1682c91a175e39424c90acfc81bd": { - "balance": "0x1c7cc2f44ef67e7", - "nonce": "0x52e4" + "0x7088659e96e5dcc91608d871937bdb5fa0776bac": { + "balance": "0xf615b358a4f97cb", + "nonce": "0x4d26" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { - "storage_read": [ - "0xc1b47e0a32617f34fcae62cf56369b08546af7d1a8f42f7d7c40dec8febd3cfb", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0xcf72a386cec5a45cc4b96044ec1b639b4f865d62125c9f907c5d98f0b0252162", - "0x6be191e3b07007fd7c4cca951c0d28922383024cb44d6e109ba0a63d1008355c", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "storage_written": { - "0x6be191e3b07007fd7c4cca951c0d28922383024cb44d6e109ba0a63d1008355c": "0x3a80f765", - "0xcf72a386cec5a45cc4b96044ec1b639b4f865d62125c9f907c5d98f0b0252162": "0x15e9c4b0a" - }, + "0x095527f5bea113e9575b662c5ba01d990a280f2f": { "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x3216a8bddf1a8e4bebc2106295e25660bc69867ceb97d074d621ddcba08eeb18" } } }, "meta": { - "byte_code": "0x02f8b2018252e384055d4a8085085b1c94e282c61294dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000b4d70c2b0047cb8697f7087a5462b5a5896482010000000000000000000000000000000000000000000000000000000001253decc080a0ee63ccb2b97fa836b63a350c6681788f3330e095a660b1cd508cc25700ef2350a02e9c74a3e6373dd782008abe8a9586fcd0a1ff9c46cd8123bab818ba4b3b776e", - "new_txn_trie_node_byte": "0x02f8b2018252e384055d4a8085085b1c94e282c61294dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000b4d70c2b0047cb8697f7087a5462b5a5896482010000000000000000000000000000000000000000000000000000000001253decc080a0ee63ccb2b97fa836b63a350c6681788f3330e095a660b1cd508cc25700ef2350a02e9c74a3e6373dd782008abe8a9586fcd0a1ff9c46cd8123bab818ba4b3b776e", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183595142b9010000000000010000000000000000000000000000000040000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000800000000000000000000002000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008a3e74407aad1682c91a175e39424c90acfc81bda0000000000000000000000000b4d70c2b0047cb8697f7087a5462b5a589648201a00000000000000000000000000000000000000000000000000000000001253dec", - "gas_used": 46097 + "byte_code": "0x02f9035001824d2580850144cc616f830dbba094c6fecdf760af24095cded954de7d81ab49f8bae180b902e4e16dd1ef00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000724524696564705bba2618664bcd7a50f0515c6000000000000000000000000000000000000000000000000000005f46f38d1c400000000000000000000000000000000000000000000000001457586de3fe500000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000119421f60318d00d000000000000000000000000000000000000000000000000000003964bd0ba060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000028c02aaa39b223fe8d0a0e5c4f27ead9083c756cc24c19596f5aaff459fa38b0f7ed92f11ae65437840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b92cde4f76e8ff20000000000000000000000000000000000000000000000000000025e236817be0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000028c02aaa39b223fe8d0a0e5c4f27ead9083c756cc24c19596f5aaff459fa38b0f7ed92f11ae6543784000000000000000000000000000000000000000000000000c080a027b33f575dea52716a878eb414aa4a1d8f26b32baea014492ea97c2de5e20a37a056c1394d58150dae3b5f50a806329e6e811124e40ea5d2217716751bf06aa3a5", + "new_txn_trie_node_byte": "0x02f9035001824d2580850144cc616f830dbba094c6fecdf760af24095cded954de7d81ab49f8bae180b902e4e16dd1ef00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000724524696564705bba2618664bcd7a50f0515c6000000000000000000000000000000000000000000000000000005f46f38d1c400000000000000000000000000000000000000000000000001457586de3fe500000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000119421f60318d00d000000000000000000000000000000000000000000000000000003964bd0ba060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000028c02aaa39b223fe8d0a0e5c4f27ead9083c756cc24c19596f5aaff459fa38b0f7ed92f11ae65437840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b92cde4f76e8ff20000000000000000000000000000000000000000000000000000025e236817be0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000028c02aaa39b223fe8d0a0e5c4f27ead9083c756cc24c19596f5aaff459fa38b0f7ed92f11ae6543784000000000000000000000000000000000000000000000000c080a027b33f575dea52716a878eb414aa4a1d8f26b32baea014492ea97c2de5e20a37a056c1394d58150dae3b5f50a806329e6e811124e40ea5d2217716751bf06aa3a5", + "new_receipt_trie_node_byte": "0xb9071202f9070e01833c5cc4b9010000200000000000000080000080000000000000000000000000000000000000000000000000020002000000000000000002000000080000000000010000000000000000000000020400000008000000200000000000000000800000000000000000000000000000000000000208000080000000000000000000002010000000060000000020000000000000010000000000000000040000080000004000400000000000400000000000000000000000000000000000200000000004000000000000000002040000000000000000000000000000000000001000000000000000000000200000000000000000000000000000000000000000000000000000000000f90603f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c6fecdf760af24095cded954de7d81ab49f8bae1a0000000000000000000000000ec6a6b7db761a5c9910ba8fcab98116d384b1b85a00000000000000000000000000000000000000000000000001192c87456ba8011f89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ec6a6b7db761a5c9910ba8fcab98116d384b1b85a0000000000000000000000000c6fecdf760af24095cded954de7d81ab49f8bae1a0000000000000000000000000000000000000000000000000000003964bd0ba06f87994ec6a6b7db761a5c9910ba8fcab98116d384b1b85e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000000003c7f4be16c5c0000000000000000000000000000000000000000000000013910465fc5cf9d3df8fc94ec6a6b7db761a5c9910ba8fcab98116d384b1b85f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000c6fecdf760af24095cded954de7d81ab49f8bae1a0000000000000000000000000c6fecdf760af24095cded954de7d81ab49f8bae1b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001192c87456ba8011000000000000000000000000000000000000000000000000000003964bd0ba060000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c6fecdf760af24095cded954de7d81ab49f8bae1a0000000000000000000000000fceaaf9792139bf714a694f868a215493461446da00000000000000000000000000000000000000000000000000b91ea6b5591b7a8f89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000fceaaf9792139bf714a694f868a215493461446da0000000000000000000000000c6fecdf760af24095cded954de7d81ab49f8bae1a00000000000000000000000000000000000000000000000000000025e236817bef87994fceaaf9792139bf714a694f868a215493461446de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000000000286c79e71f08000000000000000000000000000000000000000000000000d082656d3f621532f8fc94fceaaf9792139bf714a694f868a215493461446df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000c6fecdf760af24095cded954de7d81ab49f8bae1a0000000000000000000000000c6fecdf760af24095cded954de7d81ab49f8bae1b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b91ea6b5591b7a80000000000000000000000000000000000000000000000000000025e236817be0000000000000000000000000000000000000000000000000000000000000000f89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c6fecdf760af24095cded954de7d81ab49f8bae1a00000000000000000000000000724524696564705bba2618664bcd7a50f0515c6a0000000000000000000000000000000000000000000000000000005f46f38d1c4", + "gas_used": 211435 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f698cf816d03d" - }, - "0x9ff33abf9834c0a447d02751fd0d769fcca7cf3f": { - "balance": "0x10f605cabd82f01", - "nonce": "0x1b" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x715a0bd3e1e7689b" }, - "0x9c056dbba1db552c72d1bf852882142dc5ebb5b1": { - "code_usage": { - "read": "0x7787b3e67256b8a481427e3c5a882ccb035d63878fcad59ff02c7837803c5cb8" - } + "0xfade03e325d6201fce60abe0ee00da3c5e8749b0": { + "balance": "0x5f424b859a891e0", + "nonce": "0x633" }, - "0x4b5f49487ea7b3609b1ad05459be420548789f1f": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b819afbcf34f0531ac4", "storage_read": [ - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000065", - "0x85858163b5cef519bbdf59ec22b9230bd481a2f9ff4215d8850b83abdfcaef41", - "0xf02831722a1a1343177a1bfb0b95d808f059110c1336bfc33eef024f0703da34" + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f", + "0x19dc01d1ffaea7effea9aec856575d69fceae997447a407f347741e924e8a987" ], "storage_written": { - "0xf02831722a1a1343177a1bfb0b95d808f059110c1336bfc33eef024f0703da34": "0x1705ba4a05e9dd64d730000", - "0x85858163b5cef519bbdf59ec22b9230bd481a2f9ff4215d8850b83abdfcaef41": "0x0" + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f": "0x0", + "0x19dc01d1ffaea7effea9aec856575d69fceae997447a407f347741e924e8a987": "0x2580c93a8c596448f" }, "code_usage": { - "read": "0x330b9f1afee9d71fb2ee42927a996a39889a45323883a66a194e210ab850d111" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } - } - }, - "meta": { - "byte_code": "0x02f8b0011a84055d4a8085083df60ab382fe4e944b5f49487ea7b3609b1ad05459be420548789f1f80b844a9059cbb00000000000000000000000028e526aec973f6e90f56770a17787fffd70aefe7000000000000000000000000000000000000000001705ba4a05e9dd64d730000c001a0fa6d512969f7165485932db4fca3fe53d51b382ef8ada49303a690f925f83be8a060ace8537cc4ba66bb483515400d88ab6755ec47585ab7d022c8c57d57a942aa", - "new_txn_trie_node_byte": "0x02f8b0011a84055d4a8085083df60ab382fe4e944b5f49487ea7b3609b1ad05459be420548789f1f80b844a9059cbb00000000000000000000000028e526aec973f6e90f56770a17787fffd70aefe7000000000000000000000000000000000000000001705ba4a05e9dd64d730000c001a0fa6d512969f7165485932db4fca3fe53d51b382ef8ada49303a690f925f83be8a060ace8537cc4ba66bb483515400d88ab6755ec47585ab7d022c8c57d57a942aa", - "new_receipt_trie_node_byte": "0xb901ab02f901a701835a23ddb9010000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000004000000010000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800010010000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000008000000000000000000000000002000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000200000000000000f89df89b944b5f49487ea7b3609b1ad05459be420548789f1ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009ff33abf9834c0a447d02751fd0d769fcca7cf3fa000000000000000000000000028e526aec973f6e90f56770a17787fffd70aefe7a0000000000000000000000000000000000000000001705ba4a05e9dd64d730000", - "gas_used": 53915 - } - }, - { - "traces": { - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + }, + "0x66d5871236685ec4470142b6ed86b61fcad0059a": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x53cffb4a62403f025b765b6634c030", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x2a93cdc0b94380494718346ec12d66bce118", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000002580c93a8c596448f00000000000000101711daf96427" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x1776b223ff636d0d76adf2290821f176421dd889": { "storage_read": [ - "0x9413d1ecba8c335070150521a34d8d8b507bd393d11746be7b19ae07d61e9abd", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x000000000000000000000000000000000000000000000000000000000000000f", "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x712819b41c931dd37b5b03af99944c0ed0039f70b3a252ec1369e5e452092057", - "0xc3c27a409f0150c25bf907b77516f37368db92463047168f55573614fe888785", - "0x0000000000000000000000000000000000000000000000000000000000000000" + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0xf84f891cfa668e8eaf9079317da476139a6b1d5eec59f5d12fd802a3a98254da", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0xff9766f7776191349f7d7840130875cc6e89eda3edf01348e0c28e791a96cac0", + "0x757f2010b83a236dc8a4401e701b98b4b4819bb701845722e51cef009946065e", + "0x8544eef2958dd7a4cf4a38efe7eedf61133661ab624e5bea1d832d28301ff88e", + "0x47ad83a9535e8b4365a552580f8feb5aa76de8d7a67b5ed0d03cc816d34bcd62", + "0xe09154472e6878c5f35e5af2ef301e4b68365fcbf946e2be794cfd495dca999e", + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x0000000000000000000000000000000000000000000000000000000000000008" ], "storage_written": { - "0x712819b41c931dd37b5b03af99944c0ed0039f70b3a252ec1369e5e452092057": "0x1c7320453", - "0xc3c27a409f0150c25bf907b77516f37368db92463047168f55573614fe888785": "0x47508558" + "0x000000000000000000000000000000000000000000000000000000000000000e": "0x9e7", + "0xf84f891cfa668e8eaf9079317da476139a6b1d5eec59f5d12fd802a3a98254da": "0x101711daf96427", + "0x47ad83a9535e8b4365a552580f8feb5aa76de8d7a67b5ed0d03cc816d34bcd62": "0xbae40a2e2a10", + "0x8544eef2958dd7a4cf4a38efe7eedf61133661ab624e5bea1d832d28301ff88e": "0x568c4544bf5ce" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x2c467272abe400df3dff1c92fd2077dc5b856ab58f27222034e10766b0874abd" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f6d532c0a40bd" + "0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5": { + "code_usage": { + "read": "0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127" + } }, - "0xb2514f4222fd474ff2cee2fe595ef2e7579779b1": { - "balance": "0x308ad2cada928b7", - "nonce": "0xd8" + "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae" + } } }, "meta": { - "byte_code": "0x02f8b10181d784055d4a8085083df60ab382c61f94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000001f568fbac53da4a81ce61425ef48dbf76d84b4c100000000000000000000000000000000000000000000000000000000052ac74fc001a07316485202399318c6974901fbd43d6eff1ca9829969940d62db858df4d21b95a049f6da1f2b1f170b591fa8b2b82518abb108dbfd42437ddb68d59bd6d4977d4f", - "new_txn_trie_node_byte": "0x02f8b10181d784055d4a8085083df60ab382c61f94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000001f568fbac53da4a81ce61425ef48dbf76d84b4c100000000000000000000000000000000000000000000000000000000052ac74fc001a07316485202399318c6974901fbd43d6eff1ca9829969940d62db858df4d21b95a049f6da1f2b1f170b591fa8b2b82518abb108dbfd42437ddb68d59bd6d4977d4f", - "new_receipt_trie_node_byte": "0xb901ab02f901a701835ad7fab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010000000000000000000000000000000000000000000000000000000008000000000000008000000000000000000000000000000000000000000000000000000000002100000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000200000000002000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b2514f4222fd474ff2cee2fe595ef2e7579779b1a00000000000000000000000001f568fbac53da4a81ce61425ef48dbf76d84b4c1a000000000000000000000000000000000000000000000000000000000052ac74f", - "gas_used": 46109 + "byte_code": "0x02f9015c018206328504a817c80085060d771bca83045c939480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e8806f05b59d3b20000b8e4b6f9de9500000000000000000000000000000000000000000000000000001337d18fc19c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000fade03e325d6201fce60abe0ee00da3c5e8749b0000000000000000000000000000000000000000000000000000000006632d06c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000001776b223ff636d0d76adf2290821f176421dd889c001a0bb8fad29f999d7c1b213c9e33fed81ef69891af57d0b0ecdf36644229957b1eaa054dd5d1102f35d6ff0d3a9018c666557de9c892f27f9caa3ba661e55d1fff8b1", + "new_txn_trie_node_byte": "0x02f9015c018206328504a817c80085060d771bca83045c939480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e8806f05b59d3b20000b8e4b6f9de9500000000000000000000000000000000000000000000000000001337d18fc19c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000fade03e325d6201fce60abe0ee00da3c5e8749b0000000000000000000000000000000000000000000000000000000006632d06c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000001776b223ff636d0d76adf2290821f176421dd889c001a0bb8fad29f999d7c1b213c9e33fed81ef69891af57d0b0ecdf36644229957b1eaa054dd5d1102f35d6ff0d3a9018c666557de9c892f27f9caa3ba661e55d1fff8b1", + "new_receipt_trie_node_byte": "0xb904db02f904d701833ede99b90100002000000000000400000000800000000000000000000000000000000000000002000000000004000000000000000000020000000c0000000000000000000400000000008000000000000008000000200000000100000000200000008000000000000000000000020000400000000000000000000000080000000010000000000000000000000000000000000000000000400001000000080000004000000000000000000000000000000000000000000000000000000000000000000000000000002002000000004000040000000000000000000000001040000000000000000040200000000000000000000000000000000000000008400000000000000000f903ccf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000000000000000000000000000006f05b59d3b20000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000066d5871236685ec4470142b6ed86b61fcad0059aa000000000000000000000000000000000000000000000000006f05b59d3b20000f89b941776b223ff636d0d76adf2290821f176421dd889f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000066d5871236685ec4470142b6ed86b61fcad0059aa00000000000000000000000001776b223ff636d0d76adf2290821f176421dd889a0000000000000000000000000000000000000000000000000000000f5fdad967bf89b941776b223ff636d0d76adf2290821f176421dd889f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000066d5871236685ec4470142b6ed86b61fcad0059aa0000000000000000000000000fade03e325d6201fce60abe0ee00da3c5e8749b0a000000000000000000000000000000000000000000000000000002f158e39cd8cf8799466d5871236685ec4470142b6ed86b61fcad0059ae1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000000101711daf96427000000000000000000000000000000000000000000000002580c93a8c596448ff8fc9466d5871236685ec4470142b6ed86b61fcad0059af863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000fade03e325d6201fce60abe0ee00da3c5e8749b0b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000300b8be764070000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 164309 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f711d7b6abb3d" - }, - "0x4c9edd5852cd905f086c759e8383e09bff1e68b3": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": {}, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "storage_read": [ + "0x946845b0117b210d50564b040a34f77fdc20c6fd4e23608945f329afe22af87b", + "0x41dbf34988f1a5aeeb82ae587b759b1b15e16900de29a7437b8e6d29beef3bda", + "0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8", + "0xa69a0d1c1fddc7812ea1c34a304e5345681c5acfec8d57baf4c1014917a2b607", + "0x6c7413cdb9f50782fecbfe522fcb5264c6f8c213a8f083a54b28aa9a35a4b361" + ], "storage_written": { - "0xcb5fcedd9a4d93d3e16ce6f6959dbaef0ce38e79fe11d4eef7edb935320b986f": "0x3df663aaff510019fa" + "0x41dbf34988f1a5aeeb82ae587b759b1b15e16900de29a7437b8e6d29beef3bda": "0xbbff0403546344892", + "0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8": "0x1f8c59627a8c656941", + "0x946845b0117b210d50564b040a34f77fdc20c6fd4e23608945f329afe22af87b": "0x277d3df55961639a3", + "0x6c7413cdb9f50782fecbfe522fcb5264c6f8c213a8f083a54b28aa9a35a4b361": "0x0", + "0xa69a0d1c1fddc7812ea1c34a304e5345681c5acfec8d57baf4c1014917a2b607": "0x3a632681dd6e13e2c" }, "code_usage": { - "read": "0x6ca5462ff0355c610301f701d0bb1136becca144e195da86d240b5e604ef9625" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x95f385ef30a849b2524bcb03a1a72f0ca137a355": { - "balance": "0x7a3abeaaae4d98", - "nonce": "0x1f6" - } - }, - "meta": { - "byte_code": "0x02f8b2018201f584055d4a8085089df7c88082b660944c9edd5852cd905f086c759e8383e09bff1e68b380b844095ea7b30000000000000000000000001ab3d612ea7df26117554dddd379764ebce1a5ad00000000000000000000000000000000000000000000003df663aaff510019fac001a084d5ec7febf87450e16e9edab505bcd5e1e485302f80deb7d05adde734f205a6a055f0907a7ca63966b2c30c5f16b1c3143407a43ae3eaa721bdf714a780988d20", - "new_txn_trie_node_byte": "0x02f8b2018201f584055d4a8085089df7c88082b660944c9edd5852cd905f086c759e8383e09bff1e68b380b844095ea7b30000000000000000000000001ab3d612ea7df26117554dddd379764ebce1a5ad00000000000000000000000000000000000000000000003df663aaff510019fac001a084d5ec7febf87450e16e9edab505bcd5e1e485302f80deb7d05adde734f205a6a055f0907a7ca63966b2c30c5f16b1c3143407a43ae3eaa721bdf714a780988d20", - "new_receipt_trie_node_byte": "0xb901ab02f901a701835b8cdbb9010000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000800000000000000000000000000200000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000008002000000000000000000020000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000080000000000000000000000000000000000000000000040000000000f89df89b944c9edd5852cd905f086c759e8383e09bff1e68b3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000095f385ef30a849b2524bcb03a1a72f0ca137a355a00000000000000000000000001ab3d612ea7df26117554dddd379764ebce1a5ada000000000000000000000000000000000000000000000003df663aaff510019fa", - "gas_used": 46305 - } - }, - { - "traces": { - "0x974caa59e49682cda0ad2bbe82983419a2ecc400": { - "balance": "0x5158972964c05604c3", - "nonce": "0x20269a" - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x7825de5586e4d2fd04459091bbe783fa243e1bf3": { "storage_read": [ - "0x443025b09bbeb064188f95744b9730ff447d64fef326c3d948823fc704611ab9", "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x02109e648c764353db47b1d8894f1769d5b0e66c7caf2df343621702e7f66d88", - "0xe7c2d91c92f96c0d5ad69cd78ae89aff9c8ec68827b1189aec90712d90655b50", - "0x0000000000000000000000000000000000000000000000000000000000000000" + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009" ], "storage_written": { - "0x02109e648c764353db47b1d8894f1769d5b0e66c7caf2df343621702e7f66d88": "0x59e9380e376", - "0xe7c2d91c92f96c0d5ad69cd78ae89aff9c8ec68827b1189aec90712d90655b50": "0x4edffb1b" + "0x0000000000000000000000000000000000000000000000000000000000000009": "0xed4eaa07a876e78c69986a1244c326919", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0xf2bfe90b1fbf1e38cc3ef9bea2eb1185cd645", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000003a632681dd6e13e2c000000001b4699455f0a6ce2d4ed", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0xcd82e2d9daddbf51cbce8d5429a0996e16fc670c4056566f19cf8864ad45a746" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f73493de7f4d6" - } - }, - "meta": { - "byte_code": "0xf8ad83202699850721dbba028310059094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000072951af2a37e1cd45cb504332088938af32bcaa6000000000000000000000000000000000000000000000000000000000d7970b825a0e0d160c1a668f0cab18e250b00b77053e8f68e58c63178139de58a74c873388ca0561636b0e38a0b903bf89ceea7a4801ca9da9d9ddfdede9b059b92cc93dc174e", - "new_txn_trie_node_byte": "0xf8ad83202699850721dbba028310059094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000072951af2a37e1cd45cb504332088938af32bcaa6000000000000000000000000000000000000000000000000000000000d7970b825a0e0d160c1a668f0cab18e250b00b77053e8f68e58c63178139de58a74c873388ca0561636b0e38a0b903bf89ceea7a4801ca9da9d9ddfdede9b059b92cc93dc174e", - "new_receipt_trie_node_byte": "0xf901a701835c40f8b9010000000000000000000000000000000000000000000000000000000000010000000000000000010000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000010000000000000000000000000000100000000000000000000000000000000000000100000000000000000000000000080000000400000000000080000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000974caa59e49682cda0ad2bbe82983419a2ecc400a000000000000000000000000072951af2a37e1cd45cb504332088938af32bcaa6a0000000000000000000000000000000000000000000000000000000000d7970b8", - "gas_used": 46109 - } - }, - { - "traces": { - "0x866f8a50a64e68ca66e97e032c5da99538b3f942": { + "0xae2fc483527b8ef99eb5d9b44875f005ba1fae13": { + "balance": "0x719f38c3a4ccff37e", + "nonce": "0x26a47f" + }, + "0x102c776ddb30c754ded4fdcc77a19230a60d4e4f": { "storage_read": [ - "0xdb720c108b750290533f391b9f92ebd5b9324096e73591b7951579bce4dd71c6", - "0x32abce1cf581d648f9e5b95ee611120617404f6033cdb1c84fb9fc42aa943b4f", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0xb3a6a550cbcdde85ef0038ee236b220bb175e7efa81ee043ea1ccc6635e5f3e8", - "0x0000000000000000000000000000000000000000000000000000000000000002" + "0x1b6740c41af1a961cc924546bbb2a2ea8ab7bc642a74a9269dc2779b564b81be", + "0x86dcba5c03c49abbfac560f82f4be9ef64cca5065ee1e99d026a771a496c6172" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x7d3aa7627a", - "0xdb720c108b750290533f391b9f92ebd5b9324096e73591b7951579bce4dd71c6": "0x204a48c" + "0x86dcba5c03c49abbfac560f82f4be9ef64cca5065ee1e99d026a771a496c6172": "0x15a7d079cb683c72e69a7a", + "0x1b6740c41af1a961cc924546bbb2a2ea8ab7bc642a74a9269dc2779b564b81be": "0xae6e28e050ef1223bb1711" }, "code_usage": { - "read": "0xd8d9ef85f8e343f3ad5289c07a0070033837a5e6103739e59809aecc84d5731b" + "read": "0x4707eae597ec59b122b3975dd90b02645557698fbd18cb77860f142f27b2c8f9" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f76139f0cfbb7" + "0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9": { + "storage_read": [ + "0xb39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470a", + "0xa56ce3e700d280b5fb0f4bf92e80d2ff618cc354ff572b3224e741ba8952297a" + ], + "storage_written": { + "0xa56ce3e700d280b5fb0f4bf92e80d2ff618cc354ff572b3224e741ba8952297a": "0x1b4699455f0a6ce2d4ed", + "0xb39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470a": "0x6b4875c73677d5bc98" + }, + "code_usage": { + "read": "0xf4ab6169b580f3635053ae539baa9dcb93098e77b2b96b3feec9aae896a70420" + } }, - "0xa66e0ffd24ae2fa323d1b0cdb80d9a594e3f28d7": { - "balance": "0x1fee90ae96704a1", - "nonce": "0xbc" - } - }, - "meta": { - "byte_code": "0xf8ab81bb850721dbba028301048894866f8a50a64e68ca66e97e032c5da99538b3f94280b84440c10f190000000000000000000000004f4c945856650367d520c492598a583404bc600b000000000000000000000000000000000000000000000000000000000204a48c26a02b6bec7f098582e1b082fadf80648cfe8a4f98e7138f21431d21bad2ddc2060ba02900a07d8bd6848cbc55a2c94abbc209e9f6c75503713b9ae270367d4775e7ae", - "new_txn_trie_node_byte": "0xf8ab81bb850721dbba028301048894866f8a50a64e68ca66e97e032c5da99538b3f94280b84440c10f190000000000000000000000004f4c945856650367d520c492598a583404bc600b000000000000000000000000000000000000000000000000000000000204a48c26a02b6bec7f098582e1b082fadf80648cfe8a4f98e7138f21431d21bad2ddc2060ba02900a07d8bd6848cbc55a2c94abbc209e9f6c75503713b9ae270367d4775e7ae", - "new_receipt_trie_node_byte": "0xf901a701835d287db9010000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040008000000000000000000000000000000000000000000000000020400000000000000000800000000000000000000000010000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000040000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000f89df89b94866f8a50a64e68ca66e97e032c5da99538b3f942f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000004f4c945856650367d520c492598a583404bc600ba0000000000000000000000000000000000000000000000000000000000204a48c", - "gas_used": 59269 - } - }, - { - "traces": { - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x19fe9857bb3652e9007f2347a1f877ffa9215f7f": { "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xad3b8f7d6f289b09cfa5cf5f5d489f3cf2084303b02e70a186692e23c8e0409d", + "0x0000000000000000000000000000000000000000000000000000000000000030", + "0x0000000000000000000000000000000000000000000000000000000000000031", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xf66200dcfb6c8923d3f5d855f3651e082788b726bc857df4d4b56680085c3a05", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0xcdb14bc758e39f7fbc560d30596bd9273043496fe6ade861d93c32f40bcd6bf5", - "0x819de697ce25b013fadfba5469f8672a2e8184944540604cceeed1a8f2f36675" + "0x0000000000000000000000000000000000000000000000000000000000000004" ], "storage_written": { - "0xcdb14bc758e39f7fbc560d30596bd9273043496fe6ade861d93c32f40bcd6bf5": "0xfbc5200", - "0x819de697ce25b013fadfba5469f8672a2e8184944540604cceeed1a8f2f36675": "0x1c9c380" + "0x0000000000000000000000000000000000000000000000000000000000000031": "0x10000000000000000000adf9fe60a82f583c1cf04fffe917278fd0c6632d06b", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x84594bcbda64d5ba7f20f4121f040523b", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100003c003c0029fe2589000000000000000000970a54a3fd75e5264eead1" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x24f23733847e21e0d43d93ffe9174aab13434f02f8cedb76500a5949cb2bce42" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f790d587ad110" - }, - "0xa4f90fd1f0eb2f0826ff147ec3a9f01e935372b7": { - "balance": "0x4c155f06e68e6", - "nonce": "0x1" - } - }, - "meta": { - "byte_code": "0xf8aa80850721dbba02830186a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000de326cd5d800f81815fc4a0f34c637073c3d563d0000000000000000000000000000000000000000000000000000000001c9c38025a006c8320a203a6f210357054b26fb74f52ff3520a8fa05283f3f33ce49f8e038da07e81d649171da2025eb1d2fdec084ce6d5d1742576d1a745af50413a7a5f6863", - "new_txn_trie_node_byte": "0xf8aa80850721dbba02830186a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000de326cd5d800f81815fc4a0f34c637073c3d563d0000000000000000000000000000000000000000000000000000000001c9c38025a006c8320a203a6f210357054b26fb74f52ff3520a8fa05283f3f33ce49f8e038da07e81d649171da2025eb1d2fdec084ce6d5d1742576d1a745af50413a7a5f6863", - "new_receipt_trie_node_byte": "0xf901a701835e1f5ab9010000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000010000000000000000000000000000000200000002000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000040400000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a4f90fd1f0eb2f0826ff147ec3a9f01e935372b7a0000000000000000000000000de326cd5d800f81815fc4a0f34c637073c3d563da00000000000000000000000000000000000000000000000000000000001c9c380", - "gas_used": 63197 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f7a4bca5a1734" + "0x6b75d8af000000e20b7a7ddf000ba900b4009a80": { + "balance": "0x1b471d75b9952", + "code_usage": { + "read": "0x14eedc35d104cad8feb815afb31ecf05f9a46456488d46839795bceed8240116" + } }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a" + "0x1c075b06931c91e1038ab8f9a20d8b55b7d99605e08957442f79d5c96e090eb4", + "0xb39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470a", + "0x86dcba5c03c49abbfac560f82f4be9ef64cca5065ee1e99d026a771a496c6172" ], "storage_written": { - "0x14578c9239f323e46a2dec2f19ce8bc33c197b135325b56f668c59dc570563ba": "0x0" + "0xb39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470a": "0x31b15586564713", + "0x1c075b06931c91e1038ab8f9a20d8b55b7d99605e08957442f79d5c96e090eb4": "0xa299d6fe94e24680e", + "0x86dcba5c03c49abbfac560f82f4be9ef64cca5065ee1e99d026a771a496c6172": "0x33ebf1120be2660a2" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x630181884786c962140041cffa3acffbf39d8c93bde1a62b7b55046e57400557" } }, - "0xf6391a02290948e339c423780e95ab00e6ca72f5": { - "balance": "0x38e7d88dd115cafb", - "nonce": "0x4" - } - }, - "meta": { - "byte_code": "0xf8a903850721dbba0282925894dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b300000000000000000000000022ce84a7f86662b78e49c6ec9e51d60fdde7b70a000000000000000000000000000000000000000000000000000000000000000025a03e44e7cbdeeb3a2e1598bb07bb734ae9b56bf6cbb5520a4303e060d69c5cfd04a05a7f8124b42eac7239306affa8816cc553d53acc7ac8f205cdde7486fa93eba2", - "new_txn_trie_node_byte": "0xf8a903850721dbba0282925894dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b300000000000000000000000022ce84a7f86662b78e49c6ec9e51d60fdde7b70a000000000000000000000000000000000000000000000000000000000000000025a03e44e7cbdeeb3a2e1598bb07bb734ae9b56bf6cbb5520a4303e060d69c5cfd04a05a7f8124b42eac7239306affa8816cc553d53acc7ac8f205cdde7486fa93eba2", - "new_receipt_trie_node_byte": "0xf901a701835e868eb9010000000000000000000020000000000000000000000000000000000000000000000000000000000008000000000000010000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000100000000000000000000000000000000100000020001000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000400f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000f6391a02290948e339c423780e95ab00e6ca72f5a000000000000000000000000022ce84a7f86662b78e49c6ec9e51d60fdde7b70aa00000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 26420 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965f7cf5a0002c74" - }, - "0xe90f7593f1253dcd26adbdb3098d00db31171396": { - "balance": "0x1198e6bb66d2947", - "nonce": "0x44" - }, - "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "0x4370e48e610d2e02d3d091a9d79c8eb9a54c5b1c": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x04cde762ef08b6b6c5ded8e8c4c0b3f4e5c9ad7342c88fcc93681b4588b73f05", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1171bc98d136a64b00000000000000000e7fc2781a823ade", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10000320005f300000000000000011443fa9dc1ece3a965b244f0" + }, "code_usage": { - "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + "read": "0x34d9e9d88261061b19f19215d2d537d5b5e492c4468b0117ebf0f9e6f373d96a" } }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "0xa2737455ecc7752e88c41362269c2d2abb695206": { "storage_read": [ - "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", - "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x2080e77ab8bbb373bbac304a2e45a798cdea7281bc388be9819f0cfdc130b25a", - "0x3554fac18b8a4a3a1f3c35f814a452bba3cc5036ea1dc7106ec6045a02e24032" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x31003cb36c37df78c71e2837e982c62c76a91c383926b0e223f70becae2517c5", + "0x0000000000000000000000000000000000000000000000000000000000000008" ], "storage_written": { - "0x2080e77ab8bbb373bbac304a2e45a798cdea7281bc388be9819f0cfdc130b25a": "0x236066013", - "0x3554fac18b8a4a3a1f3c35f814a452bba3cc5036ea1dc7106ec6045a02e24032": "0x1dcd6500" + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x1000000000000000000000800de84f57ecb103ae4fffef3af807d186632d06b", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x5d65dcda3f87774507eae13bfaec", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000fe1f8b0000000000000000008be323d06bec8e6ddb9dab" }, "code_usage": { - "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" + "read": "0x03586e6000c35bf40266aa588a8cebe0a44534fb7fb0e5ffb652024ea89adda3" } } }, "meta": { - "byte_code": "0x02f8b101438402cdd9888507249a514a83016f9394a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000a434ef4cf5324fa3dd573cbc42380403ac517c08000000000000000000000000000000000000000000000000000000001dcd6500c001a0b57057eda96bbf48ee2b6050709795b4428acd0de39206f26e1a8d8651e49c3da043ec183d994794b23da8e5746c83f80dfd0fa771aa21066faa44876c467cd6be", - "new_txn_trie_node_byte": "0x02f8b101438402cdd9888507249a514a83016f9394a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000a434ef4cf5324fa3dd573cbc42380403ac517c08000000000000000000000000000000000000000000000000000000001dcd6500c001a0b57057eda96bbf48ee2b6050709795b4428acd0de39206f26e1a8d8651e49c3da043ec183d994794b23da8e5746c83f80dfd0fa771aa21066faa44876c467cd6be", - "new_receipt_trie_node_byte": "0xb901ab02f901a701835f79b6b9010000000000000400000000000000000000000000000800000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002100040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e90f7593f1253dcd26adbdb3098d00db31171396a0000000000000000000000000a434ef4cf5324fa3dd573cbc42380403ac517c08a0000000000000000000000000000000000000000000000000000000001dcd6500", - "gas_used": 62248 + "byte_code": "0x02f90654018326a47e0185011a5e48878305cbf6946b75d8af000000e20b7a7ddf000ba900b4009a80850e2cdc3e0fb8d8091b7825de5586e4d2fd04459091bbe783fa243e1bf36b42fb73cc4370e48e610d2e02d3d091a9d79c8eb9a54c5b1cc02aaa39b223fe8d0a0e5c4f27ead9083c756cc23c05a87260c44dbade009519fe9857bb3652e9007f2347a1f877ffa9215f7f5cfa543902102c776ddb30c754ded4fdcc77a19230a60d4e4fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc201f400a5a4a2737455ecc7752e88c41362269c2d2abb695206c44dbadeff102c776ddb30c754ded4fdcc77a19230a60d4e4f7f39c581f595b53c5cb19bd0b3f8da6c935e2ca001f406f90509f8599450d1c9771902476076ecfc8b2a83ad6b9355a4c9f842a0b39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470aa0a56ce3e700d280b5fb0f4bf92e80d2ff618cc354ff572b3224e741ba8952297af89b944370e48e610d2e02d3d091a9d79c8eb9a54c5b1cf884a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002a004cde762ef08b6b6c5ded8e8c4c0b3f4e5c9ad7342c88fcc93681b4588b73f05a00000000000000000000000000000000000000000000000000000000000000001f87a947f39c581f595b53c5cb19bd0b3f8da6c935e2ca0f863a01c075b06931c91e1038ab8f9a20d8b55b7d99605e08957442f79d5c96e090eb4a0b39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470aa086dcba5c03c49abbfac560f82f4be9ef64cca5065ee1e99d026a771a496c6172f8dd9419fe9857bb3652e9007f2347a1f877ffa9215f7ff8c6a00000000000000000000000000000000000000000000000000000000000000031a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a0ad3b8f7d6f289b09cfa5cf5f5d489f3cf2084303b02e70a186692e23c8e0409da00000000000000000000000000000000000000000000000000000000000000030f85994102c776ddb30c754ded4fdcc77a19230a60d4e4ff842a01b6740c41af1a961cc924546bbb2a2ea8ab7bc642a74a9269dc2779b564b81bea086dcba5c03c49abbfac560f82f4be9ef64cca5065ee1e99d026a771a496c6172f8bc94a2737455ecc7752e88c41362269c2d2abb695206f8a5a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a031003cb36c37df78c71e2837e982c62c76a91c383926b0e223f70becae2517c5a00000000000000000000000000000000000000000000000000000000000000008f8bc94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f8a5a06c7413cdb9f50782fecbfe522fcb5264c6f8c213a8f083a54b28aa9a35a4b361a0946845b0117b210d50564b040a34f77fdc20c6fd4e23608945f329afe22af87ba041dbf34988f1a5aeeb82ae587b759b1b15e16900de29a7437b8e6d29beef3bdaa012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8a0a69a0d1c1fddc7812ea1c34a304e5345681c5acfec8d57baf4c1014917a2b607f8dd947825de5586e4d2fd04459091bbe783fa243e1bf3f8c6a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000a80a05bed71670c486051c8e7c0afe4238308daf7114db15cf551197b2ebe131565b2a060285a40b79eb1a007de291bb87e25704600deab9ecf6a4325994e39681bc7bd", + "new_txn_trie_node_byte": "0x02f90654018326a47e0185011a5e48878305cbf6946b75d8af000000e20b7a7ddf000ba900b4009a80850e2cdc3e0fb8d8091b7825de5586e4d2fd04459091bbe783fa243e1bf36b42fb73cc4370e48e610d2e02d3d091a9d79c8eb9a54c5b1cc02aaa39b223fe8d0a0e5c4f27ead9083c756cc23c05a87260c44dbade009519fe9857bb3652e9007f2347a1f877ffa9215f7f5cfa543902102c776ddb30c754ded4fdcc77a19230a60d4e4fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc201f400a5a4a2737455ecc7752e88c41362269c2d2abb695206c44dbadeff102c776ddb30c754ded4fdcc77a19230a60d4e4f7f39c581f595b53c5cb19bd0b3f8da6c935e2ca001f406f90509f8599450d1c9771902476076ecfc8b2a83ad6b9355a4c9f842a0b39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470aa0a56ce3e700d280b5fb0f4bf92e80d2ff618cc354ff572b3224e741ba8952297af89b944370e48e610d2e02d3d091a9d79c8eb9a54c5b1cf884a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002a004cde762ef08b6b6c5ded8e8c4c0b3f4e5c9ad7342c88fcc93681b4588b73f05a00000000000000000000000000000000000000000000000000000000000000001f87a947f39c581f595b53c5cb19bd0b3f8da6c935e2ca0f863a01c075b06931c91e1038ab8f9a20d8b55b7d99605e08957442f79d5c96e090eb4a0b39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470aa086dcba5c03c49abbfac560f82f4be9ef64cca5065ee1e99d026a771a496c6172f8dd9419fe9857bb3652e9007f2347a1f877ffa9215f7ff8c6a00000000000000000000000000000000000000000000000000000000000000031a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a0ad3b8f7d6f289b09cfa5cf5f5d489f3cf2084303b02e70a186692e23c8e0409da00000000000000000000000000000000000000000000000000000000000000030f85994102c776ddb30c754ded4fdcc77a19230a60d4e4ff842a01b6740c41af1a961cc924546bbb2a2ea8ab7bc642a74a9269dc2779b564b81bea086dcba5c03c49abbfac560f82f4be9ef64cca5065ee1e99d026a771a496c6172f8bc94a2737455ecc7752e88c41362269c2d2abb695206f8a5a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a031003cb36c37df78c71e2837e982c62c76a91c383926b0e223f70becae2517c5a00000000000000000000000000000000000000000000000000000000000000008f8bc94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f8a5a06c7413cdb9f50782fecbfe522fcb5264c6f8c213a8f083a54b28aa9a35a4b361a0946845b0117b210d50564b040a34f77fdc20c6fd4e23608945f329afe22af87ba041dbf34988f1a5aeeb82ae587b759b1b15e16900de29a7437b8e6d29beef3bdaa012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8a0a69a0d1c1fddc7812ea1c34a304e5345681c5acfec8d57baf4c1014917a2b607f8dd947825de5586e4d2fd04459091bbe783fa243e1bf3f8c6a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000a80a05bed71670c486051c8e7c0afe4238308daf7114db15cf551197b2ebe131565b2a060285a40b79eb1a007de291bb87e25704600deab9ecf6a4325994e39681bc7bd", + "new_receipt_trie_node_byte": "0xb90acd02f90ac9018342ed5fb901000020000000000000080000008000000000000000000000000002000000000000000000800000002400000000000000000a000000080020000000000000200001000000000040100800000008000000200000000000000000000000000000000002000010000000000000500000000000800000000011000080000090000804000000000000000000020080000000800000000002000000080000044000000000020000000000000000000000000000000000000000000000000000000200000000000002080000100000000000000200000000000000001000000000000006000010200000000200000000008000080000000000000004000000000000000000f909bef89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000007825de5586e4d2fd04459091bbe783fa243e1bf3a00000000000000000000000000000000000000000000000000e2cdc3e0f000000f89b9450d1c9771902476076ecfc8b2a83ad6b9355a4c9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007825de5586e4d2fd04459091bbe783fa243e1bf3a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a000000000000000000000000000000000000000000000006b42fb730000000000f879947825de5586e4d2fd04459091bbe783fa243e1bf3e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000001b4699455f0a6ce2d4ed000000000000000000000000000000000000000000000003a632681dd6e13e2cf8fc947825de5586e4d2fd04459091bbe783fa243e1bf3f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e2cdc3e0f00000000000000000000000000000000000000000000000000006b42fb7300000000000000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000004370e48e610d2e02d3d091a9d79c8eb9a54c5b1ca000000000000000000000000000000000000000000000000005a8726000000000f9011c944370e48e610d2e02d3d091a9d79c8eb9a54c5b1cf863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80b8a0fffffffffffffffffffffffffffffffffffffffffffffffffb245213c4e59e8f00000000000000000000000000000000000000000000000005a872600000000000000000000000000000000000000000000000011443fa9dc1ece3a965b244f0000000000000000000000000000000000000000000001effc36fd44e202029f800000000000000000000000000000000000000000000000000000000000005f3f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000004370e48e610d2e02d3d091a9d79c8eb9a54c5b1ca000000000000000000000000000000000000000000000000005a8726000000000f89b947f39c581f595b53c5cb19bd0b3f8da6c935e2ca0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000004370e48e610d2e02d3d091a9d79c8eb9a54c5b1ca00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a000000000000000000000000000000000000000000000000004dbadec3b1a6171f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000019fe9857bb3652e9007f2347a1f877ffa9215f7fa00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a000000000000000000000000000000000000000000000000005abc6fd00000001f89b94102c776ddb30c754ded4fdcc77a19230a60d4e4ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a2737455ecc7752e88c41362269c2d2abb695206a000000000000000000000000019fe9857bb3652e9007f2347a1f877ffa9215f7fa000000000000000000000000000000000000000000000104b98a25d8e17e60dddf89b947f39c581f595b53c5cb19bd0b3f8da6c935e2ca0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a0000000000000000000000000a2737455ecc7752e88c41362269c2d2abb695206a000000000000000000000000000000000000000000000000004dbade3bd5a6be7f9011c94a2737455ecc7752e88c41362269c2d2abb695206f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a000000000000000000000000019fe9857bb3652e9007f2347a1f877ffa9215f7fb8a0ffffffffffffffffffffffffffffffffffffffffffffefb4675da271e819f22300000000000000000000000000000000000000000000000004dbade3bd5a6be70000000000000000000000000000000000000000008be323d06bec8e6ddb9dab000000000000000000000000000000000000000000001100cf3da849ca69e144fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1f8bf9011c9419fe9857bb3652e9007f2347a1f877ffa9215f7ff863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80b8a000000000000000000000000000000000000000000000104b98a25d8e17e60dddfffffffffffffffffffffffffffffffffffffffffffffffffa543902ffffffff000000000000000000000000000000000000000000970a54a3fd75e5264eead10000000000000000000000000000000000000000000095bf5e01033dd31feb7efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2589", + "gas_used": 265926 } }, { "traces": { - "0x8995d5ec5b8ccccad089376a6b45149f9cecc16d": { - "balance": "0x20443c5f006b801", - "nonce": "0xe47" + "0xfe0c30065b384f05761f15d0cc899d4f9f9cc0eb": { + "storage_written": { + "0xf1790979d1481780dc62f83be19d40db44dc095a73f42927ce25dc02c5e91ff3": "0xf043069e976ef2db8" + }, + "code_usage": { + "read": "0x6188ccdf81f390d37c61ea85ca893ec9f0af5135bc9eb1fd1337a4d7802ff794" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965fbadad074d9a4" + "0xde39fb7df60e7b4bdd8224dae5fa24bfaaed9967": { + "balance": "0x5768acf0f73caf", + "nonce": "0x97" }, - "0xb4f81147e830888367ddce66eda0480b316da878": { - "balance": "0x5961879a34679" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x715a0bdab61bb11b" } }, "meta": { - "byte_code": "0xf86d820e468507dfeedf7b82520894b4f81147e830888367ddce66eda0480b316da8788705961879a346798026a021bab5afe073af4b5ba1f5544cb6d91712a1bfe388b174a6b3bffc62a9cc72cda01c0c3906f6f71c33875bb38b6b1665568cf604d1a7a4ca08cf2d6ee16108ae8c", - "new_txn_trie_node_byte": "0xf86d820e468507dfeedf7b82520894b4f81147e830888367ddce66eda0480b316da8788705961879a346798026a021bab5afe073af4b5ba1f5544cb6d91712a1bfe388b174a6b3bffc62a9cc72cda01c0c3906f6f71c33875bb38b6b1665568cf604d1a7a4ca08cf2d6ee16108ae8c", - "new_receipt_trie_node_byte": "0xf9010901835fcbbeb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f8b0018196830f424085015626239082818994fe0c30065b384f05761f15d0cc899d4f9f9cc0eb80b844095ea7b30000000000000000000000001111111254eeb25477b68fb85ed929f73a96058200000000000000000000000000000000000000000000000f043069e976ef2db8c001a0c2238f8a45fcd4b04bea2deac035d89fa66cc7b889698774ef82b1a847eab89ca073c8be24baccdd08cf89e785cbbe31b84405b326824c61a0a641e7e61e2f0a98", + "new_txn_trie_node_byte": "0x02f8b0018196830f424085015626239082818994fe0c30065b384f05761f15d0cc899d4f9f9cc0eb80b844095ea7b30000000000000000000000001111111254eeb25477b68fb85ed929f73a96058200000000000000000000000000000000000000000000000f043069e976ef2db8c001a0c2238f8a45fcd4b04bea2deac035d89fa66cc7b889698774ef82b1a847eab89ca073c8be24baccdd08cf89e785cbbe31b84405b326824c61a0a641e7e61e2f0a98", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183435ff1b9010000000000000000000000004000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000200000000000040000080000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000004000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010020000000000000400000000000000000000000000000000000000000000f89df89b94fe0c30065b384f05761f15d0cc899d4f9f9cc0ebf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000de39fb7df60e7b4bdd8224dae5fa24bfaaed9967a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000000f043069e976ef2db8", + "gas_used": 29330 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1965ff0f0a5d42f64" + "0xfe0c30065b384f05761f15d0cc899d4f9f9cc0eb": { + "storage_read": [ + "0x7ae0baf449064e80544bde4b0b34f276ffc68c8afe2a1b24e906bffaf2d0e99b", + "0xf1790979d1481780dc62f83be19d40db44dc095a73f42927ce25dc02c5e91ff3", + "0x052e713d101c7dfed5314e4b3b8ecf07e42b12c3bf502e120438fddbb4b372bd", + "0xb4e9c0483fd90f6893a7705b4d1bd54a3e32c6624201791201c928ecbeeec877", + "0x81fb0491f01ea47b89300439a5db0a7d4b183ee52cb16b30b655d3c4123845ab", + "0x485b740afecacc58ed3c04d8fe2acc7b47c8ac2bd294628e0967a67a5abf3f47", + "0x90faba597c59076e84b50f0d01576aec9ef212158e26c31d0beea442e8820f4d", + "0xe4aa24a5fa061345b9a1d234d0f04cca1c014e87cf1f18bdb74fba0f4634e272", + "0x68c91f1534503b071171c98c7bcdb4ac0d57ad970f1a25287088de54c9952b85" + ], + "storage_written": { + "0xf1790979d1481780dc62f83be19d40db44dc095a73f42927ce25dc02c5e91ff3": "0xb70e7ef2bc8576e8", + "0x7ae0baf449064e80544bde4b0b34f276ffc68c8afe2a1b24e906bffaf2d0e99b": "0x118ff09ff1bd502410", + "0x485b740afecacc58ed3c04d8fe2acc7b47c8ac2bd294628e0967a67a5abf3f47": "0xdd22771dd77e264ca33", + "0x052e713d101c7dfed5314e4b3b8ecf07e42b12c3bf502e120438fddbb4b372bd": "0x1", + "0xe4aa24a5fa061345b9a1d234d0f04cca1c014e87cf1f18bdb74fba0f4634e272": "0x2cb9d6e6b05ecbbf7a9" + }, + "code_usage": { + "read": "0x6188ccdf81f390d37c61ea85ca893ec9f0af5135bc9eb1fd1337a4d7802ff794" + } }, - "0x7cde5a64e5737751d08a47669b8a17777d5bdd82": { - "balance": "0x4dee", - "nonce": "0x1" + "0x06f00544c0bc62e6db10f46d370dfccdc23d8189": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0xc5069e24aaadb2addc3e52e868fcf3f4f8acf5a87e24300992fd4540c2a87eed", + "0x0000000000000000000000000000000000000000000000000000000000000019", + "0x000000000000000000000000000000000000000000000000000000000000001a" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x1d5b96cb0886077128e3b2fd1b0dc7e1d", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10000140014001201045a000000000000001c013bdd3500ee50d548fd5beb", + "0x000000000000000000000000000000000000000000000000000000000000001a": "0x100000000000000000000101af64defadf9ccecb000003aeada91bc6632d06b" + }, + "code_usage": { + "read": "0xa5b21202d2643f5e0fb63420ad30026ec1a6adb6d7e8fe6f804f3fc07f245b52" + } }, - "0xfb19ffd1ff9316b7f5bba076ef4b78e4bbedf4e1": { - "balance": "0x189678433457bd66" - } - }, - "meta": { - "byte_code": "0xf86b808507c78f5c0d82520894fb19ffd1ff9316b7f5bba076ef4b78e4bbedf4e18786ea9b834403aa8026a018133566f3ce86c014f6409420ba9b2a52eb6917e5975cac1ed7887c6e836bcaa02b3f9dc5a53edf046b55d529c004ef650c6a97f8963ffa612a6e5b241e821ea6", - "new_txn_trie_node_byte": "0xf86b808507c78f5c0d82520894fb19ffd1ff9316b7f5bba076ef4b78e4bbedf4e18786ea9b834403aa8026a018133566f3ce86c014f6409420ba9b2a52eb6917e5975cac1ed7887c6e836bcaa02b3f9dc5a53edf046b55d529c004ef650c6a97f8963ffa612a6e5b241e821ea6", - "new_receipt_trie_node_byte": "0xf901090183601dc6b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x6889bb23f70e4442a2094e89871e92ed5acea668": { - "balance": "0x97ecb28ea7bb400" + "0x7825de5586e4d2fd04459091bbe783fa243e1bf3": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000003aacec7c63f2dd804000000001b24682dd22b0129c51b", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + }, + "code_usage": { + "read": "0xcd82e2d9daddbf51cbce8d5429a0996e16fc670c4056566f19cf8864ad45a746" + } }, - "0x264bd8291fae1d75db2c5f573b07faa6715997b5": { - "balance": "0x2d276bd79ad010a00e9", - "nonce": "0x8d22a" + "0xe37e799d5077682fa0a244d46e5649f71457bd09": { + "code_usage": { + "read": "0xd471a60f6c7d3be7f423430564405669d08ee2006e9ae4203a9aac81e8474402" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196601ba24e6a2cc4" - } - }, - "meta": { - "byte_code": "0x01f872018308d2298507a402ac018307a120946889bb23f70e4442a2094e89871e92ed5acea6688801aebd9c8933c00080c001a06d0bc0458e20866415abdec9c6ac609366f3d24be6ca25b55a585efae5229bc5a0636b76f56d70806cb4ebd245c308cd1f968673d5464b1ed9a739c2bee5898655", - "new_txn_trie_node_byte": "0x01f872018308d2298507a402ac018307a120946889bb23f70e4442a2094e89871e92ed5acea6688801aebd9c8933c00080c001a06d0bc0458e20866415abdec9c6ac609366f3d24be6ca25b55a585efae5229bc5a0636b76f56d70806cb4ebd245c308cd1f968673d5464b1ed9a739c2bee5898655", - "new_receipt_trie_node_byte": "0xb9010d01f901090183606fceb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x8216874887415e2650d12d53ff53516f04a74fd7": { - "balance": "0x1a997d4fc0e87418e", - "nonce": "0xe0430" + "0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9": { + "storage_read": [ + "0xa56ce3e700d280b5fb0f4bf92e80d2ff618cc354ff572b3224e741ba8952297a", + "0x50a4373c59aed14671fd3712712bbb543d3dde22caf7e11ca903775dcb867a9c", + "0xe4aa24a5fa061345b9a1d234d0f04cca1c014e87cf1f18bdb74fba0f4634e272" + ], + "storage_written": { + "0x50a4373c59aed14671fd3712712bbb543d3dde22caf7e11ca903775dcb867a9c": "0x1", + "0xa56ce3e700d280b5fb0f4bf92e80d2ff618cc354ff572b3224e741ba8952297a": "0x1b24682dd22b0129c51b", + "0xe4aa24a5fa061345b9a1d234d0f04cca1c014e87cf1f18bdb74fba0f4634e272": "0x2231178cdf6bb90fd2" + }, + "code_usage": { + "read": "0xf4ab6169b580f3635053ae539baa9dcb93098e77b2b96b3feec9aae896a70420" + } }, - "0xabb2516258b277711c39105a45d3fbaec5998586": { - "balance": "0x74e2602d1c4000" + "0xde39fb7df60e7b4bdd8224dae5fa24bfaaed9967": { + "balance": "0x53c876af1f28f2", + "nonce": "0x98" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966041def8e3f0c4" - } - }, - "meta": { - "byte_code": "0x02f87501830e042f8477541880850cb2c7a58182520894abb2516258b277711c39105a45d3fbaec59985868774e2602d1c400080c001a0bf5db6ccd186b037761c35514eb84e1d0f188ba544554225594d10ce7e1526cea03b153822b996123190ea986eccf142c59155e3037957b3c566dbb0338a37942c", - "new_txn_trie_node_byte": "0x02f87501830e042f8477541880850cb2c7a58182520894abb2516258b277711c39105a45d3fbaec59985868774e2602d1c400080c001a0bf5db6ccd186b037761c35514eb84e1d0f188ba544554225594d10ce7e1526cea03b153822b996123190ea986eccf142c59155e3037957b3c566dbb0338a37942c", - "new_receipt_trie_node_byte": "0xb9010d02f90109018360c1d6b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196606811dbf890c4" + "0x1111111254eeb25477b68fb85ed929f73a960582": { + "code_usage": { + "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" + } }, - "0xc585ad419c5650041b74b105075248f80ac9135d": { - "balance": "0x5bb06f61455d8", - "nonce": "0x293b" + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "storage_read": [ + "0x5fe110958387f5fe77085bc7dabf712f014e2a4d528765f454c271869345dc0b", + "0xa69a0d1c1fddc7812ea1c34a304e5345681c5acfec8d57baf4c1014917a2b607" + ], + "storage_written": { + "0x5fe110958387f5fe77085bc7dabf712f014e2a4d528765f454c271869345dc0b": "0x6c7a3637100c13d77", + "0xa69a0d1c1fddc7812ea1c34a304e5345681c5acfec8d57baf4c1014917a2b607": "0x3aacec7c63f2dd804" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } }, - "0xa03400e098f4421b34a3a44a1b4e571419517687": { - "balance": "0x91564899643897b70" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x715a0c0cdc2c7ddb" } }, "meta": { - "byte_code": "0x02f8750182293a84773594008508ea141edc82ea6094a03400e098f4421b34a3a44a1b4e571419517687880eb041c89743d40080c001a04b80b89bb49b47a20c82b56f4da09eb6491bdab89fee24b0900407b3578cdedda05de0ca6bfc4305d78fe840ab26a52420203f7e09abd944e7a786d030a95d5c16", - "new_txn_trie_node_byte": "0x02f8750182293a84773594008508ea141edc82ea6094a03400e098f4421b34a3a44a1b4e571419517687880eb041c89743d40080c001a04b80b89bb49b47a20c82b56f4da09eb6491bdab89fee24b0900407b3578cdedda05de0ca6bfc4305d78fe840ab26a52420203f7e09abd944e7a786d030a95d5c16", - "new_receipt_trie_node_byte": "0xb9010d02f9010901836113deb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f90376018197830f4240850156262390830409b3941111111254eeb25477b68fb85ed929f73a96058280b9030812aa3caf000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000fe0c30065b384f05761f15d0cc899d4f9f9cc0eb00000000000000000000000050d1c9771902476076ecfc8b2a83ad6b9355a4c9000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000de39fb7df60e7b4bdd8224dae5fa24bfaaed996700000000000000000000000000000000000000000000000e4d21eaf6ba69b6d00000000000000000000000000000000000000000000000223117370aac9857d10000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017400000000000000000000000000000000000000000000015600006800004e802026678dcdfe0c30065b384f05761f15d0cc899d4f9f9cc0eb382ffce2287252f930e1c8dc9328dac5bf282ba1000000000000000000000000000000000000000000000000249c7fca25b441d40020d6bdbf78fe0c30065b384f05761f15d0cc899d4f9f9cc0eb00a007e5c0d20000000000000000000000000000000000000000000000000000ca00006302a00000000000000000000000000000000000000000000000000478f6635aee2496ee63c1e58006f00544c0bc62e6db10f46d370dfccdc23d8189fe0c30065b384f05761f15d0cc899d4f9f9cc0eb7825de5586e4d2fd04459091bbe783fa243e1bf300206ae4071138002dc6c07825de5586e4d2fd04459091bbe783fa243e1bf31111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000223117370aac9857d1c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000009a635db5c001a0b37812a53f7dd003646df5d44fada4195e36b7a2f87c100b16c8c543f03fd563a021e20639f8e62cce47d1eba900aa8140f4f00365ef3591ec9a9a00e759e69505", + "new_txn_trie_node_byte": "0x02f90376018197830f4240850156262390830409b3941111111254eeb25477b68fb85ed929f73a96058280b9030812aa3caf000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000fe0c30065b384f05761f15d0cc899d4f9f9cc0eb00000000000000000000000050d1c9771902476076ecfc8b2a83ad6b9355a4c9000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000de39fb7df60e7b4bdd8224dae5fa24bfaaed996700000000000000000000000000000000000000000000000e4d21eaf6ba69b6d00000000000000000000000000000000000000000000000223117370aac9857d10000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017400000000000000000000000000000000000000000000015600006800004e802026678dcdfe0c30065b384f05761f15d0cc899d4f9f9cc0eb382ffce2287252f930e1c8dc9328dac5bf282ba1000000000000000000000000000000000000000000000000249c7fca25b441d40020d6bdbf78fe0c30065b384f05761f15d0cc899d4f9f9cc0eb00a007e5c0d20000000000000000000000000000000000000000000000000000ca00006302a00000000000000000000000000000000000000000000000000478f6635aee2496ee63c1e58006f00544c0bc62e6db10f46d370dfccdc23d8189fe0c30065b384f05761f15d0cc899d4f9f9cc0eb7825de5586e4d2fd04459091bbe783fa243e1bf300206ae4071138002dc6c07825de5586e4d2fd04459091bbe783fa243e1bf31111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000223117370aac9857d1c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000009a635db5c001a0b37812a53f7dd003646df5d44fada4195e36b7a2f87c100b16c8c543f03fd563a021e20639f8e62cce47d1eba900aa8140f4f00365ef3591ec9a9a00e759e69505", + "new_receipt_trie_node_byte": "0xb9075502f90751018346a94cb9010000200000000001000800004080000000000000000000000000000000000000800004000000000000000000000000000002200000080020000000000008020000000000040000180800000008000008200000002000000000000000000000000000000000000000000000400000000000000000010011000000000010000800000000000000000000000000000000000000000000000080080000044000001000000800000000000000000000000004000000000000000000000000000000000000000002000008001000000000000000000000080000001000000000000002000000220000000200000400008000000000000000000000000000000000000000f90646f89b94fe0c30065b384f05761f15d0cc899d4f9f9cc0ebf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000de39fb7df60e7b4bdd8224dae5fa24bfaaed9967a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a000000000000000000000000000000000000000000000000e4d21eaf6ba69b6d0f89b94fe0c30065b384f05761f15d0cc899d4f9f9cc0ebf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba1a0000000000000000000000000000000000000000000000000249c7fca25b441d4f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000006f00544c0bc62e6db10f46d370dfccdc23d8189a00000000000000000000000007825de5586e4d2fd04459091bbe783fa243e1bf3a0000000000000000000000000000000000000000000000000049c5fa8684c99d8f89b94fe0c30065b384f05761f15d0cc899d4f9f9cc0ebf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a000000000000000000000000006f00544c0bc62e6db10f46d370dfccdc23d8189a000000000000000000000000000000000000000000000000e28856b2c94b574fcf9011c9406f00544c0bc62e6db10f46d370dfccdc23d8189f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000007825de5586e4d2fd04459091bbe783fa243e1bf3b8a0fffffffffffffffffffffffffffffffffffffffffffffffffb63a05797b3662800000000000000000000000000000000000000000000000e28856b2c94b574fc000000000000000000000000000000000000001c013bdd3500ee50d548fd5beb0000000000000000000000000000000000000000000002db9f6d7f1ce7013b95000000000000000000000000000000000000000000000000000000000001045af89b9450d1c9771902476076ecfc8b2a83ad6b9355a4c9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007825de5586e4d2fd04459091bbe783fa243e1bf3a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000002231178cdf6bb90fd2f879947825de5586e4d2fd04459091bbe783fa243e1bf3e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000001b24682dd22b0129c51b000000000000000000000000000000000000000000000003aacec7c63f2dd804f8fc947825de5586e4d2fd04459091bbe783fa243e1bf3f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582b8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049c5fa8684c99d800000000000000000000000000000000000000000000002231178cdf6bb90fd20000000000000000000000000000000000000000000000000000000000000000f89b9450d1c9771902476076ecfc8b2a83ad6b9355a4c9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0000000000000000000000000de39fb7df60e7b4bdd8224dae5fa24bfaaed9967a000000000000000000000000000000000000000000000002231178cdf6bb90fd2", + "gas_used": 215387 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196608e44bf0d30c4" + "0xae2fc483527b8ef99eb5d9b44875f005ba1fae13": { + "balance": "0x719e6bbba1386ee53", + "nonce": "0x26a480" + }, + "0x7825de5586e4d2fd04459091bbe783fa243e1bf3": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x000000000000000000000000000000000000000000000000000000000000000c" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b0000000000039c93f57d302dd804000000001b8fab29442b0129c51b" + }, + "code_usage": { + "read": "0xcd82e2d9daddbf51cbce8d5429a0996e16fc670c4056566f19cf8864ad45a746" + } + }, + "0x6b75d8af000000e20b7a7ddf000ba900b4009a80": { + "balance": "0x1b480122de261", + "code_usage": { + "read": "0x14eedc35d104cad8feb815afb31ecf05f9a46456488d46839795bceed8240116" + } + }, + "0x50d1c9771902476076ecfc8b2a83ad6b9355a4c9": { + "storage_read": [ + "0xb39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470a", + "0xa56ce3e700d280b5fb0f4bf92e80d2ff618cc354ff572b3224e741ba8952297a" + ], + "storage_written": { + "0xb39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470a": "0x57a553677d5bc98", + "0xa56ce3e700d280b5fb0f4bf92e80d2ff618cc354ff572b3224e741ba8952297a": "0x1b8fab29442b0129c51b" + }, + "code_usage": { + "read": "0xf4ab6169b580f3635053ae539baa9dcb93098e77b2b96b3feec9aae896a70420" + } }, - "0x8a22a3c10f2a658cdf1d9e66c9687d1cdaba5c8a": { - "balance": "0x291d01af18c7c3" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x716596bd59634b9d" }, - "0x0d0707963952f2fba59dd06f2b425ace40b492fe": { - "balance": "0xd25dc72a3dd3f4e5", - "nonce": "0x55fa62" + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "storage_read": [ + "0xa69a0d1c1fddc7812ea1c34a304e5345681c5acfec8d57baf4c1014917a2b607", + "0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8" + ], + "storage_written": { + "0xa69a0d1c1fddc7812ea1c34a304e5345681c5acfec8d57baf4c1014917a2b607": "0x39c93f57d302dd804", + "0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8": "0x1f9a9434c39b656941" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } } }, "meta": { - "byte_code": "0x02f876018355fa618477359400850f4889a67683019a28948a22a3c10f2a658cdf1d9e66c9687d1cdaba5c8a8728e448b55d600080c001a012e52345735c1221af2ffce9bc3af6ced83976ffdc967eb30cc26a771e71e9cea07dab906033048d26b7f760b58902ce60c80c80f766110ce58fe5e7bb85886af0", - "new_txn_trie_node_byte": "0x02f876018355fa618477359400850f4889a67683019a28948a22a3c10f2a658cdf1d9e66c9687d1cdaba5c8a8728e448b55d600080c001a012e52345735c1221af2ffce9bc3af6ced83976ffdc967eb30cc26a771e71e9cea07dab906033048d26b7f760b58902ce60c80c80f766110ce58fe5e7bb85886af0", - "new_receipt_trie_node_byte": "0xb9010d02f9010901836165e6b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f901f9018326a47f850b1b856c29850b1b856c2a8301a5e8946b75d8af000000e20b7a7ddf000ba900b4009a80850e3ad2490faf1d3b7825de5586e4d2fd04459091bbe783fa243e1bf350d1c9771902476076ecfc8b2a83ad6b9355a4c96b42fb7206f90153f8599450d1c9771902476076ecfc8b2a83ad6b9355a4c9f842a0b39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470aa0a56ce3e700d280b5fb0f4bf92e80d2ff618cc354ff572b3224e741ba8952297af89b947825de5586e4d2fd04459091bbe783fa243e1bf3f884a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0a69a0d1c1fddc7812ea1c34a304e5345681c5acfec8d57baf4c1014917a2b607a012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a801a057b5ef4ac306e25eab2fb85f728b4c2dc4b53defbdf84056dffbd6c125ee8cb4a040e24e94d6a4273a9a06c3e55e02be2ae73894ef1c0ccceef8ccb5ea95692f03", + "new_txn_trie_node_byte": "0x02f901f9018326a47f850b1b856c29850b1b856c2a8301a5e8946b75d8af000000e20b7a7ddf000ba900b4009a80850e3ad2490faf1d3b7825de5586e4d2fd04459091bbe783fa243e1bf350d1c9771902476076ecfc8b2a83ad6b9355a4c96b42fb7206f90153f8599450d1c9771902476076ecfc8b2a83ad6b9355a4c9f842a0b39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470aa0a56ce3e700d280b5fb0f4bf92e80d2ff618cc354ff572b3224e741ba8952297af89b947825de5586e4d2fd04459091bbe783fa243e1bf3f884a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0a69a0d1c1fddc7812ea1c34a304e5345681c5acfec8d57baf4c1014917a2b607a012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a801a057b5ef4ac306e25eab2fb85f728b4c2dc4b53defbdf84056dffbd6c125ee8cb4a040e24e94d6a4273a9a06c3e55e02be2ae73894ef1c0ccceef8ccb5ea95692f03", + "new_receipt_trie_node_byte": "0xb903c202f903be018347d0a2b9010000200000000000000800000080000000000000000000000000000000000000000000008000000020000000000000000002000000080000000000000000000000000000000000100000000008000000200000000000000000000000000000000000000000000000000000400000000000000000000011000080000010000000000000000000000000000000000000000000000000000000080000044000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000001000000000000002000000200000000200000000008000000000000000000000000000000000000000f902b3f89b9450d1c9771902476076ecfc8b2a83ad6b9355a4c9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000007825de5586e4d2fd04459091bbe783fa243e1bf3a000000000000000000000000000000000000000000000006b42fb720000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007825de5586e4d2fd04459091bbe783fa243e1bf3a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000000000000000000000000000000e3ad2490f000000f879947825de5586e4d2fd04459091bbe783fa243e1bf3e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000001b8fab29442b0129c51b0000000000000000000000000000000000000000000000039c93f57d302dd804f8fc947825de5586e4d2fd04459091bbe783fa243e1bf3f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80b88000000000000000000000000000000000000000000000006b42fb720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e3ad2490f000000", + "gas_used": 75606 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19660b477a221d0c4" - }, - "0x6a4b1a31469e6f90df8074e14f130b738258d9a3": { - "balance": "0x65dc6b124ddb8" - }, - "0xbd0fccdc19bc3b979e8e256b7b88aae7c77a5bec": { - "balance": "0xd40dc9df9255606d1", - "nonce": "0x79b0" - } - }, - "meta": { - "byte_code": "0x02f874018279af8477359400850eb4c132aa82d6d8946a4b1a31469e6f90df8074e14f130b738258d9a387065dc6b124ddb880c001a09e52900b4a4a576465dcf31eae2826c779298815ac782348e75c2f7433e0143aa027b6295455f6f1b0615c2cfde0c92617eefc22e6f0eaf15b22d13b209d66fa93", - "new_txn_trie_node_byte": "0x02f874018279af8477359400850eb4c132aa82d6d8946a4b1a31469e6f90df8074e14f130b738258d9a387065dc6b124ddb880c001a09e52900b4a4a576465dcf31eae2826c779298815ac782348e75c2f7433e0143aa027b6295455f6f1b0615c2cfde0c92617eefc22e6f0eaf15b22d13b209d66fa93", - "new_receipt_trie_node_byte": "0xb9010d02f90109018361b7eeb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x563115f51ac97e8305deb9bb2197f119c13da533": { - "balance": "0xc46cc56988e7796" + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b819fd7425a37b61ac4", + "storage_read": [ + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", + "0x3d3937f76b820ffd425b7f76713d91a97b10210d2524d5a87b9657a29274706e" + ], + "storage_written": { + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", + "0x3d3937f76b820ffd425b7f76713d91a97b10210d2524d5a87b9657a29274706e": "0x458aa642c85a9494" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0x9e8b54c2b5cbf03081d29d63f60d76ea80b54b51": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x976955cca442537fd3e7e482f9fb34", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x4dbf6af87f70b74626b4f28314ade8b3fd7d4", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000000458aa642c85a94940000000015bafba1d52ca13b9b92" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19660daaa853670c4" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x71674ad2fc76fb9d" }, - "0x4976a4a02f38326660d17bf34b431dc6e2eb2327": { - "balance": "0x3432e8e3d1855aacdd1", - "nonce": "0x38fdb5" - } - }, - "meta": { - "byte_code": "0x02f877018338fdb484773594008517bfac7c008303291894563115f51ac97e8305deb9bb2197f119c13da533880c229089fd6d100080c080a0a66deb1478006539ff09d5b4b6b3e54e921b1a11998f69e6587c51f17c8f303ea0262165915b46dff83d8d514aafb5bdb5de01aaf040a0c19723c5f45ceb4f6304", - "new_txn_trie_node_byte": "0x02f877018338fdb484773594008517bfac7c008303291894563115f51ac97e8305deb9bb2197f119c13da533880c229089fd6d100080c080a0a66deb1478006539ff09d5b4b6b3e54e921b1a11998f69e6587c51f17c8f303ea0262165915b46dff83d8d514aafb5bdb5de01aaf040a0c19723c5f45ceb4f6304", - "new_receipt_trie_node_byte": "0xb9010d02f9010901836209f6b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x0a12da0c6b8fd42bf432785653312ff25eb88eb2": { - "balance": "0x260efbea297ca418" + "0x5fb77fb14f8819f4ce8c170766ec452fdf1b667d": { + "balance": "0x5151edf1b028c53", + "nonce": "0x142" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966100dd684b10c4" + "0xa26edd30b6f1cb6ec66cbe86151e18742bafb2ef": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0xcc6ba3881e19e898c68d1764c55d71c9892e9a889b5b0e748b9f729a360587a0", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0fc8cd772b961885c7d3000adf6c8eb60d8b4a0d7767b76d05f5dbf8d252191b", + "0x97b435510745019339bbf24c9c9eda4197852c5fb92645a8d2720a5db17c566f", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x33684fe696b9af0c3ae1d415116372f719fd6e56424713d018e73196d17c1c63", + "0x09a5e95e2166d0021a089a1bf6269257ddaa1fed82c356394ce01c4cc1b3d13e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x15c9a808dd6da8f44df9a33a0429d4112241c1f744f1a11a6ac8944dc8c25c4a", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x12efabcb40a02de35bed9150af5c8746a5e9f14c42b0a16391cab66f377a0dcb", + "0x9f3baf248538e797f69690b6c71c0b932a0d0f86e7a365dee0a5cc918356c768", + "0x63340d13bb0d650f319c32cabe0f9840652cda0f737a0a0665b2e23a3b88d1c1", + "0x485c151f646ee015010d293862658dc47c828088bd28e4735650f01ee0ca233e", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x0000000000000000000000000000000000000000000000000000000000000015", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x845f178d038dcd0f2a4f934b1d09fe0b2ee4852384469d99a7bba00f9871775a", + "0x72f8a50a8b99b554fd32bba164225ef82c2b8f0bd93af83a9d8c7c267e2f30eb", + "0x0000000000000000000000000000000000000000000000000000000000000018", + "0x0caa5d6564987dd2b2265509b46fa9e5d5849e8833c45c0c63b320d287c050c2" + ], + "storage_written": { + "0xcc6ba3881e19e898c68d1764c55d71c9892e9a889b5b0e748b9f729a360587a0": "0x32e6ec7b760436a32c06c22515d51747afc9cb311499a1b55e1ca23bcacd30", + "0x9f3baf248538e797f69690b6c71c0b932a0d0f86e7a365dee0a5cc918356c768": "0xe809d5ee6a94eab815234e5fa1b3d69fa0ffd579b2928b7e4e15a0cfa7300fc", + "0x0000000000000000000000000000000000000000000000000000000000000007": "0x0", + "0x12efabcb40a02de35bed9150af5c8746a5e9f14c42b0a16391cab66f377a0dcb": "0x3e7233b447975666804a87d9ce12dcd103c9fd6469a2ba98d77134fa3a9d0d58", + "0x72f8a50a8b99b554fd32bba164225ef82c2b8f0bd93af83a9d8c7c267e2f30eb": "0x0", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x0", + "0x000000000000000000000000000000000000000000000000000000000000000d": "0x0", + "0x485c151f646ee015010d293862658dc47c828088bd28e4735650f01ee0ca233e": "0x0", + "0x0000000000000000000000000000000000000000000000000000000000000006": "0xffffffffffffffffffffffffffffffffffffffffffffd5832edc300c384c3000" + }, + "code_usage": { + "read": "0x350a367389566c74f2de9c6d95ab7fbd895307d84171a9cad8b9606b218c203c" + } }, - "0xdfd5293d8e347dfe59e90efd55b2956a1343963d": { - "balance": "0x2b62acf8a7185647d0b", - "nonce": "0x7df823" + "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + }, + "code_usage": { + "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + } } }, "meta": { - "byte_code": "0x02f87701837df82284773594008517bfac7c0083032918940a12da0c6b8fd42bf432785653312ff25eb88eb288049ed38284d8b80080c001a03f58552121cfea6f14284f06363b7bbd54c285c62e31464af1e688ae861f6ebda0737d8c857b9cb5f25578a816fd59acc6833114e4dc15b5a69198d4a7f869cb28", - "new_txn_trie_node_byte": "0x02f87701837df82284773594008517bfac7c0083032918940a12da0c6b8fd42bf432785653312ff25eb88eb288049ed38284d8b80080c001a03f58552121cfea6f14284f06363b7bbd54c285c62e31464af1e688ae861f6ebda0737d8c857b9cb5f25578a816fd59acc6833114e4dc15b5a69198d4a7f869cb28", - "new_receipt_trie_node_byte": "0xb9010d02f901090183625bfeb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f9043c0182014184773594008501b6eec3e98305110d943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8804db732547630000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d75a00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000004db7325476300000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000004db73254763000000000000000000000000000000000000000000000000019e67dcd145b225494b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a26edd30b6f1cb6ec66cbe86151e18742bafb2ef0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a26edd30b6f1cb6ec66cbe86151e18742bafb2ef00000000000000000000000037a8f295612602f2774d331e562be9e61b83a32700000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a26edd30b6f1cb6ec66cbe86151e18742bafb2ef0000000000000000000000005fb77fb14f8819f4ce8c170766ec452fdf1b667d00000000000000000000000000000000000000000000019d5ea495de7b4cdf82c001a008fa2c0b44db8a3424dca378452d2fa09e7030638e8f5c39078abd6c890ac450a03e9f74e5c13d976c476156280ef79fa2a56223facbd74d068da39ced74ffc63a", + "new_txn_trie_node_byte": "0x02f9043c0182014184773594008501b6eec3e98305110d943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8804db732547630000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d75a00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000004db7325476300000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000004db73254763000000000000000000000000000000000000000000000000019e67dcd145b225494b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a26edd30b6f1cb6ec66cbe86151e18742bafb2ef0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a26edd30b6f1cb6ec66cbe86151e18742bafb2ef00000000000000000000000037a8f295612602f2774d331e562be9e61b83a32700000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a26edd30b6f1cb6ec66cbe86151e18742bafb2ef0000000000000000000000005fb77fb14f8819f4ce8c170766ec452fdf1b667d00000000000000000000000000000000000000000000019d5ea495de7b4cdf82c001a008fa2c0b44db8a3424dca378452d2fa09e7030638e8f5c39078abd6c890ac450a03e9f74e5c13d976c476156280ef79fa2a56223facbd74d068da39ced74ffc63a", + "new_receipt_trie_node_byte": "0xb9057802f9057401834b791eb9010000210000000000000000000080000000000008000000000000000000000000000000000000800000000000000000000002000000080000000000000000000000000000080000000000000008000000200000000000000000000000008020100000000000000000000000000000000000000000000000000000000010000000400000000000000000000000000000000000000001000000080000004000000000000000000000000000000000000000000000040000000042000000000040000000000002000000000000000000000008080000000000001000000000000080000000200000000000000000000000000000001000000000400000000000004000f90469f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000004db732547630000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000009e8b54c2b5cbf03081d29d63f60d76ea80b54b51a000000000000000000000000000000000000000000000000004db732547630000f89b94a26edd30b6f1cb6ec66cbe86151e18742bafb2eff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009e8b54c2b5cbf03081d29d63f60d76ea80b54b51a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000001a07a4d48141fd61cddf879949e8b54c2b5cbf03081d29d63f60d76ea80b54b51e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000015bafba1d52ca13b9b92000000000000000000000000000000000000000000000000458aa642c85a9494f8fc949e8b54c2b5cbf03081d29d63f60d76ea80b54b51f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004db7325476300000000000000000000000000000000000000000000000001a07a4d48141fd61cdd0000000000000000000000000000000000000000000000000000000000000000f89b94a26edd30b6f1cb6ec66cbe86151e18742bafb2eff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000037a8f295612602f2774d331e562be9e61b83a327a00000000000000000000000000000000000000000000000010a8bb69487c2748df89b94a26edd30b6f1cb6ec66cbe86151e18742bafb2eff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000005fb77fb14f8819f4ce8c170766ec452fdf1b667da000000000000000000000000000000000000000000000019f6fc1917f9813a850", + "gas_used": 239740 } }, { "traces": { - "0x077d360f11d220e4d5d831430c81c26c9be7c4a4": { - "balance": "0xb5259a8ba0689106" + "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196611bf746fd5c1c" + "0x66bff695f3b16a824869a8018a3a6e3685241269": { + "storage_read": [ + "0x3104735a2e3ebc0603640628eb3cabca98860ff4a0551d36ac4b64444b598a8d", + "0x170fb6e56ba8eea6da70f405e99bb17dfa0ee78bd1ceedd6a5114bea365341c3" + ], + "storage_written": { + "0x170fb6e56ba8eea6da70f405e99bb17dfa0ee78bd1ceedd6a5114bea365341c3": "0xad917e01f8b0dac67fcc50af", + "0x3104735a2e3ebc0603640628eb3cabca98860ff4a0551d36ac4b64444b598a8d": "0x6ad780f10078e9839d2ac1" + }, + "code_usage": { + "read": "0x77196e4e58b00c019a078a384999dc3bcf79bfba80c07d00079b81525a442eff" + } }, - "0x328e31cb53b8a73f00685bca2ee237d3c690db32": { - "balance": "0x1d1a94a20000", - "nonce": "0x1" - } - }, - "meta": { - "byte_code": "0xf86b808507735940008255f094077d360f11d220e4d5d831430c81c26c9be7c4a4871cbf15debc50008025a03de587ecf53985be854928eab42ffeb628cbf2bc339c5df6cd14b8a836bf9831a02fabf94eb9435db61b0e019378a64a4f1dee8791dc6fb45b9538bf6190d6c56a", - "new_txn_trie_node_byte": "0xf86b808507735940008255f094077d360f11d220e4d5d831430c81c26c9be7c4a4871cbf15debc50008025a03de587ecf53985be854928eab42ffeb628cbf2bc339c5df6cd14b8a836bf9831a02fabf94eb9435db61b0e019378a64a4f1dee8791dc6fb45b9538bf6190d6c56a", - "new_receipt_trie_node_byte": "0xf90109018362ae06b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0xbde1148eec7b6939f6d6ccf9aaa020f3c0bcc180": { - "balance": "0x139aa27736d5d19146" + "0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5": { + "code_usage": { + "read": "0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127" + } }, - "0x05164623eb75013880b1d602458f78c982e4f315": { - "balance": "0x0", - "nonce": "0x5" + "0x6df064f04ddfb2bb53da21af9d56701726700145": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000009": "0xeb87d260be44e3de04ebb680", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x704f904746f78c42a9fb1717eefd12c601690ebec", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b00000000000120675648f96ed7bd0000ad917e01f8b0dac67fcc50af" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661371125afa774" - } - }, - "meta": { - "byte_code": "0xf86b0485077359400082520894bde1148eec7b6939f6d6ccf9aaa020f3c0bcc1808725e67d4e76c0008025a0d5bf3e3afbf2d80d66cb29e7b82ec4b09014a2b7c92f1f815a48afe315efe3d0a02140d8a903bb2bc822e9e83c83bb6c48534c063dde9d62786334daf5da5a896f", - "new_txn_trie_node_byte": "0xf86b0485077359400082520894bde1148eec7b6939f6d6ccf9aaa020f3c0bcc1808725e67d4e76c0008025a0d5bf3e3afbf2d80d66cb29e7b82ec4b09014a2b7c92f1f815a48afe315efe3d0a02140d8a903bb2bc822e9e83c83bb6c48534c063dde9d62786334daf5da5a896f", - "new_receipt_trie_node_byte": "0xf90109018363000eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x4302b54ff22f65b0490aed5f09c5edbfbfafac88": { - "balance": "0x2a8320398e7cb5f0", - "nonce": "0x57c5" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7168c2974b800b9d" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196614dfc7abc0774" + "0x84da844959c21a42bc7baaf723d2d4bdc2c53095": { + "balance": "0xb5264c212a6d284", + "nonce": "0xcc" }, - "0xbc156e663bffc54c6fce1d93b4f30b1b57d8d7f8": { - "balance": "0x555f61225a4b18" + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b81a088e516667b1ac4", + "storage_read": [ + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f", + "0x38cd6e42068dc328d90a07792d096a975210ac17ce5c0491bfda0edbde8327d6" + ], + "storage_written": { + "0x38cd6e42068dc328d90a07792d096a975210ac17ce5c0491bfda0edbde8327d6": "0x120675648f96ed7bd", + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f": "0x0" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } } }, "meta": { - "byte_code": "0x02f874018257c48447868c0085090c6dbf6982520894bc156e663bffc54c6fce1d93b4f30b1b57d8d7f88751f4e34111c40080c001a0a215d3947cad0eca84ccc02d7b85730c233c5eada2def7a4fff7d7f5e0d36519a059f94c95424734965fa1356b0de5499e736e8daefb58ec6add8edd74ca899024", - "new_txn_trie_node_byte": "0x02f874018257c48447868c0085090c6dbf6982520894bc156e663bffc54c6fce1d93b4f30b1b57d8d7f88751f4e34111c40080c001a0a215d3947cad0eca84ccc02d7b85730c233c5eada2def7a4fff7d7f5e0d36519a059f94c95424734965fa1356b0de5499e736e8daefb58ec6add8edd74ca899024", - "new_receipt_trie_node_byte": "0xb9010d02f901090183635216b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f901590181cb84b2d05e008502182fb1ca8303be779480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e87b1a2bc2ec50000b8e4b6f9de9500000000000000000000000000000000000000000060285a72806cd229a70ce0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000084da844959c21a42bc7baaf723d2d4bdc2c53095000000000000000000000000000000000000000000000000000000006632d06c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000066bff695f3b16a824869a8018a3a6e3685241269c001a014a25cb676d40134dbda63b76b7161337061c3720de5e8e967b1381fe2431e9da03502483262f6cc4e113524c2b1bd018313d97cb4e11fbf655f1600e803f47fb1", + "new_txn_trie_node_byte": "0x02f901590181cb84b2d05e008502182fb1ca8303be779480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e87b1a2bc2ec50000b8e4b6f9de9500000000000000000000000000000000000000000060285a72806cd229a70ce0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000084da844959c21a42bc7baaf723d2d4bdc2c53095000000000000000000000000000000000000000000000000000000006632d06c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000066bff695f3b16a824869a8018a3a6e3685241269c001a014a25cb676d40134dbda63b76b7161337061c3720de5e8e967b1381fe2431e9da03502483262f6cc4e113524c2b1bd018313d97cb4e11fbf655f1600e803f47fb1", + "new_receipt_trie_node_byte": "0xb9043e02f9043a01834d9316b90100002000000000000000000080800000000000000000000800000000000000000000000000000000000000080000000000020000000c0000000000000000000000000000000000000000000008000000200000000100000000000000008000000020000000000000000000400000000000000000000008000000000010000000000000800000000000000000000000000000000001000000080000004000000000000000000000000000000000100000000000000000004000000000000000000000000002000000000000040000000000000000000000001000000000000000000040200800000000000000000000000000000000008000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000000000000000000000000000000b1a2bc2ec50000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea00000000000000000000000006df064f04ddfb2bb53da21af9d56701726700145a000000000000000000000000000000000000000000000000000b1a2bc2ec50000f89b9466bff695f3b16a824869a8018a3a6e3685241269f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006df064f04ddfb2bb53da21af9d56701726700145a000000000000000000000000084da844959c21a42bc7baaf723d2d4bdc2c53095a00000000000000000000000000000000000000000006ad780f10078e9839d2ac1f879946df064f04ddfb2bb53da21af9d56701726700145e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000ad917e01f8b0dac67fcc50af00000000000000000000000000000000000000000000000120675648f96ed7bdf8fc946df064f04ddfb2bb53da21af9d56701726700145f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000084da844959c21a42bc7baaf723d2d4bdc2c53095b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000006ad780f10078e9839d2ac10000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 137720 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196616115ec465774" + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b81a615faf7dca31ac4", + "storage_read": [ + "0x54ee3e8e34c1dee621bd63112386ff15988a1b44771e6696a296937b4b47cb21", + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a" + ], + "storage_written": { + "0x54ee3e8e34c1dee621bd63112386ff15988a1b44771e6696a296937b4b47cb21": "0x79222ad2e7f8d195d", + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } }, - "0x3e3b6403f11630561c756a33f62aa48418709d49": { - "balance": "0xee96b8e7287cf08" + "0xf08c771e231a932855657c974420caecb6a49e02": { + "balance": "0x497728e3a288261", + "nonce": "0x2a" }, - "0x7dbdec4edbeb5fa3c9f79a87af427b970a88d90d": { - "balance": "0x3d966f640aa026bad", - "nonce": "0x788f" - } - }, - "meta": { - "byte_code": "0x02f8750182788e843b9aca00850c770e5701825208943e3b6403f11630561c756a33f62aa48418709d49880ee91813ef21f80080c001a0cc26626855162f0af553b48f05200817bb182e4cff6e819822eca7b611ca1339a07f3f73873fc6db0cf9e97226bd6ab6f8f6acbdef0dd4b1a839ea16ed8d936ada", - "new_txn_trie_node_byte": "0x02f8750182788e843b9aca00850c770e5701825208943e3b6403f11630561c756a33f62aa48418709d49880ee91813ef21f80080c001a0cc26626855162f0af553b48f05200817bb182e4cff6e819822eca7b611ca1339a07f3f73873fc6db0cf9e97226bd6ab6f8f6acbdef0dd4b1a839ea16ed8d936ada", - "new_receipt_trie_node_byte": "0xb9010d02f90109018363a41eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661742f5dd0a774" + "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + }, + "code_usage": { + "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + } }, - "0xab782bc7d4a2b306825de5a7730034f8f63ee1bc": { - "balance": "0x827858c19191f34fff", - "nonce": "0x20717" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7169e0989db95f9d" + }, + "0xfd26e39807772251c3bb90fb1fcd9ce5b80c5c24": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x6ca27ba9a9d7f113a6c2ad6591c94709661a12443b6ebb254c64cd58dee3317f", + "0xe23118eddd6e376a9af5bcf7ada6c1a65b62764c84613b6dd1d0fa0f128c0ca7", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x9c80a3e36ceb420ff6ed5f1e18b3abfa1b15cef1af67306840c8ae6cb65fb827", + "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x46fd4340bf51cc2dc45c7009ef9cd43dc2b8538c20eb9258c1e1756d3a175451", + "0x0000000000000000000000000000000000000000000000000000000000000015", + "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x3e1b8c6f2790728bdb4f5aaa58b88231d79aeb9783c8cecf432fd32941f53f10", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x000000000000000000000000000000000000000000000000000000000000000c" + ], + "storage_written": { + "0x9c80a3e36ceb420ff6ed5f1e18b3abfa1b15cef1af67306840c8ae6cb65fb827": "0x11f71ac97dc4fa757032de1f2aeb991c0da922d14e3612b826b472caf49a499", + "0x0000000000000000000000000000000000000000000000000000000000000006": "0xfffffffffffffffffffffffffffffffffffffffffffffffffed58b3f83960000", + "0x000000000000000000000000000000000000000000000000000000000000000d": "0x5", + "0x6ca27ba9a9d7f113a6c2ad6591c94709661a12443b6ebb254c64cd58dee3317f": "0xae43b8a826ba292291979f7ae446cfe5bfb4f50f997c922d74eb11d404ebe", + "0x46fd4340bf51cc2dc45c7009ef9cd43dc2b8538c20eb9258c1e1756d3a175451": "0x25dc7552dcfc644395409f6224b5440c95533b5c45a416cb48ee0429585d0a33", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x0", + "0x0000000000000000000000000000000000000000000000000000000000000007": "0x0" + }, + "code_usage": { + "read": "0x923ed581a23a11f04eb6118d5966f1342926aa0c1d63b079788d8056c1c404c2" + } }, - "0x45aa506bb80032c52c992c07d76d8fafe35b0ae4": { - "balance": "0x1b04762e434400" + "0x846e72e2f4bf9978143d933ef2d224284ebc1274": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b00000000000000348afceab445dd0000000000079222ad2e7f8d195d", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0xb4c8c52e44258266a68cbb37c49de9c", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0xfdfbed937cbaa0a8ab19a20246a8129ee3b24" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } } }, "meta": { - "byte_code": "0x02f8750183020716843b9aca00850c770e57018252089445aa506bb80032c52c992c07d76d8fafe35b0ae4871b04762e43440080c080a0f18f26d0323d7260ddf2618dcfd953ef08b01857ca366c42844de5d79cf81c11a05debce855dcea05b7c653a84d6b043a50794e98ab345c599cfc7a661299032aa", - "new_txn_trie_node_byte": "0x02f8750183020716843b9aca00850c770e57018252089445aa506bb80032c52c992c07d76d8fafe35b0ae4871b04762e43440080c080a0f18f26d0323d7260ddf2618dcfd953ef08b01857ca366c42844de5d79cf81c11a05debce855dcea05b7c653a84d6b043a50794e98ab345c599cfc7a661299032aa", - "new_receipt_trie_node_byte": "0xb9010d02f90109018363f626b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f902fa012984773594008501de6733c7830343c3943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad88058d15e176280000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d76000000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000f08c771e231a932855657c974420caecb6a49e02000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000000024698f86004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000fd26e39807772251c3bb90fb1fcd9ce5b80c5c24c080a0f265fbc1eaf1bfd549741b3f52936d20bda06b573177ab82861ed4326cc3aad5a0389b0d1b9d212adab3c9f85d64e2493608babc28bef59b8638cd27cf34c76612", + "new_txn_trie_node_byte": "0x02f902fa012984773594008501de6733c7830343c3943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad88058d15e176280000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d76000000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000f08c771e231a932855657c974420caecb6a49e02000000000000000000000000000000000000000000000000058d15e176280000000000000000000000000000000000000000000000000000000024698f86004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000fd26e39807772251c3bb90fb1fcd9ce5b80c5c24c080a0f265fbc1eaf1bfd549741b3f52936d20bda06b573177ab82861ed4326cc3aad5a0389b0d1b9d212adab3c9f85d64e2493608babc28bef59b8638cd27cf34c76612", + "new_receipt_trie_node_byte": "0xb9043e02f9043a01834ff947b9010000200000000000000000000080000000000000000000000000000000001000000000000000000000000000000000000002000000080000000000000000000000000000080000000000000008000000240000000000000000000000008020000000000000000000000000000000000000000000100000000000000010000000000000000000000000030000000000000000000003000000080000004000000000000000000000020000000000000000000000000000000000000000000000010000000002000000000000000000000000000004040000001000000080000000000000200000000040000000000000000000001000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000000058d15e176280000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000846e72e2f4bf9978143d933ef2d224284ebc1274a0000000000000000000000000000000000000000000000000058d15e176280000f89b94fd26e39807772251c3bb90fb1fcd9ce5b80c5c24f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000846e72e2f4bf9978143d933ef2d224284ebc1274a0000000000000000000000000f08c771e231a932855657c974420caecb6a49e02a0000000000000000000000000000000000000000000000000000024982b1efdb2f87994846e72e2f4bf9978143d933ef2d224284ebc1274e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000079222ad2e7f8d195d00000000000000000000000000000000000000000000000000348afceab445ddf8fc94846e72e2f4bf9978143d933ef2d224284ebc1274f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000f08c771e231a932855657c974420caecb6a49e02b880000000000000000000000000000000000000000000000000058d15e17628000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026853add40f1", + "gas_used": 157233 } }, { "traces": { - "0x475fabf10ac820ce4dd52fe30c7df82271933a57": { - "balance": "0x4224dcd051a9649df", - "nonce": "0x7a0d" + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "code_usage": { + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196618748cf5af774" + "0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x000000000000000000000000000000000000000000000000000000000000086b", + "0x3431b19bd612e070e1fdaca9a0a5f85d6076c651816914ebcc14279df5e34ebe" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000065": "0x1", + "0x3431b19bd612e070e1fdaca9a0a5f85d6076c651816914ebcc14279df5e34ebe": "0x2" + }, + "code_usage": { + "read": "0x932cddc50793da935ccf915651ad67f6b746e9936fcc5614f0ff492563782c75" + } }, - "0x8b69092c00d8785938a180c2a5e8bb9de12b7c60": { - "balance": "0xb99cf52e5add3e0" - } - }, - "meta": { - "byte_code": "0x02f87501827a0c843b9aca00850c770e5701825208948b69092c00d8785938a180c2a5e8bb9de12b7c60880b9985091a84100080c080a0168e36b2a1167b47e03538e5c1634314fc3b6988c081a3b634f6007b61765538a039ad4e0afe94791a0dffe709f008776a746cbe1a15e5eba7ef0b44a4e3920b27", - "new_txn_trie_node_byte": "0x02f87501827a0c843b9aca00850c770e5701825208948b69092c00d8785938a180c2a5e8bb9de12b7c60880b9985091a84100080c080a0168e36b2a1167b47e03538e5c1634314fc3b6988c081a3b634f6007b61765538a039ad4e0afe94791a0dffe709f008776a746cbe1a15e5eba7ef0b44a4e3920b27", - "new_receipt_trie_node_byte": "0xb9010d02f90109018364482eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196619a6240e54774" + "0xa4d3535f33549749fb97fa42903ac80f6fb54af6": { + "code_usage": { + "read": "0x5d098ae866f1ce7c5901f5f3de330e9c1b34b3d409211c04e07f7583355c135c" + } }, - "0x2df9b935c44057ac240634c7536511d8aa03028d": { - "balance": "0xd296d2690b67f539" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x716aaa9cca819b9d" }, - "0xc80882dd97f2bab7cc90517b1a5947b7916167c6": { - "balance": "0x1a3588c2f0560", - "nonce": "0x3" + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "storage_read": [ + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xc1e9f6c54e8b284fca05f4d31686794a1ceeb011fe91b9e4cd2e9d58809afc01", + "0xcde53cdaa923a00f6aa55d520b09a1db6158eb936b1ea104df5f4cae6dc6a7c6", + "0x0aac1e20bdf8ed6fba91ad7f00a790803a7e44cc469af15a7dabd0ff3fd884db", + "0xc849ad55bc61310ebd8f2a422e1b5cca990738674af0b5ae7b735b8818e4a1d9", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b" + ], + "storage_written": { + "0xcde53cdaa923a00f6aa55d520b09a1db6158eb936b1ea104df5f4cae6dc6a7c6": "0x417ebdfaa", + "0x0aac1e20bdf8ed6fba91ad7f00a790803a7e44cc469af15a7dabd0ff3fd884db": "0x39f8af49", + "0xc849ad55bc61310ebd8f2a422e1b5cca990738674af0b5ae7b735b8818e4a1d9": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffb52e5a8ce41" + }, + "code_usage": { + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" + } + }, + "0xfc99f58a8974a4bc36e60e2d490bb8d72899ee9f": { + "code_usage": { + "read": "0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986" + } + }, + "0x1b59718eafa2bffe5318e07c1c3cb2edde354f9c": { + "balance": "0x2e00ea850b34fed", + "nonce": "0xa905" } }, "meta": { - "byte_code": "0x02f8730102843b9aca00850c770e5701825208942df9b935c44057ac240634c7536511d8aa03028d8802f1f5964ccf4ac880c001a06ab29d48216afc125362c78f8e2e48998127401d2e794bf110e386fd472aa3e1a07e3261d166d56e1c78277d9143426ed322b9ac6ee8d8b886e7dba020e45e3fda", - "new_txn_trie_node_byte": "0x02f8730102843b9aca00850c770e5701825208942df9b935c44057ac240634c7536511d8aa03028d8802f1f5964ccf4ac880c001a06ab29d48216afc125362c78f8e2e48998127401d2e794bf110e386fd472aa3e1a07e3261d166d56e1c78277d9143426ed322b9ac6ee8d8b886e7dba020e45e3fda", - "new_receipt_trie_node_byte": "0xb9010d02f901090183649a36b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f902540182a904847b61b18085019988e97083033450945c7bcd6e7de5423a257d81b442095a1a6ced35c580b901e42e378115000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000c769b1249009a901b5271613fc466cf028a5877000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000006174e170000000000000000000000000000000000000000000000000000000005eb8fb30000000000000000000000000000000000000000000000000000000000002105000000000000000000000000000000000000000000000000000000000015f2f900000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000c001a0c52534ce7b249076a87f1aec669bea80098b995c13a10e771431f5856d0db199a0513db480c37565d8045934b1925a36418083c2ce5d458fa4f6fb42e5d5611366", + "new_txn_trie_node_byte": "0x02f902540182a904847b61b18085019988e97083033450945c7bcd6e7de5423a257d81b442095a1a6ced35c580b901e42e378115000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000c769b1249009a901b5271613fc466cf028a5877000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000006174e170000000000000000000000000000000000000000000000000000000005eb8fb30000000000000000000000000000000000000000000000000000000000002105000000000000000000000000000000000000000000000000000000000015f2f900000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000c001a0c52534ce7b249076a87f1aec669bea80098b995c13a10e771431f5856d0db199a0513db480c37565d8045934b1925a36418083c2ce5d458fa4f6fb42e5d5611366", + "new_receipt_trie_node_byte": "0xb9048d02f904890183519c6fb9010000000000000000000000000000000000000000000000000000000000000000000400000080000000000000000000000000000000000000000001000000000000000000000000000008000008000000000800000000000000000000000808000000010000000010040000000000000000000100000000000000000010000000000000000000000008000000000000000000000000010000000000000020000000000000000000200040000000000000000000000000000000800000000000000000000082000000000020000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000f9037ef902de945c7bcd6e7de5423a257d81b442095a1a6ced35c5f884a0571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7a00000000000000000000000000000000000000000000000000000000000002105a0000000000000000000000000000000000000000000000000000000000015f2f9a00000000000000000000000001b59718eafa2bffe5318e07c1c3cb2edde354f9cb90240000000000000000000000000d9aaec86b65d86f6a7b5b1b0c42ffa531710b6ca000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000006174e170000000000000000000000000000000000000000000000000000000005eb8fb3000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c769b1249009a901b5271613fc466cf028a5877000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000005eb8fb300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001b59718eafa2bffe5318e07c1c3cb2edde354f9ca0000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9fa00000000000000000000000000000000000000000000000000000000005eb8fb3", + "gas_used": 107304 } }, { "traces": { - "0xa7e172275e2e05a4d5ebd2ef639b0cce7900881c": { - "balance": "0x43f4f7e0cddc08", - "nonce": "0x3af" + "0x6a7eff1e2c355ad6eb91bebb5ded49257f3fed98": { + "storage_written": { + "0xda568153ce45103af41646e4ae0689016e734652f2ac66dd3092cc18c49b1f73": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "code_usage": { + "read": "0x9ad3503ae369d056790440b1c9179bafb39c3f8beaadc77168cd60c0d4988e9a" + } }, - "0xdb4325bfdb5877f15c5f7079a99e8936a32313a5": { - "balance": "0x9b6e64a8ec60000" + "0xc2004c21628d3c00b7402064c6480cbb86985a81": { + "balance": "0x31b53cb7c41242", + "nonce": "0x21" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661a3eef9aa6f74" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x716b006b6e527f9d" } }, "meta": { - "byte_code": "0x02f875018203ae841dcd65008509db73b92082520894db4325bfdb5877f15c5f7079a99e8936a32313a588016345785d8a000080c001a059ef2f974f2a50dcbb01f6e64b51d106d15ac582b14926a0c8a88a35ef8eb2d8a07149a212082af3ce02809539a494b942a6f46062dfa04a0ea8abc6e1f22a797e", - "new_txn_trie_node_byte": "0x02f875018203ae841dcd65008509db73b92082520894db4325bfdb5877f15c5f7079a99e8936a32313a588016345785d8a000080c001a059ef2f974f2a50dcbb01f6e64b51d106d15ac582b14926a0c8a88a35ef8eb2d8a07149a212082af3ce02809539a494b942a6f46062dfa04a0ea8abc6e1f22a797e", - "new_receipt_trie_node_byte": "0xb9010d02f90109018364ec3eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f8b0012084773594008501de6733c782d5a2946a7eff1e2c355ad6eb91bebb5ded49257f3fed9880b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a030196e8ee5d5edddf68e2d5069ed2e0677269ed5d46867b39e945a8ac1246a9ca02b7660f9aa69ac4194b1cf344174c62ef31c60936fad553a63c91f394df03871", + "new_txn_trie_node_byte": "0x02f8b0012084773594008501de6733c782d5a2946a7eff1e2c355ad6eb91bebb5ded49257f3fed9880b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a030196e8ee5d5edddf68e2d5069ed2e0677269ed5d46867b39e945a8ac1246a9ca02b7660f9aa69ac4194b1cf344174c62ef31c60936fad553a63c91f394df03871", + "new_receipt_trie_node_byte": "0xb901ab02f901a701835254b4b9010000000000000000000000000000000000000000000000000000000000000000000000000000002000004000000000000000000000800000000000000000200000000000400000000000004000000000000000020000000800000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000010000000000000000000000000000000000000000000000000000000000000f89df89b946a7eff1e2c355ad6eb91bebb5ded49257f3fed98f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c2004c21628d3c00b7402064c6480cbb86985a81a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "gas_used": 47173 } }, { "traces": { - "0x035535b9cb724e88d647d5d42ff0ad2cfe9d75af": { - "balance": "0xa478d1dc3cbca7" + "0x730a5e2acebccaa5e9095723b3cb862739da793c": { + "storage_written": { + "0x1cdf743ae030e55870be354eb86e5528b9960e2611d9a7442150970a1a5f1f72": "0xcc05f9ee55a273" + }, + "code_usage": { + "read": "0x615f5ac5a00f9e004c444094f23656237bef37f5fef5c3fad1ed2de16c682ac4" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661ad7bb26f9774" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x716b02830ecebc9d" }, - "0xa5d8552b7839bcd415965e916383e3f0ffe9e77d": { - "balance": "0x23efa4eec2f7e9", - "nonce": "0xd" + "0x51667f075a742982687251657937cb69828b986f": { + "balance": "0x14665c47e250bf8", + "nonce": "0x36" } }, "meta": { - "byte_code": "0x02f872010c841dcd65008509db73b92082520894035535b9cb724e88d647d5d42ff0ad2cfe9d75af87753d533d96800080c001a0511ea2f442c602c2297baacc63f04f3cea272d5ffd34569800e1ff3017ea00b8a037105b81d60bc2db711619c671a90ae21102eedf704fa21f8e588a96deaf550c", - "new_txn_trie_node_byte": "0x02f872010c841dcd65008509db73b92082520894035535b9cb724e88d647d5d42ff0ad2cfe9d75af87753d533d96800080c001a0511ea2f442c602c2297baacc63f04f3cea272d5ffd34569800e1ff3017ea00b8a037105b81d60bc2db711619c671a90ae21102eedf704fa21f8e588a96deaf550c", - "new_receipt_trie_node_byte": "0xb9010d02f901090183653e46b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f8b101358402faf08085012a05f20083010fd494730a5e2acebccaa5e9095723b3cb862739da793c80b844095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a000000000000000000000000000000000000000000000000000cc05f9ee55a273c080a0c9e0467cea778ca96a7ad60eb8e246bb2c3850dec00acc24525425c8a0a8791ca02227388aa7c4e2440e9da1446ae206a97f3fa388563797958f946d597a4e2156", + "new_txn_trie_node_byte": "0x02f8b101358402faf08085012a05f20083010fd494730a5e2acebccaa5e9095723b3cb862739da793c80b844095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a000000000000000000000000000000000000000000000000000cc05f9ee55a273c080a0c9e0467cea778ca96a7ad60eb8e246bb2c3850dec00acc24525425c8a0a8791ca02227388aa7c4e2440e9da1446ae206a97f3fa388563797958f946d597a4e2156", + "new_receipt_trie_node_byte": "0xb901ab02f901a7018353086eb9010000000000000000000000000000000400000000000000002000000000000000000000000000000000400000000000000000000004000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000100000000000000000000040000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000f89df89b94730a5e2acebccaa5e9095723b3cb862739da793cf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000051667f075a742982687251657937cb69828b986fa000000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0a000000000000000000000000000000000000000000000000000cc05f9ee55a273", + "gas_used": 46010 } }, { "traces": { - "0x8942915412f7f79c85feee7aaa6d361de4360a25": { - "balance": "0xd6f8e18d2c58", - "nonce": "0x47" - }, - "0x20d13f6b44dbede399f16763a4d5bd5225c423f4": { - "balance": "0x642afd5bd90efc" + "0x095527f5bea113e9575b662c5ba01d990a280f2f": { + "code_usage": { + "read": "0x3216a8bddf1a8e4bebc2106295e25660bc69867ceb97d074d621ddcba08eeb18" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661b7086b34bf74" - } + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "storage_read": [ + "0x2dc9d3c693617b3827e0e91a4d0bbb6faaf01b386557faa7d2246eb0f9066c6d", + "0x0592cb2ac66491e80183860ecffee687cbefbc41e7cfe5feea9d6831d625cf51", + "0xcf8cf1248280b3884c9302518decd86ecc7fc4fd0bc3fba13f456a3299c69464" + ], + "storage_written": { + "0x2dc9d3c693617b3827e0e91a4d0bbb6faaf01b386557faa7d2246eb0f9066c6d": "0x214219bd314a7275", + "0xcf8cf1248280b3884c9302518decd86ecc7fc4fd0bc3fba13f456a3299c69464": "0x1bde261f2c6f1c1a", + "0x0592cb2ac66491e80183860ecffee687cbefbc41e7cfe5feea9d6831d625cf51": "0x13725204f0df4c5d4" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0xc0a28bb1acf6a63403b7f257ffa4aed01da090e4": { + "balance": "0x12dcc0f", + "code_usage": { + "read": "0x6679182b8ff29aac020acd3b0c1b913bafb8b8b5b9ca1cbe412d1612d9c8b404" + } + }, + "0x87ea2b2037046a9af3284d6a7f5a137931dbba16": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000005" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000000214219bd314a727500000000000000000688c728aa11", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + }, + "code_usage": { + "read": "0x7eb38a112ba6d7614d58b369913cb45d181c2879b1d55f22da50134627d5c3f3" + } + }, + "0x888591885beeca0c45a51331cdc3846094c1a5d3": { + "balance": "0x6fa8f192a5d085ce", + "nonce": "0xa2c" + }, + "0x9deb29c9a4c7a88a3c0257393b7f3335338d9a9d": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000003" + ], + "code_usage": { + "read": "0x8a167d5a7c0ebbe12308960359da937c9fd51d2fca17195d31ab75c9bd28df10" + } + }, + "0x4c19596f5aaff459fa38b0f7ed92f11ae6543784": { + "storage_read": [ + "0x9109f6dc1648af2b44f2ca606ac3df18732c2a2337cb170ed04e727f0993fe90", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x6650f8cf685c74464398df736741f004de87ed6f7aec9a156e5c96afe5e4c14b", + "0x77e66e98214c809cab9c46d0076691e576fe83450af5366e88daf7223045123f", + "0xcee242b74de87d411249c14c87c9aa84c48970bbf1c490334f69ddede1dc5451", + "0x7d603234f8ef0a7fed0902951eed40d0ea9f66b7e86dfd3c376718344bd8b8be", + "0x6e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc7" + ], + "storage_written": { + "0x77e66e98214c809cab9c46d0076691e576fe83450af5366e88daf7223045123f": "0x0", + "0x9109f6dc1648af2b44f2ca606ac3df18732c2a2337cb170ed04e727f0993fe90": "0x688c728aa11", + "0x7d603234f8ef0a7fed0902951eed40d0ea9f66b7e86dfd3c376718344bd8b8be": "0x3cdf1473ab81" + }, + "code_usage": { + "read": "0x49d4db941672a77d32af6747d690836f1a629e468784f9eff2632e70d0bf5a48" + } + }, + "0xec6a6b7db761a5c9910ba8fcab98116d384b1b85": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b0000000000013725204f0df4c5d400000000000000003cdf1473ab81", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718524723cde4f4d" + } + }, + "meta": { + "byte_code": "0x02f9048901820a2b850d4af75dde850d4af75dde830449a094c0a28bb1acf6a63403b7f257ffa4aed01da090e484012dcc0fb8ca2e87ea2b2037046a9af3284d6a7f5a137931dbba1600000000000001ce6d58da33bb5033000000000000000000005fc8923f2587ea2b2037046a9af3284d6a7f5a137931dbba16c0a28bb1acf6a63403b7f257ffa4aed01da090e429ec6a6b7db761a5c9910ba8fcab98116d384b1b850000000000000000005fc8923f254c19596f5aaff459fa38b0f7ed92f11ae6543784330100000000000001eb2610b7dad769ec6a6b7db761a5c9910ba8fcab98116d384b1b85c0a28bb1acf6a63403b7f257ffa4aed01da090e4f90349f89b94ec6a6b7db761a5c9910ba8fcab98116d384b1b85f884a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a02dc9d3c693617b3827e0e91a4d0bbb6faaf01b386557faa7d2246eb0f9066c6da00592cb2ac66491e80183860ecffee687cbefbc41e7cfe5feea9d6831d625cf51a0cf8cf1248280b3884c9302518decd86ecc7fc4fd0bc3fba13f456a3299c69464f8bc9487ea2b2037046a9af3284d6a7f5a137931dbba16f8a5a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000005a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008f90120944c19596f5aaff459fa38b0f7ed92f11ae6543784f90108a06e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc7a09109f6dc1648af2b44f2ca606ac3df18732c2a2337cb170ed04e727f0993fe90a00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000005a06650f8cf685c74464398df736741f004de87ed6f7aec9a156e5c96afe5e4c14ba077e66e98214c809cab9c46d0076691e576fe83450af5366e88daf7223045123fa0cee242b74de87d411249c14c87c9aa84c48970bbf1c490334f69ddede1dc5451a07d603234f8ef0a7fed0902951eed40d0ea9f66b7e86dfd3c376718344bd8b8bed694095527f5bea113e9575b662c5ba01d990a280f2fc0f7949deb29c9a4c7a88a3c0257393b7f3335338d9a9de1a0000000000000000000000000000000000000000000000000000000000000000380a0b5e5a0cbe59097052469455865aa67c44a3d7ce26554fd03ba7def8d666e2200a06720494df5fcdb87aedbceee43fea6f37d8d5b438f533c1e623b693d4db3d02b", + "new_txn_trie_node_byte": "0x02f9048901820a2b850d4af75dde850d4af75dde830449a094c0a28bb1acf6a63403b7f257ffa4aed01da090e484012dcc0fb8ca2e87ea2b2037046a9af3284d6a7f5a137931dbba1600000000000001ce6d58da33bb5033000000000000000000005fc8923f2587ea2b2037046a9af3284d6a7f5a137931dbba16c0a28bb1acf6a63403b7f257ffa4aed01da090e429ec6a6b7db761a5c9910ba8fcab98116d384b1b850000000000000000005fc8923f254c19596f5aaff459fa38b0f7ed92f11ae6543784330100000000000001eb2610b7dad769ec6a6b7db761a5c9910ba8fcab98116d384b1b85c0a28bb1acf6a63403b7f257ffa4aed01da090e4f90349f89b94ec6a6b7db761a5c9910ba8fcab98116d384b1b85f884a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a02dc9d3c693617b3827e0e91a4d0bbb6faaf01b386557faa7d2246eb0f9066c6da00592cb2ac66491e80183860ecffee687cbefbc41e7cfe5feea9d6831d625cf51a0cf8cf1248280b3884c9302518decd86ecc7fc4fd0bc3fba13f456a3299c69464f8bc9487ea2b2037046a9af3284d6a7f5a137931dbba16f8a5a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000005a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008f90120944c19596f5aaff459fa38b0f7ed92f11ae6543784f90108a06e41e0fbe643dfdb6043698bf865aada82dc46b953f754a3468eaa272a362dc7a09109f6dc1648af2b44f2ca606ac3df18732c2a2337cb170ed04e727f0993fe90a00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000005a06650f8cf685c74464398df736741f004de87ed6f7aec9a156e5c96afe5e4c14ba077e66e98214c809cab9c46d0076691e576fe83450af5366e88daf7223045123fa0cee242b74de87d411249c14c87c9aa84c48970bbf1c490334f69ddede1dc5451a07d603234f8ef0a7fed0902951eed40d0ea9f66b7e86dfd3c376718344bd8b8bed694095527f5bea113e9575b662c5ba01d990a280f2fc0f7949deb29c9a4c7a88a3c0257393b7f3335338d9a9de1a0000000000000000000000000000000000000000000000000000000000000000380a0b5e5a0cbe59097052469455865aa67c44a3d7ce26554fd03ba7def8d666e2200a06720494df5fcdb87aedbceee43fea6f37d8d5b438f533c1e623b693d4db3d02b", + "new_receipt_trie_node_byte": "0xb9067502f906710183552d3eb9010000200000000000000080000080000000000000000000000000000000000000000000000000020000000000008000000002000000080002000000000000000000000000000000000400000008000000200000000000000001080000000000000000000000000000000020000000000000000000000000000000002010000000000010000020000000000000010000000000000000040000080000004000020000000000400000000000000000000000000040000000200000000000000000000000000002000000000000080000000000000000000000001000000000000000000000200000000000000000000000000000000000000000000000000000000000f90566f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c0a28bb1acf6a63403b7f257ffa4aed01da090e4a000000000000000000000000087ea2b2037046a9af3284d6a7f5a137931dbba16a000000000000000000000000000000000000000000000000001ce6d58da33bb50f89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000087ea2b2037046a9af3284d6a7f5a137931dbba16a0000000000000000000000000c0a28bb1acf6a63403b7f257ffa4aed01da090e4a00000000000000000000000000000000000000000000000000000005fc8923f25f8799487ea2b2037046a9af3284d6a7f5a137931dbba16e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000000000688c728aa11000000000000000000000000000000000000000000000000214219bd314a7275f8fc9487ea2b2037046a9af3284d6a7f5a137931dbba16f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000c0a28bb1acf6a63403b7f257ffa4aed01da090e4a0000000000000000000000000c0a28bb1acf6a63403b7f257ffa4aed01da090e4b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ce6d58da33bb500000000000000000000000000000000000000000000000000000005fc8923f250000000000000000000000000000000000000000000000000000000000000000f89b944c19596f5aaff459fa38b0f7ed92f11ae6543784f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c0a28bb1acf6a63403b7f257ffa4aed01da090e4a0000000000000000000000000ec6a6b7db761a5c9910ba8fcab98116d384b1b85a00000000000000000000000000000000000000000000000000000005fc8923f25f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ec6a6b7db761a5c9910ba8fcab98116d384b1b85a0000000000000000000000000c0a28bb1acf6a63403b7f257ffa4aed01da090e4a000000000000000000000000000000000000000000000000001eb2610b7dad769f87994ec6a6b7db761a5c9910ba8fcab98116d384b1b85e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000000003cdf1473ab810000000000000000000000000000000000000000000000013725204f0df4c5d4f8fc94ec6a6b7db761a5c9910ba8fcab98116d384b1b85f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000c0a28bb1acf6a63403b7f257ffa4aed01da090e4a0000000000000000000000000c0a28bb1acf6a63403b7f257ffa4aed01da090e4b8800000000000000000000000000000000000000000000000000000005fc8923f250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001eb2610b7dad769", + "gas_used": 140496 + } + }, + { + "traces": { + "0x55c3a56e638e96c91f98735cc86f60a6820e6a44": { + "storage_written": { + "0x2ea8c2c6598093d06106c588ad39e0340152679e3f7b0c3370d5fcd6744a979a": "0xfffffffffffffffffffffc18" + }, + "code_usage": { + "read": "0x0abbee590e63e5b84e073a07e5667f4cdd6d5f77d92214583752db452222113a" + } + }, + "0x8930cf133760bb5e8f09eaf92de318e7135dce04": { + "balance": "0x40e020a56ee7b0", + "nonce": "0x60" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x71860cb567ae75ea" + } + }, + "meta": { + "byte_code": "0x02f8b2015f85014877deb98502674de17983030d409455c3a56e638e96c91f98735cc86f60a6820e6a4480b844095ea7b30000000000000000000000005c9321e92ba4eb43f2901c4952358e132163a85a0000000000000000000000000000000000000000fffffffffffffffffffffc18c080a0a92756c6a0f69086729e49928cf44e752238ffb8ba01e034bbfb7101d3913b67a03da2b7c1fb6bf685c18bc18b0151fcc29f262cb800a3d9dc5f8482d7ae82ac44", + "new_txn_trie_node_byte": "0x02f8b2015f85014877deb98502674de17983030d409455c3a56e638e96c91f98735cc86f60a6820e6a4480b844095ea7b30000000000000000000000005c9321e92ba4eb43f2901c4952358e132163a85a0000000000000000000000000000000000000000fffffffffffffffffffffc18c080a0a92756c6a0f69086729e49928cf44e752238ffb8ba01e034bbfb7101d3913b67a03da2b7c1fb6bf685c18bc18b0151fcc29f262cb800a3d9dc5f8482d7ae82ac44", + "new_receipt_trie_node_byte": "0xb901ab02f901a7018355e243b9010000040000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000800002000000000000200000000000001000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000040000000000010000000000000000000000000000000000000000000000200000000000000f89df89b9455c3a56e638e96c91f98735cc86f60a6820e6a44f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000008930cf133760bb5e8f09eaf92de318e7135dce04a00000000000000000000000005c9321e92ba4eb43f2901c4952358e132163a85aa00000000000000000000000000000000000000000fffffffffffffffffffffc18", + "gas_used": 46341 + } + }, + { + "traces": { + "0x2466858ab5edad0bb597fe9f008f568b00d25fe3": { + "storage_read": [ + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + ], + "storage_written": { + "0x86a28e9fdd78ebb8c5b4d8aab41e424d839eae126d391cbd77e00fecf8775fcc": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "code_usage": { + "read": "0x691dd766f04f5fea3d9f70d6f71707082b263eeba5cd400eb6b3871044b8f181" + } + }, + "0x14a04f74f5f5678003d01349a3eb298601f1cd61": { + "balance": "0x952b11cb2c64bc", + "nonce": "0x12c" + }, + "0x6e65e374ea3cf0f5650f2ba9a7d8e5a1a372b37c": { + "code_usage": { + "read": "0xda2ab95ec934c0398beb2d7d9d1be0ebeca6f16977506125c3290708fd4aa433" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x71869f7b61a693ea" + } + }, + "meta": { + "byte_code": "0x02f8b20182012b84b2d05e00850233aa1b7a82ffe3942466858ab5edad0bb597fe9f008f568b00d25fe380b844095ea7b300000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a00106fcc770c6931bfec76cca82a1c7a2809a4b682acc826883935a302bbbcb4ca013119aa2ec403bd94e377bceaf1f2381cf34754eedc6ce4f50ec67725c38fd7e", + "new_txn_trie_node_byte": "0x02f8b20182012b84b2d05e00850233aa1b7a82ffe3942466858ab5edad0bb597fe9f008f568b00d25fe380b844095ea7b300000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a00106fcc770c6931bfec76cca82a1c7a2809a4b682acc826883935a302bbbcb4ca013119aa2ec403bd94e377bceaf1f2381cf34754eedc6ce4f50ec67725c38fd7e", + "new_receipt_trie_node_byte": "0xb901ab02f901a7018356b464b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000001000200000000000000000000000000000000000000000000100000000000000000000000000000000000000000000400000000000000080000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000050000000200000000000000000000000000000000000000000000000000000f89df89b942466858ab5edad0bb597fe9f008f568b00d25fe3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000014a04f74f5f5678003d01349a3eb298601f1cd61a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "gas_used": 53793 + } + }, + { + "traces": { + "0xc2004c21628d3c00b7402064c6480cbb86985a81": { + "balance": "0x40a937fbe6e64d0", + "nonce": "0x22" + }, + "0x0000000000000000000000000000000000000001": {}, + "0x000000000022d473030f116ddee9f6b43ac78ba3": { + "storage_read": [ + "0xd54a26a04fc0a70863f77aa626b0cae45e830cd50ad35466043ca9dcf023b489" + ], + "storage_written": { + "0xd54a26a04fc0a70863f77aa626b0cae45e830cd50ad35466043ca9dcf023b489": "0x10000665baed9ffffffffffffffffffffffffffffffffffffffff" + }, + "code_usage": { + "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" + } + }, + "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + }, + "code_usage": { + "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + } + }, + "0x6a7eff1e2c355ad6eb91bebb5ded49257f3fed98": { + "storage_read": [ + "0x28429b28af2f497f999e0a6d398fea04364907c42904e881423504f71ac97bbd", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x27e8614f543aae2210f37964aaef3601214132b14a1a5124f10500586f195107", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x26fa2ccb18f2b4bd80de5f936a8759b53431d24cfd2414ef1d6315a18878e5fd", + "0x14d49b0f3796dd125971a52a641f23ea7770a5b5ec7159b5a3f7129092bbf1fc", + "0xff7bd9b1fb87cd9e6b9cc2d39f4c0ae018e7927b28780efc9fcfc4bbb8967d69", + "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x0000000000000000000000000000000000000000000000000000000000000015", + "0x73571c5734e9e0bf7f136f78fc40fb1def4ddd4af4867583790a6625568d31fe", + "0xb87214b37313dd61a69ae186095adbad41535c3b6e73c35e27049b10a3c7da8e", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0xace1c0d55d66caa5e073d6bc0269904bda7d77c01de44c2deab88b1236b49c41", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x0000000000000000000000000000000000000000000000000000000000000016", + "0xda568153ce45103af41646e4ae0689016e734652f2ac66dd3092cc18c49b1f73" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000015": "0x57a8011bb8a0d651d88", + "0xb87214b37313dd61a69ae186095adbad41535c3b6e73c35e27049b10a3c7da8e": "0x921801d8de61653327a", + "0x0000000000000000000000000000000000000000000000000000000000000016": "0x3a7000bd25c08ee1370", + "0x26fa2ccb18f2b4bd80de5f936a8759b53431d24cfd2414ef1d6315a18878e5fd": "0x0", + "0xda568153ce45103af41646e4ae0689016e734652f2ac66dd3092cc18c49b1f73": "0xffffffffffffffffffffffffffffffffffffffffffffffca7f0875eceae97037", + "0xace1c0d55d66caa5e073d6bc0269904bda7d77c01de44c2deab88b1236b49c41": "0x12b92d02efcd1c926e565" + }, + "code_usage": { + "read": "0x9ad3503ae369d056790440b1c9179bafb39c3f8beaadc77168cd60c0d4988e9a" + } + }, + "0x515d459555f8c1fcf2791ded819b73b60a80b8e3": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000009": "0xccd8961b2247c7d3f75460c18682f14", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000016e79d6703c50e7df0000000012b92d02efcd1c926e565", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x8cdbbc0e7b1dff0a884fadc494399ab8d7a718", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b81a237e8ee2c58a6cb", + "storage_read": [ + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", + "0x09eb51beeaeff25410336c89ec4bece8c879010f63b28f931f1e19ac4bb955f8", + "0x070e1d9d82b774cc5b0ee75c4a3bbfd6290fb35c96578e62a94dc7fbce4ff7b6" + ], + "storage_written": { + "0x070e1d9d82b774cc5b0ee75c4a3bbfd6290fb35c96578e62a94dc7fbce4ff7b6": "0x1095534ef6bb5cf9", + "0x09eb51beeaeff25410336c89ec4bece8c879010f63b28f931f1e19ac4bb955f8": "0x16e79d6703c50e7df0", + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x71882ad2abd9d7ea" + } + }, + "meta": { + "byte_code": "0x02f90532012184773594008501de6733c783046408943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d76100000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000001600000000000000000000000006a7eff1e2c355ad6eb91bebb5ded49257f3fed98000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000665baed900000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006632d76100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041919675c0ef05cb971f85fa7d486b599afbf7cd64b1d0ec2b7e7481372ec034471a67f952a08dae22ba2a666f4740efd2c443ec3238087bb28dabba352115d35b1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000003580f78a1315168fc800000000000000000000000000000000000000000000000003db9d201a015e3500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000006a7eff1e2c355ad6eb91bebb5ded49257f3fed98000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000037a8f295612602f2774d331e562be9e61b83a32700000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c2004c21628d3c00b7402064c6480cbb86985a8100000000000000000000000000000000000000000000000003d9250d7619af40c080a05be5f8d338708c963220ff64813bf3d8b2c6ea17037d67f7c9188f341f8bca14a030d9cca93a55d5edd761328c7475dfe3b9716bb350a951869dd9a1dafaa0e789", + "new_txn_trie_node_byte": "0x02f90532012184773594008501de6733c783046408943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d76100000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000001600000000000000000000000006a7eff1e2c355ad6eb91bebb5ded49257f3fed98000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000665baed900000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006632d76100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041919675c0ef05cb971f85fa7d486b599afbf7cd64b1d0ec2b7e7481372ec034471a67f952a08dae22ba2a666f4740efd2c443ec3238087bb28dabba352115d35b1b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000003580f78a1315168fc800000000000000000000000000000000000000000000000003db9d201a015e3500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000006a7eff1e2c355ad6eb91bebb5ded49257f3fed98000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000037a8f295612602f2774d331e562be9e61b83a32700000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c2004c21628d3c00b7402064c6480cbb86985a8100000000000000000000000000000000000000000000000003d9250d7619af40c080a05be5f8d338708c963220ff64813bf3d8b2c6ea17037d67f7c9188f341f8bca14a030d9cca93a55d5edd761328c7475dfe3b9716bb350a951869dd9a1dafaa0e789", + "new_receipt_trie_node_byte": "0xb9071402f9071001835a0561b90100002100000000000000000000800000000000000000000000000000000000000000000000000020000040000000000000020100008800000000000000002800400002004c0000000000004008010000200000020000400800000000000021100000000001000000000000000000000000000000000000040000000010000001000000004000000000000000000000000000000000000000080000004000000000020000000000000000000000000000000400000000000000080000000000000000000002000000000000000000000008000000000000001000000003010000000010200000000000000000000000000000001000000000000000000000004400f90605f8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca0000000000000000000000000c2004c21628d3c00b7402064c6480cbb86985a81a00000000000000000000000006a7eff1e2c355ad6eb91bebb5ded49257f3fed98a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000665baed90000000000000000000000000000000000000000000000000000000000000000f89b946a7eff1e2c355ad6eb91bebb5ded49257f3fed98f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c2004c21628d3c00b7402064c6480cbb86985a81a00000000000000000000000006a7eff1e2c355ad6eb91bebb5ded49257f3fed98a0000000000000000000000000000000000000000000000002acd92d4dc10ded96f89b946a7eff1e2c355ad6eb91bebb5ded49257f3fed98f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c2004c21628d3c00b7402064c6480cbb86985a81a0000000000000000000000000515d459555f8c1fcf2791ded819b73b60a80b8e3a0000000000000000000000000000000000000000000000032d41e5cc55408a232f89b946a7eff1e2c355ad6eb91bebb5ded49257f3fed98f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c2004c21628d3c00b7402064c6480cbb86985a81a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffca7f0875eceae97037f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000515d459555f8c1fcf2791ded819b73b60a80b8e3a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000003e08d4561d0bc1ff87994515d459555f8c1fcf2791ded819b73b60a80b8e3e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000012b92d02efcd1c926e565000000000000000000000000000000000000000000000016e79d6703c50e7df0f8fc94515d459555f8c1fcf2791ded819b73b60a80b8e3f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb880000000000000000000000000000000000000000000000032d41e5cc55408a2320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e08d4561d0bc1ff89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000037a8f295612602f2774d331e562be9e61b83a327a000000000000000000000000000000000000000000000000000027b3bb1864826f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000003de1209b04a73f9", + "gas_used": 217341 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x71888f9c7f602bea" + }, + "0x23926d982592aacaaf4787b9052ffef245443950": { + "balance": "0x3b110f2933046d", + "nonce": "0x38" + }, + "0x49048044d57e1c92a77f79988d21fa8faf74e97e": { + "balance": "0x577f57ba0fd1b17203df", + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x12dcc0f00000000000186a00000000000000000000000003b9aca00" + }, + "code_usage": { + "read": "0x7d1cd19d713c8d64bf663f4168250abfbf690dbb6214c25bf757fee383816914" + } + }, + "0x73a79fab69143498ed3712e519a88a918e1f4072": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000069" + ], + "code_usage": { + "read": "0x7d1cd19d713c8d64bf663f4168250abfbf690dbb6214c25bf757fee383816914" + } + }, + "0x5fb30336a8d0841cf15d452afa297cb6d10877d7": { + "code_usage": { + "read": "0x08671034ec683e4964520b70f7dce9430327414585ef466f940ade9f2a8441d8" + } + }, + "0x6481ff79597fe4f77e1063f615ec5bdaddeffd4b": { + "code_usage": { + "read": "0xa25ca2268d8cf61c83b69854a10b86bca85c6ea8ec7a1c50e658d49f18f4e385" + } + } + }, + "meta": { + "byte_code": "0x02f90158013784773594008501c4c1c01383024c159449048044d57e1c92a77f79988d21fa8faf74e97e873c0a75e0b44000b8e4e9e05c4200000000000000000000000023926d982592aacaaf4787b9052ffef245443950000000000000000000000000000000000000000000000000003c0a75e0b4400000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000c001a09bb22e9c9009350da6c1a149ad69acd7ee2d9b2b6edb4546e1084766c74d8baaa04782af465fb72ac090e71aa8150746324479730bf9bbfaf9f7424a1b1ec6c07b", + "new_txn_trie_node_byte": "0x02f90158013784773594008501c4c1c01383024c159449048044d57e1c92a77f79988d21fa8faf74e97e873c0a75e0b44000b8e4e9e05c4200000000000000000000000023926d982592aacaaf4787b9052ffef245443950000000000000000000000000000000000000000000000000003c0a75e0b4400000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010100000000000000000000000000000000000000000000000000000000000000c001a09bb22e9c9009350da6c1a149ad69acd7ee2d9b2b6edb4546e1084766c74d8baaa04782af465fb72ac090e71aa8150746324479730bf9bbfaf9f7424a1b1ec6c07b", + "new_receipt_trie_node_byte": "0xb9024f02f9024b01835addd2b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020020000000000000000000000000000000000000000000000000200000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000801000000040000000000000000000200000000000000000000000000020000000000000080a0000000000000000000000f90140f9013d9449048044d57e1c92a77f79988d21fa8faf74e97ef884a0b3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32a000000000000000000000000023926d982592aacaaf4787b9052ffef245443950a000000000000000000000000023926d982592aacaaf4787b9052ffef245443950a00000000000000000000000000000000000000000000000000000000000000000b8a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004a000000000000000000000000000000000000000000000000003c0a75e0b44000000000000000000000000000000000000000000000000000003c0a75e0b4400000000000000186a0000100000000000000000000000000000000000000000000", + "gas_used": 55409 + } + }, + { + "traces": { + "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + }, + "code_usage": { + "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b819a16ea22243a314d", + "storage_read": [ + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", + "0x6502030e53436768c950066ada82ae089c1157a69c2a7f5ad1290400fac771a4", + "0x070e1d9d82b774cc5b0ee75c4a3bbfd6290fb35c96578e62a94dc7fbce4ff7b6" + ], + "storage_written": { + "0x6502030e53436768c950066ada82ae089c1157a69c2a7f5ad1290400fac771a4": "0x4632bf606670b121b8", + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", + "0x070e1d9d82b774cc5b0ee75c4a3bbfd6290fb35c96578e62a94dc7fbce4ff7b6": "0x109a8a7bbeeec490" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0x000000000022d473030f116ddee9f6b43ac78ba3": { + "storage_read": [ + "0xd09577d301b6e9afcab0a784451aebcda29ab2dd9d3fc49ad21fa39b530de9c3" + ], + "code_usage": { + "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" + } + }, + "0x2a6c340bcbb0a79d3deecd3bc5cbc2605ea9259f": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1896a54405dc63799c2ae86ba9cd0470bae6708", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b00000000004632bf606670b121b800000000000000258272bb65ede4", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x83a66ef8a46cee723d4d6dd7af6c37c" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x03cdf90e553e7c04f6c5ec3afb49eb87e398f256": { + "balance": "0x98c2b3fa76c5086", + "nonce": "0x4ee" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x7189c3c85e0087ea" + }, + "0x14fee680690900ba0cccfc76ad70fd1b95d10e16": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x3c5a682e31e666fc4ed97536d2516da61c6a130739b082d3382f8f6787459a4b", + "0xc045e703f1d56caf5cda7743acdf0b899054fca30b2df687d247de5ea57c4487", + "0x3aa92721c1f63d645ea557773918cf40f653bd3fd3006e4dd06932e9dcc3c24e", + "0x1e0930751f9c29ed125369d6109d26edf73cc799bbe08d50aca055c289013b7b", + "0x1cbaace06f4585c29d37eabb35f8b707df44daf10e923dadf4b0dad265958583", + "0x19c26b1c194124fdaceff688bc77d34c57ffb256bcf28cde609bc0c10b723ae1", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x329dfb13c60e41e51e294b254863b88c0b6f7a514619dac692bf2b2f27676b6d", + "0x171077983b0d94252738b0c9aee9d5d33901cbb8c3d538b9b66d6d86144a1d61", + "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0xe1f3481cc1cc08ca8b96f84bacacbfbef93dd199915348b58ef03e1eebfee0ac", + "0x7953add80e4cc143242fe4e77e3baa97e934e1faf744ab3e1c415dcccab253e1" + ], + "storage_written": { + "0xe1f3481cc1cc08ca8b96f84bacacbfbef93dd199915348b58ef03e1eebfee0ac": "0x276a01c7ae5", + "0x171077983b0d94252738b0c9aee9d5d33901cbb8c3d538b9b66d6d86144a1d61": "0x258272bb65ede4", + "0x1cbaace06f4585c29d37eabb35f8b707df44daf10e923dadf4b0dad265958583": "0x56716c29e340" + }, + "code_usage": { + "read": "0x2e92e1fe6db9b5ab985295d2d34275c4121f8f65724eb0eec85c7d662debc2f1" + } + } + }, + "meta": { + "byte_code": "0x02f90394018204ed847735940085023f5415c08303a212943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d2b7000000000000000000000000000000000000000000000000000000000000000308060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000048c27395000000000000000000000000000000000000000000000000000081bd4e84ad35de400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000014fee680690900ba0cccfc76ad70fd1b95d10e16000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000037a8f295612602f2774d331e562be9e61b83a3270000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000816a46008141e4bc080a0d3f811b2711a8e8d74310c2182d43f3308855f570ddcb8af1f38958f9947eae0a031dd228af3aab0f5f7bc2548298e89296c8103455309af6f2c318806285b99d2", + "new_txn_trie_node_byte": "0x02f90394018204ed847735940085023f5415c08303a212943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d2b7000000000000000000000000000000000000000000000000000000000000000308060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000048c27395000000000000000000000000000000000000000000000000000081bd4e84ad35de400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000014fee680690900ba0cccfc76ad70fd1b95d10e16000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000037a8f295612602f2774d331e562be9e61b83a3270000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000816a46008141e4bc080a0d3f811b2711a8e8d74310c2182d43f3308855f570ddcb8af1f38958f9947eae0a031dd228af3aab0f5f7bc2548298e89296c8103455309af6f2c318806285b99d2", + "new_receipt_trie_node_byte": "0xb9057802f9057401835d739db9010000220000000000000000000080000000000000000000000000002000000000000000000000000000004000000000000002000000080000400000000000000000000000080000000000040008000000200000000000400000000000000020100000000000000000000000000000000000000000000000040000100010000000000000000000000020000000000000000000000000000000080000004000000000000000000000000000000000000000000000008000040000000000020000400000000002000000000000000000000008000000000000001000000002400000000000201000000000000000000000000000001000000000000000000000004003f90469f89b9414fee680690900ba0cccfc76ad70fd1b95d10e16f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000003cdf90e553e7c04f6c5ec3afb49eb87e398f256a000000000000000000000000014fee680690900ba0cccfc76ad70fd1b95d10e16a00000000000000000000000000000000000000000000000000000002e90edd000f89b9414fee680690900ba0cccfc76ad70fd1b95d10e16f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000003cdf90e553e7c04f6c5ec3afb49eb87e398f256a00000000000000000000000002a6c340bcbb0a79d3deecd3bc5cbc2605ea9259fa00000000000000000000000000000000000000000000000000000045d964b8000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002a6c340bcbb0a79d3deecd3bc5cbc2605ea9259fa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000000082635f8d051dd15f879942a6c340bcbb0a79d3deecd3bc5cbc2605ea9259fe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000000258272bb65ede400000000000000000000000000000000000000000000004632bf606670b121b8f8fc942a6c340bcbb0a79d3deecd3bc5cbc2605ea9259ff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8800000000000000000000000000000000000000000000000000000045d964b800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082635f8d051dd15f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000037a8f295612602f2774d331e562be9e61b83a327a00000000000000000000000000000000000000000000000000005372cc8336797f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000820fecc081e757e", + "gas_used": 169419 + } + }, + { + "traces": { + "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "storage_read": [ + "0x306479c65a412ef1818f96581b0c77779925595b4cad3624dc234f1b6cde0750", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x95eea00c49d14a895954837cd876ffa8cfad96cbaacc40fc31d6df2c902528a8", + "0xdb621032a25a5669122c5c75754540e38f7b0543590733672122a8bc64c6731e", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "storage_written": { + "0xdb621032a25a5669122c5c75754540e38f7b0543590733672122a8bc64c6731e": "0x18e34eb0", + "0x95eea00c49d14a895954837cd876ffa8cfad96cbaacc40fc31d6df2c902528a8": "0x16d83a05b484a" + }, + "code_usage": { + "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718a17a1f49f5bea" + }, + "0x5041ed759dd4afc3a72b8192c143f72f4724081a": { + "balance": "0x39954dc6929146026", + "nonce": "0x17f3d8" + } + }, + "meta": { + "byte_code": "0x02f8b4018317f3d78477359400855d21dba000830668a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000622b681816334f945f643b6f359923179599e0fc0000000000000000000000000000000000000000000000000000000000989680c001a005345b19946989dbc069749041c6e859ae19204378e0e1afcf5aa17f2c36fa7aa0421ea7275743d095c13dff7da88e83cca15ce1fea341ce5429e9eb79c8f1a38d", + "new_txn_trie_node_byte": "0x02f8b4018317f3d78477359400855d21dba000830668a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000622b681816334f945f643b6f359923179599e0fc0000000000000000000000000000000000000000000000000000000000989680c001a005345b19946989dbc069749041c6e859ae19204378e0e1afcf5aa17f2c36fa7aa0421ea7275743d095c13dff7da88e83cca15ce1fea341ce5429e9eb79c8f1a38d", + "new_receipt_trie_node_byte": "0xb901ab02f901a701835e27aeb9010000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000010000000000000000000020000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000008000080000000000000200000000000000000000000000000002002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081aa0000000000000000000000000622b681816334f945f643b6f359923179599e0fca00000000000000000000000000000000000000000000000000000000000989680", + "gas_used": 46097 + } + }, + { + "traces": { + "0xee1aceb0df09c82518c8ac0a9f2eedc5c9f31b91": { + "balance": "0x14f0b2a806d869", + "nonce": "0x1" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718aa8abb0edf1ea" + }, + "0xa57f9ffd65fc0f5792b5e958df42399a114ec7e7": { + "code_usage": { + "read": "0x2b33fdbf136ce944ec2d9781921d40aa8652b38018d4a1a12a60dffa390a5c5e" + } + }, + "0x32400084c286cf3e17e7b677ea9583e60a000324": { + "balance": "0x264e45979d4e0ce28b67", + "storage_read": [ + "0x8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x0000000000000000000000000000000000000000000000000000000000000026", + "0x000000000000000000000000000000000000000000000000000000000000001a", + "0x0c80701d60ea97dc19865e88854f993edcc4951634d6f32fc706a8a748105518", + "0xc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e" + ], + "storage_written": { + "0x51497c74d9dda4580f835a5654c30c01f873bec93a4b0d4522e5bdc249696d46": "0x7829b216ee96e0652a5c43950a14e59495f9c1d6b3247b9449f6dc1350d5f426", + "0x51497c74d9dda4580f835a5654c30c01f873bec93a4b0d4522e5bdc249696d47": "0x6632d06b", + "0x0000000000000000000000000000000000000000000000000000000000000011": "0x3093dd", + "0x8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4": "0x1" + }, + "code_usage": { + "read": "0xac8cdf20125944df30c6d6ffb2c777aecb6105c9cf8e40f3ff1306bccb9aac3f" + } + } + }, + "meta": { + "byte_code": "0x02f9019901808459682f008502ebc9775383020ee69432400084c286cf3e17e7b677ea9583e60a000324872c34995f924191b90124eb672419000000000000000000000000ee1aceb0df09c82518c8ac0a9f2eedc5c9f31b91000000000000000000000000000000000000000000000000002bb3b1bf61d00000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000060f9700000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000ee1aceb0df09c82518c8ac0a9f2eedc5c9f31b9100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0803ca8f7e5044310cd167fae830b5475afb08108f3da47f2712b11daf73f6be1a0578df2e80c3fdbf66acf21fda306a142a554d4a8cd01821353e0084f82c5c609", + "new_txn_trie_node_byte": "0x02f9019901808459682f008502ebc9775383020ee69432400084c286cf3e17e7b677ea9583e60a000324872c34995f924191b90124eb672419000000000000000000000000ee1aceb0df09c82518c8ac0a9f2eedc5c9f31b91000000000000000000000000000000000000000000000000002bb3b1bf61d00000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000060f9700000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000ee1aceb0df09c82518c8ac0a9f2eedc5c9f31b9100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0803ca8f7e5044310cd167fae830b5475afb08108f3da47f2712b11daf73f6be1a0578df2e80c3fdbf66acf21fda306a142a554d4a8cd01821353e0084f82c5c609", + "new_receipt_trie_node_byte": "0xb9050c02f9050801835fc6f8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000001000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000000000000f903fdf903fa9432400084c286cf3e17e7b677ea9583e60a000324e1a04531cd5795773d7101c17bdeb9f5ab7f47d7056017506f937083be5d6e77a382b903c000000000000000000000000000000000000000000000000000000000003093dc7829b216ee96e0652a5c43950a14e59495f9c1d6b3247b9449f6dc1350d5f426000000000000000000000000000000000000000000000000000000006632d06b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000ee1aceb0df09c82518c8ac0a9f2eedc5c9f31b91000000000000000000000000ee1aceb0df09c82518c8ac0a9f2eedc5c9f31b910000000000000000000000000000000000000000000000000000000000060f97000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000138c60cb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003093dc000000000000000000000000000000000000000000000000002bb3b1bf61d000000000000000000000000000000000000000000000000000002c34995f924191000000000000000000000000ee1aceb0df09c82518c8ac0a9f2eedc5c9f31b91000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 106314 + } + }, + { + "traces": { + "0x576c485e48fca54a4ccc5c951c0b383de79bd889": { + "balance": "0x514a30be9c0a94", + "nonce": "0x16" + }, + "0x8086174be8fc721cbf275545193a73f56fbf3384": { + "code_usage": { + "read": "0x119aafd9b182b1009da2932f22a79b5541243fe7c2cb43a79ebc346e67623760" + } + }, + "0xbf5495efe5db9ce00f80364c8b423567e58d2110": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0xa7ab06cd37ee5dcc8462b484589cd967ca067a24ef3b7c6d753fdce7cf737bce", + "0x657fdc231c3d6dac679bf67aaf7c1ed7ade6a64f0d0bdd720d9b01da2cda2c15", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + ], + "storage_written": { + "0xa7ab06cd37ee5dcc8462b484589cd967ca067a24ef3b7c6d753fdce7cf737bce": "0x209582fc5524ef0705f8", + "0x657fdc231c3d6dac679bf67aaf7c1ed7ade6a64f0d0bdd720d9b01da2cda2c15": "0xf50f391be30c9c9" + }, + "code_usage": { + "read": "0xe5e3693157141608a301682c8c228c0277eac7efc0b98b57f874ca49752b5fd8" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718af85156578dea" + }, + "0x00000000005bbb0ef59571e58418f9a4357b68a0": { + "code_usage": { + "read": "0x8d97ebf1fb502361966f574cd1a74cda25ce128146e4129de5fe99c367c30a70" + } + }, + "0x22e12a50e3ca49fb183074235cb1db84fe4c716d": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0xabf99feccfe1908d0252debfc5f7b9aef0bf8b5c317bdaaf6aad3e73e426808f", + "0x000000000000000000000000000000000000000000000000000000000000003a", + "0xfb4d4012d2f91ef3f681c313c80b3f17106cc86eae0fdf8debf40ea039781572", + "0xbfc903637b8363be962292bd515816407d4168224618c81ef4ad119a78ae4402" + ], + "storage_written": { + "0xbfc903637b8363be962292bd515816407d4168224618c81ef4ad119a78ae4402": "0x0", + "0xfb4d4012d2f91ef3f681c313c80b3f17106cc86eae0fdf8debf40ea039781572": "0x0", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x1000000000000000000000000000000000000000000209582fc5524ef0705f8" + }, + "code_usage": { + "read": "0xeae7bf36a65ce5b6453b7e581dc79990eb785165ad6c0cbb65fbe24a867186ea" + } + }, + "0x1e756b7bcca7b26fb9d85344b3525f5559bbacb0": { + "code_usage": { + "read": "0xb3d363300a17b5f7fa658dc21b90d93126fc65175398a16ae8c705583fc02a32" + } + } + }, + "meta": { + "byte_code": "0x02f902320115843ba9971085016bccbaa083034fd09400000000005bbb0ef59571e58418f9a4357b68a080b901c4339a5572000000000000000000000000576c485e48fca54a4ccc5c951c0b383de79bd88900000000000000000000000022e12a50e3ca49fb183074235cb1db84fe4c716d000000000000000000000000000000000000000000000000000b1f94202ea66c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110000000000000000000000000000000000000000000000000000b1157399f0e8c000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0ec192929aada1655bb42bcf501323d5c8acce276e3cabf36be3366934b2c86a5a0520031f14fca5019053241cfe88ae208568c701cb916691b91adcd7622855ab9", + "new_txn_trie_node_byte": "0x02f902320115843ba9971085016bccbaa083034fd09400000000005bbb0ef59571e58418f9a4357b68a080b901c4339a5572000000000000000000000000576c485e48fca54a4ccc5c951c0b383de79bd88900000000000000000000000022e12a50e3ca49fb183074235cb1db84fe4c716d000000000000000000000000000000000000000000000000000b1f94202ea66c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110000000000000000000000000000000000000000000000000000b1157399f0e8c000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0ec192929aada1655bb42bcf501323d5c8acce276e3cabf36be3366934b2c86a5a0520031f14fca5019053241cfe88ae208568c701cb916691b91adcd7622855ab9", + "new_receipt_trie_node_byte": "0xb904c402f904c00183611cb8b9010000002000000000000000000000010000000010000000000000000800000080000080000200000000400000000020000000000000000000000002004000000000000000000000000000001008000040000000000000000000000000000000000000004080020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000001000000000000000000000000000000081000204000000000000002000000000000000000000002000000000000002000000000040000000000000000000020000000000080010000020000000000000000000000000000000000000000200000000000000000000000000f903b5f89b9422e12a50e3ca49fb183074235cb1db84fe4c716df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000576c485e48fca54a4ccc5c951c0b383de79bd889a000000000000000000000000022e12a50e3ca49fb183074235cb1db84fe4c716da0000000000000000000000000000000000000000000000000000b1f94202ea66cf89b9422e12a50e3ca49fb183074235cb1db84fe4c716df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000022e12a50e3ca49fb183074235cb1db84fe4c716da00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000b1f94202ea66cf89b94bf5495efe5db9ce00f80364c8b423567e58d2110f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000022e12a50e3ca49fb183074235cb1db84fe4c716da0000000000000000000000000576c485e48fca54a4ccc5c951c0b383de79bd889a0000000000000000000000000000000000000000000000000000b1f94202ea66cf8dd9422e12a50e3ca49fb183074235cb1db84fe4c716df884a0aee47cdf925cf525fdae94f9777ee5a06cac37e1c41220d0a8a89ed154f62d1ca000000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0a0000000000000000000000000576c485e48fca54a4ccc5c951c0b383de79bd889a0000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110b840000000000000000000000000000000000000000000000000000b1f94202ea66c000000000000000000000000000000000000000000000000000b1f94202ea66cf8fd9400000000005bbb0ef59571e58418f9a4357b68a0f884a0cd34b6ac7e4b72ab30845649aef2f4fd41945ae2dc08f625be69738bbd0f9aa9a0000000000000000000000000576c485e48fca54a4ccc5c951c0b383de79bd889a0000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d2110a000000000000000000000000022e12a50e3ca49fb183074235cb1db84fe4c716db860000000000000000000000000576c485e48fca54a4ccc5c951c0b383de79bd889000000000000000000000000000000000000000000000000000b1f94202ea66c000000000000000000000000000000000000000000000000000b1f94202ea66c", + "gas_used": 87488 + } + }, + { + "traces": { + "0x02eedc3d0cb09e0450c9ed2917005e9bd22cf763": { + "storage_written": { + "0x56a17eb4906aba1d4669db7c4d9257f892eb7f490ea8abe907007206746adb6e": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "code_usage": { + "read": "0xfa6a87bae8f77b7c6cb9068f8d3e2aecb93b59c89666c2f7f74f2a572048de7a" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718b233c2651d5ea" + }, + "0xce4bebfcdb65421f9fc5b2b27ed378e5ae6f0358": { + "balance": "0x11bef9d78ec53524", + "nonce": "0x38" + } + }, + "meta": { + "byte_code": "0x02f8b10137843b9aca00850155f91287830104289402eedc3d0cb09e0450c9ed2917005e9bd22cf76380b844095ea7b3000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a05d77f71bd991a1243da0f2b1b0c76a713d40fd51f01f7792349c4398363959b3a067b97c147b634c1d8717981c1c434524c7262012ee79ef6a09a102a080e17d67", + "new_txn_trie_node_byte": "0x02f8b10137843b9aca00850155f91287830104289402eedc3d0cb09e0450c9ed2917005e9bd22cf76380b844095ea7b3000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a05d77f71bd991a1243da0f2b1b0c76a713d40fd51f01f7792349c4398363959b3a067b97c147b634c1d8717981c1c434524c7262012ee79ef6a09a102a080e17d67", + "new_receipt_trie_node_byte": "0xb901ab02f901a7018361d50cb9010010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000108000000000000000000000000000000000100000000000000000000000000000000000020200008000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000810000000000000000000000000000000000000000000000000000000000000f89df89b9402eedc3d0cb09e0450c9ed2917005e9bd22cf763f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000ce4bebfcdb65421f9fc5b2b27ed378e5ae6f0358a0000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "gas_used": 47188 + } + }, + { + "traces": { + "0x02eedc3d0cb09e0450c9ed2917005e9bd22cf763": { + "storage_written": { + "0x0af73d37b2a59c53e27bc1fb600813c24a125d44d8e2641e4f133186c4d9016c": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "code_usage": { + "read": "0xfa6a87bae8f77b7c6cb9068f8d3e2aecb93b59c89666c2f7f74f2a572048de7a" + } + }, + "0x43998355388149547242cd59cbf619dad3f92b84": { + "balance": "0x15d94a550c65097e", + "nonce": "0x47" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718b4e26f64c1dea" + } + }, + "meta": { + "byte_code": "0x02f8b10146843b9aca00850155f91287830104289402eedc3d0cb09e0450c9ed2917005e9bd22cf76380b844095ea7b3000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a08ecba86210c72558838eb7bf420e270b281614e12742ce394a666620d24e0f0da055ed09dc617676bef188bd2ab254021e30afaf507a2af6c4f8f1e1198f9ba2a4", + "new_txn_trie_node_byte": "0x02f8b10146843b9aca00850155f91287830104289402eedc3d0cb09e0450c9ed2917005e9bd22cf76380b844095ea7b3000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a08ecba86210c72558838eb7bf420e270b281614e12742ce394a666620d24e0f0da055ed09dc617676bef188bd2ab254021e30afaf507a2af6c4f8f1e1198f9ba2a4", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183628d60b9010010000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000100000000000000000000000000000000000020200008000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000200000000000000000000000000000000000000f89df89b9402eedc3d0cb09e0450c9ed2917005e9bd22cf763f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000043998355388149547242cd59cbf619dad3f92b84a0000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "gas_used": 47188 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718c61e1aa8f4089" + }, + "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0xf296cfa4d8f521498b0c9dbe1a75a67d1b1a3e87b2c794f5b7b0e90d084f5427", + "0xaa94d787775c9c0ce503bf9d9e8999741ba98225b09cedf27e26b9851c4db764", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0xc003174de4e275b48c6334fed8975fae513981970c275dc4de760ddabe057660", + "0x896b6faf4e2ebdc3673b827f55ee2b86fe8a64468b6799956ad0e9e9bf09ae13", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xcb5360079375723b83761e4a6a95827fc73bb3ed0270105885eecd4bebc6ba04", + "0x4388934b5d46dbff534f01e3b622df7fe42ceb1b626951bd1820416bd0655a7b", + "0x87decd660d3d02c5e9b4c66d4360409332f079681f501e7fd93d16ca9707a562" + ], + "storage_written": { + "0xcb5360079375723b83761e4a6a95827fc73bb3ed0270105885eecd4bebc6ba04": "0x5a341", + "0x896b6faf4e2ebdc3673b827f55ee2b86fe8a64468b6799956ad0e9e9bf09ae13": "0x2ded992", + "0xc003174de4e275b48c6334fed8975fae513981970c275dc4de760ddabe057660": "0x15f7eaeae442" + }, + "code_usage": { + "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + } + }, + "0xef4fb24ad0916217251f553c0596f8edc630eb66": { + "balance": "0x7d38f0a8d83be9f02", + "storage_read": [ + "0x00000000000000000000000000000000000000000000000000000000000000fd", + "0xe15d81fff353a8b3e2414666aaf9f1880122b0215738102f877e7f30920c622c", + "0xe15d81fff353a8b3e2414666aaf9f1880122b0215738102f877e7f30920c622d", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x00000000000000000000000000000000000000000000000000000000000000cb", + "0x0000000000000000000000000000000000000000000000000000000000000097", + "0x94245278b0e152000156111e403bcdae13ae091514aea4c10312a14dcb183fb1" + ], + "storage_written": { + "0x00000000000000000000000000000000000000000000000000000000000000cb": "0x1", + "0xe15d81fff353a8b3e2414666aaf9f1880122b0215738102f877e7f30920c622d": "0x5e154000000736f6c", + "0xe15d81fff353a8b3e2414666aaf9f1880122b0215738102f877e7f30920c622c": "0x38d7ea4c68000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4801", + "0xe15d81fff353a8b3e2414666aaf9f1880122b0215738102f877e7f30920c622e": "0x3966994b" + }, + "code_usage": { + "read": "0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5" + } + }, + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "code_usage": { + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + } + }, + "0x3416cf6c708da44db2624d63ea0aaef7113527c6": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x2eab13cd8e156dff133c7506e649817", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10000b400b4003200000c0000000000000001002a312c8a271b4cd639183e" + }, + "code_usage": { + "read": "0x2ff673bacc60a73fc85c678888296c6bce3de2a9d7475c032fe7aa6e0eacba86" + } + }, + "0x1111111254eeb25477b68fb85ed929f73a960582": { + "code_usage": { + "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" + } + }, + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "storage_read": [ + "0x5b60a69638bcb2dd73cec9b8e9eea3257269241aa3171fc39b72bec82367040e", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x8e8ba7d0240c502147869f7a9ae17aa9f683ea273c256f64b6fe2403de607113", + "0xf15d46d803f0dd377b5641cfcf40ce28b8fdb2720bb74b08533d99b4f295342e", + "0x47a66e638b0769efcc09bf443827660a9ec6c66d896f5d67286bc910af9687f6", + "0x1826926ae7be3007e81aefcd24a65db126ffe15b2ff8e34f8df6bb0887d431cd", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3" + ], + "storage_written": { + "0xf15d46d803f0dd377b5641cfcf40ce28b8fdb2720bb74b08533d99b4f295342e": "0x75aa0", + "0x8e8ba7d0240c502147869f7a9ae17aa9f683ea273c256f64b6fe2403de607113": "0x207ac737374", + "0x47a66e638b0769efcc09bf443827660a9ec6c66d896f5d67286bc910af9687f6": "0xffffffffffffffffffffffffffffffffffffffffffffffffffff5a3768fe4726", + "0x1826926ae7be3007e81aefcd24a65db126ffe15b2ff8e34f8df6bb0887d431cd": "0x4ce6c4fe9f", + "0x5b60a69638bcb2dd73cec9b8e9eea3257269241aa3171fc39b72bec82367040e": "0x228ff30" + }, + "code_usage": { + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" + } + }, + "0x663dc15d3c1ac63ff12e45ab68fea3f0a883c251": { + "storage_read": [ + "0x237aedcb2c14786870ece21c0a71f835543fb1b2149865b6d6fcb43a0e907190", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0xcd42f7cfea4a1fa33b3d0afadef76575855644c7d27312e535ac5e13da0e1a81" + ], + "code_usage": { + "read": "0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986" + } + }, + "0x7ec2e51a9c4f088354ad8ad8703c12d81bf21677": { + "code_usage": { + "read": "0x5503909a25831348e389c56b9707d7d0a76d16f6c5b15e9362aa9848f51ea4e3" + } + }, + "0xe67534a9f24cc000f467eaa17f920bf63b87a2cd": { + "code_usage": { + "read": "0x0ad52aa045458d034e10b73045de66ac675d24bae3d4c2763ee0cd50d067d88c" + } + }, + "0x8822649e75191173c1a247a7435ed990b37fc5bd": { + "balance": "0x55fc7b8adecff50", + "nonce": "0x22" + } + }, + "meta": { + "byte_code": "0x02f907190121848f0d180085014e94292083073f0694663dc15d3c1ac63ff12e45ab68fea3f0a883c25187038d7ea4c68000b906a44d8160ba000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000039883fc200000000000000000000000000000000000000000000000000000000000001400000000000000000000000001111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000000000000000000160000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000396c7a9f0000000000000000000000008822649e75191173c1a247a7435ed990b37fc5bd000000000000000000000000ef4fb24ad0916217251f553c0596f8edc630eb660000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c8bc80f1a8000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c2510000000000000000000000000000000000000000000000000000000039883fc200000000000000000000000000000000000000000000000000000000396c7a9e000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000018000000000000000000000003416cf6c708da44db2624d63ea0aaef7113527c6fef84ee90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000404b930370100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000018f367dc0fa000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000012f200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000380000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000396c7a9f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000003948dabb0000000000000000000000000000000000000000000000000000000000736f6c00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000008822649e75191173c1a247a7435ed990b37fc5bd00000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000020ce010e60afedb22717bd63192f54145a3f965a33bb82d2c7029eb2ce1e2082640000000000000000000000000000000000000000000000000000000000000020d7a7581eb55cee771f3fff5f1cbf36f4276cb87d20cd4ca88cc096141776609b0000000000000000000000000000000000000000000000000000000000000020d7a7581eb55cee771f3fff5f1cbf36f4276cb87d20cd4ca88cc096141776609b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410101010000eb6c260000000000000000000000000000000000bbda48390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0bd62b0149c2ae8da0295da3d7911a8ea3f4c67bace8f936e800c31f8adc65e07a017ffd6d465825c25aa63310a4946c2ada417fbef73957d9556721c5356474878", + "new_txn_trie_node_byte": "0x02f907190121848f0d180085014e94292083073f0694663dc15d3c1ac63ff12e45ab68fea3f0a883c25187038d7ea4c68000b906a44d8160ba000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000039883fc200000000000000000000000000000000000000000000000000000000000001400000000000000000000000001111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000000000000000000160000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000396c7a9f0000000000000000000000008822649e75191173c1a247a7435ed990b37fc5bd000000000000000000000000ef4fb24ad0916217251f553c0596f8edc630eb660000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c8bc80f1a8000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c2510000000000000000000000000000000000000000000000000000000039883fc200000000000000000000000000000000000000000000000000000000396c7a9e000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000018000000000000000000000003416cf6c708da44db2624d63ea0aaef7113527c6fef84ee90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000404b930370100000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000018f367dc0fa000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000012f200000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000380000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000396c7a9f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000003948dabb0000000000000000000000000000000000000000000000000000000000736f6c00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000008822649e75191173c1a247a7435ed990b37fc5bd00000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000020ce010e60afedb22717bd63192f54145a3f965a33bb82d2c7029eb2ce1e2082640000000000000000000000000000000000000000000000000000000000000020d7a7581eb55cee771f3fff5f1cbf36f4276cb87d20cd4ca88cc096141776609b0000000000000000000000000000000000000000000000000000000000000020d7a7581eb55cee771f3fff5f1cbf36f4276cb87d20cd4ca88cc096141776609b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410101010000eb6c260000000000000000000000000000000000bbda48390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0bd62b0149c2ae8da0295da3d7911a8ea3f4c67bace8f936e800c31f8adc65e07a017ffd6d465825c25aa63310a4946c2ada417fbef73957d9556721c5356474878", + "new_receipt_trie_node_byte": "0xb90c1202f90c0e018367d557b9010000000000000001000000000000000000000000000000000000000000000000000000000002000000000000000008010080080000000020100000000000000000000000000000180808000008000000000000100000000000000000000000000000002200000000000000000000000000000000000000000400000810000800000800000000200000000100000000004000010000010000000000008000100000000001000000200000000080000004000000002000000000000000000000000000020002000000000000000000000000000004000000000000040000000000000000000000000000000400040040000000000000000000000000000000030000f90b03f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008822649e75191173c1a247a7435ed990b37fc5bda0000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c251a00000000000000000000000000000000000000000000000000000000039883fc2f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003416cf6c708da44db2624d63ea0aaef7113527c6a0000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c251a0000000000000000000000000000000000000000000000000000000003973d53ff89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c251a00000000000000000000000003416cf6c708da44db2624d63ea0aaef7113527c6a00000000000000000000000000000000000000000000000000000000039883fc2f9011c943416cf6c708da44db2624d63ea0aaef7113527c6f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c251b8a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc68c2ac10000000000000000000000000000000000000000000000000000000039883fc20000000000000000000000000000000000000001002a312c8a271b4cd639183e000000000000000000000000000000000000000000000000004972e8128e1d6f000000000000000000000000000000000000000000000000000000000000000cf8d994663dc15d3c1ac63ff12e45ab68fea3f0a883c251e1a0dde2f3711ab09cdddcfee16ca03e54d21fb8cf3fa647b9797913c950d38ad693b8a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000039883fc2000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000003973d53ff89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c251a00000000000000000000000008822649e75191173c1a247a7435ed990b37fc5bda00000000000000000000000000000000000000000000000000000000000075aa0f89994663dc15d3c1ac63ff12e45ab68fea3f0a883c251e1a0149635d19f798f6b7c74c74a500d362c89316a0ab808abe5e0c0de45da9b1d2cb860000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000075aa00000000000000000000000008822649e75191173c1a247a7435ed990b37fc5bdf89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c251a0000000000000000000000000ef4fb24ad0916217251f553c0596f8edc630eb66a000000000000000000000000000000000000000000000000000000000396c7a9ff9055a94ef4fb24ad0916217251f553c0596f8edc630eb66e1a0fc8703fd57380f9dd234a89dce51333782d49c5902f307b02f03e014d18fe471b9052000000000000000000000000000000000000000000000000000000000000000e029b793d608d7a7399a1b64403ffcfe56c8c233a465092010afdc768c26a2d2fc000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000038d7ea4c68000000000000000000000000000000000000000000000000000000000000005e15400000000000000000000000000000000000000000000000000000000000012f200000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000018f367dc0fa00000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000003966994b0000000000000000000000000000000000000000000000000000000000736f6c0000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000003948dabb000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000148822649e75191173c1a247a7435ed990b37fc5bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000014a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000020ce010e60afedb22717bd63192f54145a3f965a33bb82d2c7029eb2ce1e2082640000000000000000000000000000000000000000000000000000000000000020d7a7581eb55cee771f3fff5f1cbf36f4276cb87d20cd4ca88cc096141776609b00000000000000000000000000000000000000000000000000000000000000148822649e75191173c1a247a7435ed990b37fc5bd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000020d7a7581eb55cee771f3fff5f1cbf36f4276cb87d20cd4ca88cc096141776609b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410101010000eb6c260000000000000000000000000000000000bbda483900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 346103 + } + }, + { + "traces": { + "0x92e929d8b2c8430bcaf4cd87654789578bb2b786": { + "balance": "0x17a9aadecef1936fd", + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x1a40a823c7fefdeb8aba636d331098d3864f4795a1018cc10615a885aca8a56a" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718c7dce7dcbe08c" + }, + "0xa377aa6822603cc52e4e9ed6eaa045c46ef6b3e2": { + "balance": "0x22a1e44986849b8c", + "nonce": "0x212bf" + }, + "0x2b527b41f833275fe13784ed80c070e1aeafc098": { + "balance": "0x9012f995eb7e84" + } + }, + "meta": { + "byte_code": "0xf8ad830212be85014e8d0d84830493e09492e929d8b2c8430bcaf4cd87654789578bb2b78680b8444782f7790000000000000000000000002b527b41f833275fe13784ed80c070e1aeafc09800000000000000000000000000000000000000000000000000619173f777700026a0e8749c1a239c11611420c97efcf43bdd256d4c6966f518ae352e05e062349ce5a00131a9a36a05f264e9d09e0284ffd471a36fb2b094e0a3eefb1d20016932ce45", + "new_txn_trie_node_byte": "0xf8ad830212be85014e8d0d84830493e09492e929d8b2c8430bcaf4cd87654789578bb2b78680b8444782f7790000000000000000000000002b527b41f833275fe13784ed80c070e1aeafc09800000000000000000000000000000000000000000000000000619173f777700026a0e8749c1a239c11611420c97efcf43bdd256d4c6966f518ae352e05e062349ce5a00131a9a36a05f264e9d09e0284ffd471a36fb2b094e0a3eefb1d20016932ce45", + "new_receipt_trie_node_byte": "0xf901640183685e56b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000040000000000000000000002000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000f85af8589492e929d8b2c8430bcaf4cd87654789578bb2b786e1a094effa14ea3a1ef396fa2fd829336d1597f1d76b548c26bfa2332869706638afa000000000000000000000000000000000000000000000000000619173f7777000", + "gas_used": 35071 + } + }, + { + "traces": { + "0x0feb850b183c57534b56b7d56520133c8f9bdb65": { + "code_usage": { + "read": "0x3341bfda123bb7c89f472eab751a8f6d631dd98fffe0464e9022f2454e3e1344" + } + }, + "0x0000000000000000000000000000000000000001": {}, + "0x1e163594e13030244dcaf4cdfc2cd0ba3206da80": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x000000000000000000000000000000000000000000000000000000000000003c", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x744637644ab5fe855e1b4f6431df0105bfe63cbb978e187d1fbc8a83738bde59" + }, + "code_usage": { + "read": "0x8d1b9884f96a057b154b80eccb0401586fb162792471827afc7a3e529af56c0a" + } + }, + "0x2e38cd55163137483e30580cb468c2dff1d85077": { + "code_usage": { + "read": "0xd2ef8267678c4d9c80997cc4f25c34219e6e403826f62b314e7867474aa5d137" + } + }, + "0x580bda1e7a0cfae92fa7f6c20a3794f169ce3cfb": { + "storage_read": [ + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000023", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x000000000000000000000000000000000000000000000000000000000000000e" + ], + "code_usage": { + "read": "0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5" + } + }, + "0x9ccd205052c732ac1df2cf7bf8aacc0e371ee0b0": { + "storage_read": [ + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x0000000000000000000000000000000000000000000000000000000000000066" + ], + "code_usage": { + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" + } + }, + "0x10d296e8add0535be71639e5d1d1c30ae1c6bd4c": { + "code_usage": { + "read": "0xab1270a268b142d953ae9e9cc18861159a07a8fbd0ccd0d01482f5673d5b077f" + } + }, + "0x2a3dd3eb832af982ec71669e178424b10dca2ede": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000053", + "0x0000000000000000000000000000000000000000000000000000000000000068", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + ], + "code_usage": { + "read": "0xffdc88fd786b0738d5a570b1adbb07fae19babe40843e5161d8bd0dfae601f40" + } + }, + "0x455e53cbb86018ac2b8092fdcd39d8444affc3f6": { + "storage_read": [ + "0x9d05b01b8ed206b34e6c3e2f3a47eda85868764304287599283476351d142cf3", + "0xf78cb60074210aaf5e6eb0c97af061d2148d5e6268637b1a147b27b4f03c1c89", + "0x48661dfedc428875775889aef3ab0fded9ed7a6d0d0ad1a485e3e4cd80f94de6" + ], + "storage_written": { + "0xf78cb60074210aaf5e6eb0c97af061d2148d5e6268637b1a147b27b4f03c1c89": "0xd2fbf71b087a5eba0000", + "0x9d05b01b8ed206b34e6c3e2f3a47eda85868764304287599283476351d142cf3": "0x507dbd453144000d", + "0x48661dfedc428875775889aef3ab0fded9ed7a6d0d0ad1a485e3e4cd80f94de6": "0x8769c1ea0dec3c3ed8" + }, + "code_usage": { + "read": "0x6693c23c81bda3634a9d116b9203d6efda678d59e558b9092a0c6e2fc85eba5d" + } + }, + "0xd49cd5f9776a54fae89b68205f6af69586f98203": { + "balance": "0x43283b41029614d3", + "nonce": "0x55a" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718cd92c7b3973bb" + }, + "0x3b82da772c825283d85d5d6717a77c6ff582053b": { + "code_usage": { + "read": "0x0f02e8b0570ec5ca41f2aa80961265030439d867c7a94f546c4559eccb83ac1c" + } + }, + "0x5132a183e9f3cb7c848b0aac5ae0c4f0491b7ab2": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000084", + "0x726e9d91939b80e7c0932a3334ebea7677bbbbdb4a3aec89328b048d1fdf319e", + "0xc63c88faed089b5bd36594bccc97cbb6eaaac11e298a34a3bc52ae2210459e51", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000086", + "0x000000000000000000000000000000000000000000000000000000000000006f", + "0x89690f9e9a966f83b983eacbab634659114a329f97719cf31acf57555e8aa39b" + ], + "storage_written": { + "0x726e9d91939b80e7c0932a3334ebea7677bbbbdb4a3aec89328b048d1fdf319e": "0x8eb30000000000008ec8", + "0xc63c88faed089b5bd36594bccc97cbb6eaaac11e298a34a3bc52ae2210459e50": "0x744637644ab5fe855e1b4f6431df0105bfe63cbb978e187d1fbc8a83738bde59", + "0x0000000000000000000000000000000000000000000000000000000000000084": "0x69780000000006632c9330000000000014fd3000000000001500d", + "0xc63c88faed089b5bd36594bccc97cbb6eaaac11e298a34a3bc52ae2210459e51": "0x8eb3000000006632d06b" + }, + "code_usage": { + "read": "0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5" + } + }, + "0xf4e87685e323818e0ae35dcdfc3b65106002e456": { + "code_usage": { + "read": "0x078b53b299dac829a278bdfbf88134b063c5d917c169b3605fec249f072693b3" + } + } + }, + "meta": { + "byte_code": "0xf90d0d82055985013023239083058525941e163594e13030244dcaf4cdfc2cd0ba3206da8080b90ca4db5b0ed700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632cf9b0000000000000000000000000000000000000000000000000000000000008eb3000000000000000000000000d49cd5f9776a54fae89b68205f6af69586f982030000000000000000000000000000000000000000000000000000000000000b40000000000000000000000000000000000000000000000000000000000000001581fbef5b470956e872191f39714966fc6dd0cf6613bfb8846d83157f80ab3d63000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000181042ae55ae7f61e24663b90c5109769ac9084d1b452e8ece21699b16cbff6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f2583ab5bf1f5369fe547d77f7d211818c87e1384bf4a9801330b65a6a680334000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ca1d265dda762bc1c35de7330b988c84d2e36e82618515921d7e757ef1d36b43000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ec9b6616a162873b7c0981906b58c5f9a26b90adde98edff8d42c244fc4c1ba50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005eb59eaa9b87652ec8c939f5ca69c071ad43405a99a7e4604b0dbdee6bf30ed90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004edb9eb65be8ea8941e657a328159d775119327e9254c599515be7832ad1b6cf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f38a0acf1e9c4ce3e134d2f8d7de8c7174c0306152251a28386ad6d9adc585e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000525d25de031aa14791b51b27291c70af51a575e7ee762cc1743af2e63fdbb536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000778e2ab963d91b3470451458c7c41eac5ff1fa1192a615237aed6eff2a2b3eb80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007f13055be4e0fbec44f21470c5dbee68dbd40acdf6ff3c1004961d107811001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024af7db3f9ab519424587df266988b5fc634429cc6153d2d4ce65c0ad8826cc1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23e718558153d6d8424a016447ae95ec106e3ba3740ba65a2312bef08261870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c85478fb3635c030103395083c39b30cdbfd0e57916735e2aa93384f44fbb49b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a201f2420947da57526416145695c6aca606010bdb9f783ab11a1fa72e6f01ca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd7f28fee54268002188ecba36f7cf3884ffb4a239ba27f32b0afe5d66641ff1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f44d18463bbb4bf6c225911eb18cd1c1568839c7271f7905f380c1a617d97ba6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d7686d7e2068614eceb13b293e9d2ec0734d7cf8804fa4eda070bfdac1f69c2200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007550b3ef33470f29a07acd756a2f346bd1b1fc1ce8953dd0a2ebac289e9a1a5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c7dd5c26020e4049c80b4f95a67da9357c2bb2f9bf52f14456512911aeb13e1e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081a98582dc3809fabce0b8768fb813095545585c455abf6332780228f87ae04b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012705a68fcb3b9878f21ecc2888fb778212d8cad15859f1d198bef92eca316731c93251c634a9e212afb71ff13d03efc37475c69f629f6320846f85e325c05086fe1b06b2b7c304d71f25e542c836d116a3daccc1288f2b9cfe245506913c99d90ae77ce14f239a2b4b6397ad12a838291d9114908d628ccbf9c5d216dff7b1a94e0d1b86717126cbaf7f553bc2f825b232017e254f9e63a5418de9425cba40f5cfe6281674f5f033c8816b2da4936dc81f91e276e813ad94b7aa55a358d2869b985d9d1b08ebbdff8cb6d1336515a89641e899bc8ce91f2c37f0b74e0fc72adaab1fd39ec6d779f596866ab88fb3cb4777ee1c2c35c48ac69a650026d18aff08cfb77b6abb27e04ce0db347cccd5544f51a98cbcf54b295a221b5d3510d03d9b16e23ba151da012a0000000000000000000000000000000000000000000000000025a0e591f06c309b919e4a24f01a9267b99e5d7c610bf4111f0d6e25122d9dbec021a00f362736f68c958ab1741c8e0633582d0d0f36b558087e70cefd71cf6bfb50d6", + "new_txn_trie_node_byte": "0xf90d0d82055985013023239083058525941e163594e13030244dcaf4cdfc2cd0ba3206da8080b90ca4db5b0ed700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632cf9b0000000000000000000000000000000000000000000000000000000000008eb3000000000000000000000000d49cd5f9776a54fae89b68205f6af69586f982030000000000000000000000000000000000000000000000000000000000000b40000000000000000000000000000000000000000000000000000000000000001581fbef5b470956e872191f39714966fc6dd0cf6613bfb8846d83157f80ab3d63000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000181042ae55ae7f61e24663b90c5109769ac9084d1b452e8ece21699b16cbff6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f2583ab5bf1f5369fe547d77f7d211818c87e1384bf4a9801330b65a6a680334000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ca1d265dda762bc1c35de7330b988c84d2e36e82618515921d7e757ef1d36b43000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ec9b6616a162873b7c0981906b58c5f9a26b90adde98edff8d42c244fc4c1ba50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005eb59eaa9b87652ec8c939f5ca69c071ad43405a99a7e4604b0dbdee6bf30ed90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004edb9eb65be8ea8941e657a328159d775119327e9254c599515be7832ad1b6cf000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f38a0acf1e9c4ce3e134d2f8d7de8c7174c0306152251a28386ad6d9adc585e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000525d25de031aa14791b51b27291c70af51a575e7ee762cc1743af2e63fdbb536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000778e2ab963d91b3470451458c7c41eac5ff1fa1192a615237aed6eff2a2b3eb80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007f13055be4e0fbec44f21470c5dbee68dbd40acdf6ff3c1004961d107811001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024af7db3f9ab519424587df266988b5fc634429cc6153d2d4ce65c0ad8826cc1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23e718558153d6d8424a016447ae95ec106e3ba3740ba65a2312bef08261870000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c85478fb3635c030103395083c39b30cdbfd0e57916735e2aa93384f44fbb49b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a201f2420947da57526416145695c6aca606010bdb9f783ab11a1fa72e6f01ca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fd7f28fee54268002188ecba36f7cf3884ffb4a239ba27f32b0afe5d66641ff1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f44d18463bbb4bf6c225911eb18cd1c1568839c7271f7905f380c1a617d97ba6000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d7686d7e2068614eceb13b293e9d2ec0734d7cf8804fa4eda070bfdac1f69c2200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007550b3ef33470f29a07acd756a2f346bd1b1fc1ce8953dd0a2ebac289e9a1a5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c7dd5c26020e4049c80b4f95a67da9357c2bb2f9bf52f14456512911aeb13e1e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081a98582dc3809fabce0b8768fb813095545585c455abf6332780228f87ae04b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012705a68fcb3b9878f21ecc2888fb778212d8cad15859f1d198bef92eca316731c93251c634a9e212afb71ff13d03efc37475c69f629f6320846f85e325c05086fe1b06b2b7c304d71f25e542c836d116a3daccc1288f2b9cfe245506913c99d90ae77ce14f239a2b4b6397ad12a838291d9114908d628ccbf9c5d216dff7b1a94e0d1b86717126cbaf7f553bc2f825b232017e254f9e63a5418de9425cba40f5cfe6281674f5f033c8816b2da4936dc81f91e276e813ad94b7aa55a358d2869b985d9d1b08ebbdff8cb6d1336515a89641e899bc8ce91f2c37f0b74e0fc72adaab1fd39ec6d779f596866ab88fb3cb4777ee1c2c35c48ac69a650026d18aff08cfb77b6abb27e04ce0db347cccd5544f51a98cbcf54b295a221b5d3510d03d9b16e23ba151da012a0000000000000000000000000000000000000000000000000025a0e591f06c309b919e4a24f01a9267b99e5d7c610bf4111f0d6e25122d9dbec021a00f362736f68c958ab1741c8e0633582d0d0f36b558087e70cefd71cf6bfb50d6", + "new_receipt_trie_node_byte": "0xf9033d01836c90cdb9010005000000880000000000000000000000000000002020000000000000000100000000000000000000000000000080000000000000000000000000000200200000000000000000000000000008010108000000000000000000000000000000002000040000000000002200004000000000000000000000000000000010000000000000040000000004000000000000000000000000000002000000000000000001020002000000000000000100000000000000000000002000000000000000000000000002000200000000000000000000000000000000000000000000000000800010000000020000000000000001000000000000008000000000004000000000f90232f89b94455e53cbb86018ac2b8092fdcd39d8444affc3f6f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000d49cd5f9776a54fae89b68205f6af69586f98203a00000000000000000000000001e163594e13030244dcaf4cdfc2cd0ba3206da80a000000000000000000000000000000000000000000000d2fbf71b087a5eba0000f89b94455e53cbb86018ac2b8092fdcd39d8444affc3f6f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d49cd5f9776a54fae89b68205f6af69586f98203a00000000000000000000000005132a183e9f3cb7c848b0aac5ae0c4f0491b7ab2a00000000000000000000000000000000000000000000000001d24b2dfac520000f87a945132a183e9f3cb7c848b0aac5ae0c4f0491b7ab2f842a01d9f30260051d51d70339da239ea7b080021adcaabfa71c9b0ea339a20cf9a25a00000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000008ec8f87a941e163594e13030244dcaf4cdfc2cd0ba3206da80f842a03e54d0825ed78523037d00a81759237eb436ce774bd546993ee67a1b67b6e766a00000000000000000000000000000000000000000000000000000000000008ec8a06413f7255fd06dbb4fe20f678561044cab91d44f810ddd03136d3c260c13d1c7", + "gas_used": 275063 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718ce02637892e03" + }, + "0x974caa59e49682cda0ad2bbe82983419a2ecc400": { + "balance": "0xdd8e2790f681bf7765" + }, + "0xa98afdc2f8ef51cf2b7806f6dd181ee30dd1efb9": { + "balance": "0x0", + "nonce": "0x8" + } }, "meta": { - "byte_code": "0x02f8720146841dcd65008509db73b9208252089420d13f6b44dbede399f16763a4d5bd5225c423f487504c8da383ed7380c080a01e01f3b746068a1313b6a1e816c4a0a343cbc0d2524ef7f544f8355b564c9057a010e91c126d03a39d3a44b8815dd7bc987b6cb69b87e471966bdff12bc4e3c73e", - "new_txn_trie_node_byte": "0x02f8720146841dcd65008509db73b9208252089420d13f6b44dbede399f16763a4d5bd5225c423f487504c8da383ed7380c080a01e01f3b746068a1313b6a1e816c4a0a343cbc0d2524ef7f544f8355b564c9057a010e91c126d03a39d3a44b8815dd7bc987b6cb69b87e471966bdff12bc4e3c73e", - "new_receipt_trie_node_byte": "0xb9010d02f90109018365904eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "byte_code": "0xf86b0785013023239082520894974caa59e49682cda0ad2bbe82983419a2ecc4008704df123d4a75d08026a0e825ab17dbb3cb89f4552cc7c899269d49401efd65c062e6c4613c25f4be9fdba0436ba88148c28043edd7969137aa8c02d40a6a12f61d4d0559b3007cc9a1fde4", + "new_txn_trie_node_byte": "0xf86b0785013023239082520894974caa59e49682cda0ad2bbe82983419a2ecc4008704df123d4a75d08026a0e825ab17dbb3cb89f4552cc7c899269d49401efd65c062e6c4613c25f4be9fdba0436ba88148c28043edd7969137aa8c02d40a6a12f61d4d0559b3007cc9a1fde4", + "new_receipt_trie_node_byte": "0xf9010901836ce2d5b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", "gas_used": 21000 } }, { "traces": { - "0xfd714d7098cff5f6f81e276ca9259f2d66fb8bc1": { - "balance": "0x1c31bffcf000", - "nonce": "0x1" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718cecf754c9ed62" }, - "0x077d360f11d220e4d5d831430c81c26c9be7c4a4": { - "balance": "0xeca60913be3bf106" + "0xbf861d09615543c419c749ea8cbeb720e3b3e3ad": { + "balance": "0x7e8826077d691f0a", + "nonce": "0x38b" + }, + "0xcd284a617b4ed7697c2e455d95049c7fc538785c": { + "code_usage": { + "read": "0x61d24f41aa74f514d976de717a3fba34e47c7f33a1e931749ad06e1fc3c743e1" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661bf08d85cbacc" + "0xfae103dc9cf190ed75350761e95403b7b8afa6c0": { + "storage_read": [ + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + ], + "storage_written": { + "0xada112aa7e462b795099f4603e9e67148d72b1a5e9bc81cd0519cef5a636e8d0": "0xdbd2fc137a30000" + }, + "code_usage": { + "read": "0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5" + } } }, "meta": { - "byte_code": "0xf86c80850737be76008255f094077d360f11d220e4d5d831430c81c26c9be7c4a48837806e881dd360008026a0480acbdb4f617292ca4baa471b0cf32055b6728efc71488e0854bfdef25ff49ea05f51dbf488ad6e932d8036c37eed7a3defe129fddd36a46c17af48b18d2d0074", - "new_txn_trie_node_byte": "0xf86c80850737be76008255f094077d360f11d220e4d5d831430c81c26c9be7c4a48837806e881dd360008026a0480acbdb4f617292ca4baa471b0cf32055b6728efc71488e0854bfdef25ff49ea05f51dbf488ad6e932d8036c37eed7a3defe129fddd36a46c17af48b18d2d0074", - "new_receipt_trie_node_byte": "0xf90109018365e256b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f8b30182038a841dcd650085012a05f20083013f0d94fae103dc9cf190ed75350761e95403b7b8afa6c080b844095ea7b30000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae0000000000000000000000000000000000000000000000000dbd2fc137a30000c080a0fad16bd008f3c63971e9c826cb47ef2e03915f0dce66d785682b1c22218ed0f0a03ebfacedb4aca7bc61d72dbc2181571109555e461f405cbc4e290fd9e5d8ed96", + "new_txn_trie_node_byte": "0x02f8b30182038a841dcd650085012a05f20083013f0d94fae103dc9cf190ed75350761e95403b7b8afa6c080b844095ea7b30000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae0000000000000000000000000000000000000000000000000dbd2fc137a30000c080a0fad16bd008f3c63971e9c826cb47ef2e03915f0dce66d785682b1c22218ed0f0a03ebfacedb4aca7bc61d72dbc2181571109555e461f405cbc4e290fd9e5d8ed96", + "new_receipt_trie_node_byte": "0xb901ab02f901a701836db46cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000200000000000000080000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000008020000020000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000410000000000000000000000000000000000000000000000000000000000000f89df89b94fae103dc9cf190ed75350761e95403b7b8afa6c0f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000bf861d09615543c419c749ea8cbeb720e3b3e3ada00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaea00000000000000000000000000000000000000000000000000dbd2fc137a30000", + "gas_used": 53655 } }, { "traces": { - "0x077d360f11d220e4d5d831430c81c26c9be7c4a4": { - "balance": "0xec5b474c71e51d06", - "nonce": "0xf6511" + "0xf091867ec603a6628ed83d274e835539d82e9cc8": { + "storage_written": { + "0xab6a7b8e1424cb5df5ecb7c4f0dfd0ca0645756b278d4f160e83cc00f9ec770c": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "code_usage": { + "read": "0x091368b4a4ca2a33eaea57b759f009499c1aea09c04f9faddbdf46752193d047" + } + }, + "0xaaa0e6a34b3a2a1bd9f6daba710c48091125969f": { + "balance": "0x25e15e9b098788c", + "nonce": "0x62" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718cf1321044b462" + } + }, + "meta": { + "byte_code": "0x02f8b101618405f5e100850165a0bc00830112b994f091867ec603a6628ed83d274e835539d82e9cc880b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0f313b05f89bc261d13a1f12e994b423bf5d7adb5ce93e50b9b7dbcaf398ca85ca04fbb4667da644dcc9b0f93b18d3a7768f0224027998c8e38ffc9c74002339521", + "new_txn_trie_node_byte": "0x02f8b101618405f5e100850165a0bc00830112b994f091867ec603a6628ed83d274e835539d82e9cc880b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0f313b05f89bc261d13a1f12e994b423bf5d7adb5ce93e50b9b7dbcaf398ca85ca04fbb4667da644dcc9b0f93b18d3a7768f0224027998c8e38ffc9c74002339521", + "new_receipt_trie_node_byte": "0xb901ab02f901a701836e6a13b9010000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000804000000000000000000000000800000000000000080000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94f091867ec603a6628ed83d274e835539d82e9cc8f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000aaa0e6a34b3a2a1bd9f6daba710c48091125969fa0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "gas_used": 46503 + } + }, + { + "traces": { + "0x55c3a56e638e96c91f98735cc86f60a6820e6a44": { + "storage_read": [ + "0x2e0e87b20a105b6ef71d90ceb42466f15d9e2dad2f9742c06d82899928d8b8ea", + "0x0000000000000000000000000000000000000000000000000000000000000019", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x4ff00ec388b7e1af404157e2a52cd3deb209a6f771ecaa4781f9395fba46290e", + "0x9325a1cb5972ca77b8806203b9a9e636f77fcc98e552e7723338b801b7fffc61", + "0x0000000000000000000000000000000000000000000000000000000000000018", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x7dadf59727006a149f7a7013af9281bddf7ebd562b1ba3e5bcdd7f55a78576a0", + "0x010b13ce50d92dd3d63f585c6880ab700e26da36ca91c7fb1fb204f27fdb26ad", + "0x0c1a891e63c7dadc8c425421e9ffbfae7aa5063a1ceeee6b995377feeb6a20f3", + "0xe260ed9e2356ba812e7a469b9c838ca73b43fcbbeee93d34845867241035e5ea", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x532b7fd82311135b2cebf6b08786606828abb5580b15f2de1af2f7b097b51044", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000012" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x3bf", + "0x0c1a891e63c7dadc8c425421e9ffbfae7aa5063a1ceeee6b995377feeb6a20f3": "0x0", + "0x010b13ce50d92dd3d63f585c6880ab700e26da36ca91c7fb1fb204f27fdb26ad": "0xfffffffffffffffffffffffffffffffffffffffffffffffff64d9014b81c2a75", + "0x4ff00ec388b7e1af404157e2a52cd3deb209a6f771ecaa4781f9395fba46290e": "0x6d998910bebaa34c0" + }, + "code_usage": { + "read": "0x0abbee590e63e5b84e073a07e5667f4cdd6d5f77d92214583752db452222113a" + } + }, + "0x000000000022d473030f116ddee9f6b43ac78ba3": { + "storage_read": [ + "0x200c0317e4900697b7cc4d8c11ddc36bfc765dfb5411e9190d83036e90f7be72" + ], + "storage_written": { + "0x200c0317e4900697b7cc4d8c11ddc36bfc765dfb5411e9190d83036e90f7be72": "0x10000665a5d5bffffffffffffffffffffffffffffffffffffffff" + }, + "code_usage": { + "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b8199621920211286d1", + "storage_read": [ + "0x715a9a3c1deedebbc01b3c82533d802822015baaae10afd4ad6d530db13fbb40", + "0xbb0cf523d0b17d061df73c7d0485c584b9a23a2d4b7ab9d64bfbb884f9731fd1", + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a" + ], + "storage_written": { + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", + "0xbb0cf523d0b17d061df73c7d0485c584b9a23a2d4b7ab9d64bfbb884f9731fd1": "0x4129035928b741b2", + "0x715a9a3c1deedebbc01b3c82533d802822015baaae10afd4ad6d530db13fbb40": "0x806ea88f8286a8e4" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0xd5dee104b289b8d99c9117a288b100143be3ff59": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x145978eaaabeb9fb087ac77750ce43c538", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000000806ea88f8286a8e4000000000006d998910bebaa34c0", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1a6217ee8cf79150667096db0b025bec" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d040bf1bd9a62" + }, + "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + }, + "code_usage": { + "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + } + }, + "0x1ca46183172e08d68cc169fe6aa8220329af2f4e": { + "balance": "0x2ecddacfd6eea1c", + "nonce": "0x221" + }, + "0x0000000000000000000000000000000000000001": {} + }, + "meta": { + "byte_code": "0x02f90534018202208405f5e1008501a13b860083058676943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d2b700000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000055c3a56e638e96c91f98735cc86f60a6820e6a44000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000665a5d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006632d76300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000411f1fdb4a89e34f0963458c12ba4aaf24057790512e724c94e7af2c052f35c16f515048cc09bd2897b1b482337b97a4501b9086c18594846b82472d9c1925927a1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b26feb47e3d58a00000000000000000000000000000000000000000000000000b3b9c972c306af00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000055c3a56e638e96c91f98735cc86f60a6820e6a44000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c8c0e780960f954c3426a32b6ab453248d632b5900000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000b1d79ab6109148c080a0648aff18c7d32456c2eec66b1901938c03ef5f0d757c934f4982962c0cfaab93a03b876937f5ea8e4947054e5fe0d19cb72c68d744d4551f899dfcf6cebbf77c35", + "new_txn_trie_node_byte": "0x02f90534018202208405f5e1008501a13b860083058676943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d2b700000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000055c3a56e638e96c91f98735cc86f60a6820e6a44000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000665a5d5b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006632d76300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000411f1fdb4a89e34f0963458c12ba4aaf24057790512e724c94e7af2c052f35c16f515048cc09bd2897b1b482337b97a4501b9086c18594846b82472d9c1925927a1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b26feb47e3d58a00000000000000000000000000000000000000000000000000b3b9c972c306af00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000055c3a56e638e96c91f98735cc86f60a6820e6a44000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c8c0e780960f954c3426a32b6ab453248d632b5900000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000b1d79ab6109148c080a0648aff18c7d32456c2eec66b1901938c03ef5f0d757c934f4982962c0cfaab93a03b876937f5ea8e4947054e5fe0d19cb72c68d744d4551f899dfcf6cebbf77c35", + "new_receipt_trie_node_byte": "0xb9067702f9067301837193b9b9010000210000000000000000000080000000000020000000000000000000000000000000000000000000000000000000000002010000880000000000000000280000000000080000000000004008000800200000000000400800002000000020000000000000000000000000010000010000000020001000040000000010000200000000004000000000000000000008000000000000800000080000004000000000820000000000000000000000000000000400000000000000000000000000040000400002000000000000000000000000000000000000001002000002020000000010200000000000000000002000000000001000000000000200000000000400f90568f8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca00000000000000000000000001ca46183172e08d68cc169fe6aa8220329af2f4ea000000000000000000000000055c3a56e638e96c91f98735cc86f60a6820e6a44a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000665a5d5b0000000000000000000000000000000000000000000000000000000000000000f89b9455c3a56e638e96c91f98735cc86f60a6820e6a44f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001ca46183172e08d68cc169fe6aa8220329af2f4ea0000000000000000000000000d5dee104b289b8d99c9117a288b100143be3ff59a000000000000000000000000000000000000000000000000009b26feb47e3d58af89b9455c3a56e638e96c91f98735cc86f60a6820e6a44f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000001ca46183172e08d68cc169fe6aa8220329af2f4ea0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0fffffffffffffffffffffffffffffffffffffffffffffffff64d9014b81c2a75f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d5dee104b289b8d99c9117a288b100143be3ff59a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000b6464e6a67fc60f87994d5dee104b289b8d99c9117a288b100143be3ff59e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000006d998910bebaa34c0000000000000000000000000000000000000000000000000806ea88f8286a8e4f8fc94d5dee104b289b8d99c9117a288b100143be3ff59f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000000000009b26feb47e3d58a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b6464e6a67fc60f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000c8c0e780960f954c3426a32b6ab453248d632b59a00000000000000000000000000000000000000000000000000001754c674051e4f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000b4d1020327aa7c", + "gas_used": 207270 + } + }, + { + "traces": { + "0x7f6d78cc0040c87943a0e0c140de3f77a273bd58": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000003" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x100000000000000379951035a5317bfe0", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x6632de7b0e1000", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x100000000000000379951035a5317bfe0" + }, + "code_usage": { + "read": "0x6b47b0381b344d3cfc25a0a5c45b9e06198f717021c53138717e4c7f75f69f87" + } + }, + "0x25d03c2c928ade19ff9f4ffecc07d991d0df054b": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x6632de7b0e1000", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x1000000000001deaa5490fcb40067f3f2", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x1000000000001deaa5490fcb40067f3f2" + }, + "code_usage": { + "read": "0x2b332c9d63cda407edf9abd8c102e8f00e9d0c0d092fe0faa24d285ad50fb18d" + } + }, + "0x35d1b3f3d7966a1dfe207aa4514c12a259a0492b": { + "storage_read": [ + "0x01609d741d5d482033fe9bbffe1718602984b3ada87e0cf9c7656350e5c157cd", + "0xa2e94b52463aa8bf46403bfc1eb8721635dfaf7bccb31f23ba0e6c99bab08bf1", + "0xa2e94b52463aa8bf46403bfc1eb8721635dfaf7bccb31f23ba0e6c99bab08bf4", + "0xa2e94b52463aa8bf46403bfc1eb8721635dfaf7bccb31f23ba0e6c99bab08bf3", + "0x8bd9d02efc459d6a2c4f51b38b4d38f826d82337d02b32943796eabbd360c0b4", + "0x8bd9d02efc459d6a2c4f51b38b4d38f826d82337d02b32943796eabbd360c0b6", + "0x8bd9d02efc459d6a2c4f51b38b4d38f826d82337d02b32943796eabbd360c0b7", + "0xa2e94b52463aa8bf46403bfc1eb8721635dfaf7bccb31f23ba0e6c99bab08bf2", + "0xa2e94b52463aa8bf46403bfc1eb8721635dfaf7bccb31f23ba0e6c99bab08bf5", + "0xfbcbe3dc33ebb61d430315e9e35515c3c2dc8a45ed83509e86ccdc9889b0f490", + "0x01609d741d5d482033fe9bbffe1718602984b3ada87e0cf9c7656350e5c157cb", + "0x01609d741d5d482033fe9bbffe1718602984b3ada87e0cf9c7656350e5c157cc", + "0x8bd9d02efc459d6a2c4f51b38b4d38f826d82337d02b32943796eabbd360c0b5", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x01609d741d5d482033fe9bbffe1718602984b3ada87e0cf9c7656350e5c157c9", + "0x01609d741d5d482033fe9bbffe1718602984b3ada87e0cf9c7656350e5c157ca", + "0x8bd9d02efc459d6a2c4f51b38b4d38f826d82337d02b32943796eabbd360c0b3" + ], + "storage_written": { + "0xa2e94b52463aa8bf46403bfc1eb8721635dfaf7bccb31f23ba0e6c99bab08bf3": "0x284aca0c264457ced6273e92d" + }, + "code_usage": { + "read": "0x808b98f6475736d56c978e4fb476175ecd9d7abdab0797017fc10c7f46311a59" + } + }, + "0xccba43231ac6ecebd1278b90c3a44711a00f4e93": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x1faba84eae77bd40d050ee5a8ad2bd185670a3ce46e977d3b50b7152d4e7de7b" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x1000000000000000b083b8d3df51eaa89", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x1000000000000000b083b7549732e2301", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x6632de7b0e1000" + }, + "code_usage": { + "read": "0xae25f6eadc3cca3391c8e21408a10f96b0603b1c8cd81126d7ff6280827e3c91" + } + }, + "0x238b4e35daed6100c6162fae4510261f88996ec9": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x2ef77e9906492513bc11de98884069b8bbce6f8c782aa565e1cee6780d62ab75", + "0x2ef77e9906492513bc11de98884069b8bbce6f8c782aa565e1cee6780d62ab76", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "code_usage": { + "read": "0xe0118b68a6f388cc9d9d965a757e9496cb51da8a80cef07e5614fd2ed793682e" + } + }, + "0x5a464c28d19848f44199d003bef5ecc87d090f87": { + "storage_read": [ + "0x8642bd7548915e7f0e54e0fa5c663b0fe7fb203bb51e35a7a52aea114d50f239", + "0x5c5b925782f7e5f0d8959383f4a9fb4ec240f60e09aeb75c3bfc006f175acb92", + "0x1d2503a46d888000b6744006f2370a1086e7a6e9490b4e4a5c8f19c481b8a02e" + ], + "code_usage": { + "read": "0x4502201677b24e0fc04f248f9ef96630c91ac4d3bb0f1e1d8a66746c85afb344" + } + }, + "0x6c6bc977e13df9b0de53b251522280bb72383700": { + "storage_read": [ + "0xcc4622f79c55b9834960b40f3c84182bc1a1fd5400a97fc8b552ae501607d5f4", + "0xbc4725932e7eb9f4d5f68893f016892a8907829fd592a7e28feb3785c3cda5eb", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x724d79b8f785897430f4dbef23f0b58e74bab22ea937c4385acd44c3ead231c1", + "0xbc4725932e7eb9f4d5f68893f016892a8907829fd592a7e28feb3785c3cda5ea", + "0xbc4725932e7eb9f4d5f68893f016892a8907829fd592a7e28feb3785c3cda5ec", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x724d79b8f785897430f4dbef23f0b58e74bab22ea937c4385acd44c3ead231c0", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x724d79b8f785897430f4dbef23f0b58e74bab22ea937c4385acd44c3ead231be", + "0x724d79b8f785897430f4dbef23f0b58e74bab22ea937c4385acd44c3ead231bf", + "0xcc4622f79c55b9834960b40f3c84182bc1a1fd5400a97fc8b552ae501607d5f1", + "0xcc4622f79c55b9834960b40f3c84182bc1a1fd5400a97fc8b552ae501607d5f2", + "0xcc4622f79c55b9834960b40f3c84182bc1a1fd5400a97fc8b552ae501607d5f3", + "0xbc4725932e7eb9f4d5f68893f016892a8907829fd592a7e28feb3785c3cda5ed" + ], + "code_usage": { + "read": "0xe0c3aa2cf8deaec39661ac0c4ff4dd11f785930ab5b8e4c5276555f6151e125f" + } + }, + "0x6b175474e89094c44da98b954eedeac495271d0f": { + "storage_read": [ + "0xb4df4155309577195913125d912b3c438ee669e0fe73ccb3b315daa02d87695c", + "0xc08aa4a5c647a93463c314bc55235b6a710b018545bdca3359f84d7fe1252bc3", + "0x0143db67c25618c893a4c12e452217bb4646f6598fdbbc31ad0609c80a178bed" + ], + "code_usage": { + "read": "0x4e36f96ee1667a663dfaac57c4d185a0e369a3a217e0079d49620f34f85d1ac7" + } + }, + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "storage_read": [ + "0x42a5d62dddf4ceaa8fa2a080ff2095a3322c1c98a9b38b2ec2c59587732396e3", + "0x4a8f98882987c456998bb7e789aa801411bd6a396ee5d2d77f81519f5fe3e87e", + "0xaf0ae49f97a5142ba12f279a4e4d5c5ccb08728693fb0dea5d7ac7eee47eb337", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3" + ], + "code_usage": { + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" + } + }, + "0xabddafb225e10b90d798bb8a886238fb835e2053": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000098", + "0x0000000000000000000000000000000000000000000000000000000000000099", + "0x0000000000000000000000000000000000000000000000000000000000000035", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000097", + "0x000000000000000000000000000000000000000000000000000000000000009b", + "0x000000000000000000000000000000000000000000000000000000000000009e", + "0x000000000000000000000000000000000000000000000000000000000000009c", + "0x000000000000000000000000000000000000000000000000000000000000009a", + "0x000000000000000000000000000000000000000000000000000000000000009f", + "0x000000000000000000000000000000000000000000000000000000000000009d" + ], + "code_usage": { + "read": "0x55834ef40aed47ab825a35a44e5395ad00d230c81219a1f77a7c2f213e963605" + } + }, + "0xae461ca67b15dc8dc81ce7615e0320da1a9ab8d5": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000c" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x8378cbd337a92c29e6a3e4a81", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000000000000b2973cc0d500000000a29d92681533561aa9f1", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x6c6d53c5e94058b0968df48f9af1bee87ee0a0e0384c5" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "code_usage": { + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + } + }, + "0x47c3dc029825da43be595e21fffd0b66ffcb7f6e": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "code_usage": { + "read": "0xc93730fb00541417e86db7c2b13a35edd6172216de29e4094dc34d29a4e98334" + } + }, + "0x77b68899b99b686f415d074278a9a16b336085a0": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x187f0c25d552e3f6798d9294b32d54d2f899a3e94b65fa39292b834f33d6b431" + } + }, + "0x50379f632ca68d36e50cfbc8f78fe16bd1499d1e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x000000000000000000000000000000000000000000000000000000000000009b", + "0x000000000000000000000000000000000000000000000000000000000000009e", + "0x000000000000000000000000000000000000000000000000000000000000009a", + "0x000000000000000000000000000000000000000000000000000000000000009f", + "0x0000000000000000000000000000000000000000000000000000000000000035", + "0x000000000000000000000000000000000000000000000000000000000000009d", + "0x0000000000000000000000000000000000000000000000000000000000000097", + "0x0000000000000000000000000000000000000000000000000000000000000098", + "0x0000000000000000000000000000000000000000000000000000000000000099", + "0x000000000000000000000000000000000000000000000000000000000000009c" + ], + "code_usage": { + "read": "0x55834ef40aed47ab825a35a44e5395ad00d230c81219a1f77a7c2f213e963605" + } + }, + "0xb542d5cb34ef265fb87c170181127332f7797369": { + "code_usage": { + "read": "0x49714ba99ebd10bc1583b28ab2c2da6ea28532e1bcfc74a86734ab19ca483d85" + } + }, + "0xcb4fadd1f51977372a2ac7f1bc1e16c3d0e3c969": { + "balance": "0x94d9c52c1e62171", + "nonce": "0x2a04" + }, + "0xe717ec34b2707fc8c226b34be5eae8482d06ed03": { + "code_usage": { + "read": "0xaec038b0dec9e5a88b11bcfebc412c902cce692358a0149ff62c9e5dc6223b87" + } + }, + "0x5777d92f208679db4b9778590fa3cab3ac9e2168": { + "storage_read": [ + "0x0eab91498d5e7ad64ced150e02bd200212da4bd8c29097aca2c9f3377325f85e", + "0x0eab91498d5e7ad64ced150e02bd200212da4bd8c29097aca2c9f3377325f860", + "0xd125646815f22659353459f7af7afa81e2e69f1ada9ecb591b60ce87cfdbfcf2", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0eab91498d5e7ad64ced150e02bd200212da4bd8c29097aca2c9f3377325f85f", + "0xd125646815f22659353459f7af7afa81e2e69f1ada9ecb591b60ce87cfdbfcf0", + "0xd125646815f22659353459f7af7afa81e2e69f1ada9ecb591b60ce87cfdbfcf3", + "0x280cb68d751417fc08728fa9aa39b1200ce9216507a1c427eb5539814c6a0046", + "0x280cb68d751417fc08728fa9aa39b1200ce9216507a1c427eb5539814c6a0047", + "0x280cb68d751417fc08728fa9aa39b1200ce9216507a1c427eb5539814c6a0049", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xd125646815f22659353459f7af7afa81e2e69f1ada9ecb591b60ce87cfdbfcf1", + "0x280cb68d751417fc08728fa9aa39b1200ce9216507a1c427eb5539814c6a0048", + "0x0eab91498d5e7ad64ced150e02bd200212da4bd8c29097aca2c9f3377325f861" + ], + "code_usage": { + "read": "0x745c067e705970688ce6589a8f7d4512df75e9203fb8e2f1a09a07ab11dcec7b" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661c7094584b624" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d24c7a1842e62" }, - "0xb339e4be667068011639c514c5eb0ae479beab1c": { - "balance": "0x3c92cdef9b3e3cdd0" + "0x65c79fcb50ca1594b025960e539ed7a9a6d434a3": { + "storage_read": [ + "0x904182e714bc9eced651ff53b774d86596d7731182a0c62cfbff0aab766e42b8", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x904182e714bc9eced651ff53b774d86596d7731182a0c62cfbff0aab766e42b9", + "0x0000000000000000000000000000000000000000000000000000000000000002" + ], + "code_usage": { + "read": "0x658f5ca06213a5511c68ca1cf5ee57081a93bd5fd0e32305b749e232c9cab9b4" + } } }, "meta": { - "byte_code": "0xf86e830f6510850737be760082ea6094b339e4be667068011639c514c5eb0ae479beab1c874871b28c9724008025a080b0ed5b239e04eda2a62e42c70c8b8e3e35470b0adffbec2b0e27283fd83437a05179f1bb0f942fbe1757cd7c443c999cd921acad7a95223fb96661482fa3216b", - "new_txn_trie_node_byte": "0xf86e830f6510850737be760082ea6094b339e4be667068011639c514c5eb0ae479beab1c874871b28c9724008025a080b0ed5b239e04eda2a62e42c70c8b8e3e35470b0adffbec2b0e27283fd83437a05179f1bb0f942fbe1757cd7c443c999cd921acad7a95223fb96661482fa3216b", - "new_receipt_trie_node_byte": "0xf90109018366345eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f901d401822a038404c4b4008501579c3e3b83087c0994e717ec34b2707fc8c226b34be5eae8482d06ed0380b901641d2ab0004d414b455200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000003554e495632444149555344432d4100000000000000000000000000000000000047554e49563344414955534443312d410000000000000000000000000000000047554e49563344414955534443322d4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147554e49563344414955534443322d4100000000000000000000000000000000c080a06ab02a6fe16a79de72794fb5a767468d2f98a90267410d8afb263394168461caa06b56cb95e41681a1ee5a741d2bda52f25a5662b64aac002d6eb29365f6d3aa0c", + "new_txn_trie_node_byte": "0x02f901d401822a038404c4b4008501579c3e3b83087c0994e717ec34b2707fc8c226b34be5eae8482d06ed0380b901641d2ab0004d414b455200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000003554e495632444149555344432d4100000000000000000000000000000000000047554e49563344414955534443312d410000000000000000000000000000000047554e49563344414955534443322d4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147554e49563344414955534443322d4100000000000000000000000000000000c080a06ab02a6fe16a79de72794fb5a767468d2f98a90267410d8afb263394168461caa06b56cb95e41681a1ee5a741d2bda52f25a5662b64aac002d6eb29365f6d3aa0c", + "new_receipt_trie_node_byte": "0xb906d602f906d20183787112b9010000000000000000020000000080000000000000000000000000000000000000002044000000000000000000000400010000002020000001000000000000000000800000000000000000000000000000000000020000000000000000000000000800000000000000001200000000101000000004200000000000082002000000011000010040000000040000000002010000020001000000080000000000200000000000000000400000120000000100004012000080000000001000000000000000200000000000000000000000000000000000000000001000000000000000000400000000000000000000000000000100000000000000000000200000000080f905c7f87994ae461ca67b15dc8dc81ce7615e0320da1a9ab8d5e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000a29d92681533561aa9f1000000000000000000000000000000000000000000000000000000b2973cc0d5f8799425d03c2c928ade19ff9f4ffecc07d991d0df054be1a080a5d0081d7e9a7bdb15ef207c6e0772f0f56d24317693206c0e47408f2d0b73b84000000000000000000000000000000000000000000001deaa5490fcb40067f3f200000000000000000000000000000000000000000001deaa5490fcb40067f3f2f879947f6d78cc0040c87943a0e0c140de3f77a273bd58e1a080a5d0081d7e9a7bdb15ef207c6e0772f0f56d24317693206c0e47408f2d0b73b8400000000000000000000000000000000000000000000000379951035a5317bfe00000000000000000000000000000000000000000000000379951035a5317bfe0f87994ccba43231ac6ecebd1278b90c3a44711a00f4e93e1a080a5d0081d7e9a7bdb15ef207c6e0772f0f56d24317693206c0e47408f2d0b73b84000000000000000000000000000000000000000000000000b083b7549732e230100000000000000000000000000000000000000000000000b083b8d3df51eaa89f901be9435d1b3f3d7966a1dfe207aa4514c12a259a0492bf884a01a0b287e00000000000000000000000000000000000000000000000000000000a047554e49563344414955534443322d4100000000000000000000000000000000a073706f7400000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000284aca0c264457ced6273e92db90120000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000e01a0b287e47554e49563344414955534443322d410000000000000000000000000000000073706f7400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000284aca0c264457ced6273e92d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f8999465c79fcb50ca1594b025960e539ed7a9a6d434a3e1a0dfd7467e425a8107cfd368d159957692c25085aacbcf5228ce08f10f2146486eb86047554e49563344414955534443322d410000000000000000000000000000000000000000000000000000000000000000000000000000000b083b7549732e2301000000000000000000000000000000000000000284aca0c264457ced6273e92df9017c94e717ec34b2707fc8c226b34be5eae8482d06ed03f842a00d83c9346002c9fca728d3a5d743e61837b6479c5773ba8c8ade72febabf4fcaa04d414b4552000000000000000000000000000000000000000000000000000000b90120000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000003554e495632444149555344432d4100000000000000000000000000000000000047554e49563344414955534443312d410000000000000000000000000000000047554e49563344414955534443322d4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000147554e49563344414955534443322d4100000000000000000000000000000000", + "gas_used": 449881 } }, { "traces": { - "0x716579a15d00b33e2a2fe03d8f339c4def57e58a": { - "balance": "0x1c31bffcf000", - "nonce": "0x1" + "0x3b50805453023a91a8bf641e279401a0b23fa6f9": { + "storage_read": [ + "0x4f0571f20b8a30da2a5272b3138c47d905bedb179384d94623ad893ce6ecdf57", + "0x5af85e713cbe4b2f66aa8d80ab7ade433d801ab265b56a854700bdbf33a366c9", + "0x9b81a3eb6093322d25950257a4a35c32dcda4d611867f0ea3c1004ae629233e0", + "0xf945c55ffe62169e28aa4f5a126de92a7b26a61cf8ba8579c9846cdc5a95b283", + "0x46c2ed23f65c5f5b14bb7b7994b54659e39682844a58815a4b65d4a556b5dc0a" + ], + "storage_written": { + "0x46c2ed23f65c5f5b14bb7b7994b54659e39682844a58815a4b65d4a556b5dc0a": "0x45fb44062fda332b63faf", + "0x4f0571f20b8a30da2a5272b3138c47d905bedb179384d94623ad893ce6ecdf57": "0x0", + "0x5af85e713cbe4b2f66aa8d80ab7ade433d801ab265b56a854700bdbf33a366c9": "0x0" + }, + "code_usage": { + "read": "0xf4f29958e527ecb18d30d8151f0f5a73b3db277a6ff3ca8dc2419eeff9e546d1" + } }, - "0x077d360f11d220e4d5d831430c81c26c9be7c4a4": { - "balance": "0xec78181e83342506" + "0x59c68e0eca9f0844d9d4cee0bedf23c8dee462c5": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x8a9a513b9791a18d5272680de0b8170980d584db74d5cc608d89e97f4ae4c892" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000fe7e9b000000000000000001d845918c1eaa14338d20fb", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x183f604752a148ffb2e94958eec0bd913" + }, + "code_usage": { + "read": "0x637f0d9df6ac38f577c94f68143a157c5b308c16469350c656900f1240eac6fd" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661cf09b2acb17c" - } - }, - "meta": { - "byte_code": "0xf86b80850737be76008255f094077d360f11d220e4d5d831430c81c26c9be7c4a4871cd0d2114f08008026a00fe2f5446a3d01bb050611a005cd788fef865e099d55ab37cfc9578039c034dfa06bcf70ebf65b4d804c9e458856f34ee14494d5f48899ca1f768f8343dba1bef8", - "new_txn_trie_node_byte": "0xf86b80850737be76008255f094077d360f11d220e4d5d831430c81c26c9be7c4a4871cd0d2114f08008026a00fe2f5446a3d01bb050611a005cd788fef865e099d55ab37cfc9578039c034dfa06bcf70ebf65b4d804c9e458856f34ee14494d5f48899ca1f768f8343dba1bef8", - "new_receipt_trie_node_byte": "0xf901090183668666b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x85c90b2c7660b168c71a4f9d34f73a1e827e382b": { - "balance": "0x1313bd858b58b0", - "nonce": "0x4" + "0x6c9d5ccbdb7a435b9c17f629cef58bbbf3620448": { + "balance": "0x1bb04166f64ba0e", + "nonce": "0x4d" }, - "0xd8556b425f5096980b6c9e4cca571421272d0f5a": { - "balance": "0x285cc4f14b1000" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d29efe8a27fe2" + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b81993a8cdefac3c620", + "storage_read": [ + "0xabd54e017d1d11ef40364f990947d2d89505a77a14a780a9feadbe90afacc26b", + "0x0055db1c41b2272eaef9225cd2750f18a33dcfe06f456a5d8bbff9f2785bd740" + ], + "storage_written": { + "0x0055db1c41b2272eaef9225cd2750f18a33dcfe06f456a5d8bbff9f2785bd740": "0x0", + "0xabd54e017d1d11ef40364f990947d2d89505a77a14a780a9feadbe90afacc26b": "0xcfaecda3798ce13aa" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661d70a1fd4acd4" + "0x111111125421ca6dc452d289314280a0f8842a65": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000003" + ], + "code_usage": { + "read": "0xa5a286be4b80006cc547d7e899871aa01a0e0551e2a509233375405f92098c2f" + } } }, "meta": { - "byte_code": "0xf86b03850737be760082520894d8556b425f5096980b6c9e4cca571421272d0f5a87285cc4f14b10008026a0d2eb9e5d09ce4d2056bd2b14a73abfb54fa1583a54b592c9a8eb4eb629106d9ea02e4a4684e85b43ca7b9c048a692be8f04cf1df3ad1549e1f3f0779719dd14a33", - "new_txn_trie_node_byte": "0xf86b03850737be760082520894d8556b425f5096980b6c9e4cca571421272d0f5a87285cc4f14b10008026a0d2eb9e5d09ce4d2056bd2b14a73abfb54fa1583a54b592c9a8eb4eb629106d9ea02e4a4684e85b43ca7b9c048a692be8f04cf1df3ad1549e1f3f0779719dd14a33", - "new_receipt_trie_node_byte": "0xf90109018366d86eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f8f5014c8402faf08085012a05f20083028b6594111111125421ca6dc452d289314280a0f8842a6580b88883800a8e0000000000000000000000003b50805453023a91a8bf641e279401a0b23fa6f900000000000000000000000000000000000000000000000ba7b970e194fc0000000000000000000000000000000000000000000000000000002727030ee271f638800000000000000000000059c68e0eca9f0844d9d4cee0bedf23c8dee462c52a6f45f2c080a0726424f988b690cda274c4c52803139410d8ee97cc0c214901535e68baae1581a04011e9fcf6cd0c620035731bb5fa0f58bdcc4b2cbd6e260b2a6c8f5e0a15f6a1", + "new_txn_trie_node_byte": "0x02f8f5014c8402faf08085012a05f20083028b6594111111125421ca6dc452d289314280a0f8842a6580b88883800a8e0000000000000000000000003b50805453023a91a8bf641e279401a0b23fa6f900000000000000000000000000000000000000000000000ba7b970e194fc0000000000000000000000000000000000000000000000000000002727030ee271f638800000000000000000000059c68e0eca9f0844d9d4cee0bedf23c8dee462c52a6f45f2c080a0726424f988b690cda274c4c52803139410d8ee97cc0c214901535e68baae1581a04011e9fcf6cd0c620035731bb5fa0f58bdcc4b2cbd6e260b2a6c8f5e0a15f6a1", + "new_receipt_trie_node_byte": "0xb903e402f903e001837a2c15b9010000000000000000000000000000000100000000000000000000000000000000000001000000000000000000000002000002000000080120000000000000000000000010000000000800000008000000040000000000400000000001000000000000000000004800000000000000000000000000000000040000000414000800000020000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000800000000000002000000000000210000000000000000000000000000000000000000000000000000000000f902d5f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000059c68e0eca9f0844d9d4cee0bedf23c8dee462c5a0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a000000000000000000000000000000000000000000000000000278c41264ec0b1f89b943b50805453023a91a8bf641e279401a0b23fa6f9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006c9d5ccbdb7a435b9c17f629cef58bbbf3620448a000000000000000000000000059c68e0eca9f0844d9d4cee0bedf23c8dee462c5a000000000000000000000000000000000000000000000000ba7b970e194fc0000f9011c9459c68e0eca9f0844d9d4cee0bedf23c8dee462c5f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65b8a000000000000000000000000000000000000000000000000ba7b970e194fc0000ffffffffffffffffffffffffffffffffffffffffffffffffffd873bed9b13f4f000000000000000000000000000000000000000001d845918c1eaa14338d20fb000000000000000000000000000000000000000000001b68c21bb86469c4bb42fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7e9bf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a000000000000000000000000000000000000000000000000000278c41264ec0b1", + "gas_used": 113411 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661d923f68f68d4" + "0xdef171fe48cf0115b1d80b88dc8eab59176fee57": { + "storage_read": [ + "0xd0d6677800a993d9f57d5429a1a7401f674e568d0f74ca8057f1e2e320362e92", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0a69566acfa0d09dc4a20491a7c729fba07c4b66d7d75ee28d781748e5f17cbc" + ], + "code_usage": { + "read": "0x976bab804d35c430baf7a9b4bcdaf52d48325cd0aed86c201546be02e208dc0c" + } }, - "0xe3aa696f1e0b6b6c7df717cc5cf9fd3d83076ba4": { - "balance": "0x753d533d968000" + "0x5eda2dc136986fc88d4df5696bc464f96a20268a": { + "balance": "0x542f9769b620fd0", + "nonce": "0x3c4" }, - "0x55c27219e4dd8022ec2360f7379cab09fc43e2ed": { - "balance": "0x143507b740f58", - "nonce": "0x1" - } - }, - "meta": { - "byte_code": "0x02f872018084068e77808509dea4118082520894e3aa696f1e0b6b6c7df717cc5cf9fd3d83076ba487753d533d96800080c080a08346f386c9629e829ff7ffff9938e1a544ce64f906ac6985004d59a79bf03c0fa0458e1630109c3fa9e9f9877bd1cf09697ccaa867e7b93ee7f929e67c7036bc8c", - "new_txn_trie_node_byte": "0x02f872018084068e77808509dea4118082520894e3aa696f1e0b6b6c7df717cc5cf9fd3d83076ba487753d533d96800080c080a08346f386c9629e829ff7ffff9938e1a544ce64f906ac6985004d59a79bf03c0fa0458e1630109c3fa9e9f9877bd1cf09697ccaa867e7b93ee7f929e67c7036bc8c", - "new_receipt_trie_node_byte": "0xb9010d02f901090183672a76b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661d9ff9bc56714" + "0x807cf9a772d5a3f9cefbc1192e939d62f0d9bd38": { + "storage_read": [ + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x000000000000000000000000000000000000000000000000000000000000009a" + ], + "code_usage": { + "read": "0x267e530f7b6bc2a65cebe4aea9c1f1864270f15252b92832dc9567df9bdb5ff4" + } + }, + "0x66c1c25d7d2bd4a32ed33501e202b275030f402c": { + "code_usage": { + "read": "0x1afdcaf21231eb4cf0318b2fe33a8fe223f927c3ff4030dfa5b86311e4451b94" + } + }, + "0xab86e2bc9ec5485a9b60e684ba6d49bf4686acc2": { + "code_usage": { + "read": "0x8fc1a8a973a58666c53ab2c6f3cb424bfaa152688a83f9c69c3d4db9f58779c6" + } }, - "0x87e75025d6607564ad005088ab549dd76ca2ce48": { + "0x0000000000000000000000000000000000000001": {}, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b81990d74584ae83236", + "storage_read": [ + "0x8324c3a0b179d683439c203ea62d82f53ec0157a9f46940c5ea2bc0d6d40cefa", + "0x8d629cb47d08e89353adb6c7692b952b309de6af172d6a1081aad5fa72045c48", + "0x16c30850494a7f4e4b372d61cd676b94e419a49c0f8b670dbcfc5cd1a42dcbc8" + ], "storage_written": { - "0x5651fba676f8e6a5abf09cccf8973a71a808d1c595c126b0e102c5138fed9d3e": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "0x8d629cb47d08e89353adb6c7692b952b309de6af172d6a1081aad5fa72045c48": "0x0", + "0x16c30850494a7f4e4b372d61cd676b94e419a49c0f8b670dbcfc5cd1a42dcbc8": "0x18077770effa207007", + "0x8324c3a0b179d683439c203ea62d82f53ec0157a9f46940c5ea2bc0d6d40cefa": "0x7ffffffffffffffffffffffffffffffffffffffffffffcea66add705d5a0f47f" }, "code_usage": { - "read": "0xe37e63305900da82fb74933606aafab99753beeca422eeb3ea6917296a467f2f" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0xfdd34c6ae56c8394677b52fd37c7cb7c436a2170": { - "balance": "0x1d01bad9323733", - "nonce": "0xb" + "0x216b4b4ba9f3e719726886d34a177484278bfcae": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "code_usage": { + "read": "0x9b316efb8d70e8284388e4eac1373c4eb42b3128fc158efd11379acc4e7336a1" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d32b56babbbe2" + }, + "0xec3c808e408026a346f2752c990854aca61ad838": { + "code_usage": { + "read": "0xbee45e110c3436c845b71a6d801cb1ab0fafa98360a355acf06ead27a42e43f4" + } + }, + "0xe92b586627cca7a83dc919cc7127196d70f55a06": { + "storage_read": [ + "0xa4b87766e2d6a5c77b943e4712d3d618d3bd69fcee3d5829ed3ad012151a4d77" + ], + "storage_written": { + "0xa4b87766e2d6a5c77b943e4712d3d618d3bd69fcee3d5829ed3ad012151a4d77": "0x7371fca379ce" + }, + "code_usage": { + "read": "0x9a7cb7a148e75a4cdfb84d1c760376de27bcd3495a41bfb8be3a567442f0e5ee" + } + }, + "0x69af81e73a73b40adf4f3d4223cd9b1ece623074": { + "storage_read": [ + "0x5c9c3f54825d2f89975f2be83a28d063fb8e838e01f075e72cd44ab8dc699fe3", + "0xe45837b6d0217a3edc2f2cd428bbe9545db7f73d35a2af2ed1b30d016e7b26e2", + "0x48f3fa8c95ff087d8cbbc791160670b986d4ec1227f66c769ef7f1bbc33eb1f7", + "0xe19cca9066d6cf974f7b6af5dd171f2324d3833cf486fb3bf2b3ea48001bcd14", + "0x258bb12ecac03977ab66abac027a17df42631909cdf22ff9d4cb5d578c6030ce" + ], + "storage_written": { + "0x48f3fa8c95ff087d8cbbc791160670b986d4ec1227f66c769ef7f1bbc33eb1f7": "0x0", + "0x5c9c3f54825d2f89975f2be83a28d063fb8e838e01f075e72cd44ab8dc699fe3": "0xffffffffffffffffffffffffffffffffffffffffffffffeb66a7b2dff2d14fff", + "0x258bb12ecac03977ab66abac027a17df42631909cdf22ff9d4cb5d578c6030ce": "0x92ccc50a0a9e2d1b9", + "0xe19cca9066d6cf974f7b6af5dd171f2324d3833cf486fb3bf2b3ea48001bcd14": "0x0", + "0xe45837b6d0217a3edc2f2cd428bbe9545db7f73d35a2af2ed1b30d016e7b26e2": "0x0" + }, + "code_usage": { + "read": "0x0fb895160b3fb547467539897465eb257e378ae5f1e959ad7bdc3ab45ed2b1cc" + } } }, "meta": { - "byte_code": "0x02f8b1010a840135453485072301bcf6830112f79487e75025d6607564ad005088ab549dd76ca2ce4880b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0b966680503a6e2163ea42ad8c93cf2710facceee8190243c4aa3269ce3549396a055136b438dd85776b78e38b8ea98549fc085e3dd02906740624748f572a53923", - "new_txn_trie_node_byte": "0x02f8b1010a840135453485072301bcf6830112f79487e75025d6607564ad005088ab549dd76ca2ce4880b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0b966680503a6e2163ea42ad8c93cf2710facceee8190243c4aa3269ce3549396a055136b438dd85776b78e38b8ea98549fc085e3dd02906740624748f572a53923", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018367e046b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000200000000000004008000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000012000010000000000000000000000000000000000000000000000000000000f89df89b9487e75025d6607564ad005088ab549dd76ca2ce48f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000fdd34c6ae56c8394677b52fd37c7cb7c436a2170a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "gas_used": 46544 + "byte_code": "0x02f90714018203c38402faf08085012a05f2008305a8de94def171fe48cf0115b1d80b88dc8eab59176fee5780b906a454e3f31b000000000000000000000000000000000000000000000000000000000000002000000000000000000000000069af81e73a73b40adf4f3d4223cd9b1ece623074000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000a688906bd8b00000000000000000000000000000000000000000000000000000002cdfe58c94e514000000000000000000000000000000000000000000000000002d199ff2ea8c2e00000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000660000000000000000000000000000000000000000000000000000000006632d08c5832ed0bddce4054a18c7c483a0f1d7e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000e92b586627cca7a83dc919cc7127196d70f55a06000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000000000000000000000000000000000000000003081c64b8200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000a688906bd8b00000000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020104596a4f01ecc326d14a1625eda2dc136986fc88d4df5696bc464f96a20268a000000000000000000000000000000000000000000000000000000006632d08c000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000069af81e73a73b40adf4f3d4223cd9b1ece623074000000000000000000000000807cf9a772d5a3f9cefbc1192e939d62f0d9bd38000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57000000000000000000000000000000000000000000000000002d8bf8ac7f0db7000000000000000000000000000000000000000000000000a832e3c915bc00000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000a832e3c915bc0000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000041cfc93c1e0f7c21d1991f3143453704e91926195e603a2688c01c6e74113397ea7ef154cbd99479594346384aefda280d23da559865cc598aa59640013f789ea81b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1829cfe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a01ae8a8ce594ecaa3ee804ef6ffe601da16925cf0af3e793030e2a2a67c86f0afa01ced74adfb8e85417f54a90472cef737988d25be92d74e39bab7697368a47f71", + "new_txn_trie_node_byte": "0x02f90714018203c38402faf08085012a05f2008305a8de94def171fe48cf0115b1d80b88dc8eab59176fee5780b906a454e3f31b000000000000000000000000000000000000000000000000000000000000002000000000000000000000000069af81e73a73b40adf4f3d4223cd9b1ece623074000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000a688906bd8b00000000000000000000000000000000000000000000000000000002cdfe58c94e514000000000000000000000000000000000000000000000000002d199ff2ea8c2e00000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000058000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000660000000000000000000000000000000000000000000000000000000006632d08c5832ed0bddce4054a18c7c483a0f1d7e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000e92b586627cca7a83dc919cc7127196d70f55a06000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000000000000000000000000000000000000000003081c64b8200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000a688906bd8b00000000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee5700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020104596a4f01ecc326d14a1625eda2dc136986fc88d4df5696bc464f96a20268a000000000000000000000000000000000000000000000000000000006632d08c000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000069af81e73a73b40adf4f3d4223cd9b1ece623074000000000000000000000000807cf9a772d5a3f9cefbc1192e939d62f0d9bd38000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57000000000000000000000000000000000000000000000000002d8bf8ac7f0db7000000000000000000000000000000000000000000000000a832e3c915bc00000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000a832e3c915bc0000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000041cfc93c1e0f7c21d1991f3143453704e91926195e603a2688c01c6e74113397ea7ef154cbd99479594346384aefda280d23da559865cc598aa59640013f789ea81b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1829cfe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a01ae8a8ce594ecaa3ee804ef6ffe601da16925cf0af3e793030e2a2a67c86f0afa01ced74adfb8e85417f54a90472cef737988d25be92d74e39bab7697368a47f71", + "new_receipt_trie_node_byte": "0xb9073c02f9073801837d1d8db9010000000000000000020000018020000080000000100000000000000000000000000000000100000008040000000000000002000020080000000010000000200000000000000000000000200008000000080000008000400000004000000000000000000000000000000200020000080000000000000000050000000010000000040000000000000000000000001000002000000000000000000002000000040001024000000000000000000400000200000000000000000000000000200000000000002002000004000000800000100000000000000080000004000002000000000011200000000000000000000000000000080000000000000000100000010000f9062df89b9469af81e73a73b40adf4f3d4223cd9b1ece623074f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005eda2dc136986fc88d4df5696bc464f96a20268aa0000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57a0000000000000000000000000000000000000000000000000a688906bd8b00000f89b9469af81e73a73b40adf4f3d4223cd9b1ece623074f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000005eda2dc136986fc88d4df5696bc464f96a20268aa0000000000000000000000000216b4b4ba9f3e719726886d34a177484278bfcaea00000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000807cf9a772d5a3f9cefbc1192e939d62f0d9bd38a0000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57a0000000000000000000000000000000000000000000000000002d1886afdb93eaf89b9469af81e73a73b40adf4f3d4223cd9b1ece623074f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57a0000000000000000000000000807cf9a772d5a3f9cefbc1192e939d62f0d9bd38a0000000000000000000000000000000000000000000000000a688906bd8b00000f89b9469af81e73a73b40adf4f3d4223cd9b1ece623074f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57a0000000000000000000000000e92b586627cca7a83dc919cc7127196d70f55a06a0ffffffffffffffffffffffffffffffffffffffffffffffeb66a7b2dff2d14ffff9011d94e92b586627cca7a83dc919cc7127196d70f55a06f884a06621486d9c28838df4a87d2cca5007bc2aaf6a5b5de083b1db8faf709302c473a01ebbd30ee2c80d7f393f5ae271510663e5142ae551bb4f4b78df3521a1e2ca80a0000000000000000000000000807cf9a772d5a3f9cefbc1192e939d62f0d9bd38a0000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57b880000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000002d1886afdb93ea00000000000000000000000069af81e73a73b40adf4f3d4223cd9b1ece623074000000000000000000000000000000000000000000000000a688906bd8b00000f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000def171fe48cf0115b1d80b88dc8eab59176fee57a0000000000000000000000000000000000000000000000000002d1886afdb93eaf9017d94def171fe48cf0115b1d80b88dc8eab59176fee57f884a0e00361d207b252a464323eb23d45d42583e391f2031acdd2e9fa36efddd43cb0a00000000000000000000000005eda2dc136986fc88d4df5696bc464f96a20268aa000000000000000000000000069af81e73a73b40adf4f3d4223cd9b1ece623074a0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeb8e05832ed0bddce4054a18c7c483a0f1d7e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000040000000000000000000000000005eda2dc136986fc88d4df5696bc464f96a20268a000000000000000000000000000000000000000000000000a688906bd8b00000000000000000000000000000000000000000000000000000002d1886afdb93ea000000000000000000000000000000000000000000000000002d199ff2ea8c2e", + "gas_used": 192888 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661dadd6e304baa" - }, - "0x767fe9edc9e0df98e07454847909b5e959d7ca0e": { + "0x32400084c286cf3e17e7b677ea9583e60a000324": { + "balance": "0x264e45bba532300c4223", "storage_read": [ - "0x31ec7bb4d70d03a72bd2035bb91bb5a19e9d70a6e585b10bf2a055a13b6648cf" + "0x0c80701d60ea97dc19865e88854f993edcc4951634d6f32fc706a8a748105518", + "0xc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e", + "0x8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x0000000000000000000000000000000000000000000000000000000000000026", + "0x000000000000000000000000000000000000000000000000000000000000001a" ], "storage_written": { - "0x31ec7bb4d70d03a72bd2035bb91bb5a19e9d70a6e585b10bf2a055a13b6648cf": "0x1c42e38b082dbe" + "0xa2b2cb7c591b9440d9b68952305d821e5418811d9c2b4a05822085a3ddb90050": "0x6632d06b", + "0xa2b2cb7c591b9440d9b68952305d821e5418811d9c2b4a05822085a3ddb9004f": "0xf3265ae4a41652ed0200a0dc84b54c89a6be5a41bb30afbd646e7c8a28528b21", + "0x0000000000000000000000000000000000000000000000000000000000000011": "0x3093de", + "0x8e94fed44239eb2314ab7a406345e6c5a8f0ccedf3b600de3d004e672c33abf4": "0x1" }, "code_usage": { - "read": "0xe50565c3a514ba9875d6d08c45f3392a1e5dd68fe582d58953470d6c692a5c3d" + "read": "0xac8cdf20125944df30c6d6ffb2c777aecb6105c9cf8e40f3ff1306bccb9aac3f" } }, - "0xc823724047398a89daa9841438b2ef320b46f643": { - "balance": "0x16fe37aa97ca41", - "nonce": "0x1a" + "0x979e20fb470ea8919589fdae041cdbe86f745302": { + "balance": "0x4c30e7f5548a2d", + "nonce": "0x3d" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d378af0517ae2" + }, + "0xa57f9ffd65fc0f5792b5e958df42399a114ec7e7": { + "code_usage": { + "read": "0x2b33fdbf136ce944ec2d9781921d40aa8652b38018d4a1a12a60dffa390a5c5e" + } } }, "meta": { - "byte_code": "0x02f8b1011984012bfe0285097a11087a83011e3594767fe9edc9e0df98e07454847909b5e959d7ca0e80b844095ea7b30000000000000000000000005550d13389bb70f45fcef58f19f6b6e87f6e747d000000000000000000000000000000000000000000000000001c42e38b082dbec001a0cefb1a8ada7ffee6bf88c1a45d0bb71ae9ba4f640931b13729709556ca0a3820a0075621e654cde9eebbe39a9209c17150a57d3d2bd479224b373da1b0bdb3d41d", - "new_txn_trie_node_byte": "0x02f8b1011984012bfe0285097a11087a83011e3594767fe9edc9e0df98e07454847909b5e959d7ca0e80b844095ea7b30000000000000000000000005550d13389bb70f45fcef58f19f6b6e87f6e747d000000000000000000000000000000000000000000000000001c42e38b082dbec001a0cefb1a8ada7ffee6bf88c1a45d0bb71ae9ba4f640931b13729709556ca0a3820a0075621e654cde9eebbe39a9209c17150a57d3d2bd479224b373da1b0bdb3d41d", - "new_receipt_trie_node_byte": "0xb9026a02f902660183689d91b9010000000000000000000000000000000000000000001000000000000000000000010000000000000000000010000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000020000000000000000000000000000000000000000000000080000000000800000000000100800001000000080000000000000001000000000000000000000000010001000000000000000000000000000000000000000000000000000000000f9015bf8bc94767fe9edc9e0df98e07454847909b5e959d7ca0ef863a071594b34a69973da9bff6f72cc0aad2c51069b6b8e9c70c0648b58d10d7bd84ba0000000000000000000000000c823724047398a89daa9841438b2ef320b46f643a00000000000000000000000005550d13389bb70f45fcef58f19f6b6e87f6e747db8400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c42e38b082dbef89b94767fe9edc9e0df98e07454847909b5e959d7ca0ef863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c823724047398a89daa9841438b2ef320b46f643a00000000000000000000000005550d13389bb70f45fcef58f19f6b6e87f6e747da0000000000000000000000000000000000000000000000000001c42e38b082dbe", - "gas_used": 48459 + "byte_code": "0x02f90199013c8402faf08085012a05f2008302971b9432400084c286cf3e17e7b677ea9583e60a000324872407e42329b6bcb90124eb672419000000000000000000000000979e20fb470ea8919589fdae041cdbe86f745302000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000060f9700000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000979e20fb470ea8919589fdae041cdbe86f74530200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0bc5e03c741b2813c9af24f50da1e8017b375fed8b7e515d1cf9c99eefda2355ba02015574f4d31dc28c2132af37b1ba602668bad9ec5dc2a27fea97bf07ca9ae78", + "new_txn_trie_node_byte": "0x02f90199013c8402faf08085012a05f2008302971b9432400084c286cf3e17e7b677ea9583e60a000324872407e42329b6bcb90124eb672419000000000000000000000000979e20fb470ea8919589fdae041cdbe86f745302000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000060f9700000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000979e20fb470ea8919589fdae041cdbe86f74530200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a0bc5e03c741b2813c9af24f50da1e8017b375fed8b7e515d1cf9c99eefda2355ba02015574f4d31dc28c2132af37b1ba602668bad9ec5dc2a27fea97bf07ca9ae78", + "new_receipt_trie_node_byte": "0xb9050c02f9050801837ebccbb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000001000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000010000000000000000000000000f903fdf903fa9432400084c286cf3e17e7b677ea9583e60a000324e1a04531cd5795773d7101c17bdeb9f5ab7f47d7056017506f937083be5d6e77a382b903c000000000000000000000000000000000000000000000000000000000003093ddf3265ae4a41652ed0200a0dc84b54c89a6be5a41bb30afbd646e7c8a28528b21000000000000000000000000000000000000000000000000000000006632d06b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000979e20fb470ea8919589fdae041cdbe86f745302000000000000000000000000979e20fb470ea8919589fdae041cdbe86f7453020000000000000000000000000000000000000000000000000000000000060f970000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000001277d0030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003093dd000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000000000000000000000000002407e42329b6bc000000000000000000000000979e20fb470ea8919589fdae041cdbe86f745302000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 106302 } }, { "traces": { - "0x6a3566e435ff04ec17586a33290ac8954fad2e51": { - "balance": "0xfbdcad4f7533f77", - "nonce": "0x4e9" + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x4685c6928e0e35b3e979ce1f35881a2433bcdf238acbfd4ea0f27d58a87d377c", + "0xc996a987ebf858136d159694f0d02a1cf888a5c21ae955d9af9fc28824a5eaa0" + ], + "storage_written": { + "0x4685c6928e0e35b3e979ce1f35881a2433bcdf238acbfd4ea0f27d58a87d377c": "0xb3d175e68a2b0698bc0ec12d3ae2a7c51e361bd", + "0xc996a987ebf858136d159694f0d02a1cf888a5c21ae955d9af9fc28824a5eaa0": "0x1" + }, + "code_usage": { + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661dbfec550677c" + "0x0b3d175e68a2b0698bc0ec12d3ae2a7c51e361bd": { + "balance": "0x23ca2c9960e988", + "nonce": "0x1" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x0000000000000000000000000000000000000001": {}, + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } + }, + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ - "0xbdcec2d0932a0e9efdddc152032483f46277bddb2e34881ec406ea5482f0836d", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x937f9eb86af0756a16f5eff8d4adda959daddd82c14064b8d311e3f11b9d8d65", - "0xbe624b903074794e4b1265f0bec91bc5796c362cb5f4b2787d7cee5a216d296a", - "0x0000000000000000000000000000000000000000000000000000000000000000" + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f" + ], + "code_usage": { + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" + } + }, + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x6ebcaf08cbce459f14fcbc8a73d7dd80b0bf13ee656b556d6bbb674bf9c5728c", + "0x2cfd3b97d910d34ee7de1292ba8833d4a892558a69e74e09c813946432c715dd" ], "storage_written": { - "0x937f9eb86af0756a16f5eff8d4adda959daddd82c14064b8d311e3f11b9d8d65": "0x112d741a", - "0xbe624b903074794e4b1265f0bec91bc5796c362cb5f4b2787d7cee5a216d296a": "0x24ce4d60" + "0x6ebcaf08cbce459f14fcbc8a73d7dd80b0bf13ee656b556d6bbb674bf9c5728c": "0x1", + "0x2cfd3b97d910d34ee7de1292ba8833d4a892558a69e74e09c813946432c715dd": "0x1" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d3ef579885062" } }, "meta": { - "byte_code": "0x02f8b3018204e884012bfe0285098e06ceb28301774094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000003f9e73d9fa6c2cb87bea90239db07e76683c912f0000000000000000000000000000000000000000000000000000000024ce4d60c001a099fdecd9c759aa105edd1a39ef2d5d642a44829e583e89f65a7b89ad1487f86fa02e533144dcc27e3e6d1e6150d111d71b90b62115079ba5efd8085b3ae219880c", - "new_txn_trie_node_byte": "0x02f8b3018204e884012bfe0285098e06ceb28301774094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000003f9e73d9fa6c2cb87bea90239db07e76683c912f0000000000000000000000000000000000000000000000000000000024ce4d60c001a099fdecd9c759aa105edd1a39ef2d5d642a44829e583e89f65a7b89ad1487f86fa02e533144dcc27e3e6d1e6150d111d71b90b62115079ba5efd8085b3ae219880c", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018369947ab9010000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000100000000000080000000000000000000000000000000000000000008800002000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000800000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006a3566e435ff04ec17586a33290ac8954fad2e51a00000000000000000000000003f9e73d9fa6c2cb87bea90239db07e76683c912fa00000000000000000000000000000000000000000000000000000000024ce4d60", - "gas_used": 63209 + "byte_code": "0x02f9029201808402faf08085012a05f2008303c9fe94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000441350000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000004413500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3bf00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041e21b86362db1e75c35130426d4e6715da29366a33f343a122b753d9a3d670bac7df4ed1dfb5b5f458a8ee1d75324ed3fa6d907df00e5f7cad1565f2ac3fd77521c00000000000000000000000000000000000000000000000000000000000000c001a025bc6865a9c0dee035de2fe66f4a6a26d2114ee931d4693f036e11fc8eec9d09a0346db3a2d6a1e228783f4c74206782594ff195bc7c0f66704ca8449029861958", + "new_txn_trie_node_byte": "0x02f9029201808402faf08085012a05f2008303c9fe94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000441350000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000004413500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3bf00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041e21b86362db1e75c35130426d4e6715da29366a33f343a122b753d9a3d670bac7df4ed1dfb5b5f458a8ee1d75324ed3fa6d907df00e5f7cad1565f2ac3fd77521c00000000000000000000000000000000000000000000000000000000000000c001a025bc6865a9c0dee035de2fe66f4a6a26d2114ee931d4693f036e11fc8eec9d09a0346db3a2d6a1e228783f4c74206782594ff195bc7c0f66704ca8449029861958", + "new_receipt_trie_node_byte": "0xb902cd02f902c901838139d6b9010000000000000000000000000000000000000000000000200000000080000002008000002000000000000000000000000000000800000000000000000000000000000000000000000000000008000000100000000000000000001000000000000000000000020000000000000200000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000000000000000000000000000001000000000000000000002008000001000000000002004000000000000000000000000000020000008000000000000000000000000000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000b3d175e68a2b0698bc0ec12d3ae2a7c51e361bda0000000000000000000000000000000000000000000000000000000000004413580f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca00000000000000000000000000b3d175e68a2b0698bc0ec12d3ae2a7c51e361bda0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a00000000000000000000000000000000000000000000000000000000000044135b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163083 } }, { "traces": { - "0xe0ee7c2f42cc856a6166d4cf8b6cd0de22f7aa30": { - "balance": "0x1bb5ac920bd797", - "nonce": "0x16" + "0xd20ef07ca38301735782e3b89c0e192fd8ec002d": { + "code_usage": { + "read": "0x72ba7f6fe9ce5e4bcc7145b3f0681112f2161b025618dedb74bb3ea15bbcbe90" + } }, - "0xdd66781d0e9a08d4fbb5ec7bac80b691be27f21d": { + "0xc7bcb0e8839a28a1cfadd1cf716de9016cda51ae": { + "balance": "0x687d91c74771b0f6e", + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000037" + ], "storage_written": { - "0x4056221c1c1bd324b304cd35543834dbafcafcfde1cbaeab1dd617dbab3bf813": "0x0" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x12dcc0f00000000000186a00000000000000000000000003b9aca00" }, "code_usage": { - "read": "0xb1dde0e2d06b79097986a3ecdd4f56e6021b8bbab841ea2797659cf8c454ed52" + "read": "0xfa8c9db6c6cab7108dea276f4cd09d575674eb0852c0fa3187e59e98ef977998" + } + }, + "0xd0e1065f2a941dd723f800c34d2d4282c3158a00": { + "code_usage": { + "read": "0x3708314c65d3949911060cd82c167a5ace2921694c2bab2d9a60814bde3412d7" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661dc70ba62abfa" + "0xa8518a2ccdfe353844f2fb553b90d8e8a740b347": { + "balance": "0xfa3e6d060f5d4", + "nonce": "0x5f" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d416fd2631d62" + }, + "0x8f2428f7189c0d92d1c4a5358903a8c80ec6a69d": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000069" + ], + "code_usage": { + "read": "0xfa8c9db6c6cab7108dea276f4cd09d575674eb0852c0fa3187e59e98ef977998" + } } }, "meta": { - "byte_code": "0x02f8b0011584012bfe0285098e06ceb28274be94dd66781d0e9a08d4fbb5ec7bac80b691be27f21d80b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000000000000000000000000000c080a05986825be09278d093c6d4cbce10ed0c42d1ff3b0977895689eeb9555c5ac97fa01de1e847d0ba595b88f681edeb8d7acd486a08ace5df6657008c01f04b7ee0b7", - "new_txn_trie_node_byte": "0x02f8b0011584012bfe0285098e06ceb28274be94dd66781d0e9a08d4fbb5ec7bac80b691be27f21d80b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000000000000000000000000000c080a05986825be09278d093c6d4cbce10ed0c42d1ff3b0977895689eeb9555c5ac97fa01de1e847d0ba595b88f681edeb8d7acd486a08ace5df6657008c01f04b7ee0b7", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018369f5b9b9010000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000040000000000000800000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000040000000080000000000000000000000000000f89df89b94dd66781d0e9a08d4fbb5ec7bac80b691be27f21df863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000e0ee7c2f42cc856a6166d4cf8b6cd0de22f7aa30a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a00000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 24895 + "byte_code": "0x02f90138015e8402faf080850165a0bc0083030d4094c7bcb0e8839a28a1cfadd1cf716de9016cda51ae8711c37937e08000b8c4e9e05c42000000000000000000000000a8518a2ccdfe353844f2fb553b90d8e8a740b3470000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000c080a0b2b41cac88cb048cbb108b5c5406b9c6e3b988e3f24279af463c5416d61f7a3fa07fe7c06a97279da7ac6c73b700cdbe1db7afaae89b6955cc56cff2d7ef6fe4e4", + "new_txn_trie_node_byte": "0x02f90138015e8402faf080850165a0bc0083030d4094c7bcb0e8839a28a1cfadd1cf716de9016cda51ae8711c37937e08000b8c4e9e05c42000000000000000000000000a8518a2ccdfe353844f2fb553b90d8e8a740b3470000000000000000000000000000000000000000000000000011c37937e0800000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000c080a0b2b41cac88cb048cbb108b5c5406b9c6e3b988e3f24279af463c5416d61f7a3fa07fe7c06a97279da7ac6c73b700cdbe1db7afaae89b6955cc56cff2d7ef6fe4e4", + "new_receipt_trie_node_byte": "0xb9024f02f9024b0183820eb0b9010000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000002000000004000000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000400000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000000000002000000000000000080000000000000000000000f90140f9013d94c7bcb0e8839a28a1cfadd1cf716de9016cda51aef884a0b3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32a0000000000000000000000000a8518a2ccdfe353844f2fb553b90d8e8a740b347a0000000000000000000000000a8518a2ccdfe353844f2fb553b90d8e8a740b347a00000000000000000000000000000000000000000000000000000000000000000b8a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000490000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011c37937e0800000000000000186a0000000000000000000000000000000000000000000000000", + "gas_used": 54490 } }, { "traces": { - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298693b64ca1581b48912", + "0x828e05c62fed8bda0e36d2656e2c37db635c159b": { + "balance": "0x54cde347a81c9a", + "nonce": "0xdc" + }, + "0x29469395eaf6f95920e59f858042f0e28d98a20b": { "storage_read": [ - "0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7", - "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x8a2c70dca0c56425d40932b9bbc4a207d3aef5fe86d3ba9aa90ca92513a4a1ed" ], "storage_written": { - "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a": "0x152ad8b20c289f617ba", - "0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7": "0x1" + "0x8a2c70dca0c56425d40932b9bbc4a207d3aef5fe86d3ba9aa90ca92513a4a1ed": "0x66fdd25602f60bf0f47e9829338f58197a3f886d89941295f0d29aa4162d2886" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xd4023c8dea746c975b06ae14b15b05560eba64c6b70ad75a2ab4d793c04510ef" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661dfe3833d4c6a" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d41d05dcf8d62" }, - "0x1111111254eeb25477b68fb85ed929f73a960582": { + "0xb258ca5559b11cd702f363796522b04d7722ea56": { "code_usage": { - "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" + "read": "0x2ee0e130511b2adcd44cdb59d6b8453ff3823f053344ecbee44ee21d46460a1e" } - }, - "0x881d40237659c251811cec9c364ef91dc08d300c": { + } + }, + "meta": { + "byte_code": "0x02f901b10181db83a7d8c08505d21dba008293b09429469395eaf6f95920e59f858042f0e28d98a20b80b901445e05b33c000000000000000000000000828e05c62fed8bda0e36d2656e2c37db635c159b000000000000000000000000c69e3ec87cd2502bdad7ea5e8cadae22e5431992000000000000000000000000ba30e5f9bb24caa003e9f2f0497ad287fdf9562300000000000000000000000000000000000000000000000000000000000010c700000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000006631325f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002328000000000000000000000000000000000000000000000000000000000004298dc001a0c59b7ddad3cdc41116891f2cef8c2af81352cdda46caae22e7d81954c467b699a0034380289cdee1ac1f484a04d2d7a09cf6a712ff7c8efa940b066d13e2d51f3b", + "new_txn_trie_node_byte": "0x02f901b10181db83a7d8c08505d21dba008293b09429469395eaf6f95920e59f858042f0e28d98a20b80b901445e05b33c000000000000000000000000828e05c62fed8bda0e36d2656e2c37db635c159b000000000000000000000000c69e3ec87cd2502bdad7ea5e8cadae22e5431992000000000000000000000000ba30e5f9bb24caa003e9f2f0497ad287fdf9562300000000000000000000000000000000000000000000000000000000000010c700000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000006631325f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002328000000000000000000000000000000000000000000000000000000000004298dc001a0c59b7ddad3cdc41116891f2cef8c2af81352cdda46caae22e7d81954c467b699a0034380289cdee1ac1f484a04d2d7a09cf6a712ff7c8efa940b066d13e2d51f3b", + "new_receipt_trie_node_byte": "0xb9018902f90185018382a1f0b9010000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000f87bf8799429469395eaf6f95920e59f858042f0e28d98a20be1a0e5095dc360d1a56740c946cccc76520c1a1a57381c950520062adeda68dbf572b840000000000000000000000000000000000000000000000000000000000004298d000000000000000000000000ba30e5f9bb24caa003e9f2f0497ad287fdf95623", + "gas_used": 37696 + } + }, + { + "traces": { + "0x2486ff197be4553775daf666a815deac482bb6b0": { "storage_read": [ - "0x684fdb4b219d1c63474e6c8e4dc8c2611de744d4aaa2b78c4ec411ebb6ba9756", - "0x684fdb4b219d1c63474e6c8e4dc8c2611de744d4aaa2b78c4ec411ebb6ba9757", - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000003", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x11d8ab606f4991d8c000f671d7da0cd3d0b141", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x16632d06b0000000000000000092988388a8e43fb" }, "code_usage": { - "read": "0xcc34a85a74e46f422c2b06b16156799b7c313a71390b4465cbc463bd99d76764" + "read": "0x767eb70c29546d905d980102b172f5f6f5e42c44ee41bd56587636c5d6997afa" } }, - "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "0xe37e799d5077682fa0a244d46e5649f71457bd09": { "code_usage": { - "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + "read": "0xd471a60f6c7d3be7f423430564405669d08ee2006e9ae4203a9aac81e8474402" } }, - "0x74de5d4fcbf63e00296fd95d33236b9794016631": { - "code_usage": { - "read": "0x34285df013b925b34c7744f619f6ed193cbb11e1e08b0013af1dd0511a3e6f6e" - } + "0x73fb1d96a144efdb278e123a17c79d63cd67d11f": { + "balance": "0x440fed992e76e39", + "nonce": "0x5eb1" }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "0x111111125421ca6dc452d289314280a0f8842a65": { "storage_read": [ - "0x6387022345304b940b174288f310143ff835f4f5deadcf765c3f913d0a73312b", - "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", - "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff", - "0xf2d53313cb644399924bc7ac73566f895c847f1ba79f63bc95efa3f39ec7c40d" + "0x0000000000000000000000000000000000000000000000000000000000000003" ], - "storage_written": { - "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff": "0x64dfb7286a9e", - "0x6387022345304b940b174288f310143ff835f4f5deadcf765c3f913d0a73312b": "0x21979a35", - "0xf2d53313cb644399924bc7ac73566f895c847f1ba79f63bc95efa3f39ec7c40d": "0x0" - }, - "code_usage": { - "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" - } - }, - "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { "code_usage": { - "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" + "read": "0xa5a286be4b80006cc547d7e899871aa01a0e0551e2a509233375405f92098c2f" } }, - "0xf326e4de8f66a0bdc0970b79e0924e33c79f1915": { - "balance": "0x9b8ce5c209958c2991", + "0x556b9306565093c855aea9ae92a594704c2cd59e": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000" + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0xf68cd560cd5285fa96f176cf0d55ce2f05178e0b25aac465f04891d21bfb0c8b", + "0x8819ef417987f8ae7a81f42cdfb18815282fe989326fbff903d13cf0e03ace29", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x0000000000000000000000000000000000000000000000000000000000000010" ], "code_usage": { - "read": "0xaea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e5" + "read": "0x2639400c39e352e43ee2ce7027e932a47519a7037b663011a86b781039440aa8" } }, - "0xfb3699866dd474dfbf0b133c5cefc42e0cc96cbf": { - "balance": "0xd554e5e573cea4c", - "nonce": "0x4d" - }, - "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640": { + "0x6ca298d2983ab03aa1da7679389d955a4efee15c": { "storage_read": [ "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000010008", + "0x0000000000000000000000000000000000000000000000000000000000000019", + "0x0000000000000000000000000000000000000000000000000000000000000001", "0x0000000000000000000000000000000000000000000000000000000000000002", - "0xad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3" + "0xb25964255d31acb7213670e7a6fd4d2d64eecc9d81dbb25e25f2301584d95b53", + "0x0000000000000000000000000000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000004" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10002d302d300390300b5000000000000493ec5afb9df5a3dd669848922ce", - "0x0000000000000000000000000000000000000000000000000000000000000002": "0xe7fde79f619177c3030e30adc65f3741611" + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x7800780010fd00f6000000000000000000039216fd3cbff5482bcd92", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x10d480d48", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x1e31fd5f8000000000000000025a24a5b7d72f03b", + "0x0000000000000000000000000000000000000000000000000000000000000019": "0x1000000000000003263199759beddb92a84c36601fff9c80e5c71746632d06b", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x1353e912a8f41a6bf3ecabcdba08546f6ad" }, "code_usage": { - "read": "0xa981b66c747a3d9fa29d7e200d5faaa2826960523d0e5a0df8148e8868c480b4" + "read": "0xd326effefb0513ab9d8d70ef279db845f69cc55df3b141bdb06ef5d92de293cd" } }, - "0x7cdf68ce9a05413cbb76cb7f80eaf415a826e313": { + "0x292fcdd1b104de5a00250febba9bc6a5092a0076": { + "storage_read": [ + "0x8ce11307456602b10016c9ce1d034a0974e5a2675926dea522a72757475d9dc0", + "0xc13f44b40b71696a1ba1e50b6e8fb09be7db427549615c271c38d9255d13d7ed", + "0x0000000000000000000000000000000000000000000000000000000000000020", + "0x000000000000000000000000000000000000000000000000000000000000001b", + "0x000000000000000000000000000000000000000000000000000000000000001e", + "0xe7e91dfcf19795d38a85df0cf09c46a519257a8f34bfae9d1da8bd186b880746", + "0x000000000000000000000000000000000000000000000000000000000000001c", + "0x0000000000000000000000000000000000000000000000000000000000000021", + "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x257832c8039ed0cd786cd057d2e222f715b794429749096750d571428cf566f7", + "0xef71a23bf5d127eb05d9334b2b6cbd31e25b7fbdbaaef708e60f1d822b05eb70", + "0x000000000000000000000000000000000000000000000000000000000000001a", + "0x0000000000000000000000000000000000000000000000000000000000000022", + "0x000000000000000000000000000000000000000000000000000000000000001f", + "0x470194f135c4b6ff35acfad7330d3fc88584b7432921ca28ff6d472af426a1aa", + "0x000000000000000000000000000000000000000000000000000000000000001d", + "0x8372d7f2e58c2dc1f2d0838d3bc7bdeebd3ff3e339973dc0866d35e20f9df54b", + "0xc3507e8b30b5c9ff4e45c60b134481179c12973e18398092855e166aae56bd0f" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000001f": "0x5fa545aecdd2dd7efcda", + "0x0000000000000000000000000000000000000000000000000000000000000021": "0x0", + "0x0000000000000000000000000000000000000000000000000000000000000022": "0x0", + "0x470194f135c4b6ff35acfad7330d3fc88584b7432921ca28ff6d472af426a1aa": "0x5fa545aecdd2dd7efcda", + "0xc3507e8b30b5c9ff4e45c60b134481179c12973e18398092855e166aae56bd0f": "0xffffffffffffffffffffffffffffffffffffffffffd953defd0e8d66c16257ff", + "0x0000000000000000000000000000000000000000000000000000000000000020": "0x0", + "0x8372d7f2e58c2dc1f2d0838d3bc7bdeebd3ff3e339973dc0866d35e20f9df54b": "0x456e866500771572c11984b", + "0xe7e91dfcf19795d38a85df0cf09c46a519257a8f34bfae9d1da8bd186b880746": "0x0" + }, "code_usage": { - "read": "0xa873be03126d64946ef888d2b014036c8271d0d781aec7f91ab85a56f6e1e44c" + "read": "0x9302f2f590375cd85de3b3481b12ea3b26576eb8c408158689206ee8b7e80321" } - } - }, - "meta": { - "byte_code": "0x02f9033c014c840125fe0c850c6d6d86e28303a87594881d40237659c251811cec9c364ef91dc08d300c8802c68af0bb140000b902c65f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136f6e65496e6368563546656544796e616d69630000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000002c053531ab8a0000000000000000000000000000000000000000000000000000000000020e566b700000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000006379da05b6000000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8e449022e00000000000000000000000000000000000000000000000002c053531ab8a0000000000000000000000000000000000000000000000000000000000020e566b600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640ab4991fe00000000000000000000000000000000000000000000000000efc001a0c24b7b1415987fb62cbb19c3a289d41f6aa0ea676beea158e04cd3b1702d47b2a00d0db965515881e9e7c91af51d7d1ff0c99a441e7844d377e644d3e4e6631713", - "new_txn_trie_node_byte": "0x02f9033c014c840125fe0c850c6d6d86e28303a87594881d40237659c251811cec9c364ef91dc08d300c8802c68af0bb140000b902c65f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136f6e65496e6368563546656544796e616d69630000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000002c053531ab8a0000000000000000000000000000000000000000000000000000000000020e566b700000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000006379da05b6000000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8e449022e00000000000000000000000000000000000000000000000002c053531ab8a0000000000000000000000000000000000000000000000000000000000020e566b600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640ab4991fe00000000000000000000000000000000000000000000000000efc001a0c24b7b1415987fb62cbb19c3a289d41f6aa0ea676beea158e04cd3b1702d47b2a00d0db965515881e9e7c91af51d7d1ff0c99a441e7844d377e644d3e4e6631713", - "new_receipt_trie_node_byte": "0xb9057a02f9057601836cf66db9010000000000010000001000000000000000000000000800000000000000040000000000010000000000000018000000000002000020080028000000000000000000000000000000080808020008000000000000000000000000000004008000000000000000000000000000000000000001000000000000000000000010000800000000021000000000000000020000000000000001810000004020000000000000000000000000208000000040000004000000000000000000002000000008000000000002000000000000000000000000000000000000000000000000000000000020200000000000000410800000000000000000000000400001000000001000f9046bf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000000002c053531ab8a000f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000000000000000000000000000000000000021979a35f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a000000000000000000000000000000000000000000000000002c053531ab8a000f9011c9488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b8a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffde6865cb00000000000000000000000000000000000000000000000002c053531ab8a000000000000000000000000000000000000000493ec5afb9df5a3dd669848922ce00000000000000000000000000000000000000000000000066272911b059e9b600000000000000000000000000000000000000000000000000000000000300b5f87a94f326e4de8f66a0bdc0970b79e0924e33c79f1915f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000000000000000000000000000000006379da05b6000f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a0000000000000000000000000fb3699866dd474dfbf0b133c5cefc42e0cc96cbfa00000000000000000000000000000000000000000000000000000000021979a35f87b94881d40237659c251811cec9c364ef91dc08d300cf863a0beee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630da0f35f348d53012d52a5d39f9390d246956ac932d5778d2bb49e359dba4fa0896da0000000000000000000000000fb3699866dd474dfbf0b133c5cefc42e0cc96cbf80", - "gas_used": 196788 - } - }, - { - "traces": { - "0xd5cf10f95c3ebee4da7bf8e404373ec52f8078dd": { - "balance": "0x118b396505044af", - "nonce": "0x17e" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661e32bc409f700" }, - "0xe92344b4edf545f3209094b192e46600a19e7c2d": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { "storage_read": [ - "0x8341d98412448826d5dcb747600a4620f3a2413ca6f263d5864939b40430a374", - "0x3246265b7211dec34d8388f4d68be20265c9d5d68fb13c4937ff42de22df9270", - "0x0a2dc8b88a6b50984b0f69a393e585b8dcaf10f81cdf77e39a78c66362cb48e6", - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x57629634bab91b774aa5dc53c6eaa3d41a407f2cf926ec8dba215bc5578c95fe", - "0xee1b29a26aa907637a683156d87ff0e70004c986efdd74f5c6bb5b8696edd3dc", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0xd997b45c2dfc5f7a3cac6b4961a12879a32b6e94cca2b52dbf698b5c69231616", - "0xd93098a1ef0976a66ec301a45c3b3971a93b04d7d4884fd56c3fee82e91e52b9", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x000000000000000000000000000000000000000000000000000000000000000e", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0a052f88da135fe1a7e66421535ade2e03bc45f39788162e78eccf9d16843721", + "0x9951e5c97f68238701a07028be91c5ba29bde0c65662546c454bab615c93f76a", + "0xc565b8467ed0be432a896df92668a8397c5e16b4f50e6c53d4929ca811966139" + ], + "storage_written": { + "0x0a052f88da135fe1a7e66421535ade2e03bc45f39788162e78eccf9d16843721": "0x27751d037b777a993d", + "0xc565b8467ed0be432a896df92668a8397c5e16b4f50e6c53d4929ca811966139": "0x6485ab4081df2b3bae", + "0x9951e5c97f68238701a07028be91c5ba29bde0c65662546c454bab615c93f76a": "0x1" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0xb90b5cdcda7eb9ba5c71e1e02fd0be64e6794295d7191cc2befbf533c2cf6dbc", + "0xa400b48310435fef768ed7601abd8c6a92d820d09c7df3c85f661f979e9a180c", + "0xaf84615269e4c08821648b1d941bf1042922822c1299f86fc1840c3695742168", "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x39e2f25a4aaa4e7bdfd260ed685c4fd4a1573e5d19b31d2eec611e65094b8d3d", - "0x533bfb1972aba7690d0703b0ee6348f7a707e9c24e540125ac70c8ea2595d339" + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x125617aba6520df91ba2f6482cb0f4289d91d40d63d800e4260764bc629f6b28", + "0xe055eaddfb90f94fdeb9155eb6ec6b399cdb79d166675dffc521dac5e82c0425" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000013": "0x10d67640b9cd7739045", - "0x39e2f25a4aaa4e7bdfd260ed685c4fd4a1573e5d19b31d2eec611e65094b8d3d": "0x1c101a6be056715f078", - "0x0000000000000000000000000000000000000000000000000000000000000012": "0xb39a42b2688fa2602d", - "0xee1b29a26aa907637a683156d87ff0e70004c986efdd74f5c6bb5b8696edd3dc": "0x1e0fda251f56716ef9d", - "0x57629634bab91b774aa5dc53c6eaa3d41a407f2cf926ec8dba215bc5578c95fe": "0x1fbf914aa2bed3e1643cc" + "0xe055eaddfb90f94fdeb9155eb6ec6b399cdb79d166675dffc521dac5e82c0425": "0x0", + "0x125617aba6520df91ba2f6482cb0f4289d91d40d63d800e4260764bc629f6b28": "0x90c4d16655d", + "0xa400b48310435fef768ed7601abd8c6a92d820d09c7df3c85f661f979e9a180c": "0x1429eddf5e" }, "code_usage": { - "read": "0x2acafadad0bb5e27a949616a1c0c10a0c50749f917b11bfe9a5b3beba60eb087" + "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" } }, - "0x315ed60258702f8d159b98df4c0dbeb1d7d776df": { + "0xf07a84f0732dfe8eea0d3961bcd8f62c761ff508": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", "0x000000000000000000000000000000000000000000000000000000000000000c", "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007" + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000008" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x2ca854e6221b1ef1e943022189e0730e37a3190", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de700000001fbf914aa2bed3e1643cc0000000000054baf9ff7e45d01c4", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x5c2140a2ca028b64881524b7605e9da87a87f0bc", "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x635390c20daeaa6aaae03d1d73f80" + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x15ea8d9d507013a6810d88a0c3a20", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000027751d037b777a993d00000456e866500771572c11984b" }, "code_usage": { "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" } }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d431361001a12" + } + }, + "meta": { + "byte_code": "0x02f902f701825eb0834a01508501451662bf83055cbd94111111125421ca6dc452d289314280a0f8842a6580b9028807ed2379000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000292fcdd1b104de5a00250febba9bc6a5092a0076000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000f07a84f0732dfe8eea0d3961bcd8f62c761ff50800000000000000000000000073fb1d96a144efdb278e123a17c79d63cd67d11f00000000000000000000000000000000000000000001aad8725b71e49b43500000000000000000000000000000000000000000000000000000000000b714b83d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000001080000da00a007e5c0d20000000000000000000000000000000000000000000000000000b600005300206ae4071198002dc6c0f07a84f0732dfe8eea0d3961bcd8f62c761ff5080000000000000000000000000000000000000000000000000000000000000001292fcdd1b104de5a00250febba9bc6a5092a007602a00000000000000000000000000000000000000000000000000000000000000001ee63c1e5816ca298d2983ab03aa1da7679389d955a4efee15cc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2111111125421ca6dc452d289314280a0f8842a650020d6bdbf78dac17f958d2ee523a2206206994597c13d831ec7111111125421ca6dc452d289314280a0f8842a650000000000000000000000000000000000000000000000000000e26b9977c001a0527e4cbc8ffe0914be98af998421ea4a2420eb103cdc926597cfa18dce42ec35a06cd0d63b8bc58ed06c49fe5c82cfa7723cadd5b2472e0a3da340e9698afd3c62", + "new_txn_trie_node_byte": "0x02f902f701825eb0834a01508501451662bf83055cbd94111111125421ca6dc452d289314280a0f8842a6580b9028807ed2379000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000292fcdd1b104de5a00250febba9bc6a5092a0076000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000f07a84f0732dfe8eea0d3961bcd8f62c761ff50800000000000000000000000073fb1d96a144efdb278e123a17c79d63cd67d11f00000000000000000000000000000000000000000001aad8725b71e49b43500000000000000000000000000000000000000000000000000000000000b714b83d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000001080000da00a007e5c0d20000000000000000000000000000000000000000000000000000b600005300206ae4071198002dc6c0f07a84f0732dfe8eea0d3961bcd8f62c761ff5080000000000000000000000000000000000000000000000000000000000000001292fcdd1b104de5a00250febba9bc6a5092a007602a00000000000000000000000000000000000000000000000000000000000000001ee63c1e5816ca298d2983ab03aa1da7679389d955a4efee15cc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2111111125421ca6dc452d289314280a0f8842a650020d6bdbf78dac17f958d2ee523a2206206994597c13d831ec7111111125421ca6dc452d289314280a0f8842a650000000000000000000000000000000000000000000000000000e26b9977c001a0527e4cbc8ffe0914be98af998421ea4a2420eb103cdc926597cfa18dce42ec35a06cd0d63b8bc58ed06c49fe5c82cfa7723cadd5b2472e0a3da340e9698afd3c62", + "new_receipt_trie_node_byte": "0xb9083202f9082e018386ff4fb9010000200040000001000000002080000000000000000000004000000000000000000000000000000080000000000002010002000008080000000000800000220000040000000240000000000208000000200000000000000000000000000000008000000000004000000000000000000000000000010000000202000014000000000000000000000000000000000000000000000000000000080000004000100000020000000000000000040080000000000022000000000000000020000100000000000002000000000000000000000000000000000000001000000004000000000010200000000000000000000000000000010008000004000000000000000040f90723f89b94292fcdd1b104de5a00250febba9bc6a5092a0076f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000073fb1d96a144efdb278e123a17c79d63cd67d11fa0000000000000000000000000292fcdd1b104de5a00250febba9bc6a5092a0076a00000000000000000000000000000000000000000000015579f515f4b6e29c400f89b94292fcdd1b104de5a00250febba9bc6a5092a0076f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000073fb1d96a144efdb278e123a17c79d63cd67d11fa0000000000000000000000000f07a84f0732dfe8eea0d3961bcd8f62c761ff508a0000000000000000000000000000000000000000000019580d30a12992d198c00f89b94292fcdd1b104de5a00250febba9bc6a5092a0076f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000073fb1d96a144efdb278e123a17c79d63cd67d11fa0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a0ffffffffffffffffffffffffffffffffffffffffffd953defd0e8d66c16257fff89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f07a84f0732dfe8eea0d3961bcd8f62c761ff508a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000000000000000000000000000000e614afb98c0a008f87994f07a84f0732dfe8eea0d3961bcd8f62c761ff508e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000456e866500771572c11984b000000000000000000000000000000000000000000000027751d037b777a993df8fc94f07a84f0732dfe8eea0d3961bcd8f62c761ff508f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09b880000000000000000000000000000000000000000000019580d30a12992d198c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e614afb98c0a008f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15ca0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a000000000000000000000000000000000000000000000000000000000b743a2a5f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000006ca298d2983ab03aa1da7679389d955a4efee15ca00000000000000000000000000000000000000000000000000e614afb98c0a008f9015c946ca298d2983ab03aa1da7679389d955a4efee15cf863a019b47279256b2a23a1665c810c8d55a1758940ee09377d4f8d26497a3577dc83a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65b8e00000000000000000000000000000000000000000000000000e614afb98c0a008ffffffffffffffffffffffffffffffffffffffffffffffffffffffff48bc5d5b000000000000000000000000000000000000000000039216fd3cbff5482bcd920000000000000000000000000000000000000000000000000948b5c5e756f5b1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd00f60000000000000000000000000000000000000000000000000000a035b9d9439c0000000000000000000000000000000000000000000000000000000000000000f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a000000000000000000000000073fb1d96a144efdb278e123a17c79d63cd67d11fa000000000000000000000000000000000000000000000000000000000b743a2a5", + "gas_used": 286047 + } + }, + { + "traces": { + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0xb97c30b0519116af6cd60e519ad6289c1aea12e37c77df38359964a88e0e3600", + "0xcc259897d42946d101e23237f2141d4c8c9d7c6ab56d72413290a4da7a53e4c4" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0xcc259897d42946d101e23237f2141d4c8c9d7c6ab56d72413290a4da7a53e4c4": "0x1", + "0xb97c30b0519116af6cd60e519ad6289c1aea12e37c77df38359964a88e0e3600": "0x4b168ffd1b8ea18f9571e33e08d78fd578d70d8b" }, "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0xaeff36b089c9b2ec05558baf67df508c5b6865c0": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { "storage_read": [ - "0xcd37ef46d96572431b4a1d6408f396d17f7e6c332bfd27e47aad421911500b26" + "0xe9a888a62f0dae8ea58b3329521bc51279a7f58dff1f566adc48e998c165bfdc", + "0x9ddff2985770e200960dd50261e47f98c5fa9b956d387432f785b8f16d50cf8d", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], + "storage_written": { + "0x9ddff2985770e200960dd50261e47f98c5fa9b956d387432f785b8f16d50cf8d": "0x1", + "0xe9a888a62f0dae8ea58b3329521bc51279a7f58dff1f566adc48e998c165bfdc": "0x1" + }, "code_usage": { - "read": "0x7aed212dc0d89158c7f50d67b57ff68d7520ae7ee065af7efb905df87c6d3b7a" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x2986940aad212185a8912", + "0x4b168ffd1b8ea18f9571e33e08d78fd578d70d8b": { + "balance": "0xc97235d9f621c", + "nonce": "0x3" + }, + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0x57629634bab91b774aa5dc53c6eaa3d41a407f2cf926ec8dba215bc5578c95fe" + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c" ], - "storage_written": { - "0x57629634bab91b774aa5dc53c6eaa3d41a407f2cf926ec8dba215bc5578c95fe": "0x54baf9ff7e45d01c4", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" - }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } - } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d43395a384dd2" + }, + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } + }, + "0x0000000000000000000000000000000000000001": {}, + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {} }, "meta": { - "byte_code": "0x02f902fc0182017d840122fe118509dea717e98303f90c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad88054607fc96a60000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf601b00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000054607fc96a6000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000054607fc96a600000000000000000000000000000000000000000000000001c9b1b24e865f06f0ea00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000e92344b4edf545f3209094b192e46600a19e7c2dc001a0b0e2818c6de93c2a928479e707144e52df85fc166b6de719226b0f7c51f88bcaa034f48dc52d35cbd5692edd49d877d22cfb5143d80e552bbd5b6b69cfc8518b84", - "new_txn_trie_node_byte": "0x02f902fc0182017d840122fe118509dea717e98303f90c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad88054607fc96a60000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf601b00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000054607fc96a6000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000054607fc96a600000000000000000000000000000000000000000000000001c9b1b24e865f06f0ea00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000e92344b4edf545f3209094b192e46600a19e7c2dc001a0b0e2818c6de93c2a928479e707144e52df85fc166b6de719226b0f7c51f88bcaa034f48dc52d35cbd5692edd49d877d22cfb5143d80e552bbd5b6b69cfc8518b84", - "new_receipt_trie_node_byte": "0xb904db02f904d701836fd9a3b9010000200000000000000020000188000000000000000000000000000000000000000000000000000000400000000000000002000000180000800000000000000800000000080000000000000008000040200000008000000008000000008020000000000000000000000000000000000000000000000000000000020010000000000000000000000000000000000000000000000001000000080000004000000000000000000000000000000000000000000000000040000000000000000000000000000002000000000000000000000000000000000000001000000000000000000001200000100000000000000000020000001000000000400000000000000000f903ccf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000000054607fc96a60000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000315ed60258702f8d159b98df4c0dbeb1d7d776dfa0000000000000000000000000000000000000000000000000054607fc96a60000f89b94e92344b4edf545f3209094b192e46600a19e7c2df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000315ed60258702f8d159b98df4c0dbeb1d7d776dfa0000000000000000000000000e92344b4edf545f3209094b192e46600a19e7c2da000000000000000000000000000000000000000000000001950b7b378b4956aedf89b94e92344b4edf545f3209094b192e46600a19e7c2df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000315ed60258702f8d159b98df4c0dbeb1d7d776dfa0000000000000000000000000d5cf10f95c3ebee4da7bf8e404373ec52f8078dda00000000000000000000000000000000000000000000001e0fda251f56716ef9df87994315ed60258702f8d159b98df4c0dbeb1d7d776dfe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000054baf9ff7e45d01c400000000000000000000000000000000000000000001fbf914aa2bed3e1643ccf8fc94315ed60258702f8d159b98df4c0dbeb1d7d776dff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000d5cf10f95c3ebee4da7bf8e404373ec52f8078ddb880000000000000000000000000000000000000000000000000054607fc96a60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001fa4e5a056e1bac5a8a", - "gas_used": 189238 + "byte_code": "0x02f902910102830f42408501836e21008302adc594aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000193fe0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d3700000000000193fe00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3d500000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000415b8769f35f70eed1bf5fc753e880564ebdef3eb15c4904bc233dcaf5d6407f712d52183984aec088be9a91fd111b18d00d0e77145a087041f267b85b6765d76b1b00000000000000000000000000000000000000000000000000000000000000c080a057eec9336bbee2f2877a13d848688104af3da96bb894c10419d07755dc39dfa4a061cd2c717599eb71a108be720fcd1477293ac8e9821ac1fc80b598a4dc6e5943", + "new_txn_trie_node_byte": "0x02f902910102830f42408501836e21008302adc594aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000193fe0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d3700000000000193fe00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3d500000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000415b8769f35f70eed1bf5fc753e880564ebdef3eb15c4904bc233dcaf5d6407f712d52183984aec088be9a91fd111b18d00d0e77145a087041f267b85b6765d76b1b00000000000000000000000000000000000000000000000000000000000000c080a057eec9336bbee2f2877a13d848688104af3da96bb894c10419d07755dc39dfa4a061cd2c717599eb71a108be720fcd1477293ac8e9821ac1fc80b598a4dc6e5943", + "new_receipt_trie_node_byte": "0xb902cd02f902c90183897c66b9010000000000000000000000000000000000000000000000200000000000000002008000000000000000000000000000000000000000000000040000000000000000000200000000000000000208000000100000000000000000000000000000000000000000020000000000000000000800000000000000000008000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000000000000000000000002000001000000000040000000002008000001000000000002004000000000000000000000000000020000000000000000000000000000000000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000004b168ffd1b8ea18f9571e33e08d78fd578d70d8ba000000000000000000000000000000000000000000000000000000000000193fe80f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca00000000000000000000000004b168ffd1b8ea18f9571e33e08d78fd578d70d8ba0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a000000000000000000000000000000000000000000000000000000000000193feb880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0xd420d5f24225702a68ddf21242d5eef816dc2e6d": { + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" ], - "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x1f35f8aad776efb03a52998d6ea946196195210b4", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1ee3f7a3b48624a4ee0778c1b8", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de70000000000070ae706a0738a6c050001ad31955341f982107533995d" - }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661e516d7989b66" + "0x337884c5258eddf1e63c4fe7ea81e0a3ace02da1": { + "balance": "0xc967ead4beb60", + "nonce": "0x3" }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, + "0x0000000000000000000000000000000000000001": {}, + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" } }, - "0x4f6cca0012f6351624308b32c05b615c972d8778": { - "balance": "0xe365ce647833a3", - "nonce": "0x9f" - }, - "0x6d7497751656618fc38cfb5478994a20f7e235df": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { "storage_read": [ - "0x06f2d416dbb28fdf9236371c80e1e935c3502d4bdff785af6bfb466b9f35b1cb", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897" + "0x6f2bdc39dc154ccfa1fdb9f13de0442004ad98c43047218f982aa835a35ed95b", + "0x339b27973b5f46cdec0090d6e584d51d5530131e6a3a795d969d2a04cfe6ef06", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897": "0x1ad31955341f982107533995d", - "0x06f2d416dbb28fdf9236371c80e1e935c3502d4bdff785af6bfb466b9f35b1cb": "0xb03de3b6cb77ab3d6d7c5ec" + "0x339b27973b5f46cdec0090d6e584d51d5530131e6a3a795d969d2a04cfe6ef06": "0x1", + "0x6f2bdc39dc154ccfa1fdb9f13de0442004ad98c43047218f982aa835a35ed95b": "0x1" }, "code_usage": { - "read": "0x4123f56d86f276e684177a9b98a18f2f9d66d40208c423fe55b0e5c8f9d53abd" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298694637e7f38e828912", + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c" + "0x241a6a886b3b6056343d6aa9fed3e52a243e24055bd953378add0285b21491a4", + "0x313d5758acc91f8427b99f457bc08f8eebc7d296ddfed6f2b6a316cae3ec0932", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d" ], "storage_written": { - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c": "0x70ae706a0738a6c05", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" + "0x313d5758acc91f8427b99f457bc08f8eebc7d296ddfed6f2b6a316cae3ec0932": "0x1", + "0x241a6a886b3b6056343d6aa9fed3e52a243e24055bd953378add0285b21491a4": "0x337884c5258eddf1e63c4fe7ea81e0a3ace02da1" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d435f52b96692" } }, "meta": { - "byte_code": "0x02f902fb01819e840122fe118509dea717e9830258cd943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad88058d15e176280000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf602700000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000058d15e17628000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000014bc5f59ab45391cf209f8700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006d7497751656618fc38cfb5478994a20f7e235dfc080a0c11954407365c9868f2d19df5657b1e96ca772acfba93a7aa85253c4404a17c7a06ddd5898f9a354c943816adbe044621a441f4456d635e027ff05b9b81614d148", - "new_txn_trie_node_byte": "0x02f902fb01819e840122fe118509dea717e9830258cd943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad88058d15e176280000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf602700000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000058d15e17628000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000014bc5f59ab45391cf209f8700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006d7497751656618fc38cfb5478994a20f7e235dfc080a0c11954407365c9868f2d19df5657b1e96ca772acfba93a7aa85253c4404a17c7a06ddd5898f9a354c943816adbe044621a441f4456d635e027ff05b9b81614d148", - "new_receipt_trie_node_byte": "0xb9043e02f9043a01837189a9b9010000200000000000000000000080000000000000000000000000000000000000000000000000000000000020000000000002000000080000000000000020000000000000080000000000000008000000200080000000000000000000008020000000000000000000000000000000000000000000000000000000000010000000000000000000000000000020000200000000000001000800080000004000000000000000001000000000000000000000001000000000000000000000000000000000000002000000000000000000000000000000000000001000000000000000000100200000000000022000000000000000001000000000400000000000000020f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000000058d15e176280000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da0000000000000000000000000000000000000000000000000058d15e176280000f89b946d7497751656618fc38cfb5478994a20f7e235dff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da00000000000000000000000004f6cca0012f6351624308b32c05b615c972d8778a00000000000000000000000000000000000000000015253858d45f9fd1ed7c5ecf87994d420d5f24225702a68ddf21242d5eef816dc2e6de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000001ad31955341f982107533995d0000000000000000000000000000000000000000000000070ae706a0738a6c05f8fc94d420d5f24225702a68ddf21242d5eef816dc2e6df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000004f6cca0012f6351624308b32c05b615c972d8778b8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000015253858d45f9fd1ed7c5ec0000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 110598 + "byte_code": "0x02f902910102830f42408501836e21008302adb994aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000194080000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001940800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3d700000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041d97f00d7d9d2d97ed75f08800cad12384a0e0aca63488e580ca1ffed3875c8ea4c70c98af4dcac8ace5494dd7c354a3aa34a55709709fae047497642078b2f461c00000000000000000000000000000000000000000000000000000000000000c001a0834ea984e3e6b45a53c19e89a154451cf2fe7318d84eb4bba54b7949d4bab4b5a06af9dccf69c243a745dbfd8acf951ab0de63da3a070436bce9867caeee50df70", + "new_txn_trie_node_byte": "0x02f902910102830f42408501836e21008302adb994aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000194080000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001940800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3d700000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041d97f00d7d9d2d97ed75f08800cad12384a0e0aca63488e580ca1ffed3875c8ea4c70c98af4dcac8ace5494dd7c354a3aa34a55709709fae047497642078b2f461c00000000000000000000000000000000000000000000000000000000000000c001a0834ea984e3e6b45a53c19e89a154451cf2fe7318d84eb4bba54b7949d4bab4b5a06af9dccf69c243a745dbfd8acf951ab0de63da3a070436bce9867caeee50df70", + "new_receipt_trie_node_byte": "0xb902cd02f902c901838bf971b9010000000000000000000000000000000000000000000000200000000000000002008000000000000000000000001200400000000000000000000000000000000000000100000040000000000008000000100000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000000000000000000000000000001000000000000000000002008000001000000000002004000000000800000000000000000020000000000000000000000000000000000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000337884c5258eddf1e63c4fe7ea81e0a3ace02da1a0000000000000000000000000000000000000000000000000000000000001940880f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000337884c5258eddf1e63c4fe7ea81e0a3ace02da1a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a00000000000000000000000000000000000000000000000000000000000019408b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163083 } }, { "traces": { - "0xe87e0bea804e92165e0e4f6d8dad5cdc0515b960": { - "balance": "0x13c38893186601", - "nonce": "0xba" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d436a16117152" }, - "0x5e809a85aa182a9921edd10a4163745bb3e36284": { - "balance": "0x1086ce43789dbfed9" + "0xe4b82be18d7918d41893de948fc0a9d9fe6e9464": { + "balance": "0x144a357928cae", + "nonce": "0x6" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661e5741611fdee" - } - }, - "meta": { - "byte_code": "0x02f8730181b9840122fe118509a1f70624825208945e809a85aa182a9921edd10a4163745bb3e362848705dcaa8fe1200280c001a0cc4fd7e1c69a27ce653a9847d16b6491b1c9dda6c1f622c9d666dd4eee42391ea0648460a26edaba37b0836167231eab25318ed5417a9e9e998ff598e57cd74994", - "new_txn_trie_node_byte": "0x02f8730181b9840122fe118509a1f70624825208945e809a85aa182a9921edd10a4163745bb3e362848705dcaa8fe1200280c001a0cc4fd7e1c69a27ce653a9847d16b6491b1c9dda6c1f622c9d666dd4eee42391ea0648460a26edaba37b0836167231eab25318ed5417a9e9e998ff598e57cd74994", - "new_receipt_trie_node_byte": "0xb9010d02f90109018371dbb1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x6a7eff1e2c355ad6eb91bebb5ded49257f3fed98": { - "storage_read": [ - "0xe6f3e0675753a4852b1bf9818150c60f8fd27909243230757a7291ec2b623e33", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0a4b82134397be508fecf2a8a2d28292b4cc7e203474e57ff21a54bdd34b6cea", - "0x61277e6bf76894bd82aa5ff3dca42eb743f86f7a4929f7dc8bad61206db26535", - "0x2460d97178dcf0c657ae0abae02e498473826c8a9d51199e5497b1bc84788da5", - "0x01b1346f57f51d516f785a389b403c0be2ca03d786c1843af2929444bcaeffb7", - "0x9e2256b32f9c795c4779e18c14e27c2f96f3cc8d95a510477ed980cd45605ccc", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0xb87214b37313dd61a69ae186095adbad41535c3b6e73c35e27049b10a3c7da8e", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x4fe81637c3d38994a7384c78c46472feeba774a858245f46a946dce2450acc7d", - "0x74406a9c444c1a5d337c816e31eec5a0c2a5cfa814f2b530296cc1ddcc533170" - ], + "0xf091867ec603a6628ed83d274e835539d82e9cc8": { "storage_written": { - "0x74406a9c444c1a5d337c816e31eec5a0c2a5cfa814f2b530296cc1ddcc533170": "0x0", - "0x01b1346f57f51d516f785a389b403c0be2ca03d786c1843af2929444bcaeffb7": "0x571e42c4bc252822477" + "0xe2ae2f8cf5eb019ec5ba9ec3344f71b04b9c5c5fc82c40e3e46be660850a76b6": "0xde0b6b3a7640000" }, "code_usage": { - "read": "0x9ad3503ae369d056790440b1c9179bafb39c3f8beaadc77168cd60c0d4988e9a" + "read": "0x091368b4a4ca2a33eaea57b759f009499c1aea09c04f9faddbdf46752193d047" } - }, - "0x29b3b58eed8fdaa0661d420952a63b29c729aaa2": { - "balance": "0xe99afe14f15db", - "nonce": "0x40" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661e660582b1957" } }, "meta": { - "byte_code": "0x02f8b1013f840122fe118509dea717e983015546946a7eff1e2c355ad6eb91bebb5ded49257f3fed9880b844a9059cbb00000000000000000000000090a65a8254d7d17b435fc4b2fcaa13cde0e0a262000000000000000000000000000000000000000000000133787e4d1d00248e83c001a0862db5ab717a19bed28d087c02c9b31a4230763fea24b4b78f2cf98db4d9bd98a070c9034cb5ea86b408a73f77a79e0a919852b71e68720505fe8e2ebd3b7db519", - "new_txn_trie_node_byte": "0x02f8b1013f840122fe118509dea717e983015546946a7eff1e2c355ad6eb91bebb5ded49257f3fed9880b844a9059cbb00000000000000000000000090a65a8254d7d17b435fc4b2fcaa13cde0e0a262000000000000000000000000000000000000000000000133787e4d1d00248e83c001a0862db5ab717a19bed28d087c02c9b31a4230763fea24b4b78f2cf98db4d9bd98a070c9034cb5ea86b408a73f77a79e0a919852b71e68720505fe8e2ebd3b7db519", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018372ab8ab9010000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000001000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000001000000000000000000000000000000000000000000000000000000000000000000000000000000001080000000000000000000000000000000000000000000001001000002000000000000000000000000000000000800000000000000010000000000000000000000000000000000000000000000000000000000000000000000f89df89b946a7eff1e2c355ad6eb91bebb5ded49257f3fed98f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000029b3b58eed8fdaa0661d420952a63b29c729aaa2a000000000000000000000000090a65a8254d7d17b435fc4b2fcaa13cde0e0a262a0000000000000000000000000000000000000000000000133787e4d1d00248e83", - "gas_used": 53209 + "byte_code": "0x02f8af0105830f4240850135b364b882b61194f091867ec603a6628ed83d274e835539d82e9cc880b844095ea7b3000000000000000000000000000007cf399229b2f5a4d043f20e90c9c98b7c6a0000000000000000000000000000000000000000000000000de0b6b3a7640000c080a0d0770a8af61b52b654ff4f25f74b182e4e2f4f67bb50bad24dd7161a67360d9aa07d05c651165fddc762875a8173b6a6a921f6aa87e42412c2f989ebbc7f5d9d26", + "new_txn_trie_node_byte": "0x02f8af0105830f4240850135b364b882b61194f091867ec603a6628ed83d274e835539d82e9cc880b844095ea7b3000000000000000000000000000007cf399229b2f5a4d043f20e90c9c98b7c6a0000000000000000000000000000000000000000000000000de0b6b3a7640000c080a0d0770a8af61b52b654ff4f25f74b182e4e2f4f67bb50bad24dd7161a67360d9aa07d05c651165fddc762875a8173b6a6a921f6aa87e42412c2f989ebbc7f5d9d26", + "new_receipt_trie_node_byte": "0xb901ab02f901a701838cae04b9010000000000000000000000000000200000001000000000000000000000000000000000000000000000000000000000000008000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000100000400000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000100000000000000000000000000000010000000000000000000000000000000000000000000000000002000000000f89df89b94f091867ec603a6628ed83d274e835539d82e9cc8f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000e4b82be18d7918d41893de948fc0a9d9fe6e9464a0000000000000000000000000000007cf399229b2f5a4d043f20e90c9c98b7c6aa00000000000000000000000000000000000000000000000000de0b6b3a7640000", + "gas_used": 46227 } }, { "traces": { - "0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc": { + "0x8ef79d6c328c25da633559c20c75f638a4863462": { "storage_read": [ "0x0000000000000000000000000000000000000000000000000000000000000008", "0x000000000000000000000000000000000000000000000000000000000000000c", @@ -4454,1889 +5537,1609 @@ "0x000000000000000000000000000000000000000000000000000000000000000a" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de700000000041e2adf525232aa598c0000000000000000323550b80273", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x395c94eea9e9ae276198b3871e9e", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x197cc447a9eea32778d0f65842b308360f6791f890c", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x45f8b7d613c9bfd1d641b7665ac23cec1073cf8ff85d", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000021fc698e8cad4313e9025782dbf3cfe5d3fe244ded27bb", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x6a37999d3166bee15cb08c83eb" }, "code_usage": { "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" } }, - "0xfc44f80c94cc129f618cb9c756000972e775cbd1": { + "0xe37e799d5077682fa0a244d46e5649f71457bd09": { "code_usage": { - "read": "0x0055a95c67815eff5d08766447c5ff1c437efcc043b616efbaa22e104c6633d4" + "read": "0xd471a60f6c7d3be7f423430564405669d08ee2006e9ae4203a9aac81e8474402" } }, - "0x66ea948cf923f8b878126b021a347033ce0dea2f": { - "balance": "0x10edad4defceb36", + "0x5b24e9d98945514b6cc699beeea37b00805821c4": { + "balance": "0x1d2430159edb5", "nonce": "0x5" }, - "0x8c894d91748a42fc68f681090db06720779a7347": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d438d6f2f8a12" + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b8199f28efbfe88cc26", "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009" + "0x9951e5c97f68238701a07028be91c5ba29bde0c65662546c454bab615c93f76a", + "0x6f9a009c201b6b965e2b9a0532aa38a4a2d17296107d593d5ccd2be113f8b9f7" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000009": "0xa83edc6117cd3e3e5ed1c4b71158108", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x321ea4b15c02af077ecebac0f70da57de23c4", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de700000000000e4cdc9d8b979a4bfa00000001df105869650dd90432e7" + "0x6f9a009c201b6b965e2b9a0532aa38a4a2d17296107d593d5ccd2be113f8b9f7": "0x21fc698e8cad4313e9", + "0x9951e5c97f68238701a07028be91c5ba29bde0c65662546c454bab615c93f76a": "0x1" }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x000000000022d473030f116ddee9f6b43ac78ba3": { + "0x382ffce2287252f930e1c8dc9328dac5bf282ba1": { + "balance": "0x6d2296fbf96c9d5f" + }, + "0x1111111254eeb25477b68fb85ed929f73a960582": { + "code_usage": { + "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" + } + }, + "0xa71d0588eaf47f12b13cf8ec750430d21df04974": { "storage_read": [ - "0x4f984a5ad703127250c4f230a299792bd437fae3dce98fcf5284065fa578d227" + "0xef4fe9a1ffa80ff64a197381cac4918d1071dfe2fa571272a1db74cdb2cab0e8", + "0x50a4373c59aed14671fd3712712bbb543d3dde22caf7e11ca903775dcb867a9c", + "0x404b761ab4feabdbd4f598b82e35d02727c421eea2622ce7739cab2dfe33d407" ], "storage_written": { - "0x4f984a5ad703127250c4f230a299792bd437fae3dce98fcf5284065fa578d227": "0x1000065f6ead0ffffffffffffffffffffffffffffffffffffffff" + "0x404b761ab4feabdbd4f598b82e35d02727c421eea2622ce7739cab2dfe33d407": "0xfbdacd0acd74620360d6bf3", + "0x50a4373c59aed14671fd3712712bbb543d3dde22caf7e11ca903775dcb867a9c": "0x1", + "0xef4fe9a1ffa80ff64a197381cac4918d1071dfe2fa571272a1db74cdb2cab0e8": "0x25782dbf3cfe5d3fe244ded27bb" }, "code_usage": { - "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" + "read": "0x6ee560d3e6b1f881a8711e0be0b30a0e8e0cf8b915ce8f75ea05002126c94256" } + } + }, + "meta": { + "byte_code": "0x02f9031c0104830f42408501299c831c8302dd0e941111111254eeb25477b68fb85ed929f73a96058287e76b11f6169652b902a812aa3caf000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a71d0588eaf47f12b13cf8ec750430d21df04974000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd090000000000000000000000005b24e9d98945514b6cc699beeea37b00805821c400000000000000000000000000000000000000000000000000e76b11f616965200000000000000000000000000000000000000000f44c8e9228922bdf6fda8b50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011b0000000000000000000000000000000000000000fd00006e00005400004e802026678dcd0000000000000000000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba10000000000000000000000000000000000000000000000000002506e4275fc6200206b4be0b94041c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2d0e30db00c20c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28ef79d6c328c25da633559c20c75f638a48634626ae4071138002dc6c08ef79d6c328c25da633559c20c75f638a48634621111111254eeb25477b68fb85ed929f73a96058200000000000000000000000000000000000000000f44c8e9228922bdf6fda8b5c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000009a635db5c001a0113deb210bc5970973457a7896b14de1d1afea995df97d9d30bc2c06046e5dd4a0652830f5db071ce6bc86a8a47dddc9a5cd125f888b2378fe3d61c2cf3fbfb535", + "new_txn_trie_node_byte": "0x02f9031c0104830f42408501299c831c8302dd0e941111111254eeb25477b68fb85ed929f73a96058287e76b11f6169652b902a812aa3caf000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a71d0588eaf47f12b13cf8ec750430d21df04974000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd090000000000000000000000005b24e9d98945514b6cc699beeea37b00805821c400000000000000000000000000000000000000000000000000e76b11f616965200000000000000000000000000000000000000000f44c8e9228922bdf6fda8b50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011b0000000000000000000000000000000000000000fd00006e00005400004e802026678dcd0000000000000000000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba10000000000000000000000000000000000000000000000000002506e4275fc6200206b4be0b94041c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2d0e30db00c20c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28ef79d6c328c25da633559c20c75f638a48634626ae4071138002dc6c08ef79d6c328c25da633559c20c75f638a48634621111111254eeb25477b68fb85ed929f73a96058200000000000000000000000000000000000000000f44c8e9228922bdf6fda8b5c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000009a635db5c001a0113deb210bc5970973457a7896b14de1d1afea995df97d9d30bc2c06046e5dd4a0652830f5db071ce6bc86a8a47dddc9a5cd125f888b2378fe3d61c2cf3fbfb535", + "new_receipt_trie_node_byte": "0xb904db02f904d701838eff0fb9010000200000000001000000000080000000000080000000000000000000000000000040000000000000000000000000000082000040080000000000000080020000000000000000080000000008000000200000000000000000000000008000000000000000000000000000000000000000000000010000040000000010000000000000000000000000000000000000000008000001000000080000004000000000000000000000000000000000000004000000000000000000000000000000000000000002000008000000000000000000000000000000001000002000000000000000200000000000010402000000400000000000000000400000000000000000f903ccf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a000000000000000000000000000000000000000000000000000e51aa3b3a099f0f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000008ef79d6c328c25da633559c20c75f638a4863462a000000000000000000000000000000000000000000000000000e51aa3b3a099f0f89b94a71d0588eaf47f12b13cf8ec750430d21df04974f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008ef79d6c328c25da633559c20c75f638a4863462a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000fbdacd0acd74620360d6bf3f879948ef79d6c328c25da633559c20c75f638a4863462e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000025782dbf3cfe5d3fe244ded27bb000000000000000000000000000000000000000000000021fc698e8cad4313e9f8fc948ef79d6c328c25da633559c20c75f638a4863462f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e51aa3b3a099f000000000000000000000000000000000000000000fbdacd0acd74620360d6bf30000000000000000000000000000000000000000000000000000000000000000f89b94a71d0588eaf47f12b13cf8ec750430d21df04974f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000005b24e9d98945514b6cc699beeea37b00805821c4a000000000000000000000000000000000000000000fbdacd0acd74620360d6bf3", + "gas_used": 151819 + } + }, + { + "traces": { + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d43b36867bdd2" }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x06d0fbd6b8eac5182920f4a2a46d3be7a1a34becfbefee1804aa281a23226d19", + "0xb9183fe24e0ef3267a24a007f3f92d5776426a0a2ae760713d4b3ef47faf5e94", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0xb9183fe24e0ef3267a24a007f3f92d5776426a0a2ae760713d4b3ef47faf5e94": "0x1", + "0x06d0fbd6b8eac5182920f4a2a46d3be7a1a34becfbefee1804aa281a23226d19": "0x1" }, "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } }, "0x0000000000000000000000000000000000000001": {}, - "0x12ef10a4fc6e1ea44b4ca9508760ff51c647bb71": { + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x828e23f64af541991cf4d85d0a2c603ca79bde97dac26e0651e7ee4821a7b231", - "0xcceb3f3365173ae28721a7e502090dea830556fe216278f8d77d0bd60d94cfd8" + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd" ], - "storage_written": { - "0xcceb3f3365173ae28721a7e502090dea830556fe216278f8d77d0bd60d94cfd8": "0x6c6b935cd2cded7c9b", - "0x828e23f64af541991cf4d85d0a2c603ca79bde97dac26e0651e7ee4821a7b231": "0x1df105869650dd90432e7" - }, "code_usage": { - "read": "0x5e4dcb0bb1910f6429e5fe91678990088a51c6d1cfe1b31d05fb9d948cc7867c" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0x81b69b56c63e043848b61dbf780186647c0e0524f486e4b27e7fab4e993e7585", - "0xd3cb8d7fbc27ae7e14e7936edf3f5d429be16ef1c8562c69261302644f554337", - "0x28c0947f463362aab09a2d7896ccc847fb7e52633a16b978fb2caf3db1a9b8f8", - "0xb9d294b8ba19116a144d5b02ee8a7cf2d57717ca1061184d785ea6d0c602cfff", - "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", - "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0xfaff75758eafe0dedf2f1a6dba5e5b62baaec796c5c74e7a8164c5b4e4787d7d", + "0xc138dab35aa4504645799187a2e92e2228c5a14986c8521720ca64d3632ac320" ], "storage_written": { - "0xb9d294b8ba19116a144d5b02ee8a7cf2d57717ca1061184d785ea6d0c602cfff": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8564715", - "0xd3cb8d7fbc27ae7e14e7936edf3f5d429be16ef1c8562c69261302644f554337": "0x23f4ee11", - "0x28c0947f463362aab09a2d7896ccc847fb7e52633a16b978fb2caf3db1a9b8f8": "0x323550b80273" + "0xc138dab35aa4504645799187a2e92e2228c5a14986c8521720ca64d3632ac320": "0x1", + "0xfaff75758eafe0dedf2f1a6dba5e5b62baaec796c5c74e7a8164c5b4e4787d7d": "0x8eec1bc258aa0ef742fe6ab2de23318684e7a288" }, "code_usage": { - "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" - } - }, - "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { - "code_usage": { - "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "storage_read": [ - "0xb374801ace2c02f5db0425ab5920a2b7ed1d5a00abbcd395fda7530ba1d666c0", - "0x87d452270eb1ec0ed11ed1f2056705b4de5540af78415f5abbc377aa33da56b1" - ], - "storage_written": { - "0x87d452270eb1ec0ed11ed1f2056705b4de5540af78415f5abbc377aa33da56b1": "0xe4cdc9d8b979a4bfa", - "0xb374801ace2c02f5db0425ab5920a2b7ed1d5a00abbcd395fda7530ba1d666c0": "0x41e2adf525232aa598c" - }, + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661ea8e6c00d11d" + "0x8eec1bc258aa0ef742fe6ab2de23318684e7a288": { + "balance": "0xc9588924ea6cc", + "nonce": "0x3" } }, "meta": { - "byte_code": "0x02f904320104840122fe118509dea717e98304ae8f943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf601b00000000000000000000000000000000000000000000000000000000000000020a090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065f6ead000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad0000000000000000000000000000000000000000000000000000000065cf64d800000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000416548cde6cb494d4ad2836deb70825339035afb3b299da5a3985f949adbc8bd100307cfd8efc9dc3a062ce030bed6d751178fc42eb6b63bcf3bb586e10982e0361b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000006c6b935b8bbd4000000000000000000000000000000000000000000000000000000000000028a28c7900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000012ef10a4fc6e1ea44b4ca9508760ff51c647bb71c080a0cd1df982f17a6565280f72ec157e048f535db8263d9cd99a26d814280ea73962a03c514aca6baf8498179baa842cd9e3069ac2316fb9bc13a8bae8d697f2915a99", - "new_txn_trie_node_byte": "0x02f904320104840122fe118509dea717e98304ae8f943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf601b00000000000000000000000000000000000000000000000000000000000000020a090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065f6ead000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad0000000000000000000000000000000000000000000000000000000065cf64d800000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000416548cde6cb494d4ad2836deb70825339035afb3b299da5a3985f949adbc8bd100307cfd8efc9dc3a062ce030bed6d751178fc42eb6b63bcf3bb586e10982e0361b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000006c6b935b8bbd4000000000000000000000000000000000000000000000000000000000000028a28c7900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000012ef10a4fc6e1ea44b4ca9508760ff51c647bb71c080a0cd1df982f17a6565280f72ec157e048f535db8263d9cd99a26d814280ea73962a03c514aca6baf8498179baa842cd9e3069ac2316fb9bc13a8bae8d697f2915a99", - "new_receipt_trie_node_byte": "0xb906d702f906d301837658f0b9010010214004000000000000040080000000000000000000000000000000000000000000000000000000000002000000000002010000080000000000008000080000000000080000000008000008000000600000000000000000000000000020000000000000000000000000000000000000000000000000000000000010000000000000004000000000000000000008000200010000010000080000014000000000000000000000200200000000000000000400000000001000000000000000000000000002000000000000800000000000000000000080401800200000000000000008200000000000000000000000000004001000000000000000000000000400f905c8f8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca000000000000000000000000066ea948cf923f8b878126b021a347033ce0dea2fa0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065f6ead00000000000000000000000000000000000000000000000000000000000000000f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000066ea948cf923f8b878126b021a347033ce0dea2fa0000000000000000000000000b4e16d0168e52d35cacd2c6185b44281ec28c9dca00000000000000000000000000000000000000000000000000000000027a9b8eaf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4e16d0168e52d35cacd2c6185b44281ec28c9dca00000000000000000000000008c894d91748a42fc68f681090db06720779a7347a0000000000000000000000000000000000000000000000000033e45804a1ac836f87994b4e16d0168e52d35cacd2c6185b44281ec28c9dce1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000000000323550b8027300000000000000000000000000000000000000000000041e2adf525232aa598cf8fc94b4e16d0168e52d35cacd2c6185b44281ec28c9dcf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000008c894d91748a42fc68f681090db06720779a7347b8800000000000000000000000000000000000000000000000000000000027a9b8ea00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033e45804a1ac836f89b9412ef10a4fc6e1ea44b4ca9508760ff51c647bb71f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008c894d91748a42fc68f681090db06720779a7347a000000000000000000000000066ea948cf923f8b878126b021a347033ce0dea2fa000000000000000000000000000000000000000000000006c6b935cd2cded7c9bf879948c894d91748a42fc68f681090db06720779a7347e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000001df105869650dd90432e700000000000000000000000000000000000000000000000e4cdc9d8b979a4bfaf8fc948c894d91748a42fc68f681090db06720779a7347f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000066ea948cf923f8b878126b021a347033ce0dea2fb8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033e45804a1ac83600000000000000000000000000000000000000000000006c6b935cd2cded7c9b0000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 240998 + "byte_code": "0x02f902910102830f42408501836e21008302adc594aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000194160000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001941600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e500000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041763e57dbfb42a546157276b22d2c1b243d7588407b251c485dd3e9bc2a4664ac70b64106aa9f0158ff4d1497e4a78193111b9607eb623e51d86170eb30b6f0bd1b00000000000000000000000000000000000000000000000000000000000000c001a0483b8c771311ae9e335436535944f2056766ba6304cb323125d62ab264eec3e6a01884a2766666d66c4fc3ec5e377def94c3be73951f044f7a6912773933cd4196", + "new_txn_trie_node_byte": "0x02f902910102830f42408501836e21008302adc594aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000194160000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001941600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e500000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041763e57dbfb42a546157276b22d2c1b243d7588407b251c485dd3e9bc2a4664ac70b64106aa9f0158ff4d1497e4a78193111b9607eb623e51d86170eb30b6f0bd1b00000000000000000000000000000000000000000000000000000000000000c001a0483b8c771311ae9e335436535944f2056766ba6304cb323125d62ab264eec3e6a01884a2766666d66c4fc3ec5e377def94c3be73951f044f7a6912773933cd4196", + "new_receipt_trie_node_byte": "0xb902cd02f902c90183917c26b9010000000000000000000000000000000000000000000000200000000000000002008000000000000000000000000000000000000000000000000000000000000000080000000000000000000008000000100000000000000000000000000000000000000000020000000000000000000800000000000000000000080010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000000000000008000000000000001001000008000000000002008000001000000000002004000000000000000000000000000020000000000000000000000000000000000080000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000008eec1bc258aa0ef742fe6ab2de23318684e7a288a0000000000000000000000000000000000000000000000000000000000001941680f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca00000000000000000000000008eec1bc258aa0ef742fe6ab2de23318684e7a288a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a00000000000000000000000000000000000000000000000000000000000019416b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661ebb2986dcec7" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d43ec8234b952" }, - "0x4c0a7a63bfee83953b2872ca7a74b839cadabecb": { - "balance": "0x463491dc0a1bd29c", - "nonce": "0x1f" + "0x100537e649093b0d90ee9736baca7a0896aef8d8": { + "balance": "0x5b552820a8d10", + "nonce": "0x6" }, - "0x5e37718cedad7cc99cc220c417f5095573b510c6": { + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { "storage_read": [ - "0x7a21dc8570920ee21a85f8ca8c6be136fcba300101b9158ef6484a5a067e26a7", - "0x000000000000000000000000000000000000000000000000000000000000001a", - "0x0000000000000000000000000000000000000000000000000000000000000019", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x125ee618c7e79a74722b938361c5242645d5eee511e92278bcdf3b757fa8805b", - "0x68bfc3d7c7f95f50440d021304f4f471180dc14d73d97fd105608255e7971269", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x57915f62b2dbfb75114a0267474495855da7af031b99e378eda89c75207d07fd", - "0x0000000000000000000000000000000000000000000000000000000000000008" + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff", + "0x1f1a80db9a82d9fd4ea3322b7d2dcad52fb678229d487c4bb44e821a2544709f", + "0xb971507368a66573c68bc9149e52d121e149c9a3ea4fdfd15a38b7c988c1e73e" ], "storage_written": { - "0x125ee618c7e79a74722b938361c5242645d5eee511e92278bcdf3b757fa8805b": "0x1e190239e2da633", - "0x68bfc3d7c7f95f50440d021304f4f471180dc14d73d97fd105608255e7971269": "0x0" + "0x1f1a80db9a82d9fd4ea3322b7d2dcad52fb678229d487c4bb44e821a2544709f": "0x1", + "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff": "0x3d5c88f44947", + "0xb971507368a66573c68bc9149e52d121e149c9a3ea4fdfd15a38b7c988c1e73e": "0x1a3c38b0" }, "code_usage": { - "read": "0x2dba98c3ffc1e20dd1f9474f247d51b8435d6c8cae54fb833a14a0042c889216" + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" } - } - }, - "meta": { - "byte_code": "0x02f8b1011e840122fe118509a1f7062483019fcb945e37718cedad7cc99cc220c417f5095573b510c680b844a9059cbb000000000000000000000000b77bdcc2305196e4e9c3fe63f5fc23de805d77f100000000000000000000000000000000000000000000000001e190239e2da633c080a0ac4918686efb95e0154cd4110295a9c9698bc17cdc2106b599cccc6b8dec4791a05140930ba00c49c27103b78f0020cb3dd34c4427c25246f849138d0080010a0b", - "new_txn_trie_node_byte": "0x02f8b1011e840122fe118509a1f7062483019fcb945e37718cedad7cc99cc220c417f5095573b510c680b844a9059cbb000000000000000000000000b77bdcc2305196e4e9c3fe63f5fc23de805d77f100000000000000000000000000000000000000000000000001e190239e2da633c080a0ac4918686efb95e0154cd4110295a9c9698bc17cdc2106b599cccc6b8dec4791a05140930ba00c49c27103b78f0020cb3dd34c4427c25246f849138d0080010a0b", - "new_receipt_trie_node_byte": "0xb901ab02f901a701837759fab9010000000001000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000010000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000080000000000002000000000000000000000404000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b945e37718cedad7cc99cc220c417f5095573b510c6f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000004c0a7a63bfee83953b2872ca7a74b839cadabecba0000000000000000000000000b77bdcc2305196e4e9c3fe63f5fc23de805d77f1a000000000000000000000000000000000000000000000000001e190239e2da633", - "gas_used": 65802 - } - }, - { - "traces": { - "0xc15a0782b56d50da67b0c5a0960192e91088516f": { - "balance": "0x21880d22e82215b0", - "nonce": "0x55" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661eccb33c77974" - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0xd572d276b699947a043c85f8d66ce311cc85e357": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0xb533509d5615bc8281c77a335bf91277af807e051bab10f0871962b487cdeb31", - "0xdb95abfb6441adf2bbb7a352311077fa7d0a336d90099ad77e45467bf2b99d76", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xca9435ef0526477bdd8ff1e511a8a71ef684a825447bf1e0f953770bf684d582", - "0x000000000000000000000000000000000000000000000000000000000000000a" + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x9c04773acff4c5c42718bd0120c72761f458e43068a3961eb935577d1ed4effb", + "0x0000000000000000000000000000000000000000000000000000000000000008" ], "storage_written": { - "0xdb95abfb6441adf2bbb7a352311077fa7d0a336d90099ad77e45467bf2b99d76": "0x8f0d1800", - "0xb533509d5615bc8281c77a335bf91277af807e051bab10f0871962b487cdeb31": "0x139d7a548" + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000fecd440000000000000000050c90400c20b6ac5c93131f", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1c5e9989fdb3fec96007d4caf6d1a73f43", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x10000754800000000000204af15005e074a9c06ddffff90a92cbff86632d06b" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x6ef747e6282bbddfc91e78303fff8f2571f2239490e1b9be7315fc684e314abd" } - } - }, - "meta": { - "byte_code": "0x02f8b10154840122fe118509dea717e98301772e94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000a7cc3173c15f7a2d1f5ffca57095f67a0fbbde8c000000000000000000000000000000000000000000000000000000008f0d1800c080a0b2c760da0199e3bd160a5cea4ac0798a4e8caacfc3cdd316cae9717525a72f97a008772c04542c460d7bac110bbd4b17a65685fc69a0d52913bb2fa2b1955381e8", - "new_txn_trie_node_byte": "0x02f8b10154840122fe118509dea717e98301772e94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000a7cc3173c15f7a2d1f5ffca57095f67a0fbbde8c000000000000000000000000000000000000000000000000000000008f0d1800c080a0b2c760da0199e3bd160a5cea4ac0798a4e8caacfc3cdd316cae9717525a72f97a008772c04542c460d7bac110bbd4b17a65685fc69a0d52913bb2fa2b1955381e8", - "new_receipt_trie_node_byte": "0xb901ab02f901a701837850d7b9010000000000000000000000000000000000000000000000100000000800000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000400000000000000000000000000000000000000000000100000000000000000000000001080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c15a0782b56d50da67b0c5a0960192e91088516fa0000000000000000000000000a7cc3173c15f7a2d1f5ffca57095f67a0fbbde8ca0000000000000000000000000000000000000000000000000000000008f0d1800", - "gas_used": 63197 - } - }, - { - "traces": { - "0x3ca373f5ecb92ac762f9876f6e773082a4589995": { - "balance": "0x2d5fe4ce8bbf85d00", + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000098", - "0xbe6620bd3346e5d7f8387fbec0981aa0d6289d22efa7c935f9ef6841bf2a98c7", - "0x4caccafcf8cb8542ab42410021b96ed776c50c942b27dba88ef04ec5f167a366", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000097" + "0x4adcc926e9aad893e42b348442649906fecab5f302c3a291be64f39314900d60", + "0x9951e5c97f68238701a07028be91c5ba29bde0c65662546c454bab615c93f76a", + "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a" ], "storage_written": { - "0x4caccafcf8cb8542ab42410021b96ed776c50c942b27dba88ef04ec5f167a366": "0x1" + "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a": "0x4fc66a1567a54fc4af2", + "0x9951e5c97f68238701a07028be91c5ba29bde0c65662546c454bab615c93f76a": "0x1", + "0x4adcc926e9aad893e42b348442649906fecab5f302c3a291be64f39314900d60": "0x2720d8e830f0ed0fa" }, "code_usage": { - "read": "0x1b8a87b357118fb9f7d61aef928d429ca13bc96f4f3f94e12c03c5cf2237dc7d" - } - }, - "0x468b89d930ca7974196d7195033600b658011756": { - "code_usage": { - "read": "0xdd88c7cf45099897ca7a61b3ff67a3e5f31e6657b27fb37606c0a89d94a3844a" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0xabb33a590ea3019c1d6fdfb8802263eee34267c8": { - "balance": "0x31001c691921b7", - "nonce": "0x7b" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661edd2a1475d34" - } - }, - "meta": { - "byte_code": "0x02f897017a840122fe118509dea717e98301606b943ca373f5ecb92ac762f9876f6e773082a45899958705543df729c000a4f340fa010000000000000000000000000000000000000000000000000000000000000000c080a0ce36400d559b2169fe990886ab14282e6e5f6d319f1a09abbbb6740588a732c8a00560c9458f83941ecf2f433b43e3340d4625e96c2eaa07092bb065792a582dbe", - "new_txn_trie_node_byte": "0x02f897017a840122fe118509dea717e98301606b943ca373f5ecb92ac762f9876f6e773082a45899958705543df729c000a4f340fa010000000000000000000000000000000000000000000000000000000000000000c080a0ce36400d559b2169fe990886ab14282e6e5f6d319f1a09abbbb6740588a732c8a00560c9458f83941ecf2f433b43e3340d4625e96c2eaa07092bb065792a582dbe", - "new_receipt_trie_node_byte": "0xb9024c02f902480183793897b9010000080000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000004000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000010000000000000000000000000000000000000f9013df9013a943ca373f5ecb92ac762f9876f6e773082a4589995e1a0435881434a980001db54827793d55b4f3b751d216ed457d0f2a143220ae06d25b90100000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000abb33a590ea3019c1d6fdfb8802263eee34267c800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f99cebba649f375f1877a76112b109dc79fa04b8000000000000000000000000abb33a590ea3019c1d6fdfb8802263eee34267c80000000000000000000000000000000000000000000000000005543df729c000", - "gas_used": 59328 - } - }, - { - "traces": { - "0xb8a87405d9a4f2f866319b77004e88dff66c0d92": { + "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000001d", - "0xe9df5837f3bcbb1790cb137a41af6668249cf34a286d7ed605320e67c6c23eb4", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0xc659b99e79fe0de30a460bd9c30c4e566718ff6cfdcd6379dd0e4e03da9bdc33", - "0xa051fa5943a292a972dd98614913eefcd47f4b37d51e24edb6c168b0fab10fc7", - "0x27e9f812186791d033a8f9881ee8bf032f697cd280803eba6d746cdf852e1cec", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x77af37c3e27084ee3eba85f2ebfa787dfec17b27f46313f33b3ac8320850bc51", - "0x7dad25c8626c2c908dac91e9625bc405bb06615b644201bc88d98ab95a0f92d6", - "0x10a47c4622c146fd769a26cfca98a8138423649cc10e2707d0c7b37e11f2bdc4", - "0xb04ceb61f5c03b733b515e10ff854b0fc2e559ff6d9ba0459129639a17705c0a", - "0xf21cebc87207a45343dbb33a2512a7ff11e6222d87d2759dc5745a55f3df1144" + "0xad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000002" ], "storage_written": { - "0xf21cebc87207a45343dbb33a2512a7ff11e6222d87d2759dc5745a55f3df1144": "0x12b4fde3b7500fdb4b44c8", - "0x7dad25c8626c2c908dac91e9625bc405bb06615b644201bc88d98ab95a0f92d6": "0x10bed6fec73bd19ed90e" + "0x0000000000000000000000000000000000000000000000000000000000000002": "0xf69c94a730e72f191ade6a6557178cffb4b", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10002d302d3016002ff1800000000000047bf6e6ea209ca7c89032c4ae464" }, "code_usage": { - "read": "0xa47998f0fcceee76c553f9f49703070078f39a295bd103fff52cd766c9b60168" + "read": "0xa981b66c747a3d9fa29d7e200d5faaa2826960523d0e5a0df8148e8868c480b4" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x29869498c8eae089a8912", - "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0x5defccebecd74077aa0ce566544361c4953269120956a662e3572c4a19339eec" - ], - "storage_written": { - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", - "0x5defccebecd74077aa0ce566544361c4953269120956a662e3572c4a19339eec": "0xf89db39c7ee7d68c" - }, + "0xe37e799d5077682fa0a244d46e5649f71457bd09": { "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xd471a60f6c7d3be7f423430564405669d08ee2006e9ae4203a9aac81e8474402" } }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" } }, - "0x59749a15c51846b075bb4e9958a27a87677a47f1": { - "balance": "0x1a40e3401dd9c595", - "nonce": "0x3f9" + "0x1111111254eeb25477b68fb85ed929f73a960582": { + "code_usage": { + "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" + } }, - "0x19c1f6c7468ad4076b05a5f79e3ee80ce0064718": { + "0x1258d60b224c0c5cd888d37bbf31aa5fcfb7e870": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0xc0d1c00078410fd0164580b0bad93d8a579580d06cf45fc2696a823498097b8a", - "0x0000000000000000000000000000000000000000000000000000000000000008" + "0x323f0d6d635236e78b192fe79054047afa9332172588d13d99927e8140850e4d", + "0xc091c9676cdee2f255b7ba983f2dc301465efb32e4d8dff459eb30f068d360b2", + "0xd2e84601f1f435f76818ea72f09c5e3eeba0a81a214d58ffbeb7bf472bbacc09", + "0x5ce7c99fa6bfa8e4504fb0cee8bc2d6352dd2ecb781031b7905ef8254a8cb7db", + "0x3ca49ac9047982b0833b32c2b40f65f0c27f139c04c9e328154f8ac3e12562f1", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0xd2573f0dbb1b618c8497ffdc6b18073228cd828eb6d602b370f26cad6ea425de" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x23eddd87e20a550e2333d0dcdb0a1a", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000fe0f5d00000000000000000071b90bdffc66493ceb95ab" + "0x5ce7c99fa6bfa8e4504fb0cee8bc2d6352dd2ecb781031b7905ef8254a8cb7db": "0x0", + "0xd2573f0dbb1b618c8497ffdc6b18073228cd828eb6d602b370f26cad6ea425de": "0x1", + "0xd2e84601f1f435f76818ea72f09c5e3eeba0a81a214d58ffbeb7bf472bbacc09": "0x10e53e71616cc8189", + "0x323f0d6d635236e78b192fe79054047afa9332172588d13d99927e8140850e4d": "0x22cc596d31cd5c7f9b8", + "0xc091c9676cdee2f255b7ba983f2dc301465efb32e4d8dff459eb30f068d360b2": "0x67cba8576e99fd22581a" }, "code_usage": { - "read": "0x5218d91b409a649690db747c01aae184e43ffcab370003931ff590f24e0c6959" + "read": "0xbb063ca69a07dbd99cb05b81afd3d97189d9282a4c7a6c8947ed95cbaf6dcb31" } - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661f073e7be1284" } }, "meta": { - "byte_code": "0x02f902fc018203f8840122fe118509a1f706248303412c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880354a6ba7a180000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf603300000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000faa59ce69ca5fa4cd6e00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000000000000000000000c080a060eac6c43db3fca21d07ea88e6b1977214d4ba8c3577da123d917b8c061f9434a05a723e0fd11f59c60452d7c03ca4b92d03561cb287fcb2d1b90d9c8ef7ae95b5", - "new_txn_trie_node_byte": "0x02f902fc018203f8840122fe118509a1f706248303412c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880354a6ba7a180000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf603300000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000faa59ce69ca5fa4cd6e00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000000000000000000000c080a060eac6c43db3fca21d07ea88e6b1977214d4ba8c3577da123d917b8c061f9434a05a723e0fd11f59c60452d7c03ca4b92d03561cb287fcb2d1b90d9c8ef7ae95b5", - "new_receipt_trie_node_byte": "0xb903e402f903e001837b88e7b9010000000000000000400000000000000000000000000000000000000000000000000002000000000000000000000000000002000000080020000000000000000004000000090000000800000008000000000000000010000000000000008020900000000000000000000000000000000000000000000000000008000010000800000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000200000000000000000040000002000000100000000000000000000000000000000000000000000000000000200008000000000000000000000000001000000000400000000000000000f902d5f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000354a6ba7a180000f89b94b8a87405d9a4f2f866319b77004e88dff66c0d92f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000019c1f6c7468ad4076b05a5f79e3ee80ce0064718a000000000000000000000000059749a15c51846b075bb4e9958a27a87677a47f1a00000000000000000000000000000000000000000000010bed6fec73bd19ed90ef89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000019c1f6c7468ad4076b05a5f79e3ee80ce0064718a00000000000000000000000000000000000000000000000000354a6ba7a180000f9011c9419c1f6c7468ad4076b05a5f79e3ee80ce0064718f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000059749a15c51846b075bb4e9958a27a87677a47f1b8a0ffffffffffffffffffffffffffffffffffffffffffffef41290138c42e6126f20000000000000000000000000000000000000000000000000354a6ba7a18000000000000000000000000000000000000000000000071b90bdffc66493ceb95ab000000000000000000000000000000000000000000000d5323c032a1f933762dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0f5d", - "gas_used": 151632 + "byte_code": "0x02f903550105830f4240850120ceb8f083049a01941111111254eeb25477b68fb85ed929f73a96058280b902e812aa3caf000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd090000000000000000000000001258d60b224c0c5cd888d37bbf31aa5fcfb7e870000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000100537e649093b0d90ee9736baca7a0896aef8d80000000000000000000000000000000000000000000000151e8e0db9c7f4d70c000000000000000000000000000000000000000000000000000000001972bbe50000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015c00000000000000000000000000000000000000000000013e00006800004e802026678dcd1258d60b224c0c5cd888d37bbf31aa5fcfb7e870382ffce2287252f930e1c8dc9328dac5bf282ba10000000000000000000000000000000000000000000000003610c7d137c272ca0020d6bdbf781258d60b224c0c5cd888d37bbf31aa5fcfb7e87000a007e5c0d20000000000000000000000000000000000000000000000000000b200004f02a000000000000000000000000000000000000000000000000001fffa20a1c86748ee63c1e501d572d276b699947a043c85f8d66ce311cc85e3571258d60b224c0c5cd888d37bbf31aa5fcfb7e87002a0000000000000000000000000000000000000000000000000000000001972bbe5ee63c1e58088e6a0c2ddd26feeb64f039a2c41296fcb3f5640c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21111111254eeb25477b68fb85ed929f73a960582000000009a635db5c001a0cd1d789ff424d1f6fb70b0c9430ab012f1459ad863fe3dfe644d18b3d24c973da00f9d43f9b208dde0182372119bdf9379540ea545b0b9571868f67bced0412177", + "new_txn_trie_node_byte": "0x02f903550105830f4240850120ceb8f083049a01941111111254eeb25477b68fb85ed929f73a96058280b902e812aa3caf000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd090000000000000000000000001258d60b224c0c5cd888d37bbf31aa5fcfb7e870000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000100537e649093b0d90ee9736baca7a0896aef8d80000000000000000000000000000000000000000000000151e8e0db9c7f4d70c000000000000000000000000000000000000000000000000000000001972bbe50000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015c00000000000000000000000000000000000000000000013e00006800004e802026678dcd1258d60b224c0c5cd888d37bbf31aa5fcfb7e870382ffce2287252f930e1c8dc9328dac5bf282ba10000000000000000000000000000000000000000000000003610c7d137c272ca0020d6bdbf781258d60b224c0c5cd888d37bbf31aa5fcfb7e87000a007e5c0d20000000000000000000000000000000000000000000000000000b200004f02a000000000000000000000000000000000000000000000000001fffa20a1c86748ee63c1e501d572d276b699947a043c85f8d66ce311cc85e3571258d60b224c0c5cd888d37bbf31aa5fcfb7e87002a0000000000000000000000000000000000000000000000000000000001972bbe5ee63c1e58088e6a0c2ddd26feeb64f039a2c41296fcb3f5640c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21111111254eeb25477b68fb85ed929f73a960582000000009a635db5c001a0cd1d789ff424d1f6fb70b0c9430ab012f1459ad863fe3dfe644d18b3d24c973da00f9d43f9b208dde0182372119bdf9379540ea545b0b9571868f67bced0412177", + "new_receipt_trie_node_byte": "0xb9083502f908310183953a24b9010000000000010001000000000000000000000000000000000004000000040000000000000000100000000008000000000002200000080020000000000000220000000000000000080808080008000000000000002000000000000000000000000000000010000000000000000000000100000000010000000000000090000c00000000000000000000000000000000000000000000010000000000000000001000020000000000200000000000000004000002000000000000002000000008000000000002000000000000000000000000000000000000000000000000000000000010200000000000000410000000000000000000000400000000402400000000f90726f89b941258d60b224c0c5cd888d37bbf31aa5fcfb7e870f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000100537e649093b0d90ee9736baca7a0896aef8d8a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000000000000000000000000000151e8e0db9c7f4d70cf89b941258d60b224c0c5cd888d37bbf31aa5fcfb7e870f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000100537e649093b0d90ee9736baca7a0896aef8d8a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000000000000000000000000000010e53e71616cc8189f89b941258d60b224c0c5cd888d37bbf31aa5fcfb7e870f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba1a00000000000000000000000000000000000000000000000003610c7d137c272caf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d572d276b699947a043c85f8d66ce311cc85e357a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000000000000000000000000000020fcfb812fe1b4df89b941258d60b224c0c5cd888d37bbf31aa5fcfb7e870f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000d572d276b699947a043c85f8d66ce311cc85e357a0000000000000000000000000000000000000000000000014e87d45e890326442f9011c94d572d276b699947a043c85f8d66ce311cc85e357f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09b8a0000000000000000000000000000000000000000000000014e87d45e890326442fffffffffffffffffffffffffffffffffffffffffffffffffdf03047ed01e4b30000000000000000000000000000000000000000050c90400c20b6ac5c93131f0000000000000000000000000000000000000000000006aab14c4926c0505e9cfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecd44f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0000000000000000000000000000000000000000000000000000000001a3c38b0f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a0000000000000000000000000000000000000000000000000020fcfb812fe1b4df9011c9488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582b8a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5c3c750000000000000000000000000000000000000000000000000020fcfb812fe1b4d00000000000000000000000000000000000047bf6e6ea209ca7c89032c4ae464000000000000000000000000000000000000000000000000711701ec67762ebe000000000000000000000000000000000000000000000000000000000002ff18f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0000000000000000000000000100537e649093b0d90ee9736baca7a0896aef8d8a0000000000000000000000000000000000000000000000000000000001a3c38b0", + "gas_used": 245246 } }, { "traces": { - "0x976a55c485a2836bd1305dccc4132890337bd46c": { - "balance": "0x11a78940d171d08ad0" + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d44127b6ced12" + }, + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { + "storage_read": [ + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c" + ], + "code_usage": { + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" + } + }, + "0xbb49ea5789c9b114c3e0fd28ced95aee9d01c4b0": { + "balance": "0xc97235d9f621c", + "nonce": "0x3" }, - "0x3e6afb2ba201f4eb028a54708916f9769255f1c6": { + "0x0000000000000000000000000000000000000001": {}, + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ + "0xc385c8ae6b6d9ae429ce34c3631c52b94b10bd99c4dc89c5f1a84001d18124e4", + "0x000000000000000000000000000000000000000000000000000000000000000a", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0xb90e9ad3dcecd971664b5718c632ace2416b5357ab20d56502cf2c1f68c7155c", - "0xb90e9ad3dcecd971664b5718c632ace2416b5357ab20d56502cf2c1f68c7155b", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x000000000000000000000000000000000000000000000000000000000000000b" + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x84f422198407d1102fddcd5d07434dd8e12d0140d653ca3122800f094f69372d" ], "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000b": "0x26d8ae6a217c13a151b9503", - "0xb90e9ad3dcecd971664b5718c632ace2416b5357ab20d56502cf2c1f68c7155b": "0x2121c597cb4baaac4c59c" + "0xc385c8ae6b6d9ae429ce34c3631c52b94b10bd99c4dc89c5f1a84001d18124e4": "0x1", + "0x84f422198407d1102fddcd5d07434dd8e12d0140d653ca3122800f094f69372d": "0xbb49ea5789c9b114c3e0fd28ced95aee9d01c4b0" }, "code_usage": { - "read": "0xf6e66ca911e4db1a3bb70337b61f87b5cc6fbfa5838b79be0182de8139da50a2" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661f177c6c10313" - }, - "0x97f857dbe12c4524c21efa5a5e166beb8ff196de": { - "balance": "0x1a4819db80195e", - "nonce": "0x75" - } - }, - "meta": { - "byte_code": "0x02f8b90174840122fe118509dea717e983015bb5943e6afb2ba201f4eb028a54708916f9769255f1c68818904d9f44710000b844d2d272db000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018904d9f44710000c001a0aed98e1cd581a445a805f1cda2fbc1cfff0b4e909ea9dcc65099221e563f0da1a0309b128a59cc5eacc079036b796afd5400b76e4f58f2d70e5d9375a1083fa040", - "new_txn_trie_node_byte": "0x02f8b90174840122fe118509dea717e983015bb5943e6afb2ba201f4eb028a54708916f9769255f1c68818904d9f44710000b844d2d272db000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018904d9f44710000c001a0aed98e1cd581a445a805f1cda2fbc1cfff0b4e909ea9dcc65099221e563f0da1a0309b128a59cc5eacc079036b796afd5400b76e4f58f2d70e5d9375a1083fa040", - "new_receipt_trie_node_byte": "0xb9010d02f9010901837c6d86b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 58527 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661f243eb2dc02b" - }, - "0xc39a17ccb5081d139b06025034c5d2f1bb8fd1bc": { - "balance": "0x93ac14984ac7c7", - "nonce": "0x27" - }, - "0xf55b0f6f2da5ffddb104b58a60f2862745960442": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { + "storage_read": [ + "0x34b84f3b55f616c04e279e1b2e2542ef937b7fd6c6d384597b86c588b4463a16", + "0xec3a7f4c856ccd800e0960a0e80eeec2749af57025a49487befb25f1522f0732", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], "storage_written": { - "0x1a0055764b58dd3316e20c46647eb663b0e194a14e0382147b96fb6247efeb91": "0x437dd887b511540000" + "0xec3a7f4c856ccd800e0960a0e80eeec2749af57025a49487befb25f1522f0732": "0x1", + "0x34b84f3b55f616c04e279e1b2e2542ef937b7fd6c6d384597b86c588b4463a16": "0x1" }, "code_usage": { - "read": "0x1ae216d13259d3e2088f002c586ba617e8335d5618a35c3111fb762606a41e7b" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } } }, "meta": { - "byte_code": "0x02f8b00126840122fe118509dea717e982b51694f55b0f6f2da5ffddb104b58a60f286274596044280b844095ea7b30000000000000000000000008707f238936c12c309bfc2b9959c35828acfc5120000000000000000000000000000000000000000000000437dd887b511540000c080a0853de0ffad0a3397c11800de4ff8671b77b46e6a74df9f66f3fe2ad13cb1a9eaa00cf6e6d3bc51ef41d1fcd9b502d032476baa6f4169aee503dc4fda18b9b5d591", - "new_txn_trie_node_byte": "0x02f8b00126840122fe118509dea717e982b51694f55b0f6f2da5ffddb104b58a60f286274596044280b844095ea7b30000000000000000000000008707f238936c12c309bfc2b9959c35828acfc5120000000000000000000000000000000000000000000000437dd887b511540000c080a0853de0ffad0a3397c11800de4ff8671b77b46e6a74df9f66f3fe2ad13cb1a9eaa00cf6e6d3bc51ef41d1fcd9b502d032476baa6f4169aee503dc4fda18b9b5d591", - "new_receipt_trie_node_byte": "0xb901ab02f901a701837d211eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000200000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000002000000000000000000000000000000000000000020200000000000010000000000000000000000040000000000000000000000000000000000000000000000400000000000000100000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94f55b0f6f2da5ffddb104b58a60f2862745960442f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c39a17ccb5081d139b06025034c5d2f1bb8fd1bca00000000000000000000000008707f238936c12c309bfc2b9959c35828acfc512a00000000000000000000000000000000000000000000000437dd887b511540000", - "gas_used": 45976 + "byte_code": "0x02f902910102830f42408501836e21008302adc594aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051000000000000000000000000000000000000000000000000000000000001942b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001942b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e500000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000411bddea574baaddd39c0cee2f14ccfffdf01ed92845480d7e9bcfaca07a45689577d47d53d46ba6d9a39fc96463236d3f599be82f6f1de8e6fd03bf71dc5c1e761c00000000000000000000000000000000000000000000000000000000000000c080a0f2bbc1c6c9c5c5d1e156d41da475077979b7fef8e5af731340a9af35d7b2eb90a014175f6fdda8de1f8b94ed2829e070de41392dc8835d9f47e460979e5b6a206b", + "new_txn_trie_node_byte": "0x02f902910102830f42408501836e21008302adc594aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051000000000000000000000000000000000000000000000000000000000001942b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001942b00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e500000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000411bddea574baaddd39c0cee2f14ccfffdf01ed92845480d7e9bcfaca07a45689577d47d53d46ba6d9a39fc96463236d3f599be82f6f1de8e6fd03bf71dc5c1e761c00000000000000000000000000000000000000000000000000000000000000c080a0f2bbc1c6c9c5c5d1e156d41da475077979b7fef8e5af731340a9af35d7b2eb90a014175f6fdda8de1f8b94ed2829e070de41392dc8835d9f47e460979e5b6a206b", + "new_receipt_trie_node_byte": "0xb902cd02f902c9018397b73bb901000000000000000000000000000000000000000000000020000000000000000200c000000800000000000000000000000000000000000000000000000000000000000000000000000000000008004000100000100000000000000000000000004000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000000000000000000000000000001000000000000000000002008000001000000000002004000000000000000000000000000020000000000020000000000000000000000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000bb49ea5789c9b114c3e0fd28ced95aee9d01c4b0a0000000000000000000000000000000000000000000000000000000000001942b80f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000bb49ea5789c9b114c3e0fd28ced95aee9d01c4b0a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a0000000000000000000000000000000000000000000000000000000000001942bb880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0x61c8df8b22cdafec708dc3a6467a852cca5a1b13": { - "balance": "0x397cc2da4594000" + "0xafb289a22b15d4fbfd0bacb54bf98ed2b5c460b1": { + "balance": "0x2bd735e124fb3", + "nonce": "0x3" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661f2a129a722b3" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d443874a520d2" }, - "0x3596cc508c0e41d27b6eed3c06859ff954b11218": { - "balance": "0x1ba01315b8248", - "nonce": "0xa" - } - }, - "meta": { - "byte_code": "0x02f8730109840122fe118509dea717e98252089461c8df8b22cdafec708dc3a6467a852cca5a1b1388033fb0b5adeb400080c001a0b9b04ac1fe0c575d5e28f1192eb276f8f48104f627513fd470d49fbdca648fdfa06d748d0ed17b8f4c0d2d039864c6f296e5f912d7cdf32db7a5f797f1e26a39f3", - "new_txn_trie_node_byte": "0x02f8730109840122fe118509dea717e98252089461c8df8b22cdafec708dc3a6467a852cca5a1b1388033fb0b5adeb400080c001a0b9b04ac1fe0c575d5e28f1192eb276f8f48104f627513fd470d49fbdca648fdfa06d748d0ed17b8f4c0d2d039864c6f296e5f912d7cdf32db7a5f797f1e26a39f3", - "new_receipt_trie_node_byte": "0xb9010d02f9010901837d7326b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661f315ce7ab731" + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { + "storage_read": [ + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c" + ], + "code_usage": { + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" + } }, - "0xa2870beb406b8d6fd3db46785f846d9342d65a5c": { - "balance": "0x9ff35eca151874", - "nonce": "0x30" + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { + "storage_read": [ + "0x5511d11654eaf95a23975eb7b58c1e1afe476da47c5067c235ebab44e2536ad0", + "0x4fc8e3f8332b1a5fa2c0b600378908902cfcf38ac325667103f9a08beae9874c", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "storage_written": { + "0x5511d11654eaf95a23975eb7b58c1e1afe476da47c5067c235ebab44e2536ad0": "0x1", + "0x4fc8e3f8332b1a5fa2c0b600378908902cfcf38ac325667103f9a08beae9874c": "0x1" + }, + "code_usage": { + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" + } }, - "0x6b175474e89094c44da98b954eedeac495271d0f": { + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } + }, + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0xdb9a9c15fbc3ddb21cc4d018ee863d831fe5a2de723dced7f3fe3748f626b7f0", + "0xe27e559f2e63f8b002d7167b7ab7ae81e88d67f98bef834ad3971ccdbca20ef4" + ], "storage_written": { - "0xacef5952e1c302cccd46425a24550947e09da771383477fc994dc0b672caaa24": "0x9c3532ad0c5438000" + "0xe27e559f2e63f8b002d7167b7ab7ae81e88d67f98bef834ad3971ccdbca20ef4": "0x1", + "0xdb9a9c15fbc3ddb21cc4d018ee863d831fe5a2de723dced7f3fe3748f626b7f0": "0xafb289a22b15d4fbfd0bacb54bf98ed2b5c460b1" }, "code_usage": { - "read": "0x4e36f96ee1667a663dfaac57c4d185a0e369a3a217e0079d49620f34f85d1ac7" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } - } + }, + "0x0000000000000000000000000000000000000001": {} }, "meta": { - "byte_code": "0x02f8b0012f840122fe118509dea717e98272ea946b175474e89094c44da98b954eedeac495271d0f80b844095ea7b30000000000000000000000001715a3e4a142d8b698131108995174f37aeba10d000000000000000000000000000000000000000000000009c3532ad0c5438000c001a09e5360d6379e2e3c22c45192292518ef7e05488b19033ce4e11db05a74668093a00681de78b34942edc091e257841d7d17dce0d79b424313f94eb73737d61491b4", - "new_txn_trie_node_byte": "0x02f8b0012f840122fe118509dea717e98272ea946b175474e89094c44da98b954eedeac495271d0f80b844095ea7b30000000000000000000000001715a3e4a142d8b698131108995174f37aeba10d000000000000000000000000000000000000000000000009c3532ad0c5438000c001a09e5360d6379e2e3c22c45192292518ef7e05488b19033ce4e11db05a74668093a00681de78b34942edc091e257841d7d17dce0d79b424313f94eb73737d61491b4", - "new_receipt_trie_node_byte": "0xb901ab02f901a701837dd9c4b9010000000000000000420008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000008000040000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000200000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b946b175474e89094c44da98b954eedeac495271d0ff863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a2870beb406b8d6fd3db46785f846d9342d65a5ca00000000000000000000000001715a3e4a142d8b698131108995174f37aeba10da0000000000000000000000000000000000000000000000009c3532ad0c5438000", - "gas_used": 26270 + "byte_code": "0x02f902910102830f42408501836e21008302adc594aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000194350000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001943500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e700000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000004168c149c59bdfb9f88bf21af208c74f144df2501883915121dfb608b130b3c8fd1358f52b2a358e70ccab48392d1e1564b9c6c5cbe15e3a661f0191572a3a76f81c00000000000000000000000000000000000000000000000000000000000000c001a026629636d2b3664d82fb39dd46a16c80bc915ca3482538bc29c46a30f1f7dfffa05c1209471ac61c7006ea3e184f8e9e8803285a4639fd0a9499f632a83e55ca3b", + "new_txn_trie_node_byte": "0x02f902910102830f42408501836e21008302adc594aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000194350000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001943500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e700000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000004168c149c59bdfb9f88bf21af208c74f144df2501883915121dfb608b130b3c8fd1358f52b2a358e70ccab48392d1e1564b9c6c5cbe15e3a661f0191572a3a76f81c00000000000000000000000000000000000000000000000000000000000000c001a026629636d2b3664d82fb39dd46a16c80bc915ca3482538bc29c46a30f1f7dfffa05c1209471ac61c7006ea3e184f8e9e8803285a4639fd0a9499f632a83e55ca3b", + "new_receipt_trie_node_byte": "0xb902cd02f902c901839a3452b9010000000800000000000000000000000000000000000000200000000000000002008000000000004100000000000000000000000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000800000000000020000000000000000000800000000000000000800000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000000000000000000000001000001000000000000000000002008000001000000000002004000000000000000000000000000020000000000000000000000000000000000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000afb289a22b15d4fbfd0bacb54bf98ed2b5c460b1a0000000000000000000000000000000000000000000000000000000000001943580f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000afb289a22b15d4fbfd0bacb54bf98ed2b5c460b1a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a00000000000000000000000000000000000000000000000000000000000019435b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0xbe80225f09645f172b079394312220637c440a63": { + "0x73a79fab69143498ed3712e519a88a918e1f4072": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000069" ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x1000001000100000000280000000000000001008587f1d69f32aac5d795e3", - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x2f538d9692c24adf1f710eac0ce16" - }, "code_usage": { - "read": "0xd1866225e93658308187d826b0de2a929bb97ee0de48f519cae4b828f24a44d8" + "read": "0x7d1cd19d713c8d64bf663f4168250abfbf690dbb6214c25bf757fee383816914" } }, - "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "0x6481ff79597fe4f77e1063f615ec5bdaddeffd4b": { "code_usage": { - "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" + "read": "0xa25ca2268d8cf61c83b69854a10b86bca85c6ea8ec7a1c50e658d49f18f4e385" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x2986948373da78c20d54c", + "0x49048044d57e1c92a77f79988d21fa8faf74e97e": { + "balance": "0x577f57d807309ac99c4b", "storage_read": [ - "0x9684206a32a78769a0b973b24d4ef3cb0466b01050fa69685b383770943d3e85", - "0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" ], "storage_written": { - "0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7": "0x1", - "0x9684206a32a78769a0b973b24d4ef3cb0466b01050fa69685b383770943d3e85": "0x5bc903bfece8c3140" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x12dcc0f00000000000271000000000000000000000000003b9aca00" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0xf326e4de8f66a0bdc0970b79e0924e33c79f1915": { - "balance": "0x9b8ce8be961ef4e842", - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "code_usage": { - "read": "0xaea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e5" + "read": "0x7d1cd19d713c8d64bf663f4168250abfbf690dbb6214c25bf757fee383816914" } }, - "0x74de5d4fcbf63e00296fd95d33236b9794016631": { + "0x5fb30336a8d0841cf15d452afa297cb6d10877d7": { "code_usage": { - "read": "0x34285df013b925b34c7744f619f6ed193cbb11e1e08b0013af1dd0511a3e6f6e" + "read": "0x08671034ec683e4964520b70f7dce9430327414585ef466f940ade9f2a8441d8" } }, - "0x7cdf68ce9a05413cbb76cb7f80eaf415a826e313": { + "0x3a23f943181408eac424116af7b7790c94cb97a5": { + "storage_read": [ + "0xf6fdcea8e7b77bcb591e7e18f733bbb1a6424b484c057cd5ea07601153e714bc" + ], "code_usage": { - "read": "0xa873be03126d64946ef888d2b014036c8271d0d781aec7f91ab85a56f6e1e44c" + "read": "0x6700acf5ccb383cb2cff102ba577f0bce216a5898e28adbdbbb5665916a65b49" } }, - "0x1e756b7bcca7b26fb9d85344b3525f5559bbacb0": { + "0x76d4c25dec6b103506974ee68a614ed3165299bd": { "code_usage": { - "read": "0xb3d363300a17b5f7fa658dc21b90d93126fc65175398a16ae8c705583fc02a32" + "read": "0x9bd9d6c71c81aafe7f2402f247b3f230a0b78867d395d9b1b2850cb52826751a" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661f63f962e3808" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4448c4d82f12" }, - "0x881d40237659c251811cec9c364ef91dc08d300c": { + "0xea6e641e7e500f6e3349dcd1d0b97101396c4c2d": { + "balance": "0x1b5164b2c0ccd", + "nonce": "0x5f" + } + }, + "meta": { + "byte_code": "0x02f9017c015e830f4240850125a789428301ee6b943a23f943181408eac424116af7b7790c94cb97a5871df75ee957986cb90108000001952f5e765f000000000000000000000000ea6e641e7e500f6e3349dcd1d0b97101396c4c2d000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000001df75ee957986c000000000000000000000000000000000000000000000000000000000000210500000000000000000000000000000000000000000000000000000000000008f186c029f16460117b4488dbcebd1ea3d4f22aee8859770297bc010a8caaa1b11600000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000c080a0ee9e3a144dff551675ff687c7e40b6c9c195f0918dffa87ba8cdbd84814251bfa020c67969d40eb8f5077eb4eb95f9e69c2349ef5cd4dc030400e7dc4da3ca8024", + "new_txn_trie_node_byte": "0x02f9017c015e830f4240850125a789428301ee6b943a23f943181408eac424116af7b7790c94cb97a5871df75ee957986cb90108000001952f5e765f000000000000000000000000ea6e641e7e500f6e3349dcd1d0b97101396c4c2d000000000000000000000000000000000000000000000000000000000000ea60000000000000000000000000000000000000000000000000001df75ee957986c000000000000000000000000000000000000000000000000000000000000210500000000000000000000000000000000000000000000000000000000000008f186c029f16460117b4488dbcebd1ea3d4f22aee8859770297bc010a8caaa1b11600000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000c080a0ee9e3a144dff551675ff687c7e40b6c9c195f0918dffa87ba8cdbd84814251bfa020c67969d40eb8f5077eb4eb95f9e69c2349ef5cd4dc030400e7dc4da3ca8024", + "new_receipt_trie_node_byte": "0xb9036b02f9036701839b4603b90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000004000000000000000000000000000000000000020000000000010000000000000000000000000000000000000200000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000040000000000000000100000000000000000000000000000002000000000000100000000000000000000000000000000000080800001000040000000000000000020200000000000000000000000000020000000000000000a0000000010000000000000f9025cf9013d9449048044d57e1c92a77f79988d21fa8faf74e97ef884a0b3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32a00000000000000000000000004b34f943181408eac424116af7b7790c94cba8b6a0000000000000000000000000ea6e641e7e500f6e3349dcd1d0b97101396c4c2da00000000000000000000000000000000000000000000000000000000000000000b8a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000049000000000000000000000000000000000000000000000000001df75ee957986c000000000000000000000000000000000000000000000000001df75ee957986c000000000000ea60000000000000000000000000000000000000000000000000f90119943a23f943181408eac424116af7b7790c94cb97a5e1a074594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609b8e0000000000000000000000000000000000000000000000000001df75ee957986c000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000210586c029f16460117b4488dbcebd1ea3d4f22aee8859770297bc010a8caaa1b116000000000000000000000000ea6e641e7e500f6e3349dcd1d0b97101396c4c2d000000000000000000000000ea6e641e7e500f6e3349dcd1d0b97101396c4c2d00000000000000000000000000000000000000000000000000000000000008f1", + "gas_used": 70065 + } + }, + { + "traces": { + "0xb11db272ebfabedf611a07684e82165db60dc70e": { "storage_read": [ - "0x684fdb4b219d1c63474e6c8e4dc8c2611de744d4aaa2b78c4ec411ebb6ba9756", - "0x684fdb4b219d1c63474e6c8e4dc8c2611de744d4aaa2b78c4ec411ebb6ba9757", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x27b8a285356f991b0fff1a4bc44961f9183dd1a7ca4b757db19d4748d8003706", + "0xcd46a08504f79b91ecf08faf581cc0ee813c30c26149c5b04a941fdb4c81cbf6" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0xcd46a08504f79b91ecf08faf581cc0ee813c30c26149c5b04a941fdb4c81cbf6": "0x16e83b92eafd0040000", + "0x27b8a285356f991b0fff1a4bc44961f9183dd1a7ca4b757db19d4748d8003706": "0x617e674708358088bd40000" }, "code_usage": { - "read": "0xcc34a85a74e46f422c2b06b16156799b7c313a71390b4465cbc463bd99d76764" + "read": "0x0e4314e9af746fdac08e9963eab54038c4d230939f918867373a0f7a8ac633a3" } }, - "0x92a67c829169d9e38256af5f9859362ecd3e0690": { - "balance": "0x168faa9ce26cc2f", - "nonce": "0xa" - }, - "0xbf5495efe5db9ce00f80364c8b423567e58d2110": { + "0x1ef1b6bb65cc49c3819ec9f2053000984cd7beb7": { "storage_read": [ - "0xd64193ab2ae4623b7cbf67d0ac3e5ffe4844af5124da8f21a8a76f3c66992021", - "0x2df4c0626b51e8cbe30747eb2ecaf02b3ddcce88c82ad7c4cffea2394a0598c2", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x00000000000000000000000000000000000000000000000000000000000000cc", + "0x0000000000000000000000000000000000000000000000000000000000000097", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0xde6ec65a0a9c95811f7447ec83ceb797b8f1f169933d6dcd40b3502794ed6d15", - "0x0000000000000000000000000000000000000000000000000000000000000065", - "0x9b6c5061849db3d124928ec61da5a1864a9ad29e6bb882e4609547442d22e2de", - "0xad3dfc6da043c145b0f5f286248cc32ae826d33728479d5caf24f25f60f562b2" + "0x00000000000000000000000000000000000000000000000000000000000000cd", + "0x6267bbbcd99397a1f0d1e9eda251d5b0a02b4c0cf0fedd5de8c5f5b598128f3f", + "0x00000000000000000000000000000000000000000000000000000000000000d9", + "0x15b9d4d3d7721b7e8c199676dc910135e2f2b8d94ef803037209ffbc6c2326d8", + "0x519c623e5a45425eb279805b9726396a889219061f0e3055fbeee33a95ab9791", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" ], "storage_written": { - "0x9b6c5061849db3d124928ec61da5a1864a9ad29e6bb882e4609547442d22e2de": "0x0", - "0xad3dfc6da043c145b0f5f286248cc32ae826d33728479d5caf24f25f60f562b2": "0x0", - "0x2df4c0626b51e8cbe30747eb2ecaf02b3ddcce88c82ad7c4cffea2394a0598c2": "0x95a9593fbf23e7b04" + "0x15b9d4d3d7721b7e8c199676dc910135e2f2b8d94ef803037209ffbc6c2326d8": "0x1", + "0x519c623e5a45425eb279805b9726396a889219061f0e3055fbeee33a95ab9791": "0x0" }, "code_usage": { - "read": "0xe5e3693157141608a301682c8c228c0277eac7efc0b98b57f874ca49752b5fd8" + "read": "0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5" } }, - "0x1111111254eeb25477b68fb85ed929f73a960582": { + "0xe332cce35b5db7af8d2df794997250059a0c5be8": { + "balance": "0xba387da6236d", + "nonce": "0x6" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d445f8dd08a52" + }, + "0xa9d733adafb561f117a72a71c3ff5c0e2c94da69": { "code_usage": { - "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" + "read": "0x41cc9bab9efa5743e156eaf79d2c58167e32c5fe23d6088bdd6217b8b41bb22a" } } }, "meta": { - "byte_code": "0x02f903340109840122fe118509dea717e98303551394881d40237659c251811cec9c364ef91dc08d300c80b902c65f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d21100000000000000000000000000000000000000000000000000153f598df9e108500000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136f6e65496e6368563546656544796e616d69630000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d211000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000153f598df9e1085000000000000000000000000000000000000000000000000014b903a120b7f8a00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000002fc8c8968beb1000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a8e449022e0000000000000000000000000000000000000000000000000153f598df9e1085000000000000000000000000000000000000000000000000014e7d7c1dd36d9e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001200000000000000000000000be80225f09645f172b079394312220637c440a63ab4991fe0000000000000000000000000000000000000000000000000047c080a06ad3c500312c6cf890f354689a822d5adce69cd1574492cfbfe11341003d359da07d35e2236920d3d4b25fc7a3f56951f3a43f0c25bdbf926a1f5700e802d320ce", - "new_txn_trie_node_byte": "0x02f903340109840122fe118509dea717e98303551394881d40237659c251811cec9c364ef91dc08d300c80b902c65f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d21100000000000000000000000000000000000000000000000000153f598df9e108500000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136f6e65496e6368563546656544796e616d69630000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000bf5495efe5db9ce00f80364c8b423567e58d211000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000153f598df9e1085000000000000000000000000000000000000000000000000014b903a120b7f8a00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000002fc8c8968beb1000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a8e449022e0000000000000000000000000000000000000000000000000153f598df9e1085000000000000000000000000000000000000000000000000014e7d7c1dd36d9e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001200000000000000000000000be80225f09645f172b079394312220637c440a63ab4991fe0000000000000000000000000000000000000000000000000047c080a06ad3c500312c6cf890f354689a822d5adce69cd1574492cfbfe11341003d359da07d35e2236920d3d4b25fc7a3f56951f3a43f0c25bdbf926a1f5700e802d320ce", - "new_receipt_trie_node_byte": "0xb9057a02f90576018380a22bb9010000000000000000001000000400010000020000001800000000000800000000000080010000000000000010000000000002000000080028000000000000000000000000000000080800020008000000000000000000400000000004200000000008000000000000000000000000000001000000000000040000000010000800000000021000000100000000000000000000000000800000004020000000001000000001000000000000000040000004000000000000000000000000000000000000000202000000000000000000000000000000000000000000000002000000000020200000000000000400800000000000000000000000000001000000001000f9046bf89b94bf5495efe5db9ce00f80364c8b423567e58d2110f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000092a67c829169d9e38256af5f9859362ecd3e0690a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000000000000000000000000000000153f598df9e1085f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000be80225f09645f172b079394312220637c440a63a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0000000000000000000000000000000000000000000000000015551067c79b3c6f89b94bf5495efe5db9ce00f80364c8b423567e58d2110f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a0000000000000000000000000be80225f09645f172b079394312220637c440a63a00000000000000000000000000000000000000000000000000153f598df9e1085f9011c94be80225f09645f172b079394312220637c440a63f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582b8a00000000000000000000000000000000000000000000000000153f598df9e1085fffffffffffffffffffffffffffffffffffffffffffffffffeaaaef983864c3a0000000000000000000000000000000000000001008587f1d69f32aac5d795e3000000000000000000000000000000000000000000000188e1002864bd04f1250000000000000000000000000000000000000000000000000000000000000028f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0000000000000000000000000000000000000000000000000015551067c79b3c6f87a94f326e4de8f66a0bdc0970b79e0924e33c79f1915f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000000000000000000000000000000002fc8c8968beb1f87b94881d40237659c251811cec9c364ef91dc08d300cf863a0beee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630da0f35f348d53012d52a5d39f9390d246956ac932d5778d2bb49e359dba4fa0896da000000000000000000000000092a67c829169d9e38256af5f9859362ecd3e069080", - "gas_used": 182375 + "byte_code": "0x02f86f0105830f424085012452f35f8301fdef941ef1b6bb65cc49c3819ec9f2053000984cd7beb780844e71d92dc080a01cb14f210f582c43236b520eefa82bcb05077cb21a6f9e9cc4e9eefb4f1ee7dca030beccc98c080c7620d42ab10540f1a9884c6e47a81f8e33fc1c5e08ec95501c", + "new_txn_trie_node_byte": "0x02f86f0105830f424085012452f35f8301fdef941ef1b6bb65cc49c3819ec9f2053000984cd7beb780844e71d92dc080a01cb14f210f582c43236b520eefa82bcb05077cb21a6f9e9cc4e9eefb4f1ee7dca030beccc98c080c7620d42ab10540f1a9884c6e47a81f8e33fc1c5e08ec95501c", + "new_receipt_trie_node_byte": "0xb9024902f9024501839cc448b9010000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000000001008000000000000000000000002000000000000000000000000000000804000000000000000000000000004000000000010000000000000000000000000000008000080000000000000000000000000000000000000000000000000000200000004000020000000000000000000000000000000000000000002000000000100000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000f9013af89b94b11db272ebfabedf611a07684e82165db60dc70ef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001ef1b6bb65cc49c3819ec9f2053000984cd7beb7a0000000000000000000000000e332cce35b5db7af8d2df794997250059a0c5be8a000000000000000000000000000000000000000000000016e83b92eafd0040000f89b941ef1b6bb65cc49c3819ec9f2053000984cd7beb7f842a09923b4306c6c030f2bdfbf156517d5983b87e15b96176da122cd4f2effa4ba7ba0000000000000000000000000e332cce35b5db7af8d2df794997250059a0c5be8b84000000000000000000000000000000000000000000000016e83b92eafd0040000000000000000000000000000000000000000000000000000000000006632d06b", + "gas_used": 97861 } }, { "traces": { - "0x391a04311e0bfc913ef6fa784773307c826104f0": { - "code_usage": { - "read": "0x878aa3705d972fb969d591e689891f01c0c71e6a6bce6dd546a93c87ce23a208" - } - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661fc1b9f0b8c1f" - }, - "0x0000a26b00c1f0df003000390027140000faa719": { - "balance": "0x101f015df17e991c87", - "code_usage": { - "read": "0x0e0a5f7bfe4bf9760a537b808095ac2a9e37c7755f7326691c11c216918166bf" - } - }, - "0x7dbc433c92266ab268ae1040837a212b77fec393": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { "storage_read": [ - "0xa7ba506b12094321d0cc5c8d1ff3f9c6257e5ba5f6b1720f8f761133aa4e2991", - "0xda07af600560ea9deab8f8fbadd73adbdb4f03db63f7cd6cb1b7b5ad1a941a6b", - "0x260ae403d3d9be12741289d2d0de06f74c88e0eca995c06a620dbca66c7b71ac", - "0xb0501ca2ead8adcef1f030e0e24feb62340108e79e8e4c6740ec69868dbea325", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0e993fcb8a51b4212f05638d3ad2137699e4a29bd8e13eeb4734f74284928f65", - "0xe1498d806df155d5c136022dc6a752632196b31357d126a268942a71c69e4566", - "0x74c0c00da1685e7e6fad59969ea06906e7bc4310246d52a879ef1039fbe7f3a6", - "0x37034de6124f38c538741e1096210957af3f3ea0ad23ddac99d3575ba479cf2b" + "0x9b48fe7509dbabda160b4d16d190e40bf53f735486877ff172383a551a2a17f8", + "0x87eeea1e6f3c1dbc7c86eea60f79f15f204ef2a5282ac054a0fcc3f43406785c", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0xb0501ca2ead8adcef1f030e0e24feb62340108e79e8e4c6740ec69868dbea325": "0x20000000065cf5de7e762f8239ba764011cb92808af06672f1f3961ae", - "0x37034de6124f38c538741e1096210957af3f3ea0ad23ddac99d3575ba479cf2b": "0x2", - "0x260ae403d3d9be12741289d2d0de06f74c88e0eca995c06a620dbca66c7b71ac": "0x65ce9cc7ab4ce2a08cbea809692218dd7841f681b80069a9", - "0x74c0c00da1685e7e6fad59969ea06906e7bc4310246d52a879ef1039fbe7f3a6": "0x4b0000000000000007", - "0xa7ba506b12094321d0cc5c8d1ff3f9c6257e5ba5f6b1720f8f761133aa4e2991": "0x20000000065cf5de7e762f8239ba764011cb92808af06672f1f3961ae" + "0x9b48fe7509dbabda160b4d16d190e40bf53f735486877ff172383a551a2a17f8": "0x1", + "0x87eeea1e6f3c1dbc7c86eea60f79f15f204ef2a5282ac054a0fcc3f43406785c": "0x1" }, "code_usage": { - "read": "0xd8b0e93212b19dba6511bf4905e53fd5c2cffaecac66744686cf40f35a7bcc73" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } }, - "0xe762f8239ba764011cb92808af06672f1f3961ae": { - "balance": "0x31cdba99bee1a6c", - "nonce": "0x14" - }, - "0xab4ce2a08cbea809692218dd7841f681b80069a9": { - "balance": "0x1169035dfd829db0a" + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } }, - "0x00000000000000adc04c56bf30ac9d3c0aaf14dc": { + "0x0000000000000000000000000000000000000001": {}, + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0xc93870b18284db2917fe4e736d9c955481abdae5c570d820f884381edaa1a819", - "0x8b0936b97c06f82cf453682ed3eb23fe7e66acb9da227703a7d3ae7a334421fb", + "0x90a3a26a4fe4eefc092fe6644dfd378eb10045466815943094dfe2c0fef4009b", + "0x2bd8ff2494f692b9da96159db7e85b3b4519fa78a712c34208e3ae03b9c2dde8", + "0x000000000000000000000000000000000000000000000000000000000000000a", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x3be811ce5ee64f2fad20b52ea524f006649d2d52322a46895386d50de98ce976", - "0x97fa93a1f667bc92deeb7b4486705ab18cb1858e1614fceaf81e542781ec9177", - "0xc70fd9802f7900850fd253334e7e85f7ba6695faffcf6f7ce3673023ab47a89c", - "0xd73c37528851bcee8ef8b6f42056ce3f0bb759193179306c472b6d33bc6e228f" + "0x000000000000000000000000000000000000000000000000000000000000000d" ], "storage_written": { - "0x8b0936b97c06f82cf453682ed3eb23fe7e66acb9da227703a7d3ae7a334421fb": "0x10000000000000000000000000000010001", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x1", - "0xc93870b18284db2917fe4e736d9c955481abdae5c570d820f884381edaa1a819": "0x10000000000000000000000000000010001" + "0x2bd8ff2494f692b9da96159db7e85b3b4519fa78a712c34208e3ae03b9c2dde8": "0x1", + "0x90a3a26a4fe4eefc092fe6644dfd378eb10045466815943094dfe2c0fef4009b": "0xb56a88f66b5bb11fe86d9a59ca695f7dfc8ce412" }, "code_usage": { - "read": "0x30bd6d5686b2afa68fa12d7f8838c8532dbace05325226f4ab2da7ecb0b6ee1b" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0x0000000000000000000000000000000000000001": {}, - "0x1e0049783f008a0085193e00003d00cd54003c71": { - "storage_read": [ - "0x73f81e05fe78bb9c03fd7e2026f0245c29102ff947eddf738e68a7faea7f48aa" - ], - "code_usage": { - "read": "0x069efdc9b946a332dce9951324fa197268e3ff0e00e44c6bf36049fc53113a41" - } + "0xb56a88f66b5bb11fe86d9a59ca695f7dfc8ce412": { + "balance": "0x3d6c02e2cbf47", + "nonce": "0x3" }, - "0x000000000000aaeb6d7670e522a718067333cd4e": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d44858708be12" + }, + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ - "0x87aac7a904a8c8f55fdf2146118662b8b8251de0b6ce954987311e7875c7b79d", - "0xf7b999eca392ce81950e6e9266d2e8f30b30433b0a191821c210d0506b3c3e5c", - "0x772cff010ba21d2145860eeda2ff154702f57ec0da746c08961eea44f80a8427" + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c" ], "code_usage": { - "read": "0xf81224da2c9fa1872376316fdc140b4b1e9dbf3f4579f37e9671575af143b617" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } - } + }, + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {} }, "meta": { - "byte_code": "0x02f91be20113840122fe118509dea717e9830a26549400000000000000adc04c56bf30ac9d3c0aaf14dc88038bb7e5741cc000b91b6c87201b4100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000018000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000006200000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000fe000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000580000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad3000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf5da50000000000000000000000000000000000000000000000000000000065f599250000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000323ae04dce84c8210000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec39300000000000000000000000000000000000000000000000000000000000004db00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0ad71ee7e980000000000000000000000000000000000000000000000000000d0ad71ee7e9800000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a3d2a594b8000000000000000000000000000000000000000000000000000005a3d2a594b8000000000000000000000000000000a26b00c1f0df003000390027140000faa719000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b47a54b297000000000000000000000000000000000000000000000000000000b47a54b297000000000000000000000000000f2f42fb3a746952085f211ff5c0b3a68c20322210000000000000000000000000000000000000000000000000000000000000040944451062021c7446a14884406e5d4a300d30b1d3c17b4249e706cab17c7e2d73210b68dfaf9f64243437cba9cbfde1062ea87e67df06daeee8dc4a440bf673e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf0c8e0000000000000000000000000000000000000000000000000000000065f6998eeaa4e38354fae4dbd1e23fbce23172428905ac8027cedaaaf916ab216bab69a172db8c0b000000000000000000000000000000000000000029758682e21040200000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebb00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e078262485680000000000000000000000000000000000000000000000000000e0782624856800000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120c3bab75800000000000000000000000000000000000000000000000000000120c3bab758000000000000000000000000000000a26b00c1f0df003000390027140000faa7190000000000000000000000000000000000000000000000000000000000000040e1414e04823f02dffb7aa52ed64ae0dc1fa84abf78946e7c05f816dc20a289365788e8959b51316959d8e1d9cfa9ded106ba0ba9e799b27e9649befd626d38b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf0c8f0000000000000000000000000000000000000000000000000000000065f6998f6f788f0a983cb0f942c9ade89741cee396ef59187e47f0d1e33b981dec78618c72db8c0b00000000000000000000000000000000000000009345091de369a1300000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23c9f634c000000000000000000000000000000000000000000000000000000e23c9f634c0000000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce5400000000000000000000000000000000a26b00c1f0df003000390027140000faa7190000000000000000000000000000000000000000000000000000000000000040504aa447143e37a8f4aad8e99830c69bf2648d867168b23b1bcb8fe2668f2d0c926104252eebc927cdac70bbdf5fae7f44d699f26df0de8f6127afc652f7b471000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf0c8f0000000000000000000000000000000000000000000000000000000065f6998f439c7894aa39be0d52e1c498fd0d9f4f00c1d12611ef61fb773da94e0d4ee6f672db8c0b00000000000000000000000000000000000000007744e79ae86a6e500000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebd00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e40118a212980000000000000000000000000000000000000000000000000000e40118a2129800000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001254fe1f0a8000000000000000000000000000000000000000000000000000001254fe1f0a8000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000000000000000000000000000000000000000000000000000000000408c9c7f976f81a2828b51fb8d46895154e598c301f6fe44ed09f0e6192429cc40444103ccd8e23a9383e586d56bd918fce9eeac12787a5777ce72fb0810d37c27000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000006265e923360c6ebec001a0d3d0218fd9e14a8fb9ca268ac230247732e37388d28df6ae59fa6fd5f0e9b07ba03b18036b6760fc7adb0144f5e88f6023ae800620fc8bff6ae6bbf2d13517b09e", - "new_txn_trie_node_byte": "0x02f91be20113840122fe118509dea717e9830a26549400000000000000adc04c56bf30ac9d3c0aaf14dc88038bb7e5741cc000b91b6c87201b4100000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000018000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000006200000000000000000000000000000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000fe000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000005200000000000000000000000000000000000000000000000000000000000000580000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad3000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf5da50000000000000000000000000000000000000000000000000000000065f599250000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000323ae04dce84c8210000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec39300000000000000000000000000000000000000000000000000000000000004db00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0ad71ee7e980000000000000000000000000000000000000000000000000000d0ad71ee7e9800000000000000000000000000f8857fc8efb51a4f6fad1217602bd8a3bf596ad30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005a3d2a594b8000000000000000000000000000000000000000000000000000005a3d2a594b8000000000000000000000000000000a26b00c1f0df003000390027140000faa719000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b47a54b297000000000000000000000000000000000000000000000000000000b47a54b297000000000000000000000000000f2f42fb3a746952085f211ff5c0b3a68c20322210000000000000000000000000000000000000000000000000000000000000040944451062021c7446a14884406e5d4a300d30b1d3c17b4249e706cab17c7e2d73210b68dfaf9f64243437cba9cbfde1062ea87e67df06daeee8dc4a440bf673e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf0c8e0000000000000000000000000000000000000000000000000000000065f6998eeaa4e38354fae4dbd1e23fbce23172428905ac8027cedaaaf916ab216bab69a172db8c0b000000000000000000000000000000000000000029758682e21040200000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebb00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e078262485680000000000000000000000000000000000000000000000000000e0782624856800000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120c3bab75800000000000000000000000000000000000000000000000000000120c3bab758000000000000000000000000000000a26b00c1f0df003000390027140000faa7190000000000000000000000000000000000000000000000000000000000000040e1414e04823f02dffb7aa52ed64ae0dc1fa84abf78946e7c05f816dc20a289365788e8959b51316959d8e1d9cfa9ded106ba0ba9e799b27e9649befd626d38b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf0c8f0000000000000000000000000000000000000000000000000000000065f6998f6f788f0a983cb0f942c9ade89741cee396ef59187e47f0d1e33b981dec78618c72db8c0b00000000000000000000000000000000000000009345091de369a1300000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebc00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23c9f634c000000000000000000000000000000000000000000000000000000e23c9f634c0000000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000012309ce5400000000000000000000000000000000a26b00c1f0df003000390027140000faa7190000000000000000000000000000000000000000000000000000000000000040504aa447143e37a8f4aad8e99830c69bf2648d867168b23b1bcb8fe2668f2d0c926104252eebc927cdac70bbdf5fae7f44d699f26df0de8f6127afc652f7b471000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf0c8f0000000000000000000000000000000000000000000000000000000065f6998f439c7894aa39be0d52e1c498fd0d9f4f00c1d12611ef61fb773da94e0d4ee6f672db8c0b00000000000000000000000000000000000000007744e79ae86a6e500000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebd00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e40118a212980000000000000000000000000000000000000000000000000000e40118a2129800000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001254fe1f0a8000000000000000000000000000000000000000000000000000001254fe1f0a8000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000000000000000000000000000000000000000000000000000000000408c9c7f976f81a2828b51fb8d46895154e598c301f6fe44ed09f0e6192429cc40444103ccd8e23a9383e586d56bd918fce9eeac12787a5777ce72fb0810d37c27000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000006265e923360c6ebec001a0d3d0218fd9e14a8fb9ca268ac230247732e37388d28df6ae59fa6fd5f0e9b07ba03b18036b6760fc7adb0144f5e88f6023ae800620fc8bff6ae6bbf2d13517b09e", - "new_receipt_trie_node_byte": "0xb9084b02f90847018385c9d2b9010000000000400000000000000000000020000000000000000000000000000000050000000000000000000000000000000000800000000000000000000000000000000000000000000000000008000000008000000000000800000000000002000000000000800200020000000000000000040000000000000000000010000000040000000000000000000004000000000000000000080000000000000000000000880000000000000000000000100000000000000000000002000000000000000000000002000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000100000000802000000000000000000f9073cf902fd9400000000000000adc04c56bf30ac9d3c0aaf14dcf863a09d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31a0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9a0000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00b9028068a870071f968e1de70a049824ec05f941ed9a9d10e5a335ced6c433c7404701000000000000000000000000e762f8239ba764011cb92808af06672f1f3961ae00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebc0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e23c9f634c0000000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012309ce5400000000000000000000000000000000a26b00c1f0df003000390027140000faa719f902fd9400000000000000adc04c56bf30ac9d3c0aaf14dcf863a09d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31a0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9a0000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00b902808ce6e24e3585e56b6b5ff922041a209d125647db9a0ac32f03f11c34fd116ba4000000000000000000000000e762f8239ba764011cb92808af06672f1f3961ae00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dbc433c92266ab268ae1040837a212b77fec3930000000000000000000000000000000000000000000000000000000000000ebd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e40118a2129800000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001254fe1f0a8000000000000000000000000000000a26b00c1f0df003000390027140000faa719f89c947dbc433c92266ab268ae1040837a212b77fec393f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9a0000000000000000000000000e762f8239ba764011cb92808af06672f1f3961aea00000000000000000000000000000000000000000000000000000000000000ebc80f89c947dbc433c92266ab268ae1040837a212b77fec393f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ab4ce2a08cbea809692218dd7841f681b80069a9a0000000000000000000000000e762f8239ba764011cb92808af06672f1f3961aea00000000000000000000000000000000000000000000000000000000000000ebd80", - "gas_used": 337831 + "byte_code": "0x02f902910102830f42408501836e21008302adc594aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000194150000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001941500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e900000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000418019d170e9261967b42ef007b5071cf91c1a96e0d2c93152217f24239fc850d17e5e0d3026bc9f961a067cab9eac537d077b14dbf4d3f047ddd65c6eee15427f1c00000000000000000000000000000000000000000000000000000000000000c001a01f34078099acce4483d4361b1a776d30e904a77be3b8b53c94c78d008b81e156a05d14f8096a6579145ebe5649a3b8c90122752577f136438b70e9651ca45064c3", + "new_txn_trie_node_byte": "0x02f902910102830f42408501836e21008302adc594aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000194150000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001941500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e900000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000418019d170e9261967b42ef007b5071cf91c1a96e0d2c93152217f24239fc850d17e5e0d3026bc9f961a067cab9eac537d077b14dbf4d3f047ddd65c6eee15427f1c00000000000000000000000000000000000000000000000000000000000000c001a01f34078099acce4483d4361b1a776d30e904a77be3b8b53c94c78d008b81e156a05d14f8096a6579145ebe5649a3b8c90122752577f136438b70e9651ca45064c3", + "new_receipt_trie_node_byte": "0xb902cd02f902c901839f415fb9010000000000000000000000000000000000000000000000200000100000000002008000000000000000000000000000000000000000000000000000000000000000000000000000400000000008000000100000000000000000000010000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000100004000000000000000000000000000000001000000000000000000002008000001000000000002004800000000000000000000000000020020000000000000000000000000000000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000b56a88f66b5bb11fe86d9a59ca695f7dfc8ce412a0000000000000000000000000000000000000000000000000000000000001941580f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000b56a88f66b5bb11fe86d9a59ca695f7dfc8ce412a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a00000000000000000000000000000000000000000000000000000000000019415b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0x0000000000000000000000000000000000000001": {}, - "0xa892aa5fb5bea074b56fd5d21f86d8c701586e94": { + "0x76d4c25dec6b103506974ee68a614ed3165299bd": { "code_usage": { - "read": "0x1efe86fb7dea0eebcd71f5f1ced83f2253993138114a48ed42b6d1d3b6f0a607" + "read": "0x9bd9d6c71c81aafe7f2402f247b3f230a0b78867d395d9b1b2850cb52826751a" } }, - "0xa8f97058f9b863e4d54ee86ae374d31ebab5e70d": { - "balance": "0x661b9692dfe895", - "nonce": "0x1d" + "0x5fb30336a8d0841cf15d452afa297cb6d10877d7": { + "code_usage": { + "read": "0x08671034ec683e4964520b70f7dce9430327414585ef466f940ade9f2a8441d8" + } }, - "0x1865796c359bfc78f46ef65110e69650583ed818": { + "0x49048044d57e1c92a77f79988d21fa8faf74e97e": { + "balance": "0x577f5a4d8ac6cf95a50b", "storage_read": [ - "0xeb40862b1d6c4ab7ecfc5aea55b22c875e4ab0a78d1a611b68c7ad49f7631166", - "0xb10bae057df4eeed4491902e236dc3c914068f619b69f3e0ec9770a23773d56f", - "0xe1e1cbfd5ff46c81955de2c333a08cfa821978ce7ee49f1bd9dc152118f55db5", - "0x9d9c791c65eec946a96f27e2cba142c68944ee11d8d5ec7c4fbac1de71b6a4f6", - "0x47999a7d2142681f8c3d83c48dbe1c96a4a2a55dd1fb547fd9c4db1f405c8100" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" ], "storage_written": { - "0x47999a7d2142681f8c3d83c48dbe1c96a4a2a55dd1fb547fd9c4db1f405c8100": "0x0", - "0xeb40862b1d6c4ab7ecfc5aea55b22c875e4ab0a78d1a611b68c7ad49f7631166": "0xa", - "0x9d9c791c65eec946a96f27e2cba142c68944ee11d8d5ec7c4fbac1de71b6a4f6": "0x0", - "0xb10bae057df4eeed4491902e236dc3c914068f619b69f3e0ec9770a23773d56f": "0xcda72070e455bb31c7690a170224ce43623d0b6f" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x12dcc0f0000000000035b600000000000000000000000003b9aca00" }, "code_usage": { - "read": "0x26d3f3195bb2c3e49f3f7ca101ae4fbc2c61177ab3cde6e431f878b6d70c4470" + "read": "0x7d1cd19d713c8d64bf663f4168250abfbf690dbb6214c25bf757fee383816914" } }, - "0xb19a1f4949930fdc4dd1d60bc475db158dd41223": { + "0x55ab326810fa50c216eb84dc587a7b984bb28c24": { + "balance": "0x6d739a708c955", + "nonce": "0x42" + }, + "0x6481ff79597fe4f77e1063f615ec5bdaddeffd4b": { "code_usage": { - "read": "0x9a0c6e6eb1f0d6756d8fef4cc87783a7f50f36abddee599332db53d4fc59a675" + "read": "0xa25ca2268d8cf61c83b69854a10b86bca85c6ea8ec7a1c50e658d49f18f4e385" } }, - "0x0532fd6e1109756be1503dabe7194b70df0257a7": { + "0x3a23f943181408eac424116af7b7790c94cb97a5": { + "storage_read": [ + "0xf6fdcea8e7b77bcb591e7e18f733bbb1a6424b484c057cd5ea07601153e714bc" + ], "code_usage": { - "read": "0x84ad3d98f07d7670bd200950a84ec286b54194341a5e40ac18474d51a51be3af" + "read": "0x6700acf5ccb383cb2cff102ba577f0bce216a5898e28adbdbbb5665916a65b49" } }, - "0x69525dac489e4718964b5615c3d794a25d62beb7": { + "0x73a79fab69143498ed3712e519a88a918e1f4072": { "storage_read": [ - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x86d216d3c3b5861b1a77eee31bd96dd5c01b71e4069e3acb90583be9fb0a24db", - "0x1b021ea53b7b3e0ac1784f6bac7be2cdf4154283aebcb627a1b1d28ed15e1542" + "0x0000000000000000000000000000000000000000000000000000000000000069" ], - "storage_written": { - "0x1b021ea53b7b3e0ac1784f6bac7be2cdf4154283aebcb627a1b1d28ed15e1542": "0x3e800000410" - }, "code_usage": { - "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" + "read": "0x7d1cd19d713c8d64bf663f4168250abfbf690dbb6214c25bf757fee383816914" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4495d7f2e752" + } + }, + "meta": { + "byte_code": "0x02f9017d0141830f42408501398417e28301ee11943a23f943181408eac424116af7b7790c94cb97a5880275839634cc08c0b90108000001952f5e765f00000000000000000000000055ab326810fa50c216eb84dc587a7b984bb28c24000000000000000000000000000000000000000000000000000000000000ea600000000000000000000000000000000000000000000000000275839634cc08c0000000000000000000000000000000000000000000000000000000000000210500000000000000000000000000000000000000000000000000000000000008f186c029f16460117b4488dbcebd1ea3d4f22aee8859770297bc010a8caaa1b11600000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000c001a0d7dfdf13df86de6195eb63da30c0ffaca1130f54f06e8ed1326c8b64e0ccf210a013c5a6a62c4fb7f07cb5c3a6e42782477103bb6b1302c46093e3e7cb24ca8ea5", + "new_txn_trie_node_byte": "0x02f9017d0141830f42408501398417e28301ee11943a23f943181408eac424116af7b7790c94cb97a5880275839634cc08c0b90108000001952f5e765f00000000000000000000000055ab326810fa50c216eb84dc587a7b984bb28c24000000000000000000000000000000000000000000000000000000000000ea600000000000000000000000000000000000000000000000000275839634cc08c0000000000000000000000000000000000000000000000000000000000000210500000000000000000000000000000000000000000000000000000000000008f186c029f16460117b4488dbcebd1ea3d4f22aee8859770297bc010a8caaa1b11600000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000c001a0d7dfdf13df86de6195eb63da30c0ffaca1130f54f06e8ed1326c8b64e0ccf210a013c5a6a62c4fb7f07cb5c3a6e42782477103bb6b1302c46093e3e7cb24ca8ea5", + "new_receipt_trie_node_byte": "0xb9036b02f903670183a0531cb90100000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000020000000000010000200000000000000000000000000000000200000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000044000000000000000000000000000000000000000000000002000000000000100000000000000000000000000000000000080800001000040000000000000000020200000000000000000000000000020000000000000000a0000000000000000000000f9025cf9013d9449048044d57e1c92a77f79988d21fa8faf74e97ef884a0b3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32a00000000000000000000000004b34f943181408eac424116af7b7790c94cba8b6a000000000000000000000000055ab326810fa50c216eb84dc587a7b984bb28c24a00000000000000000000000000000000000000000000000000000000000000000b8a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000490000000000000000000000000000000000000000000000000275839634cc08c00000000000000000000000000000000000000000000000000275839634cc08c0000000000000ea60000000000000000000000000000000000000000000000000f90119943a23f943181408eac424116af7b7790c94cb97a5e1a074594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609b8e00000000000000000000000000000000000000000000000000275839634cc08c0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000210586c029f16460117b4488dbcebd1ea3d4f22aee8859770297bc010a8caaa1b11600000000000000000000000055ab326810fa50c216eb84dc587a7b984bb28c2400000000000000000000000055ab326810fa50c216eb84dc587a7b984bb28c2400000000000000000000000000000000000000000000000000000000000008f1", + "gas_used": 70077 + } + }, + { + "traces": { + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "code_usage": { + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" } }, - "0x762340b8a40cdd5bfc3edd94265899fda345d0e3": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d44c534778d32" + }, + "0xf326e4de8f66a0bdc0970b79e0924e33c79f1915": { + "balance": "0xc88724edc8e80b696c", "storage_read": [ - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "code_usage": { - "read": "0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5" + "read": "0xaea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e5" } }, - "0xb253b0c006b68c3a5a7906fdfd380aeb90abea4d": { + "0x0000000000000000000000000000000000000001": {}, + "0x74de5d4fcbf63e00296fd95d33236b9794016631": { "code_usage": { - "read": "0xb90c5e64619aaea7629474d2f5bbe045614ed1b76e4583031535347042ae0ca9" + "read": "0x34285df013b925b34c7744f619f6ed193cbb11e1e08b0013af1dd0511a3e6f6e" } }, - "0xcda72070e455bb31c7690a170224ce43623d0b6f": { + "0x881d40237659c251811cec9c364ef91dc08d300c": { "storage_read": [ - "0xc1ebe987cf1238dca3e35ebe835130e0644828c54fbc715d8f2a6fb15c83e10a", - "0x7a805dd0049d00e7889f5d36a8312947f631a93f54fc94ce6e5aa4fa9e1d0253", - "0x0000000000000000000000000000000000000000000000000000000000000b87", - "0x8c8b6173c072e173694fa5cd446c0dd61af1b2631c7aa203a02f17b30c1c4a3e", - "0x05ed8ed8626e8f42937c31ded813a6dc44a612c33d93b345813b2dfbed89c6f8", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x38d44f6db0c42b4186382c297d711497481b63c6c5705a9f0475aa9d6c785e3a", + "0x38d44f6db0c42b4186382c297d711497481b63c6c5705a9f0475aa9d6c785e3b" ], "storage_written": { - "0x05ed8ed8626e8f42937c31ded813a6dc44a612c33d93b345813b2dfbed89c6f8": "0x65cf9490", - "0x0000000000000000000000000000000000000000000000000000000000000b87": "0x1", - "0x7a805dd0049d00e7889f5d36a8312947f631a93f54fc94ce6e5aa4fa9e1d0253": "0xde0b6b3a7640000a8f97058f9b863e4d54ee86ae374d31ebab5e70d" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" }, "code_usage": { - "read": "0x1cdbb871acfcfb333e711254a60f446ffa5b8f834bbca387a4c8e88c6bf4854e" + "read": "0xcc34a85a74e46f422c2b06b16156799b7c313a71390b4465cbc463bd99d76764" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661ff50e47f80d2" - } - }, - "meta": { - "byte_code": "0x02f902d2011c840122fe118509dea717e98302feeb94762340b8a40cdd5bfc3edd94265899fda345d0e380b9026423dc86580000000000000000000000001865796c359bfc78f46ef65110e69650583ed818000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000065cf94900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000041000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf633915c8704cc2a886505acfdeecb0aa15fa36787e2f8d83e99577c6253d0ca78b33d28889547d39e308dc367317bca77ccf1ffe65d0bdff35106f958d46c1082c5c000000000000000000000000000000000000000000000000000000000000000a6d6f6d656e743a34303300000000000000000000000000000000000000000000c080a0865fe625275eb5ea497ab90775c45511d4d5cd1c19e4346d6fcf51c2a55d8acaa05164b85104f0331e42accb92e82b45bfc212f653934b772349ef432cdaac11d0", - "new_txn_trie_node_byte": "0x02f902d2011c840122fe118509dea717e98302feeb94762340b8a40cdd5bfc3edd94265899fda345d0e380b9026423dc86580000000000000000000000001865796c359bfc78f46ef65110e69650583ed818000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000065cf94900000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000041000000000000000000000000000000000000000000000000000000000000003e8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf633915c8704cc2a886505acfdeecb0aa15fa36787e2f8d83e99577c6253d0ca78b33d28889547d39e308dc367317bca77ccf1ffe65d0bdff35106f958d46c1082c5c000000000000000000000000000000000000000000000000000000000000000a6d6f6d656e743a34303300000000000000000000000000000000000000000000c080a0865fe625275eb5ea497ab90775c45511d4d5cd1c19e4346d6fcf51c2a55d8acaa05164b85104f0331e42accb92e82b45bfc212f653934b772349ef432cdaac11d0", - "new_receipt_trie_node_byte": "0xb9046902f904650183889c55b9010000000000000000000000000000000004000000000000000000000000000400000000000000000000000000000000010000000000040000000020000000002000000000010000000000000008100000000000000049000000000000000010000000000000000000000048800000000008000080000400800000000010000000080000000000000010050000000000000000000000000000000000000000000000000000020000000000004000000040000000000000000000000000000000000000000042000000002a00000000000000000000000000000000000000000000000000000000000000000000800000000000080000000000000000000040000000f9035af89c941865796c359bfc78f46ef65110e69650583ed818f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a8f97058f9b863e4d54ee86ae374d31ebab5e70da0000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6fa0000000000000000000000000000000000000000000000000000000000000000a80f8bc94cda72070e455bb31c7690a170224ce43623d0b6ff884a0fcc77ea8bdcce862f43b7fb00fe6b0eb90d6aeead27d3800d9257cf7a05f9d96a00000000000000000000000001865796c359bfc78f46ef65110e69650583ed818a0000000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8f97058f9b863e4d54ee86ae374d31ebab5e70da00000000000000000000000000000000000000000000000000de0b6b3a7640000f9013d9469525dac489e4718964b5615c3d794a25d62beb7f884a0cc129567ae9a8e3c55e1ad3156090375e3c062bbbfdb78098a15bdf158a73b2ba00000000000000000000000000000000000000000000000000000000000000410a0000000000000000000000000a8f97058f9b863e4d54ee86ae374d31ebab5e70da00000000000000000000000001865796c359bfc78f46ef65110e69650583ed818b8a0000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000003e80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000a6d6f6d656e743a34303300000000000000000000000000000000000000000000f8bc94cda72070e455bb31c7690a170224ce43623d0b6ff884a0c8a67fb17ad40fabf835a5c96e0438644464257af6f325f44f1615aabc0e41baa00000000000000000000000001865796c359bfc78f46ef65110e69650583ed818a0000000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000a8f97058f9b863e4d54ee86ae374d31ebab5e70da00000000000000000000000000000000000000000000000000000000065cf9490", - "gas_used": 184963 - } - }, - { - "traces": { - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b819bbc5ebecfe73426", "storage_read": [ - "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", - "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x24b194ebe2dc12ed2d76a865393421499cb672ee4a0f3852e43f352aeddf227a", + "0xc83fa07ed326f38109d30e149dc5934db4bf802989998eea03aa60af3a8331e4", + "0x3a3aec5717af62dfc0f5ede964a3e44cef7c5ba4453963ee6e3545ea9708690f" ], "storage_written": { - "0xf049292d4179af649022fa4e7de6f83162b43a75d0cb5f6eba4e898c03d89795": "0x0" + "0x24b194ebe2dc12ed2d76a865393421499cb672ee4a0f3852e43f352aeddf227a": "0x0", + "0x3a3aec5717af62dfc0f5ede964a3e44cef7c5ba4453963ee6e3545ea9708690f": "0x80ce58c5d32df7d6c5" }, "code_usage": { - "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" - } - }, - "0x2a35b0b5fa78bf933a0f57f906f2b568348e6ae2": { - "balance": "0x13cc06447515086", - "nonce": "0x97" - }, - "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { - "code_usage": { - "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19661ffe62e438d88" - } - }, - "meta": { - "byte_code": "0x02f8b1018196840122fe118509dea717e982982294a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844095ea7b30000000000000000000000003c6ce18afde845635a32a69d0a7721b0db84118e0000000000000000000000000000000000000000000000000000000000000000c001a0b1a38a7f07db9ad4a043def5783d3bbd2c8b836b7837baef5cb45e6851b4a815a02f861d7d5a4adc415682db8609bab2cfeaa8b4c99bb7782a9d16674c91d522d3", - "new_txn_trie_node_byte": "0x02f8b1018196840122fe118509dea717e982982294a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844095ea7b30000000000000000000000003c6ce18afde845635a32a69d0a7721b0db84118e0000000000000000000000000000000000000000000000000000000000000000c001a0b1a38a7f07db9ad4a043def5783d3bbd2c8b836b7837baef5cb45e6851b4a815a02f861d7d5a4adc415682db8609bab2cfeaa8b4c99bb7782a9d16674c91d522d3", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183891fabb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000008000000000000000000000000000000000000000020800000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000800000000010000000000000000000000020000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000200000000000000000000000000000000000000000000001f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000002a35b0b5fa78bf933a0f57f906f2b568348e6ae2a00000000000000000000000003c6ce18afde845635a32a69d0a7721b0db84118ea00000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 33622 - } - }, - { - "traces": { - "0x3f3f57023cd1f51f751721161ac55f5c97d19bae": { - "balance": "0xe12ee9d04a18", - "nonce": "0x36" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966200436cbcf010" - }, - "0x7aa1cc9bc6810ca18f25c479f162518dcfce2940": { - "balance": "0xb68241dde066d5" - } - }, - "meta": { - "byte_code": "0x02f8720135840122fe118509dea717e9825208947aa1cc9bc6810ca18f25c479f162518dcfce2940872b350e8707819180c001a074e0cea0d73ac6cbfcdfd5c6cc4f407252a9c227faf862a7d5bc748d10766b2aa038ef18e2de7908f36091141e459eb2fd4f6fa473d5eb2ca159e5dd37fa1a3d4a", - "new_txn_trie_node_byte": "0x02f8720135840122fe118509dea717e9825208947aa1cc9bc6810ca18f25c479f162518dcfce2940872b350e8707819180c001a074e0cea0d73ac6cbfcdfd5c6cc4f407252a9c227faf862a7d5bc748d10766b2aa038ef18e2de7908f36091141e459eb2fd4f6fa473d5eb2ca159e5dd37fa1a3d4a", - "new_receipt_trie_node_byte": "0xb9010d02f9010901838971b3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x26a1fddacfb9f6f5072ee5636ed3429101e6c069": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000002" - ], + "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { "code_usage": { - "read": "0x1dd1839100e43cd0bd9ffc4e1bd5b9df22882a64a48c9246114076e93cd24362" + "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" } }, - "0x28e4f3a7f651294b9564800b2d01f35189a5bfbe": { + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { "storage_read": [ + "0xef9aa6e78baadd9fa11efc775ebe24781e6dd67d28095a72c3297161bfcd60c2", + "0xf2d53313cb644399924bc7ac73566f895c847f1ba79f63bc95efa3f39ec7c40d", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x50cfe998b2009513831ece41854d815b6916e0eba06252c12611631689890b5c" + "0x7127940ce19290fb89bc65d3d0c9c289abf41d84199b320642f215e9e7edad17", + "0x977d48e47786af57bcd5fc8e63ee99ab0cdd0fb5a84ae4aaccfff7c086471f10", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0xeeea53342c5202c614a175618276b0ccab27e4ac2784d5899534e5f784d3cb98", + "0x95a6815f6913e29368dde830b2feb0c2bf011563c777cab194acb9c61569826e" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x2bb44e" + "0xef9aa6e78baadd9fa11efc775ebe24781e6dd67d28095a72c3297161bfcd60c2": "0xb459fda6527", + "0x977d48e47786af57bcd5fc8e63ee99ab0cdd0fb5a84ae4aaccfff7c086471f10": "0x16c35eb8", + "0x95a6815f6913e29368dde830b2feb0c2bf011563c777cab194acb9c61569826e": "0xa8fbc", + "0xeeea53342c5202c614a175618276b0ccab27e4ac2784d5899534e5f784d3cb98": "0x6e92fa9366b", + "0xf2d53313cb644399924bc7ac73566f895c847f1ba79f63bc95efa3f39ec7c40d": "0x0" }, "code_usage": { - "read": "0x2c8141910dda0618a1dd7690ff4c66c45c27bebee72db665239c0fbdf9c1c124" + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" } }, - "0x9a47f3289794e9bbc6a3c571f6d96ad4e7baed16": { + "0x0fd370461eedb793a388e88301c5d1320a3d99ac": { + "balance": "0xe8adb7a92f5b3", + "nonce": "0x5" + }, + "0xbbb0c50473990162a4a02b6a4cce16fb0a6c38d1": { "code_usage": { - "read": "0xb6da44d88c7df9a1c9fd424c35801d60b9612909eff166f291fb6f0622f85d8a" + "read": "0x9170ef5dd0bcd03075fef1253f65f1db1cef3d6206cdcba1fce18f1bade4b12c" } }, - "0xfe5e5d361b2ad62c541bab87c45a0b9b018389a2": { + "0xd82fa167727a4dc6d6f55830a2c47abbb4b3a0f8": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x308becbed3c85a52babc81bd2173a846b20521021e6b7161566bd83c34384451", + "0x3a3aec5717af62dfc0f5ede964a3e44cef7c5ba4453963ee6e3545ea9708690f", + "0x0000000000000000000000000000000000000000000000000000000000000006" ], + "storage_written": { + "0x308becbed3c85a52babc81bd2173a846b20521021e6b7161566bd83c34384451": "0x100008000000000001000000000010000" + }, "code_usage": { - "read": "0xd6effddeb17e728287583e1ba6343974e4d6900f0aaec18cb34f9adf8278041b" - } - }, - "0x6ef81a18e1e432c289dc0d1a670b78e8bbf9aa35": { - "code_usage": { - "read": "0x268fc248f54788c34cb3045b793ada4e32b63e3b51792c8eb5db40760017fb2e" + "read": "0x8bd37a88bc50bfda430c694bfe8ce15ab0268f15d9e6ebfe8e027b3b9ada94c1" } - }, - "0xe6b738da243e8fa2a0ed5915645789add5de5152": { - "balance": "0x1256b6ed95dc7836b6", - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], + } + }, + "meta": { + "byte_code": "0x02f902fb0104830ef4208501e66baab98303e9da94881d40237659c251811cec9c364ef91dc08d300c8801cdda4faccd0000b902865f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001cdda4faccd000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001c616972737761704c696768743446656544796e616d696346697865640000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000018ec8246c80000000000000000000000000000000000000000000000000000000006632d0eb00000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000016c35eb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c9cfc2d15e6800000000000000000000000000000000000000000000000000000000000000001c603767b75c4951b432bf7f7d674e6f9bcb1cade6ca63e86860102c9e27b6e89a725eeeb3cdcb1d280d887be919f61d59f07a88a5d68d00d1ee0a69bb89d0dd8600000000000000000000000000000000000000000000000000040a8cdb6e9800000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000001bcc080a0cd6b6e5782455ca85cc24e56171fc2e5420615ddf11e974c8feaf45b2ad83ff1a01e35039443d686088dcfd97cd536cd4e5fd187d45e015ce1e43b223498dadb6a", + "new_txn_trie_node_byte": "0x02f902fb0104830ef4208501e66baab98303e9da94881d40237659c251811cec9c364ef91dc08d300c8801cdda4faccd0000b902865f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001cdda4faccd000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001c616972737761704c696768743446656544796e616d696346697865640000000000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000018ec8246c80000000000000000000000000000000000000000000000000000000006632d0eb00000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000016c35eb8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c9cfc2d15e6800000000000000000000000000000000000000000000000000000000000000001c603767b75c4951b432bf7f7d674e6f9bcb1cade6ca63e86860102c9e27b6e89a725eeeb3cdcb1d280d887be919f61d59f07a88a5d68d00d1ee0a69bb89d0dd8600000000000000000000000000000000000000000000000000040a8cdb6e9800000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000001bcc080a0cd6b6e5782455ca85cc24e56171fc2e5420615ddf11e974c8feaf45b2ad83ff1a01e35039443d686088dcfd97cd536cd4e5fd187d45e015ce1e43b223498dadb6a", + "new_receipt_trie_node_byte": "0xb906b402f906b00183a37debb9010000000000000000001000000000000000000000000200000000000000000000000000010000000000000010000000020002000000080008000000040000000009a00000000000000008020008000000000000000000440000000004008000000000000000000000000000000000000801000000000000040000000010004010000000021000000000000000000000000000020001010100004020000000000000000000000200200000000040000000000000000000000000000000000000000000000002000404400000000000000000001000000400000000000002000000000020200000000400000000800000000000000000020000400000000000001000f905a5f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000000000000000000000000000001cdda4faccd0000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7fa000000000000000000000000000000000000000000000000001c9cfc2d15e6800f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7fa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000000000000000000000000000000000000016c35eb8f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7fa0000000000000000000000000ad30f7eebd9bd5150a256f47da41d4403033cdf0a0000000000000000000000000000000000000000000000000000000000002e9e7f9013d94d82fa167727a4dc6d6f55830a2c47abbb4b3a0f8f884a0b651f2787ff61b5ab14f3936f2daebdad3d84aeb74438e82870cc3b7aee71e90a00000000000000000000000000000000000000000000000000000018ec8246c80a000000000000000000000000051c72848c68a965f66fa7a88855f9f7784502a7fa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b8a0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000016c35eb80000000000000000000000000000000000000000000000000000000000000005000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000001c9cfc2d15e6800f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000000000000000000000000000000040a8cdb6e9800f87a94f326e4de8f66a0bdc0970b79e0924e33c79f1915f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000000000000000000000000000000040a8cdb6e9800f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000000fd370461eedb793a388e88301c5d1320a3d99aca00000000000000000000000000000000000000000000000000000000016c35eb8f87b94881d40237659c251811cec9c364ef91dc08d300cf863a0beee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630da0015123c6e2552626efe611b6c48de60d080a6650860a38f237bc2b6f651f79d1a00000000000000000000000000fd370461eedb793a388e88301c5d1320a3d99ac80", + "gas_used": 207567 + } + }, + { + "traces": { + "0xf5d3ec68826e4774d214c6a515f85bebc7c07874": { "code_usage": { - "read": "0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000" + "read": "0x7e757b94db3a42e934aab2ae8c35e6c650d40bf5c95ae365d3f3eeeb79fe691f" } }, - "0x1a5ffebb342322fe12b0a09651fc57d0b5d4823c": { - "balance": "0x3792bbd648681cf", - "nonce": "0x3fe" - }, - "0x7ac070f096c6e20931c3dc54f927446be232618b": { + "0xa9abc45a98ac6f5bd44944babb425ef480abd3fe": { "code_usage": { - "read": "0x0f92ed241c249832d9b960c98d1253445b186b52afc4bf7f18e7d71c0aa8b201" + "read": "0x2bc5a034ae6b1fce17ee07ec297044da3158fed71200451ae2e2fb66791646bb" } }, - "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "0x10443637df3e2d86b6a5717254e1e8844a84a2a3": { "code_usage": { - "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" + "read": "0x613e13e0e199a54881daa483975acbb7d5353e7c18456226587be657fef89b95" } }, - "0xb8901acb165ed027e32754e0ffe830802919727f": { - "balance": "0x25c66f988815b11c91c", + "0xf2f2c8c61aa951c7f98404e8aa91bb9070c2ccfa": {}, + "0xbbbbca6a901c926f240b89eacb641d8aec7aeafd": { "storage_read": [ - "0x8cc7a1688e07f22ec13eab6d63430d129d7e07853ca941e6824e7860afcdcd47", - "0xa3bd5d0bc36f2e2bbd5d271902a3347b70fb49f3c6f12369a9d81c75718c6c47", - "0x96e5f151d91e68f2b0cb31facab59746b0abcb367b84e7107ff091d086607046" + "0x6969a8bd98e7316424c3e9f2e1ef666cb0112c954c2d7373ef2871acf929353f", + "0x6945c259a2914a8b21aefdcd668ef860651bcd1665c1410d5382ce963f4a6106" ], "storage_written": { - "0x96e5f151d91e68f2b0cb31facab59746b0abcb367b84e7107ff091d086607046": "0x38a67ed7820e2f27d6" + "0x6969a8bd98e7316424c3e9f2e1ef666cb0112c954c2d7373ef2871acf929353f": "0x1724f9d1bd7610039", + "0x6945c259a2914a8b21aefdcd668ef860651bcd1665c1410d5382ce963f4a6106": "0x26a616b2ba98b274bc83" }, "code_usage": { - "read": "0x2d8029dddbfdf4e660665c11c506c1ebad57ffdd728851981a16cc5896ff2338" + "read": "0xa923edf1972a1586fea1e8dddeda8499ba562865ad24eab8ec8b5afab364939c" } }, - "0x0439e60f02a8900a951603950d8d4527f400c3f1": { + "0xbe4c632917b8134b6f57d3d6225376a4ac678822": { + "balance": "0xae0984e407937" + }, + "0x0000000000000000000000000000000000000001": {}, + "0x7620c7a48e77c4ea010b1f277af72609ca65dbfa": { + "balance": "0x0", "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0xc5ece010ec24990c3974ef0005c27a249ca722ee35ff21b57d05564735d1724b", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x0000000000000000000000000000000000000000000000000000000000000004", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x935fe1a0fa571149f5ad2de585740ae19090b7f12c5a733cf380d4d223cf413b", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x18f367dd20a" }, "code_usage": { - "read": "0xd970e18227cfdbd1b5e238117adfcd02d45df280dac1caf154840463c41c05ee" + "read": "0xb717380f5c9a74d593369fc6cef2762a8f31b2801cf341b973dad0f8af7b8da3" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966202c5104a763b" + "0x59f3163ab39b8b90daf57508bc1faecb2f2cd374": { + "balance": "0x795d437022cb9a0", + "nonce": "0x2f9" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d44e2f67c4252" } }, "meta": { - "byte_code": "0x02f9031b018203fd840122fe118509dea717e983028504940439e60f02a8900a951603950d8d4527f400c3f187b1a2bc2ec50000b902a43ce33bff0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000d6c6966694164617074657256320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000006ef81a18e1e432c289dc0d1a670b78e8bbf9aa350000000000000000000000006ef81a18e1e432c289dc0d1a670b78e8bbf9aa35000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f61900000000000000000000000000000000000000000000000000b014d4c6ae2800000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000018de76816d800000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de5152000000000000000000000000000000000000000000000000000000000000006c1223354cf08f158c979a33141a5ffebb342322fe12b0a09651fc57d0b5d4823c00000089000000000000000000af4fccb43a8494710bda329b2a6224e4b44833de30f38e7f81d56400000000000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f0000000000000000000000000000000000000000c080a0c9fe5f5376c49a7e6a8a16c2f294dec290ac579b1c54a4c0c3d0b4c0ed4f962ea0167bde9e121efa52b9b6437761c926c1cd65159e50a6e41733deb2debf697438", - "new_txn_trie_node_byte": "0x02f9031b018203fd840122fe118509dea717e983028504940439e60f02a8900a951603950d8d4527f400c3f187b1a2bc2ec50000b902a43ce33bff0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1a2bc2ec5000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000d6c6966694164617074657256320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000006ef81a18e1e432c289dc0d1a670b78e8bbf9aa350000000000000000000000006ef81a18e1e432c289dc0d1a670b78e8bbf9aa35000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f61900000000000000000000000000000000000000000000000000b014d4c6ae2800000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000018de76816d800000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de5152000000000000000000000000000000000000000000000000000000000000006c1223354cf08f158c979a33141a5ffebb342322fe12b0a09651fc57d0b5d4823c00000089000000000000000000af4fccb43a8494710bda329b2a6224e4b44833de30f38e7f81d56400000000000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f0000000000000000000000000000000000000000c080a0c9fe5f5376c49a7e6a8a16c2f294dec290ac579b1c54a4c0c3d0b4c0ed4f962ea0167bde9e121efa52b9b6437761c926c1cd65159e50a6e41733deb2debf697438", - "new_receipt_trie_node_byte": "0xb9071b02f9071701838ba62eb9010000000000000000000000004000000000101000000000000000000000000000020000000000000000000000000000040400000000000000000000000000000000000000000040002000000002800000000000000000000000080020000000000004000000000000800000000000002013000000002000000000000002000000000400000000000000000000000002000000000080120000000000000000000000040000000200000000000050000000020080c00200000000014000000400000008000020000000000000000000000000204000000000002000800000000220000000200000000000200000a00000000000000000000000002000000000000000f9060cf87a94e6b738da243e8fa2a0ed5915645789add5de5152f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da00000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed16a000000000000000000000000000000000000000000000000000018de76816d800f899949a47f3289794e9bbc6a3c571f6d96ad4e7baed16e1a06ded982279c8387ad8a63e73385031a3807c1862e633f06e09d11bcb6e282f60b8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de515200000000000000000000000000000000000000000000000000018de76816d800f9027d9428e4f3a7f651294b9564800b2d01f35189a5bfbef863a0103fed9db65eac19c4d870f49ab7520fe03b99f1838e5996caf47e9e43308392a000000000000000000000000000000000000000000000000000000000002bb44ea00000000000000000000000008397259c983751daf40400790063935a11afa28ab90200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000026a1fddacfb9f6f5072ee5636ed3429101e6c069000000000000000000000000f2119c5aeb734590477eae272990773df722b49d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000140000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4cc29a3060000000000000000000000001a5ffebb342322fe12b0a09651fc57d0b5d4823c00000000000000000000000000000000000000000000000000b014d4c6ae280000000000000000000000000000000000000000000000000000af4fccb43a84940000000000000000000000000000000000000000000000000000000065d89867000000000000000000000000710bda329b2a6224e4b44833de30f38e7f81d564000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f9011d94b8901acb165ed027e32754e0ffe830802919727ff884a00a0607688c86ec1775abcdbab7b33a3a35a6c9cde677c9be880150c231cc6b0ba00000000000000000000000000000000000000000000000000000000000000089a00000000000000000000000001a5ffebb342322fe12b0a09651fc57d0b5d4823ca0000000000000000000000000710bda329b2a6224e4b44833de30f38e7f81d564b88000000000000000000000000000000000000000000000000000b014d4c6ae280000000000000000000000000000000000000000000000000000af4fccb43a84940000000000000000000000000000000000000000000000000000000065d898670000000000000000000000000000000000000000000000000000000000000000f858946ef81a18e1e432c289dc0d1a670b78e8bbf9aa35e1a0ad635460888489be07731050101b47548c6a3831f2dc51f2b3545696d0b8afd7a0f08f158c979a3314000000000000000000000000000000000000000000000000f8f9949a47f3289794e9bbc6a3c571f6d96ad4e7baed16e1a0831bac9533a2034226daa21109dbd4f887674f0fe4877e1a8b35b3ffe1bdce76b8c00000000000000000000000001a5ffebb342322fe12b0a09651fc57d0b5d4823c0000000000000000000000006ef81a18e1e432c289dc0d1a670b78e8bbf9aa35000000000000000000000000000000000000000000000000000000000000008900000000000000000000000000000000000000000000000000000000000000000000000000000000000000007ceb23fd6bc0add59e62ac25578270cff1b9f61900000000000000000000000000000000000000000000000000b014d4c6ae2800", - "gas_used": 144507 + "byte_code": "0x02f90353018202f8830ecd1085012f6155b98309a79c947620c7a48e77c4ea010b1f277af72609ca65dbfa80b902e4097799270000000000000000000000007620c7a48e77c4ea010b1f277af72609ca65dbfa0000000000000000000000000000000000000000000000000000018f367dd20a000000000000000000000000bbbbca6a901c926f240b89eacb641d8aec7aeafd0000000000000000000000000000000000000000000000000000353cf18fc06d000000000000000000000000000000000000000000000000000000000002067c0000000000000000000000000000000000000000000000000000000000014c08000000000000000000000000dd2a08a1c1a28c1a571e098914ca10f2877d9c9700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000e4b9806d990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000be4c632917b8134b6f57d3d6225376a4ac678822000000000000000000000000000000000000000000000000000ae0984e40793700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023078000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041dfecee34765ddfd03d663a482a266691bb43cdac5fc2c5d5a67459811ac293ba04da8092766ae1b0c3a1ed7b1fc654749e28a26e190aa483842d4d56ae436cb71c00000000000000000000000000000000000000000000000000000000000000c080a0a133dc821503b13e46dc7677c4b5aaf2137b6ba706495cd57fab52803ce9728ca039a5c74c7df8596e8dcab3565960f6887ca389a724d36582cd8543c78ca33af9", + "new_txn_trie_node_byte": "0x02f90353018202f8830ecd1085012f6155b98309a79c947620c7a48e77c4ea010b1f277af72609ca65dbfa80b902e4097799270000000000000000000000007620c7a48e77c4ea010b1f277af72609ca65dbfa0000000000000000000000000000000000000000000000000000018f367dd20a000000000000000000000000bbbbca6a901c926f240b89eacb641d8aec7aeafd0000000000000000000000000000000000000000000000000000353cf18fc06d000000000000000000000000000000000000000000000000000000000002067c0000000000000000000000000000000000000000000000000000000000014c08000000000000000000000000dd2a08a1c1a28c1a571e098914ca10f2877d9c9700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000e4b9806d990000000000000000000000000000000000000000000000000000000000000000000000000000000000000000be4c632917b8134b6f57d3d6225376a4ac678822000000000000000000000000000000000000000000000000000ae0984e40793700000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023078000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041dfecee34765ddfd03d663a482a266691bb43cdac5fc2c5d5a67459811ac293ba04da8092766ae1b0c3a1ed7b1fc654749e28a26e190aa483842d4d56ae436cb71c00000000000000000000000000000000000000000000000000000000000000c080a0a133dc821503b13e46dc7677c4b5aaf2137b6ba706495cd57fab52803ce9728ca039a5c74c7df8596e8dcab3565960f6887ca389a724d36582cd8543c78ca33af9", + "new_receipt_trie_node_byte": "0xb9038202f9037e0183a5809db9010000000000000000000000020000000000800000000080000000000000000000000000000000000000000000000008000000000000000000000000000000000000020004000000000000000008000000000004000000000000000000000800000000000000000000000000000000000000000000000000000010000010000000000000000000000004000000000000000000000000000000000000000000000000100000000000000000000000000000000100020000000000000000000000000000000002000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000004004000000000040f90273f8f9947620c7a48e77c4ea010b1f277af72609ca65dbfae1a0724eb553335573f549c39aeb2a156ff44ed2f031dbec2ac472abcc8543b2f456b8c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000be4c632917b8134b6f57d3d6225376a4ac678822000000000000000000000000000000000000000000000000000ae0984e407937000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000023078000000000000000000000000000000000000000000000000000000000000f89b94bbbbca6a901c926f240b89eacb641d8aec7aeafdf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007620c7a48e77c4ea010b1f277af72609ca65dbfaa0000000000000000000000000dd2a08a1c1a28c1a571e098914ca10f2877d9c97a00000000000000000000000000000000000000000000000006bd31a4de0fdc2ccf8d9947620c7a48e77c4ea010b1f277af72609ca65dbfae1a062c84a9696a03a1f76d684995670d2063d321d1a8f155d3b075037418ac2cccdb8a00000000000000000000000000000000000000000000000000000018f367dd20a00000000000000000000000000000000000000000000000000000000000000003c05aec1e9dbdf31d54e5872039d5ef46dcb94991045843d7086cdb0c69b981f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000025fae", + "gas_used": 131762 } }, { "traces": { - "0x0000000000000000000000000000000000000001": {}, - "0x29ab878aed032e2e2c86ff4a9a9b05e3276cf1f8": { + "0x0683c3cc018fb76874fdcc8620d15c4e467e34ca": { + "code_usage": { + "read": "0xb02a23e305e6b47b0ba014ecb6a3f7c9c0f52b8a841da9b829b7b08978f4e914" + } + }, + "0x91e677b07f7af907ec9a428aafa9fc14a0d3a338": { "storage_read": [ - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x00000000000000000000000000000000000000000000000000000000000000c9" + "0x0000000000000000000000000000000000000000000000000000000000000066", + "0x0000000000000000000000000000000000000000000000000000000000000097", + "0x000000000000000000000000000000000000000000000000000000000000009c", + "0x556315d46b27e9022b94754d47a2d15599b3aaa04f3bc0b42011b703dd42c826", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" ], "code_usage": { - "read": "0x81b5f43f59138521a694413f02c7f8b7112953a3745ab2d4168369e08ddd4be9" + "read": "0x073c6ec3b11b1c79a5e70af69992743e1f9857ca449d45cf954c164b0e464a9a" } }, - "0x38fdf7b489316e03ed8754ad339cb5c4483fdcf9": { + "0x343907185b71adf0eba9567538314396aa985442": { "storage_read": [ - "0x00000000000000000000000000000000000000000000000000000000000000d0", - "0xe89d44c8fd6a9bac8af33ce47f56337617d449bf7ff3956b618c646de829d1c2", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x00000000000000000000000000000000000000000000000000000000000000cc", - "0x00000000000000000000000000000000000000000000000000000000000000cb", - "0x00000000000000000000000000000000000000000000000000000000000000c9", - "0x00000000000000000000000000000000000000000000000000000000000000cf" + "0xb911808f9f2044d1c1211ca42091316ad8ce8065ef9db2333104799f6bf9276e" ], - "storage_written": { - "0xe89d44c8fd6a9bac8af33ce47f56337617d449bf7ff3956b618c646de829d1c4": "0x5a154246cd8446317a0000000000000000097be70fc69ba69f9", - "0x00000000000000000000000000000000000000000000000000000000000000cf": "0x5a154246cd8446317a0", - "0xe89d44c8fd6a9bac8af33ce47f56337617d449bf7ff3956b618c646de829d1c2": "0xdbf3fb5704ce9f4db706fe4d9c3f478e2307825200000000012596ca", - "0xe89d44c8fd6a9bac8af33ce47f56337617d449bf7ff3956b618c646de829d1c3": "0x94ca2bc7ca376000000000000000000000000000000001fd", - "0x00000000000000000000000000000000000000000000000000000000000000d0": "0x1fe" - }, "code_usage": { - "read": "0x81b5f43f59138521a694413f02c7f8b7112953a3745ab2d4168369e08ddd4be9" + "read": "0xc2d18cce2bf7c93de9e99ef47f0fbf63edfbcf74f9b7e987ab79490c8b68e63a" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966207324229cff8" - }, - "0xc9173bf8bd5c1b071b5cae4122202a347b7eefab": { + "0x8e70efc8f2a7b08193ec4e5295849c97f2a84a73": { "code_usage": { - "read": "0x609756d075d5007ce475f10e2b56f0a5c9559fa9d84017a83b77967ee3468b8e" + "read": "0x096d7209afccde983b53d2bf977c5237d02c088e26864f160a326e3c7fd79a2e" } }, - "0xd5f7838f5c461feff7fe49ea5ebaf7728bb0adfa": { + "0x125b367c16c5858f11e12948404f7a1371a0fda3": { "storage_read": [ - "0x6a2f0b11a6bee306a9d461c96e533345ba2266255d6d4753338e127dbd075eb9", - "0x00000000000000000000000000000000000000000000000000000000000000fd", - "0xb3daa940b1ddd4fbc31f019695822cfbcf44ba40ffee5986c5157ff0caa5bf04", "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0xa77191df8cb951a0715415695a1fb57fbc55773e1f00b231294ad7a8ad99f7b4", - "0x2d1eb439335d060367140178a1c8f0da54c5a6e29167fb31d09f511c57d8ca75", - "0x00000000000000000000000000000000000000000000000000000000000000fe", - "0x00000000000000000000000000000000000000000000000000000000000000cb" + "0x0000000000000000000000000000000000000000000000000000000000000033", + "0x000000000000000000000000000000000000000000000000000000000000003a", + "0x000000000000000000000000000000000000000000000000000000000000003d", + "0x0338531a1c1013b69109e18fd7b08d989b3a749cff6b671f2c31e0a4cded8cd6" ], "storage_written": { - "0x2d1eb439335d060367140178a1c8f0da54c5a6e29167fb31d09f511c57d8ca75": "0x37a31c0771d", - "0xa77191df8cb951a0715415695a1fb57fbc55773e1f00b231294ad7a8ad99f7b4": "0x0", - "0xb3daa940b1ddd4fbc31f019695822cfbcf44ba40ffee5986c5157ff0caa5bf04": "0xac9ab968c2caa77f6", - "0x6a2f0b11a6bee306a9d461c96e533345ba2266255d6d4753338e127dbd075eb9": "0x1" + "0x0338531a1c1013b69109e18fd7b08d989b3a749cff6b671f2c31e0a4cded8cd6": "0x1a64205047f4fe82" }, "code_usage": { - "read": "0x81b5f43f59138521a694413f02c7f8b7112953a3745ab2d4168369e08ddd4be9" - } - }, - "0xdbf3fb5704ce9f4db706fe4d9c3f478e23078252": { - "balance": "0x136d95cd436f38f", - "nonce": "0x262" - }, - "0xdecacc56fc347274d3df2b709602632845611d39": { - "code_usage": { - "read": "0x14ad228d221eb9279faf3ff481fde93e8d6237cc15ea7fc854bff984a42d8ced" + "read": "0xe5e3693157141608a301682c8c228c0277eac7efc0b98b57f874ca49752b5fd8" } }, - "0xe3cbd06d7dadb3f4e6557bab7edd924cd1489e8f": { - "storage_read": [ - "0x00000000000000000000000000000000000000000000000000000000000000d7", - "0x00000000000000000000000000000000000000000000000000000000000000d6", - "0x00000000000000000000000000000000000000000000000000000000000000cd", - "0x00000000000000000000000000000000000000000000000000000000000000ca", - "0x00000000000000000000000000000000000000000000000000000000000000cf", - "0x00000000000000000000000000000000000000000000000000000000000000d5", - "0x00000000000000000000000000000000000000000000000000000000000000cc", + "0x8ba40da60f0827d027f029acee62609f0527a255": { + "code_usage": { + "read": "0x1b2ee1fb9e66abe39d4dccacb58856ecd6d99a576a9ae4a2efddf3070ba91dd5" + } + }, + "0x0000000000000000000000000000000000000002": {}, + "0xd4018ce9a041a9c110a9d0383d2b5e1c66ae1513": { + "balance": "0x377ee24893fe05000", + "storage_read": [ + "0x310217950ecedd4ef38a4929947bfec1d6b106dc9aeb6518b741707318145995", + "0x8fe54fc8c4b1097a98be00a532ccf16277986727ecc5031545b600fccac59af9", + "0x206a4cb9a22cb0e652b511d859e1bc653cfb71d6b424d3a2ffc278e5a3410027", + "0x5ed5df821d4d2ea8751423b911b8606c515bbd7af6a9084aa603506111ed6b96", + "0xcccace485ee3c5f242f229f92afd99591f89066b41377e383b1577c1fdfa167f", + "0xfcda4bd28cf230bb5004492c1705cb62157673d3ef107ebe2c48445f4371e58d", + "0x1cb10abe9e7c518e8eb2032de8e789e995cc92510c214395498080b64dfc88a9", + "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50", + "0x5704b99f7a74eb404c128c31449ad734fdfa3202aa2396b586b75da31fc43398", + "0xc9a91d40321bee42169d4d299735e43e210e459603ff42f0be5817af19acbf45", + "0xaffae14c6db6f87a49215bb2397741344fc7faee1b3fbfc683b96e25fdc5875c", + "0x767cbef4d7fc2c759e68c1f7d387035c528dff062f7e49ea02b2f75ce109b8fb", + "0xc9102d74918488f58c596417d97cf4efbbb8a5e7b5ea3bdcc7bdeae752f54dbe", + "0x9056478463259c1ba238e835710842ddcc88475f60b96be5faa1f385c732a8d6", + "0xb35e32e09e7a3133824fd94b9678cb98f1b99ac7ae4addc523f9a55c805b4524", + "0xb7a4d4b2cda36ebb7c12f0007ab5e74aa516a5f393128daded38fd6631d6c36c", + "0x7a08418dc5ae3f75e2c2af28cd84f5c55efc58752cedef90861bc9eeefde7fc5", + "0x155cf49881bacec76861b0cff31dcb56f0acdfe220431a6c5b19ebec413c39d3", + "0xa695cd7622f5c496e9e2fbbccc403b0f770d26765ad4e3dcc9ace39bedea95d0", + "0x0000000000000000000000000000000000000000000000000000000000000033", + "0x7736b9beb5543235af9f547e7b90bc90254024e94460102f74744389b310fb9a", + "0x1bb60af383cd6bba053b0af41e58014bbfdcf333e16506b185f36e1b9c1f584e", + "0x8639c9611e35ad8ea7c81be4ab38c664d395d662796baeb32912a0e531c6112b", + "0x81384827b87e49dedd77362c90dde5a75cde69c8744bdfbc6b10d44f2668abdb", + "0x64c271493ff49887f9c6e06c15b0685d774decdf0a42679cde1c8c946773a681", + "0x8527b17781212c8e3bd95f131a17f796e1342a49aac1be27f0f1e0ce1347f9ea", + "0xaa1ae2f13805a3568bd773308eb85b687935605630b2fe8bc1cf1146955c880b", + "0xa4b89fcaaabe94648c25244e3a1d9e6616854329538cdb08211a2fe80e4ebc84", + "0xe8f571ac73597d5b4773ec0386a84995e8ed3f678b2a37132cb3635f8bcda6d0", + "0xfa2da6b8f350f3fdfc1287c59dba163224b9f4b26b43674f46d3bad2c808b585", + "0x159fc40d2a25412dd43260a032c80af06c8c34646ab01ce4358c6f6795f1cb48", + "0xa1686487bb0c4b25ef115092a595c5b69fc826e0b1f5c7fc2471a250756c9aa0", + "0xc82e6fb0cf83969495b6bcac23606f74a5fc70d96f5a4089ae09900fa5963673", + "0xa1081f4caaf4d65dc9bc36f1d91b96ffd7fc1ee3bf2fa4be0e786c9250e926f3", + "0x7b4c3161e1340b92da464972fd1089ba9f24301823186115fdf37f5d3a998daf", + "0xe6776422db84629d088af0cf89b9f51388d0ec8c464873cd37abcfe390f1ced2", + "0xd5c2a7b6580800ae1eed351411435ac758f0a4d258acf3d2d5d47101f75ccd23", + "0xd6a9d0e7620fd884e0c188f937a1cbb9ef55c13e579e97db9296347bc3b84e0e", + "0x239f93f084ceb1ce1f4dbb9a8d5bbf0e1a949276d5aad29357d916e55c7657e8", + "0x7ad72c1aafb6438210a3c30a493f8c8a1d2e54642ab48327e18ace40c928bcc5", + "0x0000000000000000000000000000000000000000000000000000000000000038", + "0x1cacb2abb3ea188f3bf4d5a6b70197cc1a7c6b5fb7098b83ab5f715428a28d9f", + "0x10b4f9986e2b4bdeb821e215fdcc49cbe5047a06d091f3a79d8a37af7067c53b", + "0xf8d5204027c50ec4497c3e7fdad7aeb9b790802a415215dfcb9694cc3a0d5e9d", + "0x6c99f6129cd63d01275afd3b468f655ad1a27602251407f9f719911846c67a67" + ], + "storage_written": { + "0xf8d5204027c50ec4497c3e7fdad7aeb9b790802a415215dfcb9694cc3a0d5e9d": "0x1", + "0x1bb60af383cd6bba053b0af41e58014bbfdcf333e16506b185f36e1b9c1f584e": "0x1", + "0x1cb10abe9e7c518e8eb2032de8e789e995cc92510c214395498080b64dfc88a9": "0x1", + "0x7ad72c1aafb6438210a3c30a493f8c8a1d2e54642ab48327e18ace40c928bcc5": "0x1", + "0xd6a9d0e7620fd884e0c188f937a1cbb9ef55c13e579e97db9296347bc3b84e0e": "0x1", + "0x1cacb2abb3ea188f3bf4d5a6b70197cc1a7c6b5fb7098b83ab5f715428a28d9f": "0x1", + "0x7a08418dc5ae3f75e2c2af28cd84f5c55efc58752cedef90861bc9eeefde7fc5": "0x1", + "0xa4b89fcaaabe94648c25244e3a1d9e6616854329538cdb08211a2fe80e4ebc84": "0x1", + "0xe6776422db84629d088af0cf89b9f51388d0ec8c464873cd37abcfe390f1ced2": "0x1", + "0xfa2da6b8f350f3fdfc1287c59dba163224b9f4b26b43674f46d3bad2c808b585": "0x1", + "0xfcda4bd28cf230bb5004492c1705cb62157673d3ef107ebe2c48445f4371e58d": "0x1", + "0x8527b17781212c8e3bd95f131a17f796e1342a49aac1be27f0f1e0ce1347f9ea": "0x1", + "0x7736b9beb5543235af9f547e7b90bc90254024e94460102f74744389b310fb9a": "0x1", + "0xc82e6fb0cf83969495b6bcac23606f74a5fc70d96f5a4089ae09900fa5963673": "0x1", + "0x5ed5df821d4d2ea8751423b911b8606c515bbd7af6a9084aa603506111ed6b96": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000038": "0x39339e96d7", + "0xaffae14c6db6f87a49215bb2397741344fc7faee1b3fbfc683b96e25fdc5875c": "0x1", + "0x9056478463259c1ba238e835710842ddcc88475f60b96be5faa1f385c732a8d6": "0x1", + "0x206a4cb9a22cb0e652b511d859e1bc653cfb71d6b424d3a2ffc278e5a3410027": "0x1", + "0xc9a91d40321bee42169d4d299735e43e210e459603ff42f0be5817af19acbf45": "0x1", + "0x310217950ecedd4ef38a4929947bfec1d6b106dc9aeb6518b741707318145995": "0x1", + "0xa1081f4caaf4d65dc9bc36f1d91b96ffd7fc1ee3bf2fa4be0e786c9250e926f3": "0x1" + }, + "code_usage": { + "read": "0xabfd2dfbb9f1b63da008db9f3d405ec3c11d9cf641d23724b472062fd1753584" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d48e99ae4cec2" + }, + "0x4bb6731b02314d40abbffbc4540f508874014226": { + "code_usage": { + "read": "0x6dd6bdc933b70b3ec876665b64674e4cb34f5ed6045f7719a43a00cbb1b66b50" + } + }, + "0x7fe7e9cc0f274d2435ad5d56d5fa73e47f6a23d8": { + "balance": "0x1644a1eff83cf4eeabf", + "storage_read": [ + "0xb011f14a43232977155f9a0d381d4b55ea4d8a81f8f82a20e727f45aa42a2b2a", "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x00000000000000000000000000000000000000000000000000000000000000d4" + "0x0000000000000000000000000000000000000000000000000000000000000098" ], + "storage_written": { + "0xa62db48e6e1ba0a9665e74edbfc78982198a4628e070211d083858b028a61e28": "0x12dcc0f000000000000000000000000000000000000000005f1998ca9ca8200", + "0xb011f14a43232977155f9a0d381d4b55ea4d8a81f8f82a20e727f45aa42a2b2a": "0x28a" + }, "code_usage": { - "read": "0x81b5f43f59138521a694413f02c7f8b7112953a3745ab2d4168369e08ddd4be9" + "read": "0x073c6ec3b11b1c79a5e70af69992743e1f9857ca449d45cf954c164b0e464a9a" } }, - "0x9d624df2a423cc3f0425827fdddfe053d9a0fdf3": { - "code_usage": { - "read": "0xe342f6fc9c5a65de4ca62b67aeba340c9933008be8d21d1493ff013f63420417" - } + "0x3b8c27038848592a51384334d8090dd869a816cb": { + "balance": "0x33bd6941785f5fa1e", + "nonce": "0x1002" }, - "0x7a6c874db238d7fdc84516cd940e97032271af69": { + "0x5a2a4f2f3c18f09179b6703e63d9edd165909073": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], "code_usage": { - "read": "0x063d938c3c0db4edef38405d64716bc9e0932fdc4bd512ee784f0d10091bf4dc" + "read": "0x69301a1fa1030cc91e987bc49ac22ab78bf038a9a8da964df9041f23cf15180a" } }, - "0x8735049f496727f824cc0f2b174d826f5c408192": { + "0x4994efc62101a9e3f885d872514c2dc7b3235849": { "storage_read": [ - "0x66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad21c9", - "0x66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad21ca", - "0x66be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad21cb", "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x00000000000000000000000000000000000000000000000000000000000000c9" + "0x17f5278084f3fc1ed20903ee2a9037f02122e3c25267d55fce4fcd529c91c0fe" ], "code_usage": { - "read": "0x81b5f43f59138521a694413f02c7f8b7112953a3745ab2d4168369e08ddd4be9" + "read": "0xe5e3693157141608a301682c8c228c0277eac7efc0b98b57f874ca49752b5fd8" } }, - "0x5a7b3cde8ac8d780af4797bf1517464ac54ca033": { + "0xe4297e3dadbc7d99e26a2954820f514cb50c5762": { "code_usage": { - "read": "0xeee46c63424daf8e81148abcbe88882f9926609e8a019fc2deb948e44d26eaa4" + "read": "0x60ecc7f3d0570aaefe9b8c91ea09587c5242ec61258233fb920b88db2bbc85c1" } } }, "meta": { - "byte_code": "0x02f9013301820261840122fe118509dea717e98306734494e3cbd06d7dadb3f4e6557bab7edd924cd1489e8f80b8c4b064d46100000000000000000000000000000000000000000000000094ca2bc7ca37600000000000000000000000000000000000000000000000000096fc358a82ccae900000000000000000000000000000000000000000000000000000000065cf6496000000000000000000000000000000000000000000000000000000000000001c43db4b2b6b74ec37e9443b4d1e23aad020f7189e8b83789186b42cb430b280f3444cb2303cb6357d74d90af375fa31f4e328721de54fa30ec5fe1f8179ec9d77c001a0fa91f7eb30b220e2a1981f6f4b4d60003e1b706e8427267b11f0b5dcafafb0f7a012aa7ac2210153fb871a585fb333fdd66a7858a5b9650754fc18aad988293ae6", - "new_txn_trie_node_byte": "0x02f9013301820261840122fe118509dea717e98306734494e3cbd06d7dadb3f4e6557bab7edd924cd1489e8f80b8c4b064d46100000000000000000000000000000000000000000000000094ca2bc7ca37600000000000000000000000000000000000000000000000000096fc358a82ccae900000000000000000000000000000000000000000000000000000000065cf6496000000000000000000000000000000000000000000000000000000000000001c43db4b2b6b74ec37e9443b4d1e23aad020f7189e8b83789186b42cb430b280f3444cb2303cb6357d74d90af375fa31f4e328721de54fa30ec5fe1f8179ec9d77c001a0fa91f7eb30b220e2a1981f6f4b4d60003e1b706e8427267b11f0b5dcafafb0f7a012aa7ac2210153fb871a585fb333fdd66a7858a5b9650754fc18aad988293ae6", - "new_receipt_trie_node_byte": "0xb904a202f9049e01838f8b1bb9010000000000000000000000100000000000000000000000000000000000000000200080020000000000000000000200000080800000000000000000040000200000000100000000000000000008000000000000000000400000000000000000000800000000000000000000040000000040000000000000000000000010008000000000080011000000800000000020000000000000000000000000000000000000020000000000000100000010000000000000000000000000000000000000000000020002008000000020000000000100000000000000000000000000000000004010000000000000000000000000000000000000000000000000000000000100f90393f89b94d5f7838f5c461feff7fe49ea5ebaf7728bb0adfaf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000dbf3fb5704ce9f4db706fe4d9c3f478e23078252a0000000000000000000000000e3cbd06d7dadb3f4e6557bab7edd924cd1489e8fa000000000000000000000000000000000000000000000000094ca2bc7ca376000f8fc9438fdf7b489316e03ed8754ad339cb5c4483fdcf9f863a0ed5afdabca1838de7f5496f997e6e788ad3207f6299f64700e63435813b7ade4a000000000000000000000000000000000000000000000000000000000000001fda0000000000000000000000000dbf3fb5704ce9f4db706fe4d9c3f478e23078252b88000000000000000000000000000000000000000000000000094ca2bc7ca37600000000000000000000000000000000000000000000000000097be70fc69ba69f90000000000000000000000000000000000000000000005a154246cd8446317a000000000000000000000000000000000000000000000000000000000012596caf8bc94e3cbd06d7dadb3f4e6557bab7edd924cd1489e8ff863a0cbb10a3603d92dc1f9db6996b88539fbd521bb4144891e34c75b05c341c18379a000000000000000000000000000000000000000000000000000000000000001fda0000000000000000000000000dbf3fb5704ce9f4db706fe4d9c3f478e23078252b84000000000000000000000000000000000000000000000000097be70fc69ba69f900000000000000000000000000000000000000000000000094ca2bc7ca376000f89b94d5f7838f5c461feff7fe49ea5ebaf7728bb0adfaf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000dbf3fb5704ce9f4db706fe4d9c3f478e23078252a0000000000000000000000000e3cbd06d7dadb3f4e6557bab7edd924cd1489e8fa00000000000000000000000000000000000000000000000000000000000000000f89b94d5f7838f5c461feff7fe49ea5ebaf7728bb0adfaf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000dbf3fb5704ce9f4db706fe4d9c3f478e23078252a000000000000000000000000038fdf7b489316e03ed8754ad339cb5c4483fdcf9a000000000000000000000000000000000000000000000000094ca2bc7ca376000", - "gas_used": 255213 + "byte_code": "0x02fa018ed401821001830ecd1085021d636f7483493e0094125b367c16c5858f11e12948404f7a1371a0fda380ba018e64e251ef52000000000000000000000000000000000000000000000000000000006632c83700000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000e60000000000000000000000000000000000000000000000000000000000000164200000000000000000000000000000000000000000000000000000000000017e8065c9a94b913b072aaa5ac2bf95d53b6dd617d2b13ec6da39d9f1656886279981000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000608c6d1ea4f4c9ed8ffe204420314bb55b195273c3b8249cbf26c5fba8733394067c517731575acf0fb4e6b348e94574974f97a30ed5ff5b070f7ba8d72e6fa2e1ca576331bfc620de8829aad86e22b3eb2f0631feb5ddb6d68dbacb76a3084439000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000d60000000000000000000000000000000000000000000000000000000000000182000000000000000000000000000000000000000000000000000000000000022e00000000000000000000000000000000000000000000000000000000000002da0000000000000000000000000000000000000000000000000000000000000386000000000000000000000000000000000000000000000000000000000000043200000000000000000000000000000000000000000000000000000000000004de000000000000000000000000000000000000000000000000000000000000058a000000000000000000000000000000000000000000000000000000000000063600000000000000000000000000000000000000000000000000000000000006e2000000000000000000000000000000000000000000000000000000000000078e000000000000000000000000000000000000000000000000000000000000083a00000000000000000000000000000000000000000000000000000000000008e600000000000000000000000000000000000000000000000000000000000009920000000000000000000000000000000000000000000000000000000000000a3e0000000000000000000000000000000000000000000000000000000000000aea0000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000c420000000000000000000000000000000000000000000000000000000000000cee0000000000000000000000000000000000000000000000000000000000000d9a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000083748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f000000000000000000000000000000000000000000000000000000000000014078d9edf2e02849085035e9a4bd9fc2c66349f52ea7dad49287e05839bdae633cad3d4de0ba1ab0f00c609abadfe9556aa6834abec9d1f6fbfa7d21e1f27b3b91930b0e4764f71e0a13df71f39013f8a6a0cb1cb3654a81f1b51a903e15830773ea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000093748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f00000000000000000000000000000000000000000000000000000000000001400d03414ac50cc65afd2b877ab6b3abfbb04899129dbb27e90e3381dd240072f4ad3d4de0ba1ab0f00c609abadfe9556aa6834abec9d1f6fbfa7d21e1f27b3b91930b0e4764f71e0a13df71f39013f8a6a0cb1cb3654a81f1b51a903e15830773ea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000a3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f00000000000000000000000000000000000000000000000000000000000001402a9e6397f2a9e5c408761183568d2cb285fd032537e5318012bd198b6e54c68f8eb81e1478eea20f5e8db24c47ef1997007d3b4528ebf741bf9d03176c18498f930b0e4764f71e0a13df71f39013f8a6a0cb1cb3654a81f1b51a903e15830773ea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000b3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f0000000000000000000000000000000000000000000000000000000000000140054ba06638549818728cdd98dd82409cf919ac831214a656243185dd4ab91d538eb81e1478eea20f5e8db24c47ef1997007d3b4528ebf741bf9d03176c18498f930b0e4764f71e0a13df71f39013f8a6a0cb1cb3654a81f1b51a903e15830773ea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000c3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f0000000000000000000000000000000000000000000000000000000000000140cefed2f2c5f6f6ccd39ef3430a3b6b6273d208aa0a034f8f432724e28463376475bdb7b334c2213126a09c0a7cba93b12c4d0c71d482285d22c95adf5c309aabb518635de21cc8d5e070e8ee2d3d72f7d4ec0a16d2da2349fe575364a139edfeea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000d3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f0000000000000000000000000000000000000000000000000000000000000140ab32e47cb94a6ff38a0b75a7c76235efb802d9c837bdbc3f8121981044e00e3375bdb7b334c2213126a09c0a7cba93b12c4d0c71d482285d22c95adf5c309aabb518635de21cc8d5e070e8ee2d3d72f7d4ec0a16d2da2349fe575364a139edfeea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000e3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f0000000000000000000000000000000000000000000000000000000000000140ad96fda4bae9f3b08d5db1b2d3b1d4133cdc1e15e4bd9805580bf30a9bf666fad6eac01a1d01a767cf04f230455fa968eb2c48cc0c2bea54e8041b483db2af56b518635de21cc8d5e070e8ee2d3d72f7d4ec0a16d2da2349fe575364a139edfeea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000f3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f00000000000000000000000000000000000000000000000000000000000001402708bded31f6be97be8cd2d19d69b15e0091bc2861597b1dc669fb18113b7c82d6eac01a1d01a767cf04f230455fa968eb2c48cc0c2bea54e8041b483db2af56b518635de21cc8d5e070e8ee2d3d72f7d4ec0a16d2da2349fe575364a139edfeea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000002907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001400c263885856a0c8b6e1c2c7a46b1ae680d96bf1d4f1a964905e6aab22a718c2511bcb54a68f06360a895074316474a382bdf62a7391e46123fec12e9dfcb4af3f64e35827710a9d5b3bcb370332e38cca9f90963b66fb5f190d51936d6f3f89f36b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000012907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b0000000000000000000000000000000000000000000000000000000000000140ae3dcec692a668e4132ce0a5bc1a1aa848b6dd0d47d35a20fd2ac42e0fed73be11bcb54a68f06360a895074316474a382bdf62a7391e46123fec12e9dfcb4af3f64e35827710a9d5b3bcb370332e38cca9f90963b66fb5f190d51936d6f3f89f36b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000022907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001406e454818679515b68b05878cf09d3676b0186b5a5ca604fd79e8a5ec07dd5d8ed0da550f758673e061cc8f3f16591b67cb02b9a5b9572a3c011e42cf73d1b3c9f64e35827710a9d5b3bcb370332e38cca9f90963b66fb5f190d51936d6f3f89f36b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000032907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001401a50664c1959fc30ef0138c1bcf84bab3d7f885942286c46c4debdb14c02dbabd0da550f758673e061cc8f3f16591b67cb02b9a5b9572a3c011e42cf73d1b3c9f64e35827710a9d5b3bcb370332e38cca9f90963b66fb5f190d51936d6f3f89f36b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000042907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001400b71423c4d80745c9073a2df6874365ba5487dc81d83e733f49971c88b569ecf7ebb87ce5398fa0fc7ffeaae5a036daef07cc1713b90668cdaa099b720b080c6f7a063e6df566724e4f1d433bf064d089aa7f2ba113d76c95a1db5090bc42b1436b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000052907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b000000000000000000000000000000000000000000000000000000000000014081cb362d992b1f5d470d87de66ef22b8b07958f1d1c07088a6861136299ad6a67ebb87ce5398fa0fc7ffeaae5a036daef07cc1713b90668cdaa099b720b080c6f7a063e6df566724e4f1d433bf064d089aa7f2ba113d76c95a1db5090bc42b1436b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000062907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b0000000000000000000000000000000000000000000000000000000000000140406d885e5e35dde409c0ae86defd8f29cf13962615981fecb6a3396d1efc027dff12ed897782bf2bf2ae2445db0d121133536aa05601c8a6fbed50ba8554d543f7a063e6df566724e4f1d433bf064d089aa7f2ba113d76c95a1db5090bc42b1436b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000072907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b000000000000000000000000000000000000000000000000000000000000014028cca6280b7b1c6437c75ab282b6c48204d3604875fc5fa55ecb96d5a13208cbff12ed897782bf2bf2ae2445db0d121133536aa05601c8a6fbed50ba8554d543f7a063e6df566724e4f1d433bf064d089aa7f2ba113d76c95a1db5090bc42b1436b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000082907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b0000000000000000000000000000000000000000000000000000000000000140c7f9843d78c086c630a0bc6fe0dcbd97ca3383de31b458c04eadd8f4bf56afc93b08d5f2ab70c3b65b227d02c0d3221d94e083204c28713911f23afff2bd8bac81ac09c7c570e794bc3f591b5740147c5a8b5f0b2e3fcc926bcd95add3acbaa8d5eeeadb9fa46ddc69c37f2995a5481f46d75fdc60e79fbf950de1e8c9fa86ad10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000092907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001405afc83b61c3ca8b968db8e00f5fd46844c22e95af2b22db31f50852a910ddc9d3b08d5f2ab70c3b65b227d02c0d3221d94e083204c28713911f23afff2bd8bac81ac09c7c570e794bc3f591b5740147c5a8b5f0b2e3fcc926bcd95add3acbaa8d5eeeadb9fa46ddc69c37f2995a5481f46d75fdc60e79fbf950de1e8c9fa86ad10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000a2907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001403907187e9ad58ff3415480cc36222cf13ac3a28e631c247b783fd0bb8cd1371c1c420b004c13e5b8e966f6810fb7a0beca8d458a581a1497d0e76a8efcf7012681ac09c7c570e794bc3f591b5740147c5a8b5f0b2e3fcc926bcd95add3acbaa8d5eeeadb9fa46ddc69c37f2995a5481f46d75fdc60e79fbf950de1e8c9fa86ad10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000b2907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b000000000000000000000000000000000000000000000000000000000000014058d1f04a72a5fb33b0b3adb3f7621b1098c990ce21e9bcd332e11e21f0a5d3361c420b004c13e5b8e966f6810fb7a0beca8d458a581a1497d0e76a8efcf7012681ac09c7c570e794bc3f591b5740147c5a8b5f0b2e3fcc926bcd95add3acbaa8d5eeeadb9fa46ddc69c37f2995a5481f46d75fdc60e79fbf950de1e8c9fa86ad10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000c2907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b0000000000000000000000000000000000000000000000000000000000000140fb79a773974cda707a3d0826dd2fdbd17898357185d779e35368b69fc5e829da80e550e7fa77d82b8f5f82e822b1175d79075408547ec2186a91d5cb562e0f529e8206ff56fc5a2fb09a8aa48d024587490c6d7006c10fca27c86b2170e71522d5eeeadb9fa46ddc69c37f2995a5481f46d75fdc60e79fbf950de1e8c9fa86ad10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000008800000000000000000000000000000000000000000000000000000000000000e6000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000001a20000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000025e00000000000000000000000000000000000000000000000000000000000002bc000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000037800000000000000000000000000000000000000000000000000000000000003d60000000000000000000000000000000000000000000000000000000000000434000000000000000000000000000000000000000000000000000000000000049200000000000000000000000000000000000000000000000000000000000004f0000000000000000000000000000000000000000000000000000000000000054e00000000000000000000000000000000000000000000000000000000000005ac000000000000000000000000000000000000000000000000000000000000060a000000000000000000000000000000000000000000000000000000000000066800000000000000000000000000000000000000000000000000000000000006c600000000000000000000000000000000000000000000000000000000000007240000000000000000000000000000000000000000000000000000000000000782000000000000000000000000000000000000000000000000000000000000005c05d2f1206eee018a51f8ba565a3886335f4eac07e5513690fd80d30992f71ee59fb2b3a624ce9992200a2676fca022821f776a1565dc8c90f0c68342ecf6d2a0ddf4455f24d021bfe344d686c83c46a482e486ff6247e19293ab4a273cd49b284db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c09e96aab01824349e0ee24ff88a874ec96c678186796ea46ae07a246adc096916caff5edd1724cc6687de6c740654a33fe972eae615879138fc96fb7f340673d9df4455f24d021bfe344d686c83c46a482e486ff6247e19293ab4a273cd49b284db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c06bc44b6ccb8b986ca5b1f93838f9751775e14dea132e2922bb3b16a29d7611e8caff5edd1724cc6687de6c740654a33fe972eae615879138fc96fb7f340673d9df4455f24d021bfe344d686c83c46a482e486ff6247e19293ab4a273cd49b284db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0f192917a7119a23d8773bd1976bd75f42e55dade8b0d24db95933ccd2485cf3e965a83b9c32d4c94c58879c78961f86f835b0eaae9b8e0d112d9629c8c9976e010b12cd87a177f657c9808f206be04ca56e37941db819476fb7c130f9370ee58db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0630dc94297fc8169a1c3ba16bc85fce3c95bf2974d1643f092fc0ca3e822082f965a83b9c32d4c94c58879c78961f86f835b0eaae9b8e0d112d9629c8c9976e010b12cd87a177f657c9808f206be04ca56e37941db819476fb7c130f9370ee58db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c02dc53305b894e1f3ea5e5cc96fae9adbc63426ca9f9374ebc62a572b9a4dca135b17189ee9db7b46f2e334a5a0c0608341c2af8c0202376a19e9527d0faa1f1310b12cd87a177f657c9808f206be04ca56e37941db819476fb7c130f9370ee58db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0f74f1e9c285b6a7ef7404ce6fac328b911be0ac69faaf3bd30a145e0d0e1581d5b17189ee9db7b46f2e334a5a0c0608341c2af8c0202376a19e9527d0faa1f1310b12cd87a177f657c9808f206be04ca56e37941db819476fb7c130f9370ee58db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c056108f9d757b91bb7c62799098f041eda0b160c5ccb92237c6beb9ff5db2e963cb8e3b1b9957de85ea35f0d7dda35f7fd7a82b018d3fdec5a5f84ee2749adb7880d0268104e0d5f59427047c17bb3a79427ba59ba34037daf9dd2a6f0c5bebd049f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c03db8dab7efa52a0d21565c9ad7c5d89207e9712f55d5f3ac1b55010d64cb9fd9cb8e3b1b9957de85ea35f0d7dda35f7fd7a82b018d3fdec5a5f84ee2749adb7880d0268104e0d5f59427047c17bb3a79427ba59ba34037daf9dd2a6f0c5bebd049f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c079fa4cb16015b3e6d256ae67a6094dbfca0edba3d215f2df8767d212f30443f4a1a500e6c2d3ff3e597d55fada25ec9c6b644d9b62b94c3428d8ce8ff597aaa480d0268104e0d5f59427047c17bb3a79427ba59ba34037daf9dd2a6f0c5bebd049f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0eaf71b77721a0d3eb40cd4b785681458dc303af0bb2d672bc982fc3d0976d082a1a500e6c2d3ff3e597d55fada25ec9c6b644d9b62b94c3428d8ce8ff597aaa480d0268104e0d5f59427047c17bb3a79427ba59ba34037daf9dd2a6f0c5bebd049f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0c0845c69d8f739618dc3e198aa6d0f2383dab3d43ceec12137dbdebf8b45bae495911d4f59a60cc3a0b307b18a631d389305e0809e3cac0bcb67dd9f2f6f517f4f4a2ee609735178e8944b072ba81d58a80a89c11bcb1191693b0a177e1fc50b49f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c02f1ad8146a949f9ab9a1511139d6a835ad5bba1f196edf0ae1f2ea50061a427a95911d4f59a60cc3a0b307b18a631d389305e0809e3cac0bcb67dd9f2f6f517f4f4a2ee609735178e8944b072ba81d58a80a89c11bcb1191693b0a177e1fc50b49f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0b8f23e5c586d150ae586b5d116d7e2c83ce44d79608731dda286d6c54d82471dc2fba0a0d34ea7d9162eaad2cf3b12fce81649113cba11f026c594204f806aa54f4a2ee609735178e8944b072ba81d58a80a89c11bcb1191693b0a177e1fc50b49f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0d31c75d17cf134f4eebb2ecab24281c49fce41c82285a40c6c59abae1e92b515c2fba0a0d34ea7d9162eaad2cf3b12fce81649113cba11f026c594204f806aa54f4a2ee609735178e8944b072ba81d58a80a89c11bcb1191693b0a177e1fc50b49f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0c5b9aa9d7f36fa3491e1d35accfa10fa927930cc786e25b51f87be9908fb59df5c5420b92ffb4674e424debca60f011f82d4636dc66e7c5a767d2eb90853fc91ff7b02f814803d1ed55a4c0913fe99eaad3446712a4e8ed1041b32171ca86b23bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c08958abd11796ed18fc42652bad205c43f183d1d02c2976139acc9545925440fd5c5420b92ffb4674e424debca60f011f82d4636dc66e7c5a767d2eb90853fc91ff7b02f814803d1ed55a4c0913fe99eaad3446712a4e8ed1041b32171ca86b23bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c016fe7e24735c848a1589e11b1aa23a32ff9180191ac774d9d813c22fde023ff8503fb14b5b1847d04a9056b05c48c0b54af8a33e9bf33e75f23b51944aa781f6ff7b02f814803d1ed55a4c0913fe99eaad3446712a4e8ed1041b32171ca86b23bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c087afb08a71f582ee225a175ce5c8dedbe87f014abd28036a800677dd61fbdd4a503fb14b5b1847d04a9056b05c48c0b54af8a33e9bf33e75f23b51944aa781f6ff7b02f814803d1ed55a4c0913fe99eaad3446712a4e8ed1041b32171ca86b23bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c04971b1aed9c485b08109d345cfec6084e0be674b7ec535375480deda56716939fb965a846166bfe5154a77884e1d8ac670fe9d13d820fb5b9f278f27b44d8e15b30b15c8f36c8368a5a8b31b717ce96883c44580f828b12d205fb5b2ea55b380bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0a4db63a48914721a319c726415181caf5eb940c455266385d9452515fae5884efb965a846166bfe5154a77884e1d8ac670fe9d13d820fb5b9f278f27b44d8e15b30b15c8f36c8368a5a8b31b717ce96883c44580f828b12d205fb5b2ea55b380bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d660000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000720000000000000000000000000000000000000000000000000000000000000084000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a800000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000de00000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000102000000000000000000000000000000000000000000000000000000000000011400000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000000000000000138000000000000000000000000000000000000000000000000000000000000014a000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000016e0000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000019200000000000000000000000000000000000000000000000000000000000000008409cd2d106ed9a5df98302398aa655c0871eb44cca9ca0c45193deb370f281c4010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008153d64db023fe93ad34f6c91c62eccecf6f828330b02350a25506923bad8e74a010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008f2955dfe85f0e6b069b6d613cb56aed3eec7e370b1eefcbb2e1c1e2035bb86ea010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081db79f4a8d7556e54f04cff875da1c55d8f4f369d0801634201c49393c40ece0010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000809b8128bd1ab644399e14c34966c6e0d78717831f4dc0e3590c72fa988516e44010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000854b7195e9be978eb96a1effa67bcc23872aad18aa95f7b7803215588da90f401010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a51d6e8cddea815d8a863b69bcbc0d371198cbfe27ad06ffeb8eaf8e0d89f2e6010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008daddc2dd2be0f7da7734c472103a4a0169e3b6741e9b551d7800924f61165137010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008003c872c201336a79c59b3ff1270dd018e2639de149942f0dfb467e7b3268c6e010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000897970a707b1096ee49b5e6fe5fbfa18beaeb330b63b57c76944e4c5b24fa12bf010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008254c49d6185721779b7368385041b872ccdbedb5fdc0ec331bd4b207c682e236010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088e17015cc18b683fe35728c921d0a0a769159e0477a3d1fddf3471e6a961003a010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008552493728aec80f1cb471b1462ddcebedda9ae00e43ba85a85d3a4b589888908010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082671253c677a0fb064f9d63e08d98ab11b5ce8e44c2983d391b039731bc39dba010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008f52cf4e0eae552a6491fbf978ff4b30737bc9743ca53945d6d829a6335f794e1010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e7bf516d1a9811bce4b678ff49ae61cac6e78a93f732e25827703e9abc3d5b7b010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085c4bd16c8f3b36fa3e8a5f7a256c78863f0c876389ab078701e5fdddabd7142a010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ad36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a70fb3bad02878a397b8bd38115318ce83a013c20108e731dd178b129d504a1a010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ad36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e377aac7fdc4c3b85b8b7ad0e65a43e5dcb3930fcce2118d6411a3f0f8d66680010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ad36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a85ad3f38796a2f2d7981aa9ea6231ce6df9740325c4b05fe81dea1e1959ba2f010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ad36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082f9885775935daa258958bab3b5a616c0dc28bab54d55cc69d78c12bd0175df7010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ad36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000052000000000000000000000000000000000000000000000000000000000000005c00000000000000000000000000000000000000000000000000000000000000660000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000084000000000000000000000000000000000000000000000000000000000000008e000000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000b600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000d400000000000000000000000000000000000000000000000000000000000000de00000000000000000000000000000000000000000000000000000000000000e800000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000000423239302000000000000000000000000000000000000000000000000000000006963140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000004b72170100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000424239302000000000000000000000000000000000000000000000000000000006a63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000003d92160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425239302000000000000000000000000000000000000000000000000000000006b63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000c6bdbd0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000426239302000000000000000000000000000000000000000000000000000000006c63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000004df3160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000427239302000000000000000000000000000000000000000000000000000000006d63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000eb97170100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000428239302000000000000000000000000000000000000000000000000000000006e63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000d179160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000429239302000000000000000000000000000000000000000000000000000000006f63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000ddb416010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042a239302000000000000000000000000000000000000000000000000000000007063140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300000000000000000000000057ed15010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042b239302000000000000000000000000000000000000000000000000000000007163140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000bff816010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042c239302000000000000000000000000000000000000000000000000000000007263140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000387117010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042d239302000000000000000000000000000000000000000000000000000000007363140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000002cfd16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042e239302000000000000000000000000000000000000000000000000000000007463140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000d34517010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042f239302000000000000000000000000000000000000000000000000000000007563140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000ec21170100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000430239302000000000000000000000000000000000000000000000000000000007663140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000a8bd150100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000431239302000000000000000000000000000000000000000000000000000000007763140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000008e96160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000432239302000000000000000000000000000000000000000000000000000000007863140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000003c95160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000433239302000000000000000000000000000000000000000000000000000000007963140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300000000000000000000000051c6160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000434239302000000000000000000000000000000000000000000000000000000007a63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000008686170100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000435239302000000000000000000000000000000000000000000000000000000007b63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300000000000000000000000095bc160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000436239302000000000000000000000000000000000000000000000000000000007c63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000007aac160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000437239302000000000000000000000000000000000000000000000000000000007d63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000e860170100000000000000000000000000000000000000000000000000000000c001a080a6743a1debc20a5703ac83dbaca7f07888c15ae250ceee9d221c324e95e326a01f25c799b3ec63d965fce04b122908561edd9d804cc48118336d682f55e0883c", + "new_txn_trie_node_byte": "0x02fa018ed401821001830ecd1085021d636f7483493e0094125b367c16c5858f11e12948404f7a1371a0fda380ba018e64e251ef52000000000000000000000000000000000000000000000000000000006632c83700000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000e60000000000000000000000000000000000000000000000000000000000000164200000000000000000000000000000000000000000000000000000000000017e8065c9a94b913b072aaa5ac2bf95d53b6dd617d2b13ec6da39d9f1656886279981000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000608c6d1ea4f4c9ed8ffe204420314bb55b195273c3b8249cbf26c5fba8733394067c517731575acf0fb4e6b348e94574974f97a30ed5ff5b070f7ba8d72e6fa2e1ca576331bfc620de8829aad86e22b3eb2f0631feb5ddb6d68dbacb76a3084439000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000d60000000000000000000000000000000000000000000000000000000000000182000000000000000000000000000000000000000000000000000000000000022e00000000000000000000000000000000000000000000000000000000000002da0000000000000000000000000000000000000000000000000000000000000386000000000000000000000000000000000000000000000000000000000000043200000000000000000000000000000000000000000000000000000000000004de000000000000000000000000000000000000000000000000000000000000058a000000000000000000000000000000000000000000000000000000000000063600000000000000000000000000000000000000000000000000000000000006e2000000000000000000000000000000000000000000000000000000000000078e000000000000000000000000000000000000000000000000000000000000083a00000000000000000000000000000000000000000000000000000000000008e600000000000000000000000000000000000000000000000000000000000009920000000000000000000000000000000000000000000000000000000000000a3e0000000000000000000000000000000000000000000000000000000000000aea0000000000000000000000000000000000000000000000000000000000000b960000000000000000000000000000000000000000000000000000000000000c420000000000000000000000000000000000000000000000000000000000000cee0000000000000000000000000000000000000000000000000000000000000d9a0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000083748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f000000000000000000000000000000000000000000000000000000000000014078d9edf2e02849085035e9a4bd9fc2c66349f52ea7dad49287e05839bdae633cad3d4de0ba1ab0f00c609abadfe9556aa6834abec9d1f6fbfa7d21e1f27b3b91930b0e4764f71e0a13df71f39013f8a6a0cb1cb3654a81f1b51a903e15830773ea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000093748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f00000000000000000000000000000000000000000000000000000000000001400d03414ac50cc65afd2b877ab6b3abfbb04899129dbb27e90e3381dd240072f4ad3d4de0ba1ab0f00c609abadfe9556aa6834abec9d1f6fbfa7d21e1f27b3b91930b0e4764f71e0a13df71f39013f8a6a0cb1cb3654a81f1b51a903e15830773ea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000a3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f00000000000000000000000000000000000000000000000000000000000001402a9e6397f2a9e5c408761183568d2cb285fd032537e5318012bd198b6e54c68f8eb81e1478eea20f5e8db24c47ef1997007d3b4528ebf741bf9d03176c18498f930b0e4764f71e0a13df71f39013f8a6a0cb1cb3654a81f1b51a903e15830773ea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000b3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f0000000000000000000000000000000000000000000000000000000000000140054ba06638549818728cdd98dd82409cf919ac831214a656243185dd4ab91d538eb81e1478eea20f5e8db24c47ef1997007d3b4528ebf741bf9d03176c18498f930b0e4764f71e0a13df71f39013f8a6a0cb1cb3654a81f1b51a903e15830773ea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000c3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f0000000000000000000000000000000000000000000000000000000000000140cefed2f2c5f6f6ccd39ef3430a3b6b6273d208aa0a034f8f432724e28463376475bdb7b334c2213126a09c0a7cba93b12c4d0c71d482285d22c95adf5c309aabb518635de21cc8d5e070e8ee2d3d72f7d4ec0a16d2da2349fe575364a139edfeea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000d3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f0000000000000000000000000000000000000000000000000000000000000140ab32e47cb94a6ff38a0b75a7c76235efb802d9c837bdbc3f8121981044e00e3375bdb7b334c2213126a09c0a7cba93b12c4d0c71d482285d22c95adf5c309aabb518635de21cc8d5e070e8ee2d3d72f7d4ec0a16d2da2349fe575364a139edfeea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000e3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f0000000000000000000000000000000000000000000000000000000000000140ad96fda4bae9f3b08d5db1b2d3b1d4133cdc1e15e4bd9805580bf30a9bf666fad6eac01a1d01a767cf04f230455fa968eb2c48cc0c2bea54e8041b483db2af56b518635de21cc8d5e070e8ee2d3d72f7d4ec0a16d2da2349fe575364a139edfeea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011e000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000f3748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e1e61880000000000000000000000000000000000000000000000000000000000bfbd2a66000000000000000000000000000000000000000000000000000000003bed51442a95f5dfcdb00cd9220f7e35eb4a71b6d393885caa20444ae3d2cc6f00000000000000000000000000000000000000000000000000000000000001402708bded31f6be97be8cd2d19d69b15e0091bc2861597b1dc669fb18113b7c82d6eac01a1d01a767cf04f230455fa968eb2c48cc0c2bea54e8041b483db2af56b518635de21cc8d5e070e8ee2d3d72f7d4ec0a16d2da2349fe575364a139edfeea1ddfc24cc6ea9e50186bee6bac849af9f8097a8905b5c492d15e0876efe619100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a2666fe6cae4a0e04cd00dc91171059be2270ac427c8f127ffc86adb58609bc3e4d8650c3b05f8765ba151824fe2aa68b2e09d9f4e6dba28c4cbbe5ef6f2fbb0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c0000000000000000000000000000000000000000000000000000000000000060df61130000000000000000000000000000000000000000000000000000000000e28f3b10c91e0b193917f91e99db48c020d7a7203f5dd221a91e85bc25b069d04a8c5dca59076e118be8b1488b9785e8879a06801383075de85f4da901fb9fd700000000000000000000000000000000000000000000000000000000000000e0c991c63e21943ea5136b6983b6dde7a19723300f60937feaa2b07f46f7c3f6f3b46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d71908d4ec1edf82b26dc6f6109a3c76f04aff989b5e850973a8bc7894e2d65edab0000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b481010413e14e6a22fb81e5cf3c7196369ef5b908826856419d46a520f1c490300000000000000000000000000000000000000000000000000000000000000a0bbecb2000000000000000000000000000000000000000000000000000000000088038122697e4a025d830360e72060b8796b808e0c2eb43aaff232e1288db345f7a42b5f298aecddbcabba76004243be79cffb12b5da942373115d8c8dd2907c0b3c5124079df839149847c64d254a6170ecdc9c9b95aa9517ee3f264c9f0646536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005802907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb615884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000002907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001400c263885856a0c8b6e1c2c7a46b1ae680d96bf1d4f1a964905e6aab22a718c2511bcb54a68f06360a895074316474a382bdf62a7391e46123fec12e9dfcb4af3f64e35827710a9d5b3bcb370332e38cca9f90963b66fb5f190d51936d6f3f89f36b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000012907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b0000000000000000000000000000000000000000000000000000000000000140ae3dcec692a668e4132ce0a5bc1a1aa848b6dd0d47d35a20fd2ac42e0fed73be11bcb54a68f06360a895074316474a382bdf62a7391e46123fec12e9dfcb4af3f64e35827710a9d5b3bcb370332e38cca9f90963b66fb5f190d51936d6f3f89f36b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000022907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001406e454818679515b68b05878cf09d3676b0186b5a5ca604fd79e8a5ec07dd5d8ed0da550f758673e061cc8f3f16591b67cb02b9a5b9572a3c011e42cf73d1b3c9f64e35827710a9d5b3bcb370332e38cca9f90963b66fb5f190d51936d6f3f89f36b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000032907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001401a50664c1959fc30ef0138c1bcf84bab3d7f885942286c46c4debdb14c02dbabd0da550f758673e061cc8f3f16591b67cb02b9a5b9572a3c011e42cf73d1b3c9f64e35827710a9d5b3bcb370332e38cca9f90963b66fb5f190d51936d6f3f89f36b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000042907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001400b71423c4d80745c9073a2df6874365ba5487dc81d83e733f49971c88b569ecf7ebb87ce5398fa0fc7ffeaae5a036daef07cc1713b90668cdaa099b720b080c6f7a063e6df566724e4f1d433bf064d089aa7f2ba113d76c95a1db5090bc42b1436b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000052907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b000000000000000000000000000000000000000000000000000000000000014081cb362d992b1f5d470d87de66ef22b8b07958f1d1c07088a6861136299ad6a67ebb87ce5398fa0fc7ffeaae5a036daef07cc1713b90668cdaa099b720b080c6f7a063e6df566724e4f1d433bf064d089aa7f2ba113d76c95a1db5090bc42b1436b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000062907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b0000000000000000000000000000000000000000000000000000000000000140406d885e5e35dde409c0ae86defd8f29cf13962615981fecb6a3396d1efc027dff12ed897782bf2bf2ae2445db0d121133536aa05601c8a6fbed50ba8554d543f7a063e6df566724e4f1d433bf064d089aa7f2ba113d76c95a1db5090bc42b1436b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000072907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b000000000000000000000000000000000000000000000000000000000000014028cca6280b7b1c6437c75ab282b6c48204d3604875fc5fa55ecb96d5a13208cbff12ed897782bf2bf2ae2445db0d121133536aa05601c8a6fbed50ba8554d543f7a063e6df566724e4f1d433bf064d089aa7f2ba113d76c95a1db5090bc42b1436b340bc4a29a7b5492c5beecbe0bfd31b2ae8fdc438cd0b1da7f967951aab1310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000082907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b0000000000000000000000000000000000000000000000000000000000000140c7f9843d78c086c630a0bc6fe0dcbd97ca3383de31b458c04eadd8f4bf56afc93b08d5f2ab70c3b65b227d02c0d3221d94e083204c28713911f23afff2bd8bac81ac09c7c570e794bc3f591b5740147c5a8b5f0b2e3fcc926bcd95add3acbaa8d5eeeadb9fa46ddc69c37f2995a5481f46d75fdc60e79fbf950de1e8c9fa86ad10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d00000000000000000000000000000000000000000000000000000000000000092907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001405afc83b61c3ca8b968db8e00f5fd46844c22e95af2b22db31f50852a910ddc9d3b08d5f2ab70c3b65b227d02c0d3221d94e083204c28713911f23afff2bd8bac81ac09c7c570e794bc3f591b5740147c5a8b5f0b2e3fcc926bcd95add3acbaa8d5eeeadb9fa46ddc69c37f2995a5481f46d75fdc60e79fbf950de1e8c9fa86ad10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000a2907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b00000000000000000000000000000000000000000000000000000000000001403907187e9ad58ff3415480cc36222cf13ac3a28e631c247b783fd0bb8cd1371c1c420b004c13e5b8e966f6810fb7a0beca8d458a581a1497d0e76a8efcf7012681ac09c7c570e794bc3f591b5740147c5a8b5f0b2e3fcc926bcd95add3acbaa8d5eeeadb9fa46ddc69c37f2995a5481f46d75fdc60e79fbf950de1e8c9fa86ad10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000b2907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b000000000000000000000000000000000000000000000000000000000000014058d1f04a72a5fb33b0b3adb3f7621b1098c990ce21e9bcd332e11e21f0a5d3361c420b004c13e5b8e966f6810fb7a0beca8d458a581a1497d0e76a8efcf7012681ac09c7c570e794bc3f591b5740147c5a8b5f0b2e3fcc926bcd95add3acbaa8d5eeeadb9fa46ddc69c37f2995a5481f46d75fdc60e79fbf950de1e8c9fa86ad10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000004600000000000000000000000000000000000000000000000000000000000000520000000000000000000000000000000000000000000000000000000000000011f000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000000c2907ee32e7817506dfc08a16ac64473bcb58beb57c503aef4f13535e054fdcb61f61880000000000000000000000000000000000000000000000000000000000cbbd2a660000000000000000000000000000000000000000000000000000000012b23ed1cfe60d5b8abd0621fe1bd5c107b56a6a7ffce9b4518e7e8304f43e4b0000000000000000000000000000000000000000000000000000000000000140fb79a773974cda707a3d0826dd2fdbd17898357185d779e35368b69fc5e829da80e550e7fa77d82b8f5f82e822b1175d79075408547ec2186a91d5cb562e0f529e8206ff56fc5a2fb09a8aa48d024587490c6d7006c10fca27c86b2170e71522d5eeeadb9fa46ddc69c37f2995a5481f46d75fdc60e79fbf950de1e8c9fa86ad10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f00f965ccca1048ff9788e152cf1f034aea5aff76671a37fbe5bbbc2dfad648679d65d522f4340a968f2835f9a1ddb1719117f742fb5b2dae6783df7ae0a29808242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000000600f830c000000000000000000000000000000000000000000000000000000000018c234fc95cf8ba467aa8448af89ab1d3ea6332dea48485ef485a97c40a6f6bcf1dd018df793af72482c5c4f758def8d94a73852f1d95208c88f69717a0929d000000000000000000000000000000000000000000000000000000000000000e0e1771c7b22aa281b46173699621db5fd36d19c1c15a8458636a22692ea331b4fb46f0c01805fe212e15907981b757e6c496b0cb06664224655613dcec82505bbdb56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d716dd1c032f8f621c3bac5c89ac8fd923076ce8d6574ea39dfb8d606214dd530a40000000000000000000000000000000000000000000000000000000000000000f5a5fd42d16a20302798ef6ed309979b43003d2320d9f0e8ea9831a92759fb4b1bbe1571cf8f4a19f40778ea8989f41854c1b85f0c0ca1c39a0e39db78b5583700000000000000000000000000000000000000000000000000000000000000a0bd3a9200000000000000000000000000000000000000000000000000000000005e3cf6e3d5e8e6c5d23535bcae6a9ab9c4cf1ea273b66d16ff0f414e0229bc1255466bf8e8ca10a0b740972fdb0e6a126a2f52fc022399256ce7bd32e4a1801b8242bda70161361eacb68852197c17aa8006e5f97816378d34b98bfbf44fbb57536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00000000000000000000000000000000000000000000000000000000000005803748bded0f75b7b7aac8c8a2902d4b5b79c3a5bd8fe9017b8662ab65cd62b46e15884a6b9e77a3255ceda426cf6927a666f2c110e06d1b47b83c332fa9ca673a9a88b44be4e35a7b85b6dcc4bc90d67d7d60cd02ebe3c5112f6834c681d1caf8cc788f29c518ffcb6fa0a5278046d32009e498263ad7c09fa8fe3de828b9a267896955766ca32d3f7801b76765def085469cb3714acfa2921ee537723100b4ae0e5c123bbcc0e15d256eba141e58d6b6466d7aeac8d95a4ae3c1a1d73b4f274a0c2e6aac3ad07abfe94955bd61018289b6dc95a4daec0c9d5a390d0ccb3fdfb4b390c0e17e053eb3d9bd2603aa0902f8e709616eb182ec729076717a70bd8c22a9d39a0df14f5f5b530d9c8438bdad0b0e6c68bb103897b56feb2161d569db5cf7d7201dc876c3f4cbb74ef4b56bd6ee52dad9c346c72440c8cc9508c42f470ec820aa9563d0dd17f6c530fe91559df20f463a6816c6955c07d542bf7653cd9e24e962ba694cf6040cbbde425403fadb8d46230e6348409c091e5e0daf2b482e687df83f1d8d47c0d3326b04a3dbe689c048482863becdcb94df78b86b794112238814148e61dd422f283260103cffea0619e873e9d6f9796e56f573c436321b8e5210eb3707c9588fdb1c101f3ea08aa5a9f0ad299ad0bfdb533a938ac7587489a0bf8e3983435bb0cce18086caea716b5ba79c1cbf598916c2a00f860e826496d21ba1fafdca09cd1341851a79e1265057fafdaf93218f9ca46d09b8a25408ba90c1709dc89a3b4965a8e02bdb16cef4573bd2cdd5a7180ce5c5485083bea3b6ec6299d95632c1f1012afffb58c5529855618a72c7b9b7276574385adaf1b09efde052aa15429fae05bad4d0b1d7c64da64d03d7a1854a588c2cb8430c0d30d5fb5effea691d833f3c53c00b390c08aaffa8294e48c7790f4d4ab18c4d943087eb0ddba57e35f6d286673802a4af5975e22506c7cf4c64bb6be5ee11527f2c460485af574848585860d57ea2bd50835e0b5a2a296e0dcb014483c82debb54f506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e1ffff0ad7e659772f9534c195c815efc4014ef1e1daed4404c06385d11192e92b6cf04127db05441cd833107a52be852868890e4317e6a02ab47683aa75964220b7d05f875f140027ef5118a2247bbb84ce8f2f0f1123623085daf7960c329f5fdf6af5f5bbdb6be9ef8aa618e4bf8073960867171e29676f8b284dea6a08a85eb58d900f5e182e3c50ef74969ea16c7726c549757cc23523c369587da7293784d49a7502ffcfb0340b1d7885688500ca308161a7f96b62df9d083b71fcc8f2bb8fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb8d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab95eec8b2e541cad4e91de38385f2e046619f54496c2382cb6cacd5b98c26f5a4f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17fcddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d75201000000000000000000000000000000000000000000000000000000000000c1c50f000000000000000000000000000000000000000000000000000000000031a0fbbb5c7c87e6bd676ac302620d21dab3ec19a65542d1b6c5a63f6592c463db56114e00fdd4c1f85c892bf35ac9a89289aaecb1ebd0a96cde606a748b5d7117c2235b9a2a4bb9c257f3f30cb510129992886241235a7a5335010d08b7ba6abfa5040df16664d62f8446dd361806a044223c9c92f6e9189780cd931fdd3d13000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000008800000000000000000000000000000000000000000000000000000000000000e6000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000001a20000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000025e00000000000000000000000000000000000000000000000000000000000002bc000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000037800000000000000000000000000000000000000000000000000000000000003d60000000000000000000000000000000000000000000000000000000000000434000000000000000000000000000000000000000000000000000000000000049200000000000000000000000000000000000000000000000000000000000004f0000000000000000000000000000000000000000000000000000000000000054e00000000000000000000000000000000000000000000000000000000000005ac000000000000000000000000000000000000000000000000000000000000060a000000000000000000000000000000000000000000000000000000000000066800000000000000000000000000000000000000000000000000000000000006c600000000000000000000000000000000000000000000000000000000000007240000000000000000000000000000000000000000000000000000000000000782000000000000000000000000000000000000000000000000000000000000005c05d2f1206eee018a51f8ba565a3886335f4eac07e5513690fd80d30992f71ee59fb2b3a624ce9992200a2676fca022821f776a1565dc8c90f0c68342ecf6d2a0ddf4455f24d021bfe344d686c83c46a482e486ff6247e19293ab4a273cd49b284db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c09e96aab01824349e0ee24ff88a874ec96c678186796ea46ae07a246adc096916caff5edd1724cc6687de6c740654a33fe972eae615879138fc96fb7f340673d9df4455f24d021bfe344d686c83c46a482e486ff6247e19293ab4a273cd49b284db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c06bc44b6ccb8b986ca5b1f93838f9751775e14dea132e2922bb3b16a29d7611e8caff5edd1724cc6687de6c740654a33fe972eae615879138fc96fb7f340673d9df4455f24d021bfe344d686c83c46a482e486ff6247e19293ab4a273cd49b284db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0f192917a7119a23d8773bd1976bd75f42e55dade8b0d24db95933ccd2485cf3e965a83b9c32d4c94c58879c78961f86f835b0eaae9b8e0d112d9629c8c9976e010b12cd87a177f657c9808f206be04ca56e37941db819476fb7c130f9370ee58db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0630dc94297fc8169a1c3ba16bc85fce3c95bf2974d1643f092fc0ca3e822082f965a83b9c32d4c94c58879c78961f86f835b0eaae9b8e0d112d9629c8c9976e010b12cd87a177f657c9808f206be04ca56e37941db819476fb7c130f9370ee58db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c02dc53305b894e1f3ea5e5cc96fae9adbc63426ca9f9374ebc62a572b9a4dca135b17189ee9db7b46f2e334a5a0c0608341c2af8c0202376a19e9527d0faa1f1310b12cd87a177f657c9808f206be04ca56e37941db819476fb7c130f9370ee58db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0f74f1e9c285b6a7ef7404ce6fac328b911be0ac69faaf3bd30a145e0d0e1581d5b17189ee9db7b46f2e334a5a0c0608341c2af8c0202376a19e9527d0faa1f1310b12cd87a177f657c9808f206be04ca56e37941db819476fb7c130f9370ee58db5c89345c9c6d5c640c73fa53e270e64dc85b29a9fcb4dbd486bc7d20f1fc6e2557402af51a31ef36358c87f2c539e109a089312611a005b67b42be20610deee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c056108f9d757b91bb7c62799098f041eda0b160c5ccb92237c6beb9ff5db2e963cb8e3b1b9957de85ea35f0d7dda35f7fd7a82b018d3fdec5a5f84ee2749adb7880d0268104e0d5f59427047c17bb3a79427ba59ba34037daf9dd2a6f0c5bebd049f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c03db8dab7efa52a0d21565c9ad7c5d89207e9712f55d5f3ac1b55010d64cb9fd9cb8e3b1b9957de85ea35f0d7dda35f7fd7a82b018d3fdec5a5f84ee2749adb7880d0268104e0d5f59427047c17bb3a79427ba59ba34037daf9dd2a6f0c5bebd049f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c079fa4cb16015b3e6d256ae67a6094dbfca0edba3d215f2df8767d212f30443f4a1a500e6c2d3ff3e597d55fada25ec9c6b644d9b62b94c3428d8ce8ff597aaa480d0268104e0d5f59427047c17bb3a79427ba59ba34037daf9dd2a6f0c5bebd049f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0eaf71b77721a0d3eb40cd4b785681458dc303af0bb2d672bc982fc3d0976d082a1a500e6c2d3ff3e597d55fada25ec9c6b644d9b62b94c3428d8ce8ff597aaa480d0268104e0d5f59427047c17bb3a79427ba59ba34037daf9dd2a6f0c5bebd049f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0c0845c69d8f739618dc3e198aa6d0f2383dab3d43ceec12137dbdebf8b45bae495911d4f59a60cc3a0b307b18a631d389305e0809e3cac0bcb67dd9f2f6f517f4f4a2ee609735178e8944b072ba81d58a80a89c11bcb1191693b0a177e1fc50b49f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c02f1ad8146a949f9ab9a1511139d6a835ad5bba1f196edf0ae1f2ea50061a427a95911d4f59a60cc3a0b307b18a631d389305e0809e3cac0bcb67dd9f2f6f517f4f4a2ee609735178e8944b072ba81d58a80a89c11bcb1191693b0a177e1fc50b49f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0b8f23e5c586d150ae586b5d116d7e2c83ce44d79608731dda286d6c54d82471dc2fba0a0d34ea7d9162eaad2cf3b12fce81649113cba11f026c594204f806aa54f4a2ee609735178e8944b072ba81d58a80a89c11bcb1191693b0a177e1fc50b49f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0d31c75d17cf134f4eebb2ecab24281c49fce41c82285a40c6c59abae1e92b515c2fba0a0d34ea7d9162eaad2cf3b12fce81649113cba11f026c594204f806aa54f4a2ee609735178e8944b072ba81d58a80a89c11bcb1191693b0a177e1fc50b49f5f618e8e4b26ef6dfc8991f950db75b86b7c9837f5fa27f59201bd8d485ae70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0c5b9aa9d7f36fa3491e1d35accfa10fa927930cc786e25b51f87be9908fb59df5c5420b92ffb4674e424debca60f011f82d4636dc66e7c5a767d2eb90853fc91ff7b02f814803d1ed55a4c0913fe99eaad3446712a4e8ed1041b32171ca86b23bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c08958abd11796ed18fc42652bad205c43f183d1d02c2976139acc9545925440fd5c5420b92ffb4674e424debca60f011f82d4636dc66e7c5a767d2eb90853fc91ff7b02f814803d1ed55a4c0913fe99eaad3446712a4e8ed1041b32171ca86b23bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c016fe7e24735c848a1589e11b1aa23a32ff9180191ac774d9d813c22fde023ff8503fb14b5b1847d04a9056b05c48c0b54af8a33e9bf33e75f23b51944aa781f6ff7b02f814803d1ed55a4c0913fe99eaad3446712a4e8ed1041b32171ca86b23bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c087afb08a71f582ee225a175ce5c8dedbe87f014abd28036a800677dd61fbdd4a503fb14b5b1847d04a9056b05c48c0b54af8a33e9bf33e75f23b51944aa781f6ff7b02f814803d1ed55a4c0913fe99eaad3446712a4e8ed1041b32171ca86b23bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c04971b1aed9c485b08109d345cfec6084e0be674b7ec535375480deda56716939fb965a846166bfe5154a77884e1d8ac670fe9d13d820fb5b9f278f27b44d8e15b30b15c8f36c8368a5a8b31b717ce96883c44580f828b12d205fb5b2ea55b380bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d66000000000000000000000000000000000000000000000000000000000000005c0a4db63a48914721a319c726415181caf5eb940c455266385d9452515fae5884efb965a846166bfe5154a77884e1d8ac670fe9d13d820fb5b9f278f27b44d8e15b30b15c8f36c8368a5a8b31b717ce96883c44580f828b12d205fb5b2ea55b380bbb2902add664582dc48617f7605240749045b8009d30111ead018f28142afbc70220967fa5e11220ca3e014d09e63286f6b5fa793da3c260e2e043cf0e12cfee53ac22a6e4f873fa83dae6e0c9e78dd63f478431d848b4f47822edd69a6483e98402beabed6f7785593eb9e3c4da65055261e2b7b7efa5e7be0c68853c9c38e2bb0eacadb165c4ab0c09c5e00acbffacfc9a53c1b1a842260d503d2179c8a857e736325eb22aaab0e71c34861df83fedb9d44f14146fbd3a341945eec4937395bc0e13a8824ddf593c776f042213eca2006d804d04deb5aa79b14f956e147d6f791f70a1d15ae73841777c12e564a6fea4ce3a3386c8d5dbf1d7c9206ce34dc92c2f86daa04089e5f67556384367cfb6c559767da12c00f22d4b7edac8505ca9c43659048d96f128375b17564ee62e488658118dbf5e68ba433920968ed8fe5d1f549cc6d66d7203ab3b2a914f99eb057d4d35b5e853bcc21faf2ba87117248665e92f5c9687faa7f623b3a1c694612b33ffb988f68ff8c1f09b82eacf3ba568d88c53c15c55be5f2a675fad8d7e8b7eee70a9c20567b3fb7f4454b2466affe3fab72e545aa888bf172f0d7b119c06a26f941d4fb8dbee25341a2fea6e3bc928d0d63c39ebade8509e0ae3c9c3876fb5fa112be18f905ecacfecb92057603ab5b644fcd6aa01debd14aec80eded0ba7676bdc0ed544e3f2f74d045f858edc4ff893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f49c22f6e530f8d793257b2161edf1cd25c75f0be44821f800537f696d48a1c4a8a8d7fe3af8caa085a7639a832001457dfb9128a8061142ad0335629ff23ff9cfeb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c1167e71f0aa83cc32edfbefa9f4d3e0174ca85182eec9f3a09f6a6c0df6377a510d731206fa80a50bb6abe29085058f16212212a60eec8f049fecb92d8c8e0a84bc021352bfecbeddde993839f614c3dac0a3ee37543f9b412b16199dc158e23b544619e312724bb6d7c3153ed9de791d764a366b389af13c58bf8a8d90481a467657cdd2986268250628d0c10e385c58c6191e6fbe05191bcc04f133f2cea72c1c4848930bd7ba8cac54661072113fb278869e07bb8587f91392933374d017bcbe18869ff2c22b28cc10510d9853292803328be4fb0e80495e8bb8d271f5b889636b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c985e929f70af28d0bdd1a90a808f977f597c7c778c489e98d3bd8910d31ac0f7c6f67e02e6e4e1bdefb994c6098953f34636ba2b6ca20a4721d2b26a886722ff1c9a7e5ff1cf48b4ad1582d3f4e4a1004f3b20d8c5a2b71387a4254ad933ebc52f075ae229646b6f6aed19a5e372cf295081401eb893ff599b3f9acc0c0d3e7d328921deb59612076801e8cd61592107b5c67c79b846595cc6320c395b46362cbfb909fdb236ad2411b4e4883810a074b840464689986c3f8a8091827e17c32755d8fb3687ba3ba49f342c77f5a1f89bec83d811446e1a467139213d640b6a74f7210d4f8e7e1039790e7bf4efa207555a10a6db1dd4b95da313aaa88b88fe76ad21b516cbc645ffe34ab5de1c8aef8cd4e7f8d2b51e8e1456adc7563cda206fd61a150000000000000000000000000000000000000000000000000000000000ce4c16000000000000000000000000000000000000000000000000000000000090bd008978a44a2b9dae413048330e15f969dbdd816da7271a34116f1d17b4bc47d4d5b843afd022687d6b8a54bb08504b051b98ecb63b09a26577d417c121610982953b914fdf532eeedf17a08efc58da986e5ae16d6ca2801ffa8f5a924390dcfaf2ee7128333eb9f83b47bd3383a4221d88276775188818c0f5484c29d660000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000720000000000000000000000000000000000000000000000000000000000000084000000000000000000000000000000000000000000000000000000000000009600000000000000000000000000000000000000000000000000000000000000a800000000000000000000000000000000000000000000000000000000000000ba00000000000000000000000000000000000000000000000000000000000000cc00000000000000000000000000000000000000000000000000000000000000de00000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000000102000000000000000000000000000000000000000000000000000000000000011400000000000000000000000000000000000000000000000000000000000001260000000000000000000000000000000000000000000000000000000000000138000000000000000000000000000000000000000000000000000000000000014a000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000016e0000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000019200000000000000000000000000000000000000000000000000000000000000008409cd2d106ed9a5df98302398aa655c0871eb44cca9ca0c45193deb370f281c4010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008153d64db023fe93ad34f6c91c62eccecf6f828330b02350a25506923bad8e74a010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008f2955dfe85f0e6b069b6d613cb56aed3eec7e370b1eefcbb2e1c1e2035bb86ea010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081db79f4a8d7556e54f04cff875da1c55d8f4f369d0801634201c49393c40ece0010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000809b8128bd1ab644399e14c34966c6e0d78717831f4dc0e3590c72fa988516e44010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000854b7195e9be978eb96a1effa67bcc23872aad18aa95f7b7803215588da90f401010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a51d6e8cddea815d8a863b69bcbc0d371198cbfe27ad06ffeb8eaf8e0d89f2e6010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008daddc2dd2be0f7da7734c472103a4a0169e3b6741e9b551d7800924f61165137010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ab36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008003c872c201336a79c59b3ff1270dd018e2639de149942f0dfb467e7b3268c6e010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000897970a707b1096ee49b5e6fe5fbfa18beaeb330b63b57c76944e4c5b24fa12bf010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008254c49d6185721779b7368385041b872ccdbedb5fdc0ec331bd4b207c682e236010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000088e17015cc18b683fe35728c921d0a0a769159e0477a3d1fddf3471e6a961003a010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008552493728aec80f1cb471b1462ddcebedda9ae00e43ba85a85d3a4b589888908010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082671253c677a0fb064f9d63e08d98ab11b5ce8e44c2983d391b039731bc39dba010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008f52cf4e0eae552a6491fbf978ff4b30737bc9743ca53945d6d829a6335f794e1010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e7bf516d1a9811bce4b678ff49ae61cac6e78a93f732e25827703e9abc3d5b7b010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ac36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085c4bd16c8f3b36fa3e8a5f7a256c78863f0c876389ab078701e5fdddabd7142a010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ad36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a70fb3bad02878a397b8bd38115318ce83a013c20108e731dd178b129d504a1a010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ad36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e377aac7fdc4c3b85b8b7ad0e65a43e5dcb3930fcce2118d6411a3f0f8d66680010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ad36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008a85ad3f38796a2f2d7981aa9ea6231ce6df9740325c4b05fe81dea1e1959ba2f010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ad36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082f9885775935daa258958bab3b5a616c0dc28bab54d55cc69d78c12bd0175df7010000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a22f040000000000000000000000000000000000000000000000000000000000ad36040000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001500000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000052000000000000000000000000000000000000000000000000000000000000005c00000000000000000000000000000000000000000000000000000000000000660000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000084000000000000000000000000000000000000000000000000000000000000008e000000000000000000000000000000000000000000000000000000000000009800000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000ac00000000000000000000000000000000000000000000000000000000000000b600000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000d400000000000000000000000000000000000000000000000000000000000000de00000000000000000000000000000000000000000000000000000000000000e800000000000000000000000000000000000000000000000000000000000000f20000000000000000000000000000000000000000000000000000000000000000423239302000000000000000000000000000000000000000000000000000000006963140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000004b72170100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000424239302000000000000000000000000000000000000000000000000000000006a63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000003d92160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425239302000000000000000000000000000000000000000000000000000000006b63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000c6bdbd0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000426239302000000000000000000000000000000000000000000000000000000006c63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000004df3160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000427239302000000000000000000000000000000000000000000000000000000006d63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000eb97170100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000428239302000000000000000000000000000000000000000000000000000000006e63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000d179160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000429239302000000000000000000000000000000000000000000000000000000006f63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000ddb416010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042a239302000000000000000000000000000000000000000000000000000000007063140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300000000000000000000000057ed15010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042b239302000000000000000000000000000000000000000000000000000000007163140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000bff816010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042c239302000000000000000000000000000000000000000000000000000000007263140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000387117010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042d239302000000000000000000000000000000000000000000000000000000007363140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000002cfd16010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042e239302000000000000000000000000000000000000000000000000000000007463140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000d34517010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042f239302000000000000000000000000000000000000000000000000000000007563140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000ec21170100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000430239302000000000000000000000000000000000000000000000000000000007663140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000a8bd150100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000431239302000000000000000000000000000000000000000000000000000000007763140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000008e96160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000432239302000000000000000000000000000000000000000000000000000000007863140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000003c95160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000433239302000000000000000000000000000000000000000000000000000000007963140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300000000000000000000000051c6160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000434239302000000000000000000000000000000000000000000000000000000007a63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000008686170100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000435239302000000000000000000000000000000000000000000000000000000007b63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae151300000000000000000000000095bc160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000436239302000000000000000000000000000000000000000000000000000000007c63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae15130000000000000000000000007aac160100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000437239302000000000000000000000000000000000000000000000000000000007d63140000000000000000000000000000000000000000000000000000000000d4018ce9a041a9c110a9d0383d2b5e1c66ae1513000000000000000000000000e860170100000000000000000000000000000000000000000000000000000000c001a080a6743a1debc20a5703ac83dbaca7f07888c15ae250ceee9d221c324e95e326a01f25c799b3ec63d965fce04b122908561edd9d804cc48118336d682f55e0883c", + "new_receipt_trie_node_byte": "0xb911c602f911c20183eb22b4b9010000800000000000000000000000000000000008000000000020000000000000000000000000000000000000000000001008000000001000000000000000000000200000000000000000000000000400000000000000000000800000200004000000000000000000000000000000000000000000000000000000000000080000000020008000100000000800000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000008f910b7f8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014636900000000000000000000000000000000000000000000000000000000662abdbf000000000000000000000000000000000000000000000000000000000117724bf8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014636a00000000000000000000000000000000000000000000000000000000662abdbf000000000000000000000000000000000000000000000000000000000116923df8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014636b00000000000000000000000000000000000000000000000000000000662abdbf0000000000000000000000000000000000000000000000000000000003bdbdc6f8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014636c00000000000000000000000000000000000000000000000000000000662abdbf000000000000000000000000000000000000000000000000000000000116f34df8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014636d00000000000000000000000000000000000000000000000000000000662abdbf00000000000000000000000000000000000000000000000000000000011797ebf8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014636e00000000000000000000000000000000000000000000000000000000662abdbf00000000000000000000000000000000000000000000000000000000011679d1f8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014636f00000000000000000000000000000000000000000000000000000000662abdbf000000000000000000000000000000000000000000000000000000000116b4ddf8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637000000000000000000000000000000000000000000000000000000000662abdbf000000000000000000000000000000000000000000000000000000000115ed57f8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637100000000000000000000000000000000000000000000000000000000662abdcb000000000000000000000000000000000000000000000000000000000116f8bff8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637200000000000000000000000000000000000000000000000000000000662abdcb0000000000000000000000000000000000000000000000000000000001177138f8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637300000000000000000000000000000000000000000000000000000000662abdcb000000000000000000000000000000000000000000000000000000000116fd2cf8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637400000000000000000000000000000000000000000000000000000000662abdcb00000000000000000000000000000000000000000000000000000000011745d3f8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637500000000000000000000000000000000000000000000000000000000662abdcb00000000000000000000000000000000000000000000000000000000011721ecf8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637600000000000000000000000000000000000000000000000000000000662abdcb000000000000000000000000000000000000000000000000000000000115bda8f8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637700000000000000000000000000000000000000000000000000000000662abdcb000000000000000000000000000000000000000000000000000000000116968ef8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637800000000000000000000000000000000000000000000000000000000662abdcb000000000000000000000000000000000000000000000000000000000116953cf8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637900000000000000000000000000000000000000000000000000000000662abdcb000000000000000000000000000000000000000000000000000000000116c651f8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637a00000000000000000000000000000000000000000000000000000000662abdcb0000000000000000000000000000000000000000000000000000000001178686f8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637b00000000000000000000000000000000000000000000000000000000662abdcb000000000000000000000000000000000000000000000000000000000116bc95f8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637c00000000000000000000000000000000000000000000000000000000662abdcb000000000000000000000000000000000000000000000000000000000116ac7af8bb94d4018ce9a041a9c110a9d0383d2b5e1c66ae1513f842a08a7335714231dbd551aaba6314f4a97a14c201e53a3e25e1140325cdf67d7a4ea0000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3b860000000000000000000000000000000000000000000000000000000000014637d00000000000000000000000000000000000000000000000000000000662abdcb00000000000000000000000000000000000000000000000000000000011760e8f8b9947fe7e9cc0f274d2435ad5d56d5fa73e47f6a23d8e1a0b8f1b14c7caf74150801dcc9bc18d575cbeaf5b421943497e409df92c92e0f59b880000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda3000000000000000000000000125b367c16c5858f11e12948404f7a1371a0fda300000000000000000000000000000000000000000000000005f1998ca9ca82000000000000000000000000000000000000000000000000000000000000000289f87994125b367c16c5858f11e12948404f7a1371a0fda3e1a04ff29a094e434f8a698185e97d3a285f4ba26c723f8ec8d2c9914213d61589cab8400000000000000000000000003b8c27038848592a51384334d8090dd869a816cb000000000000000000000000000000000000000000000000004bcf318eed59d4", + "gas_used": 4563479 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966209e1a5068452" - }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "0xe62b71cf983019bff55bc83b48601ce8419650cc": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x9a09f352b299559621084d9b8d2625e8d5a97f382735872dd3bb1bdbdccc3fee", + "0x000000000000000000000000000000000000000000000000000000000000002b", + "0x6a775b88b8fc09d2f1513dc3b75e6d08eeb94475e967c705a2ef569929634f68" ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0xbb2d1c5819544ff9d57480a59270ece03719625702c5b30c9c512d94d62661ee" } }, - "0x7b37a55ffb30c11d95f943672ae98f28cfb7b087": { + "0xd4416b13d2b3a9abae7acd5d6c2bbdbe25686401": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0xf3e2283d7de2f391c502736ab5cf90d3eaf5a7d787a686763e527cffb598af88", - "0x5dc90d7f24eb896b6c4a25a2f62d94c3cb3ef7a3fd1b3640ee22eb82a6c6e0c3", - "0x0000000000000000000000000000000000000000000000000000000000000015", - "0x0b39df3861ffeebe80c10df3a0a27b3ad49521caedb738699a175c9e8dafb6e5", - "0x0000000000000000000000000000000000000000000000000000000000000011", - "0x1faa769bafcfb5a9eace41506211230abdd51d1d2b424746ad1ade7708326bec", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0x7f3dbbf37d01f889608384ab76e7b8d8aa6f8ed674bab54e9314d6712e571ddf", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0xc8a63034d52e80b0157349f4c946a99eaae278da3c6aef95dfa7ba4a1ac207a5", - "0x0000000000000000000000000000000000000000000000000000000000000019", - "0x7e24b1c24528c967881fcbbcd9a3d4638fe6887cb8ef46c8f8516604cf859508", - "0x0000000000000000000000000000000000000000000000000000000000000018", - "0x0000000000000000000000000000000000000000000000000000000000000008" + "0x42f02dca897d44da30f9d55c598b48bdd9b8f37df5c35f535673c482861a231f", + "0x1eeaf5be231c34a8cf18e675dae957d636cb3d42477ce4dfc18a3ef0bfb38bad", + "0x922fcf59cbfbaf5ad6a01ffe47f1634cf661f382a8f93e4c755a38d2e9d3dfb1" ], "storage_written": { - "0x1faa769bafcfb5a9eace41506211230abdd51d1d2b424746ad1ade7708326bec": "0xdfc7f8d25", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x1adc", - "0x0b39df3861ffeebe80c10df3a0a27b3ad49521caedb738699a175c9e8dafb6e5": "0x1", - "0x7e24b1c24528c967881fcbbcd9a3d4638fe6887cb8ef46c8f8516604cf859508": "0x12064f47f", - "0xf3e2283d7de2f391c502736ab5cf90d3eaf5a7d787a686763e527cffb598af88": "0x8b07a7b" + "0x1eeaf5be231c34a8cf18e675dae957d636cb3d42477ce4dfc18a3ef0bfb38bad": "0x8616d69676f636869036574680000000000000000000000000000000000001c", + "0x922fcf59cbfbaf5ad6a01ffe47f1634cf661f382a8f93e4c755a38d2e9d3dfb1": "0x75b3136b0003000052e3f64dc077df00d27f8bbc25a6dc6b7094403b" }, "code_usage": { - "read": "0x9b04c06765c5ea271f5c53c3dc6981bf0f7bfae11bd96c4a10b094d5ead92a51" + "read": "0xb2d3098f0579718d88a04ee65d3c6827a76823316ceed387945ad993fc6dbb6c" } }, - "0x0d56e85dd2eab0c99ff91aef6ff86f944edbd172": { - "balance": "0x1792be359accdd", - "nonce": "0x1a" - }, - "0xf43672e89ee98e18b3398942f946c96ef68c1c88": { + "0x5f4ec3df9cbd43714fe2740f5e3616155c5b8419": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a" + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000000002" ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000001232bb61c25d4e3740000000000000000000dfc7f8d25", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x76a1082fd289cb0469e1e513a84", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x3a34ea56da6698ef1a6949b4f74a6d9cf6665ed3e0", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0x4b79b5c8aee6da0f7b393e8b53e6265ef7320a1d16184c65bd3841b5aa3d700d" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x29869487e4b8c6ba2d54c", + "0x7542565191d074ce84fbfa92cae13acb84788ca9": { + "code_usage": { + "read": "0xdb4130271904b178f83e8582228661c814fa0b1fae9023078aa27bbc22769f53" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4940155aa392" + }, + "0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e": { "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0xeb8158b1f103a3001cd02d1158561342986e066b016495e071fdaee673b49200" + "0xbd3eaa9220b52f317e5ded292b98de2344d2c5d234df51366e53a9c0a3ca7617", + "0x0dd4f47a3b6f87903b728feed7a23273bd8de58e4fa257d37a74a5881e5d92ff", + "0xcd3fde0f1fd75e1da2c0585452fda8b31a5572c50577e362097c58958fd283e6", + "0xcd3fde0f1fd75e1da2c0585452fda8b31a5572c50577e362097c58958fd283e7", + "0x859ecef2e168dc10231b000bd53493b42bc9d944cac29d94582c1e1d43592131", + "0xbd3eaa9220b52f317e5ded292b98de2344d2c5d234df51366e53a9c0a3ca7616" ], "storage_written": { - "0xeb8158b1f103a3001cd02d1158561342986e066b016495e071fdaee673b49200": "0x1232bb61c25d4e374", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" + "0xbd3eaa9220b52f317e5ded292b98de2344d2c5d234df51366e53a9c0a3ca7617": "0x231b0ee14048e9dccd1d247744d114a4eb5e8e63", + "0xcd3fde0f1fd75e1da2c0585452fda8b31a5572c50577e362097c58958fd283e6": "0x52e3f64dc077df00d27f8bbc25a6dc6b7094403b", + "0xbd3eaa9220b52f317e5ded292b98de2344d2c5d234df51366e53a9c0a3ca7616": "0xd4416b13d2b3a9abae7acd5d6c2bbdbe25686401", + "0xcd3fde0f1fd75e1da2c0585452fda8b31a5572c50577e362097c58958fd283e7": "0x231b0ee14048e9dccd1d247744d114a4eb5e8e63" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xd6bfd5d6f1384a1f6ea57b8a8412de5552f138d42021cf7c4941e33206f529e4" } - } - }, - "meta": { - "byte_code": "0x02f902f90119840122fe118509dea717e983035c92943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87470de4df820000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf601b00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000326263800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007b37a55ffb30c11d95f943672ae98f28cfb7b087c001a07eef7a9624b54bbecb2225427d6e52d0d0e1325a4724c60f5ce0dd1b87aa9e2ca07d77b0191f96c953dfa913e8046b6574844d6131ec1a406bd29507b133e97be5", - "new_txn_trie_node_byte": "0x02f902f90119840122fe118509dea717e983035c92943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87470de4df820000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf601b00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000326263800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007b37a55ffb30c11d95f943672ae98f28cfb7b087c001a07eef7a9624b54bbecb2225427d6e52d0d0e1325a4724c60f5ce0dd1b87aa9e2ca07d77b0191f96c953dfa913e8046b6574844d6131ec1a406bd29507b133e97be5", - "new_receipt_trie_node_byte": "0xb904db02f904d7018391e7d5b9010000280000000000000000000084000000000000000000000000000000000000000000000000000000000000020000000002000000080000000000000000000000000000080000000000000008000000200000000000000000000000008020000000000000000000000401000000000000000000000000000000000010000000000000000000000000000000000100000000000001001000080010004000000000000000000000000000000000000000000000000080000000000020000000000000020002000000020100000000000010000000000000201000000000000000000000200000000000000000000000000000001000000000400000000000000000f903ccf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000470de4df820000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000f43672e89ee98e18b3398942f946c96ef68c1c88a000000000000000000000000000000000000000000000000000470de4df820000f89b947b37a55ffb30c11d95f943672ae98f28cfb7b087f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f43672e89ee98e18b3398942f946c96ef68c1c88a00000000000000000000000007b37a55ffb30c11d95f943672ae98f28cfb7b087a0000000000000000000000000000000000000000000000000000000000011706cf89b947b37a55ffb30c11d95f943672ae98f28cfb7b087f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f43672e89ee98e18b3398942f946c96ef68c1c88a00000000000000000000000000d56e85dd2eab0c99ff91aef6ff86f944edbd172a000000000000000000000000000000000000000000000000000000000035684acf87994f43672e89ee98e18b3398942f946c96ef68c1c88e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000000000000dfc7f8d25000000000000000000000000000000000000000000000001232bb61c25d4e374f8fc94f43672e89ee98e18b3398942f946c96ef68c1c88f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000d56e85dd2eab0c99ff91aef6ff86f944edbd172b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000367f5180000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 154810 - } - }, - { - "traces": { - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + }, + "0x52e3f64dc077df00d27f8bbc25a6dc6b7094403b": { + "balance": "0x731f5535179bd88", + "nonce": "0x88" + }, + "0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x3e345aabefcd4d12704cf235567b4a174a172616477dd1a903b4ee86182b4801", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x99f64d87b67e0bd847b5d4e97e53b86a4a4f253043d831207bed3f145502896e", + "0xe5d201d281d1180f9b4a334bdbfa81dd83c3d848bb0714f3501c06863433db73", + "0x19ff96020c88e66cad0e3ed5f9fdc0bb2652ec609a9261ce85288f989a15a27c" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0x19ff96020c88e66cad0e3ed5f9fdc0bb2652ec609a9261ce85288f989a15a27c": "0x56b7b", + "0x3e345aabefcd4d12704cf235567b4a174a172616477dd1a903b4ee86182b4801": "0x753c6c6b", + "0xe5d201d281d1180f9b4a334bdbfa81dd83c3d848bb0714f3501c06863433db73": "0xd4416b13d2b3a9abae7acd5d6c2bbdbe25686401" }, "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0x15557327bea19f454db3ec207da1a440b6d9318af56e52e2a3eba440d4b62e0a" } }, - "0xdd66781d0e9a08d4fbb5ec7bac80b691be27f21d": { + "0xa58e81fe9b61b5c3fe2afd33cf304c454abfc7cb": { "storage_read": [ - "0x3e71e3ae6346ad9ed30e41fcc9331449acfea6b9d402c8596edadcdeefcee982", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x81292f05f9a1bc9d1087703f61431bdf526ac67697c067ab6032a71a4988fa2f", - "0xe9d8c2df1966578c6fd90f13e02e7a9cb012b0e91fb6bac1829c56cad5ca790f", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x93b4090d3a135628ec86a2c51ef83f76281bbc75b45e737f3072a967938387ea", - "0x971da896cbaa23ad67863c02aa8daad109df15afc0db0e4c13046679c9d23680" + "0xd43e0769d8cbbacfbcb6d1e00a0a052a31c6ba26c5d2cf735278de078f23435f" ], - "storage_written": { - "0x93b4090d3a135628ec86a2c51ef83f76281bbc75b45e737f3072a967938387ea": "0x137c967d550eddc26cd", - "0x971da896cbaa23ad67863c02aa8daad109df15afc0db0e4c13046679c9d23680": "0x66bb9aef8d557dd1e37a4" - }, "code_usage": { - "read": "0xb1dde0e2d06b79097986a3ecdd4f56e6021b8bbab841ea2797659cf8c454ed52" + "read": "0x1773ca75e39aca7b32d32fea5e495d2b73da79a92a59f289978a6d935346d187" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196620c6d8382a37d" - }, - "0x7b3ed3a3444144ff526554d5f4aa463d1759f51a": { + "0x253553366da8546fc250f225fe3d25d0c782303b": { + "balance": "0xbdb661eda65ced29b", "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x8819ef417987f8ae7a81f42cdfb18815282fe989326fbff903d13cf0e03ace29", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004" + "0x09834550f9d5c1211988a986475ef50026e9ee478702b3500d3b42505bd3185d" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x10000000000000000000000d1ba6069c6a166d180000007330e623465cf5de7", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10000010001000001b3c800000000000001087a9d5a6b4d431ce9be4b8c92", - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x136ef4fac3ea9b4ef32c03c056c255" + "0x09834550f9d5c1211988a986475ef50026e9ee478702b3500d3b42505bd3185d": "0x0" }, "code_usage": { - "read": "0x33e09251a51216898948bd10463ae05a6dc2d4d1a031d5de963de1080623b18a" + "read": "0x56aa3e2c09a6a30222598db1cffa6e657a5e5e6eef765d3cd60e44372d005cab" } }, - "0x76f1bef64c898027687f04d7695a2716c1e2352c": { - "balance": "0x179d9371cae3c5", - "nonce": "0xc6" - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x2986949a52b9bd7fe554c", + "0x231b0ee14048e9dccd1d247744d114a4eb5e8e63": { "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0x9c96803f09af928e36a0f15168568171a3e117a5dc7e2b1d71c06f5b532763ad" + "0xbd3eaa9220b52f317e5ded292b98de2344d2c5d234df51366e53a9c0a3ca7616", + "0x4c69c881c4e7fb79a7c8615580a9106194b7a86bd46eb5903d0a5b9bbe94124d", + "0xcd3fde0f1fd75e1da2c0585452fda8b31a5572c50577e362097c58958fd283e6", + "0x95a6d933743ab4f581cb809a200956e54a7a8e92e25992c725d148ac1f8d939a" ], "storage_written": { - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", - "0x9c96803f09af928e36a0f15168568171a3e117a5dc7e2b1d71c06f5b532763ad": "0x5728506e5cbe70aae" + "0x95a6d933743ab4f581cb809a200956e54a7a8e92e25992c725d148ac1f8d939a": "0x616d69676f6368692e6574680000000000000000000000000000000000000018", + "0x4c69c881c4e7fb79a7c8615580a9106194b7a86bd46eb5903d0a5b9bbe94124d": "0x52e3f64dc077df00d27f8bbc25a6dc6b7094403b000000000000000000000028" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x19257636fde18e27704b400659de2cbaab55488586c18cd5b6d67f6417c8c19a" } } }, "meta": { - "byte_code": "0x02f902fb0181c5840122fe118509dea717e983031794943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880126e00f6c5b8000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf602700000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000126e00f6c5b8000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000126e00f6c5b8000000000000000000000000000000000000000000000000128f093a69637dddbcf00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710dd66781d0e9a08d4fbb5ec7bac80b691be27f21d000000000000000000000000000000000000000000c001a0fa9ab53d73b7b201d8bd74828f93c4c5b44587df880cd2dadd9e5912d5404d91a01737b5bef94ca3c480e9269bd4af58f2097a05ecdc568dc5ff4b804f1dcbbde4", - "new_txn_trie_node_byte": "0x02f902fb0181c5840122fe118509dea717e983031794943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880126e00f6c5b8000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf602700000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000126e00f6c5b8000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000126e00f6c5b8000000000000000000000000000000000000000000000000128f093a69637dddbcf00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710dd66781d0e9a08d4fbb5ec7bac80b691be27f21d000000000000000000000000000000000000000000c001a0fa9ab53d73b7b201d8bd74828f93c4c5b44587df880cd2dadd9e5912d5404d91a01737b5bef94ca3c480e9269bd4af58f2097a05ecdc568dc5ff4b804f1dcbbde4", - "new_receipt_trie_node_byte": "0xb903e402f903e00183942550b901000000000000000000008000000000000000000000000000000000000000000000000000000000000000040000000000000200000008002008000000000000000000000008000000080000000800000000000000000000000000000000802000000000400000000000000000000000000000000000000000000000001002080000000000000000000000001000000000000000c001000000000000000000000000000000000000000000000000004000000000000000000000000400008000000000000002000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000081000000000400000000000000000f902d5f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000126e00f6c5b8000f89b94dd66781d0e9a08d4fbb5ec7bac80b691be27f21df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007b3ed3a3444144ff526554d5f4aa463d1759f51aa000000000000000000000000076f1bef64c898027687f04d7695a2716c1e2352ca0000000000000000000000000000000000000000000000137c967d550eddc26cdf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000007b3ed3a3444144ff526554d5f4aa463d1759f51aa00000000000000000000000000000000000000000000000000126e00f6c5b8000f9011c947b3ed3a3444144ff526554d5f4aa463d1759f51af863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000076f1bef64c898027687f04d7695a2716c1e2352cb8a00000000000000000000000000000000000000000000000000126e00f6c5b8000fffffffffffffffffffffffffffffffffffffffffffffec836982aaf1223d93300000000000000000000000000000000000001087a9d5a6b4d431ce9be4b8c9200000000000000000000000000000000000000000000071829fcdd7344110907000000000000000000000000000000000000000000000000000000000001b3c8", - "gas_used": 146811 + "byte_code": "0x02f902d9018187830ecd108501575f4df4830612d594253553366da8546fc250f225fe3d25d0c782303b8730dfbbd0a2224eb9026474694a2b000000000000000000000000000000000000000000000000000000000000010000000000000000000000000052e3f64dc077df00d27f8bbc25a6dc6b7094403b000000000000000000000000000000000000000000000000000000000f099c009923eb94000000039fc26152d86f6deb77c2de03eb9c55916140d1338b5d5fd0000000000000000000000000231b0ee14048e9dccd1d247744d114a4eb5e8e630000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008616d69676f6368690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a48b95dd7122d030f1c7b5fbf433e9133ed5d9fbdbced7e8ef991821c830186aad1ee6936e000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001452e3f64dc077df00d27f8bbc25a6dc6b7094403b00000000000000000000000000000000000000000000000000000000000000000000000000000000c001a008338caf17488506e0789e99984f67b7eca08b244ac4fd90bdbcf479a03161c1a0443f2593e2a4ccde0937f21c0a09774bcdebbb9f7a71f8a95cd9a7a9eb2a3dd5", + "new_txn_trie_node_byte": "0x02f902d9018187830ecd108501575f4df4830612d594253553366da8546fc250f225fe3d25d0c782303b8730dfbbd0a2224eb9026474694a2b000000000000000000000000000000000000000000000000000000000000010000000000000000000000000052e3f64dc077df00d27f8bbc25a6dc6b7094403b000000000000000000000000000000000000000000000000000000000f099c009923eb94000000039fc26152d86f6deb77c2de03eb9c55916140d1338b5d5fd0000000000000000000000000231b0ee14048e9dccd1d247744d114a4eb5e8e630000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008616d69676f6368690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a48b95dd7122d030f1c7b5fbf433e9133ed5d9fbdbced7e8ef991821c830186aad1ee6936e000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001452e3f64dc077df00d27f8bbc25a6dc6b7094403b00000000000000000000000000000000000000000000000000000000000000000000000000000000c001a008338caf17488506e0789e99984f67b7eca08b244ac4fd90bdbcf479a03161c1a0443f2593e2a4ccde0937f21c0a09774bcdebbb9f7a71f8a95cd9a7a9eb2a3dd5", + "new_receipt_trie_node_byte": "0xb90a4b02f90a470183f0fa71b901000000000000000001004000000010010000000008000000000101000010000000000004000000200000000000000000080004000000401000000000000012a000000004000000020048000008028100080000000004001000000000000000000000000000020080000000000000000800000000600000000000000010000000000000010000000000000010000000000004000020000000202000000040800000000010000002040008804010042002000004000080001001008000040000002000000002000000000000000000005000200800000008000400000000020020000080000800000000080000000140000000000000001000000100080200402000f9093cf89c9457f1887a8bf19b14fc0df6fd9b2acc9af147ea85f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe25686401a0e6aa47da785787d61e87a087d8b13d2df856e27f69ff95d916e47e916112da4d80f89b9400000000000c2e074ec69a0dfb2997ba6c7d2e1ef863a0ce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82a093cdeb708b7545dc668eb9280176169d1c33cfd8ed6f04690a0bcc88a93fc4aea0e6aa47da785787d61e87a087d8b13d2df856e27f69ff95d916e47e916112da4da0000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe25686401f89b9457f1887a8bf19b14fc0df6fd9b2acc9af147ea85f863a0b3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d9a0e6aa47da785787d61e87a087d8b13d2df856e27f69ff95d916e47e916112da4da0000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe25686401a000000000000000000000000000000000000000000000000000000000753c6c6bf8dd94d4416b13d2b3a9abae7acd5d6c2bbdbe25686401f884a0c3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62a0000000000000000000000000253553366da8546fc250f225fe3d25d0c782303ba00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000052e3f64dc077df00d27f8bbc25a6dc6b7094403bb84022d030f1c7b5fbf433e9133ed5d9fbdbced7e8ef991821c830186aad1ee6936e0000000000000000000000000000000000000000000000000000000000000001f9011b94d4416b13d2b3a9abae7acd5d6c2bbdbe25686401f842a08ce7013e8abebc55c3890a68f5a27c67c3f7efa64e584de5fb22363c606fd340a022d030f1c7b5fbf433e9133ed5d9fbdbced7e8ef991821c830186aad1ee6936eb8c0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000052e3f64dc077df00d27f8bbc25a6dc6b7094403b00000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000075b3136b000000000000000000000000000000000000000000000000000000000000000e08616d69676f6368690365746800000000000000000000000000000000000000f87a9400000000000c2e074ec69a0dfb2997ba6c7d2e1ef842a0335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0a022d030f1c7b5fbf433e9133ed5d9fbdbced7e8ef991821c830186aad1ee6936ea0000000000000000000000000231b0ee14048e9dccd1d247744d114a4eb5e8e63f8db94231b0ee14048e9dccd1d247744d114a4eb5e8e63f842a065412581168e88a1e60c6459d7f44ae83ad0832e670826c05a4e2476b57af752a022d030f1c7b5fbf433e9133ed5d9fbdbced7e8ef991821c830186aad1ee6936eb880000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001452e3f64dc077df00d27f8bbc25a6dc6b7094403b000000000000000000000000f87a94231b0ee14048e9dccd1d247744d114a4eb5e8e63f842a052d7d861f09ab3d26239d492e8968629f95e9e318cf0b73bfddc441522a15fd2a022d030f1c7b5fbf433e9133ed5d9fbdbced7e8ef991821c830186aad1ee6936ea000000000000000000000000052e3f64dc077df00d27f8bbc25a6dc6b7094403bf87b94a58e81fe9b61b5c3fe2afd33cf304c454abfc7cbf863a06ada868dd3058cf77a48a74489fd7963688e5464b2b0fa957ace976243270e92a000000000000000000000000052e3f64dc077df00d27f8bbc25a6dc6b7094403ba0368cbbc6f10e62a53c1caae97dd490ebe0e5f271285b08198896c1fbd79d682d80f89b9400000000000c2e074ec69a0dfb2997ba6c7d2e1ef863a0ce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82a091d1777781884d03a6757a803996e38de2a42967fb37eeaca72729271025a9e2a0133df916dfecadc4c0fdf58dc1a1b03821045b507e47fd6a92e5fc03552bfc38a000000000000000000000000052e3f64dc077df00d27f8bbc25a6dc6b7094403bf87a9400000000000c2e074ec69a0dfb2997ba6c7d2e1ef842a0335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0a0368cbbc6f10e62a53c1caae97dd490ebe0e5f271285b08198896c1fbd79d682da0000000000000000000000000231b0ee14048e9dccd1d247744d114a4eb5e8e63f8bb94231b0ee14048e9dccd1d247744d114a4eb5e8e63f842a0b7d29e911041e8d9b843369e890bcb72c9388692ba48b65ac54e7214c4c348f7a0368cbbc6f10e62a53c1caae97dd490ebe0e5f271285b08198896c1fbd79d682db8600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c616d69676f6368692e6574680000000000000000000000000000000000000000f9013c94253553366da8546fc250f225fe3d25d0c782303bf863a069e37f151eb98a09618ddaa80c8cfaf1ce5996867c489f45b555b412271ebf27a0e6aa47da785787d61e87a087d8b13d2df856e27f69ff95d916e47e916112da4da000000000000000000000000052e3f64dc077df00d27f8bbc25a6dc6b7094403bb8c00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000002fea67d18fe566000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000753c6c6b0000000000000000000000000000000000000000000000000000000000000008616d69676f636869000000000000000000000000000000000000000000000000", + "gas_used": 382909 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196620ed017ebff25" - }, - "0xbe3cd04f1aa40d8a4c157c378c6d3bc379e6aae2": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b819bb0a30ceac009d4", "storage_read": [ - "0x59cd3f983a1c735d2efe3062c3383f7b2bfc8aa6ff809538c65343184ec0f9fd", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x697d7e1fc8365564afea66c4531cec19ec743be1c757bfd848beefa72c3ac366", - "0xe921dcb78fa3b3cd457634dded2621675c73d1a8a8fc9bb4a9e8fa974dbe963b", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x1f14561ec3dc9a4fab0afeb6a8580e007355031927612e97eecb7752f6a17da4", - "0xba9e2b91609b6851a69bfd1b34ff05db0ef11a3226cfc0e09992522fee533d4e" + "0x831588960a9043366b4cd9cb0c45e8f55672765996490be3ae347c73d0f22c1e", + "0xdc77ac96c78ca508446e616beec10f675dbe3ea16544979cc1dac2873e6c0ae1", + "0xff54477008062f7c04a58072a23c9aa9e72d3f055da5ad7da92a98adb5ae6a29", + "0xb194c13006a2f4e05dc9921f0c8a00bff7be7d5e56242f94602bc91026ee7ebb", + "0x8253f56c00b7420cc71617b88804c06bd09f5baa2fb53bd0a3e4a70202e8c573" ], "storage_written": { - "0x59cd3f983a1c735d2efe3062c3383f7b2bfc8aa6ff809538c65343184ec0f9fd": "0x6aa890d82c12b", - "0xba9e2b91609b6851a69bfd1b34ff05db0ef11a3226cfc0e09992522fee533d4e": "0xbccbf5c5f3e5a3" + "0xff54477008062f7c04a58072a23c9aa9e72d3f055da5ad7da92a98adb5ae6a29": "0x6c1760554a90000", + "0x831588960a9043366b4cd9cb0c45e8f55672765996490be3ae347c73d0f22c1e": "0x0", + "0xdc77ac96c78ca508446e616beec10f675dbe3ea16544979cc1dac2873e6c0ae1": "0x1711fb5c9b5c6b774", + "0xb194c13006a2f4e05dc9921f0c8a00bff7be7d5e56242f94602bc91026ee7ebb": "0x0" }, "code_usage": { - "read": "0xb1f70e34c4f5fa0a2549fd946fb028ca1fa3eb42a94eb03155909e547d252ab7" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "0xb8f275fbf7a959f4bce59999a2ef122a099e81a8": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x0000000000000000000000000000000000000000000000000000000000000067", + "0x0000000000000000000000000000000000000000000000000000000000000069", + "0xc4c513732053841b04568f82ce45c4b47d9ce5017f6df0cd762b53f250d3c7cb", + "0xf923379d67d84bab93d52fc3f3d1077203994aca2734b7d0823a11f6358bfdb6", + "0x000000000000000000000000000000000000000000000000000000000000006f", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0xf923379d67d84bab93d52fc3f3d1077203994aca2734b7d0823a11f6358bfdb6": "0x1711fb5c9b5c6b774", + "0xc4c513732053841b04568f82ce45c4b47d9ce5017f6df0cd762b53f250d3c7cb": "0x1" }, "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298694a3347659702554c", - "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0x697d7e1fc8365564afea66c4531cec19ec743be1c757bfd848beefa72c3ac366" - ], - "storage_written": { - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", - "0x697d7e1fc8365564afea66c4531cec19ec743be1c757bfd848beefa72c3ac366": "0x103ac9bda9bdbe45" - }, + "0x7057ab3fb2bee9c18e0cde4240de4ff7f159e365": { "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x3b493865500d39b3981b57d5c7105e6ee276dd6c1b94d912482155f11b54be00" } }, - "0x357ee5ead0c0b3c709865b705aeab1e3aff9365b": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x21e698996b61fd5a717ee73cce390078", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x1dbff765a002c038d82b39fbe54238", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000000103ac9bda9bdbe4500000000000000bccbf5c5f3e5a3", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, + "0x326adbe46d7e6c1b3927e9309b96df478bda6d16": { "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0x1c3b0ef0e0c3d7f058eb9d7704569e674617954fce0bf54e015fe6a837778cf0" } }, - "0x842662ad37724a8f61b012e4416cfd3db5240bb4": { - "balance": "0x1493e61c85f210", - "nonce": "0x1" - } - }, - "meta": { - "byte_code": "0x02f902f90180840122fe118509dea717e983030a48943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad878e1bc9bf040000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf5e0b00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008e1bc9bf0400000000000000000000000000000000000000000000000000000006a20b8e14925b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000be3cd04f1aa40d8a4c157c378c6d3bc379e6aae2c001a09d441473bec62a8a9d9834d724d01ade8aa10723179b50b76a0fb2e463147a9da0128abaa346b7bd0ef3c108e702848f29c30a7ae9eb5f66e6aceff9046641426d", - "new_txn_trie_node_byte": "0x02f902f90180840122fe118509dea717e983030a48943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad878e1bc9bf040000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf5e0b00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000008e1bc9bf04000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008e1bc9bf0400000000000000000000000000000000000000000000000000000006a20b8e14925b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000be3cd04f1aa40d8a4c157c378c6d3bc379e6aae2c001a09d441473bec62a8a9d9834d724d01ade8aa10723179b50b76a0fb2e463147a9da0128abaa346b7bd0ef3c108e702848f29c30a7ae9eb5f66e6aceff9046641426d", - "new_receipt_trie_node_byte": "0xb9043e02f9043a0183963e78b9010000200000000000000008000080000000000000000000000000000000000000000000000000000000000000000000000002000000080008000000008000000000000000080000000000000008000000200000000000000000000000008020000000000000000020000000000000000000400000000000000000000010000000000000000000000000000000000000000000000001000000080000004000000000000000000000800000000000000000000000000000000000000000000000100000000002000000000000000400000000000000000000001000000000000000000000200001400000040000000000000000001004000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000000008e1bc9bf040000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000357ee5ead0c0b3c709865b705aeab1e3aff9365ba0000000000000000000000000000000000000000000000000008e1bc9bf040000f89b94be3cd04f1aa40d8a4c157c378c6d3bc379e6aae2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000357ee5ead0c0b3c709865b705aeab1e3aff9365ba0000000000000000000000000842662ad37724a8f61b012e4416cfd3db5240bb4a00000000000000000000000000000000000000000000000000006aa890d82c12bf87994357ee5ead0c0b3c709865b705aeab1e3aff9365be1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000000bccbf5c5f3e5a3000000000000000000000000000000000000000000000000103ac9bda9bdbe45f8fc94357ee5ead0c0b3c709865b705aeab1e3aff9365bf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000842662ad37724a8f61b012e4416cfd3db5240bb4b8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf0400000000000000000000000000000000000000000000000000000006aa890d82c12b0000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 137512 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662100ff949db2f" - }, - "0x602c1c8e19b6c4bf885cbc8283d2a14a86b9a99e": { - "balance": "0x54c5d3d55f8f29", - "nonce": "0x1e" - }, - "0xf55b0f6f2da5ffddb104b58a60f2862745960442": { - "storage_read": [ - "0x7b39f9be72ea3674150e64b506be508690973380a99149c52dc66a98f3a01876", - "0x014af72491574063bde430eca8f630bb9244c429736c8c24c62e9e56e8a11adb", - "0x9fbd2fd7585eb2938687b4f8ba7bda7faf9f113af07fe8cd5c16414290d13cb2" - ], - "storage_written": { - "0x7b39f9be72ea3674150e64b506be508690973380a99149c52dc66a98f3a01876": "0x0", - "0x014af72491574063bde430eca8f630bb9244c429736c8c24c62e9e56e8a11adb": "0x5e3947537aa0f8453c57b", - "0x9fbd2fd7585eb2938687b4f8ba7bda7faf9f113af07fe8cd5c16414290d13cb2": "0x0" - }, - "code_usage": { - "read": "0x1ae216d13259d3e2088f002c586ba617e8335d5618a35c3111fb762606a41e7b" - } + "0x2064392e364aae110206922c4a9613f52cb3cbd1": { + "balance": "0xbf7ba710a145a" }, - "0x8707f238936c12c309bfc2b9959c35828acfc512": { + "0x5ad095de83693ba063941f2f2c5a0df02383b651": { "storage_read": [ - "0x700c3d2b154e4c372d6716acc7a37f3f165fa230fa13905176c693da0747390a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x700c3d2b154e4c372d6716acc7a37f3f165fa230fa13905176c693da0747390b", - "0x1276c2c9919e0516807189f8a7eaffa18323ab81a49c4be47c7743d2ddf292a1", - "0x0000000000000000000000000000000000000000000000000000000000000002" + "0x0000000000000000000000000000000000000000000000000000000000000001" ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x1", - "0x1276c2c9919e0516807189f8a7eaffa18323ab81a49c4be47c7743d2ddf292a1": "0x70f0200593da08dd31", - "0x700c3d2b154e4c372d6716acc7a37f3f165fa230fa13905176c693da0747390b": "0x1baf800000000002b5e3af16b1880000000005e391bf53faf8d2cbc57b" - }, "code_usage": { - "read": "0xee92b9460c4d40c0d93565a0b937a753d6fdc82303a5c88938f0b0e0e175de91" + "read": "0xdfd64a41e58dadd0eedb3e3c4e5b9351a836073bbbb3c7905fbc2a91e62095f7" } - } - }, - "meta": { - "byte_code": "0x02f8b1011d840122fe118509dea717e98301fe6d948707f238936c12c309bfc2b9959c35828acfc51280b844b3dd411d000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442000000000000000000000000000000000000000000000070f0200593da08dd31c080a0755821ac1316d590a5ceb2a4f3bc64514ed6c6c2de799f56b0f369fcd6cbc98fa0216f364ebfbbadc7333e1c5979b7ce20626fba45f92e8ad31f006d4979d86df5", - "new_txn_trie_node_byte": "0x02f8b1011d840122fe118509dea717e98301fe6d948707f238936c12c309bfc2b9959c35828acfc51280b844b3dd411d000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442000000000000000000000000000000000000000000000070f0200593da08dd31c080a0755821ac1316d590a5ceb2a4f3bc64514ed6c6c2de799f56b0f369fcd6cbc98fa0216f364ebfbbadc7333e1c5979b7ce20626fba45f92e8ad31f006d4979d86df5", - "new_receipt_trie_node_byte": "0xb9024902f9024501839757e2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000100000004000000000000008000040000000000000000000000000000000800000000001000000004000000000000000000000000000000000000010000000000800000000000000000000002000000000000000000000000000000000000000000200000000000008000000000000000000000050000000800000000080000000000002000000000000000400000100000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f9013af89b94f55b0f6f2da5ffddb104b58a60f2862745960442f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000602c1c8e19b6c4bf885cbc8283d2a14a86b9a99ea00000000000000000000000008707f238936c12c309bfc2b9959c35828acfc512a0000000000000000000000000000000000000000000000070f0200593da08dd31f89b948707f238936c12c309bfc2b9959c35828acfc512f863a099039fcf0a98f484616c5196ee8b2ecfa971babf0b519848289ea4db381f85f7a0000000000000000000000000602c1c8e19b6c4bf885cbc8283d2a14a86b9a99ea0000000000000000000000000f55b0f6f2da5ffddb104b58a60f2862745960442a0000000000000000000000000000000000000000000000070f0200593da08dd31", - "gas_used": 72042 - } - }, - { - "traces": { - "0x0e05ac67bf2dfd9c877d893612265d2d77f66335": { - "balance": "0x2175fac6bd65b7e", - "nonce": "0x212" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966210f32dad5d31" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d49647dd65712" }, - "0x877ab7aa50b8e42ad3c9fe562870e91489eea876": { + "0x5523985926aa12ba58dc5ad00ddca99678d7227e": { "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000066", + "0x32f4c4cf0da5a2608295d54bcda25d419e3d128ebe3efeb258482ffca1f11e27", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0xed14b567afdc37c56358c9117b670b0c259b665de2867dc610dd161e3e0dd659" + "0x0000000000000000000000000000000000000000000000000000000000000068" ], - "storage_written": { - "0xed14b567afdc37c56358c9117b670b0c259b665de2867dc610dd161e3e0dd659": "0x1" - }, "code_usage": { - "read": "0x8765781b31481be6f481dff3da4fe57bbe794bae8899a0cc26f6ff13950df646" + "read": "0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986" } }, - "0x5133522ea5a0494ecb83f26311a095ddd7a9d4b6": { + "0x0000000000000000000000000000000000000001": {}, + "0xf621fb08bbe51af70e7e0f4ea63496894166ff7f": { "code_usage": { - "read": "0x97c86b3f6fac4e44d862bc80bfa532710b786e164e87a965beda2c5080bc79e8" + "read": "0x846f7ad2f1f025661f51894e28e2b35a2e7944255a8b6253f6a279ef8df590ec" } - } - }, - "meta": { - "byte_code": "0x02f8b201820211840122fe118509dea717e982c96a94877ab7aa50b8e42ad3c9fe562870e91489eea87680b844a22cb4650000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfb0000000000000000000000000000000000000000000000000000000000000001c001a09a1b1a11ee14b9f1fabd5f49f5d20b3d9e64562782495c4e7881550ba4321b70a03c4f105685c737fdfdb597b986662b3f26b34fb7b8214847a9afa1fde558c00e", - "new_txn_trie_node_byte": "0x02f8b201820211840122fe118509dea717e982c96a94877ab7aa50b8e42ad3c9fe562870e91489eea87680b844a22cb4650000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfb0000000000000000000000000000000000000000000000000000000000000001c001a09a1b1a11ee14b9f1fabd5f49f5d20b3d9e64562782495c4e7881550ba4321b70a03c4f105685c737fdfdb597b986662b3f26b34fb7b8214847a9afa1fde558c00e", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183981fc4b9010000000000800000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000020000000000000000000000000002000000000000000000000000000000000000001000000000000000080000000000000000000000000000000000000000000000000000000000000000000400000000000800000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000200800000000000000000000000000000000000000000000000000000000f89df89b94877ab7aa50b8e42ad3c9fe562870e91489eea876f863a017307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31a00000000000000000000000000e05ac67bf2dfd9c877d893612265d2d77f66335a00000000000000000000000002f18f339620a63e43f0839eeb18d7de1e1be4dfba00000000000000000000000000000000000000000000000000000000000000001", - "gas_used": 51170 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966211c2e1ba0b8b" }, - "0xa5cc44a9af8917f8f9749b60f44354ba1320fddf": { - "balance": "0x37b18f58852f9c", - "nonce": "0x2" - }, - "0x64bc2ca1be492be7185faa2c8835d9b824c8a194": { - "storage_read": [ - "0x64f00dfff2097ce499922d4764cd232c039bd68b19b277f19b0d151b1d04e016", - "0x88ec1d3dfc73d5d20fa5a2f56511e31105cb98341c21a3e700f7220f41843d3b" - ], - "storage_written": { - "0x88ec1d3dfc73d5d20fa5a2f56511e31105cb98341c21a3e700f7220f41843d3b": "0x68279a14efd5a38000", - "0x64f00dfff2097ce499922d4764cd232c039bd68b19b277f19b0d151b1d04e016": "0x0" - }, - "code_usage": { - "read": "0x42ede8133c02b6375c05ec7fa92639fb0dc58c3997aa380dabac8483f4cddc83" - } + "0xd99ac0681b904991169a4f398b9043781adbe0c3": { + "balance": "0xdeaf0836263677a", + "nonce": "0x5c4c" } }, "meta": { - "byte_code": "0x02f8b00101840122fe118509dea717e982ca259464bc2ca1be492be7185faa2c8835d9b824c8a19480b844a9059cbb0000000000000000000000008edf104ff7c56846658272a31fadea728cbc11b1000000000000000000000000000000000000000000000068279a14efd5a38000c001a08a00581c62f6412a8ca16a7ab2f4803d717c8d68adade802d1b85291b5eddb29a024cacc26c54a446826c5635e7aacc450f320c76abf4bcab3d498fc6a29a8b718", - "new_txn_trie_node_byte": "0x02f8b00101840122fe118509dea717e982ca259464bc2ca1be492be7185faa2c8835d9b824c8a19480b844a9059cbb0000000000000000000000008edf104ff7c56846658272a31fadea728cbc11b1000000000000000000000000000000000000000000000068279a14efd5a38000c001a08a00581c62f6412a8ca16a7ab2f4803d717c8d68adade802d1b85291b5eddb29a024cacc26c54a446826c5635e7aacc450f320c76abf4bcab3d498fc6a29a8b718", - "new_receipt_trie_node_byte": "0xb901ab02f901a7018398d67eb9010000000000000000000000000000000000000000000000000000000100000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000010000004000000000000000000000000100000000000000000002000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000400008000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9464bc2ca1be492be7185faa2c8835d9b824c8a194f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a5cc44a9af8917f8f9749b60f44354ba1320fddfa00000000000000000000000008edf104ff7c56846658272a31fadea728cbc11b1a0000000000000000000000000000000000000000000000068279a14efd5a38000", - "gas_used": 46778 + "byte_code": "0x02f9033301825c4b830ecd1085013d822c5a83080075945523985926aa12ba58dc5ad00ddca99678d7227e80b902c484d61c970000000000000000000000000000000000000000000000000000000000000060000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a8000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000001a4c23a4c8800000000000000000000000000000000000000000000000000044364c5bb00008750cf40c8f20b720e0465fc08dcc8d5d70b81b16a6885f1edda21d198832b420f37b562082b5505f8062c8ef7cd06823cb96b090a34276b6f548e513d36d9430000000000000000000000002064392e364aae110206922c4a9613f52cb3cbd1000000000000000000000000000000000000000000000000000fff16aae22a52000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005ad095de83693ba063941f2f2c5a0df02383b6510000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000447647691d000000000000000000000000000000000000000000000000000b95401f5df6590000000000000000000000002064392e364aae110206922c4a9613f52cb3cbd100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c974f313c84d943da873fcaeeebd61e666629edad4b0ff686cfb0314867c3753445648768982a9e9af88d8cae57edc6a0e285480a3bc7b732f798adbb57004f01c00000000000000000000000000000000000000000000000000000000000000c001a0fb079fb6834d3701336aad15cce6f6769a2c836787b4f486f0fc31454171d764a04635f659d91e862d0c3aa562bceb2603cd19c495035184398f8ab03b00fe1524", + "new_txn_trie_node_byte": "0x02f9033301825c4b830ecd1085013d822c5a83080075945523985926aa12ba58dc5ad00ddca99678d7227e80b902c484d61c970000000000000000000000000000000000000000000000000000000000000060000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a8000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000001a4c23a4c8800000000000000000000000000000000000000000000000000044364c5bb00008750cf40c8f20b720e0465fc08dcc8d5d70b81b16a6885f1edda21d198832b420f37b562082b5505f8062c8ef7cd06823cb96b090a34276b6f548e513d36d9430000000000000000000000002064392e364aae110206922c4a9613f52cb3cbd1000000000000000000000000000000000000000000000000000fff16aae22a52000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005ad095de83693ba063941f2f2c5a0df02383b6510000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000447647691d000000000000000000000000000000000000000000000000000b95401f5df6590000000000000000000000002064392e364aae110206922c4a9613f52cb3cbd100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c974f313c84d943da873fcaeeebd61e666629edad4b0ff686cfb0314867c3753445648768982a9e9af88d8cae57edc6a0e285480a3bc7b732f798adbb57004f01c00000000000000000000000000000000000000000000000000000000000000c001a0fb079fb6834d3701336aad15cce6f6769a2c836787b4f486f0fc31454171d764a04635f659d91e862d0c3aa562bceb2603cd19c495035184398f8ab03b00fe1524", + "new_receipt_trie_node_byte": "0xb904dd02f904d90183f37029b9010000100000000000000000000400000000000080000000000080000000000000000000001000000000000000000000000002000810080000000000000000000000000000000000000000000008000000000080000000400000000000000000000000000000000000000002000000040000020000020008040000000010000000010000000000000008000020000040000001000000000000000000000050000000000000000000000800000000000000000000000000000000000080800000000000000002000000008000000000800000000000000000002000004002400008004000200000400000000000020000000000000000000000000080000000000000f903cef89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a8a00000000000000000000000005523985926aa12ba58dc5ad00ddca99678d7227ea000000000000000000000000000000000000000000000000000044364c5bb0000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a8a0000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7fa0000000000000000000000000000000000000000000000000000bbbb1e5272a52f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f621fb08bbe51af70e7e0f4ea63496894166ff7fa00000000000000000000000005ad095de83693ba063941f2f2c5a0df02383b651a0000000000000000000000000000000000000000000000000000bbbb1e5272a52f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000005ad095de83693ba063941f2f2c5a0df02383b651a0000000000000000000000000000000000000000000000000000bbbb1e5272a52f87a945ad095de83693ba063941f2f2c5a0df02383b651f842a01d27d1c62712f590d53fa9eb8bbf3a75d09503deae319bb9d99644339cb312e1a00000000000000000000000002064392e364aae110206922c4a9613f52cb3cbd1a0000000000000000000000000000000000000000000000000000bbbb1e5272a52f8fd94b8f275fbf7a959f4bce59999a2ef122a099e81a8f884a0aeef64b7687b985665b6620c7fa271b6f051a3fbe2bfc366fb9c964602eb6d26a00f37b562082b5505f8062c8ef7cd06823cb96b090a34276b6f548e513d36d943a08750cf40c8f20b720e0465fc08dcc8d5d70b81b16a6885f1edda21d198832b42a0000000000000000000000000b8f275fbf7a959f4bce59999a2ef122a099e81a8b860000000000000000000000000000000000000000000000000000bbbb1e5272a5200000000000000000000000000000000000000000000000000044364c5bb0000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "gas_used": 161208 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621227f0c622f3" + "0x8badd8b59ddaf9a12c4910ca1b2e8ea750a71594": { + "balance": "0x7020d69ebd90a78b0", + "nonce": "0x11e7a" }, - "0x0000000000000000000000000000000000000000": {}, - "0x576eb27cbf54518d3de5a38ea7746ef6a9b8b5e6": { - "balance": "0x3afe6a96c10bfd", - "nonce": "0x858" - } - }, - "meta": { - "byte_code": "0x02f8dc01820857840122fe118509dea717e9825a3894000000000000000000000000000000000000000080b86e646174613a6170706c69636174696f6e2f6a736f6e2c7b2270223a22696572632d706f77222c226f70223a226d696e74222c227469636b223a226574687069222c227573655f706f696e74223a22313030303030222c226e6f6e6365223a2231373038303838373435373830227dc080a03d7ecf68bacf0dbb86e690bceb59eb9b85d1427840c2f9bf094b4d5177b6f0c9a03e670e56c8e8dc549a51adce7c383e1067416ded15347284db97ab82f26f0fd8", - "new_txn_trie_node_byte": "0x02f8dc01820857840122fe118509dea717e9825a3894000000000000000000000000000000000000000080b86e646174613a6170706c69636174696f6e2f6a736f6e2c7b2270223a22696572632d706f77222c226f70223a226d696e74222c227469636b223a226574687069222c227573655f706f696e74223a22313030303030222c226e6f6e6365223a2231373038303838373435373830227dc080a03d7ecf68bacf0dbb86e690bceb59eb9b85d1427840c2f9bf094b4d5177b6f0c9a03e670e56c8e8dc549a51adce7c383e1067416ded15347284db97ab82f26f0fd8", - "new_receipt_trie_node_byte": "0xb9010d02f901090183992f66b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 22760 - } - }, - { - "traces": { - "0x7ceb23fd6bc0add59e62ac25578270cff1b9f619": {}, - "0x12bd47f71c08dfc92a56a56899e512c6866e2f17": { - "balance": "0x6185e89efda12", - "nonce": "0x2" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d49693bfbdf92" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966212880b46a83f" + "0x764100b86351db292f5294e044585283b27e4704": { + "balance": "0x41f3ba15af1e36b" } }, "meta": { - "byte_code": "0x02f8b00101840122fe118509dea717e982d6d8947ceb23fd6bc0add59e62ac25578270cff1b9f61980b844a9059cbb00000000000000000000000080c67432656d59144ceff962e8faf8926599bcf80000000000000000000000000000000000000000000000000066fd578764f329c001a0e62694f8f725718e463ea3f58e5a053c0b45e0a6bd648b1490d4c230355d5544a042d673b634bbd9b828982e47761f8054fd1bc30dedd4996506e5eef81acb4e04", - "new_txn_trie_node_byte": "0x02f8b00101840122fe118509dea717e982d6d8947ceb23fd6bc0add59e62ac25578270cff1b9f61980b844a9059cbb00000000000000000000000080c67432656d59144ceff962e8faf8926599bcf80000000000000000000000000000000000000000000000000066fd578764f329c001a0e62694f8f725718e463ea3f58e5a053c0b45e0a6bd648b1490d4c230355d5544a042d673b634bbd9b828982e47761f8054fd1bc30dedd4996506e5eef81acb4e04", - "new_receipt_trie_node_byte": "0xb9010d02f9010901839983f2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21644 + "byte_code": "0x02f8750183011e79830ecd1085015625ae60830186a094764100b86351db292f5294e044585283b27e470487d87f4e79f8640080c001a08655cf08ed175ef9aac85e1537d9c66210088ef99845e204838f9174a73e82dba01cbd6bdca67c36f62f3aeca3c92c5fb1443309397f3018ac4a94bb66a5047407", + "new_txn_trie_node_byte": "0x02f8750183011e79830ecd1085015625ae60830186a094764100b86351db292f5294e044585283b27e470487d87f4e79f8640080c001a08655cf08ed175ef9aac85e1537d9c66210088ef99845e204838f9174a73e82dba01cbd6bdca67c36f62f3aeca3c92c5fb1443309397f3018ac4a94bb66a5047407", + "new_receipt_trie_node_byte": "0xb9010d02f901090183f3c231b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 } }, { "traces": { - "0x435664008f38b0650fbc1c9fc971d0a3bc2f1e47": { + "0x1735db6ab5baa19ea55d0adceed7bcdc008b3136": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0xcd5501e0e3603e00b6ad88c8e8ce62a5bb877befc9f25f1092473007f227ec71", - "0xa25a49481d75e69e4962ae09926f4d34f733fd60e6d3abe86eec7bb377335f11", - "0xf33a6b7ceabbeba30c0b2376b14f97ad1e748a4de57fccaef78e81fca21c7478", - "0xcd5501e0e3603e00b6ad88c8e8ce62a5bb877befc9f25f1092473007f227ec72", - "0x0cd2e395212a4f23817714f25fcc245d1b6f88289a51befdd5a07db433695841", - "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xa3fe89f7514491fbe09a5a78f183173c428049741f9fdc4899a07162c0178422", + "0x428da0d3b4af0b88ecbd2a1da3c943006e009e12ab6e200f0d6641dbdc48253b", "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0cd2e395212a4f23817714f25fcc245d1b6f88289a51befdd5a07db433695842", - "0x0cd2e395212a4f23817714f25fcc245d1b6f88289a51befdd5a07db433695840", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0cd2e395212a4f23817714f25fcc245d1b6f88289a51befdd5a07db43369583f", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xcd5501e0e3603e00b6ad88c8e8ce62a5bb877befc9f25f1092473007f227ec73", - "0xf33a6b7ceabbeba30c0b2376b14f97ad1e748a4de57fccaef78e81fca21c7477", - "0xf33a6b7ceabbeba30c0b2376b14f97ad1e748a4de57fccaef78e81fca21c7479" + "0x96c5ca3b5311ba5ea7fed020f3493e3c178931c5974897e64a090cdb38e4f1af", + "0x0de9998f1076a88bc441fa252519e563dfc7fc2aa42b9b77710c0d0e6a8decbf", + "0x400038b65e712bdfece48a943f7de9b5ffba45ff85f399430a463659dec14f52" + ], + "storage_written": { + "0x96c5ca3b5311ba5ea7fed020f3493e3c178931c5974897e64a090cdb38e4f1af": "0x7cac7831c68e3429e9f0", + "0x428da0d3b4af0b88ecbd2a1da3c943006e009e12ab6e200f0d6641dbdc48253b": "0x4cf9e6e0e8744cec28663", + "0x0de9998f1076a88bc441fa252519e563dfc7fc2aa42b9b77710c0d0e6a8decbf": "0x0", + "0xa3fe89f7514491fbe09a5a78f183173c428049741f9fdc4899a07162c0178422": "0xfffffffffffffffffffffffffffffffffffffffffffdc3be1997d673cdfdef09", + "0x400038b65e712bdfece48a943f7de9b5ffba45ff85f399430a463659dec14f52": "0xfffffffffffffffffffffffffffffffffffffffffffff9031100997e4d5fffff" + }, + "code_usage": { + "read": "0x6e5868773e61bab0197e067f4f8ba15460a8745c5dbfc2000977b4d8caa18c44" + } + }, + "0xf326e4de8f66a0bdc0970b79e0924e33c79f1915": { + "balance": "0xc88725921d19530551", + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "storage_written": { - "0xcd5501e0e3603e00b6ad88c8e8ce62a5bb877befc9f25f1092473007f227ec72": "0x0", - "0xf33a6b7ceabbeba30c0b2376b14f97ad1e748a4de57fccaef78e81fca21c7477": "0x0", - "0x0cd2e395212a4f23817714f25fcc245d1b6f88289a51befdd5a07db43369583f": "0x0", - "0xf33a6b7ceabbeba30c0b2376b14f97ad1e748a4de57fccaef78e81fca21c747a": "0x0", - "0x0cd2e395212a4f23817714f25fcc245d1b6f88289a51befdd5a07db433695840": "0x4bf81a9ebbd532c9724201b9fdf17420", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000fbc8bf0000000000000000000010cea808839b8aa9f315", - "0xa25a49481d75e69e4962ae09926f4d34f733fd60e6d3abe86eec7bb377335f11": "0x240011c06010040c00004000000000000000000000000000000000000", - "0xcd5501e0e3603e00b6ad88c8e8ce62a5bb877befc9f25f1092473007f227ec73": "0x0", - "0xf33a6b7ceabbeba30c0b2376b14f97ad1e748a4de57fccaef78e81fca21c7478": "0x0", - "0xcd5501e0e3603e00b6ad88c8e8ce62a5bb877befc9f25f1092473007f227ec74": "0x0", - "0x0cd2e395212a4f23817714f25fcc245d1b6f88289a51befdd5a07db433695842": "0x0", - "0xcd5501e0e3603e00b6ad88c8e8ce62a5bb877befc9f25f1092473007f227ec71": "0x0", - "0xf33a6b7ceabbeba30c0b2376b14f97ad1e748a4de57fccaef78e81fca21c7479": "0x0", - "0x0cd2e395212a4f23817714f25fcc245d1b6f88289a51befdd5a07db433695841": "0x5fe351c58214894ddce7ae" - }, "code_usage": { - "read": "0x858ffe161dc17cdc6a0a8635fbf6d43024a88f0ab1115f5496893e7b18a85285" + "read": "0xaea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e5" + } + }, + "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "code_usage": { + "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" + } + }, + "0x1111111254eeb25477b68fb85ed929f73a960582": { + "code_usage": { + "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966217270b4f2ed4" + "0x93220de23ebbe67a8d0b4e33baeeee473e0eb2e4": { + "balance": "0x2421f788e0ba1ae", + "nonce": "0x12" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x74de5d4fcbf63e00296fd95d33236b9794016631": { + "code_usage": { + "read": "0x34285df013b925b34c7744f619f6ed193cbb11e1e08b0013af1dd0511a3e6f6e" + } + }, + "0x7cdf68ce9a05413cbb76cb7f80eaf415a826e313": { + "code_usage": { + "read": "0xa873be03126d64946ef888d2b014036c8271d0d781aec7f91ab85a56f6e1e44c" + } + }, + "0x881d40237659c251811cec9c364ef91dc08d300c": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0037a0d8db04cd386ef0b9017e3bf3905dfa95c72e31311a6436d48d20140280", - "0xbc281873f91ef6a3045f57af8d0db73b3d1ab55a09d871c413fcc57eb59803a2", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xf54cd1d20b681e0f1877f9e655898649edbb60d29e883d1dd59b00674d1bba0d", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003" + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x684fdb4b219d1c63474e6c8e4dc8c2611de744d4aaa2b78c4ec411ebb6ba9756", + "0x684fdb4b219d1c63474e6c8e4dc8c2611de744d4aaa2b78c4ec411ebb6ba9757", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0x0037a0d8db04cd386ef0b9017e3bf3905dfa95c72e31311a6436d48d20140280": "0x7d2a4e6bbd", - "0xbc281873f91ef6a3045f57af8d0db73b3d1ab55a09d871c413fcc57eb59803a2": "0x14906657" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0xcc34a85a74e46f422c2b06b16156799b7c313a71390b4465cbc463bd99d76764" } }, - "0xef9cf9985270eb35674214f7038610b2695cb980": { - "balance": "0x30751b9e45efb3", - "nonce": "0x1a5" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4991e4af4a52" }, - "0xc36442b4a4522e871399cd717abdd847ab11fe88": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b819b67469b7d114cdc", "storage_read": [ - "0xee89174f44fd142e451b6f38e73444f0b5824d914831642b93cc03d7e6f5649b", - "0xee89174f44fd142e451b6f38e73444f0b5824d914831642b93cc03d7e6f56498", - "0xf49eaf4644eff17c8204df26e921f27db87d9a1604827c25ab6c41cc46d12c33", - "0xee89174f44fd142e451b6f38e73444f0b5824d914831642b93cc03d7e6f56499", - "0xf49eaf4644eff17c8204df26e921f27db87d9a1604827c25ab6c41cc46d12c32", - "0xee89174f44fd142e451b6f38e73444f0b5824d914831642b93cc03d7e6f5649a", - "0x313316858504067abc6c842039ae753c6371a13e29dffee670ae79eff5f2530d", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3ce1633" + "0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7", + "0x73bcbb0dac15a6f2c5e88ae9e888b84368a71274dabc1a8602002fb6228c07d6" ], "storage_written": { - "0xee89174f44fd142e451b6f38e73444f0b5824d914831642b93cc03d7e6f5649b": "0x0", - "0xee89174f44fd142e451b6f38e73444f0b5824d914831642b93cc03d7e6f56499": "0x4bf81a9ebbd532c9724201b9fdf17420", - "0xee89174f44fd142e451b6f38e73444f0b5824d914831642b93cc03d7e6f5649a": "0x5fe351c58214894ddce7ae", - "0xee89174f44fd142e451b6f38e73444f0b5824d914831642b93cc03d7e6f56498": "0xfbc898fbc884000000000000000045c7" + "0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7": "0x1", + "0x73bcbb0dac15a6f2c5e88ae9e888b84368a71274dabc1a8602002fb6228c07d6": "0xa6e2c4aaf4a5352b" }, "code_usage": { - "read": "0x692e658b31cbe3407682854806658d315d61a58c7e4933a2f91d383dc00736c6" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x4c9edd5852cd905f086c759e8383e09bff1e68b3": { + "0x2deeeda49e5436cfe18e0ba10f58e4496b8fc631": { "storage_read": [ - "0x0037a0d8db04cd386ef0b9017e3bf3905dfa95c72e31311a6436d48d20140280", - "0xbc281873f91ef6a3045f57af8d0db73b3d1ab55a09d871c413fcc57eb59803a2" + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" ], "storage_written": { - "0xbc281873f91ef6a3045f57af8d0db73b3d1ab55a09d871c413fcc57eb59803a2": "0x17b4e80e62b1479504", - "0x0037a0d8db04cd386ef0b9017e3bf3905dfa95c72e31311a6436d48d20140280": "0x56cfc50ad004e99d1b1a" + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1c9521f1bc0bfeebd1107cee3ca0115e", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x7d6d6032e148e1d4e2c13c1e5a1090d5a3e02ce", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b000000000000a6e2c4aaf4a5352b00000004cf9e6e0e8744cec28663" }, "code_usage": { - "read": "0x6ca5462ff0355c610301f701d0bb1136becca144e195da86d240b5e604ef9625" + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" } } }, "meta": { - "byte_code": "0x02f90294018201a4840119fe2185074fdaa8f98306590894c36442b4a4522e871399cd717abdd847ab11fe8880b90224ac9650d8000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000a40c49ccbe00000000000000000000000000000000000000000000000000000000000a531900000000000000000000000000000000000000000000000004ca36a561868dd8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096cb31d0000000000000000000000000000000000000000000000000000000065cf6003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084fc6f786500000000000000000000000000000000000000000000000000000000000a5319000000000000000000000000ef9cf9985270eb35674214f7038610b2695cb98000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000c001a0a809d18f81b41b159dbd762af44304c6ad3a55e22cf3dcccea6d47e7eabe9424a0308718f77bad0a806ac3e3547221f3c9ff1be35d1a34e99c1a451373a5fbd5a6", - "new_txn_trie_node_byte": "0x02f90294018201a4840119fe2185074fdaa8f98306590894c36442b4a4522e871399cd717abdd847ab11fe8880b90224ac9650d8000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000a40c49ccbe00000000000000000000000000000000000000000000000000000000000a531900000000000000000000000000000000000000000000000004ca36a561868dd8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000096cb31d0000000000000000000000000000000000000000000000000000000065cf6003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084fc6f786500000000000000000000000000000000000000000000000000000000000a5319000000000000000000000000ef9cf9985270eb35674214f7038610b2695cb98000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000c001a0a809d18f81b41b159dbd762af44304c6ad3a55e22cf3dcccea6d47e7eabe9424a0308718f77bad0a806ac3e3547221f3c9ff1be35d1a34e99c1a451373a5fbd5a6", - "new_receipt_trie_node_byte": "0xb905c102f905bd01839db5e7b9010000800000000000000000000012000000000000000000000000000000000040000000000010000000000000000000010800010000000000020204000040000000000000000000800000000008000000000000000040000000000008000000000000000000000001000000000000000000000000080004000000008010000000000000000000000000400000000000000000009000008100800000000000100000000000000000000000000080008000000000000000300008000300000001000040000002000000010000000000000000000010000000000000000000000000000000080000040000000000000000000000000000000000000200000000800000f904b2f8fd94435664008f38b0650fbc1c9fc971d0a3bc2f1e47f884a00c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982ca0000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe88a0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc884a0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc898b86000000000000000000000000000000000000000000000000004ca36a561868dd8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000148e9b0cf8bb94c36442b4a4522e871399cd717abdd847ab11fe88f842a026f6a048ee9138f2c0ce266f322cb99228e8d619ae2bff30c67f8dcf9d2377b4a000000000000000000000000000000000000000000000000000000000000a5319b86000000000000000000000000000000000000000000000000004ca36a561868dd8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000148e9b0cf89b944c9edd5852cd905f086c759e8383e09bff1e68b3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000435664008f38b0650fbc1c9fc971d0a3bc2f1e47a0000000000000000000000000ef9cf9985270eb35674214f7038610b2695cb980a0000000000000000000000000000000000000000000000000016be266e5a71efff89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000435664008f38b0650fbc1c9fc971d0a3bc2f1e47a0000000000000000000000000ef9cf9985270eb35674214f7038610b2695cb980a00000000000000000000000000000000000000000000000000000000014906657f8fd94435664008f38b0650fbc1c9fc971d0a3bc2f1e47f884a070935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0a0000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe88a0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc884a0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc898b860000000000000000000000000ef9cf9985270eb35674214f7038610b2695cb980000000000000000000000000000000000000000000000000016be266e5a71eff0000000000000000000000000000000000000000000000000000000014906657f8bb94c36442b4a4522e871399cd717abdd847ab11fe88f842a040d0efd1a53d60ecbf40971b9daf7dc90178c3aadc7aab1765632738fa8b8f01a000000000000000000000000000000000000000000000000000000000000a5319b860000000000000000000000000ef9cf9985270eb35674214f7038610b2695cb980000000000000000000000000000000000000000000000000016be266e5a71eff0000000000000000000000000000000000000000000000000000000014906657", - "gas_used": 274933 + "byte_code": "0x02f903530111830e81488501e66b37e18303856f94881d40237659c251811cec9c364ef91dc08d300c80b902e65f57552900000000000000000000000000000000000000000000000000000000000000800000000000000000000000001735db6ab5baa19ea55d0adceed7bcdc008b313600000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136f6e65496e6368563546656544796e616d69630000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000001735db6ab5baa19ea55d0adceed7bcdc008b3136000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021e19e0c9bab2400000000000000000000000000000000000000000000000000000004743cabb31ddda00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000a45431479be5000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c80502b1c50000000000000000000000001735db6ab5baa19ea55d0adceed7bcdc008b313600000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000047e4d58f5434110000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000140000000000000003b6d03402deeeda49e5436cfe18e0ba10f58e4496b8fc6317dcbea7c0000000000000000000000000000000000000000000000000071c001a0dc31ac5fd66006aad2051f6382301c5cac31dcb5ac01aa5f853be808daa15373a0012da596143155cd04916ad54a3dce07ee267f9917400e9620c8188f39a041bb", + "new_txn_trie_node_byte": "0x02f903530111830e81488501e66b37e18303856f94881d40237659c251811cec9c364ef91dc08d300c80b902e65f57552900000000000000000000000000000000000000000000000000000000000000800000000000000000000000001735db6ab5baa19ea55d0adceed7bcdc008b313600000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136f6e65496e6368563546656544796e616d69630000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000001735db6ab5baa19ea55d0adceed7bcdc008b3136000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021e19e0c9bab2400000000000000000000000000000000000000000000000000000004743cabb31ddda00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000a45431479be5000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c80502b1c50000000000000000000000001735db6ab5baa19ea55d0adceed7bcdc008b313600000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000047e4d58f5434110000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000140000000000000003b6d03402deeeda49e5436cfe18e0ba10f58e4496b8fc6317dcbea7c0000000000000000000000000000000000000000000000000071c001a0dc31ac5fd66006aad2051f6382301c5cac31dcb5ac01aa5f853be808daa15373a0012da596143155cd04916ad54a3dce07ee267f9917400e9620c8188f39a041bb", + "new_receipt_trie_node_byte": "0xb9070e02f9070a0183f68fc9b9010000200000000000003000000080000000000000000800000000000000000800000000110000000000000010000000000022000000080008000000000000200000000020000000080000020008000000200000000000400000000004000000000400000000000000008004000000000001000000000000044000000010000000000000021100000000000000000000000000000000800000084020004000000000020000000000000002000040080004000000000000000001000000000000000000000002000400000000000000000000000000000000001000000002000000000030200000000000004400800000000000000000000000000001000000001000f905fff89b941735db6ab5baa19ea55d0adceed7bcdc008b3136f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000093220de23ebbe67a8d0b4e33baeeee473e0eb2e4a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000000000000000000000000021e19e0c9bab2400000f89b941735db6ab5baa19ea55d0adceed7bcdc008b3136f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000093220de23ebbe67a8d0b4e33baeeee473e0eb2e4a0000000000000000000000000881d40237659c251811cec9c364ef91dc08d300ca0fffffffffffffffffffffffffffffffffffffffffffff9031100997e4d5ffffff89b941735db6ab5baa19ea55d0adceed7bcdc008b3136f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000002deeeda49e5436cfe18e0ba10f58e4496b8fc631a000000000000000000000000000000000000000000000021e19e0c9bab2400000f89b941735db6ab5baa19ea55d0adceed7bcdc008b3136f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0fffffffffffffffffffffffffffffffffffffffffffdc3be1997d673cdfdef09f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002deeeda49e5436cfe18e0ba10f58e4496b8fc631a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000000000495c716daebcf8f879942deeeda49e5436cfe18e0ba10f58e4496b8fc631e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000004cf9e6e0e8744cec28663000000000000000000000000000000000000000000000000a6e2c4aaf4a5352bf8fc942deeeda49e5436cfe18e0ba10f58e4496b8fc631f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582b88000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000495c716daebcf8f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000000000495c716daebcf8f87a94f326e4de8f66a0bdc0970b79e0924e33c79f1915f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000000000000000000000000000000000a45431479be5f87b94881d40237659c251811cec9c364ef91dc08d300cf863a0beee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630da0f35f348d53012d52a5d39f9390d246956ac932d5778d2bb49e359dba4fa0896da000000000000000000000000093220de23ebbe67a8d0b4e33baeeee473e0eb2e480", + "gas_used": 183704 } }, { "traces": { - "0xe592427a0aece92de3edee1f18e0157c05861564": { - "code_usage": { - "read": "0xbb90113d2f9a5e9b7feb15a1d1fff06c1ee1575b3f9b1181778ffd0cf633e7ea" - } - }, - "0xb8442d905536796186b91b569f24d7448014e084": { - "balance": "0x4fb0d0b2d99088", - "nonce": "0x9" - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x99e4719bf949ea8b41b4b813f95027e3c19362ed": { "storage_read": [ - "0xdb4e1f70945b3795f1ffd3afb221c9af0c74e040f9965a72de1f5ec6f8abb703", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0037a0d8db04cd386ef0b9017e3bf3905dfa95c72e31311a6436d48d20140280", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xa17c79e9e79aa17e119f3f9d579b4257a6bbad3ca163097dedf9f5f783a94eae", - "0x12f5d6df73c251360da53b0a3724bb43433dc6f6f277014f4d5989b3dcaa7867", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004" + "0x6da7dc497313d973bdeecc5e1a734b57da3d0759da1fb90be9a6dacd01c90e92", + "0xa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49", + "0x05efb00a8505f737e31cca03b7a4a0bdb00e2a1ce20833778821676a354097cc" ], - "storage_written": { - "0xdb4e1f70945b3795f1ffd3afb221c9af0c74e040f9965a72de1f5ec6f8abb703": "0x0", - "0x12f5d6df73c251360da53b0a3724bb43433dc6f6f277014f4d5989b3dcaa7867": "0x0", - "0x0037a0d8db04cd386ef0b9017e3bf3905dfa95c72e31311a6436d48d20140280": "0x7d4858d9bd" - }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0xf154f0264f5226c3de9e213138618e25530b95b84ac035431431de943e96120e" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621956f002223d" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d49c1068695ca" }, - "0x435664008f38b0650fbc1c9fc971d0a3bc2f1e47": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b819ba324badf56c0dc", "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0xa25a49481d75e69e4962ae09926f4d34f733fd60e6d3abe86eec7bb377335f11", - "0x0000000000000000000000000000000000000000000000000000000000000008" + "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e", + "0xb970143f0e267c3a2049c32480b4254368df0f670e85ed064d375fc4df3649f2" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x1825a3c4fb21b0c95631688d2", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000fbc8c00000000000000000000010ceb8e87133b1f285b9", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x100000000000000000616d89658c5667ae0d11867fffe27adb5ab2c65cf5de7" + "0xb970143f0e267c3a2049c32480b4254368df0f670e85ed064d375fc4df3649f2": "0x2729ae82d6c88f8a", + "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e": "0x6de97fa14a129" }, "code_usage": { - "read": "0x858ffe161dc17cdc6a0a8635fbf6d43024a88f0ab1115f5496893e7b18a85285" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x4c9edd5852cd905f086c759e8383e09bff1e68b3": { + "0x11ab0b518c090098525adbbfb4f9ab90faf71ab9": { "storage_read": [ - "0x0037a0d8db04cd386ef0b9017e3bf3905dfa95c72e31311a6436d48d20140280", - "0xdb4e1f70945b3795f1ffd3afb221c9af0c74e040f9965a72de1f5ec6f8abb703" + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x85643ba448f4b4c1b8f25f562dad2ddff2d06098101ee2a9e22928d5755708e3", + "0x049537bc20c90e514dc52ceb895df65f3bc0ffe038f33b1bc61acd40cd4e9ab5", + "0x85b9696150cd591132c56aa3873b6e7512d54f01c05fbacdce4bcbd0d22bf00a" ], "storage_written": { - "0x0037a0d8db04cd386ef0b9017e3bf3905dfa95c72e31311a6436d48d20140280": "0x56b48c6ad58bcb9b5979", - "0xdb4e1f70945b3795f1ffd3afb221c9af0c74e040f9965a72de1f5ec6f8abb703": "0x1b389ffa791e01c1a1" + "0x85643ba448f4b4c1b8f25f562dad2ddff2d06098101ee2a9e22928d5755708e3": "0xf06b2b8ae1af299c7f7", + "0x85b9696150cd591132c56aa3873b6e7512d54f01c05fbacdce4bcbd0d22bf00a": "0x1709f91805a36dcbf8", + "0x049537bc20c90e514dc52ceb895df65f3bc0ffe038f33b1bc61acd40cd4e9ab5": "0x0" }, "code_usage": { - "read": "0x6ca5462ff0355c610301f701d0bb1136becca144e195da86d240b5e604ef9625" + "read": "0xda88ef89497fbf03a3c642efb3a8dd5d80c5fb73c04ed991e2d6058590b1e942" } - } - }, - "meta": { - "byte_code": "0x02f901720108840119fe2185074fdaa8f9830325b794e592427a0aece92de3edee1f18e0157c0586156480b90104414bf389000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b30000000000000000000000000000000000000000000000000000000000000064000000000000000000000000b8442d905536796186b91b569f24d7448014e0840000000000000000000000000000000000000000000000000000000065cf61ec000000000000000000000000000000000000000000000000000000001e0a6e0000000000000000000000000000000000000000000000001b2c240b0c834d3adf0000000000000000000000000000000000000000000000000000000000000000c080a0d09be7700fb738926a6ba5a03ca00564926f6078e040417711f5b8ff11fd66c5a06c4cad8958650d81ca0d45060ed6f7166f290463c17687f1162a249e84c88214", - "new_txn_trie_node_byte": "0x02f901720108840119fe2185074fdaa8f9830325b794e592427a0aece92de3edee1f18e0157c0586156480b90104414bf389000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000004c9edd5852cd905f086c759e8383e09bff1e68b30000000000000000000000000000000000000000000000000000000000000064000000000000000000000000b8442d905536796186b91b569f24d7448014e0840000000000000000000000000000000000000000000000000000000065cf61ec000000000000000000000000000000000000000000000000000000001e0a6e0000000000000000000000000000000000000000000000001b2c240b0c834d3adf0000000000000000000000000000000000000000000000000000000000000000c080a0d09be7700fb738926a6ba5a03ca00564926f6078e040417711f5b8ff11fd66c5a06c4cad8958650d81ca0d45060ed6f7166f290463c17687f1162a249e84c88214", - "new_receipt_trie_node_byte": "0xb9036802f9036401839fb230b9010000000002000000000000000010000000000000000000080000000000000040000000000000000000000000000000010800000000000020000000000000000000000000000040010800000008000000000000000000000000000000000000000000000000000000000000100000000000000000080000000000000010000800000000000000000000400000000000000000000000008000000000000000100000000000000000000000000080800000000000000000100000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000f90259f89b944c9edd5852cd905f086c759e8383e09bff1e68b3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000435664008f38b0650fbc1c9fc971d0a3bc2f1e47a0000000000000000000000000b8442d905536796186b91b569f24d7448014e084a000000000000000000000000000000000000000000000001b389ffa791e01c1a1f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b8442d905536796186b91b569f24d7448014e084a0000000000000000000000000435664008f38b0650fbc1c9fc971d0a3bc2f1e47a0000000000000000000000000000000000000000000000000000000001e0a6e00f9011c94435664008f38b0650fbc1c9fc971d0a3bc2f1e47f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564a0000000000000000000000000b8442d905536796186b91b569f24d7448014e084b8a0ffffffffffffffffffffffffffffffffffffffffffffffe4c7600586e1fe3e5f000000000000000000000000000000000000000000000000000000001e0a6e000000000000000000000000000000000000000000000010ceb8e87133b1f285b9000000000000000000000000000000000000000000000001c7b0f10655c2e8bffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc8c0", - "gas_used": 130121 - } - }, - { - "traces": { - "0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb": { + }, + "0xdef1c0ded9bec7f1a1670819833240f027b25eff": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0xb7fb2088e731810b46cae16044f920c16d198dfb98c0d090ab9d4bdfb35767da", - "0xda56f5747910e980e4db79be8436f2010b14e55728429bf6c1a11f68b5ce926c" + "0x3a1eae4d9599b151de37596bc1e301e7833e536acda254c41c5aab51deef773d" ], - "storage_written": { - "0xda56f5747910e980e4db79be8436f2010b14e55728429bf6c1a11f68b5ce926c": "0x120d4da7b0bd140000", - "0xb7fb2088e731810b46cae16044f920c16d198dfb98c0d090ab9d4bdfb35767da": "0xad78ebc5ac6200000" - }, "code_usage": { - "read": "0xee434270b2f269f5264266bc508378c5dc365b12883ff36b616bdba2b3dabe75" + "read": "0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621a3ee7b41b93" - }, - "0xf584d0e8cece21ab12e948afe660113dd23db965": { - "balance": "0x1d2ee133d8ff4e", - "nonce": "0xd" - } - }, - "meta": { - "byte_code": "0x02f8b0010c840119fe2185074fdaa8f982d5b3948457ca5040ad67fdebbcc8edce889a335bc0fbfb80b844a9059cbb00000000000000000000000026c515ea3e83003063c8328837c8d6292e0050550000000000000000000000000000000000000000000000120d4da7b0bd140000c001a0826d185c78d926e555334fd4882981bb98a6fc6a2464976531c793b0c7c14ed0a010b722b24d05af2dbaba4d9ac3e38173fabc7cc92d1a30fa38f0d28fd0d5c307", - "new_txn_trie_node_byte": "0x02f8b0010c840119fe2185074fdaa8f982d5b3948457ca5040ad67fdebbcc8edce889a335bc0fbfb80b844a9059cbb00000000000000000000000026c515ea3e83003063c8328837c8d6292e0050550000000000000000000000000000000000000000000000120d4da7b0bd140000c001a0826d185c78d926e555334fd4882981bb98a6fc6a2464976531c793b0c7c14ed0a010b722b24d05af2dbaba4d9ac3e38173fabc7cc92d1a30fa38f0d28fd0d5c307", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183a084c6b9010000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000008000000000000000000000020000000000000000000000000000000000000000000000000000000000000800000000010000000000000000000000000010000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000040000000000000000002000000000000000000000000000000000000002000000000000000000000000000000000000000000800000000000000000000000000000000000000f89df89b948457ca5040ad67fdebbcc8edce889a335bc0fbfbf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f584d0e8cece21ab12e948afe660113dd23db965a000000000000000000000000026c515ea3e83003063c8328837c8d6292e005055a00000000000000000000000000000000000000000000000120d4da7b0bd140000", - "gas_used": 53910 - } - }, - { - "traces": { - "0x788529118f2a28c60b9de2ba0353f5ee4293e044": { - "balance": "0x399de6986b5156626", - "nonce": "0x8cfa" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621aaa42cf2813" + "0xf9b30557afcf76ea82c04015d80057fa2147dfa9": { + "code_usage": { + "read": "0xba01211d10b6119b0dd1f3d468ed31f2ab17f775869cc5d8a5d9d0254d910d01" + } }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0xf326e4de8f66a0bdc0970b79e0924e33c79f1915": { + "balance": "0xc887261966a83c1151", "storage_read": [ - "0x3af846ec55f7e28d9da4a2e210e4c91d17ff846c1560f737c9740a917ea53418", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xc4aa187e2e67cdf031fded184a986b393461cdd3d596d30063dc6630dd04cb46", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x06a9ec0d739d01a628acbd26c60ac9f86cca9fc11138021be1329dde183cea25" + "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "storage_written": { - "0x06a9ec0d739d01a628acbd26c60ac9f86cca9fc11138021be1329dde183cea25": "0xae73220053", - "0x3af846ec55f7e28d9da4a2e210e4c91d17ff846c1560f737c9740a917ea53418": "0xdf8475800" - }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0xaea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e5" + } + }, + "0x3d1d55c23dfc759c5ae48500ca88ddf477b3c9e5": { + "code_usage": { + "read": "0xd5cb5ccaac51e8ccea5af51f6804b3761bed880a75e6fa6bc1589158797b8fc4" } - } - }, - "meta": { - "byte_code": "0x02f8b201828cf98398968085165a0bc000830249f094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000059a170652e713297391ff32790702ce27b7a249f00000000000000000000000000000000000000000000000000000006fc23ac00c080a024273f646fcbcca4c7087f5c0132aea20c49d58e06d796ca9a7e73f170554380a06104fa39e74f4cc5949d4ef86d11ff5fa287bb2a4319e2dc0f328593e7a7c014", - "new_txn_trie_node_byte": "0x02f8b201828cf98398968085165a0bc000830249f094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000059a170652e713297391ff32790702ce27b7a249f00000000000000000000000000000000000000000000000000000006fc23ac00c080a024273f646fcbcca4c7087f5c0132aea20c49d58e06d796ca9a7e73f170554380a06104fa39e74f4cc5949d4ef86d11ff5fa287bb2a4319e2dc0f328593e7a7c014", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183a138e3b9010000200008000000080000000000000000000000008000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000200002000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000788529118f2a28c60b9de2ba0353f5ee4293e044a000000000000000000000000059a170652e713297391ff32790702ce27b7a249fa000000000000000000000000000000000000000000000000000000006fc23ac00", - "gas_used": 46109 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621b10c781eedb" }, - "0x4d224452801aced8b2f0aebe155379bb5d594381": { + "0x05658d4046bb6b006cb42911e8e42f822a421ee8": { + "balance": "0x6e40fa274aa08", + "nonce": "0x61" + }, + "0xd5ea706a4b29df70380b322263dfc5a253fa2817": { "storage_read": [ - "0xc9eed4c84b5d4871610a66ee2fc96d52ac2384f0f43f6a7dce51d83f30017056", - "0xddb6472cbc9cf85c4398915b260562c6c55e4713ee0924ea48bd42e7de8b5f9b" + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009" ], "storage_written": { - "0xddb6472cbc9cf85c4398915b260562c6c55e4713ee0924ea48bd42e7de8b5f9b": "0xb1c647ed061f726000", - "0xc9eed4c84b5d4871610a66ee2fc96d52ac2384f0f43f6a7dce51d83f30017056": "0x0" + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x730081bfcaaab13114b123656e6e6b6d22c", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x24664c174ac68d88e147df9e0cf4", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b0000000000002729ae82d6c88f8a000000000f06b2b8ae1af299c7f7" }, "code_usage": { - "read": "0x86cc3092a7d90269edf27eb088feea0d277b77a77bfbbe06dff0a1b1affbfb9e" + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" } }, - "0xf5382b102e820d28cec5be56e3fae32d65f1ea0e": { - "balance": "0x8bcbf9a8786016a", - "nonce": "0x99" - } - }, - "meta": { - "byte_code": "0x02f8b0018198838f91e88510faf8215882c98d944d224452801aced8b2f0aebe155379bb5d59438180b844a9059cbb00000000000000000000000004669eb4e6006f7b8c1975c880cd35f2350c5d760000000000000000000000000000000000000000000000b1c647ed061f726000c001a0b7e16af55d667ff2d1768aa2125ec834cba53e278efd9c8fc02fa22e2267e3f8a00b489f7b5e388ecf1606b3eef51ab6b549b048a0c04273b83bdef9fddc6eedd0", - "new_txn_trie_node_byte": "0x02f8b0018198838f91e88510faf8215882c98d944d224452801aced8b2f0aebe155379bb5d59438180b844a9059cbb00000000000000000000000004669eb4e6006f7b8c1975c880cd35f2350c5d760000000000000000000000000000000000000000000000b1c647ed061f726000c001a0b7e16af55d667ff2d1768aa2125ec834cba53e278efd9c8fc02fa22e2267e3f8a00b489f7b5e388ecf1606b3eef51ab6b549b048a0c04273b83bdef9fddc6eedd0", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183a1efb0b9010000000000000000000000000000000000000000000000000000000000000000000000000080000008000000000000000000000000000000000000000000010000000000000000000000000008000000000000000000000000000080000000080000000000000000020000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000200000000f89df89b944d224452801aced8b2f0aebe155379bb5d594381f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f5382b102e820d28cec5be56e3fae32d65f1ea0ea000000000000000000000000004669eb4e6006f7b8c1975c880cd35f2350c5d76a00000000000000000000000000000000000000000000000b1c647ed061f726000", - "gas_used": 46797 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621b20bab127db" - }, - "0x171c3ca2488401e51332c518e99c13b561fca20f": { - "balance": "0x42d54e02496a6a26" - }, - "0xc43ccd7c734379a7539277e0a12d6e62cb2c8ad6": { - "balance": "0x818534d697aa01", - "nonce": "0x4" - }, - "0xcb84d0d724fea7c6572a4e04993aec0bf9b3a6b5": { + "0x881d40237659c251811cec9c364ef91dc08d300c": { "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000000" + "0xc03a2fe2012f4ccb13e695ea6f277edbfd1269ef86188b2c93b8db9f08993964", + "0xc03a2fe2012f4ccb13e695ea6f277edbfd1269ef86188b2c93b8db9f08993965" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0xaa9" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" }, "code_usage": { - "read": "0xad5b233557819cd4766d65957416a4f3878298524bffd2c89d77609fb74fd0fc" + "read": "0xcc34a85a74e46f422c2b06b16156799b7c313a71390b4465cbc463bd99d76764" } - } - }, - "meta": { - "byte_code": "0x02f90177010383164834850946d77e9382dbe694cb84d0d724fea7c6572a4e04993aec0bf9b3a6b5870a2992351a8100b901043e108427be1a010e2fc0c7cba206ee2d2fc0c7cb0000000065cf5d9803b0650deb80bbb5000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000a2992351a8100000000000000000000000000000000000000000000000000000091ef7835c100000000000000000000000000000000000000000000000000000000000000002a30784334336343443743373334333739413735333932373745304131326436653632434232633861443600000000000000000000000000000000000000000000c001a0faa68878f05df90f7b56aa3b1dddb4ae90719ff4e17a78df96d2b18778cd3ca7a0677754023741a705796073cb798a2c3537e5942cd615e14ca216696332759144", - "new_txn_trie_node_byte": "0x02f90177010383164834850946d77e9382dbe694cb84d0d724fea7c6572a4e04993aec0bf9b3a6b5870a2992351a8100b901043e108427be1a010e2fc0c7cba206ee2d2fc0c7cb0000000065cf5d9803b0650deb80bbb5000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000a2992351a8100000000000000000000000000000000000000000000000000000091ef7835c100000000000000000000000000000000000000000000000000000000000000002a30784334336343443743373334333739413735333932373745304131326436653632434232633861443600000000000000000000000000000000000000000000c001a0faa68878f05df90f7b56aa3b1dddb4ae90719ff4e17a78df96d2b18778cd3ca7a0677754023741a705796073cb798a2c3537e5942cd615e14ca216696332759144", - "new_receipt_trie_node_byte": "0xb9028c02f902880183a2a6f0b9010000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000002000f9017df9017a94cb84d0d724fea7c6572a4e04993aec0bf9b3a6b5e1a0a870bebc9a9c76c706271fe3202670ae02938c915007460c9f34d87f3d134bc4b90140be1a010e2fc0c7cba206ee2d2fc0c7cb0000000065cf5d9803b0650deb80bbb500000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000144000000000000000000000000c43ccd7c734379a7539277e0a12d6e62cb2c8ad600000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000a2992351a8100000000000000000000000000000000000000000000000000000091ef7835c100000000000000000000000000000000000000000000000000000000000000002a30784334336343443743373334333739413735333932373745304131326436653632434232633861443600000000000000000000000000000000000000000000", - "gas_used": 46912 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621b27b37ccf3b" - }, - "0x484bbec2837f30267cd3952f28ae22fd52733879": { - "balance": "0x2d58dc636b38", - "nonce": "0x1" }, - "0x016606acc6b0cfe537acc221e3bf1bb44b4049ee": { - "balance": "0xad961ab44958514e" - } - }, - "meta": { - "byte_code": "0x02f87101808315c1ec8507ac600ee882520894016606acc6b0cfe537acc221e3bf1bb44b4049ee872a644f598da6b580c080a0ee1772e516a1ad76e465633f9aeff8a45eb2f5b97965c258263fbbead53c7395a0485e0a67fe5b8992c3962b2d17faabff28d52461cf2a1c08d0520c838a2c9f88", - "new_txn_trie_node_byte": "0x02f87101808315c1ec8507ac600ee882520894016606acc6b0cfe537acc221e3bf1bb44b4049ee872a644f598da6b580c080a0ee1772e516a1ad76e465633f9aeff8a45eb2f5b97965c258263fbbead53c7395a0485e0a67fe5b8992c3962b2d17faabff28d52461cf2a1c08d0520c838a2c9f88", - "new_receipt_trie_node_byte": "0xb9010d02f901090183a2f8f8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621b2c972f613b" + "0x74de5d4fcbf63e00296fd95d33236b9794016631": { + "code_usage": { + "read": "0x34285df013b925b34c7744f619f6ed193cbb11e1e08b0013af1dd0511a3e6f6e" + } }, - "0x75f5b49293f81da115964e7b781f47232acb7f42": { - "balance": "0x64d765b55eba8a" + "0xb21958a942a6c196b8b70b85479e4793eb9e5922": { + "code_usage": { + "read": "0xf0f2879f136218e121ebfe361a007d4549661fb7a65fda7d8fb3a1470db0d4b5" + } }, - "0x88ed2234f88b3676afdc6eeb2dc5f76505ca8447": { - "balance": "0x10b44e8fe82147", - "nonce": "0x50" + "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "code_usage": { + "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" + } } }, "meta": { - "byte_code": "0x02f871014f830f42408507bbfb18d28252089475f5b49293f81da115964e7b781f47232acb7f428764d765b55eba8a80c080a03d0e4e1b8f12ca55ccdb232169401d9f05ddbbb91b6fd7d04ccca7ddaab48ca2a0365281965f36b7959b07ef6fa0406b2879e8e7d2d527c4ea875295454eba50ce", - "new_txn_trie_node_byte": "0x02f871014f830f42408507bbfb18d28252089475f5b49293f81da115964e7b781f47232acb7f428764d765b55eba8a80c080a03d0e4e1b8f12ca55ccdb232169401d9f05ddbbb91b6fd7d04ccca7ddaab48ca2a0365281965f36b7959b07ef6fa0406b2879e8e7d2d527c4ea875295454eba50ce", - "new_receipt_trie_node_byte": "0xb9010d02f901090183a34b00b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f903ba0160830e81488501e66b37e1830487c394881d40237659c251811cec9c364ef91dc08d300c873c6568f12e8000b903465f57552900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c6568f12e800000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000c307846656544796e616d696300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011ab0b518c090098525adbbfb4f9ab90faf71ab9000000000000000000000000000000000000000000000000003bde1f62457400000000000000000000000000000000000000000000000016940378d2535c3da60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000087498ee90c00000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f191500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000128d9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000003bde1f62457400000000000000000000000000000000000000000000000016940378d2535c3da600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000011ab0b518c090098525adbbfb4f9ab90faf71ab9869584cd00000000000000000000000011ededebf63bef0ea2d2d071bdf88f71543ec6fb000000000000000000000000000000008eca864c1dfb5d8dd3ba8d4a28eeea5b00000000000000000000000000000000000000000000000000fec080a01c0534d69f17a438638f861484ca0c125b77c37537c7b8a72e6a6465f8633dcea03fc6cc4b0e1b908d365a0b351245a1d44411ab45b4003e83b539223539a8b60b", + "new_txn_trie_node_byte": "0x02f903ba0160830e81488501e66b37e1830487c394881d40237659c251811cec9c364ef91dc08d300c873c6568f12e8000b903465f57552900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c6568f12e800000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000c307846656544796e616d696300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011ab0b518c090098525adbbfb4f9ab90faf71ab9000000000000000000000000000000000000000000000000003bde1f62457400000000000000000000000000000000000000000000000016940378d2535c3da60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000087498ee90c00000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f191500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000128d9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000003bde1f62457400000000000000000000000000000000000000000000000016940378d2535c3da600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000011ab0b518c090098525adbbfb4f9ab90faf71ab9869584cd00000000000000000000000011ededebf63bef0ea2d2d071bdf88f71543ec6fb000000000000000000000000000000008eca864c1dfb5d8dd3ba8d4a28eeea5b00000000000000000000000000000000000000000000000000fec080a01c0534d69f17a438638f861484ca0c125b77c37537c7b8a72e6a6465f8633dcea03fc6cc4b0e1b908d365a0b351245a1d44411ab45b4003e83b539223539a8b60b", + "new_receipt_trie_node_byte": "0xb9049a02f904960183f9cfa0b9010000200000000000001000000080000000000000000000000000000000000000000000010000000000000010000000002002008000080008000000000000000000000000000000002000020008000000200000000000000000200004048000000000000000000000000000000000000049000000000000000000000010000000000000021000010000000080000000000000000001000000084020004008000000000000000000000000004040000000000000000000000000000000000000800000000002000000000000040000000000000000000000001000000000000000000020200000001000000000800000000000000000000000400000000000001000f9038bf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000000000000000000000000000003bde1f62457400f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000d5ea706a4b29df70380b322263dfc5a253fa2817a0000000000000000000000000000000000000000000000000003bde1f62457400f87994d5ea706a4b29df70380b322263dfc5a253fa2817e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000f06b2b8ae1af299c7f70000000000000000000000000000000000000000000000002729ae82d6c88f8af8fc94d5ea706a4b29df70380b322263dfc5a253fa2817f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003bde1f6245740000000000000000000000000000000000000000000000001709f91805a36dcbf80000000000000000000000000000000000000000000000000000000000000000f87a94f326e4de8f66a0bdc0970b79e0924e33c79f1915f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a0000000000000000000000000000000000000000000000000000087498ee90c00f87b94881d40237659c251811cec9c364ef91dc08d300cf863a0beee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630da0a8dc30b66c6d4a8aac3d15925bfca09e42cac4a00c50f9949154b045088e2ac2a000000000000000000000000005658d4046bb6b006cb42911e8e42f822a421ee880", + "gas_used": 212951 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621b376f63ff7b" + "0xa9d83ba457621551e9336042e1c2c342f704ed4a": { + "balance": "0xfa1f014413ea0c", + "nonce": "0xd6" }, - "0x895760786fad380835c1365e72289bd44665de70": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b819b388fe39013c0dc", + "storage_read": [ + "0x99174deae5718350aae10cbc0cc12de94be618f58c2a418092ebb8862f2d367b" + ], "storage_written": { - "0x7b0486a870461a19140726d8b3a87cc5188c3175fd4cca0f92a21a2f94dc912d": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "0x99174deae5718350aae10cbc0cc12de94be618f58c2a418092ebb8862f2d367b": "0x1bc16d674ec8000" }, "code_usage": { - "read": "0xb7c3de49022e859b430de348eee8f57de1ec841ac0b662c429b7a28b3330713d" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0xf472fc0f6535e82fe3c4fc7109d1b2fb7aa29edf": { - "balance": "0x27206ba0994a85", - "nonce": "0x3cc" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d49c8d082b78a" } }, "meta": { - "byte_code": "0x02f8b2018203cb830f424085088f049ec2830110e994895760786fad380835c1365e72289bd44665de7080b844095ea7b30000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0f6e29c1f25a63e1978d740ae7f6f9b2d7ba86f4893e51b6d88c3d53c73eba083a05ae68a2a71f8bc583a25e696722e3b7552e8ce8bbeb29aa81d4b636b7c8a2562", - "new_txn_trie_node_byte": "0x02f8b2018203cb830f424085088f049ec2830110e994895760786fad380835c1365e72289bd44665de7080b844095ea7b30000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0f6e29c1f25a63e1978d740ae7f6f9b2d7ba86f4893e51b6d88c3d53c73eba083a05ae68a2a71f8bc583a25e696722e3b7552e8ce8bbeb29aa81d4b636b7c8a2562", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183a400f1b9010000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000020000000000100000000000010000800000000000000008000000000000000000000000000000000000800000000000004000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94895760786fad380835c1365e72289bd44665de70f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000f472fc0f6535e82fe3c4fc7109d1b2fb7aa29edfa00000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "gas_used": 46577 + "byte_code": "0x02f88f0181d5830e81488501e66b37e1829be194c02aaa39b223fe8d0a0e5c4f27ead9083c756cc280a42e1a7d4d000000000000000000000000000000000000000000000000006a94d74f430000c001a03c0c1ad80f3b8e6a8650b38497bba0fba09c410237ba653df21ec3634dbfd829a03fbdfcea8a1c7db1c5dec8d5c775b8226430c500867ec1cb7d51e1c300368562", + "new_txn_trie_node_byte": "0x02f88f0181d5830e81488501e66b37e1829be194c02aaa39b223fe8d0a0e5c4f27ead9083c756cc280a42e1a7d4d000000000000000000000000000000000000000000000000006a94d74f430000c001a03c0c1ad80f3b8e6a8650b38497bba0fba09c410237ba653df21ec3634dbfd829a03fbdfcea8a1c7db1c5dec8d5c775b8226430c500867ec1cb7d51e1c300368562", + "new_receipt_trie_node_byte": "0xb9018a02f901860183fa5918b9010000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000080000000000000002000000000000200000000000000000000000000000000000000000000000000000000000f87cf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000a9d83ba457621551e9336042e1c2c342f704ed4aa0000000000000000000000000000000000000000000000000006a94d74f430000", + "gas_used": 35192 } }, { "traces": { - "0x0d7e906bd9cafa154b048cfa766cc1e54e39af9b": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d49f2dc5b812a" + }, + "0xf326e4de8f66a0bdc0970b79e0924e33c79f1915": { + "balance": "0xc8872a23f383aaa951", "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000006b", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000069", - "0x0000000000000000000000000000000000000000000000000000000000000068", - "0x0000000000000000000000000000000000000000000000000000000000000065" + "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000069": "0x2404b", - "0x7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399938352": "0x2ae778dde0634c9fad057e7e1ff73f9acad0f09fb159234c002c8bff3f15a226" - }, - "code_usage": { - "read": "0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c" - } - }, - "0x84865bb349998d6b813db7cc0f722fd0a94e6e27": { - "balance": "0x2844b4c6f8ca7d1", - "nonce": "0x70" - }, - "0xaf2f898a8680cb52766abe0588ebe6b9bfe37845": { - "code_usage": { - "read": "0x75dffce5890c026cdbbb9c0d79182ef59d76a268918cf3046f75447a9ece21ba" - } - }, - "0x1fcbe079c4bbab37406dab7dfd35acae37d5c55d": { - "code_usage": { - "read": "0x7e63c1b58a7356e4a139a969076509c37c7a052ebf8551e12e373771950d4c5d" - } - }, - "0xb93ac04010bd61f45bf492022a5b49a902f798f3": { "code_usage": { - "read": "0xfc5591bc1aa99e53d28b38041e2bc6ab5877a1a9f540de4fb06f31c0651375c7" + "read": "0xaea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e5" } }, - "0xfdf1ee0098168eaa61bf87db68c39c85151a4e9e": { + "0x7cdf68ce9a05413cbb76cb7f80eaf415a826e313": { "code_usage": { - "read": "0xffcdeaf719d4a43034c340cfc591e2d103c0d31b72aef72407cca6e497a5a3d7" + "read": "0xa873be03126d64946ef888d2b014036c8271d0d781aec7f91ab85a56f6e1e44c" } }, - "0x6774bcbd5cecef1336b5300fb5186a12ddd8b367": { - "balance": "0x3b0a075235376adc8ff", + "0x857ffc55b1aa61a7ff847c82072790cae73cd883": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000065", - "0x0000000000000000000000000000000000000000000000000000000000000097", - "0x00000000000000000000000000000000000000000000000000000000000000ff", - "0x00000000000000000000000000000000000000000000000000000000000000ca", - "0x00000000000000000000000000000000000000000000000000000000000000cb", - "0x5a3e2b7b279a0b1c3a1ca833015f843afdcc0d3982b6878d3bfbcf75f27d1824", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + "0x3fb644f722ef8971a34ffc1bde27f3b8e93194de7436c1e038e3e22342f663d4", + "0x75bfc36bfa90cdd40f14b94ce404dabb9f11d6876f7e15d94f0eb3e432185442", + "0x75bf4e6381babe3225d4172dfdafe56178f5f2daf821088b18941362fa4b441c" ], "storage_written": { - "0x5a3e2b7b279a0b1c3a1ca833015f843afdcc0d3982b6878d3bfbcf75f27d1824": "0x65cf5de7", - "0x0000000000000000000000000000000000000000000000000000000000000097": "0x1" + "0x3fb644f722ef8971a34ffc1bde27f3b8e93194de7436c1e038e3e22342f663d4": "0x57c95e290906f84d56", + "0x75bf4e6381babe3225d4172dfdafe56178f5f2daf821088b18941362fa4b441c": "0x12677cfa1393cd58", + "0x75bfc36bfa90cdd40f14b94ce404dabb9f11d6876f7e15d94f0eb3e432185442": "0x0" }, "code_usage": { - "read": "0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c" + "read": "0xe89e9c36896f0af22ea23512b2ce2865e801666659f52d11f5c6c118c7ae327e" } }, - "0x8fa3b4570b4c96f8036c13b64971ba65867eeb48": { - "balance": "0x302468e96154ceb057", + "0x0b1d8faff1fe1ead5ab05729b0739d758ed26024": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000" + "0x9c04773acff4c5c42718bd0120c72761f458e43068a3961eb935577d1ed4effb", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000002" ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x100000000000000000002e40e43d8cc57699da5cdffffeab07a32106632d06b", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000ffa4d800000000000000004fb6a22931e79cb9a75af3b6", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x13f0e485570c920b8f967bea2506360d" + }, "code_usage": { - "read": "0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000" + "read": "0x4d346202427ea66d320be2ee7d95a2f712eb5ff596d7dc245868de90b9822ead" } }, - "0xf8b1378579659d8f7ee5f3c929c2f3e332e41fd6": { - "storage_read": [ - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000068", - "0x0000000000000000000000000000000000000000000000000000000000000065", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" - ], + "0x74de5d4fcbf63e00296fd95d33236b9794016631": { "code_usage": { - "read": "0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c" + "read": "0x34285df013b925b34c7744f619f6ed193cbb11e1e08b0013af1dd0511a3e6f6e" } }, - "0x987e300fdfb06093859358522a79098848c33852": { + "0x877c4aef9e353f7a71046238dc3242ccd75faff8": { + "balance": "0xecc5d2a486a357", + "nonce": "0x47" + }, + "0x881d40237659c251811cec9c364ef91dc08d300c": { "storage_read": [ - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000065", - "0x0000000000000000000000000000000000000000000000000000000000000067" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x684fdb4b219d1c63474e6c8e4dc8c2611de744d4aaa2b78c4ec411ebb6ba9756", + "0x684fdb4b219d1c63474e6c8e4dc8c2611de744d4aaa2b78c4ec411ebb6ba9757" ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + }, "code_usage": { - "read": "0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c" + "read": "0xcc34a85a74e46f422c2b06b16156799b7c313a71390b4465cbc463bd99d76764" } }, - "0xbc9d741501a20f962756c95bf906b4abffadcf8f": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b819d025fa6617228dc", + "storage_read": [ + "0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7", + "0xc751bba7c435ad2e72812c257f679287e8869025b9bc55b35a68069292dd1b44" + ], + "storage_written": { + "0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7": "0x1", + "0xc751bba7c435ad2e72812c257f679287e8869025b9bc55b35a68069292dd1b44": "0x86fb6d2a012ce8412" + }, "code_usage": { - "read": "0xf4f26227ad02ed0da6a338d7dc956902a94efacdafd598900a9bdacc54ca7f4f" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { @@ -6344,1838 +7147,2597 @@ "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621b7e61c2a5fb" - }, - "0x7f2b8c31f88b6006c382775eea88297ec1e3e905": { - "storage_read": [ - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000098", - "0x0000000000000000000000000000000000000000000000000000000000000099", - "0x0000000000000000000000000000000000000000000000000000000000000097", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, + "0x1111111254eeb25477b68fb85ed929f73a960582": { "code_usage": { - "read": "0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c" + "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" } } }, "meta": { - "byte_code": "0x02f8b8016f830f424085083b41c4f6830512ae94f8b1378579659d8f7ee5f3c929c2f3e332e41fd68802c6dd732073c000b8449f8420b300000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000000000000029040c001a05b11e147495cd58e0a507c106d7e32703da834787eed748ec24d92b65a0b469ca06e4df8d63b9afcdbf60e75369e213a3365143eb09da8a21c6c1d1a5b75773e23", - "new_txn_trie_node_byte": "0x02f8b8016f830f424085083b41c4f6830512ae94f8b1378579659d8f7ee5f3c929c2f3e332e41fd68802c6dd732073c000b8449f8420b300000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000000000000029040c001a05b11e147495cd58e0a507c106d7e32703da834787eed748ec24d92b65a0b469ca06e4df8d63b9afcdbf60e75369e213a3365143eb09da8a21c6c1d1a5b75773e23", - "new_receipt_trie_node_byte": "0xb9070902f907050183a8a73bb9010000000000000000000000000008000000040000000000000000000000004000000010000000000000020800000000000000000000000000000000000000000000000000000000008000000000002000000080000000000440000000000000000140000000000000000000000410000001000200000000000000000400040000000000000000000000000000000000000000000000000000000000000006000000000000000000080000000040000000040000060000000000080000000000000000000000000000000000021101084000000000100400000000004000000000000000100000000000800000a10000000000000000000020000000000000000000f905faf87a948fa3b4570b4c96f8036c13b64971ba65867eeb48f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da00000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b367a0000000000000000000000000000000000000000000000000000044c1ff252000f902bd940d7e906bd9cafa154b048cfa766cc1e54e39af9bf863a069cfcb8e6d4192b8aba9902243912587f37e550d75c1fa801491fce26717f37ea00000000000000000000000007885bcbd5cecef1336b5300fb5186a12ddd8c478a0000000000000000000000000781e90f1c8fc4611c9b7497c3b47f99ef6969cbcb902400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002404a0000000000000000000000000000000000000000000000000000000000029040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001848ef1332e0000000000000000000000007f2b8c31f88b6006c382775eea88297ec1e3e9050000000000000000000000006ea73e05adc79974b931123675ea8f78ffdacdf000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000002404a00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000a4232e874800000000000000000000000084865bb349998d6b813db7cc0f722fd0a94e6e2700000000000000000000000084865bb349998d6b813db7cc0f722fd0a94e6e2700000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f901dd946774bcbd5cecef1336b5300fb5186a12ddd8b367f863a0104371f3b442861a2a7b82a070afbbaab748bb13757bf47769e170e37809ec1ea00000000000000000000000007f2b8c31f88b6006c382775eea88297ec1e3e905a00000000000000000000000006ea73e05adc79974b931123675ea8f78ffdacdf0b9016000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000002404a0000000000000000000000000000000000000000000000000000000000029040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a4232e874800000000000000000000000084865bb349998d6b813db7cc0f722fd0a94e6e2700000000000000000000000084865bb349998d6b813db7cc0f722fd0a94e6e2700000000000000000000000000000000000000000000000002c68af0bb1400000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f8dc947f2b8c31f88b6006c382775eea88297ec1e3e905f863a06670de856ec8bf5cb2b7e957c5dc24759716056f79d97ea5e7c939ca0ba5a675a000000000000000000000000084865bb349998d6b813db7cc0f722fd0a94e6e27a000000000000000000000000084865bb349998d6b813db7cc0f722fd0a94e6e27b86000000000000000000000000000000000000000000000000002c68af0bb14000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 304714 + "byte_code": "0x02f9033a0146830e81488501e66b37e183038bee94881d40237659c251811cec9c364ef91dc08d300c8801cdda4faccd0000b902c65f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001cdda4faccd000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136f6e65496e6368563546656544796e616d69630000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000857ffc55b1aa61a7ff847c82072790cae73cd88300000000000000000000000000000000000000000000000001c9cfc2d15e680000000000000000000000000000000000000000000000000012385f912cfb48bb000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000040a8cdb6e9800000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8e449022e00000000000000000000000000000000000000000000000001c9cfc2d15e680000000000000000000000000000000000000000000000000012385f912cfb48ba00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000b1d8faff1fe1ead5ab05729b0739d758ed260247dcbea7c0000000000000000000000000000000000000000000000000097c001a0369f895bb7dcb20ed89b5f84c6c41f8670c2847fe81486482a9191eb725b72e29fdd0165389e6347f6fb5e9dcc7e7057d6453a3cb6b894d54d9bacca7374f1e5", + "new_txn_trie_node_byte": "0x02f9033a0146830e81488501e66b37e183038bee94881d40237659c251811cec9c364ef91dc08d300c8801cdda4faccd0000b902c65f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001cdda4faccd000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136f6e65496e6368563546656544796e616d69630000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000857ffc55b1aa61a7ff847c82072790cae73cd88300000000000000000000000000000000000000000000000001c9cfc2d15e680000000000000000000000000000000000000000000000000012385f912cfb48bb000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000040a8cdb6e9800000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8e449022e00000000000000000000000000000000000000000000000001c9cfc2d15e680000000000000000000000000000000000000000000000000012385f912cfb48ba00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000b1d8faff1fe1ead5ab05729b0739d758ed260247dcbea7c0000000000000000000000000000000000000000000000000097c001a0369f895bb7dcb20ed89b5f84c6c41f8670c2847fe81486482a9191eb725b72e29fdd0165389e6347f6fb5e9dcc7e7057d6453a3cb6b894d54d9bacca7374f1e5", + "new_receipt_trie_node_byte": "0xb9057a02f905760183fd3f2cb90100000000000000000010000000000000000000000008000000000000000000000000000100000000000000100000000000020000000800a8000100000000000000000000000020080800020008000000000000000000020000000004008000000000000000000000000000008001000001000000000000000000000010000800000200021800000000000000000000000000000001800000004020000000000000000000000000000000000041000004000000000000000000000000000000000000000002000000000000000000000002000008000000000010000000000000000020200000000000000400800000000000000000000000400001000000001000f9046bf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000000001c9cfc2d15e6800f89b94857ffc55b1aa61a7ff847c82072790cae73cd883f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000b1d8faff1fe1ead5ab05729b0739d758ed26024a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000000000000000000000000000012677cfa1393cd58f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000000b1d8faff1fe1ead5ab05729b0739d758ed26024a000000000000000000000000000000000000000000000000001c9cfc2d15e6800f9011c940b1d8faff1fe1ead5ab05729b0739d758ed26024f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b8a0ffffffffffffffffffffffffffffffffffffffffffffffffed988305ec6c32a800000000000000000000000000000000000000000000000001c9cfc2d15e680000000000000000000000000000000000000000004fb6a22931e79cb9a75af3b600000000000000000000000000000000000000000000001b10c15cbca68dacd1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa4d8f87a94f326e4de8f66a0bdc0970b79e0924e33c79f1915f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000000000000000000000000000000040a8cdb6e9800f89b94857ffc55b1aa61a7ff847c82072790cae73cd883f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a0000000000000000000000000877c4aef9e353f7a71046238dc3242ccd75faff8a000000000000000000000000000000000000000000000000012677cfa1393cd58f87b94881d40237659c251811cec9c364ef91dc08d300cf863a0beee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630da0f35f348d53012d52a5d39f9390d246956ac932d5778d2bb49e359dba4fa0896da0000000000000000000000000877c4aef9e353f7a71046238dc3242ccd75faff880", + "gas_used": 189972 } }, { "traces": { - "0x484585fe5b976c2afac0f2c912447059ef41bf78": { - "balance": "0x1b143ed091d3e90" - }, - "0xd0daddf983fce88bef3f10fc12280d0f0cd1208c": { - "balance": "0x3fc608b41df359a", - "nonce": "0x6fd" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4a07995c66ae" }, - "0x00000000000000adc04c56bf30ac9d3c0aaf14dc": { + "0xea7b7dc089c9a4a916b5a7a37617f59fd54e37e4": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x332703871ea893a2078cb5a00be62cf370ffe7148c01f982738e93b72000e3bc", - "0xc598b6899226c3dd89eab01338299fbaf00e3e9e4a478877f4164107c3388f0b" + "0x5ea172ca4130e1ddf6d68980a5810ef5c5df149f36416490f3261cf02368cc14", + "0xa694bfc5874b26abd23e3a6bb9c6aacb8a3d5136512119335d46a4d4f84dd2ef", + "0x0000000000000000000000000000000000000000000000000000000000000006" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x1", - "0xc598b6899226c3dd89eab01338299fbaf00e3e9e4a478877f4164107c3388f0b": "0x10000000000000000000000000000010001" + "0xa694bfc5874b26abd23e3a6bb9c6aacb8a3d5136512119335d46a4d4f84dd2ef": "0x503a493b", + "0x5ea172ca4130e1ddf6d68980a5810ef5c5df149f36416490f3261cf02368cc14": "0xaec5997862f" }, "code_usage": { - "read": "0x30bd6d5686b2afa68fa12d7f8838c8532dbace05325226f4ab2da7ecb0b6ee1b" + "read": "0xf8fd6792c176f67979bbe6701c98bab2284c7f9ba8022c2218f4cd16de99eb5e" } }, - "0xb642f85d2b23b16ac310cc0d462716d80608b25c": { + "0xd189662f5c4d93f63088c4a3c09a65ef476e3235": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0xe8a6ff9255456298a79f3dd93166155cc6ad65f094cd801ad48edf788e5fef93", - "0x3884d557a6777d4278c1575663e7af3f176caba7d2afb5caeb1f739877acdebb", - "0x25ba602f27cf9ebf5eab4250f539a0119bcc0272a953947ad1272fc6eaeef3ae", - "0xeec49346fc0fd10749b5b20d945afc32281030050c41695a30ccb6b9533d89ab", - "0x53d995327aeadae3420d996aaa2b87708b5e3eb1f4093b3dbdeae592d8ddd69d", - "0xc6c29e56f988a81c3e566265a9473e610663d81da67870b0abddd6d0aff485e9", - "0xdba142e8373be0bfee8a64cfd6f557f9d746bb5c09b9f60f5aa51950184fe35b" + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f96a", + "0x3bb138929bc4161ff4a002494faa475a361b2579b0c68d228201f1275bd3e757", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f970", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f96b", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f96d", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f96f", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f973", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f976", + "0x3bb138929bc4161ff4a002494faa475a361b2579b0c68d228201f1275bd3e758", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f971", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f972", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f974", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f975", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f977", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f969", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f96c", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f96e" ], "storage_written": { - "0x53d995327aeadae3420d996aaa2b87708b5e3eb1f4093b3dbdeae592d8ddd69d": "0x70000000000000005", - "0xe8a6ff9255456298a79f3dd93166155cc6ad65f094cd801ad48edf788e5fef93": "0x65cf5de7d0daddf983fce88bef3f10fc12280d0f0cd1208c", - "0xeec49346fc0fd10749b5b20d945afc32281030050c41695a30ccb6b9533d89ab": "0x0", - "0xc6c29e56f988a81c3e566265a9473e610663d81da67870b0abddd6d0aff485e9": "0x4" + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f977": "0x59c81b8cb", + "0x0000000000000000000000000000000000000000000000000000000000000005": "0xaec584265ad", + "0x3bb138929bc4161ff4a002494faa475a361b2579b0c68d228201f1275bd3e758": "0x5fb500e5" }, "code_usage": { - "read": "0x8805ed48ee744767cae21aa71d38f54775efd31bc4e962b52afa983d41b4f1d1" + "read": "0x8591ebc6b2fc9bbfcc543ed5c11862fb19414f51689ec3be8371dfc08c7171b6" } }, - "0x1e0049783f008a0085193e00003d00cd54003c71": { - "storage_read": [ - "0x73f81e05fe78bb9c03fd7e2026f0245c29102ff947eddf738e68a7faea7f48aa" - ], + "0xaa0507fee0d0935c2ea250b2d7fb565c6badb35b": { + "balance": "0x16affa2d2308ec6", + "nonce": "0xac" + } + }, + "meta": { + "byte_code": "0x02f8b10181ab830e5b6485016ff2b7e78301b89794d189662f5c4d93f63088c4a3c09a65ef476e323580b844ddd5e1b20000000000000000000000000000000000000000000000000000000000000012000000000000000000000000aa0507fee0d0935c2ea250b2d7fb565c6badb35bc001a0eac7f80e0581271e3572304e2b2db750bf93c7bcfbcfd94291331293fa6328fea0195a28edbcb8837f20e7ab6f1deade59d331274ae106f6c8b75035459cf626c3", + "new_txn_trie_node_byte": "0x02f8b10181ab830e5b6485016ff2b7e78301b89794d189662f5c4d93f63088c4a3c09a65ef476e323580b844ddd5e1b20000000000000000000000000000000000000000000000000000000000000012000000000000000000000000aa0507fee0d0935c2ea250b2d7fb565c6badb35bc001a0eac7f80e0581271e3572304e2b2db750bf93c7bcfbcfd94291331293fa6328fea0195a28edbcb8837f20e7ab6f1deade59d331274ae106f6c8b75035459cf626c3", + "new_receipt_trie_node_byte": "0xb9024902f902450183feb0f5b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000040000000000000000000000000000000000000000000008000000000000000000000000000000020000000000000000100000000100000000000000000000002000800000000010000000001100000000000000000000000000040000000000000000000000000000000004000000000000000000000000000000000000000000000040000000000000000000001002000000080400000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000008000000002000f9013af89b94ea7b7dc089c9a4a916b5a7a37617f59fd54e37e4f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d189662f5c4d93f63088c4a3c09a65ef476e3235a0000000000000000000000000aa0507fee0d0935c2ea250b2d7fb565c6badb35ba0000000000000000000000000000000000000000000000000000000001fd9751cf89b94d189662f5c4d93f63088c4a3c09a65ef476e3235f863a0987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9aa0000000000000000000000000aa0507fee0d0935c2ea250b2d7fb565c6badb35ba00000000000000000000000000000000000000000000000000000000000000012a0000000000000000000000000000000000000000000000000000000001fd9751c", + "gas_used": 94665 + } + }, + { + "traces": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "storage_written": { + "0x93506f26ac17bcf88098fb8ad463c22d95fe58ab3d85fa0fe58f3270f2b95fda": "0xcb9060eb544f8efd18000000" + }, "code_usage": { - "read": "0x069efdc9b946a332dce9951324fa197268e3ff0e00e44c6bf36049fc53113a41" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x0000000000000000000000000000000000000001": {}, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621ba039b6733b" + "0x75bcb4e3bf88e812087b5f9198196cf9349015fb": { + "balance": "0x151e9daa6bcdbd4d8", + "nonce": "0x5" }, - "0x0000a26b00c1f0df003000390027140000faa719": { - "balance": "0x101f0b20c7b01e5487", - "code_usage": { - "read": "0x0e0a5f7bfe4bf9760a537b808095ac2a9e37c7755f7326691c11c216918166bf" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4a11aeb4265e" } }, "meta": { - "byte_code": "0x02f903a3018206fc830f424085081a94f0f98302fea79400000000000000adc04c56bf30ac9d3c0aaf14dc8801867177bcd0c000b9032c00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017caea18b4b8800000000000000000000000000484585fe5b976c2afac0f2c912447059ef41bf78000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00000000000000000000000000b642f85d2b23b16ac310cc0d462716d80608b25c00000000000000000000000000000000000000000000000000000000000006c8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf5bee0000000000000000000000000000000000000000000000000000000065cf641c0000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000848bd5ef66ed78960000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000009c2d6318538000000000000000000000000000000a26b00c1f0df003000390027140000faa719000000000000000000000000000000000000000000000000000000000000004047d6aca022c78fd2387e8acb0dbcac7de6715ffa00b9f6018d7a0d9d7e2036e9c3f3fd63720deaf19074b6895d8550f80a89a78f8f90dfe02a961f9d8c717ab500000000360c6ebec080a0ce2c4de7605cbf07a5646f87b93cb3ff85e6b81563f1ef33ad8386cea4a09789a069a8abebab8e7e94f8ddf25a3a51b1b46627739d02c8d1289f8ae3d944d82c25", - "new_txn_trie_node_byte": "0x02f903a3018206fc830f424085081a94f0f98302fea79400000000000000adc04c56bf30ac9d3c0aaf14dc8801867177bcd0c000b9032c00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017caea18b4b8800000000000000000000000000484585fe5b976c2afac0f2c912447059ef41bf78000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00000000000000000000000000b642f85d2b23b16ac310cc0d462716d80608b25c00000000000000000000000000000000000000000000000000000000000006c8000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf5bee0000000000000000000000000000000000000000000000000000000065cf641c0000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000848bd5ef66ed78960000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000009c2d6318538000000000000000000000000000000a26b00c1f0df003000390027140000faa719000000000000000000000000000000000000000000000000000000000000004047d6aca022c78fd2387e8acb0dbcac7de6715ffa00b9f6018d7a0d9d7e2036e9c3f3fd63720deaf19074b6895d8550f80a89a78f8f90dfe02a961f9d8c717ab500000000360c6ebec080a0ce2c4de7605cbf07a5646f87b93cb3ff85e6b81563f1ef33ad8386cea4a09789a069a8abebab8e7e94f8ddf25a3a51b1b46627739d02c8d1289f8ae3d944d82c25", - "new_receipt_trie_node_byte": "0xb9054b02f905470183aadf08b90100000000004000000000000800000000200000000000000000000000000000000080000000000000000000000000000000000000000000000000000000002000000000000000000000000000080040000000000000000000000000000200000000400000000202000000000000000008000000000000000000000000100000000000000000000000000000020000000000000000200800000000000000000000028a0000000000000000000000100000000000004200000002000000000000000000000002000000000000000000000000000000000000000000000000000020000010000000000000000000002000000000000000000800000000000800000000f9043cf902fd9400000000000000adc04c56bf30ac9d3c0aaf14dcf863a09d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31a0000000000000000000000000484585fe5b976c2afac0f2c912447059ef41bf78a0000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00b9028045d8d5201e51b59950909def029efc247ff80e7940c61450a84b3aa140ac806c000000000000000000000000d0daddf983fce88bef3f10fc12280d0f0cd1208c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000b642f85d2b23b16ac310cc0d462716d80608b25c00000000000000000000000000000000000000000000000000000000000006c800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017caea18b4b8800000000000000000000000000484585fe5b976c2afac0f2c912447059ef41bf780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c2d6318538000000000000000000000000000000a26b00c1f0df003000390027140000faa719f89c94b642f85d2b23b16ac310cc0d462716d80608b25cf884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000484585fe5b976c2afac0f2c912447059ef41bf78a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000006c880f89c94b642f85d2b23b16ac310cc0d462716d80608b25cf884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000484585fe5b976c2afac0f2c912447059ef41bf78a0000000000000000000000000d0daddf983fce88bef3f10fc12280d0f0cd1208ca000000000000000000000000000000000000000000000000000000000000006c880", - "gas_used": 145357 + "byte_code": "0x02f8af0104830e5b64850173a5027f82b54a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc280b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000cb9060eb544f8efd18000000c080a0d45c111e6dff224a5c952a64f518e7b7c89110ed6e5268adadad3a1b3c4ec1efa05ab87eb33172ab14dd9c0f821da0e4816359200cfde7bdde720e4218a14a6e41", + "new_txn_trie_node_byte": "0x02f8af0104830e5b64850173a5027f82b54a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc280b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000cb9060eb544f8efd18000000c080a0d45c111e6dff224a5c952a64f518e7b7c89110ed6e5268adadad3a1b3c4ec1efa05ab87eb33172ab14dd9c0f821da0e4816359200cfde7bdde720e4218a14a6e41", + "new_receipt_trie_node_byte": "0xb901ab02f901a70183ff64c1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000880000000000000000200000000000000000000000024000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010200000000000000000000000000000000000000000000000000000000000f89df89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000075bcb4e3bf88e812087b5f9198196cf9349015fba0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a00000000000000000000000000000000000000000cb9060eb544f8efd18000000", + "gas_used": 46028 } }, { "traces": { - "0x576e2bed8f7b46d34016198911cdf9886f78bea7": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x29b65e180e9fb871e0d0eb4bfdab825c6bf6214b0a82ddd9496a02d68052bcd4", - "0x971f9b48d4300a657b0cb332e19f215a93ce5f067e481c28c3b9565610979afd", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x0000000000000000000000000000000000000000000000000000000000000016", - "0xc934e40e1b24bd2089019d7107c765c938d63c0838af38358c7a8b59f9e942ec", - "0x4cf6cb1f7a88b5a9361c35ce49b5e0626b607e60d1597d775f7e30496f11ad62", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x0000000000000000000000000000000000000000000000000000000000000015", - "0x0000000000000000000000000000000000000000000000000000000000000011", - "0x0000000000000000000000000000000000000000000000000000000000000012" - ], - "storage_written": { - "0x971f9b48d4300a657b0cb332e19f215a93ce5f067e481c28c3b9565610979afd": "0x22fc278700265", - "0x0000000000000000000000000000000000000000000000000000000000000010": "0x8de8", - "0x29b65e180e9fb871e0d0eb4bfdab825c6bf6214b0a82ddd9496a02d68052bcd4": "0x741b3e92b86", - "0x4cf6cb1f7a88b5a9361c35ce49b5e0626b607e60d1597d775f7e30496f11ad62": "0x8a15870fb" - }, + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { "code_usage": { - "read": "0x8c0bb85d75747f004f6fb363d11937109fd3254cd07904b11dc0aec7cb4bc20f" + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" } }, - "0x665503146bc41059135ac6c20ce420ea745ed524": { - "balance": "0x12b08c50b52377", - "nonce": "0x20" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4a356761564a" }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298694ac93412c087d54c", + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0x04d13e916793bde5fcf5526e50a9bcf9aa246a01345b3178529af0f521376e0f" + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x3d21110d83afbfc1f85ef2cc0282e8b6a83139635e881605c8cdcabe7e76c996", + "0xb16ba7e363f38778ae88192847b7a9c100efd3d6ed0deb480f1d8a6a4a3e4f0f" ], "storage_written": { - "0x04d13e916793bde5fcf5526e50a9bcf9aa246a01345b3178529af0f521376e0f": "0x257e96ff720559da8e", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" + "0x3d21110d83afbfc1f85ef2cc0282e8b6a83139635e881605c8cdcabe7e76c996": "0x22015d45186decbe6c507568666867f8185d2cb9", + "0xb16ba7e363f38778ae88192847b7a9c100efd3d6ed0deb480f1d8a6a4a3e4f0f": "0x1" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621bc594ae913b" + "0x22015d45186decbe6c507568666867f8185d2cb9": { + "balance": "0x3a6652c3d13ef", + "nonce": "0x1" }, - "0xe4b8583ccb95b25737c016ac88e539d0605949e8": { + "0x0000000000000000000000000000000000000001": {}, + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006" + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c" ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de70000000000257e96ff720559da8e00000000000000022fc278700265", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x2c4a64548862a6de61c259d6ce683355efff3b0", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x2a5954e504ec766030762b9f53af8c4" - }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xa3bef05ad43e3e613a79ce3da021245b6d70099533f736cd9a9931697a6954cd", + "0x13e2e329c130637524dae8366b2da4482f144672a6c46496a2a3f0f76610d075" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0xa3bef05ad43e3e613a79ce3da021245b6d70099533f736cd9a9931697a6954cd": "0x1", + "0x13e2e329c130637524dae8366b2da4482f144672a6c46496a2a3f0f76610d075": "0x1" }, "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } - } + }, + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {} }, "meta": { - "byte_code": "0x02f902f8011f830f424085088f049ec28303775a943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8795ecad29858000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf602700000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000095ecad29858000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000095ecad2985800000000000000000000000000000000000000000000000000000000008382377c900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000576e2bed8f7b46d34016198911cdf9886f78bea7c001a0d07b2f1d85ef7cac6c642105f49077a694efb3a8ca04959ec9741bfec14d4812a0326131981a3f39e4024fa21e1f70ddb52879b826a5ac28503cf8a74bbcdbe9a4", - "new_txn_trie_node_byte": "0x02f902f8011f830f424085088f049ec28303775a943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8795ecad29858000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf602700000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000095ecad29858000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000095ecad2985800000000000000000000000000000000000000000000000000000000008382377c900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000576e2bed8f7b46d34016198911cdf9886f78bea7c001a0d07b2f1d85ef7cac6c642105f49077a694efb3a8ca04959ec9741bfec14d4812a0326131981a3f39e4024fa21e1f70ddb52879b826a5ac28503cf8a74bbcdbe9a4", - "new_receipt_trie_node_byte": "0xb904db02f904d70183ad51c0b9010000200000000000000000000080000000000000000040000000000000000000000000000000000000000000000000000002000000080000000000000000000000000000080000000000000008000000200000000000000000000040008020000000000000000000000000000000000002000000000000000000000014000000000000000000200004000000000000000000000001000000080000004000000000000000000020000000200000000080000000000000000000000000000010000000000002000000000002080000000000000000000000001000000000000000000000200000000002000000000000000080005000000000400000000000000000f903ccf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000095ecad29858000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000e4b8583ccb95b25737c016ac88e539d0605949e8a00000000000000000000000000000000000000000000000000095ecad29858000f89b94576e2bed8f7b46d34016198911cdf9886f78bea7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e4b8583ccb95b25737c016ac88e539d0605949e8a0000000000000000000000000576e2bed8f7b46d34016198911cdf9886f78bea7a00000000000000000000000000000000000000000000000000000000016510e12f89b94576e2bed8f7b46d34016198911cdf9886f78bea7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e4b8583ccb95b25737c016ac88e539d0605949e8a0000000000000000000000000665503146bc41059135ac6c20ce420ea745ed524a000000000000000000000000000000000000000000000000000000008a15870fbf87994e4b8583ccb95b25737c016ac88e539d0605949e8e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000000022fc2787002650000000000000000000000000000000000000000000000257e96ff720559da8ef8fc94e4b8583ccb95b25737c016ac88e539d0605949e8f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000665503146bc41059135ac6c20ce420ea745ed524b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000095ecad2985800000000000000000000000000000000000000000000000000000000008b7a97f0d0000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 160440 + "byte_code": "0x02f902910180830e5b64850173a5027f8303c9d894aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000000424000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d39b00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041a3c7a16f064c708bc2c607aed1bd1a3ad9b280ae95f33b9fedacf176888c34417293a100dba4ceba7ff51c98b73b8c1f8cc2da64ab9262d4c619e72eac1431901c00000000000000000000000000000000000000000000000000000000000000c080a0c9e932f617f971a21eba63e736cd8fe9fe8ec7312969210329276cba4e7edf96a05656327255305ef07b681fe765c9b0c2cb5654fc8ad253d0c3ced0f0d93e9570", + "new_txn_trie_node_byte": "0x02f902910180830e5b64850173a5027f8303c9d894aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000000424000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d39b00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041a3c7a16f064c708bc2c607aed1bd1a3ad9b280ae95f33b9fedacf176888c34417293a100dba4ceba7ff51c98b73b8c1f8cc2da64ab9262d4c619e72eac1431901c00000000000000000000000000000000000000000000000000000000000000c080a0c9e932f617f971a21eba63e736cd8fe9fe8ec7312969210329276cba4e7edf96a05656327255305ef07b681fe765c9b0c2cb5654fc8ad253d0c3ced0f0d93e9570", + "new_receipt_trie_node_byte": "0xb902ce02f902ca01840101e1b4b9010000000000000000000000000000000000000000000000200000000000000002008000000100000000000000000000000000000000000000000000000000000000000000020000000000000008000000100000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000100000000000000000000000000000000000080000000000000004000000000000000000000000000000001000000000000000000002008000001000000000002004000000000000000000000000000420000000000000000000000000000000040000000000100002000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000022015d45186decbe6c507568666867f8185d2cb9a0000000000000000000000000000000000000000000000000000000000000424080f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca000000000000000000000000022015d45186decbe6c507568666867f8185d2cb9a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a00000000000000000000000000000000000000000000000000000000000004240b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163059 } }, { "traces": { - "0x000000000022d473030f116ddee9f6b43ac78ba3": { - "storage_read": [ - "0x0f8cbf4ef624706f274f76554e3efd11425c511ce054a24456cbb76eeaa278f6" - ], + "0xf310ac7d07b6d13885267170fb8cf49a196056df": { "code_usage": { - "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" + "read": "0xa3132f82d200e97d5b13ef0ef3439e6d2165bcdd8a798bb0d4e2a88e273bd0ce" } }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "0xd0c155595929fd6be034c3848c00daebc6d330f6": { + "balance": "0x34c036585a77bf36e", "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x0000000000000000000000000000000000000000000000000000000000000098", + "0x000000000000000000000000000000000000000000000000000000000000009a", + "0xcddd5dd2c3fe5fad6f2a6d2347c885c79557b68f61999647cf73195bbbb28254", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0xcddd5dd2c3fe5fad6f2a6d2347c885c79557b68f61999647cf73195bbbb28254": "0x0" }, "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0xa025f261bfbd5883acf4d373385a39462fece808b5fa7e11bc123f10e16bb52b" } }, - "0x09d1d767edf8fa23a64c51fa559e0688e526812f": { + "0x36e66fbbce51e4cd5bd3c62b637eb411b18949d4": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009" + "0x2660660e20c2d0246c3607711af8eaef085d0f6d0560c0bc8408989e6c635725", + "0xa0cf0a7673daaec848376b2bd0f98ae7410f163e4a91e50bf5942ccbd9bc6531", + "0x23273ecf3235f90ea199ead1ce65138dd0a98d2b5ef55a3c65530a1597a8da86" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x5151ff423cc401121ad9c4a08342a53c", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0xe10ea73fa471fc15b872b318709426ac4fb8c", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de70000000000bf383956658e00031500000001620d28b54654fa010eae", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + "0xa0cf0a7673daaec848376b2bd0f98ae7410f163e4a91e50bf5942ccbd9bc6531": "0xca52194c139cbc1b6800", + "0x23273ecf3235f90ea199ead1ce65138dd0a98d2b5ef55a3c65530a1597a8da86": "0xb6f7fc4c9e57fba8a52c" }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0xe3340561c7e678397b9b93a71b1e3329f49fc0d18082f7e47d5a29eb95762819" } }, - "0x0001a500a6b18995b03f44bb040a5ffc28e45cb0": { + "0xd2639676da3dea5491d27da19340556b3a7d58b8": { "storage_read": [ - "0x14c43f5000e64bc93c325451a10e32d849db12ebae79f24b303e675631440440", - "0x39ed1a27eeaba21879e3b57aeb347529b9b60bc073c128efbbf6d6bb605c56b2", - "0xefbf7b7aaecbb7aaa337fab928138ed000ed4b24c350e763d88d2efe09832a4c" + "0x000000000000000000000000000000000000000000000000000000000000009a", + "0x90bee8ae8610ef4c5ea2f803f8b92504ed5ccf43915dcbb7f22d2fb373914fae", + "0x4a143679e9fb2d5e0c6beb11dfe50b7d06acc399543939914cbad804e0a0c370", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000065" ], "storage_written": { - "0xefbf7b7aaecbb7aaa337fab928138ed000ed4b24c350e763d88d2efe09832a4c": "0x1620d28b54654fa010eae", - "0x39ed1a27eeaba21879e3b57aeb347529b9b60bc073c128efbbf6d6bb605c56b2": "0x56bc75e2d6310021e5" + "0x4a143679e9fb2d5e0c6beb11dfe50b7d06acc399543939914cbad804e0a0c370": "0xa748d022ac945000" }, "code_usage": { - "read": "0xcfba78486e3e9fd4b4b3a08f1078c6edcaf1d95ceb8a35dfeaf2e80929b48973" + "read": "0xa025f261bfbd5883acf4d373385a39462fece808b5fa7e11bc123f10e16bb52b" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621be29caa753b" - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298693f1b6170270d7131", - "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0xefbf7b7aaecbb7aaa337fab928138ed000ed4b24c350e763d88d2efe09832a4c" - ], - "storage_written": { - "0xefbf7b7aaecbb7aaa337fab928138ed000ed4b24c350e763d88d2efe09832a4c": "0xbf383956658e000315", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" - }, + "0x9ef80a5f91f043c887ce391399b8faefba17364d": { "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xbed57c47e18c7a397ca0cb4b2baa9bbb40fcb45c5834e728151db6a7d4a8555a" } }, - "0x104da6bc433fb8390f9ec668d8dc9adcb2ba6d0c": { - "balance": "0xbd3fee1bc7e52a3", - "nonce": "0xf7" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4a4a5b1ea90e" + }, + "0xbc61a8409a0c05a6fcf38e23a1ae5a3416bad3e8": { + "balance": "0x3e7fc6b2fc8f21", + "nonce": "0x18" } }, "meta": { - "byte_code": "0x02f902f20181f6830f4240850e43a831c48302ca4f943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf601b0000000000000000000000000000000000000000000000000000000000000002080c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000015af1d78b58c4000000000000000000000000000000000000000000000000000000b9ef2b39f152a4b00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000001a500a6b18995b03f44bb040a5ffc28e45cb0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000b9ef2b39f152a4bc080a02050b953821c9f50f5d51796910c16bde6f5d80e0cc0569192abacc442d6b838a02a82aba08682813f450796184f9c4c212dd89c5dfd765e548986cc5404132429", - "new_txn_trie_node_byte": "0x02f902f20181f6830f4240850e43a831c48302ca4f943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf601b0000000000000000000000000000000000000000000000000000000000000002080c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000015af1d78b58c4000000000000000000000000000000000000000000000000000000b9ef2b39f152a4b00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000001a500a6b18995b03f44bb040a5ffc28e45cb0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000b9ef2b39f152a4bc080a02050b953821c9f50f5d51796910c16bde6f5d80e0cc0569192abacc442d6b838a02a82aba08682813f450796184f9c4c212dd89c5dfd765e548986cc5404132429", - "new_receipt_trie_node_byte": "0xb9043e02f9043a0183af38d0b9010002200000000000000000000080000000000000000000000000000000000000000000000000000000200000000000000002000000080000000000000000200000080000080000000000000009000000200000000000400000000000000020000000000000000000000000000000000000000200000000040000010010000000000000000000000000000000500000000000000000000000080000004000000000000010100000000000000000000000000000000000000000000000000000000000000002000000000800000000000000000000000000001000000002000000000000200000000000000000000000000000001000000000000000000000000000f9032ff89b940001a500a6b18995b03f44bb040a5ffc28e45cb0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000104da6bc433fb8390f9ec668d8dc9adcb2ba6d0ca000000000000000000000000009d1d767edf8fa23a64c51fa559e0688e526812fa0000000000000000000000000000000000000000000000015af1d78b58c400000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000009d1d767edf8fa23a64c51fa559e0688e526812fa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000badd2a2997a641bf8799409d1d767edf8fa23a64c51fa559e0688e526812fe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000001620d28b54654fa010eae0000000000000000000000000000000000000000000000bf383956658e000315f8fc9409d1d767edf8fa23a64c51fa559e0688e526812ff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb880000000000000000000000000000000000000000000000015af1d78b58c400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000badd2a2997a641bf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000badd2a2997a641b", - "gas_used": 124688 + "byte_code": "0x02f8760117830e5b6485016ff2b7e7830256c294d0c155595929fd6be034c3848c00daebc6d330f68701c6bf5263400084cb1a4fc0c001a03bea3bae27cebda3426f32c710dab67ed697dd23f15137dd7e9554e6fd54ebbfa03f733e0388c2f04fe9dce37185ec7b1ca6e21d0dfb04989b8f462562c3b47022", + "new_txn_trie_node_byte": "0x02f8760117830e5b6485016ff2b7e7830256c294d0c155595929fd6be034c3848c00daebc6d330f68701c6bf5263400084cb1a4fc0c001a03bea3bae27cebda3426f32c710dab67ed697dd23f15137dd7e9554e6fd54ebbfa03f733e0388c2f04fe9dce37185ec7b1ca6e21d0dfb04989b8f462562c3b47022", + "new_receipt_trie_node_byte": "0xb902a502f902a101840103574db9010008000000000000000000040000000000000084000800000000000000000000000000000000000000000000008800000000000000000000000000000000004000000000000010000000000009020000000000000000001000000000000000000040000000000100000008000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000040000000000000000000000000000000000000000000002000000000030800000000000000000000000000000000001000000000000000080000000000000000000000000000001000000000000000000000000f90195f89b9436e66fbbce51e4cd5bd3c62b637eb411b18949d4f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d0c155595929fd6be034c3848c00daebc6d330f6a0000000000000000000000000d2639676da3dea5491d27da19340556b3a7d58b8a0000000000000000000000000000000000000000000000000a748d022ac945000f87a94d2639676da3dea5491d27da19340556b3a7d58b8f842a09e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3da0000000000000000000000000bc61a8409a0c05a6fcf38e23a1ae5a3416bad3e8a0000000000000000000000000000000000000000000000000a748d022ac945000f87a94d0c155595929fd6be034c3848c00daebc6d330f6f842a0d8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426aa0000000000000000000000000bc61a8409a0c05a6fcf38e23a1ae5a3416bad3e8a0000000000000000000000000000000000000000000000000a748d022ac945000", + "gas_used": 95641 } }, { "traces": { - "0x2dd689bc44fbee35491f475498c443d88ae63418": { + "0x9ef80a5f91f043c887ce391399b8faefba17364d": { + "code_usage": { + "read": "0xbed57c47e18c7a397ca0cb4b2baa9bbb40fcb45c5834e728151db6a7d4a8555a" + } + }, + "0xd2639676da3dea5491d27da19340556b3a7d58b8": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007" + "0x130df1022fe5321aff2c84e63b7367032a43433027ca964323ca582979ff991b", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x000000000000000000000000000000000000000000000000000000000000009a", + "0x7c279d5fdb6393b7191b68134f41cd22090ee640241287a24eb85d4d399e2f46" ], "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de700000000000047920f012022abfa00000000000018ae4321e9da9009" + "0x130df1022fe5321aff2c84e63b7367032a43433027ca964323ca582979ff991b": "0xa748d022ac945000" }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0xa025f261bfbd5883acf4d373385a39462fece808b5fa7e11bc123f10e16bb52b" } }, - "0x5e37718cedad7cc99cc220c417f5095573b510c6": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4a5f4edbfbd2" + }, + "0xd0c155595929fd6be034c3848c00daebc6d330f6": { + "balance": "0x34c052c44f9df336e", "storage_read": [ - "0xa0a9449d230e5863520af2cd32b779f78e38a2b56be069d3967027f0cb41911c", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x0acbf0107898f09e965f4aebdac79f303961f189ae0dda53cc6e408f1888c8b6", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x57915f62b2dbfb75114a0267474495855da7af031b99e378eda89c75207d07fd", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x84681ca86c96f21e73623ad829e69b02e58af3c61cf06174bed6d1002d6a225c", - "0x1782eed26a133e8e92b23464c88f2355ec9c15410fbaf8e873192317fbd956e8", - "0x0bbee55ca85bbdfb834d4f91939d9c436ec7fb71c0ccf8a959583a66ea68af8f", - "0x873fe42076e79e3da705b99918658ab486530ac7f57454983de4f8afb6d05b1c", - "0x000000000000000000000000000000000000000000000000000000000000001b", - "0x0000000000000000000000000000000000000000000000000000000000000019" + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x0000000000000000000000000000000000000000000000000000000000000098", + "0x000000000000000000000000000000000000000000000000000000000000009a", + "0x66ad73cc0c667de04d5d76791f2ea667d04dd07afd3036caab5fed9bd22b1c90" ], "storage_written": { - "0x1782eed26a133e8e92b23464c88f2355ec9c15410fbaf8e873192317fbd956e8": "0x18ae4321e9da9009", - "0x84681ca86c96f21e73623ad829e69b02e58af3c61cf06174bed6d1002d6a225c": "0xa1102bb8271bfd" + "0x66ad73cc0c667de04d5d76791f2ea667d04dd07afd3036caab5fed9bd22b1c90": "0x0" }, "code_usage": { - "read": "0x2dba98c3ffc1e20dd1f9474f247d51b8435d6c8cae54fb833a14a0042c889216" + "read": "0xa025f261bfbd5883acf4d373385a39462fece808b5fa7e11bc123f10e16bb52b" } }, - "0x600e98a098b2345814c4cf02d7c480dd7eeb32de": { - "balance": "0x19d2611124a507a", - "nonce": "0x529" + "0xf310ac7d07b6d13885267170fb8cf49a196056df": { + "code_usage": { + "read": "0xa3132f82d200e97d5b13ef0ef3439e6d2165bcdd8a798bb0d4e2a88e273bd0ce" + } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298693f626f55068f7131", + "0x36e66fbbce51e4cd5bd3c62b637eb411b18949d4": { "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0x9bc7ec8ae6fdb064e5d4de11792c60b7a0eafc09550de150eb14f4ca7b09ea9a" + "0x2660660e20c2d0246c3607711af8eaef085d0f6d0560c0bc8408989e6c635725", + "0xa0cf0a7673daaec848376b2bd0f98ae7410f163e4a91e50bf5942ccbd9bc6531", + "0x23273ecf3235f90ea199ead1ce65138dd0a98d2b5ef55a3c65530a1597a8da86" ], "storage_written": { - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", - "0x9bc7ec8ae6fdb064e5d4de11792c60b7a0eafc09550de150eb14f4ca7b09ea9a": "0x47920f012022abfa" + "0x23273ecf3235f90ea199ead1ce65138dd0a98d2b5ef55a3c65530a1597a8da86": "0xb6f8a3956e7aa83cf52c", + "0xa0cf0a7673daaec848376b2bd0f98ae7410f163e4a91e50bf5942ccbd9bc6531": "0xca517203437a0f871800" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xe3340561c7e678397b9b93a71b1e3329f49fc0d18082f7e47d5a29eb95762819" } }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "0x68ac32945c28a06f8f58883db0728946805089f6": { + "balance": "0x3b1b94abc5bb16", + "nonce": "0x17" + } + }, + "meta": { + "byte_code": "0x02f8760116830e5b6485016ff2b7e7830256c294d0c155595929fd6be034c3848c00daebc6d330f68701c6bf5263400084cb1a4fc0c001a04ba5619c6f43a92713a2fd2388bcb27fa980c5792253299cc646547cf2050fa6a0325bcf986f8561b5571d52a6e234bc0c46652cd9203e5b726f8da1ee4106412d", + "new_txn_trie_node_byte": "0x02f8760116830e5b6485016ff2b7e7830256c294d0c155595929fd6be034c3848c00daebc6d330f68701c6bf5263400084cb1a4fc0c001a04ba5619c6f43a92713a2fd2388bcb27fa980c5792253299cc646547cf2050fa6a0325bcf986f8561b5571d52a6e234bc0c46652cd9203e5b726f8da1ee4106412d", + "new_receipt_trie_node_byte": "0xb902a502f902a101840104cce6b9010008000000000000000008040000000000000084000800000000000000000000000000000000000000000000008800000000000000000000000000000000004000000000000010000000000089000000000000000000001000000000000000000040200000000100000008000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000000000002000000000020800000000000000000000000000000000001000000000000000080000000000000000000000000000001000000000000000000000000f90195f89b9436e66fbbce51e4cd5bd3c62b637eb411b18949d4f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d0c155595929fd6be034c3848c00daebc6d330f6a0000000000000000000000000d2639676da3dea5491d27da19340556b3a7d58b8a0000000000000000000000000000000000000000000000000a748d022ac945000f87a94d2639676da3dea5491d27da19340556b3a7d58b8f842a09e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3da000000000000000000000000068ac32945c28a06f8f58883db0728946805089f6a0000000000000000000000000000000000000000000000000a748d022ac945000f87a94d0c155595929fd6be034c3848c00daebc6d330f6f842a0d8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426aa000000000000000000000000068ac32945c28a06f8f58883db0728946805089f6a0000000000000000000000000000000000000000000000000a748d022ac945000", + "gas_used": 95641 + } + }, + { + "traces": { + "0x5fd9f73286b7e8683bab45019c94553b93e015cf": { + "balance": "0x3c8d696d9348089f0c", "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x0000000000000000000000000000000000000000000000000000000000000130", + "0x0a06cb964677c5d51d0f55571b72806958dbd4c7c1457d9d57b43aeca7f50acb", + "0x0a06cb964677c5d51d0f55571b72806958dbd4c7c1457d9d57b43aeca7f50acc", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x00000000000000000000000000000000000000000000000000000000000000fb", + "0x0000000000000000000000000000000000000000000000000000000000000131", + "0x0000000000000000000000000000000000000000000000000000000000000138", + "0x0000000000000000000000000000000000000000000000000000000000000132", + "0x000000000000000000000000000000000000000000000000000000000000012d", + "0x00000000000000000000000000000000000000000000000000000000000000c9" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0x0000000000000000000000000000000000000000000000000000000000000132": "0x4816", + "0x0bab5858e4e0c0a27e2267c8bda74c6720b414c5919f36e571589ec1f45603af": "0x1d197586f198159054b", + "0x00000000000000000000000000000000000000000000000000000000000000c9": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000138": "0x8fc4b99c07a6871c", + "0x0bab5858e4e0c0a27e2267c8bda74c6720b414c5919f36e571589ec1f45603ae": "0x4f8ff9dbe5d43f65185bac6c6230cb1b3be3812741b4fbe8ff80a0afa31c95d2" }, "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0xee8a105971995661291a9f284262a87abf2381b3cdc93b2c8fbeffe4cd636dd9" + } + }, + "0x83bc7394738a7a084081af22eec0051908c0055c": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + ], + "code_usage": { + "read": "0xee8a105971995661291a9f284262a87abf2381b3cdc93b2c8fbeffe4cd636dd9" + } + }, + "0xeac8e6c1acbabc7135fc8357ff2d718a36177ab7": { + "code_usage": { + "read": "0x93f0ff0093b7e44afb2626a2144c5614888d9e59c03eda9474bfc512d2bf3010" + } + }, + "0x65c7b3e1b877131986247b49474834b0347ef332": { + "code_usage": { + "read": "0x2ebcfebbf9b6f98b9a5da416648f5ce1e2bbac4aa851e33ddaf7ebe59f85b137" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621c002d24f9bb" + "0xdd32b9a1d161654b622b6367241e117f63610c4c": { + "balance": "0x2474e46dd00e47", + "nonce": "0x2" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4a7a35d7a35a" } }, "meta": { - "byte_code": "0x02f902f901820528830f424085088f049ec2830309b8943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87470de4df820000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf602700000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000174f62fb5b5e9b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005e37718cedad7cc99cc220c417f5095573b510c6c0809f9cc06eae8f6ea53db90b9ebba8ff81df548674177abe24d67be359b8555ba7a0060b0c18f245fe083b2c407870b4599b7d98ca3599a2d2dddc00c8dab908af9a", - "new_txn_trie_node_byte": "0x02f902f901820528830f424085088f049ec2830309b8943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87470de4df820000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf602700000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000174f62fb5b5e9b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005e37718cedad7cc99cc220c417f5095573b510c6c0809f9cc06eae8f6ea53db90b9ebba8ff81df548674177abe24d67be359b8555ba7a0060b0c18f245fe083b2c407870b4599b7d98ca3599a2d2dddc00c8dab908af9a", - "new_receipt_trie_node_byte": "0xb9043e02f9043a0183b128d2b9010000200000000000000000000080008000000000000000000000000000000000000200000040000000000000000000000002000000080000000010000000000000000000080000000000000008000000200000000000000000000000008020000000000000000000000000000000000000000000000000000000000010000000000000000002000000000000400000000000000001000000080000004020000000000000000000080000000000000000000000000000000000000000000000000000000002000000000000000000000004000000000000001800000000000000020080200000000000000000000000000000001000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000470de4df820000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000002dd689bc44fbee35491f475498c443d88ae63418a000000000000000000000000000000000000000000000000000470de4df820000f89b945e37718cedad7cc99cc220c417f5095573b510c6f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002dd689bc44fbee35491f475498c443d88ae63418a0000000000000000000000000600e98a098b2345814c4cf02d7c480dd7eeb32dea0000000000000000000000000000000000000000000000000001886371f18332af879942dd689bc44fbee35491f475498c443d88ae63418e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000018ae4321e9da900900000000000000000000000000000000000000000000000047920f012022abfaf8fc942dd689bc44fbee35491f475498c443d88ae63418f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000600e98a098b2345814c4cf02d7c480dd7eeb32deb880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000001886371f18332a0000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 126978 + "byte_code": "0x02f901980101830e5b6485014a5b61b48302f952945fd9f73286b7e8683bab45019c94553b93e015cf870581815f514079b90124eb672419000000000000000000000000dd32b9a1d161654b622b6367241e117f63610c4c00000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000069f6b00000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000dd32b9a1d161654b622b6367241e117f63610c4c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0278465309164c5f8e5b9d4da029abe3665569440883faae06cc0f6e04d73a5bea03770931a8823139d79b3f129ac3ac3c4ebf9a791449d2e587999c2c13f573f40", + "new_txn_trie_node_byte": "0x02f901980101830e5b6485014a5b61b48302f952945fd9f73286b7e8683bab45019c94553b93e015cf870581815f514079b90124eb672419000000000000000000000000dd32b9a1d161654b622b6367241e117f63610c4c00000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000069f6b00000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000dd32b9a1d161654b622b6367241e117f63610c4c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0278465309164c5f8e5b9d4da029abe3665569440883faae06cc0f6e04d73a5bea03770931a8823139d79b3f129ac3ac3c4ebf9a791449d2e587999c2c13f573f40", + "new_receipt_trie_node_byte": "0xb9032d02f9032901840106ac98b9010000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000f9021df9021a945fd9f73286b7e8683bab45019c94553b93e015cfe1a0bf5630c2adfa5e47b882a9ead657ffc6a22ce010513a3efac7245066bcad17ddb901e00000000000000000000000000000000000000000000000000000000000004815000000000000000000000000000000000000000000000000000000000000004000000000000000000000000083bc7394738a7a084081af22eec0051908c0055c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dd32b9a1d161654b622b6367241e117f63610c4c0000000000000000000000000000000000000000000000000000000000004815000000000000000000000000dd32b9a1d161654b622b6367241e117f63610c4c00000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000069f6b00000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000180000000000000000000000000dd32b9a1d161654b622b6367241e117f63610c4c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 122802 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621c26f3d2393b" + "0x0000000000000000000000000000000000000001": {}, + "0x0832128530a36148528d71b0a9303bdb5b18474e": { + "balance": "0xe9b32c86086c781", + "nonce": "0xc6" }, - "0x7ef5426ae9d85d9762950605fb18c13f063084af": { - "balance": "0x99334882657a7", - "nonce": "0xc" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4a8df91cd66a" }, - "0xcab8a2efb490a0cf915ca01e540261f3f09a43fe": { - "storage_read": [ - "0x306a38ce12521dd548df647a8cf54947c097b9dbd99151376c21031f81053477" - ], + "0x0d8c2789d0c15e386e050ebaebdf059e38f921a3": { "code_usage": { - "read": "0x7aed212dc0d89158c7f50d67b57ff68d7520ae7ee065af7efb905df87c6d3b7a" + "read": "0xecaae54a40f2e433933d21f619c09c773098af40cb793108f9a2bde40d448ba7" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298693fa614a6f5a21262", + "0x8918ba30e2e76b503e83d55eb08936b0f979eec4": { "storage_read": [ - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e", - "0xb8c35b9ea5a62941c05f0a8efd348e0f766fbfea0c304ca721d219cb6ad097eb" + "0x4a41723f8cd039953c8b49a9c4a91bef60f2c06cff5c64536338bfc55ac381a2", + "0x00000000000000000000000000000000000000000000000000000000000000cb", + "0x00000000000000000000000000000000000000000000000000000000000000cc", + "0xd944f0c7d3cf86b1ddb1e0be51eb3d54a8937107070c9b5420f7f32808097107", + "0x2572f6838c547e8c72db6393825e8fabfdc6827cdc5ee2fb255bde76935fbe98", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000097" ], "storage_written": { - "0xb8c35b9ea5a62941c05f0a8efd348e0f766fbfea0c304ca721d219cb6ad097eb": "0x2564189030550365b", - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e": "0x1" + "0x00000000000000000000000000000000000000000000000000000000000000cc": "0x11a6", + "0x00000000000000000000000000000000000000000000000000000000000000cb": "0x2710000001a700003a5d5d89d6c906c2ca6fcdee676e405113f8c0b245a7", + "0x2572f6838c547e8c72db6393825e8fabfdc6827cdc5ee2fb255bde76935fbe98": "0xa9", + "0x4a41723f8cd039953c8b49a9c4a91bef60f2c06cff5c64536338bfc55ac381a2": "0x31", + "0xd944f0c7d3cf86b1ddb1e0be51eb3d54a8937107070c9b5420f7f32808097107": "0x832128530a36148528d71b0a9303bdb5b18474e" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5" } + } + }, + "meta": { + "byte_code": "0x02f901720181c5830e5b6485015b5f98d283016411948918ba30e2e76b503e83d55eb08936b0f979eec480b901049a456e6d54c8a52d9e6b002a4a92fb1e267e19b712ead08f28cbc38f7ce82f237be63625000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000310000000000000000000000000832128530a36148528d71b0a9303bdb5b18474e0000000000000000000000000000000000000000000000000000000000000041f63eafa0500643d58b9ab036d56e5d067c3fbc15be70ecd596ff4f095e6701fe2de3b5728e0c049630baa487c442504567512045abd3383f9e0b02cc831a0c581c00000000000000000000000000000000000000000000000000000000000000c080a018e3cdd5a7215ee3e73c309cd620ca9572b4bf04b87774b930cb5670ba0bdafca004bed13156ec6f8175fb6e7c9c9e2a047f4b3b58c74c0684350a63ba0803f07a", + "new_txn_trie_node_byte": "0x02f901720181c5830e5b6485015b5f98d283016411948918ba30e2e76b503e83d55eb08936b0f979eec480b901049a456e6d54c8a52d9e6b002a4a92fb1e267e19b712ead08f28cbc38f7ce82f237be63625000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000310000000000000000000000000832128530a36148528d71b0a9303bdb5b18474e0000000000000000000000000000000000000000000000000000000000000041f63eafa0500643d58b9ab036d56e5d067c3fbc15be70ecd596ff4f095e6701fe2de3b5728e0c049630baa487c442504567512045abd3383f9e0b02cc831a0c581c00000000000000000000000000000000000000000000000000000000000000c080a018e3cdd5a7215ee3e73c309cd620ca9572b4bf04b87774b930cb5670ba0bdafca004bed13156ec6f8175fb6e7c9c9e2a047f4b3b58c74c0684350a63ba0803f07a", + "new_receipt_trie_node_byte": "0xb9026902f90265018401080cfcb9010000000000000000000000000003000000000000000002000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000008000000000000000000000000000000000020000000000002000000800000000000000000000000018000000000000000000000000000000000000000000000002000000000000000100004000000000000000000000000000000000000000000000000000000000000000000000000002000000002000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000200000f90159f8b9948918ba30e2e76b503e83d55eb08936b0f979eec4e1a05dc238ae2706a98b704a1b162e778905803c092930a374f59bac8581b951c64bb8800000000000000000000000000000000000000000000000000000000000003c9e0000000000000000000000000832128530a36148528d71b0a9303bdb5b18474e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f89c948918ba30e2e76b503e83d55eb08936b0f979eec4f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000832128530a36148528d71b0a9303bdb5b18474ea00000000000000000000000000000000000000000000000000000000000003c9e80", + "gas_used": 90212 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4c7a9f57c7ab" }, - "0xf2dfdbe1ea71bbdcb5a4662a16dbf5e487be3ebe": { + "0x5b1d655c93185b06b00f7925791106132cb3ad75": { "storage_read": [ - "0x65ad8c1dda35d5b882d855bfd45fd9ee4fcb3a77fa8ac2f4bb13e3f8ae038a79", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x521007575ace8c04ec6710e2a3fce74e12fdc7fa57c81a5b3e00dd2d2a1ddd44", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0xc20207ef9c632d86edeeb33dcd5ec5cf019e6f2a5cea64e82506afd01d581482", - "0xe0a14f20b576274d216805efb2aa60612547c0964fb552025bdae51c9e88ce94", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x3142cdcae259d965fa413b4c51b556a558fbb0261c8fc2f89472c62bf039c881", - "0x60a67484ccc6b0d08cc36de0f88fd0a00fc0a3f70c60397537b7cf88f0758555", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0xe08efc48dd2f505050743a6fdbdb71ed11a9b798d5f1beb900f834862c4d4caf", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x000000000000000000000000000000000000000000000000000000000000000e", - "0x98dffb7b74e60c432e22390867d8142288f5c528d18337a634f8c5451b30c2e3", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0xdb48307e077f2601fb7fe056f2179ba554faa14ef1c4d9c55dd03079337f6fdd", - "0x0000000000000000000000000000000000000000000000000000000000000015", - "0x000000000000000000000000000000000000000000000000000000000000000a" + "0x433e26a084f4946e3da4a1e6647f70c285dbc35216c91d4c347e7064225e49a1", + "0xd8c5637a6c9328e721de430e51f0583705db280ef9524cfb7c3a9d2266199560", + "0x58eec23b00a2f87a8ab935436299333bc60f3bc59754fc913579a65ed1cb3b3d" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000014": "0x3e7a66325d5ad6f99779", - "0xe08efc48dd2f505050743a6fdbdb71ed11a9b798d5f1beb900f834862c4d4caf": "0x1f5dcba1af5cfe6f7234", - "0xc20207ef9c632d86edeeb33dcd5ec5cf019e6f2a5cea64e82506afd01d581482": "0x29301f4b5b1183913ce699", - "0x3142cdcae259d965fa413b4c51b556a558fbb0261c8fc2f89472c62bf039c881": "0x5dd35b5ec777ffff71dd", - "0x0000000000000000000000000000000000000000000000000000000000000015": "0x1f58f52c6a1d2905da5d" + "0x58eec23b00a2f87a8ab935436299333bc60f3bc59754fc913579a65ed1cb3b3d": "0x0", + "0x433e26a084f4946e3da4a1e6647f70c285dbc35216c91d4c347e7064225e49a1": "0x3d8cffb1b7c26b97b70a", + "0xd8c5637a6c9328e721de430e51f0583705db280ef9524cfb7c3a9d2266199560": "0x411a2290fbe565f8c0000" }, "code_usage": { - "read": "0x8b366c02a0c37c30cbfc3c1a48570a9c0debdb2ac4cdd8a46d8e9b59a6d535ea" + "read": "0xfd244647a162adbbbc6f41eb0b03a840c58eaf0aa62cbb1671c99eea5a5c66dc" } }, - "0xdef1c0ded9bec7f1a1670819833240f027b25eff": { - "storage_read": [ - "0x3a1eae4d9599b151de37596bc1e301e7833e536acda254c41c5aab51deef773d" - ], + "0xf88e304e7c8cba8582a430daa11e1adfaf2a383b": { "code_usage": { - "read": "0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e" + "read": "0xb052feb17a85334ae0e6a647e71781bebb31fc5a54df041568cad20973e59fb0" } }, - "0xf9b30557afcf76ea82c04015d80057fa2147dfa9": { + "0x9ebab3b21b5ef5709bd476b022fc432fc84c0e86": { + "storage_read": [ + "0xc4a7f3ecd94eb3e44479ae0877a1a1a926a228f0a31a5dec7d1cd35de817931c", + "0x5a79266fec8d1ba81a7a105195f4417b67cf35e7213c1d4cbdbda84779e12b28", + "0x7ae399e4d47055b29c46cfcfb2b9a55bb65e0af25ad5db7ece43f15fdc7ea1f8", + "0xcfcee63e0cd64978602cd17f4acec5e8137851af6d593a752d81d8002e95e012", + "0x14fcf2a440d607201954bd728113665574779dda289b025b259d0b913b2cc743", + "0x33c26eb7edf3732eb45a2045491d8bf9dc44fe5a3ccb0d29ec3b5819bb8117b8", + "0x3b6b203c1b2baa1f2d5a7d14cd102c85e21dba6867cbbb9c3275d432fde848c1", + "0x621a1335343303eeb58c51f7f4f9d6dbce7ed3aaf082602ce16dda358c1b2b4f", + "0x6f64e3cad1a6133cc269e26e837f2d34c4b84f1f27378f7c2b39d0fbb6984414", + "0x4635be26a5cbaf9c3cf0dccd4a161d6ddbf77375731a163c25d2e6f3c827f85f", + "0x8e827cdb676a0497da8b17452a65c1491735c342edd2032a55cea75296bc8b62", + "0x5a4fb6532e3b16efc8ebc319c82ee3566a80a82fbc855ca208622126f58e2815", + "0xf745b4464ec0f076743dcc9d83474e004db6a98311a125424ca32f32b904c386", + "0x694407bd3a1546b27ed6270a688db325d2de65d29fba8d1ed0c725e0802e9738", + "0x561e4c16e1f37fb86f3283be6cb7e3036ffb8e72b6a2864483de228c8c6621a5", + "0x84fe057326cbec17c15090a0cbf944591a0faea004eff146ace182499a3c51bc", + "0x356ada35ec8e920cddf9708c3659473625def52cf793e755aedcdcf0eea3bd07", + "0x209d44255c5824b21f0f0f7621e497a4de53687bb5e5b5bc04c75ae3789c9471", + "0x506e5019493d5ffc69e5d4eefee4bf467d9f91ba638bb8c276673ddeb93ee31f", + "0x8eaf7ca802d5c56dc0576a5f002d273bad407bca05eaf97fd4c61a02286b7a5c", + "0x762cc5a4b743e7c9a989487de33b8b3c58f987d7397645b86e6573adbb4489f2", + "0x9da0d6453bd1c90ca477c5b83ae1e5d76ed401b6777a44813abc05ad5c5ab8e2", + "0xdf0793529b7003e84f8b708f59f01f6905be0ad437ce02943809093be861e262", + "0x5e257195ec395ee1088dc1f8ce40b5050809562994a8bd29b47f9a84ac9dd973", + "0x0c0e8025a2d9eff70506333c29e2dd119f29f94576401d62fbb455edfea8eedb", + "0xc6dee3b118f05f08f12e8fd9a578f6c0d330d775890929b815a8808fbd8d5219", + "0x19e7c01de7e3e545c2d9212b4bc8d8f8d77696547f6e6c6327301d5cdefd20cd", + "0xea588cb65644e9799b85564adf3b51e4af26ebf87ed0a48faff0ea667b277bcd", + "0x811cd6d8ebb2fc3ef8e71c1482b7db7d6d02036b77e0a45a8055ba4fc0ab989c", + "0x072525c44ae68a3b44f118a54f89728777ba36db674e794b6d08f6a9ad681fce", + "0x81381ae1a2fe3a805a43ef526606a8330993acfc90cb9a8f36afb86428b70a34", + "0x564cc8fc0e28c761e1deae3c27fedd7b8734003a98a33f7742f60b0280660431", + "0x1d13101ac6aadd542cae16c27798708bce1fd50eee6ac67dcfaa0714a6b38a84", + "0x025c3b0e75a74f4272ef02a216a88d00186c1d1124f31daf0e673efb758427a3", + "0x418f9505efa58ad0fcb08883afd92f9d4783d53b4d188ca97719f307a3bf4b39", + "0x871e56ba3bed6ec83aa7650b4d57eca4f48d4277bc4bc5c92be57b7b54259754", + "0xde75879beddd539e96e545fed57e2e32490bc1a83950cde1bac625c2fb160870", + "0xb3331c8c1e4764b74fd7a52ca08787c30e6d01de8de14e012130acaf2e9eaca9", + "0x6ad48e4605b6dfea813faf0351dff775b6d73ed52ed9bdc7225bdf7a0c6fc40a", + "0x50daec0c8eb456052f65c676c97b65e95f0887a0c2080463eb1a90f57bb4afad", + "0xd042aeee796a4b70dcb27c1ad7298438f878f2bda508ad66e2d07fc8385aa86f", + "0xda9686bb1215ebd1ddb16bf85bca8ee0ee33fb96baa9ee4538a53fea80980e89", + "0x00383ec9594909a0b96e36d702d7b651fe4e0bd1b232c324870dcf6c6deea022", + "0x4b9b30af955cdf72cde9ab057f8a4f812fd233c7666053304ffcf3d35dcbfc6e", + "0x80930f998cc229724b8cf975c7071525a58f443c9703213a30a99d2387261352", + "0x875a18e4b83545e2eb1251fd529ae056f50b3548f09d3bb0d96711f6970b1af8", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x87aecdec1284713af94b9b229a98ac554597e94bd292c78200c3d4a6b36e0861", + "0x31936d6bf985776b6a422d49e244db6b0eb120497e1b8595e7964350e09c7ab8", + "0x7a50023ebc32178885d6ca3288933b10c6270495bbbee14841573cfa199fc2c0", + "0x7d23f5378aa458968091d8cf07648d5c20821e54af7bd70ff860dc7c6680ac41", + "0xa8b8e0f71d45276fe442e332ec56e547aa10c2d2b8efd622fd9e779721483d3e", + "0x4e9ba98420f3321ac3bddf20ab4bf1e3fecfcc9588aa12fd84cfce553b7d8122", + "0xa5e019e9a1b3fec66486d11953ebacf95fd5056568e80ba50a38b769825599a8", + "0x86ad6c58921eff8ec6b10fbdaac0f3ad1ffd2c51af110d50e02e3ed5b28d9be0", + "0xbe16505becf1fe0ed520c6c826387e2a1e8a8ca4d8f4c226dbe0bae2668c3334", + "0xbcaa76aeedb8741bb694c301942c84582d624c8b5126826392df577c0b57a26b", + "0x85c2da4eff1125e70df58f7511971939c8ddfe44b1e63867359e989d48479402", + "0x32f68287f91f5da09f719882bacacfbd8b0257517be47377560a644319e78d78", + "0x3082565ce98f649e9ab9374ea469e17e7cf7c1294d3e54cd685bdcabdfe5ae28", + "0xb6f148622c44293835ca5cec6c9a54a6c5b8d254872e9bbdef6d6dd33661f54a", + "0xcac77907dab25972e752434913b9835408f19df1510b039dea6393da88f36e3c", + "0x455f7c130cce0228de74803ef24797d6c47784ccfa94819f32331b1749c7ab72", + "0x00127f80d17d1149998750efcbadc230992221572e5eb69a97e1c1c888fc80ea", + "0xf77e1b8ce7e77dc3d0ee58dc9f1fd18d2f8670d741c7fde9f2ae3cb0501c585f", + "0x851a5e0d1e026361fd91127b719b12ec99de20b901598bda40ca37897027aba6", + "0x712b0d560825543d33e7b51396ee733b124512fb17a21d05e3be7027fa434062", + "0xe7ba32fd5bdbc01286ba92d0ede430c5a4f3d38982e54e2e98df48e66cd1ee49", + "0x4b93e6ae788f87397a942352b263335b59713583e31b72c4e77dd9170e2a4d56", + "0x2503676664ccc2d08ccd699bfb8760db08bdd84884cb6f152f7e7443cdb1ebf1", + "0xf6065fb8e043da04d2499e227aa9fbf11b464988da05b175b041da1f7cb18ed6", + "0x43134a78ea51fdfbca28e9da6cf95a8c05fd5f34bd8cf052f453dbbe3beab910", + "0x1b46c727d71ab4dc30943b1eb83eb4cee7167adf1c3d1c0e1fbbe3b5d89725ea", + "0x4a3a2745bd303442882b664a1d6e4067aebca5545f8584abcd7df2fd23e7021a", + "0xef593c694b8e6208efc211c32af2f0e0f2de6bdf6336415eb25997fbbed1f3d4", + "0x19f2938e21a7a7a09b996bb7d462c2225971cbf29ebfbd927beb3d201dc29b56", + "0x1520aa8b96ddf195e1dd35814a44e027452a289ad22518848d7e7dc695db799f", + "0x88198885e6b253b6563770298a9a48a35e5a8f87b9298e43c2d51fdf9a07279e", + "0x943a3b8841ce04821a2708bc90a69c8a0bafaf7743245578f7e23e6dae885010", + "0x6a04ab1c22b06180b2cef31db2b0285b7f52048e720decf5fedd7f57059b232a", + "0x123f575169eabc88c1a86001a437a5abb5d0ba5f97fe715f18059a0e7290346b", + "0xeace11c7f4de4ae0f70903920c365e120891e8aa73485f4559c7b54774f591f3", + "0xc3dfa337227fbf8f356496cbba0ebcad18529eadb001fb7987d3fc7f10144c52", + "0x5705030ab11066ca0fdca3bcb9202d3b7acc80da3253f2ff439ddb01cf68bfc7", + "0x49ca4c0873315a3722ee354bcecdda9f80432c1597d525d3630c33338e4d0a53", + "0xe84c00b82b200006ea5238e2ba9a34fc6851e3ce9c71ce966bb7ea6d46e77259", + "0x48422792a072a09275cdb978c2a3c947157159b7e1f89cf50caba7508b27e55f", + "0x2784e2b474d666b40e04b9028b21ff2733db9b51c37b692bc2614913051b4d55", + "0xce6a13193651f1b0cd6811e1513c0dc17f591dce50df49fc4e7fc2c2236d891a", + "0x0ca92d3046eaa26d61a16297df707101a8d16f57ec0a804604133ff74644e103", + "0x829ffd11ea118e0b37f9d783b8c97a63fd9f47aac3da985bf28ea6e526d02bee", + "0x390be488764d48c04820f7a9581eed1ad21627c89ba767e7667e20371f380e62", + "0x3680101a3827e296479d490e4298db292a28135a58835693888eb66bd1186866", + "0x14b6c99761bff566f556ffcc13cab2acbec9db0e51bf8316bb417f20c0bf0fac", + "0xc7914f341e3cbdba22f01bf1a3ae816d74c4c03124b90d290d276c3da436593e", + "0x6e19b7fcfb7f607b4770efa38d6324b2b11625c66b0b9fe79ae578b8e8022db5", + "0xa1ca9e8870729536002baca3a925ec2499083aabc1076525f80eb8b724f28411", + "0xfb7599abd4abfe0da8ca763fc73a749418309286626c58088a9230c3fa51adf8", + "0x04b3ca97702c7ffaae2d4aed1aaf22df87e1505a56a05bb9bda33413d263abbf", + "0x1bf67d0722a9f26001d6beb2275c093ab53fa0c6604058e0fa5e8140e6bab3e1", + "0x858b61eb688b8670044faacc02d07a394878863a889f39a120c3a004d9381e9c", + "0x9f487eb62776719493afd45b2c3047bd1bd2d5ca0001e3016b1488204648b4ec", + "0x0cd948d48ebd38b222169601ca1e22fe6810c89044e5175e694d8b122184e77d", + "0xa7e5e1858ff2df249695f12944e99401519d0d73be2549721a7b393e43a42b99", + "0x3e806086a70ab4a2891b1a2b81dc5865f6867718265afafae4929d5479cae41b", + "0xab3653ab3bfd053d85f44edde0643fc71b28b40182f1c9e0f13119b729961c4c", + "0x37b46c46329f9f59e102622f46cf65fb552ee5ec5b8b5629442b7bc00d5cdde5", + "0x0eb93143270fd52fb9ab57da03a7f8f03ce23837bc3c67e8fbb6322046139022", + "0xc5f019e299c5feeb57f85a78806b1ba0415f3c441974b35e31d6dfd1a8cd5111", + "0x3006993445d8717a1ae2ef70af5a0fe71630daec9e42c0a880517e7717bf15f4", + "0x471a233916c24de2b215f370a7d6187834aa82ecfc658e0806df7800f4808242", + "0x741de69c62a4b961c0b280731b6c18315ae522b970cadd61dbe1a22560210c22", + "0xb1b93e8bf84a9d1c36e350d57c3dcd23092ab8443e56268689c45195f9bf6c85", + "0x00000000000000000000000000000000000000000000000000000000000000d6", + "0x4c0e86ddf0519773020abe581c2e0aed948c3d7e3a5ed12410fda1cd625c983b", + "0xd3ec7e4705cf7827ed4aedc759b7218865511db265baece18ad4ce19f80c9bde", + "0x029afac2f23ad4bdd407390ed19449562fdc163d0424cb731aa3f3a79e06d8f3", + "0x3eb9b57a1706024078caab4c942b422d6d6c2f52c03590d89f3f945546e31925", + "0x51adcb45c5c333d141a04a1d157f2a9ee8d580a09dc2fbe926ffcae29700eb6a", + "0xd9d8436d858ef78c2f1e12b90426600cc894c3830068405c9a00f9dbaa01d9ef", + "0x262cd0cce9b13d1f6db0ece77cb729bdf236bab2fe452ffb9f95eadd81045274", + "0x7a65e1b2fdb875c1a903166aea5bc5941348be1b46ee6d43dee047462a8c9b94", + "0x3ce00ca7ba637775a867cee9189014b22c9cf401c646db57462cb731a501d25f", + "0xa56b7e8ff9490d3cf91add5222ff67297809e0f1b76c0ef9659fbcbb47a17153", + "0x857ce09b213c09ca6e78cf1c2a7e3139a99e4c3fb4fca93b124176fd3e112483", + "0x43eec4baeafd103662bd4a54604853ac5570d97ac2910716afdfd03ab9d4ef91", + "0xfa392545e456bf74f3c59b577b5379fd0706096d01ab49d9b32c748e7e29f045", + "0xd99808af8db630dbcf85202b5601d96a1e68a83fce20d10b871b85ed4950136e", + "0x52ec51f5642f30f69f2987898693ee2970779773a9fa91f202fdc605b0824879", + "0x4dd76a6212d62d0f61754872ef403c80a71d777a09d848953d8581e6dd2b15b3", + "0xf3cd513966d7d3f6cc89b74b3fd2c0ffb8247942f503f715644a6067eb43f4d0", + "0x147456d7e3b2e4ec4a22052ac085fb39798b99509a0f4b0e7d05c3097b913810", + "0x2711ed59a48beccea46bff29cf27fc83552ad5b3cb443a0d3a223481bbc52ca9", + "0xbe752ff7f85a21fb17be19c52396f139d31f4c9076234c1c0de99391c8ca4c5b", + "0x51c0ff2f2ec06513e02b3925ae0050c1508a4c0591f2cea5bab8d70bdc8b8dfa", + "0x0d8856102cadbb23eba33f6555c925ea188b1af559275216c270a2f5c09078c9", + "0x6785296897c8878291773aaea18e7823ccc79af2fa59756d6c2d81dff2f1ab51", + "0xfcc25cea32c3cdd8c4afbfdef6af7e6d84249ad87cf25587f6be0e4c92ba84d9", + "0xefae9414c0d576fd3fd8a548826ccbc3378c2e30e47075d39fd821c76633989d", + "0xfb886b52bed00f79df57a772a634c47a46ca46fd5b340e24001a16ee4dbf08af", + "0xad48cf7f160ccbd8ae54abb87ca3d886470fedcd192b1a3737d23f7b3d134856", + "0xd5396afab4ef3f84c019e34facf85b7fc2b27e6015004abc015e940afea670b8", + "0x5b5069609c497298707b6327f42677abd17a7d1490d9a5e6506bb4b22a11bcbf", + "0x4f20bd872b442415b9b10f1536e987cdd99dd117e030e3a1be7acc7be5dae581", + "0x7507284a7a859ffb51450fab1edb3e1e0dadd06d0de327920a2c862793dc2f71", + "0x09e41fbed3e2126a4e12d01bfb57b1e1f9640f987dd116ad6d600584ff3c4dc2", + "0x2e38e98e35e3f1de0d72a9c3208c273d60136d3c23e2afcecffa9fca40527dcc", + "0x78e0d802071de760a1c054e545358c8aaa5d6db34bdad3c07e93d7273a116a80", + "0x00000000000000000000000000000000000000000000000000000000000000d7", + "0x7153d9b1b2c19f973e13b0e4f027e7a2566967221dfb4a69f19a68b473e5cbac", + "0x36ef68fc2b6d023df59fe58f38bb15dd1f26ed30104972790504c095e634cb9a", + "0xa987b781ae3ad9dd4d32d28f58619bb800c3189f73f7506009b7538c873f5908", + "0xd208a27f9975635e409177e3f9f9e85009fe19738efe7ab5e070816514e34892", + "0xe913436db34c1bd867d3aafd75dc0308d80b414fd8269d4c9c18051aa2601986", + "0xb443b1e183e31b63f26e7c5355a99c752a12d6ec820b7e2d6bd642cf88e7e111", + "0x78aa247ac126553364e8754492629e99abed3dab483c407e0a0e27c013f1124b", + "0x2dc3aff5b63d281021dc973e37593463c0e029bfd2d1896ab063d00993b8c65a", + "0xe9c952c04c9c25791d53347531e2393ceca3cbf149d02f0d4729292470d0a030", + "0xa2a930c79ba3cea176b922d41cc84b57d26ade821af744f74bf22e9b057f707b", + "0x455021970e24346ed785f864ad1b8d7a77a88191fb013c79a9eeb79d58896d84", + "0x3fcf8b623eb89245ccc70dcc875ef2cbab1760f976786202bb385784d4bde9af", + "0xec548031c63a93898056a8eb92645fae2217cfa3419c97b71659ab7ff9dd91d2", + "0x4c8795fd1c42a18a1ca97d2ec4fd580eef11c38c9c87ccc2d43dfb79b5fb11cc", + "0x02cce3a04d0d384711161e2555347275e512c7df6bd2d48bc4696cac085052f0", + "0x0e7f973c76c285029c7458e3ce2dfdb473a80495adbe870c2702b003c450ae09", + "0x593aec111153c370ff0fd3ee0e476242947973c673d09f474630d5f79726d7b5", + "0xf821ac6bb4ee39979e2a68ee083d7677f90c8a6d28e09b8f9df76cbccbdfb298", + "0xa84cd75c7e9075df231f1bc42b53576474fb20dd567db7d773b49279d19e0221", + "0x6088553b748cdd91dde21209cf0032531f3537dbfff7694c429c90850c5536f6", + "0xfd305b9d97346f81060dc477a6b609dd9068368a5eb1240afcbe423114eda2fe", + "0x5bd1fadce8e48745aeeb683486efb0b33f5b71d183b60c1a7018410837034bd9", + "0x1d156055c732977ad25fc90ecc243fc9870af9f9a4dcb55ddf5addcf22086385", + "0x8387119b649a6ab09da9fc258db479b2ccbf9b336afe111e1aaca9311691d629", + "0xed48223075cd3e982ec59c4c3c88d3e213e4bba66017e9041f0627c0f2dbb216", + "0x65c349a2bb691a42ce7d14d1dabf0da3553413cd4ff72c6ec1be93dfc6fa3f7c", + "0x70983e14e54111642845bc424e84315ecfd8f3a757265add2f4366845641e366", + "0xefc6d59214ca0e73fdeb2ec09fb3fef4ba722c07bc44e035d81f870da1b0c646", + "0x4c2e0c30961c6aa36506d3711d2ea3c65abdb96f63f755c1b715b609dad3fb01", + "0xd3e25484c8f9bc50713f86b98b2003d82c86cc0bcfb8f90ed9c227800d2970c2", + "0x2ad759709fa0f1581f510238a5938561d16cb926bd992e309d0bae0d67eaeede", + "0x6c26f56f4405733cd0c22ca93e22a40d0ad917453f13f71847888306d978bbdc", + "0xa1f264d70180a55d4a04610ac9a3cb4413006d0cf5e48bd066fdb1a8b94e340c", + "0x2e6e4a68e1cd149e9c876c7b9bcd8158789782f4d02345ad426a5939ef012fef", + "0x77179174080432a262136bddf8e7e35cb901c05fb2ac3f994ce353734a9c5197", + "0x988cb08d059266f3edc6dc1efbebe067501b3a36799abdb232070dcca291145c", + "0xa9d00767f3e27ac5c3a6566423e76cd8c9d3b3cf8e1b2fc7571bd2a7cac86293", + "0xb875fe0213c11821fc4b71320d706616c4856914249d40ff241e69dfb4a4122e", + "0x24eafbfd095c960945317e435f972762f194a996c95758ed330e348390a5f7df", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0xdf1284f772bdb2c1f3aef71f7aefbdb96d58e704a7b667c101d7f78e81a188ee", + "0x731f72b936f0b53a7d82de028d46231dc8fba89ef0b2641a9d26db81d1056d55", + "0xc38a1b63632daf1791acf7803b31bbe70d3fe1f39835d3b55062a3140863f679", + "0xe9d091d6e3ec151dd2d7bc2912867d89fd813cbe7b99d5e52427bfd28e35538c", + "0x661db0a85927c3ff820ffc8b0b4e847a88a4c9fec90c9489066b8358ee3a0998", + "0x078bb27819ba0b1ee05b3ddac2f6887e806249719a70ba3c8b5438fa3a6e1af9", + "0x963fa629fd55adaa67472b5486df010ede1b4239cf385dd92c09629ada8d393e", + "0xc3ee51d8d015f789ea42d0aee772e5700ee2ee0c11b95e3d0cef0fb6292cb047", + "0x25b69ce9f1b08cb58e026e4b239dc79a056103fe9f8e2b065221de70bf8dac33", + "0x4ec5a0a19e37518ef727b57a9eafdf387174133c2855b09f047b62fe6f3134a4", + "0xd2be8dbb9ed9be904837ae636a74647892bf8a812ff82cdc53e3a81811faca2d", + "0x1e6a0bbf65ec539644f3ecf9b5fe5b8f52afa0b9f0aecf19a722d287c092bc52", + "0xc8a5b4d6f9fbe8b60a01772da15ef796dcd7de2f89089f68a65220e90e98caec", + "0xcc79abed1fe38517bc18195cc1bed22d7b15398123a359176dc7c704eb41967f", + "0xa02327e042ce5c70136f452bba42d8560ebebc186a402b67c7daca8a83438740", + "0x00000000000000000000000000000000000000000000000000000000000000da", + "0x3f53b07629fba272e182a99a4b134a9dc3e1b9a3cdb2b31fc358a6597e9ef05f", + "0x8954b5fbca786dd7c680266615541933202a8cb90796a5cce9d13df20632dae8", + "0x24a99dbb7e8a409fc66ef9b489eb8944b65d5d3c8b2eb57e40d80a5f927f8edd", + "0x71c8bf81ad0e382863bb9c66a6190f0d8530ac9d7f475915b31c4b707cb20581", + "0x5506da0169bd96b7ebdb5eeab186bd36448d0630e6ce765cfbb432d62027246c", + "0x441dcd99d382535a883bc80d1352be3e453f753d54540faad6a58ed732c97e6a", + "0x6abfdb39923ebb1e0d02e51ab82d85bc75f10cd2c621a8bb4ddd151754ba6bd4", + "0xd42a74b987ce553674a164fdc92b88d449f8bd26ac7b3a2bd6b2523009278bf8", + "0xba813430ba3361e00fcf23659afc26baaa12cc7575fd607de0aa75af38313525", + "0xba533043cb913af87ca323175db695c17207f012c9e0e5d26a99435c0440a0d7", + "0x5f149be520992b3f7de613b9afb30364dc6901e998681096de29d085c55e21c7", + "0x47c5b4fd4fa780231b3f94d78ccb542db451e4e8f8fc657a34ddb2def6aeeab4", + "0x1ba337eec1c4c993fb24a6a1645d2979d52f96915d0014bad39ecc0ef7425049", + "0x35b9935edfc3e609e9d9d5377e712e1918f4f7377ed529b30d05004af34ab91e", + "0xdac51cdce247ba058d4ddce1c4ed4a777a374b9369c38f1979bdfdb36bb8cfed", + "0xf4367e74c2b591e378b1b5fa576b5b41aad0b26ada98e80e6a6293e512296632", + "0x4e2dec4afb7c029e84231936770c5abd740f75c1a71f6bc9564a377e7f765273", + "0xdacc44f93c2c39dfac63f82be61da1f8649ab0209a36d860e3b0dfba92bf01a2", + "0x7446b48bc6e39b41be46895c195454254ddc12b33a91275788fdd9e34c3f27d0", + "0xcb5c4088f468020d7d2618e0aa2e16c3e8919f0da0944e8ae85040cbe1e0c17e", + "0x0b62097579a892ee5f02e70ac215b2ef39baeb886eb94a7f9c630cb086037b3f", + "0x93a777b9cf0fdb729127ec8930db432daa4b48f377e0b53d80ed748a2c9e620f", + "0xd9d965c3177dd7c585c5bc29bfac2b4b9b2486fae75ff902d3ed8ed738f8f37d", + "0x621fe13db6932673ca2bc7d29ed20f5a26034d9ad4b844faf953fa2842240247", + "0x2e3fdd5c270ae50c883acb210075b20b98c86828122aa27e398b22caca75fbe2", + "0x00935addfa624af1b2099dcdf6833a8a74cf014f62fd0518ded1d71271379a52", + "0x19d7b09beff160982393dcb074912ed07d34335148f8cb374991d791e37ce097", + "0x5553e70e6270296681db7e6fd307276fc1759b0ac1f4c6fdb98a8a245930f349", + "0x0864e5e6f94af6e41ae8db0327a3e430eb190726e4b6afb469515bd916e970ed", + "0x2ceae19e3056484755068699b9fb2cc1ae47f6cb659d3ccbb90cd04669e6e0a3", + "0x1fbe5b6c0c9dbcb52d5e2027699a8671716e84769597b130e964347239ce9749", + "0x803f6324d2c43c9a2410211b3ab552b3ec7adf7dad4b0de5ab2dac098ccf4c1f", + "0x859e74da176e700475f6acdb630e8e5772a1d12b1d1541c36e183928ee4b4cc8", + "0x1e9e679cf0075e3cd0252dbfe59ce3b49708f8f126a38fbbc6d440078a70af80", + "0xcd8520b7eaf3b913d864cabf7c2c1de4d64c13df52a4e0bc7b02458b51592e85", + "0x5409316d7385fd5c3989f370f9984feb510d70c3be3a21f03a2a2a317ceaa733", + "0x4dd59290088f2f47c3f5c4adf9055db0c6b14c736a713d26670973448cfe41ad", + "0xcbb99ea70e1319741e748338d84177e813c6bae48015cc63edcc721d745f98bd", + "0x3c0bc825db73943ffa96393b0774ccc21cf3df80967ada8d776d57e6847abfb9", + "0xaff7e4a4f12a77b3c199e0f27cbe6ed25d8630469e2e9dbef6b9e52836cf10a1", + "0x78f8e6b1c19b49d5cfb7266e607bd638d96d5d25213e4bb3ced270a0bc1ee5a4", + "0x4a69c0c13920c04d65f91cbe52febde8de20a852fcd129fc2a5fe4501991e025", + "0xab64ea42039021192ee8aef3db0490d206f445dbd90d64e6c091e5781dc7e781", + "0xc4f8f8156336136a9969cfd7b73756633f0681a0b4ef54e75bdd46186142c55d", + "0x7786c87d60067c646d0571a316c9a4981d7a3d4b33e42c63160733a5c4545ab3", + "0xcd7669d68f4027906666eeb191c13568cf73679b343a470a1c869323ea56a3c6", + "0x1d7eefee9110639be1d35bff003e3fc98c9f09e0a4bb87b3ff4d1ddca741f7b6", + "0x7288bc8874bb7a6b0732181d04c8110c269e0294a9afea01f4cbf29c4adb4c20", + "0xd10ef7616946468c6672936269a7653fad8569e13eb181e315a913627e1334a4", + "0xea375504f92b3268bf24b704395ec52325d2551116e549cf8454a38c13a1a561", + "0xc94824414465ddde3b6c50dadb737055270a626a2fad68620e2218c330179308", + "0x319b3c7edb376a1b195404e7e97cb65b5b0579d9fee6bac9f43ef012571c90a3", + "0xe7fc89997e675a702f76765a614cd305a1036201f0b07e42f17a2c7cd593b44f", + "0x4100acc929c8af2c4601000e9dfa1aef4346c360f5039c7ba2bbbefbf83b4ef7", + "0xa7d3a7e91898bf36a78c2ac6736a930a2c5cf548515e5cb62c4c4340560b6c2b", + "0xf0e1b8f4809987f580c3986ed17bf071122bda7091f9840cce04b21b504094ea", + "0x323b61e2a9f5ea8b2f56cdd106bf936e46dbbe91ecf2bff1c4d8453e02f8ed7b", + "0x2218c623d873243f1746a010dc27b8e9a501e3fca22da824b2932010a854e872", + "0xffbd3265c9bc51d12ed31074eda9e0af94356eae4ab8337b1ea6ebaaa30e31af", + "0x76ac6b689534e0471b78420f2ef55ae3ab1eb5b75f4c93d54cca46236440bea8", + "0xe87ccd9b8b6a6b15bceee7ef54be1584c83e452903ce585c92569af1a47b8187", + "0x4d598cb410d80d09bd7679345e6b57c287860a8a34c1f6b0910648d004267d33", + "0x942efc52e82f641205fc65d3ac2e4e1241dddfb8f7f2be3ef13f452fdbf73ac8", + "0x60f583d691ce36e0a73951635cea0a9effcb5ee7e21dc91803307e5d4ae47607", + "0xe7d395e402a115bf328e33f6f8c9488d5999edaa7f2fab8ab880337ba0afb572", + "0x3435ade05e2791947ecee355a5a3d41bc068f30afe00d64ae166caa0afeb07b8", + "0xf07a7d798c06e70699a6751aee2156bbb221cd3fa793e23d34e5a0aec6dca9a1", + "0x9b82ece4401aed63b0860eeb90d6461c0385a3f0b03e9a304e2b8e0ed7e9edd7", + "0x012cc8f42fcaa7713fa4909af02ce6776e695c5138b69b488f0a98ca9009ff74", + "0xd9c9d670fffb9bbe3363017ab39960302f66ac2fae7222e88616c55b778e62d6", + "0xb7904054766e94d7ccf188e2d89fdd6a1752872b229ef804029456d26af925c2", + "0xbf300df9096d5c55015a104fb543fc0a6419a6db130a74647a96a8db3c04d616", + "0xdecc790d30cd6b17523803c1f481c7d9c846ec67f806c663ade9d4add42774a9", + "0x19c66f8982e3e743c595afbb2291d73923644a53c0db3c2c00eb42675625bf8b", + "0x7436a0a0e144fc9fa99ff31a4539e49b996cf959a5476374201db68c1eb3d349", + "0xb95079e2a989a4c2d317e5cc804242ff4f6f64cfc9b53257be0d17ec4d4d8678", + "0x5cd0e250a0c8303f2123c7ee45fbd69eb713c5ae925ffaefd389c49d380d4e7f", + "0xb2f90add70592dfd4c21d0c2b39f7f03b3884759714516e8d35eff61373e4366", + "0xa583d6547c2d481e30ec77f15aa577d629f7156bedefcc7cb2b519baddcc1f4b", + "0xa2d85171733eabdd735671ad7b370eb9f0f75ab3bc1134ec9841e902142b63e2", + "0x0bf4a29488602c1541f60a2d68c55df7588bb9d4a2a45bd3a04575ab63f521c3", + "0x569e42406429775b3a648ba9da01bc60dc426fece03822b7743a42245ffba1e1", + "0x06e6d0794d69f5348c1605da871bbdde21964bd1646a2ef900379152a1f9881d", + "0xc0274c9cb552135bfa03e3b833d6a644a9413302a7445a26d9ed18720ce512de", + "0xbac93c2c896bc3ab8bf185be891bc5fec7135040da89267d48712c7d363d7a10", + "0xfc45dd1410913e8b1b753c8cea6c7a28289b35d70b43ee52282bed910722abcc", + "0xd2a20b925c9b5392b00f2b96228284a196942ace9c5f1ede9f17d7e4b892ad4c", + "0x8eb40178b604bac646e1b0a66e33a3cdd5cc5db192ae5623cb4bd51e128d9cce", + "0x1ef220bd785c5fe606dc9d4465e073ffdf918c64d6eb7e61d109ce215a01b779", + "0xdcd6347106f5c8eda9233ca50be77b8ef821a93a93fc997c9719ccfbeafbdc20", + "0xa4c61d57886724467b3c02f14f397349aae4653ebce497fbc51855b33740d77a", + "0x4545ee134886313ab426536c746c4683498ddee94500966f417886ef181dd66b", + "0xb0c61192155d08332742a03400f28de9aa947cc9638852eaebd874bd5476e470", + "0x225f1df8baac0b8f2b27b420a95823bf0c1646e194719a95b903bb3e34e9bf86", + "0x947851f986de65ddb24ee219de420ca1303ea3dfd8edad0c5223d6d945277735", + "0xa7b8d705de21d8e8caea2483e17dcb2eae5c406f37e18ccc1a667d78a9efd126", + "0xfc2963b3d4ceeb4ea11f518dddf4804fc670cc5845c9baa048b0daf677601144", + "0xc11764cc227d5cf7abb3c834e830d9b404fe6a99502dc918cd113562fb9219b5", + "0xa80cdb09f4ca1c387e6bd9bd41e37bb665dccfbbf553fe99a50bd81ef153793d", + "0x26683edb32067bc4bfff4bc23ee56d8adb2a606d6c5e0e3fa199e74a6756e668", + "0xd1315f61978d36a948753abeb5b28aac78ba90c1e95b67b66edee4aafbf360e0", + "0x0886003bab000c4b9f25c5ff01a17e07b4dc64e00f4ebce9b6d0e41e4e1d1734", + "0x8fd2e180feee642934aae48a2598eaffa653d780c97eadea7be13631a6b35839", + "0xb9544fb1bb575474b5b4808bf75629e272ba7885a25092470abd48adfa89123f", + "0x4de2113af7b87f2678e976e48bb6f526fd7c78bb41348f35290004065fb1c695", + "0xccecb118b8539e4ef1c01f2bf88e681be2a4866f40b10ba0a99bdd3b14246881", + "0xd0445d2f91328d0b7648f3d8e27f6af4c414568797b7e461674d600698d6f203", + "0x80f3f227215ed6cd8a63743dcecb1186ce9397693fda4ba75c2ec73b6a060741" + ], + "storage_written": { + "0x77179174080432a262136bddf8e7e35cb901c05fb2ac3f994ce353734a9c5197": "0x0", + "0x47c5b4fd4fa780231b3f94d78ccb542db451e4e8f8fc657a34ddb2def6aeeab4": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xbf300df9096d5c55015a104fb543fc0a6419a6db130a74647a96a8db3c04d616": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x943a3b8841ce04821a2708bc90a69c8a0bafaf7743245578f7e23e6dae885010": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x19e7c01de7e3e545c2d9212b4bc8d8f8d77696547f6e6c6327301d5cdefd20cd": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x947851f986de65ddb24ee219de420ca1303ea3dfd8edad0c5223d6d945277735": "0x0", + "0x5409316d7385fd5c3989f370f9984feb510d70c3be3a21f03a2a2a317ceaa733": "0x0", + "0x3006993445d8717a1ae2ef70af5a0fe71630daec9e42c0a880517e7717bf15f4": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x3fcf8b623eb89245ccc70dcc875ef2cbab1760f976786202bb385784d4bde9af": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xc5f019e299c5feeb57f85a78806b1ba0415f3c441974b35e31d6dfd1a8cd5111": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xdacc44f93c2c39dfac63f82be61da1f8649ab0209a36d860e3b0dfba92bf01a2": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xf0e1b8f4809987f580c3986ed17bf071122bda7091f9840cce04b21b504094ea": "0x0", + "0x24eafbfd095c960945317e435f972762f194a996c95758ed330e348390a5f7df": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x5705030ab11066ca0fdca3bcb9202d3b7acc80da3253f2ff439ddb01cf68bfc7": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x871e56ba3bed6ec83aa7650b4d57eca4f48d4277bc4bc5c92be57b7b54259754": "0x0", + "0x4c2e0c30961c6aa36506d3711d2ea3c65abdb96f63f755c1b715b609dad3fb01": "0x0", + "0xa7b8d705de21d8e8caea2483e17dcb2eae5c406f37e18ccc1a667d78a9efd126": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xd99808af8db630dbcf85202b5601d96a1e68a83fce20d10b871b85ed4950136e": "0x0", + "0xfa392545e456bf74f3c59b577b5379fd0706096d01ab49d9b32c748e7e29f045": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x04b3ca97702c7ffaae2d4aed1aaf22df87e1505a56a05bb9bda33413d263abbf": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x455021970e24346ed785f864ad1b8d7a77a88191fb013c79a9eeb79d58896d84": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x441dcd99d382535a883bc80d1352be3e453f753d54540faad6a58ed732c97e6a": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x4635be26a5cbaf9c3cf0dccd4a161d6ddbf77375731a163c25d2e6f3c827f85f": "0x0", + "0x0c0e8025a2d9eff70506333c29e2dd119f29f94576401d62fbb455edfea8eedb": "0x0", + "0x6e19b7fcfb7f607b4770efa38d6324b2b11625c66b0b9fe79ae578b8e8022db5": "0x0", + "0x811cd6d8ebb2fc3ef8e71c1482b7db7d6d02036b77e0a45a8055ba4fc0ab989c": "0x0", + "0x3c0bc825db73943ffa96393b0774ccc21cf3df80967ada8d776d57e6847abfb9": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x857ce09b213c09ca6e78cf1c2a7e3139a99e4c3fb4fca93b124176fd3e112483": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x8e827cdb676a0497da8b17452a65c1491735c342edd2032a55cea75296bc8b62": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xa1ca9e8870729536002baca3a925ec2499083aabc1076525f80eb8b724f28411": "0x0", + "0xc6dee3b118f05f08f12e8fd9a578f6c0d330d775890929b815a8808fbd8d5219": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x8954b5fbca786dd7c680266615541933202a8cb90796a5cce9d13df20632dae8": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x19f2938e21a7a7a09b996bb7d462c2225971cbf29ebfbd927beb3d201dc29b56": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xc4f8f8156336136a9969cfd7b73756633f0681a0b4ef54e75bdd46186142c55d": "0x0", + "0xc8a5b4d6f9fbe8b60a01772da15ef796dcd7de2f89089f68a65220e90e98caec": "0x0", + "0x2e6e4a68e1cd149e9c876c7b9bcd8158789782f4d02345ad426a5939ef012fef": "0x0", + "0x029afac2f23ad4bdd407390ed19449562fdc163d0424cb731aa3f3a79e06d8f3": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x1520aa8b96ddf195e1dd35814a44e027452a289ad22518848d7e7dc695db799f": "0x0", + "0x2711ed59a48beccea46bff29cf27fc83552ad5b3cb443a0d3a223481bbc52ca9": "0x0", + "0x4545ee134886313ab426536c746c4683498ddee94500966f417886ef181dd66b": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x471a233916c24de2b215f370a7d6187834aa82ecfc658e0806df7800f4808242": "0x0", + "0x2784e2b474d666b40e04b9028b21ff2733db9b51c37b692bc2614913051b4d55": "0x0", + "0x5f149be520992b3f7de613b9afb30364dc6901e998681096de29d085c55e21c7": "0x0", + "0x6a04ab1c22b06180b2cef31db2b0285b7f52048e720decf5fedd7f57059b232a": "0x0", + "0x1ef220bd785c5fe606dc9d4465e073ffdf918c64d6eb7e61d109ce215a01b779": "0x0", + "0x593aec111153c370ff0fd3ee0e476242947973c673d09f474630d5f79726d7b5": "0x0", + "0x7d23f5378aa458968091d8cf07648d5c20821e54af7bd70ff860dc7c6680ac41": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xa3d47e4767338dfe2a0dbebac1dd6790d23e8898d1c00de85273a435abce031d": "0x6632d06b", + "0x09e41fbed3e2126a4e12d01bfb57b1e1f9640f987dd116ad6d600584ff3c4dc2": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x80930f998cc229724b8cf975c7071525a58f443c9703213a30a99d2387261352": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x02cce3a04d0d384711161e2555347275e512c7df6bd2d48bc4696cac085052f0": "0x0", + "0x0d8856102cadbb23eba33f6555c925ea188b1af559275216c270a2f5c09078c9": "0x0", + "0x9da0d6453bd1c90ca477c5b83ae1e5d76ed401b6777a44813abc05ad5c5ab8e2": "0x0", + "0x71c8bf81ad0e382863bb9c66a6190f0d8530ac9d7f475915b31c4b707cb20581": "0x0", + "0x60f583d691ce36e0a73951635cea0a9effcb5ee7e21dc91803307e5d4ae47607": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xa84cd75c7e9075df231f1bc42b53576474fb20dd567db7d773b49279d19e0221": "0x0", + "0x7288bc8874bb7a6b0732181d04c8110c269e0294a9afea01f4cbf29c4adb4c20": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xa9d00767f3e27ac5c3a6566423e76cd8c9d3b3cf8e1b2fc7571bd2a7cac86293": "0x0", + "0xb0c61192155d08332742a03400f28de9aa947cc9638852eaebd874bd5476e470": "0x0", + "0xbcaa76aeedb8741bb694c301942c84582d624c8b5126826392df577c0b57a26b": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xa80cdb09f4ca1c387e6bd9bd41e37bb665dccfbbf553fe99a50bd81ef153793d": "0x0", + "0xbe16505becf1fe0ed520c6c826387e2a1e8a8ca4d8f4c226dbe0bae2668c3334": "0x0", + "0x829ffd11ea118e0b37f9d783b8c97a63fd9f47aac3da985bf28ea6e526d02bee": "0x0", + "0x1e9e679cf0075e3cd0252dbfe59ce3b49708f8f126a38fbbc6d440078a70af80": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x1ba337eec1c4c993fb24a6a1645d2979d52f96915d0014bad39ecc0ef7425049": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xc94824414465ddde3b6c50dadb737055270a626a2fad68620e2218c330179308": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xdf0793529b7003e84f8b708f59f01f6905be0ad437ce02943809093be861e262": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xa02327e042ce5c70136f452bba42d8560ebebc186a402b67c7daca8a83438740": "0x0", + "0x19c66f8982e3e743c595afbb2291d73923644a53c0db3c2c00eb42675625bf8b": "0x0", + "0xda9686bb1215ebd1ddb16bf85bca8ee0ee33fb96baa9ee4538a53fea80980e89": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xe9c952c04c9c25791d53347531e2393ceca3cbf149d02f0d4729292470d0a030": "0x0", + "0x712b0d560825543d33e7b51396ee733b124512fb17a21d05e3be7027fa434062": "0x0", + "0x78f8e6b1c19b49d5cfb7266e607bd638d96d5d25213e4bb3ced270a0bc1ee5a4": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x621a1335343303eeb58c51f7f4f9d6dbce7ed3aaf082602ce16dda358c1b2b4f": "0x0", + "0xa583d6547c2d481e30ec77f15aa577d629f7156bedefcc7cb2b519baddcc1f4b": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xcb5c4088f468020d7d2618e0aa2e16c3e8919f0da0944e8ae85040cbe1e0c17e": "0x0", + "0xf77e1b8ce7e77dc3d0ee58dc9f1fd18d2f8670d741c7fde9f2ae3cb0501c585f": "0x0", + "0xeace11c7f4de4ae0f70903920c365e120891e8aa73485f4559c7b54774f591f3": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xc3dfa337227fbf8f356496cbba0ebcad18529eadb001fb7987d3fc7f10144c52": "0x0", + "0x0864e5e6f94af6e41ae8db0327a3e430eb190726e4b6afb469515bd916e970ed": "0x0", + "0x78aa247ac126553364e8754492629e99abed3dab483c407e0a0e27c013f1124b": "0x0", + "0x3b6b203c1b2baa1f2d5a7d14cd102c85e21dba6867cbbb9c3275d432fde848c1": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x2dc3aff5b63d281021dc973e37593463c0e029bfd2d1896ab063d00993b8c65a": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xd208a27f9975635e409177e3f9f9e85009fe19738efe7ab5e070816514e34892": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xd9d965c3177dd7c585c5bc29bfac2b4b9b2486fae75ff902d3ed8ed738f8f37d": "0x0", + "0x51adcb45c5c333d141a04a1d157f2a9ee8d580a09dc2fbe926ffcae29700eb6a": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xb443b1e183e31b63f26e7c5355a99c752a12d6ec820b7e2d6bd642cf88e7e111": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xe7d395e402a115bf328e33f6f8c9488d5999edaa7f2fab8ab880337ba0afb572": "0x0", + "0x356ada35ec8e920cddf9708c3659473625def52cf793e755aedcdcf0eea3bd07": "0xa", + "0x4de2113af7b87f2678e976e48bb6f526fd7c78bb41348f35290004065fb1c695": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x33c26eb7edf3732eb45a2045491d8bf9dc44fe5a3ccb0d29ec3b5819bb8117b8": "0x0", + "0x3ce00ca7ba637775a867cee9189014b22c9cf401c646db57462cb731a501d25f": "0x0", + "0x7786c87d60067c646d0571a316c9a4981d7a3d4b33e42c63160733a5c4545ab3": "0x0", + "0x85c2da4eff1125e70df58f7511971939c8ddfe44b1e63867359e989d48479402": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xa2a930c79ba3cea176b922d41cc84b57d26ade821af744f74bf22e9b057f707b": "0x0", + "0x506e5019493d5ffc69e5d4eefee4bf467d9f91ba638bb8c276673ddeb93ee31f": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x1fbe5b6c0c9dbcb52d5e2027699a8671716e84769597b130e964347239ce9749": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x70983e14e54111642845bc424e84315ecfd8f3a757265add2f4366845641e366": "0x0", + "0x80f3f227215ed6cd8a63743dcecb1186ce9397693fda4ba75c2ec73b6a060741": "0x0", + "0x2218c623d873243f1746a010dc27b8e9a501e3fca22da824b2932010a854e872": "0x0", + "0xa56b7e8ff9490d3cf91add5222ff67297809e0f1b76c0ef9659fbcbb47a17153": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xcfcee63e0cd64978602cd17f4acec5e8137851af6d593a752d81d8002e95e012": "0x0", + "0xea588cb65644e9799b85564adf3b51e4af26ebf87ed0a48faff0ea667b277bcd": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x859e74da176e700475f6acdb630e8e5772a1d12b1d1541c36e183928ee4b4cc8": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xd9c9d670fffb9bbe3363017ab39960302f66ac2fae7222e88616c55b778e62d6": "0x0", + "0x323b61e2a9f5ea8b2f56cdd106bf936e46dbbe91ecf2bff1c4d8453e02f8ed7b": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x7a65e1b2fdb875c1a903166aea5bc5941348be1b46ee6d43dee047462a8c9b94": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xa8b8e0f71d45276fe442e332ec56e547aa10c2d2b8efd622fd9e779721483d3e": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x0886003bab000c4b9f25c5ff01a17e07b4dc64e00f4ebce9b6d0e41e4e1d1734": "0x0", + "0x4d598cb410d80d09bd7679345e6b57c287860a8a34c1f6b0910648d004267d33": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x1b46c727d71ab4dc30943b1eb83eb4cee7167adf1c3d1c0e1fbbe3b5d89725ea": "0x0", + "0x4a3a2745bd303442882b664a1d6e4067aebca5545f8584abcd7df2fd23e7021a": "0x0", + "0x1d13101ac6aadd542cae16c27798708bce1fd50eee6ac67dcfaa0714a6b38a84": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x43eec4baeafd103662bd4a54604853ac5570d97ac2910716afdfd03ab9d4ef91": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x1d7eefee9110639be1d35bff003e3fc98c9f09e0a4bb87b3ff4d1ddca741f7b6": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x87aecdec1284713af94b9b229a98ac554597e94bd292c78200c3d4a6b36e0861": "0x0", + "0x988cb08d059266f3edc6dc1efbebe067501b3a36799abdb232070dcca291145c": "0x0", + "0x9f487eb62776719493afd45b2c3047bd1bd2d5ca0001e3016b1488204648b4ec": "0x0", + "0xd5396afab4ef3f84c019e34facf85b7fc2b27e6015004abc015e940afea670b8": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x1bf67d0722a9f26001d6beb2275c093ab53fa0c6604058e0fa5e8140e6bab3e1": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x5bd1fadce8e48745aeeb683486efb0b33f5b71d183b60c1a7018410837034bd9": "0x0", + "0x8eb40178b604bac646e1b0a66e33a3cdd5cc5db192ae5623cb4bd51e128d9cce": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x93a777b9cf0fdb729127ec8930db432daa4b48f377e0b53d80ed748a2c9e620f": "0x0", + "0x0cd948d48ebd38b222169601ca1e22fe6810c89044e5175e694d8b122184e77d": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x37b46c46329f9f59e102622f46cf65fb552ee5ec5b8b5629442b7bc00d5cdde5": "0x0", + "0x4f20bd872b442415b9b10f1536e987cdd99dd117e030e3a1be7acc7be5dae581": "0x0", + "0x0b62097579a892ee5f02e70ac215b2ef39baeb886eb94a7f9c630cb086037b3f": "0x0", + "0x5b5069609c497298707b6327f42677abd17a7d1490d9a5e6506bb4b22a11bcbf": "0x0", + "0x942efc52e82f641205fc65d3ac2e4e1241dddfb8f7f2be3ef13f452fdbf73ac8": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x88198885e6b253b6563770298a9a48a35e5a8f87b9298e43c2d51fdf9a07279e": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x561e4c16e1f37fb86f3283be6cb7e3036ffb8e72b6a2864483de228c8c6621a5": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x078bb27819ba0b1ee05b3ddac2f6887e806249719a70ba3c8b5438fa3a6e1af9": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x32f68287f91f5da09f719882bacacfbd8b0257517be47377560a644319e78d78": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xa2d85171733eabdd735671ad7b370eb9f0f75ab3bc1134ec9841e902142b63e2": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xb875fe0213c11821fc4b71320d706616c4856914249d40ff241e69dfb4a4122e": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x31936d6bf985776b6a422d49e244db6b0eb120497e1b8595e7964350e09c7ab8": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xc0274c9cb552135bfa03e3b833d6a644a9413302a7445a26d9ed18720ce512de": "0x0", + "0xde75879beddd539e96e545fed57e2e32490bc1a83950cde1bac625c2fb160870": "0x0", + "0xefc6d59214ca0e73fdeb2ec09fb3fef4ba722c07bc44e035d81f870da1b0c646": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xfb886b52bed00f79df57a772a634c47a46ca46fd5b340e24001a16ee4dbf08af": "0x0", + "0x4c0e86ddf0519773020abe581c2e0aed948c3d7e3a5ed12410fda1cd625c983b": "0x0", + "0x3435ade05e2791947ecee355a5a3d41bc068f30afe00d64ae166caa0afeb07b8": "0x0", + "0x4e9ba98420f3321ac3bddf20ab4bf1e3fecfcc9588aa12fd84cfce553b7d8122": "0x0", + "0x7ae399e4d47055b29c46cfcfb2b9a55bb65e0af25ad5db7ece43f15fdc7ea1f8": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x225f1df8baac0b8f2b27b420a95823bf0c1646e194719a95b903bb3e34e9bf86": "0x0", + "0x50daec0c8eb456052f65c676c97b65e95f0887a0c2080463eb1a90f57bb4afad": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xb7904054766e94d7ccf188e2d89fdd6a1752872b229ef804029456d26af925c2": "0x6632d06b", + "0xc7914f341e3cbdba22f01bf1a3ae816d74c4c03124b90d290d276c3da436593e": "0x0", + "0x78e0d802071de760a1c054e545358c8aaa5d6db34bdad3c07e93d7273a116a80": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xcbb99ea70e1319741e748338d84177e813c6bae48015cc63edcc721d745f98bd": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x1e6a0bbf65ec539644f3ecf9b5fe5b8f52afa0b9f0aecf19a722d287c092bc52": "0x0", + "0xd0445d2f91328d0b7648f3d8e27f6af4c414568797b7e461674d600698d6f203": "0x0", + "0xe913436db34c1bd867d3aafd75dc0308d80b414fd8269d4c9c18051aa2601986": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x4dd76a6212d62d0f61754872ef403c80a71d777a09d848953d8581e6dd2b15b3": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x6f64e3cad1a6133cc269e26e837f2d34c4b84f1f27378f7c2b39d0fbb6984414": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xf3cd513966d7d3f6cc89b74b3fd2c0ffb8247942f503f715644a6067eb43f4d0": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x4dd59290088f2f47c3f5c4adf9055db0c6b14c736a713d26670973448cfe41ad": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xfb7599abd4abfe0da8ca763fc73a749418309286626c58088a9230c3fa51adf8": "0x0", + "0xea375504f92b3268bf24b704395ec52325d2551116e549cf8454a38c13a1a561": "0x35f", + "0x123f575169eabc88c1a86001a437a5abb5d0ba5f97fe715f18059a0e7290346b": "0x0", + "0x012cc8f42fcaa7713fa4909af02ce6776e695c5138b69b488f0a98ca9009ff74": "0x0", + "0x3e806086a70ab4a2891b1a2b81dc5865f6867718265afafae4929d5479cae41b": "0x0", + "0xbac93c2c896bc3ab8bf185be891bc5fec7135040da89267d48712c7d363d7a10": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xcd8520b7eaf3b913d864cabf7c2c1de4d64c13df52a4e0bc7b02458b51592e85": "0x0", + "0xffbd3265c9bc51d12ed31074eda9e0af94356eae4ab8337b1ea6ebaaa30e31af": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x8fd2e180feee642934aae48a2598eaffa653d780c97eadea7be13631a6b35839": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x8387119b649a6ab09da9fc258db479b2ccbf9b336afe111e1aaca9311691d629": "0x0", + "0x65c349a2bb691a42ce7d14d1dabf0da3553413cd4ff72c6ec1be93dfc6fa3f7c": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xb2f90add70592dfd4c21d0c2b39f7f03b3884759714516e8d35eff61373e4366": "0x0", + "0xcac77907dab25972e752434913b9835408f19df1510b039dea6393da88f36e3c": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xd42a74b987ce553674a164fdc92b88d449f8bd26ac7b3a2bd6b2523009278bf8": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xbe752ff7f85a21fb17be19c52396f139d31f4c9076234c1c0de99391c8ca4c5b": "0x0", + "0x5cd0e250a0c8303f2123c7ee45fbd69eb713c5ae925ffaefd389c49d380d4e7f": "0x0", + "0x6088553b748cdd91dde21209cf0032531f3537dbfff7694c429c90850c5536f6": "0x0", + "0x00127f80d17d1149998750efcbadc230992221572e5eb69a97e1c1c888fc80ea": "0x0", + "0x731f72b936f0b53a7d82de028d46231dc8fba89ef0b2641a9d26db81d1056d55": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xb6f148622c44293835ca5cec6c9a54a6c5b8d254872e9bbdef6d6dd33661f54a": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x36ef68fc2b6d023df59fe58f38bb15dd1f26ed30104972790504c095e634cb9a": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xab64ea42039021192ee8aef3db0490d206f445dbd90d64e6c091e5781dc7e781": "0x0", + "0xfc2963b3d4ceeb4ea11f518dddf4804fc670cc5845c9baa048b0daf677601144": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x3eb9b57a1706024078caab4c942b422d6d6c2f52c03590d89f3f945546e31925": "0x0", + "0xa4c61d57886724467b3c02f14f397349aae4653ebce497fbc51855b33740d77a": "0x0", + "0xd2a20b925c9b5392b00f2b96228284a196942ace9c5f1ede9f17d7e4b892ad4c": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xdecc790d30cd6b17523803c1f481c7d9c846ec67f806c663ade9d4add42774a9": "0x0", + "0x14b6c99761bff566f556ffcc13cab2acbec9db0e51bf8316bb417f20c0bf0fac": "0x0", + "0x0e7f973c76c285029c7458e3ce2dfdb473a80495adbe870c2702b003c450ae09": "0x0", + "0xa1f264d70180a55d4a04610ac9a3cb4413006d0cf5e48bd066fdb1a8b94e340c": "0x0", + "0xb9544fb1bb575474b5b4808bf75629e272ba7885a25092470abd48adfa89123f": "0x0", + "0x262cd0cce9b13d1f6db0ece77cb729bdf236bab2fe452ffb9f95eadd81045274": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xb3331c8c1e4764b74fd7a52ca08787c30e6d01de8de14e012130acaf2e9eaca9": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x5a4fb6532e3b16efc8ebc319c82ee3566a80a82fbc855ca208622126f58e2815": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x25b69ce9f1b08cb58e026e4b239dc79a056103fe9f8e2b065221de70bf8dac33": "0x0", + "0x2e3fdd5c270ae50c883acb210075b20b98c86828122aa27e398b22caca75fbe2": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x35b9935edfc3e609e9d9d5377e712e1918f4f7377ed529b30d05004af34ab91e": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x209d44255c5824b21f0f0f7621e497a4de53687bb5e5b5bc04c75ae3789c9471": "0x0", + "0x3082565ce98f649e9ab9374ea469e17e7cf7c1294d3e54cd685bdcabdfe5ae28": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x6785296897c8878291773aaea18e7823ccc79af2fa59756d6c2d81dff2f1ab51": "0x0", + "0x025c3b0e75a74f4272ef02a216a88d00186c1d1124f31daf0e673efb758427a3": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xf07a7d798c06e70699a6751aee2156bbb221cd3fa793e23d34e5a0aec6dca9a1": "0x0", + "0xfd305b9d97346f81060dc477a6b609dd9068368a5eb1240afcbe423114eda2fe": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xd3e25484c8f9bc50713f86b98b2003d82c86cc0bcfb8f90ed9c227800d2970c2": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0xd9d8436d858ef78c2f1e12b90426600cc894c3830068405c9a00f9dbaa01d9ef": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x4c8795fd1c42a18a1ca97d2ec4fd580eef11c38c9c87ccc2d43dfb79b5fb11cc": "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2", + "0x7a50023ebc32178885d6ca3288933b10c6270495bbbee14841573cfa199fc2c0": "0x64636fd40acdfc5c2f78", + "0x564cc8fc0e28c761e1deae3c27fedd7b8734003a98a33f7742f60b0280660431": "0x0" + }, + "code_usage": { + "read": "0xc278c52bfa7fa467d3dcbf8b92476b8aa4ed5d63c9a69677a3b2592d7824d01d" + } + }, + "0xb4dfd420a6982be95f27fb9b1ec0c374690ebec2": { + "balance": "0x27674bfc02b01f", + "nonce": "0xb3" + }, + "0x1891dcfbc9495c644351ffce49db0ba34af05035": { + "code_usage": { + "read": "0xf2d330be1807779c36d888b85a73582c6996951f8620d6ce0171ca4532855955" + } + }, + "0x6dff25259e86f51e8b895996a7c0963ed13a0daa": { + "code_usage": { + "read": "0xb2267ef4a508a44208899e215ea9b1a6efda0d0db66338016161825760a8e82c" + } + }, + "0xe6cd4727a1058e6973e973986d0493f1e7975ef8": { + "storage_read": [ + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x00000000000000000000000000000000000000000000000000000000000000bf", + "0x00000000000000000000000000000000000000000000000000000000000000c5" + ], "code_usage": { - "read": "0xba01211d10b6119b0dd1f3d468ed31f2ab17f775869cc5d8a5d9d0254d910d01" + "read": "0xb4773a6dd9fb406e287fa0249f953cb81793e12233532e42709226789b0a312c" } }, - "0x01b464bc83f09e13c0ab218692ad09f971d88608": { + "0xae2461a7c635d9f7573a971bc5ef79d4111f1fc2": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000003" ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de700000029301f4b5b1183913ce699000000000002564189030550365b", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x3d9a8d8c1f088fecc8dc0dac0ae8", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x354688eb02ce6fc8135fa482c9163c365399d78" - }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0x2847a8e185e8cd00483324495f4dc73b4ecd96958d9c7ac124e88b64c64e77c1" + } + }, + "0xf6a03dcd27a4e3a2e2173e8521667f75da05f2b0": { + "code_usage": { + "read": "0xc1dc73c09d7885c0377cca825c1ad616ad60c40c3960c8d2797973151d09abd4" } } }, "meta": { - "byte_code": "0x02f9019c010b830f42408507e81e7c948303294194def1c0ded9bec7f1a1670819833240f027b25eff8743a551ef12a131b90128d9627aa400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000043a551ef12a131000000000000000000000000000000000000000000000481839176a90806771000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000f2dfdbe1ea71bbdcb5a4662a16dbf5e487be3ebe869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000b757b6c588317f35efb46c81af066794c080a0f01ce818474d670bf24f4b849973ccdec8f9d66400f94a61a42f5abb577badc8a018f7d2ee7efce6c3f666717744832b3a5739cb896843eb6862bed28e2d89d667", - "new_txn_trie_node_byte": "0x02f9019c010b830f42408507e81e7c948303294194def1c0ded9bec7f1a1670819833240f027b25eff8743a551ef12a131b90128d9627aa400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000043a551ef12a131000000000000000000000000000000000000000000000481839176a90806771000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000f2dfdbe1ea71bbdcb5a4662a16dbf5e487be3ebe869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000b757b6c588317f35efb46c81af066794c080a0f01ce818474d670bf24f4b849973ccdec8f9d66400f94a61a42f5abb577badc8a018f7d2ee7efce6c3f666717744832b3a5739cb896843eb6862bed28e2d89d667", - "new_receipt_trie_node_byte": "0xb904db02f904d70183b3b360b9010000200000080000000000002080000000000000000000000000000000000000000000000010040000000001000000000002000000080000000002000000000000000000000000002000000008008000200000000000000000000000408000000000400000000000000000000000000040000000000000100000000110000000000000000000000000000000000000000000000401000000080000004000000000000000008000000000004000000000000000000008000000000000000000000000000002000000000000000000000000000000000000001000000000000000000000200000000000000000000000000000000000080000400000000000000000f903ccf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa00000000000000000000000000000000000000000000000000043a551ef12a131f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa000000000000000000000000001b464bc83f09e13c0ab218692ad09f971d88608a00000000000000000000000000000000000000000000000000043a551ef12a131f89b94f2dfdbe1ea71bbdcb5a4662a16dbf5e487be3ebef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000001b464bc83f09e13c0ab218692ad09f971d88608a0000000000000000000000000f2dfdbe1ea71bbdcb5a4662a16dbf5e487be3ebea000000000000000000000000000000000000000000000003b75a091fe28013b32f89b94f2dfdbe1ea71bbdcb5a4662a16dbf5e487be3ebef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000001b464bc83f09e13c0ab218692ad09f971d88608a00000000000000000000000007ef5426ae9d85d9762950605fb18c13f063084afa0000000000000000000000000000000000000000000000469baead5dcf81764bcf8799401b464bc83f09e13c0ab218692ad09f971d88608e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000002564189030550365b00000000000000000000000000000000000000000029301f4b5b1183913ce699f8fc9401b464bc83f09e13c0ab218692ad09f971d88608f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa00000000000000000000000007ef5426ae9d85d9762950605fb18c13f063084afb8800000000000000000000000000000000000000000000000000043a551ef12a131000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a5308b67db20189fee", - "gas_used": 166542 + "byte_code": "0x02f90d920181b2830ded2185016ff249a48335f58194ae2461a7c635d9f7573a971bc5ef79d4111f1fc280b90d24b749b226000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000001e970b00000000000000000000000000000000000000000000000000000000001e970c00000000000000000000000000000000000000000000000000000000001e970e00000000000000000000000000000000000000000000000000000000001e974000000000000000000000000000000000000000000000000000000000001e974500000000000000000000000000000000000000000000000000000000001e974600000000000000000000000000000000000000000000000000000000001e974700000000000000000000000000000000000000000000000000000000001e977900000000000000000000000000000000000000000000000000000000001e977c00000000000000000000000000000000000000000000000000000000001e979700000000000000000000000000000000000000000000000000000000001e97a200000000000000000000000000000000000000000000000000000000001e97bb00000000000000000000000000000000000000000000000000000000001e980400000000000000000000000000000000000000000000000000000000001e980500000000000000000000000000000000000000000000000000000000001e980900000000000000000000000000000000000000000000000000000000001e983600000000000000000000000000000000000000000000000000000000001e983700000000000000000000000000000000000000000000000000000000001e983800000000000000000000000000000000000000000000000000000000001e986e00000000000000000000000000000000000000000000000000000000001e987000000000000000000000000000000000000000000000000000000000001e987100000000000000000000000000000000000000000000000000000000001e98c500000000000000000000000000000000000000000000000000000000001e98fa00000000000000000000000000000000000000000000000000000000001e995600000000000000000000000000000000000000000000000000000000001e99a500000000000000000000000000000000000000000000000000000000001e99bc00000000000000000000000000000000000000000000000000000000001e99bf00000000000000000000000000000000000000000000000000000000001e99d900000000000000000000000000000000000000000000000000000000001e99ee00000000000000000000000000000000000000000000000000000000001e9a1b00000000000000000000000000000000000000000000000000000000001e9a2000000000000000000000000000000000000000000000000000000000001e9a2300000000000000000000000000000000000000000000000000000000001e9a3500000000000000000000000000000000000000000000000000000000001e9a3700000000000000000000000000000000000000000000000000000000001e9a5000000000000000000000000000000000000000000000000000000000001e9a5c00000000000000000000000000000000000000000000000000000000001e9ae700000000000000000000000000000000000000000000000000000000001e9b0700000000000000000000000000000000000000000000000000000000001e9b1e00000000000000000000000000000000000000000000000000000000001e9b2e00000000000000000000000000000000000000000000000000000000001e9b3500000000000000000000000000000000000000000000000000000000001e9b4500000000000000000000000000000000000000000000000000000000001e9b5400000000000000000000000000000000000000000000000000000000001e9b5d00000000000000000000000000000000000000000000000000000000001e9ba600000000000000000000000000000000000000000000000000000000001e9bd000000000000000000000000000000000000000000000000000000000001e9bd300000000000000000000000000000000000000000000000000000000001e9c2c00000000000000000000000000000000000000000000000000000000001e9c4400000000000000000000000000000000000000000000000000000000001e9c5b00000000000000000000000000000000000000000000000000000000001e9c6300000000000000000000000000000000000000000000000000000000001e9c6600000000000000000000000000000000000000000000000000000000001e9c8800000000000000000000000000000000000000000000000000000000001e9cbb00000000000000000000000000000000000000000000000000000000001e9cd600000000000000000000000000000000000000000000000000000000001e9cd700000000000000000000000000000000000000000000000000000000001e9ced00000000000000000000000000000000000000000000000000000000001e9cef00000000000000000000000000000000000000000000000000000000001e9d0100000000000000000000000000000000000000000000000000000000001e9d3b00000000000000000000000000000000000000000000000000000000001e9d6300000000000000000000000000000000000000000000000000000000001e9d7a00000000000000000000000000000000000000000000000000000000001e9dd300000000000000000000000000000000000000000000000000000000001e9dde00000000000000000000000000000000000000000000000000000000001e9df200000000000000000000000000000000000000000000000000000000001e9e0200000000000000000000000000000000000000000000000000000000001e9e2f00000000000000000000000000000000000000000000000000000000001e9e5800000000000000000000000000000000000000000000000000000000001e9e9700000000000000000000000000000000000000000000000000000000001e9ea000000000000000000000000000000000000000000000000000000000001e9ea400000000000000000000000000000000000000000000000000000000001e9ea600000000000000000000000000000000000000000000000000000000001e9eb900000000000000000000000000000000000000000000000000000000001e9f0f00000000000000000000000000000000000000000000000000000000001e9f1300000000000000000000000000000000000000000000000000000000001e9f1800000000000000000000000000000000000000000000000000000000001e9f4100000000000000000000000000000000000000000000000000000000001e9f5500000000000000000000000000000000000000000000000000000000001e9f5b00000000000000000000000000000000000000000000000000000000001e9faa00000000000000000000000000000000000000000000000000000000001e9fb700000000000000000000000000000000000000000000000000000000001ea00c00000000000000000000000000000000000000000000000000000000001ea02500000000000000000000000000000000000000000000000000000000001ea02d00000000000000000000000000000000000000000000000000000000001ea04f00000000000000000000000000000000000000000000000000000000001ea0c400000000000000000000000000000000000000000000000000000000001ea0db00000000000000000000000000000000000000000000000000000000001ea0ed00000000000000000000000000000000000000000000000000000000001ea11500000000000000000000000000000000000000000000000000000000001ea12e00000000000000000000000000000000000000000000000000000000001ea13800000000000000000000000000000000000000000000000000000000001ea1e100000000000000000000000000000000000000000000000000000000001ea23b00000000000000000000000000000000000000000000000000000000001ea24700000000000000000000000000000000000000000000000000000000001ea25f00000000000000000000000000000000000000000000000000000000001ea26300000000000000000000000000000000000000000000000000000000001ea27300000000000000000000000000000000000000000000000000000000001ea29d00000000000000000000000000000000000000000000000000000000001ea2bb00000000000000000000000000000000000000000000000000000000001ea2bc0000000000000000000000000000000000000000000000000000000000000000c001a02a5090945e094ed8559b9c8f950d7fac4f4027a874d7d185a16f0a4cf585f22da0019f1025fd70188e2eae516c14679b98830816433dc517ff2be07da8c423cf3d", + "new_txn_trie_node_byte": "0x02f90d920181b2830ded2185016ff249a48335f58194ae2461a7c635d9f7573a971bc5ef79d4111f1fc280b90d24b749b226000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000001e970b00000000000000000000000000000000000000000000000000000000001e970c00000000000000000000000000000000000000000000000000000000001e970e00000000000000000000000000000000000000000000000000000000001e974000000000000000000000000000000000000000000000000000000000001e974500000000000000000000000000000000000000000000000000000000001e974600000000000000000000000000000000000000000000000000000000001e974700000000000000000000000000000000000000000000000000000000001e977900000000000000000000000000000000000000000000000000000000001e977c00000000000000000000000000000000000000000000000000000000001e979700000000000000000000000000000000000000000000000000000000001e97a200000000000000000000000000000000000000000000000000000000001e97bb00000000000000000000000000000000000000000000000000000000001e980400000000000000000000000000000000000000000000000000000000001e980500000000000000000000000000000000000000000000000000000000001e980900000000000000000000000000000000000000000000000000000000001e983600000000000000000000000000000000000000000000000000000000001e983700000000000000000000000000000000000000000000000000000000001e983800000000000000000000000000000000000000000000000000000000001e986e00000000000000000000000000000000000000000000000000000000001e987000000000000000000000000000000000000000000000000000000000001e987100000000000000000000000000000000000000000000000000000000001e98c500000000000000000000000000000000000000000000000000000000001e98fa00000000000000000000000000000000000000000000000000000000001e995600000000000000000000000000000000000000000000000000000000001e99a500000000000000000000000000000000000000000000000000000000001e99bc00000000000000000000000000000000000000000000000000000000001e99bf00000000000000000000000000000000000000000000000000000000001e99d900000000000000000000000000000000000000000000000000000000001e99ee00000000000000000000000000000000000000000000000000000000001e9a1b00000000000000000000000000000000000000000000000000000000001e9a2000000000000000000000000000000000000000000000000000000000001e9a2300000000000000000000000000000000000000000000000000000000001e9a3500000000000000000000000000000000000000000000000000000000001e9a3700000000000000000000000000000000000000000000000000000000001e9a5000000000000000000000000000000000000000000000000000000000001e9a5c00000000000000000000000000000000000000000000000000000000001e9ae700000000000000000000000000000000000000000000000000000000001e9b0700000000000000000000000000000000000000000000000000000000001e9b1e00000000000000000000000000000000000000000000000000000000001e9b2e00000000000000000000000000000000000000000000000000000000001e9b3500000000000000000000000000000000000000000000000000000000001e9b4500000000000000000000000000000000000000000000000000000000001e9b5400000000000000000000000000000000000000000000000000000000001e9b5d00000000000000000000000000000000000000000000000000000000001e9ba600000000000000000000000000000000000000000000000000000000001e9bd000000000000000000000000000000000000000000000000000000000001e9bd300000000000000000000000000000000000000000000000000000000001e9c2c00000000000000000000000000000000000000000000000000000000001e9c4400000000000000000000000000000000000000000000000000000000001e9c5b00000000000000000000000000000000000000000000000000000000001e9c6300000000000000000000000000000000000000000000000000000000001e9c6600000000000000000000000000000000000000000000000000000000001e9c8800000000000000000000000000000000000000000000000000000000001e9cbb00000000000000000000000000000000000000000000000000000000001e9cd600000000000000000000000000000000000000000000000000000000001e9cd700000000000000000000000000000000000000000000000000000000001e9ced00000000000000000000000000000000000000000000000000000000001e9cef00000000000000000000000000000000000000000000000000000000001e9d0100000000000000000000000000000000000000000000000000000000001e9d3b00000000000000000000000000000000000000000000000000000000001e9d6300000000000000000000000000000000000000000000000000000000001e9d7a00000000000000000000000000000000000000000000000000000000001e9dd300000000000000000000000000000000000000000000000000000000001e9dde00000000000000000000000000000000000000000000000000000000001e9df200000000000000000000000000000000000000000000000000000000001e9e0200000000000000000000000000000000000000000000000000000000001e9e2f00000000000000000000000000000000000000000000000000000000001e9e5800000000000000000000000000000000000000000000000000000000001e9e9700000000000000000000000000000000000000000000000000000000001e9ea000000000000000000000000000000000000000000000000000000000001e9ea400000000000000000000000000000000000000000000000000000000001e9ea600000000000000000000000000000000000000000000000000000000001e9eb900000000000000000000000000000000000000000000000000000000001e9f0f00000000000000000000000000000000000000000000000000000000001e9f1300000000000000000000000000000000000000000000000000000000001e9f1800000000000000000000000000000000000000000000000000000000001e9f4100000000000000000000000000000000000000000000000000000000001e9f5500000000000000000000000000000000000000000000000000000000001e9f5b00000000000000000000000000000000000000000000000000000000001e9faa00000000000000000000000000000000000000000000000000000000001e9fb700000000000000000000000000000000000000000000000000000000001ea00c00000000000000000000000000000000000000000000000000000000001ea02500000000000000000000000000000000000000000000000000000000001ea02d00000000000000000000000000000000000000000000000000000000001ea04f00000000000000000000000000000000000000000000000000000000001ea0c400000000000000000000000000000000000000000000000000000000001ea0db00000000000000000000000000000000000000000000000000000000001ea0ed00000000000000000000000000000000000000000000000000000000001ea11500000000000000000000000000000000000000000000000000000000001ea12e00000000000000000000000000000000000000000000000000000000001ea13800000000000000000000000000000000000000000000000000000000001ea1e100000000000000000000000000000000000000000000000000000000001ea23b00000000000000000000000000000000000000000000000000000000001ea24700000000000000000000000000000000000000000000000000000000001ea25f00000000000000000000000000000000000000000000000000000000001ea26300000000000000000000000000000000000000000000000000000000001ea27300000000000000000000000000000000000000000000000000000000001ea29d00000000000000000000000000000000000000000000000000000000001ea2bb00000000000000000000000000000000000000000000000000000000001ea2bc0000000000000000000000000000000000000000000000000000000000000000c001a02a5090945e094ed8559b9c8f950d7fac4f4027a874d7d185a16f0a4cf585f22da0019f1025fd70188e2eae516c14679b98830816433dc517ff2be07da8c423cf3d", + "new_receipt_trie_node_byte": "0xb98b7902f98b750184012b6d1db901001410200200b003201c0004022504200081001500810c0004106000000100500048014800000000000204000404000220410129088860c540200342430060001202002002400000000424c0985400841000020001009100203100000000000000200601821222200004a12400015a0840640040122000088c011400962087020000002820001000040004408910600002000840000009002000081001400022203a04a41102980214000100411042000a2204000000021000090700201419120910500802081024200052080001004031100010810000011003400054e00020800018600000000000c3480100248a2040110c00142880102c4008c44120214020f98a69f89b945b1d655c93185b06b00f7925791106132cb3ad75f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a00000000000000000000000000000000000000000000000000000000000000000f89b945b1d655c93185b06b00f7925791106132cb3ad75f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a00000000000000000000000000000000000000000000000000000000000000000f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e970b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e970b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e970c80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e970c80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e970e80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e970e80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e974080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e974080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e974580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e974580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e974680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e974680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e974780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e974780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e977980f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e977980f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e977c80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e977c80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e979780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e979780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e97a280f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e97a280f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e97bb80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e97bb80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e980480f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e980480f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e980580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e980580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e980980f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e980980f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e983680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e983680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e983780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e983780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e983880f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e983880f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e986e80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e986e80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e987080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e987080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e987180f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e987180f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e98c580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e98c580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e98fa80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e98fa80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e995680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e995680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e99a580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e99a580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e99bc80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e99bc80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e99bf80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e99bf80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e99d980f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e99d980f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e99ee80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e99ee80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9a1b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9a1b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9a2080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9a2080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9a2380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9a2380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9a3580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9a3580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9a3780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9a3780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9a5080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9a5080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9a5c80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9a5c80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9ae780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9ae780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9b0780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9b0780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9b1e80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9b1e80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9b2e80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9b2e80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9b3580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9b3580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9b4580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9b4580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9b5480f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9b5480f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9b5d80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9b5d80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9ba680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9ba680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9bd080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9bd080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9bd380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9bd380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9c2c80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9c2c80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9c4480f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9c4480f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9c5b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9c5b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9c6380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9c6380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9c6680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9c6680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9c8880f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9c8880f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9cbb80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9cbb80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9cd680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9cd680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9cd780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9cd780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9ced80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9ced80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9cef80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9cef80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9d0180f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9d0180f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9d3b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9d3b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9d6380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9d6380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9d7a80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9d7a80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9dd380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9dd380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9dde80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9dde80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9df280f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9df280f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9e0280f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9e0280f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9e2f80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9e2f80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9e5880f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9e5880f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9e9780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9e9780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9ea080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9ea080f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9ea480f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9ea480f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9ea680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9ea680f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9eb980f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9eb980f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9f0f80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9f0f80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9f1380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9f1380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9f1880f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9f1880f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9f4180f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9f4180f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9f5580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9f5580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9f5b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9f5b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9faa80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9faa80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001e9fb780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001e9fb780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea00c80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea00c80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea02580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea02580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea02d80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea02d80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea04f80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea04f80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea0c480f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea0c480f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea0db80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea0db80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea0ed80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea0ed80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea11580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea11580f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea12e80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea12e80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea13880f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea13880f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea1e180f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea1e180f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea23b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea23b80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea24780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea24780f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea25f80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea25f80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea26380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea26380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea27380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea27380f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea29d80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea29d80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea2bb80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea2bb80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000001ea2bc80f89c949ebab3b21b5ef5709bd476b022fc432fc84c0e86f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2a0000000000000000000000000ae2461a7c635d9f7573a971bc5ef79d4111f1fc2a000000000000000000000000000000000000000000000000000000000001ea2bc80f90dbc94ae2461a7c635d9f7573a971bc5ef79d4111f1fc2f842a0e8ceec8781b714d1c02f481f18c09bcbb894bcfdb4f7ad713c81633d209e9d96a0000000000000000000000000b4dfd420a6982be95f27fb9b1ec0c374690ebec2b90d60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000d200000000000000000000000000000000000000000000000000000000000000d40000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000001e970b00000000000000000000000000000000000000000000000000000000001e970c00000000000000000000000000000000000000000000000000000000001e970e00000000000000000000000000000000000000000000000000000000001e974000000000000000000000000000000000000000000000000000000000001e974500000000000000000000000000000000000000000000000000000000001e974600000000000000000000000000000000000000000000000000000000001e974700000000000000000000000000000000000000000000000000000000001e977900000000000000000000000000000000000000000000000000000000001e977c00000000000000000000000000000000000000000000000000000000001e979700000000000000000000000000000000000000000000000000000000001e97a200000000000000000000000000000000000000000000000000000000001e97bb00000000000000000000000000000000000000000000000000000000001e980400000000000000000000000000000000000000000000000000000000001e980500000000000000000000000000000000000000000000000000000000001e980900000000000000000000000000000000000000000000000000000000001e983600000000000000000000000000000000000000000000000000000000001e983700000000000000000000000000000000000000000000000000000000001e983800000000000000000000000000000000000000000000000000000000001e986e00000000000000000000000000000000000000000000000000000000001e987000000000000000000000000000000000000000000000000000000000001e987100000000000000000000000000000000000000000000000000000000001e98c500000000000000000000000000000000000000000000000000000000001e98fa00000000000000000000000000000000000000000000000000000000001e995600000000000000000000000000000000000000000000000000000000001e99a500000000000000000000000000000000000000000000000000000000001e99bc00000000000000000000000000000000000000000000000000000000001e99bf00000000000000000000000000000000000000000000000000000000001e99d900000000000000000000000000000000000000000000000000000000001e99ee00000000000000000000000000000000000000000000000000000000001e9a1b00000000000000000000000000000000000000000000000000000000001e9a2000000000000000000000000000000000000000000000000000000000001e9a2300000000000000000000000000000000000000000000000000000000001e9a3500000000000000000000000000000000000000000000000000000000001e9a3700000000000000000000000000000000000000000000000000000000001e9a5000000000000000000000000000000000000000000000000000000000001e9a5c00000000000000000000000000000000000000000000000000000000001e9ae700000000000000000000000000000000000000000000000000000000001e9b0700000000000000000000000000000000000000000000000000000000001e9b1e00000000000000000000000000000000000000000000000000000000001e9b2e00000000000000000000000000000000000000000000000000000000001e9b3500000000000000000000000000000000000000000000000000000000001e9b4500000000000000000000000000000000000000000000000000000000001e9b5400000000000000000000000000000000000000000000000000000000001e9b5d00000000000000000000000000000000000000000000000000000000001e9ba600000000000000000000000000000000000000000000000000000000001e9bd000000000000000000000000000000000000000000000000000000000001e9bd300000000000000000000000000000000000000000000000000000000001e9c2c00000000000000000000000000000000000000000000000000000000001e9c4400000000000000000000000000000000000000000000000000000000001e9c5b00000000000000000000000000000000000000000000000000000000001e9c6300000000000000000000000000000000000000000000000000000000001e9c6600000000000000000000000000000000000000000000000000000000001e9c8800000000000000000000000000000000000000000000000000000000001e9cbb00000000000000000000000000000000000000000000000000000000001e9cd600000000000000000000000000000000000000000000000000000000001e9cd700000000000000000000000000000000000000000000000000000000001e9ced00000000000000000000000000000000000000000000000000000000001e9cef00000000000000000000000000000000000000000000000000000000001e9d0100000000000000000000000000000000000000000000000000000000001e9d3b00000000000000000000000000000000000000000000000000000000001e9d6300000000000000000000000000000000000000000000000000000000001e9d7a00000000000000000000000000000000000000000000000000000000001e9dd300000000000000000000000000000000000000000000000000000000001e9dde00000000000000000000000000000000000000000000000000000000001e9df200000000000000000000000000000000000000000000000000000000001e9e0200000000000000000000000000000000000000000000000000000000001e9e2f00000000000000000000000000000000000000000000000000000000001e9e5800000000000000000000000000000000000000000000000000000000001e9e9700000000000000000000000000000000000000000000000000000000001e9ea000000000000000000000000000000000000000000000000000000000001e9ea400000000000000000000000000000000000000000000000000000000001e9ea600000000000000000000000000000000000000000000000000000000001e9eb900000000000000000000000000000000000000000000000000000000001e9f0f00000000000000000000000000000000000000000000000000000000001e9f1300000000000000000000000000000000000000000000000000000000001e9f1800000000000000000000000000000000000000000000000000000000001e9f4100000000000000000000000000000000000000000000000000000000001e9f5500000000000000000000000000000000000000000000000000000000001e9f5b00000000000000000000000000000000000000000000000000000000001e9faa00000000000000000000000000000000000000000000000000000000001e9fb700000000000000000000000000000000000000000000000000000000001ea00c00000000000000000000000000000000000000000000000000000000001ea02500000000000000000000000000000000000000000000000000000000001ea02d00000000000000000000000000000000000000000000000000000000001ea04f00000000000000000000000000000000000000000000000000000000001ea0c400000000000000000000000000000000000000000000000000000000001ea0db00000000000000000000000000000000000000000000000000000000001ea0ed00000000000000000000000000000000000000000000000000000000001ea11500000000000000000000000000000000000000000000000000000000001ea12e00000000000000000000000000000000000000000000000000000000001ea13800000000000000000000000000000000000000000000000000000000001ea1e100000000000000000000000000000000000000000000000000000000001ea23b00000000000000000000000000000000000000000000000000000000001ea24700000000000000000000000000000000000000000000000000000000001ea25f00000000000000000000000000000000000000000000000000000000001ea26300000000000000000000000000000000000000000000000000000000001ea27300000000000000000000000000000000000000000000000000000000001ea29d00000000000000000000000000000000000000000000000000000000001ea2bb00000000000000000000000000000000000000000000000000000000001ea2bc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 2318369 } }, { "traces": { - "0xe3dbc4f88eaa632ddf9708732e2832eeaa6688ab": { + "0x2e1a7ef12d0adeebf6009f0aa964cf686364b01f": { "storage_read": [ - "0xc79cb08ee33d3acd3897b598c590aef0f2e8705cc6eded550056c267a49b45a1", - "0x0f06ccaf7b8b7c6d14dbbb9f392dacc965f09b8b7d170718d217f1b598318693" + "0x0000000000000000000000000000000000000000000000000000000000000066", + "0x8c41898f12f4dca5e71b9138fd1b8b494ae25579a599805c7e4d583bf0651901", + "0x0000000000000000000000000000000000000000000000000000000000000069", + "0x0000000000000000000000000000000000000000000000000000000000000068", + "0x0000000000000000000000000000000000000000000000000000000000000067", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x2e898be671a31b45694cceeb7f8d0af98e461c016e0013953ed7be4c56bdb429" ], "storage_written": { - "0xc79cb08ee33d3acd3897b598c590aef0f2e8705cc6eded550056c267a49b45a1": "0x53a868a9987b2bac4", - "0x0f06ccaf7b8b7c6d14dbbb9f392dacc965f09b8b7d170718d217f1b598318693": "0x4c2b95c6af1995fd" + "0x2e898be671a31b45694cceeb7f8d0af98e461c016e0013953ed7be4c56bdb429": "0x210392a16134e40000" }, "code_usage": { - "read": "0xcd122f94d3d3227b3a26254bde2ab260b413a1b0945930785d0539ef0cfe1c44" - } - }, - "0x981912876dd950a9efb46d8cb06f0f4a80d501e3": { - "balance": "0x711499ea1a172ae", - "nonce": "0x26f" - }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, + "read": "0x3c6cd9ebe038764d4033e311b3441dff706b432b3a2ee55c9615e61b7a560e50" + } + }, + "0xc76b81d835a6ef88fb9b841c22ed492473577ac3": { "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0x75d73760046f79d563c2a436e415d53e59d92ce10bad71c98fe61cdd6676ee25" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621c4581eae37b" + "0xe75d6a885a49ca51f9faa550c4449cf854b2aa51": { + "balance": "0x3c44aeb274a123", + "nonce": "0xa" }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x29869504d564b581a1262", + "0x3b50805453023a91a8bf641e279401a0b23fa6f9": { "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0xd652d43b244baa4044b8376122fb82fe57b0e531cccc6795fa408c6cd6004afb" + "0x0050dcbf92b68df7711e957bd2e36673c0e856fa0555bfa8f4a0391a64ec78f5", + "0x98c6e10ec821fd6f01c392ef493a83bd1fb0b6113159e69e8f153a0dc2993ed1", + "0xa7811d681cbaf5b2536a9ce029df0f79b11968810d900e65aae4ae01df9215ed", + "0xb6116a5b3caf0bb9fca06220cc34fb9b2e3639225c74d343494e9e464370564b" ], "storage_written": { - "0xd652d43b244baa4044b8376122fb82fe57b0e531cccc6795fa408c6cd6004afb": "0x9368bddb00b9cabb", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" + "0xa7811d681cbaf5b2536a9ce029df0f79b11968810d900e65aae4ae01df9215ed": "0xe2d901ad1b031de0f00000", + "0xb6116a5b3caf0bb9fca06220cc34fb9b2e3639225c74d343494e9e464370564b": "0x210392a16134e40000" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xf4f29958e527ecb18d30d8151f0f5a73b3db277a6ff3ca8dc2419eeff9e546d1" } }, - "0xbefdaf0d0e12e72a71484d72425ff741174462d8": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8", - "0x0000000000000000000000000000000000000000000000000000000000000008" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x100000000000000000001761eb7b6438e916783a4000000a3a6aa8065cf5de7", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000003bba000000000000000225df017ec008661c91155f36", - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x18dc20a9759111886626ea62f896fcd8" - }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4c95b9e58d67" + }, + "0xb7486b5bd2d14714950b082eafebe9822a1d96ee": { "code_usage": { - "read": "0x6d419197049613d6f89fc21f68479fa907ba197fbcd2c45284b6a881151bfc56" + "read": "0x479f7d30cd968a40b9d56a3ad86a3cc6bddfadbbef38c595aa098866725d9c44" } } }, "meta": { - "byte_code": "0x02f902fb0182026e830f42408508578a08788302cd4c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8810a741a462780000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf600f00000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000010a741a462780000000000000000000000000000000000000000000000000000473940702ff8433100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710e3dbc4f88eaa632ddf9708732e2832eeaa6688ab000000000000000000000000000000000000000000c080a0a4634bff155076bd6f81da4ce78920060cd80aac6933160e9fc394a7eeec1b9ca067d0d005b982dd77a83fb9a9914382ea30912c639fab8d92cd054087001ff592", - "new_txn_trie_node_byte": "0x02f902fb0182026e830f42408508578a08788302cd4c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8810a741a462780000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf600f00000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000010a741a4627800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000010a741a462780000000000000000000000000000000000000000000000000000473940702ff8433100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710e3dbc4f88eaa632ddf9708732e2832eeaa6688ab000000000000000000000000000000000000000000c080a0a4634bff155076bd6f81da4ce78920060cd80aac6933160e9fc394a7eeec1b9ca067d0d005b982dd77a83fb9a9914382ea30912c639fab8d92cd054087001ff592", - "new_receipt_trie_node_byte": "0xb903e402f903e00183b5b401b9010000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000080020000000000000000000000000080000000800000008000020000000000000000000000000008020000000000000000000000000000000000000000000000000000001000010000800000000000000000000000000000000000100000001000000000000400000000000000000000000000000000000000020000000000000000400008800000000000000000002000000000000000000000000000000000000000000000040000000000000200000000000000000010000000000001000000000400000000000000000f902d5f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000010a741a462780000f89b94e3dbc4f88eaa632ddf9708732e2832eeaa6688abf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000befdaf0d0e12e72a71484d72425ff741174462d8a0000000000000000000000000981912876dd950a9efb46d8cb06f0f4a80d501e3a00000000000000000000000000000000000000000000000004c2b95c6af1995fdf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000befdaf0d0e12e72a71484d72425ff741174462d8a000000000000000000000000000000000000000000000000010a741a462780000f9011c94befdaf0d0e12e72a71484d72425ff741174462d8f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000981912876dd950a9efb46d8cb06f0f4a80d501e3b8a000000000000000000000000000000000000000000000000010a741a462780000ffffffffffffffffffffffffffffffffffffffffffffffffb3d46a3950e66a03000000000000000000000000000000000000000225df017ec008661c91155f36000000000000000000000000000000000000000000000063116f7e327336394a0000000000000000000000000000000000000000000000000000000000003bba", - "gas_used": 131233 + "byte_code": "0x02f904f10109830ded21850182487e228302f820942e1a7ef12d0adeebf6009f0aa964cf686364b01f80b904848132b32100000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e75d6a885a49ca51f9faa550c4449cf854b2aa5100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000210392a16134e4000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000210392a16134e400000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006630cf3000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011fdf4bc525f8880ce63dd2e1bc579bb147f6a9a74d505fbd9897ab6cfa0ef6a0981d277b6060762cb4bae9d811e6b9d5970a673ee098eb50cf2edae096f0379559f711ebe005b4b366307e7671abcc94bdc43d7205eff0e4242b83e9d29df0a19a30a3832fc4fadc6a14028788b5b98f59305d58dd436ae72b3a86099710c5f535949fbfbca887ccaacb2922916f6f80606d60a1acbe6bc31b7b6378540c0c91b0a99a58a764efb413f27d6078e714898a3068bc461d5e00ae649819a32823c6083092485981202debb2ed4087140b65138d6c11aa2c3cbe4afa44e2964b16ea3101dface4c9440114916690e258d3759300b27a80e6deeb447420a2104c36cd6248b3b4328b146ad66061efa419fb348e2f8ec23a3357a0264cb04690b6dd0d128fb12a3fca8929195ac70f115daa16605815a49484a290bc2eb817d66a7edb838c1c5ada6025b22e27223311ab5839b9654cfa2367f7fcb79caf3e7b5eaffa79bd45cf07331a92f592e443cda274376b60d34a8bb78c54e89815ad6ff2b1641edfa3ff71ec03769cdc7c07e6927f7b8b79a3815290d838ad43bc07e74c955a65fd231d5fede17126fbd50561261c0748624a31c3b63dd63d632e08badd780afce4d2a040a842057deed9fc982c23a70420b0ac48913e8de8157980b280c7dd709755d5c9709cc9a9018bec197e954cc27bd9553289ca11f732c2547d4d779b47ef766aa0d96868121922db1ef79d02cfde65a8453719faaa94af11ce9091f4ec001a0c65810fe53e738be78aa3344ad5210d2a1ea6c1dd1806040e7550f766aa88962a02af02e847c7c7c3af5c896b34fc0ddc119de6ca566121b996da5fa2c6564e90c", + "new_txn_trie_node_byte": "0x02f904f10109830ded21850182487e228302f820942e1a7ef12d0adeebf6009f0aa964cf686364b01f80b904848132b32100000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000e75d6a885a49ca51f9faa550c4449cf854b2aa5100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000210392a16134e4000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000210392a16134e400000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006630cf3000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011fdf4bc525f8880ce63dd2e1bc579bb147f6a9a74d505fbd9897ab6cfa0ef6a0981d277b6060762cb4bae9d811e6b9d5970a673ee098eb50cf2edae096f0379559f711ebe005b4b366307e7671abcc94bdc43d7205eff0e4242b83e9d29df0a19a30a3832fc4fadc6a14028788b5b98f59305d58dd436ae72b3a86099710c5f535949fbfbca887ccaacb2922916f6f80606d60a1acbe6bc31b7b6378540c0c91b0a99a58a764efb413f27d6078e714898a3068bc461d5e00ae649819a32823c6083092485981202debb2ed4087140b65138d6c11aa2c3cbe4afa44e2964b16ea3101dface4c9440114916690e258d3759300b27a80e6deeb447420a2104c36cd6248b3b4328b146ad66061efa419fb348e2f8ec23a3357a0264cb04690b6dd0d128fb12a3fca8929195ac70f115daa16605815a49484a290bc2eb817d66a7edb838c1c5ada6025b22e27223311ab5839b9654cfa2367f7fcb79caf3e7b5eaffa79bd45cf07331a92f592e443cda274376b60d34a8bb78c54e89815ad6ff2b1641edfa3ff71ec03769cdc7c07e6927f7b8b79a3815290d838ad43bc07e74c955a65fd231d5fede17126fbd50561261c0748624a31c3b63dd63d632e08badd780afce4d2a040a842057deed9fc982c23a70420b0ac48913e8de8157980b280c7dd709755d5c9709cc9a9018bec197e954cc27bd9553289ca11f732c2547d4d779b47ef766aa0d96868121922db1ef79d02cfde65a8453719faaa94af11ce9091f4ec001a0c65810fe53e738be78aa3344ad5210d2a1ea6c1dd1806040e7550f766aa88962a02af02e847c7c7c3af5c896b34fc0ddc119de6ca566121b996da5fa2c6564e90c", + "new_receipt_trie_node_byte": "0xb902aa02f902a60184012d5f59b9010000000001000000000000000000000100000400000000000000000000000000000001000000000000000000000000000000000000000000000000000200000000001000000000000000200008004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000020000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000002000000000000000000000000000000000000000000000000000000000000001000000000000000000000000008200000020000000000000000000000f9019af89b943b50805453023a91a8bf641e279401a0b23fa6f9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002e1a7ef12d0adeebf6009f0aa964cf686364b01fa0000000000000000000000000e75d6a885a49ca51f9faa550c4449cf854b2aa51a00000000000000000000000000000000000000000000000210392a16134e40000f8fb942e1a7ef12d0adeebf6009f0aa964cf686364b01ff842a09c91da9f102663943dfb86d851c76de06c2fe178d18a58e45dd7a9cbeea0bb35a0000000000000000000000000e75d6a885a49ca51f9faa550c4449cf854b2aa51b8a00000000000000000000000000000000000000000000000210392a16134e40000000000000000000000000000000000000000000000000000000000006630cf30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000210392a16134e40000", + "gas_used": 127548 } }, { "traces": { - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x29869509e1faf50a556c8", + "0x0e3efd5be54cc0f4c64e0d186b0af4b7f2a0e95f": { "storage_read": [ - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e", - "0x05f1bcad1cac8f3a5f43f7a4d5208465363879e07a09a7fb7b70b3f007d5b521" + "0x75f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x75f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d5", + "0x75f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d4", + "0xe7839a6dfa976edbcc490cc01e3f5a94931b851c7f49ee028391130b6ae53af7" ], "storage_written": { - "0x05f1bcad1cac8f3a5f43f7a4d5208465363879e07a09a7fb7b70b3f007d5b521": "0x167366a305129093", - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e": "0x1" + "0x75f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d3": "0x536cd89b5df03a0d19a4", + "0xe7839a6dfa976edbcc490cc01e3f5a94931b851c7f49ee028391130b6ae53af7": "0x0" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xeae58b9516add4215051405c506181e5f32525291c14b35485f046ab03fe2c57" } }, - "0xf9b30557afcf76ea82c04015d80057fa2147dfa9": { - "code_usage": { - "read": "0xba01211d10b6119b0dd1f3d468ed31f2ab17f775869cc5d8a5d9d0254d910d01" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4ca2661f65fc" }, - "0xdef1c0ded9bec7f1a1670819833240f027b25eff": { + "0xd96e3a99ef39904c0fc10da49f0bb166422220ac": { + "balance": "0x3053b8b4bdaf6d8", + "nonce": "0xa6" + }, + "0xde30da39c46104798bb5aa3fe8b9e0e1f348163f": { "storage_read": [ - "0x3a1eae4d9599b151de37596bc1e301e7833e536acda254c41c5aab51deef773d" + "0xe80359485e9210366a455e3ee72ad650e8d8e83d55ec14e69717c5b1757c1897", + "0x4312703c9c5362995e9c466def3fc989d4dc7ba5dbcaaf3167c5a2fee80900ce", + "0x8040fab06fc95808d9c8bdab999c5bcbeabfe5ae0fdbb675987f281cf67e61c4", + "0x697bcf2779ac0b7327f8b088856f1aa9ed05330be5789530071bd3bb338fc7be" ], + "storage_written": { + "0xe80359485e9210366a455e3ee72ad650e8d8e83d55ec14e69717c5b1757c1897": "0x16199479403fa2d4da8c9", + "0x4312703c9c5362995e9c466def3fc989d4dc7ba5dbcaaf3167c5a2fee80900ce": "0x8ac7230489e80000" + }, "code_usage": { - "read": "0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e" + "read": "0x0fa4648872f92bdcce83ad2219a1d59011d5e198c4f86d7af97a2e65ff4f7c2d" } - }, - "0xfa405a40d3fe345e3d5e460c8d9da39ac0fb13bd": { + } + }, + "meta": { + "byte_code": "0x02f8b00181a5830ded21850182487e2282fce0940e3efd5be54cc0f4c64e0d186b0af4b7f2a0e95f80b8449e2c8a5b00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000004563918244f40000c080a082b863e4bf1e320787754a4066bead8e529ec2d1340b347d6d2c20007936435ca032e5d2890641a8a8f606199c89880d563a82613acb674c287e2e3da6d96ec004", + "new_txn_trie_node_byte": "0x02f8b00181a5830ded21850182487e2282fce0940e3efd5be54cc0f4c64e0d186b0af4b7f2a0e95f80b8449e2c8a5b00000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000004563918244f40000c080a082b863e4bf1e320787754a4066bead8e529ec2d1340b347d6d2c20007936435ca032e5d2890641a8a8f606199c89880d563a82613acb674c287e2e3da6d96ec004", + "new_receipt_trie_node_byte": "0xb9026802f902640184012e484eb9010000000001040000000000000000000000000000800000000000000000000000000000000000000000000000000000001000000000000000000000001000000400080000000000000000000008000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000010800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000002000000000000000000040000000000000000800000000000000000000c00000000000000000000000000000000000000000000000000000000040000f90158f89b94de30da39c46104798bb5aa3fe8b9e0e1f348163ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000e3efd5be54cc0f4c64e0d186b0af4b7f2a0e95fa0000000000000000000000000d96e3a99ef39904c0fc10da49f0bb166422220aca00000000000000000000000000000000000000000000000004563918244f40000f8b9940e3efd5be54cc0f4c64e0d186b0af4b7f2a0e95fe1a0dcf891885e788b94db6de05809e1c074e1396e919fa3ef010342de9dfbdd8361b8800000000000000000000000000000000000000000000000000000000000000003000000000000000000000000d96e3a99ef39904c0fc10da49f0bb166422220ac0000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 59637 + } + }, + { + "traces": { + "0x35f4817b14718c66dbbdba085f5f8d2c3a4aa420": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a" + "0x3dea0b19151aeafec914ed21a65e06304978bfcfcb45663d986c4c6d4ebd559b", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xefabfddeb5e20126b595cdd4bbb43e30995f99ee3a1f035e2223f54e9c570917" ], "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x17848233d20fe8ee84eca4aba954747d06712c00", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x11262e359fa59a90d8bb84d7cfad3971", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000000167366a305129093000000000000000115208e60c82e" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1", + "0x3dea0b19151aeafec914ed21a65e06304978bfcfcb45663d986c4c6d4ebd559b": "0x1" }, "code_usage": { - "read": "0xcd82e2d9daddbf51cbce8d5429a0996e16fc670c4056566f19cf8864ad45a746" + "read": "0x5568213cbb607d8b3a7cf113aaf4827b223c69bec0d169dfbae765c71a62d60c" } }, - "0x15d4c048f83bd7e37d49ea4c83a07267ec4203da": { + "0x97a9a15168c22b3c137e6381037e1499c8ad0978": { "storage_read": [ - "0x5555020648275abce1c8a0f5830a1279fa0ae19e4ef512d6daed9940355f24e9", - "0x19737cde1f4241724907735c339fe3c53d06f4a69ef9d8c3188de7750e81ff58" + "0xfec182f959d663f48569fc903e0fa28cfa292029dbdd29d3979fecc200deebc6", + "0x4fae244fabdd309b0e1e052bc26e5224005d090a62bda53784800c82c9830278", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x614363e1c675824e566904eb023dd75dd7e6f8ddeb54b1e2e691dac03069e397", + "0xd5e3b5e1e724bdb681be1901ce0c972ff36a91739e0eb13a8af11d7fee2930b6" ], "storage_written": { - "0x19737cde1f4241724907735c339fe3c53d06f4a69ef9d8c3188de7750e81ff58": "0x3f064ecc332", - "0x5555020648275abce1c8a0f5830a1279fa0ae19e4ef512d6daed9940355f24e9": "0x115208e60c82e" + "0x4fae244fabdd309b0e1e052bc26e5224005d090a62bda53784800c82c9830278": "0x86eecfb85949a344982d868", + "0xd5e3b5e1e724bdb681be1901ce0c972ff36a91739e0eb13a8af11d7fee2930b6": "0x86eecfb85949a344982d868", + "0xfec182f959d663f48569fc903e0fa28cfa292029dbdd29d3979fecc200deebc6": "0x195b7959b388b80000" }, "code_usage": { - "read": "0x7e4a48f55e261be53ac360e50c9fa14e911f4a2a6aba177fd1c235ac67b2a816" + "read": "0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418" } }, - "0x68851dc324c17b41e9f7515aaf1b6e0b011e198c": { - "balance": "0x812181325d70b", - "nonce": "0x3" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4cbd1ae51789" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621c61bef29a3b" + "0xddbccdf688d61830102d8ad4152712d949a78dd4": { + "balance": "0x3a2dd13ef01878", + "nonce": "0x1" } }, "meta": { - "byte_code": "0x02f9019c0102830f42408508f61e05018302574b94def1c0ded9bec7f1a1670819833240f027b25eff8750c963f88b4466b90128d9627aa400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000050c963f88b4466000000000000000000000000000000000000000000000000000003d22475050400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000015d4c048f83bd7e37d49ea4c83a07267ec4203da869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000302a4f6ef1d1f22d422abd221ffa7c32c001a05dcdd5d0b758a1519b58ef9fdf4f588aed7ffec59caab1065a573503989ac143a04f533ac1568f24855e6e90b907c35467590007dcba0420d9f5751f1cdfe9b20b", - "new_txn_trie_node_byte": "0x02f9019c0102830f42408508f61e05018302574b94def1c0ded9bec7f1a1670819833240f027b25eff8750c963f88b4466b90128d9627aa400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000050c963f88b4466000000000000000000000000000000000000000000000000000003d22475050400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000015d4c048f83bd7e37d49ea4c83a07267ec4203da869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000302a4f6ef1d1f22d422abd221ffa7c32c001a05dcdd5d0b758a1519b58ef9fdf4f588aed7ffec59caab1065a573503989ac143a04f533ac1568f24855e6e90b907c35467590007dcba0420d9f5751f1cdfe9b20b", - "new_receipt_trie_node_byte": "0xb9043e02f9043a0183b78dc4b9010000200000000000000000000080000000000000000000000000000000000000004000000000000004000000000000000002000000080000000000000000000000000000000000002000000008400000200000000000000400000000008000100000000000000000002000000000000040000000000010000000000010000000000000000000000000000000000000000000000001000000080000004000000004000000000000000000004000000000000000040000000000000000000000000000000002000000000000000000000000000000000000001000000000000000000008200000000000000000000000000000000008000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa00000000000000000000000000000000000000000000000000050c963f88b4466f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000fa405a40d3fe345e3d5e460c8d9da39ac0fb13bda00000000000000000000000000000000000000000000000000050c963f88b4466f89b9415d4c048f83bd7e37d49ea4c83a07267ec4203daf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000fa405a40d3fe345e3d5e460c8d9da39ac0fb13bda000000000000000000000000068851dc324c17b41e9f7515aaf1b6e0b011e198ca0000000000000000000000000000000000000000000000000000003f064ecc332f87994fa405a40d3fe345e3d5e460c8d9da39ac0fb13bde1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000000115208e60c82e000000000000000000000000000000000000000000000000167366a305129093f8fc94fa405a40d3fe345e3d5e460c8d9da39ac0fb13bdf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa000000000000000000000000068851dc324c17b41e9f7515aaf1b6e0b011e198cb88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050c963f88b4466000000000000000000000000000000000000000000000000000003f064ecc3320000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 121283 + "byte_code": "0x02f904710180830ded21850182487e228301fff29435f4817b14718c66dbbdba085f5f8d2c3a4aa42080b9040483092e470000000000000000000000000000000000000000000000195b7959b388b80000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014aeb67257e399bacadd3442e74800ea74a56706c1c77bc2c79f80834284e9df6439765e55fa8b174b5cb0b76e073691cd46ca7ff015bb3363a59177ac75584d568ae018abc1d35d4f8d9b5e2943add2c60612e17a35231d94cba0515fd2468df1cb4c73d0093489e914469e72f8f2608d1a1e6005ed379a058b397babc5dbae4d6e4b25ad81fd16a8447ed61ad4a8d46c2f43dd3f6591f2b86f2cca88847e3792ce8a01f56e0b3e387d21867827855a3f0c40b2937eb07d80c366562b7468596406fe1025c51f8259ba22d5262d1bba961d1fc6a4e0adc9b4b9548e032c9a42be8c40cce650302bbae790cdaed5cda29a90803f18d7e98a281da8e5a906727d3923b37caf4f29e2c8a6cc93c75ed4c7e4fc334348b56150be909e4629994ecd3070b1704891bd5f06cd1fc1e2c3006a703055d251231b72e8d6b6508714931cde3bf637bb55508630f297688fbf039256c6eb08f35eb1907e931fca8de09203e89cac5ff19dfbed33cac4a2cbeb9bf940538c12a1e2b4ff4f5d4ec91a8a3f9b8548beba600e8c6fe07ec0ea70eab99d270937ebe550baed2412cfe3b068776a250c02c587980642717ee9aef2090a6b1fee1379824ce4a62354bd315b3aa30c4337dbc8998f59e8479a0b6da9cc690e5a731358fb85f33d35d2ef2dd21d34add657f7768990adc4e9c12e8c1ff4751617f93a4b97ea13e1a58dfc9a453c11a0376967194326881f878e97c1eba64e2969cafba662297036f8e572224b925601653136eea6fa74eae511ff42a731b468841664b4a804b81a9b4fb8aac10ab390dee40022f35c64e03d7c8f1f64a8bf3c1474d708af2286ebebe542bde0862edfb013873d0cedc2e2e752fe449bb7c0a0ca3fbeca803ffab475b40171e94f031b5700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a06ac2b63fc5d33800be705567856a31dc0a337d6bc2bbdd1af7b1cabbcb901ba0a04dec0e4c7a12c01191955170f7b89c22c2919c5617d95079df97a85a883c8ecc", + "new_txn_trie_node_byte": "0x02f904710180830ded21850182487e228301fff29435f4817b14718c66dbbdba085f5f8d2c3a4aa42080b9040483092e470000000000000000000000000000000000000000000000195b7959b388b80000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014aeb67257e399bacadd3442e74800ea74a56706c1c77bc2c79f80834284e9df6439765e55fa8b174b5cb0b76e073691cd46ca7ff015bb3363a59177ac75584d568ae018abc1d35d4f8d9b5e2943add2c60612e17a35231d94cba0515fd2468df1cb4c73d0093489e914469e72f8f2608d1a1e6005ed379a058b397babc5dbae4d6e4b25ad81fd16a8447ed61ad4a8d46c2f43dd3f6591f2b86f2cca88847e3792ce8a01f56e0b3e387d21867827855a3f0c40b2937eb07d80c366562b7468596406fe1025c51f8259ba22d5262d1bba961d1fc6a4e0adc9b4b9548e032c9a42be8c40cce650302bbae790cdaed5cda29a90803f18d7e98a281da8e5a906727d3923b37caf4f29e2c8a6cc93c75ed4c7e4fc334348b56150be909e4629994ecd3070b1704891bd5f06cd1fc1e2c3006a703055d251231b72e8d6b6508714931cde3bf637bb55508630f297688fbf039256c6eb08f35eb1907e931fca8de09203e89cac5ff19dfbed33cac4a2cbeb9bf940538c12a1e2b4ff4f5d4ec91a8a3f9b8548beba600e8c6fe07ec0ea70eab99d270937ebe550baed2412cfe3b068776a250c02c587980642717ee9aef2090a6b1fee1379824ce4a62354bd315b3aa30c4337dbc8998f59e8479a0b6da9cc690e5a731358fb85f33d35d2ef2dd21d34add657f7768990adc4e9c12e8c1ff4751617f93a4b97ea13e1a58dfc9a453c11a0376967194326881f878e97c1eba64e2969cafba662297036f8e572224b925601653136eea6fa74eae511ff42a731b468841664b4a804b81a9b4fb8aac10ab390dee40022f35c64e03d7c8f1f64a8bf3c1474d708af2286ebebe542bde0862edfb013873d0cedc2e2e752fe449bb7c0a0ca3fbeca803ffab475b40171e94f031b5700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a06ac2b63fc5d33800be705567856a31dc0a337d6bc2bbdd1af7b1cabbcb901ba0a04dec0e4c7a12c01191955170f7b89c22c2919c5617d95079df97a85a883c8ecc", + "new_receipt_trie_node_byte": "0xb9026b02f9026701840130333bb9010000000000000200000000000000000000000000000000000000000000000000008000000000000008000400004000000000000000200000000000000000000000000000000000020000000008000000000000000000000000800000000000000040000000000000004000000100000000000000000000000000000010000000000000080000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000020000000100000400000000000002000000000000000000000000020000000000f9015bf89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006e97eac711f309bf18d536a92428b13280d6f6e7a0000000000000000000000000ddbccdf688d61830102d8ad4152712d949a78dd4a00000000000000000000000000000000000000000000000195b7959b388b80000f8bc9435f4817b14718c66dbbdba085f5f8d2c3a4aa420f884a042103fa0eeaa26645ba1c99347e3c5a902bdf5fe04e611affb25c41d72e438aaa0000000000000000000000000ddbccdf688d61830102d8ad4152712d949a78dd4a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470a00000000000000000000000000000000000000000000000195b7959b388b80000", + "gas_used": 125677 } }, { "traces": { - "0x424485f89ea52839fdb30640eb7dd7e0078e12fb": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4cc80996aa60" + }, + "0xdd919150fcca237a011c5b4cd532590c96395c70": { + "balance": "0x22be486af789b", + "nonce": "0x55" + }, + "0x56e6f1bffde5dccd9a183585ce31f2902fc52707": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x8d6bce93a354220c94bc7b87c66ce7449b236fe33d3f1a6ab96d45624462567f" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000007809f7d25544d7dc600000000dbcfdd7b97597faf4d9e", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x76a752c5a15ef2a4df2a328a2da8cef7", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x47d12c408827cbd1804f735b6821e3bcb1261f", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + "0x8d6bce93a354220c94bc7b87c66ce7449b236fe33d3f1a6ab96d45624462567f": "0x1" }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0x5e4dcb0bb1910f6429e5fe91678990088a51c6d1cfe1b31d05fb9d948cc7867c" } }, - "0x9ce9704b1993ff308f1815e0fd44b0dffee2d0dc": { - "storage_read": [ - "0x101ed5680b1cfc12bfd6f2c99ee49abcf5d75b12223f9040664d083b09f1c7d7", - "0xeb8c9b187fbbbd288ed19e2e86753757350a830172e7b655c53e0fb5c8e7a780", - "0x0000000000000000000000000000000000000000000000000000000000000002" - ], + "0x37a35c2c8a29a099c3eb75affec9b3bfb7d37622": { "code_usage": { - "read": "0xd625bad54988badda49c0752bf745bca1eeeaae34f18df9ac8cb351ba1e4d82e" + "read": "0xfb214b1c15fa463d37712e7364cf7da6f32aa7c739bac41f7a4b71a98a8f6c17" } - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621c7e668d07fb" - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x2986950cb124ee8d16920", + } + }, + "meta": { + "byte_code": "0x02f8b00154830ded21850182487e2283012fc09456e6f1bffde5dccd9a183585ce31f2902fc5270780b844a22cb4650000000000000000000000009a1d00bed7cd04bcda516d721a596eb22aac68340000000000000000000000000000000000000000000000000000000000000001c001a0253284b920babff5dc202007729bdedc3c474217b119ff2f2812b5d7a4b5bae7a0724a81ba159a7017b69e84daf05f2b3e5bd7d3ce8e63630d5a6101b8d2a1d383", + "new_txn_trie_node_byte": "0x02f8b00154830ded21850182487e2283012fc09456e6f1bffde5dccd9a183585ce31f2902fc5270780b844a22cb4650000000000000000000000009a1d00bed7cd04bcda516d721a596eb22aac68340000000000000000000000000000000000000000000000000000000000000001c001a0253284b920babff5dc202007729bdedc3c474217b119ff2f2812b5d7a4b5bae7a0724a81ba159a7017b69e84daf05f2b3e5bd7d3ce8e63630d5a6101b8d2a1d383", + "new_receipt_trie_node_byte": "0xb901ac02f901a801840130fc32b9010000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000201000000000000000000000000000000000000000000000000000000000002000000000000000000000002000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000400000000000000000000200800000000000004004000000000000000000000000000000000000000f89df89b9456e6f1bffde5dccd9a183585ce31f2902fc52707f863a017307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31a0000000000000000000000000dd919150fcca237a011c5b4cd532590c96395c70a00000000000000000000000009a1d00bed7cd04bcda516d721a596eb22aac6834a00000000000000000000000000000000000000000000000000000000000000001", + "gas_used": 51447 + } + }, + { + "traces": { + "0x3b50805453023a91a8bf641e279401a0b23fa6f9": { "storage_read": [ - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e", - "0xaf9987888ab75f8cdc0eee179dff704e6c0a13b462f58aac23ab8eb77f3d71cd" + "0xe820e62d391fe6e756969886caac21904e479ef2aec3c8799bec2449c4e22d2c", + "0x0050dcbf92b68df7711e957bd2e36673c0e856fa0555bfa8f4a0391a64ec78f5", + "0x4174b52f896566671998a8495a8a959f8365954a31e500092b7f7b58794d641d", + "0xa7811d681cbaf5b2536a9ce029df0f79b11968810d900e65aae4ae01df9215ed" ], "storage_written": { - "0xaf9987888ab75f8cdc0eee179dff704e6c0a13b462f58aac23ab8eb77f3d71cd": "0x7809f7d25544d7dc6", - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e": "0x1" + "0xa7811d681cbaf5b2536a9ce029df0f79b11968810d900e65aae4ae01df9215ed": "0xe2d8ec96a5642085fc0000", + "0xe820e62d391fe6e756969886caac21904e479ef2aec3c8799bec2449c4e22d2c": "0x1516759efd5af40000" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xf4f29958e527ecb18d30d8151f0f5a73b3db277a6ff3ca8dc2419eeff9e546d1" } }, - "0xdef1c0ded9bec7f1a1670819833240f027b25eff": { - "storage_read": [ - "0x3a1eae4d9599b151de37596bc1e301e7833e536acda254c41c5aab51deef773d" - ], + "0xb7486b5bd2d14714950b082eafebe9822a1d96ee": { "code_usage": { - "read": "0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e" + "read": "0x479f7d30cd968a40b9d56a3ad86a3cc6bddfadbbef38c595aa098866725d9c44" } }, - "0x15c28beaa775163430652fd2e01b53662e1c8d12": { - "balance": "0xecf3290bc6e35", - "nonce": "0x87" + "0xde017be611d3f80940d901a9419f79e9a30a0a73": { + "balance": "0x2482ba8c403021", + "nonce": "0xa" }, - "0x993864e43caa7f7f12953ad6feb1d1ca635b875f": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4ce323ecbb98" + }, + "0x2e1a7ef12d0adeebf6009f0aa964cf686364b01f": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0xa6eabb9b2c010ec47045c52eb64682c8a09fe52a8605fef87ee312fa6817bde7", - "0x92705062a39dc672ebb6932f49c7b4e02929926bf16d7fb11cc5a744c5d16c3d", - "0x6e89d460fefb1c8f5b2b8f2e9609ee9a4ef3f9b7ff014be959a86fabed2b4af8", - "0x168fc6e90123551cfe0bec503826f0ea59a4e2ad068db9c1940a274fdcfd6dc3" + "0x0000000000000000000000000000000000000000000000000000000000000068", + "0x0000000000000000000000000000000000000000000000000000000000000067", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x04ce8ceeee5d5a4b1f216002fa17e114253dc65315c0c2930b9eb6fd10d80b15", + "0x0000000000000000000000000000000000000000000000000000000000000066", + "0x89137227b954449cbc930f8d597c68c1f2cf47e62af37618f7e18f47cefe90e2", + "0x0000000000000000000000000000000000000000000000000000000000000069" ], "storage_written": { - "0xa6eabb9b2c010ec47045c52eb64682c8a09fe52a8605fef87ee312fa6817bde7": "0xdbcfdd7b97597faf4d9e", - "0x92705062a39dc672ebb6932f49c7b4e02929926bf16d7fb11cc5a744c5d16c3d": "0x3bf470fb196e766145" + "0x04ce8ceeee5d5a4b1f216002fa17e114253dc65315c0c2930b9eb6fd10d80b15": "0x1516759efd5af40000" }, "code_usage": { - "read": "0xabe0aca2732d0c5cfc5c4dd9a992df7b0d324b2ca5b15e2506d5e8ae179f9726" + "read": "0x3c6cd9ebe038764d4033e311b3441dff706b432b3a2ee55c9615e61b7a560e50" } }, - "0xf9b30557afcf76ea82c04015d80057fa2147dfa9": { + "0xc76b81d835a6ef88fb9b841c22ed492473577ac3": { "code_usage": { - "read": "0xba01211d10b6119b0dd1f3d468ed31f2ab17f775869cc5d8a5d9d0254d910d01" + "read": "0x75d73760046f79d563c2a436e415d53e59d92ce10bad71c98fe61cdd6676ee25" } } }, "meta": { - "byte_code": "0x02f9019d018186830f42408507b2f69ca083022aee94def1c0ded9bec7f1a1670819833240f027b25eff872cf29f982c1258b90128d9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000002cf29f982c1258000000000000000000000000000000000000000000000004f9b09f3789df4e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000993864e43caa7f7f12953ad6feb1d1ca635b875f869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba10000000000000000000000000000000052036e4ae6fabc78511436e8f872aea3c080a08f392ad23ef0bfae7b04a0d163f0732a3a63a2895cdcafbc38d6f2fafb459420a0419c2c52026ea01df36021ff9fb5d838546bf7cc120f6b5963c060dde4e48d4a", - "new_txn_trie_node_byte": "0x02f9019d018186830f42408507b2f69ca083022aee94def1c0ded9bec7f1a1670819833240f027b25eff872cf29f982c1258b90128d9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000002cf29f982c1258000000000000000000000000000000000000000000000004f9b09f3789df4e0600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000993864e43caa7f7f12953ad6feb1d1ca635b875f869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba10000000000000000000000000000000052036e4ae6fabc78511436e8f872aea3c080a08f392ad23ef0bfae7b04a0d163f0732a3a63a2895cdcafbc38d6f2fafb459420a0419c2c52026ea01df36021ff9fb5d838546bf7cc120f6b5963c060dde4e48d4a", - "new_receipt_trie_node_byte": "0xb9043e02f9043a0183b96e83b9010000a00000800000400000000080000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000008000000000000000002000000008000000200000001000000000000000008000000000000000000000400000000000000040000000000000000000000010000000000000000000000000000000000000800000000001000000080000004000000000000000000000000000004000000000000000000000000000200000000000000000000002000000000000080000000001000000000000001000000000000000000000202000000000000000000000000000200000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000000000000000000000000000002cf29f982c1258f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000424485f89ea52839fdb30640eb7dd7e0078e12fba0000000000000000000000000000000000000000000000000002cf29f982c1258f89b94993864e43caa7f7f12953ad6feb1d1ca635b875ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000424485f89ea52839fdb30640eb7dd7e0078e12fba000000000000000000000000015c28beaa775163430652fd2e01b53662e1c8d12a000000000000000000000000000000000000000000000000521151843d01da241f87994424485f89ea52839fdb30640eb7dd7e0078e12fbe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000dbcfdd7b97597faf4d9e000000000000000000000000000000000000000000000007809f7d25544d7dc6f8fc94424485f89ea52839fdb30640eb7dd7e0078e12fbf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa000000000000000000000000015c28beaa775163430652fd2e01b53662e1c8d12b8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002cf29f982c125800000000000000000000000000000000000000000000000521151843d01da2410000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 123071 + "byte_code": "0x02f904f10109830ded2185012a05f2008302f81a942e1a7ef12d0adeebf6009f0aa964cf686364b01f80b904848132b32100000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000de017be611d3f80940d901a9419f79e9a30a0a73000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001516759efd5af40000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001516759efd5af400000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006630cf3000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011d64bb6dc5bb991a468f8ff8acf245ac6606d7bfeb03bb50640b28fe8fb2c2906a4152be50c7ded3417a4b3e84095a4821d69ee8db77a0da0ea732324b143e286aa03001bb363f3fad2b77c2389f1e797dca734dc890e297516b65f2f28005bcf3bf8407a59b844731e936aff1ca8d647c45a1aa6b38017c6ac49f2cd9923ceaf0dc669db6d3e7ed7f13c9e0572f3a699f3fc0af4491d1921b4fa68371ba368a4b2c6e8211471c73f685a6301b77a35f18861c7246d893542da54a7fbc7917840bbd75ff4e6cf271fe9bbdc64b2ee2dc6342b9767fa86dd45f286e2c8f16197dc9364bcc9450d60151036625de1db351ce3d0186532a29c8f8e51822677f699ecb0d72de2274384fc5735b6bbb1526344982e3bac0048d3053336502048c90ed730d3e9117b695427565c1c6b3198a42495b196f9f9913d6d797412cc5cb4a295fe01b0170765678134826ab5d8266a57416e90e2fdb8b266e6367678313ba9a0282a57ffc119cdaaa1be37a2c5cfd8caab15e661784fad4039daaae45c3745c0f8a6bea1deba8edd6a86c752cfa5f1b32d3706bfb2ed399c4c40e79bfa2bb45af679c0d2c6c8020ffaf8656e66f4541fd3d281eb74d623b36fd7ccdfd72ea2593bb05e05b3516a5bcf531f1e0c0d80d87de4af2b4aa246f8ece90467c675460509755d5c9709cc9a9018bec197e954cc27bd9553289ca11f732c2547d4d779b47ef766aa0d96868121922db1ef79d02cfde65a8453719faaa94af11ce9091f4ec080a086e4476078cf0cbf2a1808cd2411a5c42dc09862a753ad7721a3eac261ef828aa06b7e6eb280a1f00722670b99291c7888d6bb8dfcae970114cff044ae34216987", + "new_txn_trie_node_byte": "0x02f904f10109830ded2185012a05f2008302f81a942e1a7ef12d0adeebf6009f0aa964cf686364b01f80b904848132b32100000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000de017be611d3f80940d901a9419f79e9a30a0a73000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001516759efd5af40000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001516759efd5af400000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000006630cf3000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000011d64bb6dc5bb991a468f8ff8acf245ac6606d7bfeb03bb50640b28fe8fb2c2906a4152be50c7ded3417a4b3e84095a4821d69ee8db77a0da0ea732324b143e286aa03001bb363f3fad2b77c2389f1e797dca734dc890e297516b65f2f28005bcf3bf8407a59b844731e936aff1ca8d647c45a1aa6b38017c6ac49f2cd9923ceaf0dc669db6d3e7ed7f13c9e0572f3a699f3fc0af4491d1921b4fa68371ba368a4b2c6e8211471c73f685a6301b77a35f18861c7246d893542da54a7fbc7917840bbd75ff4e6cf271fe9bbdc64b2ee2dc6342b9767fa86dd45f286e2c8f16197dc9364bcc9450d60151036625de1db351ce3d0186532a29c8f8e51822677f699ecb0d72de2274384fc5735b6bbb1526344982e3bac0048d3053336502048c90ed730d3e9117b695427565c1c6b3198a42495b196f9f9913d6d797412cc5cb4a295fe01b0170765678134826ab5d8266a57416e90e2fdb8b266e6367678313ba9a0282a57ffc119cdaaa1be37a2c5cfd8caab15e661784fad4039daaae45c3745c0f8a6bea1deba8edd6a86c752cfa5f1b32d3706bfb2ed399c4c40e79bfa2bb45af679c0d2c6c8020ffaf8656e66f4541fd3d281eb74d623b36fd7ccdfd72ea2593bb05e05b3516a5bcf531f1e0c0d80d87de4af2b4aa246f8ece90467c675460509755d5c9709cc9a9018bec197e954cc27bd9553289ca11f732c2547d4d779b47ef766aa0d96868121922db1ef79d02cfde65a8453719faaa94af11ce9091f4ec080a086e4476078cf0cbf2a1808cd2411a5c42dc09862a753ad7721a3eac261ef828aa06b7e6eb280a1f00722670b99291c7888d6bb8dfcae970114cff044ae34216987", + "new_receipt_trie_node_byte": "0xb902aa02f902a601840132ee6ab9010000000001000000000000000000000100000000000000000000000000000000000001000000000000000000000000000000000000000000000000000200000000001000000000000000200008004000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000010000000000020000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001000000000000000000000000008200000020000000000000000000000f9019af89b943b50805453023a91a8bf641e279401a0b23fa6f9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002e1a7ef12d0adeebf6009f0aa964cf686364b01fa0000000000000000000000000de017be611d3f80940d901a9419f79e9a30a0a73a000000000000000000000000000000000000000000000001516759efd5af40000f8fb942e1a7ef12d0adeebf6009f0aa964cf686364b01ff842a09c91da9f102663943dfb86d851c76de06c2fe178d18a58e45dd7a9cbeea0bb35a0000000000000000000000000de017be611d3f80940d901a9419f79e9a30a0a73b8a000000000000000000000000000000000000000000000001516759efd5af40000000000000000000000000000000000000000000000000000000000006630cf300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001516759efd5af40000", + "gas_used": 127544 } }, { "traces": { - "0xbef33b3831ca713f0c3eefdc39a843c918331276": { - "balance": "0x39dbf3d68e09d133", - "nonce": "0x72" + "0x8ec1b439063dfc0313ecdb85423af1d66faab6cd": { + "balance": "0x2d03d4bcc7e5b3", + "nonce": "0x36" }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, + "0xd20ef07ca38301735782e3b89c0e192fd8ec002d": { "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0x72ba7f6fe9ce5e4bcc7145b3f0681112f2161b025618dedb74bb3ea15bbcbe90" + } + }, + "0xd0e1065f2a941dd723f800c34d2d4282c3158a00": { + "code_usage": { + "read": "0x3708314c65d3949911060cd82c167a5ace2921694c2bab2d9a60814bde3412d7" } }, - "0xb8a87405d9a4f2f866319b77004e88dff66c0d92": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4cee592cb2a0" + }, + "0x8f2428f7189c0d92d1c4a5358903a8c80ec6a69d": { "storage_read": [ - "0x4d6ac0cf6eddcd8e360b17ad4de1df643f445388d63da90bc183cfce0c6c0a0c", - "0x798435d265bf30b6d8e1071876f0fafdb4c693ca2738f07087915235d16edaeb", - "0xe9df5837f3bcbb1790cb137a41af6668249cf34a286d7ed605320e67c6c23eb4", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0xf21cebc87207a45343dbb33a2512a7ff11e6222d87d2759dc5745a55f3df1144", - "0xc659b99e79fe0de30a460bd9c30c4e566718ff6cfdcd6379dd0e4e03da9bdc33", - "0x29f426a8dd822d19c8377a673ae9e12e5899a7b84c812eccce86c647c865795c", - "0xed56d85ad2932f03c939172e61770c8a9a13de494f168c82709d944b0aeff7db", - "0xb04ceb61f5c03b733b515e10ff854b0fc2e559ff6d9ba0459129639a17705c0a", - "0x27e9f812186791d033a8f9881ee8bf032f697cd280803eba6d746cdf852e1cec", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x000000000000000000000000000000000000000000000000000000000000001d", - "0x0000000000000000000000000000000000000000000000000000000000000005" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000069" ], - "storage_written": { - "0xf21cebc87207a45343dbb33a2512a7ff11e6222d87d2759dc5745a55f3df1144": "0x12b4fde3b7500fdb4b44c8", - "0x4d6ac0cf6eddcd8e360b17ad4de1df643f445388d63da90bc183cfce0c6c0a0c": "0x1" - }, "code_usage": { - "read": "0xa47998f0fcceee76c553f9f49703070078f39a295bd103fff52cd766c9b60168" + "read": "0xfa8c9db6c6cab7108dea276f4cd09d575674eb0852c0fa3187e59e98ef977998" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621ca2f4996e7b" - }, - "0x19c1f6c7468ad4076b05a5f79e3ee80ce0064718": { + "0xc7bcb0e8839a28a1cfadd1cf716de9016cda51ae": { + "balance": "0x687f19ff7e80e4f6e", "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0xc0d1c00078410fd0164580b0bad93d8a579580d06cf45fc2696a823498097b8a", - "0x0000000000000000000000000000000000000000000000000000000000000008" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000037" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000fe0f5d00000000000000000071b90bdffc66493ceb95ab", - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x23eddd87e20a550e2333d0dcdb0a1a" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x12dcc0f0000000000030d400000000000000000000000003b9aca00" }, "code_usage": { - "read": "0x5218d91b409a649690db747c01aae184e43ffcab370003931ff590f24e0c6959" + "read": "0xfa8c9db6c6cab7108dea276f4cd09d575674eb0852c0fa3187e59e98ef977998" } + } + }, + "meta": { + "byte_code": "0x02f901370135830ded2185016ff249a483030d4094c7bcb0e8839a28a1cfadd1cf716de9016cda51ae8718838370f34000b8c4e9e05c420000000000000000000000008ec1b439063dfc0313ecdb85423af1d66faab6cd0000000000000000000000000000000000000000000000000018838370f3400000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000c001a025137e3b7c931a31fff95de06797d60962c798e96f96e93c3aec714f13608dd9a024a13c1f644938d13eccc12b328fe8a859a78d254f0349ea11bed1f5a54a7e12", + "new_txn_trie_node_byte": "0x02f901370135830ded2185016ff249a483030d4094c7bcb0e8839a28a1cfadd1cf716de9016cda51ae8718838370f34000b8c4e9e05c420000000000000000000000008ec1b439063dfc0313ecdb85423af1d66faab6cd0000000000000000000000000000000000000000000000000018838370f3400000000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000c001a025137e3b7c931a31fff95de06797d60962c798e96f96e93c3aec714f13608dd9a024a13c1f644938d13eccc12b328fe8a859a78d254f0349ea11bed1f5a54a7e12", + "new_receipt_trie_node_byte": "0xb9025002f9024c01840133bc72b9010000000000000000000000000000000000000010000000000000000000000000000800000000000000000000000000000000000000000000000000000010000000000000000000000000000002000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000800000000000000000000020000000000000000000000000002000000000000000080000000000000000000000f90140f9013d94c7bcb0e8839a28a1cfadd1cf716de9016cda51aef884a0b3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32a00000000000000000000000008ec1b439063dfc0313ecdb85423af1d66faab6cda00000000000000000000000008ec1b439063dfc0313ecdb85423af1d66faab6cda00000000000000000000000000000000000000000000000000000000000000000b8a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000490000000000000000000000000000000000000000000000000018838370f340000000000000000000000000000000000000000000000000000018838370f3400000000000000186a0000000000000000000000000000000000000000000000000", + "gas_used": 52744 + } + }, + { + "traces": { + "0x1ecc66687333c0fcd3d8e79049901ec435d921f9": { + "balance": "0x290a8b427a51b8", + "nonce": "0x1" }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "0xdac17f958d2ee523a2206206994597c13d831ec7": { "storage_read": [ - "0x5defccebecd74077aa0ce566544361c4953269120956a662e3572c4a19339eec", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a" + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x088bf83942fde7450aabcac42a5fd80abd918b599430d3732f0a558026517487" ], "storage_written": { - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", - "0x5defccebecd74077aa0ce566544361c4953269120956a662e3572c4a19339eec": "0xf89db39c7ee7d68c" + "0x088bf83942fde7450aabcac42a5fd80abd918b599430d3732f0a558026517487": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4cf8b9e2ab05" } }, "meta": { - "byte_code": "0x02f902f90171830f42408507b6e25a318303909d943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880de0b6b3a7640000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf5ff700000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000045998a7a38e787d2c34200000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000000000000000000000c001a0d9809e76b0573ba77df58604dd82632cb3bb1cbef4452effe34085c4477266d7a06fffd2097d6b9d38dc57990935e17463eae5dd8925998d9876f5cf98764812ce", - "new_txn_trie_node_byte": "0x02f902f90171830f42408507b6e25a318303909d943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880de0b6b3a7640000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf5ff700000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000045998a7a38e787d2c34200000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710b8a87405d9a4f2f866319b77004e88dff66c0d92000000000000000000000000000000000000000000c001a0d9809e76b0573ba77df58604dd82632cb3bb1cbef4452effe34085c4477266d7a06fffd2097d6b9d38dc57990935e17463eae5dd8925998d9876f5cf98764812ce", - "new_receipt_trie_node_byte": "0xb9010d02f901098083bbd3cdb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 157002 + "byte_code": "0x02f8af0180830ded21850182487e2282c04994dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a05f7498694e5f79215c65043d45d972cd7325958de0ee10c6defbeea10c425edda01bfcda2a97e36dff12e7d12afc3cbe54227cd4d2b453760d896def30b17d3029", + "new_txn_trie_node_byte": "0x02f8af0180830ded21850182487e2282c04994dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a05f7498694e5f79215c65043d45d972cd7325958de0ee10c6defbeea10c425edda01bfcda2a97e36dff12e7d12afc3cbe54227cd4d2b453760d896def30b17d3029", + "new_receipt_trie_node_byte": "0xb901ac02f901a8018401347b37b9010000000200000000000000000000000000000000000000000000000000000020000000000000000000000000000000010000000000800000000000000000200000000000000000000000004000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000020000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000040000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000001ecc66687333c0fcd3d8e79049901ec435d921f9a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "gas_used": 48837 } }, { "traces": { - "0xdd378a11475d588908001e0e99e4fd89abda5434": { - "balance": "0x2e44f1a0c41cb880", + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4d08ab1a54f4" + }, + "0x2b591e99afe9f32eaa6214f7b7629768c40eeb39": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x5c4ab561ee13406fbd4c818a5d28ffc8506fdd4f6b4349f040327d2a0fca884e", + "0x5970f0402bdac23d261e4bf937f0cca3cf1864016c1fc2d7f72222c06511e110" + ], + "code_usage": { + "read": "0x072dc3ede6578c96b5b547786fa670d627a18c956b0993a19c4435b8999563a6" + } + }, + "0x3819f64f282bf135d62168c1e513280daf905e06": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0xddd096826e5145314c9ad242f62b5215cef4d26ec26057cf04abf7bea503104d", + "0xddd096826e5145314c9ad242f62b5215cef4d26ec26057cf04abf7bea503104e", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x592c5cdddcf1d855d0e244bcec265df08c0928ba7876ff47c3430b65ad892657", + "0x10c9410d84fc27336de16166b4c63719418f776eba9a0a88faa8fe0b170b85a3", + "0xc6123a06546c73b3d5d19bc5529f6fbc57a24d3df8b6e2b81c2c49113568c31e" ], + "storage_written": { + "0xc6123a06546c73b3d5d19bc5529f6fbc57a24d3df8b6e2b81c2c49113568c31e": "0x22a000000000000000000000000000000000000009b680ebc21c35c34", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x1e9c1fac48dcfcf92786", + "0xddd096826e5145314c9ad242f62b5215cef4d26ec26057cf04abf7bea503104d": "0x1443012a000000085b645f4e330000032ae1", + "0xddd096826e5145314c9ad242f62b5215cef4d26ec26057cf04abf7bea503104e": "0x5a0521", + "0x592c5cdddcf1d855d0e244bcec265df08c0928ba7876ff47c3430b65ad892657": "0xe70759d8325a320b54a", + "0x10c9410d84fc27336de16166b4c63719418f776eba9a0a88faa8fe0b170b85a3": "0xe8092381bce99a" + }, "code_usage": { - "read": "0x7a26ac13f3cf6a6a4db9c775414eb95ac876a0c2f352a76a841cac8d4eac61c1" + "read": "0x9705ad7078595d15586bcfaa2cc367f191909f927f62c8d7e5445aa584e0d426" } }, - "0x5aed5f8a1e3607476f1f81c3d8fe126deb0afe94": { + "0xb98b16ad6e491d174aeaf99d7ced7b7829d1cdbf": { + "balance": "0x1f55243da2f7ff", + "nonce": "0xf4b" + } + }, + "meta": { + "byte_code": "0x02f8b201820f4a830ded21850182487e2283012880943819f64f282bf135d62168c1e513280daf905e0680b844f812b9a400000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000032ae1c080a0b79bdd38601d29c15bf7b9655d71bebf59f0cf915949f59bb5480fed2ce26107a07e08d2ea6c1984a68d38efb07ce3f2519edf86536ef93a29295d6d2e4f34389b", + "new_txn_trie_node_byte": "0x02f8b201820f4a830ded21850182487e2283012880943819f64f282bf135d62168c1e513280daf905e0680b844f812b9a400000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000032ae1c080a0b79bdd38601d29c15bf7b9655d71bebf59f0cf915949f59bb5480fed2ce26107a07e08d2ea6c1984a68d38efb07ce3f2519edf86536ef93a29295d6d2e4f34389b", + "new_receipt_trie_node_byte": "0xb902e702f902e301840135a046b9010000000400000000000020000000000000000800000000000000000000000000001000000004000000000000000000000000000000000000000000000008000000000000000000040400000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000100000000000000001002000000000000000000000000040000000000000000000000000020000000200000000000000001000000000000000000000000000000000000000080f901d7f89b943819f64f282bf135d62168c1e513280daf905e06f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000009d73ced2e36c89e5d167151809eee218a189f801a0000000000000000000000000000000000000000000000000005d22859a227e5ff89b943819f64f282bf135d62168c1e513280daf905e06f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000b98b16ad6e491d174aeaf99d7ced7b7829d1cdbfa000000000000000000000000000000000000000000000000000677bb0e4265386f89b943819f64f282bf135d62168c1e513280daf905e06f863a0ce84afc26010d49051ae429b96ad50c0ef3a958a5c5bdc44c80e090dee642dbea0000000000000000000000000b98b16ad6e491d174aeaf99d7ced7b7829d1cdbfa00000000000000000000000000000000000000000000000000000000000032ae1a00000000000000000677bb0e42653865a0521000000085b645f4e33006632d06b", + "gas_used": 75023 + } + }, + { + "traces": { + "0x72981fd00087ff4f60abfde9f353cb1912a37fb6": { "code_usage": { - "read": "0x3aefeaef4785b95859e40dac3058e07b676f5ec099fa2a96923519fd62546b39" + "read": "0x43c6180725e6819e53757a58a4dd297f524e43e7df21ea1e6cb72576aa433333" } }, - "0x8315177ab297ba92a06054ce80a67ed4dbd7ed3a": { - "balance": "0x13ca152b322b5dc30a13e", + "0x0d7e906bd9cafa154b048cfa766cc1e54e39af9b": { "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000097", + "0x000000000000000000000000000000000000000000000000000000000000006b", "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x584291d70ad4dde9dd8406c3f9db0464c54b9f80d25403cf7e0305c918871ae9", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f3791484f" + "0x0000000000000000000000000000000000000000000000000000000000000069" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000006": "0x153b12", - "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f37914850": "0x20dab0205a20733f7a1d63e5a886a8d21c217cafdd1c68212b3fd41ea7690ca1" + "0x7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999aff25": "0xbbf8738b4169ed3c0975788a4441436abc0b207126f509695c378b1583215705", + "0x0000000000000000000000000000000000000000000000000000000000000069": "0x9bc1e" }, "code_usage": { - "read": "0x8736329b580cfc0c0c39ee6700515e0bc51652afb614640db9e34a5d784933e8" + "read": "0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c" } }, - "0xb8901acb165ed027e32754e0ffe830802919727f": { - "balance": "0x25c670179d4c99fe926", + "0x8fa3b4570b4c96f8036c13b64971ba65867eeb48": { + "balance": "0xb6dd48fa750d31d4fd", "storage_read": [ - "0xab166fbe919e459855231b333e9824b787e83b032e53a3455b5340add3afab97", - "0xa0d1224dfac40e9c90ad58c1cf011dbe362397ab2b0fa32c54cca8801b302fdd", - "0x8104522f08084ff3c7769672ea3b23868d65963f4b4e53dd7ed6fc4a8f2655aa" + "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "storage_written": { - "0xa0d1224dfac40e9c90ad58c1cf011dbe362397ab2b0fa32c54cca8801b302fdd": "0xd3e3fd5ed3bd485fd8" - }, "code_usage": { - "read": "0x2d8029dddbfdf4e660665c11c506c1ebad57ffdd728851981a16cc5896ff2338" + "read": "0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000" } }, - "0x1c7be164799949f48d12a233c8b726ab20c942af": { - "balance": "0x7ad0fa45a4c30", - "nonce": "0x6" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621cc5918b87fb" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4d26228676ff" }, - "0x4dbd4fc535ac27206064b68ffcf827b0a60bab3f": { + "0x6774bcbd5cecef1336b5300fb5186a12ddd8b367": { + "balance": "0x988ce8195cf557e7e15", "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000097", + "0x00000000000000000000000000000000000000000000000000000000000000cb", + "0x704fdd248f20554e464e2e6de66fee884b4f25db371564a823bb1dc32d16b0b7", "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000033", - "0x0000000000000000000000000000000000000000000000000000000000000066", "0x0000000000000000000000000000000000000000000000000000000000000065" ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000097": "0x1", + "0x704fdd248f20554e464e2e6de66fee884b4f25db371564a823bb1dc32d16b0b7": "0x6632d06b" + }, "code_usage": { - "read": "0x685718cbe6f1ee62236ffbab640612cebc70c6cc69a54aacb83d0790d42e247a" + "read": "0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c" } }, - "0x1066cecc8880948fe55e427e94f1ff221d626591": { + "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { "code_usage": { - "read": "0x1470cf03fa245a37933022951ff43a2e5f33f914bbcef091f8b8db92fc23edb5" + "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" } }, - "0x2197a1d9af24b4d6a64bff95b4c29fcd3ff28c30": { - "code_usage": { - "read": "0x0aaf7f1bd4e74c14cb114e9cbc17b65cd3bc8e7730dc04a61733b978ea8bbd0c" - } + "0x9d3fa63dec76061a9b71d7ff50373b6b6fce2c92": { + "balance": "0xda575aa3cb5f1c", + "nonce": "0x85" }, - "0x3a23f943181408eac424116af7b7790c94cb97a5": { + "0xebaed7a81c298b24ee6d59c22698a951dc448e01": { "code_usage": { - "read": "0x6700acf5ccb383cb2cff102ba577f0bce216a5898e28adbdbbb5665916a65b49" + "read": "0x2d4ff142ac8a483ddfd4f3d49de2c7909cf7146c096898021e61adcf10ec195c" } } }, "meta": { - "byte_code": "0x02f9019c0105830f424085082c3e42b4830269a3943a23f943181408eac424116af7b7790c94cb97a58707f1536e8e200ab9012800000014d025dec00000000000000000000000001c7be164799949f48d12a233c8b726ab20c942af000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f000000000000000000000000710bda329b2a6224e4b44833de30f38e7f81d564000000000000000000000000000000000000000000000000000000000000a4b10000000000000000000000000000000000000000000000000007f1536e8e200a0000000000000000000000000000000000000000000000000007e728c65288d60000000000000000000000000000000000000000000000000000763bfbd220000000000000000000000000000000000000000000000000000000018dd612bd1400000000000000000000000000000000000000000000000000000000000008f1c080a0cbf6e7ce4087d9442982d34fdbabcbb8a9a65c6a60f560855fa543c87b181e1fa0313a2a767986d4a62775df45c7102c637f63516948c037d6d524acadb4796bfa", - "new_txn_trie_node_byte": "0x02f9019c0105830f424085082c3e42b4830269a3943a23f943181408eac424116af7b7790c94cb97a58707f1536e8e200ab9012800000014d025dec00000000000000000000000001c7be164799949f48d12a233c8b726ab20c942af000000000000000000000000b8901acb165ed027e32754e0ffe830802919727f000000000000000000000000710bda329b2a6224e4b44833de30f38e7f81d564000000000000000000000000000000000000000000000000000000000000a4b10000000000000000000000000000000000000000000000000007f1536e8e200a0000000000000000000000000000000000000000000000000007e728c65288d60000000000000000000000000000000000000000000000000000763bfbd220000000000000000000000000000000000000000000000000000000018dd612bd1400000000000000000000000000000000000000000000000000000000000008f1c080a0cbf6e7ce4087d9442982d34fdbabcbb8a9a65c6a60f560855fa543c87b181e1fa0313a2a767986d4a62775df45c7102c637f63516948c037d6d524acadb4796bfa", - "new_receipt_trie_node_byte": "0xb9072902f907250183be1883b9010000000000000000000000000000000000100000000000000000000000400000000000000000000010000000000000004000000000120000000400000000000000000000000000000000000000800000000001000000000000018000000000002000000000000000000004000000000002000000000000000000000000080000001000000000000000000000000000000000000001020000000000000000000000140004020000020000000000000000000040800200200000000000000001000000000000000000010000000000008000000000000000004000001000082000000000000000000000000000200000100000000000000000000000000020004000f9061af9013c948315177ab297ba92a06054ce80a67ed4dbd7ed3af863a05e3c1311ea442664e8b1611bfabef659120ea7a0a2cfc0667700bebc69cbffe1a00000000000000000000000000000000000000000000000000000000000153b11a02c1b194cd6861b70a6871eb4c6decec2534af22be010a81c2ae31191a6d12b33b8c00000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f0000000000000000000000000000000000000000000000000000000000000009000000000000000000000000ee488a11475d588908001e0e99e4fd89abda65453bdf4d15e69ad090c50324f1761db67d9a9d1bb497e1157de3346a60b6feaba8000000000000000000000000000000000000000000000000000000071ec5cf550000000000000000000000000000000000000000000000000000000065cf5de7f9029c944dbd4fc535ac27206064b68ffcf827b0a60bab3ff842a0ff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60ba00000000000000000000000000000000000000000000000000000000000153b11b90240000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001e40000000000000000000000003749c4f034022c39ecaffaba182555d4508caccc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000047a5a6764750000000000000000000000000000000000000000000000000000047a5a6764750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c4cc29a3060000000000000000000000001c7be164799949f48d12a233c8b726ab20c942af0000000000000000000000000000000000000000000000000007f1536e8e200a0000000000000000000000000000000000000000000000000007e728c65288d60000000000000000000000000000000000000000000000000000018dd612bd14000000000000000000000000710bda329b2a6224e4b44833de30f38e7f81d5640000000000000000000000000000000000000000000000000000763bfbd2200000000000000000000000000000000000000000000000000000000000f9011d94b8901acb165ed027e32754e0ffe830802919727ff884a00a0607688c86ec1775abcdbab7b33a3a35a6c9cde677c9be880150c231cc6b0ba0000000000000000000000000000000000000000000000000000000000000a4b1a00000000000000000000000001c7be164799949f48d12a233c8b726ab20c942afa0000000000000000000000000710bda329b2a6224e4b44833de30f38e7f81d564b8800000000000000000000000000000000000000000000000000007f1536e8e200a0000000000000000000000000000000000000000000000000007e728c65288d60000000000000000000000000000000000000000000000000000018dd612bd140000000000000000000000000000000000000000000000000000763bfbd22000f90119943a23f943181408eac424116af7b7790c94cb97a5e1a074594da9e31ee4068e17809037db37db496702bf7d8d63afe6f97949277d1609b8e00000000000000000000000000000000000000000000000000007f1536e8e200a000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000a4b1837ed841e30438f54fb6b0097c30a5c4f64b47545c3df655bcd6e44bb8991e370000000000000000000000001c7be164799949f48d12a233c8b726ab20c942af0000000000000000000000001c7be164799949f48d12a233c8b726ab20c942af00000000000000000000000000000000000000000000000000000000000008f1", - "gas_used": 148662 + "byte_code": "0x02f90119018184830ded21850182487e2283023a81946774bcbd5cecef1336b5300fb5186a12ddd8b36788016390a537115040b8a4b2267a7b0000000000000000000000009d3fa63dec76061a9b71d7ff50373b6b6fce2c92000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000290400000000000000000000000000000000000000000000000000000000000000000c001a036eaf0af22f5ed23a7277121f323eddd337cc0b99d150d50e3f64898b98347b1a03079dc61a4eb21dbad82433d96226f136f80447f690109bbf1855cb77bcfe075", + "new_txn_trie_node_byte": "0x02f90119018184830ded21850182487e2283023a81946774bcbd5cecef1336b5300fb5186a12ddd8b36788016390a537115040b8a4b2267a7b0000000000000000000000009d3fa63dec76061a9b71d7ff50373b6b6fce2c92000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000290400000000000000000000000000000000000000000000000000000000000000000c001a036eaf0af22f5ed23a7277121f323eddd337cc0b99d150d50e3f64898b98347b1a03079dc61a4eb21dbad82433d96226f136f80447f690109bbf1855cb77bcfe075", + "new_receipt_trie_node_byte": "0xb904ab02f904a701840137bdf1b9010000000000000000000000000008000000040000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000440000000000000100140000002000000000000000000000001000000000000000000000400000000000000000000000000000000000000000000000000000000000000000002000000000000000000080000000040000000000000060000000000080000000000000000000000000000000000021001004000000000100400000000004000000000000000000000000000000000810000000000000000000020000000000000000000f9039bf87a948fa3b4570b4c96f8036c13b64971ba65867eeb48f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da00000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b367a000000000000000000000000000000000000000000000000000003ea55ff13040f901fd940d7e906bd9cafa154b048cfa766cc1e54e39af9bf863a069cfcb8e6d4192b8aba9902243912587f37e550d75c1fa801491fce26717f37ea00000000000000000000000007885bcbd5cecef1336b5300fb5186a12ddd8c478a0000000000000000000000000781e90f1c8fc4611c9b7497c3b47f99ef6969cbcb901800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009bc1d0000000000000000000000000000000000000000000000000000000000029040000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c48ef1332e0000000000000000000000009d3fa63dec76061a9b71d7ff50373b6b6fce2c920000000000000000000000009d3fa63dec76061a9b71d7ff50373b6b6fce2c92000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000000000000009bc1d00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f9011c946774bcbd5cecef1336b5300fb5186a12ddd8b367f863a0104371f3b442861a2a7b82a070afbbaab748bb13757bf47769e170e37809ec1ea00000000000000000000000009d3fa63dec76061a9b71d7ff50373b6b6fce2c92a00000000000000000000000009d3fa63dec76061a9b71d7ff50373b6b6fce2c92b8a0000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000000000000009bc1d000000000000000000000000000000000000000000000000000000000002904000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 138667 } }, { "traces": { - "0x197d7010147df7b99e9025c724f13723b29313f8": { + "0xd2c074122c6b215ccd491592a44206bc9745255e": { + "balance": "0x42534dc53214527a", + "nonce": "0x28" + }, + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "code_usage": { + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + } + }, + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006" + "0x75bba68bc32f45ee94d95f7473886d21bdef7d83d7d3acd305c90695f0e20f79", + "0x783854433751c5fba02bb209503c812ce7bca5d1747219c8bf52a5a6377f828a", + "0x2bce59ca89a4bcbf5d1776658f6cc9ff903ea72ddedbf2cc0b2b4c96ea811b81", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0xae51f102e00d1c9e51bb4a615e6678c373c061dcae69f1c3cf7d0799122fc3b2", + "0x0000000000000000000000000000000000000000000000000000000000000001" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x2299bcdd7343ddaa33b249efc55a2c29ad73c", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x4481dd5f120f23e798b2e2bc74dcee54", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000021b83c80c5634e08f700000000000004cd337528ea387c", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + "0x2bce59ca89a4bcbf5d1776658f6cc9ff903ea72ddedbf2cc0b2b4c96ea811b81": "0x155d1c8ca", + "0x783854433751c5fba02bb209503c812ce7bca5d1747219c8bf52a5a6377f828a": "0x0", + "0xae51f102e00d1c9e51bb4a615e6678c373c061dcae69f1c3cf7d0799122fc3b2": "0x7b85365d8ea" }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" } }, - "0xdef1c0ded9bec7f1a1670819833240f027b25eff": { + "0x04c8577958ccc170eb3d2cca76f9d51bc6e42d8f": { "storage_read": [ - "0x3a1eae4d9599b151de37596bc1e301e7833e536acda254c41c5aab51deef773d" + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000005", + "0x0000000000000000000000000000000000000000000000000000000000010008", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10001000000000d0000000000000001002aba614847c875dd6d0a32", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x10ce40ce4", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x4bb3bb649ee0e2218871096fcf0ad", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x476c3afb000000000000000000000000432ec7ea" + }, "code_usage": { - "read": "0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e" + "read": "0x071c7303fd851643073eacc98176d8555f47048c19972d7fcff5b3efaf1f60ed" } }, - "0xe375eb827d962ab869abf788f7a759854a387d3d": { - "balance": "0x74ae627809e63", - "nonce": "0x7f" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4d4e409dc535" }, - "0xa41d2f8ee4f47d3b860a149765a7df8c3287b7f0": { + "0x65b382653f7c31bc0af67f188122035461ec9c76": { "storage_read": [ - "0xcf3d72b1e3de507af80aae52d4930580146cc123196d051651dabd181f40addf", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x5da21ecfcd20a180d0ae0c5a2f5f3e089bb1656e07576ade5ecf61a05d974fe5", - "0x8a2c87bf350bbb0ec4379efcb9ee4814f22db5cba1ca25520ad6307609fe371e", - "0x3717ce676931f4a804505838782548ad13ced1e354d632a62107c439c9acb425", - "0x85da35c591077863ca55a0743e786481618b2e7693e7765a07c889eb59aa47f3", - "0x3df9a6107b82a573404f0bd064b86b0d55efbde2c23292ff9274c2283be7483f" + "0x0000000000000000000000000000000000000000000000000000000000000004" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x1" + }, + "code_usage": { + "read": "0xdb8dfdb9e10400c36fae415f58c5d4a6a573b28e2bd1e25a6328623a2112d3f6" + } + }, + "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x8df55229c23f6d8c8d5a18541e8c131e1fc32e868555b24938f774317cec166f", + "0x422a7fad8cd987941c316d93ed62e6a5e9768b4d0d244e8abdc5c0bd3d59733b", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x2c3f80f58caa05ae605308ad618c753e8bb8aa518680b423c4ada27405403d65" + ], + "storage_written": { + "0x422a7fad8cd987941c316d93ed62e6a5e9768b4d0d244e8abdc5c0bd3d59733b": "0x28cba1c62", + "0x8df55229c23f6d8c8d5a18541e8c131e1fc32e868555b24938f774317cec166f": "0xd9390dd3cc5" + }, + "code_usage": { + "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + } + }, + "0x31c2f6fcff4f8759b3bd5bf0e1084a055615c768": { + "storage_read": [ + "0x2e5d0b65526e3ef119b38d1c407292b630be7cdbcf04eacc1074ed6660ad816e" + ], + "code_usage": { + "read": "0xb29cb67ee041882c3a6f4235375bd6e4d197f0526f0bb5479c49dd1c87d36c98" + } + }, + "0xd1faf8baca90e86d2b12650173e972526c48a7cc": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000003" ], "storage_written": { - "0x5da21ecfcd20a180d0ae0c5a2f5f3e089bb1656e07576ade5ecf61a05d974fe5": "0x4cd337528ea387c", - "0x8a2c87bf350bbb0ec4379efcb9ee4814f22db5cba1ca25520ad6307609fe371e": "0xc12212fd15a" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x2c47f0059bbdf118c1e2ebf489aa824da6be33f3d1", + "0x0000000000000000000000000000000000000000000000000000000000000003": "0x16632d06b0000000000000000000b2ef280d289ce" }, "code_usage": { - "read": "0x7a250837efb8ba321dbf0a39fd7487dc7ad15502a33e215ec4184a76ad61f148" + "read": "0x092ac75f84a677bcc93e3f3c7b31f090c2bc36381fcefddf0861e20f9aa85d37" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621ce447b21a3b" + "0x556b9306565093c855aea9ae92a594704c2cd59e": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0xae51f102e00d1c9e51bb4a615e6678c373c061dcae69f1c3cf7d0799122fc3b2", + "0x75f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d2", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x0000000000000000000000000000000000000000000000000000000000000010" + ], + "code_usage": { + "read": "0x2639400c39e352e43ee2ce7027e932a47519a7037b663011a86b781039440aa8" + } + } + }, + "meta": { + "byte_code": "0x02f902710127830ded21850182487e228303b7f89465b382653f7c31bc0af67f188122035461ec9c7680b902043593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d4f700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000d2c074122c6b215ccd491592a44206bc9745255e000000000000000000000000000000000000000000000000000000028bf0abbc00000000000000000000000000000000000000000000000000000002897ac6e800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000c001a0ce6f20b087f147aa436151aa019c981113b979704cb9e896da0527c457d21988a06053a844d461c4701e76732fadcb1d2b05d6766d0a5b0acadeb1042bde6e5536", + "new_txn_trie_node_byte": "0x02f902710127830ded21850182487e228303b7f89465b382653f7c31bc0af67f188122035461ec9c7680b902043593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d4f700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000100000000000000000000000000d2c074122c6b215ccd491592a44206bc9745255e000000000000000000000000000000000000000000000000000000028bf0abbc00000000000000000000000000000000000000000000000000000002897ac6e800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002ba0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000064dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000c001a0ce6f20b087f147aa436151aa019c981113b979704cb9e896da0527c457d21988a06053a844d461c4701e76732fadcb1d2b05d6766d0a5b0acadeb1042bde6e5536", + "new_receipt_trie_node_byte": "0xb903a902f903a50184013a9f67b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002010000000000000000000000020100000000040000000040000008080008000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000100000000000000000201000000080000000000000000000000000000000000000000020000003000000000000000010000000000004000000000000000000000000000000000000000004010000000000004000000000000000000000000000000000f90299f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000004c8577958ccc170eb3d2cca76f9d51bc6e42d8fa0000000000000000000000000d2c074122c6b215ccd491592a44206bc9745255ea0000000000000000000000000000000000000000000000000000000028cba1c62f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d2c074122c6b215ccd491592a44206bc9745255ea000000000000000000000000004c8577958ccc170eb3d2cca76f9d51bc6e42d8fa0000000000000000000000000000000000000000000000000000000028bf0abbcf9015c9404c8577958ccc170eb3d2cca76f9d51bc6e42d8ff863a019b47279256b2a23a1665c810c8d55a1758940ee09377d4f8d26497a3577dc83a000000000000000000000000065b382653f7c31bc0af67f188122035461ec9c76a0000000000000000000000000d2c074122c6b215ccd491592a44206bc9745255eb8e0000000000000000000000000000000000000000000000000000000028bf0abbcfffffffffffffffffffffffffffffffffffffffffffffffffffffffd7345e39e0000000000000000000000000000000000000001002aba614847c875dd6d0a32000000000000000000000000000000000000000000000000000e4af8698d5c80000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000581f10000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 188790 + } + }, + { + "traces": { + "0x5aa7a8a081474f5ae64710ae027720da7e6369ad": { + "balance": "0x31ba7b1e3c6d23", + "nonce": "0x9e" }, - "0xf9b30557afcf76ea82c04015d80057fa2147dfa9": { - "code_usage": { - "read": "0xba01211d10b6119b0dd1f3d468ed31f2ab17f775869cc5d8a5d9d0254d910d01" - } + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4d5881f04639" }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x29869512017a344c3c20d", + "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599": { "storage_read": [ - "0x17d738cfa336cb1ea00d27d574da37f4f6fe98967feba61fbd6e5b55a273a1b5", - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e" + "0x0000000000000000000000000000000000000000000000000000000000000005" ], "storage_written": { - "0x17d738cfa336cb1ea00d27d574da37f4f6fe98967feba61fbd6e5b55a273a1b5": "0x21b83c80c5634e08f7", - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e": "0x1" + "0xea466985f7fa0d82e4efff9f0a6cc18d06e200e8330354eb074b5a36e0ecad01": "0x94cb08" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x131ff5c755b710d543ea70fede2eb38e5d15b1456df0ae932ba12e2786f7e5df" } } }, "meta": { - "byte_code": "0x02f9019c017e830f42408507bcbf4b558302889294def1c0ded9bec7f1a1670819833240f027b25eff875505545bf258edb90128d9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000005505545bf258ed00000000000000000000000000000000000000000000000000000bb56cfdbe4500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f0869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000d074c91c5c67d4ecc34e2f8c466da451c001a0f492039fb425f20347749f8aaba310d80b84b022041bd16bdf20a62ea52557c5a07ad3a82b6a698b43d9561522cc3049ee8f6214c4866699967f2e220670d84828", - "new_txn_trie_node_byte": "0x02f9019c017e830f42408507bcbf4b558302889294def1c0ded9bec7f1a1670819833240f027b25eff875505545bf258edb90128d9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000005505545bf258ed00000000000000000000000000000000000000000000000000000bb56cfdbe4500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f0869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000d074c91c5c67d4ecc34e2f8c466da451c001a0f492039fb425f20347749f8aaba310d80b84b022041bd16bdf20a62ea52557c5a07ad3a82b6a698b43d9561522cc3049ee8f6214c4866699967f2e220670d84828", - "new_receipt_trie_node_byte": "0xb9043e02f9043a0183c01bc4b9010040200000000000000200000080000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000400000000000000000000002000000008000000200020000000000000000000008000000000000000000000000000000000002040000000000000000000000010000000000000000000000000000000000000000000200001000000080000004080000000000000000000000000004000000000000010000000000000000000000000000000000002000000000000000000000000000000000400001000000000000418000000200000000000000000000000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000000000000000000000000000005505545bf258edf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000197d7010147df7b99e9025c724f13723b29313f8a0000000000000000000000000000000000000000000000000005505545bf258edf89b94a41d2f8ee4f47d3b860a149765a7df8c3287b7f0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000197d7010147df7b99e9025c724f13723b29313f8a0000000000000000000000000e375eb827d962ab869abf788f7a759854a387d3da000000000000000000000000000000000000000000000000000000c12212fd15af87994197d7010147df7b99e9025c724f13723b29313f8e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000004cd337528ea387c000000000000000000000000000000000000000000000021b83c80c5634e08f7f8fc94197d7010147df7b99e9025c724f13723b29313f8f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000e375eb827d962ab869abf788f7a759854a387d3db8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005505545bf258ed00000000000000000000000000000000000000000000000000000c12212fd15a0000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 131905 + "byte_code": "0x02f8b001819d830ded21850182487e2282be06942260fac5e5542a773aa44fbcfedf7c193bc2c59980b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3000000000000000000000000000000000000000000000000000000000094cb08c001a05580d904478bbb6d1fecd9b118e5d4f27d360bac8046910ec237aa5dd9357730a0436fc43527dd68906600c18d255826f76d9e9602809902a56e87d4b7c889a399", + "new_txn_trie_node_byte": "0x02f8b001819d830ded21850182487e2282be06942260fac5e5542a773aa44fbcfedf7c193bc2c59980b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3000000000000000000000000000000000000000000000000000000000094cb08c001a05580d904478bbb6d1fecd9b118e5d4f27d360bac8046910ec237aa5dd9357730a0436fc43527dd68906600c18d255826f76d9e9602809902a56e87d4b7c889a399", + "new_receipt_trie_node_byte": "0xb901ac02f901a80184013b5bebb9010000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000030000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000200000000000000000000000000000f89df89b942260fac5e5542a773aa44fbcfedf7c193bc2c599f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000005aa7a8a081474f5ae64710ae027720da7e6369ada0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0000000000000000000000000000000000000000000000000000000000094cb08", + "gas_used": 48260 } }, { "traces": { - "0xf9b30557afcf76ea82c04015d80057fa2147dfa9": { + "0xf310ac7d07b6d13885267170fb8cf49a196056df": { "code_usage": { - "read": "0xba01211d10b6119b0dd1f3d468ed31f2ab17f775869cc5d8a5d9d0254d910d01" + "read": "0xa3132f82d200e97d5b13ef0ef3439e6d2165bcdd8a798bb0d4e2a88e273bd0ce" } }, - "0xa41d2f8ee4f47d3b860a149765a7df8c3287b7f0": { + "0x3921a552896b5324d2063012bda9a04eaab9c613": { + "balance": "0x3d526c47e8abfc", + "nonce": "0x17" + }, + "0xd0c155595929fd6be034c3848c00daebc6d330f6": { + "balance": "0x34c06f3044c42736e", "storage_read": [ - "0x5da21ecfcd20a180d0ae0c5a2f5f3e089bb1656e07576ade5ecf61a05d974fe5", - "0xaf4f30b3a106144060deb1753025ef9e600b48a1ef00b5fd200f42b8a7950c86", - "0x3717ce676931f4a804505838782548ad13ced1e354d632a62107c439c9acb425", - "0xad0e8efb320216aefbb314426b35fe60203e1ebd1517de06e9e11ffa98164b4d", - "0xd8a2f49ce1849d8ca66a7d8d7146b8c6e45a4575214f14226ea8217b9e98937e", - "0xcf3d72b1e3de507af80aae52d4930580146cc123196d051651dabd181f40addf", - "0x000000000000000000000000000000000000000000000000000000000000000d" + "0x000000000000000000000000000000000000000000000000000000000000009a", + "0x303930cc0b2c3d94dae5d2f39845dce62d251ba36320fa7e8a8e56981cbbf197", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x0000000000000000000000000000000000000000000000000000000000000098" ], "storage_written": { - "0xaf4f30b3a106144060deb1753025ef9e600b48a1ef00b5fd200f42b8a7950c86": "0x93da5f0f1b2", - "0x5da21ecfcd20a180d0ae0c5a2f5f3e089bb1656e07576ade5ecf61a05d974fe5": "0x4cd2a3782f946ca" + "0x303930cc0b2c3d94dae5d2f39845dce62d251ba36320fa7e8a8e56981cbbf197": "0x0" }, "code_usage": { - "read": "0x7a250837efb8ba321dbf0a39fd7487dc7ad15502a33e215ec4184a76ad61f148" + "read": "0xa025f261bfbd5883acf4d373385a39462fece808b5fa7e11bc123f10e16bb52b" } }, - "0x194a2230a51ca7f433e64d48b968313347497fb3": { - "balance": "0x884f26836d9e4", - "nonce": "0x3" - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x2986951612f366351deff", + "0x36e66fbbce51e4cd5bd3c62b637eb411b18949d4": { "storage_read": [ - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e", - "0x17d738cfa336cb1ea00d27d574da37f4f6fe98967feba61fbd6e5b55a273a1b5" + "0x2660660e20c2d0246c3607711af8eaef085d0f6d0560c0bc8408989e6c635725", + "0xa0cf0a7673daaec848376b2bd0f98ae7410f163e4a91e50bf5942ccbd9bc6531", + "0x23273ecf3235f90ea199ead1ce65138dd0a98d2b5ef55a3c65530a1597a8da86" ], "storage_written": { - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e": "0x1", - "0x17d738cfa336cb1ea00d27d574da37f4f6fe98967feba61fbd6e5b55a273a1b5": "0x21b87d985881dc25e9" + "0x23273ecf3235f90ea199ead1ce65138dd0a98d2b5ef55a3c65530a1597a8da86": "0xb6f94ade3e9d54d1452c", + "0xa0cf0a7673daaec848376b2bd0f98ae7410f163e4a91e50bf5942ccbd9bc6531": "0xca50caba735762f2c800" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xe3340561c7e678397b9b93a71b1e3329f49fc0d18082f7e47d5a29eb95762819" } }, - "0xdef1c0ded9bec7f1a1670819833240f027b25eff": { + "0x9ef80a5f91f043c887ce391399b8faefba17364d": { + "code_usage": { + "read": "0xbed57c47e18c7a397ca0cb4b2baa9bbb40fcb45c5834e728151db6a7d4a8555a" + } + }, + "0xd2639676da3dea5491d27da19340556b3a7d58b8": { "storage_read": [ - "0x3a1eae4d9599b151de37596bc1e301e7833e536acda254c41c5aab51deef773d" + "0x0000000000000000000000000000000000000000000000000000000000000065", + "0x000000000000000000000000000000000000000000000000000000000000009a", + "0x9bf562518d531d8e48097391013f2c126aaccb924174b8bc4f3f5c1f85aa706c", + "0x8981a75f1836efc7595ea9b776a74f7f7f4b21ff0d4be1915df0b3e1bc9a7d0d", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" ], + "storage_written": { + "0x8981a75f1836efc7595ea9b776a74f7f7f4b21ff0d4be1915df0b3e1bc9a7d0d": "0xa748d022ac945000" + }, "code_usage": { - "read": "0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e" + "read": "0xa025f261bfbd5883acf4d373385a39462fece808b5fa7e11bc123f10e16bb52b" } }, - "0x197d7010147df7b99e9025c724f13723b29313f8": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4d6cd4c413f2" + } + }, + "meta": { + "byte_code": "0x02f8760116830ded21850182487e22830256c294d0c155595929fd6be034c3848c00daebc6d330f68701c6bf5263400084cb1a4fc0c080a03cec180611b6ee5a5898dc6ec66d92978c830b0423c6a1aeb46b48d40d81ef73a01d715ad106d1487d096b0cedc85c33860e1118fad4f5e383c205a84017e88a83", + "new_txn_trie_node_byte": "0x02f8760116830ded21850182487e22830256c294d0c155595929fd6be034c3848c00daebc6d330f68701c6bf5263400084cb1a4fc0c080a03cec180611b6ee5a5898dc6ec66d92978c830b0423c6a1aeb46b48d40d81ef73a01d715ad106d1487d096b0cedc85c33860e1118fad4f5e383c205a84017e88a83", + "new_receipt_trie_node_byte": "0xb902a502f902a10184013cd184b9010008000000000000000000041000000000000084000800000000000000000000000000000000000000000000008800000000000000000000000000000000004000000000000010000000000009000000000000000000001000000000000000000040000000000100000008000000000000000000000002000000000010000000000000000000000000000000000000000000000000000000000000000000000002000000040000000000000000000000000000000000000000000000000000000000000002000000000020840000000000000000000000000000000001000000000000000080000000000000000000000000000001000000000000000000000000f90195f89b9436e66fbbce51e4cd5bd3c62b637eb411b18949d4f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d0c155595929fd6be034c3848c00daebc6d330f6a0000000000000000000000000d2639676da3dea5491d27da19340556b3a7d58b8a0000000000000000000000000000000000000000000000000a748d022ac945000f87a94d2639676da3dea5491d27da19340556b3a7d58b8f842a09e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3da00000000000000000000000003921a552896b5324d2063012bda9a04eaab9c613a0000000000000000000000000000000000000000000000000a748d022ac945000f87a94d0c155595929fd6be034c3848c00daebc6d330f6f842a0d8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426aa00000000000000000000000003921a552896b5324d2063012bda9a04eaab9c613a0000000000000000000000000000000000000000000000000a748d022ac945000", + "gas_used": 95641 + } + }, + { + "traces": { + "0xadcf6a30a98030cbc1f610d9f55a0b1b5b5b46f8": { + "balance": "0x298f215ad0ba7c", + "nonce": "0x5" + }, + "0x2f47ca81a38cb76f94256706750a4ea879e7cf9f": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006" + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x6832ad49e1be018c9dc84152bcd83b2cf3a76ee734803e0b2b03566c17e15a55" ], "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000021b87d985881dc25e900000000000004cd2a3782f946ca" + "0x486222ed07fde64519adae2ef185c386594b72b696c69d36825e5c837c7fdfb2": "0x2000000006632d06badcf6a30a98030cbc1f610d9f55a0b1b5b5b46f8", + "0x6832ad49e1be018c9dc84152bcd83b2cf3a76ee734803e0b2b03566c17e15a55": "0x10000000000000001", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x13a42" }, "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0x831f91cd1ece4ffd2723d93acc5f00be092c05dc9486c081ed7667008404e1e9" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621d009101207b" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4d7d3d63efd4" } }, "meta": { - "byte_code": "0x02f9019c0102830f42408507fc0225c68302889294def1c0ded9bec7f1a1670819833240f027b25eff874117931e8e1cf2b90128d9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000004117931e8e1cf2000000000000000000000000000000000000000000000000000008f6dae610d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f0869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000463308153dd26178b21043304cdb750ec001a0b509866f6f3a541fe3a1d9dabd930a5bfa6a1c53f7612fda00b4b8e7290e398fa01e2fe02c1d8defc2b80cadd5372c5a2062f0b2bdd9cdc20fa29cb694d379109f", - "new_txn_trie_node_byte": "0x02f9019c0102830f42408507fc0225c68302889294def1c0ded9bec7f1a1670819833240f027b25eff874117931e8e1cf2b90128d9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000004117931e8e1cf2000000000000000000000000000000000000000000000000000008f6dae610d200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f0869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000463308153dd26178b21043304cdb750ec001a0b509866f6f3a541fe3a1d9dabd930a5bfa6a1c53f7612fda00b4b8e7290e398fa01e2fe02c1d8defc2b80cadd5372c5a2062f0b2bdd9cdc20fa29cb694d379109f", - "new_receipt_trie_node_byte": "0xb9043e02f9043a0183c1f655b9010040200000000000000200000080000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000000000000000000000002000000008000000200020000000000000000000008000000000000000000000000000000000002040000000008000000000000010000000000000000000000000000000000000000000200001000000080000004000000000000000000000000000004000000000000010000000000000000000000000000000000002000000000000000000000000000000000400001000000000000018000000200000000100000000000000000000000000000000400000008000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000000000000000000000000000004117931e8e1cf2f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000197d7010147df7b99e9025c724f13723b29313f8a0000000000000000000000000000000000000000000000000004117931e8e1cf2f89b94a41d2f8ee4f47d3b860a149765a7df8c3287b7f0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000197d7010147df7b99e9025c724f13723b29313f8a0000000000000000000000000194a2230a51ca7f433e64d48b968313347497fb3a00000000000000000000000000000000000000000000000000000093da5f0f1b2f87994197d7010147df7b99e9025c724f13723b29313f8e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000004cd2a3782f946ca000000000000000000000000000000000000000000000021b87d985881dc25e9f8fc94197d7010147df7b99e9025c724f13723b29313f8f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000194a2230a51ca7f433e64d48b968313347497fb3b8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004117931e8e1cf20000000000000000000000000000000000000000000000000000093da5f0f1b20000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 121489 + "byte_code": "0x02f8930104830ded21850182487e228301311b942f47ca81a38cb76f94256706750a4ea879e7cf9f80a8a0712d6800000000000000000000000000000000000000000000000000000000000000010021fb3fc080a0554c64974faf7fddb72aa05b7d4eb8296693218c95544167cf94643578acc7fea06e0cc9b283cd3b2e260d13f30d27626fab91bf2bf9948433ea68b829eeed3e02", + "new_txn_trie_node_byte": "0x02f8930104830ded21850182487e228301311b942f47ca81a38cb76f94256706750a4ea879e7cf9f80a8a0712d6800000000000000000000000000000000000000000000000000000000000000010021fb3fc080a0554c64974faf7fddb72aa05b7d4eb8296693218c95544167cf94643578acc7fea06e0cc9b283cd3b2e260d13f30d27626fab91bf2bf9948433ea68b829eeed3e02", + "new_receipt_trie_node_byte": "0xb9022b02f902270184013dff26b9010000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000100000020040000800000000000100000000008000000000000000000040000000000000000000000000000020000800000000000400800000020000000000000000010000000000000000000000000000040000000000000000000000000000000040000000000000000000000000000000000100000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000200000000000f9011bf89c942f47ca81a38cb76f94256706750a4ea879e7cf9ff884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000adcf6a30a98030cbc1f610d9f55a0b1b5b5b46f8a00000000000000000000000000000000000000000000000000000000000013a4180f87b942f47ca81a38cb76f94256706750a4ea879e7cf9ff863a052277f0b4a9b555c5aa96900a13546f972bda413737ec164aac947c87eec6024a0000000000000000000000000adcf6a30a98030cbc1f610d9f55a0b1b5b5b46f8a0000000000000000000000000000000000000000000000000000000000000000180", + "gas_used": 77218 } }, { "traces": { - "0x197d7010147df7b99e9025c724f13723b29313f8": { + "0x32b86b99441480a7e5bd3a26c124ec2373e3f015": { + "storage_read": [ + "0x811c75203db99cb042f57d9dde70ead32eef868946c900f435b0ad86889e79d5", + "0xd8a5b9b24bb7b3185f3e18daaddf65b1ca0988da6ca320d6e78b6d21e3322ba3", + "0xeb446943c767298bdb8fcaa715b72549d7226f272a6e59871fa4f4a0f867205e" + ], + "storage_written": { + "0xd8a5b9b24bb7b3185f3e18daaddf65b1ca0988da6ca320d6e78b6d21e3322ba3": "0x0", + "0xeb446943c767298bdb8fcaa715b72549d7226f272a6e59871fa4f4a0f867205e": "0x18a145a7edea2e55f9100e45d54" + }, + "code_usage": { + "read": "0x395fd355cfa04ee259d4607352f664a27380ef07b2f705d35e8be8106e70b528" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4d993944617e" + }, + "0x29c830864930c897efa2b9e9851342187b82010e": { "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", "0x0000000000000000000000000000000000000000000000000000000000000008", "0x000000000000000000000000000000000000000000000000000000000000000c", "0x0000000000000000000000000000000000000000000000000000000000000006", "0x0000000000000000000000000000000000000000000000000000000000000007" ], "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000021b8b3608ec07511ef00000000000004cd2295025e0f2e" + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b00000000000e47fb14b856973c88018a145a7edea2e55f9100e45d54", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x26274550dbc75fb36a8d9f38e4", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x44606796552be7c774b61b8432633e0226c339116cb8", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" }, "code_usage": { "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" } }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298695196f76ca1eacb05", + "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { "storage_read": [ - "0x17d738cfa336cb1ea00d27d574da37f4f6fe98967feba61fbd6e5b55a273a1b5", - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e" + "0x0000000000000000000000000000000000000000000000000000000000000001" ], "storage_written": { - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e": "0x1", - "0x17d738cfa336cb1ea00d27d574da37f4f6fe98967feba61fbd6e5b55a273a1b5": "0x21b8b3608ec07511ef" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621d18df12dbbb" - }, - "0xdef1c0ded9bec7f1a1670819833240f027b25eff": { + "0x000000000022d473030f116ddee9f6b43ac78ba3": { "storage_read": [ - "0x3a1eae4d9599b151de37596bc1e301e7833e536acda254c41c5aab51deef773d" + "0x105fda220fea7ecfe8a1b3ffee0d1d64260eacf3f0caa6479a0344456b2a3801" ], "code_usage": { - "read": "0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e" + "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" } }, - "0xf9b30557afcf76ea82c04015d80057fa2147dfa9": { - "code_usage": { - "read": "0xba01211d10b6119b0dd1f3d468ed31f2ab17f775869cc5d8a5d9d0254d910d01" - } + "0x77c7180fc2c1b0920b344dfc04759bb43008a471": { + "balance": "0x3bfba6c4e1af52", + "nonce": "0xf" }, - "0xa41d2f8ee4f47d3b860a149765a7df8c3287b7f0": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b819cc9ba4c44c54e2c", "storage_read": [ - "0x3717ce676931f4a804505838782548ad13ced1e354d632a62107c439c9acb425", - "0x7c18a9fa3f5a3150e4d9b1d6ecb242beea619bd3f5862ef7e867886d5c175e31", - "0x404f157c1f81c1859d597e51ee14663d7b1589cb73ece3590afd6d54d063d1d9", - "0xcf3d72b1e3de507af80aae52d4930580146cc123196d051651dabd181f40addf", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x5da21ecfcd20a180d0ae0c5a2f5f3e089bb1656e07576ade5ecf61a05d974fe5", - "0x743244747aa7674d7f8943b8e72c8b989e0d8e59efc136d02bfff15a7fe56d09" + "0xa88ea72da32a25ddde424226a3e6db871c27c5f01ffffcf1e451a35c75c43a8e", + "0x070e1d9d82b774cc5b0ee75c4a3bbfd6290fb35c96578e62a94dc7fbce4ff7b6", + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a" ], "storage_written": { - "0x743244747aa7674d7f8943b8e72c8b989e0d8e59efc136d02bfff15a7fe56d09": "0xb9b5bdc80f0", - "0x5da21ecfcd20a180d0ae0c5a2f5f3e089bb1656e07576ade5ecf61a05d974fe5": "0x4cd2295025e0f2e" + "0x070e1d9d82b774cc5b0ee75c4a3bbfd6290fb35c96578e62a94dc7fbce4ff7b6": "0x109aaed3df15b281", + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", + "0xa88ea72da32a25ddde424226a3e6db871c27c5f01ffffcf1e451a35c75c43a8e": "0xe47fb14b856973c88" }, "code_usage": { - "read": "0x7a250837efb8ba321dbf0a39fd7487dc7ad15502a33e215ec4184a76ad61f148" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } - }, - "0x87344e617317ef00ab934c8f3d32f08b15ba4a86": { - "balance": "0xc069139b94d7a", - "nonce": "0xd8" } }, "meta": { - "byte_code": "0x02f9019d0181d7830f42408507f97c607e830234d494def1c0ded9bec7f1a1670819833240f027b25eff8735c8363e98ec06b90128d9627aa400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000035c8363e98ec06000000000000000000000000000000000000000000000000000007681fdee6ef00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f0869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000b338711f4352ca2f74b17dfc0aee584ec001a081125cbf5a012ed470ab95418cebac264ca50fad620e29c468459f6d29bd0bf5a004e916afe998d5fcd3b8340190802bbe648326b5f333a8f93aabf3a0fc0d6748", - "new_txn_trie_node_byte": "0x02f9019d0181d7830f42408507f97c607e830234d494def1c0ded9bec7f1a1670819833240f027b25eff8735c8363e98ec06b90128d9627aa400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000035c8363e98ec06000000000000000000000000000000000000000000000000000007681fdee6ef00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f0869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba100000000000000000000000000000000b338711f4352ca2f74b17dfc0aee584ec001a081125cbf5a012ed470ab95418cebac264ca50fad620e29c468459f6d29bd0bf5a004e916afe998d5fcd3b8340190802bbe648326b5f333a8f93aabf3a0fc0d6748", - "new_receipt_trie_node_byte": "0xb9043e02f9043a0183c38e1ab9010040200000000000000200000080000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000000000000000000000002000000008000000200020080000000000000000008000000000000000000000000000000000002040000000000000000000000010000000000000000000000000000000000000000000200001000000080000004000000000000000000000000000004000000000000010000000000000000000000000000000000002000000000000000000000000000000000400001000000000000018400000200000000000000000200000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa00000000000000000000000000000000000000000000000000035c8363e98ec06f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000197d7010147df7b99e9025c724f13723b29313f8a00000000000000000000000000000000000000000000000000035c8363e98ec06f89b94a41d2f8ee4f47d3b860a149765a7df8c3287b7f0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000197d7010147df7b99e9025c724f13723b29313f8a000000000000000000000000087344e617317ef00ab934c8f3d32f08b15ba4a86a0000000000000000000000000000000000000000000000000000007a2809b379cf87994197d7010147df7b99e9025c724f13723b29313f8e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000004cd2295025e0f2e000000000000000000000000000000000000000000000021b8b3608ec07511eff8fc94197d7010147df7b99e9025c724f13723b29313f8f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa000000000000000000000000087344e617317ef00ab934c8f3d32f08b15ba4a86b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035c8363e98ec06000000000000000000000000000000000000000000000000000007a2809b379c0000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 104389 + "byte_code": "0x02f90391010e830ded21850173a4943c83030403943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d293000000000000000000000000000000000000000000000000000000000000000308060c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000623a4a6661a6db594a4e5a30000000000000000000000000000000000000000000000000038815e9095988100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000032b86b99441480a7e5bd3a26c124ec2373e3f015000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000037a8f295612602f2774d331e562be9e61b83a32700000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000385d34ba768070c080a0277ebff500190fab3f145cc21e820db987ed3cb358b37d35eb8eae8e26b0a100a00ea8513672cd58cad223760ac213d13e63907f3723f940f1d82611dd9cd0c9dc", + "new_txn_trie_node_byte": "0x02f90391010e830ded21850173a4943c83030403943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d293000000000000000000000000000000000000000000000000000000000000000308060c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000623a4a6661a6db594a4e5a30000000000000000000000000000000000000000000000000038815e9095988100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000032b86b99441480a7e5bd3a26c124ec2373e3f015000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000037a8f295612602f2774d331e562be9e61b83a32700000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000385d34ba768070c080a0277ebff500190fab3f145cc21e820db987ed3cb358b37d35eb8eae8e26b0a100a00ea8513672cd58cad223760ac213d13e63907f3723f940f1d82611dd9cd0c9dc", + "new_receipt_trie_node_byte": "0xb904dc02f904d8018401400190b9010000200000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000000000000000080000000000000808800000200000000000440000000000000020100000000000000000010000000000000000000000000000040000100010020000020000000000000000000000000000000000000000000000080000004000000200000000000000002000000000000000000000000000000000000000000000000000000002000000000000000000000008000000000000001000001002000000000000200004000000400000000000000000001000000000000000000000004000f903ccf89b9432b86b99441480a7e5bd3a26c124ec2373e3f015f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000077c7180fc2c1b0920b344dfc04759bb43008a471a000000000000000000000000029c830864930c897efa2b9e9851342187b82010ea000000000000000000000000000000000000000000623a4a6661a6db594a4e5a3f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000029c830864930c897efa2b9e9851342187b82010ea00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000038c9b23cd3c8a1f8799429c830864930c897efa2b9e9851342187b82010ee1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000018a145a7edea2e55f9100e45d5400000000000000000000000000000000000000000000000e47fb14b856973c88f8fc9429c830864930c897efa2b9e9851342187b82010ef863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000623a4a6661a6db594a4e5a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038c9b23cd3c8a1f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000037a8f295612602f2774d331e562be9e61b83a327a0000000000000000000000000000000000000000000000000000024582026edf1f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000038a55a1cacdab0", + "gas_used": 131690 } }, { "traces": { - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0xe2273b2c86b7ab0e75ed5058b4da18d047e64a69": { + "balance": "0x56dcac7a45f3c3", + "nonce": "0x11" + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4da425ad0ceb" + }, + "0xf047ab4c75cebf0eb9ed34ae2c186f3611aeafa6": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x39e5a268ed4c9616d35f301dd0d433811334e7dcc7ad12e0cd0760b061b18ead", - "0xf37257aa70ba5a940068ea4bd56bc4e270b1d0d2743c465883538dcc1bcc2af9", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x173d71948b799b7063ab7f48523dec14e446d48639b7bdf62a67162bdb61dd0b", - "0x000000000000000000000000000000000000000000000000000000000000000a" + "0xaf4c05c855e5677c3cfc1914d088a96cacda35d919df8587cc0af7747112fd0b", + "0x0000000000000000000000000000000000000000000000000000000000000008" ], "storage_written": { - "0xf37257aa70ba5a940068ea4bd56bc4e270b1d0d2743c465883538dcc1bcc2af9": "0x59682f00", - "0x39e5a268ed4c9616d35f301dd0d433811334e7dcc7ad12e0cd0760b061b18ead": "0x1443fd00" + "0xaf4c05c855e5677c3cfc1914d088a96cacda35d919df8587cc0af7747112fd0b": "0x0", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x20966" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x330b630638e45df0445f7ad6ee5ad6ac7c53b176a8ffc25b4c920e01b55d5d7f" } }, - "0xfccc40e634ad4aa86cc1b77288da43685725bb99": { - "balance": "0x2e192247451b54", - "nonce": "0x9" + "0xcd5fe23c85820f7b72d0926fc9b05b43e359b7ee": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x5dcb5689d1e3e3c221e9da1f10681d9a9c6311040aa4f541131bd3624c060b02", + "0xf1d1ab4370e53be6b43810ae9ee203a71807f4eaad9eb4c9b9e589b752b8c7a3" + ], + "storage_written": { + "0x5dcb5689d1e3e3c221e9da1f10681d9a9c6311040aa4f541131bd3624c060b02": "0x30e33e8d517d6dc54728", + "0xf1d1ab4370e53be6b43810ae9ee203a71807f4eaad9eb4c9b9e589b752b8c7a3": "0x149d6a85f6975cd9" + }, + "code_usage": { + "read": "0x0b58ec11caee361ca0c1e484c12f6e7177634222186f7639bd9183dfee9d2278" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621d239aab41fb" + "0xe629ee84c1bd9ea9c677d2d5391919fcf5e7d5d9": { + "code_usage": { + "read": "0x772dd1f6fee4934a63703e7e8adfdb8f4588e1eaa5442aa63d336e92c72cc52a" + } } }, "meta": { - "byte_code": "0x02f8b00108830f424085088f049ec283010e1994dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000084de2542d1866f607f561bf5e3601384483f8602000000000000000000000000000000000000000000000000000000001dcd6500c080a0fe987557cae1af94fb265f9ff7619fae356ad4a56918e690458144b5cac29795a05e62c8aa0a2b5e7eccc6cb29c783e129bf7b83be803114dea1a231181ad6eebd", - "new_txn_trie_node_byte": "0x02f8b00108830f424085088f049ec283010e1994dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000084de2542d1866f607f561bf5e3601384483f8602000000000000000000000000000000000000000000000000000000001dcd6500c080a0fe987557cae1af94fb265f9ff7619fae356ad4a56918e690458144b5cac29795a05e62c8aa0a2b5e7eccc6cb29c783e129bf7b83be803114dea1a231181ad6eebd", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183c4422bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000000000008000004000000000000000000000100000000000000000000000000000000000000000000000400000000000000000010000000000000000000100000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000fccc40e634ad4aa86cc1b77288da43685725bb99a000000000000000000000000084de2542d1866f607f561bf5e3601384483f8602a0000000000000000000000000000000000000000000000000000000001dcd6500", - "gas_used": 46097 + "byte_code": "0x02f8b00110830ded21850182487e2283014a9794f047ab4c75cebf0eb9ed34ae2c186f3611aeafa680b844f3fef3a3000000000000000000000000cd5fe23c85820f7b72d0926fc9b05b43e359b7ee000000000000000000000000000000000000000000000000149d336e155d8000c001a0e8d26ed0c3cb6d3166a800f961f9184d95791ae51e4bf0e7390b35df122544bca071251aee8dedca2f77356c89352884d0a7f6f217051719ec0105124105e7c610", + "new_txn_trie_node_byte": "0x02f8b00110830ded21850182487e2283014a9794f047ab4c75cebf0eb9ed34ae2c186f3611aeafa680b844f3fef3a3000000000000000000000000cd5fe23c85820f7b72d0926fc9b05b43e359b7ee000000000000000000000000000000000000000000000000149d336e155d8000c001a0e8d26ed0c3cb6d3166a800f961f9184d95791ae51e4bf0e7390b35df122544bca071251aee8dedca2f77356c89352884d0a7f6f217051719ec0105124105e7c610", + "new_receipt_trie_node_byte": "0xb9026b02f9026701840140ca5db9010000000000000000000000000000000100000080000010010000000020030000000040000000000000100000008000000000000000000000040000000000000200000000000000000000000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000004000000000000000002000000000800000020000000000000000000000000000000000000000010000010000000001000000000000000000f9015bf8bc94f047ab4c75cebf0eb9ed34ae2c186f3611aeafa6f884a0feb2000dca3e617cd6f3a8bbb63014bb54a124aac6ccbf73ee7229b4cd01f120a00000000000000000000000000000000000000000000000000000000000020966a0000000000000000000000000e2273b2c86b7ab0e75ed5058b4da18d047e64a69a0000000000000000000000000cd5fe23c85820f7b72d0926fc9b05b43e359b7eea0000000000000000000000000000000000000000000000000149d336e155d8000f89b94cd5fe23c85820f7b72d0926fc9b05b43e359b7eef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f047ab4c75cebf0eb9ed34ae2c186f3611aeafa6a0000000000000000000000000e2273b2c86b7ab0e75ed5058b4da18d047e64a69a0000000000000000000000000000000000000000000000000149d336e155d8000", + "gas_used": 51405 } }, { "traces": { - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } + }, + "0xa0a60971638c5989e3fb076c23fbf1cfc0133625": { + "balance": "0x357f748f44ce6", + "nonce": "0x48" + }, + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x336e9581f41ff6c503cd1a7099a06fa8aa0912be21f6ff64d22e6a969f6c90cf", - "0x34142f1479680251c7a332a106ecbb97f0412b57b917ef2a8032674c2086e1c4", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x552d6107fec55c8d8308ed955f897fb010118dbe601553de91cee468ad000e71", "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x8757f2654bb58f16dbfb9805d8c3654a15b599775231c93350cdf98d8318eb5e", + "0x5b8ef837c7e8d810776281fac0470175694844a81aed8104752a04d32a222bf1" ], "storage_written": { - "0x336e9581f41ff6c503cd1a7099a06fa8aa0912be21f6ff64d22e6a969f6c90cf": "0x39a157780", - "0x34142f1479680251c7a332a106ecbb97f0412b57b917ef2a8032674c2086e1c4": "0x3b9aca00" + "0x5b8ef837c7e8d810776281fac0470175694844a81aed8104752a04d32a222bf1": "0x1", + "0x8757f2654bb58f16dbfb9805d8c3654a15b599775231c93350cdf98d8318eb5e": "0xa0a60971638c5989e3fb076c23fbf1cfc0133625" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621d2e56fac33b" - }, - "0x929c84df7c017583ece946f5741e570c78e153ae": { - "balance": "0x3296ce18ee0533", - "nonce": "0xee" - } - }, - "meta": { - "byte_code": "0x02f8b10181ed830f424085088f049ec283010e2b94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000009a0c41f69d7301b1b06f1166ba6914b123561b2b000000000000000000000000000000000000000000000000000000003b023380c080a0718f31045d6873bfd1ac50f51a599816c07b918e8df42bf86049b950092b02c5a05068a688ee4e924ec718bb451167b7f9b500dfbeb80888b59a9a73f3e17892c9", - "new_txn_trie_node_byte": "0x02f8b10181ed830f424085088f049ec283010e2b94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000009a0c41f69d7301b1b06f1166ba6914b123561b2b000000000000000000000000000000000000000000000000000000003b023380c080a0718f31045d6873bfd1ac50f51a599816c07b918e8df42bf86049b950092b02c5a05068a688ee4e924ec718bb451167b7f9b500dfbeb80888b59a9a73f3e17892c9", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183c4f648b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000010000000000000000000004000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000020000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000929c84df7c017583ece946f5741e570c78e153aea00000000000000000000000009a0c41f69d7301b1b06f1166ba6914b123561b2ba0000000000000000000000000000000000000000000000000000000003b023380", - "gas_used": 46109 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621d36e33eaf7b" + "0x0000000000000000000000000000000000000001": {}, + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { + "storage_read": [ + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f" + ], + "code_usage": { + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" + } }, - "0x6cc8dcbca746a6e4fdefb98e1d0df903b107fd21": { - "balance": "0x135428cc3a410768e9", - "nonce": "0x6f4a7" + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4dc6cdf877e2" }, - "0x4cff49d0a19ed6ff845a9122fa912abcfb1f68a6": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0xbc244d56219e6a2bf2726bbe3fc38fb8d52bd7704e40b2ec2cc5f5d50ffe7139", - "0x8f7e37635f5e3bfe4e646b7407d60e10b47d26ae4f01287216c88e18689d4e93" + "0x0cbb5c5b9437fbe68c38d2cf073d7cdc2fc434c0b34e29f5334ecb145d8d8ed2", + "0xd76fd176c2946b3eeddef5ea774d695a6a44202354cc126ffd5855320a0c2cc5", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0xbc244d56219e6a2bf2726bbe3fc38fb8d52bd7704e40b2ec2cc5f5d50ffe7139": "0x3854b4d06446fc18954c9", - "0x8f7e37635f5e3bfe4e646b7407d60e10b47d26ae4f01287216c88e18689d4e93": "0x1126f35390486fa20000" + "0x0cbb5c5b9437fbe68c38d2cf073d7cdc2fc434c0b34e29f5334ecb145d8d8ed2": "0x1", + "0xd76fd176c2946b3eeddef5ea774d695a6a44202354cc126ffd5855320a0c2cc5": "0x1" }, "code_usage": { - "read": "0xaf261a0a1353d5889d14e79e858eb137bc7b1376b7c7c219c2851798cd49d02d" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } } }, "meta": { - "byte_code": "0x02f8b3018306f4a6830f4240850e43a831c4830134e5944cff49d0a19ed6ff845a9122fa912abcfb1f68a680b844a9059cbb00000000000000000000000095346b9c25553345c87a4f564f75cbb9e82f2e6b0000000000000000000000000000000000000000000004dce520a022cfea0000c001a0e98a4bfa58657880528d18cab7a25055985f42f9aaa05810a893875199b8a749a032dcc8e9124e083cf5dd9c7efb6786987e209a56ac23564a8232adfe14aabddb", - "new_txn_trie_node_byte": "0x02f8b3018306f4a6830f4240850e43a831c4830134e5944cff49d0a19ed6ff845a9122fa912abcfb1f68a680b844a9059cbb00000000000000000000000095346b9c25553345c87a4f564f75cbb9e82f2e6b0000000000000000000000000000000000000000000004dce520a022cfea0000c001a0e98a4bfa58657880528d18cab7a25055985f42f9aaa05810a893875199b8a749a032dcc8e9124e083cf5dd9c7efb6786987e209a56ac23564a8232adfe14aabddb", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183c585b1b9010000000000000000000000000000400000000000000000000200000000000000000000000000000000000000000000000000000000000000000020020000000000000000000000000000000008000000000004000000000000000000000000000100000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000002000000000000000000200000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b944cff49d0a19ed6ff845a9122fa912abcfb1f68a6f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006cc8dcbca746a6e4fdefb98e1d0df903b107fd21a000000000000000000000000095346b9c25553345c87a4f564f75cbb9e82f2e6ba00000000000000000000000000000000000000000000004dce520a022cfea0000", - "gas_used": 36713 + "byte_code": "0x02f902910147830ded2185016d73dabf8303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000440bb0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d3700000000000440bb00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3dc00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000412d638543ef2124d57a0f727b85fee811905288ec139b1c943fbea877bc70bd1a0a49a4bc1229247356c9cc5a6a7f1b817580c5b9cdbda9c2bb9cdc4b6cedf0161b00000000000000000000000000000000000000000000000000000000000000c001a063d721c17c18532a97ffc7ff27f892c91a53d6bead80fd921d16ac34ff5a6dd9a067888e42e1c7edb42e76e74952c7540da45df6e0720628cdb96329887c7069df", + "new_txn_trie_node_byte": "0x02f902910147830ded2185016d73dabf8303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000440bb0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d3700000000000440bb00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3dc00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000412d638543ef2124d57a0f727b85fee811905288ec139b1c943fbea877bc70bd1a0a49a4bc1229247356c9cc5a6a7f1b817580c5b9cdbda9c2bb9cdc4b6cedf0161b00000000000000000000000000000000000000000000000000000000000000c001a063d721c17c18532a97ffc7ff27f892c91a53d6bead80fd921d16ac34ff5a6dd9a067888e42e1c7edb42e76e74952c7540da45df6e0720628cdb96329887c7069df", + "new_receipt_trie_node_byte": "0xb902ce02f902ca018401434774b9010000000000000000000000000000000000000000000000200000000000000002008000000000100000000000000000000000000000000000000000000000000000000000000000000000000008000000100000000000000000000000000400000000000000020000000000000000000800000000000000000000000010000000000002000000000000000000800000000000000000000000000000000000000000080000000000000004000000000000000000000000000000001000000000000000000002008000001000000000002004000000000000000000000000000020000000000000000000000000000000008000000000100000400000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a0a60971638c5989e3fb076c23fbf1cfc0133625a000000000000000000000000000000000000000000000000000000000000440bb80f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000a0a60971638c5989e3fb076c23fbf1cfc0133625a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a000000000000000000000000000000000000000000000000000000000000440bbb880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0xcbd6832ebc203e49e2b771897067fce3c58575ac": { - "balance": "0x29a3e1eef52a6ffbea", - "nonce": "0x9af42" + "0x4dac26f1e79a00dc8f8e365a0df3ded2c31eb59f": { + "balance": "0x6205f8d577c0d4", + "nonce": "0x9e0" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621d3bc6f1417b" + "0x5441765d3ab74e0347df52ffab5a69e5146b5d26": { + "storage_written": { + "0x3ce10d4aec7245873edda17d5f59e43db09c396a358d8d5f99db00f10f4dc1b9": "0x1bcb13a657b2638800000" + }, + "code_usage": { + "read": "0x2a5c49c1c0490d50e87101ee37eafb04b2b8a0bdce3971042ea83c7ee25fc77a" + } }, - "0xe1e8ccbc1353adc20f5cd360bbff96f1f7256b17": { - "balance": "0x8199be2b5f28ef2" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4dd0c3f3115d" } }, "meta": { - "byte_code": "0x02f876018309af41830f4240850ed16354b683015f9094e1e8ccbc1353adc20f5cd360bbff96f1f7256b178805d8506e5746700080c080a090aea3c20fa3c2cf59c49ed1fa807852ecd9d3a68476716c7773c9864c20fb49a05dec0e9cda79d585432e13052c27a317b82ff01cec213d40388f426480f97a27", - "new_txn_trie_node_byte": "0x02f876018309af41830f4240850ed16354b683015f9094e1e8ccbc1353adc20f5cd360bbff96f1f7256b178805d8506e5746700080c080a090aea3c20fa3c2cf59c49ed1fa807852ecd9d3a68476716c7773c9864c20fb49a05dec0e9cda79d585432e13052c27a317b82ff01cec213d40388f426480f97a27", - "new_receipt_trie_node_byte": "0xb9010d02f901090183c5d7b9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f8b1018209df830ded21850182487e2282b89b945441765d3ab74e0347df52ffab5a69e5146b5d2680b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba300000000000000000000000000000000000000000001bcb13a657b2638800000c001a055c37ab0a2d1290c4d35cf6c8847deaffd7248fd1f99b70e81dbf0e9737a1c9da0522bca33d4407b8d5381e5619c86b4c34b99d2856697f4e68d862647e1f2ae98", + "new_txn_trie_node_byte": "0x02f8b1018209df830ded21850182487e2282b89b945441765d3ab74e0347df52ffab5a69e5146b5d2680b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba300000000000000000000000000000000000000000001bcb13a657b2638800000c001a055c37ab0a2d1290c4d35cf6c8847deaffd7248fd1f99b70e81dbf0e9737a1c9da0522bca33d4407b8d5381e5619c86b4c34b99d2856697f4e68d862647e1f2ae98", + "new_receipt_trie_node_byte": "0xb901ac02f901a801840143fe8fb9010000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800200000000000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000080000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945441765d3ab74e0347df52ffab5a69e5146b5d26f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000004dac26f1e79a00dc8f8e365a0df3ded2c31eb59fa0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a000000000000000000000000000000000000000000001bcb13a657b2638800000", + "gas_used": 46875 } }, { "traces": { - "0x281c1e1337e1a5f9e05b7d7bd6ae59b5311fe030": { - "balance": "0x54670d5321dc789", - "nonce": "0x183" + "0xecaf2234799526a25a961c880fd1dd269f790652": { + "balance": "0x6ab5dab01a76a", + "nonce": "0x2" }, - "0xbffc39c1b8f018ff7ee7a63987f0b46f329e105a": { - "balance": "0x562bd4e667e4d00" + "0x97a9a15168c22b3c137e6381037e1499c8ad0978": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x4d687d4e5b517a4486114b3f06f2437bc3a715f8288c28ac6b2a685ee39b465c" + ], + "code_usage": { + "read": "0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621d40aaa3d37b" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4dd66543fbbc" } }, "meta": { - "byte_code": "0x02f87401820182830f424085088f049ec282520894bffc39c1b8f018ff7ee7a63987f0b46f329e105a880214e8348c4f000080c080a0ef6c14a0f383e825b24806c35b8383f4130ebb2ab37a1c0bbec0c4c84fcb4260a012378c753e7f9203a0e8e33abd96ee11d0a07ebede10deee92098bb257f01fd4", - "new_txn_trie_node_byte": "0x02f87401820182830f424085088f049ec282520894bffc39c1b8f018ff7ee7a63987f0b46f329e105a880214e8348c4f000080c080a0ef6c14a0f383e825b24806c35b8383f4130ebb2ab37a1c0bbec0c4c84fcb4260a012378c753e7f9203a0e8e33abd96ee11d0a07ebede10deee92098bb257f01fd4", - "new_receipt_trie_node_byte": "0xb9010d02f901090183c629c1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f8b00101830ded21850182487e22830186a09497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000009cb0841280e59d47c549b8702dcc90d1a5b8cbbc0000000000000000000000000000000000000000000000195b7959b388b80000c080a0d12a0aad4a31925e5c340543ed108fe4e8779a36e41b91d76f0aad3a81d7cd5ea0661c458c85c3751f3083979a49fc20d636edbeb26a47785538b359daa86db871", + "new_txn_trie_node_byte": "0x02f8b00101830ded21850182487e22830186a09497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000009cb0841280e59d47c549b8702dcc90d1a5b8cbbc0000000000000000000000000000000000000000000000195b7959b388b80000c080a0d12a0aad4a31925e5c340543ed108fe4e8779a36e41b91d76f0aad3a81d7cd5ea0661c458c85c3751f3083979a49fc20d636edbeb26a47785538b359daa86db871", + "new_receipt_trie_node_byte": "0xb9010e02f9010a80840144660eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 26495 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621e2d4a200b7b" + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { + "storage_read": [ + "0x9abc6483a03c4ca06b056167dd7c94c329af20e907a7d4f2c9d55d92410b360a", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xe5a8cfaf6e2f4a279353a09724f61fd8f29adbc9ec69ec8ee06f9d1465d4d52e" + ], + "storage_written": { + "0xe5a8cfaf6e2f4a279353a09724f61fd8f29adbc9ec69ec8ee06f9d1465d4d52e": "0x1", + "0x9abc6483a03c4ca06b056167dd7c94c329af20e907a7d4f2c9d55d92410b360a": "0x1" + }, + "code_usage": { + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" + } }, - "0x5050f69a9786f081509234f1a7f4684b5e5b76c9": { - "balance": "0x1fbff3b61c594a3dca", - "nonce": "0x5356a" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4df90c412b9b" }, - "0xff00000000000000000000000000000000008453": {} - }, - "meta": { - "byte_code": "0x02f9f4170183053569830f4240850ed16354b6830f81e094ff0000000000000000000000000000000000845380b9f3a700fa2f95f078a7f5a3d8d2d487760a9c7b00000000f38f78daecbd7758535bd6389c842e4857945e45e901421214e9bdf7222025a1f70e2284842a8aa0208a944313a52928986043aa74952282882822554104e97c8fcebd77744689ca75e67d7fdfbb1ef2c7619f7dce2e6badbdfa2130bd062d338d003bdf2b0a4c84de6cf1d811901240bde22e75d4224ea86378a272c0b7a3d78ccf2e1a2c70ae0a50c83d93e6ac7d9f43c476ffdb6385d1f7983a5b847db29a9e927cbc10c7a17b647734bacb267f99e90c019c0e59069fc5f29091475bba8883a22d5da0ed38f0519b54138f83712c4573cdef219da2e03d3b8c7db8decf6008607e5865ec5dd01700661f6c93bc719b9dc99ac36fdc90edf45c839b02682b0023300884b4a48484244aca51d2491a21e584947140c3501228a834420a0e453a7e793b0e96b0d63753fde2b44eb864cf4736933bc00126d0d600106957144daac3894cbedfc569d272a8e5e9b1cec5d386c11d155eb0a9134cead71f33e103b4dedf4b9a18e9ccf166c4b879b2534a2d515ddc10b240c227743f8e9a742cb31379412d06f07fc982ccaa4caab13253706d13a441a7913cadf07d97cd3d5525f74205427e0910caf72c3875d4cebcfb596f0a8684bb593591a2cbe7621efa369d74b8e60ad365fc0dc852059687cc3c9a6c6104144d4ec67f193b783575477ae7acf1b24649a760c8e8cdac57e8bbcb33fa18bc0a956dd1f52f47b06f9f93ce3e12292ff34adfc6da4a6f2516c5d1a84d22500b0624553c655d9aaf244a0b5cb65ab862d236f2d0d4f6565beffd9e433ccf9fb73c7100380e067d349d9c6e0ff7f2b17d00cd255c6eab2c89665e3b21a61cb52f7299be8000f15d8678e1a46917708c86a238eac8c8d43633af83aed22bc102a75c26f74c405702478a8b310408a980f8313091752cfcf2c24bfb9ebcadb0d49c7e97423f621c40b24aaef76cd99bcc5c82d767cce7e3a9376f985ae166873b611952c33db6521f6bce0fa62cecbade718440ac9dd83e6fdd0c66fef28a54189bd01272ce28bb6e43b386353133cd2db6fd1f2dd453a04296a778d4556c135efe92d44ef4bd31aec3a9fa9b20fc4fcf19045220d28e21d2cecc307ed163c5ad5d869b5c7fa4d54143f9bc66d915d08fc3d67b0a7ef8f8cb4bac9228a09a24745d80f586e37953d9b56c5fea17450a52c12139765a2b6a671c5158b82ac02ce04c2dcd5e626c45faa25fbac4fff1985cbed6c3a83a67a36b960da33db124f84ac8d2552c0fd96e1c3d05e5a71f76d039f55b6ce31b74620fad5a19c92e587e8a9aac554852a1ac768457fd009d58ec97e46dababc391096ad9886be0e7bdceb455bca01cd7a29eee3b04c74fb300c6c1050eb9a43aefd6d81b62db9881f6f09745d47c65ce8d8f1ddf07c0689fe610c0d796c1655846108e4eb91007ce01a586514f86b2ca3fa76258a69f5fb1085cb891973a82218055de79589edb724949f7997c79991b6eae555537456aea99f3e4f1f5015e55f192b6adba3359df80ffccf32d82860d2e0836aeab0cb2a4bb0c2c67774c56f36e8f4c408a3e9de416ba82b94949ac578282dfa058f3909ce682f07cde4ec668797d0fcc2da36b4e4b32c3bbc8f7b5d35aa41fe087d88ddc3d327353ebd8a63a64f5ee9b236fd988bce0139ab124bb9e819db91fd33baf74e20943c05e31b276a9674fd4d3ddd30d9adfbbb04e000266f9188a2ca130df69a4f3d300f26ebf234db2058bd34a0995b271f4666f04f1ed4bad12383a25051cd9cae1d47d0ad7ed35c6cb9f60670dc78496e2af99ece691c3e0517617ed3c7e9140c080a9ebce2cfcd7ff7cec3b7674d6bc53eb3945a368d12993eb2965ba1d9f667351009a3bd31d1d697afefa991dc278cc9575ca843ca1648795d460f11e455747c0fb71224261d7cd89bdb7d38335c0bde0299fb2d519f0f96bae67394e3791327ae0cb964aa2123f4f074cdf92aa1856fb2204797297de70d9d377ce361277edae9efd06b9eced9c7c426f46d1a1a26ff568672f9399b25d5a2e3172c12a8901b0c08824e78b74eefd3129b12d04bc305d26f56ceeaab9bb55574afe4073ce3420bcb9792e3bb8d0612270867a9d8a3bc49b26b473145b56d5d6980d085dcad3c17b2eb973e16831aa5823cad40fe0f9f3b7ed0424f9edba4fd81fe23a632dbcf3421c84a7d2610803c27c7a1d34bbf6a8d2d3eb7457f8418b1df218deb2030a2a1f6f939d1dc69dec636b581303a883d2e8189c6c75746ead485551088f1f3bfd328ab9dd331479afc677b2c0a90c7f0db25486e521f3c652a1b13b4bb15573a957f11954fde2775e9fde538a825f5f8bf2d3d35dfcc60a7d06de1e7f123a06cfe7138b37649b13f3bfb3e1069719701d473c40a05a3050b784483a5d9b5a788aaeffe0446db6a9192ae05ca13d1df56c99e9bbe48d820920c86fbe9f193c4e7a6a3853509681b4a725bb4585d06a819a0d401b8ca2a5910448376419d285e52103ff63cc38922bb1a992e5ddb727c0038cadd10921a7652fac8d90793163081054e939837e2268ca4da41db2bd73084c444803f3d76a9fb2dce61801d03600dd852af85e5ba4da45451190dff73b535cf010e6bf5943e4158750f893fe85c345a7589836d8745cf34423e88a8b46c1e3b7281fd16b45eaf8344d5b2cbee7687baaa8f4ef7dc941db03154d05edf09f197fa3cbe59676d68468f33250ff4b33d1b38dcf76c3b6e4fa6020144d716d3125935a90a41fbb3948a6ec3721125530caf881bab295dacfab61048080cc3fecb8d33db620a7ec9bec7ebf9372df478bf6dc04690a56964b45eae9a4047239c8323912cb4386054b62a938b03b2d70a4e78553bf756cc793cf1eb1ecae048108640d2fb91e4efc0cee300cf5664a351f52f13fa8c877d9abb0d37c71dc649beb4b0cbf89c86124c4e4b45af0a783e4c027321c704e27dfe461d06a5969dc9bb8c96f220f0bdbfd179afcb128e01d6fbf01474ad6c4f9a91b9f274f45ec7d92a0285af1bc01923cdb6a527f0271705ae39c7dcdc849dec9f4ae95afe9c241f707e4cc2f603e9e260efb27bfa1c56d5488ddd6bb6cf1e51ddf1adb97eddf1a2791f5b5dbdefa13e54f5f0935c4d6ec2bc2fd6347be03b4c8d2f62323188d47db433ff00bd0ff6a00af1ce335f60ef47344f3caf2ba873aa0fdfc83ed7d784578153dbd03bd0234bd4c8d55786579a1d292503118545252465a0a0987cb20a5feba453f30e0cf7ba05262080949192904122a89842111bc22bc466827b49f9fbd07af2c2faf08af9a87bdb33fafaca408afa65700dad9cf352054d3cbc99b57f618af363a54f3f3537845788d5d9dbdec0302fd3e8d4919a519a0ada96d6e6804333542f85a89eb7b5ab97b5885384b22a49d0cf42ced252d0cbc3d64ec0dcc8da535bd959d83adcc3c9c95a1c2662692864ae6ae680f4b4db7402d6f949a395ccac50d19228cb29470d376f2d6f27577f70f0950d532407b7a69ebbaf95a1a0422422c3d43fd1c643ca47494f47d03258411686f29755d13739d408fe0500ba4a6b68ca6a23932182aa107d709745454d4d5b67715473a072986c07de16e9eee8681de4e21c1a1f63a869e0e86c106ea4150150f67a4beb7b3b26fb0aaa99a5190538879888aa457183414e6e1eda0a1e7820eb5842b051b06bb6b881b78fbe8aa1af858491879eba8f93a7a58a254f524951c5d94f454d52cbca4a1ba862e5e4e1686818161dac6301f0965450b174309230fb881ae5448a05a989485abb3978a5550b0798096849394ab9629d42544c557c91cedefe8e9a8efe827a16620e9632ce9ecaa11e22c27c77bfcf85fe7c7fa89e886565ddfb934f9a5e69ac451d3fefb0cc8e0c257d5b8786453ae2e6c0990be79759d24c988b9e03d5ffd317d5bbaf3b4572719dc981a638d4d84446256efe12b204be5581eb2a8682c652f96faeaef11e40c0dcaa32f77cc7e1eb2b19fef242acfa994a56c4d9fb6ad6654353b54838d5c4415e9671d0e84901b0396365591882925acf5f255474e1ee8b4507f37c4d07747cc4731f53c951e966082203f6859901b90a78bc92dd5169654503afe706ab6aefe609a7d3f4b45060c9a13444138d36af1e376bec2e57d8ff06190a5602c0f198e946dc767435f8c58f2cc43d027697abfb3ff547c70fd3d964ef82223545351093df4288eebb9d0701e00c1d462809e5ead25cf9c0d84dbf5ac6a037141afc183eed1d1afbb804de19bbbeed2cf9402ba7b1d1ff79ed4d572af7dd228cb90526cfd66e2b1c4911e34cb52f50dc225c1e63f6c42ec94501ca3a1086ea7385f6a7155c1c935927757daa5f3ee17b7b745dfb8e9338a2140483d5433f67fb9b288e7be8cfa612a61e0be50d542ce67139b9a8c86dbb16fa0bb2a89d89cc0c4ceb5681fe5ddaf89dcd317a6d096f19aa207f3de9d92e6ce0d9211679659b270857c95479dbdd80f6c722d44fa936db3ff96ba7086c88e1169398e1ea7c76d1d875fc91d3a6372f390cbb09f86d4703f9d6809c9802aed1d598f3ef23ef8bd01427a2ad900c1e1d0e919ab9a95411ae7b0500fc611b60d510b04ed4018e1c2c6d8fa39dffb633bad674eb9dc0d82970f71708e3d678b8e487db973aee3107226a767762823d0bca14ddca7babf2078eea37eabccc0dd4136e2caba46b95139ed5c2b4b5b86004c497681ec457aa3d5b090d26312f423b60b638ea24090bc663c2855d9a582423dbe2197b1844ba8c695c33820d0c0f40063ad21448940f26899a413274dbbf819e7a82a9f7ec70e4982fa013be4cd2f2fae9adc3de235cddf77af74ae7d7472117399efecf9ad0d2892884a8e4ba0cd034ada7b629ddc4f848f1b359acaea4e2d0e9d543fd523d07a56298058fbf60c2c90801fa22912361fd04dd5b92b56baf2081923796b9cf3a1d0485ddd7d0741f89f9e33313b2008b4739beddf05ca983ac11bc3df65037b45e30813603344e8771fc0f5e144d4ebe4ad5e71784891663bc2cda39362fbb792fdfb870b6f7fbf996b29ef70bb05e867e4d39f57df41ccca2c46a234991867cf85b24a812ac5632793e0577e99e92889011df21feb2712f76db6244c3588e79faea2fe28e27e25d8cd31ea0452bbe06d6520e05adb6e92d5ce935a78434722e2397ff69bbdf39e072ebbb89567dadd2d6a2b2cfe8ba63ffe8fa069bddbbe8106a5bc9cce7cb2d15904d20b54913a4a2574dec7db6bf26aeb38de4e116bff0fd1b4efff0b344d0488d334ef928963fae096f690b66431856d8ce1b521ecdd16b20729acf578e4f79fcfbbd6b95c188ff9dd34cdd257af85e9d7143fc6186cbfcb86d2e06dfade89edd0b4a1d57a1b64a587eab0e788de9b807797702728dedc91bc23728656ffecf05d9726c069d194acbdc6f6c4803e38809f63f729e3196bc1d2e73a52b59ccf15ec1e1ff02350a441962952b03c645638fa56f7cf3f6a13ca54cbe60792139e022e772f0daa9d642d6bbb039c30c21028f8afe885bcfb19c3ceb784fdeff4abb842573cac164fe4e98963d7b76c3f9951ba4dc5d76e7b1e3662384cfe626b01b9621d4e2da0fbb45ca12baf1a9600953b59f79313d8a6619884fb670c43bf0076db64725f8d2f972623fa8d68d6a692fecbfdda28bb10ed198588adbb0bd26f73fc98bf73fcc4fa97bfc4f7e49abcf256cf2aef94bf3e565f2b87f4dae6fc806dcebf769bf3db12ffd0fde73988f417fe264fa1c6ff928dfe17a25bfe0fbfb7b7ff645f317d898264344b34fa2c877ebc8f99e4c9491b3ff9ff327e7f357e3493fb617db0980ed3d5d93376292f279f6d0c2a1125103020648d0ab6755a7d84c05d5caac1352f01272ef6bfab59dd5dffea66f0cd2b1cb500d58be3afef541bc98eac45e1c7dbfacf3ca44f4c872b38dda47a30a71c97c0588df75c7287e0e829c8b12611a923518fad8b95d6b5e9783519862607bb2f32f31d892359310bb64ed7c47c52d7f9c48d502e4c54d647432c85eed834085c68336cbec8cb2613eeee722152dd811280c4b6ece9ead9e8d3cd5fcfa743975d18cdc7547235c61ee840ca4b2774c98511c0cccb6006531c9df2251c24c13055c9ff0409d7345d825eec14bfe1719c34cfc565f538485d99cb7a32085fa02a1315f5e584435f696a9ae6ec7311dc07266bb09c01eab55318b789444490f079d98f48473bddb24b8bd7ddb861143efe879f27669de8caa23bd9c89a778de1f6a113735523406073dd758aa8d1c3150b52b03a7fcb752f3d35f6f9e5f01ae70ca374895767f611489e419649fab13c643b3e2fcda71f55fa5a2a23f479f54240f662a7ab725e606ef71b0d6fbdf2380ad675cd53201081047597b3f4cdf60e610808a6599e7f29e5e161847637dfed3bd2e6b2cfe61f1db9c5a0a4c96bbc674deffde8f6ac68c4bc2f3f07c9f9ce77ac947c43ee970a59e54c991d6f1ea1fffefeffb14c5bc31bcadfecdea0f40fb0f773b60f40ff627f3ab7404f1fb49f183ac4d1c5decbf9a71ff3eb9a1a190cbda1c9fdf8d7e5dba1f633cc4b69bfbc7f3f44be44adb8cc3fffce7f61b218e03555162d4bc92b92e0ba705f371db1a2f257fcce4b77389b4591cda68ae6499700151ac8c1fc8ec1873d547b51809de7bbd6f6dd94d11a22ce06fc57ce3f1596cbc17b2cb991e2e8940bb18112a9e9cf1f78940616a65ddae386d3ba9c7c832db8463d96df1ed9fa474ccba91292e7072836067c87c68d30c7464ae5ba11bc9e9d00e2c3920ac2dad0b51ce0bf3a7842c8e3e833b68f98f3edef58c50d5e790b8e5cf408cd88e28175905e89c20740967cb13c64649f837ee8942bb04694a9673fb0df5ca89f136e3491b57d6c25bfd99737a015c7d0f0226d28c007538b013a970c4d4a746e9cbd901acffb744f52f530edd313e334a7f52b9fe5a64f4747710106370763ceb8cd79285740de7a4892caac698535d73eade9ad6ca393399cd0da4e80c020cb102896878cf31fef5552c081df35a672b8ef39d81399a29fc3214939d395f8eec9929e2386006e30bf2d17f295622cbdefe95de7111e9f5d65c16617346e2749411db7eb5afccd0a0611cf2b31cf32510108f23383f985f981b7cbdc6a31408a6c55f1aba68079f9995b4ec5e627056bd3bb39929319995f98595d78937a5415500dd41ea6c7beabb7af25c9a751b978a567bca7bbf03ee753e4918bd50b4ae81304d2279065d26e2c0f19d6400047a7d08fa35332c7918853a7be81713df1c9f7c31238761d1e4bae8685f60d456208a4a87a0b93886d886610e3949eee9eb4a38f1f475ab09faa5ff43bac9339c86e1078a655944e8ca9c4f142cce41811d303e9575cc7d4faa54c2d2f795a354ef1b646d329231e9afa23db5b7922f61f7f6f8f6d200ec478f87cdad6fd79c8883c5f81d8fa12e94f04f32144543f1222cb4b42ccf4404475221a93c37d354b24916e0fbb95d763c7a8188ee1b7681be7fd5590b9f3a9a38cd992d661c4289fbb69256cfeee6099ac1c7adeada425005a716bb4eef1e28bd1f04b101255711b7b62a7da36d54966882cfee50e356cf7ae81773a2983e7ee049fd575fa19d5659bf3dfeefb7f3bd48281488fa8ae40a707da1551af3e64d0a9e17885dacfbd5f047a04dea369d52c320d00b249ea66feeadd34edce078a2bc932f16756057819a5bbaf3ff569ba557d26ef0d3e15b294f289af512271101f491cc4f73c0ec21d982a3194e1acb94117f2f06e5d2d87f98a609590d028a620d07688e5cb11a80faee92cbe4e5eecb03b185d363bb28bebc29a7a2d06a0f2dd3139215a7245ae3665d0ed45e283c2306ae519fc002228c597bc4bdc6e0980eb8dcd70749a141e5fcedee9a5dc4b7df06e693ef6e5e344a4d918756de6153702691a6499f4f3b8c09c7f4490eea03f9cda9437e8c4616596cc229a74ade8795e3728169d8f2190f2ff0d11a464db53a489e91010856d7213628694021acdf6bb5bdfa22bf23d1941876c7387743bbce677622bbacb763b9102d16bde21e85f9cdf77e15fa3c37fb6fd2760eb08571015c4e73949e297ff19b36ce6c83cbfc95974ba5740addbd1efbea9d4a96dbc1f352c5475ebcb7f08bd9a9b8ee43260ec9abcb6e7c85a587ed7cee92d52279cf8d64063ccbf717c2aa08fcc9d3fb3bf3ffbfe5a0c601ee963787f641912746391366d2597fcfc7a1e53ffd315f350ead2e713a47ca4000f5e92f209ef68f6c989e7cf96ae359c5b23599f881136d9dd79f874cbecc9d05b7f467091fec1932056d3a930accb99e3fabce70e5c9db2ec908d9e3f1cbc3b19835751b84fb7f72b23cd6137b0938480c41e44b55a4cb44db1f55a1b319605aec5007b3339773db40eea633033097e60929aacfefaf52a58f084730c227566edadb417705486e7c6db7ebf1c9c555c7ea40dae75d18ccbba49cdc9417475f249492476e1afa0b3f23fb207d2cea61a34fa596a5e9a6d16f3d04271f19366a41cbfd6f68da0b3d32aeb814a31c56ec28917d3fd2f860678910616114d47c200ccad4277510d7b6de95bb948ab8efb473329c28c3863567381ebd3870ccedfab00dc198031155696c7e18938b148b6089b65914dfd072a6671fcefb13b06c0b4597fe63bc03e8f381fdbb223f569f1746cb54dec625155c5b506f1156316faead6ed85c9fd03ce9fc3d48201a497d6f4062bf3a169edbe684fa31374f9aad338b58c525cd3b4d1a526cdaa5900d2267ada3ebc647497dc47442b1b0ae67ae2067b8e13bb8d118927ff42d2135fc21e0dd0f21e15206be23deffe8fc86198dbd577091a079eb0299fe176d7ace7d864f2aa8cd169b6f9f130b9a2659605fcd5a5321cf831278ed1501877e4142695840a43ebfd3080047bf4beb5fe99524445fa381c835761c1d9fc4b0e28c9240937d81b042219fffc13562edf9a33db1462954401f984e59c6bb7ee9f59653bdcfb017968e06d3af72335f7b188b743bb93f9f7b20d013c37c0f4a4fee5e8fd40a48db69a4d5f5cf38bb2d6e2b95b713eca02f135ef5cf0679752b0947c3886536938327389d4a4a8616d87147935cdfef66cf3760e3246ec866eace1401d05002a007c455d88e13f56490c88d9dba45f192c933f7ae109d59333ee5e4f9face4683fd421eb2c579328075e4f02118facaff890ce459a3af03a47cd2fc294c80db9f5d285e5967207aba864e58ee0df2e4d6321de38fa56211cc46f3895a490fbba08e9bd836f3fdebd299692b9c43b233d87c1ffc0f15269fae515ec62f8d241319b1ad7e7a4fb2dd43e1450832ea46df778f9b4095a21e3bef933fbc6464f2b71433a8ad62de39c59154cd994150d839d2517427801480cee0c9dd739b8cddbbdfdd7685d3f2cd0be8a217bd204cd9c59d897d1c602fd42579583e0e894947074ca459fd1075cc94562e89828712ea42e618341302e5ea441ec93ae5af10c5d0002aff1e6af41c5092ceb2f676231be4934a79f148b89a1f88f695e7cb9c0baa5db154ccd03461c22cdbbf0a8f7edc8685cb409c83e728776e3998c696ea56aca75ff8ccc04c8f6ac141080982e040683b7612a206a05e1dea695e477c377a543a96ee58f218eadf82dfaca3d3f4a65fb33569e9ff02d6608ddcce4b9f252faab7fc6afeea27e667ce9e884ee24cd45e0d2c052d3c8f7924ac12c8875dfab0f88a60f90a799caaed0ef71843dbe9cf5b2606fe1cbe9100a930281f72d770544660f78e614ac6485f786474939f7961ececbcf2f728bd66a7698b366d5be5090aff420d147d9ce9e1f7a9dbee53e439b66bea0bba04301e9ac6807826abc2327e736b526c9c70fd447791b9bac09fbb508692f60d746607d7ad3d28d7c5e75b9c2561e92ca7d0f4d076d696b79d4d2f9b59e91cd5f9668d18eda7dd738e571b13177f84749ee9ac3d755e261ce1e79878d1b392612dc64f6c8b5b26af2444d8cb1558f0eab88b4139b1f0baf49a6d5669c96b4047beb9aa7172498320f5fb07ff29e412a46ee3936ef29f99028ce6de941ca948729a54f528344ed63f315dbe3b2e9e161f9ce0542f49bc895f8ea2742230277d3e56ea57cd4f12b0ad77bf7a4e8fecba40d963a6c347924ba28a85fe4e91c09c2e69019f5fda38927f53c8e73ed4264e4ebca1a2f4f8d97fab5acbd543e276d749cbe30c74fe236577ef30aa8b0b59a7d01f22cb4b7af6b4a0b15bfdb2ea46188b33cd20b19d694297fa3b6ec047a9f470e1b8bb2188884ae160cd4ba6494849a437ad7406b24b1a6c5b75f4f3ebc4570e34feeadcd7450d6394907f08416fb2e9b9e6e2098e88061537952a4af24c687554b39c39f323d7c47ba6e4380f44396213d581e321c78c0e31f065cd51d38d2a433a9c6e76aa30e736121885547145584a5cf868e7528860041c9ac5e2ddb1e6943b8f9c8f7a75e6989e5f5d560aa73713e603acff1a06e8ef3ae4befae8b49a8199c3e68f1e2e879c76a23a73bd31d4a834faffb75933cf7014404b57b665eda1c8c20e1699c3f5935bf7c8af19e6291ec7c99dd6b0ac568bd98f1766a7a6d33bd96f044e10b56738b749b080ba7d314fd7dd499035d332d862ce78eac26291e20d77915b57f79ad286830bc5aa5c5a0a9c8875fe8adc9810ed7e8f7d7772f28cdba63ef818452dcda98468b2c526dbaefddce53ad99bbc82552f8a4fba0d379ef813ad4de1681837204c34e192bd20369abc72e1c2da8f71831a7323c70227e73ddb2f655612fe3ed2038cf1173f20d48e99ef94e32e3b227d522dc115e9d829ce07ac414404d847512638d145bb6f2c13669d4140defeb0ef3dbd45dd33c251f7e45a6a40473dee25a4a4f441370fa63d7fb7fed321c2fd294d9cabe634a62c68e946ffdc4bf79a3343c48aa38dd64949e94b25c27779cfdd7f698b296e42881783754d5a3ddb13afdcaffdafebee24626fbad234286e57e771894b889c5d632d76280761350c3dbfb316ec2e976f954748b1fc405e2090ceee08cc13dcfeaa95e632d01ea7baecce7400eb4cf2bd7e40f0e019d57da5d232a90ac7d92f01db0c2ac6c090279e732791bdb679ca63eeefecd94420c811cf5bf20959008af2625822f600630c99fa98486e97bad1e8404b0ed158fdef43c5e78f948b6a3f69f9b6c9e2b709cd6040402ef008140ac9fee56c545a0471b74f2ec4a14c69e496cb2a9b9815ac19f9b453f9d723e95f35c81cfa24b876c77c5bb1af1a45d14857feb20838099be1552f32dcfc5c4cb7b218d12fb1b3adb3b6376dbc42143dcdbc2be92ab1f5e25ffb9dc441088fe061ded3faf3686c36ef66cb5e1c4220a7fdee1423455719bfbffb524486c09bf24eb3f77fcfbb0917dd0869c757be80df9a988b45fa02ff0afcfef3f01e0c52f521dfdec1d1c42ff2dcd51420c81444ac840259030241c2e230d45fc7b9aa384181c290387c22525a5911250843442ea7b698ed09f487354d43733f475f3d24548685b84042b5a7a0604bab928ea38c0a1322ac1be2e1e06c24e522884beaab9b3438871b0bba9ba8eb86688a273a0baa59966b0a33a4a4bd1181660890c3395d242a00cc48d03e07a01563e56fa1a2813556323612f6d988b1a1465e965e5e562023354f530d1d677743673768142dd34645c8403601afe867efe219e069a1a2efa3e6a66be3a7077a8b6838bbdb4b9a5a66498834688ae929eb9a587ba9199859629dccc5b4a2704e56e19ac27a1ac8fb634f681fb38f8055bb82b2b79e84a390a3bfb7949c0751ca4d49cdc2c109ecede0e525646b000152975610d094d497507332507bf60751fe720234524da5b58d93040c6c3c1dd11a6e28dd6f5f53097500c71d2f433859918fb6b3a8b07a8496a0a87181842b5613a6a6aae16860e2e419e3ae6287d0f7fcb1043695dff6019bd4077a82b2c48df5bc65043db5b5d49d94c5f5acf3e34f88b3447d01fc14289660de48787aecb1ff77ff2c634ce2b4e80e71a5c6e365067dfcefa77cfd6f8ba01528d20669be0cc86de43b7ad1576e49f448f4a763bea761f7f81f3fb3086a3cafda75f41160771b1c3415c1b7fc2afc0b2807dbf347a7ba3f029850ce254fd39999268a016037c1478e4925d68a3659999f9c67828a8294019bb2494c25e3dea718c8aea56bf0b00c752d19c2acdb888201525dd79c4f4e51dcb7735483a267aa999f9bd03fdfc1df860c852c067f951068303c702388aab8c5823cad49d4e43789371cb772527ab48628330b839ec05441c7fdcbe1ef17110a6160c90efc2234ac975ba97fd18aeed8cadb9ed4b76fb44964c1cf3ecd2cdbae1cafe18c0a6252ada95bbf8feb3f43dad29340f565b34300f6f9c5fa7b8484a909029f950472025409649abb03c647bfe2c8881f34f6548eb422f1d943577996f38d70d58f5298aa06ec6aac8e81cb9062290aa500fb904122156856dba087f3a7a119c47f746805f7912207979c759e3c580ea3a6941d2f909da17ef83e80eb8ccf498253f8db847e3377f8cf9d18051f6a0e816f6decfd3fc129260f11ba71d7ae25606b350b1812fe4f56a7c8f6dcb054d34360162b74d173000fa9f0dc47cd094bae8007b5d7b7ff75f7c3eccd5c7c95f565cdcd0d31c11e8ebe6ae8cd651d67186bbc0fcd403d58c4dad82cc438c942d8c0d2ddc757c94944ca4f5d40c9d4dd0ffc1c3eccb8bb3ceacda7dc99a71c741769abb4a6ff29fbd9f14bb75779ad1bf9b7efe051467ae65f18f691c63b733cd17da03079f130f46091f547ca5f1dc4ff1d566f6c79b6ad7386dacad7356ee8c290255a297d6444114334161769cd78613b3eb9b5617d98807bf70931814118a1c1f93a8368fd5307d5c3417170f31bc98e6d026fad82e69d57900e0c81e95e8d4863b9064a2e7341fd9713d6795847ab457b7bd5273206d1ef14bc7df842cddc0f290717d2e79a28f23c1a5a59a987499469fcd898cd74b1bcc979feeeba13efd32966e1fa2ef72085e65fe2c870d1167e5f4f75a76bea8be5e84faecdb56f150bbe7dfb9d7ed03d09819d890b6a67c197e3a361d9cb328bbef721742d91e60539fd7ba515e60f0566a8cf5fa18c540b5134fff88c0e2b5d2ca97d3fd277319f1d7214bd73efb90097f546bf9fdfe9aee733284c611ee8573a3da14d1171426214dbcf9fe41517421ddfba7034abcbd016d900e54686f60a971ca441db87cc57a7865d8a7a8d37afc6c7cc803c8cd701202bd2668995e1518892b967d9359574e2833e914db6fd60893b58b93bde5f45229dfb9d6ece8bde61f77255c59a65bc49f5a4ac4820fe038a331386a93cc54fbfa7cf3db870ad930d3dd1e15e5f0d76ad6ce604c814d9dc8572e3864ba439c1e27ed0025c7adab7d6adc9c129e5a77b04aa2407cb2eff9913661c637d865f0bef64b66a224651efa9947ca194363059376507400d2720767e5c5243d435c6993238765edd5034b9b3727ecc94fdf3b79382aa08cf5afe4c9a5cfbe8d6d264f7e9503f22bc9933c2973cf7b779f9c606a653ab1b3b642becc5cdc4c4d8017d5d6c1a8dd56973d4dac9d1811123945be4a9ed4f52fbb295c3f2493e034f370b692391a9c1bf2f21f1ee26bb9202f982836b0f8d58b3a05dd1c97c5ce17d15577af0ffd96e4c9edb66f8769dfab29b8a0b8d5829d9509e0db3a98837e64eb58842302db8b65d8b23f2495fca0deef955c40cc173adafd25c4bd0d9fad78f6ef499e0d7c917255ee57a7f349e23fd41c3728dd7e04edd8315e82d3563cc01c5640736e434bbafaca75cb0b7a2811c07be22d79c6c431d9e984a2c538b7416d212d96ba3aeeba4509ab5d21bef2bd257f15d690fc4cd3ffe5c21a44c279fe96c21a854ce214c757d55e39d6eeec7867c7e85d581d552ae8cb3879f1c273188843b99c8bd81e6eb3ff965b6ac9a8cf39b9c9db58e898772c2940dc423413cf1a7dd10fe1dadbb817be0315255510a42c1ec6b9af28e0d85451f6ae1d14268acf457bc0baa64fda71993e5267d92dc9c305703aae072f220cb8a586f9ee08eef4a9adbc7e52ccaf73082cbc0a01990d712c40fbd6e35a52ca2b4e5f3dd47885af69f3e4447176319be0c67da19be53f5058c3519efaa13f42c24c8c8b81e65d7fe808262396d591f6aab6580c1af451f6951440bbaed1703e4022f1c5f0102f467d65ac6f4767c8c4de88b29293de4bb67736e3ff4c0c22c39a44a4a6a6722326d9c69e732c494ac9b430375f54b89511472a6aedb1d239f03931c83a89fa8dcef0eac906bf0355d53916c92d55e9bcb51473d6628a61accc8517cb016e159127556ea6023423e7fbf351fb6537b8ca039cfcfacd60c5d97ed613c3b60470206419ec8be521a3fc236cbd0007a97a952a797c6eec3959828dd0b518a6e2a1b34c1b0636b1180298744fdbd52d7188b60cfb5d6b1c585461bd4119ffe267acb10fcfe57c744e3c867c5d6b9978ab8df2de8ba7375e6f4d27a8d29f71fc110be8fc963db516031cdc1f357c75e9c13edac1132cc2d72725272ded0b8603de5f584f0bbf35f5ec5227b0efddd193af9859af26b7d80e2cdc960e408a9be2e619775a8d1e7cd125cd1aaff94fb5fdd0cb3fd476ca4f6a3bf8c67b7a4679a4c0b575b263a543f1747cc5f377e23e3acb06505a7c56dbcff23ee1221ce4a9d94de13ad33b2819ff71b5fb5892659c6c3649847e74778c26b09bee22f7fd8cd20cca9c0acc23d481892ec7fa4a9e9683ae74e9f22136f86cca2fe310cf7d52dc69447124fe76a9d38974911bb26f6c2257aea51e78e57ca41a46328a2190f2c3ce9ae9fcaaa7f647ccebe82edb0e622adf0e10cdef5419edb667fe25f6f8afcdcfd9f4fb17e67a675ea76b6c76be3616a04a775178b1550005b1183df4e264fecf2cc6b7f6990841956c2fd201a418e180afeba77c9378dcec2067ae5f19388e82ece5dcbef16271469ec08127da4795429e5a4e4f2428b1da3f5ee472aab53efb918da6bcb7bedd4b24a5a4935c4881edefd3987f4a32a1747a151c5191a0fedd9e223bcfb6f9b96d6ecfbd447480c2dfc41941fabfab68a9c22f8fef8ff9d762809ae06357ec4efb1fa8a17b7af01115c5d9450a64efac9a8c0277aa8519cca4411d40b115510c086ad56f383f2ebc77db94f456e3e1c3119ac5bca177591254325ecb13c0be9065b0e73f22113f69b658afa454f5d509dbf3ec3b97fd8fb9fade305cddb5de92f0f4d32974e47800769b9322b6290ad24e0e087b14da49128d92907142db23d04e6824d4112e2d8d90824939a1a465ec25a49d1c11524e08194707697b341a2de9202d2181948021e012286249540a4e704728d2c141c6d1116a8f90864a3a3a3a394a3aa0a1501909077b09b4bdbdbd94130a2d03758042ed25910838dac1c14946128e9492724438c0ec9d6a31c0e3a2a67df667ae0de1d9fb3a3d31beb5dacdc3b1fe34eae96294236711ad11e239b01bce9b594b6f347b15b052f2614dc97815d931d787abcdfe45c9bb273da6ff0ca424f9c30cf2fb6d09a483c9996db42dda8c1679d6f61d843683ca16d87d1bd6858ffc38798c3b440320b1981dceeeb4895fc84a61f62307a8fb2514f887d4554a1490e22f1f58b07b13f6558096f79501fa75d1eb6fee0932b4cddc6783ab5cbd7f6df57c5c72b111d345ca79e3b8345b8f1fb725942cefb3fde7573a68fefa4ac7839ffa4a4785b6f3e6dbacb0f13d8addeb140d92f3aa5dc8ad4387c1088cbd8cb4a38ca38493933d544ada5edac1012d81b077404a484b3bcaa02525903f23a7fc02862bc6aa0ced146375bdd98fd1d360f66b929b3feef9de8e8f0b6bcce3cfc00d3d99acd9f3c25b21b3d3edada066deac7b59d6cda4a46ebc77de21b3e371ead65ec7857ee02b1d6ca8941661dc59daf298134e759617327386e9ee19c88834e73639de2d7764f7056c786a27452c6e5a0beab00e33430cdfc80785e1a7e6c499abf4bbdb4ef591cae2ef2fddc33e781b2dd9e5be8a23ad984c552d36b67c638a70a6df6f8defdd7cd26221e3378bc19b81fe112bd7f2808690a174e00f27035a3f90801cb8ffb956ef0a9bb67866f5db875572678251a209590b0fc2904ef99a45e7dff37f87f983417b3f69911790d749ec1fa8a343edf4221d63e26bf074b3af580f1fdd677846ad293b53391d30eca9e3c01d10f31109e919b528c8bc563dd94e722b5417627be8c285035576597f958604dff8f8f95b2331363c8300089ba990ca7ef81993a4fa6e667b65d74e8d2353ee199d2b63718285fe175880cfd29e0e22c934ed20f9232eb6db7cbb075d7db34f77c4cd5ddaf0a86d9104f1ce6bfb019ad5398daa728e561a625ab1a72692d63719e683276f19181d85e9f60c658af7e2cb204bc59f643d43bbe84f0a62348504088403d7825241599e9f738c574131a0db0a207641fc7c28062f8beeb2e903f124150f7ceb7029210f07372ff8ebe6ba345d28cfe22b3014c91994fcb4b6a40328ca5a301078ed40728da25e6cf4d98391d997ad312ffaf41eb8a7ef0adbe5f36cc291fc4901400af4c193a221de878e4ac696a6679129841b790af35eb539c1b9e3c0e46b76dc9fe64d92cf56bd4fbfdfcd92c040ef4719dbc1c5c83394d20af81373ab8a612b3bf6072feb7da83f71e9cefbe0086d80f7a81dff655081c815557c83673bc4bd84ddacfdf1c4736321f7fd95bc72667e04f0e232781e274dbbfcd94a4071aae39b96bf58aa3d7a7e0088008e26a34ce52432b0be2f2fdc97634db88fb0d6c7aac6ef7849574b4d4dd86cdd5a22dda940acc0e5360b607e25f24586f75ca3095316b92bc2b110712b2b1acb90f09e487f971fb395b0a783fa8eafda8650564de9e3096f76a7c1cd8f7acfe5ed01e1bfb5263f330eac92588ef2f50872bdbbe51b8b81326ea2fa53514b9819e8b3235a3b9b1e5abfce85de05f6ad361e8b65eea87a891b28f4578ea06ae4c3d90a887757a8170c90ccfa794fff49d874387a0af2cf3faa0fe7531d5e13ceeab6c5d99f5c0ba8e495b0d9dd923e7e3f1e7c1cbd4c41fbee56b4122f9d742d0610b8f3ecd084af28b3e098c4f250b33f66d2f155f88732164a92a7ee613652172201c5d9705181f948ccc40a6de6f592794630094b92553bbd331832ebea914e3d8e2f59ba428ba373e7c43e84fd682a81fbf31e11cfcbabb38f6b4c2b5718696c694e85a410ffb88428b0736f8ac64655dedbc201e1d2e327f9f4d39a103dae65640cfada6e89de45c03bc0f28aaa50754274803d1ecf3dfe6cf76e6e8c757d998e63eadec09b9231ece223f8d2a562cacf1f62813cbcfa3bc9f9d368cbc477169074d99a5fbb55eacf1cf0f2b6fede07d3832c616d24abe2d6a035f55c404688fd8429998a11e999ca79edc10045f7c971bd2cab91ce9a18c4b9f77077437ce5d2350a1c9d920296b098aa902b393be3c5e1e8b02b7690ab64f54460dcfbd23848c4071f461a1dbc8a97a93c31d7df812f2fc677052b295b8a487fe03bf522b0a793b1594af6eea7318f3189d8a4095ed2a297b38a582f571361cd283fb8ef72922f466c5639eb86f72180265274d7113378b2065358fdd1dad68c8429cf80890de7c55ca979da6eee872df825c8d2c2273e5ff70a07ced88f035fbc8a2339929dfa87023138774f32f4bc0cc9b46066d3f05f755e304e2f0600102706c4590be280708338c19ffea817f2ab9fbf902a37101895da977696bd6c2a5257f8731b37887334eb56b42e881a8449a48ba35b70f1796675c7e3fad8786662de0b873ffa7302a0c3dc20eaaeda22dd55478d952bafc23b2ef4f96c3814f64041b260d09e3fde0eda71ef5c2d06e8a2b74a992d809638340df59cf14f28d6ddb0a8d73c5c83102b713db6fad10f0268278dc955beba31c57f3798eb9cf43d92d697233ec604d5e897ef449fd0ad259313487a97491e93e3c0c7d7713b1524be5dba054c1399559f0bf99b4ab7b01d4fca73dfe3dbdd55815db8df690b1fb77853ac86ea8ae5b372d394a425e9da9e9df6e74ab77c8bf4bf6cd7ba1671316756875998567174ca0334e471bc6e7ecbd9091033535f76fbcd1eeeed966ea1f470757215b5f771fd4df6822ddb21bc72d3bf6ea9f8079a6e67fffe8ed22d3fffce7ff7bd2c2a1d6d3e28ad9eb0331612c74ed0b1b7e7de1dc9aaa9b3265a1f21ffbc7add16d0840f7098491cb6df09e5a3b525f17873b4a0bf4079cf192a4d6a6d184aab7a8a0091822c43c4b13c64767f841781dfcbfc705513bf5d1c82efd6532e1fb44b7f3a7eead5e18f3b76eaff9d8117ff57d5e4ef779fd6628091d628fdbc5737a75b64746eb5ee2c3bdf7d3abb44b146b3637a37c9bb5abdb9a380a96aae9e4bd0b808843336b751dc6222932bc460636fd6f3e932d378d58e344dbc1f64c91bcb4386f98745036b44998a690a90447b5a32ebbc5b76185f593a83be707b29ce16b60a11c489636a31808e36000aa110a63e133e2236302fcadd542845796c016197db72976330b12806305ac73252d966581936c9e91d97013d5c2fb845f73c3ecab4b93ef1695f67d80502d80fb20cf6c2f290c9fcf1d6ffb2e5cac1d1c10989767044a2614e68041c86b297844b3922e10ef612924894040225e5202381709081ca40a5a59108a40312e1847442d943e14818dc51064eecf9926869044202e188b6979044a1a490520e5228943402ee84907170707094914223900e281909140a0587a21c1da59c64241d612828c25e128e84cb206a3140cfe0a5caa4b7d2c1a965b69a69e2b6f353f79fcf4e649f6b80ec7ff29e766c4d01d03b426348e31575a249e4f01a6cd27de2cee9d2c719174f3cb3ce8debf108328a22802d21cb60532c0f19eb1f8130e45df3a906d55375f40737eea353335bd49e207bd13bc346e3b88a77d14aae76e24719983b8488cccdfb2b977b25262c2d6780bd2b6982d18e4a00abf6c2c0e897f786dd7d619ff4163dd9d5cf4ebb123dfa99898da9160c84dde36bdec38be4788c3c356ea426e3082c47dab0d48ccb5eb3aed26b2471b3025ca6442e6715b81409f2191f8dd5dc6fcde94a5094a71751435445de3ba9eef984c0980159663cf79761d002b7972c3275e4be760eb9cde4e3f1ec57c6d8a53b4a77f061a471ca0f702c42c5750446fee4f6805f2eccab521edd3f911fa0b23dc4a7d83a348d33faabd59d51e392c6979defda6bd55d9fbdb753bb9ed0fd55c9f71491d7292a7bd91949c7542d37b0c6c068365ae37b9cef304913339bf4d18d6d7268d2edf5076fb3ba0fa9ddcff8d1aec63f44bf093f59c77756b071e67a81e4be240be8360f00607b41474481fbef1cff7f7efe44d3d2fe4de16760606034795b69125c7d1a6ffbf4c047d973645b1e3e90ae1149d07f087e766c7fc3fa11a3bfcba39a10b15f5c1ff0218f9b905def7b55b7e92bff6a90d7165b151499ec6ae5141b371be742f10a879e2d09f04f3df84d5b02fe45fef71fc3ef2b6499b77e8687ffcda0b0cdf5f97509f920e8c0906acdd0361d42bf1b5efcdef38d8c08ffa7206617c0fc36fef48dfdf979fc272382ffa41a8cc587ae7ef99f5711a15906c12ee2409e4a8f9799e64766f33b543fa3c511c32162cff73cd65b5b47d1960b8fb4203d51b8d4d8715686693b6bb4fdf387a871cd6e7bcf876c29e342924040cb1bebbff800e5f7756e881d08340b02285ed77eafd26f3b08e40a02b12a7cf3dbb40f5fedbc46245527e901db5bc7fbafc18bb5f90105387a4ed27747c35aeeec7aca2c5c9af6cd2c61228fabc77c7a1c265e93db70e4047a03c4cf7ad635c30e5b9ef660ffb78c90dfa49faf568763d7f7b7490904cadd72754020d0f1edaccebb9e814fd389f22b412489897b97beb37c55bf22a27700cc2e8af8d623bf3d9ddf3740b0f67ecacf03e4b8f6b02d3a4597ea8a702e07a37089bf50fdd1173f3cc06fc06f941f40bff97cfadbe5876fa9b4ff45f918fc3f7dfdfe55bfb8ee17687a1a326b485a5703db9bb5bb6c4a5959fc3f257ffdc2fafc9461ff37cc6ddbeb9fce67c5f95f9401b7bdfeb518205a9777c3f1e3197c2295037d31d4e416d59567232a17433229128e4e6085635300ead1c64e0c9246b40411ee67cfe12274bcff16e12aed85cbef86e3db4f57854afd19b3f667ea1e58bb3cb58bdb827246c652b66087ca1c4d64b8b8734f410f06af52c541f695c50d5536e3dbaa20bbb1f622a8de6e347bb9eefa3e22be3a10552d181886b1853ca8bfcc69d1f582eaa1b73079e7ccc1a37989f40fab2f1b31d9bd5d4a0298474e3a1d7d4ba39ecb1c9ec46daae44d1581ad135aa1a53494557277e7ac9420502c8196293e00e7e4ecb3b4db0e7ab73e3a797c77cd1586347d7bd3ce1bfb6becd2a03cbb695e53478305ce550341c5eacb519ef282ae333d4d64dcf2831f25414e28be6c9fb7a7d5d6a8275d65a3d15d3665cb14857f24a748d3aee0180d85703ba482bf93700621fd8184b3c22f2fdab466e8ec056205cb19765acb3774aed62fbb2d6e2d9a9e7d412cf1639b892144647ff057753c4985b1092d21e78cb2eb36346b581333d3dc62ffa84625c80f2a34e561827b6feab227d72ede50e930a442061bdf03e17f7acec40df5c4f40de6d21c9fe69afc1297dddce9739c0125ab50f8bbf85f3d2ffe0d0e9b7f15b78f5512055224cfdf437076e5054e549db8c70cf1b76c24c91a5cb7a1523fb44a825b505807823f5cf7a1ae0856cb74d277c72aa2384f509325653f1bd2709fd05ea8d02d90c6572e5de3c4d14bd4e0483c6cbe9d31ab2471435706f52319b3a084ef35fc9931fb69cc6fe660ca93b394cf8dd84b02a9c21fafbed03fe297e5df47b93f7eaf08fcd5d527805fc3b3c6d09cc42792f51a029d31028ff010ccb3cbfc454f1276ddb3e9d366b5fb2aa1a6e0905a877dc405ab6cdcc6ca138ff71fcf26a8bc8e030fe4d0636ef67ffe0a8486f6864ba47a72dd91e1f737ce31a6ca57f514a952c07998b51b4e2cd89106f301d414ca3dafd3746d1faf9a963499f4bac0f5775eca495650b86b91da9ae4127c9400ee862c83bbb03c648c7f7028cad38753d5728f500b42d967e6fc4a0e8c7e08f2be1ba98cc210c0a87828caeccb99130be9fe05ae8bda32be676d1341a45d677b32cdfb337fe711446d1b5100c66aad425c1eda9f3b589c3712bdb2a54486eeb2ada805032e10bee5d1714b92ac9c7451e45acc6ed0de3850faa5a961c1f482b2b7dd350a00a9293532385a40141dc65e37d5a3372fbb97b974cfd377f9ce3cc80ff6719c67fff9950d2cc4f9cf93e727fcd12b757bef463de4f35274de0d653890205d25eb99f6774a8bffe78ffe1bad6d7f1e3960802e98e5dd22c7b46e016c6e8320b77bffbbccdbbb940e73cc260545959d48b6ee04f69fcb397771f7a3c686e694bc1d29af6d55e9fb123c4305e9e16cd563cd29a16f087b6e8396f7e00193e848990614fd436eabbe7c5f6acf4baab5332e2e042b9aa3020abb42841f7ffcf1a3ffeaf21e570269f532e9752c98e973882ce960e9ff03655728d0080b3f9bfce8ddde13aa97fb77218462c2bb68e09b392735d0052f823f3eda422cfeb7b22bc74fba2cd0c4a5dfb8e36a9e73ff82d17bbe7706c4e487ff2bbb42040188b4d318d93b3884729bdb7b78a0037ee1f9ff2cbb62e00b770ad53372f4f175f074852343034cade02e8a264a08b893bf935f907700dad4d9cb5e35c8214849eb3f37ffaf7543cfbab1433531eb209b8abddc45f1ec64ad3b897cd4f0f7975d399ee8d02cd5fbd152ec5492bf943d60d713c354cf10aca23edbcacd0e50e6780666b3ee342abb672efd72cf6bf74383abd0cea5c7cf03d7061e8a4237e2ac5e8f11cbb1fb248bbd88694924783a5dc2aa673a64e004391c61baa17537a8ada177032ddd1229f201ad9bf55c5ed376903d7597bb6e8df7ac411768ea860fd351cb144874628ad35bf178c8521596878c09c7d4c78d13cd8dc0a6f4a68e37e2354e4faedaccefbeeb3ff3ea4e1ddab7c83f16dccc54702708aff21a654facda29eacb8b87574bf5eede36dc53d58120a3a756054314a155b5606096f5a0ef12eaf2dc7df7bdcd1515ef55a74f650cad793df55b0393c839e89d260021c2d0d50a1bcb63fb57281fd8493cb6d0f678755e0e7636efed8c8b8d4d4ecae5bf4a01487dd6b6fecba500a8b66705ffb152006841f94ba82b45bba921318173273b64dd692b5f615af689c69c49445d2d19d325a6dd6cb3ff96c82871f4b6457fc3a5f7562924898f9aac5f29ce648bdc3975bb30d00e38aa7e8abbfcf0c39b076b5a38e559224719a2155273474909f1e5c30bfea8bb6fadf626d824b2772676d9251d27d3f09d7aff125057d9e9235ac544165bb449fb60e881b5cb952b28ab97c677220ebc997ac970db193eede1195d9d4911d83794c3f0a6f7962fcb043b316a1103aa2e5c860a24105c086a06ca1cf2f91abbf2431d205d9713aec4a5ccb65b0e3c0694cd1aa81ef4dbd60fb43c314eb8cd57ea454b48226b7bd213787ae7f81017228300995b86bcc5edfe90f30f9c3b743bb5d74baf84af2dea03d465f98311c314e45846733b860089ae5026d5de2607d92e07c26f13e7816de2bcdddf80f34edd0d472ece1dd7dd77d56aec18d7fdcb830d276e3cb6107e3716b9cf3530258eed0e319cdf66ff2d512a29e4f54c47a7a8132a7b53847a5ad7378c9d8b347c33f5606d85dc3aed93238b905335d62f296f4f7db05fc52faede6974b42c10d94531b1f6fa344b438292322d1bc7de27a1a1d4c816aca54d47583237abb8ff412e098fe57bcba4b32c79a95c890e1ed0c0dab22e5e5b3e965a32d473aba5fb5a53856bf3ca35fc302976dba01decc44f889b312797bb0fdeca558a7cc431eabd81e9ac49b9fcf84ccc34499d9bc00abb0217c0a282e01edc8c74af6e78a4366f7d51673affa5bac1f49d2b027b5696d46ffa1dfb33030c8363d47f8063344ac64152737f73522ac99d6b7761abf087e962e7f6a59c8667eeea3a56349871300ea9c3986bb3df2115e09a0177679daa7ccaac3837191aae8f9076ef2f3ba93db19c629bd552f750ee3081bc0ab24c5e81e52163c1d153907dfe51ac797cafe4b1caff8292c7c462c5883dff3df893c87c080402b5dcab7ff76eb4eb5c9c0fd5472bfb85fb67236c5889652d501a6c3c87ecf9b30ab28e0c2271ecc3eebccc53496fa39a7d3bdd47b4f780c13bbe650bf9969e5828ab5d7360329ad9dd6a9325f74a62647c719dc5d7bcc5c1e2276b1a537b60a2fe19ad586e70a4271c79e0d77d61ffd34b1a135bc17f854fdbf7ddc6d2331c21755764b787beffb592c6c4e7f79f5147e6be2869fc6fd58ca1524831191998141c898049219148e437aa197fba471a29252121098521a01292d27f4b3563073db48fa9b4b23b2ac0431ca6aaecaa6960a8e208435b190419ab2aa94a0704db87b808a37d147594428d545dfdf43455758425fc0cf4f415b55021e67a161efe2a0863afa030c710a883254cd311ed66e9a56a61a2ee15a41c2489862a99a315edb5552cd17af6160108736d5f193fe5107d3d6f61295f64b0599085060a6e61a0e3eaa58cf03433f20b32365413770dd0464904091be99a98e9a2a48da0da9ea141cafe7a30b8b1b2be9187a113d42f304027484ddd4f4f57d2543b58c34b334823d43c00e9eee9656a64aaaf211d1ce6aa666c29a9065777567433f2d435b742797921b42491ee41ea2a9efa0e5696febadeee816ae62116481db7300b43077f35b8a956b0b4899652a09bba9497a49a324c55092a61e4e2e06de0eb231316a8ec2f292c0d85796abb210da4d4747da132e6dec8309f6013b8a986b28eb4041ae9e364148234305042a23d0c5c0cffa59af19fd629e84d1ad3abf0d3a3bb4613de93d6da7b5e5b9e5bbbe379f870817cc6651cd7155d20309e84f36e9ff662d3930eba46d33ea81bcdfb0a8937cfafc7241bd82f193eccf8d39746fb1ffbf6d79d85f11d9d592cf3019cc9a7cd14cd749b83ebc48a2f484ed29dcd389037b68b0018249f906b94157ae37aa49c56f1545baf53fe93a6e5f76b364671aee6264d869e041229c83289389687cce84ff33a734caa6479f7ed09f000636b7442c869d90b6b23645ecc1802a4e16ff88822647b863362ddc1d1b5daa72cb739c66d198f8855cca2912ccefb6ee33abfe0a5374ac4c4da93df3a00d94c9f6a9b4a07be31e32a89bfb8747af443cae3cc6f7dc5edd9834b35be976ac90edd925c864ddca8d655b3cdff96fc403ee6ef71658237c821344f38f012682331dabffaefaa90b395537ecb8f207e637d4c67f1236e1df4b17eb85bf52f1524e10a0845062266e807cfd818b226790f0ba51ee464caecdc0c8cee64a96f181838ba37a22792f2c008102a263b34258cb496985f7c58d6adf72134e784dc9969ca9b9e5950fb370f5726be705f80237ec17d91d05676b92561ef78836e80969274dde597a20d4fffcf7df13fdc7d81011e2666ef7457edb13c6ad137da165669acaa418a5c4a60b51062f5853fad1ce2039c3e62f8a36f74c0caafc9172016b414f031b79a2d22ce505fdea37a74a429c980c084052d3345007e090b8ecfdec8c06eb907bda4157a217d7935ae3949e5ed5eeeab7cc1e9532ef13feebea8586612ffcbae01e0180df7ffffddaeb1f33f60d7f07ac2d2b3e6d8feb88a77a7cbb1d74a2acff6bfb549ae5ba99ea79e5a7a5cf4ca87987788799bfdb7341bf053ee10bcbbcb894263c73b4e8e254367ad4baa69310fec51cf6efa32278db7d191b3f279e486094f9d21f3b11dc9d6f59a2b529fe77d3ba85b7692f226674ebd2c5bead1c59cb7e679f85d9ca8aed6966c33717c926e1d5fe31eddeb2df1ae857dec163749d254e4e3b5190633ae7286adab2d547709bcc8b2f1513f6f2f5f49d377e807ca7a5e74da68e2095f32b1e9c92a5c548c2ade9528814c0db8dba7a0d517b150718317e0365d3053347d432379f1fdde466465b65444d0fbaede3d9ccfc99a639a794c87fe8c4220c59a44a42aa7bd646d9f2765103453bab6d8a090ab9c7954290e62f02030b5f7d1e7b29e87779f1eb7034d5d375fe94b751084d8bd26bbec2bb5ca95cf7746c5fd9ef5993d40848a8bfdfdf0fd1566f79058ff9b964d9aa735068e3c7cbf99e87e6a243f8275117f03b254f1d95b2dfeb9a4279d7201b63a36f55be7e1370a8588c7ddb3e8bd52f9aeecb5f5608fbd31902c3cb6f2035f490d0feca2cf3e76fa088da34d078669bfda48e554b475c47e6a39e9c09a024b173960d79df0ca8a75b5eaca00151d9e67e36021ff59532483ccfbf64d18df7de07c383e04b21488e521c391b18ce1c0b10dd1648beea55823cad40b827eb2fb35bc3e5eefd6b239cb0b4c8ecaea94c749e449a9ad527eae936417325c46cbeea38e6286745ee78b71f8ffd8fb127828dbf5ff99b197b59425caae908c193363c9be64dff72c6366ecfbbe378c28ca1ea5d2a3842c1191b144b2a4245124095993a24294f87feaed7ddfd3ef944953e79cffef77ee73f47eeaf13ccf7ddfcf75dff7757dafef755dc27cc15a368e20cf49e43de564ff67c680ce601babe868113ab428299c12349595996b9499b25deae5d2f9a3f6bcf659ec7fd7f69025801d570860673b0244c3f2076b7b68c23df2f893deaf55d69fd04b2cd8bb5b39d7b5ac110fdc83db5b86355582d14a491e4bcde53b79f3b4367d70e031bfb17ffc36e8dab16380ded0963ed172b0f9c24eeea4db4c2bf14f47da6dc59de9e4a566d2faeb64959489e04ac832f8f377e436fca4a36fb62050a1f8d2977b754d7ac49fd5771636e4d1eba824f2a90a77e18960d5129fe35f05b80a15ab114e5ee6b6b8d629a823fc2aafe430c82487d46ed512a16ace101635f5c03db1ebc58a850efe46df3dffd52667f66e0b39affd079b57de65de4879ba73d5ac43687aab9e6c615bd69cb0ab99b54839e7160c5f49fa13bf763b198aadb156b7b2fcc3c235bd4c0f085b9f857ef09352bc0e5c52e3c81f20e5cc4984bcb37ceb47d36157cf0620516f0cb6ed28961aa7582c94d9773debb85b10b21cd2a1b6fe8e6ab2fe8971fed0328963533f5049da7c75cd56cb309d2ddf66bb89eccdecc4534273767d97d5e8d8776d7e0fc841f6453e892acbb87b6cdcb5504e6773517611ebb5f666cc0b9a7106e391250322b802b20c2e8de6a5c27d56b63409148edde9f7822ed4641dbc70ea5a7bb8ff433deb1d2fe2f4543e7db5d66bafabbed3190be367db139ead97f89caa5041af87249af8d519a4e0bc60c9a969194cbb52252bc1a56eeb02b3125b7f46ed9e6de48c2555c08b5ca55c99a127aa8273d69130e096cc13738769b553f171231e7872215fd6c02e5328d7268bd5a3609fa940478d8f6614e3c4ceaefee669b7b44640384e5fe4190f2084093e911c5214ace375eef905279f74d684aa59a6c2d0c9c744ca50c8326560342f5554f19f9f8d35717d6a05e52fa05628fe6a05c60af6eebc6ea17a671cc4c693d17ceff13b57b58f05e6d333e36332d2f72916c7e4d37bcb82572f1f55e81b08f17f473dbe116a85b677b537fb3edc98bcffd619581c7edbf4b5c9b5ff9fa8151b27d0f1ae9f77fd7f8495ff86f6eb2ada187a69987804697ba9eba9e9a8a0315292c1ba8e180d3749271cee80919a9e73a0ae7188ba39da405715e1fa9f433d219b1af1e43203b5fbd95d376df0be3e9dd68c0712abc3ee54bdb2799717f99a1a02256c45c5ddbf2bfbc134f558b7bf21f6eda2d029a4d723a36d6fdb32b9860f31b3898490ac480306f24db594900feea81db685bdf12feafa3034fe486ec260874ccfe59434c9770e1701494586e1ced1c6fc61ff82712a111b05b62db2ae85e593f8c2a597a33707eaa2fe2c10ff67e2922a703ab6fa98dfc5a1fce36c5b5777e8b89cdf1bc95498ff0d65ed5bd81749650d0ca4a15c8fd29b1d9888cebac362744465568d213d1cc2683218e0b1c27cb7ed353fa0605f7216c1fc46b24ec68f498d8d46d1992b1bfb087aafbecdaef234abc1fd0f44ca0ac832e5a743cefb4b96082adac6efa51157fd17a411bf4fe2fefff434e23c1b3104491db2ff1bd388d7055d7c9d2b34f4becd17d92f520b74a36e16318ae0f7c1fcfdea02149c5ae9a8d26796f39d76130779061ed8d0739f3e7d6348bc61226fd4fae26d82854593039969c47f162936286021dcb5765f4f8983df09d9c1374726ca4b6a9f54fea6cc6caebe71e7c2ca345c3fb59fff0c6da35992d73ec631231008fbcbb1d39fd773becc4f2318f0e1069fef46650c959eb9fc36e58090d0fea8c24cf7deea2ad4356ef67c9f56350061eccd4db5a4b093882fb5d0dfa57090d1761534d5b1c05731fe085678b60ef2a7cbc3e44f1494f94cfab774826f6cb4dfca2cb8de78185a1a0e37e2810891c42518235c20533bbe5d8931708772f55dcc31788d549e14456461c93214401a23c606d2b84b8bc64ed4889b1c247a353059e51e3e5ad4f6e479ffa388d45a22cb3dd032cb1dc078fb65c1c3cba14c8178e3a8ad23e76b37e75ac48138b7c1a854760a42d844f37e1c84ab586609aff659f2fa9c6637fafaa1f47d96cf693d6f6d65e4ada7e2c15d9a28d70cbb02899390189733054031036e46ea9ff94c61eee27220cfbb4c989c773b0d12e4adb45715efcccdab1db3607ae2384bfc084017477b745b5d77a64f6edeebcb4cc4c97be886d35f50f9807003b5a672bc7dfc5789ac0f9f713f324b64397eb51dfe44892c525c1d32b93cbfa64416f8c610c8d1311dced4c8d33241c439c5ec3f3f042eefdc59f55b4a64417e23280dde2d9661bece75c2f8c79175b5ce726ce9b9f5df60b7fdb72aa262e61debf62fd531eaf79a4220d6e8f496c7d514efaf3e54596394c34034bcf473c82891b5175819b1af9e5410a9afc95a3813659c1e57dfdda489d6a0a977bf2e3e4cf9a1693f40cfc13526c317fef065528f99ba50e083a4dbd204fdd6e7fe271f500afa0a2adfff2b0a71e5f39ade7ce8d02f8b42b49fc2bf3f7ff290bf5089e17066e3714947fcaef5d3af51994b90e29c92c949fd4551888c49a08b06f66f9623bd8defb30610ae717330722ad32b7f04556f78ccbf200a9165eab4fb7bd70e040fb5fec86d87032a27354b2efd32f30cdcf5f27fca1c957d537415abb7d5c152a25e8004cb64caa507c2609669af577711e2292a715400f429e50e7335ff84e3b374f1cba9563627fc14f9b9b1ba8da59a47460ab2cdcc89605ec832983b9a976a1381458cfdf30fe49a4a3a47e7741fb319cd5d557dabfb0c0fb79aa9d89fc889db5410f6ca180faa2e24d423973fa9d9345ffe85225a7c19ac711904569213f264a0b07d3fac647857244b38d8c5c0eb93ee0346e6c045dedee82d289a514a7bad7ae59d2e75688cfa9ca33305184201a20483219b40603004fccf6af5acdc766da65789657e86f24766a6776fb2e838a5b6116daa110ff4ebe617099e2fbc4c51e5abbb9010794c2eb2093c04832edbddf20c63b8f2910bb0b43dddba7db1dba6443b83d9542cd40f3160baf6fcf8aed32e5183e621f88082eabb90a5dbd1bc54d13cc1042695bc184b67680781c2732a1d93b9df7e7949e44566c76d0c68a081c55fea6633beda3a33cf8c5505b38f59d6ef9b6a8ebf500a262927cd3c488edded82a6c048fad522f7c72036f5454a8e231c075f819cc06ec9c5a9bc78109b3a5d07536dcef61b20cc368670109752ee95463c60cd93ec31dc24bd5b08b4bc23b89111327df54a69e91407ffd0dca132ae37b7ea018fd4678b6172835b3867a84ccd1b2652c44e96c65a2fbe38b77aaf4dfc7cfbee7dd5c54b859bff284ef6fb3388cb36df70b52c364a5b083fd97cc5fd6807534ebfbb456ea72a8ffd430eb4e8110c807947b1d2c76b16fa80a5be3848e8fae87bba9312ef798f5ffde0be7fb8e451fcf1bf3382eef962ce7b3dfff76604c53ae2e070690969b4a43416ea20897194c620a5e0180934168193404920706894832342520281944420a03069a804dc010d9596864a2025902852999815b192d25238a4a3144a028a44c325a018280a85914462a450525024ca018a844ac1e0389c241a8bc14a48a3b158a404460a2de580c4a26038280ad1080670a7b69bd9ed7e9a65ec319c5cb169d87fe45eb347b9653d15044a9ffa5280f62a00391bd7e05fc39416f1ce19337f69870497f55ba85e56a50155191d30774928eeef49ff23f0d6e8df9d861587c139a0a1300c1625258dc239402511389ca4b424c6012de5884449a3a4d1186949b4241609c3383a621150041229818162e18e5809699c030e4beaf93007b434168945e13ecdb024dcd1110ac7482051d23809840406e62881834a3820e150041607c738a01dd112083452d241520a0647a3a4d028682318d80e7c28346d682d4b3c3ef978dce0e6e411d7ec84c1172ba73a631f612f89d106008a2a8ee5e3861976bef9172a4c254f75b4ac31df787d766495569a353babed822f910a0659a6daf757ee5b4d0205b1e97b2050f3bf00047a48e27eca4d206a72502032739891d2f048814014c04640225234eb9f0089f27e334874995c9008d1307ef7ca51ab1de6dc510937fb5fb9443e3c148379a6627319d62bbb65e064923ffbea89f77ed506beece78b7d2620aff3ce2fbcb2ce3a37d03ee396da7d9840fbefaa35f7b9e9687f7fd7a18697e8d1895bff669048f49b32039eff556890fd463c81d43ede41610590f097c2c370e6bd2634bad47b7d483c9fe9b781505fe6bf110fe8f03ef5103decfbae2182918bae0a79b4f8706760e0d41e5d5e6be9640bee79410063962e90784c61fa6d1fc30b3e66a7677e432a9e578cb49f365d3e79e9f6f3adbe44311868596c1f702def0d6dff919ee38dafb8cb73970fad7a77ab2789c778c7d2e663dfbcae8b6cfb7144a7725974f80f1d69670c9e00de479fce15aa4eb975502f433fe3d1508ba72f7fe791bb87bf016a7d2b44e5bbb25170e4a6585c6bc3271de9834aae5ccbb5e9dde6cd348b8f58f6a9abf251ab1a4333def79a5fb97cba4d340a08d899b3f4de2c5bb7a5d012f63039fa817a49180b77a3747076c5c8791f08ef93ea05c8d29b4f0a6afd25c2167dfc67eb11228448a7b82766e838e5b1b9b8183db4566ae7f59aa62e0b5f1dd3d54ef160239f961ac966c676ae2e4004edc8f2f1a2c7be5b03fb55c95c1ae0463050e322472c3d04657ec100bf0f534ae538b64a5fc457d2b17ac0c3a1f681ae121e081fa63af3e459dc09debb6afcfd734cf96f765dce353c28145f2e322ce2ce59324da4bcba4c798593c06ca244d8147de87f41e0be57d1a3c197fb865fd2196730844222bb6e54872d57d90e4439d3d20489f527086dc4bb7cafa43d30518f6770ea00cfa6b8f04dc7173bf650fcffe45dfe0f6ca4bc569bf4b52d7e3e6cff1fbdcb264aca56de0138176f73bd206949239cb68e053c148d91f64369a3b16a7014cc1c6164e06be8a6a122e9fd6ff21ea739716af7266bc64580ec35b7155f1348bb9118bbfeedbf3f70dfd7e74aab1a774d1d87598b5bd19c6cbbc3053dd01d19d463f617543eb617cde73c940b99179f8bb7647e6c7beaa5e7ec7428ce5fb0f981ca6cbea6141d2cd8cc848b24cc270e706572da4cbf74b53c5f708713173ae1d7dfbc137ec7f77ab56dc4db1b219b582901f7379e579568460c67b7b8b84cc90938768e222647385455328e58f95197f1241021a1cb90203c81d94883b02ddf3b5d867f59859d9576ba5980c5f5ddb510faf43b99178fb09ceac39b856e2d214268412070ea95e5f8af0cc76b22a534dbee80acb3f1cf1bdc613446979525dd3772fd1f1bcb495e07eafd249917a47e8181ccebdf6d2c7e8d27cad879a6be2f36553b0de4d248a536f02453f84954d6feddd972ff103ed78b67f77f1c3ef7d126b82073cd78971cb2c6df3ac3d93ec1a87c424b508cb817d0c93e75775c45ebfe624112d5430e8d668d977ef307c6a29f5ef67d9ed22af761e54fee2c45b44964ba506dd3074fb7c4113b031ecff2731eef794e6fb38983c8763de29091fd9cc18bdbc7b4c2eed121a1e1d5bcb15dba5b3f1e7b3d9b7da66ffbe0b1a7f9ae673711a100d51985f7f9564c2fb9d12afcdbf9873b671a28bbef865c98b7a9567149e2dcc44e047b2e83dd98084cc74a09109592f46f95cdfb9152f820f0a175ac512e79bf4a3de58d68f31ecbb2226fc5b3aa90db2322fbfd66fcf81ebfcf5adf9a8ab9b2116b8494b5f82d6dfdd3847fd07e78ecb17267d4ce246b62f8cde2fb9cde85e1c3e03e8297dc3bfd372bfa5700bd59ebde9d38f4d8527ba7c0e6e9f042715078bac7f8c7dbc90531611a05bdded5454b972004a6c0b5e889c33fea8c958c783df194eaa88d48d9e1ad8583695b570d6c6249d73214071c65df3050c5f4716ef998bcff75cf25ea4279ee944c31aa5bd3e9b779e222271f012af191374c1f1baf761912b34f165b9edc33ea1ea6de55720e36ff2090466bc4f90f054e80c0a4728140f12cff7f8102578c7f13f7fc72495694817a1ee274cdbb41458f6aaf33a01eacd3f4edf1545fe68d2870abd3f9dd76ea2177253877290476534c9a1b0899fe5781fbad0a1c8db28bbf360ef7d32ad5df0a9ca5969f8924dc53d2c2423bc4d0d7126eaeaa14e21f1aac136a8ef5b6f4d0d2452b8718204d7dcc9ca5bd9dfe4d0adc719f5956c1a305861584deae2dd9e8652bf11adf7fb702e750e5052c34888f9aeef7593c3f8497a1db56a43911e173feadf2c075cde3fb4cf6efe1a576491164a82f7eb76de2fe423974a093ee569ff8e6fc56fa076222b1363fa2c0b9ce8c8a65722971b58b290d23badd03e0f5ec2ab547733ea85af1da2c2d879502728a12fb556ef66ed53ba0226597143ea2c736d198e271da20e7d1d4f4443e5758b5e7927bf4d6bb0426959c6823daf46f952b8f7d0975351b0bfe7c880a0c1fdd03ed3afd28954fc8ad606e68f73bcf8f0573702116191bb1170287df9f016852d3f2cc23b38295349c979476238f193567cc577a9c4c1c799eb720d9b56debdfe5fbe8bf00c3e0d9961f8e377c847ad43c5955641055b738586c7cd311654231f72bc5e8bff1861b472e49b5463ca0cc506ee6fd80a39a26e6debcc28e99d40e83c47b32552c37ecf27495f7dda5a500747aa60aabe28fc59d96a0109e2f43e69f7d065427453dd8a3df3ca99dba3ff6e29fec2cba3f65467c28fd5bac357cf53fe572d7f23cc1ee5c17c3367df55ee396c3874cde657d68f94e4fa7bdf96454e9767f26ee1649631db5da0cf79c8c4ab166b075b7f4a74be5fbe8e26a1dec43a34e4064e70311ba0165e7a81dd177a666b38db0919b5823e79902d8ac026f48cbc6dbdbe0388990f79065c862342f15f80ba50c328cffa607244e5e6cb74a4a23880889f91738422a48c9d366f23e37e477bbcf7efafd5fa6994c7107ffd4f329aebb5b5512b4fdac20cfc81c3fa926fa4df05c981917b8774b05b1b3fd946179084b52edc7330f373dffde7a3dc382793db5f024266ab8c33967f0112b30d09de2331a1e577e9b8793d8573e02ec3b32fb8acefc45be40cce39dda2f64b63fdc96585f81a9cdb87e3273d4eebe423e116c0559069b45f35241beac58ea877edfacc278046c8ddfa35e2bfb136518d3635b7a66a79ab77944513a2b87a4a97008d9e4fdece4822d94e96cebbe2f5b60b3a30e33e6c1a4269f95549f1af1c0c17881d52e6d979aa9a160779f4bda7972d7eb0e621e9a970ab725ccacd6acc903163ad4feae0b498d35d5d4d099a933a1ccae9bf6e60beca94dcb0c0acc4a4f3e45a43c0859a6b488e6a58a8afd32bb541dfbbfb9b51ca17c89c83ea482071129c6fe0398f6949b41d49464c836994e56526731a9e44190dfb637fdf999486c3d3cbff3f9b255774d7ef3dea4fccdbd093cff6d8401fbcbcb587c25dfa49efefccd938fb550d6d3908b3c4b35f547f942e971ce643a1937f4fe8d1e4e9fbe5f2318505ae43a82fea85bb0bc1c7070db88270787650eff1a30c6ad2d6a80c4422973017904bf7dbf1c47e31ecfb8e3a7a91233336f5df6989bc0e71e3b856758c3731b11195720cb8c4b9f7382087dd95f68533cbf09edc6b1dc0c410ee34144c618642bab1599161398bce5c53066d2c77074237d903ef3faf6e9e31d88ecd15a11dc7656dd3179038f9f5797773ddc9222416a8889e42d31fab1e053cb2f37d24752e8ddd7f0f4855c417d83affea9e52a6eebb4cf1eed7cc5916d4b092ee142dd0713d6ef232da93a522474b0cd534aa6b8b27fe518ffa9f51e8392b915925bb39754cd3f12734847ea2ca122f32853fce975f223f30f02d192898e2a92b917814821dce46de5a43c2c1464827febd474feb1f927f3fd1b46cf20ca683f9c71109a345cf94bfa4f5255044839157ea52af81baabb807f33fa4ae6fa2459537c43eb93d4fc6ce87cf8a1f549c943de758a61524e29f23e0fe5afce7ec5a18c76477b6270be665feaea90d5ffde6312649e8f5fed6f355bf8f8f8f88e27e4aa9d880f00bc75cddcdedc22cfd425e9e126397ff4b84cf8eb57cbadb291f5efe2b7eb0cfa9bc6fe638e1bf55f095bff4423d79483fcdef5f7dbf72f32614a92dde321f37c68dcc8014ceef9f1336e8fd813315fb148bee10efea7f4958b57b7c7b015b15f2ea81a760ff412ccffd51fb5110c50983622d023fb4f2e5cf0f718d3a99bbcc9b650d4e1ae06624e7d1a6563e6b00804155dd0844a675a6f62dd62747e59eca8ba12728f955d4355bc5dcbcad2ea74c39f0937e8bf44e8dcbe93fe2df1fd06f540edf5252b5d0514c248e120c1492ee490aeae90ec0f6447cb8fed3821d5221a56e4b05f7453c9d1511f2f8673d953d2b26acc5cf7170544eb003a794666e3bd12ef839def0a0b9c03ab0ae43e198fe8b5df82d453aef9a0c35e49a417062dd3f303e9829b8dda5fdea0b54da256f0697e70c77168e2b40f73a3a39be4de893b34beb63fce1abeb6bcf94175286429289a978a4019782fc6d2791fe8b078f2cb2e50b4116dfaae5dfbfab79d4dd93dbc747eff8b37aa6aa38be99471028f0e1589417df18d60a0d758a0f642cf7204a14a27da39c2d2686c377fc483cafe84a09683ee45fd794580e6eeabf26e0f86eb0e0a5fb37dd48bdf1456f0c1c186f90e00bbfdce4e036acb55edb3e445b56e0c7ae28ef6064ad09f31e87b81fd7b1ae1098f18752ae3a042b48e05afcdb94a8f2bbbf0430ad90c33cfa51cdd03489b8ab06af28d30a5e92fda75dd9c3293ccc4d1d70b3599446e2fceeedd769bf1af3a2e70c21643a17f771d1732ad871fabe3729a7a5cec19d144e94322e899dfd534a648c19a8421f577ab8766cc7b094c73a42a6fb29279ff7a2d7ac52a214fa98c1a1bcad5ee58e6b95faee0489fc940056fa44c5cb5f15be111444447968bf7365710e5745155ff4918d31d535f46d9674c97da10998119afcd01aef495898642c1cb37c089d75cace4654c25e7046eaef9d75ce56b5b084f556e6f560379db0bbebac59df936f8233b2ac132643ea7e5f9ace026f8daccc7950365f13f90fb51838d574edfdce0ae71aa5e3f477878e58547b4e32d3b1e2f4c56557039da676d025c3a24681017550fbe55ffa0790656219c6512597ceb0d52bab3726c216aa0e2e45ff94e73fe90b9ffdbf94eb792a991fd88cc7b294fc19f76c0bc26232aeec2926b0426d6a880b86507a5e6f0f2474fb2066a4869a5ac64debfae488d799c57903a613bd9afe1b38931365bbb3ebbbfb562e7ae0b0551be3bcbe9e29b052fae7269b525d7f18f8dbce27f2115418bdd1ee576015d7674f479c44aa6fa1cd7a5f18add32c65a47f647f69b5eeca179efb86f0fb51646cbbb9b7f5ebec74b9b51b848b98c7f6b9a22d78b95bc5dadb27b472f2deed8357d8afd223d7b7365d5193c499917070477f0345f8eba69b21b0acbe19ac2d2c8e2b3b818cd28b22fabf4426f9404c803feec16e3ec7a74843313bc84ec96fcca2379538d86212cab02b72947e923a6638810f16588e8d6cf34398800ed0f333fc613a4c7595b001ce7d0e5098e1e1cddd326d7c25fa942ff97f9f1eb55f04f9ba45d3031ad096eaefec2226d38c28d37db494e48f4c5d1f6bcf43c5a57b3c14c1d20a0e8e604b2f3f23ec6ed00079b77f9633fa2bafebc7df6cb2d4f5004bd316db6ea92a5a2a863042665450298f95a7a535da81f5af6f4c3b77eabcc95072df3cee9a2c3bea18b7d2be4ff4768a0a1d8a3c9b74e3a59b5f325cde094ba37df98b24eec3910b73dab12867171828d00bec0a8d1360b3902f1e45acd51f1675ef76d6e9e3b42bfc713288677289dbc4af977b4b1d47f468837062785c44aa37130490749b8a3244e525a1a2e819682494be330588c83231a8e8021900e70ac240206c73a384a48421d61482929045cca012b8d7120f57c49241223898141a5241ce1125034cc0185c23a4a20a4d0280918540ae7e80847493a48611148281a8342c110182c028e844ac225113898949434aa110f7469e5d24fa977df0d988d10700e1f9fa814f0dda14c0311b6546c679ab7b5dc09500df93ea1a9ac99979d7d5039a670c1bad73a31d9891d238612eebe4a43139e56ed0f59f2f9ecb0fa836ba3f9494b75bda8488cbfdcd66332456471494e7ade8c539a89a3381e99db8aff9c1b98afd435bf4e303bb0dce03cc4ae045788eaeeb8735023e455d1ebfe5d45499d5b01b97bbe4f7695f1d48ae71eb6ccbf78191271252afc56cb604b294d66527a05a7ee9f9602c5970f7d7547fae517043b99f3dc1cd3b6b0a0bd85d9d8d75527f77d433a0b2f5c795d1fd691f99183ed46fc53c78336d039c7f54eb6ae0f90b64630b01c9149b57f9b69fac255dbeb2c2ef702ce2e1403c73c326682fc8cdeec9a4ed20078f0e7f55f38ee95123c5c8b7e207b8dee69432c832d8dde811670e2e37d36b6dc44017bd0b2c04140921a73cdf1b968f9f4bcfb8302233d69956a62f5f3d7449b492bcccded26211f3e590ad780fa5b5b4f04edbe1c6d75e1f5ae4d8631fc77cc64bba4a41e1534b2954abfec87517db21488cb020cd55590a58a4fb3cf7ae5b3a11063e90c6d8c5e64f81e65fb7f32b4369c3a74670cbe110fa4ba06b8ded7310eb14ef77a96bc82b92272237c2dbcdef5a5a1f5d5de1edc6e046018fcee3505d3d517c33215484fa9a8cab8d9d202e439ed2b7d75bd2fc31e47151029bb9629ef46833f5b1a0496b5f9f4f82bc18d3e316b0ff4370dcd4f8b4ddcbba9201b8b275262eb11115ff9edf4dcfb38f229733e3c3e1b34734fa9a53d69f8692999eb984ced8c22f790b069399907ceefcaf274324dff2a6dd93a89eed8b72ee8d5eb7ef7bc035747dc314c93f96e097cb0e02549848330d5f718e5925b3d6e485aa9be29fac9fe6fea4bacb36a25f105822d0385484cdff046e63795baffd1bbd7e55b72d951c2dd0ca3226fcfcb5992f37970f76c8a7f72fc593bdb4d5aa20fc249755f51a15650544269302175e67ccfc99ef7cdda47f3c2724ea1f5c6564b6a16e90abfc264e32dcb8ca28a5dd278fba5fdcfef9e9cd92496f655163013ccf95bb6162f149e8e1e7e1f957377bb47140b29f9e579b2e3a8cbd55cd1cd8e1f760f44a5b44e77b9358ddebb9527e52dd28c59d90f23c50d509234687dce738f62e546d8d8c5778a5b53b2ab075d9f99b1706f4e80cc2f68b78d6b96e78bf0f3aaafd95ef47eeeb40a33336b39d57ae682dacd5ddcc9045ed82d891d64294be240af8183f54ea9d1eba7faf74b276f29e9e17acab9366ab99b1e7b41c355d1de15031c6cbee78e7ed332c8cd645a7b2dd4e1a2d4d8a3839d20730b706c2c6ab3c2e95b7f464481a34d22d3a3a5022fd12447b50fd40a2dd5ed79457411a97c104749914cf1742df633993baba676213bcbf80ae4d2ccda7e43edf1a8c53d893cd25aefc282c474a66867d300c409aa8b6fd3ae4c968a253de79aed9acaf0b20d15cc94d4ea9890d95679eac92e226526649932edd3de0f3b436052562330a90613687278d2b7bf13dbb6dd2efcacff8d7d43ec89d267759102637822a5c09527b85c1078acd38378d54b545f6507cadfc98f7273e5de248d48cf2b9c9d0bb22fcfee5b779a42a014720daa396e7d145dfbf72cc05464d9e22d5d872e168f5ffbc857bfef4aeaa5232ce4a9e5a4e246281441e0cffffb59ab835ccfd7ef4e2b0d22f324b3ff5d9e0d588fcabb60ccedaf7008fddabde6017f4753eeef0edd1d4fe2f9d4f68e29fd69dbb6169810bd0e5fa759997f963d0e6ff6497af5dcaa022564eff9504755db69c19726967b009e1e72437e07ddacd1d8feeb8fb31d3b70b9b78fa66dca0b364197a8272df5d8ec6a3d72433b5283aaf185c9dee28aac12eb097ab64b9b9296bc4d4d101f785585f812a8dfbdfcc032b3a3ea64dbfd9b6a576b8023db786dbbe48e9db08d175a92d4d6bab183cfab2dcd4fb446e876ead1c3de3836cd629adde0aceebed32991ceac6b5b5fe2f8fcefd03aefe539a90af0db51b53f950db44a26353ede99ec8cb81e849b6ebe54a074a6e2b1fbaa02e215f454a5c7a3d8283de59aa3c5146c6a95189b1a633d961f7bd8b7171a1dcb26f6340b26cd1102f8a4e35bfa41b343e15432c91f2e4fb65e3b54b8db3dac59d4238067751891a732557cce46f8c0ea0d4698dd1adfee534e25fc47c52e6e25703ba0338bcb34825a2d0b30b43c0135f20e5359de07f33417074cad17e76ba4339a2c469e2f88967cbc297ad5d2c0da2658b459dca6b786ae3dfc6da470c2e89b69efe9483f8f26b7835dcbd1b5b68d6020587f9a42232fb591722221c3622deb7e14c5acf9d9b30552e845911004af262f109452603e7322bec06500ab778df5ad30ccf8a25074d9f342e8956be73df5e40488e000c832f8934d40fdd9746452010890232ee9dff2e4ff48cc267d43d277357430952638b7a97443e4590e0577a75bb2e397ac3856eb296a77d983bcbd25d63fbdb1c45fe991fb96c7a8110cd4dcbf6d8e38c3aa3ad63af0280a7c3ce3f69b9d58839481c77b85d62e3c615c9d04e4580a990f2adfb3f29f349daa6d73de33df1d54f934f282ecee8b21d0dd6dfb0e10c17d906570cfa7138179e4cbcc4f1020d646e9ed7ab8bcde1b6a55007cefa5caa927d2bb0d2cccf14430b6c86590f65f896cee6f8df713a57c81143e2a0cd2ba52941322ccc54ee68e4745a65e4d8a2b462aa10e2389eb4c8d78a09d51aa715af28c096c7b2e71e8e419f445f7e20cb1a333176c1dccbbf07cab8240c88edbd9f15b69ee8b76eb6cb396da7e2af9e2393d08cd8efa24e48b7226fe17ded597978aa3c13bfe00629868be177e43461e99f339367486a787ffc08dce0ea8297a172e86b2aa5e0d39dc78fd61f6753e97b3320f0677f6ee65791144e901d8f11dfa4023de2ea75ad7951d52c33dd81bd2345451379f76f688dfabb8de57827f55eec9902180630102c59666029d7063ba94bf85dfb964f51da782d30c628ff5dd8331f4bdc2e79aadbeb4fdc7beac1d6c71ea43b09fa198b6a62a507b9c937c2e21a8110c785844a0ed1da22509f7f2417cb7c489b5036751cf9c4bad6b053a229425fcfc81ed136c1435ae86597a769989f05d8eb5726287eff6b0df663b7d53e70c83ae5f3d71930c647913229a97caf20bb59641253a5d229183c1bbed7eeb4bb313267593fb6fce974865c531273307bcb60711e99ac377f2389349672021c2b4c31b1141cd527beb1647cde6bca0edf7c2c3e292af8445d9ffff74fd2796582379a61d29ba1c29ba0e9522299d86c40bc6ced6c67c95c4762d81298e69c1d9fb8955bd7bc5c4d49984f3c3a4a03e1a32b7617229275fcdd170d98b843423f56379b81cfd3db5ce81fc34ec61643cfb57cc0fedffa5f9a17c66e82ac613199343c83475b2f998b828b16f138967d0fd777ed68799fe3b3febb6cdff9d9f751bfdffe2f9f9fef90c692a71feb88e4dfc1f72bd110c78fabaca6527db684edc48a92c2f1598bbcea4e6dbcc9ee65a2b368311e864e707dce4d8ab478b35b4b44f8dec574e618d1f3be5bd755bbcacfe0b0de691e329fef57ffb1669fe337c8b386994231225019786e3d048b483b434561a0a4340a5a4915270341aee8091c6c16112300c1a85c4c1715228ac030e0a43c3108e6807340c877124f57c848494231a8984c31c1ca4e112d292289423544a1aeb009380e1705847949403148992823a48601c11189c83b4a414c2c1018afcd4031c02268d6cc403410fdd3e78081de340ddc394d5c4cbbc9b1939722196c57c3cf9a27998b257e6181002d51f1b9d3cbba85b6a3e1cf078e52577c3d38c77c1428ffb436426e125e74afef4f2fde959ecbc942e2793233cf16aff3e7195bde09841c49b6e1a37a36ff8b57a4aae9982e063ba48f3d6c0271cb5ee1f541632bf23ddafabb48bf65b347f663026658558a97b0a4e52a29e3c915af3b449dbebe43e90bcdaef5d5ad48c879bb8020ad91f13d9673cd986646f51f303bca140e5c0550147e1a1b741c3161dd7265eff9d62e3cf2a931b29e9adc57400fc7220dac6671fac776a0b9b7411d6cdee57227aff255afc32bfdadfd60918385e22b6f856bf819e81200ba9bbd4785eef52f24d976d227c7007e9db09ee5745006f6551dee36fd265ed698317e40de71ee6de0bdc77a5b66a9e139aa1d1667dee1511fc18b20cee8de6a552fc536ae2b5d3ebcbd89f71de1f0f70365e05c5a5e5faf7ec39b5230eccdc0ff56c0411c1d870b1f58baefec026f3d5c7e31a3191b46fa1a432e83c745853d4c3a1379e9ddc5477e412f9495d57325da2f474de525f7707d1f8d2f060b08868f06d7bca39f3a062b305164329ce1ef421a7a7e2eaec816058cad1f1e3b7b2ce0c5c84e8e94147bbf62c31e885305fe722fd7145ba768a1f90a9df5e7774d69c7e5626d80cb5e87f50cd595e4161c8db2feb683960f6386987ac9db6f58bd4348136ae67495a73255a685f61e4383fdd91f1bc7c833ff3a7ecfb331589d5ccef2c96d00806c68c8c4708e77cfa96a7ce9c1dab39fc3ed976ed9a46d8fbd9ed19774edb331aae02f67301569a1e8d91bb6f5755f3bf65da35e8f5f25df4e8c36d01c013cd96d9d30b44c807c832e45d342f55d4f968dabe68fa0f0449ab9cf4f38c776ef17e30a1d6caaf6c2d8e62934d800ff9c405dfbeffcc0604224262e44665d77e9bffe4cb6bc8830a400cee2e8e2e4a58b4b7ffdfc1341bd94cbfdacdeca5d3ec6ec89b1c666bbad9f922ea9251eb9978d98d5cff1dbbd1775b509d7c73fc14e8a7a12a30631a77f7d760ad93cdc11797e366aa8bdbe6cc9f1b9abdbb9e91492a0985eaf61de3ca2c33c97582771a1ae2534746f54e714df5de0a3a36790921651fac32f0d51cb0b89c6766b862f137107f81d9eca16a0d89055b73dde051adaf609fcc7c45ddde3d7aefbb8aaeea563b3e06d931acb5d5a1e92800972bda5106f69dd6b8792e79e4a3e2bd1c31f50c8ccbbdadc60ea16f640be4c0d5d7204b57a379a978be883e458646ba89c93dd398b473878ee89d18b8a030d3fb6073d2b3588eacee1e5847b5eadb346e12a249f55d989961b8aa221ffb39398975e9156fc47135419d129d59e6772236efa763b72f3946d0d489fa3af2812f6402821e6fc752adb776d94cbc0e1bd9497df2ba0c6380fe03f136d4f4f3b7979e373110994f80969953807a0d795e5ed34dfcb706f785adc5705cdd7a7f98bf2df6ee23299f1bb8ced417af7f9c6254bbccac5c7d63a921fad66c8c04c45f8640e99a9aae56686c39698a7262de7db0fae15a5fbb05c2770e5f6df6c531db7e9be682de2b4cc41fc3d3be35d493c8b5e7334abfdaa35843199c6acac9b85f286c3a8e3289b623bdc35eaae414df777cf7b4601047b4b238a03e0c9eab970878a8c15a57b2e3c64d498fc7762cc17bcdf72f1b4a34ccb815280352b8d0f71ed94bd1c59c2bbcec63bee2c7e734f378d86cef16a42d580f8bd1effcb3f23e6b0cf75d1ce8f31fd1eda13f1a5bf22d3ee3bab6f2c0c3bb8d6040e866b54a85a45c9f3c48983829c8b06b48f0be7b0eb765e19855764e85ffa3a3c0be86f9d39683f633f02377bb9e5df63cd81bab1766dcc8b95d79bb5395fe892ae7ea12c852e1676e1755cca795194323010211c08da074d0598fee4f6ffa003a0caa5304710957bf0dc157cbe0eed94c80789319adbfe5612aa20e07b72df8e9e638b79eba7c963fd750ecdcc0a71df03de593f0da4630b0ab52f552a2514b69a0bc85c25b05e734beecd618569dcc2d0aea131254caee430076deffa2381384a2853581bd95aaaea3ddcbb9e8da2242e3f1e5b09314d9ed057f551dfb48d86228f84bab8eb52f417bf6185a5274060fcbb95d9b2d3f8b35cd587fbd994b908a90203382e217551d63380abaa83a60f31cf14650bffc64a2d259f0f382fdb545dda0ea0d8ff93fbeead8fdafa2283e2dec47823b56ec6f9ef0d65371d188586b3ada2e18afb020d5efb4e8aeae7ad726b21050667937775893b3c6e1ca6a7bcda20fb5e23b8f43a218d94b6a6bfd5175edf3afff8ae238ff59e6fe8f4771b091e8feaf88e2f08ce477aea9e0f7a6843a0e9d1245f96e5b1978d68d37e5b8963f0e1dbd1b75841410cf4ae6fdebb5e8085d5738d47ecdae9c29c0ad778bdee18a72dda1bc58b87c948dd261d956c5db5cee65589d06a11b8a4e7697ed8fcdc615690da73dd208083caacc071f387efc2e57401328ead69389cdcce212951d02a338dbc924caa29826cfb72b07cd55a6609914785a93509e03a14ded0f42a2b67417649e325362392fccef0b0fdff7bca6fe1a097b225a792fc0fe90ce6cd1ccde51422e836f263555ad8f8e5bc14a86ff81a7e503a9b2d5570a80f5ce03009df9b0ae88215187beb04277a844ad2cfbb8f3d0dbbe6ce158f93d66d5694b29d174a60496e3c9042a7389f4c4a8216d87140575cd471dd9e61ddc545ba25775630d1f37d100a05cc0672f29ef25f8d3424c7960687a7241216304ac1c9836f8ba0501f13a97205f74a75221f50e250d8f24a0c4fd11f19cf926451d6b8c4e9fc8e4023de09525e7d937c066737612c973a28308be0659067f662287f77ee11e8c1320f91ce9c487c4b3364c806edf0b51fabe00185bd334670c9e0856ed6eb99df5af5c8faaf0a6657ae6f9771fc61f945c9cdd5b7b8003468a32f8fa376beb94645a339f94462ff1377bb9f327951aea3bb56b2e4dbfee7bfa3cafb88ae3a4887eb7496f49191640a3eef0d54a77bf7c1354946dd6b23ba7ca234a480fdd858109164623725fc955bf812ccd7eb2f44abf400f94ddece949aa1f03940f17ba8a269ccef43b1de2ef4919908faf8e319779fa55355583165f4bcdbcb93671772dec2e01caac9488b23b64e656f80aef29c8b43878117e97bbcc3dd0ac4be3fc83165779ae463c3004c31a71debbf7247df6f5d5a9774f6bd9cfba2216d4c2adb85c2f5b132eb82b0322eff764f4f754c8d36ab76dde9bc5c171c8e1d4c741879bd8fc498d8ef2f4bb38222511b24c5919cd4ba5f5c528a75028fb5f9035fcf49ad9b08d48bf06bdab15f22c8b2ae2644efba3894baca7e6349567a50298ccd631ccfe296bf8037155212617bd37fde859fbe6b7852ef8033bae93821ec883f2fecf670da7d5c5f9a375d17e6e3ff9fcbfb386ebe1943454742d5d94614865b88ab75168a88eae9f8b1ad63b3850171bec6005874291e803920eca86e646ffbaf17f25df0fab54c5855c4569f73e91f015bee02f5741f87082848fedb7670ddf1670fd16cdfbfb195e0ebca727cdc78b0d0737395458ecc7b30df50f31d49aefa62e7e9d307d68577e59aac1990c3ceb16886883df3e6fe767ab813d37466fde79b583f47ecd546398fb34559ef6654051a3caf02bcf2b7226ad6eb1de65c774a71e10f7bfc3038732823fd01b85c5bcb717b12d7c79acfcced0d6433d12035d162f72196daefb99fc09277ef18910206c26bf194e0c777d98399df8387b93a11e6bcdb9c9f3fced1c61baca5a5706370fc4e69f094e01bc9e496d29d8e4cf656c5b0a16b693ba3cccbbe42ebab5d59e5915bde7f941ef6aa2a0146859100a2c0bd1cfa68b58635963562e1c3f8d4cd6953cbd8c7f18416138d3e27365b022edc77189fa6581677f863ec10f8345a8de80fef8337aa0ec47ab5594d32bedbaa55f2b3c194bdba40b32ebf79f4e5f97bece553ff5bc110c6c2ea1e35631ce9d923d92c87dab5613b4508529dcccf68a373d77ebd6ec5ee96b8000d77e75b30016ae83ccd1adb066fe26aff79015cb1cf804ae5bfc800596e9229126719926c1e973e0d3e6f983e9966db7249f7b083a5fcf1b503fc65972a71e8837c21369042ee905cf6e44a0d3c15197b4a472cdb2d5f65cb8fbc17f34a93ff67b89f4d49aafd2bac63d5959d77f409d56bbae41417d06ca41e67e604f9e4549cadea51e2661306d77e46d14b97143b52dbafa3abde5f60d6f856426b2f9bab0e86f70ced9ffca0d33873e2b6672efd93565fd67bbb5b1f6c1da2f1523d7bf5d9899ccfee37ff386ffd581fc64fe95b537a388dd8c5a22f5354cee8551906a3a99e323572169dcc8f87ea21ae82f0c17d1b53ce4c4147c256246f5e1ac736e9c62d552cc99a6897ffce55f9e51f8bff24d4abebf22c75f91c84dc6b1c5e0d2b8f58f789b491e9bb6f155f837cbf757fdc76d7593d7078beb6c2d9d4bb54f7936fd6475409924e2a32c0e74537458b0cd51373085cb4bef96284cb99ecdaeacf15ca69c4b8bfd8d0fc71b30000ea8178da9376877ad8228bc4bdd77f7a13c912272e0c9098a74134f65517adaea0ac85259342f1505618b7e1b618b51d2bf40a7a283bad773aa7f4c48f27c6c52ce56fae69e7b0ad5de1a4127ac9381cedcf88839107a6389fb90a9f5e3d27788f7c71ef608d95db05bb9bed969827ef4d866f142faf9bf722649fd817cfe7b732671fcb45ff1c791c78bd6a5af032573b11abe699e6f5819c22a7171f77a50a96f3516e6a329ce5fd121655db19279ffba72f8ece15c60119f6cf9eb1121453e1933dcd58cb8221976de2681c68f19569cf42fb8223cce9f8bb813d3792f66acbf83228427ffc8458c5dec9898abecce0967d928ae1a1e7a93904a78c7298eb0ba62119f041d23ab1e039384e4abefa7cbba66355ffbc42b9fa9a5718741e7d832ce86ce54e6c4afd0153f04f53d9fc9b9245d782df80790474f25ed9d6d928b800b2b63f8ab0a015f93eb54e25586cf7dac171f3ebc2370e028a0519d967369e74773e38f06962240656ac2b996830ce2dea3b2f9ec7a14eebada448afbcb149d0438e3ea6799a32befff8e878702fb031e9eafc825a526d7ad3d67047a1b8a5f778c4d2fe20bf8d34eae8f9d49a2fad81eac603aba2bf9189cc3c695559fec7e6593dcf4beeaede6174bddf9a3de01a4ae9377f842be2acdaaeb57724df4e620e2a8e3cbaeb972d618704ef01fc546e8cace833ca5f64607148e0e3729ea9e735eec1c8ea9bc5e3108aadef098491f08bfad762689a64995d73b572e80f8be42cc70ce2e7d8f5ec13acf7053571d59c74343c35776b1b0ffe7bb48e27e86cbccb2c4c3177f2fc205625dce25a88c7ab5db15469ee3765b133aa16ba8adfbd39b8ef25e6061adb440539d8788b81ec0c225cbf554efd139df4ba653c59aa768aed79fe4b7061cf2f74a8d58d9b34554c31e755fdf5167b6182ea85710f14444460a6fcd74f3e59f51eba06893c8f42203c3584fcddb974aa983b58438432c87722c79e2280eb92f2459337d8e5a7fb2a5b3967d2a6aef54a6b4d0c125cd9846cef4b5989cf6c4b2db9a5e6147845680d023759a9bb68ca954ddecbddefa068b670ab19571d258abb9a9d7c0dc323ef790b8691b6479134b342f95e9e7b8d04f3f748c62e95ba04fab16fcb3173b5d54ce07e4f44c1ef0d2bb8c27d2e5aa4b008f98249c8fd7409c0fbde3739c7c7b6b6b275d56ca5ef56a3af4d5240b9729a62d49647a6abf9692c51de85c91a827cb143932d9ca19c7dbf6beb4f81e1ce5db1d915931bf3b8e4c2397c935c0c31be72b8e0bc638a33d9d701b1503118960891f6ce4a376a494b8a7af1b9ff65f6f7b9de344cb4190549c132eb75ddbc8755246c2b73c0eeb6e782d0d8749f47f98bcf153ff53c5847fe118e87d3b0e0e6adacda592a9a8539067685190783e25a9f79399d11c324ca6a104fa9ddf8fb4fe4bca7341f2ba3d996b0044a66765a386aaa02e3a10e7eb82713383927efb7af21f74e215feb8683e8a4c43fbabef2379b9a7ee39f8f196db31478393644ead8c50797ec5e6d961daaf6d0a0f9834db5574e4f452d2d87c4af71932e7e7777b96c88d36d990277e23eb83b23de582ca9daaafeab495809b182c62b746523905949aa5d84c09dc5a19ffbd402c88dcfd83dcf9dd50fe885f91315ce8869b8b10267ce18543f39e94abdb5d071dd7b2ffe73d5d8ec55a1187276eeb5c5b4884b0a5d0aee3d54a78b6d4292b41706614d8314b5f5b538a5a6c6793bdefd2f0aa9ab087b18b720ad0ca897aa29bb25c7146a54a60ee945ccebcc299d8a8f997f2607b7bdebbb94e45440812b20c817dce2328fb853f524200174dff70eccc7cc3fcfb9589dab4e9e9ab2d2f5fcae7450932d8fe3a78f3bfb133bf63576b04030d3c7d3833585c888c8fd82eaac62274bb8a785c7edcd18b8ecb0b1903742d47805d8cd717fb8e5356c7768e76f55c0fbdd292448d54bfb40b6ef5d82ffa807ca0d85fb92668e508e0b5670408588900ee2e499718cc72d25c650aeebaded4c86dfe5eb85244640c9f1b603bf895532b36d6bbf41a5dddc373aab73d75b4942dbce4a87a1bf1c0d1ead5a73eecfc17072f195a5124cf36b5796df74c0a786bc221beff6083cb8c06e0c4192e22228bc9855371de6d5275656b81b55fcdb4ba90f8e8de40ede915b1ddd5ef204bf39f7ad534460067ed26804f171220537bbf381444075e3748869c4450cc089f691d8afb12a6587dc871f83100da8907ed6c04714378403bc19ffebff99b29153e5de301edfc237675f337235677d27ffe2d0024cf03daacab2878382ae0f0a61ca6a6dd5dee3a326db86e3b900c18c4fe670ce5a686738d7860fead5cb2d35df0fd848e5297e24eea418ec35e1ff53d882f1f95c437c716b365039b0fdcbc05088c375c411f91b35bcdd2d93c39678e340adc1a591eae993be22f5d5d0e592a8de6a5027f4efc41737938ba6cea4793517adce9542fb89a7eeb70d764555484a8e1d945d5756b9ad356680d36e28195ab979d69430e5b0c76577778854aeae404aa3a6d4f315dc5e7b28fa9ea145d061ce59f95b6c973bfb10b0f5fe046d35f8dcc32a67d60e51638c6c86fea7ebaf1f037fafce477f55936ebf627b1bf8f775ebc7ce9188fdd6ae669f64a243f517b2efb8a78d89bdef9a8d8ccba891500ceec3ab263e4186e6646d9f1cc3310f40d6699ebfd79d61b679e64b72ac79bddf933ed2a017cca2a5a98395a9839065ca4004abfe71a7b9882620e847d9afc9c5f73d363dd0be1399098cd3460ca46302064110276cdf3db1577ec3aff78ea2d3ecd0b8fe112b43276a67ed7a66bb645d200d22b9c8234f68a65ab88ec0bf50ad19e5a75b28fbca66d3353323f3e9701df9efb3b0a16f92524f3df1d050bc540b18e08241c252d8195c4a01ca5247150090c5a0a03434ae170680c520221094721a5a41ce08e52124829b803421a258181c31d3118241c4deaf99238380a2581c2e0d01292582c4c1ae600c362e128a4230ae1e0e08041c0702869072c42028bc522a1580c06e68890c44861a128b424521a894035e2816b95452dd7f576419d52ecde3ea457e8265ee579fb40ff16abf0f9b1262bbc552e00de51234c731115cc6330dcd391282de963d4755f2bdcaab6f75c987b33ef4821116c0959069b46f352517d61ab514a3e4dff561edbb8adf1a878954650f5d8a1b7ae95eb8eec45e0f4464e179782176fd83d8f5dda9fc2cbca461d0c5ec9635c57e7bd93ddb86523a71329e7e5b742351ac1c0bbb36f2ee6d1ef8c7c6176e2d86b4e8387376f45743827dcefa8cb6f8bd9aa901b04c8db2ceb8d9e3865dee86b594baf99590739aa7d5b6d8b2b6749ad53826e73f20c11920559866444f3523144d33e8cde9c43a091e54dff563591380af95d93ab1f3a891081730dcc2b2406e745e6d1f9d57514becf4117aea0c5d9187cc34f39a9537271ecc57a375bdc31ec5bf7fad58c73245ecff39b8150d06ff6fcb292a9aeb06e74cebfa114374e264b8a11b0c8aeeb2d72f39a03ef6dec96e67aefc1654f0f4d4730488e69017b2b8de93bb2c697ec8f4638845238309fbcb06c081719e77c193b7ac329d9e90e916719b4ccb300a85405e2ac611f31be7d92714dcd1d42e7a41ed0ca4e3dd8bab0e770dc2dd733e33fce9b6a58e6c9abae842c9547f352c163a81383f031b4733da9ff829854046dbb7d59e6c77419c35959d37aae91d20f53362f4d05f7d0ac6c2bdb1dbb080382d8905ebdb38857db43038237a9facdd72e0edfdddc94547c5ba541eeaaf99b73441acf651a37facfb4292abed3e9df4a6e8627d250c6cfc13efce3cb59061f9e81b5c9a9fac92af117785eec345f9c32214faf26c543a5fc3aac3a549d72eba05e867ec6a3a1164f5ffece23770f93a777934294c178f2ec8aaf17774fb93bdce9b67a46a4ad50e3f930ef3d8b0c1fbf4b8b102d3872532caeb5e1bb8f660e153cff52f60079d636c95cceffe10d426e7d54804cbb72dde7e3ba4a39c89cffaf365a93bbdba718ce889a22c1ea0a3bbc1d1c206525e77ef67024295f3f8746fecfa6f7e901f0eff41df26df88d620a040249925ced3fd4feb17f60d66b597fd7c5668eb44de6092485362f86f1197b05f862707c327cbe680787103e313e250faf004f7f4d4f5363553e193e284c5c122985444848a024511252d230a9bf7e453fc0ffafdf814aa3500824140e9340a0a0529f7ec708e788f3f545bbf3c9f0f189f1a9bba39dfcf864a0627c9a9efe38275f17ff104d4f472f3e99303e6d5c88e6e7a7f089f119bb3879a2fd037c3ff5c72c58cdc5c344473dc001a3ade5a1e7adea621a6aa68e32f3d042a8bb1a04e9b8b97b6195d5a46156fec16e123e4a7017b493a6ba8a85ab8e120287f4520b12f5f07384ba881ef0d7313276d63290f0750956d2303337d336f7f5d231f18439fbb9a9ab282bbbbb7b05fbab07681938edf3f64007a3d06efafa8186266a563ea17efa6a012a06c6012e0eaecaa27e1863942156db38d8cf0a69e8ace50df7f7f7823bf99a613c8230484b1555553d337d4d58b09b949fbe849776a06b486010cc572fd4cd0f65a9a52c112485d1f30df630547396c09a9b6350fb0c3d9d5c02d4b47c2560ca967025372d630f2b09e9602f180ce32a1d2011aaa6afe4838239a2255156fe4ed2a6267a6ea1a688034eee21fe5a1ea15e6a41863e412e1e9a181729071d1fdc3e0749694f7d6f3d5f15f55084957180e701251d1d57b72023af406725edd000185a5fc907815636955073dabf9f2f22e26bcf305b13fb4513dec4409780027efffa9d319a8829cee176c38a260f2ee4de0727bd806d3967f7d16c3e63411d98c92a93f50e1aed9462401887580f3a5c7798893a524104c321cb6089685eaabd9f0fdd4f3f141cf9e9df50d599f1d5cd92d7405fd56f8fd00470f7233cb44c9f6cc59e027fac3d595efabdc87d16f9b7921d6fbb9f9110eb5872f1303098b4d296dfa7d0b9d89b775cf6990133857d758fb1a773a85cdec0fdf9940f596f8b08fb00d45d1a81a3f6d427aeda1e3a3b8ee09d7548e4ac67481d3b32b24fb3e39522df85eae34b09d194ab9fa70b72ec58fa6cfa0dd18bb5a20b9e1c350d179df1070e4d7b46e37307d5bdb1dfc634d44e6c67051fd0faf2155d84676f9e92acaf677fde60c8cc097b2e75b0d27bf371e499c3cc2d53b76fc909021c3365b7a74e8489151f13a4dd9f2a864f6ced655638dd1a65a3aa5ea67785218b4865b84ca5478033ae7de6ecb0b6597d87b34339b651ce4ebc3cd6e3dce38b9d14c22a2b638f76d815f8caaeff09376537928afe24333a9484594231ff8f7ffb2e6707045204797e7374d51b1ef35fbb79ee952069ec1b0be190a613d7c491778d5b0f58efb3dbf60336c98648e4bfdb37f113a72d841cdfe50f6883fc7ffc9797ead35fee3107094d3cede5e8a7354b52b0e3cc8c775afb3eeb61b2ecb47155d1f7ab014f26c42b70c8912251cb92e7fbdd188afe2d192231bf3ce4ad99afdb4f90ccffa3daa73d75f67cdaab97b7ebe8e8963c7d78b34bb6f5979b856652fa13824c10bca1f397ac01c823d18ad4d23116ef90e7b23d090da89d8f84bc7b37c9ab371d513f0055b2abfc9307c904fa153cc8afa0a29fe14192aa8b4866ddc45fc383a47dd60ef2f2e63ce11d0a492e4e48aef0c94e1c2f6746d012feffe24152c00f1885257c37e5a484e344d5ace158ca77e137aa1ef91314e2eb6d099b030a63257ee30ae8afcd5ff87eca4caa07fcada6248b3b92cf8364a29f3e23ed36d9eddb3244cde1d6cd6207ba7ee2e7d7b43890c8b0e9227f79e1c2e6c754ecb56815ef7d725ea833be65b796a67442bbb9ecb08083db6686a7ccbbd01527c2d4bdeeca3a70dc56bac789662282e7cc2b9df9b0217f6512b9f0df4c22f7ca77908740fd109fbfd46c77495be708f521bdee62b1e8959752492593d2ce32d7e43544fb093df67ea478b1ac64debfae481d7f85c96053b08dc73b6d2ed2422c2edd26d49e85c50eb4ee6e9abb946cd718e6f6f863ffd94845ff57ef82c7db878c463b7a4ec753d8525e3b0ab13c4a5b4339c2054d976138bcc35d4381894691f186fc7ce394825ac392d838dbe28da7252bbdc7ec0791a91f86ca182b792469e3105eeab69a078c5bc63d91e5018a36275de78a7fa01eecdb84c8dc5781abf7eb126b35dc02695783d2c525cffad20c487a2488322d9e180738df121147a3e2189565a5eea76d0a95e4ae2be0f5143f38c33d38eb51498b2a2182e797c1af2909ccb71d08943b9fa4834094e730b30cf64563e706135ebcb7728ee6e38b6dcf08d00fed2682630c93cd105f013bd9c58c6fba93587a59d9a23eee9bba61f1223e8fc4b45e210bb8da316345e6fb41e4793d40ac64be938fc4c2a7605024fdd945c7241c5c2d4f89cea49c6b796ed0d745d0ea7acf7aec0d95ffe99af3f73298ee00f2784f3e9718bdcc0ef62a4bfd406dcf236c3c2ac5aa679f4309fc77f69b6bdcae3e09593a11cd4b45f317031b1caa94ae13dcd63dcf7f8fa6f589a07231885ee3c81cc23cd6ea2d73a8222857b12bf3e63f76837b62ad75731c5a60749b9f8e862f0a9d3a1191d10806def50f36c8e0efde7ffcf6288721c38c7aa8d71995191f938a943d855b8e33ebaa039c78964aeba75a36f7f75c384819c4c67af9a4a0a95caf68b3c3d548494fcb176d4488146419028de6a5dafe0707485991009e25fe3007e80cb746e04d93a6eb99c106a09bea1fac15db6564c83c2effcb01fa85d6cb7730176d8f2753b726f9ccfb62370b624e983ba577ef681862607ce0c5690c7d3281f304761b5d32b9ffaaf8e9a4c22d8cf9a89245d7e38f6209e1266e016f6f5bdd29663326422e2f438a38088c78250285786cba537c6e831e2ffd9bed4ec6c3260fafdde46a7b1f8b274254adc6c04fd63ff96cef93694d93c9442479b28e6988aabcfdcebd16e22eb6657cd235a7bf6f2d34da9ebb5917f09b65eaabebfaef820e4cf2cff55d412f6fd66ea162f7157ac9f01b2d4a554d45edf08d8c5fb1f8f0439f831afd67ebbdc7d50cc51453f6e74c90b220636d5fbfb0b9fb2e6313ff9e28bc534f8fcfb64d9d72b40f411fab57aab35654bc001a75f3b8d4c151f9fd694f5fe4761385302f1ac53e26ebf7d4b666147ed8993c5a9d0a594afa4c5adb1fbda418bd7c6e0394b5ed15476b912a9a56fb22fb46931252aec032b88d1af1401eecdebd56aba3b1481515f3e05513684628d369d1ed8f295c66f2a50ccec1da01e33e8b9a9d7119c53c8fe240eca22bdc5358c2ee73c2962121c0a95225f5c0f93f138b507f269958fc0b826045e20b52628339c21b5c8c78c04b90f8476c55ca5c23af1e76f28db448f9ed4e070cf79ec4d34a3aba4c1e4aafb07557bdbe779a69f1ffb1f71f504daddbfa389c42e85da448ef457a07918e8002d2bb221d1129d29112129a4a1302028a2ca91690a6982862101069022a0808828014e94d88b46fe8d1b3b7fba2d18dfbf79d7bff678d11c790372b6baeb7cef2cc67ca1c7897189b47c19cc17972eaabc847bf72a158a6fcc322175d6626bbee70ce2edbf85c148a69a6b883e723c5bab6cadb1e4053fc02da911120b9fb1cde635ff204d602209a5a9ea67bb9d9beac9fca75ef27b8fb4ed88909f95564822fe4b2ff742fc3815c49535e1dce40e04eb96d495c7221aed99a2de850baadc3deb85bdecfd3cb7d015fdbb4695db28b466ab159b79df26c9e593b8f6ee02656735f35c95bdc164641d0be90356f04272c72fb5f32238c8951f0277e92cea7ade8f4e6700e131fd7529c33abd7620f5f768cd2c93b04c7828153475fd08b6ad3b0d59ca7c87493dff8b8d635a2a715b71820dc3eab90dcdbc504f006d298d500c908cb10d6dee96a23ad396e5c70eded4745f9dd5abef11b71f5189297201c4907b07723f9f4c14d23b3cd5497366f5e9d6eb7b5d30a9d7e7baeeaf6276f073ea647fc3cf6a11647128901afe2c0cb48692af0672b8f28a16d47cf4d0c0c74f1420f08038e8211a3d8f0f4f1373983a77031a61c36fbea62b4e24887a9b0646498ed667c2a1fbebce45de62d7fa3616c5885659f8f3b6f43cb834887c7e80fbaa294f1d1607f4320f87d26d35e075081b96fd5d83bd611edcb09535c8387cab9895f1f6703a177ea935f91e393d21bc2fc92c3c9fb03bff6e694442f2c812fa0ccf12296caba7b9ded2c8132a0d000c0029c2bf744045f22439d77dd722f0e18a48be5565c384b25e67c3b3d4d9b5aed9b3cc7425b9d78291d39ff07c7865f4d1c22da6fa693838c85b8cecd6f54a97fce73e4d11bca2daf685e3fafcbb2087d7041a57796e1f823ef8f954d07bc1f6d4dd3ca02aca5e7fdc9af936ccc24c4881fad4eb87a5b12fdf18087dedda997caaf5f9fc2d261c072101cf8339ebdb7f0931e1b6515e847f0b93cafaccb07682bbdae6c2d3a9c2342b6e6fee18685f37074fd41daebdf9837c19085a2aef5f018fadb5c46b96abced0753c416bf3b46732832c1eca3f7faae7fe87b6c789ce2b44417e7de985cbb3ecc88ff7e72c597afbc96fa7a7c2a06be3fc819cda0cefaef03576716ae3aaf58aee0c10decc3c20174b5155d8c0ae3d28651a465dd2ba6a6110b84c13eb57da765ca458f8c25dc6f004ef2859e282f2ed8de73370881789b698525721778d3d007ae20a4435e72b79eff379e9bd2ee4b1ec07524f80113ea28c9fd8af9b7c78588ce7345bc3509705eb1419e80e7634144dfe4de9dbd50c24b5a3cd47a0d6221feeea2e358dc59cc112c1c2083089f2ceca52639edeece61d9407d2411cb7a392a51302c6aea2afcde3dab6a80bf514660f068be6154b6bb67ef75dd6b0aeb059ca192467253c58ac3be116b0f3050091c541409668620a93472910c3c84a8b61c8c819e59c2db57c75dd8b4ed2197bb1256f6c03190fa14a5acc6dd855cf0850cf00130764d9447f02b0a9ad0c8c27404bb216dfbfb32469b8d90bc768a69ae3fb7e34b67d909daf92bf2fd35422123b121f083f6434c0a1d863ffa71d84adb81ddb4e323f6746e3f56f3ffcff69f0d93885e77826f2f5d0d512f60d9281916489a7d4f28ce783e7d0fb17cfb9e70455501c068f11494b1539695e96106ad0c9c31787debe1e51289a1332be7910a4b77a8133e6db9c49fd630e22c396a74a6227094f5695659c0b579dde5bcb92250f5442c3f9d0f5d6cde21f8a7c705af58bac053eed77f78779f33fb716ffc64a004ef23bfb318f691213da0e7d538e0778cb3d3e0e40cc42e327d9b00d79022e91c65e9ceccd4b17e4bece6424475297a01b2368be084097cadb3312e89821670540a133c3a30bb5a734ff4e29535ae19e905383a6ac32b084f9af5b16f30364e6937e52a64af3e0c216f1c6ad256314c858cff8fbd181fcfe95fdbb160e0e5fcd889f1992df7aa7324efaf77198d38a565dd082460c96f0ce1592e34e29b0448e7b79ef9b04b345d93ff609ffaf88a15078e8784f06c26441a671abbac1a74f36b7d24872f8a59b73aaaff50ede4019fed1412608dc83dd3c83cbbced26c87b485e3022c18e23e3bda832691830107360a3b3c5285bf1b2cf95aa2000c74e1285f110bd0e4df0d5524c8a81fdc561c045fa75af1f02c7c27f5eca274ed1980634fc243fe3b89ce6d3c9d404f8674fdb698f2615bc41dcc8dd733af5f0e77bdc508a9837042ca8033c54ad6b9556bab18f3e7b1125ce44f83c53f7820df245b4d55ccc9debd21f1e1e7d5ba3a9ce0dca7990645525db04198dbedac9a1a99d1f23d3e6ffef9706fe181c3f724e989e52b5a19b100815c921f8f8862513267ad5f5ac97047d45300567760c9c50aad6a64e098716ac7513acf16ddc914f311e4a6d8b3a77a8e769730c4a1101c7110821316f8f934f8f4a130b5d991c4203682a3457efdf43e0c31c12171a007158b583212b43a2699bbf590a2cf34697f537c10475c45749af5ed29927eadb3bb8bc57deb8c39aa5e4dd794db9ed7c70e61b8c7c2357daf2dd2e7477713127fd0dba577e2ff1497010d0d0dade96c8569605512fa78afe0aa623a0cf12bedf8ae5f22448b603e2773b3417a77de447cef0fd3a1bda954fae7bf8c8407671b06ba8901b99a2f3dcd7557e92c1e92fc8ac710df3be2fbfd9d96d46efa8890f8c3915d3a8477ebc1c31761fe21070d341604348ddbfe1b410dfb7efd73a815087ce5db6fb37e1f2b02f60481ae8100a277d8e7df7f7a1808b44f556d2785b06384a2ecc76a2558fda9f8ac63edbbc833b7e41345c5bc8ae7ac46ea3e0a1b08825944e477fac91d97171e016ffc5040728e9f2d8ce23e4a448306f1f1023b35feeaba073f5c88d95189fec1cb803341a0937fafb7210f043b64e333baea3ef536f8f24729fae04aa2769928f9653ba73db9b04de5473bfda41107d8e47ce1a567f14f7985bdebe98cfb263c868594774ce5cf2fe8af1efcf3cdf812fef16d02f8081576eaf05dd2ccff9397e865f1efe6be61c1804ce0ebc8f30f30aed94f8e54ac4c1cdc9f44656670d091c69a28f31a99605a3f0004330650db66393ecd1275fe78d02abde70e5fb6ee9166a84e379b4065def293120c911c0447f4d9b7b065f62f1b598b0049603583aaa002c396ac628cf36acc2f4aae562ea9519fee876308eb8f3a35e3a3eadd135dd2941cc91be7ee74b7933e46af4763b1fcce159607364246b7cf3ca451e720df65a7e03149090970846060304ef8c9956616d229f1991304dc9be7a9743ca077d9dc65d55f153354123ace93e360fd6b3ec0a3f82a5d2d44b921ea954591a1ceace36b6ce71cb9087f3bc1bb2223453bee77805981fb59e9e50367e5d241ba1d36d2de39c15ea7d8c32ba28ecd5f157e0b8994807fbe80dcd975128130161eb249a325f3ed9ca6e8f338fe7a8bf280e3fd1f2e1e7fd3e30fff72e1c00b704072127a599c3a699d99d7ee45914945f1c32b07137a4e9c5310efa7f44ee2047d047c6ef3eb1e3ad89095c09eb67c6641f2ca9494a766c293c9c6fb53118c7d8f7bec00391b8ce67bd6d5ab3a3aa1d8d70559b0eb53d71ebc617336ad6af52e19e528cc066c67ee99a621a56474ed933b7a1ddd782fd395f544355fd38f6927304fc08546034a6083940a4eb7d21921dc82ca5b1ccfc6ad7169d9ab07cda499faba11e49a478150dd1e40b8acc138887a728395ee607bf3a9d067d81ee3e7d4436d54770edf5103ac3456466386af4d60f6bddbbc01ea5f9e45060f8e8c65088863c414e9709739014395088af745a173c3ac9a6b0486f471557b5752541a867393890eb69fd3dfab065cba1ab951d8356679bf7d925ffba06fef91fc409db407ee1e1902ace181fd0fa400ea9e1726653476b88dbee140c31382f74d5f72a606bccce737a02b4e879f2103033e56b433770f051b699f52c3d8a93c0d91b7ed3e669abeb837703fc36dcc7ecac7c08c5034ebc5442bd190d9a2acf2d5a09032ea30e5fbae1f6ac8cfaed04d3d7e2a05600f6db2fa21abce2dabf02004faee044e57914246e972d9f647216b5e78a4580119ada325e9e705a2e2523a5e2bb23e3fc37b7130f6e0edcc5acb2a9f29ae301125a0fb268fba887f231f497751f0f30d4923ce219653f48be7178a0a0b262214450ce138e8190e0cd4138283ba839174c99b989f0974aafe45d922d8c92540fc4d31f64f7fa7fe7b20a09df5bb6f20d2c4df5b771ce06fbf06a656dd818409fcb5f9f32d38881d0e7c6cc74d662d0a40dfdab4957209f553cddfa031b9ad90ab23f57af46878f9951adbae454b655dd56f8e2b590fe6733789901d71a7aeae317492c70a061d6cc1e794a2c7f385b2fde86fcca3d842ab0e0d15ce618b95e7c65bf4ca7bd4069e45ee32b8fbf7f986a109e1f94fbe1d8b6577835eba0c5deec178aab7280f76d10b3986556b9ba89dba662d0a18d21431b0c4442cc28e130fa6c2e4d3380052ac07f2ba84c4dc41cabd6708e3f176ce6ebb1704469fc027feafb4e3eb9e1d4ececa029bab8fcbd9194eac245a8d906de8acc81bc9af6cdea479f5415f9a41e92406e0dd03eea24c3beaadd453602e23583d967be064be6a9b752b6f1f2efb1df5481406ea8f839e51fc7c66128e37ec6cb07f764ac14118288159d3959ebf6f0c6499b8d46de67eb7994ff152368f30211e97bafcefbc9fda9499a8a7844fbbdfa33be4a11ed4e258c9f03704083e647d9297851c7846efe848bd115f4a8c88ec72daad3264f1e0deadd6593d9fe7f31eb860e2f19ad8abb88ceb18dc49dc9ee61541b1a18c5d1a5bf0dfa9b82d3a629ebd6519b8fa22c4cd3b37eef67e5b118cf677bffc659ae0b948ff615d13eae6e5bd9bfbf13a6c10ea224050fb69eadcdb6f81de257ee9845e8f81734f5d82eb591d47cfbc7e407d31f8e30260d9c85a73f8a5b511ad5e53574c12b96fc0ea24dde41deb8384270ee696a67ad7a04bd66e4526fc0bce459d8b3a23452812b7e78029e445b6c3a35c45668f04e28c9facbb894fedff246e74c14839e3026a8c294597b9428480a368a97e287a2f0159c64ccf1936cfa7aa00c5cc438f57f742794adf469579a28488b78a2ee6d856b23f995418aa0c511911fc8aced042822fc521c1191348586c198a9130eb2073fba5fcab9a640b2f8ee48243341d65e1f972e9442bf8546b2c1ca0e459d93067ce3e9dab23e14d9d4075567166c5284bc5f1fd7d50ba5c48463d09602eb85f824032e452d54298eba96656f2bbede7a89e2b99b06075a8f4964af5d830d0641c3401c189428263ea906c5170540a616fcfea42056d3ea33cff738a11a1a55c252b3806cad39c7d25fb57dc5cbf1fc48437a544b38dac98fe7bcf26212fdefc6ba162038f574c4504d7d6fbb203a7dbd51a9a9286de94eec28533da7c2aeecd8fbf13e0b3cb3ec0537be458ed2edd501c55ac43abbeee3a544703cbb2e06cd2327c53b8b89a834314d70bb99e5158657c63b09db72a338e2c3e99cad9abe0972b303e4d2a9c6af1e7f67886b9ab4b8b4d6d6e55069764692c3c9c8be8f1c1023828a25d352780a77baad145edcdfbc59fe5b49ea91605b3d902c42b7b30cd62303cf7abddc9c42627e45aca83cc4a47c64a5734eeb58c3969778abf3aae526c605dfe9456a4e2b2b35d77aba691d0f9c3b5d5d33c1e9075da134f18ee9967541004cf6e63987715df12054e9da8bbf9d27fcb53f444d5149f5684665c2ddf79bfb6bb57dc97487bf9c143584070319d84cf49b3b7c337b3a74897e1a8c955f93af1c301a32ea8b340c4b4b6ecd780932ca2b902d1ba0f099e6745359d2394b62d6d32c6753cde50967b545db5fa361a8e8eea1a23bf6eb395d57123c92288e341e829dd16913b6a6d06116a762616ca342a3833e3f1a774e143f7c6078afcc0d70636343585b7f4a273a4d988de338f639c6fa16b835fe37925163cf32d1c0b071807b80e121ae7640c739038a94bf9f2d22c0934debc573f7e88f5085b2ce1d407c0c6f075f6a29f74fe9c3d812d79d4688f32390baf6bcee87b896e13ffbdba941fff8d5b23f5fe825f22bac681b2afcbb3a8562a60864fbff028bf2df7ee90ad2b189e7fecb1f0b33fcb303eaff8601e3729b23c9820e4c4c9f4beddef4229160c908836ebebbb92c425a6066e34b30efa52f15d896712ee85c57b70bc39b8f47a05900c0c995865633c4db5c7df0e38675cd55c2ad5fd3e89234384c0268f9873501f437c1c8223b64670c284bfc844282285da896838b67cb3544545158421fa1f9cbdf8fcd8a4979ecd9be0746e3de30f1abd973de25c839b39fadddefef2981dfd1c013eb096c644f37b319aa2bb0309e0ad1e898f0504cf214080279600c3271f6c971ba8eaaf8ccfcff6ff3746efaee483ee326ff52fa8053c208b5f9a7f3fa53ae3cb1bc6d7fe03cee59feb7fd0ee9effcb3954b4669e277d03edbdcda5f03dfaf7ac5ff8af28497c7c2e7a7c50294f8b0a9f066c85973a83da68e42e9d11f894b8fd3bce397eea5f9f6a7f6f7c767b11fc4e67cecfbe34615bd49daccad3b5670d8d30df18fb55f4ba0146476982861fa833f5c5829a7a3db3fe6125fb3f8ab318dffef53b388b89f31e5f671a7913d22caf178c3859f98ca56354eeaff7b89af3b8603162163153cdb2bcbee5c158385054620da65a10d083bea855597caa5caa4706b912fef4887059383bb55e3f2f3be0ff3835ed55efb4a35d886c55cedbe790d993f442f69613e7f74636bc6b7cac3d893e0359f34270c2ecfe803f1f876745df6414cae49ce9245573f4b3a91c71888a257117942e0220702c1c387138b86741ffc27effb8420acf18a1d9a422c7aa93f4299e46ef4afab85ba854004892e4bedb1ebc93b75ecc99a850d1c5309fcee8a87627a93ebc9464257c11a58c01674170e07404274cff8b52032dc947ed84a48d25cce41a24dc6cc78079684f0ad4e3e9d3ba5d6e2af826055da4eee3fafc96a10333abb4945ea9cb376aea336ffcc2a236c7b32c7e942107333db82a8805fd58022c18e061c5580629d4524c17bf25a3b0d93f19f43c4d384cafce206dd412aa78e15a322092f2f6eacb0f6ce28feb6591f319770b5652979ecdd04e668b25a64431b45e10c61004437004fe084e98e2d7c121acfd71f96882df503e5af5371f88ffa37c342ff151b916de7af331ee27ce1321620a28e0d4959696de00450922c9c3877fe4cbfa9fe5a3075692bccddb9616558f38f1b78577c9af352e1ec223fe7fcb47e39900f814dadf563eda5e36d0fb70c021c733062ee65e327efe96c6525a87f48c030fb9f9b93a0406fb3aeb9bb96a3bc998ca04bbe8fde7f4cfaecb3feb622aaa8353f2f9dbc6fb1993a15952abeea404a235a0940d292df279e8b99bf6a1daa874a1c1a478cb6bdde4751834615c4ca96ecee824ae24e15583a4f47d167c1a1f18106db9edd323abc1eb9c1471f4aecd94e9804337c1d5abcd16b7c67196fb181a480065bd757b5357bb4b5cb78a373fe4726f75893b722c875ca517be9534b41aada3894e86ac25fc297f8810db827248fa90aaee8cec2d5a5760339575485921796901cf7f0d72ffe18e63a3c63b85050379aaed520571f78fc2ad90aa7a4517362e0c500a505e333427f13b7c55a07b1a05888e556c3d4b7d501bf3a0260e4ce8a18436784b75b941ce66e0c2ac6691862f25da1bb2761ac10953f822113890078572890cac65d41434b666492652950581dc5f4bc3a394dabbc9b060e0f203eb1cbb7e8ef0f21073b805f186d0eb2caa02f918e53bb4c395c9de4f6f71011a592a11c92c399ccc536839857730b731f3fc0ba37d75b48d6bf4517301d6d918d674108e35057824a413a4562d73bf9e9127bdeeae297b3fa9d8512a27e321e6549f0a3be72bbe5160de7434f07ecf9d418e500e5254d2ac34b4d4ec82dcd31917124ebe04a56eeffbf762e808a29cdb8f35e0583530e04b101c3815c109a388b27213034559b949d423c1764628538f03b10c450b8d8b906722604652136ff6c5193806cc235311f30dd2bafc88ebf66c76c804a3da8b4da27ac925ad7685841fcf882baaf6f692ce92924e9272728e0ad22ef22e0af28ece92e28e12e252b24e2e324edfc01cff4605557c7b9a5a11989b737f7e75f9c7c922c68d96aa2bc8c0145c5ea2733f25674550baf4708ad8ac33596f016bbc80fc5c5232e17abe2c9bbb71b582c6ab1b740f2f8b281c55fd8939afb4a7a18e2681374b317cf28c665e6ccf9956cbfa81d0dad4634b7456259e7b4f0286de35d5f11af7a5f79fd318a5cb8c9dcd3bbdaf582b5862c36ecec5928d548f173dbb368df0d38b82adbc052109f7c151284423b2cb323da927334f47f4b18711ddc3586f381a896f0fb814b9f0dd642e72972c235dacdf8ed9083b2ab7e03fb8c4a0e17ee27f0a97bc4eaf97667e6f053ad5e95e1c6b577d89d164dcd3177c80f17057eafc79ed5b3280e908d752767f04d54b3b2831843e49623e60c4ad584aee75a2a0f103aba776be180800c141ae2038619448e6405524733039125c128eda0907154b75e8457d1c16848108fc6eec263e9d1edfef6f2a99f603443582dee21e13a56deae049a987df67aefcf21adf6f97d29ab835b1db13e21fc66e8262bedfe40602ed53b5ff1e9a0fcee161d0ccffd330c8bfdb8ba0e1539981583070a50d13bfe23ec85845618113551b0b26dd73292cf101adc5e24407f163d53b6080db8fb5f888a799088d6ceaeb278be9aba7e81b5e924a25b796b51a5783176456311005080e22f3b900413329927ee4c4a7edf23112baff256aa201ad93f47efdd8127d8defccc8c3c7ce3e45be700cb89ee2cd40d4eeb62bbcace93f1c3fc287aedf2fe87c4c5dc9d91aaf06f88d0e6a1f7fdb8f4f167b615dc77a8c95d2a1dac3f0e6379cfb7a3e64f24c3996d9af4ebef0ecda7f1aecdd829cfddb3e017c08899f40507cfafd00d65c33f721eaf24c0155a986372a371395392cfcdd25a675f6707ea0e45bcc29d16f5ac41dc0b067850a49b4d85ba8abdee749d5b82cd4448f60399cb68213c48201ead27a74f9b568695ba353d9369cac3c86e434eb0c9c86caf1de57ab715aa9e3007b9045cf8d820bd89aa3b2021d52b569b79f09c2c7ae1e84e50a5c084f941e5bc080d770e015a4341504496bc4ffdd24dcd82faff47359b8dfec7c7f270b171f9bd02ed986bef1d6c40b85749765b5495a51099c987879621a78eb8d2f65eb9b2c5c11fbfe01d905322e064f0229b4979f799871d617ce2e864e5069555076f11277379533a1403f6b9e6617a45a6d64e72cdc5f91e3d3c9f628e2d4a66599aacfbd1390bb04a36ffce9616fb4d25f686cca145b7b894d00504074694570a42a36ac7ac27c24fce89c7bfcfdf50cf9d6f47bd4c54de7395ff19fc280cd2138b031821386e84843523f1d4252b7e423c1165c3b53bca04717d53584fe2c85f1d89b0b4293c616e3649447b839f9144f5a1de2fe73fb4dcaecfc0cd80b5d1b2d6899d3cd214bb35625ab7fd8acd86d6d3c10160e8c16bf1bbc78ab509b79cbdd95192a179e2a17d51f70f57afc42bdf944850ebb186078014b28fab6e064b67b612d1bd22c545257cdea19a3cb65a5c112c74bea21425fd39ba108d37054dcf18298f34e8be7b8c88e178d1c6c621e280f9a8a853eefe0cf8aacfc9c6b77606e54924849ff065ff941988548dbc6c4dc4db446a8777f29740c2773ac3e17b07497a0b00e4c8ac9debafcdcffd185aeb2587a85537ecb4fc7a34c935e58bc19c180fd2138b0cfe7a2e9ff4ad2bd8684c49d4449862d8cbd819d3b265416bde7e640ea9e2dc36331700c9880b1a5f4877460106bd9efc79bc53ddfbb5e3e25fb2bc350d935615b3c29c458512318f5921cbd575b7fdbeac7f151a7a7bfb235e3d3c4773ac8b170601846736ebef863cb46c03bcaf973aaf26ca4f3b9dc0f9cb351d9f9122cceebae001d6013d60379b5b0f42189dc662f2c669167f986ca004f0bc2ee888faf2f3b1106968683a5442e7cee740234fd0f9d4e309edd3b9d084efc6ea35be7789befa6b6da78a5cadb76a7c3d7596bac069268fc60ca91d7f55e5c09c957f2b77ddfecbf181ffba221cdeb63da55c25f713ae51eb51b2948b9464275525dd83d857b4ee3b095da7fb6d3098afd5fee742237b6777008e6b0b0f7f070f6db9dd3c945cbca47dd475afeb4c419236d1f0d095f75577b7d2373eb20791d6d73a99356be320e0e871c245db47d0cfe739c46bb8542a98b07c9498a4b3849ba3848c849c9c9ca29c8bbc8cb3828c839483a3a384bd83bc8cbda3b4ad9db3bc93b48392b7cae2b252927e320e1222e2b232b61ef202b29b1abf727720e38ad282529fd1feb9433d97ef68276ae637d83298d2c735a29dced3a5225c5e6015bee03a20731b7f8bc9485e25b8d87d22fc4b8ad66cad09a4718363b7c48ef92bedd1f213259d2e758850f2684501705b40fa157d8ea8b4db7bbc54de3e4b85e090c278a07b3efbf29f0d8ef434e388b0320acc687c184305dc3de1830f7a238722c922889911876ae20b952e8c993838b1fd1a990b5e4cf7c4eca48708f2612dc5bf80b8c4e8a47b618724478af52ca7c88c8ac958ed2f6ccbd858503bedccc9dd670d1c73698a7cc2c874c5ab22362f2439f0597c872ed35344ff37f92c3d573b02bba752996d642f046d161877c740db9ed75038775838ce4e787530fa1a7d7de7b7e2e6947b80f8e7aba27e3b00e6fefd499da5566d6fe7b604264f02c1c1d45fbb22cf4578c7ea6416c0fd54b69a38b6fcde77a3ff814f56833b57e77ec556aa2679a7e383bfa32b388573e0d81d6a312a16ce3453675b5daf7334a46ea122949a7bca49765016aa4b2db025b2520a0405e16674c887e02c13996522bde5028a5971f2cb69a315350b61a6a03de60201d38481b82d00c09e6dd444243aa513bd5f18563204ec5e9863dbb9c95bb6579c367e7f2608f2458ed52c65d85339cdb9dae7eb791f4fad959931f1c6c641ced1e2f83f03d426927e210e1a9769779ee9b71209954b816c1f5c13811dab17f8073fcc72c713b996f5767d407879e2da35e9bb70521e3a747802a3a7cbbcac695418324cc2653d8ca33e396073305a9ec8bfbadc59635daadac6563e50716005bf7eaf82b8f74b6d60bcf6dbd3c39df10ef48c143d9287d4a36f4ecfea76338eaaff40ecc5f02cfeb3da89ddc933b40a77f296d1a040291c81bc563e100ae99532178b2e403bdc69cd3910655cbc613cb63ae12fb172f39721ce051e0ac07ec0e6ce964aa01352af94326c64a2d0a4e12a7d4a438e3234db5d8886afb0f8ffc51aa90ed2bbfd98744d44e054cff5df4f45f154cffac72ee54cb148f12f23b4db8cccccce4ae0c0c63708e3cbd24c1833a429aaaaa5f598a8f6e44c1d34343da6aefd3957af7f9818b8fb7d263e1c0b5bd592f38567d1758846d92991c316e925636253d6a985aecb8c6c05038640a385298f1e8c6d6d1f199b377de50d465b45eacd139161077aa7726e0720a3f60a282ee84ac3d4370c2e8bef6ac0705eaeb740e3fe9cc1ac5dcd34950f332158e7612df96f86607eae7f03dc6701a3693f860a3c1c032cc59d58ae3e16ecf752c1c783b293cdbd628f4f2e14999ec57bd18d753637bdc6f3cf3b075b6754c242ba18b07b42d3963fb32b1991130084974fabd65d547a9db5e4a54371205121e9e703e6283c640d6aa109cb0c8ee7f831c34511b73124948c768b561a38a55bb6e2ae9b944a243ff9e2d9a7b9e6a7d835cf68fc69a00da8e14d427c763b99e2b579c384df40db23ba35ba4d3bb177de9f200e6fcd803af00d5eb422fb0600018bff894b02ce3e080de36cd235a971cf5ce95ba94a20ceed0b5b7097179b73d00cb7e982b4f80524069d09c97f9c76363ccd1d13892be80c7975f3d461572e97463c05d101cb8f35f44555f47246209859c8ebc6d3a90d0cc5037a00da5db9b494264d409c7809df80e695ff8b35c1f26259b694b735d9cfbf5df84f3d7408ab0a23bb31211703527f227d34b901724ff8af3fe9beb1199c14977eb6f54d18308c362d7ecf6ce4972c1f1c2c377c1b25aef8277a9ca7a43767a29f0f636a886e4249716df8513a1e28287b2e96a0899f6c15c403bf51478a7bd1ebcbd0df92979b16040d3e562a8f9918e707a5e87ccb5a789e5f6aabd46aa8171923c2a617a689af22d80c4134517c8cc62b79d423efe80526a2aeec4e50fb3b961a7e1ca093e0973127118b022040796fd34291b10c4171164a648e80a0b8a5ffd784ed58d42de091dbdcd748e6856f63cae77b119f55a25167010ba3eec3114f12b83f34b81bc2f4ff9a1122f23ff0d1a5190bea84252d481db8fb1c36928434ea14281551f5f3b160edcd51954e277e0eaf2e1dda015ddc8b3ed6ee4e1ace24d4a0f53abd04cd8507a0a88ce902f2b37641af73a1e506579b4aa7fa9a8675dfcc0de19dbb31e429e5b0acb182257108ec81188ae62567897f33c4fe178e18d15e181bdce97d38548f5e4efc9269b1d9f267dc5f3f381d9461c111d3a04b21688e0842109023a3e4766a34593673a400863629455a75ff8288df8626b9a4384e1989d45bdbeff442c7567d33511666138160c1cef0026cd4ebbb414482e21748e8eaa3f682beaccfa20d7767f49206a45d0e02370b2fa0c9b54e7add52184cc2989924197e943f124b89cc139d9a3b7f6de5062798e0e82acf97f8e72ccd146b1b6463f8f869ed0b8f81c49903a842276c674190d1229a81a1ee6ecc27468ea96b057c0a30a176f2b62e14094b6eecd2b575f3b0e4fd7751e8879ee407935a9cbc427da48d2434de9eda5702ec0d851c7552b312e0f1ecba12d48707bc9895a92c42442ff768f6ff05ecb5b1bbe7fd43557414288029010e2574830eee24f9a14c3e55712680e935cbacb69a4773975fd35b2b0de0b0b06a2467d370c031779674233f20e7c3cd71dbce7e953de957e1a6fb5663fc2996e25c0ad44b5f11e2d2917841b614ade5cf884bf72bcbdb829ff7100cb5d029429bb24069209c141d2109c3028827816418f41128e76ee582f37e67d63df1279c0cf95cb75dfe501fe4d3bc71e7ffded7aa23b558f7c29e70c1eea67ddd9c8fdd1cdd4f7eda97fd89ebf7a15cfe3ff3f5f2ef757fb7c071f38f48e6806c9cbb31aa74c19c7425826ef8a0ae4e5cb1ced937eafc55bace16fd609e8767b2a6ad86f6d5e194a68b7ff68267661d175b4b6f908c703c4cb31cad151520c440e828348213861fc5fa12873b8ef71c73ffd2b777c5197d3cb38c237ba7072f4990a14c6a63bea2ddfeff47dfc973b7e57336ce78b735d050b07fae6d608b9f9ef692c26b26fde6d7aa7f5e4ecb041c4beb4e336317441f62b466580a9e0d1088dfebbf71d8d2f859b3b74de59ab7cb941b3c702208a3546395f6635fd6a68717f31b4aac0282774bc6fc1605102c39e2d66bd93b922e154378b7630b476f231e0cb51c58281da22c5d6e47c9da5fc713a32d56b1c6fa3dd738e755dc95eef67e5266479702903a03997d93ba526a273a2736e9427e5c1c7a0f715eb3c55be6d40a349527f6d741f86881a84232207b48c0b75ef9acade11629e87bca1564e35a5a891cfc3f0c5191fec99ea2f7fcefbf3276d138ef021ba1ab2864170c284bf047526a2c04f99b4bec34fadb77b7e6a8803ab7efe858f1ac69d5838f0eeb8d6bd433e60e1ac534146760176fb7b4b44d8df4e73e493f7ed95da3fa4de0c1c7dd9626c2939764fe3fa097bca60535b9aaa3e9fde05ab98a365f2b99be6f19c7f9c98aa480891071242dcf60b27a6a85fa84a4c2b3865a1a98440c5c0b7ae2060e339160ef02a67bf39f7e191d42db2e794a3f7ac9cd92723979fb7b2d1ae506d2cbbf6032bc021932ef92d95444fef776ed3072e3457ac7b88c59a52e7e4562d550c6a1c24b0fc4af84df6754f12e5fd592bde5b5ea34eeeb2316e5bc723c73285334188d0f6c7512a9b844f4acf14b2a69528d76151ee8ec7cb4e97c1da804be339f1c2bab9f75e70e3b0a1bcb58076843a773a59dac6289d0b81588a1267a6c66b7d860cfa51729f4ae55322a28318824a088ea014c10973fe2cf4161226701e357d812a624b71fc58c4c73294e088ab4d950c74148e21d0944935d7dbe5f183a71cd1f1397c410a5210f93f19e4c057701bcf468c2f95e95bd84a293a8ba447ece1bb24c66227b9ca8dc83306fa1ffedcfeab6c57ce1fdea7fe4a67ec34ce785c859777775081d466163d8fc1d5a57568dfa98d3f343f7683eb0dda3202a56479db30a49e8bdc9fd5b539f58641c4f0040f5d7e93641267a0b15ef3be79a6350a02e05dc0eb013767e6dd9dd37fd7ddeb6561f2ac31e8478e4022b18ee803d264ff3084407dc7394386ae6dc9db782f7d34a597fb0a31d63cc94b8c72d4180472faed0ed5bf9f99f0a57fb060e0413cf1ba31a57950474f7bb6aea25d76dafd71ddcde36aef282f7e0ced7a77cb15903ae1f36a6473f6405644cbab79ca448f7599f9756126fd3b6cb7a0465c0cafed30d03e100eda0dd8d676dd94a874207cda6e7b3adeb89fc356eaf0ec994d761e7357e1ca593da97d3f7f24b6e0a0b15f811510846938ea85fd7513cd0135603fad9b4fc7ac5b3434757136165a532ef0805ce733b5ec0d8be3656faface97346bc3ba2865e1090cdb8b3af2535b565d1a51c6a10a0f90cd03a77f4f4125c15f73ae892eacdd3b88b6ef1c5fc29be95eb4373b6430fc67a98beda9b549f1ef9f9b1d8a73b555c268c5d2ebad202a9db8cea18a128c382816a9b8efeed5c97fc5eb423cd825e71a0bc4ee9f31017dae7537263312f53ee2800ac66a5ad1157d66f1ece9288ade2baf17cb986955847e67679f7c285c884e49636f41dc85af9a7d31322fe95d416314081dac955b1c3512516fbc8b2eb46c55cc93bdbd72fed4d80e4fd631ff1ea4170809a7b534708d7c0ce5c66b5f6f628bfa085a09f5ac32a72644508b2612e0ad705bc4fb97ada9e995add8eb31ac2ca51c6d63f5097699b0fe33e4f72dbe5d273f3120c581282038bfe09104fa06784ba9957bef0f06ceba54d2686daf36f5c6c8f49ccbbc0d1f5107f96e9bfed860181a23ad6213f647607f7c47d1fe0cad7682064d7fe4d2ed485e42e1387aa4864a75b89be669d381bbb9b9df68f775a875358301070bbfb78933d17710d1337d759f657743c4f58a75fb432f69c388a4c7f43fb711df079e8f5f409b0b468147d458cec9457641a45bc5975b5a2b5147450ffe1c6c2d9af2a09e957bfe59efc7fb8060947cde92bab155c9396e7946fb432287a5b3c9ea95af6ba6a35a4d1eefeb4fb312fa0f650eb942bf855b2f11eb670ca77e677d5cd296e67d65d662ecbdcf20e23805dc7b02880702c3280b53f51f57d0504732eb5b3d01335d20c2f8cdd7968c14c5ee47271f1be3d39bfe0596ac3318f6108eee2082ab8a3c8a61e839004d23f86d31068fe861c2ef8ef0e97ff35876b505dcb9bcdc938e33c57f156ee85ced5fdaa0125e26f53af296d81262a050c237e054e4376f106cf079890e321529f0fe3e28d494fc5decffc67c369fef7e770e97aba3b3bfa39ff5ddead3fe03446064e267ed2ae725e6afa0e9ad2a60afece46ce3e9aee5a92b25eee463e41da32673464250dce4859b99d0efa7ff7fedfccef54d77d47ba937563c3402774f716dfe349ad4d8cc113e81bfda7e1266212c0f0c96b7b42141bceda58bc0ef61caccb7a1c6176f11da1f4d5f598bcbb36a61d46e165d35ae4694f6cb5131e4a181a5313417148267e97a713f2714f0275f0c34d440057572b75b7a5b097e0ede0ea25b1c51625825356c77086aa691d12ef486f60320119b257fbb9481ce5cce019c301efb95f248dcbdeec66ebf6b357a61f2e6c710840df85ac552038613251848981f028e2f91729ff0fca75555d7fab22dda9649e6cb74438ce7977afeff3171346a8cb1d73077df6f2b8dc9702cc5a42111b535dcd4d51777b13d9f38fb406bcd62f36bd1cc93b6543f83698e61006ca04c141f77e523298e83f67f344c15646b04868651bea7decedd48f20a6eb4267ce6e2a3f64d9b8fee1282b1c03c90f55e814df25d8021f11ca9fdd00d47ff93fc80fae5a8abe9cf41a93129c41cc69caf4c29d44dcf2344dfc7e85d7727d425ab67e6b906b79a5e4c533056ea481d113020cf9eb4a209053c323c7478a955aeaaf9d56ead2644f3bce32929039582d5a46a6ab1caa0a64cb2f225a809becf3400dfbd33f1295339eb8dece17295510bb377efc267dc95c6fdf1833959ffafececa490ae329f1fd1783f5ae5d60a87a7d8d606f8a42d7fc535b79e257be23fbe85c4cdbdf5606d45a99ab872a051d98d3b65edf565a4bb3f7e00b5244b38412f1b988529d2316ae7a9c2260004b7fcc52fb34f9a2a83a78c08ad5488418aeae19c65e097dfe904127d8321876225fd9f67186f7d66d99628a538cefdd5d56597e764dcf403fbd300894ff4d79575386ad53453e84d577e7687c3793a92f3d225e94fe52a51fcf777e6601e797ef54091fbc7b5385c3e32932ec7a2775ccb845a13a039678a2f2a2a521ddbb2e0f2153fe559bb7cc8c3b39afc140dc47a740963ecae6d0f976a7546e294315ca532d397ed647ba37360f95b0d7c70392b187d843543a0b93cd759726cd1008d468424b17c9f9b754766f0c0d5a88b1e84ac85ad9273516c91605fffcf9e72bc31552459e9f0b6faae36e0a331633ebe7e48bbc78b1f6fdbcb99e47d9f690b9fe240016b128343fd72d414a2fb4cf95c055b472df4709fad5e34b1bfee60d699d347568ef354f2484b909b9879eef73484cecddbb176aed1f4fb81fcbbe565575282fb26c751a1e030681ce7f3cf4c93e0adbebd1ac9ccff9e28dc1d4c6c7b5918efe2b9715f4c6cd93a94a0fafdec421d501ad85911673620b5f2d4f5ca2ab3b9d7db93607b8d5639b9f56c933b9a393411303f1c1413c912cc4b2485a233e24851837eae6ddfcf80de8dc8d56e9dcda9bad2d5177ee798fc23110020fadac6fea00fd8d32d9f01f6be3158278fa18df64fb9932d975fe6a77a79b8ebb87bc5d276abc1637107e2c3079d1c0ba674b357b7b714121f71e9efb61bbbcff8787193bef6186331c3150d70ccd0d8709de184ec277cff97c98e6c60f7ca0d1f385369058dc5a9f94e6489ced383e5557b63ec33ddd8b338ea81a5ddcd639b67a71a28fa5a7345f69aba05c79789eeb4ee0e307c898067289ec4481a8c9a2266b16e78d3b7ee67cfe3788e3ba539d2a26cc0cd33718294ea85e5eaed33dbe32ddfa8656cc8505df692b0a145db590582b5b1fba32705ceefe9026c70689b0dda32154b97424551d0992541c90a56813f99800a1af902237242868dee3c1c8332da02c26496088baf81ab637edcf492be95f92568a7f67d24a39cafed0a37bad7558b8fc7176d64b47eeb1063ff89d7ad63fe0710261e100dbc221e510f98117d71eedcb2854d22056cfb1ad6af2178e67587d65c6cadc7f1610d3b94fcc7f344470a0c0ddea8ce11b49a93adf41f0ccbad5d2aacf01f285077b31e0321cb804410b4152691422c13984a810b2f7c1fb54de90d0e0a8973e5afaafdcc945bd8563c09a731e56e93f56fc0dbed112ae855a1cbefb788ac0ec74ceabe7957d5c5a62b75a7e74fb1edb4715bff2fbe189e7caf7891d6960a6c621aa459179aa854feeed123da3c633607027d8e0ea93faab6fcd144489541ca3ce09f5648cb02ca708a247aa830eef7f1a3210b7fe86b532e5884d2e7b5ae04ddfedf1c3e7930b40833e768dacdbfd2c20fc6bc1e5b9d06bcc03f8c5bc238707e9d670cbcf961bb9d38f1e9a0fd81f7fed8a780d23c02a2b1ca36ab76d32acca3a647370087baeade0d182579dd75dbd90a083cbe50ce8e2b59bb07f11b952ed47ed54f86107e790a37181c7cdfea36cbc6d1efe97a88adcf2c40dbe67df68bfa4c9e93d91a7aefa495a412522eb1992cc71b4fe5ca7e162303af014f620e7706be18b69eb63f0684145c0521225bf517e91c0b78778b3f418b7db7a8720e0c097db68421768446f75350403b686e0c0e69f23c2fcd49f6719942177c72ca558addb2f95738640e8d18825f7bb3f34e1b4de3efc9573834561585425f188fd65b2bc4ae963ee42031c2f7ec8ade9fc0620fd157f343e6fee4ec1262c1c302f0e96d232b9ee34bc14c45d72bde63ae319c93aee23fea0b7d33731342ff42f01ac2f22f4d3a5041758a4430556ccf812afbf7844c96dd00719be3aa5ef503f79125d01592b4570c2b8be762d1856fdb391ad9de054f876202c18c84ee86357b621763b14becd5b3c4bd8e32b7e2cdb6fe669548cd290cecca6d975c06ba96fbc5470e096e079c4a6e213935747db0f84b3d67b4ef8a7bab575eb4e46630830101cc15d04278ce92be21009ff3fe0f579c81c52a67ff67c336bc65166c25293ee5481c2be2375967e31a745a4d719b153bfe2f509958c3ed4c2e5c37e8937b5fcf5b3b7faa49b1547ffebf5f967bd3ebf8db9c7d0524b465eeb88d5216b090d6f03eb00534333172d7363237f855301de671ce5cff8079a84b8fbea39bbab69ffd7ebf3efb39793fb15adfe3c6544b3a0774778717095d7e8eadd37ad24a79b260ccf335166d6fb91ddf0cd1ae5608e72e0587810764cebe050c1a4a4710be1b5fb6ac846c7c63c66fcda929fb078e5a92408a729ae9e82bec9bcbe15ba79a2e4d64deb738af7e7aafd2efb02ae0763566ef1ab5e773f302a2bf8e0107f55db91de68fd77941add218404f553cbe8e790b57604272cb2eccbd60503e7a0923437fdd5a36fbaefbf70f992efe5603f4f02ff2238dae9a464c234be33e0572a285dbf64695b20ddc65ae61160dea19dfbb2c15d99050b07b49e04a0b77204ba441a3d748adbe9176b5f0cbab2694e07570d2bc30255ca4e0361cfe5c825a3cc62865e8aad4eb0aa77ed713c359ec418fe4036dd38d81e940dc140a4203888188213c6f8151eb128fb3dc856fd5f215b15d041be52599765ce43f6ab3868bde7200a5af63b67ea7f215bbf6e17e0b51bc0808cb4d4fd4d07d37b2f071bae49984dcc11442bb2e796f817350b58f6a4112316809359f012bb28a9481a9d38978f729b1768ed9b796bd7a1de646cdc24ab43fa055fe357945fe78c4f178a704a27408526f4ec44aca047ff6089a86a8aef15385a73f841b9e5ae4d1d30d0d778692b3d1f25e743d69111a17c713923f0ee99809355ac6c5ce5cb57a7ae1300819e20eb8f8bf7c5239ed54f00288e0f01340e8f9edb44f8bb97f55b34cda97463c0c1101cd81fc10923feaa78dca440390d7da03f5c4b5d1586cb8f8a25daae467bc4de88d90f3a903504c280099ce7571eef125853b74b3390d0cdd9c3c3cbeb6f8fb6000f0341cf9a5ff9fcaba2371667af519582f4b1f7777aeb1f6c9cf7a5eeb0983a8e2ed25f3008427b24bb71993bfa3b773080d2b5d997d413e417018a6d71051695d38a395b84c32af65e1771f7cf81086299e9d5ae652da2dc4f966060ad201cec29602dd85e33704ed1e55df4f858c0dd99b663caa5e41f88979eb81db108f3103c6bf3f3b1c3761c2c188d5a4b411077206912d291300b715462e4e011878b2a87747b5aaf5ab4b2c268115bfab1e04cad663e0e503ee023e286cf4ff33911b5f06197b58df5d9c6927576b179a2dafbc41311a722bab5b66109a5160929ef003a4bc2a1e5fb33b7534693ca3920e12110ffa9840beca9fe05ace6f167294dc830602d080eac86e08411216984693f7fa0a91da89d6a69c42ac4dfd95f42588f7e867c2887fb74ce127df90b91ecf11e8dfa5c4348922d08aca6c4e749013dfe7148cda84d288b3fe8a4a1d72793039cb4df6ab9349deda4c639385f76ec1ded17c7f23e332b134020501001180c210481c190753d514f4ffebb7780105959f27333c3972b9bfe9c4dc5b70374692783065f91f1bfac571d66d7f76c5799c54f4f3239f7fb85af00b52a19a61c941f85951f75180e87a90114d8d5dbfee71307842aa265297adddeb114df6814181d0b30b99b9577e282bcc557d80711c2341ce57f48e11c138ef7fe4587f21ac528d1835eab50682cd4a72f2c654bf3339f460889a34547b662c0f915e5d5b4488eb7ddcfefb1bcd1ce7bc568d7e4a86472841d3809a667d0a4ab61d03699a196f603a8e1dc8e6104cf23085794de27af4edb54a13dd73c107b9e7d32a310c6c4a833216129a377ede3320fa88bb289d7355d3b7eac2d66a437fcf581c79f9fb76a0b522e8e320941234549df6adc8e63aa31a02c717ab7577ef8438c558e9429e0c1ea30621eb7026f82a0d05d57fb06ee7a50262bd4110bb0b7548f897be6167e2ec892f82f3b9e0686aad9b4e52db8ba582be161adab994ae3b344fe62f4371664b15b7ad6204d1206ed27fce82e5e53f5f83284310c3938bedd7af402bf5064981e20d4bcbcc753bdce8777480b4d7f3cc69ab1bc917a0356f47e4effed4d2ae815833f909d6a4848dd1612d2e0f40be9d5836cfede0eafc6e698ee577597dff4cac93f4c328505039147a4a800de7d70a5d352f06b8e5b09b36c736a16e9e3ba64e85ad63b573f28031cb70a554b9be45109e90a76dbde0ff7db6f859755cc3b08df57ce72746a2972c380fd2038b0f727b9c0635f90c39e8928edf5c9e3192c1438dfb3277dee18adefdd6c3ad70bc780096cc2fc10bb0c4ee0dbae555d1c641c2464c525a45c245c649c1d1c651ced5de4e5eded1d9c9d9cc51da59d9c1d5ca4ec5d5ce41c15a41cc51d5de41414e4255d1c25e5ed1d25a49de4a5f131a3abcad83bda3b2a38394a4a48494848c8da8b3b3ada4bbb482bd8db4b3a2828c849cb3bd8bbd8cbdbdbcbca4a29c8c9da4b8b4b3b3bc9c94a3a398abbd8cb3a284860e1405dc1ea06a977de6c47658ad7a2e4986749686574d7b8c405c721d9cbbe66f3a980ad9e44097430b68a664ce584a78d49909a22bd69b3b67d766cc05e1748432318438a01e148ef02c7b06150dc40c99cac30388d26fc641f6e8fd72bb257036a33398ff77f94f68afdb49d63808c201121d4f3f7dbf4ecab0c66f071d46b91cec4de99131afb945c64dc4a3cc63f6de79d385297aff027fb28d63667d0e77f1077e7514140ecab3d35e9079688ca93c4d6684571858a933bc1c077f0287d57dfe0394126dbf2e020160e045af4d79e49e9bf999da8d9ad4f18f612582bcb15eb95333a5d186e981a66c30f4029b38f38544bb69c1d445be6110a5f152b5e4a2668319bec3cadd47e7129310203b681e0c0169f7978f48ea87efe4046c4512b79556f86a46e1bf28e4af1a5a5b2944c45e8efff7ec6edf605aa58aa1537ef7eeb871e956313572ee40e39ec5269fa25ff73bddf0d80d2bcee112ad467a6d3e8588905e18bae5fb1e89e89dccb82bfbf96b679fa68629812f3540277b411160c140c169bea87750673f8664eec153061db2c6f9be4aa903b6af076a4ac6ea8511750b6207e389ae4c4ce2790e37de3f04b02fad8ace82c71c9db71c949b1dab76614bf049ba4a9a0485a236124d165d71d89cae0180801afd859f0afe862c4c28d3977296e0bc98d3b38bb0d0d501c274afc71300a4aa18a2f90b3cb400fbedaf2743f194c2306d5edf876e85f7e67fc1b223e7388ee015bfd1220cb78ef686c3d9ddbbcd304d3521fee778551a083cf5dfe0aed70cfe4afc8a4acb6e2ba47f641f81685ac881e5a24faa5d8d4ad7aa623c2985a5a204c7289fff975a0d20c76209543532168c29c4149b6be398c5e6dff4670aae71a062203c14124109c30b67f25617c3aa2e71a7eda262ee79aadcf038c7aa1e20355b5f72c42e7a4b9f7fcd726fe0fb789e100b5182bb4ded60d3ebd19b639cf1e139d057b6f1fea04c3961a2aceb334d98201f0233efd418534f58ba4d922319637c53296054e9659f3d7cef26e5db79bbc12f9878aa48e84923e4642c9f97f21f965e445486605e6cd5a53b78e38b3fd0599c8f134032c1c80dec4d99a9ab48e37a4392a121f751f9a76381892edcbe57e7ef8846cde492a2540868c7a84542eb633b26a9085e555a6f9f892ed29915b0c4cbce367b75edd38c5825e83acad203861a15f2d758d645482c8c4f3551576bd5bda424dd7239bcab91bd3f963bf508aa0a332230d73f074d737100ce8a35937cfe45c266f83a6e1fc47b12fcc1ebbf2ef662c3c3c3e8f8799de7e9781de91a104252b9a655dbf2b2ba79f726c269ca1ef3e10b2e7826a313f209e62911b2e10d50089a52cf4f3e3d9235cafda812e5f6cad3ccbbf963f9566f835a54ce48b62787701b513487f075de2f3c5f5d2174a4573facde4873b8a8d17f2be23ace1751a649b8dc76793e791043bd7b6e5c2d99629dd479301e75b21b0b5359ee9c98928d54e9998f80816e080ee47abd761f57e95f3dc145213a2f11385e2be540a859b0e2ea60de29947ae7f9518fc35094ee16725de2993ff3b4be5e590a65f1cade1e73e16ef603a27497eed14bab8453a67f549dcb9034a41a7e6e166ce62b091cab97d95004fb5bb75fdb536f1929ea002c66b2721c1b31bccfb6bce6b8dd7933070a81d8cf9133f4a2a82fc09a2b9e567e34f3b252cff44da5eef75ff78c651326f8e0df980194bb93863df6b9bab3e9c621ec5cc8ef1630b82805c63c5fcfafbebef71cce21ffc674a39a8fdccae7d083fd542ede45d202949518da1d800e128d6807b9453c35d458137347a2f0aa9d224f32f9d5075320ef5cc3bec1a7e79ffad65ef9fd75d5fe0286e60200b38c82c927e39ffb39e42a1548deaf234b8c5dd12b92ce1865b36a699829ccd6a6c85632051e51a044776e92cdfadb31dbd4b500e9e64b10a313ce29ff80da01caffe7a61596f106b4e9ac44778e0986987b4d7b1709786c4a13605dea180741e477c7ac92eefff619c7f4671b2a8acb0d61c9156e85db9d5ae2970875ac409c537c832e06f9dd6d2ebe2edbe49925bc9c19b75466a2f4a38315b51b1d830e0ecaaab3bbd76fbb94e0c094ba15f7bc37ae9fdc1204bf8701e1916e3ce84d5a1d6988e97f6601bcb297ed874e65eb12fcfc72d0add49dfcd2ec580eda0eef283cee2b6f7928c4d046f55b291ff0428c7e80dc8e7ed884ab538e3ab8437bc07f43b9bb44ebb28cbce189035586c53d64d01824f34ba9babc6abf4621af4c3efe50e5cbe99d910da1a9a3cc8703220bc39a9f2ab838610611a8ea277dfe348606eb3e0af62468b1323bd7e9b404927165a33b5b05907ff9c975311cf97774d85b927b0b1b0d8f4bd3d599658dd07f6829432c46100b1ed571c0a88a759059bef07a79aa79b5a515fa2d3eb907c7ff869e7709a9784aca2b50ac5d81f84a7445f72630b9090bb237f9bf094aae1a5c87767a87a5fe50cbfc42ff17bf57bb0e875a8cb3c929bf69a0d572f573f9959c4f9e375e2d4fd2b6ad3df243cad1dd80e7d9779b195c49c3fe51a0e2622421a0d5f91a7304b97551b8e657bc2021830e936543213474b7216e4baa88b3833acca70dd3f9f3de7c71403e2e82540fca1d66820a1edc64868c73d2444dbea6789f50aee771dd5cbdfa830225abd7de9d8a03521e9332c18385e5d976ea21e3e7b5ff5be3ca66ead2e5f246e29f3f8999ae9fa8323cc66711f81d0b5b3b1be1c9b51a54d3e9803e71304674c741a231d541c45ee89b4e452c54a632056101cc40cc109837f499025e275460958e54fb5583e1db02da663aaffa048c4ecb49f23864aebf096b60c063c1a3dd3731b4f8f5ffc9b70c2427b1b5afd1b6f2cbf813811417368bb6d071d364d2c47dddb9fefb32a6a65dca51d80070e19d587e707986f12c1fd20b4649e69deb7b8f656f91abbdcb95f6973fbd9fc5b72ebf084f8e5470c728c324613e7bd8e53550c59ac793cd74429acc72690cae60d7a1defa3175fc5b7abeef29db9f09c6d3f2a3ef5559187b4cef938a15e53e630fad41273963d994aea963d4ef6226a0cc36b61d3513e0a1c7505295f252d7c78e7f29d65c68f17f2faa423617426a1e4efe44754f71c9c0cc5c07a213858178213a6f1355274e2f58f797e9d7e03cf2ff04f4354d4ae5349ed697d1df706de1d33766fce7e59f0c3b250a13b3d4ff520b5c665b7e05f81a8746aa70ab8bf07f21913b239ee522fb39630ae95fc674354fed7f3fcfe3e888a85afbf9aa3a18be61953e7935a9201fef2faa74f3b07f8baab396ab93ada9f392c69ed6862eda9e0a02da1e9f60f4150fe86d6fa1b787e9de4151ce4c5e5ed25a5e4251d649d1de565e4c46524e59d25e51ce41d1d1564e425ed9d65a414ec5d9ce4649c2564c51dc4a524251cc4a51cec2525e5e4e52477f5fec4ce01a715e5a565a4feaf42781e6d520451c55d0e96be657a7edbaeaab1cf86aebd60cce26498bf486316ffec1659c3b5682a19484a237145706f7edbc05b2fe3ce943b0d03991f52a919cb02097e02c213b7a478c2df37af91007e3b948275b2f7f209f762eaa9888737ab9f21c9ec3826008d278e5914ab94507da51c4fc93325655b2fe53ccbd88dd9e863af85bc8eef77c670a880701c07800f6f8a0e0df0238d60e371c77c55b264f65a76b739842573575fb2fe78a79f7effcf9b7f5d38f66974edda23c4d3f928c73e927e24817b354aeba689d5b899bc2bb5802dba6bfb5593a5ec997938da1c04fedccb4d4125fbe754f8bf6c68879bc9535e3294f97e1a0203af348f19396ab37d9407f9cebe8f2548226e45b59e9029c9e4fa4ee71083414c9fd46b4a54d2b9c8d96ceb178e73aec7e1f7e3501bb20fee28c96cc7b1d598f321822b00e9c3ce27144dce9a4e3eef6cf3b964ccd4b56af8625cc8dcb2bbd5b2f42143c82cba04b276f3939a67ac1cf549cd892212078190602c0805ca3efdfcd3a3d641d1a06a55100b3f7a29188e56746e3f0e02715ec768efa478de220c0537aef8ea5f737b92793b9b3bdf4838e7f5a7d5f3111669f5492bf54f84182343ec57fcc77b8a3107bcf6f6a0b7cd839db3ccb544ad426649d52b004571c4b9b37029ede895dbaa191ed8c4e1b6961cc88ae0bbdbfa567bee1129afa273d6b2115005a4f3e36924c3810e14eabdda060be184791119d9a0caec2896a2486e065e0522380c1201a9805c41dc5077903c940a0405517d1592e2827f616cd9c01f5293cdc6583ab71fa742a88b005d966e6531d5373c8cb02a68539e619dc4bd6ba0ecf769477cd60cbcc9fafce801dae4b9f34af0b280cc45cf1b517a55d4672755ceeb0f931ac2fd6b4bbd54d007d0996b971090c5cf02d25a7d47c03210f45f027e128fea8f13e07f8a363728f3ff63efcbe3a15cfbb86786b164cd9e25642d61cc8c59ec599225d97799dd929d889633666c2591648d6e54225b2a99738423155a2c2d2a11512a8414a6c2fb399d7aced3fb5693d4e779cef39ef9f8675cd735f7efbeeefbfafdaeebb77cbf7f8aa60190af92d7ae7c2a1a6c3670f599416174ee6e17c46495e8fcdd2982ac7fc9d6679701619ed8035553672256cf1f9bdd993f935265a397b80fee878551c4b28e6ef497ab3b31778c0669a4939b47e9d2325f10ad4e0f04fd38796b3e4c5f24e4cf09fcec14aee8f56c3d716e9a0afa28a7adaf6fe54061e71dedd2477e1ebb2ff89b5f70570bb0e17a31e27a4378ff030361c00c64ae541dd9413ba435a2148f93177b7e3f64dd847ba3ec7a9e31e52b309d130cde1c266f26e47d29162fb5f2f384f29c92f316292010835775a984f24bc21ef87099af7e9c7b971b3d862e6f3cab6a27563fcfc5c28472372d53fe9f4738ff2dcfe76f4638ff3947eaf29eff4f249cffb6f9072deffa4bdea2408cf1e16487287c08cb4bff10f9974638bf948c856f5c3f6c4b79bf58e9bfa5bf7f3f9d70febf6afdb29a9fa57385fefcf5bb948cf3ffc6f5bb2cf99ddf95fc9dd62fabf76bb9ebfb3fb07ed996393fc08f0c9c2d7d7ee47dfefd5b05b899cf3541780fd4677b95f341afa78aadef1e8396e7e3325ae6e3f9d92e14b61fb97ff99e3c9684c371d7fffdfb6750a357fedfffe8f3b4d1c054ce4e8636063bacab10d1fbe378376a9bde30d7ac7da6e2e0850326962bad9deeae229e5fd7540f0bcaeb36786e59056c78a145edab77af13c8a646c4d97367f9dd10dcae5c8e7865503fb4ff767888665dcd5cb52c5d50c395ce16e095e1e8d8e11477e8e82f4936877b8b0dc7eedce2497d94207066f1f4cbda3ad3e943325e2c6eeb8b58437c03b5674a487f2636f1e545139eee3980f69d4088184f3f84a49ee4b93c78e08a40476e68a981b77c03a0c8d1f94e7822fb76927e8abe2aa79f77597c2dc6134fd54f1306df1552595ff5b15c94ef43fcac8296a9fbade8721d51c5bfe67a16e79c6fdb1571dbc6436a34d1c6e46b77c4516f60d4440528b367d7ebc42bf1e8f88ef19e045799df9df7bc05e17f94b27701ad9ed1932f0e18c946f25d75aae849f2e6e5f218f7e77eb95530467d85afad9af68663a8574248069813c204b3d1e4a1b4e6c77470ae2a1d9c574967e33cf2817843ad77aa111e9d8d621b533972f9e1bf122c0f5006ee03a0d554d0ea26900c840a5a0dfee38f67ff0e7737e62e97149523034efd68ff033e5181c3efdbe4403260d3f749993c9f253f590d79df0d001950413c6dbd709d1d230b27cf639a9a9582d2b7f6dc6a6680561b8156734544137c268fa6e780ecc120890fb280563416375181718b5b13594de97772fa4d0bf7702b78edf7b9829550aad6e51157659c23374c033bd7dff3cc7ff7fcd9606669ad154fcbca8e9aa329e739e7dfd5fef6cb45c3eb62610c702c8409de4d9387c6b67ccce5397d964a65809570549c913d0e4475c42f2eae124b73425245f12029171c883aef618b7b4bc583d6e140581c687ae17d4f24551427f0b1951d258883bbe040dab801692a91d7c9ef88080eed42259e4d637f2682f370f178df0f0772c499a6e11717c5629d3d704676f8c5c5b48362b1f6383930cec88e7a902d6dda0387c7119d3d407f0c70c4810fa6c5a6e162d2e2de0fc2653a7ba4dbe2c1a015b18eb1f8c545c82ab134fa1f0d10f134275b670ffce2626cac189d26064ea3d2568ae21a5c88369b7686e206a470207bdc4a1cbb3d4e11079af7b04d3f686bebbc5044f20ba184bbae1192a304248ed90af9c6861d3ed62e7b7928fe6895a22ca6cf3755c44e3b8b5b0e944e0a0f0e209a80b88440882630901aef7881c1e0dd5961f92ac0010e3647c7bdbae4b07d1c6d0ff5af3f33988e03d6179ebc1adf5e53df252d566070b061edfabaa787dddb4e385d557be1312a77d28301664298e0d73479a8e087a8235becfd8cd7a64a324ad3dd26c5db38474632d7f9a41e563e9860b9de6295e538031c6797e6fc0971a6c8a81349de70ed20887e7ff35df68a97edf6187616ea81553ad6978f653783fade0a3a242df3faacac2a2bb323b2cc6bb28a0a821300969ee3092bf33a3efdd1fb6f15ba92bca82a148933f1d60a71de07dad86d642e7419bb01d6dc427142a290ed4e6e4356824f4fe8a4ba8e854ab49a594a8abfd3a6b65679fd552829fb1d85925b70af4568f4a66acf99ee424ae4507b3deac9fa1f194ff92729f4c76f66ffb05f45c5db5e819f44b057bcdc2fd4d5b71f6fda612e28a01ae9fe2c0835d53c660f04fac2ee4f1d09bc650f570958bb72ad0cea8463188283beda9c3d33fcc1be8c36063407c2841ea6c943d17fa6c8d1d994907f43ced82defe051d9d78c628eab321db141eea0a6d0d19059a4283aa520c2e4c6c5c17bbb83864ce8dbea7b770e3862144ad20497124b7e5b5dd0d5a750751ba776644dc7e3d935581c61ee9f58f2df2496ec48f48d70456b138309a66121e19bedac0337a3a24211ce11d1410e2ebe416e4e61d6583cca6ab37564b8edff542c99028721115a78129a4040e091043c810c2393f114324c4b0b4dc0a3b4b044381a8e216228242c12af8dc16821b490042d0c8540466a119114d27f3496fcb3e777438aca80d9f9aecee3a16dde2d0c23651b7646f4d60ddd31d58f09418db64ab61e5cc1adf8c3ea1d0adeb59b3ded135e1e38c1756250acd745cba9b1f34abf52f1afaca0949ac040cf5b95d9f1d2c4acf6ca1c7aa037fb7a6bdffe3bde2ec1a12babeea8ddbdb5b80a20bcca3b997b75bbdb73e004e6f942d7985db6646e8bb4a15b0cada898af39fec85f169de3836e5e8a453f13ed74e53e4a31c79416d1bc6f94ff79c06b7df03f16fdbfdea2935f9ba320dabc02565c38b485a41053dd60e1889b28532b803890db9d127d12d865acaf20ccb646e96c1df14ecd8b2d39769ae57ac96f3646ff564bf0a15a485f63406f8398d02e20f9dc96b3993828c7c9fa9e1293d3efda569d561133a39f7fa75403b7bc77b361fedb33087a98501a832d84c916489337a083132ed257c75133d239eedd9d9daa113a268151e9e61b5a375da4e74665b0b1b7e71fc9ff916eb0a58f8790deb8bd7dfaf53e91a15f6a91107e6d7361f3175fa55c259465f648fd72432d5f3f93903bbc6efd24cd996b744d3e8a9d2789d523c0253cc058d6ca6ce940c4430364c0b9f4570d83269efc4e88ab275dddd9cdb236fe7bef7d6ed5f6b1e57e87e4ef61238a5447c656ac3ff4090567d58e29415e9d2391d1556d563b9165a28527abceb17ac6985d53672e743072b5656507d962f755b7076b6b25af947f61e27027b3a69a952713b4c1b1d14d323f2a290111a17a91d7eda0488d616da31dbe8e271375d5f96153f0c6687d8ca41f33ced13524d5a0e7a4c086de8d7db7c67013d7f32c014de28ce485e51086d08cd581c7cec28686edf30b9137dcb07df9bfdcab8f476f1f38a889755aac2f6818aa0903b4491dbbc256ece8a5be6894ee81ec2c9125f94b417cb8d3d57a1ef1b33f05a23ed6ae787ca85df976aa85436595d1c7d16ed7c54c8c865b2383369f4348f77c43ed4ae331bf1ea327ca3bcde21f74073fb979996d4ff4f5b34e93a56aabda0c1b0494ef00bc969b4480e22d4d7e847a42548d63b6c3ad5eb0297fa1ced5dcae7995a38f39ff02d3837c30581cb7c3336c6b479b0575177e27671c69dbd883bd4de68b194e023b92d5e635746fd40daf14b9be8ec5747e822ef2faddc6775784f5d3ca3aeb798f67dc4f85d81861bfd72d0fb653e115d5fcf2660bbc256af7943ecb04611156323551812a824158f7e65bd1910f42569025d11aead231d76d9e4e9c0fe84136c2a316d500112f97105d4ced26d0a3c42e556ca0cf8a18cdc73eafcda2e1f2491be4d26f4119e28e20a6b82d5038d3b163f657f953af770b08882a9ef2d129f4592b4f102abf8aac63af164ce8fa76bd7e8f290e66b021986cb0d8c43ff1849beb323ec70b9dc40953b9d43c849467409a64ef827997b7798580b0add19bb6d648994db35d16b9b99a30a65d27b2fe642af1f6c3829a5326add0e7cb8b42b242f35ea2496ef12019da3db6741895793b05dc9ae337020e7fa9efc76962219fe94f3e5c71e08961c1e1e1df3d5ec07f7b6008394c83bc83e88b0ff2212f6183d815d6b2f9eae8d74d9b27ab731675b951e04ebe85f1fe8a8689bdf051855fef5de8f59c13519ea5451fd70bd00dfd43352f24fbd5d658f2b229de90391192f2e64ec753cfe8b3514ef1c6d3fa435125d81640aded1ab7faa2febd933df602a747661c53a240aeab95f30c4e20a7526d784f6118ec764c761b3a52809d2e64a74a57290aff42d93fdbf03794fd7fa2deaa1c1b3c82c614ef34964f5d1b7e3e433da97028fbaba3452f6358958a2db3948c9533e3d5bf7fdb1c5e715eed621f6a2f65bc73b246240e5cb8e3d19f47c247eda0e010c9c3213190b4f2e4b433a105071ed708a2b8e8a0ba25df33eb2d22dfb2dad9eee2be73edc0284f6a27ec860ff67ca9c38a75870a06333bbff213c28b2f1576fd3ced00deb93057f4650cfd15eb15f2af79b284235d2e5dadc8d8ef05e2bb159d244bc6b75d5e700e6a0f0b682d5dc25d84cf9f10be1a4e391daba98e7877b8eb561f26b3b26eadcfc86ff9652e2bcb11ebab12ad6eed61e661e4e4f4ad0464cd92a2f89bce2ee0359bae5cfdb0bfce61bb631bbd2874ea9a88f3f895bafcd743ca8cc49b7aeed37266b4067b82c812b77b1a80524fb78672fe6b4ee7c5eaad6a91bb36f88b68c96a6c3dfff48122b7cc89dd434d00c913b715d1cf36beb31a9e988ae0046318fa12936f5a06a6678edd3dccef9d5c573e57b69a2ee8d242e7e4aefd99b0fe7f68c01d43bb17a221bf6a4fd476788a23fd86835ea4945157a6c65faddba22d85dfd304509cfd77293cbf2da1edf79bf89880d4615898df43743509d9762daef87c834fec7b78a8d43fb12744ce645c12d47ca67df45e516a628ccfd03601285f6cf1b51f060fa5018474eb73be48fa3d5955cc61d8424ce361494d9b55f56abece020315a1fddd5b2d00a9466e7eb6a670ddd992db32982bcdfec7ab1a9e373a4b0f87c173d2eacabcb3fe2a1234a543776ca343a3afd321417adf582478adbdfe72a3e1c6c4965905c9e33d39e38546473d9ac000de5a24f836deac32b244873b3a6696947cd87ac69c62714ebc2886e348200e01d816769ca696f96dc5b9a55dab68a360f8cf5fb47a7902d0ec4344b5444e0b4531c0080813acf99e56f63d4272119d1df6fcb34cf2d4ff9742fe47e72f401ecd197fb151b76d74ab1bf213ba63ad43c2054221e8dde5ade782aa689b66159bb73c67d5de04065c252434edee9a1fed3c76ea906a46a537d73d65ca8313624f9a56aef0520d14ad04ecf81ac669b1faaf73f243c9fc6adbe46ec5607593b78d99aac73e99168bdfbdf35f28a7591f629ce0df9e7f965f9c5a476ae93f747c399684ff49cd27aad0ed3edb807b5ed98ee6ac645de188bb168f1af44e3551813271cf24aeebeb2fbb6596dec1b89ac6f7965f2b20bd6e18587d74555f9b2d4f3c10266374de65254c4954cb39a2e7a1662efed0f3ac6edda8b0fad984c9ddfb547632a079102634eb3d5098cac7408c2af46f188861dbb8cef44eabf9d6722e87e38c4976bcb256ce4c08d72dc1358b766b077c5437b72cac19eb998d977d27b14effa258dcd1a504622e9d250b3f0f5d6b556234283a97ecb74bb9db33f99f40ccdf241083b77176daa185275b937ca26cb54cb448682406ebe3176d164670b421a1edac9d0858372b5f73bc2d99f23f1588412291442c094e419289686d0c92844613b4b044340a05872110581886842460884832168d86232904128282449309581885a80587a33148caff7620462ee1fca4bdce4b4fd82b37b5d742d738401ad59cf6682370108323fa2c24082767f67a8d4ec9de35afacbdc7f2b86daacc7796484b674f91b083bc74e7e797f5bea1282f440f4b890973d253e0acebbd7945ea7146bb57d6e38e890749be97ba5b2bc867809de662e8f5af25f084b283237551aefe25a692177fef7712ac74ab09b73fde05f9abe01a46e33a48e371fc1f29b80ec8d77d64d4509738a1daf076c4227073f513cfc0b7d55c055b5dd92beeabf15c5c8a6ee6868fb700f78b57754e6eba0076567b33e66dd8f88f6efe9be866976d98ed9bfc4cedadfd9da2cc315893881dee1136e151d1c6be78b4767888b12dd99c80c438392190d6ff5b41721291808093901834194e8669531044040a81242009da64229e44c162c85a5802024fd42211607022168d456329682d04064e4662b05a486df27f54377f327f723abfec737a319a7afee67dfe6ba63cd1092a83de5f1ffef30baed789b2c5f4afe837de2b81de15c7570e0685714581d5757b7a46f575fbd45142f87c9fee68a9b1b9853cbac9add87d272ef1bba96257d93b9da92dc81b949996f88620bbe513986bedd00ea58075b24ea9c3fbdac14dd7e824820867db1376db152fd4c30053c9290ef7fd3dec2dd6ea590f052d9f26a64c8c64c4ccfabd3c1d94ff7bad762f431203624a22814762f837ee66b619c222bcf502fbd28601ea15fe947231612eb508bcaa9fd69a6f77abf732573dfe17ded671ba909dcaffef785b6856b14616bfff2d785b417cc112627c728ad9a1bfae7ecdd57daae09ec11ab68d966af9878bfae5c66758627a8a2c73fc57fd43a9d6bd559a9c7b1d4a365ccf325349eeaaad604ae4794598ed7ce6b5ad72ef7e656ee923e281ee090b979311c3a733577905e44bdb5a141a392b9cf4abd80bd21b96169ec87b3551ba25e625197ccc36a72c6fe608479da550ce2ba414e189a2ed0179030855a1fbf9cc6e87a9edb90e52626fbd12a2477b136b24e79a42766bce8b0e48b18e57eabb6d98105dfbf84e98b2eb8d8ac3f3a18ce41be70271c64da545530107c1ebdb01b9b0d791071f5f70a9cc18f8ed8d9f93b52b4c4e6657905c671321a0a2795b29501738b78d26dcf19e16fe0b08e5f127cbd759dabec7db3a6a10ee9fb765578737ce3a6932f349750053ecc69bc6f4f64563f89cb3fe5c21c0d6d81682d2607b6330dc927d72604740f62e41a4f885b5565b04e3aadead2d3cfd811a6ee5c27bbf09f811f772a8e13ef9ba746ab88b7e4bf9fdc7d516ba2d6ffc2b737fb941e9cf572ef534c0f12fd3946de0dddf7ff771ee3e9f06dc51b477935b2732d5cbc25483785b2f6e27e949c6b447c4c28127fe1a6b379a38ad3a9f159ce921622572e6782233b2da7151786a9505e55ba8e1b2db1dbbf665c286ecf415ca428a78da3d7c375b8b5dbac9d3287e45ec7e42b41800dbdf2541cee88c1277cad5ebb847f65f79f0caea8209bdc0b1b8f43bbf9ef02033c0994cf0211a77e87bbf21d41e95b18d99e028e7217931c12c69c52381261e1ec6627b828ac6c060f871065851c84fb585855c2c00b158d25fb0da638bc4641ecb902804cfa0b52a25e706733c464e1b6296b0f49d596c63bf061875baa85ee31208f47509fe58ba7be48dd3f6aea0b4ee3ba491631c5af6f02d5cc4e26076dfb3530a514f27e101be00a99a41839d7e3be745252550e55b9a63b6ad825e8d9a88a070f02ac848979ef9cb3d6a46673b8ca5b365e6d22172dbbfd13dda9710b776e3a503e0ed1732932187ee5dacaf3f65d24405c2ce9a295cd638fa30f8facd7bbfbb9d4950487ca1f9e0d9b972154ac54a537b8e56c04dda0b11d29aeb7bbcf74dda596eab0b25b5eb259e5cf4d217553cd518c979fd0a03729d096977a62592e96c051b33e09537eb9f81ef0bb5c7eddd91aa93f36e101a2442654048e599b677976900975bf7c60af740b1c92ac56d99322e8bc18cdc41eaf96a0709ffaf88ffba82c03fc0ea127a9f4b4ed10fa99996ddfe20aebc6fab68929fbdfce13c7534abbabceff8985a18592d2964d6973f9b8acde1877bec9cef7f3b6bb2cff0569d142bf577c9d32d8aaf2edeb7ab1f1753a56ef4a47917b97077ece89177bfa556941f6c5f009c335fa95a90df80d65031a1db26335e99a1f844241e61e023af642fbbbd7ca95c1705998ba0c943b93f24f45437647c6e2e92844c18adcacd78efb8ce21beea262af0b64f099c7fee7072def1c5a17edd0620a2e12ac3f60af3d21e1ebd87873c0d2701def2379e406e0d56c26bbc0f1277b75ca0b604cba75a41f60edff2d008b54b9401cd8530a199347968ec858fce6595b9bfa17379d3d6ebe1f3e61b46ce180e76902c4fca28c770ec2dd5a9c9d2d754175531caa8ee5ea173ba11755f3ad823194e6bb0ff7d290e8c0565410e75d98b3436e33d5dfd0b9ba6da279da7ff7160fc4d1c18ae216894639063b8a5fb36eb708243b86da02bc136c287b2c9713bc23adc39d4d6cadd1f11e2e06bbb8de2f83fe5c0a0500828381e0547611104320a8927a389da280a96842520c804028200c3c2b5b0703292a245a210e178381e0ed3d24669c328640c198b442ccfb9cc498e0cd441c091a0ff56e7b245b323aeab8656a65ef18bd5da5fda922b68ea3e5857b332a424e89c6484bc4b5008c743f0eda851b6c880fac4193be9a3710e56fc367c33977eb376f18f3e1b23cddab9fc5bed9c88eebaccb86796fb7835a06d53c4b73a032ac72b634743e0337eda1bd602a8d1b0f8bd09b6e6b1e7129286d3518b9d59cec8fcb14a603cfa9a94a37ea90283830161729ca3c943d9deebe68b74368bfd5fd5cd1c3f807016fac3096787ec2e20dace59f2958ef598302c67dd7350c7aa1f6c4fd96cb859756afebc74c26cca28547548b9f34dbaa961e235c2c25274735df62a1fbbeca9b7e0f34f7a6f379f5200fb14ddffefd6cdec037f73dd2cf05137cbb9e00302c811cb702e1b13ec4c4342cc5031e42893cdfec12ef88d8860f7083f3717934d5104d7c870a26f0c3cc83a24303a26e8c7dddf72b7f4463f5f776360442c0a852111e1586d2c1e832022b5b1081491824090b550483c128e262149301805a68dd6a610e14884368a4c8461905a480a014bc02e2fa4c7fd87ee46c2b5505adf37fe47dc3f0a4540614804329680a5a029680a5e1b8941e3b50948983685a085d12213514434458b40c268a3e1040a0a0e436969e3c92432028381c1feb3f7ffd36d577943f1f64d152a8f9e3a65fb3001dded94f4a7b8ce034367fb23f22a5db8cfde8df0635eaaaf3f335cc9e3c43c706c2379c5e6cd45cc6be63e6bcc0b8adb2ecc10a4583bcfefcb8ecce471551c7d473a619d36b1633cf0aedfb330b14e8d087253a3d8fe047740c2ec88074e315425bf2b8eb66afaf2c5cd7ace73b890ac5d3a77934bd4467c610cc85b081332fbc7c1a2f87d64d4990e772fcc28e2bfda2affd691c3b2e4dce5f25871dd64e4c3d0c41ded5d8fbc402006244e6f4897550aeff7a7707fb8cc32df4ebe003f8adf06123e24821ce6bc7458dd4f1d0238ec21efdf0d1ce3c59b2fde188d2db5bf7c649fee52dabfe3edfafe4f54bd41cbbea7a0efd68e60fe4332dd9f564cf878798e56268ed5955f99747966e73cdb9099d5c5ea402f26f5d878e5585abdd2d5c6c67de983433639d24fefb446ed1f294569e37698f47e32072bfd8a04f9fe8dc5975c2ce87cdbf457166fffe229dae6586ac60c2022556a78ea4e729044610f1a9be1230670eec61887df06b8cad3c68bce45dcae093f335439acef113518cf091b95f01587cde8ce26d69d66704880981c2240f06ad722bfbc5fccb747e8ec5ecbdb9d951d8e3a8eeb2986d8441662ca1d249ec68195327f05346dd62acdbbed455f7ae9bb29a6b67e32146664d85bb1ce714ddbc42db5aba6c271e40eaf3e26f4d2bf7c71fc991f7070cae86c9d6919753af9f950c3e8521ec5441ecd3eae8933bcbf9b518fd59ef35602b15ee9edb314d8f00a13437f258bc72a16f77857a98b83ec310b72bef9eea2e24e6d7700cdea234dc42d2773e1ba867aebe9be2d6ba0eb4e9ce89c939fce5d05cc278dd8d49d9a2b95a4f35337d07672646c998dda34a230d9731acfe4b1ba049508531ee7fb4cb6e7e7ba81bec1cf6c7396ed7cd9cde793d3d6b9daea592a52a34a459477fb2bd9aac251123bcecacb0161fd5732a5debd6d36e1ddb382ff4d0fe270d2e0c55354bc6cd6509995cffcd3f375e990b9549a3c144d8738aea3439c0ed0d9af38664870e4ea4b75641d2b30e599ba6955048e3125a2a8c7d0999caf59c824dc4405eaa6efdf5be3e8d4e516ddbc225b2cce6ce8d28062b18e52fe6e3b81ca6797d327018352e383d6b3eb0a0a507650716fd9a70e5b7bf5523d8815c181015b5f1e75ebfeab98979da63849835f5a5231efd09522cfb1f0495ce793dac9e75b563e6c17f19dfc9106ea9f62de1faf629bc0c0e935a7f7828ff8648db0cb92345579d6da459b574456fbe877884d0d0ad60e85031e9ce403f7cfff961f3da00a2db3112ab1682f68a36cc16adc74084b0b7fb837e0630de09f902e0bb4b68dcbe1affafa86dfd8a8090c0cd93c44ea4873972b54cf6be51dddd76293945e70a7211066932e78d337ade810203116617c57947e2e6241d559cea625b0e7b198f003efc732c7d9d365d49df02febd2207329347928ef87c32cc731744608c6e4223acf9eb9b829e0a86bba7cca3a0ecf562a6bc66b8f146a131518e62835a2fab968734c58bc5061baae9f028f3a39b017eb484a329e537cccae01d285d46333b8c9913776b7f8e257402b8b35e89d75899e154fae8d1cae6aed4fab0b83cc05d3e4a18a7f4a44b3e7ca181eaf891a9669cdad8e2c9cb478553c5102aa7f9a2841acdc4a40e8529bc0407fee78b637bb836908d5df68f6586c52d3b4575cfd2fedf78fd95e195f25f9300c0888e89807ed4c138d6a1d559174a9cff5ce36dfa3d769bcd011844a597baf6ae8ff040000ffff8c76ecfb01c001a0aeed47adbb7d5e7a64a670f39c197ab92cba2c3ce06332cc62ebfdac0d10b104a0111bf0b1ad38921e07feb02ec4acd7938adf755f75f3f571f523c66594cdf49b", - "new_txn_trie_node_byte": "0x02f9f4170183053569830f4240850ed16354b6830f81e094ff0000000000000000000000000000000000845380b9f3a700fa2f95f078a7f5a3d8d2d487760a9c7b00000000f38f78daecbd7758535bd6389c842e4857945e45e901421214e9bdf7222025a1f70e2284842a8aa0208a944313a52928986043aa74952282882822554104e97c8fcebd77744689ca75e67d7fdfbb1ef2c7619f7dce2e6badbdfa2130bd062d338d003bdf2b0a4c84de6cf1d811901240bde22e75d4224ea86378a272c0b7a3d78ccf2e1a2c70ae0a50c83d93e6ac7d9f43c476ffdb6385d1f7983a5b847db29a9e927cbc10c7a17b647734bacb267f99e90c019c0e59069fc5f29091475bba8883a22d5da0ed38f0519b54138f83712c4573cdef219da2e03d3b8c7db8decf6008607e5865ec5dd01700661f6c93bc719b9dc99ac36fdc90edf45c839b02682b0023300884b4a48484244aca51d2491a21e584947140c3501228a834420a0e453a7e793b0e96b0d63753fde2b44eb864cf4736933bc00126d0d600106957144daac3894cbedfc569d272a8e5e9b1cec5d386c11d155eb0a9134cead71f33e103b4dedf4b9a18e9ccf166c4b879b2534a2d515ddc10b240c227743f8e9a742cb31379412d06f07fc982ccaa4caab13253706d13a441a7913cadf07d97cd3d5525f74205427e0910caf72c3875d4cebcfb596f0a8684bb593591a2cbe7621efa369d74b8e60ad365fc0dc852059687cc3c9a6c6104144d4ec67f193b783575477ae7acf1b24649a760c8e8cdac57e8bbcb33fa18bc0a956dd1f52f47b06f9f93ce3e12292ff34adfc6da4a6f2516c5d1a84d22500b0624553c655d9aaf244a0b5cb65ab862d236f2d0d4f6565beffd9e433ccf9fb73c7100380e067d349d9c6e0ff7f2b17d00cd255c6eab2c89665e3b21a61cb52f7299be8000f15d8678e1a46917708c86a238eac8c8d43633af83aed22bc102a75c26f74c405702478a8b310408a980f8313091752cfcf2c24bfb9ebcadb0d49c7e97423f621c40b24aaef76cd99bcc5c82d767cce7e3a9376f985ae166873b611952c33db6521f6bce0fa62cecbade718440ac9dd83e6fdd0c66fef28a54189bd01272ce28bb6e43b386353133cd2db6fd1f2dd453a04296a778d4556c135efe92d44ef4bd31aec3a9fa9b20fc4fcf19045220d28e21d2cecc307ed163c5ad5d869b5c7fa4d54143f9bc66d915d08fc3d67b0a7ef8f8cb4bac9228a09a24745d80f586e37953d9b56c5fea17450a52c12139765a2b6a671c5158b82ac02ce04c2dcd5e626c45faa25fbac4fff1985cbed6c3a83a67a36b960da33db124f84ac8d2552c0fd96e1c3d05e5a71f76d039f55b6ce31b74620fad5a19c92e587e8a9aac554852a1ac768457fd009d58ec97e46dababc391096ad9886be0e7bdceb455bca01cd7a29eee3b04c74fb300c6c1050eb9a43aefd6d81b62db9881f6f09745d47c65ce8d8f1ddf07c0689fe610c0d796c1655846108e4eb91007ce01a586514f86b2ca3fa76258a69f5fb1085cb891973a82218055de79589edb724949f7997c79991b6eae555537456aea99f3e4f1f5015e55f192b6adba3359df80ffccf32d82860d2e0836aeab0cb2a4bb0c2c67774c56f36e8f4c408a3e9de416ba82b94949ac578282dfa058f3909ce682f07cde4ec668797d0fcc2da36b4e4b32c3bbc8f7b5d35aa41fe087d88ddc3d327353ebd8a63a64f5ee9b236fd988bce0139ab124bb9e819db91fd33baf74e20943c05e31b276a9674fd4d3ddd30d9adfbbb04e000266f9188a2ca130df69a4f3d300f26ebf234db2058bd34a0995b271f4666f04f1ed4bad12383a25051cd9cae1d47d0ad7ed35c6cb9f60670dc78496e2af99ece691c3e0517617ed3c7e9140c080a9ebce2cfcd7ff7cec3b7674d6bc53eb3945a368d12993eb2965ba1d9f667351009a3bd31d1d697afefa991dc278cc9575ca843ca1648795d460f11e455747c0fb71224261d7cd89bdb7d38335c0bde0299fb2d519f0f96bae67394e3791327ae0cb964aa2123f4f074cdf92aa1856fb2204797297de70d9d377ce361277edae9efd06b9eced9c7c426f46d1a1a26ff568672f9399b25d5a2e3172c12a8901b0c08824e78b74eefd3129b12d04bc305d26f56ceeaab9bb55574afe4073ce3420bcb9792e3bb8d0612270867a9d8a3bc49b26b473145b56d5d6980d085dcad3c17b2eb973e16831aa5823cad40fe0f9f3b7ed0424f9edba4fd81fe23a632dbcf3421c84a7d2610803c27c7a1d34bbf6a8d2d3eb7457f8418b1df218deb2030a2a1f6f939d1dc69dec636b581303a883d2e8189c6c75746ead485551088f1f3bfd328ab9dd331479afc677b2c0a90c7f0db25486e521f3c652a1b13b4bb15573a957f11954fde2775e9fde538a825f5f8bf2d3d35dfcc60a7d06de1e7f123a06cfe7138b37649b13f3bfb3e1069719701d473c40a05a3050b784483a5d9b5a788aaeffe0446db6a9192ae05ca13d1df56c99e9bbe48d820920c86fbe9f193c4e7a6a3853509681b4a725bb4585d06a819a0d401b8ca2a5910448376419d285e52103ff63cc38922bb1a992e5ddb727c0038cadd10921a7652fac8d90793163081054e939837e2268ca4da41db2bd73084c444803f3d76a9fb2dce61801d03600dd852af85e5ba4da45451190dff73b535cf010e6bf5943e4158750f893fe85c345a7589836d8745cf34423e88a8b46c1e3b7281fd16b45eaf8344d5b2cbee7687baaa8f4ef7dc941db03154d05edf09f197fa3cbe59676d68468f33250ff4b33d1b38dcf76c3b6e4fa6020144d716d3125935a90a41fbb3948a6ec3721125530caf881bab295dacfab61048080cc3fecb8d33db620a7ec9bec7ebf9372df478bf6dc04690a56964b45eae9a4047239c8323912cb4386054b62a938b03b2d70a4e78553bf756cc793cf1eb1ecae048108640d2fb91e4efc0cee300cf5664a351f52f13fa8c877d9abb0d37c71dc649beb4b0cbf89c86124c4e4b45af0a783e4c027321c704e27dfe461d06a5969dc9bb8c96f220f0bdbfd179afcb128e01d6fbf01474ad6c4f9a91b9f274f45ec7d92a0285af1bc01923cdb6a527f0271705ae39c7dcdc849dec9f4ae95afe9c241f707e4cc2f603e9e260efb27bfa1c56d5488ddd6bb6cf1e51ddf1adb97eddf1a2791f5b5dbdefa13e54f5f0935c4d6ec2bc2fd6347be03b4c8d2f62323188d47db433ff00bd0ff6a00af1ce335f60ef47344f3caf2ba873aa0fdfc83ed7d784578153dbd03bd0234bd4c8d55786579a1d292503118545252465a0a0987cb20a5feba453f30e0cf7ba05262080949192904122a89842111bc22bc466827b49f9fbd07af2c2faf08af9a87bdb33fafaca408afa65700dad9cf352054d3cbc99b57f618af363a54f3f3537845788d5d9dbdec0302fd3e8d4919a519a0ada96d6e6804333542f85a89eb7b5ab97b5885384b22a49d0cf42ced252d0cbc3d64ec0dcc8da535bd959d83adcc3c9c95a1c2662692864ae6ae680f4b4db7402d6f949a395ccac50d19228cb29470d376f2d6f27577f70f0950d532407b7a69ebbaf95a1a0422422c3d43fd1c643ca47494f47d03258411686f29755d13739d408fe0500ba4a6b68ca6a23932182aa107d709745454d4d5b67715473a072986c07de16e9eee8681de4e21c1a1f63a869e0e86c106ea4150150f67a4beb7b3b26fb0aaa99a5190538879888aa457183414e6e1eda0a1e7820eb5842b051b06bb6b881b78fbe8aa1af858491879eba8f93a7a58a254f524951c5d94f454d52cbca4a1ba862e5e4e1686818161dac6301f0965450b174309230fb881ae5448a05a989485abb3978a5550b0798096849394ab9629d42544c557c91cedefe8e9a8efe827a16620e9632ce9ecaa11e22c27c77bfcf85fe7c7fa89e886565ddfb934f9a5e69ac451d3fefb0cc8e0c257d5b8786453ae2e6c0990be79759d24c988b9e03d5ffd317d5bbaf3b4572719dc981a638d4d84446256efe12b204be5581eb2a8682c652f96faeaef11e40c0dcaa32f77cc7e1eb2b19fef242acfa994a56c4d9fb6ad6654353b54838d5c4415e9671d0e84901b0396365591882925acf5f255474e1ee8b4507f37c4d07747cc4731f53c951e966082203f6859901b90a78bc92dd5169654503afe706ab6aefe609a7d3f4b45060c9a13444138d36af1e376bec2e57d8ff06190a5602c0f198e946dc767435f8c58f2cc43d027697abfb3ff547c70fd3d964ef82223545351093df4288eebb9d0701e00c1d462809e5ead25cf9c0d84dbf5ac6a037141afc183eed1d1afbb804de19bbbeed2cf9402ba7b1d1ff79ed4d572af7dd228cb90526cfd66e2b1c4911e34cb52f50dc225c1e63f6c42ec94501ca3a1086ea7385f6a7155c1c935927757daa5f3ee17b7b745dfb8e9338a2140483d5433f67fb9b288e7be8cfa612a61e0be50d542ce67139b9a8c86dbb16fa0bb2a89d89cc0c4ceb5681fe5ddaf89dcd317a6d096f19aa207f3de9d92e6ce0d9211679659b270857c95479dbdd80f6c722d44fa936db3ff96ba7086c88e1169398e1ea7c76d1d875fc91d3a6372f390cbb09f86d4703f9d6809c9802aed1d598f3ef23ef8bd01427a2ad900c1e1d0e919ab9a95411ae7b0500fc611b60d510b04ed4018e1c2c6d8fa39dffb633bad674eb9dc0d82970f71708e3d678b8e487db973aee3107226a767762823d0bca14ddca7babf2078eea37eabccc0dd4136e2caba46b95139ed5c2b4b5b86004c497681ec457aa3d5b090d26312f423b60b638ea24090bc663c2855d9a582423dbe2197b1844ba8c695c33820d0c0f40063ad21448940f26899a413274dbbf819e7a82a9f7ec70e4982fa013be4cd2f2fae9adc3de235cddf77af74ae7d7472117399efecf9ad0d2892884a8e4ba0cd034ada7b629ddc4f848f1b359acaea4e2d0e9d543fd523d07a56298058fbf60c2c90801fa22912361fd04dd5b92b56baf2081923796b9cf3a1d0485ddd7d0741f89f9e33313b2008b4739beddf05ca983ac11bc3df65037b45e30813603344e8771fc0f5e144d4ebe4ad5e71784891663bc2cda39362fbb792fdfb870b6f7fbf996b29ef70bb05e867e4d39f57df41ccca2c46a234991867cf85b24a812ac5632793e0577e99e92889011df21feb2712f76db6244c3588e79faea2fe28e27e25d8cd31ea0452bbe06d6520e05adb6e92d5ce935a78434722e2397ff69bbdf39e072ebbb89567dadd2d6a2b2cfe8ba63ffe8fa069bddbbe8106a5bc9cce7cb2d15904d20b54913a4a2574dec7db6bf26aeb38de4e116bff0fd1b4efff0b344d0488d334ef928963fae096f690b66431856d8ce1b521ecdd16b20729acf578e4f79fcfbbd6b95c188ff9dd34cdd257af85e9d7143fc6186cbfcb86d2e06dfade89edd0b4a1d57a1b64a587eab0e788de9b807797702728dedc91bc23728656ffecf05d9726c069d194acbdc6f6c4803e38809f63f729e3196bc1d2e73a52b59ccf15ec1e1ff02350a441962952b03c645638fa56f7cf3f6a13ca54cbe60792139e022e772f0daa9d642d6bbb039c30c21028f8afe885bcfb19c3ceb784fdeff4abb842573cac164fe4e98963d7b76c3f9951ba4dc5d76e7b1e3662384cfe626b01b9621d4e2da0fbb45ca12baf1a9600953b59f79313d8a6619884fb670c43bf0076db64725f8d2f972623fa8d68d6a692fecbfdda28bb10ed198588adbb0bd26f73fc98bf73fcc4fa97bfc4f7e49abcf256cf2aef94bf3e565f2b87f4dae6fc806dcebf769bf3db12ffd0fde73988f417fe264fa1c6ff928dfe17a25bfe0fbfb7b7ff645f317d898264344b34fa2c877ebc8f99e4c9491b3ff9ff327e7f357e3493fb617db0980ed3d5d93376292f279f6d0c2a1125103020648d0ab6755a7d84c05d5caac1352f01272ef6bfab59dd5dffea66f0cd2b1cb500d58be3afef541bc98eac45e1c7dbfacf3ca44f4c872b38dda47a30a71c97c0588df75c7287e0e829c8b12611a923518fad8b95d6b5e9783519862607bb2f32f31d892359310bb64ed7c47c52d7f9c48d502e4c54d647432c85eed834085c68336cbec8cb2613eeee722152dd811280c4b6ece9ead9e8d3cd5fcfa743975d18cdc7547235c61ee840ca4b2774c98511c0cccb6006531c9df2251c24c13055c9ff0409d7345d825eec14bfe1719c34cfc565f538485d99cb7a32085fa02a1315f5e584435f696a9ae6ec7311dc07266bb09c01eab55318b789444490f079d98f48473bddb24b8bd7ddb861143efe879f27669de8caa23bd9c89a778de1f6a113735523406073dd758aa8d1c3150b52b03a7fcb752f3d35f6f9e5f01ae70ca374895767f611489e419649fab13c643b3e2fcda71f55fa5a2a23f479f54240f662a7ab725e606ef71b0d6fbdf2380ad675cd53201081047597b3f4cdf60e610808a6599e7f29e5e161847637dfed3bd2e6b2cfe61f1db9c5a0a4c96bbc674deffde8f6ac68c4bc2f3f07c9f9ce77ac947c43ee970a59e54c991d6f1ea1fffefeffb14c5bc31bcadfecdea0f40fb0f773b60f40ff627f3ab7404f1fb49f183ac4d1c5decbf9a71ff3eb9a1a190cbda1c9fdf8d7e5dba1f633cc4b69bfbc7f3f44be44adb8cc3fffce7f61b218e03555162d4bc92b92e0ba705f371db1a2f257fcce4b77389b4591cda68ae6499700151ac8c1fc8ec1873d547b51809de7bbd6f6dd94d11a22ce06fc57ce3f1596cbc17b2cb991e2e8940bb18112a9e9cf1f78940616a65ddae386d3ba9c7c832db8463d96df1ed9fa474ccba91292e7072836067c87c68d30c7464ae5ba11bc9e9d00e2c3920ac2dad0b51ce0bf3a7842c8e3e833b68f98f3edef58c50d5e790b8e5cf408cd88e28175905e89c20740967cb13c64649f837ee8942bb04694a9673fb0df5ca89f136e3491b57d6c25bfd99737a015c7d0f0226d28c007538b013a970c4d4a746e9cbd901acffb744f52f530edd313e334a7f52b9fe5a64f4747710106370763ceb8cd79285740de7a4892caac698535d73eade9ad6ca393399cd0da4e80c020cb102896878cf31fef5552c081df35a672b8ef39d81399a29fc3214939d395f8eec9929e2386006e30bf2d17f295622cbdefe95de7111e9f5d65c16617346e2749411db7eb5afccd0a0611cf2b31cf32510108f23383f985f981b7cbdc6a31408a6c55f1aba68079f9995b4ec5e627056bd3bb39929319995f98595d78937a5415500dd41ea6c7beabb7af25c9a751b978a567bca7bbf03ee753e4918bd50b4ae81304d2279065d26e2c0f19d6400047a7d08fa35332c7918853a7be81713df1c9f7c31238761d1e4bae8685f60d456208a4a87a0b93886d886610e3949eee9eb4a38f1f475ab09faa5ff43bac9339c86e1078a655944e8ca9c4f142cce41811d303e9575cc7d4faa54c2d2f795a354ef1b646d329231e9afa23db5b7922f61f7f6f8f6d200ec478f87cdad6fd79c8883c5f81d8fa12e94f04f32144543f1222cb4b42ccf4404475221a93c37d354b24916e0fbb95d763c7a8188ee1b7681be7fd5590b9f3a9a38cd992d661c4289fbb69256cfeee6099ac1c7adeada425005a716bb4eef1e28bd1f04b101255711b7b62a7da36d54966882cfee50e356cf7ae81773a2983e7ee049fd575fa19d5659bf3dfeefb7f3bd48281488fa8ae40a707da1551af3e64d0a9e17885dacfbd5f047a04dea369d52c320d00b249ea66feeadd34edce078a2bc932f16756057819a5bbaf3ff569ba557d26ef0d3e15b294f289af512271101f491cc4f73c0ec21d982a3194e1acb94117f2f06e5d2d87f98a609590d028a620d07688e5cb11a80faee92cbe4e5eecb03b185d363bb28bebc29a7a2d06a0f2dd3139215a7245ae3665d0ed45e283c2306ae519fc002228c597bc4bdc6e0980eb8dcd70749a141e5fcedee9a5dc4b7df06e693ef6e5e344a4d918756de6153702691a6499f4f3b8c09c7f4490eea03f9cda9437e8c4616596cc229a74ade8795e3728169d8f2190f2ff0d11a464db53a489e91010856d7213628694021acdf6bb5bdfa22bf23d1941876c7387743bbce677622bbacb763b9102d16bde21e85f9cdf77e15fa3c37fb6fd2760eb08571015c4e73949e297ff19b36ce6c83cbfc95974ba5740addbd1efbea9d4a96dbc1f352c5475ebcb7f08bd9a9b8ee43260ec9abcb6e7c85a587ed7cee92d52279cf8d64063ccbf717c2aa08fcc9d3fb3bf3ffbfe5a0c601ee963787f641912746391366d2597fcfc7a1e53ffd315f350ead2e713a47ca4000f5e92f209ef68f6c989e7cf96ae359c5b23599f881136d9dd79f874cbecc9d05b7f467091fec1932056d3a930accb99e3fabce70e5c9db2ec908d9e3f1cbc3b19835751b84fb7f72b23cd6137b0938480c41e44b55a4cb44db1f55a1b319605aec5007b3339773db40eea633033097e60929aacfefaf52a58f084730c227566edadb417705486e7c6db7ebf1c9c555c7ea40dae75d18ccbba49cdc9417475f249492476e1afa0b3f23fb207d2cea61a34fa596a5e9a6d16f3d04271f19366a41cbfd6f68da0b3d32aeb814a31c56ec28917d3fd2f860678910616114d47c200ccad4277510d7b6de95bb948ab8efb473329c28c3863567381ebd3870ccedfab00dc198031155696c7e18938b148b6089b65914dfd072a6671fcefb13b06c0b4597fe63bc03e8f381fdbb223f569f1746cb54dec625155c5b506f1156316faead6ed85c9fd03ce9fc3d48201a497d6f4062bf3a169edbe684fa31374f9aad338b58c525cd3b4d1a526cdaa5900d2267ada3ebc647497dc47442b1b0ae67ae2067b8e13bb8d118927ff42d2135fc21e0dd0f21e15206be23deffe8fc86198dbd577091a079eb0299fe176d7ace7d864f2aa8cd169b6f9f130b9a2659605fcd5a5321cf831278ed1501877e4142695840a43ebfd3080047bf4beb5fe99524445fa381c835761c1d9fc4b0e28c9240937d81b042219fffc13562edf9a33db1462954401f984e59c6bb7ee9f59653bdcfb017968e06d3af72335f7b188b743bb93f9f7b20d013c37c0f4a4fee5e8fd40a48db69a4d5f5cf38bb2d6e2b95b713eca02f135ef5cf0679752b0947c3886536938327389d4a4a8616d87147935cdfef66cf3760e3246ec866eace1401d05002a007c455d88e13f56490c88d9dba45f192c933f7ae109d59333ee5e4f9face4683fd421eb2c579328075e4f02118facaff890ce459a3af03a47cd2fc294c80db9f5d285e5967207aba864e58ee0df2e4d6321de38fa56211cc46f3895a490fbba08e9bd836f3fdebd299692b9c43b233d87c1ffc0f15269fae515ec62f8d241319b1ad7e7a4fb2dd43e1450832ea46df778f9b4095a21e3bef933fbc6464f2b71433a8ad62de39c59154cd994150d839d2517427801480cee0c9dd739b8cddbbdfdd7685d3f2cd0be8a217bd204cd9c59d897d1c602fd42579583e0e894947074ca459fd1075cc94562e89828712ea42e618341302e5ea441ec93ae5af10c5d0002aff1e6af41c5092ceb2f676231be4934a79f148b89a1f88f695e7cb9c0baa5db154ccd03461c22cdbbf0a8f7edc8685cb409c83e728776e3998c696ea56aca75ff8ccc04c8f6ac141080982e040683b7612a206a05e1dea695e477c377a543a96ee58f218eadf82dfaca3d3f4a65fb33569e9ff02d6608ddcce4b9f252faab7fc6afeea27e667ce9e884ee24cd45e0d2c052d3c8f7924ac12c8875dfab0f88a60f90a799caaed0ef71843dbe9cf5b2606fe1cbe9100a930281f72d770544660f78e614ac6485f786474939f7961ececbcf2f728bd66a7698b366d5be5090aff420d147d9ce9e1f7a9dbee53e439b66bea0bba04301e9ac6807826abc2327e736b526c9c70fd447791b9bac09fbb508692f60d746607d7ad3d28d7c5e75b9c2561e92ca7d0f4d076d696b79d4d2f9b59e91cd5f9668d18eda7dd738e571b13177f84749ee9ac3d755e261ce1e79878d1b392612dc64f6c8b5b26af2444d8cb1558f0eab88b4139b1f0baf49a6d5669c96b4047beb9aa7172498320f5fb07ff29e412a46ee3936ef29f99028ce6de941ca948729a54f528344ed63f315dbe3b2e9e161f9ce0542f49bc895f8ea2742230277d3e56ea57cd4f12b0ad77bf7a4e8fecba40d963a6c347924ba28a85fe4e91c09c2e69019f5fda38927f53c8e73ed4264e4ebca1a2f4f8d97fab5acbd543e276d749cbe30c74fe236577ef30aa8b0b59a7d01f22cb4b7af6b4a0b15bfdb2ea46188b33cd20b19d694297fa3b6ec047a9f470e1b8bb2188884ae160cd4ba6494849a437ad7406b24b1a6c5b75f4f3ebc4570e34feeadcd7450d6394907f08416fb2e9b9e6e2098e88061537952a4af24c687554b39c39f323d7c47ba6e4380f44396213d581e321c78c0e31f065cd51d38d2a433a9c6e76aa30e736121885547145584a5cf868e7528860041c9ac5e2ddb1e6943b8f9c8f7a75e6989e5f5d560aa73713e603acff1a06e8ef3ae4befae8b49a8199c3e68f1e2e879c76a23a73bd31d4a834faffb75933cf7014404b57b665eda1c8c20e1699c3f5935bf7c8af19e6291ec7c99dd6b0ac568bd98f1766a7a6d33bd96f044e10b56738b749b080ba7d314fd7dd499035d332d862ce78eac26291e20d77915b57f79ad286830bc5aa5c5a0a9c8875fe8adc9810ed7e8f7d7772f28cdba63ef818452dcda98468b2c526dbaefddce53ad99bbc82552f8a4fba0d379ef813ad4de1681837204c34e192bd20369abc72e1c2da8f71831a7323c70227e73ddb2f655612fe3ed2038cf1173f20d48e99ef94e32e3b227d522dc115e9d829ce07ac414404d847512638d145bb6f2c13669d4140defeb0ef3dbd45dd33c251f7e45a6a40473dee25a4a4f441370fa63d7fb7fed321c2fd294d9cabe634a62c68e946ffdc4bf79a3343c48aa38dd64949e94b25c27779cfdd7f698b296e42881783754d5a3ddb13afdcaffdafebee24626fbad234286e57e771894b889c5d632d76280761350c3dbfb316ec2e976f954748b1fc405e2090ceee08cc13dcfeaa95e632d01ea7baecce7400eb4cf2bd7e40f0e019d57da5d232a90ac7d92f01db0c2ac6c090279e732791bdb679ca63eeefecd94420c811cf5bf20959008af2625822f600630c99fa98486e97bad1e8404b0ed158fdef43c5e78f948b6a3f69f9b6c9e2b709cd6040402ef008140ac9fee56c545a0471b74f2ec4a14c69e496cb2a9b9815ac19f9b453f9d723e95f35c81cfa24b876c77c5bb1af1a45d14857feb20838099be1552f32dcfc5c4cb7b218d12fb1b3adb3b6376dbc42143dcdbc2be92ab1f5e25ffb9dc441088fe061ded3faf3686c36ef66cb5e1c4220a7fdee1423455719bfbffb524486c09bf24eb3f77fcfbb0917dd0869c757be80df9a988b45fa02ff0afcfef3f01e0c52f521dfdec1d1c42ff2dcd51420c81444ac840259030241c2e230d45fc7b9aa384181c290387c22525a5911250843442ea7b698ed09f487354d43733f475f3d24548685b84042b5a7a0604bab928ea38c0a1322ac1be2e1e06c24e522884beaab9b3438871b0bba9ba8eb86688a273a0baa59966b0a33a4a4bd1181660890c3395d242a00cc48d03e07a01563e56fa1a2813556323612f6d988b1a1465e965e5e562023354f530d1d677743673768142dd34645c8403601afe867efe219e069a1a2efa3e6a66be3a7077a8b6838bbdb4b9a5a66498834688ae929eb9a587ba9199859629dccc5b4a2704e56e19ac27a1ac8fb634f681fb38f8055bb82b2b79e84a390a3bfb7949c0751ca4d49cdc2c109ecede0e525646b000152975610d094d497507332507bf60751fe720234524da5b58d93040c6c3c1dd11a6e28dd6f5f53097500c71d2f433859918fb6b3a8b07a8496a0a87181842b5613a6a6aae16860e2e419e3ae6287d0f7fcb1043695dff6019bd4077a82b2c48df5bc65043db5b5d49d94c5f5acf3e34f88b3447d01fc14289660de48787aecb1ff77ff2c634ce2b4e80e71a5c6e365067dfcefa77cfd6f8ba01528d20669be0cc86de43b7ad1576e49f448f4a763bea761f7f81f3fb3086a3cafda75f41160771b1c3415c1b7fc2afc0b2807dbf347a7ba3f029850ce254fd39999268a016037c1478e4925d68a3659999f9c67828a8294019bb2494c25e3dea718c8aea56bf0b00c752d19c2acdb888201525dd79c4f4e51dcb7735483a267aa999f9bd03fdfc1df860c852c067f951068303c702388aab8c5823cad49d4e43789371cb772527ab48628330b839ec05441c7fdcbe1ef17110a6160c90efc2234ac975ba97fd18aeed8cadb9ed4b76fb44964c1cf3ecd2cdbae1cafe18c0a6252ada95bbf8feb3f43dad29340f565b34300f6f9c5fa7b8484a909029f950472025409649abb03c647bfe2c8881f34f6548eb422f1d943577996f38d70d58f5298aa06ec6aac8e81cb9062290aa500fb904122156856dba087f3a7a119c47f746805f7912207979c759e3c580ea3a6941d2f909da17ef83e80eb8ccf498253f8db847e3377f8cf9d18051f6a0e816f6decfd3fc129260f11ba71d7ae25606b350b1812fe4f56a7c8f6dcb054d34360162b74d173000fa9f0dc47cd094bae8007b5d7b7ff75f7c3eccd5c7c95f565cdcd0d31c11e8ebe6ae8cd651d67186bbc0fcd403d58c4dad82cc438c942d8c0d2ddc757c94944ca4f5d40c9d4dd0ffc1c3eccb8bb3ceacda7dc99a71c741769abb4a6ff29fbd9f14bb75779ad1bf9b7efe051467ae65f18f691c63b733cd17da03079f130f46091f547ca5f1dc4ff1d566f6c79b6ad7386dacad7356ee8c290255a297d6444114334161769cd78613b3eb9b5617d98807bf70931814118a1c1f93a8368fd5307d5c3417170f31bc98e6d026fad82e69d57900e0c81e95e8d4863b9064a2e7341fd9713d6795847ab457b7bd5273206d1ef14bc7df842cddc0f290717d2e79a28f23c1a5a59a987499469fcd898cd74b1bcc979feeeba13efd32966e1fa2ef72085e65fe2c870d1167e5f4f75a76bea8be5e84faecdb56f150bbe7dfb9d7ed03d09819d890b6a67c197e3a361d9cb328bbef721742d91e60539fd7ba515e60f0566a8cf5fa18c540b5134fff88c0e2b5d2ca97d3fd277319f1d7214bd73efb90097f546bf9fdfe9aee733284c611ee8573a3da14d1171426214dbcf9fe41517421ddfba7034abcbd016d900e54686f60a971ca441db87cc57a7865d8a7a8d37afc6c7cc803c8cd701202bd2668995e1518892b967d9359574e2833e914db6fd60893b58b93bde5f45229dfb9d6ece8bde61f77255c59a65bc49f5a4ac4820fe038a331386a93cc54fbfa7cf3db870ad930d3dd1e15e5f0d76ad6ce604c814d9dc8572e3864ba439c1e27ed0025c7adab7d6adc9c129e5a77b04aa2407cb2eff9913661c637d865f0bef64b66a224651efa9947ca194363059376507400d2720767e5c5243d435c6993238765edd5034b9b3727ecc94fdf3b79382aa08cf5afe4c9a5cfbe8d6d264f7e9503f22bc9933c2973cf7b779f9c606a653ab1b3b642becc5cdc4c4d8017d5d6c1a8dd56973d4dac9d1811123945be4a9ed4f52fbb295c3f2493e034f370b692391a9c1bf2f21f1ee26bb9202f982836b0f8d58b3a05dd1c97c5ce17d15577af0ffd96e4c9edb66f8769dfab29b8a0b8d5829d9509e0db3a98837e64eb58842302db8b65d8b23f2495fca0deef955c40cc173adafd25c4bd0d9fad78f6ef499e0d7c917255ee57a7f349e23fd41c3728dd7e04edd8315e82d3563cc01c5640736e434bbafaca75cb0b7a2811c07be22d79c6c431d9e984a2c538b7416d212d96ba3aeeba4509ab5d21bef2bd257f15d690fc4cd3ffe5c21a44c279fe96c21a854ce214c757d55e39d6eeec7867c7e85d581d552ae8cb3879f1c273188843b99c8bd81e6eb3ff965b6ac9a8cf39b9c9db58e898772c2940dc423413cf1a7dd10fe1dadbb817be0315255510a42c1ec6b9af28e0d85451f6ae1d14268acf457bc0baa64fda71993e5267d92dc9c305703aae072f220cb8a586f9ee08eef4a9adbc7e52ccaf73082cbc0a01990d712c40fbd6e35a52ca2b4e5f3dd47885af69f3e4447176319be0c67da19be53f5058c3519efaa13f42c24c8c8b81e65d7fe808262396d591f6aab6580c1af451f6951440bbaed1703e4022f1c5f0102f467d65ac6f4767c8c4de88b29293de4bb67736e3ff4c0c22c39a44a4a6a6722326d9c69e732c494ac9b430375f54b89511472a6aedb1d239f03931c83a89fa8dcef0eac906bf0355d53916c92d55e9bcb51473d6628a61accc8517cb016e159127556ea6023423e7fbf351fb6537b8ca039cfcfacd60c5d97ed613c3b60470206419ec8be521a3fc236cbd0007a97a952a797c6eec3959828dd0b518a6e2a1b34c1b0636b1180298744fdbd52d7188b60cfb5d6b1c585461bd4119ffe267acb10fcfe57c744e3c867c5d6b9978ab8df2de8ba7375e6f4d27a8d29f71fc110be8fc963db516031cdc1f357c75e9c13edac1132cc2d72725272ded0b8603de5f584f0bbf35f5ec5227b0efddd193af9859af26b7d80e2cdc960e408a9be2e619775a8d1e7cd125cd1aaff94fb5fdd0cb3fd476ca4f6a3bf8c67b7a4679a4c0b575b263a543f1747cc5f377e23e3acb06505a7c56dbcff23ee1221ce4a9d94de13ad33b2819ff71b5fb5892659c6c3649847e74778c26b09bee22f7fd8cd20cca9c0acc23d481892ec7fa4a9e9683ae74e9f22136f86cca2fe310cf7d52dc69447124fe76a9d38974911bb26f6c2257aea51e78e57ca41a46328a2190f2c3ce9ae9fcaaa7f647ccebe82edb0e622adf0e10cdef5419edb667fe25f6f8afcdcfd9f4fb17e67a675ea76b6c76be3616a04a775178b1550005b1183df4e264fecf2cc6b7f6990841956c2fd201a418e180afeba77c9378dcec2067ae5f19388e82ece5dcbef16271469ec08127da4795429e5a4e4f2428b1da3f5ee472aab53efb918da6bcb7bedd4b24a5a4935c4881edefd3987f4a32a1747a151c5191a0fedd9e223bcfb6f9b96d6ecfbd447480c2dfc41941fabfab68a9c22f8fef8ff9d762809ae06357ec4efb1fa8a17b7af01115c5d9450a64efac9a8c0277aa8519cca4411d40b115510c086ad56f383f2ebc77db94f456e3e1c3119ac5bca177591254325ecb13c0be9065b0e73f22113f69b658afa454f5d509dbf3ec3b97fd8fb9fade305cddb5de92f0f4d32974e47800769b9322b6290ad24e0e087b14da49128d92907142db23d04e6824d4112e2d8d90824939a1a465ec25a49d1c11524e08194707697b341a2de9202d2181948021e012286249540a4e704728d2c141c6d1116a8f90864a3a3a3a394a3aa0a1501909077b09b4bdbdbd94130a2d03758042ed25910838dac1c14946128e9492724438c0ec9d6a31c0e3a2a67df667ae0de1d9fb3a3d31beb5dacdc3b1fe34eae96294236711ad11e239b01bce9b594b6f347b15b052f2614dc97815d931d787abcdfe45c9bb273da6ff0ca424f9c30cf2fb6d09a483c9996db42dda8c1679d6f61d843683ca16d87d1bd6858ffc38798c3b440320b1981dceeeb4895fc84a61f62307a8fb2514f887d4554a1490e22f1f58b07b13f6558096f79501fa75d1eb6fee0932b4cddc6783ab5cbd7f6df57c5c72b111d345ca79e3b8345b8f1fb725942cefb3fde7573a68fefa4ac7839ffa4a4785b6f3e6dbacb0f13d8addeb140d92f3aa5dc8ad4387c1088cbd8cb4a38ca38493933d544ada5edac1012d81b077404a484b3bcaa02525903f23a7fc02862bc6aa0ced146375bdd98fd1d360f66b929b3feef9de8e8f0b6bcce3cfc00d3d99acd9f3c25b21b3d3edada066deac7b59d6cda4a46ebc77de21b3e371ead65ec7857ee02b1d6ca8941661dc59daf298134e759617327386e9ee19c88834e73639de2d7764f7056c786a27452c6e5a0beab00e33430cdfc80785e1a7e6c499abf4bbdb4ef591cae2ef2fddc33e781b2dd9e5be8a23ad984c552d36b67c638a70a6df6f8defdd7cd26221e3378bc19b81fe112bd7f2808690a174e00f27035a3f90801cb8ffb956ef0a9bb67866f5db875572678251a209590b0fc2904ef99a45e7dff37f87f983417b3f69911790d749ec1fa8a343edf4221d63e26bf074b3af580f1fdd677846ad293b53391d30eca9e3c01d10f31109e919b528c8bc563dd94e722b5417627be8c285035576597f958604dff8f8f95b2331363c8300089ba990ca7ef81993a4fa6e667b65d74e8d2353ee199d2b63718285fe175880cfd29e0e22c934ed20f9232eb6db7cbb075d7db34f77c4cd5ddaf0a86d9104f1ce6bfb019ad5398daa728e561a625ab1a72692d63719e683276f19181d85e9f60c658af7e2cb204bc59f643d43bbe84f0a62348504088403d7825241599e9f738c574131a0db0a207641fc7c28062f8beeb2e903f124150f7ceb7029210f07372ff8ebe6ba345d28cfe22b3014c91994fcb4b6a40328ca5a301078ed40728da25e6cf4d98391d997ad312ffaf41eb8a7ef0adbe5f36cc291fc4901400af4c193a221de878e4ac696a6679129841b790af35eb539c1b9e3c0e46b76dc9fe64d92cf56bd4fbfdfcd92c040ef4719dbc1c5c83394d20af81373ab8a612b3bf6072feb7da83f71e9cefbe0086d80f7a81dff655081c815557c83673bc4bd84ddacfdf1c4736321f7fd95bc72667e04f0e232781e274dbbfcd94a4071aae39b96bf58aa3d7a7e0088008e26a34ce52432b0be2f2fdc97634db88fb0d6c7aac6ef7849574b4d4dd86cdd5a22dda940acc0e5360b607e25f24586f75ca3095316b92bc2b110712b2b1acb90f09e487f971fb395b0a783fa8eafda8650564de9e3096f76a7c1cd8f7acfe5ed01e1bfb5263f330eac92588ef2f50872bdbbe51b8b81326ea2fa53514b9819e8b3235a3b9b1e5abfce85de05f6ad361e8b65eea87a891b28f4578ea06ae4c3d90a887757a8170c90ccfa794fff49d874387a0af2cf3faa0fe7531d5e13ceeab6c5d99f5c0ba8e495b0d9dd923e7e3f1e7c1cbd4c41fbee56b4122f9d742d0610b8f3ecd084af28b3e098c4f250b33f66d2f155f88732164a92a7ee613652172201c5d9705181f948ccc40a6de6f592794630094b92553bbd331832ebea914e3d8e2f59ba428ba373e7c43e84fd682a81fbf31e11cfcbabb38f6b4c2b5718696c694e85a410ffb88428b0736f8ac64655dedbc201e1d2e327f9f4d39a103dae65640cfada6e89de45c03bc0f28aaa50754274803d1ecf3dfe6cf76e6e8c757d998e63eadec09b9231ece223f8d2a562cacf1f62813cbcfa3bc9f9d368cbc477169074d99a5fbb55eacf1cf0f2b6fede07d3832c616d24abe2d6a035f55c404688fd8429998a11e999ca79edc10045f7c971bd2cab91ce9a18c4b9f77077437ce5d2350a1c9d920296b098aa902b393be3c5e1e8b02b7690ab64f54460dcfbd23848c4071f461a1dbc8a97a93c31d7df812f2fc677052b295b8a487fe03bf522b0a793b1594af6eea7318f3189d8a4095ed2a297b38a582f571361cd283fb8ef72922f466c5639eb86f72180265274d7113378b2065358fdd1dad68c8429cf80890de7c55ca979da6eee872df825c8d2c2273e5ff70a07ced88f035fbc8a2339929dfa87023138774f32f4bc0cc9b46066d3f05f755e304e2f0600102706c4590be280708338c19ffea817f2ab9fbf902a37101895da977696bd6c2a5257f8731b37887334eb56b42e881a8449a48ba35b70f1796675c7e3fad8786662de0b873ffa7302a0c3dc20eaaeda22dd55478d952bafc23b2ef4f96c3814f64041b260d09e3fde0eda71ef5c2d06e8a2b74a992d809638340df59cf14f28d6ddb0a8d73c5c83102b713db6fad10f0268278dc955beba31c57f3798eb9cf43d92d697233ec604d5e897ef449fd0ad259313487a97491e93e3c0c7d7713b1524be5dba054c1399559f0bf99b4ab7b01d4fca73dfe3dbdd55815db8df690b1fb77853ac86ea8ae5b372d394a425e9da9e9df6e74ab77c8bf4bf6cd7ba1671316756875998567174ca0334e471bc6e7ecbd9091033535f76fbcd1eeeed966ea1f470757215b5f771fd4df6822ddb21bc72d3bf6ea9f8079a6e67fffe8ed22d3fffce7ff7bd2c2a1d6d3e28ad9eb0331612c74ed0b1b7e7de1dc9aaa9b3265a1f21ffbc7add16d0840f7098491cb6df09e5a3b525f17873b4a0bf4079cf192a4d6a6d184aab7a8a0091822c43c4b13c64767f841781dfcbfc705513bf5d1c82efd6532e1fb44b7f3a7eead5e18f3b76eaff9d8117ff57d5e4ef779fd6628091d628fdbc5737a75b64746eb5ee2c3bdf7d3abb44b146b3637a37c9bb5abdb9a380a96aae9e4bd0b808843336b751dc6222932bc460636fd6f3e932d378d58e344dbc1f64c91bcb4386f98745036b44998a690a90447b5a32ebbc5b76185f593a83be707b29ce16b60a11c489636a31808e36000aa110a63e133e2236302fcadd542845796c016197db72976330b12806305ac73252d966581936c9e91d97013d5c2fb845f73c3ecab4b93ef1695f67d80502d80fb20cf6c2f290c9fcf1d6ffb2e5cac1d1c10989767044a2614e68041c86b297844b3922e10ef612924894040225e5202381709081ca40a5a59108a40312e1847442d943e14818dc51064eecf9926869044202e188b6979044a1a490520e5228943402ee84907170707094914223900e281909140a0587a21c1da59c64241d612828c25e128e84cb206a3140cfe0a5caa4b7d2c1a965b69a69e2b6f353f79fcf4e649f6b80ec7ff29e766c4d01d03b426348e31575a249e4f01a6cd27de2cee9d2c719174f3cb3ce8debf108328a22802d21cb60532c0f19eb1f8130e45df3a906d55375f40737eea353335bd49e207bd13bc346e3b88a77d14aae76e24719983b8488cccdfb2b977b25262c2d6780bd2b6982d18e4a00abf6c2c0e897f786dd7d619ff4163dd9d5cf4ebb123dfa99898da9160c84dde36bdec38be4788c3c356ea426e3082c47dab0d48ccb5eb3aed26b2471b3025ca6442e6715b81409f2191f8dd5dc6fcde94a5094a71751435445de3ba9eef984c0980159663cf79761d002b7972c3275e4be760eb9cde4e3f1ec57c6d8a53b4a77f061a471ca0f702c42c5750446fee4f6805f2eccab521edd3f911fa0b23dc4a7d83a348d33faabd59d51e392c6979defda6bd55d9fbdb753bb9ed0fd55c9f71491d7292a7bd91949c7542d37b0c6c068365ae37b9cef304913339bf4d18d6d7268d2edf5076fb3ba0fa9ddcff8d1aec63f44bf093f59c77756b071e67a81e4be240be8360f00607b41474481fbef1cff7f7efe44d3d2fe4de16760606034795b69125c7d1a6ffbf4c047d973645b1e3e90ae1149d07f087e766c7fc3fa11a3bfcba39a10b15f5c1ff0218f9b905def7b55b7e92bff6a90d7165b151499ec6ae5141b371be742f10a879e2d09f04f3df84d5b02fe45fef71fc3ef2b6499b77e8687ffcda0b0cdf5f97509f920e8c0906acdd0361d42bf1b5efcdef38d8c08ffa7206617c0fc36fef48dfdf979fc272382ffa41a8cc587ae7ef99f5711a15906c12ee2409e4a8f9799e64766f33b543fa3c511c32162cff73cd65b5b47d1960b8fb4203d51b8d4d8715686693b6bb4fdf387a871cd6e7bcf876c29e342924040cb1bebbff800e5f7756e881d08340b02285ed77eafd26f3b08e40a02b12a7cf3dbb40f5fedbc46245527e901db5bc7fbafc18bb5f90105387a4ed27747c35aeeec7aca2c5c9af6cd2c61228fabc77c7a1c265e93db70e4047a03c4cf7ad635c30e5b9ef660ffb78c90dfa49faf568763d7f7b7490904cadd72754020d0f1edaccebb9e814fd389f22b412489897b97beb37c55bf22a27700cc2e8af8d623bf3d9ddf3740b0f67ecacf03e4b8f6b02d3a4597ea8a702e07a37089bf50fdd1173f3cc06fc06f941f40bff97cfadbe5876fa9b4ff45f918fc3f7dfdfe55bfb8ee17687a1a326b485a5703db9bb5bb6c4a5959fc3f257ffdc2fafc9461ff37cc6ddbeb9fce67c5f95f9401b7bdfeb518205a9777c3f1e3197c2295037d31d4e416d59567232a17433229128e4e6085635300ead1c64e0c9246b40411ee67cfe12274bcff16e12aed85cbef86e3db4f57854afd19b3f667ea1e58bb3cb58bdb827246c652b66087ca1c4d64b8b8734f410f06af52c541f695c50d5536e3dbaa20bbb1f622a8de6e347bb9eefa3e22be3a10552d181886b1853ca8bfcc69d1f582eaa1b73079e7ccc1a37989f40fab2f1b31d9bd5d4a0298474e3a1d7d4ba39ecb1c9ec46daae44d1581ad135aa1a53494557277e7ac9420502c8196293e00e7e4ecb3b4db0e7ab73e3a797c77cd1586347d7bd3ce1bfb6becd2a03cbb695e53478305ce550341c5eacb519ef282ae333d4d64dcf2831f25414e28be6c9fb7a7d5d6a8275d65a3d15d3665cb14857f24a748d3aee0180d85703ba482bf93700621fd8184b3c22f2fdab466e8ec056205cb19765acb3774aed62fbb2d6e2d9a9e7d412cf1639b892144647ff057753c4985b1092d21e78cb2eb36346b581333d3dc62ffa84625c80f2a34e561827b6feab227d72ede50e930a442061bdf03e17f7acec40df5c4f40de6d21c9fe69afc1297dddce9739c0125ab50f8bbf85f3d2ffe0d0e9b7f15b78f5512055224cfdf437076e5054e549db8c70cf1b76c24c91a5cb7a1523fb44a825b505807823f5cf7a1ae0856cb74d277c72aa2384f509325653f1bd2709fd05ea8d02d90c6572e5de3c4d14bd4e0483c6cbe9d31ab2471435706f52319b3a084ef35fc9931fb69cc6fe660ca93b394cf8dd84b02a9c21fafbed03fe297e5df47b93f7eaf08fcd5d527805fc3b3c6d09cc42792f51a029d31028ff010ccb3cbfc454f1276ddb3e9d366b5fb2aa1a6e0905a877dc405ab6cdcc6ca138ff71fcf26a8bc8e030fe4d0636ef67ffe0a8486f6864ba47a72dd91e1f737ce31a6ca57f514a952c07998b51b4e2cd89106f301d414ca3dafd3746d1faf9a963499f4bac0f5775eca495650b86b91da9ae4127c9400ee862c83bbb03c648c7f7028cad38753d5728f500b42d967e6fc4a0e8c7e08f2be1ba98cc210c0a87828caeccb99130be9fe05ae8bda32be676d1341a45d677b32cdfb337fe711446d1b5100c66aad425c1eda9f3b589c3712bdb2a54486eeb2ada805032e10bee5d1714b92ac9c7451e45acc6ed0de3850faa5a961c1f482b2b7dd350a00a9293532385a40141dc65e37d5a3372fbb97b974cfd377f9ce3cc80ff6719c67fff9950d2cc4f9cf93e727fcd12b757bef463de4f35274de0d653890205d25eb99f6774a8bffe78ffe1bad6d7f1e3960802e98e5dd22c7b46e016c6e8320b77bffbbccdbbb940e73cc260545959d48b6ee04f69fcb397771f7a3c686e694bc1d29af6d55e9fb123c4305e9e16cd563cd29a16f087b6e8396f7e00193e848990614fd436eabbe7c5f6acf4baab5332e2e042b9aa3020abb42841f7ffcf1a3ffeaf21e570269f532e9752c98e973882ce960e9ff03655728d0080b3f9bfce8ddde13aa97fb77218462c2bb68e09b392735d0052f823f3eda422cfeb7b22bc74fba2cd0c4a5dfb8e36a9e73ff82d17bbe7706c4e487ff2bbb42040188b4d318d93b3884729bdb7b78a0037ee1f9ff2cbb62e00b770ad53372f4f175f074852343034cade02e8a264a08b893bf935f907700dad4d9cb5e35c8214849eb3f37ffaf7543cfbab1433531eb209b8abddc45f1ec64ad3b897cd4f0f7975d399ee8d02cd5fbd152ec5492bf943d60d713c354cf10aca23edbcacd0e50e6780666b3ee342abb672efd72cf6bf74383abd0cea5c7cf03d7061e8a4237e2ac5e8f11cbb1fb248bbd88694924783a5dc2aa673a64e004391c61baa17537a8ada177032ddd1229f201ad9bf55c5ed376903d7597bb6e8df7ac411768ea860fd351cb144874628ad35bf178c8521596878c09c7d4c78d13cd8dc0a6f4a68e37e2354e4faedaccefbeeb3ff3ea4e1ddab7c83f16dccc54702708aff21a654facda29eacb8b87574bf5eede36dc53d58120a3a756054314a155b5606096f5a0ef12eaf2dc7df7bdcd1515ef55a74f650cad793df55b0393c839e89d260021c2d0d50a1bcb63fb57281fd8493cb6d0f678755e0e7636efed8c8b8d4d4ecae5bf4a01487dd6b6fecba500a8b66705ffb152006841f94ba82b45bba921318173273b64dd692b5f615af689c69c49445d2d19d325a6dd6cb3ff96c82871f4b6457fc3a5f7562924898f9aac5f29ce648bdc3975bb30d00e38aa7e8abbfcf0c39b076b5a38e559224719a2155273474909f1e5c30bfea8bb6fadf626d824b2772676d9251d27d3f09d7aff125057d9e9235ac544165bb449fb60e881b5cb952b28ab97c677220ebc997ac970db193eede1195d9d4911d83794c3f0a6f7962fcb043b316a1103aa2e5c860a24105c086a06ca1cf2f91abbf2431d205d9713aec4a5ccb65b0e3c0694cd1aa81ef4dbd60fb43c314eb8cd57ea454b48226b7bd213787ae7f81017228300995b86bcc5edfe90f30f9c3b743bb5d74baf84af2dea03d465f98311c314e45846733b860089ae5026d5de2607d92e07c26f13e7816de2bcdddf80f34edd0d472ece1dd7dd77d56aec18d7fdcb830d276e3cb6107e3716b9cf3530258eed0e319cdf66ff2d512a29e4f54c47a7a8132a7b53847a5ad7378c9d8b347c33f5606d85dc3aed93238b905335d62f296f4f7db05fc52faede6974b42c10d94531b1f6fa344b438292322d1bc7de27a1a1d4c816aca54d47583237abb8ff412e098fe57bcba4b32c79a95c890e1ed0c0dab22e5e5b3e965a32d473aba5fb5a53856bf3ca35fc302976dba01decc44f889b312797bb0fdeca558a7cc431eabd81e9ac49b9fcf84ccc34499d9bc00abb0217c0a282e01edc8c74af6e78a4366f7d51673affa5bac1f49d2b027b5696d46ffa1dfb33030c8363d47f8063344ac64152737f73522ac99d6b7761abf087e962e7f6a59c8667eeea3a56349871300ea9c3986bb3df2115e09a0177679daa7ccaac3837191aae8f9076ef2f3ba93db19c629bd552f750ee3081bc0ab24c5e81e52163c1d153907dfe51ac797cafe4b1caff8292c7c462c5883dff3df893c87c080402b5dcab7ff76eb4eb5c9c0fd5472bfb85fb67236c5889652d501a6c3c87ecf9b30ab28e0c2271ecc3eebccc53496fa39a7d3bdd47b4f780c13bbe650bf9969e5828ab5d7360329ad9dd6a9325f74a62647c719dc5d7bcc5c1e2276b1a537b60a2fe19ad586e70a4271c79e0d77d61ffd34b1a135bc17f854fdbf7ddc6d2331c21755764b787beffb592c6c4e7f79f5147e6be2869fc6fd58ca1524831191998141c898049219148e437aa197fba471a29252121098521a01292d27f4b3563073db48fa9b4b23b2ac0431ca6aaecaa6960a8e208435b190419ab2aa94a0704db87b808a37d147594428d545dfdf43455758425fc0cf4f415b55021e67a161efe2a0863afa030c710a883254cd311ed66e9a56a61a2ee15a41c2489862a99a315edb5552cd17af6160108736d5f193fe5107d3d6f61295f64b0599085060a6e61a0e3eaa58cf03433f20b32365413770dd0464904091be99a98e9a2a48da0da9ea141cafe7a30b8b1b2be9187a113d42f304027484ddd4f4f57d2543b58c34b334823d43c00e9eee9656a64aaaf211d1ce6aa666c29a9065777567433f2d435b742797921b42491ee41ea2a9efa0e5696febadeee816ae62116481db7300b43077f35b8a956b0b4899652a09bba9497a49a324c55092a61e4e2e06de0eb231316a8ec2f292c0d85796abb210da4d4747da132e6dec8309f6013b8a986b28eb4041ae9e364148234305042a23d0c5c0cffa59af19fd629e84d1ad3abf0d3a3bb4613de93d6da7b5e5b9e5bbbe379f870817cc6651cd7155d20309e84f36e9ff662d3930eba46d33ea81bcdfb0a8937cfafc7241bd82f193eccf8d39746fb1ffbf6d79d85f11d9d592cf3019cc9a7cd14cd749b83ebc48a2f484ed29dcd389037b68b0018249f906b94157ae37aa49c56f1545baf53fe93a6e5f76b364671aee6264d869e041229c83289389687cce84ff33a734caa6479f7ed09f000636b7442c869d90b6b23645ecc1802a4e16ff88822647b863362ddc1d1b5daa72cb739c66d198f8855cca2912ccefb6ee33abfe0a5374ac4c4da93df3a00d94c9f6a9b4a07be31e32a89bfb8747af443cae3cc6f7dc5edd9834b35be976ac90edd925c864ddca8d655b3cdff96fc403ee6ef71658237c821344f38f012682331dabffaefaa90b395537ecb8f207e637d4c67f1236e1df4b17eb85bf52f1524e10a0845062266e807cfd818b226790f0ba51ee464caecdc0c8cee64a96f181838ba37a22792f2c008102a263b34258cb496985f7c58d6adf72134e784dc9969ca9b9e5950fb370f5726be705f80237ec17d91d05676b92561ef78836e80969274dde597a20d4fffcf7df13fdc7d81011e2666ef7457edb13c6ad137da165669acaa418a5c4a60b51062f5853fad1ce2039c3e62f8a36f74c0caafc9172016b414f031b79a2d22ce505fdea37a74a429c980c084052d3345007e090b8ecfdec8c06eb907bda4157a217d7935ae3949e5ed5eeeab7cc1e9532ef13feebea8586612ffcbae01e0180df7ffffddaeb1f33f60d7f07ac2d2b3e6d8feb88a77a7cbb1d74a2acff6bfb549ae5ba99ea79e5a7a5cf4ca87987788799bfdb7341bf053ee10bcbbcb894263c73b4e8e254367ad4baa69310fec51cf6efa32278db7d191b3f279e486094f9d21f3b11dc9d6f59a2b529fe77d3ba85b7692f226674ebd2c5bead1c59cb7e679f85d9ca8aed6966c33717c926e1d5fe31eddeb2df1ae857dec163749d254e4e3b5190633ae7286adab2d547709bcc8b2f1513f6f2f5f49d377e807ca7a5e74da68e2095f32b1e9c92a5c548c2ade9528814c0db8dba7a0d517b150718317e0365d3053347d432379f1fdde466465b65444d0fbaede3d9ccfc99a639a794c87fe8c4220c59a44a42aa7bd646d9f2765103453bab6d8a090ab9c7954290e62f02030b5f7d1e7b29e87779f1eb7034d5d375fe94b751084d8bd26bbec2bb5ca95cf7746c5fd9ef5993d40848a8bfdfdf0fd1566f79058ff9b964d9aa735068e3c7cbf99e87e6a243f8275117f03b254f1d95b2dfeb9a4279d7201b63a36f55be7e1370a8588c7ddb3e8bd52f9aeecb5f5608fbd31902c3cb6f2035f490d0feca2cf3e76fa088da34d078669bfda48e554b475c47e6a39e9c09a024b173960d79df0ca8a75b5eaca00151d9e67e36021ff59532483ccfbf64d18df7de07c383e04b21488e521c391b18ce1c0b10dd1648beea55823cad40b827eb2fb35bc3e5eefd6b239cb0b4c8ecaea94c749e449a9ad527eae936417325c46cbeea38e6286745ee78b71f8ffd8fb127828dbf5ff99b197b59425caae908c193363c9be64dff72c6366ecfbbe378c28ca1ea5d2a3842c1191b144b2a4245124095993a24294f87feaed7ddfd3ef944953e79cffef77ee73f47eeaf13ccf7ddfcf75dff7757dafef755dc27cc15a368e20cf49e43de564ff67c680ce601babe868113ab428299c12349595996b9499b25deae5d2f9a3f6bcf659ec7fd7f69025801d570860673b0244c3f2076b7b68c23df2f893deaf55d69fd04b2cd8bb5b39d7b5ac110fdc83db5b86355582d14a491e4bcde53b79f3b4367d70e031bfb17ffc36e8dab16380ded0963ed172b0f9c24eeea4db4c2bf14f47da6dc59de9e4a566d2faeb64959489e04ac832f8f377e436fca4a36fb62050a1f8d2977b754d7ac49fd5771636e4d1eba824f2a90a77e18960d5129fe35f05b80a15ab114e5ee6b6b8d629a823fc2aafe430c82487d46ed512a16ace101635f5c03db1ebc58a850efe46df3dffd52667f66e0b39affd079b57de65de4879ba73d5ac43687aab9e6c615bd69cb0ab99b54839e7160c5f49fa13bf763b198aadb156b7b2fcc3c235bd4c0f085b9f857ef09352bc0e5c52e3c81f20e5cc4984bcb37ceb47d36157cf0620516f0cb6ed28961aa7582c94d9773debb85b10b21cd2a1b6fe8e6ab2fe8971fed0328963533f5049da7c75cd56cb309d2ddf66bb89eccdecc4534273767d97d5e8d8776d7e0fc841f6453e892acbb87b6cdcb5504e6773517611ebb5f666cc0b9a7106e391250322b802b20c2e8de6a5c27d56b63409148edde9f7822ed4641dbc70ea5a7bb8ff433deb1d2fe2f4543e7db5d66bafabbed3190be367db139ead97f89caa5041af87249af8d519a4e0bc60c9a969194cbb52252bc1a56eeb02b3125b7f46ed9e6de48c2555c08b5ca55c99a127aa8273d69130e096cc13738769b553f171231e7872215fd6c02e5328d7268bd5a3609fa940478d8f6614e3c4ceaefee669b7b44640384e5fe4190f2084093e911c5214ace375eef905279f74d684aa59a6c2d0c9c744ca50c8326560342f5554f19f9f8d35717d6a05e52fa05628fe6a05c60af6eebc6ea17a671cc4c693d17ceff13b57b58f05e6d333e36332d2f72916c7e4d37bcb82572f1f55e81b08f17f473dbe116a85b677b537fb3edc98bcffd619581c7edbf4b5c9b5ff9fa8151b27d0f1ae9f77fd7f8495ff86f6eb2ada187a69987804697ba9eba9e9a8a0315292c1ba8e180d3749271cee80919a9e73a0ae7188ba39da405715e1fa9f433d219b1af1e43203b5fbd95d376df0be3e9dd68c0712abc3ee54bdb2799717f99a1a02256c45c5ddbf2bfbc134f558b7bf21f6eda2d029a4d723a36d6fdb32b9860f31b3898490ac480306f24db594900feea81db685bdf12feafa3034fe486ec260874ccfe59434c9770e1701494586e1ced1c6fc61ff82712a111b05b62db2ae85e593f8c2a597a33707eaa2fe2c10ff67e2922a703ab6fa98dfc5a1fce36c5b5777e8b89cdf1bc95498ff0d65ed5bd81749650d0ca4a15c8fd29b1d9888cebac362744465568d213d1cc2683218e0b1c27cb7ed353fa0605f7216c1fc46b24ec68f498d8d46d1992b1bfb087aafbecdaef234abc1fd0f44ca0ac832e5a743cefb4b96082adac6efa51157fd17a411bf4fe2fefff434e23c1b3104491db2ff1bd388d7055d7c9d2b34f4becd17d92f520b74a36e16318ae0f7c1fcfdea02149c5ae9a8d26796f39d76130779061ed8d0739f3e7d6348bc61226fd4fae26d82854593039969c47f162936286021dcb5765f4f8983df09d9c1374726ca4b6a9f54fea6cc6caebe71e7c2ca345c3fb59fff0c6da35992d73ec631231008fbcbb1d39fd773becc4f2318f0e1069fef46650c959eb9fc36e58090d0fea8c24cf7deea2ad4356ef67c9f56350061eccd4db5a4b093882fb5d0dfa57090d1761534d5b1c05731fe085678b60ef2a7cbc3e44f1494f94cfab774826f6cb4dfca2cb8de78185a1a0e37e2810891c42518235c20533bbe5d8931708772f55dcc31788d549e14456461c93214401a23c606d2b84b8bc64ed4889b1c247a353059e51e3e5ad4f6e479ffa388d45a22cb3dd032cb1dc078fb65c1c3cba14c8178e3a8ad23e76b37e75ac48138b7c1a854760a42d844f37e1c84ab586609aff659f2fa9c6637fafaa1f47d96cf693d6f6d65e4ada7e2c15d9a28d70cbb02899390189733054031036e46ea9ff94c61eee27220cfbb4c989c773b0d12e4adb45715efcccdab1db3607ae2384bfc084017477b745b5d77a64f6edeebcb4cc4c97be886d35f50f9807003b5a672bc7dfc5789ac0f9f713f324b64397eb51dfe44892c525c1d32b93cbfa64416f8c610c8d1311dced4c8d33241c439c5ec3f3f042eefdc59f55b4a64417e23280dde2d9661bece75c2f8c79175b5ce726ce9b9f5df60b7fdb72aa262e61debf62fd531eaf79a4220d6e8f496c7d514efaf3e54596394c34034bcf473c82891b5175819b1af9e5410a9afc95a3813659c1e57dfdda489d6a0a977bf2e3e4cf9a1693f40cfc13526c317fef065528f99ba50e083a4dbd204fdd6e7fe271f500afa0a2adfff2b0a71e5f39ade7ce8d02f8b42b49fc2bf3f7ff290bf5089e17066e3714947fcaef5d3af51994b90e29c92c949fd4551888c49a08b06f66f9623bd8defb30610ae717330722ad32b7f04556f78ccbf200a9165eab4fb7bd70e040fb5fec86d87032a27354b2efd32f30cdcf5f27fca1c957d537415abb7d5c152a25e8004cb64caa507c2609669af577711e2292a715400f429e50e7335ff84e3b374f1cba9563627fc14f9b9b1ba8da59a47460ab2cdcc89605ec832983b9a976a1381458cfdf30fe49a4a3a47e7741fb319cd5d557dabfb0c0fb79aa9d89fc889db5410f6ca180faa2e24d423973fa9d9345ffe85225a7c19ac711904569213f264a0b07d3fac647857244b38d8c5c0eb93ee0346e6c045dedee82d289a514a7bad7ae59d2e75688cfa9ca33305184201a20483219b40603004fccf6af5acdc766da65789657e86f24766a6776fb2e838a5b6116daa110ff4ebe617099e2fbc4c51e5abbb9010794c2eb2093c04832edbddf20c63b8f2910bb0b43dddba7db1dba6443b83d9542cd40f3160baf6fcf8aed32e5183e621f88082eabb90a5dbd1bc54d13cc1042695bc184b67680781c2732a1d93b9df7e7949e44566c76d0c68a081c55fea6633beda3a33cf8c5505b38f59d6ef9b6a8ebf500a262927cd3c488edded82a6c048fad522f7c72036f5454a8e231c075f819cc06ec9c5a9bc78109b3a5d07536dcef61b20cc368670109752ee95463c60cd93ec31dc24bd5b08b4bc23b89111327df54a69e91407ffd0dca132ae37b7ea018fd4678b6172835b3867a84ccd1b2652c44e96c65a2fbe38b77aaf4dfc7cfbee7dd5c54b859bff284ef6fb3388cb36df70b52c364a5b083fd97cc5fd6807534ebfbb456ea72a8ffd430eb4e8110c807947b1d2c76b16fa80a5be3848e8fae87bba9312ef798f5ffde0be7fb8e451fcf1bf3382eef962ce7b3dfff76604c53ae2e070690969b4a43416ea20897194c620a5e0180934168193404920706894832342520281944420a03069a804dc010d9596864a2025902852999815b192d25238a4a3144a028a44c325a018280a85914462a450525024ca018a844ac1e0389c241a8bc14a48a3b158a404460a2de580c4a26038280ad1080670a7b69bd9ed7e9a65ec319c5cb169d87fe45eb347b9653d15044a9ffa5280f62a00391bd7e05fc39416f1ce19337f69870497f55ba85e56a50155191d30774928eeef49ff23f0d6e8df9d861587c139a0a1300c1625258dc239402511389ca4b424c6012de5884449a3a4d1186949b4241609c3383a621150041229818162e18e5809699c030e4beaf93007b434168945e13ecdb024dcd1110ac7482051d23809840406e62881834a3820e150041607c738a01dd112083452d241520a0647a3a4d028682318d80e7c28346d682d4b3c3ef978dce0e6e411d7ec84c1172ba73a631f612f89d106008a2a8ee5e3861976bef9172a4c254f75b4ac31df787d766495569a353babed822f910a0659a6daf757ee5b4d0205b1e97b2050f3bf00047a48e27eca4d206a72502032739891d2f048814014c04640225234eb9f0089f27e334874995c9008d1307ef7ca51ab1de6dc510937fb5fb9443e3c148379a6627319d62bbb65e064923ffbea89f77ed506beece78b7d2620aff3ce2fbcb2ce3a37d03ee396da7d9840fbefaa35f7b9e9687f7fd7a18697e8d1895bff669048f49b32039eff556890fd463c81d43ede41610590f097c2c370e6bd2634bad47b7d483c9fe9b781505fe6bf110fe8f03ef5103decfbae2182918bae0a79b4f8706760e0d41e5d5e6be9640bee79410063962e90784c61fa6d1fc30b3e66a7677e432a9e578cb49f365d3e79e9f6f3adbe44311868596c1f702def0d6dff919ee38dafb8cb73970fad7a77ab2789c778c7d2e663dfbcae8b6cfb7144a7725974f80f1d69670c9e00de479fce15aa4eb975502f433fe3d1508ba72f7fe791bb87bf016a7d2b44e5bbb25170e4a6585c6bc3271de9834aae5ccbb5e9dde6cd348b8f58f6a9abf251ab1a4333def79a5fb97cba4d340a08d899b3f4de2c5bb7a5d012f63039fa817a49180b77a3747076c5c8791f08ef93ea05c8d29b4f0a6afd25c2167dfc67eb11228448a7b82766e838e5b1b9b8183db4566ae7f59aa62e0b5f1dd3d54ef160239f961ac966c676ae2e4004edc8f2f1a2c7be5b03fb55c95c1ae0463050e322472c3d04657ec100bf0f534ae538b64a5fc457d2b17ac0c3a1f681ae121e081fa63af3e459dc09debb6afcfd734cf96f765dce353c28145f2e322ce2ce59324da4bcba4c798593c06ca244d8147de87f41e0be57d1a3c197fb865fd2196730844222bb6e54872d57d90e4439d3d20489f527086dc4bb7cafa43d30518f6770ea00cfa6b8f04dc7173bf650fcffe45dfe0f6ca4bc569bf4b52d7e3e6cff1fbdcb264aca56de0138176f73bd206949239cb68e053c148d91f64369a3b16a7014cc1c6164e06be8a6a122e9fd6ff21ea739716af7266bc64580ec35b7155f1348bb9118bbfeedbf3f70dfd7e74aab1a774d1d87598b5bd19c6cbbc3053dd01d19d463f617543eb617cde73c940b99179f8bb7647e6c7beaa5e7ec7428ce5fb0f981ca6cbea6141d2cd8cc848b24cc270e706572da4cbf74b53c5f708713173ae1d7dfbc137ec7f77ab56dc4db1b219b582901f7379e579568460c67b7b8b84cc90938768e222647385455328e58f95197f1241021a1cb90203c81d94883b02ddf3b5d867f59859d9576ba5980c5f5ddb510faf43b99178fb09ceac39b856e2d214268412070ea95e5f8af0cc76b22a534dbee80acb3f1cf1bdc613446979525dd3772fd1f1bcb495e07eafd249917a47e8181ccebdf6d2c7e8d27cad879a6be2f36553b0de4d248a536f02453f84954d6feddd972ff103ed78b67f77f1c3ef7d126b82073cd78971cb2c6df3ac3d93ec1a87c424b508cb817d0c93e75775c45ebfe624112d5430e8d668d977ef307c6a29f5ef67d9ed22af761e54fee2c45b44964ba506dd3074fb7c4113b031ecff2731eef794e6fb38983c8763de29091fd9cc18bdbc7b4c2eed121a1e1d5bcb15dba5b3f1e7b3d9b7da66ffbe0b1a7f9ae673711a100d51985f7f9564c2fb9d12afcdbf9873b671a28bbef865c98b7a9567149e2dcc44e047b2e83dd98084cc74a09109592f46f95cdfb9152f820f0a175ac512e79bf4a3de58d68f31ecbb2226fc5b3aa90db2322fbfd66fcf81ebfcf5adf9a8ab9b2116b8494b5f82d6dfdd3847fd07e78ecb17267d4ce246b62f8cde2fb9cde85e1c3e03e8297dc3bfd372bfa5700bd59ebde9d38f4d8527ba7c0e6e9f042715078bac7f8c7dbc90531611a05bdded5454b972004a6c0b5e889c33fea8c958c783df194eaa88d48d9e1ad8583695b570d6c6249d73214071c65df3050c5f4716ef998bcff75cf25ea4279ee944c31aa5bd3e9b779e222271f012af191374c1f1baf761912b34f165b9edc33ea1ea6de55720e36ff2090466bc4f90f054e80c0a4728140f12cff7f8102578c7f13f7fc72495694817a1ee274cdbb41458f6aaf33a01eacd3f4edf1545fe68d2870abd3f9dd76ea2177253877290476534c9a1b0899fe5781fbad0a1c8db28bbf360ef7d32ad5df0a9ca5969f8924dc53d2c2423bc4d0d7126eaeaa14e21f1aac136a8ef5b6f4d0d2452b8718204d7dcc9ca5bd9dfe4d0adc719f5956c1a305861584deae2dd9e8652bf11adf7fb702e750e5052c34888f9aeef7593c3f8497a1db56a43911e173feadf2c075cde3fb4cf6efe1a576491164a82f7eb76de2fe423974a093ee569ff8e6fc56fa076222b1363fa2c0b9ce8c8a65722971b58b290d23badd03e0f5ec2ab547733ea85af1da2c2d879502728a12fb556ef66ed53ba0226597143ea2c736d198e271da20e7d1d4f4443e5758b5e7927bf4d6bb0426959c6823daf46f952b8f7d0975351b0bfe7c880a0c1fdd03ed3afd28954fc8ad606e68f73bcf8f0573702116191bb1170287df9f016852d3f2cc23b38295349c979476238f193567cc577a9c4c1c799eb720d9b56debdfe5fbe8bf00c3e0d9961f8e377c847ad43c5955641055b738586c7cd311654231f72bc5e8bff1861b472e49b5463ca0cc506ee6fd80a39a26e6debcc28e99d40e83c47b32552c37ecf27495f7dda5a500747aa60aabe28fc59d96a0109e2f43e69f7d065427453dd8a3df3ca99dba3ff6e29fec2cba3f65467c28fd5bac357cf53fe572d7f23cc1ee5c17c3367df55ee396c3874cde657d68f94e4fa7bdf96454e9767f26ee1649631db5da0cf79c8c4ab166b075b7f4a74be5fbe8e26a1dec43a34e4064e70311ba0165e7a81dd177a666b38db0919b5823e79902d8ac026f48cbc6dbdbe0388990f79065c862342f15f80ba50c328cffa607244e5e6cb74a4a23880889f91738422a48c9d366f23e37e477bbcf7efafd5fa6994c7107ffd4f329aebb5b5512b4fdac20cfc81c3fa926fa4df05c981917b8774b05b1b3fd946179084b52edc7330f373dffde7a3dc382793db5f024266ab8c33967f0112b30d09de2331a1e577e9b8793d8573e02ec3b32fb8acefc45be40cce39dda2f64b63fdc96585f81a9cdb87e3273d4eebe423e116c0559069b45f35241beac58ea877edfacc278046c8ddfa35e2bfb136518d3635b7a66a79ab77944513a2b87a4a97008d9e4fdece4822d94e96cebbe2f5b60b3a30e33e6c1a4269f95549f1af1c0c17881d52e6d979aa9a160779f4bda7972d7eb0e621e9a970ab725ccacd6acc903163ad4feae0b498d35d5d4d099a933a1ccae9bf6e60beca94dcb0c0acc4a4f3e45a43c0859a6b488e6a58a8afd32bb541dfbbfb9b51ca17c89c83ea482071129c6fe0398f6949b41d49464c836994e56526731a9e44190dfb637fdf999486c3d3cbff3f9b255774d7ef3dea4fccdbd093cff6d8401fbcbcb587c25dfa49efefccd938fb550d6d3908b3c4b35f547f942e971ce643a1937f4fe8d1e4e9fbe5f2318505ae43a82fea85bb0bc1c7070db88270787650eff1a30c6ad2d6a80c4422973017904bf7dbf1c47e31ecfb8e3a7a91233336f5df6989bc0e71e3b856758c3731b11195720cb8c4b9f7382087dd95f68533cbf09edc6b1dc0c410ee34144c618642bab1599161398bce5c53066d2c77074237d903ef3faf6e9e31d88ecd15a11dc7656dd3179038f9f5797773ddc9222416a8889e42d31fab1e053cb2f37d24752e8ddd7f0f4855c417d83affea9e52a6eebb4cf1eed7cc5916d4b092ee142dd0713d6ef232da93a522474b0cd534aa6b8b27fe518ffa9f51e8392b915925bb39754cd3f12734847ea2ca122f32853fce975f223f30f02d192898e2a92b917814821dce46de5a43c2c1464827febd474feb1f927f3fd1b46cf20ca683f9c71109a345cf94bfa4f5255044839157ea52af81baabb807f33fa4ae6fa2459537c43eb93d4fc6ce87cf8a1f549c943de758a61524e29f23e0fe5afce7ec5a18c76477b6270be665feaea90d5ffde6312649e8f5fed6f355bf8f8f8f88e27e4aa9d880f00bc75cddcdedc22cfd425e9e126397ff4b84cf8eb57cbadb291f5efe2b7eb0cfa9bc6fe638e1bf55f095bff4423d79483fcdef5f7dbf72f32614a92dde321f37c68dcc8014ceef9f1336e8fd813315fb148bee10efea7f4958b57b7c7b015b15f2ea81a760ff412ccffd51fb5110c50983622d023fb4f2e5cf0f718d3a99bbcc9b650d4e1ae06624e7d1a6563e6b00804155dd0844a675a6f62dd62747e59eca8ba12728f955d4355bc5dcbcad2ea74c39f0937e8bf44e8dcbe93fe2df1fd06f540edf5252b5d0514c248e120c1492ee490aeae90ec0f6447cb8fed3821d5221a56e4b05f7453c9d1511f2f8673d953d2b26acc5cf7170544eb003a794666e3bd12ef839def0a0b9c03ab0ae43e198fe8b5df82d453aef9a0c35e49a417062dd3f303e9829b8dda5fdea0b54da256f0697e70c77168e2b40f73a3a39be4de893b34beb63fce1abeb6bcf94175286429289a978a4019782fc6d2791fe8b078f2cb2e50b4116dfaae5dfbfab79d4dd93dbc747eff8b37aa6aa38be99471028f0e1589417df18d60a0d758a0f642cf7204a14a27da39c2d2686c377fc483cafe84a09683ee45fd794580e6eeabf26e0f86eb0e0a5fb37dd48bdf1456f0c1c186f90e00bbfdce4e036acb55edb3e445b56e0c7ae28ef6064ad09f31e87b81fd7b1ae1098f18752ae3a042b48e05afcdb94a8f2bbbf0430ad90c33cfa51cdd03489b8ab06af28d30a5e92fda75dd9c3293ccc4d1d70b3599446e2fceeedd769bf1af3a2e70c21643a17f771d1732ad871fabe3729a7a5cec19d144e94322e899dfd534a648c19a8421f577ab8766cc7b094c73a42a6fb29279ff7a2d7ac52a214fa98c1a1bcad5ee58e6b95faee0489fc940056fa44c5cb5f15be111444447968bf7365710e5745155ff4918d31d535f46d9674c97da10998119afcd01aef495898642c1cb37c089d75cace4654c25e7046eaef9d75ce56b5b084f556e6f560379db0bbebac59df936f8233b2ac132643ea7e5f9ace026f8daccc7950365f13f90fb51838d574edfdce0ae71aa5e3f477878e58547b4e32d3b1e2f4c56557039da676d025c3a24681017550fbe55ffa0790656219c6512597ceb0d52bab3726c216aa0e2e45ff94e73fe90b9ffdbf94eb792a991fd88cc7b294fc19f76c0bc26232aeec2926b0426d6a880b86507a5e6f0f2474fb2066a4869a5ac64debfae488d799c57903a613bd9afe1b38931365bbb3ebbbfb562e7ae0b0551be3bcbe9e29b052fae7269b525d7f18f8dbce27f2115418bdd1ee576015d7674f479c44aa6fa1cd7a5f18add32c65a47f647f69b5eeca179efb86f0fb51646cbbb9b7f5ebec74b9b51b848b98c7f6b9a22d78b95bc5dadb27b472f2deed8357d8afd223d7b7365d5193c499917070477f0345f8eba69b21b0acbe19ac2d2c8e2b3b818cd28b22fabf4426f9404c803feec16e3ec7a74843313bc84ec96fcca2379538d86212cab02b72947e923a6638810f16588e8d6cf34398800ed0f333fc613a4c7595b001ce7d0e5098e1e1cddd326d7c25fa942ff97f9f1eb55f04f9ba45d3031ad096eaefec2226d38c28d37db494e48f4c5d1f6bcf43c5a57b3c14c1d20a0e8e604b2f3f23ec6ed00079b77f9633fa2bafebc7df6cb2d4f5004bd316db6ea92a5a2a863042665450298f95a7a535da81f5af6f4c3b77eabcc95072df3cee9a2c3bea18b7d2be4ff4768a0a1d8a3c9b74e3a59b5f325cde094ba37df98b24eec3910b73dab12867171828d00bec0a8d1360b3902f1e45acd51f1675ef76d6e9e3b42bfc713288677289dbc4af977b4b1d47f468837062785c44aa37130490749b8a3244e525a1a2e819682494be330588c83231a8e8021900e70ac240206c73a384a48421d61482929045cca012b8d7120f57c49241223898141a5241ce1125034cc0185c23a4a20a4d0280918540ae7e80847493a48611148281a8342c110182c028e844ac225113898949434aa110f7469e5d24fa977df0d988d10700e1f9fa814f0dda14c0311b6546c679ab7b5dc09500df93ea1a9ac99979d7d5039a670c1bad73a31d9891d238612eebe4a43139e56ed0f59f2f9ecb0fa836ba3f9494b75bda8488cbfdcd66332456471494e7ade8c539a89a3381e99db8aff9c1b98afd435bf4e303bb0dce03cc4ae045788eaeeb8735023e455d1ebfe5d45499d5b01b97bbe4f7695f1d48ae71eb6ccbf78191271252afc56cb604b294d66527a05a7ee9f9602c5970f7d7547fae517043b99f3dc1cd3b6b0a0bd85d9d8d75527f77d433a0b2f5c795d1fd691f99183ed46fc53c78336d039c7f54eb6ae0f90b64630b01c9149b57f9b69fac255dbeb2c2ef702ce2e1403c73c326682fc8cdeec9a4ed20078f0e7f55f38ee95123c5c8b7e207b8dee69432c832d8dde811670e2e37d36b6dc44017bd0b2c04140921a73cdf1b968f9f4bcfb8302233d69956a62f5f3d7449b492bcccded26211f3e590ad780fa5b5b4f04edbe1c6d75e1f5ae4d8631fc77cc64bba4a41e1534b2954abfec87517db21488cb020cd55590a58a4fb3cf7ae5b3a11063e90c6d8c5e64f81e65fb7f32b4369c3a74670cbe110fa4ba06b8ded7310eb14ef77a96bc82b92272237c2dbcdef5a5a1f5d5de1edc6e046018fcee3505d3d517c33215484fa9a8cab8d9d202e439ed2b7d75bd2fc31e47151029bb9629ef46833f5b1a0496b5f9f4f82bc18d3e316b0ff4370dcd4f8b4ddcbba9201b8b275262eb11115ff9edf4dcfb38f229733e3c3e1b34734fa9a53d69f8692999eb984ced8c22f790b069399907ceefcaf274324dff2a6dd93a89eed8b72ee8d5eb7ef7bc035747dc314c93f96e097cb0e02549848330d5f718e5925b3d6e485aa9be29fac9fe6fea4bacb36a25f105822d0385484cdff046e63795baffd1bbd7e55b72d951c2dd0ca3226fcfcb5992f37970f76c8a7f72fc593bdb4d5aa20fc249755f51a15650544269302175e67ccfc99ef7cdda47f3c2724ea1f5c6564b6a16e90abfc264e32dcb8ca28a5dd278fba5fdcfef9e9cd92496f655163013ccf95bb6162f149e8e1e7e1f957377bb47140b29f9e579b2e3a8cbd55cd1cd8e1f760f44a5b44e77b9358ddebb9527e52dd28c59d90f23c50d509234687dce738f62e546d8d8c5778a5b53b2ab075d9f99b1706f4e80cc2f68b78d6b96e78bf0f3aaafd95ef47eeeb40a33336b39d57ae682dacd5ddcc9045ed82d891d64294be240af8183f54ea9d1eba7faf74b276f29e9e17acab9366ab99b1e7b41c355d1de15031c6cbee78e7ed332c8cd645a7b2dd4e1a2d4d8a3839d20730b706c2c6ab3c2e95b7f464481a34d22d3a3a5022fd12447b50fd40a2dd5ed79457411a97c104749914cf1742df633993baba676213bcbf80ae4d2ccda7e43edf1a8c53d893cd25aefc282c474a66867d300c409aa8b6fd3ae4c968a253de79aed9acaf0b20d15cc94d4ea9890d95679eac92e226526649932edd3de0f3b436052562330a90613687278d2b7bf13dbb6dd2efcacff8d7d43ec89d267759102637822a5c09527b85c1078acd38378d54b545f6507cadfc98f7273e5de248d48cf2b9c9d0bb22fcfee5b779a42a014720daa396e7d145dfbf72cc05464d9e22d5d872e168f5ffbc857bfef4aeaa5232ce4a9e5a4e246281441e0cffffb59ab835ccfd7ef4e2b0d22f324b3ff5d9e0d588fcabb60ccedaf7008fddabde6017f4753eeef0edd1d4fe2f9d4f68e29fd69dbb6169810bd0e5fa759997f963d0e6ff6497af5dcaa022564eff9504755db69c19726967b009e1e72437e07ddacd1d8feeb8fb31d3b70b9b78fa66dca0b364197a8272df5d8ec6a3d72433b5283aaf185c9dee28aac12eb097ab64b9b9296bc4d4d101f785585f812a8dfbdfcc032b3a3ea64dbfd9b6a576b8023db786dbbe48e9db08d175a92d4d6bab183cfab2dcd4fb446e876ead1c3de3836cd629adde0aceebed32991ceac6b5b5fe2f8fcefd03aefe539a90af0db51b53f950db44a26353ede99ec8cb81e849b6ebe54a074a6e2b1fbaa02e215f454a5c7a3d8283de59aa3c5146c6a95189b1a633d961f7bd8b7171a1dcb26f6340b26cd1102f8a4e35bfa41b343e15432c91f2e4fb65e3b54b8db3dac59d4238067751891a732557cce46f8c0ea0d4698dd1adfee534e25fc47c52e6e25703ba0338bcb34825a2d0b30b43c0135f20e5359de07f33417074cad17e76ba4339a2c469e2f88967cbc297ad5d2c0da2658b459dca6b786ae3dfc6da470c2e89b69efe9483f8f26b7835dcbd1b5b68d6020587f9a42232fb591722221c3622deb7e14c5acf9d9b30552e845911004af262f109452603e7322bec06500ab778df5ad30ccf8a25074d9f342e8956be73df5e40488e000c832f8934d40fdd9746452010890232ee9dff2e4ff48cc267d43d277357430952638b7a97443e4590e0577a75bb2e397ac3856eb296a77d983bcbd25d63fbdb1c45fe991fb96c7a8110cd4dcbf6d8e38c3aa3ad63af0280a7c3ce3f69b9d58839481c77b85d62e3c615c9d04e4580a990f2adfb3f29f349daa6d73de33df1d54f934f282ecee8b21d0dd6dfb0e10c17d906570cfa7138179e4cbcc4f1020d646e9ed7ab8bcde1b6a55007cefa5caa927d2bb0d2cccf14430b6c86590f65f896cee6f8df713a57c81143e2a0cd2ba52941322ccc54ee68e4745a65e4d8a2b462aa10e2389eb4c8d78a09d51aa715af28c096c7b2e71e8e419f445f7e20cb1a333176c1dccbbf07cab8240c88edbd9f15b69ee8b76eb6cb396da7e2af9e2393d08cd8efa24e48b7226fe17ded597978aa3c13bfe00629868be177e43461e99f339367486a787ffc08dce0ea8297a172e86b2aa5e0d39dc78fd61f6753e97b3320f0677f6ee65791144e901d8f11dfa4023de2ea75ad7951d52c33dd81bd2345451379f76f688dfabb8de57827f55eec9902180630102c59666029d7063ba94bf85dfb964f51da782d30c628ff5dd8331f4bdc2e79aadbeb4fdc7beac1d6c71ea43b09fa198b6a62a507b9c937c2e21a8110c785844a0ed1da22509f7f2417cb7c489b5036751cf9c4bad6b053a229425fcfc81ed136c1435ae86597a769989f05d8eb5726287eff6b0df663b7d53e70c83ae5f3d71930c647913229a97caf20bb59641253a5d229183c1bbed7eeb4bb313267593fb6fce974865c531273307bcb60711e99ac377f2389349672021c2b4c31b1141cd527beb1647cde6bca0edf7c2c3e292af8445d9ffff74fd2796582379a61d29ba1c29ba0e9522299d86c40bc6ced6c67c95c4762d81298e69c1d9fb8955bd7bc5c4d49984f3c3a4a03e1a32b7617229275fcdd170d98b843423f56379b81cfd3db5ce81fc34ec61643cfb57cc0fedffa5f9a17c66e82ac613199343c83475b2f998b828b16f138967d0fd777ed68799fe3b3febb6cdff9d9f751bfdffe2f9f9fef90c692a71feb88e4dfc1f72bd110c78fabaca6527db684edc48a92c2f1598bbcea4e6dbcc9ee65a2b368311e864e707dce4d8ab478b35b4b44f8dec574e618d1f3be5bd755bbcacfe0b0de691e329fef57ffb1669fe337c8b386994231225019786e3d048b483b434561a0a4340a5a4915270341aee8091c6c16112300c1a85c4c1715228ac030e0a43c3108e6807340c877124f57c848494231a8984c31c1ca4e112d292289423544a1aeb009380e1705847949403148992823a48601c11189c83b4a414c2c1018afcd4031c02268d6cc403410fdd3e78081de340ddc394d5c4cbbc9b1939722196c57c3cf9a27998b257e6181002d51f1b9d3cbba85b6a3e1cf078e52577c3d38c77c1428ffb436426e125e74afef4f2fde959ecbc942e2793233cf16aff3e7195bde09841c49b6e1a37a36ff8b57a4aae9982e063ba48f3d6c0271cb5ee1f541632bf23ddafabb48bf65b347f663026658558a97b0a4e52a29e3c915af3b449dbebe43e90bcdaef5d5ad48c879bb8020ad91f13d9673cd986646f51f303bca140e5c0550147e1a1b741c3161dd7265eff9d62e3cf2a931b29e9adc57400fc7220dac6671fac776a0b9b7411d6cdee57227aff255afc32bfdadfd60918385e22b6f856bf819e81200ba9bbd4785eef52f24d976d227c7007e9db09ee5745006f6551dee36fd265ed698317e40de71ee6de0bdc77a5b66a9e139aa1d1667dee1511fc18b20cee8de6a552fc536ae2b5d3ebcbd89f71de1f0f70365e05c5a5e5faf7ec39b5230eccdc0ff56c0411c1d870b1f58baefec026f3d5c7e31a3191b46fa1a432e83c745853d4c3a1379e9ddc5477e412f9495d57325da2f474de525f7707d1f8d2f060b08868f06d7bca39f3a062b305164329ce1ef421a7a7e2eaec816058cad1f1e3b7b2ce0c5c84e8e94147bbf62c31e885305fe722fd7145ba768a1f90a9df5e7774d69c7e5626d80cb5e87f50cd595e4161c8db2feb683960f6386987ac9db6f58bd4348136ae67495a73255a685f61e4383fdd91f1bc7c833ff3a7ecfb331589d5ccef2c96d00806c68c8c4708e77cfa96a7ce9c1dab39fc3ed976ed9a46d8fbd9ed19774edb331aae02f67301569a1e8d91bb6f5755f3bf65da35e8f5f25df4e8c36d01c013cd96d9d30b44c807c832e45d342f55d4f968dabe68fa0f0449ab9cf4f38c776ef17e30a1d6caaf6c2d8e62934d800ff9c405dfbeffcc0604224262e44665d77e9bffe4cb6bc8830a400cee2e8e2e4a58b4b7ffdfc1341bd94cbfdacdeca5d3ec6ec89b1c666bbad9f922ea9251eb9978d98d5cff1dbbd1775b509d7c73fc14e8a7a12a30631a77f7d760ad93cdc11797e366aa8bdbe6cc9f1b9abdbb9e91492a0985eaf61de3ca2c33c97582771a1ae2534746f54e714df5de0a3a36790921651fac32f0d51cb0b89c6766b862f137107f81d9eca16a0d89055b73dde051adaf609fcc7c45ddde3d7aefbb8aaeea563b3e06d931acb5d5a1e92800972bda5106f69dd6b8792e79e4a3e2bd1c31f50c8ccbbdadc60ea16f640be4c0d5d7204b57a379a978be883e458646ba89c93dd398b473878ee89d18b8a030d3fb6073d2b3588eacee1e5847b5eadb346e12a249f55d989961b8aa221ffb39398975e9156fc47135419d129d59e6772236efa763b72f3946d0d489fa3af2812f6402821e6fc752adb776d94cbc0e1bd9497df2ba0c6380fe03f136d4f4f3b7979e373110994f80969953807a0d795e5ed34dfcb706f785adc5705cdd7a7f98bf2df6ee23299f1bb8ced417af7f9c6254bbccac5c7d63a921fad66c8c04c45f8640e99a9aae56686c39698a7262de7db0fae15a5fbb05c2770e5f6df6c531db7e9be682de2b4cc41fc3d3be35d493c8b5e7334abfdaa35843199c6acac9b85f286c3a8e3289b623bdc35eaae414df777cf7b4601047b4b238a03e0c9eab970878a8c15a57b2e3c64d498fc7762cc17bcdf72f1b4a34ccb815280352b8d0f71ed94bd1c59c2bbcec63bee2c7e734f378d86cef16a42d580f8bd1effcb3f23e6b0cf75d1ce8f31fd1eda13f1a5bf22d3ee3bab6f2c0c3bb8d6040e866b54a85a45c9f3c48983829c8b06b48f0be7b0eb765e19855764e85ffa3a3c0be86f9d39683f633f02377bb9e5df63cd81bab1766dcc8b95d79bb5395fe892ae7ea12c852e1676e1755cca795194323010211c08da074d0598fee4f6ffa003a0caa5304710957bf0dc157cbe0eed94c80789319adbfe5612aa20e07b72df8e9e638b79eba7c963fd750ecdcc0a71df03de593f0da4630b0ab52f552a2514b69a0bc85c25b05e734beecd618569dcc2d0aea131254caee430076deffa2381384a2853581bd95aaaea3ddcbb9e8da2242e3f1e5b09314d9ed057f551dfb48d86228f84bab8eb52f417bf6185a5274060fcbb95d9b2d3f8b35cd587fbd994b908a90203382e217551d63380abaa83a60f31cf14650bffc64a2d259f0f382fdb545dda0ea0d8ff93fbeead8fdafa2283e2dec47823b56ec6f9ef0d65371d188586b3ada2e18afb020d5efb4e8aeae7ad726b21050667937775893b3c6e1ca6a7bcda20fb5e23b8f43a218d94b6a6bfd5175edf3afff8ae238ff59e6fe8f4771b091e8feaf88e2f08ce477aea9e0f7a6843a0e9d1245f96e5b1978d68d37e5b8963f0e1dbd1b75841410cf4ae6fdebb5e8085d5738d47ecdae9c29c0ad778bdee18a72dda1bc58b87c948dd261d956c5db5cee65589d06a11b8a4e7697ed8fcdc615690da73dd208083caacc071f387efc2e57401328ead69389cdcce212951d02a338dbc924caa29826cfb72b07cd55a6609914785a93509e03a14ded0f42a2b67417649e325362392fccef0b0fdff7bca6fe1a097b225a792fc0fe90ce6cd1ccde51422e836f263555ad8f8e5bc14a86ff81a7e503a9b2d5570a80f5ce03009df9b0ae88215187beb04277a844ad2cfbb8f3d0dbbe6ce158f93d66d5694b29d174a60496e3c9042a7389f4c4a8216d87140575cd471dd9e61ddc545ba25775630d1f37d100a05cc0672f29ef25f8d3424c7960687a7241216304ac1c9836f8ba0501f13a97205f74a75221f50e250d8f24a0c4fd11f19cf926451d6b8c4e9fc8e4023de09525e7d937c066737612c973a28308be0659067f662287f77ee11e8c1320f91ce9c487c4b3364c806edf0b51fabe00185bd334670c9e0856ed6eb99df5af5c8faaf0a6657ae6f9771fc61f945c9cdd5b7b8003468a32f8fa376beb94645a339f94462ff1377bb9f327951aea3bb56b2e4dbfee7bfa3cafb88ae3a4887eb7496f49191640a3eef0d54a77bf7c1354946dd6b23ba7ca234a480fdd858109164623725fc955bf812ccd7eb2f44abf400f94ddece949aa1f03940f17ba8a269ccef43b1de2ef4919908faf8e319779fa55355583165f4bcdbcb93671772dec2e01caac9488b23b64e656f80aef29c8b43878117e97bbcc3dd0ac4be3fc83165779ae463c3004c31a71debbf7247df6f5d5a9774f6bd9cfba2216d4c2adb85c2f5b132eb82b0322eff764f4f754c8d36ab76dde9bc5c171c8e1d4c741879bd8fc498d8ef2f4bb38222511b24c5919cd4ba5f5c528a75028fb5f9035fcf49ad9b08d48bf06bdab15f22c8b2ae2644efba3894baca7e6349567a50298ccd631ccfe296bf8037155212617bd37fde859fbe6b7852ef8033bae93821ec883f2fecf670da7d5c5f9a375d17e6e3ff9fcbfb386ebe1943454742d5d94614865b88ab75168a88eae9f8b1ad63b3850171bec6005874291e803920eca86e646ffbaf17f25df0fab54c5855c4569f73e91f015bee02f5741f87082848fedb7670ddf1670fd16cdfbfb195e0ebca727cdc78b0d0737395458ecc7b30df50f31d49aefa62e7e9d307d68577e59aac1990c3ceb16886883df3e6fe767ab813d37466fde79b583f47ecd546398fb34559ef6654051a3caf02bcf2b7226ad6eb1de65c774a71e10f7bfc3038732823fd01b85c5bcb717b12d7c79acfcced0d6433d12035d162f72196daefb99fc09277ef18910206c26bf194e0c777d98399df8387b93a11e6bcdb9c9f3fced1c61baca5a5706370fc4e69f094e01bc9e496d29d8e4cf656c5b0a16b693ba3cccbbe42ebab5d59e5915bde7f941ef6aa2a0146859100a2c0bd1cfa68b58635963562e1c3f8d4cd6953cbd8c7f18416138d3e27365b022edc77189fa6581677f863ec10f8345a8de80fef8337aa0ec47ab5594d32bedbaa55f2b3c194bdba40b32ebf79f4e5f97bece553ff5bc110c6c2ea1e35631ce9d923d92c87dab5613b4508529dcccf68a373d77ebd6ec5ee96b8000d77e75b30016ae83ccd1adb066fe26aff79015cb1cf804ae5bfc800596e9229126719926c1e973e0d3e6f983e9966db7249f7b083a5fcf1b503fc65972a71e8837c21369042ee905cf6e44a0d3c15197b4a472cdb2d5f65cb8fbc17f34a93ff67b89f4d49aafd2bac63d5959d77f409d56bbae41417d06ca41e67e604f9e4549cadea51e2661306d77e46d14b97143b52dbafa3abde5f60d6f856426b2f9bab0e86f70ced9ffca0d33873e2b6672efd93565fd67bbb5b1f6c1da2f1523d7bf5d9899ccfee37ff386ffd581fc64fe95b537a388dd8c5a22f5354cee8551906a3a99e323572169dcc8f87ea21ae82f0c17d1b53ce4c4147c256246f5e1ac736e9c62d552cc99a6897ffce55f9e51f8bff24d4abebf22c75f91c84dc6b1c5e0d2b8f58f789b491e9bb6f155f837cbf757fdc76d7593d7078beb6c2d9d4bb54f7936fd6475409924e2a32c0e74537458b0cd51373085cb4bef96284cb99ecdaeacf15ca69c4b8bfd8d0fc71b30000ea8178da9376877ad8228bc4bdd77f7a13c912272e0c9098a74134f65517adaea0ac85259342f1505618b7e1b618b51d2bf40a7a283bad773aa7f4c48f27c6c52ce56fae69e7b0ad5de1a4127ac9381cedcf88839107a6389fb90a9f5e3d27788f7c71ef608d95db05bb9bed969827ef4d866f142faf9bf722649fd817cfe7b732671fcb45ff1c791c78bd6a5af032573b11abe699e6f5819c22a7171f77a50a96f3516e6a329ce5fd121655db19279ffba72f8ece15c60119f6cf9eb1121453e1933dcd58cb8221976de2681c68f19569cf42fb8223cce9f8bb813d3792f66acbf83228427ffc8458c5dec9898abecce0967d928ae1a1e7a93904a78c7298eb0ba62119f041d23ab1e039384e4abefa7cbba66355ffbc42b9fa9a5718741e7d832ce86ce54e6c4afd0153f04f53d9fc9b9245d782df80790474f25ed9d6d928b800b2b63f8ab0a015f93eb54e25586cf7dac171f3ebc2370e028a0519d967369e74773e38f06962240656ac2b996830ce2dea3b2f9ec7a14eebada448afbcb149d0438e3ea6799a32befff8e878702fb031e9eafc825a526d7ad3d67047a1b8a5f778c4d2fe20bf8d34eae8f9d49a2fad81eac603aba2bf9189cc3c695559fec7e6593dcf4beeaede6174bddf9a3de01a4ae9377f842be2acdaaeb57724df4e620e2a8e3cbaeb972d618704ef01fc546e8cace833ca5f64607148e0e3729ea9e735eec1c8ea9bc5e3108aadef098491f08bfad762689a64995d73b572e80f8be42cc70ce2e7d8f5ec13acf7053571d59c74343c35776b1b0ffe7bb48e27e86cbccb2c4c3177f2fc205625dce25a88c7ab5db15469ee3765b133aa16ba8adfbd39b8ef25e6061adb440539d8788b81ec0c225cbf554efd139df4ba653c59aa768aed79fe4b7061cf2f74a8d58d9b34554c31e755fdf5167b6182ea85710f14444460a6fcd74f3e59f51eba06893c8f42203c3584fcddb974aa983b58438432c87722c79e2280eb92f2459337d8e5a7fb2a5b3967d2a6aef54a6b4d0c125cd9846cef4b5989cf6c4b2db9a5e6147845680d023759a9bb68ca954ddecbddefa068b670ab19571d258abb9a9d7c0dc323ef790b8691b6479134b342f95e9e7b8d04f3f748c62e95ba04fab16fcb3173b5d54ce07e4f44c1ef0d2bb8c27d2e5aa4b008f98249c8fd7409c0fbde3739c7c7b6b6b275d56ca5ef56a3af4d5240b9729a62d49647a6abf9692c51de85c91a827cb143932d9ca19c7dbf6beb4f81e1ce5db1d915931bf3b8e4c2397c935c0c31be72b8e0bc638a33d9d701b1503118960891f6ce4a376a494b8a7af1b9ff65f6f7b9de344cb4190549c132eb75ddbc8755246c2b73c0eeb6e782d0d8749f47f98bcf153ff53c5847fe118e87d3b0e0e6adacda592a9a8539067685190783e25a9f79399d11c324ca6a104fa9ddf8fb4fe4bca7341f2ba3d996b0044a66765a386aaa02e3a10e7eb82713383927efb7af21f74e215feb8683e8a4c43fbabef2379b9a7ee39f8f196db31478393644ead8c50797ec5e6d961daaf6d0a0f9834db5574e4f452d2d87c4af71932e7e7777b96c88d36d990277e23eb83b23de582ca9daaafeab495809b182c62b746523905949aa5d84c09dc5a19ffbd402c88dcfd83dcf9dd50fe885f91315ce8869b8b10267ce18543f39e94abdb5d071dd7b2ffe73d5d8ec55a1187276eeb5c5b4884b0a5d0aee3d54a78b6d4292b41706614d8314b5f5b538a5a6c6793bdefd2f0aa9ab087b18b720ad0ca897aa29bb25c7146a54a60ee945ccebcc299d8a8f997f2607b7bdebbb94e45440812b20c817dce2328fb853f524200174dff70eccc7cc3fcfb9589dab4e9e9ab2d2f5fcae7450932d8fe3a78f3bfb133bf63576b04030d3c7d3833585c888c8fd82eaac62274bb8a785c7edcd18b8ecb0b1903742d47805d8cd717fb8e5356c7768e76f55c0fbdd292448d54bfb40b6ef5d82ffa807ca0d85fb92668e508e0b5670408588900ee2e499718cc72d25c650aeebaded4c86dfe5eb85244640c9f1b603bf895532b36d6bbf41a5dddc373aab73d75b4942dbce4a87a1bf1c0d1ead5a73eecfc17072f195a5124cf36b5796df74c0a786bc221beff6083cb8c06e0c4192e22228bc9855371de6d5275656b81b55fcdb4ba90f8e8de40ede915b1ddd5ef204bf39f7ad534460067ed26804f171220537bbf381444075e3748869c4450cc089f691d8afb12a6587dc871f83100da8907ed6c04714378403bc19ffebff99b29153e5de301edfc237675f337235677d27ffe2d0024cf03daacab2878382ae0f0a61ca6a6dd5dee3a326db86e3b900c18c4fe670ce5a686738d7860fead5cb2d35df0fd848e5297e24eea418ec35e1ff53d882f1f95c437c716b365039b0fdcbc05088c375c411f91b35bcdd2d93c39678e340adc1a591eae993be22f5d5d0e592a8de6a5027f4efc41737938ba6cea4793517adce9542fb89a7eeb70d764555484a8e1d945d5756b9ad356680d36e28195ab979d69430e5b0c76577778854aeae404aa3a6d4f315dc5e7b28fa9ea145d061ce59f95b6c973bfb10b0f5fe046d35f8dcc32a67d60e51638c6c86fea7ebaf1f037fafce477f55936ebf627b1bf8f775ebc7ce9188fdd6ae669f64a243f517b2efb8a78d89bdef9a8d8ccba891500ceec3ab263e4186e6646d9f1cc3310f40d6699ebfd79d61b679e64b72ac79bddf933ed2a017cca2a5a98395a9839065ca4004abfe71a7b9882620e847d9afc9c5f73d363dd0be1399098cd3460ca46302064110276cdf3db1577ec3aff78ea2d3ecd0b8fe112b43276a67ed7a66bb645d200d22b9c8234f68a65ab88ec0bf50ad19e5a75b28fbca66d3353323f3e9701df9efb3b0a16f92524f3df1d050bc540b18e08241c252d8195c4a01ca5247150090c5a0a03434ae170680c520221094721a5a41ce08e52124829b803421a258181c31d3118241c4deaf99238380a2581c2e0d01292582c4c1ae600c362e128a4230ae1e0e08041c0702869072c42028bc522a1580c06e68890c44861a128b424521a894035e2816b95452dd7f576419d52ecde3ea457e8265ee579fb40ff16abf0f9b1262bbc552e00de51234c731115cc6330dcd391282de963d4755f2bdcaab6f75c987b33ef4821116c0959069b46f352517d61ab514a3e4dff561edbb8adf1a878954650f5d8a1b7ae95eb8eec45e0f4464e179782176fd83d8f5dda9fc2cbca461d0c5ec9635c57e7bd93ddb86523a71329e7e5b742351ac1c0bbb36f2ee6d1ef8c7c6176e2d86b4e8387376f45743827dcefa8cb6f8bd9aa901b04c8db2ceb8d9e3865dee86b594baf99590739aa7d5b6d8b2b6749ad53826e73f20c11920559866444f3523144d33e8cde9c43a091e54dff563591380af95d93ab1f3a891081730dcc2b2406e745e6d1f9d57514becf4117aea0c5d9187cc34f39a9537271ecc57a375bdc31ec5bf7fad58c73245ecff39b8150d06ff6fcb292a9aeb06e74cebfa114374e264b8a11b0c8aeeb2d72f39a03ef6dec96e67aefc1654f0f4d4730488e69017b2b8de93bb2c697ec8f4638845238309fbcb06c081719e77c193b7ac329d9e90e916719b4ccb300a85405e2ac611f31be7d92714dcd1d42e7a41ed0ca4e3dd8bab0e770dc2dd733e33fce9b6a58e6c9abae842c9547f352c163a81383f031b4733da9ff829854046dbb7d59e6c77419c35959d37aae91d20f53362f4d05f7d0ac6c2bdb1dbb080382d8905ebdb38857db43038237a9facdd72e0edfdddc94547c5ba541eeaaf99b73441acf651a37facfb4292abed3e9df4a6e8627d250c6cfc13efce3cb59061f9e81b5c9a9fac92af117785eec345f9c32214faf26c543a5fc3aac3a549d72eba05e867ec6a3a1164f5ffece23770f93a777934294c178f2ec8aaf17774fb93bdce9b67a46a4ad50e3f930ef3d8b0c1fbf4b8b102d3872532caeb5e1bb8f660e153cff52f60079d636c95cceffe10d426e7d54804cbb72dde7e3ba4a39c89cffaf365a93bbdba718ce889a22c1ea0a3bbc1d1c206525e77ef67024295f3f8746fecfa6f7e901f0eff41df26df88d620a040249925ced3fd4feb17f60d66b597fd7c5668eb44de6092485362f86f1197b05f862707c327cbe680787103e313e250faf004f7f4d4f5363553e193e284c5c122985444848a024511252d230a9bf7e453fc0ffafdf814aa3500824140e9340a0a0529f7ec708e788f3f545bbf3c9f0f189f1a9bba39dfcf864a0627c9a9efe38275f17ff104d4f472f3e99303e6d5c88e6e7a7f089f119bb3879a2fd037c3ff5c72c58cdc5c344473dc001a3ade5a1e7adea621a6aa68e32f3d042a8bb1a04e9b8b97b6195d5a46156fec16e123e4a7017b493a6ba8a85ab8e120287f4520b12f5f07384ba881ef0d7313276d63290f0750956d2303337d336f7f5d231f18439fbb9a9ab282bbbbb7b05fbab07681938edf3f64007a3d06efafa8186266a563ea17efa6a012a06c6012e0eaecaa27e1863942156db38d8cf0a69e8ace50df7f7f7823bf99a613c8230484b1555553d337d4d58b09b949fbe849776a06b486010cc572fd4cd0f65a9a52c112485d1f30df630547396c09a9b6350fb0c3d9d5c02d4b47c2560ca967025372d630f2b09e9602f180ce32a1d2011aaa6afe4838239a2255156fe4ed2a6267a6ea1a688034eee21fe5a1ea15e6a41863e412e1e9a181729071d1fdc3e0749694f7d6f3d5f15f55084957180e701251d1d57b72023af406725edd000185a5fc907815636955073dabf9f2f22e26bcf305b13fb4513dec4409780027efffa9d319a8829cee176c38a260f2ee4de0727bd806d3967f7d16c3e63411d98c92a93f50e1aed9462401887580f3a5c7798893a524104c321cb6089685eaabd9f0fdd4f3f141cf9e9df50d599f1d5cd92d7405fd56f8fd00470f7233cb44c9f6cc59e027fac3d595efabdc87d16f9b7921d6fbb9f9110eb5872f1303098b4d296dfa7d0b9d89b775cf6990133857d758fb1a773a85cdec0fdf9940f596f8b08fb00d45d1a81a3f6d427aeda1e3a3b8ee09d7548e4ac67481d3b32b24fb3e39522df85eae34b09d194ab9fa70b72ec58fa6cfa0dd18bb5a20b9e1c350d179df1070e4d7b46e37307d5bdb1dfc634d44e6c67051fd0faf2155d84676f9e92acaf677fde60c8cc097b2e75b0d27bf371e499c3cc2d53b76fc909021c3365b7a74e8489151f13a4dd9f2a864f6ced655638dd1a65a3aa5ea67785218b4865b84ca5478033ae7de6ecb0b6597d87b34339b651ce4ebc3cd6e3dce38b9d14c22a2b638f76d815f8caaeff09376537928afe24333a9484594231ff8f7ffb2e6707045204797e7374d51b1ef35fbb79ee952069ec1b0be190a613d7c491778d5b0f58efb3dbf60336c98648e4bfdb37f113a72d841cdfe50f6883fc7ffc9797ead35fee3107094d3cede5e8a7354b52b0e3cc8c775afb3eeb61b2ecb47155d1f7ab014f26c42b70c8912251cb92e7fbdd188afe2d192231bf3ce4ad99afdb4f90ccffa3daa73d75f67cdaab97b7ebe8e8963c7d78b34bb6f5979b856652fa13824c10bca1f397ac01c823d18ad4d23116ef90e7b23d090da89d8f84bc7b37c9ab371d513f0055b2abfc9307c904fa153cc8afa0a29fe14192aa8b4866ddc45fc383a47dd60ef2f2e63ce11d0a492e4e48aef0c94e1c2f6746d012feffe24152c00f1885257c37e5a484e344d5ace158ca77e137aa1ef91314e2eb6d099b030a63257ee30ae8afcd5ff87eca4caa07fcada6248b3b92cf8364a29f3e23ed36d9eddb3244cde1d6cd6207ba7ee2e7d7b43890c8b0e9227f79e1c2e6c754ecb56815ef7d725ea833be65b796a67442bbb9ecb08083db6686a7ccbbd01527c2d4bdeeca3a70dc56bac789662282e7cc2b9df9b0217f6512b9f0df4c22f7ca77908740fd109fbfd46c77495be708f521bdee62b1e8959752492593d2ce32d7e43544fb093df67ea478b1ac64debfae481d7f85c96053b08dc73b6d2ed2422c2edd26d49e85c50eb4ee6e9abb946cd718e6f6f863ffd94845ff57ef82c7db878c463b7a4ec753d8525e3b0ab13c4a5b4339c2054d976138bcc35d4381894691f186fc7ce394825ac392d838dbe28da7252bbdc7ec0791a91f86ca182b792469e3105eeab69a078c5bc63d91e5018a36275de78a7fa01eecdb84c8dc5781abf7eb126b35dc02695783d2c525cffad20c487a2488322d9e180738df121147a3e2189565a5eea76d0a95e4ae2be0f5143f38c33d38eb51498b2a2182e797c1af2909ccb71d08943b9fa4834094e730b30cf64563e706135ebcb7728ee6e38b6dcf08d00fed2682630c93cd105f013bd9c58c6fba93587a59d9a23eee9bba61f1223e8fc4b45e210bb8da316345e6fb41e4793d40ac64be938fc4c2a7605024fdd945c7241c5c2d4f89cea49c6b796ed0d745d0ea7acf7aec0d95ffe99af3f73298ee00f2784f3e9718bdcc0ef62a4bfd406dcf236c3c2ac5aa679f4309fc77f69b6bdcae3e09593a11cd4b45f317031b1caa94ae13dcd63dcf7f8fa6f589a07231885ee3c81cc23cd6ea2d73a8222857b12bf3e63f76837b62ad75731c5a60749b9f8e862f0a9d3a1191d10806def50f36c8e0efde7ffcf6288721c38c7aa8d71995191f938a943d855b8e33ebaa039c78964aeba75a36f7f75c384819c4c67af9a4a0a95caf68b3c3d548494fcb176d4488146419028de6a5dafe0707485991009e25fe3007e80cb746e04d93a6eb99c106a09bea1fac15db6564c83c2effcb01fa85d6cb7730176d8f2753b726f9ccfb62370b624e983ba577ef681862607ce0c5690c7d3281f304761b5d32b9ffaaf8e9a4c22d8cf9a89245d7e38f6209e1266e016f6f5bdd29663326422e2f438a38088c78250285786cba537c6e831e2ffd9bed4ec6c3260fafdde46a7b1f8b274254adc6c04fd63ff96cef93694d93c9442479b28e6988aabcfdcebd16e22eb6657cd235a7bf6f2d34da9ebb5917f09b65eaabebfaef820e4cf2cff55d412f6fd66ea162f7157ac9f01b2d4a554d45edf08d8c5fb1f8f0439f831afd67ebbdc7d50cc51453f6e74c90b220636d5fbfb0b9fb2e6313ff9e28bc534f8fcfb64d9d72b40f411fab57aab35654bc001a75f3b8d4c151f9fd694f5fe4761385302f1ac53e26ebf7d4b666147ed8993c5a9d0a594afa4c5adb1fbda418bd7c6e0394b5ed15476b912a9a56fb22fb46931252aec032b88d1af1401eecdebd56aba3b1481515f3e05513684628d369d1ed8f295c66f2a50ccec1da01e33e8b9a9d7119c53c8fe240eca22bdc5358c2ee73c2962121c0a95225f5c0f93f138b507f269958fc0b826045e20b52628339c21b5c8c78c04b90f8476c55ca5c23af1e76f28db448f9ed4e070cf79ec4d34a3aba4c1e4aafb07557bdbe779a69f1ffb1f71f504daddbfa389c42e85da448ef457a07918e8002d2bb221d1129d29112129a4a1302028a2ca91690a6982862101069022a0808828014e94d88b46fe8d1b3b7fba2d18dfbf79d7bff678d11c790372b6baeb7cef2cc67ca1c7897189b47c19cc17972eaabc847bf72a158a6fcc322175d6626bbee70ce2edbf85c148a69a6b883e723c5bab6cadb1e4053fc02da911120b9fb1cde635ff204d602209a5a9ea67bb9d9beac9fca75ef27b8fb4ed88909f95564822fe4b2ff742fc3815c49535e1dce40e04eb96d495c7221aed99a2de850baadc3deb85bdecfd3cb7d015fdbb4695db28b466ab159b79df26c9e593b8f6ee02656735f35c95bdc164641d0be90356f04272c72fb5f32238c8951f0277e92cea7ade8f4e6700e131fd7529c33abd7620f5f768cd2c93b04c7828153475fd08b6ad3b0d59ca7c87493dff8b8d635a2a715b71820dc3eab90dcdbc504f006d298d500c908cb10d6dee96a23ad396e5c70eded4745f9dd5abef11b71f5189297201c4907b07723f9f4c14d23b3cd5497366f5e9d6eb7b5d30a9d7e7baeeaf6276f073ea647fc3cf6a11647128901afe2c0cb48692af0672b8f28a16d47cf4d0c0c74f1420f08038e8211a3d8f0f4f1373983a77031a61c36fbea62b4e24887a9b0646498ed667c2a1fbebce45de62d7fa3616c5885659f8f3b6f43cb834887c7e80fbaa294f1d1607f4320f87d26d35e075081b96fd5d83bd611edcb09535c8387cab9895f1f6703a177ea935f91e393d21bc2fc92c3c9fb03bff6e694442f2c812fa0ccf12296caba7b9ded2c8132a0d000c0029c2bf744045f22439d77dd722f0e18a48be5565c384b25e67c3b3d4d9b5aed9b3cc7425b9d78291d39ff07c7865f4d1c22da6fa693838c85b8cecd6f54a97fce73e4d11bca2daf685e3fafcbb2087d7041a57796e1f823ef8f954d07bc1f6d4dd3ca02aca5e7fdc9af936ccc24c4881fad4eb87a5b12fdf18087dedda997caaf5f9fc2d261c072101cf8339ebdb7f0931e1b6515e847f0b93cafaccb07682bbdae6c2d3a9c2342b6e6fee18685f37074fd41daebdf9837c19085a2aef5f018fadb5c46b96abced0753c416bf3b46732832c1eca3f7faae7fe87b6c789ce2b44417e7de985cbb3ecc88ff7e72c597afbc96fa7a7c2a06be3fc819cda0cefaef03576716ae3aaf58aee0c10decc3c20174b5155d8c0ae3d28651a465dd2ba6a6110b84c13eb57da765ca458f8c25dc6f004ef2859e282f2ed8de73370881789b698525721778d3d007ae20a4435e72b79eff379e9bd2ee4b1ec07524f80113ea28c9fd8af9b7c78588ce7345bc3509705eb1419e80e7634144dfe4de9dbd50c24b5a3cd47a0d6221feeea2e358dc59cc112c1c2083089f2ceca52639edeece61d9407d2411cb7a392a51302c6aea2afcde3dab6a80bf514660f068be6154b6bb67ef75dd6b0aeb059ca192467253c58ac3be116b0f3050091c541409668620a93472910c3c84a8b61c8c819e59c2db57c75dd8b4ed2197bb1256f6c03190fa14a5acc6dd855cf0850cf00130764d9447f02b0a9ad0c8c27404bb216dfbfb32469b8d90bc768a69ae3fb7e34b67d909daf92bf2fd35422123b121f083f6434c0a1d863ffa71d84adb81ddb4e323f6746e3f56f3ffcff69f0d93885e77826f2f5d0d512f60d9281916489a7d4f28ce783e7d0fb17cfb9e70455501c068f11494b1539695e96106ad0c9c31787debe1e51289a1332be7910a4b77a8133e6db9c49fd630e22c396a74a6227094f5695659c0b579dde5bcb92250f5442c3f9d0f5d6cde21f8a7c705af58bac053eed77f78779f33fb716ffc64a004ef23bfb318f691213da0e7d538e0778cb3d3e0e40cc42e327d9b00d79022e91c65e9ceccd4b17e4bece6424475297a01b2368be084097cadb3312e89821670540a133c3a30bb5a734ff4e29535ae19e905383a6ac32b084f9af5b16f30364e6937e52a64af3e0c216f1c6ad256314c858cff8fbd181fcfe95fdbb160e0e5fcd889f1992df7aa7324efaf77198d38a565dd082460c96f0ce1592e34e29b0448e7b79ef9b04b345d93ff609ffaf88a15078e8784f06c26441a671abbac1a74f36b7d24872f8a59b73aaaff50ede4019fed1412608dc83dd3c83cbbced26c87b485e3022c18e23e3bda832691830107360a3b3c5285bf1b2cf95aa2000c74e1285f110bd0e4df0d5524c8a81fdc561c045fa75af1f02c7c27f5eca274ed1980634fc243fe3b89ce6d3c9d404f8674fdb698f2615bc41dcc8dd733af5f0e77bdc508a9837042ca8033c54ad6b9556bab18f3e7b1125ce44f83c53f7820df245b4d55ccc9debd21f1e1e7d5ba3a9ce0dca7990645525db04198dbedac9a1a99d1f23d3e6ffef9706fe181c3f724e989e52b5a19b100815c921f8f8862513267ad5f5ac97047d45300567760c9c50aad6a64e098716ac7513acf16ddc914f311e4a6d8b3a77a8e769730c4a1101c7110821316f8f934f8f4a130b5d991c4203682a3457efdf43e0c31c12171a007158b583212b43a2699bbf590a2cf34697f537c10475c45749af5ed29927eadb3bb8bc57deb8c39aa5e4dd794db9ed7c70e61b8c7c2357daf2dd2e7477713127fd0dba577e2ff1497010d0d0dade96c8569605512fa78afe0aa623a0cf12bedf8ae5f22448b603e2773b3417a77de447cef0fd3a1bda954fae7bf8c8407671b06ba8901b99a2f3dcd7557e92c1e92fc8ac710df3be2fbfd9d96d46efa8890f8c3915d3a8477ebc1c31761fe21070d341604348ddbfe1b410dfb7efd73a815087ce5db6fb37e1f2b02f60481ae8100a277d8e7df7f7a1808b44f556d2785b06384a2ecc76a2558fda9f8ac63edbbc833b7e41345c5bc8ae7ac46ea3e0a1b08825944e477fac91d97171e016ffc5040728e9f2d8ce23e4a448306f1f1023b35feeaba073f5c88d95189fec1cb803341a0937fafb7210f043b64e333baea3ef536f8f24729fae04aa2769928f9653ba73db9b04de5473bfda41107d8e47ce1a567f14f7985bdebe98cfb263c868594774ce5cf2fe8af1efcf3cdf812fef16d02f8081576eaf05dd2ccff9397e865f1efe6be61c1804ce0ebc8f30f30aed94f8e54ac4c1cdc9f44656670d091c69a28f31a99605a3f0004330650db66393ecd1275fe78d02abde70e5fb6ee9166a84e379b4065def293120c911c0447f4d9b7b065f62f1b598b0049603583aaa002c396ac628cf36acc2f4aae562ea9519fee876308eb8f3a35e3a3eadd135dd2941cc91be7ee74b7933e46af4763b1fcce159607364246b7cf3ca451e720df65a7e03149090970846060304ef8c9956616d229f1991304dc9be7a9743ca077d9dc65d55f153354123ace93e360fd6b3ec0a3f82a5d2d44b921ea954591a1ceace36b6ce71cb9087f3bc1bb2223453bee77805981fb59e9e50367e5d241ba1d36d2de39c15ea7d8c32ba28ecd5f157e0b8994807fbe80dcd975128130161eb249a325f3ed9ca6e8f338fe7a8bf280e3fd1f2e1e7fd3e30fff72e1c00b704072127a599c3a699d99d7ee45914945f1c32b07137a4e9c5310efa7f44ee2047d047c6ef3eb1e3ad89095c09eb67c6641f2ca9494a766c293c9c6fb53118c7d8f7bec00391b8ce67bd6d5ab3a3aa1d8d70559b0eb53d71ebc617336ad6af52e19e528cc066c67ee99a621a56474ed933b7a1ddd782fd395f544355fd38f6927304fc08546034a6083940a4eb7d21921dc82ca5b1ccfc6ad7169d9ab07cda499faba11e49a478150dd1e40b8acc138887a728395ee607bf3a9d067d81ee3e7d4436d54770edf5103ac3456466386af4d60f6bddbbc01ea5f9e45060f8e8c65088863c414e9709739014395088af745a173c3ac9a6b0486f471557b5752541a867393890eb69fd3dfab065cba1ab951d8356679bf7d925ffba06fef91fc409db407ee1e1902ace181fd0fa400ea9e1726653476b88dbee140c31382f74d5f72a606bccce737a02b4e879f2103033e56b433770f051b699f52c3d8a93c0d91b7ed3e669abeb837703fc36dcc7ecac7c08c5034ebc5442bd190d9a2acf2d5a09032ea30e5fbae1f6ac8cfaed04d3d7e2a05600f6db2fa21abce2dabf02004faee044e57914246e972d9f647216b5e78a4580119ada325e9e705a2e2523a5e2bb23e3fc37b7130f6e0edcc5acb2a9f29ae301125a0fb268fba887f231f497751f0f30d4923ce219653f48be7178a0a0b262214450ce138e8190e0cd4138283ba839174c99b989f0974aafe45d922d8c92540fc4d31f64f7fa7fe7b20a09df5bb6f20d2c4df5b771ce06fbf06a656dd818409fcb5f9f32d38881d0e7c6cc74d662d0a40dfdab4957209f553cddfa031b9ad90ab23f57af46878f9951adbae454b655dd56f8e2b590fe6733789901d71a7aeae317492c70a061d6cc1e794a2c7f385b2fde86fcca3d842ab0e0d15ce618b95e7c65bf4ca7bd4069e45ee32b8fbf7f986a109e1f94fbe1d8b6577835eba0c5deec178aab7280f76d10b3986556b9ba89dba662d0a18d21431b0c4442cc28e130fa6c2e4d3380052ac07f2ba84c4dc41cabd6708e3f176ce6ebb1704469fc027feafb4e3eb9e1d4ececa029bab8fcbd9194eac245a8d906de8acc81bc9af6cdea479f5415f9a41e92406e0dd03eea24c3beaadd453602e23583d967be064be6a9b752b6f1f2efb1df5481406ea8f839e51fc7c66128e37ec6cb07f764ac14118288159d3959ebf6f0c6499b8d46de67eb7994ff152368f30211e97bafcefbc9fda9499a8a7844fbbdfa33be4a11ed4e258c9f03704083e647d9297851c7846efe848bd115f4a8c88ec72daad3264f1e0deadd6593d9fe7f31eb860e2f19ad8abb88ceb18dc49dc9ee61541b1a18c5d1a5bf0dfa9b82d3a629ebd6519b8fa22c4cd3b37eef67e5b118cf677bffc659ae0b948ff615d13eae6e5bd9bfbf13a6c10ea224050fb69eadcdb6f81de257ee9845e8f81734f5d82eb591d47cfbc7e407d31f8e30260d9c85a73f8a5b511ad5e53574c12b96fc0ea24dde41deb8384270ee696a67ad7a04bd66e4526fc0bce459d8b3a23452812b7e78029e445b6c3a35c45668f04e28c9facbb894fedff246e74c14839e3026a8c294597b9428480a368a97e287a2f0159c64ccf1936cfa7aa00c5cc438f57f742794adf469579a28488b78a2ee6d856b23f995418aa0c511911fc8aced042822fc521c1191348586c198a9130eb2073fba5fcab9a640b2f8ee48243341d65e1f972e9442bf8546b2c1ca0e459d93067ce3e9dab23e14d9d4075567166c5284bc5f1fd7d50ba5c48463d09602eb85f824032e452d54298eba96656f2bbede7a89e2b99b06075a8f4964af5d830d0641c3401c189428263ea906c5170540a616fcfea42056d3ea33cff738a11a1a55c252b3806cad39c7d25fb57dc5cbf1fc48437a544b38dac98fe7bcf26212fdefc6ba162038f574c4504d7d6fbb203a7dbd51a9a9286de94eec28533da7c2aeecd8fbf13e0b3cb3ec0537be458ed2edd501c55ac43abbeee3a544703cbb2e06cd2327c53b8b89a834314d70bb99e5158657c63b09db72a338e2c3e99cad9abe0972b303e4d2a9c6af1e7f67886b9ab4b8b4d6d6e55069764692c3c9c8be8f1c1023828a25d352780a77baad145edcdfbc59fe5b49ea91605b3d902c42b7b30cd62303cf7abddc9c42627e45aca83cc4a47c64a5734eeb58c3969778abf3aae526c605dfe9456a4e2b2b35d77aba691d0f9c3b5d5d33c1e9075da134f18ee9967541004cf6e63987715df12054e9da8bbf9d27fcb53f444d5149f5684665c2ddf79bfb6bb57dc97487bf9c143584070319d84cf49b3b7c337b3a74897e1a8c955f93af1c301a32ea8b340c4b4b6ecd780932ca2b902d1ba0f099e6745359d2394b62d6d32c6753cde50967b545db5fa361a8e8eea1a23bf6eb395d57123c92288e341e829dd16913b6a6d06116a762616ca342a3833e3f1a774e143f7c6078afcc0d70636343585b7f4a273a4d988de338f639c6fa16b835fe37925163cf32d1c0b071807b80e121ae7640c739038a94bf9f2d22c0934debc573f7e88f5085b2ce1d407c0c6f075f6a29f74fe9c3d812d79d4688f32390baf6bcee87b896e13ffbdba941fff8d5b23f5fe825f22bac681b2afcbb3a8562a60864fbff028bf2df7ee90ad2b189e7fecb1f0b33fcb303eaff8601e3729b23c9820e4c4c9f4beddef4229160c908836ebebbb92c425a6066e34b30efa52f15d896712ee85c57b70bc39b8f47a05900c0c995865633c4db5c7df0e38675cd55c2ad5fd3e89234384c0268f9873501f437c1c8223b64670c284bfc844282285da896838b67cb3544545158421fa1f9cbdf8fcd8a4979ecd9be0746e3de30f1abd973de25c839b39fadddefef2981dfd1c013eb096c644f37b319aa2bb0309e0ad1e898f0504cf214080279600c3271f6c971ba8eaaf8ccfcff6ff3746efaee483ee326ff52fa8053c208b5f9a7f3fa53ae3cb1bc6d7fe03cee59feb7fd0ee9effcb3954b4669e277d03edbdcda5f03dfaf7ac5ff8af28497c7c2e7a7c50294f8b0a9f066c85973a83da68e42e9d11f894b8fd3bce397eea5f9f6a7f6f7c767b11fc4e67cecfbe34615bd49daccad3b5670d8d30df18fb55f4ba0146476982861fa833f5c5829a7a3db3fe6125fb3f8ab318dffef53b388b89f31e5f671a7913d22caf178c3859f98ca56354eeaff7b89af3b8603162163153cdb2bcbee5c158385054620da65a10d083bea855597caa5caa4706b912fef4887059383bb55e3f2f3be0ff3835ed55efb4a35d886c55cedbe790d993f442f69613e7f74636bc6b7cac3d893e0359f34270c2ecfe803f1f876745df6414cae49ce9245573f4b3a91c71888a257117942e0220702c1c387138b86741ffc27effb8420acf18a1d9a422c7aa93f4299e46ef4afab85ba854004892e4bedb1ebc93b75ecc99a850d1c5309fcee8a87627a93ebc9464257c11a58c01674170e07404274cff8b52032dc947ed84a48d25cce41a24dc6cc78079684f0ad4e3e9d3ba5d6e2af826055da4eee3fafc96a10333abb4945ea9cb376aea336ffcc2a236c7b32c7e942107333db82a8805fd58022c18e061c5580629d4524c17bf25a3b0d93f19f43c4d384cafce206dd412aa78e15a322092f2f6eacb0f6ce28feb6591f319770b5652979ecdd04e668b25a64431b45e10c61004437004fe084e98e2d7c121acfd71f96882df503e5af5371f88ffa37c342ff151b916de7af331ee27ce1321620a28e0d4959696de00450922c9c3877fe4cbfa9fe5a3075692bccddb9616558f38f1b78577c9af352e1ec223fe7fcb47e39900f814dadf563eda5e36d0fb70c021c733062ee65e327efe96c6525a87f48c030fb9f9b93a0406fb3aeb9bb96a3bc998ca04bbe8fde7f4cfaecb3feb622aaa8353f2f9dbc6fb1993a15952abeea404a235a0940d292df279e8b99bf6a1daa874a1c1a478cb6bdde4751834615c4ca96ecee824ae24e15583a4f47d167c1a1f18106db9edd323abc1eb9c1471f4aecd94e9804337c1d5abcd16b7c67196fb181a480065bd757b5357bb4b5cb78a373fe4726f75893b722c875ca517be9534b41aada3894e86ac25fc297f8810db827248fa90aaee8cec2d5a5760339575485921796901cf7f0d72ffe18e63a3c63b85050379aaed520571f78fc2ad90aa7a4517362e0c500a505e333427f13b7c55a07b1a05888e556c3d4b7d501bf3a0260e4ce8a18436784b75b941ce66e0c2ac6691862f25da1bb2761ac10953f822113890078572890cac65d41434b666492652950581dc5f4bc3a394dabbc9b060e0f203eb1cbb7e8ef0f21073b805f186d0eb2caa02f918e53bb4c395c9de4f6f71011a592a11c92c399ccc536839857730b731f3fc0ba37d75b48d6bf4517301d6d918d674108e35057824a413a4562d73bf9e9127bdeeae297b3fa9d8512a27e321e6549f0a3be72bbe5160de7434f07ecf9d418e500e5254d2ac34b4d4ec82dcd31917124ebe04a56eeffbf762e808a29cdb8f35e0583530e04b101c3815c109a388b27213034559b949d423c1764628538f03b10c450b8d8b906722604652136ff6c5193806cc235311f30dd2bafc88ebf66c76c804a3da8b4da27ac925ad7685841fcf882baaf6f692ce92924e9272728e0ad22ef22e0af28ece92e28e12e252b24e2e324edfc01cff4605557c7b9a5a11989b737f7e75f9c7c922c68d96aa2bc8c0145c5ea2733f25674550baf4708ad8ac33596f016bbc80fc5c5232e17abe2c9bbb71b582c6ab1b740f2f8b281c55fd8939afb4a7a18e2681374b317cf28c665e6ccf9956cbfa81d0dad4634b7456259e7b4f0286de35d5f11af7a5f79fd318a5cb8c9dcd3bbdaf582b5862c36ecec5928d548f173dbb368df0d38b82adbc052109f7c151284423b2cb323da927334f47f4b18711ddc3586f381a896f0fb814b9f0dd642e72972c235dacdf8ed9083b2ab7e03fb8c4a0e17ee27f0a97bc4eaf97667e6f053ad5e95e1c6b577d89d164dcd3177c80f17057eafc79ed5b3280e908d752767f04d54b3b2831843e49623e60c4ad584aee75a2a0f103aba776be180800c141ae2038619448e6405524733039125c128eda0907154b75e8457d1c16848108fc6eec263e9d1edfef6f2a99f603443582dee21e13a56deae049a987df67aefcf21adf6f97d29ab835b1db13e21fc66e8262bedfe40602ed53b5ff1e9a0fcee161d0ccffd330c8bfdb8ba0e1539981583070a50d13bfe23ec85845618113551b0b26dd73292cf101adc5e24407f163d53b6080db8fb5f888a799088d6ceaeb278be9aba7e81b5e924a25b796b51a5783176456311005080e22f3b900413329927ee4c4a7edf23112baff256aa201ad93f47efdd8127d8defccc8c3c7ce3e45be700cb89ee2cd40d4eeb62bbcace93f1c3fc287aedf2fe87c4c5dc9d91aaf06f88d0e6a1f7fdb8f4f167b615dc77a8c95d2a1dac3f0e6379cfb7a3e64f24c3996d9af4ebef0ecda7f1aecdd829cfddb3e017c08899f40507cfafd00d65c33f721eaf24c0155a986372a371395392cfcdd25a675f6707ea0e45bcc29d16f5ac41dc0b067850a49b4d85ba8abdee749d5b82cd4448f60399cb68213c48201ead27a74f9b568695ba353d9369cac3c86e434eb0c9c86caf1de57ab715aa9e3007b9045cf8d820bd89aa3b2021d52b569b79f09c2c7ae1e84e50a5c084f941e5bc080d770e015a4341504496bc4ffdd24dcd82faff47359b8dfec7c7f270b171f9bd02ed986bef1d6c40b85749765b5495a51099c987879621a78eb8d2f65eb9b2c5c11fbfe01d905322e064f0229b4979f799871d617ce2e864e5069555076f11277379533a1403f6b9e6617a45a6d64e72cdc5f91e3d3c9f628e2d4a66599aacfbd1390bb04a36ffce9616fb4d25f686cca145b7b894d00504074694570a42a36ac7ac27c24fce89c7bfcfdf50cf9d6f47bd4c54de7395ff19fc280cd2138b031821386e84843523f1d4252b7e423c1165c3b53bca04717d53584fe2c85f1d89b0b4293c616e3649447b839f9144f5a1de2fe73fb4dcaecfc0cd80b5d1b2d6899d3cd214bb35625ab7fd8acd86d6d3c10160e8c16bf1bbc78ab509b79cbdd95192a179e2a17d51f70f57afc42bdf944850ebb186078014b28fab6e064b67b612d1bd22c545257cdea19a3cb65a5c112c74bea21425fd39ba108d37054dcf18298f34e8be7b8c88e178d1c6c621e280f9a8a853eefe0cf8aacfc9c6b77606e54924849ff065ff941988548dbc6c4dc4db446a8777f29740c2773ac3e17b07497a0b00e4c8ac9debafcdcffd185aeb2587a85537ecb4fc7a34c935e58bc19c180fd2138b0cfe7a2e9ff4ad2bd8684c49d4449862d8cbd819d3b265416bde7e640ea9e2dc36331700c9880b1a5f4877460106bd9efc79bc53ddfbb5e3e25fb2bc350d935615b3c29c458512318f5921cbd575b7fdbeac7f151a7a7bfb235e3d3c4773ac8b170601846736ebef863cb46c03bcaf973aaf26ca4f3b9dc0f9cb351d9f9122cceebae001d6013d60379b5b0f42189dc662f2c669167f986ca004f0bc2ee888faf2f3b1106968683a5442e7cee740234fd0f9d4e309edd3b9d084efc6ea35be7789befa6b6da78a5cadb76a7c3d7596bac069268fc60ca91d7f55e5c09c957f2b77ddfecbf181ffba221cdeb63da55c25f713ae51eb51b2948b9464275525dd83d857b4ee3b095da7fb6d3098afd5fee742237b6777008e6b0b0f7f070f6db9dd3c945cbca47dd475afeb4c419236d1f0d095f75577b7d2373eb20791d6d73a99356be320e0e871c245db47d0cfe739c46bb8542a98b07c9498a4b3849ba3848c849c9c9ca29c8bbc8cb3828c839483a3a384bd83bc8cbda3b4ad9db3bc93b48392b7cae2b252927e320e1222e2b232b61ef202b29b1abf727720e38ad282529fd1feb9433d97ef68276ae637d83298d2c735a29dced3a5225c5e6015bee03a20731b7f8bc9485e25b8d87d22fc4b8ad66cad09a4718363b7c48ef92bedd1f213259d2e758850f2684501705b40fa157d8ea8b4db7bbc54de3e4b85e090c278a07b3efbf29f0d8ef434e388b0320acc687c184305dc3de1830f7a238722c922889911876ae20b952e8c993838b1fd1a990b5e4cf7c4eca48708f2612dc5bf80b8c4e8a47b618724478af52ca7c88c8ac958ed2f6ccbd858503bedccc9dd670d1c73698a7cc2c874c5ab22362f2439f0597c872ed35344ff37f92c3d573b02bba752996d642f046d161877c740db9ed75038775838ce4e787530fa1a7d7de7b7e2e6947b80f8e7aba27e3b00e6fefd499da5566d6fe7b604264f02c1c1d45fbb22cf4578c7ea6416c0fd54b69a38b6fcde77a3ff814f56833b57e77ec556aa2679a7e383bfa32b388573e0d81d6a312a16ce3453675b5daf7334a46ea122949a7bca49765016aa4b2db025b2520a0405e16674c887e02c13996522bde5028a5971f2cb69a315350b61a6a03de60201d38481b82d00c09e6dd444243aa513bd5f18563204ec5e9863dbb9c95bb6579c367e7f2608f2458ed52c65d85339cdb9dae7eb791f4fad959931f1c6c641ced1e2f83f03d426927e210e1a9769779ee9b71209954b816c1f5c13811dab17f8073fcc72c713b996f5767d407879e2da35e9bb70521e3a747802a3a7cbbcac695418324cc2653d8ca33e396073305a9ec8bfbadc59635daadac6563e50716005bf7eaf82b8f74b6d60bcf6dbd3c39df10ef48c143d9287d4a36f4ecfea76338eaaff40ecc5f02cfeb3da89ddc933b40a77f296d1a040291c81bc563e100ae99532178b2e403bdc69cd3910655cbc613cb63ae12fb172f39721ce051e0ac07ec0e6ce964aa01352af94326c64a2d0a4e12a7d4a438e3234db5d8886afb0f8ffc51aa90ed2bbfd98744d44e054cff5df4f45f154cffac72ee54cb148f12f23b4db8cccccce4ae0c0c63708e3cbd24c1833a429aaaaa5f598a8f6e44c1d34343da6aefd3957af7f9818b8fb7d263e1c0b5bd592f38567d1758846d92991c316e925636253d6a985aecb8c6c05038640a385298f1e8c6d6d1f199b377de50d465b45eacd139161077aa7726e0720a3f60a282ee84ac3d4370c2e8bef6ac0705eaeb740e3fe9cc1ac5dcd34950f332158e7612df96f86607eae7f03dc6701a3693f860a3c1c032cc59d58ae3e16ecf752c1c783b293cdbd628f4f2e14999ec57bd18d753637bdc6f3cf3b075b6754c242ba18b07b42d3963fb32b1991130084974fabd65d547a9db5e4a54371205121e9e703e6283c640d6aa109cb0c8ee7f831c34511b73124948c768b561a38a55bb6e2ae9b944a243ff9e2d9a7b9e6a7d835cf68fc69a00da8e14d427c763b99e2b579c384df40db23ba35ba4d3bb177de9f200e6fcd803af00d5eb422fb0600018bff894b02ce3e080de36cd235a971cf5ce95ba94a20ceed0b5b7097179b73d00cb7e982b4f80524069d09c97f9c76363ccd1d13892be80c7975f3d461572e97463c05d101cb8f35f44555f47246209859c8ebc6d3a90d0cc5037a00da5db9b494264d409c7809df80e695ff8b35c1f26259b694b735d9cfbf5df84f3d7408ab0a23bb31211703527f227d34b901724ff8af3fe9beb1199c14977eb6f54d18308c362d7ecf6ce4972c1f1c2c377c1b25aef8277a9ca7a43767a29f0f636a886e4249716df8513a1e28287b2e96a0899f6c15c403bf51478a7bd1ebcbd0df92979b16040d3e562a8f9918e707a5e87ccb5a789e5f6aabd46aa8171923c2a617a689af22d80c4134517c8cc62b79d423efe80526a2aeec4e50fb3b961a7e1ca093e0973127118b022040796fd34291b10c4171164a648e80a0b8a5ffd784ed58d42de091dbdcd748e6856f63cae77b119f55a25167010ba3eec3114f12b83f34b81bc2f4ff9a1122f23ff0d1a5190bea84252d481db8fb1c36928434ea14281551f5f3b160edcd51954e277e0eaf2e1dda015ddc8b3ed6ee4e1ace24d4a0f53abd04cd8507a0a88ce902f2b37641af73a1e506579b4aa7fa9a8675dfcc0de19dbb31e429e5b0acb182257108ec81188ae62567897f33c4fe178e18d15e181bdce97d38548f5e4efc9269b1d9f267dc5f3f381d9461c111d3a04b21688e0842109023a3e4766a34593673a400863629455a75ff8288df8626b9a4384e1989d45bdbeff442c7567d33511666138160c1cef0026cd4ebbb414482e21748e8eaa3f682beaccfa20d7767f49206a45d0e02370b2fa0c9b54e7add52184cc2989924197e943f124b89cc139d9a3b7f6de5062798e0e82acf97f8e72ccd146b1b6463f8f869ed0b8f81c49903a842276c674190d1229a81a1ee6ecc27468ea96b057c0a30a176f2b62e14094b6eecd2b575f3b0e4fd7751e8879ee407935a9cbc427da48d2434de9eda5702ec0d851c7552b312e0f1ecba12d48707bc9895a92c42442ff768f6ff05ecb5b1bbe7fd43557414288029010e2574830eee24f9a14c3e55712680e935cbacb69a4773975fd35b2b0de0b0b06a2467d370c031779674233f20e7c3cd71dbce7e953de957e1a6fb5663fc2996e25c0ad44b5f11e2d2917841b614ade5cf884bf72bcbdb829ff7100cb5d029429bb24069209c141d2109c3028827816418f41128e76ee582f37e67d63df1279c0cf95cb75dfe501fe4d3bc71e7ffded7aa23b558f7c29e70c1eea67ddd9c8fdd1cdd4f7eda97fd89ebf7a15cfe3ff3f5f2ef757fb7c071f38f48e6806c9cbb31aa74c19c7425826ef8a0ae4e5cb1ced937eafc55bace16fd609e8767b2a6ad86f6d5e194a68b7ff68267661d175b4b6f908c703c4cb31cad151520c440e828348213861fc5fa12873b8ef71c73ffd2b777c5197d3cb38c237ba7072f4990a14c6a63bea2ddfeff47dfc973b7e57336ce78b735d050b07fae6d608b9f9ef692c26b26fde6d7aa7f5e4ecb041c4beb4e336317441f62b466580a9e0d1088dfebbf71d8d2f859b3b74de59ab7cb941b3c702208a3546395f6635fd6a68717f31b4aac0282774bc6fc1605102c39e2d66bd93b922e154378b7630b476f231e0cb51c58281da22c5d6e47c9da5fc713a32d56b1c6fa3dd738e755dc95eef67e5266479702903a03997d93ba526a273a2736e9427e5c1c7a0f715eb3c55be6d40a349527f6d741f86881a84232207b48c0b75ef9acade11629e87bca1564e35a5a891cfc3f0c5191fec99ea2f7fcefbf3276d138ef021ba1ab2864170c284bf047526a2c04f99b4bec34fadb77b7e6a8803ab7efe858f1ac69d5838f0eeb8d6bd433e60e1ac534146760176fb7b4b44d8df4e73e493f7ed95da3fa4de0c1c7dd9626c2939764fe3fa097bca60535b9aaa3e9fde05ab98a365f2b99be6f19c7f9c98aa480891071242dcf60b27a6a85fa84a4c2b3865a1a98440c5c0b7ae2060e339160ef02a67bf39f7e191d42db2e794a3f7ac9cd92723979fb7b2d1ae506d2cbbf6032bc021932ef92d95444fef776ed3072e3457ac7b88c59a52e7e4562d550c6a1c24b0fc4af84df6754f12e5fd592bde5b5ea34eeeb2316e5bc723c73285334188d0f6c7512a9b844f4acf14b2a69528d76151ee8ec7cb4e97c1da804be339f1c2bab9f75e70e3b0a1bcb58076843a773a59dac6289d0b81588a1267a6c66b7d860cfa51729f4ae55322a28318824a088ea014c10973fe2cf4161226701e357d812a624b71fc58c4c73294e088ab4d950c74148e21d0944935d7dbe5f183a71cd1f1397c410a5210f93f19e4c057701bcf468c2f95e95bd84a293a8ba447ece1bb24c66227b9ca8dc83306fa1ffedcfeab6c57ce1fdea7fe4a67ec34ce785c859777775081d466163d8fc1d5a57568dfa98d3f343f7683eb0dda3202a56479db30a49e8bdc9fd5b539f58641c4f0040f5d7e93641267a0b15ef3be79a6350a02e05dc0eb013767e6dd9dd37fd7ddeb6561f2ac31e8478e4022b18ee803d264ff3084407dc7394386ae6dc9db782f7d34a597fb0a31d63cc94b8c72d4180472faed0ed5bf9f99f0a57fb060e0413cf1ba31a57950474f7bb6aea25d76dafd71ddcde36aef282f7e0ced7a77cb15903ae1f36a6473f6405644cbab79ca448f7599f9756126fd3b6cb7a0465c0cafed30d03e100eda0dd8d676dd94a874207cda6e7b3adeb89fc356eaf0ec994d761e7357e1ca593da97d3f7f24b6e0a0b15f811510846938ea85fd7513cd0135603fad9b4fc7ac5b3434757136165a532ef0805ce733b5ec0d8be3656faface97346bc3ba2865e1090cdb8b3af2535b565d1a51c6a10a0f90cd03a77f4f4125c15f73ae892eacdd3b88b6ef1c5fc29be95eb4373b6430fc67a98beda9b549f1ef9f9b1d8a73b555c268c5d2ebad202a9db8cea18a128c382816a9b8efeed5c97fc5eb423cd825e71a0bc4ee9f31017dae7537263312f53ee2800ac66a5ad1157d66f1ece9288ade2baf17cb986955847e67679f7c285c884e49636f41dc85af9a7d31322fe95d416314081dac955b1c3512516fbc8b2eb46c55cc93bdbd72fed4d80e4fd631ff1ea4170809a7b534708d7c0ce5c66b5f6f628bfa085a09f5ac32a72644508b2612e0ad705bc4fb97ada9e995add8eb31ac2ca51c6d63f5097699b0fe33e4f72dbe5d273f3120c581282038bfe09104fa06784ba9957bef0f06ceba54d2686daf36f5c6c8f49ccbbc0d1f5107f96e9bfed860181a23ad6213f647607f7c47d1fe0cad7682064d7fe4d2ed485e42e1387aa4864a75b89be669d381bbb9b9df68f775a875358301070bbfb78933d17710d1337d759f657743c4f58a75fb432f69c388a4c7f43fb711df079e8f5f409b0b468147d458cec9457641a45bc5975b5a2b5147450ffe1c6c2d9af2a09e957bfe59efc7fb8060947cde92bab155c9396e7946fb432287a5b3c9ea95af6ba6a35a4d1eefeb4fb312fa0f650eb942bf855b2f11eb670ca77e677d5cd296e67d65d662ecbdcf20e23805dc7b02880702c3280b53f51f57d0504732eb5b3d01335d20c2f8cdd7968c14c5ee47271f1be3d39bfe0596ac3318f6108eee2082ab8a3c8a61e839004d23f86d31068fe861c2ef8ef0e97ff35876b505dcb9bcdc938e33c57f156ee85ced5fdaa0125e26f53af296d81262a050c237e054e4376f106cf079890e321529f0fe3e28d494fc5decffc67c369fef7e770e97aba3b3bfa39ff5ddead3fe03446064e267ed2ae725e6afa0e9ad2a60afece46ce3e9aee5a92b25eee463e41da32673464250dce4859b99d0efa7ff7fedfccef54d77d47ba937563c3402774f716dfe349ad4d8cc113e81bfda7e1266212c0f0c96b7b42141bceda58bc0ef61caccb7a1c6176f11da1f4d5f598bcbb36a61d46e165d35ae4694f6cb5131e4a181a5313417148267e97a713f2714f0275f0c34d440057572b75b7a5b097e0ede0ea25b1c51625825356c77086aa691d12ef486f60320119b257fbb9481ce5cce019c301efb95f248dcbdeec66ebf6b357a61f2e6c710840df85ac552038613251848981f028e2f91729ff0fca75555d7fab22dda9649e6cb74438ce7977afeff3171346a8cb1d73077df6f2b8dc9702cc5a42111b535dcd4d51777b13d9f38fb406bcd62f36bd1cc93b6543f83698e61006ca04c141f77e523298e83f67f344c15646b04868651bea7decedd48f20a6eb4267ce6e2a3f64d9b8fee1282b1c03c90f55e814df25d8021f11ca9fdd00d47ff93fc80fae5a8abe9cf41a93129c41cc69caf4c29d44dcf2344dfc7e85d7727d425ab67e6b906b79a5e4c533056ea481d113020cf9eb4a209053c323c7478a955aeaaf9d56ead2644f3bce32929039582d5a46a6ab1caa0a64cb2f225a809becf3400dfbd33f1295339eb8dece17295510bb377efc267dc95c6fdf1833959ffafececa490ae329f1fd1783f5ae5d60a87a7d8d606f8a42d7fc535b79e257be23fbe85c4cdbdf5606d45a99ab872a051d98d3b65edf565a4bb3f7e00b5244b38412f1b988529d2316ae7a9c2260004b7fcc52fb34f9a2a83a78c08ad5488418aeae19c65e097dfe904127d8321876225fd9f67186f7d66d99628a538cefdd5d56597e764dcf403fbd300894ff4d79575386ad53453e84d577e7687c3793a92f3d225e94fe52a51fcf777e6601e797ef54091fbc7b5385c3e32932ec7a2775ccb845a13a039678a2f2a2a521ddbb2e0f2153fe559bb7cc8c3b39afc140dc47a740963ecae6d0f976a7546e294315ca532d397ed647ba37360f95b0d7c70392b187d843543a0b93cd759726cd1008d468424b17c9f9b754766f0c0d5a88b1e84ac85ad9273516c91605fffcf9e72bc31552459e9f0b6faae36e0a331633ebe7e48bbc78b1f6fdbcb99e47d9f690b9fe240016b128343fd72d414a2fb4cf95c055b472df4709fad5e34b1bfee60d699d347568ef354f2484b909b9879eef73484cecddbb176aed1f4fb81fcbbe565575282fb26c751a1e030681ce7f3cf4c93e0adbebd1ac9ccff9e28dc1d4c6c7b5918efe2b9715f4c6cd93a94a0fafdec421d501ad85911673620b5f2d4f5ca2ab3b9d7db93607b8d5639b9f56c933b9a393411303f1c1413c912cc4b2485a233e24851837eae6ddfcf80de8dc8d56e9dcda9bad2d5177ee798fc23110020fadac6fea00fd8d32d9f01f6be3158278fa18df64fb9932d975fe6a77a79b8ebb87bc5d276abc1637107e2c3079d1c0ba674b357b7b714121f71e9efb61bbbcff8787193bef6186331c3150d70ccd0d8709de184ec277cff97c98e6c60f7ca0d1f385369058dc5a9f94e6489ced383e5557b63ec33ddd8b338ea81a5ddcd639b67a71a28fa5a7345f69aba05c79789eeb4ee0e307c898067289ec4481a8c9a2266b16e78d3b7ee67cfe3788e3ba539d2a26cc0cd33718294ea85e5eaed33dbe32ddfa8656cc8505df692b0a145db590582b5b1fba32705ceefe9026c70689b0dda32154b97424551d0992541c90a56813f99800a1af902237242868dee3c1c8332da02c26496088baf81ab637edcf492be95f92568a7f67d24a39cafed0a37bad7558b8fc7176d64b47eeb1063ff89d7ad63fe0710261e100dbc221e510f98117d71eedcb2854d22056cfb1ad6af2178e67587d65c6cadc7f1610d3b94fcc7f344470a0c0ddea8ce11b49a93adf41f0ccbad5d2aacf01f285077b31e0321cb804410b4152691422c13984a810b2f7c1fb54de90d0e0a8973e5afaafdcc945bd8563c09a731e56e93f56fc0dbed112ae855a1cbefb788ac0ec74ceabe7957d5c5a62b75a7e74fb1edb4715bff2fbe189e7caf7891d6960a6c621aa459179aa854feeed123da3c633607027d8e0ea93faab6fcd144489541ca3ce09f5648cb02ca708a247aa830eef7f1a3210b7fe86b532e5884d2e7b5ae04ddfedf1c3e7930b40833e768dacdbfd2c20fc6bc1e5b9d06bcc03f8c5bc238707e9d670cbcf961bb9d38f1e9a0fd81f7fed8a780d23c02a2b1ca36ab76d32acca3a647370087baeade0d182579dd75dbd90a083cbe50ce8e2b59bb07f11b952ed47ed54f86107e790a37181c7cdfea36cbc6d1efe97a88adcf2c40dbe67df68bfa4c9e93d91a7aefa495a412522eb1992cc71b4fe5ca7e162303af014f620e7706be18b69eb63f0684145c0521225bf517e91c0b78778b3f418b7db7a8720e0c097db68421768446f75350403b686e0c0e69f23c2fcd49f6719942177c72ca558addb2f95738640e8d18825f7bb3f34e1b4de3efc9573834561585425f188fd65b2bc4ae963ee42031c2f7ec8ade9fc0620fd157f343e6fee4ec1262c1c302f0e96d232b9ee34bc14c45d72bde63ae319c93aee23fea0b7d33731342ff42f01ac2f22f4d3a5041758a4430556ccf812afbf7844c96dd00719be3aa5ef503f79125d01592b4570c2b8be762d1856fdb391ad9de054f876202c18c84ee86357b621763b14becd5b3c4bd8e32b7e2cdb6fe669548cd290cecca6d975c06ba96fbc5470e096e079c4a6e213935747db0f84b3d67b4ef8a7bab575eb4e46630830101cc15d04278ce92be21009ff3fe0f579c81c52a67ff67c336bc65166c25293ee5481c2be2375967e31a745a4d719b153bfe2f509958c3ed4c2e5c37e8937b5fcf5b3b7faa49b1547ffebf5f967bd3ebf8db9c7d0524b465eeb88d5216b090d6f03eb00534333172d7363237f855301de671ce5cff8079a84b8fbea39bbab69ffd7ebf3efb39793fb15adfe3c6544b3a0774778717095d7e8eadd37ad24a79b260ccf335166d6fb91ddf0cd1ae5608e72e0587810764cebe050c1a4a4710be1b5fb6ac846c7c63c66fcda929fb078e5a92408a729ae9e82bec9bcbe15ba79a2e4d64deb738af7e7aafd2efb02ae0763566ef1ab5e773f302a2bf8e0107f55db91de68fd77941add218404f553cbe8e790b57604272cb2eccbd60503e7a0923437fdd5a36fbaefbf70f992efe5603f4f02ff2238dae9a464c234be33e0572a285dbf64695b20ddc65ae61160dea19dfbb2c15d99050b07b49e04a0b77204ba441a3d748adbe9176b5f0cbab2694e07570d2bc30255ca4e0361cfe5c825a3cc62865e8aad4eb0aa77ed713c359ec418fe4036dd38d81e940dc140a4203888188213c6f8151eb128fb3dc856fd5f215b15d041be52599765ce43f6ab3868bde7200a5af63b67ea7f215bbf6e17e0b51bc0808cb4d4fd4d07d37b2f071bae49984dcc11442bb2e796f817350b58f6a4112316809359f012bb28a9481a9d38978f729b1768ed9b796bd7a1de646cdc24ab43fa055fe357945fe78c4f178a704a27408526f4ec44aca047ff6089a86a8aef15385a73f841b9e5ae4d1d30d0d778692b3d1f25e743d69111a17c713923f0ee99809355ac6c5ce5cb57a7ae1300819e20eb8f8bf7c5239ed54f00288e0f01340e8f9edb44f8bb97f55b34cda97463c0c1101cd81fc10923feaa78dca440390d7da03f5c4b5d1586cb8f8a25daae467bc4de88d90f3a903504c280099ce7571eef125853b74b3390d0cdd9c3c3cbeb6f8fb6000f0341cf9a5ff9fcaba2371667af519582f4b1f7777aeb1f6c9cf7a5eeb0983a8e2ed25f3008427b24bb71993bfa3b773080d2b5d997d413e417018a6d71051695d38a395b84c32af65e1771f7cf81086299e9d5ae652da2dc4f966060ad201cec29602dd85e33704ed1e55df4f858c0dd99b663caa5e41f88979eb81db108f3103c6bf3f3b1c3761c2c188d5a4b411077206912d291300b715462e4e011878b2a87747b5aaf5ab4b2c268115bfab1e04cad663e0e503ee023e286cf4ff33911b5f06197b58df5d9c6927576b179a2dafbc41311a722bab5b66109a5160929ef003a4bc2a1e5fb33b7534693ca3920e12110ffa9840beca9fe05ace6f167294dc830602d080eac86e08411216984693f7fa0a91da89d6a69c42ac4dfd95f42588f7e867c2887fb74ce127df90b91ecf11e8dfa5c4348922d08aca6c4e749013dfe7148cda84d288b3fe8a4a1d72793039cb4df6ab9349deda4c639385f76ec1ded17c7f23e332b134020501001180c210481c190753d514f4ffebb7780105959f27333c3972b9bfe9c4dc5b70374692783065f91f1bfac571d66d7f76c5799c54f4f3239f7fb85af00b52a19a61c941f85951f75180e87a90114d8d5dbfee71307842aa265297adddeb114df6814181d0b30b99b9577e282bcc557d80711c2341ce57f48e11c138ef7fe4587f21ac528d1835eab50682cd4a72f2c654bf3339f460889a34547b662c0f915e5d5b4488eb7ddcfefb1bcd1ce7bc568d7e4a86472841d3809a667d0a4ab61d03699a196f603a8e1dc8e6104cf23085794de27af4edb54a13dd73c107b9e7d32a310c6c4a833216129a377ede3320fa88bb289d7355d3b7eac2d66a437fcf581c79f9fb76a0b522e8e320941234549df6adc8e63aa31a02c717ab7577ef8438c558e9429e0c1ea30621eb7026f82a0d05d57fb06ee7a50262bd4110bb0b7548f897be6167e2ec892f82f3b9e0686aad9b4e52db8ba582be161adab994ae3b344fe62f4371664b15b7ad6204d1206ed27fce82e5e53f5f83284310c3938bedd7af402bf5064981e20d4bcbcc753bdce8777480b4d7f3cc69ab1bc917a0356f47e4effed4d2ae815833f909d6a4848dd1612d2e0f40be9d5836cfede0eafc6e698ee577597dff4cac93f4c328505039147a4a800de7d70a5d352f06b8e5b09b36c736a16e9e3ba64e85ad63b573f28031cb70a554b9be45109e90a76dbde0ff7db6f859755cc3b08df57ce72746a2972c380fd2038b0f727b9c0635f90c39e8928edf5c9e3192c1438dfb3277dee18adefdd6c3ad70bc780096cc2fc10bb0c4ee0dbae555d1c641c2464c525a45c245c649c1d1c651ced5de4e5eded1d9c9d9cc51da59d9c1d5ca4ec5d5ce41c15a41cc51d5de41414e4255d1c25e5ed1d25a49de4a5f131a3abcad83bda3b2a38394a4a48494848c8da8b3b3ada4bbb482bd8db4b3a2828c849cb3bd8bbd8cbdbdbcbca4a29c8c9da4b8b4b3b3bc9c94a3a398abbd8cb3a284860e1405dc1ea06a977de6c47658ad7a2e4986749686574d7b8c405c721d9cbbe66f3a980ad9e44097430b68a664ce584a78d49909a22bd69b3b67d766cc05e1748432318438a01e148ef02c7b06150dc40c99cac30388d26fc641f6e8fd72bb257036a33398ff77f94f68afdb49d63808c201121d4f3f7dbf4ecab0c66f071d46b91cec4de99131afb945c64dc4a3cc63f6de79d385297aff027fb28d63667d0e77f1077e7514140ecab3d35e9079688ca93c4d6684571858a933bc1c077f0287d57dfe0394126dbf2e020160e045af4d79e49e9bf999da8d9ad4f18f612582bcb15eb95333a5d186e981a66c30f4029b38f38544bb69c1d445be6110a5f152b5e4a2668319bec3cadd47e7129310203b681e0c0169f7978f48ea87efe4046c4512b79556f86a46e1bf28e4af1a5a5b2944c45e8efff7ec6edf605aa58aa1537ef7eeb871e956313572ee40e39ec5269fa25ff73bddf0d80d2bcee112ad467a6d3e8588905e18bae5fb1e89e89dccb82bfbf96b679fa68629812f3540277b411160c140c169bea87750673f8664eec153061db2c6f9be4aa903b6af076a4ac6ea8511750b6207e389ae4c4ce2790e37de3f04b02fad8ace82c71c9db71c949b1dab76614bf049ba4a9a0485a236124d165d71d89cae0180801afd859f0afe862c4c28d3977296e0bc98d3b38bb0d0d501c274afc71300a4aa18a2f90b3cb400fbedaf2743f194c2306d5edf876e85f7e67fc1b223e7388ee015bfd1220cb78ef686c3d9ddbbcd304d3521fee778551a083cf5dfe0aed70cfe4afc8a4acb6e2ba47f641f81685ac881e5a24faa5d8d4ad7aa623c2985a5a204c7289fff975a0d20c76209543532168c29c4149b6be398c5e6dff4670aae71a062203c14124109c30b67f25617c3aa2e71a7eda262ee79aadcf038c7aa1e20355b5f72c42e7a4b9f7fcd726fe0fb789e100b5182bb4ded60d3ebd19b639cf1e139d057b6f1fea04c3961a2aceb334d98201f0233efd418534f58ba4d922319637c53296054e9659f3d7cef26e5db79bbc12f9878aa48e84923e4642c9f97f21f965e445486605e6cd5a53b78e38b3fd0599c8f134032c1c80dec4d99a9ab48e37a4392a121f751f9a76381892edcbe57e7ef8846cde492a2540868c7a84542eb633b26a9085e555a6f9f892ed29915b0c4cbce367b75edd38c5825e83acad203861a15f2d758d645482c8c4f3551576bd5bda424dd7239bcab91bd3f963bf508aa0a332230d73f074d737100ce8a35937cfe45c266f83a6e1fc47b12fcc1ebbf2ef662c3c3c3e8f8799de7e9781de91a104252b9a655dbf2b2ba79f726c269ca1ef3e10b2e7826a313f209e62911b2e10d50089a52cf4f3e3d9235cafda812e5f6cad3ccbbf963f9566f835a54ce48b62787701b513487f075de2f3c5f5d2174a4573facde4873b8a8d17f2be23ace1751a649b8dc76793e791043bd7b6e5c2d99629dd479301e75b21b0b5359ee9c98928d54e9998f80816e080ee47abd761f57e95f3dc145213a2f11385e2be540a859b0e2ea60de29947ae7f9518fc35094ee16725de2993ff3b4be5e590a65f1cade1e73e16ef603a27497eed14bab8453a67f549dcb9034a41a7e6e166ce62b091cab97d95004fb5bb75fdb536f1929ea002c66b2721c1b31bccfb6bce6b8dd7933070a81d8cf9133f4a2a82fc09a2b9e567e34f3b252cff44da5eef75ff78c651326f8e0df980194bb93863df6b9bab3e9c621ec5cc8ef1630b82805c63c5fcfafbebef71cce21ffc674a39a8fdccae7d083fd542ede45d202949518da1d800e128d6807b9453c35d458137347a2f0aa9d224f32f9d5075320ef5cc3bec1a7e79ffad65ef9fd75d5fe0286e60200b38c82c927e39ffb39e42a1548deaf234b8c5dd12b92ce1865b36a699829ccd6a6c85632051e51a044776e92cdfadb31dbd4b500e9e64b10a313ce29ff80da01caffe7a61596f106b4e9ac44778e0986987b4d7b1709786c4a13605dea180741e477c7ac92eefff619c7f4671b2a8acb0d61c9156e85db9d5ae2970875ac409c537c832e06f9dd6d2ebe2edbe49925bc9c19b75466a2f4a38315b51b1d830e0ecaaab3bbd76fbb94e0c094ba15f7bc37ae9fdc1204bf8701e1916e3ce84d5a1d6988e97f6601bcb297ed874e65eb12fcfc72d0add49dfcd2ec580eda0eef283cee2b6f7928c4d046f55b291ff0428c7e80dc8e7ed884ab538e3ab8437bc07f43b9bb44ebb28cbce189035586c53d64d01824f34ba9babc6abf4621af4c3efe50e5cbe99d910da1a9a3cc8703220bc39a9f2ab838610611a8ea277dfe348606eb3e0af62468b1323bd7e9b404927165a33b5b05907ff9c975311cf97774d85b927b0b1b0d8f4bd3d599658dd07f6829432c46100b1ed571c0a88a759059bef07a79aa79b5a515fa2d3eb907c7ff869e7709a9784aca2b50ac5d81f84a7445f72630b9090bb237f9bf094aae1a5c87767a87a5fe50cbfc42ff17bf57bb0e875a8cb3c929bf69a0d572f573f9959c4f9e375e2d4fd2b6ad3df243cad1dd80e7d9779b195c49c3fe51a0e2622421a0d5f91a7304b97551b8e657bc2021830e936543213474b7216e4baa88b3833acca70dd3f9f3de7c71403e2e82540fca1d66820a1edc64868c73d2444dbea6789f50aee771dd5cbdfa830225abd7de9d8a03521e9332c18385e5d976ea21e3e7b5ff5be3ca66ead2e5f246e29f3f8999ae9fa8323cc66711f81d0b5b3b1be1c9b51a54d3e9803e71304674c741a231d541c45ee89b4e452c54a632056101cc40cc109837f499025e275460958e54fb5583e1db02da663aaffa048c4ecb49f23864aebf096b60c063c1a3dd3731b4f8f5ffc9b70c2427b1b5afd1b6f2cbf813811417368bb6d071d364d2c47dddb9fefb32a6a65dca51d80070e19d587e707986f12c1fd20b4649e69deb7b8f656f91abbdcb95f6973fbd9fc5b72ebf084f8e5470c728c324613e7bd8e53550c59ac793cd74429acc72690cae60d7a1defa3175fc5b7abeef29db9f09c6d3f2a3ef5559187b4cef938a15e53e630fad41273963d994aea963d4ef6226a0cc36b61d3513e0a1c7505295f252d7c78e7f29d65c68f17f2faa423617426a1e4efe44754f71c9c0cc5c07a213858178213a6f1355274e2f58f797e9d7e03cf2ff04f4354d4ae5349ed697d1df706de1d33766fce7e59f0c3b250a13b3d4ff520b5c665b7e05f81a8746aa70ab8bf07f21913b239ee522fb39630ae95fc674354fed7f3fcfe3e888a85afbf9aa3a18be61953e7935a9201fef2faa74f3b07f8baab396ab93ada9f392c69ed6862eda9e0a02da1e9f60f4150fe86d6fa1b787e9de4151ce4c5e5ed25a5e4251d649d1de565e4c46524e59d25e51ce41d1d1564e425ed9d65a414ec5d9ce4649c2564c51dc4a524251cc4a51cec2525e5e4e52477f5fec4ce01a715e5a565a4feaf42781e6d520451c55d0e96be657a7edbaeaab1cf86aebd60cce26498bf486316ffec1659c3b5682a19484a237145706f7edbc05b2fe3ce943b0d03991f52a919cb02097e02c213b7a478c2df37af91007e3b948275b2f7f209f762eaa9888737ab9f21c9ec3826008d278e5914ab94507da51c4fc93325655b2fe53ccbd88dd9e863af85bc8eef77c670a880701c07800f6f8a0e0df0238d60e371c77c55b264f65a76b739842573575fb2fe78a79f7effcf9b7f5d38f66974edda23c4d3f928c73e927e24817b354aeba689d5b899bc2bb5802dba6bfb5593a5ec997938da1c04fedccb4d4125fbe754f8bf6c68879bc9535e3294f97e1a0203af348f19396ab37d9407f9cebe8f2548226e45b59e9029c9e4fa4ee71083414c9fd46b4a54d2b9c8d96ceb178e73aec7e1f7e3501bb20fee28c96cc7b1d598f321822b00e9c3ce27144dce9a4e3eef6cf3b964ccd4b56af8625cc8dcb2bbd5b2f42143c82cba04b276f3939a67ac1cf549cd892212078190602c0805ca3efdfcd3a3d641d1a06a55100b3f7a29188e56746e3f0e02715ec768efa478de220c0537aef8ea5f737b92793b9b3bdf4838e7f5a7d5f3111669f5492bf54f84182343ec57fcc77b8a3107bcf6f6a0b7cd839db3ccb544ad426649d52b004571c4b9b37029ede895dbaa191ed8c4e1b6961cc88ae0bbdbfa567bee1129afa273d6b2115005a4f3e36924c3810e14eabdda060be184791119d9a0caec2896a2486e065e0522380c1201a9805c41dc5077903c940a0405517d1592e2827f616cd9c01f5293cdc6583ab71fa742a88b005d966e6531d5373c8cb02a68539e619dc4bd6ba0ecf769477cd60cbcc9fafce801dae4b9f34af0b280cc45cf1b517a55d4672755ceeb0f931ac2fd6b4bbd54d007d0996b971090c5cf02d25a7d47c03210f45f027e128fea8f13e07f8a363728f3ff63efcbe3a15cfbb86786b164cd9e25642d61cc8c59ec599225d97799dd929d889633666c2591648d6e54225b2a99738423155a2c2d2a11512a8414a6c2fb399d7aced3fb5693d4e779cef39ef9f8675cd735f7efbeeefbfafdaeebb77cbf7f8aa60190af92d7ae7c2a1a6c3670f599416174ee6e17c46495e8fcdd2982ac7fc9d6679701619ed8035553672256cf1f9bdd993f935265a397b80fee878551c4b28e6ef497ab3b31778c0669a4939b47e9d2325f10ad4e0f04fd38796b3e4c5f24e4cf09fcec14aee8f56c3d716e9a0afa28a7adaf6fe54061e71dedd2477e1ebb2ff89b5f70570bb0e17a31e27a4378ff030361c00c64ae541dd9413ba435a2148f93177b7e3f64dd847ba3ec7a9e31e52b309d130cde1c266f26e47d29162fb5f2f384f29c92f316292010835775a984f24bc21ef87099af7e9c7b971b3d862e6f3cab6a27563fcfc5c28472372d53fe9f4738ff2dcfe76f4638ff3947eaf29eff4f249cffb6f9072deffa4bdea2408cf1e16487287c08cb4bff10f9974638bf948c856f5c3f6c4b79bf58e9bfa5bf7f3f9d70febf6afdb29a9fa57385fefcf5bb948cf3ffc6f5bb2cf99ddf95fc9dd62fabf76bb9ebfb3fb07ed996393fc08f0c9c2d7d7ee47dfefd5b05b899cf3541780fd4677b95f341afa78aadef1e8396e7e3325ae6e3f9d92e14b61fb97ff99e3c9684c371d7fffdfb6750a357fedfffe8f3b4d1c054ce4e8636063bacab10d1fbe378376a9bde30d7ac7da6e2e0850326962bad9deeae229e5fd7540f0bcaeb36786e59056c78a145edab77af13c8a646c4d97367f9dd10dcae5c8e7865503fb4ff767888665dcd5cb52c5d50c395ce16e095e1e8d8e11477e8e82f4936877b8b0dc7eedce2497d94207066f1f4cbda3ad3e943325e2c6eeb8b58437c03b5674a487f2636f1e545139eee3980f69d4088184f3f84a49ee4b93c78e08a40476e68a981b77c03a0c8d1f94e7822fb76927e8abe2aa79f77597c2dc6134fd54f1306df1552595ff5b15c94ef43fcac8296a9fbade8721d51c5bfe67a16e79c6fdb1571dbc6436a34d1c6e46b77c4516f60d4440528b367d7ebc42bf1e8f88ef19e045799df9df7bc05e17f94b27701ad9ed1932f0e18c946f25d75aae849f2e6e5f218f7e77eb95530467d85afad9af68663a8574248069813c204b3d1e4a1b4e6c77470ae2a1d9c574967e33cf2817843ad77aa111e9d8d621b533972f9e1bf122c0f5006ee03a0d554d0ea26900c840a5a0dfee38f67ff0e7737e62e97149523034efd68ff033e5181c3efdbe4403260d3f749993c9f253f590d79df0d001950413c6dbd709d1d230b27cf639a9a9582d2b7f6dc6a6680561b8156734544137c268fa6e780ecc120890fb280563416375181718b5b13594de97772fa4d0bf7702b78edf7b9829550aad6e51157659c23374c033bd7dff3cc7ff7fcd9606669ad154fcbca8e9aa329e739e7dfd5fef6cb45c3eb62610c702c8409de4d9387c6b67ccce5397d964a65809570549c913d0e4475c42f2eae124b73425245f12029171c883aef618b7b4bc583d6e140581c687ae17d4f24551427f0b1951d258883bbe040dab801692a91d7c9ef88080eed42259e4d637f2682f370f178df0f0772c499a6e11717c5629d3d704676f8c5c5b48362b1f6383930cec88e7a902d6dda0387c7119d3d407f0c70c4810fa6c5a6e162d2e2de0fc2653a7ba4dbe2c1a015b18eb1f8c545c82ab134fa1f0d10f134275b670ffce2626cac189d26064ea3d2568ae21a5c88369b7686e206a470207bdc4a1cbb3d4e11079af7b04d3f686bebbc5044f20ba184bbae1192a304248ed90af9c6861d3ed62e7b7928fe6895a22ca6cf3755c44e3b8b5b0e944e0a0f0e209a80b88440882630901aef7881c1e0dd5961f92ac0010e3647c7bdbae4b07d1c6d0ff5af3f33988e03d6179ebc1adf5e53df252d566070b061edfabaa787dddb4e385d557be1312a77d28301664298e0d73479a8e087a8235becfd8cd7a64a324ad3dd26c5db38474632d7f9a41e563e9860b9de6295e538031c6797e6fc0971a6c8a81349de70ed20887e7ff35df68a97edf6187616ea81553ad6978f653783fade0a3a242df3faacac2a2bb323b2cc6bb28a0a821300969ee3092bf33a3efdd1fb6f15ba92bca82a148933f1d60a71de07dad86d642e7419bb01d6dc427142a290ed4e6e4356824f4fe8a4ba8e854ab49a594a8abfd3a6b65679fd552829fb1d85925b70af4568f4a66acf99ee424ae4507b3deac9fa1f194ff92729f4c76f66ffb05f45c5db5e819f44b057bcdc2fd4d5b71f6fda612e28a01ae9fe2c0835d53c660f04fac2ee4f1d09bc650f570958bb72ad0cea8463188283beda9c3d33fcc1be8c36063407c2841ea6c943d17fa6c8d1d994907f43ced82defe051d9d78c628eab321db141eea0a6d0d19059a4283aa520c2e4c6c5c17bbb83864ce8dbea7b770e3862144ad20497124b7e5b5dd0d5a750751ba776644dc7e3d935581c61ee9f58f2df2496ec48f48d70456b138309a66121e19bedac0337a3a24211ce11d1410e2ebe416e4e61d6583cca6ab37564b8edff542c99028721115a78129a4040e091043c810c2393f114324c4b0b4dc0a3b4b044381a8e216228242c12af8dc16821b490042d0c8540466a119114d27f3496fcb3e777438aca80d9f9aecee3a16dde2d0c23651b7646f4d60ddd31d58f09418db64ab61e5cc1adf8c3ea1d0adeb59b3ded135e1e38c1756250acd745cba9b1f34abf52f1afaca0949ac040cf5b95d9f1d2c4acf6ca1c7aa037fb7a6bdffe3bde2ec1a12babeea8ddbdb5b80a20bcca3b997b75bbdb73e004e6f942d7985db6646e8bb4a15b0cada898af39fec85f169de3836e5e8a453f13ed74e53e4a31c79416d1bc6f94ff79c06b7df03f16fdbfdea2935f9ba320dabc02565c38b485a41053dd60e1889b28532b803890db9d127d12d865acaf20ccb646e96c1df14ecd8b2d39769ae57ac96f3646ff564bf0a15a485f63406f8398d02e20f9dc96b3993828c7c9fa9e1293d3efda569d561133a39f7fa75403b7bc77b361fedb33087a98501a832d84c916489337a083132ed257c75133d239eedd9d9daa113a268151e9e61b5a375da4e74665b0b1b7e71fc9ff916eb0a58f8790deb8bd7dfaf53e91a15f6a91107e6d7361f3175fa55c259465f648fd72432d5f3f93903bbc6efd24cd996b744d3e8a9d2789d523c0253cc058d6ca6ce940c4430364c0b9f4570d83269efc4e88ab275dddd9cdb236fe7bef7d6ed5f6b1e57e87e4ef61238a5447c656ac3ff4090567d58e29415e9d2391d1556d563b9165a28527abceb17ac6985d53672e743072b5656507d962f755b7076b6b25af947f61e27027b3a69a952713b4c1b1d14d323f2a290111a17a91d7eda0488d616da31dbe8e271375d5f96153f0c6687d8ca41f33ced13524d5a0e7a4c086de8d7db7c67013d7f32c014de28ce485e51086d08cd581c7cec28686edf30b9137dcb07df9bfdcab8f476f1f38a889755aac2f6818aa0903b4491dbbc256ece8a5be6894ee81ec2c9125f94b417cb8d3d57a1ef1b33f05a23ed6ae787ca85df976aa85436595d1c7d16ed7c54c8c865b2383369f4348f77c43ed4ae331bf1ea327ca3bcde21f74073fb979996d4ff4f5b34e93a56aabda0c1b0494ef00bc969b4480e22d4d7e847a42548d63b6c3ad5eb0297fa1ced5dcae7995a38f39ff02d3837c30581cb7c3336c6b479b0575177e27671c69dbd883bd4de68b194e023b92d5e635746fd40daf14b9be8ec5747e822ef2faddc6775784f5d3ca3aeb798f67dc4f85d81861bfd72d0fb653e115d5fcf2660bbc256af7943ecb04611156323551812a824158f7e65bd1910f42569025d11aead231d76d9e4e9c0fe84136c2a316d500112f97105d4ced26d0a3c42e556ca0cf8a18cdc73eafcda2e1f2491be4d26f4119e28e20a6b82d5038d3b163f657f953af770b08882a9ef2d129f4592b4f102abf8aac63af164ce8fa76bd7e8f290e66b021986cb0d8c43ff1849beb323ec70b9dc40953b9d43c849467409a64ef827997b7798580b0add19bb6d648994db35d16b9b99a30a65d27b2fe642af1f6c3829a5326add0e7cb8b42b242f35ea2496ef12019da3db6741895793b05dc9ae337020e7fa9efc76962219fe94f3e5c71e08961c1e1e1df3d5ec07f7b6008394c83bc83e88b0ff2212f6183d815d6b2f9eae8d74d9b27ab731675b951e04ebe85f1fe8a8689bdf051855fef5de8f59c13519ea5451fd70bd00dfd43352f24fbd5d658f2b229de90391192f2e64ec753cfe8b3514ef1c6d3fa435125d81640aded1ab7faa2febd933df602a747661c53a240aeab95f30c4e20a7526d784f6118ec764c761b3a52809d2e64a74a57290aff42d93fdbf03794fd7fa2deaa1c1b3c82c614ef34964f5d1b7e3e433da97028fbaba3452f6358958a2db3948c9533e3d5bf7fdb1c5e715eed621f6a2f65bc73b246240e5cb8e3d19f47c247eda0e010c9c3213190b4f2e4b433a105071ed708a2b8e8a0ba25df33eb2d22dfb2dad9eee2be73edc0284f6a27ec860ff67ca9c38a75870a06333bbff213c28b2f1576fd3ced00deb93057f4650cfd15eb15f2af79b284235d2e5dadc8d8ef05e2bb159d244bc6b75d5e700e6a0f0b682d5dc25d84cf9f10be1a4e391daba98e7877b8eb561f26b3b26eadcfc86ff9652e2bcb11ebab12ad6eed61e661e4e4f4ad0464cd92a2f89bce2ee0359bae5cfdb0bfce61bb631bbd2874ea9a88f3f895bafcd743ca8cc49b7aeed37266b4067b82c812b77b1a80524fb78672fe6b4ee7c5eaad6a91bb36f88b68c96a6c3dfff48122b7cc89dd434d00c913b715d1cf36beb31a9e988ae0046318fa12936f5a06a6678edd3dccef9d5c573e57b69a2ee8d242e7e4aefd99b0fe7f68c01d43bb17a221bf6a4fd476788a23fd86835ea4945157a6c65faddba22d85dfd304509cfd77293cbf2da1edf79bf89880d4615898df43743509d9762daef87c834fec7b78a8d43fb12744ce645c12d47ca67df45e516a628ccfd03601285f6cf1b51f060fa5018474eb73be48fa3d5955cc61d8424ce361494d9b55f56abece020315a1fddd5b2d00a9466e7eb6a670ddd992db32982bcdfec7ab1a9e373a4b0f87c173d2eacabcb3fe2a1234a543776ca343a3afd321417adf582478adbdfe72a3e1c6c4965905c9e33d39e38546473d9ac000de5a24f836deac32b244873b3a6696947cd87ac69c62714ebc2886e348200e01d816769ca696f96dc5b9a55dab68a360f8cf5fb47a7902d0ec4344b5444e0b4531c0080813acf99e56f63d4272119d1df6fcb34cf2d4ff9742fe47e72f401ecd197fb151b76d74ab1bf213ba63ad43c2054221e8dde5ade782aa689b66159bb73c67d5de04065c252434edee9a1fed3c76ea906a46a537d73d65ca8313624f9a56aef0520d14ad04ecf81ac669b1faaf73f243c9fc6adbe46ec5607593b78d99aac73e99168bdfbdf35f28a7591f629ce0df9e7f965f9c5a476ae93f747c399684ff49cd27aad0ed3edb807b5ed98ee6ac645de188bb168f1af44e3551813271cf24aeebeb2fbb6596dec1b89ac6f7965f2b20bd6e18587d74555f9b2d4f3c10266374de65254c4954cb39a2e7a1662efed0f3ac6edda8b0fad984c9ddfb547632a079102634eb3d5098cac7408c2af46f188861dbb8cef44eabf9d6722e87e38c4976bcb256ce4c08d72dc1358b766b077c5437b72cac19eb998d977d27b14effa258dcd1a504622e9d250b3f0f5d6b556234283a97ecb74bb9db33f99f40ccdf241083b77176daa185275b937ca26cb54cb448682406ebe3176d164670b421a1edac9d0858372b5f73bc2d99f23f1588412291442c094e419289686d0c92844613b4b044340a05872110581886842460884832168d86232904128282449309581885a80587a33148caff7620462ee1fca4bdce4b4fd82b37b5d742d738401ad59cf6682370108323fa2c24082767f67a8d4ec9de35afacbdc7f2b86daacc7796484b674f91b083bc74e7e797f5bea1282f440f4b890973d253e0acebbd7945ea7146bb57d6e38e890749be97ba5b2bc867809de662e8f5af25f084b283237551aefe25a692177fef7712ac74ab09b73fde05f9abe01a46e33a48e371fc1f29b80ec8d77d64d4509738a1daf076c4227073f513cfc0b7d55c055b5dd92beeabf15c5c8a6ee6868fb700f78b57754e6eba0076567b33e66dd8f88f6efe9be866976d98ed9bfc4cedadfd9da2cc315893881dee1136e151d1c6be78b4767888b12dd99c80c438392190d6ff5b41721291808093901834194e8669531044040a81242009da64229e44c162c85a5802024fd42211607022168d456329682d04064e4662b05a486df27f54377f327f723abfec737a319a7afee67dfe6ba63cd1092a83de5f1ffef30baed789b2c5f4afe837de2b81de15c7570e0685714581d5757b7a46f575fbd45142f87c9fee68a9b1b9853cbac9add87d272ef1bba96257d93b9da92dc81b949996f88620bbe513986bedd00ea58075b24ea9c3fbdac14dd7e824820867db1376db152fd4c30053c9290ef7fd3dec2dd6ea590f052d9f26a64c8c64c4ccfabd3c1d94ff7bad762f431203624a22814762f837ee66b619c222bcf502fbd28601ea15fe947231612eb508bcaa9fd69a6f77abf732573dfe17ded671ba909dcaffef785b6856b14616bfff2d785b417cc112627c728ad9a1bfae7ecdd57daae09ec11ab68d966af9878bfae5c66758627a8a2c73fc57fd43a9d6bd559a9c7b1d4a365ccf325349eeaaad604ae4794598ed7ce6b5ad72ef7e656ee923e281ee090b979311c3a733577905e44bdb5a141a392b9cf4abd80bd21b96169ec87b3551ba25e625197ccc36a72c6fe608479da550ce2ba414e189a2ed0179030855a1fbf9cc6e87a9edb90e52626fbd12a2477b136b24e79a42766bce8b0e48b18e57eabb6d98105dfbf84e98b2eb8d8ac3f3a18ce41be70271c64da545530107c1ebdb01b9b0d791071f5f70a9cc18f8ed8d9f93b52b4c4e6657905c671321a0a2795b29501738b78d26dcf19e16fe0b08e5f127cbd759dabec7db3a6a10ee9fb765578737ce3a6932f349750053ecc69bc6f4f64563f89cb3fe5c21c0d6d81682d2607b6330dc927d72604740f62e41a4f885b5565b04e3aadead2d3cfd811a6ee5c27bbf09f811f772a8e13ef9ba746ab88b7e4bf9fdc7d516ba2d6ffc2b737fb941e9cf572ef534c0f12fd3946de0dddf7ff771ee3e9f06dc51b477935b2732d5cbc25483785b2f6e27e949c6b447c4c28127fe1a6b379a38ad3a9f159ce921622572e6782233b2da7151786a9505e55ba8e1b2db1dbbf665c286ecf415ca428a78da3d7c375b8b5dbac9d3287e45ec7e42b41800dbdf2541cee88c1277cad5ebb847f65f79f0caea8209bdc0b1b8f43bbf9ef02033c0994cf0211a77e87bbf21d41e95b18d99e028e7217931c12c69c52381261e1ec6627b828ac6c060f871065851c84fb585855c2c00b158d25fb0da638bc4641ecb902804cfa0b52a25e706733c464e1b6296b0f49d596c63bf061875baa85ee31208f47509fe58ba7be48dd3f6aea0b4ee3ba491631c5af6f02d5cc4e26076dfb3530a514f27e101be00a99a41839d7e3be745252550e55b9a63b6ad825e8d9a88a070f02ac848979ef9cb3d6a46673b8ca5b365e6d22172dbbfd13dda9710b776e3a503e0ed1732932187ee5dacaf3f65d24405c2ce9a295cd638fa30f8facd7bbfbb9d4950487ca1f9e0d9b972154ac54a537b8e56c04dda0b11d29aeb7bbcf74dda596eab0b25b5eb259e5cf4d217553cd518c979fd0a03729d096977a62592e96c051b33e09537eb9f81ef0bb5c7eddd91aa93f36e101a2442654048e599b677976900975bf7c60af740b1c92ac56d99322e8bc18cdc41eaf96a0709ffaf88ffba82c03fc0ea127a9f4b4ed10fa99996ddfe20aebc6fab68929fbdfce13c7534abbabceff8985a18592d2964d6973f9b8acde1877bec9cef7f3b6bb2cff0569d142bf577c9d32d8aaf2edeb7ab1f1753a56ef4a47917b97077ece89177bfa556941f6c5f009c335fa95a90df80d65031a1db26335e99a1f844241e61e023af642fbbbd7ca95c1705998ba0c943b93f24f45437647c6e2e92844c18adcacd78efb8ce21beea262af0b64f099c7fee7072def1c5a17edd0620a2e12ac3f60af3d21e1ebd87873c0d2701def2379e406e0d56c26bbc0f1277b75ca0b604cba75a41f60edff2d008b54b9401cd8530a199347968ec858fce6595b9bfa17379d3d6ebe1f3e61b46ce180e76902c4fca28c770ec2dd5a9c9d2d754175531caa8ee5ea173ba11755f3ad823194e6bb0ff7d290e8c0565410e75d98b3436e33d5dfd0b9ba6da279da7ff7160fc4d1c18ae216894639063b8a5fb36eb708243b86da02bc136c287b2c9713bc23adc39d4d6cadd1f11e2e06bbb8de2f83fe5c0a0500828381e0547611104320a8927a389da280a96842520c804028200c3c2b5b0703292a245a210e178381e0ed3d24669c328640c198b442ccfb9cc498e0cd441c091a0ff56e7b245b323aeab8656a65ef18bd5da5fda922b68ea3e5857b332a424e89c6484bc4b5008c743f0eda851b6c880fac4193be9a3710e56fc367c33977eb376f18f3e1b23cddab9fc5bed9c88eebaccb86796fb7835a06d53c4b73a032ac72b634743e0337eda1bd602a8d1b0f8bd09b6e6b1e7129286d3518b9d59cec8fcb14a603cfa9a94a37ea90283830161729ca3c943d9deebe68b74368bfd5fd5cd1c3f807016fac3096787ec2e20dace59f2958ef598302c67dd7350c7aa1f6c4fd96cb859756afebc74c26cca28547548b9f34dbaa961e235c2c25274735df62a1fbbeca9b7e0f34f7a6f379f5200fb14ddffefd6cdec037f73dd2cf05137cbb9e00302c811cb702e1b13ec4c4342cc5031e42893cdfec12ef88d8860f7083f3717934d5104d7c870a26f0c3cc83a24303a26e8c7dddf72b7f4463f5f776360442c0a852111e1586d2c1e832022b5b1081491824090b550483c128e262149301805a68dd6a610e14884368a4c8461905a480a014bc02e2fa4c7fd87ee46c2b5505adf37fe47dc3f0a4540614804329680a5a029680a5e1b8941e3b50948983685a085d12213514434458b40c268a3e1040a0a0e436969e3c92432028381c1feb3f7ffd36d577943f1f64d152a8f9e3a65fb3001dded94f4a7b8ce034367fb23f22a5db8cfde8df0635eaaaf3f335cc9e3c43c706c2379c5e6cd45cc6be63e6bcc0b8adb2ecc10a4583bcfefcb8ecce471551c7d473a619d36b1633cf0aedfb330b14e8d087253a3d8fe047740c2ec88074e315425bf2b8eb66afaf2c5cd7ace73b890ac5d3a77934bd4467c610cc85b081332fbc7c1a2f87d64d4990e772fcc28e2bfda2affd691c3b2e4dce5f25871dd64e4c3d0c41ded5d8fbc402006244e6f4897550aeff7a7707fb8cc32df4ebe003f8adf06123e24821ce6bc7458dd4f1d0238ec21efdf0d1ce3c59b2fde188d2db5bf7c649fee52dabfe3edfafe4f54bd41cbbea7a0efd68e60fe4332dd9f564cf878798e56268ed5955f99747966e73cdb9099d5c5ea402f26f5d878e5585abdd2d5c6c67de983433639d24fefb446ed1f294569e37698f47e32072bfd8a04f9fe8dc5975c2ce87cdbf457166fffe229dae6586ac60c2022556a78ea4e729044610f1a9be1230670eec61887df06b8cad3c68bce45dcae093f335439acef113518cf091b95f01587cde8ce26d69d66704880981c2240f06ad722bfbc5fccb747e8ec5ecbdb9d951d8e3a8eeb2986d8441662ca1d249ec68195327f05346dd62acdbbed455f7ae9bb29a6b67e32146664d85bb1ce714ddbc42db5aba6c271e40eaf3e26f4d2bf7c71fc991f7070cae86c9d6919753af9f950c3e8521ec5441ecd3eae8933bcbf9b518fd59ef35602b15ee9edb314d8f00a13437f258bc72a16f77857a98b83ec310b72bef9eea2e24e6d7700cdea234dc42d2773e1ba867aebe9be2d6ba0eb4e9ce89c939fce5d05cc278dd8d49d9a2b95a4f35337d07672646c998dda34a230d9731acfe4b1ba049508531ee7fb4cb6e7e7ba81bec1cf6c7396ed7cd9cde793d3d6b9daea592a52a34a459477fb2bd9aac251123bcecacb0161fd5732a5debd6d36e1ddb382ff4d0fe270d2e0c55354bc6cd6509995cffcd3f375e990b9549a3c144d8738aea3439c0ed0d9af38664870e4ea4b75641d2b30e599ba6955048e3125a2a8c7d0999caf59c824dc4405eaa6efdf5be3e8d4e516ddbc225b2cce6ce8d28062b18e52fe6e3b81ca6797d327018352e383d6b3eb0a0a507650716fd9a70e5b7bf5523d8815c181015b5f1e75ebfeab98979da63849835f5a5231efd09522cfb1f0495ce793dac9e75b563e6c17f19dfc9106ea9f62de1faf629bc0c0e935a7f7828ff8648db0cb92345579d6da459b574456fbe877884d0d0ad60e85031e9ce403f7cfff961f3da00a2db3112ab1682f68a36cc16adc74084b0b7fb837e0630de09f902e0bb4b68dcbe1affafa86dfd8a8090c0cd93c44ea4873972b54cf6be51dddd76293945e70a7211066932e78d337ade810203116617c57947e2e6241d559cea625b0e7b198f003efc732c7d9d365d49df02febd2207329347928ef87c32cc731744608c6e4223acf9eb9b829e0a86bba7cca3a0ecf562a6bc66b8f146a131518e62835a2fab968734c58bc5061baae9f028f3a39b017eb484a329e537cccae01d285d46333b8c9913776b7f8e257402b8b35e89d75899e154fae8d1cae6aed4fab0b83cc05d3e4a18a7f4a44b3e7ca181eaf891a9669cdad8e2c9cb478553c5102aa7f9a2841acdc4a40e8529bc0407fee78b637bb836908d5df68f6586c52d3b4575cfd2fedf78fd95e195f25f9300c0888e89807ed4c138d6a1d559174a9cff5ce36dfa3d769bcd011844a597baf6ae8ff040000ffff8c76ecfb01c001a0aeed47adbb7d5e7a64a670f39c197ab92cba2c3ce06332cc62ebfdac0d10b104a0111bf0b1ad38921e07feb02ec4acd7938adf755f75f3f571f523c66594cdf49b", - "new_receipt_trie_node_byte": "0xb9010d02f901090183d5aba1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 1016288 - } - }, - { - "traces": { - "0x59f27cd365b57bc248df18b8275dc210651f2c2e": { - "balance": "0x7cdad7c3251686" + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0xa588d75e73d6c2d22e0d2c7d6b2426afbccbb5ad3efa0402c6e02984521e2ff6", + "0xa0e375df9478e79972027a66093d9d5fa99b02365ff5432c620288ae37a60f4e" + ], + "storage_written": { + "0xa0e375df9478e79972027a66093d9d5fa99b02365ff5432c620288ae37a60f4e": "0x1", + "0xa588d75e73d6c2d22e0d2c7d6b2426afbccbb5ad3efa0402c6e02984521e2ff6": "0x2773c487c0dda8fcedb24c5a58e5019feabbfabc" + }, + "code_usage": { + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" + } }, - "0x55ed6af18e06f2ff4baf80e023316792f8dbd480": { - "balance": "0x6f7272212d7dc", - "nonce": "0x6" + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { + "storage_read": [ + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c" + ], + "code_usage": { + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621e322dd29d7b" - } - }, - "meta": { - "byte_code": "0x02f8710105830f424085080fd006068252089459f27cd365b57bc248df18b8275dc210651f2c2e877cdad7c325168680c001a0f2796b82ef6255ef5381f68508674c4959e6b7592dfa56ee4f0685611335d9eda01cdb43c5692ec0d055c17a59e8ed2db40c20cff390a5416a7a401bae3a1f7abd", - "new_txn_trie_node_byte": "0x02f8710105830f424085080fd006068252089459f27cd365b57bc248df18b8275dc210651f2c2e877cdad7c325168680c001a0f2796b82ef6255ef5381f68508674c4959e6b7592dfa56ee4f0685611335d9eda01cdb43c5692ec0d055c17a59e8ed2db40c20cff390a5416a7a401bae3a1f7abd", - "new_receipt_trie_node_byte": "0xb9010d02f901090183d5fda9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x3f369b7698a32d73d317ee92f4ae695d4d565c3d": { - "balance": "0x4f006ff76ac0", - "nonce": "0x55" + "0x2773c487c0dda8fcedb24c5a58e5019feabbfabc": { + "balance": "0x55c68515e53d1", + "nonce": "0x1" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621e3711852f7b" + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } }, - "0xda5e11e6ea18468a986657b222336f667e1a293a": { - "balance": "0xe661d8d5d325" - } + "0x0000000000000000000000000000000000000001": {} }, "meta": { - "byte_code": "0x02f8700154830f424085081560b8ed82520894da5e11e6ea18468a986657b222336f667e1a293a86e661d8d5d32580c001a0e753f569f5e31ef15bf00ba816263e61839aa227ed54875155b018f16cb4550da0129fe010c9f0d36f32080e38eca38301c3198bd8ee79a14e15f3527bd88c61e4", - "new_txn_trie_node_byte": "0x02f8700154830f424085081560b8ed82520894da5e11e6ea18468a986657b222336f667e1a293a86e661d8d5d32580c001a0e753f569f5e31ef15bf00ba816263e61839aa227ed54875155b018f16cb4550da0129fe010c9f0d36f32080e38eca38301c3198bd8ee79a14e15f3527bd88c61e4", - "new_receipt_trie_node_byte": "0xb9010d02f901090183d64fb1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f902910180830ded21850182487e228303bb7e94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051000000000000000000000000000000000000000000000000000000000000e4340000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000000e43400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3d100000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000415c7ddd990d8abd13758a55bac398bd930e6b1b1e91fe6306731d439abf844ac01ead6bc3a74e4a387a43c085c47070f53658238baf89bcf3f8471aaa60c46f091c00000000000000000000000000000000000000000000000000000000000000c001a05bd278d036632892a65528f530a84131609442d4a8d912b07e68345e9f38f13ba0257d808589156ae718dcdd565bbfcf689a1c7a4aea4023f63a8f0ec0e1872ee4", + "new_txn_trie_node_byte": "0x02f902910180830ded21850182487e228303bb7e94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051000000000000000000000000000000000000000000000000000000000000e4340000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000000e43400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3d100000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000415c7ddd990d8abd13758a55bac398bd930e6b1b1e91fe6306731d439abf844ac01ead6bc3a74e4a387a43c085c47070f53658238baf89bcf3f8471aaa60c46f091c00000000000000000000000000000000000000000000000000000000000000c001a05bd278d036632892a65528f530a84131609442d4a8d912b07e68345e9f38f13ba0257d808589156ae718dcdd565bbfcf689a1c7a4aea4023f63a8f0ec0e1872ee4", + "new_receipt_trie_node_byte": "0xb902ce02f902ca01840146e30db9010000000000000000000000000000000000000020000000200000000000080002008000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000020202000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000800000000000000000000000001000000000000000000002008000001000000000002004000000000000100000000000000020000000000000000000000000000000000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000002773c487c0dda8fcedb24c5a58e5019feabbfabca0000000000000000000000000000000000000000000000000000000000000e43480f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca00000000000000000000000002773c487c0dda8fcedb24c5a58e5019feabbfabca0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a0000000000000000000000000000000000000000000000000000000000000e434b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163071 } }, { "traces": { - "0xbfcd86e36d947a9103a7d4a95d178a432723d6ad": { - "balance": "0x50626e38fa151e8134", - "nonce": "0x7062" + "0x0000000000000000000000000000000000000001": {}, + "0x5133522ea5a0494ecb83f26311a095ddd7a9d4b6": { + "code_usage": { + "read": "0x97c86b3f6fac4e44d862bc80bfa532710b786e164e87a965beda2c5080bc79e8" + } }, - "0x7420b4b9a0110cdc71fb720908340c03f9bc03ec": { + "0x0000000000000068f116a894984e2db1123eb395": { "storage_read": [ - "0x0537db106a3a03e2ed0cd62e735337a4447e03941a5da8cb8092cafbd21f3273", - "0x1919404f3b5d9f032d343c1ef5521ad7d62900856471e992a6a6460b7b63b5d2" + "0xb8d71c1f618573fcbbf8c151a419e31fe215e5f8870a9115aa5d75ed684ce1a5", + "0x276c2d5266e48c08b0bddfa49c74c22b31fb83a4db282dbb23674aa9307f8b35" ], "storage_written": { - "0x0537db106a3a03e2ed0cd62e735337a4447e03941a5da8cb8092cafbd21f3273": "0x0", - "0x1919404f3b5d9f032d343c1ef5521ad7d62900856471e992a6a6460b7b63b5d2": "0x3ede4dbc57c86effef44b" + "0x276c2d5266e48c08b0bddfa49c74c22b31fb83a4db282dbb23674aa9307f8b35": "0x10000000000000000000000000000010001" }, "code_usage": { - "read": "0xa7b9be2e3d0956d42044bff7e7f5063f6b33d0ef7c3801232781e12a0c142152" + "read": "0x74499ac0cce14428e4b41541d5e44f28f5a6882a1051d0118867c2a93cd5aec0" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621e3e0c3aa57b" - } - }, - "meta": { - "byte_code": "0x02f8b101827061830f42408507d9738e4082fde8947420b4b9a0110cdc71fb720908340c03f9bc03ec80b844a9059cbb000000000000000000000000974026e01660d11b5b5f08394806b619702ac35c00000000000000000000000000000000000000000003ac3d8145c06247037a00c080a0047734f80826576c8c1254c0b9286c5b54c14f81e2abd38a207b42d6ffa6c62ba04b811daff459411406487481b492158fc6a3158159a1f8f4667cdaf3f24743b9", - "new_txn_trie_node_byte": "0x02f8b101827061830f42408507d9738e4082fde8947420b4b9a0110cdc71fb720908340c03f9bc03ec80b844a9059cbb000000000000000000000000974026e01660d11b5b5f08394806b619702ac35c00000000000000000000000000000000000000000003ac3d8145c06247037a00c080a0047734f80826576c8c1254c0b9286c5b54c14f81e2abd38a207b42d6ffa6c62ba04b811daff459411406487481b492158fc6a3158159a1f8f4667cdaf3f24743b9", - "new_receipt_trie_node_byte": "0xb901ab02f901a70183d6c4c9b9010000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000200000000000008000400000000000000000000100000000000000000800000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000080000000000000000000002000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b947420b4b9a0110cdc71fb720908340c03f9bc03ecf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000bfcd86e36d947a9103a7d4a95d178a432723d6ada0000000000000000000000000974026e01660d11b5b5f08394806b619702ac35ca000000000000000000000000000000000000000000003ac3d8145c06247037a00", - "gas_used": 29976 - } - }, - { - "traces": { - "0x9199a2c0c02204424af78a718a12c0509ad084ed": { - "balance": "0xabc1c4c3e3ab06", - "nonce": "0x50" + "0x33f8d62cd5e28fb8b11f868c07674f7181a5d473": { + "balance": "0x143462673fc0496", + "nonce": "0x282" }, - "0x7d539916c119fec6132495aa226b4f6424a7d5b9": { - "balance": "0x229d36f8eacdbb" + "0x0000a26b00c1f0df003000390027140000faa719": { + "balance": "0x1456daeba211f756c", + "code_usage": { + "read": "0x0e0a5f7bfe4bf9760a537b808095ac2a9e37c7755f7326691c11c216918166bf" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621e42efed377b" - } - }, - "meta": { - "byte_code": "0x02f871014f830f424085088f049ec2825208947d539916c119fec6132495aa226b4f6424a7d5b9871c6bf52634000080c001a05ca223f68243f192b13cb5329148c681d25229fe85eab86228140abc65f4430da02d25640ee0911675e323507b567b5f3c22a771f743e143487e7249eaf3a36ba9", - "new_txn_trie_node_byte": "0x02f871014f830f424085088f049ec2825208947d539916c119fec6132495aa226b4f6424a7d5b9871c6bf52634000080c001a05ca223f68243f192b13cb5329148c681d25229fe85eab86228140abc65f4430da02d25640ee0911675e323507b567b5f3c22a771f743e143487e7249eaf3a36ba9", - "new_receipt_trie_node_byte": "0xb9010d02f901090183d716d1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x25239f9ed9dcbdc86e3ee6ae067daa632e80157d": { - "balance": "0x9fd07055f208" + "0x1e0049783f008a0085193e00003d00cd54003c71": { + "storage_read": [ + "0x58d378c017b147e20c5e2165d42ae5632b3439c6aa34a0ecc35c5db91bbf26a4" + ], + "code_usage": { + "read": "0x069efdc9b946a332dce9951324fa197268e3ff0e00e44c6bf36049fc53113a41" + } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621e47d39fc97b" + "0xcfdea60a8ab73c61b90e4db3286078c8e5029494": { + "storage_read": [ + "0x0cd54c7e9657476bd9c23ead0dc1bbe9634ee6d597ca664d3827a2912ba4619a", + "0x000000000000000000000000000000000000000000000000000000000000006f", + "0xa49bbdff0c325e0c123d071c4ac5bf07805bd3991d5dce1760c3a299a8730321", + "0x2a64765273acea4edf4081d70603d3fba0dbab756005077eeaa03d986aba4f24", + "0x5a9b78bd0d2d509a7da113f347eae89b65c6ad9df176d409ecb74069448dfdd6", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x6f348b5cbf762421908c85f80163988839db0cf17e0afd19a09b08f2a62697c2", + "0xc5ff4e58418cadea2e7f9c8c4451857c24be996493f2b738cc152db4f06037a5" + ], + "storage_written": { + "0x5a9b78bd0d2d509a7da113f347eae89b65c6ad9df176d409ecb74069448dfdd6": "0x2", + "0x2a64765273acea4edf4081d70603d3fba0dbab756005077eeaa03d986aba4f24": "0x0", + "0x6f348b5cbf762421908c85f80163988839db0cf17e0afd19a09b08f2a62697c2": "0x33f8d62cd5e28fb8b11f868c07674f7181a5d473", + "0xa49bbdff0c325e0c123d071c4ac5bf07805bd3991d5dce1760c3a299a8730321": "0x0" + }, + "code_usage": { + "read": "0x6d82f298efc2dd87f10cbe07f8467e7b535e443308f69977a7cd7d9fdf4c8b83" + } }, - "0xd81ea41b749e290f0f5afa6842f6cb18f6d5eb6a": { - "balance": "0x27e62e37f2e6c", - "nonce": "0x2" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4e1344c73abc" + }, + "0xa9afad34421a12341148abfc6a4aa7f836522697": { + "balance": "0xd764748939733b" } }, "meta": { - "byte_code": "0x02f8700101830f42408507f3f0da698252089425239f9ed9dcbdc86e3ee6ae067daa632e80157d869fd07055f20880c080a0f397115719caf33fba021d42b925535760ededcbf32a5f37b69b0e1d2cc8fd93a02908b28ec718caee8df560dc477f055b581e0376682f08cf424e919c5cc95ed1", - "new_txn_trie_node_byte": "0x02f8700101830f42408507f3f0da698252089425239f9ed9dcbdc86e3ee6ae067daa632e80157d869fd07055f20880c080a0f397115719caf33fba021d42b925535760ededcbf32a5f37b69b0e1d2cc8fd93a02908b28ec718caee8df560dc477f055b581e0376682f08cf424e919c5cc95ed1", - "new_receipt_trie_node_byte": "0xb9010d02f901090183d768d9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f903a201820281830ded21850182487e2283029588940000000000000068f116a894984e2db1123eb39587470de4df820000b9032c00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004547258d1ec000000000000000000000000000a9afad34421a12341148abfc6a4aa7f836522697000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00000000000000000000000000cfdea60a8ab73c61b90e4db3286078c8e502949400000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000661b46b0000000000000000000000000000000000000000000000000000000006641d9de0000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000ab2041bb3ab9e38a0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000000000000000000000000000000000000000000000000000000000408d1900995662bb94fe626a6bdca80dd2eb4ea8701f1a04948bfc4219fb39ecb7e09c683cf346d36cb357b020acdeba99b72d8007491535b903e3aab530fe30f100000000360c6ebec080a0a6bdd5a995850fd357567e569bf932dfa58864ff9139d92e3a63098c15e6e2d9a06be65dd3ea907220c48b57f60d2cd38c5a202c0621ef6b0c67d89b8da6da698d", + "new_txn_trie_node_byte": "0x02f903a201820281830ded21850182487e2283029588940000000000000068f116a894984e2db1123eb39587470de4df820000b9032c00000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004547258d1ec000000000000000000000000000a9afad34421a12341148abfc6a4aa7f836522697000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00000000000000000000000000cfdea60a8ab73c61b90e4db3286078c8e502949400000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000661b46b0000000000000000000000000000000000000000000000000000000006641d9de0000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000ab2041bb3ab9e38a0000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000000000000000000000000000000000000000000000000000000000408d1900995662bb94fe626a6bdca80dd2eb4ea8701f1a04948bfc4219fb39ecb7e09c683cf346d36cb357b020acdeba99b72d8007491535b903e3aab530fe30f100000000360c6ebec080a0a6bdd5a995850fd357567e569bf932dfa58864ff9139d92e3a63098c15e6e2d9a06be65dd3ea907220c48b57f60d2cd38c5a202c0621ef6b0c67d89b8da6da698d", + "new_receipt_trie_node_byte": "0xb9054c02f9054801840148c50eb90100000000000000000000000000000000200000000000040000000000000000000000000000000000000000000000000000000010000000000000000000002000000000200000000000000000080000000000000000020000000000000000000000000000000202000000808000000008000000000000000000000040100000000100000000000000000000000000000000000000000000000000000000000000008a0000000010000000000000000000000000000000000006000800000000000000202002000000000000000002000000000000000000000000000100000020000010000000000000000000000000000000000000000800000000000000000000f9043cf902fd940000000000000068f116a894984e2db1123eb395f863a09d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31a0000000000000000000000000a9afad34421a12341148abfc6a4aa7f836522697a0000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00b90280a336989eb70d1c9b6ad1dd3c28db0ad4b8f1404a30b8f38b11c8ef6b325a0ef300000000000000000000000033f8d62cd5e28fb8b11f868c07674f7181a5d4730000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000cfdea60a8ab73c61b90e4db3286078c8e5029494000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004547258d1ec000000000000000000000000000a9afad34421a12341148abfc6a4aa7f8365226970000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000a26b00c1f0df003000390027140000faa719f89c94cfdea60a8ab73c61b90e4db3286078c8e5029494f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a9afad34421a12341148abfc6a4aa7f836522697a00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000780f89c94cfdea60a8ab73c61b90e4db3286078c8e5029494f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a9afad34421a12341148abfc6a4aa7f836522697a000000000000000000000000033f8d62cd5e28fb8b11f868c07674f7181a5d473a0000000000000000000000000000000000000000000000000000000000000000780", + "gas_used": 123393 } }, { "traces": { - "0x373fbd4c662b20031fb091869d4fc0ba79f465ed": { - "balance": "0x70870dc4fcfd36" + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { + "storage_read": [ + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd" + ], + "code_usage": { + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" + } + }, + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } }, - "0x9d54cf9108ae93a30a8541d7d500c313f1dd95de": { - "balance": "0x2fb237f3c448a", + "0xc8949dddd6e902490c903622b400e25b0f96ae2e": { + "balance": "0x1c7719cc09f280", "nonce": "0x2" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621e4cb7525b7b" - } - }, - "meta": { - "byte_code": "0x02f8710101830f42408507f821c7cf82520894373fbd4c662b20031fb091869d4fc0ba79f465ed8770870dc4fcfd3680c080a0e6e83e39de343a77c00af6652879157229f8d182dc2ca7b2c2bbb720f93f80a2a0751347547f9bf9e3ceaffbf697d500f96207461ad4f83bce4291e2ab5e16159f", - "new_txn_trie_node_byte": "0x02f8710101830f42408507f821c7cf82520894373fbd4c662b20031fb091869d4fc0ba79f465ed8770870dc4fcfd3680c080a0e6e83e39de343a77c00af6652879157229f8d182dc2ca7b2c2bbb720f93f80a2a0751347547f9bf9e3ceaffbf697d500f96207461ad4f83bce4291e2ab5e16159f", - "new_receipt_trie_node_byte": "0xb9010d02f901090183d7bae1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0xa6b71e26c5e0845f74c812102ca7114b6a896ab2": { - "nonce": "0x2af84", + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { + "storage_read": [ + "0x972e7c39e79e9284549de862b1ea8b4d8f0625696f801dbf3b9254505a6193d0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x9f6ca28b5ec7ae8fd672377e122789ac9322e0929653d9edd9e32b578d42cadd" + ], + "storage_written": { + "0x9f6ca28b5ec7ae8fd672377e122789ac9322e0929653d9edd9e32b578d42cadd": "0x1", + "0x972e7c39e79e9284549de862b1ea8b4d8f0625696f801dbf3b9254505a6193d0": "0x1" + }, "code_usage": { - "read": "0x337d7f54be11b6ed55fef7b667ea5488db53db8320a05d1146aa4bd169a39a9b" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } }, - "0xa96fdf43899708b65fa413ffaa8eefd153405840": { - "nonce": "0x1", + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0xe5af120f0ba402d351c0e5603f23d5613079b05d6a0ec52ce2320bb1ecfcc332", - "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0", - "0xcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f", + "0x000000000000000000000000000000000000000000000000000000000000000a", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004" + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0xd5078a84ee1422df5a2af60e3e884ce930a6b749a4fdb1612e983ff3fb1e5514", + "0xb360ba433ee22cd59843970415931795deaab15718debd9a7fb38fed89476e99" ], "storage_written": { - "0xcc69885fda6bcc1a4ace058b4a62bf5e179ea78fd58a1ccd71c22cc9b688792f": "0x1", - "0xe5af120f0ba402d351c0e5603f23d5613079b05d6a0ec52ce2320bb1ecfcc332": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000004": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000003": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0xd9db270c1b5e3bd161e8c8503c55ceabee709552", - "0xe90b7bceb6e7df5418fb78d8ee546e97c83a08bbccc01a0644d599ccd2a7c2e0": "0x2811e6b7fad03452fbc15705ca06aaacfc8dbf99", - "0x6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d5": "0xf48f2b2d2a534e402487b3ee7c18c33aec0fe5e4" + "0xd5078a84ee1422df5a2af60e3e884ce930a6b749a4fdb1612e983ff3fb1e5514": "0xc8949dddd6e902490c903622b400e25b0f96ae2e", + "0xb360ba433ee22cd59843970415931795deaab15718debd9a7fb38fed89476e99": "0x1" }, "code_usage": { - "write": "0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0x2811e6b7fad03452fbc15705ca06aaacfc8dbf99": { - "balance": "0x156ab6b5ab0ba8", - "nonce": "0x46" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196621e85f5e8d1fb" - }, - "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { - "code_usage": { - "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" - } + "0x0000000000000000000000000000000000000001": {}, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4e35ed12a5b3" } }, "meta": { - "byte_code": "0x02f902710145830e8148850826299e008303fee494a6b71e26c5e0845f74c812102ca7114b6a896ab280b902041688f0b9000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee70955200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000018db1ab89150000000000000000000000000000000000000000000000000000000000000164b63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000f48f2b2d2a534e402487b3ee7c18c33aec0fe5e400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002811e6b7fad03452fbc15705ca06aaacfc8dbf99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0afca07e5c1365b4358ec7a5669839efa315a0afbab1d7d92a3b92edbbe081a45a076420985f045d96240477362329be9d491eb7b9e0f82e1c2550dd30e8b11f8db", - "new_txn_trie_node_byte": "0x02f902710145830e8148850826299e008303fee494a6b71e26c5e0845f74c812102ca7114b6a896ab280b902041688f0b9000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee70955200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000018db1ab89150000000000000000000000000000000000000000000000000000000000000164b63e800d0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000f48f2b2d2a534e402487b3ee7c18c33aec0fe5e400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002811e6b7fad03452fbc15705ca06aaacfc8dbf99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0afca07e5c1365b4358ec7a5669839efa315a0afbab1d7d92a3b92edbbe081a45a076420985f045d96240477362329be9d491eb7b9e0f82e1c2550dd30e8b11f8db", - "new_receipt_trie_node_byte": "0xb902a802f902a40183dbad31b9010000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000008000000200000000000000000000000100500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000001000000000000000000000000000000000000000080000000000000000400000008020000000000000100000000000000000f90199f9011b94a96fdf43899708b65fa413ffaa8eefd153405840f842a0141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a8a0000000000000000000000000a6b71e26c5e0845f74c812102ca7114b6a896ab2b8c0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f48f2b2d2a534e402487b3ee7c18c33aec0fe5e400000000000000000000000000000000000000000000000000000000000000010000000000000000000000002811e6b7fad03452fbc15705ca06aaacfc8dbf99f87994a6b71e26c5e0845f74c812102ca7114b6a896ab2e1a04f51faf6c4561ff95f067657e43439f0f856d97c04d9ec9070a6199ad418e235b840000000000000000000000000a96fdf43899708b65fa413ffaa8eefd153405840000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552", - "gas_used": 258640 + "byte_code": "0x02f902910101830ded21850182487e228303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000440d40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d3700000000000440d400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3b100000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041e209b865f3bb7f3d743402e791699e34ab7d5dec87a90468cd2462c5efd98b8409db820f16d3f8b457017cda34847555374b337c64675fb078364b7a14b1f1361b00000000000000000000000000000000000000000000000000000000000000c001a0d6f689cab1346f494c08ba629ecd58a7255068f43d12cf62a10dacd8943d8360a03471eb248c8e6acd5b8a47ae3de5130a60b6d54672cdf66936a19ba910017285", + "new_txn_trie_node_byte": "0x02f902910101830ded21850182487e228303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000440d40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d3700000000000440d400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3b100000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041e209b865f3bb7f3d743402e791699e34ab7d5dec87a90468cd2462c5efd98b8409db820f16d3f8b457017cda34847555374b337c64675fb078364b7a14b1f1361b00000000000000000000000000000000000000000000000000000000000000c001a0d6f689cab1346f494c08ba629ecd58a7255068f43d12cf62a10dacd8943d8360a03471eb248c8e6acd5b8a47ae3de5130a60b6d54672cdf66936a19ba910017285", + "new_receipt_trie_node_byte": "0xb902ce02f902ca0184014b4225b9010000000000000000000000000000000000000000000000200000000000000002008000000000000001000000000000000000000000000000000000040000000000000000000000000000000008000000100000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004024000000000000000000000000000001000000000000000000002008000001000000000102004000000000040000000000000000020000000000000000000000000000000000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000c8949dddd6e902490c903622b400e25b0f96ae2ea000000000000000000000000000000000000000000000000000000000000440d480f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000c8949dddd6e902490c903622b400e25b0f96ae2ea0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a000000000000000000000000000000000000000000000000000000000000440d4b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0x6667961f5e9c98a76a48767522150889703ed77d": { - "balance": "0x2867a722a45949050", - "nonce": "0x4541" - }, - "0x6968f3f16c3e64003f02e121cf0d5ccbf5625a42": { + "0xd3927981cafa537391a67a26d114d3d5a72098ff": { "storage_read": [ - "0xd13497e709ef25f9bd92b1fc1ea31860e615bc6f8b7bc3ffa85f421314b9b54d", - "0x313a873352032d5ee8adb7ba052e56200d3cadd84a36b8a4ac8cad390266ade3", - "0xb909d9d003ef362cf7745f9ca8a183ca99ff4cc7c8c23d1389cfb2a75ca0b0a9", - "0x9cfabadf367201974cccc37ba93ea6466323f0a4ca89112f7f6b368ebd6550b7", - "0x34c3c3a4a1ba8f989f7caafd876c5efd8fafdf8af8ce85db229414a94c18cfb8", - "0x2d709a014bc42e015cc513b26e4331a9d5393d5a37a52a2504696517fb7f1e7b", - "0xde6a1fc74231e8dab0de464c7ccea2ff66d42030bde1d73e5dfc4103423205a6", - "0x9e87f4195e95e1d5785cca7180851e790121cb9f658345d5297e21bda61d2438", - "0x73b46fc0a0633d32ae4bb2a67a5d6081ba2c5f57308533b33c4a016f121ad37e" + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c" ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1a59af935522c89ed6602e951fb080b8ecdc", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b0000000000001feb91ec39ad5092000000000000072de1d80b269cfa", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x272d4f734b6058528e065419c6f6e7d380" + }, "code_usage": { - "read": "0x97625afc80babcb5ef2c6cc2b63b8bab55ebad296f570e128f39d807e50fe3d3" + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" } }, - "0xa0d79e982bfd3c2ccd09d2e374ddc75fe328f317": { + "0x000000000022d473030f116ddee9f6b43ac78ba3": { "storage_read": [ - "0xb9c924aca6c9c47d96dac985eb766b998a91adeb16cb62b2efc09c6e88d3e737", - "0xc32d19ce8686e61fe621708eda6ca5e7a3e7f2e75586fd5bb3ba4ef0fd321301", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x69853aba0a4e93bb67c98a2d0049aac5356aee695eeb7a0041e8b101d3205ef7", - "0x69853aba0a4e93bb67c98a2d0049aac5356aee695eeb7a0041e8b101d3205ef4", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x69853aba0a4e93bb67c98a2d0049aac5356aee695eeb7a0041e8b101d3205ef9", - "0x10ffc9a5bc1670c3765a10be2b949d000e9c4c91a817233ab52688603ac1710b" + "0xcc61eeba83e90c47bd33dd3a0fb2ba4b7c296eeb1bf02180b1caa5f70fb6d47e" ], "storage_written": { - "0xc32d19ce8686e61fe621708eda6ca5e7a3e7f2e75586fd5bb3ba4ef0fd3212fe": "0x4540", - "0xc32d19ce8686e61fe621708eda6ca5e7a3e7f2e75586fd5bb3ba4ef0fd321302": "0x0", - "0x10ffc9a5bc1670c3765a10be2b949d000e9c4c91a817233ab52688603ac1710b": "0x1", - "0xc32d19ce8686e61fe621708eda6ca5e7a3e7f2e75586fd5bb3ba4ef0fd3212fd": "0x3505a77", - "0xc32d19ce8686e61fe621708eda6ca5e7a3e7f2e75586fd5bb3ba4ef0fd3212fc": "0xe28258e41919a553067303631380ad88812e45d5053fb16367d2c8fe886a9e23", - "0xc32d19ce8686e61fe621708eda6ca5e7a3e7f2e75586fd5bb3ba4ef0fd3212ff": "0x65d89867", - "0xb9c924aca6c9c47d96dac985eb766b998a91adeb16cb62b2efc09c6e88d3e737": "0x1", - "0xc32d19ce8686e61fe621708eda6ca5e7a3e7f2e75586fd5bb3ba4ef0fd321300": "0x12596ca", - "0x69853aba0a4e93bb67c98a2d0049aac5356aee695eeb7a0041e8b101d3205ef9": "0x3505a77", - "0xc32d19ce8686e61fe621708eda6ca5e7a3e7f2e75586fd5bb3ba4ef0fd321301": "0x1" + "0xcc61eeba83e90c47bd33dd3a0fb2ba4b7c296eeb1bf02180b1caa5f70fb6d47e": "0x20000665a5d59ffffffffffffffffffffffffffffffffffffffff" }, "code_usage": { - "read": "0xd8ab799e60061c9d36c9f5ebfb47a412394e83b71a877aa865fe9fd2b82564c0" + "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" } }, - "0x5dd48ef85b99e3e3d711ca8b41cbc07da1677f3e": { + "0xad8f047d9b742565bb9e10c7655bd3ee9c1eab75": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000002" + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0xed827c6d95e880ff4ac6ce3a3288f2e56b8c1e10d61e8964326ba9f2c51ddb2d", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0xf2afc2e49e2dc8e5b169652950b3775f28414186d74bcefe8018302cfa74807a", + "0x66f90d517ee6bc329666c04d529ff3331c9dfdb963e5648ec44cc6e36ddd6aa0", + "0x7d15701c7d63d1de29d403e001a17044f6c4138a99704905a14b7bf410a09df8", + "0xa9782060593b2b2d7ceb2267b37b5f53e854401fae71e4aa2869134c34226019", + "0xd85ed734467ae06b0ed5ecf8a87772202f782b3ef165c952fdc7aa9ff87c84ad", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" ], + "storage_written": { + "0xf2afc2e49e2dc8e5b169652950b3775f28414186d74bcefe8018302cfa74807a": "0x72de1d80b269cfa", + "0xa9782060593b2b2d7ceb2267b37b5f53e854401fae71e4aa2869134c34226019": "0x0", + "0x7d15701c7d63d1de29d403e001a17044f6c4138a99704905a14b7bf410a09df8": "0xffffffffffffffffffffffffffffffffffffffffffffffffffecfabae3063a09", + "0xed827c6d95e880ff4ac6ce3a3288f2e56b8c1e10d61e8964326ba9f2c51ddb2d": "0x4d0a7cfb57c6" + }, "code_usage": { - "read": "0x0b7f82ea02ac627d8c0b80db0b7f10d06e3034c7b11da468b6baeb7cb03e3ab7" - } - }, - "0x0000000000000000000000000000000000000001": {}, - "0x1872ce78a362c58d093ee107cadee2667b7bd993": { - "code_usage": { - "read": "0x941140f9b4802c415fad3a278c0b288760a3edfe2b57859a965ab1b79ae53b71" + "read": "0xe66c20bb236f8602851e4e5d5c70b52032356afcec8b22d9f6f3e6178308aaee" } }, - "0x399ca67660b79f7aa8a7efd5bef9836a4c19cacf": { - "storage_read": [ - "0xcbd85a953b7b8f20ea0a874360bb60c2ff625e64bde3ce0f9f9791b1f9e1d4f9", - "0x1b096e0b1447f4374b592dfb602b51564136cc0ca2c6cf8559ada44a0220c219", - "0xbb3511dafaaada4c58043f867b6b7c4f707e289a5b0105a38da70f4dd14c67ce", - "0x938d6e42d730a9448b022b2c8c781ed6ad5695d9465f89eee8db2c73555afc84", - "0xd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf83", - "0xbcda123a222aef9307e80b00b284e5b77fa2270cf1c6a2d3da7a830c689118bb", - "0x8d9478e03374a6b1dff3d6476b87295e7c4995ac391454bfbd1ca63de6741faf", - "0xf728cbc1a62f97eda0c9ab243d66eb51cb45163d76377b288e4c8ac1fa22039f", - "0x18eea7aef1e127c10503415cd8a9a7895efb01cad6f56f2c7bee5040ba088fc0", - "0x18eea7aef1e127c10503415cd8a9a7895efb01cad6f56f2c7bee5040ba088fc1", - "0xd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf82", - "0x4c5494cc338e32364ad116a92cf50b71547e1ffdc9f3b9f1f4821efd20f2ec15", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x000000000000000000000000000000000000000000000000000000000000009d", - "0x114846563ec9c4af339442784b6c67aae8fc291739c7f3a3d854e6ab46208453", - "0x7f916742a82287e54af38543c9d639aa639f5691964312cc45c81f3c363fc5fa", - "0xd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf80", - "0x114846563ec9c4af339442784b6c67aae8fc291739c7f3a3d854e6ab46208452", - "0xcbd85a953b7b8f20ea0a874360bb60c2ff625e64bde3ce0f9f9791b1f9e1d4fa", - "0xd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7f", - "0x403449e5db298bbf23a873f005f6db5d54a3bfa4632ca6f05c215b229cd83777", - "0x7e69bcec862e8a1f999769acb82888070c9aa05c46ce852b91a01d6f60aa777d", - "0xf2c12c97387c452a1021b8c641adccc6a36a5b9090001a2aff854d05a0cbfbf6", - "0xd004c3e2ece609573142ff45683651ad48262bb5668cc19f9d708869945d7f95", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x0000000000000000000000000000000000000000000000000000000000000098", - "0xd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7c", - "0x50001ab8e9c66d6a545e6a0ba73292954247ff6abe9efa5cb8e5f144d11cc313", - "0xd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7e", - "0xd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf84", - "0x724914758b9cdd1aff478490d6bc409578ee405e47843f4448bb96a9d304fe75", - "0x81e01d5d0104c511af99cce4efa3a695fc7719494d8242faf38cecf66faba295", - "0xd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7b", - "0x7e69bcec862e8a1f999769acb82888070c9aa05c46ce852b91a01d6f60aa777c", - "0xd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf81", - "0x7af2aff6b35506139aa327282535d3015ebfb8bca8f919c3da6282328e9bcc65", - "0x1d3c91fdfcdac05f2cf7455d4d5fbe4016d6fa48c12aeecc613948b2830e34f0", - "0xd26e832454299e9fabb89e0e5fffdc046d4e14431bc1bf607ffb2e8a1ddecf7d", - "0xbcda123a222aef9307e80b00b284e5b77fa2270cf1c6a2d3da7a830c689118bc", - "0xd004c3e2ece609573142ff45683651ad48262bb5668cc19f9d708869945d7f94", - "0x7f916742a82287e54af38543c9d639aa639f5691964312cc45c81f3c363fc5fb", - "0xf728cbc1a62f97eda0c9ab243d66eb51cb45163d76377b288e4c8ac1fa2203a0", - "0x7af2aff6b35506139aa327282535d3015ebfb8bca8f919c3da6282328e9bcc64", - "0x724914758b9cdd1aff478490d6bc409578ee405e47843f4448bb96a9d304fe74" - ], - "code_usage": { - "read": "0xd8ab799e60061c9d36c9f5ebfb47a412394e83b71a877aa865fe9fd2b82564c0" - } - }, - "0x31abe1c466c2a8b95fd84258dd1471472979b650": { + "0xdac17f958d2ee523a2206206994597c13d831ec7": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000" + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0xcc6ba3881e19e898c68d1764c55d71c9892e9a889b5b0e748b9f729a360587a0", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x45b1147656da4d940c556082f0e09e91e3d046c1c84468f8ead64d8fdc1c749a", + "0x6e483ffc2384d2d2357812d7e3ba6785be00c114086905577f3f1a14f81f894b", + "0xf86ec4f57b5e0bff80d391d11bbaaa31e0ea2ae387d33c3d81eafeaa8b1f9773", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x485c151f646ee015010d293862658dc47c828088bd28e4735650f01ee0ca233e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x7c7d31753a5fbb06b1031d9c64d1f5f2e847f3dd13d84777e7abb56bcce39d52" ], + "storage_written": { + "0x485c151f646ee015010d293862658dc47c828088bd28e4735650f01ee0ca233e": "0x0", + "0xcc6ba3881e19e898c68d1764c55d71c9892e9a889b5b0e748b9f729a360587a0": "0x6b475ef0", + "0x45b1147656da4d940c556082f0e09e91e3d046c1c84468f8ead64d8fdc1c749a": "0x455a761e4426", + "0xf86ec4f57b5e0bff80d391d11bbaaa31e0ea2ae387d33c3d81eafeaa8b1f9773": "0x3d0ddcbff" + }, "code_usage": { - "read": "0x208ea85e92000d8d024bde331090baee03a28a4bb06cc964b04c7fd8be3c29d9" + "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" } }, - "0xd1328c9167e0693b689b5aa5a024379d4e437858": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4e6b4cc56078" + }, + "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000071", - "0x000000000000000000000000000000000000000000000000000000000000006f", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x716ec167f1fce2a774900f145290797223ffd4305b55987cf34572dff7394d3f", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x602bd4c9a56c5dfff46848d41c2404c91b29a97884f68391407b2cb21bb88b13", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x602bd4c9a56c5dfff46848d41c2404c91b29a97884f68391407b2cb21bb88b15", "0x0000000000000000000000000000000000000000000000000000000000000001" ], "storage_written": { - "0x602bd4c9a56c5dfff46848d41c2404c91b29a97884f68391407b2cb21bb88b13": "0x4541", - "0x000000000000000000000000000000000000000000000000000000000000006f": "0x4541", - "0x0000000000000000000000000000000000000000000000000000000000000070": "0x4541", - "0x0000000000000000000000000000000000000000000000000000000000000071": "0x4541" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" }, "code_usage": { - "read": "0xd8ab799e60061c9d36c9f5ebfb47a412394e83b71a877aa865fe9fd2b82564c0" - } - }, - "0x242a33ca49c564cafc9c83c700b79f1074c42a0d": { - "code_usage": { - "read": "0xe0d10356f65d19d54d366dce06e12a621952c4f4db555ed45b5821741cb10fc5" + "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" } }, - "0x291dc3819b863e19b0a9b9809f8025d2eb4aae93": { + "0x0000000000000000000000000000000000000001": {}, + "0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377dc650" + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000006": "0xdc89", - "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377dc64f": "0x96d3cfa38fc15712d52dd09f223d4d397d169e93e759622cf7a12dd9fd7a9575", - "0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377dc650": "0x12596ca0065cf5de7" + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x189a271541855a4304f08b1e55c8bc90c8282dcd2b7", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b0000000000000000455a761e442600000000056e6129c04eedf0c663", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x3ee9213957d8660843a0d9bd47a0" }, "code_usage": { - "read": "0x59214cf130207dbf620537da6576148ad217b894c5b41b1d33bfc582df410976" + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" } }, - "0xf7576237087f808eb39531ca490b4f8efd4a0c69": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "storage_read": [ + "0x3066c9c52542ce0dd5245dd237b95f0a1dcb86809ee7da8dfffcc35d04c4a3b9", + "0xaced72359d8708e95d2112ba70e71fa267967a5588d15e7c78c1904e0debe410" + ], + "storage_written": { + "0xaced72359d8708e95d2112ba70e71fa267967a5588d15e7c78c1904e0debe410": "0x56e6129c04eedf0c663", + "0x3066c9c52542ce0dd5245dd237b95f0a1dcb86809ee7da8dfffcc35d04c4a3b9": "0x1feb91ec39ad5092" + }, "code_usage": { - "read": "0xa0969bdbbfaedabe5cb3398d93a0066600e8b3ef93b3ed063ec33a178f050760" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662212c249e7b5b" + "0x73aa6bf7fecc75a399aa06be3055102f034f21ed": { + "balance": "0xb8f480e37ba9875", + "nonce": "0x585" + } + }, + "meta": { + "byte_code": "0x02f9057301820584830ded21850182487e22830548ec943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b905043593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d08f00000000000000000000000000000000000000000000000000000000000000040a08060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000ad8f047d9b742565bb9e10c7655bd3ee9c1eab75000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000665a5d5900000000000000000000000000000000000000000000000000000000000000010000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006632d76100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041e695167a574d1f03378283bbb7dc7aa89d86b829b973263064fded976d6c46d22ef2039767ec2a229e7bd0f4391ba5e4cf2f79a179cba4a3e9221bddd61443691c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000859500bb9fc4b0000000000000000000000000000000000000000000000000000000001a5a64900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000ad8f047d9b742565bb9e10c7655bd3ee9c1eab75000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000060000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000037a8f295612602f2774d331e562be9e61b83a32700000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000001a4986dc001a0e29f8ca005649c16c2f8e6d8bd6d848ba8b23860259d4b171311f4605c389e12a0122efb1171cc3d3ea51af9d68cd214d36ae3a4c4bed15e6247bbaf1ae467bf2c", + "new_txn_trie_node_byte": "0x02f9057301820584830ded21850182487e22830548ec943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b905043593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d08f00000000000000000000000000000000000000000000000000000000000000040a08060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000ad8f047d9b742565bb9e10c7655bd3ee9c1eab75000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000665a5d5900000000000000000000000000000000000000000000000000000000000000010000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006632d76100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041e695167a574d1f03378283bbb7dc7aa89d86b829b973263064fded976d6c46d22ef2039767ec2a229e7bd0f4391ba5e4cf2f79a179cba4a3e9221bddd61443691c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000859500bb9fc4b0000000000000000000000000000000000000000000000000000000001a5a64900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000ad8f047d9b742565bb9e10c7655bd3ee9c1eab75000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000060000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000037a8f295612602f2774d331e562be9e61b83a32700000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000001a4986dc001a0e29f8ca005649c16c2f8e6d8bd6d848ba8b23860259d4b171311f4605c389e12a0122efb1171cc3d3ea51af9d68cd214d36ae3a4c4bed15e6247bbaf1ae467bf2c", + "new_receipt_trie_node_byte": "0xb9094c02f909480184014f174ab9010000210000000000100000000080040000000000000000000000000000000000000000000100000000400020000000010002010000880000000000000000280000000000080000000000004008000000200000000000000800080000400060100000010000000000000000000000000010000000000000000008000010000000000800804010000000000000080000000000000000000000080000004000100000020000000000000000000080000000000400000000000000000020000000000000000002000000000000400000000008000000000000001000080000000000000010200000000000000004000000000000001000001000400000000000004400f9083cf8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca000000000000000000000000073aa6bf7fecc75a399aa06be3055102f034f21eda0000000000000000000000000ad8f047d9b742565bb9e10c7655bd3ee9c1eab75a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000665a5d590000000000000000000000000000000000000000000000000000000000000001f89b94ad8f047d9b742565bb9e10c7655bd3ee9c1eab75f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000073aa6bf7fecc75a399aa06be3055102f034f21eda0000000000000000000000000ad8f047d9b742565bb9e10c7655bd3ee9c1eab75a000000000000000000000000000000000000000000000000000002abf0a797acef89b94ad8f047d9b742565bb9e10c7655bd3ee9c1eab75f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000073aa6bf7fecc75a399aa06be3055102f034f21eda0000000000000000000000000d3927981cafa537391a67a26d114d3d5a72098ffa000000000000000000000000000000000000000000000000000082e910140817df89b94ad8f047d9b742565bb9e10c7655bd3ee9c1eab75f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000073aa6bf7fecc75a399aa06be3055102f034f21eda0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffecfabae3063a09f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d3927981cafa537391a67a26d114d3d5a72098ffa00000000000000000000000000d4a11d5eeaac28ec3f61d100daf4d40471f1852a000000000000000000000000000000000000000000000000000246e6ad2128c5ef87994d3927981cafa537391a67a26d114d3d5a72098ffe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000072de1d80b269cfa0000000000000000000000000000000000000000000000001feb91ec39ad5092f8fc94d3927981cafa537391a67a26d114d3d5a72098fff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000d4a11d5eeaac28ec3f61d100daf4d40471f1852b88000000000000000000000000000000000000000000000000000082e910140817d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000246e6ad2128c5ef89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000d4a11d5eeaac28ec3f61d100daf4d40471f1852a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000000000001cfd084f879940d4a11d5eeaac28ec3f61d100daf4d40471f1852e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000056e6129c04eedf0c6630000000000000000000000000000000000000000000000000000455a761e4426f8fc940d4a11d5eeaac28ec3f61d100daf4d40471f1852f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000000000000246e6ad2128c5e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001cfd084f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000037a8f295612602f2774d331e562be9e61b83a327a000000000000000000000000000000000000000000000000000000000000128d7f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000073aa6bf7fecc75a399aa06be3055102f034f21eda00000000000000000000000000000000000000000000000000000000001cea7ad", + "gas_used": 251173 + } + }, + { + "traces": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4ea3f28c732b" }, - "0x89e9d387555af0cde22cb98833bae40d640ad7fa": { + "0x0000000000000000000000000000000000000004": {}, + "0x1e0049783f008a0085193e00003d00cd54003c71": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x58d378c017b147e20c5e2165d42ae5632b3439c6aa34a0ecc35c5db91bbf26a4" ], "code_usage": { - "read": "0xe24f63e22a1b2f78fdc2a49a760b0e71ec38c38192d8ab9417a20a5d4439bcad" + "read": "0x069efdc9b946a332dce9951324fa197268e3ff0e00e44c6bf36049fc53113a41" } }, - "0x4692363048d0f32a2de7816860d48fff0c61b24b": { + "0x08d1fa6c9981bca207ee2bc7bbaf6604a2a80a84": { + "balance": "0x8a74c8a047203", + "nonce": "0x3f1" + }, + "0x0000000000000068f116a894984e2db1123eb395": { + "storage_read": [ + "0xe3c78b3b9fb418c96a6d0bf04847607a90ea06333a3f89b61da9bb5adfca1eda", + "0xfe99e82abda4a152b9f2a4c5714dd9e61a5311f40baa1971391460295835e505", + "0xc88cc4245cc67f49da295536260a47f18d26eda0a8da747ef0f48a177bfcc4c9", + "0xe40c5759919a9e174cbd1680a3bdc315d8d3ce677889020680774bb0a334b418" + ], + "storage_written": { + "0xe3c78b3b9fb418c96a6d0bf04847607a90ea06333a3f89b61da9bb5adfca1eda": "0x10000000000000000000000000000010001", + "0xc88cc4245cc67f49da295536260a47f18d26eda0a8da747ef0f48a177bfcc4c9": "0x40000000000000000000000000000040001" + }, "code_usage": { - "read": "0xab6ea500b0ba9e171f374c5d26dba80310b20fe83b5f65d2c5984f0f437e0323" + "read": "0x74499ac0cce14428e4b41541d5e44f28f5a6882a1051d0118867c2a93cd5aec0" } }, - "0xd3f0bd982d72e28cccc69e0a9da439e9d587b3bd": { + "0x0000000000000000000000000000000000000001": {}, + "0xa5c0bd78d1667c13bfb403e2a3336871396713c5": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000000" + "0x58073974356ac0f32fa02e753e3b39ed4b26577e3ce719b634598a12390605d6", + "0x835c86278871aa3ce2cc5096bc13a567cbed0119276c0efda5b57b2406851f69", + "0x2d24e00f5581ba685fd68311f9206c327c7d534814a35ac8f7325ad547eac79e", + "0x0c0cb15578695ad4642ff7ac31ef9af0b72adeedb879e4b26d9d5804c8c59db3", + "0x92d258ea1ac5e82d1dd5169a5730c27b894c46cfa2d1e0f211dcf2c05e9d4c42", + "0x58763e8a8f83ebfbb8573a82771bce0748c979721990a5af7ae9fa450de27c0b" ], "storage_written": { - "0x85d37c580aad9aae1752283025b42baff723db0c73632a2d3e49ac44752a6534": "0x54e0ffbf3158cd6fa20365790f47283bbc596d5150c040015352c79338218734", - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x65cf5de70003505a770000004541" + "0x2d24e00f5581ba685fd68311f9206c327c7d534814a35ac8f7325ad547eac79e": "0xb27fc57ef0363f7bd55596cb024a42639eb5e11c", + "0x08afed1425641316ff99311d265994d1341c1a9c8b6536d7364cb541ccefa67a": "0xc3e", + "0x58073974356ac0f32fa02e753e3b39ed4b26577e3ce719b634598a12390605d6": "0x3b", + "0x0c0cb15578695ad4642ff7ac31ef9af0b72adeedb879e4b26d9d5804c8c59db3": "0x0", + "0x58763e8a8f83ebfbb8573a82771bce0748c979721990a5af7ae9fa450de27c0b": "0x0", + "0x66747aee0d590135508f5e71a7ec682c615a9268927b29c97769ecbd5cbbbfbf": "0x0", + "0x835c86278871aa3ce2cc5096bc13a567cbed0119276c0efda5b57b2406851f69": "0x3c" }, "code_usage": { - "read": "0x0b7f82ea02ac627d8c0b80db0b7f10d06e3034c7b11da468b6baeb7cb03e3ab7" + "read": "0x85a8be8a4c69073c4b2157265b295b92b44924620451f37935c2905988ea8217" } }, - "0x676a795fe6e43c17c668de16730c3f690feb7120": { + "0x000056f7000000ece9003ca63978907a00ffd100": { "storage_read": [ - "0x9c7974976c739badeec5e5b52b554d4f4df08c98b364c1f701d10f40b9910a11", - "0x760b21fc095cf561e069dd24242f03daeb922a0724e90941136d7204409b06f4", - "0x0000000000000000000000000000000000000000000000000000000000000000" + "0x8a544f7a90e767d9bea3a08f370e08d816168745881d640911c6f3d377888215" + ], + "code_usage": { + "read": "0x9e6930be6759e905574791278e46db4d510c072733fe62a0c7d4e6e76f13e324" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "storage_read": [ + "0xf3295ac85365485175886d70223c149bdc4bb656cb58caeccb11fe546e3c35a1", + "0x61bd8b7d7ea1350e36cb998c4b61b337d0b7e6c625816251eef440c23f9b21a3", + "0x58763e8a8f83ebfbb8573a82771bce0748c979721990a5af7ae9fa450de27c0b", + "0x835c86278871aa3ce2cc5096bc13a567cbed0119276c0efda5b57b2406851f69" ], + "storage_written": { + "0x835c86278871aa3ce2cc5096bc13a567cbed0119276c0efda5b57b2406851f69": "0x135820aa306ac000", + "0x61bd8b7d7ea1350e36cb998c4b61b337d0b7e6c625816251eef440c23f9b21a3": "0xd9f1cc044ae09503", + "0x58763e8a8f83ebfbb8573a82771bce0748c979721990a5af7ae9fa450de27c0b": "0x5698eef0667000" + }, "code_usage": { - "read": "0xcf18d53814eb8b8ba7ae4a7aa1e9255a5fcca31806b2b90d9499bc61ad2ba844" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } } }, "meta": { - "byte_code": "0x02f9d1f301824540830e8148850e26104e26832fb47394d1328c9167e0693b689b5aa5a024379d4e43785880b9d18449cd3004e28258e41919a553067303631380ad88812e45d5053fb16367d2c8fe886a9e230000000000000000000000000000000000000000000000000000000003505a7700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000035053f5000000000000000000000000000000000000000000000000000000000000d10000000000000000000000000000000000000000000000000000000000000006829d4c3bddbd3abd06c9e3bb7e17bf05e43898dc55fc4ca3d1bc8106f08818b4b2c455615ec53bb62ceb223293e210034367b1089710c82244506ebd777a2794c15014caa60da5eedd50467c641ea23b91358af3f8e83234add6e229e5f29547afd5157969ffdd67f6403cb6bc190af25d57ebb0e4fc170cc7267bbcb4a1360eddf915bf410e689f23b86c6178a6b560f8b5e9df019b70b8b711907989caa1e6a0ed40754a2786c58d3c06c43d2b9df83c9179f4f4671c4062d0929e8c3444df6ab3a86e773bc417c048db3a55dd8998fffc6b9ea3bac017168f2bae31d80239ae4359afcd353f688cdbb204bba8db20945860557232e674777fd612bdece02d5ca6cd0b53d650f8e3fc29b61f9dd784341dd2347797ff0a3f1d6b44f7e74e320f156a1558474ed3d3799dda354b05d5d3be7ca62a4335c51d3953a4f3e00990e6c39fc3778f3c1d458bfbf410066a231161d16a8967dfdf164807256de8c33116a48088ce3f95d46a63f509f9e512361f55f01af39221cad2b0e4c506bbbe766d969329cc9608667797f24620d39fa9faa18d0811c68723b17c2ec6a34ce9d82296c35b83a0739a4084be5dad594ef3a219d4e1ba91cad02fe53059ed00d192c1f6635b86881041ba4200850c6207c3849ae500ad7fdf9382daa0ca8fb9093df0dbaf7e41abdc1c45ab5253a3f045af6c7e8d046540977442b1f158c0636bf897b5c57da50a7c58b49cbe04671eb44507bd3bd56522b4de616b67e2eee44292005e70db6c8770390b429ffbe5bcd41f7250765f2eedafecf3f3eeea602c7d853c0f0b47501518d20a5d9512a54aeedf7475684bd54dd7fa43f82f8e3059989b06cd70a05717391d8f81e4c0ac20bbec358b21a01e166442b7a716e5277bfbed3d4eeacee5ad6cb58ad512bf9bf5832e152581621108c1109417f389e1ee7095ced80b3d83f8afada6f5440047a7e908213de92ddee16b733ad1ab00d4ba3113c4574e52be44cfb6d27544e2b0d37810f79b1fcee6c9c25528f94c874f5677e21cea614e0171ec90b294e7b62b1a48265ab594191d3a1da13197df507c8933b4637eec55fc4151e57a4093b82098b1051db3f3c82fccdbd9d5f13d06ce6fe2b4f288db7a887eb757f6cad45e451497b288d8f89559e56b36c4f5007eee35d97f27b73e74848dbdc80a3b5ef1cd5e42be42c20410b5d0119fe999283c617b082b41f73c43be71b3b33a21f73a0e51acc4d39d596a059d462fe850e4874227b3e411c33300e1923c78f6497749e68d052141887613303f0dc64913953b850ecfa8a4af6400fda8edf59dfe2369329fb8be23b50ae41e04e14fafb223bdd2cf8b13a5b5f220adc063981d31803aa47bf0431d0a1f6f6da91ca70ac79d31f34b4cbc4d1666a4166c89337a4a9fd5cf112fe28ebc65036545c3447954c068c498718eb5eac38053f1e8a664305782eee03e951b4911d97d9b04eb1d437cc1e7aa9f2dbc2b3954d94fed1baeec45882e915d7a743e5772208c95741650b5920dff0d1ea3547f1030af7a65d1455ea3c5fdd951c5c40bc5e915b5af70065bfe7ffe1f8b3a6cd1769b93955520e51b3af3d1f2eb6454015976328ae8b36ad234d7aa7959ef5d4ba67cac959780df594b4aeb9ed45ae390bd7f2b13665ec19e89687b86dac8ff7dcb8ea59c2fdc3c6bcb7dfc0db995e404b90aaf4e25566ff9f7974334dc53384a2bd0f533785bfc732c4af8e25e24405b008bc2b6052eab83f7c7f80a8c4a9922627069567ee3995b44ea008b385c71d234d90408cdffa0b96a6ce1fd91f1c1f540139167eb82172111ac53a4f434a202d82ea5ce6ecdf2286e2a0ef0988089952bef9f95257b9a5b56f2e71dec7861d21667d9f1c71c092eae7b493b2c09dfb17df6fd9c6e9cb2e7780ed7a92a42eb50ffb7fc43dd524acd907c2c8fffa53f2271e29debc6a51091f091b4a1c985a7a2014de032a3e4fdb532d184666f6462e646f3c4277a72ca93d6bd8284a65440bdf751afa893bea0f211548874fea61331bf4b2fbefcc44d142e70c34f2d9313f629b0b566289fa9fb47a69410b19e962e7ea65314f64f897f17f9b88959ff098149c29ceb64fdda78b847c480ed3a52838f2a1003bd9e46002be67c884f29a5f3949da96b66871023523bd54554ce6f9fd4c53a429d22c73b47852f993442c64744aece1d6b3c3e0555496d215b7a82303a169cdc930153a2e132a7bd445f6028f57756b160b1cf7f827b0eee0d18feed1f65598c2bdb7affed1a5c9daeb619f5e76bf54da1f04838cd2d719c891a20ee6c52a2ee42c26140b78062142f835ceb4d3822b970d1ba8f17bfe3252d31aafd5ec124bf9556907a9e2ea8e02fb4447e2ff842b675b986d6921c964fae358853d6f0720ddc49aeec107e7aa1cefa7d0b674ece4a33f8e34218796b63106c1ec43780f66b60ac07e3dbb4fc032e1bbd84fedb1132fbebe0c909fb5faa050477d0c1e9bbf4d8fb4e80e280011d10883ef442190de712da4062649a3220ed16b99cd4a723cb3f6f30bfbb6a0683b78efb47d70431514a02141541d7f31e686b998b115049bcf4e49cb5581977d2b9257c947fc88f2143e89c2318d12e2d30d5981c3b4dd4c13747fc47cecbe638055d253915e71453d853d07bfa10dbdc258169af7f37951a65a3adc0ba634e0b90b0784c2fd5c0a2a1008801a2581d7e35020e6ce42268c857c5083ccd34f7ccfa81c1dcacba71edb286dc2d11f95202da3947c9b88e14b945ec5d0e40a0d7db777eed5dcda8925e53cc34fdced9dffe913640fa6a0b240dd61e64dc1e942e0defffeff29991acdd9fb237ef41fe26f7c807153402b1b460761e4bd67358710089ad50791001d127f10132d2303c0645c90ffdd08949e7c703833af70100aec2703b046781e0d680e208be3dec20850f323620fc6328591b6ea8180fd2fa1d52b92a3847a260683f882eff72919aa7ddaa9eb705751d5f0c65895d9bb54fe5123096d7039f1f81195f0ef6550eb152a25261211bca2f78ae80b96ec1ac976b7cc7061e8a284a10b1c127b7c89edb55a24dea991857dd743f78f4827e4ad72ef800aea24ef252c7a3447005adec640e73770ffcf0420c87f7b313455fd69dc8103520943d8c96cd0c5e4b69f1be16fcd8e6fd8b58c3ba8abdca74c980611558d9494c1b2ecfea6a49c6c5a130d4e24344662653f9ccac9caab787e056edfb2974ef693a004ac9e919757c3f347e36ce7d1ba36e7b8c77c0bde1711f7e97250e8c1c4aca1660ed8cb61c63632eace16a8b46a95d3a77e50ea559336b4aedf43bf9764c51c5d6508abf25dcc506c7f2339142839d447178fac492042d32b426b8c36d742c87c7650460040270b66915d2b2b24d293abc36ed1d6e4f6cba46d49437ee63a03c0476aa27948b33cd7e63b4c5f6623c8813cd7f29e01176dddda7f8f357df302921bc028226796c8329e7990ed9852b0fe940c7e73b48f69c70613386de2bbe9cb4902348c35b6fc7387f1cfca238a766e71ac8fa8ea8420da1a0afcb264ea3b8f4d49170092b4e7d13a85b9cb68e7652ed37362b0300b7b6f09d0a0e13703c68c2a50abeafabc4d3df634cbfc5ca17bc7191176a0b1c8d1abb7fad7a3849e5c2fe3c9d0bea27f58c63374678a2e738d72d21fb968f0fbb4c63a065368b462839ad41b41b6f320b96ddfbd30b4b94d4bd76c429d1318a3a575d0e2e78a61e2dff8f0af7b1d8c47f7d140605d883dd7a4c90e4c1feac553714cfcceda664931175c9c86595991499002a3b408778a67ea090efa888f2d16b8116ad25f4c0fd89996b39ef86c0efcf4a1e86f754380d0fdbeb5049e3b54ed2653f9c7bebf91fd30566d704b4cb2aa2065b1eb0e8dd057a4b5b68574c1bfafec12ea03e3a7d1bcf47cf66434157aaebee9fa45feabaec4a3c0cd3ba7d3084e04034e0da5592988b4d7a521a30230c69f3278d43b000d22ac9d949109d1218919d46c0a7ad381ad8dee86f814ca8cf23c2eb562401360204790fa97127da08a9047ec97c6bfe712b96e95b28dab4ae385c1c9cfe35c3640f43d53e7535b30b10291423f75dd1ef20b8ccaaf1ccc66b103911b1f436ff364434c1a289b5b770a0263de11759393ff0317854cdaad87e17f18d1806d9c59271f1ed8fbb321d13db1f4a3c5c2f3e6c0620158f09dfd54d72e5036ca8dd3b21d80ffb44ff6a5486d159102f9105ad1ce861d38a2b24d3e98fc431e51e056f519252c8db8bffe06d2508e0afe8a8a5de8ba64c6d2b673df8f81854f0edf4ae79673f4bb208deb0636e6d55baae3144996a4f2657bdcf2e8ffdf3c02f7132b97f93deb0b5913a7e4282fa5c8c42e3a4b2236951985a0e17950eb3abaede0ff2c954fefc2029ccd01ae6f6fdc2864fdb80dd6f93422ec487614d36ffb9107c9704751c1819f39aaa4d2cbf6d8fe2164ff9d3b644af5e56310e9f8f7e1f0f7abc09f8177a1ce02d35e218dac2a9881d8aa35e5fb54d30043c8b8cb042ae487b77c36de4796b1d85c1fe962210d64da6660c5fafdbe7f36eb7e5f911b5f5df6c8012335221e1c6476de7977a95178fe1caf490aec1195492a0d7167cd93ddb226a906a04e200a312832be4e46bd1868f9303bc8867b213517ed21fd4fedbab5e51eb70018ee8fa25e6e0c57bf8415feb7037ccda3ece2dfe99a16354c04b46023ec53819a1d9e0c7de0c8fc63880a6f8ce2bcea66b04593ba5b97e36593bce515d982a298f38cfa1b56a47183bd3abe92effbfcadd2e3d05d98703e239a8332ffe5e111574b756469c6499438d5241b126ab56047ff9e45ece9daacfeec0661a56adb96d7725e91655c3bb1a21e0c43597d724669a6f88395b01687bc1f0f385b79e4a728389b2cb2a9616738514449c4c7897b7e966a6eaf6422b26b5a1017309dcdac12027d689bf1469c31e5e98735336fcf8c580bcaf596174ea884eee5a0b1ae24f58daaf7b2ded2e3b907600aac1c3508648c5d3cc758419b001ab656fd86344ce0516689c9b5bcebe5a3703dd687e556101a6a045b978f5173213e79b2b80e994caf50e5d1f17550e22b40fd5e0ef28e90b842940524db4c0d51026120d0a18425e729983f2a0124811e4faa3fba813eb5f7492e1c67e2d3fbbf00934becbfcc1c6f99aac3912305e113b8249c5a9a6c372809a1caa9b8be34ef7821a5baf51590345a2a3213577e99adeade24294c36b087a082136b971e698c10185959ab5afece315c213b16b053c837b30e4ce2021f93f4cb16872decfb99987562c4038bf03ab2260bb446d5fa7b5f0af24435174dbf904d09fa9064029ebd7a61c3219b2719a72f5e207227915771128bd5792b87987ad92c6a74613d4b968193eede9111942df9808f0d919e960f3b3e21daa5f9a16dde17a9222134f015bab87211e1d8f11b23f629fe51c20565fb6f19269306516a2e8c6c3b46cb962d2fe2a653a5811954fb76c22c2cb1172cace14c3b3b39288c0fee6e7ef48c699aa37d13c36554b50753c224a4e2ec4ef8432cb4f859470e1688eb46d80a739a8b02ff444539bf5e36759fba27fb6e8375dbe87e6b901dc026e56610655afecfeecb3914e42a59c3cac36c088689061a9c5818a3443df876ab731a57ee51fae99af3800f31bb679491b17458096eb543507295f3e7f8fc28c8906211b25a554b861f8cff0fea7f7444283860195389f856d24095f2569d11833b3dd213b307e85496f7101fd99f0ad0d5197418e0d68f5862fbb01bfb563ad8f7d6846c06a9b723e5de71cb0fa2a0f12b4467d6cf8187f98714aa5336766cf65b99c146aa61f8a6f408831dfad9bbc7c38007d9726657aa2bf2a60d53a6d582f03c62d35d8fb8359c72bc3d0d131e3b39c25151a3458f707f22bf185006fcb3154db7e138b5712d8e15de8bb59f44bc6d060b6182e5b4e4e4b0804c025faaa793c04ba04df67280738d2cbca39c0a4e1b5d4b1c361a38e375f68026e2c86c555cfa06c400144ffa07a67f97d9ebf4c0159ada6b3c53c87834c868fb4496eb9285883e0a84ed656ef1346733af210afdaf4b76ddd5e618692739f2d6b81eed2b72382d7a5399efc863de8a9b3c4b97f58fc2bbd5eb73fb9db680eb3efb7c1c8cb8735bbf667094de391709f7fe4e7fe05df038cdad4757f0fe63be6efa26f01e7fc5d7cccd905754e3b202116b8b9833021f1c39a11181758735f97c328c723a56fd75e0ad465e65a9645acbd2358a60e7fa92393ca2c17bdd851a9f74df6af3973d4be67b7de26557e78717fd427bbe186f8a80b8d193867dd4f5d747d6aa75e382ed13f991ebb06c5a0bb5dce6fe47cb217db8dc2ed327ca951d3484926cc9fea737260e28e8c87ff0766ff1aa1c201f923ff7dd710667e13f1c0bf8fa8d5c8157cdd27c7e6ca875f9d7bbf57577885bf0352ee7d5f65c47a18c85e245bf51b9a49af2f05fa7688effb51eb77e4f282c0b147f0ff28dccec1bddd31ed27151bf1a340782b466c1e2499ec9c5961f3d0524e73cde29268039f4a56627149a1a31111ebd5e1b8e294450e99c515527540ef5021a57c62e58bda2615ac347a5d992812495af80bc99ce8b0405d814e2324e4d6fb530766c3abf51caace85a973ded55c978960edd2440f87a58beef5da156027919f185995d1b0419c7639a21e6ff183bd6b495778b34d63846ab6c84555f04b711911989dce8dbdfa3e705c5483ac1bd524b10931eb0b85ee03ea1e7b17f67e67bf12a9c35f1e86ab2f79ac17462f023413d4983bba3fd05c113ffd958ac6e9472eadbc81d13077e8a374b856674ffd80c2e22aa43b59830815931fb8849db6d21b765fe3a2fc64dc0d441637d22569b2223102da6266cabee55d4350c6c715178f31155ffcbd9dd1e513812abb6aa79922b606e62d22c6d9f081683302302aaaabf25e28f6cc7e72dfd8ea031a51aaa141044d2076955196894a87dd5f2a6c9ff76ce6ce68472935bc735025c875b8e72de72c8852ad2eaed227ac0178fd5777f40860d6b2f9910f1d7f648b1b4865e4aabc41c8fae14ef6f0dc65472e143f07be8ddd0a7abb8b5b24c89b9a92d4a02c2fd0f69a320f056ae2d276c60ea26e912d116997f6c302d8a20e4bef2cd7d9c684f14487f821fa4260ff70bccb6dc8455a6b0d01f035c9f42429ea8f3b847380a40edcd9a6d22dbacbbc27d7ca37b4517a8b871a71327ee2601bd996afc22b2292ffdb59d123100be6ab6b725d3ef2ff7e2a0c7697672071da84fa8fc81fe066b150a46a691022d8a594c8f3b24bc5c0b72716fc231b29fa6ce4d971d331e5e0342e153873080c393f010fa48e66fb6f33a146cfac66e6ff9877b86797c382d6142d875815cbb1b177a44e2adcc0000056b6e26404cacc191c6ee74047f8e4d4d46255607041d96d4574caeba411adfb67431df35e18f89c0c33c53cf294ed8a05ef03407f00a24a1f1d5bc2dc6eb8c01cce45a8713d933d41de7da55809bcd046226d121e91ccf09369a90cd32aed403095992d07abf0962d31e3ee3d7746a16ba549976c74af759fe5c89c75c28213062cf82b8024a3d57feae2a17db4b737fe73310f9de215e8d0c8bdc1716910651974e223d8e2d95e4337d6f7e77748ed30812446710c92dc61e5260f8d063a31482b92f6744879a2b5de6473da6130b43f9ffaaf74af85ae5666f3bc1e2a1fc46587b5b20546a06928d831e8094db2c28c874e6a807915225736f57cb64f750b0516a088bcbd6bcca686056bce85fcd839bc2cb5f555c295155dc58230ba365d724cd27a9c8e625b8b4c8b5e2912dfb02ce3dbc11a0137a119ebe42659d7ec2834fff2a0e7f254d3d74c675b2438b599110d6c7ce0f0d42b8524ef56ab9090af1793bb0adca2e561d949e5d80fd05bbdf198cfecb6e517492baa886004a9247f6ba13ea15a54c0cfeffd21fd4d35e05ab08861915d5611db6d0613673a5872e7a2a0a46092239bf0504b0b40209b0b1d1e2cad41065b2bdbf0a17a6d2ba92d5e1a0bb556b65ca042f9a1996249e7c3ebca805c04d9ed071e678d81f740a84d7bfef2c54300ed8406c36d364ad98585485ebaf4ae806462a3dd5f6182c90b0916fd9d40ed5adc1fd4029d084df1988676bc7a9bc4653b668da9a427c75c1f652ac226b6917019f7809497408460b2d38e661b28073650bebade5babfe877522fe1b28aae7ada7caf59ee95ac4e82ac390178b46ecfccce283ce017ab2364fe2fa38314ec5013187fcd1de75e556f4e7b68fb1725ced32c45f3d1ec5c765f3e3f175fbe654e97146d7e2d9a2a9422069eceffe07b1e21d1acd6e2699043c3bf44007bfd0bd9fab0f5b13fecdc9ab6058b5a50552e163593a9584c2be2a8392dd67e8dd8a04c352298820a396dd8185559f4054740760685e63119b9c629ec5f7098441989b41d83a29b9dca03fb3e57dfb38d6b8846fd347c5a777ffc02012f3cc5b35a59a3b399af66fdb2ce134d07602e027ec63646265500aee6d06b8d1277dc57ecced78d469537f4bf9cf77fc6a0986304fa171e5cab394f7103f5e0cc883f1737220ecbda327091598fe50a1cdf03dc72ca9887ced0d9a1d17b3a63031b9854f8d6989493e5dcd01931fa8139aec62dfa2e81b991dbcf50607e496feb1ccbec587aa22042145d453b611df0feb4ddb763109120195cfc38c49302793dbb7ab3c1c32548848e2e63892f97e9f6791cd80d7df28b2ae58a92692f45915b44b74b4a2cd1cbc24032a1192fa101c5111318f0f0912d7fa3beefd8bfdf22e20c3080f676dca612e0e0f74da683425f79a310d8d15449619236036cd2a0a5bbb93e751bb75367c769b01993c2cfea811d93377cf5e93a74311a5ea23330d93352ff044639f676d88f6c40211597af814c2b0b0dc66f659ee5a0a4b01e3a399c86c5de0c12f9b01ab0f25adfc790a2f7bf0f4f01f5a49d39b9399d0aeeb6f83ac0d8e28da88941e58533e982c0d3824297bec4be6e58cd981e0fd23c50016150ee26a15bb62908ec720db04801938f0ab0ee30bc161082e897279b5dce793b8b08de03b7cee643b7898f2f14d781869f350f3a43387d5af54d8f83a745c47f2509267b095256219cef262ea5dee181969052bc0f55c9b5166f5a27cf92f4ac004f8f473496d82645f30459239c9df86f14408e9bcdfb62c4b2bdf090ccc3a646485be7c20fe35cd657e858e46dfda9aee394fff1faf7fc0d7b5e7473a17a63ef463adcf877a785cb4ded8c1730ce77c345ee83759d1e8cf6dd4d50cfeae7bd8fffcd70bc9c2533185ae62ea32ad6faa27ccb00badae103dd427b4e31771a046b04d28f6ed296d47bd9060d459ae4ae2a8fe5084e6257609e20500fdfa23bde58fba3a71052054266faab05d5e870dfdb878d0d1103dd802b5e5cab4a7a4f403d673b79028badbe0b980b1c05c142fc52db0452b84d0b51b74811fbba76e62e272d09604cc52d1ba9d3d9d95f1ec4c313e94578c24d78c931283e8b145f449dae37e134dfa1d73f089ae31da04a3f6b1f519e361ba10decc975a646815d8d9f82f5298846f7aa745aa3cb555aead92851ce9bf69eac775f1b18c7ff2eb89254c2f0c705dae59c2e04bc699b5aa54cbea5538fb36b7e81630f30b6b73fa68f196b3faf0fe83ab3559f959ad47eb1fe18a77f0b566afeb7fb2beecbac8ba08efcecd8d60cd578b4c01cb7b87855182532acf065473c0a1aea81f6d63cc998b19002e4518279aa52df1edaab667e8df4e9d163bc6ec19551ccc3e5b2de9f07f3a52425f6c7310062aa2591c8ffe5cc0d0c49b17b37e6b63e23c0cd4c9b12aac6efe216516cfdbcd723677450b99db8489e84125e63887ddcb6dfd2631f4001e980755463d0abf7faef0cc8ace226a6e7dfa6f16c647fc904f76400b64489bfadf9feb092ca9eafb9be8f8c0ffd4cf9b79f7089dc9efd6214957c952790ddca331c080d9cb8201fc87d0dc75ba881a6f38ef0111602ed95cc23534cf2125102cc0ea25395160b18a0a2d2090e8cb233d57a9027d360605900a0a61b0351526285ebdb4d36dd9127c39287f281997fb59d699a6fae36f2d8fcf9fa09ba1c8f1f61a836e302d602bec015f8cefc2f1d771f8a5695ff0b9fea649987da9f5efcd1331526928f014f0516bd165cbcbfc1461c2ce1357d2c46c148bf8e870047a69bcb62d53aaf2e97a19f1ed53f03c5d7c335683869456b8f82923ae2af6c50ce1d15e7c56fd21863c9f9d0eca451466322ea32d43f5fdbc76a17791f8927142890007f7bc72dadb1b850666faaf77c7124f4eb59ca89b2703a99b3078e1d405829d0110ff4061fa54ab15e963bf768d2812280a9c7e173c3350de5b8097ea057e5da8b0c22bc36a73edadff92a833f026a37570f16f8a3e7c5249fc36e545937e4b4ea54e329f28a2248e2133d4ba24e863fc08d863b9f948a2f637746b8ba8892c0a99a593cb2a0818cde2d28e6493d70a7c1d2cdc85413870feeba319b7100c62891ea267512928c9c80cc5d6f57633fa8761d59a682097e88ec0e6e68d57b262198c9fbd592a1002abfce1855c8e0e9e6d77e9174b6f05f98bb2be779613de2413633f4d0272f3da4940b13f0b2aefdd1aabc9fdf4bc93881ca2452a9fd3aa40b93627b4c67548f347ae80d7361bcb890c009129caa2b1a0f1aec8fc7de607ed0b825258a304fbcf1b5cbdc75176b69345e66c485f669d42d69effd8830aa5a5bb833e8b75a696d9bb0a085aeb28b55d14ee17df54b9d4e7e35f69e65c525387bc65ea67be4e0f396af0afff6fe14b8407eb26fdeb62594039aeae58a739ef83b999230b6ddc316234529d186e847ceeab5f5af64636400e68620b50f3ff9d0e5cb60da0b783c226126367808ad4be2a055ee0b239a2f48005be9863a593803d2db929da0959402f268e0c12f2540336de20421df8a63ca8e0945d07f2a0cbdfd32f9d5d5cb8738883d90eae9a937a8168f05d06abb79477e79534a0bf016850c33f1aa990dfecfe85480cee01e9e5493046ff03b611e4f248fa4e246d667411d2e1d57c00e74a2bc684cf64872e6599b1dfdafed1a3076ea4168e8934b184a0f862ffc21943b34b36a1ccfe1eaf50f8169e5e0d8fa81017554334227860186e22cba665a35434a66da6ced6351c2956563cf8ddc1afa38e4a448a33a06a4bf156ea5978784b3854abba565637f2c5a06dcc95f0a2539d56c4d130d6c863350f655e0a7f3ec4935b5b4b90c0c333db151a8f8a16a11683731d4bbc34a53086a0d78758e12fa3bfdbe914567d75a58a75e7c77c3a27657219278863f10a634fcbf0de52ffb98c7eb197688824f579a23240c9514d6575165011ee3c5b79a99f388aaa629911fe58365f07a5a5639b0e046ff2f203b3b685bc7c0a406e23f503cb2166ff2202dacc61791d0c490eaeb29feef07247cbaca323088f5e4c429206e1e190ba6547ce3e0f9eb336497ba75f775a2bb02651cea7baee4c1d9570851b1e6bcb5b44fbbcb696a7b87c6d05fe1318f73fa6ef70791e717651b4c19a29976b787c16d9520f4d784b933fd1e671cd25a8996f21ef50a93a26575dbd77fca810a4e40ffb62c88bd35fb2d296594c9e49d3a622b06d09d12db15a0b099b3bda23f831533fbb2ee7258d8d15106633950051dca90f8f8ed4b58f1beee7349e66cd118e51cf6a347311873f6f4eb5a7afc3a58de6440bc0d6e93be6563449d95516aabbf8c8706d346f6b90917104c3504c3c2cb94813db0a5b79f18b0e8c5d1a43ae21c1efab7ecd939637b1a57cad91e550fa9819b6a46868429d8b5051849e1ec7fa559cabba46243d983bed05d131af7e732a39e0b4d1153967e86ca34946f288753a5368575c4ef2f7ef7f665ed17ae6308db514571c4f2e542bd72d59c1d8c7e20543c0767d2a01a1dc9511e3f5e8d4af76632d6edf46fad353f0048840771693a007ba9f5c2ef6bd43d8169b067ff1400c3bdce305611d71d94d3de942d3d764e8b7457a1241c63eafd78f7ec485b620be9815aea2f627bab6c5a414a905d564358607c756443bde4baaaa1b16b0337089e479f9536cbf3d5fcd353c56853b9092ef7acc88f82dbd9b656dd36328c2d38782075f8cf5c1966f3f9d0ff0fb411ae09d64e67ab977d108407324b5de45fe707dafbc7dd71929d768a4a2192dd7335264f3e07ec28318861c85e1dd32b0f89d84f4ec1cad0bd9a33bfee8b8b5232c9209937374d7e5a802b551ee2ecf75343bd37ae3f758cba47336c3588360f385cf6fec3ab1bf4ed029368bd1c46b51df045cd4bf5a148401a88f8748b361698fcab18d180c9df908d0c3b986692c7e479833b38fab92116e450f8a89616c622a6a5f08f9bd35e7dd854967dc092d88257a696e993ed186dfedc52bf14738f7cace37343869e289f17ebe9bb571723beb74aa4193cf4d5f16917838afb7b60555ba1a5ec2ef73d6724b013aee74c03e05dc3303e22fd5e80db66dbaec8a87fe1b3e7340355f95e69018cd4751c75c33619b81e7f05cf48c400ff4c42865ca80f8a5aeccce2ffe9582769186dca94dcc8fdb72a13dabc8a211fc916848ebccc79337d1ade7760a9f9d4c87d1b8aeac312ae17f9424824888b84de6972c739bcc625e969373b678d8d9530a8371a88c8b52a688f534fa1dd14ba28264c0412aef27b4d00ef35dbe06d6d76afce7ce7fd71fc30d6c0d5a88001a8c9490b30d390644855d99d9bdb39197cf58d57e624b6937ae73c6124617f8a1adb422273421a92146aeedf49f83ed0a824704ae34ca547cc48d9e317b8f49db5e2a2e20423ffeaa667411e4417c3e6176935c621f609b9d7b1a7aa47bece83a59020823cdc830774f71c5e0eb7d0cea6784c9237c3ca153b34cd14548c86964415967ba292c0bdb230c57c9b57f322d6b092ad66b82593691fa8e5e715ba67d82ab31d200ddc5b737b9ba6d2c21aa2ca349ff6c55a228be06102c445542b85da5c99224fec0457587d6be3afdd8aea08928e15f9b98124ecbfbec1d9acba7bd8fc330cd377fac3494f7c5368221f014f7de6b31755c555a4dbd5ae9e71a213f7af4c89eff975f5b131610fa1b7bb5c587e8a24cfee11963766abb246d5ffce9b5e3acb789184bc2b88e8373c99311d05ff02da844d80e41fb2ba2cf7fb8e47ea84c782bad0520a83fdbad68024b405582d043ccea546c2d32bd87b6607480e4c3296b28c51ff5aa87152a59a845e5247659cb7922c7a15828e7b6fed0f69f65548c92a01b964245880a5bbbcc1214d3319a1e54105b7933b559148c212fec6fcd1790830a2ad53d6eefdc71451804c25c5107d0da3018b23f87772add1a750b0c50b9b95e3cb02a35ad51db33b5a6af9bec3229f18d4f3fbce7d6dba8b14f4170cacacdd2eb08b45bdbb678b609baf67a5e5dbe9d8d939430afaaad0cf1d337b8bb16982ae8ee39d4dca57146e61af18d809c04aa56ef751e3045345fa3206eba6fff45d183ec4723da8cd3871fd1691b0df1bcbfba1ebbdea7753cbf9c71d923befe48b72a1b0db6213ffc2b999a213159c0a26ae2e9151e5a16546b4e9bdf67bd357b9027a2c41e97ede1ae9ed5493e0371d1e245259a4e9a567e7bc2fc341985c877d1920859a2b1648c986a58f2904880f0e1cfd1fc95bbe026f1723681dea37f14108fd35ac9637072e851a24735b9b05170f586dad15f4f8dd6952a21de2865ebaacd68b4a587e1030d7a9d86b5eea7295be9a6102b306515540471ff08aa95578fa83ce10f02a784abb6ce79e7f2872b18726b1da01961d6d64606bf6d7605fa96e8585dc7271403374a3da27535441a28414caa23f0e618fa8d865eedde21ea67461cb43914f0afdfc212725d7dce43bfa2b61f7f563aa50aab0420e346090980b0b0e9b6dcfe363e1cb3583e92f50963b8e94e14c43ce3aed57900ce965b4fed46829b4299eff43c24b8c4324a8137ca84734eab8908c8214bf0bd25c72b53fa0c25cc4114bc7bb693294d1fd6352531948e6ef724d52dcd8ccc00b8664d3e07142cdb53bf7459b31938f6938e7ba4b9234655cef37c4aff9ee75187b9bf42d4401095766a696b27f6933c7714cf08c4d6adc3b82beb14171c2499b8acd7a6a1ea1e1a5ce35f339f18e46801c915e849350cee5f78998a13459500a3cc4201cbd95334cab5c0e2279c5028afc649dd9935d342f1f372cf9f6234369640428012b0def670ebc04261ed0419cc349f460d58630b1387f9abbfde1997e04d5bec41ea2b9028240d8b25fd6b53b7f3198ac51faf0ca8e1371fd1d6bee12077b81ca94ee58a24a6096acd93f536a3d11ed2a0420ee8ba9c225ae18992234d877e9feec294c94e25b7cfcc1e3c0ffa17945e2a77684e86f39176f645df7d9ebf0adf2efe3840c8fcc541a226b84f9668aad1a7a2a0f07aeda2ebc7495f106b6dce581a127bf83077f82039e676b7c0b49fdd6ae17df51aa9a06a93224d3309f4e06d16c37a6ca1b3016a988be8cb62a4379973fd6a44c4b305819b02917e799eaa270c5f3cc84edff38dd964ca9f3a04e358a5dd4887b9389f4d611279734c59b816dc1af8a2deb2eb4488b72383f6be1ab30287bbf5ae0d02b7cb6eb37ac6fb943ea980001c962e41e48f40cae478a6a4d119d5b5e676f2ae29c47f12a8f869a8f71c32ec26288a36d2be375f343535827b65c3a22e153f75c65dd63493085db64d4e2ad069a1a7e23c28fd6f7adce9f97d586284f0b0a08153effc202c49a330f739ba6abec296024d725a11be7102eb32e4e3a895d2fb32e663bcfda7ff573b7b2672c7f283d552a229b478d3a6744774ed3bc18d1188c80b777b73301fade2c6764208c8f71f9f7e013dab8dabf2abb20513fbcd2a20bc537c670d25ee8d588e6fdc8195a26ee6f8ad419c1536033de58e6132ef1a2b5f875a16837262671b35946583996b17c23747767d9103abc4cbb64af6944a064cba5d70fe839b8cd5e74350fef6507fe5e619b902b4f3ae226f8e9beeb44a96e0775cc5ebca653a2933bcadfa11520ad048d1d6c3e86272ba845b479d9290005755c16fccf3da80a0565cfc548f21416715832ca99ee339db624de47d37b5ac0baafbacedf9ee0c83afa39916ccbd53120ff755732e4fcb42eaa4a45e6d70481475b92a3fd94a54b43f63fe16904410e27fa7615bec4f4474efdfc3d6cd942b0bc32b8883ebe7808b9b3444de8f91375a8c99f4130ad69d1b9ad927970ee55c82ae4aae2b8b55d13731470f35d32e0c03fc50ce8de7d879baef9e20e47cae8e76b5fc4c34bee5bc92ba30cd6700f4d08cef024d90135fa4c767eed95f8d7e78f8f1085b128c693018054f621bace92a111853e6eea0970a50b4f11afc250d7dc5d8e7cfef9d001002758972a0d49c8e70ca2c82bc7fbda834a93d6207a2cd6106330be16cfc8d41e532cb333c514d6ae0b8a4640ad53e15452bb0c98294ba5c13c023132c23d3a07f1c0226ee520b3652cfad5e79c4362e93c1d408e0ad4cdcef6bd77f42903d83ab104ebd597079eafe19b8f6de3913917fc05c306d13ba9b65eee995b98bc74017b3f76f71361a18a940afce5d738b85609b4364ef77290a2e0ea9bef0e5793c0c05224a965bb6fd5f459bfb2b1629dd79ac11abcaddb16f7ee9448f328f1b8780c19085e5990696e53d70e447a444b04dd33e0a3b35012cc8747d5e83dbb306f4d38bc3b06d722327347d339eeb4e3b395783a01cc6ccf67e8b2415087580d6904d98fa5cd7086ff2ec5fc74dbacf4c108a1da9b99cc50a9b2aae3585200be39345691fbe48ce3644d73fe7c93dd131bb89b73b620c0fe7ab5dd82dccf611f3fc2c880b096f24e1d48e1da0114f063423e865ac067937cdded3b987327954f9fa98e1bc59974def0339bba2fa24c9a18118beb46133c1d0af2ab40932345e2898a09591ba46f9c970ad5c711de557e2342af7daacfe6a694ad5f2fbb7111e38fb40c5627b90c1d60e4a7655b6858856e0b3d4f58d80e024550228ef843770816e18bd0ea6248e97ebf5a3181b7412c70a5ca2d2348748baf331c71e210412e2e52ec50dc524a82147a5980f0ae3b0ebda312efa1a73bee1de10ab599b4cfa845568ec88f523a30201e2d0039156f7beb1234f10f793734ae247543053b9981eda13252d658ae80cbde49eec6102117f07ed932fbd3e498f630570cf1640833b18602bb56d1a4e0b15ca158d0a8bc3d7d172c01477154a1b4e7652f1369e5d94951b71ff67a07d4d4ee6a61274f5dc02ac82b8e54ae157b108233548d517a3c4ec1d2f8957e2a7cf9e0887fadce7d24259f0137445823c62526d262ad4ff7f2d86631d570f69e4d7d991f9b5f4cc800509259ad3af50649ef60b8930105a9336db39b03477026d415ca2203a2d280681a0cdc66ba4c6e80dc45b9093ba21187d8da864939afa9af36798599ebf887bdf974ef89aeba107f7fe6f1ad8850a7c79f64089841c55f1fb48bfe0c5034a363d965ae4e5c462e23f840e08278abd360d8ba6d0f2f118603e803f4ce73343017204d29bac1a68bc9940d291410f0e560914ac8eb14382f10bb4289651e6bd43b0091abd7443de768af848039ff502815972b2c43befb8629ee318349e05cedc0cca8c68a3e96fab6f00ee38f8fc5d66194a4289a1b36aca33ae3d1245629cc165294a49772fa852b4ce4268a48d016519df1aa30f68d5e5db4d88f93999504a7c3a89cfbec2fe44ff164e52fbe319db57b3fb776f444e41b6a7e6051caaa3d62eda22934ef5e6b44508fe4d1d5bcce40a93accbd4527d6c71b670263f66b6bdf6e383383783d5f1532510b775d3385ff98f00499c28f08c7a621c4e9ce7670e73f6d442775135ecbcd7552ec47805d0d05aad92cb62d51e756d9b353c2f7f08a3922bc4dbba8fd56d8480c219bd33fb1f783126811590ee4520d68c0839d6be0d44fe4311a6129bff26a130dd15d20892c589ebe2ec3a2e178dae4cd146aa941dac89ab61d4cf199dd53593c537a85f8904e0bb5469ee4ed1bf655e2944d9086c93e748ceead66bc36ebbea13a9aebee9d932a4e5aafffcde44685dc368bb84cb1cbe1ceb520540133eddb06d6a2d6123247ddad50382b95b07b4b9d55a93163c21ceaadba6b95e9a7fe5091f3024f483f176bc90a2af1a0cd9931428967c02aa3d33bee9be5b08ce8ae2e8caa62a8ec3642a6a47ad1b6f8336a1a4af89b23f850639c86ef290a7ecab036ee3877a3a9b625b232f38f1990f6b8a89bc8d9068f09d9b87ad7d06d4707420f4351714364c621e972c509637f03092b797bbaba5928eba71bb8e3868112d527bab8e793f8ee2aca505727891d2f283576a49e4d61e11560574cd4e84d825af59cea33088ba2d60eacbc649a75a00ca3ad2eb858116811c3b8629783b9bc7493488dd91fb4177ea6554a2114ef3acfcb34c15cfc4c20878ce312e4982b2c43fc5ba935368eb6412e26e7290ed14278598b661248fc6956ae7b44127addee0ff8ff79cabdd4796624cd2a2bb67b69639d4071f09d47ab8057612c150c6620227c2866bba1826a45740b5e2ac99fcd3bfa07e52ab81bccf2ec0a24cea2c8a2759957196ea40d62d53e159ec6109a7dbcd8e1195237fc907d187d8b7d1b190c4aee2748b08a07d5971ab47d3327d835ed6b5fe62d9d73b09550b9b23face557cbf3087edacc6601524fdf3987fa263ef4e24fe5c70f867a4dbae06feb0436469e022cd452835419a6da35d3af1e042775d30b687e71ae396eae24feb99165f146194db3aaeff5dfab088e012828a5b14dc424136e8d4c2227ac25b6fb2d1ce93a571d5dd466de1fce6e8eb1246bb78ec5be2e447e3d7274658b693253af7119816eb924960c9ee07f1c523de304c274530301d0f5d84d6710786ffd5136d87ae269ad203d58e2dfbd66971ba57c73c822d3fce72b6d0a5d007fef1c4be9f8a3a25ed3fccef803aaf73b7f736bc95a73c1c53ccb731a41c4e7b19af6b4cac434233317d8d250d67a17b91c209fb366f6cac86a6c8b64f74af780145e7f89752f758a375318263c2c96adc2f12ba73f5accd44375bdbf716fe70fbe9c14563a55347cd3dc4f92eef8b96015810b09c844e744d23e1b8c97f5c11c2c44f99836747b1659ddf941634d80c8f2fdecfe3f873fa10aeddf3dc2d77ca2d0e1ce3248243eab65fdff5943e4b7e8b46d2698a8f85fb16492031de5d37d368cb44a84b21ceab8d867b07fff86d3db3b7c8b68e053c2284ec0e3021532a91c6752f06c88c26a101d85b0d7a5f164a1b6a782c3d456e7b9ce86ddc48f271cf93a41cf757aa89befa9b0241dcf31856a6793d311b0c8b42427d0f78ce85d8deca2d8996a767b3fd778bec28ed63fa92fadf41b15d6218777db3b7ca5eb7363e5b0803982af1fab83bb400232fda22c990d0a249672c51b36d834f8b9b5d2d2a99ffd15d6db5fd7cfb7d58a59d82bb241418ce35d5f8193d3269f2148cf79fad239588f3507366eeb0b8c2433199fc0aa33ce59701cd5f720656d8030cf2119c26e47eab5451f5ca4648633835e5873ea1ab6762bdcdd492b7f827e3681498b584750d0400cb163eb7284c01f45eb0ea294e3c0fb742b97297e09fbcad773244c356951b66cf46ac55f12a9760518783239c259577753d847b8fbc5aeb3601be8e0087918e8327d46124d98312e814fe05f7c52a7af06f89527c0e75b9e482807de283c93dff5637b436cfe9168b9879beb88c4b93922a22eaf7f09d23eee5cc2ea79f0b7927007753b9e2c41fe6591ee7d65b3f95ec4ac7d1e1825cf340dec3829cd76d11d08af8037a402f8cf4e0860f9bc5a5e35aa66038e59a15fdcb6d2c863ae181c12981c1f078bdc0c2b1cba5522f533734bbd48d943115f4936c7a614eb82bc83032abc76d151145fa6b4c5834c37ed15ae66c5f37f892a87dcfa4495b84a4d091695edecefbe38b7b830b80d95120085721376c40cabefc77fe072ba51ba6798fff76e0ac0c184ee2313f358bdaa54b118f5b4e88cbc5b49a9c9689655462fca26b73ac5d4cf3ffcc25e5ba5a550322ef7f7cefaf3e14197d772ec497c78a04477dbc4e6c740091fa599a1defdd9aa21b3e93ff06d7a2aa693a92ae1166b9f14ce38ddf32f507268386cda85425894e70dcf9b984e0f4690437787920a604e351a1396c4bca9c5bfdd290158a19fe47267590805a4be5547d588b4c48ebb9b72893af77a1eb159693ba2ea2d9d65fc6f55a320a1c4bb3d249e28b465db04612d5b04eaabd281d4d715c324315a68e8a29cd3538d62c310d76e8011f8432d755f3d5b0469efa0aef7c972632eff6d031914b703024504a214134ab1db9c4619077a1d40c80694d3b6fefef51109029ceb19fee4194367be39f460456182240c1ede9c707a4f1dd66d480c6d76cc5376de96d400d965359895324b2b03dc397e160e1a17b20d8d7f14bf7fd2186bacc00638229dfe338cd3abfc1af83ac228f74b5350034d06a8d4797ae47c6b6f651d52920263b74ca8ae4ce5eb1b3c815b47d3d50565a069bd3f71a83497a7fbebf7877385fcd1ee28d8d2ac15d4601416045e32eac4e052cd699e90e653e3fc586dbda5d362838eba891f62bbddeae1d8ec12bf7b86bfcde4d7da7e7b3cdb8ab571ef9dd8dddbacb77f9c50712978715ebba7e4b3c46c9739c42413208fca04361272fc4b2c3cd6dee067144c7238c3d2d44c4a17613c30ad771939723c633077ebc668fce64b5fe02fb4da910b185680d1c993587c8f67b2590940eef66bea0036599750f1f97ce0e3e13a0fe7455237e71f532eec54142ed02b88409a9842ca217b7f65e0f76d1ed56a80dccb14ea58ff5c8f934af91ea141cba0473ec2bed2288cd4e05301d173c60e3fc9fd44e527bf937490ac0abbefd2241e825e95010ffbacd43db5521211a4fcb23d1d0bc3aa54677613582b2980928fd2fbf0a1ca58d87c00de8cc5f306296489aa472e4cef2887cb57c530ca293bccd717e6d7a0df55b3981e9e49740671194f038ccc09830bed6be1e30c717a1ed25a78e00acd64c6ef34a8a5a3f52572022394188a6897c799408dce49bb95840195b1a5f69cce3366232d6e4cfc0cb59283477ef79fb7041003850c9c42565903d8830d37ef37513d53abbf06082764f94ee2c32b04d578d080d5581c6f01d5d873f3a71c30f5995584d19c696f62c31b87623d455ec8e1702a478f9df692cddabad2c8f659969ae21ccd36e484cd65b328248cacc7060dce3bf7af5c90c8c56376720ff19e8599517b4fba3d947ddbe44d4b645e2d8182289126f170cacc28252d940683cb0695e88e973a4efff5e094f5b063b20a44f8decd8dfc2b6c3a466e10374b7af71e851c63544ae7b259112b6d59fc4a753965ab3048c5f7b04210c08557e66d421a7c5bf190a92731d7ab6ca82604fffd3166929b8d10f825572915eb360d16dbd648b017edd3a5ad7a890492219158327ac67cb26cdee3a7a90a99281402996cd1f4f85082a4b7b740c030e3b8c9a5609c230dc787f66ccc1e7feaa4dff4d9c6ac31840f7eaef2190b9db813695917a3685234aa8486489f7420b18cab366655eec66f75158ac8afaa27007f36342b094d4540510f8c9b961343f117b559bb163224e3b19c8418c01e84e4e8a9eab6bf2c3dbeaa5e1cc821a401ab4f6e48fde11829b5112351269bf1ff4e44e77213108c3e59b29d03001d1ef5f242671c88f50b62354abb79922fb777ea018cee9cab1f72ef9380b2a099e7d9d6180c0704287d9ac2b562c51e9e7c7fb6facd090fe271ac04d5674759195eac731a27a19b05739ad4870b78f83d4aeff87c81b4aa8db756a351ce536b0db12bafff930986cd6034dd70ed2f524926d8a769cc50321af0e5a49ec39a4941557c734d77f48bccbdab7cf28c329eeb87376e44808ce86ab2a655e084c6e88f914fb79d01faed81303e934fa231c8415ebedbee4dbf62aa5dacd1613d3caabd7ba39ee03a3079c2676d94809ce6189baf1ec9b567570dda37d7414967c78f95980c7db924ca082559fcc9c5e1873311f02498b3941534a73a4d30347075b12abd3269ccaf2185492de4b718214eba05fc89eef5f781c4720410c7e6355936f0839f646b54e40077140b140997e54eac2e98df6e7e302d9d935490cdef91c84460bd6a2063b7476665319fc6a25b386f3957e8b476de292fe44b593863bd3e32180dcb4f92b300a2487eb915fc937069cfc663f43b39b8dace97412da924fabddcf35509f4130f8900f2dc148e37374320e065966e94a7dc8b1229ac1b536b7d218dd5ceee26c073c0c2bcf9a98d7006688b73ea3dd503ecfa95db681295025f499ee4f768f13752d77ad63bec228a3dd5342cb8115efc7266e046e6c4b77f2077976558f7c781b335859b6a3e34ba4bb2ae3b5237214488a5ae0a11152d23f0cfffce93377fa5be1262951c947ce23cebd2337e4dd6295a2d479209add0ca999537201d5a4e71df7d72f8346efb979d086444e5dda399e63e466da5632a11395866c9b755d6cb32c4a683b7f1dc7b03d9d46094b16992f98fb73184735240d48f0de76647dac5faeefa75a1a8534f775e5c7c7d6f61635a5898f65012829540eaa9fb40777f59a5fadcc5590512f056eb0bac5885c6d68ef49739244fffbff33207403b56bce79082a32407cea076724d3d2eb7b4aa5c9843f9b487dde243888deb533df028adc2211df1e22521b5315070de260da445b6cf0116a4198ee5fe1993de6581b924c23f3cad858e4a5fdeb3b092aed2dae49c5d357b4ab3df6ea105e8e3be669b5bb5152156d2cfcfd5de8ac920dfdd4952c2481ce035a7ee2bab27bdc79371a8380d53f908a678251508d732a6b7b697b7ebdab5fa6657b23f001873edf6120832d85a049d39e5466e7334a8e447fdd97abe34674ec2036f440251ebf86480e1e785a9527088768e4ef1534ece4fab5b8270c1a166c3dce5c161bf3eeba09bc527afea8f62edf39dfa7a60102eac3c716d890a294ab7f3bf6ecf26ce5f5491dd2419c75dbdecbbb5a7c4c921044cfe205598509a19459965188f32ee0f4900069fe4e8892620c18da5097bf14317032c6ef0b34140907254bbb6b31c8fbc88bd0142202b7d8cdd9de1fef29eb3488a7b2e96c1dad8b67f468e2fb3c07b43b49cc2896cda31d02ab5f9d47a2ad34e65b594368837271330d0272750c6ea40b3a47b504449cd0ece1dd9d5f81611ac7c8ea101efe3baa82cab1518738db63b48beff80be9653512ffe63a4405697b650f3f2603ce561abf469b307ef98471080d578a738d864a8c5b038e977f9037bc19be6ec5358bfe208fdf75d11416e12bd527b20d8d3dac4b05ac0b169a37bfd4ed34573520d1ccd1f604525e869a9adb6866f7d4618c752f969bef5b3ddb7ef4d53f827edf537ba40bb4e20b8538e1e3c0eebc74e457c05350e25c6ecefa9b65d13e49684cba7f3d49bb07d2c5911b19a575b20691b57ec8f5d6025d14955e86fb23820004e3c9a107984952251582447259580aee2de0779fca68f41041ab2dbd3702806f9e549e348a91b9838074a00c0e9a7d813aa576ee6f5da80e40904d79cdf3ee4c5f7f02772a382bac9b623e35b9335efdb387ca0b10abf860ca3032dbff41bfbd02092bfbbc14344ef41d9718021ce85427258175a386e857127cf3ab74a88f42411779000dbdad4ef080729d1bdec754dde1c6828405fba1eb2afffee032563000fb7cfb7c22f8b4960cd4e8f616be2d3ad17d8f385a3aab6ec84c91fc4bcca7af4c86c59acc217057aecefface9b88d158b1ab0c1d14fcf939342ccf173eb31c4b46ad0661540b080c25d315ffb495835d4675a995861c966479d5486a13764932275b894c66cb9dc183d152d0ba34f8cb2a6546849a623adfd749be18968e099905051ea93f5753daadefb0384b974050ee73bbb0d0efc5f3436c6140692b8f2ad7aa0f0df6d007b1829a25df612477d3666e6d13ede128f58469fa7c516dc9eaf412e536dee528155316359210e3babf3b9767e6ee6c7226885810bec8469693b70c1fa83f28dcbd492156b2bb2da2217af9795725752dcf408088f853c1f7d74a642a66ed5ebb4d3de608f914cdab7daf6f80c5f0abc5ba3eba5cf91893266f1837cc76b32b860a82f06ab0e28cec3a8837228035a6745d0ce003d7e0806262b2d01ca241f3dda3cf8324d10d617ed662c5bb1a26297578f44fc758542777a9a89799b2c52d2f8de592e3be9dfe0032fb517041647d5a900fe75f59463bbd11f51b0496fe3940daf41e992f739798337d80f53da5d4e51c291024344269c995866fd443cd2f9e5359f69b76a0a2e6f6df867fb7807cb2e51275cce14be45cc4496d9540e6209051dbb98803a325cfdeb44b5fbac34085e1ff6c22ca6479003600f7ff65568255ca02554c76eec83a8c38c9c08e30118085891baaed90d328d2317dc5c2715ff4b61570f841ed26ea59547011fee3496c9833a520be50fb7cf3068d92c51df8a64cf7e4bdb0a1ec2312dbdbcc01c37e4429e38868d326d997ad5a1aca6c2134ef96848737f96275d76ec8a2ae26307c2335066c1430a3abdd8f15ed14e6fd630b80b963e92dd4866351a3ee889699c435b4fee38452476d6d7fa43ea057e98177644987c4504faa1242536cd29ddc59f3d09fa6c1a48018befa47b841f5f0559aa947350a7d7aea3a44fc20558f28507d64381af1135327b09a0dd57a655816223b6ea296eb377695b36c9dd1af73d5bc4981e4f951d9db7b401e373d5ade4bcd8635c230c20e56709e8f5c933d6bf67eb6b881b4872a587d7732bc0dc5d1f707dd02fb60bbfa30ed1d5998ba04716700c62a7307beb39ca263d0337aa2266255da455d619dfbc534ae59011848e5971fca3d79784a3fb159a8d37ffeaa2738bcf069ae89928cdbdac92b4c82a3aae6f9903b7960c0ab3ca1ec9ee0d997f3d293ac107be5d33dd53f50e9eb46d6e4901c0cc51d7399ef383bc5d2c2303f3ca9a1cc60380757ce0089c896e4a9d936271df107533593933e194b6d61d82318c545cdd68795567935a07168f9b336080c85fcf71b624a1fcba58bf2ec4ef4c2c08a3a2e69ac4058f662cc4329f30ac5edfbbff7a2c21384f87ca7b7107db422eef2c25ae390ac0ac00f87bf9bf6b1d2dc8d2a5a239080772de0bfc8415d45bf8f5317d2b79582fcc166ab9f6101a512d2fcef1e4879592fb07e71e1d6a7381f13a2e0e243c09aa8a321fc161b4844aef344597bebc8c1170d4ffdb6bf369968b00990c7e829c4fb456ef86eb1a19b845a1f0c93edc357182c662c5b27c5bcf57aa2dbc2efebc856721715893a7e754c95993738c24acfa28ba8c0dec783871e497f871029ef608e89859e3e13c6e727a177d6f43f031bc02edb0171993ec0ab1d39fad4244240f974f44e3a7d5ba89ee954c606206478e878c3dd3a63cb498924f3a452687e66ed500551ce5fd7a6ae175feb95d947d1ae18cc40b262ad8a26ee9d534512c771f3751a2f0873ae20a7acd8de01e28116db08aba0f4b75e6f754def19199637fd7f1803edf063b2cbe093bdfc8f7357d595678d1bfcfe2cfcdc386276394ec0c90058355313653e5aa5e5b07f86f1ac87ca2c26bb838f23e3132f3f4c8fd21635748abbfda51d0f1f2c1ea1b319124616cac703cd919e61f127e9f1213733b67517d62278e25d935b5a437e93798618790a0b628ebe8ed276c236f8dc71e580fe558485bb3b7b4ab8f8fc281331f8dae51a9525abae61cbb70042a4e50c2935961c1367f749967daa00b420f09138c3c9d94c970c4ebddb59103d2689283a9246bd1f0c0ba72980fc10d218458635c0d0268bf6d525cf955635fe101241caa23c88a45ba15cd2f92306a77b3c081e4439ba8d34d4fd6414098b8ae2e3c168d8be848d79675f83b9b9945697981c5f8e941ce9fe70ebf7a4885e69cfe15508b578839df5ced7c2345d7fecad0e42fc540e0bb418ba7533ca51b2474f7ba5dda858ec2848fcf3eeb68bbad7d623de481ddd0216d4d002733a4af85d9b13efa61ba3f7dd4b16e005d31b9ff8880c4cdcdb49c84937f7fd4ac52e066387614ec53f7e06384a0d34640b32fb3e2a0aee25623974bd568b8e7ac08fafbb781fd731620b67173f14cc07a73b71a1680c01f7b33108a78dfbc6c669fa6497c975e903b5d8303799c591104f1386210e0cc32f111cffcce9ec519d17e03261233eaff39aa8a9d063cd8572d42f34bf6763a059969a5b25360a033a09ffc6fc7eebbd08c1b76be11708bb5daac5af010549e6d95e8bd4123e847db724368192cd13f8c1a1e0b47a9c42a622170cc910f2431328a607b32923d9250c63821831ee03732ae2b30b2c79ea1105d4f27eeb84ed3f991efe00013feccffbd61a4d1d59da9dcfeeaff0d836e93e24673c89004c17853ad9898b43f6b71a33e04e775b187d5b19da8409d98069cc4ca22335cb344d7172634902055598373b47a3d653bbc5640b1ed50937067aecbd25b2e6e896149bf7965b8d4999a60d9c82c92072379f8b2157174c26a5b05a09650ae12b02463d3aa3c2a653c7eabb7882d51c9abe5e849a410ac625ac809f5b698f3d8a91367157a07de45116aa65714ebab0198fdb28cafc6d293dc53952ebcd4c2f9bcc938994fb6ecb18fcbe5e46f8d512c4a7df8646ad46945bff3b6751a3800f8f9b00f9e5048badfc9cf8613ae41ed73bbefb93f96adab6c99c7820301303f580fce859fe80c2628b15f9cd317127147f612e921aab97096e0de80747e38955aee87ab1d67e8963a7b6831042f9985d2372ab1f1096bcb05c3a1142747e836a9f77a5898d8a5ae26257333b6936c9b7707803147a759f07071630baebb218eb0d5e87542ed8aefdeb86377fa3a369bc414e062707c4f6a8552eeba84395651beede3387a1eb375439c10bb4db7ed8116f11a5a7d8a7c5333692584e701e9ddc0fc4c909cf9df0bbd89852a88d692ffc9ebeb9cf878389f8a060b7a329d487baeeb23960f313af086bd6f63129b8274a821f011bf9c33cbb8e36b5a7766b9a20f91374cc7a3cd8725e4bc18e0d0ddc67c5a7847245bc9cddc50dae9ec2ac1fdb70fc6bfcb679fe5ad52585a43eae5bf44575a8d73b58f836e44e2cd34581b96eed747fe52cc9ffbbe15739ef8e28ae209c711fae5226bcede8fa9fba08993318bf47e41bc90e6bdd9e51d5280c854a09a50717e4bdde5052fb5f513e3c171c5f1d98c35a15e159394fa4bf2d642546c534bebf833ed951e15000925bffc2683194095029bb047ee0dd9a70d1a3bd7e174b50c7bc1a9cdc4d1ffc14d6d41013305ae419ef93753b6a035982a47582d7bd1fa31301710a7ad7ad30cd7a1acae79c4a0fe1e68f84b3b8ed8a2caa314c071c746a5bcb3b4cb3467ee86cb4ad705bc7f22ee77d3ed7bdcaa33fd5b8bebe6cf5770c667f19c8257cb4a07fba1f0b9838324c186c709754cda27a0860868af4bd608664ce413ccbf5dc85980cb17da6ad13ed90c0fd701f134e06a7cfa103f5e1d159978b7b440933fec76961d62091987d06f2711c015ab48e1bc20b1e50a8872da136787f1cfd9de58f87364180a0c1fd13d26843a84fc2e722ee8be495922648d3cf3248a4345a675000dc2df03389cf5889fad45dfb9b507f95aa88326c5377fddf926f1c3545d7ac9cded90247f2a3e834728b56bd79631c03c9d0136c9641fe673084e4d722f3530b0e5222f3588bef0da526c3f506eafd2547f45d3e3972e78fb9f992b480ec2571f8e659f22e84e1c0cd3424c4f6c56584806224a272e7ecaf0c14bc439818df0e7e16b81bb27162cc2d1ea79d21f03900000bd9305e65c803850f86e362d65caa8676be2eacb83aac7d17564039893648384b185fd58fa2e4fedc9b9b0904ccd39553ffa8e7ac60b67770b0b372644277b17a3ac0e28b6faa586106d6b639b0bc4d0da3fcba29b2d65e6d9efb2b64f926aef4c794326e810a810bf9bd4ffa78e20affeff17b052e9fcec6041435892496272058bb77a508d63482e5c5c937c1bad842c5d86c39abc70f0e7169758b4e847e0428b59297d94bab43e8e645108ce02eea5b7042a758e0a562fb0965c6aa4a03cd1ddef9ac3cbeea683bdd19a4ff81a502ffcf73ad1b57bf867e80c8ccf3175f2b8fb9a9f65abfbeba5c315128dfb0f2560c9cd8fd54731b7c883089d815f23c5035ae04ef4eadd1376fbbadfc0eef1a3d104acdaed26e4357fbedb1aa7f6b3308e049e51ae50d700c5bbbe26a830cba74ffffc8214e445e3dd64352346bff0daa3f9db41fdb591ab8acf1dfee8f53ed8b2f8c9830c616aeb306cef65883af9db011b8bb9e430af0bc5809a3732c8c2778bf6a63fea6e52651be165a1479ba9938bb23579f3d5031616d60eaa4b0a6727a64648800bfcc98a4144f915db3105cfc330323446a3dba0dc2d3c53a2b9da600d06b5af7525e86f62e781d7d110138db556fc3c003e0db9bbf8343866680f361fa5407391e123837761b0fa7e29e74b369ae6f1542fb4a69068146ff6fbb7db256f2bf3bda18522345d89664ce55fc81a47c52657569f568698eb66296523b8c59ef44ec10b2a705a76b2d60407c8046783f64ae78ccb2d3233dd46b8ed1efeb8a99442ce7be869be27b59d8f6cef2dd2b035e975809a4941b6ab9defdfed62e668aad454756885000ec133b506014fae3f7f0598b8526d264e63bc1f7a283983401c886ea3f9b4527ae865a307154b7db8564e83c2e2f2077a382ccaa53b9200c3e92ec1768e7bd60402bb0bce7315aa8016accdb84ae4b5b1056370ffcaeb2a819dac51b182b7421c1f148ee80ffd47c9ad0e400c169daab1dc5e304fae6e5f22abf6af09ec999d7893ea856a9c0dd5fc4a236d44cac4a56c97cb9d5c82093ac21f67fa9d674b80bc8a2b90df256b646d75e0651c4b67767626c25268db547f498b1a862fbba72895c8d20b0a9dc8370104d57c71e2c454b4d23dd0a2e3b34edf20b7c1b3f17c3ea404c6dde7272dd9e23de3c56afe5ecc3d5618e3ac32b7fb5716c896cbaf314d136effb8aa0943c4cd4fde76efe91a6c9090d9508debc2d48ab506f6ba7ad59a8261fb774a741a571aba9ac745953bf8e9b8d677fd7f0893c76c07fb462c3103d79fb04432a20d79acdf838a8b6cdb516806d14a24f50cd784a424ec50cfc6a825ce045510554d8a93b8d4ef97b928911d12222293c17136cc6eb14b2db7cd8a0d41a7a7d02c148a88006979a564a581237e035486d311f41cf002db2d9d012f9c2bafe635f65af156d53ce01496d8ebee89ead74dfe4b67389591b0ffc78e1dbfa18ab62d6f7a6a77fe50a8a47b8e2c19463e9076c5874662a071c0765fa398392f146a5bb85d2124fd73c2861914f098f437edd2e8113ae88477b7f9073d5ced02947f0e8a0066dd4cab27ec577f307affe3afadaa3a2408fec64394a9ae514d284955dc00550047f0f22c5634c7c32969a7bc61cfea4b7e746dd337a83c012418d5332d6d18010acb6e6d85875943a3dee827e316bbe395791200ef447f5b9944bfe81d356a3d472354bff91f48da4e61abd4dd77f30f20a8387ae976a55b74a0ae28beb8f5568153a5084d2293991e179e42a536423024f17168216cdb18edbe7b17e29b5de15a2e8be1435d7d3124ad142062a3e50cef22bfbd036fca66ad8cb4e0a316eb426209b1af55f246f26314495ad6c219aca41cd3933b28d9bbecb28e3c076ec825623b44b8f58fbd0ab8a119494ede9cb85c11f97b3a42d69786ebc8fa6fef996993c26ba7edb47f27bf0839650395e1cf50b9fdeccb23237852a8ca08a7bf4855ea378f40414e505847a13bd88a13b3d56cb3ec42dfbd71bfe847518f14dcf0e6a83cca7c485c715681e038db85b4619894a70cbd376d8635b4aa08b509cca0e9f412e48ae3f614511ed6e68c7daf001c5edbe6492c9384f8f57161dd6035ffed41c63513e059e59415dea504f370f2552865b3974a35ebd099d626b9a1e0f8a7adfcd148def4ab4d43788cf0d478a540d28905a2942df6071a552670e6dba0c00eb1c60add9423e00adc623cb4d138dcf8f2c71dfbec2bf5e54cdd0b6b2062ca7b5900f1936ec7013f1e27fe7efa4c77dcff08773e1dc892c0d9393b34d689ecef6eb904b790f4a8f2f00db90933b8c24b8cfd56d0cf774874b3a5a3e52c88ea11f79e2f524deb5c1e958d46c859fac053194b2db1771c29b06b79ca8274a3f181ee068a84a01addb22436c67bc12e94edc1b86a76f837b2dff71753abeb08cbbeb5ea159cf737c55683cb2c8974bff6746b0d24226017a363a308d90ddf51eee8558d47a16dfcb9d11f484e289ad8e9f8182e1b28cd9269542fa6bda10eb2bed124d6636a6601ce70650f0153eef3c0bea93df7af02e74d42cdde1e9244be45d2efaf9f9f453a0449e7b2183ff102b4f2c1611bcd5543eac3206ec419cfd23aa7147c373174289cce070efd9ef2d9ab0bf2bd654ba9a6bffbb64c9bd89ed1ab2a7e6a797dbf34b80f12190e64d190d4d9d682c57d96c8a678e7af8e7534025a5629b12a68370fe17eae92f42691b16573541f64a9e652bf7625e60264da98825022211520d0664078300dbdd5689e58899f94eba816cac26c687a26ec0903634e84694ec37c058aff38e98214317143f3e7109fc9a6a2dd98bc38ddffb70531fe59b77dc85c41b1b96ab5effd895a8d7261263243887d81934c267bb36dec5b139de49cd2d2909d1fd08cc558f23b84d7df92f6e12c6a80ef9563b2a4ea24d7ad2b79806eedea5192331906ff1b723abe4cd8bb25dca960be3c5c61584d0a1a26405191a7c646f3ba95422ec3d4e6e08fd51003cca2244990a7bd1feabe8fad5b3aa5ea38151229d08997ca8d6b3ce9ad173745c85f5c5a59625480ec14d5e182dd383294fad00b0052d9e3bff7379b68763995b417d1fa97aafdb9dd8ce408e6915851c9247bab3c7b48eac953ab6f28f63db4c155ca3aa69f56da4c431724dc9826e973fa8f6b4128c080df451d6119ba71722c8c60a054f32666fa6ee149a9fa0ec10b65e66b62799fb9694cec4e6c7e7ed5e50b324123f42ad03b2022df965605d1f81dca7a55be22755d961ad8046571a254fd11706ad1862450a450e9963a89443dfe1424fdd8aa652c0d7ffd872d06904699586bd981c1deed5bd8cec7603e4da39bc8b72803b83c523f9f67c983aabdea9540f19b61b217c681e870e3019f057843a7f1334f12d42d95d8dc3f2bd5d6473ceabf1c1b8cb4919850ae0dece21549d883a4cfd9df0096928e71c5abdf514733f46a46f868388c28488bc3c9abdc88e54db6d8106b0c601dbbd6611a610c970074720a296e995e695131158d3064b2e67601da8e3a926cfd3ad4b587b2219126cd81448dc97867dbf8c2c71623686b4fc2ea4f20863b0ef250d4631ac261cd71eedab6fe12fdc71b4ae38d9b92d418f248b5953ae9474a1870a3d9e35b882b493813cb867f04f35882716baabf0b1866fbf286cb01835d2f7ace7efd2b014ea70ff82a52dc99efb0a4ff164cf10aa921b6dd419b922594cce0ae5202e9f795d0cb3037dd31a0c6693a17965dd02346f90de391d76d7940ba4d27df79d18178dfd35a26198237918b99882cc0cfdbaf097ff943e5a78d77659b24ed6dcc843da260d3b0d24ef21fc8f288e7ef9d9ca04902798d619ab674372e9b506d0b3f53471bd0496bbf43232c7ccc640fba4f8c50b90d6b262f47920abb6e5175f5e2bbf1f932f508d2bbad25ad82a371ba6d3935266560d78aa998a9c33bae1dd5851e0b3cf32fbf4bdfa16f898962235ffc361b53869f355e13fd028399f32945cec9f3443e523fedd0ceb2985a0d330acc741abb4d3564b6c5386b01c1cd3941b23bdc005378a4e9550c4df33608ddbca64e3af8f6379f45429cc4e026fd8f27fd378621666c3e12c9807f350e310d1ee938d1e1b255cc4caf4af1d6408952f893a21707d5868b44c1a99c2bdb6446a272e9dc8c86f7a8f60547bd9251e01259459fac195f4d2764fa4c52e462f521ae994a077dcaf53940427d774cd96e41c0340923d54626745d567a6c059574c02a91e4606d4af02218687dcd239a2991a441845c2b073b32eb63840efc683e3cdcf96718469cdd4f3c6db06971db1f9817353a6051bea7d419466092b80c250e010cc9f1fb3708121d6220112dd1be797b461258cf0e095761932b5cfd4f5f38486ed7512f66132379b40afd78fa1e160d6eae9939481d1ab9abd0e696aa8ee8de1b5eff6460cea250dc5c7eeae02d6f1d3ec2a479d57ebd49df5ec8040a65016f71bf5aacabf99603adb5ff0c76a0a66d05b788bf48a65f6d73f71c9d6ff72459784ae017b5eaf91169c9f3a02f7c56763ba08bd0e1e6a45a1b607c5b499ccf7161f69511a219cac1d11534b77cabae31b1e2cfff6a4b029337f39ca119ad64f22bbe71d618a8405fc12b49324b7a787ae5309dbb0767bed964e93014f71bb94c63dfc1cdb0717666c05fbda90bff869891cb3709a8a0fe72cc49a03f8408dbc028afc97967063111372fde2cfc0d61950f53f103ac464bbd508b306b6456ea03124465a8c1f2088e53a808b64ad9de36078c3c296f9fc32b891dedcf8914767f74d53dba220db3a60bfe2cfd922f76ea7d3d3ed173c084dad1e393cbbfa907f789c9a25e41387b4dd89e962f6f6b9d7a91a3766bb1d48e3ae41228e406c9bc3fdd99a783d2c8a9603dc2ee2f7c9dae9498d6bff0b2e742cdbad1c664041a81ac915f2364ecea2a2add80186ca19dd53a052165f8fc66912fbb16885b57a5e8410a7c7627f0c0f359786c011d7f27493c7220ea8b28333db1526b666d98ce768efe115c0eb57798a3d2ca42594550b05c5e676eaf6de695ef9df812d9a5fd98bd83883dcdf3d4ab3b3e6df05467eb0bb5e42efb1cd2d2c96b6f5aba0657a14103dd00951b146896763a4b1e3e6e7f9bb979aa758cfcdb13c75a20d8f3f19510ddb407c0121cb69592c9b3bc4b67e1c0cad0e63314356062142de5abd9b89ea55f9b03232a2836ab0f7db794feb705fbfd127698efeefe2276748b5ef1f47f1c08aa86c15dfd4f0cbe913ebd3887aa92ac6f5add9e23a81985a8da66ae63d29010942d7eb7ef1ba8cfe9f6cc0f483ea5af99855911cef295a36bd6f4403c1b993eab42e5ef85ee2ab6a2ecda05bec9a07b7ed88d1ee716069f44c6ba80df15c8fde6891e52cf1daabdb87476aec700dcf4d62b4cf21c4ba609d379d26bd9afffbd25b6de1506b5f2cbd18926bbb1d1f6c333692441dbaff7e15bfbc77ac0c0247a3bdbd2956ccd91748e21eb0f239befaddd93149f840dfea322c7cdf8082a6c836fe3bc9f84a9e692ec828ac0275bfa65f3ca98929eb36d507590869a0c69a634e84d4d701cb63fa479e4b0a987351c91350e27aea175098bf9a3d619564bbcdfea2bd04b79ffa6ba3d76df1f4182f573219ff4b65ff0d9d4cce2b27e7b9641a789ccfd4767b6e78679146c33f34f60f0a076c00c3b1f7679ec29d7bdcda7919efc8effca8b7d9c0d16792432ed8fdfc4067c421de7209cd4fc1eda6f78030b3be3481de5170b56418f5b85e03a47bc44ba7fa6dd7d2d82aa8ea053cfc6c6a25e4af5254d27405921652cd44427d2ef9203ac1869cb9b48e8472a06a72125cc6f2a60a3f1410386710f40ba245416ad78b230f61d87d44dadde778f9740c526fd5c069433a7eec17abd7bf33043e5439023034adefe3673cfbed505bfcb2867f373ef1679dd446375a1b5c0834075d30f648f238591963313cfe0f9b1d11f8a2c7b91dafd44505016a130fb371a2e3ea41356da9387f276c0999dfb8890ae6be12f0d8a5fdbe63e63852c002762bf5eedafe0d8d39058d61bf94d6f0dacbce0bab57671e5b1f5a2ede365e096ef12be7ae46d59b9a9d4f139396d79519abda0e36c3d1609bca56364946b5a926e08f46d287560ef96437d42bdb79e2517046e815dafd9ad39a3bf9a344668c905ea74679deb42063d1b3f00ab4590f89980fb198981e2b20ceb6c02357383bb3eed730913f4bb2787c810f76af9d5a035cbd0fa9fa094afa18171123152b9d9e031f580ff2f009f8a4ffe19df5235c53c37a429140cf0cb8405ecb041b2f8c43a81ca9078757b2d3657c166a9c7bb6fc283fd390a0e885475ef5899c9e280d39461dbae69d3b2f214f05772591fe7ad6576bd674cb5ac771e452bc6b61e2987500f908d5acd7ad7009f02871029da9e048e5925c52873e67922d03c8c54a22c3ceb3685c0112df7322fab992038e0021b9bf8c0666ce7f1b80799ab403b8f41a341f6f5c34df65ad5bbf1dfa50e85c92a54b6728a9c6a03bd26f1eb7eacc544f695e07b4f593588d206e970a38a8df2152151c8e9f2bcfa014731e6a34e1c980e754a7f4cb86d1f2315ab1b2ac1d9c6dee8ecd1d2d7233f4c57cf3a9e50026e9a6efb303ffa264118333f70683aec3bc0810bb08e71db74192f6629b98f587523a111d7bc862e140f7c021ccc6f9a9cb5cae8925849583077a9b6bcd9981f4dd0fab93c61dcd6793378765210d3c26a6237f452d710dfa83c58b81b2446ddc0e821f50eb96b9064611c15ba32b7bb27eb812ef92821acff64f7d2d06b8b7a7fce240426b460f3322862385ff31f384630deee0e949a6aa2e8d62f0e46cceb1773e6ff26cb15c2001de54d9f1e9b9e8eb67433fcbc023b491ec48dc49444209bc278fd0f0e074e0e2a0bb99e91df902a9bcc89beb85b580f2dc1aa27e5dd536123f1403daab2c76c2671d1bfe402f0ba098f584b33846eb34d721209de421c479b3c2117572207d5cd16734219c00ee36725f85965c70c0aaf356e87181aedd6554ddb3a5bea78a22d4b4229fdbbed1b32c98eaaeb3e34e67b38654a729b28c7a988c34cca1139fc81be7de967f633bf43af9d7818a6ea9f0f32a5174e04dd0f8c15776a27677cd6484130947e04681c56969e91c5ea691d9125f8f4c310c2361995523409a36bde4274ead96cca29fc4c6ec2b2322eef3d8f61558a3785c0c294f8e4f1d5109a6179af91526c1389b885748c44ca764516d3497a3e22cddfb13c19cbd9f0fe5dcd0896b17c0069be358529ec35671caf183cd69bb7384ffbb882b5a9420af14bbb58aabb8f1f4e01b8d54898fcdf4389342396829249c938fed9e4ad608a2053a8f41240e259298bb8756a6403351b5e6104a9f156d29221eb9f8316eabfeefc63776ed9fb11a1b148f68f7c734d2e186bc2309eb9b638ed541be7170c99a9f54b9311accc3265050e7823cb27ae083c36da95437f92857f0566a352232b14ae7bf4a6a142acce9e71468ea192c87918963ec3d711d5a6bd37d315ba321b090869cd9f7b6c084c22f52df8b319088ea9be9a2fda9e002790256a47e74c3fe5ea5f40e4be80bb8bd79e61c81fa20d19cac9ede85113ba94db11799ee72048a0181808f65599a78b531024dd811a39ac1bff866dbfc36efd92c2ac696a4141783a06a2f88c1335e35395967f0875e42b654216642cf2098698b5fa70d5d772dfee0cec72acfa88a9d9439ce0417f0e5d801e0f6bbd4818750814a56da53439f316222f292cfb888ea709d09e3ff36ed4e7e4d59d0a0673448785bfad20f5db36e1241a7060134c2e58cba344dfc308b229483783fe11ff9072105a246eaac9e0e8126ee92a7477c94d18b4c7aacd7cc51aaba157114b5b382c8f55641af9d1ef61cd3c1f2e0ee36f833eeefa9c3306c18dedd451f18a0d68acdd549ed667ed60f185866b0aed8883accbd8d82ea6d3f2ecdc2404f2b6c4e046f52362e1cb94e85bef98c13febb275bbd68bff0dcfe5f8eb25d0a3b3e0312136e9ead8fcf9ff2b0ad43db3f6229e459b0e09664939d1505374f4d264dab5645091583f3cc352f0fa110f7b5c55ca560792cb2e180de7c7289c76c07359880af1f65150731a344589ad105b27c40c74b70986cf858436d6922ae6aeacb4b8cf47cd47346ce3897bb157c6568fa2682bd7d82cb983b5a0130530b6887cc01c99b3e70bd9aadb136fa2447151d706302a601b5caf3c43567cca23c68183a0d9e223cab71b26117cbcb1aae1ab0332c0b1b206fcb10c7ab383416471c9f12d720bbc9e9a49333ad4eaba2a9d2a316cdfffac7099886bc90377d2c53e7ed009f01ab6398826d3ea7826e9d0abcd24cc07ab1cd2ee9d5bea3cdb1b9a154093f0067393b7e31d1919fbe9d8b5b01617d74ff866890094de9066aa0c075426bb42d481cddf93a4fe14cff9e4094da48b9537d9bf05f7bf687ae2ab5e364a929913353b9d2dfb5550f65a748fb78d6527ac40247606e53e491de0154a8613889930028375a00572688dbec96f726085fd28d8e61307b50e468c1034344a6665dca2d60b525e42a449bb79a2c53dfd10998acf42abda389b1e3a7493be2f0f3e9cadcd4c9e9c779afd1e4f2e387864408adbab08f060ad073f40c6c6ff5c921cf3f2b5bdee50e4bdeccc9f1f2ae63c2856966cde7414fbc171959d4749759fb1d116108b13d1b0e6c70eacbbc953cac094e9e2003041b28ed3035113d8baceaede8d819263b211ba9ce27f7ba65ba33b4d9d6d8dd88eaa834c32382e068d87a679458673264c2a2acae36d97a109fa2079711903f8ce22d205c5d36e34cc0c841837cbdb2b2f816fd8de8c1384995dd80d167ece47b511d4f5c676367aaa66257e3d49653fb71ec07a2d9bae15772ecccb965fb702849fdeaffccb835dd4c63b75fa4964d5877a76f6db248a9dc7a26f4964c5e66bec42ae1deec2f69aa1fa3b0ee349c64a245e96d0285ec6be6fc8594211015890278c0736d3ca5834e8534cf257ec06b7d5a621d4e2113a06692adb14e3217fa6f0150f1e1663a5b122ae9fbc28c1d411492043d4960c06cfb95ebde67bafb01f68588fad0df8b241c0c237af3422fa9838e82bea84c5491c4328e1ecd588b31a32c478a8ca69fc13f16d3bb4e6bf0f578d197def3643058b2d94004cedc8f90bce9463cd207d8c7546b46233bf93354fbab153a6164151ffca0b10f899af061b552f935fae66be0c37c14e4cc11f86b07866471b82ef606816d1fc1c50168c83186bc948ac255fb1ebc1aee17a6ea7d503def7674b509bde9a504c412eb0c3048c51b67dcd0a80e760cf172756e8f09ad1a758aa4952806abba3c15a548047fe20526071002c4fc9e91ac43e9c7f7e328e1ff8275d3b039ab19222f711126fefaef7cda1b6d050775425980fd2c8faf4387619ac13c0cbef22961726c82fe6d0320ff4ba3b29d25d0b5d5956d54690af1ea6b814b183cc97f3a6b90e2b0633247e1035661f212b33eda71e1c26377fb2be60c71e1f4e5793a9b7673a78e7c32cea5fc1cbd18979121df7db0d7e7d4b3e91818f629dc667486f456a7fee52f7175871f83134f97065ee837e11b893d0693c5e185d4f0446a922f5049f06fe2b162525f6f76f972aa18648ed3ff3f39808a5137291548193eb5dea96ad581c629f678ffb96d6df602c6321ebefa4bda07e0fb624885f2f059c7753bbc2def3fbbe0bc1516447b3dec10cab97b3036cdad6980d20b9dfbf306d9c38714d20b08179160f206fa3693c0967ac29c178f4d22eccbb1683643f9fc12df7dc2180d4d8c0f8672c1f5d067405562c7a12a3eeeb42fc68b00691d488372989e65994c0c197e9375d1a503103a8eba8e52e1eab4baf744ee2537a633c1c5e8fff2e5583a3eb62dbd495e42c28eee952caf5eb483b6f03c35a7bc5e7941859aaf014a142aa25540506abea5f58b4f0084a6e06990369cc1d4b1a9d73e13a44d67a61b28be2b4f59d46c0d3b01b6dbbe1c603898069af38829928ca1c71373ee4694856cafc8cfca209366f22d81c8db62b1005de5f553d117ba04e4d1d431bb638d63330763ed8e6baaf71c33e34bc8f4f099ca010c6cae093e734bbf722fd1e3f9591340745e4a92f0ebe0e7f8e354c5c19a1417e8b323ae82f60085d1266503af81981fc61dc98ca2173f14690d2a7f068dc05375989673ce6322900ee69c26f66fce7b72830eb0cc50b5a7d508e48408a96a61e30fa7f03471a2552b76f54798aeabbc6164f676248af4910c3336cd08eb6a9695d1b307dab590dc4021535f7bc75e3df16a032c18b3b1140258c928c99f85d24089a4b7f75fd6d4dee8e6a6404ecb19386472c1a964e011482c8e2435239b8dafd33ba4e4eee42c3089542d815df001e454075f578e3a440c3fd9052595e6dc8b190700f2e54266548a5caa2b386bacd92d16b746270a52feec56cc7be737305922a425016adbc00db02d754c7540a3e38d56afbc5ca8683fb89b2beecb0bcdc40dcad23ca2da4313d0b1606939c2098e8e41a5a09598e0e4e0860a34a47c1a7fbee93701273454d83865654fb7635f7e68f948850484add429b9cd1d251cd2c7841faef636713447a1453b3c9f736783880124f81b094100cdf50d1c4ca563c081bb0caef964be4e9b5c046347e38a57859d3255f6141f35ddb5f39fa35e487678c060debbac60bd65afd0831e0702c66738895191171c2cc044f59e49f46bca370960fb7b15ddf8ebde9820f0ac7d4527d4b4696eb0cacd9358c751286a9065962eb6a22ccff0ac1b5321c0ddd938d45ee31959ba9942da13529a1273e8aafff6368b51194d2c2429f26be4571c6c8f0fa13ab760c81649546a14b15dddcdf7b7f9d98aa5d794f39a66431d351d58de59ba291b39fd5f3ae2e5616bf7a11ae81aef7de80c5a49c58d76ce60a3103662228294f4321a0b51e8e1d66545216f7132bdbde11b88bae348dbefff0bfcaf8d608d5c06981e055d88dbd09be621595ae4be96b2cfdb23ef70c74f65dc86803ee36914d7824a56209a085dbd1d11ec729e310cc0e0033ddd0a222461ed8f47bf648b1cb3cc0dc52db04cf2812e4a63e1668248c80aed69828928a46b1343de04d7a5a5caa5aca75cab05ef76a778237223c5f410ae462099da68ca95460aa2e686c0346994c13d7a087b6750e66df680d2ff5e4280dd7e675080f1a6afd6bd34f4aa2fc13b531ced3fe09d973e1563d66c05d0c2982dde151c005fcf792be42718c4283bd66694964b56031d839b42d5d3b14f0c512cda780282c9742b65d556539ead6a0504734400771c92948ab479eff0d6ed0620c064fa3f3eb7b8f9c2f566e8967bc31bbbcef2d797224b7ce4b4c30e9d95073a036e8ce385de5330b0ee683c03e4d7f0062ba506d80d9104911b6edfb5ecb305f44446db064270e1f06a18211031e787d92d3118f605e744d0071cf29dba8b96e6aad9c01407d62e6010a58ab3818002b04a805c8f0ab31ede859cc1e392bd814ebf0585661b7698f9d5d9737ff7c8460368ebf95a04cca37660ebbe39598584dcfd98722d7df84fc97e348477588d69cfac9a895b991300e117ee9e9fb4ae2daf2082bc74c85409b0f70cc34ced5f63ef4d943568104056c30c0a90eb73a56ae2a30361e8b6f2a75f1ee8bf9df97fa07925d13cc1d7976dcdf98641db153d4b1c61f3cc888916d7166f6d76dc3ecfc7ba6b83b3b5a239aeb52d5b8764153524a9a362ee5e10b3236a71f083ee105e0b209a249a24ab9c39fe7371f64ef0ae098ea926a6a2e4ac88b9ef3407fbc97aeedfa35e5cf10aed446584d8df1348cd3fe34da20963c688b0007808f4e41f16f7232fe2ea2bc5b2cbf30b3c66852c0af8884966fa2e9ad15407f50d1460b86f4b84456e2458f808fef7920d6d5bbdccdf43dfd8d5294bf43dde29822994e1a98ae58c1d9f1cf31e5ff345f4fbc33690e5168c1b32dcd665f19a3f673e1712db09ac370b670c95e1b7a9674bcd0a4d5dfdbb8955d3cdfb71e53b926b0a4050bc8fdfbe9af8ee4683442a371e6774a8e39330d54f3857c5fab936d9f4c9891fe8b690937b555f2d22e40479f28f1441abe4ed489d3aa6a4b7ddd22964a59d6cdba0a8e032ecd15001e3d9357dff9dc9be0db22acb1c9e4b86fc94ea85cfe1e7fb2da840e765b221ae2b8f84d6e93d28c19f594229b8ecce68a3656bb529b57fc8a9b11367b5995a3ff0ae176a73f6f994d53a2ce2c53177e0efe12950040ff4a0f421e53ecd805012955470957744076d40f1e8f33644df7ee23e7447ac23b691df6b1394628a41a8890d0000afd387f558fd225e3b9775f3070133eb80d1d3fb5f84e3abdc1a62599e39a8d9cc5edab856e873577daa1a7dfdc71ff7f70e7d1c7e788cacfcd319914e1bfef7ad0d4091dbea71b0012f349f7b04f91c80cf96d291ce099d256d91db58e19bfaabbdcc3a2786d88351d5f2154cc5fa004bbb6f02e584c49a52aed441d3e5fa0ec762fc417dd6af5dab6867c6e42b71af6a48e759cbf9fed9efe51fb63bd2f72cdaa0d752f77f2c68c2b9838e609413fd589933a06860b811c4bcd17d12fc6c4e7725e529c5c3f3f683bf41c6b06a77e0ecfe45e8fd87b1b701e097f517376aa4ebda633ebcdc05bc060ba4ad741972f88cd5aacaf9e8796dc16614615d6cc5fe95d3c09169e1458813a0e5badffc85daee15a07e33f28ec28f39480bdd0c76c53406f00c5a0802b62636a36a39605c376afc54a467b61fa563e24992def0d54dc8eb5b6617ae661cb90930810963693908b14b4cac59ca23b1bed5ba7400acd250299abe5b4e5e427be274d32c47fcd7db6f0f5e43d34ed9e32825d19150a5a724ae1bc880d3992cacc26cb2138c650482d21522c32a08fc0789d02e97318fb6b980a94dc53b93900ec13b5ed2082034d7d746c4ab366425a3e037975d2835775c7b11307729b61edfdb44e757575b7844710a9acc7e8daf3e8ede731455676c7f63da30627d4a3dedb830d15beec9bc6ab963804e536c358ffb1070e2a055e0f94c3682435641e5bd66d03d45001c070a4d6b8073d8df35233a3a49c3012cb45e4e5a14b945d24ddc3e55e404e859175f5fc8acacfa3849b133307c00f1d35817c245709c0a44db45c4bcd439cefefc58c3202002c1472559ab6a54898a289a2fcfa15be3fd76264d26bacb955944738ea2fd4ceea661dedf3916aaa4070125f3fc51ccd2626a1db5d2fb253e7c703774bbb0d56c7037c388d3a451b24a3b6360ace5afd15d529465467636b57b45d9c8d68dad182848cdf0caaf09ebb6dd397dcc847234ec32f476ebf5d55210a8635d0cd67b651c672f38d1cbc0f568559539742674896f38aeec4dd1cf17209e4c481bc86636e83a22cfe593895efaa81b028f187f03527c1a04d70aacc89a85a8922a275d758b7d6856eab56e10b94c3a334ed80e3a36b53394b1c369c865056c75c1353bdc3028c64bc8b2ff3444fc951a6c38ef5b6ac200e1b234e197e6e841cd6d5fdfb6b90fda82f43c9bf92726631756b1d1e5da168d5bcf4408ded7fe69cd14a24e24b1a9e2044da50325a16822f43447f8385e12b1fb4976df833c66e1905519e175185ad8d718fd8e8ef50d7de19894abaf69259b33d81fc46b4af80ea6d7ff38c784d8a26d913cc1f92dc71112d78065ce2ffffb7d9fd44e55ad02bc730600a0f38f53ef17aec5a1f776b264c1719cb63a203c3870a66ebbf98101e1b826bf6fef401f8712d455433cbe550abc4396a20bcfcaa62b91978e8d2e43f2befc0fed2ed491fd8e1bb369c2750cd5840e7986f8851b5d3e98cd74d8d19fb0a10778a57089634a0f3054009b6ed9d4862cde7783c3afadf88ed0fe866a65684d514bd1c3624cdf76f495321bf921a077594d9920ddcd3dfc979c33ae76217eb0fe65009120b71edafff65401cecd72cb0ea1e71173d0c08e2ba1702a97f32d1779a877bed609c236638e7e416c5c48ee9c261725c8dd16f8dc6ca880c7b36355881d698487db486e7ded8d4241e3bfb06091c89509a9183e6ffc2c31d8c5ba77607da2e531581726c7ac7ed83aa29392398cb7c0f1ddff7b7eddeaa596fac2fcc26cf1acf2ba629ce36a8e301c28b761cf5cae1190271ec9fadb5dcbe450964b3cd68498032869c9f7c720f6c82fc81397bb55bdd31e9d1394c5c663c608142d6b772c53fb009af9104b2d96aa40f74b6473d6114ba932eacb42214df1c21f4098ea6c8eb934cffc0ea7b2db6170c1404dbf3404687248dc6458d2a42a3a3431de3fa537aa7f58e4ff444ba958fea028138687689165c9d30e99700c3c0741847b05c1d4a5808ae101f37de6b3b24d7044da99a244c036e456fc2a8523103e4c94e24b8a7f171d52c59465072edc7e8217c53a70183b9bf9a59a2f43d6f49d1371888feabfaab93bd8f85e7db8b33c0bf623ce48b6e25e3f87c1c63b4e02e9a20b5a0d39cf9d1b9c8bd2629b985242e4fd533ace231e100ae275e7affb0a8073ac73e6f835624b07b904cfcd560e31eb15cf101d7225b4be36aefd12428fc749b88d76201d67bfb14abfb21babda7abd08cade534b26ed68c0a6928215f11e4c18a91828f9b1f61c0741ee78f312ff911abe7290a558c858dc387b329c63aa83054207198ac1ac0dcc70aaaba3b5509caeeae840ed8571c5412ce9608e6e9e10d5fbc9b41fd133c616afdfb9f4aa6644029720986e29fa0027432bcbdc87e604061549bac0a08f56f5997ca4f3284bd7eda95177bbe447d92fb489fd7676e4f5420e3374e4f6588cfd169b82e16ea86df60ffea96773684fd2fa462b96e7348c1efff763bf85e59b9fbc6b1b5071b7e3af637733bafa569793f8f480b9d899cd2b91d1c38de37c994532546d4535724c83ada6fd92b2f8008a56f173c39708d4f1bc10bc6400d47ec27f496cb06c514188c290621af1ef2466feb83d2dc47291e9530c35112f8415c2033ab4b72819b748a3b527f99d52e680c2d4fd2f02fd2bf2cdd549b0b02753546abae51d6f9b86712b074fee4b8b7af4e9b9cca2697a1f62fa36a454aff9daaf7d931a02d14923665365a042dfbd44f2243bb4e754f27993a57d05f7522e923b7300e1144c909cc09ec6a24a4f5451f1091da5683a629fa2967b87c1d1d181ca1611319903ff02a54f0551882bc21fe81a83c4512a2b7499f5a38881ca2714dc3ab65fa2f6b8cdc3cf81420abf1405c110d46b39beba2171ca9156dbdd537a3cac5156afc75137cb4ec4063b873557953ef0280777948e8167b4e21b70b4804a1c28280df58649c96d9ddeedb9995bcfe34f1b0df27e2b6f9ca4562d88984e4af06088683222b0743ab2cb6277cfca782ce4294b4d7567c1fef3d785a9ac008730fd6867534511341f397c98588241b6feb45f0284c1ef42845d7ddaa79a85816d4d1ee5dba913063dadb20012215d82d67b8935f9e5e04663ce771705adaa123a3a01c40ac0d5830aca08e6e0d5bf226779857f0f4e5d946ba8ab9f635244fce2e672e5eb6574aac5efaa824648b61f1a80dab9691150e4080f977121ddaee3abe0daeaf92b02826febd88fd860f3dff11d3a40a2fbd96101e4db4257a8bf00a1810a9297e1db4715ca1318a7b4fef1572c83a67db2b6b1aed10fc75d0c5197f115a9d851b1f545ed4ecc206be9ef1848c6bee05a22fd22e51c3c879a5f6916baa015954ec91a1ac4188891e82ecb76938a68ca0a2fecea85f83eef6ba05413939b4fcfc108196286f9b0abea68c2b127d23dfb6fc1be98edcb28d0a6dd32570ded83db4b3645ee5742741a0f4153de4e3f6c640bb2159d53f2303a2e4a64beb3865d9ff4e19c9f36bbb93b8094a982cd9dffddb04bd575ed163db0174e500387771fc25f095e324ed7bccbcb2e69e66cd85fd959d460925e91986b6e494ac16f13c64f9174b82b4ed7d11e60223e48716af85b9c265cea49cd981f4cf8a5044a36a2b1141abea96449613aa0489dd7eb3c5db6f37666ae8e15361914331af3c606925e726c6091eab2f72115ba69bf4924e946e991f07360f90a60168448edbd131658480af2b8f3338eedc8a619dc8f53f547908120c3ec62e85d7b43d827affa9d3a81879a25f6b720b70636c675f93a3d9805439d794dc75203ceeed4452cf4e903455dc9e0bf86190f862b6d79b18a2dc5f2af33feffc5763b29ec03ec17c1d9847f4ad20f6286e1cf79bae8206d79cb746fe34a6c4b6fa95c3533db85b053bd8d614c125089bce76a9678893971ec21610c8f0972afa3fb9d7a488d672d30e6dadf51da6f99acbfc67046dfb0b67e902e3584e298a4f10c41335a1beec36fddb8712b990f239c3378b4ceab39ad83ef303d84f037b35a54a868ee5e854eed247a17619c2d9c007878012baa854bf998de7825d311f5fbb2dcbaa01362e45c716380f34c57fad127c60c90e4352b957bac18483f81bea27c6e9b94406a939f42043618de338fbf3803f7a6dd19dcd2b0da48e3d2883f1f9d0bb97404e96a6b4cbb923a1f2950bb07e862a66e14d33e0d2eeff5f70f9fd9fc7a3076cb54e6c253ce6d8ea59b677616470711c5287d10ce52723ed75dc2c21d85641fa4694804f30901c2651563b7a6a299f26d8b6b687b6cf8a346322c4c55f848a97675276a1f607e8d779c4584d9dd093482009c47791e58f004d996440217d5b3fae3fc146b9c31064028aa28f2189ffd56094995eed30254f95760756be22003864224e4b90d180cbe888773e08bef79b33ca7376a0c1bf2464b6e8404c3641cd709a57169d842851dcea51ffec1a0db3ee87bd4b16f99e4d70dd2d5b512b8d09eeb01bc7e5e370097e8e364789f5a5548566c93c3af261049b45adc9ba6a6d04a7e2d02776b6760a29049e501e676ee452da91d27c9e715b852ea682771230235d0aea9756e454cb61d18deef453fcb96b2cd16ef3c974789efd37d04e14a785c74e519079062d4e63269b168c7cdc6d8d5f334b52beef46326d0364210c74bc08aa00fdf5b8804d3bf12c83fe0a0c2e94533994885a46d1f92c95538e1c28122a95f5666ecade4ca51a01157db6c596c1b5513851e2599ce850f25632b0afe0448dd3cb8584f87ce63530eb17441953e427eb17922a86c8ddf74333260e8082994edf2bf057c444df95ab6663b9a180887afb5431cb4170b91c25bdb3694c91a716a69d0047e566cac43b778a8a4b208b93f7529215bcfe74ce95b5d79c2d0497988475c1a8268fb9e6cbf57307e2778abf61005098a01b8872622ebb08b0d564d22f23b5084993e7c27f3ca8116b691df2ab75da83f8c91692c25ab3b99f63e354ac83d6571d5493d5d2c93167c0bc723c490d5414159e1f49d6f831b260d6fdd763121f7801f84732446b52df2f69176bc59c6c4045e6c516cea3dccfbbba01832a0980c9d70761deb10d78479d1e31b2dc97fcf8f2b263be410857359e3e1880a20bc6025890cd5aa74ef2b11ebdb7a568e808ddb891261cfa527d3485491b6b45cbec620f05d7e1b49c1a7844810bd3114886e35271dd5251a5b8195bfe23bba9e9a1f254112509b6e370b35a668e116fbfb2506f4ab35654fafb4c5095e5dde2d06c1685bcf647eadb817b65f3804c32e5c167a36d8dd9ea7d050bd4606226d6788dafe6aef8850d89114cfc99e727fbcc289ea937da1095243b22ca31d2fa2b0fe8f5fc2bbd257a87d426d949486e210d64aafed8278002efe72d1dcee5213af30f88fa905ef9339ac53f5733558c478612a0be70ed9007c1f764ee43e4f9a7c8e4bbe3663dfed521ccf202458e1dde83d357976fe947a2a4466b7c35990cba14ca05196a6f476a53776b2c0a02279751609816672664fcecd0e58159cba4536a14d2ef30078b1cc9514d5c423ce6d0c6094e8231e41c18199ea3ea9775e8e4c9714ae5daefae24ba69339ec4b449249d9f9c76f4a54f474d784e571a554b76624b11777ac20fad72e43dd3e836dbb50ec78e82bf6c9812cf7ef11c4b1368a2ebb0ad94838d5884a158f55bb7f0f27ce2153505fca19db6fb4e7c23f3961b38a31d5c8e82d076b49f851ff47f86457fdb484c5a1abeebc97a74e1016696ecc55bacc5182351383fcf168085967c4ce7a8f8c5d2232bc63d8467f7ab9525cc5926963dc25ac075534714d221f7be4279100bfc38c7ac9c2ba9283da2e95463ccabe6f0d7c5be56c81abc7e19a16559dc1e9e95e7fbd352e476c532540f15157c3c78a49ba25d822ffbe1e2ab2bf251f19e84e790ececec9141971d84d764a12e2e3fc923ff52a0964e3a02d03b2253894ad29407a7189ba8d5260ef99e6525ccf822d95523c942a065b80cac7b1c0e425794272404282dea3990935b6212f7266dfb702cf3622587d4f7e1ff95b472d11a06e2e20f1a79fd614471ea034db933a60d00bc6a87ca4cf01fe7e79f04c94eb39ca5dab59a5d2a8e8a65907f590d0c8794d95c2b887012991a76e719217cff268fce100b300e697a9fa0e98d573e184241bb5187a20f17e0e126fcd953696cb4798d6fdc0271db7cedd5b02bdf2832b1df641608bf2d74ef1333d9e145711f0eca09266a0d64c7cad7eebac2f1aa8b2f4bd4777c5a52ac4bac7477c90ea9e065a9984b9cdb28cd7713510fe8130f0bb182f7ce6d90325a531f29d43cb1c2b29bd441aa1f641442c53e9f08b94733ffa577886c203a03058d128a76044d5ffa25077a875a4a9a2869503dd72599a3defb6bf557b957040c558fb115f16ab053f093e13461179cb799aad72f04e55e5cbd7c340885a4210dd7dfb65ee1604f54f72f568beb4a0f5e94b36d16ccb98056dd5012365cc6cafb4bb9b3ab092d51804bd20be1704186e96243aa70c3c44ac43f90e5a289b7692be2a24c9d59ed0b0ef96b0f1f111c20e4098cc647d86678038ea7f751ec3cd396e18eca17d272370a3ad8786fc9dd24462ba19940843d4359d703ad87427b613586b89a63ba547ea6ed6710506b59bb5b9ef572fb008384bf43d092fdfd57eeb3848e7f70862b9c0f323cec84a056c0b0487619267264fa97be5ef08c5da942ec8ec0ef8e9c4147e03011bf68ec24d5c7a29fb87ac90b72447e9d38d4374923794f62ae356d6c7d9268989b6e9fad20d0df8ac8414ae08fb021e4fa4f09f3ad35a897843c36644871ee1ea18b3accf807d7fedcc9cacedc9d636f4a018cd04e55521fde003ffe67262e89c3397e015f4ec866fcd7110a6b1c5fcb6fa9a220c148dd8840aae1f87b3ad476300d19abca4e9cae9f8430dc7f389309734635834e6b4cdc1a514a76405b644022bcfa78a9393b54694b2f68f3907c11e34456728a725d9b7149b6d87be1e48d18d1156f0e7d2cad362c46460d6b95e7f7e410d58ae71ae06448381154f2ca5fa4d2c13cdae5a7460bcd7ffbb9f07f9a95fa9303fac99b7c58f506abb0c87358e35a0b5ac021aadd1e2a2cd45c6d84f9ad1194fc55ba48975dc45fdbb89a202d220ad1835edaad3751586de91f386aa605a6328cef0d7fcc2e25d7a9480a004f2162a544b8af5d721e392436efd58b1505129cf1e36e49785e4bbdd6e110e6604e554ea73cc0dec910a1b7ab485d9ddec5eb80a8e2f2b7a85aa58094fd573391e3668a9ad9a1e444956d32b1ec703dea4890c1e96d3f47947cc9cb4bdbb3daccefb2c7b7ffced6d08e9f2475d7a33f37ba23abb4bc732329363b9c9bc8cea4ab008a1fee3cf2cb39591674f8f0eda1726e07ad72069adbddec8fb90a23a1407f614966f600effef3314eb3ad346cf4a0805e9bfe9c4c7a4e220ba797b06d5be585687950a5bad5876d122f5e20bf28087cafc336c88bfd56f1249fca9a5968144b88959c2fc682b2fc8797501ff91488e6f3e1010c6fad75d57db8d3ac68148561d643b1b1dbc034c453787641c7d094924165bd0983af268829763b985487f24fb2e112ca00de3a057f3b2f30657707a933cae18f589f8f205e7f557a5016bdffb1558d97509e83fb270fa1912b71dbbd646e1fa5091227297260d7978bb6f6d89e83408a12dc3b4af2c5e44e04d93ead85756e44ce4a211b9142cf8b824bfcc269d91ba10f1a1819eafd69bf698202c98ae8a83f33cff506a16e43550f3eeb391956b1db9521c4f3fa698f5fdee9f158e94b0c8d2e7bba371a8f24d008bc8c8c76be7e0dfc6bdcc86cf2b17c2b898fb771c587b29ebe2463aa7dbf0c0cfd53e1c14c915b0e986a44579ea789b249a17cfb44d8c3d68b5a11a0bb39eb6acd07fec4085df5af042344454fe27bd99e9012cd498736f8fafb2233f5ac5616ab7ce8a42af85f1be02e4ff44c97f18246cc24f168a948d32156ab00c9b95531fdb1effb3a65bfc13f295c5373b15d6c2a92da51cbdefde8254ca65b85f9be13cb7fc1c495b4b83e84fa37ac6048f9d13f51ff1950078c208cdd60a3a52ffe746c7f9dd4ecf0a53638c22cb19126d26cb5764f13ea1e7e293d4b4bb70f64a2886df15aa27ea1f45892951227a4e10919f2210807342ae2cdc78aee56cf6c31a97d5d5fce5cce1e3deee30821b5eb52396e31d4e79453a139928a26fc8afa91a4734032543dca9cee9166aa0e796371ff6a177bbd5ebc0cea6a4834db9ba9a715fa537c3469aa725cda1d18c181e4e79d923784b7313be9a11b5d7e4968a304de2f0cb6acc91dbcc335a31136a6c3c3acc042ee81e8c960b34b4064a0b9d685cc8b6312dab72d63c0c974b02331b6f3ef2fec25c0b2e4ac8240757a08a989ed3a94ed7e05d884660d934ad747f9cdef9d5e2df65f261d9682b5dc5735d36041131f5b458a4a34ebcf6f713d9e6295e67aeb66be56183cc8e2b1bec391e53d91f8c901c990a621f241426225003df7fc21a6023533451d984253a0af5d63c57bbf39bbae5ac688660fa2a37ae05981c67c37a569963d7a0816b2dc140110febcfc2eac148e8cc36ca8fd5eaec1c90f36a26fa1a38f6a205e9769039f598f762f5996cab8e63f17fa5fa1a0084e1f2b1ee232a37ef93a35a935852f1c80fb10195622972909cf750e233c046fddf1b20a0c7e6b6a9344fe89166902458b7c67689510b6e7536abca07f7bc26b0c532a18fc0ec67fdb3d0d5368998fd229dd3610a3d88f46b128ad310bfa7308d57b50824c44f9efb6947d1b4e8bc98866584c57d5ff4f3c340cd9dfb8e2a80780b0d1ec7b9aeefda8c70decd3c19c6967f8ad3fe5a928e3a278ff7ed6d703de0d866f432d22e6badffe70cace541d3edcfdb0eb3d842f69f47104f20eeb59c7e56e3f2838dd681c2606786541914812c72820aa2857835975067105432cdc52453019c3676b2192e51a273950f071618dd7ee9fe223e8ed92f91f2ec3679b683c437758167b5d51806f6fe88710eedcf57391a841a7078a2f841900ddcb509c90f2bd7ecc94f3dca6103caf8dcbb92b694dfb84a400ffb1220e0fb36e204845413eaf304ea2b2ab98a347715f868b7897f2f4e0a1e5eadbbb65a7e836d0460bf215010b9ed36de44117db742da0a849c712acab6a655102cb94b38f34ec11859ece0b51cc2320d5eeccd60937e801cf0d0460bdb7be37d3086766c632139926def476a0b7f2d937766f6e65a6f67b4483570e0f5805f301c22b0173c28cdec038304bb49a5f742da993d8fefd94c101f188c8b666e39164b93c90ed55899b6f404a76ceafb75647ba86d461a89e9f06d6e354035ca58c3407deb7ccdb9e63b54366be913d2afd9bd4b09b142f3c9077a024ed25feb4f4527e7991737ff96e450906792285174926a0c2185360678234dd9273e49938ea833a62b1445263c80a732ef3fbfb3f242f6db236822ddbf9fb2b92ed5636e2902835a5e38882b9e1165e15f83244c29257de475961ad003d6914e11e25a255c99500137bc8fb5d19772769f219ab08233badcdeafd4149626bd113a7c4d36c77016f0702c32f3b7bb9ba77a1c74da7005f0d7fb3979c330c918023fa8d4925dcc982df21fad1100b79b97e2a628bf41768e62c3480dcaada0fd2ba2f73c1fd6c3c06fb5f22ec71d2ae1900b9e011e41ce74e794df9f6845080905faa9202df422b68bfdaf460a86b8261d2df6db6e81201631fb350dcc2ff82b52fd5136b5d70b570c35dce18557b828d985a6f3416b2b8b89aa1ca1b7aba7a6aad488db18c5bd67768ceb861095d5878aa00cc8bb282976b9374f3eb848706227afa4a4e927cb6b29ba668241d59c607cf9e6534f8e18a955bc9ccdd4acc9f355b7319718dc5179eb8f3cd9f98ec454eb43477baf2db029c5e2ea1c1cfdf3d63e49e9e5e59862800e15128c206c79cc4d14f8747c1136df62dc7abff67ae442019c920ea03626834bc1cdd66b14a91f927defdf0591120b4e1bd1bcf096c75d72f3836d7b0cf1cbe6ca63cfbcbf79ba300584d9b34d6aa6a7652b2c3ca77e9dfb0ae13817d5ef3b61e1f5de913d3aa8c10a481c6842f20547eeb3796ca163b9ae7b40648dc8e32619cb2830b7c8fa534d9199301a9da98bf29c04ffd6c0c2fa8093fea7fd01cdf5f846178db1959509dbe825b50b840ef82cc070828d50c1b05cddf32359b14674285a1e7ead0b56762c8f9f6cf22c4eafc45306dd4bb6d37ce0f2ffee8b00fb048cbceed408cc0a50a9d9e789e210e110439824371cc8558139796d06ee8dbd783c38fa63799bc1b6c99a744c89b46d256f4d3866189c2145dbf94e2bdcb94a64aa5b60dbe914171a63c4228fc5ce119c8462dffacbd81d89d1b4fc71f9bf7f9d23382e507ea80d5de31110ec1549fe5229ca99cc5749f17080867b73212c4f0c4725609d075be9666f6081a335718abeea7c8dd51ece1a73e8ab05d72be0f354e7d4b366fdbeac253aacf0fa4be6d82dc9b56cbe987af5fce6c5e64bf152b9cdd4c70ea3d1dc272da68faf0f65e2d888ce77d11ff40459edfe92082c2a034c3ecb1480f7f283db7a240428483b0c4cec24204d01a16d0916a1c0a4ad365a7d6a2830e141d8a3f490533e580234b79cdfcff8392bc1b6a3c1519458e2709c90bd0a66cb2a61c3b7c2a0a80593e36bee8e5c003b23ff46b007013badd964923c4afb95bce4e23fe1619e3d3458688da2f57d6ae1cccfc8353078bd7414a40d390b7187b08de7c5dca7eb716f725b6dfcea2b5571334ec001906aa92a32765140aa109e3a0a3c54d92f97d1ce911c82965504a2f415d3b21d068402d1d2800ceb56322efa3278351dddad35c7f22967194216a7e5af64d3ee63c303ff3651b0bc0b1b570bf133bb4e95af4562c20d13b58d4468cf3cdd3ab4996a1139e3cdb91be4bd4d4ba8724fa95be8f123805129fa66e2c63b5042a1867b7dea9c55a800c58eb35db2023db2c93d8616b9be9999117228d48befe985417fe12feebf119bb9ce1b46ba607515fbfa0fd1f2e34377beb6e5181812e72066113b387f0240b192118b3777be3fa4469989a9decf4147d6f6549d1fd1f278dd1f18b5142589bb552ae22d6cdbda7fc1bfd1f60bc400553cccc20a6f43705af1340eb15de2fd43d33081be2f8ede1c7d7423f7f0819aeac38a335c1f6783a6c7a8eb3421a08d905965bcca4e9067b841c7ecdd2693391234f8fb29f9b96186ee9340dfa32b5f47d8c03cff9afc78ed11bfa96f9f27393727fc489b81902d8b2f2f653665fd9020216cd89e3153715459386a9600bd1ad14b9cc6fc3d55cdec69ead1d64cf737a21e4927c3e8e8e1c4ef7b12f384a2648f2bf4c3eaa88f954eca28356752234635314395e843d834c0741c406f9ca9e0d3e41d5774e6cdce233022e3539baa17049a74718f8361610663d15dacee968c09ca82a8b844604e1efa848fb408e86914b8480b3f477025cd1cae35dc7c7a8f6c82c3012975aed583c9b7cc994cad08ffa4fd3c8c7f0a916a2844567a8702c91c70e6d3e87c0bfffee4fd853947a95f2e2eac07f6f6ef25f5cdc0e6a6af0a72bf3ab3cf7398e6e1dbe5eb2a740449467d9b7bdf68216c8faacd67c6a6b4407835a2faba26590f52fedb86c5836a95628cf94830b505a37d9493e438c4d5f54a3fae96d9665a9fe87eb0051f5557d5cfbc6e3ebbcb83ab2ef1b0c1a52bf099467e1f0d839d1f14383949fa1fcaf716da480c2e6f3bf7a20f35d76776ad952183ea50df24b07fda4ef32a13219d58a798ced11241b6bca5da34916de14dd03255605174e992cc3871b1fa531f52d3093f6363ddf20baa02ebd363ca42b06e67b0392ad673345ac4941d13402b20289ea6ec3b31356db2a3ead9f50bf3a6e8d68ee0d85d0c4cdb83f6b929b36c1bc60eb0215fcf08f64d4e9dd162f3ba1cdc39d0a733c7cb5674ccea372b3dff064c31a2a1be9a3754a6fb7903bdf3da33ed6c514316e09718d9d2195ed4092db60eb33086e505bb27f881682db7276af0ad16fb287d624813188793aff880b6d42e6f0773fd5e76f936d8c47bed697e053e4b94dfbb893334a6a7999be400c139bfc040992025492c49e9f12a6365296bac4e3f5f0190838ac75e175632c2698c6b344c55eec6198d826b6bb5e5661655f87f6d6f7052490648133ebc16ee83d25d102e91318ad6d8d6fc111f367368f4412818071cde8894728c020fba710ccd4d2f61df022288730aac11f4aac76985623576f5b8d67368269a39d28e82ed1675e52a000e2747b30ea90893e850c7ff45e19d7fcc14471bafefe5f6e70065505d67989d242ee95360f6037ee855ccbd23d09c671e9388620eccd0be6d0949510805705942da321597f349deb253d5d9cd8f20c4abd389b03566adf6f7ad8ed0536d02bff089ee47867ef431da925d5693a5f1b17ed4d287c99a2a557be6afd4cf94fedbd2c5622d4fb2290d50651288509634ff4e5f95c413f4db04fe4514cd0b2b3e6858cd6b0c48233bfec5a858293fa42582a28817292dbf1907ccd4500b173996711a4d57778218b3d361dd0279fe31a0f010bbf63e0cf0d0dec68e40e5b29bcabd7fd93132c79038749fcd363dad2901b368792d909d388569a6e54d6401baf0d15042b0561b2417adc00a27cf5d38f2ff686a445dddf11757f48914671e92b9a02e75432a2b24401387f049437633fa20df17049ff7d592a0f9e91659110a9e43f32b66de0dbb37f6071ae56c664ce7bc41852400cead90d8ed2e9696c102e1a9b91cfb7bfa7193cd58a6b8bb870fa51070f1ceb3ac3f1df6b47160c83b2cfed4c741f040eb0348e26692341eec06b8a37009b0989b1428ee495488345f8eb15eaa1d74f4993c018a5f057589407e47b86f40ff47c3b107e869fc2fdeb39da95a974fee7ba3fc84e4e23a9f4a4f3958c896bfe746ff68407d40ae7a774ee7a7b2b0122fb56facc1c30371e0ae7e5389d1b0ae74177bfffe0a150f758549c68516097fdbc3c3746d5229cf5315124ab834598c17b7cde698b7738fe916071ba66f26fcb492f71b072a1fba0912700abcdbff4d93cc718177e9a673459c549be762d3a90f7cb3328aaa57fc8fd22f3e827c01c8333acad66ad5a99927680a118db39b4fa27f5ecaed28db110ccc859f8fa3041c12fe5515e22ad115ebc5737d64512f8017f9ee96b55e90f99446c1079ce67ddfb311237131804d66c0dcf3f932a6a0c4d3afbf4c81defe864a3315416c77e5503e3cd5e7c1c5842ef04b0948c42d83139a06ae4a85dbcae04755e9e0d06733c09d03f8f8c881db82801e27f98a35794e4ca4210c516cdd827a6820da12a981cbd6a15f4cf7d58f222d7f09f4ba60445c65da22f7da663b3768f160c356201791abad11f546a97ce07682763a44c9b36384875d15ea87694af6c7e0a615dc718fab1017c38f90bcc88004b3d560452a976c22be26f475286daf9a43e1e5968f491368f3b733539aaa264ed5be5d04d736882558c206acb46abcf87db0e1a0cf5e9e627858f3a4c7cef2da32277c7844069a231a0f8c03a2369157f25984be14376d0733ecfd4e51e562c6baac9780d015f4b06bcdcb7ed05163e9c038a2138578e194fdd58249acaf96a4d0a9fb30e9431dcce4ce698ec5ffae589c7a3c7dfef8d8ade2331dd325cc8908b3d1a707743f16be0ae09978e2a89ea61f7b82aea2f7fdfddc9c5434fc2861fb1466fc5efd09c77a8c1ed6705bc942747c9837141fb67fd1738506460d8288885e2e2a15c4c5ae6bf076daa848e53af4e940f0b47c59bda5ecafe125123c372aadb46cdf7daeca9160e7232a4134340d9459ae91cb7f6cbf8bd8a22f457af938e34e1f91517c0c6625b199d91f6bb5bb22aac8346e1793ce1db75d4c48e1281ed81f43dab9de83fc3547966e5ef30874456a545a63ac8dd5bfbe5f0769ee79824c6a39485d7f5bade85b7cb88346195e0c39ff6a5099fe6cf22391c3b7e4c0e9226be8de22a17924225fa725d2ae4605f321b88196433b74300c89ed14bfd79079e7297c666ef1d39960583beff3d7f3f73a6f09ef54ce9b6f3b6c887bc6379833b66c0b491fe282c50aca239aecbabd88a86216c9f95762c38bc478133a43839999155e0407efb0ec135ba8d1e5f6c4472ac33cbdda00a25ff1c1919c46dc93652679802a46d9ef57add23dd5f6ebc407481c1b9e865a884ae470189d6d60a8de655de264ce7fb49d8e41d71477fa1c503891ea6eeccac98c79df528c56840911abdc12dbeb4d2a1dbdd83ebfda89c2e3dce3a5882c17ff61d27cc1aca1f4144b341578dc22a4de2d82ce23d0c0d9a3f265ca3793935613fbd79356d3cda0f7ed615e00229d8e11266eb8c21f94c6b1ef5dbdce98f475b75dc0dac6675142d495754ccb1e3cea5212475fe7cd8bd411f5c3372dab2d04e385308e0f3804856e3ff3b54cb277683f520b8494cbbfa7f51d4147e189f8d837dcbfdb7c57bc587f5ed1a718073edc5744b2d5439a1590c92e6cf8220f1d04f71281acfa2c8800f36829ab17772319da2f960d8a4cb1ed1302f243e754a35bf8b50c7ada7934208bfbafc5247ef22f9464a342abd03e8894c5546488fb60e62056e9d63bf51ab13e9f025848a15249102cfe2d5e0cedf50b1938c784fbf84c4eaeb6ec109750b02ca2fbec05262a65222068de24a172e2a54806944d87cc129ad7cb147bcfc2f99b9ebd9e51d76b22bce26a668f548d336a2c19a5808732a1b0066c2ef0780875b0d7e03f182bc1afb3780cdbf1b45e693db87bc2dfc423dfc2aca35c61340f431b846bf9f51a21f2d9c9242a7f3628464d47dedfbb48a2a38012c06383da4af042a0c4e09303f1a5d7ae74a2194340f39b4c09d34689d88c0a64f05cb746a13ee0d2537883beb6413f87a13c016852822082b62e3d7a8c56b1b5485ee5ba3187fdebb2027ecd46f9154e57b2de530ad27fd15823a13c6f70181499a8a12a52389b36ea5c0233502bed573f12db17c090e5bdfea8331d1efa298bbb9fc6b9c9279f69f8ee36c3bd72e77a7d23b97ba42cde1e3ddd23d0fa76a591bf87e5f3e4e64c8588fd2d16f24c1edb7daa089ce65d75baea58beb73a66353b718287216634538d8299ef3bbeeda43d5f6bf624fe7ac6af64b8a19dcc08fb847b6339f75f4f1cc46ea56bb9efa2d295e0c2b4f39888acc02ef123be3fb20ccd27c4ec3eccd7f896b616b219659015dc2e8a290e8d3502b0fd4977d286f9755231149c903de58ccd326d54012b93d8a24efb757e5babaa55ce4eaa461367471d75b3fb071057f6d903457ac06e99f307d4f446a0076700c2f07e8b87e3855aa06c85171676321798c3835e99d9517139681eb890ff66251125a18a223adcbfbac410b88e95fe4dbbd3a2411feaea551b039314a2fd6e58873df83c609631d28d914baee21f99b479fb875d0170735dfa479940f4abe804385210db96043417e1f3c372bddd612d3a618dfdb1e477cfea3ca28f352f2935402c2adeaf9ce5d288f462b18924c5306bb8a1b6eee3f20ddac050e3dc358ce99439c7b48176ab18b58719421ddd893b79708ab2e8e3d6a118c28ae638b3b742d3c314b0c5a27c7a26ce0a5b192f24b1fa898b397ff6d84aee98a4af1763f24c766a462c3f3cfc0d8b337ae38a0e93361de8133334f6a49536f2f64aaeb4ea3f0d6c95b2eec5d228c76fd1129b94ceb1a47e8f24a5e87d72777a471b6163c9e2bb6d809256da53e56abd252d69754226b66b86db5dd8fc75dc1867675e799d8f9dc2a6032ced81f15323e31bf068469f167cacbc88c5195b31c694563e3ad23d74b985b968354b8d3440431d53b731059aae9cf0ee475bd5a9548bed9bf41ff7c3a8bd4d74fe84192c67080950f927aaf4b01706163002e9fbb92bd13e26d44bd9004720efcd98a7b2f258f067658347e3b1aeb3ab99ec716707be3a4d8ce937bf368642a9b4686524da3021b81067e69f032ea7a658e33023cf15064e92c273e99b03f34d5266464bc4f3cafb4ac394b4eb4afb4b87a50c560ab42a96d2fa7536b20d743f5683afe628c4f96c634e3878eb6b3abe34c82ee2cc5c83289e3a82dcb9e117734193740649974aca0cb3c0fafec0fcf12e3700cc9b0e4ec025bfa2e5b97d037325d29aca05118487fa6a927857f51dac659afe4b26e8c0d2caac3012a6a7886a18b8a1fbefc6f1f88cea7f256c6b6c9869e3d5637fbf13e4191fd3ee7d4550532bf678d8eea3237ba94bf02e97daa6f9a799120d5fb06cae63a73f2d59e6a46efbacbe9169178220711a2a7cec06d7a191f9457f92c83d6dcfb05908bf709d551d9cb24c69e997ae1d2b4b30f9e0ac4371faed280f9e72f37c1d5c14f2d978c72911e2f251fbe8cd2f6530bf4897fc03f09e22eaf0341946d00fa3280221ac730a54b38d4e196f3df54d97b07d5388597b47e233cc50807665ef4f66fe5fc24ff618a710d0d8b1a934633053832d5c994bd0a884d05a08c6e7b6a983a4efe695ce76b0e2961c37e2fa5965c6fb22b9c3c5c52ac90dcf831d563d34889d85342e6acc40fd194ec799d221f33965e01ef1ad3367c6c73e0287578f702c4b6f3da8ba8eab00feb29abcb6754d99958e15c8d23f0cd596b0f6f42ca790087a1c83647f3f18aded8666aca260fd32038dc86a0884e43617927fbafab7ba90036f6a613b68745fea3734d9199f42642f8e638f6ef37ece899105bcc92007a138d679ed89b13bf9f83158fb98bda7bf59262786e7960f28e089a6b8bbacf44d5c8657b17ecf57363249f4b420e7147371668b9a82f2ec34ebffa8ddb54da560b5f6f666c67ce94fd220236bbcf1a6ca3c6995bae7dc8b9abd1640cda5584c62278995b6acbdd30093821f4411601aa0dfa21630f5c3e33b3d382a6c9eb3eb1668d8ee665f2ee175b874bb7f9597988f5625599099328980baa252a81ca0923e121e9fbde6b718fe4b3e1919af480b78a266e21ded1856d8f3c4b883e80912fde199d5322c0dbcb334fa4241d53a4375f8bd70b2023e50cf123fcc45f1a567b96110f3c513505794ce5a374e3bfffacfcc70c08a965dcf7e0170207f4b7331844d4250888acd1259f63933b8423c8cf255af82cc8c1e5d736f559766d2f8cd0f59d8c53f8271c0c8d3e1218812664003326f1b0edec4a21fdeafb70d474aba25423e18029edb4e3e51f5e4f9d004d1ac0fcb077ec7c548e1e3e2a3481a6d553f45c7c548a61dbb05128fdf4c87c8848854433e706cfcb1da04aa9ddb7ec85527b95032a90b354d519e154fcd3e251f369ab00c1b00a2ade925a47c37aa3e498fe20df0859b78e566c882fc4093a97c58420f12786c66fa71523a6bee7a2930c662471ada7f15bad2a97e1bb148140f7f4d1656dc743f6649c46a55955488f2bfbcf9ec7eedf1ccfe89830b442924736b423ce611cfec6d5c80d7bea0187e43f6fa00067c6253af3606913781a9ef65a24af2dfb61b2487abc98231ee41d03b3d599f98ccb4a3b60127b25974a0f3e8faed9b76102b8788465a072204fdd6c5571860a7e0e862dee48f847a7245f4e95e4e765484f298987dc77b76df73db05f59ccd4a59fb060c7acd15c3c626005d71241cf64b96fcfc249f050d03978931d66bee454bff120a7bc9de9b6caf1cb08f278a2096559cc5756cb0d06a8c20faca247366958f7c4152d4e1ad45e980e77a3f597a38f348878c1c215b0f936374bf4bd9129ce9b61bb7116797a3932d2f865b67b5c7d9e0b08484e00f401c229217129f568d4f8182c0c3ddc2f2ab5b128b46dca1b1a16988f33c84e7a15833a7d8e4d000d9af2c52cb1c09948b783aae0580342cf78310e574d95b97424cbfbf0b4d66e9a1f485df644dda4ab1dc9bc51ff98029923483e5b3b8939c20ff6c075e15dde57de1c4d4efd47ef2b4c9b2c0fce8646b0bf949cba95eacaf6196f2d77a30e693bafbb3005b1fd3f40a579328334c9c439ee99528f8e70915838f2eea55857dc7925811c21e17828c3eb318adf1aa980c818fcff05ec35b86d5348968924f8da730ed1d06b45d6af74cbe0ba77a0a256897baf1515ee8f700c846ffe102fd60e4dccb26c29ddcfd262b379c878f16684472966eb1e337db9eba172715bf6e4a1249a8cd7bb40798c28cbc0e6dfbf1a9ff15899305d3e8537faa2bbdccfaf6f8ea8c6a60f25560122b732bf4430378dd2033b1868055075f0b7f2b273536f71254e4698f633ffe08e46a6167e7ecac7a49b292c535ecc7f01fb9249ac6a7fc10d6aa4a71adea4923b90d43cfe9331b9a467e75565348f31abf9e496b4f9f3a8b88fd78dbe227cdf0f0a4bb27068287ace80d602e504cf1af176bba20b18876d8f7530fa9cd584e2b5654c90c7ccfb94d9c4ec8226f5d6c9fcb43602f8eec9e1f49a4627aeae2258bbbfaad94b87dbd351b5b8ce3f52e615daff25c4a1c3f7d917e40beaa0af99975064945ec3b28fb5d5a2890744f4d78701482246f6b234013d214c779a1385037d33990c6c5b7232706ec8b5cff07807546ad5b78fc26f7732494cdda63158a0d9f5d76562b89a701b944f495ad15686331d73e53aa3c3713b2a18e66a3d150199ab47b33bbd2cada4c4749f059950a1ffbfec8e7d65cf111091d642fcc0161656aeb257a56a16624e32e90fb7ac176d4f86595608ac0b08b2303ae8a8c169a8c3c42c3ad92a9bad3c1ed144bdb4f5a894fba461b678856e84ab82da6518182d5a58174e5eae724adc1a6b51875b83eea62c22a6b8bdb53391b7138b08c847062b8b67f1b6b463e8ae52bcb9acf805bf55a0e5e477657aea6e4b228e09f9cb5e47521e1e0d304fc2d6d6d398d0304e472150468fb3da9c96bf7bc7522dfc1c1737c633214866880529981d313df5fbb00b0c423cebcdc2dffb795d2a3e61ca307594b1b05a5cf373251d1f622a62f8bc88d4408c6d3fc83356627cefbecf1f6d932c8e28b203b215546e322d5d904bd9f6d4d5819e4518f4c65846cc20706ec0e425a458f1384735a791c2f2e7ae9d99fc384782f28d4cbae4988201c946476b224dddcb5a562b057307ef02079033a54f4d8d89f931e82d7f26eb4fe570eac609beea73b3dd17de04de23e99fb318cbb1f71f7c7a4b1a8aae7dba4546a312646821ee034d2bb35649fe3efd8adc5402801a496ce3fe373ac1e206bbd2ad8dc39012a384bcefa4868caa97e9c2dacab06c06b14c890146fbd3b5da63627a6af1ae83be9b7e2f8d0093d34f250455477ff9113e8c34d481b6f787365ea7019cb80b31b0ab93d1b9a50a57bb8c76e553798710b7345e3a672d6737f4a308d13656bcc5f3c2c6d71091ff944114c830728850fca5a70039192ea2ff1ea481d1eacbbbf0640dbb7663e41e9ebde0e7743ab84f184ff83dabfb2b8a6393c877d90b5936ae714695791a2c0886f2fff337fff12df2a844fc90b56409d254b829d185173a1653c07f5f5c322b90aa7c285f4772515c0c647db8394af8c79819544b2f7d53c8a5d8a7922971eabced88b21751e2bad8e7638d6ab6a767f7f3ec994b8f418784ad8bbb6a4bc7c9a3ef1c795c0ac5a910d58f4ae64f687a476aef7517afac88ef52e846b4e6e65a1a90dbb37cecb677dee4c1a13c9265f1feba5562a8cfa27da67d5eed0801e3d22309c59448406a49f5099902401752443ea123f918965468abe9945482a591d91ba06576af43cd1867e8a484f0c001b90e09455d10bd309749187baa823e45130d23b7c096dedb3fc47eb000b20c5222536265308907b96add7fdb7512f266e72de8f3bae351c097de79b1faaa95d4e4ed6550af49812955fe2c22a9f252c8d3f306e7156691a47b496508dfecab4649916f609b4e3cd6aacda8cb0ba2b7736bcaa32d18720d91815686703981bdd1b32a2cc0229367554095e170a4c5742818aef40710f2bed4e563af5d82e5167c82ada75f4c79ba4cbe4121269735d907f6cc462bc18a6f62177c312f095edbda00646acba969d744dec7ae947fa94821ba3aaabf82fa4ecff020e0a0a222bcf1d91c52ed9d3421eacd14dc0f54cd07652455cb2c756da50d3fa5f9ad5402673270d3196dde522fd941e67a11634c7a40c59d001676def1f409486f9f93f2183c4b5ce610c1d8f847a9df8cb26e556420d75cb5786b87f6955fe6b355fa4a1cda01ae1f406d419644e8ab2e85b4f42dca1f9e4b99aa06f588ac12b6e890299d94944c6e691a6834a03c93f388ae8f10d3de1404767d960dc0b65ce2379f850e161bf0aec94167b48a4939b8a810bf02ae0ec22c7f2b1e08103049bd20f47b372743c3106a0398b7bb488d7e96ca711f37084eedb5d66061f2aeb89cedcc1e9da9e89dc3214bdfc3531af802f51eaec0aa6d173d7e19ed957bd18728a0825bcf4db3cdb302295eff12c89649e6aecee0a5546c06cdecf087776957022e7b2912839a845c8a9755cb7f9074c0568f5d17aca2cb2df7c36b6ddcafc66930cb01be19b1a767083ffb4d0c5c0e968cb15c9744f054d16d9cc94d145a43fa9dcdca67c81e56a697ca12f620deb152881e02d9462a54dc1a3457a5261abf967bfe24cf63fe5ebd94c11e77dac586f73718e052716abb89b0f99d6b4fa08f571ba9f315ede40750edbf848d7b753ef018676e0ef87b66e98dc2d0698c8ad8aecf10bac098e97468b1244dfd7976735aaa664b888abea9bd8f427ef96a00399c2a83f66c123d01ec6d5a9dc166baca928bd4550d76e616c51a0527c1664feb03e3e72d290eaf3aea8e81b9df367c996fa0664cc7a2febfbf0c2cd3f2acb9d07e4b28168864bc13f1c385a63f73c0f6e008cd02cc9347be2f03fd37a6e201e8b401f6780230b57d6d5f5e9e2303ac2d24c991347794a48e19727c2271f3940b4eb8ef4d23b2df7f60ec57b480a5d07619c459f8e948c17208994d9d6eeba5eb66083a5c1c8c521a7a0cec0ac31193c5ddc3315ce8fb2ee8ee43d2b4b7a254ceeea45b2563aae7de2a1b1f48fd45db60d3e8c0f92c550c3bc283f547caba8669efeb4ed749aef55fb934c93dfc4a0dbd7439751cfcb9161f3d88b5b6d1f31710db8a897d16380a476c80444911a286543438a7efa325d57f3f234b238c0659d44ca2d7ea385e0cba0b70e1d81952eb404947171e19ad25211c480d55b28a2ace0ca8621cd421b5b3b6e4567e90e9088f64408c7355a3bae88da0bab9c2c846940e272aee49fb6ee51fa7621c6417fc50eae518379c5015b799f80fdd5909aaf8e65bbffd3b1d2f032b72ede8a2aeea15f55e254963848f84e0941f1b2e769dc0723b702864ddef2abf0fa09341452424ed0c22763460f4bea7089adb9703742a0bf2cbdcacd41c2a6ec64166cd70b235a9d745b48db169c2f98739126ff7d329d1e6159afb812a9de493f9f5a5ef7e1b055ae29c94c6c76028e8f3983843d0715d3c5f959cbc2e61c373563b8e2f99ab7105381868db54502c1c09d1d493dede6d5fb08f4c4af8991e5401c3a5d76b168ae8cf5af20adf79668a4f3094933a3fc1cb8ea247af4f27ad272b643879aa0c409302078e8e61c1b32256875f06de6136176597755e85c314805faa77625df1455ed062f09c130daab788f7ead9c148f87bffd79f246838b1bc4ba66948e5706c232b41bd085095873eee9287403d4e3c16a4c166d77b6e27a0f757686014e3df65e6ce2f636bc8637d0ec58bec87527954f2386ee03ee52c39a2153fb65529d3a0f318a508ad3987cafa51e03707a75ab5a255023b148f1dc85f92d047cd35c72c7d1f927bd78b046216560017212e53ca21dd6e5e86550d803f82305a0279e6c27a0236be19bf7fea5bf0fa3c87b0904b9dd4ca1b0fe6d618ec2f26e5d38c5ea6e3a20eecaa4609616a393fb097f2d9aafb23eec6747c7db5b21b3189262d6e1e6e58faf5a3bff26466afc847992930ac3b64fcc9457b9bef8a16d5f4ca03cf9209fd14573d63c0fd9a8963d047d468983dfe3c30f493e00582e45490af7197537a7ec718f8a3e973f5905ad9ade13d0668107a662ada6c5e703aeaa39ea61336bf14c7300d764d2610f2dbb8d9625da605f3561f6552ef1d6b3258ccc18ff74a0e332e5a9b6156c77b6cc46022b61b35e1723eeb748e375840d3a305080cc05b125c417763f7541cee3c98408c86696ee540c47b1345a012ac666dcf57b19ecc6d187996878aecf5eb6029d7ad6d30d48ce58801d33be12d1037767f51b800c0cb717bb7e092aee71c13d2db8d6bb58d6f693dd4d9f19f4aaf01a89113d85a894a4a58c16b37b60212fa067855793d26f81d96c19e171aae70a75fbccb590af487b670b33e257762d835daeb472bd16e55da1eccb7e2baca622bad583f0ac3a99bf0550291d2819266c14c4ec82f28e4111d91898e7e7e7e389b78facd4021a57d231508b38f496a77cf4f07a167831af014c914f7b67ea6aab9d652dd419fd6c5faca1ee40254ffaec7aba2f80abd7f88d50f7fac621db0ab80d4a13cc7fa9f3de3925d74bd2c1ae43df3b579929f4f4a589b074abed9d83a4388ad5948a95c2f06d2ffdbe76390ef54de1ba31f643f95a366212fe0fb5a2a29df9109fc7ef405a65f6e80d50f5240e4078b8c428084893ac609964193b8f63a8ad275b32b412d7ab22ccc0c6c92680797a7fac759532fea98014edf4eb0fb5d518af2963fa651d284f86728572f5af24e0a566d55cbe2449378a02b5df3cc5d9bc87570a6c9318e8a0358fe1d365885a5d8c8df421bb0a4fb90e6753b0ad75e80e3ba6ef92ea02252b314929cb13e89640ff16d067ae5f06fe15e5287de40ae381c191c1de746c0afd222e68158385880bcfb535ea5ad209d44eb7a69f00210f64821ec1991dab413aa4be95e3b89175bd7da67080580781a623dc66b03f9bea77d4535a409860f65e787d9025c5b640cc5cdf2da25eae1a88b85b755aac647b41a4146354cda2163b761904b50d840c2e5971f70388d1027dee8a0ff8cacd20c456219047a651f52f0cbba9805f7398a936af434d1ec3abca24452ab1cabb9003dd21dd80113477ab7285e0e94ecc05a77150a3eefe3ce62df4af43ecfb661be34869f3b1ce9e838b2e0edf67d12f83316dcfb996306dfeb9e686f264e69db71eac5771995aca3169c913a75e2bce639c8b70344559da0ada2fce7d2f474792102aa8e210343e157c77fdefe4a46ba11bdff62bc214976f48c424337ba75ffeba61618b6a80ddffcf56f040dc49eaf741b4c1956fe33c8fbda7b5c2d044d8407f2998bf88068f89ad5ec677b599192b379812c1a38a0ca324597df139672d26f01a9315aba0b29c113b8f078b494da0ce34d254e4473e9488924f99794ee920a718996a65f66086c8de388e9c2ef2fba969f4f46f299314acda60eba535d80a7f9151015c5e7b0f8fc5bd520c5517f04733fb99629010ec50780f1a146dc1444f6b736f35d74790a6bad48b23cb734cfc7043cfdb92882216b1e9ebed611a37498546d1fbe84466bffb2374021f8ac6881d0cece8ded4133e630c88b782941e39b8e9c97d07e11379ed2b8583e3f874665f7cbd59cd30cddb67ff155a4c7dbed3be1285e5ec0cc0ca66eb814a78308f6ea71c697b3d0c66720effc0559c4b4dcae02e8011ae7d56a6af047de73f6c12a4b3cc3e1f34221a68b8d035881b2c096c09497a2cfaa265b71f9e3f38adb88f19ce12290aab2951d0476ee42ec2e4aa62d8b130513edc66bc95ab5c395a873949dbc2521cd23570e74ff3c079f8ee81dc3337b6f74362ed1daf56cf2f1ad87eab0bd0eaf5f304c6b15697432886c4edc5b4c6d27f35eb8d8836514ca56a8efcd205b258d6abd9dcd03d687d0a35928a454dcbeeea8f3d82394db4e53fc62a8517a4132958112a97e9eea41dfc588e60439049e5590488f558ad911b5181346d97ce3b3ed47bed3c0e3de00ca514b977d6ef1d0cf7186e2e4be4ad8c1c27c49703439361ca7a5f35ed85d5c85b60ca20586fda51f8a105179e454365117b05cab5ba8fadf7c9c14e07f74c4a1635f6963ef3a790054044850d68f5d71798dd335b583f66154f27afb0e214e9b62e712400fb65d23b95de12ae92afee9e09eaed8ce963ab21affc332abcd167a7c60b87a6f687530be71de776b78818f4c9629243f34eae30cef65aa74cfcac92d741007992cdab213feea2c97ee885a92fac007b89e7a6f92856f1cc407b9d430a1d0e034c855aae81e35e2fd7f36db8810369a93d121ead777535ae967e1ee157c010042780f3d71f7464428fda262e0cdd0c2b649cd6cfca65ce4199590456a5905be279d3249a63048e127f4d0d0c54bddaf55ce757c0045f353438fb82bacfdbbda918ffc7c7b3853110444940afd47e2caa1d6f635b4ad407367b1ec25c08b68bc5a2def512fbe5b7132750921dfde6ff2b66aa7b97545f1c894cd0739fded9e19a20bca9d09fd8d4e320e2eb699e112c3bdb7b8ab4ff612114fb07c975593575bce9743d8f2e4876260ecb62a1bc2bc8ab28dead6b2a0ac284cff3e64013e1f6bcee8acf91314e90e0d929dff0759b85804d7c457b1aa8c3f50673a225964b1b4582650679da47d50f5419c7bc315ede430bd35106eba544ebc79170437a71bedbebe190e525b908d36acc6c28f67243fcbed7f2358c56c664e75df213e617213475e73aa62570c22698ee96365041a532e95f33077aa167fe9bc23f78b418fe9377acac7de9eb75988cc0da75dd20e0730e8186739e9f10707b440d5c768bcda6a263f263ae743d412a78dc88d53e731cb76033d94324199a00c4abdb13fec2b5d1cfcff7e91c1acdffa73bf3c7176bdfca0424bd1f8d27bdff35387ebd398e719705e5fadf9e576789ad5d1d2db51dd1958610f7b3073a32f10eba5547b65ad1ad0c552b1de6e63705a49ade65cd0ea84646bacf96fab106ba4854b78e1b6a2fc40c7d23981d8120c29167e7f71e9eeb17ce53ec54ed3a50b2ecb0201684bfc1b7a142808aa33ea0ded0391bbd1b41c2c36608ce5db74fc22c579323e87f92577b6bf63fe08fefa161b78437e7bc7a113d7f497a5379af4550f96220edc14259fc3c65230490b9208593ef5fdb889734d1e1c1c879e60c0b1eea12dd005481f435d60ff072be3e1e66330646fd737484101852b23f92a731e23f7723ad93d1d41f0f7e7211234cdaafe543fd6f07cda1c3df8c3ea7dc7da269cb4ce0d620665e94e278da048cabb5d0d6ef494cbabde196510a3d9640176b6db9f46c9279aaac415ed6b2bb2cdd1b38518326102a3c94ce5d0788f972e674387ab5035288c49a4b250a3215e82a96e1ecb3538c4b113cfca30f178d7682a5403424b51994b966eaf5445b42a07d35f54bfcc799c453bc6c658bf1726d2d378a252cb8138381d6064a67b2e0fcd88cb17a1b8389a05c9de88fc4819c8f8bc70fd9d2346fb7d1ba45c679d80e05a4d12c2d9430d5ae564f8742b91bca85a08faacebae147d29ac3060b616373665b5b3427fd246ae6b6a440e08ac6581e7c001d653cf4b055d1cfdbd6bf8e7a1fb04e7824ad147f21c3d3f0b9325942db4a8a1c90a2cef42bed98def1a733f01d17f4747b971657348192aca8f09e4bae35dea080e156ea4272144c7c135573f6deb4f77b5b12775bd5b14ce571c93d49232338b0f8ffbae8237bb734b13cfafab0265c0501d260225565877c6aac99b262969b6d5b942473ffade80b3b2b23520acf5db362bf93e2310492d808aa1103a15539ffac0295c880c89f3ac37f69ca62f96eb2328173fb911686f02e94fb7e84a7821d8463696a5c7b3465ee8a530ca087b751bfb33f550a9814041456dbd9df2db6f3f1a30d990c9ebfea217b39ac29ea78aaa17e027e87b8bb334c680024698de464baf802edc76bedd4891e0206afb13749719130920cf7fd0f7924ea8010d8a18e7aa5cc204ac324f9eeee62119323e3163959bf0084e87be04e1551b296ceb7b27d7c72b135ab3d41348ae9e8f463d1ee05c120f4c548b11765f38811d8d77ef38ee3ac1ec2164c0b53731c0dfbc15d773e00221cd6a070192a1cbfaabc470623abcb10a5a334b679bd00e632964dbc09741f777b466f4fa91b1902fbf7ceb5e50102a052d65bed5103ded05302386b3867584a5a6152a61009ac9b6a8099a5c2890ca7605283978e0c613c3c1255b69316e8ff2acf47fbfe05a3be3c2180a8025a5ea0c3803c68546a55d3149981edea1d33f9a4f464d02c1794dde29b28235865c1527835b55012b6a042d79e0fb8b35a60799ab06fbffe431009e70e52ee76307385fddeb4101958204a1c670b6090d4c1bf15bcd61dc115acbd3dad0c64bd06a3bbcfddc975a9a8ace122df08f694873e1352960441fe35fbb206a0160e0c37b1c1123a9af93c5a43fbe6d4df10ef42f555f8f773f6108d8eca2e65865ceca1f704699c072881a5e381243b20a017bc06c3156aef8f47c7fc9815e7b69bc26cbea1962c4bf9f096fafc3efa56c1ee41b33d0e0ed2fd43c293036c521c1d214d28902f76b2c34b60d42ea860aadd3f3061b899f3eda954ac75717eb3e64c34fdaf6bd0936f857f8619c3772971acf61213435e51e370d80fb41732571cd76fa1f938064a71efce074066be90ca07ccf23b4ff1b221fd15175a0787c0f1e16e14884a4334bb05e3531c32c0f0049ccab500286b79a8be4aaa4ed6c150646af74468b57bd91ccb9a8e357eef3861099a672bed73a6f241f915b13397e6feb189592c3ac3b15977e3cbc918e9a916df70c23217357e0bfd7efb42235032e969126d64d5e5a921d773145468fb8a689c543e4ecae137cdf5b670bbd66d636db05c6e6e59d283821a2aeb1b259bba4b482e7967de721d887863ab3082e2f706628f67dee576913e72b6561b2d0ed6236b8130cea33c5831c160a766535ec2d25ae7a4ad95fb6ca9e2286875110df7ac7c1aebcec40996392b43d04c146785d6d772b2dde63939a4589d87d9ec15576b2e0b53fcd747bd2674af8e467e32ed0f9cb15d30dd87c5decd78d1b6246c454a45c107adf4e1f2f52bbb1ef00a75c56611d2a6bfeedbfbaf58b1cea4ac42bd30b98a0f429a17f42ed859398c13c200a932060bc76400eb129c8add05cc767818fac600e08ccdd441098c65641710454d598fb468eb03dedef6c908ddfb3f5dc9f3b8cba03b08698ed92f0131dba08b316aee98f66b36e830b688be81aebabd8bae0187f25a6b18bdc274fbd51c0ff3de9c416a27b33c865cd8ec25208c252e6589b68e94b3edc112cbfddc0de97046745bfae2dd6499e172752657823bc709ebc90a0fe64fef5279d3c5d8b0f9c4181e17571dab3587bd51d35b0295b87e7c94e75ca352aaba060f660b9c36fdab15c2850b35a31da8f7d2cf779f0c891ce47ac86d3202c68c590f1aee15a1da6ad9bc37e51594f448f242e937ad53f9ad6a92c5bc91abfc3717ebbcac49d58935b28a94ba3a92c8c9db6d5a6beae4ba897df36826d8aa2dcf1a08fa0521738a8b8121d43a5b068c9f052b621e0503321c71ca3c3479f98ad35947ca2a2cf0a223c7f0f5215a3f5cae2c23e480fa310f7c212f15060ac672e70b9633cfc6fba1affb2ce947d36de21a2eb6c7f298709ab10be24c84e25dd2391fbb87db94e20762a73297f2e5c4fe93565beb65ed99310dfc3341da02567fb1c4505483a23da7a9b2c95c34d4e5b601a39fe9ec73640a2020248e518d0b3cfe043ec8fb8d17b1d3240bd42b30ccdf360632c9a73ed2e3eecc19b0ca1fbb55c65abe794211ea6601f58dd77493bcae720bb94715194383324bda6653fc9a382899f8eac96b7e0f9961bd59fef99eb659030147002195c4658cb49063ca978a8cd89bbd5cacae86838162696453662919336a7dde219f2ea7b2aa51a058439cac7404a995f177e40f6212f79f642d9b7afc7e9f4b647307b7555d230a8784e957403210c277ffea59b568aa532086f567ce7fc82f59a85e38c846753f839d798afa94d428c4900eeb332cad89a92a0d3a954431ba34ed071ef8d6a1aed432233b8c8f55db0452727e9803808c0ed437a7abdefde18dd6c76f9e29e586570b6bccd3547ad795548f1de9178a64e64b7eae2039d1e969c628777845a40da0813cf7e0b0bc89c9670cb4b228fc1f78597b264dd4945e0a429b0c0238995ee84f1f152949e4c51f2dbd8ebcb38d0bbbb356a0b9ad67033c902d03965e7d3b4e92ec39888b6804a0441849543fad884cb4b1436bc8fd7a60a73b04fb0220b6eddd3fe314dfa00aec535dc41c31fc0c87dc3d58d60463dda65b8edca761aee3e4cb20b397512731e9aecf067b3de797d727935951a2063e66ed718e333945f6d2ba6640aa1ddc50156742f3384d782cb3a2657a45c98ea76c39d9a381671842fe680a949babc6a0e510a26af69129c2e885f5bbe0bf7532d7756f96d7d3c045386e2886f4c9d495251604d9fa9e97e4aafc24ba94fa3bf5c96aef3d75102815d695dd08041193e2b370a9f7be02d933f837c72645d3f10549c770929a71c68a3bb48d23aff9b8525832239ecb3005fa70281376f846107159953f2e7c34ff19cbe6b028ffcaf1ddf1aafbccd297d4e5126e8e7567ab5a80afa2efd21761531e0d161f5f0571283d63a4f2807c3ef341e1e83392fff313ba753a86a44151a721dc2da3ec9bc5010a2c9acd21b1005e3a647dfe21f3c1d575e67cfe2a2125c84467886b0c968842041e8794231b2062da8d34603e4c196a7628c31c4c4baafbae6e981278fedfa4fa52f482fd61a0ffda23ffd2afad17c6096d8f6a2eec65cba8fef795be9a7c176f28724df02abe0bbd8fea4633f40bc15d16678510315ab2718a86cb02f977d0fa86f6bc5beed894d570c78635da43d87d06e6d9e52d8c406da7e2bd8ea2adabbdda343cb5d66b916df067aceffeeb8fb8a30ae630c463ee958cce9872677d6c090de4d5cfc3719341721e0cc42c5298c439d3eaa4f8973f9ac7106ab09d7e288b43ee88bdd8dd606adb9c7c437da8bf88a04cdd04b3cfe303b113251fac6e44a6c7c5d6d2fca28bbd8e2be6a2649b9f84878d54a01f43a98f73b6d0765ed232578e77881074aba42e60a3c3fe5c1b121fcfb2b84ab3f6241abbcc2c5ab632c4bf1ff4e9f839bb8814f73fd752f3f78e413eeaa9432089debcb99dc148418db54226b0a3349842caa84501340b80c356b7e0686d10da9c7d48f70d73a572b2f61ccb538612586ae63d859f0030d957019630f694b3ed9c4fd35f1a87e8c42489f2a06ef5eb43acff0a58717303aef240a70309d1171881418f74b7645b6ddd57ef52c51a335a341d3e46fc231661a9e43645289a2f682b5ec5aa2d331c035dca05f5288ff7b945e7c2fd5fca7a9b556591a5a40c83bba5ea4b2581c65d9ce7675b5f40342c7d8ef33c6f5fab8b65d3e26e16ad6a19ec85834bb09bd13bdf81ea890e6442dc99bf16be8c20b852e9a46e3dfcc55683151a4cb4f4cf7487bca1ce54c930425b06eca11295159f92cfcf5ef59cff3ae68a6453af43a74646edbb28a79cb7c6461fedf4059d2147d8982cc140a1e9e5de99141cae70ef2cf07b8599e254934bfd8c18bec70364ace80cdc92620a4c777f09ab182768fb5b1fdc2ab313a44a49aa468c59ccfd05c6e3ff8d1aa5ebb55907802e648de3fe6b0572e30407414c98b241027d93262e99b93f91b6ad25bc7218a68ce1e12079d6e9895eca331bd50d12e48b4e732aed1b6224dc5e6f5f7c04aeb9492f9de0bd70aabd4c29ac4efeb11a85d01602895cf321ccfbc7695259bceb9b18c17f7f728bb354ef078ae06cfb173a2c3d102dffb899bee719e6af9e57cbe417f5606e17d96ef7f8d0fcc04706e7063d8b81ff53e9fca6264a0c99e0fef145b7be5f7b79d6bb9eccc30861861e9ead56ccba4548d943b946851949142f73d08af308b4d2c9ab60362a4c65fa5912c6a7dad1a6b1cdd222d31440bc6c64e2ef933fb01dc678f1b27898f84cb25bff582b9839e2b4a3a4d5eeedd9b8790dc5952ce170eacc2cae65b42671145338afd7fd75e87abbceda6afef9d9e4c005c5a3a90b88c1612d2da9d888d76c23c6a71b0a88696f4947de9364d132f1745dd79ee6d7984f3cf6589886a5416d18e891bb4ade79b3e6356ddab3edbca6fe1a9789dce4385a4671d7f5d4b0532c9b361e7c0557a8381772ea5a6d1854c45c4df265cb5bac9d2ce3776829f9419973a1c300fff2107f1ee68dd06f57896196a8a9841e6cfd97e92fa82f4665cc5128de4279e4a9f02b974b3abcf5eac2f7213f7b9ad495c7c2b187ce082459b31afbe348d8bd2c25c7b3c229bcb2e769c173baff7dca84b15fc363ec5ec2214f080a1c59841f599dea1e80afaacb970fd2baa6b3d329e4981cba02a163d5d833aef9b1239802761ca1c4e5135aa23b92459a70b3eb9aa58892d8f1f25f7d15e61f3a23b78a1c188ac6e1d8f62b8ff6033a65dd5c0eb94596c3776cbb9bd43175e3691522777f760b88e70597fd3c3362c53a3a224f4b7be79fc65421d00299de733dbcedc04f6f17699c357e9e6e63ec39344c34164fde4880ddc0e2763fdabcf362118d6cb4328cf93ea2ae38e56ea6ae720c47f0840cc606f09f8bc4ed34ebae3aa19040eb0822dfcfea1344c60c709958f26f887985676a0d7b58b0da462b76dbb82435a77b7b39f1ddd3016cfee4b9366b960aafad9f2717eb294db7539f52bc755c8eca11e0fc955048c29b22f96f097253afb6f16ad9f89591bbd0c328db75bfb6b8fe40419de00568a95c72ea15dbd76a3d4576fcf01bba24b120bf000eaa8598192763e682508015b9ffb70318bf07150f4921bc1b3db39e70f4e1fec19edbd84b2918bb65e56af2d85ebc9ec82b542da13e1d350e792e0ec81958747faa57648c5f81c4f5274482f30de913da7d559023d012bffd003f75e113a498c26f09cace1e56f19c9643511454ddb85eb6d0bf594bb1cebf77050aff1f9133d2eebdf5f14c2942297dc0d984b58f3f19490cb51e09bfd17de1ac5a33bca819d47c703ff55fe0eaf0e4646a3924a519e8aaf152c6fbdcb16a0452ca34da3259be2f134beb5255609c4d5c0359f29b23d8b44d3a7da2b4ba60ce42811eb4f32b3636ce0d184adccbfad6ec128fabbfe8d00103fef5f7f38fd927b6d5f88e0256b659658b829dd3a954ad67ee9b40fe0841d9133cabb2f9a4fb01163890a4034bee5aeaf2da429acdee8d429f16df70671f06c4848ef8ccd33cc85abdd3df218b2e82e2102876b3b4af369d5b6fac48004d6e197b3bfd7bcd4fb7a4c78b8c4096950ae608d9745d4765e0f984e1e4809eb0c49ec7e2cb74b1d3770a3b41ca0169d93f8a4df4ef149e4ba5f3e84d08da3b656cac640c53d0131bfbcd64d944d3353c2b66d82fc968fa13ef336dbe835a3d15ada3044dbb2476641b2195773e3fee7d4489b618add6733f171f36f4585e1cb6046b4aa6d25e6364f0f1f9fd5dc03b7a4232da0628a52216cbf6927fbf12794181187123a19abab20cfbeb04cfe11f66a89a05429194817dd95acdb90f3bdb37453c9898978588003588ff890c474480f9862431c58b1d312d29b6b0496252b05d812dd7de9dbc353522914cc4be94406d1dda8fb44b1a0c9d633d40fd2018952d37a80d936cc5dc22816a014923186ed866224f9c17fc32c7b498a88b36ef52169573f0b380e11a8f8f0f63a7db858fd6770f7da2c78ab4f49174230bbd7ff86de8a6f884a5953c158d53f31a6108b1f7ac053fd3b029bd6b4397aa0e3b1f7e3689423051db72847ba899de6ae1d05dbebb33fc3252146f074712c535ee45e87eb80576719f467b577f29b756967e208136fbe3d1ed7a8c82e028906d9626c00c49657b9a7afa8b3776b6e61bc0070b64cdcf812ecec9aeb86f10d17b7a33a034b4f641a445ae0e25be11ea8927af6d1843d519e50cfbeed479f0f79c91c367e6e937f05aeb3cfecac25b7efdab419415faf6965e338dfc9c0cb7a13f27696491268f075b4392e1974a6c18efd3f5caa8ed37d5191610e10b35b2b9e932eefbecd4f82d2451f37ba778cc015958430e62104c8cc41834b6488bd5e2863ec824dd85670cb682cd6ce26f431e4730c2144423def4594138c4e232518c4dc5e6d1fd3461c9b3e19953a2b18ee6eabf93d3e5b3e20f07591a6410a9e347084a63594ebc9f3f6f1ccfa145984b94a08ce0561941c54015a942b56651a31048f09da220ab012590c4971150bc51948d7d531fa2b68dd60bec00d29b95d7c2469c72423576d4bdd9351d131af45e9c9c30c6358bcf21b181e7b9907f80a3750e2cdfb686045ab3718e68ec49d7c68be6c78615e5413044ba3b64b5ccece82cc975a062d507f22c3f42470e1686b0c7978d16f146c7b1ce0c8e0a9fefd1b79b09c7a2ee7fb6bbb049cf3a411e42d477480f8de4c4d5bfbd35869ef40b21ada9e04f85f8ddf7ff9d8a44912858980060d3cbc9f54c1f867adad26aa9bf067835c923c41bfe14b0da8ab1021c5a5eb4a21cef3ac089f06d7f85f997bdba8c3e2c0354fb277159830187ffcbe3169d72457d828c024e5b763c715853aff04f8856013a6e8abc5d08514db72f80f24b45e375218b2f6c61085236f129df4d9451bff8a83231803aeafe39db5eba9ad9113048d182d0dbeb24d07b58d73c335fe7c90c21fab71ef0e865694619aca02feea231aedf3ef8b1c01fac723c5366c69791920afa6cedfe32ef1f292179a46a2327fe9cb1830317f8d7be7e7f12b39b1f1821845b99e47da941b0ff082dee58f90c6d03bc7550a8b436c05e30b3dff66eb2b4bd0ba2e746ffb582ccfc5671204c88bbb8ce8ea910dba758440f33be5b6246de71c4467193fcbdbea939fc37f4795abc8abe5198c0406b29738ed1b35e9d94f14ae3d0239b337680f1c35167203f5ef13f1d697ea07a163eb377c4c5db6b792a070409a9404ffb7f3f0083311384f622bcf0fba0d55e50604f1b6d4e9aebdfa08180c23acdd803b7305c2ad0717f238b14b5dc066217b42847712f48dc799bc6fff0f6b26caa29ad0d4c55c887e46b9fbfbef632d746db6b416e0a02eb7638d099d3ffa8e70be521acbfef5f63103e2af3f6c54cc3e209e9b28a68acb69a59586f352b4938f6e9af61ba1feae2f7a55a0b49d8e4b64536e6a45a9e1de321fec8dc33a4979153b0c5ea5418d63c0ed5292bee464b163077d1144e538d7cc99a084feb83079d0d6e3dffadcb2961be29cb70bd45037081f1d62dcd0bce7edd9249a37864bc141d6723bf1611216af9fc953439d1813e01b715482fa07d3585ea6b7bce4c6f6a6e2633ac1ed0a0a4d54dba50ba555dbc55b9bb1f0c6f22c14f95033291315137c373c1e538c9fff3dc2f56eea4312b1f75fdda33372d0f62bb7e5247478efb6b6a848cf3a40b5b4608551d4d823fe93701da54df70490d77aa9e3cab15a21e15ce938c340f6931f71c823655eefbdb109a2655f2bebcc70763137f4498b690f415b6d6c28f67882cc31d91e2a9a78570b4f3f15923964446c587961d7ed06ec2f3f59d9db853e15b90bdcae8f2af7367641a80d09df2b51b4f87153aee0edaf49eec539ff35950146da4b81e65550ccd946bf3cdc03e796bb8a6711cb6f1ff0484dcb01b0d1d86f31716b94414cbc39115e09be7cbda56553a74eee392dc3069ee6635b8db4f9d9586f1b06e31086231777b9c0ea98bd6daa03e3065f4f57bed5f3bd1274966c06fd63110c00e322eaa706671e47e74bafda91b144128a10acaa25d98454e60d4b836abca17b44209a651fbbb75fc73db8bb32596f6072e0736bf481cfe88c802725b732fd608aa1c5a5be416300307c76be69984f611992cac0bb661bec37d5d9f8a1e417b2a6399deb0e300ebabd5f6da5bbd7791fe142c2c04b3f814cdfcedef0baabe908d5ee82afa8734713286b13645915d15ee05e57fa6bb93b8fc015574a01ef6d4f51fea08c353dc1d93c1608c046b360cb567a736658856cb79298a52694fe25363397036afda46ab2026c4be2a4779e3c8d8cb3746b87c87d5e3f81a887e847915677c9c4b4bc1fa9823af247c1a1224f957e2840cf79af70b16ead639559779f35fda882acf2b2af990158d507d7ba8729232a9bef763999083c4eb8a1be2943594e9bb421e3dfd255f5c6710d285ec2a50f8bf2e560d0ffb5045c58ba115c57b544217f8e6b28a7108f1bd3d2b8e4bb58cd67c339607a58ddaeefa5122ce7ddbb88a83db791151948d2a2f2b8628e3d0e344000bbc7a6f58bb2f87da91e0c5d3984ddb1d262b3798b61b8b04a614999f9728872fbf1f36963e2a9e402562ccc2e581a2927c3d6f33400ab1a88764539dc67436b17a1a3e1f478f52ec54fa7ba60a03dd2b38221eef8ecc30ca34130c5d3a93156578ca378b4b9a78688396614ae5701a40ebd62ba2d9b121ff530921b6f0121105256fbaf9ee4d933f8947535e7e3d87b46737fdb64ea6719d8213c050b186532ed0cc82027aefc8d81643219c3cbf7b446d7fe18a485cf4e40b795f37c43199c1693d36fac7c69c11e4b724f5b2c44842721265bffecb56dfb04802787ce67d583d49e02d182171f8870fec53c8ae87e749982180d3087f68e93e02879f2938048d79e6cc8d9676e8e187bb48c36115800be08fbb18fdda4c3fa6a132a27bab84d0957c7dfe338c125493d67858c37e933430122f146860faca13a905f3b5f7ff0f44534444805b606db4455ea32b7447498a63b5f420daf7cf47f20befcf5ee9232c6aad0385393bf10fe758a985c1df4fd3980de8ee89664967068a08fc651e47889ac94d97c0e819cf9610850ef272fbf056867bb058d70441d658d2f804eb9fa265a11e6e0a13281c9a24e9b28dda5b9258493feb628344105595971aa2af4e96d892fb0ece7da6bc0a0573cf5cd7e96d8a63015c64133e707c2c6c42531687a0636c691a84bc2dbd3c5ee82cfebe82fa06ce32d18a4184de2e6bb848833cb4eb5183ebfb7cfb9b4f514d856270064c46030072470d8ce9293b290db41958d38c5011afb68fe175afa04d2ed2311bd251d46aaf0d8577b74b0c52ba5688f097f50ee80b1ff724ef781908cfa873632490bb37d249f496db1cad2451a3b2e03dbc7a6f028cb57ab2834f29fe2d305685dfc0bdd0cfe909b720028b58d4e7c6e0839850ef04dc71a498a65ae84f4c85d4a601ddb0984d4eb31e6e90b26e3deb40517233ab46063f6e9e32bbf364eeb9e2c492f95489d082b74572bf64a1a3fca6a3ec95c5ce7d2060169b4c6b646d5daadb42047af65271efcace546321361dad89c156d31c61d9e7aa039f8c52d2c26bdf8843c38abfacfd3d548ab82fca0debb6f7c94eacb5e557f0fd7178c9881f8c9e3cf2c56b37039f71b2dcef1a5b7bb3c2dc24a1226eed20aac1390e54af009adbd28d5c64c313f38bb2466f2835ae2a0878a09428fd12800ad4a3d2f8af39a5f400e8ee498b54fea9a72fcce17c140055bf7632da372b28ae4585ec7e3815c260c4759b4aba41af57b64f2158cda8139170218bd01dcd97aff2068336621a376eec5a0ebd8d2196f0e56eaeee14c70a82e25acc6553cf9fc3b199e870473eb806e4b5f7fd2afbf06003ce1d37b79935ddb8061b2a4d037326553798ab9dbd7b740fbb7927cc38d662808c301088f0df265e3d6bce11dbcf4cb8bccab7792c2d25c1bdc4c9cdb34fb2678032c5192c9c36edb1ca7339b2242f543759e603140d2981ee601629ab7397537cb340842176724db826373b7626cb3a279f28f1b17653a4e1047fce350b2c5c7587374e242546c34e724ffe13f8eb9ea8bbc58105abd86cf9b2957f94f348a6dd90606d859ab10115e216ab74026690bc4e5d25d9db47d1cbbccdb3c7fb36164c432e4c43e42d4bbf10fc941638056c34d4faa7623b9ac13cf38bc3f1e79f4cad58d61028eb947b047611aa87c28bb07429d2dd5b660109cf08d93ae9cfce7c152f6f2ecbd9206936288b7b3d6803c2ce9a2131c689f4d7845159a81cfa391e8078331ca84668233905851476ea3a27350587245e7670aabe573ffe8c1ef1179ec0fff91d3d2f5dcd43138c47775c30de7b2616ee28258e41919a553067303631380ad88812e45d5053fb16367d2c8fe886a9e2300000000000000000000000000000000000000000000000000000000000000418504bca9b664064d0d4bebb8ff2d6b7cea1aa21613c39e93b1284db33849a2e015ae46487a41bb82deaaf82c73ce6603bccb5ec1a9cfc66cd260fb7f0ba4efe40100000000000000000000000000000000000000000000000000000000000000c080a054f9de638539aee6dbe15236fee47e6000f9d3810589624a42688a8744b8d07da049e28120ff56958455eea86da7a044a8615cd01dab5e3f922486f89fa2620824", - "new_txn_trie_node_byte": "0x02f9d1f301824540830e8148850e26104e26832fb47394d1328c9167e0693b689b5aa5a024379d4e43785880b9d18449cd3004e28258e41919a553067303631380ad88812e45d5053fb16367d2c8fe886a9e230000000000000000000000000000000000000000000000000000000003505a7700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000035053f5000000000000000000000000000000000000000000000000000000000000d10000000000000000000000000000000000000000000000000000000000000006829d4c3bddbd3abd06c9e3bb7e17bf05e43898dc55fc4ca3d1bc8106f08818b4b2c455615ec53bb62ceb223293e210034367b1089710c82244506ebd777a2794c15014caa60da5eedd50467c641ea23b91358af3f8e83234add6e229e5f29547afd5157969ffdd67f6403cb6bc190af25d57ebb0e4fc170cc7267bbcb4a1360eddf915bf410e689f23b86c6178a6b560f8b5e9df019b70b8b711907989caa1e6a0ed40754a2786c58d3c06c43d2b9df83c9179f4f4671c4062d0929e8c3444df6ab3a86e773bc417c048db3a55dd8998fffc6b9ea3bac017168f2bae31d80239ae4359afcd353f688cdbb204bba8db20945860557232e674777fd612bdece02d5ca6cd0b53d650f8e3fc29b61f9dd784341dd2347797ff0a3f1d6b44f7e74e320f156a1558474ed3d3799dda354b05d5d3be7ca62a4335c51d3953a4f3e00990e6c39fc3778f3c1d458bfbf410066a231161d16a8967dfdf164807256de8c33116a48088ce3f95d46a63f509f9e512361f55f01af39221cad2b0e4c506bbbe766d969329cc9608667797f24620d39fa9faa18d0811c68723b17c2ec6a34ce9d82296c35b83a0739a4084be5dad594ef3a219d4e1ba91cad02fe53059ed00d192c1f6635b86881041ba4200850c6207c3849ae500ad7fdf9382daa0ca8fb9093df0dbaf7e41abdc1c45ab5253a3f045af6c7e8d046540977442b1f158c0636bf897b5c57da50a7c58b49cbe04671eb44507bd3bd56522b4de616b67e2eee44292005e70db6c8770390b429ffbe5bcd41f7250765f2eedafecf3f3eeea602c7d853c0f0b47501518d20a5d9512a54aeedf7475684bd54dd7fa43f82f8e3059989b06cd70a05717391d8f81e4c0ac20bbec358b21a01e166442b7a716e5277bfbed3d4eeacee5ad6cb58ad512bf9bf5832e152581621108c1109417f389e1ee7095ced80b3d83f8afada6f5440047a7e908213de92ddee16b733ad1ab00d4ba3113c4574e52be44cfb6d27544e2b0d37810f79b1fcee6c9c25528f94c874f5677e21cea614e0171ec90b294e7b62b1a48265ab594191d3a1da13197df507c8933b4637eec55fc4151e57a4093b82098b1051db3f3c82fccdbd9d5f13d06ce6fe2b4f288db7a887eb757f6cad45e451497b288d8f89559e56b36c4f5007eee35d97f27b73e74848dbdc80a3b5ef1cd5e42be42c20410b5d0119fe999283c617b082b41f73c43be71b3b33a21f73a0e51acc4d39d596a059d462fe850e4874227b3e411c33300e1923c78f6497749e68d052141887613303f0dc64913953b850ecfa8a4af6400fda8edf59dfe2369329fb8be23b50ae41e04e14fafb223bdd2cf8b13a5b5f220adc063981d31803aa47bf0431d0a1f6f6da91ca70ac79d31f34b4cbc4d1666a4166c89337a4a9fd5cf112fe28ebc65036545c3447954c068c498718eb5eac38053f1e8a664305782eee03e951b4911d97d9b04eb1d437cc1e7aa9f2dbc2b3954d94fed1baeec45882e915d7a743e5772208c95741650b5920dff0d1ea3547f1030af7a65d1455ea3c5fdd951c5c40bc5e915b5af70065bfe7ffe1f8b3a6cd1769b93955520e51b3af3d1f2eb6454015976328ae8b36ad234d7aa7959ef5d4ba67cac959780df594b4aeb9ed45ae390bd7f2b13665ec19e89687b86dac8ff7dcb8ea59c2fdc3c6bcb7dfc0db995e404b90aaf4e25566ff9f7974334dc53384a2bd0f533785bfc732c4af8e25e24405b008bc2b6052eab83f7c7f80a8c4a9922627069567ee3995b44ea008b385c71d234d90408cdffa0b96a6ce1fd91f1c1f540139167eb82172111ac53a4f434a202d82ea5ce6ecdf2286e2a0ef0988089952bef9f95257b9a5b56f2e71dec7861d21667d9f1c71c092eae7b493b2c09dfb17df6fd9c6e9cb2e7780ed7a92a42eb50ffb7fc43dd524acd907c2c8fffa53f2271e29debc6a51091f091b4a1c985a7a2014de032a3e4fdb532d184666f6462e646f3c4277a72ca93d6bd8284a65440bdf751afa893bea0f211548874fea61331bf4b2fbefcc44d142e70c34f2d9313f629b0b566289fa9fb47a69410b19e962e7ea65314f64f897f17f9b88959ff098149c29ceb64fdda78b847c480ed3a52838f2a1003bd9e46002be67c884f29a5f3949da96b66871023523bd54554ce6f9fd4c53a429d22c73b47852f993442c64744aece1d6b3c3e0555496d215b7a82303a169cdc930153a2e132a7bd445f6028f57756b160b1cf7f827b0eee0d18feed1f65598c2bdb7affed1a5c9daeb619f5e76bf54da1f04838cd2d719c891a20ee6c52a2ee42c26140b78062142f835ceb4d3822b970d1ba8f17bfe3252d31aafd5ec124bf9556907a9e2ea8e02fb4447e2ff842b675b986d6921c964fae358853d6f0720ddc49aeec107e7aa1cefa7d0b674ece4a33f8e34218796b63106c1ec43780f66b60ac07e3dbb4fc032e1bbd84fedb1132fbebe0c909fb5faa050477d0c1e9bbf4d8fb4e80e280011d10883ef442190de712da4062649a3220ed16b99cd4a723cb3f6f30bfbb6a0683b78efb47d70431514a02141541d7f31e686b998b115049bcf4e49cb5581977d2b9257c947fc88f2143e89c2318d12e2d30d5981c3b4dd4c13747fc47cecbe638055d253915e71453d853d07bfa10dbdc258169af7f37951a65a3adc0ba634e0b90b0784c2fd5c0a2a1008801a2581d7e35020e6ce42268c857c5083ccd34f7ccfa81c1dcacba71edb286dc2d11f95202da3947c9b88e14b945ec5d0e40a0d7db777eed5dcda8925e53cc34fdced9dffe913640fa6a0b240dd61e64dc1e942e0defffeff29991acdd9fb237ef41fe26f7c807153402b1b460761e4bd67358710089ad50791001d127f10132d2303c0645c90ffdd08949e7c703833af70100aec2703b046781e0d680e208be3dec20850f323620fc6328591b6ea8180fd2fa1d52b92a3847a260683f882eff72919aa7ddaa9eb705751d5f0c65895d9bb54fe5123096d7039f1f81195f0ef6550eb152a25261211bca2f78ae80b96ec1ac976b7cc7061e8a284a10b1c127b7c89edb55a24dea991857dd743f78f4827e4ad72ef800aea24ef252c7a3447005adec640e73770ffcf0420c87f7b313455fd69dc8103520943d8c96cd0c5e4b69f1be16fcd8e6fd8b58c3ba8abdca74c980611558d9494c1b2ecfea6a49c6c5a130d4e24344662653f9ccac9caab787e056edfb2974ef693a004ac9e919757c3f347e36ce7d1ba36e7b8c77c0bde1711f7e97250e8c1c4aca1660ed8cb61c63632eace16a8b46a95d3a77e50ea559336b4aedf43bf9764c51c5d6508abf25dcc506c7f2339142839d447178fac492042d32b426b8c36d742c87c7650460040270b66915d2b2b24d293abc36ed1d6e4f6cba46d49437ee63a03c0476aa27948b33cd7e63b4c5f6623c8813cd7f29e01176dddda7f8f357df302921bc028226796c8329e7990ed9852b0fe940c7e73b48f69c70613386de2bbe9cb4902348c35b6fc7387f1cfca238a766e71ac8fa8ea8420da1a0afcb264ea3b8f4d49170092b4e7d13a85b9cb68e7652ed37362b0300b7b6f09d0a0e13703c68c2a50abeafabc4d3df634cbfc5ca17bc7191176a0b1c8d1abb7fad7a3849e5c2fe3c9d0bea27f58c63374678a2e738d72d21fb968f0fbb4c63a065368b462839ad41b41b6f320b96ddfbd30b4b94d4bd76c429d1318a3a575d0e2e78a61e2dff8f0af7b1d8c47f7d140605d883dd7a4c90e4c1feac553714cfcceda664931175c9c86595991499002a3b408778a67ea090efa888f2d16b8116ad25f4c0fd89996b39ef86c0efcf4a1e86f754380d0fdbeb5049e3b54ed2653f9c7bebf91fd30566d704b4cb2aa2065b1eb0e8dd057a4b5b68574c1bfafec12ea03e3a7d1bcf47cf66434157aaebee9fa45feabaec4a3c0cd3ba7d3084e04034e0da5592988b4d7a521a30230c69f3278d43b000d22ac9d949109d1218919d46c0a7ad381ad8dee86f814ca8cf23c2eb562401360204790fa97127da08a9047ec97c6bfe712b96e95b28dab4ae385c1c9cfe35c3640f43d53e7535b30b10291423f75dd1ef20b8ccaaf1ccc66b103911b1f436ff364434c1a289b5b770a0263de11759393ff0317854cdaad87e17f18d1806d9c59271f1ed8fbb321d13db1f4a3c5c2f3e6c0620158f09dfd54d72e5036ca8dd3b21d80ffb44ff6a5486d159102f9105ad1ce861d38a2b24d3e98fc431e51e056f519252c8db8bffe06d2508e0afe8a8a5de8ba64c6d2b673df8f81854f0edf4ae79673f4bb208deb0636e6d55baae3144996a4f2657bdcf2e8ffdf3c02f7132b97f93deb0b5913a7e4282fa5c8c42e3a4b2236951985a0e17950eb3abaede0ff2c954fefc2029ccd01ae6f6fdc2864fdb80dd6f93422ec487614d36ffb9107c9704751c1819f39aaa4d2cbf6d8fe2164ff9d3b644af5e56310e9f8f7e1f0f7abc09f8177a1ce02d35e218dac2a9881d8aa35e5fb54d30043c8b8cb042ae487b77c36de4796b1d85c1fe962210d64da6660c5fafdbe7f36eb7e5f911b5f5df6c8012335221e1c6476de7977a95178fe1caf490aec1195492a0d7167cd93ddb226a906a04e200a312832be4e46bd1868f9303bc8867b213517ed21fd4fedbab5e51eb70018ee8fa25e6e0c57bf8415feb7037ccda3ece2dfe99a16354c04b46023ec53819a1d9e0c7de0c8fc63880a6f8ce2bcea66b04593ba5b97e36593bce515d982a298f38cfa1b56a47183bd3abe92effbfcadd2e3d05d98703e239a8332ffe5e111574b756469c6499438d5241b126ab56047ff9e45ece9daacfeec0661a56adb96d7725e91655c3bb1a21e0c43597d724669a6f88395b01687bc1f0f385b79e4a728389b2cb2a9616738514449c4c7897b7e966a6eaf6422b26b5a1017309dcdac12027d689bf1469c31e5e98735336fcf8c580bcaf596174ea884eee5a0b1ae24f58daaf7b2ded2e3b907600aac1c3508648c5d3cc758419b001ab656fd86344ce0516689c9b5bcebe5a3703dd687e556101a6a045b978f5173213e79b2b80e994caf50e5d1f17550e22b40fd5e0ef28e90b842940524db4c0d51026120d0a18425e729983f2a0124811e4faa3fba813eb5f7492e1c67e2d3fbbf00934becbfcc1c6f99aac3912305e113b8249c5a9a6c372809a1caa9b8be34ef7821a5baf51590345a2a3213577e99adeade24294c36b087a082136b971e698c10185959ab5afece315c213b16b053c837b30e4ce2021f93f4cb16872decfb99987562c4038bf03ab2260bb446d5fa7b5f0af24435174dbf904d09fa9064029ebd7a61c3219b2719a72f5e207227915771128bd5792b87987ad92c6a74613d4b968193eede9111942df9808f0d919e960f3b3e21daa5f9a16dde17a9222134f015bab87211e1d8f11b23f629fe51c20565fb6f19269306516a2e8c6c3b46cb962d2fe2a653a5811954fb76c22c2cb1172cace14c3b3b39288c0fee6e7ef48c699aa37d13c36554b50753c224a4e2ec4ef8432cb4f859470e1688eb46d80a739a8b02ff444539bf5e36759fba27fb6e8375dbe87e6b901dc026e56610655afecfeecb3914e42a59c3cac36c088689061a9c5818a3443df876ab731a57ee51fae99af3800f31bb679491b17458096eb543507295f3e7f8fc28c8906211b25a554b861f8cff0fea7f7444283860195389f856d24095f2569d11833b3dd213b307e85496f7101fd99f0ad0d5197418e0d68f5862fbb01bfb563ad8f7d6846c06a9b723e5de71cb0fa2a0f12b4467d6cf8187f98714aa5336766cf65b99c146aa61f8a6f408831dfad9bbc7c38007d9726657aa2bf2a60d53a6d582f03c62d35d8fb8359c72bc3d0d131e3b39c25151a3458f707f22bf185006fcb3154db7e138b5712d8e15de8bb59f44bc6d060b6182e5b4e4e4b0804c025faaa793c04ba04df67280738d2cbca39c0a4e1b5d4b1c361a38e375f68026e2c86c555cfa06c400144ffa07a67f97d9ebf4c0159ada6b3c53c87834c868fb4496eb9285883e0a84ed656ef1346733af210afdaf4b76ddd5e618692739f2d6b81eed2b72382d7a5399efc863de8a9b3c4b97f58fc2bbd5eb73fb9db680eb3efb7c1c8cb8735bbf667094de391709f7fe4e7fe05df038cdad4757f0fe63be6efa26f01e7fc5d7cccd905754e3b202116b8b9833021f1c39a11181758735f97c328c723a56fd75e0ad465e65a9645acbd2358a60e7fa92393ca2c17bdd851a9f74df6af3973d4be67b7de26557e78717fd427bbe186f8a80b8d193867dd4f5d747d6aa75e382ed13f991ebb06c5a0bb5dce6fe47cb217db8dc2ed327ca951d3484926cc9fea737260e28e8c87ff0766ff1aa1c201f923ff7dd710667e13f1c0bf8fa8d5c8157cdd27c7e6ca875f9d7bbf57577885bf0352ee7d5f65c47a18c85e245bf51b9a49af2f05fa7688effb51eb77e4f282c0b147f0ff28dccec1bddd31ed27151bf1a340782b466c1e2499ec9c5961f3d0524e73cde29268039f4a56627149a1a31111ebd5e1b8e294450e99c515527540ef5021a57c62e58bda2615ac347a5d992812495af80bc99ce8b0405d814e2324e4d6fb530766c3abf51caace85a973ded55c978960edd2440f87a58beef5da156027919f185995d1b0419c7639a21e6ff183bd6b495778b34d63846ab6c84555f04b711911989dce8dbdfa3e705c5483ac1bd524b10931eb0b85ee03ea1e7b17f67e67bf12a9c35f1e86ab2f79ac17462f023413d4983bba3fd05c113ffd958ac6e9472eadbc81d13077e8a374b856674ffd80c2e22aa43b59830815931fb8849db6d21b765fe3a2fc64dc0d441637d22569b2223102da6266cabee55d4350c6c715178f31155ffcbd9dd1e513812abb6aa79922b606e62d22c6d9f081683302302aaaabf25e28f6cc7e72dfd8ea031a51aaa141044d2076955196894a87dd5f2a6c9ff76ce6ce68472935bc735025c875b8e72de72c8852ad2eaed227ac0178fd5777f40860d6b2f9910f1d7f648b1b4865e4aabc41c8fae14ef6f0dc65472e143f07be8ddd0a7abb8b5b24c89b9a92d4a02c2fd0f69a320f056ae2d276c60ea26e912d116997f6c302d8a20e4bef2cd7d9c684f14487f821fa4260ff70bccb6dc8455a6b0d01f035c9f42429ea8f3b847380a40edcd9a6d22dbacbbc27d7ca37b4517a8b871a71327ee2601bd996afc22b2292ffdb59d123100be6ab6b725d3ef2ff7e2a0c7697672071da84fa8fc81fe066b150a46a691022d8a594c8f3b24bc5c0b72716fc231b29fa6ce4d971d331e5e0342e153873080c393f010fa48e66fb6f33a146cfac66e6ff9877b86797c382d6142d875815cbb1b177a44e2adcc0000056b6e26404cacc191c6ee74047f8e4d4d46255607041d96d4574caeba411adfb67431df35e18f89c0c33c53cf294ed8a05ef03407f00a24a1f1d5bc2dc6eb8c01cce45a8713d933d41de7da55809bcd046226d121e91ccf09369a90cd32aed403095992d07abf0962d31e3ee3d7746a16ba549976c74af759fe5c89c75c28213062cf82b8024a3d57feae2a17db4b737fe73310f9de215e8d0c8bdc1716910651974e223d8e2d95e4337d6f7e77748ed30812446710c92dc61e5260f8d063a31482b92f6744879a2b5de6473da6130b43f9ffaaf74af85ae5666f3bc1e2a1fc46587b5b20546a06928d831e8094db2c28c874e6a807915225736f57cb64f750b0516a088bcbd6bcca686056bce85fcd839bc2cb5f555c295155dc58230ba365d724cd27a9c8e625b8b4c8b5e2912dfb02ce3dbc11a0137a119ebe42659d7ec2834fff2a0e7f254d3d74c675b2438b599110d6c7ce0f0d42b8524ef56ab9090af1793bb0adca2e561d949e5d80fd05bbdf198cfecb6e517492baa886004a9247f6ba13ea15a54c0cfeffd21fd4d35e05ab08861915d5611db6d0613673a5872e7a2a0a46092239bf0504b0b40209b0b1d1e2cad41065b2bdbf0a17a6d2ba92d5e1a0bb556b65ca042f9a1996249e7c3ebca805c04d9ed071e678d81f740a84d7bfef2c54300ed8406c36d364ad98585485ebaf4ae806462a3dd5f6182c90b0916fd9d40ed5adc1fd4029d084df1988676bc7a9bc4653b668da9a427c75c1f652ac226b6917019f7809497408460b2d38e661b28073650bebade5babfe877522fe1b28aae7ada7caf59ee95ac4e82ac390178b46ecfccce283ce017ab2364fe2fa38314ec5013187fcd1de75e556f4e7b68fb1725ced32c45f3d1ec5c765f3e3f175fbe654e97146d7e2d9a2a9422069eceffe07b1e21d1acd6e2699043c3bf44007bfd0bd9fab0f5b13fecdc9ab6058b5a50552e163593a9584c2be2a8392dd67e8dd8a04c352298820a396dd8185559f4054740760685e63119b9c629ec5f7098441989b41d83a29b9dca03fb3e57dfb38d6b8846fd347c5a777ffc02012f3cc5b35a59a3b399af66fdb2ce134d07602e027ec63646265500aee6d06b8d1277dc57ecced78d469537f4bf9cf77fc6a0986304fa171e5cab394f7103f5e0cc883f1737220ecbda327091598fe50a1cdf03dc72ca9887ced0d9a1d17b3a63031b9854f8d6989493e5dcd01931fa8139aec62dfa2e81b991dbcf50607e496feb1ccbec587aa22042145d453b611df0feb4ddb763109120195cfc38c49302793dbb7ab3c1c32548848e2e63892f97e9f6791cd80d7df28b2ae58a92692f45915b44b74b4a2cd1cbc24032a1192fa101c5111318f0f0912d7fa3beefd8bfdf22e20c3080f676dca612e0e0f74da683425f79a310d8d15449619236036cd2a0a5bbb93e751bb75367c769b01993c2cfea811d93377cf5e93a74311a5ea23330d93352ff044639f676d88f6c40211597af814c2b0b0dc66f659ee5a0a4b01e3a399c86c5de0c12f9b01ab0f25adfc790a2f7bf0f4f01f5a49d39b9399d0aeeb6f83ac0d8e28da88941e58533e982c0d3824297bec4be6e58cd981e0fd23c50016150ee26a15bb62908ec720db04801938f0ab0ee30bc161082e897279b5dce793b8b08de03b7cee643b7898f2f14d781869f350f3a43387d5af54d8f83a745c47f2509267b095256219cef262ea5dee181969052bc0f55c9b5166f5a27cf92f4ac004f8f473496d82645f30459239c9df86f14408e9bcdfb62c4b2bdf090ccc3a646485be7c20fe35cd657e858e46dfda9aee394fff1faf7fc0d7b5e7473a17a63ef463adcf877a785cb4ded8c1730ce77c345ee83759d1e8cf6dd4d50cfeae7bd8fffcd70bc9c2533185ae62ea32ad6faa27ccb00badae103dd427b4e31771a046b04d28f6ed296d47bd9060d459ae4ae2a8fe5084e6257609e20500fdfa23bde58fba3a71052054266faab05d5e870dfdb878d0d1103dd802b5e5cab4a7a4f403d673b79028badbe0b980b1c05c142fc52db0452b84d0b51b74811fbba76e62e272d09604cc52d1ba9d3d9d95f1ec4c313e94578c24d78c931283e8b145f449dae37e134dfa1d73f089ae31da04a3f6b1f519e361ba10decc975a646815d8d9f82f5298846f7aa745aa3cb555aead92851ce9bf69eac775f1b18c7ff2eb89254c2f0c705dae59c2e04bc699b5aa54cbea5538fb36b7e81630f30b6b73fa68f196b3faf0fe83ab3559f959ad47eb1fe18a77f0b566afeb7fb2beecbac8ba08efcecd8d60cd578b4c01cb7b87855182532acf065473c0a1aea81f6d63cc998b19002e4518279aa52df1edaab667e8df4e9d163bc6ec19551ccc3e5b2de9f07f3a52425f6c7310062aa2591c8ffe5cc0d0c49b17b37e6b63e23c0cd4c9b12aac6efe216516cfdbcd723677450b99db8489e84125e63887ddcb6dfd2631f4001e980755463d0abf7faef0cc8ace226a6e7dfa6f16c647fc904f76400b64489bfadf9feb092ca9eafb9be8f8c0ffd4cf9b79f7089dc9efd6214957c952790ddca331c080d9cb8201fc87d0dc75ba881a6f38ef0111602ed95cc23534cf2125102cc0ea25395160b18a0a2d2090e8cb233d57a9027d360605900a0a61b0351526285ebdb4d36dd9127c39287f281997fb59d699a6fae36f2d8fcf9fa09ba1c8f1f61a836e302d602bec015f8cefc2f1d771f8a5695ff0b9fea649987da9f5efcd1331526928f014f0516bd165cbcbfc1461c2ce1357d2c46c148bf8e870047a69bcb62d53aaf2e97a19f1ed53f03c5d7c335683869456b8f82923ae2af6c50ce1d15e7c56fd21863c9f9d0eca451466322ea32d43f5fdbc76a17791f8927142890007f7bc72dadb1b850666faaf77c7124f4eb59ca89b2703a99b3078e1d405829d0110ff4061fa54ab15e963bf768d2812280a9c7e173c3350de5b8097ea057e5da8b0c22bc36a73edadff92a833f026a37570f16f8a3e7c5249fc36e545937e4b4ea54e329f28a2248e2133d4ba24e863fc08d863b9f948a2f637746b8ba8892c0a99a593cb2a0818cde2d28e6493d70a7c1d2cdc85413870feeba319b7100c62891ea267512928c9c80cc5d6f57633fa8761d59a682097e88ec0e6e68d57b262198c9fbd592a1002abfce1855c8e0e9e6d77e9174b6f05f98bb2be779613de2413633f4d0272f3da4940b13f0b2aefdd1aabc9fdf4bc93881ca2452a9fd3aa40b93627b4c67548f347ae80d7361bcb890c009129caa2b1a0f1aec8fc7de607ed0b825258a304fbcf1b5cbdc75176b69345e66c485f669d42d69effd8830aa5a5bb833e8b75a696d9bb0a085aeb28b55d14ee17df54b9d4e7e35f69e65c525387bc65ea67be4e0f396af0afff6fe14b8407eb26fdeb62594039aeae58a739ef83b999230b6ddc316234529d186e847ceeab5f5af64636400e68620b50f3ff9d0e5cb60da0b783c226126367808ad4be2a055ee0b239a2f48005be9863a593803d2db929da0959402f268e0c12f2540336de20421df8a63ca8e0945d07f2a0cbdfd32f9d5d5cb8738883d90eae9a937a8168f05d06abb79477e79534a0bf016850c33f1aa990dfecfe85480cee01e9e5493046ff03b611e4f248fa4e246d667411d2e1d57c00e74a2bc684cf64872e6599b1dfdafed1a3076ea4168e8934b184a0f862ffc21943b34b36a1ccfe1eaf50f8169e5e0d8fa81017554334227860186e22cba665a35434a66da6ced6351c2956563cf8ddc1afa38e4a448a33a06a4bf156ea5978784b3854abba565637f2c5a06dcc95f0a2539d56c4d130d6c863350f655e0a7f3ec4935b5b4b90c0c333db151a8f8a16a11683731d4bbc34a53086a0d78758e12fa3bfdbe914567d75a58a75e7c77c3a27657219278863f10a634fcbf0de52ffb98c7eb197688824f579a23240c9514d6575165011ee3c5b79a99f388aaa629911fe58365f07a5a5639b0e046ff2f203b3b685bc7c0a406e23f503cb2166ff2202dacc61791d0c490eaeb29feef07247cbaca323088f5e4c429206e1e190ba6547ce3e0f9eb336497ba75f775a2bb02651cea7baee4c1d9570851b1e6bcb5b44fbbcb696a7b87c6d05fe1318f73fa6ef70791e717651b4c19a29976b787c16d9520f4d784b933fd1e671cd25a8996f21ef50a93a26575dbd77fca810a4e40ffb62c88bd35fb2d296594c9e49d3a622b06d09d12db15a0b099b3bda23f831533fbb2ee7258d8d15106633950051dca90f8f8ed4b58f1beee7349e66cd118e51cf6a347311873f6f4eb5a7afc3a58de6440bc0d6e93be6563449d95516aabbf8c8706d346f6b90917104c3504c3c2cb94813db0a5b79f18b0e8c5d1a43ae21c1efab7ecd939637b1a57cad91e550fa9819b6a46868429d8b5051849e1ec7fa559cabba46243d983bed05d131af7e732a39e0b4d1153967e86ca34946f288753a5368575c4ef2f7ef7f665ed17ae6308db514571c4f2e542bd72d59c1d8c7e20543c0767d2a01a1dc9511e3f5e8d4af76632d6edf46fad353f0048840771693a007ba9f5c2ef6bd43d8169b067ff1400c3bdce305611d71d94d3de942d3d764e8b7457a1241c63eafd78f7ec485b620be9815aea2f627bab6c5a414a905d564358607c756443bde4baaaa1b16b0337089e479f9536cbf3d5fcd353c56853b9092ef7acc88f82dbd9b656dd36328c2d38782075f8cf5c1966f3f9d0ff0fb411ae09d64e67ab977d108407324b5de45fe707dafbc7dd71929d768a4a2192dd7335264f3e07ec28318861c85e1dd32b0f89d84f4ec1cad0bd9a33bfee8b8b5232c9209937374d7e5a802b551ee2ecf75343bd37ae3f758cba47336c3588360f385cf6fec3ab1bf4ed029368bd1c46b51df045cd4bf5a148401a88f8748b361698fcab18d180c9df908d0c3b986692c7e479833b38fab92116e450f8a89616c622a6a5f08f9bd35e7dd854967dc092d88257a696e993ed186dfedc52bf14738f7cace37343869e289f17ebe9bb571723beb74aa4193cf4d5f16917838afb7b60555ba1a5ec2ef73d6724b013aee74c03e05dc3303e22fd5e80db66dbaec8a87fe1b3e7340355f95e69018cd4751c75c33619b81e7f05cf48c400ff4c42865ca80f8a5aeccce2ffe9582769186dca94dcc8fdb72a13dabc8a211fc916848ebccc79337d1ade7760a9f9d4c87d1b8aeac312ae17f9424824888b84de6972c739bcc625e969373b678d8d9530a8371a88c8b52a688f534fa1dd14ba28264c0412aef27b4d00ef35dbe06d6d76afce7ce7fd71fc30d6c0d5a88001a8c9490b30d390644855d99d9bdb39197cf58d57e624b6937ae73c6124617f8a1adb422273421a92146aeedf49f83ed0a824704ae34ca547cc48d9e317b8f49db5e2a2e20423ffeaa667411e4417c3e6176935c621f609b9d7b1a7aa47bece83a59020823cdc830774f71c5e0eb7d0cea6784c9237c3ca153b34cd14548c86964415967ba292c0bdb230c57c9b57f322d6b092ad66b82593691fa8e5e715ba67d82ab31d200ddc5b737b9ba6d2c21aa2ca349ff6c55a228be06102c445542b85da5c99224fec0457587d6be3afdd8aea08928e15f9b98124ecbfbec1d9acba7bd8fc330cd377fac3494f7c5368221f014f7de6b31755c555a4dbd5ae9e71a213f7af4c89eff975f5b131610fa1b7bb5c587e8a24cfee11963766abb246d5ffce9b5e3acb789184bc2b88e8373c99311d05ff02da844d80e41fb2ba2cf7fb8e47ea84c782bad0520a83fdbad68024b405582d043ccea546c2d32bd87b6607480e4c3296b28c51ff5aa87152a59a845e5247659cb7922c7a15828e7b6fed0f69f65548c92a01b964245880a5bbbcc1214d3319a1e54105b7933b559148c212fec6fcd1790830a2ad53d6eefdc71451804c25c5107d0da3018b23f87772add1a750b0c50b9b95e3cb02a35ad51db33b5a6af9bec3229f18d4f3fbce7d6dba8b14f4170cacacdd2eb08b45bdbb678b609baf67a5e5dbe9d8d939430afaaad0cf1d337b8bb16982ae8ee39d4dca57146e61af18d809c04aa56ef751e3045345fa3206eba6fff45d183ec4723da8cd3871fd1691b0df1bcbfba1ebbdea7753cbf9c71d923befe48b72a1b0db6213ffc2b999a213159c0a26ae2e9151e5a16546b4e9bdf67bd357b9027a2c41e97ede1ae9ed5493e0371d1e245259a4e9a567e7bc2fc341985c877d1920859a2b1648c986a58f2904880f0e1cfd1fc95bbe026f1723681dea37f14108fd35ac9637072e851a24735b9b05170f586dad15f4f8dd6952a21de2865ebaacd68b4a587e1030d7a9d86b5eea7295be9a6102b306515540471ff08aa95578fa83ce10f02a784abb6ce79e7f2872b18726b1da01961d6d64606bf6d7605fa96e8585dc7271403374a3da27535441a28414caa23f0e618fa8d865eedde21ea67461cb43914f0afdfc212725d7dce43bfa2b61f7f563aa50aab0420e346090980b0b0e9b6dcfe363e1cb3583e92f50963b8e94e14c43ce3aed57900ce965b4fed46829b4299eff43c24b8c4324a8137ca84734eab8908c8214bf0bd25c72b53fa0c25cc4114bc7bb693294d1fd6352531948e6ef724d52dcd8ccc00b8664d3e07142cdb53bf7459b31938f6938e7ba4b9234655cef37c4aff9ee75187b9bf42d4401095766a696b27f6933c7714cf08c4d6adc3b82beb14171c2499b8acd7a6a1ea1e1a5ce35f339f18e46801c915e849350cee5f78998a13459500a3cc4201cbd95334cab5c0e2279c5028afc649dd9935d342f1f372cf9f6234369640428012b0def670ebc04261ed0419cc349f460d58630b1387f9abbfde1997e04d5bec41ea2b9028240d8b25fd6b53b7f3198ac51faf0ca8e1371fd1d6bee12077b81ca94ee58a24a6096acd93f536a3d11ed2a0420ee8ba9c225ae18992234d877e9feec294c94e25b7cfcc1e3c0ffa17945e2a77684e86f39176f645df7d9ebf0adf2efe3840c8fcc541a226b84f9668aad1a7a2a0f07aeda2ebc7495f106b6dce581a127bf83077f82039e676b7c0b49fdd6ae17df51aa9a06a93224d3309f4e06d16c37a6ca1b3016a988be8cb62a4379973fd6a44c4b305819b02917e799eaa270c5f3cc84edff38dd964ca9f3a04e358a5dd4887b9389f4d611279734c59b816dc1af8a2deb2eb4488b72383f6be1ab30287bbf5ae0d02b7cb6eb37ac6fb943ea980001c962e41e48f40cae478a6a4d119d5b5e676f2ae29c47f12a8f869a8f71c32ec26288a36d2be375f343535827b65c3a22e153f75c65dd63493085db64d4e2ad069a1a7e23c28fd6f7adce9f97d586284f0b0a08153effc202c49a330f739ba6abec296024d725a11be7102eb32e4e3a895d2fb32e663bcfda7ff573b7b2672c7f283d552a229b478d3a6744774ed3bc18d1188c80b777b73301fade2c6764208c8f71f9f7e013dab8dabf2abb20513fbcd2a20bc537c670d25ee8d588e6fdc8195a26ee6f8ad419c1536033de58e6132ef1a2b5f875a16837262671b35946583996b17c23747767d9103abc4cbb64af6944a064cba5d70fe839b8cd5e74350fef6507fe5e619b902b4f3ae226f8e9beeb44a96e0775cc5ebca653a2933bcadfa11520ad048d1d6c3e86272ba845b479d9290005755c16fccf3da80a0565cfc548f21416715832ca99ee339db624de47d37b5ac0baafbacedf9ee0c83afa39916ccbd53120ff755732e4fcb42eaa4a45e6d70481475b92a3fd94a54b43f63fe16904410e27fa7615bec4f4474efdfc3d6cd942b0bc32b8883ebe7808b9b3444de8f91375a8c99f4130ad69d1b9ad927970ee55c82ae4aae2b8b55d13731470f35d32e0c03fc50ce8de7d879baef9e20e47cae8e76b5fc4c34bee5bc92ba30cd6700f4d08cef024d90135fa4c767eed95f8d7e78f8f1085b128c693018054f621bace92a111853e6eea0970a50b4f11afc250d7dc5d8e7cfef9d001002758972a0d49c8e70ca2c82bc7fbda834a93d6207a2cd6106330be16cfc8d41e532cb333c514d6ae0b8a4640ad53e15452bb0c98294ba5c13c023132c23d3a07f1c0226ee520b3652cfad5e79c4362e93c1d408e0ad4cdcef6bd77f42903d83ab104ebd597079eafe19b8f6de3913917fc05c306d13ba9b65eee995b98bc74017b3f76f71361a18a940afce5d738b85609b4364ef77290a2e0ea9bef0e5793c0c05224a965bb6fd5f459bfb2b1629dd79ac11abcaddb16f7ee9448f328f1b8780c19085e5990696e53d70e447a444b04dd33e0a3b35012cc8747d5e83dbb306f4d38bc3b06d722327347d339eeb4e3b395783a01cc6ccf67e8b2415087580d6904d98fa5cd7086ff2ec5fc74dbacf4c108a1da9b99cc50a9b2aae3585200be39345691fbe48ce3644d73fe7c93dd131bb89b73b620c0fe7ab5dd82dccf611f3fc2c880b096f24e1d48e1da0114f063423e865ac067937cdded3b987327954f9fa98e1bc59974def0339bba2fa24c9a18118beb46133c1d0af2ab40932345e2898a09591ba46f9c970ad5c711de557e2342af7daacfe6a694ad5f2fbb7111e38fb40c5627b90c1d60e4a7655b6858856e0b3d4f58d80e024550228ef843770816e18bd0ea6248e97ebf5a3181b7412c70a5ca2d2348748baf331c71e210412e2e52ec50dc524a82147a5980f0ae3b0ebda312efa1a73bee1de10ab599b4cfa845568ec88f523a30201e2d0039156f7beb1234f10f793734ae247543053b9981eda13252d658ae80cbde49eec6102117f07ed932fbd3e498f630570cf1640833b18602bb56d1a4e0b15ca158d0a8bc3d7d172c01477154a1b4e7652f1369e5d94951b71ff67a07d4d4ee6a61274f5dc02ac82b8e54ae157b108233548d517a3c4ec1d2f8957e2a7cf9e0887fadce7d24259f0137445823c62526d262ad4ff7f2d86631d570f69e4d7d991f9b5f4cc800509259ad3af50649ef60b8930105a9336db39b03477026d415ca2203a2d280681a0cdc66ba4c6e80dc45b9093ba21187d8da864939afa9af36798599ebf887bdf974ef89aeba107f7fe6f1ad8850a7c79f64089841c55f1fb48bfe0c5034a363d965ae4e5c462e23f840e08278abd360d8ba6d0f2f118603e803f4ce73343017204d29bac1a68bc9940d291410f0e560914ac8eb14382f10bb4289651e6bd43b0091abd7443de768af848039ff502815972b2c43befb8629ee318349e05cedc0cca8c68a3e96fab6f00ee38f8fc5d66194a4289a1b36aca33ae3d1245629cc165294a49772fa852b4ce4268a48d016519df1aa30f68d5e5db4d88f93999504a7c3a89cfbec2fe44ff164e52fbe319db57b3fb776f444e41b6a7e6051caaa3d62eda22934ef5e6b44508fe4d1d5bcce40a93accbd4527d6c71b670263f66b6bdf6e383383783d5f1532510b775d3385ff98f00499c28f08c7a621c4e9ce7670e73f6d442775135ecbcd7552ec47805d0d05aad92cb62d51e756d9b353c2f7f08a3922bc4dbba8fd56d8480c219bd33fb1f783126811590ee4520d68c0839d6be0d44fe4311a6129bff26a130dd15d20892c589ebe2ec3a2e178dae4cd146aa941dac89ab61d4cf199dd53593c537a85f8904e0bb5469ee4ed1bf655e2944d9086c93e748ceead66bc36ebbea13a9aebee9d932a4e5aafffcde44685dc368bb84cb1cbe1ceb520540133eddb06d6a2d6123247ddad50382b95b07b4b9d55a93163c21ceaadba6b95e9a7fe5091f3024f483f176bc90a2af1a0cd9931428967c02aa3d33bee9be5b08ce8ae2e8caa62a8ec3642a6a47ad1b6f8336a1a4af89b23f850639c86ef290a7ecab036ee3877a3a9b625b232f38f1990f6b8a89bc8d9068f09d9b87ad7d06d4707420f4351714364c621e972c509637f03092b797bbaba5928eba71bb8e3868112d527bab8e793f8ee2aca505727891d2f283576a49e4d61e11560574cd4e84d825af59cea33088ba2d60eacbc649a75a00ca3ad2eb858116811c3b8629783b9bc7493488dd91fb4177ea6554a2114ef3acfcb34c15cfc4c20878ce312e4982b2c43fc5ba935368eb6412e26e7290ed14278598b661248fc6956ae7b44127addee0ff8ff79cabdd4796624cd2a2bb67b69639d4071f09d47ab8057612c150c6620227c2866bba1826a45740b5e2ac99fcd3bfa07e52ab81bccf2ec0a24cea2c8a2759957196ea40d62d53e159ec6109a7dbcd8e1195237fc907d187d8b7d1b190c4aee2748b08a07d5971ab47d3327d835ed6b5fe62d9d73b09550b9b23face557cbf3087edacc6601524fdf3987fa263ef4e24fe5c70f867a4dbae06feb0436469e022cd452835419a6da35d3af1e042775d30b687e71ae396eae24feb99165f146194db3aaeff5dfab088e012828a5b14dc424136e8d4c2227ac25b6fb2d1ce93a571d5dd466de1fce6e8eb1246bb78ec5be2e447e3d7274658b693253af7119816eb924960c9ee07f1c523de304c274530301d0f5d84d6710786ffd5136d87ae269ad203d58e2dfbd66971ba57c73c822d3fce72b6d0a5d007fef1c4be9f8a3a25ed3fccef803aaf73b7f736bc95a73c1c53ccb731a41c4e7b19af6b4cac434233317d8d250d67a17b91c209fb366f6cac86a6c8b64f74af780145e7f89752f758a375318263c2c96adc2f12ba73f5accd44375bdbf716fe70fbe9c14563a55347cd3dc4f92eef8b96015810b09c844e744d23e1b8c97f5c11c2c44f99836747b1659ddf941634d80c8f2fdecfe3f873fa10aeddf3dc2d77ca2d0e1ce3248243eab65fdff5943e4b7e8b46d2698a8f85fb16492031de5d37d368cb44a84b21ceab8d867b07fff86d3db3b7c8b68e053c2284ec0e3021532a91c6752f06c88c26a101d85b0d7a5f164a1b6a782c3d456e7b9ce86ddc48f271cf93a41cf757aa89befa9b0241dcf31856a6793d311b0c8b42427d0f78ce85d8deca2d8996a767b3fd778bec28ed63fa92fadf41b15d6218777db3b7ca5eb7363e5b0803982af1fab83bb400232fda22c990d0a249672c51b36d834f8b9b5d2d2a99ffd15d6db5fd7cfb7d58a59d82bb241418ce35d5f8193d3269f2148cf79fad239588f3507366eeb0b8c2433199fc0aa33ce59701cd5f720656d8030cf2119c26e47eab5451f5ca4648633835e5873ea1ab6762bdcdd492b7f827e3681498b584750d0400cb163eb7284c01f45eb0ea294e3c0fb742b97297e09fbcad773244c356951b66cf46ac55f12a9760518783239c259577753d847b8fbc5aeb3601be8e0087918e8327d46124d98312e814fe05f7c52a7af06f89527c0e75b9e482807de283c93dff5637b436cfe9168b9879beb88c4b93922a22eaf7f09d23eee5cc2ea79f0b7927007753b9e2c41fe6591ee7d65b3f95ec4ac7d1e1825cf340dec3829cd76d11d08af8037a402f8cf4e0860f9bc5a5e35aa66038e59a15fdcb6d2c863ae181c12981c1f078bdc0c2b1cba5522f533734bbd48d943115f4936c7a614eb82bc83032abc76d151145fa6b4c5834c37ed15ae66c5f37f892a87dcfa4495b84a4d091695edecefbe38b7b830b80d95120085721376c40cabefc77fe072ba51ba6798fff76e0ac0c184ee2313f358bdaa54b118f5b4e88cbc5b49a9c9689655462fca26b73ac5d4cf3ffcc25e5ba5a550322ef7f7cefaf3e14197d772ec497c78a04477dbc4e6c740091fa599a1defdd9aa21b3e93ff06d7a2aa693a92ae1166b9f14ce38ddf32f507268386cda85425894e70dcf9b984e0f4690437787920a604e351a1396c4bca9c5bfdd290158a19fe47267590805a4be5547d588b4c48ebb9b72893af77a1eb159693ba2ea2d9d65fc6f55a320a1c4bb3d249e28b465db04612d5b04eaabd281d4d715c324315a68e8a29cd3538d62c310d76e8011f8432d755f3d5b0469efa0aef7c972632eff6d031914b703024504a214134ab1db9c4619077a1d40c80694d3b6fefef51109029ceb19fee4194367be39f460456182240c1ede9c707a4f1dd66d480c6d76cc5376de96d400d965359895324b2b03dc397e160e1a17b20d8d7f14bf7fd2186bacc00638229dfe338cd3abfc1af83ac228f74b5350034d06a8d4797ae47c6b6f651d52920263b74ca8ae4ce5eb1b3c815b47d3d50565a069bd3f71a83497a7fbebf7877385fcd1ee28d8d2ac15d4601416045e32eac4e052cd699e90e653e3fc586dbda5d362838eba891f62bbddeae1d8ec12bf7b86bfcde4d7da7e7b3cdb8ab571ef9dd8dddbacb77f9c50712978715ebba7e4b3c46c9739c42413208fca04361272fc4b2c3cd6dee067144c7238c3d2d44c4a17613c30ad771939723c633077ebc668fce64b5fe02fb4da910b185680d1c993587c8f67b2590940eef66bea0036599750f1f97ce0e3e13a0fe7455237e71f532eec54142ed02b88409a9842ca217b7f65e0f76d1ed56a80dccb14ea58ff5c8f934af91ea141cba0473ec2bed2288cd4e05301d173c60e3fc9fd44e527bf937490ac0abbefd2241e825e95010ffbacd43db5521211a4fcb23d1d0bc3aa54677613582b2980928fd2fbf0a1ca58d87c00de8cc5f306296489aa472e4cef2887cb57c530ca293bccd717e6d7a0df55b3981e9e49740671194f038ccc09830bed6be1e30c717a1ed25a78e00acd64c6ef34a8a5a3f52572022394188a6897c799408dce49bb95840195b1a5f69cce3366232d6e4cfc0cb59283477ef79fb7041003850c9c42565903d8830d37ef37513d53abbf06082764f94ee2c32b04d578d080d5581c6f01d5d873f3a71c30f5995584d19c696f62c31b87623d455ec8e1702a478f9df692cddabad2c8f659969ae21ccd36e484cd65b328248cacc7060dce3bf7af5c90c8c56376720ff19e8599517b4fba3d947ddbe44d4b645e2d8182289126f170cacc28252d940683cb0695e88e973a4efff5e094f5b063b20a44f8decd8dfc2b6c3a466e10374b7af71e851c63544ae7b259112b6d59fc4a753965ab3048c5f7b04210c08557e66d421a7c5bf190a92731d7ab6ca82604fffd3166929b8d10f825572915eb360d16dbd648b017edd3a5ad7a890492219158327ac67cb26cdee3a7a90a99281402996cd1f4f85082a4b7b740c030e3b8c9a5609c230dc787f66ccc1e7feaa4dff4d9c6ac31840f7eaef2190b9db813695917a3685234aa8486489f7420b18cab366655eec66f75158ac8afaa27007f36342b094d4540510f8c9b961343f117b559bb163224e3b19c8418c01e84e4e8a9eab6bf2c3dbeaa5e1cc821a401ab4f6e48fde11829b5112351269bf1ff4e44e77213108c3e59b29d03001d1ef5f242671c88f50b62354abb79922fb777ea018cee9cab1f72ef9380b2a099e7d9d6180c0704287d9ac2b562c51e9e7c7fb6facd090fe271ac04d5674759195eac731a27a19b05739ad4870b78f83d4aeff87c81b4aa8db756a351ce536b0db12bafff930986cd6034dd70ed2f524926d8a769cc50321af0e5a49ec39a4941557c734d77f48bccbdab7cf28c329eeb87376e44808ce86ab2a655e084c6e88f914fb79d01faed81303e934fa231c8415ebedbee4dbf62aa5dacd1613d3caabd7ba39ee03a3079c2676d94809ce6189baf1ec9b567570dda37d7414967c78f95980c7db924ca082559fcc9c5e1873311f02498b3941534a73a4d30347075b12abd3269ccaf2185492de4b718214eba05fc89eef5f781c4720410c7e6355936f0839f646b54e40077140b140997e54eac2e98df6e7e302d9d935490cdef91c84460bd6a2063b7476665319fc6a25b386f3957e8b476de292fe44b593863bd3e32180dcb4f92b300a2487eb915fc937069cfc663f43b39b8dace97412da924fabddcf35509f4130f8900f2dc148e37374320e065966e94a7dc8b1229ac1b536b7d218dd5ceee26c073c0c2bcf9a98d7006688b73ea3dd503ecfa95db681295025f499ee4f768f13752d77ad63bec228a3dd5342cb8115efc7266e046e6c4b77f2077976558f7c781b335859b6a3e34ba4bb2ae3b5237214488a5ae0a11152d23f0cfffce93377fa5be1262951c947ce23cebd2337e4dd6295a2d479209add0ca999537201d5a4e71df7d72f8346efb979d086444e5dda399e63e466da5632a11395866c9b755d6cb32c4a683b7f1dc7b03d9d46094b16992f98fb73184735240d48f0de76647dac5faeefa75a1a8534f775e5c7c7d6f61635a5898f65012829540eaa9fb40777f59a5fadcc5590512f056eb0bac5885c6d68ef49739244fffbff33207403b56bce79082a32407cea076724d3d2eb7b4aa5c9843f9b487dde243888deb533df028adc2211df1e22521b5315070de260da445b6cf0116a4198ee5fe1993de6581b924c23f3cad858e4a5fdeb3b092aed2dae49c5d357b4ab3df6ea105e8e3be669b5bb5152156d2cfcfd5de8ac920dfdd4952c2481ce035a7ee2bab27bdc79371a8380d53f908a678251508d732a6b7b697b7ebdab5fa6657b23f001873edf6120832d85a049d39e5466e7334a8e447fdd97abe34674ec2036f440251ebf86480e1e785a9527088768e4ef1534ece4fab5b8270c1a166c3dce5c161bf3eeba09bc527afea8f62edf39dfa7a60102eac3c716d890a294ab7f3bf6ecf26ce5f5491dd2419c75dbdecbbb5a7c4c921044cfe205598509a19459965188f32ee0f4900069fe4e8892620c18da5097bf14317032c6ef0b34140907254bbb6b31c8fbc88bd0142202b7d8cdd9de1fef29eb3488a7b2e96c1dad8b67f468e2fb3c07b43b49cc2896cda31d02ab5f9d47a2ad34e65b594368837271330d0272750c6ea40b3a47b504449cd0ece1dd9d5f81611ac7c8ea101efe3baa82cab1518738db63b48beff80be9653512ffe63a4405697b650f3f2603ce561abf469b307ef98471080d578a738d864a8c5b038e977f9037bc19be6ec5358bfe208fdf75d11416e12bd527b20d8d3dac4b05ac0b169a37bfd4ed34573520d1ccd1f604525e869a9adb6866f7d4618c752f969bef5b3ddb7ef4d53f827edf537ba40bb4e20b8538e1e3c0eebc74e457c05350e25c6ecefa9b65d13e49684cba7f3d49bb07d2c5911b19a575b20691b57ec8f5d6025d14955e86fb23820004e3c9a107984952251582447259580aee2de0779fca68f41041ab2dbd3702806f9e549e348a91b9838074a00c0e9a7d813aa576ee6f5da80e40904d79cdf3ee4c5f7f02772a382bac9b623e35b9335efdb387ca0b10abf860ca3032dbff41bfbd02092bfbbc14344ef41d9718021ce85427258175a386e857127cf3ab74a88f42411779000dbdad4ef080729d1bdec754dde1c6828405fba1eb2afffee032563000fb7cfb7c22f8b4960cd4e8f616be2d3ad17d8f385a3aab6ec84c91fc4bcca7af4c86c59acc217057aecefface9b88d158b1ab0c1d14fcf939342ccf173eb31c4b46ad0661540b080c25d315ffb495835d4675a995861c966479d5486a13764932275b894c66cb9dc183d152d0ba34f8cb2a6546849a623adfd749be18968e099905051ea93f5753daadefb0384b974050ee73bbb0d0efc5f3436c6140692b8f2ad7aa0f0df6d007b1829a25df612477d3666e6d13ede128f58469fa7c516dc9eaf412e536dee528155316359210e3babf3b9767e6ee6c7226885810bec8469693b70c1fa83f28dcbd492156b2bb2da2217af9795725752dcf408088f853c1f7d74a642a66ed5ebb4d3de608f914cdab7daf6f80c5f0abc5ba3eba5cf91893266f1837cc76b32b860a82f06ab0e28cec3a8837228035a6745d0ce003d7e0806262b2d01ca241f3dda3cf8324d10d617ed662c5bb1a26297578f44fc758542777a9a89799b2c52d2f8de592e3be9dfe0032fb517041647d5a900fe75f59463bbd11f51b0496fe3940daf41e992f739798337d80f53da5d4e51c291024344269c995866fd443cd2f9e5359f69b76a0a2e6f6df867fb7807cb2e51275cce14be45cc4496d9540e6209051dbb98803a325cfdeb44b5fbac34085e1ff6c22ca6479003600f7ff65568255ca02554c76eec83a8c38c9c08e30118085891baaed90d328d2317dc5c2715ff4b61570f841ed26ea59547011fee3496c9833a520be50fb7cf3068d92c51df8a64cf7e4bdb0a1ec2312dbdbcc01c37e4429e38868d326d997ad5a1aca6c2134ef96848737f96275d76ec8a2ae26307c2335066c1430a3abdd8f15ed14e6fd630b80b963e92dd4866351a3ee889699c435b4fee38452476d6d7fa43ea057e98177644987c4504faa1242536cd29ddc59f3d09fa6c1a48018befa47b841f5f0559aa947350a7d7aea3a44fc20558f28507d64381af1135327b09a0dd57a655816223b6ea296eb377695b36c9dd1af73d5bc4981e4f951d9db7b401e373d5ade4bcd8635c230c20e56709e8f5c933d6bf67eb6b881b4872a587d7732bc0dc5d1f707dd02fb60bbfa30ed1d5998ba04716700c62a7307beb39ca263d0337aa2266255da455d619dfbc534ae59011848e5971fca3d79784a3fb159a8d37ffeaa2738bcf069ae89928cdbdac92b4c82a3aae6f9903b7960c0ab3ca1ec9ee0d997f3d293ac107be5d33dd53f50e9eb46d6e4901c0cc51d7399ef383bc5d2c2303f3ca9a1cc60380757ce0089c896e4a9d936271df107533593933e194b6d61d82318c545cdd68795567935a07168f9b336080c85fcf71b624a1fcba58bf2ec4ef4c2c08a3a2e69ac4058f662cc4329f30ac5edfbbff7a2c21384f87ca7b7107db422eef2c25ae390ac0ac00f87bf9bf6b1d2dc8d2a5a239080772de0bfc8415d45bf8f5317d2b79582fcc166ab9f6101a512d2fcef1e4879592fb07e71e1d6a7381f13a2e0e243c09aa8a321fc161b4844aef344597bebc8c1170d4ffdb6bf369968b00990c7e829c4fb456ef86eb1a19b845a1f0c93edc357182c662c5b27c5bcf57aa2dbc2efebc856721715893a7e754c95993738c24acfa28ba8c0dec783871e497f871029ef608e89859e3e13c6e727a177d6f43f031bc02edb0171993ec0ab1d39fad4244240f974f44e3a7d5ba89ee954c606206478e878c3dd3a63cb498924f3a452687e66ed500551ce5fd7a6ae175feb95d947d1ae18cc40b262ad8a26ee9d534512c771f3751a2f0873ae20a7acd8de01e28116db08aba0f4b75e6f754def19199637fd7f1803edf063b2cbe093bdfc8f7357d595678d1bfcfe2cfcdc386276394ec0c90058355313653e5aa5e5b07f86f1ac87ca2c26bb838f23e3132f3f4c8fd21635748abbfda51d0f1f2c1ea1b319124616cac703cd919e61f127e9f1213733b67517d62278e25d935b5a437e93798618790a0b628ebe8ed276c236f8dc71e580fe558485bb3b7b4ab8f8fc281331f8dae51a9525abae61cbb70042a4e50c2935961c1367f749967daa00b420f09138c3c9d94c970c4ebddb59103d2689283a9246bd1f0c0ba72980fc10d218458635c0d0268bf6d525cf955635fe101241caa23c88a45ba15cd2f92306a77b3c081e4439ba8d34d4fd6414098b8ae2e3c168d8be848d79675f83b9b9945697981c5f8e941ce9fe70ebf7a4885e69cfe15508b578839df5ced7c2345d7fecad0e42fc540e0bb418ba7533ca51b2474f7ba5dda858ec2848fcf3eeb68bbad7d623de481ddd0216d4d002733a4af85d9b13efa61ba3f7dd4b16e005d31b9ff8880c4cdcdb49c84937f7fd4ac52e066387614ec53f7e06384a0d34640b32fb3e2a0aee25623974bd568b8e7ac08fafbb781fd731620b67173f14cc07a73b71a1680c01f7b33108a78dfbc6c669fa6497c975e903b5d8303799c591104f1386210e0cc32f111cffcce9ec519d17e03261233eaff39aa8a9d063cd8572d42f34bf6763a059969a5b25360a033a09ffc6fc7eebbd08c1b76be11708bb5daac5af010549e6d95e8bd4123e847db724368192cd13f8c1a1e0b47a9c42a622170cc910f2431328a607b32923d9250c63821831ee03732ae2b30b2c79ea1105d4f27eeb84ed3f991efe00013feccffbd61a4d1d59da9dcfeeaff0d836e93e24673c89004c17853ad9898b43f6b71a33e04e775b187d5b19da8409d98069cc4ca22335cb344d7172634902055598373b47a3d653bbc5640b1ed50937067aecbd25b2e6e896149bf7965b8d4999a60d9c82c92072379f8b2157174c26a5b05a09650ae12b02463d3aa3c2a653c7eabb7882d51c9abe5e849a410ac625ac809f5b698f3d8a91367157a07de45116aa65714ebab0198fdb28cafc6d293dc53952ebcd4c2f9bcc938994fb6ecb18fcbe5e46f8d512c4a7df8646ad46945bff3b6751a3800f8f9b00f9e5048badfc9cf8613ae41ed73bbefb93f96adab6c99c7820301303f580fce859fe80c2628b15f9cd317127147f612e921aab97096e0de80747e38955aee87ab1d67e8963a7b6831042f9985d2372ab1f1096bcb05c3a1142747e836a9f77a5898d8a5ae26257333b6936c9b7707803147a759f07071630baebb218eb0d5e87542ed8aefdeb86377fa3a369bc414e062707c4f6a8552eeba84395651beede3387a1eb375439c10bb4db7ed8116f11a5a7d8a7c5333692584e701e9ddc0fc4c909cf9df0bbd89852a88d692ffc9ebeb9cf878389f8a060b7a329d487baeeb23960f313af086bd6f63129b8274a821f011bf9c33cbb8e36b5a7766b9a20f91374cc7a3cd8725e4bc18e0d0ddc67c5a7847245bc9cddc50dae9ec2ac1fdb70fc6bfcb679fe5ad52585a43eae5bf44575a8d73b58f836e44e2cd34581b96eed747fe52cc9ffbbe15739ef8e28ae209c711fae5226bcede8fa9fba08993318bf47e41bc90e6bdd9e51d5280c854a09a50717e4bdde5052fb5f513e3c171c5f1d98c35a15e159394fa4bf2d642546c534bebf833ed951e15000925bffc2683194095029bb047ee0dd9a70d1a3bd7e174b50c7bc1a9cdc4d1ffc14d6d41013305ae419ef93753b6a035982a47582d7bd1fa31301710a7ad7ad30cd7a1acae79c4a0fe1e68f84b3b8ed8a2caa314c071c746a5bcb3b4cb3467ee86cb4ad705bc7f22ee77d3ed7bdcaa33fd5b8bebe6cf5770c667f19c8257cb4a07fba1f0b9838324c186c709754cda27a0860868af4bd608664ce413ccbf5dc85980cb17da6ad13ed90c0fd701f134e06a7cfa103f5e1d159978b7b440933fec76961d62091987d06f2711c015ab48e1bc20b1e50a8872da136787f1cfd9de58f87364180a0c1fd13d26843a84fc2e722ee8be495922648d3cf3248a4345a675000dc2df03389cf5889fad45dfb9b507f95aa88326c5377fddf926f1c3545d7ac9cded90247f2a3e834728b56bd79631c03c9d0136c9641fe673084e4d722f3530b0e5222f3588bef0da526c3f506eafd2547f45d3e3972e78fb9f992b480ec2571f8e659f22e84e1c0cd3424c4f6c56584806224a272e7ecaf0c14bc439818df0e7e16b81bb27162cc2d1ea79d21f03900000bd9305e65c803850f86e362d65caa8676be2eacb83aac7d17564039893648384b185fd58fa2e4fedc9b9b0904ccd39553ffa8e7ac60b67770b0b372644277b17a3ac0e28b6faa586106d6b639b0bc4d0da3fcba29b2d65e6d9efb2b64f926aef4c794326e810a810bf9bd4ffa78e20affeff17b052e9fcec6041435892496272058bb77a508d63482e5c5c937c1bad842c5d86c39abc70f0e7169758b4e847e0428b59297d94bab43e8e645108ce02eea5b7042a758e0a562fb0965c6aa4a03cd1ddef9ac3cbeea683bdd19a4ff81a502ffcf73ad1b57bf867e80c8ccf3175f2b8fb9a9f65abfbeba5c315128dfb0f2560c9cd8fd54731b7c883089d815f23c5035ae04ef4eadd1376fbbadfc0eef1a3d104acdaed26e4357fbedb1aa7f6b3308e049e51ae50d700c5bbbe26a830cba74ffffc8214e445e3dd64352346bff0daa3f9db41fdb591ab8acf1dfee8f53ed8b2f8c9830c616aeb306cef65883af9db011b8bb9e430af0bc5809a3732c8c2778bf6a63fea6e52651be165a1479ba9938bb23579f3d5031616d60eaa4b0a6727a64648800bfcc98a4144f915db3105cfc330323446a3dba0dc2d3c53a2b9da600d06b5af7525e86f62e781d7d110138db556fc3c003e0db9bbf8343866680f361fa5407391e123837761b0fa7e29e74b369ae6f1542fb4a69068146ff6fbb7db256f2bf3bda18522345d89664ce55fc81a47c52657569f568698eb66296523b8c59ef44ec10b2a705a76b2d60407c8046783f64ae78ccb2d3233dd46b8ed1efeb8a99442ce7be869be27b59d8f6cef2dd2b035e975809a4941b6ab9defdfed62e668aad454756885000ec133b506014fae3f7f0598b8526d264e63bc1f7a283983401c886ea3f9b4527ae865a307154b7db8564e83c2e2f2077a382ccaa53b9200c3e92ec1768e7bd60402bb0bce7315aa8016accdb84ae4b5b1056370ffcaeb2a819dac51b182b7421c1f148ee80ffd47c9ad0e400c169daab1dc5e304fae6e5f22abf6af09ec999d7893ea856a9c0dd5fc4a236d44cac4a56c97cb9d5c82093ac21f67fa9d674b80bc8a2b90df256b646d75e0651c4b67767626c25268db547f498b1a862fbba72895c8d20b0a9dc8370104d57c71e2c454b4d23dd0a2e3b34edf20b7c1b3f17c3ea404c6dde7272dd9e23de3c56afe5ecc3d5618e3ac32b7fb5716c896cbaf314d136effb8aa0943c4cd4fde76efe91a6c9090d9508debc2d48ab506f6ba7ad59a8261fb774a741a571aba9ac745953bf8e9b8d677fd7f0893c76c07fb462c3103d79fb04432a20d79acdf838a8b6cdb516806d14a24f50cd784a424ec50cfc6a825ce045510554d8a93b8d4ef97b928911d12222293c17136cc6eb14b2db7cd8a0d41a7a7d02c148a88006979a564a581237e035486d311f41cf002db2d9d012f9c2bafe635f65af156d53ce01496d8ebee89ead74dfe4b67389591b0ffc78e1dbfa18ab62d6f7a6a77fe50a8a47b8e2c19463e9076c5874662a071c0765fa398392f146a5bb85d2124fd73c2861914f098f437edd2e8113ae88477b7f9073d5ced02947f0e8a0066dd4cab27ec577f307affe3afadaa3a2408fec64394a9ae514d284955dc00550047f0f22c5634c7c32969a7bc61cfea4b7e746dd337a83c012418d5332d6d18010acb6e6d85875943a3dee827e316bbe395791200ef447f5b9944bfe81d356a3d472354bff91f48da4e61abd4dd77f30f20a8387ae976a55b74a0ae28beb8f5568153a5084d2293991e179e42a536423024f17168216cdb18edbe7b17e29b5de15a2e8be1435d7d3124ad142062a3e50cef22bfbd036fca66ad8cb4e0a316eb426209b1af55f246f26314495ad6c219aca41cd3933b28d9bbecb28e3c076ec825623b44b8f58fbd0ab8a119494ede9cb85c11f97b3a42d69786ebc8fa6fef996993c26ba7edb47f27bf0839650395e1cf50b9fdeccb23237852a8ca08a7bf4855ea378f40414e505847a13bd88a13b3d56cb3ec42dfbd71bfe847518f14dcf0e6a83cca7c485c715681e038db85b4619894a70cbd376d8635b4aa08b509cca0e9f412e48ae3f614511ed6e68c7daf001c5edbe6492c9384f8f57161dd6035ffed41c63513e059e59415dea504f370f2552865b3974a35ebd099d626b9a1e0f8a7adfcd148def4ab4d43788cf0d478a540d28905a2942df6071a552670e6dba0c00eb1c60add9423e00adc623cb4d138dcf8f2c71dfbec2bf5e54cdd0b6b2062ca7b5900f1936ec7013f1e27fe7efa4c77dcff08773e1dc892c0d9393b34d689ecef6eb904b790f4a8f2f00db90933b8c24b8cfd56d0cf774874b3a5a3e52c88ea11f79e2f524deb5c1e958d46c859fac053194b2db1771c29b06b79ca8274a3f181ee068a84a01addb22436c67bc12e94edc1b86a76f837b2dff71753abeb08cbbeb5ea159cf737c55683cb2c8974bff6746b0d24226017a363a308d90ddf51eee8558d47a16dfcb9d11f484e289ad8e9f8182e1b28cd9269542fa6bda10eb2bed124d6636a6601ce70650f0153eef3c0bea93df7af02e74d42cdde1e9244be45d2efaf9f9f453a0449e7b2183ff102b4f2c1611bcd5543eac3206ec419cfd23aa7147c373174289cce070efd9ef2d9ab0bf2bd654ba9a6bffbb64c9bd89ed1ab2a7e6a797dbf34b80f12190e64d190d4d9d682c57d96c8a678e7af8e7534025a5629b12a68370fe17eae92f42691b16573541f64a9e652bf7625e60264da98825022211520d0664078300dbdd5689e58899f94eba816cac26c687a26ec0903634e84694ec37c058aff38e98214317143f3e7109fc9a6a2dd98bc38ddffb70531fe59b77dc85c41b1b96ab5effd895a8d7261263243887d81934c267bb36dec5b139de49cd2d2909d1fd08cc558f23b84d7df92f6e12c6a80ef9563b2a4ea24d7ad2b79806eedea5192331906ff1b723abe4cd8bb25dca960be3c5c61584d0a1a26405191a7c646f3ba95422ec3d4e6e08fd51003cca2244990a7bd1feabe8fad5b3aa5ea38151229d08997ca8d6b3ce9ad173745c85f5c5a59625480ec14d5e182dd383294fad00b0052d9e3bff7379b68763995b417d1fa97aafdb9dd8ce408e6915851c9247bab3c7b48eac953ab6f28f63db4c155ca3aa69f56da4c431724dc9826e973fa8f6b4128c080df451d6119ba71722c8c60a054f32666fa6ee149a9fa0ec10b65e66b62799fb9694cec4e6c7e7ed5e50b324123f42ad03b2022df965605d1f81dca7a55be22755d961ad8046571a254fd11706ad1862450a450e9963a89443dfe1424fdd8aa652c0d7ffd872d06904699586bd981c1deed5bd8cec7603e4da39bc8b72803b83c523f9f67c983aabdea9540f19b61b217c681e870e3019f057843a7f1334f12d42d95d8dc3f2bd5d6473ceabf1c1b8cb4919850ae0dece21549d883a4cfd9df0096928e71c5abdf514733f46a46f868388c28488bc3c9abdc88e54db6d8106b0c601dbbd6611a610c970074720a296e995e695131158d3064b2e67601da8e3a926cfd3ad4b587b2219126cd81448dc97867dbf8c2c71623686b4fc2ea4f20863b0ef250d4631ac261cd71eedab6fe12fdc71b4ae38d9b92d418f248b5953ae9474a1870a3d9e35b882b493813cb867f04f35882716baabf0b1866fbf286cb01835d2f7ace7efd2b014ea70ff82a52dc99efb0a4ff164cf10aa921b6dd419b922594cce0ae5202e9f795d0cb3037dd31a0c6693a17965dd02346f90de391d76d7940ba4d27df79d18178dfd35a26198237918b99882cc0cfdbaf097ff943e5a78d77659b24ed6dcc843da260d3b0d24ef21fc8f288e7ef9d9ca04902798d619ab674372e9b506d0b3f53471bd0496bbf43232c7ccc640fba4f8c50b90d6b262f47920abb6e5175f5e2bbf1f932f508d2bbad25ad82a371ba6d3935266560d78aa998a9c33bae1dd5851e0b3cf32fbf4bdfa16f898962235ffc361b53869f355e13fd028399f32945cec9f3443e523fedd0ceb2985a0d330acc741abb4d3564b6c5386b01c1cd3941b23bdc005378a4e9550c4df33608ddbca64e3af8f6379f45429cc4e026fd8f27fd378621666c3e12c9807f350e310d1ee938d1e1b255cc4caf4af1d6408952f893a21707d5868b44c1a99c2bdb6446a272e9dc8c86f7a8f60547bd9251e01259459fac195f4d2764fa4c52e462f521ae994a077dcaf53940427d774cd96e41c0340923d54626745d567a6c059574c02a91e4606d4af02218687dcd239a2991a441845c2b073b32eb63840efc683e3cdcf96718469cdd4f3c6db06971db1f9817353a6051bea7d419466092b80c250e010cc9f1fb3708121d6220112dd1be797b461258cf0e095761932b5cfd4f5f38486ed7512f66132379b40afd78fa1e160d6eae9939481d1ab9abd0e696aa8ee8de1b5eff6460cea250dc5c7eeae02d6f1d3ec2a479d57ebd49df5ec8040a65016f71bf5aacabf99603adb5ff0c76a0a66d05b788bf48a65f6d73f71c9d6ff72459784ae017b5eaf91169c9f3a02f7c56763ba08bd0e1e6a45a1b607c5b499ccf7161f69511a219cac1d11534b77cabae31b1e2cfff6a4b029337f39ca119ad64f22bbe71d618a8405fc12b49324b7a787ae5309dbb0767bed964e93014f71bb94c63dfc1cdb0717666c05fbda90bff869891cb3709a8a0fe72cc49a03f8408dbc028afc97967063111372fde2cfc0d61950f53f103ac464bbd508b306b6456ea03124465a8c1f2088e53a808b64ad9de36078c3c296f9fc32b891dedcf8914767f74d53dba220db3a60bfe2cfd922f76ea7d3d3ed173c084dad1e393cbbfa907f789c9a25e41387b4dd89e962f6f6b9d7a91a3766bb1d48e3ae41228e406c9bc3fdd99a783d2c8a9603dc2ee2f7c9dae9498d6bff0b2e742cdbad1c664041a81ac915f2364ecea2a2add80186ca19dd53a052165f8fc66912fbb16885b57a5e8410a7c7627f0c0f359786c011d7f27493c7220ea8b28333db1526b666d98ce768efe115c0eb57798a3d2ca42594550b05c5e676eaf6de695ef9df812d9a5fd98bd83883dcdf3d4ab3b3e6df05467eb0bb5e42efb1cd2d2c96b6f5aba0657a14103dd00951b146896763a4b1e3e6e7f9bb979aa758cfcdb13c75a20d8f3f19510ddb407c0121cb69592c9b3bc4b67e1c0cad0e63314356062142de5abd9b89ea55f9b03232a2836ab0f7db794feb705fbfd127698efeefe2276748b5ef1f47f1c08aa86c15dfd4f0cbe913ebd3887aa92ac6f5add9e23a81985a8da66ae63d29010942d7eb7ef1ba8cfe9f6cc0f483ea5af99855911cef295a36bd6f4403c1b993eab42e5ef85ee2ab6a2ecda05bec9a07b7ed88d1ee716069f44c6ba80df15c8fde6891e52cf1daabdb87476aec700dcf4d62b4cf21c4ba609d379d26bd9afffbd25b6de1506b5f2cbd18926bbb1d1f6c333692441dbaff7e15bfbc77ac0c0247a3bdbd2956ccd91748e21eb0f239befaddd93149f840dfea322c7cdf8082a6c836fe3bc9f84a9e692ec828ac0275bfa65f3ca98929eb36d507590869a0c69a634e84d4d701cb63fa479e4b0a987351c91350e27aea175098bf9a3d619564bbcdfea2bd04b79ffa6ba3d76df1f4182f573219ff4b65ff0d9d4cce2b27e7b9641a789ccfd4767b6e78679146c33f34f60f0a076c00c3b1f7679ec29d7bdcda7919efc8effca8b7d9c0d16792432ed8fdfc4067c421de7209cd4fc1eda6f78030b3be3481de5170b56418f5b85e03a47bc44ba7fa6dd7d2d82aa8ea053cfc6c6a25e4af5254d27405921652cd44427d2ef9203ac1869cb9b48e8472a06a72125cc6f2a60a3f1410386710f40ba245416ad78b230f61d87d44dadde778f9740c526fd5c069433a7eec17abd7bf33043e5439023034adefe3673cfbed505bfcb2867f373ef1679dd446375a1b5c0834075d30f648f238591963313cfe0f9b1d11f8a2c7b91dafd44505016a130fb371a2e3ea41356da9387f276c0999dfb8890ae6be12f0d8a5fdbe63e63852c002762bf5eedafe0d8d39058d61bf94d6f0dacbce0bab57671e5b1f5a2ede365e096ef12be7ae46d59b9a9d4f139396d79519abda0e36c3d1609bca56364946b5a926e08f46d287560ef96437d42bdb79e2517046e815dafd9ad39a3bf9a344668c905ea74679deb42063d1b3f00ab4590f89980fb198981e2b20ceb6c02357383bb3eed730913f4bb2787c810f76af9d5a035cbd0fa9fa094afa18171123152b9d9e031f580ff2f009f8a4ffe19df5235c53c37a429140cf0cb8405ecb041b2f8c43a81ca9078757b2d3657c166a9c7bb6fc283fd390a0e885475ef5899c9e280d39461dbae69d3b2f214f05772591fe7ad6576bd674cb5ac771e452bc6b61e2987500f908d5acd7ad7009f02871029da9e048e5925c52873e67922d03c8c54a22c3ceb3685c0112df7322fab992038e0021b9bf8c0666ce7f1b80799ab403b8f41a341f6f5c34df65ad5bbf1dfa50e85c92a54b6728a9c6a03bd26f1eb7eacc544f695e07b4f593588d206e970a38a8df2152151c8e9f2bcfa014731e6a34e1c980e754a7f4cb86d1f2315ab1b2ac1d9c6dee8ecd1d2d7233f4c57cf3a9e50026e9a6efb303ffa264118333f70683aec3bc0810bb08e71db74192f6629b98f587523a111d7bc862e140f7c021ccc6f9a9cb5cae8925849583077a9b6bcd9981f4dd0fab93c61dcd6793378765210d3c26a6237f452d710dfa83c58b81b2446ddc0e821f50eb96b9064611c15ba32b7bb27eb812ef92821acff64f7d2d06b8b7a7fce240426b460f3322862385ff31f384630deee0e949a6aa2e8d62f0e46cceb1773e6ff26cb15c2001de54d9f1e9b9e8eb67433fcbc023b491ec48dc49444209bc278fd0f0e074e0e2a0bb99e91df902a9bcc89beb85b580f2dc1aa27e5dd536123f1403daab2c76c2671d1bfe402f0ba098f584b33846eb34d721209de421c479b3c2117572207d5cd16734219c00ee36725f85965c70c0aaf356e87181aedd6554ddb3a5bea78a22d4b4229fdbbed1b32c98eaaeb3e34e67b38654a729b28c7a988c34cca1139fc81be7de967f633bf43af9d7818a6ea9f0f32a5174e04dd0f8c15776a27677cd6484130947e04681c56969e91c5ea691d9125f8f4c310c2361995523409a36bde4274ead96cca29fc4c6ec2b2322eef3d8f61558a3785c0c294f8e4f1d5109a6179af91526c1389b885748c44ca764516d3497a3e22cddfb13c19cbd9f0fe5dcd0896b17c0069be358529ec35671caf183cd69bb7384ffbb882b5a9420af14bbb58aabb8f1f4e01b8d54898fcdf4389342396829249c938fed9e4ad608a2053a8f41240e259298bb8756a6403351b5e6104a9f156d29221eb9f8316eabfeefc63776ed9fb11a1b148f68f7c734d2e186bc2309eb9b638ed541be7170c99a9f54b9311accc3265050e7823cb27ae083c36da95437f92857f0566a352232b14ae7bf4a6a142acce9e71468ea192c87918963ec3d711d5a6bd37d315ba321b090869cd9f7b6c084c22f52df8b319088ea9be9a2fda9e002790256a47e74c3fe5ea5f40e4be80bb8bd79e61c81fa20d19cac9ede85113ba94db11799ee72048a0181808f65599a78b531024dd811a39ac1bff866dbfc36efd92c2ac696a4141783a06a2f88c1335e35395967f0875e42b654216642cf2098698b5fa70d5d772dfee0cec72acfa88a9d9439ce0417f0e5d801e0f6bbd4818750814a56da53439f316222f292cfb888ea709d09e3ff36ed4e7e4d59d0a0673448785bfad20f5db36e1241a7060134c2e58cba344dfc308b229483783fe11ff9072105a246eaac9e0e8126ee92a7477c94d18b4c7aacd7cc51aaba157114b5b382c8f55641af9d1ef61cd3c1f2e0ee36f833eeefa9c3306c18dedd451f18a0d68acdd549ed667ed60f185866b0aed8883accbd8d82ea6d3f2ecdc2404f2b6c4e046f52362e1cb94e85bef98c13febb275bbd68bff0dcfe5f8eb25d0a3b3e0312136e9ead8fcf9ff2b0ad43db3f6229e459b0e09664939d1505374f4d264dab5645091583f3cc352f0fa110f7b5c55ca560792cb2e180de7c7289c76c07359880af1f65150731a344589ad105b27c40c74b70986cf858436d6922ae6aeacb4b8cf47cd47346ce3897bb157c6568fa2682bd7d82cb983b5a0130530b6887cc01c99b3e70bd9aadb136fa2447151d706302a601b5caf3c43567cca23c68183a0d9e223cab71b26117cbcb1aae1ab0332c0b1b206fcb10c7ab383416471c9f12d720bbc9e9a49333ad4eaba2a9d2a316cdfffac7099886bc90377d2c53e7ed009f01ab6398826d3ea7826e9d0abcd24cc07ab1cd2ee9d5bea3cdb1b9a154093f0067393b7e31d1919fbe9d8b5b01617d74ff866890094de9066aa0c075426bb42d481cddf93a4fe14cff9e4094da48b9537d9bf05f7bf687ae2ab5e364a929913353b9d2dfb5550f65a748fb78d6527ac40247606e53e491de0154a8613889930028375a00572688dbec96f726085fd28d8e61307b50e468c1034344a6665dca2d60b525e42a449bb79a2c53dfd10998acf42abda389b1e3a7493be2f0f3e9cadcd4c9e9c779afd1e4f2e387864408adbab08f060ad073f40c6c6ff5c921cf3f2b5bdee50e4bdeccc9f1f2ae63c2856966cde7414fbc171959d4749759fb1d116108b13d1b0e6c70eacbbc953cac094e9e2003041b28ed3035113d8baceaede8d819263b211ba9ce27f7ba65ba33b4d9d6d8dd88eaa834c32382e068d87a679458673264c2a2acae36d97a109fa2079711903f8ce22d205c5d36e34cc0c841837cbdb2b2f816fd8de8c1384995dd80d167ece47b511d4f5c676367aaa66257e3d49653fb71ec07a2d9bae15772ecccb965fb702849fdeaffccb835dd4c63b75fa4964d5877a76f6db248a9dc7a26f4964c5e66bec42ae1deec2f69aa1fa3b0ee349c64a245e96d0285ec6be6fc8594211015890278c0736d3ca5834e8534cf257ec06b7d5a621d4e2113a06692adb14e3217fa6f0150f1e1663a5b122ae9fbc28c1d411492043d4960c06cfb95ebde67bafb01f68588fad0df8b241c0c237af3422fa9838e82bea84c5491c4328e1ecd588b31a32c478a8ca69fc13f16d3bb4e6bf0f578d197def3643058b2d94004cedc8f90bce9463cd207d8c7546b46233bf93354fbab153a6164151ffca0b10f899af061b552f935fae66be0c37c14e4cc11f86b07866471b82ef606816d1fc1c50168c83186bc948ac255fb1ebc1aee17a6ea7d503def7674b509bde9a504c412eb0c3048c51b67dcd0a80e760cf172756e8f09ad1a758aa4952806abba3c15a548047fe20526071002c4fc9e91ac43e9c7f7e328e1ff8275d3b039ab19222f711126fefaef7cda1b6d050775425980fd2c8faf4387619ac13c0cbef22961726c82fe6d0320ff4ba3b29d25d0b5d5956d54690af1ea6b814b183cc97f3a6b90e2b0633247e1035661f212b33eda71e1c26377fb2be60c71e1f4e5793a9b7673a78e7c32cea5fc1cbd18979121df7db0d7e7d4b3e91818f629dc667486f456a7fee52f7175871f83134f97065ee837e11b893d0693c5e185d4f0446a922f5049f06fe2b162525f6f76f972aa18648ed3ff3f39808a5137291548193eb5dea96ad581c629f678ffb96d6df602c6321ebefa4bda07e0fb624885f2f059c7753bbc2def3fbbe0bc1516447b3dec10cab97b3036cdad6980d20b9dfbf306d9c38714d20b08179160f206fa3693c0967ac29c178f4d22eccbb1683643f9fc12df7dc2180d4d8c0f8672c1f5d067405562c7a12a3eeeb42fc68b00691d488372989e65994c0c197e9375d1a503103a8eba8e52e1eab4baf744ee2537a633c1c5e8fff2e5583a3eb62dbd495e42c28eee952caf5eb483b6f03c35a7bc5e7941859aaf014a142aa25540506abea5f58b4f0084a6e06990369cc1d4b1a9d73e13a44d67a61b28be2b4f59d46c0d3b01b6dbbe1c603898069af38829928ca1c71373ee4694856cafc8cfca209366f22d81c8db62b1005de5f553d117ba04e4d1d431bb638d63330763ed8e6baaf71c33e34bc8f4f099ca010c6cae093e734bbf722fd1e3f9591340745e4a92f0ebe0e7f8e354c5c19a1417e8b323ae82f60085d1266503af81981fc61dc98ca2173f14690d2a7f068dc05375989673ce6322900ee69c26f66fce7b72830eb0cc50b5a7d508e48408a96a61e30fa7f03471a2552b76f54798aeabbc6164f676248af4910c3336cd08eb6a9695d1b307dab590dc4021535f7bc75e3df16a032c18b3b1140258c928c99f85d24089a4b7f75fd6d4dee8e6a6404ecb19386472c1a964e011482c8e2435239b8dafd33ba4e4eee42c3089542d815df001e454075f578e3a440c3fd9052595e6dc8b190700f2e54266548a5caa2b386bacd92d16b746270a52feec56cc7be737305922a425016adbc00db02d754c7540a3e38d56afbc5ca8683fb89b2beecb0bcdc40dcad23ca2da4313d0b1606939c2098e8e41a5a09598e0e4e0860a34a47c1a7fbee93701273454d83865654fb7635f7e68f948850484add429b9cd1d251cd2c7841faef636713447a1453b3c9f736783880124f81b094100cdf50d1c4ca563c081bb0caef964be4e9b5c046347e38a57859d3255f6141f35ddb5f39fa35e487678c060debbac60bd65afd0831e0702c66738895191171c2cc044f59e49f46bca370960fb7b15ddf8ebde9820f0ac7d4527d4b4696eb0cacd9358c751286a9065962eb6a22ccff0ac1b5321c0ddd938d45ee31959ba9942da13529a1273e8aafff6368b51194d2c2429f26be4571c6c8f0fa13ab760c81649546a14b15dddcdf7b7f9d98aa5d794f39a66431d351d58de59ba291b39fd5f3ae2e5616bf7a11ae81aef7de80c5a49c58d76ce60a3103662228294f4321a0b51e8e1d66545216f7132bdbde11b88bae348dbefff0bfcaf8d608d5c06981e055d88dbd09be621595ae4be96b2cfdb23ef70c74f65dc86803ee36914d7824a56209a085dbd1d11ec729e310cc0e0033ddd0a222461ed8f47bf648b1cb3cc0dc52db04cf2812e4a63e1668248c80aed69828928a46b1343de04d7a5a5caa5aca75cab05ef76a778237223c5f410ae462099da68ca95460aa2e686c0346994c13d7a087b6750e66df680d2ff5e4280dd7e675080f1a6afd6bd34f4aa2fc13b531ced3fe09d973e1563d66c05d0c2982dde151c005fcf792be42718c4283bd66694964b56031d839b42d5d3b14f0c512cda780282c9742b65d556539ead6a0504734400771c92948ab479eff0d6ed0620c064fa3f3eb7b8f9c2f566e8967bc31bbbcef2d797224b7ce4b4c30e9d95073a036e8ce385de5330b0ee683c03e4d7f0062ba506d80d9104911b6edfb5ecb305f44446db064270e1f06a18211031e787d92d3118f605e744d0071cf29dba8b96e6aad9c01407d62e6010a58ab3818002b04a805c8f0ab31ede859cc1e392bd814ebf0585661b7698f9d5d9737ff7c8460368ebf95a04cca37660ebbe39598584dcfd98722d7df84fc97e348477588d69cfac9a895b991300e117ee9e9fb4ae2daf2082bc74c85409b0f70cc34ced5f63ef4d943568104056c30c0a90eb73a56ae2a30361e8b6f2a75f1ee8bf9df97fa07925d13cc1d7976dcdf98641db153d4b1c61f3cc888916d7166f6d76dc3ecfc7ba6b83b3b5a239aeb52d5b8764153524a9a362ee5e10b3236a71f083ee105e0b209a249a24ab9c39fe7371f64ef0ae098ea926a6a2e4ac88b9ef3407fbc97aeedfa35e5cf10aed446584d8df1348cd3fe34da20963c688b0007808f4e41f16f7232fe2ea2bc5b2cbf30b3c66852c0af8884966fa2e9ad15407f50d1460b86f4b84456e2458f808fef7920d6d5bbdccdf43dfd8d5294bf43dde29822994e1a98ae58c1d9f1cf31e5ff345f4fbc33690e5168c1b32dcd665f19a3f673e1712db09ac370b670c95e1b7a9674bcd0a4d5dfdbb8955d3cdfb71e53b926b0a4050bc8fdfbe9af8ee4683442a371e6774a8e39330d54f3857c5fab936d9f4c9891fe8b690937b555f2d22e40479f28f1441abe4ed489d3aa6a4b7ddd22964a59d6cdba0a8e032ecd15001e3d9357dff9dc9be0db22acb1c9e4b86fc94ea85cfe1e7fb2da840e765b221ae2b8f84d6e93d28c19f594229b8ecce68a3656bb529b57fc8a9b11367b5995a3ff0ae176a73f6f994d53a2ce2c53177e0efe12950040ff4a0f421e53ecd805012955470957744076d40f1e8f33644df7ee23e7447ac23b691df6b1394628a41a8890d0000afd387f558fd225e3b9775f3070133eb80d1d3fb5f84e3abdc1a62599e39a8d9cc5edab856e873577daa1a7dfdc71ff7f70e7d1c7e788cacfcd319914e1bfef7ad0d4091dbea71b0012f349f7b04f91c80cf96d291ce099d256d91db58e19bfaabbdcc3a2786d88351d5f2154cc5fa004bbb6f02e584c49a52aed441d3e5fa0ec762fc417dd6af5dab6867c6e42b71af6a48e759cbf9fed9efe51fb63bd2f72cdaa0d752f77f2c68c2b9838e609413fd589933a06860b811c4bcd17d12fc6c4e7725e529c5c3f3f683bf41c6b06a77e0ecfe45e8fd87b1b701e097f517376aa4ebda633ebcdc05bc060ba4ad741972f88cd5aacaf9e8796dc16614615d6cc5fe95d3c09169e1458813a0e5badffc85daee15a07e33f28ec28f39480bdd0c76c53406f00c5a0802b62636a36a39605c376afc54a467b61fa563e24992def0d54dc8eb5b6617ae661cb90930810963693908b14b4cac59ca23b1bed5ba7400acd250299abe5b4e5e427be274d32c47fcd7db6f0f5e43d34ed9e32825d19150a5a724ae1bc880d3992cacc26cb2138c650482d21522c32a08fc0789d02e97318fb6b980a94dc53b93900ec13b5ed2082034d7d746c4ab366425a3e037975d2835775c7b11307729b61edfdb44e757575b7844710a9acc7e8daf3e8ede731455676c7f63da30627d4a3dedb830d15beec9bc6ab963804e536c358ffb1070e2a055e0f94c3682435641e5bd66d03d45001c070a4d6b8073d8df35233a3a49c3012cb45e4e5a14b945d24ddc3e55e404e859175f5fc8acacfa3849b133307c00f1d35817c245709c0a44db45c4bcd439cefefc58c3202002c1472559ab6a54898a289a2fcfa15be3fd76264d26bacb955944738ea2fd4ceea661dedf3916aaa4070125f3fc51ccd2626a1db5d2fb253e7c703774bbb0d56c7037c388d3a451b24a3b6360ace5afd15d529465467636b57b45d9c8d68dad182848cdf0caaf09ebb6dd397dcc847234ec32f476ebf5d55210a8635d0cd67b651c672f38d1cbc0f568559539742674896f38aeec4dd1cf17209e4c481bc86636e83a22cfe593895efaa81b028f187f03527c1a04d70aacc89a85a8922a275d758b7d6856eab56e10b94c3a334ed80e3a36b53394b1c369c865056c75c1353bdc3028c64bc8b2ff3444fc951a6c38ef5b6ac200e1b234e197e6e841cd6d5fdfb6b90fda82f43c9bf92726631756b1d1e5da168d5bcf4408ded7fe69cd14a24e24b1a9e2044da50325a16822f43447f8385e12b1fb4976df833c66e1905519e175185ad8d718fd8e8ef50d7de19894abaf69259b33d81fc46b4af80ea6d7ff38c784d8a26d913cc1f92dc71112d78065ce2ffffb7d9fd44e55ad02bc730600a0f38f53ef17aec5a1f776b264c1719cb63a203c3870a66ebbf98101e1b826bf6fef401f8712d455433cbe550abc4396a20bcfcaa62b91978e8d2e43f2befc0fed2ed491fd8e1bb369c2750cd5840e7986f8851b5d3e98cd74d8d19fb0a10778a57089634a0f3054009b6ed9d4862cde7783c3afadf88ed0fe866a65684d514bd1c3624cdf76f495321bf921a077594d9920ddcd3dfc979c33ae76217eb0fe65009120b71edafff65401cecd72cb0ea1e71173d0c08e2ba1702a97f32d1779a877bed609c236638e7e416c5c48ee9c261725c8dd16f8dc6ca880c7b36355881d698487db486e7ded8d4241e3bfb06091c89509a9183e6ffc2c31d8c5ba77607da2e531581726c7ac7ed83aa29392398cb7c0f1ddff7b7eddeaa596fac2fcc26cf1acf2ba629ce36a8e301c28b761cf5cae1190271ec9fadb5dcbe450964b3cd68498032869c9f7c720f6c82fc81397bb55bdd31e9d1394c5c663c608142d6b772c53fb009af9104b2d96aa40f74b6473d6114ba932eacb42214df1c21f4098ea6c8eb934cffc0ea7b2db6170c1404dbf3404687248dc6458d2a42a3a3431de3fa537aa7f58e4ff444ba958fea028138687689165c9d30e99700c3c0741847b05c1d4a5808ae101f37de6b3b24d7044da99a244c036e456fc2a8523103e4c94e24b8a7f171d52c59465072edc7e8217c53a70183b9bf9a59a2f43d6f49d1371888feabfaab93bd8f85e7db8b33c0bf623ce48b6e25e3f87c1c63b4e02e9a20b5a0d39cf9d1b9c8bd2629b985242e4fd533ace231e100ae275e7affb0a8073ac73e6f835624b07b904cfcd560e31eb15cf101d7225b4be36aefd12428fc749b88d76201d67bfb14abfb21babda7abd08cade534b26ed68c0a6928215f11e4c18a91828f9b1f61c0741ee78f312ff911abe7290a558c858dc387b329c63aa83054207198ac1ac0dcc70aaaba3b5509caeeae840ed8571c5412ce9608e6e9e10d5fbc9b41fd133c616afdfb9f4aa6644029720986e29fa0027432bcbdc87e604061549bac0a08f56f5997ca4f3284bd7eda95177bbe447d92fb489fd7676e4f5420e3374e4f6588cfd169b82e16ea86df60ffea96773684fd2fa462b96e7348c1efff763bf85e59b9fbc6b1b5071b7e3af637733bafa569793f8f480b9d899cd2b91d1c38de37c994532546d4535724c83ada6fd92b2f8008a56f173c39708d4f1bc10bc6400d47ec27f496cb06c514188c290621af1ef2466feb83d2dc47291e9530c35112f8415c2033ab4b72819b748a3b527f99d52e680c2d4fd2f02fd2bf2cdd549b0b02753546abae51d6f9b86712b074fee4b8b7af4e9b9cca2697a1f62fa36a454aff9daaf7d931a02d14923665365a042dfbd44f2243bb4e754f27993a57d05f7522e923b7300e1144c909cc09ec6a24a4f5451f1091da5683a629fa2967b87c1d1d181ca1611319903ff02a54f0551882bc21fe81a83c4512a2b7499f5a38881ca2714dc3ab65fa2f6b8cdc3cf81420abf1405c110d46b39beba2171ca9156dbdd537a3cac5156afc75137cb4ec4063b873557953ef0280777948e8167b4e21b70b4804a1c28280df58649c96d9ddeedb9995bcfe34f1b0df27e2b6f9ca4562d88984e4af06088683222b0743ab2cb6277cfca782ce4294b4d7567c1fef3d785a9ac008730fd6867534511341f397c98588241b6feb45f0284c1ef42845d7ddaa79a85816d4d1ee5dba913063dadb20012215d82d67b8935f9e5e04663ce771705adaa123a3a01c40ac0d5830aca08e6e0d5bf226779857f0f4e5d946ba8ab9f635244fce2e672e5eb6574aac5efaa824648b61f1a80dab9691150e4080f977121ddaee3abe0daeaf92b02826febd88fd860f3dff11d3a40a2fbd96101e4db4257a8bf00a1810a9297e1db4715ca1318a7b4fef1572c83a67db2b6b1aed10fc75d0c5197f115a9d851b1f545ed4ecc206be9ef1848c6bee05a22fd22e51c3c879a5f6916baa015954ec91a1ac4188891e82ecb76938a68ca0a2fecea85f83eef6ba05413939b4fcfc108196286f9b0abea68c2b127d23dfb6fc1be98edcb28d0a6dd32570ded83db4b3645ee5742741a0f4153de4e3f6c640bb2159d53f2303a2e4a64beb3865d9ff4e19c9f36bbb93b8094a982cd9dffddb04bd575ed163db0174e500387771fc25f095e324ed7bccbcb2e69e66cd85fd959d460925e91986b6e494ac16f13c64f9174b82b4ed7d11e60223e48716af85b9c265cea49cd981f4cf8a5044a36a2b1141abea96449613aa0489dd7eb3c5db6f37666ae8e15361914331af3c606925e726c6091eab2f72115ba69bf4924e946e991f07360f90a60168448edbd131658480af2b8f3338eedc8a619dc8f53f547908120c3ec62e85d7b43d827affa9d3a81879a25f6b720b70636c675f93a3d9805439d794dc75203ceeed4452cf4e903455dc9e0bf86190f862b6d79b18a2dc5f2af33feffc5763b29ec03ec17c1d9847f4ad20f6286e1cf79bae8206d79cb746fe34a6c4b6fa95c3533db85b053bd8d614c125089bce76a9678893971ec21610c8f0972afa3fb9d7a488d672d30e6dadf51da6f99acbfc67046dfb0b67e902e3584e298a4f10c41335a1beec36fddb8712b990f239c3378b4ceab39ad83ef303d84f037b35a54a868ee5e854eed247a17619c2d9c007878012baa854bf998de7825d311f5fbb2dcbaa01362e45c716380f34c57fad127c60c90e4352b957bac18483f81bea27c6e9b94406a939f42043618de338fbf3803f7a6dd19dcd2b0da48e3d2883f1f9d0bb97404e96a6b4cbb923a1f2950bb07e862a66e14d33e0d2eeff5f70f9fd9fc7a3076cb54e6c253ce6d8ea59b677616470711c5287d10ce52723ed75dc2c21d85641fa4694804f30901c2651563b7a6a299f26d8b6b687b6cf8a346322c4c55f848a97675276a1f607e8d779c4584d9dd093482009c47791e58f004d996440217d5b3fae3fc146b9c31064028aa28f2189ffd56094995eed30254f95760756be22003864224e4b90d180cbe888773e08bef79b33ca7376a0c1bf2464b6e8404c3641cd709a57169d842851dcea51ffec1a0db3ee87bd4b16f99e4d70dd2d5b512b8d09eeb01bc7e5e370097e8e364789f5a5548566c93c3af261049b45adc9ba6a6d04a7e2d02776b6760a29049e501e676ee452da91d27c9e715b852ea682771230235d0aea9756e454cb61d18deef453fcb96b2cd16ef3c974789efd37d04e14a785c74e519079062d4e63269b168c7cdc6d8d5f334b52beef46326d0364210c74bc08aa00fdf5b8804d3bf12c83fe0a0c2e94533994885a46d1f92c95538e1c28122a95f5666ecade4ca51a01157db6c596c1b5513851e2599ce850f25632b0afe0448dd3cb8584f87ce63530eb17441953e427eb17922a86c8ddf74333260e8082994edf2bf057c444df95ab6663b9a180887afb5431cb4170b91c25bdb3694c91a716a69d0047e566cac43b778a8a4b208b93f7529215bcfe74ce95b5d79c2d0497988475c1a8268fb9e6cbf57307e2778abf61005098a01b8872622ebb08b0d564d22f23b5084993e7c27f3ca8116b691df2ab75da83f8c91692c25ab3b99f63e354ac83d6571d5493d5d2c93167c0bc723c490d5414159e1f49d6f831b260d6fdd763121f7801f84732446b52df2f69176bc59c6c4045e6c516cea3dccfbbba01832a0980c9d70761deb10d78479d1e31b2dc97fcf8f2b263be410857359e3e1880a20bc6025890cd5aa74ef2b11ebdb7a568e808ddb891261cfa527d3485491b6b45cbec620f05d7e1b49c1a7844810bd3114886e35271dd5251a5b8195bfe23bba9e9a1f254112509b6e370b35a668e116fbfb2506f4ab35654fafb4c5095e5dde2d06c1685bcf647eadb817b65f3804c32e5c167a36d8dd9ea7d050bd4606226d6788dafe6aef8850d89114cfc99e727fbcc289ea937da1095243b22ca31d2fa2b0fe8f5fc2bbd257a87d426d949486e210d64aafed8278002efe72d1dcee5213af30f88fa905ef9339ac53f5733558c478612a0be70ed9007c1f764ee43e4f9a7c8e4bbe3663dfed521ccf202458e1dde83d357976fe947a2a4466b7c35990cba14ca05196a6f476a53776b2c0a02279751609816672664fcecd0e58159cba4536a14d2ef30078b1cc9514d5c423ce6d0c6094e8231e41c18199ea3ea9775e8e4c9714ae5daefae24ba69339ec4b449249d9f9c76f4a54f474d784e571a554b76624b11777ac20fad72e43dd3e836dbb50ec78e82bf6c9812cf7ef11c4b1368a2ebb0ad94838d5884a158f55bb7f0f27ce2153505fca19db6fb4e7c23f3961b38a31d5c8e82d076b49f851ff47f86457fdb484c5a1abeebc97a74e1016696ecc55bacc5182351383fcf168085967c4ce7a8f8c5d2232bc63d8467f7ab9525cc5926963dc25ac075534714d221f7be4279100bfc38c7ac9c2ba9283da2e95463ccabe6f0d7c5be56c81abc7e19a16559dc1e9e95e7fbd352e476c532540f15157c3c78a49ba25d822ffbe1e2ab2bf251f19e84e790ececec9141971d84d764a12e2e3fc923ff52a0964e3a02d03b2253894ad29407a7189ba8d5260ef99e6525ccf822d95523c942a065b80cac7b1c0e425794272404282dea3990935b6212f7266dfb702cf3622587d4f7e1ff95b472d11a06e2e20f1a79fd614471ea034db933a60d00bc6a87ca4cf01fe7e79f04c94eb39ca5dab59a5d2a8e8a65907f590d0c8794d95c2b887012991a76e719217cff268fce100b300e697a9fa0e98d573e184241bb5187a20f17e0e126fcd953696cb4798d6fdc0271db7cedd5b02bdf2832b1df641608bf2d74ef1333d9e145711f0eca09266a0d64c7cad7eebac2f1aa8b2f4bd4777c5a52ac4bac7477c90ea9e065a9984b9cdb28cd7713510fe8130f0bb182f7ce6d90325a531f29d43cb1c2b29bd441aa1f641442c53e9f08b94733ffa577886c203a03058d128a76044d5ffa25077a875a4a9a2869503dd72599a3defb6bf557b957040c558fb115f16ab053f093e13461179cb799aad72f04e55e5cbd7c340885a4210dd7dfb65ee1604f54f72f568beb4a0f5e94b36d16ccb98056dd5012365cc6cafb4bb9b3ab092d51804bd20be1704186e96243aa70c3c44ac43f90e5a289b7692be2a24c9d59ed0b0ef96b0f1f111c20e4098cc647d86678038ea7f751ec3cd396e18eca17d272370a3ad8786fc9dd24462ba19940843d4359d703ad87427b613586b89a63ba547ea6ed6710506b59bb5b9ef572fb008384bf43d092fdfd57eeb3848e7f70862b9c0f323cec84a056c0b0487619267264fa97be5ef08c5da942ec8ec0ef8e9c4147e03011bf68ec24d5c7a29fb87ac90b72447e9d38d4374923794f62ae356d6c7d9268989b6e9fad20d0df8ac8414ae08fb021e4fa4f09f3ad35a897843c36644871ee1ea18b3accf807d7fedcc9cacedc9d636f4a018cd04e55521fde003ffe67262e89c3397e015f4ec866fcd7110a6b1c5fcb6fa9a220c148dd8840aae1f87b3ad476300d19abca4e9cae9f8430dc7f389309734635834e6b4cdc1a514a76405b644022bcfa78a9393b54694b2f68f3907c11e34456728a725d9b7149b6d87be1e48d18d1156f0e7d2cad362c46460d6b95e7f7e410d58ae71ae06448381154f2ca5fa4d2c13cdae5a7460bcd7ffbb9f07f9a95fa9303fac99b7c58f506abb0c87358e35a0b5ac021aadd1e2a2cd45c6d84f9ad1194fc55ba48975dc45fdbb89a202d220ad1835edaad3751586de91f386aa605a6328cef0d7fcc2e25d7a9480a004f2162a544b8af5d721e392436efd58b1505129cf1e36e49785e4bbdd6e110e6604e554ea73cc0dec910a1b7ab485d9ddec5eb80a8e2f2b7a85aa58094fd573391e3668a9ad9a1e444956d32b1ec703dea4890c1e96d3f47947cc9cb4bdbb3daccefb2c7b7ffced6d08e9f2475d7a33f37ba23abb4bc732329363b9c9bc8cea4ab008a1fee3cf2cb39591674f8f0eda1726e07ad72069adbddec8fb90a23a1407f614966f600effef3314eb3ad346cf4a0805e9bfe9c4c7a4e220ba797b06d5be585687950a5bad5876d122f5e20bf28087cafc336c88bfd56f1249fca9a5968144b88959c2fc682b2fc8797501ff91488e6f3e1010c6fad75d57db8d3ac68148561d643b1b1dbc034c453787641c7d094924165bd0983af268829763b985487f24fb2e112ca00de3a057f3b2f30657707a933cae18f589f8f205e7f557a5016bdffb1558d97509e83fb270fa1912b71dbbd646e1fa5091227297260d7978bb6f6d89e83408a12dc3b4af2c5e44e04d93ead85756e44ce4a211b9142cf8b824bfcc269d91ba10f1a1819eafd69bf698202c98ae8a83f33cff506a16e43550f3eeb391956b1db9521c4f3fa698f5fdee9f158e94b0c8d2e7bba371a8f24d008bc8c8c76be7e0dfc6bdcc86cf2b17c2b898fb771c587b29ebe2463aa7dbf0c0cfd53e1c14c915b0e986a44579ea789b249a17cfb44d8c3d68b5a11a0bb39eb6acd07fec4085df5af042344454fe27bd99e9012cd498736f8fafb2233f5ac5616ab7ce8a42af85f1be02e4ff44c97f18246cc24f168a948d32156ab00c9b95531fdb1effb3a65bfc13f295c5373b15d6c2a92da51cbdefde8254ca65b85f9be13cb7fc1c495b4b83e84fa37ac6048f9d13f51ff1950078c208cdd60a3a52ffe746c7f9dd4ecf0a53638c22cb19126d26cb5764f13ea1e7e293d4b4bb70f64a2886df15aa27ea1f45892951227a4e10919f2210807342ae2cdc78aee56cf6c31a97d5d5fce5cce1e3deee30821b5eb52396e31d4e79453a139928a26fc8afa91a4734032543dca9cee9166aa0e796371ff6a177bbd5ebc0cea6a4834db9ba9a715fa537c3469aa725cda1d18c181e4e79d923784b7313be9a11b5d7e4968a304de2f0cb6acc91dbcc335a31136a6c3c3acc042ee81e8c960b34b4064a0b9d685cc8b6312dab72d63c0c974b02331b6f3ef2fec25c0b2e4ac8240757a08a989ed3a94ed7e05d884660d934ad747f9cdef9d5e2df65f261d9682b5dc5735d36041131f5b458a4a34ebcf6f713d9e6295e67aeb66be56183cc8e2b1bec391e53d91f8c901c990a621f241426225003df7fc21a6023533451d984253a0af5d63c57bbf39bbae5ac688660fa2a37ae05981c67c37a569963d7a0816b2dc140110febcfc2eac148e8cc36ca8fd5eaec1c90f36a26fa1a38f6a205e9769039f598f762f5996cab8e63f17fa5fa1a0084e1f2b1ee232a37ef93a35a935852f1c80fb10195622972909cf750e233c046fddf1b20a0c7e6b6a9344fe89166902458b7c67689510b6e7536abca07f7bc26b0c532a18fc0ec67fdb3d0d5368998fd229dd3610a3d88f46b128ad310bfa7308d57b50824c44f9efb6947d1b4e8bc98866584c57d5ff4f3c340cd9dfb8e2a80780b0d1ec7b9aeefda8c70decd3c19c6967f8ad3fe5a928e3a278ff7ed6d703de0d866f432d22e6badffe70cace541d3edcfdb0eb3d842f69f47104f20eeb59c7e56e3f2838dd681c2606786541914812c72820aa2857835975067105432cdc52453019c3676b2192e51a273950f071618dd7ee9fe223e8ed92f91f2ec3679b683c437758167b5d51806f6fe88710eedcf57391a841a7078a2f841900ddcb509c90f2bd7ecc94f3dca6103caf8dcbb92b694dfb84a400ffb1220e0fb36e204845413eaf304ea2b2ab98a347715f868b7897f2f4e0a1e5eadbbb65a7e836d0460bf215010b9ed36de44117db742da0a849c712acab6a655102cb94b38f34ec11859ece0b51cc2320d5eeccd60937e801cf0d0460bdb7be37d3086766c632139926def476a0b7f2d937766f6e65a6f67b4483570e0f5805f301c22b0173c28cdec038304bb49a5f742da993d8fefd94c101f188c8b666e39164b93c90ed55899b6f404a76ceafb75647ba86d461a89e9f06d6e354035ca58c3407deb7ccdb9e63b54366be913d2afd9bd4b09b142f3c9077a024ed25feb4f4527e7991737ff96e450906792285174926a0c2185360678234dd9273e49938ea833a62b1445263c80a732ef3fbfb3f242f6db236822ddbf9fb2b92ed5636e2902835a5e38882b9e1165e15f83244c29257de475961ad003d6914e11e25a255c99500137bc8fb5d19772769f219ab08233badcdeafd4149626bd113a7c4d36c77016f0702c32f3b7bb9ba77a1c74da7005f0d7fb3979c330c918023fa8d4925dcc982df21fad1100b79b97e2a628bf41768e62c3480dcaada0fd2ba2f73c1fd6c3c06fb5f22ec71d2ae1900b9e011e41ce74e794df9f6845080905faa9202df422b68bfdaf460a86b8261d2df6db6e81201631fb350dcc2ff82b52fd5136b5d70b570c35dce18557b828d985a6f3416b2b8b89aa1ca1b7aba7a6aad488db18c5bd67768ceb861095d5878aa00cc8bb282976b9374f3eb848706227afa4a4e927cb6b29ba668241d59c607cf9e6534f8e18a955bc9ccdd4acc9f355b7319718dc5179eb8f3cd9f98ec454eb43477baf2db029c5e2ea1c1cfdf3d63e49e9e5e59862800e15128c206c79cc4d14f8747c1136df62dc7abff67ae442019c920ea03626834bc1cdd66b14a91f927defdf0591120b4e1bd1bcf096c75d72f3836d7b0cf1cbe6ca63cfbcbf79ba300584d9b34d6aa6a7652b2c3ca77e9dfb0ae13817d5ef3b61e1f5de913d3aa8c10a481c6842f20547eeb3796ca163b9ae7b40648dc8e32619cb2830b7c8fa534d9199301a9da98bf29c04ffd6c0c2fa8093fea7fd01cdf5f846178db1959509dbe825b50b840ef82cc070828d50c1b05cddf32359b14674285a1e7ead0b56762c8f9f6cf22c4eafc45306dd4bb6d37ce0f2ffee8b00fb048cbceed408cc0a50a9d9e789e210e110439824371cc8558139796d06ee8dbd783c38fa63799bc1b6c99a744c89b46d256f4d3866189c2145dbf94e2bdcb94a64aa5b60dbe914171a63c4228fc5ce119c8462dffacbd81d89d1b4fc71f9bf7f9d23382e507ea80d5de31110ec1549fe5229ca99cc5749f17080867b73212c4f0c4725609d075be9666f6081a335718abeea7c8dd51ece1a73e8ab05d72be0f354e7d4b366fdbeac253aacf0fa4be6d82dc9b56cbe987af5fce6c5e64bf152b9cdd4c70ea3d1dc272da68faf0f65e2d888ce77d11ff40459edfe92082c2a034c3ecb1480f7f283db7a240428483b0c4cec24204d01a16d0916a1c0a4ad365a7d6a2830e141d8a3f490533e580234b79cdfcff8392bc1b6a3c1519458e2709c90bd0a66cb2a61c3b7c2a0a80593e36bee8e5c003b23ff46b007013badd964923c4afb95bce4e23fe1619e3d3458688da2f57d6ae1cccfc8353078bd7414a40d390b7187b08de7c5dca7eb716f725b6dfcea2b5571334ec001906aa92a32765140aa109e3a0a3c54d92f97d1ce911c82965504a2f415d3b21d068402d1d2800ceb56322efa3278351dddad35c7f22967194216a7e5af64d3ee63c303ff3651b0bc0b1b570bf133bb4e95af4562c20d13b58d4468cf3cdd3ab4996a1139e3cdb91be4bd4d4ba8724fa95be8f123805129fa66e2c63b5042a1867b7dea9c55a800c58eb35db2023db2c93d8616b9be9999117228d48befe985417fe12feebf119bb9ce1b46ba607515fbfa0fd1f2e34377beb6e5181812e72066113b387f0240b192118b3777be3fa4469989a9decf4147d6f6549d1fd1f278dd1f18b5142589bb552ae22d6cdbda7fc1bfd1f60bc400553cccc20a6f43705af1340eb15de2fd43d33081be2f8ede1c7d7423f7f0819aeac38a335c1f6783a6c7a8eb3421a08d905965bcca4e9067b841c7ecdd2693391234f8fb29f9b96186ee9340dfa32b5f47d8c03cff9afc78ed11bfa96f9f27393727fc489b81902d8b2f2f653665fd9020216cd89e3153715459386a9600bd1ad14b9cc6fc3d55cdec69ead1d64cf737a21e4927c3e8e8e1c4ef7b12f384a2648f2bf4c3eaa88f954eca28356752234635314395e843d834c0741c406f9ca9e0d3e41d5774e6cdce233022e3539baa17049a74718f8361610663d15dacee968c09ca82a8b844604e1efa848fb408e86914b8480b3f477025cd1cae35dc7c7a8f6c82c3012975aed583c9b7cc994cad08ffa4fd3c8c7f0a916a2844567a8702c91c70e6d3e87c0bfffee4fd853947a95f2e2eac07f6f6ef25f5cdc0e6a6af0a72bf3ab3cf7398e6e1dbe5eb2a740449467d9b7bdf68216c8faacd67c6a6b4407835a2faba26590f52fedb86c5836a95628cf94830b505a37d9493e438c4d5f54a3fae96d9665a9fe87eb0051f5557d5cfbc6e3ebbcb83ab2ef1b0c1a52bf099467e1f0d839d1f14383949fa1fcaf716da480c2e6f3bf7a20f35d76776ad952183ea50df24b07fda4ef32a13219d58a798ced11241b6bca5da34916de14dd03255605174e992cc3871b1fa531f52d3093f6363ddf20baa02ebd363ca42b06e67b0392ad673345ac4941d13402b20289ea6ec3b31356db2a3ead9f50bf3a6e8d68ee0d85d0c4cdb83f6b929b36c1bc60eb0215fcf08f64d4e9dd162f3ba1cdc39d0a733c7cb5674ccea372b3dff064c31a2a1be9a3754a6fb7903bdf3da33ed6c514316e09718d9d2195ed4092db60eb33086e505bb27f881682db7276af0ad16fb287d624813188793aff880b6d42e6f0773fd5e76f936d8c47bed697e053e4b94dfbb893334a6a7999be400c139bfc040992025492c49e9f12a6365296bac4e3f5f0190838ac75e175632c2698c6b344c55eec6198d826b6bb5e5661655f87f6d6f7052490648133ebc16ee83d25d102e91318ad6d8d6fc111f367368f4412818071cde8894728c020fba710ccd4d2f61df022288730aac11f4aac76985623576f5b8d67368269a39d28e82ed1675e52a000e2747b30ea90893e850c7ff45e19d7fcc14471bafefe5f6e70065505d67989d242ee95360f6037ee855ccbd23d09c671e9388620eccd0be6d0949510805705942da321597f349deb253d5d9cd8f20c4abd389b03566adf6f7ad8ed0536d02bff089ee47867ef431da925d5693a5f1b17ed4d287c99a2a557be6afd4cf94fedbd2c5622d4fb2290d50651288509634ff4e5f95c413f4db04fe4514cd0b2b3e6858cd6b0c48233bfec5a858293fa42582a28817292dbf1907ccd4500b173996711a4d57778218b3d361dd0279fe31a0f010bbf63e0cf0d0dec68e40e5b29bcabd7fd93132c79038749fcd363dad2901b368792d909d388569a6e54d6401baf0d15042b0561b2417adc00a27cf5d38f2ff686a445dddf11757f48914671e92b9a02e75432a2b24401387f049437633fa20df17049ff7d592a0f9e91659110a9e43f32b66de0dbb37f6071ae56c664ce7bc41852400cead90d8ed2e9696c102e1a9b91cfb7bfa7193cd58a6b8bb870fa51070f1ceb3ac3f1df6b47160c83b2cfed4c741f040eb0348e26692341eec06b8a37009b0989b1428ee495488345f8eb15eaa1d74f4993c018a5f057589407e47b86f40ff47c3b107e869fc2fdeb39da95a974fee7ba3fc84e4e23a9f4a4f3958c896bfe746ff68407d40ae7a774ee7a7b2b0122fb56facc1c30371e0ae7e5389d1b0ae74177bfffe0a150f758549c68516097fdbc3c3746d5229cf5315124ab834598c17b7cde698b7738fe916071ba66f26fcb492f71b072a1fba0912700abcdbff4d93cc718177e9a673459c549be762d3a90f7cb3328aaa57fc8fd22f3e827c01c8333acad66ad5a99927680a118db39b4fa27f5ecaed28db110ccc859f8fa3041c12fe5515e22ad115ebc5737d64512f8017f9ee96b55e90f99446c1079ce67ddfb311237131804d66c0dcf3f932a6a0c4d3afbf4c81defe864a3315416c77e5503e3cd5e7c1c5842ef04b0948c42d83139a06ae4a85dbcae04755e9e0d06733c09d03f8f8c881db82801e27f98a35794e4ca4210c516cdd827a6820da12a981cbd6a15f4cf7d58f222d7f09f4ba60445c65da22f7da663b3768f160c356201791abad11f546a97ce07682763a44c9b36384875d15ea87694af6c7e0a615dc718fab1017c38f90bcc88004b3d560452a976c22be26f475286daf9a43e1e5968f491368f3b733539aaa264ed5be5d04d736882558c206acb46abcf87db0e1a0cf5e9e627858f3a4c7cef2da32277c7844069a231a0f8c03a2369157f25984be14376d0733ecfd4e51e562c6baac9780d015f4b06bcdcb7ed05163e9c038a2138578e194fdd58249acaf96a4d0a9fb30e9431dcce4ce698ec5ffae589c7a3c7dfef8d8ade2331dd325cc8908b3d1a707743f16be0ae09978e2a89ea61f7b82aea2f7fdfddc9c5434fc2861fb1466fc5efd09c77a8c1ed6705bc942747c9837141fb67fd1738506460d8288885e2e2a15c4c5ae6bf076daa848e53af4e940f0b47c59bda5ecafe125123c372aadb46cdf7daeca9160e7232a4134340d9459ae91cb7f6cbf8bd8a22f457af938e34e1f91517c0c6625b199d91f6bb5bb22aac8346e1793ce1db75d4c48e1281ed81f43dab9de83fc3547966e5ef30874456a545a63ac8dd5bfbe5f0769ee79824c6a39485d7f5bade85b7cb88346195e0c39ff6a5099fe6cf22391c3b7e4c0e9226be8de22a17924225fa725d2ae4605f321b88196433b74300c89ed14bfd79079e7297c666ef1d39960583beff3d7f3f73a6f09ef54ce9b6f3b6c887bc6379833b66c0b491fe282c50aca239aecbabd88a86216c9f95762c38bc478133a43839999155e0407efb0ec135ba8d1e5f6c4472ac33cbdda00a25ff1c1919c46dc93652679802a46d9ef57add23dd5f6ebc407481c1b9e865a884ae470189d6d60a8de655de264ce7fb49d8e41d71477fa1c503891ea6eeccac98c79df528c56840911abdc12dbeb4d2a1dbdd83ebfda89c2e3dce3a5882c17ff61d27cc1aca1f4144b341578dc22a4de2d82ce23d0c0d9a3f265ca3793935613fbd79356d3cda0f7ed615e00229d8e11266eb8c21f94c6b1ef5dbdce98f475b75dc0dac6675142d495754ccb1e3cea5212475fe7cd8bd411f5c3372dab2d04e385308e0f3804856e3ff3b54cb277683f520b8494cbbfa7f51d4147e189f8d837dcbfdb7c57bc587f5ed1a718073edc5744b2d5439a1590c92e6cf8220f1d04f71281acfa2c8800f36829ab17772319da2f960d8a4cb1ed1302f243e754a35bf8b50c7ada7934208bfbafc5247ef22f9464a342abd03e8894c5546488fb60e62056e9d63bf51ab13e9f025848a15249102cfe2d5e0cedf50b1938c784fbf84c4eaeb6ec109750b02ca2fbec05262a65222068de24a172e2a54806944d87cc129ad7cb147bcfc2f99b9ebd9e51d76b22bce26a668f548d336a2c19a5808732a1b0066c2ef0780875b0d7e03f182bc1afb3780cdbf1b45e693db87bc2dfc423dfc2aca35c61340f431b846bf9f51a21f2d9c9242a7f3628464d47dedfbb48a2a38012c06383da4af042a0c4e09303f1a5d7ae74a2194340f39b4c09d34689d88c0a64f05cb746a13ee0d2537883beb6413f87a13c016852822082b62e3d7a8c56b1b5485ee5ba3187fdebb2027ecd46f9154e57b2de530ad27fd15823a13c6f70181499a8a12a52389b36ea5c0233502bed573f12db17c090e5bdfea8331d1efa298bbb9fc6b9c9279f69f8ee36c3bd72e77a7d23b97ba42cde1e3ddd23d0fa76a591bf87e5f3e4e64c8588fd2d16f24c1edb7daa089ce65d75baea58beb73a66353b718287216634538d8299ef3bbeeda43d5f6bf624fe7ac6af64b8a19dcc08fb847b6339f75f4f1cc46ea56bb9efa2d295e0c2b4f39888acc02ef123be3fb20ccd27c4ec3eccd7f896b616b219659015dc2e8a290e8d3502b0fd4977d286f9755231149c903de58ccd326d54012b93d8a24efb757e5babaa55ce4eaa461367471d75b3fb071057f6d903457ac06e99f307d4f446a0076700c2f07e8b87e3855aa06c85171676321798c3835e99d9517139681eb890ff66251125a18a223adcbfbac410b88e95fe4dbbd3a2411feaea551b039314a2fd6e58873df83c609631d28d914baee21f99b479fb875d0170735dfa479940f4abe804385210db96043417e1f3c372bddd612d3a618dfdb1e477cfea3ca28f352f2935402c2adeaf9ce5d288f462b18924c5306bb8a1b6eee3f20ddac050e3dc358ce99439c7b48176ab18b58719421ddd893b79708ab2e8e3d6a118c28ae638b3b742d3c314b0c5a27c7a26ce0a5b192f24b1fa898b397ff6d84aee98a4af1763f24c766a462c3f3cfc0d8b337ae38a0e93361de8133334f6a49536f2f64aaeb4ea3f0d6c95b2eec5d228c76fd1129b94ceb1a47e8f24a5e87d72777a471b6163c9e2bb6d809256da53e56abd252d69754226b66b86db5dd8fc75dc1867675e799d8f9dc2a6032ced81f15323e31bf068469f167cacbc88c5195b31c694563e3ad23d74b985b968354b8d3440431d53b731059aae9cf0ee475bd5a9548bed9bf41ff7c3a8bd4d74fe84192c67080950f927aaf4b01706163002e9fbb92bd13e26d44bd9004720efcd98a7b2f258f067658347e3b1aeb3ab99ec716707be3a4d8ce937bf368642a9b4686524da3021b81067e69f032ea7a658e33023cf15064e92c273e99b03f34d5266464bc4f3cafb4ac394b4eb4afb4b87a50c560ab42a96d2fa7536b20d743f5683afe628c4f96c634e3878eb6b3abe34c82ee2cc5c83289e3a82dcb9e117734193740649974aca0cb3c0fafec0fcf12e3700cc9b0e4ec025bfa2e5b97d037325d29aca05118487fa6a927857f51dac659afe4b26e8c0d2caac3012a6a7886a18b8a1fbefc6f1f88cea7f256c6b6c9869e3d5637fbf13e4191fd3ee7d4550532bf678d8eea3237ba94bf02e97daa6f9a799120d5fb06cae63a73f2d59e6a46efbacbe9169178220711a2a7cec06d7a191f9457f92c83d6dcfb05908bf709d551d9cb24c69e997ae1d2b4b30f9e0ac4371faed280f9e72f37c1d5c14f2d978c72911e2f251fbe8cd2f6530bf4897fc03f09e22eaf0341946d00fa3280221ac730a54b38d4e196f3df54d97b07d5388597b47e233cc50807665ef4f66fe5fc24ff618a710d0d8b1a934633053832d5c994bd0a884d05a08c6e7b6a983a4efe695ce76b0e2961c37e2fa5965c6fb22b9c3c5c52ac90dcf831d563d34889d85342e6acc40fd194ec799d221f33965e01ef1ad3367c6c73e0287578f702c4b6f3da8ba8eab00feb29abcb6754d99958e15c8d23f0cd596b0f6f42ca790087a1c83647f3f18aded8666aca260fd32038dc86a0884e43617927fbafab7ba90036f6a613b68745fea3734d9199f42642f8e638f6ef37ece899105bcc92007a138d679ed89b13bf9f83158fb98bda7bf59262786e7960f28e089a6b8bbacf44d5c8657b17ecf57363249f4b420e7147371668b9a82f2ec34ebffa8ddb54da560b5f6f666c67ce94fd220236bbcf1a6ca3c6995bae7dc8b9abd1640cda5584c62278995b6acbdd30093821f4411601aa0dfa21630f5c3e33b3d382a6c9eb3eb1668d8ee665f2ee175b874bb7f9597988f5625599099328980baa252a81ca0923e121e9fbde6b718fe4b3e1919af480b78a266e21ded1856d8f3c4b883e80912fde199d5322c0dbcb334fa4241d53a4375f8bd70b2023e50cf123fcc45f1a567b96110f3c513505794ce5a374e3bfffacfcc70c08a965dcf7e0170207f4b7331844d4250888acd1259f63933b8423c8cf255af82cc8c1e5d736f559766d2f8cd0f59d8c53f8271c0c8d3e1218812664003326f1b0edec4a21fdeafb70d474aba25423e18029edb4e3e51f5e4f9d004d1ac0fcb077ec7c548e1e3e2a3481a6d553f45c7c548a61dbb05128fdf4c87c8848854433e706cfcb1da04aa9ddb7ec85527b95032a90b354d519e154fcd3e251f369ab00c1b00a2ade925a47c37aa3e498fe20df0859b78e566c882fc4093a97c58420f12786c66fa71523a6bee7a2930c662471ada7f15bad2a97e1bb148140f7f4d1656dc743f6649c46a55955488f2bfbcf9ec7eedf1ccfe89830b442924736b423ce611cfec6d5c80d7bea0187e43f6fa00067c6253af3606913781a9ef65a24af2dfb61b2487abc98231ee41d03b3d599f98ccb4a3b60127b25974a0f3e8faed9b76102b8788465a072204fdd6c5571860a7e0e862dee48f847a7245f4e95e4e765484f298987dc77b76df73db05f59ccd4a59fb060c7acd15c3c626005d71241cf64b96fcfc249f050d03978931d66bee454bff120a7bc9de9b6caf1cb08f278a2096559cc5756cb0d06a8c20faca247366958f7c4152d4e1ad45e980e77a3f597a38f348878c1c215b0f936374bf4bd9129ce9b61bb7116797a3932d2f865b67b5c7d9e0b08484e00f401c229217129f568d4f8182c0c3ddc2f2ab5b128b46dca1b1a16988f33c84e7a15833a7d8e4d000d9af2c52cb1c09948b783aae0580342cf78310e574d95b97424cbfbf0b4d66e9a1f485df644dda4ab1dc9bc51ff98029923483e5b3b8939c20ff6c075e15dde57de1c4d4efd47ef2b4c9b2c0fce8646b0bf949cba95eacaf6196f2d77a30e693bafbb3005b1fd3f40a579328334c9c439ee99528f8e70915838f2eea55857dc7925811c21e17828c3eb318adf1aa980c818fcff05ec35b86d5348968924f8da730ed1d06b45d6af74cbe0ba77a0a256897baf1515ee8f700c846ffe102fd60e4dccb26c29ddcfd262b379c878f16684472966eb1e337db9eba172715bf6e4a1249a8cd7bb40798c28cbc0e6dfbf1a9ff15899305d3e8537faa2bbdccfaf6f8ea8c6a60f25560122b732bf4430378dd2033b1868055075f0b7f2b273536f71254e4698f633ffe08e46a6167e7ecac7a49b292c535ecc7f01fb9249ac6a7fc10d6aa4a71adea4923b90d43cfe9331b9a467e75565348f31abf9e496b4f9f3a8b88fd78dbe227cdf0f0a4bb27068287ace80d602e504cf1af176bba20b18876d8f7530fa9cd584e2b5654c90c7ccfb94d9c4ec8226f5d6c9fcb43602f8eec9e1f49a4627aeae2258bbbfaad94b87dbd351b5b8ce3f52e615daff25c4a1c3f7d917e40beaa0af99975064945ec3b28fb5d5a2890744f4d78701482246f6b234013d214c779a1385037d33990c6c5b7232706ec8b5cff07807546ad5b78fc26f7732494cdda63158a0d9f5d76562b89a701b944f495ad15686331d73e53aa3c3713b2a18e66a3d150199ab47b33bbd2cada4c4749f059950a1ffbfec8e7d65cf111091d642fcc0161656aeb257a56a16624e32e90fb7ac176d4f86595608ac0b08b2303ae8a8c169a8c3c42c3ad92a9bad3c1ed144bdb4f5a894fba461b678856e84ab82da6518182d5a58174e5eae724adc1a6b51875b83eea62c22a6b8bdb53391b7138b08c847062b8b67f1b6b463e8ae52bcb9acf805bf55a0e5e477657aea6e4b228e09f9cb5e47521e1e0d304fc2d6d6d398d0304e472150468fb3da9c96bf7bc7522dfc1c1737c633214866880529981d313df5fbb00b0c423cebcdc2dffb795d2a3e61ca307594b1b05a5cf373251d1f622a62f8bc88d4408c6d3fc83356627cefbecf1f6d932c8e28b203b215546e322d5d904bd9f6d4d5819e4518f4c65846cc20706ec0e425a458f1384735a791c2f2e7ae9d99fc384782f28d4cbae4988201c946476b224dddcb5a562b057307ef02079033a54f4d8d89f931e82d7f26eb4fe570eac609beea73b3dd17de04de23e99fb318cbb1f71f7c7a4b1a8aae7dba4546a312646821ee034d2bb35649fe3efd8adc5402801a496ce3fe373ac1e206bbd2ad8dc39012a384bcefa4868caa97e9c2dacab06c06b14c890146fbd3b5da63627a6af1ae83be9b7e2f8d0093d34f250455477ff9113e8c34d481b6f787365ea7019cb80b31b0ab93d1b9a50a57bb8c76e553798710b7345e3a672d6737f4a308d13656bcc5f3c2c6d71091ff944114c830728850fca5a70039192ea2ff1ea481d1eacbbbf0640dbb7663e41e9ebde0e7743ab84f184ff83dabfb2b8a6393c877d90b5936ae714695791a2c0886f2fff337fff12df2a844fc90b56409d254b829d185173a1653c07f5f5c322b90aa7c285f4772515c0c647db8394af8c79819544b2f7d53c8a5d8a7922971eabced88b21751e2bad8e7638d6ab6a767f7f3ec994b8f418784ad8bbb6a4bc7c9a3ef1c795c0ac5a910d58f4ae64f687a476aef7517afac88ef52e846b4e6e65a1a90dbb37cecb677dee4c1a13c9265f1feba5562a8cfa27da67d5eed0801e3d22309c59448406a49f5099902401752443ea123f918965468abe9945482a591d91ba06576af43cd1867e8a484f0c001b90e09455d10bd309749187baa823e45130d23b7c096dedb3fc47eb000b20c5222536265308907b96add7fdb7512f266e72de8f3bae351c097de79b1faaa95d4e4ed6550af49812955fe2c22a9f252c8d3f306e7156691a47b496508dfecab4649916f609b4e3cd6aacda8cb0ba2b7736bcaa32d18720d91815686703981bdd1b32a2cc0229367554095e170a4c5742818aef40710f2bed4e563af5d82e5167c82ada75f4c79ba4cbe4121269735d907f6cc462bc18a6f62177c312f095edbda00646acba969d744dec7ae947fa94821ba3aaabf82fa4ecff020e0a0a222bcf1d91c52ed9d3421eacd14dc0f54cd07652455cb2c756da50d3fa5f9ad5402673270d3196dde522fd941e67a11634c7a40c59d001676def1f409486f9f93f2183c4b5ce610c1d8f847a9df8cb26e556420d75cb5786b87f6955fe6b355fa4a1cda01ae1f406d419644e8ab2e85b4f42dca1f9e4b99aa06f588ac12b6e890299d94944c6e691a6834a03c93f388ae8f10d3de1404767d960dc0b65ce2379f850e161bf0aec94167b48a4939b8a810bf02ae0ec22c7f2b1e08103049bd20f47b372743c3106a0398b7bb488d7e96ca711f37084eedb5d66061f2aeb89cedcc1e9da9e89dc3214bdfc3531af802f51eaec0aa6d173d7e19ed957bd18728a0825bcf4db3cdb302295eff12c89649e6aecee0a5546c06cdecf087776957022e7b2912839a845c8a9755cb7f9074c0568f5d17aca2cb2df7c36b6ddcafc66930cb01be19b1a767083ffb4d0c5c0e968cb15c9744f054d16d9cc94d145a43fa9dcdca67c81e56a697ca12f620deb152881e02d9462a54dc1a3457a5261abf967bfe24cf63fe5ebd94c11e77dac586f73718e052716abb89b0f99d6b4fa08f571ba9f315ede40750edbf848d7b753ef018676e0ef87b66e98dc2d0698c8ad8aecf10bac098e97468b1244dfd7976735aaa664b888abea9bd8f427ef96a00399c2a83f66c123d01ec6d5a9dc166baca928bd4550d76e616c51a0527c1664feb03e3e72d290eaf3aea8e81b9df367c996fa0664cc7a2febfbf0c2cd3f2acb9d07e4b28168864bc13f1c385a63f73c0f6e008cd02cc9347be2f03fd37a6e201e8b401f6780230b57d6d5f5e9e2303ac2d24c991347794a48e19727c2271f3940b4eb8ef4d23b2df7f60ec57b480a5d07619c459f8e948c17208994d9d6eeba5eb66083a5c1c8c521a7a0cec0ac31193c5ddc3315ce8fb2ee8ee43d2b4b7a254ceeea45b2563aae7de2a1b1f48fd45db60d3e8c0f92c550c3bc283f547caba8669efeb4ed749aef55fb934c93dfc4a0dbd7439751cfcb9161f3d88b5b6d1f31710db8a897d16380a476c80444911a286543438a7efa325d57f3f234b238c0659d44ca2d7ea385e0cba0b70e1d81952eb404947171e19ad25211c480d55b28a2ace0ca8621cd421b5b3b6e4567e90e9088f64408c7355a3bae88da0bab9c2c846940e272aee49fb6ee51fa7621c6417fc50eae518379c5015b799f80fdd5909aaf8e65bbffd3b1d2f032b72ede8a2aeea15f55e254963848f84e0941f1b2e769dc0723b702864ddef2abf0fa09341452424ed0c22763460f4bea7089adb9703742a0bf2cbdcacd41c2a6ec64166cd70b235a9d745b48db169c2f98739126ff7d329d1e6159afb812a9de493f9f5a5ef7e1b055ae29c94c6c76028e8f3983843d0715d3c5f959cbc2e61c373563b8e2f99ab7105381868db54502c1c09d1d493dede6d5fb08f4c4af8991e5401c3a5d76b168ae8cf5af20adf79668a4f3094933a3fc1cb8ea247af4f27ad272b643879aa0c409302078e8e61c1b32256875f06de6136176597755e85c314805faa77625df1455ed062f09c130daab788f7ead9c148f87bffd79f246838b1bc4ba66948e5706c232b41bd085095873eee9287403d4e3c16a4c166d77b6e27a0f757686014e3df65e6ce2f636bc8637d0ec58bec87527954f2386ee03ee52c39a2153fb65529d3a0f318a508ad3987cafa51e03707a75ab5a255023b148f1dc85f92d047cd35c72c7d1f927bd78b046216560017212e53ca21dd6e5e86550d803f82305a0279e6c27a0236be19bf7fea5bf0fa3c87b0904b9dd4ca1b0fe6d618ec2f26e5d38c5ea6e3a20eecaa4609616a393fb097f2d9aafb23eec6747c7db5b21b3189262d6e1e6e58faf5a3bff26466afc847992930ac3b64fcc9457b9bef8a16d5f4ca03cf9209fd14573d63c0fd9a8963d047d468983dfe3c30f493e00582e45490af7197537a7ec718f8a3e973f5905ad9ade13d0668107a662ada6c5e703aeaa39ea61336bf14c7300d764d2610f2dbb8d9625da605f3561f6552ef1d6b3258ccc18ff74a0e332e5a9b6156c77b6cc46022b61b35e1723eeb748e375840d3a305080cc05b125c417763f7541cee3c98408c86696ee540c47b1345a012ac666dcf57b19ecc6d187996878aecf5eb6029d7ad6d30d48ce58801d33be12d1037767f51b800c0cb717bb7e092aee71c13d2db8d6bb58d6f693dd4d9f19f4aaf01a89113d85a894a4a58c16b37b60212fa067855793d26f81d96c19e171aae70a75fbccb590af487b670b33e257762d835daeb472bd16e55da1eccb7e2baca622bad583f0ac3a99bf0550291d2819266c14c4ec82f28e4111d91898e7e7e7e389b78facd4021a57d231508b38f496a77cf4f07a167831af014c914f7b67ea6aab9d652dd419fd6c5faca1ee40254ffaec7aba2f80abd7f88d50f7fac621db0ab80d4a13cc7fa9f3de3925d74bd2c1ae43df3b579929f4f4a589b074abed9d83a4388ad5948a95c2f06d2ffdbe76390ef54de1ba31f643f95a366212fe0fb5a2a29df9109fc7ef405a65f6e80d50f5240e4078b8c428084893ac609964193b8f63a8ad275b32b412d7ab22ccc0c6c92680797a7fac759532fea98014edf4eb0fb5d518af2963fa651d284f86728572f5af24e0a566d55cbe2449378a02b5df3cc5d9bc87570a6c9318e8a0358fe1d365885a5d8c8df421bb0a4fb90e6753b0ad75e80e3ba6ef92ea02252b314929cb13e89640ff16d067ae5f06fe15e5287de40ae381c191c1de746c0afd222e68158385880bcfb535ea5ad209d44eb7a69f00210f64821ec1991dab413aa4be95e3b89175bd7da67080580781a623dc66b03f9bea77d4535a409860f65e787d9025c5b640cc5cdf2da25eae1a88b85b755aac647b41a4146354cda2163b761904b50d840c2e5971f70388d1027dee8a0ff8cacd20c456219047a651f52f0cbba9805f7398a936af434d1ec3abca24452ab1cabb9003dd21dd80113477ab7285e0e94ecc05a77150a3eefe3ce62df4af43ecfb661be34869f3b1ce9e838b2e0edf67d12f83316dcfb996306dfeb9e686f264e69db71eac5771995aca3169c913a75e2bce639c8b70344559da0ada2fce7d2f474792102aa8e210343e157c77fdefe4a46ba11bdff62bc214976f48c424337ba75ffeba61618b6a80ddffcf56f040dc49eaf741b4c1956fe33c8fbda7b5c2d044d8407f2998bf88068f89ad5ec677b599192b379812c1a38a0ca324597df139672d26f01a9315aba0b29c113b8f078b494da0ce34d254e4473e9488924f99794ee920a718996a65f66086c8de388e9c2ef2fba969f4f46f299314acda60eba535d80a7f9151015c5e7b0f8fc5bd520c5517f04733fb99629010ec50780f1a146dc1444f6b736f35d74790a6bad48b23cb734cfc7043cfdb92882216b1e9ebed611a37498546d1fbe84466bffb2374021f8ac6881d0cece8ded4133e630c88b782941e39b8e9c97d07e11379ed2b8583e3f874665f7cbd59cd30cddb67ff155a4c7dbed3be1285e5ec0cc0ca66eb814a78308f6ea71c697b3d0c66720effc0559c4b4dcae02e8011ae7d56a6af047de73f6c12a4b3cc3e1f34221a68b8d035881b2c096c09497a2cfaa265b71f9e3f38adb88f19ce12290aab2951d0476ee42ec2e4aa62d8b130513edc66bc95ab5c395a873949dbc2521cd23570e74ff3c079f8ee81dc3337b6f74362ed1daf56cf2f1ad87eab0bd0eaf5f304c6b15697432886c4edc5b4c6d27f35eb8d8836514ca56a8efcd205b258d6abd9dcd03d687d0a35928a454dcbeeea8f3d82394db4e53fc62a8517a4132958112a97e9eea41dfc588e60439049e5590488f558ad911b5181346d97ce3b3ed47bed3c0e3de00ca514b977d6ef1d0cf7186e2e4be4ad8c1c27c49703439361ca7a5f35ed85d5c85b60ca20586fda51f8a105179e454365117b05cab5ba8fadf7c9c14e07f74c4a1635f6963ef3a790054044850d68f5d71798dd335b583f66154f27afb0e214e9b62e712400fb65d23b95de12ae92afee9e09eaed8ce963ab21affc332abcd167a7c60b87a6f687530be71de776b78818f4c9629243f34eae30cef65aa74cfcac92d741007992cdab213feea2c97ee885a92fac007b89e7a6f92856f1cc407b9d430a1d0e034c855aae81e35e2fd7f36db8810369a93d121ead777535ae967e1ee157c010042780f3d71f7464428fda262e0cdd0c2b649cd6cfca65ce4199590456a5905be279d3249a63048e127f4d0d0c54bddaf55ce757c0045f353438fb82bacfdbbda918ffc7c7b3853110444940afd47e2caa1d6f635b4ad407367b1ec25c08b68bc5a2def512fbe5b7132750921dfde6ff2b66aa7b97545f1c894cd0739fded9e19a20bca9d09fd8d4e320e2eb699e112c3bdb7b8ab4ff612114fb07c975593575bce9743d8f2e4876260ecb62a1bc2bc8ab28dead6b2a0ac284cff3e64013e1f6bcee8acf91314e90e0d929dff0759b85804d7c457b1aa8c3f50673a225964b1b4582650679da47d50f5419c7bc315ede430bd35106eba544ebc79170437a71bedbebe190e525b908d36acc6c28f67243fcbed7f2358c56c664e75df213e617213475e73aa62570c22698ee96365041a532e95f33077aa167fe9bc23f78b418fe9377acac7de9eb75988cc0da75dd20e0730e8186739e9f10707b440d5c768bcda6a263f263ae743d412a78dc88d53e731cb76033d94324199a00c4abdb13fec2b5d1cfcff7e91c1acdffa73bf3c7176bdfca0424bd1f8d27bdff35387ebd398e719705e5fadf9e576789ad5d1d2db51dd1958610f7b3073a32f10eba5547b65ad1ad0c552b1de6e63705a49ade65cd0ea84646bacf96fab106ba4854b78e1b6a2fc40c7d23981d8120c29167e7f71e9eeb17ce53ec54ed3a50b2ecb0201684bfc1b7a142808aa33ea0ded0391bbd1b41c2c36608ce5db74fc22c579323e87f92577b6bf63fe08fefa161b78437e7bc7a113d7f497a5379af4550f96220edc14259fc3c65230490b9208593ef5fdb889734d1e1c1c879e60c0b1eea12dd005481f435d60ff072be3e1e66330646fd737484101852b23f92a731e23f7723ad93d1d41f0f7e7211234cdaafe543fd6f07cda1c3df8c3ea7dc7da269cb4ce0d620665e94e278da048cabb5d0d6ef494cbabde196510a3d9640176b6db9f46c9279aaac415ed6b2bb2cdd1b38518326102a3c94ce5d0788f972e674387ab5035288c49a4b250a3215e82a96e1ecb3538c4b113cfca30f178d7682a5403424b51994b966eaf5445b42a07d35f54bfcc799c453bc6c658bf1726d2d378a252cb8138381d6064a67b2e0fcd88cb17a1b8389a05c9de88fc4819c8f8bc70fd9d2346fb7d1ba45c679d80e05a4d12c2d9430d5ae564f8742b91bca85a08faacebae147d29ac3060b616373665b5b3427fd246ae6b6a440e08ac6581e7c001d653cf4b055d1cfdbd6bf8e7a1fb04e7824ad147f21c3d3f0b9325942db4a8a1c90a2cef42bed98def1a733f01d17f4747b971657348192aca8f09e4bae35dea080e156ea4272144c7c135573f6deb4f77b5b12775bd5b14ce571c93d49232338b0f8ffbae8237bb734b13cfafab0265c0501d260225565877c6aac99b262969b6d5b942473ffade80b3b2b23520acf5db362bf93e2310492d808aa1103a15539ffac0295c880c89f3ac37f69ca62f96eb2328173fb911686f02e94fb7e84a7821d8463696a5c7b3465ee8a530ca087b751bfb33f550a9814041456dbd9df2db6f3f1a30d990c9ebfea217b39ac29ea78aaa17e027e87b8bb334c680024698de464baf802edc76bedd4891e0206afb13749719130920cf7fd0f7924ea8010d8a18e7aa5cc204ac324f9eeee62119323e3163959bf0084e87be04e1551b296ceb7b27d7c72b135ab3d41348ae9e8f463d1ee05c120f4c548b11765f38811d8d77ef38ee3ac1ec2164c0b53731c0dfbc15d773e00221cd6a070192a1cbfaabc470623abcb10a5a334b679bd00e632964dbc09741f777b466f4fa91b1902fbf7ceb5e50102a052d65bed5103ded05302386b3867584a5a6152a61009ac9b6a8099a5c2890ca7605283978e0c613c3c1255b69316e8ff2acf47fbfe05a3be3c2180a8025a5ea0c3803c68546a55d3149981edea1d33f9a4f464d02c1794dde29b28235865c1527835b55012b6a042d79e0fb8b35a60799ab06fbffe431009e70e52ee76307385fddeb4101958204a1c670b6090d4c1bf15bcd61dc115acbd3dad0c64bd06a3bbcfddc975a9a8ace122df08f694873e1352960441fe35fbb206a0160e0c37b1c1123a9af93c5a43fbe6d4df10ef42f555f8f773f6108d8eca2e65865ceca1f704699c072881a5e381243b20a017bc06c3156aef8f47c7fc9815e7b69bc26cbea1962c4bf9f096fafc3efa56c1ee41b33d0e0ed2fd43c293036c521c1d214d28902f76b2c34b60d42ea860aadd3f3061b899f3eda954ac75717eb3e64c34fdaf6bd0936f857f8619c3772971acf61213435e51e370d80fb41732571cd76fa1f938064a71efce074066be90ca07ccf23b4ff1b221fd15175a0787c0f1e16e14884a4334bb05e3531c32c0f0049ccab500286b79a8be4aaa4ed6c150646af74468b57bd91ccb9a8e357eef3861099a672bed73a6f241f915b13397e6feb189592c3ac3b15977e3cbc918e9a916df70c23217357e0bfd7efb42235032e969126d64d5e5a921d773145468fb8a689c543e4ecae137cdf5b670bbd66d636db05c6e6e59d283821a2aeb1b259bba4b482e7967de721d887863ab3082e2f706628f67dee576913e72b6561b2d0ed6236b8130cea33c5831c160a766535ec2d25ae7a4ad95fb6ca9e2286875110df7ac7c1aebcec40996392b43d04c146785d6d772b2dde63939a4589d87d9ec15576b2e0b53fcd747bd2674af8e467e32ed0f9cb15d30dd87c5decd78d1b6246c454a45c107adf4e1f2f52bbb1ef00a75c56611d2a6bfeedbfbaf58b1cea4ac42bd30b98a0f429a17f42ed859398c13c200a932060bc76400eb129c8add05cc767818fac600e08ccdd441098c65641710454d598fb468eb03dedef6c908ddfb3f5dc9f3b8cba03b08698ed92f0131dba08b316aee98f66b36e830b688be81aebabd8bae0187f25a6b18bdc274fbd51c0ff3de9c416a27b33c865cd8ec25208c252e6589b68e94b3edc112cbfddc0de97046745bfae2dd6499e172752657823bc709ebc90a0fe64fef5279d3c5d8b0f9c4181e17571dab3587bd51d35b0295b87e7c94e75ca352aaba060f660b9c36fdab15c2850b35a31da8f7d2cf779f0c891ce47ac86d3202c68c590f1aee15a1da6ad9bc37e51594f448f242e937ad53f9ad6a92c5bc91abfc3717ebbcac49d58935b28a94ba3a92c8c9db6d5a6beae4ba897df36826d8aa2dcf1a08fa0521738a8b8121d43a5b068c9f052b621e0503321c71ca3c3479f98ad35947ca2a2cf0a223c7f0f5215a3f5cae2c23e480fa310f7c212f15060ac672e70b9633cfc6fba1affb2ce947d36de21a2eb6c7f298709ab10be24c84e25dd2391fbb87db94e20762a73297f2e5c4fe93565beb65ed99310dfc3341da02567fb1c4505483a23da7a9b2c95c34d4e5b601a39fe9ec73640a2020248e518d0b3cfe043ec8fb8d17b1d3240bd42b30ccdf360632c9a73ed2e3eecc19b0ca1fbb55c65abe794211ea6601f58dd77493bcae720bb94715194383324bda6653fc9a382899f8eac96b7e0f9961bd59fef99eb659030147002195c4658cb49063ca978a8cd89bbd5cacae86838162696453662919336a7dde219f2ea7b2aa51a058439cac7404a995f177e40f6212f79f642d9b7afc7e9f4b647307b7555d230a8784e957403210c277ffea59b568aa532086f567ce7fc82f59a85e38c846753f839d798afa94d428c4900eeb332cad89a92a0d3a954431ba34ed071ef8d6a1aed432233b8c8f55db0452727e9803808c0ed437a7abdefde18dd6c76f9e29e586570b6bccd3547ad795548f1de9178a64e64b7eae2039d1e969c628777845a40da0813cf7e0b0bc89c9670cb4b228fc1f78597b264dd4945e0a429b0c0238995ee84f1f152949e4c51f2dbd8ebcb38d0bbbb356a0b9ad67033c902d03965e7d3b4e92ec39888b6804a0441849543fad884cb4b1436bc8fd7a60a73b04fb0220b6eddd3fe314dfa00aec535dc41c31fc0c87dc3d58d60463dda65b8edca761aee3e4cb20b397512731e9aecf067b3de797d727935951a2063e66ed718e333945f6d2ba6640aa1ddc50156742f3384d782cb3a2657a45c98ea76c39d9a381671842fe680a949babc6a0e510a26af69129c2e885f5bbe0bf7532d7756f96d7d3c045386e2886f4c9d495251604d9fa9e97e4aafc24ba94fa3bf5c96aef3d75102815d695dd08041193e2b370a9f7be02d933f837c72645d3f10549c770929a71c68a3bb48d23aff9b8525832239ecb3005fa70281376f846107159953f2e7c34ff19cbe6b028ffcaf1ddf1aafbccd297d4e5126e8e7567ab5a80afa2efd21761531e0d161f5f0571283d63a4f2807c3ef341e1e83392fff313ba753a86a44151a721dc2da3ec9bc5010a2c9acd21b1005e3a647dfe21f3c1d575e67cfe2a2125c84467886b0c968842041e8794231b2062da8d34603e4c196a7628c31c4c4baafbae6e981278fedfa4fa52f482fd61a0ffda23ffd2afad17c6096d8f6a2eec65cba8fef795be9a7c176f28724df02abe0bbd8fea4633f40bc15d16678510315ab2718a86cb02f977d0fa86f6bc5beed894d570c78635da43d87d06e6d9e52d8c406da7e2bd8ea2adabbdda343cb5d66b916df067aceffeeb8fb8a30ae630c463ee958cce9872677d6c090de4d5cfc3719341721e0cc42c5298c439d3eaa4f8973f9ac7106ab09d7e288b43ee88bdd8dd606adb9c7c437da8bf88a04cdd04b3cfe303b113251fac6e44a6c7c5d6d2fca28bbd8e2be6a2649b9f84878d54a01f43a98f73b6d0765ed232578e77881074aba42e60a3c3fe5c1b121fcfb2b84ab3f6241abbcc2c5ab632c4bf1ff4e9f839bb8814f73fd752f3f78e413eeaa9432089debcb99dc148418db54226b0a3349842caa84501340b80c356b7e0686d10da9c7d48f70d73a572b2f61ccb538612586ae63d859f0030d957019630f694b3ed9c4fd35f1a87e8c42489f2a06ef5eb43acff0a58717303aef240a70309d1171881418f74b7645b6ddd57ef52c51a335a341d3e46fc231661a9e43645289a2f682b5ec5aa2d331c035dca05f5288ff7b945e7c2fd5fca7a9b556591a5a40c83bba5ea4b2581c65d9ce7675b5f40342c7d8ef33c6f5fab8b65d3e26e16ad6a19ec85834bb09bd13bdf81ea890e6442dc99bf16be8c20b852e9a46e3dfcc55683151a4cb4f4cf7487bca1ce54c930425b06eca11295159f92cfcf5ef59cff3ae68a6453af43a74646edbb28a79cb7c6461fedf4059d2147d8982cc140a1e9e5de99141cae70ef2cf07b8599e254934bfd8c18bec70364ace80cdc92620a4c777f09ab182768fb5b1fdc2ab313a44a49aa468c59ccfd05c6e3ff8d1aa5ebb55907802e648de3fe6b0572e30407414c98b241027d93262e99b93f91b6ad25bc7218a68ce1e12079d6e9895eca331bd50d12e48b4e732aed1b6224dc5e6f5f7c04aeb9492f9de0bd70aabd4c29ac4efeb11a85d01602895cf321ccfbc7695259bceb9b18c17f7f728bb354ef078ae06cfb173a2c3d102dffb899bee719e6af9e57cbe417f5606e17d96ef7f8d0fcc04706e7063d8b81ff53e9fca6264a0c99e0fef145b7be5f7b79d6bb9eccc30861861e9ead56ccba4548d943b946851949142f73d08af308b4d2c9ab60362a4c65fa5912c6a7dad1a6b1cdd222d31440bc6c64e2ef933fb01dc678f1b27898f84cb25bff582b9839e2b4a3a4d5eeedd9b8790dc5952ce170eacc2cae65b42671145338afd7fd75e87abbceda6afef9d9e4c005c5a3a90b88c1612d2da9d888d76c23c6a71b0a88696f4947de9364d132f1745dd79ee6d7984f3cf6589886a5416d18e891bb4ade79b3e6356ddab3edbca6fe1a9789dce4385a4671d7f5d4b0532c9b361e7c0557a8381772ea5a6d1854c45c4df265cb5bac9d2ce3776829f9419973a1c300fff2107f1ee68dd06f57896196a8a9841e6cfd97e92fa82f4665cc5128de4279e4a9f02b974b3abcf5eac2f7213f7b9ad495c7c2b187ce082459b31afbe348d8bd2c25c7b3c229bcb2e769c173baff7dca84b15fc363ec5ec2214f080a1c59841f599dea1e80afaacb970fd2baa6b3d329e4981cba02a163d5d833aef9b1239802761ca1c4e5135aa23b92459a70b3eb9aa58892d8f1f25f7d15e61f3a23b78a1c188ac6e1d8f62b8ff6033a65dd5c0eb94596c3776cbb9bd43175e3691522777f760b88e70597fd3c3362c53a3a224f4b7be79fc65421d00299de733dbcedc04f6f17699c357e9e6e63ec39344c34164fde4880ddc0e2763fdabcf362118d6cb4328cf93ea2ae38e56ea6ae720c47f0840cc606f09f8bc4ed34ebae3aa19040eb0822dfcfea1344c60c709958f26f887985676a0d7b58b0da462b76dbb82435a77b7b39f1ddd3016cfee4b9366b960aafad9f2717eb294db7539f52bc755c8eca11e0fc955048c29b22f96f097253afb6f16ad9f89591bbd0c328db75bfb6b8fe40419de00568a95c72ea15dbd76a3d4576fcf01bba24b120bf000eaa8598192763e682508015b9ffb70318bf07150f4921bc1b3db39e70f4e1fec19edbd84b2918bb65e56af2d85ebc9ec82b542da13e1d350e792e0ec81958747faa57648c5f81c4f5274482f30de913da7d559023d012bffd003f75e113a498c26f09cace1e56f19c9643511454ddb85eb6d0bf594bb1cebf77050aff1f9133d2eebdf5f14c2942297dc0d984b58f3f19490cb51e09bfd17de1ac5a33bca819d47c703ff55fe0eaf0e4646a3924a519e8aaf152c6fbdcb16a0452ca34da3259be2f134beb5255609c4d5c0359f29b23d8b44d3a7da2b4ba60ce42811eb4f32b3636ce0d184adccbfad6ec128fabbfe8d00103fef5f7f38fd927b6d5f88e0256b659658b829dd3a954ad67ee9b40fe0841d9133cabb2f9a4fb01163890a4034bee5aeaf2da429acdee8d429f16df70671f06c4848ef8ccd33cc85abdd3df218b2e82e2102876b3b4af369d5b6fac48004d6e197b3bfd7bcd4fb7a4c78b8c4096950ae608d9745d4765e0f984e1e4809eb0c49ec7e2cb74b1d3770a3b41ca0169d93f8a4df4ef149e4ba5f3e84d08da3b656cac640c53d0131bfbcd64d944d3353c2b66d82fc968fa13ef336dbe835a3d15ada3044dbb2476641b2195773e3fee7d4489b618add6733f171f36f4585e1cb6046b4aa6d25e6364f0f1f9fd5dc03b7a4232da0628a52216cbf6927fbf12794181187123a19abab20cfbeb04cfe11f66a89a05429194817dd95acdb90f3bdb37453c9898978588003588ff890c474480f9862431c58b1d312d29b6b0496252b05d812dd7de9dbc353522914cc4be94406d1dda8fb44b1a0c9d633d40fd2018952d37a80d936cc5dc22816a014923186ed866224f9c17fc32c7b498a88b36ef52169573f0b380e11a8f8f0f63a7db858fd6770f7da2c78ab4f49174230bbd7ff86de8a6f884a5953c158d53f31a6108b1f7ac053fd3b029bd6b4397aa0e3b1f7e3689423051db72847ba899de6ae1d05dbebb33fc3252146f074712c535ee45e87eb80576719f467b577f29b756967e208136fbe3d1ed7a8c82e028906d9626c00c49657b9a7afa8b3776b6e61bc0070b64cdcf812ecec9aeb86f10d17b7a33a034b4f641a445ae0e25be11ea8927af6d1843d519e50cfbeed479f0f79c91c367e6e937f05aeb3cfecac25b7efdab419415faf6965e338dfc9c0cb7a13f27696491268f075b4392e1974a6c18efd3f5caa8ed37d5191610e10b35b2b9e932eefbecd4f82d2451f37ba778cc015958430e62104c8cc41834b6488bd5e2863ec824dd85670cb682cd6ce26f431e4730c2144423def4594138c4e232518c4dc5e6d1fd3461c9b3e19953a2b18ee6eabf93d3e5b3e20f07591a6410a9e347084a63594ebc9f3f6f1ccfa145984b94a08ce0561941c54015a942b56651a31048f09da220ab012590c4971150bc51948d7d531fa2b68dd60bec00d29b95d7c2469c72423576d4bdd9351d131af45e9c9c30c6358bcf21b181e7b9907f80a3750e2cdfb686045ab3718e68ec49d7c68be6c78615e5413044ba3b64b5ccece82cc975a062d507f22c3f42470e1686b0c7978d16f146c7b1ce0c8e0a9fefd1b79b09c7a2ee7fb6bbb049cf3a411e42d477480f8de4c4d5bfbd35869ef40b21ada9e04f85f8ddf7ff9d8a44912858980060d3cbc9f54c1f867adad26aa9bf067835c923c41bfe14b0da8ab1021c5a5eb4a21cef3ac089f06d7f85f997bdba8c3e2c0354fb277159830187ffcbe3169d72457d828c024e5b763c715853aff04f8856013a6e8abc5d08514db72f80f24b45e375218b2f6c61085236f129df4d9451bff8a83231803aeafe39db5eba9ad9113048d182d0dbeb24d07b58d73c335fe7c90c21fab71ef0e865694619aca02feea231aedf3ef8b1c01fac723c5366c69791920afa6cedfe32ef1f292179a46a2327fe9cb1830317f8d7be7e7f12b39b1f1821845b99e47da941b0ff082dee58f90c6d03bc7550a8b436c05e30b3dff66eb2b4bd0ba2e746ffb582ccfc5671204c88bbb8ce8ea910dba758440f33be5b6246de71c4467193fcbdbea939fc37f4795abc8abe5198c0406b29738ed1b35e9d94f14ae3d0239b337680f1c35167203f5ef13f1d697ea07a163eb377c4c5db6b792a070409a9404ffb7f3f0083311384f622bcf0fba0d55e50604f1b6d4e9aebdfa08180c23acdd803b7305c2ad0717f238b14b5dc066217b42847712f48dc799bc6fff0f6b26caa29ad0d4c55c887e46b9fbfbef632d746db6b416e0a02eb7638d099d3ffa8e70be521acbfef5f63103e2af3f6c54cc3e209e9b28a68acb69a59586f352b4938f6e9af61ba1feae2f7a55a0b49d8e4b64536e6a45a9e1de321fec8dc33a4979153b0c5ea5418d63c0ed5292bee464b163077d1144e538d7cc99a084feb83079d0d6e3dffadcb2961be29cb70bd45037081f1d62dcd0bce7edd9249a37864bc141d6723bf1611216af9fc953439d1813e01b715482fa07d3585ea6b7bce4c6f6a6e2633ac1ed0a0a4d54dba50ba555dbc55b9bb1f0c6f22c14f95033291315137c373c1e538c9fff3dc2f56eea4312b1f75fdda33372d0f62bb7e5247478efb6b6a848cf3a40b5b4608551d4d823fe93701da54df70490d77aa9e3cab15a21e15ce938c340f6931f71c823655eefbdb109a2655f2bebcc70763137f4498b690f415b6d6c28f67882cc31d91e2a9a78570b4f3f15923964446c587961d7ed06ec2f3f59d9db853e15b90bdcae8f2af7367641a80d09df2b51b4f87153aee0edaf49eec539ff35950146da4b81e65550ccd946bf3cdc03e796bb8a6711cb6f1ff0484dcb01b0d1d86f31716b94414cbc39115e09be7cbda56553a74eee392dc3069ee6635b8db4f9d9586f1b06e31086231777b9c0ea98bd6daa03e3065f4f57bed5f3bd1274966c06fd63110c00e322eaa706671e47e74bafda91b144128a10acaa25d98454e60d4b836abca17b44209a651fbbb75fc73db8bb32596f6072e0736bf481cfe88c802725b732fd608aa1c5a5be416300307c76be69984f611992cac0bb661bec37d5d9f8a1e417b2a6399deb0e300ebabd5f6da5bbd7791fe142c2c04b3f814cdfcedef0baabe908d5ee82afa8734713286b13645915d15ee05e57fa6bb93b8fc015574a01ef6d4f51fea08c353dc1d93c1608c046b360cb567a736658856cb79298a52694fe25363397036afda46ab2026c4be2a4779e3c8d8cb3746b87c87d5e3f81a887e847915677c9c4b4bc1fa9823af247c1a1224f957e2840cf79af70b16ead639559779f35fda882acf2b2af990158d507d7ba8729232a9bef763999083c4eb8a1be2943594e9bb421e3dfd255f5c6710d285ec2a50f8bf2e560d0ffb5045c58ba115c57b544217f8e6b28a7108f1bd3d2b8e4bb58cd67c339607a58ddaeefa5122ce7ddbb88a83db791151948d2a2f2b8628e3d0e344000bbc7a6f58bb2f87da91e0c5d3984ddb1d262b3798b61b8b04a614999f9728872fbf1f36963e2a9e402562ccc2e581a2927c3d6f33400ab1a88764539dc67436b17a1a3e1f478f52ec54fa7ba60a03dd2b38221eef8ecc30ca34130c5d3a93156578ca378b4b9a78688396614ae5701a40ebd62ba2d9b121ff530921b6f0121105256fbaf9ee4d933f8947535e7e3d87b46737fdb64ea6719d8213c050b186532ed0cc82027aefc8d81643219c3cbf7b446d7fe18a485cf4e40b795f37c43199c1693d36fac7c69c11e4b724f5b2c44842721265bffecb56dfb04802787ce67d583d49e02d182171f8870fec53c8ae87e749982180d3087f68e93e02879f2938048d79e6cc8d9676e8e187bb48c36115800be08fbb18fdda4c3fa6a132a27bab84d0957c7dfe338c125493d67858c37e933430122f146860faca13a905f3b5f7ff0f44534444805b606db4455ea32b7447498a63b5f420daf7cf47f20befcf5ee9232c6aad0385393bf10fe758a985c1df4fd3980de8ee89664967068a08fc651e47889ac94d97c0e819cf9610850ef272fbf056867bb058d70441d658d2f804eb9fa265a11e6e0a13281c9a24e9b28dda5b9258493feb628344105595971aa2af4e96d892fb0ece7da6bc0a0573cf5cd7e96d8a63015c64133e707c2c6c42531687a0636c691a84bc2dbd3c5ee82cfebe82fa06ce32d18a4184de2e6bb848833cb4eb5183ebfb7cfb9b4f514d856270064c46030072470d8ce9293b290db41958d38c5011afb68fe175afa04d2ed2311bd251d46aaf0d8577b74b0c52ba5688f097f50ee80b1ff724ef781908cfa873632490bb37d249f496db1cad2451a3b2e03dbc7a6f028cb57ab2834f29fe2d305685dfc0bdd0cfe909b720028b58d4e7c6e0839850ef04dc71a498a65ae84f4c85d4a601ddb0984d4eb31e6e90b26e3deb40517233ab46063f6e9e32bbf364eeb9e2c492f95489d082b74572bf64a1a3fca6a3ec95c5ce7d2060169b4c6b646d5daadb42047af65271efcace546321361dad89c156d31c61d9e7aa039f8c52d2c26bdf8843c38abfacfd3d548ab82fca0debb6f7c94eacb5e557f0fd7178c9881f8c9e3cf2c56b37039f71b2dcef1a5b7bb3c2dc24a1226eed20aac1390e54af009adbd28d5c64c313f38bb2466f2835ae2a0878a09428fd12800ad4a3d2f8af39a5f400e8ee498b54fea9a72fcce17c140055bf7632da372b28ae4585ec7e3815c260c4759b4aba41af57b64f2158cda8139170218bd01dcd97aff2068336621a376eec5a0ebd8d2196f0e56eaeee14c70a82e25acc6553cf9fc3b199e870473eb806e4b5f7fd2afbf06003ce1d37b79935ddb8061b2a4d037326553798ab9dbd7b740fbb7927cc38d662808c301088f0df265e3d6bce11dbcf4cb8bccab7792c2d25c1bdc4c9cdb34fb2678032c5192c9c36edb1ca7339b2242f543759e603140d2981ee601629ab7397537cb340842176724db826373b7626cb3a279f28f1b17653a4e1047fce350b2c5c7587374e242546c34e724ffe13f8eb9ea8bbc58105abd86cf9b2957f94f348a6dd90606d859ab10115e216ab74026690bc4e5d25d9db47d1cbbccdb3c7fb36164c432e4c43e42d4bbf10fc941638056c34d4faa7623b9ac13cf38bc3f1e79f4cad58d61028eb947b047611aa87c28bb07429d2dd5b660109cf08d93ae9cfce7c152f6f2ecbd9206936288b7b3d6803c2ce9a2131c689f4d7845159a81cfa391e8078331ca84668233905851476ea3a27350587245e7670aabe573ffe8c1ef1179ec0fff91d3d2f5dcd43138c47775c30de7b2616ee28258e41919a553067303631380ad88812e45d5053fb16367d2c8fe886a9e2300000000000000000000000000000000000000000000000000000000000000418504bca9b664064d0d4bebb8ff2d6b7cea1aa21613c39e93b1284db33849a2e015ae46487a41bb82deaaf82c73ce6603bccb5ec1a9cfc66cd260fb7f0ba4efe40100000000000000000000000000000000000000000000000000000000000000c080a054f9de638539aee6dbe15236fee47e6000f9d3810589624a42688a8744b8d07da049e28120ff56958455eea86da7a044a8615cd01dab5e3f922486f89fa2620824", - "new_receipt_trie_node_byte": "0xb90d7f02f90d7b0184010a6e7db901000000000002000000105000000000000000000100010000000004008000000010000200000000400000000400000400840000000000040040000010008000000008000000000000004004040010000020000800020c0000000000000000000000000000000000000100000004000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000100000000000001000020000000004000000204000000000040000008002004000000000000000000000000800000000400200000000001000000040000000000000800200000000000000000000004000000000000000000c0000000000004000000000f90c6ff8b994d1328c9167e0693b689b5aa5a024379d4e437858e1a05c610f28399ecc14b66149012a0197a5e3257a8c397125afee95d1cf4b950734b88000000000000000000000000000000000000000000000000000000000000045410000000000000000000000006667961f5e9c98a76a48767522150889703ed77de28258e41919a553067303631380ad88812e45d5053fb16367d2c8fe886a9e230000000000000000000000000000000000000000000000000000000003505a77f87994d1328c9167e0693b689b5aa5a024379d4e437858e1a0617d31491414a4ab2bd831e566a31837fa7fb6582921c91dffbbe83fbca789f3b84000000000000000000000000047336ae44f573a7c3c41a9ae04a9d48e5dfd8f8e0000000000000000000000000000000000000000000000000000000000004541f85894d1328c9167e0693b689b5aa5a024379d4e437858e1a0453430d123684340024ae0a229704bdab39c93dc48bb5a0b4bc83142d95d48efa00000000000000000000000000000000000000000000000000000000000004541f901dc9489e9d387555af0cde22cb98833bae40d640ad7faf842a09cf3ad24eae3fd6d461e2f566b35b95b6d671871d9fcb45f8ac8030e4a8d21b3a00000000000000000000000000000000000000000000000000000000000004540b901800a8d4d9276f995fdac9574cc1d0bb13a0202396eee1835dfb7c042fe750db421000000000000000000000000000000000000000000000000000000000000068200000000000000000000000000000000000000000000000000000000035053f500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000418504bca9b664064d0d4bebb8ff2d6b7cea1aa21613c39e93b1284db33849a2e015ae46487a41bb82deaaf82c73ce6603bccb5ec1a9cfc66cd260fb7f0ba4efe4010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000065cf5de7000000000000000000000000d1328c9167e0693b689b5aa5a024379d4e437858f903de94291dc3819b863e19b0a9b9809f8025d2eb4aae93f884a04b388aecf9fa6cc92253704e5975a6129a4f735bdbd99567df4ed0094ee4ceb5a0000000000000000000000000787b795fe6e43c17c668de16730c3f690feb8231a00000000000000000000000004200000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000dc88b9034000000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000065cf5de700000000000000000000000000000000000000000000000000000000000002a4cbd4ece9000000000000000000000000420000000000000000000000000000000000002000000000000000000000000089e9d387555af0cde22cb98833bae40d640ad7fa0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000dc8800000000000000000000000000000000000000000000000000000000000001e40fae75d900000000000000000000000000000000000000000000000000000000035053f500000000000000000000000000000000000000000000000000000000000006820000000000000000000000000000000000000000000000000000000065cf5de70000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000009436b6f211f50f5d5a17521e4725e27518dafa61000000000000000000000000bb08beeaed39cbd6d9bdb24f2627092984ae55a10000000000000000000000006aba10c9bb6a39445d990fb7a720fa53025bd7dc000000000000000000000000c828de4e817e1705cc539267d5f28be8dbef28de000000000000000000000000306d1c4482b629a684a54b121f6f57dbe617740b000000000000000000000000bbdbe7f5ac524078ac72c1d4d39cd9b40cb4b9ad000000000000000000000000d4fa4b67b69c3fcf3dbf15db5d80202040bc72fc000000000000000000000000f995d1022269c2e0ecaacd15d73e3a621fd69a3e00000000000000000000000051a887f3c12295a69f57d0f41b276bfebc91aafc00000000000000000000000018214ccf63060d579524a69ee1b97404594fc8310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f902fc94676a795fe6e43c17c668de16730c3f690feb7120f842a0cb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52aa00000000000000000000000004200000000000000000000000000000000000020b902a000000000000000000000000089e9d387555af0cde22cb98833bae40d640ad7fa0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000dc8800000000000000000000000000000000000000000000000000000000001e848000000000000000000000000000000000000000000000000000000000000001e40fae75d900000000000000000000000000000000000000000000000000000000035053f500000000000000000000000000000000000000000000000000000000000006820000000000000000000000000000000000000000000000000000000065cf5de70000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000009436b6f211f50f5d5a17521e4725e27518dafa61000000000000000000000000bb08beeaed39cbd6d9bdb24f2627092984ae55a10000000000000000000000006aba10c9bb6a39445d990fb7a720fa53025bd7dc000000000000000000000000c828de4e817e1705cc539267d5f28be8dbef28de000000000000000000000000306d1c4482b629a684a54b121f6f57dbe617740b000000000000000000000000bbdbe7f5ac524078ac72c1d4d39cd9b40cb4b9ad000000000000000000000000d4fa4b67b69c3fcf3dbf15db5d80202040bc72fc000000000000000000000000f995d1022269c2e0ecaacd15d73e3a621fd69a3e00000000000000000000000051a887f3c12295a69f57d0f41b276bfebc91aafc00000000000000000000000018214ccf63060d579524a69ee1b97404594fc83100000000000000000000000000000000000000000000000000000000f9021d9489e9d387555af0cde22cb98833bae40d640ad7faf863a0f533ef50019763ee9d95ad46e28350b533c11edd472ae7be93e8fae83c1b6d99a000000000000000000000000000000000000000000000000000000000035053f5a00000000000000000000000000000000000000000000000000000000065cf5de7b901a000000000000000000000000000000000000000000000000000000000000006820000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000009436b6f211f50f5d5a17521e4725e27518dafa61000000000000000000000000bb08beeaed39cbd6d9bdb24f2627092984ae55a10000000000000000000000006aba10c9bb6a39445d990fb7a720fa53025bd7dc000000000000000000000000c828de4e817e1705cc539267d5f28be8dbef28de000000000000000000000000306d1c4482b629a684a54b121f6f57dbe617740b000000000000000000000000bbdbe7f5ac524078ac72c1d4d39cd9b40cb4b9ad000000000000000000000000d4fa4b67b69c3fcf3dbf15db5d80202040bc72fc000000000000000000000000f995d1022269c2e0ecaacd15d73e3a621fd69a3e00000000000000000000000051a887f3c12295a69f57d0f41b276bfebc91aafc00000000000000000000000018214ccf63060d579524a69ee1b97404594fc831", - "gas_used": 3064140 + "byte_code": "0x02f90f1b018203f0830ded21850182487e22830587df940000000000000068f116a894984e2db1123eb39580b90eacf2d12b1200000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000b2000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a840000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000b27fc57ef0363f7bd55596cb024a42639eb5e11c000000000000000000000000000056f7000000ece9003ca63978907a00ffd10000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000662fb01c000000000000000000000000000000000000000000000000000000006638ea970000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000ecc0e79b4367dad10000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000a5c0bd78d1667c13bfb403e2a3336871396713c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000b27fc57ef0363f7bd55596cb024a42639eb5e11c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000000000000000000000000000000000000000000000000000000000409d149a60943bfcb60ad69b962524ad3a9db55edeba592ec9a1a511755f3a4cb7d478185b70fdaa278ebd196af2af3c7849c8fba1a402cc8532afe928e9fc4e6e000000000000000000000000000000000000000000000000000000000000007e0008d1fa6c9981bca207ee2bc7bbaf6604a2a80a84000000006632d18178212f071ead5517813f94d30c6bcbb3610ec5276fa59a653f048a4cacbcb58083fe3c3228ce5464e4b714ce81d44208cb7d685dfb2a308b38ce0232ae459a39000000000000000000000000000000000000000000000000000000000000000c3e000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a84000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000662fb01c000000000000000000000000000000000000000000000000000000006638ea970000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000bdeb990f810d50660000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a5c0bd78d1667c13bfb403e2a3336871396713c50000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005698eef0667000000000000000000000000000000000000000000000000000005698eef066700000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a8400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000360c6ebec001a061077e89100f2ffd38a04d05944a70bafc08b7394d4185536de3523de1a12cd0a05d048d34cb54b61176556b1dd5f47988e361ad593e0ba804722e462a659bb3d9", + "new_txn_trie_node_byte": "0x02f90f1b018203f0830ded21850182487e22830587df940000000000000068f116a894984e2db1123eb39580b90eacf2d12b1200000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000a200000000000000000000000000000000000000000000000000000000000000b2000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a840000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005a000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000b27fc57ef0363f7bd55596cb024a42639eb5e11c000000000000000000000000000056f7000000ece9003ca63978907a00ffd10000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000662fb01c000000000000000000000000000000000000000000000000000000006638ea970000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000ecc0e79b4367dad10000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016345785d8a0000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000a5c0bd78d1667c13bfb403e2a3336871396713c5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004000000000000000000000000b27fc57ef0363f7bd55596cb024a42639eb5e11c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000000000000000000000000008e1bc9bf040000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000000000000000000000000000000000000000000000000000000000409d149a60943bfcb60ad69b962524ad3a9db55edeba592ec9a1a511755f3a4cb7d478185b70fdaa278ebd196af2af3c7849c8fba1a402cc8532afe928e9fc4e6e000000000000000000000000000000000000000000000000000000000000007e0008d1fa6c9981bca207ee2bc7bbaf6604a2a80a84000000006632d18178212f071ead5517813f94d30c6bcbb3610ec5276fa59a653f048a4cacbcb58083fe3c3228ce5464e4b714ce81d44208cb7d685dfb2a308b38ce0232ae459a39000000000000000000000000000000000000000000000000000000000000000c3e000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a84000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000662fb01c000000000000000000000000000000000000000000000000000000006638ea970000000000000000000000000000000000000000000000000000000000000000360c6ebe0000000000000000000000000000000000000000bdeb990f810d50660000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f0000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a5c0bd78d1667c13bfb403e2a3336871396713c50000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005698eef0667000000000000000000000000000000000000000000000000000005698eef066700000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a8400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000360c6ebec001a061077e89100f2ffd38a04d05944a70bafc08b7394d4185536de3523de1a12cd0a05d048d34cb54b61176556b1dd5f47988e361ad593e0ba804722e462a659bb3d9", + "new_receipt_trie_node_byte": "0xb909a102f9099d01840153289db90100000000000000000000000000000020000000000100000000000000000000000000000000000000000000000000000000020000001800000000000000002000000000000000080000000000080000000000000000000000004402004008000000000000000202000000008000000008000002000000000040000000100000000500000000000000000000004000000000000000000000000000000000000040000a0000000010000000000000100000000000000000800000000000000000000020000002000004000400000000000000000040000000000000040000000020000010200000000000000000000000000000000000000800000000000000000000f90891f902fd940000000000000068f116a894984e2db1123eb395f863a09d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31a0000000000000000000000000b27fc57ef0363f7bd55596cb024a42639eb5e11ca0000000000000000000000000000056f7000000ece9003ca63978907a00ffd100b90280d55c1388640042a41269b4aa7fcb2a2971de848d5b0f5189f49ae57e2812d27300000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a840000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000058d15e1762800000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a5c0bd78d1667c13bfb403e2a3336871396713c50000000000000000000000000000000000000000000000000000000000000c3e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b27fc57ef0363f7bd55596cb024a42639eb5e11c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002386f26fc10000000000000000000000000000000a26b00c1f0df003000390027140000faa719f9025d940000000000000068f116a894984e2db1123eb395f863a09d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31a000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a84a00000000000000000000000000000000000000000000000000000000000000000b901e0e0ab6bc38f540a895507b9629b79a0562b2690df77ab6d12e55d942f8499efd900000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a840000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a5c0bd78d1667c13bfb403e2a3336871396713c50000000000000000000000000000000000000000000000000000000000000c3e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005698eef066700000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a84f8b9940000000000000068f116a894984e2db1123eb395e1a04b9f2d36e1b4c93de62cc077b00b1a91d84b6c31b4a14e012718dcca230689e7b88000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002d55c1388640042a41269b4aa7fcb2a2971de848d5b0f5189f49ae57e2812d273e0ab6bc38f540a895507b9629b79a0562b2690df77ab6d12e55d942f8499efd9f89c94a5c0bd78d1667c13bfb403e2a3336871396713c5f884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a84a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000c3e80f89c94a5c0bd78d1667c13bfb403e2a3336871396713c5f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a84a0000000000000000000000000b27fc57ef0363f7bd55596cb024a42639eb5e11ca00000000000000000000000000000000000000000000000000000000000000c3e80f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b27fc57ef0363f7bd55596cb024a42639eb5e11ca00000000000000000000000000000a26b00c1f0df003000390027140000faa719a00000000000000000000000000000000000000000000000000002386f26fc1000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b27fc57ef0363f7bd55596cb024a42639eb5e11ca000000000000000000000000008d1fa6c9981bca207ee2bc7bbaf6604a2a80a84a0000000000000000000000000000000000000000000000000005698eef0667000", + "gas_used": 266579 } }, { "traces": { - "0xa13baf47339d63b743e7da8741db5456dac1e556": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4ec69ad7de22" + }, + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0x7f4289211b98f437c112fbd741e69b58eed82cbc056f2e71d19fe0cceeea7830", - "0x0000000000000000000000000000000000000000000000000000000000000065", - "0x297d4acc35207f2772e6f8cc3dee2263ad7f6fcde10d2b32d0978259e5421a88", - "0xd2bcef2c723fd17788da56dbd69144aa919157c2085e085eedd04d83052331f8", - "0x0000000000000000000000000000000000000000000000000000000000000097", - "0x0000000000000000000000000000000000000000000000000000000000000098", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x4f64f39f61baf33a6c2b0d47b56b701a6f410a3e0aba7e6d8cb33774bb78af6b", + "0x57e94adf9d69e2a06bf02f21464aa402ab5eca5af9b26c5bdfe99a90d408772b" ], "storage_written": { - "0xd2bcef2c723fd17788da56dbd69144aa919157c2085e085eedd04d83052331f8": "0x5cb92ee93a18cc60c5ca3970bc329311e83814e151ca1f9e4da5d4a01720d415" + "0x4f64f39f61baf33a6c2b0d47b56b701a6f410a3e0aba7e6d8cb33774bb78af6b": "0xd7abb41b9e03a898b8c2fd5f56e229d8365b20c1", + "0x57e94adf9d69e2a06bf02f21464aa402ab5eca5af9b26c5bdfe99a90d408772b": "0x1" }, "code_usage": { - "read": "0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c" - } - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662223f61e8f063" - }, - "0xbc9d741501a20f962756c95bf906b4abffadcf8f": { - "code_usage": { - "read": "0xf4f26227ad02ed0da6a338d7dc956902a94efacdafd598900a9bdacc54ca7f4f" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0xcf2898225ed05be911d3709d9417e86e0b4cfc8f": { - "balance": "0x2d820b3eeb6c93dac", - "nonce": "0x12bed" - }, - "0x2e07f0fba71709bb5e1f045b02152e45b451d75f": { - "code_usage": { - "read": "0xbaacdbcbc57391d7a32d6f671a2e0733e1979a325312572265cc60f05b63cb7b" - } + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0x0000000000000000000000000000000000000001": {}, + "0xd7abb41b9e03a898b8c2fd5f56e229d8365b20c1": { + "balance": "0x1c72c304859db8", + "nonce": "0x2" }, - "0x0d7e906bd9cafa154b048cfa766cc1e54e39af9b": { + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000069", - "0x7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39993834b", - "0x7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39993834c", - "0x7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39993834d", - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c" ], "code_usage": { - "read": "0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } - } - }, - "meta": { - "byte_code": "0x02fa018ea40183012bec830e8148850e26104e268316c54494a13baf47339d63b743e7da8741db5456dac1e55680ba018d241325aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000018ce00000000000000000000000000000000000000000000000000000000000000059000000000000012beb0000000000000000000000000002404328bf8fa70b65e3bb633a5fe906bb25c09d41655221c40420684a28475a4e81f03d67f485cb53475d63889227842ddf39e8636d04de6719b681ae7e5241d070fb00000000000000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000033c000000000000000000000000000000000000000000000000000000000000049e00000000000000000000000000000000000000000000000000000000000005ae000000000000000000000000000000000000000000000000000000000000079e00000000000000000000000000000000000000000000000000000000000009700000000000000000000000000000000000000000000000000000000000000b360000000000000000000000000000000000000000000000000000000000000d5a0000000000000000000000000000000000000000000000000000000000000ef20000000000000000000000000000000000000000000000000000000000001090000000000000000000000000000000000000000000000000000000000000128e000000000000000000000000000000000000000000000000000000000000138400000000000000000000000000000000000000000000000000000000000015180000000000000000000000000000000000000000000000000000000000001732000000000000000000000000000000000000000000000000000000000000014fd02000000000033b3530000000065cf5d410000000000000000000000000000000000000000000000000000000000000000000000000098968000060000000000000033b3540000000065cf5d44000000000000000000000000000000000000000000000000000000000000000000000000009896800008000000000273f9027083069e8a8420e6da00831a57bc94a658742d33ebd2ce2f0bdff73515aa797fd161d980b90204252f7b0100000000000000000000000000000000000000000000000000000000000000a50000000000000000000000006e55472109e6abe4054a8e8b8d9edffcb31032c50000000000000000000000000000000000000000000000000000000000061a800cca8723ef052c7e79e3b81e9d994e687699d9bf2d71a8c7176565a1646b289a0cca8723ef052c7e79e3b81e9d994e687699d9bf2d71a8c7176565a1646b289a00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000114000000000000000000000000042b8289c97896529ec2fe49ba1a8b9c956a86cc000000000000161700a56dd28c2c5b91dd63b4d4e78ecac713987837176800d66e55472109e6abe4054a8e8b8d9edffcb31032c5000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000014990be9707dceec2bdd6575bb6f77c96cee7c80560000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000015594a00000000000000000000000083104ec4a0553ab89b87956a3f999d78927a3496926c42bf08b8513bb0dd72f650448a0303a069dd9ff8f2ecd3c482e89a458273e8d65524441c3379a35fe4b6043e79ad047400000190f9018d09841e28f280830603d094aa111c62cdeef205f70e6722d1e22274274ec12f80b90124f41766d80000000000000000000000000000000000000000000000000000000001f9a11a0000000000000000000000000000000000000000000000000000000001ef844800000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000334d594aed899407b0378d1f57aef6113bcd22f90000000000000000000000000000000000000000000000000000018db21682b6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000000000000000000000000000000000000000000183104ec4a0cf4942e0f71ddc906635bec733f6806fcdc0d6bb1c023d37d2ca0a2cf3312c5aa038e8b80e110cb83223a78fe6077bbb9604a532144a990caa2c74350e0d73f6fa00000250f9024d11841b6b0b008302dc3494aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901e4a15112f9000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000005b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000300c800000000000000000000000000000000000000000000000000000000000300cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000001a22c102a000000000000000000000000000000000000000000000000000000000000000083104ec4a0c8496fa98c3330a1b932bb7b5cdc03b9e12834c57fae932e7793b620a3944a10a009f16f99e0d1efd44b61e4e31305bd5b59681af33630ae878b6a3ee6fff145df00000230f9022d08841b6b0b00830228d694aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901c4a15112f90000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000304740000000000000000000000000000000000000000000000000000000000030d840000000000000000000000000000000000000000000000000007274b38e958000000000000000000000000000000000000000000000048348f14a6e800000000000000000000000000000000000000000000000000004a67ab474c1d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a009bb607946fd88367459a3a72fb23708dd4a4b5cc9e28fb77a45de83d0c62beaa01423f7cf51efcd9dfbe749393aab66402ccb90689db9e6c74d46159efed9fdb800000296f902930d841b6b0b00830373ae942db0afd0045f3518c77ec6591a542e326befd3d786686c6e5e0966b90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012446edd9c8000000000000000000000000530000000000000000000000000000000000000400000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c7470000000000000000000000000000000000000000000000000000000000000bb8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3cb010000000000000000000000002156369ef89d06be3a3eb1ed7ccc949a27d103ac0000000000000000000000000000000000000000000000000000686c6e5e09660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001225c3dafc5caf0000000000000000000000000000000000000000000000000000000000065cf644000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec3a060b664022e3f0141249b29303222ba050c3586b7c7487fde4fef231f98185c49a04f35ef0881deb845e24b34b38c6c3ccadd4e9d97493003f04cad792f2ad95280000000adf8ab2b841b6b0b00827c9994f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000efeb222f8046aaa032c56290416c3192111c008500000000000000000000000000000000000000000000000000000000002067c583104ec3a02950117cf70bc59786719217c575f46b6a7b962837aa4d7a16c4db40d2b118eaa03e58c591993c3136903d61befbd183a5ce15e406123ee749242dc0a65c47296d000000aef8ac8198841b6b0b00827cb194f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a7410600000000000000000000000000000000000000000000000000000000ac08492683104ec3a09ed5fc2dc3cffe1ee61a89786ae1733a3de8d22bb1d44bb2d20f7ae9803fe17ca03f245b30ab716c4c6c2632140fb44418cb30ee33115e445229359d3e422752e90000008cf88a51841b6b0b0082b7e994530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000008a8e4b1a3d800083104ec3a075859534f54a68d676d2dfaa0729cbd2049f2dba7d9ca4ccf6a376ce569937a5a050c75b9562d4074c43918135f7807c47a21954f9ca6c4ce9981e0d5b97243eea000001b7f901b412841b6b0b008301caac94aaaaaaaacb71bf2c8cae522ea5fa455571a74106879536c708910000b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000009536c7089100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa9471000000000000000000000000000000000000000000000000000000000718756f000000000000000000000000000000000000000000000000000000000000000083104ec4a09296d74c194d13ea6ad1f46a0d125aa94636c5255a12565bd2392ef0195ec568a0334c1ffc89a633bf82a0fefc25e32841917bf67d166ed90b213b6f971134bfc800000073f8710a841b6b0b008301c2d294d61b86b20e26807bdac8197039e8534f77d00b52862d79883d2000841249c58b83104ec4a047619b4a6286bf84753c2c41fb7c34da047a431938fd49c6dbdd022d89f3864aa0426dd16a1fcc1eb6e5df9f6aa925681f3aabe41956f76482acee541fb705e65000000170f9016d14841b6b0b008302a98f9418b71386418a9fca5ae7165e31c385a5130011b680b9010418cbafe500000000000000000000000000000000000000000000000000000000007ba693000000000000000000000000000000000000000000000000000a05a4923b477a00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000026d4b02be7d3f35f1ee7e124d3c2f8d2960cc2160000000000000000000000000000000000000000000000000000000065cf6446000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec4a0fe58ff4caae5074125e499581b7f18e9a9d0e49d2f09eca21e33b7151cf8fceda028318877a5fa4f27865f34ba7c90c625024f6b0969a3883ce0e33b005e05031e000002d0f902cd17841b6b0b008302a1349480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000002dad844494366d0000000000000000000000000000000000000000000000000000000065cf8c1700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000232785000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f6468f54b93b26e3fffc78393cc39fca3b38c2d40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a0a10101faeb6991cd3e07fad66b37dfeea809943b17d9b7ef21c570ac55ceb8eea075e4cdeaf0b4e012886d5020a90936c40756fafaa1f1b69c0cb3594d161201f000000073f8710f841b6b0b008302a43b94f4e7dc451afd9f7200f0dabcaad67011b9ae7830862d79883d2000841249c58b83104ec4a0ba41054b984bc009d1144e52109a6f16772f1c46da2d60b5ab52518962338cb4a071cf76c21b9ca1ad1148283f2ac2980f05a8f5a0942ddf171b266acbcaebd7940000006ff86d04841b6b0b0082520894e4edb277e41dc89ab076a1f049f4a3efa700bce88759bdd60f06e33d8083104ec4a0e4fddcd6615bfdb6c12e44ebfb87d5157a27195f9658f697f7a348d7c3287d96a0723bc6f023cbb4ff65ea3e884f2df2262ce2977537f2b92abe6a62a3c30cb7d80000000000000000000000000000000000000000000000000000000000000000001c9c02000000000033b3550000000065cf5d4700000000000000000000000000000000000000000000000000000000000000000000000000989680000e0000000000000033b3560000000065cf5d4a000000000000000000000000000000000000000000000000000000000000000000000000009896800007000000000071f86f830387d38420e6da00827b0c94b8e733b0e449ac8af7a1ea328dfcbf73efd7661e8701bda703f0a0098083104ec39f03108332ddf1986ea40186c7d5667d639731f511dec998f4e4319d719c7132a0019052406ce313ae42977f32d7062297b440820e39e7cbff251fcbaa8a548fe5000000adf8ab15841cc9fec082ece29406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b30000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec4a0a5ca17bf0c7782a510a86449cecfb5baa87430e5da2bbb0b718fdb6d32420907a066f6fbb7c9741e19f33cc47836a962d885aceef0e63c6b30448b3d3c825364f6000000adf8ab28841b6b0b0082a7b69406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b30000000000000000000000002db0afd0045f3518c77ec6591a542e326befd3d7000000000000000000000000000000000000000000000000000000000fdad68083104ec4a0d00d2170294c956d7d435a92e54ce9f4c6c684448ba027467aef0aa5ed1062b8a01d102bc8b658492a53c294485aec44532679abbfa6ab4bd1819284bbca259fea000001f0f901ed43841b6b0b008304bd1c94aa111c62cdeef205f70e6722d1e22274274ec12f80b9018418a130860000000000000000000000000000000000000000000000000000000000046cd000000000000000000000000000000000000000000000000000005de113661b8500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000dfa6c10de2d6ed5a30fab1706f2beba13df906800000000000000000000000000000000000000000000000000000000065cf5f80000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000eb466342c4d449bc9f53a865d5cb90586f4052150000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eb466342c4d449bc9f53a865d5cb90586f4052150000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000083104ec3a02fcb4b729fd0000b1b42b450036cec0b42694a89f11249c8c40e602d0c5ce364a03f1d7d30f0fea01af5a5a3bfba7280a43d9641d6e6b1c88793c2b23b5d2683cb000002b8f902b5819c841b6b0b00830670a2942db0afd0045f3518c77ec6591a542e326befd3d787470de4df820000b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000014475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000004a60a526c642ce63cf3af8ff68b3f5f222611fbe00000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000035c3a150000000000000000000000000000000000000000000000000000000065cf5f90000000000000000000000000000000000000000000000000000000000000004253000000000000000000000000000000000000040001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a40001f4f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec4a0db39309a0c13d5399b502a87c9d76976b108fb6d6ac78463af62a19465a1dd8ba05a4ea58202f9fb3760a6d016cf48bd3b2fa3c96fc555b8af6dc7c1ae35988d8c00000390f9038d0c841b6b0b0083052a289480e38291e06339d10aab483c65695d004dbd5c6980b90324e84d494b00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000003345f086275da0000000000000000000000000000000000000000000000000000000065cf8c1a00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065cf8c16000000000000000000000000000000000000000000000000000000000000001b1f4714446acc571611f3ff4025b56be7b5c38e5e4f4885643224f5d8700ce9274242ae30498ecdb4713df8b2e9ef64b3343c1dceef0f307300b3106be4de5c2900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000002775bb00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000634165eb24d5d350efb78af8ac72622dddb6abff0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec3a081dc1255249c4dbb8695c8c8f08ab7803b0f54788e2509157f29d76dd09438c3a06d6543a2e7a1b16cd63b0e0047445482b5ca43c086b71f2eac0119f18f9530ab00000170f9016d20841b6b0b008302b058940122960d6e391478bfe8fb2408ba412d5600f62180b9010418cbafe500000000000000000000000000000000000000000000000000000000005815e50000000000000000000000000000000000000000000000000007276b33d5168600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000003d85b63cbb64235dca5a217a4b5f6bb8a029d430000000000000000000000000000000000000000000000000000000065cf6448000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec4a02aacddb30054f7e6d610ced3163e94d413da5f30e2af9e16574757d290d13ebaa02214396d246300511b4a13bda4a48f62991c4e65ad15ce612d8935a8d9b210af000001b0f901ad0c841b6b0b008302015a94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021cedd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010000000000000000000000000000000000000000000000000002c360c74d996d000000000000000000000000000000000000000000000000000000000000000083104ec4a0303d6a16b00f63eec2da58e7b8ae4f7139d8ff8a292a617102ccdc7c2d50b065a034b528e36c54bb9d06b3416809c788b0f7ac2886c51e90f3f9ba896de1dbb86200000073f87105841b6b0b0082cab4945300000000000000000000000000000000000004871ff973cafa800084d0e30db083104ec4a0064b39f77afc696c24c235b1ce4b5a7ffc089a4a7ac992091795fee56e81861fa07beca5f8b43806ef35c0cbffb81d6398faea07d3f6599c9e6b207162c5e7bcb1000000adf8ab13841b6b0b0082c08d94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b300000000000000000000000049952ff32fcbc3408d447e1e91da2b44bd2d1afe00000000000000000000000000000000000000000000000000000000052f1c5283104ec4a0637c537d964f0db815b28de799400692751a5a229d85d1cac6481de6ff5066f8a05a9405204981550280deacd5a53f0f030afe694c146734596c9739c2ddd2a1510000016ff9016c05841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406462623237623032623464366366386362313034363035373135316234396334613366313738363539333838666239626533306166376439623339653132376200000000000000000000000000000000000000000000000000000000000000403536616438343664383931363032333739613633333330616532306435363964653537346331326333623463303163353062393162326430313862333061333483104ec4a001228b02cf5980f6a5a363dd2b9c92d5b188dd4384799a3c367eb83ba5905ea9a06da218bced7e32aea03e7340faacd9196cf8620706c3724940e86ed0a43de6980000016ff9016c0e841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406663336331333363376335636638366331393064643534626662313931333935313935646335643832666261643866643435336166633133646333616232633700000000000000000000000000000000000000000000000000000000000000403563383532626239346561383636343232623431613334373961626332303365366635343363323263636234383330343539623634366637353164313063333483104ec4a019a522bff23191b4e6cdd24608e998b3c1eeb2881fc740fb3fcd7f67ebaf6a2fa036140611a9713b372918efabd05cfe7f49c2e3127c04dd6206d12ac868b15b970000016ff9016c09841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403962333030346339663238666663383430623235653734633538313730613661303031396266653061396632353735616464363936306433303137343731663200000000000000000000000000000000000000000000000000000000000000403831306165323931363666353664646263396266643930363864393165373265366339353236663362623764646632353138613634656161393866616665313183104ec3a02ed9872d18d77b3b0d94d62b1f8eb3c7fb1622ee9344dccfd514d09a9925fdaca05013a0a2827bca5748c9a30f76e6de96c7b05a8e2b029670286428c4c26f8df0000001b0f901ad0d841b6b0b008301c6fc94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815b6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000000a9bc262c31034000000000000000000000000000000000000000000000000000000000000000083104ec4a0b15d93e37f855257f870f48e30ee968d1f9cbd63d2cc44c9740e2584d90a25dea07d6b5184ac72cd70a4e71c77a93dd1163d8be5be9d95f7d5c8c200cee7dd6a5a00000074f8720c84270d47d3830286469453000000000000000000000000000000000000048713e9b7c1f7500084d0e30db083104ec4a0c96ac48181c37648a5b0a8d0d2f4bace55146b2f5428d7b962b4afec9ff7cc3aa04dad8aa8a0c9bddd606d09d4e122ed457b0bf25b76f4e632ca229dd0f9e26cee000001b0f901ad0c841e28f2808304646294aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd900000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000001df4d6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa94710000000000000000000000000000000000000000000000000000000001d5b767000000000000000000000000000000000000000000000000000000000000000083104ec3a0ef441f44f6b889df29c1a1119bc211df8a6eae0bfd78efbc507c9ae12f86fe10a01ef6c712c50296b0582aaefcc1d686d7e2bacd25c35b33a8eb6f452f331994b900000070f86e0e841bcce64e8254959480c67432656d59144ceff962e8faf8926599bcf8880106b047d0a05d2a8083104ec4a08ac1b19b679cbca37a23e14291c633fbea791663eeb436dd40e36dabc682f126a06be2a07be1d772757e86d2b766e8cdb803718d7586364c8dd414f218c7a5aaeb0000016ff9016c27841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403937666163376231313737333238643832646166656135346561623034356131323037663663363136376235346631306337386231643663663864353630393600000000000000000000000000000000000000000000000000000000000000403366646534323534336630613935663765616161646638666331333236346263643663623635393033643966323862353039366130366638373338646331393583104ec4a0ecc3e380171c179549339567274903e04ccb3bab7a78733cf98f2175f66bbcc3a071a6b8b24430ae1991f6b715c933ad6c88d7bd721b6c6dc0d851acf6c7d967620000014ff9014c2c841b6b0b0083014db394aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b8e4a15112f9000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004900000000000000000000000044e21fd6170fb52e5ef18e9651f1ded6d5b8d3ae00000000000000000000000000000000000000000000000000000000712e9cc6000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df83104ec4a0fd4450453d357bea53dbd1dd058f9065cf64b9909491764de5ead40d82554f12a06d60e9472210c8fd275379811d9da2079de57e65aeb29b93f8054325590fb97000000190f9018d18841b6b0b00830319ce94aa111c62cdeef205f70e6722d1e22274274ec12f80b9012418a13086000000000000000000000000000000000000000000000000000000000042859b000000000000000000000000000000000000000000000000000572d419eec2e000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000096f1c088a890e7aa295ca779ea62b3c4a507272d0000000000000000000000000000000000000000000000000000000065cf644c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000083104ec4a0311734493921b2908518370e221701dd415b7e0da9933ef661cf3aeb21f3864da01e696a3cdd97074c634b4ee022867365559a295a05f179b7b3df048ceb423a28000000adf8ab02841b6b0b0082eb929406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a741060000000000000000000000000000000000000000000000000000000021d2ab1283104ec4a0bfe1e4129b1ed1f151d1e3128d696c5c19d3f33af461978f5cd538137374c37da073c099fbd152c3c9611a7c294a99f5c6ddb4772a1eb8f32e48626cfee3c7b0920000000000000000000000000000000000000000000000000000000000000000000015fc01000000000033b3570000000065cf5d4d0000000000000000000000000000000000000000000000000000000000000000000000000098968000090000000000adf8ab21841cc9fec082d34894f610a9dfb7c89644979b4a0f27063e9e7d7cda3280b844095ea7b3000000000000000000000000b6966083c7b68175b4bf77511608aee9a80d2ca4ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a090c7745e97aeb878a9974ad10fcd6df8221a329bc09f98386e20f42b541e31d4a0067097f07a0f33728e72da44308391bb425c2804c4eb109e77e4c0632188379500000297f9029402841bb13bc083094bed942db0afd0045f3518c77ec6591a542e326befd3d7878e1bc9bf040000b90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000b7acafc6d3087e14f2aa5cb4796b8ebb65ddcfd000000000000000000000000000000000000000000000000008e1bc9bf0400000000000000000000000000000000000000000000000000000000000006c0a1a00000000000000000000000000000000000000000000000000000000065cf5f93000000000000000000000000000000000000000000000000000000000000002b5300000000000000000000000000000000000004000bb806efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec4a09b3147027eb492c0d7b330e433a96748afae847c0361522c6272ae35d7cf4ecea0382343cb4f2baa9716afa95efe987ceb371b998c92823fb3a2ed13e15318f262000005f8f905f504841b6b0b00830512c89480e38291e06339d10aab483c65695d004dbd5c698801f87c3f661b0000b905842cc4081e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000017e2f1030000000000000000000000000000000000000000000000000000000065cf8c1e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fc3e1fb30d800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000053000000000000000000000000000000000000040000000000000000000000002f2240280bfc9801852786671d8822b24f05b349000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fc3e1fb30d800000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000078ea8e533c834049de625e05f0b4deffe9db5f6e000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000053000000000000000000000000000000000000040000000000000000000000002076d4632853fb165cf7c7e7fad592dac70f4fe1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002076d4632853fb165cf7c7e7fad592dac70f4fe10000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df0000000000000000000000002f2240280bfc9801852786671d8822b24f05b3490000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec4a09ed41e256317dae7c8939e04b914fe1b89ee76aed29e4cee25bf80c06af4a511a04805d1dc363da7bf3a1758e000cc9d19459e7b45042eb461519ab3a2913d128700000230f9022d08841b6b0b008302f96c94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901c4a15112f90000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000300e40000000000000000000000000000000000000000000000000000000000030a0c00000000000000000000000000000000000000000000000000026fa9cd1d60000000000000000000000000000000000000000000000048348f14a6e800000000000000000000000000000000000000000000000000004a67ab474c1d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a0abee34d268930a6ff3cb6e5a2c1f5ad42481c583df5e61daad40c00700cee468a03e33ee54d99a5bdaca385f70061ac01aa67c9398f659fd668a04fecbf90c3c21000000f5f8f317841b6b0b0083023ad594e2e1d82b050bb5bfec776b2653a72f093a8373ab8708e1bc9bf04000b8843e49fb7e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000cbf4e2115ab017cbde3106af6f47a94568687a19000000000000000000000000000000000000000000000000000000000000000862617a68656e6f7600000000000000000000000000000000000000000000000083104ec4a09791596b8a8205fff189d08c8dcb1b5e7b79b14e121fcd78fa76eb68087e1a68a0439828d29b5b2c1382050e6a7db9c4569464a1e2e44c736f49f07b831c2eec9600000170f9016d1d841b6b0b008302a98f9418b71386418a9fca5ae7165e31c385a5130011b680b9010418cbafe500000000000000000000000000000000000000000000000000000000001ac1ef00000000000000000000000000000000000000000000000000022b199d789b2500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000058e539f6f5f9b51d02ae69b4f50dfe5ea1ec9b700000000000000000000000000000000000000000000000000000000065cf644f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec4a0ae30fc2262f5377b3e04e8da575cfdfca3b159e06ef2a4ce1220ddc1fd7fef8ba05c9af4fc6c851ac9be17ab033ad3d40592c78de1ce815846c1f0b294294344be00000670f9066d07841b6b0b00830420f794aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b90604a15112f90000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000e8e4000000000000000000000000000000000000000000000000000000000000f0b800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004b500000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000014500000000000000000000000000000000000000000000000170a0485e54095000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c1bca5a656e69edcd0d4e36bebb3fcdaca60cf10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec4a0845414890c1f6c8ba298e6f6c733dc02799e59fc5b296d021f0d5826404770afa05fe73875ba958d81c410f535fa751abb9f8e9f35960fa56e7ad91f13e51429f9000000adf8ab09841b6b0b0082eb869406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000aa111c62cdeef205f70e6722d1e22274274ec12f00000000000000000000000000000000000000000000000000000000005a94f783104ec4a05a096d939425eee9f3a96bbcf5c9e9ee90b94de46a5acd665a969ce1499690e1a0252f5545e90720aa9fdd7f5a0a62d99132d0675551b7286b2db6f26f60f07af4000000adf8ab19841b6b0b0082eb7a9406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000018b71386418a9fca5ae7165e31c385a5130011b6000000000000000000000000000000000000000000000000000000000030ae6583104ec3a0a86881ba43428799f2ebcb3887934310e14e748c9eb9cdccaf86b61df8a05af6a05e25ccdae453a37d4959dc35ef35023c5e1742beb099871ff27a8caea61305bf0000000000000000000000000000000000000000000000000000000000000000000010d201000000000033b3580000000065cf5d5000000000000000000000000000000000000000000000000000000000000000000000000000989680000900000000027af9027783069e8b8420e6da008307d95c94581b26f362ad383f7b51ef8a165efa13dde398a487071afd498d0000b902048624ba07000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f8527b85693e60bc7d61d75b3b66e87bf95a9c2600000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000026da582889f59eaae9da1f063be0140cd93e6a4f000000000000000000000000000000000000000000000000000000000000759e00000000000000000000000026da582889f59eaae9da1f063be0140cd93e6a4f00000000000000000000000000000000000000000000000000000000000003b41e655a308a9e3529bbd8dc411d2139d7a401d0d9ae4224b6acee67acdf2a491100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000cf080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a0cdd897a6f5dcc6fbbd25b5a9cb4ab50779b21e3262e9caf0b51f84bac036a3dea0305cf6d942091a8807e99ad3dc64d0f878f8bf24077511354069002f17c415100000027af9027783069e8c8420e6da008307d95c94581b26f362ad383f7b51ef8a165efa13dde398a4870e35fa931a0000b902048624ba07000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007cb004886b6d2dd0347efeccf16d0702ded43ab8000000000000000000000000000000000000000000000000000e35fa931a000000000000000000000000000026da582889f59eaae9da1f063be0140cd93e6a4f00000000000000000000000000000000000000000000000000000000000075df00000000000000000000000026da582889f59eaae9da1f063be0140cd93e6a4f00000000000000000000000000000000000000000000000000000000000000642fcf17a83301aa75bcaf967246716e5de21936025f8126111284c069b1d02ec700000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000cf080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a02593a3305a09933d5b6274123b302a3af63eaee11ee8686c9c41a0bb525f41ada0292e557f868e5a5bf9972aa0f7ef6363e8f1bc0a66a09421ed528055c0440f2900000191f9018e820382841e28f28082ba0194760bd7fc100f217678d1b521404d2e93db7bec5f80b90124782661bc000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000065cf5d4a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f610a9dfb7c89644979b4a0f27063e9e7d7cda320000000000000000000000002a00647f45047f05bded961eb8ecabc42780e60400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000b24fe8e001b19b496000000000000000000000000000000000000000000000000000e3b71d1085e90b83104ec3a0dc69949039c3885783a47a050066359142e71c08bfcd8683247248593c6c97cda0322c2979cb5c610173ad909a4082e6ecae12891e241037a57b5f4f5a7cd2a8a4000000b1f8af830cf3bc841cc9fec0830218ee9487627c7e586441eef9ee3c28b66662e897513f3380b844535b355c0000000000000000000000002cd72159b2e0e05c513bb9a2a8266e7235b5f23a00000000000000000000000000000000000000000000000000103ab0a5f0140083104ec3a0320436540ef64b0bd67485637ed0e6eb7b9bc14e37bc30f9bb4a99819745b9f6a00700935c10af284e965748289dfb7e9e51b4c43e6c91524546781f57a0077d1d00000297f9029416841b6b0b0083039f00942db0afd0045f3518c77ec6591a542e326befd3d787029d425ca1cffab90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a71833fa1661ae9e040a0687bfec334d5819756b00000000000000000000000000000000000000000000000000029d425ca1cffa00000000000000000000000000000000000000000000000000000000001fc87c0000000000000000000000000000000000000000000000000000000065cf6451000000000000000000000000000000000000000000000000000000000000002b53000000000000000000000000000000000000040001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec3a0eada1f4ef34585719084907bc7cb6cd275e589fd28a0d011259b533b92b9ed2ea046efb8b3d6764cf4e52ff79fc15d23b56a412ca684136bbe00b6449d0c18586c000000aef8ac3a841b6b0b008307389394ec53c830f4444a8a56455c6836b5d2aa794289aa80b844962941780000000000000000000000000d8f8e271dd3f2fc58e5716d3ff7041dbe3f0688000000000000000000000000000000000000000000000000000000006f29a44083104ec3a04f002290ca86f4dd7cf4b89045f2c7b4d1270f9ca203e37c9d26302380dd36b3a0097b79a6834588d6e0ed0db54d21730adacc7ad056ed5a23ce09578bb10cd2f5000001d0f901cd27841b6b0b008304b48f9480e38291e06339d10aab483c65695d004dbd5c6980b9016453c43f15000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c700000000000000000000000000000000000000000000000000000002cfbbd3b4000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000001c002d4e97ce210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000bda0f952248689320fb469256d0176a5e8246dd10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a039b5ae9351a9c978b4eb4c66e94fbf1c0bfcd74deddeb7b5e386005b37025fe4a04dbaccc1ac97218a504f98258bf0cc4f023f1db49ba7f2842c4b402aabc2dc9300000156f901531a841b6b0b008302b6d6940122960d6e391478bfe8fb2408ba412d5600f62187029addc3b10f92b8e47ff36ab500000000000000000000000000000000000000000000000000000000001fe5920000000000000000000000000000000000000000000000000000000000000080000000000000000000000000d4113ba0ab0627ce2914cc65e22279dcf72b98b20000000000000000000000000000000000000000000000000000000065cf64520000000000000000000000000000000000000000000000000000000000000002000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a483104ec3a07fa0eac0e9caa7b530500379f60d95361dcf34fd3e6e870a19b97a0f883ac8b5a049f5c632ef55510522acf527ac63d834da4c6bb55c64a601b9c848a93904b715000002d0f902cd07841b6b0b008302a1289480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000010fe4462828cb80000000000000000000000000000000000000000000000000000000065cf8c2900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000d1422e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000483d1e4ab0fe0b51d1635f81e6d2c7767f163cf0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a0531a15025f2d0a166acefdc3a6eb02b3244db4665e28d8786fa4eb042bd1b97ea0167aa603f0aa0a2d72de4700b589d08080fb868108833d874c9bd9342e1a0fc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ec402000000000033b3590000000065cf5d530000000000000000000000000000000000000000000000000000000000000000000000000098968000070000000000000033b35a0000000065cf5d560000000000000000000000000000000000000000000000000000000000000000000000000098968000070000000000aef8ac11841e28f2808301d70c9406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000080e38291e06339d10aab483c65695d004dbd5c690000000000000000000000000000000000000000000000000000000001236cd083104ec4a0935870dbd80f7494bbff8b3643b51d551a28a66bca71a8d77ef9725e2202324ca042bc799abb90ddacc6d9c0485a70b4985ca7f5f775f1e8a6b8540b7ef95cb88300000170f9016d0c841b6b0b008302a99b9418b71386418a9fca5ae7165e31c385a5130011b680b9010418cbafe50000000000000000000000000000000000000000000000000000000001daab9f0000000000000000000000000000000000000000000000000025cfe733288fd000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000e8a10a27a426e45d0dc9e6fe7d0706ecca5bb5c90000000000000000000000000000000000000000000000000000000065cf61fa000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec3a0c607fe1ca9647c3b3d53ca980ca251c38652d452f4dd8c2739b3ce567d4ae10ba0206b5cf5ebffacc4ec970a94e98d30ab3a279a3a19fe2d0d9e20f3ceab4ddcd5000000adf8ab01841b6b0b0082c08d94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a74106000000000000000000000000000000000000000000000000000000000230e8f483104ec4a0a9f18510c4a155f424e875116ac000c50ef3c12fc3cb4c78e0004b00b94b5459a02a1749dfb081e998f1576a729aa07d68ff8ce93b21410cb9d2518353714cc029000001d7f901d407841b6b0b008306055494aa111c62cdeef205f70e6722d1e22274274ec12f87354a6ba7a18000b9016467ffb66a000000000000000000000000000000000000000000000002490d4b639b45400000000000000000000000000000000000000000000000000000000000000000800000000000000000000000008676280fd21c0c4884d025cda7d33cb0d8714e1b0000000000000000000000000000000000000000000000000000000065cf5f900000000000000000000000000000000000000000000000000000000000000002000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000ca77eb3fefe3725dc33bccb54edefc3d9f764f97000000000000000000000000000000000000000000000000000000000000000183104ec3a0d6fd9d16cf26bd1d404362b7faea51d3b1ecabcca3c1bb517b7c4b3ed18e31b6a043af881b21add53846cbebf1432995a7ffa39f9f464c8385f9e64ca42a8c0cd1000000aef8ac04841b6b0b008301b0329406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000020e77ad760ec9e922fd2da8847abfbb2471b92cdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec4a0a370ab1ff339d2a0621c01b3acd0134ef838a8a44b45414bc847e563b99e1034a03a70d4f9035dd45e7bddf39adde6f760183f5c06c33234dd77941ea9db56f65a000002d7f902d404841b6b0b0083029f7a9480e38291e06339d10aab483c65695d004dbd5c6987038d7ea4c68000b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000273408f102f1b6870000000000000000000000000000000000000000000000000000000065cf8c2b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b39880c7a0b752179d6d7d9ae594ab4c02d6e5b800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000b3f6c27bd09e7c96b349d9c844425402ca4ffc6c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec4a07b7aab574a9df8b5550e7dcfea0d87fde4759976fa8dba68bdc360a864dd87e2a0339763b7356217293d8df104c0e2199e2693de22fed4f984b6ff6f5653875f02000002d0f902cd0c841b6b0b00830332d79480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000021b510f50000000000000000000000000000000000000000000000000000000065cf8c2b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000ca77eb3fefe3725dc33bccb54edefc3d9f764f9700000000000000000000000000000000000000000000001ec9267e496c2eed9e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009da72cbd2f262a898b3e47e56ebb385d8fb160310000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000ca77eb3fefe3725dc33bccb54edefc3d9f764f97000000000000000000000000197587ffee04c183b8d129f3bd192ec79f2df8ed0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec4a0d471da2e709cb335326300e855bd57bbf8987631549184037c6befc7184fdf02a06a74fd7b7e39b4f5db40189623066116ffa145bb545897ab3a6c44d2992ffd790000008df88b0d842378a9cf8301a2cc94530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000001442d92927700083104ec3a06db22ecdb8c44e05d295d0a470c4394d010a70d5fad09a99ee5ab937b6e6feefa05fd8ab427a2f685894f51bc27f5c6ef0711d797170738482d10b54497a5c7cf800000890f9088d16841cc9fec083045764946131b5fae19ea4f9d964eac0408e4408b66337b580b90824e21fd0e90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000005e000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000388a31bc568dd6ebaaa3b1f52078c00070bf98200000000000000000000000000000000000000000000000000000000065cf61fc00000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004063407a490000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000e64ae4128e725868e8fe52e771e3d272e787b04100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000d3c36a9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000012344a3b6400000000000000000115c661b0c960a300000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000388a31bc568dd6ebaaa3b1f52078c00070bf9820000000000000000000000000000000000000000000000000000000000d3c36a90000000000000000000000000000000000000000000000000110382c8969309f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc8970000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000d3c36a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ec7b22536f75726365223a22222c22416d6f756e74496e555344223a223232322e343934303630393232222c22416d6f756e744f7574555344223a223232322e3336393835323831303034323931222c22526566657272616c223a22222c22466c616773223a312c22496e74656772697479496e666f223a7b224b65794944223a2231222c225369676e6174757265223a2254354f557571596e5533656c677055396d4967546f7a7a54557545662b6a32714e31567042437663634d414d636c62366f6b574158712f596666532b7449655852642b4d686f6d5350324f64515137446331746b73794a4c545870344438794c51616a744a43664e30434b48532b43756251316e30633156586b3452724f744a3178544f793567686d31314c7a4f53553454797a3758656b69697274396d4379522b6f464a6e5351386f70305553475a78452b4848665757574e714a37527066364279374545376235684c323454707979554f5556416b4d434844736a51342f324e426557763041794c7a756473386e72564661792f6e7465552f6164595067394954514f63766f764d51615335764d7a566c372f4d4e6e6d6747767330474b536338553746454130446b76415664674d354c79706375726152484178377a554b66696542794c585170457a623779705061566559673d3d227d7d000000000000000000000000000000000000000083104ec3a0d3bce97a499c21c9e45aada4faf007373880d779bc0d04492975275de5a1104ea0469ea393e1664cb67d01d6731da35a7ba5001d0939b949a9742895a62d4b3b58000002d7f902d40a841b6b0b00830277459480e38291e06339d10aab483c65695d004dbd5c6987279b35eccac800b902642cc4081e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000001d3dee50000000000000000000000000000000000000000000000000000000065cf61f4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000279b35eccac80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c7000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000f4c9ebc24fdc9365af70b50fcc5db690727f4d2f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec3a048d07fc682185f39b8dbd23d133dfffc9d571d65f9666959972d19d39c223199a06abd87509d30d13f9ebf2f39ba98a2b016f50949ff56a5fa2158ad99c1526895000001f0f901ed19841b6b0b00830484aa94aa111c62cdeef205f70e6722d1e22274274ec12f80b9018418a1308600000000000000000000000000000000000000000000000000000000035d57cf000000000000000000000000000000000000000000000000004669d9b462d94c00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007b2da0e5f3bbd7e824a16e7f8767de19718e81a70000000000000000000000000000000000000000000000000000000065cf5f9b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000083104ec3a07099ad585abbe34b4a0fbbdb439e08e8c5ad971186b643ffdf768e6c41d4a881a0110016f65fbb1db83e3fb9e0d276a0b460fe4a200b84ce3fe86e4df6429ee1ee00000210f9020d1c841b6b0b00830391049480e38291e06339d10aab483c65695d004dbd5c6980b901a4ad271fa3000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c7000000000000000000000000000000000000000000000000000000001244db0b800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006857b8405a0c7d59a377eea4132a9aa5dd0fb8150000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000458f300000000000000000000000000000000000000000000000000005b1c9a228c2a000000000000000000000000000000000000000000000000000000000000000083104ec3a02e493a1637a22779df70d0a34672cd24e3a80dee6fa4d5ddc23bbc21b9a6c577a05abd6be21cef3c601ef1a04f3d94d6951ad6f7548c43981a6e68c5f179a787bb000000b6f8b421841b6b0b008303208594ec53c830f4444a8a56455c6836b5d2aa794289aa8802c68af0bb140000b844f2b9fdb8000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c00000000000000000000000000000000000000000000000002c68af0bb14000083104ec4a0d90626be654564f972bbeba32a8a77f3f459b7bde53f391c4bf8a44d2a781fa4a04c1979fb14823c8887c1bc862b5eed863e4c70c8666edfb2d02cd7b39bb0fd3700000272f9026f821c29841b6b0b008304edd4942f2afae1139ce54fefc03593fee8ab2adf4a85a780b902047c39d1300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000d6000000000000000000000010000000d600000000000000000000000068ee9bec9b4dbb61f69d9d293ae26a5aacb2e28f3af87783e5e41bc35e1c36d03e43c91aa9eb2f380f25e7dd551274883b64397f0000413e7ddb7398704111e18336a581e4f5828d18334669530946d68b41c8714a6c49e822e565f6b7eafa05eb57e57294fe3ad2a0e893d395e0513f11a201adcfb592c51cb8d06f4bc3b027d901a67a35e2df916f5fff66ff523292ae8de6f92d353316672a81eabe21a365c46da275af820a188a89e5e8f16b7cb31803a94c0e84deaf171b00000000000000000000000000000000000000000000000000000000000000000000000000000000008d030000413e0000000a0000000000000000000000002a5c54c625220cb2166c94dd9329be1f8785977d000827500000000000000000000000007dac480d20f322d2ef108a59a465ccb5749371c4000000000000000000000000597ffed7bacccfd7e63315a8912b7c0b84258c04000000000000000000000000000000000000000000000000000000000262929b0000000000000000000000000000000000000083104ec3a0386cb4189d92acf5d7d570c3ff9f97fa775168c079938346b58e7ecab9a100e2a0354168ebc77f29df036b746e2936a6ed09c6e134d59e41dba1d428ca6345fb45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001cf302000000000033b35b0000000065cf5d590000000000000000000000000000000000000000000000000000000000000000000000000098968000060000000000000033b35c0000000065cf5d5c000000000000000000000000000000000000000000000000000000000000000000000000009896800009000000000072f870830387d48420e6da00827b0c948d4fdc55b38dc07328542cc6b87487518021da2a871f9e80ba8040008083104ec4a06448351025863c81296ba4a2d51345a635bfd1ce3226b63e5a075bb828455059a00790f20fb07a99059f313faf298e16227661ffeba05e069069828d70db07dbfa000002d0f902cd0e841b6b0b0083036b0a9480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000070c78552776f0000000000000000000000000000000000000000000000000000000065de9f9300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000566ef00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000403e48f9dcc960774f1cf26cfe386441e4fc2e290000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec3a0784c112c3de96730ceb896dfb7607c2c48622b72aad2a93e3f8e9502dbb772c3a00f827f9b7f55bb42740f2d7768d53cb0e05e4b19ceddbfbe8c4fb23f463d3664000001b0f901ad2d841b6b0b008302a9b794aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029db6c99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a08d31bb136e555ac1c0eec28f526e493773dea219f465077779b0c3bf6083cd02a074163bc9e194e76aeeda5d20c5f0a45132fa799fdc959f860378ecb28bb00b3100000070f86e12841b6b0b0082520894e4edb277e41dc89ab076a1f049f4a3efa700bce8883624e994372fe3368083104ec4a014ba7d1659038f888c059e5bc471313b0263396e35846e3c3bde9ea3f56e4baaa05c53e7f6ba8a68cd269c1bdf6d3b96fe15ca4d124401c49dd315534bcc38493500000156f9015303841b6b0b008302ae0b9418b71386418a9fca5ae7165e31c385a5130011b68713fba854cb359db8e47ff36ab50000000000000000000000000000000000000000000000000000000000f5517500000000000000000000000000000000000000000000000000000000000000800000000000000000000000008576780357c9b0a827e34a7bcefa4fd56459538c0000000000000000000000000000000000000000000000000000000065cf645b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a483104ec3a0badb683668a6ea9f8f44c5923f3b7bec676f20ebad85cb7992d8cfd46bc40f46a006c1f9439733665f7b94e815b4f3bd3125130e270c43fcf95bf9c37c659e1c9700000297f9029416841b6b0b0083041a17942db0afd0045f3518c77ec6591a542e326befd3d7879c19b53548e118b90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000085b4a1cba62c6a49013473e6192ecdea0c38579f000000000000000000000000000000000000000000000000009c19b53548e118000000000000000000000000000000000000000000000000000000000766dbad0000000000000000000000000000000000000000000000000000000065cf645b000000000000000000000000000000000000000000000000000000000000002b53000000000000000000000000000000000000040001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec4a00280e98f705e3a7ca0ab22ba62e6ef4f56367cbd6208dd899a0019b18800eec8a032def900e9c0dff648e85d15dc75e263aadc0b506d4898fe57d22b47045ad10d000001b0f901ad03841b6b0b0083026cc994aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd900000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000021d2ab120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa94710000000000000000000000000000000000000000000000000000000021bb3676000000000000000000000000000000000000000000000000000000000000000083104ec3a06c477816c677f16be78c3445450da1faddd63b10b7fed3e12add5a6dbcc949d4a00da8bafba1bfbca632db7db27e5681b423c67a029349010546b0b543f8e15d08000000b6f8b417841b6b0b008303208594ec53c830f4444a8a56455c6836b5d2aa794289aa8805d423c655aa0000b844f2b9fdb8000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c00000000000000000000000000000000000000000000000005d423c655aa000083104ec4a0b47ec8b802c9040cc2f3af7858355eb494d36fb496a0cb5645a94c6c006ae1daa04a90fcabae82cde0b4bdf080a8916ebfedd71aa0b208403fdf8401184c03246600000177f901741a841b6b0b0083031f1b94aa111c62cdeef205f70e6722d1e22274274ec12f87073ec4bccb2a24b9010467ffb66a000000000000000000000000000000000000000000000000000000000057d24e0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000e6e73f6143585f697cd7e5833c44826516cf6af50000000000000000000000000000000000000000000000000000000065cf645e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000083104ec4a09ce383db5d2a701de7074c9814153822307461bbbc6a9c2f6dc7ae6053f35e71a01fbd7ad428670d0d5b756761c256eeb7701c72095cc6099204953a74ead84cbf000001b0f901ad11841b6b0b008301da9e94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000000c83925ee514a1000000000000000000000000000000000000000000000000000000000000000083104ec3a0bc63d8277ea8ee9c3f47339cb562edcace9b4b7c0cc4660f4c707f64c689e649a0568b580cf107c3518cac27a21085ac59968b5c9a5e522d68369eee8ec412b635000001b8f901b53a841b6b0b008302638f94aaaaaaaacb71bf2c8cae522ea5fa455571a74106881bc16d674ec80000b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa94710000000000000000000000000000000000000000000000000000000151cf1eb7000000000000000000000000000000000000000000000000000000000000000083104ec3a04663efae6ce92344299c81b1d395c3f53ba6e888f51976250db7cc0a81cf9a7fa07abf4bc9a9d968bbe148e5e90e2f52c5caed8fe005f0a6c4132f0fa7855d11ba000001b1f901ae8199841b6b0b0083028bf094aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000000000000000000000000000000000000000000a97d36a0000000000000000000000000000000000000000000000000000000000000000083104ec3a02a4c7abcfc2132ab2ff2bedc3010e22d296c35a1a89ff7260a6b8662e446adb0a073f9839c2fe2db2af14ed4d960339ef892c3f7d7decaa50da4863641212b41340000006cf86a1b841b6b0b0082d064943035f73e3a323f7ee4847ec80ca643712436868680843ccfd60b83104ec4a01e0b3c07cd1b87a8b36c6de1524b645877fe9a8a3552cf1e8861ecb5652dde2ba05545dc5bb95dfae820f3d0a043c33ccbc82445aa14d1cd0191891fb78a93288e000007d6f907d31e841b6b0b0083039c06940cab6977a9c70e04458b740476b498b214019641865af3107a4000b90764a4d73041000000000047ba1c65ce57be4cc04b4e1920e974349b9cd1a1ff1b398ba16557ba1d37960989991665f5e4faeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea6e3c945727911627b802aae7538262ae993ca117a0e481f908209137a46268ef7a6d73faa274536f1fad8544486cc4ad84c6a788aec7b156a6ee2d1cfd2a8bb1ebdd705d64f1cb251a3df7c1e81b607b232215c54d2c9e37c5903b91d7ab07700000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000068014000000000000000000000089873d3ecdda963fcdfb9abc372c6bbd516da0b6003201000000000000c803e84cc04b4e1920e974349b9cd1a1ff1b398ba165570000000000005af3107a4000000000000000000000000000000000000000358c0000000000005af3107a4000000000000000000000000000000000000000325a0000000000005af3107a400000000000000000000000000000000000000035b50000000000005af3107a4000000000000000000000000000000000000000340d0000000000005af3107a400000000000000000000000000000000000000034090000000000005af3107a4000000000000000000000000000000000000000340f0000000000005af3107a4000000000000000000000000000000000000000340c0000000000005af3107a400000000000000000000000000000000000000035df0000000000005af3107a400000000000000000000000000000000000000035e10000000000005af3107a400000000000000000000000000000000000000034010000000000005af3107a400000000000000000000000000000000000000034000000000000005af3107a400000000000000000000000000000000000000035e60000000000005af3107a400000000000000000000000000000000000000035e40000000000005af3107a400000000000000000000000000000000000000033ff0000000000005af3107a400000000000000000000000000000000000000034020000000000005af3107a400000000000000000000000000000000000000034030000000000005af3107a400000000000000000000000000000000000000035e30000000000005af3107a400000000000000000000000000000000000000035e50000000000005af3107a400000000000000000000000000000000000000034060000000000005af3107a400000000000000000000000000000000000000034070000000000005af3107a400000000000000000000000000000000000000035d60000000000005af3107a400000000000000000000000000000000000000035d50000000000005af3107a400000000000000000000000000000000000000034040000000000005af3107a400000000000000000000000000000000000000035d90000000000005af3107a400000000000000000000000000000000000000035e70000000000005af3107a400000000000000000000000000000000000000033f50000000000005af3107a400000000000000000000000000000000000000035d80000000000005af3107a400000000000000000000000000000000000000035db0000000000005af3107a400000000000000000000000000000000000000035dd0000000000005af3107a400000000000000000000000000000000000000033f90000000000005af3107a400000000000000000000000000000000000000034050000000000005af3107a400000000000000000000000000000000000000035d40000000000005af3107a400000000000000000000000000000000000000033f70000000000005af3107a400000000000000000000000000000000000000035d70000000000005af3107a400000000000000000000000000000000000000033fb0000000000005af3107a400000000000000000000000000000000000000035da0000000000005af3107a400000000000000000000000000000000000000033f40000000000005af3107a400000000000000000000000000000000000000033fa0000000000005af3107a400000000000000000000000000000000000000033f60000000000005af3107a400000000000000000000000000000000000000035dc0000000000005af3107a400000000000000000000000000000000000000033fd0000000000005af3107a4000000000000000000000000000000000000000343e0000000000005af3107a4000000000000000000000000000000000000000343c0000000000005af3107a4000000000000000000000000000000000000000378d0000000000005af3107a400000000000000000000000000000000000000033f80000000000005af3107a400000000000000000000000000000000000000037910000000000005af3107a400000000000000000000000000000000000000033fc0000000000005af3107a4000000000000000000000000000000000000000343b0000000000005af3107a4000000000000000000000000000000000000000378f0000000000005af3107a4000000000000000000000000000000000000000343f83104ec3a0f912fb2b6036afb7701b0e3b3a2eeaac407ec6e0163905fa62b9dc8b231fd572a02d6e41fdd339cf8d2e99b68d19b34353b25fb21cd8494042dd36191ddb0b3516000001b7f901b403841b6b0b008301bba294aaaaaaaacb71bf2c8cae522ea5fa455571a741068706eacfdaf54ea3b901443d719cd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053ec600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa94710000000000000000000000000000000000000000000000000006eacfdaf54ea3000000000000000000000000000000000000000000000000000000000000000083104ec4a0fddf17e54d7766805d0aedebb31368325a5faa2a9a1452d4ba0455c626ee40f6a0509efc0d0ed665c9812dab5d08f3bcd6437727d7f26a51990aa12fbe507768c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c2c02000000000033b35d0000000065cf5d5f00000000000000000000000000000000000000000000000000000000000000000000000000989680000e0003000000000033b35e0000000065cf5d62000000000000000000000000000000000000000000000000000000000000000000000000009896800009000000000073f871830387d58420e6da00827b0c9469069926d6bd30894f3ea4160517f893760d2400880af57f0c304bd1628083104ec3a00233538aa6b42c036be030d6fcfe2be35bd782e934eec6c8a4660c226ffdd590a06c4f635787503c94609a20946125fd8ab6448177cdb2b370692b29bb3e854ffd00000074f87213841e28f280827e609487627c7e586441eef9ee3c28b66662e897513f338828f20ed1c52b500084db6b524683104ec4a0f04ee31635bc13997108dc13e712ab31b7f994df71c72048d7110bae97eefb5ba00e2d115538b15d26f17849d26fd4fa613225d1df03bc88fadee6aa0b92c790d9000000aef8ac22841cc9fec08305b33394ec53c830f4444a8a56455c6836b5d2aa794289aa80b844f2b9fdb8000000000000000000000000b6966083c7b68175b4bf77511608aee9a80d2ca400000000000000000000000000000000000000000000000000477172d5200dce83104ec3a0194691675a9a7d295c834b2827b29751785ae948ae415bfa15aba3093e7e1400a05e4f10c46283b489063c126d2f915e15ed28c48bdc78d29d5513ac8279d77e52000001b7f901b403841b6b0b0083022b0f94aaaaaaaacb71bf2c8cae522ea5fa455571a74106870503868ae20816b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003d09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa9471000000000000000000000000000000000000000000000000000503868ae20816000000000000000000000000000000000000000000000000000000000000000083104ec3a0e42efffd772a3b7c0451860cf7a42f3186c5dd947baab5ca5c3610d70b59632fa06985bec360379627360f4734115430af3e37b4ab1a82d5b141cda2af023ea1de000000adf8ab08841b6b0b0082b4d894530000000000000000000000000000000000000480b844095ea7b3000000000000000000000000ca6fe749878841b96f620ec79638b13daad3d320000000000000000000000000000000000000000000000000004db1ea3398bf8983104ec3a0b56801f2c69152c0eb26c18c2aef323d9d9ca2ea3286c3d80eabac5542232759a01016e1155074425801692088be5c1bb4d9e8fe7aec33ca1877351f922cbf4da300000073f87152841b6b0b0082def9945300000000000000000000000000000000000004878a8e4b1a3d800084d0e30db083104ec3a0c016aab630a5d4e102e28dd453adab7cb2e4846a05a9fa4352c885f172180caba03ce46f41ed686e4a0876a2e3f07b2ac5519e5e5648bd7d670ffe4b79e7eb45d6000000b6f8b430841b6b0b008304cb1b944c0926ff5252a435fd19e10ed15e5a249ba19d798802830a8a80588000b844c7cdea3700000000000000000000000000000000000000000000000002830a8a80588000000000000000000000000000000000000000000000000000000000000000000083104ec4a0e5bf58d9611c480a120efe43172236a6180cfa56dc0c22231ecd6dbbb93065eda045e0539e1e02e9c6c494b99a6557c585d620aa77172619e59872e4b47ad471c5000002f0f902ed2c841b6b0b008306c8bc942db0afd0045f3518c77ec6591a542e326befd3d780b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000014475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001312cfe0000000000000000000000000000000000000000000000000018f048a762311a0000000000000000000000000000000000000000000000000000000065cf5fad0000000000000000000000000000000000000000000000000000000000000042f55bec9cafdbe8730f096aa55dad6d22d44099df000bb806efdbff2a14a7c8e15944d1f4a48f9f95f663a40001f4530000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aa9c1ff8f4f551628aee852ada8db49c969bbd4b0000000000000000000000000000000000000000000000000000000083104ec3a0d4be9040b5d6f1b9c543150005db9e6ea5aad4b6cd77913da7edf327aa7001b1a035198ada98958cbd32425c45c01812d610ed232e4cea4c8d32b5f47d857fe216000000aef8ac35841b6b0b00830161499406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000ca6fe749878841b96f620ec79638b13daad3d32000000000000000000000000000000000000000000000000000000000016e360083104ec3a0bff5c169d9800ba195138a435320a0f8bb0fed6eddb98dca1936020469c10ce1a00ba87e515622cb86138f4e84337d971708b27bd779fc78b1f68bd6e57e5f31b4000004b0f904ad40841b6b0b008305aa8394ca9fbef94d7cc8662f4711a8612ff9dc1526e65080b904443593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf5fab00000000000000000000000000000000000000000000000000000000000000030a000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065f6ea550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ca9fbef94d7cc8662f4711a8612ff9dc1526e6500000000000000000000000000000000000000000000000000000000065cf645d00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000411545b7a847b27c4cd0a2a7c7af4bfe86a29d1558961f4ca845dcdb70d0c590817194bc4eab8488855b90014893c4624c69a0e5b0a0927ec4f2d2849c6d992b941b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000872e19000000000000000000000000000000000000000000000000000b02790bf9efd3800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000042f55bec9cafdbe8730f096aa55dad6d22d44099df0001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a4000bb853000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000b02790bf9efd3883104ec4a06d6536502413845a633db9bdb379ef42eb36ed74776fe3f4972affabc4cf8128a0132e4ce162eb844c716eb62baab947c7d11ad9803a0cc4fa2f128d042ff9f83a0000008cf88a06841b6b0b0082a73194530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000001ff973cafa800083104ec4a086df7b096bc6268e204061ba775f854e208436abf514b2ef92e1d7e575812464a00e5de0bf96566f39f4062d8b8347ebf1f5f9e13f63c9a1776b4bb50e451ca2bc00000105f901020e8423ace5868307016f8080b8ae6080604052611050600055348015601557600080fd5b50608a806100246000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80636ece0dfd146036575b600080548002611050029055005b603c604e565b60408051918252519081900360200190f35b6000548156fea2646970667358221220007a1e34955d5ab7768054f73fc7dd2c73c07a8aad13eaeb05491ea77efea1e564736f6c634300060c003383104ec3a0a9482f6b7a49b90a07ffd6171f1949ed12f1e794d6cb5f100e8194de832bcecfa0757839c8bd05fcf2f919040fec72d35ea77db72fe1afc0c4a3948da076efbf55000000adf8ab1f841cc9fec082c1dd94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b30000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a0e9ca49f9b9bbbd7d41e3910d6e5764796dd774bd2fe7d7f2c9aedb665ff5de88a04137754e6eca52980a27c053dc3f060e6d17b0b0f14263166aab7508c7848bc70000006ef86c43841c03a180825208941069d8fc5d6b2ba45971a0e52ce4acae7456e2e686e35fa931a0008083104ec3a0dd6e2b59b7cf7143057f4a2d3f4815c06b3b51de1a05d9cbf1a1f5f316ad3e98a018fdb61bbd29fa3a2704572e393d52143b9aef6533af676660673f5317018bcd000000adf8ab05841bb3d1f882fc269406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000018b71386418a9fca5ae7165e31c385a5130011b6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a0ba9526304d47a8dfc3c28d2fb15a97c2273c8894aadcef6b02cc78510fcf4f19a0630dd678a5ba2126d055599695010cfbfef18c46e432924f4be92dfdee602af700000272f9026f821c2a841b6b0b008304ee76942f2afae1139ce54fefc03593fee8ab2adf4a85a780b902047c39d1300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000d6000000000000000000000010000000d600000000000000000000000019dc38aeae620380430c200a6e990d5af54801177f5dc80ea862ef3316a4761133a0b0f521c9ce0ca20216422e2d7c55bb725ebe00004c931b144624e8c9e538faf7f31bc67b8b17dbc550dee3f6feee3a19b4a1b79794a81d698feaa62a6c773118dd1a2d03c0e675d828fc7f9d42c1846f8d472e6777191b14a4b6e1bdea5b8e35b5921ff847e37c8e9127f7bdda630f802c54a58f1618f46597d054cfe1ec0e3671460d2c4e57b68e6f4fb7ecb916594a828344b9fc264e1b00000000000000000000000000000000000000000000000000000000000000000000000000000000008d0300004c93000021050000000000000000000000007dac480d20f322d2ef108a59a465ccb5749371c4000827500000000000000000000000007dac480d20f322d2ef108a59a465ccb5749371c4000000000000000000000000fa6f614a574509ad2bf37fdaac4238efac526af20000000000000000000000000000000000000000000000000000000010180d090000000000000000000000000000000000000083104ec4a0fb08ebcd88ff7b736e2590222ac76cd60d87749ae01fe805091fa33f024057e9a065dd35698883277c90eeaeada50f92fb6dbdd80ee98efa75bd71b70506ad01e300000352f9034f828d9e841b6b0b008304dc6d94b279fb706f1c7f42fb214351efb16f3f6023e91080b902e436fbafad000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002a0302b04e88f417bf5bc34440c992e7fc39ada92cf637025383da32d5a706019711ac621e3ff86842e57dbac9ddd524600521a4329e281798c27dd94c3d50a3e0a2f5960fae8a00bc2d0eaf91648e45cfe1e56c9df97ad53cefeb4f33595bbbf220481d16d4276177fbbdfa16908ea5337d9781ab31895c59624b2aae611d41c3a2eaeb8f7c85e356326beb4c41c1e5517b74d3dc1a0b103a98be4913f8fe007b423e8a8c7b9be3d53dbe7526b1e0ed8472e31f858ceb6d3fd7421427256628bb91c3a286b43222f32996c896821a05f021522d5ad4e64d99a43ed20f3cbd8ea44242092c1245d569844a544ed58b9b4889d4d88af33f2699ad2b1fed3db37daba0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000002282920000000000000000000000000000000003691acf6853a1a48fdfc1ef15d8a5ebc0000000000000000000000000000000023dcd99d6a7e50aaf9643bf678562a0b00000000000000000000000000000000e3c76d1f3187d0e6cac350cf3b464c2800000000000000000000000000000000ec250421db775b9a623f6f5d820ab73e00000000000000000000000000000000b554c24f9062c6fa524e1b009cba68c0000000000000000000000000000000001a4e4729e0510b7e05000ca20c8f6cce00000000000000000000000000000000f42b6548693b256b03698ce4414a6cda00000000000000000000000000000000c7932b7cd6af6da5110c196d7b6bfc850000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000001483104ec4a0f122b13d5ec8378378fa0bc97e61733c7615d3e031eb5f597de5d3fcd670013ea026eae1aef1f6864b46f931f70d15ee6f863e227eeaf972cffa660eb989e0d8dc0000016ff9016c06841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406435656264333263336361333164373666376538313132633639653234323236666563343737336532343130633738386639373466353230333564353361353600000000000000000000000000000000000000000000000000000000000000403535343139366239616238363638353433653937656165643162313562353939333238613139343037646236613935316637373238306662396231616232383583104ec4a083f8946cc227d7c03c14a3eabb0e1757f091c1a699f3587047c93c99f75fa979a04f37e0d04e09ba3232cbc42a11b790f44956f342aafd8526e27b67d43eed9b1b00000156f901530f841b6b0b008303222d940122960d6e391478bfe8fb2408ba412d5600f6218702c567e6ecc000b8e47ff36ab5000000000000000000000000000000000000000000000000000000000021e1110000000000000000000000000000000000000000000000000000000000000080000000000000000000000000403e48f9dcc960774f1cf26cfe386441e4fc2e290000000000000000000000000000000000000000000000000000000065de9f9d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a483104ec4a0699b5de7ec32b611eafd3427a05811d23b93deee66d38292fab06c71b418f7a6a00874a4b74d29bcc6e0b5a508de5c719dc539b9a6bfa7132668cac063a6fa14bc00000211f9020e81f5841b6b0b008303d4ec9480e38291e06339d10aab483c65695d004dbd5c6980b901a4ad271fa3000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c700000000000000000000000000000000000000000000000000000003bb85ad08400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a1b7aba819ee4187f49187f772a88a8084c40118000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000e35e0e00000000000000000000000000000000000000000000000000129dcd68ad479e000000000000000000000000000000000000000000000000000000000000000083104ec3a044064c9ebce34ed7c18c3728562c71838030a3df73f0ed6ee05a2e019463ce7ea04a0556655a2279a06bb67a2af3cd55a6dcc244400119f3b6ab02b3964c480a070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000221a03000000000033b35f0000000065cf5d650000000000000000000000000000000000000000000000000000000000000000000000000098968000070000000000000033b3600000000065cf5d680000000000000000000000000000000000000000000000000000000000000000000000000098968000090000000000000033b3610000000065cf5d6b000000000000000000000000000000000000000000000000000000000000000000000000009896800005000000000071f86f8216508423a4c180826aa494749995e75be19bd6d48384896858715e39ede01387058592c16438588083104ec4a0f6371f911a5763f8ccc02ab331f542684e99707d3aaea090db6b681280baac72a01141638d6e887ebe7e551d5039367ac5ce8b25b0d33bdb4bf4289530c24b696500000190f9018d29841b6b0b0083038e2a942db0afd0045f3518c77ec6591a542e326befd3d780b9012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006602a4cf6c23910610bb9fac56589aa55e736bce000000000000000000000000000000000000000000000000000000000fd26b3500000000000000000000000000000000000000000000000001493e4d51310cbc0000000000000000000000000000000000000000000000000000000065cf5fae000000000000000000000000000000000000000000000000000000000000002b06efdbff2a14a7c8e15944d1f4a48f9f95f663a4000bb8530000000000000000000000000000000000000400000000000000000000000000000000000000000083104ec3a0f851bedb30627234e35703b50c494921cbb8b447e385306ae7875eafefebdf5ea01673f3bd7f4f5d558add03346c21fe2fc4c8506e471f0c7ac2ad6727e4ef4b7500000177f9017416841b6b0b0083031f279403290a52ba3164639067622e20b90857eaded299872386f26fc10000b9010467ffb66a0000000000000000000000000000000000000000000000000000000001af60f4000000000000000000000000000000000000000000000000000000000000008000000000000000000000000046c30981a7e20710d199dac9046b0a80b4198eef0000000000000000000000000000000000000000000000000000000065cf5faf0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000083104ec3a0284e6c130c9b8bcdaccf70984466d8a801eb24f6dd8ef63dac55d209e38fe2aaa0203718268135aeb61b10cd7712dde05d4db1a01b603d7e766b8a1a4565964a470000016ff9016c45841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403466376130366630393666616333343965666539633333383636633036316162613732643433343034303266633565653035343833353461383830336164343700000000000000000000000000000000000000000000000000000000000000406638373838346436643833306466383861633333626662643931343935333137616232663834373030663137346139353939303161633930363436373064633883104ec4a0726aaba1bb40bdbdb0761d5af4ddbbb9db0c39a8efa7613ba0e84462f0c6b709a0240f38b5ed436fa68b7554b576353619171fd5c45b4d53a9a771435a4e995fe0000002d0f902cd30841b6b0b008302a1289480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000032291388fc0430000000000000000000000000000000000000000000000000000000065cf8b0100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000269af600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000003a3532665eb0c2617956d75b6a186a5a1e7e65670000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a01e759a4388b62214855369cb54c19e13d9f3431994879ab9cd4d0fe9aa0eb67ba0075bece12b6bbe04984b3bc9db5c41dffadf95f71d1f297683aca42482619a4e000000adf8ab13841b6b0b0082eb929406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a74106000000000000000000000000000000000000000000000000000000000781d05c83104ec4a07ee7396fd462909f27c854d664d460a16af4bc8a401169afff2e2252d1f16728a052e752c9a9caad30b2abb0dc4f88e5a38d5784afe7210338c9585ba897742f5c0000016ff9016c2c841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403834346664323061646535386639366230383335663936396533333761353266616236633865623033383162383838663764363065353836626235343133616600000000000000000000000000000000000000000000000000000000000000403834346664323061646535386639366230383335663936396533333761353266616236633865623033383162383838663764363065353836626235343133616683104ec3a08f9c9fbc55e2f90f354814ff7b2fcfd5b4def9221babf135f8fbc17758332760a05da81293ea66bfaa57feb08054b70cb1344a8a067929e512c05538f9930d780600000072f870830428c18420e6da00827b0c9496da1d88081517a216601a5be1d5a32b861be68c87071afd498d001a8083104ec4a0e3864f5d7894004ef5c457696531d2ce365fbf837c7d0ea0e5f341567e6e7fb8a03e7e6bb5d3111747d10c08a1fa2702149c2f11efd389529353ef94fc919e1e9a000000b1f8af830cf3bd841cc9fec08301526c9487627c7e586441eef9ee3c28b66662e897513f3380b844535b355c00000000000000000000000075459972990038f7ecd0256394fb282240da424800000000000000000000000000000000000000000000000000252b0198fd680083104ec4a09cfab211e39445a0807201649051a6e5ea0185c60aaabd7d43c6794a454abd73a00e52e607ff87d7d190d049a10036a72248a09f357fa9d7afd1fc4a69252c5458000000b4f8b20d841c03a18083013b4294904550e0d182cd4aee0d305891c666a212ec8f018601e8f1c10800b84440c10f19000000000000000000000000a908651604f541ec0b82a8532be3d09e87c71e3b000000000000000000000000000000000000000000000000000000000000000183104ec4a0144589ad6a1c3a4b413c109e61113d2539941e94ee2b80b769641b629b150d82a019b54c445c145adfa4b0da418d755088631c6a3c95611620cafffb3b3b42f1ea000001b0f901ad02841b6b0b008301da7b94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000230e8f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000002dda282da3ccd8000000000000000000000000000000000000000000000000000000000000000083104ec3a040a576292540278d71ce24f96455005265df4005efc7ebdf41dbb548dfef9da2a016df2a80edec0b7f81ad9afbca939c4b63f46e33e25230d65d2ee5ae51cafa3000000292f9028f82073b841b6b0b008304c67f9402c83302696106b24b4ddb16fb2d97d2221acce880b902245704518f00000000000000000000000000000000000000000000000000000000000000b8f9d0d9cfad4f9d3c69e617d78fcc03756629f079c5f6dc74b0f22451f38d72df000000000000000000000000000000000000000000000000000000000000008000000000000000000000000061bb3852947a370946abdba8fa9cf45ec472f83f00000000000000000000000000000000000000000000000000000000000001800f685bd809d80e458de4d5b93bae9f8d6d83667f5535126e66407b4f133fee580709b0638fbcc3a69cde4661980a6b95821fd0beb20f002bc36b86e3614eb6cd16f4aab7e8d3ea18f9a51136df4273a91bd8571fb7feb7e73301163185feee6d2dd0eee3f75ca702094c5d034c13ff4573ca82d0a1037598806f7ea8e187c22f14a42eac9d8b3136b2005cfea814a61952d762769186347613ef25bad3e63056074b1d9e2ec75205d5bf38ee7dae12322ad32b2e03b86e4ccf11b31fe6a409032b98a9a0df455db9b18d9ae3ba585617d94bf80e98bc9000c8ee3a39a890b9ae2ef664715facd7dada7e742de2960565b3bde98d40a6b3a783ec7e9ef3d2c3a300000000000000000000000000000000945bb99497b80795dccaeb35358de56c00000000000000000000000000000000eab8545c5aabd894ebf5f3e649bb533d00000000000000000000000000000000cc1632a9ef039b145f65dd5027eed750000000000000000000000000000000004b7d245c79f98b1d17b946ceb23bde5383104ec4a00edf09961e0e8ca64c0e311b7b4bf65499b9d0c1dbba22298c5b9f9b60976b1aa02e1abc21a1e23210fa0bd7bb26e609525f4137020f361ed0ce7e21a19a41604100000073f87110841b6b0b008302a43b94b6fd349bdbfb86c55cef803178de73bc0d699462862d79883d2000841249c58b83104ec4a0f83da243b07fedf80eb5c193ec7a026d8b33ce963b28f8104abfb00f57623c79a040f42659c2770def645b7c671a5d86fcf6a7ccf7b7eb2f84a8029b955a6c7369000000adf8ab14841b6b0b0082c08d94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b300000000000000000000000020e77ad760ec9e922fd2da8847abfbb2471b92cd00000000000000000000000000000000000000000000000000000000052f1c5283104ec4a0e6854f23e1987d0e5fe70427a685b7cf2c55367b124f85263ddda9fda697bfe5a01ced0236838a6f16239d3affe7c9905d5b164c9b9bcf6f31b50618f87cd6c11f000009f8f909f517841b6b0b0083072daa946131b5fae19ea4f9d964eac0408e4408b66337b58804b05f3191f1848bb90984e21fd0e90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000007400000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000e8338711218ceeeac36b7832184b832d4d0e1c920000000000000000000000000000000000000000000000000000000065cf620b00000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040593611990000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001000000000000000000000000006905c59be1a7ea32d1f257e302401ec9a1401c52000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc89700000000000000000000000000000000000000000000000001681c8edefba7cb000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000401b96cfd40000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000008f8ed95b3b3ed2979d1ee528f38ca3e481a94dd9000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000000000000000000000000000034842a2b2f5dcc000000000000000000000000000000000000000000000000000000000000308930000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000003bd000000000000000000000000391855ac000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000e8338711218ceeeac36b7832184b832d4d0e1c9200000000000000000000000000000000000000000000000004b05f3191f1848b00000000000000000000000000000000000000000000000000000000391106c7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f87b22536f75726365223a226b7962657273776170222c22416d6f756e74496e555344223a223936332e30393530333138333133313634222c22416d6f756e744f7574555344223a223935382e38353430303431303739393939222c22526566657272616c223a22222c22466c616773223a322c22496e74656772697479496e666f223a7b224b65794944223a2231222c225369676e6174757265223a224e2f50517965506339714f6676792f58524a306a6a527a6c6a7a546c4d37564d7662586b7632623444573561585a6f68744e626479644a4b3664554a4b6442452f34744a4874627757366148674c55316269594c494b6b4e375a30556e2b5a5842504776686e4a6c6f566b7264782f4162636858426c4462312f775167572b504932303074695a5336555155347a464e474f52436d5172336872734552532f516c745978684a2f6245476d45796977656d577978634f5a757464626a4c574d7864382b6f7a776456684163306b395064745548365a77776b32366b68755657504562636e446b5138445259564838732b517561426e664168642b5a6c4c34786941704e4178742b33533266584d5362756d6557656675587861645066764b32484f7846506844614846356c38493343442b653768794d726447425a41754d427a39373563443461417a305856594c67417169514d4b673d3d227d7d000000000000000083104ec4a0d4d436b8f7335b0bcc9cb8f3455324a4407a6d3128760e51ad5ad202091f4179a06347a04ca05655280285c604524100b8fc9f926a0df2f7e62c9f18edd96b66c100000073f8710e841b6b0b0082f33e945300000000000000000000000000000000000004870aa87bee53800084d0e30db083104ec4a0056dfb8968bf50a5d083184d54997f966c0d9c072f3cc72252808e245f048bf7a05854c8f2d794371b4ebd290f0dee224b1fd5e3689a756ce1f705a1c1b2b2cca300000073f871830428c28420e6da00827b0c9496ef9f6b24702208051256bc9efbfa3cf8f77fa688013fbe85edc900268083104ec3a03eeb4e6fc92666163e8d9154c2e7d54d7bf13dddc73238cfd9bc06ad0c4d72c2a05b355164ac90384976b07cfc7fe0bfd5ebb7f882475b08ea2cc071e602cf2e75000000adf8ab16841b6b0b0082913894f55bec9cafdbe8730f096aa55dad6d22d44099df80b844a9059cbb000000000000000000000000d7aa9ba6caac7b0436c91396f22ca5a7f31664fc00000000000000000000000000000000000000000000000000000000238bb75e83104ec3a00a0d953c583ca94ade3804723c6c28d45c1cc8ce33ba805616d7a9a6a2781eaba042e1806e4f4927ef6f9155ba8fcee09e0693014637bdae1b9625dd6bf80f54b000000074f8723f841b6b0b0082cab4945300000000000000000000000000000000000004880737693eb334000084d0e30db083104ec3a02dc3f46ecd49a998986abbb69ad8279290081090d1d867599e2f3946a301a427a02ec975f19b3f799dced3c5d0570759727b8767515b5fe38dbc1d658cd680b07900000296f902930a841b6b0b008303331d942db0afd0045f3518c77ec6591a542e326befd3d7866383ad021ff3b90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012446edd9c80000000000000000000000005300000000000000000000000000000000000004000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001f4fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3cb01000000000000000000000000f7842b0c1c229ed5169826bccdbd5cf017cf654200000000000000000000000000000000000000000000000000006383ad021ff30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c3900000000000000000000000000000000000000000000000000000000065cf646400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec4a0fb3fa7f42208fb84c545f3aadee1a7cf987694d288a6f0ae67c2ecd257fb266fa024eaea70dbb20da8a87200bad3c97b92777082990459c0ebb8e839efdb340ce500000170f9016d81a2841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406266616664363562323435343831306264306264633931373431633466366330343433656362633464383135366630633430393131646566353664366361663200000000000000000000000000000000000000000000000000000000000000406663363332336532323437363362353535373431616637396564313765613239363133353463636439313564623135313533323632386534613333323934333383104ec4a0c875bc8a816bcfdcf1f416953d43ec803bc79287570256ea455011559e390d0ba019acf6118770c22380c1e042b30cee7e08970609312867935e47adfd7c017cbf000000000000000000000000000000000000000000000000000000000000000000000000195103000000000033b3620000000065cf5d6e0000000000000000000000000000000000000000000000000000000000000000000000000098968000070000000000000033b3630000000065cf5d710000000000000000000000000000000000000000000000000000000000000000000000000098968000050000000000000033b3640000000065cf5d740000000000000000000000000000000000000000000000000000000000000000000000000098968000030000000009b7f909b4038420e6da0083058db2946131b5fae19ea4f9d964eac0408e4408b66337b587078820f6ec8000b90944e21fd0e90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000003a1b717367ce4ac95521edb8227566d9da55cd8d0000000000000000000000000000000000000000000000000000000065cf621300000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000004059361199000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000100000000000000000000000000b12abb5bcb50c2aa6f1b54447046640010b339330000000000000000000000005300000000000000000000000000000000000004000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc89700000000000000000000000000000000000000000000000000078820f6ec800000000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000401b96cfd40000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000005a1cd43c18717bb302f46a0b77a71a118e7d9c40000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc89700000000000000000000000000000000000000000000000000000000005d181900000000000000000000000000000000000000000000000000000000000007b4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000006000000000000000000000000005d1337000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000003a1b717367ce4ac95521edb8227566d9da55cd8d00000000000000000000000000000000000000000000000000078820f6ec800000000000000000000000000000000000000000000000000000000000005ccbbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f87b22536f75726365223a226d6574617661756c74222c22416d6f756e74496e555344223a22362e303239343637313535333630383933222c22416d6f756e744f7574555344223a22362e313035383636373636393939393939222c22526566657272616c223a22222c22466c616773223a322c22496e74656772697479496e666f223a7b224b65794944223a2231222c225369676e6174757265223a2244564638597663437a46564a7930332b754f6e59617246675a463371464c454c68304f4f6c776e365769323549587356614655654d736163475963454238684d5a57526f372b4d6d685851316157414c6174647843617477613832574473614f786f5a2f6d79587058397a595667476768734a5233656c33756f6a4262553756663630716a6e4e6d4879772f562f4c71525259534770732b74502b557750784e544e4436385649655449306d6c64614664305770777a424b7162654b394d726d757a7a5532465a354a7474585932374a6b6a4854323530746451754b48664a66754b625041496f31715864446d336d4863573630516d517068544277756b7753706378634f42796c592b323845644d6c5674696174635a69384a6b694778476134454f4f336b68304e5877414948625a354c694139577033747562652f57535255556935643056317872597750472b747362437658413d3d227d7d000000000000000083104ec3a00deb5a3721f7430784ac857cfc2beb49316a107fb639da22eb5b8a1200671f7da072faba42ff3a7f233548326e468e00fe49258b6d9ffb4da2569712a7f6a02b3800000072f870830387d68420e6da00827b0c94b9ea4dffcd753587e1d8bf197d2135de499118b9871aa535d3d0c0098083104ec3a0cf37d45a19aff4c8f70bb8bdecd54023f3cb90a5187ae7b09c51a865c15f4958a003d4afe11698f9ced0c62469a23460a163721b118d81006096db60d82732c44f000001b8f901b547841b6b0b00838a7e1794aaaaaaaacb71bf2c8cae522ea5fa455571a7410688017ddc906ce7466cb901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000017ddc906ce7466c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009296c9bd39f3f90d83960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec4a01d784a7fdff21bec17651f828fdac920c78cd09095218f7c44dc89e50485242ea020341a11ceda62240b59645e9cef7dfc13257e7df57f9c67c34d2c57ec99d9a9000000adf8ab16841b6b0b0082eb929406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000dae282feabdf542e1de4353f152ead0446c6b8670000000000000000000000000000000000000000000000000000000020a796fb83104ec4a0e40508d776ebeaaccf1ab9ba6eb71158c46fb7ae069377abb46acfdd8376df05a0632cb2551e32a3e15fd8bd8a96c4519f1992217cd7e2195dcb2312a0eecfe82600000094f89280841b6b0b008301f812940332fce92897679e97620a097aa515f5d7cf40348701c6bf52634000a46a627842000000000000000000000000cd1885aaf7ff8ec5858c4f391ab10e8a02db10e483104ec4a024faa93594ce857f8b84ad844257293c529d167f04ae8ba31cc1c7650a89d2aba05b2cbb0f0216307d9e3caf5c01beca5a3fb2fdf53d75a2ca2bf1ca8737ba12d2000000adf8ab3d841b6b0b0082b72c94c21b7961ff68c94b29cf20e1ab32d18e10701bff80b844095ea7b300000000000000000000000080e38291e06339d10aab483c65695d004dbd5c69ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a0bcc0d89f8d58ac1ebff3c6f27f1a40cfcd1994b78bb18b7718719d6e4dcbd56ca07981126cf2a07921097f5402709240aa137cc80ac369ec5e7294bb64897511060000006ff86d05841b6b0b0082520894fd6a217a51827aa294989590e072f908cb312d2b87271471148780008083104ec4a0694960deffae1a735d64b525dde993791cfa567fa02ba4d44de89169317dd894a006b42defb27ff5ef33372ffb637fe9574235be0c42a2c42cb64c5c906cfc70df0000008ff88d8303b795841b6b0b0082a4f294530000000000000000000000000000000000000280a4bede39b500000000000000000000000000000000000000000000000000000006fd50a26f83104ec4a07dce1afe81abbb4345cb9396cdce71fe301d80368aa63154912be6dd9332fcc2a0549880a438f9ab2903081a172791329c1622027ec9aa119631373429f66dc7cf00000070f86e08841b6b0b008252089480c67432656d59144ceff962e8faf8926599bcf88806ce9b26b65463368083104ec4a07645a6b5e3a21973acd2ffbcc945bc5fd19d5058e1fb049f2b95cce83cbb06baa07328f0ea1746b40744a28b744bd928fdea73e75552f74057a318d838178e23df000001d0f901cd36841b6b0b008303eaa294ca6fe749878841b96f620ec79638b13daad3d32080b901642646478b00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000016e3600000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000001dddf9a91e5b7e000000000000000000000000986ec9b44e67aca087ebbce4952ae34c0690637800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000700206efdbff2a14a7c8e15944d1f4a48f9f95f663a401ffff01e64ae4128e725868e8fe52e771e3d272e787b04101ca6fe749878841b96f620ec79638b13daad3d32001530000000000000000000000000000000000000401ffff0200986ec9b44e67aca087ebbce4952ae34c069063780000000000000000000000000000000083104ec4a0094c5a1d61fe3b000eb4428533ee382c2563c0cc522fd9d8a68b7cbf9bc37eb9a07a1fe0e497c7d360c0333448a42226291d50ed538b71c7f455a2187a929cd59000000170f9016d2d841b6b0b0083028ea894efeb222f8046aaa032c56290416c3192111c008580b9010418cbafe500000000000000000000000000000000000000000000000000000000002067c50000000000000000000000000000000000000000000000000002a2541445770c00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000005acea3cc37c18b206bff4b6954aa2484f0cc19f40000000000000000000000000000000000000000000000000000000065cf62120000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000530000000000000000000000000000000000000483104ec4a01cf2141138dec55debb0e7ec40b5e2b1a5016d67d5313fc7af5b11ff7495d698a0229ac753169c43593ee50df59450d8a2ec0b475dbbb909468ad5f28d6493f382000001f0f901ed1a841b6b0b008304b83394aa111c62cdeef205f70e6722d1e22274274ec12f80b9018418a1308600000000000000000000000000000000000000000000000000000000035d57cf0000000000000000000000000000000000000000000000000046924f6b8eb29400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007b2da0e5f3bbd7e824a16e7f8767de19718e81a70000000000000000000000000000000000000000000000000000000065cf5fbf0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000083104ec4a0efd7d3656c7736e4074f1d085fd207aba35a05094cfd7f0bc679bf9a432306dba0333c599bdc952f6883b1a8477ccc3721ab1a5d244ece4e0ed164c794dd9689c1000000aef8ac22841b6b0b008302fdc694ec53c830f4444a8a56455c6836b5d2aa794289aa80b844830cbbbd000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c00000000000000000000000000000000000000000000000002c2ba1fa2600bda83104ec3a0a10c29a02441a07cae2a741261aa50de63a1e4770d4d582863b46ee0bb7593e6a03c0f828ead37187aa5fa3ff81cbd29b4086d398fefe62e4e5bff31f9bbe6997f00000298f902958197841b6b0b008303775b942db0afd0045f3518c77ec6591a542e326befd3d787064d5a3a958a1db90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124115ff67e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000b734913c3e2bd1f653b6450ab25020a2c12bdd500000000000000000000000000000000000000000000000000000000004c4b4000000000000000000000000000000000000000000000000000064d5a3a958a1d0000000000000000000000000000000000000000000000000000000065cf5fc3000000000000000000000000000000000000000000000000000000000000002b06efdbff2a14a7c8e15944d1f4a48f9f95f663a4000bb8530000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec3a0b6606daf534823415a66f6373d8d89f9fbb0acc98dd61f88f3fb8c84f600b2d4a00ccd4ae7807264bafb4b340c3a8ed9256d299db23a326908360cb7b79afc8f7d000000adf8ab08841b6b0b0082e70494f610a9dfb7c89644979b4a0f27063e9e7d7cda3280b844095ea7b3000000000000000000000000dae282feabdf542e1de4353f152ead0446c6b8670000000000000000000000000000000000000000000000000000e35fa931a00083104ec4a03acd99b5816dd40d28c28d38a256e8f80089b5144620f1fca4fc5dadf827d679a00d4916d579b4757c4e031e5fed45b12e0b33c1e3aa0daaf8d49254298329701f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019b202000000000033b3650000000065cf5d770000000000000000000000000000000000000000000000000000000000000000000000000098968000080000000000000033b3660000000065cf5d7a000000000000000000000000000000000000000000000000000000000000000000000000009896800008000000000072f870830428c38420e6da00827b0c94e72644486167230ff18d369870e2164e532a39308711c37937e081048083104ec3a0dd1f1a507e789aeeaeadfa96ef95aeb9179cdc334eda1ed04fb8270242bb92cda0595de3a5bfdf768d0b8ec302b752fd3dbd75a2ff2f41e4db0b6363d616362fcf000009b0f909ad20841cc9fec083080a79946131b5fae19ea4f9d964eac0408e4408b66337b580b90944e21fd0e90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000b7a97bd350fe35a72e991d60cfdfc3532518ba4b0000000000000000000000000000000000000000000000000000000065cf621b00000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000401b96cfd40000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000005a1cd43c18717bb302f46a0b77a71a118e7d9c40000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc8970000000000000000000000000000000000000000000000000000000006373a2a00000000000000000000000000000000000000000000000000000000000007b900000000000000000000000000000000000000000000000000000000000000401b96cfd40000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000096cfa2a369ec67a93c324a35e693fbeea11c059400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc8970000000000000000000000000000000000000000000000000000000006368633000000000000000000000000000000000000000000000000000000000002f8f700000000000000000000000000000000000000000000000000000000000000200000000000000000000000088dfc573e000000000000000000828887aa4096e0000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000b7a97bd350fe35a72e991d60cfdfc3532518ba4b0000000000000000000000000000000000000000000000000000000006373a2a000000000000000000000000000000000000000000000000007fec33082093db000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc89700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000006373a2a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001eb7b22536f75726365223a22222c22416d6f756e74496e555344223a223130342e3830343037393333222c22416d6f756e744f7574555344223a223130342e3439373130323633303333363039222c22526566657272616c223a22222c22466c616773223a312c22496e74656772697479496e666f223a7b224b65794944223a2231222c225369676e6174757265223a22413044727958555175455459545844622b48724c6469685261506d637057656643683951392f5755332f2f526f5547414f2b6e5336346b336547646a374f6364497575766a70633554495669544333336375556846646e31476377634a35637a6e4a354171562f583637504e324d73774b785472666c356542632b3153676b61336e533953537362426e5336754d36427453714130614451694a64744d6b626d766953666b446333764131574f75704230626f44747858582f3357626e43664551767944302f494e4f352b533376784e4c68356e796d42366b4f73776435386d2b4557686d4e6751784e32306f58794d65444a476d726159713379344730626d39796c513455642f5868653657746c5430762f662f326c356f674b527a5269566753764453574f635038763768764d466e525a54446b3644595a384f666d2f77624365333341354d364b4d6a324c47673165707866673d3d227d7d00000000000000000000000000000000000000000083104ec4a00d717ad69a1442820b95ad77d9a17c95d909050fd12b51a0f4be7c30a35785bca079bc604473f023ac4494c4191a42cf6a34e40f91fd608f350de7b3ae8ac5d59300000070f86e0d841bb2a56a8255c29480c67432656d59144ceff962e8faf8926599bcf8880109e9b2af7adc9a8083104ec4a0dcef32dda820bf71d2d2c83dd1f3f68fdc2a56a567782f2f83a398eb1b890c5da02423673adc477042b189d3a51043bc852d70844633176e235fc6fb594446383c00000170f9016d06841b6b0b008302a99b9418b71386418a9fca5ae7165e31c385a5130011b680b9010418cbafe50000000000000000000000000000000000000000000000000000000006021fe30000000000000000000000000000000000000000000000000079deef037b04bc00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001b87ea9bf896439b116e8cca376b50093d085e300000000000000000000000000000000000000000000000000000000065cf621e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec4a083aa2678f4adf7bd5fa9b76d94968c48c635fdbca3403a32623dba823226cd68a00ab0a6c71169e1b962562d76d2e7555e8ed4cd38ab13cbd188f5fff0d1bf529b00000190f9018d09841b6b0b008301505494ca6fe749878841b96f620ec79638b13daad3d32080b901242646478b0000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000004db1ea3398bf89000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000004d4e771c4c76e40000000000000000000000001d680b335494ad6542d0c77acd9c9504979482fc00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002e02530000000000000000000000000000000000000401ffff02001d680b335494ad6542d0c77acd9c9504979482fc00000000000000000000000000000000000083104ec4a0a9f8064f12b94b7157a25c678a4e52483984ef437cd283b9d4433cf53364206da01d3d268339400f2be079365366ced097ddb211ba172ee1944c2faebcbce850c7000000adf8ab3b841b6b0b0082f4b29406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a74106ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a0f20c61e8759eaa1e521cce1e6ed226e2d3a65fe438d5f3c40b904fcae37dfc5aa06185a9022913572080f536fc6288cb5d0a777b0e3840ae74cc107cca63ca29da000001b0f901ad14841b6b0b00830200dc94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000781d05c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000009d23bf9545b2d8000000000000000000000000000000000000000000000000000000000000000083104ec3a07ff25998dcee4c8aeee269c3bda0ecdabe4a025a4165541792634824226e991da00513f5c585f00ef9e2602fd63c0cbbea4e7e400c692bdbc1c0618ca19b63a9340000008cf88a53841b6b0b0082a73d94530000000000000000000000000000000000000480a42e1a7d4d0000000000000000000000000000000000000000000000000de0ad9b58f1600083104ec3a084e943430b4fe51b2084a8caf95086b9ef1f4d5e0d5fcc288142599147e8a8c8a07aa0f6519a73a86e0901c6185795b33f0d74f7fb60023f101610444bb68c519500000072f870830428c48420e6da00827b0c9483f443e3048d29d7dcd479d6c837990fef4b328f87b6d9aae4ce6a608083104ec4a0c672a7cf4d627160810ae73636a5481d1b3a6b21d6c77379dac9420ecf08d8eda046f1d85519445ab1983a304eed6863ba8581a34e1cb4ac14c4d1943dda0c432b000002d0f902cd17841e28f280830542989480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000002aed93f0f996af0000000000000000000000000000000000000000000000000000018db217582d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000002132c9a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000e10c08969d6918bc21e87d4f2e9441c1a277e03a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a0380de756afbb24c2d24bf87e156ea0d10d25eb4bbbb95f58798df8a6c43d7fcaa073bd19c20894caf26099999a5940bc94daccb75780252b1cd329fd1e2a8486360000006ff86d0d841bcc7c6d8254ec9480c67432656d59144ceff962e8faf8926599bcf8872c644ed8f76b0a8083104ec3a0e018e01755ef13e1112f7c8aeb093f4e3209d1483d9cf99f00223b63d3702fb5a0158c909f16cdb3f3459e400c7f8f54d44a0f42fd6c6df852f72c26072c4cf8c100000073f87107841b6b0b0082cab4945300000000000000000000000000000000000004871ff973cafa800084d0e30db083104ec4a0ae0e22981499f95136f7850f4f9e8d7898d70e95c5433fcb192cde4e7cddd9eaa07223ec550b4d081b365989f4802403973c5b67afd05342fd32adac7739f2b401000000adf8ab22841b6b0b0082b72c94814a23b053fd0f102aeeda0459215c2444799c7080b844095ea7b300000000000000000000000080e38291e06339d10aab483c65695d004dbd5c69ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a08adf5caa34b5d7c11366519668fa2ce5a8711a3a33b2d582e7e8b0d48769a0e7a07685d72f7e27651ae9bb8d2b0c0eef3f6fc7efb248d83ee7e4dd8e92227089360000016ff9016c46841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403466376130366630393666616333343965666539633333383636633036316162613732643433343034303266633565653035343833353461383830336164343700000000000000000000000000000000000000000000000000000000000000406337396335646137303738376566356130613463616134633230343733353166323537666665363539306235303734356233373935313732383866616438656483104ec4a073db7d33b30fe53310a1b23b063e646c6d76cb4200a9fd2c18e71d81555e6ac3a01a181855de08baf11add8a0df46ce6add7eaeb1e355863086e442e610546232a00000190f9018d0a841b6b0b00830319ce94aa111c62cdeef205f70e6722d1e22274274ec12f80b9012418a1308600000000000000000000000000000000000000000000000000000000005a94f700000000000000000000000000000000000000000000000000076a06bbaf02ea00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007fbf2fd7702b24464f324b1c24f43b93653d53cd0000000000000000000000000000000000000000000000000000000065cf647d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000083104ec4a0bf6022f47f244189d1d809dd132bb457a19868037f70f20041f4a6554257ed75a074c876fec018009b3a9e0a26674f385464a57073490e58a6d7e937b871352860000000aef8ac18841b6b0b008303c76e94ec53c830f4444a8a56455c6836b5d2aa794289aa80b844830cbbbd000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c00000000000000000000000000000000000000000000000005cc20757c33955683104ec3a0123b1bbe4b2d0ed4b5f96355076b2d9c72f539386bc4b2b78e9cef63be50fb92a06225fdea12b5a837cd7b3ed68110a458559ead31f111303b1adf2a6596589c4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000001faf02000000000033b3670000000065cf5d7d0000000000000000000000000000000000000000000000000000000000000000000000000098968000080000000000000033b3680000000065cf5d80000000000000000000000000000000000000000000000000000000000000000000000000009896800005000000000073f87107841e28f280827e609487627c7e586441eef9ee3c28b66662e897513f3387b5efe33a56a40084db6b524683104ec3a0cec07cc96d8323bdd863e4fac120c1b4d85ad85707f617c1b5ae6ff81c0e06fda010fb6d1bf0c3c22b7b4b429b2114c5f20c257f0d7ff8456b0f463d85befec37f000004b0f904ad15841b6b0b008306fa68944e998615ad430c1ca46a69d813ede6eb3ec55edb80b90444301a3720000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000052f1c5200000000000000000000000000000000000000000000000000697fd47692c5a5000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000065cf621e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000585245f79829fc75f8e2fd224b90d19449c6a0f6000000000000000000000000ab5819ac14dc28008e63ba0b8159495c06acde9e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a631b2a2c3469aa1bf5dc49977207f378d16d7d800000000000000000000000096cfa2a369ec67a93c324a35e693fbeea11c05940000000000000000000000000000000000000000000000000000000000000003000000000000000000000000a631b2a2c3469aa1bf5dc49977207f378d16d7d8000000000000000000000000ab5819ac14dc28008e63ba0b8159495c06acde9e0000000000000000000000004e998615ad430c1ca46a69d813ede6eb3ec55edb0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3cb0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006c1c420c04f4d563d6588a97693af902b87be5f100000000000000000000000000000000000000000000000000038d7ea4c6800083104ec4a0fde4415041c2a4af10f0223b65dbeb97c80ea142df8ca13185910a4f81953fdba036d66e857d9449ad68370acf37fbca013ee2695e7b23c49be23fb32f6466604c000000adf8ab06841b6b0b0082eb869406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b30000000000000000000000005940a60866255031830aa1edfdd8b56ab39765b700000000000000000000000000000000000000000000000000000000001fa01483104ec4a0e63aa611954753ca84772c57b54e0beab623d7f785f84a2a7d9304b0590d3d85a0447bf0d4de239ecec0e98ce99795b5489aad8c6de024739e72966e3120d7ce2d000007d6f907d37a841b6b0b0083039bf7940cab6977a9c70e04458b740476b498b214019641865af3107a4000b90764a4d73041000000000047ba1c65ce57be4cc04b4e1920e974349b9cd1a1ff1b398ba16557c7246dee8eb74a0065f5e4faeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee078a0af0e9e449bea1ec12dd7538262ae993ca117a0e481f908209137a46268ef7a6d73faa274536f1fad8544486cc4ad84c6a788aec7b156a6ee2d1cfd2a8bb1ebdd705d64f1cb251a3df7c1e81b607b232215c54d2c9e37c5903b91d7ab07700000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000068018000000000000000000000089873d3ecdda963fcdfb9abc372c6bbd516da0b6003201000000000000c803e84cc04b4e1920e974349b9cd1a1ff1b398ba165570000000000005af3107a4000000000000000000000000000000000000000358c0000000000005af3107a4000000000000000000000000000000000000000325a0000000000005af3107a400000000000000000000000000000000000000035b50000000000005af3107a4000000000000000000000000000000000000000340d0000000000005af3107a400000000000000000000000000000000000000034090000000000005af3107a4000000000000000000000000000000000000000340f0000000000005af3107a4000000000000000000000000000000000000000340c0000000000005af3107a400000000000000000000000000000000000000035df0000000000005af3107a400000000000000000000000000000000000000035e10000000000005af3107a400000000000000000000000000000000000000034010000000000005af3107a400000000000000000000000000000000000000034000000000000005af3107a400000000000000000000000000000000000000035e60000000000005af3107a400000000000000000000000000000000000000035e40000000000005af3107a400000000000000000000000000000000000000033ff0000000000005af3107a400000000000000000000000000000000000000034020000000000005af3107a400000000000000000000000000000000000000034030000000000005af3107a400000000000000000000000000000000000000035e30000000000005af3107a400000000000000000000000000000000000000035e50000000000005af3107a400000000000000000000000000000000000000034060000000000005af3107a400000000000000000000000000000000000000034070000000000005af3107a400000000000000000000000000000000000000035d60000000000005af3107a400000000000000000000000000000000000000035d50000000000005af3107a400000000000000000000000000000000000000034040000000000005af3107a400000000000000000000000000000000000000035d90000000000005af3107a400000000000000000000000000000000000000035e70000000000005af3107a400000000000000000000000000000000000000033f50000000000005af3107a400000000000000000000000000000000000000035d80000000000005af3107a400000000000000000000000000000000000000035db0000000000005af3107a400000000000000000000000000000000000000035dd0000000000005af3107a400000000000000000000000000000000000000033f90000000000005af3107a400000000000000000000000000000000000000034050000000000005af3107a400000000000000000000000000000000000000035d40000000000005af3107a400000000000000000000000000000000000000033f70000000000005af3107a400000000000000000000000000000000000000035d70000000000005af3107a400000000000000000000000000000000000000033fb0000000000005af3107a400000000000000000000000000000000000000035da0000000000005af3107a400000000000000000000000000000000000000033f40000000000005af3107a400000000000000000000000000000000000000033fa0000000000005af3107a400000000000000000000000000000000000000033f60000000000005af3107a400000000000000000000000000000000000000035dc0000000000005af3107a400000000000000000000000000000000000000033fd0000000000005af3107a4000000000000000000000000000000000000000343e0000000000005af3107a4000000000000000000000000000000000000000343c0000000000005af3107a4000000000000000000000000000000000000000378d0000000000005af3107a400000000000000000000000000000000000000033f80000000000005af3107a400000000000000000000000000000000000000037910000000000005af3107a400000000000000000000000000000000000000033fc0000000000005af3107a4000000000000000000000000000000000000000343b0000000000005af3107a4000000000000000000000000000000000000000378f0000000000005af3107a4000000000000000000000000000000000000000343f83104ec3a05914c1205b5b4d14e35796c3e76b72ba6db397b25837f4b0cb07d00f61cc22d8a053aa5bc58cb01c9ca70875d7375311fcbb4737f2c407d0ee7337bf3eca728ccb0000006ff86d41841b6b0b0082520894e4edb277e41dc89ab076a1f049f4a3efa700bce88703328b944c63578083104ec4a03067365b5aaa4e92b4ce3e52032d7783b9148cf26970480c2a70ba468dff13dca04742c793bd831337154787398cea7411b99e653d3757995a780c2490f769905800000a17f90a1417841b6b0b0083054ef194f02bbc9de6e443efdf3fc41851529c2c3b9e5e0c870110d9316ec000b909a421c69a1900000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000020a796fb0000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e640000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e6400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000008c490411a320000000000000000000000008d2b7e5501eb6d92f8e349f2febe785dd070be74000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df0000000000000000000000008d2b7e5501eb6d92f8e349f2febe785dd070be740000000000000000000000004d67d9fab6613e40b907df39937a4006eb58abaf0000000000000000000000000000000000000000000000000000000020a796fb00000000000000000000000000000000000000000000000000000000200090520000000000000000000000000000000000000000000000000000000020a7c24900000000000000000000000000000000000000000000000000000000000000020000000000000000000000003254ae00947e44b7fd03f50b93b9acfed59f9620000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f86542200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e5b07cdb000000000000000000000000887b414d34ba20ae7ed5378380682f22071d08c2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000008d2b7e5501eb6d92f8e349f2febe785dd070be7400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e06efdbff2a14a7c8e15944d1f4a48f9f95f663a4000064f55bec9cafdbe8730f096aa55dad6d22d44099df00001d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000648a6a1e85000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000353c1f0bc78fbbc245b3c93ef77b1dcc5b77d2a00000000000000000000000000000000000000000000000000000000020a7c24900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f865422000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f99000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df0000000000000000000000004d67d9fab6613e40b907df39937a4006eb58abaf000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a0b12019b5871ec5d503341120912a597c393825d14e424232014dbbb7c89a8a26a0708551a96ff86eacf4672374b9e673011b8aed69cc148cee4f7c42e1ef040be900000072f87016841b6b0b0082eda6946e55472109e6abe4054a8e8b8d9edffcb31032c586f5904616e000841249c58b83104ec4a0a44b597c9f552af32ac55a59494acdae4cee1c8abd56abd199974f6a70fe37bba03c7f86b7b9c6385fe560079bd6633c8fa1bb2309ca8e3bb5ac7df018a0bcba7a000002d8f902d504841b6b0b008302bb209480e38291e06339d10aab483c65695d004dbd5c69880214e8348c4f0000b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000001936b87f0000000000000000000000000000000000000000000000000000000065cf8c5200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000053000000000000000000000000000000000000040000000000000000000000006735df21c3a5120550732cef61481beda98b18d20000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec3a03794ce0f399487cc736e737abd0b93a382e9682851e0133323ef775519a789dea06df7711e045d1deb40e8c5dd59f8ef55660366e05967d4ca214783e8207b0eed00000170f9016d1a841b6b0b008302a98f9418b71386418a9fca5ae7165e31c385a5130011b680b9010418cbafe5000000000000000000000000000000000000000000000000000000000030ae650000000000000000000000000000000000000000000000000003f7f7de71f3c400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007b21be3e28e5e750d2b0da8712230bd689551e070000000000000000000000000000000000000000000000000000000065cf6481000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec3a076bd239e64c81fbd8aa270ffef961117e0f825408742162cdfe1f25064a460eda03ae57438ec1fef35708b764d77a07e5eb2f5724a9d35f1539b6680628e4f716200000072f87083015e1f841b6b0b00827b0c94f73f9b47ac3c6fb96aa76c1731525402da5378bd870119f1803ced808083104ec3a00aab877f618fbb108308021c1e596a3032b935cf027ffd271f3852f5c08d3fcba0699538e954a4e2bce919036172b0ef6b313c243ed53897908ab68cec325b498a000000aef8ac819d841b6b0b0082c08194f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b300000000000000000000000018b71386418a9fca5ae7165e31c385a5130011b6000000000000000000000000000000000000000000000000000000000360495383104ec4a0adad668c4c7f0769424c154476492e5490f257538bf91bf6a2fddb504b0a196da003e7b1a86d957ec8cf71e876ba4fe06b691549258329b415a52a2ed3cf4966630000008cf88a53841b6b0b0082b7e994530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000008a8e4b1a3d800083104ec3a00e431f8236c8b05ca07f0451b9355962cdd896b29e7406ecc018b6e3d236a2fba04a9f3debe44ff01d3d9660898f9cf8074ff3b60b2a232918f1090e326c830c8300000070f86e1c841b6b0b0082fd0d943035f73e3a323f7ee4847ec80ca643712436868688039bb49f599a00008083104ec3a0a59068bdd349b235cccfbc0446a94fd3f966e4f1a4dc4e054727086196f88befa0338ad3c6d653e31ece71ba4ba7831fd912901ad910cfa1158c23addb490bc70100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f2d01000000000033b3690000000065cf5d8300000000000000000000000000000000000000000000000000000000000000000000000000989680000b00000000008ff88d8303b796841b6b0b0082a4f294530000000000000000000000000000000000000280a4bede39b5000000000000000000000000000000000000000000000000000000075e85ec5b83104ec4a079e87eb7e1608aae3a0fcf68fcfc60c6a3a882f4e8f7d93824357ded81dd31a4a07703d96f2b036fd98875a8ad4d2bf11b282399406726a1ae60a02c89c5b23490000000b5f8b315841cc9fec08303fe8f94ec53c830f4444a8a56455c6836b5d2aa794289aa8770cfeef5d605e0b844f2b9fdb8000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c0000000000000000000000000000000000000000000000000070cfeef5d605e083104ec3a0e7de46d37490a15c4911cffbe178d12b9d5e6aa762f12fbbc486cc52580d77bea0628f3eadc3b7029c6c5e6d862aa5507f9db686254bb6c80374c4b298647b709700000073f8710e841c03a1808301c8ab9461bb3852947a370946abdba8fa9cf45ec472f83f86f5904616e000841249c58b83104ec4a06d79b1d520c32e53a16f368c72839c94fd96e9a9339687c63e1810a96d5b03f1a010759ab0dc6cd4a9b52437bf74be57a8cc7f07a5389402f117ec8d05e4c1109200000073f87103841b6b0b008301c2d29456ac94d5f5552de5dbd2a36af07caff174c1a62286b5e620f48000841249c58b83104ec4a09f686dfbb5b43a1f146a0ff7ffc056e4786c8741d0f3ffe6749ad113d0598a1da06518a87ad6b761dc77f7b40b3c4ad352b6ac8e622323219cd69e424406c8634300000297f9029401841b6b0b0083035e96942db0afd0045f3518c77ec6591a542e326befd3d787038d7ea4c68000b90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000196c21768d3f73ee1aff5b8f2e707c01bf4263100000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000002b02120000000000000000000000000000000000000000000000000000000065cf5fc4000000000000000000000000000000000000000000000000000000000000002b5300000000000000000000000000000000000004000bb806efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec3a05a0f0d3482ce5f5fa7a373eee4210c99a442890ca260007771cf314780a88c1aa0782232e02f78a05d32c9f26a8d5e0e42f6f9ea19516e0cf06ba16febc1feb8ed00000410f9040d0f841b6b0b008303282994595e7160858b1ada94bda790d8699c85e595117e80b903a43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf65a500000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065d8a0250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000595e7160858b1ada94bda790d8699c85e595117e0000000000000000000000000000000000000000000000000000000065cf65a500000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041e3fd50fd575b7fbf524b68ef4aa4ec341acfc929ec83f319d5e0221447fcd79d73bdc524ea96752e55c8651b0f855b80459ed4c310a4a7f98533ce7ea052d5b41b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000b76ea80062508ffb45c49c949ad160e945701226000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000000000080178100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002b53000000000000000000000000000000000000040001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000083104ec3a0713e6f40deb1838441681ffec1662bb265d1b7d39d92ff998ddf81caabe54cb7a06f32a5b2c9a5fcad6fedbbca7feaa9cd368a87890dc5e88292c71407ee4f05d100000290f9028d2e841b6b0b0083028070945940a60866255031830aa1edfdd8b56ab39765b780b9022483a7abd800000000000000000000000000000000000000000000000018db20518055c0010000000000000000000000000000000000000000000000000000000065cf5ea200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000097c02d37c6c5787f34b7a0d47a4ef1c0b6409a3200000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b00000000000000000000000000000000000000000000000000000000000000025420c92f09097988769d1cab819f6cacb560a35f0be0f86f277ab9fa7b0fdcb7045334f0660b43925c7be69b1a6a1b3ea5968537d1250f57b5897486921e58b800000000000000000000000000000000000000000000000000000000000000027578023ebab027f8b2a667b44bf96876c588a2ab20a0f01fb7dc6dd25e9f803f318fbda33f94df1ca731862d748844a7425a9d1c6ff9341e19c0ea702aec95cf83104ec4a08a6076d866222bddb667dfe5be90be131c19b519cd3e7c50512a197613e717b5a0159e8a6bfb94233a60cb214bc7300f0863af2ebdff3df4db208e850bc2aaba2a000000adf8ab2b841b6b0b0082c08194f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b30000000000000000000000002db0afd0045f3518c77ec6591a542e326befd3d70000000000000000000000000000000000000000000000000000000005f5e10083104ec4a08c8ecf20ba358d775493e6c92b8480ae77ad362e7fe02198f6c890b8990c1b89a007e2e1754e5ed8267fdb94f097c69f9ae8a2f4f464febc7b944a69408a9e935200000196f9019305841b6b0b0083034d07940e543107044ea436896945001a469bf0f8e6552d8694b752970371b90124126928c4000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001442dcf181faa950a8bb0f409503e6adc4896b6b95000000000000000000000000000000000000000000000000000000000000000000000000000000000000005600020000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000038d7ea4c6800042dcf181faa950a8bb0f409503e6adc4896b6b950000000000000000000083104ec3a05a563a702e417c3076be23a4ed1c8e63003f36869b2839fa32d66b0d6a57323aa01c87c498ca3a859a32e3b412f89ff32ed993c4c363d3225dac05ed23500aa4d800000073f8711c841b6b0b0082cab49453000000000000000000000000000000000000048724d200ca73c00084d0e30db083104ec3a04ee36ba03a55b3e380dac1c525310cdfe652ecb4447aff0d43a79a43b6e9e836a05ac1b09b34be6cb83269f75ce9a944d9ffe496997671061b5306b9205eefce5d000000adf8ab17841b6b0b0082eb929406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000aa111c62cdeef205f70e6722d1e22274274ec12f0000000000000000000000000000000000000000000000000000000001ba814083104ec4a024e11933896c4ffdd6f72dc9cbbc4664b300bad0a925562bc98d994264c33fe2a07c053d7073f36f10983a5e8ecf863c39476865738b586fb2f997fb3c6789e35500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000190102000000000033b36a0000000065cf5d8600000000000000000000000000000000000000000000000000000000000000000000000000989680000a0000000000000033b36b0000000065cf5d8900000000000000000000000000000000000000000000000000000000000000000000000000989680000b00000000006cf86a048420e6da008267809493352e29334190b660d188bf1c63c41a0eb6b5728084b49004e983104ec4a04bd05e9cb6e04da1c3ea32f86c0fadfe254f0d111f72ef76e978a0ff92cf883ba01c19f46a5ae4effb0d8000567ea6693ab7a3c82a7d9a534e9969a760536c2ee0000000adf8ab0c841b6b0b0082c08194f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000414991b742fbcbe3ef00d94ff9f9a63729091711000000000000000000000000000000000000000000000000000000000741859783104ec4a0b70d1f37a1f53f8f731ea2517baa64d328ca16f2c8982879105af840c0968576a0084591335c98810bb8c24025967b8dab37f9cd493c3de123bf1bd7577b307110000000aef8ac09841b6b0b008305ac0e94ec53c830f4444a8a56455c6836b5d2aa794289aa80b844830cbbbd000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c00000000000000000000000000000000000000000000000004d4c5be2f7b997183104ec3a0baf44fd2f1d47bf344fc478c1419de16f7f36321524f83b2f5e1c69304a69ceaa014d72f1786a614be02349fa9c748977cb88818bd961c2d8c4d69bf5d207041bc000001b7f901b447841b6b0b008301ca9194aaaaaaaacb71bf2c8cae522ea5fa455571a7410687c6f3b40b6c0000b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000c6f3b40b6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa9471000000000000000000000000000000000000000000000000000000000974f9ab000000000000000000000000000000000000000000000000000000000000000083104ec4a0c3562baf6b0836567761cca12e44bdbd0f2350dd0821227583a60e62e8aa6e9da032973be885a5ddde27ed1d73a24c2a9d3d0d88bbd96d8d5339cba1713d8759fd00000292f9028f82073c841b6b0b008304c6a39402c83302696106b24b4ddb16fb2d97d2221acce880b902245704518f00000000000000000000000000000000000000000000000000000000000000b824206b6276e688e95efe52836794562445acff75bd43ac253a6f79948b474abb000000000000000000000000000000000000000000000000000000000000008000000000000000000000000061bb3852947a370946abdba8fa9cf45ec472f83f00000000000000000000000000000000000000000000000000000000000001802e950f54a17c6695b1d8b9456a094274c989a4a98b27e20bf3914d3d301660580d20f1d4d92b9417f3849b799bd1bbb3f5020a9cdf266ac992328fca1b4073780b0b4e297b0813bd1bb9a0ddf9ca6f93a72eafb023875392750de85b4b8ac9d726f937f14a236aad6c7aa8e0f624716ee5facc47ebf297ffc52588568ef2f33a05e7544482e8ce22ffe943d745fd190498d9aa974720da1c57be2e75d15e3f990b456dca2977c510190422a6f1dab2d5446d017381c83a56d19ab85cbb8eb6ed24e672be0973599d509395a0dd3a68168553a7ff9832feea1b5a107f2d63d45703f4bea6f83630f4c660d8c87518c32fd52885f4e83e505de9fd53bde83a2b2d00000000000000000000000000000000d420e985a2fd3ce86ebb91f4d45e22b7000000000000000000000000000000003184b502f57aae989bf5da7ad2a45fa800000000000000000000000000000000b5a94f101c196b1dc60a9cfe6293f2bf000000000000000000000000000000003daa7c14d80c1fcae395042e9b62a3f283104ec3a00d5d7af66a7eb888ce82e13d874c46a73de49b9d3f55b243c7e860ffa8c74d70a0354bd9a5460f670878e2717b8a027177d137b818e13dafda42f950f69917176d000000adf8ab04841b6b0b0082c08d94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a741060000000000000000000000000000000000000000000000000000000021c3db4a83104ec4a0f7d8faaee7f99ae73c03ecf6861828bfeb3d8f17920e381a006dc31ad4c4e86ba006a8da468fa6159c7e691457bf5f584fa85447ac53c3428a4dfd2f1f7b42236d000000adf8ab18841b6b0b0082eb929406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b30000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5000000000000000000000000000000000000000000000000000000003e21a9bf83104ec3a0ff6ca612b0891f95f02f2827cbb0c4199c7f5a70f45ce2955e6a36c636460914a03fd8534ad6208d89a6423e44cafdcd58d4a5f49ce122d8b8d8676f80d38dffa400000390f9038d22841b6b0b0083032eac9480e38291e06339d10aab483c65695d004dbd5c6980b90324e84d494b00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000001fbab37e6534e0000000000000000000000000000000000000000000000000000000065cf8c5e00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065cf8c57000000000000000000000000000000000000000000000000000000000000001cb4f3233c61aa46b47db20258ee188bd658a3eb1b301dbb28630ebc9e70f70e0e179df7dc9b0d321025dfafe3adcad6a0397e335dcd9282a272d9ed0039e9bf2e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000c45dd47e54297587d0f6d55872266341e0a628ac0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec3a064e0b8fa6b4f0609ce9e10414fd399fe369976f86400162fab30ee0743a24b00a0111c07e5707668e49e8a731fff704661409b46790d2ecec58f144c87d24df168000000aef8ac07841b6b0b008307ca3594ec53c830f4444a8a56455c6836b5d2aa794289aa80b8444b8a35290000000000000000000000000d8f8e271dd3f2fc58e5716d3ff7041dbe3f0688000000000000000000000000000000000000000000000000000000003b7cfba783104ec4a05b13e434266b019edf5b67da6fd9430a6c66417215c63fa7f857bd3901d9b171a0214db8d0288b97027f05af3351d151c73de9517d63ddab1568509b84ae325f7b000000b6f8b40b8417d784008303635194ec53c830f4444a8a56455c6836b5d2aa794289aa880470de4df8200000b844f2b9fdb8000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c0000000000000000000000000000000000000000000000000470de4df820000083104ec3a05f52cb55c57a1ecc4c18b0daa1260d3c2a4cab1ac1d3660d5fe968ea93388a0aa06b30b6d064948984c26d59fdabb893ca287e2a1fa31502b578650737b7ae5c6700000273f9027083068a788420e6da00831b24d094cb566e3b6934fa77258d68ea18e931fa75e1aaaa80b902046c459a2800000000000000000000000038de71124f7a447a01d67945a51edce9ff49125100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000065cfb1e000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000084704316e500000000000000000000000000000000000000000000000000000000000000668e06584340b10f2363f46c177a0f37e4eeab04a90d6e37a7ae63439e585af4b300000000000000000000000000000000000000000000000000000000000000148e06584340b10f2363f46c177a0f37e4eeab04a90d6e37a7ae63439e585af4b30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000827d99f7002baf7401a1f72e63ec5b1b662c1a970fc884d5c594c9bac5189a0b222dccb9a58114bbb8478a544863938103755fc41fe61d8cbb8bd22444e881a1f41b216f894c33dcd3e02780dd33ec0ab4933133d9ac748024f0866080f3c48e06421aa887246ecaf97c806f7e274fec2ce0ae7b997725b606d27bfeaa312ee4d5621b00000000000000000000000000000000000000000000000000000000000083104ec4a07453d2cef2e4071f7b012238bd5c335ef5dc605941870820140fe2211bc08508a07f2ce01785aeb15941beeacac62f68efa2622888c81309d4abbc6412f59c19f5000000b0f8ae8283098420e6da0083011d639406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844a9059cbb000000000000000000000000a032af19029667fc7ad842d65d524e62a16cc4ca000000000000000000000000000000000000000000000000000000003bd7ac4e83104ec4a0b1d40adbd5cd60b997dbce8c4651c0568b47e43df4887408d32023da3c7ab773a07b499de73244d3d91f8a1a2b4f1ba328048a21a0f513a06777ec6ee7f5d0cc7300000074f8720c841cc9fec082def994530000000000000000000000000000000000000488011e4fe56bde0d8184d0e30db083104ec3a01a3e30b8c2ed5256fb257b1a26e990bb306f3b2d7aa7290f593ecf7de5af4a38a04b322caa6c2c64760cf29f4a0fcaba24f6b6307bef84fbcac53b8086f043293b0000006ff86d16841b6b0b008252089480c67432656d59144ceff962e8faf8926599bcf8870ffcb9e57d63368083104ec3a0b2204407581aedcf7c584083821416d87d6690721d1b8d900f43524d1bafe938a0031001c39c46f5aea5dbe13d2d1ffbbc0431268d28d94a6b9b59a33b58842e150000006df86b03841b6b0b008302a43b949751686a5be48b89929667c92c3d2e1eaa2f6f4d80841249c58b83104ec3a02fc2a147a61e00f85488bcbcef00f8859e116e1a1c04ef52511ccda821949133a020ff66a6010f882444bd8534f8451dc2ddeeaddf04f5e76150f12517ed50ec900000008cf88a08841b6b0b0082a73194530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000001ff973cafa800083104ec4a0fe7e2847552fc8196fd32cdeedbc7e824a4aacb1b435524cae17b3f5717beae6a003f8f4fe417fa8be7b730095afd3ba7c981001546ae8c95cf4bb0102a2413f08000002d7f902d407841b6b0b0083029f7a9480e38291e06339d10aab483c65695d004dbd5c6987038d7ea4c68000b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000272ee48a67e06edc0000000000000000000000000000000000000000000000000000000065cf8c62000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b39880c7a0b752179d6d7d9ae594ab4c02d6e5b800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000fd6a217a51827aa294989590e072f908cb312d2b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec4a0bce61309778a3d4b1d0ac18a94cf86582c096a549516d43fe2d95e346dfdd67ba0227dae8cd82d906b179259f0386e52c5b4db55214fdf279bf29d115a142bc11c000000aef8ac1e841b6b0b00830201c29428519c97dcf2a2794e7b542efb235c3d5bd6e6b680b844449a52f800000000000000000000000045d55434dcfc2c93767643c4ed4feff8260da640000000000000000000000000000000000000000000008d2c09496426a668000083104ec4a04c6deeb83a734caf1ef9de7e210ab06382a5fab3742b180e92f4aadc34e47cfda055cd3e0230495d430b5c979f757b6cfabea6c88c0667191604d78c2a1fd51a25000000eef8ec07841b6b0b00830220ec945940a60866255031830aa1edfdd8b56ab39765b780b88472f66b670000000000000000000000000000000000000000000000000001e539e53b30450000000000000000000000000000000000000000000000000000018db206275000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000f424083104ec3a0bec977c37665439288960c313a7ab003cf9f0f25a47a4890cb25d8ae64dd11eda048428714d8532ab3e483ec361341ba4ded11ed2959c15f1157c7c20423f577fa000001b7f901b480841b6b0b0083020d5d94aaaaaaaacb71bf2c8cae522ea5fa455571a7410687b1a2bc2ec50000b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa94710000000000000000000000000000000000000000000000000000000008719621000000000000000000000000000000000000000000000000000000000000000083104ec4a0944481cf417d8b056cedfaabc01497c8ed58f6537bdf4a3ffbb958520a7225b9a05f2de5c2f8754c0580f1672c16e477d36232e95f91841456455a0a9216f00d48000000adf8ab40841b6b0b0082eb869406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b30000000000000000000000004b9de260e4283feeb53f785aabeaa895ec5d46f9000000000000000000000000000000000000000000000000000000000010d2cc83104ec4a002977c20707ba95f71cbd621270e0857bd05fa70b918f6d66894a914850fe731a02da4fb93b6184e7694a3855592e397a40b21a29d3c17990ba99d0f6af76126e200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000216703000000000033b36c0000000065cf5d8c00000000000000000000000000000000000000000000000000000000000000000000000000989680000b0000000000000033b36d0000000065cf5d8f00000000000000000000000000000000000000000000000000000000000000000000000000989680000a0000000000000033b36e0000000065cf5d920000000000000000000000000000000000000000000000000000000000000000000000000098968000040000000000aef8ac0f841e28f2808301d6f49406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000080e38291e06339d10aab483c65695d004dbd5c6900000000000000000000000000000000000000000000000000000000003d59fb83104ec4a004b5676a5656e003c8b49c1fcaab92dc82bcc657ded354d26da75675799e6404a076b90bb42bef77e922f5b8f9f16dee511e7616d47184c51666b685177ae51ca2000000b1f8af830cf3be841cc9fec0830218ee9487627c7e586441eef9ee3c28b66662e897513f3380b844535b355c000000000000000000000000239698849c72316cafb02f3ac9bd16307218ffb9000000000000000000000000000000000000000000000000005df6d33f9ee00083104ec4a065907453487e2e8f4fe990b6fc728f767a90f3ef4cebd6910bbb03393fc60410a057175004da00a70a915ebe7e725a47f32237dc54b73df21bb90007ec85f744b6000000adf8ab0b841bb3997582f7439406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000018b71386418a9fca5ae7165e31c385a5130011b6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec4a070faa26eb799eca5aab66a816af56ad4f723d56aa4231d66d27bd483b749ae70a0016c9e988b1888fcdd3dab6d311845791d47c82804b94d42f33dc048d715e38900000177f9017411841b6b0b0083031f1b94aa111c62cdeef205f70e6722d1e22274274ec12f87093b497e292242b9010467ffb66a0000000000000000000000000000000000000000000000000000000000703806000000000000000000000000000000000000000000000000000000000000008000000000000000000000000021ecd3baa04cbcc36f60f840e2cc5ff3e18174020000000000000000000000000000000000000000000000000000000065cf648d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000083104ec3a092fe7af057c2d6ee0d9010b7123761248fceb0441dca20d6b022de90d0abdb4da052c54be1f120276c7ac797dbc5657a66b7b9e8ef4c3c34cf1762360d62f83d48000000adf8ab0a841b6b0b0082eb7a9406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000018b71386418a9fca5ae7165e31c385a5130011b600000000000000000000000000000000000000000000000000000000009fefe583104ec4a00ec73278c1b1edc95a9abb12b716d93aa1a6ec6868e619e264a5540582f36db5a06b0b7ed8d5e28d9935acd255bdd8d48dd9d3cb177bc01bb3ba3dd4c9a62ce8760000017df9017a80841b6b0b008301adb98080b9012560806040526000805461ffff1916905534801561001b57600080fd5b5060fb8061002a6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80630c55699c146037578063b49004e914605b575b600080fd5b60005460449061ffff1681565b60405161ffff909116815260200160405180910390f35b60616063565b005b60008054600191908190607a90849061ffff166096565b92506101000a81548161ffff021916908361ffff160217905550565b61ffff81811683821601908082111560be57634e487b7160e01b600052601160045260246000fd5b509291505056fea2646970667358221220666c87ec501268817295a4ca1fc6e3859faf241f38dd688f145135970920009264736f6c6343000812003383104ec3a01a14866610a26b645776ebba71cfea57e217c110acafc7abce50257971c18055a042dc182987fd46aae49e419e41c19bc408ad31b52d207099b2593ae649c5652700000176f9017322841b6b0b0083031f1b94aa111c62cdeef205f70e6722d1e22274274ec12f867df5ca66667eb9010467ffb66a000000000000000000000000000000000000000000000000000000000005fb700000000000000000000000000000000000000000000000000000000000000080000000000000000000000000654e899bcaeb249de1154980ccc5f9ff07d7724f0000000000000000000000000000000000000000000000000000000065cf648d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000083104ec4a0dc453df2378df7d0f9d094e4a0b544dc956833f18e31edb7163ce4f0c2892bd3a0491d7463a4874d6cbdd382d794c0bfd283166d1fb934857459fd5095802d00e800000072f8705a841b6b0b0082eda6946e55472109e6abe4054a8e8b8d9edffcb31032c586f5904616e000841249c58b83104ec3a0d88aecb0f49b63bb620ba268f757041ef2bae7fef00ce12fb93959d44c1b34d2a06a87de5826f67a45d9de03f475054f3445626cf41e12d9266190f8cc9e80ea00000000adf8ab1f841b6b0b0082d21c94f610a9dfb7c89644979b4a0f27063e9e7d7cda3280b844095ea7b3000000000000000000000000b6966083c7b68175b4bf77511608aee9a80d2ca400000000000000000000000000000000000000000000000001351609ff75800083104ec3a0f96d6e99dbc4fe444e8d7c4cd5c2662c8d67857ddfc5cf535297a59653cfa914a056600472dbe565c6bb494a4d157c53c20af12c245a04379fa004d223de177d70000000adf8ab06841b6b0b0082c08d94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000ca6fe749878841b96f620ec79638b13daad3d32000000000000000000000000000000000000000000000000000000000046bbe9683104ec4a0761075db6c54b2e395ff2b2e288571afcc3e806b836aa40782662e821068f034a018fc4c7554fa5737688ab0770e55e17b2347e3a2708f33f0f5b37a857061d5e90000008cf88a2a841b6b0b0082b80494530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000014ae97832aca65e83104ec4a03d77cac9af7e729503a0372098f7a940b2671bec890c98264426979a02317fc6a05fddb0e046f82edcd3432706062daf1278984522c02bb2bd9a844ae3b85455e90000008ff88d8303b797841b6b0b0082a4f294530000000000000000000000000000000000000280a4bede39b500000000000000000000000000000000000000000000000000000006fd4c3ff283104ec3a01180efa28172b08704ce96419c3b46e55b6557d4c8dab99141d9ee03f207c5eda049d756f6387d7894b2e60b29b404e3a81fbc0573678b5829c5ed5ea1022bedd60000016ff9016c098420e6da00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403937666163376231313737333238643832646166656135346561623034356131323037663663363136376235346631306337386231643663663864353630393600000000000000000000000000000000000000000000000000000000000000403366646534323534336630613935663765616161646638666331333236346263643663623635393033643966323862353039366130366638373338646331393583104ec3a0444eb098c74b01c34d9fa3489fca65c14252db2e16550c56754393618ddfc88da07d19f07a90388fa79054c82331c32f9069aa0c9f5ecf3a92af953080809d269d000000b1f8af830cf3bf841cc9fec0830218ee9487627c7e586441eef9ee3c28b66662e897513f3380b844535b355c000000000000000000000000daa30f818eefbb10d66433a9b4be142ddd9a5f3c000000000000000000000000000000000000000000000000002116e5b0bdc40083104ec3a02b1598cfacabd3a4bee1a0a18d885e29cf660067133a858c8fc237b4b67a19b5a06b28fd918905a13062044d029617d4a93a3eb101a5f498480a57eef84193ed450000008cf88a53841c03a18082fab894530000000000000000000000000000000000000480a42e1a7d4d00000000000000000000000000000000000000000000000000b1a2bc2ec5000083104ec3a020fc05cc370dba2ee34a669e7c0f5f1fc78a886e481cc6b25cf38ece72aed0a1a00b08fb6c84c65928d69d619b38d859608229654c0aee5ea86ab99b6253fcf43e000002d0f902cd1d841b6b0b0083038b849480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000001fa69635fcf1cb0000000000000000000000000000000000000000000000000000000065cf8c6400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000185a9c800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000006857b8405a0c7d59a377eea4132a9aa5dd0fb8150000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec3a01f494204222fb52324e696649aed2832877485ce763adfaabb4887900c104a02a01abff2838eeda16a5caa19482526ba0b1e186774702a165aee55fea20501d4de00000196f901930e841b6b0b008303b5ce947dfb5e7808b5eb4fb8b9e7169537575f6ff1a2188634608d7d0b75b90124126928c400000000000000000000000000000000000000000000000000000000000000b8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000147f7cd4b00c7a432cbe2c1df57ebb9d84821189f2000000000000000000000000000000000000000000000000000000000000000000000000000000000000005600020000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000009184e72a0007f7cd4b00c7a432cbe2c1df57ebb9d84821189f20000000000000000000083104ec4a0d44a96cda86a34f2cee0c7712157b4927b5fb9aa16b359558850305f4d2a8c00a0585ac7455cb49a84dd2d270b945b971b6435c704f9706adc41b0f1d7248c6654000000adf8ab13841b6b0b0082c08194f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a7410600000000000000000000000000000000000000000000000000000000000f424083104ec4a055081e4e2c837b383da22629a2a06386aecd88eb7c967bf49e52c782f77f98bba067c47f9aa0654f098b77ce4ecc1f2f6de4cc9c803a20e2acc450dfb0fab6e4060000006cf86a1f841b6b0b008267809493352e29334190b660d188bf1c63c41a0eb6b5728084b49004e983104ec4a0b9242d903907ae4f099aaa0f28fd71ce06bea13139d414ef7233795dbb59ae4da0684cdf9d9d59a0433c91bcfb621f3370b8701701d573cb35d98b0a8b44c33b9e000002d6f902d380841b6b0b008302bb089480e38291e06339d10aab483c65695d004dbd5c69865af3107a4000b902642cc4081e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000044e1d0000000000000000000000000000000000000000000000000000000065cf8c56000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c700000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000530000000000000000000000000000000000000400000000000000000000000013e89345d72c65346ff880ac790fd50809fb311c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec3a065f4429790b2b0c9ceee1764ba15c3ee5b421a5e81c190ba88e5aedec7b120f8a03038a234c705254acc50a27325de26d6bb802e65e7ebd965d6a561f99367873700000297f9029422841b6b0b00830352b0942db0afd0045f3518c77ec6591a542e326befd3d787017707ac0884aab90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000637b3b992fb77d78983b5a1ed7cd1036658c77d900000000000000000000000000000000000000000000000000017707ac0884aa000000000000000000000000000000000000000000000000000000000011d8c50000000000000000000000000000000000000000000000000000000065cf6491000000000000000000000000000000000000000000000000000000000000002b53000000000000000000000000000000000000040001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec4a01fbc7448bb222224b7beb8daea5ef61e5fd8336daaafe5dece2194f83131be7ba06c2f0245ac3b7cf3324b1c381c1bac15de87d0912a8ca5541f16c697b90f2a2c000002f7f902f441841b6b0b00830355a094ca9fbef94d7cc8662f4711a8612ff9dc1526e650878e80fa99e03cd2b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf5fc600000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000008e80fa99e03cd200000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008e80fa99e03cd20000000000000000000000000000000000000000000000000000000006b8adbc00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b5300000000000000000000000000000000000004000bb806efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000083104ec4a0c197b1084de92ab9fdc3f3ea234f9a37825070120be408f387039c061570576ea034f30853c9011b04744473ef6170804547a430308fea869e60201e69d67f82af0000016ff9016c47841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403466376130366630393666616333343965666539633333383636633036316162613732643433343034303266633565653035343833353461383830336164343700000000000000000000000000000000000000000000000000000000000000406638373838346436643833306466383861633333626662643931343935333137616232663834373030663137346139353939303161633930363436373064633883104ec3a0ac0fb868675aceca3f6269f726fc593e500e126a8e5a02398eb6c4275287bf2da074e120d7187a7cd95f3b2f735fab76c27e8884cce6794694ae96f51eb66439fa0000016ff9016c41841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406365353764396165333262323466326532393934306135333939656364636266613436333637623464323633346462663032316633373535363435626439636200000000000000000000000000000000000000000000000000000000000000403237376332633331353066343031613362383864663036356138303331356566663438326235643637316163383833366364363437313234323665333535393883104ec3a0420e2a5d816240ca70346d5ae7d01f881c0aab272053d3b4c2b894b6ff1bb292a038726961aae0ce6b9c242d05e7a20afa042587fa6b9d7429228da5c82c27077d000002d7f902d403841b6b0b008302bb209480e38291e06339d10aab483c65695d004dbd5c69872e2f6e5e148000b902642cc4081e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000022f8fa70000000000000000000000000000000000000000000000000000000065cf8c6a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e2f6e5e14800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c7000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000d2b4b28c4b3a81f59768016bccc7da3d771d97f50000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec4a0e6a7cf7894e3f89a681d6d5aad8a850843ac2438aa0427b02e42075226d34996a012d206a84460911281d8762495bb1b667ea9746dce15babf92b2b9a25acdfbaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000187a02000000000033b36f0000000065cf5d950000000000000000000000000000000000000000000000000000000000000000000000000098968000090000000000000033b3700000000065cf5d98000000000000000000000000000000000000000000000000000000000000000000000000009896800006000000000273f9027083068a798420e6da00831b24d094cb566e3b6934fa77258d68ea18e931fa75e1aaaa80b902046c459a2800000000000000000000000038de71124f7a447a01d67945a51edce9ff49125100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000065cfb1ec00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000084704316e5000000000000000000000000000000000000000000000000000000000000006ef4ca04d7971f734611386a7a4a9b7ef7b2b10a11e227301dade966e48189c4280000000000000000000000000000000000000000000000000000000000000014f4ca04d7971f734611386a7a4a9b7ef7b2b10a11e227301dade966e48189c428000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082cd1bb8255777ed57414784e2fa23870c58628df1ba9d47a8895ce0d4ae9e71904cbfe5bcd3fa4213a03f748416a08b191a0c8bed26b865858672a848211e00d61cfeaa581704f1921906f4ff36fdef1e366f4d1926d6ee6a7832ee1a574c9d01637680d0c46ce8f1d167acda001722e1fede1dc7b9f6bf62e942ed6cbdae7c15991b00000000000000000000000000000000000000000000000000000000000083104ec3a06ccc48c99408c76399354a1e2921fe2a34508f7a00f9635b20898903f38d8bcfa063b71d5dd97afd8a1324e9b1795c41d3215a69a68a8b18c8098c56b2e9d77b1f0000006ff86d15841b6b0b00825208945e809a85aa182a9921edd10a4163745bb3e36284875c5edcbc2900028083104ec4a04c31dd0417e67d4afbeb28c0e27832e8c84dda06153d39696ffcfd8c8c9f9308a01b157711f16eb49d7b3cf7b9cafd24715af839dab77f28bb280c44f2a52690f200000137f901343b841b6b0b0083040e969418b71386418a9fca5ae7165e31c385a5130011b6880905438e60010000b8c4f305d71900000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000006e533b42000000000000000000000000000000000000000000000000000000006dc603eb00000000000000000000000000000000000000000000000008f9b7b2c87be000000000000000000000000000aa916c42e129e6344acd5c6aa5e809f19a8f765c0000000000000000000000000000000000000000000000000000000065cf623683104ec3a05ec7d93fc2e68cb1fa996dee5cf78849aa7b45ae27ba61b461cc5c8aa5b2f546a04f66d2e14f50460fe8f4d600a721933483b4718bdb2ed1126f00a071cbedf20d00000390f9038d33841b6b0b00830345dd9480e38291e06339d10aab483c65695d004dbd5c6980b90324e84d494b0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000e0e1c85f2f55b0000000000000000000000000000000000000000000000000000000065cf8c6b0000000000000000000000001467b62a6ae5cdcb10a6a8173cfe187dd2c5a136ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065cf8c64000000000000000000000000000000000000000000000000000000000000001b87db9fad7ddc48c14987fa7120b2e8b8c980c0883084f02df08eee69e74d193a4936d74ef64bbd5b2c9628dcb57e8232576ff0e9411d07d7c3096482f61d74790000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000001467b62a6ae5cdcb10a6a8173cfe187dd2c5a136000000000000000000000000000000000000000000000001b5b57133f1bbc57600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000250f1ce83992db8e2e54534e36c4f2674a6a54a000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000600000000000000000000000001467b62a6ae5cdcb10a6a8173cfe187dd2c5a136000000000000000000000000cf7ea56efb482015785fbcb52ac23815aa8168bf0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a0e91bd2616236fbd69a47c834c701ced463ce08cb2d7092cdb0c4ff1782784defa0155474d4ff1228315fa5f23c2ee1131dafb508328115b022e09528e33cdd42b10000016ff9016c03841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403534376338316435393135363163376638313035336464356638646263333936396564663133666637333031353135383061613963376462313065323235353500000000000000000000000000000000000000000000000000000000000000403033353533653132616634356330626162346436663232663335623366323639396566633134646462366333666434346638623437636430323735613362373283104ec4a01df69a8348c62b374a9fc1974d3c62242c5560e19b2b69d7e491ccb62431f184a03a8c8bc799753a80d872e92b6c4bf0f01e8db5bf9f99fb9620d65ee6847c663800000230f9022d09841b6b0b008303383094aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901c4a15112f9000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000300c80000000000000000000000000000000000000000000000000000000000030a0c00000000000000000000000000000000000000000000000000000000f07f55e50000000000000000000000000000000000000000000048383f2af68a0000000000000000000000000000000000000000000000000000494f0d1b37d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec4a0a7d0b2890bb19dfb4fe7c01ee41302bb8882ec3a44f147795a19a053430a2515a027d027ea956e21a1d15245902b47fa5d24c041777ac8193add3de192e067182800000390f9038d07841b6b0b00830345cc9480e38291e06339d10aab483c65695d004dbd5c6980b90324e84d494b00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000001c5943327aba10000000000000000000000000000000000000000000000000000000065cf8c68000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065cf8c36000000000000000000000000000000000000000000000000000000000000001c81077af1cf5c26c1058bb9def39d646facf4b05ee75e76241de80e97182bb72d71f94d3f7288595d79a6029ea47aa2d01e3bcec0886cc17a8e9d077d05819fcf000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000000000000000000000000000000000000015ce300000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000078ea8e533c834049de625e05f0b4deffe9db5f6e0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000e086ca15190c336dc80b37159f3c431746e412680000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec3a0b407866a6d5388bdc45b06e61e5e934da0c3e42bd7fbcc021a21470ef276a08aa0685b5f0bbbe3f7d4b5fb221ac20784a8c0c3868146b59a75c9ae5556ce1558440000006ff86d02841b6b0b0082520894e4edb277e41dc89ab076a1f049f4a3efa700bce887254db1c224633f8083104ec3a0ab8bce75b42bc2f1a9bba91763ea062998802dacb563ad42509dc8a7a738d28ca022df72bd219b5567b247572a24304f18fc68346109aa88f42ac176c07fa3dfe500000070f86e0d841b6b0b008256d0945e809a85aa182a9921edd10a4163745bb3e362848801167d1e130640348083104ec4a0f1b1977220f626ff07fb8bbc74880ebbb90557588c695a7c1bdba93378806bbea005c4a45982f3532e797fc24286705601be453f2d77b0d4a3ba9c01eee540b925000001faf901f783069e8d8420e6da00830f8d5c94a658742d33ebd2ce2f0bdff73515aa797fd161d987027ca57357c000b901840508941e00000000000000000000000000000000000000000000000000000000000000660000000000000000000000007dfb5e7808b5eb4fb8b9e7169537575f6ff1a2180000000000000000000000000000000000000000000000000000000000030d408e06584340b10f2363f46c177a0f37e4eeab04a90d6e37a7ae63439e585af4b38e06584340b10f2363f46c177a0f37e4eeab04a90d6e37a7ae63439e585af4b300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000e7a8d7de780fce16451a355b86025eb36b2fb05d00000000000000000000000000000000000000000000000000000000000000680000000000000000000000004d73adb72bc3dd368966edd0f0b2148401a178e20000000000006c440066ef1eae0457e8d56a003d781569489bc5466e574b00d67dfb5e7808b5eb4fb8b9e7169537575f6ff1a218e7a8d7de780fce16451a355b86025eb36b2fb05d00000000000000000000000000000000000000000000000083104ec4a0af8d7d41ac4046cbb3778312c06d7f1f30899deef593486adab9d284e2b25d76a016019c5babf185f540a31c7e1b439df6f9da4af082c5bf5e919000b7b28edc9e00000170f9016d81e6841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406662356231363031336631663565626335636166383861616265646530633464656266336166663763393363306366373939383266633238616331346438343300000000000000000000000000000000000000000000000000000000000000403762326164323863343134313131333738343033383263383437356262363165306564383438303932633266393931323335373761386263613663346661323083104ec4a045ed87fca68cd58e42c928c3e60ca64c4590a275b3b56625fc27ba15a02caa61a07aa58f859e998903be51477feb213630b62acc4e021fc75794950ceb3e71e76a00000230f9022d08841b6b0b008301c48a94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901c4a15112f9000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000003c1bca5a656e69edcd0d4e36bebb3fcdaca60cf100000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034a160000000000000000000000000000000000000000000000167b203dbec80200000000000000000000000000000000000000000000000000172a72f32f66b900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec4a032e3964e8ee3fc2679ce986e78e1895efc746887b2905de3a99519a638f121e1a03a0f0bedfc495af8bbfd697719f655b73ca35bc9bbc1bd9f67b24ab3280da276000000b2f8b015841b6b0b00830106008080b85c6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220a88383c3010bd0f358d8b9c33d4760c0165713c61b6fb644f377e34db29cf5b564736f6c6343000807003383104ec4a0f7e50acd57536550963cf428a7887cd290572a26ac3e6cc727444110e62d2952a063ce847ba39ccb04f7cc56bf97f0e1130d3c9c00ff9d59e6d7f538b5367fab4d0000006cf86a21841b6b0b008267809493352e29334190b660d188bf1c63c41a0eb6b5728084b49004e983104ec3a05d0bc34f179ce955c34963bc91ef93026e6929f7e219c227d153c2f3ed7dfd8ea02ebeaf744e08df4f84e136f59cf33d3fab2d161017406daf28af0aba8839fd0700000156f9015339841b6b0b0083030de29418b71386418a9fca5ae7165e31c385a5130011b6873eaf90181ededeb8e4fb3bdb410000000000000000000000000000000000000000000000000000000002faf0800000000000000000000000000000000000000000000000000000000000000080000000000000000000000000b932820688f7a56f1ccc7ca1af29cee34de9aa460000000000000000000000000000000000000000000000000000000065cf623e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a483104ec3a07169b433b681712e61997a6d12f6b64a6ab69a54e5d9dc2b4adb24213746a8f2a06c6b3799d71429553827a4c1504afb7c3e9587c3906f06d4d1fdee258823067f00000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000f9010dd694bc9d741501a20f962756c95bf906b4abffadcf8fc0d6942e07f0fba71709bb5e1f045b02152e45b451d75fc0f8dd940d7e906bd9cafa154b048cfa766cc1e54e39af9bf8c6a0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca00000000000000000000000000000000000000000000000000000000000000069a07fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39993834ba07fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39993834ca07fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39993834da0b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610380a02b2b2bb6e6c4f54be97d34c3cb4ba408b01a414d402f70acb19a57549995983fa048deb89eb3d731cdc82ec968bfb921780f11be60dcfa81592af12d5ceb9e88f9", - "new_txn_trie_node_byte": "0x02fa018ea40183012bec830e8148850e26104e268316c54494a13baf47339d63b743e7da8741db5456dac1e55680ba018d241325aca00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000018ce00000000000000000000000000000000000000000000000000000000000000059000000000000012beb0000000000000000000000000002404328bf8fa70b65e3bb633a5fe906bb25c09d41655221c40420684a28475a4e81f03d67f485cb53475d63889227842ddf39e8636d04de6719b681ae7e5241d070fb00000000000000000000000000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000170000000000000000000000000000000000000000000000000000000000000033c000000000000000000000000000000000000000000000000000000000000049e00000000000000000000000000000000000000000000000000000000000005ae000000000000000000000000000000000000000000000000000000000000079e00000000000000000000000000000000000000000000000000000000000009700000000000000000000000000000000000000000000000000000000000000b360000000000000000000000000000000000000000000000000000000000000d5a0000000000000000000000000000000000000000000000000000000000000ef20000000000000000000000000000000000000000000000000000000000001090000000000000000000000000000000000000000000000000000000000000128e000000000000000000000000000000000000000000000000000000000000138400000000000000000000000000000000000000000000000000000000000015180000000000000000000000000000000000000000000000000000000000001732000000000000000000000000000000000000000000000000000000000000014fd02000000000033b3530000000065cf5d410000000000000000000000000000000000000000000000000000000000000000000000000098968000060000000000000033b3540000000065cf5d44000000000000000000000000000000000000000000000000000000000000000000000000009896800008000000000273f9027083069e8a8420e6da00831a57bc94a658742d33ebd2ce2f0bdff73515aa797fd161d980b90204252f7b0100000000000000000000000000000000000000000000000000000000000000a50000000000000000000000006e55472109e6abe4054a8e8b8d9edffcb31032c50000000000000000000000000000000000000000000000000000000000061a800cca8723ef052c7e79e3b81e9d994e687699d9bf2d71a8c7176565a1646b289a0cca8723ef052c7e79e3b81e9d994e687699d9bf2d71a8c7176565a1646b289a00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000114000000000000000000000000042b8289c97896529ec2fe49ba1a8b9c956a86cc000000000000161700a56dd28c2c5b91dd63b4d4e78ecac713987837176800d66e55472109e6abe4054a8e8b8d9edffcb31032c5000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000014990be9707dceec2bdd6575bb6f77c96cee7c80560000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000015594a00000000000000000000000083104ec4a0553ab89b87956a3f999d78927a3496926c42bf08b8513bb0dd72f650448a0303a069dd9ff8f2ecd3c482e89a458273e8d65524441c3379a35fe4b6043e79ad047400000190f9018d09841e28f280830603d094aa111c62cdeef205f70e6722d1e22274274ec12f80b90124f41766d80000000000000000000000000000000000000000000000000000000001f9a11a0000000000000000000000000000000000000000000000000000000001ef844800000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000334d594aed899407b0378d1f57aef6113bcd22f90000000000000000000000000000000000000000000000000000018db21682b6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000000000000000000000000000000000000000000183104ec4a0cf4942e0f71ddc906635bec733f6806fcdc0d6bb1c023d37d2ca0a2cf3312c5aa038e8b80e110cb83223a78fe6077bbb9604a532144a990caa2c74350e0d73f6fa00000250f9024d11841b6b0b008302dc3494aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901e4a15112f9000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000005b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000300c800000000000000000000000000000000000000000000000000000000000300cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000001a22c102a000000000000000000000000000000000000000000000000000000000000000083104ec4a0c8496fa98c3330a1b932bb7b5cdc03b9e12834c57fae932e7793b620a3944a10a009f16f99e0d1efd44b61e4e31305bd5b59681af33630ae878b6a3ee6fff145df00000230f9022d08841b6b0b00830228d694aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901c4a15112f90000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000304740000000000000000000000000000000000000000000000000000000000030d840000000000000000000000000000000000000000000000000007274b38e958000000000000000000000000000000000000000000000048348f14a6e800000000000000000000000000000000000000000000000000004a67ab474c1d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a009bb607946fd88367459a3a72fb23708dd4a4b5cc9e28fb77a45de83d0c62beaa01423f7cf51efcd9dfbe749393aab66402ccb90689db9e6c74d46159efed9fdb800000296f902930d841b6b0b00830373ae942db0afd0045f3518c77ec6591a542e326befd3d786686c6e5e0966b90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012446edd9c8000000000000000000000000530000000000000000000000000000000000000400000000000000000000000060d01ec2d5e98ac51c8b4cf84dfcce98d527c7470000000000000000000000000000000000000000000000000000000000000bb8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3cb010000000000000000000000002156369ef89d06be3a3eb1ed7ccc949a27d103ac0000000000000000000000000000000000000000000000000000686c6e5e09660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001225c3dafc5caf0000000000000000000000000000000000000000000000000000000000065cf644000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec3a060b664022e3f0141249b29303222ba050c3586b7c7487fde4fef231f98185c49a04f35ef0881deb845e24b34b38c6c3ccadd4e9d97493003f04cad792f2ad95280000000adf8ab2b841b6b0b00827c9994f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000efeb222f8046aaa032c56290416c3192111c008500000000000000000000000000000000000000000000000000000000002067c583104ec3a02950117cf70bc59786719217c575f46b6a7b962837aa4d7a16c4db40d2b118eaa03e58c591993c3136903d61befbd183a5ce15e406123ee749242dc0a65c47296d000000aef8ac8198841b6b0b00827cb194f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a7410600000000000000000000000000000000000000000000000000000000ac08492683104ec3a09ed5fc2dc3cffe1ee61a89786ae1733a3de8d22bb1d44bb2d20f7ae9803fe17ca03f245b30ab716c4c6c2632140fb44418cb30ee33115e445229359d3e422752e90000008cf88a51841b6b0b0082b7e994530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000008a8e4b1a3d800083104ec3a075859534f54a68d676d2dfaa0729cbd2049f2dba7d9ca4ccf6a376ce569937a5a050c75b9562d4074c43918135f7807c47a21954f9ca6c4ce9981e0d5b97243eea000001b7f901b412841b6b0b008301caac94aaaaaaaacb71bf2c8cae522ea5fa455571a74106879536c708910000b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000009536c7089100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa9471000000000000000000000000000000000000000000000000000000000718756f000000000000000000000000000000000000000000000000000000000000000083104ec4a09296d74c194d13ea6ad1f46a0d125aa94636c5255a12565bd2392ef0195ec568a0334c1ffc89a633bf82a0fefc25e32841917bf67d166ed90b213b6f971134bfc800000073f8710a841b6b0b008301c2d294d61b86b20e26807bdac8197039e8534f77d00b52862d79883d2000841249c58b83104ec4a047619b4a6286bf84753c2c41fb7c34da047a431938fd49c6dbdd022d89f3864aa0426dd16a1fcc1eb6e5df9f6aa925681f3aabe41956f76482acee541fb705e65000000170f9016d14841b6b0b008302a98f9418b71386418a9fca5ae7165e31c385a5130011b680b9010418cbafe500000000000000000000000000000000000000000000000000000000007ba693000000000000000000000000000000000000000000000000000a05a4923b477a00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000026d4b02be7d3f35f1ee7e124d3c2f8d2960cc2160000000000000000000000000000000000000000000000000000000065cf6446000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec4a0fe58ff4caae5074125e499581b7f18e9a9d0e49d2f09eca21e33b7151cf8fceda028318877a5fa4f27865f34ba7c90c625024f6b0969a3883ce0e33b005e05031e000002d0f902cd17841b6b0b008302a1349480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000002dad844494366d0000000000000000000000000000000000000000000000000000000065cf8c1700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000232785000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f6468f54b93b26e3fffc78393cc39fca3b38c2d40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a0a10101faeb6991cd3e07fad66b37dfeea809943b17d9b7ef21c570ac55ceb8eea075e4cdeaf0b4e012886d5020a90936c40756fafaa1f1b69c0cb3594d161201f000000073f8710f841b6b0b008302a43b94f4e7dc451afd9f7200f0dabcaad67011b9ae7830862d79883d2000841249c58b83104ec4a0ba41054b984bc009d1144e52109a6f16772f1c46da2d60b5ab52518962338cb4a071cf76c21b9ca1ad1148283f2ac2980f05a8f5a0942ddf171b266acbcaebd7940000006ff86d04841b6b0b0082520894e4edb277e41dc89ab076a1f049f4a3efa700bce88759bdd60f06e33d8083104ec4a0e4fddcd6615bfdb6c12e44ebfb87d5157a27195f9658f697f7a348d7c3287d96a0723bc6f023cbb4ff65ea3e884f2df2262ce2977537f2b92abe6a62a3c30cb7d80000000000000000000000000000000000000000000000000000000000000000001c9c02000000000033b3550000000065cf5d4700000000000000000000000000000000000000000000000000000000000000000000000000989680000e0000000000000033b3560000000065cf5d4a000000000000000000000000000000000000000000000000000000000000000000000000009896800007000000000071f86f830387d38420e6da00827b0c94b8e733b0e449ac8af7a1ea328dfcbf73efd7661e8701bda703f0a0098083104ec39f03108332ddf1986ea40186c7d5667d639731f511dec998f4e4319d719c7132a0019052406ce313ae42977f32d7062297b440820e39e7cbff251fcbaa8a548fe5000000adf8ab15841cc9fec082ece29406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b30000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec4a0a5ca17bf0c7782a510a86449cecfb5baa87430e5da2bbb0b718fdb6d32420907a066f6fbb7c9741e19f33cc47836a962d885aceef0e63c6b30448b3d3c825364f6000000adf8ab28841b6b0b0082a7b69406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b30000000000000000000000002db0afd0045f3518c77ec6591a542e326befd3d7000000000000000000000000000000000000000000000000000000000fdad68083104ec4a0d00d2170294c956d7d435a92e54ce9f4c6c684448ba027467aef0aa5ed1062b8a01d102bc8b658492a53c294485aec44532679abbfa6ab4bd1819284bbca259fea000001f0f901ed43841b6b0b008304bd1c94aa111c62cdeef205f70e6722d1e22274274ec12f80b9018418a130860000000000000000000000000000000000000000000000000000000000046cd000000000000000000000000000000000000000000000000000005de113661b8500000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000dfa6c10de2d6ed5a30fab1706f2beba13df906800000000000000000000000000000000000000000000000000000000065cf5f80000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000eb466342c4d449bc9f53a865d5cb90586f4052150000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eb466342c4d449bc9f53a865d5cb90586f4052150000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000083104ec3a02fcb4b729fd0000b1b42b450036cec0b42694a89f11249c8c40e602d0c5ce364a03f1d7d30f0fea01af5a5a3bfba7280a43d9641d6e6b1c88793c2b23b5d2683cb000002b8f902b5819c841b6b0b00830670a2942db0afd0045f3518c77ec6591a542e326befd3d787470de4df820000b90244ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000014475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000004a60a526c642ce63cf3af8ff68b3f5f222611fbe00000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000035c3a150000000000000000000000000000000000000000000000000000000065cf5f90000000000000000000000000000000000000000000000000000000000000004253000000000000000000000000000000000000040001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a40001f4f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec4a0db39309a0c13d5399b502a87c9d76976b108fb6d6ac78463af62a19465a1dd8ba05a4ea58202f9fb3760a6d016cf48bd3b2fa3c96fc555b8af6dc7c1ae35988d8c00000390f9038d0c841b6b0b0083052a289480e38291e06339d10aab483c65695d004dbd5c6980b90324e84d494b00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000003345f086275da0000000000000000000000000000000000000000000000000000000065cf8c1a00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065cf8c16000000000000000000000000000000000000000000000000000000000000001b1f4714446acc571611f3ff4025b56be7b5c38e5e4f4885643224f5d8700ce9274242ae30498ecdb4713df8b2e9ef64b3343c1dceef0f307300b3106be4de5c2900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000002775bb00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000634165eb24d5d350efb78af8ac72622dddb6abff0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec3a081dc1255249c4dbb8695c8c8f08ab7803b0f54788e2509157f29d76dd09438c3a06d6543a2e7a1b16cd63b0e0047445482b5ca43c086b71f2eac0119f18f9530ab00000170f9016d20841b6b0b008302b058940122960d6e391478bfe8fb2408ba412d5600f62180b9010418cbafe500000000000000000000000000000000000000000000000000000000005815e50000000000000000000000000000000000000000000000000007276b33d5168600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000003d85b63cbb64235dca5a217a4b5f6bb8a029d430000000000000000000000000000000000000000000000000000000065cf6448000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec4a02aacddb30054f7e6d610ced3163e94d413da5f30e2af9e16574757d290d13ebaa02214396d246300511b4a13bda4a48f62991c4e65ad15ce612d8935a8d9b210af000001b0f901ad0c841b6b0b008302015a94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021cedd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010000000000000000000000000000000000000000000000000002c360c74d996d000000000000000000000000000000000000000000000000000000000000000083104ec4a0303d6a16b00f63eec2da58e7b8ae4f7139d8ff8a292a617102ccdc7c2d50b065a034b528e36c54bb9d06b3416809c788b0f7ac2886c51e90f3f9ba896de1dbb86200000073f87105841b6b0b0082cab4945300000000000000000000000000000000000004871ff973cafa800084d0e30db083104ec4a0064b39f77afc696c24c235b1ce4b5a7ffc089a4a7ac992091795fee56e81861fa07beca5f8b43806ef35c0cbffb81d6398faea07d3f6599c9e6b207162c5e7bcb1000000adf8ab13841b6b0b0082c08d94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b300000000000000000000000049952ff32fcbc3408d447e1e91da2b44bd2d1afe00000000000000000000000000000000000000000000000000000000052f1c5283104ec4a0637c537d964f0db815b28de799400692751a5a229d85d1cac6481de6ff5066f8a05a9405204981550280deacd5a53f0f030afe694c146734596c9739c2ddd2a1510000016ff9016c05841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406462623237623032623464366366386362313034363035373135316234396334613366313738363539333838666239626533306166376439623339653132376200000000000000000000000000000000000000000000000000000000000000403536616438343664383931363032333739613633333330616532306435363964653537346331326333623463303163353062393162326430313862333061333483104ec4a001228b02cf5980f6a5a363dd2b9c92d5b188dd4384799a3c367eb83ba5905ea9a06da218bced7e32aea03e7340faacd9196cf8620706c3724940e86ed0a43de6980000016ff9016c0e841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406663336331333363376335636638366331393064643534626662313931333935313935646335643832666261643866643435336166633133646333616232633700000000000000000000000000000000000000000000000000000000000000403563383532626239346561383636343232623431613334373961626332303365366635343363323263636234383330343539623634366637353164313063333483104ec4a019a522bff23191b4e6cdd24608e998b3c1eeb2881fc740fb3fcd7f67ebaf6a2fa036140611a9713b372918efabd05cfe7f49c2e3127c04dd6206d12ac868b15b970000016ff9016c09841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403962333030346339663238666663383430623235653734633538313730613661303031396266653061396632353735616464363936306433303137343731663200000000000000000000000000000000000000000000000000000000000000403831306165323931363666353664646263396266643930363864393165373265366339353236663362623764646632353138613634656161393866616665313183104ec3a02ed9872d18d77b3b0d94d62b1f8eb3c7fb1622ee9344dccfd514d09a9925fdaca05013a0a2827bca5748c9a30f76e6de96c7b05a8e2b029670286428c4c26f8df0000001b0f901ad0d841b6b0b008301c6fc94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000815b6f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000000a9bc262c31034000000000000000000000000000000000000000000000000000000000000000083104ec4a0b15d93e37f855257f870f48e30ee968d1f9cbd63d2cc44c9740e2584d90a25dea07d6b5184ac72cd70a4e71c77a93dd1163d8be5be9d95f7d5c8c200cee7dd6a5a00000074f8720c84270d47d3830286469453000000000000000000000000000000000000048713e9b7c1f7500084d0e30db083104ec4a0c96ac48181c37648a5b0a8d0d2f4bace55146b2f5428d7b962b4afec9ff7cc3aa04dad8aa8a0c9bddd606d09d4e122ed457b0bf25b76f4e632ca229dd0f9e26cee000001b0f901ad0c841e28f2808304646294aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd900000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000001df4d6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa94710000000000000000000000000000000000000000000000000000000001d5b767000000000000000000000000000000000000000000000000000000000000000083104ec3a0ef441f44f6b889df29c1a1119bc211df8a6eae0bfd78efbc507c9ae12f86fe10a01ef6c712c50296b0582aaefcc1d686d7e2bacd25c35b33a8eb6f452f331994b900000070f86e0e841bcce64e8254959480c67432656d59144ceff962e8faf8926599bcf8880106b047d0a05d2a8083104ec4a08ac1b19b679cbca37a23e14291c633fbea791663eeb436dd40e36dabc682f126a06be2a07be1d772757e86d2b766e8cdb803718d7586364c8dd414f218c7a5aaeb0000016ff9016c27841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403937666163376231313737333238643832646166656135346561623034356131323037663663363136376235346631306337386231643663663864353630393600000000000000000000000000000000000000000000000000000000000000403366646534323534336630613935663765616161646638666331333236346263643663623635393033643966323862353039366130366638373338646331393583104ec4a0ecc3e380171c179549339567274903e04ccb3bab7a78733cf98f2175f66bbcc3a071a6b8b24430ae1991f6b715c933ad6c88d7bd721b6c6dc0d851acf6c7d967620000014ff9014c2c841b6b0b0083014db394aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b8e4a15112f9000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004900000000000000000000000044e21fd6170fb52e5ef18e9651f1ded6d5b8d3ae00000000000000000000000000000000000000000000000000000000712e9cc6000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df83104ec4a0fd4450453d357bea53dbd1dd058f9065cf64b9909491764de5ead40d82554f12a06d60e9472210c8fd275379811d9da2079de57e65aeb29b93f8054325590fb97000000190f9018d18841b6b0b00830319ce94aa111c62cdeef205f70e6722d1e22274274ec12f80b9012418a13086000000000000000000000000000000000000000000000000000000000042859b000000000000000000000000000000000000000000000000000572d419eec2e000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000096f1c088a890e7aa295ca779ea62b3c4a507272d0000000000000000000000000000000000000000000000000000000065cf644c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000083104ec4a0311734493921b2908518370e221701dd415b7e0da9933ef661cf3aeb21f3864da01e696a3cdd97074c634b4ee022867365559a295a05f179b7b3df048ceb423a28000000adf8ab02841b6b0b0082eb929406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a741060000000000000000000000000000000000000000000000000000000021d2ab1283104ec4a0bfe1e4129b1ed1f151d1e3128d696c5c19d3f33af461978f5cd538137374c37da073c099fbd152c3c9611a7c294a99f5c6ddb4772a1eb8f32e48626cfee3c7b0920000000000000000000000000000000000000000000000000000000000000000000015fc01000000000033b3570000000065cf5d4d0000000000000000000000000000000000000000000000000000000000000000000000000098968000090000000000adf8ab21841cc9fec082d34894f610a9dfb7c89644979b4a0f27063e9e7d7cda3280b844095ea7b3000000000000000000000000b6966083c7b68175b4bf77511608aee9a80d2ca4ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a090c7745e97aeb878a9974ad10fcd6df8221a329bc09f98386e20f42b541e31d4a0067097f07a0f33728e72da44308391bb425c2804c4eb109e77e4c0632188379500000297f9029402841bb13bc083094bed942db0afd0045f3518c77ec6591a542e326befd3d7878e1bc9bf040000b90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000b7acafc6d3087e14f2aa5cb4796b8ebb65ddcfd000000000000000000000000000000000000000000000000008e1bc9bf0400000000000000000000000000000000000000000000000000000000000006c0a1a00000000000000000000000000000000000000000000000000000000065cf5f93000000000000000000000000000000000000000000000000000000000000002b5300000000000000000000000000000000000004000bb806efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec4a09b3147027eb492c0d7b330e433a96748afae847c0361522c6272ae35d7cf4ecea0382343cb4f2baa9716afa95efe987ceb371b998c92823fb3a2ed13e15318f262000005f8f905f504841b6b0b00830512c89480e38291e06339d10aab483c65695d004dbd5c698801f87c3f661b0000b905842cc4081e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000017e2f1030000000000000000000000000000000000000000000000000000000065cf8c1e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fc3e1fb30d800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000053000000000000000000000000000000000000040000000000000000000000002f2240280bfc9801852786671d8822b24f05b349000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fc3e1fb30d800000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000078ea8e533c834049de625e05f0b4deffe9db5f6e000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000053000000000000000000000000000000000000040000000000000000000000002076d4632853fb165cf7c7e7fad592dac70f4fe1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002076d4632853fb165cf7c7e7fad592dac70f4fe10000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df0000000000000000000000002f2240280bfc9801852786671d8822b24f05b3490000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec4a09ed41e256317dae7c8939e04b914fe1b89ee76aed29e4cee25bf80c06af4a511a04805d1dc363da7bf3a1758e000cc9d19459e7b45042eb461519ab3a2913d128700000230f9022d08841b6b0b008302f96c94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901c4a15112f90000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000300e40000000000000000000000000000000000000000000000000000000000030a0c00000000000000000000000000000000000000000000000000026fa9cd1d60000000000000000000000000000000000000000000000048348f14a6e800000000000000000000000000000000000000000000000000004a67ab474c1d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a0abee34d268930a6ff3cb6e5a2c1f5ad42481c583df5e61daad40c00700cee468a03e33ee54d99a5bdaca385f70061ac01aa67c9398f659fd668a04fecbf90c3c21000000f5f8f317841b6b0b0083023ad594e2e1d82b050bb5bfec776b2653a72f093a8373ab8708e1bc9bf04000b8843e49fb7e0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000cbf4e2115ab017cbde3106af6f47a94568687a19000000000000000000000000000000000000000000000000000000000000000862617a68656e6f7600000000000000000000000000000000000000000000000083104ec4a09791596b8a8205fff189d08c8dcb1b5e7b79b14e121fcd78fa76eb68087e1a68a0439828d29b5b2c1382050e6a7db9c4569464a1e2e44c736f49f07b831c2eec9600000170f9016d1d841b6b0b008302a98f9418b71386418a9fca5ae7165e31c385a5130011b680b9010418cbafe500000000000000000000000000000000000000000000000000000000001ac1ef00000000000000000000000000000000000000000000000000022b199d789b2500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000058e539f6f5f9b51d02ae69b4f50dfe5ea1ec9b700000000000000000000000000000000000000000000000000000000065cf644f000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec4a0ae30fc2262f5377b3e04e8da575cfdfca3b159e06ef2a4ce1220ddc1fd7fef8ba05c9af4fc6c851ac9be17ab033ad3d40592c78de1ce815846c1f0b294294344be00000670f9066d07841b6b0b00830420f794aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b90604a15112f90000000000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000e8e4000000000000000000000000000000000000000000000000000000000000f0b800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004b500000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000014500000000000000000000000000000000000000000000000170a0485e54095000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c1bca5a656e69edcd0d4e36bebb3fcdaca60cf10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec4a0845414890c1f6c8ba298e6f6c733dc02799e59fc5b296d021f0d5826404770afa05fe73875ba958d81c410f535fa751abb9f8e9f35960fa56e7ad91f13e51429f9000000adf8ab09841b6b0b0082eb869406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000aa111c62cdeef205f70e6722d1e22274274ec12f00000000000000000000000000000000000000000000000000000000005a94f783104ec4a05a096d939425eee9f3a96bbcf5c9e9ee90b94de46a5acd665a969ce1499690e1a0252f5545e90720aa9fdd7f5a0a62d99132d0675551b7286b2db6f26f60f07af4000000adf8ab19841b6b0b0082eb7a9406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000018b71386418a9fca5ae7165e31c385a5130011b6000000000000000000000000000000000000000000000000000000000030ae6583104ec3a0a86881ba43428799f2ebcb3887934310e14e748c9eb9cdccaf86b61df8a05af6a05e25ccdae453a37d4959dc35ef35023c5e1742beb099871ff27a8caea61305bf0000000000000000000000000000000000000000000000000000000000000000000010d201000000000033b3580000000065cf5d5000000000000000000000000000000000000000000000000000000000000000000000000000989680000900000000027af9027783069e8b8420e6da008307d95c94581b26f362ad383f7b51ef8a165efa13dde398a487071afd498d0000b902048624ba07000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f8527b85693e60bc7d61d75b3b66e87bf95a9c2600000000000000000000000000000000000000000000000000071afd498d000000000000000000000000000026da582889f59eaae9da1f063be0140cd93e6a4f000000000000000000000000000000000000000000000000000000000000759e00000000000000000000000026da582889f59eaae9da1f063be0140cd93e6a4f00000000000000000000000000000000000000000000000000000000000003b41e655a308a9e3529bbd8dc411d2139d7a401d0d9ae4224b6acee67acdf2a491100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000cf080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a0cdd897a6f5dcc6fbbd25b5a9cb4ab50779b21e3262e9caf0b51f84bac036a3dea0305cf6d942091a8807e99ad3dc64d0f878f8bf24077511354069002f17c415100000027af9027783069e8c8420e6da008307d95c94581b26f362ad383f7b51ef8a165efa13dde398a4870e35fa931a0000b902048624ba07000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000010000000000000000000000007cb004886b6d2dd0347efeccf16d0702ded43ab8000000000000000000000000000000000000000000000000000e35fa931a000000000000000000000000000026da582889f59eaae9da1f063be0140cd93e6a4f00000000000000000000000000000000000000000000000000000000000075df00000000000000000000000026da582889f59eaae9da1f063be0140cd93e6a4f00000000000000000000000000000000000000000000000000000000000000642fcf17a83301aa75bcaf967246716e5de21936025f8126111284c069b1d02ec700000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000cf080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a02593a3305a09933d5b6274123b302a3af63eaee11ee8686c9c41a0bb525f41ada0292e557f868e5a5bf9972aa0f7ef6363e8f1bc0a66a09421ed528055c0440f2900000191f9018e820382841e28f28082ba0194760bd7fc100f217678d1b521404d2e93db7bec5f80b90124782661bc000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000065cf5d4a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f610a9dfb7c89644979b4a0f27063e9e7d7cda320000000000000000000000002a00647f45047f05bded961eb8ecabc42780e60400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000b24fe8e001b19b496000000000000000000000000000000000000000000000000000e3b71d1085e90b83104ec3a0dc69949039c3885783a47a050066359142e71c08bfcd8683247248593c6c97cda0322c2979cb5c610173ad909a4082e6ecae12891e241037a57b5f4f5a7cd2a8a4000000b1f8af830cf3bc841cc9fec0830218ee9487627c7e586441eef9ee3c28b66662e897513f3380b844535b355c0000000000000000000000002cd72159b2e0e05c513bb9a2a8266e7235b5f23a00000000000000000000000000000000000000000000000000103ab0a5f0140083104ec3a0320436540ef64b0bd67485637ed0e6eb7b9bc14e37bc30f9bb4a99819745b9f6a00700935c10af284e965748289dfb7e9e51b4c43e6c91524546781f57a0077d1d00000297f9029416841b6b0b0083039f00942db0afd0045f3518c77ec6591a542e326befd3d787029d425ca1cffab90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a71833fa1661ae9e040a0687bfec334d5819756b00000000000000000000000000000000000000000000000000029d425ca1cffa00000000000000000000000000000000000000000000000000000000001fc87c0000000000000000000000000000000000000000000000000000000065cf6451000000000000000000000000000000000000000000000000000000000000002b53000000000000000000000000000000000000040001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec3a0eada1f4ef34585719084907bc7cb6cd275e589fd28a0d011259b533b92b9ed2ea046efb8b3d6764cf4e52ff79fc15d23b56a412ca684136bbe00b6449d0c18586c000000aef8ac3a841b6b0b008307389394ec53c830f4444a8a56455c6836b5d2aa794289aa80b844962941780000000000000000000000000d8f8e271dd3f2fc58e5716d3ff7041dbe3f0688000000000000000000000000000000000000000000000000000000006f29a44083104ec3a04f002290ca86f4dd7cf4b89045f2c7b4d1270f9ca203e37c9d26302380dd36b3a0097b79a6834588d6e0ed0db54d21730adacc7ad056ed5a23ce09578bb10cd2f5000001d0f901cd27841b6b0b008304b48f9480e38291e06339d10aab483c65695d004dbd5c6980b9016453c43f15000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c700000000000000000000000000000000000000000000000000000002cfbbd3b4000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000001c002d4e97ce210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000bda0f952248689320fb469256d0176a5e8246dd10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a039b5ae9351a9c978b4eb4c66e94fbf1c0bfcd74deddeb7b5e386005b37025fe4a04dbaccc1ac97218a504f98258bf0cc4f023f1db49ba7f2842c4b402aabc2dc9300000156f901531a841b6b0b008302b6d6940122960d6e391478bfe8fb2408ba412d5600f62187029addc3b10f92b8e47ff36ab500000000000000000000000000000000000000000000000000000000001fe5920000000000000000000000000000000000000000000000000000000000000080000000000000000000000000d4113ba0ab0627ce2914cc65e22279dcf72b98b20000000000000000000000000000000000000000000000000000000065cf64520000000000000000000000000000000000000000000000000000000000000002000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a483104ec3a07fa0eac0e9caa7b530500379f60d95361dcf34fd3e6e870a19b97a0f883ac8b5a049f5c632ef55510522acf527ac63d834da4c6bb55c64a601b9c848a93904b715000002d0f902cd07841b6b0b008302a1289480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000010fe4462828cb80000000000000000000000000000000000000000000000000000000065cf8c2900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000d1422e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000483d1e4ab0fe0b51d1635f81e6d2c7767f163cf0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a0531a15025f2d0a166acefdc3a6eb02b3244db4665e28d8786fa4eb042bd1b97ea0167aa603f0aa0a2d72de4700b589d08080fb868108833d874c9bd9342e1a0fc200000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ec402000000000033b3590000000065cf5d530000000000000000000000000000000000000000000000000000000000000000000000000098968000070000000000000033b35a0000000065cf5d560000000000000000000000000000000000000000000000000000000000000000000000000098968000070000000000aef8ac11841e28f2808301d70c9406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000080e38291e06339d10aab483c65695d004dbd5c690000000000000000000000000000000000000000000000000000000001236cd083104ec4a0935870dbd80f7494bbff8b3643b51d551a28a66bca71a8d77ef9725e2202324ca042bc799abb90ddacc6d9c0485a70b4985ca7f5f775f1e8a6b8540b7ef95cb88300000170f9016d0c841b6b0b008302a99b9418b71386418a9fca5ae7165e31c385a5130011b680b9010418cbafe50000000000000000000000000000000000000000000000000000000001daab9f0000000000000000000000000000000000000000000000000025cfe733288fd000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000e8a10a27a426e45d0dc9e6fe7d0706ecca5bb5c90000000000000000000000000000000000000000000000000000000065cf61fa000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec3a0c607fe1ca9647c3b3d53ca980ca251c38652d452f4dd8c2739b3ce567d4ae10ba0206b5cf5ebffacc4ec970a94e98d30ab3a279a3a19fe2d0d9e20f3ceab4ddcd5000000adf8ab01841b6b0b0082c08d94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a74106000000000000000000000000000000000000000000000000000000000230e8f483104ec4a0a9f18510c4a155f424e875116ac000c50ef3c12fc3cb4c78e0004b00b94b5459a02a1749dfb081e998f1576a729aa07d68ff8ce93b21410cb9d2518353714cc029000001d7f901d407841b6b0b008306055494aa111c62cdeef205f70e6722d1e22274274ec12f87354a6ba7a18000b9016467ffb66a000000000000000000000000000000000000000000000002490d4b639b45400000000000000000000000000000000000000000000000000000000000000000800000000000000000000000008676280fd21c0c4884d025cda7d33cb0d8714e1b0000000000000000000000000000000000000000000000000000000065cf5f900000000000000000000000000000000000000000000000000000000000000002000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000ca77eb3fefe3725dc33bccb54edefc3d9f764f97000000000000000000000000000000000000000000000000000000000000000183104ec3a0d6fd9d16cf26bd1d404362b7faea51d3b1ecabcca3c1bb517b7c4b3ed18e31b6a043af881b21add53846cbebf1432995a7ffa39f9f464c8385f9e64ca42a8c0cd1000000aef8ac04841b6b0b008301b0329406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000020e77ad760ec9e922fd2da8847abfbb2471b92cdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec4a0a370ab1ff339d2a0621c01b3acd0134ef838a8a44b45414bc847e563b99e1034a03a70d4f9035dd45e7bddf39adde6f760183f5c06c33234dd77941ea9db56f65a000002d7f902d404841b6b0b0083029f7a9480e38291e06339d10aab483c65695d004dbd5c6987038d7ea4c68000b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000273408f102f1b6870000000000000000000000000000000000000000000000000000000065cf8c2b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b39880c7a0b752179d6d7d9ae594ab4c02d6e5b800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000b3f6c27bd09e7c96b349d9c844425402ca4ffc6c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec4a07b7aab574a9df8b5550e7dcfea0d87fde4759976fa8dba68bdc360a864dd87e2a0339763b7356217293d8df104c0e2199e2693de22fed4f984b6ff6f5653875f02000002d0f902cd0c841b6b0b00830332d79480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000021b510f50000000000000000000000000000000000000000000000000000000065cf8c2b000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000ca77eb3fefe3725dc33bccb54edefc3d9f764f9700000000000000000000000000000000000000000000001ec9267e496c2eed9e000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000009da72cbd2f262a898b3e47e56ebb385d8fb160310000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000ca77eb3fefe3725dc33bccb54edefc3d9f764f97000000000000000000000000197587ffee04c183b8d129f3bd192ec79f2df8ed0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec4a0d471da2e709cb335326300e855bd57bbf8987631549184037c6befc7184fdf02a06a74fd7b7e39b4f5db40189623066116ffa145bb545897ab3a6c44d2992ffd790000008df88b0d842378a9cf8301a2cc94530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000001442d92927700083104ec3a06db22ecdb8c44e05d295d0a470c4394d010a70d5fad09a99ee5ab937b6e6feefa05fd8ab427a2f685894f51bc27f5c6ef0711d797170738482d10b54497a5c7cf800000890f9088d16841cc9fec083045764946131b5fae19ea4f9d964eac0408e4408b66337b580b90824e21fd0e90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000005e000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000388a31bc568dd6ebaaa3b1f52078c00070bf98200000000000000000000000000000000000000000000000000000000065cf61fc00000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004063407a490000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000e64ae4128e725868e8fe52e771e3d272e787b04100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000d3c36a9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000012344a3b6400000000000000000115c661b0c960a300000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000388a31bc568dd6ebaaa3b1f52078c00070bf9820000000000000000000000000000000000000000000000000000000000d3c36a90000000000000000000000000000000000000000000000000110382c8969309f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc8970000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000d3c36a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ec7b22536f75726365223a22222c22416d6f756e74496e555344223a223232322e343934303630393232222c22416d6f756e744f7574555344223a223232322e3336393835323831303034323931222c22526566657272616c223a22222c22466c616773223a312c22496e74656772697479496e666f223a7b224b65794944223a2231222c225369676e6174757265223a2254354f557571596e5533656c677055396d4967546f7a7a54557545662b6a32714e31567042437663634d414d636c62366f6b574158712f596666532b7449655852642b4d686f6d5350324f64515137446331746b73794a4c545870344438794c51616a744a43664e30434b48532b43756251316e30633156586b3452724f744a3178544f793567686d31314c7a4f53553454797a3758656b69697274396d4379522b6f464a6e5351386f70305553475a78452b4848665757574e714a37527066364279374545376235684c323454707979554f5556416b4d434844736a51342f324e426557763041794c7a756473386e72564661792f6e7465552f6164595067394954514f63766f764d51615335764d7a566c372f4d4e6e6d6747767330474b536338553746454130446b76415664674d354c79706375726152484178377a554b66696542794c585170457a623779705061566559673d3d227d7d000000000000000000000000000000000000000083104ec3a0d3bce97a499c21c9e45aada4faf007373880d779bc0d04492975275de5a1104ea0469ea393e1664cb67d01d6731da35a7ba5001d0939b949a9742895a62d4b3b58000002d7f902d40a841b6b0b00830277459480e38291e06339d10aab483c65695d004dbd5c6987279b35eccac800b902642cc4081e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000001d3dee50000000000000000000000000000000000000000000000000000000065cf61f4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000279b35eccac80000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c7000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000f4c9ebc24fdc9365af70b50fcc5db690727f4d2f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec3a048d07fc682185f39b8dbd23d133dfffc9d571d65f9666959972d19d39c223199a06abd87509d30d13f9ebf2f39ba98a2b016f50949ff56a5fa2158ad99c1526895000001f0f901ed19841b6b0b00830484aa94aa111c62cdeef205f70e6722d1e22274274ec12f80b9018418a1308600000000000000000000000000000000000000000000000000000000035d57cf000000000000000000000000000000000000000000000000004669d9b462d94c00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007b2da0e5f3bbd7e824a16e7f8767de19718e81a70000000000000000000000000000000000000000000000000000000065cf5f9b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000083104ec3a07099ad585abbe34b4a0fbbdb439e08e8c5ad971186b643ffdf768e6c41d4a881a0110016f65fbb1db83e3fb9e0d276a0b460fe4a200b84ce3fe86e4df6429ee1ee00000210f9020d1c841b6b0b00830391049480e38291e06339d10aab483c65695d004dbd5c6980b901a4ad271fa3000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c7000000000000000000000000000000000000000000000000000000001244db0b800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006857b8405a0c7d59a377eea4132a9aa5dd0fb8150000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000458f300000000000000000000000000000000000000000000000000005b1c9a228c2a000000000000000000000000000000000000000000000000000000000000000083104ec3a02e493a1637a22779df70d0a34672cd24e3a80dee6fa4d5ddc23bbc21b9a6c577a05abd6be21cef3c601ef1a04f3d94d6951ad6f7548c43981a6e68c5f179a787bb000000b6f8b421841b6b0b008303208594ec53c830f4444a8a56455c6836b5d2aa794289aa8802c68af0bb140000b844f2b9fdb8000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c00000000000000000000000000000000000000000000000002c68af0bb14000083104ec4a0d90626be654564f972bbeba32a8a77f3f459b7bde53f391c4bf8a44d2a781fa4a04c1979fb14823c8887c1bc862b5eed863e4c70c8666edfb2d02cd7b39bb0fd3700000272f9026f821c29841b6b0b008304edd4942f2afae1139ce54fefc03593fee8ab2adf4a85a780b902047c39d1300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000d6000000000000000000000010000000d600000000000000000000000068ee9bec9b4dbb61f69d9d293ae26a5aacb2e28f3af87783e5e41bc35e1c36d03e43c91aa9eb2f380f25e7dd551274883b64397f0000413e7ddb7398704111e18336a581e4f5828d18334669530946d68b41c8714a6c49e822e565f6b7eafa05eb57e57294fe3ad2a0e893d395e0513f11a201adcfb592c51cb8d06f4bc3b027d901a67a35e2df916f5fff66ff523292ae8de6f92d353316672a81eabe21a365c46da275af820a188a89e5e8f16b7cb31803a94c0e84deaf171b00000000000000000000000000000000000000000000000000000000000000000000000000000000008d030000413e0000000a0000000000000000000000002a5c54c625220cb2166c94dd9329be1f8785977d000827500000000000000000000000007dac480d20f322d2ef108a59a465ccb5749371c4000000000000000000000000597ffed7bacccfd7e63315a8912b7c0b84258c04000000000000000000000000000000000000000000000000000000000262929b0000000000000000000000000000000000000083104ec3a0386cb4189d92acf5d7d570c3ff9f97fa775168c079938346b58e7ecab9a100e2a0354168ebc77f29df036b746e2936a6ed09c6e134d59e41dba1d428ca6345fb45000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001cf302000000000033b35b0000000065cf5d590000000000000000000000000000000000000000000000000000000000000000000000000098968000060000000000000033b35c0000000065cf5d5c000000000000000000000000000000000000000000000000000000000000000000000000009896800009000000000072f870830387d48420e6da00827b0c948d4fdc55b38dc07328542cc6b87487518021da2a871f9e80ba8040008083104ec4a06448351025863c81296ba4a2d51345a635bfd1ce3226b63e5a075bb828455059a00790f20fb07a99059f313faf298e16227661ffeba05e069069828d70db07dbfa000002d0f902cd0e841b6b0b0083036b0a9480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000070c78552776f0000000000000000000000000000000000000000000000000000000065de9f9300000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000566ef00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000403e48f9dcc960774f1cf26cfe386441e4fc2e290000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec3a0784c112c3de96730ceb896dfb7607c2c48622b72aad2a93e3f8e9502dbb772c3a00f827f9b7f55bb42740f2d7768d53cb0e05e4b19ceddbfbe8c4fb23f463d3664000001b0f901ad2d841b6b0b008302a9b794aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029db6c99000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a08d31bb136e555ac1c0eec28f526e493773dea219f465077779b0c3bf6083cd02a074163bc9e194e76aeeda5d20c5f0a45132fa799fdc959f860378ecb28bb00b3100000070f86e12841b6b0b0082520894e4edb277e41dc89ab076a1f049f4a3efa700bce8883624e994372fe3368083104ec4a014ba7d1659038f888c059e5bc471313b0263396e35846e3c3bde9ea3f56e4baaa05c53e7f6ba8a68cd269c1bdf6d3b96fe15ca4d124401c49dd315534bcc38493500000156f9015303841b6b0b008302ae0b9418b71386418a9fca5ae7165e31c385a5130011b68713fba854cb359db8e47ff36ab50000000000000000000000000000000000000000000000000000000000f5517500000000000000000000000000000000000000000000000000000000000000800000000000000000000000008576780357c9b0a827e34a7bcefa4fd56459538c0000000000000000000000000000000000000000000000000000000065cf645b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a483104ec3a0badb683668a6ea9f8f44c5923f3b7bec676f20ebad85cb7992d8cfd46bc40f46a006c1f9439733665f7b94e815b4f3bd3125130e270c43fcf95bf9c37c659e1c9700000297f9029416841b6b0b0083041a17942db0afd0045f3518c77ec6591a542e326befd3d7879c19b53548e118b90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000085b4a1cba62c6a49013473e6192ecdea0c38579f000000000000000000000000000000000000000000000000009c19b53548e118000000000000000000000000000000000000000000000000000000000766dbad0000000000000000000000000000000000000000000000000000000065cf645b000000000000000000000000000000000000000000000000000000000000002b53000000000000000000000000000000000000040001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec4a00280e98f705e3a7ca0ab22ba62e6ef4f56367cbd6208dd899a0019b18800eec8a032def900e9c0dff648e85d15dc75e263aadc0b506d4898fe57d22b47045ad10d000001b0f901ad03841b6b0b0083026cc994aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd900000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000021d2ab120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa94710000000000000000000000000000000000000000000000000000000021bb3676000000000000000000000000000000000000000000000000000000000000000083104ec3a06c477816c677f16be78c3445450da1faddd63b10b7fed3e12add5a6dbcc949d4a00da8bafba1bfbca632db7db27e5681b423c67a029349010546b0b543f8e15d08000000b6f8b417841b6b0b008303208594ec53c830f4444a8a56455c6836b5d2aa794289aa8805d423c655aa0000b844f2b9fdb8000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c00000000000000000000000000000000000000000000000005d423c655aa000083104ec4a0b47ec8b802c9040cc2f3af7858355eb494d36fb496a0cb5645a94c6c006ae1daa04a90fcabae82cde0b4bdf080a8916ebfedd71aa0b208403fdf8401184c03246600000177f901741a841b6b0b0083031f1b94aa111c62cdeef205f70e6722d1e22274274ec12f87073ec4bccb2a24b9010467ffb66a000000000000000000000000000000000000000000000000000000000057d24e0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000e6e73f6143585f697cd7e5833c44826516cf6af50000000000000000000000000000000000000000000000000000000065cf645e0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000083104ec4a09ce383db5d2a701de7074c9814153822307461bbbc6a9c2f6dc7ae6053f35e71a01fbd7ad428670d0d5b756761c256eeb7701c72095cc6099204953a74ead84cbf000001b0f901ad11841b6b0b008301da9e94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098968000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000000c83925ee514a1000000000000000000000000000000000000000000000000000000000000000083104ec3a0bc63d8277ea8ee9c3f47339cb562edcace9b4b7c0cc4660f4c707f64c689e649a0568b580cf107c3518cac27a21085ac59968b5c9a5e522d68369eee8ec412b635000001b8f901b53a841b6b0b008302638f94aaaaaaaacb71bf2c8cae522ea5fa455571a74106881bc16d674ec80000b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000001bc16d674ec800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa94710000000000000000000000000000000000000000000000000000000151cf1eb7000000000000000000000000000000000000000000000000000000000000000083104ec3a04663efae6ce92344299c81b1d395c3f53ba6e888f51976250db7cc0a81cf9a7fa07abf4bc9a9d968bbe148e5e90e2f52c5caed8fe005f0a6c4132f0fa7855d11ba000001b1f901ae8199841b6b0b0083028bf094aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000100000000000000000000000000000000000000000000000000000000a97d36a0000000000000000000000000000000000000000000000000000000000000000083104ec3a02a4c7abcfc2132ab2ff2bedc3010e22d296c35a1a89ff7260a6b8662e446adb0a073f9839c2fe2db2af14ed4d960339ef892c3f7d7decaa50da4863641212b41340000006cf86a1b841b6b0b0082d064943035f73e3a323f7ee4847ec80ca643712436868680843ccfd60b83104ec4a01e0b3c07cd1b87a8b36c6de1524b645877fe9a8a3552cf1e8861ecb5652dde2ba05545dc5bb95dfae820f3d0a043c33ccbc82445aa14d1cd0191891fb78a93288e000007d6f907d31e841b6b0b0083039c06940cab6977a9c70e04458b740476b498b214019641865af3107a4000b90764a4d73041000000000047ba1c65ce57be4cc04b4e1920e974349b9cd1a1ff1b398ba16557ba1d37960989991665f5e4faeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea6e3c945727911627b802aae7538262ae993ca117a0e481f908209137a46268ef7a6d73faa274536f1fad8544486cc4ad84c6a788aec7b156a6ee2d1cfd2a8bb1ebdd705d64f1cb251a3df7c1e81b607b232215c54d2c9e37c5903b91d7ab07700000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000068014000000000000000000000089873d3ecdda963fcdfb9abc372c6bbd516da0b6003201000000000000c803e84cc04b4e1920e974349b9cd1a1ff1b398ba165570000000000005af3107a4000000000000000000000000000000000000000358c0000000000005af3107a4000000000000000000000000000000000000000325a0000000000005af3107a400000000000000000000000000000000000000035b50000000000005af3107a4000000000000000000000000000000000000000340d0000000000005af3107a400000000000000000000000000000000000000034090000000000005af3107a4000000000000000000000000000000000000000340f0000000000005af3107a4000000000000000000000000000000000000000340c0000000000005af3107a400000000000000000000000000000000000000035df0000000000005af3107a400000000000000000000000000000000000000035e10000000000005af3107a400000000000000000000000000000000000000034010000000000005af3107a400000000000000000000000000000000000000034000000000000005af3107a400000000000000000000000000000000000000035e60000000000005af3107a400000000000000000000000000000000000000035e40000000000005af3107a400000000000000000000000000000000000000033ff0000000000005af3107a400000000000000000000000000000000000000034020000000000005af3107a400000000000000000000000000000000000000034030000000000005af3107a400000000000000000000000000000000000000035e30000000000005af3107a400000000000000000000000000000000000000035e50000000000005af3107a400000000000000000000000000000000000000034060000000000005af3107a400000000000000000000000000000000000000034070000000000005af3107a400000000000000000000000000000000000000035d60000000000005af3107a400000000000000000000000000000000000000035d50000000000005af3107a400000000000000000000000000000000000000034040000000000005af3107a400000000000000000000000000000000000000035d90000000000005af3107a400000000000000000000000000000000000000035e70000000000005af3107a400000000000000000000000000000000000000033f50000000000005af3107a400000000000000000000000000000000000000035d80000000000005af3107a400000000000000000000000000000000000000035db0000000000005af3107a400000000000000000000000000000000000000035dd0000000000005af3107a400000000000000000000000000000000000000033f90000000000005af3107a400000000000000000000000000000000000000034050000000000005af3107a400000000000000000000000000000000000000035d40000000000005af3107a400000000000000000000000000000000000000033f70000000000005af3107a400000000000000000000000000000000000000035d70000000000005af3107a400000000000000000000000000000000000000033fb0000000000005af3107a400000000000000000000000000000000000000035da0000000000005af3107a400000000000000000000000000000000000000033f40000000000005af3107a400000000000000000000000000000000000000033fa0000000000005af3107a400000000000000000000000000000000000000033f60000000000005af3107a400000000000000000000000000000000000000035dc0000000000005af3107a400000000000000000000000000000000000000033fd0000000000005af3107a4000000000000000000000000000000000000000343e0000000000005af3107a4000000000000000000000000000000000000000343c0000000000005af3107a4000000000000000000000000000000000000000378d0000000000005af3107a400000000000000000000000000000000000000033f80000000000005af3107a400000000000000000000000000000000000000037910000000000005af3107a400000000000000000000000000000000000000033fc0000000000005af3107a4000000000000000000000000000000000000000343b0000000000005af3107a4000000000000000000000000000000000000000378f0000000000005af3107a4000000000000000000000000000000000000000343f83104ec3a0f912fb2b6036afb7701b0e3b3a2eeaac407ec6e0163905fa62b9dc8b231fd572a02d6e41fdd339cf8d2e99b68d19b34353b25fb21cd8494042dd36191ddb0b3516000001b7f901b403841b6b0b008301bba294aaaaaaaacb71bf2c8cae522ea5fa455571a741068706eacfdaf54ea3b901443d719cd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053ec600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa94710000000000000000000000000000000000000000000000000006eacfdaf54ea3000000000000000000000000000000000000000000000000000000000000000083104ec4a0fddf17e54d7766805d0aedebb31368325a5faa2a9a1452d4ba0455c626ee40f6a0509efc0d0ed665c9812dab5d08f3bcd6437727d7f26a51990aa12fbe507768c1000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c2c02000000000033b35d0000000065cf5d5f00000000000000000000000000000000000000000000000000000000000000000000000000989680000e0003000000000033b35e0000000065cf5d62000000000000000000000000000000000000000000000000000000000000000000000000009896800009000000000073f871830387d58420e6da00827b0c9469069926d6bd30894f3ea4160517f893760d2400880af57f0c304bd1628083104ec3a00233538aa6b42c036be030d6fcfe2be35bd782e934eec6c8a4660c226ffdd590a06c4f635787503c94609a20946125fd8ab6448177cdb2b370692b29bb3e854ffd00000074f87213841e28f280827e609487627c7e586441eef9ee3c28b66662e897513f338828f20ed1c52b500084db6b524683104ec4a0f04ee31635bc13997108dc13e712ab31b7f994df71c72048d7110bae97eefb5ba00e2d115538b15d26f17849d26fd4fa613225d1df03bc88fadee6aa0b92c790d9000000aef8ac22841cc9fec08305b33394ec53c830f4444a8a56455c6836b5d2aa794289aa80b844f2b9fdb8000000000000000000000000b6966083c7b68175b4bf77511608aee9a80d2ca400000000000000000000000000000000000000000000000000477172d5200dce83104ec3a0194691675a9a7d295c834b2827b29751785ae948ae415bfa15aba3093e7e1400a05e4f10c46283b489063c126d2f915e15ed28c48bdc78d29d5513ac8279d77e52000001b7f901b403841b6b0b0083022b0f94aaaaaaaacb71bf2c8cae522ea5fa455571a74106870503868ae20816b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003d09000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa9471000000000000000000000000000000000000000000000000000503868ae20816000000000000000000000000000000000000000000000000000000000000000083104ec3a0e42efffd772a3b7c0451860cf7a42f3186c5dd947baab5ca5c3610d70b59632fa06985bec360379627360f4734115430af3e37b4ab1a82d5b141cda2af023ea1de000000adf8ab08841b6b0b0082b4d894530000000000000000000000000000000000000480b844095ea7b3000000000000000000000000ca6fe749878841b96f620ec79638b13daad3d320000000000000000000000000000000000000000000000000004db1ea3398bf8983104ec3a0b56801f2c69152c0eb26c18c2aef323d9d9ca2ea3286c3d80eabac5542232759a01016e1155074425801692088be5c1bb4d9e8fe7aec33ca1877351f922cbf4da300000073f87152841b6b0b0082def9945300000000000000000000000000000000000004878a8e4b1a3d800084d0e30db083104ec3a0c016aab630a5d4e102e28dd453adab7cb2e4846a05a9fa4352c885f172180caba03ce46f41ed686e4a0876a2e3f07b2ac5519e5e5648bd7d670ffe4b79e7eb45d6000000b6f8b430841b6b0b008304cb1b944c0926ff5252a435fd19e10ed15e5a249ba19d798802830a8a80588000b844c7cdea3700000000000000000000000000000000000000000000000002830a8a80588000000000000000000000000000000000000000000000000000000000000000000083104ec4a0e5bf58d9611c480a120efe43172236a6180cfa56dc0c22231ecd6dbbb93065eda045e0539e1e02e9c6c494b99a6557c585d620aa77172619e59872e4b47ad471c5000002f0f902ed2c841b6b0b008306c8bc942db0afd0045f3518c77ec6591a542e326befd3d780b90284ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000014475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001312cfe0000000000000000000000000000000000000000000000000018f048a762311a0000000000000000000000000000000000000000000000000000000065cf5fad0000000000000000000000000000000000000000000000000000000000000042f55bec9cafdbe8730f096aa55dad6d22d44099df000bb806efdbff2a14a7c8e15944d1f4a48f9f95f663a40001f4530000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004449404b7c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aa9c1ff8f4f551628aee852ada8db49c969bbd4b0000000000000000000000000000000000000000000000000000000083104ec3a0d4be9040b5d6f1b9c543150005db9e6ea5aad4b6cd77913da7edf327aa7001b1a035198ada98958cbd32425c45c01812d610ed232e4cea4c8d32b5f47d857fe216000000aef8ac35841b6b0b00830161499406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000ca6fe749878841b96f620ec79638b13daad3d32000000000000000000000000000000000000000000000000000000000016e360083104ec3a0bff5c169d9800ba195138a435320a0f8bb0fed6eddb98dca1936020469c10ce1a00ba87e515622cb86138f4e84337d971708b27bd779fc78b1f68bd6e57e5f31b4000004b0f904ad40841b6b0b008305aa8394ca9fbef94d7cc8662f4711a8612ff9dc1526e65080b904443593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf5fab00000000000000000000000000000000000000000000000000000000000000030a000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000160000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065f6ea550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ca9fbef94d7cc8662f4711a8612ff9dc1526e6500000000000000000000000000000000000000000000000000000000065cf645d00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000411545b7a847b27c4cd0a2a7c7af4bfe86a29d1558961f4ca845dcdb70d0c590817194bc4eab8488855b90014893c4624c69a0e5b0a0927ec4f2d2849c6d992b941b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000872e19000000000000000000000000000000000000000000000000000b02790bf9efd3800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000042f55bec9cafdbe8730f096aa55dad6d22d44099df0001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a4000bb853000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000b02790bf9efd3883104ec4a06d6536502413845a633db9bdb379ef42eb36ed74776fe3f4972affabc4cf8128a0132e4ce162eb844c716eb62baab947c7d11ad9803a0cc4fa2f128d042ff9f83a0000008cf88a06841b6b0b0082a73194530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000001ff973cafa800083104ec4a086df7b096bc6268e204061ba775f854e208436abf514b2ef92e1d7e575812464a00e5de0bf96566f39f4062d8b8347ebf1f5f9e13f63c9a1776b4bb50e451ca2bc00000105f901020e8423ace5868307016f8080b8ae6080604052611050600055348015601557600080fd5b50608a806100246000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80636ece0dfd146036575b600080548002611050029055005b603c604e565b60408051918252519081900360200190f35b6000548156fea2646970667358221220007a1e34955d5ab7768054f73fc7dd2c73c07a8aad13eaeb05491ea77efea1e564736f6c634300060c003383104ec3a0a9482f6b7a49b90a07ffd6171f1949ed12f1e794d6cb5f100e8194de832bcecfa0757839c8bd05fcf2f919040fec72d35ea77db72fe1afc0c4a3948da076efbf55000000adf8ab1f841cc9fec082c1dd94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b30000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a0e9ca49f9b9bbbd7d41e3910d6e5764796dd774bd2fe7d7f2c9aedb665ff5de88a04137754e6eca52980a27c053dc3f060e6d17b0b0f14263166aab7508c7848bc70000006ef86c43841c03a180825208941069d8fc5d6b2ba45971a0e52ce4acae7456e2e686e35fa931a0008083104ec3a0dd6e2b59b7cf7143057f4a2d3f4815c06b3b51de1a05d9cbf1a1f5f316ad3e98a018fdb61bbd29fa3a2704572e393d52143b9aef6533af676660673f5317018bcd000000adf8ab05841bb3d1f882fc269406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000018b71386418a9fca5ae7165e31c385a5130011b6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a0ba9526304d47a8dfc3c28d2fb15a97c2273c8894aadcef6b02cc78510fcf4f19a0630dd678a5ba2126d055599695010cfbfef18c46e432924f4be92dfdee602af700000272f9026f821c2a841b6b0b008304ee76942f2afae1139ce54fefc03593fee8ab2adf4a85a780b902047c39d1300000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000d6000000000000000000000010000000d600000000000000000000000019dc38aeae620380430c200a6e990d5af54801177f5dc80ea862ef3316a4761133a0b0f521c9ce0ca20216422e2d7c55bb725ebe00004c931b144624e8c9e538faf7f31bc67b8b17dbc550dee3f6feee3a19b4a1b79794a81d698feaa62a6c773118dd1a2d03c0e675d828fc7f9d42c1846f8d472e6777191b14a4b6e1bdea5b8e35b5921ff847e37c8e9127f7bdda630f802c54a58f1618f46597d054cfe1ec0e3671460d2c4e57b68e6f4fb7ecb916594a828344b9fc264e1b00000000000000000000000000000000000000000000000000000000000000000000000000000000008d0300004c93000021050000000000000000000000007dac480d20f322d2ef108a59a465ccb5749371c4000827500000000000000000000000007dac480d20f322d2ef108a59a465ccb5749371c4000000000000000000000000fa6f614a574509ad2bf37fdaac4238efac526af20000000000000000000000000000000000000000000000000000000010180d090000000000000000000000000000000000000083104ec4a0fb08ebcd88ff7b736e2590222ac76cd60d87749ae01fe805091fa33f024057e9a065dd35698883277c90eeaeada50f92fb6dbdd80ee98efa75bd71b70506ad01e300000352f9034f828d9e841b6b0b008304dc6d94b279fb706f1c7f42fb214351efb16f3f6023e91080b902e436fbafad000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002a0302b04e88f417bf5bc34440c992e7fc39ada92cf637025383da32d5a706019711ac621e3ff86842e57dbac9ddd524600521a4329e281798c27dd94c3d50a3e0a2f5960fae8a00bc2d0eaf91648e45cfe1e56c9df97ad53cefeb4f33595bbbf220481d16d4276177fbbdfa16908ea5337d9781ab31895c59624b2aae611d41c3a2eaeb8f7c85e356326beb4c41c1e5517b74d3dc1a0b103a98be4913f8fe007b423e8a8c7b9be3d53dbe7526b1e0ed8472e31f858ceb6d3fd7421427256628bb91c3a286b43222f32996c896821a05f021522d5ad4e64d99a43ed20f3cbd8ea44242092c1245d569844a544ed58b9b4889d4d88af33f2699ad2b1fed3db37daba0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000002282920000000000000000000000000000000003691acf6853a1a48fdfc1ef15d8a5ebc0000000000000000000000000000000023dcd99d6a7e50aaf9643bf678562a0b00000000000000000000000000000000e3c76d1f3187d0e6cac350cf3b464c2800000000000000000000000000000000ec250421db775b9a623f6f5d820ab73e00000000000000000000000000000000b554c24f9062c6fa524e1b009cba68c0000000000000000000000000000000001a4e4729e0510b7e05000ca20c8f6cce00000000000000000000000000000000f42b6548693b256b03698ce4414a6cda00000000000000000000000000000000c7932b7cd6af6da5110c196d7b6bfc850000000000000000000000000000000000000000000000000000000000000015000000000000000000000000000000000000000000000000000000000000001483104ec4a0f122b13d5ec8378378fa0bc97e61733c7615d3e031eb5f597de5d3fcd670013ea026eae1aef1f6864b46f931f70d15ee6f863e227eeaf972cffa660eb989e0d8dc0000016ff9016c06841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406435656264333263336361333164373666376538313132633639653234323236666563343737336532343130633738386639373466353230333564353361353600000000000000000000000000000000000000000000000000000000000000403535343139366239616238363638353433653937656165643162313562353939333238613139343037646236613935316637373238306662396231616232383583104ec4a083f8946cc227d7c03c14a3eabb0e1757f091c1a699f3587047c93c99f75fa979a04f37e0d04e09ba3232cbc42a11b790f44956f342aafd8526e27b67d43eed9b1b00000156f901530f841b6b0b008303222d940122960d6e391478bfe8fb2408ba412d5600f6218702c567e6ecc000b8e47ff36ab5000000000000000000000000000000000000000000000000000000000021e1110000000000000000000000000000000000000000000000000000000000000080000000000000000000000000403e48f9dcc960774f1cf26cfe386441e4fc2e290000000000000000000000000000000000000000000000000000000065de9f9d0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a483104ec4a0699b5de7ec32b611eafd3427a05811d23b93deee66d38292fab06c71b418f7a6a00874a4b74d29bcc6e0b5a508de5c719dc539b9a6bfa7132668cac063a6fa14bc00000211f9020e81f5841b6b0b008303d4ec9480e38291e06339d10aab483c65695d004dbd5c6980b901a4ad271fa3000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c700000000000000000000000000000000000000000000000000000003bb85ad08400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a1b7aba819ee4187f49187f772a88a8084c40118000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000e35e0e00000000000000000000000000000000000000000000000000129dcd68ad479e000000000000000000000000000000000000000000000000000000000000000083104ec3a044064c9ebce34ed7c18c3728562c71838030a3df73f0ed6ee05a2e019463ce7ea04a0556655a2279a06bb67a2af3cd55a6dcc244400119f3b6ab02b3964c480a070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000221a03000000000033b35f0000000065cf5d650000000000000000000000000000000000000000000000000000000000000000000000000098968000070000000000000033b3600000000065cf5d680000000000000000000000000000000000000000000000000000000000000000000000000098968000090000000000000033b3610000000065cf5d6b000000000000000000000000000000000000000000000000000000000000000000000000009896800005000000000071f86f8216508423a4c180826aa494749995e75be19bd6d48384896858715e39ede01387058592c16438588083104ec4a0f6371f911a5763f8ccc02ab331f542684e99707d3aaea090db6b681280baac72a01141638d6e887ebe7e551d5039367ac5ce8b25b0d33bdb4bf4289530c24b696500000190f9018d29841b6b0b0083038e2a942db0afd0045f3518c77ec6591a542e326befd3d780b9012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000006602a4cf6c23910610bb9fac56589aa55e736bce000000000000000000000000000000000000000000000000000000000fd26b3500000000000000000000000000000000000000000000000001493e4d51310cbc0000000000000000000000000000000000000000000000000000000065cf5fae000000000000000000000000000000000000000000000000000000000000002b06efdbff2a14a7c8e15944d1f4a48f9f95f663a4000bb8530000000000000000000000000000000000000400000000000000000000000000000000000000000083104ec3a0f851bedb30627234e35703b50c494921cbb8b447e385306ae7875eafefebdf5ea01673f3bd7f4f5d558add03346c21fe2fc4c8506e471f0c7ac2ad6727e4ef4b7500000177f9017416841b6b0b0083031f279403290a52ba3164639067622e20b90857eaded299872386f26fc10000b9010467ffb66a0000000000000000000000000000000000000000000000000000000001af60f4000000000000000000000000000000000000000000000000000000000000008000000000000000000000000046c30981a7e20710d199dac9046b0a80b4198eef0000000000000000000000000000000000000000000000000000000065cf5faf0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000083104ec3a0284e6c130c9b8bcdaccf70984466d8a801eb24f6dd8ef63dac55d209e38fe2aaa0203718268135aeb61b10cd7712dde05d4db1a01b603d7e766b8a1a4565964a470000016ff9016c45841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403466376130366630393666616333343965666539633333383636633036316162613732643433343034303266633565653035343833353461383830336164343700000000000000000000000000000000000000000000000000000000000000406638373838346436643833306466383861633333626662643931343935333137616232663834373030663137346139353939303161633930363436373064633883104ec4a0726aaba1bb40bdbdb0761d5af4ddbbb9db0c39a8efa7613ba0e84462f0c6b709a0240f38b5ed436fa68b7554b576353619171fd5c45b4d53a9a771435a4e995fe0000002d0f902cd30841b6b0b008302a1289480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000032291388fc0430000000000000000000000000000000000000000000000000000000065cf8b0100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000269af600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000003a3532665eb0c2617956d75b6a186a5a1e7e65670000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a01e759a4388b62214855369cb54c19e13d9f3431994879ab9cd4d0fe9aa0eb67ba0075bece12b6bbe04984b3bc9db5c41dffadf95f71d1f297683aca42482619a4e000000adf8ab13841b6b0b0082eb929406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a74106000000000000000000000000000000000000000000000000000000000781d05c83104ec4a07ee7396fd462909f27c854d664d460a16af4bc8a401169afff2e2252d1f16728a052e752c9a9caad30b2abb0dc4f88e5a38d5784afe7210338c9585ba897742f5c0000016ff9016c2c841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403834346664323061646535386639366230383335663936396533333761353266616236633865623033383162383838663764363065353836626235343133616600000000000000000000000000000000000000000000000000000000000000403834346664323061646535386639366230383335663936396533333761353266616236633865623033383162383838663764363065353836626235343133616683104ec3a08f9c9fbc55e2f90f354814ff7b2fcfd5b4def9221babf135f8fbc17758332760a05da81293ea66bfaa57feb08054b70cb1344a8a067929e512c05538f9930d780600000072f870830428c18420e6da00827b0c9496da1d88081517a216601a5be1d5a32b861be68c87071afd498d001a8083104ec4a0e3864f5d7894004ef5c457696531d2ce365fbf837c7d0ea0e5f341567e6e7fb8a03e7e6bb5d3111747d10c08a1fa2702149c2f11efd389529353ef94fc919e1e9a000000b1f8af830cf3bd841cc9fec08301526c9487627c7e586441eef9ee3c28b66662e897513f3380b844535b355c00000000000000000000000075459972990038f7ecd0256394fb282240da424800000000000000000000000000000000000000000000000000252b0198fd680083104ec4a09cfab211e39445a0807201649051a6e5ea0185c60aaabd7d43c6794a454abd73a00e52e607ff87d7d190d049a10036a72248a09f357fa9d7afd1fc4a69252c5458000000b4f8b20d841c03a18083013b4294904550e0d182cd4aee0d305891c666a212ec8f018601e8f1c10800b84440c10f19000000000000000000000000a908651604f541ec0b82a8532be3d09e87c71e3b000000000000000000000000000000000000000000000000000000000000000183104ec4a0144589ad6a1c3a4b413c109e61113d2539941e94ee2b80b769641b629b150d82a019b54c445c145adfa4b0da418d755088631c6a3c95611620cafffb3b3b42f1ea000001b0f901ad02841b6b0b008301da7b94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000230e8f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000002dda282da3ccd8000000000000000000000000000000000000000000000000000000000000000083104ec3a040a576292540278d71ce24f96455005265df4005efc7ebdf41dbb548dfef9da2a016df2a80edec0b7f81ad9afbca939c4b63f46e33e25230d65d2ee5ae51cafa3000000292f9028f82073b841b6b0b008304c67f9402c83302696106b24b4ddb16fb2d97d2221acce880b902245704518f00000000000000000000000000000000000000000000000000000000000000b8f9d0d9cfad4f9d3c69e617d78fcc03756629f079c5f6dc74b0f22451f38d72df000000000000000000000000000000000000000000000000000000000000008000000000000000000000000061bb3852947a370946abdba8fa9cf45ec472f83f00000000000000000000000000000000000000000000000000000000000001800f685bd809d80e458de4d5b93bae9f8d6d83667f5535126e66407b4f133fee580709b0638fbcc3a69cde4661980a6b95821fd0beb20f002bc36b86e3614eb6cd16f4aab7e8d3ea18f9a51136df4273a91bd8571fb7feb7e73301163185feee6d2dd0eee3f75ca702094c5d034c13ff4573ca82d0a1037598806f7ea8e187c22f14a42eac9d8b3136b2005cfea814a61952d762769186347613ef25bad3e63056074b1d9e2ec75205d5bf38ee7dae12322ad32b2e03b86e4ccf11b31fe6a409032b98a9a0df455db9b18d9ae3ba585617d94bf80e98bc9000c8ee3a39a890b9ae2ef664715facd7dada7e742de2960565b3bde98d40a6b3a783ec7e9ef3d2c3a300000000000000000000000000000000945bb99497b80795dccaeb35358de56c00000000000000000000000000000000eab8545c5aabd894ebf5f3e649bb533d00000000000000000000000000000000cc1632a9ef039b145f65dd5027eed750000000000000000000000000000000004b7d245c79f98b1d17b946ceb23bde5383104ec4a00edf09961e0e8ca64c0e311b7b4bf65499b9d0c1dbba22298c5b9f9b60976b1aa02e1abc21a1e23210fa0bd7bb26e609525f4137020f361ed0ce7e21a19a41604100000073f87110841b6b0b008302a43b94b6fd349bdbfb86c55cef803178de73bc0d699462862d79883d2000841249c58b83104ec4a0f83da243b07fedf80eb5c193ec7a026d8b33ce963b28f8104abfb00f57623c79a040f42659c2770def645b7c671a5d86fcf6a7ccf7b7eb2f84a8029b955a6c7369000000adf8ab14841b6b0b0082c08d94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b300000000000000000000000020e77ad760ec9e922fd2da8847abfbb2471b92cd00000000000000000000000000000000000000000000000000000000052f1c5283104ec4a0e6854f23e1987d0e5fe70427a685b7cf2c55367b124f85263ddda9fda697bfe5a01ced0236838a6f16239d3affe7c9905d5b164c9b9bcf6f31b50618f87cd6c11f000009f8f909f517841b6b0b0083072daa946131b5fae19ea4f9d964eac0408e4408b66337b58804b05f3191f1848bb90984e21fd0e90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000054000000000000000000000000000000000000000000000000000000000000007400000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000e8338711218ceeeac36b7832184b832d4d0e1c920000000000000000000000000000000000000000000000000000000065cf620b00000000000000000000000000000000000000000000000000000000000004200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000040593611990000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000001000000000000000000000000006905c59be1a7ea32d1f257e302401ec9a1401c52000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc89700000000000000000000000000000000000000000000000001681c8edefba7cb000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000401b96cfd40000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000008f8ed95b3b3ed2979d1ee528f38ca3e481a94dd9000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000000000000000000000000000034842a2b2f5dcc000000000000000000000000000000000000000000000000000000000000308930000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000003bd000000000000000000000000391855ac000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000e8338711218ceeeac36b7832184b832d4d0e1c9200000000000000000000000000000000000000000000000004b05f3191f1848b00000000000000000000000000000000000000000000000000000000391106c7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f87b22536f75726365223a226b7962657273776170222c22416d6f756e74496e555344223a223936332e30393530333138333133313634222c22416d6f756e744f7574555344223a223935382e38353430303431303739393939222c22526566657272616c223a22222c22466c616773223a322c22496e74656772697479496e666f223a7b224b65794944223a2231222c225369676e6174757265223a224e2f50517965506339714f6676792f58524a306a6a527a6c6a7a546c4d37564d7662586b7632623444573561585a6f68744e626479644a4b3664554a4b6442452f34744a4874627757366148674c55316269594c494b6b4e375a30556e2b5a5842504776686e4a6c6f566b7264782f4162636858426c4462312f775167572b504932303074695a5336555155347a464e474f52436d5172336872734552532f516c745978684a2f6245476d45796977656d577978634f5a757464626a4c574d7864382b6f7a776456684163306b395064745548365a77776b32366b68755657504562636e446b5138445259564838732b517561426e664168642b5a6c4c34786941704e4178742b33533266584d5362756d6557656675587861645066764b32484f7846506844614846356c38493343442b653768794d726447425a41754d427a39373563443461417a305856594c67417169514d4b673d3d227d7d000000000000000083104ec4a0d4d436b8f7335b0bcc9cb8f3455324a4407a6d3128760e51ad5ad202091f4179a06347a04ca05655280285c604524100b8fc9f926a0df2f7e62c9f18edd96b66c100000073f8710e841b6b0b0082f33e945300000000000000000000000000000000000004870aa87bee53800084d0e30db083104ec4a0056dfb8968bf50a5d083184d54997f966c0d9c072f3cc72252808e245f048bf7a05854c8f2d794371b4ebd290f0dee224b1fd5e3689a756ce1f705a1c1b2b2cca300000073f871830428c28420e6da00827b0c9496ef9f6b24702208051256bc9efbfa3cf8f77fa688013fbe85edc900268083104ec3a03eeb4e6fc92666163e8d9154c2e7d54d7bf13dddc73238cfd9bc06ad0c4d72c2a05b355164ac90384976b07cfc7fe0bfd5ebb7f882475b08ea2cc071e602cf2e75000000adf8ab16841b6b0b0082913894f55bec9cafdbe8730f096aa55dad6d22d44099df80b844a9059cbb000000000000000000000000d7aa9ba6caac7b0436c91396f22ca5a7f31664fc00000000000000000000000000000000000000000000000000000000238bb75e83104ec3a00a0d953c583ca94ade3804723c6c28d45c1cc8ce33ba805616d7a9a6a2781eaba042e1806e4f4927ef6f9155ba8fcee09e0693014637bdae1b9625dd6bf80f54b000000074f8723f841b6b0b0082cab4945300000000000000000000000000000000000004880737693eb334000084d0e30db083104ec3a02dc3f46ecd49a998986abbb69ad8279290081090d1d867599e2f3946a301a427a02ec975f19b3f799dced3c5d0570759727b8767515b5fe38dbc1d658cd680b07900000296f902930a841b6b0b008303331d942db0afd0045f3518c77ec6591a542e326befd3d7866383ad021ff3b90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012446edd9c80000000000000000000000005300000000000000000000000000000000000004000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000000000000000000000000000000000001f4fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3cb01000000000000000000000000f7842b0c1c229ed5169826bccdbd5cf017cf654200000000000000000000000000000000000000000000000000006383ad021ff30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003c3900000000000000000000000000000000000000000000000000000000065cf646400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec4a0fb3fa7f42208fb84c545f3aadee1a7cf987694d288a6f0ae67c2ecd257fb266fa024eaea70dbb20da8a87200bad3c97b92777082990459c0ebb8e839efdb340ce500000170f9016d81a2841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406266616664363562323435343831306264306264633931373431633466366330343433656362633464383135366630633430393131646566353664366361663200000000000000000000000000000000000000000000000000000000000000406663363332336532323437363362353535373431616637396564313765613239363133353463636439313564623135313533323632386534613333323934333383104ec4a0c875bc8a816bcfdcf1f416953d43ec803bc79287570256ea455011559e390d0ba019acf6118770c22380c1e042b30cee7e08970609312867935e47adfd7c017cbf000000000000000000000000000000000000000000000000000000000000000000000000195103000000000033b3620000000065cf5d6e0000000000000000000000000000000000000000000000000000000000000000000000000098968000070000000000000033b3630000000065cf5d710000000000000000000000000000000000000000000000000000000000000000000000000098968000050000000000000033b3640000000065cf5d740000000000000000000000000000000000000000000000000000000000000000000000000098968000030000000009b7f909b4038420e6da0083058db2946131b5fae19ea4f9d964eac0408e4408b66337b587078820f6ec8000b90944e21fd0e90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000003a1b717367ce4ac95521edb8227566d9da55cd8d0000000000000000000000000000000000000000000000000000000065cf621300000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000004059361199000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000100000000000000000000000000b12abb5bcb50c2aa6f1b54447046640010b339330000000000000000000000005300000000000000000000000000000000000004000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc89700000000000000000000000000000000000000000000000000078820f6ec800000000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000002710000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000401b96cfd40000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000005a1cd43c18717bb302f46a0b77a71a118e7d9c40000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc89700000000000000000000000000000000000000000000000000000000005d181900000000000000000000000000000000000000000000000000000000000007b4000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000006000000000000000000000000005d1337000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000003a1b717367ce4ac95521edb8227566d9da55cd8d00000000000000000000000000000000000000000000000000078820f6ec800000000000000000000000000000000000000000000000000000000000005ccbbb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f87b22536f75726365223a226d6574617661756c74222c22416d6f756e74496e555344223a22362e303239343637313535333630383933222c22416d6f756e744f7574555344223a22362e313035383636373636393939393939222c22526566657272616c223a22222c22466c616773223a322c22496e74656772697479496e666f223a7b224b65794944223a2231222c225369676e6174757265223a2244564638597663437a46564a7930332b754f6e59617246675a463371464c454c68304f4f6c776e365769323549587356614655654d736163475963454238684d5a57526f372b4d6d685851316157414c6174647843617477613832574473614f786f5a2f6d79587058397a595667476768734a5233656c33756f6a4262553756663630716a6e4e6d4879772f562f4c71525259534770732b74502b557750784e544e4436385649655449306d6c64614664305770777a424b7162654b394d726d757a7a5532465a354a7474585932374a6b6a4854323530746451754b48664a66754b625041496f31715864446d336d4863573630516d517068544277756b7753706378634f42796c592b323845644d6c5674696174635a69384a6b694778476134454f4f336b68304e5877414948625a354c694139577033747562652f57535255556935643056317872597750472b747362437658413d3d227d7d000000000000000083104ec3a00deb5a3721f7430784ac857cfc2beb49316a107fb639da22eb5b8a1200671f7da072faba42ff3a7f233548326e468e00fe49258b6d9ffb4da2569712a7f6a02b3800000072f870830387d68420e6da00827b0c94b9ea4dffcd753587e1d8bf197d2135de499118b9871aa535d3d0c0098083104ec3a0cf37d45a19aff4c8f70bb8bdecd54023f3cb90a5187ae7b09c51a865c15f4958a003d4afe11698f9ced0c62469a23460a163721b118d81006096db60d82732c44f000001b8f901b547841b6b0b00838a7e1794aaaaaaaacb71bf2c8cae522ea5fa455571a7410688017ddc906ce7466cb901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000017ddc906ce7466c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009296c9bd39f3f90d83960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec4a01d784a7fdff21bec17651f828fdac920c78cd09095218f7c44dc89e50485242ea020341a11ceda62240b59645e9cef7dfc13257e7df57f9c67c34d2c57ec99d9a9000000adf8ab16841b6b0b0082eb929406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000dae282feabdf542e1de4353f152ead0446c6b8670000000000000000000000000000000000000000000000000000000020a796fb83104ec4a0e40508d776ebeaaccf1ab9ba6eb71158c46fb7ae069377abb46acfdd8376df05a0632cb2551e32a3e15fd8bd8a96c4519f1992217cd7e2195dcb2312a0eecfe82600000094f89280841b6b0b008301f812940332fce92897679e97620a097aa515f5d7cf40348701c6bf52634000a46a627842000000000000000000000000cd1885aaf7ff8ec5858c4f391ab10e8a02db10e483104ec4a024faa93594ce857f8b84ad844257293c529d167f04ae8ba31cc1c7650a89d2aba05b2cbb0f0216307d9e3caf5c01beca5a3fb2fdf53d75a2ca2bf1ca8737ba12d2000000adf8ab3d841b6b0b0082b72c94c21b7961ff68c94b29cf20e1ab32d18e10701bff80b844095ea7b300000000000000000000000080e38291e06339d10aab483c65695d004dbd5c69ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a0bcc0d89f8d58ac1ebff3c6f27f1a40cfcd1994b78bb18b7718719d6e4dcbd56ca07981126cf2a07921097f5402709240aa137cc80ac369ec5e7294bb64897511060000006ff86d05841b6b0b0082520894fd6a217a51827aa294989590e072f908cb312d2b87271471148780008083104ec4a0694960deffae1a735d64b525dde993791cfa567fa02ba4d44de89169317dd894a006b42defb27ff5ef33372ffb637fe9574235be0c42a2c42cb64c5c906cfc70df0000008ff88d8303b795841b6b0b0082a4f294530000000000000000000000000000000000000280a4bede39b500000000000000000000000000000000000000000000000000000006fd50a26f83104ec4a07dce1afe81abbb4345cb9396cdce71fe301d80368aa63154912be6dd9332fcc2a0549880a438f9ab2903081a172791329c1622027ec9aa119631373429f66dc7cf00000070f86e08841b6b0b008252089480c67432656d59144ceff962e8faf8926599bcf88806ce9b26b65463368083104ec4a07645a6b5e3a21973acd2ffbcc945bc5fd19d5058e1fb049f2b95cce83cbb06baa07328f0ea1746b40744a28b744bd928fdea73e75552f74057a318d838178e23df000001d0f901cd36841b6b0b008303eaa294ca6fe749878841b96f620ec79638b13daad3d32080b901642646478b00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000016e3600000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000001dddf9a91e5b7e000000000000000000000000986ec9b44e67aca087ebbce4952ae34c0690637800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000700206efdbff2a14a7c8e15944d1f4a48f9f95f663a401ffff01e64ae4128e725868e8fe52e771e3d272e787b04101ca6fe749878841b96f620ec79638b13daad3d32001530000000000000000000000000000000000000401ffff0200986ec9b44e67aca087ebbce4952ae34c069063780000000000000000000000000000000083104ec4a0094c5a1d61fe3b000eb4428533ee382c2563c0cc522fd9d8a68b7cbf9bc37eb9a07a1fe0e497c7d360c0333448a42226291d50ed538b71c7f455a2187a929cd59000000170f9016d2d841b6b0b0083028ea894efeb222f8046aaa032c56290416c3192111c008580b9010418cbafe500000000000000000000000000000000000000000000000000000000002067c50000000000000000000000000000000000000000000000000002a2541445770c00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000005acea3cc37c18b206bff4b6954aa2484f0cc19f40000000000000000000000000000000000000000000000000000000065cf62120000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000530000000000000000000000000000000000000483104ec4a01cf2141138dec55debb0e7ec40b5e2b1a5016d67d5313fc7af5b11ff7495d698a0229ac753169c43593ee50df59450d8a2ec0b475dbbb909468ad5f28d6493f382000001f0f901ed1a841b6b0b008304b83394aa111c62cdeef205f70e6722d1e22274274ec12f80b9018418a1308600000000000000000000000000000000000000000000000000000000035d57cf0000000000000000000000000000000000000000000000000046924f6b8eb29400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007b2da0e5f3bbd7e824a16e7f8767de19718e81a70000000000000000000000000000000000000000000000000000000065cf5fbf0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000083104ec4a0efd7d3656c7736e4074f1d085fd207aba35a05094cfd7f0bc679bf9a432306dba0333c599bdc952f6883b1a8477ccc3721ab1a5d244ece4e0ed164c794dd9689c1000000aef8ac22841b6b0b008302fdc694ec53c830f4444a8a56455c6836b5d2aa794289aa80b844830cbbbd000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c00000000000000000000000000000000000000000000000002c2ba1fa2600bda83104ec3a0a10c29a02441a07cae2a741261aa50de63a1e4770d4d582863b46ee0bb7593e6a03c0f828ead37187aa5fa3ff81cbd29b4086d398fefe62e4e5bff31f9bbe6997f00000298f902958197841b6b0b008303775b942db0afd0045f3518c77ec6591a542e326befd3d787064d5a3a958a1db90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000124115ff67e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000b734913c3e2bd1f653b6450ab25020a2c12bdd500000000000000000000000000000000000000000000000000000000004c4b4000000000000000000000000000000000000000000000000000064d5a3a958a1d0000000000000000000000000000000000000000000000000000000065cf5fc3000000000000000000000000000000000000000000000000000000000000002b06efdbff2a14a7c8e15944d1f4a48f9f95f663a4000bb8530000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec3a0b6606daf534823415a66f6373d8d89f9fbb0acc98dd61f88f3fb8c84f600b2d4a00ccd4ae7807264bafb4b340c3a8ed9256d299db23a326908360cb7b79afc8f7d000000adf8ab08841b6b0b0082e70494f610a9dfb7c89644979b4a0f27063e9e7d7cda3280b844095ea7b3000000000000000000000000dae282feabdf542e1de4353f152ead0446c6b8670000000000000000000000000000000000000000000000000000e35fa931a00083104ec4a03acd99b5816dd40d28c28d38a256e8f80089b5144620f1fca4fc5dadf827d679a00d4916d579b4757c4e031e5fed45b12e0b33c1e3aa0daaf8d49254298329701f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000019b202000000000033b3650000000065cf5d770000000000000000000000000000000000000000000000000000000000000000000000000098968000080000000000000033b3660000000065cf5d7a000000000000000000000000000000000000000000000000000000000000000000000000009896800008000000000072f870830428c38420e6da00827b0c94e72644486167230ff18d369870e2164e532a39308711c37937e081048083104ec3a0dd1f1a507e789aeeaeadfa96ef95aeb9179cdc334eda1ed04fb8270242bb92cda0595de3a5bfdf768d0b8ec302b752fd3dbd75a2ff2f41e4db0b6363d616362fcf000009b0f909ad20841cc9fec083080a79946131b5fae19ea4f9d964eac0408e4408b66337b580b90944e21fd0e90000000000000000000000000000000000000000000000000000000000000020000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc897000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000b7a97bd350fe35a72e991d60cfdfc3532518ba4b0000000000000000000000000000000000000000000000000000000065cf621b00000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000401b96cfd40000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c00000000000000000000000005a1cd43c18717bb302f46a0b77a71a118e7d9c40000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc8970000000000000000000000000000000000000000000000000000000006373a2a00000000000000000000000000000000000000000000000000000000000007b900000000000000000000000000000000000000000000000000000000000000401b96cfd40000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000096cfa2a369ec67a93c324a35e693fbeea11c059400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc8970000000000000000000000000000000000000000000000000000000006368633000000000000000000000000000000000000000000000000000000000002f8f700000000000000000000000000000000000000000000000000000000000000200000000000000000000000088dfc573e000000000000000000828887aa4096e0000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000b7a97bd350fe35a72e991d60cfdfc3532518ba4b0000000000000000000000000000000000000000000000000000000006373a2a000000000000000000000000000000000000000000000000007fec33082093db000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f40442e1cb0bdfb496e8b7405d0c1c48a81bc89700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000006373a2a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001eb7b22536f75726365223a22222c22416d6f756e74496e555344223a223130342e3830343037393333222c22416d6f756e744f7574555344223a223130342e3439373130323633303333363039222c22526566657272616c223a22222c22466c616773223a312c22496e74656772697479496e666f223a7b224b65794944223a2231222c225369676e6174757265223a22413044727958555175455459545844622b48724c6469685261506d637057656643683951392f5755332f2f526f5547414f2b6e5336346b336547646a374f6364497575766a70633554495669544333336375556846646e31476377634a35637a6e4a354171562f583637504e324d73774b785472666c356542632b3153676b61336e533953537362426e5336754d36427453714130614451694a64744d6b626d766953666b446333764131574f75704230626f44747858582f3357626e43664551767944302f494e4f352b533376784e4c68356e796d42366b4f73776435386d2b4557686d4e6751784e32306f58794d65444a476d726159713379344730626d39796c513455642f5868653657746c5430762f662f326c356f674b527a5269566753764453574f635038763768764d466e525a54446b3644595a384f666d2f77624365333341354d364b4d6a324c47673165707866673d3d227d7d00000000000000000000000000000000000000000083104ec4a00d717ad69a1442820b95ad77d9a17c95d909050fd12b51a0f4be7c30a35785bca079bc604473f023ac4494c4191a42cf6a34e40f91fd608f350de7b3ae8ac5d59300000070f86e0d841bb2a56a8255c29480c67432656d59144ceff962e8faf8926599bcf8880109e9b2af7adc9a8083104ec4a0dcef32dda820bf71d2d2c83dd1f3f68fdc2a56a567782f2f83a398eb1b890c5da02423673adc477042b189d3a51043bc852d70844633176e235fc6fb594446383c00000170f9016d06841b6b0b008302a99b9418b71386418a9fca5ae7165e31c385a5130011b680b9010418cbafe50000000000000000000000000000000000000000000000000000000006021fe30000000000000000000000000000000000000000000000000079deef037b04bc00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001b87ea9bf896439b116e8cca376b50093d085e300000000000000000000000000000000000000000000000000000000065cf621e000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec4a083aa2678f4adf7bd5fa9b76d94968c48c635fdbca3403a32623dba823226cd68a00ab0a6c71169e1b962562d76d2e7555e8ed4cd38ab13cbd188f5fff0d1bf529b00000190f9018d09841b6b0b008301505494ca6fe749878841b96f620ec79638b13daad3d32080b901242646478b0000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000004db1ea3398bf89000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000004d4e771c4c76e40000000000000000000000001d680b335494ad6542d0c77acd9c9504979482fc00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000002e02530000000000000000000000000000000000000401ffff02001d680b335494ad6542d0c77acd9c9504979482fc00000000000000000000000000000000000083104ec4a0a9f8064f12b94b7157a25c678a4e52483984ef437cd283b9d4433cf53364206da01d3d268339400f2be079365366ced097ddb211ba172ee1944c2faebcbce850c7000000adf8ab3b841b6b0b0082f4b29406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a74106ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a0f20c61e8759eaa1e521cce1e6ed226e2d3a65fe438d5f3c40b904fcae37dfc5aa06185a9022913572080f536fc6288cb5d0a777b0e3840ae74cc107cca63ca29da000001b0f901ad14841b6b0b00830200dc94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000781d05c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000000000000000000000000009d23bf9545b2d8000000000000000000000000000000000000000000000000000000000000000083104ec3a07ff25998dcee4c8aeee269c3bda0ecdabe4a025a4165541792634824226e991da00513f5c585f00ef9e2602fd63c0cbbea4e7e400c692bdbc1c0618ca19b63a9340000008cf88a53841b6b0b0082a73d94530000000000000000000000000000000000000480a42e1a7d4d0000000000000000000000000000000000000000000000000de0ad9b58f1600083104ec3a084e943430b4fe51b2084a8caf95086b9ef1f4d5e0d5fcc288142599147e8a8c8a07aa0f6519a73a86e0901c6185795b33f0d74f7fb60023f101610444bb68c519500000072f870830428c48420e6da00827b0c9483f443e3048d29d7dcd479d6c837990fef4b328f87b6d9aae4ce6a608083104ec4a0c672a7cf4d627160810ae73636a5481d1b3a6b21d6c77379dac9420ecf08d8eda046f1d85519445ab1983a304eed6863ba8581a34e1cb4ac14c4d1943dda0c432b000002d0f902cd17841e28f280830542989480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000002aed93f0f996af0000000000000000000000000000000000000000000000000000018db217582d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000002132c9a00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000e10c08969d6918bc21e87d4f2e9441c1a277e03a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a0380de756afbb24c2d24bf87e156ea0d10d25eb4bbbb95f58798df8a6c43d7fcaa073bd19c20894caf26099999a5940bc94daccb75780252b1cd329fd1e2a8486360000006ff86d0d841bcc7c6d8254ec9480c67432656d59144ceff962e8faf8926599bcf8872c644ed8f76b0a8083104ec3a0e018e01755ef13e1112f7c8aeb093f4e3209d1483d9cf99f00223b63d3702fb5a0158c909f16cdb3f3459e400c7f8f54d44a0f42fd6c6df852f72c26072c4cf8c100000073f87107841b6b0b0082cab4945300000000000000000000000000000000000004871ff973cafa800084d0e30db083104ec4a0ae0e22981499f95136f7850f4f9e8d7898d70e95c5433fcb192cde4e7cddd9eaa07223ec550b4d081b365989f4802403973c5b67afd05342fd32adac7739f2b401000000adf8ab22841b6b0b0082b72c94814a23b053fd0f102aeeda0459215c2444799c7080b844095ea7b300000000000000000000000080e38291e06339d10aab483c65695d004dbd5c69ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec3a08adf5caa34b5d7c11366519668fa2ce5a8711a3a33b2d582e7e8b0d48769a0e7a07685d72f7e27651ae9bb8d2b0c0eef3f6fc7efb248d83ee7e4dd8e92227089360000016ff9016c46841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403466376130366630393666616333343965666539633333383636633036316162613732643433343034303266633565653035343833353461383830336164343700000000000000000000000000000000000000000000000000000000000000406337396335646137303738376566356130613463616134633230343733353166323537666665363539306235303734356233373935313732383866616438656483104ec4a073db7d33b30fe53310a1b23b063e646c6d76cb4200a9fd2c18e71d81555e6ac3a01a181855de08baf11add8a0df46ce6add7eaeb1e355863086e442e610546232a00000190f9018d0a841b6b0b00830319ce94aa111c62cdeef205f70e6722d1e22274274ec12f80b9012418a1308600000000000000000000000000000000000000000000000000000000005a94f700000000000000000000000000000000000000000000000000076a06bbaf02ea00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007fbf2fd7702b24464f324b1c24f43b93653d53cd0000000000000000000000000000000000000000000000000000000065cf647d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000083104ec4a0bf6022f47f244189d1d809dd132bb457a19868037f70f20041f4a6554257ed75a074c876fec018009b3a9e0a26674f385464a57073490e58a6d7e937b871352860000000aef8ac18841b6b0b008303c76e94ec53c830f4444a8a56455c6836b5d2aa794289aa80b844830cbbbd000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c00000000000000000000000000000000000000000000000005cc20757c33955683104ec3a0123b1bbe4b2d0ed4b5f96355076b2d9c72f539386bc4b2b78e9cef63be50fb92a06225fdea12b5a837cd7b3ed68110a458559ead31f111303b1adf2a6596589c4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000001faf02000000000033b3670000000065cf5d7d0000000000000000000000000000000000000000000000000000000000000000000000000098968000080000000000000033b3680000000065cf5d80000000000000000000000000000000000000000000000000000000000000000000000000009896800005000000000073f87107841e28f280827e609487627c7e586441eef9ee3c28b66662e897513f3387b5efe33a56a40084db6b524683104ec3a0cec07cc96d8323bdd863e4fac120c1b4d85ad85707f617c1b5ae6ff81c0e06fda010fb6d1bf0c3c22b7b4b429b2114c5f20c257f0d7ff8456b0f463d85befec37f000004b0f904ad15841b6b0b008306fa68944e998615ad430c1ca46a69d813ede6eb3ec55edb80b90444301a3720000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000052f1c5200000000000000000000000000000000000000000000000000697fd47692c5a5000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000003e00000000000000000000000000000000000000000000000000000000065cf621e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000585245f79829fc75f8e2fd224b90d19449c6a0f6000000000000000000000000ab5819ac14dc28008e63ba0b8159495c06acde9e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a631b2a2c3469aa1bf5dc49977207f378d16d7d800000000000000000000000096cfa2a369ec67a93c324a35e693fbeea11c05940000000000000000000000000000000000000000000000000000000000000003000000000000000000000000a631b2a2c3469aa1bf5dc49977207f378d16d7d8000000000000000000000000ab5819ac14dc28008e63ba0b8159495c06acde9e0000000000000000000000004e998615ad430c1ca46a69d813ede6eb3ec55edb0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000005300000000000000000000000000000000000004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3cb0000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006c1c420c04f4d563d6588a97693af902b87be5f100000000000000000000000000000000000000000000000000038d7ea4c6800083104ec4a0fde4415041c2a4af10f0223b65dbeb97c80ea142df8ca13185910a4f81953fdba036d66e857d9449ad68370acf37fbca013ee2695e7b23c49be23fb32f6466604c000000adf8ab06841b6b0b0082eb869406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b30000000000000000000000005940a60866255031830aa1edfdd8b56ab39765b700000000000000000000000000000000000000000000000000000000001fa01483104ec4a0e63aa611954753ca84772c57b54e0beab623d7f785f84a2a7d9304b0590d3d85a0447bf0d4de239ecec0e98ce99795b5489aad8c6de024739e72966e3120d7ce2d000007d6f907d37a841b6b0b0083039bf7940cab6977a9c70e04458b740476b498b214019641865af3107a4000b90764a4d73041000000000047ba1c65ce57be4cc04b4e1920e974349b9cd1a1ff1b398ba16557c7246dee8eb74a0065f5e4faeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee078a0af0e9e449bea1ec12dd7538262ae993ca117a0e481f908209137a46268ef7a6d73faa274536f1fad8544486cc4ad84c6a788aec7b156a6ee2d1cfd2a8bb1ebdd705d64f1cb251a3df7c1e81b607b232215c54d2c9e37c5903b91d7ab07700000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000068018000000000000000000000089873d3ecdda963fcdfb9abc372c6bbd516da0b6003201000000000000c803e84cc04b4e1920e974349b9cd1a1ff1b398ba165570000000000005af3107a4000000000000000000000000000000000000000358c0000000000005af3107a4000000000000000000000000000000000000000325a0000000000005af3107a400000000000000000000000000000000000000035b50000000000005af3107a4000000000000000000000000000000000000000340d0000000000005af3107a400000000000000000000000000000000000000034090000000000005af3107a4000000000000000000000000000000000000000340f0000000000005af3107a4000000000000000000000000000000000000000340c0000000000005af3107a400000000000000000000000000000000000000035df0000000000005af3107a400000000000000000000000000000000000000035e10000000000005af3107a400000000000000000000000000000000000000034010000000000005af3107a400000000000000000000000000000000000000034000000000000005af3107a400000000000000000000000000000000000000035e60000000000005af3107a400000000000000000000000000000000000000035e40000000000005af3107a400000000000000000000000000000000000000033ff0000000000005af3107a400000000000000000000000000000000000000034020000000000005af3107a400000000000000000000000000000000000000034030000000000005af3107a400000000000000000000000000000000000000035e30000000000005af3107a400000000000000000000000000000000000000035e50000000000005af3107a400000000000000000000000000000000000000034060000000000005af3107a400000000000000000000000000000000000000034070000000000005af3107a400000000000000000000000000000000000000035d60000000000005af3107a400000000000000000000000000000000000000035d50000000000005af3107a400000000000000000000000000000000000000034040000000000005af3107a400000000000000000000000000000000000000035d90000000000005af3107a400000000000000000000000000000000000000035e70000000000005af3107a400000000000000000000000000000000000000033f50000000000005af3107a400000000000000000000000000000000000000035d80000000000005af3107a400000000000000000000000000000000000000035db0000000000005af3107a400000000000000000000000000000000000000035dd0000000000005af3107a400000000000000000000000000000000000000033f90000000000005af3107a400000000000000000000000000000000000000034050000000000005af3107a400000000000000000000000000000000000000035d40000000000005af3107a400000000000000000000000000000000000000033f70000000000005af3107a400000000000000000000000000000000000000035d70000000000005af3107a400000000000000000000000000000000000000033fb0000000000005af3107a400000000000000000000000000000000000000035da0000000000005af3107a400000000000000000000000000000000000000033f40000000000005af3107a400000000000000000000000000000000000000033fa0000000000005af3107a400000000000000000000000000000000000000033f60000000000005af3107a400000000000000000000000000000000000000035dc0000000000005af3107a400000000000000000000000000000000000000033fd0000000000005af3107a4000000000000000000000000000000000000000343e0000000000005af3107a4000000000000000000000000000000000000000343c0000000000005af3107a4000000000000000000000000000000000000000378d0000000000005af3107a400000000000000000000000000000000000000033f80000000000005af3107a400000000000000000000000000000000000000037910000000000005af3107a400000000000000000000000000000000000000033fc0000000000005af3107a4000000000000000000000000000000000000000343b0000000000005af3107a4000000000000000000000000000000000000000378f0000000000005af3107a4000000000000000000000000000000000000000343f83104ec3a05914c1205b5b4d14e35796c3e76b72ba6db397b25837f4b0cb07d00f61cc22d8a053aa5bc58cb01c9ca70875d7375311fcbb4737f2c407d0ee7337bf3eca728ccb0000006ff86d41841b6b0b0082520894e4edb277e41dc89ab076a1f049f4a3efa700bce88703328b944c63578083104ec4a03067365b5aaa4e92b4ce3e52032d7783b9148cf26970480c2a70ba468dff13dca04742c793bd831337154787398cea7411b99e653d3757995a780c2490f769905800000a17f90a1417841b6b0b0083054ef194f02bbc9de6e443efdf3fc41851529c2c3b9e5e0c870110d9316ec000b909a421c69a1900000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000020a796fb0000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e640000000000000000000000006352a56caadc4f1e25cd6c75970fa768a3304e6400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000008c490411a320000000000000000000000008d2b7e5501eb6d92f8e349f2febe785dd070be74000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df0000000000000000000000008d2b7e5501eb6d92f8e349f2febe785dd070be740000000000000000000000004d67d9fab6613e40b907df39937a4006eb58abaf0000000000000000000000000000000000000000000000000000000020a796fb00000000000000000000000000000000000000000000000000000000200090520000000000000000000000000000000000000000000000000000000020a7c24900000000000000000000000000000000000000000000000000000000000000020000000000000000000000003254ae00947e44b7fd03f50b93b9acfed59f9620000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000003600000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000002449f86542200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000104e5b07cdb000000000000000000000000887b414d34ba20ae7ed5378380682f22071d08c2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000008d2b7e5501eb6d92f8e349f2febe785dd070be7400000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e06efdbff2a14a7c8e15944d1f4a48f9f95f663a4000064f55bec9cafdbe8730f096aa55dad6d22d44099df00001d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000648a6a1e85000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000353c1f0bc78fbbc245b3c93ef77b1dcc5b77d2a00000000000000000000000000000000000000000000000000000000020a7c24900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001a49f865422000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df00000000000000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000064d1660f99000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df0000000000000000000000004d67d9fab6613e40b907df39937a4006eb58abaf000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec3a0b12019b5871ec5d503341120912a597c393825d14e424232014dbbb7c89a8a26a0708551a96ff86eacf4672374b9e673011b8aed69cc148cee4f7c42e1ef040be900000072f87016841b6b0b0082eda6946e55472109e6abe4054a8e8b8d9edffcb31032c586f5904616e000841249c58b83104ec4a0a44b597c9f552af32ac55a59494acdae4cee1c8abd56abd199974f6a70fe37bba03c7f86b7b9c6385fe560079bd6633c8fa1bb2309ca8e3bb5ac7df018a0bcba7a000002d8f902d504841b6b0b008302bb209480e38291e06339d10aab483c65695d004dbd5c69880214e8348c4f0000b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000001936b87f0000000000000000000000000000000000000000000000000000000065cf8c5200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000214e8348c4f000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000053000000000000000000000000000000000000040000000000000000000000006735df21c3a5120550732cef61481beda98b18d20000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec3a03794ce0f399487cc736e737abd0b93a382e9682851e0133323ef775519a789dea06df7711e045d1deb40e8c5dd59f8ef55660366e05967d4ca214783e8207b0eed00000170f9016d1a841b6b0b008302a98f9418b71386418a9fca5ae7165e31c385a5130011b680b9010418cbafe5000000000000000000000000000000000000000000000000000000000030ae650000000000000000000000000000000000000000000000000003f7f7de71f3c400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007b21be3e28e5e750d2b0da8712230bd689551e070000000000000000000000000000000000000000000000000000000065cf6481000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000530000000000000000000000000000000000000483104ec3a076bd239e64c81fbd8aa270ffef961117e0f825408742162cdfe1f25064a460eda03ae57438ec1fef35708b764d77a07e5eb2f5724a9d35f1539b6680628e4f716200000072f87083015e1f841b6b0b00827b0c94f73f9b47ac3c6fb96aa76c1731525402da5378bd870119f1803ced808083104ec3a00aab877f618fbb108308021c1e596a3032b935cf027ffd271f3852f5c08d3fcba0699538e954a4e2bce919036172b0ef6b313c243ed53897908ab68cec325b498a000000aef8ac819d841b6b0b0082c08194f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b300000000000000000000000018b71386418a9fca5ae7165e31c385a5130011b6000000000000000000000000000000000000000000000000000000000360495383104ec4a0adad668c4c7f0769424c154476492e5490f257538bf91bf6a2fddb504b0a196da003e7b1a86d957ec8cf71e876ba4fe06b691549258329b415a52a2ed3cf4966630000008cf88a53841b6b0b0082b7e994530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000008a8e4b1a3d800083104ec3a00e431f8236c8b05ca07f0451b9355962cdd896b29e7406ecc018b6e3d236a2fba04a9f3debe44ff01d3d9660898f9cf8074ff3b60b2a232918f1090e326c830c8300000070f86e1c841b6b0b0082fd0d943035f73e3a323f7ee4847ec80ca643712436868688039bb49f599a00008083104ec3a0a59068bdd349b235cccfbc0446a94fd3f966e4f1a4dc4e054727086196f88befa0338ad3c6d653e31ece71ba4ba7831fd912901ad910cfa1158c23addb490bc70100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f2d01000000000033b3690000000065cf5d8300000000000000000000000000000000000000000000000000000000000000000000000000989680000b00000000008ff88d8303b796841b6b0b0082a4f294530000000000000000000000000000000000000280a4bede39b5000000000000000000000000000000000000000000000000000000075e85ec5b83104ec4a079e87eb7e1608aae3a0fcf68fcfc60c6a3a882f4e8f7d93824357ded81dd31a4a07703d96f2b036fd98875a8ad4d2bf11b282399406726a1ae60a02c89c5b23490000000b5f8b315841cc9fec08303fe8f94ec53c830f4444a8a56455c6836b5d2aa794289aa8770cfeef5d605e0b844f2b9fdb8000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c0000000000000000000000000000000000000000000000000070cfeef5d605e083104ec3a0e7de46d37490a15c4911cffbe178d12b9d5e6aa762f12fbbc486cc52580d77bea0628f3eadc3b7029c6c5e6d862aa5507f9db686254bb6c80374c4b298647b709700000073f8710e841c03a1808301c8ab9461bb3852947a370946abdba8fa9cf45ec472f83f86f5904616e000841249c58b83104ec4a06d79b1d520c32e53a16f368c72839c94fd96e9a9339687c63e1810a96d5b03f1a010759ab0dc6cd4a9b52437bf74be57a8cc7f07a5389402f117ec8d05e4c1109200000073f87103841b6b0b008301c2d29456ac94d5f5552de5dbd2a36af07caff174c1a62286b5e620f48000841249c58b83104ec4a09f686dfbb5b43a1f146a0ff7ffc056e4786c8741d0f3ffe6749ad113d0598a1da06518a87ad6b761dc77f7b40b3c4ad352b6ac8e622323219cd69e424406c8634300000297f9029401841b6b0b0083035e96942db0afd0045f3518c77ec6591a542e326befd3d787038d7ea4c68000b90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000196c21768d3f73ee1aff5b8f2e707c01bf4263100000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000002b02120000000000000000000000000000000000000000000000000000000065cf5fc4000000000000000000000000000000000000000000000000000000000000002b5300000000000000000000000000000000000004000bb806efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec3a05a0f0d3482ce5f5fa7a373eee4210c99a442890ca260007771cf314780a88c1aa0782232e02f78a05d32c9f26a8d5e0e42f6f9ea19516e0cf06ba16febc1feb8ed00000410f9040d0f841b6b0b008303282994595e7160858b1ada94bda790d8699c85e595117e80b903a43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf65a500000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065d8a0250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000595e7160858b1ada94bda790d8699c85e595117e0000000000000000000000000000000000000000000000000000000065cf65a500000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041e3fd50fd575b7fbf524b68ef4aa4ec341acfc929ec83f319d5e0221447fcd79d73bdc524ea96752e55c8651b0f855b80459ed4c310a4a7f98533ce7ea052d5b41b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000b76ea80062508ffb45c49c949ad160e945701226000000000000000000000000000000000000000000000000000aa87bee538000000000000000000000000000000000000000000000000000000000000080178100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002b53000000000000000000000000000000000000040001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000083104ec3a0713e6f40deb1838441681ffec1662bb265d1b7d39d92ff998ddf81caabe54cb7a06f32a5b2c9a5fcad6fedbbca7feaa9cd368a87890dc5e88292c71407ee4f05d100000290f9028d2e841b6b0b0083028070945940a60866255031830aa1edfdd8b56ab39765b780b9022483a7abd800000000000000000000000000000000000000000000000018db20518055c0010000000000000000000000000000000000000000000000000000000065cf5ea200000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000097c02d37c6c5787f34b7a0d47a4ef1c0b6409a3200000000000000000000000000000000000000000000000000000000000f42400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b00000000000000000000000000000000000000000000000000000000000000025420c92f09097988769d1cab819f6cacb560a35f0be0f86f277ab9fa7b0fdcb7045334f0660b43925c7be69b1a6a1b3ea5968537d1250f57b5897486921e58b800000000000000000000000000000000000000000000000000000000000000027578023ebab027f8b2a667b44bf96876c588a2ab20a0f01fb7dc6dd25e9f803f318fbda33f94df1ca731862d748844a7425a9d1c6ff9341e19c0ea702aec95cf83104ec4a08a6076d866222bddb667dfe5be90be131c19b519cd3e7c50512a197613e717b5a0159e8a6bfb94233a60cb214bc7300f0863af2ebdff3df4db208e850bc2aaba2a000000adf8ab2b841b6b0b0082c08194f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b30000000000000000000000002db0afd0045f3518c77ec6591a542e326befd3d70000000000000000000000000000000000000000000000000000000005f5e10083104ec4a08c8ecf20ba358d775493e6c92b8480ae77ad362e7fe02198f6c890b8990c1b89a007e2e1754e5ed8267fdb94f097c69f9ae8a2f4f464febc7b944a69408a9e935200000196f9019305841b6b0b0083034d07940e543107044ea436896945001a469bf0f8e6552d8694b752970371b90124126928c4000000000000000000000000000000000000000000000000000000000000007e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001442dcf181faa950a8bb0f409503e6adc4896b6b95000000000000000000000000000000000000000000000000000000000000000000000000000000000000005600020000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000038d7ea4c6800042dcf181faa950a8bb0f409503e6adc4896b6b950000000000000000000083104ec3a05a563a702e417c3076be23a4ed1c8e63003f36869b2839fa32d66b0d6a57323aa01c87c498ca3a859a32e3b412f89ff32ed993c4c363d3225dac05ed23500aa4d800000073f8711c841b6b0b0082cab49453000000000000000000000000000000000000048724d200ca73c00084d0e30db083104ec3a04ee36ba03a55b3e380dac1c525310cdfe652ecb4447aff0d43a79a43b6e9e836a05ac1b09b34be6cb83269f75ce9a944d9ffe496997671061b5306b9205eefce5d000000adf8ab17841b6b0b0082eb929406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b3000000000000000000000000aa111c62cdeef205f70e6722d1e22274274ec12f0000000000000000000000000000000000000000000000000000000001ba814083104ec4a024e11933896c4ffdd6f72dc9cbbc4664b300bad0a925562bc98d994264c33fe2a07c053d7073f36f10983a5e8ecf863c39476865738b586fb2f997fb3c6789e35500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000190102000000000033b36a0000000065cf5d8600000000000000000000000000000000000000000000000000000000000000000000000000989680000a0000000000000033b36b0000000065cf5d8900000000000000000000000000000000000000000000000000000000000000000000000000989680000b00000000006cf86a048420e6da008267809493352e29334190b660d188bf1c63c41a0eb6b5728084b49004e983104ec4a04bd05e9cb6e04da1c3ea32f86c0fadfe254f0d111f72ef76e978a0ff92cf883ba01c19f46a5ae4effb0d8000567ea6693ab7a3c82a7d9a534e9969a760536c2ee0000000adf8ab0c841b6b0b0082c08194f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000414991b742fbcbe3ef00d94ff9f9a63729091711000000000000000000000000000000000000000000000000000000000741859783104ec4a0b70d1f37a1f53f8f731ea2517baa64d328ca16f2c8982879105af840c0968576a0084591335c98810bb8c24025967b8dab37f9cd493c3de123bf1bd7577b307110000000aef8ac09841b6b0b008305ac0e94ec53c830f4444a8a56455c6836b5d2aa794289aa80b844830cbbbd000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c00000000000000000000000000000000000000000000000004d4c5be2f7b997183104ec3a0baf44fd2f1d47bf344fc478c1419de16f7f36321524f83b2f5e1c69304a69ceaa014d72f1786a614be02349fa9c748977cb88818bd961c2d8c4d69bf5d207041bc000001b7f901b447841b6b0b008301ca9194aaaaaaaacb71bf2c8cae522ea5fa455571a7410687c6f3b40b6c0000b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000c6f3b40b6c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa9471000000000000000000000000000000000000000000000000000000000974f9ab000000000000000000000000000000000000000000000000000000000000000083104ec4a0c3562baf6b0836567761cca12e44bdbd0f2350dd0821227583a60e62e8aa6e9da032973be885a5ddde27ed1d73a24c2a9d3d0d88bbd96d8d5339cba1713d8759fd00000292f9028f82073c841b6b0b008304c6a39402c83302696106b24b4ddb16fb2d97d2221acce880b902245704518f00000000000000000000000000000000000000000000000000000000000000b824206b6276e688e95efe52836794562445acff75bd43ac253a6f79948b474abb000000000000000000000000000000000000000000000000000000000000008000000000000000000000000061bb3852947a370946abdba8fa9cf45ec472f83f00000000000000000000000000000000000000000000000000000000000001802e950f54a17c6695b1d8b9456a094274c989a4a98b27e20bf3914d3d301660580d20f1d4d92b9417f3849b799bd1bbb3f5020a9cdf266ac992328fca1b4073780b0b4e297b0813bd1bb9a0ddf9ca6f93a72eafb023875392750de85b4b8ac9d726f937f14a236aad6c7aa8e0f624716ee5facc47ebf297ffc52588568ef2f33a05e7544482e8ce22ffe943d745fd190498d9aa974720da1c57be2e75d15e3f990b456dca2977c510190422a6f1dab2d5446d017381c83a56d19ab85cbb8eb6ed24e672be0973599d509395a0dd3a68168553a7ff9832feea1b5a107f2d63d45703f4bea6f83630f4c660d8c87518c32fd52885f4e83e505de9fd53bde83a2b2d00000000000000000000000000000000d420e985a2fd3ce86ebb91f4d45e22b7000000000000000000000000000000003184b502f57aae989bf5da7ad2a45fa800000000000000000000000000000000b5a94f101c196b1dc60a9cfe6293f2bf000000000000000000000000000000003daa7c14d80c1fcae395042e9b62a3f283104ec3a00d5d7af66a7eb888ce82e13d874c46a73de49b9d3f55b243c7e860ffa8c74d70a0354bd9a5460f670878e2717b8a027177d137b818e13dafda42f950f69917176d000000adf8ab04841b6b0b0082c08d94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a741060000000000000000000000000000000000000000000000000000000021c3db4a83104ec4a0f7d8faaee7f99ae73c03ecf6861828bfeb3d8f17920e381a006dc31ad4c4e86ba006a8da468fa6159c7e691457bf5f584fa85447ac53c3428a4dfd2f1f7b42236d000000adf8ab18841b6b0b0082eb929406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b30000000000000000000000006131b5fae19ea4f9d964eac0408e4408b66337b5000000000000000000000000000000000000000000000000000000003e21a9bf83104ec3a0ff6ca612b0891f95f02f2827cbb0c4199c7f5a70f45ce2955e6a36c636460914a03fd8534ad6208d89a6423e44cafdcd58d4a5f49ce122d8b8d8676f80d38dffa400000390f9038d22841b6b0b0083032eac9480e38291e06339d10aab483c65695d004dbd5c6980b90324e84d494b00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000001fbab37e6534e0000000000000000000000000000000000000000000000000000000065cf8c5e00000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065cf8c57000000000000000000000000000000000000000000000000000000000000001cb4f3233c61aa46b47db20258ee188bd658a3eb1b301dbb28630ebc9e70f70e0e179df7dc9b0d321025dfafe3adcad6a0397e335dcd9282a272d9ed0039e9bf2e00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000000000000000000000000000000000000000186a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000c45dd47e54297587d0f6d55872266341e0a628ac0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec3a064e0b8fa6b4f0609ce9e10414fd399fe369976f86400162fab30ee0743a24b00a0111c07e5707668e49e8a731fff704661409b46790d2ecec58f144c87d24df168000000aef8ac07841b6b0b008307ca3594ec53c830f4444a8a56455c6836b5d2aa794289aa80b8444b8a35290000000000000000000000000d8f8e271dd3f2fc58e5716d3ff7041dbe3f0688000000000000000000000000000000000000000000000000000000003b7cfba783104ec4a05b13e434266b019edf5b67da6fd9430a6c66417215c63fa7f857bd3901d9b171a0214db8d0288b97027f05af3351d151c73de9517d63ddab1568509b84ae325f7b000000b6f8b40b8417d784008303635194ec53c830f4444a8a56455c6836b5d2aa794289aa880470de4df8200000b844f2b9fdb8000000000000000000000000274c3795dadfebf562932992bf241ae087e0a98c0000000000000000000000000000000000000000000000000470de4df820000083104ec3a05f52cb55c57a1ecc4c18b0daa1260d3c2a4cab1ac1d3660d5fe968ea93388a0aa06b30b6d064948984c26d59fdabb893ca287e2a1fa31502b578650737b7ae5c6700000273f9027083068a788420e6da00831b24d094cb566e3b6934fa77258d68ea18e931fa75e1aaaa80b902046c459a2800000000000000000000000038de71124f7a447a01d67945a51edce9ff49125100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000065cfb1e000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000084704316e500000000000000000000000000000000000000000000000000000000000000668e06584340b10f2363f46c177a0f37e4eeab04a90d6e37a7ae63439e585af4b300000000000000000000000000000000000000000000000000000000000000148e06584340b10f2363f46c177a0f37e4eeab04a90d6e37a7ae63439e585af4b30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000827d99f7002baf7401a1f72e63ec5b1b662c1a970fc884d5c594c9bac5189a0b222dccb9a58114bbb8478a544863938103755fc41fe61d8cbb8bd22444e881a1f41b216f894c33dcd3e02780dd33ec0ab4933133d9ac748024f0866080f3c48e06421aa887246ecaf97c806f7e274fec2ce0ae7b997725b606d27bfeaa312ee4d5621b00000000000000000000000000000000000000000000000000000000000083104ec4a07453d2cef2e4071f7b012238bd5c335ef5dc605941870820140fe2211bc08508a07f2ce01785aeb15941beeacac62f68efa2622888c81309d4abbc6412f59c19f5000000b0f8ae8283098420e6da0083011d639406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844a9059cbb000000000000000000000000a032af19029667fc7ad842d65d524e62a16cc4ca000000000000000000000000000000000000000000000000000000003bd7ac4e83104ec4a0b1d40adbd5cd60b997dbce8c4651c0568b47e43df4887408d32023da3c7ab773a07b499de73244d3d91f8a1a2b4f1ba328048a21a0f513a06777ec6ee7f5d0cc7300000074f8720c841cc9fec082def994530000000000000000000000000000000000000488011e4fe56bde0d8184d0e30db083104ec3a01a3e30b8c2ed5256fb257b1a26e990bb306f3b2d7aa7290f593ecf7de5af4a38a04b322caa6c2c64760cf29f4a0fcaba24f6b6307bef84fbcac53b8086f043293b0000006ff86d16841b6b0b008252089480c67432656d59144ceff962e8faf8926599bcf8870ffcb9e57d63368083104ec3a0b2204407581aedcf7c584083821416d87d6690721d1b8d900f43524d1bafe938a0031001c39c46f5aea5dbe13d2d1ffbbc0431268d28d94a6b9b59a33b58842e150000006df86b03841b6b0b008302a43b949751686a5be48b89929667c92c3d2e1eaa2f6f4d80841249c58b83104ec3a02fc2a147a61e00f85488bcbcef00f8859e116e1a1c04ef52511ccda821949133a020ff66a6010f882444bd8534f8451dc2ddeeaddf04f5e76150f12517ed50ec900000008cf88a08841b6b0b0082a73194530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000001ff973cafa800083104ec4a0fe7e2847552fc8196fd32cdeedbc7e824a4aacb1b435524cae17b3f5717beae6a003f8f4fe417fa8be7b730095afd3ba7c981001546ae8c95cf4bb0102a2413f08000002d7f902d407841b6b0b0083029f7a9480e38291e06339d10aab483c65695d004dbd5c6987038d7ea4c68000b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000272ee48a67e06edc0000000000000000000000000000000000000000000000000000000065cf8c62000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000038d7ea4c6800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b39880c7a0b752179d6d7d9ae594ab4c02d6e5b800000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000fd6a217a51827aa294989590e072f908cb312d2b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec4a0bce61309778a3d4b1d0ac18a94cf86582c096a549516d43fe2d95e346dfdd67ba0227dae8cd82d906b179259f0386e52c5b4db55214fdf279bf29d115a142bc11c000000aef8ac1e841b6b0b00830201c29428519c97dcf2a2794e7b542efb235c3d5bd6e6b680b844449a52f800000000000000000000000045d55434dcfc2c93767643c4ed4feff8260da640000000000000000000000000000000000000000000008d2c09496426a668000083104ec4a04c6deeb83a734caf1ef9de7e210ab06382a5fab3742b180e92f4aadc34e47cfda055cd3e0230495d430b5c979f757b6cfabea6c88c0667191604d78c2a1fd51a25000000eef8ec07841b6b0b00830220ec945940a60866255031830aa1edfdd8b56ab39765b780b88472f66b670000000000000000000000000000000000000000000000000001e539e53b30450000000000000000000000000000000000000000000000000000018db206275000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000f424083104ec3a0bec977c37665439288960c313a7ab003cf9f0f25a47a4890cb25d8ae64dd11eda048428714d8532ab3e483ec361341ba4ded11ed2959c15f1157c7c20423f577fa000001b7f901b480841b6b0b0083020d5d94aaaaaaaacb71bf2c8cae522ea5fa455571a7410687b1a2bc2ec50000b901443d719cd9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a40000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff5433e2b3d8211706e6102aa94710000000000000000000000000000000000000000000000000000000008719621000000000000000000000000000000000000000000000000000000000000000083104ec4a0944481cf417d8b056cedfaabc01497c8ed58f6537bdf4a3ffbb958520a7225b9a05f2de5c2f8754c0580f1672c16e477d36232e95f91841456455a0a9216f00d48000000adf8ab40841b6b0b0082eb869406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b30000000000000000000000004b9de260e4283feeb53f785aabeaa895ec5d46f9000000000000000000000000000000000000000000000000000000000010d2cc83104ec4a002977c20707ba95f71cbd621270e0857bd05fa70b918f6d66894a914850fe731a02da4fb93b6184e7694a3855592e397a40b21a29d3c17990ba99d0f6af76126e200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000216703000000000033b36c0000000065cf5d8c00000000000000000000000000000000000000000000000000000000000000000000000000989680000b0000000000000033b36d0000000065cf5d8f00000000000000000000000000000000000000000000000000000000000000000000000000989680000a0000000000000033b36e0000000065cf5d920000000000000000000000000000000000000000000000000000000000000000000000000098968000040000000000aef8ac0f841e28f2808301d6f49406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000080e38291e06339d10aab483c65695d004dbd5c6900000000000000000000000000000000000000000000000000000000003d59fb83104ec4a004b5676a5656e003c8b49c1fcaab92dc82bcc657ded354d26da75675799e6404a076b90bb42bef77e922f5b8f9f16dee511e7616d47184c51666b685177ae51ca2000000b1f8af830cf3be841cc9fec0830218ee9487627c7e586441eef9ee3c28b66662e897513f3380b844535b355c000000000000000000000000239698849c72316cafb02f3ac9bd16307218ffb9000000000000000000000000000000000000000000000000005df6d33f9ee00083104ec4a065907453487e2e8f4fe990b6fc728f767a90f3ef4cebd6910bbb03393fc60410a057175004da00a70a915ebe7e725a47f32237dc54b73df21bb90007ec85f744b6000000adf8ab0b841bb3997582f7439406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000018b71386418a9fca5ae7165e31c385a5130011b6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83104ec4a070faa26eb799eca5aab66a816af56ad4f723d56aa4231d66d27bd483b749ae70a0016c9e988b1888fcdd3dab6d311845791d47c82804b94d42f33dc048d715e38900000177f9017411841b6b0b0083031f1b94aa111c62cdeef205f70e6722d1e22274274ec12f87093b497e292242b9010467ffb66a0000000000000000000000000000000000000000000000000000000000703806000000000000000000000000000000000000000000000000000000000000008000000000000000000000000021ecd3baa04cbcc36f60f840e2cc5ff3e18174020000000000000000000000000000000000000000000000000000000065cf648d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000083104ec3a092fe7af057c2d6ee0d9010b7123761248fceb0441dca20d6b022de90d0abdb4da052c54be1f120276c7ac797dbc5657a66b7b9e8ef4c3c34cf1762360d62f83d48000000adf8ab0a841b6b0b0082eb7a9406efdbff2a14a7c8e15944d1f4a48f9f95f663a480b844095ea7b300000000000000000000000018b71386418a9fca5ae7165e31c385a5130011b600000000000000000000000000000000000000000000000000000000009fefe583104ec4a00ec73278c1b1edc95a9abb12b716d93aa1a6ec6868e619e264a5540582f36db5a06b0b7ed8d5e28d9935acd255bdd8d48dd9d3cb177bc01bb3ba3dd4c9a62ce8760000017df9017a80841b6b0b008301adb98080b9012560806040526000805461ffff1916905534801561001b57600080fd5b5060fb8061002a6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c80630c55699c146037578063b49004e914605b575b600080fd5b60005460449061ffff1681565b60405161ffff909116815260200160405180910390f35b60616063565b005b60008054600191908190607a90849061ffff166096565b92506101000a81548161ffff021916908361ffff160217905550565b61ffff81811683821601908082111560be57634e487b7160e01b600052601160045260246000fd5b509291505056fea2646970667358221220666c87ec501268817295a4ca1fc6e3859faf241f38dd688f145135970920009264736f6c6343000812003383104ec3a01a14866610a26b645776ebba71cfea57e217c110acafc7abce50257971c18055a042dc182987fd46aae49e419e41c19bc408ad31b52d207099b2593ae649c5652700000176f9017322841b6b0b0083031f1b94aa111c62cdeef205f70e6722d1e22274274ec12f867df5ca66667eb9010467ffb66a000000000000000000000000000000000000000000000000000000000005fb700000000000000000000000000000000000000000000000000000000000000080000000000000000000000000654e899bcaeb249de1154980ccc5f9ff07d7724f0000000000000000000000000000000000000000000000000000000065cf648d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000000000083104ec4a0dc453df2378df7d0f9d094e4a0b544dc956833f18e31edb7163ce4f0c2892bd3a0491d7463a4874d6cbdd382d794c0bfd283166d1fb934857459fd5095802d00e800000072f8705a841b6b0b0082eda6946e55472109e6abe4054a8e8b8d9edffcb31032c586f5904616e000841249c58b83104ec3a0d88aecb0f49b63bb620ba268f757041ef2bae7fef00ce12fb93959d44c1b34d2a06a87de5826f67a45d9de03f475054f3445626cf41e12d9266190f8cc9e80ea00000000adf8ab1f841b6b0b0082d21c94f610a9dfb7c89644979b4a0f27063e9e7d7cda3280b844095ea7b3000000000000000000000000b6966083c7b68175b4bf77511608aee9a80d2ca400000000000000000000000000000000000000000000000001351609ff75800083104ec3a0f96d6e99dbc4fe444e8d7c4cd5c2662c8d67857ddfc5cf535297a59653cfa914a056600472dbe565c6bb494a4d157c53c20af12c245a04379fa004d223de177d70000000adf8ab06841b6b0b0082c08d94f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000ca6fe749878841b96f620ec79638b13daad3d32000000000000000000000000000000000000000000000000000000000046bbe9683104ec4a0761075db6c54b2e395ff2b2e288571afcc3e806b836aa40782662e821068f034a018fc4c7554fa5737688ab0770e55e17b2347e3a2708f33f0f5b37a857061d5e90000008cf88a2a841b6b0b0082b80494530000000000000000000000000000000000000480a42e1a7d4d000000000000000000000000000000000000000000000000014ae97832aca65e83104ec4a03d77cac9af7e729503a0372098f7a940b2671bec890c98264426979a02317fc6a05fddb0e046f82edcd3432706062daf1278984522c02bb2bd9a844ae3b85455e90000008ff88d8303b797841b6b0b0082a4f294530000000000000000000000000000000000000280a4bede39b500000000000000000000000000000000000000000000000000000006fd4c3ff283104ec3a01180efa28172b08704ce96419c3b46e55b6557d4c8dab99141d9ee03f207c5eda049d756f6387d7894b2e60b29b404e3a81fbc0573678b5829c5ed5ea1022bedd60000016ff9016c098420e6da00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403937666163376231313737333238643832646166656135346561623034356131323037663663363136376235346631306337386231643663663864353630393600000000000000000000000000000000000000000000000000000000000000403366646534323534336630613935663765616161646638666331333236346263643663623635393033643966323862353039366130366638373338646331393583104ec3a0444eb098c74b01c34d9fa3489fca65c14252db2e16550c56754393618ddfc88da07d19f07a90388fa79054c82331c32f9069aa0c9f5ecf3a92af953080809d269d000000b1f8af830cf3bf841cc9fec0830218ee9487627c7e586441eef9ee3c28b66662e897513f3380b844535b355c000000000000000000000000daa30f818eefbb10d66433a9b4be142ddd9a5f3c000000000000000000000000000000000000000000000000002116e5b0bdc40083104ec3a02b1598cfacabd3a4bee1a0a18d885e29cf660067133a858c8fc237b4b67a19b5a06b28fd918905a13062044d029617d4a93a3eb101a5f498480a57eef84193ed450000008cf88a53841c03a18082fab894530000000000000000000000000000000000000480a42e1a7d4d00000000000000000000000000000000000000000000000000b1a2bc2ec5000083104ec3a020fc05cc370dba2ee34a669e7c0f5f1fc78a886e481cc6b25cf38ece72aed0a1a00b08fb6c84c65928d69d619b38d859608229654c0aee5ea86ab99b6253fcf43e000002d0f902cd1d841b6b0b0083038b849480e38291e06339d10aab483c65695d004dbd5c6980b902642cc4081e0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000001fa69635fcf1cb0000000000000000000000000000000000000000000000000000000065cf8c6400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000000185a9c800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c70000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000006857b8405a0c7d59a377eea4132a9aa5dd0fb8150000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec3a01f494204222fb52324e696649aed2832877485ce763adfaabb4887900c104a02a01abff2838eeda16a5caa19482526ba0b1e186774702a165aee55fea20501d4de00000196f901930e841b6b0b008303b5ce947dfb5e7808b5eb4fb8b9e7169537575f6ff1a2188634608d7d0b75b90124126928c400000000000000000000000000000000000000000000000000000000000000b8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000147f7cd4b00c7a432cbe2c1df57ebb9d84821189f2000000000000000000000000000000000000000000000000000000000000000000000000000000000000005600020000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000009184e72a0007f7cd4b00c7a432cbe2c1df57ebb9d84821189f20000000000000000000083104ec4a0d44a96cda86a34f2cee0c7712157b4927b5fb9aa16b359558850305f4d2a8c00a0585ac7455cb49a84dd2d270b945b971b6435c704f9706adc41b0f1d7248c6654000000adf8ab13841b6b0b0082c08194f55bec9cafdbe8730f096aa55dad6d22d44099df80b844095ea7b3000000000000000000000000aaaaaaaacb71bf2c8cae522ea5fa455571a7410600000000000000000000000000000000000000000000000000000000000f424083104ec4a055081e4e2c837b383da22629a2a06386aecd88eb7c967bf49e52c782f77f98bba067c47f9aa0654f098b77ce4ecc1f2f6de4cc9c803a20e2acc450dfb0fab6e4060000006cf86a1f841b6b0b008267809493352e29334190b660d188bf1c63c41a0eb6b5728084b49004e983104ec4a0b9242d903907ae4f099aaa0f28fd71ce06bea13139d414ef7233795dbb59ae4da0684cdf9d9d59a0433c91bcfb621f3370b8701701d573cb35d98b0a8b44c33b9e000002d6f902d380841b6b0b008302bb089480e38291e06339d10aab483c65695d004dbd5c69865af3107a4000b902642cc4081e00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000044e1d0000000000000000000000000000000000000000000000000000000065cf8c56000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c700000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000530000000000000000000000000000000000000400000000000000000000000013e89345d72c65346ff880ac790fd50809fb311c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec3a065f4429790b2b0c9ceee1764ba15c3ee5b421a5e81c190ba88e5aedec7b120f8a03038a234c705254acc50a27325de26d6bb802e65e7ebd965d6a561f99367873700000297f9029422841b6b0b00830352b0942db0afd0045f3518c77ec6591a542e326befd3d787017707ac0884aab90224ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000012475ceafe6000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000637b3b992fb77d78983b5a1ed7cd1036658c77d900000000000000000000000000000000000000000000000000017707ac0884aa000000000000000000000000000000000000000000000000000000000011d8c50000000000000000000000000000000000000000000000000000000065cf6491000000000000000000000000000000000000000000000000000000000000002b53000000000000000000000000000000000000040001f406efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000412210e8a0000000000000000000000000000000000000000000000000000000083104ec4a01fbc7448bb222224b7beb8daea5ef61e5fd8336daaafe5dece2194f83131be7ba06c2f0245ac3b7cf3324b1c381c1bac15de87d0912a8ca5541f16c697b90f2a2c000002f7f902f441841b6b0b00830355a094ca9fbef94d7cc8662f4711a8612ff9dc1526e650878e80fa99e03cd2b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf5fc600000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000008e80fa99e03cd200000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008e80fa99e03cd20000000000000000000000000000000000000000000000000000000006b8adbc00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b5300000000000000000000000000000000000004000bb806efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000083104ec4a0c197b1084de92ab9fdc3f3ea234f9a37825070120be408f387039c061570576ea034f30853c9011b04744473ef6170804547a430308fea869e60201e69d67f82af0000016ff9016c47841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403466376130366630393666616333343965666539633333383636633036316162613732643433343034303266633565653035343833353461383830336164343700000000000000000000000000000000000000000000000000000000000000406638373838346436643833306466383861633333626662643931343935333137616232663834373030663137346139353939303161633930363436373064633883104ec3a0ac0fb868675aceca3f6269f726fc593e500e126a8e5a02398eb6c4275287bf2da074e120d7187a7cd95f3b2f735fab76c27e8884cce6794694ae96f51eb66439fa0000016ff9016c41841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406365353764396165333262323466326532393934306135333939656364636266613436333637623464323633346462663032316633373535363435626439636200000000000000000000000000000000000000000000000000000000000000403237376332633331353066343031613362383864663036356138303331356566663438326235643637316163383833366364363437313234323665333535393883104ec3a0420e2a5d816240ca70346d5ae7d01f881c0aab272053d3b4c2b894b6ff1bb292a038726961aae0ce6b9c242d05e7a20afa042587fa6b9d7429228da5c82c27077d000002d7f902d403841b6b0b008302bb209480e38291e06339d10aab483c65695d004dbd5c69872e2f6e5e148000b902642cc4081e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000022f8fa70000000000000000000000000000000000000000000000000000000065cf8c6a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e2f6e5e14800000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000814a23b053fd0f102aeeda0459215c2444799c7000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000600000000000000000000000005300000000000000000000000000000000000004000000000000000000000000d2b4b28c4b3a81f59768016bccc7da3d771d97f50000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000083104ec4a0e6a7cf7894e3f89a681d6d5aad8a850843ac2438aa0427b02e42075226d34996a012d206a84460911281d8762495bb1b667ea9746dce15babf92b2b9a25acdfbaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000187a02000000000033b36f0000000065cf5d950000000000000000000000000000000000000000000000000000000000000000000000000098968000090000000000000033b3700000000065cf5d98000000000000000000000000000000000000000000000000000000000000000000000000009896800006000000000273f9027083068a798420e6da00831b24d094cb566e3b6934fa77258d68ea18e931fa75e1aaaa80b902046c459a2800000000000000000000000038de71124f7a447a01d67945a51edce9ff49125100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000065cfb1ec00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000084704316e5000000000000000000000000000000000000000000000000000000000000006ef4ca04d7971f734611386a7a4a9b7ef7b2b10a11e227301dade966e48189c4280000000000000000000000000000000000000000000000000000000000000014f4ca04d7971f734611386a7a4a9b7ef7b2b10a11e227301dade966e48189c428000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082cd1bb8255777ed57414784e2fa23870c58628df1ba9d47a8895ce0d4ae9e71904cbfe5bcd3fa4213a03f748416a08b191a0c8bed26b865858672a848211e00d61cfeaa581704f1921906f4ff36fdef1e366f4d1926d6ee6a7832ee1a574c9d01637680d0c46ce8f1d167acda001722e1fede1dc7b9f6bf62e942ed6cbdae7c15991b00000000000000000000000000000000000000000000000000000000000083104ec3a06ccc48c99408c76399354a1e2921fe2a34508f7a00f9635b20898903f38d8bcfa063b71d5dd97afd8a1324e9b1795c41d3215a69a68a8b18c8098c56b2e9d77b1f0000006ff86d15841b6b0b00825208945e809a85aa182a9921edd10a4163745bb3e36284875c5edcbc2900028083104ec4a04c31dd0417e67d4afbeb28c0e27832e8c84dda06153d39696ffcfd8c8c9f9308a01b157711f16eb49d7b3cf7b9cafd24715af839dab77f28bb280c44f2a52690f200000137f901343b841b6b0b0083040e969418b71386418a9fca5ae7165e31c385a5130011b6880905438e60010000b8c4f305d71900000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a4000000000000000000000000000000000000000000000000000000006e533b42000000000000000000000000000000000000000000000000000000006dc603eb00000000000000000000000000000000000000000000000008f9b7b2c87be000000000000000000000000000aa916c42e129e6344acd5c6aa5e809f19a8f765c0000000000000000000000000000000000000000000000000000000065cf623683104ec3a05ec7d93fc2e68cb1fa996dee5cf78849aa7b45ae27ba61b461cc5c8aa5b2f546a04f66d2e14f50460fe8f4d600a721933483b4718bdb2ed1126f00a071cbedf20d00000390f9038d33841b6b0b00830345dd9480e38291e06339d10aab483c65695d004dbd5c6980b90324e84d494b0000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000e0e1c85f2f55b0000000000000000000000000000000000000000000000000000000065cf8c6b0000000000000000000000001467b62a6ae5cdcb10a6a8173cfe187dd2c5a136ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065cf8c64000000000000000000000000000000000000000000000000000000000000001b87db9fad7ddc48c14987fa7120b2e8b8c980c0883084f02df08eee69e74d193a4936d74ef64bbd5b2c9628dcb57e8232576ff0e9411d07d7c3096482f61d74790000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000001467b62a6ae5cdcb10a6a8173cfe187dd2c5a136000000000000000000000000000000000000000000000001b5b57133f1bbc57600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000250f1ce83992db8e2e54534e36c4f2674a6a54a000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000600000000000000000000000001467b62a6ae5cdcb10a6a8173cfe187dd2c5a136000000000000000000000000cf7ea56efb482015785fbcb52ac23815aa8168bf0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec4a0e91bd2616236fbd69a47c834c701ced463ce08cb2d7092cdb0c4ff1782784defa0155474d4ff1228315fa5f23c2ee1131dafb508328115b022e09528e33cdd42b10000016ff9016c03841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000403534376338316435393135363163376638313035336464356638646263333936396564663133666637333031353135383061613963376462313065323235353500000000000000000000000000000000000000000000000000000000000000403033353533653132616634356330626162346436663232663335623366323639396566633134646462366333666434346638623437636430323735613362373283104ec4a01df69a8348c62b374a9fc1974d3c62242c5560e19b2b69d7e491ccb62431f184a03a8c8bc799753a80d872e92b6c4bf0f01e8db5bf9f99fb9620d65ee6847c663800000230f9022d09841b6b0b008303383094aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901c4a15112f9000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a400000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000300c80000000000000000000000000000000000000000000000000000000000030a0c00000000000000000000000000000000000000000000000000000000f07f55e50000000000000000000000000000000000000000000048383f2af68a0000000000000000000000000000000000000000000000000000494f0d1b37d4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec4a0a7d0b2890bb19dfb4fe7c01ee41302bb8882ec3a44f147795a19a053430a2515a027d027ea956e21a1d15245902b47fa5d24c041777ac8193add3de192e067182800000390f9038d07841b6b0b00830345cc9480e38291e06339d10aab483c65695d004dbd5c6980b90324e84d494b00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000001c5943327aba10000000000000000000000000000000000000000000000000000000065cf8c68000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065cf8c36000000000000000000000000000000000000000000000000000000000000001c81077af1cf5c26c1058bb9def39d646facf4b05ee75e76241de80e97182bb72d71f94d3f7288595d79a6029ea47aa2d01e3bcec0886cc17a8e9d077d05819fcf000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000000000000000000000000000000000000015ce300000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000078ea8e533c834049de625e05f0b4deffe9db5f6e0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f55bec9cafdbe8730f096aa55dad6d22d44099df000000000000000000000000e086ca15190c336dc80b37159f3c431746e412680000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000083104ec3a0b407866a6d5388bdc45b06e61e5e934da0c3e42bd7fbcc021a21470ef276a08aa0685b5f0bbbe3f7d4b5fb221ac20784a8c0c3868146b59a75c9ae5556ce1558440000006ff86d02841b6b0b0082520894e4edb277e41dc89ab076a1f049f4a3efa700bce887254db1c224633f8083104ec3a0ab8bce75b42bc2f1a9bba91763ea062998802dacb563ad42509dc8a7a738d28ca022df72bd219b5567b247572a24304f18fc68346109aa88f42ac176c07fa3dfe500000070f86e0d841b6b0b008256d0945e809a85aa182a9921edd10a4163745bb3e362848801167d1e130640348083104ec4a0f1b1977220f626ff07fb8bbc74880ebbb90557588c695a7c1bdba93378806bbea005c4a45982f3532e797fc24286705601be453f2d77b0d4a3ba9c01eee540b925000001faf901f783069e8d8420e6da00830f8d5c94a658742d33ebd2ce2f0bdff73515aa797fd161d987027ca57357c000b901840508941e00000000000000000000000000000000000000000000000000000000000000660000000000000000000000007dfb5e7808b5eb4fb8b9e7169537575f6ff1a2180000000000000000000000000000000000000000000000000000000000030d408e06584340b10f2363f46c177a0f37e4eeab04a90d6e37a7ae63439e585af4b38e06584340b10f2363f46c177a0f37e4eeab04a90d6e37a7ae63439e585af4b300000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000e7a8d7de780fce16451a355b86025eb36b2fb05d00000000000000000000000000000000000000000000000000000000000000680000000000000000000000004d73adb72bc3dd368966edd0f0b2148401a178e20000000000006c440066ef1eae0457e8d56a003d781569489bc5466e574b00d67dfb5e7808b5eb4fb8b9e7169537575f6ff1a218e7a8d7de780fce16451a355b86025eb36b2fb05d00000000000000000000000000000000000000000000000083104ec4a0af8d7d41ac4046cbb3778312c06d7f1f30899deef593486adab9d284e2b25d76a016019c5babf185f540a31c7e1b439df6f9da4af082c5bf5e919000b7b28edc9e00000170f9016d81e6841b6b0b00826e8e9447fbe95e981c0df9737b6971b451fb15fdc989d980b901045b7d7482000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000406662356231363031336631663565626335636166383861616265646530633464656266336166663763393363306366373939383266633238616331346438343300000000000000000000000000000000000000000000000000000000000000403762326164323863343134313131333738343033383263383437356262363165306564383438303932633266393931323335373761386263613663346661323083104ec4a045ed87fca68cd58e42c928c3e60ca64c4590a275b3b56625fc27ba15a02caa61a07aa58f859e998903be51477feb213630b62acc4e021fc75794950ceb3e71e76a00000230f9022d08841b6b0b008301c48a94aaaaaaaacb71bf2c8cae522ea5fa455571a7410680b901c4a15112f9000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a40000000000000000000000003c1bca5a656e69edcd0d4e36bebb3fcdaca60cf100000000000000000000000000000000000000000000000000000000000001a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034a160000000000000000000000000000000000000000000000167b203dbec80200000000000000000000000000000000000000000000000000172a72f32f66b900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000083104ec4a032e3964e8ee3fc2679ce986e78e1895efc746887b2905de3a99519a638f121e1a03a0f0bedfc495af8bbfd697719f655b73ca35bc9bbc1bd9f67b24ab3280da276000000b2f8b015841b6b0b00830106008080b85c6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea2646970667358221220a88383c3010bd0f358d8b9c33d4760c0165713c61b6fb644f377e34db29cf5b564736f6c6343000807003383104ec4a0f7e50acd57536550963cf428a7887cd290572a26ac3e6cc727444110e62d2952a063ce847ba39ccb04f7cc56bf97f0e1130d3c9c00ff9d59e6d7f538b5367fab4d0000006cf86a21841b6b0b008267809493352e29334190b660d188bf1c63c41a0eb6b5728084b49004e983104ec3a05d0bc34f179ce955c34963bc91ef93026e6929f7e219c227d153c2f3ed7dfd8ea02ebeaf744e08df4f84e136f59cf33d3fab2d161017406daf28af0aba8839fd0700000156f9015339841b6b0b0083030de29418b71386418a9fca5ae7165e31c385a5130011b6873eaf90181ededeb8e4fb3bdb410000000000000000000000000000000000000000000000000000000002faf0800000000000000000000000000000000000000000000000000000000000000080000000000000000000000000b932820688f7a56f1ccc7ca1af29cee34de9aa460000000000000000000000000000000000000000000000000000000065cf623e0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000530000000000000000000000000000000000000400000000000000000000000006efdbff2a14a7c8e15944d1f4a48f9f95f663a483104ec3a07169b433b681712e61997a6d12f6b64a6ab69a54e5d9dc2b4adb24213746a8f2a06c6b3799d71429553827a4c1504afb7c3e9587c3906f06d4d1fdee258823067f00000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000f9010dd694bc9d741501a20f962756c95bf906b4abffadcf8fc0d6942e07f0fba71709bb5e1f045b02152e45b451d75fc0f8dd940d7e906bd9cafa154b048cfa766cc1e54e39af9bf8c6a0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca00000000000000000000000000000000000000000000000000000000000000069a07fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39993834ba07fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39993834ca07fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39993834da0b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610380a02b2b2bb6e6c4f54be97d34c3cb4ba408b01a414d402f70acb19a57549995983fa048deb89eb3d731cdc82ec968bfb921780f11be60dcfa81592af12d5ceb9e88f9", - "new_receipt_trie_node_byte": "0xb9018c02f901880184011d6836b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000002000000800000000040000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000400000000000000000000000000000100000000000000000000000000000000001000010000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000800000000000000000000000000000000f87df87b94a13baf47339d63b743e7da8741db5456dac1e556f863a02c32d4ae151744d0bf0b9464a3e897a1d17ed2f1af71f7c9a75f12ce0d28238fa00000000000000000000000000000000000000000000000000000000000012beca05cb92ee93a18cc60c5ca3970bc329311e83814e151ca1f9e4da5d4a01720d41580", - "gas_used": 1243577 - } - }, - { - "traces": { - "0x448c979d8661e658f40e722812d84b780fa0c0ab": { - "balance": "0x7accd4857d3b7c", - "nonce": "0x9a" }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { "storage_read": [ - "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0xc089743c9cd0850fa555be42789af7f9b43881efcf77eda990342c7590b91b9c", - "0x18ed4263ba471bc7fc858962a4e4287d3d6155a380093981cb1f2ad43a7fee1c", - "0xffd7c3da16b88438c4971963e4b575eb04c5ebf6f76bfaba41e1cec00270fbef", - "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b" + "0x0365d284573d09da6ee2f3469c52af15eda817ea1790def53af6ea7529a831cd", + "0xee3d2a8e3f1f65bf25445f9703f6ed1d8267c2282de028d29756c0ca92cf0857", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0xffd7c3da16b88438c4971963e4b575eb04c5ebf6f76bfaba41e1cec00270fbef": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffd99d56ff", - "0x18ed4263ba471bc7fc858962a4e4287d3d6155a380093981cb1f2ad43a7fee1c": "0x0", - "0xc089743c9cd0850fa555be42789af7f9b43881efcf77eda990342c7590b91b9c": "0x2cb304ca" + "0x0365d284573d09da6ee2f3469c52af15eda817ea1790def53af6ea7529a831cd": "0x1", + "0xee3d2a8e3f1f65bf25445f9703f6ed1d8267c2282de028d29756c0ca92cf0857": "0x1" }, "code_usage": { - "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196622249b302bb4b" - }, - "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { "code_usage": { - "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" } } }, "meta": { - "byte_code": "0x02f8d0018199830e8148850ec3a8f96882ca0894a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b86423b872dd0000000000000000000000008a0add5a0465125d075c8bb0c90b015b7db48a9a000000000000000000000000448c979d8661e658f40e722812d84b780fa0c0ab000000000000000000000000000000000000000000000000000000002662a900c080a012e199aa9b21b63d4a9c056497a975fcc3fdcff7835b121efe2671990792cea4a04a82bff02bc10d428dcf0756aa708bc0aecc0ec9a3d36939fb74af6a0d31b0c2", - "new_txn_trie_node_byte": "0x02f8d0018199830e8148850ec3a8f96882ca0894a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b86423b872dd0000000000000000000000008a0add5a0465125d075c8bb0c90b015b7db48a9a000000000000000000000000448c979d8661e658f40e722812d84b780fa0c0ab000000000000000000000000000000000000000000000000000000002662a900c080a012e199aa9b21b63d4a9c056497a975fcc3fdcff7835b121efe2671990792cea4a04a82bff02bc10d428dcf0756aa708bc0aecc0ec9a3d36939fb74af6a0d31b0c2", - "new_receipt_trie_node_byte": "0xb901ac02f901a80184011e1e4bb9010000000000000000000000000000000000000000000000200000000000000200000000000000000000000000000000000004000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000000000000100000000000002000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008a0add5a0465125d075c8bb0c90b015b7db48a9aa0000000000000000000000000448c979d8661e658f40e722812d84b780fa0c0aba0000000000000000000000000000000000000000000000000000000002662a900", - "gas_used": 46613 + "byte_code": "0x02f902910101830ded21850182487e228303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000440c90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d3700000000000440c900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3b400000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000004156d880efff6879860d366ccd3316685953a2f3fd9340b9a53846a1b1cb43104d1433a79a8af49d809b53cc574fd35546f42442500850b4a21b319ed974f85b271b00000000000000000000000000000000000000000000000000000000000000c001a0bc1be24f9fbd47960fb83dc189baf9a40d3d21388d830a71ff9e2a9f6fda7f11a05ded42fa0cf223d953ffb766345b0e1d79c7d1531183dc6abd3f7c21d0bb1f34", + "new_txn_trie_node_byte": "0x02f902910101830ded21850182487e228303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000440c90000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d3700000000000440c900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3b400000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000004156d880efff6879860d366ccd3316685953a2f3fd9340b9a53846a1b1cb43104d1433a79a8af49d809b53cc574fd35546f42442500850b4a21b319ed974f85b271b00000000000000000000000000000000000000000000000000000000000000c001a0bc1be24f9fbd47960fb83dc189baf9a40d3d21388d830a71ff9e2a9f6fda7f11a05ded42fa0cf223d953ffb766345b0e1d79c7d1531183dc6abd3f7c21d0bb1f34", + "new_receipt_trie_node_byte": "0xb902ce02f902ca01840155a5b4b9010000000000000000000000000000000000000000000000200000000000000002808000000000000000000000000000000100000000000800000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000000000000000000000000000001000000000000000000003008000001000000000002004000000000000000000800000000020000000000000000000000000000000000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000d7abb41b9e03a898b8c2fd5f56e229d8365b20c1a000000000000000000000000000000000000000000000000000000000000440c980f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000d7abb41b9e03a898b8c2fd5f56e229d8365b20c1a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a000000000000000000000000000000000000000000000000000000000000440c9b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0xe5614ec2ec773b9b6d3c762db965ea487d89b13f": { - "balance": "0x153512301f693", - "nonce": "0x3" + "0xf2460d3433475c8008ceffe8283f07eb1447e39a": { + "code_usage": { + "read": "0x304dfa0c01750de76c0ab777ddbc81997ac7f4364ed70bec37b2af9518528f8b" + } }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x49048044d57e1c92a77f79988d21fa8faf74e97e": { + "balance": "0x577f5a4c67bd0141a50b", "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x7f366dafeee5310519c618e1c9b5d35d2c822bc3eb396e26441c0d03e47838b6" + "0x70f559f11a51ecb0317c41c069df8fafad6e1a0d74fc6c7cf9eb65b68f4b116f", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000035", + "0x0000000000000000000000000000000000000000000000000000000000000032", + "0xad822c99200a7668e082144e8c5115df834d2b28cc7882d7520b3f5f6d9b6362", + "0xad822c99200a7668e082144e8c5115df834d2b28cc7882d7520b3f5f6d9b6363" ], "storage_written": { - "0x7f366dafeee5310519c618e1c9b5d35d2c822bc3eb396e26441c0d03e47838b6": "0x16345785d8a0000" + "0x70f559f11a51ecb0317c41c069df8fafad6e1a0d74fc6c7cf9eb65b68f4b116f": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000032": "0xdead" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x7d1cd19d713c8d64bf663f4168250abfbf690dbb6214c25bf757fee383816914" + } + }, + "0x6045501b5d50141034bf551970f631ac36b7846f": { + "balance": "0x22d619b5950135", + "nonce": "0x10" + }, + "0x56315b90c40730925ec5485cf004d835058518a0": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x0000000000000000000000000000000000000000000000000000000000000003", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f72330b", + "0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f72330c" + ], + "code_usage": { + "read": "0x7d1cd19d713c8d64bf663f4168250abfbf690dbb6214c25bf757fee383816914" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662225473d864d3" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4ed9e4da8457" + }, + "0x5fb30336a8d0841cf15d452afa297cb6d10877d7": { + "code_usage": { + "read": "0x08671034ec683e4964520b70f7dce9430327414585ef466f940ade9f2a8441d8" + } } }, "meta": { - "byte_code": "0x02f8af0102830e81488508dbd1962882bed994dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b30000000000000000000000003c6390ecba1dc417e4cff55310f5372036ed3d1c000000000000000000000000000000000000000000000000016345785d8a0000c080a0c4e19c169441f8c1b195fe61cb0739eee738a186af0b16886992192ce58dc787a066cb52a12cc095a5ab29bfef41f70bf8826c33aa36727ebd8dcfb4722a4a87e3", - "new_txn_trie_node_byte": "0x02f8af0102830e81488508dbd1962882bed994dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b30000000000000000000000003c6390ecba1dc417e4cff55310f5372036ed3d1c000000000000000000000000000000000000000000000000016345785d8a0000c080a0c4e19c169441f8c1b195fe61cb0739eee738a186af0b16886992192ce58dc787a066cb52a12cc095a5ab29bfef41f70bf8826c33aa36727ebd8dcfb4722a4a87e3", - "new_receipt_trie_node_byte": "0xb901ac02f901a80184011edc14b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000200000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000200000008000000000000000000000000000000000000000000000400000000100000020000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000e5614ec2ec773b9b6d3c762db965ea487d89b13fa00000000000000000000000003c6390ecba1dc417e4cff55310f5372036ed3d1ca0000000000000000000000000000000000000000000000000016345785d8a0000", - "gas_used": 48585 + "byte_code": "0x02f90192010f830ded21850182487e2283054b559449048044d57e1c92a77f79988d21fa8faf74e97e80b901258c3152e9000000000000000000000000000000000000000000000000000000000000002000010000000000000000000000000000000000000000000000000000000126100000000000000000000000006045501b5d50141034bf551970f631ac36b7846f0000000000000000000000006045501b5d50141034bf551970f631ac36b7846f00000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000001c001a0c99479b60d2ee97e28111be3cda7fa4aa23b398fbbebc5416c2af955075fbdc5a01aabad83142c70922ad7020656a71dcd968c372df3b2e11568080cbbfed0c617", + "new_txn_trie_node_byte": "0x02f90192010f830ded21850182487e2283054b559449048044d57e1c92a77f79988d21fa8faf74e97e80b901258c3152e9000000000000000000000000000000000000000000000000000000000000002000010000000000000000000000000000000000000000000000000000000126100000000000000000000000006045501b5d50141034bf551970f631ac36b7846f0000000000000000000000006045501b5d50141034bf551970f631ac36b7846f00000000000000000000000000000000000000000000000000012309ce54000000000000000000000000000000000000000000000000000000000000000186a000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000000000001c001a0c99479b60d2ee97e28111be3cda7fa4aa23b398fbbebc5416c2af955075fbdc5a01aabad83142c70922ad7020656a71dcd968c372df3b2e11568080cbbfed0c617", + "new_receipt_trie_node_byte": "0xb9018b02f90187018401570849b9010000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000002000000000000000080000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000f87cf87a9449048044d57e1c92a77f79988d21fa8faf74e97ef842a0db5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1ba0c8d3fac54a34c0cc12aef44c3fa106eaeb70a1d098545f8b965dcf01d40ca3c9a00000000000000000000000000000000000000000000000000000000000000001", + "gas_used": 90773 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662225d7fdd3377" + "0xdf9fbb322b8033aa321d0c74e369ef10f6505bba": { + "balance": "0x1145f39650f75786", + "nonce": "0x49" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4f01c884fe1b" + }, + "0xd09e8f234ea143989df6b0662b68ea69e15a8acc": { "storage_read": [ - "0xa8ee480fe1bd8505468895b973ec2f00d7ef54b3ac2df793b35344dc94200018", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xe0c03816537e97b50279dadd83524cf6bc80ce9bd9404ce2433c4f51a9956f47", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0xe1bc1f01fc5294487cdf322e302f878153de08afc6069ab5d854ef27cd32df96" + "0x0beb88275e979da77c3dd91fa76a1c62c4f3347643faaf31a825470a3f9ca4ca", + "0x0000000000000000000000000000000000000000000000000000000000000018", + "0x0000000000000000000000000000000000000000000000000000000000000015", + "0x0000000000000000000000000000000000000000000000000000000000000016", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x4b096e205c1a0cc93a15eae2ab1ba1b4dc03e5d2c48d7a54f2463ed85b62cd75", + "0xaf4c31b34a4fd8a5713bddc17622387da8753cd1c203db7b1cf00c31ae423eef", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x11fbd5f82ace83e03d9ae35f481a67a01df16b96500a6f8ad5fbc4affbdd329b", + "0xafbcf3fd0fe268f7121adee5310f5873bf61718bd76302d2775011bffbea0abc", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x388c6aeb5549422b8ff0b6a7f0e2aceba9af988fb44f77d6041d10c4847efc36", + "0x659b4915b41628c9fb23b8f5aeeb773a4d0999b9334e013105a10ab94b72dcc3", + "0x0000000000000000000000000000000000000000000000000000000000000008" ], "storage_written": { - "0xa8ee480fe1bd8505468895b973ec2f00d7ef54b3ac2df793b35344dc94200018": "0x569fea20c", - "0xe1bc1f01fc5294487cdf322e302f878153de08afc6069ab5d854ef27cd32df96": "0x0" + "0xafbcf3fd0fe268f7121adee5310f5873bf61718bd76302d2775011bffbea0abc": "0x6216d20eaa24b0f5e58da0e25d029e2b375355449f655ef2b6e33f9dffd8c64", + "0x0000000000000000000000000000000000000000000000000000000000000006": "0xfffffffffffffffffffffffffffffffffffffffffffffffff7e52fe5afe40000", + "0x0000000000000000000000000000000000000000000000000000000000000007": "0x0", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x0", + "0x11fbd5f82ace83e03d9ae35f481a67a01df16b96500a6f8ad5fbc4affbdd329b": "0x444e44b98adc001dd6fcb46edb1cfe839216f9bfc2cf512277f52fb6ad41ce1e", + "0x4b096e205c1a0cc93a15eae2ab1ba1b4dc03e5d2c48d7a54f2463ed85b62cd75": "0x3a6cf5f5d74a86583598775bf8eb68ca594d626c14aede25302c78f0ac5333", + "0x000000000000000000000000000000000000000000000000000000000000000d": "0x1" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x4f79a5d176c01c2fb825f313ce84debc408a4a1201948af3ca64510400732ead" } }, - "0x603b9472b6528e5fe1dac4061d169b58f1b422f6": { - "balance": "0x14c4f636c74eb8", - "nonce": "0x20" - } - }, - "meta": { - "byte_code": "0x02f8b0011f830e5b648508e40d99aa83010e1994dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000008512fbbc89a09b276a0c1f076aee07390314443e00000000000000000000000000000000000000000000000000000000d7c4d100c001a025da913350edf4f29016085f1060abd98950b780f67582ed29563f6a3a26d32ca01f77e296bf32358fc6f081c910318ebc30f5726ce3e76ea4df882a6124edaa15", - "new_txn_trie_node_byte": "0x02f8b0011f830e5b648508e40d99aa83010e1994dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000008512fbbc89a09b276a0c1f076aee07390314443e00000000000000000000000000000000000000000000000000000000d7c4d100c001a025da913350edf4f29016085f1060abd98950b780f67582ed29563f6a3a26d32ca01f77e296bf32358fc6f081c910318ebc30f5726ce3e76ea4df882a6124edaa15", - "new_receipt_trie_node_byte": "0xb901ac02f901a80184011f7d65b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000001000000300000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000020000000000800000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000603b9472b6528e5fe1dac4061d169b58f1b422f6a00000000000000000000000008512fbbc89a09b276a0c1f076aee07390314443ea000000000000000000000000000000000000000000000000000000000d7c4d100", - "gas_used": 41297 - } - }, - { - "traces": { "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298694bcfc37bc9ef80fa", + "balance": "0x28b81a041e7f92e9e4e2c", "storage_read": [ "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0xe2fb5d9b2e8836f0b36c7e23bbad1165e9766d2ea7a3e9f00444ef67e54b0abb" + "0xa8a85a364b0bf1c9a93a92c41eab1c431cb79dcf4326d32ffc9da2a884c2c87c" ], "storage_written": { - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", - "0xe2fb5d9b2e8836f0b36c7e23bbad1165e9766d2ea7a3e9f00444ef67e54b0abb": "0x3d37fd4725b2ff283" + "0xa8a85a364b0bf1c9a93a92c41eab1c431cb79dcf4326d32ffc9da2a884c2c87c": "0x299fc113d6fa01fb", + "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" }, "code_usage": { "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" @@ -8192,1124 +9754,883 @@ "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" } }, - "0x85b864e2371585df5368100a31b7761dc0b5946e": { + "0xb16ee10cc324dbdad740931eceb1f98bb6c10729": { "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", "0x0000000000000000000000000000000000000000000000000000000000000006", "0x0000000000000000000000000000000000000000000000000000000000000007", "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c" + "0x000000000000000000000000000000000000000000000000000000000000000a" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1e6de45fcdf19ddec9515b244af2fa6617be0", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x4b5aed997fd71706deb99ebfefcf74", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000003d37fd4725b2ff283000000000000001ff6abe4d6abdc" + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x1732e5d2c3ea10cb67987f5d295d692941c", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x104043d733b49950ded1d24c842f7c8063c", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x6632d06b00000000000003b3eeb922a6605e000000000000299fc113d6fa01fb", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" }, "code_usage": { "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" } - }, - "0x000000000022d473030f116ddee9f6b43ac78ba3": { + } + }, + "meta": { + "byte_code": "0x02f902f90148830ded2185016d73dabf8303f91c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8803782dace9d90000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d2ab00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000054e8b10a0b9d0b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000d09e8f234ea143989df6b0662b68ea69e15a8accc001a0a5cc027ce5d6aa4f653c6f0167b9cd05560cbaadc0f14cecfed54b5e2ba66a52a0306e54a6ee76f605e20eaa033a04ef4865bc1b5a69669331816d5c407ca24076", + "new_txn_trie_node_byte": "0x02f902f90148830ded2185016d73dabf8303f91c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8803782dace9d90000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006632d2ab00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000003782dace9d900000000000000000000000000000000000000000000000000000054e8b10a0b9d0b00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000d09e8f234ea143989df6b0662b68ea69e15a8accc001a0a5cc027ce5d6aa4f653c6f0167b9cd05560cbaadc0f14cecfed54b5e2ba66a52a0306e54a6ee76f605e20eaa033a04ef4865bc1b5a69669331816d5c407ca24076", + "new_receipt_trie_node_byte": "0xb9043f02f9043b01840159e58db9010000200000000000000004000080000000000000000000000000000100000000000000000000000000000000000000000002000000080000000002000000000000000000080000000000000008200000200000000000008000000000008020000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000001000000081000004000000000000008000000000000000000000000000000000000000000000000800000000000000002000000000000000000000000000010000000001004000000000000000000200000000000400000000000000000001000000200400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000003782dace9d90000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000b16ee10cc324dbdad740931eceb1f98bb6c10729a000000000000000000000000000000000000000000000000003782dace9d90000f89b94d09e8f234ea143989df6b0662b68ea69e15a8accf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b16ee10cc324dbdad740931eceb1f98bb6c10729a0000000000000000000000000df9fbb322b8033aa321d0c74e369ef10f6505bbaa00000000000000000000000000000000000000000000000000055142a39ae73e4f87994b16ee10cc324dbdad740931eceb1f98bb6c10729e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000299fc113d6fa01fb00000000000000000000000000000000000000000000000003b3eeb922a6605ef8fc94b16ee10cc324dbdad740931eceb1f98bb6c10729f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000df9fbb322b8033aa321d0c74e369ef10f6505bbab88000000000000000000000000000000000000000000000000003782dace9d90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055f02aa6dec2a3", + "gas_used": 187716 + } + }, + { + "traces": { + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ - "0x1dc630ef738b4564017bb06bef9ef83f2f8f0237030f3f9710f09d9efc8a254c" + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c" ], "code_usage": { - "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } }, - "0x44face2e310e543f6d85867eb06fb251e3bfe1fc": { + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000014", - "0x0000000000000000000000000000000000000000000000000000000000000017", + "0x1d932848b910a42ee1f9e478f1e558294dfeffd20a664bb8cb4eaf31cc2045bc", "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x36e52c04b1de5568cb304ce0580e6ab8eeec4710de790f1b1ad5d4a639edde4f", - "0x0000000000000000000000000000000000000000000000000000000000000015", - "0x77af867b6e3b0e74a9018b1c77bd53872b27efad54112c28842b2f1e5189e574", - "0x9bb893fa1a507608baf0a9815ca3a3027da955fc51216d22ed45872e65c3c877", - "0x0a0d2cd566d48651c1f5740383bce2f14da524b2194a15466b05b808a1f32625", - "0x721d156034111f0721f007ad559531bdd7aac8c48eef80acc0e1635303137f8e", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0fd7608bfe83736683badd3eaa8ff986715ab1933db4ea96202966b9310be4c2", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0x000000000000000000000000000000000000000000000000000000000000000d" + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0xbd905c113f622d270236582d8eda6ab943026058ff1b59e7ea8fb4784ecf9b7c" + ], + "storage_written": { + "0x1d932848b910a42ee1f9e478f1e558294dfeffd20a664bb8cb4eaf31cc2045bc": "0x1", + "0xbd905c113f622d270236582d8eda6ab943026058ff1b59e7ea8fb4784ecf9b7c": "0x1d805649cdb98ba1a6bc2b3c833d10cc4c3cca7d" + }, + "code_usage": { + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" + } + }, + "0x1d805649cdb98ba1a6bc2b3c833d10cc4c3cca7d": { + "balance": "0x959bff00b03d4", + "nonce": "0x6" + }, + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } + }, + "0x0000000000000000000000000000000000000001": {}, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4f2470d06912" + }, + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { + "storage_read": [ + "0x9277a81dbe2b9d192102a94a51abfb994a8f1ab151556964e3a6ea9aba85c948", + "0x3a5d47ba780a7f5071ef81d42ca650dd20476b8e00c95925f21ba281a5b7391f", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0x36e52c04b1de5568cb304ce0580e6ab8eeec4710de790f1b1ad5d4a639edde4f": "0x17083c7674d1720e44f62e9f9435ccbe2f1bf5d90e3564a5a013301061574ce4", - "0x0000000000000000000000000000000000000000000000000000000000000006": "0xfffffffffffffffffffffffffffffffffffffffffffffffffed58b3f83960000", - "0x0a0d2cd566d48651c1f5740383bce2f14da524b2194a15466b05b808a1f32625": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffa3becef1ed49", - "0x0fd7608bfe83736683badd3eaa8ff986715ab1933db4ea96202966b9310be4c2": "0x1129804d7b0ece40e61ec099aa3e67a5f3ea7db17e9b7af566ac61c60f400", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x0", - "0x000000000000000000000000000000000000000000000000000000000000000d": "0x3", - "0x0000000000000000000000000000000000000000000000000000000000000007": "0x0", - "0x721d156034111f0721f007ad559531bdd7aac8c48eef80acc0e1635303137f8e": "0x0" + "0x3a5d47ba780a7f5071ef81d42ca650dd20476b8e00c95925f21ba281a5b7391f": "0x1", + "0x9277a81dbe2b9d192102a94a51abfb994a8f1ab151556964e3a6ea9aba85c948": "0x1" }, "code_usage": { - "read": "0x46ce2672c038b50afa02049bb38d1c9aac02b64aeba63f4d6e5f8529e485fa72" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662228811e377e3" - }, - "0x64944646d47f0e51f10a343a9dbe95b217acb0f1": { - "balance": "0x60edbfaeda066cc", - "nonce": "0x18" } }, "meta": { - "byte_code": "0x02f902f10117830e5b648508e40d99aa83042739943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf60330000000000000000000000000000000000000000000000000000000000000002080c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000319e841d3ab400000000000000000000000000000000000000000000000005b8a5e68773556800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000044face2e310e543f6d85867eb06fb251e3bfe1fc000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000005b8a5e687735568c080a0b956ac5f5ae3968692a146c1242bb2e715c1ea406336b6dad6c6174409774c5da052bec1cf49b9a3284dc942c81c95fb7421bcc427d3269c066e7fd604b627b741", - "new_txn_trie_node_byte": "0x02f902f10117830e5b648508e40d99aa83042739943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf60330000000000000000000000000000000000000000000000000000000000000002080c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000319e841d3ab400000000000000000000000000000000000000000000000005b8a5e68773556800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000044face2e310e543f6d85867eb06fb251e3bfe1fc000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000005b8a5e687735568c080a0b956ac5f5ae3968692a146c1242bb2e715c1ea406336b6dad6c6174409774c5da052bec1cf49b9a3284dc942c81c95fb7421bcc427d3269c066e7fd604b627b741", - "new_receipt_trie_node_byte": "0xb904dc02f904d8018401227478b9010000200000000000000000000080000000000000000000000040000000000000000000000000000040000000000000000002000000880000000000000000200000000000080000000000004008000000200000000000400800000000000020000000000000000000008000200000000000000000000000040000000830000000000000000000000000000402000000008000000000000000080000004008000000020000000000000000000000000000000040000000000000000000000200000000000002000000000000000000000000000000000000001000000002000000000010200000000000000000000000000000001000000000000000000000000000f903ccf89b9444face2e310e543f6d85867eb06fb251e3bfe1fcf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000064944646d47f0e51f10a343a9dbe95b217acb0f1a000000000000000000000000085b864e2371585df5368100a31b7761dc0b5946ea00000000000000000000000000000000000000000000000000000302170ca6eb4f89b9444face2e310e543f6d85867eb06fb251e3bfe1fcf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000064944646d47f0e51f10a343a9dbe95b217acb0f1a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffa3becef1ed49f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000085b864e2371585df5368100a31b7761dc0b5946ea00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000005c733f0d7fb4a0bf8799485b864e2371585df5368100a31b7761dc0b5946ee1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000001ff6abe4d6abdc000000000000000000000000000000000000000000000003d37fd4725b2ff283f8fc9485b864e2371585df5368100a31b7761dc0b5946ef863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8800000000000000000000000000000000000000000000000000000302170ca6eb40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c733f0d7fb4a0bf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000005c733f0d7fb4a0b", - "gas_used": 194323 + "byte_code": "0x02f902910105830ded21850182487e228303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e90510000000000000000000000000000000000000000000000000000000000029ca10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d370000000000029ca100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d38700000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041eb033625b95147e9022787bafcd246e620d2a2fa8352e50578b614a95140ca6155f0306f310cceda69df5e5c02bdbcfbf9fb8c47891ac6d45f7f2fa3bed9a6e61c00000000000000000000000000000000000000000000000000000000000000c001a01df0dd707cf70e7ed437fe3c55d9918d732cf905aec9c2ce75360727dc7416faa068768f2256647430c798052538447cc5e492637fbce630ab14e6e0a01d7dcf8b", + "new_txn_trie_node_byte": "0x02f902910105830ded21850182487e228303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e90510000000000000000000000000000000000000000000000000000000000029ca10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d370000000000029ca100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d38700000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041eb033625b95147e9022787bafcd246e620d2a2fa8352e50578b614a95140ca6155f0306f310cceda69df5e5c02bdbcfbf9fb8c47891ac6d45f7f2fa3bed9a6e61c00000000000000000000000000000000000000000000000000000000000000c001a01df0dd707cf70e7ed437fe3c55d9918d732cf905aec9c2ce75360727dc7416faa068768f2256647430c798052538447cc5e492637fbce630ab14e6e0a01d7dcf8b", + "new_receipt_trie_node_byte": "0xb902ce02f902ca0184015c62a4b9010000000000004000000000000000000000000000000000200000000000000002008000000000000000000000000000000000000000000000000000000000040000000000000000000000000008000000100000000000000000000000000000000000000000020000000000000001000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000080000100000000004000000040000000000000000000000001000000000000000000002008000001000000000002004000000000000000000000000000020000000000000000000000000000000000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001d805649cdb98ba1a6bc2b3c833d10cc4c3cca7da00000000000000000000000000000000000000000000000000000000000029ca180f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca00000000000000000000000001d805649cdb98ba1a6bc2b3c833d10cc4c3cca7da0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a00000000000000000000000000000000000000000000000000000000000029ca1b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662228cab9c5b03" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4f2e78beaf17" }, - "0x0696337c32a92aec60c6bb405dc2015bdb8dd04c": { - "balance": "0x37bed0b7d4d9a1", - "nonce": "0x56c" + "0x420698ebc9b7c225731c02d887d0729057339d39": { + "storage_written": { + "0x552e323aacb25a9e999dcad9f1fad1e701fb71060e9b73b652a4002c9a8c2ebe": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "code_usage": { + "read": "0x7ca452dc77deca82b2542a1683a14af6c5b6ec74307524c319c31a3094d38ece" + } }, - "0xa084210c09d356ab95a15b21bb9ce086d464d5c2": { - "balance": "0x146b6cc6cddc1178" + "0x656097d636e1ed2f344e849822e5b9039f4b6096": { + "balance": "0xe533fa739b42370", + "nonce": "0x10f" } }, "meta": { - "byte_code": "0x02f8740182056b830e5b64850ed1626dda82520894a084210c09d356ab95a15b21bb9ce086d464d5c28809b6e64a8ec6000080c001a032161329b4e1155862d47f7b5e02bebc86fdf393fa6456bf6325e1c7fe647582a003a8a510afb71645580e7c13a9de9c7dd8c36ab7f85a54dff5b33f04c087f5c6", - "new_txn_trie_node_byte": "0x02f8740182056b830e5b64850ed1626dda82520894a084210c09d356ab95a15b21bb9ce086d464d5c28809b6e64a8ec6000080c001a032161329b4e1155862d47f7b5e02bebc86fdf393fa6456bf6325e1c7fe647582a003a8a510afb71645580e7c13a9de9c7dd8c36ab7f85a54dff5b33f04c087f5c6", - "new_receipt_trie_node_byte": "0xb9010e02f9010a01840122c680b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f8b10182010e830ded21850182487e2282b9e594420698ebc9b7c225731c02d887d0729057339d3980b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a09344a2aa6cb29d0c7fa19ca723598fc062f681f586774ec87ef8b21d8c95eb62a04291d0fd0274e33d31ea963c940834691c0f87c7f9ce7569255e5c8d22770f6e", + "new_txn_trie_node_byte": "0x02f8b10182010e830ded21850182487e2282b9e594420698ebc9b7c225731c02d887d0729057339d3980b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a09344a2aa6cb29d0c7fa19ca723598fc062f681f586774ec87ef8b21d8c95eb62a04291d0fd0274e33d31ea963c940834691c0f87c7f9ce7569255e5c8d22770f6e", + "new_receipt_trie_node_byte": "0xb901ac02f901a80184015d1b09b9010000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000000000000000000000400000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000020000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000010800000000000000000000000000000000000000000000000000000000000f89df89b94420698ebc9b7c225731c02d887d0729057339d39f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000656097d636e1ed2f344e849822e5b9039f4b6096a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "gas_used": 47205 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662229145553e23" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4f380acab2c5" }, - "0xc0b635fb9dc28dea84db150b89d4578ff9859877": { - "balance": "0x13667e85e17ccb8", - "nonce": "0x14" + "0x882d3fcf7410e08a81b44005cb73137c6eb3816d": { + "balance": "0x31c268168f4ef7", + "nonce": "0xe4" }, - "0x6461b0b98f7c06777ebfa4df70bd4bd68786fe4c": { - "balance": "0x3c3fc04c5be18000" + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b81aa3fdc289ce64e2c", + "storage_read": [ + "0x282146b7a5e2104eb30da841e425f68e6267b9ae57c04c20b165b90cd5ae2d3a" + ], + "storage_written": { + "0x282146b7a5e2104eb30da841e425f68e6267b9ae57c04c20b165b90cd5ae2d3a": "0x9fdf42f6e480000" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } } }, "meta": { - "byte_code": "0x02f8720113830e5b648508e40d99aa825208946461b0b98f7c06777ebfa4df70bd4bd68786fe4c883c3fc04c5be1800080c001a06467b38ebe9472408bc780e72c9dcda9a90d2ebcf18c1d5a19c9adbc16216aa3a005a53e0df5cef33f1d62203e9df44aa9766dbb58d6c03c8d26e3d6f0566eb22b", - "new_txn_trie_node_byte": "0x02f8720113830e5b648508e40d99aa825208946461b0b98f7c06777ebfa4df70bd4bd68786fe4c883c3fc04c5be1800080c001a06467b38ebe9472408bc780e72c9dcda9a90d2ebcf18c1d5a19c9adbc16216aa3a005a53e0df5cef33f1d62203e9df44aa9766dbb58d6c03c8d26e3d6f0566eb22b", - "new_receipt_trie_node_byte": "0xb9010e02f9010a018401231888b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f8770181e3830ded21850182487e2282b16a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28809fdf42f6e48000084d0e30db0c001a0ea480502dd2789aa53bf53ad63407d9b4183db7bb2c61e88c90328b9484047a4a057577e76900d6574dc800da7830354fc90eb1631443e28ff2b3879bb6c89c1e4", + "new_txn_trie_node_byte": "0x02f8770181e3830ded21850182487e2282b16a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28809fdf42f6e48000084d0e30db0c001a0ea480502dd2789aa53bf53ad63407d9b4183db7bb2c61e88c90328b9484047a4a057577e76900d6574dc800da7830354fc90eb1631443e28ff2b3879bb6c89c1e4", + "new_receipt_trie_node_byte": "0xb9018b02f901870184015dcaf7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000200000000000000000000000000000000000000000400000000000000000f87cf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000882d3fcf7410e08a81b44005cb73137c6eb3816da000000000000000000000000000000000000000000000000009fdf42f6e480000", + "gas_used": 45038 } }, { "traces": { - "0xa6543f58f7d71696d1797291a66e537aecc1a1f0": { - "balance": "0x3beca008e0c677", - "nonce": "0xb" - }, - "0x000000000022d473030f116ddee9f6b43ac78ba3": { + "0xdef1c0ded9bec7f1a1670819833240f027b25eff": { "storage_read": [ - "0x02ce3a93c1908eee591e5f09630b34d20985fb396687b2f7743ee4761e4b981e" + "0xbd363f69bb80566cf18bbb1ca36cd281f706d0d2083579d8fd50c416d01a715e", + "0x4a432555e3fde060855a28d4d0b3bf599bbd04b75121e1e4d841e85fbc68da12" ], - "storage_written": { - "0x02ce3a93c1908eee591e5f09630b34d20985fb396687b2f7743ee4761e4b981e": "0x1000065f6eacbffffffffffffffffffffffffffffffffffffffff" - }, "code_usage": { - "read": "0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131" + "read": "0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e" } }, - "0x0000000000000000000000000000000000000001": {}, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae": { "storage_read": [ - "0x8b3bbb776fd8b87df3c6d88dfb2064fd276f56b7179966739481e8b69b58a21e", - "0x59433099f727c3800385199e0173e614f9ce08dbe771de54a7acb3749022f817" + "0xa65bb2f450488ab0858c00edc14abc5297769bf42adb48cfb77752890e8b697b", + "0xdc500e3cdba6a6f7a316a468b42cb7088a6077037a0518d0f55025b17bd9cef9", + "0xb8b74dddb08fe706ab9d64595277074a10b71c9a4fa0444dcc8334c0ea10d496", + "0xc3ebea92f49f5c3f3ade6ee6e9d1d7fe7ac014327f0cebe9110717158b1f7772" ], "storage_written": { - "0x59433099f727c3800385199e0173e614f9ce08dbe771de54a7acb3749022f817": "0x3c2e461c05ae24a8e", - "0x8b3bbb776fd8b87df3c6d88dfb2064fd276f56b7179966739481e8b69b58a21e": "0x4b02608d27eef4e96" + "0xa65bb2f450488ab0858c00edc14abc5297769bf42adb48cfb77752890e8b697b": "0x0" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x828f8a0694bfba25c80a406283f149d701cdc944acbbc18b57315cf157db9220" } }, - "0x605684b039b373568aeb4871356eefe0eb812ead": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008" - ], - "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000a": "0xc1ac8826fe4eeb603902fcaa51f05f890a024c4c", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1ebc7c1489bbd6e6b361d59a88c314", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000004b02608d27eef4e960000002689c6e542b194fcb0880d", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4f5f9e0e2003" + }, + "0x2b7d2c78bd801cc06ddcf91dee2e8fae22814f7e": { "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0x340d9e84a1acba7b7fc39ec079f203160b3ab47091c6d947aa2a05d6256688fb" } }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { + "0x1186a54003df7dca290de22475f1b369e4cd9a1f": { + "balance": "0x14e9735b8b4b9e4", + "nonce": "0x39" + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28b81a93118c2085366d9", "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" + "0x0e0e0fded81173bcf17491dc1353f39da4829dca2dacc1a5a3b8799a1a6795c8", + "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e": "0x6de97fa14a129", + "0x0e0e0fded81173bcf17491dc1353f39da4829dca2dacc1a5a3b8799a1a6795c8": "0x94878755a091d96b" }, "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x5dcd6272c3cbb250823f0b7e6c618bce11b21f90": { + "0xb7e746ff79cb76e2ec804698061aed9ca6c922ea": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x5b13f0c214f5296dda9f8b517e5d470803f71b9883d65f0751e4fbc4b4126a89", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x64312473fbf6a694769c115f79f1e42f83b80004fa187bfe0c09363cb5bf40f5", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x000000000000000000000000000000000000000000000000000000000000000e", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0xf03af6905c2bb1c70ca5b6a1ef0efc0e339b0caceccedce6e27e581c3087414e", - "0x14848ee8c1e39bd0629a1e5341cd5beb5f9ffdb94e84d29407da8fb83f49f287", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0xf4598cb27d316d4876d97242375e27e4a43cd60f7d40ce8e983db7ff05386ce1", - "0x66424c70c4a1b02b74a62a05ff5a49830b3f7ae493da5339e3b8156a584e8ab0", - "0x4c74b489d3d4864f009b2be75a905b0848421dc96385b87a6de8c0b4aece811a", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x0000000000000000000000000000000000000000000000000000000000000009" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x9b637a02e6f8cc8aa1e3935c0b27bde663b11428c7707039634076a3fb8a0c48", + "0x0000000000000000000000000000000000000000000000000000000000000008" ], "storage_written": { - "0x5b13f0c214f5296dda9f8b517e5d470803f71b9883d65f0751e4fbc4b4126a89": "0x2d30f3821b946ee981458", - "0x4c74b489d3d4864f009b2be75a905b0848421dc96385b87a6de8c0b4aece811a": "0xd1d381131f63b1e06a6", - "0x000000000000000000000000000000000000000000000000000000000000000f": "0xf97b08c168e8f547" + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x61dfbe31d3c124f44359c3663335d0817", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100000100010000fe9d81000000000000000002bd618acf919d82a2c9aabc", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x1000010ec0000000000001ae09e1d802c4510220bffff57678b1e506632d06b" }, "code_usage": { - "read": "0xca615779394774bdcb356154c1d2e0f0debe73fd25172d9a36e28fc18bed7920" + "read": "0x198b6710ff1f9b28b130d051b047704ae56ea1c95285024b19135611a650e182" } }, - "0xa3ad8c7ab6b731045b5b16e3fdf77975c71abe79": { + "0x8457ca5040ad67fdebbcc8edce889a335bc0fbfb": { "storage_read": [ - "0xb5bcae9c1367e28cc60be434e2659d3a945a19abe1446057396154c274f9be99", - "0xf03af6905c2bb1c70ca5b6a1ef0efc0e339b0caceccedce6e27e581c3087414e", - "0x66424c70c4a1b02b74a62a05ff5a49830b3f7ae493da5339e3b8156a584e8ab0", - "0x000000000000000000000000000000000000000000000000000000000000000e", - "0xc6d4308ea4f8abcd4718f82c2d1f8623f81bf58fd762a8a31edb6cca64a1cc97", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0xf6903f84fa236b74918f1a83eb9afece2256713227599d045e863e582ed1ec05", - "0xbf573beee444bed9919332cefd76861b7cc3809b54b265c9bd52a49fdc010bdf", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x82e940ee4557b6a77838d83a8fb39cc234f318422b7d742a67519aa82ac48317", - "0x288eef7fc2889e2a88695184de0f25370d191658aba80fdd878f2fb2ff3fb328", + "0xae17bbf963188b6957715152cc4bae457eb3c072314641cf5cbab38eff0307fa", + "0x28537bca978f6fc3442fa9923f9a1857a4dd8d86f24b5f636a3a6e074e586cb9", + "0xe835a678db26c527f07f56787c8d8ff42ddcf0f4f37b3d8c42afb4484c051be4", + "0x032c2ec6c720476d6a3a4b43ee2d28f5d43a38220490ae11fe8d2a913aedf73e", "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000011", - "0x4c74b489d3d4864f009b2be75a905b0848421dc96385b87a6de8c0b4aece811a", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x27ac21b10116ed414c74933965c7346148c06d4be1153292c8c04d5e130841b3", - "0x6646bc501b2abf05cd5ab3a803602c3f25119084290a779aae66f02dd4dd40b6", - "0x0000000000000000000000000000000000000000000000000000000000000007" + "0xb638c7b18d3771e258d1fe953e0aff12b05e49528c97b3113b1fbe68c84f4e1b" ], "storage_written": { - "0x288eef7fc2889e2a88695184de0f25370d191658aba80fdd878f2fb2ff3fb328": "0x1adda16091c93c450b6a", - "0x000000000000000000000000000000000000000000000000000000000000000e": "0x5", - "0xf6903f84fa236b74918f1a83eb9afece2256713227599d045e863e582ed1ec05": "0x2689c6e542b194fcb0880d", - "0x4c74b489d3d4864f009b2be75a905b0848421dc96385b87a6de8c0b4aece811a": "0x16779429988a4685674b", - "0x0000000000000000000000000000000000000000000000000000000000000012": "0x0", - "0x0000000000000000000000000000000000000000000000000000000000000011": "0x1adda16091c93c450b6a", - "0xbf573beee444bed9919332cefd76861b7cc3809b54b265c9bd52a49fdc010bdf": "0xffffffffffffffffffffffffffffffffffffffffffffb3c45c63a1beeeffffff" + "0xae17bbf963188b6957715152cc4bae457eb3c072314641cf5cbab38eff0307fa": "0x7e20ff268f9b4645a946", + "0x032c2ec6c720476d6a3a4b43ee2d28f5d43a38220490ae11fe8d2a913aedf73e": "0x0", + "0x28537bca978f6fc3442fa9923f9a1857a4dd8d86f24b5f636a3a6e074e586cb9": "0x0", + "0xe835a678db26c527f07f56787c8d8ff42ddcf0f4f37b3d8c42afb4484c051be4": "0x0" }, "code_usage": { - "read": "0xa2993fb9b30e32e87aafa17850e8ef4a6303586209237fb5f3d2afbfd45e3690" + "read": "0xee434270b2f269f5264266bc508378c5dc365b12883ff36b616bdba2b3dabe75" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966222d2280a0dcb" - }, - "0x7b8ac38aacd8ebca19b3d423bcbbd4c5815bab49": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a" - ], - "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x33bfaf6af2f6e8809ba1cf971457b8b9824780c", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de7000000000003c2e461c05ae24a8e00000002d30f3821b946ee981458", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x254a6675a0219d2db01678d10022e8c", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, + "0x0e992c001e375785846eeb9cd69411b53f30f24b": { "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + "read": "0x5908b6ce9a77484c886ffc5f0635b2eca3327bdc7cc0be118d346f86250745f6" } } }, "meta": { - "byte_code": "0x02f90430010a830e5b64850e9d8fb11483059e0c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf601b00000000000000000000000000000000000000000000000000000000000000020a080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000a3ad8c7ab6b731045b5b16e3fdf77975c71abe79000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065f6eacb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad0000000000000000000000000000000000000000000000000000000065cf64d300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000416e8137de96b956d3d5ef5a08eed6ebe9611008b1520dbb38eb5cd6b7ea422cdd0665a99955e4a2d7f7491772ea41d242790548ceda570707560cd7ce2d88365f1c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000004c3ba39c5e411100000000000000000000000000000000000000000000000000069fd4087a111591a28e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000a3ad8c7ab6b731045b5b16e3fdf77975c71abe79000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005dcd6272c3cbb250823f0b7e6c618bce11b21f90c080a0619f69e21e613048b44dbb909e475907ebcdf175c67f5a9d0a643cfc6b4e08db9f194ee6ef387c81266a21dd6ea161cc1e858b6d434c2579145fcf28492e79ab", - "new_txn_trie_node_byte": "0x02f90430010a830e5b64850e9d8fb11483059e0c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf601b00000000000000000000000000000000000000000000000000000000000000020a080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000a3ad8c7ab6b731045b5b16e3fdf77975c71abe79000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065f6eacb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad0000000000000000000000000000000000000000000000000000000065cf64d300000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000416e8137de96b956d3d5ef5a08eed6ebe9611008b1520dbb38eb5cd6b7ea422cdd0665a99955e4a2d7f7491772ea41d242790548ceda570707560cd7ce2d88365f1c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000004c3ba39c5e411100000000000000000000000000000000000000000000000000069fd4087a111591a28e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000a3ad8c7ab6b731045b5b16e3fdf77975c71abe79000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005dcd6272c3cbb250823f0b7e6c618bce11b21f90c080a0619f69e21e613048b44dbb909e475907ebcdf175c67f5a9d0a643cfc6b4e08db9f194ee6ef387c81266a21dd6ea161cc1e858b6d434c2579145fcf28492e79ab", - "new_receipt_trie_node_byte": "0xb9081202f9080e018401279d82b9010000210000000000000000100080000000000000000001000000000400000010000000002000000000000000000000000002012000880000000004000000280000100000180000000080004008000008200000000000000800000000000020000000000000000000040000100000000000000000004000000000000010000000000000004000000000000000000000020000000000000000080000004000000000020000000000000820040020000000000400000010000000000000000000000000000002200000000800000000000000000000000000001000000000800000000010220000000000000000000000000000001000000000000000000000000400f90702f8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca0000000000000000000000000a6543f58f7d71696d1797291a66e537aecc1a1f0a0000000000000000000000000a3ad8c7ab6b731045b5b16e3fdf77975c71abe79a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000065f6eacb0000000000000000000000000000000000000000000000000000000000000000f89b94a3ad8c7ab6b731045b5b16e3fdf77975c71abe79f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a6543f58f7d71696d1797291a66e537aecc1a1f0a0000000000000000000000000a3ad8c7ab6b731045b5b16e3fdf77975c71abe79a00000000000000000000000000000000000000000000003cfc82e37e9a7400000f89b94a3ad8c7ab6b731045b5b16e3fdf77975c71abe79f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a6543f58f7d71696d1797291a66e537aecc1a1f0a0000000000000000000000000605684b039b373568aeb4871356eefe0eb812eada000000000000000000000000000000000000000000000486bdb6e265769c00000f89b94a3ad8c7ab6b731045b5b16e3fdf77975c71abe79f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a6543f58f7d71696d1797291a66e537aecc1a1f0a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffb3c45c63a1beeefffffff89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000605684b039b373568aeb4871356eefe0eb812eada00000000000000000000000007b8ac38aacd8ebca19b3d423bcbbd4c5815bab49a000000000000000000000000000000000000000000000000008d9312a7e61b19bf87994605684b039b373568aeb4871356eefe0eb812eade1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000002689c6e542b194fcb0880d000000000000000000000000000000000000000000000004b02608d27eef4e96f8fc94605684b039b373568aeb4871356eefe0eb812eadf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000007b8ac38aacd8ebca19b3d423bcbbd4c5815bab49b88000000000000000000000000000000000000000000000486bdb6e265769c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008d9312a7e61b19bf89b945dcd6272c3cbb250823f0b7e6c618bce11b21f90f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007b8ac38aacd8ebca19b3d423bcbbd4c5815bab49a0000000000000000000000000a6543f58f7d71696d1797291a66e537aecc1a1f0a00000000000000000000000000000000000000000000006af9d46d3ec6a986e2df879947b8ac38aacd8ebca19b3d423bcbbd4c5815bab49e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000002d30f3821b946ee981458000000000000000000000000000000000000000000000003c2e461c05ae24a8ef8fc947b8ac38aacd8ebca19b3d423bcbbd4c5815bab49f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000a6543f58f7d71696d1797291a66e537aecc1a1f0b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008d9312a7e61b19b0000000000000000000000000000000000000000000006af9d46d3ec6a986e2d0000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 296186 - } - }, - { - "traces": { - "0x288b9358188a587dfcaa4b4a25b0543aa1132078": { - "balance": "0x561cc4728f27322", - "nonce": "0x1" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966222d6c1c2f0eb" - }, - "0x65c6ba5ce94292c3b0b2f5d971f53551c0348438": { - "balance": "0xe1234f30746677" - } - }, - "meta": { - "byte_code": "0x02f8710180830e5b64850e9d8fb1148252089465c6ba5ce94292c3b0b2f5d971f53551c0348438877cfd8d054b611680c001a0a6b2e9fd0a7ecc2b48a5ebb6dda10ca6d1ac4d11bad4ba6929d29146095b10e0a01647dfd9e3aa7f45e0f7d69c40f1a70e2f1ccde54b6e109486b85187f427fea4", - "new_txn_trie_node_byte": "0x02f8710180830e5b64850e9d8fb1148252089465c6ba5ce94292c3b0b2f5d971f53551c0348438877cfd8d054b611680c001a0a6b2e9fd0a7ecc2b48a5ebb6dda10ca6d1ac4d11bad4ba6929d29146095b10e0a01647dfd9e3aa7f45e0f7d69c40f1a70e2f1ccde54b6e109486b85187f427fea4", - "new_receipt_trie_node_byte": "0xb9010e02f9010a01840127ef8ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f904510138830ded2185012a05f2008304b93b941231deb6f5749ef6ce6943a275a1d3e7486f4eae80b903e44630a0d8de3d53afd2ff401ae85aae28554484513bfb4b117d1816e9d4570c0def30b51400000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000001186a54003df7dca290de22475f1b369e4cd9a1f000000000000000000000000000000000000000000000000010d68d2de122b390000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000f6a756d7065722e65786368616e67650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024287c0615218c000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000128803ba26d0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000024287c0615218c0000000000000000000000000000000000000000000000000000010d68d2de122b380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b8457ca5040ad67fdebbcc8edce889a335bc0fbfb000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000869584cd00000000000000000000000026c16b6926637cf5eb62c42991b4166add66ff9e00000000000000000000000000000000cd48dc6819790596c4b1dd577522ed14000000000000000000000000000000000000000000000000c080a020e1278f1f01c6ed0b5ba86c1f2080231b9e481f67bc4364a3efd280e45b4f56a04a4c4f0dea26c31b6c57e90fa7a233e5774891791933281856e4fc8ca757996d", + "new_txn_trie_node_byte": "0x02f904510138830ded2185012a05f2008304b93b941231deb6f5749ef6ce6943a275a1d3e7486f4eae80b903e44630a0d8de3d53afd2ff401ae85aae28554484513bfb4b117d1816e9d4570c0def30b51400000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000001186a54003df7dca290de22475f1b369e4cd9a1f000000000000000000000000000000000000000000000000010d68d2de122b390000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000f6a756d7065722e65786368616e67650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078303030303030303030303030303030303030303030303030303030303030303030303030303030300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024287c0615218c000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000128803ba26d0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000024287c0615218c0000000000000000000000000000000000000000000000000000010d68d2de122b380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b8457ca5040ad67fdebbcc8edce889a335bc0fbfb000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000869584cd00000000000000000000000026c16b6926637cf5eb62c42991b4166add66ff9e00000000000000000000000000000000cd48dc6819790596c4b1dd577522ed14000000000000000000000000000000000000000000000000c080a020e1278f1f01c6ed0b5ba86c1f2080231b9e481f67bc4364a3efd280e45b4f56a04a4c4f0dea26c31b6c57e90fa7a233e5774891791933281856e4fc8ca757996d", + "new_receipt_trie_node_byte": "0xb9077d02f9077901840160a275b9010000000040000010000000000000000000000000000000000000000000000000000000000000000000000004000002000002000000080020000000008000000080000000800000002800000008020000100005000000400000000000000000000004000000800000000000000000000040000000800000840002000010000800000000000000000000000000000000000000000000000000000000001000000018000000020000020000004000080000000400000000000000000000000020000000001002000000000000000000000000000000000000100000000002800000000000200000000000000000000000000000000000000000000000000000000000f9066df89b948457ca5040ad67fdebbcc8edce889a335bc0fbfbf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001186a54003df7dca290de22475f1b369e4cd9a1fa00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaea0000000000000000000000000000000000000000000000024287c0615218c0000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b7e746ff79cb76e2ec804698061aed9ca6c922eaa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000000000000000000000000000010ec3669492e753f89b948457ca5040ad67fdebbcc8edce889a335bc0fbfbf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaea0000000000000000000000000b7e746ff79cb76e2ec804698061aed9ca6c922eaa0000000000000000000000000000000000000000000000024287c0615218c0000f9011c94b7e746ff79cb76e2ec804698061aed9ca6c922eaf863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effb8a0000000000000000000000000000000000000000000000024287c0615218c0000fffffffffffffffffffffffffffffffffffffffffffffffffef13c996b6d18ad000000000000000000000000000000000000000002bd618acf919d82a2c9aabc0000000000000000000000000000000000000000000002839fde49e0d0b9484dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9d81f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000000000000000000000000000010ec3669492e753f90119941231deb6f5749ef6ce6943a275a1d3e7486f4eaee1a07bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b38b8e0de3d53afd2ff401ae85aae28554484513bfb4b117d1816e9d4570c0def30b514000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024287c0615218c0000000000000000000000000000000000000000000000000000010ec3669492e753000000000000000000000000000000000000000000000000000000006632d06bf901dc941231deb6f5749ef6ce6943a275a1d3e7486f4eaef842a038eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b99537a0de3d53afd2ff401ae85aae28554484513bfb4b117d1816e9d4570c0def30b514b9018000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000001186a54003df7dca290de22475f1b369e4cd9a1f0000000000000000000000008457ca5040ad67fdebbcc8edce889a335bc0fbfb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024287c0615218c0000000000000000000000000000000000000000000000000000010ec3669492e753000000000000000000000000000000000000000000000000000000000000000f6a756d7065722e65786368616e67650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30783030303030303030303030303030303030303030303030303030303030303030303030303030303000000000000000000000000000000000000000000000", + "gas_used": 186238 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966222e16528f50f" + "0x45035f781252cadb1e31a4c794d6f20e11f2e068": { + "balance": "0xd8d4ee34f73da8", + "nonce": "0x15" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x44087e105137a5095c008aab6a6530182821f2f0": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x8008828afae457070211ff3fb54aa72f24178b5d9c8ce566f77c658b431cd695" + "0xa2650bd516d00e8b00e0d5aa3aa2b7bace982af505d18edc29e134445b4e6fd7", + "0xa52bcdc771c6b830b8a9b63aed14c20985ec34fd75e53f87646afc033a6317d8", + "0x2e75c5c90a969579cd6b120d330ef0f35ae75a699ef119dfdb4ba9a49af203b4", + "0xaa7f33455d6879e3b654acd37f704c758d65ceeb3c5f2fa068bf7dbaef3088ac", + "0x596e78e98dbd16e0a0c34d007d8e261bacc0c9dab3c958e1e0bd3d35dd9ae943", + "0x34d569ce693a3fa2669f994839e95ac8f270af34cf923841dec7224b3f9fa1f4", + "0x3964bb2947e86534784af15f78d2ce88c8ece8a2738bb05061209f1c35d47bc7", + "0x9d7833c96e6f98ff9496cfd577fbd214ab59a85e9fa17a8bcff7d0fe90c0531a", + "0x9d7833c96e6f98ff9496cfd577fbd214ab59a85e9fa17a8bcff7d0fe90c0531b", + "0x3b4094c3282bdc349c55f404ec92ea88eb7c0412b24261f69a84bc6f1a499ace", + "0xaa7f33455d6879e3b654acd37f704c758d65ceeb3c5f2fa068bf7dbaef3088ad", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xa2650bd516d00e8b00e0d5aa3aa2b7bace982af505d18edc29e134445b4e6fd6", + "0x596e78e98dbd16e0a0c34d007d8e261bacc0c9dab3c958e1e0bd3d35dd9ae942" ], "storage_written": { - "0x8008828afae457070211ff3fb54aa72f24178b5d9c8ce566f77c658b431cd695": "0x54a75c75" + "0xaa7f33455d6879e3b654acd37f704c758d65ceeb3c5f2fa068bf7dbaef3088ad": "0xd8cbb882194a80000000000059092e046cc1bf6f2de00", + "0x596e78e98dbd16e0a0c34d007d8e261bacc0c9dab3c958e1e0bd3d35dd9ae942": "0x0", + "0x2e75c5c90a969579cd6b120d330ef0f35ae75a699ef119dfdb4ba9a49af203b4": "0xde0b6b3a7640000", + "0xa2650bd516d00e8b00e0d5aa3aa2b7bace982af505d18edc29e134445b4e6fd6": "0xde0b6b3a7640000", + "0x34d569ce693a3fa2669f994839e95ac8f270af34cf923841dec7224b3f9fa1f4": "0x0", + "0x9d7833c96e6f98ff9496cfd577fbd214ab59a85e9fa17a8bcff7d0fe90c0531b": "0x26a7419b230eb100000000000fc25ec43661a623f03100", + "0xa52bcdc771c6b830b8a9b63aed14c20985ec34fd75e53f87646afc033a6317d8": "0x14563645e0a9", + "0x596e78e98dbd16e0a0c34d007d8e261bacc0c9dab3c958e1e0bd3d35dd9ae943": "0x0", + "0xa2650bd516d00e8b00e0d5aa3aa2b7bace982af505d18edc29e134445b4e6fd7": "0x68975a2df5500000000000002b3a1db501721ea6f80" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x3aabb7fbbd9c602c60ed0a06da296eb35466ea1dce158361dd27e9cd156cc624" } }, - "0x0c8e39bcbec4993c5b6ea12f4e1678d643a59521": { - "balance": "0x1c1a1ee691599739", - "nonce": "0x16" + "0x1fad3ce1c1ab563441d58b79e49cb0ebc12c1bd5": { + "code_usage": { + "read": "0xbcade04ab4b4011c7dca2910d1e7d7bd48d5697d008c4991bed6187235da8baa" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4f7a55ed9de9" + }, + "0x4f30a9d41b80ecc5b94306ab4364951ae3170210": { + "storage_read": [ + "0xcc6721d81f1591f2126dcd1ca7c468d732af757a8c8cecf9fcc0afde96bdca96" + ], + "code_usage": { + "read": "0xbfbc0073d6bc18a46321732011d0ac25b64c114e033352a24ce6cf88bb3ae325" + } } }, "meta": { - "byte_code": "0x02f8ae0115830e5b6485095cd2e28882bf3494dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b300000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43640000000000000000000000000000000000000000000000000000000054a75c75c080a0845525e63985054a88be7d1246790c4567db5c926b3dd26fbd3d5909f913985e9fc64a4a788ae4e49e8eb399b0f4bfb58d38c057d6a2d2462d1d066e6ec19ff7", - "new_txn_trie_node_byte": "0x02f8ae0115830e5b6485095cd2e28882bf3494dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b300000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43640000000000000000000000000000000000000000000000000000000054a75c75c080a0845525e63985054a88be7d1246790c4567db5c926b3dd26fbd3d5909f913985e9fc64a4a788ae4e49e8eb399b0f4bfb58d38c057d6a2d2462d1d066e6ec19ff7", - "new_receipt_trie_node_byte": "0xb901ac02f901a801840128ad3bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000300000000000020000000000000000000000000000000000000800000200000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000100000000000000000000000000000000000000000100000020000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000000c8e39bcbec4993c5b6ea12f4e1678d643a59521a000000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f4364a00000000000000000000000000000000000000000000000000000000054a75c75", - "gas_used": 48561 + "byte_code": "0x02f901710114830ded2185016d73dabf8303bc4d9444087e105137a5095c008aab6a6530182821f2f080b90104698766ee000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dc07c575a0c512422dcab82ce9ed74db58be30c0000000000000000000000002dfaf9a5e4f293bceede49f2dba29aacdd88e0c400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000000c080a061a60fa065d2da47234438f09a62369db35cb58ed93cb4f6390a7c87712d4980a03ed46d2cb00c669f7bb5eb0609753c78f5f80d84bc7182fd407eb0480fa95413", + "new_txn_trie_node_byte": "0x02f901710114830ded2185016d73dabf8303bc4d9444087e105137a5095c008aab6a6530182821f2f080b90104698766ee000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007dc07c575a0c512422dcab82ce9ed74db58be30c0000000000000000000000002dfaf9a5e4f293bceede49f2dba29aacdd88e0c400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000000c080a061a60fa065d2da47234438f09a62369db35cb58ed93cb4f6390a7c87712d4980a03ed46d2cb00c669f7bb5eb0609753c78f5f80d84bc7182fd407eb0480fa95413", + "new_receipt_trie_node_byte": "0xb9040602f90402018401628d9bb9010000000000200000000000000000000000010400000000000000000000000040000001000000000000000000000000000000000000000000000000010000000000000000000000000000040100000000000000000000000000000000401000008000100000001000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000100000000000000100000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f902f6f89b9444087e105137a5095c008aab6a6530182821f2f0f842a0a512c82e73ec974de3c794a3ea6bbdfbad18531c1394ace9972f3f0166b67863a00000000000000000000000007dc07c575a0c512422dcab82ce9ed74db58be30cb8400000000000000000000000000000000000000000000fc25ec43661a623f031000000000000000000000000000000000000000000000000000026a7419b230eb1f8dc9444087e105137a5095c008aab6a6530182821f2f0f863a0c71e393f1527f71ce01b78ea87c9bd4fca84f1482359ce7ac9b73f358c61b1e1a000000000000000000000000045035f781252cadb1e31a4c794d6f20e11f2e068a00000000000000000000000007dc07c575a0c512422dcab82ce9ed74db58be30cb8600000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000002b3a1db501721ea6f800000000000000000000000000000000000000000000000000000068975a2df55f89b9444087e105137a5095c008aab6a6530182821f2f0f842a0a512c82e73ec974de3c794a3ea6bbdfbad18531c1394ace9972f3f0166b67863a00000000000000000000000002dfaf9a5e4f293bceede49f2dba29aacdd88e0c4b840000000000000000000000000000000000000000000059092e046cc1bf6f2de00000000000000000000000000000000000000000000000000000d8cbb882194a8f8dc9444087e105137a5095c008aab6a6530182821f2f0f863a0c71e393f1527f71ce01b78ea87c9bd4fca84f1482359ce7ac9b73f358c61b1e1a000000000000000000000000045035f781252cadb1e31a4c794d6f20e11f2e068a00000000000000000000000002dfaf9a5e4f293bceede49f2dba29aacdd88e0c4b860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 125734 } }, { "traces": { - "0xedae98af03634a2d0eb94141826e7c521c94939f": { - "balance": "0xee395397d04386", - "nonce": "0xb" + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } }, - "0xe07300c13d49b8560f51bb30b45c22ca7cd08af8": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { + "storage_read": [ + "0xb9f19771595035e9cafa6748f343f44c7b210fdff030a7bdcc4301a5fcef0869", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xdb5c8328d79e9db305814285f1a8725bcda7caaf8c462ec002d1af5e5c2558a4" + ], + "storage_written": { + "0xb9f19771595035e9cafa6748f343f44c7b210fdff030a7bdcc4301a5fcef0869": "0x1", + "0xdb5c8328d79e9db305814285f1a8725bcda7caaf8c462ec002d1af5e5c2558a4": "0x1" + }, "code_usage": { - "read": "0xc853a8ef2f5a40aede0b611cc5c6f589ba143a9b10ad5443f0b0a818d61dc1ac" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ + "0x4fb579287f04da391a3d36a588871db699e4eb6a4deaf267eb5e121062ae52d5", + "0xe1462828554eefc3b1c2cd5c805be1fa5dfeef17c1e65465c136118006a0993c", "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0d9788b1261d3ff48a3ec877f1e98b11fd33dac0b6ae5bc91b927512fc073cc0", - "0x00799c247f66cd418aa07ac08d844fc7326bbc5b087c2d24c81c3ebd2c965c6a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x513e3e116209adb6412b240bd8470864f36bb58bbd57ffae28c277b2fb1996a1", - "0x9a15b2fd0588093091b840e4d68b789971a3f84e91398eaf1c63e7cb3ec36593", - "0x8fe6c2b94cfeb65caef5a01fd4f3f9e4001d9f1261cad7bc858be81b37a2bb70", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x6c40d3e0e288e506b45396d70eabc62ea0d6bcd593fc16589b20040f01795780", - "0x60565529cf4252f477d96eaf58eef39017abfcc7bd60142f3d0fd4d2b99dd91a" + "0x000000000000000000000000000000000000000000000000000000000000000d" ], "storage_written": { - "0x8fe6c2b94cfeb65caef5a01fd4f3f9e4001d9f1261cad7bc858be81b37a2bb70": "0x2916e0", - "0x9a15b2fd0588093091b840e4d68b789971a3f84e91398eaf1c63e7cb3ec36593": "0x1cd98bd4ff", - "0x6c40d3e0e288e506b45396d70eabc62ea0d6bcd593fc16589b20040f01795780": "0x0", - "0x60565529cf4252f477d96eaf58eef39017abfcc7bd60142f3d0fd4d2b99dd91a": "0x0" + "0x4fb579287f04da391a3d36a588871db699e4eb6a4deaf267eb5e121062ae52d5": "0xb1f7096774f11cb31ae323c95d940382f3696319", + "0xe1462828554eefc3b1c2cd5c805be1fa5dfeef17c1e65465c136118006a0993c": "0x1" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x1966223161b596228" + "0xb1f7096774f11cb31ae323c95d940382f3696319": { + "balance": "0x2838caabe9ec8e", + "nonce": "0xb" + }, + "0x0000000000000000000000000000000000000001": {}, + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4f9cfe3908e0" }, - "0xa7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22a": { + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ - "0xf8d8af571bcf8331a05936e065bfc9134b6461ab3226d0f94b32b989e63dadf0", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000015", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0xaeb398aaef01950a3b20c728e1997bb95d411b0de44b9c8c5376cf18fee7cb8b", - "0xb64dca7c2c7c1042e75fbf9b93ca1120ef9e6feac25da501460cd6d486bb8882", - "0xd8f023ef571f4c023b56aad4efa6735cfb9b0d823767a0cec823d80982edadf5", - "0x7d4f62d7a1d233431639862c23098947a59fa9d610342acf75daa657c10f6cfa", - "0xf8d6e1552be1e8b38e47ebdfc2dc3d3a17782cf5647bb8549806e12f62f320fc", - "0x9144aee7f37b7f43b6b90b5f10849f7e24f0d10aec9ad49f57e3aa0eb644251f", - "0x0000000000000000000000000000000000000000000000000000000000000017", - "0xacabee26514bb791c4f3218b82e44269bbee7e9c7cb78209c6483d49ed0c8663", - "0x000000000000000000000000000000000000000000000000000000000000000b" + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c" ], "code_usage": { - "read": "0x13b2293637be8e1ae1dd8143ed3e02d9b5de340cc8bcf77756415e374233aaf3" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } - }, - "0x1111111254eeb25477b68fb85ed929f73a960582": { + } + }, + "meta": { + "byte_code": "0x02f90291010a830ded2185016d73dabf8303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051000000000000000000000000000000000000000000000000000000000004415f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000004415f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e500000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041166b01a15a8bada95e4ca3b82df28ef06331da47af267f201cd8781e67a73ea53d8dae875737c4231fcd1ab643dc154dfbc5e96917a7a3a9484eea10a7df64a81c00000000000000000000000000000000000000000000000000000000000000c001a01d9176840ec4c26c6798c7c958e1414a9ab81e9f7bd3fca48e256f6746e8d82ba0646dc55823251f3718d30454094100f83a1a77c40270a06374802ee08b3c5e65", + "new_txn_trie_node_byte": "0x02f90291010a830ded2185016d73dabf8303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051000000000000000000000000000000000000000000000000000000000004415f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000004415f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e500000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041166b01a15a8bada95e4ca3b82df28ef06331da47af267f201cd8781e67a73ea53d8dae875737c4231fcd1ab643dc154dfbc5e96917a7a3a9484eea10a7df64a81c00000000000000000000000000000000000000000000000000000000000000c001a01d9176840ec4c26c6798c7c958e1414a9ab81e9f7bd3fca48e256f6746e8d82ba0646dc55823251f3718d30454094100f83a1a77c40270a06374802ee08b3c5e65", + "new_receipt_trie_node_byte": "0xb902ce02f902ca018401650ab2b9010000000000000000000000000000000000000000000000200000000000000002008000000000000000000000000000000000100000000000000000000000000000000000000000000000000008000000140000000000000000000000000000000000000000020800000000000000000800000000000000000000000010000000000000000001000000000200000000000000000000000000000000000000000000080000000000000004000000000000000000000000000000001000000000000000000002008000001000000000002004000000000000000000000000000020000000000000000000000000000000000000000000100000000000000000002000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000b1f7096774f11cb31ae323c95d940382f3696319a0000000000000000000000000000000000000000000000000000000000004415f80f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000b1f7096774f11cb31ae323c95d940382f3696319a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a0000000000000000000000000000000000000000000000000000000000004415fb880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 + } + }, + { + "traces": { + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { "code_usage": { - "read": "0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e" + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" } }, - "0x3e88c9b0e3be6817973a6e629211e702d12c577f": { + "0x987b842235b0e73a80948296837de09f8eab1765": { + "storage_read": [ + "0x326959456e5d31a15a2fa45be4ce712b40c9d08349e8253c451861fe078ad623" + ], "code_usage": { - "read": "0xb270d1196cc64f337188675d524072547b47e1fc7ec03b163f9f34f820f7ab98" + "read": "0x092de3186970a9c5e417271f317b848fef0aae21344a66b4ce93d80b1ade97cc" } }, "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298694bbbb9ccff0f3eae", "storage_read": [ - "0xf33ce797865cd027b3caf1e056df20ee4b2b46c95313151d5d804b6ee553e182", - "0xc43de090e120c56163c78a79947fb033da57ecb0a8775adba22c13a3cf4abf83", - "0x1f4da68a772cec2ac668229d598dd82add8c7d683917a671df566d2be1b286d2" + "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a", + "0x5cfa01b9a733d8746bc28fdd3f8992b7dd3bb6d323fe96a760fbd1b87ca3a2bd", + "0x4d1d0bfdde32471f62bf4a6633048d3b682ec7ae41da6e2b1e923c2c57d19862" ], "storage_written": { - "0xf33ce797865cd027b3caf1e056df20ee4b2b46c95313151d5d804b6ee553e182": "0x143f25c8c0b03f6", - "0x1f4da68a772cec2ac668229d598dd82add8c7d683917a671df566d2be1b286d2": "0x25def1647bfdbd5a6", - "0xc43de090e120c56163c78a79947fb033da57ecb0a8775adba22c13a3cf4abf83": "0x39189e8014c5b" + "0x4d1d0bfdde32471f62bf4a6633048d3b682ec7ae41da6e2b1e923c2c57d19862": "0x89b3c4f16d9bb254d", + "0x5cfa01b9a733d8746bc28fdd3f8992b7dd3bb6d323fe96a760fbd1b87ca3a2bd": "0x0", + "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a": "0x4fc65a66e2067c6962b" }, "code_usage": { "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" } }, - "0x3c11f6265ddec22f4d049dde480615735f451646": { + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { "storage_read": [ + "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", "0x0000000000000000000000000000000000000000000000000000000000000001", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x1a1e6821cde7d0159c0d293177871e09677b4e42307c7db3ba94f8648a5a050f" + "0xc925e708f11a072ae955da858e7fb3e54203b97e734a1e02c163aad5e2a8e973", + "0x3aa9beb992ec1b3d935b986b675dbdf6491fd042af045529a85cad38b97ae0ad", + "0xde2897c64f0af56474cba6e3bb2d58b5c85a42ee6dff042546bc919c03512137", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0x5f5aaa817e76ded4c2113fb235606295bdf9ca08331b043a1ad4a93006ea64d5", + "0x4466d39a218300d206d878750f41f15c6bb0ac0ec0fea34454c623fa73161b93" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" + "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff": "0x3d5c957031bb", + "0x4466d39a218300d206d878750f41f15c6bb0ac0ec0fea34454c623fa73161b93": "0x0", + "0x5f5aaa817e76ded4c2113fb235606295bdf9ca08331b043a1ad4a93006ea64d5": "0x0", + "0xc925e708f11a072ae955da858e7fb3e54203b97e734a1e02c163aad5e2a8e973": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffdc151bcdb44", + "0x3aa9beb992ec1b3d935b986b675dbdf6491fd042af045529a85cad38b97ae0ad": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffff384178b" }, "code_usage": { - "read": "0x4c3ba1e562a8a3a9b4fb66264fc4fddb7d2555aeb7dcb88f67e4d331c776c6b8" + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" + } + }, + "0xa7f00a55324c13a880f60dee8a4a5447099e5e44": { + "code_usage": { + "read": "0x397edb83b4c7509ae2a6466c511647cda7d48527201b0eec37d45e61cd158270" } }, - "0x74c99f3f5331676f6aec2756e1f39b4fc029a83e": { + "0xe592427a0aece92de3edee1f18e0157c05861564": { + "code_usage": { + "read": "0xbb90113d2f9a5e9b7feb15a1d1fff06c1ee1575b3f9b1181778ffd0cf633e7ea" + } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d4feafbe426eb" + }, + "0x331d077518216c07c87f4f18ba64cd384c411f84": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006" + "0xc6f3cb954b0fef80ee9250a1ad09f5f51bbae86b183668ed9e2131b4e82561ce", + "0x8a565f196a65e3a6205d0fa43a9a46e3bb6a250ab3364e43a120b76b2e2c3fab", + "0xc6f3cb954b0fef80ee9250a1ad09f5f51bbae86b183668ed9e2131b4e82561cd", + "0x4bf5233fa746335730d134b6ce62c97a0d55a252b33aa87f39152613e96d216b", + "0xac8c9cba804659dd6bbb7210a93ab9a15e0f6c72392fccb2d0ef9f33536a6207", + "0x8e5c415c147dadfa96e197677c4b7be45b9a34f93cd1f57d57b78492601b1ecc", + "0xd09112ccf2319da0db32088f5fd4161232eab9de5abc98c6eb18cb31a71c5f5a", + "0x079813ee67982be0420f0b2b11491a7c0f645786ea80f06e3cda7236ad495325", + "0x1778a3a803de426f3010eae9f9b727c315e73cdd50b2e887a1f27965c080ec21", + "0x8e5c415c147dadfa96e197677c4b7be45b9a34f93cd1f57d57b78492601b1ecb", + "0x44dcf8bbb084c00a5caa8dc58bc84b404798978b1f97fbb99b5cd1e46b8e28f4", + "0xa39c424e7c664cc0a42adff6eb74090f86d023177ca051d95ebaad7d5dea20f7" ], "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x388a9191831423cca7f88b0d4ac4", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x102e7917ef60e016ce95bf47a059f47cf48f5f55c0d", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf5de70000000000000000001cd98bd4ff0000000000025def1647bfdbd5a6" + "0xd09112ccf2319da0db32088f5fd4161232eab9de5abc98c6eb18cb31a71c5f5a": "0x125ac5ea0e84", + "0x1778a3a803de426f3010eae9f9b727c315e73cdd50b2e887a1f27965c080ec21": "0x0", + "0x8a565f196a65e3a6205d0fa43a9a46e3bb6a250ab3364e43a120b76b2e2c3fab": "0x25d309d1c" }, "code_usage": { - "read": "0x7eb38a112ba6d7614d58b369913cb45d181c2879b1d55f22da50134627d5c3f3" + "read": "0x378e9a30a45c1b5d76b93666e82968e22082d58cfd39925f5faafd2f7583ee2e" } }, - "0x9deb29c9a4c7a88a3c0257393b7f3335338d9a9d": { + "0x69460570c93f9de5e2edbc3052bf10125f0ca22d": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000003" + "0xefc624e0b3f911c7d364102162834ffc3be59d8d8bf2ba289694d8a1e5eccb06", + "0x4fe94118b1030ac5f570795d403ee5116fd91b8f0b5d11f2487377c2b0ab2559", + "0x8f996f24765a82ca31b5b3bf98bef253ad52b878a018b40a9ab925dd13c3103e", + "0x3a328073fcd1c9a6dee7a0fc27f45edb76b4c2b2a0f80dc808420ecb9e6e9577" ], + "storage_written": { + "0x4fe94118b1030ac5f570795d403ee5116fd91b8f0b5d11f2487377c2b0ab2559": "0x0" + }, "code_usage": { - "read": "0x8a167d5a7c0ebbe12308960359da937c9fd51d2fca17195d31ab75c9bd28df10" + "read": "0x97ecec7bfe54bb5a650beac83cb16083cf3d2c2bef19a42ec25e759baab6a6ff" } - } - }, - "meta": { - "byte_code": "0x02f90231010a830ded21850956943c0583068c8c943c11f6265ddec22f4d049dde480615735f45164680b901c4049639fb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000f6aa230000000000000000000000000000000000000000000000000013fa1abfe5f91800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c80502b1c5000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000f6aa230000000000000000000000000000000000000000000000000013fa1abfe5f9170000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000180000000000000003b6d034074c99f3f5331676f6aec2756e1f39b4fc029a83e0bd34b36000000000000000000000000000000000000000000000000c001a05265ab25a34bce2c5157e83c1da50203d8c666d42f79cad803671e52cdd41b74a0478b45035faa614376acf0fac262f0ca4ce2ef84f7b58dffa7b2d60be8118393", - "new_txn_trie_node_byte": "0x02f90231010a830ded21850956943c0583068c8c943c11f6265ddec22f4d049dde480615735f45164680b901c4049639fb0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000f6aa230000000000000000000000000000000000000000000000000013fa1abfe5f91800000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000c80502b1c5000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000f6aa230000000000000000000000000000000000000000000000000013fa1abfe5f9170000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000180000000000000003b6d034074c99f3f5331676f6aec2756e1f39b4fc029a83e0bd34b36000000000000000000000000000000000000000000000000c001a05265ab25a34bce2c5157e83c1da50203d8c666d42f79cad803671e52cdd41b74a0478b45035faa614376acf0fac262f0ca4ce2ef84f7b58dffa7b2d60be8118393", - "new_receipt_trie_node_byte": "0xb90bc502f90bc10184012c7634b90100002000000000010000000000800000000000000004000100000800000000000000400000000000000000a0020000010002000000080000200010000000200000000000000000080000000008000000a00000000000600000000000000000420008000000000008000000000000080000000004200000440000000010000000000000000000104180000000400000000000000000000000080000004000120000020000000100001020000080008004000000040000000000002000200000006000020002800000000000000000380000000000028000001000000002000000000114200000000020000400000000000000000000000800000000000000000000f90ab5f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000edae98af03634a2d0eb94141826e7c521c94939fa0000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22aa00000000000000000000000000000000000000000000000000000000000f6aa23f8dc94a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22af863a042bd73ea702d7cf4505c06a7ac02a171536177d9cc2c7665443151ec91cc43fca0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7a0000000000000000000000000edae98af03634a2d0eb94141826e7c521c94939fb8600000000000000000000000000000000000000000000000000000000000f6aa2300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22aa00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000000000000000000000000000000000000000000000f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22aa00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000000000000000000000000000000000000000f6aa23f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22aa000000000000000000000000074c99f3f5331676f6aec2756e1f39b4fc029a83ea00000000000000000000000000000000000000000000000000000000000f6aa23f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074c99f3f5331676f6aec2756e1f39b4fc029a83ea0000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22aa000000000000000000000000000000000000000000000000000142dd7fc0000c4f8799474c99f3f5331676f6aec2756e1f39b4fc029a83ee1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000025def1647bfdbd5a60000000000000000000000000000000000000000000000000000001cd98bd4fff8fc9474c99f3f5331676f6aec2756e1f39b4fc029a83ef863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22ab88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6aa2300000000000000000000000000000000000000000000000000142dd7fc0000c40000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22aa0000000000000000000000000eb4af8a64070ef0dea6260e0bf2310748f014d88a000000000000000000000000000000000000000000000000000002429311fbe78f9023e94a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22af884a0fc431937278b84c6fa5b23bcc58f673c647fea974d3656e766b22d8c1412e544a00000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7a0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2b901a00000000000000000000000000000000000000000000000000000000000f6aa23000000000000000000000000000000000000000000000000001409aecae0424c0000000000000000000000000000000000000000000000000013fa1abfe5f91800000000000000000000000000000000000000000000000000002429311fbe7800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000c80502b1c5000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000f6aa230000000000000000000000000000000000000000000000000013fa1abfe5f9170000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000180000000000000003b6d034074c99f3f5331676f6aec2756e1f39b4fc029a83e0bd34b36000000000000000000000000000000000000000000000000f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22aa0000000000000000000000000000000000000000000000000001409aecae0424cf8b994a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22ae1a0b4d99315c288c112a1d49da08c3fa85f78e2c83392f63f0a8964418f96aa24edb880000000000000000000000000000000000000000000000000001409aecae0424c000000000000000000000000000000000000000000000000001409aecae0424c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000f8fc94a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22af863a033be7eabd8ed368ca1aa14ce2ad1e90a0c9bf21edbb3820d5591546e4eb84157a0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea0000000000000000000000000edae98af03634a2d0eb94141826e7c521c94939fb880000000000000000000000000000000000000000000000000001409aecae0424c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000f838943c11f6265ddec22f4d049dde480615735f451646e1a068f46c45a243a0e9065a97649faf9a5afe1692f2679e650c2f853b9cd734cc0e80", - "gas_used": 248057 - } - }, - { - "traces": { - "0xda83436710c52f446cf9457b4bb42f434bf538f9": { - "balance": "0x87c90edc569de7", - "nonce": "0x37" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662231fe7a872e5" - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x8d342b9474033a8ed04ff1ab654c64cf5b71daa1": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x6e03ca5761a545bcb7441c8c90992b667c82df7793d25bd04da7b085d4c46966", - "0x7a2c9a798e2e4590f214598ac7cf4e4e49f208fe3cb7f3272d322b308514323a", "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xd55fac18f7dfd295ec622367dbdcac44d138c64890e6b0d8c4ad474b558d80cf", - "0x000000000000000000000000000000000000000000000000000000000000000a" + "0x0000000000000000000000000000000000000000000000000000000000000005" ], - "storage_written": { - "0x6e03ca5761a545bcb7441c8c90992b667c82df7793d25bd04da7b085d4c46966": "0xbd435beb9", - "0x7a2c9a798e2e4590f214598ac7cf4e4e49f208fe3cb7f3272d322b308514323a": "0x306a3515b" - }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x71e9511718231eff921ddf0cbcdbea97d6d14e22008e07ec5c1154d8ebf299ea" } - } - }, - "meta": { - "byte_code": "0x02f8b00136830ded2185086b842f5283010e2b94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000372dc110b4641274e94702bf3059410c2fb2437400000000000000000000000000000000000000000000000000000002540be400c001a088df134021b3b79abac97385566cf8a8aa29ad992de3907de8fb9273666000c0a00a584e337aa99c5b09bae996f25c6c8aa691d040556b07046c66d1ebfc42704d", - "new_txn_trie_node_byte": "0x02f8b00136830ded2185086b842f5283010e2b94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000372dc110b4641274e94702bf3059410c2fb2437400000000000000000000000000000000000000000000000000000002540be400c001a088df134021b3b79abac97385566cf8a8aa29ad992de3907de8fb9273666000c0a00a584e337aa99c5b09bae996f25c6c8aa691d040556b07046c66d1ebfc42704d", - "new_receipt_trie_node_byte": "0xb901ac02f901a80184012d2a51b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000080008000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000010000000000000000000000000000000000000000000800000000000000000000000100000000000000000000200000080000000000000000000000000000000000000000400000002000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000da83436710c52f446cf9457b4bb42f434bf538f9a0000000000000000000000000372dc110b4641274e94702bf3059410c2fb24374a000000000000000000000000000000000000000000000000000000002540be400", - "gas_used": 46109 - } - }, - { - "traces": { - "0xfb28bc84832da435f2cc146eb90becb05ac2d7c7": { - "balance": "0x9492e5140b91a", - "nonce": "0x1b" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x5bcaf54d7fc79cd4e4269e73b9aca3ec5f54093c": { + "code_usage": { + "read": "0xf1897135c8bc99338f7791da0648fc07920cc34d0f597ea0f55d6e7ff3f3e356" + } + }, + "0x226bb599a12c826476e3a771454697ea52e9e220": { "storage_read": [ - "0xc69279b6f8906f4c3a5f45edab1bd1fdb7c7a5677e641e9596716eb92db02e50", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xe49db8361048c31a875d8de3cffbece35afc9a1d39d6087224e5650e475f81aa", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x2cea51f4271bb9f0ecfb6f6def04b84e9fc864c9bceb40f98878ab1b2a69dc5e", "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x24a28f88abc6f38d534654880ab1c0eeb618f691a003d680bf60bf8f7da661eb" + "0xdc89f22c76c49b3654614594e91865cb667fdc947ad4c0f460df5403ebbc13e5", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], - "storage_written": { - "0xc69279b6f8906f4c3a5f45edab1bd1fdb7c7a5677e641e9596716eb92db02e50": "0x1cb9d4dc", - "0x24a28f88abc6f38d534654880ab1c0eeb618f691a003d680bf60bf8f7da661eb": "0x0" - }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0xb38227bee96354c57811e58dbcd879561da6cfad00d292bb880372dbd2405dc1" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662232c5114d12e" - } - }, - "meta": { - "byte_code": "0x02f8b0011a830ded218508dbd102018301725d94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000007d26e98614d2e0e8256cfb0197cefecf0632fbd6000000000000000000000000000000000000000000000000000000001cb9d4dcc001a003ae26e96bef32e50f407a05561d8710983f270350f1d3125734f4905c09cd51a0211cd2aca7e98fcfbb1984ef12c6ae02c9a37afd654443cb4ab396fff5c0971a", - "new_txn_trie_node_byte": "0x02f8b0011a830ded218508dbd102018301725d94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000007d26e98614d2e0e8256cfb0197cefecf0632fbd6000000000000000000000000000000000000000000000000000000001cb9d4dcc001a003ae26e96bef32e50f407a05561d8710983f270350f1d3125734f4905c09cd51a0211cd2aca7e98fcfbb1984ef12c6ae02c9a37afd654443cb4ab396fff5c0971a", - "new_receipt_trie_node_byte": "0xb901ac02f901a80184012e0e7ab9010000000000000000000400000000000000000000000000000000000000000002000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000800000000080000000000000000000000000000000000000000000000002000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000fb28bc84832da435f2cc146eb90becb05ac2d7c7a00000000000000000000000007d26e98614d2e0e8256cfb0197cefecf0632fbd6a0000000000000000000000000000000000000000000000000000000001cb9d4dc", - "gas_used": 58409 - } - }, - { - "traces": { - "0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0": { + "0x60bf91ac87fee5a78c28f7b67701fbcfa79c18ec": { "storage_read": [ - "0xf4f083e014b47337390e21cb8b10f811a8112432c3986ed0fd6af1b8f0ee1f87", - "0xe0afa78f9338120179c7fd84eba85671b831087a401b1c8ae9426a33a59da3a4", - "0x0000000000000000000000000000000000000000000000000000000000000004" + "0xc83b7d9358d2de689a62a17c24e3eafcf9e0cb921aac0a955387ff04af9e30b0", + "0x3016df89df83926c67f783b8095afd12329441d9af364f098d2433856bcc0fec" + ], + "code_usage": { + "read": "0x014a37256c29744cd13929c07af1cb7be367ce36975fd7f8e08c7c49238563b0" + } + }, + "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3" ], "storage_written": { - "0xf4f083e014b47337390e21cb8b10f811a8112432c3986ed0fd6af1b8f0ee1f87": "0xbc61de2472f170000", - "0xe0afa78f9338120179c7fd84eba85671b831087a401b1c8ae9426a33a59da3a4": "0x1bc16d674ec80000" + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10002d302d3016002ff1800000000000047bf6c36a82481afd8581aa92da3", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x8e4bb3da05a235476f4f50e41a3b" }, "code_usage": { - "read": "0x8b0a83a4cd51e97515c5898d296297d96c5377467369ec0ff432948c3ae995f2" + "read": "0xa981b66c747a3d9fa29d7e200d5faaa2826960523d0e5a0df8148e8868c480b4" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196622337cadfe6a2" - }, - "0xc3a78e96014549b34c3496855cea3f0c71e896a0": { - "balance": "0x103498a71908978b", - "nonce": "0x50" - } - }, - "meta": { - "byte_code": "0x02f8b0014f830ded2185086b842f5283013c6e947d1afa7b718fb893db30a3abc0cfc608aacfebb080b844a9059cbb0000000000000000000000006a3c66dab739a77db1f0c2ea3c73de6a50d682da0000000000000000000000000000000000000000000000001bc16d674ec80000c001a074a4536e07b3d9724e6b79ea9cd39eae0f4f7db48b38115f24e3544423824ad8a01458135ab32f76444a75db1c66d00a5d116bce49a09f56a89b475d8456a91fbc", - "new_txn_trie_node_byte": "0x02f8b0014f830ded2185086b842f5283013c6e947d1afa7b718fb893db30a3abc0cfc608aacfebb080b844a9059cbb0000000000000000000000006a3c66dab739a77db1f0c2ea3c73de6a50d682da0000000000000000000000000000000000000000000000001bc16d674ec80000c001a074a4536e07b3d9724e6b79ea9cd39eae0f4f7db48b38115f24e3544423824ad8a01458135ab32f76444a75db1c66d00a5d116bce49a09f56a89b475d8456a91fbc", - "new_receipt_trie_node_byte": "0xb901ac02f901a80184012ee16eb9010000000000000000000000000008000200000000000000000000000000000000000000000000000000000004000000000000000020000000000200000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000010000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000002000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b947d1afa7b718fb893db30a3abc0cfc608aacfebb0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c3a78e96014549b34c3496855cea3f0c71e896a0a00000000000000000000000006a3c66dab739a77db1f0c2ea3c73de6a50d682daa00000000000000000000000000000000000000000000000001bc16d674ec80000", - "gas_used": 54004 - } - }, - { - "traces": { - "0x9f2d25028a28d8f0fc0125fae86972888b6b5e5a": { - "balance": "0x992f12661474978210" - }, - "0xd37bbe5744d730a1d98d8dc97c42f0ca46ad7146": { + "0xc7cf089fb4bc91f1981df2285ca019ab09a5dd3b": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000002" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0x75f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d2", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x0000000000000000000000000000000000000000000000000000000000000010" ], "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x1" + "0x0000000000000000000000000000000000000000000000000000000000000010": "0x100000000000001ba7224d7147c5b3cde7dd5d1c3000494596bf4806632d06b", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x100005000500008026fd70000000000000b77fa00ff902d95807a78947132", + "0x0000000000000000000000000000000000000000000000000000000000000002": "0x3e956e495f33661bb63ebe14895db0198bc" }, "code_usage": { - "read": "0x7f7ad48242b36385bc30ce3e3be2347d6954dd2e0fe872e05be8383db74768cc" + "read": "0x9f7702e6d991a88762f6bb57e852901b810ca139e13fe09e7d9b509d2b73c9b7" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662234022c39ee1" - }, - "0xd64c2d729c469d204b7677b7a18cc5aad98db619": { - "balance": "0xa93cb063dfe836", - "nonce": "0x1" + "0xb2c5d060416aa4b7009898162f87ae06de68088f": { + "balance": "0x1bab5781cc2665", + "nonce": "0x6" } }, "meta": { - "byte_code": "0x02f901790180830ded218509be97b74a8301afa694d37bbe5744d730a1d98d8dc97c42f0ca46ad7146880ce08e5a2195fa00b9010444bc937b0000000000000000000000009f2d25028a28d8f0fc0125fae86972888b6b5e5a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce08e5a2195fa0000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf614600000000000000000000000000000000000000000000000000000000000000403d3a4254432e4254433a62633171336a6433736377373766756e6e777870766e6775796c7335716b6679333567736538376b67733a302f312f303a74693a3730c001a0ef767181342b53c23e0dab637f5a181aebcbdb8e561ae1f97fbdf264d4923312a01050065e5eaa89545a87c0eb5afc73673fc351726ce5071de95992d70e12a848", - "new_txn_trie_node_byte": "0x02f901790180830ded218509be97b74a8301afa694d37bbe5744d730a1d98d8dc97c42f0ca46ad7146880ce08e5a2195fa00b9010444bc937b0000000000000000000000009f2d25028a28d8f0fc0125fae86972888b6b5e5a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ce08e5a2195fa0000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf614600000000000000000000000000000000000000000000000000000000000000403d3a4254432e4254433a62633171336a6433736377373766756e6e777870766e6775796c7335716b6679333567736538376b67733a302f312f303a74693a3730c001a0ef767181342b53c23e0dab637f5a181aebcbdb8e561ae1f97fbdf264d4923312a01050065e5eaa89545a87c0eb5afc73673fc351726ce5071de95992d70e12a848", - "new_receipt_trie_node_byte": "0xb9022f02f9022b0184012f7acdb9010000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000800001000000000000000004800000000000008000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000400000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000f9011ff9011c94d37bbe5744d730a1d98d8dc97c42f0ca46ad7146f863a0ef519b7eb82aaf6ac376a6df2d793843ebfd593de5f1a0601d3cc6ab49ebb395a00000000000000000000000009f2d25028a28d8f0fc0125fae86972888b6b5e5aa00000000000000000000000000000000000000000000000000000000000000000b8a00000000000000000000000000000000000000000000000000ce08e5a2195fa00000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000403d3a4254432e4254433a62633171336a6433736377373766756e6e777870766e6775796c7335716b6679333567736538376b67733a302f312f303a74693a3730", - "gas_used": 39263 + "byte_code": "0x02f905500105830ded21850144da4e90830a835d9469460570c93f9de5e2edbc3052bf10125f0ca22d80b904e4b17d0e6e00000000000000000000000000000000099da32ca9b84dc888f96ac62a4b8bbd000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000226bb599a12c826476e3a771454697ea52e9e220000000000000000000000000000000000000000000000000000000000c7be874000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ded7ee20000000000000000000000000000000000000000000000000000000000000032b00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2c5d060416aa4b7009898162f87ae06de68088f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000226bb599a12c826476e3a771454697ea52e9e2200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c7be87400000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001e4ac9650d80000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22d0000000000000000000000000000000000000000000000000000018f367f7567000000000000000000000000000000000000000000000000000000000c7be87400000000000000000000000000000000000000000000000000000001ded7ee200000000000000000000000000000000000000000000000000000000000000042a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710226bb599a12c826476e3a771454697ea52e9e2200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0809f7a7d327cfac339ccf1cdbaa78c1b575d4304b908f615ee5b8c278ebd028c2ca06b7ef77555b559b9c48001b52641706c6c32a000595b03813543f3cbc929d011", + "new_txn_trie_node_byte": "0x02f905500105830ded21850144da4e90830a835d9469460570c93f9de5e2edbc3052bf10125f0ca22d80b904e4b17d0e6e00000000000000000000000000000000099da32ca9b84dc888f96ac62a4b8bbd000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000226bb599a12c826476e3a771454697ea52e9e220000000000000000000000000000000000000000000000000000000000c7be874000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ded7ee20000000000000000000000000000000000000000000000000000000000000032b00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b2c5d060416aa4b7009898162f87ae06de68088f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000226bb599a12c826476e3a771454697ea52e9e2200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c7be87400000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001e4ac9650d80000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000144c04b8d59000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22d0000000000000000000000000000000000000000000000000000018f367f7567000000000000000000000000000000000000000000000000000000000c7be87400000000000000000000000000000000000000000000000000000001ded7ee200000000000000000000000000000000000000000000000000000000000000042a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480001f4c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710226bb599a12c826476e3a771454697ea52e9e2200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0809f7a7d327cfac339ccf1cdbaa78c1b575d4304b908f615ee5b8c278ebd028c2ca06b7ef77555b559b9c48001b52641706c6c32a000595b03813543f3cbc929d011", + "new_receipt_trie_node_byte": "0xb90c7302f90c6f0184016aa45db9010000000002011000000002000000000000000000008000000000000100040000000400001000000000000008000000000002000000080020000040000000200000000000001000001808000008000000002000000000200000000000000000000000000008000000000000100000001002000000000800000000000010000800000020000000220000000200000000000020000000011000000000000000000000000000000000200002400000800000000000000800000000802000000008000080804002024000000000011000000000000000000000000400400020000004400400200000001000000010000000000004000000000000000000000000000000f90b63f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b2c5d060416aa4b7009898162f87ae06de68088fa000000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22da0000000000000000000000000000000000000000000000000000000000c7be874f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a0000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564a000000000000000000000000000000000000000000000000000fae859ed35b4c7f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22da000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a0000000000000000000000000000000000000000000000000000000000c7be874f9011c9488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564a0000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564b8a0000000000000000000000000000000000000000000000000000000000c7be874ffffffffffffffffffffffffffffffffffffffffffffffffff0517a612ca4b3900000000000000000000000000000000000047bf6c36a82481afd8581aa92da3000000000000000000000000000000000000000000000000711701ec67762ebe000000000000000000000000000000000000000000000000000000000002ff18f9011d9460bf91ac87fee5a78c28f7b67701fbcfa79c18ecf884a0940c4b3549ef0aaff95807dc27f62d88ca15532d1bf535d7d63800f40395d16ca0000000000000000000000000c7cf089fb4bc91f1981df2285ca019ab09a5dd3ba000000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22da050524f5059000000000000000000000000000000000000000000000000000000b88000000000000000000000000000000000000000000000000000000001e3ae65b4000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f89b94226bb599a12c826476e3a771454697ea52e9e220f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c7cf089fb4bc91f1981df2285ca019ab09a5dd3ba000000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22da000000000000000000000000000000000000000000000000000000001e3ae65b4f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564a0000000000000000000000000c7cf089fb4bc91f1981df2285ca019ab09a5dd3ba000000000000000000000000000000000000000000000000000fae859ed35b4c7f9011c94c7cf089fb4bc91f1981df2285ca019ab09a5dd3bf863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564a000000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22db8a0fffffffffffffffffffffffffffffffffffffffffffffffffffffffe1c519a4c00000000000000000000000000000000000000000000000000fae859ed35b4c70000000000000000000000000000000000000b77fa00ff902d95807a7894713200000000000000000000000000000000000000000000000000bc045383aa5d790000000000000000000000000000000000000000000000000000000000026fd7f9015a9469460570c93f9de5e2edbc3052bf10125f0ca22de1a02fc0d44e6ef6b3e7707cacd3cc326511198c3d1598c65dd54be5a9e37ce02f12b90120000000000000000000000000e592427a0aece92de3edee1f18e0157c058615640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000001e3ae65b4f9013c9469460570c93f9de5e2edbc3052bf10125f0ca22df863a0c9ca33b4e1816939874cee596ae23410b4f3b26f345e8a93d5779a213ed5ab87a000000000000000000000000000000000099da32ca9b84dc888f96ac62a4b8bbda0000000000000000000000000000000000000000000000000000000000000032bb8c0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000226bb599a12c826476e3a771454697ea52e9e220000000000000000000000000000000000000000000000000000000000c7be87400000000000000000000000000000000000000000000000000000001ded7ee2000000000000000000000000000000000000000000000000000000001e3ae65b4000000000000000000000000b2c5d060416aa4b7009898162f87ae06de68088ff8999469460570c93f9de5e2edbc3052bf10125f0ca22de1a0df4363408b2d9811d1e5c23efdb5bae0b7a68bd9de2de1cbae18a11be3e67ef5b860000000000000000000000000226bb599a12c826476e3a771454697ea52e9e22000000000000000000000000000000000000000000000000000000001e3ae65b4000000000000000000000000b2c5d060416aa4b7009898162f87ae06de68088ff9011d9460bf91ac87fee5a78c28f7b67701fbcfa79c18ecf884a0940c4b3549ef0aaff95807dc27f62d88ca15532d1bf535d7d63800f40395d16ca000000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22da0000000000000000000000000b2c5d060416aa4b7009898162f87ae06de68088fa050524f5059000000000000000000000000000000000000000000000000000000b88000000000000000000000000000000000000000000000000000000001e3ae65b4000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000f89b94226bb599a12c826476e3a771454697ea52e9e220f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000069460570c93f9de5e2edbc3052bf10125f0ca22da0000000000000000000000000b2c5d060416aa4b7009898162f87ae06de68088fa000000000000000000000000000000000000000000000000000000001e3ae65b4", + "gas_used": 367019 } }, { "traces": { - "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000005" + "0x7c5d2876275514d698938c5db7bb775a55fb26450b2ff53f18583c9fb390cf7d", + "0x44d306cde98d720d70237d3edd256267169051dd47fde7ea25dee24bfd8c200f", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0xc8ed46da54e4bf25bcc730f54fca29841ffdfc3ab45fcbe9813af1d11db95a4e": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "0x7c5d2876275514d698938c5db7bb775a55fb26450b2ff53f18583c9fb390cf7d": "0x1", + "0x44d306cde98d720d70237d3edd256267169051dd47fde7ea25dee24bfd8c200f": "0x1" }, "code_usage": { - "read": "0x131ff5c755b710d543ea70fede2eb38e5d15b1456df0ae932ba12e2786f7e5df" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } }, - "0xaf3e7e6f8ec4956b548c2f392db2f48fd921d1c4": { - "balance": "0x8a9d7e651af37", - "nonce": "0x4" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662234a7a480c7d" - } - }, - "meta": { - "byte_code": "0x02f8ae0103830ded218508dbd1020183011d2a942260fac5e5542a773aa44fbcfedf7c193bc2c59980b844095ea7b3000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0019e9871cfbfc3c2b6942d4b1d7d1bcc0dfd5de87bcb3fa943a52fa35af987d8a056a2ec9cc2f70bc3082d89711d62346800707d4dd3573a854c3e23a0f45d2ed5", - "new_txn_trie_node_byte": "0x02f8ae0103830ded218508dbd1020183011d2a942260fac5e5542a773aa44fbcfedf7c193bc2c59980b844095ea7b3000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0019e9871cfbfc3c2b6942d4b1d7d1bcc0dfd5de87bcb3fa943a52fa35af987d8a056a2ec9cc2f70bc3082d89711d62346800707d4dd3573a854c3e23a0f45d2ed5", - "new_receipt_trie_node_byte": "0xb901ac02f901a80184013038e9b9010000000000000000000000000000000000000000000020000000000000000000000000000000000000000000020000000000000000000000000000000000200000000000000000000000000000000000000000000000200000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000200000000000000000008000000000f89df89b942260fac5e5542a773aa44fbcfedf7c193bc2c599f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000af3e7e6f8ec4956b548c2f392db2f48fd921d1c4a0000000000000000000000000a7ca2c8673bcfa5a26d8ceec2887f2cc2b0db22aa0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", - "gas_used": 48668 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196622350ef97b235" - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298694bb49ecfb5823eae", + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0xa1d5d18d78bbc593b2ea9d1f9302775e671994dbd53d7b7105be4a9cebe61b0b" + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x51744b4799e98979dc570303940ee91394d815a213d6e8316613f00eeb832451", + "0xbf3c59d0aa04cb403dc44ea3c34778e2df9f6361a0a03ab3901f003aecea2954", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0xa1d5d18d78bbc593b2ea9d1f9302775e671994dbd53d7b7105be4a9cebe61b0b": "0x0" + "0xbf3c59d0aa04cb403dc44ea3c34778e2df9f6361a0a03ab3901f003aecea2954": "0x1", + "0x51744b4799e98979dc570303940ee91394d815a213d6e8316613f00eeb832451": "0x964ce0402049bab5a2bea557a14a44946a962b2d" }, "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0x37c4a8be3b59f7f4ea22daa742da2ad65c85daf5": { - "balance": "0x3a7b6f751a0034", - "nonce": "0x4" - } - }, - "meta": { - "byte_code": "0x02f88e0103830ded2185087d4234d9828ca394c02aaa39b223fe8d0a0e5c4f27ead9083c756cc280a42e1a7d4d00000000000000000000000000000000000000000000000000071afd498d0000c001a0d2787f84622f3929c98ac7158d14c8ed2a00a57343d75acb98f2813cedeeee3da05bf084b5c6fedf0336bc6850e450211f9cb7eeabd1b84d3f20712f8e401fabcf", - "new_txn_trie_node_byte": "0x02f88e0103830ded2185087d4234d9828ca394c02aaa39b223fe8d0a0e5c4f27ead9083c756cc280a42e1a7d4d00000000000000000000000000000000000000000000000000071afd498d0000c001a0d2787f84622f3929c98ac7158d14c8ed2a00a57343d75acb98f2813cedeeee3da05bf084b5c6fedf0336bc6850e450211f9cb7eeabd1b84d3f20712f8e401fabcf", - "new_receipt_trie_node_byte": "0xb9018b02f9018701840130afa1b9010000000000000000000000400000000000000000000000000000000000000000000040000000000000000000000000000002000000080000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000200000000000000000000000000000000000000000000000000000000000f87cf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a000000000000000000000000037c4a8be3b59f7f4ea22daa742da2ad65c85daf5a000000000000000000000000000000000000000000000000000071afd498d0000", - "gas_used": 30392 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662235565fbad3d" - }, - "0x8c8d7c46219d9205f056f28fee5950ad564d7465": { - "balance": "0x59b4857666ced35b0", - "nonce": "0xcf2e2" - }, - "0xcd673f5490f8515e0d3765ccf310bfd44afa917c": { - "balance": "0x77f9a2d610a000" - } - }, - "meta": { - "byte_code": "0x02f87401830cf2e1830ded21850e260fb9ff82520894cd673f5490f8515e0d3765ccf310bfd44afa917c8777f9a2d610a00080c001a0e3946baaf7d8d25600538d64217d06546ad58eaf363c8daa9fe5046e5b5640d1a0203ad78daca2276e8476b9688d684dbffda4f397021419c2d3097cd69e337608", - "new_txn_trie_node_byte": "0x02f87401830cf2e1830ded21850e260fb9ff82520894cd673f5490f8515e0d3765ccf310bfd44afa917c8777f9a2d610a00080c001a0e3946baaf7d8d25600538d64217d06546ad58eaf363c8daa9fe5046e5b5640d1a0203ad78daca2276e8476b9688d684dbffda4f397021419c2d3097cd69e337608", - "new_receipt_trie_node_byte": "0xb9010e02f9010a0184013101a9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x0846ef51253e399d7258f97d1f1727dd45a2a0a3": { - "balance": "0x1fd5f7853419e", - "nonce": "0x2" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662235a3c8d542d" - }, - "0x86236e8e327ff9c956ad197def9df9bfada9ae38": { - "balance": "0xd529ae9e860000", + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { "code_usage": { - "read": "0x3228c3d5f8dc3056cb334dc7f650dbad23c68bce3e61ce922c07c7d80c403b31" + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" } - } - }, - "meta": { - "byte_code": "0x02f8750101830ded2185087d4234d98258f09486236e8e327ff9c956ad197def9df9bfada9ae388701c6bf5263400084b60d4288c001a001165baa100b97e611911c9a6cb24f1b8738ff80c5f27409cbbd60264d05de85a065ee11d88053f32b75bae6e4011ad5c4f05a2f167530df89a86fe526dd98f650", - "new_txn_trie_node_byte": "0x02f8750101830ded2185087d4234d98258f09486236e8e327ff9c956ad197def9df9bfada9ae388701c6bf5263400084b60d4288c001a001165baa100b97e611911c9a6cb24f1b8738ff80c5f27409cbbd60264d05de85a065ee11d88053f32b75bae6e4011ad5c4f05a2f167530df89a86fe526dd98f650", - "new_receipt_trie_node_byte": "0xb9018c02f90188018401315a99b9010000000000000000004000000000000000000100000002000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000020000000000000000000000000000000400000000000000000008000000000000000000000000000020000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000f87df87b9486236e8e327ff9c956ad197def9df9bfada9ae38f863a05af8184bef8e4b45eb9f6ed7734d04da38ced226495548f46e0c8ff8d7d9a524a00000000000000000000000000846ef51253e399d7258f97d1f1727dd45a2a0a3a00000000000000000000000000000000000000000000000000001c6bf5263400080", - "gas_used": 22768 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662235eb2f14f35" - }, - "0x658e47d8b4be81d8a88500e1c570875a4ac22151": { - "balance": "0x1477f94b2789b30c", - "nonce": "0x1" - }, - "0xf01eb8ff3f5435e2af8acf2fa43f3c27075e01d1": { - "balance": "0x7775b943dd24b17" - } - }, - "meta": { - "byte_code": "0x02f8720180830ded2185087d4234d982520894f01eb8ff3f5435e2af8acf2fa43f3c27075e01d18802ef95d3d725814480c001a00ffc6e524a9fdd0b7691ee2c6584cce1ae8b296225e79f41d92e7a61301002bfa054405ce7526c08110a26874d3a74368757e116e40603c8d90826806d8bf57d1f", - "new_txn_trie_node_byte": "0x02f8720180830ded2185087d4234d982520894f01eb8ff3f5435e2af8acf2fa43f3c27075e01d18802ef95d3d725814480c001a00ffc6e524a9fdd0b7691ee2c6584cce1ae8b296225e79f41d92e7a61301002bfa054405ce7526c08110a26874d3a74368757e116e40603c8d90826806d8bf57d1f", - "new_receipt_trie_node_byte": "0xb9010e02f9010a01840131aca1b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662236329554a3d" }, - "0xcb107028ceb76eb0c3eccf4f2efd036b1ec33503": { - "balance": "0x22b1373c3b5000" + "0x964ce0402049bab5a2bea557a14a44946a962b2d": { + "balance": "0x2648b28eae28a6", + "nonce": "0x11" }, - "0xec6bddaf917bb3f605d275f7b9a2d3455e3635c4": { - "balance": "0x7eb415b0fe30", - "nonce": "0x6" - } - }, - "meta": { - "byte_code": "0x02f8710105830ded2185087d4234d982520894cb107028ceb76eb0c3eccf4f2efd036b1ec335038703328b944c400080c080a0c5658081546539f0dded9d075706ef051534c65102ec105daaafcf4eaadbe93ca0260cb2ff67bca0673f20277eccc4b3b287e7a8ee60ec5cde97b6294d6d93b665", - "new_txn_trie_node_byte": "0x02f8710105830ded2185087d4234d982520894cb107028ceb76eb0c3eccf4f2efd036b1ec335038703328b944c400080c080a0c5658081546539f0dded9d075706ef051534c65102ec105daaafcf4eaadbe93ca0260cb2ff67bca0673f20277eccc4b3b287e7a8ee60ec5cde97b6294d6d93b665", - "new_receipt_trie_node_byte": "0xb9010e02f9010a01840131fea9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196626ab6713dccd3" - }, - "0x974caa59e49682cda0ad2bbe82983419a2ecc400": { - "balance": "0x515890040461281fd0", - "nonce": "0x20269b" - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x443025b09bbeb064188f95744b9730ff447d64fef326c3d948823fc704611ab9", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x02109e648c764353db47b1d8894f1769d5b0e66c7caf2df343621702e7f66d88", - "0x4a21a067690608d17188eff2460677a392820acb10ad67cc21282438b146917c" + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" ], - "storage_written": { - "0x02109e648c764353db47b1d8894f1769d5b0e66c7caf2df343621702e7f66d88": "0x59e8b53c337", - "0x4a21a067690608d17188eff2460677a392820acb10ad67cc21282438b146917c": "0x82d203f" - }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } + }, + "0x0000000000000000000000000000000000000001": {}, + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d500c91c8f2dd" } }, "meta": { - "byte_code": "0xf8ad8320269a850768b94b7b8310059094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000004f4b572654edea2baba8125a98f04770e4fb108600000000000000000000000000000000000000000000000000000000082d203f25a0a51d73e6866d40ac8acf140e59a27c63102b6235806f4385240bfd1f921125b9a050f2ab6da48a343d20481e965555c7a07cea842e757697055ff765f11bb4952a", - "new_txn_trie_node_byte": "0xf8ad8320269a850768b94b7b8310059094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000004f4b572654edea2baba8125a98f04770e4fb108600000000000000000000000000000000000000000000000000000000082d203f25a0a51d73e6866d40ac8acf140e59a27c63102b6235806f4385240bfd1f921125b9a050f2ab6da48a343d20481e965555c7a07cea842e757697055ff765f11bb4952a", - "new_receipt_trie_node_byte": "0xf901a801840132f592b9010000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000010000000000410000000000000000100000000000000000000000000000000000000100000000000000000000000000080000000400000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000974caa59e49682cda0ad2bbe82983419a2ecc400a00000000000000000000000004f4b572654edea2baba8125a98f04770e4fb1086a000000000000000000000000000000000000000000000000000000000082d203f", - "gas_used": 63209 + "byte_code": "0x02f902910110830d7ede85011e25ea478303bba294aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051000000000000000000000000000000000000000000000000000000000004411f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000004411f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3d300000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000412b35351e5b2e485ab6b03fd36823a2dc7053f4b6365b422f42ad583c677aeca3589bd5ee86a415bd1fb83b92b86051327fe439e24e8889dea957dced5dcea3ed1c00000000000000000000000000000000000000000000000000000000000000c001a065e63aff3a5c892a3428c84f06ca539ec398e13c5ab0a0c38b31bf271f3ce629a0311721ef99955c4fd9a708f95a99ddd20e476f0fff5a0e3d877ada804a9b17b2", + "new_txn_trie_node_byte": "0x02f902910110830d7ede85011e25ea478303bba294aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051000000000000000000000000000000000000000000000000000000000004411f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000004411f00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3d300000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000000412b35351e5b2e485ab6b03fd36823a2dc7053f4b6365b422f42ad583c677aeca3589bd5ee86a415bd1fb83b92b86051327fe439e24e8889dea957dced5dcea3ed1c00000000000000000000000000000000000000000000000000000000000000c001a065e63aff3a5c892a3428c84f06ca539ec398e13c5ab0a0c38b31bf271f3ce629a0311721ef99955c4fd9a708f95a99ddd20e476f0fff5a0e3d877ada804a9b17b2", + "new_receipt_trie_node_byte": "0xb902ce02f902ca0184016d2174b9010000000000000000000000000000000000000000000000200000000000000002008000000000000000000000000000000000000000000000000000000000000040000001000000000000000008000000100000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000000400000000000000000000001000000000000000000402008000001000000000002004000000000002000000000000000020000000000000000000000000000000000000000000100000000000000200000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000964ce0402049bab5a2bea557a14a44946a962b2da0000000000000000000000000000000000000000000000000000000000004411f80f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000964ce0402049bab5a2bea557a14a44946a962b2da0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a0000000000000000000000000000000000000000000000000000000000004411fb880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x8008828afae457070211ff3fb54aa72f24178b5d9c8ce566f77c658b431cd695" + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f" ], "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196626b2fcc037df1" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d502e27adbecf" }, - "0x0c8e39bcbec4993c5b6ea12f4e1678d643a59521": { - "balance": "0x1c173d116fa9e2a0", - "nonce": "0x17" - } - }, - "meta": { - "byte_code": "0x02f8b0011684012bfe028509bcbb01f182e71c94dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b300000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43640000000000000000000000000000000000000000000000000000000054a75c75c080a0a9b2d7a4c5fab956a673aa0eca9101dc2a1402f30f88f436668d4b61d0f4dc48a0774e22bfce6d08cbd9b609ea90932019e257732dd86b1b7ae5b8fafe5f9d8fce", - "new_txn_trie_node_byte": "0x02f8b0011684012bfe028509bcbb01f182e71c94dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b300000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43640000000000000000000000000000000000000000000000000000000054a75c75c080a0a9b2d7a4c5fab956a673aa0eca9101dc2a1402f30f88f436668d4b61d0f4dc48a0774e22bfce6d08cbd9b609ea90932019e257732dd86b1b7ae5b8fafe5f9d8fce", - "new_receipt_trie_node_byte": "0xb9010e02f9010a808401335d21b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 26511 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196626c12a0eba25f" - }, - "0x0e05ac67bf2dfd9c877d893612265d2d77f66335": { - "balance": "0x211d1eac10a22ea", - "nonce": "0x213" - }, - "0x5133522ea5a0494ecb83f26311a095ddd7a9d4b6": { + "0x0000000000000000000000000000000000000001": {}, + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x5b0b9fedb57900d98c9a210c94e5b08a72760096aa3996739b79b5ada35f1845", + "0x59eebf48ca6a01d57fc55b9c902d0f82ef7729f27bc72bbacef4198827751782" + ], + "storage_written": { + "0x59eebf48ca6a01d57fc55b9c902d0f82ef7729f27bc72bbacef4198827751782": "0x1", + "0x5b0b9fedb57900d98c9a210c94e5b08a72760096aa3996739b79b5ada35f1845": "0x1" + }, "code_usage": { - "read": "0x97c86b3f6fac4e44d862bc80bfa532710b786e164e87a965beda2c5080bc79e8" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } }, - "0x877ab7aa50b8e42ad3c9fe562870e91489eea876": { + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0x817b9317926f425c53df2f649d02d6ec1bd1dd12": { + "balance": "0x20c81ae0ebc4ed", + "nonce": "0x1" + }, + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x37faa2769e40607d682578ded6f64c6c27ea46cf9165bf1ffdf8217fcdeb78c3" + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x97f40f1b36a76e53ea2deb4642885b17dbbabb4c0785a813b43dafb648482583", + "0xe1a24f3f2eae7997530d58cc5d8e860de5f22039791c13e4e09750f6434ece3a", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0x37faa2769e40607d682578ded6f64c6c27ea46cf9165bf1ffdf8217fcdeb78c3": "0x1" + "0xe1a24f3f2eae7997530d58cc5d8e860de5f22039791c13e4e09750f6434ece3a": "0x1", + "0x97f40f1b36a76e53ea2deb4642885b17dbbabb4c0785a813b43dafb648482583": "0x817b9317926f425c53df2f649d02d6ec1bd1dd12" }, "code_usage": { - "read": "0x8765781b31481be6f481dff3da4fe57bbe794bae8899a0cc26f6ff13950df646" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } - } - }, - "meta": { - "byte_code": "0x02f8b201820212840122fe118509dea717e982c91694877ab7aa50b8e42ad3c9fe562870e91489eea87680b844a22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000001c001a01756fb9d040ae16f8530bdf44cf582a9eb167f92be3dfe887da49cba139e1889a0646b865a68368e75ea0e75dd46a7ae4148bd45f9acac59ae8a547c5ceed58fd3", - "new_txn_trie_node_byte": "0x02f8b201820212840122fe118509dea717e982c91694877ab7aa50b8e42ad3c9fe562870e91489eea87680b844a22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000001c001a01756fb9d040ae16f8530bdf44cf582a9eb167f92be3dfe887da49cba139e1889a0646b865a68368e75ea0e75dd46a7ae4148bd45f9acac59ae8a547c5ceed58fd3", - "new_receipt_trie_node_byte": "0xb901ac02f901a80184013424afb9010000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000020000000000000000000020000000000000000000000000002000000000000000000000000000000000000001000000000000000080000000000000000000000000000000000000000000000000000000000000000000400000001000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200800000000000000000000000000000000000000000000000000000000f89df89b94877ab7aa50b8e42ad3c9fe562870e91489eea876f863a017307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31a00000000000000000000000000e05ac67bf2dfd9c877d893612265d2d77f66335a00000000000000000000000001e0049783f008a0085193e00003d00cd54003c71a00000000000000000000000000000000000000000000000000000000000000001", - "gas_used": 51086 - } - }, - { - "traces": { - "0x8c8d7c46219d9205f056f28fee5950ad564d7465": { - "balance": "0x598b830c7908d9c47", - "nonce": "0xcf2e3" }, - "0xe2fe52f9b076af5ff04b6ed774b24db7da904473": { - "balance": "0x28dde85e3eaca81" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196626c1746c8bc9f" - } - }, - "meta": { - "byte_code": "0x02f87501830cf2e2830e8148850e9d8fd6f882520894e2fe52f9b076af5ff04b6ed774b24db7da90447388028dde85e3eaca8180c001a03d594e0cb7a32c512520cdedab74c9aefea45e12d79b7928d04c984524794065a047d3277ac58072e0e00586b8c916d003da09b9489e06ced2ea34764be0662db8", - "new_txn_trie_node_byte": "0x02f87501830cf2e2830e8148850e9d8fd6f882520894e2fe52f9b076af5ff04b6ed774b24db7da90447388028dde85e3eaca8180c001a03d594e0cb7a32c512520cdedab74c9aefea45e12d79b7928d04c984524794065a047d3277ac58072e0e00586b8c916d003da09b9489e06ced2ea34764be0662db8", - "new_receipt_trie_node_byte": "0xb9010e02f9010a0184013476b7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x28230680be1fdf7e8498c20ad84d438d4093c8e8": { - "balance": "0x29058ee707ad699" - }, - "0x8c8d7c46219d9205f056f28fee5950ad564d7465": { - "balance": "0x59663bd0e0ed81e44", - "nonce": "0xcf2e4" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196626c1beca5d6df" - } - }, - "meta": { - "byte_code": "0x02f87501830cf2e3830e8148850e9d8fd6f88252089428230680be1fdf7e8498c20ad84d438d4093c8e88802522ba08940af1b80c001a0273216b252654a0d51c4fd1ef84faad1ddcf328e5aa93cf4f47cef5af5148913a02d1c3009e3e3ebe520bfeea882e52764ca4f10e2516b38f74f7ac7a0da0f9cc0", - "new_txn_trie_node_byte": "0x02f87501830cf2e3830e8148850e9d8fd6f88252089428230680be1fdf7e8498c20ad84d438d4093c8e88802522ba08940af1b80c001a0273216b252654a0d51c4fd1ef84faad1ddcf328e5aa93cf4f47cef5af5148913a02d1c3009e3e3ebe520bfeea882e52764ca4f10e2516b38f74f7ac7a0da0f9cc0", - "new_receipt_trie_node_byte": "0xb9010e02f9010a01840134c8bfb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x636b1afb45ce88d0bea85108aaff3173face0b3b": { - "balance": "0x3de29d923e0519" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196626c209282f11f" - }, - "0x8c8d7c46219d9205f056f28fee5950ad564d7465": { - "balance": "0x59623925784254a43", - "nonce": "0xcf2e5" + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } } }, "meta": { - "byte_code": "0x02f87401830cf2e4830e8148850e9d8fd6f882520894636b1afb45ce88d0bea85108aaff3173face0b3b873de29d923e051980c080a0d044969e80c56461752d74ad56b426dc2e8dad9bcfff84f1d4c891e97054cec4a028c949987d3d8fed91d8ff54ace6fd2228a6d821895e6adcb02f89d186104730", - "new_txn_trie_node_byte": "0x02f87401830cf2e4830e8148850e9d8fd6f882520894636b1afb45ce88d0bea85108aaff3173face0b3b873de29d923e051980c080a0d044969e80c56461752d74ad56b426dc2e8dad9bcfff84f1d4c891e97054cec4a028c949987d3d8fed91d8ff54ace6fd2228a6d821895e6adcb02f89d186104730", - "new_receipt_trie_node_byte": "0xb9010e02f9010a018401351ac7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f902910180830d7ede85011e25ea478303bba294aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000440fd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d3700000000000440fd00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d39c00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041ecde236fd84f21346eb68516fdec97515606e610e2716837deb772c5468c7ed0449e7a5a5f0947275b7957c032b4331b25f3e783f057a096b860f616ec95bab61c00000000000000000000000000000000000000000000000000000000000000c001a0f65a1abaa561a69ead2f5da9192ebf7848eb3edb7f8abc18b6ca68e78d948cf6a0724a1243a26ad5507764508da215d4398c5d9c70fc79378dee4ef89a7d51b2e9", + "new_txn_trie_node_byte": "0x02f902910180830d7ede85011e25ea478303bba294aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000440fd0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d3700000000000440fd00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d39c00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041ecde236fd84f21346eb68516fdec97515606e610e2716837deb772c5468c7ed0449e7a5a5f0947275b7957c032b4331b25f3e783f057a096b860f616ec95bab61c00000000000000000000000000000000000000000000000000000000000000c001a0f65a1abaa561a69ead2f5da9192ebf7848eb3edb7f8abc18b6ca68e78d948cf6a0724a1243a26ad5507764508da215d4398c5d9c70fc79378dee4ef89a7d51b2e9", + "new_receipt_trie_node_byte": "0xb902ce02f902ca0184016f9e8bb9010000000000000000000000000000000000000100000000200010000000000002008000000000000000000000000000000000000000000000000000000000100000000000000000000000000008000000100000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000004000000000000000000000000000000000000000000000080000000000000004000000000000000000000000000000001000000000040000000002008000001000000000002004000000000000000000000000000020000000000000000000000000000000000000000000101000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000817b9317926f425c53df2f649d02d6ec1bd1dd12a000000000000000000000000000000000000000000000000000000000000440fd80f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000817b9317926f425c53df2f649d02d6ec1bd1dd12a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a000000000000000000000000000000000000000000000000000000000000440fdb880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196626c2b4e1b575f" - }, - "0x8c8d7c46219d9205f056f28fee5950ad564d7465": { - "balance": "0x5961e9030a7a25b5e", - "nonce": "0xcf2e6" - }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x5b46822af98b0cc983fd22912d6165e9deda60576339e1f5d8bbd66f45fc1c22", + "0xed37b8fba75b66ca4744c2ede39ea2fb981622140514fb935295034d158177c5", "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x75a26b1f8850786d37bba38b0f06de5dc7d2c5c82025e3a1138b791decaf9685", - "0xc635f66ea5b949bf6c565df4866c4220141acdaff8d5ee9adb0a8c8486681678" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x052d3a13105829c5698dd27af61e0c243bc8f878ea355cebdb3e80d659dfb165" ], "storage_written": { - "0xc635f66ea5b949bf6c565df4866c4220141acdaff8d5ee9adb0a8c8486681678": "0xb84cc4e7", - "0x75a26b1f8850786d37bba38b0f06de5dc7d2c5c82025e3a1138b791decaf9685": "0x2bccf06d99" + "0x052d3a13105829c5698dd27af61e0c243bc8f878ea355cebdb3e80d659dfb165": "0xf6cac96feb9b0e38155fae0f7c7f5e9b822a88e5", + "0xed37b8fba75b66ca4744c2ede39ea2fb981622140514fb935295034d158177c5": "0x1" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } - } - }, - "meta": { - "byte_code": "0x02f8b201830cf2e5830f4240850ed16354b682fde894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000007bde065d00cd8f9bed0deba4be76819e4b345b1300000000000000000000000000000000000000000000000000000000256f2c97c001a020035224059806cf4ab9d5ccb148511885d179ef1b4a8555c8cd3c13545cabeda0513959225cb05afc76c9fd6d708f9519f960442171a9235caccf02022a509bfc", - "new_txn_trie_node_byte": "0x02f8b201830cf2e5830f4240850ed16354b682fde894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000007bde065d00cd8f9bed0deba4be76819e4b345b1300000000000000000000000000000000000000000000000000000000256f2c97c001a020035224059806cf4ab9d5ccb148511885d179ef1b4a8555c8cd3c13545cabeda0513959225cb05afc76c9fd6d708f9519f960442171a9235caccf02022a509bfc", - "new_receipt_trie_node_byte": "0xb901ac02f901a801840135ced8b9010000000000000000000000000000000000000000000000000440000000400000000000000000000000000000000000010000000000000000000000400000000000000000000000000000000008000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008c8d7c46219d9205f056f28fee5950ad564d7465a00000000000000000000000007bde065d00cd8f9bed0deba4be76819e4b345b13a000000000000000000000000000000000000000000000000000000000256f2c97", - "gas_used": 46097 - } - }, - { - "traces": { - "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + }, + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0xf6cac96feb9b0e38155fae0f7c7f5e9b822a88e5": { + "balance": "0x32f994f69560ed", + "nonce": "0x1" + }, + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { "code_usage": { - "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" } }, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "0x0000000000000000000000000000000000000001": {}, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d504fbd928ac1" + }, + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { "storage_read": [ - "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", - "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0xf44681571ddec7a61b19173091fe5695116de851b72e26704b9c0765af0929e7", - "0xcbbb3497f1a03c89760c87f5879399ca68ae97341324fb75a09008f1e23ec5c4" + "0xca9f4e11236557fa4be5628357c8bc89274404d68e4f5845cfbc32a4462efb7c", + "0x5c98b9b74ed4411c2152716460f2079b5a7c4231b0443bc22acf47775a150c21", + "0x0000000000000000000000000000000000000000000000000000000000000000" ], "storage_written": { - "0xcbbb3497f1a03c89760c87f5879399ca68ae97341324fb75a09008f1e23ec5c4": "0x1e0a6e00", - "0xf44681571ddec7a61b19173091fe5695116de851b72e26704b9c0765af0929e7": "0x523f76d342fc" + "0xca9f4e11236557fa4be5628357c8bc89274404d68e4f5845cfbc32a4462efb7c": "0x1", + "0x5c98b9b74ed4411c2152716460f2079b5a7c4231b0443bc22acf47775a150c21": "0x1" }, "code_usage": { - "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19662dd65c9f6775f" - }, - "0xdfd5293d8e347dfe59e90efd55b2956a1343963d": { - "balance": "0x2b62ac855e476d348c3", - "nonce": "0x7df824" - } - }, - "meta": { - "byte_code": "0x02f8b401837df82384773594008517bfac7c008303291894a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000aa49bb6ddf13df5b6477edc335be309a88c8166e000000000000000000000000000000000000000000000000000000001e0a6e00c080a011f79c223a319f339a61682ad6b64b5ce05104b1444798de3a0c18b02b821515a07910b6c616638548b877723fa7ac51f49624b4c2b3b2daf39a78b420339b37a2", - "new_txn_trie_node_byte": "0x02f8b401837df82384773594008517bfac7c008303291894a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000aa49bb6ddf13df5b6477edc335be309a88c8166e000000000000000000000000000000000000000000000000000000001e0a6e00c080a011f79c223a319f339a61682ad6b64b5ce05104b1444798de3a0c18b02b821515a07910b6c616638548b877723fa7ac51f49624b4c2b3b2daf39a78b420339b37a2", - "new_receipt_trie_node_byte": "0xb901ac02f901a801840136c200b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000002000000000000010000080000000000000000000000000080200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000020000008000000000000000000000000000000000000000000000000000000000000000000800000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000dfd5293d8e347dfe59e90efd55b2956a1343963da0000000000000000000000000aa49bb6ddf13df5b6477edc335be309a88c8166ea0000000000000000000000000000000000000000000000000000000001e0a6e00", - "gas_used": 62248 - } - }, - { - "traces": { - "0x28c6c06298d514db089934071355e5743bf21d60": { - "balance": "0x16ba432f2a3637638da5", - "nonce": "0x88d04c" - }, - "0x5b59745ae1ea00eb5d853543cf2e0288c9de733d": { - "balance": "0x62be93da8710d8" - }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x196630398ad0b175f" + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { + "storage_read": [ + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c", + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f" + ], + "code_usage": { + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" + } } }, "meta": { - "byte_code": "0x02f876018388d04b84773594008517bfac7c0083032918945b59745ae1ea00eb5d853543cf2e0288c9de733d876196001eb0c00080c080a002f7adcad690812d3096ca72605e968a23da15166acd4d7923b8a847208e33fba02732bfd98abb334031a4535eadf4c2322da9686b291014c57bfa8a982e63c2c5", - "new_txn_trie_node_byte": "0x02f876018388d04b84773594008517bfac7c0083032918945b59745ae1ea00eb5d853543cf2e0288c9de733d876196001eb0c00080c080a002f7adcad690812d3096ca72605e968a23da15166acd4d7923b8a847208e33fba02732bfd98abb334031a4535eadf4c2322da9686b291014c57bfa8a982e63c2c5", - "new_receipt_trie_node_byte": "0xb9010e02f9010a018401371408b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 + "byte_code": "0x02f902910180830d7ede85011e25ea478303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051000000000000000000000000000000000000000000000000000000000002b2920000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000002b29200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3cf00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041655f87e3fbf3eec6c03e911ef7d7603ef6a544f1bf745e1b3cf3f226ff324d401a86d652c6c02a658f41e0e8c97cf01375988010b30a6b41de28a0045881fbb51c00000000000000000000000000000000000000000000000000000000000000c001a0823829719c4eceb2b6ecb2fc0f42b52ad05bc3ae14398801cb12f146251ae904a00aa2902a1cffb6359815fc48ae42d8bfa43f634b31aa3187d43af99d0ec0628b", + "new_txn_trie_node_byte": "0x02f902910180830d7ede85011e25ea478303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051000000000000000000000000000000000000000000000000000000000002b2920000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000002b29200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3cf00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000041655f87e3fbf3eec6c03e911ef7d7603ef6a544f1bf745e1b3cf3f226ff324d401a86d652c6c02a658f41e0e8c97cf01375988010b30a6b41de28a0045881fbb51c00000000000000000000000000000000000000000000000000000000000000c001a0823829719c4eceb2b6ecb2fc0f42b52ad05bc3ae14398801cb12f146251ae904a00aa2902a1cffb6359815fc48ae42d8bfa43f634b31aa3187d43af99d0ec0628b", + "new_receipt_trie_node_byte": "0xb902ce02f902ca018401721ba2b9010000000000000000000000000000000000000000000000200000000000000002008000000000000000010000000000000000000000000000000000000100000000000000000000000000000008000000100000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000000000000000000000000000001000000000000000000002048000001000000000002004000000000000000000000000000020000000000000000000000000000000000008000000100000000800008000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000f6cac96feb9b0e38155fae0f7c7f5e9b822a88e5a0000000000000000000000000000000000000000000000000000000000002b29280f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca0000000000000000000000000f6cac96feb9b0e38155fae0f7c7f5e9b822a88e5a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a0000000000000000000000000000000000000000000000000000000000002b292b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19663618df1af8f5f" - }, - "0x28c6c06298d514db089934071355e5743bf21d60": { - "balance": "0x16ba43292f95d5f6fce7", - "nonce": "0x88d04d" + "0x0000000000000000000000000000000000000001": {}, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d5071537756b3" }, - "0xc944e90c64b2c07662a292be6244bdf05cda44a7": { + "0xaacfdf323b44d8b27319249ca3ee1b3aa05083b2": { "storage_read": [ - "0x78b35599871be95768b2fdfaf9293a4491ecdc8ef25b872ee404fa1e441436e0", - "0x9b711a00820ae34ade729f0cb7911ec1a353a96bb6780bf22628eff69dad9aa4" + "0xfea014c001c7b3525b22dca052066f62b2c60c0532042bd3210be224402367c3", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x1e04c93e5be2bafd5717eeb31806d6923875728c0058ddde45ae9204afbed39a" ], "storage_written": { - "0x9b711a00820ae34ade729f0cb7911ec1a353a96bb6780bf22628eff69dad9aa4": "0x25680d9538151bbc0000", - "0x78b35599871be95768b2fdfaf9293a4491ecdc8ef25b872ee404fa1e441436e0": "0x38f92e7accfca54e0d48a" + "0x1e04c93e5be2bafd5717eeb31806d6923875728c0058ddde45ae9204afbed39a": "0x1", + "0xfea014c001c7b3525b22dca052066f62b2c60c0532042bd3210be224402367c3": "0x1" }, "code_usage": { - "read": "0xb964f76194a04272e7582382a4d6bd6271bbb90deb5c1fd3ae3913504ea3a830" + "read": "0xe3ccbff148d4c8cb163736e5dad7dfcbca9675494066fed2a60489e745adbc51" } - } - }, - "meta": { - "byte_code": "0x02f8b4018388d04c84773594008517bfac7c008303291894c944e90c64b2c07662a292be6244bdf05cda44a780b844a9059cbb000000000000000000000000548f27e2c1eb0c90c9c0ef3a4a61a6ae60038f020000000000000000000000000000000000000000000025680d9538151bbc0000c080a0b564bcc3d407e06626a5d9f0deddfb171a9a436f7e1851c60a06dfaa9d8d4d87a0392c5a84dd681c86720a56a48a4ab674d805b7dcef4fde0a7753aa7aafc0d751", - "new_txn_trie_node_byte": "0x02f8b4018388d04c84773594008517bfac7c008303291894c944e90c64b2c07662a292be6244bdf05cda44a780b844a9059cbb000000000000000000000000548f27e2c1eb0c90c9c0ef3a4a61a6ae60038f020000000000000000000000000000000000000000000025680d9538151bbc0000c080a0b564bcc3d407e06626a5d9f0deddfb171a9a436f7e1851c60a06dfaa9d8d4d87a0392c5a84dd681c86720a56a48a4ab674d805b7dcef4fde0a7753aa7aafc0d751", - "new_receipt_trie_node_byte": "0xb901ac02f901a801840137ddceb9010000000000000000000000000000000200000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000100000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000010000040000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94c944e90c64b2c07662a292be6244bdf05cda44a7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000028c6c06298d514db089934071355e5743bf21d60a0000000000000000000000000548f27e2c1eb0c90c9c0ef3a4a61a6ae60038f02a00000000000000000000000000000000000000000000025680d9538151bbc0000", - "gas_used": 51654 - } - }, - { - "traces": { - "0x0d0707963952f2fba59dd06f2b425ace40b492fe": { - "balance": "0xd257c2f00a3dac93", - "nonce": "0x55fa63" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19663c01a1623575f" - }, - "0x943af2ece93118b973c95c2f698ee9d15002e604": { + "0x7127f0feaef8143241a5fac62ac5b7be02ef26a9": { "storage_read": [ - "0x7d45da954a24445a0127c32b6a9e045cb87ed492833d35a02e8b38e0c1419262", - "0x81f94b6964cd159b8aa334374ec2958fe5314942de8c7e74f55e179951ce06e2" + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x894946f80afaaeb4283e0f0c65044fdf19bb62c702d0c9c844323ef5d3dc121f", + "0x1e8fc4939e97e7524353d22ec9f2f7fbec77d5e280bef9093d29089cd6044dcd", + "0x04cc5a13f59cd5caa5ced6d07e193aac8889a7abf8d04734bf9c19649df8d24c" ], - "storage_written": { - "0x7d45da954a24445a0127c32b6a9e045cb87ed492833d35a02e8b38e0c1419262": "0x2703d454e0661e93c1e0aa", - "0x81f94b6964cd159b8aa334374ec2958fe5314942de8c7e74f55e179951ce06e2": "0x17b49780d5f19cd00000" - }, "code_usage": { - "read": "0x5120ab7aa1e15bf94988b32fe3e97399d65617f278fdf558d42f84e793d72c8c" + "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" } - } - }, - "meta": { - "byte_code": "0x02f8b4018355fa628477359400850f4889a676830f424094943af2ece93118b973c95c2f698ee9d15002e60480b844a9059cbb00000000000000000000000081f9918c9b1efbbe13ce01a8c4585d303ff490740000000000000000000000000000000000000000000017b49780d5f19cd00000c080a0c08cf905fdd6f2616af3cbe0723190db4765255c66a6be9e554a610a26f40d21a06702b1ba603bf9113b0dc97a6a7d8d5396c0eac9e4e3299b90456b528e3d51a1", - "new_txn_trie_node_byte": "0x02f8b4018355fa628477359400850f4889a676830f424094943af2ece93118b973c95c2f698ee9d15002e60480b844a9059cbb00000000000000000000000081f9918c9b1efbbe13ce01a8c4585d303ff490740000000000000000000000000000000000000000000017b49780d5f19cd00000c080a0c08cf905fdd6f2616af3cbe0723190db4765255c66a6be9e554a610a26f40d21a06702b1ba603bf9113b0dc97a6a7d8d5396c0eac9e4e3299b90456b528e3d51a1", - "new_receipt_trie_node_byte": "0xb901ac02f901a801840138a8d8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000020000000000080010000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000080000000000000000000000000000002000000000000000000000040100000000000000000000000000000000040000000000000000000000000000000000000080000000000000000000000f89df89b94943af2ece93118b973c95c2f698ee9d15002e604f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000d0707963952f2fba59dd06f2b425ace40b492fea000000000000000000000000081f9918c9b1efbbe13ce01a8c4585d303ff49074a00000000000000000000000000000000000000000000017b49780d5f19cd00000", - "gas_used": 51978 - } - }, - { - "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19663c085713e63df" }, - "0xdac17f958d2ee523a2206206994597c13d831ec7": { + "0xfea6f9fc76bc180ebbbfff0abdf739ad7df67ff8": {}, + "0x42994ae02530c8183335481ef907c8379e7fe807": { + "balance": "0x23a7357da44ed", + "nonce": "0x1" + }, + "0xb7e548c4f133adbb910914d7529d5cb00c2e9051": { "storage_read": [ - "0x3af846ec55f7e28d9da4a2e210e4c91d17ff846c1560f737c9740a917ea53418", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xc4aa187e2e67cdf031fded184a986b393461cdd3d596d30063dc6630dd04cb46", "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x06a9ec0d739d01a628acbd26c60ac9f86cca9fc11138021be1329dde183cea25" + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0xb6e116f37cc1a6a6b4f4a49682359d4bb9589e1e62e4c5c9e7dede085b515ac4", + "0x40a6eab60706fdd2dfd0e679c6f1b0354d7f46e7888e6db4c0b23a8e92e9da2a" ], "storage_written": { - "0x06a9ec0d739d01a628acbd26c60ac9f86cca9fc11138021be1329dde183cea25": "0xa776fe5453", - "0x3af846ec55f7e28d9da4a2e210e4c91d17ff846c1560f737c9740a917ea53418": "0x14f46b0400" + "0x40a6eab60706fdd2dfd0e679c6f1b0354d7f46e7888e6db4c0b23a8e92e9da2a": "0x1", + "0xb6e116f37cc1a6a6b4f4a49682359d4bb9589e1e62e4c5c9e7dede085b515ac4": "0x42994ae02530c8183335481ef907c8379e7fe807" }, "code_usage": { - "read": "0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55" + "read": "0x149c3b9e2d7ab9a8a0ff83fb7a269c02609669df35f876697da38b492dc48734" } }, - "0x788529118f2a28c60b9de2ba0353f5ee4293e044": { - "balance": "0x399d966a9c7ca1905", - "nonce": "0x8cfb" + "0x9cbf164420286357b268674f6bf0fa29800d59ae": { + "code_usage": { + "read": "0x786c04e22df653cbdbecaada6dbb821aad84618329d19542583cb4f5d9933826" + } } }, "meta": { - "byte_code": "0x02f8b201828cfa8398968085165a0bc000830249f094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000059a170652e713297391ff32790702ce27b7a249f00000000000000000000000000000000000000000000000000000006fc23ac00c001a0bb0b1370a082b92471f17001e119b02f9ee3d48ca025bffb1ae481076654e12ca01494f7314151d2a24faa8d2a09dbd6d06f58edbd0d865159e5a96cf0a7123616", - "new_txn_trie_node_byte": "0x02f8b201828cfa8398968085165a0bc000830249f094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000059a170652e713297391ff32790702ce27b7a249f00000000000000000000000000000000000000000000000000000006fc23ac00c001a0bb0b1370a082b92471f17001e119b02f9ee3d48ca025bffb1ae481076654e12ca01494f7314151d2a24faa8d2a09dbd6d06f58edbd0d865159e5a96cf0a7123616", - "new_receipt_trie_node_byte": "0xb901ac02f901a8018401395cf5b9010000200008000000080000000000000000000000008000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000200002000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000788529118f2a28c60b9de2ba0353f5ee4293e044a000000000000000000000000059a170652e713297391ff32790702ce27b7a249fa000000000000000000000000000000000000000000000000000000006fc23ac00", - "gas_used": 46109 + "byte_code": "0x02f902910180830d7ede85011e25ea478303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000192680000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001926800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e400000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000004104d87a44021621d0bdb0ed426a439d4385704f94a11e68b6f1aa6c866f743710385e68fcde912bdb3ca1dd960986c851ad38a84fccfe1a6764826cf88a38095f1c00000000000000000000000000000000000000000000000000000000000000c080a063b0d1e8771d1f15947f8fb680a47d8933c4960b7f25db0b6868aa5fa5ce481fa03f942f8845b1c8c82e9f6e2f782777318fe079b62b0f6da67604cc5044b8259e", + "new_txn_trie_node_byte": "0x02f902910180830d7ede85011e25ea478303ca0f94aacfdf323b44d8b27319249ca3ee1b3aa05083b280b90224ac5288ad0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e905100000000000000000000000000000000000000000000000000000000000192680000000000000000000000000000000000000000000000000000000000000001000000000000000000000000660539a1ab24c281538a4d37000000000001926800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8000000000000000000000000000000000000000000000000000000006632d3e400000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000004104d87a44021621d0bdb0ed426a439d4385704f94a11e68b6f1aa6c866f743710385e68fcde912bdb3ca1dd960986c851ad38a84fccfe1a6764826cf88a38095f1c00000000000000000000000000000000000000000000000000000000000000c080a063b0d1e8771d1f15947f8fb680a47d8933c4960b7f25db0b6868aa5fa5ce481fa03f942f8845b1c8c82e9f6e2f782777318fe079b62b0f6da67604cc5044b8259e", + "new_receipt_trie_node_byte": "0xb902ce02f902ca0184017498b9b9010000000000000000000000000000000000000000000000200000000000000006008000000000000000000000000040000000000000000000000000000000000000000000000000000000000008000000100000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000004000000000000000000000000000000001000000000000000000082008000001000000000002004000000000010000000000000000020000000000000000000000008000800000000000000100000000000000000000000f901bef89c94b7e548c4f133adbb910914d7529d5cb00c2e9051f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000042994ae02530c8183335481ef907c8379e7fe807a0000000000000000000000000000000000000000000000000000000000001926880f9011d94aacfdf323b44d8b27319249ca3ee1b3aa05083b2f884a09458eeddaedbaa3c544375f79a44d8ce0bd00529626bc2af7b2fffbf5dcf0c3ca000000000000000000000000042994ae02530c8183335481ef907c8379e7fe807a0000000000000000000000000b7e548c4f133adbb910914d7529d5cb00c2e9051a00000000000000000000000000000000000000000000000000000000000019268b880000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fea6f9fc76bc180ebbbfff0abdf739ad7df67ff8", + "gas_used": 163095 } }, { "traces": { - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": { - "balance": "0x19663c4f464da60df" + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "code_usage": { + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + } }, - "0x0414e2ba5b5c7d72510d4990d91b0e7495f2534f": { - "balance": "0x11711244772cfc0", - "nonce": "0x9" + "0x1cd1a12e6dc1b257f0ee5eac774f132c9f340a07": { + "balance": "0x411bc304315eb0", + "nonce": "0x7" }, - "0x77777feddddffc19ff86db637967013e6c6a116c": { + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x537c6a58c908877114e9ef3b10a9549624b178bcdca4ddb20f7c0bb2b504798a", - "0xe9badfb12e456cb82012fb898d7a5bce24af0a8ea3450d5f96e8dfc9ebb54baf" + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x7bf828acb36c1702669f0cf7d01122090767c4889b142d54bed32971ea66eeba", + "0xa1db73cdf47f2084a99a5a100d829feffa5fa4c9b0582bbe4c30754fac6c8c27", + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b" ], "storage_written": { - "0x537c6a58c908877114e9ef3b10a9549624b178bcdca4ddb20f7c0bb2b504798a": "0x363c5989528e3deb46", - "0xe9badfb12e456cb82012fb898d7a5bce24af0a8ea3450d5f96e8dfc9ebb54baf": "0x6d499ec6c633800000" + "0x7bf828acb36c1702669f0cf7d01122090767c4889b142d54bed32971ea66eeba": "0x0", + "0xa1db73cdf47f2084a99a5a100d829feffa5fa4c9b0582bbe4c30754fac6c8c27": "0x147d35700" }, "code_usage": { - "read": "0x7bb3883a4af95ea24983177dbcb682a021f389b77835ed266bfa30bda271c77b" + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" } + }, + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x718d5079e66113cf" } }, "meta": { - "byte_code": "0x02f8b0010884055d4a80850821a9cdc682e8ba9477777feddddffc19ff86db637967013e6c6a116c80b844a9059cbb0000000000000000000000000c059cb08bf8f314c11f12d49183696b1471147900000000000000000000000000000000000000000000006d499ec6c633800000c001a0c28c806b77375b4f9ea4d6a4291b1e58cf1148886950b2d4341dcb788d69bb3fa01ed972d06e871e8bddea9ec2ad70ea3ba77b7688d2229fccc9985a2ed937b41b", - "new_txn_trie_node_byte": "0x02f8b0010884055d4a80850821a9cdc682e8ba9477777feddddffc19ff86db637967013e6c6a116c80b844a9059cbb0000000000000000000000000c059cb08bf8f314c11f12d49183696b1471147900000000000000000000000000000000000000000000006d499ec6c633800000c001a0c28c806b77375b4f9ea4d6a4291b1e58cf1148886950b2d4341dcb788d69bb3fa01ed972d06e871e8bddea9ec2ad70ea3ba77b7688d2229fccc9985a2ed937b41b", - "new_receipt_trie_node_byte": "0xb901ac02f901a80184013a3087b9010000000000040000000000000000000000000000000000000020000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000200f89df89b9477777feddddffc19ff86db637967013e6c6a116cf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000414e2ba5b5c7d72510d4990d91b0e7495f2534fa00000000000000000000000000c059cb08bf8f314c11f12d49183696b14711479a000000000000000000000000000000000000000000000006d499ec6c633800000", - "gas_used": 54162 + "byte_code": "0x02f8b00106830ded2185019a8fc84e83010c0b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000008bcf2b2d0a956876a67933edf5858109f589b79900000000000000000000000000000000000000000000000000000000b2d05e00c080a0feb38a084eb35947643de5c61810f726235c2a6dd378bb96ea864b8df598ae10a02bdbb0f8292bd7297e649f61f7d9a80a77e6fcac137471c49ac3850441e4d7f8", + "new_txn_trie_node_byte": "0x02f8b00106830ded2185019a8fc84e83010c0b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000008bcf2b2d0a956876a67933edf5858109f589b79900000000000000000000000000000000000000000000000000000000b2d05e00c080a0feb38a084eb35947643de5c61810f726235c2a6dd378bb96ea864b8df598ae10a02bdbb0f8292bd7297e649f61f7d9a80a77e6fcac137471c49ac3850441e4d7f8", + "new_receipt_trie_node_byte": "0xb901ac02f901a8018401753655b9010000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002000000000080000000000800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000100000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001cd1a12e6dc1b257f0ee5eac774f132c9f340a07a00000000000000000000000008bcf2b2d0a956876a67933edf5858109f589b799a000000000000000000000000000000000000000000000000000000000b2d05e00", + "gas_used": 40348 } }, { "traces": { - "0x9fc3da866e7df3a1c57ade1a97c9f00a70f010c8": { - "balance": "0x46a961d52522fc999", - "nonce": "0x17cd" + "0x119a5456a7a2d70aec4d96a4a32f84b6e950b3c2": { + "balance": "0x3026cb479169a149" }, - "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97": {}, - "0x4675c7e5baafbffbca748158becba61ef3b0a263": { - "balance": "0x4a51f9418cd30a" + "0xf15689636571dba322b48e9ec9ba6cfb3df818e1": { + "balance": "0x70090c647b26c1ff", + "nonce": "0x4157" } }, "meta": { - "byte_code": "0x02f870018217cc8085071ec5cf55825208944675c7e5baafbffbca748158becba61ef3b0a2638748491d99d5bd9280c001a0c702140b68f72d5817efa7e305efe73cbdabc2e264faa362bfb4ac4ecb334e69a008ba03ab5d5094a769e6f3ab15c54019c291f082f8e56131492dd896857aab49", - "new_txn_trie_node_byte": "0x02f870018217cc8085071ec5cf55825208944675c7e5baafbffbca748158becba61ef3b0a2638748491d99d5bd9280c001a0c702140b68f72d5817efa7e305efe73cbdabc2e264faa362bfb4ac4ecb334e69a008ba03ab5d5094a769e6f3ab15c54019c291f082f8e56131492dd896857aab49", - "new_receipt_trie_node_byte": "0xb9010e02f9010a0184013a828fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "byte_code": "0x02f871018241568085011a5e488782659094119a5456a7a2d70aec4d96a4a32f84b6e950b3c2880183e99a650ccf9880c001a0cdf76e42b9b0d9f49ed71a4033f4e42ff078faf28f79522c844a5a1862531063a07be19bb3da2a9b205479191a1a6f287870d71874c1166552d988804449175f06", + "new_txn_trie_node_byte": "0x02f871018241568085011a5e488782659094119a5456a7a2d70aec4d96a4a32f84b6e950b3c2880183e99a650ccf9880c001a0cdf76e42b9b0d9f49ed71a4033f4e42ff078faf28f79522c844a5a1862531063a07be19bb3da2a9b205479191a1a6f287870d71874c1166552d988804449175f06", + "new_receipt_trie_node_byte": "0xb9010e02f9010a01840175885db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", "gas_used": 21000 } } @@ -9318,354 +10639,357 @@ "other_data": { "b_data": { "b_meta": { - "block_beneficiary": "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97", - "block_timestamp": "0x65cf5de7", - "block_number": "0x12596ca", + "block_beneficiary": "0xf15689636571dba322b48e9ec9ba6cfb3df818e1", + "block_timestamp": "0x6632d06b", + "block_number": "0x12dcc0f", "block_difficulty": "0x0", - "block_random": "0x21cf51f954dad3c6a94028fcc86b949b2d0b6dd292c6a920476fb678178aed4d", + "block_random": "0xca777584b6b6f8e8a8165dc99071608dfa3faed6ecf1bd31a49bb6aacd130fa5", "block_gaslimit": "0x1c9c380", "block_chain_id": "0x1", - "block_base_fee": "0x71ec5cf55", - "block_gas_used": "0x13a828f", + "block_base_fee": "0x11a5e4887", + "block_gas_used": "0x175885d", + "block_blob_gas_used": "0x0", + "block_excess_blob_gas": "0x0", + "parent_beacon_block_root": "0x3a7f6797be2d9f6df0a8d248f12f4b3a53de73fa6abe6a72a73a0f391b1e70fe", "block_bloom": [ - "0x73a9d30fcfac077b76f85c759ec58e24161355609ffb3b06600d1da15d6656b7", - "0xe2d68769fe5f605e6a3fbf226a1e2dce8681ac329e8769ef07f67684f5bdab84", - "0x1b51f23b57608babf98f463fd0e46cf48bbf0a93dd770c781b93ef66a237da69", - "0x5ff84011920f7dd7e57df645100d3c5b7637bdecf434d4495b03cdfe0eca4d0c", - "0x5c3d5bf6137875d4f5c73753632ba2cf11a1d5e9dbbb12c94cb1f3c2fe131c26", - "0x9f07d513dba2fa9bbaf474f399c8ecce14d9e64adeba972eadef627e87d9b274", - "0x49f23266b0e9483ffbf28a15d33bd7757d50be13bea168781ae0594aab26fc5a", - "0xf3fffa3c9bdf63aebf2438f13cf51e88fc7a500e0d8f3671230984ca62c87f2d" + "0x1dbf2e53edfa5737bcee27febf3735a0a53dbdd9afbfab64f77329a01f39f7a0", + "0xfecd5dfba79265af57c43d44deea4339ebbdb97cbc79fff425f7c7f3b8ffe6fb", + "0xae1335cef2f85e3c4caefb9bf7edec3d698792a126f79c67ff7215669efd98ed", + "0x76b7679bb2fbf287f7bfffe30b5f39dfe613e4f3381f8dce9fdc6c9fbbcfdf47", + "0x1b3abff97133017ca74ff9d913ea957e2d5b60278519d238712a34f37ef7733f", + "0xbb4ebf77829b7e3e4ed745d59c77a66f777ee6a880be784f89bfa5a7377dd739", + "0xb8f37ca30ed62e7bf5f2df101394fabfbc395e9f4efab13557ce73f7e324fff2", + "0x5cf9e31da5621654cb4c1f87efeb6dc1dd6d121d3e9e3f6c4b9dfeef2067f4eb" ] }, "b_hashes": { "prev_hashes": [ - "0x85f1866c8c52aa6e250392c648b2bfc4c28638738b693ea4ce5d4f992c465f06", - "0x69317cad2889ebbef502f60117cdd85723025cde1371c32224f027b900391c49", - "0x598b2e08e9cb7028295a7da04e46c91346d52a0c96d6ccf02be7f83cc0c5ff1d", - "0x733e988d34f24dff8dee254e5561a4f9ce30dd6124d02873b81b686f13343715", - "0x7d94b30ae838666aea15d410393cfbc72567a54db3bd8b9bbce37e75c85d89fe", - "0xb3da81034a1c5db6aea135a3454455c6101d99953abbd937ed9e564cabb8a472", - "0x99c39f90911ea79fe2e6c2ee12c3feb2f411910518519e30d81692fb0077e38c", - "0x4117f590bcd5378b9538df28691229025fe000994f0e285d9b0de0184d4b1987", - "0xc3c90f55b8b35370a6ea16daf5760ab8db658e8b086130cd60eeaf52adb31d81", - "0xfd3ef7a138deee44b1c137eb9280956fc66908132e2743e374f31f486784d7c1", - "0x8c08d5a71483310f61cbf4ba603204b02268216e1f6ced44268f53ea3137546e", - "0xc51b8c0ed8c4ba5d5258f540023c550c540b15aff74967d7fb6a76aeb9bf729d", - "0x0144876d7d4d9918fb502263ab55aedc42936a92b08fa0194d9c3e579c56c16a", - "0x3aa7c1ff4788c2af9cb3e336ab5834dbaefca4d69d82c076eac2f660a53d7038", - "0x7a2c2648ecae8131b569cd74c3c312a0256f83e21892da08cc1e1eab85a90df0", - "0x60741340b57c6bab728a403f734ec8e0525a6a4bbfe24a8beb1111ae8e28746b", - "0x1a6693adb401e1a25b2bff607847bea376663331fa2da2b3ed93d3dfc18b2af7", - "0xbd7890ef3865a272a149411591110191c301b1302cc0a5d948ef5df2b58adae9", - "0xbbe6eebd12e9a23932ede6afdc9982e7bced3d6a015ee2e5f592e512b20e9fdf", - "0xac53e2d569d4c25dffb1335a026eb9b2fbdd899d9217eaa78ed12dc9d340c4f5", - "0x587caba960bdefeaabc2133a85006e7ee61647379cf023b4f9b36fd7b8ebbdd9", - "0xc0abd94557500b1b1c7b7b29d38fba3a9130f0373220835040e620a66d449ee6", - "0x292a340d929f702e4e1e0adca6119455f8cdca148d9f14608c926a067d8d0bad", - "0xf94ab560a664438effa0d3d92302b94e88764690f7cb71e55207c0a44cb6593d", - "0x3b843f079cefd9a38413d3e627fb983608e3dcdba472bdefd5f594663b4240b0", - "0xf0d2bbc1ac8c6e8a5c7f6e69e92fc3ee636f56777eb8995b011a976f3802a3ea", - "0x3f7c3d4f3c6790a6d0fa8a777a48b0e290ef5db830568999fb8e4daafc2f01e2", - "0x71d7f512d998f97732494143454d6fcaab5a902ff03ae95db13073a7dfa88b98", - "0x1b20d660ed95efcaae5cd80a6babadcd66761ad42fb5fa17c860ed873bb2c1f9", - "0xe041b71f658fa68e8f9b4b42fe70677ab667951af406b6adb23e32aaca7df640", - "0xd957207c659523a385b86ef3576569e334bff10059e374a7f691f9dae7259513", - "0xb509eac05a9724c84fbb3fcfa9dfb37f1022df2c1e357ecc6f466a3c51e17818", - "0x43d8447846e077ccb7464d519633288243260f8357ecc7d5bb1df949a924ce70", - "0x449eb2ee0dfbe74f261457c6ccd44ed584f01a32bc8f7f6368ec3da12b19d7d6", - "0x0021a513c81d19492b8bcbcc0591f4de0f9b9ea86491de32faa62ff51531eac0", - "0x6d7bbe0578d29f5573b00917004ea4fe9f72741f54b3baa78df6578f84a0bbb9", - "0x00c709652a60301dfdf8180efc551364e95e33fbbd03e485d6f324db3eb38b16", - "0x55d3e5cb3805be21ed853bc3db009e59c3830304e7bd1f03a650b8bc2dacbd27", - "0x5eeb45cdb78e0abd2cd0e7df03728f6f775dfba14ca25f94d58e54b11129fd91", - "0xd761dd186ec77bbb342ca15e81088f48ad2fe59fabe0c85a5a8f728d9eb40907", - "0x0794ae29a14041da09d0244607ed86f6da8d286b7acee76ace73cb77dbc56a18", - "0xf8a5b1ac29b27ba4f3ded2294db1c35004ce694253a6285b2283a0d775269064", - "0xed660c6349505cb81fc8acfd3ce7025b8d6ae1a00c0be27018d4ca2c2ea95c59", - "0xd79e48564ac4a81e5cedd16dad8d0dcd117a57adb99dfee771edf0b4efc1bacf", - "0x9405f993e673cb5ace971cae793e0535f72701e6e1f01213ec69335b4c06e14c", - "0x45539cfba38ca86f3a6e80ae74a20ea00dcec37118ebde6ff8f952d670c41e23", - "0x89518404958780a7bf5adb0af8366aafbde7b7bd312f93051f825c118a60852d", - "0x12c39fb06d38156ccdaaea4dfd1d011ce321c5f31866efe45883cfd596dd36e0", - "0xde891184f47a52b6339818cff3e1600f2dc44c7d126eea7e969969ba93ba890b", - "0x2679e6ae6fea03a3e4832d866aae6c409d18ceaa776fe22fdd725b2919ad2dc8", - "0xeeed6331b48c6d49c0d5a110e13d41c447ff6bdc7caf9a6c50169931da255274", - "0x8e7b9a9f05f0b77b48c1e05480e40d29af0e58a8abfcecc18267b99357bc986a", - "0x61073721b0c42de47f84834cc940b3f1fcafc5e4d35a13ee8f49c60befd21700", - "0x586b090e0e11998ca6427a252a1dfe78197fb542ad512c588a86cacaf022fe94", - "0xcaa2c5177846664b28830592023a39ffc9d98272d9f373342a861ec86d11d8f8", - "0xcfab9f57a4374e241013c389a91566b7d0c37da2ea36c9b63baa646480d0ee77", - "0x38b80ec5e15c935edb4f4956f8224a1eaa88c93938f67a1018cd7c85eb606aab", - "0xc138d04a4d815c9d83e3cebb989239461ad3ec0f9fd298e3449f3659b323400c", - "0x58bf7320b17722b62478b50020e1fb0aa18ebbaea961d868cc2575a30f63852c", - "0xb87e56f81f0456db5c7a7a17af022bde49f20cd8193463d96b05162ccffa3157", - "0xe4d6f2bfe01b73af732882d3460e13e0ab1138396fa9007a82f042e4e7402663", - "0x621fb15b9d79724387592bc72583a72c2305a5bc862ec88ac4d88ad3c745bfbc", - "0x8b7ef7a4950c70602cc1244df146ed3c719c42659cc68891f81a26880dc916b4", - "0x394f527d6a108bcfa5cd58e5d41a749a99baa9edc4b64cdf9290e01e14803916", - "0x46832687b7e3c68faaf1e001ac3699aa050c9f17085d6a9fbab3b001e1e91486", - "0xd81a2a90046cbe42fd032342889fe343a4b5c4fd80d8f69add0c0f4b4e55bc8d", - "0x4c78e389d03ec147deee89d6762cb6ac9c125920027efe921922cf806c186d4c", - "0x3f444e94733f1f4183474b90ff76248c86d805a25c4d565167b7d7a3692d3565", - "0x4998bc4c9a48073a095afa2fc93eed3dbbaa12620460bbf0e73e7e23e560c69c", - "0x1945c4296041ab7b3024f7b263293a33777925fa09459adb80e8ba8bc3f6e2a2", - "0x9aafcd5475c1fdaad41c810a1e99ba53379146a00dbb17d679c15a38df47ae19", - "0x31667b67aff44c0d86c0b924e5e26869784c1ed7ad75e0a75b434a1caaaccb9a", - "0x2beb2ba1c187a5fe2a9d4a1412396e796dcdfb858c7b4c6ff410c35350788783", - "0xaa6d56335b227575c5bc40468216257e83b47ce73e41549de224191663a09652", - "0x25337050f0ed7224687c20b0e37ce8f29e8d63709812d9403558e655935fd4c9", - "0xa9c3447f820a08321e48ee868bc912e1081db04d1de6ac9c18d1cab00245445f", - "0x8db2a1e477e1a9e07b4e5d26443a20e0b5647fe48a575334a18a8c23ff237aac", - "0x836c2b6ec407582529d154ae54ad740616a25c9e95439b36954b0886220e234b", - "0x03a3dcba6d48a16dd9fdd1aaa07aecf2a712da17cb455ba1ca6979fef2411072", - "0x76802a7e201ef4b1522542e46a97360983dc387285b1685ee8cba6ba99e14a09", - "0x4bfd1b64c7e9e706a84f7bb077eaf4fc98dc1f38162f8407daac251b4c782ea8", - "0x4063789111da1e060b25c438ae04c7f7e68d8f10afe126b68b275314251a4ecc", - "0x5f86cc18e261aab47cb8d6dc78505e7b156e022b24d4e7e399e885dd4124d4ce", - "0xe80b83684ab3ffde0d9659caa516711ba37a58c4ac9bbdb6cf6c67d04affcf5c", - "0x8f6a91bc52615b275705fdcc7ec704832f8f5f0466589fde33f6f1e836113bed", - "0x9f681e1226c7894028550212383b4a5d3ea885dd6d1c28ba12ac773b5e3ecf51", - "0x1898b052344c3d0cb7dbacf461dad55cb6f56843e2319c25a490db0eef858908", - "0xcd3dce5835974ff8209c26f5eea2e0bd35bfe46b3f22ffad6582bfa74fe3e6a6", - "0x80300830d137dc63995cd47c4b9d593ee26c36424be1aea1f205a456fa01823f", - "0x4866b34cb7823b8888ae98f84d99a1a30e5216d824dbe850b53f800f745d18c2", - "0xa40cea299f742449a2a2abd1d8d240d2e42a16c63389b773291469b600b27a4c", - "0x44209e70324b497336058736dced16d65814d90b3fd0fbcfb68a3b81cbbc52c5", - "0x109e598cb2d8b68f154a6400ca56997ed066dd8aa7a15934a8bbcfb344452214", - "0x82cc91ec296a8aa275adc93cb60e76d8809d28eb1d0f6a979a286157cd102e1c", - "0xe24079903b98fd70b9bc36e4dd372876fc02b8ed28de4a2506c40b1351e36d82", - "0x06679c947b94629035585ada54a7705fb6d66cb05e080c4d9a666f0558a5e064", - "0xb7381aae1422385528b08aa99cf2e7cc6c9943fc7e06d7d26266ebac77f2038f", - "0x6695b8d48f45d478840310cb3c9824caf874e3bee8efa56dabd9256e547465a1", - "0xf64259c9be7c6e1510c291e782ce6713fe9e6a8c0670f51484c4b52fcdf143ef", - "0x6d9c6a66065d238588d2303c570ecfee237a12f3119e1e10d6da036ee3c6acb2", - "0xbb5b372993d468b1302baf20b0abf9d8385c4882367d1c7cfb0ffcdeb9ff50a1", - "0x5b6f4ffdcd85cfc4b81655d94be7c19c2436417387b2cb2ce45113790336db35", - "0x1f0f361a4c6f7f2601e677688df6b86d069b617faed4499869631e5adee39178", - "0x42bf25b614164ffd0da182efdad686cac48576fdbdd3f38e7dd1d3bbcc9e5224", - "0xe410e090a0d43d00db127c5639f1af1614ea1680a3e5f491842bc421a8d17521", - "0xad323e505477386f3bd81056800d740a3b10a23ac519f4ae7fa1cd1a2812ab41", - "0x9ffe1e89c81176cc1753d2080339aae9331de823e319f48b997a5a9a59d14a6c", - "0xeb354c27c6adff01efba0bb57a4695009bdde67dad829fca8646eed6c627c04f", - "0x025d06bcbaf4a54651c5b432dbdc1ab61e7e25cb3b33cbd1ad597f6361c64004", - "0xfbb795e49aa2ccc545ac5427d01b8b7f4c6f0f9c6f1636fa2d3f8175ea850e7a", - "0xcfbe0b821f3d9d860aef7f90099cf3eb3d1caf66892142988fdca7990cd2685d", - "0xd38e12f24648a60b38d401b79c034aaa4272e775e44790000de39bd45848b266", - "0x18cf65ee63fea104a2ff5fc02977f31bb686a64007b8cd16d67c431d3fc9985c", - "0xfbef834f90e5cc58a7c0c4ce0eda75881d413fb327954806f43c9831e863bcaa", - "0x20fb4ff5acf0f241bd613dadc8d3146d0b6a667bd66fa8ffc3630c89810a69a3", - "0xd4a1baae192ddc2229cf6425e0fd549bb20cf99bd1857ac14f5eb36ce4ce4882", - "0x0d49346d32b8df702a53de84eff651330b1c9a8f0b00cf3cdd9a37aea37a29b4", - "0xfff87d966513ad61904e37f3e0a822d1216a24f64a2cb0ba019b2ab55b391576", - "0x069e7e81d4ddada64c915bf27e7a7f005f0cae04f85c7c9d9e1c994b35044ab0", - "0xc574c2a0764d2b3424c82a903c6091fd3fc59043c89843001ceafc2f230e250a", - "0xcb57e5e65051817c806b651160ad4fab709fd35801f649854462a391e85113c9", - "0x49df8c35cdc69b9f79b64de400f9a9bd298237e591f561b976e8133f6f4e6e83", - "0x71ff9b73be32122ffd6a70a588cbd249ccac73ac7a72f83ec0b78d401c418c81", - "0x78c53c51467b4d0b0ef26550cf7a68b2c7943942de61f7a9912b7c0b0f54db6d", - "0x89789136684064fb05f130c8bfd122a01cb6013d25f86f25d934037f2cd669d8", - "0x3ce94acc60c5eae9566cad245b5087992d23991f9feaec46c0225f346cfa03cd", - "0x50c61cd40ed98ddde2ec48ef25ffda3c24562efb45466944292042b7646d6ca3", - "0x3be36e840168b97cf843f1282dda75ce7f9a8417e679372fa24747a834b552f6", - "0xb89f248c0659d4fd96fdd11b700772171722e21409694fe7858035b39c3fc84b", - "0xe8e71d5c1ee9094b09643fdeafa63c93a835d4783382c0888c1a93b77cfb27b9", - "0x76e794d55c8879a16255a0454b40d194af4f70b5ac8550f782054dd12fc56d4b", - "0x3c5378f5ed3da82166086ae9df32bd01ab6319bdf69bd64a78dfa2137b869b71", - "0xda149ed42d40c0ad4ba073990c0de763f8c258cfbe087c9db9a5c68ef363739b", - "0x1abdceaecc72ddc6f8058499c951913c9c683d0e68199e0d1646c9df9979bb1d", - "0x46115955203391608cc6633d875c27f2bba1bcb32a5b9a79a617d78e2f15ec6b", - "0x3b1af0c7c51cb1f08fff39c89e064d002d4573760f233d833b6d9f907cff243e", - "0xb4867bc77f1e7d54dd48be67197a8611017f53bc480573c0bd557eb2b8d1865d", - "0x79d41e27c5c3cab17658716e82fdff2bd18c39a37ff7f402b2f071e76efef237", - "0x1c47d6d1ada15f750a3fe992beada41d7698a0ae73fb3ff51d3a83c780b1bee8", - "0x6414f39c9a9aef62156b57044cacef12fb99ccde6944a53c28c9c7f59130c639", - "0xdca75dcbdc8531dfd2640c9f7979abd79a3e58c5e71f319d6aa63f1297e12637", - "0xbc82fd24e1be8bc9f7032a6bfafc482eed796460b3c76cfb482b67408db0a446", - "0x2a45e46666de9e8bc3d396917cbde99a6a0d859e64cc5e9ad8d67dfccbb06a1b", - "0xe4b24c21a7f23f5455f183b5d6b37137ae08c5bbad57851b2072601db62cb50d", - "0xd2cbfc68cb6060ceb677e4da6e21f56a6b086770b6f0d3717affdfada42ed799", - "0xa2942b6aa19abeb697ddedca8be248539c48ef596e08bcda26db0ba2bd5c95e3", - "0xa00ee5291426662b965577851d2f63639d30ba9b089431315cd51b0ea78171aa", - "0x057555a06a0f1faaeb2bc0c6e92d0a95336fd557271b720841cb99e2e0ce01cb", - "0x354d717988880d99017c7af5bcd9a98d2e24db9a9b66b802f374f074ea50651d", - "0x4a076d92f54d83551475bd3a00b6fbd0428a84da527a8d1529463c3697a148cf", - "0x7a0277376b4ff3e14916db4638440940a16cdfc37319c1696e4c6df1bd59c4b8", - "0x1e7b550fcf6a76237398d884f8b020c0f776a8e65b9b1ad1170dfaf69aebded1", - "0x44f458cfd9cbe3a376e75cf5bc43445ceec5c170e2155295350bb4c57ca73ada", - "0x3a130c2e4e95ff6f630797c2f2b2e6433e06979f965ecd4a170ec5c6d22d7748", - "0xa347b7de97da63b80adcb295a1c95f3cf836a0df9bc283c9710b799c00dd0b6b", - "0xa356c10c4e099212258c6f2fdae513032556c2a380814403900c6c0711d4b917", - "0xdd428412cbb7a32c3e7dc5c056db0827cb49fa8c83d984a998f32e15c3d73b48", - "0x40f61ff284733593a7b54896381e5364a054b9e7b1eb0d9b22e479f2468344d4", - "0x2fb5c179fdf142c2af4b2863cfc9b5a42dea7ed637a0f2c39d3af3b32c46c5e5", - "0x7d430b09e2ce51282117040927af580293f7704e9095bf4265797be7af55ee8c", - "0x7c62b0144ef255f729364ffa1b0e7f20ca4c87283618030c226fc0847855de1f", - "0x82deccd92a405b56f62d988c41d2418dd64324882eca967d8260e12cfcecb5db", - "0xbb8854151124237467e120b904244231ffb7f0342d742b0242a430c2ca587072", - "0xce988c73306b3671f018ad630800a6d70c6884ecfc84d172598581f31f5b0f48", - "0x4e5617a802f9a6ea3ec57138152a30a9791f6bc30cbb372a61e02258d5c1f5f1", - "0x8a4460e937b89c2b5ffa6e478a6f9ccc665870f313a7a06abdc82185adc1e296", - "0x429b9600e6a12bc746d21d3ee2ac76c559b5f06ab3e0f5f3b4c8f4504af965f9", - "0x6e8bd561662bf27835053957e56d9b510989efee68ac5cdb8571e9e649f10b63", - "0x4512b87f62323c6c8ade9fa56741823da2ef1f49e3fc76a6ab7a2b47026ad7f4", - "0x7315fc8e86ae2843394ebacbb40440eb66b5f3bf82d5d2a96741df5dce358038", - "0x860445348840ec438748ac4c579a33bf8f16a9922ca53bdac6aa09913d162564", - "0x0ba965c543ba155ebbbbd8bff4c5c63acf221790dd30c7be4bde078bab46dc06", - "0xe814f4ca631d612d0412b7c2c6723d351b2eb19b8563713925b033c676d87cc2", - "0xa3932c3653a210ab39a21127bb8ee97dae95c5bad9910a69bfbaed7b4ab9105b", - "0xbdff1e151c0d0ccd5c6a3be48030f5f905d06169cfe43f8dc1fc715270474344", - "0xe56765c9bc310b26996b60d030e45f7984bd641747e9520b2624f2b58a577f9e", - "0x58d51a1fda0740b191b91880f30035af7db135b54eceb7d1d064653368c39da3", - "0xe6c34027035fb35aefa0796d5714154526affa7bff1e926ccf23aaadc5a251ec", - "0x601023137408602a0d3f62c932de6f62b32372be2ff3e9508b77397e9c7b203e", - "0xbb51e1752b3a324f874ecacda5e4854778d08c976757aabe0d33f9eebce5b69f", - "0x648036ab2ef5c981d11bb45fc110d8c4effe00c6d06646e2df9f04c33b415829", - "0xf0400163aeda772b0139a4e69102589f143e9f23bda49bdc12e2609cc29c74c6", - "0x8d6227386788f4dbad5d8c43d575a627818648d258c03f0025aae5783659ae71", - "0xefa8513731cee73816c0b6168cb25153d29fe6940c1b30db971e1e53b0f59213", - "0x229da5c4b9c46829a93df8ae4bb34b6bf20c37644655277af3ec4b3ccb070351", - "0xca855b6710defa8e20942d981abb9a3a124f76b420ba48e5af32639ed14f8e1c", - "0xdb6e06723e801af3bb9432d02ca8136965dda7f37c592720c8dc7ac4a0c0d45a", - "0xea83e25432f45a0231993ef7b784d200cbb0f4d068d1ffd7c8652b9f1b3da061", - "0x9c6d1a2ac894a2e8f7cbe140d2f251fb454ca77d5b7c64c700bf02b08566032e", - "0x3a59d6738a9f712ed31740f4f211f926febc652ac65d39c768cc15ce6548ac29", - "0xe71d46072083ffc7b5ac292ae827019cb5cfaa335ad9b0717f6b4cd4c002e26b", - "0x0ab071ba6eb8197f56f5d7de6070c05774aec92fe3e38775dbe31b956c20de81", - "0x86e0d7fa597d2bc87b6e09714e2d9adcbf4ace67355414ba5b6cea23c747c0ca", - "0x70a095353bd4ecc77ae6253c93181c0c8880ed57ce5bf2ade7f75c3995ab53b7", - "0x273b6e8f768ce9478e9ca94a5c158ca1152698e89259ebcdefd9bcbb6ca1b28b", - "0xaf59d7b76771c5e8b3ad2f3965b81ed284d47ee892b69b991575f51f9024d82d", - "0x977a7259893512c087f602414f2c5498b52ac4a2283e5d9baba0e7e9d6074477", - "0x69f698ec8280e85baa7ee877652d6eb93281bc68fea8c778624c048113404e85", - "0x3a8e1bb449663fcc1afbf67899e136e3460f3a97fd87e2f2c9cf368ac605527c", - "0xa2656346c9cc287bc1f8697a4906310551f47a24da135467862eacf79f196f76", - "0xf6c099ca0d8d507610a3f549c53515ee11a9c4e55f8474131d3f247e6441d11e", - "0xdb6eb9df15e4da3163d93941524f16766a76be38d4967118c20b2a242e80e22e", - "0x6dc9cd38fb172a6a89672cb36be5fc994d16a126613b94433fe79e10945b3020", - "0xf3b8cd2494813f37bffae61f62a24c1be79e3a9473a556c53bc22ad305640d37", - "0xf1ec74d51276ceb47d5300db099b2729041244c16b1c7d5a9270815e4b2ad87b", - "0xbdb2440940a26dbe21a1e678e6ef5c133ed25f05a70055e52b961aa205dad7a6", - "0xc8e608b563a7af270682b2a5607c03a3e773792b1d59b42c9307d2de0b2287a2", - "0x204766659f1238b1084cf4be97ec53b579be09106ae5252ea6120561e7fa7e80", - "0x7b83846cb399dd5ce6ca56fc96188c5ec78b1c8175f1ca46f8f8ef562630783e", - "0xfc894212ea9bbc5972bc530b6ab7ed40aa7398e8cea35518701e21aaf5225812", - "0xb246a8d3f998bc40fc2862d6d065ac490fe0b8cbe6dc76b11ee9a7d14408864b", - "0xe9391a5600ebda987d96226f776f66d2d9a9ae6dcd61fbe40e2776cea2362165", - "0xf50492c1e56ff3fe1b499732d8e04be8dfe5c16326d31ff77ed9fbfab28ba3ea", - "0x160d294e2166b84c7b39e065b5420f75b845a3e2ca91601a47e86c492253c1a7", - "0x6fa516586c76584db45fa37f1c5c0ab7b7695d4f274ec1a794f88c408c6a9e86", - "0x38b23e425dcca799a06c70d8d4cdb15aeafb16df6b906e1459c9d2c09b00ff3b", - "0x6ccf588a93524bed61c1515129f9cbf228ead29ae4b019783af7ab043c216e72", - "0x3eb9bd1119bcea770e589c55646975e0ea7a825b7b18e27c4a397f98cb3fc072", - "0x18a6d2f8a33c0671304ed13e6b5d49098c95ad9084249d1e495bd3f5c5f8283f", - "0x4401e98be2f7bc8fb46f912d75d4918a03ddeb49c9c9f117bd92565e58a8469e", - "0x55ac69ff9f1a9bd7f88d9758ea891501844b3a932a15d8a4fdcb7ba2c1084495", - "0x3c7fa8eea9e6b19f49803ce3d3926dca64eae46a46d9a658919bae2c0d94b71d", - "0x1130c450d59983001032f00f934f838b20bb1520ff667de9bd8784b892bb6336", - "0xabdfb3d27da751c199289d132e29025923dd47efed222047b43e1584b3937da4", - "0xcfc39333669c6bb5506b2400bd0b682202a8397b9a369f597628c8c2ff62771d", - "0xa24e1607bf874ce72a9a237fc0604836287a2254b6bedc8befc20ca112f3f0b2", - "0x837ce20fe8b6184ec57972d5e9214a0f7e87822fa8e87c293645bbf095ef7a3b", - "0x25e11a9811c15fa64eb38bae5bf9c28d0135fda07185f68e668fbf1a9845970a", - "0x9bc56ef616eb63be18c96e479a4ff1b9b19c3e5874a7faf31d8a890964a507e9", - "0xdd1a5ac21a1acc161f4c73aa56ceac6dd90720cb4e293f15b6a2869d9a5d7501", - "0xd2474ed9bcc5145772ac21309b3bf461201ec85a13cc4b2503efebfe42f8aa9f", - "0xb90dde4373058caa2f5e402268b7c68486939369c062fe189b77d6ab73c96614", - "0x380ace11ada254f8c85083fde6e750ed01d2fab1409450ecf90311c16fc7154b", - "0x82ed384914a2d06ed9a3f9627b75c5329cea39b47667bc27b0c9815154b3c07c", - "0x71871257062f2de58dfe19330339c332eb336b509a3950c9f55210d702459f03", - "0x40a19295674bc11d2c5e28ee7ba584bf13cec92b709dc6d903f799871d4d5b16", - "0x76aa47f9816d3f2769edd4c605203fdbf732006664239e70ee8f46fc0bea693a", - "0xbdc813957728ae825aa3f11f0a518423cb563bd03535d8a8c017af39edd93305", - "0xea13b4df207c200a948fee3403af558b37c8ed660921268d3cd670bab7861404", - "0x98782d2a94d2eaff161ff7175580e794db2dd18ed9ed60431a3c663568ad6ce7", - "0x2f4e2925fd598937c5f268487ab6bcf07130403fdbad2a5422c9efd42bcb4413", - "0x7acf29b8b50a40e5879790dab398203f7a6d459947629624a09927d72a1c8876", - "0x2d08ef96ce1a6b2478b8ae9f442b14156b0a998f9c7e3778e0ab6f556bbcb5d6", - "0x7418de8e710dd6bb61c7559f581525b654b1950efebc62a18b71938ed2e70370", - "0x849c7c76b4a8f8d9090703f09a770fcd90458b99f099fb3f6802724f09782ae6", - "0x5fc720cfff22ef360b7ee9c1630137198a31166716a127c5cee0ebfa14e76719", - "0xd9b4dca033dbc28e1ef2a13d50fc550f18836eaef9d05bc6685fe9d531763a2f", - "0xe70dc6fe376311d6670e956d259af7d8a9c71ca90254849b0b91e2e9b5d5255c", - "0x2c5761e9caf98725a4170fd68b4784dbc9390bb720cf036e7284f6e82a5ec795", - "0x6b358b969aa8c56a722ec87e786e8dfaed7af9cdc1e289ca114c3f7211c36ef0", - "0x2d3a4b11eaf0dc658c0c19956edb0d60163f48198202784c33e992c706453ac4", - "0xda5a12aef28cbd95fb7f0f8041d26bc3cf11bb07a482426052d978f7715dacda", - "0x7d22ed949ac8b7388defd431d086dc651ef5eeb5fb7bf008b41ffeef577fc027", - "0x9b47b1800be3d0e9b008cf10e8afa67debc21dbf6f887b7c29c53713df8ecda2", - "0x7ed432ec67586b2f518e540b5f2b67d714fec68cfe3f1a569c093d9a780119b1", - "0x5440e156e97c8493bb9f4807230a808647de9ef8e14524cb7dbc0901a40184fc" + "0x9ccbbc7a7f931142496dd98181d7eb596de20ac0cbd41532510486f6032afc5b", + "0xe177d57b7b2803b54965e105244d8432a3948ba4e9cf1b1178177a3f9b10d7f6", + "0xa9591b3b3c899ed45e5908858165c30e275c9bede6195afb611a2e021f7929d5", + "0x0a8fd206fbe570685ea8f4522cd6bc565aa91e09c7f7a4a8241e15af6e45e7f5", + "0x7eb3f901838569ed95656b8c43059b4acb198cc1c4b914d0cd83e3eff27e2e65", + "0xa41045dfb1e251a41952cd254aebd74a364c66f8a1f0f2cb837043b52d882ddf", + "0x612d0bfe1d99f41aed226d71ef15deb422b4d2f0c7c26edefcb5a942b6da7a4b", + "0x11af064947600341ab61b19608fe387c7ab8d04cdba250e2a59d8487e285e9fa", + "0xf79d6dc12774a98a6871dce881bf20a619fd79579fd1abae7d5b72f771293ff3", + "0x0362331d6c0d00e6a6fc06a7443621edb3345ca206cf16b17ea5f120bb7f3d17", + "0xcfdc8f3d53eae1d38918b6c07f9bc417a08a18cabd436c2889f1b967fd8e3f7e", + "0x623d935e0909d8603de0621ae357d4a534eb6475384f43a76a9833dad876ac38", + "0x866eb3de8a872ea16d7cd12ee96fbd7a24c0f8c555584b1b42fbebbb7b51aabb", + "0x1aa3ca7301879bd0b5266e15537f9ca9f8a18c766f67cb5b585bea9b21763b8f", + "0xe58c7a04f36225f378c95ed0a220253a74218b5577320ffc0d41154bd81bbfc1", + "0x4613878388f4fb668b154864de1a2d7b9cf3a37181d16fdb8712848e851a2e02", + "0x04601392ecafe1f11c28a99f339de6aac53c77c88e1bac3fe6746cc2007add5d", + "0x6f68f1d84031f9916ca79099d0f9292ef7f5fd4a18cb524ec8ee2bf1ed799690", + "0xfcd528c7e266c2b92e6936c920f194d71d69a82840edf597a85c5051fe24bd17", + "0xbf8ae643a85f3b70c19b69adeb0d7459044aa9e1c29e42afbab1fa9a557f5660", + "0xfb7ca2d65544c0650a1fe5f0301531b1c5a2634e0847bc9aa9d532157a8933be", + "0xfbc55c2a44f5a66cd1ae2fabd7ce88f10c44da00c7a2e3f9e98f360a40a2ef66", + "0xc002f6e863b4d7131b9197d1567aaabb938c3beb5c52fe14c0f3f08c1f90e59a", + "0x80a44f2d06ed7ceead03aed1d933a9e475288abe7c09ba8edb8ec51c1921623a", + "0x3caf918dcfb621956b2f78414780e99de523ac8fd163a840fed476e64dca1b7b", + "0xa5723a508ed752e0e8d993130e7a7f237e18a83b900850b1d0913758160a1592", + "0x8e55f6ee4d50f7def8bd47fe2eb2c4a12282277c98c6460280402f750a712691", + "0x2b72996ffa9552e555d4fbed4b4f686f7f0a8db76cfddae43ae8f6b300819be0", + "0x0412b63bbaa3d0e4e4943116e08a4d933c92bc2e09241c0047bd1f106c6705de", + "0x46eb823277c07f3eea302805157a074dd211c6ee78c850d3bf29747050947fd5", + "0xa18e0e5be2e045895ea6f2dd85fc7773078a37db28d35e9e306be905b1581e4c", + "0x54b0643c0b6d75da0748a07e34ba6532f13c265dd7f795ad8dfab746c20b9577", + "0x3936781c53734d0b69bda0ef769dca3516d8f738b23fd1b1dea237a9bbe437ba", + "0x4dac4224077c83ebca9ec6e0fbdb9c261d95b6ca88d7fdc652384e9f7233ec59", + "0x8b542cd2525df94314282aac830bf21630f4bb3bdb2cbde4e744a9ac560f19b0", + "0x28309e05b439ecefc4b3ae4a56e5831963b6dc01072ea768e4b51860cec2c6a9", + "0xfeae6ee94ac2c6b272b559cd631f4da9a5845597d649a21b2c956235241034f0", + "0x98a396e641cfc30f2fc4c3e2b3fe738eaa1b2621cf1651d30f22604f47161686", + "0xe15335ee92df26bf8d089bf6b9342a521b62de7810691fff3b58b44f7deeaf61", + "0xc6d808c39ef8dd23564f3bec504aca5d0b08c91fc0ab2870fd4aa535609408ed", + "0x18c93a66070bc6d5109accb8f1ecf3b342d25aeeb9c8dee361a9a5c80aee6196", + "0xd8705745fdd869666f1c08a0c7d29ae44968625b4184ea81961d4783345b7d68", + "0xfb36edee0f4238bd6048c64cb95a3355df48cfbd754eee9da3c38b92f5b2b20c", + "0x84308d718dd51be46aa2855e93d4645aabec0c4bf065d0d159a6966caa1334f8", + "0xc677e755ddc6c92e4b8113ee57fdf19458db9b0e939d0f7f272d77d4846dad01", + "0xac8061a88f5a9f064876e92e891ba5f057cd252607ffc4d907ba7ac5a6042ca6", + "0x6cbb2765bfa18fbb69507a10d6a049eede6f9d21b3ce25df2bd92bf0bd63e92b", + "0x3f1a0ecfa034bba3638b19b83e21b327e670171414d11e632f8ba30bab7a6b98", + "0x5270600554581b039f43162da8a4333037e39fa520dce79321c12c261cf02067", + "0x24da1d98d919819d878fa98fca6647c9cf039e9df779eba8d8aa8e47b5063dcd", + "0x31b212cc7f823a8453fb860d81617c4f74f2663e668158def0002e3856425aa0", + "0xa881d65483b5371f890856a4a8158ff4827ca6bd0bbe2f6d190012ba2ce61a74", + "0xd4ad576f4c0ae148ab7ba9094bc58717414914b39829083663982deeacbf8d25", + "0x5f3450b32149fa6c3ad4b3d75d4f900ca807192249a8e7a6fb557d7dad4c64d0", + "0xf8b7dbe929b9190a56c8184ea9d2ffd2d09a8631794085f57d5197b1d5d4b217", + "0x6ee62b2b351bc4a65dcfef4218d0501f4e051e80d3cd2eb800584ea8534801e5", + "0x5976556170be96e6ef2331f8e73687fb0028e8c6a0da832255a88a4cbdbf6909", + "0x2db190b36f2924664284da359a75f3bf974169e69585ae46dc27908d4de86e72", + "0xca105779df5ad8f74676949334073447b3b317cf71e3384d177e337e8b4ace22", + "0x1891d6d29a1a9071543c3498b3d66bd869b75fe926163cff48c9f5df4fb3f151", + "0x7e76d9982dac2534d40730963df9ffaa4ccc121757c12f2954026e2c39b5f285", + "0x00d1402a24e15169a29501fd8149113ecaa3c089db287e74e2f293d77b96bb17", + "0x1d7f65b4dbc0758d1bab4a449004bddca9e7f633037c8c5a1812d47b5b236c86", + "0x382e81b18d206acf8f82793483e7709b6335e4c4433fc8feda54d5a50928afd6", + "0x5b12ef76d1e3774fc0bb1991e4c3c20d6b2a26e13e890662e9d0e8f9046f6fd3", + "0x670d3b150aaf5da57bfd24d240e523d24e30c8c91c329f3ecf96ffe097fb6676", + "0x84bb322e47a47421acde9f857a559233c35a1a98286686e4c11f57848cd3f43b", + "0x97c465b817be3e219c3caea89f6176b0738b7df2d37d643782437bd269c29db2", + "0x7813dc3e5911770863dc96975402e56d75f184b75b54b2682a45b9dfce564b15", + "0xdec745b581ad3b5fdbcfc5d518f0779b2fe5df957fec129058ac31e8800c1d34", + "0x480d0a60bf0534869690d270c2295857de0b6feb352d1b91edd8336e159e75c4", + "0xb72507de3d12a551d392288bf7f7a838da6a99f33eae3bc35308acf2c668736e", + "0xa0519a844e9967b1ea1e25f82f3e4dd240552384d1ef8f779351c312410ceed5", + "0x3d81dbb5d17813f5619a1658cc5c1b59b22ba7db880db00e0334f7f64bc8a0e2", + "0x67382b1eee028b9b715727ddf98f89fa2d1fb1b6292ac2c64ea2d78dceba45e6", + "0x83a78bb1451207e2c06d93227b51da975850de4219478e8cf4f82ee1885dc89c", + "0x6986cea897a7b7e830911ad89224ba452679c115a5fd0a71c4c06d5abd9a8f7a", + "0x2638d6c80080d2b01ad7e6b76d0e02bce84ab1b8913cad35c748de93202d2065", + "0x6f22d824842327acb990026b8ebe21ae72c8ca4e4c34693e0f31de2611a9adca", + "0x3d294115b33b0beb943ac8d26173fe775dd625f10e3ecb8b632c56e85d948825", + "0x1e6af2ddc182c4e508c4ee5b42ba152cd99ee67f6fe64fe6caa9657bdd710441", + "0x37a7cad6cd0a4fe1f29cbd2364ee8dd1d05eae6556330fb0559c3268fbf3131b", + "0x7dbf583e1e8b9369be50e54d6942ff6f9fca53ed99f12f2dc7960b8cda1e23e2", + "0x5cb3f91417467f42231d45eeb19bbc5cb80694338b0391742f8bf072b7a6deab", + "0x01847231008ddbf9df6d9e089b93af4d0de796585fb95eff11c5f810194dce68", + "0x7f31b0d23a2003fd6b9b8a513bef6d18a867c41890459b13bc9782775bfdb695", + "0x0d844aac7669e5ab014e7b274e736fd7f6a7a1e583d2816ce16d6f98ef6969d0", + "0x67e40cabc310f890b284d54f6a55adac136e95bb36922561f83e630affded761", + "0xa2bfc5b17ba430b14a267b63cd7237c3aae4cfce3774c7e9804fa8b02eec2668", + "0x3186b12455e11d01c787b23d16cc87ab9f8f417109a064ad3d0c9ecd9e992a3f", + "0x6259214a95f47e5d3470c6801195ad18d7cee2ad86de6b0615ee391cb9d4d1d7", + "0x2d4750479a145e2638bc8a53a715fcd8aaf12c8cf95c1f019fabfae637d32c7e", + "0x4741b6b8ee5ffad37160f129d624ca091cd678d5f427e39d85576f427db67a3e", + "0x57e5bd7bca1ee21fef02a71d10d09f54bef05db55c5d52c9eb8a4448d850facb", + "0xa71af68a0b1e6c3263deb53c34a48c0b1dffbce01d9175b49c401c1fb985fecd", + "0x62df2971ba55a67d5c1d7a7a6908a4a71e47d3a4118ebc40630a273187dcbeb2", + "0x1d665480286466989a3c51c4bf6bdcc9701d466578758dc5fa4391396e8a4cb1", + "0x57ce0f527c780f789a017049d223476dcf24609e7bdd7967476109bc4bc7bdc5", + "0xe601a767df029cfdba11838d94870c7a8a2242ceb9ab7badc11472b7ddfb93ce", + "0x94ed7ede7d61820e63ed2a1edad958233b6ffcdd8ff2b1a1ab1ad5104b05a5cf", + "0x2a8a6cc0b0dcdf080e80e803d385e2d268f55e68d16f717dced666684ed02544", + "0x5997584a75c3cfb8de5d7d367f99af17eac73ce43160a9fc733ca78e59c5322e", + "0x4e9845b89a691104cb45b790f9b217c78a0ea0d7505a265bfec295a24b1f8b85", + "0x66dd5e007505e78f8e5312df489827e33d548ae0ad45db2365fd12b9a154d89a", + "0x493dba3282c096353f4ff0027a0010bd863d8e6419911b6b1955b30806b92d9b", + "0xfcf7b4866e96b7ecdba2851afda74ba9de703b25a0e73d4effd6c886307f3f1f", + "0x05f4176ad0a61516aed1965bd6448099f9f68417a97a01dae6ee23727795869f", + "0xcf0ba7bba4c5bd6422e57be290acbace85ed7a43a01b6b6d18ff6d9c70e5dd4e", + "0x0560507e4c60bd8b1f9e407ea8ec684c5f9bdc33b5d0146e1de459e51ee8abaa", + "0x590e170c3849cf1da3156ad025acf154775598486dcb34239cbf4191c401bdba", + "0xb694cac0630528f793ad1ec5ccf8a7686d5a3036bf9397a3dd98a899e50993e4", + "0xd27cf1fd5a78bd1e19b9e399be004469567fcd2b05c3f83603851e84d5888f2e", + "0xf35dc0e00894b1fab338236baee2b78498b1ede00ce46871653601157a4e6d1e", + "0x3796f161826c117ceab0296843c46580a740356ec09425db5ee74511a0d0a078", + "0xf70df8d82f9559c59b8fbcb5c6b74d700d6dde692da010e96f40fa53501b7125", + "0xf2733e35c813c7a0e10378192794311340e800bf2301d0a29fa2f2632bb24dbc", + "0x01adb3682c7d59145e3b71a8ebe4a6c9dfb3bf6999ab8932c5a96cf8d7db4a33", + "0xae4f8329e3b2e119460473e477ee5bab81eef7538e16cb1bf0f330075d479796", + "0x3c6454ed58541a477854fe321eff81138c3087db6816a077a0802dfcea2b9063", + "0x1624a5e8a6c35dfbf79dc290cf2576539391b6b7f0e8c805cb3812d34a42575d", + "0x0b6bf1f207ab5be1ab929e58a3f6e6c112a07d002f6a8900ed7fd4db1cf9ad53", + "0x69bbb9cf39e54325678d2118a0c13ea7711922f6dca21bc186595dd39ddf55bc", + "0x33336364929c68aa61872640dff4265dd533da61d5ddbc89407a026eb8b3429a", + "0x159fe603241762582c0ead56e374711a90006df2892c8643158c264fcf0dc9af", + "0xf62b5fb10326afe19d75d5625bff154467520fb7ae6d02a16f04e1bc20688b82", + "0x4a2e3ebada6a4e8fcd5bb1603739133312a0ac7b9c6ffc980a737aa0b39a7702", + "0x14c6156bd103ebb07c89f2cd38c7346cfd1297c2c3c9c1d17de5205eb29ef149", + "0x0b240f64dae8312820402201195cc9895c7ffbd3f01c8cf18e9c725758402055", + "0xbac95b361963ac0e8c382054540bf1850d73af99cf78db3774415dd5bf4a9b89", + "0x7d312b0c562d474899adc6dd014ec7e2823bbdbd6754fc67af97e73652e9b3b5", + "0x35352b1062d12fc09fd4f4e29c666af0faea66a3f0c71bdc222cddb2ee77c6bc", + "0x3c96735130e0fb58c7354610607f5512b5fa8fb37131c382615f413f3df8a0fe", + "0x2e46cd15a90c259d9b114859031a7745a29939ded47f5ad1e7cf48c72b7d3fdf", + "0x14ca08ed5282da37fab49dddd8688c52b1bafc331bf96b8ded1ff42a7482b274", + "0xeab6270bad7f9efc51b6aad17c2d0ba993468c186a1fcb8b4fc1cd907589e72f", + "0x7b7bd3569e610cc0720331b9aa4979d1ab51cb31f8700b8b7f5e8e71b216376b", + "0xbe0e991b2f604e71a61e60f6e62e51d3e48ecd0a2e1993d98ceb87a41e778346", + "0xa279ebfa3e88414f332db3f44f1c15f874d282156f2b8cbc3071789d540f88cf", + "0xf3f778180c13b8fc6f4fe57728a45b934caedf9ec515782d611343c12ebdf215", + "0xf1a2c9ca68c8b09692cefdd1609e60952e9402949d104d54e0bbab7a65a7ee75", + "0x1c907d2cbcfaa8c24ebab83fe5bf851825013becb9304a72ad5759f9955c6ada", + "0x344999a85df38f68bc749b8da934e23fb87757a76b2e1627883d603ca3539342", + "0x6614f8cdb3d5e310ab0ea789ed475d24941f05cc33d9203bded02cfccf7ca2b1", + "0x8f6f6582b7a25ea420e01ff135638ea2035e6aaaa15b8bfc2e193b2732af5c5f", + "0x111cd13faf492a1cc40adfcfe20158d7463363d93ac19e10d960b84ac95659d8", + "0xd68f4e6ad8fd8229a557a3d5d5e2fea24cae177be9bcb0e49a3e2ed0f564a64d", + "0x04ce241d65ffadcb16668e14ecf659898fa6a4155240922a61cc80fca1909fff", + "0xe7776210a9a82f9bbe19e4132584448f258b76a24836f062d400b2fa02f8a2f7", + "0x2bea73c5801a6d695e9c35495733b1eab031c0c3c1c3d80c6b5413406c780dfd", + "0xc8c84080099adeeaf1d8717fe1a7f9a6514b3c01d39521ad68d2a898ce34c7a9", + "0x72b1a1f55643f6cc4b9ec665863891b2adb603d04af84088cfd902f081be15d9", + "0x7c32de40d2a749866c88d7b5f258ca9f8433d01086de9b20d7e3e91c8e34fcc1", + "0xc4c823a9bb1529ac90a60dcdfed5a5f662df055f22ad618090cce10680e508bb", + "0x9f1d64809a19f7c7efa542435f9a4f06d36959bf722b0c6255550b45c52cbfb8", + "0x3726fe8a4d7e0480e6d3b90f5ac5b04757fb96a51359eba48389359e5881edb6", + "0x762d277f63e6ea84567e3e6db8877654c61ce5cc455ff57f1df241d346918d28", + "0xfce8ba63d3c9de1b81170cd0cb76fa9b47a96f4d274cd9a58780d39653272c95", + "0xa3de3395162c40fe18a5dd66743e39b5bc61ad7bc16d4eae9a6df5790d31c075", + "0x98e5de9d31b21e485b3811f8b57f9eb95e55926eb222b10414541a0022c04729", + "0xdce4d50c3822cda7a925144ef8b8388e385b945c675e5c3adea636ad7912e9ae", + "0x243ce85833b6217554756607c40aae648631f37fbd2be15d286b41482a738049", + "0x5dff54ded89cd036552e2e18c1331c54c303a803e001c523e8322a7eadade2c7", + "0x8bb7d31951069209a435d7628d5e61210a4fb92dbda22e37d8b448d3a5477e49", + "0xd0001f9b011cd29cdb7f8b68a47bd2e3cde146056544ae58b85e0029c3babc59", + "0x15563bc87071cc9e5bf5d8c00713ae6e152ad4f1885be841e0d4f63bda78a83b", + "0x8c3b3f424a36177e2b27d3feb9ba1d57117fb7e3cc57271889bc408dccca2442", + "0x0cc35b6deb144d090fb98effed88a75b38c9e63d8729ea93adc640c049d6cec4", + "0x54a50ee64cc5818a29ab56224e23b273bede433ff9a97ecb8fc675f3070f0cc1", + "0x09ebf495d8888cda9858dc67bbaf20afa00c328d61612c3fa00deeef8fdfb978", + "0x71f99017ac0137b7b1ab2e875d5189c209408551082f2d5857c13b8346e2ef91", + "0xb3816a42d7c3c08358b036dc18da1880fae2d12b5ba0e281c4f9092fdf4099ee", + "0x5670b2ea39b6c80ecd6ce98a875a8f58fe8783dcbd3b5212c66bea51827e3752", + "0x732f88d5c187e4d000515c1130bbf56ef9470547820f31b8bb1a47dc5a6a2374", + "0xcd86f771affc0e6858969ddba0f7e9f2febb21789ce95e8f81c9c33184045abd", + "0x79741337073c5c9f062cbcff325e6da5cff015f7e7c5a464890c7f7505321a5c", + "0x4b961c028b8b549f56678f53fd01f7479513a829646dddbcc538555f7fa0684e", + "0x3196ee1edd246f2de6a559d6ffaf565490a6d5e6bcbcb7f0cc7709f6c51434a3", + "0x901aceb30cdd6af228a23cda0e5f3971d0ccc981acaf7f9e11d91457b5403ddb", + "0xc3a0775c075d397034628a21f75da3185322c806db982a053f285d92323e1c72", + "0xdce5866a62bb79892a70e2201739dc9dfcbe6f35e12a383ba99bbf1fc84de9d7", + "0xb672ccba7c4a1a68047936b7fcb75d5d85884ceb92432553e43c74245b6efb5f", + "0xaad0887e4ebaea1e2a679bf78232deb4af97a052cd5a7e4cc9d9195bc28b5b03", + "0x4d8d6056f9563238258252e5f46979a8a723c72b7009ea2e92a56f4900bf4fc8", + "0x596f6d9fc0b4e6ac434254905019177f86ddec0af588ada6e6177654d00b70ff", + "0x85fb407c809466a4d0e851533822ecce0be7a32f5ff2af22124292902552b3bf", + "0xebe5bf11426dac268880aebba21a207da19780097e89e2e660041139e3dd8f65", + "0xd76b8fa1dd30ebbbc7794b02eb2c75b207aa0400d97e9a34cc1e1819203b45e8", + "0xa7bdd6e9e845685ee33d62396e5e9bce30abd78756bcbc68aa9f3312f74464d6", + "0xc52717e785f2d7a7f1793a05d2a1456d1d13ae30a4c18a69655db63492fc854b", + "0x3df86243a8eed1fdd25a3e9d341328c96db0a5d7170bf3ac3233e20ec213a682", + "0x6aff053378c1b46a155d43702e909a04383dd76b03e2c1ab400db1bace298c4d", + "0x724e677f8ff8c048f13c5bfb72811af25aeb8e610dd7f149826142e6e6a388c4", + "0x8198d036a62c3c59644ea2585f2a912e01284968614fad608be6710c20b55c3a", + "0x0edd1e7d5c3986f8dae23204bf6f01f8202b015a0af5c353fd168984696bea85", + "0x2af0df6cb266714e80de51800d161a53285d8ad144cc9064200e85d7ee8ebbb3", + "0xe077dde07b4e4307fa23bb0cd395ee512b87394db935108d00d0e46d1a5ffeb4", + "0xc0b97de616a42d490466d81b85a3ce7f46ea4cee57022a12da092b2aef09be27", + "0x8fed42f5c1487c6ad17c2412370ff1172d198087a4091eb6f2aa1877e9a61e9e", + "0x07d62a751087de1df2d8687e2e67b0cb07f84dde5e95a4fe680a94a95b33bbb3", + "0xda2a2cc60a40794dbe9da2566e8b35a2aca22e92827686140cc5a423ce7bac7e", + "0xd6701090ea4c1c8086b95c26c69877e2b84d4467d6854e3ed12103e5b9cd8cb0", + "0xd2b8b53fe51c789a5a40728fe5d175028d61228622a1cf64a892a5503ece69bc", + "0x11f4b295d9d61472824acb24afb12536d864743759a00f658b4f8db025872f82", + "0x59d503535045fdcf4d86731c1fd37c9c65e7efd2dfa537b0c978c74edf1af516", + "0xd7b38e5489049c4ca55862cf491d0681ae1c0b1261875462dcfc98206616ed87", + "0xe2f9518c555dad070d22048a4320bcf7022cdf4177a026a10f728b3d4e02b381", + "0x896b237ac75e197ac748bdde17cd536c0efb0c54e607de8365ef2155fceaf4f0", + "0x366ff6344f47e40b38e87e75f875be8ba5e1a9ab9dd72a8fc009d8c571781029", + "0x749ec784cbdce0551f83c58000bfcd1b1e43258af83ae0069a92f222cabf3636", + "0xed96377a294e5e8010b799504039dc6f1a8f92b62d65a8b60b521abafe7bd544", + "0x91a68de292d6dfec09a443a28b90a1664194bbc48231d13c9deb53cb76bc3cff", + "0x26fade986e23f2130a1af015b34af21884465b5bbdfb33110c00affae57ba6cf", + "0xe30769ef3a60118cbc10db868ad58638bcfe46df70ec577d8ad28c683e61055a", + "0xb574ab4280e61d4ffd6f7f1a764d5daefd3ad66d2a96bf7625bd8dee9c8e7ce7", + "0xbeb99648ebfecf062918137239f8c455854040f45e15480fd01acc2407956666", + "0x1d77ad535c196cf56481c38c877f9f71ab5c675c873443d52f2cd62e7b395cb7", + "0x35a6cf5fdd114d4c43dc58261aa645d64aa9f6adc2728b5c03a525f69c5c3638", + "0xfeaa8b112da3110c9640763f3bdfba5429052c32ca422b50d0b1d5333a25a7b4", + "0xdbc1e8b44a831e2989e2151395afd8d580c382b498dc1ee0d608f7d2eb53db6d", + "0x51ad0edc0e930246a0544b7026dc5c148283e8f8bf1e3ed9186766ffb9965910", + "0xcb4bd3ba80cf387128085ce908b650a6bbb548f46ed19a440bc859a4d69db985", + "0xfa7f93e846cf63f0cfab9db43ebf0608beddaef0bfe5e263273e2678fa7f0550", + "0x71da1f886871b44ad3369d2129d4624140904cefcddddb09808b4d10e24a0300", + "0x9f39ff57a8623a7d599d09d8911cde74d8ef91d36eef5e403df970fe444c4623", + "0x8b706b9c75f9d065330fe73ab42789c4bf3cabad37e654c7e69993a698e9c6fd", + "0x9f4a357db957c78b664827cdaaa036d7a14b78d05a404e09d64b64476a21f8df", + "0x9afc6149ee8297fb4e8e22aea5918b2eabaaac842c8a09e0412f1d6d301f985b", + "0x4d2f5d034575315bbcbf284985e1e8699b61c6041468904b0b1647b1f58a8a78", + "0xd4bb7d5738415c61cc30bdf7996a4a5304f96732facb4de8ce6a5bf9ce9fee6f", + "0x1d93552f15f433fe73c00bfe3d5152d3029efb1fa5fe75b992719839fc13f45a", + "0x854dc8a9a80d0ae1cb224b3257ecc2440af74a0c361c60a456e8923070060fe5", + "0x666fd21151268b08c3a5e40d098ceea3b37faa6fc1a83ece6fd767cf33cfaa87", + "0xd4e97d5e122be90fde89873c884fbd9fe0996d0293151c00a2135500ddf3649f", + "0x50bb01abefd329274bed410e2f417911bd8d816da2ea33cbf901493fe607ced7", + "0x8dae002ff33f574ea40c52ef6628255324714ff81655700691d246aaa5713e6e", + "0x0c2ab22e5a1bcb90a941496e8c6110f95f14225afb99b8e2ccd3faeeacd71097", + "0xd6959d64316a7570216ac11227e258e42237ec5fe329578e8ea2e24bd2ac56a5", + "0x5140a5e870b6cea053ae9ad57a5e3575efe56a56bd2256e76a525a264e14dca3", + "0x4d15f5e00badc310db102d038a8beca9aed5407f5639bd68183945d4763e8a28", + "0x497ec68d23c782f9c8c639b21524d1040028d44c7b0f8d385d5de8a88dd42fc5", + "0xea6c6aa49a610963948767503bfc1fa4844046df0701c2269d5fb5409698d061", + "0xe02ec0d9fcb7570a80dd1dca8480d926a3fb072c44318c6f16e6cccc54db4728", + "0xd420eda4f80d37ef1dc2b5cc65ddb0cc9a5f03a50d7b75a491bc851f7ee583f3", + "0x0b138f86e2360bacb59c9d99556a0d6a3557977312fb97a1f5918e51598e8e25", + "0xa11825b2eb16a15b5e76bf07d12031f9fcce03982d1badbab64245909329fdf5", + "0xf754f074993b10b8b1afbe2b347edbea75c2eb13ff51c163cc281469d5252683", + "0xc38a307112157c072354ccce911736ac7da6c870700a4de724397d166409bb91", + "0x85ff82206c48b23bc9ec85849d5c3f5745138b2ef9daaaff1552bf4d59b4eeb4", + "0x4874d96b8ff28779e45494531174299210a76477e20fd0a25d9c6ffc112df419", + "0x3e3769f1768d35da80a8b4ba85f65ba08aff5edb9a86adf8c33579be805d2819", + "0xe33ca3c434e313d336b470b92332bdd605265e6dcd1ddc4fa9cc984630f3e721", + "0x4082d0d62188316d388e69fdae7afada7d667c36074bc88f746e383558a12873", + "0x0cc0c16709452197d912a13beeb56ace4fb1ab189859304e03f4de22407f344e", + "0x1801e6e1b420c6ea368160604e3f2b634574ffd3f5144e67708d22fd24f461ec", + "0x3716ea29106402b256bb0c70d9ff25454d0b995a0dccb8d454f042cd712c921c", + "0x385cdb4a41381324f80f38ddde8d116988408cc3e2b880005b6e0877f1fb4989" ], - "cur_hash": "0x986385123bdb3ed5c7226b882240ee619f30fd584a32957fc27a83aa1e06673d" + "cur_hash": "0xc78226e859ace255f335c44fa3e916b4c6069fefbb6776e974e4c3b4a6389cb9" }, "withdrawals": [ [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10cff34" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x115b85f" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10cd45e" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x3bd0139" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10d357b" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x115604e" ], [ - "0x3f3a56e2e3c331929dccc2d2047a7c1ab1aa5777", - "0x10c8c89" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x1162d42" ], [ - "0x3f3a56e2e3c331929dccc2d2047a7c1ab1aa5777", - "0x10e364b" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x114f2d7" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10d2f3c" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x115cd97" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10d3f3d" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x115dbd2" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10d0440" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x115e97c" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10d1ecf" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x116642e" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x8c330e4" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x1165ee7" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10d3b7f" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x1158804" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10cf447" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x11563db" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10c765b" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x1151fd5" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10d5ba7" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x11601ac" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10e105d" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x1174a5e" ], [ - "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", - "0x10d4321" + "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", + "0x1146522" ] ] }, - "checkpoint_state_trie_root": "0xfbc6ef0ce50b4faed087f744cd62575a915ecd04457163c4267009ae95273ef8" + "checkpoint_state_trie_root": "0xf8524e50c1264debd26c29e6e9e1cbd02134fa930e42a5d778cedc90b3206e61" } } \ No newline at end of file diff --git a/trace_decoder/benches/block_processing.rs b/trace_decoder/benches/block_processing.rs index fcecfa19c..784b487db 100644 --- a/trace_decoder/benches/block_processing.rs +++ b/trace_decoder/benches/block_processing.rs @@ -1,8 +1,9 @@ //! Benchmarks the processing by the decoder of a block witness obtained from a //! node into a sequence of prover inputs ready to be sent to a prover. //! -//! The block being processed here is the 19240650th Ethereum block -//! () containing 201 transactions and 16 withdrawals. +//! The block being processed here is the 19778575th Ethereum block +//! () containing 201 transactions and 16 withdrawals +//! for a total of 24,479,837 gas. use criterion::{criterion_group, criterion_main, BatchSize, Criterion}; use trace_decoder::{BlockTrace, OtherBlockData}; @@ -18,7 +19,7 @@ fn criterion_benchmark(c: &mut Criterion) { serde_json::from_slice::(include_bytes!("block_input.json").as_slice()) .unwrap(); - c.bench_function("Block 19240650 processing", |b| { + c.bench_function("Block 19778575 processing", |b| { b.iter_batched( || prover_input.clone(), |ProverInput { diff --git a/trace_decoder/src/decoding.rs b/trace_decoder/src/decoding.rs index c6ac35106..64e0a1fbd 100644 --- a/trace_decoder/src/decoding.rs +++ b/trace_decoder/src/decoding.rs @@ -1,13 +1,14 @@ use std::{ collections::HashMap, fmt::{self, Display, Formatter}, - iter::{self, empty, once}, + iter::once, }; -use ethereum_types::{Address, H256, U256, U512}; +use ethereum_types::{Address, BigEndianHash, H256, U256, U512}; use evm_arithmetization::{ generation::{mpt::AccountRlp, GenerationInputs, TrieInputs}, - proof::{ExtraBlockData, TrieRoots}, + proof::{BlockMetadata, ExtraBlockData, TrieRoots}, + testing_utils::{BEACON_ROOTS_CONTRACT_ADDRESS_HASHED, HISTORY_BUFFER_LENGTH}, }; use log::trace; use mpt_trie::{ @@ -88,7 +89,7 @@ impl std::error::Error for TraceParsingError {} impl TraceParsingError { /// Function to create a new TraceParsingError with mandatory fields - fn new(reason: TraceParsingErrorReason) -> Self { + const fn new(reason: TraceParsingErrorReason) -> Self { Self { block_num: None, block_chain_id: None, @@ -234,18 +235,6 @@ impl ProcessedBlockTrace { ..Default::default() }; - // This is just a copy of `curr_block_tries`. - let initial_tries_for_dummies = PartialTrieState { - state: self.tries.state.as_hashed_partial_trie().clone(), - storage: self - .tries - .storage - .iter() - .map(|(k, v)| (*k, v.as_hashed_partial_trie().clone())) - .collect(), - ..Default::default() - }; - let mut extra_data = ExtraBlockData { checkpoint_state_trie_root: other_data.checkpoint_state_trie_root, txn_number_before: U256::zero(), @@ -254,16 +243,24 @@ impl ProcessedBlockTrace { gas_used_after: U256::zero(), }; - // A copy of the initial extra_data possibly needed during padding. - let extra_data_for_dummies = extra_data.clone(); + // Dummy payloads do not increment this accumulator. + // For actual transactions, it will match their position in the block. + let mut txn_idx = 0; let mut txn_gen_inputs = self .txn_info .into_iter() - .enumerate() - .map(|(txn_idx, txn_info)| { + .map(|txn_info| { + let is_initial_payload = txn_idx == 0; + + let current_idx = txn_idx; + if !txn_info.meta.is_dummy() { + txn_idx += 1; + } + Self::process_txn_info( - txn_idx, + current_idx, + is_initial_payload, txn_info, &mut curr_block_tries, &mut extra_data, @@ -281,15 +278,6 @@ impl ProcessedBlockTrace { e })?; - Self::pad_gen_inputs_with_dummy_inputs_if_needed( - &mut txn_gen_inputs, - &other_data, - &extra_data, - &extra_data_for_dummies, - &initial_tries_for_dummies, - &curr_block_tries, - ); - if !self.withdrawals.is_empty() { Self::add_withdrawals_to_txns( &mut txn_gen_inputs, @@ -301,11 +289,119 @@ impl ProcessedBlockTrace { Ok(txn_gen_inputs) } + /// Cancun HF specific: At the start of a block, prior txn execution, we + /// need to update the storage of the beacon block root contract. + // See . + fn update_beacon_block_root_contract_storage( + trie_state: &mut PartialTrieState, + delta_out: &mut TrieDeltaApplicationOutput, + nodes_used: &mut NodesUsedByTxn, + block_data: &BlockMetadata, + ) -> TraceParsingResult<()> { + const HISTORY_BUFFER_LENGTH_MOD: U256 = U256([HISTORY_BUFFER_LENGTH.1, 0, 0, 0]); + const ADDRESS: H256 = H256(BEACON_ROOTS_CONTRACT_ADDRESS_HASHED); + + let timestamp_idx = block_data.block_timestamp % HISTORY_BUFFER_LENGTH_MOD; + let timestamp = rlp::encode(&block_data.block_timestamp).to_vec(); + + let root_idx = timestamp_idx + HISTORY_BUFFER_LENGTH_MOD; + let calldata = rlp::encode(&U256::from_big_endian( + &block_data.parent_beacon_block_root.0, + )) + .to_vec(); + + let storage_trie = trie_state + .storage + .get_mut(&ADDRESS) + .ok_or(TraceParsingError::new( + TraceParsingErrorReason::MissingAccountStorageTrie(ADDRESS), + ))?; + + let mut slots_nibbles = vec![]; + + for (slot, val) in [(timestamp_idx, timestamp), (root_idx, calldata)] + .iter() + .map(|(k, v)| { + ( + Nibbles::from_h256_be(hash( + Nibbles::from_h256_be(H256::from_uint(k)).bytes_be(), + )), + v, + ) + }) + { + slots_nibbles.push(slot); + + // If we are writing a zero, then we actually need to perform a delete. + match val == &ZERO_STORAGE_SLOT_VAL_RLPED { + false => { + storage_trie.insert(slot, val.clone()).map_err(|err| { + let mut e = + TraceParsingError::new(TraceParsingErrorReason::TrieOpError(err)); + e.slot(U512::from_big_endian(slot.bytes_be().as_slice())); + e.slot_value(U512::from_big_endian(val.as_slice())); + e + })?; + + delta_out + .additional_storage_trie_paths_to_not_hash + .entry(ADDRESS) + .or_default() + .push(slot); + } + true => { + if let Ok(Some(remaining_slot_key)) = + Self::delete_node_and_report_remaining_key_if_branch_collapsed( + storage_trie, + &slot, + ) + { + delta_out + .additional_storage_trie_paths_to_not_hash + .entry(ADDRESS) + .or_default() + .push(remaining_slot_key); + } + } + }; + } + + nodes_used.storage_accesses.push((ADDRESS, slots_nibbles)); + + let addr_nibbles = Nibbles::from_h256_be(ADDRESS); + delta_out + .additional_state_trie_paths_to_not_hash + .push(addr_nibbles); + let addr_bytes = trie_state.state.get(addr_nibbles).ok_or_else(|| { + TraceParsingError::new(TraceParsingErrorReason::MissingAccountStorageTrie(ADDRESS)) + })?; + let mut account = account_from_rlped_bytes(addr_bytes)?; + + account.storage_root = storage_trie.hash(); + + let updated_account_bytes = rlp::encode(&account); + trie_state + .state + .insert(addr_nibbles, updated_account_bytes.to_vec()) + .map_err(|err| { + let mut e = TraceParsingError::new(TraceParsingErrorReason::TrieOpError(err)); + e.slot(U512::from_big_endian(addr_nibbles.bytes_be().as_slice())); + e + })?; + + Ok(()) + } + fn update_txn_and_receipt_tries( trie_state: &mut PartialTrieState, meta: &TxnMetaState, txn_idx: usize, ) -> TrieOpResult<()> { + if meta.is_dummy() { + // This is a dummy payload, that does not mutate these tries. + return Ok(()); + } + let txn_k = Nibbles::from_bytes_be(&rlp::encode(&txn_idx)).unwrap(); trie_state.txn.insert(txn_k, meta.txn_bytes())?; @@ -518,43 +614,6 @@ impl ProcessedBlockTrace { branch_collapse_occurred.then(|| new_path.iter().into_key()) } - /// Pads a generated IR vec with additional "dummy" entries if needed. - /// We need to ensure that generated IR always has at least `2` elements, - /// and if there are only `0` or `1` elements, then we need to pad so - /// that we have two entries in total. These dummy entries serve only to - /// allow the proof generation process to finish. Specifically, we need - /// at least two entries to generate an agg proof, and we need an agg - /// proof to generate a block proof. These entries do not mutate state. - fn pad_gen_inputs_with_dummy_inputs_if_needed( - gen_inputs: &mut Vec, - other_data: &OtherBlockData, - final_extra_data: &ExtraBlockData, - initial_extra_data: &ExtraBlockData, - initial_tries: &PartialTrieState, - final_tries: &PartialTrieState, - ) { - match gen_inputs.len() { - 0 => { - debug_assert!(initial_tries.state == final_tries.state); - debug_assert!(initial_extra_data == final_extra_data); - // We need to pad with two dummy entries. - gen_inputs.extend(create_dummy_txn_pair_for_empty_block( - other_data, - final_extra_data, - initial_tries, - )); - } - 1 => { - // We just need one dummy entry. - // The dummy proof will be prepended to the actual txn. - let dummy_txn = - create_dummy_gen_input(other_data, initial_extra_data, initial_tries); - gen_inputs.insert(0, dummy_txn) - } - _ => (), - } - } - /// The withdrawals are always in the final ir payload. fn add_withdrawals_to_txns( txn_ir: &mut [GenerationInputs], @@ -581,10 +640,21 @@ impl ProcessedBlockTrace { // state accesses to the withdrawal addresses. let withdrawal_addrs = withdrawals_with_hashed_addrs_iter().map(|(_, h_addr, _)| h_addr); + + let additional_paths = if last_inputs.txn_number_before == 0.into() { + // We need to include the beacon roots contract as this payload is at the + // start of the block execution. + vec![Nibbles::from_h256_be(H256( + BEACON_ROOTS_CONTRACT_ADDRESS_HASHED, + ))] + } else { + vec![] + }; + last_inputs.tries.state_trie = create_minimal_state_partial_trie( &final_trie_state.state, withdrawal_addrs, - iter::empty(), + additional_paths.into_iter(), )?; } @@ -631,6 +701,7 @@ impl ProcessedBlockTrace { /// Processes a single transaction in the trace. fn process_txn_info( txn_idx: usize, + is_initial_payload: bool, txn_info: ProcessedTxnInfo, curr_block_tries: &mut PartialTrieState, extra_data: &mut ExtraBlockData, @@ -651,7 +722,7 @@ impl ProcessedBlockTrace { ); // For each non-dummy txn, we increment `txn_number_after` by 1, and // update `gas_used_after` accordingly. - extra_data.txn_number_after += U256::one(); + extra_data.txn_number_after += U256::from(!txn_info.meta.is_dummy() as u8); extra_data.gas_used_after += txn_info.meta.gas_used.into(); // Because we need to run delta application before creating the minimal @@ -662,12 +733,26 @@ impl ProcessedBlockTrace { Self::update_txn_and_receipt_tries(curr_block_tries, &txn_info.meta, txn_idx) .map_err(TraceParsingError::from)?; - let delta_out = + let mut delta_out = Self::apply_deltas_to_trie_state(curr_block_tries, &txn_info.nodes_used_by_txn)?; + let nodes_used_by_txn = if is_initial_payload { + let mut nodes_used = txn_info.nodes_used_by_txn; + Self::update_beacon_block_root_contract_storage( + curr_block_tries, + &mut delta_out, + &mut nodes_used, + &other_data.b_data.b_meta, + )?; + + nodes_used + } else { + txn_info.nodes_used_by_txn + }; + let tries = Self::create_minimal_partial_tries_needed_by_txn( &tries_at_start_of_txn, - &txn_info.nodes_used_by_txn, + &nodes_used_by_txn, txn_idx, delta_out, &other_data.b_data.b_meta.block_beneficiary, @@ -688,11 +773,12 @@ impl ProcessedBlockTrace { contract_code: txn_info.contract_code_accessed, block_metadata: other_data.b_data.b_meta.clone(), block_hashes: other_data.b_data.b_hashes.clone(), + global_exit_roots: vec![], }; // After processing a transaction, we update the remaining accumulators // for the next transaction. - extra_data.txn_number_before += U256::one(); + extra_data.txn_number_before = extra_data.txn_number_after; extra_data.gas_used_before = extra_data.gas_used_after; Ok(gen_inputs) @@ -739,99 +825,6 @@ fn calculate_trie_input_hashes(t_inputs: &PartialTrieState) -> TrieRoots { } } -// We really want to get a trie with just a hash node here, and this is an easy -// way to do it. -fn create_fully_hashed_out_sub_partial_trie(trie: &HashedPartialTrie) -> HashedPartialTrie { - // Impossible to actually fail with an empty iter. - create_trie_subset(trie, empty::()).unwrap() -} - -fn create_dummy_txn_pair_for_empty_block( - other_data: &OtherBlockData, - extra_data: &ExtraBlockData, - final_tries: &PartialTrieState, -) -> [GenerationInputs; 2] { - [ - create_dummy_gen_input(other_data, extra_data, final_tries), - create_dummy_gen_input(other_data, extra_data, final_tries), - ] -} - -fn create_dummy_gen_input( - other_data: &OtherBlockData, - extra_data: &ExtraBlockData, - final_tries: &PartialTrieState, -) -> GenerationInputs { - let sub_tries = create_dummy_proof_trie_inputs( - final_tries, - create_fully_hashed_out_sub_partial_trie(&final_tries.state), - ); - create_dummy_gen_input_common(other_data, extra_data, sub_tries) -} - -fn create_dummy_gen_input_common( - other_data: &OtherBlockData, - extra_data: &ExtraBlockData, - sub_tries: TrieInputs, -) -> GenerationInputs { - let trie_roots_after = TrieRoots { - state_root: sub_tries.state_trie.hash(), - transactions_root: sub_tries.transactions_trie.hash(), - receipts_root: sub_tries.receipts_trie.hash(), - }; - - // Sanity checks - assert_eq!( - extra_data.txn_number_before, extra_data.txn_number_after, - "Txn numbers before/after differ in a dummy payload with no txn!" - ); - assert_eq!( - extra_data.gas_used_before, extra_data.gas_used_after, - "Gas used before/after differ in a dummy payload with no txn!" - ); - - GenerationInputs { - signed_txn: None, - tries: sub_tries, - trie_roots_after, - checkpoint_state_trie_root: extra_data.checkpoint_state_trie_root, - block_metadata: other_data.b_data.b_meta.clone(), - block_hashes: other_data.b_data.b_hashes.clone(), - txn_number_before: extra_data.txn_number_before, - gas_used_before: extra_data.gas_used_before, - gas_used_after: extra_data.gas_used_after, - contract_code: HashMap::default(), - withdrawals: vec![], // this is set after creating dummy payloads - } -} - -fn create_dummy_proof_trie_inputs( - final_tries_at_end_of_block: &PartialTrieState, - state_trie: HashedPartialTrie, -) -> TrieInputs { - let partial_sub_storage_tries: Vec<_> = final_tries_at_end_of_block - .storage - .iter() - .map(|(hashed_acc_addr, s_trie)| { - ( - *hashed_acc_addr, - create_fully_hashed_out_sub_partial_trie(s_trie), - ) - }) - .collect(); - - TrieInputs { - state_trie, - transactions_trie: create_fully_hashed_out_sub_partial_trie( - &final_tries_at_end_of_block.txn, - ), - receipts_trie: create_fully_hashed_out_sub_partial_trie( - &final_tries_at_end_of_block.receipt, - ), - storage_tries: partial_sub_storage_tries, - } -} - fn create_minimal_state_partial_trie( state_trie: &HashedPartialTrie, state_accesses: impl Iterator, @@ -903,6 +896,12 @@ fn account_from_rlped_bytes(bytes: &[u8]) -> TraceParsingResult { } impl TxnMetaState { + /// Outputs a boolean indicating whether this `TxnMetaState` + /// represents a dummy payload or an actual transaction. + const fn is_dummy(&self) -> bool { + self.txn_bytes.is_none() + } + fn txn_bytes(&self) -> Vec { match self.txn_bytes.as_ref() { Some(v) => v.clone(), diff --git a/trace_decoder/src/lib.rs b/trace_decoder/src/lib.rs index 4c2ef6d69..2b6e01ed4 100644 --- a/trace_decoder/src/lib.rs +++ b/trace_decoder/src/lib.rs @@ -102,6 +102,7 @@ use evm_arithmetization::GenerationInputs; use keccak_hash::keccak as hash; use keccak_hash::H256; use mpt_trie::partial_trie::HashedPartialTrie; +use processed_block_trace::ProcessedTxnInfo; use serde::{Deserialize, Serialize}; use typed_mpt::{StateTrie, StorageTrie, TriePath}; @@ -412,7 +413,7 @@ pub fn entrypoint( let last_tx_idx = txn_info.len().saturating_sub(1); - let txn_info = txn_info + let mut txn_info = txn_info .into_iter() .enumerate() .map(|(i, t)| { @@ -437,6 +438,10 @@ pub fn entrypoint( }) .collect::>(); + while txn_info.len() < 2 { + txn_info.insert(0, ProcessedTxnInfo::default()); + } + Ok(ProcessedBlockTrace { tries: pre_images.tries, txn_info, diff --git a/trace_decoder/src/processed_block_trace.rs b/trace_decoder/src/processed_block_trace.rs index 3463f662d..0512632d6 100644 --- a/trace_decoder/src/processed_block_trace.rs +++ b/trace_decoder/src/processed_block_trace.rs @@ -35,7 +35,7 @@ pub(crate) struct ProcessedBlockTracePreImages { pub extra_code_hash_mappings: Option>>, } -#[derive(Debug)] +#[derive(Debug, Default)] pub(crate) struct ProcessedTxnInfo { pub nodes_used_by_txn: NodesUsedByTxn, pub contract_code_accessed: HashMap>, diff --git a/trace_decoder/src/type1.rs b/trace_decoder/src/type1.rs index b50e2597c..96e153fca 100644 --- a/trace_decoder/src/type1.rs +++ b/trace_decoder/src/type1.rs @@ -365,13 +365,13 @@ fn finish_stack(v: &mut Vec) -> anyhow::Result { } #[test] -fn test() { - use mpt_trie::partial_trie::PartialTrie as _; - for (ix, case) in - serde_json::from_str::>(include_str!("test_cases/zero_jerigon.json")) - .unwrap() - .into_iter() - .enumerate() +fn test_tries() { + for (ix, case) in serde_json::from_str::>(include_str!( + "../tests/data/tries/zero_jerigon.json" + )) + .unwrap() + .into_iter() + .enumerate() { println!("case {}", ix); let instructions = crate::wire::parse(&case.bytes).unwrap(); @@ -379,7 +379,7 @@ fn test() { assert_eq!(case.expected_state_root, frontend.state.root()); for (path, acct) in &frontend.state { - if acct.storage_root != mpt_trie::partial_trie::HashedPartialTrie::default().hash() { + if acct.storage_root != StateTrie::default().root() { assert!(frontend.storage.contains_key(&path)) } } diff --git a/trace_decoder/src/type2.rs b/trace_decoder/src/type2.rs index 8762d849c..648ce34c3 100644 --- a/trace_decoder/src/type2.rs +++ b/trace_decoder/src/type2.rs @@ -224,12 +224,13 @@ fn iter_leaves(node: Node) -> Box>(include_str!("test_cases/hermez_cdk_erigon.json")) - .unwrap() - .into_iter() - .enumerate() +fn test_tries() { + for (ix, case) in serde_json::from_str::>(include_str!( + "../tests/data/tries/hermez_cdk_erigon.json" + )) + .unwrap() + .into_iter() + .enumerate() { println!("case {}", ix); let instructions = crate::wire::parse(&case.bytes).unwrap(); diff --git a/trace_decoder/src/test_cases/.gitattributes b/trace_decoder/tests/data/.gitattributes similarity index 100% rename from trace_decoder/src/test_cases/.gitattributes rename to trace_decoder/tests/data/.gitattributes diff --git a/trace_decoder/src/test_cases/hermez_cdk_erigon.json b/trace_decoder/tests/data/tries/hermez_cdk_erigon.json similarity index 100% rename from trace_decoder/src/test_cases/hermez_cdk_erigon.json rename to trace_decoder/tests/data/tries/hermez_cdk_erigon.json diff --git a/trace_decoder/src/test_cases/zero_jerigon.json b/trace_decoder/tests/data/tries/zero_jerigon.json similarity index 100% rename from trace_decoder/src/test_cases/zero_jerigon.json rename to trace_decoder/tests/data/tries/zero_jerigon.json diff --git a/trace_decoder/tests/data/witnesses/zero_jerigon/b19807080_main.json b/trace_decoder/tests/data/witnesses/zero_jerigon/b19807080_main.json new file mode 100644 index 000000000..33add5136 --- /dev/null +++ b/trace_decoder/tests/data/witnesses/zero_jerigon/b19807080_main.json @@ -0,0 +1,1024 @@ +[{ + "block_trace": { + "trie_pre_images": { + "combined": { + "compact": "0x01033779ac18716333eaa8b1ee23faedf89eaeb26376210080ea0b6c433ce26cb792037574323ce6b3c85015c8634e605f2bacbf96585b00c9025895db7dccaeb25c20031f0277ea255926ec80976c3e0c6cff328b4a62975ef75615863a6d9a8bfd7c130382e784b1da96aae9e2b3caad0bd92c48222ebf7839320089918d98d273e65a2903d3d0866eafbfb46411b41fca6e7c1a7c3a1f44811db62bc91ee93b17fbcb58f903e7fd542c7765c5510c6de407df112d9346c3052bd3a9a3f0833c10806e926f67036484f5d244034b7db0866222fce3efb5d3cd4a9a33cfd04990f083d653bdf98c038f9965353925cc629d7ab66d9ba3be03455c55f95aed5c04fa48dffff53a58f203cdf44c07525e702674e29efa63ff73aebe88d24953b032bd1f46439fddeef250034370b17e98177b64553036bcc9ebe6ca2fa04734d35f13fef50f29586884145603f824149ac38976ee93444b078acd3dd902ef9786b3021c0fe1bdce84794f00ee0323d249d3bcd11058160ca35a34d4a14e397ea67921af26d2d953d63b16281aff03f5054df6157a58891c4f4ba4c7051f366f6f0015b57b09b2657f0150bcf0b8800343d15dcdc3d5efac93795c05c6913f0b432dbe2f92b3d806e244a51d3464755b03966389c702b0bbdea6b282ebb6c06da03f30ef74cbb4e487fdffe04095bc8330038c072e44eb5d38675e81d7c7623f99c0df3f18326a47316c48ff10db723700770315cf6bad672c89529b200568b8102ac1fe541fc57e13b5374576275b7b927f58038a887dbe5a4535228bb4d1dafdb8d525939c3d9344bb4099160e8ce05a68d6920316130e3944bd82f5f54401b06685da78738459bebf019ba3646cf5e1f2f5213c03ee3a842ddd1243db9a564664b85d829006a1134c449f2d5eca7e9d20acf9d63403e1b69cbba0289fb3e370ff8d74ffd4dc1d85db400a299870c09135d3e81ec071033c09ed77be3902649b5290ad18353daf5a4079c65d1786029f7798bd64fb6a01038d019f3435b0e54f223d69e39fe824e75200074d91a30246cfb34a3783c4463703c02b838cd1d3db81a706700e30b4e53728205aa68a3a849592afc5105c201c2403c3020c3e60fc86465eec22d520e147ca83068e17842f542f4bc3682699d4555003154fce6043787886b3efd46ce95281528132709ed624c382db1345b57f7a74c50315f236830317921dfdaabeb920a6f308e16ff1c06ab19a03f223e65fef24bf9d03a5b7f77f93a8111cba1b112864315f4b44412563c68650c9596e5c2427c5f4030307ca7dbe52955c286b792595fb42cb1233e1d53da1760c543e08be13268a8ac703a6f5ede0875bb7ea0387e36389509a0e2d178d5dbf6e5341f2ec16d34774072e037136a6c56b17ec61ba43b8168fa4828e6da00a570ac196efc3ad0f1103869bcf03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03084b81013b6587e6696fe7b719a0725c12b952ec24385e6e61292f819007011bffffffffffffffff05581e03a91df29e0b231fed9f835ccce160a54bfcd07d62ef0d072dc5a25a2f20040205581e03e485f8fa3ecd23ef16485af319ee03a7abd373a3eab3e24a2d671ba0e00c0547adbdfbbb33772c05581d02ba92575482222cc6c6f2ce3a509e5575c0916abc26f8e6abc20e7bd50847af1e725a56355005581d02804bb3cec0269ac8b062c4cf2e0f525b8475d86816e5ac95f70d161b0c19014f4905aecb9e914af729fb0219802003a6cbf61f05a10a3503e7bbd2daf98492e120eb1fd3f31e56f8b48bcde38f091b03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03ab49bd0a6b152d309d49ddbf8a3cc062892cdf65b012d545ae5f08dfc007011bffffffffffffffff05581e03e1125504e79dd63cc52b693a4ba421c6d38bad7c748db6744acbe40b500c064701d6362429ae0005581e034a81699f33d820054e21486be616f2b85bb7ba689b731c302b510d17200c014701e32940b051a005581e03088dc52df1c821d602aea4b9943d4b4cc7cb1196800ff10c7f86ce315004010219a7b9036d65aa2c676a637aa985cb3d802520f895945c67174283f8c5bfa93ae95762a803ce4bd618fe6ab413cfaf48e72f832ec7a0aa585f19b457ae53cccec66cbd0eaf03d3a1afe00fb4b4e7400888b75c939e55c20e727c2be54b51d28eb70739ce949403366c6d43540c31a7a47103bcbd722eb849cd7b09c62ac9f7cbe4df25b3a62d2003d8fd4c90f8f39e168662557028a400e8b3f15c4d530767d43a42550a82ce9d83039f2b339675a4ca1b4e665e10c8744f53ffaa3142b4f36c183cc7df6f9ff416a303bcef9c2acc4cdbc54f26c7dce6f1a0300d3bd105233a67e9e8c0c5983cb37770039ccc5386d9fae80059b3563315468a416b4f433576d050e7c7d191cd10dcb7fd0347902918c6df4e5fa13e2ac68a44cc489ec913f80769e2a072c6f3f57dfa60fb034cf8a2f7c9d765d7ae76fb7fd93dbe58e02be9ef77243dca012fc2c111a66f3c0219ffff038a87e71935a6c03fc655e37d2084542a110bcab781d81219a42d2e306ad10a0603d4d30973bfaff35861879d23bb71c42725bbabade2b9040ac316bb1dd59de35903068325651b8e9af1bd5c24160390b29a0c08f1fccd3268098a6664a6e57179370318dfe6a2a838248d8ac46b0451c67ff807dbe83ffa91ea46b8b75d8a5a6e8d4c03cc085ac9c77c645ab1a40132fe16d9235b45c78b586af5b414f48dc7c2b9ac9303fb79045fb5143671222e8a6161093c5770a4eca03e97140314df8ff2681c71c70385fe99fdf3e1bb8a92eaebf1b34fe9d660bb233d6d9cb0bda1464b793975ff1903d4052bfde7f1a30f7440f67cdd7888d19a9b1df7de37a21c21dc38e116c892870357cc88a05e470e52a1bb4676b7b74daacfa3f2a92879ab3bdc69b93cee0b524e03aa2b65f9b49f4cf77c5cc175b840aa504d6707e2512f85188cf2438b842e857603ce301c228dd726f20c40c0b0f996b91e3000e2128bee8508fbdb8b40e2155714036893ee48254ab45772282751648ada94fe08372e84e1a8a74cda93de1c5064330219ffff036bc65e4f8f9c4db613e4f645916134eb50a304b1234f5704752caa9bcf8a4b4c0312ed86326ad3fd17284e0cdc9d89091b8ed48520dd6c1cdd8c81a7dede60c1e603be907c5d58601daa203e6fdd42648f058eded9594c59c64ad5f03c32b3c8ac8703678483977ecdbd9344d9b2f69f416c85c6388801778696d8a0be51f164b515c60314a6b5a25b62f39e2d9d7cf4e8872b59d753c2851c4b92485eb495f5c302e79e034cfb9ef48fbde023d36423b0f49f033498152fc8503c61132f81bfe0f5c26e4b03106403b51c750a735d1bddaaa349a10026932ca8ae81ea2b81eb1f8a29bff12b0219ffff03ea3db328a4986acceaa5ffa34bf166bf8d881b4ca8997fb61b0f35296a83acd8034a30bce55dfe93b665912c3e5615b64ebd1e0af1a6fb2a226eb8ee24cabe22a80219ffff03673fa84aea0b0f8628d895697bb08c09903a0cb92db83a2178e6a441ab9510b803006f4006055dde70dc4c2b87106be96f079a15abee5dcb60aa5290785ccec50303305c223d7c65d90cafc1c5830f27cf58e26fd0755791a4d35d9c0b5827649cae03642a97b9d56cf442f8082fdf83d1518930c26a04a08efaf10a5d94338ed4594903d7428c54eaeecbcd89277ef5dcbede101b2ac47701b877a2c79856fd0693717603b974990a02b358f377db44a1d11510515ac24e2e7c1d459389986b633a3d5cc603ec29e57dbc7e1129e75093fb04263f443b35374da59e0a7f0c927052d52ef6d3035326307f35e9b6e255605cc5901a11224a938f62d63f835278cc37641da250ef039ab4641c650ceb1a60704b98b5e2ba0b83290e35b20afb1bfe1908ff8705f6f303588ff352d7528fa0cfc6e6de63fa2524a7c4e7bfc8143bc1cb98b4da1f261ace035c7bf11a00d5750b8921627801e5bbb6518dc31b17ea529a1d9d93510d4aad9103666d74a52d44aab3ab4f9e28f48dcc592054d1bd1d13dca508bbc097e79628370321789df6e00ce42c74c3f015dc84e9a915cffddf24b4a08fd6be4a605c031667030463b307a2b6b552ee059829fdbe0a1ea37a5faa78bfa8586bfcf3520374c0d9031f8e6a3427ef6ef844ba16da319406f23e6cf14ef9df5639f87fb37d3479377803b268d6ba72c73f7f1cb163c74466ee1a5ed0dd0cfa2fe3f538699fcacaf8f783033dc408e1316c7fb267d2800307da7bee9d586dbcac8db366be4550de02972899030fb7bbd1977d6a5af1621e97701e3263eb41f498c0a2750bf106e5321575046203bf80bd77ecf6565b46d1154c36ff145eccb12e2e906755f44e5d5d08e37d834803934a0f18fe0401d10cd9078ebe9523349c2a8787c8f7d102c6ccc3c9adfcf7fe03f5b11eb47d78118e03e374fa2aa010742f33f6f60e78799849bbda689975dbff03d4ec39a2a6f526978d0520c221edb1b552e1647d6ea988121e14885c1f36614003909c700e36b36b646029de7eb8c28933eed667ab03c80f6521808b175d481c33037b3b3abc93d2e5d47d14875c12fe53a4d1ac82f3967bd1ed34378441f2acf2e805581e03580a26e0f75462fdd7aa448d121fc649e46fc04a182e29cec4e8546c9008471400668dce880005581e036cb5135f76e47ab0ceb25810c334b735e4bcc472003720f904ac837820084831444faa80e0200005581e03b421c7951915ff8b0f31869caa956d7f48f5c282aa771b2b63f6058c10040205581e030bfab676abff632c74d8327002ab236cc0fc98fc76f27305bfa6c47be00401031f9dd64ecce4e8deb8daaf5ebc66fc0c4e0f88f77092c41968f588a247fbd4df05581e0344d2efb90a365cd28896d14e3f60c86d9b7c0e006e433db674d3d7a2c0040603f856fd0ac73cd3d02b9907b9db4ebf7cea663ccae0598922600e02e5154669f10353af315a0fcaa9dff012916a9a129f20c3b74bae1a8bb08a9a316de5f8e60f0e05581e032640cabedae07e7b2cf2f87380f1c03d6915bfc8ece216a02ae2f248500c190a18480936e2106de2f64703e9c928a377a0a5c361cdf0424feab2e041dbaa42e8be97c67b8cdd32b61193660219ed8d0359c8e5cd5398897f8ef29cea5ac0a112c084e0c4bf1d09dd5bc0df1f453d05110388a34842733985b3a2ad89951f47c279207ce4032188c01d59d5ce7398017208039301ee60769a5cc1e1b93db3f8ceaca862d1b6230cf3dd894d795e9bc3c653b703706e7308c91c196fa759e9a744ca9b43ed50402e3f21bff848e3a92ef1fb9298039ac17e7f0739eb47bcb4b59bad175fb16879e316d937ae265e52fc1665dd179e03f5d1c4bdafba9c9f85e12c76b60b321aad40ed2dbd4c115c82f64f53c83f2ae503a707123a8de89a86642af5d17a5f46a405002c99f9fd9636df48acb117ffa6e203aa0fb7b0887e5cb555f44f9d7929051fa9657c39b09e32086c569ccb6e6c64f60219ffff036c5a1f0b13a2612419148584c832446b97df1f9c67bea20032c475945b4dc62c035504938b4588e9f1c328c0f5226c65bdc483f463acde1ed92560075f96ed6f33035e150a796ed8cf2905fbb3da7531ade6a8d6c63d04f5c92afaba93a76071a91d03d0cc3d19e35ab6988464ab4a30834b7998161c82e5ce6eab15b19b6c12c7fef803b9c04de2fb64d6e60e9be70249151c84aed39118ef3a52f9c027749de938f8f003a5b52af42d4ce1ec784a3a642e8b2f23f438e782cfa8844733cf0522f967aedd036529e10404bacdc1bf05787b9b90448fe39661fd6227e75e0d03098ad579966f031dd2dad2608d11e93b1e8b3efe63c3157cfcf2aa5fba24b3a78494cb303a3b1403120d3a8b7f9f8aaffdb4dde5a0095937a6a16f14a3c6fa2e560ea79171018a240310b5b51c5754134f5f36b7318e6188e4053ede2e7fa4071e8260fc421beb6e66033a20fbe50aa26dd941bbde42353ed1db1218ef553664db1e476b1294c3900c060219ffff037d41bbf4b13fa70838409c4730370f6d758580cad57a84a2e70a3b293959805b033dbfdb3f8c910f657e3842c1572004a8c27645de87d67a4546bc9d627ccd079603b73b9136efd9b214d7273738ce8e47ff73490ebc8f5e781b0d2c799c3a0f64c9033ceae6fb2fb39225d3be1f6171efb911f4598725efb952ab08d304dea121e14003cd9f727d584242a4a67dd2bd3368f9f4181855c2cd227475fc10bff01948356503ab77af421ad2d237715766947479e19bfaaf0734a6c64f68dd4846c7d3cfa64d034e68c1099de2910c199ea73b57042f601287b66ec29a68d556edee14601c32a303c2fb15dac72b853eba1ac2afd03d7de99db6097600f264ef8cb42bb87064c7bf0219ffff03ae72ee11061fd18790a03a54f046e273bf861dad63d9a8a72341f09b2fcfe1750326c892150c6bcc75c040f7772b6c6b5335411a530516b2e3a4bc556dc6ee0fa9030ea23e6b71bae4ab262177837ed3d9d54f8d111c14587ff8a4cc38e8631ffc37038acf9a4c95ae79f42775f2dd362f0a51f640b40e92f3402e7c162b3c20c01241038016d5786f51cfd02ca203f36389f83f1e9c551a36e6cd2bf2caf9f7e71bf937038f4567a77cff99626d05f8793482ee0d973c7f8d213420244710b4e70638bc7d031d669fd05a028d7b686956dd23115a125e7f3f7eeba3750f1bf309fe9515c19303ec69863dfc84d9a61ee5ce2040e078b46096927815d9b26d6a8c79df062c74a503ad65c2085d87c1de63c1b67b9fc9f67d7bd5e46bd94c388fe8dc85d00bff57c00377eedb3bdb67415acd542cde19c9d40094635be6ab36140adeab42e96b92cfb80219ffff03d1dca78a8a141a285a6bdf05d94f21e002557d73e68b191e11f7cd311f3ede2a031acac9d38ca38ff98da8d0f9a2a8789f968c4e379ad3ff7cd8bb5b5f9da385650387ecff14def0afa74183e00da5efda82df545c98b7e859481aef8f24a2cdc8220343625f41f7af9f1037d70e983a3b8d0db1adf239660b16c3d73e730a4f634d0203f6a481afa4faab91d104cdec398b537be074a99936e5a3491542f42bb141e10803cb3437e61f8ec2cfd51f006df4f9f2fce562b234ace6a91cf2b9835ff172be850352e759d1c87ae5e9391fefc457ed50d3814da8e96d60998afbebe028b8aba2e403bc4e03f127d3dbeca9755bf0b0e5314d9bde3db19a70fceb0debe574cd5dec2503cb08fc461bd03abb1fe6df856afb879627316c3007f98dc20e8f12f5d3122cd003b233519fbb55d2567ec4d592e2ffe047ac13f38b495ca383c356d5edbb8063690356f8eb2f637eb2b6da519d6ea20a5b3183005fa5d08c0b7572a9425fa6d78845038cf30f717edd9258c60cb2ed43e6c814649e63819111d0263f14722a4f871bc5030b98e0d643c86f511c800e28512adb9766b8b7ec83a1eb9f05063de4bae18019037e3b21f100b7d02806a88460dce0a02a1aede13252b273bdb2521a4e898200b203f2ee256b3e1dc4a7c7596e54ebf4a0eb8c2a85feab0603a2577db8d3abf074c3036443af6e39f39a0d6baf98a77c15bc9d2cad412dcc8ef690a32fb3aea772bed9034b026b8214597b35919c7f9bd9780d32fd2daa2d558fbc69adf027c74c9fd068033e0cbcc44291723f9a212e32fa81f7a09908d83c20eefd3c58aa4edeb84658d8033269463fca63ebe488bf9a87a1db205958c54cfbf43c24d9503311ee0fb53d4b0392890d961f6c0ca76151b99a3aa4bed0ac198ccfe387380daed62bc854cc0ed103cae85bceefac339e981320952d8e1854f73a931df8837c8b3e1865923e936532032a5ea55e51c8ff67c6a3f13c521ad8d267f4dd0cab13ab2789ef223df2a4d55005581d0248c6c547ec55378e2c0a61680666e229104d5132fdf9ee31729e64020c014705b19fa46bd50005581d022a37715299ed85873b9ceaa8a2578309efe1ff9d3d4474247d96e7e2084801ff973cafa800000219024003d6f4261e3eb772dbc22561849021fbc514fa158bdcf3294d8ccfd5e00bcf520503f9073dc0c6318b7a3d4139205bcf2dfc19e52d92f786eb0b7daf5150a74dd725021922990353d71e82ce260a30018c76a6c9a39a8e6c5c37c78dbbe246c4af86c5bf9b6ce6033383bc0b2d03bcb5906a7f396ee41a2a5c36507139118801a24359015558cafb03b8a5aa6fd604059e03516b4e1e0cc6f4fc2240893e74d3a8966043bd8961a164031bb390335989c555bfc3182e0476da76d59a5175fba90e61f4d2bdf614c8a6e703c11220ecf272dbd7ed4459cb7674ce12265841898b5fbe2016a8457cb34c326c03c5cc4dec75d39dfc41755fe91a224265d9e5a22d75f99eeea6a8e9c85468e86903c26a8ee1eeb84c898a479372826a7643d2da4dbda3aec9641465611d590039a203e7753a5102330e4bd9c397090d2cba9105d869ac7ca7362de91bfd8250ceb14103d743b3c0c2aac773abe7e6ba4d1e3f4cab1cfe7db51d8e1e3272c57071f4304703b4adc0b2abdcbab1ed7259159d8dba7404bb90b1ec7167f6f2d4e43507314419036efa33540d8af22ada129bd6e19c8566075088a3aa6e613a4ed39378eaf842e403a791e80119ee3297e129e171432558f5cd5dce6cdb079d123646a012d7aa7b59037d3c36e13194d7e8e3242ae072796a3092458f296a90f3424dc469f932c3b92c03293059d7f335b0215c61193acb55440962ccfc8a44178ea82c4ba8fcc7c082b80219ffff03215151cadcfa8461c6ffb721016f5e1841b26bd20093c2285667ee1a2c835a7003e2f94aa7aada4eac688ab1468a0e76028ebd508f0c5ab7f7fa208c1900b9ccc70308c5a4259db46efdf4f4c5e5881fc5f183d1375aa744815dd56e66675d84133803e7134df08bdf9dae09e63915e3e7a3829c48ddf5868e2aff91249b14e66c5374039685124197604d3b54ac35482805264b69dc564bffa18c9ba6ea1c78d4019dd80319f4c967aca3a82efad1f8b56b53e108ff25374eae7600738e9c037464c8b316037356b0e8a7a3026197d2d03f11ee324f39d2eb3d4f2b3927fedc7b74293bef3f038f9ec361d5b1a6e87ceebd85118772733e207c8f012c8d73bc979acbf587dba603983d177bab22d5da014ab752200b7143ec636c96a92c26db7c51c3f0e1d29c6b03196af95e9d505162163089eecfb5f79da1d3afb9b70ea9ec66e2febe4b037feb032c3ff131a66d8aaae1b63e9222c53f51b1463f004bd1a13c730f889aaff8c964038e0cb7d3461eecacadb4fdaafc6adc39aa323dfde36eb857db249943990467b5036ae293a1b476ad4710c1e3b322ba6fa130111f8292a7578372c2d0895b8962c803970b99093937dbdb65b1bbfcec734f02993474eda5944f37ffd3c17f7f66e6be0219ffff03c416d48e7f3140778c6721437cff0075abcb18241c7a39e2c2c8e48290b9ca920379c2eb811d777888ec28c959be06d36f3865c4d2911b2b7fb3f7489d0c0698790362e0c01a7c9ac342ef5452e5ffb086067b26b0c1f26bbf8c4a827e94632f64c9036a57017047137b45f8170bcbd25ec0c37a62eda63e203342c36277d15a07fa6003268cc63bc3aa8f9ae41f088a286dde6bad38b9fd4355730c48dd0af45f905e24034928871f92cf6bcbf7a57728558549b2c21b79c6108d7961b1e9845e6a3c8f4003f6c0a1eec7ccd3df5cf1d836c60c8bd98271796a5385f1eed73822b2fca6a9140361d754ebd451cb85f21c738fb583c375b2e973568464354c846f82b342a8d8dc030356de2f217e8d3f5eb624cac231b69f64780159d74cc15ed19deaab698078c403ef9f6af60f28590fd0d268dbc470a085ee5918851f43a6184fce09a1b77921e70219ffff03b1d87303aaed9bb71bceb48c31cd23010095a95c4911a68fec063ae654c781d60307d0ee4fe250030e124f0b2e0b445daca1b533cfc64f7df3af8cdfb515d9712803d5bf153ad911fc391f4603d4d1cb07cc7f4eb94a9c355c1be5b41e25112e76de0381b723b8407bd8f11bdee313379a9affc5abbd4bd797bfe2100f96e098558bb1035b8509dd3007587a15cb92ae6cadfe994c3788b7b715b71a717cb6afe26bac3503c9170c41846c880e6b215223c6c88eb214df88c646c5b46cbf1981e2f481a4ea03a879d359b8c140ada36ae63352f961b9a70656e89cca7b1e6b5521ee2f5351710219ffff039fd6b523cb251d7a170bd581ad2e9e258e3e62160ca3badacfab6434ee18798f03466346b08dc08b429818c54672c4323d1c9d157a4f519b76b6d0f955eb08c86b037a22764d35894484876ba73ca1e6c2d03bb86ca89b34397e227cd6a3a8798fe2038cb78be7dd175e1ca67c2ba8e025f660e1e99ecb1b7be03fa1aef4523fe9c9dc03656e6cb353651309affab0995d8dfec147e346d0cf13d7abb9391aeec38b6307033ed40d526fec01ca7bd213ccd7d8a62055831a04770726711e8dddfb880d86d803f2b8056eef9243343e36c8d82f36b27646da99817f5d5e82ff31d58b9bf0be350219ffff03df3592210cdaad452cc40f0e243d920afbb033fcd9490f2f6cc926dea05cf14b037816658c639149ab3eebb38f6ac22cf38752b7e4c6ddde32a6c3246707d80fd903f5ac862b401525c3cfdad2a29ce5294bbddd3ed338b6626fc8f9c44fb1cf8d90034be77e83d32bf9f4fe2880b66ad8908983dfc1dec078d9e31d227d786b8cf148039f0e8639747e8ab71adc53e8b07f01206b5900c0272eae6594d37c750768abea03c390f1e47a610cebad6c27e089e33465b8fccbf3ad3b3b7e2a07457d8ba632c303cdd9b0d1509c100dbb97d416ec662e3077cddbd5c47aef42ba982f7c0cd4769703c4243f4af1fbfd6a87252ccd6ffc33385970802e52996d723483078a268f13a803a1ecedf8165b6b65ed1b9994f5d3c514620fb494dc86171e6194e33465eb87cc03088ec9d7bf047917fdc5049955ba7851e13907e685f43c2df16e24591c9dde5a03ed094da69c124333f8345d6a2d61fd3009f13d18af68fafe7b821221dc796e5c0337a03266a9bdc253aaeaba6b66a4a347f18829c6a23b248db62eb21389bae960039fb3a610d2830303b2fe3efc4c420bb5d26dfb8f99f1ed9ab0df274e2ce53a5e038b0e0c639fcf93b1ef48bc870cf1c2db6dc710a364386b61e55e29ccda4d584503e41f647481abd0f1ddcf9362df2eaa21515cc62a98184a3e7e165189b69b9d3d034ca3128be96a17ef0e09f3d1a4df42be6cd707c193b33d55133225873d9426840355ff618203c69889c9bac81fe7c29259b911a8bfab94d550893576bd8eba8a97032cf9f0cf6d3a8d5299973d08bc171ff6c5374b9549019a33b69f1ba8224fb9cd03b0dedf0a2c83674687d5d90a1f5f176104ff7036cd01ff5c0125d954c047f974035ae9ad796ba4067225e90374539826e4e4388c926dedf59477cc5eed7dc593490316ced7b33a98ee1c651fa2fcbe1a0374604f7c909b84f062b589aec7f44f11d703f2867144ee588e4d55ea4761c23e21c783ee2cc00c68975aefd48df592f2b8da03f9164129351a46f77d025bc0509050e9eea8cd308710920658ca1f3063b1cf6803052017d82fb6f8a4d85a9cdd48f3f0fed849d1cd1aeba0fc2884557428a4ede403ee4b6adbf3362ff64d07641f516d8ec746b044f977bb448911c4e0af555365e503cff85de233b523d9d1457c82daa68ba239ab77f439892acd0a2068bf97ebdbff0385d0525a0a0034c5bd08935cc25dd3f51edca9ebb6fccd04f02db7502705cdbc05581e03e46afb6f2a29b471fb70f204efc85a293e3aafe620b6d7184495207d900401037e5088d9117486b2f086a8ece3ba2d74100ca7b7abf188cb800645b99b0b36de03546360b87e0fdc3a10341394d32f120453ae1f8f3d21372cca6361cef94f473305581e03be7b9938054f9dbc0e1be10d1cb4775560fc4652f94cec4c823790c2100402038bc989e7c0e91f054a8fb35ab7646b78f1dc692e67dee5cbf05a5e390a5b96eb031355d7d9562a49fdb90376af866d3927f7b97c55954ccf4909fe488a99284aef05581e03ea58b11a2d9b9076492a1cf0a1f28ec2abc3ad5597945d915728e2485007011bffffffffffffffff05581e0352bc53f1d7c8c3f1070c02f6f0313e53ab53b786b0dfc5fa833a09db20040105581e03ad08a72a553101e869eaa555d3ee8dc641c102d9db971a2c88791db4e00c05470178bdc1aac140045917fc608060405260043610610113575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb146102ee578063bf474bed1461030d578063c876d0b914610322578063c9567bf91461033b578063dd62ed3e1461034f575f80fd5b8063751039fc1461025e5780637d1db4a5146102725780638da5cb5b146102875780638f9a55c0146102ad57806395d89b41146102c2575f80fd5b806323b872dd116100e357806323b872dd146101c6578063313ce567146101e557806351bc3c851461020057806370a0823114610216578063715018a61461024a575f80fd5b806306fdde031461011e578063095ea7b3146101605780630faee56f1461018f57806318160ddd146101b2575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820190915260088152675a7964696f20414960c01b60208201525b60405161015791906113ef565b60405180910390f35b34801561016b575f80fd5b5061017f61017a366004611451565b610393565b6040519015158152602001610157565b34801561019a575f80fd5b506101a460125481565b604051908152602001610157565b3480156101bd575f80fd5b506101a46103a9565b3480156101d1575f80fd5b5061017f6101e036600461147b565b6103c9565b3480156101f0575f80fd5b5060405160098152602001610157565b34801561020b575f80fd5b50610214610430565b005b348015610221575f80fd5b506101a46102303660046114b9565b6001600160a01b03165f9081526001602052604090205490565b348015610255575f80fd5b50610214610486565b348015610269575f80fd5b50610214610500565b34801561027d575f80fd5b506101a4600f5481565b348015610292575f80fd5b505f546040516001600160a01b039091168152602001610157565b3480156102b8575f80fd5b506101a460105481565b3480156102cd575f80fd5b506040805180820190915260048152635a44414960e01b602082015261014a565b3480156102f9575f80fd5b5061017f610308366004611451565b6105bb565b348015610318575f80fd5b506101a460115481565b34801561032d575f80fd5b5060065461017f9060ff1681565b348015610346575f80fd5b506102146105c7565b34801561035a575f80fd5b506101a46103693660046114d4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61039f338484610970565b5060015b92915050565b5f6103b66009600a6115ff565b6103c4906305f5e10061160d565b905090565b5f6103d5848484610a93565b61042684336104218560405180606001604052806028815260200161179f602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611067565b610970565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610454575f80fd5b305f908152600160205260409020548015610472576104728161109f565b478015610482576104828161120f565b5050565b5f546001600160a01b031633146104b85760405162461bcd60e51b81526004016104af90611624565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105295760405162461bcd60e51b81526004016104af90611624565b6105356009600a6115ff565b610543906305f5e10061160d565b600f556105526009600a6115ff565b610560906305f5e10061160d565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61059a6009600a6115ff565b6105a8906305f5e10061160d565b60405190815260200160405180910390a1565b5f61039f338484610a93565b5f546001600160a01b031633146105f05760405162461bcd60e51b81526004016104af90611624565b601454600160a01b900460ff161561064a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104af565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106939030906106856009600a6115ff565b610421906305f5e10061160d565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107079190611659565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610766573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078a9190611659565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f89190611659565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d719473061083f816001600160a01b03165f9081526001602052604090205490565b5f806108525f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108b8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108dd9190611674565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610932573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610956919061169f565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109d25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104af565b6001600160a01b038216610a335760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104af565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610af75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104af565b6001600160a01b038216610b595760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104af565b5f8111610bba5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104af565b5f80546001600160a01b03858116911614801590610be557505f546001600160a01b03848116911614155b15610f2a57610c166064610c10600b54600e5411610c0557600754610c09565b6009545b859061124a565b906112cf565b60065490915060ff1615610cfc576013546001600160a01b03848116911614801590610c5057506014546001600160a01b03848116911614155b15610cfc57325f908152600560205260409020544311610cea5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104af565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610d2757506013546001600160a01b03848116911614155b8015610d4b57506001600160a01b0383165f9081526003602052604090205460ff16155b15610e3157600f54821115610da25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104af565b60105482610dc4856001600160a01b03165f9081526001602052604090205490565b610dce91906116be565b1115610e1c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104af565b600e8054905f610e2b836116d1565b91905055505b6014546001600160a01b038481169116148015610e5757506001600160a01b0384163014155b15610e8457610e816064610c10600c54600e5411610e7757600854610c09565b600a54859061124a565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610eba57506014546001600160a01b038581169116145b8015610ecf5750601454600160b01b900460ff165b8015610edc575060115481115b8015610eeb5750600d54600e54115b15610f2857610f0d610f0884610f0384601254611310565b611310565b61109f565b4766b1a2bc2ec50000811115610f2657610f264761120f565b505b505b8015610fa257305f90815260016020526040902054610f499082611324565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f999085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fc49083611382565b6001600160a01b0385165f90815260016020526040902055611007610fe98383611382565b6001600160a01b0385165f9081526001602052604090205490611324565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110508585611382565b60405190815260200160405180910390a350505050565b5f818484111561108a5760405162461bcd60e51b81526004016104af91906113ef565b505f61109684866116e9565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110e5576110e56116fc565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561113c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111609190611659565b81600181518110611173576111736116fc565b6001600160a01b0392831660209182029290920101526013546111999130911684610970565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111d19085905f90869030904290600401611710565b5f604051808303815f87803b1580156111e8575f80fd5b505af11580156111fa573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610482573d5f803e3d5ffd5b5f825f0361125957505f6103a3565b5f611264838561160d565b905082611271858361177f565b146112c85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104af565b9392505050565b5f6112c883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c3565b5f81831161131e57826112c8565b50919050565b5f8061133083856116be565b9050838110156112c85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104af565b5f6112c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611067565b5f81836113e35760405162461bcd60e51b81526004016104af91906113ef565b505f611096848661177f565b5f6020808352835180828501525f5b8181101561141a578581018301518582016040015282016113fe565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461144e575f80fd5b50565b5f8060408385031215611462575f80fd5b823561146d8161143a565b946020939093013593505050565b5f805f6060848603121561148d575f80fd5b83356114988161143a565b925060208401356114a88161143a565b929592945050506040919091013590565b5f602082840312156114c9575f80fd5b81356112c88161143a565b5f80604083850312156114e5575f80fd5b82356114f08161143a565b915060208301356115008161143a565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561155957815f190482111561153f5761153f61150b565b8085161561154c57918102915b93841c9390800290611524565b509250929050565b5f8261156f575060016103a3565b8161157b57505f6103a3565b8160018114611591576002811461159b576115b7565b60019150506103a3565b60ff8411156115ac576115ac61150b565b50506001821b6103a3565b5060208310610133831016604e8410600b84101617156115da575081810a6103a3565b6115e4838361151f565b805f19048211156115f7576115f761150b565b029392505050565b5f6112c860ff841683611561565b80820281158282048414176103a3576103a361150b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611669575f80fd5b81516112c88161143a565b5f805f60608486031215611686575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116af575f80fd5b815180151581146112c8575f80fd5b808201808211156103a3576103a361150b565b5f600182016116e2576116e261150b565b5060010190565b818103818111156103a3576103a361150b565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561175e5784516001600160a01b031683529383019391830191600101611739565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261179957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fabb245980ce7b674f8c8938e6a9547420e1985f631d17befd4e60b6ad4ef03964736f6c63430008140033032e9a1bdb7719f32ebe6e8748056096c302e0117ebc7d8a695d3c69ec190c94a4005820033deaaae292505f99da7730d679d66dd76ee315a572765c6b28477acbef84205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02581cebdbe182d4ece6688321f0b6da020dff6b0c685984e2b533880f40895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db94123021830005820037296de936eb2802bae692c3ad184fb80ac4733c4763fb05c067aa104af4a104701a0ab99c148670219018400582003643924d70380e8c3b27dbb7ab991599d58393812896fce01b82ea17b0358505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b584627eef1edb923dd3a5730dcce1f8a65d4b0a3f0f498764366473bd3dd0460bf1d763426a00582003dc1e32d4b868a9e50e514d63a1a3eca30cca8aca615c5fcb6e76aff3941b104701c0467370689b02190121032eb736af20c66853b0524fa3afed1b5087d4db0a1f8dadeafaa35a66527298ce03012b76fc2abd9f42db1bfc99f3b77279886f78830f4f07189ff0f2e6b7b64509035df46df06f8f5bff1a2799ec89f3d27c5046d439c4571b046701e0ce90f8e52e03a5d1e37bc4c238dbddf3583b32bb2bcedca6da92d63419e564218330c41a9d8503136b9f41d0a75818fce9eee2f181fa25f7637677ad1b6f3607f2e0e70fe728f703dc5492c96e23328e3c7c6f01c8df680731771f94e16cc90f5a2526a9010bd241005820020ff2aeb056ea80f584f0f596a56da0db1c533b5770e5f58b5d85a81872d3214711c37937e08000034ba899bcb365ee327c8ff95b40db4c5b0554d304e76cc3f0cfeb8171f0acc15103b56094dc76eebc806678d38a7d72e95c1a316b34199cb574a00e003b29d39f0d005820033a29332cc87cee6bb85ec6c4d48fa62a05e0e689d38915df8e8711fec6f6d04701d57eaddeea7903e9d858e542f01f0cc9a78fe3c7d155ba2eb1ab3bdfa228febe0cbf35f9d236000058200345f7402f34e0165cc412d391d9a6f3650cc8a9ecca726e8325318ffc9b4a205820fffffffffffffffffffffffffffffffffffffffffffffffffffdde4d9d227fff005820033a52a2e3bf74152f03427aaa45125fa9d276601ae28f16b4f256e23e4411f05820fffffffffffffffffffffffffffffffffffffffffffffffffffdaed140fed6c900582003008b69b457c61a29303e67f4eb817a578dfb867f0eb8e306bce681219d22405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030c54fed9cbfaf5d6f13c3cd9aadd836c032fae0b7297b466d50befccb91aa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219447103a6d4faca4f3fa2cb2c42ba6b209e87b2dcce1ede3b2020f8ec09364e73bf092003c5302a75aea5ed51be684447bafaf15e1bbd6b68e84e4eeb939c45c5da08e6550219bfff03fcc803681c88970cb11e9491d7e4704b0d7d7aa4f30edd837018edb9e8b7974a00582002cb45a65ac413176a5293c5dcc90cf019a7e925c7b4dfea6fa65bd0ffd552a2464b6d0797f9fd037ab0c4b1c17c34977d9af54350635a3f1a3fa0ff837d6d211d24a7ab6120e2d303d881e51d2a3eb57f1d64063521cd848ef9090eb55d20f6031751ffcf26dfd9f5005820021ba19dc1dd14b9e06c8781534275493317db4006d593ec78d3893979430ad35820ffffffffffffffffffffffffffffffffffffffffffffffffffffc914e0f9a02d033f4987be9456d56871914d690843fb7e31e165290b44ef1737612c9f5e63c0e603f25d24915b46dfa25f6cd54056caf222533d999c5e1103feb1fc60ee6ac5af1603fff9818874c16d20b922dc8e9d94bfd5e4f0ec644571582a901c30f5b1d812b5035708bcff448dba53f838fc064ffe210269d0db44b8e57acdcd7d31afad4a664e035cfccc1947fe9ca4d21a85d8aa92601d7478432dbce2f2623097d5692dbb235d00582003dd580b09fc78b641fed62f71d95358bfc448b769be26f97308f55ac78f0d705820fffffffffffffffffffffffffffffffffffffffffffffffffffe82f2c4fc936600582003a449eb1a2da34c7e8b4afc3e53beabbf30b220bbd1ba3783194d707ce7c3b044012e343702188803fa06a150af961eb306023fe56cebfb3cbdd83faa0dfa374bc07b895dc4f8b93603d063c607b5ca7772092eccb711cbecb999f6280ed84dd14d31b1fe84e5d9ff590359ecf023d1f4253e2a66415f209d7c6a67c6327d03490806aff85ee070d1968d030663d512bb073f73fa945cb7ed99c268e607c2a83afed42cfaaa60793fbf197803bdc8374b941fc71ad48960781eb2ff806ec903c0b307fc21290a269e65c88e0403eb57fbd9e4894fe8eee12f15e7e6a7dd7a4b11cbac681aa07428762a641b6cc90219ffff03adb353379cf9f856bf0cdd9a8444c5559651e9a9568ea91de2607fb1b841972600582003b2a13ac4575f81a191570ca0fd326662aa0c579a23ef07ae9ad92d5a14f2305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68046b5e620f4800002194040031621d5683860ce7af2b9a8f0db55ae1004926a3ddeac35f8179b9cb08b4b5ad500582002fdc970a2c954cbd9cac4b3dee87d3d5e28dfc9aa628581ce61b29abd6a13535820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a7ba5548113732fc6857f152ceb343dff7a56b40eb54168639003b931e6aee5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820020afa2884108caacaa604f3a4b1c026c537454cd211d5e6e196134963a61a48465343947ae07603f3669d5a9877b0f0e2f6f472f8fed2a84efbf6b50be27a8089a0ee9d533ee417037c23c104e325371f5295886d89d86ff5537636b1a384b903c735b5421da912930058200214845ccd09051265cabfa666bbb0983955c377677c980b566c05854ebda2b546d08b1108e3c20396d127107e2d18df9282865aee758bce86dfedc6bbfc2e404466f36ff8eb4ebe033bcdc1e6636d1e90ce729e75fbc776c1296bfcb6de57e755fe58167dcb5da67203a4af2c85e40dd23e183a0fd1b906db0bbbf698eed40aa98f0da677426e01ad3203060640284caa2af263844bddc8d8bae0c7da607530e33883345c2ee2b26cd6a903f8aea964a15ce2ff22be121be942df099b810503fb7e906d3d912c873e38048200582002250a8d3e0beca5a210e28513b383dfdaba031209252ba1abb8c2f45982e37344012e3435038507f95e571f1c5a21e5eb4ad1ffba56544b6e854b304c0b603f58830685110b0219ffff03a9fe5356b92c4f2f75402dc5efdb22611131143ca8c0ed55b7fec4f3d65f286603bc768027381098e1aa78bd68ced7a5a19901967411e1f37861337cd1989dde930308860eb562c7d32cd98b4806d4a838c8fb728ecb760cee5c4e38396f08ca9da7037c09ec3fdbca73eba19660211c5e4f054c0855631c485c2cce9335cd3e272acd03900e5f5c1bbb1a833fdf50a4cdb694a76bfd9336a7e9f4b35523022c762e41ed0328c84670fbca73ea7a4a082e89242cb4a572c7ebb817170074df470fe56f619703a80c916a5497f6e34928087211b925696d3929e8a3d5b1c4344d1a85e0b69e8e032198b566d6dc30d6376c408249bdcfd9637d3486cca59986434bbf66378f082600582002de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090547a250d5630b4cf539739df2c5dacb4c659f2488d032f9b96255409c98217aa93e564f16b8826f00ecdfbeeb646d7bb75d1ad339e8603b3031686b66e62da21f1ae8918b9c6d56ebe9867730fe92e3ebd2c8a7f9e0cc6005820025905e5d91b29ae58ab1639725131b91ac3292e8ea575a2748b4812b4e41f6147018bf0371c2c5903e15aa9b31f0606afb3d8156a855e5677e54a94d43da4fecabb7815d6a0633d60036bb3a6401d2b8110a788fde6505ba6309f1bdf1629f1324799e32d627d616e6c014102035076d3d2724e2a05c0b79cb5d2b587f062af5dc4853edec5845cbd23ab3fa7c800582003206663ab66597cb8c43f3d5842f783638bf03eefb1da8e601574d37e747830470581b77f66e00000582003e3fdade540c47b00ad7d42b0eb73b082bbd06c915f74e4b0afa5d223837f3047011e4b76c252fa00582003865b01e3623aef98ed3b8e168ecd858969fe6677fa05fda65f424b5129d71046581d0f000e4100582003672453513140c71c3ec7e580e55beeef49b4fcd93598d330b62e50783af180472abfbcea99faf900582003209fce85f2387e995f88614873e4912fe3614ed7d6edafe01b3193a18b8370460c1c55657d43021985c0005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af410503f7fbe063205d32427c30579f83642876def3afd2b894377ab22e23683488afca0219ffff03fdb2f8dbe707222b891f6ba7647c81ba2de38018a8ef28ecaf0787d39d111d3403aefd71484378f910465fe3052755e494e480812dd3580f67ee4c509bcf3e4c170058200219031e838b32c426f108a641482e188d703f0f5bbbf0a7688b21794bea4cc25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03366914fe7402daec0c4d451e3ee126bd192fc7c3e3b751244325b1e60fa466070058200239cd439f121dac378d210574545cc78c432dc31550c7ccde2748533d40ff6344265e2262031dd7ff23121c7d58df21c4046c6a49c2b18bd6908adc24e06b541ce5082c9a8f03fb3b03daf6042e4b3f9f650298559b349f3f6ed6438b1b585660a128f6a1dc3200582002496e4d7297e0f840d838f0719c8eb46740450f6270da99726357c7a43a983c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0387cd7a86e266db7bb2067f637b78b5f2aa32deccd17bc05e936a2ef6cb889b57033b7c4063ba7591ee0a39e17bf281c700e924bfefd9596f44b9f4cee75901c8b6005820024fbdc3ac2e3df30aee772dbed6092f873eb66696ee517bf1bcecb2fbb4ff3c5820ffffffffffffffffffffffffffffffffffffffffffffffffffff2530ef3c9f0b033892562f1ffc0e79c782f4c6a5eb12cb15f70872add76048eda5eb5df08db0720308b601d9cdaee90591f15e8f0b7eeb33a9f96010c85c6d05fa307b33265f1a970314f4f0fd94243f77bf37bc15d478ade52f50a74fcd6a277e733782a9b5a96fe2005820039e4ced25866b3c5e41c122849ae9bf3471bf5be80e27d1877e54a8e39e6a105820fffffffffffffffffffffffffffffffffffffffffffffffffffb655998199eb700582003d398d6239c8afd00fb18e63dd471952b090293e8aceb6b98de1874c7f1a6b0462fdd6181d2f40058200372b8338b562eca1dd7279d5f07142e395ab0720d40d6e241d72afae4c9b650468af2abc28b160218d00058200273001a5bee02924ce048678a9d4b655de5969942503dd9a34a040b3f644ed14703d530ec238af7037d1c4eb68a2e90cfef5490eaf572d4c4fbe4b3e206bed26a27ed7cd906ae51960219ffdf03257455b0469086c626d6f0400d29480f8c9f365a4e83c08d2195e797148eb6910392829198c5e270a756c8ba4498d4b90cff5a43120fdfd9743858830cb2fae0d00303d45eff9f42682de3668969d3d58310153b9cb93349cbc388c1e522b65bdc91034121557e2af943782bb05c7f667cfc5c1891b1729376bc7a7b390247ac96492a0058200212914631d52cc0febbc8823c5a8220c9a21e0af51039bb0c7ec01dc88a712944012e34360365cad8be14ebe6e005f53c982fa429f998c59cc6db45d16cdd0c35e399b2544303c2778431b33b3bede19824c87a1d113e13cccd4fd4e9b98fc69de9b2dca2ada903265a704ee1b4211db47d70f355439ffd25948b54b170537e8a3111de05c15dc700582002acae78e0fe171b7d0d1168ce676329146cb1e11586f9dad3d0d649a05e4bf4464035f815892e00582002f7504ecf3a0de04ff6df3ace726e18ec5a6d0c0f148d7d55a973a060f4e745466dfde0631b9b0058200256ca619e7c1eff29c8f1304e1d85e86187eabd3cdd5796d382b8541e0e24bc44012e343300582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04201b203221cc7a6fa87d30414e9f1509d92d849662a96f26734c126aba3e4964ff6877a01410a005820034aa1ce9fdc12d538db10f82332d81a95772e2cfd4ef76aba162630ac3c6d405820ffffffffffffffffffffffffffffffffffffffffffffffffffff5b73a6e5e02700582003d03c7d82aa7241953d458d631c40d5253fe671a336906c75fa69246fdce0e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffac745826451a02191980030d4f1391475dad081bf604cdd83e461e24f26acfe274356bb687b8ebd5c29655037b996d3d81931c7f48b149f26bac11b515b23dc4a97538220c2368d6d8e9eecf03b5c7d42851596d007fadf8b31301f1e099798956505b6d60ad00fa4b14c9b2cc037d6cd29a70918eb5b02b46595ebe64d7ef4614b5cd03dffc4c360876884dcee70219feff036336f442763e83265b7062cc92d87f0c1f87738aa0139099f2cb6b831be6f620039134dafefdeaccf652f477e8bcd0a4f91e2f3156ab9b2fd1a7859c324abe490300582002c20db3f959450f741ba3ef20cfb24d16cae2ac1f1f90f7a0636c1a4debed6d4701fdba51dffa96039dcbe52cc885ce8cdf8eee3fd54bc70d14bd9b88c148251abd5fe8ebf0f09f430392783a56c4de1de6354e84436f796e5f9a037030bf404e9634040af083de3b7303580ccaae9b9c735c666bae0c0d19049bd6e9b8a6cc8fdb39dd26d0ee369712fe00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80410500582003b25a6a9cf8d8c642adc8dd2ab93a86967be708f854f059cf110638072594705820fffffffffffffffffffffffffffffffffffffffffffffffffffe09347e8dff74005820030a55596ebd9f3fdb116c4264d608b2af816628d6224c3cbb8173c5ab0b318044012e343500582003bfa2c111124164089039b1eb1ff7fe379cd061d62e1ffb566ae8fa8597dd405820ffffffffffffffffffffffffffffffffffffffffffffffffffffc347b7f89fa3021984600304968147ddd214db1f19dc5ecf5e83716c60c0b5d17ecd22fe309d46d574c53703cb6dc1811dd11a8b27a8ae8683265e811019ad02e5af111ae3880d08484a03f000582002fa80cd85a4d732ac3163d3f32e62d965787158987a7101b078a3cfd0b084cb469eda25fff730034e5198a59bd9fc2a23c245f5f6699c8b3a561a36123f75900bc0c531bf30bc3003b477757b73f244c8b0c39ce5bea166eaf2bf148df7140de5f81ea16866e380de039616068f00f1d44ae45967d2cbabf9a9898dc639e3067d65e6a46344906ea050034011971aa62b633a531c695727fa8c692a7187d53ad8af0616bc0afd7d3a418100582003389a9561e9ffcf046a1652cd5c01c174469925e89428300cad875653a7e89046108bfa5e407c00582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0570100014fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660b02184403c1636b3cbf1e37fce574f5bc47c24de7cba2bdb8f1a21a6f2e41aeed3a2c52ef0219ffff03b8925cf8c50fccf360910ae843b0b44cee4ab7eaf6a1a89b8a81a053807b4b5703ce24de7aacb728d438ad90cc00ad8ed8c3c560083cab19c8d2365d770696ebb1031186939e76fa5b43e71347832fc419c30674c2ede04a9d46c7c73e983f243eac031fa29a280f6fa02b6d0bee57c81ef144f9e639c05c2580084f008e95e1a6d240034bf37a98e952c0561385ec982e32bda3a94ca8739b787c5e596de29e3b1a2db403d817b0955fc8ea4cdebece578c49818d1d8e502373177b1f93c6cf363b9696fe031f2bd62f2f00c8cc6becfe71fbf3712411dac644960ea13313d16dbbbf6e64a2033aa07a34f57a7b14a90ee9de1ece5b751bb1f7353cc726f19506cea4ca8f18b2039c986882bd3741668f81a81476d21842cdde382b25f2baca82405cf587d70e30037e96d58e373d56e37003c356f7635ddaaa7d4e56f2f34458ec667f33a2c0099303b2e459c16bfdf16efb4d6e4fc9032fb8128db368f3720efe6da4222b00d54e540335e0d78811fa83b549d510865498cc460eca2a95800c554f2cf71c62a1e5ed2f034335b010ae272034d47e002563c167f3de7470d7dd82a4a7850834c4260c03e4005820037dd6eb4d641ec1d44c19e430bec0dd23e5e58f2be599cc8b316ae74bcf38105820ffffffffffffffffffffffffffffffffffffffffffffffffffff31e7ff7f3d3200582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704123005820037975c301132bbf6e020a379212eba432bf6560fe65766d638c3bcc243c1fb04649b4c4bafc02005820033185fabc38217e4634710db266b207250dfe969df5d2130e46069234a56c004701dfc0dc932cf9021980c802199fff0345c40afa684be0bd8dbad049f90ff7dd4c00fe9beef1ecb2291e179fb9cc13dd03cfcfe4e58998f8133049c961646417df57d839d7356740b0eb1263d0d050a1e103be2400afdc56fd48653c231ab8dc29fefd496a7d1fbdfa21d0f981eef7da3189038ebfa2d7ee6c69991c8d180e34b5f4b1777f92623146d3fbf83591be06d5113d032a5bdf557bf062f6b77732ed65ea93c5b80ace51dfeafafac7f569ca6d397bfe03e9db214ae3933c459daf61c9266736e9965e5711fd034a3266b98d42823571d103389a163a3d9b97d9f705b7e02421fe6feac9e068bc3a303ee7d24a7fe59fdce9005820032211b0ae7ca5920c14f1658fe62ef14d83454c71d6e21daeb2aed9203faf905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f055412a5a8444226757424297a7d16ffa40acb93f94000218210379849ace08bb8fa3b3e7d3832d75bf92b1bd9a1317cb8c9775a56daee8440c4e0058200278e4407bdaf57e0cba74af38c58720c02e249c3cd60c4c099b4221c83c46ac4624e153f5b1fa005820027fe42264939d94d0dc08e0e258744f0bc01416076bb44882467836fa6d01585820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d3ddca332029b3fb4c9ad693b7a8321d61a68826757c131258a5178b6effc01f03530045d61eeff2f5b2b9ca40a08b25cb0e99240b5dc9d7a30e103cfa2b111d37033ea2b0e9102333c1910a24107f5cd12b9ffca5ec779eb693c05c2ec7957aa40103fa1c8b568be2bca61d6d4d04cc0f27321ad5ac6e092dadfc088c5168234bd16a0387c13dc687f0e79ba561eb553a9ed193dcd1fe627fd0ff2283215bf06dc4c6ee0219ff7f0219ffff05581e03378cb0c4994cc58a9bcd8e4bd8064923067bcd97f52e6e75e3842611c007011917fc033d20d3bee04ebbecf658cbe19b68cd00d29354f27ff62e636d93d3dafbbc145102197f320385558081cce36b998d546fdbf7814c28eee6728338ce923c7dd70381580d371a0370c453f427259f5d2224f63a9bd99b3752d4fe522236a5cad429df827252b88303879537ffb72241e607572a00032583f1dd3109c2a82b0153f00dfbba8f52ec2b0351454853043ef77794075256f9c73cc8adb43d604f532a4a3459c8b0c4f6287d03762a909098b76df8cc0752500301509bcd006e878eeca3fdbc4c6a6f26e16313034b87222ffdac15163f7c052c5ac47861e611443825fed92cb6f1fad6cb84952f038b9f458e66ddc629b539c33971919e1a95c31e70a55a61a4a0c9ffd1276cf8730374564e1926738bd9c29facd3cf32ea04ce8223f9d5f625d51e2037adc5c76b8303825adaa3d4c269a4fd335f19e8a3a930fef93513b8ef7d1d1a2b25c1b26a8c4903a89ec299173e383e89f566928b575ba18663c2775fe0d0ab03827402c1f383ef03f05c4ea9a3c73a2974e34bd6b1320759e7111698934c06b00651f9e37eb3883f03e27b5ed53e2e7ec1ce9047f33f0036021fee09f4ae1d8eee03e2588b270590bb0219ffff03e675888ff08f50c630a5023943646d3d1c161f0d7109ec12dd57c993b6e8445f03f42372b51a032c2464cf901bb52bdc4d71b9fe883f0ec0b869aa9e387b8c74f203495af9ca43728fdeeb2eff392d21bd9949342f5a331b5e6c603824872f9a0a9e0308eebd94d3d3fe8dbab143cecd02912ed4c6949549580c81762c8f60fb267f6a03d7ab61dc9d0ad33f423d773b20f9348c6d6f8de45451bbb86447abc90cf8ab8a038cbde9b440a9f485dcd1f25d3f63c5ed91ebb94db6b40cc4033561c4bc612dc803508333a96ce39918bbd89355bcd90acec561b00f3559e2343ccd955cc3ffa3bb039cf7e5366e72cd68f0ec2ebe6dab2e288408b364100baf3f3ec2001c73a5002b0219ffff03c5c577424167226cecc3845c15130024e42e3179d91cfa5013bf3a823ce971460347b52c07a9a38ecc633089f5b553bb121f1c278f4f3d7d9f64c728e3e3e9bba4038a982769c1ceb325d66069464bd90f3a70952479f2cff01866835653bfdd6b3d03137657762ea6e30b24136283f4def353cf3eab4cde75525f9d306e4d89a7390e0317a1acb1863ffc1e49b8d47eb42a2ea76b85e4ffca5d2754fccf6f6883b00b58034ce1f038ba274923dec642bf79ae6f33006f43ed337e9a5ee3615361673696280316c14754b1baf265246ce8f7cb2aacde9f71835a4bd2d6e3ee0d733b9c7db0bb03567562d4c59ff97a729c572f5bee860b951efee2b67094e32e3103cb8d7b229003ef41a5ace95f2ccef5a89455ac6dda09bd813c90ad6c615b39ed6319941812ad0325e99aa68daa10726cbd6067af2bf7b5e9524c8936e8419b3a6dd59289fbc8cc0308111add4075a207ad530b9d0f0b42a32e81b60a26862be516c32185c9d7ecd6033caa6d9afd7bfc9132d6448eba130bbffee2ee07019a24026fa8f0283c47f86f03762ceb54d4f4c1a4390eb285454cdf26038de58f51f3bb50b4da9b642f55f73c03db6aea606ba942e267bcad4a92273cded9121474e2cee5cc78e8da752e35a11d03dc1ba8221ef3c12fb63e6f4c075f0c2690f7e9d28a5dfc63e898a3708b7e7d550219ffff03ff25ea72f718a31d35abdbf3fe3f529659fab8c20aaec12188bef573d82ef3a0035b93e868b700d752865d11aa1068bb2a1b722979ef928e0da02e239dda4bc8f10379df07187e98f0f2a7fa137b22d993dd89d8d3edeea55a6cad140d088264df810317aa0471662d5096c90610a7665cef4306ef3b2c0a7de29e937f39f8ff9202970344a29ee083cec8776ab8d69b0483e3a8b39b3cc07c6b8f0677b98f62cac6685f03f629bf32e0a88893616d208f901082c7d6a2b72ae6b6a59294c492d187de662103a11d41cbd2a3ba4771b6a4773aaca1807d7c5f73ea71742c0b7c20ce01b5fbab031e67a536d9df078fb58e2b8ebbc65f642127981d9ccae39bc83a224792f9877a03903c196542be38f792ac875f610c0e50d92fc5dd73ea47f0be0e6c2b69b7737f03597140da1f550d077229c1760d617dfc5f577468913bbb78b0494ea906a8085b032429e0a7b8d96d8f50bd1677d987eec0dc1af4b8413612d3f7088ba94eda259603385a0f8c13dc2d429d874649d54eb239f185f4cff7fd2e9d4c964002d3a976770375d411576c429ead9912a647b813ea12a693986768a42187add5f57ae32074de03ed4549a40945e22c09cd6a5c7ba90ac6a15ecb29e65def3df9d6ffb07f73076d0219ffff0219ffff032e5d6c73efd9304aa21fbaa8ccdcede91625225e2f1d3fe88a3125a7a466f61d0388553627e5c52c776ac754df2194e0e93dca71d3db2903362852a17f6688c24c034e03f4ed69293a99a19aa45b7de904a2f12f59000113179669d6964e8157a3fc03922fa6614ec199efa1506d6664a2345438fd1cc54178e0b1d64529f12fae45080390d949d2730dbecacf2154cf727d74a5cbf67777c41466b85dad7a3fd583e9990326865b0dd79045bdf664832b466f3be30eb3385b2ea3502f773a492828a72e5803ed01b055043c85afcb9e4679d5d5f47c57cbf091413a78983994b99d7740564503fd9c93e462d82e10da65dd7f9957bfa9634dd63c3f0580ca3f1506c0308a3e6d0373cfce1c4f399a93e841ac2f6328182d667546b315c28565025cf56fed75f03d038abbde8aaa21d911b71c6be8c16ad39f94e5ef3880f2bf4fc43a1d357d678ed40344d82579e708c39068d4f8e52fca5c261625399335dfa97748c619f4bb45a43103d6093299f13c6d9d00cc08c4ea903739324d895edd8949a15ab0515473b64b3c03fbcd27553e56d94fe42b2a7bb02e035078acf809a3cbd139870d8f09ef00077703063395c3ca00b39a9a7385dcffb498d54431223fb88f1fbf9457a247800851e103f9d7e688d6290063a97025852821d8581d8885ccd94d4e5c873c1dd578a67805037131fc0383ad605143550d78b31217fbd5a78c79013635c6340bba34aeff09c703d84ba39ff6e6d7162539d15742bf366475a7017fab909acb568e2966af6ccd2a03ca9bedba41863ff70540e7a89ed5eebca8cc5d715ef45bb237379032c34c4638038c55d2fbccba96ecdcb8eededd7bd07ac269d29fc31a3060131f7ae084f9f97e0359e941664c53657d8aab3c80eb04c3e7828b453d7978037041ab7a9f63586d2e0396a16f23a797d660d8f3a4c94bddc24cb04d287ddcd4ea32ea73381ed0d8c5fc03f1e04e565562deca18675923b272991da7b6df6aa22b49b44370df052fd7abc6032d250932ff79139a4e11ccec180183c44893e46900b78dba09f2e9db34a2f340036c6f7a506b705841fde64d2953a89cf76947c82f564abcfc10f60ceee8515451034f5d1ed87445a6728ee1d1e10454052324871f7181ff1fb6dedd5f7838565463037ed094472862137d6f93b7c724b590007aac28d8a03dc57f277cc888e5c499d1031207815b8724fbebd84e275db707e9b44e47c267da45d4c8d2eafb54982c99dc035a14c99e6ae97e283ecd212831b5fe466fe92f310acb865da4da894115af0afb03d6d5eeea1e72cc5d81d6045d18e7f2912f5979b8a4724c3e5cb6c1bbea988b0603f33531467798b7788090d8110235625efcf33e45bfbb2783ce64f7412cba750f03ce71c3edbe186620a39b2c9427adcf647dd0c6eefc0ae0f25a1879f86be4de8a03cdd84fd36ff3c3052a6b2de8017dd05a571d815c0c37f2710322da8a0d51adc4035b886c7c31a01af81c3d9acba26396cf496686ab9c0334dc73ead5fc94719b940374e0f7f6115bdf47166cd51f67968e30f045a0d3a85a9cbb9f511f8e05c09536037aacf29e645c0213f44eb1deeba746964c0eba977d3f5888e856fe4cc8264665031076ba0aa98ac11158a2c2baa3277b63c21f99e9d0612abe228376bdf8c2ba2f05581e03c8cfd2a2195f31d0d5c3bdd473d8c3dfb34bc915c24ec04d84e84720600c014651dac207a00005581e030a89984a2e4d476ebff2ac1c2f2df274feb59b54c04285a805b598be500c0347016bcc41e9000005581e03e54a02bce1d9fa1028366a0e299a657ef87db82ba07bfa11d811514ad00c19012b481058bdcf28eec00005581e038426c4518ccd1f062c426b53cfe8fb82259a40f2268d750baea0742e300c0247acdff78c161e9e03de216ab95c2cebd2bd88a4d0a4d83f3bfbfb2da32d19d174469df0ebcad4faec03c3d732adae8d04ffd2faa32b25d577dfa119ef17440318f9933278515ef3761305581e03b953a07f730c3f005e8b9aabd7fdb5556b49eec8b53f79ccbb9c11e3500c1855466a4aaba9014005581e0346e04e6a2b4175284acf03d2a3e7dd302b581ccf48bb504650370b12a0040205581e037e82ce55a952139e79ad57761b3ab5de3d8245ca64336a7a8da980ebf00401031d7b302ffe0b9d2ff0be04ed6fa453ad6bc8ff44c13e855f98a4903b5f590e4902191f4f03b5efcba6536e0581474464b9620f573c4b581897fbc2bc97a89ae8273f4a22a403e37cfa9d1f7b3fab0c6c8b7bc52fc3d1ad330fc14f1357b89f39a95dc1411ec2034f8dd44eed80fef14b7d931b972ad914768f779e7a3747261a2a7b19c27bf27d03fb52e8346e660f781ed894c9b373c35e64553af4bb4544669310c2ecd13ac0f803010ef8ada87041671c047c58ad24eba26701e6db6b10ed3c7e299f97b1304cae037eab63904940c38b258e52e74449ba505cfad0aba7484dd755fce955012e1f47036de6500d66dbb90624b117f2b611f38de322276869166acb2390ae4198d54bc00219ffff037bcc955b2ffa142ae8b172e326f23073a2410d46b86587e73cb628e84d8d3ee103d035a37988ae72947074396c7fafbbd13ac13b648beabca615d35bc8cc3a1f430336dea29fc8eac50c7b4e9a51c7514a459eae82d5a99b156e5a59f2a00a99687e033b8cc47d316bf4a2b9c384858745b64a6a75f6ab7baa949b6cd8d8342dfa13d103cb0f4f4cbd1444ec264d8b1380ec16f997bd5861dc2ea2ff60dc1323110748560368fc753b01435a3a51f24e72db9379db9544af0077df886dbf1138d40b9d39fa03b87a3c261d5f213e5ff05aba3b503ea58c378d7936963f6d0511af86d839207e031c04ae51ea7f600c37d3888edf86378fd7eb9a4cc67897e85e82470d44d3914303dd35813900aed6ac3157ac2eb24d5405b5ab808d3175e527c1902d66b371325203389b582aa85c5c794824060be73f284f51735d468740e066b0b151c1b1cd000a03fb7f3aa6b11fea6ac8add987b5645e65ca8629335eaf598bedd5c24ad319355f0219ffff03c4107551bf1c4524fbed9ce1a945c1a6e7a74ed64b59bfd112d10c6d05c96702037f4f5c7a4c6e9a145dfee645bb3ae1798c52b3ec8142051e1cc1b6e89fb4add903a79900fab5a29745c74610582aa22379a91e0978f9b1fe286fcb7027cac83b0703bb4401992c3fa73ffab291ce57990e5dee011c3fb86ccb2e88a7abf297682a4a03e1ed6c3ac971958b2333e007f6fd083f50741081341c80738f90d628cbf66ad50219ffff03239c82e304613079bf7cf121825e20135110f7d707f8227f31a254cb94b05a3403eec90064d95c1ebc04fe5b66a735cacdb439b76f7eea2f3c688f7600c41d8b5c0219ffff035b6d5c074b857eaf08a0431677575b1e5233d272db815494fd1557d49c7ac46f03bb220cf68a9f842a25d11865e54545de02f8c61e6209d6398c6103ff356408120346c8bf16613bc50ec34bb6f096e317af043ce71838aeecf72e743c84da078977038fe8e160de7fdd70f751db2609943011d1ca5564e8ef8efbc14be5310b3ea2510329364d8ed0e799b029bf3deff096debea3ec406fedf6ba7059ae8f2780a51eee03935e07b6895190691a8ad3b053746bf2aaaf95e484339aac97f1c72b1f6fd6740364be292226434b839cb4bd388bee92b415ff12d336f1556570be56a0d2449d9203be3e695b0b9966c53d8ddb29b6f08402de9be1064d3561d9b2a998abeaf8b3c203d739e429ed1e072f8476b9e585941f18e80d2e816a99c947fccff0604d5d33c103b2b4b00dacb165faa92130ee87402d900f4037e4e6ab020338a83a257c64f84703600ee5db3a0014dfd1d7b122e866ada568cfe8e0b0fc6da767d79debcd7fa52103288252053b654352f856fb30ccd8d8c264de10cd478131dce9b8d13453a88077035a60fcaa0b588c5b7fb2a95c3606f7b814f9399a44bbdc2b41fd87c14633a25803eac01d934a8a35d7e737ee2f7d0078059f373aa877266a6acca2f2064779682d03dc3e8883b94e63b3657f079d97a9ab584a434030e7c6cb23cf4493da7768af5a03da057e3ccee99bd003c135a894e86f30b57fbf0e67aaff788a94e1e10411d953036bc7733b5f92f4d4772d8862412279e91c881e8a4c7b2d4806606b864905488d0317a9a7d0bc390435dac707520f7ca3866fa38a5dd95a230d190626ca9e84e7d205581e03a82e3876df42156252732c2b5cd04db40239feab766aa0c96e2e56b00004080459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56401614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03a9409bae510ed64997f30991bd0b568895c0ed059f94b2a0c7fa157b6c54ba1c03c39458febf9d85729e05bd59cef4117b89d112c94079c576bb38be1061ee6868030db2dc2aa93eaf5b06fe9ca9029de720df7aca85805301f423e6090424177f680355770f6d3f490777fcd32e6b21ecffadf8acf0166533033b1117c026f30ca7f903caf6e82a98aa63ab2f062b02acb78a98a1301bd606cc19a70a5e3c43d1575ff203d00687cb6d0f43cdc3da0681e56f4cdbf11032df61900acb54a154639825bdcc03b4005a49eb0d447acbdc866bfaf6cf7236fc912bf2c00a133fbc6c9ae35f7764033505601faab00774dec9e01e33dc36bac7fb1932bf7163af088c7a343ebb101d03bc1b9dd3fb6a5a5881a43bff81c58599c70e780d75b55a0fae58b303acb3f47803016020132bff32488bf526671fd6be86925759d43706442c66bc51b69257d984039c837eaf4c67ffe3d80665cbbfc1c437a98b075d1ff34286ea647ac85f31f72503db5b0a176f2b806cf76b6d88965c28cb86c9dcf8c4d434f8a950a5b0116528d503a5358c6a5f79ae42b6210e2df4d430c489103760986acbf001a634b742e2af4803459b91438aeeead7737cb7bb4d139a66a2cb6b477f545012bc473242d6e34aa003bdf4876fe625534fc83cc47cb296acb2f657b20bf5708945ec4134b9864db09b0303345d57f975830c79f32e99db1b7bd1b05ae85a80734e488928a34e7a3082c303b511b279e462635396c5c2e08151c7b45118abd475f3616fa92699a68b1e035f03f6c4d262648234ffdcde2eda5c6a1df943089aaa2067b2d7bed9b47bb4f6b864031a9a97eadaa2e96c70a232aae5d6c14c0995a3a61d5584982f9990bc6f3e48a1033c07fcadb9bcfd84091216785d44a9c97328512bf42528561b379b6eb16b037003ec96c60024e2e95d8ff59c87520b35847622386e2fedfabb4191af98a838778f030b8de65ce98c3fbb4197b3b43a682eb13860aadbddf198afe2d4e5dc166163e9032a56f7a4fd1e71931d251128f2865d182cc8320fe3b00ef7aa2d330185e2b15b036ac56f130dd6914546e5e17e93bd5d03b406c303a5bf2ca66eeff2236f86a27a031c919f8c538e95edc972213c19f7256b183d2130c6ff4170ad3719c9d50007c503a809dbcfe4eea2000d66407a28837ca6dafe6549d52ef565ec99df4d707d0956035d907c4a82aec27bc4ea67013bfc763a8e7c47316b631fbd0f35f97d3ea1c0f20399c952c583a8538e9c332273b9390c53148080b5960da078471120784c783831033710c1b16a0099946a555bd128113ccf7e8a9c380905490842ac74efbe95a88903ff6e430266a49811c8ca1cea5911052aad1acc9ec30e658504686a3f0bbd584700581f028f0685396670ff72cccd173c115e4162d76b7899e3c426cf264f8a019e745820fffffffffffffffffffffffffffffffffffffc94584a2fc867910b23ee9a573203738762bf453e3604edd8bb1b92cb7844765757bf7ca6fddd100d15d2ef0ef5890397df86e2db01fce5b66e2a53d59c321a318caae06d6f4a7b8d4f1381cdbdfdd700581f028f709fab72b19b2c4f0d64da3b47381ddcf738d326ba3c9edaceff8cd26e520b8035d4fe9a8bf66b277a2f5218a9032cf900581f02949e8fe01ebc03bbc0eb2f200858aec6ebbce476409d3808c56ce0ee2fe5510288fc475f48be0582741bf76374f302d900581f023f9ee1b9263c14c142f34feadffd223bf4986ea01226ac408206b46a4dea5820fffffffffffffffffffffffffffffffffffff24f3f0d6960f3a14b49651b22ba00581f02d0f8a7374d603ac7b817e98139e55985288f7b18b30591228bc1a36efa6b51d018c6d3eebfbb724eb04e21bfa3f9492703066588d82452e7440b9e52f3df54cc05f9993b70309d4a980fb0061697651a0e03e3db0928f8c9660f594dc5f79e726842b4b9faa9da487e10642006631928089e03c4a1d95d42cea538ed53611045dac42053250cdf290906d1a3b69c9878847ed600581f03badbf71f64fbee1837c8443357f822a308ce7606f1ee812e188c6bb4d3304e8cd8cfe37585bfd2396525aa8b1400581f0313ee94b42df922917157cf6124f5b034f85f74dfed5525a3e1e1d4a6508051a57f50bbcbb640a2abec354b98206b96210219800403dcc8bc835b3f2c14a4df80126bc1d00ce17599a03e3358943c18b4fbdb4e73a40141090219b7df030a3f27749aa61f9e4562c2d66349f2ef48b443654121ca1d95394f9b62a9595103cbd6536e2787001dc3e647b7f604aeb036093e0aabad0eaf0667a68751a6a3130219ffff0219ffff031ef1d0fcad25b625e83b69a94c4f7eb6e5307defc19ee92585940dfe323f0608032fd3bb81f0a798f48c2132f1776434c8a5b034bd119dd4d84d92e07c1705f7a403fd765f02b08a207635ec4de326b415ec9101d572b9a3db6aa5972c4230e7fde403aed8d0bf34a9a9aa76912eca8a0b52f54a817d56dcb81a5f33e8e493a1e0243103b5d534d903858071ca23b2a144b5079d54f9955854d2ad6b4fec6fb5410898160334c5a3022c962d1a9af7a85d25f46fc1ff8b7e1d7c0b07ff30a2a88944b4dc5003a608c12b1054756ed8a6c45dea02df721263f183b7fca7b132468e76c345ec67031e769b33c503eb1469416457e0a38cec4d24de47223f1568cf5dced0e1370b3603af1656f0c8cab195473e3e26d78d4064e38c71bcb4ef91f8c3e0f10b11564bc300581f02a270d34a878c930c200816f97e27739de97d856508c62f1a70c0f0a87c0951688f5974132c86bc481ef98d07a14a5f8900581f0271f66e770122af4ae0917a75a1962bc3f3f49fd956b7a5f53e1863453893510709abc1a6a92c71b4e7efc399776848ab00581f023f38a9332cf604d720097fe85a95bde0c644e5f7fac7df870ff2deab889c4e553aefc416af25c8b4a3ede74b160379e19c3fa9583e916e40800a0ccefef0dc40897e9111288a2b736b680c960c6d0358f170543ffc5ea8f40b4ae819c9efa998c463c930e44008f7d1fe6d0b66d0020352b6d995882095f8cba2eaa59cfb69198787ebb942a8648ac796f6274e1345ac035d8a50a4fe8862abdf75e25419c8eac42d46b9f880ab1a057de5221d24e7c40300581f0207d2aed1c22e4caee8114f1030a54d68b5bb045decda87a967692d2ae8f65820fffffffffffffffffffffffffffffeed5add836963bbba34c25d5a88e6c6041800581f032ae9de3a703a4e67beb7417ca9d3e1c00ea360d1727270ebb63174542ed04e1710a1db042381984d4765a565050361dcfc1abce5d6cf760509ec06dbd3dec7993b11f938b577ee6ff55e37328b4800581f03f1ea8dcaf4e3082fb14f2f614c5cc395fee9ba77ad1cc0ef543d465cfb905820fffffffffffffffffffffffffffffffffffff901829fa4246ccb593074c2d79a00581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010002d302d302aa02fcec00000000000045c7df8041e139325635ef4b0bd00219403803436af0c2f3433db1fce59d30c34721fdad29ccc950fc3b07cb47f654a74b4a94038bc7d5a1e3cdf2fd15cd26cbfecf79c5bdbb580787dc682d78417265731d132c0219f2f9037bff3319d045a2e30b4575a21a2ab6b64123e267c0369b2d116a928af97b218503b61360653831f8c03f18d4f3fce23dedc9a4c4e1328ca22608eeff50975b327f03b9a2e05f35836286c97299b21805e09b90b5c55fc17c35aa69bae7bbf08c781f0313d877437922945ea00abf5e98399d9690507215a518a66a72a51e0c53f8b7f2030f5d791c1282ed1b19337bfdfd9d9dc06086e93facac0d7d89b43df0b624cc80036ab69179cd1827f26168ba2637271265c3ef70578a82d3b8e9e3b03a6fa406e903b10db331e6d3a3474b010ff2229e0a33f4da26ca8c5670465b9aba1e334df84903f9e8bb56141f36cedd13216ed148f93a3070d6fdc36b169e4a87f14a889a9e3203cac01ece6cf9059a76c68750eba956b1432a3ff1efde27e553092ec425007ac903834fb3c9ec8beb36383d5ed9439eff1a7e4f2b6ae727e4c949e13fee01cc9ba60385443e6ff0f3f97187e5f9f41f42f634296ccc749e9fcedb6963e30711d7022a0399087c15a9af7b09a484593c689db576eb75396a92c68e12f5c99c0f5622677e0385899877ea0148bffd805af55438ff13a27339596fc7ae69e799c7f00e89fa600341b689d97e85b11a5c91571cbea96d0f2a5ae08e6a76e6453ed861ea25e79b6b03429488e06b2e859a7148f4229497bb0ef22655194231475a3e3a54c30a97a4460219ffff030c8e6528b775dc2a19b692b963553ad2fbe88dbd0612f7c82fb430cd759916050304d1f495a26259a75532f2997574ff6765400c3575b89a0b152fd34fd49d12eb0350cb3eb259f54874839a7313e27cdedaf1ef9e3a948a7946a4c308d44b5ef030038e9cb8eb024670cb50c2aabdfc39b4f8e87934d30d21409c55c648795d8642170302b08c944cc96e6903b06bece83724f8fafb463bad51c2ff049b9150665b625f03fd1608caa50e20e8aa4fb197e0dcf7c4f43e24910b636f9118a45196e2db74bf03edb7010bd41174754c8f3f41bf0750f2319e3377abc0e78c903bb6a3ef18b424030299ee32bb36d4b5a1c7ee2916b397826e22c7ce2f9dd2f4e7f1fac66871f474037c10008aecda11ae2688322bcdf057cb138ab2b0a4751c3ad0e6f7cb230608bf03d4c59cdddefa2e2df38c870a9e1367e75bd8a83dd1b5bb11b8fedb41a082460f03b66c1167576a8fcbae0ee344150e3682e7be051935c72f69f2bbe92e59d3f924036d6da17e2e9e8b392aa41f532404e564f40dac2174af9c675c897c54130db5fd036a89b3cbb4c90bd1b4892e3b1cf858acb68819b5ad6a028043bc07fed8da064d03bc9753120fbcbf2dc5f2be0cca687745071c9011fbfa2301315662af213ba3ce0374e556991e977b6c4c0bf5a66bef23ff40d0d0081b3f67aabf6b86c375cf8fd2030c5164bbd4f63d97461a2a390bf1a81e318777ba5ffe88fe1a460fefe0f6f14003f9bfa1225818d1c7fb0b87f16d13fab3b19da0245cb2e94bd14d55aac0089b8f03d0fd5a7a33637b19b5facd1590e10b8a4eeef8df393e8906d51141064916c2c500581f02de3ea156a256657977afdda3ce260dda02aa100ef127e64e1238171a200e5081dfa7de03a8ae4f86dd851f10943f0600581f0316a046199394ac214b95e44629cee22356a47f8b773f6a63c7e887fba1b057025c7774f466ec000000000000000000040119743984e200581f036f1a00d0564fb1469582048fca055cf89d83902c9086424d852045a1d830520b974a16e3ef32e40abd2c0df622473ed55b02190c00032021bf42ed60817004baf83216fea40eaa22e39d5c38bf67b151cbc6896967e203f4a06995ee11c2e72ff931bc67450f10db12d6b025588cdac11d0e86907537d103e7657221b054e9dc7ce980c4af9c7725156e716ca1ebba66e9f28a3e97857e2a0350aa7f1a9d1810b5c3a5159c75f36eda04557bf76a1cc0faf5507b8fddf46df000581f026d262cd811a30284b81232e9bf90882750e2f7d15621d1b2845454a40bd04e035ff198cdaed211943e6c4ac12703bf60dbd7cbb369583ca3c5bc5021e757d2bbc58302d593a80bfa6030176e53bb00581f028a798104329a85436c589204bdb85c62de3c8f5b26732a1dfd8e35ca70a04e10f49ba6f671a45838625b819c510389323ea2bed538707f96da1ecf4a0213d57ebd2c5064c2e7f4d50e32bed24e8e03b6675df11704690c9c8ae27f3edfa4751ccf200566caad681751f012c3aeafd700581f020bbac14460fc71bfe9fe4011cb6afde50947dd718d58cb5ea07ec442fe634e02b7ae1237079eedb07ce6a541200357f1e4b0235bf39f500c8f7cdc86272949e92cd64a74783d2cbef0376dc4994c0219fdff032cff2600796171f674444e883fdcc2699f8563a7b6e072a842d206e70fe1aa7703dd35804b97781fd3dec9701f7af8e8d8cb12d32b5fdf77d51a1f938c61e4e5d003f3758f35078bc721a3c5152d65823f0d5bc0c66106eab892fef9d41747718b150219ffff039e0ac21f9fa9b207d1126c4dc7d4db2eb0fb5d81145859d2dceca3ca745670220219ffff03bddbdbb6fa4c722e898472d01bcde3c448ee81465baa829a74b819f1a3c124f6036f7823f33dc31a8900cb26efe909b235878a7427941edd85becd101b7aac3c34034c5d8a4d6cef2a707054a4b189c138b6c99ad1ad2899dd08839169b4c14e03ea03a09f2cbb082e98dafbcb095356f3448402439e1be314179e743151fb6611a43603793a4a912393b8c5c1e3ba64115233b700239a6651a9a6eaaffb8abb26ccc6e5037e0a85faabccc107886233f00bcad8a7b99a5d4cf8d75d62ddba8587b1dc597a0350fbd47b370708c3eb0c36662cdc1b00563ec2848dbafb5f60d2dafe393add4303196fc24869b7404a73ef35a5a1e107a8511121cd328787f801dd1d70ee5f78cc00581f026f67741fb5c97fd4e6e38587aed89a4c5f99bee0295dfbcb0e7c15a7126b5820fffffffffffffffffffffffffffffef29b5a3f7d0e6bb297400b624e55488c1303a9f555ef0ffddb36d4a0abc960bc6cafa5cbfb6dcb801ea0d4252ee5cbc0245900581f02038109903912d00002891821f81f0a003742e7d185c60385589efd6527eb51bbd881ba23f711227efd1b4228521fcfce00581f030d8531f14ffa0edd1b45a359742384f2590e0f5b52314fc8a83c6fc5386051315636a20608c5d3ddfe83c952f198010000581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0520f6f9f815473230c93883203defa73787d8c02190110034a61fd180e182b77c38735a82ef8c961455d08b6ed71f227bab71a02e91fbd2503cd55653f846e8ee798ee5c6e64940560e26bfa1b1d330986f296e14f504594a600581f024e822ad8405b6f4ecf0e8b15d647cb42e09803d2e97a698b7d9870fdc44c52033401fcc8a02ed0b99c7a0ae488497a1d0703a627bdf904d65b61931928965f7c96dfd0eb3d931f5b058806e208b46f67221000581f02810f14e8c3d6e05584679faf9ffd115180b163d5f56815227280ae2a67bf5820ffffffffffffffffffffffffffffffffffffff8b1c82d67baa165f845dd94ffe00581f0296b1232df14614e5c12968ea51a5d83ac39ac0e2000def3a7dfd1b98d383511d2d29a9f6f630d5c4d7617d82a289d7e6034f5034a4be179c1d3f7b9f98500cf9316a0de5f5ec59d19b4c0e9d557765d12f0219fbed031bcdde4711079fabce471db5c2950b9d418e838dc2515cd452795893a9a83df7035e388749675f518e68949f0f6b1c6f0ed8142c088272fd0f0381743e44c2edf8036dc85e7b6a71436eb70613d5df031131ffc301a80b46e18cc542b0b354d860d603f21ba55d0654baa912c07dea53a9dae4d09d3f53c7d25ac35a9f321b2b95f432036d9b4d4802c6262c2e570aa67e22ae432ec6c826a2806ac1277169693f7dc0c40336dcd5f921f2a83e85c7a06691a7a799499c2224228618a5ef3099d639e3c55903eb35ee7c17b1f53bc08d0a1da3f4a767619e25e0069327c61224ac70cdd2e8c3038a63dedf1bbeadd536ad901183f549c175b9101c09deb223ff76b8cc771132cb03a67cce624b7ae642159fde902398c1d4c3a576aa648c73971094716c69dd4be903a7254876156edbef4b4351c8361290ae780dacddc45c7711bb7c89fb1b8b5efe0219ffff03f063aff4ce3958bf5f6b4e02386a22be93021ee5d06c9e26bd426423971523bd03f363d1e223fb42ab1efe5b734435918135c3c0008e00f5361dff6e5dd340b9a003fd2787c70cc36406507f16879a56348854a53790611b297a7ccc8a52cb4d3def03ab32e9b68161e053b0a9aa8c2e44f56926d0eec6c9597ca415a432301e12ce8103b012b8db350b4d23dc2169726427c241d35de675516a277765b02eb65dc130bc03efb316b796cbdcc5e0e602366f128b41b42cf8e8889d36ace2d52fef2620f93f03b7a988e7735361934ea075822e45ea08658405e84d80258a3787617f24cb6aec03512b472b93b296ff2929c5e5f2205936c81755263f1d91a7ae88874af8edd966033b588697493eb4308a70f89e6e95c9a06719271ed3b481e16b9c11c3b966830403673760184fa27fb85240f0affbab7e5620322c9cec408374c6f8eb0479c531fa0386ead46ed6063d126127df53aaf73d9e893db5de64dd35e11b076afb7df8d51f03b214091ca9fc2fa282dd7ed4d2e281340b708235a16d28806c8aa66aa9f295cd0360336e10433369ad6eaae5df02bab1c22e16409f23cba3cc5e6c883f7b01c8e603af145b9e9a63f8a5c6eb69be3897a2e34ec7479186c698f384fe60102a5a9c4803babbf1a8708ab914140052debcc23202b130acd103a5b312d87416f812eb61880219ffff0361a931b7a37936ee3ab97f1092df4ce983d1be53469eb1d8555f7e0a714e29bd03e802e767c9432d810f42871bff6ec8a065b814e1767d089c046fe4b3c132fc8a0341b1c6ff9e3c292ee3e6222e9134afd81e48931e7188105cf89779c9fcc7696f0353cb073b344d7de6c2c16a01b2a9454f7665a93b68b7a89b049a447bb94b94fb035c22b188fd0cbda44eb98b93648d1bee115045fbb7b14a9a97b6fef5c8d651060313a1a0364af6cd7dd8b38a0a9d0b326568b6051da6b52d1f4913f3f1f4f3c87803ef9a336a59066a4711d67d7a7560051b90d6f4461eb60a3083440c54ddb8956103d7d07b8d990691565c98e60dd3a2dd1d34c83f8a923258fbfff0fe3b36c347e9036554ac39eb32410fdbd96235a15484cbf9ab5cfd1fafddfad0df095261f2aed103ab3ad6cd7789795a0ae3235bcea8d84c6becacbca69e2a82c60779ba6bff475603c15bdabd61fbb63a543452d10953e014b46a633e733c11f97005504bbe5a97110338c4b4ef22fe3014b17c0010e5747680a22b069c9998f94fc577ef8271eaf05e00581f02ba1cf2c48b5a9399a62a63b2116a7c133d0438b5df93e94796943ecd1f7d4e05a1b4816f4353e63449a6025bd400581f0247bf785e9d779515b449783a1a33cf271d11ed14ec1b706f4eef86ae23da5206627b038d4541453768ac9af2cd58435cc703ab43c1190b83f416c6861c57a56ae231952dccf71ed2ffbcf2ec7e39024fef2a00581f0243360222720d8eeabef21c0606cf97bd83cf3c088d4a3d204e51fb6008035820fffffffffffffffffffffffffffffffffffff3938f4be20ddf2fcd54181d821e03ba74d5308dff5f5c64b3ec3d11f46892290c42e42faa88cb74d3f72d1c6c433d03fefad8ae05efdf123e7abef1bfd6fda44bc6f290448bee9a665f6ce640918d8800581f03f1262cf1e4601e1bf98804a053ebd8835d7debb65f979f9bcbf3eb7762604e019650f7ac0fab2b04f6ab6d019800581f035117417fe47c3d02a96753d77ad7889bc91398ad48f31c2e9ef1c975c1d05820010000000000000001ec37f6fdbb55510269284dc500112c786d3c936637523f0219880000581f02563383614c87da8c03f1ff71f7c99ba90044075b850c9836200b3f0328fd5820fffffffffffffffffffffffffffffffffffff8c579131a2e5fa790b2d52f59b803af8d275d7a7e2f042a567fa8df1944623b2aaafae0d7fe8a27b6eab0e6a318260375144daa5dd6b59b7809e62e7d94bc3f172523dcd3823ef9c5892456da33ee02021935df03bd920536bea62a2cbbd3606a9667d6d383e20dfef30652f093ce94216d969776033c1746a75b512594ee06420facc1920ab04af68da89861b960ca917e3191f2560392a1b569bbaada052c9ca9b5768ff13bd739f8091e91c7324e889543cae42c6a034a7a9b5a822ef78def5bc5c3469e92301a2e9ef42a89b48661f0cf6f5c5fe922037c286434ac9d7d57ebfe9fb6ca613b9358a811a3ee37f6a46bb56d91232fa7780322ef4e738a1a9aceb513d1bedcdc272d0c7fc2d9fb40dc5f5b09989ebc5119dc038882de9b6f4a91c84f44067f08d90cdecf8200eb49d1ccae38c441fe955490850219ffff034f2b5a61a17d576d5dfe0c2da646a2e2eab6b39dd3c93dbfb5889bb5abd9ed17036b69fd77250901874972c2e61ed5fe6a8e97ed45db12fe2bc02f1525df3d3b6e03b7acbe0a836d3042cabf60ab4d5ab772b00e81df58e535d907cd077ca82aeecd032c41e58b702a6b9702e5876f9c7e1e58691926f2d7861a76f8536b571489a3a303a41d24c23a0a2f6882ef34ed091a04a4448113b5ad0b77d1011b46feb8fde15e03e72b201a505a5d5e3e1e91e6613f509a46ef2e3d52f12886d1f2a5f9ca27445c03f1abcd9fc69d3004bb705231d43ffdd0b29567bcf846c0515aac64af6747475203babd39e2140f4eacfbfeef6f804d475cdb76a1abfeb76c0e231c7c120a24644103235742662168dfe94544a76c7dbbc9fa89c80e602dbdddbdc3d5c5c65e599c25031529daa320cbfabe683a42d45f90616a8c6cbe1cb77c436f0f1662b511540a5503d0eb17fda48489bd22b68deaa159cc070e602abe29fee71b1c78af7f246d314c03804e965352bd418bc709856cc1591d3ca673a0ad45ee91fd682154a52cb33d220356bffa2615752bff5bf3c3375308ee50525e4220cc477e5c0536889ebf3c89b60219ffff03d34e8e3ce4792ce730e5ea446ddd68b7c3da4a669ccb48f4f2c0f8cc15499d0b037fd1f7100c7a13ecc7ae5479425b40d178f3e2ba96991ba49b5b52ddd8df30a40394e5d71141713bdeebe3bb4465a4976cefd7ff3af1061a2f53bfa67ddd0d5f47039b8b4481f83006607eb987af29e90753240aab38eeb708ed38cca6522fa3ddb0034fff37801bd1ffb8292bb216aeedaf8c4a8fe2e913670eabfece7f6d5e0ab9cc03ab380126b6c4d2aed83093cc4c291b01e1e48c4293a7fe2416a1344a3ff6e30200581f02ef777138e4cba411dc9a767ac7a3203ddd92591952e807b18685d870205f4e02d9433ef737541ab79e5f09b7e80353652b0797cedd0dcc286078eeaa19d6447bfac2782e13ac614e1c578ea499a100581f02b0b15ad32f4a3347914b2c46395feb3521463d0beddd02b85aa680ae331f4e12892552db462a920e445d1dc14200581f02d5c9f25a67df122fb5586efdc297d289427d89ff95b50a4c8a9eb37ccbdc510336bafc106b09e08f8da10d9bc686ef4d0386ed514a9930a23b0a420c99b5bd8f8cb8d50ec1165caf11eac3f57a22e57ceb00581f0262c29930c0510253905f46e9c81e80f03e10438f5af5055c401ec034da214ddbd10e6168f1b6a7fd06347f150373a4367d619814b17e0bf359b43e8dd84d2340e0036e999988828b3f332b399b03db125e419c22f4a92f5eb12c08b376ce9c1eb5025d72ecd996ac2bb15fa94f1800581f02cbfe3fb6d0a18c485d6970cd873d21dd443ff3fd069a95a75bc4a5910d434e029cd2a67410084125629de490c500581f02ff334b747aaf899e44d0c71f6bbb85e4fc46c637662e1e1034a00d93bf855820fffffffffffffffffffffffffffffc428fb20bd91d7a0534a159c31eaca7342500581f036c5e2313860013aa316ef141a1d2cad49ca101920cd8c14019f4c0340f205820fffffffffffffffffffffffffffffffffffffc828dab6d53225f2b7615e1d4f000581f036ea11320a3dc190c8b2deba80987707c0bf2e141ebf5528c6be2ff3a7e905820010000000000000001ec3943b29363d2e50baddce200112eb38626776638116700581f03544f515c5b75294603bc55cbe838349aff0b71fcba6350c77372c8f76470570385e6d07bcaa50000000000000000000000000018ae6302195010030a771f999059b03f62dccbe48e146f40d829355f0fad65afdd83a1bfabdf12510219f5fa0323418dc7fe1d61a02500f275034bda9c1d335ff352279b36f2a331fc147b33f40306e269dc49cfb476748636461693cfa00595f68063a156f4d01be09b4336e1db035b90798dde1ba9b27a5960832a75acfd6f22ba4b0349e930cc9572112b1f7c8b0337fc15ad2a9a75a54632b561bf3a8ec2530532930b46cb7b50154c0183164adc03fb6e231b16c7d3676d5c1937b2b7296194784711a6e43deaa87b54e13a4ac28a030b6194b36cbcb072bbc494cfe5b3b13fdc95a415d6dd2558341802c70869bf6303277521c48520205eab2f78e6a5062e682dfc45ca2f6ed805ca7f8077593b321403fdb5241c2df70824f252fc5985f3f134ed46e4b9bc4a350863428dee99a3999003b213fd19e871e82201ab6fcdc6ab269d168ea0a9276f7726563095787b7b8d6103d6528d094a639af9f6d1238c43c1be250c0cfbf2525d42193a4634020c7f6fab03edc4aa4fa43c1f2d5cc30a00694c52770ddaf5a157c0f7744628a0da5a1b910003e9641262ec2df4c7f411214b8ccd79cb61889dd6df133395859e8fa17c9a2d7a033b97b334b1fe00f37446650ad70f792643a24472e559e385e663a8063958731903a5f6a77270b71c00f62be49b3e4549ff59459302a24632ce66b5db5ea9c0fa0e0219ffff030799b44fb99efb9f4a8e750497262f6b78ae46385607e3886c046a2bffdea62403a3a79bd47f849815e0d1dc39a4139e9659331405d7029288bbb45449429ddbf40361662c50a90f6878bfe85ad62f1fe480026d7a8868e0028adb539f6170912e4703a78d4aaeed34e9c2d2a2f0cdaf29d0722deefccc834c38a2448b573fcd1fe5b80378b5a699ee6b52d115b79f0a0fecf912aba09795095e57d92be804820eeb225003c40a66aada0600991db53827e14be1d86aa979159ea39eb0cff9586cb4f2a3ea0393cd7ae831ac7fd1b2f24aa7391ae85d2feb6854e7bd82aa1df31228f7e31f600317bad6feadcdf436edc80fa3cc2a011bb4cd402b22855c248b547a7380e7189400581f021cbd3f4ff6b2e1ffdc9724674a9dbd7424f3307c61703c94c0f4aa8277f94e0595e10268dc42533fdfb1e31a3500581f02304180e4199135efbe7733fed16c32a46c6fc22b64bd08e6915d78f7997d4e0177bd23edfc737f455439d9adc00342a7d642d810faf29a87b8571f29e5fbe02afd2eaaa977267ed90d6b57947e4c03e94470e6364aa93956f48eaf977686657b0d3c541367c1fb8c4ddc3fcbfbc1bb00581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0489339152819261ec400581f03e2898c2da6141ef1728d6a6d3c435e4437a98398c1be7a27025ec8c0ce004d0ef3077d434c0b6377b8c4cf480219148000581f023ae9a21ea4d07d15120a8a6f81b993753a000cef837befbb7c68a148311b5820fffffffffffffffffffffffffffff7ec2a7e9cc6fe18fa4f653882291d4108f50396576604990d6331227986c73ee2b9e2897cc478fffc06a6ff26357cf9c84bdb03de7d0f3505fd7f78967b4cdab85ff93e50cc03020d16de4b463cb361a31f826b00581f023c0c993e7c49514d47779dd63c54669ea03f430c64f9b05e50d712bab3c45820ffffffffffffffffffffffffffffffffffffffa06f4a6417f9d31db0bb8f022f00581f02b043595506c12c0e78b27989e21617b71e63b7e3a55d2f5e472c10973ba05820fffffffffffffffffffffffffffffe24bbc04bfe0c60f8493c54a5dc197e17e50399bf7948bcbfada507c1baf5ec90a15c2d2d4dd58465b2d6f0c32b87e616a905035fbad3d94611fb9aa471cc1231276dc2ecbb572be679fee8c1066e91e8a84d6300581f0234b85b242cefc5dac60a1dd953b1881f44db9e4e8ab3150f0799b32b44b25101013be52bbd8522223bd05058d2c72e0900581f020774babe33ae54966706c76740c86f170435a4f1ec938b624dacd13d408a519649e7be9f42bb8878c04107149b0bfdfa0219f7ed03548eda36e44db26b1e3238b12daeb8a4f0600d4232d304ec38e96ab4874267fd03a513dee84e9fb22c126b74255a2ed981c5cb8b884bef707c0ae05e85c1c21ae503982fe9565483650de8f25e27a38f3e38ff99e4aee463925fde9fe5b94471fc2f039ddd2851a2aea90207ce339258021d954a6be615b388404a2e9f65deff7b7d6403f68d303b2fce068fad597904008c9fc70f0b3da9cfabffe0514355bd5e39c12d0368c44e2ea0a92c46c55708ce3d7c5a1b8670063fe5ad9936814ad9146e619504031e9d4b2f9a139c988905a579e6b35f95b24adf367091895739bc7e13acfab0cb031585757b8290d68b4a3e4b96926c207bc68b6c9dd35e9509fa8c286827b66cf60341d86af9cb9e55d85aeda4708ea5c72c7f1fcf70ccda606d88dfcfdd8a1ea9b8034fc89f555826f3f706cfc024d1068a7192f270be3b78518f79d17aa9061c816c03afa118e9175f2ea6c0c364a6f3a3104fce6ea304215af310d60a9b42aa25ff3f03a0c5ebf6c1d2aae7be3bb1f6bcb008c6d7f64592a2c6f3c64c42f53aed3484b30219ffff03f016351b6ad2e63e8aa51d6b52cfb7ffe023946b6990246905756c0e8dfe695603fb0b06c89cdd39b9c293e4f3eebdfa1a676e7059c303394f22779e9a16c81c7303fff60c7dbd4a77cc8b102a998e1190e6070c04bf03555e9ac61047addfb912a203354435d5eef754960fc4d357ebfcede84bb5cda68214ff7505d2506a06dedc560302b4c77ec92ee579dbfd86019bd9144d4f10110a21b3710ba827f90fea3105d703e80bf5d52315608b107d0123c44c005df917ed88c90950c44dd5fab505395fe703b809f65a75f4950b06c787b0eeae070674a397e052fd462e74dc8a5e8c42c51503f1c38a32b3cece8af2f9cb1cf01727950ad3e911a6c8acf1b854d5e62918c07c03a32de4f2ed74ab765ccc1780c36bc3ece58b8bbdc905ac3a3373e075e117c21603607abcf39cb8cd947ec2fb48f97253ec7ecaeee3f1c8f7a5a45e675ddad38ae803d6ec675bf99209a102ca5522e16d237ad2bf52e050a9093cb8af37cea8c2e6c003d7ae3dcb194974fdab42cd858821a34bd9eec472c5f1872629fd7d26819004e303da670fbe7d1dab388abeefd34e032151b475af94605f76bdc8df338cd678a81300581f0207a4ec6c5c28665131640ffa84926e0ace27570afab248f8c15cbf229e2d5820fffffffffffffffffffffffffffffe1e75d0947fb4ae306f5147ea67b38d8ced0394ee3e003a9c41ce77dedae2bd6fc0c2083858ffa708e35254452ff5f28d6e48036b7b63f9817f31dbee9a852759a41fdc69a9cfa779f98b192e29f869910d8e97038bfa43912476b04701a4e6603d5dd3be092f21ef342b2183eec4c957ad3ee9c100581f0214a316424a65ee1cc2cac6333a589c5b71cf1291b2c85025eb39a2c97b435820ffffffffffffffffffffffffffffffd54c4f7c8432c054b6516447d540bdfbc900581f02e4f5b8634c00c4b684f425f427f4e3105a7a435b85d690dd96c0715f6bb54d67534969d3bfb3150614cf9cde00581f0283ca3d3ef68e03615301483f3a5e619a56c87af63e1023d6216767bc27115820fffffffffffffffffffffffffffffffffffff359389c60a0d9b8dea3c0283d1600581f0258dfd7ff564a85b62fa11d867992f07ecdc8dccabed021e37861f06a43515820fffffffffffffffffffffffffffffdcd1958864d507ba10aaef5d30cdb0ce413031183a65dbc16b4382ab825641a88b929b180c6edc48ef44a55c012df51456a4700581f023be2e1951dbadd3468fb5d5c8407f62ab18103c8e7ec6a116524bd3f9a6c5820fffffffffffffffffffffffffffffce5aa83186accce08eb5985d3ae04b419ee03aaff3b175d1f92adc3ccb5287e4e32b458247c6e27829140fecc2aca04bc17f3032a56fd8149de2f94fdcfc5b65030def24546087711b0a6ebf4766956a94ef81c0320ccdf63b359569ebcfd0a59782c1881c69ecd306b23dc5668d65ebbb393f8c403edac7c8bd2777987e9be58b52bdce1551549aa51fe7f250f42f1a172f9899fa000581f0337fbe85ffccd90a955153fa2054d1f2d72999fc3a961f8ca21187f4fb9905204a8adf2ef2b2c164194aed35d087542fcf900581f034507d586979bec0bfe77864feb7a81fe1b84f1a7a44c9f02d95f6c28bf105820fffffffffffffffffffffffffffffdf042caf79f0ac44ac5ee44be8aafa0629100581e02748c526dc96145113197d472bfddfc33edc8a4959e57156030b2d1a3095820beffeebdbf659f7fefffdf6fa7feffadfaffe7af7fffccd7e9ffffdf7fafffbf00581e02cb6b5095bfed1797135c69be933c8c53931683aadb1ba383cf68ab5daf5820ffffffffffffffffffffffffffffffdfcca261af7b4896be032dfcfaf36c232002191010021906010219fffd03f407bb6136d2f62e49990649a8471f608a5f817fa31fcd504d328289dd803a8e03df32b99224cc97b3fb2aea035e4d7724691dabdff95f29a291dcad836701a98203e412f925034482068b876168680802aecd703cc71c84e3bdce7c86c2840b1718038cdea0e04338c6941957967f90d8afb63d1828b7e60b494312812c09cc097551030b7ff3754ce97c18083c6f8d260715c9ed98f8713e485211be5de882e286db750219ffff036622b32c1c7bfb9e348f41df6fd7047e6bb1feebbd129a01a643c7d0c0389d7e0219ffff035b5b02f9d161fe3ee95333c7f1861820efd97ad1fa8f9368850246ac666dbe8003d3521564268f7b75f68c8dc7cb151ec165836fba4350ec72556142550f388a97030036defdac4d5c34380c10461a7810a139ac78ad1891e6e7bf79085a06604e690339c7b76f6973a9fcabbe74d51ad4daa7183ca137c51f6fb31b2cf8a52ff7093c00581f02793934b943f755112caa96686980b1b7337280b94ea845017e7f87c22df651035a7fda787c083959f00d8d7e409ebdca03d8d15ae27ae5b0d60d6f6fe881be28b64add0c95f2212438618bd5af9397dee500581f0269434dbf0ea894eb6acec7c1074c347fe29250ec4c79a70c425721c43b594e25556937a72285bdddac770b9b0100581f02c8f6eb03b481be333f71428d9cf4004530417ce14258b4c6e8dbe640d8bf4e0d9f7a5752c42facfed022170a8c00581f02e6e7d4503cbffa8f3d16d0a3eb7caecdd9df9b4b4fe5c5dda6d031db25a6515e88a1aec6bfe66d2a5dfdacb7f243736303805f160280ddf3c14e59550b03ce33ceed0e8b9e74df82df12839a2d9614373900581f0274db522868fe88399bc0ed269c760feb5b366b4ac78327d04a1f9d73debe4e2aaa7c407ec6105b8a0a67cbee230324581c9e98379ff626b4af4d704566686b53892d56f723bae06dbce11b9dd23500581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604e8e9b1766756a8b5a48ba91cf5e7d00581f03764f3cfcfb28d82879fc2defdf54ba5690a340a31265f2f71981be4128f051255f75f62e721bd80569b9fe11c347a3f50219040400581f025139c16086ef4d952c094dd5dd000a98da680e0ed19bf0ede11d7b9aa49b5204d235bff6faa9a0d8ac3250876ad6c770420219dabb031dcbae02c6dfba872583b86368c87fa128b4109e2a197d889d6a30359c3ef783033878b08b3c77a06be5e6d90b938c4a07e3c2ec60f17c4434756cbb6edebaf3de03b0214625fb38f75eaba1d738ec33b81072da34d89cb5f2078543189c95074cff0375c2e3b31ba99c9fb932fbfcbc4a03a375f8ad61ec67e7fd56d49493691f6a1f03ab4c49cf53ce9005707730d712a145ac1a15d4646266ad7138dfb81833956b0003f12d7916b256738a6d160bc371cafbb38f18f28f036b2280e1007ca20f890148035f4755e2408b9fc216358271820c3cb43744c03243aa34b4151f229a6bd633c1034bf30e96bf389eac5b8f5ff136ec5d63fb8ea00e63b272de492b90e5803a328803ce19b478bfa4330d964d45476675269a70ea43cf800055801c445a6192602be6030f78d6d32a4c5b43b165ea8f5ae5830a9a892d129f8dca861f4a85f670fde61c035c6a51741eb0eeddf765af8c454469500c641727b91ce5672c5e0d4ace4265b30357d486179db04db6c087951bb86591b5186243146db894c63cad891cdd10263103d84f76124bde619e8bd743263620204f21470bb6001ba8e4d4e4f2f821b67ad2036e4e381a6e73204a879b9182779c180389e0e40ca3e8d0f7d94b746990b37266034b3d40183aafd90d8bfb8bc09799de7751434407ea04b5ed56ea7baf1f97fba50219ffff03cd2d68e1e192fd651e02f4abd2829c73cfb56989aca5d2109c553d6363aaddbe0378b3c88c367c4233347b0003397a00cbb8718d3a3bb39def7e270aff422efefe0382709d6782d4ef58145dc819ef652a7619ba64f411f9a49eec724a70e35cfe5c03842d54f693b8db764364e9f82c23f45e63a167b595695177aa3ffe08d08f36d7033d4086743081ffe13040f9f9c7db1ed9988ac538eacf37ada140088fb1f997bf036499fa197c1cbb6237531b358961c6151da46b4979c6030f69474a392f3a1e350309b6b14e4923364af8a3fbe2a1d4e9bdbd878c8c0165f7dbd899a80f04248df30347f7edd3b2fec7bdea7c9f572a6e42227837deb0efa7977dda7654f285d894d7039c322c25678921b00ca301c2018e000d2d2e0ae5e4e9d999e7866c0ae26881e9034f934c45b030d717419cb22dbe67ef34a0e2f6eee5cff64dd0845434fae1d7930381bdaf7599575f5915af94c48735411f3420ed964d769e6775affc79e87d5eed030044db15fbce1522c2f4b352461af28a026ecfc7b66c903844ef45cb45813b370368ae27a731d32e240ca272bebabee45e87e33bdf2106a5c6208cce8453a39a5003e519440a1829520acaef3fbfb22c2b2d207c403484d33671a4fe660f48df461c03cff891a8ea3c5bb3421ca14767af282294b4c228779b98bd987fddb2ece7b53403c88b5acc568ffe7d69497f5472afb14e95e847dfe8192aded618daa3c7cb896b0379168edfacbfb1924967b5bb7e306f113f539999eee8ce7af7f5eb59a0363db30392cae48520e6e6fa121c250b499605cf105c06538e275864dffad417690a438000581f0214dadb570a06706cc5010f8ac94e7038cd9b30706cdcabe6208f3b395c6a5820fffffffffffffffffffffffffffffffffffffa1ebeea7f998b0536c053389fa400581f03697f8b1b12e4ca9f5b7298ba1ba7141e1c9bc369eebaaffece9e21fd3c205201726554ad73e901814ae21c01f89aff720d00581f037f5a3d3d997b75eac0379536f1dcc1fffead67291b8d1453cf4447431d60520f4ccae30241069d02d884a9a85fb79bbde602190a00033518bedc6752407385b842305a3a90171584b762b7445d12883036a35ca1586a00581f02d5d1a3791354a10e552903043182f1c2aee4990924314f82f9e29f5260d35820fffffffffffffffffffffffffffffd3615f9271b42da9ba2f067b801826b772303ba21a0935fe09dde5196814362189923103d79620a472563e99eed84b4e1c86d00581f02c6c8c829d617accfb2f90c577868f888cc22bb24c73f5694f64399ea620d51898b3b1550b725d86d326b665cd7f063560387bf7e89e6222b309a84d2287c8da959144c233b8785a5e9623b2c4fa553cef400581f02d1b181357214db009b6653e915340148aec6c22b29bc267feb3dc93e50084e01e478f9b489ba2d76552a89bdcc00581f02899a325a081876398e448fc2e66f6921979b47bf2764becd447a3a6ea6754e01f068f0e874da0dca8c34745dff00581f0226710f052e8fce6ef67dc970a1d192aeccc36780956ba2fbe2b96073bb4a5820ffffffffffffffffffffffffffffffffffffffa7b7fbc3d880e9243ee46056e200581f027edd22f8053c5c4afdbacafb159fdaa7e0a9bf5557809d147aaf66949ae15197e98108a7da7dbf8d9c381b1544697c0f00581f028f9140c1b174b70cdb64920f4a54b1fb1001d6333ef05e11b3b71ef8be975177408f683f7f0b5b64e9a2d04dc85713dc0219ffb80219ffff0345ab3faaad38d306750825b5e805172baf459e014a4fe994bcb1aa1f6c99bfaf0328e74b2cb9dbe673a321ef13f29b12f926748b5e4f4c758057f03891b6efde6d03df7693d023e91975fc426f6abe9b27fcaeba063b717fe8371f5003932d5927dc0311bfdd78e1f560c56b0d8e934723f49b850798ce35c679842beac79755eddfdb0338fb0047df31fb05b2392b28cbaa62f3527f5e1b4e7d71065db7d9a3ceb7870903568accc8bf1e792955e97acf721b488cec3f8972721e1b08281a39ee55dfb56b03da879bc234efb8a2d2961e4f2bd4e7bbcc0a21dcae53c35f68010776ea5bc5c00335e60b28208395f45b33541b9159b8748d307b73803b284fc446829fac17082603ab8ada123035407c04d110fe99ea4343d067ed50ad7ff2e42b24571f6c964e5303670d49780e64f569e8caacf9b97cbd6cf45c56f68f93150d3c548e24c5b67e330219ffff030076db5bb84287a030521c9cb155070ef968c63f1a3009b5d7a4b88ba8346bac032badb1e26ca12b416e29c53d311d2aa5b65ba3f26c71aba6d9be430f1bd7ddd0037e81688edfd5949734a228e86f138b676cd748f019d107a08bb5af600b8dee2503cfd1a539be7216a1a71542467b95fc7a778513b2931d280e745e179e15ebf88303c6871c757f5478306c34effc8351dda2bc93f29cda5bedac4161efb26926cf0a0321366c2a24cbeb90f7039629749b21100e107de01714d95c74ab271a780be7fd0351de48abc2bd81e5dec45089430855a3cb2092fd1797e53519c655c5a40c170b03bbfda65193e744e411d2b9dc7574340c551eb0db5d7e5d6d436f177f18a8bcbf032a78197e76090df39924d55d0db2a747babcf2b6d989feb8dfb5b0a7801d3c6203ac8e1a7499292e45e5c13b062e552b2470766bce5b0dd986aed4f89af22998a003224ace33c0c31a8b9b1f1b9f78bd9ef1ddc50653619204e08f1471a8e676067703623a0e3b4f6e0ea70edce595bd4813c4c800ecfe9333704a27e700345156fd67035a0c11e2f3e5a2716749d92c13626e99f2ad7c5278c98ed4bcea6f02107139cb032090335f7c2b3fa666740c200ef6dd7c274853674062e819ab2862f712b1b63e00581f034d75319c3142c743a371d62c035089d18a717d2a91d0f0f7a58ee1306ae058200166293e970000000000000001ec1876588714887120dbf84200110257f29edb00581f036c8ffba777432a6aa34b94b2cb4a55bacfd8a15149ef3cfdef22ffa3cf005820fffffffffffffffffffffffffffffffffffff99b221da204ccaa829889bcfa7900581f03a68eb6cd8a5f2da94248c19c00debb68ace29f3b59b67b3e2eef8cf686c05820fffffffffffffffffffffffffffffffffffff87aa8b77a990d269887a71e151b0219102103267348baa530bc6bc8d02fe6b109dd01f7d3a26e1905d63a0546acdb5bf48c2b036807f0f629317bf7e506b3ea0a2d209eda206667bdc965d87064e376275bad4a0308d4de54ec1e4306a7e96cb8ae9511f51906bacef6181a4a4ef38a5718d755340312e8d8b1913d3123fd979e248447f2001d375d45c51acd5ebe59bf37803ef6ce0386a0ad911b1226bd97e5029408161d884f9ee9624ee628575746a3823e1b32bb00581f025330bc944dec7f2d1e9dddc7b5bcd05a1ae664a5c600c1c5c5928e81b9844e0dac1632e9f680f869c39a00708600581f026470392e4a1ca535314f3b20da7d7c2272baab98098daefa7cbc704cae6851010000000000000000000000000000000003a0b04bb4759d50a72438a22761453925e333421be4e178ba3dfac66cfbde223700581f02ca7c58b81b20d4c7f46cb9d81e6a02abe34c351bab2beabcbfe1680d55425820fffffffffffffffffffffffffffffff9838efd23fafd8e27be5ed0f7d70840fd00581f02510616274517d748501d8da95e114c05e79278a162f66da660af8c0cb9cc4e0189b267f1c2937ab6d788f298bb0219ff62039ac5a5bd910fa7b92f63e2c463c4cedd7f1b9acc8fb3fc8966337fe918234d3803bb42fc228886f9f96d7462292e5894f60ffcfcbaa191bd768cd5c4b7dd97f6b603225546ca1cbdb6494a84b03eff6f9c487366dfcdd43344587ccd2f0db23c052d03daba5e85c10eeda0936fa9b03c7187a99d403b8b21dfa02c04e8b225fdf134270219ffff0303fa9bfd6108a3bf9e00414f8454b8b68221fc0a257ab7c3860838ab00c3c954033b58a986e8019d1c41620eab7af609350ba4c9e6b563f1bb320c6252cf7258e103006e584da2248aaae606270024fc7134eaf59d5c99f62d4d1513658b5a6c4d3f032b4c61670f51a7bae8ca99c74729dbd2130e6251cd689bad152679bf4167fa3d03422ec39d1082a760f6253bd0333f4397085cf2005bf901c258ab58e48fd94ad203f9f9bfa06a1b6fbfe0b7b6eb26dfc4595a87f43d5b0fca5b7442a6d60453b7c8031ab48ccb520018517b9996f0d861cc266cda66fe2d58bbaac4c48708d685e1bd03ca9223f1e0934602de1d3b37bcbdc9dc75064fc1c92d42d4969ce25a59ee811703b1a7662391b87d9f32a893d7ca10b051ead8fcbdf86ee23010252e6482a236a90325da3b809ec95688084f6761e8871c10ad104545ea2be8cc873f0139405afc60036753e5d793bcd4fb3ef4710f6ee05e1b31b629a59a2e23fd7cc8cf9944c6fa5703bf07a20c910225784ad0f78ff79b8c17bf6602e4b38ec3b5ae940627df8f2d420219ffff03d3414f8aaa4b9c3d86852475d480d0c9c099706cbaf29e3d7c959e4a60dc0c3103504f5df128857c099124f8eadfc732af3c35a6d2738e72a0b380fc77626a83d10374adfcf7025fa87617675543d0fea5364ab79f3d9563fcfe320d66dfd2e45e790219ffff05581e033e8ac06c4bfdb2157482e7a0a264c20bfd39bd733cb3bf258faf72c4b0070119567e05581e035cc3326b15d4214027feba1d57c66e93819dfb9230fb9164794fa0d730040703b118731ad716c6e8af4d155f5c808fb6dc606d84914e7538713b1fc0f91df89805581e03f8426f382a41d09c9d0763379a4a28c2fdbbf448ec3b2323e29e14c5400404033d060472145459f111fdcd47ad128a07a8a4be7d018e0c07f2ef0e1a4c2e89620365f2b060d60d8738e0ee34086ad609cdcb0b23e62c3a0c3d79a9b1ea4b1f4403031f667e6a796099f0d6530a3cdc55500b1f711c4910315aadd09fe9bf32d3d69e05581e031b791e75585ef506d27454c49c394e3f3315e93e149a124a53714d486007011bffffffffffffffff05581e039313397e5cec9598415ccd0f40eab2419de3d1f535ddb7b6610157d0c00c034701cd36bf697c0005581e033ab6fcfe51a9a320ba7905f5943c4c6588b5357d4b7f421ae4cd1e04d00c014501e7561a3802199e0f03964704a77d5cb79c17e67dddabeb1f5650211c6a52002d3248abe0b73c5d89940306f1c94536a974578ea76a27be59a23096e8214ea6448414ac2ece42ea55b12d03a00f6c683040fb9265e447aeb527f9895e8c19a90c2bb7adc5f9b79eb6ef49b10331b400b291891b46aac642b8eb6e19eb945dbd1bb97972c4b14154f78eb67a410365f20207c74a0bce0639d2e7fd13d7927bbb363498bba3cfcda603328627d8f703f23468e936cd596fe67c77ed959e5ce51d4accd939701c0f11cf72e9d49f80830319b0b13ce1942e30f8dd93611b7ad8747815834a092f794bc195514435c9c28103ec205affeef476cffb983a9f99f000fdb042ea6912abffdfb87c4ccc46a95ec103d34a847509e2932e76d90760e9dfc07defe5a093c42c584d322ff311742a41d1031e0dd35265090eadbe34edf5b581c88327cbeb22970f7fb505e9f6fff7a3173a030aa4908aaf795d8a4e75d59dd391657625191cafd87347f2e8addcb53c070f5503121e0517b36d4de39c2b540147815c86fd8cb506ca545e0fa5d3c638ac2bcc2203bb5899c0b5af9775cc10ab2ccf4183bfebbe120d85e20563eb4cb1b2b1c5649c0219ffff037d747532b09dbc1d26a112e3f99a986e71af8e0f4f06f451e4301f0e596aad1703b2179bac83c6f4558c5be896f9d46c002ff8bf7fc009cd690bf7c7ee2aca680a0332273f787883130a022c726a15ba779c2bf47923705fe0b91e1fe5985ce8a6fd039bc6bdd022a2378235f2f96c0c0e80fca056ae5b94a26ede18e6e076bf1720a003744ae8dfeb2c1cccd638b330cf3703513f92cb30ccdc6ff59d3633e48af6715e03524c1c63bcd263a6c8c4bf9ed55974d539749241203e3e58face7cfa16fa82c003e9eee9366290cc4bc8c10c63ef5050e775867103dc1a9c4596e77bff5819b0250219ffff0370fc4eef9937c57ca7adbccf8e75fc181111ceddf2a57b44d9f6b6205d30ff0f03ce0be5123257f25a6c1c71fa4df6a9afcaf9bfbcdd8e47f86ba091fded474696032d8b691c289d8b6cace2ed3aa1d845c5dea587425d1565536613ab1cf2d5cd86034aff47c494c87fc7f45915a29dcdd05fe4a3dee2cc2258b602f478b34cba0b4903f656b53314ab90d53449d29bb1c5230e71611e321882f52826216fd746b8af5503f2614619186390a175e432805686245dd53094972a50299371204a859868a85103f97eb79b750113976f136e87d5294c7bf584678378ac5c596c4a0d79d90e605903dfbfc80491434888169793da5ba612f3ad8b8f4c9ef935f4a3bb36f5c3aca7fc032e7fba818766e6d7f783407ba91a8ca33e2bbc0be23d9b7572b3505199f785c003de46b3c49eaa8f5eb6fae0de18c2dc26a0761b670a09a93786243c239a8582f20219ffff0330f942ef493c6a65d920955a7bd4bbcbe1f5d195c6cc8f7972868150182adf90034754ff019e25a4625fe4b087a2dfccb92dcf96efafe75b9ba30a692fe46abcc00305c983605f0eed0bcb49940363535320a298d99182ee900444fd5f97779bc30703335c6eb59060aa6ac3b669181d3d567c249d1670f0e0d88b92dd6a68f81d1e3d03dd6a7b012af3bf0130abce97eac7862674ebbbba1106ff84b548044689f5ba79032540d804232339db0176313ea5b5c412336213a40be8e19e26720e592ef6492a039b0e5e69662c65e3693881d0fab830ba6317b0e395d0b55674b37e4c58e4abd50356adfeb34885c8d67b99f7d9ca4ca223ca621e56503425c331c9903a476dcdb30308f7d5052ea42f71e30a9672de03bacaedc1f0f8930df659697d69ce47e969f4039924c2b085927ec92e9aa5238509286849e9a66cd90da36bb06ebcd7ad582acd0395352566e236e397685d7b2b553a7c7e5a0c8f45825dd3e99b41413d8eec4ff003fde8f43351294d02c0e8b9c8dd7d315d8a3c7e18e0a1bc162cc6620c5c5f9f860219ffff03d991d8bab348bfe7925d61110205d09e87b30a5d03fc499f028700a64299f81e038c8f93da9b31905c31af72d4d7bb5cb4602d443f9c1e285edfe2b991e0e2af9003f1371ba1d32627545a39fbfe360f0829057bb4b8d104a60a1ec16cfed241710903eff84e36ccf161eaa28b42f91d3fa143307e0ff63f38d0797f937cce161e52b8032ea3a3ef41c6ec40463d2fdd5d54ecfbae27145af49ddecd0f2d82a712c25bc4035271da1df0eaac0e8ac43597d04ffa5be2967d8608f47584a39a20b28b4832dd03b42a1ceacd93248a4e10b141d4787f72a7cff7b5af2649cb432a2afa64fae63b03f91ba8c51d3a5336619d830c93ec78ac209296fc47f10feb8fbb39f6569cb069037728211d9815a452010bc4f7c1fa83d662a0878f0e9fcb1826fdf58805bc0e1603d1c99660c3ded148e04a729df5c45f5bcf25c31eb12282191bcb28b9361b527303a4fd89517328b99f94878bb6a10365c44f515d6208e6f69d91adf833fdb7162103af7e8d9e9a7b41b3fddfb11b67252efe784571bf13fa808c60a0fbd41a887fb80381c0436490f0c39aa850b757e8486b6cb34b991361213ec3f5472a452699ca810219ffff0387813c8ee8947d587eff8fd565f0f0b07d9697294ddcf8389e097ae88985cba1030897e8048e2e806a5e16e05af46bf686a099d0897492b58d8817d25c156d0d2103a8e036fc00d7fd84eb6f16f85a80c49aa6cf256d48afc5648771c4a42269042503068c7dbce1ca5b0fd40d458cf282a35b97e54f2698f7bafbe1daa66e243a8f6f035e2419beacdfff670daa5b9d1c0cc2d1723f9db8a2da15e86218725d9be5abd503408fdb85f41e0102bf605b55416aa39b436bd759a2e50494824fb387eb6e9eaf03b5a2fab75e6db4928a53aec2e7598b6e690b65c07ac77ce0bee5b94e9d33430503b25ed85c9f559970138745c558462ac1e7fb0292ecc81fc0cc7e361f517f2d4403097dfa7b202e8df00f12040b698d796465d90ec4ca5f921e9f14f2740f458b2a036500bc59ae3697259e4a74bf4b35e6f42dc82b7b831bd8d23c678808ecbbab0e03a6fe11315d7832429db054d1ef6753a196a13e3117e524650439510271d01ca4037a21c7b99c57eadd297a8812633e8346142732e739072413efe9f98e29cc2cb203515380238e4e81f070f91af301188abcb2f64d6009da3f13f5a44a4c1d369bd60312f044ca414c4ca664a880a35f2a99269a711745dd7014d83c7c1a429508a5830330d11ed7bfc7b4fbff84be97b91c4fa0971652a00b263d7b0e88b2157a4295e2035f41f795151c9491c36594a4cbdb211e6e472acb2e04575af5f175498b505eca036f69b17ef35251c81c13443c70ebc8c360a90638efabd4e26bbb7bb060ff59ed03b4a39a5418b80c771b7422bbefc82af000dc4049ae9af22253eef8e646471b55035a197ee85cb248b0e9b4a52f081914b952614230aabd59af987992d23ab9b2bc03a4d3218c87c4d77d240906f5e4787f36edb05c879f58b314870c2bf0a2925d0c03e0a5f9c1eba89ab7ed33228bb12b378fbb75d09aab8275dbd6b6edaa2b7149e303f3ce2fdcd9f13fa517de9dd704a66a02ded5f91f155ea099c40821f4abbf547603de016f018239ad60487734f97d13d217fd19f01da1a7d840bdcff7e7b4015c9d0338b87f77965bd82aa9cd2b28e000c5fb1979cefbc2e413c06c3473e12081e56f0365d5135d92bff813c2e85bea832701c859f711557a021548a4197ad8cff1398f033e9bd6b855223fd97a0ed9cec03ce278179847c91ea1bbadc2cf199fd209b63203b9163562c386c38ee8d7a4745b4060afaea6c994eb84d2ced063a3c16006c4e703ac021760761e272d799ef48f16438c86586f4231799ede28d145db34a84969aa0366b29765d4793c92d469b520ae3809acef4f14b76eec1d9cdf2140a42dab428b05581e03b1ca458d01246eea6fbe769c335cb7ab3f938c5a8726fc54777b261330040205581e033d616945a7d42cfd2e5310f685d39212557c18ee821c96579e5020555004188d05581e0352507f09d93289f2000854ca21ec6d108c413ec69d69e55501c7272540040105581d0265a919c155a4eee6caa20efae6287f002fb003186271ffb1ad95f7c60c02470b7c2e85dcd80005581d02ca4549cdbff3ad31d60800a5e862e8ef6deb21f722a281579428568f0c1a000e5ad7485d776e5046bc42cc05581d0252594122e76166b01cc01f13d41fb1c926568c2f2a14b8ef66fdc0de0c0c47026c8613727150021903800352fc2d0cdc5601d1f944529012aa66566856c5b49b1600c7b40dc84ebe04a38d03b94106c7f2b6483fd61c1a29dcf684bb89827596178cbe8bacf65fa13b7e0214021987980380d001ddcee9ea101119e75fa2e405e3c2692ae311028d66bd3f36f87e638cdf037091a21f9119a0e30de0f79ec10a7ddb9ee682de20b1d04eb704d9a3753c8a2203303f30a69832e044400f1e6aa606035d8d7854c10c6f54af14a98457c0e9550d0326874a857979efae008ac4b127574d26dff1ee8389b59349a3dded1837ce9fe103028a841ca5c176a591a1da152eb113146c302f376a67ed4cd46d23ce74407f5f039228bb9a0e66b2462d2f3df607e607ea6310ad4765c1a8ac4631af32391efed103e24f04b273a50516a875591af81a04efab31bf0bdca2d78ecac0651d1f72af4f0219ffff03502dd208560b06be266608bf7855d9f9b1c5962784a7bb37cf5c40b664222ccd03e4b0a420f2f745c2e87d85ac5e86183b8b736a1046a2ef855e935ca2c85a9c1e034fd035d401c8b2714b394786d9c759450384ff6390b1f9b5d344b6b9742b57d7039671b64ebcbd2d5a600ea2ac533eba08daf4b23a9fd4f111bead6c1d142d263703467da5b1b780bedbf41be4fc64f791cdd250cd2e362ff40b812571c379e5b9fe0348557eac8b036c75060266624bd2950728afe56fb12ac0a05fe94fd7a18ebf5f037addf07169f18ff9a3c64973dff35c61fd334dc2e275b02cd09a39f19a2512b803a526d4fb28d0561f6fc8452ed73b1ff29ffa06de7640940a4f5d54948aa3a156038270eb544111e20f7a5ad6050491c629a8c4ad29a1c455c3af6ef8bad054bfc103b63726813365321dbef638b577751ef3476ba9a96a63badba738f111ebf92a2f0219ffff038d4cfaeab5e0b0c4df79902ce6ebad71043933ba01d30803c778334da648855f039726d9ccbf738f95297e2e063ba8c9b219a663ee44b2fd31ac7c7e9af0ff12620219ffff0375701d8ac53c5803fe17160dba7e830087c0f4c43761ebc8daa4e6420b791d8703d8b258ba1e790b8933e1c13e6b05bc2a1beb2c6f7703f185d80f306d2138fd31038a684741e7ffdb317505ea6fa3c4d86f1bb7ca79e8a9640c4b0655acf3c37651038f624d55d66c4692d2e1db274f8e3dde972642e981915fed8e004945d27fa97103e4252717da8cd1d7f1f76680c32d386c95a01ae89d98b21690810d9d1317b3a603e7484171673c9c8b138cd5010b7ea816c515a32100ffb964bd612eeb8fc78df6035f456c3f3e1803093d4f7b57407175519983fd8ef35f6c949e4ea72f6783b80903b438910ef295b27a6ff70bee3a919c2535398315f89ba5c682f065ada39a8b720359c19a2574f3e87948c3eb2627631faa218c8f6eb65fb53ce315a3ffc950ceda03b3ff8f94013115e56b652edd2ae8b52a43622f00c12a0382d82259d3305b4260037a7cf8add3755895a3bb9339ebca6e06a757f5352a10fcc24448f348e80d584b0343daf5610cd7c7fe98e53ec3b4ecb18db95a775f079b06d80c2a59bacabeee4103a078fd3149c07f3e9276bc9fbc8283e9b1e4f899e2fd8c82bf8d23832caf59630219ffff0303a154a3cbda26d32691451246c64a985c1623ed7dcd97c464b9fc4a8495928f03a762200ad413f40b91b721b0769a5f9caf5c4c8f5f6f4d7aa9c2252690d9ca0603fdce3a21c7a979ab7fa3cf1504acb93e35eda98148b5d1e9bfd59b6b894235ee03d0ba94131672ea440341f0e1fc9e5c86e61aeffcde6d9141c91d5af63ffd6391039c4798b654dfe34b249df6f84de2f6eb37b99735cc8e09715349955ef1f8beee033da27527ac1da7b7f224fb441c21c8f5329b59518c98d5c48d772d91dbcc274803e40608176c4de05c1931342801d08880a425c79e33f018850283ef9fd24aa30a03116df2722d5e6ae67d605d84ce92be61205895774be112974ec1dbb2a2bad0a60378190f02a15d45a1ea2fde8e32aa472a8d371aa6b9e1d62c7f49799f4c5493bf03b408c382f0a69e57d127cd388a86ff39640f304f1bce85532fefa723b3995b600341698b9ac9f018f28ca4aa18b567db1923b65e98590f33ff8de3a4344993944403bb1f0150034d7e5c03ff7b50a58964fffd267c2dfe2a70498c9a90745b67357703947025c5500298bb50ab92b164497d243e699144cb4830777434ded310075ce103d596ce52f5ca6970799a9346d9e27bc55feb1f855891aa64b2ee8a78fa5ba0ae037c3e02fced610fc56e13792f84dd47d592bab0449fc3b87c0915f9ec1a1aed9603db1c42ffc773faac1df01ee9e4f28fe1d55282a60c56c7cf05e6eda1f38e64f1035e3bd65780b3c4de8e8a00654de4d4efd772841fa307e6853aeb327fa50750d1030d14dfbf139f14e6628b88bc4b91547cf33ad69c0e493e1afb3aa9247000b7af03e1cb01d2a1df9a6671717aa4f64fb5b7404d64b2eba49664cdcedda908e551f203f2b605970b7b7c3132dd85dc1ef7031d4af99a726150ad45297a5f906f797cfb03ae34215ccaf1c4fa833e03ce2533d1953b64b3a899a3bd52b3f0a7446114ba54038160bbe2b4f69ba2dbc672804ac49360d12511da483bc24d4d9afe7ca5f3552303c91745db06df2eb45e6b137569a4c2b3bcd42b6cf7f66363e98bdb56fe78ac5503bdc9182f5dbb432f8bd38067c95fe2c515f0b6a4a8994edba9096742a20c833c0374cfb47ea88f440c6aaf47d387525d66e3350b132c5b2cb86950c8901fdfb51a0374f5b69166031c7ec4dee73a7506cdb68a114e9306fe328acf1d5407e1a8691603a9900442a14cd891c0b1b4f83d350f4d7bc7b884073e8fb84cc6f73f702d962e030588693480317cfaf4a83dd6e60bf34e1bbe639d15ebeb29be7b9522c5b58da50339a9ac31a9273270abc60490672f0e74d2fe41e63452ed961a355de65c5b9ad603c6cb74633e15b3ebbc963d6bb80001a122351fe36157920136165e7c5562b497036fab87237644cc5d83557514dc95ce40c0be11325e7ed6645f5261f9f40ea67103173a7a1c82fe9b77ba2552f139f3d482cee46e728b9630ef21c242ff53e62e3f0370fc53c90d73202e0ba112493353c52dabf2ea3199af726e9efc42aafd0a1bf603f491cbf32f1972e68d6c47a883522652e0976afebc8b5666cf1fad0ace7dc7a003c20c231ae1c923a1df3087cee404a3f9b42d2c8b7566fa1433885acb5b7488bc05581e0381a4858f151d00bbc606373b3424a475c15bb9a1e2902beb4711e3224004030315912207172c3d593d9c96475a5ec48d19886d2a6c4da8f218b127a4e2d8c7d703fcd0b189aa44b77cc8188cbd309a5cea6125a76b904c3df3853f569d047a198005581e033d2f1bee6a7938a70784d8ead1845ac0430e120fb63fedeed117aa3b00040203bf930c8925e943c5b56035749edf07c99ece773d35852f2e8f0f8492639a107301410f05581e03ebf22c083347a38a76e1e05cf674abc591e5e43c3bedd10af07455f6e0040203aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581e031c29047e358bfcd52d4a1ede9d01a1f7ed8abb0fec87eec095fcb6b5c007011bffffffffffffffff03f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e03b726d05c2b751555642e2f8c62c1a3fc6d375de5b07a29db3b03f1c23007011bffffffffffffffff05581e03e5df3e50faee4046322232b02122e22521b1b6149b34db4d18dc3101e0040105581e03a94716c9815f4408b46a306d9516288813e70b9cd2ab2d55059897ad900c014701811ac25e725605581d02ff792d852853f0fdc653735c0aea8249019940b289f2524e65dd09e9040105581d029e8d0fcfb587e7ab8a22802818d35e529fbb57e9c98d1da6bf8cea4a0c1647845699f539b358021918000219e4fb03c66de87f6cf3a0de896f63a2bc4fb25f10aa9e0555ad72c5955747c434a68d6d03bb0fd651a65251cc18e519d401a042a1732c6c1a8cbde0a2c23b11b44f78ae41036a128332b862596ae031ff5ff28770b17736161f185bd9417c82d89aa45bd1220399916d95e25185f3461511157f33e45c9e1d10a68119f38b23769b9d5537c9f40372f418c638ffbce9de1f30a457c3d6df888bc5505e6ea0945ee3d72b69b704c2035aa925871a4f4136b3085ef98eba1075de08711ad17a2d3182c0c52e7709b8c603079faf8eebffbdb1e4d8410280fd3d2ab424584a12d340b6f99453b6c02d3a5b0393c1068dd79084b9aecf2709765c4926b99005b768e884185aadf0fc5186b13b03eb6586ebdb4e0553896479204d40756b7d5fd6eb1cb39b7964173e07fae46b9803a1ec8cede4c61f785e8aa21210c001b35fdcfc795f611a58179a1bfe31020e6603d1a3e9bfb2e6bc0ba2f45ca9cb62c0c2271df5d977a4d457eca640fb6c9f15e5037c02d2aa1572aace996ba19036fd7ddb51ac0a2e6cb8943c4df15100f31c0f390219ffff0219ffff03493fdd4a53a841a01710830d6f9ed64f372a96c0d5d5bd574767d5185ca15aec03a04fce8e30dda49245d2ab1eedffbb2f55095c14d4975466245e8e97d0157e0a0354b303864ed7e440c6b4c063d373187b91da1426aa2d52829db970b9a84f09960350636fa0084db8422ce2953d09091aa2a747aa3bf993ccb8d8f46f3e4f057d3d03f2ed07e68bf6bd0cbede25363ce899198b2b42a782e2a1a8b07ae2c1358d412d033a0e13452f3b56a997bcb577f3c597c9e479eeb2d9a05b4eff2a50bbde63a032034d043b2cb3c0f323c285271bb9eb63f439f0b630a010aac02d211fc7262906b70219ffff038d0d35bdeb51f2f680e72dee34d0e89d664a51c1d7151faaac1e71bb36e3f8bb0379c8123b1436af2b2f4525b836e4d646d04de62072b6ed3b20d3a847be8be3a603b2c7b931aa198e7a534ee7e24dcf58e6ee3a78c318d1787c6ba693ac6ea6e54703c768ccd1e6c1cea7aea0e0851b9a3333850ec3b8e28739db271434fbf7e0d12603eed1591fd2abaf02301c8451c31cb8f637138a5af5b4e9f008847a6434fa096b03918d0f9d8225728769a64c885061309dc64c3eb0ef04efdc1baa0100e6ca204d03e5aec56b298aa966765f70ddb78e974c7748a079e0bcf72f7d0ceaad7208e6030331d7e47e7293c29df099b899e8d150e761a5c40d6c3411609bdd7d41db2510d903e21b80af3ac50069a3f7999319ee5d139a795d3d71f8d4e1d1546aabb224bbd90362dad3cb8779c256316a30ddca2f7bed6f17394028b70478b075c9ad9f23527b0219ffff034bbae16ae94cb05f40654c6617a3c5166664ae4ec4fe5d3f9459f87c272d124603b5f8b5f5c046f0604cc09d8ceb6bb425ce5c40bc4ac6f1e5773b67005be5e9d703da2c8b20a62e6da94eac9cd62da39eb5ef892caa27a232790ace8cea2cb2feea031841639ebdce762f2066f96df2b44cfe3e1d676f686dc57c4b8a5d136ba2490503977da587ea197771f781ad3c507b6c34861da46263fa5ec44bb284d49f1c7b9103f193d2c792be598fc97fa44932f3f6f1fda8367e6406e56dd9dbcdb598e8f9fd0333411e37e28250346435c09772319053c282bb61c0813d4225e891fab2262f2603ae88a44105ca9db64c543ac12eac9de13f9940ecc2f4a9159853f695a804650203794fa4a08875afe4c9f54b42cddebf0de4fb879db40a51600404612016c6378f03a8c5c80852d972427404b6e3abb4f5f4034622b398ededba58050f2c28015d17038096c11fe0f5dc1767a4a7cba6863694735543a19d77983512cdee683459aff4030cbe73a9b88aef88b4b4aa86ae0d23583cb628a8a458e74b3eaa52e1336ef85703b0048ffe9cae416a417df5cec87b60f8ad5cac3e0143af20933cc73d1f6195dc03c09514af7455fbda47998004446ea68dc86321b83325a09cbaf07761742f1e5d03e8e7e357b4a2883094bd8e93ec5cb1c208ee36f132a2da2d65d6ccce2db359d8032f5ca4b731e7b08798690b48f42dd30ed4e3761d06324ed9188f9df538f67be7031f8841b8d425431aeb9ae6105ac446c2d5685c5ff69965a440c7c31526bf4b61032cc5309d6cfd154bc813b3956e43a1430bd2970bd684fa8792a30b4c3c3e50c3039aa17156388fb72604faead016cce3303d12c018e821003552adf65424e4a37003ef54810f866fe386a77cd06d6d2af08167c0814545c140d23f1bdbcb2afda7c003b38f0d17ffe24bb7e20b45546ff97be4ab86529e61cee1c2ca0e4d3e7f6ab32e03b0fa2008a12683375f3df1512ae71e947784012f4ef61c182ff4af3d4073ffa605581e037b7477e418ac5a14cf7e77dc59297e2bbeb8116bbc91babfa2212f2d40040103a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03068fa055a4a7f1eb5000acb98e70096615babccb7b6dd93ba5780f8de007011bffffffffffffffff05581e03463e9b6649e5a09ad0a1dd0c2c26b00c455807a27e0fd38ce5bdc7cf00040b05581e030269386a471b57d4ee9e7d93e34959d7d67a2ed4e4a8facd79970507900403031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02ce38186ac605c94664fdc47f237dcc0f428fa17fda7fd25fda213fb307011bffffffffffffffff04591a2460806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb1461033b578063bf474bed1461035a578063c9567bf91461036f578063d34628cc14610383578063dd62ed3e146103a2575f80fd5b8063751039fc146102a95780637d1db4a5146102bd5780638da5cb5b146102d25780638f9a55c0146102f857806395d89b411461030d575f80fd5b8063313ce567116100e3578063313ce567146101ee57806331c2d847146102095780633bbac5791461022a57806370a0823114610261578063715018a614610295575f80fd5b806306fdde0314610129578063095ea7b3146101695780630faee56f1461019857806318160ddd146101bb57806323b872dd146101cf575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600681526548656c656e6160d01b60208201525b6040516101609190611533565b60405180910390f35b348015610174575f80fd5b506101886101833660046115a5565b6103e6565b6040519015158152602001610160565b3480156101a3575f80fd5b506101ad60125481565b604051908152602001610160565b3480156101c6575f80fd5b506101ad6103fc565b3480156101da575f80fd5b506101886101e93660046115cf565b61041c565b3480156101f9575f80fd5b5060405160098152602001610160565b348015610214575f80fd5b50610228610223366004611621565b610483565b005b348015610235575f80fd5b506101886102443660046116e1565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561026c575f80fd5b506101ad61027b3660046116e1565b6001600160a01b03165f9081526001602052604090205490565b3480156102a0575f80fd5b5061022861051d565b3480156102b4575f80fd5b5061022861058e565b3480156102c8575f80fd5b506101ad600f5481565b3480156102dd575f80fd5b505f546040516001600160a01b039091168152602001610160565b348015610303575f80fd5b506101ad60105481565b348015610318575f80fd5b5060408051808201909152600681526548454c454e4160d01b6020820152610153565b348015610346575f80fd5b506101886103553660046115a5565b61063f565b348015610365575f80fd5b506101ad60115481565b34801561037a575f80fd5b5061022861064b565b34801561038e575f80fd5b5061022861039d366004611621565b6109f8565b3480156103ad575f80fd5b506101ad6103bc3660046116fc565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103f2338484610a86565b5060015b92915050565b5f6104096009600a611827565b610417906305f5e100611835565b905090565b5f610428848484610ba9565b6104798433610474856040518060600160405280602881526020016119c7602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111af565b610a86565b5060019392505050565b5f546001600160a01b031633146104b55760405162461bcd60e51b81526004016104ac9061184c565b60405180910390fd5b5f5b8151811015610519575f60045f8484815181106104d6576104d6611881565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061051181611895565b9150506104b7565b5050565b5f546001600160a01b031633146105465760405162461bcd60e51b81526004016104ac9061184c565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105b75760405162461bcd60e51b81526004016104ac9061184c565b6105c36009600a611827565b6105d1906305f5e100611835565b600f556105e06009600a611827565b6105ee906305f5e100611835565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61061e6009600a611827565b61062c906305f5e100611835565b60405190815260200160405180910390a1565b5f6103f2338484610ba9565b5f546001600160a01b031633146106745760405162461bcd60e51b81526004016104ac9061184c565b601454600160a01b900460ff16156106ce5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ac565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107179030906107096009600a611827565b610474906305f5e100611835565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610767573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078b91906118ad565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080e91906118ad565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610858573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087c91906118ad565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108c3816001600160a01b03165f9081526001602052604090205490565b5f806108d65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561093c573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096191906118c8565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109da91906118f3565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a215760405162461bcd60e51b81526004016104ac9061184c565b5f5b815181101561051957600160045f848481518110610a4357610a43611881565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610a7e81611895565b915050610a23565b6001600160a01b038316610ae85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ac565b6001600160a01b038216610b495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ac565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ac565b6001600160a01b038216610c6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ac565b5f8111610cd05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ac565b5f80546001600160a01b03858116911614801590610cfb57505f546001600160a01b03848116911614155b15611072576001600160a01b0384165f9081526004602052604090205460ff16158015610d4057506001600160a01b0383165f9081526004602052604090205460ff16155b610d48575f80fd5b610d746064610d6e600b54600e5411610d6357600754610d67565b6009545b85906111e7565b9061126c565b6014549091506001600160a01b038581169116148015610da257506013546001600160a01b03848116911614155b8015610dc657506001600160a01b0383165f9081526003602052604090205460ff16155b15610ecd57600f54821115610e1d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ac565b60105482610e3f856001600160a01b03165f9081526001602052604090205490565b610e499190611912565b1115610e975760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ac565b436006546003610ea79190611912565b1115610eb857823b15610eb8575f80fd5b600e8054905f610ec783611895565b91905055505b6014546001600160a01b03848116911614801590610f0357506001600160a01b0383165f9081526003602052604090205460ff16155b15610f825760105482610f2a856001600160a01b03165f9081526001602052604090205490565b610f349190611912565b1115610f825760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ac565b6014546001600160a01b038481169116148015610fa857506001600160a01b0384163014155b15610fd557610fd26064610d6e600c54600e5411610fc857600854610d67565b600a5485906111e7565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561100b57506014546001600160a01b038581169116145b80156110205750601454600160b01b900460ff165b801561102d575060115481115b801561103c5750600d54600e54115b156110705761105e61105984611054846012546112ad565b6112ad565b6112c1565b47801561106e5761106e47611431565b505b505b80156110ea57305f908152600160205260409020546110919082611468565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e19085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461110c90836114c6565b6001600160a01b0385165f9081526001602052604090205561114f61113183836114c6565b6001600160a01b0385165f9081526001602052604090205490611468565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61119885856114c6565b60405190815260200160405180910390a350505050565b5f81848411156111d25760405162461bcd60e51b81526004016104ac9190611533565b505f6111de8486611925565b95945050505050565b5f825f036111f657505f6103f6565b5f6112018385611835565b90508261120e8583611938565b146112655760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ac565b9392505050565b5f61126583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611507565b5f8183116112bb5782611265565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061130757611307611881565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561135e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138291906118ad565b8160018151811061139557611395611881565b6001600160a01b0392831660209182029290920101526013546113bb9130911684610a86565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113f39085905f90869030904290600401611957565b5f604051808303815f87803b15801561140a575f80fd5b505af115801561141c573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610519573d5f803e3d5ffd5b5f806114748385611912565b9050838110156112655760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ac565b5f61126583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111af565b5f81836115275760405162461bcd60e51b81526004016104ac9190611533565b505f6111de8486611938565b5f6020808352835180828501525f5b8181101561155e57858101830151858201604001528201611542565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611592575f80fd5b50565b80356115a08161157e565b919050565b5f80604083850312156115b6575f80fd5b82356115c18161157e565b946020939093013593505050565b5f805f606084860312156115e1575f80fd5b83356115ec8161157e565b925060208401356115fc8161157e565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611632575f80fd5b823567ffffffffffffffff80821115611649575f80fd5b818501915085601f83011261165c575f80fd5b81358181111561166e5761166e61160d565b8060051b604051601f19603f830116810181811085821117156116935761169361160d565b6040529182528482019250838101850191888311156116b0575f80fd5b938501935b828510156116d5576116c685611595565b845293850193928501926116b5565b98975050505050505050565b5f602082840312156116f1575f80fd5b81356112658161157e565b5f806040838503121561170d575f80fd5b82356117188161157e565b915060208301356117288161157e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561178157815f190482111561176757611767611733565b8085161561177457918102915b93841c939080029061174c565b509250929050565b5f82611797575060016103f6565b816117a357505f6103f6565b81600181146117b957600281146117c3576117df565b60019150506103f6565b60ff8411156117d4576117d4611733565b50506001821b6103f6565b5060208310610133831016604e8410600b8410161715611802575081810a6103f6565b61180c8383611747565b805f190482111561181f5761181f611733565b029392505050565b5f61126560ff841683611789565b80820281158282048414176103f6576103f6611733565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118a6576118a6611733565b5060010190565b5f602082840312156118bd575f80fd5b81516112658161157e565b5f805f606084860312156118da575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611903575f80fd5b81518015158114611265575f80fd5b808201808211156103f6576103f6611733565b818103818111156103f6576103f6611733565b5f8261195257634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119a55784516001600160a01b031683529383019391830191600101611980565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cd1a2118a4607b0523b2990d6e1df8402151cb294405e0fe19cfb7a9df76bc4c64736f6c63430008140033005820028dcaf8ddc7d8d7c8ec1cff0af39bb6085e0d747114b3e53e8eab85c25fc9b04101005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05445a70532e427ace9f67dfed997ea7e42020af43e0058200228844264611e87bf6f3a55f5811d7a50ac0200f039fcd09d24ffacda02530947071afd498d0000005820026c5842df362c305f1a74e75bbde32f564084f950af916ff4e2571ab57b38ea48012a6d8e112200000219204c00582103b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672047071afd498d00000058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305445a70532e427ace9f67dfed997ea7e42020af43e00582002ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6847038d7ea4c68000005820025f43060733ea08919ee884c1b0f088e2c90b6a12a123ac7c3f989bb70a235b47071afd498d00000219800200582103df627f2e691bfba981d13cb52cc40c4aa63b23def8c6704de4da43573d28a12047071afd498d000000582002e38a03e7cea2f9e901c34b8b960f33d7bf92c0a40000743ee84738a3c9515047071afd498d00000058200205629435bf2f6c33497c91b581845a7026307c25f9f42ca9fa4dbcf990ee5147071afd498d000000582002de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090547a250d5630b4cf539739df2c5dacb4c659f2488d02184500582103d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802047071afd498d000000582103797ca6e0d1beaf5dcf85823eede7cb3baeccce81be37693a7da8f107e5f3e9c047071afd498d000000582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0410800582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444047038d7ea4c680000219018001410b00582002eb37b7e5acbfbcf37bb7477ce1a97e325fed8cbbc157cc8e6ae66937d71e9747071afd498d000000582002c5eb6aff7937d3b55bf0593144d4cc1bd0cd1929d8c24db628c5f95248dbdc4101005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec57010001d95fc8448cea732810bfa312a3ebaaafa2c6a3cb00582002b5281a71e22392d2aa0bd95be8716e0424f3ccc46fc4db2e15c35d50feaa8647071afd498d00000219c0c0005821037b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50411400582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f044012e3b670219bb5f05581d02cb4bd96e136ca13b090740d3f00be10f1969f73d302dcac11e7cce450701191a2405581d02b82e746dab702ac7428790fc53bc0262a96826827b3fcddc35c82706040102188a03cfa20bebfd29f1d73e7d6cad1625a81bacf15e427a9561f985fa08ba1bc67f4503562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03c2bc73103e30a60b92a2f75102c74e298599640d59e80c6fe56abfd72007011bffffffffffffffff03af35f51f228c597a8268940546953e12e15894466096b84eb339d97fbb38497805581e03bb993e3bc70436604564b6c61f558fc1de7a78559b778e04cda7cf01400c0247047fa8a932fd5e05581e0369318c4aad4e25e697671a74011c5f52a88bb77a09d16b7750f46ca89008479e58b728612c000219fd0d036ee9c60abae91129cb30bb0295f5831c66eec16438f18fd976330cadd6e02b78037ca5ed52c8162fb565e72c9ef1355cb5cc7dda8a6a5c1e48449c8e1a9c640d2b03ef17d7bd346608acd5e4eaf97ee3130758f66fe23d222a8fa1fe837e4002c4fd0315ae3cb0aada2558f82aae70c8d86a2eb04079fcdf1bdc5831313859bf2d0d2803085fb4fa10bcd6a9da0e89e758b31df4bdc3de33962bbe4c73d02905a5e8c322039555281d2b809790bc436b44b98d13f6f22a037dd2a54405cdbb8dd0f861003503c883a3bfe444a7701c40737aecb49dfe5b94d66552f1dc82d58e197a67cd580503438c8dc56d7b0c6c15869637a7c8271c346b8a6c6ebfab5becb82e18f65b79c103739ad4b716a9612c1c30ae5b86c7cd20d6dae8bf473f0cedc3509d035274a3fc03db0c664c2cecb55cbdb936ec9b3549350d4d2ae7d13784a760deb4eed95fa7b203e6dc4a9754c5653682edf43b3e4a1d0df8588dc0243bedd7a974158450799de703d200c5142ac6cdcd0d17ffb299aff76f0c30a81db62fbe41ffbe5a11167431e7031cd5a8ebc4e7b1a14c892d2eb886821b9068a455f4c3cbb7e576ffc3c66ea5b90219ffff036f13b1331ebd56022d8c17e8efb30fce481d6eeba82c539f18b7ba0335ea253b03970a55a7f9dd9d3975d598c06427f6911247c23a4a61dc23ca735bb5f934bd7303929ec690ca00ec49576a6eacf776b9605f65f3dcfcfe9c13677d4d8aeb9d0d1403f8f661e40e170f1ff30e07c35d58ceb1e89486cd2152b9f4c777118e087a4a6f0219ffff036e223791a03afff7a27a8ca4e194a841d845fbaf90cc3376b110fc54f7c0434203d8354ef84fc404002bfe0c5666603b034cc1eacb667f395cc98b7f0d8f66583803dbce0d35a3e0f46271a57b5142df96008e13c67dcf3ca912761ed6cb59a0cc3103ef5b8b2b992c41a3b7fd9e60e4d71f0e441cda1411b382cf0f0a15fd6957e5c703cc968c167c6bccc444881e21b9d814f16cc4ee72883083153ef701dc474c62860392df3d69da7a1aa6085081c977abe28fb83a7cf92d01d63949529cc7ca022bd5038aef9af98cc989c304e1da0954a1a5c0cb4e9ae8c6c00c7f6cb199aedad1ee220219ffff0344981ec9072d8fbaf350f6b182bd797e3a7f02caeee3261318f113a0a310577e03e2ef479408e0c57d15ea7f36bc80aa0fa6c12f5fdb7ceb108cb1aa7545e8851d038c1428fa26399ce8e02e7fd2f2f5758072228ed44b500ff1e4c61bc83c9ed6ee03c8092b2371b0c0c1ebbd04515611b4deb3e56f4965867982433d9aac5d7c2dc703ade981cbb648abbfcdefd827e3b6226f95f4e99f141a85757d16afd6df89b97d03d9683d27b02aa039871e5121f0ebf4544fe0cccdfb79279dd5e98046b674f0ad0320051ea881bc8cada86b8a81ffe289cc931cf98de735d1c40d1d80041d89df46039873eef0b601b9910709ced9b29a387ce74714bbfd009658d07888df4a952cea038ba3c131f779d436e6d7c22ce751110e0f9960cbccbec9d8bae1bfd74f2b3d920336da30787cca2e0b35bf668c67c6edea11121247d372776589525b1236140d5c0395744c74c312e27eafd2e1e46e9790fa1eb293267630b04f8fda1a7ef2a840cf034db51eeb5b18b379e60160010fe2c3c7bd14954dcbcda10ee9d417f65d4a665f038a39a886fffeac2f55ca5657cb8d0785d94bbfc44e6ef3d788a37fc8d51e871703e7136f8beed024146551c699746551980d3c9ebeee95c28d0c3bc479ba6c8b870309e468098ede3c3a4b38e67effdf24acf665c8f215648a2a15acd048b691dc52038d6d3f5728053b789c9263fb2c4f53244bc6981314fef24d1ba4387544bc8df0038dfa433881271d1f16194f29b4848d8455d3bb04832eefeac90d24a40b651fbc038317f338c421a3ff798cee3340331c0e29acbb4fd199daff3678dfb916a60da303a2d833f5221678f65bb919bab928e1ac2a21fb16c768c802385743c1f20f33bd03882b4ff677a16011e26972d50b9aad31dcdd6d90ce5ad017be729be29ac66bd603f3cd42c03862ca5c89e09108921410c77399a67e00a0c87ae3873a4db3d0712203e73b2ce57b9957bc498d47a6ccfa795d9cce036014c96c82550ad4d4b99d8a350349f87b79173f2152feb529877b8ebf378bb494867b7b5fd46e21c38c04b56b39032c53e4633f67dd8f1cd3b97857e2fa1888a08113bd4ab0ddd9f3f0667b75f31d03ebfe5a0154be1c4918681bb0b84185583e2381f1c034dbfeed740abe5a18a73e03de89818740c35966944b33a3f7b7776730866295e9ab6c54dbc38adac9e66efa0354fdd1dcf7c140089c99e10173a00bde1620974e76caa85b89c61386854d2e1e03a4fe5ae7bb248ad34f6d6c3cc546f3945bcabb9ea6832e5b2c126fb2948d37b0038436e7414d7bd51873cf6d66cd7100548bc241391940c4596cb8fd8318c9eb43033ef1123618d733594d9bde1b472f2695835b273426ef0e82d2901eced8db740203c6d4fb8c8da2f5bd13806af815634247d82f88e6f346c80f4bc6aa9c4ea3cc6103d27584f834991d48dd9d39eaf146fd21299f67af62a7f0f8c56f316b58c812f503c22ffb33a73ace056ec28dccf8f19920c8075a47151913e13bb76de334454350035bef61b2be3a91a5d66d92b259cb46bbe3a8a5866efac22f59f73f70174791b503c892127d3f6cceb7c41af2f17aa67450342f091879adb9acf3a7b5a8c1035ddd03556d3ec12e5343a2ef72db2e7ef381104279b2476ce4ae4a56b660b50347595203835ea527241d3ff19f15c1d172c75245fc94e1e2680fe5d2551b6225417ecdbb03fffa2540a1573b228956fa86248745aed31ae6e2c983714f32fd9dd7fc58c36a05581e0329328c87be9836183768908f30171daf16714c1f39a360b617bd23df400c0a4629546746ae0805581e03934cc196d443b1d2c5588f9fe55fa70f673923ac0eef128d9203835d500c0147c7a8357a0fa80005581e038bc60869ca403f3d41ddf8575cfa5be7785783dfb7dccc395b1ad999b00c01470d35cd2acec40005581e03d4abd7a5e810b20841e6aaf7fdba78949602e371cc5ff9aac8f74876200c054702c0246afc0c000458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff01550003937866b2e3eeae09cac3da53ab3a3bb6633acc55519aa5b62419c8832d8a0d5903e23744b1cd69412517ebb842ddba816b5ce57ac732a6fd9363683b726e9283a803552df02361ba73b9049088baf173f8a0374b49f5cc58d2bc702a2267c168fe900326943072e1d48562b1c43df99e402973cb58b21353ab9e36143cdd2e464c5a5d031d02ba81346dc86f3f0d9d2bbab2f2404d3200a7a5e6114d98717b944905405d033795bd5ac86c4e17541443163cf72b9d8c5c777b13b289d7e47799300567321e03ed2c9ef2b442b2e5d9aca2ff7982d84cff5e0b6fd6245ee60e7402071147810d034441d7d432b21d0be73ecd8f4c570391057bc2c8d9a3b1f7b2175c2afcae0ab90058200322525773051ef8058029d051a1f4c5d9eeaf40559917fa7a2a89b947411fc0446637ffd303f2b517c7bd2cb565778ec56e4b1bfd06c830eae417e5a559fd449e14e0306efd03fc38564d10da0417ae8e4fef08e4caca4aefc0ab3425fe72082dc30a2025db41038aacbc16b5484f3b1b382ca8c2bae263d31a97d90c53f8698a1a342704fac644005820036b0ff83c28e07db9b87f650bc5521a4928b98f2734605e31b316abbb2723504466372f6b036feeee16e8cd34c4a4e2ad2701022cc4e7b30c157fc8bfed017c26a64df68a1d03bde8679935a676b06f226dd38fee8fdfef7280023b4d573066a721dbc52c5ba5036b90ab86f9d4169f06e40a786cc722c207b8b1a3292b4e2a28fdfc34bfc0e189034410d32bf3aacddf86198a4c818896fb858a78657254ca8d9d773a76229b6a7600581f02532599d1c11e7369ee73db3173b6120a2b3af0c17f34dffef22f3442f09958205ea4091731346538d72cf90a95e0f2dfff48df3e799350a5c640bea8156abab7031b26617514c3d8caf5e8b48c5fe7eb56c37f34e892fe142ca39b492942cdc43b00581f038a122f53eca4d8d94ccd6add8a4fa3332488b96554e8b3d828e0d67bcad044663691d300581f03a82608c1838115f9edfb7aec3769d6fdc9ee0b8442ac2c321a90b1e1c8d05820949babe22c164f1faa1e7ca69cececfe3edad8dd793e5e0c9fabd5a5a0fea1eb0219600000581f020114cbe4c25878e8766c3e411142f2c25bfacd3d1c3938aa3a1517ce6b1758203a61ab97118928d845ac6ba99cc8927a98a9b09dd3dc16d4a3e5dda3a5b37bd002190a42035e05c858c3dc6126f674ed9ec1b6cb5f0fa49bc0f763946b138324afc8c2c8df0219ffff034ee76324509814a1d2d107abd70d1c0a7987db3b741b6dc568765ff3fa0a293403216f39b2bd0fc78a5be014d7c10d5ca17f4cb5040dbfb4bdcb2ba9acffd643ef0372e11e94396a1dc3d3b2bcd2ba5f04298277121840d9e9e5d53490ea3e25a08c03cb5b8ece8d47cca9db5e57a518b00a40f16f6b742dc6bb573eea02ee581f6c5a0376ca3ac70bb67e269832cf892d8769b5aec01647f69017b7b1fbc10fca001c9703025f4268fc74d169599f9e3fe45bce9fbec72e3fcce0d22f32e9761ddfbb86c903d81fad9827042c42f019adaf547024d3726ecc023555e7021dccf0e09c8d9a320386fd7345c676a3e7d0442713d1b2738062024bb4fc7f5260931a24c85ef33d6603110cf5cf3249b42e01a92e778bd9ad1d9c60c8c16677b968b4c62bdf681841ab0316780baa4e9ab6967c4931c43adaf52e1c5563b6c984bb50d3a597564cb2fc7d03ed679cdc905534d412aa05f773251e36e2a29848ee7a75eefe35b0a1b03543600340a80efa0498d313affc426ebe62fa68d353e2988764a32ae4aba6bfbf51d1fe03a5d11f8f61e288dad50737eef189aa0328a9ae2ed3681871836ef1a71f44a5d003a9161f54db36875d6c9f2a88b6f5b1b3cbf6117b29567d463d4fb2a52672117b036a1e9b7769dbacf559c0aac32b5030844cb77a33884311fe95b989395ce0bb350219ffff03dc397481f7b66fac54c693a71f57973d20800cbcc0dd39db91b6d6beebae586a0324552a31a3381865f03eea83fd92267405d9d4c6d8b833155a043236b2c10062034d401f8a8ac8cc7ea008c08991465754708f32b95e8e59e6c6b4339050e3f82703325c5e51e339e8e028bd0ca5f34c25a956e2087f86e2770282bf5633177bb78703266f9c1feb2381842a4e72917acb3adb0dbd4cafe8bd18420884b210934497560383f99cfa9161e369b5de5ad0b00ad9c84552e70bc5f10d868adcadfb5b58bcef035e5e1acb44162ae62b2726d4af15ceae5d916684876b6f05f15dbabe01f87c010324d81147467399c9db37d7a8764392b4368dc4d56d6e5dcac55b251b5a518b63037e8b40363f29defdb9d67efe0a1b33000b87aedf2d865dac2152b2e1a2a8c9cc03f0abb689ba349b34ba85c03da0d043e061fd08063dfe2c2cb7e49510800d8d0903a5df213e8071389427a506fd6e87bf303c6feab688524f6d03252b12ae1ab18103910711caa538ce4699447351bafaa45e25fff0299cfe7f560933ca6020aba35c0305070c61118e6c4ac4c1173490637e33d3bd52f58bbd0bf9203ce7bd03bee23e03c2d8dfc11d4cbc0af6ec50492f7ddcbc0747d5ddedce7409f09b529f003dec6c0301db8c4038417fe2676a7739c631c5f67ea20e33d48f6d4157f1f7a03622967700582003fbc1d063fd648afaa24087e3cbfd5c59ac8a9dc70349754e4e6104f1e78790581fe3f8ff0bd64314c7a13216f4dbea169e005d4a8929c6eb34eefd4f45fcc1ab038b0934374b0e4452204ae2e1f1707734c90e843b6f098a98034915681a30d53f0342034c7626f1585ff5207e7709e064bde06b1f4b63b67adc807646a1ddfc97d200581f02c6be597f7e493807a863ec7ae62d42d79551505c85a7d890c53c7039fd2c58209287be006d02da10be48ce53e3aef024a8014adc23d0b777f3953b51edd361ce03590a944822ea07f84d87fcf520a3fe871cf78dbab5256472c20c22cc73d510e800581f022ded293bfb22084a304fd076f6803ef9bec175bce1e43a9e603c9d272d0f58200fc5440d10f9feacba2a5a8104b45b28ff781b2892f3598c8337e61fd34625b40219080903939c6f686c811be1a5dce8e63ae68592a92e2b5ad91bd5f37fb56a952eb6d6ff031c7da40902002743940fdd2202322926ed0242aa753eba13d45012edc83a57250308d99b804daa5d2bbb1cb143d8d72eab73ae10422b318afd20105bf597a99a4e03eb606f7258ab6e4ffec273c4858c50c400c712a6275817b6f638d24e8015b7b30332b12f8cee009d5f50c0bb3959d5fffee16908c39ce32c5df6e2fe33cebcc97d0355c38bf29d70bbb4b167df6e6f097b7f68ec3ebf506f24bb03d9abbcbc27c737035621e9dd3e55543a1e36d0aace467d69dd864b7ce001e27329a731f86d6445e303e31368b9d85122a6cd61ef5d373488fe32c5395d581b43f08b86f00cc313ff7b0371014a6f5449f82411cd5fb121e70243d6305e286a87e8dd3af89e8a5d3e449c0305b124f6154376ab74d4115d2622436979f339dc400a1e4479b02bd7afbf002f036c2b9277de3384b5a77d165ea4e4f3699f237972db7c912ea8770e055d3f7a2f03c0259f1742d625f2a933bd94c7fa55906204083edae8deff3f2f80ec8e948f890219ffff0342c4ad5304fba46ac0184eb99276d01c5b4e5b05f432a049d2011e966e47ea4f0357a686dd6dd84660ffb48b2b1ec89603ddfc1c4fa0f292a44d1c78cfe3ddfb5b03d1f5df086ab5e3d367e2763df2e4bd2abfd1b0238427945f1a1def291d7c902a03c1b6e4d64117a14c462fbbebad18a455baf68215840cbfc39ab586e30cc4b33403a3f59cab71dae19e15cf0497a5ff305844c63e2b6a8dd783fa4458fe13b738df03f80fe21d7fb08d63ade3011710bf71d060cd91f7e98a40516ff88ec433c8c9120305716a1b0e21eb3859e566c614e76f52c84d291b7caad9e251e8e627859d30d8033e3e367e20785bf1086e03fde650ea930b501fe925cd9a34aa4fdcde63eca23e03aed190326c5d834cd3c5e05a7dd07455dbf89405df83f880426c20f3498eae5c03dc177b41f7a2323b34b4be78006508b3294c57da53531af974d9ac73f47ac9e303cf7e41ab704706cef980ee74b37b7ceb77272d51f9af23510dc0c4f263dc7ec30219ffff0219ffff05581e03a92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e4200701186103efc4a95eba2b0e8ca1e7050522d539fcaee456a9baaed13b74846ce6e9f5284f05581e0387d430445038d44dfe5f67a6a29f0e61137f74004f19eb39df5f6507100c134622a41c687260035a6395100cee14b8619641123268781a56f8d9fad4ec4d364c15d99ab81fd8650219d595035d3b51473708235f94b7786ec3d9e1141cffde44d1b3c2f8f50735bc89406bdc0219ffff030cebfba2861bd2195e500fde0315af37f8f19a646878cc545a54b8f105f57aca033cb2c49436d7563a7ede67c0fba8e668dd17402082e216765a5457d2b8d7e12103e45da9fe37e969afed21a06e65aab4b8219e0be940cf6c2d96a3312dde77c4ba035f774524ca9f406192b4860444877e4d5f30a9c74bd06649e043a5c2dae88d8003d60fa00a626bce0862148fce6082480f621fdf13ceefaa278e5233b2972f532b03aa882e77de9c5268423e90105935f45eb651f54826727dcd0f60ed0c10f2be7c037d3a4a4affdefed487969723b53a5ff8092517074155829ec03241729f8707fa039b519826b67d1b6667ddd827e85822817f1993869dc5dec0ea1501f750af7e8e03cf09e161567ed1b6e29369d3cef8499f2d95e76f2624bd19ba1ee8af8ceb0818035b00880acacec5456581db61930702e5a416c16dab3d50468682fab6386b0f130219ffff03442811299717fb1da8525d9983c69db00e5a3c03d5652bd184e685ccb7f32f08033a90df83b4a40124fb24efcfa5fa860a84907c5cdf046109196ac6f7be49c0d7039f70bcaf5f415ebd778713b48e628e87a886f43d045c15ab9571aab101fda5830307ef8875886e41a3368d284a461ef82abad1515f9971c7fe974112160fa2e51603181e879df1290efca0721758aad4c72e49df9288eda58ef9daf22351f6bba84503ab69d28d1523d9836042326370ace5f56c98c030cc7ca5beaa0914ecc8d104ba037af13abe00b7ccfd8eca09cea3b096331e4f9d5e33ec3749b78a29f47a5069ca0377cb1b430cc0deb5ada6abed6c8d385e3fca8be5d3e067d72cb4800ae861befd03e70accd5c589e2695ae8554f22f19077a1e4313f19a6e78983a53b91e5bfa3320219ffff03fcaaa0cccabac4e22069a25dd0a91988b5e23e0b603978cf3bba6a72e9753463038024169a38953377af68b03764d0ffa2a9173f78a514c8d74e8b310a369428410219ffff031805e202857d7a867806b155d24ff3da4b351e73fb0d193c61a5e0eb6c3a6f7703f58832d8ca62a1bb0f7f04c3b74c89dcf4b26f7d2cb0bb25ff68534084bed3e8030046751cfc01bc978c36b688ca2f567c463d622ff42051ef1e211c637612ad8c0390e8657735e4cc3a3f4d22b9c4091fd642dfcd7ce26855bea027c18d5cfa72cb039483bd6c4f03e1ed8f5a49da52216551d0292a29c7af06969d247f2c2dc164ab032ebb6547eb5f487752b34948331dcc91de40ce71c8038ac259fe1d47f583d646039ae024332a4c29464c22bd924be9710e527bf665d8035fb5a930f74f1c91c28d03dd8ba265265bce74de1dc0b678a081a17aa0343fd24ca286507b2f49bc326d070219ffff032059218ffbd59bbd2c643d574b9b0160e76f8af398d553317bbd4c9383c7bc3d031a8549b15a8de9fc463234e894707f434bf3191e67e3e22c6a2fb4fe224e72b203e8ec7d2dca594a84df8979579d5841d99ea780d8792a52335b7c0dbfe1ed014203edea73fa5b74b0cb1514e70ec8a0a7e23840b1d107a8f2242ac79d7c1abacc0003bba764670960a04fb0e7d967d19ccaf44b2fe6f869df6d3c23a11d8971af95bd03edfb28b5d8a788e9cb02d90166d242961a5c25f65e4a573c60cba62f5b96cc2f0395c1cc870f7e555b5d28091b5eca92c61c7cc043340e1b7fd8348bcbca68cb2d030f8fdb7be4d63644cfb4dbcaf49e0b8151d67aa6de4a949da0deb861f014e9dd031eea401960d763474c5684a1571a045de24f89062688169a36f0e520a41745f1035fdecbffd336b25ac511c3928dea987f25315c04a697713495f81fd68fdbb4cf03222a7b39ecad82f5bcf6dd66b3509995361e3ab5bd494c50ed887482ae57b50203a683634f5cd4d5d0eb611d3bd2799c7c7c35a1384bb353b16b9ad5a869f622c403ceb7fdc45ac190cd17cdc3b3a59a3759f9eb5b35b7c4187431ba10dc8c3106c803e19ce551cd9e9e29cdd143e283e4519154b6a8573c38ac8feb16d9e6fe2ccba503733a2fa98119c3b6129e6ef4dd7f457ad37b5fc0573f5a7642dbac6f09e493b503094cd6cc3e2d641a6dd5d30ad0c90d3195c8de75c6a0abc4cdf046f4f0f85c7c03ffab77a99f43866c0a11b8d44abbbcc353154a868598aff5035a3abbb98f030e038a08fc9ec5ab5b20ece1f4a11dc0ed19d097cd220ab39d43e96abcbb8d86c04a03faa85b7af9788ac79906cfb2d04774dcfc9173c55cf311711061c17e42a0e34e035fea21fe93b872b1cfc986cc87fa88e3d5d314f1d22cf968e0f23da5604c4dd503822ff9f069841a5daabe830b8dad40e42c8d8cc8a3485ef673cf863d680d8e7b03f5ac526ada6cae4e2fceacf9ad9c48393e9c39b93254cf7d9b03b89eb6bf59fd03a135a6e349b8547bb3af29c8e8384f3740f8c21adf44ffa6db6afd893c1cffce0374f3ca42e3efa67b0509dfadbb5c6d7821f2e51888a70ac8361e309121b3224d03dcb23dae44c20e643fcd2fb504eaa85d722a4c82508eb10e0a1491c0a71cadd90333e548a9ebd2365a4c95d586c406c1fab91f8bc7360795bd2f162ef995bdbd2903734d40c0cc24c5834bff68e0c54b0e9e0425646e3008194c307dd0a0b894736d03b84e7b77031dfa81f5c2b98c991805575ef8dfcb303b2472240b1e16d1e7a6e20301aca7142cc0eca5777f121f503560692edf28a5b08c856b37600f003422ceaf05581e0313009004d334f90bc1c18eb48eae5750f357946ed62c6e7d3fd92d1da0040303e2c69d13bf1f89fd6cab48bd92c5c38cad9be2dada05d58a51c44e1169b2c2f403b207911b8627fb12682c2f664bb3cba8df89444932fe19ceeb5a0104aab29bd003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0350c0cb385de15c36099ebe2dd6f6578233b0bc2f507450884255a0f31007011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630480463777a4d8c892d00582103a74ac629773b39717320a4a7c0089e4b0667da26a07887255087b04485870cc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05820b90c1a14c088c1d56a6b8fd976e6ebf88b023497d5454cd783fa3cb22ebe2d7100582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820663811bb00000000000010879dcb019bd68e000000000000012a6d8e1122000000582002a2f775275d4ead74b6836a12a0af610b14ed125e826aef45fdd1edce554ffd480463777a4d8c85450058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f543339474491b13ac638f163d634fbbc722cd279160218580219b50505581d02aefb66e9c244bedfa953b8857e1f3a45010a7631ba683bf8c76f33910701192c1d05581d0291f3087fcb4d685046c028fa385eb98adc69b05fe9f7f5e990046f5d040102190880036349f17e9fcb4ca4b31440d7858e575d9f0d6f4029f73060f120236998ebcdc305581e03676fbd2738568fd9e0c66efefbcb7703b2595566a1b6484011fb69a7100847028ed6103d000003ff20557d6be1c48bc106100d951206a4a961c50b1af816568c92944301459ab8036f1babd1aad365df43a426574d9f1bf6433ed3d5841aa3da7d1b7adc99d2e1fb05581e03f503cb9c8781baf2682ced17ee8d6a3b410312a358d58675ad94a0640007011bffffffffffffffff05581e03bee7418d20ef338b3ff21ffa994121d3bdbdea8c687bb3c542e04d4a700847d4464ef554600005581e03c2b3991f35ae9c607c17e57f9db582c79334f33a929ea345fff7e215200c01471a3e3b72f7502d032b513e44f3337828c5d75b8bdd51bafa3b1eb9b47c194d6bc35ed4fb7b2449420219dfcc0331705cd11b32b3bfb5d70a3e504c8e319cd4f96d67676a68b91fd30919a94a9703629f6d7531204106e6edbe9e67ffab3ec8bc34394ca4dfe7c58331e7d1746e8703be49e45138114c6cf393eb1723e2dfc97444bb81b4006301467634cafafb3f30033a4c1de5fe0db02813547929437b8c5887db566e6d51b0c12f9239843d66c9170219ffff0346453db57f270d1869a278dade60b187f322a49943aae3372bb113f3849d476f03cb1e6cc8b6ad6f28db9f5034eb3015dba9afa2192455fe9de6f7a2cb7fc8d82f03ea11dc7eba948738186f53c51eacb3f65dd5e0257df100592feb430deaeceaed039786472a5b2385243c3400d426e7b197c32b599813bfd0fd2eab844fdceda3fd037e2d26860c1a0308b2dc4c49218decc0ed9439387fbf8d61251e4af81de3526d038b393e0aef6d453c3d12a9a62a06db9e9e08d1213ac87a995876db420a5e403a03933ab0d170efb7138e112118d824a3c703af7e98d3f216aca3a929501e97ebbd03698d4e605ca1fa06f9b80f8bdcbe9979e1c7535ce6ecc434fc7411af4a2ef3530219ffff0331328ad597681762e5dda9ff4d95579f469750cd0e93cdc74843c352a8131a4f0383b86ee3d24977d22f3e8d012500ae18b9611d89272bb96ac16af2ced52585a6036ec3189a3597126249c999e0db19c66479dd6451fbd46d54a9059c563487b19b039a722529f68aaec786073ee41cfcfbdaa0deaffaecfb72d8fc018b477c4e958f039b758f1eb9f1931eb22550b73ee674970d08fe7c76d8386cc81c2efed76f92fe033da7b9e572ed69cd245b8cb6f959ce6b6a83986b7d155b904cb00c3c079a3b8403bb0752e3e62172c2de1accddaafb54f8c037f25d307f70b26b014ecf1174c86a03b68fdc79d20fe9e37db7d154d86213765c74c664b92c76678f01b30e496f6d850313376f50413b542806ce74e560667332b8442bd152a6706875100de8b6cfd2e1036d68e4a372ca16a93ea84f36e244a93d3e010bbe83c6e86bdf8082104f7045aa031e0d2ae1f5a9eaf5126fe9973bd426b783eaf746ae9e86ac6251437bec3eb19d03469b7bcdbfa0250673e3a6727a4e9b029aeef9a9f1f565f6557773e73d336ad003eb0bb279af016b8729620835624a1c4667d06cd2a65adaa74409896b76f4db8003f471d9b3fa2b0e94cc6f123b8758ad5dcfef98de9448cc4760670725f5ced70b03f36aa718d6715f22cc414ad81e5603a68f059da2cb137e98b733d33aba0f735b0219ffff037a215217da5c353fdf83cff67421f514e0c6a06859a63f6e9a016133e7768baf03c3fd54bf8e15c40621fce0177167e6fad85b6aa84042ad6bb9003b95db897e4703a8bd733be28a2284f56687d5e9df16b8192ae019ee02ba878204022b0510f8da036ec570fe3b9e8d08dc5c76ec68f701fd01ec58e9263d7b236e619be74f96f4d603e89ccc561fe2b73a3779df36fded2411d4499cdaca3d9c88f87c815374a0575403e1f7f61734f65ed17d0a3ccd2c82c02b2941649e532baa7d6afd5f9eefe20b44033f5353ce899131d33056ea9841924ec913641a5571c0b68eae67f5dbe3cf473e0219ffff03ae3729bde1c448cd7665515f5b58e43ee482b1e1f9773471d458b2925658eddd03aa3d9e84099495fcaac4bca1b3f0986556f97b0684777615df8df2080bd768890372678cad52484f10978d735f381915ac93f3d93c4d3eabe599def609ebcdc19b033ea6185656815ade5a793a0529fcf2dd87aaf05c328f1dc3777f968832ee593c0388b87518448aaf50db386611e44da23c7be5614460b563862e5778da35bf0aff03eb17d7a0c27b6cbcc486b2a9e924afd0449e91871342c5f1fc996e197d3f9e83039cc4ce48ea8137f2be42dded37e0648a1b7c0809f3c97ffdaf6acef974a02b9703683278c6c78a1c7f5bc9c71d1c927816c874f40660ac88f031760fa68e76056603a982b0b5eefd99e38f046321c7d07d635b37556b29a64dd1bae9077fe45fcb20039669cd279adece0ab34f7a63d2281b9e3cbcc395854f753a832ed8e3665100f50336af8d2a62efee81bae60be46828c5f924a853819c3566e6ef05aca39cfb412903d3b6d35624f74dad9482943b16e978f85c1740c64f08b5e7d80bf4d35dbf54cb035146979b790985f73d6aab896489cf0984f7d55753c356a469c532eaf43473580381724697ed2f47d4ed166a3c4b53d5902b7faa46e51a9e202f60bd02e8475795031acee7df0b775954ce7a6cc74781a2c285f295d442deb6371519cca8e7ed65210347a3027b7da73d1241f89d724be5acf5c6c21c24fd33e132eb8acd526dabf04203e896389c449479b8a548befab0c7fbfa47f829e6ded2fbb39f4133ec8b036bee03f5944cf3c1ecdd90abe2805bd4b99058d300603394d5179ee90fd71b4ffe392c03c0649dce44d2236b86042b0f6e2a6099a24f72ccc578e0f4196994fec2977a5d037b557e67a2a59cb8be4f7b9209546dfebec8beff549ac4d1cf5e25934c4e85b103a07467479d8d844764178e00694f1f69265474541f5cd151f3e2d5675787006f03c27d32054e84322bdfb70a37930ee3de85043aebb34cdfde62cdc5c22ed7859103287e2780039aa361044170ed14051f0baf77dc238619da2da89edea68bac033c03b332227b17565726f04dda161bbef5cf2543ef2cd0552fff11611d4a56f110ba0352d83eae12221d3199730d03f01431ae8f311f05d5dfb750aec3690230cf7939031ef7bafc2428bed1014196a346035b87a5f292040f02842dd99f12ee1138421f03c8bdf22c8233cd5b2297befe578ed4795fca563a75487a3996c8bad4fc5bcd1f03b6b6f23f7300a838709cbd132ccb0cfaf80197e9d2034f4a591246c7b6f8499d0303b65196a8cf63075b5c7759679c4a0e6adcc16a841bc7900b0eee4782e5d41f03c8d5e30378a1ccf2976579229d51d39ccb05ce8285933478475108b66e2193e005581e03520f1c1144b24c2ce87e7459e0bc768a2b327757bdee9be235cdfda630040105581e03adc92a3d57103e87d72eae67f3ea13a730225d0e1e8e0af52b59c2b6800c034655e9e86224d805581e0320dc1086e8876e02ff4f7cbb69e79bb49001d246469a012822f6b05d700401034875555289f79c2c2f7431de427e59d5d70fd6f1d70b7aa84e71ebb4cb3d247305581e0314055b1c9397f758dc84a39c23a8056b3bc19add63abac4f3ddca21570040105581e037e2a455dbb9216f5da64ca9338618bd59782bba0426a3a3ef68c0cff70040105581e031aed6efe4c866f79ffb7b91ed02c6af216d04ef1757d9d6d53658273f00c054729084c5e764134038a70a36b03df65c40adce9a36ad23eb646131d89372524efd60698ec88c1a3fc05581d0287d6e269b41b8c7406da2c48373f4c3dba68e9d6d0acfd71821198f4040204595ba8608060405234801561001057600080fd5b506004361061036d5760003560e01c80638456cb59116101d3578063b7b7289911610104578063e3ee160e116100a2578063ef55bec61161007c578063ef55bec614611122578063f2fde38b1461118e578063f9f92be4146111c1578063fe575a87146111f45761036d565b8063e3ee160e14611075578063e5a6b10f146110e1578063e94a0102146110e95761036d565b8063d505accf116100de578063d505accf14610f64578063d608ea6414610fc2578063d916948714611032578063dd62ed3e1461103a5761036d565b8063b7b7289914610db0578063bd10243014610e78578063cf09299514610e805761036d565b8063a0cc6a6811610171578063aa20e1e41161014b578063aa20e1e414610cd4578063aa271e1a14610d07578063ad38bf2214610d3a578063b2118a8d14610d6d5761036d565b8063a0cc6a6814610c5a578063a457c2d714610c62578063a9059cbb14610c9b5761036d565b80638da5cb5b116101ad5780638da5cb5b14610b6a57806395d89b4114610b725780639fd0506d14610b7a5780639fd5a6cf14610b825761036d565b80638456cb5914610a4b57806388b7ab6314610a535780638a6db9c314610b375761036d565b806338a63183116102ad57806354fd4d501161024b5780635c975abb116102255780635c975abb146109d557806370a08231146109dd5780637ecebe0014610a105780637f2eecc314610a435761036d565b806354fd4d501461094c578063554bab3c146109545780635a049a70146109875761036d565b806340c10f191161028757806340c10f19146107fb57806342966c6814610834578063430239b4146108515780634e44d956146109135761036d565b806338a63183146107b257806339509351146107ba5780633f4ba83a146107f35761036d565b80632fc81e091161031a578063313ce567116102f4578063313ce5671461056f5780633357162b1461058d57806335d99f35146107795780633644e515146107aa5761036d565b80632fc81e09146105015780633092afd51461053457806330adf81f146105675761036d565b80631a8952661161034b5780631a8952661461045657806323b872dd1461048b5780632ab60045146104ce5761036d565b806306fdde0314610372578063095ea7b3146103ef57806318160ddd1461043c575b600080fd5b61037a611227565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103b457818101518382015260200161039c565b50505050905090810190601f1680156103e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104286004803603604081101561040557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356112d3565b604080519115158252519081900360200190f35b610444611374565b60408051918252519081900360200190f35b6104896004803603602081101561046c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661137a565b005b610428600480360360608110156104a157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135611437565b610489600480360360208110156104e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116f2565b6104896004803603602081101561051757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611853565b6104286004803603602081101561054a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118bb565b6104446119b4565b6105776119d8565b6040805160ff9092168252519081900360200190f35b61048960048036036101008110156105a457600080fd5b8101906020810181356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460018302840111640100000000831117156105f357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561064657600080fd5b82018360208201111561065857600080fd5b8035906020019184600183028401116401000000008311171561067a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156106cd57600080fd5b8201836020820111156106df57600080fd5b8035906020019184600183028401116401000000008311171561070157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013573ffffffffffffffffffffffffffffffffffffffff908116916040810135821691606082013581169160800135166119e1565b610781611d23565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610444611d3f565b610781611d4e565b610428600480360360408110156107d057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d6a565b610489611e02565b6104286004803603604081101561081157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611ec5565b6104896004803603602081101561084a57600080fd5b5035612296565b6104896004803603604081101561086757600080fd5b81019060208101813564010000000081111561088257600080fd5b82018360208201111561089457600080fd5b803590602001918460208302840111640100000000831117156108b657600080fd5b9193909290916020810190356401000000008111156108d457600080fd5b8201836020820111156108e657600080fd5b8035906020019184600183028401116401000000008311171561090857600080fd5b509092509050612538565b6104286004803603604081101561092957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356126ef565b61037a612882565b6104896004803603602081101561096a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166128b9565b610489600480360360a081101561099d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060ff6040820135169060608101359060800135612a20565b610428612abe565b610444600480360360208110156109f357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612adf565b61044460048036036020811015610a2657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612af0565b610444612b18565b610489612b3c565b610489600480360360e0811015610a6957600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610ac257600080fd5b820183602082011115610ad457600080fd5b80359060200191846001830284011164010000000083111715610af657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612c16945050505050565b61044460048036036020811015610b4d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612d7a565b610781612da2565b61037a612dbe565b610781612e37565b610489600480360360a0811015610b9857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a081016080820135640100000000811115610be557600080fd5b820183602082011115610bf757600080fd5b80359060200191846001830284011164010000000083111715610c1957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612e53945050505050565b610444612eea565b61042860048036036040811015610c7857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612f0e565b61042860048036036040811015610cb157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612fa6565b61048960048036036020811015610cea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613109565b61042860048036036020811015610d1d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613270565b61048960048036036020811015610d5057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661329b565b61048960048036036060811015610d8357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135613402565b61048960048036036060811015610dc657600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591810190606081016040820135640100000000811115610e0357600080fd5b820183602082011115610e1557600080fd5b80359060200191846001830284011164010000000083111715610e3757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613498945050505050565b61078161352d565b610489600480360360e0811015610e9657600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610eef57600080fd5b820183602082011115610f0157600080fd5b80359060200191846001830284011164010000000083111715610f2357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613549945050505050565b610489600480360360e0811015610f7a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356136a2565b61048960048036036020811015610fd857600080fd5b810190602081018135640100000000811115610ff357600080fd5b82018360208201111561100557600080fd5b8035906020019184600183028401116401000000008311171561102757600080fd5b509092509050613744565b61044461382d565b6104446004803603604081101561105057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516613851565b610489600480360361012081101561108c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613889565b61037a6139f1565b610428600480360360408110156110ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135613a6a565b610489600480360361012081101561113957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613aa2565b610489600480360360208110156111a457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613bfd565b610489600480360360208110156111d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613d50565b6104286004803603602081101561120a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613e0d565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b820191906000526020600020905b8154815290600101906020018083116112ae57829003601f168201915b505050505081565b60015460009074010000000000000000000000000000000000000000900460ff161561136057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484613e18565b50600192915050565b600b5490565b60025473ffffffffffffffffffffffffffffffffffffffff1633146113ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b6113f381613f5f565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e90600090a250565b60015460009074010000000000000000000000000000000000000000900460ff16156114c457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336114ce81613f6a565b15611524576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461152e81613f6a565b15611584576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461158e81613f6a565b156115e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a6020908152604080832033845290915290205485111561166d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806159146028913960400191505060405180910390fd5b611678878787613f98565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a602090815260408083203384529091529020546116b39086614163565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600a60209081526040808320338452909152902055600193505050509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461177857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166117e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061575d602a913960400191505060405180910390fd5b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b60125460ff1660011461186557600080fd5b6000611870306141da565b9050801561188357611883308383613f98565b61188c30614224565b5050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002179055565b60085460009073ffffffffffffffffffffffffffffffffffffffff16331461192e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600d909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2506001919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60065460ff1681565b60085474010000000000000000000000000000000000000000900460ff1615611a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061598f602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416611ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316611b2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157346029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611b99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061593c602e913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615a7c6028913960400191505060405180910390fd5b8751611c189060049060208b01906154cd565b508651611c2c9060059060208a01906154cd565b508551611c409060079060208901906154cd565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8716179055600880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff8781169190911790925560018054821686841617905560028054909116918416919091179055611cda8161422f565b5050600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b6000611d49614276565b905090565b600e5473ffffffffffffffffffffffffffffffffffffffff1690565b60015460009074010000000000000000000000000000000000000000900460ff1615611df757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b33848461436b565b60015473ffffffffffffffffffffffffffffffffffffffff163314611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460009074010000000000000000000000000000000000000000900460ff1615611f5257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611fba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b33611fc481613f6a565b1561201a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361202481613f6a565b1561207a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85166120e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806156c96023913960400191505060405180910390fd5b6000841161213f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157ac6029913960400191505060405180910390fd5b336000908152600d6020526040902054808511156121a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615a02602e913960400191505060405180910390fd5b600b546121b590866143b5565b600b556121d4866121cf876121c9836141da565b906143b5565b614430565b6121de8186614163565b336000818152600d6020908152604091829020939093558051888152905173ffffffffffffffffffffffffffffffffffffffff8a16937fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8928290030190a360408051868152905173ffffffffffffffffffffffffffffffffffffffff8816916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600195945050505050565b60015474010000000000000000000000000000000000000000900460ff161561232057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16612388576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b3361239281613f6a565b156123e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b60006123f3336141da565b90506000831161244e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806156a06029913960400191505060405180910390fd5b828110156124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061587a6026913960400191505060405180910390fd5b600b546124b49084614163565b600b556124c5336121cf8386614163565b60408051848152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051848152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60125460ff1660021461254a57600080fd5b6125566005838361554b565b5060005b83811015612698576003600086868481811061257257fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff168352508101919091526040016000205460ff166125fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001806155ed603d913960400191505060405180910390fd5b61262b85858381811061260957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16614224565b6003600086868481811061263b57fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff1683525081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560010161255a565b506126a230614224565b505030600090815260036020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009081169091556012805490911690911790555050565b60015460009074010000000000000000000000000000000000000000900460ff161561277c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff1633146127ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600d825291829020859055815185815291517f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d209281900390910190a250600192915050565b60408051808201909152600181527f3200000000000000000000000000000000000000000000000000000000000000602082015290565b60005473ffffffffffffffffffffffffffffffffffffffff16331461293f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166129ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061564d6028913960400191505060405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015474010000000000000000000000000000000000000000900460ff1615612aaa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614531565b5050505050565b60015474010000000000000000000000000000000000000000900460ff1681565b6000612aea826141da565b92915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526011602052604090205490565b7fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de881565b60015473ffffffffffffffffffffffffffffffffffffffff163314612bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b60015474010000000000000000000000000000000000000000900460ff1615612ca057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b86612caa81613f6a565b15612d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b86612d0a81613f6a565b15612d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614571565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff1615612edd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614692565b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b60015460009074010000000000000000000000000000000000000000900460ff1615612f9b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484614956565b60015460009074010000000000000000000000000000000000000000900460ff161561303357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b3361303d81613f6a565b15613093576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361309d81613f6a565b156130f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6130fe338686613f98565b506001949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461318f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166131fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e690600090a250565b73ffffffffffffffffffffffffffffffffffffffff166000908152600c602052604090205460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461332157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661338d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180615ad26032913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b600e5473ffffffffffffffffffffffffffffffffffffffff163314613472576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806158f06024913960400191505060405180910390fd5b61349373ffffffffffffffffffffffffffffffffffffffff841683836149b2565b505050565b60015474010000000000000000000000000000000000000000900460ff161561352257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b613493838383614a3f565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff16156135d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b866135dd81613f6a565b15613633576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8661363d81613f6a565b15613693576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614b49565b60015474010000000000000000000000000000000000000000900460ff161561372c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61373b87878787878787614be7565b50505050505050565b60085474010000000000000000000000000000000000000000900460ff168015613771575060125460ff16155b61377a57600080fd5b6137866004838361554b565b506137fb82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600181527f320000000000000000000000000000000000000000000000000000000000000060208201529150614c299050565b600f555050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b7f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742981565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600a6020908152604080832093909416825291909152205490565b60015474010000000000000000000000000000000000000000900460ff161561391357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b8861391d81613f6a565b15613973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8861397d81613f6a565b156139d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c3f565b5050505050505050505050565b6007805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152601060209081526040808320938352929052205460ff1690565b60015474010000000000000000000000000000000000000000900460ff1615613b2c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b88613b3681613f6a565b15613b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b88613b9681613f6a565b15613bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c83565b60005473ffffffffffffffffffffffffffffffffffffffff163314613c8357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116613cef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806156ec6026913960400191505060405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff9283168152918316602083015280517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09281900390910190a1613d4d8161422f565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314613dc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b613dc981614224565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6000612aea82613f6a565b73ffffffffffffffffffffffffffffffffffffffff8316613e84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806159de6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216613ef0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806157126022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000818152600a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b613d4d816000614cc7565b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205460ff1c60011490565b73ffffffffffffffffffffffffffffffffffffffff8316614004576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806159b96025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216614070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061562a6023913960400191505060405180910390fd5b614079836141da565b8111156140d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806157d56026913960400191505060405180910390fd5b6140e8836121cf836140e2876141da565b90614163565b6140f9826121cf836121c9866141da565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000828211156141d457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff166000908152600960205260409020547f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b613d4d816001614cc7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152600093611d4993919290918301828280156143235780601f106142f857610100808354040283529160200191614323565b820191906000526020600020905b81548152906001019060200180831161430657829003601f168201915b50505050506040518060400160405280600181526020017f3200000000000000000000000000000000000000000000000000000000000000815250614366614d50565b614d54565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600a602090815260408083209386168352929052205461349390849084906143b090856143b5565b613e18565b60008282018381101561442957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156144a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615850602a913960400191505060405180910390fd5b6144b282613f6a565b15614508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806157876025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff909116600090815260096020526040902055565b612ab78585848487604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614a3f565b73ffffffffffffffffffffffffffffffffffffffff861633146145df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061596a6025913960400191505060405180910390fd5b6145eb87838686614dc8565b604080517fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de860208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b6146878783615006565b61373b878787613f98565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214806146c05750428210155b61472b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a207065726d697420697320657870697265640000604482015290519081900360640190fd5b60006147d3614738614276565b73ffffffffffffffffffffffffffffffffffffffff80891660008181526011602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938b166060840152608083018a905260a083019390935260c08083018990528151808403909101815260e09092019052805191012061508b565b905073800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea6528783856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614860578181015183820152602001614848565b50505050905090810190601f16801561488d5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b1580156148ac57600080fd5b505af41580156148c0573d6000803e3d6000fd5b505050506040513d60208110156148d657600080fd5b505161494357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f454950323631323a20696e76616c6964207369676e6174757265000000000000604482015290519081900360640190fd5b61494e868686613e18565b505050505050565b61349383836143b084604051806060016040528060258152602001615b4e6025913973ffffffffffffffffffffffffffffffffffffffff808a166000908152600a60209081526040808320938c168352929052205491906150c5565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613493908490615176565b614a49838361524e565b614ac3837f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960001b8585604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040516020818303038152906040528051906020012083614e88565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260106020908152604080832086845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b614b5587838686614dc8565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226760208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b61373b87878787868689604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614692565b600046614c37848483614d54565b949350505050565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614b49565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614571565b80614cda57614cd5826141da565b614d23565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600960205260409020547f8000000000000000000000000000000000000000000000000000000000000000175b73ffffffffffffffffffffffffffffffffffffffff90921660009081526009602052604090209190915550565b4690565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8187015280820194909452606084019190915260808301919091523060a0808401919091528151808403909101815260c09092019052805191012090565b814211614e20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615675602b913960400191505060405180910390fd5b804210614e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b296025913960400191505060405180910390fd5b614e82848461524e565b50505050565b73800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea65284614eb4614eae614276565b8661508b565b846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614f23578181015183820152602001614f0b565b50505050905090810190601f168015614f505780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015614f6f57600080fd5b505af4158015614f83573d6000803e3d6000fd5b505050506040513d6020811015614f9957600080fd5b505161349357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260106020908152604080832085845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000818484111561516e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561513357818101518382015260200161511b565b50505050905090810190601f1680156151605780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60606151d8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166152dc9092919063ffffffff16565b805190915015613493578080602001905160208110156151f757600080fd5b5051613493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615a52602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260106020908152604080832084845290915290205460ff16156152d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615aa4602e913960400191505060405180910390fd5b5050565b6060614c378484600085856152f085615447565b61535b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106153c557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101615388565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615427576040519150601f19603f3d011682016040523d82523d6000602084013e61542c565b606091505b509150915061543c82828661544d565b979650505050505050565b3b151590565b6060831561545c575081614429565b82511561546c5782518084602001fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181815284516024840152845185939192839260440191908501908083836000831561513357818101518382015260200161511b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061550e57805160ff191683800117855561553b565b8280016001018555821561553b579182015b8281111561553b578251825591602001919060010190615520565b506155479291506155d7565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106155aa578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082351617855561553b565b8280016001018555821561553b579182015b8281111561553b5782358255916020019190600101906155bc565b5b8082111561554757600081556001016155d856fe46696174546f6b656e56325f323a20426c61636b6c697374696e672070726576696f75736c7920756e626c61636b6c6973746564206163636f756e742145524332303a207472616e7366657220746f20746865207a65726f20616464726573735061757361626c653a206e65772070617573657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e206973206e6f74207965742076616c696446696174546f6b656e3a206275726e20616d6f756e74206e6f742067726561746572207468616e203046696174546f6b656e3a206d696e7420746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737346696174546f6b656e3a206e65772070617573657220697320746865207a65726f2061646472657373526573637561626c653a206e6577207265736375657220697320746865207a65726f206164647265737346696174546f6b656e56325f323a204163636f756e7420697320626c61636b6c697374656446696174546f6b656e3a206d696e7420616d6f756e74206e6f742067726561746572207468616e203045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d61737465724d696e746572426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c697374657246696174546f6b656e56325f323a2042616c616e636520657863656564732028325e323535202d20312946696174546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e74657246696174546f6b656e3a206e6577206d61737465724d696e74657220697320746865207a65726f2061646472657373526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636546696174546f6b656e3a206e657720626c61636b6c697374657220697320746865207a65726f206164647265737346696174546f6b656e56323a2063616c6c6572206d7573742062652074686520706179656546696174546f6b656e3a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d696e746572416c6c6f77616e63655061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656446696174546f6b656e3a206e6577206f776e657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e2069732075736564206f722063616e63656c6564426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c697374656446696174546f6b656e56323a20617574686f72697a6174696f6e206973206578706972656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122005677c3919f4b149e065a5983baa9e2fb099cab5463ccd06429f70b32d8d9bdf64736f6c634300060c00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410103bdc011f506efa58f1b2550ca80958d2a7c39f979f40d537e110b221c62364ebd005821031347d38f9027b008ab764477dff5db62e1ce3cab675df1efadd25bb228ba1ee05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103216fe201c80e31523065747b4c3a11b5ce64700caa277669094d49e7d42e4c105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80205820ff1bba8c5962591285628e226cfe21a129312cfd293b407070da1d82f098460100582103517498924e66ba831af2769eea8312cb5261242822e63a2d7cc49a5c707be180500785ee10d5da46d900f436a00000000003b30d5e39bb2a266518592f8bf752ce6d25fcfd24908b3c862f5f487ddf91096100582103e453bb62162b907fe0133f23a577de7bec75205eca5e557cfe3ef2dcc72205905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005821035ca2f3d6ffed7c02f4752b25e41af1736966153795558b64be92a8283b5b1500430f42400058210317fb9989707d00d29edf83f0ce78ffe6efc3e7e2f0a33e6a7370cf9390ae63c058208000000000000000000000000000000000000000000000000000000000000000036082dea626a28fd5714b7132ebeda7497f1e481e325c85a848f757266e4fd23c0219fd7405581d020ab04938f26cadaf9df6fe1389ad0a110acc2ffd76feaa1dc72a138e0701195ba802182205581e035c0f632b2b143a27400257b92b6008ecc69a7ff00d34104f16bff667200c0147038e3c48e101c2021976da0375422af2844a3f87b243c9644f9f0ace175126b6492d47fd381fa2a357c1cb80038ac19fcc050a9e37b43a0f86466b5d2c5f9fe6e03a54a31532e042a2af4d43fa039b617dfcdc2dc5aea5cf6c052a8ae308801747f0bb7e141baeef835768b7806903eddebb3d9c98cca8c716e36fcb1ca053ddd936471a00f8cbbdfd18edab81e54403fd6aeaae8798f0258a6ccee26583471aacf6b73c9ebc543b7a58e8ebb3e31e9e0301169c038c640981817684b51c3e5cfc459871984377458a9bb7da2ba71e0f4d03378358a91de0e8a9248740f7b8fd7151b8fb651d32714e9e651d71f969f9de4e0393fba4b24677444331d035dca0bb5a72cd32ca6763e82c6ab222e08c1c6f6b3f0378dcd74e07bca5759db73a24e62d4099a3600f084d0458830897538df421b76803996080aefabffcc80a0feba456709477d477bad68d9d4179d600201790235f570319a9ba3f2108048e07191495f1499e56c1a33a96d3f7e135d3410d10cb6e527d0376afc3bf5b27d160ed41d005ba5d67039dd2f6f8f874efb2ce15b84a89675a6603f984c38c2d5a6efa92af5a93f30139b77e3d9c5b0c6ada51b61c69068461cc250219ffff03af6682305ae7b03099c2e54de946ea6b56dd4ed1dada269eba0a47f38b120f320388c8cdc2a2b3326610660efe808a73c1c21992c3d17d85cb94df4df17f35b88903c5ad6f8fb9bedbd6231dd2a9dd8c86c51334fd0116e62006edef50927010ff7503430b0392e91a099347a3199c0c571fd7c80482f7c8e5c2fe49605d3114ededd50380e40eb2eb5e139a0e8ede6832ff0e970845863c9998be7c74bb1d0127e1d94503d4f110db03b2d5f9414b8e8d371a50bac4209a1e0e50865c34707868819b6cf603ea5582cac2968a17342736076a86fe46936420f91c3a61d1afb94fde99e60cd303aec7eed066d191a30043c923ef3a2be192fefcd6d87cfed635c15f5d2d9f276b03f0f23bd5a2e7bf67f7ccda1d98611afc610954eca5d71ef9bc83b1c3c62f343a039fa1c7a07e22cae10147e96e609a945ed6c979f236ffbd190fba130d76f7017303f386a057c0d2f1e078796fb7b44f7504b34adb1e05e8df9a1e595af6621e9bd60219ffff0359508ed025d5670d667c5d4c3d261b629944968c5fff83afee0f637a85d9f04a0375e25eef1c36b06fec7425b95d7dce58181d36a182a560b23f3ac5f2854282130387c050177c7e945a8391a0db9d8b3be6556ba18bef2b258cef6289abb6e3f0540344568888dead34c24a9355c7e8a7bac606ae69b9995d3feadccc83772d1b3c2a03d7c69884c08b9a4c24e359d236ed8a10572d9d1da9091525c7c712a1264aa19d03a1b9ce321035888eb5b1692e748edf6c92dcca701d34598653009943cdabdb3d03d7e4b01565df73aa64da6950dc48f70a102f003deb8feeec644276784fb95b550219ffff03d8ecf4a13835840414860013d56cf1990685c7809c6b934c6e18c78bebea6aa80332bd5487c0b187e28e5402454cb28ac15ebe5f17f292ed11cd3906bab9ff1d6603180550b5c639c09e562e53aeffb402379c16d957743e76d75b59d5938e7a85dd030ee473ad0ad8c3ca34e81f9cf6d174ca0350791acd10efdb61eb8fc14fada7e103bedb52411df67da524a539222e9e2e19e2147bbf0e2fd27bccdac57e8b0f006b03f210feba3d08531a5979973c54165af4ce4c706544daedfc8a55674af3a795d103f0f82fd96b26fc01967f78a7c4cb3427cec2da5ce2c7587f2b3f3df9f9b7e3310219ffff03bd6c5438f4cb63aee0960d50203cbb14e9080767d320058e75d827f2f32480120313d29f4c8e3c7fad64e5865dbc5ca27c234da7c1f68a651df44da2f4948da4e503b074eaa37cdc5af1e5cae7d3c8990f8cba89d45540fcb51fe802c44ba9bf0d940219ffff0352364ad1b316271c2f8b7b05604ce2662bddafe9b5bd7861674349148ebb4a81036bb759bd5dd6f1455ece7a3eaea4a225ebc721f3a4278f5aaa6b241a022041ce03f09d3fe65db5559fe43b961150d7767b00b24f06c654ae541795401b83353ae6030cd43626894c44c1d18c1edeb6896a76cc11a6cac8b892e08db0c76a9f6e1c6503a57e385726bae4d4591ce8d4954aa59d137b07310f60ca749a354cefed2a777b03bd9793bb140af19d25c449a87e56f340f2c7ea439a5a2e85c06f564575f9358e03e719dfdb336a2f2a4eddb2e1d0147fbb096055d8268a416d5c53d4d18ad17c2803e814fcb5f465db443532245ef1c3e26ff54878b8bc0c9342ddc7cb14a221e0a803b589fe3f0efa2175970556cb83f11198fbf26a4d6b3460b32ba0c1b29c8ef20503603d2666dfea444b822e10cca08af350e14f76cd27409b875d9d4e546ec3bfe5038932270520b0a21b5666a579dab3063540060a5d6b0189e295436ef86a3d0ac10326cf37c124f939ef5c7d3349904be0225c6ba054c3108285f6b88608807d3d1903224a867aaabea5993913aa07656725502c819ee0123d38009e7aebc36eaf1a8f03c699c6e495b9ebdaafbf526074b63632d5d9a709a2b8f3a22f4c4468874c001b03bbbd99cf9792ae6ae78eeb4270b30219875ae8d120d497eaf0c4c5f72f658df9039735f29c896d8fd2e5873c5c7a143f5cde13e8cbcd37c472aaef87859d369a0303f36f84e203beaffda0838e787138f9a9ed38ec08fd0f92bbed39a5f649017eec03f7e86666a7cbb9e9478f5d4f20a95d9e093202a2878a6626a27e8930ede112b5037fb3aa31ee298275284260565a045bc33b3e1c0eb3b284ad3022223c0bfe65cb037ee788b804b612219758892881df2103dfb1701825933ece0eb865a355c7400503978f59b94b41585bf997ff7bf53602355f327c758001a66c40da79213114e7c103418a57029b7336ab35dcde64aaf6c05b5688763c4d996af8e19b12ca532da253037952d4b82231bb973797740c10d1da8adaa3591416498df2cf483895190767b70369c40c88a986d2ad437475c38832a39a1d35c152ce661e7d3c2b7739e41ad65d03ad5472fccb9fe8a4e6f6dbde546251fc0a28ec170939f338d90ff7ccd3f8a23903b762ef1046b76c49a11dee46475c0d8309e09bf58d5831db149aafe187b00c5b03d1dc93fa8e17727b09e442be0093007840f9838681dc03dfe23455799cbe29550354f67d476b8244833ad6095849f58377eb3d3feb994cb99e1f110b9312e5a68403a578ddda08950c2deaaccd631b13fee192edacc442a855354102a174f13bb9150367e87802d1d939c4d58d69b9ab35794ab3338f8f8303a5e38d98a904e29fa1ab0327b93e3bec8a3b8794bc9d0c08ba63d671fc99f272d4e28699ca6a6c363b5693034951106ae2c24eb77c97bd2d07ec7b129b3a242bb99744df7437e22f1e94e28e032e4286627a6424c4c7e6d6cfd3e0716f73c0c23317d41ac61ce9add54a92465f03ac0e42480713a4294bb759de853fd2ce9ae7f73a268b6c2f7319e0647367bf5603d3e935f774dc01717b0587ca55a3be582c9d5886f5b7a05c7c2756d9e12f7d40038467c84b267451852fc9c08c93e23bbedb3f06367501191d455e54ee4948856e03428ae31eae9618588c602d7dbd4dc45bbd0f09bd582106c6298761666e14e7b4036b65ba160e6025cd21626b158f610373fbbeb1e5e6efaafc5e14fe487495df3903319b863edbbf5ce2f7fb7e84a43a4a6ebad10737fc8d8df61779fcb16ad68fc603897e27f0b8a59b641ae12e0d9ab54e2aff3b997c73c4e68a0e690ac46d10d97903b6b57e6dc03e26a18d637f9ac7c8d1e9ef09f707f2528398e6a666306bd50e4603664b5351af410fba4b9207727c45c38a950adfc0791550cbed9a9a8370d9f308035323fcb3d61183749bb11b848abb44db7e89a0d90f9f7461f8e3ce6d372059a2038045a8809e3c1f7bc3431084c44db03257f71ac796532fcd2bc6f997128b70bf031de2d69f69e8c8f179f426682bb46db3cafc2dabc9297a93ef921f5a21e67e9a0315a9251e4d534129b846355bf23fe7a2590cf4e87d2d961b5d3544a87d97fab003ee20ea803e208eb1785247b9ae64261d55d8fd5c63fc9ace45094d78eaf15cf103dd7054ec140679765d6482262f0d55e3efc4fdc4efd857b62537590c5c6cb22c0385df93e938c128515fe41e4fed157930124adb1a703282459871c72853e784d3039eb6c9001b4cca9709fa924b2939010df907f2c0838bea811f0e7d5526c8c9fc030a4fff2cae7d62385c3c841da8a176d61cb1ba035ecd31d2742e73aa3d3744aa0339af3aee43c7a8692c78c5a29690e90581fb4f4263a1b2877516306196a4a2cb03f8c290a3d8233cd8cfc9f641c538e808a3356e49ff45d122486ed708a77c64f503096525cfb301c70c6842a25028a5474ec59658795ab52415171a9873cbd1477703de5eb12d31c632181f0fd669c2f39323f78b8ee7147da74d975f505e811d3b9f0340a67714071de96b6f686568f1528fd2515e085228c15c2bdb97253f3707358e03dfca6059b898db973fd8cc0ec55d587f5cd26cdcc54c76e394ed190722d0a9e9031dffb577ddd3f75d8b951b93f0b006f8f9c9406282d915dbce809616f674e97f03c701f9a90e796a542dde21183f757e2bdcbce5f4b9c70ede5f110e6e89e9e7460458ab608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033031a02a0d9e5db3663cc6c814456e1d6cfead7da963f9ae6178901c22cf7f72479005820029bfa28377b0cbf3f30c94c44d53591ce0f993529b974ca13869af2e152de5554c66c8aa97065f327fe94b6c845acd7e5aa6f6117005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354d9db270c1b5e3bd161e8c8503c55ceabee70955200582002367a1e93015b6cf6c6d03b95206549c303b115c28581050a0a76640a7faa295487283071aed93b5ffe43fc97c8d387a57cf57a7b02190a1000582103b19ca0c95929a2a946820150c3c2aa0ee9fbecab56f94ccd76692eb3161f8b90410103c6b0036da1814edb8668263506f5f2ca2d7af469aae95ceece4f0c87719d64b100582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc53054a3014707943bbcccc2c36aa8e5e5cb13db463f25038a9c8f495de1c0f701f7379648498eceea2cd5ff0f40b07b3cc88351a2e4d51b00582103721fbc08ebc780272f50db65b723bc840f50ef981305a91aa8affda1e04fe6104101005821036552f9043f7dbde1a3842eccf846aa02c647c3d99f9371aae3c93798f73f1ab054f48f2b2d2a534e402487b3ee7c18c33aec0fe5e4005821039a728692d694b98d801b72ac20272f7125aa98bed3754df76a17b01e5dcc92304101033507edcb9f82807ce6edbda335c3f99b008f087adbba61c670e3a8dbcd1413e803c11545bb8c1038ce6a5af743d780e7f125983e4d2371a7a6605b566793652192005821034809fc24e46d8b3ff23914aa5485e86bca85b07a862c6c61e2b739a9b0c4712041010219bfcd05581e03a7c44e6e6f10dfb3fd54c75fc36f8e7944076f9e43a475efdaa0c8d4000f01492863503fabb4faa03c18ab03af05f0b75e5fc52f54c5dafa6904b9e6c8a658cc7f71e5e66e8321c5d56ba6d803b41b3a47456e6a4475858dcd426c8b16241ae0b927e11e373b04b4e26241f77405581e033e7cc04dded55ed71e97a7d6d0a4baa236f187a72d2fbe7a31bfb09290040205581e032d0f73c5bcc5473bc059937195e69ecbda5067b8717e64978e7ce10ed00c0d463b5d6a61e1c805581e03cf36789ff8d54aa3b7f9ac9a45c6e59558c9f250bd96699edb42cbd0e00c034740f192ba252e000336e9689ab9beb84ff0db471dbf1e295f7d52d3f18d7bf0716707a06a6f8c443b01410805581e03d6acdd4641b5e1ee166cef3b43f06bfdeb0ffbea03f84b87636a6f5bd00c0146574fbde6000003eb1d68002e96989f80bdad20de8a948a869a1468f3e501ed999eacc3f7cecc610388b62f9296ff82271178174d78caae5ca16d6fd85f68fe7979719740c4cb440805581e039d43066fb8d2ba31305681825250e148b5f4785c309c8d1120d5c151e00c0245f6ccec680003e91d804116acafdaeb23fd10a3a4a65817e857d8ec6a423ddff0af6eb05d3f220141040304d9b8953c7907632ac2c29265d3d79c864578f40a153aa73cebc4456e94a7fb0219b6ff03fd1c7757e911ae4c83adb077dfe60fd07134812fc4367fa0628b94607d5572fe03ef36f517a07bcea02cddce661761a82b40b00b338e567d498914d8ccefea8f1c0219ffff03f82714de77045284ed82da2bada0e10561e931e27a048d8cdd64dc1df880f92803c2e4fae8ff40375054993a076088b2e9341f13a8cc98bd9fe207ea695d28d1b90219ffff03389396210692053efd9fcb65227652af87df90bd54a0803f636ce9af8c3402970333f487d2788628ea68791b29052968e68e189ba03e0b4e9b7c147d8f534fa6400301236bd58f2ccc3ee37e4a9f12a875c9ecb5d65f9904970244f2c435a1d1ed58030a46a46fc79d53cfb896d617739840f5467ebca1f5bec5db09ebefb7d5d5916103bf12abd89e00c1c83b527d24a763621f92cbe51e585bab19bd2b9845ab3a266503129169cac2a2fa5a0611da44bb1e193def1f71ebb9da9c31a8f11d7c88ab70530219ffff03ab7247f0f5f55fb3988b0b3902fffe993fc70e4bef5cc32d2bf552de9175c3fa03d553f1143818714e91f2c08e7bd928ee980b9934db42264f8f13c0889d4e58ed03d58757d4a979bbce0b7c8191d31f09af20d0706bbe014ec61ea61a61e1a24d66030cba6a5c550773435f67cb2f30164ce96371fd643ec1a3cb32d71a56d698b69f0219ffff036d6f7d35e5702cb31a57f7438f302b696763333edf8687b9f8cb576de6b50a4203c23910c7daf887f202b36d06782533cc216f0c772e4ceef0ff1de7b0cc513ce603afde653ec955b650c5fe30aef08d51f61de99ad968aee94c48f2a54a53a232240330740bdd4af7f6171c2529bf02047d45e154e2ad5483b3a2a34d1fcc404b70010374660bd74573eec75b5001615d460ebc40e83420e1206f6f022d323493fff69503b973fc0102b1ffa1e5d066d6a1361dddebcdebffa0de32cdd3526a724b722fbc03291d3f0a869d63fcf173b46f45760efbbefa76a80694b979c2bd9d0f8ce728fb03184d10bb3f1957446e61d32fe0c3f79c4bf6c7c64692e81fc0b5d07a05c68db1038927d8649a41eec8455c94ed8300762ff9c4b92bebcc8d5e79aebba084deee9f037f7619d4c3f34d6dc8171fa574e85e058c3b8bbf2895efd97b58f27586b8a99d034ede30a6e02b494c2b3184cc5da663c5c38c1875ee25a99f49daef30ba63ab3c0374c6180634ac0cea7765d1bc613d7a12b8dad5d3b289e8b7d3191079c3f7a192037f918e61096db1c50df1779268cec06d761904f1e7c877fe9a7aa588b61eaf48039c8b0bc2dab6ab3a45479847eb9f46210fe850d8f6e7699036d76f25b4f5551203f4edea215e7baf2c4b90cc8e4bb920e15cb87ea9db03c297e9510fc5c7e1527503ef740e71dfb185ee90da49f3db3387d3ce84114e39c381d915e02498124dd90803f336ec88b29b64bc66200b86dd3a25a87f660ea846f19040963c85aca5271ee403a9e6a0ace9e3173c42857d13ea5a27522d4aff5cf994470560a8bdce97dd92af0314f12d354ad21627d6d7259a4b522025f24c66131b8cca9cff0e64c338a0a87503055fbe66b56e775ecb4ace42d665da13a2a13fee3933e1b68916c4907be4253a03f50f99f2e8268d0d7e9b2599e48c28271a60db0358df7c0a0e452acee8a8d663036c2584a9790f5e314a95ad055c7b9b5b5db52e13be75fbb7ba1acf7b78861ef9037bae4e065fc732aa1a2c2ba04128999b627c01c26ee72c557e0004678ee4c4c6030741835d3eae443c2e227b89a05aa6735b807ea279d0d21ddcea33dd08558caa038fbfac409146c2a0846f5223362232a7f16d55c00464c29b1eceda7f05f313b003629146347868aac64580e2dc448d613e1a8f4f49bc6e512c2574c6a62b3d738003941121fceacd92d983e19a181011a7e82a81ab963819c07f13006520b920fbde0347e388e376c185802674234ac0e44cee6f21a277b9d4234d9a5f92210944f26803866a6fa658aee93b63294366b22f8e52c3df6ad005e3559947da06769a7292780304ed8bc22bf4b6ce55298c16a6d0ca122b4aaee857d81498d2b0a9af8c84f72503571188b3bc8995eca1f7b473358d0bf7b527fdbb07ccaa45ffd8ca77b6c0037e0333056bc198788e42ed1ac03cf3bc44ece69004f1017a9ff27ea9a54b7dab421203d3578a5be899aa434bca75e068d02b179c0648b5adf72733f6fcaba9f7442afb038490c71a584e93fd0fd5097edeb47f4305512c30860d6406afebfbb029178f4d038fb11e57c16b243aba4707f77aef3b4b0eab088012878aa0392670212dce6e1605581e038053ff4e96caa01c2152e6e627b230012baa5a386b231f7d44afa609c00418bb03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038697117fd81c06b06b788ae2a0f80977f36f9340e97ce65e362344f30007011bffffffffffffffff05581e0345f688654aa37a3a79501210323d7f64301f3195d8e888a6e8c55048200c044680aa3629f4f805581d0324e09cfa3143cc228d32c5727d891a57009cb512dd1ce09638de6e4004030459031d60806040526001600160a01b03337f000000000000000000000000e8ac39f0a15dc7eb9cf32c7639e633f24f9ec9ab82160361006a575f356001600160e01b03191663278f794360e11b14610060576040516334ad5dbb60e21b8152600490fd5b610068610106565b005b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54165f808092368280378136915af43d82803e156100a7573d90f35b3d90fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f1916820167ffffffffffffffff8111838210176100e557604052565b6100ab565b67ffffffffffffffff81116100e557601f01601f191660200190565b3660041161018f57604036600319011261018f576004356001600160a01b0381169081900361018f576024359067ffffffffffffffff821161018f573660238301121561018f5781600401359061016461015f836100ea565b6100bf565b91808352366024828601011161018f576020815f92602461018d97018387013784010152610193565b565b5f80fd5b90813b1561022a577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a280511561020f5761020c9161024b565b50565b50503461021857565b60405163b398979f60e01b8152600490fd5b604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b5f8061027d93602081519101845af43d15610280573d9161026e61015f846100ea565b9283523d5f602085013e610284565b90565b6060915b906102ab575080511561029957805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806102de575b6102bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156102b456fea264697066735822122030cc9d72e095e794d8286b088776326d90cf6b4d62a84a41c9928eb1eb96b3d064736f6c63430008150033036bf9111a4e63036ba43b1ad8b3a21ea3a1bf1583e3d327b04a5fa000cdf1cd8b00582103b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720582096e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630545c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f005821031ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680541f98431c8ad98523631ae4a59f267346ea31f98403ea63581ce01a703eb6ece6ed458d96aa452acf103a0200c73dfd99b33a2d69a603f7d48beefb88db52e1984205b63aeaa6bfb90eeee62ec4971fd93c72d7538823035f386ed974528f8a87cfb29c07e21ef4118cd779b15b7b44a5f99dbd3484dba0005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05446affe1b4f3fc41581fd20fbaf055daeab80a8b503d5f2071d9b48cbe281d6cedf2cbed725df2818b6c6fe0755b39f69b97f07ad3e0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688042271000582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e041010209039b8aa1895cf233ea696284244e5cc7b2d367995715eb2953c9fc35b16432614202190802032b862613ed3bfbe3f9cec1078efd720626732f4189967861f59a9ebdf0d549ac0327cfb13450cbe366c6f97e00de1d7befd7887919cf37871946a2a889d2ebc1400058210328a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c60410f005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219fdff05581d0365e1068e21405c053274a59672d54b44fa24c79ea53efea0eab136a0070219031d0219200801410a05581e030ea64d72d2dd2d80d58f0e44353cc7296175b643867dedf40d2477be600c182d47478144d653500003e09b1c7ba83761b81aca61084cb1fcba49f5226c000307819efb42abcad1b1c40377c2216d17f562429d033b705155e92fcef8f524b026ad1a42ca5771e8d82b4c03e3d9fa01a5830db36bc5ad827315ea63d76349f0953d2bb2d5570a5b15c00ff903647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0373c5dec0c39df458200472668fadaba3ba732e214eb245cb137876ede47c718605581e0352ba6cb1ba80cd19836ab5fb85366505097beff6427103919802d8ad9007011bffffffffffffffff021967b7036f6f9b23e43e770a16783e16695fa63f9e580d5acde23d3ff4eaf7bb450dcced039bfd18a448a023cff2ffd497548898cefa58a8015c140d52a700e05d9ae3d4c10219ffff0336cf901dda928ebd2e88cc3c743ec9df0eb64b672b836674614bd41be6fa20b303f08168fad6b0b396cea26f4892aad7c5de6df60fecdf61014e8bc76f2f53748103b134808a4a11546f8bb6167bf2ce7270593a55329da355d2205a6d641a6894ee030b0b1db88e87f55903f19e1120ecbf7257f6fb03525b0445f3e81f0953066231030cffdcf0a99a360af2dc18397167ad4c251422da70cc7143beab3d72bcd85b6d03ff18afed4c580a3d24c285db4d8bc1a6ffd99fd265aa72dcba937ab67678285903b359987ad29384443fff76147295e15aab95364155a5b043df2eb23710e78c6d037c4a0e45ef3c635904ad0ba464c6e19ebd428923d9c21c15a41ce81c4b9dafcf03f72a3508db1eab1758a7b804f59e70d93069077158f9600ec21d130375618eda0219ffff03d32c706bab37cc22aef0134add434ec5d1195059b4c408e8bbf22f9f522897a1034d81cb1939b7a12b32a986fb5ed9668a057e929fcf2af32938f5ecd7560cae95035455530a9f5a0024a3f940ae45967482ec5315c99739c71291076ce6a366afdc030d7cd74af3702cc9f41e5f50f4093ccaab2beb69bbf6d70cd1f4cccaa71ba06503251407306071300dd8d78c67cf47b7c4969ae8dee7641a4a909b3f01b00e679203520cc597c7caa9272e0b46a1ed218c5c7094c4be0989fed44c0422b235d5324a038c706cb54cb361a2687e37d8c75e0c418bc22e5e39529a729049cb73ae99a12703f002f181b5556b581aab3a4e448b61b9b5c86aa5b699e36cdba7ebbd9735285a03548a3e68d18d64b8fd4e7ff9a81f4de383619fe636a7963e8004cc7872d5f1ac032ad9a8bccb245f6397e0d65a91e4304a80d57a1bfa1483512c1776e95405399e0332874933c6c6d7ea3d0705bc1ecfc886c284213012699d246526d36fd4f237c5036e3535701d7be395f62105f72ca9981dde21d62967d96b790a68730a84a209f9030376ab238766f1115a5b33874254afbee61ad2e0ca9ffce4d19118d60f8c029b0219ffff037c92233674d33dbca0273e095151636bc14f583cd900880517ad78b29dc158d2034238998146ad8b2c18f0a34c21fc91700469ca0a1cf47cc5284780afbd81bb6003669173f6174a96cd4016b93ecc779bcb69f5365e02debc4ea6daba9bca41da99037d105dbbc01dcdb7af970d387e6c5af8c02a9f8ef8e71b7c2c5b27ce0fb8a3f80219ffff0219ffff03b186caa2538d41b8dca12f97ac3b784895c65de9016e1a4ae4b1cfba5ac0a567033e983d5ee1b269b0ea817d21438f6f82822965b4a37b6ace33953d598830c35703a073460b076b486cf2cb53a7ef1dd47cd72153d52c9d40a9a8658d862fe1014003effddc50a5d0777c8a6e155c4af0641a015dbdd491ed6562d9ef1036ddb51ea003b240b6c8ab4b1cea0c7605ee236b0cbbad021b35f09c7cf3b61c386c728767e803dcf556de2d232d37e3ecc5ee35fc69457d823d25e7f50f72f45dd8f4fb5c0a930356dc69a7f77e2d419c82be3a228d954b8ab0a0ad5ddf3e9dd8b06ab785b5730903ee2024175eac266f791ddb179f2a6a13357a55cecc6b05c100112e33bba8118a03c8ec90acf29a630ccfea290468f284b5d84206a25792171002b15791b4732f7d03b7bf8198a8e73b5476accf662f19506480460a5e604d22863b2bac078708dcc40383654c14b2171246dba1676b1a25926951f64ad1e44cde2b77e776aaa9973ef203c5aebde8074ee94ff8f74d27833159509fa32a8ec0fc210ec3f4391cc7effe9c0314bebe9a1613fdd47f63874da68db4a1f39fc492f73b46278d1c2587f9e5841b03245b052e9ac5b39c5389070e8aace1000cd54e5f498ce1d905db6200c15248f603091af36fad56d652564fbaf5120ae0c2afbd8cf57cb03aa3aed7639745b87e7a034fb27a6582e90c45d0aeab04c5964b60aad642b50f94ac46d91b4e377b5a511e03fba684274bb34cf7c48d32fac8d39ab665a905ee7557d5f68dfca87cfda2dc7703adec40fcc7ab3cc7f0712662f9d233eb42de95af9937dd95ba082d92ebc02690035b64abbe65c04421537d46cd8511cacbc886849b03353b85b3a36b66161a1b8803817eb9d7e8a2d204a274b71182b3146da62e5b1284b199fbe825132ff275e6b103f23e911b3ef6465114298f92ae392ccb4a46f1a7efa2248fa6a86ffb49a0d6550324402e73ffceff9c2c93a52debddd26f1838ffbf4c78ef9f2e62d421ad2bd696032ec506a6e63b9a33ccb8fbdc4f2676198cba04eff249b1c3fc0cd061d01508ff03224b96a96a29c5fb6e5f5a927654495b3017bfb4ab2af004f226de944e05c0d5036ea96670aa7bc642c8b8a41c1601380830309d367f25506df309fadb315f33ab03c6516b2ea9e2b29080570772881c27bbe8a5ad980edea45c143ce94b04760fb1031a3d2bcaa4aae5d656d02224b3b3672534f52d52bcf534d6b8b47e1d31a094b603b56492a8ca2b998c6f2f4f7b1b901f578703d2d54846f4aca309148e57cec73303501b157b052dc0f013a8159310fd0827eb38cc988d90a44ca60d5e27d07438ca0318f809e3a2f48e14c068f3dbff656c3cf118dbdf810ab2eb41edd1bb23872869034328c0137f07e61954349dfdfbe1494e4670e783b257e04e9d37b474c7dfb54f03ff17b8dc15f2c325cd10a460d557d67eacf058ac2f0612085f0866ce39b4b65903243a9f01304270c43dc78314c426eeb71c6ccb0b3ed7c1a55b65cca43e7f8be703e3bb184faa99eca75aa5f8d2e9551d330dfd5d000ed4ac4a3bc1caec8155e20f03b5a8e99289b03256d5a0997f34af8e83d58ecd6a0b49131165c27404c9aa2ea4033e980d9719d068f9e564061def92bf7f0c1431d4254bbbf4134d4b56e021b6f903fadfcbf91a29bebd608931329c96b5811c1343583d8780cb5dc71dca219e689303c195880ebbcba856c416dc363c0bc61c632185933fe60317daf93f8b83e1a2c203578d7e5061b0306312621fe8134e68f5a3d0b59b430ec61739b13830b302c8b703788dbd2c23272499bb1ee5d6d1eb8244881495819586f601ce216de575b43c1603080ec8d006505e440305393abb865ef357cb46eb07a2e49d12a0d4811ff4e8f103eb761f9e7a92608f196a5a769049c7672d0ebd858054ac860d075f22c6e9fb7e03aeb90d8339ba90a180fa43481f2f6bd4c34a3e96b63d11167a687a959837054803cafb14f596be3a83a9ceadef4abc65a5e189ca93c8717a88ff5054391e4e9425037b1f1dc37610377e65ef3b6d9a83b95915458aa8d9d77d968f839d20dd9ce3a2030dca87ff2b319300aa6ba1f70644d41ccb4f56bc1e4e04bf4c6ac6e91d1bef4d03ff225e94f3d003221ae3f25d9e068bb5d233b486ab2007928badd9545fad814303f578ba6ef4f25243b80c1c8cb146563fc96f1ee19de194b8e143969e9fee136c035d79f70921fc86c1b68c54953219565a84d7c4943e71b9f20a193eaf8c1e9ac703f142f0b4965485de3d6941254f6cf57f8f30327ee97e0d22e800a6cdc5f2a33603f698858960c714b534baa70ee7d932aee37457e3d9491f2028b7ab76ef322b4d037dc581e8ffa0a7bdae13ef673135d95ac3f5acc1d3c74e20ceae28d2b1df11ac03a8bc69c936b28a6c39af23f5fcc4a3844384153605b544573093a1f65b5bfa16031aed823221ca6e0df03846414604a669841a222d8e4f931a80e94bbd23c1ca56036635dcd3e6195e9cb56b54aac693b577c7a61efae8a78e083ab4ab09dc0dc0f7039c69cbf3404d2600ba5dd29baab894cbf14eaf90604ecb0bc386234c050659e30322e543fbc5747a2fa6dcc745e6491bef82ee61621dd4f0f0ba122611bd2fc15105581e03548b4e00738642ef76c64430a458d2935ed62e3bb3bb3f3a2470bd72d00c19162c480b1d3e8cbfcc170005581e0357c90cdec79e0dd51ce7237f11dd64489032e3714ea2ed321ce6d4f1c004060303e7cbf53173e4de491288d5c010b4057c59c17d261133f477e22024eec8b14a05581e034c4f5ebd61961ca5f1b4da64d7a11efef7be683e47db94d78dc6ec1d300c0d47bdc4517c499cf403efdb6b712223be44d1f5ef236e1bbcfbb0ae48b941a84685a2073e2fe150b69705581e030e50e356b1f2d5cc60d54f1aacbff790a893b046c3889f2be31a47c060084812a1d8db3911700005581e03627fcc272f5aef2b30392948ad61991871f9e8171e558b7c1134f2b5f00c18184711b353c10a378f05581e03a214e046930d119c8772e4e619de95a950854c7a64fdb08832c351b7500c014807595f8f907a9a600353f3aed87582fca2e8818e5b578a8330637961f4f9dc132ff55fa7a932ba187503460c59fb861f1fa0852ff099b65087576b513d3220558b1d3968636ab27a4ec70219f9f003a82c025aee2624c99460cafe3db7cd7d733a9a51c7d5e3dc3cb233189045a6ac03cbc2bcf31ece53dcd0d9079f7497e9c5eed93282b21160c11fbd687e7f6d437003d18dc0dd814609fd8a314b13e38b14912c55c74cd2e21defa42dace63317eb320219ffff030beaadce9630d5cdeeafb6467ae330e69f0eec5af85cd6c6445fd6c4d435a03e035365b4103b78d8b6420a49b9a0bb0f088f44bcc56dee3f1b320c33b059dc60a4031e2ab9773e06429aa19fa29a1d15b0f85d516d7e8c11b92f98a2c2c3d7222fb70219ffff037145fe75d6a3310cc100e016f5120da353dcfb8888fb5f7017ee196c07f0aa2c0219ffff0302b30b0139b6c26982c18d904687faec24ea0a16c103aedf9a4edad8c965a47803f344d687f34cdea3e0d18782034c8b65c8d9935b256c9704f4aecb3b11827cd2030eaeb8004668e873b93fa3a3ea16a7f64a90db03a7747a2f79e1afd06da7103603fc696cdbf4e499529b60beca74089b7aa1b5161a492a5d883336f97bd0c7b655034de29fd0e14f94db934f8c135d93931b115930530b9da1a4e0ad727be26747200397142835a94b1a991a6b2c550a194cef962527547611cc219dbcbfd7612d76de0219ffff03c50bcb203a41a16c08d3dfd531ae786367868245515553b70f07b94c0e70939603761de03f8b32d4c32186628e8f84d0568af458b452a404d68805e5416eab9010036e48c086cdd9fc24241a2b6e65502c724efac0ec270df7687476fba2c40310e603108985700001cc576ae21d2c6e43e8b59303b5c27997237ef8d83124ce25ea2203676d3ccfbf3ee1f28df40319bc66f4c0752160ede57bdbedefd79adb9275082f0219ffff03f68d5ed6fde67f4406b5b5e54f2cc64e39aeb698ccd7136be39a414ae04103da03253402151c9ca9ff9b6dee891d1e3b0b4d9d14f87473fc880488a0e39e5a55af03ab8850bbae5a0ad03e5c2e0221cf6a540ef64c437feac87c7b43b499bc8adce50341546ad3caab670ae9cae83b9c0893505e82290a5952013b00c47976880acb2603315c99c9894209f3d38ef67f74455b28de0dd1fca7192f9674d9a19fe5fd672303cfb5741e4916b3fe8c8bc7bb1297d2bed485e256197046f36abe5709467950a003b278a0772315357617c6f3eff4a014a1ccda4640f1e0e97ea336ab839b322fb0036d79d19cebfb940c28efde48476de4c452e5e85c2f7f8fdf077c951eb58f4a75038fe324fb3989ba342baccca9258a42038f4b0e757a35b4e9f1c617c4a38651c103d8fb315375a0e5264dfa174f224633ab0ddf1e7f992810f74a32362dcf42ae46039f10542a3cd7915fdfba116433ca3e6e9b1c092e5757bd47ecb44ee487479dfb03e1b70b6d470577a702c3abab952e4d95767583420861efc021cfdbc9cf5d33cc0357194ba875a179406ad5aebb002f81ef8156f695d42172139a808752e03a8e2b03317268799d5bebc6f3ad1a6f54a1534b630856badb078d83290c81a0c6785fb90317820f7ac4e833d407641b67a34816d8248d835cb958b36a2efd37814d09ad0703cc66e3514513fbe365cef60b181488afcd17a713cfadf6f0f728958a648ca458030730feee2006bdfa00b5eaec816058bbc190d5be6c42be714ef74811eb36af320388d010cc2e166bc14c4f0d63654563a017c3ead7d90a0845a948801eaa37def5034d1df4a20a1e941f617d4de0388dc109d0f68458d1801c28646a5a6f85fabd230302ad9013f35d44b208f68c01019d09c04b1421b92cb513d72bb5006926318b5c03b2ad7bf1b9375446bf38edb86b56094f1728ed9154d6439c520527ab83570e980392125ae83569741f781df3fe83e372bc0e6b5c41c62b6f96442661ccbda347be034cd7c3739595cf95e3a4663092229f2ce621c880b5eb7f191c0231b1594a9fec037143eb6b32224df212b81bc6c70983c9c5fe7d9761c05693d45ddb5f164f6b9203974d54d474149197203c18b67c7b7f5f5e13fff780756b053b9afd30dbb3c40603a15cd0fcc6b16f9d20593477d2ee0fb809263904bcb584769dbf4590570cb909033cfcbd4b051641e63b8908e591657d8ba43677bdc56c36a2acf55cc6f0c073dd03b54f1b4131fc4f441424069d2e0cca3321755b5ad1faea1eec21f277541f3ab2036f4f7c303bcc466031d7a429a8ed54254650f89f8363aba24938c4b7c39c8d1803aef155417bd9fa006038ed7121422d0e2ae29462c7ab24bc74899e56128459ab03e7d7cfea7bcaad854ece8546542759d52fdd6defdd1febbbd61d7c641ce1af9d03dee5e17a9d94b4adec65d4c445f8603acfbd99ad4aa9ae8eddfc86144abe979203cbe5ba54bcb58d836fd7891b4f31032a3c84ecdd3aa3b5a77e838177c525e2a205581e03bd37fd152ca264eb62ca42c9762fe745c21220c74b28a045255cf6d5b00c014709faa779c79000045955b760806040526004361061018f5760003560e01c80638803dbee116100d6578063c45a01551161007f578063e8e3370011610059578063e8e3370014610c71578063f305d71914610cfe578063fb3bdb4114610d51576101d5565b8063c45a015514610b25578063d06ca61f14610b3a578063ded9382a14610bf1576101d5565b8063af2979eb116100b0578063af2979eb146109c8578063b6f9de9514610a28578063baa2abde14610abb576101d5565b80638803dbee146108af578063ad5c464814610954578063ad615dec14610992576101d5565b80634a25d94a11610138578063791ac94711610112578063791ac947146107415780637ff36ab5146107e657806385f8c25914610879576101d5565b80634a25d94a146105775780635b0d59841461061c5780635c11d7951461069c576101d5565b80631f00ca74116101695780631f00ca74146103905780632195995c1461044757806338ed1739146104d2576101d5565b806302751cec146101da578063054d50d41461025357806318cbafe51461029b576101d5565b366101d5573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216146101d357fe5b005b600080fd5b3480156101e657600080fd5b5061023a600480360360c08110156101fd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a00135610de4565b6040805192835260208301919091528051918290030190f35b34801561025f57600080fd5b506102896004803603606081101561027657600080fd5b5080359060208101359060400135610f37565b60408051918252519081900360200190f35b3480156102a757600080fd5b50610340600480360360a08110156102be57600080fd5b8135916020810135918101906060810160408201356401000000008111156102e557600080fd5b8201836020820111156102f757600080fd5b8035906020019184602083028401116401000000008311171561031957600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610f4c565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561037c578181015183820152602001610364565b505050509050019250505060405180910390f35b34801561039c57600080fd5b50610340600480360360408110156103b357600080fd5b813591908101906040810160208201356401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611364945050505050565b34801561045357600080fd5b5061023a600480360361016081101561046b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff610100820135169061012081013590610140013561139a565b3480156104de57600080fd5b50610340600480360360a08110156104f557600080fd5b81359160208101359181019060608101604082013564010000000081111561051c57600080fd5b82018360208201111561052e57600080fd5b8035906020019184602083028401116401000000008311171561055057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356114d8565b34801561058357600080fd5b50610340600480360360a081101561059a57600080fd5b8135916020810135918101906060810160408201356401000000008111156105c157600080fd5b8201836020820111156105d357600080fd5b803590602001918460208302840111640100000000831117156105f557600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611669565b34801561062857600080fd5b50610289600480360361014081101561064057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356118ac565b3480156106a857600080fd5b506101d3600480360360a08110156106bf57600080fd5b8135916020810135918101906060810160408201356401000000008111156106e657600080fd5b8201836020820111156106f857600080fd5b8035906020019184602083028401116401000000008311171561071a57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356119fe565b34801561074d57600080fd5b506101d3600480360360a081101561076457600080fd5b81359160208101359181019060608101604082013564010000000081111561078b57600080fd5b82018360208201111561079d57600080fd5b803590602001918460208302840111640100000000831117156107bf57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d97565b610340600480360360808110156107fc57600080fd5b8135919081019060408101602082013564010000000081111561081e57600080fd5b82018360208201111561083057600080fd5b8035906020019184602083028401116401000000008311171561085257600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612105565b34801561088557600080fd5b506102896004803603606081101561089c57600080fd5b5080359060208101359060400135612525565b3480156108bb57600080fd5b50610340600480360360a08110156108d257600080fd5b8135916020810135918101906060810160408201356401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184602083028401116401000000008311171561092d57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612532565b34801561096057600080fd5b50610969612671565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561099e57600080fd5b50610289600480360360608110156109b557600080fd5b5080359060208101359060400135612695565b3480156109d457600080fd5b50610289600480360360c08110156109eb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356126a2565b6101d360048036036080811015610a3e57600080fd5b81359190810190604081016020820135640100000000811115610a6057600080fd5b820183602082011115610a7257600080fd5b80359060200191846020830284011164010000000083111715610a9457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612882565b348015610ac757600080fd5b5061023a600480360360e0811015610ade57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135612d65565b348015610b3157600080fd5b5061096961306f565b348015610b4657600080fd5b5061034060048036036040811015610b5d57600080fd5b81359190810190604081016020820135640100000000811115610b7f57600080fd5b820183602082011115610b9157600080fd5b80359060200191846020830284011164010000000083111715610bb357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613093945050505050565b348015610bfd57600080fd5b5061023a6004803603610140811015610c1557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356130c0565b348015610c7d57600080fd5b50610ce06004803603610100811015610c9557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e00135613218565b60408051938452602084019290925282820152519081900360600190f35b610ce0600480360360c0811015610d1457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356133a7565b61034060048036036080811015610d6757600080fd5b81359190810190604081016020820135640100000000811115610d8957600080fd5b820183602082011115610d9b57600080fd5b80359060200191846020830284011164010000000083111715610dbd57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356136d3565b6000808242811015610e5757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b610e86897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28a8a8a308a612d65565b9093509150610e96898685613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f0957600080fd5b505af1158015610f1d573d6000803e3d6000fd5b50505050610f2b8583613cff565b50965096945050505050565b6000610f44848484613e3c565b949350505050565b60608142811015610fbe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061102357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6111207f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b9150868260018451038151811061113357fe5b60200260200101511015611192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b611257868660008181106111a257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff163361123d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8a8a60008181106111f157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168b8b600181811061121b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166140c6565b8560008151811061124a57fe5b60200260200101516141b1565b61129682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614381915050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836001855103815181106112e257fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561132057600080fd5b505af1158015611334573d6000803e3d6000fd5b50505050611359848360018551038151811061134c57fe5b6020026020010151613cff565b509695505050505050565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484614608565b90505b92915050565b60008060006113ca7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8f8f6140c6565b90506000876113d9578c6113fb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505050506114be8f8f8f8f8f8f8f612d65565b809450819550505050509b509b9950505050505050505050565b6060814281101561154a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6115a87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106115bb57fe5b6020026020010151101561161a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b61162a868660008181106111a257fe5b61135982878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b606081428110156116db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061174057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b61183d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061184d57fe5b60200260200101511115611192576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b6000806118fa7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8d7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b9050600086611909578b61192b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c48101879052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b505050506119ed8d8d8d8d8d8d6126a2565b9d9c50505050505050505050505050565b8042811015611a6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b611afd85856000818110611a7e57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1633611af77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168a8a600181811061121b57fe5b8a6141b1565b600085857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611b2d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611bc657600080fd5b505afa158015611bda573d6000803e3d6000fd5b505050506040513d6020811015611bf057600080fd5b50516040805160208881028281018201909352888252929350611c32929091899189918291850190849080828437600092019190915250889250614796915050565b86611d368288887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611c6557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b505afa158015611d12573d6000803e3d6000fd5b505050506040513d6020811015611d2857600080fd5b50519063ffffffff614b2916565b1015611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b5050505050505050565b8042811015611e0757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21685857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611e6c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f0b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b611f1b85856000818110611a7e57fe5b611f59858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614796915050565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216916370a0823191602480820192602092909190829003018186803b158015611fe957600080fd5b505afa158015611ffd573d6000803e3d6000fd5b505050506040513d602081101561201357600080fd5b5051905086811015612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120e357600080fd5b505af11580156120f7573d6000803e3d6000fd5b50505050611d8d8482613cff565b6060814281101561217757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16868660008181106121bb57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461225a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6122b87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f34888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106122cb57fe5b6020026020010151101561232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061237357fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b1580156123a657600080fd5b505af11580156123ba573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61242c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b8460008151811061243957fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156124aa57600080fd5b505af11580156124be573d6000803e3d6000fd5b505050506040513d60208110156124d457600080fd5b50516124dc57fe5b61251b82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b5095945050505050565b6000610f44848484614b9b565b606081428110156125a457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6126027f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061261257fe5b6020026020010151111561161a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000610f44848484614cbf565b6000814281101561271457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b612743887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28989893089612d65565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519194506127ed92508a91879173ffffffffffffffffffffffffffffffffffffffff8416916370a0823191602480820192602092909190829003018186803b1580156127bc57600080fd5b505afa1580156127d0573d6000803e3d6000fd5b505050506040513d60208110156127e657600080fd5b5051613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561286057600080fd5b505af1158015612874573d6000803e3d6000fd5b505050506113598483613cff565b80428110156128f257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168585600081811061293657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b60003490507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612a4257600080fd5b505af1158015612a56573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612ac87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612b3257600080fd5b505af1158015612b46573d6000803e3d6000fd5b505050506040513d6020811015612b5c57600080fd5b5051612b6457fe5b600086867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612b9457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c2d57600080fd5b505afa158015612c41573d6000803e3d6000fd5b505050506040513d6020811015612c5757600080fd5b50516040805160208981028281018201909352898252929350612c999290918a918a918291850190849080828437600092019190915250899250614796915050565b87611d368289897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612ccc57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b6000808242811015612dd857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6000612e057f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c8c6140c6565b604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b158015612e8657600080fd5b505af1158015612e9a573d6000803e3d6000fd5b505050506040513d6020811015612eb057600080fd5b5050604080517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b158015612f2357600080fd5b505af1158015612f37573d6000803e3d6000fd5b505050506040513d6040811015612f4d57600080fd5b50805160209091015190925090506000612f678e8e614d9f565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614612fa4578183612fa7565b82825b90975095508a871015613005576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b8986101561305e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b505050505097509795505050505050565b7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484613f60565b60008060006131107f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b905060008761311f578c613141565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156131dd57600080fd5b505af11580156131f1573d6000803e3d6000fd5b505050506132038e8e8e8e8e8e610de4565b909f909e509c50505050505050505050505050565b6000806000834281101561328d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61329b8c8c8c8c8c8c614ef2565b909450925060006132cd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e8e6140c6565b90506132db8d3383886141b1565b6132e78c3383876141b1565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561336657600080fd5b505af115801561337a573d6000803e3d6000fd5b505050506040513d602081101561339057600080fd5b5051949d939c50939a509198505050505050505050565b6000806000834281101561341c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61344a8a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b348c8c614ef2565b9094509250600061349c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b90506134aa8b3383886141b1565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561351257600080fd5b505af1158015613526573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156135d257600080fd5b505af11580156135e6573d6000803e3d6000fd5b505050506040513d60208110156135fc57600080fd5b505161360457fe5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561368357600080fd5b505af1158015613697573d6000803e3d6000fd5b505050506040513d60208110156136ad57600080fd5b50519250348410156136c5576136c533853403613cff565b505096509650969350505050565b6060814281101561374557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168686600081811061378957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461382857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6138867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150348260008151811061389657fe5b602002602001015111156138f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061393e57fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561397157600080fd5b505af1158015613985573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6139f77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b84600081518110613a0457fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613a7557600080fd5b505af1158015613a89573d6000803e3d6000fd5b505050506040513d6020811015613a9f57600080fd5b5051613aa757fe5b613ae682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b81600081518110613af357fe5b602002602001015134111561251b5761251b3383600081518110613b1357fe5b60200260200101513403613cff565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310613bf857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613bbb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c5a576040519150601f19603f3d011682016040523d82523d6000602084013e613c5f565b606091505b5091509150818015613c8d575080511580613c8d5750808060200190516020811015613c8a57600080fd5b50515b613cf857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310613d7657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613d39565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613dd8576040519150601f19603f3d011682016040523d82523d6000602084013e613ddd565b606091505b5050905080613e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806154e56023913960400191505060405180910390fd5b505050565b6000808411613e96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615557602b913960400191505060405180910390fd5b600083118015613ea65750600082115b613efb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000613f0f856103e563ffffffff6151f316565b90506000613f23828563ffffffff6151f316565b90506000613f4983613f3d886103e863ffffffff6151f316565b9063ffffffff61527916565b9050808281613f5457fe5b04979650505050505050565b6060600282511015613fd357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff81118015613feb57600080fd5b50604051908082528060200260200182016040528015614015578160200160208202803683370190505b509050828160008151811061402657fe5b60200260200101818152505060005b60018351038110156140be576000806140788786858151811061405457fe5b602002602001015187866001018151811061406b57fe5b60200260200101516152eb565b9150915061409a84848151811061408b57fe5b60200260200101518383613e3c565b8484600101815181106140a957fe5b60209081029190910101525050600101614035565b509392505050565b60008060006140d58585614d9f565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061428f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101614252565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146142f1576040519150601f19603f3d011682016040523d82523d6000602084013e6142f6565b606091505b5091509150818015614324575080511580614324575080806020019051602081101561432157600080fd5b50515b614379576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806155336024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156146025760008084838151811061439f57fe5b60200260200101518584600101815181106143b657fe5b60200260200101519150915060006143ce8383614d9f565b50905060008785600101815181106143e257fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461442a5782600061442e565b6000835b91509150600060028a510388106144455788614486565b6144867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f878c8b6002018151811061447957fe5b60200260200101516140c6565b90506144b37f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f88886140c6565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156144fd576020820181803683370190505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614588578181015183820152602001614570565b50505050905090810190601f1680156145b55780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156145d757600080fd5b505af11580156145eb573d6000803e3d6000fd5b505060019099019850614384975050505050505050565b50505050565b606060028251101561467b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561469357600080fd5b506040519080825280602002602001820160405280156146bd578160200160208202803683370190505b50905082816001835103815181106146d157fe5b602090810291909101015281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b80156140be576000806147318786600186038151811061471d57fe5b602002602001015187868151811061406b57fe5b9150915061475384848151811061474457fe5b60200260200101518383614b9b565b84600185038151811061476257fe5b602090810291909101015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01614701565b60005b6001835103811015613e37576000808483815181106147b457fe5b60200260200101518584600101815181106147cb57fe5b60200260200101519150915060006147e38383614d9f565b50905060006148137f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f85856140c6565b90506000806000808473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561486157600080fd5b505afa158015614875573d6000803e3d6000fd5b505050506040513d606081101561488b57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905060008073ffffffffffffffffffffffffffffffffffffffff8a8116908916146148d55782846148d8565b83835b9150915061495d828b73ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b955061496a868383613e3c565b9450505050506000808573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146149ae578260006149b2565b6000835b91509150600060028c51038a106149c9578a6149fd565b6149fd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f898e8d6002018151811061447957fe5b60408051600080825260208201928390527f022c0d9f000000000000000000000000000000000000000000000000000000008352602482018781526044830187905273ffffffffffffffffffffffffffffffffffffffff8086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015614aad578181015183820152602001614a95565b50505050905090810190601f168015614ada5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015614afc57600080fd5b505af1158015614b10573d6000803e3d6000fd5b50506001909b019a506147999950505050505050505050565b8082038281111561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6000808411614bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806153d4602c913960400191505060405180910390fd5b600083118015614c055750600082115b614c5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000614c7e6103e8614c72868863ffffffff6151f316565b9063ffffffff6151f316565b90506000614c986103e5614c72868963ffffffff614b2916565b9050614cb56001828481614ca857fe5b049063ffffffff61527916565b9695505050505050565b6000808411614d19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154736025913960400191505060405180910390fd5b600083118015614d295750600082115b614d7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b82614d8f858463ffffffff6151f316565b81614d9657fe5b04949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614e27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154006025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610614e61578284614e64565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216614eeb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b604080517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015287811660248301529151600092839283927f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163e6a4390591604480820192602092909190829003018186803b158015614f9257600080fd5b505afa158015614fa6573d6000803e3d6000fd5b505050506040513d6020811015614fbc57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614156150a257604080517fc9c6539600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152898116602483015291517f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163c9c65396916044808201926020929091908290030181600087803b15801561507557600080fd5b505af1158015615089573d6000803e3d6000fd5b505050506040513d602081101561509f57600080fd5b50505b6000806150d07f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8b8b6152eb565b915091508160001480156150e2575080155b156150f2578793508692506151e6565b60006150ff898484614cbf565b905087811161516c5785811015615161576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b8894509250826151e4565b6000615179898486614cbf565b90508981111561518557fe5b878110156151de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b600081158061520e5750508082028282828161520b57fe5b04145b61139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b8082018281101561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b60008060006152fa8585614d9f565b50905060008061530b8888886140c6565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561535057600080fd5b505afa158015615364573d6000803e3d6000fd5b505050506040513d606081101561537a57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff878116908416146153c15780826153c4565b81815b9099909850965050505050505056fe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a26469706673582212206dd6e03c4b2c0a8e55214926227ae9e2d6f9fec2ce74a6446d615afa355c84f364736f6c634300060600330605581d02a7e8b8234a7992da2173c0d9eb404853fe85a65a0881149522e12b2a0f014758d15e176280001955b705581d024ace4a9cf9849185c4b4cd9d2d43e5360f36d915f743ac51fcc9c7f80c02450135f1b4000219042005581e03dc8fc5260164a847b23d38a881b05ec9e601d397d1188021168d7c0da00c024701923a550aa0c803fe15c6a27562a27ae904cb1b828dd828705d1507183fdaa98bcdd0bb1025ee5305581e03f23857a9fa3d0da9ae7310c160afcf49158a232640406bae60c29650500c01472296500eeb160005581e037f46e0bb2789267d0a30b8d43a6d3e2a2e289f0fcb20ea1bc8ee7216a00c024744d7c56d940be603da1a91bd88ab16e57730db064e35880953edf7a3e2f40ec22e887166b95f4b18032be8a5093959bbacdaa2d02b061939a3a07681b5a5351eef8de8b286f8df80ba0399cc8746fb4acef4aa25ad53d2d12e8af29520040e86729cf0fe867839a233a005581e031d2088553eaa5823aa330be942a76137ea4d7416fda40c5c72917239f00c0147028114c7f49fc0034277b3bbc296a60f66b308aceaf2f9ad4e766e1984e39f2bb1256df0c51448a70219cbde03821c17b99606f4ef0404c1e66f9b5847282857f6d43c1d1e2282e3e20358c1a203c4c9fce98e5aa03a1c2976bea62991500383da391e6b93cd7ee617b79075830103454a7715e43a8f5665f3175574c0f374cd68bdd08d8d39beda757efe065a1d010309e22729a72f3d87a3b4e2cbb35b5508a5b4967f51619447d82fcd412c0c60810365c9ef940b1bf8951ae99a658391bc322d955090fc733e730f446262316cd707032dc7ad83f81334ea5c5841d73bfd9a6a887e1d78e06e3905881fa83d258880c403bd0a711bff7996b670c2882e6431d8feede57819c03c580eaa092d1a8f53519403513d856a2f501db5917ad941a82b2f1cca5130e73032c160f94b21d3018abfb20219ffff03ac86231aaaa6826ce152d88375c5f38b82dd0e76a5564441cd6e64288e669d3f03c04a48f47576ad78e3231a2f36d5eda038467ee085887710796779878707d8860219ffff03c3228b8b519627dbd53fe57eb03c86f32d4d32132441c285d89a469f6e98969a03c637d8e3c7e4fdb1139d38880919ec63eee53dc169b0653d5618c6f10763300603c6f89a52369c69f9bc8492439a33234d8e9ecfabaf11dbe3d7876a929ec36c37030ff43ce6633838d3969f23abafbd709cf76075b4750bb94580edf5a0c1b48d4c03bd3dfaea945940faa25ecd693a00b0054131e61c8c072b4b89d5bc0f2a2a0e5603172432d96087eae407001fe525820f99fe41ece1edad5f0fa3cba23417c690950305ca546ef52bca7e571ebca61b3f8db71bc97d3fee9cb79efa729ca89a2de4a703c70aacc6e77a75e52d1e8174f822c17d81513b92696184494b26d4103a30f86503a643a5935a0834c754539b1acdfebcff308652d88c1e9cccd169917b3942b8f5037a1a1a35115e38ca23b634b63152607fdb28a56a8926f0598e3f9dcf5f99165c03a70951a56435c3e8f0bb049a3672a8b2e4dbc0840d84d8ea713cebccb82a363e0219ffff03ed8be2c4096e580a056e6330110e872763a3cfe26881493162860768a33c0e88037328b7c8743732c0eac311177bd28da77294ef3971a2122660bb904b030ddffe032552c7a0dc460a9b828bdfda485a0178f1a4c69577af77289e8fb436dfdf432c035391aee21ffc3ec7a0d439d03b75883bf826bdab6d234abe33064f868521a87c0328d325d76bb005dbfd5e53fb9654f65ad41a1963a0c5a5555a63b750f78e7bb40346889b6d6058db34e6ec212e7cf7498d357646101fe15701bfe5a7fc9f73e02f030bb04c4408821a55f3d79cbe22dfebec2478ef58bd1173604245e324eb2d86df0307f8769ef2df566a4570eb7316af39b248e7485614e5f82ddc8efb91b6d69d6c033ff286d99ca1d1a1f7c2159645d37f27801abc91a6b7fb06594e718992fbfc7003c8b6ba8237dc86c85e2b08d3e0ed9cdd8f8b063d136acb768bd3c1ba6afa859c0219ffff032a0fe47e3339d3eec328f9b8795cbd3c5935c1fcb5cc4c984371ad9af32f4b4303cfb01d920e6782fa1c58ca90a576e87018bce6b89ec1e62fd703692a7f660a78032f77fabb828201453e93b311254e5e08ba2b0a54b4cd6007d8a533fc2ee829720369ce2364235ab7f2141197dd70c31ba9f6dfe1c1f25df244ef475a60ee5e63fd03e628c6722bf5db5edec7776acabd962d6e1cb3d9d7b087dc0f3911a57a4c8da203d5c238ca585964af5a1eeddd92eda4e0e0b4acccaff38232f6babf99ddccde71037291e2aafc399e03815c5c38d9ec5bcc86cdb752637990ccd9c8174ae77498a4031dd8636b55ac8a984c43dbf96637dd122dc44fffc40de239b65bdec927aa3a250344d99deb2681bfc61b00e2a78f717b74c99593614bd1b1a28830479e8933047e03763fb13fd8862a3e1d962cd3d4761c84cdc05c0c811b50a4dec9415420eceafe03cb9ed56a60711bca9b428b466aaab6d5f91f77da615c2cfd571693223670831703f606025ef127336a77e7330c2f344d5c0227e8b2325192423a0ff9e283130e870387a5d18dbfa90051e60d86e934df53943f531e1aa139130d83d6ca094d83c4af03a85cf85433f3b13a17487c4b5979427223543764769835aed1ff096fef477b8503ab80ad10f93cb63a964e8c0e63b336c9174f124035e8b40d01fc465165456023034055d8bec32e330335dfaa6db4b09b5952e350ef512242ba4da987b1d43945b403c357e903314ffe92300957f05be5413168fcb52441ddc0842c48695c6b72b1ef0395459aaf6080b3f8ee9e971df38e176297279b9cbb006b01351910c395de0f2a0362b23bfc7f42168ac33c83afd45b1743f1ef1742e329872b3a0b5a7186da2698036d75bd0f47f761d7f60baa3ccb48a6d3641d0fd34a5b854978783887fa5cc1c2035e8eed0985ed0b2a6a215e8ba4c006afc18e17b1a68ab9b9464320df77ee9b82037d4ce2e0d91b6025cec6bb65065b9a2bdcd8be7d79d771e2327f2283d400d2cc038b4206e28bdaae19f596bd3e8d9cf465d2ac0e7ffb8eb0555a600b1aed3c807103c4acf523da26a9eeb53f093426b97aeae7a442b023508d3e941f3a0d3770fd49033e1a3a6888bba34fd74c4f96e7d784e08a3927c99274767c8b45383243d181e7035a92bb6dcee1c9c9bd2ee3548044251374832475ed9d9e701e7c36cc21f00e4803a9c2664e6e250599e437fea69cc9569dc34e789f5f1b83f8addc5a8580575d4e03dacacfd3dece2d8f09187158ed3ab28e4521918316962201543b53909d25d89f03c21469cd6bbb6d51d3b7ed8ff4a9050c7df6f43be97c18c19ae59b39c75a6852037d337e717ecd4ce5f45c4ea8994e476ce38cf937a4f2924dc40cfa8fe5870fe905581e038e5a09e900731c937b9f9cf98dd46edd55614471018486770032d540d00c0447275e593373250003f8559abbbe0eba3bfeca91b590098c70a24bf7c768b130fde193fb5bcc98b88205581e035a76fba5f3ab8fe576d44c03683d3a2189211bafe0e5d16cb0630b5e00084780b6527a8c355805581e035653eb197c3fd399f1a5cd68d1de6f19edca5b60433ac2b56c7722f0700c054730ef6fc5c179d805581e0309a9efb64b9fc582cb3aa2de516620aca954f1cf2b57fa3c62a951f0e00c014750434de6c4000003ccb10237fbb545478774d6e858eb7a1327708de6c205c7195d3a5dacd596120903647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0309649ef5d0e27de54607a47f0520208f93df8363061237d10e681ecf3ddd9efe05581e03469667fcae85f0588263efb961720305bd89608714ea1d1d740c8f27e007011bffffffffffffffff05581d02d5cd67117eb060eb8283e6f3aaf1a31a9234b6478f940d7ca4cbc360040105581d0299652947601cf1972a660924be5f208f708f0e0e2bc9ac6a34afbe120c014702ce80355f63e80459088a60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820a4a547cfc7202c5acaaae74d428e988bc62ad5024eb0165532d3a8f91db4ed240029032d1394a5a9d2e8c5c8588d8d55fe94829ab07e41ae5b788ac1ad3fb89e25c5b20361de97f7cf7a84eb3f54545791e3563cd289889db9dc76c0d20a52a92b0e2681031f9750ff62ba05c63a63b38fdf3a653a33740eb9e4107d3f087336be33a8264303f4ecef637b0d537e42418fcfe713245d8888c97671e5e9bb62be5b03d7eb042f036c3e86f9176f176b2003402059adb141fd079cc84e28e7168429d72672f8ac870349b348d7327d208634e63b3991e1dbca2220c269469fceeadd143352346fa71c039562514beb09cdb6535c5afcbe206feee98477324f24ba7729ef3928ebf7683203d8acf0d25c0bb6205c64c828c9c8f32a18a57971b5ab6c9cbc12026b8d4411d00301fdcee0b48eb5454f00f9d8f333f7780bf0a6665aa1e79a716bb3e3125e702703f3f6b20be0b51977798f87671efdf26a9d2c5a2bf266fd7d03750e79006692830366c1aec8af137b356a350572d02e36fc0454f3e6464c0a33dc72e01fc2047c6d03c9c5da42d072b3e68c8c5f8f31b21122e99961ee4098fba75d26a320f6c1f0a0034bfe2f8aeddea7910851594b242ef3472e0a8e09219ebfbfd2ed91d71328e0930335a733225fb422ee1157d0da9d6a0060c58d8a4b8d3244eea5d80be5eed089c903bc2643a050ff27fe7f8c50357254442a1d4c5d96dc82d626fef4e66ca1a50f5c03843c1062c2071e81e9dbb732917464e9aafcd6923fb7e2a2605eb7bf1615a345034a10f0d4db5c8b82dd25febf0290e8ebf1ce9441b9b6b25c7df5f3d830e46ba703d91b06a7a5f21cf2cc5b1783c7650e0b2d52a4cdd2917666bb2f589be79ff4e9030d7a89c9c8173a8f28da43ec8b0e92637ca5ed47f9255f45723533f111b1e54303ed9dfd8de6f453358de865d52885eee7868889ee299e26fb9c4a98e7cb52809303b19275be6462fdafcd464a07d4bdc4be4e969d29ef71e8d3eb1c678a7e8c36a8033f0c80aba7059a3d27aa9a1a1351950f0e5141d06030ebcfe52ec410ba295186030eefadb417a643072bd3b66f8745ee6c979229b8ceb8ad7b238bee14ef788bcc0380863a35c1837440975f1fd5554d7d0101ca893f600c0540a572547746f02c1a03ac198e4d0a3e41d7f2d2794c4c7e211e7f90ed100a668aa4bbdcb9ff5c5ca9e10377f374dffe53e26ff75445321643f9f0338f34bf35b67ccd278e1f95b212883d0346cfad0189823dade2dccc8966e987b1fd0f4397b0fd63ff02db29127a519ae90326efb0975f574bd9ae5227a5bb4de5821b0b0b52420cf2199a4aa73ff7ed3076035550ad58bef41e4e9711366bdd072ade22c34761f780fab6078ab9a700781aab0377a7ff0a597eee267c9dc15cd8cdc6a3ae588458f19514697dacd0212bfd54e403e2d583b748cc7eab122b6b089828ce086f9a8206244a67d6b8e4fa113c01b19d03299753fdd35358c6d2f319b1208f0a81b564a8c2679cf2b0b369afe3faf997c1035bbcfc4fba0f9324577b55dbdcc402bd4e45def541b4f489144ba8632b41dda50323a694ed2cf402dc9175a62cac8598dacbaf75dd275a65a7acd230e52837584703c0170493779ec092c574e976da762b94d26b76837df96ff2b72e9c120ab7bec103beeda31608a04610ce04832a7259fc1304c4683b820cd441b8ebfdc4f4081555038cae0d86fcfe3184d9f868080553d0b53e398426acc98bb8dc2908cfac3c4dec03f47b5da58a03fcbe648e2982848791323d744768ee73d7da4c57b5ea188d8c7e03841e883246ab4980e65341503ecc125a7446b1f690003578fe339fc7174757d100581e02a818348987efc21198638a43af425294e0cebbabe1f3c7676a812e34a654807a96288a1a408dbc13de2b1d087d10356395d200581e02abbad38fa3fc14dba397b83ac7e8a7bf4220ddd174389a427fd84435415820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc46535ff00581e0248b7e2ccdd56cee52699e9315c16e7f3f0dc33119ababa60cdfb8409284417d7840000581e02ec2e256dd7a246351e4b2aeeb0835725f8a68497b181b9542f1d7eaaad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6377579e0219246003474a7793521241abe86002c251264040d1829c2dbbf0f3d3fabeebe519d0c310039c9aaa33d7a10b78c48ea7a91247af19de6b08be5a050478e67c6ed4b06ad52103398def5974c743e0f2687072842f3f0b88654a88fee9d446b459031efe6d9a95035cec8bc04e48d6815da71d69d016d9903d542ee96975155d8cc68c9eb1999ffc03b365e1710127f7adf4b5462712752a6bdb245c5c5c85e81134d95a91f26ca32d036965770c9ae2ba0f13e32cbceb3189c23ba602d6de52a16c8aa3094e8a900ad40306f94e88e5ffba7f14eb583eba0f4175fb26297cd9dbbb1f81b93025e5bce3470219ffff036615f2381952420ea069acb391891d322869efeb4345eb313e95ba3305462a2803c7904080e21f20c4e1811d1ac2633b93ddabadcc51bffbe9bd51a3eab9631f71033db665b6343c3a8119e60fbad4919e07517acd01692550e0ca4408add2e5f3b2032a449f44af25a854288ead943241aa04bfd541a84ef7489676264d5b56ad50e5038b0a79d4639c8b1b50473f8dc93a494f8162c6dd00b462e9b571feec8bdbc5bb0392217fb0c69100419f0a9396956835213549477fc4aa25c0c29636f44478373103716d726da1ff96196f3c5c77741227aacab17c425fd716d6e0842095511a8b4d0219ffff0219ffff0321e292f19666315f76eea003fd8f287c3017d8c57331ff058e1a986c92f2e674030ea925bb77556b665219380d1434e54d5edd73a61aab22a0295732686be83a7e032c17c00e8aa40e9be722a2c6f3ed7e553a409a65d64a7ea69c40351c449414e803fb9b087c1f986faa4a50ef12023ec1ef4cfd29b15fda5a9c8f144137c93fd2f80373afa4c3f1380708d1ff4b4c3d608fd51cfd374902a6ae62cdc324289a96763503acefd0ae1135f4b745757daf247e92663c60a98d240afc08fa387d1916ef5ace031eaf3f24064b3287f0782c7bacdf8887910576ca3e7bc61e0a032b4ba67b3eb803ac8bd69adcc2962b15d58ac1bc89de9da0a2d2027eb0426402f33b7869ed8e55033f5f1eb8f9885e38c2e1570f52c88a40069b6981249a0b91b9c94b66e7766648038022d7ae7170a4e7eea710b0f693003a7c75ececb0027bbb199db90fd2dccf36035d71eaf0318abccefaccc22cd8b96c64503ee1d2d1040993a566b98179148efd03843adfe5989196369d00878f39372282d75d6a778da5fbc2d8458aafa80af22403b8d08742cfa782f2700d970f5ab44c0e5955a368590f6b59d1cf3cbc2beb02ec03172704fd69329c260e4fb98f619acc217be06aace3b5b29b3e89192c2c10a64e03024aa9032772e17014747ad80b20b79466650e50fab474782c3bfeb7c888c9ca0316769a3d167d5822293a3a445cab476e34b272c0f64ccc4796cacc0b7d5d67150390b046d21a57d466265bb0999ece404581dbf350584a283cb26c1d950bb8afc603054a956fbd472a005936a8bd30d61f00b2d2427c60164a276d55c55b75d89723037a7c37c334e95ec6ccc08d99a0d1b16e8db6772becbf3097e2b0566c4459c77e03be84ca7cca885365b4bc0497ce9c02826c74a1d1a72d66a365afbf09e46aad1903dfa48864cb490c59067e6fef08f715bfb4b19b594ed881d098456609324528e90339fe04deceec75d31177cc0fb155cb2f24bcbf9fc3369f2606fb0a488e95dceb00581e024c7e0ef0e5392395ce7452d4e5eb01900919f7ea753570abc24763692d4649ad9291a8f803ce57e5edd483c9ec130333555cd60c9d3082ac31dc303830ada6b26902dc100b037abfed7573ad322f5d2171c142351733c704e3e57d3d2dd63cf21a8be9416a2300581e02260608623466482f88cd4120ffe69d5e8ae6875361c2028d7c5b6967b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e020d5ba211db4292cd0fafab9264dbdbd95376e3f2f2edb44a004868a096438b92780219d088032735124218a3ae77f5ecdd298cf5b489ed351035e3bfd973e7c5dea78e372c11036f9c564c5aabf460e5d73c3d745d266a8cc2a7174704fbc56c8d720107ac93e1036808eb62795c554eefd360a80b4b6453dd32fdbc7b396651e69b650c3106a57e0356b1507f4f284e0a38b2236ed687625684110b7ad2c11bb354da6c1e7d778f1b03e757864198898ba272c20cf57e4a4cbcc895e385ee7bb2ba021f0546abf131ff03f43459b2af725d03a741fc1a8284a74a2d40aecd366ef8215525b61651b0a84103495344efdc25cf9d851791218273f116fc0ab61656de7a5244797aa9ccf1f0e2033ca334630a87bba2b41bb9eb9c4f4d2a28566c82ce3c18d1e7b3bf9adf9c22600399362d71dbbed84b8201a649df869ff9846deb7e07f0550d90f40f64c1d636ca032b4b20cc2e462ab9e0d3bafb633f6818e7ba308bacf39772b80767c13b3561330306453a692740961918f0b57fbf6c780981b2867d8d15327a1a97fcfb8be49a37033c3da4ade83fde310d3646f4a8e53dc27423aa7b1d622597956531e092ec7ad20346dfce934080fde0c280820d3c993669c7205c34c115e35b55d21739ba97f88703b95b767f43fa266bb212c3d5410ea4eadabc27f92b18c4ef12c014f3320182b403495e7339e637de0761bbd1da063acfd7c6c50171686f7e47cbde2f2f4c28da830219ffff0329ac7a52e7d31e5aa14019271d40b16fbbc490a3a1f23a29a3c1e8249b55ed6303f768ca52fd5d698e633ef27d44ce6353b8393448d3eb715a4dcf34c2ca92b1a7036a76f9a322a9bdadd57da28e30aca7c49a34587f534889117757f25af6c6dd550385ab65b9e71fa3af5017c930921b74f90adefad7cafd0f7ed77584f696512fa00360277d7bc27d88ab2ad22dbef2894a5a19c0262bff12e2612bba356367321d6503ba8d57cbcc09c866f99e9b99ccd33060dbe8d6bd2d63649b9e11d837ccc5e974032a527598e16584640a8c3c5c4c400f506351aa74fa805a19c228f66238dd39db0343ba844175610b34d409f498376c5f13218cbb5a16a56490420b396cf37c3b0603485850ef9b6f15d866ed058ffd86d9b96c60721509f321cd59944130e2010a4503b655335aeea4e25c8401f4fbc28bffec389a3539ba75ca6eb343933eba9fbcb40219ffff036c5bab4428a7d8caa80d37780deccad43786eec73607d0b875f7e3e1e65959660219ffff03333f95f716d138a883f291352e329fc90df6eb67aa1dd01105bdf9afdca04bcf0341faa5518580bb597aff3d222d039d107bb79f89f22a5f5ba5d499e5002c187f030c5b71fc636b3826521c291f0a7c23d92d8fb9d2376c7a8143f95cb0318f9af20219ffff033245bb0e0055b8372342eddd5c068cc7e24d5e54f60a5ccceb261b35fa608e240335d5d07bff8ecfbed0155e5f43d8c8a341027563bbca7cc5ff58237a8ed3dc6b03d63751f68e29c6eb2168f25f2c4ff1999e0b5870e900f52339829f382ab5814a037a618e0078da5d35c3e1934400a518c8c3368e93be6879216f9ea5831b78c3050314890765438ce0f0c4aa705016320f9d502cf2b452097943d7816aa362d5c9f103d11aa432bf2f33575f82003bae79668b33bf4a9d7d3c553cec0e2ba6eff60d1703a9cf4fd46e3955fa96a567eb5ac95c57a7c585d0af842f6f903a0e12bd0237d4032bad1e3c05b2e943776a7bf5ba7f60b05b15c0696d9be04b84107696c5850cf503e84842709ee6ee1a676fbe5688671555121bb9091b5e01bab4524dc1b8a0db3d0334f8b83f73ab2a9255e951ce2f920041d6b968a0a96430fa317d79959257ac6c0326775cc2575a5d1068ebba6ec134300ddc2084b57cc7f22fb9152b51798fbb0b03c033239784910d7819b87b6b709d145217fe95d721e84f733579b22ba98ab8aa037fbfd12a44d70b0807b6625d72302463507fedd4e56454ec601116500032bd3c03a49290a991d235d373bb73441955d9dadbcce70ef112cf5298e371052620261803b74c2604c04d0028714f476e23fefc1a4e64bc3d6ef7aed6a91135352390885603c76e894328a1884bf9ce797398df8eca8e8c7420d1aa54451746c565e9fb06b003ca40cd7717c851aa3030aaaf6f95bc054de0e26ec90ca781ad6e8edf9c229f0b03d429d2e27808358b0581a5f9a4bec929abfa13a99edd1b6f75f1dff61597cd8c032865b9acb09ddf703dbbda4e3882a820d734ac3dc2bb5c097cfae977749601480324a738cc928b6fcd56460962f8419d15a437029eaf76fad44804ec47f9dd90b20356a93a5f503bd0f071ed0cd5f307cebe218ccc7bfe36c2cb9935b81c45c7a0f00352b690b249f500f92565ddf5a8b870e268a8107090556ff85e1e2004c135797c039987be903ad6d1be40502c359af41e7676dc4789086c6daa8b9e51af2bb3622303d6e98ac179a85020217b607755763f181ebb81679f6507c6a025a12d46766bd6033f3243fea4e2b32a2bbf54d01ed18c983af831b08906517fdfafec6614d7e0b80395cf9dd0a7df374e9ef9591135d41141bdd9de3fba21429892243a38551a37df03a39d477380e09d6ca96ae3547d9f7496991724188e49ee039607092a3335569403244a3d6668b821faa32c0aec83000a7fc9a0e2445f1a462f8b63c4ec15dd7474036aafd97ed0a6d78795f6050cc46b76c873cdbed44d10eb384c51c7640f64f44c0352a1515b9e0b461fa369b3ae2f003b69b8fb8cab87b5ee17de2d4bca12d0fb6d00581e023e9edfe0972ff2c6d0da382f0db3d5eb6a897c60a4c173ad1a225180705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff09b681b800581e02466c0dcab700c8ffdf1818c4db7f67fb16b68580b759516554cac7ab125443506849d7c04f9138d1a2050bbf3a0c054402dd00581e025d12c224c54a6f8f2aa61e0649e0be7d377ecf7aa8797bf2ed54bc1c055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02280b6ef72746bf93b1bec6ef41cf206dad2afc0fcbbdc7a63fe97c3aa85820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff02c4e9402191046030230da90dbb296f36c6bca75969c68c0a93378d67cd3fc8d6ecbdb338f7fe3c403fb4abb28ba7238a79d8770c633ded45e33eb81d69c773ff8fa1404d0be7e55ce0391de9aa784be32dbeba3511a825e749d7f8fed9d842f12a301961e9e5afcef6c0365f9ad6d524d3b6cc405b6ba3b7fe6afffabd89baeac0d1c284a70b06ea8e2a80316ce5044ea13e749b4d8bbed1d085ecb28605b8975cff9f1e91bdf882ad75b8b03412aa50fd6e7cb1644342d982bc884f5194f25c2176d565d573ea2af9b7d88c003ec68034ed055db71e87bf811afc327561d4caf47b07ad704dde8acdcc110b9a601410f03f2529f7dd28c690e44ba05686250da407c66e1296fb04eab25780b73d5e0a80b03ca688d8f1b676d94bbf63f856ed8ea8b9254f51fcdd30594114d1d620192fa1203615d0dcf330f01699694aecdbac9952bdd5612f1d632485274f6aba9d3a1549003347018c85929ff716efc3b8aa184782b1b4c96617fa3fb04079e7474d27b0ca80305e1e5ef1edbaa438dff47ebe6ba1a77990bc9f4c5b334aeb59c12b23823942e0349a182891afcb4f22794605e7d18b0ec6732338a90d6de511c679e72cf149c270219ffff0382373f312f60583b2113fabb83fcbd1175d24564e11e8d6eaff59f883cbc8ef80376f13320caff2d2c3c011c3d8331bb8072e348abe0dd9fad416028c5a4a5337403a963ae3e2b5a469e82519ec5713379a26182193c0e511a1a962e7e912a806a9403588dc86207c03b956ca9f0fe1104e455bc4ccfcc6ced73233383bc3c0a646eaa03d631ae2d40bf1f4acda614cce5d51041cbe08e7824089aeeff20c66ef084f9cb03f333fd1d286b483bf3a2c0c5412645ff364b1600aa68b4f1ecbbe001407e768b03707bb0469811911b14c4e5a0e77f0b10cf65e63421493ea20db9106809b684ce0304168ec8b8c3b3524cb9394f3f3bb965d1a455098c4272401816026bec0d26cc0302f94055ffd733e2be3110515a661b0074dd5bec576ca1f730b0d7b22a14a17a03584e636ffc2eb4d37fbbb1027140e5e9b98531976427674d216ddf5225ead69803049e6efa3afd402dd8ca621653751414c15f8ed8805595197a009744d84e742f0219ffff03781991cea7c297bf1b91d82e22bb177291114785e59696b59732094553c8ec2c0219ffff035d286aa0b1a975830bbd8e2cfa19bbbae44b9a26f081b41ae4270f54ac2223bd03c1f1429240bab02949a5cec02c14ee7385ee4f935782b7c6cbca311821b859a0038a9843b70ce61dc095e8f96e4c618887c97a36183a7ffc761f1a11487b8eb394038b26dbe304d2a06d205790a7b87539b3bbb45f1dc1d737d31406635c1583481403e841f0e699a67b7bdbd57997cad375eea76ea16be40b08c257317ee04cf0236b0306b8cbb4bf0924961b6ac52638d0fcf44b122bc85d253ac633fd2b50f182d5190378167faef717bcf56da03540e11a71e6010798d2172d2516daa3d39e85834c17032ce5405078c8c54644ede972f114a91c09de8e70d7640815f79415ba830ccff003805167ef59891627d38f4a8f631a78d5f8f8dd372bb21a7653875ce9d53327f803ecb58f9e2766b773677e56234e7706570a85cde591f00d422e45cb93eb0ff158035957cbdb0937cff04db7c5e64fc94c5e8a39b08e92a99c8496a92e4ce58d3f9c030e13383ac19b6bb5e519fdd173fb82b799cb2619059073f98258c0d0b266046f03c50c3e24ca8c234cdfa8992e2771c53906543a910205fb4e886057c7c112bb3103d04511fbbf6e043134f01e5d8864e67f20fec3444c573b1552f10031c7ea6928030c50bc25a5b62ebc2a68a3c815e40c390b81de3c6e492c90b5ed2421e5df2c5203d9acd5a7c1f87250f1efc824f5a368c456571b3b7165c4d891af321c4c56c9eb0342b294cfd2a053ee9a54960aff00887b5a331c576bedfe079cbb748f4f7ebda003c93e31896e85c62273988d2cb56bfa81b0ea0337ea0607c2135f194c311b8a2e03cfd3d432e8a991857d1eb9a9fcacb1da80cdbe57037dc3b474a92b1179bab7d703ba3c8f71f6291b4946d0f3efd4c331b0552a9ea6f424b7a18330ec3a791e19e703e939a2318a2eb569883a64b273ca5d9e5d85ba03b6563105d0255fc3e9970cb003966525cd0b791c19e5976a3648e3e1c58c0a71d81d4fd31ca69f33320abef4dc037fab5911ff909e0c0d37ffa2684f6e561c18314198fc23d9ee9b57dd17a9393d03625f6b7951ac82d4bfd1c1090b848331fd3c5a474ee4f70fa78871aeb89161d000581e02c144e173cf8082c512806ccd405676c7cdad094f72e9da9ab7325f3f5f45e04cee622b00581e02a35dc01ebf694423b5d6836373c2b27aef22f1ad357b7d9c17fb8685d95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e02ba4f4607a8b6f7353472b270fdfb08ffe4239edf77539dc83410e0d15b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffebc94ca22400581e024e0ef26e8e902e27244fc3ca30ccb7212c7a0509089755772470973fd25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc474783f0219f000032dd8b08ce72982dd6394eb699107b5202d21874367a7cfd0514e70480ae164f70352531a3ef545c00dad792a65083077f6745f083d08f7b2e02b961b59ba89bf07032baa760c817b2323b937daea1373ed494db370bed9e3a18a6349424afdb734b1032ece76be24f866a40fcd04c8bcd25f735e9d1651ca31da2f145f2c4f0e4e281303668a1935fe5251046cded5dc0da0a32d5c8a9de0e28608ef83ea5c6c505ac5e60219ffff0304867d762a10e906c583f589fbb8873c8904c3f024db1ccf0281068179182ff203fc85669dbfdf8235b010cebff93cdc5caa01785cb49f3be34b6ffd4bc7e8986003eb92a6575fc2ef9532e40423911bb44968c116dbd5e5ad723cfac09fc7235cda03e8bccdadb18f1e07ad7f186a382bf8a5fbc9130249f70a3df1077b0d7023d686038cc0ea94022a69d56b17da369f10881cf13c493e4b047ba2440062fe881c94bf03edde4fb02785af3df1ba049536ccf7254d1a6373ca3162e3e9fa4398d77b5e5e036e2cddcb6846cd08c220ed095820b25978dbb67c70ce297fb1cb44839b30254e03553994a6d3c403994e864e0d444ed578bd2fa7893b9cd16a72aea9f73522d80103c97b4dc84f4ff9301997440e76825b36b198b994f92eddcaa6fa289954922c2b03f7cf5b9c8a691caa2f6ff14d8d2dd92f3aa8a8aea63c96523dbbfdb555cd7b320219ffff03bd3363fc8a5ca5c763b14220aa6fcfb848a8626f735d227be51f9e8f888491da03ddc58e2fa73dedf498a8a3559efc57027327282de068e7cb3f67561a317028c403fc87b4f06643dbe5407ed51da6a15b454409b4d8732ceb91e5f18efc9c175207039d8d1023c7fde532147a361a1978bcd803ae73dd67bddb3c45ec538f1d6c38ba03819d3db1be69857f5dcffae79e3da636729cb257c56f32ae62e4fdc96d9843d4037e4f59da007e23b751caabc463f05d2241a2c33a74b30f9b3bba334c741fe0f803301b429f36c9b66a04b81ad5ba83990a452fc2911568204c94b700f2b19ee87303bc81528ccc6693585e05d5e5436e6cc8c560ae1ff249479e267bc2a82b5368a30219ffff03afb23d059183314694973496c77bc1d2b250b03da8eeb49ae60f7be65a261f7603a7bd3ba278d59fb3f5801852ffad4fa6beff960f3c9f7951e2979009cec12a8c0374d303faa00a645b7844925338b61452142de531e6a3fa182d9f5b1abb49522b0219ffff034dd8089448b4d40b270442e3de4c51a2ed08bfa743e4dca537554f099a798c9b03a5b34b1323a206258c00952b1d05051af0daf577755851bf7a5c85a5c61da4f1038bf623a60beb336b68724da260a4a348f82cbf3c1b87d5270b5a03ad7c1fcd3c032d075419e2b3c2a8a0708140c5191c3eabdfb41dc66c5dab8f34e3595b9c2d93030f8a52d1b7ac88303e6a1b77839c4d6c5f0d843449434d375dcdefd11993b31c0369adfa105355de14e690b9f68e93257a54824fb958e8d22655f351e3b3d7ca8303764af3a837761717f7f8738fadd216c858287cf0bed05e49b7124de43137ad7b03abfc45d335acdbd07f69c645f54888265dc9c6bcb417c6b1c4c1b32feb450015031f430921cd4f12c732de2b881ff6095f7409ae24e27d56ead5c96c25e44d0bf6036be0262efe13df242959a9064e2df39c9533fd61163eb833f2b5db176eb990030300caad84e5ef6204d244ab83a616b9cec12d0eb591ac799d70482f7aadcd4c90035a87d7d9f81a6b16524a52c16a274384e353543626128187555aafcf55520e920375280e5baef939fcc2af6c0f20f5b6d406a1db938d35cbfdf062b8762a771a0a037a36ba81ed3bed7bfce1c8de2c047fa18b33fe63e9c3da9e77dc9aaabee93e7e039e0a4b980355871183e3d0f1bbc177bf2e23e5dcc5576d51f448f65af119783203eb1111d5e9d537a9279d4898cb69997c81b1fcd3c99941a5f706c790aeb5ed7003de3cd56c62d7a440bd982b253d51fee955ab48fab80797b63e3b6f1f09245efe03a4d3a08db70b789cf1ad66bcbcf7c31b9b64ae831ee027368fd0b15c2b1e99e30315565d1cb6eadc7fb2d7fb52ef087b952358a5aea0d78592f7d6bc40a6b9be8e037c389f3c68c99c0019d0a07e9500440abca50d4090af1140542ede054d91b346033fcdf0173b07815d3996855255cf1795006a5ffadd92c90a85e15c1143c7479e03a5dec9d1e78358ae12d1dccd20c9859240faee9b14f7152a31cf41bac08659a3039e8a0d5413057623af98700691b2adf90135b6a0128fe51c3ad3c8fda4e837b303928f3f22bf8b27acd4a3ab7e864df02d9f37f976049597ff313f7702f2e2e5bb0386a0f49556cbe546c42ae3caf4733227173388127a3d5cb5111d24dfd4be090d00581e02812c5a10a56d26db280b70c0afd5e480044d135397aa6d5210b29ee61f4c204fce5e30444bad38fa535b00581e0256314af12aa1a62859483b57f6a460b4a8147494e90b2b46baf775255a43016bc600581e0228215899711e292069b2a3126138bf052b23c82af7b3f0b31bc7631a855820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0211a283bf1f3c72fddbb6685655680bfb71e21e3be1bf7b410292969e25422710038e64c4df426e92d53cae8145a5be45c1e3f0b26f9484b7aa0fcea250548f8c8d00581e02527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6544914f61d25e5c567143774b76edbf4d5109a856600581e026c5232a972abbeaca7064450c7b385ab511a2f17f27461fc4afa9cd4935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffed6614a38f02196d9000581f0324b32423619184f0f0fbcc857a2cb681e8ffeca0dbf31c292434286f03805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd96ef04803ce3484fc11cfe0a1f3a62751064a49dd0f0a1e1ac0500c909936347cfb47425d03c1ebfa1ad79b92a162cd8eae219c53928db1cc371606dd4887bca2f57ceb135c03c6c1605c818a87d02ae7ebbde8ee415dd55ceb2e8b76ebe2b1a0481a4ec829c80336dd821befbd5b0b7d1a18b83c78999e69c0056608c961ec8e3e3c24d497e09e03928233f6111f64eaaab353745d782f3432a218946621071ed252a53c1252c38b0339f1a65e322ad4f6fdaa9e9ae26c741f055b99b5eb05366462f8ad58eec97489030cdaedf1f014a2e1d547c4aacbfbf248a0412d1e293eaeedab411101212dd74e031ce258e1a3d5c8e3451fab1a73f0e78d9baa004811c75111d05d4c0b37545121030b76f7b2ef016b75916f53e192ffc30891bc8b373e024dfd46baef467553bd4c03a67457f425c4fc360a80333f5c2cdbc2054885a53b3fc6115058c3351836094203b1b18769f7d535cbb8cc26edb157136a148ee6c34d72b0b8bf73ea20b51c3bcf0399241872c4f405b54ffa8c0f0a62eae76ba5057d6f0c819a5d8ffdfe277207db0219ffff03b9720665f0c55636c322687f50451186d87c3ad4149403a6f3dbdd37294ce61e0219ffff030359814d94fe3dd3685711353711b79a5ed6a13ab2ee46f3e2663592e1d45fae03edd95b09fec4941545b0869e21b52e098786042f849d2b6bb046cf65e43f24f103ba6c32665f18bab02021b03b1b269fc6b04ddb253c491a7c75784fe5e445b635037f91ee5c485707361686e0af1254c487c3db44d86becce40e1a2295504c1e9f50300284a7b8fafaa99eac25f43619267a40847434cc2e866e4935bb9279f2c423c032b39db872d99a84289f831b247696af6d9ecdfb757e66643438bc06eb0b58cc90323cf93efd575f487b97593cfde043b3950700ad5884a0250d13da0edf9fd534c03f5fedea2dfd01b2fbbe7f25b194fee02cb65b9aed5ec6c5567e58e6fbd31e2b60322116a4f7084f169161e8ec3a5d2de796335e576afd5b9416910a89a67102b4003d1a95dbcfe573904397b5f69488b1bc589839d319c5a6c55efdd3551126a050803c0fa5ade3c76c54271f167e5f441b485f1eb75940a2e52f648c2cb96f5052d9903db9ef4e1326d4246c472ccbd47515d13a169d957a9c068fec21f4b55e212009303e1970882eeceeaf8e2b8541bcb174205ed78c7b11041b9bbafb4ffa9ba899875032fb8dc063f1b265d76868071db31ab763ea566da8bfdd2b1a7fd4ae052ea7758037c40701fa0a68f3d926c3dcafdab297088fecea37100d78467c831170e7040900219ffff03c4fe2a4d5c993e4c9dadd857e8661db60872b725dd80141becc0f521ae33eab5039a1005af66d8db3e16f2a30040aa6d784e1f1499ad6874c2284810536cf9905903d378ebb7d7ffbfd47a58868608dfe594949c3a155ef04a580263a948ce930b0403a1466dc0cd09bcff7afd87c8455df683bbb69d08ac5bdb43105ffa5f5089502e033754236ab4f269e1eec5004d5158b66eb8d8bc74e28509c17f0dad9d514de8a0035578ead177a4ac0b28d35bf5e81502e14ee60056d73af310d0b9acab5a97c18b03d4bf054b11abee6a131ef65a071e65ded19f0c662438fbf9c1aaef570b843d5b036feb70206553ecd8ddfdb2f927bc3657c1d6750d6142699ee8b88c699c6af4bf03c78502d7e06a37895aaaa104b6c407fb36df95f7b3e598ab61cd5f90482a8aed03d6c71e8b8dc6f8e768002b960987ad7f7465ae6b39bc54c89a95a6ef52279f6f033d1cc383b7f838294ed79ac2cdc8248cf6979c09331f5c953e7a5497e95166b5034df4ec14864c789279a98c3a23e3ef021d4800314f69ec1289079080906bbee503c33f76b3e8a263c3d8f02f83cc3a5c122ccb6f58bba0f8d5719d6ea79077cdb303790eea44945c0a0e06df36fc3bf4fa5d576f76d7e7c1e07f5b3d1e9793a165820219ffff036f283fd3772e345ea810fd7588034c657843cbf2493a4882705bdd2159d5855d03691ff46ab9910e40fc5c4a9015ca3e6fb37eface4bdde33dde68ef75981a900c03b200da8b87f48d6ac016041e2298adaeaa9bf7ab0d0499188f481d60a524e98f0338de70e837a485f014e665a1d90950c82e46b25993cd9bcd1f8a32ffedabf29d0219ffff05581d0292cd7f3f78137497df02f6ccb9badda93d9782e0f230c807ba728be0070119088a02190a0205581e030864713ac2db5e9db0684a29a85b09f8e2455d445c5cf00aa58fcacae0040105581e0382cbe9e9e102d9cff9caf9f978abd0677de42e743578f991d9bdaeb2900c0b4705e5e4dc9af40002195ee703da7d51e611525072c152ef23a7e893fdd90b7ebe1046737cc06a98990dc7ae4403e6b005220f8de7edfd7f06e487749e81895b4eb9f0c56a1da05f1b50aab8e45603616cad53e3488e7876a76561c3accbdb1463c59490ee7d969eea01a64032d0dc034073a2da2953d52313e83f8d7a05a6d27ee5607a4fdc044b6ac35631bef4cb2c0304fc7644d8abe69d5c754e754dc4bbea20bab618d50b57e640a83684673b19790362a752d529651a3b04552c14d59ad4c95736479f82eb39e4ecde3e115d45f77403af9fbecd149a21467bffd1f8ead409d8ccead8dc6d55bf82af70813e74dfc22a03a259f47d33fd03c890d78274e276ea027e6e3051becde575d0d8f6c9e49e80930301899b4da112719a28ffc94405856d1b0caff59c59ebc63d51d096067b1e3a380378a6818c13eb82b0af880762ca82ec9d6e2f7ca13f6d269acd6e565cb49356940219ffff034a74e5a806b7451653b0befa3239b8b886efc5be2587972e99b18d6d249d6272038f133f5399443fb4f07ac8de92bbb37eb18385ad1a05bde32614025ea2cc66fd037a7c89b08d595c99f6077d62659a379f7e23c00066db48981c2ba6ba2363f89703aab0f11075bb9f5b7efc5d64264d22cb076235437efe4a72fa7d53b2dd806edd034bdb44579ce20a1d8529a5a4036a1bc2603c1df75c0eac1df592987a8838242a030c2ddc578d8251ede31ceb3b62657e60f89f62037618ee52ea707209830341a903317050d1976373b607272b71719ba8ac011157da354335f724fc84df6c0ec7c203c4df3c3c06eef83a067db420408477ab74852387bbddffeee67b9057cd7a97df032512aa10789e9ecac403054b1bfbe828e21192de35ca6b2ad86fd55e94bd7f5e0396c597a2a7fcaa88c011339d3950d4de0df1b0d6dafa8b708fa0b3c51d27241d0219ffff03880ba104d2ecb59ce7dfe6a1a379170dc289132b322beb4af1d2b09cba637fef03086a82299f43a1c4032a761c3a50e76d87da1de97b4584013f8bf265640d55dc03b04851d759bd5c80782bd19c8c1977d35f2664b5d7e5a3d44606fa5e65b41b0803f3054aa76f4916f43faca0ffbe08ba17e78c42fc3c22b1711d8d02397f5c165003bc6f5ad2fa95477cbdef51a2ad783820a7565ca99131b8159afff6ae1ca2e5cc038977f27c22bd0d4a018959e14a893efd25ec65f32f1244a4f7716198b4c99cfc036f7a13aed16e8435156ee3528dfff6b80fd05ccc369330da6ceec8619311d5a70219ffff03f90dd51f44d709141150a2da1e49951c34b3e442c256842da5f9b39563ce84c50359fdbeada5f0d028a51a3b9f51b86c49eb43cfb4f55006f8972936e9abaa119103a51bb05ff1ec353ac097d28242a104337d78273caf03398400ee4cd94c58b863031ecba1c5906136d682ffd2bad19a8c20dcb960108df4670781f8d877e61d1f5c032bd7118e2af4fcf7262b4910f9eee20698dffef1e0fc421853c014c325c789e703f37ee78e0e2ca80646734a98257d948fdfd02d63699a4b95f986ecbf42ff57a103894032d0927fa34528691d4102f6be31ab85e171f8b05b53acee703e5372a7c303c3cbde7dbf4a562b01bb3aef58c87b739295355f203e26518f6a7383b77397fd0358a108675607f3205f9f676eae1ab68fc18e77752ea8b67cf9d4d727354391e603fcf1f399d06cf3d2e409e3fc936321f81e416f6f5da2bc7f3ecd6504c1fd66bb0219ffff0368786cd632fec2d35eeb27cca819e38b22d33ea0a9032692a237365dd31dd07503ae40391f2b1a8f4d07178aad646eb6ed1957b099fc598bf967d59f6d064a244e03f8c0fbcd8d3335886a610b40e010cadabc880448a710790a5a70a5750e5c5b41032cf17c74d32a041d58277c8ac5f25d7da3da9ab1bef73a4f7c903ee0a27629350219ffff0378086402f8d6b44c3f5a3b4056d7ba5680c41628e195bc6313acf3d331b9cc6303833c4e7d76058db1ea66c4a5ef6fad4ebf56f93ed74f88d8a800bc00be3ca04d030c9eaae5bd57d2cd14952786a16962b0e45fa0014c11af532c5a121677db628f03f5df73036a717655223313324bad57920a41fb72b2756408e8d4f2c37b649c620313119e73936f8ac3e8fb8b43766a615b9fc7de768d4aaccfa7eb1ed8fbc28f48034c4118458d2ffc44dd371b439321e49c58172cd579841260029e3a33c0a976f903fad5446a54651706d8d1f3d3ce63c52c68fab513e27b61f6f10fc5e8cd5f21e1037a16c64c4e5375897cbf68a79080950f008cd364985e001320bce7b237f5143e034290b94773898fecf8e221c7e3f1a9b7a9c4574acf0430721cc9b5b610e6a7c4030dc98d971398b98ab75fd66a07a8bb607865e06176b1770a0c9637d5b242410a03adb37c6f26403a5053e42b83a8a3b5c8c5c4928b924a5f5f92acc5e6366810c003f48a64110664ff6c292d4565c7f7b66e2167da63ba87b733706d6c0a4df94803035a5a99b0b757bbe5f08cd2c88e02e0887efd67c697f5ab0877549ff7a4ad713503b4d842012ba753f21a32e0dd426af2de97d8237340d672da8ce536a2333ab10303977048204d5146d171cce54f27349cc7dccf4cad69df2d37c591aac2620b15d5034a79886110e15f9aaa2e5889cdb0ed9231663bb72b6695e47968de85b8586593035fc5f29ea3c6d3a7d3765c3a9c3ef3123cf71c0c79e5aafb8bebe6f4c35a0e9103e5aacae1241a19bc118334a7bce9debe74ebcd530e7a4a45554e2b616e7e7ba603fd6b793d4e92cce4e20951b67e706c35c5a3688514e9fb253a731b8576e4254703abd3c3ef2ba060ddc5a47ed1a8fe44633ecfc9e3c4af8b192e26e8682757a9a4030881234bca7ec4e477c0af78683ea6dbb9c65f0d0ff365a005ff9b95b8b9dbe603cf03476199c6aaf69e5f292a749934a89ddc2477658b45cdb55ce5cdc7de10b30385876833fcdde8bfba4c1b5874bf6d9e693fe5eb5a90c5c10142f53721f5f2fc032006ef00535a98e2bcdd761798f0158c6755768c13a41af53e85457d6f8d6d3103755a6070f4a7ac8b8331dee23d75f9da0346606e691436f43be1e2ff0349a0d1036e79df47a630d6a9c878168bca35a50b7bc5064ee27825ba75da630f87eb4163039891eed8e83b6981f157786535e74aca42a89fba169091ce7f72337ff91b176b03aa7c261b60bf7181d497153d2b1cc6cc48043cc5c857ffc449185ed01368481d03d972c583efd5e10666c4f4e31c7e09324884f27815a5c050cfb015c49237701703a31320db79c937bf962bfee62611c2379f29eccb203af22dc6715229c0976e4c030d420eb06000526c12093ace41cb334d7f04939eb63008b5bafad8cd73088b2903117e1d2713a901c9a9d5f1500f034a8167f6259f07577b41e94f86bada0d4ad003644adce2bd67502e088d365e5482a7f01d896321ad2794765871c0c9e19ff52803d2d958748ba7c1dfeb6a22e1e2aea8d9646611e6c3cb938ad9c1ecc5b192cdca037af3d5ccd4ce3958e45f51645277c25b74520406b3cd78e76a82d8ade1363d98035b65aebd14f20f7a7b5b5828b6b32711f0afb503ae76e6b3711170c574cbdd910396d21ebef9038831943b5eb66428189c452a3012c18e07f587e58cc911aa8d26038686730ea5552a75130d2fe491ce834085ff3279a72fce63e812a91caae77d5e03e9277c8ac913f917a8fde9660dd57f792ab0fd112d01b46453ccc2df88e764ae03c3c0fcbe978a40fd7d8fe5236abf13ddad4950e1bad5608079cd866abae018b8031d942c5f793bd295e61894015b65c2a0b772da5420e868784603db7d45fc38ab0365ca75331b2170c759b99680f25803d5fabba9cc4c897a1d09058f841a58083803e3981f17dbc1a00258432c0e34232f267d05e271590ee7a9783a51870f9873c8033a7c4e1b76aa60dc9d631272c2ce6a72e82914e0cd8ffc759889d5f24cdedeeb03ca06c2b4c97d9941e56c3c752abe4c2b0b2cd162e22a5d25f61774dc453deedf05581e03da7d3b581a6515e83a053ac10dee614e37c74397b0001f77359de74100040305581e03e08b15e58c41c3c9db35bc5268e123e5e61f633bd60f8dd66ce320d4d0040105581e03961ea71a2092ede541a5313d58a72b669c614b45d7c9e73ab7f40b85d0040105581e036be6c90bff6b129f08f2d3732f40a37dbc9a95e1c60843ed138e4969d00c1836470135ec955aed3303235db60b9fecfc721d53cb6624da22433e765569a8312e86a6f0b47faf4a2a2305581d024eee85039fc9d8260336899b904d35911f52859f57c1e664281186f20c0147a7a5422d062ab804590c346060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a002903258c851feb945236d9aa49190ce6a1f954a22ce7fb40e9853c155966b29bc40f03680ba046c0992e4f9f3f73f390ee95b35db0a589eb8ebc8925e450376be8361103bd26ecd72a5379df4385174dda3343359ccceaaefa7e53d6367a04d404306b7b03f65d4bee287a821d23dbe32853da771b450507ce026da5cca1d6cb04258de31603804e1841e3cf2f01ec5a65fb346fb17a9b8087b450657d72146166966028457903db2fe285085d8d887defd67a82c95a7b04e16732675ee52c793c5ddea46534cf0357a2a70a8d7681d7a1b0fbc49e2878f01379de812f8770d62db9c210f139d786033684de958ac1c8c5a8cf71a3356d73e490025908e3488b63ae4498c0aa03f4fb03d77826179b282fccd0ef638e4fdeaf4bf367250f06aa9eba068428df00a4d6f00362470b311e783d332595cd3c4bbe4dc825db0529361159707927acfe5671adc4035829d57b692c44350649ece5e2520ac5ea184b0814ceffab6e4a42dcde102778031164c93dac507600f62223b0d125d0c8e7789bd616058a3fe44dbf04445a5a44035e6c6a3de260d3b3abaf7ab1b8092cd0749b16026ef31be5a0098f356b05e5ff034e4597fb87f732899878120cab91c46037e71e437f574e53918a06d36fda5ced032272e0d26c583d18a7a08d001b99443bf6ec77b3ab5b2378d41c387b63b3d47d0312590fa557d104f681e79733fa2e25f62e37f5a5d0f9fe842a43ffafdf7344fc03b671747f51b1de1600c15dddd85ff23f061c7f9d904e289988b8163541f2116903c93a9c3b189f78e05a52f5ec546c4aae2a47a642c3803197fa1ff7bbf4563a2c03ab86a9a0c49994c5a2cda65842ed81d283c585939edcf27124f23d987169c33803348f9f773e6075dcf53a623b8fd2a0c8b3b66194a8c6e179e7647ecf5af1a6bc03d58f17f0f2c9fed1484f087c800f05a86b8a43ddee0e2e3178a71d397908244203a0c748fefc2168df5b99fadafff88b9e3ff5e460f84058ebe2a8414e65faf91503ab26e18fab352e2b3120cb64a59eecd238e188488136e83c9321c0665866312d03b3fbbcf89da76c5abe29a8fb2920625a6f0135126108058f92383cd46c08193503edb0ef2e69d07120ab83fa70ff2a41edb2b5935e73ad6a78f6eb2fd31e4fef8703036ac77c468e0109e271b9d6c4aa3384e87001503d275f91ee2c078888bdb62b03c5133909a2092ee8f69fb9994c2b3ceec2f366c4dae5e7a067faa49ca9c8ce4603d63f33303029b9ac31d64d217f0b35c9b5bbcc2c1e713de21a3427e98843572803de43649d4dc30ed43b7318315c5f9c07fa295a4d7daca314d42b877c63cf049403dcf9d9ca099c7a2bc926504b977ad5139ad7ddaea3443e4726268c62606fcfb2033b6bcb14ecdbf83c18434ecd297315aa56f2794d03145b7e4d60ff10912e92f003715a79612fcb1f5409855d6760ca3ea2df22c6b99aa5d2a1b25eaaac158286c103b079bd51c810a078b3f356610ebb247a705f2fac062d76328b823f041d30829903c54a43dd80209311302a06fe9c2f10b8db85c5a4c36f676754d6deb425eae36900581f03de4edf38227e7aa6cfcc2d47a4ad10bf7837ec493a892b7ce8ed707d6e505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0319431d102f4f154c0d6c26669c52157b9ecd33a103b1498bb1e4ac6db5245bb203d69f17f18f715d8b51b112e9b3cd82858e083c21828b7c6e460800a5e33aad09037da5b924acfa93133a58fc24fd7c404a0a3fb1f3fbd5ebd3afe43931660ae0df03a981b4be5e82eef2f5d3a540926d88c64fca7cb8462f7620ed089a18d4fa00860365f23c275d19d10cbb5ba7a8266a27aad06cf79bcc0f8bec863dcdb450483c4100581f036f7427aada1d17cc75f85a8c8d3f1e8c7afc2699d98cc32c03d14eb1b5c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03226d148e6cf40fbb0e0a1f4201388589c81bd6789b7a95550d13954b1585c0b903335c69df45796d3fd14657a2fcf87e7d0605b44fa473fd07daed648a93ec29b203861553b8a3d2696cd6dec12c9d26805af7cfe33675721bcc9bab52c44a59767b03108244dd50955d0d42ffc3d4241ff2cd5506efc59378e7182a3379199081cdcd0377f1cc94390d788f778e9abc25d122f06f86a5bde750d394eb95158c27a8c88f0305f8f75e7f80cf17073894162f08e1afc79d65b452c47796d85efbac61c13db300581e025ba1f0881c3765cdab4b84d7d20b340828dac5bfeef3f4cba15ef7bbe05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0301e36f58d79e973c58d6333e4c15a9d54357b52a2c560ab74013b297505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e032d2f7317c77f9337fb9faadfbaf38b2220fb967651187c715b5c8c47e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e036cef84d732bef714ea0adb4b602e9dea2eba7850b0554a7a7907bbb50048928b0b4491eb4ddd0219800900581e02a95e615330244b354748bcfcbfad8633457f536ecffec7decbdae8d63f4672c73a2bb00000581e0249c669b03a6e82f72916bf5cdedd57d7c7cfa7601eef8a24631c2ef44b48014401eab384000000581e023e9214fb7fdb497b62fe7c176af51c511e58331badaaa87df64518e2f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0292a97fcd4de9c2ea1f6ad5e5766d330a31c6df01698dd8e3ef20e7fe255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c12c4a7e136bde0738cd13453ec43e2a7c7477c7d619a9f22899fa3d655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c0cb00581f03f218ba386554a53d8f5f98dee787c5e6678bb150027a61cf595e2fdb92505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c617af8fb9b62bdb1eff1f090b2246af4c25583e53ae23f26e09e3ad0ee0c6b80219ffff03e2c4c0830a1d9273158498a8fe9a401f77170e3a86eb95c70960f25b1ac57b4e030a500779d4c16d0214671dfe9115cc25279220cddcfca9d7c819fdf4971aaad70219ffff03ea15e62c0e436d052e35a511359053b4d5916192589f2c926a64792888b5e295030aef44e42d967dd913c5b99c4a93912345a945854630bb365457c2e4cf39b39c03ffbee45d95933d183569ed58de393e56969716dd94568bca6e736e87f07f822c035bb0fa263e336ffb84a4fea8117d69a0410d867eb8cb06d8104df0978bf5985b03dc31d8137d9abdbc5040409c3012efa98e90513fc126e7f3e53188e7d2cecac7036296d62cb8143b66a1d1a95e840668e43cdb6c15a72274f6a6f01cfc1fb20bf703816882fd0933ecb6a1974ddf92d634aa910d653560228401fdefc1030388c97a034984d10fee85e494bc53a17b032ee6a8f8d41c9a5a8dad27873c42511d05bf420219ffff0348934b15b99eaf13c5250f752336d6fb8993345f6d44eb7a86e352bcbb201d470219ffff0389c04783905adc49e9114b07e4ed979d47e827648bdacd6d7d19f31059585745031854825d08854929afbd789ac57974d351b19c09c4cae516b44e341df350f48903d1655595038d84f7288f07827e20e2d6fa33e8bd55c27508460ef32f306dae8303361ac274a8b9609257b578e4dc3fa163fd7ffe033cc156d07e3a90838697db1703120ce29f2b558198729eae82fef06629ff5466cc586d63e150949044acdeb197037817932b0f9622c3b9b61b1243d9d72eb5c2e2bbc69c958547b3f77488b0f76003a2fe44394ccac2d4d526d4d555b2e196205f2a191725d10b720335ad503abdf9033fb4a62f3f591e80e595b3a373802badc09417194bcfecc83cf82f9543180d2b03cac3ac2ad715f2b4303a4b0f491b5770f0345ae67d7517619bc2f0f97bdad07d0345ac6c46d08b5348cd1bdd2f291ca2aa7eb913a03c428447c03c520c95310aef030358db319d6e8c2cf850ec2195886e678bcbfcb596f4f992e28173ffc3c8a4f0037d4735cd7262b21f800ed5516be6a25e6f50bd17ec848a2d8d45b6574e8e463f03395d59c6d7233acba9810cebf9887f0daf006301ff079337d849252c45f6dbc00320988122a400f61477df1d24abc11447f6481febf1065d00785281b84c20775b030ef45c09c32347fdd59abe6097cc1ee939322af9f6cbdecc36c63698fd82dc9303800c28e21f2053e0f61b4c9a2968474c3023f64dd8ac008cb9e4e241ad50684b0385987ab8251440898c6b6c9c3691950ca3bc0244fe6f75f3405f5f8a408f6a8f0376965ac98184ae0735f799df4d920e0372165f9d3c98f0ab585977d653c5ac95034a1cebcc94862674c15eba3a7f0a8fc555449b4775a6eead99c417e6fa66cc1103b5f326758f1f17ce11e285a5b203fdfe1f6ffca2ddcfac755acf020bf292b745030d59487a27391a56617c4a7da48822bd16b57f5f882c393ef9790114d1c58f1203023dcd9ee49c1563a0257425e72e4008c7d9c3c522c577ef6754fed5a258323e03aabff8afae7bbb8518ad90fa27d09949e4c7fecc3270fa4c747054300c5e316803fa42aad7b15d6d11eadbc7eb15dbd4d2fb35b658e531f026ae02fd54314e36f603e3c9a332b20c96a2ca2a7547b8ceda085e2f64cd7a9d41813b32f45da5de4d3203138ed42f68459d89e7566321cbc5c933f1daf22a0a230f4c1536a1267fb178c3038d30a4a7362161311aa15ed932cb85478373becbc3f273336f5fbcc9a5610b1903bdfe26133d0bebbea5b741e93ce6495d085b1c70ca6fa5290fe8549ad77244c80381565e82d24d473615b8dd19e84b484775cb628ac39f5a9389d40bd2945ae54e035686b9c790f94f0299f5947476ce5e86b6ddaa63f91441be306872b37ad13cc3034cce4282c5bb922ee7cd826a002e40f59760364837a4c2927b185594e45cc1ac0332d361fc51da352f0ef8ad8752c565fade5a5a8784614c6e6ab6a4fbc131c5a50302325ed5207c523e28ee0bb61e3571b33052830a016ddfabcd8f3f8854d3ca9103d63a2dfdd7d6843bc07f8ff3583cd193991099bd078f33f68a07bf77025d5f2903ea4fb828cc7df5b2859ad7615e64a2b51933c4ffe611f2eb2a991abc9a4b930c03f603344e828ff1989b017051377b024fca8e468083c9a84b970e3546f417581c03912f3af8cd84d62076743b189c7deb0a13bd3c8e8d24be86b09e6968afadf49e03d8f84b83332e48ad175452982b6fd450565a6a629347e3cf4fc4cfa93d597ef803647965599a11864f282cf146aa646672944e93698bd380ba0fb3dbe18bcff8d000581e02aa751d2942ae858b817ccfeb59566840eb4726669f491ae7d8ebadaffe46221b262dd80000581e028f332911fdacbda46d6832b1707d125514b343f6e798896024087b0c205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ad4c21a767eda5b20a0c8b959a7bd51c58cab64d3ca11acbf1dd0624ef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cc94798e7bdf2790cec79e819e0090fafe127cffe4f52e3f76111f1299486ce4eb2514608b4f00581e02e7f17351be8102794fe3ea23a1829528715469b3859634dc1ca4b6743d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021995420368c120bc43b6a65acc4214be91e6ad698846b7b5eeafac03956ae02a73699cf503fcfe0990b0a11905d05faaf869af920a86f0ebd125cf40753be168b12905472b03cd18a46f9506f76f8bd4d0e5b8d9883df5586ada1bac1349d33aaddd7c5c846203d11f94e1bc5f8dac25f5c881d1c9b21e60fb761d21228af01b8f453ae6520b100363728cc1ab9920c1227be2f898909e990e7658a468bbd30486c44fc9408cf1cc0376362b4562b4f7fa290a7681f52d472fb4dc6cf760aac5ade7c94692a39a4f8a03bae31e91f417c97fe6fbc6da47743fb9614c062de98deaea1cb81dbae15894b503013c5078b47fb0de8cae649af9d298c02e9dc25c0390231e16cbf81a9c33f1ee03fea100c6fb2ef8691d84415e9afa81004e2f02265696924a2b5bb050444e78190219ffff034e45f0069f1f5e3d7589775cff216fda1f366ce644a3741af1ca967e02ddfb260219ffff0368bd7498f3093d2fb1486ff138506389cd9d3c393d336e369d77bce0e4d9125f0319d188dac77d882fe3700f098c56e60abc002588561941597bd485fb76dfa26e0377b7d516f8ca8887f3f26114f830602a44a122bbe78d2ba47a44a2a09397632903a534a81794408b65fd2cf25e2f7cfe19bbf15f5f17e7046a530502889cadef780219ffff037925663c1a344cc59f4fb8ff151f41a47977deb1332f4533ff9c2efd8e9d31cb036fff43401f307d9d9deccb98013002ad6d56261693a1114583250c7780fa443003d6dd01dae403071419cd4f7d72a3b0e00236456667ef4908b61b2098163d70b403a03f65ebf1bd035789686aaa2ece3a0c33f086eb1f6d3dac9ce1f12acccbc6bc03bd7d5ac863333741062cdd8da18706b8b1e3163b34e709e3c0225a5be58c8a15039c749db34a32b4650418bf9437da11d952187b3a0a3390ad74705baf71f92ae003261f6fe9f2e1f727f8f135bdd220ae6cbaaf3ece2ce15e62b5aa0cae5b828f390389fbcd19ea1754dcc42ed573dfcc2067d90d4e54aebaed3881595715aa47371703c99f3bea8df0d196bf1e6440c77c93dbb0252fa9c4979b186e52b1033aa35b80031ab3889ddb8708578838ce297c17b99b137a9bd515fda90c596cf1f323b26d4003022523ce81c20714ce1187f0d5c18beb8511d27908c71a03770444f6f559ef490325350931e7b60926b17ed605c80592f22bc73f8d88f43f19d4408b7b6f1372780219ffff03cc6275d5a1cf24976ef51f64a9daa386f2a5dd4e19e66604c2360ed0ca885a5503733b14bd6ee1e9fc788c87d764165db027574fc104b9d5372926ac9942d7ce36030b4325b60b37d5a1b1363c8c53ef5f453df82ff19cb5d8a6772212731c15461a03dd30c1cb2b8f681c60ad21cdc1edcf21b6f194bfc9728a065674194516af41630367a34bd572e09e68c20b518d4071dd7e191a798e3c81931e34fb68914656950603b37cd690b925a31e3eb14c6d252a78a19b9bd7bab3e6779cb6967f8262c5536c03d3ffa2e001edf1ca4b232e8896b3cd8140c80ddd99ecabd74fc7c4babd696b5f037f2ed8f79fde90813314f9a05b986d4f39f9ffd34fb6dac2465c9be57eb1cf2603948791b65deb8242a36ba346eeb9acde968f4e43f2e07c14e5494e1b8b9b3619032a60935cfba406bab17a67a103cf458700f83819ab4da64267f0fd5a0ae1b6f9031f6181976a1cf0c100f6c3b648eae53380605d3037189ee9cce454e9527d38ff03eafdc2bd120397d5b280eae2241ea9527f11ffc835dec9d0fd019e0b483268f803888682cb1d206ae4e12aa0e3c1079a0a061e14f998625f97131a019a8c7bf83603f016f91d202f89e2e7b19eb33762cc54dc521a89953931d45e15fc3668beb1af03d35d8327746a6066ec17b28cc71b212a699292ecb4deeb878d4a43a2333072f403829db624900659d648f96073eca5238d4dbcbdb08a3772d0c33c19a72d50e35303bbd42f79969cc66fbb1e980acb4721eeca4bd56a226f972fd3ac0e341ac8e7b8037e4c1e1ba2dc4b60cfea527642132c0543a7e3a70070d42138ffda15994bf070037cb332298c3d2cd403a65abe9a608ba9cb827046ae9b301ff428e360ac3538b603043355d4eb15da2f523f1229d6aa239e80b2931108404007149e9583df097972038939b82a7a6535d6c3d02b359bf59a8613d935020f4845133279cbbe84ac7f6003891dc5ce015979762cfa844c7803cf05ad253635c5db49c69b8b81d4af312f76035a1a3e40b5ffc335c914ddfb05a05b0ea7efbddb7f2122ef07d5bc70b444e0f0034df06ca2011ea5159c5ccf6acba5abf438713702cfd22b8cfb66faf89f550a1303c60f2c3acf9769d1ada019c32f79c5ed807d3b4bc43ccf9f19699341ed1aa4d303e93262f8ad5035eeef9ab1f4205ee5459ca8c6f03132f5fd46c1c8fbee5e821f03b04193f82ed3e46d5ba6d719b9e4cd25332b65ab0609c16d47a655614e5300de034f2f0fb8745c183bb61ee1b6da1b261eee6943e4c1f768ded2a6002eb6b52ee803c311543859b884bd36f93f699a9f00cc845cb241b5b6320faffaca645695d61103b5b8ab144dccbaadcf81df22c4367878970ebc1f47f0bd46484f07066aabb10300581f030b152b91eef7c7f6f99d5a1a7856c862e088efd599fed03e711ebbf8ea80475ea8138e89a6200343d9aea046f63d09cf757ce7f76e4bfe96ecdef50c64eaf989889f66f5dcf6d9030665227d354e4b58aa78b203133a2303bfa06e40b991609f6d36173e1b1b155a038d98dea62e6f9d696a67d282780c11b81880946fefaebca861ce02529d1cbc2b034e8ed3acbbbe78a3b8e27a46587e9628224e3f6582ac8648aa9f014d39231ef603d0d6177aa8698ad24b1913616dc18c13f67120eca250cff6510815a8340c4f2803daff8476daf67f10cfd41e0b4d4db51dbfde14c065f277722f530378c2f324b900581d022a1e34d72db498e4638a83f823581777f4fd4eeb81b3bb9517d3d0f4481a0ce48769dbdff200581d02a39e02329de2638d5a2c976adbfcbfb31fd3b1ceb368f2aad217b3f35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219048001410100581e024456a117a782861622dc04f36a4f6b00440d2a1674cade0d00f67182f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02059de768331bd21006eb35d7aa8ce3afb2ac9351638629013b590279b941010219808103e1eff0e20b45cc8fb2e31282bb5bc1a54c3f36b31ffb76862eacda1e85454869034362073ab3b2724c5ff643f5455a0fbec1d0241a229c0a3bb71e12a793cd075b0219ffff03dfa3e440ed356a72c2cea68f7eaacc52ad84ce2c495abeef90dfc44280ebf401031d403e9ebba858efce254d2d1ec98afcc77296f4c484dbc4246d13c9750effaf03db8f0aa7d52b0376ca134456da9c6eb9e0cd386120722ec549d898b0fd56af4b03635dca055624cc68f5933df3544b746584e761f880c0a2f12d8923f58216830d03bc009fe7dcf06946990d2b16fe3dcb6f194605c1d8208de677ffea55369d4638034c58699a16f374be091ea15b6c7354c47a1b17db08e90a4de9c58af5ddceda3e035e17e8a86d4c4963c8828dde1eb7d272e4cb9ae476b4c4f3ca8de473cccd856e03c6de533fa8e803d1591b625dcd24e28089c9932bcc8e0a07b86104d0d9017ccc03f04b8ea4ce62e9765e39bf6075c4ccc365e83eb83c123145c50c297ea0e6aea503770c96dba5fe73e8d9a09da9f11216229e6eb1f1325718e64af8fe1dcc3490880219ffff037900e173711d64a50daedc593adb20834305ccb174bad6a1b30f5f6f9ebbc2350330d8ded446f35e8160bd87c680597f613428871c364a9c4c8f79ec3ebcf94689034cc075a50b8634b21ee37995e8fba8475caa1c4bb622b5f99837cff1b9b25acc03b3b4cd22dd6b240a7f0b3424c70555224b70b0d80f953c8f4b8251e697626bfb0383983ebc17e853a23b7302c8ae07592e915496e509e39ab801e8e9fdf1fe3421034cb2e323a259b2540399a985e0c1fb1afbde275008c492d2e33b6d7e6a931661036ab21ab6e0101e876f74d1537d7dc8f92974c6e1c6a4df7dc1f17790413c416b03b39189ac497a44c7337766f647c713b9403af807804b88e7b12fa5371b154c1803d449bd68ee60693b15f6aa9fbb7733c92b169b8c30f36d54dc676543313c13d90219ffff0354476fa2eb40443365ba6aaebd43a23a76e1e61707a55553e3a82bd5fc97b8470342c0d24898404150da8c4eedf15e53b36304f741e6b3e28908ad460ece3d7e0e033dfcce0671f32ae060937fa37287522e901950d5b290697634baaa8daa446d0803aa199fd7857b1c92eccf8c8f55602517ace85bf49185dd130c2e33cad6e1bfe4037f98df3464b3c137c8ce6ea27667732c0050fbdfe77f38e83bf73fd79edcdb17030213ceb97ded2f6aa5e3acb882fd07df89766e0f6e1bc737f68b9f5f0545faed03ee265daeeefe96f4cc40c17e1bc287d0285d505c6215e88b78fcce92ae6d1b5b0307864a3a39f254442fdb8497805fb3feff8ea8fb498a9057825908f39acf919803bf1a2dc61745941aa7fb9f585d96a4280fa62a5fcf907d75eab09ba2924c3b87030410d4c9be9ade62dde511e95525f60a19d28faaddefc03bc36b8686ad34abfe03b257ed99dbbe821871e505d69803e932c17c1aae58e8ba7d99eba206f9e0edaa03c7daa178a4ee51831d298d6da3bee598ad9947afa192005e0c9d6e982a95e8c5030cb25a034e9f760b6a7f679cfba3f9b8d15d26e0eb5a24b7df2dbd2f611f1b44038a0775258a991250298e085805aee827fc61309f11d3ac34d2bbe9119a56aadb031a7810bfa0fb258d6a2174f10337635d10d48361e1ea9f6e468570669b4fc26a03240dc452bc4706b486ebca8996e836e69c1097182837a84ca0c2efa23abf191800581e02c7147a0789022c899476a7a616ade1e383a45e825273c59ffb1928fa895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0270bb6130920b7e3de64233e96ac2464cf45ed42ab19fdfcab7c1d0289c4810879dcb019bd68e00581e02a08e16a4f7ac34f62963570b7d51d49022c4f8338b9f0212688c57e14448036c9fff493fde700219a080037d162c546197069408538bda04ffad292b3762d155602039db5d77baad6d65e2031c098c61b2e837499325f1e316bdd1a94c007db2689295cd9aeddc6f2d0a7bfe00581f0330d38e63fc14f140caad1f74146c8c8faa25444c1f110c879c27b50513a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037e7e48d080e5aec741eefcd4bf881aff6f6f425c4d42804e57957f3b24a1a8fc0319b3bb329b7ef8afe95e5dcdca66e8d6bc540bd40f658556f0edf4ff366a20d003fe95a34d049d09da2b72fc7ccef5ace5de1c38ef168d9b0db5cc6e59e2cfa1a900581f038bea4c07bf7078595129aa732ba195f03bb29282dc0a09794a354ca027304648cd1036cd720343956a25a5fabbb70c98609b15389311acfc68ca7b07064c6a076778fecd8735031cabf3d9b30a39efe0e72f794998b3cca6cb65f660f6df3eb8e6170e9ab0c867031af490e71a45f88b0aa47604a406ef139496c35c97ff6a8a4b72fce61f5ee8fd00581f0353ea2eca8dea0356b65e5c390ed2fca04a84587a33f7622cbf8694ca18e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030391188753556e4c38006d8d38560940879fdd51e737dc0325dcf344746199fb0219ffff03d8d2550526966798c174dffcadcd88b42fcc886f7ba9f9ff8345f30de6ba45f103a903dfd40cdffb120fca1d4c7b418e30c2e2bc6ed6dd81b4aa4296fd55a8db6e034eb3627aa39fc8daffbda020561bdea7dfaa707661a1294cdad2728fa219707d037bed3e434758a36ced0d118ea5906b4a431f76ea353b698042b68a9e876c9cda03a3a4eac738433912c67f6504b4c1ca668121749cf56474ddf47294b5788009b403ababb01d83f20e4316fccff1e39aaae01a90b7aa8071afeebbf9ef1689b063a4031cb164208893f950d74e06b7adf29794b5e5cf65d965b7a87f40b685b227973203fd62692b3db8d4582e8dca1a0ec9a2469cb6af27f02eda61248b440ab1f85e0f031decb3b98f0bb33ad91b6fb1682e25dc8df0c00db468b15f2de8994f542f63d50361f37042a2587386fbb2d85b5e15e11433817f00b86e0d1803cf02849696221003eae59500f8201c7c647a4226f03796e11ebef1aba03a5b42a4291beff08c941303939ede8e42183c50c236cf0bd6fb88bd21fedbe349bf269ee93002c7796042b10348612e053a12209c11f6bd107a89a4328e3d7afb809cb305e86bbadde3e7b4a80338e1cd81ba6d69ea881017ba289154ae82c0ca5d74b403d9c6c1486326d3973e03ed8d3f78ce1b1bcdf71c5d193092c7a454b4b83f54f48bd92ba2ddbdf255e1620219ffff03410e12b3e537433a995f528fc7dde618a2ff37052b2d0368272b398b0daaa27e036145c12b876706ea099b3ca16815903471ab9194dea3861fa0c91e5181511eee0219ffff037e8e5c2b9fa2f31d015c14470659d1821c79d15c9386b0e924d3737cf9c286430219ffff0348895677416516ea11a8bbc1b8898fbfe1c9feeb9a607deae8e64921da201e790341e7bcc329711efaef00ce10ad720c35fb7bf215b70b1478dc098fb2155c7cd803e8659f0f29aa240c6e53d039d62e2c0fb36d9048780c540e5d8f0c7725f1fcc30333c0c2610886b5e5c4252b28f1037638ff69dfdcaf3fa2dbeea8bd98779b729c031390def807310d2bce05d17a4aad9e328f366fed3ce21cb1f0bea605aaddd78503dccd50d6967df0276628d99b3b38899174936bd8b950948b271ef0a9da5cc73f036c2b157d9e7079bd5d7b9bf55c32d17f4e26232f0b76ad36e94a4a327a39bbb9036b97493a62728a111362ef972086d7df94cd04c7f0aeed3dfc4acfe83e43f8200341fd07d8c8d0341d98555a2879d60efec9e93313c4659c9434a5e1fc17b8380103757a1f087d42d814c121698cf037cd7c30b68773f17bb5cef3c212101d12a63b03432ec5dcca81020a377a3415686bed745a27edff56cb516b00d8552dfa2c715103e9c16c0858a0e7a281cd85f620ddd84328f89c193a7ab8d14541dd9c9c104d3100581f034b2c64d372e60b3deb584c7a735e688064d5472dba43445fe883dc3a9d90423c500367fb8f58870b4d6c24034690ffae360e87fcaefe9c1c1ce7c256d06a488fe81803d9289f911d1bc2e8264e4e3e40e65d8d43a6d44f1fde2ba30b433fe83d9138f003c9f36cea93339355c5b16bc3ed108f851b829cdb5d3cb66065790bfcbaa5c1f603a29ceb75dbdb55aa60bec7a236d8e85f6f9673bf2013dfb6b1b141fdd787a687034db86cec4b566b614c14d223e622296d8c19b1d2077ba14c9457a7d8f5adc4a800581f034d1c8bfa4a97445926fd822a2ead1d6ec09cd234c58e3916929781163fd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036d6b75e482c8186329f886bc9c645571d31fc02c6ff4ab4ff4943c806915dc5903cdd938d4ed85d9bcb934431c98ab38acc2c9cf9d4652d7a3a34123d66e1644e700581e0270028ead38d9fd7f9171a618887d4f8576de72527b089b7a129b7affd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023ef8cdd718d82e58f2d37179323158c100e8815fb83d9a09270be655085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026659b8c90a58f0c6881882d50aa05277ce0d585fcf7750f0bdec8c7d155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b219247b01c8162aa97ca9dad7fe28fe9def6ea389cb95b204325054d74a04d671e9d45d09a23fbc021941b003c3e19b99041442fcb660bfb63d0f6232deabddc898f3f854e97237255ac9e1b00219ffff038ea856e54df40c0cf75d4390e9dcea86288e58c991b4d297bd0033b604282be50391834a439aeb5c9679ffc45e2f172c0d102f20af7fee07142a0b067ae33db38103073400b3269663420f0e8b214cf16aae51b06b862c85363385e76ed82e9a87e203c93cdc1af3de19a8906c3d34f1eda7ef0e9aec45740d69352090a917cc3e4fee03f339543a04a3242c1bc69790d6d9b01fe058d86b99a269e3e75445006a29fc0c03111278dfd3b7f44ef56e9a7bbb3c0897b625a8803d08e2782c845ba9f531e6ee031ad3787fbc3fa4e0267028febd2cb68693773d00743a4360420df43313a9d03b035387016d74e663e4fd5d3807733efcda248d1071325900ea29ab6777ca6fde27038790101908b6a8d44859e1c03555b4e88614d73a96499c64c354c1b2f527a4fc035508d6416b45e7ae100be067f3055e3c62026053303a8719531ae6b0c779ce0b0315c70bcfbe0deedb4fe9bf8c1f9d0589a44fed484c98465e20f82e3f4171ded103bf42f9654b359386c90bfa28621de2f12f5d07a8f6ff2e15b4f8b45ddce1833803f4aa3e01925a76b4e6a008cc2c9621d508e015aeb90adc9ee8574190d3bdb7e20219ffff03a924c3f66432a20af24e2a6d6845994af7767d99e139a7ea7dc8554ef9f9622b03e20f06bdce293ca6f61115267c074aa28bcb609fa315397d772ff827bf73c525038c1afacaf68b977971cfc08f1598baea72165f20742bf8862553bddae85bf04c030578fc023b41e359a204d256938176c92e24b0f8340a5e32b10ce93171147ad40376fd0c507641276b508c167f55b47e55680ed62fb8387eadf9564109791a66c40331ef7238abaad5d8fe71aca593ee4da0dee4a9023f3a2f61e80abfd899b292ce033dee5399f5b2ea924dba5f32bd54b71657cbb0f28176b8f90dceeaf3b0825f78036a9976cf65baef66069f2a9c6573517bd2daf4ffd6cda394ecfb9c44e9d31bbc03e68a768702b60934d9e992cd00936bd17734c3453dcb4e4c4103c8c1d62bf756032b4b79f8a4f153ddf6c48af50f8ef7151ede2b5b9dc1459104973c9d31a2e220032c8a99cbcbf16c939ce1e9058f3c38ff840ef13c5e84425162a09142d6b08ad6038ed4a4c58731ec584a9bd2bd0b55713a1f6ba8ffae2c28fe284e45e7f6078258037e792507da80afb9cb1966c4b4891249a5754478922d3240ed06118ecfac00b003598f7c80a3d8b0b871af7685dfbefc4fa7dc03cd9273cbadda5b2d3ac662622b03f135755931ea2f2555953576630162004de00fecdbb9be11a2847b050c4f61010219ffff032d1d23c62c366521cf551722d186d8063101a32f89e63e50739eda96aa5a4b80037145708b9c31061f6540c9c800cf392ac738dd8540115f3d969229d8ec2f19b7036516cd98c967fe090235097820b53a8510986da56aebb419f8722a07285536bc0392dc6b1b71f2f6d107d2330fc84631f05e7cadfdc4463169dc0aaf6d58ef075f0345b5ad6becf99101e9138e6c884250cc2a7a44ea9165e9ef57a6f4038c8e65d7030a4ba9c187a3de63e7241e3afedaba5b5607ae1fe6876d4fbee40700c6013a6f03a663f3c91c0a06a428b375b8f5b71df40dbb41e48e6296a2770c1b68cc8c106103c52ac0ab6cba6b9a5c5905b80c9fc22b20af8e85aa53d475cbed509af689b95a030594a02c0e4fc4363f5ee918a0898b5c0abe8ffa23418291ee6734c8c3e22dbb031233fcbbd7468c35ec383549febab3a48960f014541b5b4fb1df9abbbdd283d6034d6bb5bfab50cce970a530f8ea83472024829f1740cfcf2825ca85c4a016b0ef034a09b27695f4b7e899cb1273b8e2df566460341bd65520985d92ebc809a4228f0219ffff03460b8107956600a9c69d0dd79b940fdc26f04eb0704f34bdd29024be35311b7703eadc1c47322f3a478c049d0abe2edec04308bff53e9117ef9fafa8e39f5221ef0370e77609739ef27f86d577a385703b83cb1b4a0026988647656903d9c10adc9103dc3b72c558b399b9b2a5a50db7eff99f466a23611d3ea0c7b8e1301d2f4f19ad038c4f6839c54c21d5003a77300c5167380f455a1b14aef6c251aaba47dd430bdc03378cf98600ef88a9562b030e5c2963e4b0c9c4ba2409e86214c638e86a2ecf9603718b723601a055cf3f8161fa1d6089483ed131826849ce63158ca9b50ee249ce03375c270fe698b94b40d71429c5777f4a2778a8a0ebdfc3f74da4c25752c1e953035a00ad6a19523f39fa41e9f82605b1ecb26a615007a3887eb3b660948c938e160306cd16ba555ae1a531a57bdb595b30cca5c215079ca4dd9d312e646994c9e6bc0363ee4e9cd78d9858555b3ecd0db9a64264c4b72196a82db5c2e611eccfa0fea5037108ceba972475e937951839e0240061df784f04e2986b4e62b6f7a0d8868ba303802a00c8be072236f5ef41677419ab16ebdadd2adbc371763ad4bda18ddb915003b8b0a38c5cc0ca4f07f80dae3d66289b1168978674268767d2fbfc83435b51d80311d98c4d19a15aa2b84fd08f4a390ea4cf882fc128d234fd0e7f8a4b22d4713303f3988637473cb24aa2aa0821daf55dccbcb0f529975525538595cf92cdd7930603470ed35dc8514ca8dde794a1964b0a0591dabb56ad7fba451f9885e4700a3d7503eaf7638513e790e643015de695510f1dea0b8461ad8f5aaa660cab92d63ea45103c3b357662b9a2f68dccf5847c22e1d9eacd996a3e652aa456a1555ef1322eb6c030084babec65d302bb566bed91104546585cb799a178fa33488b34895029caba30308282e226b5860f010e6d07888740d84593386bf762a5122a8053b5fe7eabb2f03fae2bf7a45a62bfb6b73a1696e2c1875ad15a044e2c0f9eac4de5c6bc808b70303fc7e3ef1cfde6a680dc08f851710255b4bd910ced4c9571612364209a4b5b35801410f03c04151e22172a02f3994ddf2adf7ac75f363a4530f5e4ce2284c0bc24c7855bc03fd8616a39ffab29ed12fea6ec318c723e2f3fe975c2ffcefb5091484ef123a390356a91a12d2c3161686015921d6740560520db69ee0c8975b32aa0429875efa1500581e02b9c899cbc8d27e98f25813a5f3a94d25566496a4363b9d2796a5d5f1ac5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0248d06926f3536b2f78aa61f4c65e4a1ac60560c237fc1946e4edbe69225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0264d3d3d247e215ffac0b4523255de41efa0d9b367ff2a2d74d4c0ddb924602583b5c8aec00581e02d5ea7fbbc0a0b29210188deebf2a0870d3315d08fbc4d700ed556c9398472386f26fc100000219201303df9dec1696fcd71c498e7e965bd196ffaed8434f189f18d7daac08511841167100581f03e091a2b4b63fd2e06b9f9a632b6eca438156a3b57d8df78f45d074fd74f04641097079d91c00581f0327f6ea78e840c909d2cca44a3f98f1680170fe43d0882128eee3116a26605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bc607a5416f84d99e8d263a3a8276d681514a33f26ad3007eac795620794cf1b03c6df7523717d317c72556a25f20ad9dc8e149544244a4e05095aa9e3161cd7dc03af73a8342aa41dbf7afce758326a3351f5844e5ab7bce8152a196023bea0735e034c41f1af52adc6cd3d97e1fc122fcae6730923d821b91c0ffc318f5cdea0df010219ffef0395bdbe8b48e283e8cf93dfc53f038e9077365bc089f7901eec3659dea5678b3c033d800b6e9bbd16a3daea40e691648934de3785c506e0ed9451db5f9253f615b7033df2ac579e9979ba47453117013c327699e201d2d07f29439add69647784746f035f2069e9e49dd9ba8b7ae6a250aae435721da42d1f9824fb68f2939d0692f8b903ae4703482f7c55078ab2049e463925b867a6438a7453b80caf240f24c590a5930371bfe6178d19cd6d8b1b7ac2dbe5d5a129999ca55e0b36c6564aa6bc40ac912d03576065fe41aaad51f62645114d720d3b137523b4599b8110d559ca9bb477f472039bc70b06ebffe41b889b6e36368e496dce03d899fd0b64485fe80c09203f91000312e3d86d5c521510d09ea9f1f4cbcbac7bd72a2260861eaf5b6f5d2b645e76e4036bab120d8d423629e3df9a05f1c224e0924752358b9b21ef042d4b3bbc668e7503e4950becdf875ace3f51181ffa7517b5852fa16d017c983cedd55b590545c09d0324fee56055009ed0c12000b3289de4a6837116efdcf374aca2f12853a5c2daf30312000331af2fbf375aad88951bf6d44859e53b4f6c3920e0d8fcb45ea8f6d0d7032fc4a9749ab9afb7e027a5ce05662acd35a3f1fa9a35751d6799e61d65cfe5310219ffff030bb18f59d92b7859b02e0ce9a9bac8d581f87e6b18a46e433b710ddfd7096ba103ba452be15f07daf63e7f7d171f7efd5e77fc6b8f4045ba75e5c3e38b46537f4f0219ffff030292e938808c94e3948b6f6b0e408736a1d719f049d64dcf023d58cd564debfe03f0ba748b7aebf0f1591c7976759caed7d6bf4d57f257cc74a2ec9618e7879cf30327e0188fdd6d8f9061d0ac866a7690855b11c3a5d6df05e8108e40e6165e7f1303ae722dde3e1493fbd35b26114be51dd1f9984e7589de31905768a9bb09a895f6039baa815ac60f562fcfe5f339eef3c1f1c632c32d03c94d0675b53449e2bdf2880335721b7e877e87abd7253f2b9482211e0e172048ccffb3ff40d21238e2461acb03e1020466e0f757ad3c5b360603437d2538629a056454eab08ca4140c6ed505c703dde60c5987a77e1e2683837e5c3460cf0958b82c5b1cf75baf31554d7746548c031eae9d8a152cc883cec30f4ff7b137ade919cc1ece7acec24ba90b0036d2b3770301dbc256136aa7b67928440941067e609ad6d0eeac252c70e3a14ccfc099ff340219ffff0378f7594c50f6597727fa297a07be2653baf2d58f2323b7ad870561430cb76e0903b3ccfaa6686d7017ffdf1bcff96b59d6eccda77ed42d02e9ee99c3af9c61028703759df184ef6b0c62be3e64be574200e05f6e5d86560ef4fee520a29844fe318303e6f36ccd758dd9cb984856c94526f31be76d1c666b1ab31da5d26b6fe2d2600c03e17b2d1bf4032a66c9f80c4598619355b691138869d42ec77d9f2ed6353eaa8f0338ebdab00d328c0d7736345ff3ac28337ab309b649ccaadd1ab790a401da617603c39115dc072a40818d0442f844891cc0fb203eec2af848226d6957f45ec40b140309f103262bded39db0c4960929141f2fb90d549fe0329040f0b59c6643175d7e0311a73d5463c79d3d46bdf6dd66dbc3d680e992c62721d4d61fc3d0fbf1f618e50333d7146d760dd04a91598cc8710115fe6788171cad797b82d81e92803e86aa6003f00ec633c2ef13537b0e2fcfa5bfeb6fcbb8b6d3316f9dedc30af6492169c288037e8062ef64c85c3ae863235d203235c841eff285f5e0ae5de6721a6a8e968f01038e996a520943b148d34edb14815496cd1b07d5f43c3543fb0a5c9ea5cb173c2003957aa423115ecde6a45e4b26e5978731f01fa00a5ee8f2ce669158275d501939035b70a34ef300c73b28276d778d54113697dd2f73365e77c287a3b6a86b3a9e6203d4def8f38374f0c80f600157c67257161b627eeaae884ef2c60fe3ae53e6194f038c398a0c41b9218a015d54bf7bd78ec3a80d8ead82559ae3710fe4ddfaf6616f032d9b7daa67e695afdfd5ffd21e2ccbdc29b00348c28f03077e10cde7ba11cde4038f669f4fac88afc6ea1baa9f43f0e7cfea6fb742a7644ada66613e99e3825ae3038c3b70cfd2c98c24d7c030cbc35eb02f6155aa7d149470a1cf8a7dbc968c0c9c03b2b363e79c648e13a9659e5210c0726e8f998b3eb4ac4798396d7d7ff005269d039ba38f61895dbbc90d5c18134729ce05c69bfaf7968c2cfaf38fe63ffd113f2e03739b3f99dc008d2228cd053b3708a71b3f6d4fedb950e69b26b640cb4e2d651d0389cb682f051ff7a5e01dbcb05af968aab32c89800778258e97963cb07a10a3b003ef7f4849aaddd8735c0028c66bac7058db41f0a805e6b1de4096950a236526dd034062a675e7c2dcd15d4930223046d54987d407116d0083a3be73d8fd2bfff28103f1a4f09653bae53d394ba374a6605d8aec25c77e17efcca846375e9ea18b1926035881587ffb3a0e01710e2e6881fc5a34e4ea4c86533c354098fac495459cb9a603ca80b505aa62463c9182cfa3e9f0c28292112664d8fd3ea753896c79f6626d4203ef540ba75184e69b0cc004d495f23b89ee474939fee3f25b105c5b04f7a2127a036b0bd3c41610c77409e80cc45c7aabb146a5bf17499e196c111be0face196a8703c83fe45ca5c6bbfae8e8f08f2dd2764fbc69afa3add4f1982b3e1b746963a21603cc7b26e623070ec97b3e645d4a4e32258bff6b0597b13923dba3450501a1e1ba03a72571c1a7548f7e4d279cb5673acc2ce560f0e49b4474e6fc250813a33df499034a589c1ff7c954c05f7551736df580c4e5c1813679fef8b09e13bc2028e6826b037c522072578d99241a8cc402e952bd4bf4e70dcf7f7a30d8eace2f084eac40e40370b6a8b6bd75d2132947f3e05baeabe14238a4ed553307e98f48e69b8e81a82200581e023c8e0285cf1900e405e4bd465e219a261ce68dfc8bb46bae3a7ec61bb25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a8075e9efe61170e277642bc016106cb05fbbf530bb940c05351b2d9e95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02030340c3eaa78234b5a8d7b6984550b7aef4dcddf380f80fd41bdd8f57c7a34bccb903f066e73a5ab76f356582aeb52015e96dda876e378db9b82a07ee3c11c92585220342599fdb9b56cfcf70c3a0af8e644d8b32935d475f77150d74900ccb8110ba760307c244a0d9cd3dcf5742468050b60a7fd532b1de2fa60f542f31efeb01d77d350361d9e735c3026a7766ebf912d3aebee68b957be15a2ca91ef96781cd527d0a320219ffbf034cbbc0f85695cfacc3e746c0d3c448e746fd410c73efd2df67252acc9815a97003335be98874939f17502404c12fa25e1491be3398c5109fae930e2ed0776b8c65039a46c6f3750758a94b903ebc0e2f1fb2aebe90cedc7239078745476cc36f4aaf031d383193ae50cc33165af736bca5744a9c0332706d912ea1002211853cffbb750219ffff0323dd4af0add6fca7acfb323e16be1c572e9377ad7772e1d40c9551914012e63803014fb94630ba0ac447c09091633422f8e4be55942f31d3903d13a01f4d09ca570348c84dfaf54ee090897c37fff0ff89b6bdd7b351c6aa1a2669496e589bec43990358f085928c05a9013004526fb9724517ea61e2d7e6c3358fb138ce3a91bbd32f03c26418b2df01e76adf9328ec71c3103b9a73283852c0ea4d6fba7f95bdaa3a42032669da92223b262b55858d142ccb8bfa9bdbe28087b85e9f4dd82d93d7babfab0219ffff0361a9d95143264d77a28682c43ab0f604d04e64bdc2a4926e34321a57591452db03b658d1304c092f2763384a77039b677778560ba456fb98b73be8819e3630efea03c2d99ad1032009f2e3bfd21dd666a2764803b3bec755dbb528a931eefc9bb3e0034b0aa3b6bfb5b79c4f4cce4fa038642a3eaab67659a5166377ce10aa17ba04eb032def192041b0b61907b0f7de46016ce6880f642cc5f9dbc0af3d37acfa9ab82603109e02f812a055e84fa9fa007addec2de6fc4f8e3cc3e6dcd816b2984943a63e0376128f9b6d4edd2045d2b8be90accd625f9717161d313fe444b4d7e0e862e54f0303af19af8483f0d78a21fdebc68a9b7dc413c66985fd0800c5a66bfaabdf4d440219ffff036b3d71c6766011c9cf957a4b4bc82037930a894f6285fe344586fc300a4b87b103f7f9b644dfeb110bfed9368de4cb4dd99b306742b6d80df44bdbd55978a5fe3d031bfbfc2466d347bd82e44d1c45a51eff69eb5c955c1e16fb99f21f95abeec3680336498192c0617aee66e529df16118c3df59cc95e153acf3ad0957cbf46e164850219ffff05581d02a65bd257638cf8cf09b8238888947cc3c0bea2aa2cc3f1c4ac7a30020f014b028dd64a11b84a15281fdf190c34021920020219702b0307134903f4a3fc60a027293a65e45512f0ec24091d5202024098c18f1344064103cf0d9d5167dc306e9c588bd9bc1f554dcc8e8e5e51bfef531e7b1dec1ff48677031c3b349a7ee937b2b4babc92d591b01f6c8296a446b23ca1e9686aedfeac1f5503c55b2981a6fe08260cb6a076c76858d56aafdf255d0a12a2c50abe35d468c7e7035fc60798e8fac6ae35e11c4236223d5067c6564cdb37c8a57c767fc5b7db8968033909e6c87be78bf54588e521ebdded1d467e8104d18958f7dd079010ee22155703e7aef0d8c9d7ac18853b8799630d1f904cbd62db280abf5396a568b84bf92b460219ffff03354b3281fa942b76ace66c6ee41878fee419cda1ae02936da5ca105b3c6004610219ffff03924da55ffa15305d6893846b17b0a47814a7938f68af06aedc437a2f242754870326c16b16c25cba7c92bcd2e9b56bb605430d8fe5481203e15b8595d1a0bee2650316fdb500d03cf52523760e0fd5cbc12639496fc0c413f48a480e717dbd2c432a034fe668ee86bcbcc4e3f135c41627919a93f7a85a85909a3931b6d33b0f813fd1037c0229cdf04ff808953e4b53012610248043fe56aa742d58b2dad85f893befd903966c29c92fac61bee4555ab1ce3a2a018667b75d3079af6dbe9e2e806f5457590219ffff031a304bc48b1174470818d4ee0b9c8fdf163ad7049b79b1131b1f1dfabca37db40391d5dcea1fe0938aa767940bffb1542b77f6a2c89ec4cd28b0e886655089064903e12c105dd84744cf8b47fe8d70c88c6fa16ca99ffe238e8bc3d50378757c81e403a20d2aa221e50d2943e024e84f53043631e69cab315beab59e94a5db0f7e0bc50371986351a43f8225822038fb53137a245ec33cc69fd31a2a6c2ff638cdffeae303f5ca806ec15a9f1f0eddb7110f5d2ae5aace1988dc6113b43d389461780ff7690350c1150d61e2fb4a2081af60cd42a736e84a1a71530857b44ad9e6b254c4bfd803fbd2bb2084c8523ebedfd52595ad17d714c086e37da462c997141b544126b06a0219ffff0394ce008a9c5fac1909a7cdaa71631c0a888c40967f80c3260f13c8c7dda8fb5a0390b8b53fb713f4dfb3d0ee239dc603ee646f79550d1c4e1fb94efb0620682e7f03ad8051f6e6f7db4bcf48f3c22dee67ba019eb3667819e42abbf6b504672df1da030874eb954854f7cd25361fb55ec16a3c3d0345156fa61d641e6462dfd336079c03ca90312bc1bb9377b4bfffb91fb0d1d50972aae675c44616dcf9cf41e8cd5f1a039a16d4fea6acf699cfea70ecae9edd1e9885a6290d1ced29e6b9da9517c2e52a03f860b29b876db755f7166ed17b4c00ed540816add8d804ea72102288660af7a003a081a77c673b3424af44d97cbb6b9556e005dcb25fb69af2acc2320b189d4b7f03ef3eded0f0bbcafe06d84ec07630b5c1d74ea16fdced67c348b735886cbb8e120219ffff031fa89d3a19b1abb13c62ca9449f9fd43a7846473bd9f5838c5b62349e59656fe0339ca649c1c851df0fdcd92162ca44da01ffaa0f3b79137b6da3a82a067353aa4033cf9d4ac267b0df8df74233e4a03d220e265191ee180e950b90ce5bcaac25e1a039c1f565b01853fb21255633fe45c170a7139ee72f0d5e302faf46e36656634e803e7aca9d7a27962fe3f37df7858196f5cef307e4891e640694d4c9f54c559078903f00d998d7d3c74b2766ce3d5fbb5c22e16bc261fadd59f454a36007c5b2b146c036611738bee850dc5bfcc62d9c6fed990d5b12b969a431d2d5996c51e24205a250348c5950b8e4b69565ff9285efdd068ebab913325a05f4c68bb59068c689fb63003a19a4e049b780eea24b79bee56da4f9e57ac73f599918af2ad1fccdd99958e4703f0766d6df8051410147c141b93e256ca938dd150e26fcc1a98bab4d125f632c703b2c94547a2133af864e24a69de9fc446d27b79fa4b99f57512f590b758ccfb5c0328ff1efe218cc67bc7065e3973888a7e0c469f936f6cdaac0c1f31043210dd2903eb3b0ff9280bfab1dab6f286f3645b1b0475683586d218681c2bc4def4dd3368031092dbee68bf6aaaa5a97206210473dc922e6c14ca8c3912ef520c18e5c8953d03106e9f7a8a4ca630b86e6a57ca1cb6a198bfd8be5d854738cd8d2a2efb7dd676035546db03d1cdc0e2257dce93b61c37e62dece3afe1a7cf3c13d9c06556ef829003e69d4d0726e34ca3a8fb159d643ccc988133f7b90339866ad92ff2d46d6361700392ef9391941ae78df861730a47686a6a81c911a19d6e5d614123570d859364c7037584c6a59f6226d885c6d47ed58cfd73d6744ed47a3e82c3764585341125ac8b0349873963179f3ecaad389de81a72297409bdf2867e24bd6194a756a9ea548a8703cddbb8161b899aa7df6ff95eb0528d95c4d9ff1672a9ee412e515570dedecb4503e435461b429da52971234d244c0bf2d2f18955e3860939181c22dc159369a59403943d07322bf0bfec6f644f7198a06496ed9ea58e8b932344d4e67a446fc15a2a03108892167fbc916d48dc178429bdf5a7f1f648fa9f2c99e1b78cc6435e765d7f031bb52f732699e351626931489c638f3040c8142005855159b07bc9c71f0630b103949852bb79a59a87142792be5efc32b6ffa284da4ae4509ca4b7d3f2c74026d103d4e39663108df2e9d5aafa5a95416792432dfc4a788d1fcd4ecff860f4cc439303019a7e106e3e52ce086a0337f5baf9937953c5b6e8ad9fb57114b3068d1ffc6703551f898d59354984f56d4db53b97e4ddf8839858166d5cd5e92eb6fa5188788103d82457438286ed6d71a70872336bf4d5e61a1573f4982da5e17e11ba58feb42c03903f2f84292f0c89a6955fa28e483fbeb449883e8ce8cd783b56fe702ab19e52035d255cb040697c20ff4372ca83681e56eb434da618c3dda0f5e1f8121cce2bd203c7ce299078965bf10577b0a24ebd4fa3036e1734a6f0604a35a99f7dd7e1a13b033ea4fbf34c5ac42fc65af993bce42b75d2b0705e75b6149d4faab46f74eeacec039c10e49992bce2a8eaf5468b60f0031f7d8085a889e3a4c6f2331982ac2dd70003184c253be5bcdaec4394755e2afff465f47a638ccecdc1a040a83f7d05a64d830301a27c97a7dff56353dd893d7b6d4549afe765e8e8dd75cc65bc875ae23885a6037184801c58056bc28c7f9358d71c2580c41c33e40d77b24e89a3943ecb4e34be033087799e0d2507cb10b7f17374c67304b949389aa29fcb8b8b8f261d37254f6c034249495c48341ef12a81fe1d542ab1976243169e351ff71eb8bdb8e8129a483703cf3efc3b248c6222a56012e92895164f41c3e62979fe504bc57d486b2bb9b8810354d717e24b731744ec12822e425079e99774ce643dc4fb50c26acf8e27e9a1af03e7e7cb5186dd32d2dd7754450f3cde21d587ece95e6d23bbac4d53de6a5c4dec03d4ddf2fe6067ba7063ed87953d7cac507e6b181d3f09de058860cbf012fcafd003a27e20ce0c79ff4ccc9660a7cd46e65b20e00c00710b511ffb36b69495d738ce0368d57539080679a7404533a9cb2494f94cfd17e7d6620f4e0c01e93ba95758fb03e21135952f7aa362911d27d0092278b2447ffe9c3f10013fe096f6448a35be47037b51ff8f822e9e5e19264111d1ed1bdf484d77fd2fa13593fc8bab078ae3f0a3036a9774ba04b7384912932efd76b7dcdccb44aa591d95625f76f85dcf08ea92f105581e03ff35d8f124bac6825dc56aa0ddb06ed0b4176305064ccfb542592922a00c034705e6a70b404555035638c95a3214e4699134737250d82b9e1103eea8ee520aecf5e446f7e785d28b03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e0383f749eee7b3af4ab92eae05807aa2b87c171d49569a4c42e20fa7653007011bffffffffffffffff05581e03daea18b99a136dcc10a63007b9a72f0299ddbf88e872ee246d6d2d12e0040205581e03885a281463e7ac124c775221384d850e24cd64b776b2a509fe42cbc7100c0346a40176c6360003e9fec2f19f4b290ea820001f6f8070c13c85171b2fa804cbae15891f17ef4c8203ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03a04ee069ae211b6e7fdf04b983cf718d84c1a5292e7f6207d7da5209f007011bffffffffffffffff05581e03e2fc072d5075007b6d716db18e76aec7aa1aee35fbc10f89dc9276a4500c014701d0567516f4a5036b61b5baf495897d0e083bafaefd44c9b30d2187584b0289d99053aef0eb642d05581e03401b1cae6bcd3c75bb7060f78b139f4a5b88cd3c75ea33d330d99a81800c014744e2e46807f36805581e03598881691c31a20b4379d8984d2f42431bb4b0669700bda6fdeca1f990040305581d021789de32c933fd61ae78d893f5c2f5269f128c722bd5dcdb040d332f040105581d0253f09dbef230b15d5cbf9d641a17d48e723bd944a9e0bd71869b1833040105581d0225b869e5d52572858bfdee6128895c52dae6cbeccee22f46ea4428a70c188e481995458b9ecf704d02190422033826722f4f10e7f5593b1ba3d251a7d917da55d61f802745b3df29df550238300219cffd0382bd4d58a6d9223a91497bc5c50a71db4098e4bf56db7b53e2c3f9bcf8911ddf03eda0c2b872a2e8004d912b7b3e3add407fb89c2e1935792b3b1747369761f494036b4389aa833fff43d1200a2b8d10cff80998608fc1cd9727a830faaa0990918c03f25a53d819c2be142584b1afd1baa8cd4bb389f88d938ba051119f47204c0b20031ed4c8beb960985fd9cd4998f0c5f09e259e213b59007591e89993d9e3e972280219ffff03714324c0346974bcbf735158e66793fbb8c7fa526a6afb0c8c29b2ff3d7c2a6c03c071cb10dedbe5705efef507f9e0ce0a8d7da622f425b401717e4d826477a51c036656773f56dacd0e751b322dce3e39a876d95b20d9fd9894ed4aba5646998921032707856409b17fde1be8ac642b20d38e9a0c86e36d92dd99531d358d7a3de1420399d94492bfca6335faa3865938f0b91a4e774e3c569ba6871cacfde5cf4121cf03b6548e9eb142a6a10b627e760cec7fccf00cdfb570e12044049bb545bf8fa26503fd12edee6837c3ad78cf34516f02bd237f8c374373364492917c95f2463c4e4b03e75ab60d63f32db41de0b8c4ae74386e4ac3339aa21f8b4b8dcf09a25277b0140305e3c069b09a5d6f764e825ec0ee8924473b9abb78336cebd31a11a60895b50e036a6075ac55e17a4c53693f1b1b6c932bdbeb58a9672f15bacdbf87ba01e221fa03133a3b4e995005bb215a3af63194f58966e256e760e7b10d6600e6e926473d4703cb484fc7d3f2443d3e613fef6a1635d61015eeb788dd55e78bdc220b1039aa87031e4ab1cefcb4df1ab843a9c99c73bd256f7075bd014f19d34923e0283e810fdc03e73b91d94b5ce180e52f902f3f44c51aa72eded520c5b8ab924f0b7be8aecaa30219ffff038433bda393dbff28847dc3b1c401d09939944bcd6af8855e167ea5d57d5f36f1032f697ce9dc8e87f850a921e7fd318f5e69ba5b8bb7f10ffd7796aefb2cf12b5303786a68e63a44deb121d719756cabf5b870bafe9b174b0040bd45c1a3c2fa80d60219ffff038252aae62902d5a39cead22caad08f18894571c955600d14273c666e808e0fbc0219ffff0397274ba63303faccd7be40da76dd8295ca7ed8b2e028875707ffe3df82812e80031c2729090731c72ce7322c825e0238cb86e438afdfd127b7147c352579dea79b039e1cfeed62ad3f8bdba5bce63d73c0586adebcd09eae52221c9c86bad6783ee30219ffff03e19272ac4d0944de700e54e84bbc6aa82c1c6eb55fbdf72cb1fb3ffb04cead0b03adc76950ec2d7900fa63770ba216225cc60dfc61e7280f230a04c80915b53120033ea1e6b0c1f051d253779f08bd5f78763eb44b94b116f08e83ddc4191f1e661703db7931db2f7c3859ffd14bb399559b830abd33dc932e82fed25a30a91729c1b103d9a057fd11ea43ec4f3a9338ba7bc78c97523322f3780ce9f3aa1f0a55a0c1f7038fc62e2a390dbdaeb9df1d6e25f70883bd1f4079f9ffe7a01145f78e9fcf125a032f2cc32eeb6c15c6cd712d83c93880c0b9d616630deaad8c365138a351a395e703d9f3e79c4ee1eb800049dbd54e8683e36567e70a9f9a1c7d37e7ecc12d44e69e038ddc99093c69494bad8659bfc20a5d10c6c38907a39e79a040676275fb7ad9ce03f86dc389bb91c0b712521c76d4bd40acce707cc771b450a2d51d483dce52ac2f030c9672009c381eee44d4c85135019ac54dfe1a5aef7f6fac6ffe67c9d92595cd0359105eda31ccc4753ab417de14c7f60f62b25a1299cc965ec701d985efe0413103bd6bd60035ffbaabb297761601c55e40c7e6a6cbc71f64e3b907a7f16c8956c5036945df6ddcb3fc549ac0578beeee21d014657778e412507b1682379ce9d3229f037e1aab16b65e2bf56b3a6930857fe2210be08cf780a660a4692eba6fa3264bb703890af9a8ccfc9ae978e47633448ad35710f298d2fffb7d2a2f62bf10098871e20337361355899b501836e7bc93db9cfaa978f0495c66323e93b03f21a2221b0cf20305c1f37a1f32769a9640f8e275cbcb9f062d79ed1d16e0e2000fa2af2bf6c98703c5f7e41ea5ff56cd109e967dc6c6e367d0569e99f30a6483fa9c3b68bab982ce03f72f695c04751effa1788640b6a2e62dc59a3217941bf52cd2fa93689340e88a03e5f779f7027a95e9a650553e67aff9d78e5ce7144b5dba7772835219f13add48036ad41ecb9a2892d127330945bb52eb0951dacee1ec0517c1c138085f841a3d6f03fb7c8abe933abd924fb075551df00ec83d20553680b17847d0b46c1bdabff85b03c0ce4c2867fd7fe0997b2ce82d50dd7333a270eeab086b40d2f2bcf91d25848203311d03a45932503e6f3e786f88174d35069f98ebc2aee4645d5e53d305f84e35033170813983d2a97e427850d58cce3aec7d9d3a39c004e88bee912e3cd61491210334c55de6bcb8667625b51e47db5701e0a4439d04df2e0db2a114556c6f4929c803b0a62636ddea40881f5b630a31070b4b993d899bda48b7c9e6c4816d14cb7b5d034bf2a99b145d78bacdf9dc26ba3cdb049c1e3bdc771a7baa9af1fdbcba39455f03122b099a228f933080c06dfee4ef7564a07699a8adfae533944199143fadb7f6031f6756ccad4047b0f851cefe1f7596e29b6b2fb338b4709e5fa672e86c5cfcdd032763176441c5fbda3110efef38e42565e752981a2933755e82e3a818f1de826d03d84338c4bca31b4f55e96dcda485c38b72c34574d9b983c6ea3a3d71d8c86cb7033c66a651794508b76ecd212fbb82702032cb83543d20a968a9e168b681c28362031957c29a5acd3c0420567b9ebbdc812a03faae5f2da6ad01eff5ddd04d375a4003677313bf4288eed8684d4bad6e1ff659254d239a8785dbea1398135f3841cce403a715c5ce192d5bd421bec8ee0c28d426dcbd7e3feed4983e0313a398ec5a3efd03820f9d9286d73e0364cd01ffbaba5c7a70670a3bf803ffbe6ea95a5e9f817e7303e0bd40096a54dbd890f9c9a4cf4bb06e0f4fa960676d5db2e7f601f8134170030343b03412e798ed51a67f96ff5327e10f7fa1f5ad6a82ba26e3b13cb20fa8cd3d0330397302a3d898044aa5f7aad8de80771600777540a00ca0942abf3b9e7e33990336a0ae182f155e5ae17dd7d82679cfd5430df902bcd1d2eb0ab62adf4de981e603527215f58f40903a68296e3ee96ae0eef922b1f065f8c4560c052cac0768933b05581e03d93aac1412f22d76bbad5dd38f89f405117e29eac41d7620b52eb834700c0245b82b46260005581e03ec2e80e2d2f87d3456c8ba30821592d6e9e90731365fa27eeb227bea70040105581e0360a790a99ad83fbc7ef78a36b399459417f9303aea86115ac63ac30850040205581e03f97dfbf09c53f062c580273f4511c81e434436f3a8992e39f5596ab3d0084703a08a1e097800045959ae6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033005821028a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b410105581e03a2f4a4cbb1b67aa687f36aa61d0631958879d58861d3dea13daecfa6f00f014801edd3c37b642e1d1959ae030d8329487da35d8659e539b873e49a33cf3313fa1c19bd69d0a3e977aabaab0c05581e035547497eab9a72da4aa1aab6d3969904b40c60b1e87ea3c2e5e811fca0040405581e03c5d0f11268cd65335d623dd7e5e2bb1dcc90db4e6689bd66bbbcda3a40040205581e03854a5402ee10b25856de85f60ad0442f88de4cf0cf694b708a3c9b50b0040205581e03e3f6dc65e4447e6a86ddb7c9c96877b095b09b5634d01e3566c83a77e00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03fd36dedfa3a6ad18222ea91870b9d2e2da28a043b5c8e10dc17e88ef1007011bffffffffffffffff0219b9f303004ed5e0a028dc92526454d9335bb5dae020ec9903b913a045df183f0329206e03e7c3087443e5e9feed69d364c776586eaaef2f68f9b0a583f0db0e3960aa17ef0219ffff03c9ca73ba388efbfe5a8d71f2f93e0a1baccc3f2f67a829eeefe9bc99e6f5c8b503883f40fbb618e42c0841557a14b661c74a3177b9f3831ffe587783acfa8d421203f1f76a9ac3f97e42a5cba5eb39cee4a1d2f809168811850631107024aa80957c03736b8d5253a17f8a2f58185f7e80b3aae289393c269215d97c48e8727b2d37fe0380fc247e482c485448db036d5b04af0e509162546438d2041af95a1ed530c8370219ffff03d3c9b38e8e1da178fccf9433941eeb6698d2caa6ae9ffa97f3a81851e4a28b800219ffff033000c03b9515874d23d65ab4670c936b8e7cc1b76dbd76a1648c2c8c906beaa403b973cbce4d1450029cfa5bad310ddf63371b7faa23de013568baec4f84fc904603f2e8724e21761190048f3d05ab5a261d55ad32e287c59836c6efd5a087238f26038d0dd165d8777565080305cf0d95f48dac525a254e208323fa2fc859657fa58a0399dd8915a5a9606fc5b5b10b17465f6bba95105dbbcab2b532693da77bd290d203503e2bc44d69fc3610c48612ec44e19a17107695bb919c62a511f45b215bee320337af8d66ca200d6fa2bfdbd00b598d3c62f76c7c55d26163e646ac291d0fe7e803fa89beeba1b278da580c610a6e369898f2f0322f6168b75dcd1e2578c09fb6710358e8ac36cca0de03c25fad084e80275a640b8275f5a0c3e49d98460ec34d39e503218930fa681c2a7db0b95777e5c1c943dd013de905be7998d87ee54c336fcf0303545781fce91c2b85bfd1b4dd6955c7ffb3c3045c95ba59be04437ad5fef6154c0372ca12f11250bf8b4761d411f21f5e8b1b9b384f4abfa8e0cf2fed860af435190219ffff0353072a05b0780d4b829ccc56a191398fabc570b851bbfb96840d63be04000c97035f524e62032fc2be179cf7106ad180e485524cd429555bd8e98dc153c529843d0344d364b01627a8c9fb443cff223767a6963ed84719697b3bab46b24ba89826bc03bfaba6a73ad003970a1d58eb1929d95d74e340defea0258a6e4ed9150326c7e0030f01658194c95866bf92f246c84a3114ac0aa4ebec14e435aa2ff8535b0b006203446f80e8ba2aa0ce93a2f6f0da3c97c2454d1857283fe1d5b7655d7b209a809f03c6e483191da083a48abdaaa0f0a0cc79f2d5a63add3559e1403099140f98189503d251a53ca5846232ef41032368ee6c558ebc2f358e90ace4788a144dd6060c7703f74ddaecaebfc9b0edaa7127460246843ba49283eda7306cd3a42e9ae1e7864403a2e1c6b889ffcf3b139c4d6fc47496cddc3933e956a13e7a5656b4204d12e91e030ce3c3900e9b899efe4688a297272d8d0d0bdf01e5a9a818cc62892c8cae4f1b0321b1cafebec83ee379c6b076f95b1b2a1657425c2d4e77785058acbfeb7652540338a98dab8d6c73d797fa267472a952a356cd33cee76aa586f0b15f7bdb7952e5030817a8a400faf5d7f88199d5d4bb14e9ea3d5fe876fc91fea4caa8641d2125d10367368e6ad0e898a0637ba90c3bad01ccb3a37d176497d1fcf6884d38bdec082103c001a87779c81f5c1a134b8432898aa6dbca5b487efe8d9098055c7ca5e1d74f033d1bafae79f871d9a26e701073deea9110621fb466c23ab1d43d421bc9d2b2640337f5202fffad96baf56a80474eea08f53fe6cefb666527efdd634b95d891b39303d8ea4bbf1b494e77a6bcf8fe952ec3ad95f2a401643ebe78eaac2088867098a403980a9aa66cd5731904e546d5c4375916f0ae4caf2ea0f2b85d2139a1e04c0f3103cbe95ed246e5c2fd56df0107da9ed90b2f7b061141e3eb84fdde2afeaaa95e99039d876cc2292461db34883fde0ba0eff656ea81a93b378db41b627929e20fb6be03284157b4f49b3ba62de4a4595dc797d2f392e4d187666c67d7333df30fb5eb6003041d1da5d30d322e03832543a845465bf521a8b1c4c9c219e581679bf54480de037523135e467f58360f1556fdaa1862a0fd20db52e666956455a1805b030181c90390a2aea049ec967d0f1baacc109a5c1937f096c2440b3dd7b9e170738bbb303a03b6fa2b5629fe373928c9d497787b1b8b69e1359d3294d199325f1ee57da3830203a64132ba06e155fefe2f450925c7d9e3925ed6f0aa93b3bdce77436ff0a13dcc0317a1287711c12496c8caff4c99374a4b7787a49d35d17fb867bef479fec30c9e030d83e012b5ca06c4d5b798a6f520333ec4a4be8127331fe651c038eb3a76aeb703933428dc372dc6b212b653ccfaf3784cade82d14b55692b05ad53e3af5b52d7e035bcafcf808c831e229819f1bf7a7dd812ac032d4a31b6fcad1dab276c4b17add03c4ba858bb009b9a5bd477b6a649667b194cce14d8291583e4351d6c34dbb5d0d03b779bbc0725a3f5bc155061529b941c30165a9ee577a480ef468a1cd5509d3b703f8fe5f7e0ca57e7da21ae9b6d9cfda7433b7f970af26b520a65a36bf4d2dac9703f2e471acf814fb0e35e4f3e3f2287b7fd9197c260ae40962618240846e501660038f297cf12e827a63704cbc0c25a363de07b71ad5691e4c7b08bcbcd40a825df405581e03fd970384e443fdb8179cd5f7742ff3b358b1986aafd07f4c39b81d0fe004020346b82b3c62f8ab111b0f4398bcbf507c1c54c13848a4f3e07e7d47b2573d72580354d266adb42079a47f3b70152c3ef94aac8a425b31f434c3c14019b2ee2b309a0605581e03d3e165c04bbf11ef528cebce7f06b57b04febf249c8122804181c69e4007011bffffffffffffffff05581e0385fdef739bfa66eba33bcdae9db4c30f607f542dc68f3ec2cd4ac7cd000c06470151ce2013ec00035edf13801c825eff9e830686ab8142a516392ebedb879aca5a3f1a3bd74920c005581e03462ddfc2593c772a4ec6128c9172da3c487c88b5812c8b037fca8fafe0040103084840a116a5187ae885cf06d80df1fe9b307382e50366883861342ed5663c790326ced49a9e7cf512581ed12edc93eaa0e46106a0c30bec4e5fabe91c56dfe17405581d0250abdf1f50f9a3e2355b16d535059aa9277c1216aa631ae4f308291f040105581d02c44bafea4be0800c03271865dffb8d7cedabc6410a36bc03900a43dd0847049c9f169d8e0004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570313a4031999f138fd5a2cd6ffb7ab63e1107b95a0389545c40aadc91bddd993fa00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af051cb2aee8a60ca86f8bda208376042d19788005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab0470aa8ddb6865c490219014000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582082b7b380037e2868c106004fab2c2e17609e3a9fa13840bbf296721c0dd3c0a5005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84f24bf0960cb159873685c3ddaa1a61002184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd0048041f4dbd95f5b05600582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206638103b0000000000006ce4eb2514608b4f000000000000002abfbcea99faf90058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f548b683c400457ef31f3c27c90acb6ab69304d1b770218480219f44505581d021ec3c811e880dc80a981a5503c30597b49fa4ab1144a8a7f423bb3010701192c1d02181c021917570384a59ac3f31976525b65ab661b72b02bf1fcd35c019ba2d4839d69d9d1f4a5a003555d3a1deea1603addefab3179dc6c0d4a9474c55a7db59a22c15f2d96be5a46039d76bb6f100ce6c89af8bf229d75e5dfef89b17dcdaf6562beae642253966b910359cdaf928aa0094243eecdd88a705298bb96fccf40245caf2827654f28102a0903e2e349c733b734f0bd6cbb14b2476a91752f85e5984909e9a9d0c3e9f346a20a03913179e69808e46ea766db4e7697baea9473ce78179d47862c65b94d8274999c03cd306511fa5054b7d3923ad15479e1c96a92f08ef36e77479e23f347f3c4d9420219ffff030960f818f714050360f6673cfc01ebfe16978b10dee5d8d1250ffa87fbc057520317faada0b2554524cbf0f158ab366854523cd3abc1048475668c620653ab83e7035e31d3f580b3388a11a9e925ee6c701a15e53c0759ff9bbbb440790a795ee291033285dac1afedb332e73b2038c86cb75d99b286cff8a15bdc0d1c428f745f1bd7036b0f57e92ea0ded986ff55bfee8906ea457f937b4d01075701114ae582653f6f0219ffff03d1012b39ca70a0069aa165e552fde8f16eade9315bf29740ec1924edda2f5d9203e714ee21efa38f19d5dd377eaca0a9bfd6e57d8403953573a3091efa67c75f4203624f37476107a5562c070d8aab9cc9e673a7c691233ee4f6209caf819feba8460219ffff0381b8e81238e4a04505742054c12b577bb7526abacd7ae5d0a452ca9e68fe00c703692a51d70221dd95c4fad9be33cd6726af0c72ace00ed5e72eb4d6af1792fe4d0366e2f37e2c5a8ec2a5064e6113d9007f112346aad335e1ba7d3160b6285d2f2c030d8a638e05c837ac5d5c91008da969fc6c102803b16fc16288b5935c7942e05303f369a7114e0e139054bb39a7da90c73af10dc967e135300b1a51ab3834f1513f037642861636360312dd872552a2f5305f921f721c78767285a87cb34dc209b26a030c48efdb98e768c8f29ad854ed8198f64ca85095f56c66188d74be5de2475ee5034db5d7a65715f046a5206f0ee013c9d4385d79f4793b68f2b31342e0f12ede6c03d6dd6ddb2d15eae9c7757764327bd92738cbfe3930c95e0926fb8b911c5edda60219ffff032d970fa441a8ceccf173b3f3583416fdf2449f0d0979b81b303ff052f05d13e60304c508eea3158972c739232daebec044ee3e6c74de4486d304fb5705f116a350039ac7b92c52f57bec422e4bd5d04cd7305dc6f5c199d06b767f7dde98260cce2003086f5ea5b03703666c4e964c11977539ee7f769dc1679e38023a236c5cea1b7c03ab9015181cf9bd4d07ea66fd55eb5fd4e66496ac9a3bf79de4b9696d29f5d71c03ff59793356b794601134356afcae4ce0eb405722c5904f5a9e97034357cd91210368194bed561141a5c1b8e690ccf34ba45ee2986ce9b7f482fab6d276a694604803e4240f626d977518478184087ae0611dfceef30d260e0b5f1549f451b0e15237038a1295b965bcb0217dc2723e69c4218f7a2a87f3aae34950fd4a272a18f95bd403f42e0c256715d1ee3a4a6918149678b09d3d3e0774f35e58b67aef0392cf880703ca95f90fbba770647f79ed35ab45489a669f692df35a5089fe8709b805f119e6032dd21f3d2a7dab53b67c1ebc0500b0839f845e97d084f7e876ead8d1c6ea1843034c0a0f68a78a39af4f96714dff89d0b7988c498313636e977901d5a999d8c84303bf068389eaf23c697e1408deb9a4ea01bd287305616a4ddbb752c1a7c637eb780369621e88944f74018f58e7814d9b6d6aa3e14e89d8790fc31c5d276c6eeb6a4a032cee9909e0c373e751b9a67e6d2c426423c2d60071ef563cb8f257124bbf8b9a03941a99a652b0da2b1442664bb924322bbd09ab4d7aafeda0cd655a25e105317403667c5365f5cb236369b4f0c5acc855da9a7ba5fad565d6bfd4b2cd7cc66cfa13030143e65770620f06dbdd4af525a0b1a64e18b4e0863566e3fc0d068bde81a11603a1062e64b6c0c1a3b115614015a0f389958eaca757a36e62e2beaf4c6074ff3e03542abb1e1fa4a79109a0d73cc3745d546501c2afea0bc907a4393a48e95f147803ba6f19341599e591e41fd0519c876484deb506094134082f0864e9c90f90cc30036ed1d7b297d52b277036171f5e79bf443c613523903d473841a7eb5bc8b1946c03ca6a57dd23e807bbbca35af47076d23a451df1debffcef0a12643b6bed8517a5038720cd405944bbed2ed9c99ac85e5a5aff3588574588e22c83a113ef88966cbf03d33019e4c7af24bce42b4f99ae30ecea23cdb837401598cdcbf363f439108e7c03bb1b72dcc996e76105a95e902b28fffa306563baa068c9a3c118c6a33eb7a03503dbe37297cf24f2f4dedf11a33e12269f0d9fa67b2b0c44b7336340f179a49b3f032433a5c47dbf5e5e31ea74c894bfe9d3cb035453a90fde1f439c7858a04c34d80372f6536a41790269753f6922540475872ab7f3bc4d672e6430221e5c5ec43493035a07e39e3ed1473b0daea069bb9a1d2adbb908d2abf49394cadf5f51bb2d762d031390d695ddf998b7577fa12fb1d6de9afc3906932ed19f47aeb3dce0df6a5d1803f83dfd71604cab3958ddb484ee3e6b8b6e52044f99d535bd84ee2321f547e8f203b49a439c70815a034488f438b88d072612c57dab54f930ca493a2c1bda93e2a903f4ae4c0c57037d3fb1a66deda8859bd075cd1b1b8a27c4db7cac5557effe70a903298138ff149e07bdf9c25f93380a723ddd55a9357ae5a973a9009232597b2a61039bc368cbf373721b248693e3151951a8782d175a9e3b7c1e1e6a4904a2302e590365fa6211e1b492da2c98f1220085e282ed72b579fa743580e6de8b70e84da626038686337b2bd55e8c5033a70fa68ec75122364e509041a1bb9bad8264b378073403fe2e601f7831716635ff577b42df3ee52e2784dc27cdf8f9d6b07a9a4e3d302403ca67e5ad9a0f7657c1cabd8a375b397a50b0f7af217e626ac0d51f44b6b1524b03e23c58c95b44b8fd12895181146a8f586b3c37ca55cd42b7c02697189044bd610380661da0f1a245ce5de68c63e8a1f0c239e8287c63234f96f3c23c70f3ddbe29037d577bac02759343ae457a5340d1f712c33b2e76ab6b7619d44dfee6f8f107cf0386f51603cb09df5a7bb925d88c0350d4d24d1c28598fd380ffe430a602f1151a035b69615a1a4a13d2a355ad8ebef639873b5dd93438f31af82cce511cda941f5403eefff2d897cb203c541aead358162b0d5a6c057941e0348da56dc83e933dd927031f50c6594f3089698e950ec35c3668c10574313715358cecafef3f17c75c7fd8035bb356ea469270bc941971fa5f3f13eebd7182c4d07b1e5936b749524c6a033903f0146a70d2698de30df9bfc84add4bf7824c3f8fc2c13bda287f68de33cb88bc035f5a1117d6968dc818545bf3caa0ec44f7d8f11c5d5bfd1e7303ed597056f19603f5c38af6f709db9cee967585e1c3475c1b2c419a7f025c8551ca0211a787993d036d18433acfe02224d8dbca55b504bac5c832f9d266ed9a338d58ebe2d0226eb8035c5b31895362a7e4b5f826c1f8c285b6ec5f307d83db0fc29849db070028a1660397dc7269c9bc8321eb76c84812b6cfd4bfc227934e113e65ba20262d933bd8c003ffb8203d5d65af0e0d0c11e1c9f688eb67ac46c262291bb5e3f499f21b319fc1031286c01bb09b3cc54808700c2d7ac300eff42defcf47f011d5c3b79e1dc0f8d0038603b9f2e5ca0befcd270cedbb962e2dfdfa5f6566a2bbcfd93fc7529f91782c03e0dc6be0773960cabdc724cec9b09fa9b9e9aff9d76df0455b2bf1d795ca29a3031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0302c2f650d1dabe4467d5038dd0e789abe371f9e6fada398839360fa2a007011bffffffffffffffff03767c4368cc25f0f8d30ce48e9ae71faad89a9509f0088b9a32bb32c64256cea903525e052104f94a17543f0e46570e8465a38e406fbcff6ae7447e93638dabb95f05581d02c55d89f1df9abd2eee3f6e0a8efe53f929d36bcd3a7e134f702da6fb0c03473f6f1420567ef605581d02ddb0dde0d879c2e4144fda652d366909aa742fd9ade130583bcdeaff0c0246622ab6fe13c805581d02c070fc7ed870826db358006f3c0eca572f8aac6c268ac0130805f5f20c19028b4807cb94878c0c4a3305581d02d899c0d4f975f439752f5bada431134b4990a236327a0ef46bbe37d40c0146c2f8959c742b02190d0103b2dff530257219ef8af877b1991b5006303f8ada6c2ab655e88057f2e24e6628038f59510413678d21bce67a691343a22918b9f49fab93e726d395ab19b0ff1b3205581e033fce37f1900820391700fe9d561e194a0505d7e9a2fae48a6ba017656007011bffffffffffffffff03663cad5d90e1c7c8e244b9dfa750ecdd937f6177dc94022a3f84f6cc5e01f36f05581e03c3ce4aa708f9b69e2d04abe8521021eac25dc3e71247b3f6d7a29fb2e00c01470128c3b52bf00003c21a9b4dfbf17303d1461773454a92d7a65aeeec89477b40917c544fdb7a30b305581e0379411149f46fa7df406872f14682ec1b9378577d92d9bb00b1b91df2000c014707132bc2cc801402194bd603c56988604cfe964abf785e74135cd1e1d2a2d1736ca608ccf42d8a5a663e865f03b98c164d99541c19a09eaaaa42ad4c255402961ca54727e73c95dd3f2e3c3b5e03538c5adc584217b6fdd5edd20b5471ced13546b8f7cae0a93a42ea1d741914a503377723c880b302d7a7b353447a4b8282d3a150a7fefe001dc91ff826c38e8da5031f8ff9d61c0b130ed2ae177f6d9f81906f1ae7328441c79e31bc75d2f5f30b7c039d350daceb38a0d75a940136635164832bcba6e631c015753a8a6cc0c64986c50219ffff03ffefe22c9391fe6b210ff1ea3839ff0c3573cfa695b0f2241309a6324df6e1bb0219ffff03a52ee312c27564ec5de33a92ebd25e0ac0806d9c71b2e3af0eab6283fed4d8540219ffff03169629eb79b5dee32abe97e9bdd17d7a361e12b9d47607fa1864699b4d27bc0e0219ffff0323c2256eea45e2659ade6c954eafd18a8cb38a7b6e072279869b756a70fddc6a0219ffff0354de8a7f20ea7c86963380665fcd6c91c606701f7a9717353b03820924a15884037df6def0c81558aafd4b09a5e5abf7e5cb71520ff85f4d18f733cb6440c7af54034d89ac532bed43cdd30c2e6c649bad88af20c8e5363a8378b3324795c138aa880334a29dc51fc0439b0b59dde57221b62b184cc7d81a96dc8ee72ebb30df8d89eb031f70232a64efcadb6156873cb4b48115f3f5f4cb3b0eb45ed496d84bffffa42c03e4ea3f0745592596ced9342a16166b57665bd078e426928161ebe09c17cb6e16039df94c5c71d55874cebd7d87f9fedaf39adc3ce09ca439cec77fc3cda6a45bba03c0be3be853f2ae0372aaa43bb28fbc1ddbfbbaf0a7c0e071aea06fbd6402c51f036a9b4a91548333ca179a6bcc96da6acb6a00c830f9fc54f586cb21894a55da5103c098c29465c3b8d549528d72289259706b25edd6299bf6197c6564ed2355d3e0034fa3d78fa38327dfafd5bfa12105833b15a37fe67d9c8c7612436501ea271deb035d78d22bf3533dc43fba810f32b15e1316cb8b976a31b8c1ed07c1d988962fca0324e2a710f3c13e95cc1882b0a32e55c24c5b8e7eb3cbcdba36c6dd5a46679ba303b5ece83bd6b18170337794d39a16c4f17c7de60be65e471a515028141375b9e5037b3edac7e40d418adfb726d4d7c70380d67508a40dddcb901bc68474cd39433e03dce5b7a67506788298d89b90cf942cc0aff8c26bbfed29d07b543b1be91489790368b696f4437d36244d6f07105571bc3b221977f692aa5a0b3f97191aa920c45b034d1d16c1286d9147f95d48ab693053d47ce3e095ec4af1dad3af3f9d41778e7f0322d04b8d0ca8026323d6377d1743044cd92db9461643171658ca57eb0862f8b603055020a8edabbd75812e9667884af1dbda2de45854efc6d5b988a4404adf5530037e12accbaa7f8379e0674319fb56524c5fde3506685bac6bc9b8985937b011db03a74cadab84310d49684cb8914aa35c1464e42c8081c8051f74d7291de33aaa1a039df5ba3a8dc7835e93b6cb8fe577e439e669eef9d5b3cbbddb904142f9e614f2035fe0158b1c329ab9ea1cf5387213d2a6e258aba5dec083f844216161218dcb560360291c31d3bfe2e5f5588724f50fd9af6f7e45b08bfc7a8d2acdbdaf94f20aa403d3cb20fad8435b09f179989e1bf8f9b91553423417ffca62ded425f76bd552a50361c8aaf37e1f51a3471653b082265f6d14c87b3e5a1f7cc2e869f91f078e39aa03ea4c7bb4bda02e6e154e1dc2151c06398bfc2f615f37bdedcdd6da8e9c45238c038f7186ffcd90c646d1b6805daf33d261e7322b894de7ddd5a9d09c922dee3eb503fe52f136e68e4c7581e83ad5a1998a9c148f93e89280b5ba593b04d166b6f8f703aaf1fe5995efcf21f25ac79c4647ec2e2395830221770b8553ccdd245e79646c039acdbbb39aa484a6e033d5050283fdb64848377a02afa9fd1997aab86f816c7f03672ec410bd8b35bf6c8d7263879ea2561687d0eb6ace8aed4c40b4dc6076745e05581e0316d4bd7dacd97d0c571e0b1d90bc117dad36182b78878703b2205a43a00c0344ee6b280005581e034b2d2decf95050be5986747389e5b75a9a8667f14af23b7ac1f2f78df0040104591b126080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb1461034a578063bf474bed1461036a578063c9567bf914610380578063d34628cc14610395578063dd62ed3e146103b5578063ec1f3f63146103fb57600080fd5b8063751039fc146102e15780637d1db4a5146102f65780638da5cb5b1461030c5780638f9a55c01461033457806395d89b411461014557600080fd5b8063313ce567116100fd578063313ce5671461020a57806331c2d847146102265780633bbac5791461024857806351bc3c851461028157806370a0823114610296578063715018a6146102cc57600080fd5b806306fdde0314610145578063095ea7b3146101815780630faee56f146101b157806318160ddd146101d557806323b872dd146101ea57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820182526004815263434c415960e01b6020820152905161017891906115da565b60405180910390f35b34801561018d57600080fd5b506101a161019c366004611651565b61041b565b6040519015158152602001610178565b3480156101bd57600080fd5b506101c760115481565b604051908152602001610178565b3480156101e157600080fd5b506101c7610432565b3480156101f657600080fd5b506101a161020536600461167d565b610453565b34801561021657600080fd5b5060405160098152602001610178565b34801561023257600080fd5b506102466102413660046116d4565b6104bc565b005b34801561025457600080fd5b506101a1610263366004611799565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561028d57600080fd5b50610246610551565b3480156102a257600080fd5b506101c76102b1366004611799565b6001600160a01b031660009081526001602052604090205490565b3480156102d857600080fd5b506102466105a0565b3480156102ed57600080fd5b50610246610614565b34801561030257600080fd5b506101c7600e5481565b34801561031857600080fd5b506000546040516001600160a01b039091168152602001610178565b34801561034057600080fd5b506101c7600f5481565b34801561035657600080fd5b506101a1610365366004611651565b6106c6565b34801561037657600080fd5b506101c760105481565b34801561038c57600080fd5b506102466106d3565b3480156103a157600080fd5b506102466103b03660046116d4565b610a8f565b3480156103c157600080fd5b506101c76103d03660046117b6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561040757600080fd5b506102466104163660046117ef565b610b17565b6000610428338484610b5e565b5060015b92915050565b60006104406009600a611902565b61044e90633b9aca00611911565b905090565b6000610460848484610c82565b6104b284336104ad85604051806060016040528060288152602001611ab5602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061123d565b610b5e565b5060019392505050565b6000546001600160a01b031633146104ef5760405162461bcd60e51b81526004016104e690611928565b60405180910390fd5b60005b815181101561054d576000600460008484815181106105135761051361195d565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016104f2565b5050565b6005546001600160a01b0316336001600160a01b03161461057157600080fd5b3060009081526001602052604090205480156105905761059081611277565b47801561054d5761054d816113f1565b6000546001600160a01b031633146105ca5760405162461bcd60e51b81526004016104e690611928565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461063e5760405162461bcd60e51b81526004016104e690611928565b61064a6009600a611902565b61065890633b9aca00611911565b600e556106676009600a611902565b61067590633b9aca00611911565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106a56009600a611902565b6106b390633b9aca00611911565b60405190815260200160405180910390a1565b6000610428338484610c82565b6000546001600160a01b031633146106fd5760405162461bcd60e51b81526004016104e690611928565b601354600160a01b900460ff16156107575760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e6565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107a09030906107926009600a611902565b6104ad90633b9aca00611911565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108179190611973565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610879573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089d9190611973565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090e9190611973565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610956816001600160a01b031660009081526001602052604090205490565b60008061096b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109d3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109f89190611990565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7591906119be565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610ab95760405162461bcd60e51b81526004016104e690611928565b60005b815181101561054d57600160046000848481518110610add57610add61195d565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610abc565b6005546001600160a01b0316336001600160a01b031614610b3757600080fd5b6008548111158015610b4b57506009548111155b610b5457600080fd5b6008819055600955565b6001600160a01b038316610bc05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e6565b6001600160a01b038216610c215760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e6565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e6565b6001600160a01b038216610d485760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e6565b60008111610daa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e6565b600080546001600160a01b03858116911614801590610dd757506000546001600160a01b03848116911614155b156110fa576001600160a01b03841660009081526004602052604090205460ff16158015610e1e57506001600160a01b03831660009081526004602052604090205460ff16155b610e2757600080fd5b610e536064610e4d600a54600d5411610e4257600654610e46565b6008545b859061142b565b906114b4565b6013549091506001600160a01b038581169116148015610e8157506012546001600160a01b03848116911614155b8015610ea657506001600160a01b03831660009081526003602052604090205460ff16155b15610f8e57600e54821115610efd5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e6565b600f5482610f20856001600160a01b031660009081526001602052604090205490565b610f2a91906119e0565b1115610f785760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e6565b600d8054906000610f88836119f3565b91905055505b6013546001600160a01b038481169116148015610fb457506001600160a01b0384163014155b15610fe157610fde6064610e4d600b54600d5411610fd457600754610e46565b600954859061142b565b90505b30600090815260016020526040902054601354600160a81b900460ff1615801561101857506013546001600160a01b038581169116145b801561102d5750601354600160b01b900460ff165b801561103a575060105481115b80156110495750600c54600d54115b156110f85760155443111561105e5760006014555b6003601454106110b05760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104e6565b6110cd6110c8846110c3846011546114f6565b6114f6565b611277565b4780156110dd576110dd476113f1565b601480549060006110ed836119f3565b909155505043601555505b505b8015611174573060009081526001602052604090205461111a908261150b565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061116b9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054611197908361156a565b6001600160a01b0385166000908152600160205260409020556111dc6111bd838361156a565b6001600160a01b0385166000908152600160205260409020549061150b565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611226858561156a565b60405190815260200160405180910390a350505050565b600081848411156112615760405162461bcd60e51b81526004016104e691906115da565b50600061126e8486611a0c565b95945050505050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112bf576112bf61195d565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611318573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133c9190611973565b8160018151811061134f5761134f61195d565b6001600160a01b0392831660209182029290920101526012546113759130911684610b5e565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ae908590600090869030904290600401611a1f565b600060405180830381600087803b1580156113c857600080fd5b505af11580156113dc573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561054d573d6000803e3d6000fd5b60008260000361143d5750600061042c565b60006114498385611911565b9050826114568583611a92565b146114ad5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104e6565b9392505050565b60006114ad83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115ac565b600081831161150557826114ad565b50919050565b60008061151883856119e0565b9050838110156114ad5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104e6565b60006114ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061123d565b600081836115cd5760405162461bcd60e51b81526004016104e691906115da565b50600061126e8486611a92565b60006020808352835180602085015260005b81811015611608578581018301518582016040015282016115ec565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461163e57600080fd5b50565b803561164c81611629565b919050565b6000806040838503121561166457600080fd5b823561166f81611629565b946020939093013593505050565b60008060006060848603121561169257600080fd5b833561169d81611629565b925060208401356116ad81611629565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156116e757600080fd5b823567ffffffffffffffff808211156116ff57600080fd5b818501915085601f83011261171357600080fd5b813581811115611725576117256116be565b8060051b604051601f19603f8301168101818110858211171561174a5761174a6116be565b60405291825284820192508381018501918883111561176857600080fd5b938501935b8285101561178d5761177e85611641565b8452938501939285019261176d565b98975050505050505050565b6000602082840312156117ab57600080fd5b81356114ad81611629565b600080604083850312156117c957600080fd5b82356117d481611629565b915060208301356117e481611629565b809150509250929050565b60006020828403121561180157600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561185957816000190482111561183f5761183f611808565b8085161561184c57918102915b93841c9390800290611823565b509250929050565b6000826118705750600161042c565b8161187d5750600061042c565b8160018114611893576002811461189d576118b9565b600191505061042c565b60ff8411156118ae576118ae611808565b50506001821b61042c565b5060208310610133831016604e8410600b84101617156118dc575081810a61042c565b6118e6838361181e565b80600019048211156118fa576118fa611808565b029392505050565b60006114ad60ff841683611861565b808202811582820484141761042c5761042c611808565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561198557600080fd5b81516114ad81611629565b6000806000606084860312156119a557600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156119d057600080fd5b815180151581146114ad57600080fd5b8082018082111561042c5761042c611808565b600060018201611a0557611a05611808565b5060010190565b8181038181111561042c5761042c611808565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611a715784516001600160a01b031683529383019391830191600101611a4c565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611aaf57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e85ef9e74da2b18270d1c91ede66b645fd4e18cce2d8c288dfd1bf29e20218df64736f6c6343000817003303d314e2201f63550827bf0cdf911a026e9b0dd35a2f6b042d7983f41d500c286e03afcf42739076459a23904cc6d7653ab8d5c2424c291827d6b2280df99edb949000582002193bfb8a8ac5c70cc4f5bcc93cf05c91f1701d33c7d0cd17fef09b345e0d8f41010376f05ef8fb93243667c474862883c05cf5ae53590f729fd42a29d5ac4c9c013a0369d9b379fbef4e01b3d2080f7c8e8e9f0d26a944db370902843e4359cc3a836b00582003998a60e1e675ae554eb9d43998288aa2d3bbeb74f093b78f5eaac3064f9080471c78a7679b214b00582003c941205aa8032ad63acc7460009b742213fc090c66e575c2e100ad87e19c10470154425fd7470c02188100582002e49eacbde352733e786c0a671dce3b8aadf72e9b68eff921c5041512f0f2175820fffffffffffffffffffffffffffffffffffffffffffffffffffc75045d9bcb5200582002301be158f2cae65e19a9c9e70bb5988a4d312bc95accc8748e3d5e19f0e2ca47046d61b5bb113b0058200222a9ef97d3a9b49658506a3f3bba83fe56420f692bbe4e9298b3e90e20f8d9471907a34f179dfc039716cd352f4b797457d921d9646a23e6f98723b6a53ab0491417703b25efe0bc00582002cabce7b540c95fae520e2fdf48d5a70e5b17c9e0a2ae80044ad2098884e46c5820ffffffffffffffffffffffffffffffffffffffffffffffffffea493b68062e7a03a6572a351d70ebce1425933eb911c7f3bbe62c85db8c4cc09ad943869d263fc003dde05dd943c769a0a17496b2a6697ef3fd5ad69728908d3633ab808e59e283eb00582002ba475fc33bd0f952f33744f1973eeaeec63485e8fff4760187bd9642d9c34e47013d5071b06d9d0219dcef03fc802151fd0071fc346b4fc82b419a635a5c2067d369158ad12f25869500cb23034d837f51f749756d6e8008b65f2fe70c56a7ca7b15393580ac7961b9c93e49ba03353097e71a897b3976ba6e0a1956dd21be53c87815ae6b01173a8e431e39f01c0058200254025d82f000bf5034e08b44c18adb5b631e0e795a8fbc89aeddfc2a018e154101005820021d32db26b0ef514d3aeb96bf78933b46e0a5c534d9559f1e2b24c0383ebaf65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032cfb0c2f14542e04ed1a5c4778f78ea17a4416159610b401d8a85c23bac0e97f00582002de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09057010001d5564d5338168dd3bafc9fcb37d264b451670b8d03058855726a4141e6411ce7d771bd04e0ace97d3c7647a04d0c006d03494cd89a036f1fece6b0a15375a7e4b85f2ad5cd8ccadcc1141f1f9f13a269c787c128b35700582002ca73392a540fe1950d294f2f14a31a1e582a928ae1c6c2dbee4372e6e07892472471ab765335a0037322c4e94923041abe6a2e423d3db076e18392f4ef7ccfc79f76c2d168963c18005820027e606b0852c084f64d8b0d39bc9b68eedc89af1ad47d6115c7baef0750ff3541010058200277db92afcba08cd86adc11425f684e852a0b67fcb6d20825ff37fe798f5d0a47090401e39b918f03f8ffcbb869a654bf93baa89618989e39f259a3b135f44b588652d91b7d894317005820022fccf1163519cc49dd925bf8a76124553ef501cb6be00ca0dd677e20c779f05820ffffffffffffffffffffffffffffffffffffffffffffffffffd6141fe2972c6a0219bfdc030fa652634736d283d246d68c56f24b97fa738f79b82cd455b5c63213fd26455b038fd9a303976d34f8958b1958dfcb7ac5bd0219758551c012cd70a5a972ee5adf00582002f67f7468ab441155363145017ccd7b7999c43b3e8757c251578bf9c9ff6f6b470913773c9750bf0058200250e6b12f97fc6f4ff69d3a9e7aedbfb25fc20d360b3006e6d4213f191fd9324704d874bff04c5a005820028a0e933ee673218feec8be9bfa6ef0e751b366df0de6ea33741babbe95310b5820fffffffffffffffffffffffffffffffffffffffffffffffffffac5d16182eae800582002fa68efb8be33d6fdba6658539618d6b7e037e7898c965052dc3736dd7bbfdd475fc7028b6a9f4203dfb06b42c95f2aac2d8057b7f94a853286db6e20f955f33d9cd1c77ed94a800d0354a7e74443ad5d8764652d19e16b1b1541f110b994870ccb80c227acd784a93b03d5e708fa215fc2d978de65263c654ddbd50fad68a3883d0af087c3405e8cc6bc00582003c74b49237f99c988c0a91e6bdc306d4df93c40f95fa24f8692b0d4edfc99a04805e26e848833dcec0058200374a746b5555b132b48865fb523a014af5828acb326222b172522c43da7cb605820ffffffffffffffffffffffffffffffffffffffffffffffffffb9020661a76b7e0219010100582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020480de0b6b3a76400000058200313c6e386e363fcf34ac713342b74445f482b86f536e9bb54b9df49b4da4860480dcfa6a6d6779d380058200352eda49633b7bce573f8e90ced5f624fb81c40bcb27970f4eb7cd9f39a19e05820ffffffffffffffffffffffffffffffffffffffffffffffffffb8fd16d69acd1f021930020357d2c137377b10b0d4cab7372ecbf084651da96132f2211bc47d3bfb622f1cbf03afcd9cb0d6eade7fee2aa56ff6937a378a4a29653f9a3ebb55bb78ccee38d1d20219f7e303407c135badaf2a22f8aaf9da359334f1876e09a0caae932686f3dee20a8ed7870305bff418893a396e4c4e7d98c317929a64317a407c780ff32c3964a3c3bfde250058200201d9688706b54d15cda98d5f7769b04166d65fd6637f266423c243e5a4818247024d22b0b21d2303eeec0bbc5981199bcbe9b6320816ac2233c649fb1a7218c571bdaffede88afa3037057e064638c7593e897c10519c5b49e31ef616fd55c519f43ee8bdf23ca3c5503c37d7c7e90d53bbb36dc81351dbf2d493d81673e9e6d94bbfb438c537bf0040200582002b5b113c3362f857a3c03606be4fbe8e1193eca42a2681838ab148addcbf5634704642f856dc1a30058200265d587a2570a145f6b3b698c79f7d0c1225355c4d56576b6e8c541a535fc775820ffffffffffffffffffffffffffffffffffffffffffffffffffb7e0350c71b49a03aca9e2ce90f6174492048ce752dafdc9d9431d9a9069cc48c05795d4ad1dace2005820029a991a3a433167b9a4cc2b7a64ba4eeed205093740df6c08b43f6ab3a37d1c5820ffffffffffffffffffffffffffffffffffffffffffffffffffebec23d1d6d16600582002715a8e73fb23ee049880a077ae86f5d350b9b77384810dff7142edc9ee664d5820ffffffffffffffffffffffffffffffffffffffffffffffffffdb40fb8f6a96d8005820030691a4b1ef5899ea41e271d5970d99438d5e69260cad78161f967c9fdfb9d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0480de0b6b3a764000000582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440547a250d5630b4cf539739df2c5dacb4c659f2488d005820037ea67b79476bf871e3fadc49ce522e02a9180dccb7199785715b36ff7504d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021921820366ff9444fbaae00373bb481689ce569f714472f08cfba260d8ba033fb67eb7c6038575ef0604f6d6d642f3dda4494e1c80ed094c6bc3d337f760155213de33f0cb0058200201c417d962731257c2644f4fc72bcfc33a95576a151d750f9d26cee5888ea24702c7cdea3f0eaa0219bdef032603306245306e9e95f05c1033ec9fa7ebf5767d73f2fa4fe92a18b0dd244c2700582002165314e5e0eaf3eade136d72cee1f88c700abbe8ce41770bacc9424a54279e5820fffffffffffffffffffffffffffffffffffffffffffffffffff0a221a73715ec005820029d69f86befc55447495ed58448d9d143d70143055d7707e69936fca3a23f7a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cc86b07ad687fed0ec099fe283d0d09b9e29a170aa758f4ba6a4de5f0431a158033647c0c8e0a5133b8536e373afb3916ba9d65573446372b5f8d423103f11590b005820031ed3604650b2aeb65f74a72d2bab8f72eeedaac2dde3d554b57f413b8aab4046f8d583657ce70058200338c91d8aa6139f872500e67b257671589abdb59c61fe5fbab728b5ce3175c05820ffffffffffffffffffffffffffffffffffffffffffffffffffd58cc69491ab9600582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8041010218380058200247d87da98715c3ed63046f61010fac43848bf543ced1b76aedf6a50f153b104101005820029de73f4f2a3affd41d2bb6334b4d3c02395f33513b8efb72090ec154a1039b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033ceef5d3cffe9831c51792d491e49ac08d3ed093512fbb40ad84df3d866a687c005820025ae2f1a686fc65f52da42bebf0636ae02902bfc01961f1d3e96aaa0dbf49b4470f59523482f14003b4517ad4d74db7e0b23d3a96fc542c7ed07c3ccb9fee240ce443c6f16a93886403e4fdafce77df788d97a16f6ef3c027471cfd7b87634a7157643adcdbfd38260500582002c8d3390450841b4be9c88c87dc9d698b506dadc7cbc90e1c7dcfd7e68412854701fe28a794f2a30219cffe00582002ebdb5d939e01b3922bdf616066d4e78e2328f90424854703bf578f373923484702fb1756aba9cb00582002a568872657d6cf6893b28fb0d9cb1f0cd04d4e0c0421174bf80d5fad48efc35820ffffffffffffffffffffffffffffffffffffffffffffffffffb9004babb3441f00582003003493ab7c00b0199c2ffe97712c2f27fb54cf5f816cc5bb760c2c25b563d0470a1118be62253a00582003d4e2c2659582808fa60c2a272b72920b10f624278260105e694dccbd15e300470ff5a428aea1b30219048000582002279ea4bbc9705e85002e16ea4a8e827319f75361985d73e4a175db464347db4c019d971e4fe0719f9d50860000582002b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5420149005820021b32cf224aeb097412df8878e15269f3fd4d5aacdffa807e1084dc55f20e244710987fc355852303528fa3492e17dcab658ca7f04281b1e6759a035c203ceaa1d3665b1c2bc5b3d10058200223f9c54df335fc1b52971f0ab4f37fab3a8d5ed8f19e42ff31a617dbefec774706323e51ffbcb4005820026a41b4d5f30ba17f05b6ca0ba06c8f0f95758b480fcab4a711553983321e445820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820022d27f3379c5bd21f1c5f287e52837c6f6a1e26502db4c38ae2db24aa1ca1bf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7411a0219cfd3035004a72ba9add33ea65f3bddebd25df291c3ae0c41c9c861e8508b53f3088c4e00582002f29f424eff63b3eb8f64d802c127231e8b44129e3ea8c6f81dd190308576095820ffffffffffffffffffffffffffffffffffffffffffffffffffb184bd9a2c0a9f03121157274bb924e0068597410342ae7ea4edfc7a403018fb2eb2dda003e7643500582002692bbf9f3ee64ad30db6d40f362ff5e9d57370e47547af7040c997239e970c4101005820022dd49cfdc29b0a18041ea928a8c3326123166d51e202a1e5f38a4e788f39cf4701616b3ceff5210058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f4118038d8c73d2bafd80782707cca1103323b3c8d357aa907024a4045cd371ccfa9338005820027b074fc0c7123ca3a0b740fed51125915e19d38c7b882352df2b9eea2c84bf5820ffffffffffffffffffffffffffffffffffffffffffffffffffb8fed8b4fb88a20361eb56a435e8c9abda1648b3a9a9bdaa3b56446729587b5d7f5da19a4a30a79b03b0130aa8da0e8c27af0863d015325a06e5b949295b8c7e121b0f263cc6aae3c00058200286f2b0ee929f4a217491efb5d8707c8cbf903f7d74cd367f77cdbbf6e11c444709ed0b8412e5860322d4c3db87aafeeb2edf3b63d93dec03e623754d2bd2f0df4b2e3e098ba341930312f2ecf66debdb22f78971e2308e00cd2dfccc33c465cb56fac5a7623fe1fbbc0219f7750219ffff05581e03e449b31bde037df0439b78ae02331dd2d40844839e49ef3201484542600701191b12030ba73b7f804a139e6574caec9727cf9c24aea22f7309b0fd35278d704f700dae03c7072fd42d5a6e75d519982f75051f3de632a97deac11f73cbcee54735b5b4cd01410705581e03f10fb68883dfcd964c2d4904a3aca8cbd7ba798320724f02b14ebcb5300c03462ac2b0346208021945e1034ff32c6608391be33fbe55f53c7025b71a582eec94be56ed92a439777d1816d703022bcf0a8e4a2644a6c8a56dce2ad12aacebf3260a53e04c806cbbf5912fc9630356651de917baf1e9ed0325aa485eeb2accbf5fbe7b2650b63f6155532481ff2d03f9103821b601934d482df73e1ae15b570be704e251c702a31ca7ba640fdcaf620305da9e2bfdc7f60bab1cc9470ff36c106a78bdc140a4f081ea2dfc81c90b759403111bbf32bdf2fa4dea0bbf15b2a47894616f4e4e6076ffeac3f7ef9cbab2ff0703955bb65eec57695070904627d9e21d2abb2a1e23531aee64bc2f950791398b590388213da29c4d9b44b1eaed041cca0f9392ed5bcbad8305dcfd0ee2e9f9f593b30219ffff038ec9c904d4270952fa3cb84ce079ecb69cd6d32eebcbcd00ffd190437c57cac90367c777c0d5893adbd3709a1ee34fa0df39aa49929616c9a494d6eb3faba571e203054b25c0dc6be18d19f07eb3f15c279f547a82a10552ad842064ef504361237e03d1da2bad9d8c3e4ae4f50161ef023019262726dd47a84efaf214727d3b6e9a04031fadf9d7c68a470e27a8a9464546ab43eafaa0ff3fe1dc5176c18c4f45e8213f031cbe6362e431f50e1794e2e8e5120543b33d8af786f16d7681f8ff1232cd4cf603708b1b8d171d1209a86da26a396647c9b1d93fec6783009d6ec6960fc1c2a89a030c677b49d4bdce9fe3882aa84b122dbeaef90e5e5b448b6bda5bd35527422a9d036d8241ba8f7f33c9b13c50ae19cd8b47d9278ec48bcf5ef6e4da2261bf2b93e403eab50ec55558e4897800059b38ed13848d9b166257a416da181edadf964f30230321d5b7bb9826ec9ca0d5ddc27c11421a6653b86f2e17253a04601b71331bc2410219ffff03598e6ee1c1125c6b7086fa65fa0f2e713aba867cf3b49ed451389b7e7504845903cdc25193c1aa98d6a00442dcaedbf7f7e766492e4b796f10279ba8a9147869ea0378fcb2afe7a66623f60a3e2c04ea1ed336238af0d3151e1abb94eb4e0f12388b0344ec398832716f3619ac107db0d1e297e6aede4465690a14afeb9ad66537074203edc9f8c6f16ade6b1f6bc2f08879519d59a8c5a90103ad71f856e3ab8347e1090219ffff03d7bd9ece9d45931bcf48331bf731471b6da87ab8a644fa374ce25608fc1e66ff03f772655437195900a4626ba546a7c83604e5bbaebb6f945a8ed24f7ae4476fa2034be0e71357280655400a1b513f4427954bd21f1bd287864e42eb71cd73df62a403db2c577219d228099a0630f21426d768cb7b10d309352e1f7246f152c2b8494803c66572f58383e885ee4b09235ec9587fde7dcd9168d1c3fb713f985fd4d1f748031b08d31d3f43d7d90c45e756a76f14a87f4cb75ff9ae997f91c674f9370b3517035a6ae47fd4c60efcb73c9c718ddd40c1e059870b37649c4ff65531c26c5e46800219ffff030514c9d7736cc160b7826b9ecc4272646b7b98b17e523e0950e21bd3386201d303c274a3c5c9a8ae97b7e7092b064609ddf60a40380c1d032753594e5a5ef2113a03936859c9f4de1e3adc201278a419dade170329afbe4f27d06c85d9143291670f0370510b33e2a85ad15b33ea84e5cbb7beeba921250088f5cf63257914af6129be037e2ec6026974ae7abb85fa76bf01da1305f4c42af012cb375d0906ddefe7034a03ee9aae715b49059635c1b6d59bdd0e19dcce999daf5cb3fbba24cd8c02e216120336c33965bc07409169c1da6eaa004c3243b0b5ade544b4c3cbcf35e390c5906e03bf8732a2dcaf3cb9eed5ce6de518588b722df7b63118ebacedc3acddcca9063203425014f9d3c06ca9b97fabc3e2c7fe195aa67a5abff1de230e2e49187d300a4503ac482db6a1a0e944067823679dea17e21a6b22f2c83ba2abcc26817f2e58c19f0399964d6cf151a56a43a23be84477dc72e8cac768165213f64ec65b995b92a5520308f5320b30c5e4a464d2ea439006f11cdc914e79e8cb0130367767fe31548963039f1b1fe7fa9a3fb5d7d47c800d757ea8b5ad83dbd8ee6ec4da9ac4ccdd8273a703cf84205986bd6f32a4155c35772efe433a1295e1a1446700886e608a5e2c461f030972d1609599b552167c339aa48d6ae5fda15fa5b832ea203ef723d8ad5eb61803451cf700482504e6a8d53661c6309b794d91ffbc1ee53ef04c13b47c4774cf73037e0c07ee1a9de8c5f6d963f8e696af2ddc0c10c247d53e669d4554500fd697b303a6ec326903990f6f7f4159dcd9446894bd3409961025ad530dd5ceac3d52e77a037815a1e906ad3433f8fc81741559d38ffcf91a53d077131276de3b08cba6957f03de9fdf0ed3d91173b4a4e63067566df8b9ffd958dafa64024b4524685e0c5a3e01410b05581e03a5fd656052d58ce697be9dca634eb8be7b38495f2dfb649b95a0bd9410040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03fb554f06fd3826225ba6152e356ec5bdc21317e4e2ab56e0129ea3d2a007011bffffffffffffffff05581e030185e5ff306ce55884850cd1229e1109cf4815ab48d41c6f583f606bd00c0247033a1ad2d68c5505581e038fafa06790ce29fc48d6d13e1bafe01c072357f372ff1b0dc42804ec500847028ed6103d000005581e030da26dc5b0f7683761a9c2fc03025fef3266f2e899469e214f920c94700c054778727d357361ba05581e03dded7c5b51db1d0c984295bb3ef0767297cbc222a6ba08698986221cf00c186a482337c8dff9c1f60405581e039cf1f3b7c89150dd373d4c6f39cedc666906c3fbc0215ca197b52324100c07470342dcf39088d00373146722a7504a33c86a51be4472996561f73934780d2e94c53b9ad8e1e4d50c038d94b2518d85571711e3760dd6a5ba75d870e044842f88c306fa10e90e8cbc1b0219cf9503d93c1dd782977bdde2f87077c0919b7212175bf22f89d1056e8226de58a32e3503d2d264f49ab5d9bb4eaf0b391cb99563168de9b9576169befcbc9b94c502303103ca71d5363fa100af579ed893894c0ca1dc89248ab5c0255cec482f31d0cac1830301720b28e70f64e0d152bf2702b9bd7710467651d8d203fd35d8b676e2b2bc5e03c1e188c9f6902b2ce916a96774a70e93ae5b06b6d3884171a040b9388bd4ec6d039640a812ba7bb0337f983da10bd7876bbf581086fffb609ccc23b3aee12efa4b0340183b97529cbe1c6d0f9425ffec2a19c4e4cd79a4e19adfae955e252feb3476035d631e9f478533b27356ccb27fb922396196d39f1c3c3cd3ba640eb2e65d7e76039728be4941f7771ccc66ae2112a581c6ea46ca4bec04b47d027ce7e5e1158ec30219ffff03c1db94be6e76446f21dc2a83ed376601f6f88bc6df7c4c75858dfe1a992efaa60308d5413e3a30ac721149a84a97585a713e41d9412650124efdd2719528b86d01036f2b80aa479c5ca9802ca90bf3a3bcb47e53b83f6b24dbb3963aea9ce28620b8034107b09d030b4de5850d369329692abf9e46af3eb87257e355effa031d3ecf3103f747cd819b67fe3740b882c3473066140eb78b7970b4a82647dbf994579120270366837ceceb6072918f4eaf7c2c45a7aba912ab0761cfc588e5325e8d51a8136d03c5e86de81a05b178a874e32ef8ca1cca7d6eac0b8aa842bd20fce320ab4f995f030a7c545321c56ac1d084151c3ec73d19b55d020e9cf7c1c45ac15b818149b39703dad370325e460d8108e08909f527666962fac48d60972d7de862dcb1af6bf0a90303a11a5da8539646736f1398dc8dc2555942d1c79a5bb6f271d149931a415340039cf267ab64111a30ac588bf72e45da9cbdff271259de4a4664bf524f84b1291b0364233ae43c6c06faaf3548d904fc3d4897c473a869ff656db643296841aa413a035e3cdc556ec8b1a652f45d6c09e07135826e0611d9f9d6a98db2036cc41cebd40219ffff031dc43c967546d240c14b5bbb4c589d21da42ad3a2ae350abe6df374c3bdbf7d903190010decd1351ab426935c1cf0d730f8014bd0d4f1395c02e57ca6996d65aca034402cfabb3f1cef1579165e42082fe196207f8c10f72c7dffdfbe7a6172a962a034be10ab6c150a5099d896354efbc5871bcf92cef413c67451ecba7ac8d68d94203e2f37f41b7ca8e69a12701cb9490231ed1624362851208a7b72bd509991d0028039f96962846ce4bf2cd29f1d2214bc3584697900fb75613c16cdd74cdf943166f03a6026a555dc95cb1338fe252d3dff15dfc9a1ffaf2fe179ba2cbc6d97228bad30326b35feebc1552685d57c216c8ce8e3f2211b158f2a4e46158f1decafc96f50c031747fa36f2dd6f5cb529596d52cfa0df8f38efbcf87df871fd8c9f4e20ea4426035db49085e5dfa22dfdd616ca7be9c15269e72b448df38200cfc7816d87b0e4b40348d80ff7d513259cb6f89aec5f5e783e313cde5c96d610ee8fa0147b3ce3e9b80308a3c5cbfd804c6f9c366a148813d4dd11ddaaf92587b4ce5cf43a840680e229034a992d1496d4ac9f79499bac80a745d690a6e67d3c2ad45bc323ca69118018f70219ffff033982baf2f50522e80a7b3d1c282bedfb8906071d569fac6862a0cb48286740ce034e1232fcb88f6de6be4ace419a68cfc62d90a843aa227946ea0c5a9f59e523cc034ccb6a335900fe6e7280c05c406ddd3dc9a010cf4b9577c64071d83126d030ad03d3922c5c17254d83694f713b7201237bd24e54dd36f20eb46e2943fc7a15b56003a85c6b90719992fe6057f90517584dd428fa6797ffa1c0974d5f89b0650c968003f876f581f76ceaab789825caa5662995005cc4768381e8cb0e1df061a02bb9d003e1e8401ae359ae90cffbc4cadf1e9957ae94d51e3df5c9a73ce3140dfa8b4f8c0338359ded6781f6c0bc95f38257b157ec889bedc97bba98b26fdce2ca727fcd0f0219ffff03a96bf98acae212bdc0f60e39271ec2f35c0b356e5e5c96d997d3cfdd27561ff303b85fb4d82e87f8052ca74748bdfa9facedb4a13bd75acc61effaa22e7a5477b4036c557412842e57f9c4ae9a895edf39aecff1d7d0a8c53e945e4d6167edddb1d003e0630833f7112433a49310ef4709391840e77704659a4f36de2134976b954d67033cb2c1d45bd9999a614e02b645cbb81c3b38ab31af6012b0ae34f1b4318fa2e703acb09baffacf5c7f36da9c1efee9ba368e53e2e0b5794469a4778120b4b2496f0303fe9f1a86dcf53106a51acfbd528affc36cf3e0a7eb460f1fbb2f4d7734d4dd034978492150341c1f9ff121f8819f2f080947ced925cd00c0741bcb17ec14dae00310d3838f10cc2f6efc2a5c3a24a7b51e223f299a7249dbe5d8eb0336e6ec5d2103d75af6f76cae885a23b4258cb3b2e73e2b5e6561c9e6fe4f538495901fea9dae03b6361a4a3ef4149b1fd51b991ab8a2b7f1c784107d7982c1677a95827ef0f67903a473ef48b45e2fa99b7eaf656244b107e8f7a8725f59a84a3e3e8fc3783cc36603239052cbe6a46ed6ad785e071a03bf55f0a08a4386b91c9f4277c9b4fb2e070f0383ad7d71594261016c3436561b6cc303237f411932b6c589b3cf743015e5e078035c825d694d8790eea37f34eba25baff93f5f4d01ead1b5299190a6415e60eebe035a75fc6a66f1d79053afeb3cd89e0ef67eb2dad40c610b3c6fbbf65b23fed166036148653e3a1b34d4f2ba4c0108019614116c2c81ff0baccbf6eabf413e8d2cf1035c7e1dbfbeac158146f60b6258d1cf89c9c86d78c27d306e463b8777d74159e203918d2003ca9530802ac4297d4f4f4059cc5f8eefbef5b2c3f1e1a75fb0da7ce80344c7f83de3767527b87808433cea440add1abdc21958ca3a6d8b5ad468cd47670346625c9abb4de3f10bc62e2bb79e2d4b121aace6d70d413d52088eedca8974e703df2234abb2bc67e8633ec6522e623f0cd75e0e624486b9ddc1d6bc6305a9b69a03230ffadd76935253f3c98dd6b74a21fcb6ffd603d010d71109446a4e2ff05c1303b55da95eeb8022ea9f764f6fb9511a82fe26f598c6a73ce36a3f6bd8f31e9be50355284229177eabc51491684a8f1f7d26cbbb0941a07f4fc45c095f58ea51a4ba0390bb17e624e25a0e2cead4a6788eb462122439f171438684b0f9e4137056cad50375a9a2e74df7f4250625a23044de8d3b5a0d5d46554c155839c509bb0f878f1e03dd4972a2ca580b027f6600f7f351bb097a44f3270a77aba938d377ebf95402f603f6c3ddb3f6a942c2f8e5042b7aa03cc975cd940076634f19d59f5509cb934b7e035bb4e28909d32411043ecf7cb2bea9cc537b2adea66afde6bb7a7252521f2a1d03472727fd2abdfd7b7d0522fac1482c24ab11b11a976d0abd8e68d63fc4bbb14e03207fb66c5f6affe897c7d9ed861ebd3feb852bd5f269e77184e22b571bb0128503a79825200ff898579cbdd0d42bb58df3c595311f0d6bb8a5e617d8c459b843b3031e066eaf7ecc8f473937f4023037227150234efa8adb67b9d26968f5b7fdd8d60376e70cec0559fa1a38946c7140d96bcb33bf0c0848fbb7f113211a526ce9dcdf03e5314bca4ea077809e8542a370f980459f673793f956f5273cd525f1288e4918035df371d9fa98784741ce87b2ad3ad4b506e2b8fb9e69c88f069d1849c39c2d9a039592041ba5f9e7e17a95f92c02e009c113ce73baf9f144bc0be681eb8b344ca9037662b51617aaa494a69654105b2f4339d787e2270a294a3c7720bf410c6c5b6b03657c9667cd4c4dc4c68aff1a515e6a0a35b4543bbe5aba1ad97fb53349662d950378047952d2008842519a15e756bba5f128b43977f9b70d273a12b0b33f3475c005581e0361ca3ab37370e999383754a427e9cbb499ef62199ddd8159a120c220c0040205581e03f36e6e211b104002f8aaf2d72fdc720433e5cf906298ad5c4dc9f53d900c014708d952ecf96c0005581d02904891f85119e942ba587da80b9e5cd27a7341d2c8444cf2c483786e0c19bcb0483408438a75babcc405581d021e01aaaf06ed39b3d5769854985240f2d0fe845d3d76d4ee9fa26274040e021902040365a171a68484e34a202e133a8f36edccd88f7b61c02e657522d8a6c536f820e605581e03aa683e486278b5435a79fd0ef67705225d3cf1162001ffdb849c2c7ae00c04464ff19e3f3c6805581e03cc1820b98285efea6cfe007ce81b4da4bd9e8625ff924b9c354c216f900401036f8e7b179163beb6e7be221ecc56e1b32e1862c0c8e65a8178890dee7625e62805581e03043571f01386f6a158211c34a25062042e49c70b164adc814d12914720084708664d80ba82b80219c87b03dc560377a7d58470fa47d28661a49479f0069b73d9baa4de33061f775044c9cf03f2145b18f926809d348de858949f37a13f3e0e640817b121076ec2e83cb6939303be00460d9aa041cb6b2ef05122d8fed24e7e68d232a4d40d6ff3aa86e738373b03d74f734c5b428663b2433480cc4f5bae365d9003acec404632fb916f6150930e03c2b0d0d21dbec9cacc093eebff6eb5d9caac249867952165174c7d31d79f51a40389732185edbed893a74de9e6a189ff0a1c89013144da5873bcd0b8f298fc2b730358f118652c93a1d1473c6dc99ca89f08eac2fecca378ebb496282341abb4ed6703d7a511575ecfa69f4fa822d0baf809dad9be14fcd50cac06b26e985b367a51220219ffff03d5d9d2db79ac183aefd66df21ede7ee86250b452445b6e3aa1b6a2ab442db40603e53552828f75e8bae7e8065e135c606cdbb736d04cecf6e0af1763bd4a945a57032d4cb3bf00dd0de94c0e0f3bba48175bf760d9a72b14d2d23159200f9ee6f5e7034762bdc009549f89daa7249569b2721e5c2c07112d0989ed61c1876ec61e2c6d035f333bf83956beb9154882e9ca95891bb3a2b8661e65c23be7f24446117923db038e992a6c770a20647cfb5a0fdc7a77ae10a8676188b9a18b343e9e6cdcc67e720324d713f83824eb06a5eea6b6d5df778e91d5dd9239b2982722499636a137712b030357051acc71c80c151a686aabcfcb568d87bd635b036f24d866846f25957fda0362c086af6920efff38f3eeafd0dad103bf87e94339b7a3459c2154d8fc3f85bf0219ffff03019e41c0984f181010b8aab74f88319a2ff6f699654b9c64f45971ec86c4aa950219ffff037a27355c1be40e1aa23fa2dbc6244312d852419d73cfe6c2eecaae7d503e2d790394d854bd8df4c9cb282100b7e21fd5019f7c94312e41234a7d2dff49c579acd4037bfe0c4084d843086e9282acdfcd6946d2829bd2e60686bf211583c3ac94a2e1037150db65c3ee5b5efd9c9adedb956fc315aabe293e294645bb8814c368c585ed03fbd2979986c6697b7e37289ba54c2907f108364aa55e2f4ef4b1537521fa36fb034c5e36b900a1e1c2a62d0df591a7d14c16701164dd9654755dd4fecf57635166034abe00cd3bcb2dda0dc2e9e9bba4788e2572c297363fac208914b1dbd6be2e9a033ee14d303475adcc0a49c955b8897e3acbcef6e8f570c2090758e28ff9edded60219ffff038d8c3cdd29ab08a26093442e7859a5cdc6cce1c6a315c90e0fe1297cca2c0bf90337bbdf871cd110ea11a1c69046d1af6c26c94bbadeee834c0bbe349d712e142a0219ffff03e78cbab8c801b528a16a71db904306e88d329d02acaef53a1c60fe1008f420b10328d729800f1f178643992fef5b01e8c87426c47efc733973325b14d2697c1665032ffd3afb9ad7f77130f15ec93d6493af96f42faf98103c8d7dcc9168b040e978037784ec79fdff0ecae589f2edba9d6d5d06882fafcc23c23524dfe10876a9f47703fb1cb142b2b75e310a9b7ceb775cd005af478d65afd099216dc84b1bec3ff78603bf9304b3c63dffcac293f3c423a20d754e842cccf9548cfdc8a14dba8864ebcc03fe3ec4c1da00f18de8cc0dadcb9a067a62fb116721bb40884624657cc55faaad03fd45cf5c9b54e058b05267e509f17a01959298987a8cc48ee8ee320b0f48345303549f3533c303b773c31196973479045edc2d4104617a3e40e8d4843aff033ca903a9dd42473dc2a04461505b505884a9cd7005db84b15b207a6647b09da30aa4e703840a1780a2eb1718544e577809fa319dab62516d9e3c9b22773ba59db81bbfb5039cc3c2a6f408e31e0651ebebfc7d5cc84c1cfb37362667c61b3c3ec81a55642003c7e2025fe4736de432a2b1e2870d98f0b7733cdeafdcd9e231c0efa71c856e0103a3e62675e2d61bf54b380c558127761d4f1ab76c2ad192d0a0c36c3b3c1c9a38030547398548c5c02fb10dfee8cd9dd7b52677308b6c050e22855396c76fbba685037c6f001ad55006533fed297f077c62346b004d9ffe9ebb8cc0f49e318db5499303cc30fd706a6467a3d1ebc03ba1062953e63dd50c0e506edf69bc7e09c64d6fe2033cb5d593b28382d496be9e389aa61d2fda25d5dc8ca33f15c4156898e47f7b0f03b9ac59af1d015529220489afa37a70147e1b4dd00fb36473b6d0b1ac0e76516f03d43bc0e30cfa0e89fec0b0d7011e155c34a2249dd3b6975950811feb5567081d0380dde92769abcf818ca7eb399ece5a72868e34b567030b20255f9571a8a8b9870320ab4b014b71839f151908be8ceb14489c144b063e15148c5387ed89478894b203299e87fa5695364244250d23a8d0248cbfe57ab45ef2ceda90d2022087e33f18039c1a0d0b920462f28f727e19c7e0044e5bfa560d3ca17dbcebc06608d18e8135035acfc2bac14413bd0e2e210e561df4ef00f19beff379536f3ec652ea8baa22d603993add5605371f8429f46b8272b4c67aa0a71e824db4f23b1acd248335c0982f05581d03a0c9cf1688de729324d71300dc9a0d65f9e69245464a6231dc6543900403045957886080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806301ffc9a7146101f4578063088890dc146101ef578063150b7a02146101ea578063192128b2146101e55780631f00ca74146101e057806323a69e751461016d57806324856bc3146101db5780632f100e4a146101d65780632f40e62a146101d15780633593564c146101cc5780633d0e3ec5146101c757806349df728c146101c25780634b31e26f146101bd5780634eeca823146101b857806350431ce4146101b3578063547988f9146101ae578063791ac947146101a9578063a0136443146101a4578063b6f9de951461019f578063bb7b9c761461019a578063bc197c8114610195578063d06ca61f14610190578063d1ef92491461018b578063e81dc5c114610186578063eb92db2714610181578063f23a6e611461017c578063f2fde38b14610177578063f9da581d14610172578063fa461e331461016d5763fb3bdb410361000e576116c5565b610895565b611690565b611663565b611609565b6114f6565b61149d565b611443565b61141c565b61138d565b611373565b611314565b61126f565b6111c2565b6110ec565b611083565b61101f565b610fbc565b610ed5565b610d01565b610bf1565b610b2c565b610b14565b6109ff565b61086e565b610815565b610745565b6103ef565b346102625760203660031901126102625760043563ffffffff60e01b811680910361026257602090630271189760e51b8114908115610251575b8115610240575b506040519015158152f35b6301ffc9a760e01b1490505f610235565b630a85bd0160e11b8114915061022e565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03811161028d57604052565b610266565b606081019081106001600160401b0382111761028d57604052565b608081019081106001600160401b0382111761028d57604052565b60a081019081106001600160401b0382111761028d57604052565b90601f801991011681019081106001600160401b0382111761028d57604052565b6001600160401b03811161028d5760051b60200190565b6001600160a01b0381160361026257565b929161033782610304565b9161034560405193846102e3565b829481845260208094019160051b810192831161026257905b82821061036b5750505050565b83809183356103798161031b565b81520191019061035e565b9080601f830112156102625781602061039f9335910161032c565b90565b9060a06003198301126102625760043591602435906001600160401b038211610262576103d191600401610384565b906044356103de8161031b565b906064359060843561039f8161031b565b6104066103fb366103a2565b9294904211156116ef565b61041761041283612865565b61173b565b61043061042385611791565b516001600160a01b031690565b6001546001600160a01b03949161045091869081165b16951685146117d7565b833b15610262575f60049460405195868092630d0e30db60e41b825234905af193841561068957610500946106ff575b506001546104a490610498906001600160a01b031681565b6001600160a01b031690565b6104c66104b361042388611791565b6104bf610423896117a3565b90866128d5565b60405163a9059cbb60e01b81526001600160a01b0390911660048201523460248201526020959091869183919082905f9082906044820190565b03925af180156106895761051b915f916106d2575b50611843565b6105376104986104986104236105318951611872565b896117c3565b6040516370a0823160e01b8082526001600160a01b038516600483015292918690829060249082905afa9485156106895787915f966106ab575b5061057d918591612aab565b6105996104986104986104236105938a51611872565b8a6117c3565b6040518381526001600160a01b0385166004820152908690829060249082905afa908115610689576105d49186915f9161068e575b50612c17565b101594856105e6575b610018866118c0565b61063095509061060b610498610498610423856106058a989751611872565b906117c3565b6040519182526001600160a01b03909216600482015294859190829081906024820190565b03915afa80156106895761001893610650935f9261065c575b5050612c17565b1515905f8080806105dd565b61067b9250803d10610682575b61067381836102e3565b8101906118b1565b5f80610649565b503d610669565b611823565b6106a59150883d8a116106825761067381836102e3565b5f6105ce565b85919650916106c961057d93893d8b116106825761067381836102e3565b96915091610571565b6106f29150863d88116106f8575b6106ea81836102e3565b81019061182e565b5f610515565b503d6106e0565b8061070c6107129261027a565b80611079565b5f610480565b9181601f84011215610262578235916001600160401b038311610262576020838186019501011161026257565b346102625760803660031901126102625761076160043561031b565b61076c60243561031b565b6064356001600160401b0381116102625761078b903690600401610718565b5050604051630a85bd0160e11b8152602090f35b6060600319820112610262576004356107b78161031b565b9160243591604435906001600160401b0382116102625761039f91600401610384565b60209060206040818301928281528551809452019301915f5b828110610801575050505090565b8351855293810193928101926001016107f3565b346102625761083b61082f6108293661079f565b916119aa565b604051918291826107da565b0390f35b9060406003198301126102625760043591602435906001600160401b0382116102625761039f91600401610384565b346102625761083b61082f6108823661083f565b5f549091906001600160a01b03166119aa565b34610262576060366003190112610262576024356004356044356001600160401b038111610262576108cb903690600401610718565b925f8313938415806109c5575b6109b357826108ec9161090c94019061280f565b6001600160a01b0390811692610901836143e2565b818398929a93614430565b83339116036109a157156109935750808616908416105b156109355750610018935033916144d1565b9150916042825110155f1461096957610018935061095282614559565b61096461095f33926145f6565b612855565b614605565b919290506009548211610981576100189233916144d1565b6040516339cedf2960e11b8152600490fd5b945080841690861610610923565b6040516332b13d9160e01b8152600490fd5b60405163316cf0eb60e01b8152600490fd5b505f8213156108d8565b9181601f84011215610262578235916001600160401b038311610262576020808501948460051b01011161026257565b604080600319360112610262576001600160401b036004803582811161026257610a2c9036908301610718565b93909260243590811161026257610a4690369084016109cf565b946001956001600c5403610b03576002600c55818103610aef575f5b828110610a73576100186001600c55565b610a8f610a8182858a611abd565b356001600160f81b03191690565b610aad610aa7610aa0848689611ac9565b3691611b25565b826133b7565b159081610ae0575b50610ac1578701610a62565b8451632c4029e960e01b8152908190610adc90828901611b7f565b0390fd5b600160ff1b161590505f610ab5565b6040516001621398b960e31b031981528590fd5b6040516337affdbf60e11b81528590fd5b61083b61082f610b23366103a2565b93929092611bad565b60e036600319011261026257600435610b448161031b565b6001600160401b039060243582811161026257610b65903690600401610384565b91604435908111610262573660238201121561026257806004013592610b8a84610304565b91610b9860405193846102e3565b8483526020946024602085019160051b8301019136831161026257602401905b828210610bd65761001860c43560a43560843560643589898c611d9f565b813562ffffff81168103610262578152908601908601610bb8565b60603660031901126102625760046001600160401b03813581811161026257610c1d9036908401610718565b92909160243590811161026257610c3790369083016109cf565b936044354211610cf0576001946001600c5403610cdf576002600c55818103610ccb575f5b828110610c6d576100186001600c55565b610c7b610a81828589611abd565b610c8c610aa7610aa0848689611ac9565b159081610cbc575b50610ca0578601610c5c565b604051632c4029e960e01b8152908190610adc90828801611b7f565b600160ff1b161590505f610c94565b6040516001621398b960e31b031981528490fd5b6040516337affdbf60e11b81528490fd5b604051632dfb7c8b60e11b81528390fd5b346102625760c0366003190112610262576044356001600160401b03811161026257610d34610e009136906004016109cf565b6064359291610d428461031b565b610dfa60a43591610d528361031b565b610d604260843510156116ef565b610d6c61041284612865565b610db0610d8a610d85610d7e87611872565b8785611f31565b611f41565b600154610d9f906001600160a01b0316610498565b6001600160a01b03909116146117d7565b610df1610dc0610d858684611f19565b610dcd610d858785611f19565b90610de960043592610de2610d858a88611f22565b90886128d5565b9033906140f5565b3093369161032c565b90612aab565b600154610e1790610498906001600160a01b031681565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92610eb4575b5060243582101580610eab575b610e59906118c0565b823b1561026257604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af19283156106895761001893610e98575b5061376c565b8061070c610ea59261027a565b5f610e92565b50811515610e50565b610ece91925060203d6020116106825761067381836102e3565b905f610e43565b346102625760208060031936011261026257600435610ef38161031b565b610efb6141d1565b6040516370a0823160e01b81523060048201526001600160a01b0391909116908281602481855afa908115610689575f928492610f6f928591610f95575b50610f45811515611f4b565b60405163a9059cbb60e01b8152336004820152602481019190915293849283919082906044820190565b03925af1801561068957610f7f57005b8161001892903d106106f8576106ea81836102e3565b610fac9150843d86116106825761067381836102e3565b5f610f39565b8015150361026257565b60c036600319011261026257600435610fd481610fb2565b602435906001600160401b03821161026257610ff76100189236906004016109cf565b916064359061100582610fb2565b60a435936110128561031b565b6084359360443592611f8f565b60c0366003190112610262576044356001600160401b0381116102625761082f61105061083b923690600401610384565b6064359061105d8261031b565b60a4359161106a8361031b565b6084359160243560043561234b565b5f91031261026257565b34610262575f3660031901126102625761109b6141d1565b4780156110b1575f808080933382f11561068957005b60405162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20776974686472617760681b6044820152606490fd5b6080366003190112610262576001600160401b0360048035828111610262576111189036908301610718565b926024359081116102625761113090369084016109cf565b9290606435936044354211610cf05761114b85341015611e99565b6001956001600c5403610cdf576002600c55808203610ccb575f5b818110611180576100188761117b6001600c55565b614044565b61118e610a81828489611abd565b61119f610aa7610aa0848789611ac9565b1590816111b3575b50610ca0578701611166565b600160ff1b161590505f6111a7565b346102625760a0366003190112610262576044356001600160401b038111610262576111f5610e009136906004016109cf565b60643592916112038461031b565b610dfa42608435101591611216836116ef565b610db060018060a01b0361122d815f5416956116ef565b61123961041286612865565b61124f610d8561124888611872565b8886611f31565b600154909190611267906001600160a01b0316610498565b9116146117d7565b60a03660031901126102625760043561128781610fb2565b602435906001600160401b038211610262576112aa6100189236906004016109cf565b91606435906112b882610fb2565b5f546001600160a01b0316936084359360443592611f8f565b9060806003198301126102625760043591602435906001600160401b0382116102625761130091600401610384565b9060443561130d8161031b565b9060643590565b61131d366112d1565b9291924211159061132d826116ef565b5f546001600160a01b039390841692611345906116ef565b61135161041284612865565b61045061136061042387611791565b60015486906001600160a01b0316610446565b346102625761083b61082f6113873661079f565b916123d3565b346102625760a0366003190112610262576113a960043561031b565b6113b460243561031b565b6001600160401b03604435818111610262576113d49036906004016109cf565b5050606435818111610262576113ee9036906004016109cf565b505060843590811161026257611408903690600401610718565b505060405163bc197c8160e01b8152602090f35b346102625761083b61082f6114303661083f565b5f549091906001600160a01b03166123d3565b60c0366003190112610262576004356001600160401b038111610262576114716100189136906004016109cf565b906044359161147f83610fb2565b60a4359261148c8461031b565b6084359260643592602435916124d1565b60a0366003190112610262576004356001600160401b038111610262576114cb6100189136906004016109cf565b90604435916114d983610fb2565b5f546001600160a01b0316926084359260643592602435916124d1565b34610262576020366003190112610262576004356001600160401b0380821691828103610262575f805160206157338339815191528054928460ff8560401c169182156115fc575b50506115ea577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2936115e5936001600160401b0319161790556115a55f805160206157338339815191526801000000000000000068ff000000000000000019825416179055565b6115ad61264d565b5f80516020615733833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b851610159050845f61153e565b346102625760a03660031901126102625761162560043561031b565b61163060243561031b565b6084356001600160401b0381116102625761164f903690600401610718565b505060405163f23a6e6160e01b8152602090f35b34610262576020366003190112610262576100186004356116838161031b565b61168b6141d1565b61278b565b5f366003190112610262576116a36141d1565b5f34156116bc575b5f8080809334904190f11561068957005b506108fc6116ab565b6100186116d1366112d1565b916116de428410156116ef565b5f546001600160a01b031693611bad565b156116f657565b60405162461bcd60e51b815260206004820152601860248201527f556e69737761705632526f757465723a204558504952454400000000000000006044820152606490fd5b1561174257565b60405162461bcd60e51b8152602060048201526013602482015272556e737570706f7274656420466163746f727960681b6044820152606490fd5b634e487b7160e01b5f52603260045260245ffd5b80511561179e5760200190565b61177d565b80516001101561179e5760400190565b80516002101561179e5760600190565b805182101561179e5760209160051b010190565b156117de57565b60405162461bcd60e51b815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f504154480000006044820152606490fd5b6040513d5f823e3d90fd5b90816020910312610262575161039f81610fb2565b1561184a57565b634e487b7160e01b5f52600160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161188057565b61185e565b60011981019190821161188057565b9061271091820391821161188057565b9190820391821161188057565b90816020910312610262575190565b156118c757565b60405162461bcd60e51b815260206004820152602b60248201527f556e69737761705632526f757465723a20494e53554646494349454e545f4f5560448201526a1514155517d05353d5539560aa1b6064820152608490fd5b1561192757565b60405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f5041544800006044820152606490fd5b9061197682610304565b61198360405191826102e3565b8281528092611994601f1991610304565b0190602036910137565b8015611880575f190190565b929190926119bc600283511015611920565b6119c6825161196c565b936119da6119d48651611872565b866117c3565b526119e481612c24565b906119ef8351611872565b805b6119fb5750505050565b80611a29611a15610423611a0f8795611872565b886117c3565b611a2261042384896117c3565b9085612d0d565b50909391905f9083611a9757505090611a7f91611a9194611a6c611a58610423611a5288611872565b8c6117c3565b611a65610423888d6117c3565b90896128d5565b915b611a78868d6117c3565b5188612f41565b611a8b61053183611872565b5261199e565b806119f1565b809194959350611ab3575b50611a919392611a7f928792611a6e565b9550611a91611aa2565b9082101561179e570190565b919081101561179e5760051b81013590601e19813603018212156102625701908135916001600160401b038311610262576020018236038113610262579190565b6001600160401b03811161028d57601f01601f191660200190565b929192611b3182611b0a565b91611b3f60405193846102e3565b829481845281830111610262578281602093845f960137010152565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60609181526040602082015281518060408301528060808484015e5f828201840152601f01601f1916010190565b92611bba904211156116ef565b611bc661041285612865565b611bf881611bd661042382611791565b6001546001600160a01b039081169691611bf2911687146117d7565b866119aa565b93611c0e611c0586611791565b51341015611d43565b611c1785611791565b5193803b15610262575f90600460405180978193630d0e30db60e41b83525af193841561068957611cc394611d30575b50600154602090611c6290610498906001600160a01b031681565b611c84611c7161042386611791565b611c7d610423876117a3565b90856128d5565b90611c8e88611791565b5160405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909586919082905f9082906044820190565b03925af190811561068957611ce38692611ce8965f91611d175750611843565b613617565b611cf181611791565b513411611cfb5790565b61039f611d11611d0a83611791565b51346118a4565b3361376c565b6106f2915060203d6020116106f8576106ea81836102e3565b8061070c611d3d9261027a565b5f611c47565b15611d4a57565b60405162461bcd60e51b815260206004820152602760248201527f556e69737761705632526f757465723a204558434553534956455f494e50555460448201526617d05353d5539560ca1b6064820152608490fd5b91909395944211611e87576001600c5403611e75576002600c55611dc585341015611e99565b8351815190600182018092116118805703611e405783611dff93611e1897611ded88346118a4565b91611df883306137e3565b30956139d8565b611e0833613df5565b6003815114611e24575b50614044565b611e226001600c55565b565b611e3a90611e3561042333926117a3565b613f2c565b5f611e12565b60405162461bcd60e51b815260206004820152600d60248201526c1a5b9d985b1a59081a5b9c1d5d609a1b6044820152606490fd5b6040516337affdbf60e11b8152600490fd5b604051632dfb7c8b60e11b8152600490fd5b15611ea057565b60405162461bcd60e51b815260206004820152602160248201527f5469702063616e277420626520626967676572207468616e2074782076616c756044820152606560f81b6064820152608490fd5b906001820180921161188057565b906002820180921161188057565b906064820180921161188057565b901561179e5790565b906001101561179e5760200190565b919081101561179e5760051b0190565b3561039f8161031b565b15611f5257565b60405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b6044820152606490fd5b9293949091611fa085341015611e99565b8434039234841161188057611fb691369161032c565b9215611fdd575093611fd791611e2295611fcf42611f0b565b913391612160565b506140a0565b9490916064420180421161188057611ff7904211156116ef565b61200361041283612865565b6120358161201361042382611791565b6001546001600160a01b03908116999161202f91168a146117d7565b846119aa565b9161204b8461204385611791565b511115611d43565b61205483611791565b5196803b15610262575f906004604051809a8193630d0e30db60e41b83525af1968715610689576120ed9761214d575b5060015460209061209f90610498906001600160a01b031681565b6120ae611c7161042386611791565b906120b886611791565b5160405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909889919082905f9082906044820190565b03925af19182156106895761210f61211793611e22995f91611d175750611843565b833392613617565b61212081611791565b51821161212f575b50506140a0565b6121469161213f611d1192611791565b51906118a4565b5f80612128565b8061070c61215a9261027a565b5f612084565b93919092612170904211156116ef565b61217c61041283612865565b6121ae8361218c61042382611791565b6001546001600160a01b0390811697916121a8911688146117d7565b846123d3565b936121bc6119d48651611872565b506121db6121d36121cd8751611872565b876117c3565b5115156118c0565b6121e485611791565b5190803b15610262575f90600460405180948193630d0e30db60e41b83525af1801561068957612338575b5060015461222790610498906001600160a01b031681565b90612237611c7161042386611791565b9361224186611791565b5160405163a9059cbb60e01b81526001600160a01b039690961660048701526024860152602094928590849060449082905f905af1801561068957610498610423836122a8866122b2968c6122df9b611ce3610498998f9d8e5f9261231b575b5050611843565b6106058151611872565b6040516370a0823160e01b81526001600160a01b0390921660048301529092839190829081906024820190565b03915afa9081156106895761039f925f926122fe575b505015156118c0565b6123149250803d106106825761067381836102e3565b5f806122f5565b6123319250803d106106f8576106ea81836102e3565b5f8e6122a1565b8061070c6123459261027a565b5f61220f565b909492919361235c904211156116ef565b61236861041284612865565b6123988461237861042382611791565b6001546001600160a01b0394916123929186908116610446565b856123d3565b946123a66121cd8751611872565b511015806123b8575b6121db906118c0565b506121db6123c96121cd8751611872565b51151590506123af565b929190926123e5600283511015611920565b6123ef825161196c565b936123f985611791565b5261240381612c24565b915f5b6124108251611872565b8110156124cb578061243f6124296104238794866117c3565b6124386104236121cd85611eef565b9086612d0d565b50909391905f90836124a75750509061249491600194612481612465610423878a6117c3565b61247a61042361247489611eef565b8b6117c3565b908a6128d5565b915b61248d868d6117c3565b51896142bf565b6124a061053183611eef565b5201612406565b8091949593506124c2575b5060019392612494928892612483565b965060016124b2565b50505050565b969594939291906124e482341015611e99565b81340390348211611880576124fa36828b61032c565b94612509600287511015611920565b612513865161196c565b95816125226105318951611872565b5261252c89612c24565b906125378151611872565b90818315925b612576575050505050612570611e2298998361256661255f6105938a51611872565b5198611791565b511192369161032c565b9161421c565b806125e285858f948e6125f4966125a9612595610423611a5286611872565b6125a2610423868d6117c3565b9083612d0d565b50509390928d856125ba8d51611872565b84149182612642575b5050612629575b5f956125fa575b906125db916117c3565b5190612f41565b611a8b6125ee83611872565b8d6117c3565b8061253d565b9450806126208b611c7d6104238461261a6104236119d46125db99611872565b936117c3565b959091506125d1565b61263285611872565b61263c83836117c3565b526125ca565b10159050858f6125c3565b73bdeb498e872e36f899f237fd1b93673ed6c14474330361275a57612670615060565b612678615060565b6126813361278b565b612689615060565b6001600160601b0360a01b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f815f5416175f5573c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2808260015416176001556126d7615060565b6e22d473030f116ddee9f6b43ac78ba3826003541617600355816002541617600255731f98431c8ad98523631ae4a59f267346ea31f9848160045416176004557fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546005556006541660065561274a614379565b612752614389565b611e226143d3565b60405162461bcd60e51b81526020600482015260096024820152682737ba1027bbb732b960b91b6044820152606490fd5b6001600160a01b039081169081156127f7577f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91906040838203126102625782356001600160401b03811161026257830181601f8201121561026257602091818361284993359101611b25565b92013561039f8161031b565b600160ff1b8114611880575f0390565b60018060a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81149081156128cc575b81156128c3575b81156128ba575b81156128b1575b816128aa575090565b9050151590565b801591506128a1565b8015915061289a565b80159150612893565b8015915061288c565b916128df9161471a565b6128ea839293612c24565b6129a65761039f9261293c61294a612907610498610498876147e1565b93604051928391602083019586906029926001600160601b0319809260601b16835260601b1660148201525f60288201520190565b03601f1981018352826102e3565b51902090916043916055936040519260388401526f5af43d82803e903d91602b57fd5bf3ff60248401526014830152733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c8201206078820152012090565b906129e3612a4b61039f9461049894604051938491602083019384906028926001600160601b0319809260601b16835260601b1660148201520190565b03926129f7601f19948581018352826102e3565b51902091612a04846147e1565b6040516001600160f81b03196020820190815260609690961b6bffffffffffffffffffffffff191660218201526035810194909452605584015260759081018352826102e3565b5190206001600160a01b031690565b604051602081018181106001600160401b0382111761028d576040525f8152905f368137565b909260809261039f95948352602083015260018060a01b031660408201528160608201520190611b5b565b9092915f5b612aba8551611872565b811015612c1057612ace61042382876117c3565b90612ade610423611a0f83611eef565b91612ae9838261471a565b5092612af68183886128d5565b8094612b0383858a612d0d565b50604080516370a0823160e01b81526001600160a01b03968716600480830191909152919891969491851693909260209290918385602481895afa918215610689578f612b608f9483908b99612b66995f9261065c575050612c17565b906142bf565b931603612c08578a5f92945b612b7c8251611885565b881015612bff57612b96610423612b9d936106058b611efd565b908b6128d5565b965b1691612ba9612a5a565b90833b1561026257612bd25f9692879351998a978896879563022c0d9f60e01b87528601612a80565b03925af191821561068957600192612bec575b5001612ab0565b8061070c612bf99261027a565b5f612be5565b50508796612b9f565b8a5f94612b72565b5050509050565b9081039081116118805790565b5f906001600160a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8103612c525750506126f290565b61039f57505f90565b51906001600160701b038216820361026257565b9081606091031261026257612c8381612c5b565b916040612c9260208401612c5b565b92015163ffffffff811681036102625790565b519061ffff8216820361026257565b919082608091031261026257612cc982612c5b565b91612cd660208201612c5b565b9161039f6060612ce860408501612ca5565b9301612ca5565b8115612cf9570490565b634e487b7160e01b5f52601260045260245ffd5b9091612d19818461471a565b5091612d2481612c24565b60018103612dfd5750612d42610498610498600494876080956128d5565b604051630240bc6b60e21b815292839182905afa908115610689575f935f80925f94612dbb575b50600a612d9691612d8e8261ffff80936001600160701b038091169b16971604611894565b951604611894565b92935b6001600160a01b03918216911603612db5579291905b90919293565b91612daf565b9050612d969550600a9350612de991925060803d608011612df6575b612de181836102e3565b810190612cb4565b9296509193919291612d69565b503d612dd7565b91612e1461049861049860609388600499966128d5565b604051630240bc6b60e21b815295869182905afa8015610689575f945f91612e4d575b506001600160701b038091169416908293612d99565b9050612e7291945060603d606011612e7c575b612e6a81836102e3565b810190612c6f565b509390935f612e37565b503d612e60565b15612e8a57565b60405162461bcd60e51b815260206004820152602c60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4f60448201526b155514155517d05353d5539560a21b6064820152608490fd5b15612eeb57565b60405162461bcd60e51b815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604482015267495155494449545960c01b6064820152608490fd5b909394612f4f851515612e83565b82151580613023575b612f6190612ee4565b80613005575060405163cc56b2c560e01b81526001600160a01b0395861660048201525f60248201529460209186916044918391165afa90811561068957612fd684612fd0612fcb612fe197612fc5612fdb9761039f9b5f91612fe6575b50611894565b95614888565b61482d565b94612c17565b614888565b90612cef565b6148c4565b612fff915060203d6020116106825761067381836102e3565b5f612fbf565b905061039f9450612fd684612fd0612fcb612fe197612fdb96614888565b50831515612f58565b5190611e228261031b565b9080601f830112156102625781519060209161305281610304565b9361306060405195866102e3565b81855260208086019260051b82010192831161026257602001905b828210613089575050505090565b83809183516130978161031b565b81520191019061307b565b9080601f83011215610262578151906020916130bd81610304565b936130cb60405195866102e3565b81855260208086019260051b82010192831161026257602001905b8282106130f4575050505090565b815181529083019083016130e6565b919060a083820312610262578251926020810151926040820151926001600160401b0393848111610262578161313a918501613037565b936060840151908111610262576080916131559185016130a2565b92015161039f8161031b565b608081830312610262578051926020820151926001600160401b03938481116102625781613190918501613037565b936040840151908111610262576060916131559185016130a2565b919082604091031261026257602082516131c48161031b565b92015190565b519065ffffffffffff8216820361026257565b81601f82011215610262578051906131f482611b0a565b9261320260405194856102e3565b8284526020838301011161026257815f9260208093018386015e8301015290565b91909180830360e081126102625760c081126102625760806040519161324883610292565b1261026257604051613259816102ad565b82516132648161031b565b815260208301516132748161031b565b6020820152613285604084016131ca565b6040820152613296606084016131ca565b606082015281526132a96080830161302c565b602082015260a082015160408201529260c08201516001600160401b0381116102625761039f92016131dd565b604061039f94936101009360018060a01b038091168452815181815116602086015281602082015116848601526060848201519165ffffffffffff80931682880152015116608085015260208201511660a0840152015160c08201528160e08201520190611b5b565b908160609103126102625780516133558161031b565b91604060208301516131c48161031b565b919060a08382031261026257825161337d8161031b565b9260208101519260408201519260608301516001600160401b038111610262576080916133ab9185016131dd565b92015161039f81610fb2565b600192919060f81c601f16601081106133ce575050565b60088110156134a5578061341e57506133f381602080611e2294518301019101613366565b909290156134145761340f33945b6001600160a01b0316614d5f565b614f0c565b61340f3094613401565b60018103613467575061343d81602080611e2294518301019101613366565b9092901561345d5761345833946001600160a01b0316614d5f565b614d83565b6134583094613401565b600414613472575b50565b61348881602080611e229451830101910161333f565b91906001600160a01b039061349e908216614d5f565b9116613faf565b600a81036135235750806020806134c193518301019101613223565b6003549091906134d9906001600160a01b0316610498565b91823b1561026257613505925f92836040518096819582946302b67b5760e41b845233600485016132d6565b03925af18015610689576135165750565b8061070c611e229261027a565b600b810361355a575061355561354582602080611e22955183010191016131ab565b91906001600160a01b0316614d5f565b6137e3565b600c8103613581575061357c61354582602080611e22955183010191016131ab565b613eb4565b600d81036135b357506135a081602080611e2294518301019101613161565b6001600160a01b03169290919034614c2c565b600e81036135e557506135d28160208061346f94518301019101613161565b6001600160a01b03169290919034614ae6565b600f146135ef5750565b61360581602080611e2294518301019101613103565b6001600160a01b031693909290614965565b90919392935f5b6136288251611872565b8110156137355761363c61042382846117c3565b9061365261042361364c83611eef565b856117c3565b9161365d838261471a565b509061366b611a0f84611eef565b51916001600160a01b03828116911603613725576136be6104986104985f94965b6136968951611885565b87101561371e576136b66136af610423611a528a611efd565b828c6128d5565b945b8a6128d5565b6136c6612a5a565b94813b15610262575f80946136f16040519889968795869463022c0d9f60e01b865260048601612a80565b03925af19182156106895760019261370b575b500161361e565b8061070c6137189261027a565b5f613704565b8c946136b8565b6136be6104986104985f9661368c565b505050509050565b3d15613767573d9061374e82611b0a565b9161375c60405193846102e3565b82523d5f602084013e565b606090565b5f918291613778612a5a565b91602083519301915af161378a61373d565b501561379257565b60405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b6064820152608490fd5b90600160ff1b81036138cb575047905b816137fc575050565b600254613811906001600160a01b0316610498565b803b15610262575f8391600460405180968193630d0e30db60e41b83525af19182156106895761388f936020936138b8575b50600254613859906001600160a01b0316610498565b60405163a9059cbb60e01b81526001600160a01b03909216600483015260248201929092529283919082905f9082906044820190565b03925af18015610689576138a05750565b61346f9060203d6020116106f8576106ea81836102e3565b8061070c6138c59261027a565b5f613843565b90478211156137f3575b604051631a84bc4160e21b8152600490fd5b9360429592916001600160601b03199485809260601b16875262ffffff60e81b809460e81b16601488015260601b16601786015260e81b16602b84015260601b16602e8201520190565b6001600160a01b039081165f19019190821161188057565b6001600160a01b039081166001019190821161188057565b90613979602091949394604084526040840190611b5b565b6001600160a01b03909416910152565b9190826040910312610262576020825192015190565b6001600160a01b039182168152911515602083015260408201929092529116606082015260a06080820181905261039f92910190611b5b565b93959491926139e690600955565b613a636139fb6104986104986104238a611791565b91613a32613a0b6104238a611791565b613a176104238b6117a3565b613a2c613a2388611791565b5162ffffff1690565b91614430565b604080516370a0823160e01b81526001600160a01b0390921660048301529360209384918391829081906024820190565b03915afa801561068957600a915f91613dd8575b50048110613b70575b613a97575b50505050505050611e22600854600955565b613b139660018451145f14613b1f57613b0d9281613ad2610423613acc613a23613ac661042361293c986117a3565b99611791565b92611791565b915195869485019192602b936001600160601b0319809360601b16845262ffffff60e81b9060e81b16601484015260601b1660178201520190565b91614e1b565b5f808080808080613a85565b613b0d9281613b3361042361293c946117b3565b95613b40613a23826117a3565b613b64610423613b5e613a23613b58610423886117a3565b95611791565b94611791565b935197889687016138e7565b8351600103613d7f57878784613b8861042384611791565b613be3613b97613a238a611791565b9161293c613ba7610423886117a3565b85519485938b85019192602b936001600160601b0319809360601b16845262ffffff60e81b9060e81b16601484015260601b1660178201520190565b613c31610498610498613bf8610423886117a3565b613c076104986104238a611791565b6001600160a01b0390911610968b613a2c613a23613acc610423613c2b8187611791565b956117a3565b845f8c613c94613c4361095f8b6145f6565b95848414613d5a57600a54613c78908d9061293c90613c6a906001600160a01b0316613949565b9b5b8b519485938401613961565b8751630251596160e31b8152988997889687956004870161399f565b03925af191825f925f94613d25575b50613ceb57505050848103613a8057825162461bcd60e51b8152602060048201526012602482015271151bdbc81b5d58da081c995c5d595cdd195960721b6044820152606490fd5b15613d165750613cfa90612855565b03613d05575f613a80565b8151636a70124760e11b8152600490fd5b613d209150612855565b613cfa565b909350613d49919250863d8811613d53575b613d4181836102e3565b810190613989565b919091925f613ca3565b503d613d37565b600b54613c78908d9061293c90613d79906001600160a01b0316613931565b9b613c6c565b878784613d8e61042384611791565b613dd3613d9d613a238a611791565b9161293c613dad610423886117a3565b613db9613a238d6117a3565b613dc56104238a6117b3565b9187519687958d87016138e7565b613be3565b613def9150843d86116106825761067381836102e3565b5f613a77565b600254613e0a906001600160a01b0316610498565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92613e93575b5081613e4157505050565b823b1561026257604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af192831561068957611e2293613e80575b50614fa7565b8061070c613e8d9261027a565b5f613e7a565b613ead91925060203d6020116106825761067381836102e3565b905f613e36565b600254909190613ecc906001600160a01b0316610498565b6040516370a0823160e01b815230600482015290929091602083602481875afa928315610689575f93613f0b575b5082106138d55781613e4157505050565b613f2591935060203d6020116106825761067381836102e3565b915f613efa565b6001600160a01b031680613f4e57504780613f45575050565b611e2291614fa7565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92613f8e575b5081613f8557505050565b611e2292614ff1565b613fa891925060203d6020116106825761067381836102e3565b905f613f7a565b9091906001600160a01b031680613fd25750479081106138d55780613f45575050565b6040516370a0823160e01b815230600482015290929091602083602481875afa928315610689575f93614023575b5082106140115781613f8557505050565b604051630ceb95c760e31b8152600490fd5b61403d91935060203d6020116106825761067381836102e3565b915f614000565b80614078575b504780158015614058575050565b5f8080938193829061406f575b3390f11561068957565b506108fc614065565b5f8091614083612a5a565b90602082519201904161c350f15061409961373d565b505f61404a565b90816140b6575b50504780158015614058575050565b5f806140e6936140c4612a5a565b90602082519201904161c350f16140d961373d565b5081156140ed5750611843565b5f806140a7565b90505f610515565b90915f80949381946040519160208301946323b872dd60e01b865260018060a01b038092166024850152166044830152606482015260648152614137816102c8565b51925af161414361373d565b816141a2575b501561415157565b60405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b6064820152608490fd5b80518015925082156141b7575b50505f614149565b6141ca925060208091830101910161182e565b5f806141af565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316330361420457565b60405163118cdaa760e01b8152336004820152602490fd5b9294909593955f14614244575091611e229591611fd79361423c42611f0b565b92339261234b565b959192506064420180421161188057611ff7904211156116ef565b1561426657565b60405162461bcd60e51b815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201526a1394155517d05353d5539560aa1b6064820152608490fd5b93909291936142cf84151561425f565b84151580614370575b6142e190612ee4565b856143585760405163cc56b2c560e01b81526001600160a01b0392831660048201525f6024820152955060209186916044918391165afa9182156106895761434d61434661435392614340612fdb9661039f995f91612fe65750611894565b90614888565b9283614888565b9361482d565b614915565b505061435361434d61434661039f96612fdb95614888565b508215156142d8565b614381615060565b612710600755565b614391615060565b5f198060085560095573fffd8963efd1fc6a506488495d951d5263988d266001600160601b0360a01b6401000276a381600a541617600a55600b541617600b55565b6143db615060565b6001600c55565b9081516143ef818461508e565b926017821061441e57602b6017820151921061440c57602b015191565b60405163a78aa27f60e01b8152600490fd5b604051636c84b51f60e11b8152600490fd5b6001600160a01b039291838116848316116144cb575b62ffffff846004541693856040519381602086019616865216604084015216606082015260608152614477816102ad565b5190206005546040516001600160f81b03196020820190815260609490941b6bffffffffffffffffffffffff19166021820152603581019290925260558201526144c4816075810161293c565b5190201690565b90614446565b6001600160a01b0393929184163081036144f05750611e22935061509d565b848492941161454757846003541693843b15610262575f94868692816084966040519a8b998a98631b63c28b60e11b8a5260048a01521660248801521660448601521660648401525af18015610689576135165750565b60405163c4bd89a960e01b8152600490fd5b8051601619808201929190818411611880578360088301106145e457601782106145e457818351106145d257601782146145c057601f8416801560051b0183019182010160178201915b8181106145b05750505052565b82518152602092830192016145a3565b60405163664a531d60e11b8152600490fd5b604051633b99b53d60e01b8152600490fd5b6040516323d5783d60e11b8152600490fd5b600160ff1b8110156102625790565b61049892936104985f60409461468c61463c6146208a6143e2565b6001600160a01b03808416908316109b8c989093909290614430565b948484146146c457600a546146709061465d906001600160a01b0316613949565b9a5b61293c8a5193849260208401613961565b8751630251596160e31b8152998a97889687956004870161399f565b03925af18015610689575f925f916146a357509192565b90506146bf91925060403d604011613d5357613d4181836102e3565b919092565b600b54614670906146dd906001600160a01b0316613931565b9a61465f565b61049892936104985f60409461468c61463c6146fe8a6143e2565b6001600160a01b03808316908416109b8c989093909290614430565b90916001600160a01b039182841683821680821461478e57101561478957925b9183161561474457565b60405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606490fd5b61473a565b60405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b6064820152608490fd5b5f906001600160a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8103612c525750507f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f90565b9061271091828102928184048114821517156118805783040361484c57565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b6044820152606490fd5b5f9291801591821561489e575b50501561484c57565b80820294509150811582850482141715611880576148bc9084612cef565b145f80614895565b9060018201918281116118805782106148d957565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b6044820152606490fd5b91908201918281116118805782106148d957565b1561493057565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fd5b909392916149c1816149e4946149bc60018060a01b0361498a81600654161515614929565b61499a6104236119d48651611872565b6002549091906149b490610498906001600160a01b031681565b911614614a5d565b615186565b6149dd836149d161042385611791565b610de961042385611791565b3092615436565b506002546149fa906001600160a01b0316610498565b6040516370a0823160e01b815230600482015290602090829060249082905afa801561068957611e2293614a37925f92614a3c575b501115614a9a565b613df5565b614a5691925060203d6020116106825761067381836102e3565b905f614a2f565b15614a6457565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420496e7075747360901b6044820152606490fd5b15614aa157565b60405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e540000000000006044820152606490fd5b92919360018060a01b0390614b0082600654161515614929565b85511561179e57614b3986614b86956149bc614b7f95602084015116614b3361049861049860025460018060a01b031690565b14614a5d565b95614b45848289615599565b96614b5b87614b538a611791565b511115614baa565b614b7a614b6a61042383611791565b614b738a611791565b51906137e3565b6152c3565b1015614bef565b614b8f82611791565b518111614b9a575090565b611d1161039f9161213f84611791565b15614bb157565b60405162461bcd60e51b8152602060048201526016602482015275115610d154d4d2559157d25394155517d05353d5539560521b6044820152606490fd5b15614bf657565b60405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d3d55514155560921b6044820152606490fd5b93909282614c59916149bc60018060a01b03614c4d81600654161515614929565b61499a61042385611791565b90614c6e6104986104986104238551876117c3565b6040516370a0823160e01b8082526001600160a01b0384166004830152602095919392918685602481865afa95861561068957614cf29988965f98614d36575b50918183614cc6614ccb956135556104238b97611791565b615436565b506040519081526001600160a01b0390921660048301529095869190829081906024820190565b03915afa801561068957611e2294614d12935f92614d19575b50506118a4565b1015614a9a565b614d2f9250803d106106825761067381836102e3565b5f80614d0b565b614ccb9391985091614d558793893d8b116106825761067381836102e3565b9891935091614cae565b6001600160a01b03811660018103614d775750503390565b60020361039f57503090565b614d999391949260095561096461095f866145f6565b90919015614dca5750614dab90612855565b03614db857600854600955565b604051636a70124760e11b8152600490fd5b614dd49150612855565b614dab565b15614de057565b60405162461bcd60e51b8152602060048201526013602482015272151bdbd7d31a5d1d1b1957d49958d95a5d9959606a1b6044820152606490fd5b909192614e2f61049861049886518761508e565b6040516370a0823160e01b815230600482015290602090829060249082905afa91821561068957614e9f92614e91925f91614eed575b50939291905b614e7a604288511015956145f6565b8515614ee757305b614e8b89615704565b916146e3565b90919015614ee05750612855565b9115614ebf57614e91614e9f913090614eb787614559565b929190614e6b565b50611e229250908110159081614ed6575b50614dd9565b905015155f614ed0565b9050612855565b84614e82565b614f06915060203d6020116106825761067381836102e3565b5f614e65565b9390919293600160ff1b8314614f34575b90614e91614e9f91614e7a604288511015956145f6565b9150614f4761049861049886518761508e565b6040516370a0823160e01b815230600482015290602090829060249082905afa91821561068957614e9f92614e91925f91614f88575b509391509150614f1d565b614fa1915060203d6020116106825761067381836102e3565b5f614f7d565b5f80809381935af115614fb657565b60405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606490fd5b5f91826044926020956040519363a9059cbb60e01b8552600485015260248401525af13d15601f3d1160015f51141617161561502957565b60405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fd5b60ff5f805160206157338339815191525460401c161561507c57565b604051631afcd79f60e31b8152600490fd5b9060141161440c576014015190565b9091906001600160a01b0316806150b85750611e2291614fa7565b600160ff1b82146150ce575b91611e2292614ff1565b6040516370a0823160e01b815230600482015292909150602083602481855afa801561068957611e22935f91615109575b50919092506150c4565b615122915060203d6020116106825761067381836102e3565b5f6150ff565b9081608091031261026257606060405191615142836102ad565b61514b81612ca5565b8352602081015161515b8161031b565b6020840152604081015161516e81610fb2565b6040840152015161517e81610fb2565b606082015290565b9091615192825161196c565b6151a161049861042386611791565b6006545f9591906151ba906001600160a01b0316610498565b905b83518710156152a55761522690966151dd61049861042360018401876117c3565b80986151e9838a6117c3565b5160405163704037bd60e01b81526001600160a01b0392831660048201529290911660248301526044820152916080908190849081906064820190565b0381875afa801561068957610498602061525892600196615271955f92615278575b505001516001600160a01b031690565b61526283886117c3565b6001600160a01b039091169052565b01956151bc565b6152979250803d1061529e575b61528f81836102e3565b810190615128565b5f80615248565b503d615285565b50505092509050565b90816020910312610262575161039f8161031b565b9092916152cf84611791565b505f805b835182101561542f57506152ea61042382856117c3565b600182016152fb61042382896117c3565b90855181145f1461541d5750835b60408051633684184360e21b81526001600160a01b03946004946020949293918716919085858881865afa9081156106895788615383995f93899885916153f0575b50945163029e02cd60e51b815294169116149682018781526001600160a01b0394909416602085015290968793849291839160400190565b03925af18015610689576001936153af925f926153d3575b5050906001600160801b0382169160801c90565b906001600160801b03925f146153ca575016915b01906152d3565b905016916153c3565b6153e99250803d106106825761067381836102e3565b5f8061539b565b6154109150893d8b11615416575b61540881836102e3565b8101906152ae565b5f61534b565b503d6153fe565b61042361542a91876117c3565b615309565b9450505050565b939290919361544485611791565b505f905b835182101561542f575061545f61042382856117c3565b6001820161547061042382896117c3565b90855181145f146155465750835b60408051633684184360e21b81526001600160a01b03946004946020949293918716919085858881865afa90811561068957886154f7995f93899885916153f05750945163029e02cd60e51b815294169116149682018781526001600160a01b0394909416602085015290968793849291839160400190565b03925af1801561068957600193615522925f926153d3575050906001600160801b0382169160801c90565b906001600160801b03925f1461553d575016915b0190615448565b90501691615536565b61042361555391876117c3565b61547e565b51906001600160801b038216820361026257565b908160609103126102625761558081615558565b9161039f604061559260208501615558565b9301615558565b909291926155a7815161196c565b936155b38351866117c3565b528151805b6155c157505050565b6155d66104236155d083611872565b846117c3565b906155ec610498610498610423611a0f85611872565b916156076155fa83896117c3565b516001600160801b031690565b604080516305e8746d60e01b815290946020939260049285818581865afa9081156106895761567d965f926156e7575b505060018060a01b03975195869485938493630abcd78360e41b85528b60609c8d9a169116149184019092916020906001600160801b0360408401951683521515910152565b03915afa908115610689576156b2935f926156b8575b5050611a8b6001600160801b036156a984611872565b921691886117c3565b806155b8565b6156d79250803d106156e0575b6156cf81836102e3565b81019061556c565b50505f80615693565b503d6156c5565b6156fd9250803d106154165761540881836102e3565b5f80615637565b90602b8251106145d257602b60405192600b810151600b8501520151602b830152602b82526060820160405256fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220acaf04ce472be82b53e96d88f0fb25b098e6c53619924b6a8555e62e55080e5d64736f6c6343000819003300582103175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9054fffd8963efd1fc6a506488495d951d5263988d2600582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68804227100058210365a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a804501000276a300582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b44105581d03639c64228440f4bd2ae46d5b506813ab36fd9137777c62afe5d42f1007011957880219040205581d02876caffad5ef4c51b4d7ef6ea839513ae3eeee534ef47110ec28049504050219400805581e03f47119f7136b6a1def201d85e900331cd238747bc8c56c3c6e6463e7f0040105581e03311fc32da51f90af9ee044ac2e8c9c108c54017da6dd8b9e59106bc2a0040103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03f3dd9015331d033b99d51b3f932aa7d589333cffd3d5c3281757b40b9007011bffffffffffffffff05581e03498ad85465a6d9a87a248ecba19ca612a0bc6e9eaae5da1c26f895fdc00c014709865bab2c88db0219a980039e26cdfb2a9ef661c97ac577b5207d516c184ae68b63335b6d3aaea2a72fecb50304e047bddcc986b3e4762c0b8f8a30b1c2c1bd53d7c959886b27d01c14c5957903ca665c98bdf67c1125f0bedd8d8fd52675bde6f425d81e4d230df5613f775ca703d49702deef497ce5e14f1897dec381593ecd0ee7550f73dc9e69d7eff813644d03457919256d8fd435855f2f60a1b6d5c0c602cb85b7dbeb1bb5793b9001e5b6fc03fd9b6e85a3740c518b284ce1c741f50380f55d7e834f652157495486cfe2ba4003cbe85ca4262ccf78f464d42fe901642b5bb184d1d7f88e69d137178ab9e69dbd03ab9c6524b81a15e0a09ceade91a4d7906800fe4651a203dd36398a44bbfd362d03c6485d885a74cceb4aa4805afe93b9ec4fac2e7dec21ea6618174c100e3dd62003af9497edc61cb8bbf853ac85e79dbdd55239cb7dac9440159d685b462b2ee58303adf802caed32458eecb623c177f75a4684ddafae4f24940323d04b7898dddf7a030881ae0052e0b541d7ee6705433d1a3a943692cc1fb773f54261e6fe25c2b27803725840d94797b3d2448b9513cd102ef6ba6d97a9d6c346311f39dbd5e4aeb45e030e007fd342e7c666da57b5a55e785a48b3e7f54346c807bf4131d18963bd5b700219ffff03dbb2743e1bf3bc70ec684efe001f85c977d856e3f6a407d871f1ad87b3427b7103a6dd7d23742fc177717871d75110b6bc48a4c5007a65ef9a978a6f7ea4e7bd810353c8e4f984c85f15cc08a12ff9dff4ff696c9049e3e3a31283a10c361c6c650c03820e7d036d5c74cc931cdf9bdc4662679fee6bcc9c36a9ec949edfbe708735bd03c2b111442e029426523cd89ead01bfcadf50af753cdef5b369fff72116a7289a0315ec50a03cba12c11b8283b52bc0a3382c94d90ef45268c9109cc46096683094032f7cfc2cfa8cbcec6764b6361d8cb03f92f4d385ad5075e338bf0cc0d767e33403ec9f544fd94a9f85057cdb333a5ef60bba2c00741b236392b85879ef7dce8a000377df763b2775ab1a67a1c2cce7abc97ead79f630416f12af3966fc1af62bc51f0390820b770c5afe59f8ab4997a135077d606718156a330b96b938c8e1bddad9c60219ffff0351d06600fc48aa1cd8ccf461876591ed92572f5964e3a794906cd5a5a736211903346824faa70f9045d88a7a340f4e1fdab02df5564c33dc3cbee2fff33a198d2a03b4920daaccf096345811a281e9d8f1ceddc1f72c59fadfada053dad0eb43ffcf038838b0e1e40bdbb5a40ac9330ff369f3ba3ce1da08f02fc5e8c1a9c3a06ad95c03be603f93cb67235b0ce40ed9e09d63516e5fa4c84529b552aa1c3baeacbfa08b03cb23c6b8674d6201f953d7f57495d4ac36d5711d55b06588d43f57e5c97290c2031d340b453d99e40ede024baffab1b3b32d672e8cfafd6a401aa5e872cbbbed4d0219ffff031cb713d5b98e1fd9c1c7d0457ed03cff2dd309134fc30bc8cc69e9f393084d9d0385be28acd8e5a9ac187b3f46965870433b710cf2fd00e78f4cfdf0e4886e3fa2030f2904bcfcd2e5b65894e512aab57a9633ff6715aa0233c6be0a20f5a70e846a03209df946dae28f680b7fe35f69b0a206f873dc893ce7818063c24e8d39625ee5033808177eb7739f2a0d707a72341461c975b76bbc7ac89b4b3993a940482aceb6033f09cbe6400a6156d36256fcaf08a3c450fed265a9aa9c252cc651e5398497ea0351dcde93059a13be750adcfaeb86176c0cd7a1cf4f00de3b0b067b938c3131550219ffff036f4ba5041ec34e5ad20f27343109bdab7e03181a84f94d4f44b4b66a1177bdc803578a82a14b10cc29aafba9da1ef8327d17b608a8d510c169a1bff286ab632b710382da591b4c27bdc67233a56e852f47d5c0d4adeb12dd559102e6aa521bc6691803d1eccfc39d03774334ee2c11cbddf526ecad8efa1ece517f490e30685df431e3037e886dcd44962845861636005fe9774ebe38db969fe11b802e56dbcb22f921f003f851851f31bd96d86410a5b5fbc002d49c8557d0b4171cb5b2a3d74540d05453035b494d9fa637b4c8ea2d0244da4c4ef964a3ce23faf4aeb344ead56fe6872e450331df86174d19d4f7a64b9feea449f19c426a4076b9e72652ac4ef8be5923b5d40325b24749d38072352205cad7c630332903e58e756168fe462f7cd0f10d1e6ec8037abc4bc4286b5bfe55d54a4cac58aa665ff4c70a8566a22d13dc3e3bf200689203f00096d9fd850394917bc6dea78f91d7601842300ecbaf870d2ea548c8364b0603d8c4aa053640ac090fe91eb500c8d979ff8658c78d5659f52df9ba2d52d742d8034b0771f7765d87278dc4243edae494339a3211ba0d6f11452a95bce27499038003b4771969c58afb00b26c2fd23d3a04e22404ea4d643ff920dd5852aefd35286903038958194ff4630a736dd175b0c460e04e30410a1d6b947062c500b390fdad4e036b002fa1a4ecc0c112680eb6d11f538f5f02dcedcdf8a1fa01b8357dda386e77033e3f07336025fd4faedd4d09468c2281ad5810c403517ec9c30ab7c8bbbf75d803fcad8c671df6139a9b2af47a7ad69f047853c1e7a77a4990fdbe9eb53c7f776703ce158ad80e548c8b6f1d7846737ea80f113648bd73f24c173b4ec7dea3fbf4ea03e5b8b5b1176af1d8f6f0348c563c6ba6e4a4cd1bd905aeef0febfee5e1b7463f0328d401030f733cc3ec4c649749033a6d406faa768de36df982bb0e2b6383c5830398655926d7ec1914d9e02e5fd3fb4436eae06ed55d9d5bda4600a5a3c5819d5f03e4da7a497d1a5d6f2824d5de0783a0600453332912f016e2a60c1afed965ccbe03cfad1eb775484093d3914942ed25151ef7f4e67a0261e3f465f339412d38ca900311628d4726a3f4be18ddd5e6d05949603b84a606dafd51f00a1a9facc14c2065033543d40fe32c46898ef35a743f3eccdeab1dc211a23d30349e922350e738f11803ff4cfd8df78f09b601b5032fafdf54f3a6010c03c4024e180874a24fe63a5aef0308e646de1b8558bc5846be79f3c190dc2f593cdb3161f4f3a28784955db6771d035c6720265557f1d838e27be1d70a2f950b60baaf30b6da4eba698d03c34b224803a3a2fe05c989e1ca1062377d9e3f4d56c452a9e9aa2e88e16710b5355fdcbbcb0326258930d31c13a1ed017f9b332840e789d87f6209b3585a784297e86c55d12d037515a29bf2dc47f757037ba92bdaedb6f85aeea0a5e9d0ebaa7afbbf17ad938b03842e936ef2394185320732470844ce9546c1935c32f29bab348a71b5b8fbf0b003193cbc5748bddbb8a3a364da1b75ac7d0e75dc1438ab8e14ecfd834fe263c4f403ffd76237e5d0435f54c7d362aac2a7be8f4933100b377b4205dd07771ed98578032ee739d643abf9b49d0ddcde51b77162eb24bd02f4d8b617230f3ab71c3913eb032c5dc9bf165128100881a37ad4f837cf2c145d9a98c29c4be1391bfece277f2e0353b4fde41e241e84b23a7072a31be33cd65252095bf7518f752ea6e606ce3a880391656aa50dac0aa20b0dcc02e5e99ee0bcfe24c38a618478526cecab21720da903836fc9c38c897e40706b47461eba74da50399967facda16b47e1e7ec51fca68803b8b6b9c1e9f10008e1d55ae7a37244c2557a929428431c7e737ac3cdc232fc8a03361df2be3bb3ebe5a894fc6d1632b0e468ce16a7de2e9999bde2e99a054e462d05581e03305b479751ece2c9cc059886acbc618492e01d5438e8b490a6502322c00c1830480449f29074f6a3ab05581e0370f02829d676e57d162950596ed9ab0ffa4802c4cb4e65f13a73ec35b0040603cd43772fe60435cccc44d0b0152be3399b3cbb95ae3dc6b4658d5951e95fa3e8031e71c9a529b6857d946cd4e6ec6ea3b9c22022dc8be98c1eae00747edec6499503b236bd75c9c21bddb287d6a6925dc0d658aed590da7301e4e11ad7e815d9f6f4045920a26080604052600436106101635760003560e01c80637ecac20b116100d1578063b9b4aacd1161008a578063e98d8c3a11610064578063e98d8c3a1461040e578063ed83cd0b1461042e578063fa461e331461044e578063ff04e9b41461046e57600080fd5b8063b9b4aacd146103ae578063c7137f5e146103ce578063e1477062146103ee57600080fd5b80637ecac20b14610313578063824a811d146103335780638d690bab1461033b578063999895db1461035b578063a00000001461037b578063b8443aa71461038e57600080fd5b80632de6ca25116101235780632de6ca251461025b5780633c0000001461027b5780633ccfd60b1461028e5780634b849261146102a357806353b03a83146102d35780635ca7ab59146102f357600080fd5b8060021461016f5780606914610184578062f750e2146101975780630b93a9de146101db57806315e2b6cd1461020b5780631fce50961461022b57600080fd5b3661016a57005b600080fd5b61018261017d366004611926565b61048e565b005b61018261019236600461198d565b610538565b3480156101a357600080fd5b506101c76101b23660046119ea565b60046020526000908152604090205460ff1681565b604051901515815260200160405180910390f35b3480156101e757600080fd5b506101c76101f63660046119ea565b60026020526000908152604090205460ff1681565b34801561021757600080fd5b506101826102263660046119ea565b6105cd565b34801561023757600080fd5b506101c76102463660046119ea565b60036020526000908152604090205460ff1681565b34801561026757600080fd5b50610182610276366004611a0e565b610618565b610182610289366004611a27565b6106aa565b34801561029a57600080fd5b5061018261073f565b3480156102af57600080fd5b506101c76102be3660046119ea565b60016020526000908152604090205460ff1681565b3480156102df57600080fd5b506101826102ee3660046119ea565b6107df565b3480156102ff57600080fd5b5061018261030e366004611ace565b61082a565b34801561031f57600080fd5b5061018261032e3660046119ea565b6109c5565b610182610a10565b34801561034757600080fd5b506101826103563660046119ea565b610a7a565b34801561036757600080fd5b506101826103763660046119ea565b610acc565b61018261038936600461198d565b610b17565b34801561039a57600080fd5b506101826103a93660046119ea565b610bae565b3480156103ba57600080fd5b506101826103c93660046119ea565b610be1565b3480156103da57600080fd5b506101826103e9366004611b3a565b610c14565b3480156103fa57600080fd5b50610182610409366004611b66565b610d6f565b34801561041a57600080fd5b506101826104293660046119ea565b610e54565b34801561043a57600080fd5b506101826104493660046119ea565b610ea6565b34801561045a57600080fd5b50610182610469366004611ba7565b610ed9565b34801561047a57600080fd5b50610182610489366004611c27565b610ee7565b3443146104b65760405162461bcd60e51b81526004016104ad90611cc1565b60405180910390fd5b33600090815260016020526040902054606086901c9060ff166104eb5760405162461bcd60e51b81526004016104ad90611cdc565b6001600160a01b03811660009081526003602052604090205460ff166105235760405162461bcd60e51b81526004016104ad90611cf7565b6105308686868686610fe2565b505050505050565b3443146105575760405162461bcd60e51b81526004016104ad90611cc1565b33600090815260016020526040902054859060ff166105885760405162461bcd60e51b81526004016104ad90611cdc565b6001600160a01b03811660009081526003602052604090205460ff166105c05760405162461bcd60e51b81526004016104ad90611cf7565b6105308686868686611151565b6000546001600160a01b031633146105f75760405162461bcd60e51b81526004016104ad90611d12565b6001600160a01b03166000908152600260205260409020805460ff19169055565b3360009081526002602052604090205460ff166106475760405162461bcd60e51b81526004016104ad90611d2d565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561069657600080fd5b505af1158015610530573d6000803e3d6000fd5b3443146106c95760405162461bcd60e51b81526004016104ad90611cc1565b33600090815260016020526040902054859060ff166106fa5760405162461bcd60e51b81526004016104ad90611cdc565b6001600160a01b03811660009081526003602052604090205460ff166107325760405162461bcd60e51b81526004016104ad90611cf7565b6105308686868686611399565b6000546001600160a01b031633146107695760405162461bcd60e51b81526004016104ad90611d12565b600080546040516001600160a01b039091169047908381818185875af1925050503d80600081146107b6576040519150601f19603f3d011682016040523d82523d6000602084013e6107bb565b606091505b50509050806107dc5760405162461bcd60e51b81526004016104ad90611d48565b50565b6000546001600160a01b031633146108095760405162461bcd60e51b81526004016104ad90611d12565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146108545760405162461bcd60e51b81526004016104ad90611d12565b82811461086057600080fd5b6000805b8281101561089a5783838281811061087e5761087e611d63565b90506020020135826108909190611d8f565b9150600101610864565b50604051632e1a7d4d60e01b81526004810182905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b1580156108e857600080fd5b505af11580156108fc573d6000803e3d6000fd5b5050505060005b8281101561053057600086868381811061091f5761091f611d63565b905060200201602081019061093491906119ea565b6001600160a01b031685858481811061094f5761094f611d63565b9050602002013560405160006040518083038185875af1925050503d8060008114610996576040519150601f19603f3d011682016040523d82523d6000602084013e61099b565b606091505b50509050806109bc5760405162461bcd60e51b81526004016104ad90611d48565b50600101610903565b6000546001600160a01b031633146109ef5760405162461bcd60e51b81526004016104ad90611d12565b6001600160a01b03166000908152600360205260409020805460ff19169055565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a5f57600080fd5b505af1158015610a73573d6000803e3d6000fd5b5050505050565b6000546001600160a01b03163314610aa45760405162461bcd60e51b81526004016104ad90611d12565b6107dc816001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b03163314610af65760405162461bcd60e51b81526004016104ad90611d12565b6001600160a01b03166000908152600460205260409020805460ff19169055565b344314610b365760405162461bcd60e51b81526004016104ad90611cc1565b33600090815260016020526040902054859060ff16610b675760405162461bcd60e51b81526004016104ad90611cdc565b6001600160a01b03811660009081526003602052604090205460ff16610b9f5760405162461bcd60e51b81526004016104ad90611cf7565b61053060058787878787611492565b6000546001600160a01b03163314610bd85760405162461bcd60e51b81526004016104ad90611d12565b6107dc81611675565b6000546001600160a01b03163314610c0b5760405162461bcd60e51b81526004016104ad90611d12565b6107dc81611699565b33600090815260026020526040902054829060ff16610c455760405162461bcd60e51b81526004016104ad90611d2d565b6001600160a01b03811660009081526004602052604090205460ff16610c915760405162461bcd60e51b81526020600482015260016024820152601d60fa1b60448201526064016104ad565b604051632e1a7d4d60e01b81526004810183905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b158015610cde57600080fd5b505af1158015610cf2573d6000803e3d6000fd5b505050506000836001600160a01b03168360405160006040518083038185875af1925050503d8060008114610d43576040519150601f19603f3d011682016040523d82523d6000602084013e610d48565b606091505b5050905080610d695760405162461bcd60e51b81526004016104ad90611d48565b50505050565b33600090815260026020526040902054839060ff16610da05760405162461bcd60e51b81526004016104ad90611d2d565b6001600160a01b03811660009081526004602052604090205460ff16610dec5760405162461bcd60e51b81526020600482015260016024820152601d60fa1b60448201526064016104ad565b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820184905284169063a9059cbb90604401600060405180830381600087803b158015610e3657600080fd5b505af1158015610e4a573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b03163314610e7e5760405162461bcd60e51b81526004016104ad90611d12565b6107dc816001600160a01b03166000908152600260205260409020805460ff19166001179055565b6000546001600160a01b03163314610ed05760405162461bcd60e51b81526004016104ad90611d12565b6107dc816116e8565b610d6960058585858561170f565b6000546001600160a01b03163314610f115760405162461bcd60e51b81526004016104ad90611d12565b60005b85811015610f5357610f4b878783818110610f3157610f31611d63565b9050602002016020810190610f4691906119ea565b611699565b600101610f14565b5060005b83811015610f9657610f8e858583818110610f7457610f74611d63565b9050602002016020810190610f8991906119ea565b611675565b600101610f57565b5060005b81811015610fd957610fd1838383818110610fb757610fb7611d63565b9050602002016020810190610fcc91906119ea565b6116e8565b600101610f9a565b50505050505050565b6001600160a01b03841663095ea7b373ba12222222228d8ba445958a75a0704d566bf2c8611011856001611d8f565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561105757600080fd5b505af115801561106b573d6000803e3d6000fd5b50506040805160c081018252888152600060208083018290526001600160a01b03808b1684860152891660608085019190915260808085018a90528551808401875284815260a086015285519081018652308082529281018490528086019290925281019190915291516352bbbe2960e01b815273ba12222222228d8ba445958a75a0704d566bf2c894506352bbbe29935061110e929086904290600401611dee565b6020604051808303816000875af115801561112d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105309190611ecc565b600080869050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611198573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bc9190611efc565b509150915087156111eb576111e487826001600160701b0316846001600160701b03166118c2565b935061120b565b61120887836001600160701b0316836001600160701b03166118c2565b93505b8584101561123f5760405162461bcd60e51b81526020600482015260016024820152603760f91b60448201526064016104ad565b60405163a9059cbb60e01b81526001600160a01b038a811660048301526024820189905286919082169063a9059cbb90604401600060405180830381600087803b15801561128c57600080fd5b505af11580156112a0573d6000803e3d6000fd5b50505050881561131e57604080516020810182526000808252915163022c0d9f60e01b81526001600160a01b0387169263022c0d9f926112e7928a92913091600401611f4c565b600060405180830381600087803b15801561130157600080fd5b505af1158015611315573d6000803e3d6000fd5b5050505061138d565b604080516020810182526000808252915163022c0d9f60e01b81526001600160a01b0387169263022c0d9f9261135a928a913091600401611f4c565b600060405180830381600087803b15801561137457600080fd5b505af1158015611388573d6000803e3d6000fd5b505050505b50505050505050505050565b6001600160a01b03841663095ea7b3866113b4866001611d8f565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156113fa57600080fd5b505af115801561140e573d6000803e3d6000fd5b5050604051638201aa3f60e01b81526001600160a01b03878116600483015260248201879052858116604483015260648201859052600019608483015288169250638201aa3f915060a401600060405180830381600087803b15801561147357600080fd5b505af1158015611487573d6000803e3d6000fd5b505050505050505050565b6001860180546001600160a01b0319166001600160a01b0387169081179091558387558590600090819063128acb08308989816114e35773fffd8963efd1fc6a506488495d951d5263988d256114ea565b6401000276a45b604080516001600160a01b038c1660208201528e15158183015281518082038301815260608201928390526001600160e01b031960e089901b16909252611538959493929190606401611f83565b60408051808303816000875af1158015611556573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157a9190611fbe565b60018b015491935091506001600160a01b031630146115bf5760405162461bcd60e51b81526020600482015260016024820152600f60fb1b60448201526064016104ad565b8854156115f25760405162461bcd60e51b81526020600482015260016024820152607960f81b60448201526064016104ad565b8615611639578461160282611fe2565b12156116345760405162461bcd60e51b81526020600482015260016024820152606d60f81b60448201526064016104ad565b611487565b8461164383611fe2565b12156114875760405162461bcd60e51b81526020600482015260016024820152604d60f81b60448201526064016104ad565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b60005460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529082169063095ea7b390604401600060405180830381600087803b158015610a5f57600080fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b60018501546001600160a01b031633146117515760405162461bcd60e51b81526020600482015260036024820152623bba3360e91b60448201526064016104ad565b6001850180546001600160a01b0319163017905560008061177483850185611ffe565b91509150801561181e57865486146117b25760405162461bcd60e51b81526020600482015260016024820152606f60f81b60448201526064016104ad565b6000875560405163a9059cbb60e01b81523360048201526024810187905282906001600160a01b0382169063a9059cbb90604401600060405180830381600087803b15801561180057600080fd5b505af1158015611814573d6000803e3d6000fd5b5050505050610fd9565b865485146118525760405162461bcd60e51b81526020600482015260016024820152606f60f81b60448201526064016104ad565b6000875560405163a9059cbb60e01b81523360048201526024810186905282906001600160a01b0382169063a9059cbb90604401600060405180830381600087803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050505050505050505050565b6000806118d1856103e5612033565b905060006118df8483612033565b90506000826118f0876103e8612033565b6118fa9190611d8f565b9050611906818361204a565b979650505050505050565b6001600160a01b03811681146107dc57600080fd5b600080600080600060a0868803121561193e57600080fd5b85359450602086013561195081611911565b9350604086013561196081611911565b94979396509394606081013594506080013592915050565b8035801515811461198857600080fd5b919050565b600080600080600060a086880312156119a557600080fd5b85356119b081611911565b94506119be60208701611978565b9350604086013592506060860135915060808601356119dc81611911565b809150509295509295909350565b6000602082840312156119fc57600080fd5b8135611a0781611911565b9392505050565b600060208284031215611a2057600080fd5b5035919050565b600080600080600060a08688031215611a3f57600080fd5b8535611a4a81611911565b94506020860135611a5a81611911565b9350604086013592506060860135611a7181611911565b949793965091946080013592915050565b60008083601f840112611a9457600080fd5b50813567ffffffffffffffff811115611aac57600080fd5b6020830191508360208260051b8501011115611ac757600080fd5b9250929050565b60008060008060408587031215611ae457600080fd5b843567ffffffffffffffff80821115611afc57600080fd5b611b0888838901611a82565b90965094506020870135915080821115611b2157600080fd5b50611b2e87828801611a82565b95989497509550505050565b60008060408385031215611b4d57600080fd5b8235611b5881611911565b946020939093013593505050565b600080600060608486031215611b7b57600080fd5b8335611b8681611911565b92506020840135611b9681611911565b929592945050506040919091013590565b60008060008060608587031215611bbd57600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115611be357600080fd5b818701915087601f830112611bf757600080fd5b813581811115611c0657600080fd5b886020828501011115611c1857600080fd5b95989497505060200194505050565b60008060008060008060608789031215611c4057600080fd5b863567ffffffffffffffff80821115611c5857600080fd5b611c648a838b01611a82565b90985096506020890135915080821115611c7d57600080fd5b611c898a838b01611a82565b90965094506040890135915080821115611ca257600080fd5b50611caf89828a01611a82565b979a9699509497509295939492505050565b6020808252600190820152603160f91b604082015260600190565b6020808252600190820152603f60f81b604082015260600190565b6020808252600190820152606160f81b604082015260600190565b6020808252600190820152602160f81b604082015260600190565b6020808252600190820152603b60f81b604082015260600190565b6020808252600190820152603360f91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115611da257611da2611d79565b92915050565b6000815180845260005b81811015611dce57602081850181015186830182015201611db2565b506000602082860101526020601f19601f83011685010191505092915050565b60e08152845160e08201526000602086015160028110611e1e57634e487b7160e01b600052602160045260246000fd5b61010083015260408601516001600160a01b03166101208301526060860151611e536101408401826001600160a01b03169052565b50608086015161016083015260a086015160c0610180840152611e7a6101a0840182611da8565b915050611eba602083018680516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b60a082019390935260c0015292915050565b600060208284031215611ede57600080fd5b5051919050565b80516001600160701b038116811461198857600080fd5b600080600060608486031215611f1157600080fd5b611f1a84611ee5565b9250611f2860208501611ee5565b9150604084015163ffffffff81168114611f4157600080fd5b809150509250925092565b84815283602082015260018060a01b0383166040820152608060608201526000611f796080830184611da8565b9695505050505050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a06080820181905260009061190690830184611da8565b60008060408385031215611fd157600080fd5b505080516020909101519092909150565b6000600160ff1b8201611ff757611ff7611d79565b5060000390565b6000806040838503121561201157600080fd5b823561201c81611911565b915061202a60208401611978565b90509250929050565b8082028115828204841417611da257611da2611d79565b60008261206757634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220ef166859aad688c15a88e7b99652e092c91187ac153848039b87fb8c8e2ecfc164736f6c63430008180033005820026004cfce3b37ce513505e385c405a0515ee2f102a9e81b6ee5d7917596f3df4101031fc2ceb0c5a6717734fbdf09556818a7c300f926f50b0d34516f89f6fb8b174100582002a6dcd8587eef6abc082ae820eaf38e7fb33bb7f97add8191795a4c6b03f5d34101005820020e12aa90c5cf8a7ac579a1f2ee089db91c28b07224f1874f5ff480367a4235410100582002cc33c39bd122732ec380f9d24244a3448640b3c45c025f4b51d453d2db48e441010219326003f112aa86d947066596cdaf666e6cc4b939536e3d050c114c5b291864246016b103c1ae8d2b41def7f89cd1fe0f66830adcd5f3177e32acb65dd802c02f7f940a9903eece07e57ceb3321dd0c23f26582069c7748279ba48f4cfbdf3cc5af9b119cc503618b138891c164ca992f56a9cfe0c2fc4f1badb2cd4f9f616d5818a1d852c91a03fd352e447b7b7c66c3751a5aa2818e8f3f71f1d9d44fe7c99ab9c3857e1285b1005820021f2fae2bc1ccdd9dc943ff851fe8f85b2eea0899206cca942a2aa37b6651eb4101030be603ef75e68a5639064ec61f827a0256ddc6d5ee71ece143c0dbc6a1820dc20058200247d6771a3ec964564328eb0da7eb6220a120cb587f3a3bba9546fc97152bb0410100582003cdfb8b1afd2d22a55e76d3848c15db11fde0e7bf5d02600d7fdf983d7a7ed0410100582003517f7a2c9dff9056bcf0bae4fa15190b64d93b3c3b93241fe115a65698ab504101021830021910e003b92aa65ab50ce38cde2f5b8dca3fc97560b799691106b2b22c9dd05714fd25ba0058200202eeb219247b01c8162aa97ca9dad7fe28fe9def6ea389cb95b204325054d7410100582002421fc8d3399966045baaf47840fd4c9f889317118e2854843b51fb97ddbfd641010355e7e561b544a8f8312f83e92090b8af73510e4183f802b04fd09512adb2c6da005820026152fb80a5ed863adbf060e4d5adb4fb9f3f98aa726e5bdcf56461fd496cd3410103c0f2e1f0bc31085dc36008763b89e5466628f3e0be4e9d6c69c539dd249a47b3005820027cc3c3fd447f826218757cb48b4d1040a96e311003892e111ee5c53cf5a61841010219e2280332bdf4218a4603811ebadacd2833dc301d3850f3551cdf8e75d85ba7e23e05b003724ef44f4c56ede21026656715d5bfa79131a5b797fd65e0980196f68590ff8d03434da0408135d605bf70377c51ad2e76d34f746ac17442b0571d6b628abd68ac035d97b561ece55f9ef1609eace62f2941e2f92aa416246a4b57a5f1924b4c5dc403c45402b1843bee9c58e1836226c72152427d97e690d84773afeb222656944b2f03924e180db1059bafdbd296a7ebf839e54b302f7008e09c2f959fc32eb1b1f44600582002007d7329d500a1815ec60ae0ae8e7ad6796315fe2cc01046c31d6ea88683074101005820026d05a2b6acaedd4a24cfeaa8b351889e42ea768bd2396a4469c98e278d49b94101005820025318c4196a78ed62dd2a2d34ea5b6dc281c0e40ecf64137ec13ece332d6ca7410100582002c9938aa8c4853e9c4548a522f8409d0e629279fceb9a0676b98472cae7fa6341010058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f549def7cde171841a9f0724124ca0b01a622d749e400582002355fbf3a861b29216af7c8b04d84b9a3aeb037dd215373a85a067ac488de9e410103f8b1af8c17be110ac6c57e4e44e458f84e13e8f2a6f8dc9ac6de43eda3626041005820023eecbf72238d4044508e4efbdc3e136491cae256a5fe6152f3785e02ff5e77410102190b760219ffff05581e03461caee77f54e513b75a4f22cac1f7ee05fb0864b0338411bd59100ed00f0146016a7e824a4f1920a20382d260f1773676c4984396308ac5564ae6774151a959dfdb2208dfbeb4c0232203be329ec0855c67a5c1d2e01b58817a72ad206aeb046eaa96ce891bdae415b8f803d406fa363d0ff4124598dfeefee08adda4c560e48f1ca64a236dd9630d79d7d102196e5c039913fe4d9543dc01c7e0be3ed08f41b6c8d4cf2df2d8ec9af3c056883d7c2c5d03b26a30d352d51e27bdd2e33ea52a809839b7180d2e77e2c4c686436af736200c03aa01603d0139f29720acb399eb6bd30498d5429240f8ba44df63689e7bb1b0ee0315e8a6fa84bfd2acb8eaaea996aa4a46f5de253a0ad609c7f0277ecd5b7d9ec9030db1b444fb36bd1b36ecb2c5be61f74fde9ba73348a2932cd59d6b5fa51af9c503e524d098d04850bd610cf78c96af74626f752666103b0ff686a912722a2821810219ffff034ab005e656dd7ee732bdda28ed82dc2fbf913b11ee168f711f3910a5e101ea850374468738d14c619e33326b3d60427f61e70e73df25c1c85f497c3b0e643c7487034e6b33247da26c37b793e07ab5e073144ff3aa78b59cc322177c1347ccd9011b0219ffff03d6151fe3141aab3766abfd8fb64f188228ab3a01860f94e5f3dae386759b05dd03b83b3078b341fc98d7e941955281275ee677b8ffce66db59a26316465ec016ab03d14ea7cbe8b9aea666c03cf632ae8fb5c6388563ee195c218fe16d32843f76fc03bd60b8c124f03a06a8d176bd2f5422afa15aaa90490c7c49148352d3e64046c10219ffff032b27f0606aea732db89223c448ef50051f7bcdacb533eff5931dfee79f4601af0384412a5b06bc923b7204cd68d0af8f2598fc1e6c90b33d58acdd25d3c747308b039dc97041e8fd84aa338de1fe436aec129d3aa5c0ec11f244775451e3896f3a770378f173b8a4d30a29eee9203ce1e1e54a6106dd9ed5ed4c17c2eae9b68dbd752a030306203e35608f1ae9e70be93c153097e81fa74bc30b2d4572a5300aa33c528b03d519e78944c791a6b7290e3615220d6180f5f3b4f988e74af50a6819b304ad0f03f13c094428bb853ec68e8805360b7bb054a9ef83e884875f09713245a2b9925c03f3adc317e7a0528ad864ef7449ddca3c709b121225f5bdb318043a76596b21fa03e998862be9e44d9272eb6ee0cd0245f6b290a0e68fec23df273ecf18aeecc2600219ffff03653cf990b312b48d3129a8e667459075cae0de8e23543a2a8f04af38a9cbd117038c69f7638729c2b2c4fd1579bb7c450a2e945b05ed09c4d5249e7709e66d92df033fa9f17da0dac9876f9aff16e95dfe253d755448e4b4f133f41349d4827853bb031fb9c175a369a789c26791dd78840a981848810e0d606590e26318e2dba6c38603e92dc4c06f0c8a2f57c0e636b1aef6c3c6b95ce37d2b022597e6d2c29865ea910366417b85fbf96957da56d9a89c5a56a5350800ae61a58765beacb5e7bfb074900219ffff03fcc036779558111dad829df80bdbf8e7ed86971f307eddb5faef9aa2001af1b603fdd49d71c61e97c8cc0eef9254598a4cbd34a908f3375712a90abfb6eaeb30a7037e392fad3f87ac3072039da5cbea2b99f2d10a01aa4d46cb1c81bd8c9bf77994037dab82c751f31533cec6a7f680f545f8bd290d1e62f1b78e3652f2c16c68c43d034413df840cbf29eab30fdd6c5925cf38775cc308be825933f0a4457e5bd8190003a6a403f1d17d616dc28a8fc1653934563fa05637e92170eaf48b3517f636cf4003dc70f577ad37b64c94b215e6cacc6bfc9b76d2069d31c06542739b67f639cf16032e7471c5bc98fbe799ca31f6e82685707e5c6dbd89de69dc16e102adfc152be8036d0931f6981b42fc72d928e9237be1f2817d88cd821dbfe1a67cb0c10f65b0eb03a605521d3ea657b84908918a62052fbb844c539ac5e1904c08746befea6ab877032b0aec36736378b182af8aa6cd22a57d90d9cda61259009045b3ce03a21f2b6f035f096515ad4d65439ea7972903d400af2ed81d8e9a03256ea82db5b186b18d5003cb4db9c3f9db9defe8097d397457551863ac85b7e57c1b2c6fe2f00f0f4761ef03b890b1d684bb97a7977117ba6e78bf90133399ca98a1469720c020d428a8fc61037838d9c0c5980c413be285b7a88c47d58965a4bdf13d6df39c793b8572f2804a0322d287c04885e4ae3b0c002c66fab5cab6c761c8e77f1edd85a19d7db20bd9890351d6789efc868d8d91a24e3199915266b865b02c9ccdaafbdb5adf131bfba228030009af2241f7a17fa0125b532b7e72bd234ab52ab142b16e48b6b4c2518908a3033d51ef1aae5244f85b1fd2d604d2384ffaa7f389f195ab60d86d7dcd0899ab57035b03faa8d3677bfe305dabae8a83dcf83d98ef31f57547fe27a7a500e862283003478aa63c14b12d7af2a5ea2cfbb0af6ebdb0717093bb82001ee5b17314506a7703469d53d574fdf8216720ecf1c26bc457b9f2eaac36c422333e6da374a5be39470316b4eab8973ba9c94d090c4fd40db16d269e32c4b02bfcf1318dcca6ff9c47560316c32aea618f4a35b9bacd455d0a305b960eb28b9795389ee85cd5ea9d18772f03f702531b8b946381db1496a22f719d224543c603ff44234a20f4095e2f95e2c703467c473c8c47f5d82542447d79eb8e60381bc8da41a35cc685cafb4c5e754243034938d492e7906f4db03687b5f21832b35d4df44bd658ed3b0d7ab61cac0bf8fd03a97b9a724ff5b1a1e90032b29559e5da78e98ae90a150b138bdb6685491caaef03a2d5d8f07c83ca3edb8ad79711009dff87c3369ef21c8744c7068c993a48300103aab9764f7d79b8bf52560f5511668cdee2004377a1ea8426701cfa57f05b712803f8d2c48807f0302e324a2ff68d95c5c068789c6ffa8cd022af4bc8704b162e72034fef6d2e108904e11c75633ac94c56ea2c34abd415af6321c9ddd9a79bfb4d1003a2b2260c7dcbc720ed260c92c78e6fd942cd64c323268de67352a5f8de28476b03b03f7536efeaec7d03c85344bd05b42863ffb786acfaedf0e8590a0ecefc952003b611868c281d92a921c9163f1f46adac9e6145f2fa830f494821d676aa9964ef0378803bbbd997283c5c1fc15dc2c5e4dbbd79bac491d993e1621c5358fc169bc603cde17225753c3b37029c26c020f00192de4316e059214e960daff2f16f8653b7037712d6452e2663dbf635f9e788c40977fa07dc920b9dcca7815d5c628bc3bd8e03900975d26c0b3d9a55e84b5100d675acff2b4bcc96fd7cededa6ae810a9043b905581e0331b9077f63e20374836787589d20ab56d308768baf6feb1b2dcb34d7600c024605774fea440003282c5a650368e9b0e7d24d5cdf495dbddf26f77f85fdd6edcaed272af7b35db9035fffd5d88254ce0e08c2302c2c557e343e6cef958b526ab8128e1a20f7ee041605581e0385609eb13c8028dfa4852fb063cfb8e9ae6dd4d43778d540f79800b0600c0b471136f25b00215c05581e030857a6b3d0e9d021a7e24cd58fd0180f851308386471fe7c0fa1131df00c0147177cfd930cba0005581e03f7b7f46b544bcdb050ae1cb9e4843c0c52f99f99213fffdd72c2bc1920040105581e03bded25abb9d9062e93b4b938e4342e381cdd0a9b160c1b6756e896b0200c0f472e0ee90acbfe0003941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e037a692a51bd2764381b710aa6ee14f3b10a03c47a86d246d05dc0f4ef1007011bffffffffffffffff033fe61504a88f3baa02a7be9ed4728a11da5d0f028d0b73db886f87a9c482ec0105581e0364c13f862dadef046f86fd496b9b1360e13a3a65342770f96cbc2acce0040405581d02a7c06f685821c187259b57fa7d198c295f55a8fb9fb0f44704f3780f0c014704137d1495f02405581d02301e91dad0a99625ab7bac95e9e45e2e6c0681478c0559064f4789400c190ba34802c110f3cc0dbcac05581d025a3ac47fb477a04756ae6d09e974e9e149c86df42e72defac9deab540c034502540be40005581d022dad32b67f3b3ce215ea703599b5d2589505a10e3b92c0c4009de3c50c024701a14eb204aeb802191422036087c726410bace6cb756c82f9b320bf010d071292d2b80cce2bc0aee01728b505581e03ea2ccf104aa3c3bb8a661bb9bd6968b012c3094ac820522c26671449f00c01472e732851988bc00219fff503050c9d1709afb49f78147db39e560425f0f72da7f569698702d0d5a581548ae403c179e7694d3be61fa1f9319dcbf263c998adb8f36b519e1839e79862431ce20d037db25c6d5f953628d47d48c24582e72045d247fe69feab537e1a7d843fdca3b40383cf2c90e85255a4e09fbd9a658d3ec16407a2dfd86ff3746da792b8f6590b7603c23cc926ef7fa26faaf9688523547afdeb8893c5fb0f9d8d89e36b1f0caf29f103fb4a689725f146d33ab055975bf0c61e04e055ec367ee0cfe6e379be40c303a9034514fb4047115ea4be94dcff5c8631ef7bf69378de573168456d8d33a835410d03966ab5264ab6b1ee79f1ed13fd1932330e34dbb18c6046756e2aa0ba2b9e67be03528f9c0eb3ccabd7c5cab313c3d06216a88621f5d6cd8a3a2d697940ca53e79d038ff13f1dda9496f7520e2f12323102141a64c2df069e80548454033cdba2e8fa0219ffff034f7ed5868b4ee23d06f4589c1cf34ca1de570161402012a2a43a4929236b1bed038c462403accfc96a7dfae94395ca85df4ccdce971f5e400afb30679f71c7bf0503f032d0e0ef52bee499f897361f94d8c6c7a846a4cb90275c6e79c8447bc5d484032fba07432177953683b07cd48bdfc75c40619773ea628e2ab245260ca408f2fc03f635269f46f53f6c9f16d08a9011fa081b1bb8c6357cd6eeac1716c40895f5a00219ffff03be49b0a81eb9e4dfe5a6ee51c833400888b4d5aa20b4234ca3f3089192fe978d038cda71049b37ec7e57b9a3b6284d704309f284ec3ce61efc5c41edb161203f7a03b047f3417a84face987743331e0ac2c103c5874895c681a41da8edeeb8d36bb803f53e6adde8d814671ace27379317467e2b7bd7d978c5165387fb115d34e371f6034b6ee7d46f63af3adbeb98b2ab40ec52885cc22d8b1f180c1f1e37e8d7f7526d03d435ba4db19baa93bc2aa261861cb69de4302d2d8ae457df6de4b11938c8faaf0219ffff0314a43490ce217930ade1a451851a8309c9bb06327e03a532e968e6b8d252de7803e1d9bcf8dce50d1689556db5b80a475cfa4cf0612de71b16879e5486df480f9b03bc5f36bf257796f5abaa7058281a3b4f2befe46c05d83cefeba121b8d226ff69036ace07466894ed823acd5dcbb63ef8e697e33d512f3088bfd30e1406bb0c37580363ccacb83d51f763d50cdf67c5873146e208e269a66a4c33e9a59c64aee17ba403848ee16e47f93e687feb50e503df1df655e9667a38004b252c57ee2a28bc81e0031590fc8ff97576fae28a5df42747196765da859d1b5113024f27ba2b04ed963d03046651a3fdae9bf24c346ee2491878a1662d39f37c9a5131866e3a06c7ad851b0369b35143e0f448a43832ca39d2f700e63d22ee0fad299aeeb10d0e4d3b7943c403175f10d40bca2dacfc856d038d1be1af8c4b220f37be556e38856f252e2044db0219ffff0324c6aeba386774d1e8989c95fe3a60742c9fb86190dae4d47ac1544a70b43d3f03b1008494b77f7fcc99181392b436873fb9f07aabf3b4b3bd128fc4309c554d4e0375fbcbfd8e098ffb654c8e4b666ba80cf32d4795fd82ce91dd4cffc4716802f40306b9fff347dfab6cb1084ede3b2a700e9d00b1dcef9bd9fbc4903ec2fa7697af039b6d58df5642346489ea38635f9151ddd4c6dabd0557d19141d9e9a474081f67032d21d533193aedd2a1c01adfc3e399d49270fe20140fe4d3a2a1bf465efd56d403c14018960d14de84efa601675e3c2a0dbdb72c3e1fb92057c5b6e2d6548cd0320385c0c288c0a94c653707d7527cec75ed8cc11f134b350c948af794f8568d2dd0030f7c5648780a7124770847e449c0598caeb5ad572a7856a0c2bb95d275cfb2540396e4316287fc1f3cb7f8d7f7ebaa9728ff7c3c6b5ebfbbf166d41240fbad772c035a3e040b77814795da5ae702b278345bcc58e7d3b6c741ad0b0d0331c46bc131033969b52a1610f1fb5413da159cd22d4c3efea54cfead34b98bc5fec53e03553d033c4936346aa09ac8f98b55000b9b26e1da30e616c6f732571230f20e35d4e0f6036c77bd63a45e913f9234b8181f7a75eab2958453c5a323526620a91646247a2e030c5918294d7821de3a74259acdbe6a6ce26749d520173960fe395374d4c7e899034fcf99c4a7818ebaa24ee9b03e46034624c46d6a7f3e273cd6b548db09bc3bbe0364bf4cc4fbd2dc79c85377c5679c9e8e24cd4abdd5807241715510f967c49fea03cd1efb4e0b1e8d04c2201c552a9cf11f7ef2f68d211a61be4b62efce5711155f037c05a1c086ebeff7d183efc5aa604f8b652127afa0b484d66f399f286b4c912e03e732b3d9645534f9a841df82be813fb28bb5a1b31d2ec72340b37100cbeb784603382909c11c72d4be673a9fd382b3636970f02c29c40badd44308656a4e449bf2035831e6c55de3bb602dfa63a06052f0718e648df163f1bdeab689dacd766e20090368c77dd73eae27c406283eac6e4c539e59079e4c80c83f2b7251167ba0adef0e030bed0e3b7ee979159bb15671267fd5b4a8f081b250f46b90efb68b5c2c861f3d032ccf6367990e901e7bf3ad92b8e47785ab37eef984d2674a40d880d2b92d16c7031fff886985a52e320df2fc94e77707b276e915252a16a4a3cffdaefd8ccf799e03124400534e8615dd46750904ff389d07ef4a078ea9b9b27b5be7bdd8dab34c8803a455fda28dfaccecf3eb7d6c5dbeca72b0bf19c6248f9bb38feaa2ccf2bfa4c603738d99b87e044cfc305c3926e803efe71a1fa29a632bc762f53d6ea60fe8b5f403f8b127665029ea44bd5e1001ea4bc0da6610f6cb16071f7fdd077d2c0ea09f4a034f808bef87afee94999253ff211b2937e2c0015819a663358b4a851e81727fe7038cad1aca5edfdb2c23831ec6945f4bd90847a32150544a8a3b5fab8266e52b4303db1edd88da31b9173b3a01a4bcb70736f1fb7d3d7c4ff994859c9853af8d13ad03368a3deceddbf642196ed53eccf27173a264a7676dd248d202620423db656dba03dcaddf110217ee48bfb8eeff146af24219a51ac93ca67f522482e2a3564b460103f4f3faad37bea3e205267b20d5a04787281af8a7fb40e7e25abd16b1fb673d980351b04acdc59d6d2676cb376513e6ef4e0e457fb7667841912288d0e20a2a80b303cf603aa4de6a946d150a191044c72b182176fb4021c6b2d18a383855a8f0234e031b5526d099906496a3a33d60306caefad770cd03a0881fe26d7f1a0de66b43ac035e59a8277f34b835258b96b4508bec0ef3922515e4142f0490770b3b2175569f03293dce157508c58129da9fdebc65200c1c1d983a8107e0f00d93b0cfe25af3e005581e03e61bc331fa2bcfdfbcbaaffe43953dd29f5dae150f901483658d263be00c044707b05cbe758c7d05581e03e98f02ec287a7bc81664c3bd3547c9c43fc30dd780deb035cc572ed0200c044683c5a2e4fd4005581e0301b4c5ac518015a0bce436357c6ffae80bb8291afc971ebe35544f24400c024501aa2450d005581e03fe83da1ccaef9d9bd78ce53543b6368d6df3947d410bf2d34eb594c300040205581e03ec48afe9bed2ccb5532d8a32fc0cbb2e1ba61c7556de5f51e397c4be200c01463d1ec5ffb1f0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0397fc5d38badeb2417fc4af69d36e4965c61f33bb84f646b7d58a9da68007011bffffffffffffffff033fb0fa6f5661fde6378c4db73cf7f1243b922e4b55a3435735c010e477f1c24405581e037a436184a5fc4ce62ad4b2daaf8a45e35f2947e33aeb11416da640405004060219e48e03026455994a7764223a128fa757f29d61c41ac8e28bbab1f879c66e232fddb035036c4372246d91297c5eca3d8d1d450153f9522df23de517957182e29d8416b60c039c41360797c1aa7097a0a9af04c1f817bb5c454d0f772e8ebe2fd352ca7e0d8003ba5c25d3ffc47ad414f2443245ed620a381ce9d9f0d1ee70505a1db59120de1403c0b160d239ce0c71812917d0798c6964edb234491c2f32eb7574c8d7a16270d1034424e96e0a1731300a2559039dea0424a1e764dd8d7d15d03aeaad0ad4f3c4510219ffff031607ad0a1ba305ef701797730c019c3b185c0dbb0f482f10386db3446a8f7a540312287bc29f2baed4b1fc930f52489532b4fec922a36b4a91a91f7783402c380a037ec73b2e9bcef8facbe2637ff6111e1ef07153186e00f47d729f0690dc004b4503055d30bc306d96ab0cb9aedaff495f7afb4730446c7a1f96f785c05004135f200398418a681397427f906b8e034f61b8c96f509d367affb82a452f268302c94de103d152c22b71f6c3039c0923a13d58ba41db780be6dbee23526315a0a7cf0431f1037d07fa5723febf58b7b064f66fb51ccd33542f1733fd5095655fdb1cb52ed61003d757e18731ae954d17ba2b37aef6316225c955be31a5610b87e9454be425325803753b37ff3abfbe6254417acdccdbc7792897f9a69ca3519f33db8e1f0a06f71d035d0f2edb7053f1faccf65af86e531d22c3cc2949b8deb3160c91914b639d5bcb03a103f6ad9e92cdc19712b1a2c2520868d48838c6ae9841b5b6598facc92964630219ffff03d8b89977962e191ae00a471cfc8d04ab27004105aabea3f20a3514118c6362a40342228b2ce4d7af8913be27e5d33f74ac1156e79ce6b215261a0f340150aed5990219ffff034f61ea35d70737235a7524be89070d8a1b4312a463edd647598925fad5dd27ef0367356218f3ac808868159402784456d665ec6a3aa0a41585abfbb65d98f699280338604a343bc9aecc1935981e153cfe89177e98d6a52749241e3474fb37d3062d0379e57d3018566ef607f70739871a70e22f250c7073514ba45ebf0b623e2150310219ffff03ff41096042448d60e51cf90c3f4d32c484f2075dcf75997b73cb5132fa14cee303d55330cfd7fa4095c67d97d6e226d5f746dfa699344068ff850c9cd661a7237e0388185dc33be1752e598f422b3ca36b88f72978624ac5d3c52bca8f1aa5df907b0331efd165c257b035e9d310972a721a568efbe1497c9d6cadc31cdc141092b0dd033175ca26ae0b78e24f241d6d59350f393f513d386f76caa4dc01eec584c9683703c72b5eb847b4637591afae256fd03a1e652300ee869b73b9a744d5260fda709b03ee694228acfb8ca4132d1854640a984b7526b6dc1d8d1d2f7388559769b83fd403772906b1418f536fd3438952d8a507c574f872fecd6527c4d4f4a544f111f742039c81737ae5a38baeb1726a1555e57d6c70cdd7ff0277bba013842f992fe3d414031ad3fe9c07099f58f9840ce63f5cb56a2131a661ce47e279620513c287bccf980353da96fa6b3cf8379071046658960fe9f2e5583b7371aa00bc0b74a6e78a92a1037146604f75eae7c004c649e88055dbdaad5f11c9d75a1c070b80cdd59069fb9b03ea5c7eca43d22257270df496f2de21a4c2ecaab6fd1cfb16d9dfa4d47900295903a009fcb0a43b723b5e57d134fcf69fea087ca706f9821a47c2d9b4078e848a6a0385cd59308c0ba41b68662aa4c4ca5dc43ccecbfe34a0bb758961f960b6c08f76032277366223dc4bd673248b35fdbffb6d962fccfde4417a1b5ee1c25988bc06f803edf621f6da6f85e3543611cb792e072dec8da2d3136176b5ae6477665df090f80320c0a600fde72ac1545c1dcea40ee003c6ce25bbfbe5a425ca100ddac6bb8fc50326c500f83376c53ec000ce4b6de712524fc6cd3f212eef3691502404f29858cd03fffe27ae5abbc45140db8c52c20fa03e4240a35c6c91f37d38279ba9a3127a160302f261fe22ba2bda212b7d6ce8d7a5a6c1e8821417a12a758c3f6aa13317d2e903468dc4cd595e8792cf5d3f757e548396f5d871043b32bbfa37c8abe3143ef6dc03163eab7b6ba3a1f8eba01c69bbbb81c0d5534ba8feab7c1bb11d201e06f7d53b034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e033dadb7653588841a2087764475e0b140094c5573ad02852325c0ee44f007011bffffffffffffffff0399bec80f747a7f4d8c90241f2b4687e87d876ab2a1e786184b774bc9a3b314bc036260dd7e446b60f4c765ee6fa242dd88c0bb4d8ea47dddc956c771e85948b10c05581e03676cdbe01ce54cbf6c6a6c5c2dd9bc2972134e73cf653233f83a9523800405038d6fe41665cfb4d58918bbf3a81688da1ca3f67e529dc7f4cc040b0f75102fa60301337e4413f01c345b614ccdf8788466933f1a0def558c37a19ce0bfd6101d4605581e033431dd3c678cf6bb4c09f0cf8292eb4f7d82052f7363f6f952caf1ea600c0147011f667bbfc00005581d0258edc64491e8dd578d51f1c192eae6265a18ba613588a2056b86e4ed0c02470207288b40948205581d0268f24ae2fad81ed2dca702123aed6f0af6a60f88dbb12d3d35ae93630c02470804bac3420ffe05581d02e390288ece92f3c6fbb890464690c53d3e01772dd97046a8daff4f900c04478034e7a51a2a2804592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c634300051000320384b2573251bfe2e94ba79c0b98c656bf64322ed350b0879a0ee59d5ec30128200058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630480c192f1954503f3600582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af050010374865282d34b9409d4255f0b455c005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854f1001ad1ee7743e0f6715f50cdaeb1397d5cb4fa00582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab0471ef8ca7e487b790219014000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820eb94db55691873fd8f4d937239039c663e5f6abd98c065fcfe316a94084248f7005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a850d579019250d11fd5122a90a86965d7bc02184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd00480bfa364ed607bfd500582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820663811bb00000000000005e26e848833dcec0000000000001a0ce48769dbdff200582002aa68fd0b9ce5597a6b852e7cf6a582dad59ebc65cf9a27520b304170361e9c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218680219f44505581d02a2f0a757c767f2f1f00959b54bb0afc795dbe5a347ff3575e897fb610701192c1d0219c01203217db0427a9a7df644a99dd99bf1ac77d3b430bc74730438ccd55a2a8d7588aa0219da66034d6198727d3f428a3cb210a1b6a8881848ef6b9991490fe3d0fa63f5aac8e468039575845ef29c5c4f5c59d52ccf6a166fbfa745b5ea4f3eff8f35a36592a5a854030bdbc2e6c85207aa334c5439c72db9811d5a27cb403d501e259b7b8211d0482c03fd8f29530748b96c609c2963458b556bce3969a75b37fc96b3ec2f9fe724dd5a03db69853cb602c5c1d6f733e14ca347c37aafb0b625672e219254fd1540b79ec80373b63d0fb6ed7ffde952aa3122f60eaa97e27e71b3b6eb02a094c1f0483e9480033d90703c6ebb918568ef318aa3f6e37ca739916c5219f9cdbd18b22e4d61dc7b03fb32801dbc0d7c9f6fdaccec9071ffde5f68694c6e2bb2869b15b48eaca0968f03a144dfc4f3b1e2fee3dc40999a2217d2da947a61f860d7c9949e19a62afcb8660219ffff035b7997205673de73c19fa9f04c68d5ee94ab57f998c0451aac528c46f1e8566a038a5aea6593fe8e5eabf7d70e5e2af861358713fe6ddbc6a80a05fae6aa571076036766860aed3876af5e53c0d11777eaa443d3639f23258cbbb2013d7ca8a27bdd0376557c3d8ec75e27a501c5a50f204a29391196c5d9dfd264f017315ecbe590830385e066bb492ded45b73a7e0052b0065170d19946f4049f34a6e5646a5eb39b5c0385d59bbaea0f6912608a5ad65f23e8922d4bebebd6dc89f3c395c9b7604187070330b3be6521dcd9f23aa6ccdaee41133c186e71dbd3d8f623bf9108cea020c9fc03b88e987b529e4542dc89df56a59a3e793bf14327347262732745e977a8607f830219ffff03bae8e9a8c6b14ade72932393307cf9f4faa48e3f0d52da0ad02899ebc22993b7030015fd996455b178383a9b571118ddfc72a6bfec4c68748637b22d68ba3d1dfd0306372ec8ab675c393e78f1640f859fb02b1e8553dfd0d9fe86cddf0542b5e939032927ceda284800ad13f2671e078252d3a6067898d2692612555e723693ca7c010364630014871611d84e932a7cd483c2226cf50cb23ddd5c9cdef68b1adcfae9ca03cddd35c2520efd78f95aa0efb1bcfe359ff3d6f2926a220673f33fcb20724b9503c2050126de32364fd49b91c7f710a981853f1b19cfe9a398e16dd63ef616a14c03e4eb94a23ff2beae29a2b3b2cda59f58b2c8081a012d542a2dbc8446474192150390fd2713d204ec02c657eda837d9b903649ca7c21d0bea883560c44a5840cf4f03bad1715db45f58203a1a422cfa3a825aec95f336e5f629ceff505a53b96139980351e45346ddebcd8c95122999b00c0bb21bc3555e46e27df61a54e6556eeb9d0403c32070cbdb4ff193f3ee4659b55f3b2ac1a0ca6e52412ab75d426ce0051fbc990219ffff03a4036d7fde0eea3dd44ad9b1c511f36c5301a5071fd6cee7858bc1f95da35b45030a2fd5e9f19dde84be4f4f8cfead9fd18996d6e0fa39c61eca67049dfd4ec449030e5ea0ca316e81e91bb649fdc161477629da3ecb7e0c762c88dacdc4e332da25038bf68ee483ab94728260a8b47e9ea31366c2e060ed0a35f8253a79e197800910035f3e6ab6e55998003d7d8aa47f2e59965c07e4aecce263a74862460ce3f92fd90365a409f32023f587e6ac8ae13f17021a5b23c8fb39e237ba9cfc763d537f726f03e8e73209210e16df3f423bed3182ea79da5163ee8afc1977c1561bdd1fde9ffc032cb6b42a4667a84d4e42197f5166acb157f1d8edbdfb221d66b68d6016dde21503cde372eb381408caeb10376665bc157307f24506c2491f20ea4c89a7989233e60398cd574d16a61cf4e468e83e89d979ad0c391ea8d422733dc61c173c4f094cd50219ffff0219ffff0219ffff" + } + }, + "txn_info": [ + { + "traces": { + "0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5": { + "code_usage": { + "read": "0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127" + } + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5d9d8b208ea1b6cc" + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd64a7658410c285153", + "storage_read": [ + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f", + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b" + ], + "storage_written": { + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f": "0x0", + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b": "0x10ec3dc1f89c0802" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0xd95fc8448cea732810bfa312a3ebaaafa2c6a3cb": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0xd8a5da9077d5c5ec8b806a3ac3c8", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c700000000000010ec3dc1f89c0802000000000000012384455dc21a01", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0xaa28037adae5827cce516b9dd7dfd8" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x71f755898886f79efa73334450f05a824faeae02": { + "balance": "0x190705b0d47776e3", + "nonce": "0x8f" + }, + "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae" + } + }, + "0x3339474491b13ac638f163d634fbbc722cd27916": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0xa959202a47a24885beeb7de07cfd01f9ec6e5a393f1d515f40a6ff4cc8322d41", + "0x1ddb94459ffc40c2677b8a9322a30bbcd8865572dffd5aba3e2181b5ee3bbf20", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x9bacabca323d73597c4482cd7d164b0ba76e976ed396b897fece57202fe17e3e", + "0xb30d0c34c10c130ac92a1de37e54ac7bdb90a70d224fdd92cba743574dc18743", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0xbb900bdeb39d5848d51385674f626e4a5f449ab5742c2f63f7ae5f91877fb474", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "storage_written": { + "0x1ddb94459ffc40c2677b8a9322a30bbcd8865572dffd5aba3e2181b5ee3bbf20": "0x6e948b35fe5ff", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53": "0x12384455dc21a01", + "0x000000000000000000000000000000000000000000000000000000000000000e": "0x9" + }, + "code_usage": { + "read": "0x3db32b9d0f5a762bfcd05f5d0cbafe91fca8b67a0e2834e13c8bb0531a8125a6" + } + } + }, + "meta": { + "byte_code": "0x02f9017b01818e850c570bd200850dc778ba13830549a19480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e87649ff6f7003174b90104088890dc000000000000000000000000000000000000000000000000000011b15df428b300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000071f755898886f79efa73334450f05a824faeae0200000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a03efde0059a9e20313ee5a466273604b3e79d199a60b2c44e753f5f2fe56eb987a040eca86c1d87c685a3024af4a0224dab92758dc1990b8f8ecb6040f88498ab1e", + "new_txn_trie_node_byte": "0x02f9017b01818e850c570bd200850dc778ba13830549a19480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e87649ff6f7003174b90104088890dc000000000000000000000000000000000000000000000000000011b15df428b300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000071f755898886f79efa73334450f05a824faeae0200000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a03efde0059a9e20313ee5a466273604b3e79d199a60b2c44e753f5f2fe56eb987a040eca86c1d87c685a3024af4a0224dab92758dc1990b8f8ecb6040f88498ab1e", + "new_receipt_trie_node_byte": "0xb9043e02f9043a01830316aab9010000200000000000000000000080000000000000000000000000000000000001000800000000000000000000000000000002000000080000000000000000000000000000000000000000000008000000200000000100000000000000008000000000000000000000000000400000000000000000000000000100000010000080000000000000000000000000000000008100000001000008080000004000000000000400000000000000000008000000000000000000000000000008000000000000000002000000000000200000000000000000000000001000000000000000000040200000000000000000000000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000000000000000000000000000000649ff6f7003174f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba000000000000000000000000000000000000000000000000000649ff6f7003174f89b943339474491b13ac638f163d634fbbc722cd27916f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba000000000000000000000000071f755898886f79efa73334450f05a824faeae02a00000000000000000000000000000000000000000000000000006e948b35fe5fff87994d95fc8448cea732810bfa312a3ebaaafa2c6a3cbe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000012384455dc21a0100000000000000000000000000000000000000000000000010ec3dc1f89c0802f8fc94d95fc8448cea732810bfa312a3ebaaafa2c6a3cbf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000071f755898886f79efa73334450f05a824faeae02b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000649ff6f70031740000000000000000000000000000000000000000000000000006e948b35fe5ff0000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 202410 + } + }, + { + "traces": { + "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae" + } + }, + "0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5": { + "code_usage": { + "read": "0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd64adaf838032882c7", + "storage_read": [ + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f", + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b" + ], + "storage_written": { + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b": "0x1150ddb8ef9c3976", + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f": "0x0" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0xa890e6b83ac95c7de4ffd4549d4cd282b407b495": { + "balance": "0x22b2b5d53ed342d2", + "nonce": "0x6b" + }, + "0x3339474491b13ac638f163d634fbbc722cd27916": { + "storage_read": [ + "0x2f896bfc9c9e71c6886136cc9d4cdf6a0dad4fb0087b5adb73d7f2333184fdb9", + "0x9bacabca323d73597c4482cd7d164b0ba76e976ed396b897fece57202fe17e3e", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x21ef1d37618698fd5eab9f9249a314a31323bb90142688cae6c8c2ab595693dc", + "0xa959202a47a24885beeb7de07cfd01f9ec6e5a393f1d515f40a6ff4cc8322d41", + "0xe02dfcb26e74ceff6d1d546e4ebc866a3afeeb82714de1afc3c7783c51bf5ba8", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000f" + ], + "storage_written": { + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53": "0x11ceb324cf27726", + "0x2f896bfc9c9e71c6886136cc9d4cdf6a0dad4fb0087b5adb73d7f2333184fdb9": "0x6991310cfa2db", + "0x000000000000000000000000000000000000000000000000000000000000000e": "0xa" + }, + "code_usage": { + "read": "0x3db32b9d0f5a762bfcd05f5d0cbafe91fca8b67a0e2834e13c8bb0531a8125a6" + } + }, + "0xd95fc8448cea732810bfa312a3ebaaafa2c6a3cb": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c70000000000001150ddb8ef9c3976000000000000011ceb324cf27726" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5dbb414e52781acc" + } + }, + "meta": { + "byte_code": "0x02f9017a016a850c570bd200850dc778ba13830549a19480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e87649ff6f7003174b90104088890dc000000000000000000000000000000000000000000000000000011b15df428b300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a890e6b83ac95c7de4ffd4549d4cd282b407b49500000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a0a884ab9e5c1057e2e741e5ad4c6335f655a0dd248b3a6b7d7d0eb450ac2cff8ea07befa7f3480ddc589444e0d4498e0fd68fa765747676bafd9a128c6dcd91d5a1", + "new_txn_trie_node_byte": "0x02f9017a016a850c570bd200850dc778ba13830549a19480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e87649ff6f7003174b90104088890dc000000000000000000000000000000000000000000000000000011b15df428b300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a890e6b83ac95c7de4ffd4549d4cd282b407b49500000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a0a884ab9e5c1057e2e741e5ad4c6335f655a0dd248b3a6b7d7d0eb450ac2cff8ea07befa7f3480ddc589444e0d4498e0fd68fa765747676bafd9a128c6dcd91d5a1", + "new_receipt_trie_node_byte": "0xb9043e02f9043a0183057f0cb9010000200000000000000000000080000000000000000000000080000000000001000800000000000000000000000000000002000000080000000000000000000000000000000000000000000008000000200000000100000000000000008000000000000000000000000000400000000000000000000000000100000010000080000000000000000000000000000000008100000001000008080000004000400000000000000000000000000008000000000000000000000000000000000000000000000002000000000000200000000000000000000000001000000000000000000040200000000000000000000000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000000000000000000000000000000649ff6f7003174f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba000000000000000000000000000000000000000000000000000649ff6f7003174f89b943339474491b13ac638f163d634fbbc722cd27916f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba0000000000000000000000000a890e6b83ac95c7de4ffd4549d4cd282b407b495a00000000000000000000000000000000000000000000000000006991310cfa2dbf87994d95fc8448cea732810bfa312a3ebaaafa2c6a3cbe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000011ceb324cf277260000000000000000000000000000000000000000000000001150ddb8ef9c3976f8fc94d95fc8448cea732810bfa312a3ebaaafa2c6a3cbf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000a890e6b83ac95c7de4ffd4549d4cd282b407b495b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000649ff6f70031740000000000000000000000000000000000000000000000000006991310cfa2db0000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 157794 + } + }, + { + "traces": { + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5dd52155a6ae57cc" + }, + "0xd95fc8448cea732810bfa312a3ebaaafa2c6a3cb": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c700000000000011c16aded0b6a2f30000000000000115e265a04ab726", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { + "code_usage": { + "read": "0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2" + } + }, + "0xdee90fc88ef3aceace9a22d2b2921906b7244552": { + "balance": "0x8a9d9dbb9e5f0d3", + "nonce": "0xa19" + }, + "0x3339474491b13ac638f163d634fbbc722cd27916": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x08f55d8b98c4bc7e11f2e039154ef30538af6b9937232ca209892c45871b15fb", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x9bacabca323d73597c4482cd7d164b0ba76e976ed396b897fece57202fe17e3e", + "0x0de215f63bfff4fe7883d192cea3721d7ad4060ea680c272f62f5c5faf4d8402", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0xad854c85d5b9e7470859152ad53c772f27f17f8dee52d4d3ff9c85f2b46f27b1", + "0xa959202a47a24885beeb7de07cfd01f9ec6e5a393f1d515f40a6ff4cc8322d41", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000010" + ], + "storage_written": { + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53": "0x115e265a04ab726", + "0xad854c85d5b9e7470859152ad53c772f27f17f8dee52d4d3ff9c85f2b46f27b1": "0x708ccaca7c000", + "0x000000000000000000000000000000000000000000000000000000000000000e": "0xb" + }, + "code_usage": { + "read": "0x3db32b9d0f5a762bfcd05f5d0cbafe91fca8b67a0e2834e13c8bb0531a8125a6" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd64b4b855de442ec44", + "storage_read": [ + "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8", + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b" + ], + "storage_written": { + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b": "0x11c16aded0b6a2f3", + "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8": "0x0" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + } + }, + "meta": { + "byte_code": "0x02f9015c01820a18850b4ad345008515c508c70083035b60947a250d5630b4cf539739df2c5dacb4c659f2488d8801cd918d39380020b8e4fb3bdb41000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000dee90fc88ef3aceace9a22d2b2921906b724455200000000000000000000000000000000000000000000000000000000663811fc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a0d244c53d24ffc3b2fcdfaf692d82593c0bb8cf3369b2a94c91c2c0249c4510a7a0751ca6879dce7d240443728d6e5756fa78be470b7ebd94cf984a1cb94f9f2c30", + "new_txn_trie_node_byte": "0x02f9015c01820a18850b4ad345008515c508c70083035b60947a250d5630b4cf539739df2c5dacb4c659f2488d8801cd918d39380020b8e4fb3bdb41000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000dee90fc88ef3aceace9a22d2b2921906b724455200000000000000000000000000000000000000000000000000000000663811fc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a0d244c53d24ffc3b2fcdfaf692d82593c0bb8cf3369b2a94c91c2c0249c4510a7a0751ca6879dce7d240443728d6e5756fa78be470b7ebd94cf984a1cb94f9f2c30", + "new_receipt_trie_node_byte": "0xb9043e02f9043a018307c9a5b9010000200000000000000000000080000000000000000000000000010000000001000800000000000000000000000000000002000000080000000000000000000000000000000000000000000008000000200000000000000000000000008000000000000000020000000000000000000000000000000000000100000010000080000000000000000000004000000000008100000001000008080000004000000000000000000000000000000008000000000000000000000000000000000000000000000002000000000000200000000200000000000000001000000000000020000000200000000000000000000000000000000000000000400008000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da000000000000000000000000000000000000000000000000000708d25e11a697df89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba000000000000000000000000000000000000000000000000000708d25e11a697df89b943339474491b13ac638f163d634fbbc722cd27916f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba0000000000000000000000000dee90fc88ef3aceace9a22d2b2921906b7244552a0000000000000000000000000000000000000000000000000000708ccaca7c000f87994d95fc8448cea732810bfa312a3ebaaafa2c6a3cbe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000000115e265a04ab72600000000000000000000000000000000000000000000000011c16aded0b6a2f3f8fc94d95fc8448cea732810bfa312a3ebaaafa2c6a3cbf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000dee90fc88ef3aceace9a22d2b2921906b7244552b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000708d25e11a697d000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 150169 + } + }, + { + "traces": { + "0xd95fc8448cea732810bfa312a3ebaaafa2c6a3cb": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c70000000000001237d2e8e9b68a47000000000000010ed998f3a2f726" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd64bc1ed67fd42d398", + "storage_read": [ + "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8", + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b" + ], + "storage_written": { + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b": "0x1237d2e8e9b68a47", + "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8": "0x0" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0xfe6cf59162f319fb2c536f63a6121eb88dc85a34": { + "balance": "0x73a223146e589e8", + "nonce": "0x28c" + }, + "0x3339474491b13ac638f163d634fbbc722cd27916": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x9bacabca323d73597c4482cd7d164b0ba76e976ed396b897fece57202fe17e3e", + "0x932f5dddf61dcab2b7f81a97907cab7ab3afa53fb02eaa509ecf46d078a590ad", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x7e5308f712c73bb1d1fdf32173d487dce249d64f2aed871db408acd1809c3c8e", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53", + "0xa959202a47a24885beeb7de07cfd01f9ec6e5a393f1d515f40a6ff4cc8322d41", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x2f2974bd4e0f611fb6e95d73ca9161f61dd52ac4d1e50f1933fbd0faaa911374", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "storage_written": { + "0x7e5308f712c73bb1d1fdf32173d487dce249d64f2aed871db408acd1809c3c8e": "0x708ccaca7c000", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53": "0x10ed998f3a2f726", + "0x000000000000000000000000000000000000000000000000000000000000000e": "0xc" + }, + "code_usage": { + "read": "0x3db32b9d0f5a762bfcd05f5d0cbafe91fca8b67a0e2834e13c8bb0531a8125a6" + } + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5ded909a5428d1cc" + }, + "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { + "code_usage": { + "read": "0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2" + } + } + }, + "meta": { + "byte_code": "0x02f9015c0182028b850aa9e48a008515c508c70083035b60947a250d5630b4cf539739df2c5dacb4c659f2488d880102a336dba60000b8e4fb3bdb41000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000fe6cf59162f319fb2c536f63a6121eb88dc85a3400000000000000000000000000000000000000000000000000000000663811fc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c080a0b66d674b17cb04d44900455636b496131fdae9b8e4c81f790854bda351130e83a00db241292520a7c135d381b0fd18788c9490aff4b756d397453a6454da4e0a3c", + "new_txn_trie_node_byte": "0x02f9015c0182028b850aa9e48a008515c508c70083035b60947a250d5630b4cf539739df2c5dacb4c659f2488d880102a336dba60000b8e4fb3bdb41000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000fe6cf59162f319fb2c536f63a6121eb88dc85a3400000000000000000000000000000000000000000000000000000000663811fc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c080a0b66d674b17cb04d44900455636b496131fdae9b8e4c81f790854bda351130e83a00db241292520a7c135d381b0fd18788c9490aff4b756d397453a6454da4e0a3c", + "new_receipt_trie_node_byte": "0xb9043e02f9043a01830a143eb9010000200000000000000000000080100004000000000000000000010000000001000800000000000000000000000000000002000000080000000000000000000000000000000000000000000008000000200000000000000000000000008000000000001000000000000000000000000000000000000000000100000010000080000000000000000000004000000000008100000001000008080000004000000000000000000000000000000008000000000000000000000000000000000000000000000002000000000000200000000000000000000000001000000000000020000000200000000000000000000000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000076680a18ffe754f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba00000000000000000000000000000000000000000000000000076680a18ffe754f89b943339474491b13ac638f163d634fbbc722cd27916f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba0000000000000000000000000fe6cf59162f319fb2c536f63a6121eb88dc85a34a0000000000000000000000000000000000000000000000000000708ccaca7c000f87994d95fc8448cea732810bfa312a3ebaaafa2c6a3cbe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000010ed998f3a2f7260000000000000000000000000000000000000000000000001237d2e8e9b68a47f8fc94d95fc8448cea732810bfa312a3ebaaafa2c6a3cbf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000fe6cf59162f319fb2c536f63a6121eb88dc85a34b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076680a18ffe754000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 150169 + } + }, + { + "traces": { + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5def439c4b5641cc" + }, + "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae" + } + }, + "0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5": { + "code_usage": { + "read": "0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127" + } + }, + "0x4fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660b": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000009": "0xcf1ba905921432e18b85621f8cf12637a0", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x255a7ee758811e1b4264e80e0c47e8", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c700000000000068a4699375205d36000000000000002c7dc20fc759b8", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x8b683c400457ef31f3c27c90acb6ab69304d1b77": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x83e1437aab4333b6030f364dc9caee9c0c897f2db6337f02ce233d75b273b1fa", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x675bf37819e10c16f976a50d9f656ba9812a6d5a65c8e7d60705c35921eb77be", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0xfb1d4442566123dd7c0fe5cd59628ac4451e1b9577fd6e20474cca2443e1b531", + "0xddc732c826b289315f15077a83d3fe3859af931e5164604edd58e7607cacb5f5", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000e" + ], + "storage_written": { + "0xddc732c826b289315f15077a83d3fe3859af931e5164604edd58e7607cacb5f5": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffe2a8152211587", + "0x83e1437aab4333b6030f364dc9caee9c0c897f2db6337f02ce233d75b273b1fa": "0xa26c347416cf", + "0x675bf37819e10c16f976a50d9f656ba9812a6d5a65c8e7d60705c35921eb77be": "0x2c7dc20fc759b8", + "0xfb1d4442566123dd7c0fe5cd59628ac4451e1b9577fd6e20474cca2443e1b531": "0x1" + }, + "code_usage": { + "read": "0xe7ade98613d60bcf57bf6f63bdc0ba142056f211f922f48e2e16a049c0ba5048" + } + }, + "0xc58e4d309c4f5c88afe355c260ee9a1a699ed1dd": { + "balance": "0x6fd1b56dbabfd0d", + "nonce": "0xba4" + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd647816bd65e02a57f", + "storage_read": [ + "0x76cd8662b2bfb43bcc04aa9280535bff21a0556a979e6d40014a513d17cd257e", + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f" + ], + "storage_written": { + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f": "0x0", + "0x76cd8662b2bfb43bcc04aa9280535bff21a0556a979e6d40014a513d17cd257e": "0x68a4699375205d36" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + } + }, + "meta": { + "byte_code": "0x02f9019401820ba384b2d05e008502233d46138304dc2f9480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e80b901243d0e3ec50000000000000000000000000000000000000000000000000001d57eaddeea78000000000000000000000000000000000000000000000000023bb9178b0192be00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dd00000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000008b683c400457ef31f3c27c90acb6ab69304d1b77000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2c080a0dd70145d23e041328d8242858ca9815cbb03bf408dd7d81e30532932497838fca0496bf86926d61a533fa5824c9d21271b8b1597b48014282168a48575f8cf417c", + "new_txn_trie_node_byte": "0x02f9019401820ba384b2d05e008502233d46138304dc2f9480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e80b901243d0e3ec50000000000000000000000000000000000000000000000000001d57eaddeea78000000000000000000000000000000000000000000000000023bb9178b0192be00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dd00000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000008b683c400457ef31f3c27c90acb6ab69304d1b77000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2c080a0dd70145d23e041328d8242858ca9815cbb03bf408dd7d81e30532932497838fca0496bf86926d61a533fa5824c9d21271b8b1597b48014282168a48575f8cf417c", + "new_receipt_trie_node_byte": "0xb9057802f9057401830c8306b9010000200000000000000000000080000000000000000000000000000000000100000000000000000008000000000000000002000000080080001000000000200000000000000000000000000008000000200000100100400000000000000000000000000020000000000000400000000000000000000000040000000010000000000000000000080000000000000000000000000000000000090000004000000000020000000000000000000000000000000000000000000000000000000080000020000002000000000000000000000800000000000000001000000042000000000050200000000810000000000000000000000000000000000000000000000000f90469f89b948b683c400457ef31f3c27c90acb6ab69304d1b77f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dda00000000000000000000000008b683c400457ef31f3c27c90acb6ab69304d1b77a00000000000000000000000000000000000000000000000000000177988b18bb9f89b948b683c400457ef31f3c27c90acb6ab69304d1b77f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dda00000000000000000000000004fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660ba00000000000000000000000000000000000000000000000000001be05252d5ebff89b948b683c400457ef31f3c27c90acb6ab69304d1b77f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dda000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0fffffffffffffffffffffffffffffffffffffffffffffffffffe2a8152211587f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000004fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660ba000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000000000000000000000000000044081919f402e19f879944fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660be1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000002c7dc20fc759b800000000000000000000000000000000000000000000000068a4699375205d36f8fc944fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660bf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9eb8800000000000000000000000000000000000000000000000000001be05252d5ebf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044081919f402e19f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000000000000000000000000000044081919f402e19", + "gas_used": 159432 + } + }, + { + "traces": { + "0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5": { + "code_usage": { + "read": "0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127" + } + }, + "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae" + } + }, + "0x8693ca3483daf299aad023eae75221436d6c11a0": { + "balance": "0x8521330e10f264f", + "nonce": "0x162d" + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5df1064f497363cc" + }, + "0xd5564d5338168dd3bafc9fcb37d264b451670b8d": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1062a74ebba592da735f3bf72a0ee64", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0xd5ae2126c2d0a7ceefb92f3f99b89aac", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c70000000000000551c685d5c01ae60000000000001cd36f7824efdff2", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0xf1001ad1ee7743e0f6715f50cdaeb1397d5cb4fa": { + "storage_read": [ + "0xba6fabe7c1b33f9faa35c25ff04fe055f58509edaa961f522e7d05ea5b41d704", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0d6f85cf373209cd6fd4c2738b51bed4e72c574868b2d1789fc613f6de974283", + "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x42839f559ed51fc754e4cff021a3d0fb278fa5e9d01911adb8c98803f7d2c47e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x32bf1e57b2f3d6c52d6033622253e59c320f4f31dd907f1da3ac1c2fc891a4b6", + "0x8b364a1dd167da933f7abc9cb2ca26d32b828ba52ee73f18dd43ac7813dfdc93", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0xcaab888c23d12df622bf5e4d33f8b1b243f92f6f0e47f8ff75a68c6247893ae9", + "0x000000000000000000000000000000000000000000000000000000000000000f" + ], + "storage_written": { + "0x42839f559ed51fc754e4cff021a3d0fb278fa5e9d01911adb8c98803f7d2c47e": "0x90a7feb273c206", + "0x0d6f85cf373209cd6fd4c2738b51bed4e72c574868b2d1789fc613f6de974283": "0x551c685d5c01ae6", + "0x000000000000000000000000000000000000000000000000000000000000000d": "0x14a" + }, + "code_usage": { + "read": "0x7d443041f5f212485af211c85b7fb6fcf1550f959a66bf997e2c4951782dc525" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd64a47f6c71916a57f", + "storage_read": [ + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f", + "0x793b794d76a0a454c7b10e10121915a5212de57e0d7d94cceacd9abd22330ccc" + ], + "storage_written": { + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f": "0x0", + "0x793b794d76a0a454c7b10e10121915a5212de57e0d7d94cceacd9abd22330ccc": "0x1cd36f7824efdff2" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + } + }, + "meta": { + "byte_code": "0x02f9017c0182162c84b2d05e008502233d4613830461c69480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e8802c68af0bb140000b90104088890dc000000000000000000000000000000000000000000000000007af53217af31b800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000008693ca3483daf299aad023eae75221436d6c11a000000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f1001ad1ee7743e0f6715f50cdaeb1397d5cb4fac001a02c9a9ab0d7eb2503a5ebbfe1a66c2f08a9170e1da5b14cdb142fce831522a43aa0360ecd3be1f224118862ddb78787cf31ad7600994b6c7a4a947ae3a071619a8b", + "new_txn_trie_node_byte": "0x02f9017c0182162c84b2d05e008502233d4613830461c69480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e8802c68af0bb140000b90104088890dc000000000000000000000000000000000000000000000000007af53217af31b800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000008693ca3483daf299aad023eae75221436d6c11a000000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f1001ad1ee7743e0f6715f50cdaeb1397d5cb4fac001a02c9a9ab0d7eb2503a5ebbfe1a66c2f08a9170e1da5b14cdb142fce831522a43aa0360ecd3be1f224118862ddb78787cf31ad7600994b6c7a4a947ae3a071619a8b", + "new_receipt_trie_node_byte": "0xb9043e02f9043a01830f0845b9010000200000000000000000000080000000400000000008000000000000000000000000800000000000000000000008000002000000080000000000000000000000000000000000000000000008000000200000000100000000000000008000000000000000000000000000400008000000000000000000000000000010000000000000000000000000000000000000040040000001000000080800004000000000000100000000000000000000000008000000000001000000000000000000000000000002000000000000000000000000000000000000001000000000000000000040200000000000800000000000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000000000000000000000000000002c68af0bb140000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000d5564d5338168dd3bafc9fcb37d264b451670b8da000000000000000000000000000000000000000000000000002c68af0bb140000f89b94f1001ad1ee7743e0f6715f50cdaeb1397d5cb4faf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d5564d5338168dd3bafc9fcb37d264b451670b8da00000000000000000000000008693ca3483daf299aad023eae75221436d6c11a0a00000000000000000000000000000000000000000000000000090a7feb273c206f87994d5564d5338168dd3bafc9fcb37d264b451670b8de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000001cd36f7824efdff20000000000000000000000000000000000000000000000000551c685d5c01ae6f8fc94d5564d5338168dd3bafc9fcb37d264b451670b8df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea00000000000000000000000008693ca3483daf299aad023eae75221436d6c11a0b88000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090a7feb273c206", + "gas_used": 165183 + } + }, + { + "traces": { + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5df12eb9f766c554" + }, + "0x17032783b5f29c8a68e0fafba4db021f248409e4": { + "balance": "0x0", + "nonce": "0x1" + }, + "0xb27b03580c193d324931acb143f6a1f3477e702e": { + "balance": "0x1257cf59bdce9000" + } + }, + "meta": { + "byte_code": "0xf86c808501a13b860082520894b27b03580c193d324931acb143f6a1f3477e702e8801ff118a94dfd0008026a06b6a8c636721916ee32404201135745eeb2bfad873e662f5a59c331cb6647a95a0452ae97ab3fb5bd8e4cc7890b28876a662430c40bf643239303e0c86770c96bf", + "new_txn_trie_node_byte": "0xf86c808501a13b860082520894b27b03580c193d324931acb143f6a1f3477e702e8801ff118a94dfd0008026a06b6a8c636721916ee32404201135745eeb2bfad873e662f5a59c331cb6647a95a0452ae97ab3fb5bd8e4cc7890b28876a662430c40bf643239303e0c86770c96bf", + "new_receipt_trie_node_byte": "0xf9010901830f5a4db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "storage_read": [ + "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a", + "0xbedcb5df52f588f61ff32320302f7849d95752554baca3aee643459d2813fab3" + ], + "storage_written": { + "0xbedcb5df52f588f61ff32320302f7849d95752554baca3aee643459d2813fab3": "0x1497511bb6b1f16f2", + "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a": "0x4d5baffcde6306e76a7" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "code_usage": { + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + } + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5df1aadbe3850878" + }, + "0x93793bd1f3e35a0efd098c30e486a860a0ef7551": { + "balance": "0x34051d7a04031aac", + "nonce": "0xbcb1" + }, + "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x00000000000000000000000000000000000000000000000000000000000002b2", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63a", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe639", + "0xad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63b", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63c", + "0x00000000000000000000000000000000000000000000000000000000000002b3" + ], + "storage_written": { + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63c": "0x1000ed33000000000000000000020ce00fa821636b2d952f000002c5cb2601c", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x8e9b198ababa2f7fe6a21112ad04", + "0x00000000000000000000000000000000000000000000000000000000000002b3": "0x10000000000000001ec39445981969ea7d3b54b3200112eb4a4fef7663811c7", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10002d302d302ab02fceb00000000000045c6a16d265bb9fcae89d55c6498", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63b": "0x22d49e52321c6f90afad5a369abbdcbfa6", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63a": "0x1c24849ab98c7905f71913f3039", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x9336b8b0a431b7d8" + }, + "code_usage": { + "read": "0xa981b66c747a3d9fa29d7e200d5faaa2826960523d0e5a0df8148e8868c480b4" + } + }, + "0x9def7cde171841a9f0724124ca0b01a622d749e4": { + "balance": "0x16a7fb085b7", + "storage_read": [ + "0x5f5a09b54e538f9aa6a9bd36e4e1a5370b6d3b889be76cfa9f33bf6e1d909fe7", + "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000005" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0", + "0x0000000000000000000000000000000000000000000000000000000000000006": "0x9def7cde171841a9f0724124ca0b01a622d749e4" + }, + "code_usage": { + "read": "0xa85d7ec4ffa81da8f494f1e81b70a200d3f75a414e3a803943ecd868aff78ab5" + } + }, + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "storage_read": [ + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xe6695488b0655a1b1fdfee55f87e57d940b86639032942a6c8ac0cc373a938f8" + ], + "storage_written": { + "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff": "0x49b731ca328c", + "0xe6695488b0655a1b1fdfee55f87e57d940b86639032942a6c8ac0cc373a938f8": "0xd6adb5d897" + }, + "code_usage": { + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" + } + } + }, + "meta": { + "byte_code": "0x02f901170182bcb08434fd4acd850158174adc83061a80949def7cde171841a9f0724124ca0b01a622d749e484012e3b68b8a4a000000000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000099f388994000000000000000000000000000000000000000000000000b6ea0676d933c915000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48c001a0269fa6d550e1ce6f76884a87645bd2a462c303dca06423f2f0638a572109f0f7a0776dab3e59d703ff24cc45be1b856a73f66facbd0c5d6c41ecc940ca7e02416f", + "new_txn_trie_node_byte": "0x02f901170182bcb08434fd4acd850158174adc83061a80949def7cde171841a9f0724124ca0b01a622d749e484012e3b68b8a4a000000000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000099f388994000000000000000000000000000000000000000000000000b6ea0676d933c915000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48c001a0269fa6d550e1ce6f76884a87645bd2a462c303dca06423f2f0638a572109f0f7a0776dab3e59d703ff24cc45be1b856a73f66facbd0c5d6c41ecc940ca7e02416f", + "new_receipt_trie_node_byte": "0xb9036802f90364018311b201b9010000000000010000000000000000000000000000000000000000000000040000000000000000000000000008400000000002000000080020000000000000800000000000000000000808000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000800000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000002000000008000000000002000000000000000000000000000000000000000000000000000000000000200000000000000010000000000000000000800000000000000000000000f90259f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a00000000000000000000000009def7cde171841a9f0724124ca0b01a622d749e4a0000000000000000000000000000000000000000000000000b6ea0676d933c915f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009def7cde171841a9f0724124ca0b01a622d749e4a000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a0000000000000000000000000000000000000000000000000000000099f388994f9011c9488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000009def7cde171841a9f0724124ca0b01a622d749e4a00000000000000000000000009def7cde171841a9f0724124ca0b01a622d749e4b8a0000000000000000000000000000000000000000000000000000000099f388994ffffffffffffffffffffffffffffffffffffffffffffffff4915f98926cc36eb00000000000000000000000000000000000045c6a16d265bb9fcae89d55c64980000000000000000000000000000000000000000000000009336b8b0a431b7d8000000000000000000000000000000000000000000000000000000000002fceb", + "gas_used": 153524 + } + }, + { + "traces": { + "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "code_usage": { + "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" + } + }, + "0x617c8de5bde54ffbb8d92716cc947858ca38f582": { + "balance": "0x2863bce4f1dad386ab", + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "code_usage": { + "read": "0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000" + } + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5d848c31830be0ba", + "nonce": "0xe5ad8" + } + }, + "meta": { + "byte_code": "0x02f87101830e5ad7808501231a000f826ac194617c8de5bde54ffbb8d92716cc947858ca38f582876ca54625d8e66f80c001a0e0c1666544ae41c9fecaba65277c51af8755838a43c6e5bdc15c83970af18461a0405b701cfa1a3b22fc547c21955d55210f7fdd87b576466a2cf30cb27e9fb442", + "new_txn_trie_node_byte": "0x02f87101830e5ad7808501231a000f826ac194617c8de5bde54ffbb8d92716cc947858ca38f582876ca54625d8e66f80c001a0e0c1666544ae41c9fecaba65277c51af8755838a43c6e5bdc15c83970af18461a0405b701cfa1a3b22fc547c21955d55210f7fdd87b576466a2cf30cb27e9fb442", + "new_receipt_trie_node_byte": "0xb9018a02f901860183121cc2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000002000000000000000000000000000000000000000000040000000000000000000000000000000001000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000800000000000000000000000000000000000000000f87cf87a94617c8de5bde54ffbb8d92716cc947858ca38f582f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da000000000000000000000000095222290dd7278aa3ddd389cc1e1d165cc4bafe5a0000000000000000000000000000000000000000000000000006ca54625d8e66f", + "gas_used": 27329 + } + } + ] + }, + "other_data": { + "b_data": { + "b_meta": { + "block_beneficiary": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5", + "block_timestamp": "0x663811c7", + "block_number": "0x12e3b68", + "block_difficulty": "0x0", + "block_random": "0x253d73a8035e2de53f82869fbdd8a700c96604da0485d0a02b05eebc53f615e3", + "block_gaslimit": "0x1c9c380", + "block_chain_id": "0x1", + "block_base_fee": "0x1231a000f", + "block_gas_used": "0x121cc2", + "block_blob_gas_used": "0x0", + "block_excess_blob_gas": "0x0", + "parent_beacon_block_root": "0xb2fdced42678407cdb560649f70178a2a0e4095543930548bf164b7b936eff36", + "block_bloom": [ + "0x20000001000000000000008010000440000000000800008001000004010100", + "0x8008000000000080000084000080000020000000800a0005000000000a00000", + "0x80a0000080000002000001001004000000000000080000400", + "0x102002000000000040000800000100000000000004110000001000088000", + "0x80000004000000000048140000001010008090800004000400000", + "0x205000000002000000000480000080000000000010000000020080000880000", + "0x20000002000000000000200000000a0000000000000040100000004200002000", + "0x50200000000810800010800000000000000000800000400008000000000000" + ] + }, + "b_hashes": { + "prev_hashes": [ + "0x684d6da309f7c8a0471b18617c4458fea2ebfec17d4f0a5e678f1adc7d5e9741", + "0xe9f1efd5c5d0eeda512ab8cfaa72a1e9289c1b7a1283080532c8bf75b78289ea", + "0xf1f4005a05d16db3af62e164efecbf1b244dfbdd4ecaa7787db627be3dc65b6c", + "0xb4a6b84696480f6864d1662abbdf9bf74d8c58d6831f0d7ebfb89c9527fd1a06", + "0x8aa706c69b4efb973104f4e3a32e95d0961cee806ac934c0b8d0f315a498fc1b", + "0x444a9b5d65aad376d8aad458454c8ad90e7ea3846e9a5bc88ce3838d25159a11", + "0x1be1d7933a44de4622ab864125ee3235446ec8090ae5ad96c5f4828ecefa7ce2", + "0x36608be1e2611f8248650a94ed0758bc3c884feb9c0182cef5b7a63b7cc13779", + "0xa018694b69aeead7c9707f8c4cc7087744b18f2697f5c0e8a72149f86472c3c4", + "0x42b9f09fc79a85c6dbc70e2580c57750a85e32aa34a83eef14f300d348d80549", + "0x037a1779222ab6b0c5bc9bf100ee568481169909eddd00b72d91cf43bd3b9450", + "0xecd72414a715469a622e9efd685e27bc0441d39bc3d1b900f9754ec88f9801dc", + "0x8e052b282793944721886849be4cf06bb9e2775bbecc017e62dda26fb0f167a2", + "0x57aa3978290d109b379f9622cb7bd3004b31e97e1d6c5fc9aef813b26a12417a", + "0xeb29dd370b5de7729819c006f19d3914245e72d3256b9c995bfc821c9244a782", + "0x62c4a05472424c89303241223787d704f5315bb16b5944adb8d950cc16d75ec6", + "0x10a0e4f10d854bb43c754b7cb0d027189f85db84c7da3f7533d1bf739bb89226", + "0x6ca125813a1af466dd481a16c6f008fe7301984f9caae0a16930609a1ceb43c0", + "0x18408b483e1a38b76caa9dc51e6c7dd759983b35d486954d2c50c9b90fffad01", + "0x5b1c83b40fda62cb008946b4884c1b95b1768c7a9a8a1e7dc20b34a4d8c403c7", + "0x06bee782c257495049d7a554a608a8f3acce1a09e6f844a8ddc9f723d93f83ce", + "0x72ea26252912b77f3b227e529337cf14b0971ea20e4f186ea969746a424def3f", + "0xb0b4482691ab89cbcfc2afdfc38fe972122598ef6db45c03684dc8c3ce63c4d2", + "0xcf7024250378017427243922eed81ee9088d32bf4867417e260cc11c71777519", + "0xe49ea52092a071f276c7b306d0f8d40c038ce49b3f8a45e03040c59e96c0354c", + "0xe4ef8d83b4e6e621c0b573d7209a364d87c763b840b572148b2006c6d346667e", + "0x5a06ccbd9311095490a4efbc9b358c85b5f3a1317841a83e7c36257e3827d16a", + "0x8dfbe7aa136575b5e3ed1659e1eee974f48d427717965748faec651425946931", + "0xab7ab2503be5139555349596c5059bc7fe1baa4f16222717f18023d7c8beceec", + "0x35c18135a8a4fb0c195df12feb2bdde3ae41fd2a5e68de71b2b8a8668cf01f50", + "0x265ac74569927d3827fe9a690f8b1dcd909e9400253da565681b0b6c3254b1be", + "0x5150ceb40dcc6656b079be8c4b5d0fdd0ec4c03dc56a07ded8bb4958f59f4cbe", + "0x131dce8de367b3afccb61ee1111ecbcc26b6c8cc011858def61749257822475b", + "0xcba6e3e9371fc2428e0d64458c1ea38247bc2402c35512699acd9e98c791bf4a", + "0x11d1ff0fba9724e35b61aa790e030eb87dfa4ae5f3eb32c562dfe73301a0e538", + "0x177c10d79e45f97825d1aee005daac2f5b878dae2afbeb077d701031eb8f5fdc", + "0x369df7c07465d4ce309973349ff656ec13dcdfed6bb6003a0e276257d2c804de", + "0xef7ceb8248b175f4f2ebd3ab1d3e9f716b7066d771728afc13ce26582001864f", + "0x612c72dc848b6752e0c59a08a69aad3195c94cf15b2be1ea04b8de949bbd8a62", + "0xc7810d75f85d4affc277425e3cd8016fa5fe5fbcebbc2f313f78dc733627c764", + "0x58f26bc1fc04a3d64c035bba57ccf0a11bd85643ca25a12c2872a379807fb223", + "0x06672d0ef05ad36ad7cbe4a6b0f8973d9fcf2f4948f3faad186eceab128f033b", + "0xcc7cf48db08ffbd8b3424b5d657f50f805cb7669da9f94b9ce708bcfe6ff60ab", + "0xf7afed969af520af3135ab06f591b98a657e6ed456cae4a8cf9ff74692a89ec6", + "0x2b5a83bdb1420eaaa036b871302aa8bd6f0591353932b9716ae6f5d9fa4960f7", + "0x17da50dc5a57ddfc357fd76dd2c6d844ab86f00c7c169f672160d94d29e0cfbd", + "0x901fcc4fd29455ab7e86debd1c0e590be42ed9a32eaca646491db2c0b28e1de9", + "0x0a46152ca0428fee39b130485849e10aee553f1d20af050610786b0c435076a5", + "0x3cda416406d979ad59f6bc3e924b619413a0431cecd4305a0cc0a5d7f72b1abb", + "0x669e1c9b20f56963eedff200b3287a89ecbff1d729d72150e9df36f0500f40f4", + "0x47e065cbecfdf242a8348899b50d34ab1136fcf1286219cb5865168112de1af8", + "0x01692e1363a33e509152e33cf5683b8ec0b778fd056ba37ee9b14e78dbcdc23d", + "0xc3b4f5f75a81c39f9f89c67c8d3c6e22dabfe55ec84e400f71095471478b22ce", + "0xf800724be14e70f9d21d7298e5cd85accfb1b5993b9641dd7d18f84e3fdf139f", + "0xc78c8f4aef3560226da9e906f818326914099cf7281311269fb3f185dad4026d", + "0x2d1d7a03d4eb6a453acbc98e7de60b9964c2dbabe8f364c64ce09713954816d6", + "0x319eddfeb21e1b4ac4eec6e0ab207f96bfd39fce8ad357412244a7a204cd15de", + "0x9267223f50a0670bad1af619be27538967dc3ffb4187427b8718dda635b0646f", + "0xf4fdc676ba397e28ef91298691083e12cfada760c6212d42d9d8bfc203b2e9c4", + "0xbbca762d5f9b9afece0c0c4b1b6d39c696101f0d380a059d42de63ee58a7b4a7", + "0x0caf0d6547aad36aef5058f772589929611795961e4c11ff6e4f0054350f124d", + "0x6e765d61eb9936842a77969a46b3ec1e8e63f8217c9a38dc1ae03fc1373e244e", + "0x074ad7e8b9a67df3be4ee365ca4d0ab0f21ac9681b206d8cd2e81d63999ab540", + "0xabe2d66e6ca7b273d15bdcc9569b73d69a7ce40ac4c7e0bca15233a0b466c48d", + "0xa559298ce71269e041845b239a2192380f19a0df3e986c9f7b88c52dfbb68b72", + "0x7a4474570b63e6e68f692ef9a2018faac14f83b2d5fe714dc8c28ac55ac5905e", + "0x6ad9f2d6af5853591ca84cf8c8641c40ea800ed17d0a93293df66964801d03bc", + "0xb2d224381f1b031be102dbb9d37bff9401c970648af6099de354dba9c6ffdc9e", + "0x920acddab483a67476079786ac02506ac2cb329acf707110cf4fc08be0946bce", + "0xbf74a03ed288773ab3d8ad7d6c7e45702d3679aa685d44d8b4ed31d25df0ee64", + "0x22fd1691c5b5c5d7e0f25a25045131cebb54e96418ac33f6b033dae571f0e1d8", + "0x584f88b1cc9ca5825aa734b30c1fb88947f7b29fa5d389f9d375c52c89be0095", + "0x1dd49abeeb34f3a389166da6f7efa1d7949b4bdee5d013696b53e1d3e0b9a1a5", + "0xceff63f333df8bf4dea68dd443b195b5d53234d4f3f14316949c2de4b2e51c86", + "0x1ee213255d77233e366e55a248c9c524fa15f218a439cad211c52d08bc09845b", + "0xc66fff1c5b7c88b856f8ece31c2f1323b54633a83674d87dfffe4a039adc5440", + "0x6968799fc7f27cd33e698332e67b85305583909934aa9ba5d2d503c722b808d3", + "0x489aba839fa83f28484a016bfea5657d9fee72f0bea757f0ac9a525bc9d4e0c4", + "0x8011b25fa321e68cbffce47bb81ec56e944834e9319323b6d99242b1decc258d", + "0x034004ec7113ffbaabdcf03e27f06cfc4b51fca60f79d9f1c78689eddde9ff0f", + "0xf1ca1b925a4666b8156d842c61b4d8d5a8dadd1493c1deeebcec06607f1c57c3", + "0x1c336bfc7570cb6baea4f653a5ae9ba9e6b2966d9662d544a50dafa3f80dc8a5", + "0x994795c6a5db487bc99d50a5c47ca4b0a31f0c14e266c75699ed998e418b0273", + "0xa3e8dc9d9b954be9e365913c0274dca50600b157ef2a66b480f464fc60ac2582", + "0x7cb8907a3c885ffafd56d399ffbdfc77647d589029466556ef8f0a875768cac8", + "0x685efa6d0c4ef05758e0d4cc60d8bc30c5b4d09aa595b293802bff4a14130d6d", + "0xd53ee0bac8d4f6afc15d9187d8959e047551b286607e98abc71af4a276e5533d", + "0x9c94b7cad6eed497f33a8cc13c23be945cfe59b5fc88ebf6e5a78b63139eb416", + "0x746593942f1a4e89157f04ebe3b5d19178964d6b358d03422340314b431a30eb", + "0x8f00f2b21786fef3908e708b2f9a9646dedf89570e52487c359d6237a10b2332", + "0xaccfffd17acfa905ea0882f1329d9419e5c6f8a914ce79ea8bde3168fc93bc43", + "0x382e627dc9457a8b97ead189afe4209b1301ef73409198ba1d03296eb0573c10", + "0x663c5109a960127c5f4461650b9ac0ec98b441af6a5c813ac394a4a54174863b", + "0x19bdaf621cb61a7e39ed537392459a8fc6fe593e80ac043b0541e3aa49db0083", + "0x258b4555385f82af59c3297d6809bdee140a627a72108fa2ccd7a467b7f9cf77", + "0xd2f5ec45869a2227af4789029b17d79e0f7465a3f8491ef8263f65fe9ee67863", + "0xb7429f2486335edee7b97c68bf21746516eb3edc2421b0af31cc0981edc71274", + "0x8532734773de15bd7612ef289467d82ecdb38f97f721842329c032baad97797e", + "0xfa196478a8d98d9e5a29d49e5dae3a0e8af0bd81bb1d171cdd0793511de497ee", + "0xabfa52d45f2b64ba8da63779cb8c0da104c6e4085a94a12e4c01e888d0eff5b0", + "0x79af7c7f2df5704e1ea35e336dcb50d6e1c4644beb770c4b737f92279b7cea4a", + "0x8bc16add47e2bffc84ae2cafaefd162c81d9377c9628e0e7947f05424374341b", + "0xcc2ff38b0b787f201208bec3c7ba38ae0a9ecf9c6ff3bb4bb91f07c5260b9f0d", + "0xe6bd50d7a43e80dc310283c8d28b6057de35dab665fc389ccf2934ef522a923e", + "0x976b800be89a4615209eeafe260f290b961f8f35f243ae15caaf16dfb2e8afdc", + "0x61a02bc6d0e17ea710151c4fe838cf5bdfe39ee7c341dc8c819e3090e8995218", + "0xaf4ee6ee6f0c42d3890e4924e9643e91b32c5aceec89f065f19c45abcc154afa", + "0x0f7199378a78513d389e381668ab838bc87df917e5e754834ad1f5b4ba46a6af", + "0x66cfabbb497ae08a4886bdd98e29ec79fb1f3faf1d1ec0a70f216512003f77c7", + "0x50897dda2b2a63b1cc8b51dffe4639b10e5914b650b91be064539c56782c2669", + "0x65f708a418a87d3ba9358abcb3000aa267c384be3e817691e59f6e2abfb7e383", + "0xc0b3bc8a33b5990a67385736bf5f3bf1f93d7f5d88b61f8e587da89741e58a78", + "0x3aa019da243d763fc2d4aedd82a42dd62088970f41df5b4701cddbc95ec80d1b", + "0x563be0cef26a96fe96d2458a459c16a1cfd98ff30de359be1ef0fc8148dcacd9", + "0x53d17e0d0919d7d07e8aece7825a7a898b4b0b4d0fce1514aeca0ff467fe359e", + "0xb37bb8db446e1a68ddb111e983aeae19443e6a8320d8c067b96b7e0e1a99872f", + "0x711a0ef39ec7f508ef2f5518d2d2b572d9af583cdd0c5b8d1b0aad720887ff8f", + "0x8f6223a484539e961de50a72916b5c37eacd50fc874cc9cb57cce7f3a7fbc768", + "0x78adee7ef19e71b90686be4672ade5996a705ab3676ecf56aa12c5fc7e31232a", + "0x66a7b68e630b5c23fe3a8c1ebaf2f71d65cce803acece13e7f6e04164b391170", + "0x49998c072fd731b40d077d1a8b908f79732ffe4ec4e2da0fbf213fd862d0c4b3", + "0x3e5c71e123e0b9ca51c5ed7b564993541002f89bbf50899c493aeae139bbfa73", + "0xce955633621fa117e4f462ac09a82e957eb8875e9157f5a4519db7dd9f3b3db8", + "0xccf8c2816119cf226e69262ee6189843884fbb9193c83f43ad112593c579a97b", + "0x9b38788917cf5046229a4763fc45d527b56734f07c93c9975192e1053590676d", + "0x3f5312d1efed17763afe2c2b773a7587614aba32c00f88ffc0d698494894ffc1", + "0xaab17205746a6a5daa4eb3d0466ec46e0c8d04b3c623b6fe14cc2fd82645d040", + "0x31c1f4e27e27c122a6a14ab18c6fd88362bc2b429d235845039bad13ff9ed249", + "0x5a6375471b27ee726cb0ba9e003429feeb43e2bd7f4e3fc96efe82f8f33684ba", + "0x6f5d262d1320c05cb93ca7d3d992a25ae9a6fe11b9651cabaedd420744253fe9", + "0x067b51b1902fa5927c5e23fba472434f29b062f91e0a8f6f03d5e4b4181cd769", + "0x9abcf7ba8d6a8803ac56d28d05cb9953df3fe3ea131bfcb1458f13ab5ab002f1", + "0x4898c61d3980d568e8d9869f9640be08595bba2097d3670d8a9f4cb531c83cd4", + "0xbec84066edad2a85a68054ce63fa0b03a8bdefc2c2921e09bf39e231e90393d9", + "0xe7531552af7303e818ae3ee063ff0e744cf71cea8169ccccdf303dad279ae6bf", + "0x25e0066d1dd0caf08b7affa7efe80264d46531196e281472a2b980e75697f6ee", + "0x6d5382548b060f3a60ae44a588df9338105f4e81f2de512aa36e6bf097292b75", + "0xadc1f0377233d6a5b656285306196cc7d8812f6513c2a9e92129ad261b7bba64", + "0x48a56c398dd7f128b06cf43f48cf8101c73cad5089622805af90db35a3a2426e", + "0x796ba441d23ff8350f8dd21c95df5bff4be0f3d873aceb329870c9d93e4b4f6a", + "0xaae31869bdfe85b02cfc3730b048b9e8e867879eed841bc020f272e893a4c0e1", + "0xeda5bdda98493d39a7204389c01006b9f116d3b568b0a4b58760d1d50f10c43b", + "0xc69cdb8b8d9b86fd9189c4dfbaaa542ff2eb9ee1f966d74e0936eb61162a9440", + "0xe138f6ab0383a803777aacf019c008232d49e3938cb80755d91f94b8c1df9157", + "0x05c166f7b3e46160fb1f4ac911ed3d4c787d422417b0a3548eeb3ec05c000899", + "0x5715789eb35a14b9f2594183f5e1b2636286ab0eedfc6f865af792d3329e3932", + "0x06fdc5cdb25a18fdaace2028efcb17c70dc6dccb6836d67e6c4db9d19e4b30a8", + "0x436ca87dbaf5000546a1158bba2679e093644214021c55bf7a18938bcbc8c26b", + "0x06894a55e5217c96c84691b662bb5882090290e3d2b8fb815d289bd43f401053", + "0x26c1f7ee90e8bd920401242821aa78bd2e76cd8acfb5fe42e8bc26215b52db55", + "0x4d17f9ff3941f0445607712ebebe2503ee90c31256324860d6e671a31dfc8553", + "0x7020b4039cb2fed36bd801861b72ffb52ea3692fb0de287cdc4555647691de3e", + "0xe142905c102278068d91f1305da98fd3aed0f0bcdcb79ae84f737b74e542687d", + "0x0b60248cf3eaff8acbdef8407bae6ea515c4f7277aa50e7bf0f3a13dc9838d64", + "0xd41fdec7606d96e22c817f96dbf17e5e13bb4e78212650e91b7400902e778bce", + "0xcb6628fc75d77664c234f1d54c51a7cdf15cc8c3b7ad42249755f5e5dab163ad", + "0x3fed5b830f088274b00699b5099deca1c39c0c184fc5c8d1759127430b799c68", + "0x6c81efc467bdadf6699b8b50d87b2b3f073b1d298080fa487edec7678bbcdd7e", + "0x0a5681394def8105618c8c229de40baed1deb5ecd36ac9f5f7d9f82f7dd8d951", + "0xad9fc5133f35f8c368921d614a6fd24e959ea43b5e3ed28ad744d776312c912a", + "0xb2c1ee02dd75e9ffb9d569d3c94152e51c9a92e119f9569a556413fe9283669d", + "0xb7587fe5feead89ea8bc2beded08ce896657010c6b7d3e1da556a028dd60aa48", + "0xffb8497fce9f9951f155f22cb21c88a8346cce183cadfcd36a797909b8399335", + "0x27227cf2b8fe94edb031f9f4b120e877776b7e71ae9f1a7b691027418768a512", + "0x8cafc271f1243f94fa188ce39e1ba9739d80f86bdcf7f0c4010906a0d7090669", + "0x68f1869e7e8f5764068759080c8b0ff0286d37a8c29586fa85ac9fff73c4d6f5", + "0x347203b050cb378a6b9eeb3550a773ed54f50bd58173d4e11e3775f17d66f159", + "0x55b8e9795919367fabbffa613d1be39b3ccf550e3d950255579d3d7d71836f4e", + "0x637439c6d5433a874591bcb7da0ce781f4c25a874f62c818315c5830a1aba7ae", + "0x2de673eb74141f4ffbdaf7ebdda72bfcea0feaf9a142d063f3076c830515fc4b", + "0x6db7840198ae6647f0396b0cffb0f0e3a5f19311b75f6165470bed13a5ec491d", + "0xe20f94a3cdb5b9583962ba1f91574d92d3d8ec2ffc342352c818cbfb1817520a", + "0x63e84cd9b5d9feb635bffccfdde923321b2228637b15f4c3140efdbefab2db2b", + "0x5dfb69849e6108ac90ec5a1dad1c02272e2749d63d7bdaf23e5f64a47b29d4f6", + "0x4a0eebd96c61d60db69c4b5ad5db67b5fb12b5ad82b97806123278e11f8e9ea7", + "0xb3b11a0d126c5a8b4e17ed69992814241a1b878eebc7881f746afbbf314f3948", + "0x8a43a231547f106b5327611db49e34d6e4ef973dab099027812efb441e377e68", + "0xe2d8e65eceab5214cc111762bf93b3f28bc4df80537772391b90c4b0f64dc79a", + "0x37fd13e02c213bf88b8c936ae156da419085ec4784501c856068e4e5701690d0", + "0x43ff3058e2be0dc50c23e8dd30d2222626d8f33055bba0e54bc039438439844f", + "0x218808f95657312a6048a0ef5ab932797271a031a17f0c9ea3c4ce800b223602", + "0x176aa1cc1879ea31d77f16e7f676357a071a6251a73a4fe102ea9e5a4a225d01", + "0xfaa14244b79614b82d7032d9268ea13c99da4784866e3bcb8261ba64eb4e3061", + "0x6c59f62d885febe6a62a95bc4d4193371717f6e371a8d0f99afc8d0c453eba2c", + "0xceac1b9b4fe4ecc2abb129a577ad3418ae76bacaee0795df90b72efcb6593f80", + "0x5f7a826a06c7edbab0eb5684a9774ffaf820340e296a6852384d4379e28c77f2", + "0x144fc77d47ab1ba0d034429cce70860e427f22e30a43405a8f428c0da78aa7e5", + "0x9c998912ed306b9a8e384c0e8afdca281557d1808e68ae2ebbf0ed2344b3a9b2", + "0x7ff6f8bb85a0dc93aed009e3a967fff69c97952b18bf1042ec4cc4b89d3569e2", + "0xee6783172418d7984b42267c1612bcddb7d38e23375793000c092b1205eb2b81", + "0x50ef73d80aa69de4640d47bf47012ad9bc6fe971d38f32200fe6df4ea0ed8fcc", + "0xcb90a6a4c4189787842e3330fab531daf96f240c9bb77b9ef4a9a7bc5a7dceac", + "0x891884d140c8ada4d7af76bf1f1e4e7085fcdaab482d3f093ee9ef4c3e2b5955", + "0xcacfbc3c46f96bcbd1c93915883c9af2b32078c383f65eebfccf8e2736f331ce", + "0x352b23629786a33d536df0957c32984c19e1b13d338a1dd0cffeef6a0c9c063f", + "0x6d7cad0c54976b20f02db2ba8926a59d51c95be9e5dac6d3a7f5f13c06e3c207", + "0x0a7eb23ff876af6025848afd5be18ea20b29d98bc58f659eac3ff66127199613", + "0x5933e5991f50c1693833f19f0d9059ca1d5daba6fe8d37620f397bee7ff02ea8", + "0x9c20dd8216a07e1952ac1ca48277c615d1a0fc0d4d3833df76c5a2de231dd7d4", + "0x4821c85f5615995b87747f6ef3022532677d4e86fdf010412dc2a3df7bef94c0", + "0xae021e27142fc325181ef3521e9cc29883d845f96a971f3dd4bb9eed8ae1aa92", + "0x78d29fda96832395048b73d9e023958767457069a1718ec5e27740798eeadb74", + "0x25724cc81bf397890f2bdd8f35a3756b3386f333ed55fc7e51bbc2f1fd2bf6a2", + "0x824762d03b42d475150a9fda08ff9285f62f2c0bf6401d7375d602bda1f3bea6", + "0x9333ebdf48f884bef84e204c826dc6677ea35bb496ae9738e5e4e0f47df8988b", + "0x70b1e57107c22010c865f93f7f733c043e56a38faa8ec3781ee7036ed0e309d6", + "0x1aa6351752aa54bb2130bd05beaedd3512fb362e69fd4a44663fd698e013ce71", + "0x1b656e01797575847ba4c952c0c056d1470d690eb65f6515def1d25db71b414e", + "0xeac3bf46591d9d4f20321cd484fdea8273ac34a5253266f1df57fdd983bce73b", + "0xc376b24cb0a5528dc24776b2fb7b065cf69ae303d0a643a980e5531e2ff0dee4", + "0x0c5d2c7315c9ea69050ad21982e373768d0a3526db617f33da18e6bd1b63c373", + "0xeb06cdc3f738bb8a8669b37cae56d51bf3ec47ed7fd0f93825a42f1007909042", + "0xcc349f38dcd62fd9c5fbd781a080fe1571aa415ad5907eb370844f54e2dc820c", + "0x7e7b0e1c580a5745ac78bc733d960d43f34f16d7f124dcb6d7fba5403fe4c006", + "0x1519a24ed04d8572dc9b6b050b3856fcf11fcf5a1dce1dbc22bf15fd2ac1d156", + "0x086764bcad0624385326103f4960c64e4fe8426883e81145713d118d16a8303d", + "0x621f91b175ad126f9b503e1bedb24e0752b88eec86c8e7efd30435a1ab9a4a52", + "0x56f59bce52ed19a2791690f7917aca8bd2ae2f412eae82dde2ed0d89c1645f5b", + "0x8560130fe131d33f84e58cd33e4157b5a3ccc0f8a0952bc8dbc02984e2b0a68a", + "0xf66c3c244b672ef8df24cdd6f81021342d8d354f5b5e88ef55f7a791cc39a1bb", + "0x6b7f194a9a191bea25a5f988bfcde8461a661ff0cd084042b716a34cb3d6bf54", + "0x32f1c5949c9448345947a59d5c5104d1bc90f7b702fdca4f521dcc4b5c0df0d5", + "0x3f8391d7ed4f166d44d21a9f6357608855320ca5fb50e89894635ad48e0e6604", + "0xd6390cb566f7a9ff98913fc33ede46108b29759a3f819a42eff90766e6f6435d", + "0xd06f278cceb875552dec0ac684f30e906b9e9e26c81891803c0e332ac92eec21", + "0x47fc7b6ab4869079bc2059199df9ef6db2b1d9c38fa5dc73f482a4ee367d0560", + "0xd0016d3ad15aa07661db1756fdfd7d586e245fc0f15269c65370feac1485b406", + "0x5adb9f0abcf8622847c66176355b549742614156c4fa62b54dd853ae1d4e8ed3", + "0x3bad795c74f5e233fe973cf09b6a7f680bbb62fe8788feb2cc4949285d1bc916", + "0x42dc8204f8822efa30913242c0c7b41bcd1707e790cc4d609e67412cff634e64", + "0x66e8171b0ddf974391efb526e2b7ccebd85f137094225e2627b8c7f7149e8e37", + "0xcf186ed9125bca4d3bf513d3c324d72290b55b334052e43effc9c01880108dca", + "0xaf95f87155fd1bdeb3c85f003a4b232950f08abd700e5f198dff81e7fe28a90b", + "0xf18e69bdaf8bb5c5e43959d6d7e9ca57b391ff18112197b3615dafbce0c96eba", + "0xc6ab386f906a7f4bfed294e143d87b0e3a33a2270cd36642605e162bf9b13dfe", + "0xcfda661e48ad92890b2d8598d5375baffd31657ab88917966338caf29729f848", + "0x69decb9aa1175f5783c608242cc366907b07917cffbedaa434786aa2cc1f25fe", + "0x80f9b7b74df1d29ba5d29559255f20096c7419f8fb5f25a9a52c4f6bda0bdb06", + "0x89d751062d8782376d3c187aa726620d694aea101ed9562fbbae5586b2a5ddd9", + "0x554a7df6055887e4e3f23dabf665219d49c49aec890467ffc39394de053f8be9", + "0xe6a6717093a4d6d61ae2548f18c023b916fea722fe301b234c2065968eba8896", + "0xfbe85151ebf2b992e6db11d6e5c0957fa11c3ffc924cfc7912101c5a1c8b7e3a", + "0x21b315e2a4fd2cacd402fa338518800ca7d215dbb63ccdb83c044a0bf63146eb", + "0x39065ef91631dfc82f937b0f834e674d37326d6e8a23410d27cdef7c4d52e5a2", + "0x6b720dc652a51931dd7a8dc86b7cd30c12185a39db1cbc6dcc7323d8355627c7", + "0xc6bfd1c8c7222bf522882ff5c3c86c7b6f17196b79afd7d39b700fc3526b6bcb", + "0x5725adf9c722d78ef5e43192465eeca06b4f8753ed584f9eb5eb3dbf0ed9b129", + "0x92c5c278bb28520f283325dbd8a2773644a13cbba491933ba9be7a3c6169daba", + "0xcfa791094b86177ae57ccc0be478cbf8c6c09b79b698af50bcacd239997cf329", + "0x43acd4f1ae62e9e5c1c87284abc8f7d0d0aef0f70cd934a788ab566573e2f5a8", + "0xef4b796bda5a978f28ab810df3f2ee6ba0d646bb35ecc59d4a8aa1a11011d8e5", + "0xd804abc861a77340c0556e21650cd1f8e1e4a3fa4d83ab19862c83fbe0ab6b9f", + "0x633167a2ee64b2820d9557bd0bc540255f9379ef0802e7385c70c90bc7f3c57c", + "0x2c32447d713a9859b680e9da9f634341c159c0ae1f94f35d47f6ef384f7e69b6", + "0xbf5087bda3e2f18942e922e2e0aa27e88b23d65f33009049dfde50400fa1c7ad", + "0x27c8003b8d5ed3a0dfb4313cf8e969478176df308cb8ff7590f86323469046e2" + ], + "cur_hash": "0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464" + }, + "withdrawals": [ + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a0834" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a27fc" + ], + [ + "0xc9234d5606e02a0acdb7682fe36adb588cae60d8", + "0x11b88e3" + ], + [ + "0xc9234d5606e02a0acdb7682fe36adb588cae60d8", + "0x11be16e" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a1416" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a2dc0" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a42a8" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x119940e" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x1199000" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a046e" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x119d364" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x3bc7b17" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x1192ee6" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x119bcc9" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x118f663" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x119b5ce" + ] + ] + }, + "checkpoint_state_trie_root": "0xbbd66174555d27c88e285ff4797de401470d8d2486d15513ab36e491e864bca2" + } +} +] \ No newline at end of file diff --git a/trace_decoder/tests/data/witnesses/zero_jerigon/b19807080_main_header.json b/trace_decoder/tests/data/witnesses/zero_jerigon/b19807080_main_header.json new file mode 100644 index 000000000..74d58e786 --- /dev/null +++ b/trace_decoder/tests/data/witnesses/zero_jerigon/b19807080_main_header.json @@ -0,0 +1 @@ +[{"number":"0x12e3b68","hash":"0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464","transactions":[{"blockHash":"0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464","blockNumber":"0x12e3b68","hash":"0x485c7c9ae78a17af338eef77267accbf73d3a24be86cceff8ab041ce10388b20","yParity":"0x1","accessList":[],"transactionIndex":"0x0","type":"0x2","nonce":"0x8e","input":"0x088890dc000000000000000000000000000000000000000000000000000011b15df428b300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000071f755898886f79efa73334450f05a824faeae0200000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916","r":"0x3efde0059a9e20313ee5a466273604b3e79d199a60b2c44e753f5f2fe56eb987","s":"0x40eca86c1d87c685a3024af4a0224dab92758dc1990b8f8ecb6040f88498ab1e","chainId":"0x1","v":"0x1","gas":"0x549a1","maxPriorityFeePerGas":"0xc570bd200","from":"0x71f755898886f79efa73334450f05a824faeae02","to":"0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e","maxFeePerGas":"0xdc778ba13","value":"0x649ff6f7003174","gasPrice":"0xd7a25d20f"},{"blockHash":"0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464","blockNumber":"0x12e3b68","hash":"0x6b832f7b98df73773fee549f702b87332ab605baeab66a725582089dfb8c8716","yParity":"0x1","accessList":[],"transactionIndex":"0x1","type":"0x2","nonce":"0x6a","input":"0x088890dc000000000000000000000000000000000000000000000000000011b15df428b300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a890e6b83ac95c7de4ffd4549d4cd282b407b49500000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916","r":"0xa884ab9e5c1057e2e741e5ad4c6335f655a0dd248b3a6b7d7d0eb450ac2cff8e","s":"0x7befa7f3480ddc589444e0d4498e0fd68fa765747676bafd9a128c6dcd91d5a1","chainId":"0x1","v":"0x1","gas":"0x549a1","maxPriorityFeePerGas":"0xc570bd200","from":"0xa890e6b83ac95c7de4ffd4549d4cd282b407b495","to":"0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e","maxFeePerGas":"0xdc778ba13","value":"0x649ff6f7003174","gasPrice":"0xd7a25d20f"},{"blockHash":"0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464","blockNumber":"0x12e3b68","hash":"0xd119b49569af4d5882efa6c72c84158bc1a9b8ac8f632706ce810f627ab13fb3","yParity":"0x1","accessList":[],"transactionIndex":"0x2","type":"0x2","nonce":"0xa18","input":"0xfb3bdb41000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000dee90fc88ef3aceace9a22d2b2921906b724455200000000000000000000000000000000000000000000000000000000663811fc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916","r":"0xd244c53d24ffc3b2fcdfaf692d82593c0bb8cf3369b2a94c91c2c0249c4510a7","s":"0x751ca6879dce7d240443728d6e5756fa78be470b7ebd94cf984a1cb94f9f2c30","chainId":"0x1","v":"0x1","gas":"0x35b60","maxPriorityFeePerGas":"0xb4ad34500","from":"0xdee90fc88ef3aceace9a22d2b2921906b7244552","to":"0x7a250d5630b4cf539739df2c5dacb4c659f2488d","maxFeePerGas":"0x15c508c700","value":"0x1cd918d39380020","gasPrice":"0xc6ded450f"},{"blockHash":"0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464","blockNumber":"0x12e3b68","hash":"0xc02ea02af1da253b9cf3d1de648c3355211f490cf4b8641b3146e69450870ba6","yParity":"0x0","accessList":[],"transactionIndex":"0x3","type":"0x2","nonce":"0x28b","input":"0xfb3bdb41000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000fe6cf59162f319fb2c536f63a6121eb88dc85a3400000000000000000000000000000000000000000000000000000000663811fc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916","r":"0xb66d674b17cb04d44900455636b496131fdae9b8e4c81f790854bda351130e83","s":"0xdb241292520a7c135d381b0fd18788c9490aff4b756d397453a6454da4e0a3c","chainId":"0x1","v":"0x0","gas":"0x35b60","maxPriorityFeePerGas":"0xaa9e48a00","from":"0xfe6cf59162f319fb2c536f63a6121eb88dc85a34","to":"0x7a250d5630b4cf539739df2c5dacb4c659f2488d","maxFeePerGas":"0x15c508c700","value":"0x102a336dba60000","gasPrice":"0xbccfe8a0f"},{"blockHash":"0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464","blockNumber":"0x12e3b68","hash":"0x6b66220ea1cfac82ed5639293cbb0b5acaa956a348999648aacfc202f5a6451b","yParity":"0x0","accessList":[],"transactionIndex":"0x4","type":"0x2","nonce":"0xba3","input":"0x3d0e3ec50000000000000000000000000000000000000000000000000001d57eaddeea78000000000000000000000000000000000000000000000000023bb9178b0192be00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dd00000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000008b683c400457ef31f3c27c90acb6ab69304d1b77000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","r":"0xdd70145d23e041328d8242858ca9815cbb03bf408dd7d81e30532932497838fc","s":"0x496bf86926d61a533fa5824c9d21271b8b1597b48014282168a48575f8cf417c","chainId":"0x1","v":"0x0","gas":"0x4dc2f","maxPriorityFeePerGas":"0xb2d05e00","from":"0xc58e4d309c4f5c88afe355c260ee9a1a699ed1dd","to":"0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e","maxFeePerGas":"0x2233d4613","value":"0x0","gasPrice":"0x1d5ea5e0f"},{"blockHash":"0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464","blockNumber":"0x12e3b68","hash":"0xa16262586a442817e5766675bd6ec767ebe3815e7ae325248acdcf54de4561aa","yParity":"0x1","accessList":[],"transactionIndex":"0x5","type":"0x2","nonce":"0x162c","input":"0x088890dc000000000000000000000000000000000000000000000000007af53217af31b800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000008693ca3483daf299aad023eae75221436d6c11a000000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f1001ad1ee7743e0f6715f50cdaeb1397d5cb4fa","r":"0x2c9a9ab0d7eb2503a5ebbfe1a66c2f08a9170e1da5b14cdb142fce831522a43a","s":"0x360ecd3be1f224118862ddb78787cf31ad7600994b6c7a4a947ae3a071619a8b","chainId":"0x1","v":"0x1","gas":"0x461c6","maxPriorityFeePerGas":"0xb2d05e00","from":"0x8693ca3483daf299aad023eae75221436d6c11a0","to":"0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e","maxFeePerGas":"0x2233d4613","value":"0x2c68af0bb140000","gasPrice":"0x1d5ea5e0f"},{"blockHash":"0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464","blockNumber":"0x12e3b68","hash":"0x1d0969550eee06cc9bd992ccceaab28c5762feec4d69cdca3dbc50927263bed9","transactionIndex":"0x6","type":"0x0","nonce":"0x0","input":"0x","r":"0x6b6a8c636721916ee32404201135745eeb2bfad873e662f5a59c331cb6647a95","s":"0x452ae97ab3fb5bd8e4cc7890b28876a662430c40bf643239303e0c86770c96bf","chainId":"0x1","v":"0x26","gas":"0x5208","from":"0x17032783b5f29c8a68e0fafba4db021f248409e4","to":"0xb27b03580c193d324931acb143f6a1f3477e702e","value":"0x1ff118a94dfd000","gasPrice":"0x1a13b8600"},{"blockHash":"0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464","blockNumber":"0x12e3b68","hash":"0x923e060de69675c90d67472ca7a33e61630f64b92e20224db08055c5cd4eaaf3","yParity":"0x1","accessList":[],"transactionIndex":"0x7","type":"0x2","nonce":"0xbcb0","input":"0xa000000000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000099f388994000000000000000000000000000000000000000000000000b6ea0676d933c915000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48","r":"0x269fa6d550e1ce6f76884a87645bd2a462c303dca06423f2f0638a572109f0f7","s":"0x776dab3e59d703ff24cc45be1b856a73f66facbd0c5d6c41ecc940ca7e02416f","chainId":"0x1","v":"0x1","gas":"0x61a80","maxPriorityFeePerGas":"0x34fd4acd","from":"0x93793bd1f3e35a0efd098c30e486a860a0ef7551","to":"0x9def7cde171841a9f0724124ca0b01a622d749e4","maxFeePerGas":"0x158174adc","value":"0x12e3b68","gasPrice":"0x158174adc"},{"blockHash":"0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464","blockNumber":"0x12e3b68","hash":"0x71845c70b3ee8a2894f8e5bb833639d1a6a80286eaf2d5b732ecbe8e30ec1346","yParity":"0x1","accessList":[],"transactionIndex":"0x8","type":"0x2","nonce":"0xe5ad7","input":"0x","r":"0xe0c1666544ae41c9fecaba65277c51af8755838a43c6e5bdc15c83970af18461","s":"0x405b701cfa1a3b22fc547c21955d55210f7fdd87b576466a2cf30cb27e9fb442","chainId":"0x1","v":"0x1","gas":"0x6ac1","maxPriorityFeePerGas":"0x0","from":"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5","to":"0x617c8de5bde54ffbb8d92716cc947858ca38f582","maxFeePerGas":"0x1231a000f","value":"0x6ca54625d8e66f","gasPrice":"0x1231a000f"}],"logsBloom":"0x002000000100000000000000801000044000000000080000800100000401010008008000000000080000084000080000020000000800a0005000000000a0000000000000000000080a000008000000200000100100400000000000008000040000001020020000000000400008000001000000000000041100000010000880000000000000080000004000000000048140000001010008090800004000400000020500000000200000000048000008000000000001000000002008000088000020000002000000000000200000000a00000000000000401000000042000020000050200000000810800010800000000000000000800000400008000000000000","totalDifficulty":"0xc70d815d562d3cfa955","receiptsRoot":"0x322e0b5db82824020e3247d491fe8e36688d881392cd63af55f958df0aa95725","extraData":"0x6265617665726275696c642e6f7267","withdrawalsRoot":"0x611a5e88d0ffbe176e4f6409bf229792668d5c96d6e47b519a3d5653fc723973","baseFeePerGas":"0x1231a000f","nonce":"0x0000000000000000","miner":"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5","withdrawals":[{"amount":"0x11a0834","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c96b","validatorIndex":"0x4626c"},{"amount":"0x11a27fc","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c96c","validatorIndex":"0x4626d"},{"amount":"0x11b88e3","address":"0xc9234d5606e02a0acdb7682fe36adb588cae60d8","index":"0x2a4c96d","validatorIndex":"0x4626e"},{"amount":"0x11be16e","address":"0xc9234d5606e02a0acdb7682fe36adb588cae60d8","index":"0x2a4c96e","validatorIndex":"0x4626f"},{"amount":"0x11a1416","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c96f","validatorIndex":"0x46270"},{"amount":"0x11a2dc0","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c970","validatorIndex":"0x46271"},{"amount":"0x11a42a8","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c971","validatorIndex":"0x46272"},{"amount":"0x119940e","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c972","validatorIndex":"0x46273"},{"amount":"0x1199000","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c973","validatorIndex":"0x46274"},{"amount":"0x11a046e","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c974","validatorIndex":"0x46275"},{"amount":"0x119d364","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c975","validatorIndex":"0x46276"},{"amount":"0x3bc7b17","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c976","validatorIndex":"0x46277"},{"amount":"0x1192ee6","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c977","validatorIndex":"0x46278"},{"amount":"0x119bcc9","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c978","validatorIndex":"0x46279"},{"amount":"0x118f663","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c979","validatorIndex":"0x4627a"},{"amount":"0x119b5ce","address":"0xa8c62111e4652b07110a0fc81816303c42632f64","index":"0x2a4c97a","validatorIndex":"0x4627b"}],"excessBlobGas":"0x0","difficulty":"0x0","gasLimit":"0x1c9c380","gasUsed":"0x121cc2","uncles":[],"parentBeaconBlockRoot":"0xb2fdced42678407cdb560649f70178a2a0e4095543930548bf164b7b936eff36","size":"0xf8b","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","transactionsRoot":"0x0aaa0d653c3a6ac90de9ad896e60eef01d41c95863411c6b24bd31e59e32fea4","stateRoot":"0xc258b8b986b5003f4a051c625c427e7d93fbdf653669468727bbcc25b1fd1919","mixHash":"0x253d73a8035e2de53f82869fbdd8a700c96604da0485d0a02b05eebc53f615e3","parentHash":"0x27c8003b8d5ed3a0dfb4313cf8e969478176df308cb8ff7590f86323469046e2","blobGasUsed":"0x0","timestamp":"0x663811c7"}] diff --git a/trace_decoder/tests/data/witnesses/zero_jerigon/b19840104_main.json b/trace_decoder/tests/data/witnesses/zero_jerigon/b19840104_main.json new file mode 100644 index 000000000..6537bc456 --- /dev/null +++ b/trace_decoder/tests/data/witnesses/zero_jerigon/b19840104_main.json @@ -0,0 +1,366 @@ +[{ + "block_trace": { + "trie_pre_images": { + "combined": { + "compact": "0x0103e13c370f7ce6f9de81dd4068775d7c39d1e19051063dea7b4f0dc570ab06868103940aa0f44732cfe96e03cc53d65cc93839531689de2370a6bc12eb515a75f6ea03cce25a8e8a0b65fddd641e8856e8baec7cd1a012b7470e92aea3d4f6fd02c1c80386d98f1b6d13f0446b302efc1197100dc2d2d10c9e7db46ec2a34d55b2f0bc9f0345a634828040159ea3390d453145c5e97f3406575308f3803fc63944db067cbf03cb91ecd916f16b6227a60215cab43c4b9a409b19cb9af242375517af5841ac5d0329a14ef57d4d2282d4f7479ea6d37f728b45af8ac42a621a953369de0b54535503c4c441ce0b6d427b5577cd15b9cd890ff95d1434d101165be1623b9cd1ef67b6035ffdb8ef07117acdf909af168d381bf8e503dba36547fe5895671e9d495add1c03324e1dcc50950c11240379740d5b383f879719bb1d477d04592d65471d973e8203f355ecc89a4b76dfdd7fa0f0318293854c502c03a74c0c4ce388fcd79835e0bd03bb455a53b6153bf3fb7e0fc6db20d7ef3661942e9e957af3b9120f91f755984103be0773cd56d7c9df1c8062a9c35b731b1359b4b9ef8c31a5c74c7286d96fcac103f7dde717fe02b995df87659a9cf25cc95f994360e2b8cba31db4183c14c9670203c669e29de38188ac1e9b8662b0d995e31e500883d08affadd4eaf71cb7ae43b603dbe9990a2e3a1b78a7e86924142e73d32e6a5fe8ff15f9d923df57f5f5667c02036a42738b24621de70cf0a5975e4e0de90c279602ed12d99c46e9951927348d1f03476ce5c4306a2f9875011e1b52bfad9af7f9eaa53a0c09725b641957f6e5abd1033a6eee3a707b54e089427a7df5f4d780cc9bf727b8527a2670b3e558fc580ebd037c900a244c50a273971a28d09b3e5448a2d3b92248efb447d5e914c83885d94c03cbb3c52e38138f069c39c31753b3a1e333713637c57dc2f38dade06d65833c4e032e9e786d65c8c00c3053a66aafa6d738b6029bd9b44ca911fadbb1b22bbccd3803f23a75947392a97153c9fabd3ebe5d109892d7ae8a4d3b64458d60fb5b0cdef0034c0924eddf164fd85e99748a48284ca73c4b2dc83edb9d3072551b3a6be0f94703bcf4e068ce6001b29bd880451c3388ef1c144cd79c727000046ef06b8b6beaa403b615536da0f1386f5dd58645a0955875bf7e4c00c8bf8397054268b30a5ca536038f67227b47f06ade1eb106d7b50bd823a327fc6d04556d011b98e4e695a6578e0328a17cd0c678af3871f0a5d3dfe41ff24967fbb7f11726dbf53707b5c27a5961036ce3286ec2d725cfeb234d4a29386ac1b057ea5109e381b59f5816430e82386c03a2d833f5221678f65bb919bab928e1ac2a21fb16c768c802385743c1f20f33bd0394ef837d0a9420521c9b61374d3433c534a22365b1ef1d34c305b1d4d508b17803245d8e881b569e0f2859d441687596d69a1f13172b721b798abdaa13cd61acf10331b17ef9b060f53595553fba5298848848045635c1ddd4867fb8834193531efb03b254caa5808fc83395b676f33b88eb741b88fbd627dcfbe735a4924fb3a7ef47032c53e4633f67dd8f1cd3b97857e2fa1888a08113bd4ab0ddd9f3f0667b75f31d03ebfe5a0154be1c4918681bb0b84185583e2381f1c034dbfeed740abe5a18a73e03e0414af533edb23b377e58da622436a7e1bc72da8005d38e7403e9c796fc8d7d0354fdd1dcf7c140089c99e10173a00bde1620974e76caa85b89c61386854d2e1e03a4fe5ae7bb248ad34f6d6c3cc546f3945bcabb9ea6832e5b2c126fb2948d37b0038436e7414d7bd51873cf6d66cd7100548bc241391940c4596cb8fd8318c9eb43033ef1123618d733594d9bde1b472f2695835b273426ef0e82d2901eced8db7402036499aa00f5cc368850094bfc120b9b888f16d1b2882fd29bae671a5c415cb83c03d27584f834991d48dd9d39eaf146fd21299f67af62a7f0f8c56f316b58c812f503c22ffb33a73ace056ec28dccf8f19920c8075a47151913e13bb76de334454350035bef61b2be3a91a5d66d92b259cb46bbe3a8a5866efac22f59f73f70174791b503c892127d3f6cceb7c41af2f17aa67450342f091879adb9acf3a7b5a8c1035ddd03556d3ec12e5343a2ef72db2e7ef381104279b2476ce4ae4a56b660b50347595203835ea527241d3ff19f15c1d172c75245fc94e1e2680fe5d2551b6225417ecdbb03fffa2540a1573b228956fa86248745aed31ae6e2c983714f32fd9dd7fc58c36a05581e0329328c87be9836183768908f30171daf16714c1f39a360b617bd23df400c0a4629546746ae0805581e03934cc196d443b1d2c5588f9fe55fa70f673923ac0eef128d9203835d500c0147c7a8357a0fa80005581e038bc60869ca403f3d41ddf8575cfa5be7785783dfb7dccc395b1ad999b00c01470d35cd2acec40005581e03d4abd7a5e810b20841e6aaf7fdba78949602e371cc5ff9aac8f74876200c054702c0246afc0c000458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff0155000358c5239b1dd310f0537a237bc27563369523c442d801ec8818db3671c74674540365826e2e7ab17befd18111567901f4d1c040051467d927e308ce4b248822a0cb03b1c225aa33368624bda2174d75e18cf62636a5b76c4c6e1b2e418d4f5b2a355f03f9f0c35958ba855fe3b67c2d3e281098a811faf015ff970c2ac1ed7519b7a9f90340d8abd4aea2178e472a6fb5d9a54ab7d9da7b4cec41de15657ae7d7ee47ee9203b4b2017ac478ec2fecab17810a12138dd142aed069ddb547bc6ca75f30d6edbe0306ea5daf16f46213f499aabb9937cce13f5fef58bb32f6e0cb3e9a06a0b51e5e035f11d8c8b2a04750588c9cb0a75e46b7e6e954dd62adfd624acf8da2643082d903a0eed321da78a0ebdd5fe9921d733518413a2cb187ca6c1105f7abd1cb2fbb1b0311b7c5e1e609f177f216cde5180864e5b646e33cccdacb581e3f588664f2aa29037d0990dcadece1c27990f6006dfb1b06731a2e38f30a794da8bad6323491555b03fe92a1e51e25e90d509a1d38bc6f2a9fe43e4f72047a2a24b870c8d30fc64b6703bcde60f65dd3d2ca3a2f2f4b0fea9276db48ca7062d6b0b6aaa3a0510d812fc003df6748c404401faeb51fffb775298fa91f0dd2b737b0f8595ddd8053103833c50367ba887e07b40051afda724bac2d9295be9135f1fabf12fcb95ef8762bbc5e54005820035b0fcf3bd800db1425c3b5cea82894f4bcd6c6e3f3681233ecaa3a21a22a3044663cc98f03a6b7d063b82dec0e83c94ca4a3eb6519dad637b47c2321d17ec61548a784c95703fbf5999fcabba0e2ed169e657630905ddaa06e1ff8ded70eec12494da396b04f039ebc1b67747b6a172ee99df6e8debb1b98d1bb2af2fd4d7d9233c6f86fb8bb9a03262f082f2f808c68b5102bd0ca743333881bcdf56c5b0caf594c71733ed0c34700582003cddb82bd7d6f65fe1dc37f3f335825dafeac204521b498c3035fca9d24671044663d7ae3034ccdf84f270e9fb07171b769d1737ca3cb47be3d33be2cd32aab896647a32da0031f8901f34af3b4a8bac1e2b5d52650022a64650558a0c04c5fb4599c094dd08f03f52e9a5bf4207d9cd90239f7199782d58a55fceb3895fa2cb4cc9542d2a5872303e3af39c59d84c6dd4bbb43417edf1e939070570d233bb5a1b7198c4d67b1567100581f02b50381a466ad9b3f5753ae9d99dc1961955a9450f39a54fe5ed20f23703944663cfcbf00581f02d7283d573d576507b2896b999a1774e22aadc14d202294c19a0f513a12fb44663ca90700581f022d34ba1eaa86355c866834b1f968ae22db024991e5f42a9a675196c9459d44663de78b02198410035714c53a00c63f7abf88010b7d8641a6f7c834c8c8b6ab07d1304165dd133e2603fb951dd6719d0846becbb4d55276d92a7a77f6687eba589ff57bdfdb799fe4ce0328f4625c2a4b7929cbf0ea4f0b0e3459896a55de82446c8997a5856856abffd90391340802d5194304e8a2f4323c84da7647cf985a3c6d2a1ef795dbd8a53817800219bfff03576e9c67f4913b6dec689d445a1d0cd79a90fb1c9a2f0c87a2ba84d25171980603d924cd2dd4d5362c29bcbb0fc4f61e17558e556aea838c8d09ab96901ba11fe3033517c66a20bd6abd4b1ee2e5cd45298563b00fd979ad371af28dfe95b868322a033e0ce59b58426d4eb6806b518e0a18ab4d6ebeda65951a616eb9c9c917b983520219ffff03387f24a9b1c6be19fad5f890ca5c502479f798fa7a51ebdf492ec7752bb784ba03244183a300b82435242d6e0b450a90dd10e49846e00e2cda1481f2cd6893f04b03356f09c737f039614e52e2e0c37fb7a70313ace29b2154d9114db788f0ae541a03ad4ee9196fcc075e9a4dc9fd2bb8c75338dab17003f968d73480b3db389bf9d7031d739c09b9667fbd3f6ab1ef093a08e2c5366e1d6acda970be8d1c3fddedc2a2031afcc8c217d91826795f263a1f09fe4f6130bbd58deca5fd7c33077375fa1cf5032a8efece59d3d07314f21a48b9d4e15cb7c42c0780b4da74b5713427a941530403f0804f578891545342627171f5a9f2262c76551c8dff1d87e1d4f600e0dba569034e67010819e15c986e4fc147d9d699936155d18e88644fabd15bd556521a9b7203b6fd210aee5e046b5053ad7132b8c705eaeeee963dd7c5efe7209d356667b6e803b5c9b2a4290b6130b89889f84edc7688e2d8893cf6671a82834411fe9bf6f27003ec93db40b8df894e80edcf0202cd39373099967eb1e75f285e6cc998e7b5b26803692dcb502f53043296639d68228f69c17e83663caf8ab3cae97b1674befdb8e103d5c209b220a62d28e6f24c89d7d6a37de20b3fe53afa4e39f71b5759f4d3e4c4032a92f5ace6d6fe31425c6282bbda8e84e2db0345cf5662433266e1bf343a12b403e12845abeacbb0beb485495bef7d65bf834364233fece312a49b576ff3c340bc03e6a66e06863ede15f9f2aa3ade52cec2ca242e3f806c40699a40d9284bd88b94037d6889baaf1cc4d81c4acd0d0e884c685ffb3a2d29cae5b0727b2ecd3e8d8dd2035982174780f06ddfdd84d88987dcbdc69ae1279de27976eb62d2e5abcfa1c18b03e13a3a9a9b2880112b3171f114eed30dcbc533ff7d56980c8898a82d1f4482c7030e65acda5fde29d1cc76bbd3ffc17d8acbbde66d3e68b6a5d9dabe5204525aa103c5a998297fe5c2766bf6dcaa34f57328a1961bbb6140e34f22155c4904bcdcb203f53af6a0b865c4f515acc6d3c93000e2cddc6f8e8d961c2672a7629d1907994303a7385e81588f6c99b53022f433eb8c00efc96fa67eb6331327cac4b1a07d7585037f98a226ecdb56c0d8651302d8b22d2acff8bc0eecd3e3213753028839c0d92903cf753d039db5e738d1ee967356555d047215a4bb82aab79373c359ff70a4478b0379a542cab81cfd9d454470df1e42547fa517c5d3120e5bd3730d98934b64e62603a05dfba906e040db50a0afa79a425201f74146354d88c2754c5821eb719b5190037b2a32ea2c5f26a8552a7872f3ce840aa447e7d9c0efb0b03c99d131161b810903f7b2d22dd98c0f407dc59ac30c13260cec6e6565f54b9d9b09c4bf1bff9829e50371a35ec266c88aed1b2897e3f36a14cbb329816629742399d38ccf05c541a55700582003c8baf22843559d0eb809346dcfbcc9cae4248ce96c61ee9416d0767869af1044663d262f0395451063870cbebd1a1c414c042a67a269e123a33eefbe12795ca4533cbee4210377696199292b63a284658963a209f97c039eabfad945fd77a3e3d3a2431baf2f03c62ede3a485a67f19ceee383b691bd1579d726b72f36bd25966b245d2658c99f0362f50e33577871564dd39157ff97bca77d58296e10eaf771487a741d7c032be10364f74730c91f576090ca0ba7b1e956e4003c70aa7dd5bfc978ce3110ff013e5b00581f0238787dd0e1f5d8a1615fa968dea23acfd3d692e6fc565b123f7caf145eff5820fd7d812e8f33936363ce5cc165cab273cc02af6aee8da3d42370f4d343c6f1fd00581f031906aedc23fbbf5f6acc171555cde2fc54aafcf7c2b796b6c9407434c47058201dd3ed11c47ea3f75e3c5ca68e5ab9e0bbb7ecda2318917c262c27a9af24af1900581f03c2e6f82dfc83b58e2df5c82f2a4b3a3d5a9f68fbfa24b96adf46c00deeb044663cb0330206021928000219ffff0219ffff03db912c435e75072736adad652ecfc4673017ec25347326549992227d294d856b0309e3878fa9a66b2f5cc86044daab843416ab5977bcf6dc06b760060f09ec7ca2037c1fe9f58ca2408965a47d402563a15f2fcba83a4a6eb0df1b030da50ba63a4b0219ffff05581e03a92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e4200701186103efc4a95eba2b0e8ca1e7050522d539fcaee456a9baaed13b74846ce6e9f5284f05581e0387d430445038d44dfe5f67a6a29f0e61137f74004f19eb39df5f6507100c134622a41c687260035a6395100cee14b8619641123268781a56f8d9fad4ec4d364c15d99ab81fd8650219d595035d3b51473708235f94b7786ec3d9e1141cffde44d1b3c2f8f50735bc89406bdc0219ffff03bb6dce5781ee1b12b6667ebff1c6a7e00b27f644760beec12fb305c5eca6748703c2659bef399996280795da7d7c6cc8380980b8ed448477279fce86cb1439815903e45da9fe37e969afed21a06e65aab4b8219e0be940cf6c2d96a3312dde77c4ba03cbeb42d91012dfa7755211b9ebebc4e6481daa53edeaceb78a26478589a5171c0355e8cbfb54708ecacf62e4d8e82d3ac23e130e81a0a767b06f854fc5a76a803203d82d3c30bfa72b176d2285d259d03f43e6dccdc50cc03dff946f850414c15e6103b84ba827a5ef576ce6db5eeb236b0b05db5fa57d18448dfa5685297e76ae072103494925526b1d70068072e28e02df4d43941cfb627cfba3d4a148a8e857bee15e03cd19d837ba2dea15c076f66e441a92c62e7c353901568a45ba5f71e66e88d278038ba8c6e5027ea75be5cc7cb96300e7201167a07c4c58fb06c272593502d8b9dd0219ffff0301b8e895dbf6e8f0d41d8a44ae0ad8221319b0b3232425ee213ed801d9eb9ddb03c15636c31d015e3f4a306e5ca113823cf9bcf4422ae44ce6f9833e1a4c92a87b03e4b068e19c0ce1a9cde31af1072d04cdbe5f101a86ab598ee61a8ccb7a5160e3035131433214d21d38997d1bd4d2eaf4a69ee15f096d86344b920532b298824fc303152393ebcf209df305d93fcdb3ee0d6c9c28dd5fed398bdaf44f0e32a1253e5b03c28ccc74e893b02e05d6d5447b79d210a80b3799c658e3b2cae91e64f250d52d03b663e80603c7f9bb86ac127aa3726183321274f5675178b609500bd338fe6689034a4d70349a6c431a3edaefc60a1dfa6f6151ad5d23e0028b924ea72676af2798033122fd4a0193f4e18ca6f08a697c0af1c8141e2659da5c6bf0f87f5ed86ed8a70219ffff0372acd27b85056450bebd86a5a917527908636a4c781fa8535f6801d52643cbe60313561846f55baa646d462f32f65378782aeb0a36ec4396cb1dd95ff2e32a73cb0219ffff03ab23c03eb82757b5599c6b1b720f61171157020454f78fb6fba98f50b444103603d21ed651d18455a8a402320838db0c0ee34b4fd81fa20fdd9fe9bc10a3f6756f03f215f60497fcb591efea4098f8e6d1af4260aa34dd0143154ccca2ff7a41371103390f008988bcb2194db38af1ae0c5b450fc67aa63847c3333631236ff160ddca0392da5bcac8b88fa85dd08f6c0a2c54c8049826621e9de17655a5ac61c896422e03361866a4d5b1c4ae521a022b8d0bf3f956cce9f4558293865b4e2e09b679f5fc03c1204c89e187aa54d5bc785652301c858d3b8a3a271e3b29970f5e35b03f03b003e5d334dae613ef68f86ecc885179c64542cbe18c5b4aa3bd929eb6d2bf5d9e430219ffff03001cc050182fb06ae5d5cb21738d6a93d6acec33ffbada6bb24116265a0d418203eec4298676ca64e441552ff83659d2575ad601c6fc53e98344ea7882a0fe1c56039d6b1ff6c754633d01894c26d7ec56ad635490dfb291b08544cfd1b5dcb0cec3039a6d2abc2c326ca7b11f03d687495f40353542ae9b674bb6c59bcc6956657d8b03fb6d16aa3f68791b386410f1c544051aef6b48a87517f2c2f60be6c45290bc0b0364b38a393150f0aeb5df8ae532cc8017202732b532046e192a385a1df530a1db03cbb43ac36287287ae24670a0c4214587495798add9fbd6124993f2c6629d4236035826a6a848d733844dd5987c128e28517f21bc7c06fd3742853a2d94c29cca9203f49b340fc1b72e277463376094dbbb5ab76de329e2984dffaa0324bff1cf9c6b03c61f7518e360642bc12298499dea86e091bad02e3082654be4ab16ade8be481303f3cc663d1119c0e755090ff50e657071c1b7aaf76f5049f8f68efd2fb3e2a76c034f1fc53876be73fe021b3da55b1b841bb1e1d6ca99a8687da7557638ec4021cc03152f541cf3ee990146f63fea1d9b53abaf06a58b00a2ab68fce1c0f5b0c489120387f624a5927e67b0a59632a5850f1c011737bfa8f3a51c937ea14a3988e066b20323c3238b822b325fe11ec12c14e024ddf5710d8802e5c85d1ce7c47fb02a52b303fc2eab2d511cbc973f0716322261116d8b81f804ad73d6d380caf1c42989ecea03067c67cd91a2747c892fd1605d2a38c8b7409376e9684323b7694d359eabf9ff03097bfa2378565be66df31046bbd59bd5d4c2c14299553cc58d7ffb2ecf27699603ddbec2457d43fcf01730e63a612c370b56bb911de1147bd597396fc1a116484e0390b76a69782f11b0cbea81d1398b41e2927e5edb66688c6c728806bce71839d103a1d7ebab554c080cb2fb2cb17667e3058fb3537ed64855620f7305c9c45973e5039c2e37751faff09ddd740b02db8f0ee80d92547b41e50ef9a3d2113bdd2f18be0330ae1b86a3326ef4be28d5c2470d8808df51f32e5399ba760da826f46905959f0362cad7ebe4f2c9f7e283ebe4f1ca1dc9e8e7c8bedc52ae4bde537a19beea1f1d03d51b9c0f3ccf30ef1a3754573521f05d4981b3c7a0eb635ddc81684ab75fdc9b03766ce30501987085efd915e492dc68eb6fb728a13070605c762c2dd8fc65c9e503d2be7794bc7b7ac3eff3e2bf8fca6721b9d7304e19263153d566066109a5fab505581e0329e4cb84257f3a85c60d49d690d86c942f7d8521e57336a24bd99719500846f84ac406100005581d0231e95b8419eb826136a480dd3e995ed8b16c389a83abf73d262522a80c18434a049d41dbc0f641387da905581d021defeb7d022491798adb92c6a0e0bbd3e028c60b710678fcfc65bdc804030219804003f0a45890bea7520a3246b1d46241f5163e20df1f78ed7ae79c9d2c9c8491ce5003c33fc0d0e68fbd9b43795a1d49f372864646e80a64b2ae991aafe78cf1a6b8bc05581e031342fc8a455f0bb4cf1cf5c8d538e0fc58be64fa5515ece1f52ab69a9007011bffffffffffffffff05581e0377c6fb8536ebf253b0a73a57f2d3dd389ca68dd09a55ca7c9402700640040105581e038548cf6f40bc75e6b2075230a9b50dab25ae567bbff331319892bb76200c0847207fdc31f0253705581e03e43b5623140b81b5788ab27a9b607435c29e998d62d7041c02aa5497b00c01461e55d5526400035cc05631b99585c07c74357703c6536ee955b7fc282ec27b997ee3cfc7db376305581e033e96d0303c74a5f280436b54c6cb65c305ca1432bce3657a886fa885600c0147c9ac605151e00005581e037248f8cba499143afad86bc4846e956fc50ef032d10256e551b3342c900c0346a2c1a8265fb805581e03448abfbdc1f8a978d1266c4e652cfe22c375ac38e7fec717c83e4464700c03472cde779ad41d6c036657955b7ec60ccd679d744e3007ebed64a1c193b1f5e6764e5fd5098f5621a4039be7f2f51b6926d91717387c7d931554000322f401f33bae238c59d16d1bc25005581e0304099b4cfbfbef7c9241d66211f3db31de111d250cb83214371a03052007011bffffffffffffffff02197f550306084be24dad54cc280b3bf8ec4aaabe90ef39d4a1d3de01361e7978f2333e6203d070f1709a1cee0cb0f2dc904d4a97ba0bb0899e7c44573daf0c4481dd0acdef037256332e427d6fbea337f43cf2cdfff5aff4243af95cea9f189e5215b4da468003a8eba973b3479f7730e2da45137f7025dabe1729a91367de311f71e2a554b9d2032388595cefb05ecc623b4644216fa13da46bf66e0af30c3b6e61e980e47f2f4103a78c06eacefde35ab475592d485471fd7c9e2ed061a66683db9e0f938c6eeea103943cf313af4d005afba941eaf012b10bfeba6c27bab6a5b500e7a463beb4ce8603cba2737f18889d6a5f490126166eccf6eeedf56294b6983e211caddd1e958bde03e70c0538d263e7153e98080dd8651340c6a16c61ccac8e72faf62b3ce0035e6c032c7f02e20d33992e4a756861c214ea04fd1fa5b7d7b77054043d909012ce7ca6033ddebcaaabe1a9f3fc9f1433bd43c275272753ecffc73f4dc4d147106d060bac03501228901ee23e51b629d809fe86ca91b857ebc264348fa6711d52ec799e49790380856eaf2c16d41b7c5851c8b8be074e2796ef9fc5a51af35abf82e7064d8ce70219ffff0373457bb1c2d5a37570f05f98d0da6ab88337ebb1dc5e69d8905424c0d25f3ff5035ceaa6bbae7d847a6b71ed0fd91751f23a221217cae0cca560eca0ed46641fe203baefa85ed25f86ec38ffeb1dce60e649268ec9253f9ea2e937177cac4a32c02103deb8799b4ebd27039932274a35b805633be4c4f9e316424c0da29cfeee1413500319e279bdc8e991271380be21083446fef85aaae12b0ee658bd0a4472344497c80379866774e2f225b8895e3de8a034c7cda76505fe5a0bbf4cee28bcf03a50889103f207db476fd76b340723f6806bf05778064c1b8c03ea762913042a6deaa83bf00333ab1293f95b00e0f5ae9eb29d2b2914f25a9e927ff18e077fabb6ed05166bc00219ffff030f435593b37c6e7e90456965f90baccca95ec22f18726dba77f969586563319a0374f3bf4b37dfba97d3bb836784a582d5387f1825e37bae15cef044e4a400ee10034224592b2898cf17dc3412815aa5d8306aa68fd1897203f32a00fde6614829db03b141e7b53041cedc0726c3eb62ccf7ef8594064490e280a085412683871b3de0039ad73dd089132dd4797a0dbd3bd6fe1b098c46f06c517ef1e3797ef8c51dd21003c0ccc062063d494691863a58cffb0498c3ecf32b97fe6bafbfa4f91a3aadbd3403ca29993c9ab4769f55b1668e25e86366c58315e90c52fbfbbdaeb966f0d8213a035444b46af6e3c94f584c4dc0c7cee1e3e9750071fa4f648b452633be27cee3d103dd0ef771e03aa7643e5ebc78ad7ba2ba6e3029f1f54503f575b2c1db3a50484e032fb5287c04e5b0440901877a095a4a433cb704c875ab4faf5d92b890f83a368d0342182d0d0b8b8f6888219bb5441e71ed5247061f247b3e5beb05256fd437446703057fea1a0b7e2ad1b0dac40108d98219a77820023ae54f6aa1ccd599dbbfaf90030bcd00ac7b07c9a993662985753fd20a5ad28aac1cad7cafef8550f76d905bf003fdc6ae80d23be595b425ec6bf90d701c20aa537c992ae517519c1c9132cd35b00219ffff0300b3538138548d8e7cdfe3ec6a0649346cab821a2c12759a2d5c735ca1e2476b0397f9be41801a5e5cfb6d5aa5fdffc062a433b8403c000683a3eff412dceb69d303ae5583703a0d55910f9e00556ed1e99f16b07e48d8063abec2fc81036899731f03468233cd70fdd2f93ca606aacf821aa5b529aa0b97ad5fe3e01834e23fd2f26f0380dbd6361c810ebf3dd1e1d37a2708bacdbfa655f6f65184e4c77d428d18dc65030fa56fdff3c568c91864f230f49dcd3071208ac2c6f2e9f436777e5f8a3600060394e5b49d3a8c2f88390491996babb83300f840ef28c6dca64d89405e3a39151d03a8be77041b3cc39fd155bb8c1634cbc4f642485cc1bf74edd32f8097e2b9d1d00219ffff038ee69e0c947fa4b09f8d38dde182267b4c4a16ea0242c041369619c16b2f69500392065172c22a81711d3803081e2c66a408e0727400ad2d83ef13c570633d5fea03ec289b0aa52aff14cdb4d22bb62e330c7e4ca2aa611ebae50902c190e9d0c99703b5288a3d3514fb46b592e754af10a92ec8a7f724ce0c27d8406956ac2b8f5b8b032f969988b3bb0cc7bbc443189f47d5900025e8f77ac5500ca95baf449e774c7103c4154482e9e26c9bc32112b211d4717775216f694bfddfc8b269ab56a46205d80219ffff03b86aaf4643a9522fbbae67b172edc7c77393325dc9c31c9a7abd8d3994c847c20389ee3ccc7222da174ba639ecac039602c3e717952af7296b84ed11b7e6f2309e037361d147efae615395c158f88bca05f3945005fc43a8196e1bbc97e710e13cd10342525c1620a81a4b104fc85e3694cb32589489ce2ee5b01cd9e6ab14a5cebace0343e3b06cddcce5e0f06baed99ecd0a20775a5ff0e74cc5a76fc9c61010739764038b6c262adfe371830f62289777185cf8f52217c9f95282c67923a377eaaf86ed035dda29994853c06889e9e46917a2a0f79400940167b9aef146ab347b55d664e703559ca936f787bfb77440659de1c59ad30eeb28eebc23817b843ae74f761b283e036bb1e58c1e30f46e3e5a17c627b36840ce672a1b4576340c39a5ab5614686d62036d4da0172d96c64cf89c5e12666fff5bae46b070b11ff34d32f8cd1e16c31de903b51b58d1619a46dcfc5d4137a3842bbb299e2fc846ce6f87bbb6b89c2b0b9bdf03d913f2df7f405954f7f3ddec0f6b6fb418ebc3eb0748d9195474e98518ae658a034f042a8a0a48b51cab19b6ff5b512e2e54ff0bdfb317f28c999791cb204411d203e5d907601a73120bae4431e4d05d07deb1eb429c219bd2219dcb26e71fd9affe03cb44b7d70efc4351355d73d14d0022521f1b259212653ad83e8baa6cec3c23d3031dc993b12dc23a0d67244bf463405d99e8000baa1fbd040708ceeebc4fdbad8203d0d7e8ea93789f0857b17f2698c99009e8d53b35eaa1e292ffc9714d45adc00d0395d70f0441aafcca4c87ba0a8e565313ea2d2b242fb3cad8d04d6fb8483fadbf0355534b75d3c88e148d52a6870f57d19ba0ac801caa76e08476b90b48d7245a4003baa59f2afa6444c81244b86b7c9dd17b6edca4ac623a93762aa2db74658760e6035b375faf8e6b683046c729754d73b5625199502802051d1b437d400cdcb0cf3603600009c54247532fa59301cf9015172f85b4dc83cc238f70df51f73262af9457039fa254060036f7f90b710bc3b17f2d866d5db4c06b175506c911246f6d0b50f5036d5b2af4df1e2f292bf9b5cb4e13e1ceb528bcd8ac00fdb041d777a456ae4d1b03e7f4e78e600c3126f4691665f1a867963f504bf7e5f272f7e269369d693885370390d6c43e3dede80b4c6759b42c5d330666f3fd1146f164889637c446b1673469038dd25b7adccd1a9cc378ec8a4c419b593e30f6c853535e3f3c3a7675d9f5948a03b6c688039c4174b06ad78c703fba69d3145fde491a9ea057e0ca4689ce6f083b03b5591bb5ba5bd4c45ac3827151cc5af7614e1bfed7809196971af8362c19490403c07c7fc3f92e6ebff32d0fce3961aefd7ee2e0c5090158ee8578d094fdc5b2e203e91b66637cde3244ee7a4f3c0c6f2d41e5d3d51f2fb161fde3b3e46a7be5d2e403ca6f9f545f835eb201a5cb3a64e0c6a3d382ec7bf5bd18d1ee4128de0d5c8fb303d2ff40753b8f0eec2e458c6c092129ecdf4da77d7b95645ca1ef6a47af7135db0342225c8b5558e35ea88dec62a89b5dddca727ca654cd826c19ea4bacc6fbeb6703b0de12445e9e9b542fa6214e604fc40e069fb71044af40d50d4b741d3a3791eb037d577156ee5867430b360d6a12c062c7557e0fe2cfdc2c23c24675676109820603e4abd4b3b402bf6ca99131af823b1f1e3dc564cd30eb6b83aeb4e6295678639c033c1f38bb537c6eb904d7f5068a749092053dfb9fd8445dd54829d6f8c96024650380fecf187fecb501dd15f7452fb9a5b4030af29bbb400caab89d9fd1f6b32d0603bdedc66f85c076c34ddaa82d7f153bf1940a7a05e35f70ee5078634ff0d9529f038c72a5acd831a0cdfd5fa323c3d53bd217dd034aa9adea20652ed7fd52458f230337e3badcb7453ce9eda24b15ef374242c727263e5f5d002190cd5723f3fa6c180380ffb85a7a5817f873341fb95fadb78e688522800706a26f5721c9cc29cd9a2005581e03eb820fd1bffc460d328d2689d7ffe13c4443877bebf25bc3502cd345900c02472427ac4344f80003a31f886c62f676187a889179625c86a313cef7b2e41693325ff5e023fba049f203508d78823e3c33ea99a6bf0627dce396125c96e0f94f2752a9ff05880c38b1dc03e886b0f9abe462c549e7b057256e86d99e81713aa80dcddbafc8f00a0c3fb71605581e0371534472d82ce1ddcefa8a9a081057fa05952073b437c3327c830078f00402031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03f53b77d7a78435e2976275d2001631a331bf18d7cd453410c7e13373f007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03ae96e94082f9c665a9a9b7f6b303fa097b51f1de5b42723c5fb44dad7007011bffffffffffffffff05581e0339df67ea70629138640dd9da3fc27fd679261a5ed2042474aa5feaa5400c084712cd0bc426c00005581e03cbf8b6bbea8c53f00e0fb58e1ca24db29869fdfa1a0b1ca084233002100c02471b5fd6500abfbf021973b80219ffff03e7428ac36fde822f7b83a928647fe466714ccf84913a6c5aaab7ac82d2b59c7b03d5f0df5e6a2783e918a037a9ee7fa2685115ba141d07037d7b5d46e2054dd5e7039f79a9182ba3b1d9aae33023b9070a638797d05e7f4a44729aa17849d5223a24035fdcd59a931ec1e91064d844c649073f657e4203d36eacb2351521e9e4954ac603af08685cc91bca4266afab1357e6e9f2f219f11bdd5e1261f3d98327009541ab03f8593ca6ef3232bf440abe37ff28edeba31191f213e5d4b2c3b5e1439decbc4b037730aa436fa2aacac76aec54eb6182c0ca79133e33d8131d4554eefe4d75ef1403916342879007e01d97b956f624ce44c84248f89bab906ad9c5b606db31c8588a0372587fa7fb363fd94c739e3143d15247587726f61c87b0d21223c25021bba3ed039481046e71013bc6b2a66cd833a256a6b6463c9fe29691a062792221433402d80356ec3acc0a875b7d4d1c3d8fad6fd9368ea37b473ec6f1e19b78bfe9688e599f0362eca503aebc0ffd7ebf4011dd3b5a9c0d801d14f9ffccdc1d19bfcfca7200c8039a28638fa0c05db0d14a30bc9ad3c7098402739c7e17b7da6b480c83e70b3734030aaa978382ea98c6ad771b344bb123f56ee7d5411df29e368eb8c0b4f38423d103059c72e2ba055b1657fd968572d1f163a911c55b7e10b7098e5394e265cbd79a0219ffff03edc2850f10888801ac80c00884047f5f1f9544044abfa9ab59823ad741a2400403f51b244fbd3f59b9a76bb6bd4e26ce99a5fb4a0356949d052bf8e1a61212e8c8035085eab9c1ea2fd2a560bb213b6d65267407f6db09f61e2dbaf4e4a7008279ee03540d382e5593c6ae6206d3279c3eadb38dca924833afdc4ca438a9937b4c27520337f218ee8dd919d2e018d8c42eb15735b7d2bbe0a74839a890c46788319fbcfd033ac886856797396af4c01108aa53ea9372d271d2b9acbc1330f74a8677e4c2030219ffff032299a13f697369a2b8c8cd261698d2c8787129b582643aa4a927107a7660802803bc910df7c9217db39175a9572de2d6e7b40223794d53ba7c243144bc16d2847a034c997b100bd7d9daeb847ef6a709d188e83d39df005cb3680a1b86ff656d718e035f53bbfea1cbd32e1cb555de9e02c8670a100a58dc33bd879f6ae31c83623c530379a28106c797704a0effe2026865167c4da61f6f36350cecacdbb4a552d223e203e92c82c1edb4bf407b8d4c88e76983f82c06025827a8448d940953d3e344ab9803415a787536042dcce97a33582d622b3c234fc3830a69c4c4a69f6cb5b747ffe303204e8dca3471264a5d4a52f7fc903b258b615b152237ea048a368e60801c8ee803379d91c811e24844e170e2a6b7eeb60f0bc974dd7770e1658ec9093fb561912a03478c6781a8b905bd91ba3277ad73fd8f441063ad8b4ceb471630d8f3ed66721303031a7750b7920766c5a83f2f2536cebac67ed4ac864e67e19b983b125711b4530219ffff037bf29d067ad70cfe53cfaca684a37229afe02b269a966eed4ed1468e28150b7403493e70d29d51289a7d856c5f354a06e786c281d154b3400e808102badc2388850302ff93a3d24cbb140307b0eef2cd8f54c657b10eafb610840855e336ff7d506603f4fe654f6a1f9d54fa6ded013deceb6bd263f60aa743472d43d0847671421b6603b79fdfee4d00a18b9b2bf952e6e3bf6e8c58143ff6bd625b85910f82c989e9a0037d6bab9c0422fcb453d57c21d8d125f8111f44e0e77e5b85292d811e9b1b49bd0308f33ccd920808d75225fdcc533b87d62202c3c57695853bb328da416ccef01303564a099ace8ddd129f8fa6ffb1424cf467b5c8d3e42ff0a86006db8c76ebf2fc0219ffff039f6c2732d7b95617cb8197e7e4002cc002c64b144b5845e9daecc07fd3339b5003bd2bcf581ad903637e4b18193b7f9be573ac1cc2937acab93bf51d6e988a42e50386494bbfb0aa70413b277552286c6f29bdefcd7272de4e0157a9b0941dfae682035b5b82d8a2aab2799f37814d9c86295de5931fcfcfdd704f8aec87c1a138b7950306f1364261d9ebf275893b908531ea5b3a477fab09954a136e867b35f1d2f0d303a488dc121ff72c6a93a87347962f56baa5d7ca73fe9d843b61bea8ad6abac63a033743dbd1d0c596f2a960a19a9828f1804b0f7b7bb2ea5e0cde398adb8ea475a603338a53de165699f747dbca896213f929be1829790e8375571f32bea3b9dcf80b037a23d8955e02626c2d9fd140ff89ecb66065fa37307d13a2e091a88d50be0da503fce5604a841794dd825a8230ac71ac0b39e20d50e06a76c5e01054fe236e7b9c039c401fe781b9c7c3a3c5404c3c4534e7efbf6814bf59ffbade4f69191cb801da033ddbe85c6065e70c8607c2b56a55c611d921fc7254fa6c20e3b0cd1d34e3e6f003cd236c04aae3f2c1d68481eb9bc358740d4bafb2ae08006ccfcd011d6afed38f031bbb02dd05d10628864a88112243e6894c305e535f73e727a4d52f403e143ca103819e66518a3856d1d846aa1d5dc35dc477febcf8bc0907ceecbf8cf79aa27fae03d2cf80a073783fae139933f1118b3464f00a14500d42dde47448e74100c6e77203de3c2a255b9b8bf74ee7b19feea80661889633fd0276b9628aec54d3d205b5ea03a7e6f134ee27e789afd55d643954b0eb2eebe8c7a371156db10b438eea837175039491a0c87ccc44b8836fab4b9759c5ccbf54c64f9a79aaa5b17d8c998631aa59036c9a03b3ecf60fef21257cdf8c1e29218b5803c7af18ed5144c1d117df3472f203933976cd2b0d1b8aa5f90a0f05897ea5cfef9719e26b44c045a45ba9c31f008a031d040db431c1fb7f7f1d03948d9460864f252e74802469844850a06bcbb9427e034cca4db733293a24d9ac26f272ba20d508028a6bd06f11de91ef40863e7e69b70303f8de524306c156a570cc25d8338c395c1d3f250c6f99895dcc60cdd2f682e3035cadbcd3d4e5e0653750a7b95e0b23a8d99528089bad926e1eefd78e42f6f5f3035e38338aecc7ac3cde429b7e3ca376145c5f47b227675c83aeddfa37730e7bbe0396af2dd1fcea069b5d7ec3c83208498da143d91ddca8b76a026484ed0a6c675f03a00b51ba6358fe3421a49355bce187b96bc2ee92bb024717c9308964ba93b1d60353f300e70b2a63b7c0d61d497bde74e0fd2dd87ba270bb896db24248e9f18752032e32d8311e84f7669859ab7142d248057171786d538b72b3b224f99390f5487303d3586623ba49d4a46a0d22a44c5d21975812461e0b98198bf602f91fc600bd1703ffe1b3a1a75a68ea426847a428f6abc359c7fc3f2254410c0b18bfdfdb2df636031b290c8af2c6b40f4413944c55645e780c6bd37db2397a369694b03519eb1b5f0374470a5751c368eff94a85f83d58ca0deb060f16bbcc115cd0f3bc5ca1c1c79103d0117d2b9071d72802a9a798fc10d91517b8e153afd593a7766ee3c6fe5a50aa038a461051b15d2b75df6c9895928735cc2614bad3c8fa997cea767b7f245491da031147cc7e1da5fc3970ff386d6e178e39e2e3f256ed9c5234312439ccc09bb7770381a1aa551415e356b298808eff24d7cc13f0e4a4e042531b704d0978dd348d9e033d8d47d0b3ab8f53caa5462ec26e18ffd435793ce80d454d3a0de3a66b8f4dd3037cc67dd0f9e0b3c1dec99b0a939a542f806924dd609dc79b15e879e374c2ddd603db1edd88da31b9173b3a01a4bcb70736f1fb7d3d7c4ff994859c9853af8d13ad03368a3deceddbf642196ed53eccf27173a264a7676dd248d202620423db656dba03dcaddf110217ee48bfb8eeff146af24219a51ac93ca67f522482e2a3564b460103304bf37f15689fcfc3757c0cb8a9c73e888edf17c9ae9b058175ae200c1a49ae0351b04acdc59d6d2676cb376513e6ef4e0e457fb7667841912288d0e20a2a80b303cf603aa4de6a946d150a191044c72b182176fb4021c6b2d18a383855a8f0234e031b5526d099906496a3a33d60306caefad770cd03a0881fe26d7f1a0de66b43ac035e59a8277f34b835258b96b4508bec0ef3922515e4142f0490770b3b2175569f03293dce157508c58129da9fdebc65200c1c1d983a8107e0f00d93b0cfe25af3e005581e03e61bc331fa2bcfdfbcbaaffe43953dd29f5dae150f901483658d263be00c044707b05cbe758c7d05581e03e98f02ec287a7bc81664c3bd3547c9c43fc30dd780deb035cc572ed0200c044683c5a2e4fd4005581e0301b4c5ac518015a0bce436357c6ffae80bb8291afc971ebe35544f24400c024501aa2450d005581e03fe83da1ccaef9d9bd78ce53543b6368d6df3947d410bf2d34eb594c300040205581e03ec48afe9bed2ccb5532d8a32fc0cbb2e1ba61c7556de5f51e397c4be200c01463d1ec5ffb1f0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0397fc5d38badeb2417fc4af69d36e4965c61f33bb84f646b7d58a9da68007011bffffffffffffffff033fb0fa6f5661fde6378c4db73cf7f1243b922e4b55a3435735c010e477f1c24405581e037a436184a5fc4ce62ad4b2daaf8a45e35f2947e33aeb11416da640405004060219e48e03026455994a7764223a128fa757f29d61c41ac8e28bbab1f879c66e232fddb035036c4372246d91297c5eca3d8d1d450153f9522df23de517957182e29d8416b60c039c41360797c1aa7097a0a9af04c1f817bb5c454d0f772e8ebe2fd352ca7e0d8003ba5c25d3ffc47ad414f2443245ed620a381ce9d9f0d1ee70505a1db59120de1403c0b160d239ce0c71812917d0798c6964edb234491c2f32eb7574c8d7a16270d1034424e96e0a1731300a2559039dea0424a1e764dd8d7d15d03aeaad0ad4f3c4510219ffff036d14a8da010d275acfb59254cdcb9eae8cf5fe7b6ab4a71a2a36194c74b9a3bc03731ac71e9d419e6d1673e09527d61c4f7b9d634dec4cf33946a8ea03f67fa57e03a916837a533d8f341b1bb7fb0e55bcc6b3331f628dde4d08d5ac4d72b8da516703c20aaaece2b73a3a9adc8e7a8806aca1e659dcab0526d1437690766ff0b4452d03d21f43153c769cbbc6c78b5dcf8b9a5d5f139ab0d0f24fd215618da92a34226a03d152c22b71f6c3039c0923a13d58ba41db780be6dbee23526315a0a7cf0431f103c90bb142fa9e97c9d16aab891708825684b56324f90029d149c20ad2d236a30703401ae904b5b28a574e99197b56de5407bb0eef555f36f65acfe9f1819fa6a2dd03966249ae6fb9ba9de1c890a1de3ecf7da07fa01d7602346d1d2a3b0f829cbb750379694c8599c0f3eb1711dfed98e2e4ff393e83f1c8132f830c1298d0a76c182603355149d946dfa2ad5f816899256dbb60ca00eecff995689c2bbd7370215729a80219ffff03fa4bc73fd4b3e5ef71f2079c8c7d0367d6c5e067eaed4b34656b1926863401bc03aef7db107436b3c50134ad9bdba4ab448c0b3cf02a7e2b8c0c88fbdb4b0c2cb50219ffff035193acd8f798b1956536dcf7fe595d15a5dd7454a103659708015d2297bdbcef03c5619d369433bf9fcfb86dbc288cde781cab61a13890d23d8e35269f21df280603173e6adb834c681b932bab9925c8017b62ee314a1a96d5785219e76ed6e6fff903e34b9c0599f8c2ef3b96a881ffdcaec6e123973792fd3b5afa5ef14a69a289880219ffff036d601f7967997e14f0b8ddec3cd67d8c4758d5849ca7356bce8860758ee9c848036b190a0ac12310f42571c2af0c442bac657e635a7e06b05aa0139febf8aef0a003c8825581763941270cb3e17f04c73fd4484788da4848a24a6b4ac5c87f1e31840219ffff0219ffff" + } + }, + "txn_info": [] + }, + "other_data": { + "b_data": { + "b_meta": { + "block_beneficiary": "0x0000000000000000000000000000000000000000", + "block_timestamp": "0x663e28fb", + "block_number": "0x12ebc68", + "block_difficulty": "0x0", + "block_random": "0x2e5e4c5b459345002e2597c5b8b556f0fb51fd9c6c45f7892eb98cb4de973795", + "block_gaslimit": "0x1c9c380", + "block_chain_id": "0x1", + "block_base_fee": "0x1aafac7f2", + "block_gas_used": "0x0", + "block_blob_gas_used": "0x0", + "block_excess_blob_gas": "0x60000", + "parent_beacon_block_root": "0x5ab8b5a8f53fb6e010ee24d46334a9ce1051a5ba1691b6383ce8b2a03c10f158", + "block_bloom": [ + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + "b_hashes": { + "prev_hashes": [ + "0x55c186b1bbde8e25b506461db3948d0ee3420042b5fe5a7410af110c1de0554c", + "0xaeed1603c512f372a2edadeb3d4cbd206835a22b25cd9d39c3e144804b26c16f", + "0x8dca61b2f49865cc3effd9e925230c787baf87e30919bd49b738ea4f9dd036b2", + "0x784d858125b4d78a6e0dba2b7ff74bbdc3d6cdc5ef978d08ab3c7ce504229394", + "0x5bb4ba2e0ac463c24628bdd92b74e7a47e0502c8c96089de64f98fd35521dfcd", + "0xcadf72a2755406bb8059cd8dba4c72f97994e51e5ea12b8133bf7f525a428169", + "0xec80579f0f3ffb6658e493e6f1483bb0806356edc411dcaaec825724a3e85e55", + "0xcda45eab952474a2adda67ba2b623716d391bae8d5b2fd81941dd84eeafe83bf", + "0x43155a9903b32ed536bff6788430cd522a275e94c405f619da62c9f41b018a56", + "0x1dda2c3bd2b5216008e68146df9d8cc1caece12dcb2ff13f2d66c16ec1f56aee", + "0x5bcd9b6bfa39e238cef925d01df0d26cd670e0ba714825862f9cb850284774d4", + "0x3b3c0b38b57668e82873490e17ca1ef17b6dad0601c34f2972d7fc8b8d79d22e", + "0x61b483cd38bcf09fd561812bba39b3e0575e93cba262fb454dee0a36e26ab024", + "0x5ff6964818c36655c7482419013438b32b7bf43dc1d0bd80afefc563849d4cd6", + "0x9d06161a501ffd95aa500f5df003b02fdab30b429c3c6de48b7cd32a367fc9c3", + "0x5e1b8c54af7fdaee9c27c67ed4990b609922c54e5fdfadfe928183304ff8cd45", + "0xafd7f313fb970bde5669de90b24b56ff010a3485ffa4229746d6d8000f892f5c", + "0xd10b7f3f17f6a0b00f9947380b0f509e595d3c52059e7bd52a2294fcd5003d4e", + "0x708d167c7dc11778cb2016d12caadb0c38c4c9f173f499c71f4030b87a7b7b28", + "0x29ba6bbb96afc0058f9ab3fe3f22a70a94a91adba5a671798fac8569abf7ba17", + "0x7ed2fa00a64618717df2375d8eeca6eb00b26a69772891d29d53bcc4eb97d7c0", + "0xa2031bdafa03772d8e8504c380ca08269e89761519083027c64bd27108650bc3", + "0x4cbb35640dae5ac34a0aaf0e22f68266ae98b4edeb0906781e24cfc0d2c1228e", + "0x58f159fbfea30bd5848f382e8cefe0df41c355f2000f0f67ed1c38ed41844b24", + "0xe09a822d4bf4cfb20b9fc45e996b452668920a22f397cd02d5ee1f13cae4d641", + "0x9e6ab278fcace59150124fe6472e7bd931674e6370f240abcb38fde46d01cc22", + "0x1b69a6375b4c78ffa61e023a2c3ffb8f21e59f567ab40c647e5248d2763ddcae", + "0x5d2d637fec24b5fa7b72709c699b0605f20c4f77d02bf7e7450a2f845054e472", + "0xa1086afa9e6aff4921a7f3744b7eb28c3441f4e4e359b3a25e7007c65c640531", + "0x8f2cb0870c743235582ca9cae7a5948af500bc1b374f93df3a574e32fbc38f3f", + "0x1a7094e313b8c766f54be0f5da29c29e43b05d6ae42ba517ac1b487bc5c96b29", + "0xcc819e929bede7df0a415f55c1ab062970f815326af426de9f5fbfb992e7e437", + "0x2f051da3ca994b22fb131a27d68bcb2c9726154744a10d46298f40140f6a56fe", + "0x6c853ce7a1da5258cd093e6cd033391a68d0a459038ce37a67d9d17cb88036c1", + "0xc8b0a654e358d7ea93973e2de403d258fdf63da30d6d4034c6827d63fb0edc94", + "0x079cd237218aeaf9a0806360b659ca28762c81f635a3cc501004bb285da58d45", + "0xce1a58a6ed09e666cb0079d48bed5325d161b1c9799f1376a6e4f5822d56800e", + "0xc2136e2aaabd540ca25376c74fb0f675f74eaf47dfe8338a55bfe7ca09ebf0c5", + "0x455e0f3f874619fce323640983b9cc6ab7e0939fa3554c1d6e6f1dc2850536a4", + "0x0cb731db488d51696f60b38c15e0fbbf2ee9ffcc070601192a9e02f6adbb19d9", + "0xe190ec154493546f06322e499ac6bd923438403c676674dd40e0a02e1e45dce5", + "0x1c7c738bf9d0bbf2210090da40774221dad6d159cedf46e51af981282b92856d", + "0xe253577ef8179f8ea765286b6ac234748508c2a79aacb1cafa6993301bf2eb97", + "0x173d63641a7e8f3a7f53fa111b1bec0a2582adb18b3a5c78c81226d311ff079b", + "0xe8d8838dbde5c9150f82e297fe3d76a0c57f12e6f9dfe32453c7e94fcd7a9eb9", + "0x9a61bb64b265aee98d017b3859ad07e76266993c20d1a88ca1bbac3d5d1fcd46", + "0x6bd8bd7da7c642f94b8e0f3186ff027e09df12e34d8d2af607f59e06b87a48b5", + "0x45f6a8d776c000e9cad3f0f120b4986ab94ef4c6bd6d56aa80abe556552c7b7e", + "0x3d907fbbde00deb31cec9c06658b215c943b54127a2c48a462ff0e0c903dcd65", + "0xf5a91976a772292a27b5b54d5fc3ff8a983516eb91c052bb8b3379b1ad0176ed", + "0xd81e25a6ce87305c0d8787dba67dcb66f27b120dc46a91705d080676c81987c5", + "0x773bd2e85389ee5ddd8ec5dcf3795b99e338fa7bb6585dedf74e4483835884ea", + "0xe13a5ffea3cfebf9a0c4624e7cb6881a107a64a271b23bc4835001600f3bc2c2", + "0x535984a643ffb027cfc10476ea2954da4051e48f6157e08530785c2037687267", + "0xff25bad36168818211de295f993032077845e7548739290870055d412a9122b2", + "0x4421ac0d5d5744b71964409561bfd967357511feba5fde27f52302a28fc6b95d", + "0x8f459e102509740b99c3c8f7c3381c283b17d9b1f666a684f07c613954303214", + "0x149d211899e93714c2d702667f5d4d846faa8ddd2797ef997eadfb8d04e70830", + "0x939857b774469e5fa629f4974b0af64c852f0ab4b9f2f694c47c2185c0884c59", + "0x455506f075651b27e59360e405bb3ceba1b284eaaae9f8b7ededab0144241397", + "0x7794f14899d895626054a6775da2d759972ca19a2c7b7fcdafefd3ac81044dbb", + "0xcb1bf88f145349f03b12ad36ba1e2654cd0490262d2686a0390f871447c2dcb5", + "0xb06dabbf192e0f83a2ef9a5c64dd13ad925c0ba3bccd49ba4b9a8cdaa03e0f90", + "0x03a872389b9add1a56eb0ea9737e5f6324849c3f9a618052671b48b11a9ee51a", + "0xd3d865376c8affae8ab310e5cb18c45caec2fd3c8ae2881f06b8229b5855a69d", + "0x4ac61a400ea11b5470f7d2fb3429ea1dc3d4873154c3f7b357246deca3ec4f68", + "0x8f14c907c7bf50bcea75ae65c7d62e66772e5ff15faf430faa5898abbcf92363", + "0x6d151ff1347f6204806c5349fa3dd19bd0221a00773a3c5423328cfcdd64bbe3", + "0x4d4f747eea3eae7dc0423da074e257f523ea688874bcd3afc28e0cdfeab0c7a8", + "0x00a6c2c059ebb164a9377e084206ac5832cc5297cdc0200ca86762e31be4f134", + "0x8de486c426447c83cd81c2f4200e2026abd8833f2803da7568a9ddf11117aaf5", + "0x6ea90881d941139490f2d278593586a7a229ac789532627569c25af254539415", + "0xcb5f64f11bd0a0907b26e13c1f0e22f755907334307c26d2427a387ce70d482c", + "0x359f8609c02c2ef873c5524687a35f1608c71eba9d34c0afb2765a6519e4de3e", + "0xb65483aa05099003d212ec7bb1eac1dd62165d67da35ae1df758778591a778f7", + "0x6bb00536c7d49f225bb7eb094fea16b263549b585c019293dd6018817a82c100", + "0x2566da7d2213e0157c91b6e6644a17b978b93feb2b522621473c3f7bed541d76", + "0xb720814c561850a476c1070fa9fdce8a7fc4269bd7c56bb14479f4b1636800b2", + "0x84932dc6d0879e3b01bd311362403854fd9e4b1690fd59c323ba3b04cf19a969", + "0xe4250b66c3b5b017603e06477a5c252e9596595fd3d787c298ad2ac45e24019b", + "0x3941e8083df52e04e2a3fea6a6c310e558e6747146e676dd0e5942655e9ee3ab", + "0x2240c0287ef3b987e01d00db447982d5143fb272b9846b1af226664197c78292", + "0x0bebcaca64b07b7536c2f6fbfeb9d5141a2d8e309dd942852409bd21d17cbab2", + "0x4e32243bedcdb9f2a5c7f8d423d2a8aa2b487f23b1e3d7d8c220aa4a55cc0a9a", + "0x279a114f51480e923292c58807523e7da08fa9aeea5214f09d27dcb229ca3b1c", + "0xe7a4d1977c4aa7b776bf74e46f66c2e15589c67684bda719e3a6526b90bbc158", + "0x6cc1f2a3880c2aa41d11c901ba91926758e252ce1f148c51a769a81ae34303f8", + "0xbf9e7f17c786e48f5ac09b605da6619ae50788bea08cd42500835802e67b8729", + "0x8a6b70454cda7934a39cd374405f3f5f7c39977273912abb841c4eab738b1237", + "0xb3f52f9b2f7e6a37074d1e20751da4b4fac4fbe0a91386966670631f2a545f7e", + "0x7ec81bbdbbb56a40ad2d00ee6f34110ad97d9935c7dad83d7968ed5512ebdc7f", + "0x40a7df3b63d2f7c4fb05e37b1836dde00becd7166c82fe0df45bbaafa8d7d338", + "0x62ea7fdccc874b5f39f0290e4c0ba8b7b0b5eb12e2a83734a1e236cc87e6453d", + "0xd990e2aeffd23a789d298673c88498322ddc13729bdc6324b62ad6e0a6b2d939", + "0x13f5571d094bb53856ce1e6573a61dece7f32e0f593da75439d2cc59690828d7", + "0xf003ae90a37ca406f346082ff47df498cbdd720e2ed487277f31bdfe495fbd5c", + "0x1ac6ef95f6e007da86fcb50652491da28924854b45cb4d4cd8d574a5ae6da337", + "0x55f27c6633a639527034f2889551243ba50847721b11380bbbcae5ed9eba7c1c", + "0xe9f06076dfe328442393dae25b8fd8667b52c20b860b619947aeb758b5161288", + "0x93665a5b3ff727fabed298a5117a07214f44c80369c12b788e98e50adc9af06f", + "0x214b1e759711d63acd3aece629f1eb5d207b306c868cac471b40d4a264c425c0", + "0x88d2ef86af833ac6146fc687e93972b5f59089a0aadf14b7a731d60c1dc0aac9", + "0xf30a23080c5cb8a76bc1772a811fc7d770ac0595c7b52b606dc660965cab5218", + "0xa136d539a24861b4bdfc4f156347b436c2ea0b69d3e28f75863ab6e90d485e6c", + "0xfdcbcaf63e67009e531ff489c46b7a1433107ef7a54274190d4011d3190d34f2", + "0x70b735311bbd5733eedb484d4d11f88d3de47f3d14afa4fa182525801991f560", + "0x0b7cfa03f5c925257041b19f0ded62df6c29999d258b164592b54badbc0a1ee6", + "0x134e8d9ece216b70d69e369c28f38eca6a0c61b1d1242dcef7b576aa4ac57d3c", + "0x5dd966a462f85da54f3d1dc30b5a629977fbb7c279f754887bda19d89177ac31", + "0x4f2700f4b972c826c3d6bae610c1bf21f716ec99a4b1e1a37bd778a37ed1d81d", + "0x26e86dbdd46fa58dc7c0f23e3402def08d7f09b6600a012eb7503e868ef82239", + "0x1f009da6c2b59286201b3c12a9e52d821e520bb067ddee3c6d57b29b60394c16", + "0x36953b01dfbbb273002d819beb306d703688d6ade4430f8b258bf925c9bfcb1e", + "0x7a94d795bc76fba6899dba6b677d526dce7f01518f4cc8cd18bdbfc31a778b9d", + "0xaa8ad1cc6c206dd616eecfc976cbf2caf1e522facc73ca9d9494d89887d1e302", + "0xc8e5fb05d201e951af9be69c7afbff266cdb11110ad69be6748da319757596f3", + "0xfb394b3865fc15ebaab85682ebe8caf1e7a6ae340c127d9c6675447a8f87807a", + "0xc978e59542a478bba83a9890692f0ae88a0bb7a3df30b7cda0dea4ed7d34eae2", + "0x00832dc5f938a74505d93d3d5c4ab78a50752d45d27eec9ed1ab7a462abd8990", + "0x31cf0cf7fe510d6bc4108ede74063e1bdc3113a21f0212e5c6ab36eaa1faed37", + "0xdc87984673693bdb250a1896305262b2346ba3af4fa0676eca2eeba52eb040ed", + "0xfc945bf877357905dda2af20404e426a82db019437bf1b59f60b31bcdedfbe55", + "0x7f4cc1a12ef5979e6953d3e40f40a4dc932c6c174f183b30f701e6fa4f1b34cd", + "0xcbb31cec8319fa2fea3e7781f981e98aa0769ec751b2e97888b2bd2b5e5d8e58", + "0xee48275f37a5306d7c5d52a1ff2200d3150248f6c596994ee0e78fdde42f3811", + "0x5378d6d66892ceaf1089db912d546f565a2993de54e82eb548545eba7250b31d", + "0xbff7a5b25847fb689db38926fbba529b66374886952d641319cd8fb85731c58a", + "0xa2b4ff87dfb05b3cb88ac945706ef5e82765d11536a428c2ad27fecd19bd8947", + "0x71be8e30b0f2cf7df16495cdfd86e0012c5bb8f728374d86e772d4efa2beda20", + "0xdfe133c543e32cffec7bdf9febab7bb0eaf3d213094a102e4a1c21842fe7afdc", + "0x7874bfed2ae039536a7f92b4aa6f7b7f231152b04895ab0c6efbd3505cde5ae6", + "0x86f49a60e84b885fae20af792a164c679be96a5975ec83fc896cfe19a27a3181", + "0xd1f4af1826401ec1636d039bd528e496ac7ea3f181205eab5751778622129dd6", + "0xefa40fc9cc91899653d4218b8473bc49c3b64d84869cc996987729df1eaa4219", + "0xbdb65de637fa89949f69e6b39635e76fe3da079179612c8101c92df404388e6d", + "0xe13e4e0e93cd3e9e881688079ab5caeb603d53f3f8c3f159a3216dac654003a2", + "0x5b3bdd265d4c516c62a9685cd2e6343c3b542762f45d381aa10adbe4cc2a8ca1", + "0x3fbe2934edb9b4c74feac47a10c34f43c73ce9c04fd4aff4da9e9d53ae1a3b27", + "0xe7f738ca0d301c92913c1c5bd670f2958bc3bccd349206f798ff38615704da02", + "0xd6023f0729c366624fc9581e69c8217352113d2b15e8824d36b05fef5640d228", + "0x2a426c808ee5b9f8c405875e564962a318666acd06bc6942dfc7a4960dfc0a78", + "0x1346589ec5380ee0dcb41cf0af9e8b39a7395a13b94b97150bcc11a71e2b4c1f", + "0x2fcafbf9b787434cf0f745acd8d880cc553a432810acf1bbd66b433ed11c2c18", + "0x33290d023a695c514e8dc94f04719532e377eb81790e288a0b017312b41a0ff5", + "0xf8befaf58584c66572ce8251e42d002cfc5355a9efc8d5f9bc9088a1f7b9edfd", + "0x1f9f9f7a63d43d358f2499ce9b04ce9f0a4b35546011215fb83a22e68df87844", + "0x9a9c4815d5827ec055e39ec001252a5035e6317a05b508bbc3e6907b53109706", + "0x3b277af862fc12912cb482182175edd1ad4dd7f15b2614e0970c3ea09d1a8de3", + "0xf8967669bc80f68ea5c966bb42117851d80c18e81dfd184efc59491971a9165d", + "0x00814afcf1ecf5f401b450afcb6d73ce3fbf6338e8bc4dcec4c32d5b2ecc6454", + "0x63ce5390474616f8b3b70820e67460c6fda75f41f2a2c66ab467b0c311733f3b", + "0x176619adb025ee77960fcdabada971e20bd2789d8e3cf045c03d4ec2e97b2f79", + "0xcd01a05497515a98f69a8a48b534ea1e741bdee0dadb2a32a97c631212e2e5a5", + "0x0b808e84cb0904210581a81e312236efed3bca37e624f6a6c66bfed4134ebf9b", + "0x42ed1705030f23cbf6525095491f6f82914727b116c85bc24ebd9d3579508554", + "0xeb6c3c39f07929e4d0a2ae0a8f9390f2f286f715095f31f82b471cc3f02ab770", + "0x6d0b0405e16a27285e6645ff8a29e05a6f8d4a4ada9ce08b729caa89af96ea48", + "0xc02fd4ca15b5c7a0eb193e1a679fef5ce2cc9e5732209c8739b31cde876b524a", + "0xed2560d142a34db7c5b20125882fb61b8edc1cf22e12c81f860c47a1239706f2", + "0x9f9d607cb7d98b099460c97bd9bf4abe27524de0aa0494068d52cf380aa36293", + "0xca530177bdd648a62d09f77f03f134e3e3bc0d64bcb93a335ee2ca73d73ac2d3", + "0xf2bd87e7e61b6efaf4339ca27cc8d73df9d3d71799bd50ce1465ce9386350023", + "0xfef3aab8dceff11c8cf8fa282e482c9a4a7c53c471a7e329e9720bf917f744ce", + "0x56002bf72faf92897f58fe2679e3571ca490d6c036f724a80b74aac20970641c", + "0xb207591550eb9be35178a224e6ca46ec82b2a6a019bf961f13e7df2026009b9d", + "0x2b52868f8b17ef786cecd0a9a4fcfcee6d9551d4c9104a5ab8d8eeadb707d2dc", + "0x7c4acd1df61f61cc5e2f4ee9decc296d98f3f3fc89ae66bd07d41c84ff56a288", + "0x30adce03c6c2b1532e07e33a24c7f73d08feccb5497e33910226388032a80812", + "0xc79ae82c871ef39b9558c1339ea365dac86469a1165fa0d36b7775c49d3ac7f1", + "0xe4e52fb5b9f83cce4205f09f720c5a4556d0511e20c5c3e0c63f9a954a010adf", + "0xf53f57bfaa2aad6de5fd3f236bc8a4361e2af82fcc198bc058e5d7a5bccd0a02", + "0x5098a75b4dd1d02507416a6e3b8cf0b0ea6cb15bd68420ebc3b7915eb7839f1f", + "0xf9c0e2cbce9fe64623de15c2f85d7c3928ab0b37275660a242770219e3a96d93", + "0xc5b62e1433192d067cbd106d3c0ca218383ddbf14c00c9a13d56449f2bbb3a08", + "0x80d8820d2078d42c1a38e8d6f9f81d58cee3846aaa899261ee1ed85ff4d42533", + "0xd886a4c921ab8b11a3e855a7893664f09629814ad6df0f3bd36cfc37a42a0bbf", + "0xc1375c4f051bd893b5e8a3d768f398b396efec9c4b0e4c2b0d352bb69c9fb394", + "0x20ae02c26b613b05737e26202e18100c3eeeb84c078bb3d4912be5cd99787a2e", + "0xcfa25f8226fe9e61e35fc2ed63a52f2b2a4c3dee8e192831f7a0cda7b77022e7", + "0xf1506b0bb1dda73bbc12eaf379580952e65880b0aef361231d8686619da83b9b", + "0x0033b129deb9e2591fd3375084de6f00fc3f72d37911eb2d623820de7c03ed9c", + "0x245b2677360776f20b01ae7278b41980a63eb45cf6f7566f5804dbcb7e3ea66c", + "0x73081e452c9aa38f130ad22fa653519888b429d3e1aae6701fa5407ed088872a", + "0xcf8224c7675985b9d8411694d881a452b850c3d41331602c6d2ddc552500d9b6", + "0x8278bf3e350fa2532dba0e7082f64bb1fc08f3d2279525545a62ea488835c756", + "0x134a0e1ae78dd0da790d1dc3b1710caaeb3a6015c82fda8efdbd1e5ceb154767", + "0xa5a77ceb096cbc27b2eae356c942fde9db8d72161e9e559ad6376143d7f4d609", + "0xb34c9ca03d44c2512795c8572527f6285c3a6e954cf17668c51e8f22de24efb0", + "0x7cbf51c29022b4cf1e6203cf1322481a36f510c35bc1d78d972101e9593fcdc9", + "0xc3162682c647172119a2cebd3ce42fab8f20be84b20b3c4a85b4b2196eefb80b", + "0x4c8e78cad3ed836eb63af411b683a3d21d7a854004d026ee928870e7d8c94239", + "0x92a9ccef236e16e8d527f9b4e25861a670763b2845b9e7f2831d83f7411c1bb1", + "0xf82d9c2c67a3a6050a1003dfbcdbc6861ca699d41b2bdd69099196122365e218", + "0xafbe03db4a223222536b6ae7e65a66303bb2c89f978a49db05dcee8ce3eb9bfd", + "0x97db73ba455ac03902bfa5335d1efd1c3a08fdc5fe1bda5c402413a6c6bf6439", + "0xe87c9f587da80c6ebf6416e7851fdbd1a5e44b7bf68b7b5b93cae18f5b71001d", + "0x04977189709d5e8243e2cff4d6e9bebae049fcd78854c414276049c1dd8899a2", + "0x0dfb0bc4588450ba7f992ac46b5e68b740bc2373a944c70a440a25222451f868", + "0x2092f8d8303fdfd369f4a24ef504a9d48acdfdfab2e37115d5778a0adfac0082", + "0x19d81b509c576de5a558f9c8fb929d84fea577428fed5af023a7f7bb502e3643", + "0x935fb703a9a030bdad9db265cb3292c2c9a038f1837e049d1d5045b09047a4f0", + "0xbec9f75266da91b02a2d1b5f5b5449f7e6ba28ae402979af40a83c9b39cb483a", + "0x320c3fb2a136d04495087d27b0a5dc6ce90bf7a1bf15ae65d48146a9661f2aa9", + "0x364c285cabc386ccf0140bd24bbc98e37a88b6f88bdb7d34ff1d4a75f29573fc", + "0xe595476b0844351af48748f788d15b53eed8507c6c45faddc189d602d8de1bcc", + "0x803f52547a1ca56abdca4b4ccc28bff586fb3372d9bf677b3ca3400184d009ba", + "0xb90914aebed7eee12fb7d25e80c2f37f68dbf2a698faf2ac92faf0cffafdaf8f", + "0x129abb430b863be8ccb3e33a3194552ede9eca4bebdf34d6b53748213a734ff8", + "0x9a6dcb68b7b37e705ce7457fb1ca954cb5549eebcc4397ed29083df51362d779", + "0x12bd07e3b6ae0add86cc1467208532430c0c8d7d0e832e9c05134b07e46d1768", + "0x69d228b5d0f85a16596aff9f2b51ffc21497d4331a0c9b6fc5b3b1834654df09", + "0x3cd093afcf1b1588b12da25cdbeab67cf99fbbe9df026f78d3abffbd378eff6b", + "0xecb8e829dae8134f700eec6d11e0157bd761fcf0779bb603cd024d0ee8496717", + "0x0fb6faa0e9b556d1ca1e91f56117d417c29b7368445c18cdd0bc5060ee6c86f4", + "0xf126590823b117b19491aae44cdcfb18a3e130f00371398a254c3c3845ff0592", + "0x5f2432d15b4f94234961ce9e6165e9761accc88999c523315001340b96227519", + "0x60d53f01e91fde0da7f3a05a795a491466a211d6cc91e9e49e42d5bc4bd78606", + "0xf575fd0cb12b72eec6b639210f04b5bbad1a7c806fbc6c2c15ea62f97c2185c3", + "0x3ffe76eb15010487bfd65c38db0425d5df9a14df60dfcf0849bcd540aa1300db", + "0x6dfcea9390145d196db57f5b427d9c5e89f336a5bc81bdc3a4e246370feee2f0", + "0xe3c2e58ff9ff293dd8e2084b333bfefb506382848b1884ad03546f457f0559c2", + "0x807d9d862e2b760628b579b66b206ebcaf247f3d041fd9863fb375dd715b74f6", + "0x11e8e648599d5bbabd99f3693c090d95a7ebb66b82e5ce33ae47f7b570154423", + "0x4b59ea6016b208f2e5bef0606a7e81f05cd679eb7635db9e27e8458980281dbe", + "0x5afe3f29cd36132c4db3fe0d989dac1eb5cd6c7c4fffd22a03691a695df95489", + "0x5fc081154e1402309a9ada4d39f90a083bda62aaf4e643a58b2a1bbff8c030c2", + "0xc8f835e4abfa2f4d3cd3e1f92ed878a78253b828ddb8e89300e3de63cfc01775", + "0xa94346dc4441d16b65996b0b44d1ee7b737f75e6857d22a7a03f5cc9b7156c97", + "0x7a9d66965c11cedc5af224b42d407423d56dc291f9a6903f013e4c2801e28f94", + "0xe1592fdfc80452f70c8372bf59824166ccfed92ca6bbfb0a7f196bfbc11a3d7d", + "0x5800287a2051dc265161d6197ab2f0221dfc918f1b37b685f8d23c66af24412e", + "0x875c7d11313b43a3b2df625bf5f0f816b2743ba44165fda1a34c0d3c9d53c54c", + "0x9d87149d991d4a54cdd689e156c37eccb9c2e3022cef97d91bc04667905f8a7b", + "0xd39a5b4c38441cb4a7dff3a22d8ab37691f21dc3af438f4a1591058c214d1284", + "0x6de58f2f7f2b3f756b6c3683596b11c1b68235f032ff31561f92c6d2e0d31575", + "0x0d4b0e13f898561309b8b4ed0dae1f0698d4433aeb81a4e66a045b69c4356c94", + "0x82e58ed2c7e584e42f9f284a1171461338cdc40661e5457ce86621fb9939e3a5", + "0x0f6af8168a7e2e6f35539a5477d9dc4901af3eca6e3257d7f0ecc0b573bf2c73", + "0xe3eb2cce31d8e65106536c608a154388fa00cc5a481ce635c55eb130f021f218", + "0xf6829b8da3ddc1f71b3b14ca1b06c13e9e454a364899c4ce726d3b9a9b55b1ca", + "0x248b513050ea763394365a1ff6a295b6648fd1af0a5703daa7dac423cf5967ad", + "0xcbbd5076dc646780f3e582343c66090e477e32b56210adb84992e340b74a798d", + "0x6e844d7759a5aff03abb0efcc0cd74285a20521afd06c0ff98b82a2bf17a7224", + "0x116a574a2fd13487716a1e3bf78cbbc998dd5b3604caa567662055de8691a459", + "0xfe36c7f148af1c056b913b4f52c8dc4fa0e6cba42b1e7f5204c1d300f9ae1ab4", + "0x114da06ec0e3d1b14027802c9c3bb80922213786464dd5b6a1ee2a12523761aa", + "0x9c451c4cce3cf45b173cf2abf03ffcd11f5d471db49c5abc66603795c6c55494", + "0xd0dca6ee9e3cf1d9277aa5b9a97acf7a45d63d0f76ea8cd84366e2c787489061", + "0x4f93256e5e4af9d0771ee8cf5cf84b80d2f7298a76c77ddaeccd835d4717864f", + "0x174ab2c74403d9538aa14bb0549c33756095c78e647b18eaa818790876996f8a", + "0x0d62cbeb56e7c3db3c6845badab75d504695b40ae7e8b1e6ad13097f5cf65154", + "0x70c96dd19bca237759ee01a00ae6ec75873e2c1384908c86310e766e8352c299", + "0x2ba3360edd065360b551e07aac2fe6a1b646fae955c29d39c1e981b8b8541a72", + "0x64400f31f7e3deb29c6f22aee609a502db3e9c6c9eebd5a93087b6a1636d44ba", + "0x255c5d43117d4d6e3ee88610b3fa54a679ab1eb358153147188a5fbde1556db1", + "0x290e2c3125591d2f128758525955799fe08eb933dc0e22519810e63a10f0ea69" + ], + "cur_hash": "0x3c869591ac4295afc75154eaaf7a8b59a41af3cdcbad9d8c48fb7ef9853f9ec6" + }, + "withdrawals": [ + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x119204e" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x1193fa3" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x118a669" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x118d295" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x1195db7" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x3c46d9e" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x118b8bb" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x11994d6" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x11822b1" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x118b828" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x118b7e1" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x117492d" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x3c1adb5" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x11713d0" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x1197bef" + ], + [ + "0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9", + "0x1181b16" + ] + ] + }, + "checkpoint_state_trie_root": "0x319da7faf76836d1ca1c48e0540a97c0d7f2515b7fd7be7dfb1aef9ed5dd588a" + } +}] \ No newline at end of file diff --git a/trace_decoder/tests/data/witnesses/zero_jerigon/b19840104_main_header.json b/trace_decoder/tests/data/witnesses/zero_jerigon/b19840104_main_header.json new file mode 100644 index 000000000..b2fc74151 --- /dev/null +++ b/trace_decoder/tests/data/witnesses/zero_jerigon/b19840104_main_header.json @@ -0,0 +1 @@ +[{"number":"0x12ebc68","hash":"0x3c869591ac4295afc75154eaaf7a8b59a41af3cdcbad9d8c48fb7ef9853f9ec6","transactions":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","totalDifficulty":"0xc70d815d562d3cfa955","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","extraData":"0xd883010e00846765746888676f312e32322e32856c696e7578","withdrawalsRoot":"0xe4d8d88a7e20aae7598822ee098c466e93c501377e1d302013f9f017944f8733","baseFeePerGas":"0x1aafac7f2","nonce":"0x0000000000000000","miner":"0x0000000000000000000000000000000000000000","withdrawals":[{"amount":"0x119204e","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd96b","validatorIndex":"0xfa8ea"},{"amount":"0x1193fa3","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd96c","validatorIndex":"0xfa8eb"},{"amount":"0x118a669","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd96d","validatorIndex":"0xfa8ec"},{"amount":"0x118d295","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd96e","validatorIndex":"0xfa8ed"},{"amount":"0x1195db7","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd96f","validatorIndex":"0xfa8ee"},{"amount":"0x3c46d9e","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd970","validatorIndex":"0xfa8ef"},{"amount":"0x118b8bb","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd971","validatorIndex":"0xfa8f0"},{"amount":"0x11994d6","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd972","validatorIndex":"0xfa8f1"},{"amount":"0x11822b1","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd973","validatorIndex":"0xfa8f2"},{"amount":"0x118b828","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd974","validatorIndex":"0xfa8f3"},{"amount":"0x118b7e1","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd975","validatorIndex":"0xfa8f4"},{"amount":"0x117492d","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd976","validatorIndex":"0xfa8f5"},{"amount":"0x3c1adb5","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd977","validatorIndex":"0xfa8f6"},{"amount":"0x11713d0","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd978","validatorIndex":"0xfa8f7"},{"amount":"0x1197bef","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd979","validatorIndex":"0xfa8f8"},{"amount":"0x1181b16","address":"0xf197c6f2ac14d25ee2789a73e4847732c7f16bc9","index":"0x2acd97a","validatorIndex":"0xfa8f9"}],"excessBlobGas":"0x60000","difficulty":"0x0","gasLimit":"0x1c9c380","gasUsed":"0x0","uncles":[],"parentBeaconBlockRoot":"0x5ab8b5a8f53fb6e010ee24d46334a9ce1051a5ba1691b6383ce8b2a03c10f158","size":"0x4aa","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","transactionsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","stateRoot":"0x101798b8e9f085f2faba1e2749df2916029c6c507f4f388c816ee6f9977a0a98","mixHash":"0x2e5e4c5b459345002e2597c5b8b556f0fb51fd9c6c45f7892eb98cb4de973795","parentHash":"0x290e2c3125591d2f128758525955799fe08eb933dc0e22519810e63a10f0ea69","blobGasUsed":"0x0","timestamp":"0x663e28fb"}] diff --git a/trace_decoder/tests/data/witnesses/zero_jerigon/b20240052_main.json b/trace_decoder/tests/data/witnesses/zero_jerigon/b20240052_main.json new file mode 100644 index 000000000..7efa3bdd2 --- /dev/null +++ b/trace_decoder/tests/data/witnesses/zero_jerigon/b20240052_main.json @@ -0,0 +1 @@ +[{"block_trace":{"trie_pre_images":{"combined":{"compact":"0x000366daf1e7d1d2eccff1c93fddb0e1124c9c874f2c7021929334420e2c7a92cebe0347f914614ce63e9002b4d04cb128d7900c55bec2cde5b8ef95f60f2b82780d34037078e1dae84241ced4930bb01bf9997ca43b3e42c6d9790ffad3733d010f7ee503415029bd520dc0868b562e80ae7069f44b50a2f5eed9aa56918546bf027bc61d0321089f7dba92c61ad4242fcdfb11a5b90302128690a48dfe46e67bda04d068d203e738af8844fffc4cacde276844f9c758d465ec7fe5bfdbcabde81d023278cb1903f3aee5f800ae722a10bfe7110e8a466dfff819a51d32245153fdebe75981038903925a161b9b7f05229b7d768a3dcb17e6e6880d9d0ed647e5d1db0025ff0cacc40344b4d022596dbd4453fe37464ad7ba2da142e2316691d3d8f397e15ae813adb20347a0e385216b7d487ff313c5bbc8d552ed92629b6d75cddd4ab6f2c3f83db0eb03dafe2c255d4ac5c98a2b074c3a8e32559b377b9bb527edb5bec7c4487a58899003d02fd9ba24fc4edf41f0f5732ac219e2200bb40986f0dc05ef6581835a70b1e903e2e42234247ca08cc52221f7b333867c9e75cac754e626fddfcb5d3360c352a803b15be6df2373dcbc915a2d9a0399a53d0ced290ee26d323609791124730a060e039e03843f085a8323c78700de12bcd1cd02042061ad5b63c37611c5c42b0fca83035a0b0f3f77748691e0be8c27465a331ea02da87f4d7bf23cde53f0ef3e538a0005581e038cc4889bd6ffc00aea7864698f5f6d9530ef56511e3d3476ff45323a900c01470ea76ba9f9ae2805581e0310d670954ed461623bba6120be1d90054c21f3a890a0cfe180afc44760040303b717380f5c9a74d593369fc6cef2762a8f31b2801cf341b973dad0f8af7b8da303b996fde385ec29d02440d27877a1d867c730b4a206a43dcc41c4d054584f668605581e03b8ba56bc935fb64982973674296122dd0a43057e4eeac46486154d6d1007011bffffffffffffffff05581e03767ab31a278a5b18698715dc5fe59cba822caba94f1d94704f357f65f0040305581d02f04b7a2a0b38506181cb22935b934c1a749f105b8b21cf876517186a0c199b874804a0188a6aad59a305581d0291c5589377d0874320906dafce4328df5ec2ded41d011e8d5438bf590c02472068d8e67d29bb0219420005581e0344a7a4e360dd6eec99f0967858db653971f5971b8333ac6a1646b86e300c014702fc918192fa3b03551a5b404ef1b67fa281c72904e5945dd6c41ef856c291e22d1b3c09ab9c5b03034c05bb40882909d539ef0488d023821ee0b81e868615436411b45c9dd19a332c01410005581e0364d9d684136cab790f1cd9c128bb11d4917185268e322364826d60bf10040105581e03fbda5207da0a82c63f3187ae33c4c46c06fc9ba1f649d98b90247f2ad00c014701c06181dfd0000219edf403ad42f2a7a20c2499724e32ec38ff74ae387e66821e9e4af358346c7705fe173b0397393b4bcf664eddf9f28467bc863c9f866ed887e2943dfd71e688f8d7c41fff0316951b3be11323d1de8f2b2b0ad031371fe47353754bf9fdcfa2be297791b96e03f84e1a1018b9279759dd7a1d13cb6c9fc0ca409a5a0f21a110879d3354f3bf4303bb14c87f7bfa6658067c586e50289e22c0d148a015fcb6d95a231474af201d4003a4aec5a824ce6bb2f43aa96e4a939d1d86c67e0bb72257a024006abcbb2c77570219ffff034852b228d7595de5368d8b53e37e79e0a8bbe64df17e71b0b080f22b2b1bd88e0375bb131adee0f72e1e264bc1162ac1a8f792ea264827b459df1cee532d1ffc0b03999e8e62daae5337ea41772adcc3985870531f73a2159bc0edd305f9b45b467403e26d64863f76cafa0a0a685979492b905c5c7280c3e09d76fe35d9ce6f0779dc03ff9e067699f52fa96127099b1aa5aa3dd817e881088a200e73eb3f6fe996283d034d8506a356963718b7702e670d10d0f8146e27f8cf565d0250ac42b9bbae56a503033bfdc01e3298133df91a2677e322a31ad6575c1d1cada4b4587a15a0d6872e03a834dee733c68c6ef418a28485ddd2faf1b49087ac946b9b43b7be07e33eaf730333fae14baaafdea5a51dcafadc40e58f1a251e47a7b7c2f9142fb061a6df8d5803335b91829ac0c6354e065bd6461646c96ac273adf873cb62ab98fe3b708bb397032fbb9c92194819e713a52f1f23e924573b57a2ba667e9d3c81992a9ace5f5eeb03071ee699a7033cd803679851198b46c8f684e48aeda1ed5f4b016445cfa6cb560318fbea2f85150fba55e072fe1f254e0f32d19a686ee224d0af2af658e183f9950371114b38dd016dfee4d777dca48e5eaaa277d5ef6a9f6f2e97e786b7eb4a895603290c2e143300d81e28a25a6b957a3eaff756adf9fb27c42a547623faef2983d50219ffff03f042923a05a7776fb1909bf2f8d4ef7267df453e8b19e68f51e35496e5c4a3a3039ef9752d3d3f5bdfb5581a20495c175c2c5a68ad4eebc8c246e77f51b6fecc5803588feb1a238d0560fb19445732cc3be4cc1e2e58e1365a4bbfb62b42bdbc66d203684cf5e81ebd15f4ef178e01204d34e1b7efd825bd6dfa215e71ee80e6a9b7770304103330aecdbdb1979b2d8c0a4408f8f5f85c9d3d492329c191576c6ac3fb2e0384182695147841ffdf0ba277a4ba201c7a2cc42b177153562db4abaeb2029ec203c19d4ac8851ba7d0d294d41ebd27714f0d8d2099bf7eb9b6d16cd3ee288c3d23034409f2d1beff91b06d7ee9b23f325a0f7facf9c41f7f92b01d5bb30a3b0d497803ef98d8b644b7591f5a55fdf7fabe6316ebd03816cf0c9a6691c22b3e49281366036a9ac80448db02bb4e8c7a7bbb99f1162c0bbd841076b5eb7e472fd2e6d99f3e03e2db3e61e53a740eaa2c9b292e25de9969b52e78f6300cc70ef17911797a63240336746340f16f17648b2580b4471bbadba117f960011760367646dfba16bf5ff10375bdf66b5dda34eb4f11d583e5c6c5a15e1ec6f3ad54b42cdaa27931b8d139ae0219ffff03df7d3888a2966a7f37c7bcbc1d5e79000922cfb75352bca5b725184aef90da1c03f1d4b5f802682bdc93cec4fcbbbb0421a230db1aea5bd4c25668141e8ec93f5f0381a0e4e01bca5ba7cad6c4833afddf6dda946ef52f015798cd0217a12b423cf903eedc29e17b6ba231ec1fb1e5429824c58dd0310196bc72fb6ef75076f0ab07c503b14fcf7dada2b9d8d85ef09bcca03c716d9aa23c9de5ef6e19f6d013df8d733603a5335df2c25cd777272053cb3e1605657ba55d26407ee01d65131f34a31831f503adeacd9239424280888f793ae6510c6fc64598642b24e3766d018c65442de57e0320a1445360f37fa5a45f3ee707d584ccd1009c377d0ff565060d2ec506450edf037fed29b0a5cc04008c237bf0f1c53f562ab6af7009ada11f86148625785e27a50373eb01c16f0be127788b77ef0b22f4f4753579620d5f3ff77eeb88a4c3effdb203a2acfcd131084ad0f70e18e4538babdd6736dbc38c7724b96bbe29dfb18dce8603724738521b0020275ec7c2efc3a4aa06412ae0ec12e995e4038eda07bf75bf130370e859e390a4fd270533eb5ee17b3fa6f535391ce4b4f2e2dbff56e55720162c03d65976db7ac48b52dd8c950d17b56a9e49cf86e7041a1e4eab121ed6a86d36ae03fd1a5365c18ee0f4bd0e96e2f74ea02aecd997195ab1e40ad55c010420d9a07503231f663649c27da55b2535d6e5603c4edba47964d85c94bff7820b5639510fd9032b8d5c37fc8f209c8ad9f92c8886be12170bae5ca641ce1aff167eeade2b571c032b4b6222ea88621311131ee68a0e388d2b9829f7638d7588db47bbc48dac2b01033acc6329343a327d1ef0300070f13b1715c82e84ae36f6690d1d66a1720858ce03b18f9c4a29ab8adcc738d994351e03f8002baf3b6e28ac6571e27f8384f3da7303d035bd17bcf7739e957781788cb3a12120613bca04b15f913d9906cb9a3e146d03a21a09ef7bd30ca7bd6116b31e24b3706e468daea499c5fc1211f5abbc5cc1d703e269e974c9ee5e5934f7e92e6376ce2797d9af58ba475ec4d40b754c64aa600e031ef20d55b67a471fbf9ef2167f551976002f6ac36929e1ed3a1458b402a3e8f005581e0327a1bef173ebd145bb9a1aed8ff639961d5fc1e8cfca974a6835595870040105581e03d19da0ae833643c3ef08e0cd84a49dbf8f46c715636dc5b4aef40e58100c014703fd13789ea20003ce63226f8f99ac737e0f80e0bcd54eeefa1c74f810685c09f68c8631fd53c17703646c2e1735fa4e5b24d9ceadae49bf04be3d261284cbf66aad018619ae99ade603905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581d02b3b08d07cae7050f64e9cc4b4552e217a8b2e7a95c4bb950fb72fd0407011bffffffffffffffff05581d0235957de672ec7ad0397a1cd68f78495755bf3bf3d47a258b5b29bf080c0347c9ebd9917a8c00020905581e035e7fe17b540fabaab9024a5027de9f31bc6a73094099d24584d1bf5c40040105581e03354d029639e92ffb0ac9ec1f76d9ff8931973ba02a7d5a8ef6337fb2c0040105581e03ff0ffd0c4c830d9bc854ac7da6ad9d7a5b07560da662afbceff9445e700404021939f7035a9f7bcb31cbdf67cd0b04de2f6e4d085336be8e53566e372d6a84e7cc27d7ac035ae25f1c255f3cdca36500fac70d2547f841f838215e8184389cd6be7b25b7af03f1fa79c3437a1b1c352781606a5f739368588017df6cc38cad8268ce3b4822c20381457747950b9b426b7931db1f1c42d2f3a5edda9b7946e90fc39df3a28c3016038d7f921f8e766712dee6a4a0897eaaf5935c682ee6a0c6a8b703f6edd0b401d00219ffff031360bc1b132c513e17e6e005720004badd78d732277b747003a0f24661a34bc803093579861b6c2e736456ab76d8d275870d7c0a919d76c07f070ca33878dabdf203d144db3cca3e404384efae01e163c33b0eb3cc58e009c43352adcffcaea8a6ee03c9d23479eff48ce33a47fedc68e92ff90e9b73933a3c598f4556afe4ce381395039a16c4d6f7681b781758b2da52122ee2121865de9d87576518ae183d641083d1032cda940722ec18794683cd790c8db072fdd90844cb790868035c9f314a959a69034e35d7bbabb599b27ff3ea40d298954b2debe98976885a281439fa856d95e5d003ad61cc66247b8bc2d278a18ae4740702a4410bfaa4e897a44dbc795f6dbd644003925d5ffaca9689270fbadbb66770138539ee4b3c04668d7586ff8ba5c84ba65d034b1193fe5f0fbbca89af28d8d278d82d501c0710c7294e5bd9718637e137c9b1030d053a868bf9132abe41c0a9772ee32c03d2a10d1616470b5e36c9de64ee0b69034f68f48a2cd69322aaaab0b6edf434e982ae4905772804a99b37473070ddcb8703948a8d1625277f362f11fb58d5cf80f16a93d41d60a3ef11ce596c17f5956dab03641f95036810fc7d35e3e3b1099f927c74623c0cb8f924b9c54af0151b7c4698032c44913bab740d68abc7adadcc27e21410ef3081ace920fc52e9d80fb7c393930219ffff0376ed73ce9aaa7d64b7459aa5d04c7292506689628ef53c0336f6e4a69c8e390b03534f43b1159da95f3d3b70a2bf145151b7efdccd9ce14208c9b228618ff8c0ad038b1db638bffca1ad415b45f9922b25b91f0013229889a7bce67a18f71f3ef8c203e68cd9fca1f6caba9866117b65ac05d5f1a593f82c7bfeeb987a9ead2dd9b4210219ffff031302027d79f00c990d9da255a2ec2cd836a158d5cc75242b2932f5492e7c578c034bc1f1b3ee9b24a580abaa04a3c749fd7bda3516241d4fd4c92a912867a800ca035e83f85a3837bd265ad236aaed310487d2bc4d1d7b64cc4b6e5b1c9080b7aea703a3e1b3716ad37d02b9d7b3a69a7fec578deb56e55ce2195772ab0947b26adc6003e79ff081a0eacee84bc37ae4545d663631d10dfd47c4fda7c181bbcbf321bdb503dfaf9ca311f7551f6e4c9226da23b5d270c1086d3954130c55d6c8f16a8e8f8903770e1a8b52894554e978ea4c05bf5d4db47abe31feba11b8c286b6f303a28390030c8bb7bc139c4374a035604ae356c3aece2c1b1cd741f218abe1e34c1f9f51db03d1f9021d1c12ef3396698301acced557f8265e94d5c84381a8caef002fbc890103787ec17f3758a91abf583ed07d5d3fc0229e2d5595bf8dc44e7507524260e81a0219ffff03dc8743d2f22deaf06bd52922dc7fc1a26c106ad5db47325e0babf4a14813020e030f1d9bcc6dd68be2bd50c9eb5372b71164981546e8d6a60b1979a8459b2e877503252ec0189c25c810a7c770974a1b81bdaf5a920652980978ef9aee3bb82936eb037b3ec03674c4c46c57c5617cfb124c29e79f2ffcb574398c408734500fa7eee103e4ac7d1344d65d46ce8f536a7051ad5f41485b187906868effff0a4dc427d5bb039558b7a55b3a392498004e498416a8330fbe1bf722c8eb66433ec87e8f84433f0354021edf4d4a294203810533ecd10768e53440911e522a0b7bb724648c35971003d8d0a1f8fdf76243cc25e33b8da8bbeee2c980ddee8589e008de5beb4448b45603b5f0825c890af65c0feccefab61391e8de617b6c2de6cf11e3397a8d93d9e47703964f3d547dfbbf99b9f92b6b7a9224a09a9ddae0495df4b3682e889d11b46d17039344193027e16f49d07fd894df4efc627e05756657bb9232e7200a686021f3a90362ca5f230083057f876869f0536866398a8fd96c98bcdc919f3d2b1c6ccdfb93035f876f3be8cbd29565e632f6b15d786d675160ed403b2f10fc6f13a58bf33d8303bd476efc3b9221900a2d1d3712d5dcd48c2cbacdd47f70f0c6787e67b455dd6903bf2989c7344ccd192b1b10080e393be4d54afa627deb32117ea48c029acb89300371655e88cfb79a2f581d7327e657c2b1ffd0718fcdb4f3d06bf56a18ffdb51c00316617b47b16b6e4dbfb44797c175d0ec8bf64c49a1645bc45517a05dc480d64c05581e038b42d734d625238a910fe4612a7915730162f5f43848eea842291a08800c044701455b73b4e89803a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03e3d2e90d18b3fa8a76ced9541c38c1feae6ea37406fed336b41fff80beec514905581e03c674f0ee90b23183940b9824ade3a8504f2c4523c4e9079b04a97d3d3007011bffffffffffffffff05581e034da7abdd68572c9a1698b80f71073ae4681e56ab8d501fe113e720cf90040105581d0250c019299dadd2d4e9e505b8e2359101bc0bb49cedba2b6b5ea3aea70c05480106748cfe3ef32605581d0299a8b233b6ef3559679386751752854def30276886dba9b4346beb7a0401020905581e032344d6d5d5ae0f6e154d54e0cc8263d884f641694f4f65f194fc8b8030040203088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e0304248ff44c8bbb3b889de97056cd79a48bcf41f68c58fdfb5b2cf4bd4007011bffffffffffffffff03f8952d1b09adb21b7ed4446b5cd43e0bf241bfcc9a56daaa97bb07c24c99f904032a41557e95c5323a08b5dfe4274f3a9610736fbfa130630e2b23c6d57ddde68f0219a6470359c54447fb96d054713c94a1f5a7bc37773cd6789f1e0589a35ba772a443c8d7039201676e9e0b8708786c3afb5016efa27db4572db6440c1e7bd68eade53775a803cb86e289c795766bd56048982de2f9223d0f94532526fa08402059ceed2057600369e4653044210ffa20c4d0dc4a84ec5bbf6d96aded8cfbccc3f6c7490559521b0219ffff03a8ccc61c9dc17de607f6f6bed9ba68219658eab91fe2d5365a1db4eefa49798803aaa98e911a75afbc9f8024a6a09b07f4ca7233da5092496a9757a97ae441310303cd767702eefdd7b15fb5474819ad70e1cde681f7a9665e2b6684ac82d8443904037333c46ff4f0604c8b8f73d1e1bfaee712a066b10589939375cde05ade1a79bf030005b0f3bfcddbd37338f49423d36cdcd097842312cacb2e6e8ba0e71061352c03b1cc2eee382c8cf1d11395a9b0ae99c877024357c7226c187b414b868b5532c203404202729290f2d3809bb195079c419d589e457d38fd57adf984c1ec4db2c8d6035248e06b15ca6ec042ab3e85b1475a016a910b255672ebb42b36e48eb7291b9303d408f2a0d3f786af4f41acd69b84c80ddf5c1f8d77e3dc525257ac5f4744814903f90e6b89ecf3b3f1ecc30c88495c20600d269da6b59320528990c66817fcb558033991992639acd9a62b23d1f8b7ab1099af6f171386b6f8a568a16a4c1889e93a03046ed0577e2bc54ed33d69a66ad767c5df8f9f297779d1b00756859b7b9e234003446f4d4321fb1da7bb87288aacfc73b3ab97f39804e095f05f157f7963db26fd0219ffff0334cd1eefd45465810352cd4240eb307bbb434f402f2c3bf3886a2a56ed316d2e0371d54cc5c8b4afb841794b086d034f81f98322f2bdbe016e00f88a7906fa8ee40391dda5a88da7d75fc25ec44ad738e72656adbb5c6392c44daf7ca278a14ed1ba03ee74cf9a7fc03ab4e1cdb90ae8311e34699e0bbae22ed4a387533dfd0f8d7e6a03422a301b9274a7a5bc3d8cda80b711e016341bc37cbe1ac6d58de89186ba6b4f03e1b32a9bfa1699acc3acda8975f29df81136b9c67370a476c600ece400a310e303d6c15b9d1d4c8ad8251c19da791c6abedc7714d00274be85449105610e3d6ea7037a7e2b4eb031069c8003dcdc1bf3d566a21fdc42ad27dba9be45dcc6648aca3003fd819d195587980745d67c7836ab2e81cbd833f11ec7ce96b4a9114aebadfc15036744dbd7b3aa9afffbf807090a52e6e113463fa23188788083dbb673e2b16bed034ef7c9c5611c5a28f77adca39677de61820a29b2cf2652367dc7f924abea5bdf031be794eb94840b5a4324ddc3ed9bf61000c9e32c9ce1abd9562440b617f14cd40219ffff033f6bb81beb07dd12b97a6083b994ad95c83e5e64cc7d9d2109e14452766ed1f2030b6d89e3a4489ad237dd380f4e67c8a21270fa534f0c3631b5b8d5fb823416e003ac9012378ec46275b46956fb0f55deb77301214598dfd2e873f85ec43af9eb760330e3a327c90c59382e3f712e8e8342c26ccf5921f9a828359777ca71830b2c11032aa189d273bb4e7d01d1903363bc920a4867b4ef01f246d51a52970fc61aef8703ea92b213389f25db18bb00f75863c43b499cc7ec6c4033ef829464aaab2148c4034d8aea8e1757835625fc4c2550d4e1dfbcd718904f8441cf4dcdc02238570c79030c7afb6640634c70665e714e6641f5e81cfddc38e7c4aba547ca34bf1105995c03377fb666648f0096662247e36541b2007dbc21844f3759b7cb687d562d6d6cc2039eb920fd29c977ce682f2c8853d20a3d5eab75162b590d31eb213359dff60816034d767c31acd583e6fe4a14c2d26e41c57478b0ce3b221da3de1313e81550afe00339a89d24cec7f4b4410f2cf26a438c74a0d5bc6af907c6b0ef617131adf5dc0b03d73f150ee2827f0e444a24f73d3262d379808016fe83a4fa62849e9565d6f48f03b32cac26700c27f3775464538e634ec2f31073386c9a98c7496fe5c0fd203fbe03fb69999e6ddddd5b073b79e8c9266d70b44e4b5fde2ba35f068862d76ae87f5a03680b75a9836caf5ed8d9bbc5a827e647fc0bfeefd322f80d595f1dd805793a3303d510b454adb3c6dad4e9fa825ba202ed4c59bd65548ea46b158fa729969ac61403c886593157436b6d497af18b65bafd49a0e62a017b21079812ec52302e7db04a033a124e4b87f1504c5edb65394d9b1e384a3d4a44a8c13eb30771a090e66a9b0003e7b375018128fa27dfff81d98b07ba3f52e2e30a3d330336ee18bc352ecb7e33031c910b78a32da8c75d806e0024028b5593a55ee0ddccd496ed6fb0107be7af9d03e525448c7ac72c3fa3a520b7109063c42531e1fcbd66064a8db5ac03cad4013803ffbbae44799f40487e71c032b627700c3beaeec26fc1b6c3f8183ed4d4bec9d403f91cfd439d9484808aaacb310a8e34b1863afd21a583d1f476601b482db212be0380c46187ba465f8319518820f279659369bd5ce82cee9e13ae7ff2ccf8417f950317aea991522d60a73dc813ac43c223595904a8c50f60712796afda9d20556beb03211f6c95e03cd68b418d34255782d8e7060bbba59fcd47945c3fd10d1dd5d0a1030e01e780b8b604e9d96589e5b59d754136e26e677893d66cc0b73324c5c1c7eb03dd841363333a61865e735be0e457c8ce28f0e6f1015c44e41274cce7d61880fc033e908a3edce70e1f4ef311803f7473bc4792f7fed039d15b37314ebfdc08981903f53fe1340249f401db5fef9e2d6491632aad1dab8e05db8b0be01e117a36921605581d02140ca16182082a73282fd228c4b99c5ae1604bf8931444686c504870040105581d0222102db53f4376cba2a7de05cb0effbe5291b028b48e0dec0e3f675f0c19010e48070e8397f1f2bdb7021944000369f74c0556eefeb0ab4abca3b552fe5da7053f33b93cf91d8f8794efc9b4068f03277e0d10eaeb86d98ddc93c26a361acea5030a00684c0fb5ac4848f83ecbb5e805581e0349b7abce7891089c85e8e8bd402c7ab8591fe64785d97f0b659982d950040103a3d66dc42357735982189f8e68966bbcc2fe3922470da28dfc97be4a19932f08036f6cc494977fb6e762b82e0ba6216984eb3b0598d7f61de801fb1d4e2cb6b80b05581e030c5753667e97ef3f973b1b6489a3ba5928548dfae9386b386a77e35ae0040103751d9d4cfff094ecebb5d09d800aa3ac8a13569682b84fafc1a68d74bf9d25640313ee7e2f3ea17ccb7106dafb76b9d6c60192336255456e52f2347cd4047ad56f0605581e03fb5ba8aa59c07a9192a8872aec6e72daab36753bd8c9dddcf198b9f51007011bffffffffffffffff03880f58239cf3913ee19f388bfa21ab847dcb30aeb8b23573e392db1054b20bff0219d93f03f2f351553e54b48d22c9a08d64748170511c0bfef1c03cf2d2077d4e62bede8803b23a3134ddccea35493cb8e4a4ed1324c5c4d698dcc38213718120a26ff8fbd0030c7a9af475949470c478fd27f782589f15216523baf9fda859722a4180945b4303ad2c9a8a9e2cd7d6f29d7c80a36efff134a0a697960cf563e424b36c62ad4d40033027f96d90fd1e4581cc31c924562ed6f07ad9630616dc6123050cec673022d40357fa5d1b9c9360db24887c0c960a98d6cdf9fc6be1eca4583adcc5941fe5a3f80370017318b91bc78a7678ae9216fa68d2e46c98eff9f3faf48a9b113ff4332c000371fc6ad8d0939f71fa73fd336168155464adc308f37a13096e6d3046b26e9496034d732fece0fbb877b98120d85c322c69961668f01e85268472be9dd771a17bce0316e20613c495190101f49174c5f46be1d982e91de14c4a6b97e84cf5b8f51d9c03c9db0374333843acd90cad789c2b51c6f52c08c47a1d0e60f0e825d48f6c183a035158aa52fbd21e1a4d52ecdedb21d2bb0438130f3d58daf3e2e57c2ebf512f0e033f9f458eb99a44620eeef0c028d7848fe58ea16661eb2337ee0acc5fe17208e303b446fe478ee5a10a9295a6d84f39caa0879fbf93fb615af5e31b73e905196d830219ffff03a9775a71b7893eba127201cf108563def89a7b891e10062dfe8e341d73fa0ecc03b66919f9abe54a8152ad035b1d7b6d4331306de63b28c6edafcfd63a655a8919034f0c58f98d9c2a013c27ec300c78ae41d802440cdcbc51758438a931c09956be038197c611acba447c415bfa160d25302cca55e1b32fde03e75ffefe5a2b1c908a0219ffff03d21df5594a2d692ce86644d3af2c0993c4490b214cd5e65f78e81d40675dead603ec4ade200f05f033dbc4739dd611d5a0221060cbc1ff06c046d2cbfcc00c194a03b1195e5347bad8b8fef2427ee245a646bc007d5918bd3d9aff2047319e21c85203bed15eab750f3225f9172ffebaa69a8c97bcf56d8c9f9f808fbe4ee623ae42d603058191a6a6b3ebdb91ae984fcbca343f9f99851a033bab350337c33b7ececa8d03ce108b907a559af3a03b63efa8348b3038e5a008955ae9ed6eeb9b582667395a0219ffff0313b7f39c010498d68c40c8d1d5d88d17b9ef45ea732e7f1e634189dea0cb5bf60329c20f812cb59aaed6581c270ad22df635d170d8981c1046ab9b600a202a43ca035b3ab0e4ffc47637530056c461c0dfe1dfd1894cf95fc2567c84623097295cdf03e0701983567a46c45c340f8122c7a0949511199255ce4c00a873a09963fac7e30380fa20e7639b3484f3aa93b18007ce906ffa9b61adf84d188fe2686f6b3a517303fc367605a1f57347319737142686cb4e4985cacd69634415948cb7e8bf46413d0366ff98bed15e6840a25304f0d74cf995157c96f38542a8ff423c4c6b313eff9203bcc4124b08dd40f9562b7967c851db1fc41f209746a405821cc9847f5d86db8103ba376dc941a2afdcf89ce646f7cf5fd206b72165edd809a1f6786e995925d5800328e9b1c63d8266020a4ca8c372968df1ef8e31a8019a6fd7d0cf6c9222ded3c703d094679a83656db36b31a8ac8a5b60556925e83e439593f1e56fd255f353d342034cfc71688d489a2d80645ec26d71dff7942c2c48526e19ba0fc3eb9200ae85da03a12f239abeea5665b0b4e097ab9aa1204ae9ec1fa890a1d724856b447a73623003536e0a3520bfc97407171eb4eda15022daea9cf891ac6c2e78c69e34b7751d240351ed752b935a7155f1adaf6a3a78e3608d43320ac94db6808d2ace2c072978c503b6e04321487321369477430c5620735061adab0710974b4b724d0621f67ddc3503fc24306a79ad5eeba9953308f87d67591667752aec59021be8f63ec5b2ef18ab03d41c09b07d306574fcbb6f2c5817e03f9a105b9a5606b3e4aeb5dbf8fecf7fc803b58a735a81c9b407bd14187127beafaa6e6b373a91947ae9aecaec68f19c94ac03ad76967335752b5d44a08dc405f63e0aadc004cefd8655e6570350b16c0fe4780359deb7f66aea86ba9fa32bdb333df300448909bd45361f0638d57d307f071e6a0337dc4972c9a19333cefb1d536456bfe079336533f66a0d6021d26644404e6ce40360f0e4853ef56f93441eeff21ec720f3ad423b6f8dbfe4374639c2e12b1e9e8a038f6672750a4eb3851031c241e08d475a5b66161c4f0213a076b1d69c198792b2035c6e5fe9263579d6aec45b5f414ab33e18ae9a03e8dbc3847d4a2c60154c11bc03c15b46449aab7c86854bcef8f628b9f565f4e13e20661b354d17b6fba94d95750337d4ae196218fb3881b5a49a438e94f059f0e4b86d694e3c336c0dcc07a7d88903bcefad105b3e9538b78fc8d7a3850c9d972fbd56a528fd62e75abdd87d1555d103813870611c343a25379d6feb8c9f9e56556e4639b279d754eb5df2ed6cfba55803a054a157f5c3f225539fcebb9a463d70fbcce25eb4cd0feee680c09560364aee032b5a5647e02f44a7ee24cb63ddfe606874aae2814c6ee5aab23e6635a26515f803a0f44baeab657b55b8d474bab3f66fccaa452057e073dd5b2731bb034e2708ff03da9d172f6d1a24b98babae9055e74877eb94b5cdc4084cfcc95a94284860f58c0321e4b74aec27a866813e1116940fced4d85f16d00681ddee8c40e7da2d4c4e31032891ae377a52a42a00433f0066d62df8e2f803a6e99f3668a333089667d374e8031d1273c0302e66ff6f6ffd9a7c7b13909ca9a84beed284e016df83a94de3e37805581e03f47d1474ef853a3e9dc6655493440d4e894927e1e1124c59da9e8879900c0147022e64b3b4d00003c2f0209f1a2ce4d009186ac5920508b5c9b5fd5e271407ab4556950d92d927e605581e03996f6d5e43b5a451eb17e96b93399333b715a78f07c74d164827112b100c05470124be5d097e0003c083390cd7185f3e9425bcefe33e8e6a4782b4c57573e1221c7b4b68991ff93f05581e032f81673452fc2f118411a6d2852ec82fff3151b324a6ce66ba30837bd0040305581e035708f0bfbb50420aadc9397861a6c6a993b5aff8c958602123b34365700c01470127f1ff44a10003aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581e03a9ab5f0134685b22715752679632428a53c58958ba6ae120fca332c50007011bffffffffffffffff05581d026b84c7c8b624d170b5eeaf52e56ef691da5ab3c9cc7b4d5d0b0459ef0c10470b72908c8e24d105581d023fdd55e8dbd1f19bb3da28f2083a48ecb448949b4fd926dcf77dab130c014610a024e8100005581d02310d9fbb03273f923b8dd7c002934bf318d25375d24f550b95152e630401021930010354c246538c23ec31f01944663958534171079f41adf7dce6d89b9e7a42f61d3805581e038733b24b2aa0426438d5b6b1996570a3e65e2e03a1d419a6201192b5b004010312cd6863653999b13c1c86eb01d40f0d2d3fa79874e8c432448610c87ae4af45030b95af39e8aaa900efc4a5cb2c826930b92f383c18d909be32a6a11365e358df05581e0358b0655947ad7e4f85db2214cbb0007ee31c9489958fa177cc246c5f8007011bffffffffffffffff05581e0305790ab642cbb773522b170ee166bd3f379b2d27e27c5876bfb4b943c0040103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03625e5153a2e8ee48dbebee019050ac664781d8c0fd4d31d760d7b951a007011bffffffffffffffff05581e03e259c68f2576c3a621db174b468b27da24aea8b176d6c3b73b2122af200c0246d38a8b89a0000219dfbf03bb6cb4f01920b2b3108e24eb4cc127c9b25d1331c78018f58639de68b59a2f6f03d07600c261af8d9ad711908c7075569f46086139adcdd758cc92fb1306dfb59d0337036168a49d171cc1bcc8a122790d4a9c7150454f866ff52288a3022dadec190219ffff0359b8828f640debaa87671b43da2fe2f738031ba5425cf743821c9acb3e2cb8020219ffff032c34d3787814a7b49ae52ee36f1eafeeddf3a7452a91d207b6913f92f4c1538f03cfc69b71effc6af2893bd6586b1e696ef6fda6bb2498b367803830798957b641039064bd9b461d4139fb4415124a17c50c709d0ecdc71b647feff11b454e5bc51c03b2f13d5a285276a43ebab54d20e3d285aec242ad7aa206eba8b2d7b721c634e203d19235de12aec2bafda4f63b72f38edae23c30d7083d1e8c4d3b5c2a98a07cd2034d110b94fe9db89d7af690dacefd4ea05821f55f91c19837a440f41da647db0303cb59ea331242f35189d131f957a7196403618c07caefa7b5b1f3de4ac0ac09c90389e378dfb2665f6a0421bff5d5f19392aba761bc7f59baf819c2b1b2a25737ca0219ffff0219ffff032efb74684837728c47c9226e55038799394c4708b276b1676e425c7dadec548603a61b617bde2c0aad99d182c1531cd8f0e15a18adc60a2826413e62c5b355ca530304450f97dbbc2da78629c4b4366843b596348095f650826e2278b2234e69c75f0390cfe120df4334ed0783d8e334bf531e0975b76a395097218e9faa5a676853a703b53b47559e83603d72f4b5be2d5955003dab339fd930fd59f91fab4c18915621031d2401be5ad631d3d8f61ce67d9b5ea1b2115fa49c928784b29bb429f24da55a032a05c362d45d44cb4785bd0c5f0bed768a5ef84cc97d9e42a55edc9ed9605e4903549bdf29068ab932a7aa6f601c9096e0c51bfa9ae65a1fe188d23f7175034b43034bcf4c93ef3e55da3f53fc47ee50c25505b7229ee6cb8cb2da2e37bcb4b5a9d60384795260d08ff6d8064b39e67c03e0c0393666866bb8c659f9a8b4cb03ca2f75037b41eeee1954e592ffb2f974c3ed135c8df4c19212972d39e83b0c8db732c4ef03ac46208e403d911b351234b93aba00f419e0228b28846fe43ed503421df77e38032a0da1497ae156cdf7523065790abaccc95aaeec60a40cae91d36f3e4b0e1438038ffeb851fca40570ce16efd7fc1aed7608279dcc5fc402485917b13d9ecbbd490359f35ca36eea8c4945d446ea0ffe070301b19a2c1d0846bb51c0a28ae2fec7b003f5e2822592f2b1f016353ca46cd7977b382a58b6c04361b137d028739ac8028303572a68fadac14a615fd02e0d4a84b87d3ebca244ae436015b391671e6c8fa1960305404402dfd13b04d4c49d4bd3d460deffa2e9466a8bd3e74a2a6e649dc19f6403bd25e681e308c18b7a56a24d0cfe58ccc6b3f170852be29bda658b6590184ade03fa5727ae64b7863056d60d0ecebcdca482ad038b2ea4b8d0df70696dbbe51dc10371be8ee491f3dbf560b7ff5962bb35ab1f57fc35097564c8711c372c3b94b53e03a523cdbe62a617c3c8640ed0be1c3ac341b2c7a46a6ca1919cf1538b4bf3ccd005581e03901a35b3ecc55443568265fb19fdf29515bcc18dade7bfd19f63b365800c02467273761393c004593553608060405260043610610143575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb1461040e578063bf474bed1461044a578063c9567bf914610474578063d34628cc1461048a578063dd62ed3e146104b2578063ec1f3f63146104ee5761014a565b8063715018a61461033a578063751039fc146103505780637d1db4a5146103665780638da5cb5b146103905780638f9a55c0146103ba57806395d89b41146103e45761014a565b806323b872dd1161010757806323b872dd1461021e578063313ce5671461025a57806331c2d847146102845780633bbac579146102ac57806351bc3c85146102e857806370a08231146102fe5761014a565b806306fdde031461014e578063095ea7b3146101785780630faee56f146101b4578063109daa99146101de57806318160ddd146101f45761014a565b3661014a57005b5f80fd5b348015610159575f80fd5b50610162610516565b60405161016f91906124e6565b60405180910390f35b348015610183575f80fd5b5061019e600480360381019061019991906125a4565b610553565b6040516101ab91906125fc565b60405180910390f35b3480156101bf575f80fd5b506101c8610570565b6040516101d59190612624565b60405180910390f35b3480156101e9575f80fd5b506101f2610576565b005b3480156101ff575f80fd5b5061020861064a565b6040516102159190612624565b60405180910390f35b348015610229575f80fd5b50610244600480360381019061023f919061263d565b61066e565b60405161025191906125fc565b60405180910390f35b348015610265575f80fd5b5061026e610742565b60405161027b91906126a8565b60405180910390f35b34801561028f575f80fd5b506102aa60048036038101906102a59190612801565b61074a565b005b3480156102b7575f80fd5b506102d260048036038101906102cd9190612848565b610868565b6040516102df91906125fc565b60405180910390f35b3480156102f3575f80fd5b506102fc6108ba565b005b348015610309575f80fd5b50610324600480360381019061031f9190612848565b610951565b6040516103319190612624565b60405180910390f35b348015610345575f80fd5b5061034e610997565b005b34801561035b575f80fd5b50610364610ae5565b005b348015610371575f80fd5b5061037a610c17565b6040516103879190612624565b60405180910390f35b34801561039b575f80fd5b506103a4610c1d565b6040516103b19190612882565b60405180910390f35b3480156103c5575f80fd5b506103ce610c44565b6040516103db9190612624565b60405180910390f35b3480156103ef575f80fd5b506103f8610c4a565b60405161040591906124e6565b60405180910390f35b348015610419575f80fd5b50610434600480360381019061042f91906125a4565b610c87565b60405161044191906125fc565b60405180910390f35b348015610455575f80fd5b5061045e610ca4565b60405161046b9190612624565b60405180910390f35b34801561047f575f80fd5b50610488610caa565b005b348015610495575f80fd5b506104b060048036038101906104ab9190612801565b6111ca565b005b3480156104bd575f80fd5b506104d860048036038101906104d3919061289b565b6112e9565b6040516104e59190612624565b60405180910390f35b3480156104f9575f80fd5b50610514600480360381019061050f91906128d9565b61136b565b005b60606040518060400160405280600681526020017f20426f726b200000000000000000000000000000000000000000000000000000815250905090565b5f61056661055f6113f7565b84846113fe565b6001905092915050565b60125481565b61057e6113f7565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106019061294e565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f60405161064091906129ae565b60405180910390a1565b5f6009600a6106599190612b23565b64174876e8006106699190612b6d565b905090565b5f61067a8484846115c1565b610737846106866113f7565b610732856040518060600160405280602881526020016134f66028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106e96113f7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f489092919063ffffffff16565b6113fe565b600190509392505050565b5f6009905090565b6107526113f7565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d59061294e565b60405180910390fd5b5f5b8151811015610864575f60045f848481518110610800576107ff612bae565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506107e0565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fa6113f7565b73ffffffffffffffffffffffffffffffffffffffff1614610919575f80fd5b5f61092330610951565b90505f8111156109375761093681611faa565b5b5f4790505f81111561094d5761094c81612215565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61099f6113f7565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a229061294e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610aed6113f7565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b709061294e565b60405180910390fd5b6009600a610b879190612b23565b64174876e800610b979190612b6d565b600f819055506009600a610bab9190612b23565b64174876e800610bbb9190612b6d565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610bf09190612b23565b64174876e800610c009190612b6d565b604051610c0d9190612624565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600681526020017f20424f524b200000000000000000000000000000000000000000000000000000815250905090565b5f610c9a610c936113f7565b84846115c1565b6001905092915050565b60115481565b610cb26113f7565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d3e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d359061294e565b60405180910390fd5b60148054906101000a900460ff1615610d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8390612c25565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e293060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e149190612b23565b64174876e800610e249190612b6d565b6113fe565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb79190612c57565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f3d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f619190612c57565b6040518363ffffffff1660e01b8152600401610f7e929190612c82565b6020604051808303815f875af1158015610f9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fbe9190612c57565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061104530610951565b5f8061104f610c1d565b426040518863ffffffff1660e01b815260040161107196959493929190612ca9565b60606040518083038185885af115801561108d573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906110b29190612d1c565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611152929190612d6c565b6020604051808303815f875af115801561116e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111929190612dbd565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b6111d26113f7565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461125e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112559061294e565b60405180910390fd5b5f5b81518110156112e557600160045f84848151811061128157611280612bae565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050611260565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113ab6113f7565b73ffffffffffffffffffffffffffffffffffffffff16146113ca575f80fd5b60085481111580156113de57506009548111155b6113e6575f80fd5b806008819055508060098190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361146c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146390612e58565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d190612ee6565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115b49190612624565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361162f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162690612f74565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361169d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169490613002565b60405180910390fd5b5f81116116df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d690613090565b60405180910390fd5b5f6116e8610c1d565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117565750611726610c1d565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c985760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156117f9575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611801575f80fd5b5f600e5403611849576118466064611838600a54600e541161182557600654611829565b6008545b8561227d90919063ffffffff16565b6122f490919063ffffffff16565b90505b5f600e54111561187e5761187b606461186d600d548561227d90919063ffffffff16565b6122f490919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611927575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561197a575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a7257600f548211156119c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bb906130f8565b60405180910390fd5b601054826119d185610951565b6119db9190613116565b1115611a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1390613193565b60405180910390fd5b611a586064611a4a600a54600e5411611a3757600654611a3b565b6008545b8561227d90919063ffffffff16565b6122f490919063ffffffff16565b9050600e5f815480929190611a6c906131b1565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611afa57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b3e57611b3b6064611b2d600b54600e5411611b1a57600754611b1e565b6009545b8561227d90919063ffffffff16565b6122f490919063ffffffff16565b90505b5f611b4830610951565b9050601460159054906101000a900460ff16158015611bb3575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611bcb5750601460169054906101000a900460ff165b8015611bd8575060115481115b8015611be75750600c54600e54115b15611c9657601654431115611bfe575f6015819055505b600360155410611c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3a90613242565b60405180910390fd5b611c60611c5b84611c568460125461233d565b61233d565b611faa565b5f4790505f811115611c7657611c7547612215565b5b60155f815480929190611c88906131b1565b919050555043601681905550505b505b5f811115611d9757611cf08160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461235590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d8e9190612624565b60405180910390a35b611de78260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123b290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611e8a611e3e82846123b290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461235590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f2d84866123b290919063ffffffff16565b604051611f3a9190612624565b60405180910390a350505050565b5f838311158290611f8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8691906124e6565b60405180910390fd5b505f8385611f9d9190613260565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611fe157611fe06126c5565b5b60405190808252806020026020018201604052801561200f5781602001602082028036833780820191505090505b50905030815f8151811061202657612025612bae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120ca573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120ee9190612c57565b8160018151811061210257612101612bae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121683060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113fe565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016121ca95949392919061334a565b5f604051808303815f87803b1580156121e1575f80fd5b505af11580156121f3573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612279573d5f803e3d5ffd5b5050565b5f80830361228d575f90506122ee565b5f828461229a9190612b6d565b90508284826122a991906133cf565b146122e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e09061346f565b60405180910390fd5b809150505b92915050565b5f61233583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123fb565b905092915050565b5f81831161234b578261234d565b815b905092915050565b5f8082846123639190613116565b9050838110156123a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239f906134d7565b60405180910390fd5b8091505092915050565b5f6123f383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f48565b905092915050565b5f8083118290612441576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161243891906124e6565b60405180910390fd5b505f838561244f91906133cf565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612493578082015181840152602081019050612478565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6124b88261245c565b6124c28185612466565b93506124d2818560208601612476565b6124db8161249e565b840191505092915050565b5f6020820190508181035f8301526124fe81846124ae565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61254082612517565b9050919050565b61255081612536565b811461255a575f80fd5b50565b5f8135905061256b81612547565b92915050565b5f819050919050565b61258381612571565b811461258d575f80fd5b50565b5f8135905061259e8161257a565b92915050565b5f80604083850312156125ba576125b961250f565b5b5f6125c78582860161255d565b92505060206125d885828601612590565b9150509250929050565b5f8115159050919050565b6125f6816125e2565b82525050565b5f60208201905061260f5f8301846125ed565b92915050565b61261e81612571565b82525050565b5f6020820190506126375f830184612615565b92915050565b5f805f606084860312156126545761265361250f565b5b5f6126618682870161255d565b93505060206126728682870161255d565b925050604061268386828701612590565b9150509250925092565b5f60ff82169050919050565b6126a28161268d565b82525050565b5f6020820190506126bb5f830184612699565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6126fb8261249e565b810181811067ffffffffffffffff8211171561271a576127196126c5565b5b80604052505050565b5f61272c612506565b905061273882826126f2565b919050565b5f67ffffffffffffffff821115612757576127566126c5565b5b602082029050602081019050919050565b5f80fd5b5f61277e6127798461273d565b612723565b905080838252602082019050602084028301858111156127a1576127a0612768565b5b835b818110156127ca57806127b6888261255d565b8452602084019350506020810190506127a3565b5050509392505050565b5f82601f8301126127e8576127e76126c1565b5b81356127f884826020860161276c565b91505092915050565b5f602082840312156128165761281561250f565b5b5f82013567ffffffffffffffff81111561283357612832612513565b5b61283f848285016127d4565b91505092915050565b5f6020828403121561285d5761285c61250f565b5b5f61286a8482850161255d565b91505092915050565b61287c81612536565b82525050565b5f6020820190506128955f830184612873565b92915050565b5f80604083850312156128b1576128b061250f565b5b5f6128be8582860161255d565b92505060206128cf8582860161255d565b9150509250929050565b5f602082840312156128ee576128ed61250f565b5b5f6128fb84828501612590565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612938602083612466565b915061294382612904565b602082019050919050565b5f6020820190508181035f8301526129658161292c565b9050919050565b5f819050919050565b5f819050919050565b5f61299861299361298e8461296c565b612975565b612571565b9050919050565b6129a88161297e565b82525050565b5f6020820190506129c15f83018461299f565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612a4957808604811115612a2557612a246129c7565b5b6001851615612a345780820291505b8081029050612a42856129f4565b9450612a09565b94509492505050565b5f82612a615760019050612b1c565b81612a6e575f9050612b1c565b8160018114612a845760028114612a8e57612abd565b6001915050612b1c565b60ff841115612aa057612a9f6129c7565b5b8360020a915084821115612ab757612ab66129c7565b5b50612b1c565b5060208310610133831016604e8410600b8410161715612af25782820a905083811115612aed57612aec6129c7565b5b612b1c565b612aff8484846001612a00565b92509050818404811115612b1657612b156129c7565b5b81810290505b9392505050565b5f612b2d82612571565b9150612b388361268d565b9250612b657fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612a52565b905092915050565b5f612b7782612571565b9150612b8283612571565b9250828202612b9081612571565b91508282048414831517612ba757612ba66129c7565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612c0f601783612466565b9150612c1a82612bdb565b602082019050919050565b5f6020820190508181035f830152612c3c81612c03565b9050919050565b5f81519050612c5181612547565b92915050565b5f60208284031215612c6c57612c6b61250f565b5b5f612c7984828501612c43565b91505092915050565b5f604082019050612c955f830185612873565b612ca26020830184612873565b9392505050565b5f60c082019050612cbc5f830189612873565b612cc96020830188612615565b612cd6604083018761299f565b612ce3606083018661299f565b612cf06080830185612873565b612cfd60a0830184612615565b979650505050505050565b5f81519050612d168161257a565b92915050565b5f805f60608486031215612d3357612d3261250f565b5b5f612d4086828701612d08565b9350506020612d5186828701612d08565b9250506040612d6286828701612d08565b9150509250925092565b5f604082019050612d7f5f830185612873565b612d8c6020830184612615565b9392505050565b612d9c816125e2565b8114612da6575f80fd5b50565b5f81519050612db781612d93565b92915050565b5f60208284031215612dd257612dd161250f565b5b5f612ddf84828501612da9565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612e42602483612466565b9150612e4d82612de8565b604082019050919050565b5f6020820190508181035f830152612e6f81612e36565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ed0602283612466565b9150612edb82612e76565b604082019050919050565b5f6020820190508181035f830152612efd81612ec4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612f5e602583612466565b9150612f6982612f04565b604082019050919050565b5f6020820190508181035f830152612f8b81612f52565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612fec602383612466565b9150612ff782612f92565b604082019050919050565b5f6020820190508181035f83015261301981612fe0565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61307a602983612466565b915061308582613020565b604082019050919050565b5f6020820190508181035f8301526130a78161306e565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6130e2601983612466565b91506130ed826130ae565b602082019050919050565b5f6020820190508181035f83015261310f816130d6565b9050919050565b5f61312082612571565b915061312b83612571565b9250828201905080821115613143576131426129c7565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f61317d601a83612466565b915061318882613149565b602082019050919050565b5f6020820190508181035f8301526131aa81613171565b9050919050565b5f6131bb82612571565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036131ed576131ec6129c7565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61322c601783612466565b9150613237826131f8565b602082019050919050565b5f6020820190508181035f83015261325981613220565b9050919050565b5f61326a82612571565b915061327583612571565b925082820390508181111561328d5761328c6129c7565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6132c581612536565b82525050565b5f6132d683836132bc565b60208301905092915050565b5f602082019050919050565b5f6132f882613293565b613302818561329d565b935061330d836132ad565b805f5b8381101561333d57815161332488826132cb565b975061332f836132e2565b925050600181019050613310565b5085935050505092915050565b5f60a08201905061335d5f830188612615565b61336a602083018761299f565b818103604083015261337c81866132ee565b905061338b6060830185612873565b6133986080830184612615565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6133d982612571565b91506133e483612571565b9250826133f4576133f36133a2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613459602183612466565b9150613464826133ff565b604082019050919050565b5f6020820190508181035f8301526134868161344d565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6134c1601b83612466565b91506134cc8261348d565b602082019050919050565b5f6020820190508181035f8301526134ee816134b5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220dc7b5d7406b1d5082892d22aa640d1781ceaecc91236ba2f8a36af893a06f6d264736f6c634300081700330328f15438f71bd05967f4e0d1fc6578d8bdeacb7a263b2b7bd527224458fa2cd300582003a2aaeddee210f1e99d2254f229c0d28342d2cc8ab61c9a9b689cfaa67b4ea05820fffffffffffffffffffffffffffffffffffffffffffffffffef69ba499efe26f005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db904119035d2368e2c8085d51e0e82e556d48d73f962e0af7277e437f6b2beecd09f79f12033625a62ca625022286e9db8bf30f4ae29c381daf7d01a7f4abc19f185f6dfb4903fbe68ce37fcf516394679b9c766067e5515f4112500e8a9e4e0e391f7b66572502191ac000582003269e85c6b579fbc499524ab70487b951e17e989723de9240eb9067c3f11ec047bdf2c4af98d58800582003c200628440b0347a8cae60695033f7c987b5f54026d9a5908bd92eb3aff6705820fffffffffffffffffffffffffffffffffffffffffffffffffdaedbdf3fbc2323005820033262c9e9978a772f10b3e02769a730cc751c104f5d4c058320b76d615910005820fffffffffffffffffffffffffffffffffffffffffffffffff216ebae26a0426102194041033b3596add1568698dcf20441b6c1243b7bbd4cfdb0ae52bc5ffed583a7e9e6f203ee9889abdf7a80496dca8c0ae336b7857e270e257186bbfe3f027099ead6639e039dd4cf515cdac1d251e35cd2d8afc01665ea168ca71e51a2a783a4785b7a43db035e674239fdd81f989ccff90a78bbf36324c36d02628a9b8e09e478ff5eed257a0312db68c32981443604388b4faf7ca5d898990f5aece28fb690a2fc5be7bbac55037a9a1db5dc692ae0f0af5228530733ea5036da350fd8bf5d8ab8560bff52e622038149df050370dc24cd1964e158307cd30bc77cced3309b346cf719332ed733cc0387f23da67fd23d6dad96866a7cff038f270ba61874923b14f7469bb6639c679b032dc9aa697b019e1ebe49eda6ce54626dafa538587600dc374225e12bcf5ab74a033d3e8a09866ac956efefd13db9c39eba0c955249f42d1db19367229c02ec3e520343d585001cf8b9a3e1070b000ea61367562306f242e50c55c3e400174f641750036234019084697f3b80b6e47c9d8c8f6235654faff5a760be0558791bcdd0f334032025070970590b6ca1a5fce5503c785e7eb53bffa9f0f0302c98a1171e0e5a2a0219ffff036967e0a303a727577ba5b03339615a27a6b8b7b9f35011bd716cd5eb595330b3031d93ad92c61f0232bff6203094a1eaa3a28c1f13f91256b3a59957c90ca198490323cde463c4e3ff99aefb6b3fe514e01421fea93476e235de5248ba00d4f1b08c03180be2dea16a0421da477f971c0faa1539bcdbcbd942199de2a2eb4fe864603403b119b55a845e0e24e8b661c9c96225f182f51cb7e96669eedb3afbf7f7cdcc3d0302e893a5ab2e0062e32f19d1bd379f53c42d7484adeac6652346781e7bbb7bbc03f10e1750e532c727c9303e5655acdb3652fb616f3fd5bd1b86fba7880d7014c503bff1799a8d80ae9bb96f724871cbfcb485cd669611e7ea4737a8ab8077ba4d0403ffece2cf4e2ecb810fb8f0a4396fc4dc2505ba0da3544b1b812c3322b1e5b8a30389ebacfc46854c84d18d7cb029b26be72fcf6da9d7d956c20efc94d6a4dbe46d00582003d7daf4c34829d9303f8b66c1383840dcd2d6ecc27173fadecd8277709789d05820ffffffffffffffffffffffffffffffffffffffffffffffffff9cb5e8f0b6ece400582003292cb9ce06264c67ccb408521eb8ce06c66b03087308c3e1632e8fb50989905820fffffffffffffffffffffffffffffffffffffffffffffffffeb9c34a0afd1e0600582003c6ad49a98a63617f6d02309b823b475065f39098f8ee546f22daee49bd4a005820fffffffffffffffffffffffffffffffffffffffffffffffffe48af94d326187700582003064a9d1eba44261fca36b7f037bafc01599d716948d4f380c77a00e6ff0e105820fffffffffffffffffffffffffffffffffffffffffffffffff94a9f83737fb8d30058200378d1f133ad5cc1ee568de21aa2f8d6d8539c53a06b99eabc34664344f06a705820fffffffffffffffffffffffffffffffffffffffffffffffffa4adab43a94ad5000582003711f4534c3f3c034e605f91e501d4a0d74141978e7d7025c481ac8970c51a0481dcd64ffc46536000219689203ddaac2d5378c6a454a1ddd6be2c9439a7eb5543e0ede952b7bc6cb100429f33d0308a589e4909ce73c4c28b90e20de15f03d33bd661575d939d830a2753cf41d8003d652ad9a721c7062a841ee1da85676e5903160b16fd3709f4b7d8784df9fcaa90302b5f9af50a9d89dc68d9fc529f3ecf16549f5c76514e6605cb8214a18f10df7032d1d2f545ae12f6e7e45e52762b6e53d4d190b90aa1d6a9833aa55389157141103c2a3ced23ef723fcc00ac13f0bf4f063a7a95ce2cd0e5ddc697ec7eb36aac8940219ffff03439b6b62f8f91fe694c5227fb45470eadf397b16e8e9d048e61df8eeb7f4be9800582003654f42b26ed375073905f1f4ec0e3dd0d645759e20989ea6e9d90f329b26d05820ffffffffffffffffffffffffffffffffffffffffffffffffff74d339b76ab9c1037595f301c3f61bcaa6fb3c74bc753842c36a3fc53cac7988a00fa84c43f49e2900582003652bdfc3f327bc78de7effc624fa1974a08ba6d8731cf0ce83fb26bfc6fcf04751cd108cf7cea400582003bac2c654b21ed20f7c206f55340e300b2f9f64cad1c6467c1c06eb6b397dd05820fffffffffffffffffffffffffffffffffffffffffffffffffafec4cae01a26b60058200384c5e61b835897d671fc8621cb4cfcac7ec02bd8fdbe8eb477763057476ce0410100582003e8146bf109ad24a6d5d6c2f46b25ddfe2147611ac9c9359985ff2e2d0155705820fffffffffffffffffffffffffffffffffffffffffffffffffd71bc6ed163fb58005820030ce139b3059757bbca0cf57d9fcc92514598f6317804adcb591b908f9135805820fffffffffffffffffffffffffffffffffffffffffffffffff3c38d433268087100582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680480de0b6b3a76400000219607d035e7dc0143b310db795b9a29d40c79cf08b47e143485a38c6ed5090c41ffab99303a963efcb5817d4fd5752240ec59d1e2bfb0ae46df64b13f30c5e1125797debc4037bd0f4ae46b85a4bc68b76d91b475570b7c80c8e806abe1f0f523d71d8392f210397425b9de29b5c24d56aed9509f7ee2bffcc3585e95b60d863a6422dc5b367ae0363e6cf02ab6cd98cf1702175e33d86e4170e51f683b2129a5cf6ceef85f3c22a030ef52865f43e0dfdb06a071bc6f6ccccd2ed800fd4300965d07d6a236cd3d534031628da4b3618470a8398920b9be73907efa551495ddf992c75e0b17628c00b9b039f3af022cd16def8d28e33be850e773f9d188f1d078c8d64daa123b686d181e303dfa363ca29f24c429f2b9f016cd450a4d089a1dc0ec314fb9421e2ce8c078c7903cdeb376dc0c7457fd2e44e4ae1f2f953535da6c75f3fde734ef2b64f139382380329ab7640874fbe6d839c9c9453d53c5938e7ab9092b0d4d393602e595ff3c2c803eced4495d4b851737dffb02762d2d0e68b9a30a5ec64fff26c93517ae3b4eb6103fd6cf2ab7572a2a112f56574423cbbfede143c61db5d32fc9362b793dc2f6e0503d16cc4a06ade9a2195eafa8706ab7724d70f6cd261984be933d0dd087ce0aba50219ffff037b7375d24fb9a1e2793d7c31e0f2b06707158ea972e21160f3b91e311fe4fd7203d4e766395c8d919cd347a4176afe0ca0faefebb296c541510af1d8f1c2387719037a4605998deb68c81689c959347d06aff9080c484519f13849dda94cf433399c03fdf7851623658a7522887a831bcf797fcad0c7bf48390f12050ec96fc2a9115400581f029e3b694c97a75f944cdd79ecd59edc09190d88d0acf49153b97c528cc3795820fffffffffffffffffffffffffffffffffffffffffffffffffeeeb14dafab506700581f029a13d29fdbfe7516a060b35d98929f75a3cbd297aef706870d1a189ca1fa4901642ba5f20ec4d2f30219801003b91dee83daa59017e59e49454a7a3ee532f5fa3dc88eab476e9905fe20aed2b4005820030509f3759e64adb2c12cdd09bbc15974d0a2448978adce8ee0ff31253816105820fffffffffffffffffffffffffffffffffffffffffffffffffe88ef096752b86a00582003ecc8edb958846225fe745e4fa911091b1d372f2a52b5255102016a2458a4505820fffffffffffffffffffffffffffffffffffffffffffffffff9d7961a40cdeb34005820032f1258ea562454df7244605e54804ca81cbcba0b451cb632474b9347fbe7e05820fffffffffffffffffffffffffffffffffffffffffffffffffe98ce744249f42003f68c16278ddc8fca4d45a563dd8d00941880bb1c8f8a892c0e8a96d1f9ed31550219864303fb9da399740955d542d94837dd0b3f900ca2f006992b14f5f196747a3abaf0fb038f40eb98f88b4ab10267e70166cfb1f59768b8688ea1e2111dfca6bc03b015d70344c5d5c09c507aaed02f7bc8bb951a6d71db8fcccadfff102a59314cff92796d0373fdda0e88cc263e112e61751c82c4fd17541564111dedbf4d92b127f77ca28503381a5aa4fc7dc8485b54b6db3ef9ca98692edd900515e6df639a7e556573106403fa3b20bbb169b61cbe8408c3c609fc1158eef64d2661a697c63ee14742cf598903b3f3393c951f175593e016e9c4bed5b2d26a495a22cd3ee5d05de100a6e8152d03c5fe05a3e4cba2640b34007bfd7d1cde5623e73616d6a9840f0a5318a7f125f1032c2b6b3904e39fcc6484170a6e11443c01cb5b4076c1cc2028e22e73c944f03603d3ad4673de8219c51a51af609519434fdf5f558d0710562b0ac8bd7b20e15681037dab9119b40a2a4975146e3e6a9e98e443877de97c2ff50d8d8423908a6325d200582003a5fe2cd6b41b6ca528c841d719f7bf5f9902320a8d8529c0c834a6fb881f205820ffffffffffffffffffffffffffffffffffffffffffffffffd7485b56b9ec61bc00582003b7d9cf450ce60bf0591bcb006b30de6b64aeda0f27443a23a4fb28b26d58405820fffffffffffffffffffffffffffffffffffffffffffffffffa9f3b0761595f5a005820039d120618bf594eb4fbaf8a0664a4d70f77d097c1bac20cfc148ff9f0be9b605820fffffffffffffffffffffffffffffffffffffffffffffffffc418c543ecc26e20219060103dba8e6e6505588d945a1870849b45be1d64976792824eaf03a580c752ec4c9db0219ffff037d124bf8e2c3bd78c6be0da87ba5efe0596e1dcae51b2eba8a809a51185370c503a4df37d5bb80e6fcf5afd2b1686b40ee8d8c922f5007339e082d8d0a3bae584b03d13f9d42a06f58cb4b78ce15b535c664b069968b41edb2a1c4a60e34fc712bb9034802d6b9f683a53d4da4b8a265641ca6ce7f5ab8332cb0776ce0e232ff6f587e03520fbb65a68a79e7dfe1db08ef636ee6d1e3adabd80d9b8092e64c489e5ecd14037a548491a0615c90c4f089c55e06def63bc3df36b6549b51299d42b4274c703203715a7a7182c66eece1f09423393de0ef444465b70219cc1070390828e51b45f0034d672fc3bde6fa8381f973165310082431cb92c4a1103667bb03c705c254f507032ac3c8d3790568851f78800b1f194c4fcfbafc35dd37f1598edb1348175fd5580389c425d3b27c65290bd6e73aa0724ade7cbe130e79aa08f99400a73f9a3121990330b0815568561de29377c8cde2b977770a1e6c8b493094d5295af0993867ceb00337aa74cc04fce13c3482dede2039afadfe216ed606d96a5273eac5f769b7409b031939a79cb5cbdf808e61de38de4490bc867bcc08477255352dbe0d77ef450b0403f7b1f1a2258721d756ec4aa4594b5c7c44d06376c8ee88d4ebbbb4820ad796020340b9f41bc4ba207993c04ddf54e2316eaa869dcba28d17a75460ca17c4f08444037ba7a136652a47592750469d290b9b23b02c71ce09e57f4bbd33b010203ec1b90341911e5872c234b90f5ee4e4fb143e5c3bf5180806a55b6239915fc3cc7d8d2403e6ca40d31608a2163b8ede843f24025706e9c97bb21b1e383988aa411cfb6d6c0058200336cf09ae356fa2aacb31f8a7dbeecb4ee6b7cf4969f5e89a69a94c7cc9a8305820fffffffffffffffffffffffffffffffffffffffffffffffffd6758eb434ae2b5030a9355a2ba35568c3944df8b4a45a1d8b5d02d2448df0f31eebc01413ed24250005820035ef3b4ae855d46eb3a3144ef5c41e7bdb584dead356d1db6b73ffb86ba5b705820ffffffffffffffffffffffffffffffffffffffffffffffffffebd410cbe788110058200380a93f24215e4ec2501b16cfd58e2671f301a307c8af7c6a820755370d05f0410300581f0239f830dfcb022ed715a1075998c6c28778d1571721d9b5d3327fff4d515c4806434dbde4d04e5100581f02be44a21b3a7459a261a38e0bbddf8af8869b510999a37f03164fa3cdb78a5820fffffffffffffffffffffffffffffffffffffffffffffffff79a64a876eb0e1d021844021980e10219ffff035e977812f33e4bbcf4f2e319a87399e8e380615009339112444a64ba5629d091038e2d647db48b411d1e6c51ddc30c14c8f754c8ef42c39a94512275999c371092035d4b56087a7eedbbfc082f7515a03c8f6ecc595f25a6b83ebdbc29eb699277580384c5d0862bd443e08ed8d819688d5ccf012cecef4aca019e997f209d258abbdb035cdbd353a4b9ef31f3fe486bacb1ec860ecd01d77664e9a4f06468adcee86d52038127e8f9f900f4ea3c2665735c30ea66ebec12108f5be08f8070e389475c6332030e77d1a708e5479058d7ecba2582d9f5e75ac3286fd1aeda4910dd31427088600322d4c461b0ef56a27cf8c5aa7d9748943fbd4efc01aac9230dcbc81579ede540038297ec0c2dcacd03d4aeabc2e9f7b7a44b7eeb819303c5fa85ff2fbf85cf71e60334191edd1fbe1cdc2ed49342e765bacab8402b65ecde1e3b50677cefea3756710349e64d5e516c6398c43bae1ab98faa86aaf80a5c758cabf5171653d55cb59ea5005820032e689aaa574703f5c97a7f0ab44c25ecab858cccc5302f05e01c8cd8e704d0463e2d2106140500582003b86a07ce846b1bc5468bda5135459d01600371b6d5f63a75d1dbbfdd07dff0480326cdc5034df68400582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0420ecf00582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440480de0b6b3a764000000582003822e0322a1007104f0f10719e9ae9d9359f17b37608706338f16538cc7d2b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200326e98e973659c0ac204b575bea6a941fa18deebfa1a9fd5d66f69dba563d70470408f6b2c504fa0219078303a81191b097385d70509484b05d80a2becbbb433e12afd068209b8987779839d803e35d8b4966f837cb6ab4a5af72c1dc0ef4037221d284e57526d242acd009abdd03186b34916944893da6250f8b6db0449b6eec9bc38bbb7ade8af011f6c3ddede103294636540848cc5e9f5fb0aebb1d256e4463e934f8c4630e047097298d7c14ea0219ffff03647418fac14a40420e15b9fe4caf31e2e02b542a80e87019f10accd4fe6ddba303a33173dd39a3fd3c588251c7aeb6b8eba44d425acf393797743e6ca0181b813103a2d420233e8290425b6d7c3cf10949709fe5430ff0511b8ecffacf7c6700795a033e317fb0c89f8cbdc2c53640d271cc93e80e5a71c87d20f06c2a22fb5f1df26203dbc9038f68fd291c7efa9861971db513820a0d89ef32d202d8cce4b57d21db2103624013a5bb7d3b800a09350f49fbe1d4b24655a77782cbd077025f25c7c992a30349ff3ef74560431e7fb2f9af81dd89b9d30cfa12bdfd500641b3f6f77d892edc036faa5cec0d98651f8771f3186e62d150f4dcb304319b554154088e31292481aa039065073c12076065cb263c1b2d056dc028d9b6e823ddde86bc8041410376a12403b13af9c9b789c11349fc6f196dd19fe3b5a783144164428cd81841e02355fdd9039e61df8aeed0f0602b5e0fd3d595fde9a136e11304fdf5a339f8b7f264a1cc320332e7f21ae8d305c0791ff6c845fe3dd05e693fb11a67aeef4465a55246901b6703dc387fddbb9654713a809cd940584b2730c96d8c085c52e654bf49dc44d9d44b03e7b07d5fec701d537f570e5d47f0460e4ffe85965239b643a503485ca3b0c46900582003662ea55892d0ab6d6791126aed9f7dabdded69c4f47f110eae9ee2c4c8d4605820ffffffffffffffffffffffffffffffffffffffffffffffffff86adf09f38864e00582003763c156a751ed5af5248773b7ade01114316c5be9d15d6017fac23c5547420410200582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec05701000194909075a7a1d0919724de8e46f3beb9f746b90b03214c0f08e2919e03349df4e8a66e54ed8aa4092772b7a1ffa87f37f21ac3c708005820039a14ecb4695b9a183ea071f2b5f7c41fe6d8873a943d7d1dc79b60726ccd205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820036b650c90820b869f0dd10492b88cb049e4a2e55cbc26410beb492a45d7ab304707b66d20f70aa60058200321a391c0cca73953eb660387801ff170354b965c0867680a64c1bc1cb6c8205820ffffffffffffffffffffffffffffffffffffffffffffffffffad4b86275fdd37021956640355333cd5a88f314183e09954f53e635c49f8c1c7d5c20e8a37d1eb3b35a214990219ffff03032a1f3a95c3f3467ec6cf77d85d740451fe7c674a5ca4f2385666ae0cb2d53103f29647a1aff6ba7c0bf3015342dc3bd8481a11a8615a17a6be647ca40630e54403f0fd5458f4fa124aca87dadb3b6b1d2a7ab073db7fe516fe0b14b5e20bc7de3503bd9700eeb7192beabb6cf006b46e44efd103b56caa5a71973b94607d83d962e7005820039f1dbf6376b799c2b4923a433a4cfa9d2ddd33f92d3e8e043a14f41b639800472386f26fc1000000582003c329602ebb0111e2ab7fbfbcc1e176ae7c7a2c1aa614dae36377a5fdc16bc047060dbe184daa9700582003d18c9cc48076d9fa1325cbcbd1e6473cf8b3ecd7cfd14c99d797f8ccd7c6b048037d51effabaaad600582003ae60a55f65113eed8491bf9ab981418dc7c2f03a51ca58d92a610b2c1efd905820ffffffffffffffffffffffffffffffffffffffffffffffffffcc639564f49b8400582003b109a5bf58e8ac75e9350d9445ab227eab34c652f95a40c8a6af7349c949605820ffffffffffffffffffffffffffffffffffffffffffffffffffdf47b0834b6cd70219118a03d1ec1a23eebb2ae22e66dc537b307e76af4847c4f6eff1181072428a2e19531303465c6224cee05916d593f31f3c3423cd1b9dd072ae2cdffcc85dbdccc054fee60058200343b640c4794670706fcc8749761367a3570c7f383d4a6bb265ef6ae3bfe9204749c1df9a7cc7b400582003f2adbdd7e01b0054fa8847be502218d13b28c0af67457331aad28ad63047c05820fffffffffffffffffffffffffffffffffffffffffffffffffdbe13601a76c4bc0058200334e6cf985e3323eebe344a86c1f6178547c09987a34659a31e4c7e561ce3205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200350381a9c58c92372f4a72b0da8c73ec66ed11fbcc04d3f0daf447c744944305820fffffffffffffffffffffffffffffffffffffffffffffffffb83402eeef38db8032bd9b4356a61176d4bceb69ea8775f54542f0df447d3cb7eabecd703e8b815b60219019a03c09b18ac7cd8279caef20c7539e8c35ac8d5befba6f2385e97ffa18d3883ccbb03513fa6678367067a8320753e9fce2f1d45b3f471e82b3f9e5371de4e184a7cf3034fadcd607cf3de7ff69e3d6d9aa5299858247e6001255f333d34417ea24b523303327d5aa093dca2509615b741451034cc9fb1c4d9834f3563fff7ddec1b31ae95033c848096bf9cce8e5336f175edf662f172f2623879c4b40bdd8d2b234d40966403fdebdb248d55a5ea27654b59568e48194b824a9b72730033a612a1d2a7d4f60a03bfbbd7b5fa28addc6ac87cc31df7f98c37d0d383b0be1a2bc1b8a9033fef1dcd03b3efd937e70ad49e3605358a82a16e1ce256323779d95a5e7e10ffc279bb5eea0219ffff03d60cfe7d21f875ab6e00ec2df068849abd93a1e3da1b3ecb7c17c42e17f709b4034111f5b7178d71c00d91463bd6e73159ef57a77ebeddafe3b92aecf994b01c640394b8cd6ad942996d78a631e67c8880acc2a5a6569b46de8ce3955ddea2217ef80357fd911d9aeb9c5b0e9d60c0b4af881f5c6903d0e8e8e521449777d17fcd044303eb0afc8a39cfa792cfcff676d28e6ead202637c1564846399335968f2eb9defb03ea1cfdd3484e01dbcb3433a7bbf4b486118dc0868608efbd2e20b41f66bf30490351e24f23e271964483f9d23cade0a3e054dd1b250ab3ca87a9f9c2c3ef4b75d00311bb98d32cad0598a9854b114bdb93487f415fd4a834a5b1b2766606a64412ae033a207a364904b87f841268c98f844fac0459f0672efd769bb8a39747a9d132200328949891a88a69ec5c0c50945f3f59856d950067f1c44aa9c8974bb18581f080005820037bec0bb0c27372229888a123c5da956bbdc1cf78eb983b2c62dcc6f4d918805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030f3211ec5710c2e298baf048fd1761a597a1aba676309679c53e9c21f0a3c05820ffffffffffffffffffffffffffffffffffffffffffffffffff95587dbc732f5400582003f4d6b70d947ad3f47275a0e33880a8c8f608af69d3fb7b7d18e242b4481500480f91ec30665a684d03428c9f0ca7d94a101c217fcac159fcbbd1b644f3a8dde49330b434fe14a9645702190744032516f9f797cb2b899835b3e97b358e2fb425bd5a30823d7cacf55cc64e2d18400351837db8114e5f341574efdd072e4d00a45c1f7c5f8cdd41a0f306a3f84abf430389306102af712f39f47891aedfe16518b5f82fbb5ad1baee6c927fc5775c6a68038641d9c03953bda6d2bfc8e0a44f66d7d9c4d7325885e341d133c4ef89f0916f03ad980b866d45c2af451f236a2bd5175008890adee6a8f78e1fd8c34b62c6482f032ca798072494c28f05014e4057e8031fdf998a0acbd264a4a49b4fe61a81e7320219ffff03670c09d23f26e94056f537fcb239ebb04de9d5a8d84e84214747d7e3a7a689c10219ffff05581e03920dbf90c291c42df73582df2d671073fe778b5ce76912a1203611f23007011935530396ac6a791505550fd0572614ce0eb06149926d9ef34caca60a2c50e26fc679df05581e03eb3949c0ae847f404e6dd6c3cade77a8cc19eb0b8d97fedc4f356fa0f00c024620516e73fd18032b04d33f3a6655885df54a5993c433c5f762bd02ee99ea902dc684b9e9ebe27d05581e032594e63148e6a056f6586bf4bc3e9462addfabbf0681d5b2cbc9869400084706bcf29947f00005581e0374645c18f6d6c35dfdd70cadd3d7b8f2c3838c7555d99ee33002e592500c02470299620e33e9cc05581e030ee96ed47bfd300a3c41bf6ceacb6e76b7b13984345bb12be55bb9d2f004010360aec435f31960996564ceeadedd9b4243dad87d005817858857eceddea8681105581e03011e7132bd18a6a32d7d642897419042e64d4acbb35ba5dd3a0a4e26300c15472566302dbe0bd70219b747032d4e9e58d753e6d7f9c60b67b692f54b732d2beec0360149015b8df11253844e037a3b224260752ed7ed75278ae916aa316911f720be9d869bee10b62e27d6da6a0353474d785083f6d4d464d39cc1d769889d3bc7f6395c4948a2e9aaff15da4658030d48b5e3b472729afad6a3611b40228f1aa595c8ca504ec61aeda4f333bcceba03a6fc85e30aac5090027b477c4765f0d847b245440208e04c44e1a8019d7a07a8030f957f213906d4b2cdf641780d79ae326461868f0d0331d6c177259ea3adb47803ffa712603d853db64058b65b35f76ab11c0ad590d935ebb3aecf6d7cbbb2fa9303f0470767cc550fd90e5b154f48f542a8c877d7882f541b1b811da0fae39d4dcd033e33c7672f927641792fc6fb8b19ee20cc348a7cf8832da82050d997017661020219ffff030b36632e55a6d2157466d64541653e1e1d5fdb0a38f6c382b43a740ff958be6603e1d0aae9fe8a0c1d1358aa2c9567c07b2db11a5a335da0b2671443326aa0077203ddc970b86dd4512e4b93fba83bac8b03713fdca373906b99872912438124c828034381a3b2cdedd16e3d230dd8de057bbdc2625e28de4e1625e4722b77b6f411bd03df424a6a058e3c74f0f97f5ec516ce2a0a830c936d43080a33a13d2ca935153003eed894e60dd5e454ef27c98ffb35723dd3caa35b74c3765e3ffd9a3c30dbe3ed03927a9ecf7eada3d9a34e10df480fc2e27c6899903605808204fe5915b008dd5f03b341176e0a243c99a1c4115b386c35a4b9915e5caed3ae1cf26b892dbfaa026203d6b6e23e1dafbf7d7d3acfb8f06284fbb80f13074cab49c80e38c1109a5fea9203ab3dc31146c769089a32050ce6939b4e58d56bdaeb1d75d5c8e2c07e76d963c3038b748c5263061a94a21a1a0e169eb737a69f53da4d78c40309e0c3c6e0f60bb80219ffff038c92976f18b928da8339927f429944f8ad6d0f7bc2ea7af8a22d72d9d2123040035e0e2ee4478531b3bb2335e1a9dfa408337bd2b110d450de2b150e961e1d0dcb03f49d79beeafd9122fdaaa10f0691c9eb30be2930d0de3b494d2c96e86a49f1cd031898d52c78de98adadeeb6fddc410ab1acc20315e07ba715649dd403ce23b1ac0393841d105e239945f993060ebf5408b98d0ad586a1bb066c800616dac2784c5703f725defb2e311c3f8f394e6b94de9063e9583d969e58c553fc991be27a37342c03ee7b4e24925ff8a4e02f8539ed8bb0659251c2d6b45aa9febe62e57471fb534a03d25dd3bda8f8c637c7a000fe2aba1def6ba9e7aabcb2417907c6a9c641a2456e0392751c1ca6b063a7cce1a21cd33d7c3579a2b47cea98eb0d0dba2272b47ba99703705c5bfc67fd2717466a4260db6291d0467c58eea38d4a5ecd2439c440293ae20373f51d074c1598d780391ea1c1dda1929fd2e851abeccd10e16482a274622c0b03f9b69b96efa3e242c2abb7e17062cfc59f0ee9e1e1396785046cb6e8c7cdd8fd0339024b875eed96f0841b66d5a02e735fa190a4e39f02f468ba8e698860180398032682825229cd8677939619da8847240c563bb56b84304d343ef55438061de27503094f27f96513393746beb7914e0344b630fc694aae8bf0bdbd048c0093b0da530219ffff03caa41a304270e3ad43272d46c8dacac4fb3d8361b08b2a7c58360ddde6821be503c75e73f9220fade5a5645f3c8e300eff98befd8945d1e5937c0041eea579acab035b0a8dca557f69dc40326cb0bf15da933ba45a8b5c32cb0b53e8e4fa747ccc150219ffff03df4cb6a003b9ff8674917f7aacb5afcdc90c49c75064e9d2add2def5b14ac83003999fbfbe634290d1281e943fe4f2cb8b171a91ed0f309651edc67a7d9a046e5c03afc7b25e0ea95a0b81f56efc8feda859513ba8ad2161f2f68787caa0185f084203b477b2a55446f3b1a6acb1d5238b0a60a0b3ae15806f6dcfbcb21f4d2da32c4c0391f0c15af32b5d136d29354942572509b2e96e68d832722d786b6331a5ec7d5203e9992d6101da169c3ac4130756718b82e3a51344be97b89223fe1acb5275ca3003a23b37f23c2d2379bd6e9abb4ef12c12e42e20c736e9d56c136d6c8e9db28a9603e17aed905c3ae56a40b15a1056573b41accd96b3923c77e9abfe200c662dd592035cf9e49a75c79516d5e2d9b7ac5f818c053c83a0a9df1c19be55c7f7946bcc68038ac581575488f03dae43198f2800196a63360a249766f4d9688fccf763ed62df03e07837619b0bfe7ff2bd40d4267ad5329fa2ca4b71fe567a90c9433e068bf32d0349679e3b4f597c8ccd2430357d3bc0d269b86e450d8e116c87e618afa9cb16fc03a2696428a10743c088ccd8193a7237442d7ba28b0de5a8442cb9c647c401fdac03fedece4a5859767f9d27b85ca1d0ed92a266b1f225ae791df636839e0681751c03aa70b8c6c19c7cceacbb85e04066c182496d54dae07fe844bb7fff2e9b73ea9a032386d2cc47f73c70c6c880aff298178d16d29530c3250f0278fd4ed16ce31dba03139d84d61254bac262e486ac12269c2af82397a121f58a3a737340f065c7f23803fd39688dced57b9d4c48c91882b83a71a933ed9a235efda7b19b005e592fe03b03600bd42453a8c9c21e6e908201cff3b7d47f309f03809c38ea57ff29c99f8a2a0339a2d62bb71ecc14a18c171825ce71fbe9ecfd5bc38288ae59ee2f213158597d0320c11d69f13271b6d39aa4c641b095e53adbfa088126841dc212b0343be0d0d503e388971ea44279f3b48ca886bc93dd7402802f5e38eca9ab20a4b80ce3d7f150030b78b96b253b4bd69b85e6dfcfdddfcd6b1cc28732d11a568f48df5c761c6c8103ddeaf187aa87352edd6b4e875c7fa19769768b9ce391a1858f5beb5b4b93f074034a252737f8fa2a633ac7f66d69c081f58f7fdce8d5aa8b518e43a555b6adb5a703356314c2f33f6ffaf959a9a54aecb3c5fdbb57958edae4dd30556a9411b6570203d800e96e15f3e1c3f74818e3da964a0b704ba6173718363d99c795da9554f9660305252ac2a2cdf486fd68d2e1a02e52da5fde507bfb526f4fd44b67ddb1ce0abc03f3841987206c480b6b5f71b670c1c460e963daf5c86a5ad88c009dc3e6caa6fa0359f98ec29bf276b437e5477a7a147cc688a11acd46cf1f862fbf7daffcc91c6603e0cb6533171e8566718f40c79e321f1f3d0ce846784e38935751b0c7ccbf745d039998a673609716026712a4a5e85607231a6c3761a3c1da5766ef5fd9b0fe45a303707331c02ea7d9c08c1711d8264924b71c1d384e4d433fa87cba4556c51d3dad03ad8a78057681da0cb16ab97adac54450b9643ffdaa3503f4c596d97f39d97caf03073beca6e3d0838df86f53edaa2106bc4e31556dc2ae7b3e9f03fb8ae2f9abae03a3b5a321ce02ac0612451b268e40dc1a88ae872be3025a0be808133247a29a3e0388bd1f00ed7dbf3d8e4363955d89084e8dd4fe0f5409153aef0c7c0d3728d80b03d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e039fd23711ca69a2bcd9f3213af78a098d13be200362aea6cd9d765bfbc007011bffffffffffffffff03f0ea7f7c242f822f738d9e82dc261e9def41f12a2925decf6de10addf4f9ad8b03c8cb4414a35fa3e2288334b7a3b413f16d6f7c9eb0a8643c2e8777d755d0041b0605581e0367ae966cb731cc161cb329035b74538499b4347ba8adbdf80f4561264007011bffffffffffffffff0393daae3d81c0c3f36952fbac2778b679af5d8b1c1f38c983965d07550039987705581e032616fbf7ee8bbf6e4db402e6666ed9148aa937eeae1e7da878fef0ff800c064705cd46cccf119805581e03a9e02b99200fb618660c03091431c7c89cb14f1f4e4a89e98b94868df0040405581e03929984204fe12c0f0cb8a439c6a6be504959e1caa44c34084bd6fbc060040105581e039a7116d5d75e7b10c899f1e44cfa3ca31bc5cc37901df2ca9431435f50040903de1be95e6f58c552a2fa8a71bdd90e9e6e4cb419f4a80263009f7a115904ef160219f96d03de453249ed50cf78f35e10e431608250193e5e55b461def0b9b6847e735af88a03909cf1f7c55bc2fbdcdd5943c9de78c9e7e06f688764a41bcca7f6b84b957a33033ae374a7185f026d57e8c4f8a76f986ff51ff35b700db03f7f0eee351222270f03d23689b7580dcbc6da1551bacaa2ac930e5feb211cdd4fae55821bbdd22d31cc03411dbdf6a8099cd61b4bbab60a2b3d264f9deb1eaec2478527abf08ebec183f90219ffff03ad546d2ed89f1c76538eeea9cc8466e3ac03256529ea6adfba6abac3f5e0d0ab03524026190da884c8825eaf045254325b2e291478b5e7f6b4e1652c70565c747b0380fd22080c91d0aaa6ee1c054f54fa3d4331f8408bcbdb5f536297aee0fb215f0389067cad19c7c2e885811e1b721f776edc5d80caa6e427cd04592d558ba3e6f80219ffff032f400e70ec591b1cfe0eb939bde581db011dbb5373d93e3a5e79d82f573b2f880219ffff0384cf4ce321944462c6c904c315057648bf71346531eb8188934470635845120003b288e531d5bc01634f1da354cb8050ab7f5e332bea0120e79a4ae8126b0fedf70381e8993cdf4668585e2ed9da8ff8d9984c50f4606dc4b7c379fe48cafb98856503f5432309528c34b864cf9bddc543981652059975df7be3b66cc567d2390169f203d68ff3af64bfd1990b2b905d1ff41023ad5dda792b47329bbcef1f8a19267ce403ffb8d0d4bc0b58ad263bd37961986bcea9aa84c434ce6340622fe58136c9b03403fb1e3c01942afc210c04d72e59483cf0d494ff0ef544f18258c33a3d999a070903190efca9d0c3d84172c5f342016661c0732894140d0f9a52f4f455d51b12c20f0391dddbe59c0859b2b73d6f71ea7bde4b737799299bdd020e15f4b1575503682e039457f4862e2d95fb45063bee3f53bc64582b89e88f2c26be0c7b831ae779992f037d908575d60530c2792f9ab6bba992ca3c73919ab25801fc422455f5553f4dca03e72424baafe68938aa6bf4b11c8892027317302e17e5be2c064f41130e9a639c03bd159abf22505a0f9d86e25d4546b9db1b21b99265f432f61fb42e879fba0fd303677d4628e8f72902583d3fcbe1e681966ee25802cf9455a0564fe7f13db0976b03dc1ee897940b22a4e28dcfc25173c0ba902bbee0713a338af054b43f6e88c2fa034b2c6336f0e2669ca3ab30bb1b64480a7a22489803bf8a341da83212f45afec103e9173c397fe47efb6c9da52ba1be88cec5dd56b93b32422e794fed2bd666b50903abfe32136c857bc1fc713c9b3a05d5fce88cd7a005ad19bcef82de50ee6f0f260328cff8396d5bfe7c2b718acabaa0c8de0e0f5e1979a5d5c37f974833763d4760038c207677b300edaebb5bde32a2fda0f06e7052d0c85c845f6597848f3ac9ade105581e035ae95021a1ade74641ad3ce8a64ba94bccff7daecd3bb852fb00c73c70040203436533fc5226a40c3e96da3863bcd46aeba0d6925578ff5ec65c77b8c6d54f9303dd24a3cf35596e3b73254204d3392d640525fd2982ccb7170090956cebe1be4b03ffecf5a44a20a5cf9d3b9e1ab5080f6b4e99f8c2cc8319fe4026681727aab50705581e0319f5c513aefd3c50c69364e813271e94ae42766778b180deabd41b0a80040105581e0368e9eb7b557e7874e565112e30e35d931c591fd2450e45ced20ca467300c014701e7b057cca38005581e0355e8dceae92b0c1826dc71da22f32e1b978608a3104719377b2af06ec00c190249473c2e7da095cf170358587c50005d1d3038c2cf7b50bd566a2f03b45c287abbd0c508ed9fb152e5e003b11ef32ddae3dea2a93ba603aac997ce9e2d5440bcbfb48a370b682fc1de378e02197afa03815fe76d61db2d1d304fbf02c90c65be713c935af185a5c1650efe61bd3b7b5b037d8cd2c04ff85f9efae224fc1ebe9a09d4013dea1c66af1c04161c5ae939f11a03138722be06d0b38eef37dca3fc0d9d1c7fc25a72f48548d3b4972a346b8eff9403a63431c0dfc99aa6182816c95dcaa73adbd4e5906d1d41cfaa3c91ed3962660b03947283abe998ab8281cc79a6ec8ab524199f23bea64ab7fd3bf35b49899c6c1603cd31169d88fc3ea0f290e19c1ea01be34974fe380f95047f60855fad27d9fe64030b0706c03dd87a5d2f2586bd313c2dd6ea98e349d0872df1d9341c2f49603ba20319d22d1dedf8cf952e1880c4d14e43684fc3d825a10a54fd0cee60312d11929d035d9c8839179eb6326e668a323de254579e5cd2eede768cd62cb44718e5d9164303ee2e2a6ac7bdba87fc000b7e33ec3f541647cfa8893f9e05662555e4445585350369e36a1d3b7beb8e45a176408f92cbf101d2c587c7051248cb690245fd14eaee0358b1962b0ef60f423296e090992090142d40bcdda74addb2878ffc64ff8cd343034aa14b07de29c394840b33e55e04e7a18d0bb8ef859a1df41c3bcc97faa8b9010219ffff03c7babd7f1efc626fad632b68c87b178e722ef6b5344f74e2f7d056efd179874803bf5ec02c0c041e674baa404b0a5fcfdc04b6df333c04884ae250106ab05460870305d2d9087669ed1795fabb5b48dff55976fbce2edb69ae116c8c68ce41e24e5d035ad30208ee2433d9ed849c3c22f046516b437335c80f12add214b43faca6e1fc03e6bf969c1396ccc81cec235b52024d1a6d9e9bc20fab9a8b0d856d098fa54b4a039eac9c72e59dd3243adba8a4d54286c60a2b3989b12d587204e28692b35599a603cfabaa0f6f9be13cadb18891b994d45134f869f68dba4ff10d67c1b05fffd7bf03b3c83f79764601f01eb336f38154b14d1c194f84e9bc9e5c453053388a62eb0903486287d2ec5a21880c60ad51c687bec5fbc10131e7ecc189a25622edd0c9f819033a1fb69a26bb348cc7cfcf92ffa29eebd01e70455bdadf2764d2ac7faf528609035b25f38b4792dda75128814f4dea1fac6900752b2c565e708758059fd2553026039fa585c5e63fe7bdb154ca79d08481ec04dfd787caa3b9a42fcb22c5bb581ead0395ee5c380911b9937d9943efd8fe02a9a5a594ae16711e621045e4580df3e97e03459fe7ee40f9fa00b483f855de757be3a3ad9076f6ba5b926cb3069be73cf4ce03ccc325aad4326d86c11b6765ec0105828a2a4332f19e30c27d4d46663eb5a3720219ffff03eaea2735daf98dfe197a580cb4f0a53c5997c6ca42882949a3dc80df41a2fd2a0219ffff03f1f8df9542bb39b443ab16b10abcf9310da5eec53ad31d4baf0a47dc8e5682d503cf05591776d451abe71523df19ff662356ad86cc17f50e046b4c41c1d5bc2cc3033dd8132f95bed331a0f18f6def570d50229485f6d0b7a21a012af42bccf1d0ce0375d358bc2a25a17bc34148daa7188a58b34c46e498c072cc10ab233843da5c9e03f752e56789a27641971aacb5487d90864446d6e3232d05ddd72ef96f64d126240323ec57ffe3bf94b6d8d7bad3fd59d7959009334090ef055ae76bfcb60af67c0d03a7a033c885c414989f5082f9722873ca0bbdb5d298a130af0d202bfff3b5093a03a2ae47df2320a8cf7a0519cf5d732d4eb62860e1cb08228fafd9b325ffec32380319b282c8f2769520bdef478d906b40381114b606736731ec84117d258492d39403aa2123d9450412cceadf12ca15649b501a64c06ab47a26a418d5bd27661e4ccb03102eab5cbbbeee14a9480ec05272a9d90b4db2e18286382d02a736a5206938c703ad60b1969ec611ae2940533334c9d10019fdf26bd2a874e6414b5ae2453560860219ffff036fb30a217aa9284be733451bdd026d1080bc8858d7a8daf2587fb03befad1a2c0375f46656298ff6fbe960b87ca8fd2bca03db6e98729369e5e3a1cdf4da2ab8e7033cde26840966eb59989141b97804d5423b47347f71e0dd365556a9822bc1888b03641e3eaea6654a8dfc30ea03653aecc115f7a38a682cb62001958c9b902103000345fa196f2f7592647ad1e6508cfeb079734c11bbc275396286f3b523908543b6035efb5e780cd23d8f8da6d466952ff82aec2257fc071f4352953797f525e8a30b0394fa16d2ea637bc3ccdab8df48b0e6f9123cce41e80c14c7de89f0bb8c65eaf1037d8ec54438f326bcf9665cc7db10e0a72943fc3fe6f65b93f2609c553174ae380335504229bb135ab980951c04a22ba8d9829b3c4efecf45c5a08cf74c4cd0699203863b40f3e9f6bdbd8f08995da3d1e0578c64a940ba8ecd12fae0c864d11b9661031dcd77a19327bdb259f3f75ca6624e85d282691ef2c14d7f99134285f45f271e03bb3121c79eaa23668599a6822056f51d3c136c4afc12efb046a24b8441df52650305b2e6b5434ed641d6023ed2e542e725b1acf0be0c15eda734d86517d55deac003c326170c38ef662613f40fdf93c50f62971cb6d029b1177103623b790f96b1c303f24df0a6d3ffab6977046fcd8110051b11067d0598e1c9920d0251750c9f8d65032a464526946e44f68f841c49e339bb088b527036677b78da24642408c43875b90384d1207f573253804bc22c6812ef7a7c4cef79db695ab28de957e51da1b395c8034f5223610246b5cc7b5eb1fcc065aa85e57e9e9f555bc5f78cabb9bb8ff5a43603f1d5e0e8e6a0f6a1c43628e2cea64c96163162c3f522d44e894a68c9a624e46603cd1d20c2dfaaf3ba4424cd60bf34101ead41de17a0f5bb8f2608cdd58d222c4403f395a639a735a436eeefff4a75a047e4181b1267d5700c5be6432984261a9d8d031be3e88a83db218cae075ca127185dfc4ef39a9e60853a574bf57b88559a65650372cc0cb4f99feb4c3df506e7eb4df7961b0e51ef8f16813ffd47c2185af481e5036c575b1a2bbf65ea9f05e2294d71547728153fedd2e4a79215a418708cff2e1803289a9616f20571190f3ca4802ab67bab597f2326a8cfca6a152621bb4509bcd103bda6d7f559cc1e26492ac621623ad05189b30979a22a7a0a33ead3507c7eeb2003ef9290c5b1a0f041892d2d7c88f98c02fe1ed14201584e36598507e8978f94f205581e03c50afb048978761375df0a0ca39048e7638dd95564e8cf7c52a61c6ac0040105581e03ec8e58a831b7dea74d4f4645e050415429ada861bc66f31bb7d2d7a1900c191262482fe50fa255e401e505581e0383d012023c514699a0d0bd7117580721cdd24a500c2f001a083a4099300c104703bf1c3783d4a003ba5438cb40cd342d7964308f69b2e4fd0a4c87f28a43c8c9517fc12e4cfb97bd05581e03aedd381f9e507346ae0366874c513edadde9f745944112f758aaa266f00c05470514e369d04b8005581e037c72f51fe57e7601e9870a468cb0f65b9b70fc1ad569b2d741ec59abc0040803bcbb9087c29c440b2d2bed892b544ac0bb1887f726171135679d8491059cb86905581e031546e58c1715c4fdf088cc4c06b91b441a29bd9d6282c63f5fdd7aefe0040605581e03e2e3c6be502905449e6c8edaf9b258b5158b6bc8db5d3a771ed55c55b00c0146b5e620f78d4005581e0368a935557b2e1467cc8b1de907aab3bdc5a36314438e847309d2034bf00c0147068f4a801d000003d1310a2570e5e7a918bfaf833e8d2588ee57f3a5e5b538e6c064459e79cbb9c702198df703c3f90bfd8a75165535f3369b554fe8b417341ee3616e60f87c350ae4004f4563035db7c1a1850b3e9e17b1022f9176553bea4572d67384be802a37c403feed7a55035f6dc32069f078931e868fd2c488042d5e33bb2afaf9690d7114fff036b1b46b0309c5e442dca008c66809ccb19bf498e1e45862674c384bc9051873564107d9e003338f11d30e6d3c8059c1825d8e65da5ba78a9c4b2676b05eb8b2d7443eaaf63803155a2949389097c0731f7a0b0cafb8f57c43369867da38ec4d6badd35bdc254d0219ffff03f3ded2a208a580cd762d4400434d3613fb06db1c93efb5f3a89e2d5b166ba75603d73fe40436af9d92801981e0c113942657e445a226582cf1a96c592ceff2770f0314f7b2e0d20905f0efbc4fc2b182decd2fb43be4e9fa6c6c01d0619a687c47cb03fa6d1abab7e60ed4fab9be745145096ffb014d0ed934201624ba739c9f6a7b020365a47ed18e59cce7a420c075c970d6b7c2d9344efccb8542f5ca1b325279ac56034bc9affa942075b731a840a2bdaef2acd374ef79c643694018e9e9e66279433a031d30fdb8b21c6ea96218d65545ee927847cb2012ed6da8b50ed61c84833fa6c1032dfe7f79da941d48a94511617ecae964921ba3904c2b6038d81a34569cc5ffc2032384faf050af75c02ba2d1b7354fe9cfeda953fecf7687349f5fc401922d334b0219ffff03185b5efeef603419ad96cb47256487c180e697d465cd1fdb720d113bb4617972037ee5f700c35fa90ed0c2a6c3bdc1d1c98b2fe8262aa36e534923da28435e755603568da0d57e197b4dcd1010535b75ded70e0d0f7573b39c8612879048f01eb1c3039ae673dab7063e3ce4885531716a1fd21f284d975233caa06ff4b605370fa49503e0357a0631148f074f7c99dcdee1f8322ec72d29644775d345c078a948e46e9103996f69d79b8a53bf0ca30b4dc3d4558692c8832ec80cec913c0b7f33b4922173037d77febb671747c808e8d4dc15a4808ccef64a44626ee69c11043df8e208bf7003e9c81dd4d37e206d39343679ce203dd684d22276e33aa41bc531ddc9f930cd1f0338ba7c4e1c2b9ea6332de5ac021025a4c92a92903fe2e73b1da05f9e5275bc1e034924c7f7f3e9c9a5d40f9bca8a0c8a280f9bca42933a81a6b2a2e94e9d912e520219ffff03c004062dcbcfcad37dcabca738ecbe2c2d1609bc6ef19c85267027ea55ed4313039cf5b7994ebc5ff239e9c85994e72c0fb23ed50e51f1668954f63830b0aa49bc0316c9ad9dcbfbc5c01ad46febf47b4b60cbc27d87898c727fdf1eb24358f55b6203baeb95ebf6d133c39fbd04b23820b53f159a6f84d3aa5839250f6bfab21081e9034b2da499eedb78ea069c10f6fac4747d1ea04785e1d54974679e0b9631dae42903ff0c3c9b7d54cd0df2e8cc02916c24bdbbe58d2e0727ea2e5a184fb1f8c9e63203fb987dbdb0741bd4006897e4b8499a1d9872509bc478a959dc89d83b7ed3d72503c737a789afb8f13e202dd29a71f39713a5713ef383edaeff737476a32528ea3f03d2922bf8f212e39512ff6858626e8f6337bbd0180d6d96eea279ee2c44eda380036b23c96624a4c754d572d43b4eaad73d151b1e1454ee99197d72eef910eb91f303f4e64a23d703ca6bb7b9ee833182e85515382820d249f4e38d791ff82909e9e203a160a571b1149658b9baec12e1911d5cad66a4e069849fbdb1de486a4b15917b0326ddadf84c68b729ee4182fc53dd945532de2aa35fa570acf8e1e6e1d38fc6690373376b80d4e6b5df9c9498e532980862aa9287a108db2a934107c6544bb6096303169d567412b9e695fb66594edd2fd9538f7b3c3876e56a61529609489921121d032ff8f37d43a0c033d04b709c6f52c6458da3ef6df0cdbb0c79ca630f4607b41803b60cbe6f97af9e1b221902325100c5e014fd14b17e4d9484a61234167cdf5ab703bf1bec706695075ea4737e24618799ce32acc79807b01a2181ea574ca84c44ed03d0d4f47873c682f88e4993e377668d1e46661b41352662cf1af4592c47e6c38e03170ad626bfc3d44553273cb905f986b8592ae84f7a6e4006d8a766e59c1f734c03362ffb7e2b47c2e28f107e34f1dd9a44d8840364a8d28047e9a4a26965e2b0690395105764ed588d4f2f8f0e7bcd03de1e5ae3c0392173c17d988c8e4ad01ef9cc034776cd7b411ece4898cb871d3acfe2c98cc9429e0030a9d771a8e0a16ce38d6d03ef026616b5fd49b7cfa2ecc67f78c2dd5b37db9c0965312f7c71f30d3babbb6203b75a39c97d2afdfdf10c1a70ca7e8d75c2714adb24f6cabdd085d2e745773ed0035ca26c9f4a0966b2e15e7b6196ac69a766e8c7d3ffe9b876ae1a3f205895f7fa039cd6eed153e60c5aeba52653362d99c81dc9ac986082ca8d9380a56cdc7b55bd0307b24e19791a981fea952631ef0176c276c9de0a6cf50ed3964c624c16a92eb10313ebc76bee282acd46ab50d6ddc060717de040fb7ee73cf9ddb4da62851d088d0390de56b0e69ccf9e9871a7b2f488a774d964f75c637e7406ec558b10ded4623703e21ab7743a42996dd94c878ead177515c2b41da40a9dc1aab6d86103764e5b60039275ab77846fd0122d94e8d761940322e3be13f2fb04b461bbe2120890afa25203601ca48449e7ad86771ddd14b45c7e245d04813ddc9c5b88623709e3b8a4435b03901b321e46a9d90ef443e08bfae52050e3cccc25dd0ded332f8ffb38d2ac0095039039760287c2eda80af0ecc717902d2921daf371ac1addc2245d2b1b4bb6ab360324e005e6dead76b4d5e67ab8cca45646cb627248434658b718a82372d664dd5203f98938ad4f73843437cbae2606a71fa4fea8decd7dd5e24b7e7e127da2856c7b0348aa4f31e00d5fa47f2160e27bc0bab21cfdece9be02eb252d8cc7dff657f3d103111298bc3adc5fed5b8092696520618868915244b3d6bf6a7823e8a6e6a7fe88031ca7b850e56f20e1f888677dcf47e4a9d9a3a81463fdba631db80e5fe531415003fff9f4a15166c19b860ddd84e8143a18f8ede7d748c6f334c9c34e24f4177fee0373d58f3c417217c1a133ff83d104433159a49da5a748722a10a5f64131bd57b005581e03e871111548edea70e5afc333046eedb10440c0aed9e1134da11c9ca080040203fc0e21b92ad6aa896984629865cf2c2291997e0a18b432461cb47dd162de61770313a3439d21726fac58991727a50099eb5e0909aec3908b47136b29ea2cbf64e70605581e03b757e7a120527d95cfdae89d3eb0188c2054ea07bbda37094c958f058007011bffffffffffffffff05581e03002bfff600ed9de59a0d572a3b3ab82b9b5a84f8fa42bc981a35670270040103b309af7fd3a51e43a6dcf93e58acf0abe5423294b44cb2c9846371fc98cc1ab905581e03a0c48d3844037b3cab6b3096186d773be1dfab15b02b279ca6889fda500c03473d972d83c7364b05581e0390024b13700c074ef11735888af1a48cb0d4d9bb1ae260af411f8fa7b00c0245012a05f200036e43c5f8d8c27db17f4c7982fc7d1f64a23b207f6b8ec1b9756c0a601c777e1d0356247e6f4ee9ac8b2c71e0fde8092f343d76482847f508f5ce718c58b29ac0d805581d02d35d3761fe177c1b3acfd56532c7551c15c42cd4dca3646997a03d790c044749767c989e0da905581d02fee0bc30cda40ff814213a9bad8b664e55f5903e0737e1caffd6e29f0c07467b390b8d2dd0021982000219bf6303a0be9564635ea6abab2bb8b123502c766143cd1435accf545a7e12af6d961e630219ffff0322a6ef232b656200eb85b60d6fcd371e86dc25d78ccfaf0def1912d8b012d089034d84a95dc08764860fbe9ef5f385f4849dc37a9b7835d2cb13123e8363c204ac036fcc782f1d308905f11651228b2e5c7e8ce1b9b28263276d22ae3cf1b82a851d038d6190b5097522b9fff30ce9e1b5c8b2359802164b8e709795a32f92ef5851d603b4ac38a62aeb84d39b26debb0f68a2f525baa0cad71283053863549391c23d5f03853c9367bc5b0e36a45e9c4af1dd73613c721a19a7759dbc9754d487928b1351034b185db94a4b58505785af9688ebad4f80b3cdbd9babd0eab2e6ffc916858b410219ffff0219ffff0354fbae4ec25a3a0aea377e87be9d70627c5e7191d3365f30c7bf3cd2a14ec854031cb4983dc0c3645a5563d5e9d88051f998f5ae5df18361e81fd5caf7b64539390345f3f1ff6dd9ea1767f8034526a4e0fe3aad65f933923229b97b435ab530497903eedba5176a8092db48e8a4ea89ed5c88bb41f0269016be51baf75ca3b36a3f6203c584ea82ad26b8711490054704447276d9cda3a336e0cbf6446db1acfe7b58aa03dd66ee802669b9858c8e67b2656fb0db692a196caeb4189175adb98d56b9989303f466e303590870870a8ad58bfe9d0d8002da4f36f573a154a886db5fe5caf54d0352ade158ff8a6fd6bd9185b91f26968a7467454b6aa7c2769934c7b871d3393f03463dbe11a1177db8781f8ea02a12d25c893520708e50050a5302f32412f93ff403671f04189804c86f7f50508b89c54771bf8a9d8bec3be1f626b1def42375f62503f81ca5d8cce865011b8177c35434b6bdb614e926f71a99beb58ef9ecf0c6fcb4031a8d838528c570777fdc7773b8af3cdc03cb4a80fdde2fe7905dd3fc2cedf1b903ba7bc4f40da394b1956dcaf158c45f7337d1d0df33a4b39465660b0a6244a2d5030cfa2597222414a28c2479d4dfc396827db19d43d7e4e3ca1606fc3c288fc58a03638ef08db8a46ad776c8b11f57439d2c04c5a112f4f119ca463e381169753a7803e321ff1fa18047de81ef62121275ccf3b9ec45026321870a976ce452ad334dd703079dcb353673d6bb9ca489311e96d56ce699d3f6c93e077500638ac5eea4f422036516a45a70526279933a0ddebff11ccfa57ac47d91602cc019a729fbe7e847d4030d47af45a78d8e7a1cb63c2cfdd006a2e875aabea75f8ee7646cceca0c3e230403d259b66d410c3e03a2cfe7c3fc042a7de3fb33d7711ce8e8c8fe74a7beac8bb605581e03e8dc28c0225543a4bfc78cda77a097e01b76b0e851d7ad5f524e3e2c100c014703d0d2036c2ab003b2de974d4a1b43af00bbf5696ae76e7bb127f757e4dd32f09ace2ee5c606cc7605581e038bcba8149cdb8f6ba039417a8fd18058f88d94e7f4ec625918c3e98ab0040303ee01f0bb9bb5b922f2d554de095b08a271aabba7e66a4bbbbee3ecba1485a0b9034d4bb1b47a1b7f396532bebe88965bebbcb5b79fcef1df87fc0458b7ae1e0b9205581e037ea95674434c31539812fca8f0128ee897b0452d334cc2ad979c2874f0040105581d02a4338f55e4b46606ea728c4e13e26bcdcc24591a54fb8fef259bd34e040105581d02a91a355d7fb87d23654ac02621764eac9272310847f3d8c34ddd52840c1a00013dc64908948ec8b3a2c90cac021904010307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e03463ce08b080f1daa1d3fd6abce00d52613cd1e675c9d874c7dcadf0a4007011bffffffffffffffff05581e03426fc6f1b20a55108a98c8f0ccad9bdacf2a3710d7fbef6d9505ac3380040103c077774df9370825239d71fa8bb474e47cc78cc6dc95767dd0b43df39d6fe4a60605581e03ac3428c34f15a84749385cd66a8e01237f06c3c6025aeb3e82031c36c00f014705543df729c0001bffffffffffffffff05581e0301a18a638be1e22cb01846570dc9477900eab5a3a40855c3ab8fbcdad00c0147b06302690a456305581e03f3415bb98a517d436cc19e3743c90b21aa362e32174d5774d88b56b27004010219fe73035369cd88dc1ae7a882ddd90b37b30a045147f6bc0817630b26ecd3c6647941d603b08e8da941977879e2e1b7f84c50149f3d7b1eb685f83c91859c97f9317179600355a026a808f4d7c71e38f84342339dd3cfb18e275a30d967714f3dec4860e4b90381fe80fde071840c770641ca2189832ff0f7190bfcc28dfcc89f3f938e2a925f035da5a5c62847ed1840f648e12b526c416da75102009ec1e9bf5501b380199872032e77499ee9f5923168cc83d2fe98009e5f688b50939a96e1b5faba109611c8a103bc25417829884836e179877a73fc7872c51acbd90b1ad68b7b028a42c398f0880358bf26246165cf9dfe809254d61d6048036cd73698f25fa83ae75f2b626fe8a8037b2c65bab2c50b515da76b569197073835339d733ffe6a823bc0564daa3e9e810319c2caee8e9a9306a01e001a11c23f8d3b2d28e4209a47b87f254571c0d539d1037d0a43b82141a7c904d8f8d03595899f4d62b38c84854a928eaf0c08b63597ff038316aab615832b34a9c9aba8c531a1e14875da9e4777ce2294f4ba6347e3856303a24ed0c2db6e8d64d8825317668ed1739e9b5449ab5ff2616189ef49112a90fc0219ffff03ee7b3733ccc0bb6e265c00e05189554e859d681158869aee852c4ca78e2ec3580319d8815eec4bbe5c57dead4f346e022155e5d5a4cf0bee72b1bbce04b89db0a903c918c0f3b8fc347fba8090042244c2f61b3299973d51b0c6a50a625505fc50fd030e8dd8b85e98c8da351cc7b0dd0be879fea40aa1d3526ab891cc9a75ae69c30c03668299d34fa6facc2fafa7b6bd18bfb90bc6e4c4926646a8118da152e5737b6f0219ffff034a36625d4c21d0a1f4ce837beeeb322993ccf6e9b9deed3d3fdc71e0d8f10aa703b69a7aec517a964786552db527194b622eb2bb32bac4d4ef9a26d7a1dc3803a403c02580765067aa526fa19e6550abd5e026f6e47c87ec9929a696e60b9e2f414c03143c0f549fba971541049ff74545f2fe181e5000493934c1674fd811ce76d89503c8b2e75f819bf3ea2b9796c000bd6addedc5f7cabdba4fa0acaf109c6ae2052f034d16944231ee528ed604bfac02c57cf3a3e8e47cc76112995dc3de631645cea2032f9cfc6114c1874b6a030b355ca35dfe8c6b937d788b0763c46b6fa19c3427420219ffff035a7bd5213d585f3092dbf135413f14f06b17442657149c0b2b118ef9b8f47ce603ddc1af9daae2374a0df670466b859ce8a49f5ec82028b09416b6d1ddea40ea3c0219ffff03e9640e5e9731e4e929d27d9245d3c0450f1c94af6c53fa216f2832433ab91f0603a83cdc24e0724e655b5f9ffaf4c8011cc8c049c3137688c2cab6b8f50591388903a28348b7685af1e036000b45c7bc4980183527da1a6fb6d036b56fa3f490ede1032d4a3d16da199c02eb12492b1508ac41b8bf273a368b7a22831f9add50bc7ac803bdbaed74ec799f123191a830736d059a2b547d29db28b7477c4d5b8512ed6ad103b2afc9aa4d097c02435e1d70306b7a6fe5bfc99a46490c57f7860892de26ac1b03a53d64abada24b61101e2a05db2974d5bada45d6d261e79a668720367059ffe6036b2c2620aaf3c5c4531d773ab1a8b4e27b1ba113742d4f2a2934c024d2a3292303edd227efd33843e4f254084ad63827892c6a48d7f48e3dd44c0230957c87b4640327e1aca32a706635ffe3275e68a6cbcf0b32afdf2d5656ad970f17d8e86fab2603c894abd04dd1606225bcf118a878564c364706a371e9357ab55ae4b7450f1c7d0320d405b4efe574a06706d1da1accd90b50d4a4084f961050ca1287839e6b95e8035a76b48676073cbc7180198f0413c18615b87974d40e7c31a3c23829c461290e036f642d67edcae042ab686d319f8453f36f54a2ce93edd28515c1db7800d68e0003650fae30562eb260344fa9fba2b9ad69be6d0494e2cffcec2162fffee9551973035c51fc1aeef962b7e79edfe0d9a43ad51b5f6361f195b0dd5eb396b433d8ea590374d373c95ae0d9df0033b018b1466bbd9f4068e618ed2c4165454cda74239fce032784d3223bd7090452efa2830d574eaa7d9be3250abe2baa59eb20269a4baf3c03f53a0af72a32dfba637c15a54c7fe453490e69dbf27efadad37d7b9248158970037cbd09d8ddfde5dd64343e173d608970ef6bcbc793b15293cd56a27eb77213be03bd399562e135d500f714f0d48ec6ea964a48cfe300b739058d5bedc576c422c70317dc50b955e40a5672883e81b1c4573e921e159ea26cc2a18a6354053d99fb4a03a6ad4371b965a2f09a5edd25b1cfb2fd906bde0590bb2500a3100007698a1c8303ba227b4f4b4b0802d1e8f504cbe006f4eec871f828f0910058f441b9f1c72116035821258c5a227e398e3589f7e82d374d32cdd408e44f5def1bf2e960077f09830370fcc3e031d2126c531bc61cfa9b0c0a4201a2ccfaad5b32e447d98a29a83e5f038c52e2732ef7d2cbd2cc6c4147204f8c54abce081284c06ea9cbd5eeab92c2cd03a5a0a6d92458d797b8252f53e1e8c34572bd8eaa1a7ff1ef02a67fcafb7a56e50338d7795f7a1d8524f4a6aab7f322d8e0e3833b30ff209b647e407328852f29290326032c3a6100858450d0fdd79ef5e457fcceeaa79397367e321ebaa8dc4da3fe03836165a3ed61eaf4884a2d71fdf67293d440b50ac4e5a8e02b4291bb3335f8330366b1b5dd9a7ff7e481eb9fb813d3d6f6b3f3866a9ca8f8de2871e79c7b814a7703ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03da8a3463ef3b895d0abead8faacbe5f37951beaf995a36dd294a49634007011bffffffffffffffff05581e037d071963854e74e9d6fb4a2a22ea467c5caf8d29c06535874b4e1ce9e00c03464421e18344f0035a4d332ccde18c8d0c408fff9a4322a12f25e8eb53320e16e2ebbbf98406c6f403dbc97098e0abdb7337e089c593e1a36bdc7f8cd2e68ef9ff5e7af59217fcbda305581e03274eaa33ddc07fbdc4c63c2d4cd377c23cef1ad058598040efb81eb7400c014713d6404026380003dd6c438ac39625d25b8dbb889b093f6681d8de2dfeea29ac328baed1011fdb3f05581e0340ad75e31ec8b3799ee9a8032e3d2db6b5ac4bca5274fe8168f25023000c0246867d82282ce8032b451fd66bf31c2c65edb5a5fd8839785ec7574f9bd7257feff4750396a38a0503b54ea7ab99897d67e0df7509018c19570af98c5376afff2d59311b35d1ab401904591255608060405234801561001057600080fd5b50600436106101375760003560e01c806370a08231116100b85780639a202d471161007c5780639a202d47146104c2578063a457c2d7146104ca578063a9059cbb146104f6578063aa271e1a14610522578063dd62ed3e14610548578063f851a4401461057657610137565b806370a08231146103ae57806371e2a657146103d45780638623ec7b146104775780638f2839701461049457806395d89b41146104ba57610137565b806339509351116100ff57806339509351146102675780633dd08c381461029357806340c10f19146102b95780635a4ccad8146102e55780635fc1964f1461030957610137565b806306fdde031461013c578063095ea7b3146101b957806318160ddd146101f957806323b872dd14610213578063313ce56714610249575b600080fd5b61014461057e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360408110156101cf57600080fd5b506001600160a01b03813516906020013561060c565b604080519115158252519081900360200190f35b610201610623565b60408051918252519081900360200190f35b6101e56004803603606081101561022957600080fd5b506001600160a01b03813581169160208101359091169060400135610629565b610251610692565b6040805160ff9092168252519081900360200190f35b6101e56004803603604081101561027d57600080fd5b506001600160a01b03813516906020013561069b565b6101e5600480360360208110156102a957600080fd5b50356001600160a01b03166106d7565b6101e5600480360360408110156102cf57600080fd5b506001600160a01b0381351690602001356106ec565b6102ed610719565b604080516001600160a01b039092168252519081900360200190f35b6103ac6004803603602081101561031f57600080fd5b81019060208101813564010000000081111561033a57600080fd5b82018360208201111561034c57600080fd5b8035906020019184602083028401116401000000008311171561036e57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061072d945050505050565b005b610201600480360360208110156103c457600080fd5b50356001600160a01b0316610918565b6103ac600480360360208110156103ea57600080fd5b81019060208101813564010000000081111561040557600080fd5b82018360208201111561041757600080fd5b8035906020019184602083028401116401000000008311171561043957600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061092a945050505050565b6102ed6004803603602081101561048d57600080fd5b5035610a5a565b6103ac600480360360208110156104aa57600080fd5b50356001600160a01b0316610a81565b610144610b76565b6103ac610bd1565b6101e5600480360360408110156104e057600080fd5b506001600160a01b038135169060200135610c6e565b6101e56004803603604081101561050c57600080fd5b506001600160a01b038135169060200135610caa565b6101e56004803603602081101561053857600080fd5b50356001600160a01b0316610cb7565b6102016004803603604081101561055e57600080fd5b506001600160a01b0381358116916020013516610cd5565b6102ed610d28565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106045780601f106105d957610100808354040283529160200191610604565b820191906000526020600020905b8154815290600101906020018083116105e757829003601f168201915b505050505081565b6000610619338484610d37565b5060015b92915050565b60035481565b60006000196106388533610cd5565b1461067d576001600160a01b03841660009081526005602090815260408083203380855292529091205461067d918691610678908663ffffffff610e2316565b610d37565b610688848484610e80565b5060019392505050565b60085460ff1681565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610619918590610678908663ffffffff61100c16565b60026020526000908152604090205460ff1681565b3360009081526002602052604081205460ff1661070857600080fd5b6107128383611064565b9392505050565b60085461010090046001600160a01b031681565b6000546001600160a01b03163314610782576040805162461bcd60e51b81526020600482015260136024820152722430b9a0b236b4b71d103737ba1030b236b4b760691b604482015290519081900360640190fd5b6000805b825181101561081b5782818151811061079b57fe5b6020908102919091018101516001600160a01b0381166000908152600290925260409091205490925060ff1615610813576001600160a01b038216600081815260026020526040808220805460ff19169055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a25b600101610786565b5060005b600154811015610913576001818154811061083657fe5b60009182526020808320909101546001600160a01b0316808352600290915260409091205490925060ff1661090a5760018054600019810190811061087757fe5b600091825260209091200154600180546001600160a01b03909216918390811061089d57fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556001805460001981019081106108d857fe5b600091825260209091200180546001600160a01b03191690556001805490610904906000198301611103565b5061090e565b6001015b61081f565b505050565b60046020526000908152604090205481565b6000546001600160a01b0316331461097f576040805162461bcd60e51b81526020600482015260136024820152722430b9a0b236b4b71d103737ba1030b236b4b760691b604482015290519081900360640190fd5b6000805b82518110156109135782818151811061099857fe5b6020908102919091018101516001600160a01b0381166000908152600290925260409091205490925060ff16610a52576001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b038516908117909155600081815260026020526040808220805460ff1916909417909355915190917f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f691a25b600101610983565b60018181548110610a6757fe5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b03163314610ad6576040805162461bcd60e51b81526020600482015260136024820152722430b9a0b236b4b71d103737ba1030b236b4b760691b604482015290519081900360640190fd5b6001600160a01b038116610b1b5760405162461bcd60e51b81526004018080602001828103825260278152602001806111fa6027913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f91a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106045780601f106105d957610100808354040283529160200191610604565b6000546001600160a01b03163314610c26576040805162461bcd60e51b81526020600482015260136024820152722430b9a0b236b4b71d103737ba1030b236b4b760691b604482015290519081900360640190fd5b600080546040516001600160a01b03909116917fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f91a2600080546001600160a01b0319169055565b3360008181526005602090815260408083206001600160a01b03871684529091528120549091610619918590610678908663ffffffff610e2316565b6000610619338484610e80565b6001600160a01b031660009081526002602052604090205460ff1690565b6008546000906001600160a01b03838116610100909204161415610cfc575060001961061d565b506001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b6000546001600160a01b031681565b6001600160a01b038316610d7c5760405162461bcd60e51b81526004018080602001828103825260248152602001806111d66024913960400191505060405180910390fd5b6001600160a01b038216610dc15760405162461bcd60e51b81526004018080602001828103825260228152602001806111676022913960400191505060405180910390fd5b6001600160a01b03808416600081815260056020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600082821115610e7a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b038316610ec55760405162461bcd60e51b81526004018080602001828103825260258152602001806111b16025913960400191505060405180910390fd5b6001600160a01b038216610f0a5760405162461bcd60e51b81526004018080602001828103825260238152602001806111446023913960400191505060405180910390fd5b6001600160a01b038216301415610f525760405162461bcd60e51b81526004018080602001828103825260288152602001806111896028913960400191505060405180910390fd5b6001600160a01b038316600090815260046020526040902054610f7b908263ffffffff610e2316565b6001600160a01b038085166000908152600460205260408082209390935590841681522054610fb0908263ffffffff61100c16565b6001600160a01b0380841660008181526004602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b8181018281101561061d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60035460009061107a908363ffffffff61100c16565b6003556001600160a01b0383166000908152600460205260409020546110a6908363ffffffff61100c16565b6001600160a01b03841660008181526004602090815260408083209490945583518681529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b8154818355818111156109135760008381526020902061091391810190830161114091905b8082111561113c5760008155600101611128565b5090565b9056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220746f207468697320636f6e7472616374206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737348617341646d696e3a206e65772061646d696e20697320746865207a65726f2061646472657373a265627a7a72315820421285222a2aa99fd21611026104aa4615ad63a03f985d5f265e9c60a270dd9264736f6c6343000511003203bb474f41ac6b845061871e6ad1abcac107b041bc90f119dda23883b2a9c462120352b7206554389d0f119c6a21e4c9c29cfe5b66eb79bcfb86a70f55ddc3c243650375322191ea3973719a31c70dd3ba340607b9fbf9a6dec7f065c1053ebc6f148d0308b7c54b4a5a85944ac0f327be03fff101b8357596a79da5a37d1d11f970126703bfef8bcce06ae5cb0ce673df5abb93d6515404a47eca9fbafe7eb4365071bc6d037112955fcd1c803c301098fb380f3aa1cc13620804b90facc772d8086fb7673a032b2d42def3b8df18088a6c9b8377278a4a37dad0ad908bf8e7b13186cbe3125803c8fc5577e1c573d8e74f659ffd2e043049e77504551a2e6b4ca66f0d74455c52037f546dc19a006d18a3442c01b216dd7a544f821ac66eacb037b1e49802e2f16303290af185bf15ff6abb08e2b40bb6791cab6639b210a9ec84bad6ba8f7051526603571b7f53173d56b814ec9584a05d7dd0b53fe5c81848042b0304bdc9569c44c3038374408c56671158f02e23b119890356861eeb19b944f9e7b8a6acf12721442e03fb8987df32fa4a0a1eedf76e954833cdcd402c3cb38a22defc7fac69b83acce903cf16003ed5e332551c6ce4ae65ee6229ff1671c34a1b0e62f9d51c9612aa922603197c9e05eee06e7fc9886d9f9c66fe717ab67864da5b4a128dde83a48988a2b1030ca75f45adea9d55ae8bce1b3f24fb8182105a32f0db3ed69533aa10c8cabed703e992f0b308dd921c752c0ce05b7b722cc664455e39e11e83ca94186759319ee00354a0893e60657ec80462f33a4eb67aa3f8cf9dec7ede2645b2711e8ac4c13092037af70bc7795dfed16e091d0f76e2a439492cdec204108505fa8150c2be4f266700581f02303cd992276b3f8ad003f196c045b621eddb3d6e17be9a3e84b22e2234825820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f033101dbfe4bd46dbdf25602ce47c488d73006f30744a238ecbbd5908706d0432616b700581f035385ef52c159eb1d6d5dd0941ea29894e341365adcc54d4ebcfed18a06f04302e85703017c1572b81af36bbbee93a8468acfaa538d0bab346605e75cc2e03286f3fa160219081403f6ac625a16aded175244ff279d4352cee4490b1348bab2f44127202319ec54e0037d01ad51cb083a44c162f00cc77ec8d9e9ab904ed2aa183897ff1c3b2390525901410800581f02d339e9003492fede64991a81bce1eed0db9256633b82050f4eb0d2ef6d8a410a0318e99f5b38f434a0ac30fe3649fdfd5ebdd998db6bf8febcccc762c480093e8200581f0216e06567a8bc9a0c250355791b05b2ea14c1788f6fa16de0c8dad8ce1fd5424fa4034035e23e560caf84946731808df9fcbdbbc410b1bd0e642cf0cfb538da62696a0313d294a003fdba861b54a071c5881385bed2ecbc9041d58dd6b571f93009393a00581f023fbf713bfe7ca1f245610d4a62248e1e493228b064fd5dbdda3412e5d87e4303b7be0389f4c50808498dade1fc31422cbf5c35febb120ff751146127aec56a5ac4311f02197dd703d2f1ee6d755cd9d2884c6efe71a74cd544c72e0d3d1e6b6341cba706c074c9a803199226c97e4c1258c7e0d3a07f31fa7936394a22fe7865843397952e879aae66030e58cc59903f4c6af55d6fdb16f78846039527138b44237d93352ae62b8e562103bec15bb9a9584e4dd3135ccc97faa2d8d879f4fc82895d74e44334f2acc854f503e8cf35946e5853fadc9a22debd489e7cff9d49f025c9aa1bf8607b60c93046a1037eda741f0d6fe8601a63ee4148906cc020508df76a961ee97ee44ca7b01056040353345105a30639bd6faea4ba43a8645adb4e625cc8b4cf508034a391d2040ec903d11e099af96c84cd583b7e02eb3782e365834893b419ad556072a7a86c86a1dd03d78543e6da968b7433700c2509ef2e4d4afc78f152a567ae112322cd2123e530036af25f9fcfb19bebb0aa70d37783dc35590cce99c98ba8b6a0caf838d750d18c0370bf9c2c57f914ec6cb7e56309cf20438c7c43b839c94fecfceb524a2202c1e503a34bd5e228d603e3832bd71230a789b13ea0a22f3b98f24b685dfcd09fb6d74d03b126e839fe37e37e281034bb85279c6df86587b43035b61cfbb9daea7db052af03adcd99837d1aa2ab4cc1d5a5f0c271d5d4918269aac07d5d02b6692f705fe48c0219ffff032adb9de69ff3e1ae327b1a48c506669ef33e183c875fa50d14308d64bb5e607403a421ba5ededabf37c82353302407d8a7cb5e5ecc1944dd8c7c09c9a3d8be93fe03e1f25c2fc0d719c847d482b84eea55f0e4e600f6ad26586f767dc614b2961ed40318f3885dd59391f6b36542b4a4111859e507e784d7053785fdd9a9b0c83ec84703de662d9e808baf31b1f9e606bfc64306403ea540edb5d4e0bd703b7778a9d253034d6bcd00322bd1a7a097d7730b34ce44dee141872781d6e3f30023620a7b2d5b03bd6de3122ba006a69311184a67f2ddcba7453f77d698fbcf1b45d8db96e2da3e03f8212df15aed5fce3bc962a25e8426a315cc679c61ba291139ca3a8351cef968031f47abc3d5ef364a8dd6937516e92827902bc153e7bf1b9218e451d25370403e0370009b8cd4092e8d6a1db8120bce8404184527cfc34f87a466724362e5a569d00219ffff03568b77d65a0d876f0274ddc71c8bc9706a0e678428990cc6d13f213af1f94a89038981e89b81c7ec34063ea556e9817ae0d81eadb22d7972273c71dce1b3b8e3ca03af51bf50a2f32388f9db7178778d7bab39f740cd0238b247bb1995a47ec39de803fc443e132c0866088405b75ed8a909ca05071db3f78e490737e1aced309cfc2003be590dc2469dd0ef597b707561b69190547c9d86bfd785597f924632e53bcb90036529d022c355fe196e47857a53962ff26be9c3f599eca49ce7411a473527763f0346563ec506024ea88db39c9e076c368be016f8d563aa4663e756f6621b4fcb7603e88e50afb8a61cd020d087d4a142f07a2201fc14da1907e66d06885e037c0279039ede3a2130c0b88e684414878964f1343c59e1033abb838391ff13f750bb40ad037984db61dbaf4f85e48cd0586d6383c78da066ad5c361d5eed8319b7c684f1fa03072b856480df8c84a18668ed4ead5e26eeaf9e33a7738e0c117b53e9634d6ee803a2fac986000971dd84c757be99b6d7c178ec1a5a7fc18b8a6aa46482db9a28f103c419e5282c6f1d7a04297986e21fde1cf3e0400005d43b72d6edeb196fe81dde03eaddc41c59a08aac7bb1ed0598cc5aba73df2ea16bf98dd31cf8429e383c5dc503c0270db6b842edfd13c38e82af418513db3df305bc720f29adfc497dbbd962cd0380bd2c8a1a0746ce802e5be471486b32da37d01984be0877781524749562559a0324be66f712320f48dcdfc274f16caed0c2d2f4d20db80662abd004cb5ad5f93603dbcaf972d860c186e083559f0f3259afcdd35d14bdcfb23376ef45774abc8d9d0395ab2ebbc15e10267380e21944ca479acf668ab75c1bc2ca756472ad7a5c2a2900581f022329ace8589324ebd13528975d0fdcd8eb99982d74cc543a124e11596b3942010a0308282a8aa2742c924e151c84517141aac5ddb4f59bdcf5220b292725a7b87abb03b331e52f8413bf0d831ee44f159b89316652f098d22fd04a195d82e4f037ce09038e296f6f407b4ad848e24dbfbe60657c0c25448cc7159cf9199588d14cd9517c0371ca3c31341f18bc530a2aa7ff33ebdc340b640ff8aab3d35014db7a42f188d003436ef2409b2a1926806adb7352c2d62611557ab6f2ec3c9bd31ff60ae499b162038499c2d6d58c5f2459f18fa5ea9afd9fcebaa4549f60cc4dc61f2df297a8396000581f0236190b828723f9e97754c24b039e32cd8848f01b717fe8ae1469ea8c70ef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03996c8e919b02ec338df47a091164f378c5ae5e7d337cba3d2ba4571b69d04304d36400581f03fdb0574cb4bd238951494081436b64d435da0ba9eaa563620518595022604201f402191004039468e17689352405ceea5bf2ac4422817f0e2133089385bdfa997b656ea08e930219fdbf03c5814bee9ce2d17203e6b85e0b91585ec519e4fd2649448efede25f011e568ac03b67a887bcf0f5973577afaea0886407411e389db0677ea3e211daa4989d77c1d03353c72d7858d69778be8d9f952de3fba96c59baf66436b1c28e608de874e6dd6033a9a3097f75634b39f75ad9a5b1b73349c54e26cc39b7e7009283775f6145241037f2b826559d7b233fb6dbaa957bd9a484ae376a283fc2294b18a7e8473db18c5033167b187e76cad984120ad5e04909e3ad4184c76a42465573f509e1cc0a699fa031dbcaccf22b4f6c59f8406b2845e6ffa0cdcd4d9baba82504aa27c81fbbf75a403f36141d74b2f8c9ceab2578305350bc1e8374f6a1f91cfc977b64b08bf420d2d03dce4e227dc1d1a2f00ec7cf94d9c94d11a17e9db5a3c9393868a2ce3fcbd6041030b044b7062fdb1b23b887165c754d33d8b8e5210fba298986bee313227f5ddb003ac09c42b4a333c7b4ab21c8002cdcd61c4eeff7756c46e20395491ef45c792fe0219ffff035f44acf79f3e7fae4fc05647785230203c9ff0329df83eb4e36da3ba5222ceb9036f568e04ca29f3a87701577c80c436ed32e0d393174f5c4dc0c7e3807abbe09a03fcba98165d155b51b8e4d2967a0d1522f0c8692075d5704938708f87a56f100a035197a2b9aa5b462c2bc8ae2ee8d111941487c6801a70ee816a18637e45515da003be74807c73031ced07399ee5aa8cc876f4df96fe36b6eb83d9673b4f8bb1f4f80219ffff03fc3fcaa35bc15ea34b1774b2e98dd68f34255e4e19f9e1f757e3e3c94706b5070219ffff05581d023bdabf79c03cb4489f83612a9d6146a1bc129fc9ebfb387218d715590701191255031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d020def76f2fa18af628a4d0dd6ced4c0606c5e530fc1c5f2359b36256d07011bffffffffffffffff020605581e03deeb796c3d65e85e6ac891373f82231569c0b3e0a3ec7819027212567004040219767d03f6d49e3551a66aec7f46932207a0860e238f7a2921bde5f1ff6780b3439a56ab03125c666a5b4c8df51deea9e5aa2a160742cddc78cca64c4dfbb0ec5b3206d2a7036a7ce71d6ee96e6620e95fb1a63b87b5667e8a271f7a2049d589409e49c28b330219ffff034e3bea760c41eded113ab42376afe76f2bf8c93b0f635a4102a167bb1e8d1faa03e35c86553f5ad952abbbb2e6d4096771e2282df46a4f874261be8cdad0256ec2037ca8f49c87afabb15d3e2b0c061477711a6807673f8eb16fc551659850ad6505031ad2344a474a521a596ffd96aa6c2db71e6ff8f57cc7b19e3514e05b7b2bb005031c27879efd29c23745278264e125e2572e540789887f2cfba63b725f56068b8e0219ffff03d3d101d2f638cac8b72fbc8344eb75113fb5cadec73e069348a4ef3821b4f85803a1dd611b56bb9bde76a1bb3c4b8e3646c7275ed91357b63481333a3efe8f5b4b03e7f5a27a736e21685c02f573096c0b61e051de5e5fab3ac3195c94a9709d526f034a7d53697a415265ba2c880fea38579895902628ec4f577f447ca82e03fbb63703db5c5531fc203aacf80c0f9e107a2bcc99b7e14c7e013f1d937a7c4879047f7003fd24edbf598e44fa61063796623d3bd556f642deaab8d7f3f24a015ca8330575033321321d5b540bcdb1c88a33852e5d4ed617643c67efb0642e2cb176102743d903a27d2cdf5b80206e80a34494bfb8d26d2dfa9cea047f111bc3126dcadec1a612031d669296d2a5181d7e3e02591a6722ded5d2f43266613625b43887f6572f45ed03c6ad1597549a8723d1227ade5f565818fb6449b9f1fb357d7fa9163d4e96fe3d0219ffff0370d9757441cbb509c6ba3c70bda173fd11a5df424f1bcea715e386eec380c9f40368b38dd3e6519d1f9cade61b1887d932f6a7d5216c4aeaea1271283fade862e2039484e05afcd10a7cc0f6a5a0df6586e2e103e2166cf7a6d57f8172d030f00ec0033f4592162a636c820d494f5c91a79e10a5ebbfd41f5c1f09737d075e81c3494d03d38d8c174c0a34a075aa3ec417a170aa555b43f76c865e19c3b83268ec413cf40398399a6ab6b93dd6283d6a1373c4d3fcd78d191a5dca24ac6a1b4512e6611ffa03d8500c3d79196ef6b9629fc6397c8658a5f1ed9a6a0eb85e4bec6305ce6820dd03aa1a450e04ddd7aa382b37b879441e962d1a5a04bb820abc418e4064198b9635035267e23732278110d2cd9918515fe233bb5d595686d74cf78a370e5a0f6f568303a1bacb659a216b9e90ba57fe21dbe6ec4dd36c73c012178c474457bada9e2bb003c850eaed58f61bb322dd53808721c84b6ad143cfea0716f692e0a371ee5ab441036de064518a7b880f14801f0bc87cdaf4a7a7b163fe9a75603eef62dcffa29ccd03dff7037f27819f4f29ef1c7ae734fa31df30c57bff2c37b3e243d350540d484403cd50c61c2422501b2cfed89c6bb21c6aeaf13e18f8bd3f3b348040daacda30e803ef1f8ca7145057e286ae092c8ef0399617e26018a5047ef5d1bc653d24397ddf036d02d497fb4b12b76794d518f99393f9f3257383eb68395cb884548fd45111a6037bcb923051452b83fa29adba5f250e8d32a97c43e28928e577edeeb8a9aebd30032b25eb548edd580a629e0b98cea8613424197b33332e93715a65b35cbd69c2ba03e6bdadb48aa87cf3105551a0f7ebee50f114b3a9738938f4b79087469d33a09e039dfe38c6272f9247242e8a618037c45b52e937a9047296a2e76f46a6abb0c57e03b6a562fe2726d44cdf2b8ccc6b2bb6bbca26f9cdab48063016022dabbbdd3c6c03cba6dfff6f0403f9e61801703f2575691b5dcd272f14d8995ec0b006efacdb57038a853f02baf7808712065b11fd4d8b7de09b60b8e159e248c9172eec197e25d80318698e890445bb7ea2daff25a6a75ab246d54ae9d612139d7f07296a04db76a603143f5d81bee02f0178722b484317f63ef81c112340b8119350e74cd9d176025d03d6f8584e3eb56805d7cff625399d6a382c37b5c0bdcfb4fc73b2c9becbd2d0680356785bd65e9b84a4cda6c645f1bd7e357269fa24883fbe31fe14ae45a58d06fe03cbd377f7f2fb7a2bb8ae60d2f3bf704677000f1db23c014524ffcc74484253070605581e03a16f243965f794ed19c9b5814d4c3a90f19cea4bf7cfe3f3781fd4fac007011bffffffffffffffff05581e03c761a2603ab79d75f7fb8aebe110b0f4781d08c5d4d0d259f4efd5af1004010459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d381565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d38d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d38b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d3908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d39087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000008107fca5494375fc743a9fc4d4844353a1af3d941614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d31693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03f425de9f50a92158dd5ed63265c871f73dc8bc3e0a9bde321c87a80aa7b9ea8003589d9a219b3c8ccad05a4280ae864a56346b6785fc743562b910acd96a5d21b40373743cb7c2d31f332d25c4547f49f0cf9a23b5c34250c91355114d45ce543b1d035b182e8386386d47cdca1e8b91e574f1f77ef99d5bbd6c57ec810e45409a7e09032ca97c0414273753ab15794706b6659d3acfbb73a41215d7a1cd8f0edd2e31a7033cb31eb5c3f7d9e44106b1659c273741103ac4df61b8234cd518a81a3941081203237dcd76ade6508ddccf28f9be40f395a0afdbb1fbecc326fe9f56539392b33e03733cf40116bcfd27606edb617c3d4939349ab6765c9ee9afe70ee48a93e45710039f82d0192bdc283fdd2a2d1895479851205efcca4b502af52bb9d9b179d1eebf03510a9b679bbec18f624e489567d4add6eeb1da3a53c6204e053f11461b2934e0033704acea5ac870fa3fa72f40f69df2774dbdc46c63dc9dd601075a55c928e08e00582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000fde73700000000000000000044063918a54fcfcdfe62f603e261fd0525e6b1ef2c06c5a18e7755c09b4dc344dc769beee5bee6d6877cb07500582003f1fb135900d342b08c23f6fef21d18df0b9ad10bd15e97bfefb772ac75abe05820ffffffffffffff57d13f8089c77545d900000000000000a82ec07f76388aba270058200317847a80b5ca817220fb4dce0b1d7ba58bc80011b7d2f1439e307028f4fe104e72a4093ea6fd0a3d9cb5c479a08400582003bbcf1327c7a8583314505d3c1fc8c7bfc9c4709fb85bc9cd7aca888dea9aa05820fffffffffffffffffffffffffffffffffffbfb3dde9f76b5bc4e03716b54719e0219560103ca3ef07a31c7d02060dee9f591ee9bd4f4eae13c251a7e506dccb0451e17fc7d030c17d8a850786b99c7f74994c1dacaae2418d9ac2d1e9efac9f39e8e68b1fe3603b01cb4dc5cd5a8ec9c36038cf960a53c33ae862c0a1fb66f25c34be12d3457f1030cf85763b7fb9b184ee1172a3f5c6e90f9f56395ff6e43c8900e6580b2292c160360ec3cc4f0e0453c1554610db1cc8867f6e92195e0ea49109a035e8c64efc20e0329e51bf60f124f6872f69ab70d6f8ea4528b1ef2801d36021fd0da57f9fab9e60219ffff03bf1c76b0fa32cf78e0a76aa26e885812002f4fc56f78d3543b4a3496a7116998005820034cbd664d0d291fd7ae25119a34802130cc37b97722a2ebb1feb107b4ca9c20516442b510261006cac385e56acde826742f005820039627f4bd64381fa32998e2cd0dce227d6c23cbf225613a8567219fb23454305110f10bb129ae05278e3f90855d0e55f33d00581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4f16f99276d28f0667c3518ff3394aec00581f02d218b8f0ecf0658414cebcc7d86d108cf292282340a7322f8c0d6e778e53511bc8aa865fff3b5e10ea1a5480e70187c2021902800058200329019abbff510f3cb61e706a2a33237aa5ba8a17b92c4c7ff6a27a015947404e98c5a54aed281c2e4a428c4905310058200359c9bda206defa413c73c3736a85b8732297ee0774debaffe943be1eaab76051138282890ce888a681bbc9819c5354d9460219052a038c9f37d05d3025a0a06719dac6e1cd1765d95c4c79690b8a030afb1630103b5e031ef713575612abd816e8798ad885980dbc8c4db66343d64376cd1deed7bd412d03dbd8e801d3ea15a507dba8d34605e2c510a872a4d4846f24f2ccdee891cf59bf032f1e0fd218904396100d315a41689dad6bc238bf39590475d61c4c1df2b17cea038d1348df3581931c51465f3da04042caf1b4ee9a8aa4a03b4788ad24cfb6e63303467ff2763c47e1828d8e9a844bff46277974a7bbd5e7e78fef6abf7ad08ec11003c66d611183053bb899b55b06106e36484abfcc05f7aa1e3637b56273ff313c2c032c5c38736fe2b6373b69d49f8f89901a4ec8bbb22acefc8900ef83e0dd6cda1b035308663bbf215680d97d6433012af9f62faf9709621ee2237988a369372b877f0375d2af821c2afeae9ad2df1559889ad20a6066b81f3957fc8e241b40f4008b5600582002e94ff9a88c0c287eea087d09c62b9aa289f6ba4ea452679df4934cfae7a02c4f01a78331224e28569c8e337b62718803cec990c0cc785460b686f10807913439f8a7c4e82b71b74f7845ab8cec922437036ede019aec96e891231f4a8a6a2bcddba58d8af1787896a1e0fc1df6a329336803bdd59a55e9e7efa1e1f23397eb7df444c258409198b82862b5dced8af5e082e2038a0b5f2a34a2750c778e105e5e242b85faf4a1f7177e70c94d3a5a3475e277b30219ffff03cc6eb628d2502979fe919a35382722b2539eeabd87848f16c75d4dce4fac4d5d036a031d23c04fa9d6ba4b1c483546fca2cabb30fbb05ddb2b737c0471cbdd65cf005820032ba1eb452ea76adf8a9d3dbf9a69202b9ebd7e4f7ff99d59299422b0755980581e0140008040055932141708aa1014830010384486c61073073c446bb31e960058200366f58d7ad72c104651b9b261223ace48bc0760a3f93a4c8da95a31826d51904f0177c0fdb1783f8816e9bf58126f6800582003397730e4fcf35a0aee00dbebf71279bf6e58ef02af7339052f306c59b078304f0223efbfa39cae99dfe1880e91dfd50058200362dc1ebfd2d6cc69b568b7c18cc2ba06736c2db06aed01b7b98fa4b24a803058200100000000000000000000000000000000000000000000000000000000000000033581300a9e9b8f4cf64ca9ffd1fa25f63b28d4df7ef90230ed2f9db03762e15f00582003e48ec466b09f03fced239fef11a3fa4e165ea1cb2795c78d57a561ab1fb3605820ffffffffffffffde86bca079f787400e000000000000002179435f860878bff2005820034d4b4256fd2fcabcedd2233b504688a4ec93885aae607d8d55fca5d467e7105820fffffffffffffffffffffffffffffffffffef71baa48ff049495d8851e72ab9002194d25033a6c45670f45eef26bc04f8f76f9b02491bdca82ba949a8e2a3b1c6cd886426e03c96581355cc173024d1d2880caf73b8d4d307677728bde58873848cfe678b9ea0361f02e9a1b0c8e9a3ce1fa524f21f23080fba8dfb969bebce7ee456d5997be610357daca2d9520c9ff84381d10d7aeac658481297cd9bd4bcd0f8c9d844c1fb98003a56121e4df81fe320c85513a69b033baf211dcfce67d285ab546e432ad6b47a0032a5b3532cba66b79805665108aa9a5034b542d7589b71873ed6ddb2ba6038d42035dfef3c357d1d04b1f05a6161ef2df45000e2d815be369d967af08709481ede5031e0f3a1e140bf00c5f952f8e2075a81092c131085a699956ae4f28ff76d782cb030024468627f4f9dcedde55f4aa1e3960588646bbd9bd5feb27e08cf5808894ca032115467361d72a32f32882be9c427cafc05197c9b87992cb760074ef05defeec038f1255af8c237b162d15c345517d52cddece63a9a13236169d1ccdee84e8061203b6adac5c3a9fd54c9b165c8b8a90ecac59794d1150f1ae3b29c1e02189829b4503ff5d2fc5d39ea0130174b330c02c9a957a49f0623a90eb889112aadf9be679df036e1b3ea083d02baa6bc089f98d51ab11d34229aea469b09dea19606fdad403520338f64bcefe5f0a35bb9a644332841f4f00b596d4c1e779792f815d05b9871d430219ffff03380c8ddef5c13cb88b59a0352caae14b1bcb02656db943670e382dc3a2e7efd803578f53a3900d61e09520fb31c5ceacd4b939bb8e2648e1043ad8a0cee251f2c7030aceef9472123408eeb35cc75bd716575c86aa114345db615c87546abeb94a2c033202f30b7be0da29f6bba4a9b882562f94fc58a4394e53b8c6bcb2135c43d27a038d4942272a6f769a1ccfe62121b0839a2eb3c1844af0eaf73deda0bc2ed85d5d03a193e9a1777b462eaae8be17a7507dcb4e9c246be6255c786f75b85ae6dd5751039b72e9259e85d8e7a79de877b97f640693ed08a2b01c09e1417a02ff245a8fdb033ea6f65abb19704d3f45ac34664e78df3158f498085eba1446a530d463776140031c6038f963cbcc793d2dabce6bca912efe3ef96e261d84d8848c34ec26e8574f037db2e4d366279559e7afd9a764a49038d34e3aafb22526de36c95824795650a100582003cd84a175c14c96e8afe0d82d2098fd7578b1d4a8a80155b0c7b646472a6aa0496a00e5c0dcabfbd509005820038d4f5e3568211a0f4af2ba1739583fc1ca22cfcd07da1b7307b07b782690704e1f68e060dfe09dbf4f4b5e6eae4d005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a5265d1bb74079ffe19b40058200351398a75bec25584da9694f75bd2c0e0692c3cea922b068b89d79d730317204e0a038986c8c3f55c291d422ba35f005820035b2094f0cfd784f6386eddce98a4a6f0ea4c73c7314fd6255d9a324e13bda04e1bfaa239a9b69a938f83c17a5ddd00582003708e932046cb36080e1a63452f54562b5fe3bed3853c4006b60d89ffdae1d05820ffffffffffffffffffffffffffffffffffff2d6a98a38f94d9935da4d03c4b22005820036c1a93ec1813ba29567356136c70d0e9b55e71687a403ba36b160c9cc64b004a04c3c33cb6ea6a2d5d730219560d036bce64f3741e187b047eb6f716535d3daadff6bd5cbf41d59503543a1051db6103be784e950cf2c0c750bbb1740bd653a96a50279f901e1e5b83d02872b1a3ecbb03c9add3cf86eb991a5f05a1a6d6952ad614c5fc2b269649ce03b0f0a70d8b9a4a03e086ca4f30f7e6c3c640e7e7f007d73628ec7599f9da2bbef15b02bc52afdaa1039a6e834e10cc10cdbc7dcac40d4c86fa39ef79c00f4d099408b08e200dff52c50219ffff03114c5e440985e9734176d2e73029db627bcca86f5beef311a9d54584f5e858f00364c732d6826c0f156ecbb4f89fa490b7cdbfe251d54aec9fb7712d32cb93651a038eb1f0f2e99599822b4134f093a3b0307314ac810b13585b10571a80597de6590319901082ae50ea37c0981adbdac1c567ba2718d462f2f73c33b42c266221c89d034f7d3a6d94086253b9c5b5991711b01aafa853e8f8c68bacb5be51c9996cdafd032f4ec58d1f4e7aead9666ae1b6812425d8629ba9bc6ee8036dc3dd7916d8c71603628cc2f7db6411e56d117f4b6e9f716ae15533560413997f9eb0f338dee1c719037f6806cf982ee6cc304802ca4c11c4b3c667907afa12f63cf44104ca8910fa5503ed9f36e51139d4ebd4d34d15af2fd22ad6e2decd0565a20da678d6489c55512200582003533742c1b1f2c3364007881d8e16b7d98c233190af8bb8f3eb858e08a2a6e04f010a92270202ae23b12583bc44ac6a00582003067edd4f22f673808a8f0c117ce914bd1bf719da3fc5ff9d00e5175580acf058192392101027f87643c6000000000000002392101027f87643c600582003d2148d9dfeb2a8a8c3b8336b863532a505b399d764de7908864ff97743826051019c235ba24d1b045bed1e0cde8f9fbc06005820036f2f095a84ef5da2fdcb678d999946d133be99fbbc2c59f6549e6183d2e4f0510182d5cdc3c49acf2fddb4a47e750a7c61005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058200100041814000000000095602ccf2aa2c5a46205f1fffab65b32f6286687dae70219c32003fb721dcbabfb137a14dfc7fba776714597d4493453024825e789860d73f3d51403355674fad0b922687aa6d6a60481b57f29dc858bacf7491eed6d9515f0b5d9f803382aa6c04ff938c84c95c034d88063f4d4c4d7665af4c5f7279cff0aa31974f803eaec7e96fb52e0271b8924336445d3d597270e86348d246e516a3a862e88411c033ca75c883e3ad1731a52736fd38d2c69770b3457b3882845c36e1f9a3cad8e54037c35e390ea02187c9cdcbe7a4b7098e893757168704fb37de023209d1f30a41803a71ae13318cbc6d972df22f291cb4712014610c86937f3755b0074d0ce4304df034d6326af560727bcb387682acb9c6e3c69dec725467e35739fe8f486808069ec0324c844a6c5ccf317928f4f1f7703179579952d8854d2feb3830894ab74f4a4dd03e5b6bc251fcc7f42acfc4dcd7f4d7d6485e75d87f54e6c31e7cb202f6cf3c684036b93b4e1efafa12f9d476f76d76af4a4208d3ab29a100253388edb392150d4b103320bac64792840571230d0493d9b238031457eb1313871296209c7c9065f98560219ffff0219ffff05581e035a1359138e424d999e2f16164c03a729a76e449b85ec51e8968ee87f30070119567e03c6e35d627c24e911457cc16aebcc49ac56d83da3ee8bbbfb308f0bb16313778d05581e03f91085051f253d05c073066139e1cf6e5f87a4ef60dacb2299f0d6bf40084801462f97778d740003f793a01113579bd1baa958c2d0ef01dbd705afa1166e35c2187fb76ac26b654a037cde974d594775b9ec14dddd96a7f798e99a41491996b446a9eb18c9bab4fece0219c16603f2597af1008d197894e10f9a5950eb4e2ae522bdcbfdc8208779610a3683d07103e4e92c36cf37505df0aa71ea64c2c97f44dcf638d95e74eb0f34d632c225758f037259d6e6a74da86d606568e2b08b55d69fd5fd5cd2ccdb5778e2ebe5565a12f303a43cbcb084aa8b89812114b90c0eadf3c4b78431a24a15858027f7bd6f0f6a55035b080c5cdcff79f20cc451e73f45caacb3709f118002c4e77c187752ab4815e803989d271c3c2c1745e5c8a5049feefd73243c9fd165986f7b8e5667e5648605440309e60e56fcd3af51c7aa3d15307d28680ad49e72bbc1a736f55cbc16f15adb8d0348727185a7f57a2413755f6b29453f99f6789156f4536feff3822d0004a1d62603887821b6fd43fe7b1a64daf63c97e724a6502d55b50c8c42bfe680ebd73bde6d0219ffff033673845c60ac7a4d1fccdca227ac8b6f0713f7e908927513c847e536e76ad5ce0366889b4b54b5dc3b2adad861a15413b4f4ba0c242a00388522bd8872b30ecb250391babbeec976e1bb5e1f952758a4d8b2abeb1004123db3a94d9632dec5053d420388536b26d2a608e56621a5fdc0ef5a6873e37e05e659315ffa2653b19bc1db9103294271729b518ff7a322cc8eb2197c260776c9ec5bb89aec45cc1b07e6a237cc037428134d89efe9468b9fe0787a2f3a7aa538b0447037569ae0d52bfd32b5e738035fe5cf660fcea2ec6079a64f74f4d19344e1016dcf9c36bb56d051ed52abcb390385f9339ac5d2f41fc48f0e31c2df2d289d9924185458cff2c8eaf6d2d37300af0219ffff03fa2db3c136d90ebbe3ea8261085815f10b151d5b0c76393dfdbe96e5dbc7c1e70219ffff030bdaa3a4191971765949aa8c764c3cedc7dcf6ed81da2f39f86eaab0e3b1dfcf0369e7f3a87e1e46d49a1cedf441c63a38a1d051dc68398537fbd65e0ae0895a120395ca6d89ee77559b18915701372cd9816059a46bae19370cafed60f876a507700386e86bc12623f79b4e0879323c6b8cc0e872eca8c49ed3dc7f719e528ad31d7a038f0c0506a604ba63c4a223898aac88ca0ee4d771e82612d120bec30556aa6d4f03a78a267229963db04be1dbdd5ccaa6b3eef553b20064f5bb56f2a773e9774c4303df547e01fec30da1faec901387184a94f9e7174772259e72db887585cab56829039b94d7d45bf29e2cce7eab145dbcc0d148258b57c42eae820e19e819366214a10348289e07febc2f04d9091115d423f7883614f436a979794a9c7d0ce64f69730703d649b14a7c683d8e51d36ab0d6a3ab061cb33d9cf62a1d745eb84878f07b3022031f531367ff3ecab9dac2b42bd6aac8b6853a22d03528fe24473acfffdac6cabb035dab702c4c6e0aebd32961e0bc1766129ee6a0b3b32cc45110d9755635f407910388ff68f408f3d4abe92b478d24208568bd7459b471318129abdece275fe49f4403163b58d66fa4a47e728091ba2f2148aaddd2974107356a9f61b307b203bf9b5e0314ee4b64486e2066c3003d7ad6e9b6ac66a8a6e729acaeb34971021ad2fff92903f9b8a1c0bee8a76b23a8ab60eb4b8567af681d32e564f4086fb0d629c51e4bad03c1e2ddd11505193425af31bc1b3b70a3fca0ede7500042edcd9c502c549599d3030accbd312b1693371f5da62c62062f206bda963c99c7e35135150c423b3be8c103827d05eaa296445437ae731808de95cd784fea640b3fdc0239ea5731d1cc7156036030702ff4b76fc0dde7b93886c9518c138a19436350275f1c842ebbbbdd252203c4fe11182e9725a6e5d327eb60719db5295d6c036919eb94bbd796f51a1dffbc033c3a4e347240adc15df8b54b46e903f799f10704abe8e78efe3ae68d949e3fe60359da92c504cd53a3402ec505bebc8fcb6ed000717c1d695aea34d0ebdeb7763103b93350ad427fa8109bbfc64f950ffeefd34a15fba944317ffb478f736753a4bc035433e0530481d47946ca687b345f36cc0758ef97efac0b53954c190f6f943ad003332cfe4f064cfbb479a2da96e31efe4863b7b8a8dcfa7180f3c2fb5665ba57670392813781a79f8ca1186f421546f6dcc7b26dff67cfec3c9e9bbf34b2541b1bad03b931a02f8f78d9c628ab779cd075b15b6259695403ce5c6a65979df7f81c36d903e548217d6c0b89bff89d74eaec97ab51e0a8e0b4d9a5836710db271f29cbce140390d1544e9737ca468d13f3c84d3589c42c49454cb65afa90e6848d4debc8873a036fe1a96c9f9a3f3ad4172c941f47061d2029d36748157d890b608b3511b70392036a0cd7e1ff3cf9659544f706ed722565d023703aab5a63fd79230ab2439b41cf03b3f50bea161f8074f792062b3bd15e0cd4ae672362abd0cbb93fbda943bed5550372721a2ff95a3671153623d0b482f62433dbff3ade3773eae6d8afe8170ab10d03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0346ee0eadab0c837e997e51add3f998f4d9c87d9462b5ac54ff8d57fd1007011bffffffffffffffff03fa08d1eb04738ed7c58fb8e731a3dd4f5b3502dcf09a78d5a69fc35338050b1205581e0359d28cd1d054d269c70bf54cff4a3a16f6df65071bd1ccd48a4d8cdb50040105581e03673b7f06b064436c61ebb0fbb628cddf56db9c33be107d1c560e3fb170040105581e038ce10cd077ae5d811665271830d3eb2add64d6e1e822f17010901789400c014701bb2e8cee3cbc03ebfa924702db508b039fac98c77bfdc5294b1400da69f4d8e87854ec632b578d05581e038eb73eba5ab5d7a3f4b10d03ad33d8602e8895fe9ed6dace24cc5205a0040605581d02eaa5b2454bce5f212d4b43fd6755845f4abbf2f3a07eeab1d4320c4d0c01470215f0b3deb21c05581d0225e7c9a5b07e1df258dba0a946722a9cd2c2ff553852a1ad94d976590c1821481b8788950308605a02198800021946fa035d5f4071414b510b046076e5738b1ccba099384ed6cbebd4da994c359a2b10340219ffff03070b6ee8a65d9b2c99032b8e375421604af6d1ee8656dcd134b1655d503126cd0219ffff036589c00759d715e3c09385203673906fa8cb54d4c345e6e7c983940b67f9b4ba035c608c7fc553bc45df346fab51a950eed3cb4598eef9a526f76e227baac0452303b4da8bb1226a642259eb5fbbb914cf699a813b0ea007e22ad93101b77edb30e503ae47b8d400ca241fd77d40a6c86fa47fd014bb38f676fa36ebccc18979bdc4ca03d91badceb4426f46177756c3f97554b06fa4d2a91f91af71b2c39b699fc99f6703aa1fa46e13906a2d05e61e7c5db4e13eaa158153a5387c9eb487c7bf40b239f503d943c0ea15d12f2486d59a8d5a5c8888e45ebe867ef7119f7d464e0ddc11666403cd00249def0218525f1366833e9c3373a4d630c15bf22f4cabfc332e3630da1a03fc208ccc3531bbfc456c0c31b78c010ebb5aa1115bffe8ac5e54708f2e3bfe8c03153ef26bc1f660b4979669065f9e477f8f671fc37c22f8b03bb17a59851906e3034cb405a4e8e7c2cc44f18507512d053f12c752d37901dc6fc60ebc8cfcd57d7203f9bdf2f0cbc187962d3b7f9411d2072b409b2483a0d076a486f3dae15b3273f5033b407e1e13a9604ff58ae7fc4babfb0b88a12e286744180277195afbe621992703bf7078e2487c02b85fe80ba302bc1c0db8c6b39c49d0d57367e50356196f54880219ffff0303e29d5c0c430f3f24d206d91e3a4c46063120c256b88d2a9975d8983d8632c203815f4589cf1c55750760283128522445c8e70fb2fd1ff8e5921ffc139af64f3b031d3725ec573418a2ca48e064895126019cc392d049a2fb4834c90b4d833a208c03651a006338d3318b0a693daf8817a595a14421304b9e7cdee1569969671913d70219ffff03572ef64410b4adc4fd5772872b91065723fd165d7a96c7013a2c229243b4e0e503959fb69512a65ce905bb54cb86dcc2c95f4e20956239ab642fd0c3d17b3c386a038884ccf3b4a596c1906177673bb315b24fc18ce45c94ffb9e8b80cbfa175fd6d032617d88e4cee29806f7e77d0402c2f7cf1c43633ae03a81234b2bb1a01c09f1403f929bc27360ee0d9f9a6e37b1998c4c93b32cd0ca211cfca9af263504d5da94e03d2a3d9119f5e845633d03da97625a899ffdfed3d36dbbd70c36c00e1e05d6d820343fe1ae8ba3a78683b0aaaf2ec85a52e109b7988ef00f0c94c5768ce00d2a33c036d3e7276472ad6829f9a4118776281b4caeaeae7451b0aa7f3d4a7d6659db5750342be224d2b66257a298a12800d8444979513b634b12aafcb1466d37c23485301030a898eddeb2c966c71d33cb97bd57ad9961361a62b76497982cd84810e866870030e1d389c7fca4d6939058952ac521c248ebe1626512e6011e8f5c27666be49be03435909fe2f8a7b867909ce7ec7a2cc09d08c5154e7b6e0f394823141588b6921036bdb9133e7f9dcf135b6232a43cf65659bbfd9a0e78215df50b3d27552aeb6ef03bff5b7429ab090268873c1bddada5b6f07022f0f13553165143961439096c51d03a0564d83438624fb0f320453b10c447ec6831d7e8fb6d1fc5efe7407f73dccb303a57fb73912d895de159a6edcf5d1f52fb66a0890efd1470e8fc828dd5b8bf264033b0b1d5792a9038c299296aaa011ff22a1605ba367ac3f232989b9f511d11e9b05581e035b6602eda859f59d7afea6afcdf2807eb5d99b9b584ba617f73b57e9f0040205581e03b771a2fa8bfa7c91cfb581b07269654272afb52f3b40f31b25b0cc5910040203f48846e8ac0f123592406816366b26791c9780b1575b4f8def96cfcee80c9119038f2d19aafbf94534ddcef614497ec04b96785733700649dd9dc33743abe7c3b005581e03aa882fcdb8903c833e91c0cb7901337d833e33b562cfb3a7caab0ba2a007011bffffffffffffffff034bb3e1cc1f05974adce6c1c003d34d48e198ed4c65b38c06cc9f9615395c3fd205581e0377cfed1359a5b59aeea89cd7c6275f9ec430f326a8032e8e24f1dac9500c190154473c45619e36a68d05581e035d121d4bec94c286c293889c8f04fd7b5cee2904eba71f3c30d1f2bee00c014744e393409c300003cba4834bb3733a5fdd228b08621faf677d3cc06c479e406ee0a65441b1cb82c105581e033a8f25830e684cd6d2084d461ad4a1dcd498a48c323139790f64acd2b0040103ae9b38cbe0d8c44e180de0f1191394fad192420a8132cfd6bd0e33943448c50703ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e80654036573f31bbf244b8ca64483095e9a349191ac49475c76d4f53bc727d21b73941305581e033afd017d35398fa139debb99169a45e6ef2652ef2cdc8db031a55e10d007011bffffffffffffffff03d745a532cc34acc5930dfba3537279ef4bbb209c47e1ba5bff03e82ff62b0529039ff537d2b48e3500734cf20c87443cf4c9c50ecb20d326e10a87ed6cf9fc39bc05581e036ed9c41087200d69ed0da252cf954592adfc821156e6ad84405f90229007011bffffffffffffffff05581e03a9712182b7cbb03f38c23dc4623bfdc105bcd18854167f9a654ca799400c1855472c6f66306a6efb02193eff03fe3d6b38bc64a834fc72988907b76e1e2f84d27cb9c944d580e750110c8feca40388e25b9691b7ae5f5c6c0a508ea421bf6242760e591a6d864e383f22c5dc6cf103c68d6c9c31effe2116042559953499d1702b5ed547d5bebed93731cd45205ab903358a63d3fec52584c769c9417bfa405bcad6ae34896224bb416c7bcf99d05a1b035f2ace30110b228cd61680494da2d87ec9e027251b1f4b4b44f9188c2ed183c303504746dee2fe6bac377aa10338efffaa568889a2c3fef9b67330ca4440265de703d6c33464ecfa0b2b00299f0ed93e292fc415293f085ba6d602078b62228afd2303b8712df97c9b21f36bf314bafccc133883fffa24230f2b89dae3be5fa2194ce703e5dc1b5d7a2d4ee9626746558ddfb0a6f93fe0904e3aa4eab044a6af8e9c0eae0219ffff03595a28affd3850f51b130451ce6cbeb0c3872cef2d3262079fc6408061526ce5038d2def1dfe7acd2ae00d7993bd865a7b47b7332e2012d537c4bb2b24d842a0b703457aa962b0672081ee5d84bd052b8fb14d236aa9c152ad02b213281d6b7affc403281cf87b94ab68d00bac6fb05f83185a0d8d6305d338b263cfcb576f9a463d2b03dfc4a2b58a30e3ca3effa8f15abcedde70d915ebd1dfda3f68f1d8f1e6aab9f003029ac7eb8f0cba4964aa4081955cab9a94f44a4cde24714576c45bc008d6e16b037b79e7d9f49dce2f2b6c857b28a5f07c84121052443e2909d44f85adb38c0165035ad76bc8ac3836be88abfadffaac79164e81c3ea08f0fb6ba9adbf7be62eeb9b0219ffff03eae9e79239b3fef0628000ea81a5b54608cc0810ad69fcad18ad6c7ede06e62103e5508d1430b34489a27d62f98f84a4812ac39abf707c4253a43ff73b110cc1a00315ee2d1d83eb3a07a06aeacbba93cd027ca8c68fa38cbccd4219ddd524ba44a703e3694390b6e031e9cf879086e80029d62a1930bc05ab83b500091fe546c60601033fb58d98d770e72f75d4ecb704ac88b6e9b49cd6653a6628419046e67432ef73036c4ae1987ba1a13ca786a3ba96d8a3d1e9e359857ac150bd6c2fe5218841e92103400ffc22cd01191ffed08c9d8f95fc59d0f78b307679c606f2fbd41aeb736b30035fdebfe1394005d9488e96dd3d6dcb4eeb8f87371116f20fe30b054de488f3300320e01d1c0bc1f1822daab84e4383035ac73dd09de0afa1b7d102d866e04d473203bb249829098650b6bd146bce54eef2c9c93e627152f0300b0c56939be4c1449c0334e69e8da9e222707d3b1d7e5923e44619998f1aa5349a36b22f0d329429f37103d9002ec39584c5be008e2518eee63fdbf933f72222d8032352fcfbeb68e3cfed0318f336455ccc556b8274dedfb552ec78ea07ebe643ee2bb6141301177709b4b70378094758bf01a5b95c6ae91eec9d52abf01c0fa74fbba465d334305b1c1343d80219ffff03ff83f48a60fdfe3d4c331eed0ac765ceb26ea79ff81e80e382fbfdb473a6bc1703bb6601e65e776fd38505fa740e7ed09099bacf99b92dc9bc4b75df0d5a61386c03a2d34d2529de028f13b401597b4f0fb564228558d3a6cc1a0760b15e1a602b4303e830ad9dddec6821041640d9a3417fb1687faf274fc084f83bb494a7e6cbb7660327f8bd5adc29d9a76bf73a9a6e660559083da00221aa71ff127d4039ade3d646031431b4fd2c41a70c4a54b881c847a2facf1ae800589306553565f375a631c1c903636b24f40a75ee8cf9dbe7170b2c2926ef77bfad4cce9ec7ec5363cab9e77f460319f6947545b54ca149f2599bee203e3161d4ca83fd0741502365097089719ab703e5c6a2aea34ccc24e74df82d31fe1a7240f2be9192f06f4014d14f9e14e4ff4403e30c1d5ca807d56cb5fc5752e46e3d4d17de786e6514c3ebe1e3c1ff24a4f0bd03739d2bad13ced7e476333c52681fd0008f60982ddc2daebf16210ccb8ac27c6c031d505b26f4b8a61dd1598a3d92cdba7ed30c7aa8250f945df2579ec17c4e0f7803baab5e1c301091ffcbbb88e37b5c7674fda6923af41f727f4ddfa40e08da30fb038e3752b19d62953d70f68203b997ab3821d685f924f5143595bc43e6b1b5886603553ba377366e00f3faa2b0cc840608299756ac581de4e547c73a6261e4d5088203d07bfde854e6ccf4a7463ab2a6297b7a94763e885919f658bcc86c5d76b4daa303cc4e7a3c1e9c9c4de2a90ac0acc26c4c6aad4be98fbea79b9437bc8813dbeafc0371607bc059aaf1d8acbcbe8c388d4adae8a722f2501ceb62c3622dff26bdd25803b8e8cb750c0937e2e955045fb4bd206474f15ea39f10071aa81ef4ec7e4bcae203d5c1b61b5c133a6079ed1736ab2614450cc2777eb03dff97cf9a3db5f70a778f03129e78728903f25a508768e079e62a289382e6554727fd678ebc19718d506112035ebb86b2d389b828bb70682bc8c54a20147226835767e48fd1c59d8f213683e903df5520dd27f2c78f8e5a82f4073c81f8fcc604a29f18a153cbba85d8f3f804050337fdc36781bc8d620a75aa72c887343b26261ea637dd4d80f2dc3f680d1e373203c787b5079057c5e16cdc5b06d47156d7ea60305d2f49a7323c84cc9486581276032ee395eb0d2fa4212239db39f90662c1e89045bc48eec3bf71b357368bf1e5b703bbe6ca20c34525734f15e6034866ee362b971107999ddb9b23bd581eb0bb6afb03f8102070a443137ece82a4346663bbad8ccbc6b2c5a86697f14994f21fac0eb203fee563b98937731329e318b841140159b306405ff4494066c6ccbfd24b2b322e05581e034dc0af463f569f7d349d7348a96768e4423e8b90005bc0f566c4956f000c0246e9ad71316e5605581e031718f37c8d6d3b74317e412ec75800cbf92b64f3ab2e2feeedd7b09ef00c034731ea8616a9a13803a8af516e006649515a092bc82f864dd5d46eed6acdcc34a36dc2e1b56c854ede05581e03fd9af32ef9613559a05eaf941ec5212cdf7381c3a25d54586b0954ca300c014718d16bae38c72905581d021f8cee2276cce41c6fe7544ab935d5094951a6f7e3864a521fd3480b0c1823460fb475a4bf0805581d0291817c542ac8751b3fd37cb5d49aaab3f54b2c5180b1b4d1f89dbea20c1a000369d649012a502af7e35f73dc0219041005581e034fdbd9d565b18fea9d742941118c226b4808687ff6ea3718aeadd020900c0347020ef715ea80130219fd530385a4dbe174f314974d17fb45ebfa254421ea9322bb199cc2494a507414b57dc803f61bd4d3528d76e86df614f549376833d3bf27e2af8f4e572749b908fcbeb62e036c3d4dbb7598d4400f21e4a25392723ae2b14ad54cc9b5bc9a5c27dec429a6ee03af60e409a4de967779c96fc9417d6dfb0316263436967027a1cdc8681b77eb5f0326e75c09514089630692c71d0d64ff63449c419bdf0a18ff7da81fa1dbfca7bd03c6e3d7bc75314bab640c9df1d2ec9c6edbe575178f5dedefb1d8f3b6efd58bfa032992fff29e0c7859645af390ffeae2af563878ee3a3d5bd1bda113a5a4d364cb037c6999336fe6cf8a117805597e9ba2eaa0eaa022563d0e53bf6ac93318d1237f033417fabd3d9b50ccceca1eb0c9abd73b4a4bd5a3bab43e1ecb492c43f91a7bee0219ffff039e9be755e1fded14deb6be49e58eeb98817559b425fdd49e0b520aaf95cc384003f4bd32ed67f766b9e298fa0e2427f465410b36bd754c1097b2c66321c72773d5030e714c26d4d3273ef6bba0731635d9096de2850d7276d8d086c9cc67a5b27bf403e71f26d78d4e3d0e0106191135ae503febcde1660bcbf8457a157c15c771b801039585313b5b60b37ab9db2509c55e91cf0f72058bf306be1a8714234d9ccea079035ef8e09bd11f7ab9d84413ac769541109dfef25be7746195db8b771a82440ec403a56b3a0e0b84e807350eff97903da87b75e1088c2ad8ea8965b38246720c1cf50394098a53c95e593d31ecd1ce8816373322487b57e2c4c944a98823525af209aa0342a3789e71567115f9a77e50f9267c2a790a6c32b3fde06498c869db126d83d50219ffff03fef9b5347262cc8d44326b5278b73a0fca8401875ea662a5288ee5ee4b4abee603a75c8aa0519cc864b0531b1ce8b479a0427e3bbddfce46511fade88652b87390037df0f6c04ed52d9bf9ade05a340129132c3883571ddf2087f88643cfb63dd1c903040d993fd17da74af2a0f9e5286c051b1684df90756245a11a88ced4f1a5173703f056686a438fe972e41801369072b1675e270be99c8b4f33edcc1aa6957e20e603051f76a1681be1c9e623984f80887c27ddf92b07a183eac5ca6be325e9de585c03173ef6854402642041f594e285e25c80ffb76f75903b16d80a2e5aecd41d30d7038280231d0af4ccf6c6767f9e228af9f29257492e2824dee93909d9d1483acae7032af59a6087b8575d39407f284c77bcd2240998297fa1171a23bd6a13205cb615039323d79f9409b9aaaafa81fbc64e82f71d645153bbebf9ca6db4d93d474745f0036f2557e9ff2d6b4c812c8a8bec9277ef3e53e91ae9fe9af74847bcba76a42b010219ffff03b89642ec4781af9bd3410f4dd2de623e93173e9ddd5417d2dc985c8387d2dfa4030ce7da40dc731e3597458d76fbd70849bd1751315d258f243ded7f0020bbbb0c03cee1102dc3162521ec5235b5f2c40df946db8fe0a43773d8c322ac56c7953b7503e76c008e337cd4f08b95fdb94625dfd461b8caa282843bcfcd5109e745c80e4b039232eeaa83cd7e4b268a7fccd18b1353ad003640c870037ec381b03645b7a76203215f1a2fb2152dbdc477a0c2f497ca40d20b951f51b6ecc14824e4a42c20630603dda7266132adbb419e3201f772e93687d3749bf7545c866a754385393520f2870360b03809fb64e68d268bef4feb4b283ff721207dbea4b8039d9e06ddca7ce3490381f10fc445e99523d19b1b4c8ae822195bf9960652a8a9bb4cc1df0d3f654acf035d258a8f96a4b40653bf39e2fed9513474fd984ff55406bb1bc329d01012c1f9031cba8d66d3553a961a740cf1adb9becc7800a17273a0c790738cac026c9ff58a03dd60d4a288377741a0382834be9bc87808f46b58fb3218ab8aff895bee8fa79903a97dfd7dd169ce33920e1ce701f45d3075d1ba7225794bd542d7acf9487f85f803da7a10c0b667b7d23d7b64371606022c88ef8b6fb14ddbaa9d0c117cc19ccb0803d62bc2cc325384707b8890d244cebef8c0daff38f9ccf80db502b1abcabaf68703c912881ef5965061677870cc3088fa4fccc185b6ae4a260610d1a7cdd118728a0317cf305b413927db249dd786ae005f9864f650d6cb456e195beee085ce01dcf3034f5d806ac7c254e658d15ac6630646a2c7ddd2e6157544dd21861806274d0f5e0332a47f4e51301a1056af2fc1528722ba3d6a54a9d842603e8fdf165bca310b5703f230bacd59f1117911af4db652556804f983bad2fd97484e0da95fbf835b40e605581e03683bd12cf5cdc7c6bf6dfff4d9e47bd8abc27642ec7206d267cc361a600c014701d18068fe450003799a4f974f93d287ae49f0e18584cb1947812d264b05381befdeea6c4435ff52032d7831c14cde649a2da3ba0881e7db1960cbfdf358d66b8ad063ee50c3fe651805581e03a55fad5f547b86f90c8070e4979edab914100252bb660c967099eeef9007011bffffffffffffffff05581e03c99cb77e643caf304d943891011abaef1a2a6fa24116da265011dd2f900c1147ca709d703a061f05581e036ebb2672bf93eb0ee6dc9071966b25c354b0ae2ed31051772cf4b446d00c02478a76ffd36be86805581e038da2cfb6cb057e7c9db2fc9b1bd7cced07d25493196698023cd64526c00c054686430731d87005581e03bad352d0bf4a8b570c2ca5f01015b4efca66ed902d041e60915c3bda50040c03b2c3fdf5f4fb93267941874484ada1c42fcee876e72e309c02f8eb00dd7366d305581e03f6ef390f588204c6c38b8519b03e2610814c8afa14475e2e66780e2170040403583f03e9f274145bbcb97100ad6422b18a01e897c4ae391e201b5417ad62e56303376faafa4a0c220aff11267df413cf482222bc36b891cd4a828d711e07bab18405581e0391a414b1fa5edac18e43a4fbca7727ad6abe0b80794ad5ef2bf64e7d300c014653aebf5da400035a8fa032f3782eff839f8d235c9aea41715c93db39e3ada49cb25ec01aa99ccd0219aedf03a1a55343746b2802285e2685b931675a7bb3ba7a22f203bcdb89205be44d18be03355ef72179054dd23fd27965ec7c9e7f5bb0ab19472623091f46e1f0b5c79ff503b1123002b767c2edc1dd9f24910cda301f436e66792ff3849e84f5b1b49f806603225e4b70adf7e4c3ea1e6bb0eb1fb87121ad60996142a89bbce4bff79a02b5570309c19733aaa6a607e8268fc79a0caf0e597585b51b00279f00ed46d001aeac8503bf1b607abb840bd07c4a7577425544bf8693eecd8d2c70698d97c1152f81a0a303806e0605691868228c6694b03ef323018d8f82725a9f408fd6f4ba9e01d243ba03a60ae6538453483c5e2866ea0d473aa77e21929811354a67e0dd688b7c9b123c03bb8e34695c3abd3e03e6aa251b187db0672cc77867fd38d8dea2345449a120070219ffff0335f01f8355f316813162c7fa284a02a780b83b94dce581b21e80c6aae984014e03886058b4225b59864cee6b79ed30f290b0ae4e9ec2376f7f4735e1f8b88cb67c032463efed5879bbdf548931aeffad44d9f39ac34bb355d43234533d8763e93ce70303e9469f6d43bd86c76aed43f1e954fd31ce37e2052f43213a222e30aeecb9860331a9383b6a2067809be7581bb0bd9ce5317b87798af702192f641fb558f8a83403285e7d32809540876c61125516a023b512d92f549c61bf6738dfbb5087e3e0ba03fca98780ee3d3ff31ce582b943a06da4c60f500f599d5634c3d76cb7ff895063030e67d180f8beba4529a6d4613cf99cbc8c7ce7ceb51f73712ae39e8c315585ca03d81535c2affd6bc3a0abb52ddbf528f20a67f8cc561094932c5ffff6a0a7f45c03ff8db5455cd2c5d2548f777f3770903c9965c89e7b42ea823c657959203c344403d91648f74bb29b0654dd048b31de2354707d1b7ed7467388a57fb1abc6402b170310bfbb6beda0ce5d8c7c7c8e94ff99a00334a71aaf587a9487dde9eb1851fde50376db7fff06f24c73c392dc2546a8322f8eb9fcc953132104ef3edca599abfc4003f23f00a633c6eea1ad21a0dff71524026d6faa66b29de5cf40571723231df1780219ffff03ac4e08597599b84d85b1884c24dea1e08456602516786deb185ad690e57c17a1036f80e9860637fa4bd6055330983c5fc025b424f5c4528c16cf43be7666032b930370cda0a787938fd2c865b307d81add305c0b8b9bd27555787ae5d016bc89fac303d509be23fa7aaf82fe46128969706cb6445510b10eee40aa07d266bd6fe6b26a03d2eec390f4feee1c6e103407d6cde4465ad032de4912c98a4f7af9054e11b3fb0219ffff0219ffff038066b0fb57d3ca7beb2993298ac831ef5e40b485c66714c66aa9e7e18c1f2d1d03b266b96ec9a0c3462ab178cb54a2445c5ce9b1f7b7d20568363a741258fde46c03fea45f14771c86a023c24d838d0eff582a860581a974cda1609b047302fb2ed203c2d3792bebb812bdddc21fa994d051c3f80d779f7dfcd1f3f4d316262b1b931803b6d7632281519e3027f0858e8cb9dc217d2f4b368d91f38d59b6dc80bfa3430a03dab51c07bd715a34b0834011d875c4c373f5ccad7f21d8e605598b3a92236d190392911494bbac9f0f3facd9c9dc598e22a79f2c52cda30eb5872b540f08976b7d032e2ecb148e6e3f2a66c9306dd199d1c68695d6beac12246d078effd36fc1e5d103feee4386e7e9c5d7166fc577abb95ac128a69deaf2e8ff7c1b7a31cf24f6674c0342cdc6e2ef4ec557bbffd1b605faf36478e212f6b6bb55a9ecc7fc6bbb7abd7e0322dab47876066b346e7cdd78ca9f88efe13bd4c2f14c43d95e2ae7cbefd5b378039c17a9a0bbadb4172381e605008629103821de23fc7c96f46e644c14720df8b6038684b820c51dcccb28c94903b84a22c9fbf439a50c35bd6032c3cdf0d186a44003ef702fcf970f84d4a26f31c69262911ed81d1955bf4849af7304b27670153cc303ad814b584687f8dda06881b535557fc970f929876d5b0290cb9c3adb5b3b485d034b5457b4333a6028cecf65c8c001601b1389e712085e8f6228693f2421b58db603563cc5dde437323204c20f9c0e2d42740770bfbafdde23658936fb59d979e2980355e0cb0a7695031a676520d73a82c1e92e7eb94287c42616b4d75e5cd2affb7203d43e84a7a86cc78faabce9d038be27480a75b2dab5b655ff1bf9a10febf98f8803d1ad0c45163b9f8ae11183482b2cd52539be1bae96c2875fffdee1798ad6508b03138d13524fcf093b2fd8e3b57368e4b9d68a79fc40a423404c1735001c484e3b03f6ead3a18a3f25570664b8b596d80def2cd239a6d6ddc8315e921e40627c88f1033d827bd2628ef72b339f6c192d76b8e7bbcc6e13ccb17518dbcd2a5eb543808e0459048b6080604052600436106100295760003560e01c80634776e4731461002b578063e354733514610069575b005b34801561003757600080fd5b506100406100f6565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100296004803603604081101561007f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691908101906040810160208201356401000000008111156100b757600080fd5b8201836020820111156100c957600080fd5b803590602001918460018302840111640100000000831117156100eb57600080fd5b50909250905061011a565b7f000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c81565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000881d40237659c251811cec9c364ef91dc08d300c16146101be57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f464f5242494444454e0000000000000000000000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff831661024057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f414441505445525f4e4f545f50524f5649444544000000000000000000000000604482015290519081900360640190fd5b6102b58383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601b81527f414441505445525f44454c454741544543414c4c5f4641494c45440000000000602082015291506102bb9050565b50505050565b6060600060608573ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b6020831061032657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016102e9565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610386576040519150601f19603f3d011682016040523d82523d6000602084013e61038b565b606091505b5091509150811561039f57915061044e9050565b8051156103af5780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104135781810151838201526020016103fb565b50505050905090810190601f1680156104405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b939250505056fea2646970667358221220fcb8f4f30203340a84fb3281a8f6f11931d3bba7bfc927a40ff42c9624d5f0ba64736f6c634300060c00330605581e03c6ca57527b6a2a753f5d37373afdd0e49e11b8b27c922a5d3ca1aaa7d0070119048b05581e033b79fcf57ec5571d15bc7aaf3f58bdb89e0d069ba4583504b1c0c8f4200c1818471e762eae56e0b905581e034c398765268df59dcc3c8794c187c37a5c0988df57b0fc43be6b6dbfa00402031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e037a74209e7b467a59efe04f0fc97880c35522b599b490d97d0791ff152007011bffffffffffffffff05581e038f679e25f4fd711a223c42a05201d01bfa0492b19d904386c242238f40040303337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03689fcb5f93a1656c679c711f5834a4545c5bd0eec4f9fb3d06be74d47a644aac05581e0394fac235b8cb0d7369c192b738a48dcab89a51dc7ddae26ff0fdedc7d007011bffffffffffffffff0385ca10919f6b9d5d8553571c7c5381f8bc1ca51c85b7baa0d8fe3dcc0f499fe20318e7060ebebce8f584c5d3884f3c2c502a014acf2e34978d9da74b90d80ac1ea05581e03a90fbf9d4e6f02dd53857678d0d6e1a48caa75ba18bacf95a9ceca89d0040105581e03e440d19553561e880d92e97c32a2d0c74453efd6d45c052d572856b840040105581e03de2f98f27dfb0f01af59b807b54304e203e57f00902ec5d0602d8f8cd0040102197b6b037a540d4a2d56d07ff91ff0d8614bfc160147876b3604bbe3ef1e21216b53038d035729e9210be60143eae7cced73b789d85481dc56b6bd235ea33482dc7f61f78703d735c12a2c56d482716dd308897185e9dc8b6716330fbe1982ae431142242bcb03e92bd3a0ca7cbc768db8caa2a1907066f0d1a44c85ed61ec2dfcdc582dd0d3e003bb0084f0590e726b22ed83cef4a3456195d238f1dd7347a8acef4bd4fddf43cd036798ec09c8010fa5d65283cb047e8a45558931cb7404f49ddbafdea1b50c405d0219ffff03d2d194dc7e1be25dda2ef87db89bba91fefada8bdb53f90523bdf78c4a1963fc03142bb94a63f8466c0ae561d7a389a47087a152b8b10dcdebc116cce99eda2e02034ae7c3af3d1e6600c4a82f1d754d19bfc704b39afbc51f212efd38dcfbdd91b60332a3cd86d13ffddc790eb290be4d16e58c9b8dce7b3aa85d7f1073cb2039e02d03e188597aeb36953b11c0c80970261bad07bb64a6b727d2dfd111aa42f615898203f8d02f79d4c087b69fdfb3bca09ded8d9d71db059342b8b5c747033129bc48cd0308367f6a9fbd5187cf7fceac7a7f54e637452ed8cd8386d45f73bf2313036c7e0398f494a4a1fe7e046e0866cc2517887e8502b87679e98c564fe5ac099e4583cd03add06dc5117ae62b8940162e4fd91afe3b140ba5699d9ff3f0197f9e9da3a594033a337e65c7b8a1a6bbfb0a95231e2be26ed224c6703ea7933b4cae13d4d94d790356cdc52a15ed16625a7d44ec5c427fb975b4e8386aaa10f04c386cc5681a843303134ae714b123f7ac789e2b65fc66e23c9ccc5125764bde91019693517933d1ad0378f1640b9a5ac3bd82fe41681f26b4c94ce5169d4fa75fe2706bbff6d324d1120219ffff035186fa4f20f5879cee422484b01fd1a0581506da2215088ac7f5701bfdaf566303ea41ca45dd7ad1636b2f4fdda3494ae66c12b4bc9541a3217a5cead721a1f19703adfdf1d1d7622c9ce3ccec4832461ddc857ab79984802065e213927a97934b5d031daee6329a5ad11849b58cbe6bab54571c4d336e3bd64b1b420be386094102f003665fea5d83b56ba7778ee3c3b92a8ee944a4dbb554b83691d2a131099e714260037a204e8fb504352a69e860fac0875a048f3d20f2f279193463c732203985580803228f88b26090647bd6f94d5e7914e1cca71d8d88b604b3c981147c5d1fabb45e036ade96ac2d43ec2ced337a2148b76ff1a23f710c1b3f9458959e9a2f33e4ec9f030ce0a9b190ea5c2d3c3b0c884d7b85a0a49fde2ce8850faf4da2b8bac90a860303fb2e80c738be702b3fd2d2a421416685ac006406f063a55c3becaf7175b702e70219ffff030fb08b9d13841ab3b2e9e59a645622f10cde1a8ff30449b4ab2d246758f46164034cadf37889d1ce3b26ef2d85517e973df97aaa2cbb727308544f1616184849da03acf00f76f40d617f3a05d5a7abee3b9247377d537ddf92c09bd800494be1ae0903c46c4895917f55094d7f61e0789c5e7aa1f8856bc2f98850ca96fbc560e391330331d4bbbc452551a6dfb9937f26f347f76e30fe27bb3cf73e7f2cc898121ce47a035b75397d07debd06353f931db944adda56256845a3a9ceda14e963a1ea1abf2903f4535bbd87bd26bfde5cc778ea258c239206ff98eaf971d3f5797969c87304910378e96d801be4c49d2f5181b2ce12f667861248b6b157b177d45923baad0903010219ffff03c571edb8978ff50b893d99acccedef316d2d2fb6353ce1b619d42cb996a142ca038c99447fcf554a3386718f30d1ac8a1e946e6940febd2e45770d650eaff1537603a3910e17be5aaefdeeef18d5b625dfe1993d492d9f68d1ab7561495844aec47303e40a6db06dbd1ad157520034a58a5b86fc4241c1c627e12b0b100487689aa33c03970bbc167cc8feca592cf9113f2715cf0c7949ab332d2290195a379b979e24ae034a989c1567981de0d04ece66bb6d38476795a9c6992f842a15846ddec923d38a03d6a0f60dced523297e6f8782d8d9907f5b68c3ccf6305e743796242066f4d04e03c1cce07ea24c7fb1cfaa2fd8fec75e5d4dfe0cb7a3f9bc02c5795833a679779c03276863babe6d5565e4d210f7bae5bcf0e9030fb5c101bca34d8b4d798f4ca33303a889a7f094094b7425b84f86f7f9bb6708d25fe718355a8d8b35d5d26e61914d03ac11f9b08f87e8dd608a2bcaeba681b60cfea800a75d5ae0640936db3367479a03b998bf4bca0bd8ad2468ba430d83ce167ca96e674526b05d6f8a99c4ccd2ebca0384d068da9833b03f222e56a1370112b1595ef6611c9203d35d98374c43ec7cb503b7dce72906903bf4f38a77026a7857d2aae7dc6322f50a346ab267994e13ed29032c5644161c8de2965549e2f8978a78d1b77562375be50fdd68de12ee83fa4b4a0320c557efbc561f39701f014ed338d092240cd4c5a168799af92568f3010e39be032661d5ecca5a608c014e9ad935b601a7387384c85608de5f496600aae00aa342034c1e19f9608cffbefba9a4bcae8c93be1e062cfa58a8d1555bd02d2f16368ef103ed4b93c2305778001360289eb4a8af4fa37e9d70c0b073cd6b069e685cd00c9b0351ba1e90f7046fb6bfee5c93606ce5ce82fb5c3a5db265509edb0d861dd94e1d03859df497346be72cfc6a074d8ca2b64e19a76359b259e3cdc8c66c4ddfb648850332c290e40aeace87131dee2f75fbe7d5da046b48f2308450025fcf10d1fef1eb03864ec0ba95b0d8041319092e54f8a426e1dfdd5c0b7b0bb9df54781909c2477e03115d13f66ad2ddcc96ed0541c3e7f75117fa1e8fd99c452127356382c08a2c0b031b1b9f004d8bc4397119cc9d6c9969d5ef42eceb62db3e26ffcb3ba9b72cae2903d48786a4c32a5dc954950cc45fa9e1ba1fe82573e0b4812f8844fc4eae69d4940357144ee1a7ca5278e42bb4a8bc4533c640cd1f8fc1f88e79bdab521f0f89602f0301a434871ff8ab7d9805a69af3912a67fc84923c844c1cefea65d000c9c4420103e5b1b7e731be7c5b66d3b3e9fd7be5ed639265b020b0d91ec3d05a717daa148e036d085e3d0fd56b11708690f1b8d71c01cb5196d1ad05f1a6acd7dee3564b1d7103e5de9617d2053174ec7ddec916b8e40acccca1ec45acd6db6e4f4302a5553cd703c6158205af9b2dc8c98966bf8aff212ff70ea45502fa32f8fe2894defc237e5d0394ba1162f007c612f36de8720d4b39b1e78fcb7f913c4100f3085201e6c6812e05581d029ab713aa2e78501ae9aecf6535ee95bb0ff27c33e037ee9f904c54410c02470700d71b6ffef0045908e1608060405234801561000f575f80fd5b506004361061009b575f3560e01c806395512306116100635780639551230614610129578063bd98b2b01461013c578063c7065b6a14610176578063cc780aa1146101b0578063f2fde38b146101c3575f80fd5b806328aee03f1461009f5780632c09a848146100cf5780635027ad2e146100e4578063715018a6146101115780638da5cb5b14610119575b5f80fd5b6100b26100ad3660046106c1565b6101d6565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e26100dd366004610725565b6102af565b005b6101036100f236600461077a565b5f9081526001602052604090205490565b6040519081526020016100c6565b6100e2610321565b5f546001600160a01b03166100b2565b6100e26101373660046107ac565b610334565b61014f61014a3660046106c1565b6104e5565b604080516001600160401b0390931683526001600160a01b039091166020830152016100c6565b61014f61018436600461077a565b60026020525f90815260409020546001600160401b03811690600160401b90046001600160a01b031682565b6100e26101be3660046107f2565b61052a565b6100e26101d1366004610840565b61059b565b5f8281526002602090815260408083208151808301909252546001600160401b038116808352600160401b9091046001600160a01b031692820192909252908310156102a4575f84815260016020526040902054805b80156102a1575f86815260016020526040902080545f19830190811061025457610254610860565b5f918252602091829020604080518082019091529101546001600160401b038116808352600160401b9091046001600160a01b03169282019290925293508510156102a1575f190161022c565b50505b602001519392505050565b5f6102ba86866101d6565b604051636b40634160e01b81529091506001600160a01b03821690636b406341906102ed90879087908790600401610874565b5f6040518083038186803b158015610303575f80fd5b505afa158015610315573d5f803e3d5ffd5b50505050505050505050565b610329610619565b6103325f610672565b565b61033c610619565b5f838152600260209081526040918290208251808401909352546001600160401b03808216808552600160401b9092046001600160a01b031692840192909252908416101561039e57604051632c3631c160e21b815260040160405180910390fd5b6001600160a01b0382166103c55760405163a7f9319d60e01b815260040160405180910390fd5b80516001600160401b03808516911610156104515760208101516001600160a01b031615610444575f848152600160208181526040832080549283018155835291829020835191018054928401516001600160a01b0316600160401b026001600160e01b03199093166001600160401b03909216919091179190911790555b6001600160401b03831681525b6001600160a01b0382811660208381018281525f88815260028352604090819020865181549351909616600160401b026001600160e01b03199093166001600160401b0396871617929092179091558051888152938716918401919091528201527f7a98750a395b9ee50a2644ffda039e31f1d5d06de45510275f972bb20b229b309060600160405180910390a150505050565b6001602052815f5260405f2081815481106104fe575f80fd5b5f918252602090912001546001600160401b0381169250600160401b90046001600160a01b0316905082565b5f6105355f866101d6565b604051636b40634160e01b81529091506001600160a01b03821690636b4063419061056890879087908790600401610874565b5f6040518083038186803b15801561057e575f80fd5b505afa158015610590573d5f803e3d5ffd5b505050505050505050565b6105a3610619565b6001600160a01b03811661060d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61061681610672565b50565b5f546001600160a01b031633146103325760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610604565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80604083850312156106d2575f80fd5b50508035926020909101359150565b5f8083601f8401126106f1575f80fd5b5081356001600160401b03811115610707575f80fd5b60208301915083602082850101111561071e575f80fd5b9250929050565b5f805f805f60808688031215610739575f80fd5b853594506020860135935060408601356001600160401b0381111561075c575f80fd5b610768888289016106e1565b96999598509660600135949350505050565b5f6020828403121561078a575f80fd5b5035919050565b80356001600160a01b03811681146107a7575f80fd5b919050565b5f805f606084860312156107be575f80fd5b8335925060208401356001600160401b03811681146107db575f80fd5b91506107e960408501610791565b90509250925092565b5f805f8060608587031215610805575f80fd5b8435935060208501356001600160401b03811115610821575f80fd5b61082d878288016106e1565b9598909750949560400135949350505050565b5f60208284031215610850575f80fd5b61085982610791565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b60408152826040820152828460608301375f606084830101525f6060601f19601f860116830101905082602083015294935050505056fea26469706673582212205f7c1380bbdfca74363c8683648784e336909537d499d889229f3ceb0e5f578c64736f6c634300081800330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054798576400f7d662961ba15c6b3f3d813447a26a603dad47ab05fe55e7e5557edc6d714ee2fb2961138301b8acc1835c60c1b159ee50058210370731c4fc4bf9cd8fc2be4d898bd67fd357eb0135035bf4500364b4c42c4fa50581c63fb51c55d9605a75f8872c80de260a00facfaa200000000000000000219208405581d0233bdafdc350c64ca9173697da1b88f371cfed874249a2c0f114d66e007011908e105581d02bd888345dbc49fec34229c536c1b530d2bd5c71363bedf0c225024f404030218e005581e0344fc85d8b00f73c5efb7cc0ed81d304f75e366cf040e0e24560a430b000c014701fa148b1f948403e15c04074fc4d4f5f0e6f5eccbc96d0dc8a57d819056804efb9c7ede8b68456003dd82880d7e5fbe2d062dcdcc23f9e3ce0b821b20ff9169efe5a3faf6220209e6037adc1370f07b3f093bd5493478ec9d571175956c4d642c08cec15151fe5f37e005581e03b4f67e717e6d7f0531bc2e73a9d82541fcdf02d24f1564bfb3ce9e57e00c01460da475abf00005581e0320b4e9912bf013fcfb4edd0555cdd2c17fb7a071fcc41a9e580f35aac004030219f4a403dee7ad1c83af835a3db904420ccd94d2d44e534831d1ce0c1f1e73e166a285fe031543f7abc56d32fb01a640b49c0c80b507878e7a06fddfdee26f7b41608ac9c403749bf0682d33738a97903a9c8ba48424f428b7115855424d5188a899f87a39e803f0baa04299f7a79fbab25fc58b346aaa712e05927ba7b77a6bc4e79053842b420313f0a0388a753c3148e9074728f82f9c29b57b462208889d802b28122d0c210003cfc93ec120b5d87324d18a22196c905407a83adcd46977ac1dae095592963a7a034ced066e2f8440c0471199a8e2f3f01458ebcb8905630826fae6b533754ac7c6033299b9b252f69c101180f7676bb47defe75b51cd28a3989a77cc20712061259c0372f40439c69870dd1d65b93ded3ecf412c694cf7a677d4846a001742dbd80f660219ffff0383dd6f36de9a7b5ba8aac8622e795903c2d283908e7849a7e061983a681595fa032546308aa381165c4fa9716aa04e31292ec3e4488ec5e0578e5a5340369a08e80219ffff035246f1f89863b54c35c81748db251cf920343a05034c96c42e03c767b5ab5406037dbc353ed4039207af2727b2a06d6ed5546669c70c617dfd9b306f081d917578031f9cd2c9f958faead3dea167b7b2c9a6088f60724eeee0a6905df89f6ba50c3c03acb7c066eb9d72ff6505fd8996e4d85a69744807481205279700c5ad4d6e12e9033cc5a6aa47d354c5e164f699954eb320e0de5f662ddaa3a1fe791a7e90decb8f0315277e0e7732f58fb70dfafaea6a5aaa7f3bf50e739574643eff4bbfa68299ff0219ffff03964925f21949f9f0b37f03ae06e6dcae61dd83360c9714d242298334ec0df6ce034885f6662a7581192640a98e0528ec2f0bf35ec96a2b788aff8081724f8ddc8203e3a91abde7bb6889cab91fbc0cb8335a17b1f5de10dfa5ce4805c9572847873c03fb75df1e328938dfe36c98b4146e478292630d1eb7f76ce978118e1742f929b203b961d9f9317ebfbe5f63c3c92248b69bd85ab1d2249035f01e8b9f4fe6efbb74037f644e92a3e2d61a6705a855512b8ac760d253aebb91544843db0c7849efbccb0340bb7694b8b66a7e7d9677b243a85dcc1740f07962d20ff69042acd514d7b4d203e3ff0d644273e04d1396b96fff85be2d2c423c49eebf5314e5405fc8e28d769703c2a4313138ca2b1c6c3c8efe40362c99db518baed6f249ea2e41c66a8a500c3e03804ddf57a7f3cdf2719fb9c13bf65acf69a766af0f75744f6c71f8d323d4cf2d03381f0a53b10a1f2435c811e051b04487c48c6e0c40222dc2fcf12f6d2180527e03fcb1573fa80d08d7dddaf726961d81385f0a406f876ecc57effa32cd559a867e033860d9d39d36cd5bf165f2bb10d1a76e603ebb7343a164ed5d3d92a4efdfc0ac03c465681f8ed7f2dd34c03718f66579c9956bf017641cc8b4e1fd5f037ef24c400337cd8bb74485d06b22fb96cc2c50a9f07936e86b1f15921edac1a5a80ea145cf031a4e8cc7575b26fb41d63b6622e29e04d077176ce00e9ed7640cf24ef16ca64e03138e0af4ddcd05241776e72ed928a501f955d4dffac29b107b1388f2f7bbbb8c035a814d8725c546c4c21fef3cd8e100eadcfc5ede683eea0b7d2776a3181d5463033b5b93df87aac0f64d6fbd5f668f65868cb2d5a57b1fd57f915b72748c6f570e036b9b8684c6d117aed71d5a6730f442b1623a4c7db8fe966fd1dca1bcda6016f003afb79371f09042e23d0af17b2c46323b11b21ea7554d4b76f45c73e39ed22f5b0366ef9e881f075e3d2d0f6a1ed7354c0e23a0d6e841fa74692bfccde829f4adb803069962f3887e80da652dae605f6a15109de693911b587a0cb5f61d1a5a3708d203a6b44bcd24f8df709d5747dac268fcb6bf2167784449d9a88b43ac2a3e7abeb9034eb251bb534d12f400e1db9e030a02760e74afa46a2e0854024f2635c792871f03c9fe9138d7315bf82e5759cc0362e24c5f4e62ddaa0b46833e076ecf4eb3209b037d961e4caab0955a4f53c97e722627bb7b8f18747f2b7fcdfa106b920205d8ee05581e03f2825afd873b123dee0149554dd7006f6625a4cb0f9cbbafb5b6ef3af00c0746c09a8b9fc40003cbac5fd5fcd24ff3a76808a5500af350493a120b0078a5ba3b4c3939c0001f7e0363f6e5b8104fd6962fa245a28e98e5d2d032f42a25800e0192e1cc832bfc52f305581e03d0a366c05b51d3f0a6e3fe7a35fd3f68c9a79177ee04d23081271e3a100c0247509b5ee484ec0005581e03f1b4ad3b8f88aa75ef13d83e46d051893775eba0739a68818feeb6db40040103ee58c0d1912c18739528aaa1874aff9170edc50837ceb3155302b28016ba2b780319ac7a3086a0de2b561e93f9854994ee5ba6ce248e864810578ab70daa315bf7036ac54a652097cae093507d2997d78c48fa788b4048e98d414ecb016394ee1ae70605581e032aa1fe6de5294821bbaa0f84575b3928e336c1bc3bc01cd5a7f1c6869007011bffffffffffffffff03f1b342b892de7255e34260a0f59436f5bf96c378fde58cadd24bf09519f060fa030dcdca09786ec65dafd4aebaa4bf93fce2e2be064c5c8809ceef9ba1e285a28d05581d02ce1a65515d90c22d2d8f4117930b75c28dcdfc23a42af4050e0ccd670c19011947a57f68396bec1005581d02758dff71219cb194ccea6b1240345615f10b82b9b46853437db929f604010219800102199ffa03a5b58b03a81c87814ccb0dfda659f513e3a70ecdef7bbd74548a0f3a0a89a25703e3a5a64e2eab84bd9a5a1d27cb3542da55d0ed792640ac1079d7a912d94c7ea803063a7516751ebb98fb4da5b36c9553ed622276742525a57b4a73fc28e8cc5bff034443f5c107ff3e11bdd7a71dfcc6440f9b4844c7be5f7509fbcdf912bc976506037d373400d99d50271ab3f9a9aba2169c0b4ca93adb74eda4309a5590090a6cf103737a03065731c6525a20142bb80478a393793347c7afff38eef313bc3b04acc9035fcd4e3a015b041d15f95000dd67ddf2ddf1e5dead797a0d056ddbb7afa34bbb03dbadf720887cb97d023e28e780890649921506243f5f9b958fdb8aee239a629103ec03d515906fdd2d506c5853d5bcee1b8bec3028ef0049ec156da7a7017b8e22032a82e8b34f835e7d97d8f8d2eb272f28c90fa0840d462e01f907d6eca9415c3903ab654259941dd74b5da4e2d78f85019024e812b31a01d33989813f792ff7103903eb350ce05f1a309f1e360abe79f99e3548d0f26b290a7fd0c713fc8d220c876c037843d34c888a8b9fdc52b7f76b089b01e8d4fbaacd80d277ee0b3581ca74bc8e0219ffff035d4fdf7de53b93f51f040cc0b9beddf7d831350bc4dcc2c01baa24b8510f74800219ffff03ba6512c213b4bfe93a179edaf79cf9f2d091b32ae683f086dc975df6206496fd0357eb42446a0b06f38ea109cce68f6f7387b734774107c54e632eb6b587da2144039b1536367f992de41f424a8f8e6b99ed6af27295334a7c460059e5c6beab399003d42fdce0dc24319e4f9199bf668f6bfbde781a4ac4b5b765253cf9c1c17d1a3b03b0f37865d1e24f08c016442d0c1571a7b9d429ba82a1f4424e9aebd43357b055031c19446c8250956fb747435c8caa6186f1a42a4ac0ae0cf0bd723dd1d9d495e90303d10f78744d3ee89e4ed05c630a817b659e114dd32aa79ef1c6b910d31756170219ffff037932af44f46c0f8b038794911751faea4e5748580ac6fb966d5732d0d8017ef803ab7365d251518af9b43da905844e94748b26414bab600f7ff818cdb485d9adb503ef3663fbd39a478ca2338f093931ad21194d83baa655b20236a33215dab9b1d203ee5368f4493ba09601bfa0de9d922581101ebe0cf1d0b3653ca6022fd10c450d038dbbb72932c15cb95e5a4187b2de08b1dff1d78da868c1e5082938e1354d7c2503ee2011efb45537311f1e65d5e314775aad6d8cf92145af28bef09a9051b6593903ce5d4dc00a2dcf3200374a0fb46e54357591780a0accc31433faa103a5a19c6703ee3b8647d91c18511eeca87dad791dcd572a694e7e65142436c25eea6a17c9d503afab5fb1fa07d04abf2b2df617452091e91df4c7812dcdc4c6d95a33c5b2aa09032c1f582250c2b01e57e93176346b6db1ebda9c07b33ef8b39129f294af77f5bc03fd31e921eb4e5ca7a91ca5e293b543512d7e934eef5adf1d38597a4ea2fe3e5003b373a4a652d3ad095ed1d33296ab244d635e36416fa392231185867c270b461d035a4d28beeae797fe6bebc8308ffe72a0694683782d535c0efe6ab5b620bbc9d303a9760a70e40779d24ac0c5b356bc9494df09732a30e404314b12eaf64e5c1125032fbc706f245f1132acf17557fd8d62e03470d302367e13cbc2baf97fa7ffe3f50378297e720922b41d44e2ec79a0b44abf6a20ef75371d457bde012a3d7b31293a03901f4e40b9b8917748de24f9a70b9e4ac4a015ac45a0665ca22492cbc6d8146a03b5482c854e2188e3910dd01391f441704497d7e1e10b1e95869fa380fbb0baa503cb6293157d73bb3f234bcd02fc365c988338a1b8ac242f8d3d0d82de7a22958703b3fe7c2d355e461c2338cf665557a0d05f9609459ab7e6eec6cd7e0b575fd65b03753471d6677cac01a79b4f7829044ac46d88396ebfc9c7fa77d06d45a807ee62035b5191af9271c66cb94d7fd4519b6be41a799b075d37c9aee3f86050543119360326f392ccbffcab71e4c990d53ae61b1acc71d6cd99fd7721fa6f5ea154af8f8403ff469a5b33d950ceeed60ed991306524d96c0a90240c4ddc979c4f7fc0ab1b440383cc46cea4ecb409a3d41f103293c39f68f08c13b4f916dfa989b92ade970d7203ccdd42794222b3caea6dd40365e660226faea52695c5aea2e1edaf05e9f5af1703d369d3a04e95c18f5512005723f54baa7ee738c5aeda4f2fe6a1e6bd647d90f90331fc04bf61d4efa065b423b124f704b5e2eb5e5848b499e8aa101ec08a71b5e103ae0c1e52e295d8943aca4b4d3b2b6e4dc7f3c748b634061b5ca8b1043247f85503371d5c79a3eca16aca4998f7d360476c1158ff4d5fb89c4973dc0e45547d97730333a25b03ef30e89b46d5a485bd3c19faebfa4aab23bdd04be05b7064fbeabae005581e03e277838a74156a1df1dfad3c96f806055a714b7501e1843465ef4749400c03466d676f5fea8005581e031713600c585ce4ca2c5184766ad628a72a66dfe2d1bfba9cf68a7939600c04460a0ce520890005581e03b809635eccfa70525902c08a5b0e9fde9ed3e3e15cc31f1a336d5c94f00c0147168ebafd28b88003642a8d3ba1fb1e64f71fe50755989ae9bc5875b8f16f1fbac39c15b3ef80798303a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e0335f73c42367833c30f72afc2cb95612c73789c95e6448038f0b9e8a01007011bffffffffffffffff05581e033778e5c863c64aa165061e609f6f39f74474af656a0d590b444a0d77000c18354682e41ec0d4c80310d9f107e18fe4dd953e7abf22ca973a5b5e3ba06292cef79f8aa6d8947bc63803719a725af10979d9054628ab10a5c33486d03400bd6072680f2acba728c923630605581e03cd2cf9ae323091c3e0f1df8feb000a694e5a95e367875795222d560dd007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0321e9c3f83455cf6f125a306a0fae5a9a0fffa1d3b75d2b0843ccf200e007011bffffffffffffffff021983af03b0ed0417e8a86eb5d44a17d84a28be5803ad6aabb89dd336ca9cb4611425ab0c030cc39f8ce4e4a52cbdaeaf1abbd56f7b597180b13579b47dc1d1d700c569c7c503d5d12f6cc8b18535542c99f5cf18c3078193c796ea8e183bc912d9b7cbe2f56a032cf2e718f7f85e4877c54355d7394d57ef2279ba51117814ffc4f26e312e33ea03b84ca55d15a964444318903cd2c27dbcb299d1747c272205a534cd2ccb1f76f6030fa1212fc5681383949f1ed6733ee94eca27698e317c9e43879ea5d69c2a136f037ce3dcd1bded6d36e9fea4a28bf5668f3332cff0dfbbd34955bca4c62b77b43b032cb2e15d54ccd6394a184ce61f54fa5be520786ab5c61b2196f98af04bd2be66036ab8182813b77c33bd68420ebd6d82bc791c62943e422d61bb8ead508beec67f03bc26bc6dbc02d84bf9bf9b84e33644cf9fbfba83dea719ef55277f1cf3ea5d670375045a54da414cff25598554c49268c2379be1d6b87243834e5302a0c7d328f90386e442c658b74f6250dde549c69d93c8cfba0890b7feb3298ebc20d979252ebd036bce1f0b6d6f2c23a3d26367cc9fea28a0e6af75da6e41e51ede99742feac6090308f6741a8ec82cda9b18fc4e996d86a838b43f13d3170fd410fde8668994f38c03c40fea171c414ab4b6dc20878b08e919ec7befa4b8280bf6a155e99dee057d340219ffff0219ffff03027c018c1b7dcf36006c65b416335ce3f960b5a74d58c7798956f3bcdbd4e5e903f22d4c883e4fed630e5200e782d61a405101a1ef646a4c50b81cd900380ec9220219ffff03509dab54afcbb936a9c239682d4cd725b9f70c40fb843b68daf4efc6675f5709039924c302be1596ec2d5f03975ef4055d018f9f20f801470b500bbcc30ad42794030843a22717eb96c313af78f87cc58dee75d8e7d666c50c3a3dae58cc8b8506c1031b7727df26b2e8d34f61a678180c91c21c806dcfb003b6134151334e509d35e50219ffff0387bf1e700c2a5a9ef1626ed198012c6f18e5baded973d85e5d99c7c35252935e031ded226abdbb19ad44c27019b4f4ffd4e8854eb1c65dd5c145bbed096d809d46032e230898253a59bd1cb43e880138ef18664f76bbedf03f9804d449635a42f42f0383c7783b21f02316b9338e2a9ada45b92c9527ad1b95d23172dd6fa97338d75803264684277fc56ab4a3373f4c20294267c7ac1d181af60b1e6af1fe8f34e046a3032f9d665cabcc526da5376feb109988590eb56458cc5dd25b39da4c9d57f755d303026601bcb9cf5d2c9595c55ddae7e961214308fc854d513e683e89c58df7f9f6039730bc72a701ef1203b4470f520c54fd06f6f17e1feb4c893459029337652d780320f2dda7f4bb8b1d6e49e572d685b5078ee5405eb7291350c2906db662544646031a0d6373dcdbc5c6337759b5f872ad01a34aecac2d1e072573b80a43a181c2d00350b0797498031f9498fe6ea6ad4e595e86f26864add3b138aa99a9eea559d24f036458df4ae15215c1f37981344a7ea76a62d8182ff3cd83b004ce32c649890f3c03fc27ce6d6d38b136da1c14acdd4120fe48c938cbc771daf30513623e520b566c0394a9f939b636158cd374480a900f5dc9e31838d8241212824eaa6281b52bc0c40339e7b130b1a20e3e2b62f06d46b4236c2375157445fb73de12367940abf0a0c7037e3c8012578afaaa9db5b83bcfc1a27731df98c217a3177c5d020a86f13a64d003e8832a69c5b83af115346086797d1e19dd36eaea6615a017f82ee2ea8410553503c7b3518146bd8ac367b2033bd5b5c32d48eb4f167829aa9cde6eecdac7eec60e039128a23a8f575b6be0e1e489ba11c460a20b59244b926bd2321e562617765f49034f4541dd5fc22ea639235a421888ddda919007dc37f661cb5a7b406e563ab39803a04d37b0b1b36e82debbe36396d4532d25b013ea974f2e73df1c4cb854568c6c0365bdc3dca68f8d599d675f664e67d8a9d00ed19bd326f47ee584bc29044ed2da0396b976deb02a91a60d06a690cedfed81e7c7fb9630d2e9aef3a491c60a0bfb4c03f631aec084fd9ac79efde4f2f70fee9d9a6dbacbf953efa18ba68e7ba35e37f403d000b262aabc49d77e01996a4e6c7615be70a4e175d277c1c1e1f791ec6b6b2c03454bd41566f4c1669fe85ad973d9c3a3a99764d3271002ed7c13bb131a95c36b039e3fd2d9eded32db8a2566d7b3ebb72002e4566b946a9fd1ebc1db1125e2957b03cd062c156db8369639d42d92670a168a41333ead58c51acd094844f867e1fc73031bfab2a5d03a08ee54f1bd81053ff3b20205d48712a27362847389cdd95ec2ec05581e03ab4a6971a29ae90bb35c2de204cb087881e95cba7be7f8f6bb068a18e00c1912c848364378008e34c4b905581e0315a4e30f93e60f981048b7f61dd5c5572aaaede11a12a6caa2f6e330e00401036e4026f6c93d6fc4da21828e9088133828ec7a0c0fa00fb5cf6d7361c24d21bf05581e0351bc07a86cab77c51ae6cf026f2ca89dc168662d6aa7ea10cbf3213f100848022a392c68f6000005581e038dded046fb81b069d13d8dd1c211a813ee4bb5b8a6d9f6728aa501ee700c03470a17dbeca42dd905581e03f5093ab18e0c9fed85869f9a78919473884e3ca1bf26a2c5822be957300c0246be08554b1600039518be52f786b9b99bf0f4efb0ade29e224cc285fa81d9852d84897e065cd3f403771e1ad5fc284d0da3ced60ad4292363de1684603e73431c5ba697eb60ec27c603be1f995ce938325123d3679969d42248fe1e3b8cfda381184b96f605f74d01b705581e039aca8e54be081206ecae17b7a6e439d74b744716fa09e44dab8853db4007011bffffffffffffffff03a09d708d7de272d58bd13cbd742c67792f579c83292ad9fb4ebd8b43fad33bca03799a4f974f93d287ae49f0e18584cb1947812d264b05381befdeea6c4435ff52032d7831c14cde649a2da3ba0881e7db1960cbfdf358d66b8ad063ee50c3fe651805581e031c5f42e637e8e3c6f683cfee55ea16fd9cb705c47200bb1d9a052266b007011bffffffffffffffff03d8d00f7e437fa3f998d3db402be13c3d0535b610fdabb5fc700f623dbd5f676505581e03b20064373e7bdfe0d5a226d9ee9bfd63c00d820419597db808dca5ee9004181b03726bf8a65e8c230fb09c9b082a8de97604d4059968b6ec7a8e05fe21a6195b2c05581e035a717cbff7c28bc2e0a4044e0bf5aec2f660058228d6278103b90378d004060219ddff0340475517910dcf167eca0a8de5d5ff3a98e60559b53a6fa9d3e7d8bee995dffd03740158f72d356913014abe1c67d345c5ca3cd16f1893857da8d2ae0e72c9ffd9031d3c733f8d5df52cca2e54a14b361907a40f6bba7b71750279a48ca5988dc27c0367592b31d9942058cf52fd4c88697917a290adbecd01e278b7153acf5397a02d033f7fd11dd85017220d8a4b3cd62fb6fe8d56db60b59bbfbcb1712c394024d34d03060a7a69a51ec1f75caa636093e95ff7a2a2defbf3443eaca6b6611ccd2a9be60219ffff0311ebc8cde99bfe060ef51eb3b47134831f0649cc3c10e64ad1c545cf28e8574903bf27a1d7ee0c142d7e3e7f5ab9523613f2127f402f3649df9617638062e5ea9e03c6cd8346cceb2936e2030149376dfb6e6a9d3bd6454ac38470f3b7001d4025cc034b147879f0c4c41ff4914a46db9d52c658872a70b25ad1bdff205949a00de5810314a45373eca5a391b48f9ce6507c2417a9cf8297ccdf5c0026e6e81eb048cb8f03c2801b309221d98fa1160ce242960abf75a083e3d35a124852c9dad4ca27e60503ae04f7a2982bf4ba3c3043c1d7da3c5eab887f3000c3e0f0ac1749aec4de5fb2035f6d72780eda4a1dfe44b7877ddd9a7d7b3f5368dbc9675fc4897e4f1856920a03859626fd3005b35e3e4f82ffb7415ee4e1f4a0183ba74d923d54aa0c9ec0cf2b03a7d72c29082e5536655bbb89441f082ddffeb65141802acc5f9c8eeb5811a204036a6beaa955f0102f1c187f59a4d9c05cd417fff08a5271ae5a5731109e45222203b3d0e70afd6c26c3dbb563c2d8f47545c303e285c30c1316eb133fdfa469349d0219ffff03ec5573b581629ea34b66031ede22d19bc936c303efd6506700ed8c37d55822dc036d12d148e0524e0993cf35e78b24d8d4e8affe0ff2ef9a3d660d61438ff16307032ff0f0ba09f697218d44617281edf4deabbd6738a1dd5cb15dee3fcc53b2e1e90303ff6732c9388676700bb4c8fe8f5f02c4174ecb2139d0c9edbc9e47e0a4284e0219ffff031ce6d21e45c831a78d0b7fdccd1cd4d57065fdc7281e77cd7371c6c588b814ec030a7f2bd0ab3677dac8cb9ec02217ead039e95346efb62d8ac073bff355fdd4c70361854e95369f143272b063c9c5e2623d9a33791bfd5af98ebe4627f7fc15db2c0381a4e8ba00d4f7ddbb7e0649a8ba9e09f17800b2a5ec4567274f00d602dcac2f03792ffb77ad75738abe367fb1c346cbceb5476df53ae3f78eaf9206219ae572d20305286a0db66293fc0c08ec3de6305a02e77ffefae3ac048ab6154414bd7b07a603a5cbf5395f5e503061a2a529e6a914a9bea4a7436c444b263ddf648c17a8c84003aa9262f3a093907e65e2c00cce6cbdd55123b03f15d22ef3c278966ad2f111010385965a2b308113be398f2965de4e67453407f9aa96b1684a584ff6aac3269d41033379021a814f2ce4724774196e39626c2d29ac6431bd7ae892037db7d2fac62d0219ffff038705b2b6f8161f45e059bf8a3a1e6a6eb33e4261841fdf871ff3dec9a2b99840030e2ec44146cfdb2e3dcf190df1629bacc0f5eedd1aa0a3e36071a31177d205e6037f7464e3d12b61f6021ea23247afa29f793a8f5ab5740007a8b85e7f6185255503f1efadab79a4e53a969570be888de5fe956b77c34442c100fb147bf3044510e7034c33b1b31e1af96e77a03f350556db6d00f28ce747359aaf0c1dd3927051b45e03700838a408251f0d690ed8554304b06bf326a9d84589b429d6a2d1841793f63d03cd4d8edfc482930e65a0554ab5016b235c8ae8994c151483cd3d05e606fe5d4b0384ced96e196a445c6bfb65d938417cbfe4499933031eb3d88de4425af231329703e5a8649b0d0c781e43724ac12dfa4ef188b005c46a3046bac18822d61c1d798b03dc5067f3fcd51cd35fdb067f175c812e04ea0cdcee211c58d57e4d6652f99d6e03651e702c5a62f21aa5599bf9ba203a0b016af8274e3788f9adfdc972d14142f703699cd019942b1f92bb9b032f6a7bf87625b6bb66f0ef03b5d3dbec1d656451aa03fac9e330dc88074b644d14db23526c598499e1ebe5aba5ff16179f8741d85a9103c9d809b9912659d5b801bb5a1c9c3bcd9557cbda90b2313b5309168fc075dc5103c64c56840a9c1fe044f1dfa62433eac709f8d893c7dbe36d2b60fca24760793e03a7b2fca70758cd66a5393477605798312e2e1efc3583549d5944228e0a1dcd9603f567bf5f32a32baac842bd01821b591d0ec828fc40136be0c1069d8f3bc7728903df6435b5e0616409f32a98c64fcd142d3d2cf1c48480972177df1011c7bfc1a903b404b5c42f8ac7edafb0f0595bfa95e123b2c32560cc80828ecfdfe72a62e3e3037842a546de7df751d8519bd89bc1080c4ddacd88770f2446be7c75ac6caa0de703fa511abab59ca41ec20d9f317caaef8d8fbf46a25bba5de3410310be53441f38031056e9b90f50b9a5beb3fa89793e9a948c725aee08b27bb0b20bf6de80da533c03cfe95f925eb054d2df8c552a48db9105515834e98ede8af21f8f1ac281d3ce6b030c8ab3cdc38806a8b2ea285c3e2d3a2f1afb166074a109a88eb05064f006169103d053dd00b1207fddbdaa723cfaf225801a2739d165c0941923f9de0df828ad22030cc704ae35cb37b56874b61b20a704bf18c65c25c38e6b0e908c94561d8dc51003889fcf168ae0a4ed10235661ef7c3349b6a7b7bf4c3eca27a7f461642c024cef039b526f1939f8e438560f10078efff54744d6853dc27ac9e26c0ade2f335a96ea032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581d024ed76b2d0f8f4809395815963b953d68ed230d67e9dc2efb30ba96e407011bffffffffffffffff04593d966080604052600436106101d15760003560e01c80637f2feddc116100f7578063a9059cbb11610095578063dd62ed3e11610064578063dd62ed3e1461065d578063ea1644d51461069a578063f2fde38b146106c3578063f50c7c29146106ec576101d8565b8063a9059cbb146105a3578063bfd79284146105e0578063c3c8cd801461061d578063c492f04614610634576101d8565b80638f9a55c0116100d15780638f9a55c0146104fb57806395d89b411461052657806398a5c31514610551578063a2a957bb1461057a576101d8565b80637f2feddc1461046a5780638da5cb5b146104a75780638f70ccf7146104d2576101d8565b8063313ce5671161016f57806370a082311161013e57806370a08231146103c2578063715018a6146103ff57806374010ece146104165780637d1db4a51461043f576101d8565b8063313ce5671461032c57806349bd5a5e146103575780636d8aa8f8146103825780636fc3eaec146103ab576101d8565b806318160ddd116101ab57806318160ddd1461027057806318570f881461029b57806323b872dd146102c45780632fd689e314610301576101d8565b806306fdde03146101dd578063095ea7b3146102085780631694505e14610245576101d8565b366101d857005b600080fd5b3480156101e957600080fd5b506101f2610715565b6040516101ff9190612c13565b60405180910390f35b34801561021457600080fd5b5061022f600480360381019061022a9190612cdd565b610752565b60405161023c9190612d38565b60405180910390f35b34801561025157600080fd5b5061025a610770565b6040516102679190612db2565b60405180910390f35b34801561027c57600080fd5b50610285610796565b6040516102929190612ddc565b60405180910390f35b3480156102a757600080fd5b506102c260048036038101906102bd9190612f3f565b6107a5565b005b3480156102d057600080fd5b506102eb60048036038101906102e69190612f88565b6108cf565b6040516102f89190612d38565b60405180910390f35b34801561030d57600080fd5b506103166109a8565b6040516103239190612ddc565b60405180910390f35b34801561033857600080fd5b506103416109ae565b60405161034e9190612ff7565b60405180910390f35b34801561036357600080fd5b5061036c6109b7565b6040516103799190613021565b60405180910390f35b34801561038e57600080fd5b506103a960048036038101906103a49190613068565b6109dd565b005b3480156103b757600080fd5b506103c0610a8f565b005b3480156103ce57600080fd5b506103e960048036038101906103e49190613095565b610b60565b6040516103f69190612ddc565b60405180910390f35b34801561040b57600080fd5b50610414610bb1565b005b34801561042257600080fd5b5061043d600480360381019061043891906130c2565b610d04565b005b34801561044b57600080fd5b50610454610da3565b6040516104619190612ddc565b60405180910390f35b34801561047657600080fd5b50610491600480360381019061048c9190613095565b610da9565b60405161049e9190612ddc565b60405180910390f35b3480156104b357600080fd5b506104bc610dc1565b6040516104c99190613021565b60405180910390f35b3480156104de57600080fd5b506104f960048036038101906104f49190613068565b610dea565b005b34801561050757600080fd5b50610510610e9c565b60405161051d9190612ddc565b60405180910390f35b34801561053257600080fd5b5061053b610ea2565b6040516105489190612c13565b60405180910390f35b34801561055d57600080fd5b50610578600480360381019061057391906130c2565b610edf565b005b34801561058657600080fd5b506105a1600480360381019061059c91906130ef565b610f7e565b005b3480156105af57600080fd5b506105ca60048036038101906105c59190612cdd565b611035565b6040516105d79190612d38565b60405180910390f35b3480156105ec57600080fd5b5061060760048036038101906106029190613095565b611053565b6040516106149190612d38565b60405180910390f35b34801561062957600080fd5b50610632611073565b005b34801561064057600080fd5b5061065b600480360381019061065691906131b1565b61114c565b005b34801561066957600080fd5b50610684600480360381019061067f9190613211565b611286565b6040516106919190612ddc565b60405180910390f35b3480156106a657600080fd5b506106c160048036038101906106bc91906130c2565b61130d565b005b3480156106cf57600080fd5b506106ea60048036038101906106e59190613095565b6113ac565b005b3480156106f857600080fd5b50610713600480360381019061070e9190613095565b61156d565b005b60606040518060400160405280600681526020017f696e667261580000000000000000000000000000000000000000000000000000815250905090565b600061076661075f61165d565b8484611665565b6001905092915050565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600066038d7ea4c68000905090565b6107ad61165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461083a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108319061329d565b60405180910390fd5b60005b81518110156108cb5760016010600084848151811061085f5761085e6132bd565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806108c39061331b565b91505061083d565b5050565b60006108dc84848461182e565b61099d846108e861165d565b61099885604051806060016040528060288152602001613d3960289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061094e61165d565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120b19092919063ffffffff16565b611665565b600190509392505050565b60185481565b60006009905090565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6109e561165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a699061329d565b60405180910390fd5b80601560166101000a81548160ff02191690831515021790555050565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ad061165d565b73ffffffffffffffffffffffffffffffffffffffff161480610b465750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b2e61165d565b73ffffffffffffffffffffffffffffffffffffffff16145b610b4f57600080fd5b6000479050610b5d81612115565b50565b6000610baa600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612181565b9050919050565b610bb961165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3d9061329d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610d0c61165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d909061329d565b60405180910390fd5b8060168190555050565b60165481565b60116020528060005260406000206000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610df261165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e769061329d565b60405180910390fd5b80601560146101000a81548160ff02191690831515021790555050565b60175481565b60606040518060400160405280600581526020017f494e465241000000000000000000000000000000000000000000000000000000815250905090565b610ee761165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b9061329d565b60405180910390fd5b8060188190555050565b610f8661165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611013576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100a9061329d565b60405180910390fd5b8360088190555082600a819055508160098190555080600b8190555050505050565b600061104961104261165d565b848461182e565b6001905092915050565b60106020528060005260406000206000915054906101000a900460ff1681565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110b461165d565b73ffffffffffffffffffffffffffffffffffffffff16148061112a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661111261165d565b73ffffffffffffffffffffffffffffffffffffffff16145b61113357600080fd5b600061113e30610b60565b9050611149816121ef565b50565b61115461165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d89061329d565b60405180910390fd5b60005b83839050811015611280578160056000868685818110611207576112066132bd565b5b905060200201602081019061121c9190613095565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806112789061331b565b9150506111e4565b50505050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61131561165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113999061329d565b60405180910390fd5b8060178190555050565b6113b461165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611441576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114389061329d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a7906133d5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61157561165d565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611602576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f99061329d565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cb90613467565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173a906134f9565b60405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118219190612ddc565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361189d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118949061358b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361190c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119039061361d565b60405180910390fd5b6000811161194f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611946906136af565b60405180910390fd5b611957610dc1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119c55750611995610dc1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611db057601560149054906101000a900460ff16611a54576119e6610dc1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611a53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4a90613741565b60405180910390fd5b5b601654811115611a99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a90906137ad565b60405180910390fd5b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611b3d5750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b611b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b739061383f565b60405180910390fd5b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611c295760175481611bde84610b60565b611be8919061385f565b10611c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1f90613905565b60405180910390fd5b5b6000611c3430610b60565b9050600060185482101590506016548210611c4f5760165491505b808015611c67575060158054906101000a900460ff16155b8015611cc15750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611cd95750601560169054906101000a900460ff165b8015611d2f5750600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611d855750600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611dad57611d93826121ef565b60004790506000811115611dab57611daa47612115565b5b505b50505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611e575750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80611f0a5750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611f095750601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611f18576000905061209f565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611fc35750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611fdb57600854600c81905550600954600d819055505b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156120865750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561209e57600a54600c81905550600b54600d819055505b5b6120ab84848484612466565b50505050565b60008383111582906120f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f09190612c13565b60405180910390fd5b50600083856121089190613925565b9050809150509392505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561217d573d6000803e3d6000fd5b5050565b60006006548211156121c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121bf906139cb565b60405180910390fd5b60006121d2612493565b90506121e781846124be90919063ffffffff16565b915050919050565b60016015806101000a81548160ff0219169083151502179055506000600267ffffffffffffffff81111561222657612225612dfc565b5b6040519080825280602002602001820160405280156122545781602001602082028036833780820191505090505b509050308160008151811061226c5761226b6132bd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612313573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123379190613a00565b8160018151811061234b5761234a6132bd565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123b230601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611665565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612416959493929190613b26565b600060405180830381600087803b15801561243057600080fd5b505af1158015612444573d6000803e3d6000fd5b505050505060006015806101000a81548160ff02191690831515021790555050565b8061247457612473612508565b5b61247f848484612545565b8061248d5761248c612710565b5b50505050565b60008060006124a0612724565b915091506124b781836124be90919063ffffffff16565b9250505090565b600061250083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612780565b905092915050565b6000600c5414801561251c57506000600d54145b61254357600c54600e81905550600d54600f819055506000600c819055506000600d819055505b565b600080600080600080612557876127e3565b9550955095509550955095506125b586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461284b90919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061264a85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289590919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612696816128f3565b6126a084836129b0565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516126fd9190612ddc565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b60008060006006549050600066038d7ea4c68000905061275666038d7ea4c680006006546124be90919063ffffffff16565b8210156127735760065466038d7ea4c6800093509350505061277c565b81819350935050505b9091565b600080831182906127c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127be9190612c13565b60405180910390fd5b50600083856127d69190613baf565b9050809150509392505050565b60008060008060008060008060006128008a600c54600d546129ea565b9250925092506000612810612493565b905060008060006128238e878787612a80565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b600061288d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506120b1565b905092915050565b60008082846128a4919061385f565b9050838110156128e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128e090613c2c565b60405180910390fd5b8091505092915050565b60006128fd612493565b905060006129148284612b0990919063ffffffff16565b905061296881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461289590919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6129c58260065461284b90919063ffffffff16565b6006819055506129e08160075461289590919063ffffffff16565b6007819055505050565b600080600080612a166064612a08888a612b0990919063ffffffff16565b6124be90919063ffffffff16565b90506000612a406064612a32888b612b0990919063ffffffff16565b6124be90919063ffffffff16565b90506000612a6982612a5b858c61284b90919063ffffffff16565b61284b90919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080612a998589612b0990919063ffffffff16565b90506000612ab08689612b0990919063ffffffff16565b90506000612ac78789612b0990919063ffffffff16565b90506000612af082612ae2858761284b90919063ffffffff16565b61284b90919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000808303612b1b5760009050612b7d565b60008284612b299190613c4c565b9050828482612b389190613baf565b14612b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6f90613d18565b60405180910390fd5b809150505b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612bbd578082015181840152602081019050612ba2565b60008484015250505050565b6000601f19601f8301169050919050565b6000612be582612b83565b612bef8185612b8e565b9350612bff818560208601612b9f565b612c0881612bc9565b840191505092915050565b60006020820190508181036000830152612c2d8184612bda565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612c7482612c49565b9050919050565b612c8481612c69565b8114612c8f57600080fd5b50565b600081359050612ca181612c7b565b92915050565b6000819050919050565b612cba81612ca7565b8114612cc557600080fd5b50565b600081359050612cd781612cb1565b92915050565b60008060408385031215612cf457612cf3612c3f565b5b6000612d0285828601612c92565b9250506020612d1385828601612cc8565b9150509250929050565b60008115159050919050565b612d3281612d1d565b82525050565b6000602082019050612d4d6000830184612d29565b92915050565b6000819050919050565b6000612d78612d73612d6e84612c49565b612d53565b612c49565b9050919050565b6000612d8a82612d5d565b9050919050565b6000612d9c82612d7f565b9050919050565b612dac81612d91565b82525050565b6000602082019050612dc76000830184612da3565b92915050565b612dd681612ca7565b82525050565b6000602082019050612df16000830184612dcd565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612e3482612bc9565b810181811067ffffffffffffffff82111715612e5357612e52612dfc565b5b80604052505050565b6000612e66612c35565b9050612e728282612e2b565b919050565b600067ffffffffffffffff821115612e9257612e91612dfc565b5b602082029050602081019050919050565b600080fd5b6000612ebb612eb684612e77565b612e5c565b90508083825260208201905060208402830185811115612ede57612edd612ea3565b5b835b81811015612f075780612ef38882612c92565b845260208401935050602081019050612ee0565b5050509392505050565b600082601f830112612f2657612f25612df7565b5b8135612f36848260208601612ea8565b91505092915050565b600060208284031215612f5557612f54612c3f565b5b600082013567ffffffffffffffff811115612f7357612f72612c44565b5b612f7f84828501612f11565b91505092915050565b600080600060608486031215612fa157612fa0612c3f565b5b6000612faf86828701612c92565b9350506020612fc086828701612c92565b9250506040612fd186828701612cc8565b9150509250925092565b600060ff82169050919050565b612ff181612fdb565b82525050565b600060208201905061300c6000830184612fe8565b92915050565b61301b81612c69565b82525050565b60006020820190506130366000830184613012565b92915050565b61304581612d1d565b811461305057600080fd5b50565b6000813590506130628161303c565b92915050565b60006020828403121561307e5761307d612c3f565b5b600061308c84828501613053565b91505092915050565b6000602082840312156130ab576130aa612c3f565b5b60006130b984828501612c92565b91505092915050565b6000602082840312156130d8576130d7612c3f565b5b60006130e684828501612cc8565b91505092915050565b6000806000806080858703121561310957613108612c3f565b5b600061311787828801612cc8565b945050602061312887828801612cc8565b935050604061313987828801612cc8565b925050606061314a87828801612cc8565b91505092959194509250565b600080fd5b60008083601f84011261317157613170612df7565b5b8235905067ffffffffffffffff81111561318e5761318d613156565b5b6020830191508360208202830111156131aa576131a9612ea3565b5b9250929050565b6000806000604084860312156131ca576131c9612c3f565b5b600084013567ffffffffffffffff8111156131e8576131e7612c44565b5b6131f48682870161315b565b9350935050602061320786828701613053565b9150509250925092565b6000806040838503121561322857613227612c3f565b5b600061323685828601612c92565b925050602061324785828601612c92565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613287602083612b8e565b915061329282613251565b602082019050919050565b600060208201905081810360008301526132b68161327a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061332682612ca7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613358576133576132ec565b5b600182019050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006133bf602683612b8e565b91506133ca82613363565b604082019050919050565b600060208201905081810360008301526133ee816133b2565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613451602483612b8e565b915061345c826133f5565b604082019050919050565b6000602082019050818103600083015261348081613444565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006134e3602283612b8e565b91506134ee82613487565b604082019050919050565b60006020820190508181036000830152613512816134d6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613575602583612b8e565b915061358082613519565b604082019050919050565b600060208201905081810360008301526135a481613568565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613607602383612b8e565b9150613612826135ab565b604082019050919050565b60006020820190508181036000830152613636816135fa565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000613699602983612b8e565b91506136a48261363d565b604082019050919050565b600060208201905081810360008301526136c88161368c565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060008201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b600061372b603f83612b8e565b9150613736826136cf565b604082019050919050565b6000602082019050818103600083015261375a8161371e565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b6000613797601c83612b8e565b91506137a282613761565b602082019050919050565b600060208201905081810360008301526137c68161378a565b9050919050565b7f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460008201527f6564210000000000000000000000000000000000000000000000000000000000602082015250565b6000613829602383612b8e565b9150613834826137cd565b604082019050919050565b600060208201905081810360008301526138588161381c565b9050919050565b600061386a82612ca7565b915061387583612ca7565b925082820190508082111561388d5761388c6132ec565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b60006138ef602383612b8e565b91506138fa82613893565b604082019050919050565b6000602082019050818103600083015261391e816138e2565b9050919050565b600061393082612ca7565b915061393b83612ca7565b9250828203905081811115613953576139526132ec565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b60006139b5602a83612b8e565b91506139c082613959565b604082019050919050565b600060208201905081810360008301526139e4816139a8565b9050919050565b6000815190506139fa81612c7b565b92915050565b600060208284031215613a1657613a15612c3f565b5b6000613a24848285016139eb565b91505092915050565b6000819050919050565b6000613a52613a4d613a4884613a2d565b612d53565b612ca7565b9050919050565b613a6281613a37565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a9d81612c69565b82525050565b6000613aaf8383613a94565b60208301905092915050565b6000602082019050919050565b6000613ad382613a68565b613add8185613a73565b9350613ae883613a84565b8060005b83811015613b19578151613b008882613aa3565b9750613b0b83613abb565b925050600181019050613aec565b5085935050505092915050565b600060a082019050613b3b6000830188612dcd565b613b486020830187613a59565b8181036040830152613b5a8186613ac8565b9050613b696060830185613012565b613b766080830184612dcd565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613bba82612ca7565b9150613bc583612ca7565b925082613bd557613bd4613b80565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613c16601b83612b8e565b9150613c2182613be0565b602082019050919050565b60006020820190508181036000830152613c4581613c09565b9050919050565b6000613c5782612ca7565b9150613c6283612ca7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613c9b57613c9a6132ec565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d02602183612b8e565b9150613d0d82613ca6565b604082019050919050565b60006020820190508181036000830152613d3181613cf5565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203756fe3510b90c1eb2b4099c7814f60a5200d667678c716ae86fd1202c27250764736f6c63430008100033030b6a74741949a2c4906c7816727d11d077f07907bdbfe77369e550256285ad0f03aca3afb74956a18872b4584d8537f23a465a78014b2b2961fae0bcd5966bc6e903ceb41162064404f0658d07106c3e34eb9b6c89afd44bce9773015521ff39e46c03ea06ec57276894fa977dd3b34c1bdab45cd487106e03293377b86b239a128846037e0d79961c00e41a753e5ebab2a89429f24383503f3a7c3d1cca0e4cac13699703a5dc401df42f9279fdf6455749465bef102d83260adb958f8794adca894b63c403051bb2875bca4ac1b0b2ca69e06f29c76980bdaf46f7cbbb691a3a4addf18de803bcdb74b8373bd44a62bae458dfdc263a652bae77af35b8258e58ef185c2d7298037dc182613853eaf175c785de2ab8d96908a32c89baa2b2248477900206e5e653032efe7befab2e1f52d1c8201d733b10e2cda4c96f2a23bb8575775d34d07362300372dd6d9f48ff6259986a33441876bdefde82d83464e7d74ca213b3cd91c29ee603d8bbf46f53c8063861f34b6d84de9b97d508f0769e592a497c799856e0cc026500582003a4b6f375e1a5f0ffdd68166ed1abe911ac360a21e957d1740dfb6db43e49505820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe5ab221bd03c9fd2d8911137153e5a347c09f1ff9750d3d48aa4ad80e1bb0132a92d7bc11fe0058200324f29bcf8b385540e4329178afe339ed3b27977c212edb23723b6b4c5a1060581e6d873f79273dc6d55ef73d6725ca8cb4db7842752d9ff3191102f7342b6003b45cad962381212cd35f0295e85e6a045dbb00f4cfe84bc9635a675948421f6f030833edf31999a0ff0f7bba341972148b0bad4f5fb84ecbc90e11aaeee745be2f005820030a9aa83f200ef1997ec16fdcb52d4173625f7497d57bbb6c72601ba58959205820ffffffffffffffffffffffffffffffffffffffffffffffffffffff768b06b3ae03bf4c286962353761c0ec24bb41fbab34699d7158159da6bab4bdfd28be78ba0603aaa4e084dbe6dedc244516e20ae9266d18e4a813519647b5d8a2e2d3a2e87c0403be31bd5a5fdd0555f93d79321225e231f3c2c9df08eba157fef492ca1f3d412703d2f4bcd570cb5de7dce75f36da52977a9b731aaf268533dceba6a39f31b6e55f01410403fdc8c40538504cd335a83cd55dbd973e96e37de4162e754db41d3e506e5e09650356789d574b98705c84a65f58a9b3c81cdffe98abe1bb13c94489264e5aeb01b90219fffb03c7502813056dadfef48452796f9eaf2914f7099d0e8b382f58b0058c9623e2a7037c8477785438606dc2f1982e438aa4c6bea54ce2d18d8bb3137ae8e7e2635da40333dc40d5766c4f1d0788cb9c386882f4039e18e22b9faab326898b768d4db09703237109abbaba0a4ce09b05ca933b9052b342dcd54b8902f5db00e01bbd5d6e5a03ee4eba03fae1134d5e049bbdd548f5aaca10c7e9187e6b6e2fb08ff48aa0b2a003c25bb675b8a8aba04fe5e6bfde814666c4bec37fad3bc7b9613ceb2b081ca72b03d8bae26f45ce6435dbd740e22cb617e22ff1f17a635b470aeda2137f0b9f0b590388fe29731604f6aa138a465857ae7a999c631648ed693716f450c5f2104bf967038635f55622398c5c397f5e22598d721b762855028be0b7a1e214f1ffea0b890b036611509bbc61c0f2e79d8ee8a64a0961e3f33a6a0b0bff5c8532873d04fcb27b03a442707b45c6d85e6daa825f92499e62d19fc93a7edff28dd3deb52fc2e7e2f30219ffff03aae84c5f89cefc77651f8c6eb0e2a80da6abc5cbb5631604ba1016ef17d7871d03ed4866cd78f14d850ffc33bf0aa5faa2554ea40c9cbd7670dcb09368f808f65603b2a5ed3a2f28b10109531d14bf7f06caf16336cdc4ef651fc315ae4fd8e1f3000322dcbd9bc817d46db11876c5a2d7da38e83b94837d8ba87aa8d40153c6dc691a03625aa530663da31a9b85c74d26e1f568641389f412135cfc8f47cf320028f34903cf103d740e9ce1e43531febbdfe40eb38ede2538ef39c5a4036c51c6f61248b80351fd29549dd2f222f4eca3e991056e2be647ed41115d04fa99f8189b91175cce03098dfb9716cff3b0ae5b0d09aec2153dfc0b8d2ead4ae995a327afd6d93b5072033362ca7d80b47e7b8d9bb441ff99a5d7e6427ac5d2c039481e2b32c3bb4dcfcc03172450461d9f0fb638bb5bf732c47a399fe8494b4ee787d8c04a82dc136c3cc50219ffff05581d02966457044c0bef4906f5f255fec530c0d2181b22f19e1301c046b4b00701193d960219041003a5a7c52075a73ea20342ec6fe4b0137c4c9cff6956d60867e3afaad00d89548b0336c0fb45722c5236a41760f4d6fbbec2a02bbcc7609f40d857b4f68ac5f45cfd05581e0349a5c98d40fa4e7eabd3a352ecaa36a5aa4f0d7d677e1061c33257a3700c0747069e2ce396cc79036d4d83f2daadc8df22242803453fa12553c2eea830bbbbc4e95924d3a6abb6630339e238d3f7f8dc02632843db756325a3babbd83d06f3a8c2414647b48c2f719405581e03e313d15786387ef3e17c10d9fe5226d8b0862cb6470c583738b39da00007011bffffffffffffffff03051303c9729a770d936bf348bf309a4293fc917ddea2f94b7274ce5c696fe9aa03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03920fc5ed76e29efc4523a05d4430f753b8644914c0ca1bf09aa71783d007011bffffffffffffffff05581e035047596942c0911351d88b0e5291314fd75a823b46501eb965184c7ca00847060a24181e400005581e035b2a85439756a8c71891a9eee44ffd50009063ea73c24d65cf108a566004010219cc5f036133cb4713fadd0927719411aab99ca749b10e99d40b1fb10c52c5d8970f67ec0306ed4b9ce854ad9cb9719c9b99b24b519466a8748f2622f736124362d687e1fa03e48440d712f8370b59af879883e675ae7afbbae7e6a98f5512cd1aadb92955380219ffff03f743dc39068ecce7b0cc7d46a4137a69efd1b4b4bf8a6caddfac63fb340ff8a90359e86fa647c36e76213f7d0a81da352e25f793ed3788be7740fcc450f18a6e650353dd23e6a98b4656b1ae038b4365c02e1e7d44072f1c68d737d8cea0b8001017037d93470e05afd529e524509d32146bf0d0c2a4aedb49559fa1adb73b4ee67b410371ad431de6dec896d30b19892eefc13e1969e0b61e97f5a5c24bedd107c344e803808a9a719d708c4fecd456fce400466957cf893dc2d3c0e2ba4a44fac4501a60037aafde9aa68c693b4c4a935314239bc0e0456187123d0e79cc9cde6c90cd72580219ffff03e3f4913c1fa09cf5024a0a857ae0c82abc976ec0eadbb70c54834421d277f4c903204eb4522c16eb086ecdb4a0a4a0f61918744523e1296c1750b15d694cef19bf0314f0fc53440f8f7874653a6d68583a739bdcc2a6a32a199ac1b291f6054e563003a0f9ff824547300ca914e35173cced403e44bb877a88a4b6b3d17641792f359003f21a574fcb27cef4acfcabc1bd897f057dd5467d4024302e1c8129b05d012844039a6969545c9ee12eb237dc270d2018d5a4492a6646c30ccd9532b4a9e6fb9c430394ac2dfff2305e668d791b74ef904eeb8e77e48af3e36b6c7e81a9fd6ce02bf5036094104295b3ac0acef9921515a91b2e8fa3dc9629a9a67f05180e9d64f1b55e03f6e9066f29b4becef1e0de21bac49142afc3914ca0ae5e4d8928f84dc92310d203fe4c64008e0493b719af3cc57b6fd20b883d1bb14a3eaaaf3076cf7e4f49cdb80219ffff0395c1d04a3f99b806ed17b4490125fb7dc8ed16dd2798c700a3ddd244253f28960378178fe09403d3862f2ec9ad9188397341fe2ba34e8a1f4878a57b40d9d93c6c038453025c6135cb5d2784952c10ca9b885a16145055beb4f0d1d21c8e6584878b03e61d6e407bb46b84a5a2473fb44e97ecdb300138f8e69c0b9fe10b6a6c5a60860349a3a2fce23048456831ab7fe12447e12d1907e3a3efb385ee45e1ba1a4f2ed603c37fb1d2ffff911b5cf1ac34a940cf533eb826f7c72daabcaea33f59e32baea4039f1c016c55ddb409fa4d53924541773df6ace16d7b0c32e3f0b564887fcc77ed030d13c75bddc93163d8f47876c0e2ceec098ef856206ca453c10a01e18bc26b78031bec7bbd3ddcfedf064b275f36bb2daa9f5c78dca9de54df2f93fb3c8291cd4003346a4d4f062358dc518965b7f7f920e1f3c17c80109dfc3d60db2f64933b5b0903e873429c79887f4fa583f848179b27841ec8022d9effdd72e8c2e8b4f20d95750314c6ee84267d9d031f15643b491034a8466fff07784372958c7051b6f8b8492603ecbb23d5b3d348558ec2e90dce7955696c802701888e967d4eee33724e1ed39003caf284eff3bd23242c0c8b7a3390742f023e198935feae467dafd99aafb225ea031b60ad7090034de65a11e72cddbbe08e0444badab4e5f18ea548da50c5f3ed2a0369583877880ad2eb114cec9fcbcd7689a76b6d6e6b999ea1e65c9a6a696cdd850316db5db5afd53e967036630b84bd2485110e4ef782c3df25e58b69f62901526c032f1875adbe1a5138ae4dd3c6dd52318e0332ded02a40437fa386ea6187449beb03768b01796532aff3303668709b921f8b45ba9e233c0c51b9a1ae532373a9470603e2f65cdbd2f8e92d2627f0ed9a645321bb76606221442f06e6cce652c5f5faf803ffbce8986b777c90ff3162b7f87d541a1f8561d4bef8b352d69aae2a29872d91037e6fc235dafb000d98c62b711ef84fd3267c53b52a4a11858eb30ed295905611039433be1a483b93d0a067bc78830c1a91ff69a8d9fe9975b470c304623de5e7c9037a2c0999c715d80b7960a36dafd4bb3c66cc932e72e7aab58d8385dbbab1ad5e03abe347c0905135efed5ea3718a3661ce42431d669a9ef05804edd1adf6304849031721374b8e54db3b1a3c7798c537a475ea6daba5667d961c66bd2d3771af62ab03317aca991a053d2d64947b6fbe8a9ee9d3ccd6dbab660d62220d8640f7c397a303f4239e5d75ae4ed2584dde84a3b9bbf5475946bab4d967e77909a2755590d17f03a569033c90a87376d9d338f98467bccf81c26e6169d79aeccc976a449f1d463b035bcafe532a2d4158258c69748a3daf642ce8a2dfbd3729f23450b8dc08f4fd6c039427344a7aef325d4e80ced0c9853e9dc34277ad72ea71e4d94689dda4e34fca035d361ce65f8305a9896d4c226d22738555bf05d3099e2196a57f1e5cc5d2bf4303cc8fc9c81d47bfb2ff2ed2b4a21d8bf712f55c3e1944021c2b9a2f398d5edca703239b7e4d56fd8dc7ff3f50646ac866e3b4aeaff8eb6cb20739e4051a908b0d5703d305e5574a4ae8e18448048a2bd14098431ff606debec728d9fb78a2a6c5c6e103a3a444138e8bc86dd632fc21d585c0669cd12b5082410a8997d5d88a178be08f0332131efa58430bb8137f7c7e0c0c4628a664bcc0d555cc2e19105e6be3b736d603d2c848d00932ec6feb8b5dd40e66a7afe0d65485d0013a87182cedf3d8b7b02003c609b9e58b22e23cc1ae916d35d055e33dc0c29f5a3b8ec2a60b8bbfdff8d15a03c42540ca4151219c784c747e9c1cd91b3484e07bb7ca71308ad10d2f1af0c1a605581e03f8b98d41d97acc45d56644b53e8b4a43714f8aeefae7709a3a5ac761900c0e4722546069fffba9034bc5d4cdc99c84959a596aaef17102eb525f7dae9da958d23d3a9b1625a9183e01410005581e03702caa2af24d74969745b32fb1525ce12a9bb075c982452796ba2990200c08478ab7bf5bf536800300d01d6370ea06df3eb789f0449a2d40028fab844477528de7840ec00102dd1f05581e034fa2afc4bfac6491cd31878ce966e814090777f3b9a65bf922175a7c10040a05581d021ad561e8ba0d1a8c6e7c6abffe9bb993a581d1342d9aa0671917d1880c024702214bf0d25000045925b2608060405234801561000f575f80fd5b50600436106101a0575f3560e01c806331fa742d116100f35780638a33623111610093578063bedb86fb1161006e578063bedb86fb14610405578063ea5f084f14610418578063ef6602ba14610437578063f2fde38b14610440575f80fd5b80638a336231146103ce5780638da5cb5b146103e1578063b571d3dd146103f2575f80fd5b80635c975abb116100ce5780635c975abb146103865780636989ca7c146103915780636d46e987146103a4578063715018a6146103c6575f80fd5b806331fa742d146103395780633b70c18a1461034c5780633fdeecb214610373575f80fd5b80631325aca01161015e5780631e228302116101395780631e228302146102a95780632362f03e146102bc5780632571098d146102db5780632b7ac3f3146102fa575f80fd5b80631325aca0146102705780631794bb3c146102835780631d49e45714610296575f80fd5b8062b0f4d7146101a457806303c7f4af146101b9578063059def61146101fe5780630a2459241461021557806310d4458314610247578063116a1f421461025a575b5f80fd5b6101b76101b2366004611f71565b610453565b005b6101e07f000000000000000000000000000000000000000000000000000000000008275081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b610207609c5481565b6040519081526020016101f5565b61023761022336600461203c565b609b6020525f908152604090205460ff1681565b60405190151581526020016101f5565b6101b761025536600461205c565b61080e565b6102376102683660046120a4565b609c54101590565b6101b761027e366004612100565b61090c565b6101b761029136600461228a565b610b26565b6101b76102a436600461203c565b610ca7565b6101b76102b73660046120a4565b610d35565b6102076102ca3660046120a4565b609d6020525f908152604090205481565b6102076102e93660046120a4565b609e6020525f908152604090205481565b6103217f000000000000000000000000f94afbd9370e25dd6ca557d5d67634aefda2416b81565b6040516001600160a01b0390911681526020016101f5565b6101b76103473660046122c3565b610d82565b6103217f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b81565b6101b761038136600461205c565b61101b565b60655460ff16610237565b6101b761039f36600461203c565b6111f1565b6102376103b236600461203c565b609a6020525f908152604090205460ff1681565b6101b7611247565b6101b76103dc36600461203c565b61125a565b6033546001600160a01b0316610321565b6101b761040036600461203c565b6112e1565b6101b7610413366004612349565b611337565b6102076104263660046120a4565b609f6020525f908152604090205481565b61020760975481565b6101b761044e36600461203c565b611358565b335f908152609b602052604090205460ff1661048257604051637b263b1760e01b815260040160405180910390fd5b61048a6113ce565b866104a857604051636af2a73b60e11b815260040160405180910390fd5b856104c65760405163f9a9465f60e01b815260040160405180910390fd5b5f805f6104d38c8c611414565b509250925092505f6104e6846019015190565b90505f6104f4856039015190565b90505f80600a6001600160a01b0316838c8c60405160200161051893929190612368565b60408051601f198184030181529082905261053291612381565b5f60405180830381855afa9150503d805f811461056a576040519150601f19603f3d011682016040523d82523d5f602084013e61056f565b606091505b509150915081610592576040516371ebedf560e01b815260040160405180910390fd5b5f818060200190518101906105a791906123ad565b9150507f73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff0000000181146105ea57604051638a89514360e01b815260040160405180910390fd5b5050508b609e5f6001866105fe91906123e3565b81526020019081526020015f20541461062a576040516347c5a1e560e01b815260040160405180910390fd5b5f838152609e6020526040902054156106565760405163092d315560e41b815260040160405180910390fd5b5f7f00000000000000000000000000000000000000000000000000000000000827508d8d8d868e8e5f9060409261068f939291906123f6565b886040516020016106a798979695949392919061241d565b60408051601f19818403018152908290528051602090910120630581350960e31b825291508f3560f81c906001600160a01b037f000000000000000000000000f94afbd9370e25dd6ca557d5d67634aefda2416b1690632c09a8489061071990849089908e908e90899060040161248c565b5f6040518083038186803b15801561072f575f80fd5b505afa158015610741573d5f803e3d5ffd5b5050505084609c546001011461076a57604051631d17cec760e21b815260040160405180910390fd5b84609c819055508c609e5f8781526020019081526020015f20819055508b609f5f8781526020019081526020015f20819055506107bf6107aa8860790190565b601189015160c01c60098a015160c01c6114e7565b604080518e8152602081018e9052879187917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a350505050505050505050505050505050565b6108166115bd565b805f0361083657604051635453822b60e11b815260040160405180910390fd5b5f806108428585611414565b5090935091505f9050609d8161085886856124bd565b81526020019081526020015f20541461088457604051633f707d7d60e21b815260040160405180910390fd5b609c5481116108a657604051632ad7756360e11b815260040160405180910390fd5b5b8215610905575f818152609d602052604080822082905551839183917ecae2739091badfd91c373f0a16cede691e0cd25bb80cff77dd5caeb47101469190a36001015f818152609d60205260409020545f19909301929150816108a7575b5050505050565b335f908152609a602052604090205460ff1661093b57604051631e6edd6f60e11b815260040160405180910390fd5b6109436113ce565b82515f0361096457604051632974c17360e21b815260040160405180910390fd5b5f805f6109718888611414565b60019091015f818152609d6020526040902054929650945092501590506109ab5760405163012137ab60e41b815260040160405180910390fd5b5f805f808c60ff165f03610a2b576109c5858b8b8b611617565b60405196810196945090925090506109dd835f61168f565b60c086811b600185015281811b600985015285901b60118401526019830182905260398301879052610a10838a8a611696565b610a2483610a1f8a60596124bd565b902090565b9350610ab3565b60018d60ff1610610ab3575f610a43868c8c8c6116a2565b80945081955082935050505060405193508186019550610a66848f60ff1661168f565b60c087811b600186015282811b600986015286901b6011850152601984018390526039840181905260598401889052610aa0848b8b61175e565b610aaf84610a1f8b60796124bd565b9450505b8761010060ff83010460200214610add57604051630808452960e31b815260040160405180910390fd5b5f868152609d602052604080822086905551859188917f2c32d4ae151744d0bf0b9464a3e897a1d17ed2f1af71f7c9a75f12ce0d28238f9190a350505050505050505050505050565b5f54610100900460ff1615808015610b4457505f54600160ff909116105b80610b5d5750303b158015610b5d57505f5460ff166001145b610bc55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b5f805460ff191660011790558015610be6575f805461ff0019166101001790555b610bee61176a565b6097829055609980546001600160a01b038581166001600160a01b0319928316179092556098805492871692909116919091179055604080515f8152602081018490527f6d0f49971e462a2f78a25906f145cb29cd5e7bd01ebf681ac8f58cb814e5877a910160405180910390a18015610ca1575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b610caf6115bd565b6001600160a01b0381163b15610cd857604051632c0fc2e160e11b815260040160405180910390fd5b6001600160a01b0381165f818152609b6020908152604091829020805460ff1916600190811790915591519182527f967f99d5d403870e4356ff46556df3a6b6ba1f50146639aaedfb9f248eb8661e91015b60405180910390a250565b610d3d6115bd565b609780549082905560408051828152602081018490527f6d0f49971e462a2f78a25906f145cb29cd5e7bd01ebf681ac8f58cb814e5877a910160405180910390a15050565b335f908152609b602052604090205460ff16610db157604051637b263b1760e01b815260040160405180910390fd5b610db96113ce565b84610dd757604051636af2a73b60e11b815260040160405180910390fd5b83610df55760405163f9a9465f60e01b815260040160405180910390fd5b5f805f610e028a8a611414565b509250925092505f610e15846019015190565b905088609e5f610e266001866123e3565b81526020019081526020015f205414610e52576040516347c5a1e560e01b815260040160405180910390fd5b5f828152609e602052604090205415610e7e5760405163092d315560e41b815260040160405180910390fd5b6040516001600160c01b03197f000000000000000000000000000000000000000000000000000000000008275060c01b166020820152602881018a90526048810189905260688101889052608881018290525f9060a80160408051601f19818403018152908290528051602090910120630581350960e31b825291506001600160a01b037f000000000000000000000000f94afbd9370e25dd6ca557d5d67634aefda2416b1690632c09a84890610f41905f9087908c908c90889060040161248c565b5f6040518083038186803b158015610f57575f80fd5b505afa158015610f69573d5f803e3d5ffd5b5050505082609c5460010114610f9257604051631d17cec760e21b815260040160405180910390fd5b609c8390555f838152609e602090815260408083208c9055609f9091529020889055610fd060598601601187015160c01c600988015160c01c6114e7565b604080518a8152602081018a9052859185917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a3505050505050505050505050565b806110395760405163f9a9465f60e01b815260040160405180910390fd5b5f8052609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a9597854156110815760405163c22a199f60e01b815260040160405180910390fd5b5f8061108d8585611414565b5050915091505f6110a2836011015160c01c90565b600984015160c01c600185015160c01c855160f81c010101905080156110db5760405163f4f38de560e01b815260040160405180910390fd5b505f6110e8836019015190565b03611106576040516303d840a960e41b815260040160405180910390fd5b5f611112836039015190565b1461113057604051632781461960e11b815260040160405180910390fd5b5f8080527fc5dc36ae4e7617e4c4d23ddfcde33c79e9ed64c300aed766a9288a6b9b31f63d829055609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a959788490556040518291907f2c32d4ae151744d0bf0b9464a3e897a1d17ed2f1af71f7c9a75f12ce0d28238f908290a3604080518481525f60208201819052839290917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a35050505050565b6111f96115bd565b6001600160a01b0381165f818152609a60209081526040808320805460ff19169055519182527f631cb110fbe6a87fba5414d6b2cff02264480535cd1f5abdbc4fa638bc0b56929101610d2a565b61124f6115bd565b6112585f611798565b565b6112626115bd565b6001600160a01b0381163b1561128b57604051632c0fc2e160e11b815260040160405180910390fd5b6001600160a01b0381165f818152609a6020908152604091829020805460ff1916600190811790915591519182527f631cb110fbe6a87fba5414d6b2cff02264480535cd1f5abdbc4fa638bc0b56929101610d2a565b6112e96115bd565b6001600160a01b0381165f818152609b60209081526040808320805460ff19169055519182527f967f99d5d403870e4356ff46556df3a6b6ba1f50146639aaedfb9f248eb8661e9101610d2a565b61133f6115bd565b80156113505761134d6117e9565b50565b61134d611843565b6113606115bd565b6001600160a01b0381166113c55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bbc565b61134d81611798565b60655460ff16156112585760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610bbc565b5f808080853560f81c818181036114485761142f888861187c565b80822060018301519298509650915060c01c935061146f565b6001821061146f5761145a88886118f5565b80822060018301519298509650915060c01c93505b5f848152609d602052604090205485148015906114b457505f8052609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a959785415155b156114d25760405163150e0a2160e11b815260040160405180910390fd5b601186015160c01c9250505092959194509250565b805f036114f357505050565b8082035f805b838110156115b55761010081850381111561151357508084035b8651604051632afb09e760e11b81526004810186905260248101839052604481018290526020909801979093507f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b6001600160a01b0316906355f613ce906064015f604051808303815f87803b15801561158b575f80fd5b505af115801561159d573d5f803e3d5ffd5b505050506101008401935050610100810190506114f9565b505050505050565b6033546001600160a01b031633146112585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bbc565b8251604080516020830281019091525f918291825b82811015611678575f8061165c8a848151811061164b5761164b6124d0565b6020026020010151878d8c8c611966565b9085529a8b019a9590950194505060209091019060010161162c565b506020919091029081900320969095509350505050565b8082535050565b80826059850137505050565b5f80499080600149836116c857604051630168f63160e21b815260040160405180910390fd5b80156116e757604051630148201960e11b815260040160405180910390fd5b508551604080516020830281019091525f5b82811015611745575f806117298b8481518110611718576117186124d0565b6020026020010151878e8d8d611b40565b9085529b8c019b959095019450506020909101906001016116f9565b5060208202808183032094505050509450945094915050565b80826079850137505050565b5f54610100900460ff166117905760405162461bcd60e51b8152600401610bbc906124e4565b611258611c90565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6117f16113ce565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586118263390565b6040516001600160a01b03909116815260200160405180910390a1565b61184b611cbf565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611826565b5f8160598110156118a05760405163e4d8ae0760e01b815260040160405180910390fd5b6040519150808483378082016040525f6118be836009015160c01c90565b905061010060ff82010460200260590182146118ed57604051630808452960e31b815260040160405180910390fd5b509250929050565b5f8160798110156119195760405163e4d8ae0760e01b815260040160405180910390fd5b6040519150808483378082016040525f611937836009015160c01c90565b905061010060ff82010460200260790182146118ed57604051630808452960e31b815260040160405180910390fd5b60405185515f91829160208901919081908490611984908590611d08565b90505f805b828110156119f757603c81028601600181015185526021015165ffffffffffff19166020850152603a840193505f6119c2603c8361252f565b6119cd8860016124bd565b6119d791906124bd565b90505f6119e8826038015160f01c90565b93909301925050600101611989565b506020028201604052815f6001603c84028701019050611a186001876124bd565b95505b8215611ac2575f611a3087603a015160f01c90565b9050611a4085828f8f8f8f611d72565b94505f611a51886038015160f01c90565b905081811015611a7457604051638c5a4ea360e01b815260040160405180910390fd5b815b81811015611aa157835160e01c60048086018290208952602090980197940190930192600101611a76565b50509b8c019b9a8b019a9690960195603c95909501945f1990920191611a1b565b6097546020611ad184876123e3565b611adb9190612546565b1115611afa57604051634d56f17560e01b815260040160405180910390fd5b8c5160208e019650611b0c87836123e3565b14611b2a5760405163670241af60e01b815260040160405180910390fd5b5050508190039020989197509095505050505050565b60405185515f91829160208901919081908490611b5e908590611ea1565b90505f5b81811015611bcb57603c81028501600181015184526021015165ffffffffffff19166020840152603a830192505f611b9b603c8361252f565b611ba68760016124bd565b611bb091906124bd565b90505f611bbc82611f02565b97909701965050600101611b62565b506020850282016040526001840193505f5b8115611c58575f611bed86611f02565b905083611bfe81838f8f8f8f611d72565b94505f611c0a88611f11565b905082811015611c2d57604051638c5a4ea360e01b815260040160405180910390fd5b9c82019c9b82019b603c97909701965f19949094019360209186039190910492909201910301611bdd565b609754811115611c7b57604051634d56f17560e01b815260040160405180910390fd5b50508190039020989197509095505050505050565b5f54610100900460ff16611cb65760405162461bcd60e51b8152600401610bbc906124e4565b61125833611798565b60655460ff166112585760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610bbc565b5f611d14835160f81c90565b9050805f03611d3657604051631f18bc2360e21b815260040160405180910390fd5b611d41603c8261252f565b611d4c9060016124bd565b821015611d6c576040516302e3d2ef60e61b815260040160405180910390fd5b92915050565b5f855f03611d81575085611e97565b7f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b5f80805b89811015611e635760ff89169150600889901c811580611dc4575082155b15611dd3578060200288013593505b600184841c165f03611e525760405163ae453cd560e01b8152600481018a90525f906001600160a01b0387169063ae453cd590602401602060405180830381865afa158015611e24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e489190612565565b8d52506020909b019a5b506001988901989788019701611da6565b505060ff5f1988011681811c60011615611e9057604051632eba9e1160e21b815260040160405180910390fd5b5050879150505b9695505050505050565b5f611eab83611f20565b9050805f03611ecd57604051631f18bc2360e21b815260040160405180910390fd5b611ed8603c8261252f565b611ee39060016124bd565b8214611d6c576040516302e3d2ef60e61b815260040160405180910390fd5b5f611d6c82603a015160f01c90565b5f611d6c826038015160f01c90565b5f611d6c825160f81c90565b5f8083601f840112611f3c575f80fd5b50813567ffffffffffffffff811115611f53575f80fd5b602083019150836020828501011115611f6a575f80fd5b9250929050565b5f805f805f805f805f60c08a8c031215611f89575f80fd5b893567ffffffffffffffff80821115611fa0575f80fd5b611fac8d838e01611f2c565b909b50995060208c0135985060408c0135975060608c0135965060808c0135915080821115611fd9575f80fd5b611fe58d838e01611f2c565b909650945060a08c0135915080821115611ffd575f80fd5b5061200a8c828d01611f2c565b915080935050809150509295985092959850929598565b80356001600160a01b0381168114612037575f80fd5b919050565b5f6020828403121561204c575f80fd5b61205582612021565b9392505050565b5f805f6040848603121561206e575f80fd5b833567ffffffffffffffff811115612084575f80fd5b61209086828701611f2c565b909790965060209590950135949350505050565b5f602082840312156120b4575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156120f8576120f86120bb565b604052919050565b5f805f805f8060808789031215612115575f80fd5b863560ff811614612124575f80fd5b8635955067ffffffffffffffff8060208901351115612141575f80fd5b6121518960208a01358a01611f2c565b90965094506040880135811015612166575f80fd5b6040880135880189601f82011261217b575f80fd5b818135111561218c5761218c6120bb565b61219c6020823560051b016120cf565b81358082526020808301929160051b8401018c10156121b9575f80fd5b602083015b6020843560051b8501018110156122535784813511156121dc575f80fd5b803584018d603f8201126121ee575f80fd5b602081013586811115612203576122036120bb565b612216601f8201601f19166020016120cf565b8181528f604083850101111561222a575f80fd5b816040840160208301375f602083830101528086525050506020830192506020810190506121be565b50955050506060880135811015612268575f80fd5b506122798860608901358901611f2c565b969995985093965091949293915050565b5f805f6060848603121561229c575f80fd5b6122a584612021565b92506122b360208501612021565b9150604084013590509250925092565b5f805f805f805f60a0888a0312156122d9575f80fd5b873567ffffffffffffffff808211156122f0575f80fd5b6122fc8b838c01611f2c565b909950975060208a0135965060408a0135955060608a0135945060808a0135915080821115612329575f80fd5b506123368a828b01611f2c565b989b979a50959850939692959293505050565b5f60208284031215612359575f80fd5b81358015158114612055575f80fd5b838152818360208301375f910160200190815292915050565b5f82515f5b818110156123a05760208186018101518583015201612386565b505f920191825250919050565b5f80604083850312156123be575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611d6c57611d6c6123cf565b5f8085851115612404575f80fd5b83861115612410575f80fd5b5050820193919092039150565b67ffffffffffffffff60c01b8960c01b16815287600882015286602882015285604882015284606882015282846088830137608892019182015260a8019695505050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b858152846020820152608060408201525f6124ab608083018587612464565b90508260608301529695505050505050565b80820180821115611d6c57611d6c6123cf565b634e487b7160e01b5f52603260045260245ffd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8082028115828204841417611d6c57611d6c6123cf565b5f8261256057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215612575575f80fd5b505191905056fea2646970667358221220219dfd45bb730187d95aa317f6b810b53d08aaf4135fb4243c71b757bb219e1064736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02d3c46f012a31d9f8f49b41c1ecce3f10eb5a46f2943fd0147bf70e9307011925b20219200105581e03e9b9ef3bc414d7195263cbf3829dfc729812a693d94a33cf87de2188300c0247324e71ea05000002191770033b4565592fcc19f7352732f0bb28238ad5306529177e0d970d5c8fce922da515039864a136b181717658dc1dd105a1e6e7451f739be3e6c6496fe65b18a1c74be90219ffff0378fde368007d4fe1c6d0c038a6611e093b1d13bf1aed27b9329dc323b6797981036f5819ec45b503fbf121731540144b06e1e7feaf485b19c9cfa4641e428f3c7d0358142d382bf9b887ddaf014d275cfd7de685152c15d5928cee2d9e0690a03fbe03c246ffe87e1660cfe374c066ac1d13d36559560eec02babf6138f8dc360876e303a63cbd785762cce1021a6717f712130cc032615fa35acf6ec17bea68c84eb0c40346ad55607e500145c4f98861ef010b0774d7b9167762b046cde7306a8d7c55eb03690c65c3b863d5ebd8616a972f71329a672e0f23b7e200b7c490367764d0f162036ecebf51f0486490b89d825a484af7bac7c6a2090d6c89678d0910d2c10ce3b203aa27212cf71b7fe623c4fadf91ef54668aed0f97685def8ddef596ed4367715303afa27f9649c7824b80d536b0ff87b34effabdf59b87fbe3f2051484ee74388370219ffff031033b31a0fc7d896491cdd2cb01d5ea68bbe608b576e56cd24e45d0927b86c9803374891d153b2a66840265b7d346e2ea4a1fa87b46cd9bcc39df4fd565f5ef97403adb913f908166d7e1e725191a34de87a81aa2529284ba63f1443f45dd5975e1503bd14f3ee46cdfc56b5f263802ce7488f264395efa926f02ac929aef77319dd530374b7e7403f381eed431c878d3845661a31cf048d7780e44d037703035352ad6103043f88f3e1b7e341a9b4933f7bf8a0728df1afc1853e58b14236f50efe5037760219ffff0219ffff03b583a078bc02a98480d8f9d14244a68e4fbe0de0ca3dfb422779d94b4b51381e0375ba4e30f4998a040a83b62196dbbc168379fedfcd7c2abcb94238c2e3fed05503b4448234a95d5a859c9d9d07fac1ad5ccf1e75249e7382d3cb8e07223f4669d103a95573581923bc652c64e14c5946404ed253b76429e9cab15ce6e123b094142103bd020729c2c43d716cb0d522eeb14a1a4440f7591debe63f8d7fb5245f80c0e303c4871e5ca8fe952d89f2b6e23584c7e9bc1260beb3065555acd02818a5641e820379799cc2e62e4377ccbb18db279229546c7327b471250802d0192efa305282ca03b888e3f9158c020daafcaa2c268f3e8b4fe6d14983644bb16a70310341325a16036fb9389839a8149c53f75a9e17a271c32c6c8f60f55e5dd53209634a916abad4031121b0ec6773ff5d6a08da1391c0da93cff4cf72964bd459ee4c82f609bb0e7303c87c4c842731c167d92d682a3998aef6e352394e62810ee19ae0b9a2c69c85ea039311d28f5601c7e522629be70e2ed53bc4edab68e604b4645d0c9b7a827335ac03ac604e31211802853a6c05d6197007593b6f0021a1997fe31919e049614a4a0903002593ec3e8abfcbb6a88fc5a54492855cbb07296029547b455b9d9ec530df8f03d58dab533826fc4651fdc87106c2d4f42e845cfafa0f8e844d06d485621a6d8d038ff3374ecf604b3795b1573e1c5c741186c1ecfa20e291b503228a8ce3d8d21103df43801730c3bd0f9060d3f5b49166b018a02ef64ebd54d95200ddca486f57d50340b62252970133d3764669d53eb752d7e4ef087718006a0f6a08c273b68b6a5203cc21ae17f1de112d9a806c4818299c5bd1b1fa606a7de699b5f876d57909ff4003136ea3aef9eb3467a74760ff0d1fb3dd4070ec32c117a1053780615051ac0328034526cb593775c0b7d23fb436d60b21ef97818c9decd9e1b877afb3dd8bebdcaf0372135ac24636a53b3c5fa1144b2b226ce1d7abd9588940e0a4177a6fad54609603530ceefbaa9bf57af6e7dea4280cf67ef46fc853c0ff593d44b86e3770a9e7a403603477ab309ce8d4a015c763762a2d69d4f501e04f59b0d3b0c0ec6e60982dcf034abc3bfa98c502fdce7bd4d3cbea9e7e157323219341f2f3555ef932870bc0e903846ec4d8d87156485d02f9ef48e81898284d8bf94262ea7df5a281033bece3a303547974850bdc26833b914e7e8643622eddd4ccc9d24ecd2c498324cde08a0d8a03a32891fac59b3495e24d05959595b28c303014e41221d60b5e5bf8e880f367f303cb346263ef3ce719a2721fb1a49b12704657b3eab636fede3d140733b489e8db03ee20da7b98b4cdd7192109f5f8474c74a8fe16bae5275eb56d667ad43de1e62f03f36c63511dd71e0e6bfb8a6ba9dd39fffb8c99f31c2f4f6b327762a28ca9212d031fe5d65834767e20852d672cb32f59114ff5d5c137f165c5558e4f281bc414560356c44ceb2b8c919866c43546cfb67e08587278dc7ebbf481a07e7aab719658660318275910e5c5a1ebb56fcc9a84fa88d2b886995082cf6617b979b475463f660003343ddbb9a6e1ad81c4238e4a735643c7181d36e190a0d94632f33e0633b9c53b05581e03592173a6a53140feba196fff7a703382918bbb6342b75481580a536b4004030337b3033beba9b2570e614be1ae9de8454874ed3a0f7063cec320a05308a44b7204592e89608060405234801561001057600080fd5b50600436106102a05760003560e01c8063715018a611610167578063c2ffbb91116100ce578063dd62ed3e11610087578063dd62ed3e14610913578063e1b11da414610941578063eccec5a814610949578063f0eb7f8e14610951578063f2fde38b14610977578063f713d8a81461099d576102a0565b8063c2ffbb9114610807578063c3cda5201461083c578063cdfeb0c114610883578063d17deb9f1461088b578063d505accf14610893578063dc937e1c146108e4576102a0565b806395d89b411161012057806395d89b4114610753578063a457c2d71461075b578063a9059cbb14610787578063aa9fbe02146107b3578063ad36dafd146107bb578063b2f4201d146107d8576102a0565b8063715018a6146106175780637bb73c971461061f5780637ecebe00146106455780638aaee2341461066b5780638d48f4f1146106db5780638da5cb5b1461074b576102a0565b806340c10f191161020b5780635c19a95c116101c45780635c19a95c146105605780635f3b687614610586578063657c7a85146105b257806369e3b0d0146105ba5780636f50458d146105c257806370a08231146105f1576102a0565b806340c10f191461047057806341cbf54a1461049e57806348032ec1146104a6578063537f215c146104cc578063549aa8a31461050e5780635b3cc0cf14610534576102a0565b80632b4e1a5b1161025d5780632b4e1a5b146104065780632ff2e9dc1461040e57806330adf81f14610416578063313ce5671461041e5780633644e5151461043c5780633950935114610444576102a0565b806306fdde03146102a5578063095ea7b31461032257806313929bbe1461036257806318160ddd146103ae5780631ff06fdf146103c857806323b872dd146103d0575b600080fd5b6102ad6109ee565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e75781810151838201526020016102cf565b50505050905090810190601f1680156103145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61034e6004803603604081101561033857600080fd5b506001600160a01b038135169060200135610a84565b604080519115158252519081900360200190f35b61037f6004803603602081101561037857600080fd5b5035610aa2565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6103b6610ac8565b60408051918252519081900360200190f35b6103b6610ace565b61034e600480360360608110156103e657600080fd5b506001600160a01b03813581169160208101359091169060400135610ad4565b6103b6610af3565b6103b6610af9565b6103b6610b09565b610426610b2d565b6040805160ff9092168252519081900360200190f35b6103b6610b36565b61034e6004803603604081101561045a57600080fd5b506001600160a01b038135169060200135610b5a565b61049c6004803603604081101561048657600080fd5b506001600160a01b038135169060200135610bad565b005b6103b6610cf6565b61034e600480360360208110156104bc57600080fd5b50356001600160a01b0316610d1a565b6104f2600480360360208110156104e257600080fd5b50356001600160a01b0316610d2f565b604080516001600160a01b039092168252519081900360200190f35b6103b66004803603602081101561052457600080fd5b50356001600160a01b0316610d4a565b61037f6004803603604081101561054a57600080fd5b506001600160a01b038135169060200135610d5c565b61049c6004803603602081101561057657600080fd5b50356001600160a01b0316610d8d565b61037f6004803603604081101561059c57600080fd5b506001600160a01b038135169060200135610da8565b6103b6610dd9565b6103b6610dfd565b6104f2600480360360408110156105d857600080fd5b5080356001600160a01b0316906020013560ff16610e05565b6103b66004803603602081101561060757600080fd5b50356001600160a01b0316610e1f565b61049c610e3a565b6103b66004803603602081101561063557600080fd5b50356001600160a01b0316610ee7565b6103b66004803603602081101561065b57600080fd5b50356001600160a01b0316610ef9565b61049c6004803603602081101561068157600080fd5b81019060208101813564010000000081111561069c57600080fd5b8201836020820111156106ae57600080fd5b803590602001918460208302840111640100000000831117156106d057600080fd5b509092509050610f14565b61049c600480360360208110156106f157600080fd5b81019060208101813564010000000081111561070c57600080fd5b82018360208201111561071e57600080fd5b8035906020019184602083028401116401000000008311171561074057600080fd5b5090925090506110ba565b6104f261125a565b6102ad61126e565b61034e6004803603604081101561077157600080fd5b506001600160a01b0381351690602001356112cf565b61034e6004803603604081101561079d57600080fd5b506001600160a01b038135169060200135611337565b6103b661135b565b61049c600480360360208110156107d157600080fd5b503561137f565b6103b6600480360360408110156107ee57600080fd5b5080356001600160a01b0316906020013560ff16611523565b6103b66004803603606081101561081d57600080fd5b5080356001600160a01b0316906020810135906040013560ff1661154b565b61049c600480360360c081101561085257600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a00135611574565b6103b66117b4565b6103b66117ba565b61049c600480360360e08110156108a957600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356117de565b61049c600480360360408110156108fa57600080fd5b5080356001600160a01b0316906020013560ff16611a34565b6103b66004803603604081101561092957600080fd5b506001600160a01b0381358116916020013516611a3f565b6103b6611a6a565b6102ad611a8e565b6104f26004803603602081101561096757600080fd5b50356001600160a01b0316611aab565b61049c6004803603602081101561098d57600080fd5b50356001600160a01b0316611ac6565b61049c600480360360e08110156109b357600080fd5b506001600160a01b038135169060ff602082013581169160408101359160608201359160808101359091169060a08101359060c00135611bcf565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610a7a5780601f10610a4f57610100808354040283529160200191610a7a565b820191906000526020600020905b815481529060010190602001808311610a5d57829003601f168201915b5050505050905090565b6000610a98610a91611fac565b8484611fb0565b5060015b92915050565b600d602052600090815260409020546001600160801b0380821691600160801b90041682565b60025490565b60115481565b6000610ae0848461209c565b610aeb848484612161565b949350505050565b600e5481565b6b033b2e3c9fd0803ce800000081565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60055460ff1690565b7f17e76dd75f3dfe3e50d31322433cc1405e898404a5724da2d4804cab81e0a88a81565b6000610a98610b67611fac565b84610ba88560016000610b78611fac565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611f10565b611fb0565b610bb5611fac565b60055461010090046001600160a01b03908116911614610c0a576040805162461bcd60e51b81526020600482018190526024820152600080516020612d54833981519152604482015290519081900360640190fd5b601054421015610c52576040805162461bcd60e51b815260206004820152600e60248201526d4d494e545f544f4f5f4541524c5960901b604482015290519081900360640190fd5b610c8f6064610c897f0000000000000000000000000000000000000000000000000000000000000002610c83610ac8565b906121e3565b9061223c565b811115610cd7576040805162461bcd60e51b815260206004820152601160248201527013505617d352539517d15610d151511151607a1b604482015290519081900360640190fd5b610ce5426301e13380611f10565b601055610cf2828261227e565b5050565b7f9a9a49b990ba9bb39f8048c490a40ab25c18f55d208d5fbcf958261a9b48716d81565b600f6020526000908152604090205460ff1681565b6009602052600090815260409020546001600160a01b031681565b600b6020526000908152604090205481565b60076020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b610d9933826000612304565b610da533826001612304565b50565b600a6020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b7f000000000000000000000000000000000000000000000000000000000000000281565b6301e1338081565b600080610e1183612415565b92505050610aeb848261244f565b6001600160a01b031660009081526020819052604090205490565b610e42611fac565b60055461010090046001600160a01b03908116911614610e97576040805162461bcd60e51b81526020600482018190526024820152600080516020612d54833981519152604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b60086020526000908152604090205481565b6001600160a01b031660009081526006602052604090205490565b610f1c611fac565b60055461010090046001600160a01b03908116911614610f71576040805162461bcd60e51b81526020600482018190526024820152600080516020612d54833981519152604482015290519081900360640190fd5b60005b818110156110b557600f6000848484818110610f8c57fe5b602090810292909201356001600160a01b03168352508101919091526040016000205460ff1615610fee5760405162461bcd60e51b8152600401808060200182810382526024815260200180612d996024913960400191505060405180910390fd5b6001600f600085858581811061100057fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f80e7b8bab7ab72e47957c0c472ede1b89bb3e7d2ba30cd37c2d6b000b49a960a83838381811061107457fe5b905060200201356001600160a01b0316600160405180836001600160a01b0316815260200182151581526020019250505060405180910390a1600101610f74565b505050565b6110c2611fac565b60055461010090046001600160a01b03908116911614611117576040805162461bcd60e51b81526020600482018190526024820152600080516020612d54833981519152604482015290519081900360640190fd5b60005b818110156110b557600f600084848481811061113257fe5b602090810292909201356001600160a01b03168352508101919091526040016000205460ff166111935760405162461bcd60e51b815260040180806020018281038252602c815260200180612de1602c913960400191505060405180910390fd5b6000600f60008585858181106111a557fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f80e7b8bab7ab72e47957c0c472ede1b89bb3e7d2ba30cd37c2d6b000b49a960a83838381811061121957fe5b905060200201356001600160a01b0316600060405180836001600160a01b0316815260200182151581526020019250505060405180910390a160010161111a565b60055461010090046001600160a01b031690565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610a7a5780601f10610a4f57610100808354040283529160200191610a7a565b6000610a986112dc611fac565b84610ba885604051806060016040528060258152602001612e2f6025913960016000611306611fac565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061247a565b600061134a611344611fac565b8461209c565b6113548383612511565b9392505050565b7f10d8d059343739efce7dad10d09f0806da52b252b3e6a7951920d2d6ec4102e581565b611387611fac565b60055461010090046001600160a01b039081169116146113dc576040805162461bcd60e51b81526020600482018190526024820152600080516020612d54833981519152604482015290519081900360640190fd5b601154428111611433576040805162461bcd60e51b815260206004820152601a60248201527f5452414e534645525f5245535452494354494f4e5f454e444544000000000000604482015290519081900360640190fd5b818111156114725760405162461bcd60e51b8152600401808060200182810382526022815260200180612e0d6022913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000006145fef08211156114e7576040805162461bcd60e51b815260206004820152601e60248201527f41465445525f4d41585f5452414e534645525f5245535452494354494f4e0000604482015290519081900360640190fd5b60118290556040805183815290517fd7b9c9321b627ff004969698b4616502d6b7305a588e685489e91c46fca509a99181900360200190a15050565b600080600061153184612415565b509150915061154282828743612525565b95945050505050565b600080600061155984612415565b509150915061156a82828888612525565b9695505050505050565b604080517f9a9a49b990ba9bb39f8048c490a40ab25c18f55d208d5fbcf958261a9b48716d6020808301919091526001600160a01b038916828401526060820188905260808083018890528351808403909101815260a08301845280519082012061190160f01b60c08401527f17e76dd75f3dfe3e50d31322433cc1405e898404a5724da2d4804cab81e0a88a60c284015260e2808401829052845180850390910181526101028401808652815191840191909120600091829052610122850180875281905260ff891661014286015261016285018890526101828501879052945191949390926001926101a280840193601f198301929081900390910190855afa158015611687573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166116e3576040805162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b604482015290519081900360640190fd5b6001600160a01b03811660009081526006602052604090208054600181019091558814611747576040805162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f4e4f4e434560981b604482015290519081900360640190fd5b86421115611791576040805162461bcd60e51b815260206004820152601260248201527124a72b20a624a22fa2ac2824a920aa24a7a760711b604482015290519081900360640190fd5b61179d818a6000612304565b6117a9818a6001612304565b505050505050505050565b60105481565b7f000000000000000000000000000000000000000000000000000000006145fef081565b6001600160a01b038716611829576040805162461bcd60e51b815260206004820152600d60248201526c24a72b20a624a22fa7aba722a960991b604482015290519081900360640190fd5b83421115611873576040805162461bcd60e51b815260206004820152601260248201527124a72b20a624a22fa2ac2824a920aa24a7a760711b604482015290519081900360640190fd5b6001600160a01b0380881660008181526006602090815260408083205481517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98185015280830195909552948b166060850152608084018a905260a0840185905260c08085018a90528151808603909101815260e08501825280519083012061190160f01b6101008601527f17e76dd75f3dfe3e50d31322433cc1405e898404a5724da2d4804cab81e0a88a61010286015261012280860191909152815180860390910181526101428501808352815191840191909120939052610162840180825283905260ff88166101828501526101a284018790526101c284018690525191926001926101e28083019392601f198301929081900390910190855afa1580156119a2573d6000803e3d6000fd5b505050602060405103516001600160a01b0316896001600160a01b031614611a05576040805162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b604482015290519081900360640190fd5b611a10826001611f10565b6001600160a01b038a166000908152600660205260409020556117a9898989611fb0565b610cf2338383612304565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b604051806040016040528060018152602001603160f81b81525081565b600c602052600090815260409020546001600160a01b031681565b611ace611fac565b60055461010090046001600160a01b03908116911614611b23576040805162461bcd60e51b81526020600482018190526024820152600080516020612d54833981519152604482015290519081900360640190fd5b6001600160a01b038116611b685760405162461bcd60e51b8152600401808060200182810382526026815260200180612c9d6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60007f10d8d059343739efce7dad10d09f0806da52b252b3e6a7951920d2d6ec4102e588886001811115611bff57fe5b604080516020808201959095526001600160a01b039093168382015260608301919091526080820189905260a08083018990528151808403909101815260c08301825280519084012061190160f01b60e08401527f17e76dd75f3dfe3e50d31322433cc1405e898404a5724da2d4804cab81e0a88a60e2840152610102808401829052825180850390910181526101228401808452815191860191909120600091829052610142850180855281905260ff8a1661016286015261018285018990526101a285018890529251919550919391926001926101c2808301939192601f198301929081900390910190855afa158015611cff573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611d5b576040805162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b604482015290519081900360640190fd5b6001600160a01b03811660009081526006602052604090208054600181019091558814611dbf576040805162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f4e4f4e434560981b604482015290519081900360640190fd5b86421115611e09576040805162461bcd60e51b815260206004820152601260248201527124a72b20a624a22fa2ac2824a920aa24a7a760711b604482015290519081900360640190fd5b611e14818b8b612304565b50505050505050505050565b6001600160a01b038216611e7b576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611e8760008383612740565b600254611e949082611f10565b6002556001600160a01b038216600090815260208190526040902054611eba9082611f10565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015611354576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061135483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061247a565b3390565b6001600160a01b038316611ff55760405162461bcd60e51b8152600401808060200182810382526024815260200180612dbd6024913960400191505060405180910390fd5b6001600160a01b03821661203a5760405162461bcd60e51b8152600401808060200182810382526022815260200180612cc36022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b7f000000000000000000000000000000000000000000000000000000006145fef0421080156120cc575060115442105b15610cf2576001600160a01b0382166000908152600f602052604090205460ff168061211057506001600160a01b0381166000908152600f602052604090205460ff165b610cf2576040805162461bcd60e51b815260206004820181905260248201527f4e4f4e5f414c4c4f574c4953545f5452414e53464552535f44495341424c4544604482015290519081900360640190fd5b600061216e84848461279f565b6121d98461217a611fac565b610ba885604051806060016040528060288152602001612d2c602891396001600160a01b038a166000908152600160205260408120906121b8611fac565b6001600160a01b03168152602081019190915260400160002054919061247a565b5060019392505050565b6000826121f257506000610a9c565b828202828482816121ff57fe5b04146113545760405162461bcd60e51b8152600401808060200182810382526021815260200180612d0b6021913960400191505060405180910390fd5b600061135483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128fa565b6122888282611e20565b600e54436000612296610ac8565b6040805180820182526001600160801b03808616825280841660208084019182526000898152600d909152939093209151825493518216600160801b029082166001600160801b0319909416939093171691909117905590506122fa836001611f10565b600e555050505050565b6001600160a01b038216612353576040805162461bcd60e51b8152602060048201526011602482015270494e56414c49445f44454c45474154454560781b604482015290519081900360640190fd5b600061235e82612415565b92505050600061236d85610e1f565b9050600061237b868461244f565b6001600160a01b03878116600090815260208690526040902080546001600160a01b03191691881691909117905590506123b78186848761295f565b846001600160a01b0316866001600160a01b03167fe8d51c8e11bd570db1734c8ec775785330e77007feed45c43b608ef33ff914bd86604051808260018111156123fd57fe5b815260200191505060405180910390a3505050505050565b600080808084600181111561242657fe5b141561243c575060079150600890506009612448565b50600a9150600b9050600c5b9193909250565b6001600160a01b03808316600090815260208390526040812054909116806113545783915050610a9c565b600081848411156125095760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124ce5781810151838201526020016124b6565b50505050905090810190601f1680156124fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000610a9861251e611fac565b848461279f565b600043821115612573576040805162461bcd60e51b815260206004820152601460248201527324a72b20a624a22fa12627a1a5afa72aa6a122a960611b604482015290519081900360640190fd5b6001600160a01b038316600090815260208590526040902054806125a25761259a84610e1f565b915050610aeb565b6001600160a01b038416600090815260208781526040808320600019850184529091529020546001600160801b03168310612615576001600160a01b038416600090815260208781526040808320600019909401835292905220546001600160801b03600160801b909104169050610aeb565b6001600160a01b0384166000908152602087815260408083208380529091529020546001600160801b0316831015612651576000915050610aeb565b600060001982015b81811115612703576002828203048103612671612c62565b506001600160a01b038716600090815260208a815260408083208484528252918290208251808401909352546001600160801b03808216808552600160801b90920416918301919091528714156126db57602001516001600160801b03169450610aeb9350505050565b80516001600160801b03168711156126f5578193506126fc565b6001820392505b5050612659565b506001600160a01b0385166000908152602088815260408083209383529290522054600160801b90046001600160801b0316915050949350505050565b600061274d84600961244f565b9050600061275c84600961244f565b905061276b828285600061295f565b600061277886600c61244f565b9050600061278786600c61244f565b9050612796828287600161295f565b50505050505050565b6001600160a01b0383166127e45760405162461bcd60e51b8152600401808060200182810382526025815260200180612d746025913960400191505060405180910390fd5b6001600160a01b0382166128295760405162461bcd60e51b8152600401808060200182810382526023815260200180612c7a6023913960400191505060405180910390fd5b612834838383612740565b61287181604051806060016040528060268152602001612ce5602691396001600160a01b038616600090815260208190526040902054919061247a565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546128a09082611f10565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081836129495760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156124ce5781810151838201526020016124b6565b50600083858161295557fe5b0495945050505050565b826001600160a01b0316846001600160a01b0316141561297e57612b65565b60008061298a83612415565b5090925090506001600160a01b03861615612a79576001600160a01b03861660009081526020829052604081205480156129fb576001600160a01b03881660009081526020858152604080832060001985018452909152902054600160801b90046001600160801b03169150612a07565b612a0488610e1f565b91505b6000612a138388611f6a565b9050612a2185858b84612b6b565b886001600160a01b03167fa0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127f828860405180838152602001826001811115612a6457fe5b81526020019250505060405180910390a25050505b6001600160a01b03851615612b62576001600160a01b0385166000908152602082905260408120548015612ae4576001600160a01b03871660009081526020858152604080832060001985018452909152902054600160801b90046001600160801b03169150612af0565b612aed87610e1f565b91505b6000612afc8388611f10565b9050612b0a85858a84612b6b565b876001600160a01b03167fa0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127f828860405180838152602001826001811115612b4d57fe5b81526020019250505060405180910390a25050505b50505b50505050565b6001600160a01b03821660009081526020848152604080832054918790529091204391908115801590612bbc575060001982016000908152602082905260409020546001600160801b038481169116145b15612bf1576000198201600090815260208290526040902080546001600160801b03808716600160801b029116179055612796565b6040805180820182526001600160801b039485168152948416602080870191825260008581529381528284209651875492518716600160801b029087166001600160801b031990931692909217909516179094556001600160a01b0394909416845293905290206001909101905550565b60408051808201909152600080825260208201529056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373414444524553535f4558495354535f494e5f5452414e534645525f414c4c4f574c49535445524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373414444524553535f444f45535f4e4f545f45584953545f494e5f5452414e534645525f414c4c4f574c4953544e45575f5452414e534645525f5245535452494354494f4e5f544f4f5f4541524c5945524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201bc2d69deb253172a3e0761bf351bf8b317e0b6377e62b43a4510998861cbcf664736f6c6343000705003303c1b45bdebb07cf8651a87d9e21fe05d270beafea9d332941923e9e29ceaa75fb03409ad3778d8660b3a188ed6eea850b38f5731a741b16de6ff4a5923926b4e206039167c65fdfe521cf26b5e74eba227357518bd44385f62350a95eead1a575d70103b45d03a54c4342e00f496c4dc8d9a4ad9171d3f8b839d8706f8749fe9df70f9b03d700a68dee95060133b64a3d8e2eb0f3b8eda87a5d0e595592f5aeb332664dc903a835d82a08a716d3f84fa74f5211411f100e34ef61e17fed8ce66f7bdd514a5803d92c511be7d5e4ce7134c7c8d5067ef63acc44fff8a208b41589fb59f5320d7803b72ef3b76160eb1baa8f2cd70c586846d7e465d87f42e855a25bde34124ac85a0381b23d130223a68632131e533dddb42a5a9bf18692478ffecdb5437a85630003037ce1a63b921073c35cf94ffabc6db022962e8a0088a95836336d13904f57cdcf0315fd26bf6cc507bec327ba03f0b5c812482a34fea57da5cf13144df1f1fcbb5703b936b216c96c5a38b17d4370e15c9ebcbaf9b94890e57956ab2ff56bc7098a6303d29b2213c1afbe5274c86e07c762b20a8c74ff506199b254ab534ffe1629e1e203943600003e37b0eb46bef9a3bb331b310fbe302319680d71b58cbfd261f7e6cc03bdee7f8e76d019945b97d1981132e23f15ffdce0cb807b415c1c24b288f03b07031dcd7fb37f0b624119db788b9e983cf1ff0a5380bfbcb043236a188fb0eeb00f037a2c503df19ff25f345d1fc5ba0e7b2fad1473c2d46c51ca0b13b9296ea4080f033595992d5e7e4a987fd4d87c35066de8b56e73aa2a2f5687833b3618aaf91e73039a55254ef8b4499064738e3621f7f38743347f7ae5029d8424948e9be61e353b03f396e7e5d7bfe13faaccc34930de79f0dbe748e00ee647f2eea7236caca9a2ee0352ee32ef847fd5263f105366feeca6c171e4b61162df14006dd87c3e393b2c5903299cfe7c1a7f0e5623d91f0fd2c7eb7953b2997716c80603120168abf0c133c700581e02b18c7056b45fa7edac4691c8ebb7229c94f234754ad51b6f3f90226d645819120d4da7b0bd14000000000000000000000000000000c97eb200581e029e2dcde035d6973243d377254f264c4f9655314a91a6a6a0aed3a044e2581a09fcac5439c1097cfb4800000000000000000000000000ff9ebd00581e023de695616e47c7306714fa3098d0c84b09f7800832e4b3996c96c64422581a10397a864090acb460fe00000000000000000000000000c93cb200581e02d82fe11a5cdd96d42bd151b75cc6d17865bdc65373488e52a03466143e5819056bc75e2d6310000000000000000000000000000000e1312d0219222103e6f451a49a743a3a3e48a3e1c8b4428024182c6e2013a26d0a2aef7c14f74de90348ab653e142bf789f7dac6bcf8ac31876b165e4f2f9f371da75184050e8dec3503b5e3d95175098465d9af9dfb1231a4f5d1afd196faa1e9cbfaca38b5b35c74db03f8e30a00846e8b4b9fa147364ade6f9b9356ec0d5246c1fe8959326827f68daa00581f03bd5e190fea3ff10a3697c70c2742666b3a28269c076717f47d5db7eda4f05820ffffffffffffffffffffffffffffffffffffffffffffffb284de04014b0514e4036bd27ffcec29bac50bbc23f75e38b88f31a0bbfa3665f746174707ee77fa0692032ef88e067881e1c5940582df49d8eeae1ea0844d6cb01101f99ad32852ae28b80219fffb03f4fdae59e4c7f9e4faf90f3df7d1f6bfbf281edb6c86c062f00b0e9f04cbcc5c033ac309955d410f766cafa7f61a3f0a9d887e7969466085d70359fc1ff81e58480324048bfdcef2e10c7e90fba738c2a67c83fb3ac3f580a29848775ea6bcf659920372f9b0adac93926c322e1cafc9d562d18f7b6aeefa576ee053d48a980e33cdc10363c0e3b02a4d3a52dd7b31fbf2d8be6d9f5893698c08c9ae4fb69a4f978468bf03f474b59e32cdcadb5fca87f2ab372b495979ce0374c6c3a3f9b353eb0eae9d150310b85f18853238a3cd58056b1c99c81a0392d6be22eb5a8b4e67821e238e2ba2037c1bb0f60cac4e9fc0a6fd499e4e491e7214794c3fd23e495a773a21c696f4e1039ddf906e5e8715b27027901cd8b2e32d1eb55091f294cd6c0c22b0d6cc793af2030d1d7e1d3629c464ca6cc6fcc5bb8437ea5dc34098db98ecfafcb2df135623b80219ffff03032a0aa72550cc6054572c014a0460d7dda08180bd32b1cb66780d42a54cb24203bf38c9d9c7f4ac033472b94fd929c9290a4efea460da7f8b0e6916e2e3d3b25a03c851c7289aaa93275aa32c3afb65160f0c9907953c00d69517d93ac69fdae72b03e1d984bb635dd80d68e159bdf68307f2df17658ededc8cb5cfc1c584b5ec2f09035e4d7cb874b0d30f5b95b0017b8549596dea02efcf312bcd0f5356e1c540025b032d654092ac9f4418de5cfa08e0d8998bbb581ce2fc5459c55112c2022cc1938903b23b9b3176faca23fc91249e218261ac06a3698ce2fc6874378c23dac27bcffc03a604f0311b7a41124d5ac0a27764e08dc3d9a91a8ac13a17a8f3b2e43eb5cbbc0315d8750ab8ffa2e062bf0df57d9505d22832262b0682f693311efca1471a4a15031a1034e8333bdcb80c89d7842d5a2a3092c703f73fa440072ba35c1c67e6e45e0340ff3347b9d3eed1d8472a0b6ec97e56b2321d6120de8ba53ebfd755c5f0a3350311f2f09b10b5eb8ef83e90211053b09052f9c5361e04406d1b2e9c05946a1b750219ffff03caa2316b6f1016127f9ca8e613eae60c86e0f06b27c2d637742cc063aa49dccf03cf057668aa4544d013d8caa1ff53dc24b9a0d788e67a30f01449c52706dc1252037bf80e39c49c2d0560d72792ac07abba40c6a7ad9a76ebb867de942ebddc434303f7f92aabe7d739d8c38880effb93f322c6f03cf127cc9070eee80081d9e8a45203c80612a9b2a4e2ee435d96d07a416b3dd242aae8c3cec80e683e8151d6fb941a0399bc19c929f45624572489d3c54548866e0463de77a66cce197ddf967d8e119c035e0560c4cf863506e21e39f3752f963bb7031ea09796b258a71e073a064d6d330361273eca0422cf1744ab3f641c1edeb62a38d4160e8a35636f488f6b396247d603e4f3fe3331e2549978e26fa01070e6cb28b0b08a3bfb3a656a25c4ca6d949c0203b91b22e10f59018bdc52dc731e21b48b9ee3d86805c9e4b269e0c6c8d0d16009036a79b9722d1cf1117eaa1a2ddbc64c4468f4322ceff5aafa41093b37133038e8034a9e9490570dc46bc0a396ed1d347805e169d501c686f7ee80968b48597e925b033663b7202d65a4690638d40b8318ded7f4fde7ff53bed23eccdb0f3b2fb18f7b031d01be2e869a34b411666bf7f34b95a0f439b19e28a5e1e746f8c67ff8566c0c035de7321333e18914ce5d3021970421875768d7f8dd40a8e8cb2cef0a178fc47f0376ed77df367237d6f9f8a4910c6a28d0e867d89d542c7ba699903907eae860720320b8055122dfb5104a9070d0b970047ec4d2211277f62696688b55a78ccbe1d9035eed282c92f9ebc63146c710eb47a1211c7413f42012b5f91de9a5f4c50ad6d303f1dd63b9cd616d295c16d12b3a8cbfcf0e07b04ff3de7c2c13d6026c297119630357fbf3a886988e4df7e603aadecf23066aad7dbbcf8b9f0448536c55cd9bf65d0342c4f956d8f0cf8ea4117182940245284728d85872d5e6d957bad00fbd87768e038b46ea9f5ed15577c5441dde25978ae0a350e00d29201915bb630dc2b7bc9012037e2ca4c3ae285f468c6b66b298b33be8eb7bb38ca6e56459543f33da1f29e54b03cea26070e86893522d0a259ca853b8c7edec2251ebd578acfd01e3ef208f7d4800581f0330881357dc9a261e2ee350b7afcecf0db473aa7152b77cdb0b6e8eb6c76043ebef37038ab1d379128be206bd2e5e4712be0aba00e85214e48be9ede4387ed2db3a396303f7c2840548ae6a6df34f2f63e907b778e6a6b556cdad537a67dbf60f1aadfc2c03ab3e16973e6f54f1c7710973d6e35d14f3152479a1075c8489f99c3aec2a1c5700581f0334e0929aa3105dcabe06928283d7f62f31fead5adc4fa866e329b3904d90581a84cadca5f3c62c62de3600000000000000000000000000ce7699039f0f80dc29e0ad86461da12fb94841bea5338fe8392a781472d7716afcf6172503039165d914593b2e615acb9eb8fe3088641d324bd5ebe79e53ac7b3d0537f8b103d340d45597f2793382e6a1d0c549025839e35e6e241ed333a3fa0b61609390cb032806713227c037650025e258ab7cf538ffaab63043b04eda7eaea414697c015d03c81ddf4c8755b06e84869659e0f979667901cee49db19ed7efeb7c39217f8213034ffa234f3c5f83d6dea8ef3df453fc85cbc61538d45111831822b6d5d853cc1800581e02a89cce2e8b1170099f0114f6df6c9d8a40d27f127c8269d2b72894a6ea510100000000000000000000000000c9ac0a00581e02e8a526e5ac213cef49a0a8a6c7f275a3c19706e4101771deafe022462c581a30f0af1ace1de1e9efe600000000000000000000000000fc6b66021905000219edff0219ffff035fa4b42fd44dd4fc591fd457b8fa8125bf595a13c726be94fcd3cbde48b9fe6d032be22a1bd7ac02bbf0736796d168ce9d7a51f4a4530cc576d43321ec2a4d249e03583e8b020efda89e233111e31463bb49f0409acc2028be3c0f94da6f563d9c9a03a6ec3048c17e93bed32bc62bdadcc214c5a383caf8a62bf252fd3fccf7621efa03e5e72b4adde0663a8e04fb5207550e86e8831229a7297f19c8238cd82e2cd9370391b0b4650e5a4c404c86f171af0494f3703eb317fb4f9ed043b3febc6ca110f4035263f05b0833dab7185a07b094ebaf7c087fbd7d7b7cb564bdb5bf31dbb5253703e0704ebb44c108753ae745d1f9eefed532b4ffdd2acad6864dca80d7a38a447d0393352e506b00e62621fb2dab07ee5186eb57fb9c31b791cc6fa0092302853d3a03f32c95cf66eb371c94b7ffbfb3226a150d4de2599a5dfb41886c4a3c4057515f039c1241a1e9731854fe2834e85fd16f1d2ce5b193d154655071f1243e71340f2203b66126014926ecb92376cabff180e3a2c93143df1d3ab84ee858269bf3a2e1000385732f3a78aed5a663f198df00007c277ee4d7491ac44dd0de2963e81165233c0219ffff039448f3ebf13405ebfb094f58a31d138fee7c4c07950c51952d51fbe87b00e3790314b54f07680f950025adb5a1139a8de08d3fdec8d68fd4599e1d27d21d254816038418477e466bd721eb04a245bf3e4e18b6ba04fd9aa1d154affd12af195993c90392f34f45fbd8d0605c53729e15db48b75346377cb0d4f73fb114dd066754f12f039e6acbf989f2a27730d933e59959220a6017b3e304a2e7884eebc350856b005f03b3689dba772949a70ffdd0a92c18c32855e01a42cae8ca002f4b9446d259387d03531d07e5daaafac1bdd63a065966a70c07c13063575320b897f97835430467270326afdd603221bb4eebbb6a21fb577d0fc6c8b2d66ea46f6e3e36fd44db6f6da103be2e9ad8954964a39f35a999239c33bf556e3a8b3789f9e277ab78f296ae756c03abea12a0a4443d90496dfbf2dda5e9028720130cc7887e83fb5877b1e45e67df032db6433fb4fc55b0a1b27d7678fd1e102fa939f9b7388d77b4fe1b106997c66903a49bd8d3ef26b53bf509f8a960aa20cd2e7cae2c5c394877800ea1b95b736aa600581f0344475f748316a443f45f2af41ebe80009f63c30144fc9a29579bb7f07460581a0407ed3fff8734c586a500000000000000000000000000f6e2bd00581f03721d133040769449f13236c8d597a456e252493be8becd9f851c9c90e5804101039d5fb4e06805824cd7679e581e75b83a85ec47d3a7a86c7c79235fae89dff0710312aa2f394f2ffcd2bf745b8bdd5cf16c079be684c37475bd3ab7e25cb1b5aef303c90e1b968d1d5994073e1533147da6fb37c00f68e5286c881fe07aa1c9ad956600581f03748785fdf9fe5b481fcb29c5ede07d3f05daf2733324b800f3fdec3a432058190970628e1d57c281d900000000000000000000000000dc5c4e00581f03815f5897d5bb127c846bd7d3a187db0054330ba008cb2b1f2a014e003200581b02b572bbdc19f2f4a70ed800000000000000000000000000fcd0b0038fce797473b62f868beb8402e9c824df36b491409fee1435924074a742afcec603d2b6d6df908962eeec0977099f23b7639ab7f00bbe86b3b726133406a0d2b21b00581f03dc61406bb0711fd37c1b789bd68332054b9318eac2ef8437e223b3c92450581916dd53fd0b673c866800000000000000000000000000d7a15e00581f03cdc004c1087d94e2ee674367d667041fc48d1002d24cac0c6899a369f060581a01ac7b6858c9c2964b200000000000000000000000000134b4e00372b7655f32017b6567bdd47af827fb31cd0b9907ec7d14439082de87f320ca5b034f219d84305c274f4daef7c0e686628ef1cfe60efc13e9a5fcbbb8ae83b073f50219ffbf03682a692e30ccb33d89016581beff626deeeaab74337160cf1fb97cde0d1e82c7035aa2ecf31a3df62a20bd45cd572d0eb33a5ebcc1819858f9a43499b9ba01e7cf03d1830e55f2deecbf698bae5ff6e068a29f07efc137d54923c2706478811a7c680336726e383fe6cb619df11800a6747f87d6b4f12dacd252bf63f25d2cd1aad09d03004ea042b493cb15d2faaacc38671168e79ffee5980ddfd054fb9523fa0758ba03901c79bff9ab0da1514bf7b38bdc0eed275a9ba107deca5c5a0b58cc0ea75ee4033bf29a3df3a1a4196acdc2ba96adac94099b305b094af9359f5490375f773f4a03404b75c49c707d32b340018a0535d5424a7db48dc89496d2e7fa653d2212ea8503568c6c61630220f5d540a709e68ac18bce5c4dfe2947ac62be52e0a0943f56e50339d06af8ae4d31d0480228a939e9ff7e8d06c1c5ec217eeecf14ebaa25679aa703dee4a12dc32ee5d359e593f95ab644778c361800e8823d7132e9c71350bdaedd036c07cb9ffa95482287cbab77908e6b34385735b4c05af1b856be40685d32391c03d3b44f152f6c405fad9acfe8c9de93a4ebafec1064c84d3d26aa337f102e5a2d03178bbd31c435d3e428795be294bcd8f2146970cfe00f8eb3f02d8ec66fa948f2032e9be6fc6c9ce0e6a528f0e2bf94fcf322db94b1a962113ae842284044c19f3f0219ffff03a0864194db4b9a024bac31de6f3f4f06a46c30d86227a781d30f7b0613ad85a3035edcbdc75ad3ab27ea60ac4a0c2bc4dc8b4a7e6cada16f21ce1712671e035fec03386f16a86fde65a37c2c3f88fdf509ea239c32ca7b5f6139ab4a628a62bd382e0366b0ecb51f2a5922e92dea3b72018ead206c8a26a0ea0056cec1927eb1206c270344e809bdead621e862d05d6b3fd8e4e3b656c55ac6b6a0dc8fa9b2542e86ae7e0219ffff03768218859a7e72a1794f287d6bbc7b7f360f2dba4313b3daeb9d4b980a3e22880219ffff03b6d45e2aa40b1b1acd000e048ae82d488a3ee0fecfc459b6cdbb915eac5f742703d4b092db72aa76b69499685e9bed44418772de502869e9a109f6509e371b5f830364f5808bc74c49cca223d377eb4dd0bee6afacd31fb3a6681a4f58af2ee848520350b441ee876d39dc1fb6366045dc0cf204e19750ed40d2cccd26da415cd4821803cd0789e99efaf6f6506c1ceb97258b9a40480d60b70cc6a80c5a34e8533f926c03c3b3c34ce6c49a1b9b461806bd2dffa39363c79e082b8c0214c1c5d797587ac9034d4c8af5fb3525d4dd13e71f10ec06013920db776f3f473ad09989672c4a3bfa03a8266274b5bc2277fb31831274eba8df6cfb8347bc63fd6d006802201b2abcc003202cda39963ba3a7216781afb97ba2ffd6c93331cac661dff5083ea95e9984320315e8896d9c203298657ad3f3266db6ea2deccfedf9d54d48929b8a5b2dfeea4303847e2151537e547d166267bc676bbae8867bb3fb28ab1cd95132a7ead74820d1031429f7c9df2e889421d873f47ced5d27a06350cd5d5f25e269371f4afabd21fa03fc8c32e96f3c9c2b33bb22214057363e6126c114568fcb2864ff3ec965eadd01034137eb2ad46b0881d967ddde4d7e0d80c6e671e55249be15062798026c6c18a90340734b9495abb02881e61b5e639b0699fe084a074d3badc7361794d27642d7b703b3cc0b43483badd9f9e7e530a3dd3a5f149fa61445b454c0f5bb8b4f46febeaf0312381795eb69f8383809e5a940f84646472cae6a889fe6d99d85eb6142e6011a00581f039ea24d2340b993af29a2372d9ed53b0d18aad799917e8c0f4acb7893a6e0581b026533c3a08a2c04cc6e610000000000000000000000000104b2e003ee8ea1f3ce8975872b1f31ef9c109c71ab285f313ae8c4671411df08a2beea6800581e020ccd200f00249f5d56096d6bb2dc6a10635b6c62d867ea674b0e44d849581a02c0ad5d1c58a6bc000000000000000000000000000000d666d900581e02d3b8ee6237f4bf0eb2e4eafcfa1fbfa267b31028b616c53c58380bab8a58190574c485fe624ba8000000000000000000000000000118c8c700581e02944d455f2464ea458be88c962f3c5184433daf7a56521921a079eab9d6410100581e02399621cf7ca00a434d4a7af8485ad66a9d8351dc28f1be443ed4ac1646581a0ce1be8f615ab918e67100000000000000000000000001171f1a0219448203d707b7aa3de18adbe942f7c0fde92203763a37456580d7347d1c5e20b36a010103a52d853925413bbefcd56a7c22f7c7b48beff671d0882208625a5c0ef30206a703e0e40bbd754c0ea3b39f71ab47862a742b933bdb2105a886a03d042515cf7bdf03816b51ce9241ec15133c5f87d6dbda5e6199f7363a0d1dcd1d5bfd0a08d1144b03267020691f10cc7155008959f44ae9433a0f72eb6d22bcbf7cfdf0bd601efc7401410603eb0caa8605f13cc0577be6430bdaab46a60e29420afbcccac52506e984c9e32903a402c30ba1d8ab3b4012fb9e35156e2dd5a0b68b7eca5277c41200ecb469f200030ec022a4d025d6d32f5086236fb2112ba9cecdd03520b698de4781192c2e2ad903c567cb16e58e2f201039c98b4e2b7c68a4c76b1fd198cc25bb1bb04512fbf57100581f0335707a3662b55064100289c426b1b30d6f82eb92fc5cf1f73704545607f0581a0333713213c9a3b4000100000000000000000000000000cac2af03a44886e6a7867ed81f657d135650be07895392448d4d490755a3411fa0bea39103f39179374e19632b4db4f79412090ea86133ca3a30d321ae634c26c55782bf0c0219ffff035da9a3166ce2a9ca957d3fb23ff07c6ec42a262afa2318e3f780666d48d91ff903e0dd017210c462e30f9afed934d932a442c49618f0f16959201dda4173391da303a7d8a149d9f88479ca716bdd506fa28a54d56fc22ebbccab5db8f6d7843b121c0371f49bcc7b2982fec32fbd92d19736cdcc1d6321ebf97c5dfc9c6423c4950e44034c9257d90e109004495832ccecf67692e76ee7ef5707c255203e09417fde1acc031a27f5ae529668885a432a1c2adeb1da9d491abfbf1dc823971a6441f96435bf03ace470c32334375a1cd7875247ff569d298cbbcd1d2096b0521fb2cfd5bf4f5a0219ffff0386994dc7e0dc81bb67debb7cc74140efc04303df1e24ca768e94cb173f6726ff03b58efb35c64104fad1b4e0d18a20638b0668740214d8c0dfccda3ae968e76d02038f0701c5293d6264b2fe05d8c85dfa469f7c6dbcbbde565a2abc6e14296d82780301d2718d9e490b3dbb8d2f4932d55fc76b8a5fbe47e27285275e527ba3cc1fbe037134d45d92d2f351daf5c470b38f7499c0131a03b1bf68433805eff89f21f8b303787613b07a50de8a550f5c4ad4296fd1f6ce8efbc8a69a14a671b19ee10da451032557a924dda6139597bd3314c1eb54727b1d4d9bf239ae1748f687b918cfbe2c037d8a17b5afc90f5e601377381e726777c6867c04f28584165bf8beeb1970e8f90361e938b72ff25dec7e45c72b2c89bddc70dab47198bdae889861cf8a083a0e4e03ce95d435262f6df0ee4ac7bf94502d3f5428ce1d2212b1cd6111412bb21e6d2203856f7339ee7cf1d6a2dba2e4010140834dc87ab1bc7d77144aab5ae69a5e4263035a0ebbdfc6c8cc3313fa46fa8208e5f82f139146959841ef93f32bd3cee1526a033f6902dbfe05cf12c481db926800034d35f6d4184ced8733edb546ed0fe4517a03ba6d0413571dc35c04e14a3e2a9f3b7453d0f7e435b69cc461165bd68f3a02970219ffff03006901dab4e1551889137fcd504a57cb8e61d4cafab80e4cb1ab84290697ff5c039b05f561dde69db4f74eade50ac555c1d780288aa2d6d9adc071121e94e2c51c034f8d97f6bcc240b552f73446cae35c784a346c8e3180b16c691d44ab32b6b50303c8f021335cead7e4bb956eacc287f89dc7922219041a3604e2b54e844ca5b36c03187018da64ecf3aa6071328760d1182c61090127e36b603b6dc5b2bb3b4296d10361af575128ef0fa20939782c1dd9156a38fd265116d5734c3874ac7eadf55d9103acfd18ecab00535ad4c6a0983a37c629332e96082bd993d63dd6cce3d2f34825034e8e15fdac9d2de04b57d70166918b39cf360fa56b46c7b6a13c17510d523e590375da91756dba18a53e853d35cdf62bc3b81551101abee3d5a205ba767cf9c93803de8a7d7f265fb3535d853ada940718d7c1144a6918faf887bb30200d5ada366103a7efe3e2ef4d592605169946610d7e3d693ad5ed9b839054e13067a875a06be5030a4a0c4fd32bf7d0595935387fe19510e8aadc70529d01d69cc66b813f5e8abd03833a00b0459339dda43923049f1521ac0cab56e472d7f21fccd8c89d838bd02f03fd95ec46d9e764a56077b586b84aff02e6810999df8143f3aef0f76e29fd4941030945aa4dcbc903c494c37d3e012330a73786db0eb3b9ca89da70ad8a4eff7e8303a1cbb7a3cf094ca7d0b20e455355d1034eca767c48fe54c948f593c9e71193ef039867adac52843a0153e023a52fef3c99b8eaecc2eff1ec73a1b2f59b26a0d47103934c9a35d96a3bf1876562b18b01da824f49ef84198bbfd59887403f096088fe03914d1f4435368472b180ce43a9c1ba91694f15485a653e2eb57436ff4b67c36a03310f55760f88a2be3a902295a978c909270d11fb3b3c2eea8185a7dc7678652e03da5457da976524786b1374db5ba17cef49a3967fd655870daa7125c0ce715f4f03b8c49caa12b6a78070bd7a404401cc7b4a0c7b6ca921ce8f6cd442ea3ea0587003a3c8070073e5d2150ba1666b77311ce9e6ac5fed76deaff96e6d010b79620c7b034178fa650d24cb7399edb052510ad6b12bd962207616ecd1a3719d675ccc58a3030fd36aa89dafc16a09b48696ac8d9e5379e9181f5eb056403653f983cbe3cb2e03273b32e1d579290347965b2311c076a6fba69cff426ce47c526328251ee4480c038e6cea974a21dbf6765a796659b84597710514b3f335c6961382710087350809033f8e94779b42315ce7bbd3f036bcf00a75df6b529ba3ae59412f2e4a262c21450374e3fe1eb86ba2005930c70d440f0f9001550edbdeeadd06c641f4dbdada51400380efd8bb6ecc899be0fb0614f6df74dc8b52e7a0493060e0c3e05da3870648c000581f036930e7b22be2b0da4570079123089b4e37763d562b27bc9445a4c69d7f00410200581e02443b006093050f667ca6d784cae3620f3f53921fc0dc6e8acb6da8c8e6581a85ce92b4d8b36d01d4eb000000000000000000000000012946c200581e022bcade8dc86a89b6f51f2602f71639965d0a3389ea3d45e7689754b3ac581b02eaedfab815f818ada20000000000000000000000000000cb330d00581e02cec765abcfb78f2f6420d45b9ebfbf2b3c91530e5a4a150b55ace270a558190a1c8046c9ddcc800000000000000000000000000000e102ea00581e02f5cb901fa3c59ed814a11c6ea0ed0a13022ee1a7dcf3459f81e7e04448581b01694d4d4e5ec88e73a4950000000000000000000000000100a5d900581e02fad2d86a218599e81675b1bcfe7822f53fe374b38b056a0f538950afbc410400581e0284b0e4967e8fc30068193895cbe93aec6d68c3f3d907867d0677a2043a410402198156039b96c51a531a239c1e24838cca1a06ab615013e122b0ff308db816e0295275e803419e6b2f6511d42f3cc38e45baa5ad9faf0271dbe2bcd5ba05ca96bc59787c7803bbf1842129be462663b3463f0357b53c692f03bfe9a314500888232c82797a150219ef7f035f08cbf65fc8ab43fa258fa49002bf507584706917ad60447e6349eb67a7b9ff03b4fbd3c38adb2445659c8d1f9a7141c2277397f248388a8494e6b62fbc9720c103f9e38702b246a136cc316474a5beafa46145e79d389f96fe096efdd02f2cf33c03ff44c9e13461bee47c922aed83d1d4d1987b19013f2f04aa4742e581665161a103e4a0a596f4f0e3bfcc286a01aa27d3e368dfd1f6ddcbd09a53a5f19cc327139803856aa0a40be75f118c077f73209f6ef566fa1f5d1146c3bde831340b2e1562880219ffff030c7d47e2f12f64ffe36aaeb9e74ebe2f0cd199b68f790821e4842c4ee88544c40355ea8e558c362ce5dfe03fb8023c211a58990aba1832c391d60bc902509b74290341f503887065178cdb40b2f61fa655d050f26479c5ca4eea10c2121901c991ec03453128aa48d0261f23207c2bdef2e83d8811e198bbc5a9b66bc3b5b90ed297b4033cb27bd12d3c52ba705ac267bb1a0a8e5855692b5af404dfd9857bfa0741d9070395366210e90955bb1a526091845a29a37c90f6a66df9be444719b408835e410b03812030716fb76d653c86c87f847eef32fc0e9a8a833f28e008336b4963fedf3803569d34ea06a60d5ab91d368d2698c2ef4e7e162f56431fc150e5b1e89999384503ab103abe25cd88276b99729c69e0ae18188831127573be07755c3fe123b03eb10219ffff03d686d8c24c7eb206935888f78983e87ba93ffc998765d4cc4ef16faae4814f560219ffff0326ae019337e22476fc5993cd45170c2bb113364688124083c5d26690dd27eba503b8d51785dc37d6dbf459c940c849e388096b6e05cd383d394ea4165239269a2803585b02247b2c4e80831f20980f8740246ab419fdeddb75fbba5a49083783367503f52a94240fb7dff03333723c4a57b45bdbe4813531ddb3b4cb2fde2ded44d172035a3d0239b9c612efed33b9b0f044de2c1349df4d1a2c4515c519afa9b43e683003f9d1c29c8ac4eb0427993d0bfbdec1b3b95fbec2b8d4d9dc7b20e8b094be920a039d9600ca1d4c75144cd07ab75571404b55711466adcadb45b8a3830b41f3816f038ed65457a24bb630823763b458effea81ca01bbf37ed81f1e6ff77e808f9b0fd03221a1ad0e20f71bde2ed6214fdaa1a97b81f0ec9b57b3768a2082a1148648909033807645cfd187dd3792b5457f4e0aae5e20bee88765d9e15a6d803ccb9749d7303a9cc1022122b4ea92ebea2e092b4bda8604b1040d839436a50ed2f09cea624d903b66739e0c594377aabdf2564ad4bd3453b028f57228adfc4631e69bac0864bf703078d71ff5a0b77b0ec4c553d6e9df288a6fb65b84ed42723ed7b8c489e77861603c0d8aeda593ec4e717e71198d8efd4cad0606574f9f33415136df7f2d0e175430383039a53cdff4fe4b8c52e80529ccda1adb2866378209cf3c708cb808823ffaa03b77ff58bdbc1bfdec1094b27451cd28527b9ae70d290092eb7677cc9b3cdb5300309d36b4b5aa91bdc6fad822658dde7544e03009c764f3bc1940e484a75fbad8d037dca77e275c8ba2575aa680edccf46f0d417e4ef73ef97c249aea3254bdb6a440324f30b64ad49fafee1111f245dc57b3165c242f312bb88d4e4cb4cda55324cac034d93326ab85201f0fcdde5d22f1867ab146a5dfa008f60f589cf9239abcc189203b6d30303f47dbea0f3e5c56e5e9052e9fef4390a2249e4c0b3af875d09ac0e4703d2c9a48834a1ee617c5565aab074ba1428956da29376d751a51fd9b1ed34da1800581f03b6df0910cd1b48f56bccf7978982ba8aa882a40c2b0a8cd7af502febb400481c83a27915cf9bb400581f03c0b8650559262bbaa796f809a87f693d395e392515864b4dd5e4cb98149043cb0cee00581f03724271de408d143f1afd613aee56e98d29e9f3ba75906c82cdbcda14fa50581b01869623ab87aac7339b0c00000000000000000000000000ca6e100360ac57cefa009d68b26441564b9b00ff69df09139abde13608d6fcf8d999ce0700581f038ad038296dd78d05cc10d58aec2b00576798f3320f596f974d2ffa4803005820ffffffffffffffffffffffffffffffffffffffffffffffef0858f8f7c0b2226003f800e3187d79145c892256b4127c77b23cd2a6c70b7314b0350d8e76210fe0bf00581f038ecd8263418992351a0ea93445188bf4c8707ab84684eaf451fa3be6b00044011e0d9b00581f035608e634021f48f9b6d18096f4675b42dcb03c88748a162a78600a3f7a805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03152e91f192f79a1668e34a0b3d683fb44d1dda563aa2219f7981f8ead57190a200581f039791f2be30fff24d1ad58c29f86af2228f0dc2ca2b8f60281f842df196e0581a02a5c265b35c6f372fbd00000000000000000000000000c9339c03eb4f1ca06b74bf692fa8cc906b435a55ddc246b2fa934a636fe8079e8da15fa903dba66d44d28db5de66de93c2511cb044b27a0789863854874422fd05b447d336038afade77f65ef7cabf138ed1ae8dd70da9810ec83ac295aa66078994ad6d37120359b746650c0d120ba8fdc75a9db758939a2ee873cf3052e31aa89882527d3ab900581e02cb4b6c5640e764cde191d5b1060d9f0b1fe0e1c5201f5e757cfaa7eef5581a0b44619fbb6511824b7800000000000000000000000000d3899c00581e029d08e492535fd60713e8a73f42205d4f7c5d58148c5bf43819c9a99072581a9bd35c14cac931387422000000000000000000000000011e9f8300581e02916f3422e036a891f968065d8dadfbf360b2015b274ecd6aec6e81f74b426ccb035f5004cc396499d417ba7a336918bb2186f89c6e55ee9c45d627c13745c92857014200cb039d7ec794de0f93fa39272e685efb1cf945315d9fa6e4803fc65247d6a77e2f1802194a220337d1eb37977ffc0032438655b4748fcd478ca2f0f5dc743d53121e91055b78fe0219ffff0334f5022f5c7bcff7e63fc3386623029ff62f6b147ec9d13b44b0c2517bd930320314ddb414b9c8612f26211e568a268db7e060f17b44f5e94d3456adb47ea183bf035b2af84517de643b4f973cf45ab8b68456044471f73ec9c6e930371edb70be380348ab2eedb0b71009209e14627a1f82ca5434e97bdd813d3b31755dcb841348e4031e4ddf0beba37a918b0601fbf81a9d200438430c70ca20cdca2fa8699bbfceae037907ba2f8bd38cc5c63d51cb26f0c2fde5d039070fe5269615931064598c907b0219ffff03478a2517a17ca721c10b951c963bb7eda783ee6a4f8a462cb1431af96f15e22503fb40b8f22acabed207dbc5ce9605347c1eacfce0f42375fbd654fc7c0b37bbc403f304b48f96fc0ac9094a2fdfe4e20dd72497f80d953a7ff31d27b8141d3f1f9803f3058927fe29fdd8bf99bbe7dcbd6d473245e48dcd2004396999df84760b5cce03b3cbdc7e50657acd3339f81b03c94bde6ea868b9947087c968c8d0fbef90462903d711f7d9fd6a3ba4c21fbf147871d95989711d496687a5cdf8592caf93185875035da07e1c38c4b1fe12b5208f5f0375c7995e36ed77c6c2ee2f9ccceb27ca0ee803ed291f8af8fa937df80adb97297e9f61c30130f517d85a64c3f56f9cae8bf20f0354477a057b8c093901c7bb6627c24c01c747e89f8bbe2567310c868ba53fafb503d088c822a69bd23f6f60732a556ea05839c071b2e5f671eb07fb794e93e65e8a035203fbf3a9c388af3a3bfc5750c0710599dcc62754e175e3270c65cdb59c71ee0319d3f72199691904b79ff0df4a16c3eb40538bc21c6a4f9deaebec3376ef384a032a21551351cf6f714373a5dfbecc78f7d0f707014b2de42f8afd13d953bb4c9c03526c668adf4bbf69d21e256e413b6044b6227ebba24992e20f3b1254ad1bbf7b0219ffff03fe2a5b4e89091f373bae7cb82e9b8b5d960cd519115546243fe17e02b007564003f770e046bde800a4c942bd997fbb5e059ca2fa5ba14d92feb62e73c9ceee32d703272f724ab82bc679baf1e45143492bdf9f6eb48ab3cb1ce1901226ee6b2c3b2c034488e74dbda99dfeac8df231f61d2b03c310413e69a480af5ffa64fab98b5f95033187576c2d9285db0649bf005393e3a75be62e19eafc50591a2881a08d156129039b0c6d246a8fc0275e88a0dd673f6ca909c2be0ca30d35add3393687f27c48c803685ef6fad3781ab7ae188323ed6ed42bd59248f2559777de06a6b25448adad00030dfa2ee35ec752f35b37bca14fa93ade0b1a1dfcb2c4869b1397146d37082281038971857e978f2199c46fae8dfae3183d837a4498c4bedb376be194a368c00005037044feeb3f41d23a06880303e76587c730ff1413e3e0a4e4696b66d6da51941f03d6a134032d87f07e2b598ae9e9704af15d3c4bc968de0da3b05277fe444615bf034551e6891e11ba1f9e8975b5dc3231e06f04353066c0479ef21eb30e39887b83034c62e2dd452bb7c60dd978289a36d7f150b30d43236f53124d74f7980fcf0bf50363304290cae81564685989f93fc91c99612e49eeee4621cc2e38b16c0fd14aa1032f19cd9e8dea0db75e71d9a598c241bf95d361b7e659236a9885343eb0f1cd9b03ff231d7451055831ba4b72ded4480a259b62b040b49738a57526d472a835f10b03b43c182950df247a23d2a6d04f8ad72a63d823914fa73242a543249726b92219031d58c501544bcbb5a8c16a40c8ccd90f7669508dc4436680a843d46966f8076a035e01610108489b315b6cfded7e765f374edb083a56c60c66261dc3e07883b74c00581f031d18d7300f962d4a89d9f0b11621191ee60ab6f12b87086b4bf5a82887d05818c9a4ee044a6d000000000000000000000000000000ff953800581f03fb96cf2588cf5189513cfdca4fa5531191d7bc810d021603386df03385c0581a0d7bb4c3a428a3f3ec0c00000000000000000000000000f4e49600581f03cc8b3100de80d3da821880cb48827dd600471ab81359d62f6524e1dc709044010b78370316a85fc4b11301cf857bb9a8dc4607c9a74a57e81d77ac809cda1cb6bfb169f200581f033800525b8fa582f0a915977229ecd79094593d2f4a6cc51837d2533c5dc05819f73b6b8d349ca743c00000000000000000000000000121a41603d94511c5db8b4408b3cc91230da7e20476d048e7fe6ea4f38518f6e6f8bb5b6e03ec7dfb4dfb8de02f10bff7acee1fdee75521f35c91e817f1b06355f68db4804b0330db1f23ab17f65ebf3f9619da29ec70fc84db8ed1b00038883f3391d9cfc8240348a44753bd4565e279f2bca5d94804cfa3edcd6efa96eb8f9367c0ebf1bff4ba038d9f6f7328d7d7e4cdade54aeee6fd7097327f5051d6ac3bca8215b2f874edb300581f03e9a448a4293724f01bc6310f01b290018d52bbd355e2371970b8906e7390581b093a7275d2726de03bf9b0000000000000000000000000011d18f4033dc7b81c9bfbc4382792742f37c70ad02445d9f154e228e24ed09838dd258a320219effb030a07cdf8f3175bf68bc71144236688e97449a898ca20c17b90dd4f43efbcdabf03d4c0fe56d12d93a7ee67ce9a8896705efa99229ccd6c12b49a4210cc92800e4c0219ffff033f36d0d26d6e147d5923f584f7c1eef5b2a1e983a5936e176428e64de367597603714151e64a75d4e7a14c90bc11cbbf88c5cbe8475b76a0faa4677cfe7ec2a9b003eb1287f904032af15cce60f66a7e6a9af115ff60f3b77f96a946ace2b62dcbc9038cf0521d99a6feefcf8e39ff0b96d4cfa32f852f70754308e3cca34a92186993037989bf8528a8c5d5d4235b0461c1b5cd8346fa1a176ac635d0b1edda464f7e4a0378c81937fd4ffd51060f7fae861072bd41ad717cf607d2af079f1e4d5be0e4480322af1c79a04552bac818780024de550eb7634d63bcfeb8c6b2b8c797aa49dad603edd94ab18f482c6d5db09dfa079cfd12d800ba6564f854c7bf4283348c15dd720361263f1f19fe3bddb44a543f897a021df27bf74834715c77e181b54df6a061c103225e14d7844f7b698d72609b8b7565798e82717eae6c608d9ad3049cce99e96a03cacd5bd0d2fd8a1bf77b1017b914eb504afb371a63715a885450d02152dbaa130357a457646d1e8e31a64ec5954ce459ec82fbc7cfe699f0cfcc78e1cd7bfa94a00219ffff037f7762008fe02bb9f3cb645e794d6ba8f2e1aae559ee6684ef588cfa1a230a3f0219ffff03f3d1cccecdaa7754b3d3084b4d5f01468f2d143d44c1f9a1a069c619bb17663e0356cb5c6fbcfe0ebbe47261b711b8ae5fb8934afa9cffab779b4d24e87d1f0bde0392e15772152bf6776695321f8e38ba7cc92812b0428bdcc5b362e85c42607fbe035c922c265f2776b0b16e290a9a06d943bb3d9b12a38456c346e577d75fc2db7e034443fd8011e9fe07e64e265455716e45305b39fed7abf494e44b517897ed347e033a124097f3ff47be3288294887a076015649308468d705367a168e5ead7e7d2003355ba985f823f6c8d9e5bea2f8ba66c5a17dd27a02e999edfaf4250f606b359c00581e0260fb6a09e0a2d931f30c46668a0be1696242cd6ec1fc3b8126f2560285581a7a6802c7fc02d25a900000000000000000000000000000fd6d2600581e02a2c7f940ffea5365c32b934012a954a640cf83cb61d864b6ca33c59c90581b1f6418ea0346d08bb73c3a00000000000000000000000000ee34a400581e022c854e59e25a29b774a77d43070ab8828624b7891268646195a249ff8643f6b5ae00581e02addf785665a934b3c1fd955708c0073b5e84dab79513742b443c2590bf581b02fc6392310faece03c0ee000000000000000000000000011c72ca0219408903bebb973c8427229f5e74adac4032a62d124a30a02fae1d761050ae1fab5e357c03ba9753eb823abe88c65aaca9fa2a4292176b42695cc5d0ca0eae813122339ae8039a4e6b37d9ebf729226ac80f19fcaaa1e43a88e714f73ca844081c1c60cc89680362f9308229661cf86346cd48666b8682250bab7471f299b0f1b3e156e8ef74d1033848baf3ad00d2dfc70646d3d7ebf0695006868708782e72e6ded921b4f08111034cc68b0a7a85080a85bdaef2186b25a078ad729ae462ea52d6531340f78b926e03d02e2b6ff7e37ba718e26015c2d2d6ada4bf892e38ef8ef3f8b2ed3d057fe2dd00581f035a06673965991122a6e7a859300ddb83f37f58901280fd57d173d2a01bc0581915e6694aff67f73c0000000000000000000000000000d8bcec03b70022e1b56a23b08f7f4496fc3aca201a3640fd146daef51b85f90b740138b00312ef5d98007a6c07781e881f7ce84887835628bd15a704606bfad3ca9991d5a503e1bacdd3d07ab5e50059ce8d5fe4890971061082221abefd8efa51bb64a847e100581f039bcbbc531960188e4fcc35829be071c5934ec4b83cfcb07738ffe341ce20581b024a5a24e8d9b79dadc70800000000000000000000000000cc2d0103b70c6fe753dbc6a8291b8fba6913e4895ef62e24d27414bf48956f93c6f11f2e03ffcebf95f3ef7a5f013d390605dea850c1b43669733584524b3ccfe5c5e6b5bb0219fffe033fb2fbc254db4a21a7c7857a86c3dc25bac70a7cf092e4dd9512b774142e771c03938820c31e400a0125125a5abd0efce8645dbd3ba6d7be91d3848e0aaf3ae9ae033589af338294f44a5263f95b9125dca5a34d614c3ac458c7eae1ece0e1066cd2039dbc80ee30ce59b13cec04209a7f1a45671ec7bc6eeb4fce3fb5996d72aa0d4c03a66a34756fdb7959af3270c9e873ea04825b9e34cd56b6dfaefea7b9ef899dc103d7bb3af996be2aaec7b35b6b5ae90bec49dd4e2de34a2b44a83681814344e29503328466f8ac713c99a6087096b829a099287c7d7061fcd9c27b23e5ef7d58a82803b134477807f1bef11496353c54a6bda7d9b3555ad6647b1a8ebaff8cb4e6dd6903d7ddd2bfcc9c79824c28f121ae3fe614e140ac3a7e04cccba5a93531d56e3bd6036997b698d79c1c4d84281793bc1114934aadbb59e98e6df8746dd5e66e74c8ec0365ec9175b3be43dced6d60fef7d8c1f87cf0e01ed69711dbc28d5517d35bb03603b2fa3af3fc8dbfd4cd41f9561744c42ff7914b74e151fa567b1bc5090a67f9fc0343ec71a24de41f44fec97c89c0c9513c6a7b23fc01fc734a27d8c30f6f46d23103554d55f81f9f056b8fab314a4d3e0f74e76ced9be370309b110e2c13581527720219ffff03ffa999f184afbd762f0b1f41a36495aa732cbc78bf576e9c2eaac746b3826dc6037e2c847100d87e7e36d560fec8c49f4c91cba70daefa7fdb526ae8055f83e94803873729876944440d5f503bc199308722c9bd6e3731ded41fe632ef48c104de6503436320572f409934bfe79db1fcf5bf051644365895a0aa799f56e5c4de728e9503270d0857b745e4cfd255aa6df0d402ad4ea3db622154d2f9c99c7afbd3d4bb0d03ae8761645ce60fd5c21f37b37167ef3702a136b3ccfcae173a1d0d17f8e46f250375f09570cb98758a097558564635a672b9427db95a7190fce12c0cb7d95cf1f203df178f7508631ff26633143395f5ede1adeb195883df7a83ae1fe74f40a8a375037693cd9f0159736fabfdad90e1d84c254a0b3e245aaff71c5bf5c6fe9bace37c031ecf3b4ecc454e9faa49426e4670ee4ddec61f0d198371b4d5efdc7d149a1f4a030c6c0e52576252eafc8e1d0a952924efd0c185a63235efa47e66f8417bbb5656035e77a6ae42314702bf72110e896aa3617ac6bdc31f6c30ed6d190064bb79e42a039cabed902cf5d6e7f493435d615dfd9e7da3f11e5139f779c0f3d17c1f8aa7450322f4167e16a059dcb3248f971857ad4855033fb2e15f08c67bb65eeac3fb7a88032dfb76131675a20523ce2c7737cef3a87889b56437b17e22a9810d2cab46430d03a3ad3bbda332a4311f954dfa023fdadf3eb91fe8496ec0e2d56263e896ed64340303c58fca7976bb29c8525fbd3008fb5965bc7cbb87ea86a76defd8ddd75d81f8030fda4e27eb566cf0f6696b5f87ee5b978af94080cefeaf618f9b950e5ed678df039ad05447c79534e514d197d90e5091a5e1104eefaa1deef486f002ed49b2ffc503f7f75991f30dd98a33acee14a6ff08a4b4102ef75df2b58c42af8267cacc44140399dd537ec7326f95f98be78b74ad3fa744fc0f9ca4790cd429fdf389b4e3c7fc03a013bbf7fac7483bbf94aff1765b9f2e4a80d49f5fca5822c1f9fe2e98d2aeb903557a251a0407abba7580cdf7d8633ebb8a06c7e8c88ee8490086a1363be5bd1a0346aca40958813e9eb39d74f09f0de46f4f0ac912a09d714868e97f697964eef6036097d070462a0778928e92b36d157ff0277079917aa2438a799f4eb86888a78a03095d0f8ae85f45e55fded669c66b115cf5fb6808bc2aa385510299a286f8067d03e1edec9a6034a80dcb9aa8685073795f1f0a72cc3c67abc1d195babb906f556b03492a46653bb902a438aa9403051bf95fb88c8d54f976db48ccde158ada5370d600581e028a48e9028ef65d945a399c2f50c539d46107812fcf7031d43dc0377357510100000000000000000000000000f047a400581e0289ed20fa1afe4d278ce6452d0dcbb78687e1e1bb9048a3b401b4cead39410500581e0204a1e11b904e366ac7f3969f4ef95288816d3b0d61b5d500588b02c24258198bcb819c55e1f800000000000000000000000000000133f79002190824037afb8b2d0a8ca48c5aa89418996ce05ce7276d3ad08e3a97016c63d959eef3a7034119d9e28a545482b92eaf856e2603d5146f36d97d2e00c6f6fc5ad8abd2c241033493c4aac31ce1a036e8e4ea2ac5db5361fe15f9d1fe45e9323ad1f3d30e030e00581f038417d13c64e26b9f6faf2a48d9845b6267548be7189b6ed3efff04362060581b019570a4a0a5974f641a0b000000000000000000000000011a231600581f033f1476ea2d76ed77729dc5bb7ccb32ae81feb5cb6a2ad6219696657e13805819ea9690970531ee13800000000000000000000000000113c8160385ab94087ec8dea0a9a28c1b316cea6494c8d40cf923011f067ec43ea1326f5e0324ead9e3d7bd0552a6b98549541ecc3a3d93f3f8f682186c51b6a7452af3ddb80141000219ffff033e937653b499d75f8f1b224fc8211e7baa72235e964ad5edaa1b6b655fa39a9b034b5853c45aab58e62580e136f42c41a16cc29cb9daaa2848eb9a74d1899b0b3203f5c2c8c8660098aaef3b1066c3baf23639002c55d6a345ae43745eacb32868fa03eb757feb97cfc7e567b67715cb55f2ef1929733b2d431516bda4d96a3107ab6b03008110b7b4de078e26f913eb340e062814d5429e1870eac53b8fafe041545e110219ffff030cee9f8a1af5a08c634b4ace2aa7af6f3149000538c5603fef197d1b077b6bc1039dab501a650bf2a082fb2d898f23512384cb3fee68da5a774e81d5355a2e68b80219ffff032ba6f46578ba7ff1f302ddc6a6b5d5ce524ee773c4ce9d1efcaec829a13d4d1503a5a7f1ce12323fc64e7154ee8baa78045af2d6ea7ebce7940e385dd7aebeeb9a0311a02ac2b26722bcd715e77f0ae7140e07027d815d61129f827bb52ff6eeabaa03a0c6f4fe74a2d6966412864bddd43badd97cfbb6d11aff9bcd00279e7bdad39703851e2efa446682ccb9a1292d6f9f9d70bfdce7133a6670937cc19b2861c2b4c003c48ebd0eaa16cc20868e7935dc2bc8c4d36d65ad93cdb31a4784914707da41a603bd334cd8ab29f9f4735c8fa0680e18fb1c394a90f52275cbfdc25ca0cfe218da036df255a384d628a745b12457d7fec26fe46aabe8847f72e1d758399a11cc47b8030984c1b936070a567f3e8147edc0382a455fa9df336aff396272ec03401e9ed703fdfd41cbe12fab05e666777a20792459d184a268988975399ba84da66cd7fd840309eaa6c1e2932c34f56c255aa1c0bc773285b8382a23caa04ccd1a62f6fb1346039f5f9add3a19d56a03430f40baf4936f9d275f02e813cdabd20cdd7d8cdbd29e03eabc22ab9404aaf103bf5740310875d0d9927011064b33ad7031dbe01b70bd7803b55f675f9b14d599860e681511ba6b2ba8f469669e94e0cc67e0ddc7cb6add6f030cef2f1c04b31c1da49865ce12e857d7a2525b164c7973ad433b9b9db4d6d43500581e021c9eaa547b086f8ae83e4187541b13452c9a623d689e789e5710d4b517410200581e0206cf86498fde6607f9f0e86373641d3a185edb4b39a1ac2a9c6ff8d2b5581b0db3772754b5e278a77ef400000000000000000000000000f93a3600581e02477f0fb57455b9f0cc89280965ddba2c74bd8f95a24a3599548e6f119f581b02efa5b179d3a27401abb90000000000000000000000000100a1a402191201037f593846c04772b8a37d6bce8566174cdfbe8ae04c5c8ac83e127f86bec66af003819b0e6b6fb9bfd0bd3b937b3e94110ac7204be57b0cf315625f78a75231f5e803e7bf6a6b376a80ea1f616a83eeec573baf3e8741e69fc6ed055740242d795b1500581f03ab3ad5ebdb117056bf66b3ef0a1d7a192bf2b39b50409f3ab2cbfdd03ec0581a01cfa8ba7b9ba624080000000000000000000000000000ea735b00581f034541c40c13351a81fcd4327edfb608ce74ca767f0850d851c0ee47d6ddd0581b032d2c6203a562d440dbb7000000000000000000000000011b92f50395b7f1a634b653f9443d12a1778be7659b41497f70f0ab6c3d3a86c4932cbf830382e26c7659e095bedfb7886c27c60c77a007d4bcb46436c68b2649a8b3cf6ad7037d2df1e57c79ef1aeeee2c9d802bdc2595d6d04549b84fb6e9227e01dcc0992a03eb9e61c7fd0f6d477a94846a639e67bcfbc64e75aa67b7785e08769d7630f01200581f03bdf575480899a12b2926979e1bd0d88128d5cbdd0bbe2f77206b3f56aad043cc0b7600581f03ef1ea2d2b485eb2fbcd0e6ddaef7691bff8bdd7a4b277833ef4e20b7dfc0410300581f03647c44e60efec067dc45197c71ce7e9f0b3946d2da6b40b833ae2176cb90410403a6b72ae15f6c1c3c87814d513bbad1b10328e6c782d4ec2f5338e3c50b76fee8032ea941a19a1228620f66493d94c46fe39822d0cc11ed3102e6243bfb080150fa0393a39f592c9a20df0c052b002e28083eef27c99c820cfbf687d7d2be135fe6790219ffff03c8ed07d11b772f032e6b651bc2d17169c12a07f80cd55c13129d240734336ae203f01219b62f1d282536c75f761c48e85c77e9f556e5f5fe07bcc6b176e935a00c03ccc6d9c4a8bd6703eb8fa18b7578c8662573d02c51156dad7a6c72b64965505303afe249a7a9f06e2b09ca3a382300c40ec21c5ff4c2deb3096596961e0724b77403549064012a981ad2cdc8b76b8059090afa5d86bae2fefcae4a2521a342c03c2503b82aef06a3c1b9222b09f1b26282a8b04179b8a52e59a2b6e66e730efc0d452b0219ffff03afb8d7300df3193ed50a7484f558a7342f6d056124ab8da418ddc0c3a2b32c02030732f6441ed37ea6ce5f22f1dbf67ac040a9e3a2959e1f70a17a258550f7983a03a6ac161dd4380925204a022777ebe0aa263510ad9898cd23c27bdf8b267e85830396cc44e1519aae2a03adf3db695dfc319bbf4ea1b18895efbb45f2f8d398f95803753d139948b8bbafc47b70d47d2338c0b576d98b675375cde4909ed63096eda803efd736c746088c785f48f429504d7d69e4f27cf101f57935d29bc5d16bddbe59035c9529782a419c0101f53bbf41f626e31353422399ef019bd48403a158a8d72e0305c672de79e8e3600961d5dae1fa78cc036407297edfee4b27aa0a2df7a805160301dc8f12b09032758a08b0c94fb616fa74eab792ff1d51a1abacf4047fa3705903c7c99dbbf79078883e1d8ec864fb72d4d149e0ffbe4c57293ed19603228032da0219ffff0347ed973181213aa5fa49e6c06c77ea21831348c53008f887e7a36460392c8e9303ef56813f4e9315ab9c1c227b6d2b5deb8d4f56af52a021ba3efcd09c890af3c9031a3d8d194c3d2c96c0fecb6a8c30fafa2e78b591f8a1c5444e1c3f368f75d3f8030820f55b74894ffef3b2d4b11d808bd7667e4ad506d8d0a3ffb3d5465af366b203215829e470a27c83fe1b8f58982fcc8d642d52122cfacda100c13a0a9ec7a2340384bb429928fedfa47f6978acbfe8bf6dc33b67c2bd4861ae5207ba7a6b02147803d542263efc5615c169314baa9f36b41ba346f7c899d311a02109a4874c3b282703fb935af5ce082a52c54662cbafa839ccd77d544ca3dc1d0a48b5685c77f5bd6203624375aeb4e1e62a7a4671cc45f5e3055cb3b098e30acd129d99cbc6f8a9866e0219ffff031598d30655887f78fbefaa01d320892b31b4c6dd52290dedb40dac0fce7e1c0d03d0b05f483f8a3e576132200303539e8a4381890b05f5b29f55ea43c0659af85f0346ac254b9919a0b8b4494ab7a2c76a0fbb0f1a3ed8a4f31a960e18af4421b10203f87beae1d119cd08daf925631f2ce21e006095bfb17ece909343756c84e7129e033fd2d2748ba21120dde18dc7eef4e356e4dee30d0e7b9f75abc551af77e7db9b038fc823c8667de67f66ba742acbcd43089063aa334fa86ae865ab232c1af58c6a034b160e8fc211bc7fde44c12b5ecd844d5eee0d4ffca77f35d9713e32c784b412035c8478c1e7b0d16949db5dbf42ad7695c2e90051a8941cd4059e7e736969d442031fa66a40bc3d0a9fe08c9dad9fb9512cd73e10e606047c31808d2845883d447303c3598981560d005ffc38c93b9cd6bedcb838f16b892941191f232ee90ec865b303519689809db31d2c81315b3aeb7f7e5fa87d996451e1b03d35896bf70961fc6903fbd48475819b95d5c2a7643a4a847c272fb9f61e35028daef29d757d8b6cb43100581f03de377af166d833dff6b32dbb41c74d0cc9eb942f266188aba554b14bb360581af5f03f3c7052109707f700000000000000000000000000f69d62034ef8413ec89eecc4be1ba4242fb22c2f073aa5f51fe5679dd07effb5ddbddcd2035ef874ac395bdc28068aad65e9e4aed27bcbc3c28d5c458a476a5cba0798de420399aee38d43a60e2359dfa60c463e121294d3ccd0966fe870e92c155257a0862403a0bffc6a8186017578d1cd5561b5c3cf7525ff38f7b89c702044732cbf6a440203f10722ff551823bc9b504870139c697fa8dfb94377063bc7bb422cb0b415df990394b938ffabba77ed0ae458e01226c560708d875e4fd78c8eee292dd294c8c4930358ae58845fc59b8928f0e85869f15b2ed53c203de513497b88c78fd39a83163003df0c5f83c6783125919680d2347f1e0b418a594bd7947bfd6c908f636f57d6dc03b4e0ab312ccafa7dca09dd20fa531dbdae39edcd66b008a870c05ba999675b9c03e24daeb87e02721f98f79ebcd6b69e7f50e3ced52dc27810da8e1a0883188f51032b2bc53efbbb3a64726879cf4cf963f2512c6ba86a9d5b439b6a4b47e9da152c0219f7ff033df1de4ca7f27d709938407b35c5c2f92ec17598a79f5557814dd77f6785d29403798b110d2fb7c876eced1894cbe209f36ed10c73897925cc70c4e4bbca44fc8c0399db4b8c67f5cecf0d277663cf23530fb5241e2592178325dea14f236e774f04032b9583f90861b4388bc58a52724297b4c12c5bca3f60d42c3f6ccf84d32ee5f603b568c69a25ef8dd93fecef60f6324177e226d4fd05e7202bb05475419ed2661803677bf167d5a93758ee7ccee2c73120ab3bbf18583bbdfb1ab8f3bb88d87755dc03178b5997e68e9975bd921db925354a9ea8068bf161315a501de55080a00bea0d0219ffff036eede015cf1964125d60923b7b3f8e556ffbf27f7db289a0f4336beed320d8b7030c37dbe535610f4145933b54ce97c3c5915593b94ffe4d13a3d6ac1aa3d07f28031dba5b75b08e56a90b210579207f7fbc426af3005b5e5c428b65d4b1c980b23f0370a9ee7762badd3dc395960188e11a6f36028257f55153d0421e4a86d904017603f93cb8b211b566a286ad3dff06081a545baf7e25888ff14435d2b8d2766e996d03846e5133c3693c5def5a395a14c7a960925bf5be6f86e4c439aad0a96f1d938103d4eb12e92eba6c1e6e55ef78aedde88fa3c250add41ed05a25cc6427451a7be903ff9c3a1f8538b9b2c282a453c4ad4eff20dbbe9da6898bd2b5b4a6d8f80c9c13036655e149f6b28e55213b824fd92a46c51b55e2d7494caf5472950eb00a7e9e28032f9e0ce70cfee6d2ae6a846ec94674a5cfc6efed1557d6ed24ccc855467666430332275d9fad32e251cbf07f1ed6274f81c5d8e4a903583c72a4377ace06f65ef103e0fe355fa2fa42da0f8e96739fff460df9966ad76cc02f8f18c728516e01ea0f0351addc4c73b02893d8eaa524df663b04274e766463f34f4a608b9cbbb808283f03a399f888725383273f76989655964e5a63c9bdfef3d525c3150412ce275fcefc0219ffff035461b4f9cd5f62c92bc8a4eb3a42fa07bcb594ff1967792e136dbec7920be8a603fbc2f0250effb377696e948443136e7581aa0a1ed8fccafa03753848fc8e4881030ab3f300b96c3dafdc45d763e894b905c4356c6f0ace3e31695a9cc7b2b8787c030be9460f0cda1393989005a1b264ef0057a37952795ca195ee5676533b47fa6c03b2f62b91dd275ed708ca838bd88029582c110760399a3bd674f7d9b4b259ac6003b642eb80f48a68abb78b57cfc9246a7128934ece7e49793717bbfd7b2e9f4764034be1db00260a288ed8150593a216440acb270829c8177b6246ab733311c364a60360afd42c89dca3cfa119db3754d2578ea9814d89d131c1d771cc57bc68524cf5030a50f705942a000e485a6da9943e06c9da5814f9200d238f130211e6c618c17703aae746acd42b292a0b662e1c00b57634d7532f23102da192e3c693237c369dfe03144b1b27de40a594a6d21e538aed7eb000c880e065a4e927a9a3a6277405cffb03813931fbb50e458b9b0b8b9953378be2a26218348c4f90d6a87c6e72ac62bf3103b321184a529c7447f39ff46744fdce5a7176b24ec00b1eab1eab8ba4a7a462d2032c6bb6e2010587719e7aa1dea8fdf0de02620e1c1c30ecccb6c225f34e832b09030cd733853d05ff8810b195edb51a7693d311b6d24ec6d48ae98d337a11a967b703e97d64e824271f58e5f9ed0f95252b484cabec27a751877183a404e4e4559b890339d4a6e6f0a266c7c8a5e325b0cc727a1efe54f05b35896c105724564707c15f03dfd75b6518f9bdf7cf4291bf652181b2455f637609e35d69841611a5ba4d024403e63b0ee67c2317b7d943802b0932ee4e80473ef4e272d1d13d3853f151970b2b0351e557fe35e59a16af18b79b2b3b398d4e516935f9d6105879fc41e8bdc01b8b03b4b57096f0f1a67d5c2d549f70c39b4b3d506dc586d5cf8eceea1ad8ed4ae91003f9144b288ae70d659b63ee36e21b1037267b58cd7c5b8de1191dfa00dc1f609703577fb88cb28b8f42392f97bd8747006f329d7ed3c1fbe7601878c455f618be6703e9de91c87f79fe226189e78ac2702230cfa06b5319a7eec4bb59026cf5ee0695034aaba1aaddb2d8f7070996fbc09a6bb15167bb6c21bd5c351487797ffe5f920b00581e0289d3929041c91a3b6e35c8001e97ca4ade0b59771c24d914bca1404ec258191e5fdff7e74ad029c600000000000000000000000000fabfba00581e02cc981d9526d4b41ed3de682c7c96f44df40b1f6d8697e6d65e9854b87058191a901db3de6568000000000000000000000000000000e8cdfd00581e02bd103898de9419c8f35b84c0bffb3dfab79aae2339e0e068b34fa83c1d43c9335f00581e028b5d104188000565cdc7b91f648faa3b9821e4addce18751654f055927581921b10b8d26e146000000000000000000000000000000c9729b02192089038fc5500b51282d5dfbebb455c4b833bece5db3c15ead543a4d75854b1a0e718803c00c40ba42ff7f9d1e9585a5919141d0906ab89793814a47b3fa646c07eb54600324a54e1c5fc30c815b86c4ff19c8db9b0d22f3947a583dbe287c9282793b69cc0381e113f7d9fa0ba5fed2e0d79be3e248d02ee9f98773cb71c305925c8f4e9f89030c81ab5afe5f893542b559c1093ecbb3d9698910210a23ea5b8ebf8219eaf59900581f0333eeb234ebd308fe50a0d90869edbfaa42ed1540d472464c67060bf311c0581ab3a5330c90f85ad67d7f000000000000000000000000012109e703877160d99b58929e86e2f1ccc29512e9a8567b17decad0ee7422fbc8b620a2de0315e180588968971c114f2c5d98474875fbb2a671834bd084322cf2a99707e5ec00581f0349c4942635acefa3b388f0e75fa662fdd466e60e61fd6624f22a696df430410103f031cc12ab1a6c60e1fb46c89faf294ebc6def3a259710336b3bb0c47a344a3703a20435f205e4538421a3fd5b1c0b7ed3f775b63fe1d3458152b2d7d2e72bf0e603887ea731aa08ea078d2b253fe8e16864a8c0ed18182158f07bb74b537632f42600581f03e6f6f93443d5125951ea68026848ba4e153f2f598f3094ec114d59fd7240581a4ed7e6885cb8b8da885e00000000000000000000000000cdf25300581f030b304e996ff58fe7c3afe106781d475dc1ebc9f866d0e635aeb1fb02968058192ecfa1d4e44b19a6d100000000000000000000000000cb575e0351c5d34a8a1222803616d6c913f68e13b523de339d00b04484bd67ff382209fb0141090219ffff03dec9066ef2e95286ace501091c3ac9d30e8a80429b6377e2252c27b699d7632a0219ffff03614e9938cd0ea040e77df74d3e2b6299d7515840f069a816916fd6a2579887480330fafe323ab58b56939b3b060bdbbc202ac1f775679baf1cccc4b69ad0c89a8c03dc724a40b67715a4ed918de2b219a626833136303a8a3f5bf0428803632b44c00388ad2f7af8c0da5a9e109c0f114b3fde001cae1261e59f62f55d2d6a4dd223a90396e6fcf492a3a18fcfae0ca4f0ca51d0fafe175b811a99ce747be6f9527e4212036b4d0e7412cab4a2103f5763c4b2ca577e96571cb952b17bb2fb8e5ca1ec81ea0219ffff03f50691bea5025fea9a9062362d6753e810877ea72121867f8610940d1e67476a039966ac7a669e346452f3df700f73f8635e6063ed6e343bd731230e3c798cfb68034e56a929b7b76fd57947f50c635eaad748d9f0783e411b917c539c87c3351e58032c7ca8d0db2c41e28eee061963970a9ba907529971367e019afbafb16961056d036233642755f8b10d50da48ae6e3ae84dea5f91f47da81dadaaddced1913503f803a6e803db644a1e6fdefb6c262b0e0f974c20c496a92d7c37057a29c37c793062031f06c975e042e48b5fb340542f1a54c70393b1e60fa80008a03fd7a25c39ca77039f088b26ebc89b3c2fcea272e98f434e939fd54030348319d8035ef12fded64f03484ecf813d77d462a4b92757a4f25518f5b68351a042666dbb4b4278af6375d7036c7ae04d972097c8aca34238c96637ed41415d949ade12f9807465b06073487403c455159415709d8301f32dc082e2ed3ea5d63cc365867897fc1fa6c615e5a83d03829713291d5889b9fe5646530692292d6e0ea84c4d974f8581b75c5fd88ba0c70219ffff035349d03cf2fd1de399ce9f8c821dd1142b6ba63b788c952b69bd365c5a3cfabc0355b14c73cbe52d6df8ea8685da82130e7d23807ae879c772e360d02954e529660343ca851980caddc0588fed97002147d206020a9b5b801e296c1a591fa691ae44038c039b5b03a5be647463b0929a9450fc9bad156d80ff65e2cda1b3ef5d6a1f57033df23613831f440e474592ccf43ee39d0068e1f80e5a24cd95382afb36df7bd603676c6264b48fb34ec091c9a6adac7fc4595edda98840caf75af8f7d7469f02980383fc63f4e40d069ea0df8757dd2306400477ba6998ea8b7b96274bf51036ac65034f4dc8531171f854b1de138189fb5aa29b9ce28bf9e1baa9398c707611b281c6033f8ad1aa7ed2b8fd573c2c38bb13d38ba4029d12e71380947bc4032918c55a33037155dbad80982733ce14c5d6b61801ab7d18ff0874fd2be84cfb60e2597ec035030c5fa0c8a782e97694d7a10e4a3f352ff65381d0b895b29a70204bc7fe439eca0361e10c91835dbfc815621249a4b33528343e05b9eb14d3369916cfd6e0c8588a03bb1438f9334997641347ad124d00e1c4b50d9a94ceaa9d565f5f96154d068da8030637ed77df32ba80805b88d554385692ad15b0dc977ac53a6082667be387b9830347802c046fb7f3a254cc1dc845b614787b02100078a812f0cc56e5406bcd173903f21a049503fe1ef87c178b4a5be68931afad8757417b7023b6f3d1c9d61867670310d193404fab30a070bffc4dee6986c1174ae40ecf9f871cddc1175763b999cf0355c78da27f7ab0bad82ec2809bba927653853071f79c5c7c54da48e9c2198c3303757d53be21bc610652acdb6381fc791172af028ba4a6ffe059ecb918ecf5a5930351e9d0ad9dcc838f35e1d1ef77f7643f3cb5488563037470a201440b034ea51703f65fe2ef0251bad71cfc9d156e3a7af5cdfb037d27eb74b4a93d8f812456826600581e023b5759fe3ed15c306b6deb24dbb4c3526aa528d62fd640aad742b7bdcb410200581e024eaa6ab16edbd65396f9bb8e085d5edc313a27023e6e2a76db1e573c8e581a24623ab6dea760941db700000000000000000000000000ca1a9a00581e02618c792f26c0b920a7c9cfdf09c3c12e2bab29f6b563c7f6dfa90759b8581b0925aaa8cac14707cf8c1b000000000000000000000000010959010219c020038dd343a3e2e688d5a52c8aab835239408b03f4f94e255cf67f9d9d6cb2c33512038c192f150f4bf573b4bcc8ec304a40fbf64e265f1d88dd6b41320e6f2c20cba1034b93894a9ad3f3729f99e49cbf7d9fbe6aeee26194a6a9c15d048e70f9bed72003dd56884e8cb6ab9f4db7dc2cfca8b81c1430dbcd8bccfad0264453fe7785192803330eb6dcb39ab868d7d729fe5270dc7853bef46992243456f3638d847237452800581f03c764f95e04a09119c984d412f2e207a80bb11de78c243d6b63ab6fddbaa0410103e2cb94a254ec72b3d5b5908c82e30be9ec1602f3fb62ddaf64facdc6d5318a030219ffff03fe7d8869717357fac8d8838e33b2df6d426fd5905b30a8e9909f8958a72f07480343324878e0eeb5d3163d7c18b5163cf5ff8ae080da4bafa3a6a273a598a37ab4031d814d867e518b9c661b353509f837306972b65cf886f13120ccb3c826c9dc3b0377f8647f6e9cdf23d76de3007e860e52f0d141b0203ee14212efe2cd5eb8caee03030acad5f14d2348d3e28d3905561e2dd852ce8e5f0cd801b4403b28cafc5b6403c54e69de13e55e26c928d7e63bf698eee099d9f807efd2432548bdcfe9b2155703b20db1329d45a0e661b625a4edbbba61141971516740f2cd2880a3365f661ab0035e1a06e4c457ccc36402c68cd3204f6a1876142ea0d5a4d785f3209aaf548670030a4229e8f37617769caf53bee910f9adab8fe8b0508601eea2e4a61e487e81e0033f7a5e0829eb52707c1016d6121677e4f7c8195c05de97fd2599ea6034a74b580313459baa04b05b8d421bb3ab1189e237ac3bf9dd532d15bf508bcb173d0b80f3034696895093c0ed1ffe9cd49c8c7fc03de7aa2d99e9db5e0950f4d9dc7894c22703a44cf2c1ccd5825ce0220854d3f0aa8e4cbd743bb93c2f32e9e2811c7bf3bb28030337ea08e1d88b9cce7403e343d9b622d07dc0014129009ba59de2488a8747e40384aebbfcc799f5376598e18c6f8cec2ed6437d42fb4b9c2655d692c996a6d0f50219ffff033818498c071c4fe8beb104ce0c5b8e19d0f79f10e9953dcae5e0a252ddd7bb2303eb0a71ab249a0c0bf45ef1cc523a87863f8c5656827267daf9cbb865c993410f03331d6e6563b8cb8f25d7ed7f29c2d45fe7dc73a5dfd9319fb43c480fef3d8a46037e40bb47a2108550c9a65e55aeaa31195cb59d047532594dfdb1f2b3680b8d8b039bd54dad33178c62b2a1e8c3130bab2ba1860ee2ccd58237283174fff6ca4bb903fb2c9d318abb3edf50c4bbc00180d71d293fddb569acf9583afc953944ec916e03a6028f6d2ea886ec26fd07e617a8207be0d91e163faba7d6f17a99ab71114aea038042eb3eeb33a3db676a903be0f6e396d8ed309ca7add4ae1b032698d9ce0870033f9d9eb83d6cd87b8055f6b48b596be54ed5f677abd2afa44308334d66e3417a033a3e02618ceeef9bdcb8736111a5907e08903b3e9095d0d2e9051dcf4a302efa03b1e2365e1197e6338a07fd01c249b5a4e5203b08004032ea2e0da5941983b9a603747843203ed085bf431696aba0bcad2071e641e4e2fe3dd358c2b962eb38c78a03a260ca5acb7c82b377a750fdc12b6511d6c7d7d48adc67ef0d2e7bf86aeb18010219ffff03fbfc7d482f1b5e8a07d0bf8c53459e9028d915546adedaf58c057e8130f7dff303df25439f78b7081a3f13f53d608e6b66815f71f633a1fcded53f6350d726fdf90341e0257cdbba9cfd7d9d74d0464c964d70fcd969d843c1f4ec2a584e41f4cd4003fd0a73ad5988bda0bd3b2454bfebb033d64e5b09f68dcb75604af8ceb895c4cc0219ffff03832b00b06a5b418fd2172be5442f8035d1c9ed50141929a509ef498c122ccdf7036895142dc9a35ef07f65c29ff62bf35e6fb31020dd1d16ea0cf343016b2f5e5303068900bd02ce92b97660db1559b4ad16fb2aabc6945b4a6cf45acc5dd99321c303ee94246fa43087dce09ef7039743553978ac90f183505fe380aaa54b4470af880304935fe239d4cac169b862c248aa74c4fd6fc1eb04f49b6e1cd4c98cdc561dfe0386fef4a7b045b4574750a3f31b1bf1667dfb1cb8a9d3d025a276593154753b77035c3182fb3c8fcd478452b20fc78cf6b5838e53f903eea303b627f7ac3d8565ca03c7c33917c8a22d7d5055711d23ec6876fd05405e829e9b272f10cfd611bb1bc703f9c0aab489b97eeeb5d9c959b1d88092b2ddcea49e0b7ff81f0290486bcafd7b03e2bc6775a674383c3803120e088e13a4b74c7bac640211e4c29c5ae954452136031ddad58d2fb8acc2d62713cf2bbf2c4290ae8e55cde259871a81e5171ffae4610338537992f8fd16b1f9cf54382b02671fa22b3c91e67078b5ec8ad61bc3cadf3a031eb04ab0d324db4e9868e7bc0756d499ff53344ec8b7b67489223640c28998d60372dddeb07c75728b89d27cd127aa3ca5ccb2142caa9cb5b180bd771981f596df033b2e4121f201f9c95db280969838b69427c5bdbd936f6f2db08927bf5cab589e0398cf85854a4c2fbae756bdadd60a464b27a047e7c9b0034c7faa07cce80fdd1b03f118ad23f78f708f73bebbcf07ceeb20dae1910955db6b864b8e97b19cc6c479034eb49f04ff8a09e111c953fc067cec30cff61a90c8bdae47eb8eb30a7bc100a2034a52e5ffc09873cfe599b19902dda91c8616db163bcef6030f424f7ed60f6048033dcf818f3d1b13bfa6704abca4a7feaf1b3fe452716cf034b1543fc62d24ce99033692c8965a738c314695b29937fbf0f7b76c986c66cdbe3dccab6fd1c672f8be03e8020a027b82e77677191a377323bc8980eaa8cc2e6d0ea8a4f257adb9a81f0c037ee7a9d355717cfd78c990b7d8402d9648d8bfd12915dfd86e0e7e1811831dc30392db9877779199263a21ca79dff508f2ef8475630e2bafd052fa358a186a83f903aba449fba7342fe5d363e2aae6791d735c517f3dd8e2c7d295ad6949d518a3c10318ff57567221745bc4d2bdeb558b198fedb08d2179e76c831fc1701a0ceb52290397f4732bc038292cb49d9229c47fc2188934df3aeeb9ae876b81bd742354490f03ca48759f7f0a95f6c3564bba58677fb98296fec95201c02f5a7db6f1f054eb2503d46fd7c59f96c6d5eeb72cdb96442197b7cd6eb3cded2370d1db190011d8b665034dc188dd6234bc76d510cbafeeebb8fa7384ce6f2a8eef8bb162751378dba20f0371d71224918a71d3e26a45faef0db82349b2159e4d5985b5e50ab223a5831415031dfbf1f192ceca8ea430a7ac1a414542c7440e0f31b119be439d6d0bf6a2aa1c0376dccb9a6d47a5f3fb6ae1301be840f80770c30edc9d801058d7a1f80acbdf63032c6d33b93e83ff4daab0e20adcc589c794a9890694e52d1e786e6db918ff8f620392b4565ce58c3d13c11f6793ffeb7f8e7068acbc62a9e3c772ed69da1146650a035afe0167d2e0c241cb31b1f51cba45e223fc33486842a64a2b6b8f672c64e30f03a583b1a94348860772877995b3a6b58519e289c8334b807038366fddd8bc075e039d747c9668933cceaca05dd3ae52803ddca9b1706b27f244e0893156681d076a00581f03bfdb2012b40461fcb4e2a880a52bfac2bfe8b0b58c9edfa984d6c0db9e604101030a67c4fd12892219b5336fa37ee3d5c1bda0a90975df4e60ddd50f5cb52d5a9000581f03ef4f599ad6ce80d7fc663de056f6b29483e5f07c81ee1fe23290ff3482404401287aa503f08e8b3e0928633e5948b18828a035fbceed0de5307f33572d52801ed9063e2a03b23622e76c4236857211befb81c14586ee27f3f160ff7e0031ce03611fe474fa00581f0311b79215f0ccbece0ba441d4f7531e58ca6a9c95dffeb00ae837f742580043ec66c3039da62cafa0603f2f86491dd97abf933bd0b6cf82d210d61d705c1351d6f1ff4b00581e020b86312e7276d4c2332c2693b06279c3a4dc10012964a21e8b22b91e68581902dff06808f6f70000000000000000000000000000011ca3e900581e0261fb0f9121b684993f02dcf5732762b47b25773c856a5386f25bb0c166581854a5a787531c6c00000000000000000000000000011629d800581e02067732a43e0b058cf933c44263c5d29ae3d6a72c37d3d14b42ef7117674a01ac7b6858c9c2964b200219801800581f039921d0a821ae17437b7bda8f850d45e8222c319e786ee79d317fdad89570581a017fb5595211a5896e5000000000000000000000000000d0d9e903438b217eeb6cd63066056997c5b19ba758c7247e6b813e31fa41ac1afb1190cc035cfc4efe966fe739693ff09ea965a9551afe7266190a3fbfa487c6bf71c6ed2f0219ffff03032fceb716e3d61216ffd3c84c2764ae4910b910636dd185ea2d8be8fecd55e90219ffff03736c11d5d888c1d3d1818d1c81a4b4f37fde985ba8dfd6718b7bbc8252902ca50219ffff037a43ebfd31b9b419c0b28c4e4a4bdd49574d57161feec5ee2ade47172b175efb03015a747c449a856c87f20ba204c521389de058e0021f22a9b65a722f8df325eb03dc71fba969e69c03e7fbb23086fcedb8b3d09eb64b2d4b48ed8d56a0b3844c8c034becca45233e6551347d9ca751488ec1bce86c6748aedcd321628d64f514c51f03cf39f56e13ac7be6fdd412ac8d34c9c44dba157830c0fa27052e55c1dfbc630d03a5926e79343315f2017dc3e66f9d72f27fbb0db7d0ad93c1a4b6c521ea3bbfbd03822a41dd35ea6d6252521cd176680e7570ec6ea3d7e2c1b32e9e1555bb0ee04703bc19fc4bd95dae4806add8d681598a82e4705fe5bb68b2f26e4aeba9faa74e3a03328c88d55347b4ce632cf0674c89ffef853cd8f6fe82e9d58d803ea6a98c472503de644da9d373a63fad0164d5697d198603c92a5519b9f6bcda3f2586459e247a03abba19c31cd8252203bdf782788be845f7a8a9915a68078cbaa42d457e5833d5039e363b2e3aa1be0261b68d345d71ba6f83e5c5bc0efd1925797546971b70c77b03f23a5414c592c3067f2c5304bb498f5f8b24246931564d834c9e98e6103953730310ccb44c0fd8bd8e83047e74bed43ce41ad9eb99708aa1aee1a0d991a250ba7203de0a9c0cf4b55f5d90f1275344ae1c4b403d7debe4c1278dd9df06389fdd9aad03ba4174e9ed7104e8be7b8b66463d55c2c64d9cd8cc906f444804a3c0220fc06f03b88140b4405daeae0332450779278ff8dba655239093c214de4fc972c2f4c0e403c143c5587d724edd22788b847fc678facb322d9ff7668d4c6c2741197312c23e0343bbdbe7cd2e127e98e0140b3181b1ffe0e87dbbc6c9f4e8ee30e0d745151ca403f1cbc7e081b59e52d33c5921eb933c04bbbd22b73209de23d4dbfbea3b4cadba03066ba240ba969778fb4741e718aa5c41d034347d0d25bd5d953e0198682206d20322211040682523319ed2919c8b79709e5fc5e0bbdad4b6048e059905c1be685d03b6414e3c99f11f706345df0edc02cbf7ff2e94e4cbe894f80799fffbfc822d3703ee5322abe3664283064bc9e9e23d6f9507723e0057d843ce886668c6a6be6c6a03629cee8b8a1dedeaf0e1d2bac9db9b608bdf98b12148ca5c585b64aea8622b6803ab9202ff983f4d81442c88903b2932775c27b4d8eb97708ff714c0c12f12a66503fa96d9a2f2ed1affbfea5696d07c8cc0ca3bf24edd241c469587b84817f10d24038378fee38a6c40719791aa3bbad158870e31d949e11a94196ac487f42b83324903e6c592909c7d49256eec037b79db06034e69646b0554b7aa2727974814eeb15a031b79462ce4e2b1895ca9ebc0d260791798dbc153d6b4ffdca4dfd026af2c00aa035abef1b93615e5bb4fc48fb1cbb90f05e545439d52b1db58bca29ab2e722aca70376c26b9637eff6b04bb8aac072725baa5da0866f6f9c0720953dea822718aee603d274f51a53f4e414062223868bc301dab53e4c90133ac1dd6de615df4e3145b6036c225f587e40b19e93e6e0481176a06873b2484b22466fde3b49bd075ca2e89c034a67e7460d7c192ff4a85cb138276de05222c78d21cbf27ce7d8559683d99cdd03608174092ed78c22313b39511504e14e44ed5c843486a0678c6d1e5a61ccb75d00581e02a58a19b747dfee6644a33aa083b1fbc8e7e057209004141e58ef934964581a073558f27f12350494000000000000000000000000000129bcaf03a23e83e7bae45551fe5676bb076b628d4c496ec60f28f477df0dcd7e4ee8cda100581e027273959e735ab98d436442c913640f725ac060ca373964d20ec9320786410600581e028d99f1d612fbb2120535d2c56da24ac21c8e924a4c30bbf422c2845dbf581a04ecbee11ab92b7ef46400000000000000000000000000fc966f00581e02e6521255e9e157ef262aa8b69ee31a0784a6cea4156c3bf4f4e79e095a581a31ba36fdb4fa488b928700000000000000000000000000fcee1902193211032ce9460963524b227181c42f58ad71c5a1cb88f667a007f792b315bf9b98ee9f035b50b5a6436711d7efd35ae4d5147d36ad0b6cd36b1cea91cdf6d37b774cb53700581f0385a9f8f0023afaa4c7476fef847da098035691c69fbfad9343392df9b6d0410c03ebbef1742d5518d8d3a023968af4c0dee6c9e653636f3d8816ac2a43ab1abb3600581f03da8624666954564c54d01f71a8e9acae1dbcc34490cd4f2b7f8316b841f057c3ab3b272d8b4d0000000000000000000000000102b5c403882def7da50ea96d45e8ae1de3f0508d4a864f616aac92703478cfb88ed2f5f5030ba772925bbac0137c1b322f496441dc806c6c3ce22218d804459c53dab916bd00581f0350bb6048644d4fa6be98c611d70bf87f923c36280353d266f74a29f59580581aef881be0bf069807e7dc00000000000000000000000000d727b802199fdf038749d53253ce8391e78fd2a303a8a0c18bd9555d3d08f550e79ad06baa7281730219ffff03d68999782b192a67aec98b863ee7d722431b6091fbc0f666780f4354ad5cd10d0219ffff038804066666253a6a7827f13e079599a2c61b89afeb1ade86dbab1cb9ea51568403b260084238120bde8cc912730a8af7621e9b3445d1f40acf65d3d5b3f3586bf90300d57f25aa73f2bb6b6d74ca526073dfd2581f8a3ad966c2f7f1235482059763030e4a84a0e744dfecc73b18158d7a01e3fd60cfa74f71111b966162ef397c2b92039eb1c63c4090c778c63cae256af0d57cdc46c3897836f559aafc33ca9b902cd30343882a9a48ca4f21dde339e6b4e006d136d689a1bff755471721be7d57a62af6033208718da9f35e28cc33dc3c118b3496c6a1b5a090710d48993135d1a5ffc9a703111ed2968008fc4936c86806b7661f4a2060f9e4fd500ba073cdfd41cc3a8ccb030f721489bd7c84c2a300ee66ca3b2fd68c1ad3d4b8998dbb3844aa31465c75260337d76a1b8709a0fa8c269838b3c2ea795aaf12a7b1cbf1ea34f353078254fdf403fb36938bef6e4305d33e16d2b13858a7d38a4a8682147906619e59b40ed7b85d03a04806cb9c7757f6963e31f59a0171396ae0cc770e41aca9519f24ab04abeec1031bc3da2fa3d54c1f3e108847ae34d0736f731a0b40528e2c9595e652fa3761ad039c2dc7259ea6320594ac001de5d1b953b544c3bfa50d12228bcfd90de79dba9003cca79e3851e2a0d7ea71d9bed0a50c160634d8b6e708f6c0739585db3adeba2503d1172617e713376ec0bffb3e8fd70825f947abce32113bd7acb3fc7b531d3d2703e56886e184e25d3d5fcf204040ce980e1e13d24c52a64498825b8bf79d95306203fb2540afbf410f6614f006c95a946f71362f1a2b2b3e773f55b538ee4b74a30e03bea4db62276e7e0a28d7904c5ae8ebd4024edcac44ad8f11b3c72b6471afd46a03f51b20c2bbf864b77887f4c7ae249b9f1515c69789da7669a96b0c440789cf380304cca15d3f84150cf7478c3579eb894e405084a6f9157675b94b505516560a2b0393bc4e622b3bea510d88d88394a6fd9f6effc54e51d795b25e1177f940c3c08c034ed741095150f93b107a34b1870bfff76ba9ffee13cde6266f8f8921640cc23c0392f4e38ba10cf2a82d98dac4b82f05a7fb27ced2239fc7d9d940d2e22dff06cd03fc49ece1cd9df858393490aada7d47702d4f89840c5a3e8cf432b9aa86fe1c9e037ec02a7ed0fcbe3e2cf05b6dd96c28266aed9ad18c3a48fd901d844f240bff080304af1e4f58777ed9471dc09e3424e02619e60955fccbd1fdcb0180c3feb6e630035ed32b9f94e3e758d4381d1304dbd6029136945af95d597071a5c9187040a0420315c780d7685312929cc2315bb426c9276fcda5aa7408e28b0fd9b05554f1db1a03e89262916708263e2959ffbb75eec356fa9afd1c517f4f8479cda0d2b000fb43035949c107b68417219eba62d06fcf7b94610ccae8518524d28f463ec8064da99a03bffabe7cdd3ba1eba83480fb50d369f3dffb90a6941f33571b9964186d68870403444bc8779daea4d492156ddb57f986da1a72c899d9d72fe6a1c2cab2212041f103ddbd6dbadd3e95bf03ab255b891f3e4d0f7c010bf10019b9ce588377a4b9ab7f00581e02f29dc9ba78f9e863b4fa2b256864b4bf18b35ce8de26cee0a2d1e97fd458199abfcf85933596000100000000000000000000000000cc0bf600581e0265ddd230a7a2fc859aec1b1179a0ad1240b50bc13c1e28cefcc724c583581a046b38af6f77e0f9dc620000000000000000000000000134d5060219310003e43383889a6a53834c9aae6188019aec781f37555b68c8a6f093eb245c75e90100581f037f9fcac98ef7869d4ce658c197cd89bb4a2ef5ba393a1eb407736642571043dcf2a4032927bb7508706f83081f7831b26b67b5fa75a1445fa53d12c22e659681ef3349034d64d4530ef3616b202ca5625eb826196850d2307c0b601a4620bdb9cf4add9c00581f034c6541bb001f2af10959e82a2d8e4080049c58fb41b7f9409818a19a1560581b02e20f0786450fa87c6cbe000000000000000000000000011f015c03321b2363bf3087cede24c476a586b64aa99f776aa75bee3eabae5e6fd7af27ab03f03ffe71d866fd5649b179bd055093262342bc47f5d8f361febdb89431a8bfba03461d22e5148116344a18ffb73a1795fecdfd68c1e85be27ce0a43753a8c513f903f9c11c9e7ffdfbc06c39ede0eaa0227bd506c6115c1210ab525e8bf28f7c1cb40219ffff0219ffff03264513926648ffae93de685ebf064b348dd9cd19168433beb3839ac3e01bbe36037585a07fa9b02ba7bd5496fb8b9a434dfca71f165986b0577364df3259cc965803e3822c774128c10a6b0570712eb89025469720b764ed85da7da80acb99ffc343036d3b763de81c3847792e90bfff722dabf9b74a5906ec6cf95973e81de9da64c2036fcfa2655dfad89594a468125bba62ad36c5d6de78201f1923d84944699164ff03925fe16e2cc5588f3a7bb45e49a47495fbecdc105a4d3dce93d0d0ae6e6c3caf0219ffff036f2dfc3ba40d513f8003a907e2456f117cf0055584564a21df84f32d767f89ec0219ffff0394dc924d204c28db24d5ed095cd5c4337b197986504de4ea73ac1a4a36161ca40393cf37b01df31f794be23a434adeb4af63e33bcf46ede660fea26e0c84df45a90396727c3a67b32abfb4f1b7fb13113c5fbfb77ada005e5f612a0337ded392b0a403476533a4621ecb0af8f6cf7c61a2dbc71f76c0b150d2a542afb12319165e0340036a44cc5e58ff9cd6d7a46c8ac3bacf849ec49df93e98800fe79cd32fbbd351fd037ae9378d16ed5017e2d7edc29df119b4f07afba3e604cc7b3c187f5e29ee07f803d1941837e314f97940270841182138b9b991442574ff069a8fe3b8e3fad007de03ac5b93a8e6b64f2b55aec3b25b0b65481d38d0fa8288fea103a64ecf8e80aec7033068a91680ba044fdb6603fab50fdc4bdb4cb3fa367098ff729d1f64d986feb703ddaf9f8e00f2509048b8d72584846657e870ca2c9522a280ae7007f39577b709031eb2935de1cded5071e702abcef293be7fa3742f2920d6a496f006ac4435ff03034f0596c5cf72588d6491996f1699d1b77e682188067b6bf934b5c9c087710b9603f363880bca4915056f5d949c2b4844a3ac3fe2a0c97d49e70dc42f73b1287129037dd6dbb24c0243920b5b6e7d9277e91b898e1bcf6f2b1b59939b37629b1c5ca60375605a189df977b2d6c09e4207370cb305d7d22e7058ab6a44eba8affa222df703899a5d94d9193de31e8750999cc1cc6fc05533cde82d07e16b9ca012fe0a564403d588ab5051063d27dca73af123a61988cd3e1951a29ae4125f636a4e4911bcab00581f03253cc5fe93308df4bb7bb7d0d0cabd0fd905adfe7e28a241adc66ebe56b0581b25d791d878e436f176c1e80000000000000000000000000116e68c03308c1deb75a2284eb97e87f4b48a6d03a0c4423a88b3b995a1f501d35f98e8df036b9d3321914bb84c14c58f28c0b5c1f018d2c3ed7bb9bd157a3cced9718a672b03f8104001fa5536582f930eece9b2d1ef991996476c31781a492c0cbf30f0a54403817945469bd43c7946c9a3117792d726d0fceb2f4799cc5f652064c5e39bc2270392386262cfd390488607b617f9c6e94a603237ee9208d1434e91afa960d3fe5703069fb8e12bce9632d88f736b8080f51292d45c811e6fae2b3f64dfb31dd1838803ddba57bfcefc8a9d1bb8e8ab35ff46782cc7178c709a79eb6bbf3acfef9d602a03dfbf39544da54130d2eecea8d3a13cd4112750931f309fa63c470513eb039e45030007d78530d8a43c621fe29ba9dff12231fe9bfdff8f8230093f1aeeb007f986037ad72912503f38046a2d73ea87f6bbd33dbab63d37d4e86c4720bc945a835a8800581e02edda065adbd392d249b237f07fe06fa2f5d4ba0128dfcc1942a4c7b137410200581e02a3e9f6775ca00c311a34e4ef92cb88a9acb0a1f520ecd82d18b3a910fa43cdc15b00581e022f8cbdaf60ee05d556768f5b8113a8c32e6a3fd333502fe7b331733e5558199ff95a10ee91bc000000000000000000000000000000f2e8a10354f01db35edb6ea8f95da721b8a04c01a41164d66eb9d61615d187d29941c25e00581e02da1e865e2fc084b527d010b5acf7c1b4819be1e40e2dd4df4177c58f59426ccb0218b6038a2871d21664e33a80947c33ba1fe909414bef436a8071eb99bab6db4fba155a03d6edc2724822a930361d396857392395cd3df329210bd619cff32fa367a0d2af0356f8a6647e0a02c3b24f2909d0eecfd585209d7cdba5f89795a6ddb30dedd9a60219ffbf0317d140004092a060d3fd746fe49b475ea88886093bfc4266cdf1598429858b710350b2d2c1fb05598babdcb5391d2e78aca8b3be65b8286b67c9b699463f9030d603c2c79ea3c3e9bbe3c822bce74149d49417bbf7c070db517a09ec3cb39972c5f1037b62f1a06b829f18725c616f7c4021ef6a08e105e5c56046ce76b2000b5d4067039578c59241076b0b5b42d177ead59d1d3a8b09207faa20157c24d66eb6bb59ba030c2abaae0f21d0a526ddc9ae897e867f007b07a029e529131537dbeb8a8a0d180219ffff03c6527ef51dde0dc111b0c6b80ba53ec1d511f03ad6dc675115335605bcc2d5ea036c8b1b390b6f46a9c2b9871cf2ee1321f5da78bafda937940cce9d54331cb5470342d7a2be4efda760e7a60f3ea87b8d7980559083adde81450024cc957c4e741903502e037ec3d0b1e97913c750d4618f5dfb463c1faf331853b40cd1bbe4e4789a03833cbb6c3773dfa86833a5ea419e07a5b3a843cc3867aabb480bf444a4918d3a03b7e4e85e96e1383c42d5ab8cc4298a7dd87d17bd1c55aefe05065f4d919706da0305dfeb694343aeb5f010be278883331799083b07d3a2f8c1eec9df337cebab8903f0083e6aa97bddbcbf14d8d071c6d3cef8d9429e7697042919aa077e972fc7c5036f59e57b7da8a863e0dcfafb9f36c7d9598610a0495c1c7d0dc560da220071c20351c00910619751ba1a5aff174051f106e0249e0f976e5b15877e8565f224be2d0219ffff03dd0da890cc5f19f5e996ce644e0e3497702a82b0f4f7dbf4d614e068e13ace5703203541e110c44fbb6ccbda902b5f8b87ba1f49335c9765c8aa5f640d49f4d70a03fc956770f8bcf20e2e93bf882a6d510fa9d6f18bfa0b035730662328c216026c03e565d1d64010c16d630186b7cb5120dcf7686b2f08ac006163c388db6825db6a030e9e9359ec11274dc8e65cb2dd1b9f6d8897326a1df5d439841f4068c568a84903b141884ac5d5ea192242cc958f3b8449dcf8b2d36b26b704a44aa13013314bef036b33b8bde75b502ca77260bdfb9fab0b7fc05aaa6e177358ea2cd1642f91c1460350a7bbedbf193060dc9a38adf79c14bddc5e3d84953fee715125fb70e8e35c6603decb353f5e4a242407099143f796f55b811b67322e78a5c8471f14fd83192d7e037c6171d86cc3dc3748d883cf987c08ad4d70c203c592cf0c05b59a88c648059803450f8354234820573679c334d0bead1c0dd1c9170e2bb7cb06028074105da573034c8be43ff4a16b420a19bd6b364116bd744a4a284d897c7acd1bfbc3c7c531a203f1480987e829c66032f3daaf1d7760c8815494c5779809ca467286597fbad8b40335e5593acb40d049da05f689f814372adece24ce4279c43b0382bff47cafddcc036cf887f98b35a6218ca876871d5b89a108c67813b5b90c3e4cb63b63017deb1a03af899a9eef29b8c8ff90399b61fb88bb7bcedbfe54b9e213709e2ce2d0bc0dac03f8cabd2fee4a31109b4c12e977c0d4a8b5e6bc71e7917b1941655b05a0f499c303439eb09f91293f85c4506116fa4c0689305c42331117cb1fc0ee74be115c183103da75abee7b9d8b1e6aa5044afafbdbcfa280b682a16fb2b67bec088eba765f9b03a9bcfed9698e99c75797d3e1f114492484f3411beb453a0699aac033f0aaa7e800581e025c50486b8ce1236757a65f98b4b917cb7b00070102825e09383a06ac3f440132e5cd00581e0219eea1b2e00008c6d651764e78b2d10917d1d689cb89fc1fbe1afcbdf34232590219180003ba649a51f428b78d3eba78490cce67e55d9cdbebd023ff0de85813d9a881694503b61a741e128a6fcd169be2810612c6d4cd59296824a44da53573d39a4d322a4f033cd690e7e5117eef663d2b713bc59d8eb9af754b6e59e8a214026b28f215b2d7031f12a7aee5e789ce62eab3b4299185d480be3dda8d4c68ea3f077c5da0e2b24c039eddda707329d7153af059e1fd4a1daf9e18245468c7127c14db17de87a23d7b0343ab91db85c4b33a36db0f9818a35a9c9f290c620003ab4677a24440ed89e73500581f03154439b6fe9c5cedab5e9d3079dc159792799a6059d7154eb85502348a20581a0a5e46c3f4e08515f2ae000000000000000000000000010e545703c94ff8669117fb519644d218f3be3351633f20024ceff2615754db4f442110c003d78983820b2a765bb6188bd8aa8e13ac9759ee378304aa981fe0abb9f0034a9f00581f03187dc778cde87f1a50386685caeded9a6150e0274fee7fc6af435067f890581a247c309bcfa646432a93000000000000000000000000011bab070219ffdf030729f91819b2c19476b5a14baf42543abccea8b5e8c9f0144119e06fa3004d750397bf7a8c045a0ac7d803a8d879550583364c7300f35ff12f90d5ed13340637a4037f544a1bb3c9912f9cfcd0cfc44323f472e366c0bcabe887cb397f84f939af910219ffff0393f49a73b327bd6faf294e9f639c73eb7531677c0676d0570bbc0fc0a6b7979803a4c5b3a3505686ac584acc922ec494884140a4466547c5598a14cd73915e42c7031c84a85a1e5d74e98779c03a0054619d522d67d979ed46a74136585a7f427b010390dd73c0a5db4fa9884bb9901f72ecf78e19ddc21ec2baa14654e212d38b592703cd8aa41f2b79d6d3085c8443d565a7fd06ab95f58cef68349acece81cd59b5d303b94dd40ad567575210561b9aadc68547071bed210fb81511af7be074dc9c916b038cad0cd9541a4cb80208a7913d3138ee08c4ce2bac53b2b27c509085325c1b1e03dc48e58ef84df66ad4dfb2920f6e9fcf0071d8ba6af8b06e09a0e3b583670477032d2c4fe7c29ad7200cc1f1400ecc424b867f3de8b2d53241d19a2d9bda4f5c6f0317c2038ebaa3c3227a3e79e5692801adb16ac0bf3baf6bd83efd323ee971e27900581f03a5ac7e9e0174caf3ea70ee677560ffe4ef3abbf8c452f1cf6bcb4890e9d044011f7e9c00581e02665a03f2ee2b6db300f174d4f8a958c1842152241d30407c0c7d34907c581b01dd224cc9d86e38ed1dc500000000000000000000000000e9149a00581e0235f5a5200b630c8a329d3b593cef7d1d0d195d13efdcd35a2b4a94d7b7410400581e02d8bc3df927dd0f97b92ae9350a6a6ffda93f8eebb4fd0f75e0ca39b4f143cec0d500581e02964b8fa0ae7d4c0bdb18dcfb3da74d32fc2fde86a04745f164fb9dca0358190113057d91b094b00000000000000000000000000001204c6900581e0280649d9c7402afed440ae633eb8c7a720818336d49f3210ee9fc3b15c843ca2a3900581e02f8685479be7aad7b686ff7a84d8b880f98f8e6b266e2101889b2b3644a581904677f0fa409c510000000000000000000000000000119e8aa00581e0288b0d7c3b4c85916ce0e046841c432dae1cd3df11cf0083541bc9b852444011956df021950b603deda1d1929b10809baf75a17f1be32075626070fc3e007d1485b2412cd6d9d8600581f03bb0ca4e787bb48c5f4a8f5ae30266f6274952f179cc8fa1093a878d0a2a0581a0babdebb38bed705f79d00000000000000000000000000e9a52503d84c18db05e1c41cf25e3d212191a6ee1bea7c15c0b776620b176b1821c80e0803fd38d1060ca074d393fdf15ebdbca4db5fee30de25ebc7da4d03f8af720bd36e035342410ac1334bbc9eded4db13c866dbfb00f7473b91bcec66d73e0c8f150ddd03489a186b6caa53628d5d9439051debd4cf27b9b1f2663e4cdd9099f27ac379ff03d25f548123086c94c0017b54904d29423a7ab0605b1011d1f0d1ffce43e68dad03b93444ee25f650262bcd4a55b663d4f6f4f0eb519d84736847d1ef9302f3b92b0219dfbf03d58d154c3837c6ddd15a3df542c9db3ed3dde2014f84043e88374e8e8e1b273b03335a23600e554ad3131906f553b3bfe1b65dbeeb43e92d6295fcec8edf417ebd032163444e316a0734c5eff20bd5514aa9dc30ebf1bde0c3668df86a941a4b9d49032740cc7972dc5c492dd6436482c4cec4613e8f39aaeb42578d15828b2eb4c98c030e550ca5c7b01fe9557309f9f41b4354e5ecccd1c18c84740b675038d842072b038cf3e46dfc6cbfd762cadc5ecca175da1896d8d87282dd80fe643779fe906834036fc568d0e34c2fca276c3772a54d6167cf01923bb5481aea10141fcade4175f503721187f3c96407893ccb76508b3972c4fc38995b0a91350b3213f9c003838dc203279de1d891f2d6d657322304b70c5842f4b5256e06a34a6baa2f9b6ba7b0cf8a0310c38970b9ae02fbdddfe822153245ec70c10e02679a25e4aca710c8b87c8e720384f72598645eb791ada0b3752d1b5f19e0944817ab5a4bd8f0d7a4661ded780e036ffcfce4af9643abbd567d650df718a68848fba6e97b938fa5415de75921d1cc03119e41507610abc6bcf3d3482fe795ed76f081a9b9cd3cc4da7d7dce264399230353aa0ff3a6b411f394b8578339ee0b3be3fef9222cda9f11b6abe26688e78eb00219ffff037e44e6b331b841b99e6127b388fb7d4a09337d4b4c32fde87ee4a9c52b6b28ea032c546430dc7db37b4bdb216eac64f6073aebfc0c8ceb1bca900606dd05b0d4a80357be272397319899585af59e7fbb4bbbc8807d20862e317bbceee29a37bdf3a9035489f0ba5b96741134ce00840584c093236837304ac62ff1ece5ad1cd91b24fc0318750d2e3cc41ae3fb550d7208916fbba9e9bbe048970a9b409003ae11ab8e0e0219ffff0380e972f49f628ed261755cfc02eefd3913ab80a465c51aa5cbf1079beb76bd12035f668c794e3ec6000dedc59a2af3c29f1edd5a93f2c37c98b22c0bef39f7d1ee0367975196f2aff267365df81cfbf2a791e8b05a4434752075870a01d1a0ffa3110330dead7b4d10dda5a4e27f0dbd3f36896d7984c56c022e434118af27a927752903ba5481fefc66be52c2184c548021e2c99b83c2844a27cad4f4e8ceba0cdca07b03c42cd5c89afd59b0fbddeff29bc9b375a3cc574d0f4c16489e4f7fea42912101032c75cb7127ce7ee117bc1da62fef1eb1571cb500effd5423ea6cfd2c53d0c6aa0351394ce0fbf000841149d0f4c42b3815ed76413880214a995cd556a2672d190a038f94ce784401f0c8574b0291b6cb057568e59a233aac9f6f7c6a26f26255ddbc03507ec92fab7496d9d177e55b5b998f30ce4d704c87256c93250395a797deb390030faf0cd3a5a316add9c2941f656d85c055e2fb3b34340d0c1b97eeb4f34ff84b030e956f14cb0f9d74286d405b015c9392f900dc0a12137c91cb6119cf92e1c2e803edfe01b1320582fdfa2d59b463495c7c39f5c673c28e3e9f82aa71e9ff82663303f02f6ea8e41717c0189605fb7637a71118e3f40405771814b89f41bb77c507ce039808f67e5abe1d7c7c6d699dfdd71856d9a9b86595a884c42b8b6e0893e9d71d03179dd5d6c299a744674e4eccb8dc975f2477c5a2d72552209342c3fc4601272303b1c27924065de4f4dd7a272d89e0d5e161cb4334ab6388c0b09430d64b03254e03aa44a8f32f5505d2ddeafabffd7bf5f25ac3bd47ac07252d1e652f63ecaa7d4a030dc8332671daf901079e9a4ef787b6f4295c49a8f6e8632aa3ecc8a28fb35601034534d40d47760d7ce264d18920507e249b3827ae7dc2f529bab5d9c716c6a8e703976889707894bec0c029f1b0c26d77189612ec156ebb97ff770da8e7f03acd12038252319e366f61a10676e3a896d6379af3dc4b065fa7578fcbe3045bb44499b503fa55e5da41a65e07ee32e5ea45ab6402c29bdef7477eb6b37910495b8b36edce0341ee6025ed01df99c38a711479326d944fc698b36a9c1d57c93583ae71abbe0b03158f42623716133270a9f03545cad5ec7afa6e66885107cfdfa7f3746e8c314003facd3e2a81ff694c7c98b1823b39a3ad557de75dd9bd9713bde8e4701900453003d73a443bbfd97006c86c361c66fc1686503235ae7fed9837c7563f440e644bcf036a14b5fb43787c6fd9a19b7fb06c8b86cfc3657de76676bf6ed5dbbeeead61e9038a9029e6c57a08e504e36fd2e2edbc31a2bcef6e55d4419089e096b36f4f01ab03af528a2bedd88614210d5655cc9f905c9dc01becede4ba1a31584691fdc69036033eeac50469d1bb136ce1185973397350f22f189b984c7884f78650f7a0dbdc9a03519809d4d6ed73ddfd9036543ba2ed6cc82b7e501f8128e9e01ad181ece885bd0377e2303601fdbb4e904e46f314188b812b1672848816b4afb83046cc9ea6f81503011c24fb435a259212107555287b50ea257c6052d12121cda53e16f94d399d8900581f03a9928480d391f68239df006fde4d81cac339541a5d2415bee8285e80f5305819175f56e090a344a98600000000000000000000000000cec0380378ef1a6fb951ba0fbcaf17b3f7cfb497a144c96c98a22e96c6d80a7e72365548037fcda2b1070b7bf3127dc0f3b8782da5d723e227143da47862358da1eb0c62ec0301afd0b058bbcd382d97fe8724fd670a8336c0d5091f5f1bf6b3f0028ae89265036c87be332c3da9b441d7b8c9a3c7f692d97a7eef8e74aa2c4afd02421fac96b900581e0288aaac29dc7eaa255ff1a857e963cbcea528f006a64d428aafeda27c8f5819175425af42ca8f19fb00000000000000000000000000cec0d800581e02a870a378bfbdc9190c56d85b1f23e06cef856f23a38a0eb8f3a8a8b63258192b5e3af16b1880000000000000000000000000000000cb04bf00581e0200df599ca29408a960be25a131c1782b4ea6f6895dc115d8ca46054223581a029dd047e3bdf98400000000000000000000000000000115744800581e026f7d04ad5602d1258d695bdd09615b2f26f244c50d27b8c3c3be2f63aa44010dc3c90219888103c81810ab6afbbb27e76a7f580e4d4939a140c54da0a9bef34b76c459a2ebb337039d25a90654ff2a16223d304b95f848290951d51d9231bfe34f8924ff9f924eb403390fd9c0db920e229e332d6dbd56c2ade6a1c61cab961ad8b221e7a05defe0fd03b2dadd9573d442da796854efa4758ac17af58f5f24dbd2b7baef60b50bd1b102036c9ad3c1de4d17aec4a0c0ce46b839f39633263e4e8acd0a8017846e4368b47803b1a1a824c86cd4b9226ca3587470eab6ef4427889c53b17177d4fecc29e8242e03e1b50565e963885a0ca5a1309094d94431923af6debfdba7087759a1cb8bca2e0219fff7030c6d3b283efff52beacf852b7eed8272d049835d49e993b9de5a67db93fcace603f73c8d69a5c4d98392528f06972186004fc0c8c5b3bde007b1094fae507b2a160320394b5aa2db4d0b392087feb29950ef355092ffa13adaf3fa7a991ea83fa8aa03939e8d75e77a8e32fc7d410266e09978676be7e358d04696c29b703ace6cc516034fbab5d14f8e20231e4e933b9b4cddffe4620e28c9c65417de17ba3dc9cea38f0332f6dc0c4b7557992b676ad79e106312b142b7c167b19c564b4ab656ed0de93703fd48f71bf152f4f650e34eefbb00ca3f6946416b6f75f4469d2492f4b4e0ac4e0219ffff03b2d26e062acc30fc518beb64e082dd2c8c3b3eeb6d39fa902070d3713e40f9a40219ffff0219ffff0316f8e72b2cad96fbe92cd9436e65aef4e2e741e285d03b13075acc684db447ed03b7a2f1abb33171ff245e429ec972505eef3b21d59710dd0e5688eef7a3f3f22d033cf18193d3fc58215a8eb88b72ac75ee7de37268004e8202c95dd341a52038e103d7b6285f2dcd4ad412469bb7d0f5b2d34a1719525246cba7e30e2389726b1f77032fa286d5fbe6af8de6f267b7d01f699dab117a609e315844d0fe3c9b1ce63eab03d83a9549272f853d8d80c971cf6572e06760c5155ce1a9cedc0b2933cf48aed80385f668cff38b73599528e07157fc75ffc5feec0a2f82bbf6b8b025f7d20d970003fd99098e838ad74f37c46552b3775a61c802c0ceb18dbdbb357e9a3074f8970f030c3e294134023f7df463dc9f422f177b390d620ba7ab99a83c00c7c78c28b7f603435afbdbaccf8e184fec094c70bf946bf5c5e64af52959d0ec516a53b60f860d030b4d9ac7cdad2446e998eb04ef4127abbd81a589988971a20cadb112ea4f88bb031982d955d05480c4ff36719543393ee0e68ef0a1b86391367eeebc4590acf2ee0387e7f5f67bbdd91294b0af729eb1b99a29a45f534fd33bb58fe654274f3fa493038298cea90ef28b8ba7e405b57c24a5774617920458924d127ba14447ce21bbf2037db9e5072ee493f4b9e3869bddc9d994d1ce389340fbdda4a2f7af81ce76d4d80375107255e74a025168d1ee8cb90687a9a58b8e386b6b937564cb5802f3d31b13032889cfe06f600d305e13e32b2415f60308e2752b9ca82d278cd45b09392d5460035307f55bc124f41bd0409fd33d72822c6d59c74f123b9619a9b0267da509cfa703e3ed95c3de3185a904af6063f9caac8b76f9efd92cd10e89ac167b2799a3c7550361411097df78210c36718044fad43d0d1f13f60e5b6139fff71f618331f740fd03ccff9c4c2886229da4b4e3c479e2937042cacc6c1e7ce92d77608d9d12b0e2a5034c4af351b2f97d29454142ca5ffbc2d8c3735227259ef3ae0b3cb107928c8b59030e80a03a88cc1a6c29667762b968480361bbe6c16d44e505aa8ef16bad4c0af203e8c566a93a4a06379fee700c4f26a04aab0573ddaa0b217164d88dd43422dc3803055404c57afe21e384f62edda2c19de0519259efb366799ea7203eae0ebe1ffc0394032472904c29566eca680d2664cfb130468f4827bc95fe947fab72c6baab010377063cc0ef4ec2a61ac7901abb1466883ff05f6913b0d516645600d37ca4ba3e03341477f139a5784d83320f91939482f6d6b7ea0951b6acb0280990ae7f719d61014106030a55384ee06a6405cbbb622cc53d3fee9d9adf0254878ad72eb33680fa829cec03e3383da9259cd3078dcec58b331b4c9aee96831ff054853805e7263b7da4acfc03bc9779900364266944556802ccad426c67d6304ae7c3ec6702804cd3f6c3b16a00581e02bbce659d8c40237c4bc04a88971d98f57634c13f5b3532676c3fc45ae2581a02019a3f8c8262825c00000000000000000000000000011697ca00581e02ef814bb7ed9f4e07d1fc020e8e8170cd477e3b7d4927a3fb905ec51355420ee400581e0251b38abe31d3de1977796b1d50b025842b22879fa3b3435104a024996e581a2abc46b91ee0786f391c00000000000000000000000000cccb4e00581e026e860e5f181f1b69fb62223b743fc4358bec0e08b1c338b673a7cba46d5819578de6cc877bcef37900000000000000000000000000c9ac8a02195022033595f7289a3d86eaf5f995583011767368d8b7891730b5077296d9c11be8cf1d03be748b65b95174828d2720d59eecee1748b3316dc30cbd5870b7de35176f6dda00581f032f8992a6fd1e0793c4bb9e571a3619c1dff0e943d5a1808de4df40f417f0581a2aed4f0e71316b453c0000000000000000000000000000dbc0f600581f030c8eff1db25fc7acc3070053c2a4db665a99206ab4e2a11a4f723cb4a1b05819040de6e033b27418ea000000000000000000000000011a04d60219fffd035555a7104c60cf2b51edd777ddb72f3c1f46132941fec06fc94f5926245e2fbe030a1969eee2416b730cc668fee99fa4e10f4456ff67111b1e34e8534f32cbd2c203de3544d54379f6b57ab2de7e6e966dfd290c60873ba568edd22e6e3f470c49450219ffff03bdfe73721c28bc39d43934e9827a589c3ba5d10417f7447afbf88e51d034effc0388f9281f3fe102bd75fdb5d26dd8d64e98c7e4b881f45c359fb4dc87dd5cf30003b1c67768cb98b0bc621177c53885587f3ead203befc33716eda401a943ae948603e5ceaeaebcd8ad148e5abcd99006364af17dff51ff486ba00827a0c9aa462e3503f6e4e8083b3412ad97d185fbdd72b44031d6d47c4e7e37d054f7710b33d9bd0d035f9c865dd2e045707a02c2458056e6f112ba366a7463d0a25ac088418e4e200803749e855aec106f15eaaf4eb2088fd8d353aaff10c1d9338db668c173d4f8c82f03921eb28aebc413e5666b294343a8cab0fa2eb756549d67821592231911e69376030d514eb81659feefd233ca0c4b32e49387b60f600c0ddd84c4afa1bf90844c2d03a1f4419e0ca5deb97c8297a617692e3c2021366feeeadd90213a32370687cf550219ffff031458d65aa37dd66131eb8aac9c6ada593fb01643d736ff9097926ee7b344baa303b6f8f8bbd04f826f0a96625876d4866bc029d5f7114162629b686b330300069f034cf5a62abfcfad30e47ae14ed6a4a4554b4db06bc3fa80a485e3b61af6cf42f00396219be8a6741f1d64c2beb413b605b8d8c85021cb42b591b70fc42d779872ab03762b40628ae6af072151f1f9b6b77d04ce3405afe7b2c85ad410a94aed731d6803c7469afa0772668e2a54710a6b91fd421c3a7105d15dd54fc6d0170912219bb40396262b9aa180805d3cfa23c62d509e66e75505fec9a838f17cebe2357c083949034c7f6145f38f4a2d1e4860681bc624af4e480c6de8dab72f5b2757f64e9f149e03e113b4a2fd52418ba0b9ec65e749f8dd9ef8660449eee1f53e255ce3ec868d76037426ceed85fe360a88f3d51dd49381a96f17e9952d20beb19e2f90b1e06c5a0903e725c01d86831e8223ab5f81fdcab6d0911cdafaf67c7704bc37e9e796d7428a0308a897f822eee96c74651623c52f0310ecc01b195fd45004b096d8900d9aa30e03c843dafac84fe67e26ce3ea03c34f3137df8b172ae251157a7083b68671629c30351192f3c06279bf5d1b8230bf87dea1f8748cb342bf7da01e4c79f371a685e1c0391e22942a7c6b01948b925cdc0f1b8b3020b1ef405313f911fcf146039032bb50364e78237cf5130825946b38138de3e107ad66924538f75d923c176e1be944b3103ee188336df09e032ef5e075aa7d293ade622aa678bd4bb12be53b9a9ff71c8360304464a4392957e47acfbb511116b80f079dea7f98ebad4f58bd7b9347231a5ed03c86167f5791ab27d40773e54a2414b6006c4f56853fa9e8d25ef1884e9048e4f030853f4853c70e679bc7bfdbc5d3ec5b9bbba22fde8050a4d0f9fe52c07853f0b0376f76542cd9764395785aafc0089d15564bab8a4865cf3dd29d4db2b6348d5580335ae0b7c354aa55e851cf8a21bda810f18ee49a8ced44721fc5a9e32e586ab3b033fa2fec47b297f6d471a2b445003b246dcaec3035a44a26ed275384e851a92a803f127f07f6e687394f88d8f3df3ac571fed1d2ea33c7d666d71a66d7d8e28321c03d77e74a3bbe52f01f822d6582e77bab23ca33e96a02e5e6b7c78898f1d5273fe00581f03b402bba15643beba05a84fb0cbdf7275a427bd17540de32515d3d1d30950440112853d030c91e71d9aad233c7a8b52fd502d76277f5f7de082253d007b109fe01ef574e600581e020444530caba8451380e9eefaa7af6b4f6800d1dc113597b6d5e6ffde06581b01200284e308357e5d8fa10000000000000000000000000104733f00581e02128b04705d1de05228ffcc3549a29361111cf087ab9ff1dd5ea9c3d7e94a046b38af6f77e0f9dc6203955f3ff255552f3536f98a5b029b2ca1cabb78603c49c3d65abf72c68ea6b2e302195040034844d01c7b8b9ee4e3ae5bfec5a7ed6a42e371dbf7081ce92151fe254ab0781a01410603940e20ad090a19ab838dcbddc388e2e2ea2c2e8f8ba2228e16095740b67764c60342fbe33531597c94937bbe76c75431dde566681739454f7cb52da3ac50c3c56d00581f03590c0d58dca3a7eaad94272325b1447c36da19d2158580d5386729c8972043c95ce803e532aaa725b8fbbd29adac48c5987e63756236e7cab86d5f6e52a29c7b32a64f036bfb656d11b4b1b71ea930aa6937f48633a2dfa8f5cd6ecb21a88946ca63b152038dd1ecdc6c4f2d066cf7132f535d9074b2fd4f32b91955b3a79701678a4a7b850219ffff0389a4b9d609b8324ba380735918cc514366ba572db26a0e65673819dd029027510397af902ec0e53b59559405d2b77678d1bcb1cd5fd54f3889da5176fbc05d86060366f5f058036c59b8fa8091aff08509182ab6e537713a83893247b64443383bd8036c8ff1e044ac32bf81a3d965c819080897f6f24f219f3fc4179d7e2802a9c2bf0325626d28de0f10e50c9fbed72cabc132f1917e8f9d15fdd1b64be5de3e08282403161bcff0a016d7bae226f67f4c5c753424ac4238d37b655cd16a49f4c1a529be038a25fa882b4179579dfa90d14b78105c3f04a8cbdb2371e761c51e8000ea2865034d058a00d185537012bc1c0c7fcc45b0138fbe1a72977de702168e32193ca11b03531c73e3218216d57eb08560d79740417a942e869d8bfe29125d9fc0c1011df00219ffff03b92656e3bd5183710f9c73f7a54f6620a96ef51e460fdb8a86c7bb3c39ec739e033d1293b4cff18bd04b85f43d3e37bba88d7226790d16dce6afdb182e92effd4803b48cc5f7df576676b1de7619b0b990c4a483057eb6902bb9eb7f8d7db62c13c50368a9a6a7c18fb8d4a799753b8896af62b0175a031477adb02ca3a9372f8bc4e503277c1f334f302dbba6d123ac611631a98c983084f1677b20a245a67a74234a10032a2323a43514a1d3eac7d2db5d907c93fb5337e900a0f2e8f89da0b6583039ad030f69cd7e21885e555b00bf0380a5738d5fa847d4591ecf7b0ece8d6b2e6cb61b033472b4d3a1e1fdbd9ec709cecd167c72975eee7aabe434763703914edafbf98f03d496c914f7a0c7d7bfef8e55d42e9e5ce989fe5420431569f093259750d9663b0219ffff03d85e3a62b0bf2f6a644b7b032905124b6bd95068049b3d1f6e5d8f0239350580035840beb9ed58e57972c9f5aa008769d476ef44d732ad0ec03bf42a48dbd26fee037b1ed01596fda9ff666dfdbe867e43d18b1e0a6ca0b75e247642dd1fe52087630219ffff0320e94e9b8f635554595367f14f3c4ff7a84eb901825765b0acd456c092f4f51e03bac87f58ce98af9a313a2fe01ee81d8df63e2fbe737729a1e781651a9b9486990331e0188ea87f0c9846e690f91a8434d53c3651faed7d78090c3749f38438f2b403c248db5001d5d338f18b1b21ca5c20f132de7c964b70aad1ede24c3e84a13438035b0d96eb765b0b668d71cf78bf6b28a859f1f4dc19bcdb0eb1c1e53cd1c0398403b6b655a5b836749aa174a6b19af629f0f89da260cd717f30f86abaaba454b36f0387fd649c64ac83662f25ded642f22e3f9a4ffe65c194f4f4e511406f148521b3036693e9e92d4bdf3891ca7c6605d798eac0d649dd0ae507991afafb2175cd0b6e03cde64055bb7d20e08b3e7b2b80f3db8af766709b50f15c04f81754fc98c5eae1036f2e143c30c37e5343612a3e8e1527ef29504bd77059a5bfe53d072baedf9cbb036708134b8b4458fb285b5e8e4cee4c5f5f5df178cd03cb2c48cbac41423da59e03196833f8ea611432c5623b8e08a9918437970c69257da728999df07a230de17c03780eababfd753ac666b42ae6426e2f3e45218577c5a038a865889a66c5ff89c40389f8fc8ad072fa77de750df7cce1fac0873ce7cec043da76337618f51e4e34b70322bde10ca7ec732314f8c9ee47872e3e678d0305ce7d23d27114571a817f1a5103ea59b1034be16a0cc8335824c7c0a5d5eb16e84d482c4b82dad33e15990dc7ab030cba0ded6929d0e397285a09283fccf34f8ce935932abae264967693380c856e036af5e4651c8a083ad67f03d0fbb9a08e2a7af6d6e87c0d76f9b1310c85df6dd903d272e4db5d2e0ee173d17cdf8601937e839707d2824236376775707a000bb26d0359dd85af3277cee619c6c9b4a01667ec76d880695bdbcc4f447a22a65dc128bd03ba7c6cb6447ecc510ba2e90cf9f9a3be158e78cfde21b274ddf378b6816c495003adca85cf0339bd3d1b798b2e26fa9543da4f862bef6b230c2d07b55fc583596f0314e4a63e871dd961a96187c415fe61a9cd2e2e62371e0b660fdba9eb8d09e888033475874cffddb4321bd74c9be9e075621a8506ec62be17a37729c6904bb1144a03502d030ac1dea38e6bab5973be6316bb691298e66d3a871e8707d2cb3d591b6a03b180349a92333185890a9654cf3fede1e0272f003f15e3973086ed237ae78eb9032740586550813f42e93b09689d8bdcc3c81c821937c242c6f4cffc09e29f872b0350b9fbf327a8f0e2f628dba03484fd0042a98e4fcd3c15472e5cb77aac9ffd86035e345ba883eb346f5c553749936498ef3bb594520d78909299c50fdab801ae39036f777fc3d8d3c13d3e071874a4a83ef093e2d44e36db659acf11de88d7493cca0352c4831a6538e3c9228276c2a20e1e84ffdbbf90b7b77eb2d2f89e02dcd946a403e6f1622126fca1764a40ea1c0aaa6d68ca11e48ecb759ad31c4f8b14f69dfbcb00581e02df3de86cf3f6be8348036256ea91ae9442ca5525b17782db44bceec051581a2bbbc40617f03c5191f100000000000000000000000000cb9aae00581e028499ca7eae0a1c82d7fb4ac08f552f1b0c3d7aca9f3bd0fd724c77863043e554f200581e02870e5e9ed0277e3b5f2f767541e2e0b8d79ed38590fcc9f72704a80caf420ee400581e02f267a430859b4eff2a47ae9c80b6efd6b7cc65ed5de09b242f6a9bfc6558190bdb7d101e6931000000000000000000000000000000f41a0000581e025f582e8ef783f73f3501ea53e9ef99848fbdbb6d9fc020108f02d2a49d41070219422303e01c7044377f2f75f981684748b10f0108559a63d1bc2da5fa339c663340911b03f9c8899ec568a52e3d26dc4ec7a0c79982be5b837c0b09a8d6f3198838de1a6e00581f03982fe95791b812a9be752927e87268c7e51268867f4ddc50e13a1e009360581a029bdb9bb47fe4c9643a00000000000000000000000000cc5402031aaefa795359fe3e93170610cde472634cdef61e453d9c1e22bcfe71aa01912f037e2b960c4dd3ec34a787efb5fc266c76e32a319caff8aac4386ec16156aad2b103aa13abeaf96e0c4831985805f88286860908b9c1cf2ffabc68b479c6b7762864038813fff1ef414ded453ccf0921b5d2d14e9c14728f13c5ae1965bf5ecbde32cd034c4cc42de2a5148bf689134d7081de1521d5335e2617fbfc3ac8ea57bbd5578b0315d23985465da43e40541a1d6551751de29b34f4e50da134fe9f4b98df39614903f4c5f9398885eb1ca886957b191b12991bf6a8b46ef56fb53cabb0a8ef72654f0350adb35f52628a1f1f747a94509359300cd611bf9f7c88afea06e792940c28a803437f078d751a81fe095f0af5ad22936c9cfba39283113562744e43557d07c32303e4c953f1077ebccd2faeb41cd18411324630f1311d8ea81a6612dff3d5104dcf0328fd81ae76a31741ab56861352f19001291fe218ed6eef291f246f62b1fe52e100581f030ada6544a62017f0e7734f71cfc0ac71969d0c521d05a4db06ca44291020581a06a4e2ff1e0a3861d10f00000000000000000000000000f2e1270219ffff03c01d117f3088e3525dae93a8ec58592b2327f6d97303231fa78bb4a39dbf5aee035411a8eca5c7cbf29d6d2fbbe27a31175afafb7ae77f2174e4059b96f2dbf7c103f337b0e631960a10b817eb5b9318d52246364fc078685e1be620683a8e5ba36403708fb6b27be37541ff4f8672cf994d916c8af071743e88f9ff312d3c2943ff4203f68a3cc64555826fa9966d74aae550d3e2e01967b73e071678433ffd6524935b0219ffff034718949d7423f865e981f27d671a7dc498ad7a92059bcff17399cbe694b92e9f039e37fa0629de380ec15e7b54c28574822136d0f4c116b6516a2c4eef20e1664b03b11aec2ef1c2cf2fcf5e4d69d8078d33dc6cbaa7d74ea177aec23553eae97d0d0219ffff03416ef02c08f8839199dadc331cd01c47d568d89b18a5bb1e1ac2ea5ac7c1ffb50302ce9f79aa842adf6c53898c2e99c46a4f4f6044a3a78c48e9b2566f274ab6cc037dc3eca43db6f5f3c79d297c67a102f830c38c467f398120ed5f70e94e58452203ae693aa0d52a61753be3dcb55d2bc73154b79914eb1303f4ec25489b0c523b8b03b6a62ddbcf21a20566677ef1784b95f50fafdb2803fcb22bd2dfd5fe0aff574703fe261efba301a11b17f551e820c4b1ddeb168ce19607684d6eb8dd88856bbe17037c424ab36b6652debb6bcc45cf666cdfdc3c20fe4704d70cfb05cfe39a545c230386b73eb81b5916398c85d730299645b373751834a057a95251d72d0b00ce53ab03cb552a016c15f4d05bd2332c9a28782da41a76bea35f80f90441ee8110aebbf8030e69e4bb65a607b15259f020d0790272476cbbfcd268cde74945622955d98f8a03fc18cc22ee591e7bded1abca84dd269168e98925ed1445c25010214926dd071b0396efda6ed6dc7079c0ac3c016469e86bc07f81904c72f49189a5c974c3588944031b0d0be2c66b75481d9ec49766f16448da82f2ab4d73bce743f10209c407e376039187c01127b14448d30fcb8c87f55c0f0e26bb6313e193047eafca0bb0bdfed203a07d7c34855fa2f050c4b75143b37410474ad781b76626aad3662e5428ec3a08034802b9e6bdcd4093d69188740291b54c05c20d7cde8670a7d49e24337cc6ab1200581e029ac6c5fbd2e392a4bba4f27cc831f3065e5933c5241367560e573042a758191fe023a4a479b000000000000000000000000000000121481700581e027933bc740884a826085f0e8163a00abb35a890bb2bfbaf0f2b667adc32581ad1d07f45cf45a4578486000000000000000000000000011ae0e200581e021ccad726d45349e14816cdfb7dd5eba2b76a9ab59b585954a4f6de4ea5410200581e02bc77a1d15e1b7c10264dcb4e96e11126dc681b6e8a29fc145a8d54105844012c2cfa021943100389a2ab917a6b55b31c89671e26204703ab786da7c80fadc4de1352d6af9f6ec403f6858071880fe59b013b04e96fc8e80340e6f13e7e527de54a8a8a9f1c7d9b37031564720907ff961ff2877e665b3d2997891de65338f7df298e449464f15e045503e2c191c28f93a42fb64ba04e4f59b8b72de388b97a573c48ec845373c980bb7403c569e5a6c3852e29b4d2ec945cc0ee66dc0ed9dbce29a097432fcee324a2d62303fce67b0b52cc835294b5ec475993d48d9f374d941608b3272931154e695a70ae0219ffff039b509f08d3e5fbb5d682280d3eeb7c903da67a3bbdab9ca38d626991cf6d276203d1fdeaa5c6efe1d9c44d29011e7d47412a554134c3f758284c55bfd4d7c64dbb0312f6b50444220f953c49d8a55d8f4d4a5edfc5498256d5ad896604154d475fb203d59f7d2c200b435427d19d0da8d855ab777e9c81c1bff6a1ff64ebe6a3f5cb44035eef1656475a4bfa01f1547f38e0d8253ce9b21175db8d3471a8b503e2d5f25e03669c8179defb8991789f0c3be017abc29aa4127da7cb1c07ee23a6730263eebb03c7e81cf695f1f4960f366b653a79d7034a3f63554e6ce14443410231f4211ace0380750f183f2bda14f00ee48574072937e158fe79d19efcca21688d7ebbb7040603a350b1aa4c23a25d94a722fa7e924e951626bd25d1d86e4ce438933aa6a1368903c49b1b317fe9cee3d613929978f5ca2026b1bde766a5e0eef2c6cee3263dc82e0334d6de24ac988e6e34d9564b913c14cc076751ed140902f1e1a804c529ec8b0d0334f4c56614fc952c5f78a0daa4fcf5ebb164eaa677a36284be1c83e1fa8ae9bc03d1c2fc1461c532f4c4e9f816edf3f8d61781d2bffd7d05e056f3329ad39aa104033ecd5017fa599498d9185b34598b2cc3b1d7a4766dfba53feccb30781b1a663a038f36993067d398bb39c1cb124f34f421530786e056e4e21e02118a82d1d84f9d0219ffff037f2f2546fa1af8754b136abc48b5854eea51e0d9903f80d08e20e8b950c0704d03f4934c4526b00f74babf6f62a6eb984e3a7ce27592395bb4d420cfbe15d6a3f303cae28b71b16c585a9b841c136bb21c4ffb764c2b65ad52b056c0afa3cfbd7d53038fde3d4be0e320641cc385f5ce4f6f629e85ebd0a921b43d41dc519b68cb6e230365103dbae65e4752458092da3ae00585a847300bed530bdc8142171e0e9a30fd0306aa97ae2a58419a4a435bcdf71c8eb2f470ddfd4dd950f1afc109ac330a73c10308e74b523f9e522b73f8a130bb52e2130a177c296f38769122ae6cc94f12c5370364a1680fade12945050724e432fa539f24bbad810d95564c519d21adb29c6317036afa504cfe731b14269701b48ebca8de41531e271f9b41847c9e0fb3b6d0772103ddf64a4e45ee4560f63aa80da092ac4a79ac398eec2422627485b889f7bbbeea0391d73772b4818df0f95ecc2621befacc090a7b149ab67cae5cb8874cb471330d03fe04e74d74291add4bde1317f38059e7ee984519c22b2bc2029328ae603e92850219ffff0219ffff03b22b3128c9c8df6b3e4512c239acc00468930379e2287fe63401a6b7aa97367e036f627a4db395c194250727034603aaa556c75f26d7b41bf37a83703c69b46d1f03f887ae29f6016183b2ac67a74c3fe131e6b286f3fecde7aa1e9c96d0b47b9a6203d95cc91ebd0f676f804a93a17b55b8ac68fb4975b64e8f06df8fb57446243309039b8efb2993a915f2abf399f4e8a9ed524f27d5dd03747245defcf1d426b9c6140353e58aba79a6904e7821777c26d11580aefcf97209924b62e2d50b0d6a7db64403cee485734ed96ce9e0d15b4e4704c3e84d8404ed67a9e0d0c40b822788a0f95803a32367d13553b46853258ca003b2cbf57a6f30d97e5ec7a2817fb2b805cd4d200381449d090ac8401af9443300627c48d0a8b2cf81e404fb92698755f8c4c00cd50328e8e82df5ed4637ac3f681ca7d46de13b05c475299aa9eadbe1ba02ea605aa7038379f822673d4ff51d20a9c088274aa68b8da97dcdc2df1a85d3e77cd7840f5503388e921da4833f5c94d6492b40940c710afa75ae3d839e4a24af2d0899672fbf03a83395811b83104f92c0f6554b6d19ffead364e1982fa6d110b85bac8a88832a03b276b8ad34e30d949227823f403ba3760fb59fc166629326178063a47eaf243303e83f1fb24c5e5c29778d84ab8ece73afe734499c3c29172949736531b065097b036a655addb47e996f33e5cf21b88bd21d8fac8512726eb5c84c5f46bb1ea6746003c6c724448a832fb2898e2b08b7ea6512fa8b5f1b3a20631234c419a2d641779b034ba12aeaec161982152261f3e6a12937c4a2ce7a7650e8933e6278bb6bbc683d03d7835a2477a7429edb97a04bbeafc551476aeda5fc02c734639ebc8cb423568003735be8f0d8d8850fe0c3622a805426eb5ac34b91af424764259882cb9acc163c03b792cf8061da655315f4c30fc16d0c4dc438cb6c6aa7c2cb84a110969396fae603673398e793d24a0c7682f324031cca84cf7b2f653bfdbaa6cfdc69a7a3e71f4a0340005877273038d27e8894a667871391a2cf80914ed7fa3f125d1fc54abaf60903b5b7fdd487d21c693b8510aea3c23f69e7fc0cc0885a714b85f3c14ec11a24bd033a80ce0d387023b8978f611ad867587d9fdf7df94b0174a721e89131da7c8e67036c340785eb869f47d16a22479c69754008b09802f816ea2f75cedb4f10d920ed03dcf2c114ba7412677a93d7ea3342a5cd255e996f2d4f25a08032aa029eb391d7036e5ef76474851952dde70d1537c70960de04a9eda6ba9925a561f72feb0369e303c6289334fd57ee1207044842402503aa020782541ec5b4b41a77efe3ebd05c2003863afa0b9c37f21478d7f91ae069ff88cbf5a2f9d3d617508eccb57e9923756800581f0345a916fd88b4d04f8627a595ba8dfb63ee085c1a215e860ddf41a4cb9880581b038dbd2963ffc888857369000000000000000000000000012529dd0327e456b7271e97e4567ddbbe8956473bc11160a0980b138610d83a7d977f5fcd00581f037ed52e13bbc7e069a7150b3b46ee43c84321bd31a396b8660cf23f78966058190915b2589df6a6ea6900000000000000000000000000c9407f034594847b9fa0993eaf48534a7519d07ff768f1352127043a8a033895333449b101410a03f6143108936c6ce3d7c51c4c6db310e8713248b6e26ebec7cdd03fd88df625570337bf8d56743814a5ee001df19319ca1dfc98a5cb5ac2157a5be3e4f69edc4fc40398d4b8c6fd57b468dc7dfb034e8e57abc677dab6efa8ed72b943ea2b1ba45ee303b50012b807b7b8c12953a2083c228225a2cde689be12b0721fd173b68db4f9a3036a6185f8b927985f2461122a2dc681c5a0995f8865c7e0f7f949bc32f41fb18700581e02fdba2a0cf28a825164395f5dc659f7e3855d03ab366bc671cbae6c0631581b06dea3e4994bbdf990a1c000000000000000000000000001232fa100581e026c794dc6a368dbaadbaccc6aa43d6722f538f21554d4b51b95fd199698581b115258c4cdf962fadc11790000000000000000000000000100fbd600581e02536891e90b9fb07871b14d69912dcd54e14d6d41f31422ed1004c51d4b581b017e8ea5960da26c5674e000000000000000000000000000ca93ae0219220100581f0381d1516479dbc9ab5fd2ac550bbfd835938caf2a1a65a180565fc302f6a05502540be40000000000000000000000000001221ba70219ffff032d94b8576a86b26d53f45e9281d75de69a30d6a547b564a55a5c849ae148baa303e4a5293ee3ae485428cec3bbde18dafea335dd609412f569f7ef052010f8621f0219ffff03a5b1f486f1a9582c43e344a16dce840541d96d59de6f9eeae18005c7d88e4bd803967b9043641aaf0891105be3eaa6d1a3125e4c4d0c83e52222964d46b29e3f750349c9db0bbdfa8bd382099f3af7387986105b2d413139e3a9557c84827cde6e5f03eb497b8e66d7c7b09f53c9ef233f3e1c5e777a370c34fc692b5181e01b7dcd8303ec77459f8eb475fe0e9d87526c208a545ffd417def941dfffe13c42b07cd33f903d6c22d44dad1318830544b23e71d4e65ea62aaa76b39125d6ae33dcbb8b760a903651d936fb1f284e42cc1205de1f20b4b3fa67f8079a963586d77f3d1f863b19a03cc2e556b06dfb28c2afd0003d470dbb165650b12aaad7996791537920adb9c590338297fa03a3502af8b1bc13e0bde93de3517b10724ec30e24ed455e4614e65f603e2c14f1026891516eca2d743420db4941dde2191556d02ba35a2b1649206f0120219ffff03958e5c9e504fb72c5d16744de1b129f38e94a33d1838034222a1d55834e0290503a7726a5f86437aa2a350082e7b576fbd5bfbc3d21b5117cdf3e2a0312b6c9b190347eb9c35b545c2f69b4a2602455faf57aede654633695373a3c74db7688f38c6030e9ad52dda1698f19d22e90e6ad0f99cf1bfad2fc10b793ae510e1f278157e6903dd5d17d90c04a72e37687cee80982fbcf1d75675b5f5902eb7682ba38ddffd390342e666e9de0fedb5cd4aafebd4230efc2b6d7602a5790b4a778739fa4348f2db037836032c1a712d0e395d090d9d9de8b7ffe733b2d4ce16f5af17d99dac4c09c7030e10f981c1b68167722e2b8e571fa19864d2a9da6d602cede8a4f6215a67cf6503ff1cc9c2779600e2fcfc11cc577a8c4e411aca2984d85a78c8e37b36416a736f0219ffff0392a2d20c926b5308924da70f8f62b8aa94c34e6ec988fe2c6ae0e8dc29f53cb703436deb50ac5bc68a4887b2c46b64ffaf3e5ef576585f39995392bd16b56dcc8f033e9cc0a501d65e533afda144bfa39ce664f706ab1369e86c36b69a7a4fced85f03c4d3ed1b5fa047135f526288511329e0b00e171252956bb758825657defa021903ab81dfa01fbe233c77adddc7b7bee1a2395a8ba15df90c95bafa5b1f5d9de62d03b25b9815ecf54a99303829734cb2287d3bab8721c43b5b1ba46c443d324e9f0f03f3129841000a702c0f65fd32dbd74c1631b03ce24514b879fbbe97ca89aa51c7036c2b9fba9f3fb14a807662bc0801a306778c08db0cfd865930c253f724b23ff60397ba92405c32bc50b2fdf6a648c418f966289b4c781b57b91361f7a301b476b803162da1358008bf0dceadf023da31fe682b71f616ddcc21d1158569e2cd01c2d6036df0341c61d60dc368177d5ff448e1e652b1cb1bb9984ff67c01adf14bc01fa103989a438da136ab54264017f498e76caaec6d3ab0ba6433b092b0bab246cf47fd0315a58c9c4a13061946919685019efcd75317857eb79b0ec88021583b4177129303dcb53fb10322445546993221021e3396f5b86109c547cf5336cec91e5db0bbed0335c8d18db7bd30169410e9575a9ebd43b3abf409544a1baea62e634da61ef289038e7eb5d5458b7ceb389fb9d34b533569e6f2ca71cc1f0276a2be97c8156bc0f30371804bad15eb3e49ac6c548eb5bb2557632ccb1d47be999aa87d092ed9d0c48b03c054f2917400ff03d230a4c74ecd5395935a4213ced61b459bc435c62371889f032b0f1d2d3a33d1bc8104ebf01413ec367ef424fa3874c1fefc5934d2cede356b03f4a05f071120cdb805845170bba4cec1e676589c393649bcabd6ad83485d16fa0333c39ee5cdabf3b0fd626677c6dc1d9227185607075bff8acec922ff096286f6038476a3fb870736dc44d9d628dcdff3cde1c8c55136eb4f180d00a8d3eabe4a730307469fc21e2ef681e51631ba667b513c4fc62b2fcbb84474658971a5f70911ec033bd023a9259c865118e950b0e6d599af1fe75ed74b85b96a3618e9003226ef070337da75df991839ad55548eaa856a6ff187bca43a03bda5776766df85f5d34ab7033e4a91c3d09d46b65ffbbf53333fb27a15765fbad7d0847beb4e5ffe6d345b6b03d8ddd56172dbcb307cdeceb996d2ea0cad7b91d5896b2a1868e57f72524421200393aec593143b06af4650680f5f2b166552cc245abe682f261b52eda6458c3b33034523adc9f50440cb10dc3f31123fd9082fdceacb406c126be5f1e5c550d376bd03f08bb98ba5b1022c1b28b9f6b8cb290ce811ced760e0392d617813c3547d06820351cf2706422e81b99be3a8bf0495e7c6a00a4770929216f83e02ebbf34849b7f00581f034dfc5a53250d675845be36d09559f77c7d7ff9a3794e2bc67907c92ffc0058190366b14196d802000000000000000000000000000000fd974103cbd6b0beb0923122846d8ad483ea1aebedf58bf902142887f1a61f045ef111c503f81a77417718aeb9b3a7efc2d74c67266a6abc73cfc0641cc31ae4d12c044e84035ccfbd1fb4f475738460d6d129d8ee6064ce6631551cd6e2cd81a56e605499c800581f03c765c577846ee8b37947da1dcdb75bdf9e85af0f61ff14ee7c6ab19ebf3058192002882ddcced0c4000000000000000000000000000129673000581f03c91626d01ddcb00fe4884917cce715fbb7a0979b6318c0c2e9b93f680640581a0ee83bb22e3ac493ff6400000000000000000000000000f5596100581e026d53b92ae6897a89697c16d4d09fdd21011ecaff6335fe96e789199fcc581a0a480ca87a686c41e0ac00000000000000000000000000e17cbf00581e027b0061b39cebf964e8e3e87b9815d5c296252165fe89d564694e3a1997581a01ac7b6858c9c2964b200000000000000000000000000134b4e000581e029412256f2fb30c044150fe4debf1e8ed919912c36f5d7fd59f0236cd5358194166bd0259e1571a6400000000000000000000000000e84fed00581e02d2473c74bd0668d086e1826f8fb0bd59dff1d69b7dc06771f995f3514243f23e4502191038037e507d64aa8dce7f756a12e073c4f4a09d2b0802afd79e5d4b44caf5a54f509903a9c828104cdd9858a5a4a448e3a609c3b944442dda9e344744199fc397523dbb0376e9b48b74b7f2b54620ec9de555ca29f24dd5b65fb53bb0c3e7abd51e99e9cb00581f03aedeeac4eadbebecd08c69ace05b75414975ba90b55cf18158d7eae77e004401156e6b0219ffff03bf7cc6f936c28bc23585a8dd584e14be3b434ed460995ee506939a5995f012ea03a75f8c3a1296cd229079018d28ba53647089126a28946399d340bab33ee20fb9036a56248612f5eb578529d546586d7545e6db447af5992a5a218cf7439d7edfd803bc668efb55c70c9d55f0120940a63ebde8b66a7ef46e6e92e4ecb40dba55e85d03ad2cc69a9b965ab77bb18f9899861aee343807e41d49858ac04084e9fb67f02e03cbc50e3c9e522d6994a5c05cb7d6e5a13080cdde7447b84b3942c07e7c509cc90302bb2ac43edbff7830b5885602c931bd2f067841d28936e6f75ad4f25b6c1a07034f2ce6c62f9c6e0ada10b2f667b3def99db233f314d99b8d1af98958fa33a48103f0a7a22925b9129a310433a2dc7c5ad6df9be8dbc3384b17fb8498b6dd0223aa039f8cb8b2f2e6527afd2ba8046ec5de5822b47d5f9091b8845b3acef8f528f4370303ba58e46bd993f2b6b6f50c3705010e56b2ecd35d60e8dc3c0ba9f263d2e17603db552215774f2c3f91ef3f3e15abf6cd2df652bbb41afd5f756cad57c2d98861039f287203669922e0335d97af78fa49d18dd121261b7cf5b9d4370fefddfc9ec90219ffff03fa4d7343074ebb79ccf654aa67b308061bc0a181cdd38aabe092a309a396cd7403d34182abdf35ebb1962f202f52bae801fba7a586cd0b3d626a97a2dc096245250304aed3727d916d93b6c71ff40d7326d2576a3d908265c7a90c56e83e0a764a72031ebfd643372480c1422fab6fe0a1154abadb734edf15f90deea80c00568efe250219ffff0341a736b30e1091d0213181816a07e3848bd354bedc8821b50cb2fea686f95818030713934fc29e490e6116e243533521f27296574184ff9e8695466ef386d50bda0219ffff03e81071cc8a56d031b18928b05c5b80d3053295ccf9502a88a063c281aa92c16703523e4ad5b3a547fe947f0975c679c8be878292e1046dc50932b5a0f8bdedf57003c08ad2aaa6980ac84c837327027394604e71cdd67d64cc07e807f809ea01dd52032f06c061c2ed8593f3d7ebce131bc7c3d7d8edbe8ef5e59356612b54d35f39ee03b3cd760e9a1a08e311f12b3931d6507cd0f14f19600fe910311f1ea258d0d26103525945fa35ad142ec1c3e94e260013f168b0542ea09e7d37f796682bcbb6b6c6034a3b089e4252c41707860f7e8c85451f105748800efcc1298b3e3b9063f83e3c035fef589f215fa21519774a168621c78ad0c61c9a05fd4fb7212726da371d16420393c0eec09fc4b1eb6acb12b35123e493dc64491993f997e700e37a20ca34581a03f9430f31748caa86d11b57dd533d075793e9b9c61966ba544490329341a1885f0385603763cfa499f1e96758580e1254d5feedcb51fa889c8d63aa112f3f3ce1e70384f34873c8663edeaa83467e51a243ed2dded91635b40f728e88761ef5a0c37203567b3ae77add4bf22508f8bf2caf63fb0882045e1ed5e46a45da7e9e128ddeda034490c603b3574ba78f7ab5c35ce75f59738cc754ba7b9def3863672ce5d27e33039f43f24f4128bc74f1709f2c9db829fc4f06ec60d2440eaec38bf0eecd957add03739527ce787077b148b9b85e111ddab767226f719636054e49dbfc69547b3ab1032c689681fe4ef1cee68480f13656fb46d95483981a1de2b344dac38255a6200f01410303a498afaee911a1d5395f2ea7820b4b41b93cf7be571191b5341f6b5da23e01dd038eec391558cb93894c03525017fb7176e633e5a912c2e30c9bc1da7b7797cfe903e45b52869f0233dc34d918c3149e89573632816ca2dfae547fd5157a08786a8b00581f0353de88d053759257a93bb8fe31efc2407734caff7cc05222402ea3a0e7904232590321206e768d99a06d7b79fadf715a8217275a70494f7e0a98e2a836910744020203ba8c4e931a9bffc1df7167a4bdc9c16e7553da42523c693a11e5990d120852ce03082b618aae1627274f4e8629e5577b9174a416098b1a6abd1b6f6a8109a63045035a0b361adb3b3b19175ed745b2c6a62c605be8d432a961a36d26a7796fe7a7650321c895b720c5ec65698657764e24174971e583d9cb1497d2f4a33a6da3091f0c014200a70348c1c8bc0f77828a835e46d29e0b47f49c021c04d1549d886efe4b8fbbf1971403cbde014ec4d310ffe92369e03a5e2f02c1883aed47d55f9971871d9cc477a71f00581f03595d6579c5570da2a71d0b3e577738b020c49f36b007d9bfa11887a0b5d0581a7568b3a53ab5a46fb74300000000000000000000000000c9509c03ad72aa94f48ddcb261619a022fd67ec0ff664c39d1a83a3b588ea00d53980b40039da5ef114458a4d3be8b5b2996e6ccac21855604fcb17ae5610b59b8f288bbc1037ed0be0111b525e9f1cd8c8e57b3b2a049c01cac1eb2b99347a49d1d0b19d6b40219ffff03b19cadbaf00fbb32bfce45d93263f0aa76d14053c51f80937dcf8b5511057dca0395ce38ab2d9b0921fb78b4af198e5f8b610456a8ffe656a4b5b5d310b8739dbb0219ffff0351e3d06e91bb8b5997110c48e4ec8758abd96b06059b7be2fcfab9029e73979903cb017c065ce2767450f0a133c57da06952b0f31f36d11624da7573fcc971f4f303714036afb9fffd4c4d58cf7f5874adb6ce7a2495de26079ad28c30b85d414f04031a6936a0db4b3ae9e3be6cd87cc70462461a6b9e61f8dcfc3dbe64f74ab05d74035cb5973ff823f42728b09ed944da31055a18cba6c5c4ececc414799ede7e9cc1039fcc7ee6c41ac8b6ae1d2383f548d3e481eb0e4d01beaf159eb57df48a4c2c1403d0eaf706b756180b2f9c1e3e33d1c3848859ca5d7dfccd06b987268fa803665f03ef4c82e9733120479492dbc8c9eed1c0f1e9e642914b10ff7e6b2ec6301321560309027248941be7c651fdf931f907e51caada7370b944df646c0252422e852f4a03e9bcb11f2b4cb018d2ab7a51903fdc73d74129f86dabd46ac2f51818412d26040337cf7779aa8191a81ce572e34a0d4b133cb48ca3edda249f62ac85c762eee9fe036076186e0fa2da9900010a0448ecac5c4f95c70d1298b4d26d9111f82c4f9d230219ffff03f8c3edc313937ea14f4a2bdfcf5c9f05bcfb539b9272af9b0d9b2624a2e7e0b203efbfa1a0b3cbb7b32fd3c08277523e7b0ac7ebd50aac33fe90540c640be161870375e9019df6ee77ed27a3dcdba2ed1f6fd3fdd786cbfa2c2f228634eac79ddac5034cc485005ccbf4501dd065591e4c6eba454d9297e8ad36231c8bd07445571c2d0347692e88b8b73bf8c6daba1ee6a377ca64dd4360d30cacbfd85aabf4d743a25e039ef1b1bb54dcb376e9a7444d4ccae43db782cdccc5d9023efaf5c63b31ccc1e10386db149e2740865add4212734024f86460e79d85cb727808b5c10db3f30f643003a771d3a166756b90c89afd00dfb2f58bddf3ce7bfb145e175d8a1bc2650b6d23036f65243984748d304fff0b8fa4aed0da081e79fb68b1f9db475e124718f5de3003b1b01c3330057b8c0f6b341ccc1c2e5c46ffa4dfa3cfcbd2bafaea871ddcf36403487b178d58bdd99948e878cf1d8a7f67a6dc83edcf341485092ccaf1574061fd0309dfcaa80d8abcd4ae2d8b82a8613cae0ef7860fbdaba15645395eeed681a75c0352be0011d869c92d7161dec69d95f672bfd808c47def2e89fb0a4c59f4b5d9bb03e8b8615c301ec9744e572ea7e75e5b6f1cd6eed60d13f6a16589ba64ed95a8cc035826881ac363ffda82415294f6fe519f8e4166ced4614510af22c5818ccc153a038eba6335b35b9b7b720e8faeb40e53beef0be5b6675b53bdf33c55b27c43443103830c5528a56460b18ccb075afdad5c44d7038218ffb98af9ba9ded2587c13418033df2cf863534ff01b339a019c59c2bad62a5791d0f1b00d60cbb687f851a8619039d6272539a4e4c171c76fed2c77b92c60776d773a00224747405d7e23f3954e103584e3473b2e7068469da9b8302d10563ce73ef87474f53c33908f2e64220850c0329ec48699ae16343eef76e9bd8dadd4983d891de4543cab7eaf8db7109380457031bcce0258675165a86696178d12f9a86970d2eda78a79e8612dcd7ad2f00d93603420460e1f801131a3328e002688d6b79c93b00cf3faa22e427e4f434527724e300581f03eee08499fadbc72def7d6afd0b6f23a1e7e867d086a539d3f0d2150999c0581a101090d10b63ad1e9b4000000000000000000000000000c9399a03363bee99445db8f0bfc95ca85adbf750aa18086b460d42136d101fada441393903841dd39583a0baca1f5a54301e1928669d3521aa746b2cfc87d1a727a821322a037b6a98dfbbd3ae8bccc543ab5a64759ac32e9e6f3dc568f3fc4697ab5ccc7c2800581e0278de0a6100a05e6d3e544b721612f5541fa3cb920249b41b4d6e65239043d600bc00581e02a42b771e49e3ea36ae4706a38b4f0164220c3feef581502984cf26fe48440134d5fc03415e9e17f0f4af4ca831d6ecffc54073ec5f695aade15e2d93475440f7b144390219a008034174679802828f2efc4dfb9eed740ccdd88de34c4c0228dc56ca0c85b8ba211a00581f03e538e826845a9f4e82a80d453121c706e230f2ee3c978d3e9413885b05b043cd194d038715c40393e7a68b4ad980bcd20fdbcbe6d880e818219a023e123fef0bad68480315db7ebcd7453b55a123aefd457511a963c88b95215dae1a1b031bcd11cd995d0219dfef0344707dfc91d993e7ed1d661b720f13ffa6c58bfb363980c84416d5e9884dff8003a7c18833d647e9fbeb504db3cf90b98dae85764e9a9a514e36c9157d9aef16de0380b971a585e510531d20e5654afaabafd519e63b31d48d13d7af2131a988abf703aa73eb004105a23e86d9b5abe912a6476df36188c76c5a84735a2c06e9b679a803860553a008143a3f5df1d24e24f4e40e80fee352bbba74e24d77098ea3c748aa03b7b25cc83ee85dc2fbee6485f10cbb62bbece16cff899cd6a10d10fe00e6b8c3034c6fe9eb9afcf0bdcd8d803aaa510980160412ce563d311daf18dc31da7ca7ee036f2e84e3cd605813c9bccea5938e4513c8b20c3983ae0fd331e3090137eb2f440383df2f3e06ffa71e043535a17677a882757feb66aa0cb1bd9d0fc59b8d2b12ba038abeffba660cab191b1fad13ab0186d8d4de32352e86b8fd8a36b9960602a29203217438ba5057edd5d7df04ca0ead5a96863a0bd492d0d8095ab0a879e55a40af03c8bab33974f04eccddf0919d962b7b4f8af1a4f1bf0b5ebab8919bd28c03bce30219ffff0219ffff037c758fbee46aa1e2b06637c1c8001ef1d70837515db5bcfb8ecea6355073ba5003f84b87245115165e850630d47b1762cb20dca4e440e5bf38e8f728fa08a68c94034d36c67d13023cbf6f6b699d0fc79a0253f962ab027de6188b7c9071be7ffe2903d61eed7a40764f640b378adb0fc09923b69a63c48f5ca5455c28ded9a624bb8703069f21a6df61cf8f9f98022475f499e9719d0bbdabc637c12b48c247f9467e2903ba6e9abcde89caaf872d70f38a1770487728ad20bcb6b699a0528b3a330b048d03a1f70057311a6ef6bc22c02267583f5b8db3cca0dbd3eeea93b59e49b3bd2c5900581f039f2790509f9d0060d9e6f1c663174fc8403d60671d624b24dd22e9fbea20410403ceb5cb486b7a60a9a575806b5005311adc16480ee7436475294a8a747a551daf03d561e951a6afc2b9dfed6a79f504f2a6fbe3a13e3bcc0dcd6f48c1abf5610a0703023a7558d33250760ed75bd468edc7b11c005c875e4e739d540bbb41b9c5f59e032d5a22bbd715f3bb2ec9c7a3ab270643c93ab867af2e3429bf8767dc116c72b900581f0372667666a9fa7fe41c49cccd3a064cf62dbcdf0001244acc3c8e668acca058196ae6ff5fe56e500000000000000000000000000000011fb7fe03c0f800ad4836301b30af88d88ffcd66de23f2ed532676d16049edf20ca360e2e035875ae476024866bb90968e3036e70689dad8a613a1c223f1d63363de5299de30347c97c0c90b65631c89e28360b387f8d49133d411c7f213600c929cbf502ad740300a4f82de7de4f3b1aea87936774ab17dd948eed090d3d2655af2f53b28c112500581e0256a47af5354d7ed8dcadfc5007163ee2b4566f2974c8517a90074b1e2a581a6818b34181e51c9ea48b00000000000000000000000000c9353100581e0242b8b307b540bcc57a4d7f0991032d57e8d7298942bfc91b8c5747b20f58193239fa4a3a101871ed00000000000000000000000000f64f80020303aef35e9473efdd52ed54469ac8879ed3def8edef5538ec2d480abf8394b5c92c035a3bec2d4813d714dc83030593fc2387325474fc86fedf6e26d2789140a6344603e3510479f829ce36d17ad343ca7db9ace74941ee06602539ad671f2f55b351000308f17cde0a5f2c97256b32f5ab4e61b04f70f5fa3dc54e8a9fdc192b2dc4a92e034e32eda50cab92e5520109fed6e730cac59283cf4d7c1327a234e974c0e7bfcf0219ffff03e4c5d0c455f025fafc488342f656cd0867b51c67b754075a5a25e8d0a43410cc0393204c908b3fdf4e253d1796f07c8d5fbaf2788b1a9928f6895acfb684de4d7403231931448ddd322b06e6699ff002284d6f4ede3547d59ea35778b190b42984a703a117169b27048e65056bc3e01dc2e835305523c5a57f77ca8fc4daac46e7313c03a358ce24a844f2fe0d35dc5444dcbfc232889f67ceb02288821cfefb7f615bae03b314f8bab49ffac94836d6602faa67fea1503e218c3ccefc354ca1bbeebddeae0318983342a7557ea585bed6757d574db14339f5c5e87d60b608409a4dc67ab7f703d72f4a148cd732780f9c15b58ee47e28bee97bb4e91876f2cbbec02e00f53423030945cf048301dbff47cc6444ed32dbe0068f13649711377dc0ba9f7fd5b084780327f97fc301ab13a063ee9de998dc1c651042ed2956738f59650cd9347956c6080368e5bf4aa94840f33af9af51f58c45ddc9d3cfdd2227bd449992e32e5c990d49033da6829eef451fa99262ecdea29e0e7337122156552d35a31297d2c258d0404c036ea5bdf87f25eb561be002d0aa572f088a27491867e8634cdbc448a1e510bda603e4cb9117719564fbdb49f48a38d219831b8328de74ebb93d9cdd334f666d84be0219ffff032cf419c60367f02e51f0a9e3717a713f9bfe04ff28d5403f8e061b0801e43aa203be78588082c2400e25aa9cf005fa00fa6670e4e9a9e2cc91f4045a910ef5281803d6d2c943af56b13d1437b92952c5fed94743d06175048cc260578cbb2c06ac800368dd3e5f68e69b257592c738c9b840b572fb9387a2566cc6d0a2241ecba419fa0323403ebe5b4d3b934f767ec9d0b705648cac82ed9511ad736a6eaed2e1413711037cc4ec259143f460827ebd625e271234a0f615e14fe912ba504f83bcbec2ac31038beb1bf57315fa6546180d16a5499ea7b61e7095595cf515915f37710d66eda903a73e23b4748df775d5c7d2d93e3a29d5ab2ffb952b1cca403eabbee9ed5b779e0393ecf7a109da1cb81865dbf9bdb3bd1b9b269f02cdca2f79cb88eeb5ed058d2e0387ba7a69e416a77ecc88c1e566cd64d3cfa4ba568ddcd1e12f5aaff7c78c7bd403a3299a1a37b3fc2a401c189d43554c8b996c90e67bdf34e21a53a29206e694840322b630046b667d23d64ffb1ec5bad6ac4b9f45eb78f3449c02a29f0154430ed903a0c5276d938da0a0c6c84d389d77fc5d2792476fef0b6d4054b87ab1293ec62b03f9571a9b3530b43e26f7bbb20f3c79674b469135bef83ba602f6423fec20f32c0219ffff03560fd79d880453739a39d691074b31fd7e8c1aaac9ff4d25c6c0f4e2312bd54803ff633943f390e6cbd6016766d8e2814243d6d03f24a4f33bca0f9f1f82a9c989039f8aea24750a3cb3f36e8f01d6c74e9f5c1bb5aa3e8dda5ff99f71390b5a530903292e2324b196660c7bf1db1720cb705df1e06e3fa15a86745df48fdf27a5ae7f030126a2e0f9ae6e52040cd23bde3f0b269d1a0e99252f895a24e750285f8bcba90333a8c787f607e8dab19b063cfcfd8a6dc984979411049d746100efc69b5a48c6036863b3984e90569fdc383fb59513a2dd46c4010925c2ce7bb1ebd61aa5cf6bfd0362e1b1dffe4e7c17ff4d90c3fa7e3f2ad0830a41cce30f76fe927bef760a0c2c0300cc96dd0c12d1d538dbdc5eb36bac764111c468751f518696c369525a079768031aa52c703ef337d08efa32adf4d6c94607d887d4b6d76c882b276f79969dfb8503449766649101cb7d7bf83b446441013d8c28575c8348e3b7bd8e1d04fa9a68970353fa94318ca3d3055a6467b24eddd0efeda56adf82c3a597729a797410e5aab5037466fa74c394b72cd534f5fd7826c02053c942330c3115375908b4d0b16ec53b0393bc35a372d3116966cab4eb1f59ee3fbf537436b75e4ee98ca31f0301ee3ec00318ce458d065fffc6dc5b6abf682a6edb7e29807609d5350b8a1ae68f7447bce503f65566107872ee4e669a0725e649711046f0cc363e4fc66dd46a0ca11d8b359803d8e49b4954e7d8cfd1070e681b0ed0e8daed77213a584cf164e440df768e171c03cb63d5fa45631b783011faffb5144a9950f0c16d07412fff65c69203a098fa18035ab50b7eefa5d050c9fc33e642eb17d261d77b74392bbe35259e0b37f1aefbf603f87b758bfcc4d9b04f1ff0dd4a8cc989a47ef0d77831715567905ce192ec59a303f83714746153a32170b49c1adab1431a465a1b57984c50b7dc1c67084d67ee7203cbf62ec1da333d0199d1bd33f90d9017f40c1868fec60c74bec47d4a231a24ae037aedad28be914a259e3207db523f04cc0a99d9db6652d3a9f41b21130074b3a10310d2f579f4a5923b30f7a16dae60002be9d455662368c327405ac0614b4d161a03b2a72101f477c1b0887452db86c00deb1cd5829bdd85d80ac049eead99e2d31d030a29b7a6fcd70a9ee905790eaeb84fc2da9e07c1f093af440fb61fec7ffc5148034a32d83c139d2c712b4cd7766544c27eae59cefbdd7fa66aad5a72c53d25901c032b945b23a47c2f0f04a27a92e6cc7278879248131e232e2ac39814c2005afd8f03b768a3f79b8767eea389ce20596284515ae6773f3cab38f4115ee7d657ded84203797a5063d7c110f196fd14d2124c0bc1e49a18b08d1f4a5ef05f04e48303fee003b7ba1d44a7132b6805f99d10365fd4e368d3585dda303e90db3227d000f20aa803f3a1b260f47e121a0d402787926300fb36e3cafe8c49b64094775d5383a2b5550367a7daa61883532738ff44d1b4c7b7d6f6e2f5a0311599a790b11f348f68e659030edf620e9a215cbcd7f01cee0cd7603c1f285b4d4722c6edcad69e081432bae9036c5d18f03663458fc96edb5be6b0a67b051b3c8053981010fde2c8e33ec79c8b0314bc2c2f5c24e12ac2fb6227318a28d9518224ba647d68ae8ad8f518436b811b00581f031f9f46d3205afbae37f0e556180ace7eb6611b1835dac5c818fc685652c0581a046b38af6f77e0f9dc620000000000000000000000000134d5060310d69aa129c30de6d917048ca4ff6029a5d23c6fcc3f6a854dd3f16fbc47a055039ba7f545cf24e9cfebf601f4b157a70fd0234031c9e9b20e17eb9faf47bdb2ca03a40554a1cc9bfa7665e124353ed7a5a72783b41eecf6213fa8e813305f28ca310304c7aa9638cf3a255f510f0dcbe8b7f17e06c7aedc43b050881bcdf4ea01ea380219dfff0219ffff03bb542175cf09e97eec5fe777c161926f09470bb4e3fb49b4168fd4dc9f35536203d578686ce67f0d5b10dae24cd9aef1322aaad5fc09f70a7266ce18dc19019333036daef952c43ee8dc2742856f008cf0f93922796a685796bd17b51df2b64538fb03dc5f83870bc297a8d0b1681467c8a4171fa2cd5afaabbc213dbb4b38d97318250219ffff03cd868412f39de9a5fee7374b0488fd1a7713ffc681ac48a09dc34f53f65e568e03bda8d5950b6d0a782ccb1ee01408e1df61f83775e3b442ccf77d93ad583b381f03ca70507ef9ba42eda7fb9fbebe5ce03f20bf587b3f39dfebc553a7fb9a8f6859034d44e1b5b2013e0e398e889f4fc37f1d794f8c198ebba3a219fd9aaa5ce9239e030ed4be967824efa9e390102b9d0ee164a4ec87711e01d8bf029fea05eb2ad1d103e47216cf305f77844d79e7e4c6f3c756dc535dd734170a8b6faceceb61c5829f03eafb71db59fd4cc05e994ae8160619cfc27a417f708df00eb5170fff7b4e34d7037e9ffcd42bc0f8d9f42d1a9044be1cfc9a964bff7fe1003a5a67143ff5fc9ba803bc050458dfc01f9e8f6c5f6679bc7a55ffae1da62c5dda19a8eae830065ad1dc037cc9db28b501fcb84275db182d2762c91c77fde81937250a19e680a68a68f06f0356b09a3efeb336f4ae3c611958b62440b9cd59a93619dc1179d5484ab981b08103b018bcedfd30873ede3e21dba0ddf6b84978b6e6ec5f71df62f0ab89e414f2a60335e5ad5fe011577c4edefd4117a88c0665e3f8bf94681d31731dd09f1f77ee290343f7a988ab5939634b5261c20b7634b40cf10c6d8e25e76a21d9de0f09ffda3d035004c7fdf7f2bcae0785fd46c16b6349923b9d4e0ac218f3cb4bdfe1d9d999b70355ed86abf92d0babf573170f42840d7e78e6bd616a497e91d5f60d8a359af6560377c8cce2aa7c1395bc9ebedb6774965ab53e06d48b4551748819537853b999a6033e3ac1472e741136e241c8b2f518bff5660018b63d53042e7f9c4ea75d951df803fc9596b427657815f6a66217263dede288108750f0ffbfc8ea99d2c8841e0a0003a606ae8944014fb76034212a7397a3949afdcf83ce4a89b69b2b175c8f8f0a1c03db69ad0443e096369178aa1aed0248e051bbaafdc9dd258fbae8afdebc760ceb034cd173c843dd53e4bb5cdfc50835dc135c864adfd5d718665a4b7adba7847c0403173816332879f8583bbaeeaba039715b4cae81cf8ed86293f55b132386045d300374955b673e0c708aeedaec30fd296067d2f3547c4813cbfd305d56f4de5280f80304bb331924bb13cacb5a210e62c84a09635cf143bffda22d30880a174dbd509903caee7465871f8fdd43c7e1738466395e432a2e81bdf46f65d4143ed444d2c4ec03653e8eb60510d3c6b3880bcd128048bd7b5bf1669ab0797ce50f63c088bfc44c037306d218a69e6a39a45ec425205bad461bd85aa32e9449df0f2b7eda87a79aab00581f037f105b44e7267bb5f9ec26247e4d525189c8aac18c2be7f64b63192347a0581a20931b468fe712e5e68000000000000000000000000001003f8b03a9500784bdc97d4b413cdbe3f2c09783fb2494286ad57a7053a3cdcc5597fc230337f76b600768834b4585b73243f02dbb9f582a8cd2ebcbfbf3831e07345e6f390355014bbd8484ac63f4cc246f1c3013c00856c08e13e38b0a4bb6ff22f57ce28200581f0323d03d0f28fd6209e688aba43dc0a0ecd4468d9977daa2e52ec35f911710581a0307ad9fbf25d10664cc00000000000000000000000000e002e9039e1d9bb4cc3bd41c2aeb2a328c809c1c17ad445b81afa289f1eb15b9342abb9200581e027f56229175b20714c908229fd133565a1562e2304bc3d6ac31463bf985410200581e02c2b117396d9f1fb2682faccbe4fc860e7b87872608c75756cae72b656e581a0157b81d14975c42000000000000000000000000000000d1b23900581e0212b4e8ef01c3bb5e89888034d2046aa5423f73792c90b48f9efdfa956a58190227602818e217000000000000000000000000000000cdaca600581e02b5cc6ad88401b5382ce7b67304c9e7b24ce9e6ccef18cc444f34187da8410902190a220219ffff038108dcc8bcd12193b8bdf9ce849c60801f313727232fb6f4eb9f64716ef9be72039c57006e1d03807d3b49fd6abda3aa96e337f5c346726f8a9bcd340bf99e0938033991ee1e33f3404350fc47826b3bee5b98efd013e29ad7387223b6b82f68ef3e03b024690c00453ad83da19d7ff12d203432bd634596653fc38dd010f63cf64ea903d0556f414dd17a4e92aca7de6064f74935e00e6e4f949f422b1b478dd72a47e503bb51b4370f666075434d34683bbba8d9a2915eec8661315758e5031c61f049940324ab758b308a21b6a0ff82304dbc3187bb8fb13cb3edb05d745a73828e817d6e03024ebfb7440a2ff0c2cb444f07c94d9645c204d8a52d8336c6836f681e8f2ca70219ffff03f899e4c35eb1f7ad56dba5da63f313e264e1c1c8ac9d8d99fc9c42ea9d771f31034c8e86ceb5df4316e8c3f9d9e414848a5cd003d1be332f839f77bd454bdda79803c7f9bc565fcd7988b7dba9b3aed339f3d2c6ae47bdb95b3e8943cec636d498d103a5974c8b80c978de3d1ae7e0e5f2151f00715cae9c92a8c0174c66d5fc3f96af032f20721d9372b3b4b51d05a924c0535820cf94157b580e19d1c70c95fb40fe800348996057353398517d78a55b3e835d1232a37aa5827911c7f3c39a61afe3c1a00219ffff0387277b7d9edf3fc891696647070e900c707efd87954bc04f18265faad9bf3c160303ca842a688a6631f5d387b81a49f4e44d5e767edc8619e10cad1f78481db8e3037eecc425a2681f9c1b9018e41b9ccda19cabbbdbf087804e42cee474198f50f10219ffff03845e1e9e910264f0ec00d49f50b1742483522ee172c0f17327cf5897ebecf4fa032d0c0f252babbe223dc10a7664b7270c770a24a5f4cc48d62f0d4ae0e05908c4032a1c857fe3f8469d7016d4b8699f75839422793e6d77c39bc8204643638de31103f2aa078e688ea667dbe89cdab19283e7d8cf3d056fb9094ec7d03aa411b106b70396a8a1f47f03f4afbf7e5bcd5b25fba6c3db760ec2dbe5099f0269ebd3c6c4450308406d2e15ad7689553066c8884c251850929d64950cdf43162afb345000a9b503a3ad27d3aec8381898dbd9be1b2c1d2c05d93336cdbacfb5bef62a2f1879111903db13ca502f54b3cc2aac0455e559d0f17bb848522f6dfd5b4c2ed4e5e88e6a2e038efba57d374341b9a3201304fad03bc825d3dbf83e1970e44d1c1799af0caf6a0370bc86e1a557b5aaacb5816105aa4adfb0aa09199b7f40538b87b348121a5e9d0395e7d421cfd59731f2fd93664112f8a2d663ea2d2d19a2b8cd8398f954f787e50324b73cda1e43b0c1902888f856cc733820e8082fa6c7690fdd82a1093d0e29f503dc345321f64e6fd82c68cf4c39483a9b6499ff2f02c485b98f8481155c57afd0030f72d035b9b269dd1234cfb77bca9b1ea48b5f63100c4aaf8cb27c93d7a15288030f7efef52fcb398fd3ffe5e737177bf8c18fea62b91ee353ead193ed4ff9296903a44eeeb0f07d8da9d742f60cb99872dd66918f782a41105542621c529e1c512d031af7bdf4664889876969923b7e6ee78b9eea0e7b76d9731bd67304dd1a41b49f0326d736a77ccc95f82726bfe30f9bf0c18bf0382778d0bca6956ac9d2806c06ac034b02a7c744bb63b6324805389b3d07663c4451131001b51459244de3fc613154032656d4f45d94e94df54397f9380c9931f9498337760d4a539e488d16215f437503769f1477c3702a34e24ddd275a8e0e5f8f7718f95456a757f1ad44bb91c01a6603b32bee258d7a4772c95cb511b1bbc714cd3859923c133b5cd4c66291fc2b5e150393a29f3b41a4dced81cf9b7fe65d4b6288601ee9a283c3e50506af0a1686074f034e8fc77eaeacccd8bae4fbfeab35ba520692670ceb67d17ffa75e38676b60b6b03d07eefe3f8641c9a093d0c48e6e908b232708cf725b0339189600eb843481e4d030d69e48145fbefe69622b4f68f0e26a71bd804bb33554c909837715039e9869c0398f97753a7d930801590a7666699dba0489f9f0bf6bdcb16e1697f37ec909114039658f0a0ff4aa9b7f1a4e6b6f66eacce47a6f6117a37a89e4676cb4d471a2fcc00581f0375aca4f1dec541b878af83c9bd6e8b32123b0df7ac11e0f9e20380ea7ba0581a01fab49f5a9f6b9cdcfb00000000000000000000000000cb5d1500581e026b55ab181adb06dc94f947a6df4c7a8acc1cd7828c011424fc5ecc20f9581b0ea57a90221e6310ed02ea00000000000000000000000000f8d89800581e022c018d46172be43e44ecdba3d33e71570f736687bdb1dec5f06ec037b7581a32c90fcc21e82480c2c00000000000000000000000000103a7d60218880390ecc94a6fdc805934831a13742d0d9bee7eb8d685aa8c85b7222132cb4eb03e035891f8e9f9b2821dd3b5d61bf20ecac5dd0b7641e4acbb6aa2c038144e64f2100395fa8ee278ae627efdb15e19a8d0b4cab8aabdf8700c8a1665fb23a689bd673300581f03af1a167806017f83aa151832b74234f64ee00ad31fad28b0880a2d2ede40581a04b23e0c9e0e3bc524330000000000000000000000000126e63303c8c818f26742a331c2ed4d75977321a5bb9a49cf035d6c4647144fcbe19e1f6103bc52c3aee22c718d92926ff5ddbbb28e7552adf7a350c0d2218c9f5ca59cc33103a0baf4d924c6da66e45897aea23e5f4af58fb85a80939ed8972f60fae936272303517e65edaabd3c14740b942c41fcb6e085c979a4528218298a30e4e5bb07601103da31d6807ccf25ef4b7143bc380d982b7d92a66cac1e1987026dc93a23f5084e0308a606ea3f5f246b1bef35c61a138bd61850d0eb8d32c4a242de88150f5c5a8c00581f036977695c472acb4fb54c530dd9402e886f9b04c641761a49db1c2ff4ef405819043833c0ea4f520d8f00000000000000000000000001226c9c03bb16a3f0eb616e16e824dc45a1f56a11adf44dd09c69f952ef58f112477fc701036d05649b489f10fa5c267b30d8546f771b62af5d0b33dd440cade31be52d5fc40219ffff03e79f9ce6ae8b3580bc0c668c03529197b30b79c0d1eaf25842cfcb1f90c066bb038b48cfe63372f8a7721d478a3967b6d0bd29774ab84e96f07c0b31d6c74d4d7803c55c6e46a2fb673c29e4435b8202a80328c8e67dd0526264f66206b64e17a03e03a53fde5c9c950737af9f5504aa693bad7020faa689db7de08c7579f52a627f2a0219ffff038503a6b7adb6a0bfb033f76455f56ff76163d0a4fe99c4c22bf23425a7f50a1503b4373596c56c4610a14def1d9e137207d5633e8109d92f2a3ece73581a2413df033b33b989514eb174ed2b6bbdae53fbbb1ae2bd42f67596b0ffa2e256c9f2fc780219ffff032ee1e9a5bacb6294cabb0df03c6fa8a2294d7115dadb4ca6963bc2a65cf17e4a0320a574ddf3ccfb62a8a7bc9ab40a1945de1e1d2ba196a1a26b977f9dfc59b75403a4f1bcc37b7a442f760331d46ebc6b68cf26b6662e7b51519113058bbb0ff522030041e1d3b7e179316c1646d589b867ddfe578b12fca7b5d689db5c3c74f8bdcd033103f54c7a134aa00734c2fac38bbe2ce6c9b3caecd43c0294be5a87f634519703fa4946ecc3295a06b9fac932a34199f8a408c223ea39775e06c3561f4ade27590394ada3d3dd60cfbad9830b60751178fbbc2655ff621cf97ed36b47716b413e66035103b137a47bc7d09883636e35d35d39a17be2f611c0fa3dd45b3841f4f74441038d6c97b0a01ac56ba856b165b0e62979b67d492b302d6f1c7c1c098e8a4827db03f5dff744c60e37437d3141b3e6c6dce7975b97215dc19f68967db17fc54e7e8003528c8e882e324a7988dc4e3d22a92581627e8b7b89bd9fec1f89b84307f75b18031e2ef8c852754a8c1042bb91fd4c6e4da38b4fb98a5285cb4c561789ed4196bf03d91547b489544a60d0ec1e04533da86756e87c3d4ef40a95f67f0f8c625c5da3032f3a0611a2c1cc64815e03aae887b96da90030d5e60aa9de1288c69ccc47fe06030b822f719e562507a5c82fbb7b642edb2491b33b97295fd47a1cf1aba768d73c033e3c73ea6d86ec5cf000edc806c3085b2c6add20ab5040f1cb1c28b105c0ddef037da9c7b5313a3270e91384add70cd631997e6ed7d61b487233cb7667a755eeaa03307b772fae620b57a7826436f568a07d98295098176627cba6c6da303b6b38f203ed993aa506a478186ae0962ed8626df7578a933a8af93bca484af2090000711100581e027fc390e1376ad8cec210faeaae962edbcd6ef41a0893960214cd4f7c4348058d15e17628000000581e022b9a7786b7a263103e9b61ea78a32228f1ed334f24eb4c3e4632f46350581aa32c18853b2b6cd70cfc0000000000000000000000000106ee560219300003a9ce51ad6cbfeba4cddf9c8a5a63fb1d683d5b67ba48f78153a6ce61e62343f803a98847288a465ad96bf35c876dd3079509bd3094cbc68c88a0fed6dccba16b840301788ab23305732a57708119b57c3a9f997ff4d4036974a5e0ca95a3f23cabd5031e97008fee9b5a13e13a4170ef79c603e2361f640de0fd3f4da6af0ffc322cab00581f03f2722e9833852fab4a7030e26b588307fae7a30b2672c0508b6ab0c4a3f05819bda9d88badf2ab080500000000000000000000000000fbca6b03a66591d6e71219e7e55ca6f72496c26df5b325ecfe74a149e269b71ca1e18b1303d2fe95ddbeea73a96f54124877879038e164a53a0b4ef618238c99330efe5c2500581f03a62c1171887d83707f2a4c719830feadc919fd240acce88d63f90d4b830058197f5faaa4207113000000000000000000000000000000c9475503cc4363299ce5245647166cc93c19aaf9299cb5c5563c14278ed56ea69dd8d2f2034db98c13dd7351e9fa9c631d40b8f5a4f0c5ee6c046303308cc90160e9d65e12032578b6a959f814b99b712cdc9fe43db2af915e2b77ffc323570dae027935d99103632fc705715734f97e1d0eebe14fc10903caead90536ce56d361ea25d0d470eb00581f0382f59ac8cfbfb67d8185e56180ba43cd3755da8c5f53a7672447364403c0581a634913669bb4e0d6167000000000000000000000000000c9413a03c4c5df1ac39f3ca353bb756911e76d14a19f07851d775aaa2292d4b6b26ac9850219ffff03a0785a775444110c87749058c9f39f1a25df3f482ae074547a693eb6df1e6a98031d676fb132e847ad05ac1ce559a346548051b793b8fc44cb6f97c0ae39c38c19039447c8595c44a11cdb2e1a46cd95ee6310cb40234c79045c4daaf930e2aad65203e6b34873c4aa8133bd25440a6d9f2c3cc6e41ad7bec134096e123b13fdb7ec730219ffff039751f7f5290a16987261c237032df72089f2cd426c7d833462b6658ad3debadc030c517212ef12e248586f81c6192240024995382b30a684754adf877179dc9ebf03a1f10e53480dba92c8c1e26c9cba6bb55572fcdfd4ae2951cc27920d4edcdca80370ad671e42fc5183f4408ff13df2c167c0223104f23e5120b07ec78beed152c6032da07d2a5cc03072bade64f09b05df2ac1b29b3554ec60a4b8ca720253c6e77c03d5261282a9daac4ca657eab1f64f2c20d0e0f5710d3bf4391d03c769f4d4cf330302067adc0de0809b05b073907766079db0be1940141a0247846bbfe6f2d034ff033f3696f5a319ede9c18ed6d78509a451646b30e79ae50206e0121000875aadf103c08875c47bc044191c1cb6b6cd0d9524914cf598ab005c760c5ebe68a6a9e7e303daeb42d1b82053609158b1a7af817a1795473843d348344fb1296856b97a108d0351d7955d64ef80fca99207fcab066540b56d7d438fa57f1928a99a37e0bbb16403b24cd36b6ff223af90901451c7e8473972263ce5b6498a3ece4177a7afdc76d50219ffff0340b77568d78db6a90107c2dfc3e2c64c867c8a627dcaa75990a9958ae52c36360339ccb6edc42045b6518c6e5967992c4bb20f25db322004689596843424f008fb03a6dcf53bd025b83ca59dd8ac5026401dd917f38e4a68404297a0c19f9efd9c3803f37c7b2769bc6c3d714f5c6a03034d5c3548537d9b6431c8ee71bdbc91593a1d0391b41837419c5eeb66e8f367e785c188aff58291f5edf889efc58139816b171f038db464400bc6b8c571db6935452989115293dfb2ad797f5c89c00666984bb3d80219ffff035bddfcff38e3c66e46b238b80e09f1ee056d1cf4581e687d1021f8e8979d19170356a83139254eca2622f409bb4543de26adf6198c4c592c8ea5f3d273e38c9c3003cb2cf24b9b4fac7922f4db217ef2c8f1f0d2928d2861746f0eeabd75af37750e03c4c6de9cd49a50c4cc96c2c8aaab45e30922afc12a4f131bb16ea993db0f5d5303ee65cfd65e4d25a45726139b0ebb0bd42ce5d498a05db63a82fa5f7b3dfabdc103f3f047aa5fd5716f39c4fd4b6d4bce91cb0e1ff33b1cb4bac80f2860d268392103e7f70c8124ef2edfce64a3c2c767f5f8f62c184c3c5afe4217ed0a31e67926b8038520bb531242874b6a7d0b71a3ecebd6ddc1133133282077dde86ab1c86714d303d901c60a6f1b2ce15db92eb2d7f87949560123871120f491edf72387304abebe037715658b2934707c887c152510eb41383454bbf058a5a8ed3eb1afdf68291d6f03dc301105e24e6b3105553c24491531fd11019de90b0efa25e1439fded3ff8bcf03629f9c289252a903917ea448d3caa6085c7f1ba866f4dc7c84311735a9a347220352b3a7fcddaff4625063e87f0ecbdaf914073de5d2cf625d7ea7e6d65aa362ce03e45d48559929b7fece1b9640eeb74e082f8fe701817eb6ac630489fcf0d2c58d00581f03aec12af2903d34f0bd8be3cc2bd2aadfbc3b103f24ef6a41dd896452c58043ee8eb803e5b5306b4e871eb8138c5580187309c21b5699b123223febcec466ee0b454e53031f13e24adef0c3af28c2aa5cbfe65d60a768e7fa8883ba15cbd9433a977cf3ff034630110c0440fa47337dd24bb18f637f1f43893c308e19f692a283c851ea96ef03e0a6d05c9b732b4933e3467a467bfeac1b54a52a21ac20d5d1fc5ab431346dbc038e0edbd526ca17e1349abc6115a6d3dc2afaab40671443ea9f5b32f08172e09a0390dd4d05fc51de2024a99c02b3aee6662d43ff1790a3f4cf34eddbcf4c38ae6b00581f03dc539edd86643d0c6c077babcf834a58f7bbcd113c3eacc3a86def7bbe504102038dcd13e932d42dd9986b40102ef9b2a043aade82b5173c303d3e56a03ebcc6f100581f03090e0299e8054d411a9a220b96549a8095c66d732f9d1aecb692bfefae704102038ca8bae58ea06638149c93e322e8326c3c0b2e9239b64a9886b23a9689850b6003ce633d38a29da347e7f77220c222e0e0f25d94254a4e4d5181dfa0debbf0969800581f03f7b389afe6e57e971905d8828980641fa1fef23b3284b312c3c96ccd9410440134d5fc0219ffff0378cd0e4c16a0032844760dd3468da2571e45b831bf99b4d64eeb29e17afdbde303d97ca0b641df97ae6208e9c462686bc04a095a328dd405bdc0020afe42266560036f97f5d33292f5adc43b92051c1b32311604c507f246277352711718c2cf0d6403810ed9d03970ccf897d6a143d2de662b048f7b9c1d8f38ec806d88592fe0d502035b25fe19e9eae506fc4a822fc3fa8b1b9d8bd325957649a30040b3265a315f9903eafda7c5ba5a6fd19dc62b2a98f95d5bbac14bbc5b48005c3a06914e6209332b03a08dee2760a69d4c52eb0f43134bf361c5f12a808d132632c31c3893d5f6c31f0335264c05d8f8ac488b18971fb9b4f164f005941da9b6ee6f8450e7709e67efc1037b3045c91ca199602f5b9d6a2d2a0b8fc0aa491917afa4bb59b69d8c7d37b95303d2fa6d04ada98fe5b91aa6cc4dcd702b5fa27be72b0b8856e974bdb4df4057cd03ed35b66923b02d92b89e839f7caa0f8cb47a1a0d16c542964a84c19827be43380219ffff03feb12a274115777d19f2a79723351b0014a453fa964a221a8055988bff2d63f70338f835585ee3527fb719f875b17593af7a997d8b1ba53cc87622b9170f20d1ce039d0df16e0ea1ba323c50f202bf4d141f83bbc17ef30fe9c49415eb62e58336b4038d8f1eac8428b0595b24afe55ec473f27ba14321a43b6efd2b3eb5fcdce2694d03b206884d7d4898b80b6edb35871cd2fac917f044abe5ee02a62af507041d8a9f033c2387e3c984ff98d3c792acc62ff8a0830e8646a66c59b9ecda61c6cda8dd1b0349c4e8d6dfabe5acb507c7994b2a1961a17c80b75e27d45a97c1f10ef55bd7b303341d95dc0bee5b0338d4b6c3293d1df5ad9529ca5442b03e5c9f99e0aa68a26703b73d9dec0efd3518d186fa9c90fd1a36e2d18992bd78a402790d0ecb1b2d1b6503ee4da0cd9f3048fde35317de000ac8460e88f9f30a8550c392a7ed880dae772f0219ffff03df8215c5da1a470ae99b5dfb280f20b168581db67655a0d940193999853fcb5b0334ec5ad9e624b78c7f6fb6c6bd276230e53eb7006819bbfc49651a4c090b5d1303c7ae5578d9e25a3d75c1499718daf295512f584f805b83d37a3a6515218899ac03f8214de1bf9f8dfb2e1e48f58b078bb3041f8b2b2a22466225caf5761cab154e03530994a5396f4333746979e802d98478ecf7f55c88efcce567b214074f176bb50392699f04677d5fea91bc12fb8400f36adfa3333ba3f39144a71ecd48df735345033a87a3179d5f5a623a69e0e799ce0d020f32a5f35fd1c9a8ea44605380cae1f20316313de7f477389a6a8a66e8e8aeca269b2b7836ea36d8183cabc69ee9cfd312037266d86903fb49a267a97e3d244199c5751103df5b793b5f179b423ac4545b20034eab8dfcaa0028493c62026f0391baae1c1b98df9a6bde3a82bd510139b326110308cae941de9db1b73e27bd5e424228fb72114751412ce79983bcaac9a28c56a403ddb4899cd9f0026f5a00ba4e3261a93985be609e37a8d0e1924504979425c7a2036887182b02dd5c358a117ae4497f273c5f13df883fa17e8fd4198c4b089b0a520219ffff0219ffff05581e03fec5a0061f299c36d85fad9cc2a212f60dd12da06f95757588216819000701192e89030505283317c769f8c857a151697ad5699ba1d7563c1c999a203713784c38591103c585f012208730b848e801189aa56d488d7471a71c337cf645a6a4d22730394003d36f5b43541020d07744265b68d98d8451300463e01b077fc1de99289aef9a5e05581e0337b9270904f0017a5a0bb17fc5bb4857d7631b6867831068f1afb981800c0146919787890d4003e7e3b6347df3631698cc71375e834e10c27179972723f64f9d354f38ad55ce3103f7294e2c30fbd4f83970c1efa9349ce98d14731104e96ad690343f9dda171b8b0352be7a90058ea5e70ba5613094f03fc41f26cccaa37b464855c5c799051c94830141070395cf2fea621345527d1b08ca2f2f5567f14590a8a8da98ce6ff1f6beaebfa77503b4be5eb22f15c551d8b6e6392e7185c172ed0be9c0ee86cab48dfc339707d1a8021973ef034ed3a4971ad89ea6749d658b3a1c7d6d198ce821cb85c1e38ae8bce16d0eee2d03af3d2d5c91ca8fdac564e8be5f2ec4e77364170b2d620e490fceaf4a961607250373b4eda51d7797d4047887940f6ca5d3142afce67b0ab0b12affaa73dbe2654e031a94b383c52da83727fb08e0237b3d0dda44f03814e0f6a70b33b03e0cecd0e40219ffff039d9732fb53eb5948f18e883a6e0b694f554073e458d606d0698bf948d1e3dfeb031cf2a6398798a9b2fbb35b5f46ebff32383b7baa0557825ca9f7b57fd7742af8037f2072572f9c81e16110e1b1024721b5ca2db4f09cb0f2be946b0bb42a1ccd62033c589428155cb297c48e3b8a94b019bad965245dac05fba5b20c5714f141f7d60309c350d00b9acbfbbd24c4bfa000ec977381993ad365f16b9a7cdb09c766046703bb403f5e49f05705cb67329776ec5b88f44b38862c978f59568d006d8253949e0219ffff039304cd41eb82b20279544f1ce7332b13f8ca5388de050c5739b05e709e5394f103708556b7eeeb5342a80a62eb8770bca0d9054892f8ad30abe0295748afb4bc46039e9953ec12ce9f464bc8eec26fa2cca4fae77a2766e0db4db6b83b29b50c40cc0365bdeb20540342887f197d63909b833d268f039d1eb885198c0e2af8e4b0ed47038ee8c912c0b2e70810d430dd549d1d22c0dfcf8a75e2fa8d96f8195ee98f30f303ca099d288657d6b60d18f9a4294f77c27d348fdf0b2aa9f03dfdafc6eee17a6b03ab041ff1ae9c9505cfc9c66fa155298008b27f1223eaa82d2ccde026ed20c488032c7a7423344dd64719eb269a2b36861693b0a8007e6850a387fe5f4599b9c8d9031e18d57ae17286d0824d7d0e889b9d88646930964b56f992feadf6d14d23dd9a03244ce66fc59b41dbf2d575d04502937c8a25f9db8d7f268d57f84c4aa45d13c003042569a55333b8d2bc89feda1d9b8cc63efc3c2a60ee2d71cf09f63a167c47220219ffff035e48c96c42854ec2ca325cd2b76c375e7e835e8b99a2bd44b8c7181a0adeda5b03e18c58b0ccf334fa09d6b96ea5faa091b7ee1ac03279bc26e019dc8d3429dcce037ca2ffe746282a877c8963171e73c8f7ca55628c0e5d180004ce05e6731b411303cc6dc5e79d23e230adaa5200a119fb76acad863b7ab1166319c1cae1236eceee0363950289cc09d021aa008d2bec0a3f82ded72c5b40e8862bc9121a40eba593da031236e0562b89206e5998530fa70506d289282c1841a3586edecb1e24f7e88ad3039404c8d45a8ec8ab83485062a1c9025634298cd90af0c69d2e71f8ada2ff62d6038cdbfec2ec3768849fc1a311345713d2fade7f8f43dc736185765dbf8e1f52d0034ff699e23b0c3bfd560cd826ec1e71faf39fba1adc0082148c95429521110f2d03dee72877620f11b56d932c612a1ac2305ff509f6e9ef334322e2093fbd764a62038b4e38ef0d83ccab7e4a80863f46fcb96058c56bebc359515e042b0256f76b0103d84817b3e3af635b02b6f59814afaeb2e7c57487a73306759d6fa57a998f13d705581e0388274475f73a55232599166bae2e7856d8939405a7c74ea350c5d046c00c02470970ff292a380005581e03e193ed12a3936ce7988fce1f9187cd58cd4456bc28ffc34dd8b80135c00c024701260b0a38c8e005581e037b0c33aa9347b023e87cdd8addecc587bf79f5cb9dd29779a4bf63d0200c024711d9aa4247d5df03aa4bd86f02ab8a2e07f0a9c449db3eb29d42d6ae03ac2bcb4dc2d401fdec402805581e03801e67313f2c87ecd61579ec9f460f7bb1dee0b4236cc90120bb1f6da00c024792954c2cb7020005581e03791be5622ead6b612751cfd2e34ac2c726509a03bd621da72f97fb5a000401045952cf600436101561000d576152c9565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052600015610244575b61014052600954610160526007546101805261016051421015610231576006546101c0526008546101e0526101c05161018051111561018a576101c051610180516101c051808210156100fb57600080fd5b80820390509050426101e0518082101561011457600080fd5b80820390509050808202821582848304141761012f57600080fd5b80905090509050610160516101e0518082101561014b57600080fd5b80820390509050808061015d57600080fd5b82049050905081818301101561017257600080fd5b8082019050905060005260005161014051565061022c565b6101c0516101c05161018051808210156101a357600080fd5b80820390509050426101e051808210156101bc57600080fd5b8082039050905080820282158284830414176101d757600080fd5b80905090509050610160516101e051808210156101f357600080fd5b80820390509050808061020557600080fd5b8204905090508082101561021857600080fd5b808203905090506000526000516101405156505b610242565b610180516000526000516101405156505b005b63f446c1d0600051141561027957341561025d57600080fd5b600658016100a9565b610140526101405160005260206000f350005b600015610399575b61014052610160670de0b6b3a764000081526c0c9f2c9cd04674edea4000000081602001526c0c9f2c9cd04674edea400000008160400152506101c060006003818352015b6101606101c051600381106102da57600080fd5b60200201516101c051600381106102f057600080fd5b600160c052602060c0200154808202821582848304141761031057600080fd5b80905090509050670de0b6b3a7640000808061032b57600080fd5b8204905090506101606101c0516003811061034557600080fd5b60200201525b81516001018083528114156102c6575b505060606101e0525b60006101e05111151561037657610392565b60206101e05103610160015160206101e051036101e052610364565b6101405156005b6000156104c1575b6101a0526101405261016052610180526101c0670de0b6b3a764000081526c0c9f2c9cd04674edea4000000081602001526c0c9f2c9cd04674edea4000000081604001525061022060006003818352015b6101c0610220516003811061040657600080fd5b6020020151610140610220516003811061041f57600080fd5b6020020151808202821582848304141761043857600080fd5b80905090509050670de0b6b3a7640000808061045357600080fd5b8204905090506101c0610220516003811061046d57600080fd5b60200201525b81516001018083528114156103f2575b50506060610240525b60006102405111151561049e576104ba565b602061024051036101c00151602061024051036102405261048c565b6101a05156005b6000156107af575b6101c0526101405261016052610180526101a05260006101e05261022060006003818352015b602061022051026101400151610200526101e080516102005181818301101561051757600080fd5b808201905090508152505b81516001018083528114156104ef575b50506101e051151561054d5760006000526000516101c05156505b6000610260526101e051610280526101a0516003808202821582848304141761057557600080fd5b809050905090506102a0526102c0600060ff818352015b610280516102e05261032060006003818352015b602061032051026101400151610300526102e0516102805180820282158284830414176105cc57600080fd5b8090509050905061030051600380820282158284830414176105ed57600080fd5b8090509050905080806105ff57600080fd5b8204905090506102e0525b81516001018083528114156105a0575b505061028051610260526102a0516101e051808202821582848304141761064057600080fd5b809050905090506102e0516003808202821582848304141761066157600080fd5b8090509050905081818301101561067757600080fd5b8082019050905061028051808202821582848304141761069657600080fd5b809050905090506102a0516001808210156106b057600080fd5b808203905090506102805180820282158284830414176106cf57600080fd5b8090509050905060046102e05180820282158284830414176106f057600080fd5b8090509050905081818301101561070657600080fd5b80820190509050808061071857600080fd5b820490509050610280526102605161028051111561075f57600161028051610260518082101561074757600080fd5b8082039050905011151561075a5761079b565b61078a565b600161026051610280518082101561077657600080fd5b808203905090501115156107895761079b565b5b5b815160010180835281141561058c575b5050610280516000526000516101c0515650005b60001561090d575b6101c0526101405261016052610180526101a052610140610420525b610420515160206104205101610420526104206104205110156107f5576107d3565b610440610140610300525b6103005151602061030051016103005261030061030051101561082257610800565b6103206101408051825280602001518260200152806040015182604001525050610360516103405161032051600658016103a1565b6103c0526103e052610400526102e0610300525b610300515260206103005103610300526101406103005110151561088e5761086b565b6103c080518252806020015182602001528060400151826040015250506101a0516104a0526104a051610480516104605161044051600658016104c9565b61050052610400610420525b61042051526020610420510361042052610140610420511015156108fb576108d8565b610500516000526000516101c0515650005b63bb7b8b806000511415610af857341561092657600080fd5b6101406102e0525b6102e0515160206102e051016102e0526102e06102e05110156109505761092e565b6103006101405161016051610180516101a0516101c0516101e0516102005160065801610281565b610240526102605261028052610200526101e0526101c0526101a05261018052610160526101405261024080518252806020015182602001528060400151826040015250506101406102a0525b6102a0515160206102a051016102a0526102a06102a05110156109e7576109c5565b600658016100a9565b6102c0526102806102a0525b6102a0515260206102a051036102a0526101406102a051101515610a1f576109fc565b6102c0516103605261036051610340516103205161030051600658016104c9565b6103c0526102c06102e0525b6102e0515260206102e051036102e0526101406102e051101515610a6f57610a4c565b6103c05161014052602061046060046318160ddd6104005261041c6005545afa610a9857600080fd5b601f3d11610aa557600080fd5b600050610460516103e05261014051670de0b6b3a76400008082028215828483041417610ad157600080fd5b809050905090506103e0518080610ae757600080fd5b82049050905060005260206000f350005b633883e1196000511415610e46573415610b1157600080fd5b60643560028110610b2157600080fd5b5061014060018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506101405161016051610180516101a051600658016100a9565b6101e0526101a0526101805261016052610140526101e0516101a0526101405161016051610180516101a0516101c0516101e0516102005161024061014080518252806020015182602001528060400151826040015250506101a0516102a0526102a051610280516102605161024051600658016107b7565b61030052610200526101e0526101c0526101a052610180526101605261014052610300516102005261032060006003818352015b60643515610c77576101406103205160038110610c3b57600080fd5b60200201805160046103205160038110610c5457600080fd5b6020020135818183011015610c6857600080fd5b80820190509050815250610cc1565b6101406103205160038110610c8b57600080fd5b60200201805160046103205160038110610ca457600080fd5b602002013580821015610cb657600080fd5b808203905090508152505b5b8151600101808352811415610c1f575b5050610140610360525b61036051516020610360510161036052610360610360511015610cfe57610cdc565b61038061014080518252806020015182602001528060400151826040015250506101a0516103e0526103e0516103c0516103a05161038051600658016107b7565b61044052610340610360525b6103605152602061036051036103605261014061036051101515610d6e57610d4b565b610440516103405260206104e060046318160ddd6104805261049c6005545afa610d9757600080fd5b601f3d11610da457600080fd5b6000506104e0516104605260006105005260643515610de257610340516102005180821015610dd257600080fd5b8082039050905061050052610e03565b610200516103405180821015610df757600080fd5b80820390509050610500525b61050051610460518082028215828483041417610e1f57600080fd5b80905090509050610200518080610e3557600080fd5b82049050905060005260206000f350005b634515cef3600051141561189c5762ffffff5415610e6357600080fd5b600162ffffff553415610e7557600080fd5b600f5415610e8257600080fd5b6060366101403760025460038082028215828483041417610ea257600080fd5b8090509050905060088080610eb657600080fd5b8204905090506101a0526003546101c0526101405161016051610180516101a0516101c0516101e051600658016100a9565b610220526101e0526101c0526101a052610180526101605261014052610220516101e05260206102c060046318160ddd6102605261027c6005545afa610f2d57600080fd5b601f3d11610f3a57600080fd5b6000506102c0516102405260006102e05261030060018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c020015482604001525050600061024051111561103157610140610360525b61036051516020610360510161036052610360610360511015610fb857610f96565b61038061030080518252806020015182602001528060400151826040015250506101e0516103e0526103e0516103c0516103a05161038051600658016107b7565b61044052610340610360525b610360515260206103605103610360526101406103605110151561102857611005565b610440516102e0525b61046061030080518252806020015182602001528060400151826040015250506104c060006003818352015b60046104c0516003811061107057600080fd5b60200201356104e0526102405115156110945760006104e0511161109357600080fd5b5b6104c051600381106110a557600080fd5b600060c052602060c02001546105005260006104e05111156112d65760026104c051141561110d5760206105a060246370a0823161052052306105405261053c610500515afa6110f457600080fd5b601f3d1161110157600080fd5b6000506105a0516104e0525b60006004610620527f23b872dd000000000000000000000000000000000000000000000000000000006106405261062060048060208461068001018260208501600060045af1505080518201915050336020826106800101526020810190503060208261068001015260208101905060046104c0516003811061118f57600080fd5b6020020135602082610680010152602081019050806106805261068090508051602001806107408284600060045af16111c757600080fd5b50506020610820610740516107606000610500515af16111e657600080fd5b60203d808211156111f757806111f9565b815b90509050610800526108008051602001806105c08284600060045af161121e57600080fd5b505060006105c0511115611271576105c080602001516000825180602090131561124757600080fd5b809190121561125557600080fd5b806020036101000a8204905090509050151561127057600080fd5b5b60026104c05114156112d55760206108e060246370a0823161086052306108805261087c610500515afa6112a457600080fd5b601f3d116112b157600080fd5b6000506108e0516104e051808210156112c957600080fd5b808203905090506104e0525b5b6103006104c051600381106112ea57600080fd5b60200201516104e05181818301101561130257600080fd5b808201905090506104606104c0516003811061131d57600080fd5b60200201525b815160010180835281141561105d575b5050610140610920525b6109205151602061092051016109205261092061092051101561135f5761133d565b61094061046080518252806020015182602001528060400151826040015250506101e0516109a0526109a051610980516109605161094051600658016107b7565b610a0052610900610920525b61092051526020610920510361092052610140610920511015156113cf576113ac565b610a0051610900526102e05161090051116113e957600080fd5b61090051610a205260006102405111156116e357610a4060006003818352015b61090051610300610a40516003811061142157600080fd5b6020020151808202821582848304141761143a57600080fd5b809050905090506102e051808061145057600080fd5b820490509050610a60526000610a8052610460610a40516003811061147457600080fd5b6020020151610a605111156114bd57610a6051610460610a40516003811061149b57600080fd5b6020020151808210156114ad57600080fd5b80820390509050610a80526114f3565b610460610a4051600381106114d157600080fd5b6020020151610a6051808210156114e757600080fd5b80820390509050610a80525b6101a051610a8051808202821582848304141761150f57600080fd5b809050905090506402540be400808061152757600080fd5b820490509050610140610a40516003811061154157600080fd5b6020020152610460610a40516003811061155a57600080fd5b6020020151610140610a40516003811061157357600080fd5b60200201516101c051808202821582848304141761159057600080fd5b809050905090506402540be40080806115a857600080fd5b820490509050808210156115bb57600080fd5b80820390509050610a4051600381106115d357600080fd5b600160c052602060c0200155610460610a4051600381106115f357600080fd5b602002018051610140610a40516003811061160d57600080fd5b60200201518082101561161f57600080fd5b808203905090508152505b8151600101808352811415611409575b5050610140610aa0525b610aa051516020610aa05101610aa052610a40610aa051101561166657611644565b610ac061046080518252806020015182602001528060400151826040015250506101e051610b2052610b2051610b0051610ae051610ac051600658016107b7565b610b8052610a20610aa0525b610aa051526020610aa05103610aa052610140610aa0511015156116d6576116b3565b610b8051610a205261170b565b600160c052602060c02061046080518255806020015160018301558060400151600283015550505b6000610ba0526102405115156117285761090051610ba05261177d565b61024051610a20516102e0518082101561174157600080fd5b80820390509050808202821582848304141761175c57600080fd5b809050905090506102e051808061177257600080fd5b820490509050610ba0525b6308c379a0610bc0526020610be0526014610c00527f536c697070616765207363726577656420796f75000000000000000000000000610c2052610c0050606435610ba05110156117cf576064610bdcfd5b6020610d0060446340c10f19610c605233610c8052610ba051610ca052610c7c60006005545af16117ff57600080fd5b601f3d1161180c57600080fd5b600050610d0050600435610d2052602435610d4052604435610d605261014051610d805261016051610da05261018051610dc05261090051610de05261024051610ba05181818301101561185f57600080fd5b80820190509050610e0052337f423f6495a08fc652425cf4ed0d1f9e37e571d9b9529b1c1c23cce780b2e7df0d610100610d20a2600062ffffff55005b600015611d13575b610200526101405261016052610180526101a0526101c0526101e0526101605161014051186118d257600080fd5b60006101605112156118e357600080fd5b600361016051126118f357600080fd5b600061014051121561190457600080fd5b6003610140511261191457600080fd5b6101405161016051610180516101a0516101c0516101e0516102005161022051600658016100a9565b6102605261022052610200526101e0526101c0526101a05261018052610160526101405261026051610220526101406102a0525b6102a0515160206102a051016102a0526102a06102a051101561199357611971565b6102c06101a08051825280602001518260200152806040015182604001525050610220516103205261032051610300516102e0516102c051600658016104c9565b610380526102806102a0525b6102a0515260206102a051036102a0526101406102a051101515611a03576119e0565b6103805161028052610280516103a05260006103c0526102205160038082028215828483041417611a3357600080fd5b809050905090506103e05260006104005261042060006003818352015b61014051610420511415611a6b576101805161040052611aa1565b61016051610420511815611a9b576101a06104205160038110611a8d57600080fd5b602002015161040052611aa0565b611b1d565b5b6103c0805161040051818183011015611ab957600080fd5b808201905090508152506103a051610280518082028215828483041417611adf57600080fd5b809050905090506104005160038082028215828483041417611b0057600080fd5b809050905090508080611b1257600080fd5b8204905090506103a0525b8151600101808352811415611a50575b50506103a051610280518082028215828483041417611b4b57600080fd5b809050905090506103e05160038082028215828483041417611b6c57600080fd5b809050905090508080611b7e57600080fd5b8204905090506103a0526103c051610280516103e0518080611b9f57600080fd5b820490509050818183011015611bb457600080fd5b808201905090506104405260006104605261028051610480526104a0600060ff818352015b610480516104605261048051610480518082028215828483041417611bfd57600080fd5b809050905090506103a051818183011015611c1757600080fd5b808201905090506002610480518082028215828483041417611c3857600080fd5b8090509050905061044051818183011015611c5257600080fd5b808201905090506102805180821015611c6a57600080fd5b808203905090508080611c7c57600080fd5b8204905090506104805261046051610480511115611cc3576001610480516104605180821015611cab57600080fd5b80820390509050111515611cbe57611cff565b611cee565b6001610460516104805180821015611cda57600080fd5b80820390509050111515611ced57611cff565b5b5b8151600101808352811415611bd9575b505061048051600052600051610200515650005b635e0d443f6000511415612045573415611d2c57600080fd5b60605160043580604051901315611d4257600080fd5b8091901215611d5057600080fd5b5060605160243580604051901315611d6757600080fd5b8091901215611d7557600080fd5b50610140670de0b6b3a764000081526c0c9f2c9cd04674edea4000000081602001526c0c9f2c9cd04674edea400000008160400152506101a06101405161016051610180516101a0516101c0516101e05160065801610281565b6102205261024052610260526101e0526101c0526101a05261018052610160526101405261022080518252806020015182602001528060400151826040015250506101a060043560038110611e2357600080fd5b602002015160443561014060043560038110611e3e57600080fd5b60200201518082028215828483041417611e5757600080fd5b80905090509050670de0b6b3a76400008080611e7257600080fd5b820490509050818183011015611e8757600080fd5b80820190509050610280526101406102c0525b6102c0515160206102c051016102c0526102c06102c0511015611ebc57611e9a565b6004356102e0526024356103005261028051610320526103406101a0805182528060200151826020015280604001518260400152505061038051610360516103405161032051610300516102e051600658016118a4565b6103e0526102a06102c0525b6102c0515260206102c051036102c0526101406102c051101515611f4257611f1f565b6103e0516102a0526101a060243560038110611f5d57600080fd5b60200201516102a05180821015611f7357600080fd5b80820390509050600180821015611f8957600080fd5b80820390509050670de0b6b3a76400008082028215828483041417611fad57600080fd5b8090509050905061014060243560038110611fc757600080fd5b60200201518080611fd757600080fd5b82049050905061040052600254610400518082028215828483041417611ffc57600080fd5b809050905090506402540be400808061201457600080fd5b8204905090506104205261040051610420518082101561203357600080fd5b8082039050905060005260206000f350005b6307211ef7600051141561230a57341561205e57600080fd5b6060516004358060405190131561207457600080fd5b809190121561208257600080fd5b506060516024358060405190131561209957600080fd5b80919012156120a757600080fd5b5061014061014051610160516101805160065801610281565b6101c0526101e052610200526101805261016052610140526101c080518252806020015182602001528060400151826040015250506102206001815264e8d4a51000816020015264e8d4a510008160400152506101406004356003811061212657600080fd5b60200201516044356102206004356003811061214157600080fd5b6020020151808202821582848304141761215a57600080fd5b8090509050905081818301101561217057600080fd5b80820190509050610280526101406102c0525b6102c0515160206102c051016102c0526102c06102c05110156121a557612183565b6004356102e052602435610300526102805161032052610340610140805182528060200151826020015280604001518260400152505061038051610360516103405161032051610300516102e051600658016118a4565b6103e0526102a06102c0525b6102c0515260206102c051036102c0526101406102c05110151561222b57612208565b6103e0516102a0526101406024356003811061224657600080fd5b60200201516102a0518082101561225c57600080fd5b8082039050905060018082101561227257600080fd5b808203905090506102206024356003811061228c57600080fd5b6020020151808061229c57600080fd5b820490509050610400526002546104005180820282158284830414176122c157600080fd5b809050905090506402540be40080806122d957600080fd5b820490509050610420526104005161042051808210156122f857600080fd5b8082039050905060005260206000f350005b633df021246000511415612c595762ffffff541561232757600080fd5b600162ffffff55341561233957600080fd5b6060516004358060405190131561234f57600080fd5b809190121561235d57600080fd5b506060516024358060405190131561237457600080fd5b809190121561238257600080fd5b50600f541561239057600080fd5b610140670de0b6b3a764000081526c0c9f2c9cd04674edea4000000081602001526c0c9f2c9cd04674edea400000008160400152506101a060018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506102006101405161016051610180516101a0516101c0516101e0516102005161022051610240516102806101a080518252806020015182602001528060400151826040015250506102c0516102a05161028051600658016103a1565b6103205261034052610360526102405261022052610200526101e0526101c0526101a052610180526101605261014052610320805182528060200151826020015280604001518260400152505060443561038052600435600381106124bc57600080fd5b600060c052602060c02001546103a0526002600435141561251757602061044060246370a082316103c052306103e0526103dc6103a0515afa6124fe57600080fd5b601f3d1161250b57600080fd5b60005061044051610380525b600060046104c0527f23b872dd000000000000000000000000000000000000000000000000000000006104e0526104c060048060208461052001018260208501600060045af15050805182019150503360208261052001015260208101905030602082610520010152602081019050604435602082610520010152602081019050806105205261052090508051602001806105e08284600060045af16125bc57600080fd5b505060206106c06105e05161060060006103a0515af16125db57600080fd5b60203d808211156125ec57806125ee565b815b905090506106a0526106a08051602001806104608284600060045af161261357600080fd5b505060006104605111156126665761046080602001516000825180602090131561263c57600080fd5b809190121561264a57600080fd5b806020036101000a8204905090509050151561266557600080fd5b5b600260043514156126c957602061078060246370a0823161070052306107205261071c6103a0515afa61269857600080fd5b601f3d116126a557600080fd5b6000506107805161038051808210156126bd57600080fd5b80820390509050610380525b610200600435600381106126dc57600080fd5b602002015161038051610140600435600381106126f857600080fd5b6020020151808202821582848304141761271157600080fd5b80905090509050670de0b6b3a7640000808061272c57600080fd5b82049050905081818301101561274157600080fd5b808201905090506107a0526101406107e0525b6107e0515160206107e051016107e0526107e06107e051101561277657612754565b60043561080052602435610820526107a0516108405261086061020080518252806020015182602001528060400151826040015250506108a0516108805161086051610840516108205161080051600658016118a4565b610900526107c06107e0525b6107e0515260206107e051036107e0526101406107e0511015156127fc576127d9565b610900516107c0526102006024356003811061281757600080fd5b60200201516107c0518082101561282d57600080fd5b8082039050905060018082101561284357600080fd5b808203905090506109205261092051600254808202821582848304141761286957600080fd5b809050905090506402540be400808061288157600080fd5b820490509050610940526109205161094051808210156128a057600080fd5b80820390509050670de0b6b3a764000080820282158284830414176128c457600080fd5b80905090509050610140602435600381106128de57600080fd5b602002015180806128ee57600080fd5b820490509050610920526308c379a061096052602061098052602e6109a0527f45786368616e676520726573756c74656420696e20666577657220636f696e736109c0527f207468616e2065787065637465640000000000000000000000000000000000006109e0526109a05060643561092051101561296f57608461097cfd5b61094051600354808202821582848304141761298a57600080fd5b809050905090506402540be40080806129a257600080fd5b820490509050610a2052610a2051670de0b6b3a764000080820282158284830414176129cd57600080fd5b80905090509050610140602435600381106129e757600080fd5b602002015180806129f757600080fd5b820490509050610a20526101a060043560038110612a1457600080fd5b602002015161038051818183011015612a2c57600080fd5b8082019050905060043560038110612a4357600080fd5b600160c052602060c02001556101a060243560038110612a6257600080fd5b60200201516109205180821015612a7857600080fd5b80820390509050610a205180821015612a9057600080fd5b8082039050905060243560038110612aa757600080fd5b600160c052602060c020015560006004610a40527fa9059cbb00000000000000000000000000000000000000000000000000000000610a6052610a40600480602084610aa001018260208501600060045af150508051820191505033602082610aa001015260208101905061092051602082610aa001015260208101905080610aa052610aa09050805160200180610b408284600060045af1612b4957600080fd5b50506020610c00610b4051610b60600060243560038110612b6957600080fd5b600060c052602060c02001545af1612b8057600080fd5b60203d80821115612b915780612b93565b815b90509050610be052610be08051602001806104608284600060045af1612bb857600080fd5b50506000610460511115612c0b57610460806020015160008251806020901315612be157600080fd5b8091901215612bef57600080fd5b806020036101000a82049050905090501515612c0a57600080fd5b5b600435610c4052604435610c6052602435610c805261092051610ca052337f8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd971406080610c40a2600062ffffff55005b63ecb586a560005114156130405762ffffff5415612c7657600080fd5b600162ffffff553415612c8857600080fd5b60206101c060046318160ddd6101605261017c6005545afa612ca957600080fd5b601f3d11612cb657600080fd5b6000506101c051610140526060366101e037606036610240376102a060006003818352015b6102a05160038110612cec57600080fd5b600160c052602060c02001546004358082028215828483041417612d0f57600080fd5b80905090509050610140518080612d2557600080fd5b8204905090506102c0526308c379a06102e0526020610300526030610320527f5769746864726177616c20726573756c74656420696e20666577657220636f69610340527f6e73207468616e20657870656374656400000000000000000000000000000000610360526103205060246102a05160038110612da557600080fd5b60200201356102c0511015612dbb5760846102fcfd5b6102a05160038110612dcc57600080fd5b600160c052602060c0200180546102c05180821015612dea57600080fd5b808203905090508155506102c0516101e06102a05160038110612e0c57600080fd5b602002015260006004610400527fa9059cbb000000000000000000000000000000000000000000000000000000006104205261040060048060208461046001018260208501600060045af1505080518201915050336020826104600101526020810190506102c051602082610460010152602081019050806104605261046090508051602001806105008284600060045af1612ea757600080fd5b505060206105c06105005161052060006102a05160038110612ec857600080fd5b600060c052602060c02001545af1612edf57600080fd5b60203d80821115612ef05780612ef2565b815b905090506105a0526105a08051602001806103a08284600060045af1612f1757600080fd5b505060006103a0511115612f6a576103a0806020015160008251806020901315612f4057600080fd5b8091901215612f4e57600080fd5b806020036101000a82049050905090501515612f6957600080fd5b5b5b8151600101808352811415612cdb575b505060206106a060446379cc67906106005233610620526004356106405261061c60006005545af1612fac57600080fd5b601f3d11612fb957600080fd5b6000506106a0506101e0516106c052610200516106e0526102205161070052610240516107205261026051610740526102805161076052610140516004358082101561300457600080fd5b8082039050905061078052337fa49d4cf02656aebf8c771f5a8585638a2a15ee6c97cf7205d4208ed7c1df252d60e06106c0a2600062ffffff55005b639fdaea0c60005114156139915762ffffff541561305d57600080fd5b600162ffffff55341561306f57600080fd5b600f541561307c57600080fd5b60206101c060046318160ddd6101605261017c6005545afa61309d57600080fd5b601f3d116130aa57600080fd5b6000506101c05161014052600061014051186130c557600080fd5b600254600380820282158284830414176130de57600080fd5b80905090509050600880806130f257600080fd5b8204905090506101e052600354610200526101405161016051610180516101a0516101c0516101e0516102005161022051600658016100a9565b6102605261022052610200526101e0526101c0526101a052610180526101605261014052610260516102205261028060018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015250506102e06102808051825280602001518260200152806040015182604001525050610140610360525b610360515160206103605101610360526103606103605110156131d9576131b7565b6103806102808051825280602001518260200152806040015182604001525050610220516103e0526103e0516103c0516103a05161038051600658016107b7565b61044052610340610360525b610360515260206103605103610360526101406103605110151561324957613226565b610440516103405261046060006003818352015b6102e0610460516003811061327157600080fd5b6020020180516004610460516003811061328a57600080fd5b60200201358082101561329c57600080fd5b808203905090508152505b815160010180835281141561325d575b50506101406104a0525b6104a0515160206104a051016104a0526104a06104a05110156132e3576132c1565b6104c06102e08051825280602001518260200152806040015182604001525050610220516105205261052051610500516104e0516104c051600658016107b7565b610580526104806104a0525b6104a0515260206104a051036104a0526101406104a05110151561335357613330565b61058051610480526060366105a03761060060006003818352015b61048051610280610600516003811061338657600080fd5b6020020151808202821582848304141761339f57600080fd5b809050905090506103405180806133b557600080fd5b820490509050610620526000610640526102e061060051600381106133d957600080fd5b602002015161062051111561342257610620516102e0610600516003811061340057600080fd5b60200201518082101561341257600080fd5b8082039050905061064052613458565b6102e0610600516003811061343657600080fd5b6020020151610620518082101561344c57600080fd5b80820390509050610640525b6101e05161064051808202821582848304141761347457600080fd5b809050905090506402540be400808061348c57600080fd5b8204905090506105a061060051600381106134a657600080fd5b60200201526102e061060051600381106134bf57600080fd5b60200201516105a061060051600381106134d857600080fd5b60200201516102005180820282158284830414176134f557600080fd5b809050905090506402540be400808061350d57600080fd5b8204905090508082101561352057600080fd5b80820390509050610600516003811061353857600080fd5b600160c052602060c02001556102e0610600516003811061355857600080fd5b6020020180516105a0610600516003811061357257600080fd5b60200201518082101561358457600080fd5b808203905090508152505b815160010180835281141561336e575b5050610140610680525b610680515160206106805101610680526106806106805110156135cb576135a9565b6106a06102e080518252806020015182602001528060400151826040015250506102205161070052610700516106e0516106c0516106a051600658016107b7565b61076052610660610680525b610680515260206106805103610680526101406106805110151561363b57613618565b610760516106605261034051610660518082101561365857600080fd5b8082039050905061014051808202821582848304141761367757600080fd5b8090509050905061034051808061368d57600080fd5b82049050905061078052600061078051186136a757600080fd5b610780805160018181830110156136bd57600080fd5b808201905090508152506308c379a06107a05260206107c05260146107e0527f536c697070616765207363726577656420796f75000000000000000000000000610800526107e0506064356107805111156137195760646107bcfd5b60206108e060446379cc6790610840523361086052610780516108805261085c60006005545af161374957600080fd5b601f3d1161375657600080fd5b6000506108e05061090060006003818352015b60006004610900516003811061377e57600080fd5b602002013518156138f75760006004610980527fa9059cbb000000000000000000000000000000000000000000000000000000006109a0526109806004806020846109e001018260208501600060045af1505080518201915050336020826109e0010152602081019050600461090051600381106137fb57600080fd5b60200201356020826109e0010152602081019050806109e0526109e09050805160200180610a808284600060045af161383357600080fd5b50506020610b40610a8051610aa06000610900516003811061385457600080fd5b600060c052602060c02001545af161386b57600080fd5b60203d8082111561387c578061387e565b815b90509050610b2052610b208051602001806109208284600060045af16138a357600080fd5b505060006109205111156138f6576109208060200151600082518060209013156138cc57600080fd5b80919012156138da57600080fd5b806020036101000a820490509050905015156138f557600080fd5b5b5b5b8151600101808352811415613769575b5050600435610b8052602435610ba052604435610bc0526105a051610be0526105c051610c00526105e051610c205261048051610c405261014051610780518082101561395457600080fd5b80820390509050610c6052337f173599dbf9c6ca6f7c3b590df07ae98a45d74ff54065505141e7de6c46a624c2610100610b80a2600062ffffff55005b600015613cc2575b610200526101405261016052610180526101a0526101c0526101e05260006101605112156139c657600080fd5b600361016051126139d657600080fd5b6101e0516102205260006102405261014051600380820282158284830414176139fe57600080fd5b80905090509050610260526000610280526102a060006003818352015b610160516102a0511815613a4b576101806102a05160038110613a3d57600080fd5b602002015161028052613a50565b613acc565b610240805161028051818183011015613a6857600080fd5b80820190509050815250610220516101e0518082028215828483041417613a8e57600080fd5b809050905090506102805160038082028215828483041417613aaf57600080fd5b809050905090508080613ac157600080fd5b820490509050610220525b8151600101808352811415613a1b575b5050610220516101e0518082028215828483041417613afa57600080fd5b809050905090506102605160038082028215828483041417613b1b57600080fd5b809050905090508080613b2d57600080fd5b82049050905061022052610240516101e051610260518080613b4e57600080fd5b820490509050818183011015613b6357600080fd5b808201905090506102c05260006102e0526101e05161030052610320600060ff818352015b610300516102e05261030051610300518082028215828483041417613bac57600080fd5b8090509050905061022051818183011015613bc657600080fd5b808201905090506002610300518082028215828483041417613be757600080fd5b809050905090506102c051818183011015613c0157600080fd5b808201905090506101e05180821015613c1957600080fd5b808203905090508080613c2b57600080fd5b820490509050610300526102e051610300511115613c72576001610300516102e05180821015613c5a57600080fd5b80820390509050111515613c6d57613cae565b613c9d565b60016102e0516103005180821015613c8957600080fd5b80820390509050111515613c9c57613cae565b5b5b8151600101808352811415613b88575b505061030051600052600051610200515650005b600015614389575b6101805261014052610160526101405161016051610180516101a051600658016100a9565b6101e0526101a0526101805261016052610140526101e0516101a05260025460038082028215828483041417613d2457600080fd5b8090509050905060088080613d3857600080fd5b820490509050610200526102206001815264e8d4a51000816020015264e8d4a51000816040015250602061030060046318160ddd6102a0526102bc6005545afa613d8157600080fd5b601f3d11613d8e57600080fd5b6000506103005161028052610320610140610380525b61038051516020610380510161038052610380610380511015613dc657613da4565b60065801610281565b6103a0526103c0526103e052610360610380525b6103805152602061038051036103805261014061038051101515613e0657613de3565b6103a08051825280602001518260200152806040015182604001525050610140610420525b61042051516020610420510161042052610420610420511015613e4d57613e2b565b61044061032080518252806020015182602001528060400151826040015250506101a0516104a0526104a051610480516104605161044051600658016104c9565b61050052610400610420525b6104205152602061042051036104205261014061042051101515613ebd57613e9a565b61050051610400526104005161014051610400518082028215828483041417613ee557600080fd5b80905090509050610280518080613efb57600080fd5b82049050905080821015613f0e57600080fd5b808203905090506105205261054061032080518252806020015182602001528060400151826040015250506101406105c0525b6105c0515160206105c051016105c0526105c06105c0511015613f6357613f41565b6101a0516105e05261016051610600526106206103208051825280602001518260200152806040015182604001525050610520516106805261068051610660516106405161062051610600516105e05160065801613999565b6106e0526105a06105c0525b6105c0515260206105c051036105c0526101406105c051101515613feb57613fc8565b6106e0516105a052610320610160516003811061400757600080fd5b60200201516105a0518082101561401d57600080fd5b80820390509050610220610160516003811061403857600080fd5b6020020151808061404857600080fd5b8204905090506107005261072060006003818352015b600061074052610160516107205114156140e057610320610720516003811061408657600080fd5b60200201516105205180820282158284830414176140a357600080fd5b809050905090506104005180806140b957600080fd5b8204905090506105a051808210156140d057600080fd5b808203905090506107405261415f565b61032061072051600381106140f457600080fd5b6020020151610320610720516003811061410d57600080fd5b602002015161052051808202821582848304141761412a57600080fd5b8090509050905061040051808061414057600080fd5b8204905090508082101561415357600080fd5b80820390509050610740525b610540610720516003811061417357600080fd5b6020020180516102005161074051808202821582848304141761419557600080fd5b809050905090506402540be40080806141ad57600080fd5b820490509050808210156141c057600080fd5b808203905090508152505b815160010180835281141561405e575b505061054061016051600381106141f157600080fd5b6020020151610140610780525b61078051516020610780510161078052610780610780511015614220576141fe565b6101a0516107a052610160516107c0526107e0610540805182528060200151826020015280604001518260400152505061052051610840526108405161082051610800516107e0516107c0516107a05160065801613999565b6108a052610760610780525b61078051526020610780510361078052610140610780511015156142a857614285565b6108a051808210156142b957600080fd5b8082039050905061076052610760516001808210156142d757600080fd5b8082039050905061022061016051600381106142f257600080fd5b6020020151808061430257600080fd5b820490509050610760526108c08080806107605181525050602081019050808061070051610760518082101561433757600080fd5b808203905090508152505060409050905060c05260c051610900525b60006109005111151561436557614381565b602061090051036108c001516020610900510361090052614353565b610180515650005b63cc2b27d760005114156143fd5734156143a257600080fd5b606051602435806040519013156143b857600080fd5b80919012156143c657600080fd5b506004356101405260243561016052610160516101405160065801613cca565b6101c0526101e0526101c05160005260206000f350005b631a4d01d260005114156147685762ffffff541561441a57600080fd5b600162ffffff55341561442c57600080fd5b6060516024358060405190131561444257600080fd5b809190121561445057600080fd5b50600f541561445e57600080fd5b60006101405260006101605261014051610160516004356101a0526024356101c0526101c0516101a05160065801613cca565b61022052610240526101605261014052610220805161014052602081015161016052506308c379a06102605260206102805260186102a0527f4e6f7420656e6f75676820636f696e732072656d6f76656400000000000000006102c0526102a05060443561014051101561450657606461027cfd5b6024356003811061451657600080fd5b600160c052602060c0200180546101405161016051600354808202821582848304141761454257600080fd5b809050905090506402540be400808061455a57600080fd5b82049050905081818301101561456f57600080fd5b808201905090508082101561458357600080fd5b8082039050905081555060206103a060446379cc67906103005233610320526004356103405261031c60006005545af16145bc57600080fd5b601f3d116145c957600080fd5b6000506103a05060006004610420527fa9059cbb000000000000000000000000000000000000000000000000000000006104405261042060048060208461048001018260208501600060045af15050805182019150503360208261048001015260208101905061014051602082610480010152602081019050806104805261048090508051602001806105208284600060045af161466657600080fd5b505060206105e06105205161054060006024356003811061468657600080fd5b600060c052602060c02001545af161469d57600080fd5b60203d808211156146ae57806146b0565b815b905090506105c0526105c08051602001806103c08284600060045af16146d557600080fd5b505060006103c0511115614728576103c08060200151600082518060209013156146fe57600080fd5b809190121561470c57600080fd5b806020036101000a8204905090509050151561472757600080fd5b5b600435610620526101405161064052337f9e96dd3b997a2a257eec4df9bb6eaf626e206df5f543bd963682d143300be3106040610620a2600062ffffff55005b633c157e64600051141561490b57341561478157600080fd5b600454331461478f57600080fd5b600854620151808181830110156147a557600080fd5b808201905090504210156147b857600080fd5b42620151808181830110156147cc57600080fd5b8082019050905060243510156147e157600080fd5b61014051600658016100a9565b610180526101405261018051610140526000600435111561481657620f424060043510614819565b60005b61482257600080fd5b6101405160043510151561485b5761014051600a808202821582848304141761484a57600080fd5b80905090509050600435111561485e565b60005b1561486a5760016148a6565b6101405160043510156148a25761014051600435600a808202821582848304141761489457600080fd5b8090509050905010156148a5565b60005b5b5b6148b057600080fd5b6101405160065560043560075542600855602435600955610140516101a0526004356101c052426101e052602435610200527fa2b71ec6df949300b59aab36b55e189697b750119dd349fcfa8c0f779e83c25460806101a0a1005b63551a6588600051141561499b57341561492457600080fd5b600454331461493257600080fd5b61014051600658016100a9565b6101805261014052610180516101405261014051600655610140516007554260085542600955610140516101a052426101c0527f46e22fb3709ad289f62ce63d469248536dbc78d82b84a3d7e74ad606dc20193860406101a0a1005b635b5a14676000511415614a645734156149b457600080fd5b60045433146149c257600080fd5b600a54156149cf57600080fd5b64012a05f20060043511156149e357600080fd5b6402540be40060243511156149f757600080fd5b426203f480818183011015614a0b57600080fd5b808201905090506101405261014051600a55600435600c55602435600d556004356101605260243561018052610140517f351fc5da2fbf480f2225debf3664a4bc90fa9923743aad58b4603f648e931fe06040610160a2005b634f12fe976000511415614b03573415614a7d57600080fd5b6004543314614a8b57600080fd5b600a54421015614a9a57600080fd5b6000600a5418614aa957600080fd5b6000600a55600c5461014052600d546101605261014051600255610160516003556101405161018052610160516101a0527fbe12859b636aed607d5230b2cc2711f68d70e51060e6cca1f575ef5d2fcc95d16040610180a1005b63226840fb6000511415614b31573415614b1c57600080fd5b6004543314614b2a57600080fd5b6000600a55005b636b441a406000511415614bd2573415614b4a57600080fd5b6004356020518110614b5b57600080fd5b506004543314614b6a57600080fd5b600b5415614b7757600080fd5b426203f480818183011015614b8b57600080fd5b808201905090506101405261014051600b55600435600e55600435610140517f181aa3aa17d4cbf99265dd4443eba009433d3cde79d60164fde1d1a192beb93560006000a3005b636a1c05ae6000511415614c56573415614beb57600080fd5b6004543314614bf957600080fd5b600b54421015614c0857600080fd5b6000600b5418614c1757600080fd5b6000600b55600e546101405261014051600455610140517f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c60006000a2005b6386fbf1936000511415614c84573415614c6f57600080fd5b6004543314614c7d57600080fd5b6000600b55005b63e2e7d2646000511415614d2b573415614c9d57600080fd5b60206101c060246370a0823161014052306101605261015c60043560038110614cc557600080fd5b600060c052602060c02001545afa614cdc57600080fd5b601f3d11614ce957600080fd5b6000506101c05160043560038110614d0057600080fd5b600160c052602060c020015480821015614d1957600080fd5b8082039050905060005260206000f350005b6330c540856000511415614f51573415614d4457600080fd5b6004543314614d5257600080fd5b61014060006003818352015b6101405160038110614d6f57600080fd5b600060c052602060c020015461016052602061022060246370a082316101a052306101c0526101bc610160515afa614da657600080fd5b601f3d11614db357600080fd5b600050610220516101405160038110614dcb57600080fd5b600160c052602060c020015480821015614de457600080fd5b80820390509050610180526000610180511115614f3c57600060046102a0527fa9059cbb000000000000000000000000000000000000000000000000000000006102c0526102a060048060208461030001018260208501600060045af15050805182019150503360208261030001015260208101905061018051602082610300010152602081019050806103005261030090508051602001806103a08284600060045af1614e9157600080fd5b505060206104606103a0516103c06000610160515af1614eb057600080fd5b60203d80821115614ec15780614ec3565b815b90509050610440526104408051602001806102408284600060045af1614ee857600080fd5b50506000610240511115614f3b57610240806020015160008251806020901315614f1157600080fd5b8091901215614f1f57600080fd5b806020036101000a82049050905090501515614f3a57600080fd5b5b5b5b8151600101808352811415614d5e575b5050005b63524c3901600051141561500a573415614f6a57600080fd5b6004543314614f7857600080fd5b61014060006003818352015b60206101e060246370a0823161016052306101805261017c6101405160038110614fad57600080fd5b600060c052602060c02001545afa614fc457600080fd5b601f3d11614fd157600080fd5b6000506101e0516101405160038110614fe957600080fd5b600160c052602060c02001555b8151600101808352811415614f84575b5050005b63e3698853600051141561504657341561502357600080fd5b600454331461503157600080fd5b426010541161503f57600080fd5b6001600f55005b633046f972600051141561507457341561505f57600080fd5b600454331461506d57600080fd5b6000600f55005b63c661065760005114156150b457341561508d57600080fd5b6004356003811061509d57600080fd5b600060c052602060c020015460005260206000f350005b634903b0d160005114156150f45734156150cd57600080fd5b600435600381106150dd57600080fd5b600160c052602060c020015460005260206000f350005b63ddca3f43600051141561511b57341561510d57600080fd5b60025460005260206000f350005b63fee3f7f9600051141561514257341561513457600080fd5b60035460005260206000f350005b638da5cb5b600051141561516957341561515b57600080fd5b60045460005260206000f350005b635409491a600051141561519057341561518257600080fd5b60065460005260206000f350005b63b4b577ad60005114156151b75734156151a957600080fd5b60075460005260206000f350005b632081066c60005114156151de5734156151d057600080fd5b60085460005260206000f350005b631405228860005114156152055734156151f757600080fd5b60095460005260206000f350005b63405e28f8600051141561522c57341561521e57600080fd5b600a5460005260206000f350005b63e0a0b586600051141561525357341561524557600080fd5b600b5460005260206000f350005b6358680d0b600051141561527a57341561526c57600080fd5b600c5460005260206000f350005b63e382446260005114156152a157341561529357600080fd5b600d5460005260206000f350005b631ec0cdc160005114156152c85734156152ba57600080fd5b600e5460005260206000f350005b5b60006000fd0058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00546c3f90f043a72fa612cbac8115ee7e52bde6e49000582103b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720445fa43cc20058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0430f42400058210310e4e770828ddbf7f7b00ab00a9f6adaf81c0dc9cc85f1f8249c256942d61d90546b175474e89094c44da98b954eedeac495271d0f00582002d75db57ae45c3799740c3cd8dcee96a498324843d79ae390adc81d74b52f1354dac17f958d2ee523a2206206994597c13d831ec70058200213d8c1c5df666ea9ca2a428504a3776c8ca01021c3a1524ca7d765f600979a54a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af44629872cb0219500800582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b054ecb456ea5365865ebab8a2661b0c503410e9b3470058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68804207d0005820022787652f8eacc66cda8b4b73a1b9c31381474fe9e723b0ba866bfbd5dde02b464bcb96f7e60800582002d9d894133a730aa651ef62d26b0ffa846233c74177a591a4a896adfda97d224b24bd5dae0aa4992d101a4c005820027b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd54ecb456ea5365865ebab8a2661b0c503410e9b34702190828005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b045012a05f20003501b2e9063f9af27a52ff01c60b2993a6273572f406f8100c8093a2ed096d99400582103a7809e925a8989e20c901c4c1da82f0ba29b26797760d445a0ce4cf3c6fbd3104628ebee20a93803def4bb5729492a53170a4f78fad02d306f3f45ef63761a6cb7b24672ceeb2ad10219fd7305581d02642a0c6b0a4e443cae610c60810112b73be572c5684dff048205950907011952cf05581d02e46a5979d20f7a0f213b7352e4a4a4835d19df77c50e49faa40995b704050219a0000331750a47053f1430d0ed094046f85031b6f40f6d6cfdf4be5be79ec170f42b8703ab61cc3b05c9a7dc466e110a2b490c530f6cea076302685ec95ff5753660c4d10605581e03b1e41a537f1b066f304221a1373e881e85690df30f2c24d63987bf847007011bffffffffffffffff0219fe4303026cb06be1a57452250bbf2f8f65d3313222f60fd3638225958f0581e8c13a310329230a8d90d0f04158769b6d57c0eca574e8369ca364630ecba9fd3ada6e6c7d0306f6c9e01325586c48791250e9babd003776a5349db6256e940444e21aff3a0c03bcb6d789e21777bbd83e8164347589bf6dbebd915fdefd2d5697ee556c6f830003e14949b7cf60cb03d82893be5cca73cbc92f12485fe6aad4693d1c6ca1399eb903c8096631475db6fa87398bea09c00d6829937556268bf5bdfaacecef18bfc22d03ef0ca218de51e7ef9da9891c69b51e1ad85eab46f46ab9cc96cf532480eeab6e03ca5c82e32c12f67a1526c319e9274fb08cf32820df2e0165a7ba8f1bba200bf80346f2d3f6fe1f6b92b20b4144001e59abd1fd1c3c283f5c3eeb9a79d22f2b6d2f03081b9ba9502ba9e6f22c7258890c33e3281ddfcd9544ab2cc52f0e3b926d3d23034abf499137fc74988eabe16a07f5521ad35f44dadef9fd83b60fb4090afc6b6503686c3d35567f9ccd444e3fcf2790fe58f221c44a1fd6070023e42923606b62db033d1b2cbf93ff4ba649d5a4a6bd31cdf48b998291a2ba3e5f413417eea328d8b80219ffff032667020e249dc9951e927972db3788810c053f14dfd63ce0eba51db1bf5b3f7a03fda9c9897fd28b752826ec599a873f2e21d1be0e6b9baf237512447e6a227c0303c6f41d07c71d1135a6151d9ee614971beb60006f77dee386f66e92c8104708f7032fcc7abded2e0cefec9653b368f4fe0c77568b1176305d69d9fdd8f7b726944a030abfe69523170486a017bb8f05dd8f303100ec0fe3d2650551a0e96757708f2d03e6727aa60214cc63c0eed979952c6c00f48165ff586d46b0dc99e50a76039c1a033134c7c4fad43e8ddbccc1f1fe92d1bc6b11a66e3e698b950a43c411665ec2dd0398afd6dfbb2da07a2cd6972f4ad253092cfc31a0c251a5157d408f566b6417610376f99f3f900e81eb7d5fc6afa5f6176412ca1c1e6427680fa5f2cab0e3a52e83033bf5b15c12d2bf8047c223ee0d8853158004d3da393791c0b030a8c319520c6a032fbd2da82b476b683a0de1191f436f6522406994782d3ac2b0a04c817fd24d3d033520ce30ee3877ff15d95024146081c2f0ec799a8a4d51698bb5c6997a8cf37203786b2df10d9f33529123429d8aabecc88bac55387ceec8f1646769cbcbd562df03282fee8c3b6b079e9bbb93cf609e3d62de600d362fb8bc19971ca63d01429d1b0219ffff03292ab56db51e62584a6aaa6fb9449d1d2ac9e3b636ef61af0290084907c2c12803f7ca6728739167a11df3b9a517d93c91bd1cc30ee02b25e8bb7cac1794eafb1803a97da52b78038b861782cc5595490a4e90b8bc030cd4495fb2b2de76d1f028ae031dd85487913eae35e26c39aa8be189d12b374812dc20a114138af19a58987dcb03553282952ed6b8ecb953b27fb406f95685c1ed02a0e42e25e078119bc5b00b6a036472957893fc1e7ca6cc75e975afbdcb140cfc93b9655610a6c4b45e5e946e8d03a0d6af17fb37a859a24f277b4c2bad7f9a89a2d819c124ad27f63df9b09dccd20219ffff03ca5790a38b971432d4f446bc28bc26a0af83bc1712d8f75a43c632c8003bc60703017ae6ff87f2727bbc011bd709cc73b8b3e556b31147ced32475d5eeaae615cb0385315a84d1714631b0cb3f0383cbc4a1e2a4f00fba865ef5eaee3f50420464940219ffff03e3fb680df7d910e9c0d7471044b2f4c00435805db44ea60a2a27898f81f2eee403390fb400742cd988268c12ab292f5be5d6d56bfb6c2386fb6670bc8a7c53f26a035c3a0752a64fa33e7798be2c986ca7feab68971ff97443aee1b69ac195e744e40334f8267c0f8a0e0eac51b0052eaa4fd6ef87ae80c1e36b67dcec288a483debac03f54b7c143e6f9b5894804f514d2b757f281fe74705ec851c0765b9ae54b6d1bb03aeec5c4cc73a786b76c17685d79e69c96406374a4370bf55159035cec51cf0cc030dced0660a6e82488b0d94792bda445eae589119349f1388e2dc1b952ab0d58b03f41b26c991d3e0da0834fe8bb60f470ded824189c2af7f4df46f996a5c141733038b9a28ea6433fdee475a8113a431f3f2f0f6f59257b57e6c2d9fca22327b84c7030301f65c9ac61475615ff39864ed22b801c4d197fccc67ecca54978d816d045c0340ebe5a507cdfcf7b9f0568d76c01875dd6e5a9d072fa1adbb6fa4245f58b67b03bc493ed33d7da8bf3de8bff5b6f9c993096d3ed22ecde0580fc072a53faf3b50037ac9a2168cc1d56adc5c77bcd1a2ac00c4e0df7463f5ba59932d171ae645dbf90336a97b9ecfc916effb5b588581bb05d481af842d674e740e7049162c080753a803e2051eab0675c910d19659288ce1654f2c1527bc6c0e7c6b030c13c3a20c0c0203998fd0dbfa104d49e6f713c21c37a3609287909b272465c416790659b6a55cf90335f950e6f638d20f6cf1a981dbdf1683fa93d276c7d08fe87107043c48bb62de037ad46ad4ba81be6b121dd84c664bf104a3d80c053b20016a0e94fe4c62df5a9203652b5a2c1d0828888a0ee9dcf492ff33f4189f6d95b682c374e9ff989aef90ec03c3d417df42e119ebc3d8470b94f2c83157690cb715b817d78a413ecd09de986a03d489e2a7771f742e833017d8ef3bca805ba5d5e21460d4292c64806fa3905e9b03d051b3fa35a28d69a0e73f1c262c5dcb2408c12272bb64c8312299789edcac10033f5cdbec0ddf52ba76894f6a49f2e43d1e6e928a6d14f95d0401b7ce3c07635a03c1674295c68af8fce47fcc1d35eab7a3a991ddf5f1d98bcd6e9207b1fefb124a03ad1839f35aa7ddbdfa8b67b2276649243db2e15102399eb1903695632505bce403029a00a4497edc0b92e576a08141c67f0ffea06d7227bd4164abca151029d53103b53d32b2c2052eb363dcb22a358b035414828ec2b65c245b99a9761f2eb4c50b034082d844cbe9064fe0e9445d898489200b1f11d03193353202e7813671c8c51703ade7e31ef00cbdea7aafe996de99a7aeeca85edd6a74c5a13cf3f1763d1545f30394318577375553bfb2b9a75a89f7ff30f21a99b17517336682a33947083c9a2d0397b31275af4b256201f84a2488915cf42f0784a50266ee158640d8443134bd380333249c03fe45d429f0f332edf6763d3a8b2f7c1de61ca8804148dd80d31ca7610318d2f137eeebe7b9959e7b0e50dce1e2aaa4e36420c69cb305ed935908961a0903e2346a8895ce26dc69c3e1b987b574b8971044605fa4d61edb8954402cddc56903f3fdff80c10754b41f7868b2e509d641841cd842ad9609a8f3f1c0817891baec038025934e59a4828c2374c2123a7d22d26502c8ffa450fcf13ac8ef80b6a0b5c1030bc95fb8dd9f8c1564361c4b073b791b8ab51d97192602b928aa11ce2ee2a57403d1262f7f2e01755fcbf24544acc728079724d2f2b4871add3812f9c0e8c0192f032535b05dd0a7e7cc678057b5e7c2f52552dcda2b415d873a79d01fdddcd5d4c603ed681c41319823f8a2b3433d61bdc71fa1c0691f5141b06fad270e659bd8a6d905581e0316eb94e90ff05a6e7b2cb1221c5ff05437db4692edfc11edb4d92107c00c01470318848102218a03c6507bf9eed5d282d050267f72b8ec67bd86d4fe2cda1af79ed0219fd59851f305581e03a117a15a688172d746603d3de8c71c234234b6efe3c0a23e60628e40000c014701a26b22754b1c03648b25d4facc57104224b51fdb6b17575c27c6e2c6e7a269b2322259decdc27903f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03a34b1b89868a139e7f3a2d67a7fb31848fabdaecc8374ba10abf2c952007011bffffffffffffffff0380cbcd708b7361d8c3ec49337ee1c3d77bab5045a5bdbad1fef6d4919c8f46a501410105581d021d7e0bc2bcf465b1c34d9b026f7e68ef670f657f42ba2e7b4491037c0c064801591bdd8bd26cc205581d0293d89ad591a23a72d795dbfd82b88f6a8690091755c37fc5c40affdb084714f604cc2cc0000219088005581e03cecf8ad466724cd3d756603ad6c04e1210fc194d491a6f83cda0ce7d100401034076c5d5e93e68c567d0f4dc2c1d50741cf2f8d4f0f4424622a67f646d03c2870384a08f4205850b7bd7becbca5936a172b46f82d11f9b072af77f21cb35c7b71d02196acf03a3ecdcef70966ecdd2ab842ede2ad93c986d5fa32c1691bf731b74cd7138e47a03ffe7540234b2691d4bcf901a877f98dada71add847d8286863a1af80b2e2679803e5f5405f01fae490ffc79ba889c52497365b84181ecc1c4582fb3b905366559e031346f13d963fe11f164439ce4a6640288b501696a57c1020ed7a99d2acc367c603d325ae1c1ef83f19bbe0e8773b96ca0d272a490f129fb9c25df6b9a73edcf1810378e1a71f63bd553dd496b5d0482281e9573ac7185cb6a1452ce30193cbb32dc503ea1a775a187bfbba9cf0f28c778a1302fe5907987bf941748e39d17a7c16edff039104e7f21ecd3721b18be0b30481c82d2105d9667f55714daa3ff9da082cb6960333b52665d11a33fbe34456fc6a4ee560b78d6ab34cb7a916f11cfc1335bbdd9103098186a5e6db3ad17bdbf4f3857a573d55ebef4579e84cd1504ada9d6c80a8170219ffff0219ffff03e8daf623f777c84ad694df7a6f5ec88277aa61c9897ad8d8013736a6fddf90a30219ffff0333735ae689d10d4a894374e98b745824c4b33baa809e2aeb819a054f1f05fc1d032e2c58f6a4783f688b63113b8d525d6e1230935c9b818260ecb7bd04160d6675039db2f3a0d6fc9091c343d90c9c1c07c4e1b3762da7c01a75208d5e5a414f7acc03ba5f84ab207442fa6f26ab46574d844de11b41c2b2d5bc68956f603a096313620328f391ff5823ee7e9fa8aabc77e5196ceb17b99cc0a443ff473f40430557faff03362b0d5d4baf1d1eeed3304b6331baf557747a196b830084d9c6af06ecca6aca03742141f30bf117305f6ee78e5396f31bd15b5d21d5fc72ddca4d9e5bdc385b080312b6d5568411b9e19800121293b0e6605d4504026dd8837dfadf4abec4af5726030151ebaa0841db7ba88a5477fc22870bb68a4068ca6e543cfa6e8241d78cc9900219ffff03444159d652e216abc8d340dbb4aa0e9aa6bf4e9c8975982a918b0163af5fae5b03f64f4fd74802dfb8d91802fa1e1499857bf53c02b59009b265e4eca6e874c60d03e4fa17a881a82684177cd3d32ac274f6ecf1a4af36b78cc37cb7618c8513cf48038dbff1c9976310b04bd15e79cf22a6ae592edbcd469134384e089d96689811a303629cbf08f44e35ef26674af764e2297af56bd6a1d9e8b4e44eca669bb234a92d03c4161a96e6c0d0059632d052853fd89277d787e88e3ad2a442a8ecc77ae0f92b0324f7eadfb63ee313d3e64ec1e59e50f56d0eeb890d12e05c816b32f4162ef05703807b56253768c8324e1c7a4ede1889ef147b31bf5c8d4657468cdce484611e6803efea8a2f63fbca698b3c86204122ff10ce46036fa1b6855853f8c26d986022ab0310912979aed65951055cd340c5ec84a8b7f486698638347bbacf7cd1a2a14abc03aeaa3c3eb40739875391bb127c4b13ba404ea9c6b5d3888e30b83c47e59514b703524c089d31471f35bb23f76497d1ff6041d78cc1d1fc8dcd2af03fc43e7899c9039e54f7b44b12ebd05cb00ed96400f88e0acc66014309af05abe4ca8ac03b95a5031d2fe0f06b1d8deddb87abcad2c54ada5cd19e492df170c22cb8aac606e43bbf03c6365d9c64f6e3a87e13d92f96a7a60e0ba66d9631bc63fe251a29dd2ea644c4032a9dc98c500d04d71f61c8e79921abbdfbaa3ba0efd63ed19f813bedf2ef077e03688f96cc95f43e925bf7f9b446d819e517f30557b998bd8d662f797718325b4703abceb54583510f760683b26740ae665843e0e24f8df14b70421f2d73d53c644d0353294fc9a5989a34411334bc6edf12547d1ce93c78cadea0401318ab93371cbf03eb4caa09e1a3ab31c6feb501be5e968c1a2323dbec04da06d747feb870eb6d6c0369f000ebf05f09f5fc5979e1e7ee5a6b836eef5130c9167da9982da43623b73a030225549f6ef3728e6e825af38ad3b39e424f6e062c33f47e9693154e79a6b53e034f5a9cae1aaf0fedabf9f74e916a8e752aecaa653e527b7ae0b522c3ba32040b035cbf9ea8fbb9e815daa5517ebf887ad88643de47eaccfc19e56145867d9d44ab05581e03eb652700e7a19f842aefb13d9b90fa20522b39fff25b35491f9cd6c3a0040304590bab60806040526004361061007f5760003560e01c80639e7878701161004e5780639e787870146103af578063c0f6b221146103cf578063e1922ef5146103ed578063f41de8871461040d57600080fd5b80630476011014610303578063369231de1461033a5780637de27c301461035c5780637dfcee221461038a57600080fd5b366102fe5734600081900361009057005b60015460408051630f93acdb60e21b8152905183926000926001600160a01b0390911691633e4eb36c916004808201926020929091908290030181865afa1580156100df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610103919061095c565b600554909150600090600160a01b900460ff168015610125575060008260ff16115b8015610135575060648260ff1611155b156101ba57606461014960ff84168561099c565b61015391906109cf565b6001546040519192506000916001600160a01b039091169083908381818185875af1925050503d80600081146101a5576040519150601f19603f3d011682016040523d82523d6000602084013e6101aa565b606091505b50509050806101b857600091505b505b6101c481846109e3565b925060006101d36002856109cf565b905060006101e26002866109f6565b6004549091506000906001600160a01b03166101fe8385610a0a565b604051600081818185875af1925050503d806000811461023a576040519150601f19603f3d011682016040523d82523d6000602084013e61023f565b606091505b50506005546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114610293576040519150601f19603f3d011682016040523d82523d6000602084013e610298565b606091505b505060045460055460408051338152602081018d90526001600160a01b039384168183015292909116606083015260808201889052519192507fb643d37702a56f4c5ba4fc786239f56cfcb7eaa939506211ce99a04f0bdaab91919081900360a00190a1005b600080fd5b34801561030f57600080fd5b506005546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561034657600080fd5b5061035a610355366004610a34565b610422565b005b34801561036857600080fd5b5061037c610377366004610a34565b610477565b604051908152602001610331565b34801561039657600080fd5b5061039f610537565b6040519015158152602001610331565b3480156103bb57600080fd5b5061035a6103ca366004610a34565b61058f565b3480156103db57600080fd5b506004546001600160a01b031661031d565b3480156103f957600080fd5b5061035a610408366004610a4f565b6105db565b34801561041957600080fd5b5061037c610633565b6001546001600160a01b031633146104555760405162461bcd60e51b815260040161044c90610a82565b60405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001546000906001600160a01b031633146104a45760405162461bcd60e51b815260040161044c90610a82565b6040516370a0823160e01b815230600482015282906000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156104ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105119190610ac7565b60015490915061052e906001600160a01b038481169116836106a0565b9150505b919050565b6001546000906001600160a01b031633146105645760405162461bcd60e51b815260040161044c90610a82565b506005805460ff600160a01b808304821615810260ff60a01b19909316929092179283905591041690565b6001546001600160a01b031633146105b95760405162461bcd60e51b815260040161044c90610a82565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146106055760405162461bcd60e51b815260040161044c90610a82565b600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055565b6001546000906001600160a01b031633146106605760405162461bcd60e51b815260040161044c90610a82565b60015460405147916001600160a01b03169082156108fc029083906000818181858888f1935050505015801561069a573d6000803e3d6000fd5b50905090565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106f29084906106f7565b505050565b600061074c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107cc9092919063ffffffff16565b905080516000148061076d57508080602001905181019061076d9190610ae0565b6106f25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161044c565b60606107db84846000856107e3565b949350505050565b6060824710156108445760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161044c565b600080866001600160a01b031685876040516108609190610b26565b60006040518083038185875af1925050503d806000811461089d576040519150601f19603f3d011682016040523d82523d6000602084013e6108a2565b606091505b50915091506108b3878383876108be565b979650505050505050565b6060831561092d578251600003610926576001600160a01b0385163b6109265760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161044c565b50816107db565b6107db83838151156109425781518083602001fd5b8060405162461bcd60e51b815260040161044c9190610b42565b60006020828403121561096e57600080fd5b815160ff8116811461097f57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176109b3576109b3610986565b92915050565b634e487b7160e01b600052601260045260246000fd5b6000826109de576109de6109b9565b500490565b818103818111156109b3576109b3610986565b600082610a0557610a056109b9565b500690565b808201808211156109b3576109b3610986565b80356001600160a01b038116811461053257600080fd5b600060208284031215610a4657600080fd5b61097f82610a1d565b60008060408385031215610a6257600080fd5b610a6b83610a1d565b9150610a7960208401610a1d565b90509250929050565b60208082526025908201527f4f6e6c7920627573696e6573732063616e20706572666f726d2074686973206160408201526431ba34b7b760d91b606082015260800190565b600060208284031215610ad957600080fd5b5051919050565b600060208284031215610af257600080fd5b8151801515811461097f57600080fd5b60005b83811015610b1d578181015183820152602001610b05565b50506000910152565b60008251610b38818460208701610b02565b9190910192915050565b6020815260008251806020840152610b61816040850160208701610b02565b601f01601f1916919091016040019291505056fea2646970667358221220483763c21e4d73e9bc71b667455d42f179e20cadb3d5e4fa866e1eadc24f775464736f6c634300081300330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00550118dabc6354949e7c04a992674408eef531032bbd0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0547a250d5630b4cf539739df2c5dacb4c659f2488d00582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0546357252ae7fd731a8d35855eab68be1afcc4028a0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605498cf5948c7b26ff23c1ca3f49c9d3728d144d4c3005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20219191105581e03a6ef3c78dfe30c1974ce293aed2b7f4aadb803b5aa645dba090ee245f00701190bab05581e03d4fe1447df86b1e1c53ba54db51d266e9cc9a11563b83a97c809b0e7b00c03469aa15528755805581e03da384c95fcfc9edc14cd88d3057ed95c811e3eda9f64fc4cd98eb80b900c02478a62df00b066900358e2b0219b3908d2a034521b477b024fd3adaa16c437321066399f0757133fc3014107038cb7e045c57fc42b7097f398efdb56dc22a5dfba3139727338da97879f6bbfd103ed699cd8f8909bfc6e15c90b3be26f5ae81213e0c3ff1e89b4d6139644308136035408e9e65307d6feb4f5ee39c0125f04ff79f5b144d801c1711c3e43936d2d2305581e031a4652daa55d65d53a137eaf91bbbe124b0c9539231acd74fccaf4f5200404033bc11c4cd01c47a5a2e6da04262800e8004dd239c8aff654520bd7b6afaa98ff05581e0356516bd7d76b443018d090ce23311d316a88e4eb0e5b742ac03e0f8550040105581e037618035f6c4985d1badaa2a95cdf21d1b9b423d04bc43aacd1fe0accd004020219bfec03769b5c9bad9a0faa6694f48804fd591209a202334fbc3e2a72f1823d3f0fd47503f553146f63298340d7cf8f6acf37e9b73bbdc50ee07c15ca09da576da7ceed1503e98d667bc3ef8e8b1edfe698626d839b3cfc3bda5006a31419cf04fa9300db7503c87320a1cb6536f340d2d63d2b57fc275f2ed40ccb0e5d66d82dd6616053ba20030ad9f4e3b683e033d1f9089a23ed72ddada4367febb07842de7a97bab772d95103bc217f60c68793f30cee883a41f383782d7a5022ff423b2a94d1f68c8c4afa36032bd67921ef3f2d5ae552c631c0bd321c0b4c87c08248f42864332350d2d21e09036f8c3027c99d2a0e8bcbaf9a94903a563423b13f18ef43a2ccc6bc713ef77ee503a335c7e27c7884b576fbe664d50ca8b39d2e9e7c5cdde38d201670c3231927c503f3abe0a6e9fe3d4586a92faf13c0082aefbaab421779673d3387acf745f88fdc038ebade22cb4eb7a362b91e8acde44b4972528655d636d5535044bda85e3aca89036861d1906e76d13815ceedb26acb4ac9fb31ca0dc853a883a4ef52df4dc934c00219ffff03c034ab3f24db069d9893cca9bdfcc93c1908f954baae8edeb69567f01e41a97803e02207a837d12ffd6873f6fa0eebdc6c9a6d9f9c60181305560dd8baf3a287e3037dec550a5cff89d9f68bacd6428bb5d7069547404a3ab88b5b01310e606d1ba1038d2c92ebe2d8575be95c7e062d4be0a8d47f8bbf8054245c39bdd8d443fb41ca034df31cbeccf9007dc8994de7627579113e2b0891d4c9efa7185871052d89417a034a9026d846a21e35e03657b5e3b4f4bda497c906531e743807bd273197ff819c0363f3deb551dcb8181ee987efd609b38ad0b26d114838dd33b076a65733cac88103fc01d6bbe9d6b5a7a33375e7317a62e9235707aa5a50d0f12012893dbd71a37803c66d8d784839ed0fc88f9eed1a587e09cfe8c5c22f29be6d0862e53f674a0c8803e847190eac990047e13581d838b7c0757f24a73bdf7e83f1e7cd25d0421c819903c2e0a816aab9cfc906f7491217023e20216812e3386870a82269719294c9e75a036b58b3d87be02c29175db28f42289ff1142fc542e16718d0e48a2ddeaa51f39b0219ffff03bfc4efc359733e3c31156196d619ecaa842dba06842c992181ed627a1fd71e0e036f41988890072259d278d481cfab2960236643f057adb5c6e070faef663fe23403348a88d91ee973971c8174e0b1f09dee79a45976d22beb0eb636c09be61f1596037613e95495365ed0dbd4d636c47b8cf565fcd1b4a40b1d5e7e9d75f6087e0d3803cffc65703adcc717bb764bc9994def9f28c772c1d723a20508ef4c35c6c822ec0391e62e70118a6ba71863c26611d5913e18968e7f676f7c9b7d16cfb8414ee059032a1937c952d8b38313e20439b3d52870698fe5576de08d51b32e8d79e2b1aa2303a693d91525e6b4512b17b3db8c6a194db652680fc64846b28e80f838ed23afe503d2e8639ffac7a9abc3a97714c4512ec3c08bc762d741446690d9af95bb95822103833260d71e120dee2727a008b442989d70c2bb943c9b469f336ac134dbaea87e038feb572ad7cc64140dc7fb8e4b569f000572d39a13d60a33f1f9014d8cf8cf350377157b2c5f7f82e858e8ab41a60578acec6415eba4ef9c01dd7e2f37d3ab42350219ffff0219ffff0219ffff03a64c8471af80aeb2997e1bd9ee05124002398b7f61fa06c4b7ce60c59d249f90030bdaf47765d6db460daff0aba31aac7d63bd8bfbce3c507afe52a2b007cad4c303c74a003a87262b990e2e4ba927bd2391a39859ec00f1736f9635bfad567f36b10370f80decb546538bac05fd3872fc679b9858a2357213467eced9b7dc90d567df03c1e4a9ce08b40c8c505e17e5b29a80516568811a989c340ef034f083e4ddb7da03ab8749e0f40862692d9db605ff92f1730ab99fbeb5a0bf7c3beae862f44b7c7603d4b4f3cec8bd601155aba60051222ead25e37a81bcff8f2498534857f2e3061f03f9c8e3b5acf3560640fae16bf7502450315dc5b70b8627f5c605f4fdae61396903f3c25b6069220e7af8052c8d780d3d8fb33fe298ebdfe8b25202f11ff987f42b0356b0442c718e9e36ff6e30ae80601cba984d177719e309bf1085be01eaff5f5d0357a7c8ed3b3bda4daa0a86b41eca316c73f585e1516687fff030f95ea05005360323af423f6e56f2efae01ee3d453796b00f19c5383382c3c83a55ce6cec95f874033c0020d279b42abae453f1200adad31202548d5ffd12d75d978f4f9fdd309bc703d09bff3f969fb84c2c6cb828d9010ab3ec39b9fcd46b07d385ee6b59887095df036a9c27fb73fafbed63110a158052d4c212f1f836fe7f41669d6f104b4351490203573b53dd4ea2707318ad91df8c872ac9d2cc950bf038cabe1265f2e41a6a4f7e0396e78182050a34b31b763b8e73151c80b5c3043fd09c6e6469473121c7e987a803c7163cc949aa7996e91840d820c1b11996f91a90f9b33c24cb525d06597c07bb038a0038aa2f46befba76dc868b7637106fcd45ad6d6fd164584910e410cc02fec033ccbd33a52c0a55f927fd69bc0b5127c92055ba8a550f9b306d087289794c96e037c2ac76afc9890c4751747520d7eae0a7c472b64c41d5fb6816a6ac523919c5d03ddc095a30445920ca25120dc85f774a7b8fa150b7035dee8805d1f982a48e0ac0316d88e0a8c11d089e1d4960c7c74791884c362981ad7f396140731cf4c4a2efe03a03bbf208af63b15fb0e31b5e6ade26dbaec56dd6f90bd515bdffae415fbf164035dbdf62c4d395e7a54bea5f586a46130f3a36b27d2c5e7f6bffbce74c5a8a817033f2c09e4676a682b3fe71b577bb688b9c81e185415d7c1fd20b54c3635c7e98c037b192244c6d0e688cd23bbecb22188a20c0528c3d7ba1e882153e77c434a9098038e4937dbe1306ed623b0c4b277f492ccce2b2a0d7d70a0353da459ac5701b87d033a51c40e7563735ef512aa1c54d12ca6a038362c1499877de91e4235be418cd603b1e5c2ae61c558a35eb0cf04c1142cb9491388a0ae9931bd7243953a863c68e40331b1766a7cefde980eede4d964e88733eb10335dcb2bd3c2fe5785048abb022e03f2bf4e50b14242def20637650c83c21704078cd69587d7c7340257a8ed36db440359b2dcaaaaf1e74152a2e6c11b7898e709e5200d85de086cc52c00270f244ad10338b83d0d538b5e7b1cd6285cf31f3a7ec4878217b66182e74f6c015c6fd548bf03809b8319c44a8aee4bf689a36055a565e28adedfd574adbda96d3abc9be0de0403277c41c7e8ccf41c484fca4f22f3af92b65c45748ed124edd29d0e55ef46994805581e03597a65bef11312f89c07dfcfb68135454e0c3fed32358e5128e82bbdf00c054745a19e22eb54e0038f6349f90bbef19fb7f0173513b34b3701cfdfbe41c9b5f726030b181d7c04fb05581d02d00ec01509e9bc8fb6c74c5b9fe379a6b66b78d696ceaca322e7d18f0c18464601329d5cda9505581d02375e84a98b6e3209a62c5387b2054af577eeb140cce424042b1d386b0c190b79482a8f540a8dd8a89b05581d024355b4c6738120b51c0ba2d4be4f743ed1412935bd51b9faf482933504010219440a03b6b5256ba377891075737ccc1c8859f5ccaec16905cc6f455999486d14380d48034cdf01d0a90cbfbd2da713ccafac4d5c8a1ab1c755ad53171d8ace08322c280c03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e032e07ac8616564086b4e07bfacf718dcd36f24c0ff0b676da24c10a534007011bffffffffffffffff03ccd19b3cce098aa94c6e5f58063b38b62000c232889813529c03f792d66e876e03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03c3af184bba2906aba3ba000cca2c9127e4484a67141fcfc1adc817f03007011bffffffffffffffff0219486703a3c9f10a1636d65a420d9f37f87507da9548287de1a6e4655a81b43888fc98be03a9e30d752da2bf57a469a865e413bd0b1b7be348f0d29cf169314499e68828b603922e5c4b8c4426b33858bdf9d8d0cd07ddaff6de47aee57b8f33dcf88945c19d0219ffff034ba2a1e48b950bd2200b46fab61177cd09363d5515e23967a89004d1cd1afedf035fd2e799846883e3058002b18c75a336083b46d6f71f73a7e1061843cd962ddd03c69fa94b7257b20e9601235f38e8cf79eb20a515dede4dd0c5069e51553ea28a03eb72a4074e3fa39df3f5021303a3e568e29f66da446fa6b4ee9fa8e4bc9e3a2e0219ffff0382828c2cfc76b4756780a7ee917354b2f5d9afbbe7397dfd2a574a90fe3ec25503d356b6c8d8da986fdc09f099d92b33d82f899730fb9f526ac46244298583d666033a8de15405aea04ee623ff4ca84819536f91a188653f2ec5e19d8e680b4ff25f031337a95ae06b21494ae400427b845d84f567ff4b2c622161520c71ca404bf448035ae16202544c3edf3ee2bb9c246bb135c489a95f7899160e5895bb85350385a80315e6194dd5a2ffd6f8d04bb73e5cc7418c1d7da9410ccf530f629789da755fc803940141b96e6e24418eb4619f07ce42b0829628014faad8068b945d21dfc0876503622d8d8ba127e8098e80b43537a36af42e315cc7770037789a35c81f7a0397b903a1091fec731672a164aee1cd6545b8598e87a975c31ff0a5190e85005186456903ed6c9794d5df43a4c4d1ce6c220baaa6e6954f007cabc49ae1a184c86649a0cc0372da705c55f04dbdf91c8981b7711675689878f376e3407197ed0469d358e3eb03b186286dd928850d79bd036adc1dbbc891fa604efcdb14f3b4919fe155537a37032aeb4400c0b84069e030b89d6cb915430d3dfb42582e21a6920c8564918520330219ffff035af74416c0db4f968035e86b19e30d26965e405e721c55ed2af61b649dcdefe5030b7c8f92581e3d3c0013791d693ae187b242814bde2ba32a34c6e09583477f7a03ca2e8c913cf4e95269074534bce66870832089c9599ed80ec7c3d53f97ff999703558f197118969707b32e3bad83d20883b187a81f62d111f37594098a5e7f54270349612554ed47f433702fda7015d235327250a29c23322e572f74fce7c88416fc0326ab740b3678ecfa998a26e6dd625028908c019849c6491c38df584b12bc857c03ad8f8ca5e4dd9d14f2d74d48030a789ac465099abf2dff2d4c45fe39b0f79221030612d3ae7a09f72149855bee3245895a1944a3a29b23aa1046d08a602f4fd16f033e51849190f0827d45785853debdbfc79979e8e43b2ac252d65cad5240e47f8c03c307df95668b1462d016a54bdb19f31fc61ab3b36cc87a5bd372b1b5bbaab817035d068dde64268b5d84a1fbbe7a418bfe9ffc8be32f321bfaf956ff291802552f039569a3bee02bcfb439d7002e89d0dbc2bff3b8d316286235e7ffd3aa90dab88303d70377c3a64806bce105ad3f6fa15bcea9afdcd0a02169f6f5bcb4b3790ab61a03e8628a6941cc539cb9c2690a233ca8626f43bd32d629538a958f48938753a0970305755b13ebc11d2f9c031ad71a82fe4b70e2e6722291a956e00ea0c624556d7d03ce08b5816aa828881de0b2a16854016edea5feee9d2ae4bd345f1265ff91e0f005581e03e9af9c4f0dd3410311e06906e245d25250a02d476e89c4860501009b70040105581e033242cee816ce7116e516a4cd1efd368f959980db62d0416c63f6082e300c1909ea48bd83e661b655b20003651e7cb4249ffe3689f4a218906be67e0bda38206b35bf0c80942334c01a546805581e033b9e31addd19cfb23c1030d3790d1adbed7da4d81655333fd89af1b1100c05481cb7cddb3d5c0d4505581e036e1a66c2ddd16d47d3dc357920c75c0b537832dee8386466b65d61c3000404032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942031aa593b75e9badddf988da2b0652491a570f511942f8ee9bab55951b234e102a05581e032b1610a9cacb91c9dde9ee89109711a208f1b6e26af105c620a6b2d58007011bffffffffffffffff05581e03db8ee950659b20dce178075439acd80489cfe0506c9a4034ce228e90400402035b82c841b6cb0023e1503ff95a81cb91d3a2b02d2fb990a9c36632f92d95edaa039168c30548cf20fe703df1e08332c1d8f82690a688936c88b5b70c233274400505581e0343d2fdcb7eced47d3c61bfb364d2e3451f965568b60c6596aad55981e0040203c2a7905c0b9ea205f2a683ccddf05b8c083106917afd150fdde3188933bb0446037c0d883659a60f1d100b88a9e10a5744d746f41dc5de579e9ac90759122e9fcb05581d02fd23ea5784614330d093303012b130b62869b4d545f949885a6baa1f0c183f477ea9217d3a8ede05581d021aeaa202ff9c75af24c1c280ea4590f25bd7ad585972ae0d3ff8ea34084711c37937e0800005581d02c77c728e65766694dfd03b06ea1b27963a26c306e3fbbb4f8088a68c0c09484878558a05b476d1021940420219aff703f36070df954a32837498a108c23679a5b5e0e7c2bc0a75fdf47c9255f48b14bc036f3e91de1003dd046bfd057d5e5deeec3daedf76bf01d371925022676302c3ad0397d17d6a753ac097c2f47ecc395f4bf3a1deb77c9a0f3e10afee7fdb81350d080307fe9d299a94390fc5d7c7bfaeea6e11c9c6b0cdc16e91a305122a8c840217de036c61fdff7293979bc50d70fbdae1373762518c01ceaa1a0c8870dbbefaef920a0321182a761ef392f64d2eadae02cc528f2b242c80e59e4176cf393d30f292c45e0219ffff03465763d10e1876f0f78ceae02a671ac95a8533dab49857254d33c002734d37ca037a34ae6908a6be9d5a250548bb5f12de6a2fd2d08656fb6f45dde155072ee14103948b6caffff494d4c1f934a78be7fe3c8afe49cd0ec8d91f18dcbbbed32961a503e8d556d742db5aa3052c5968350f361a1778e6e9b11b22c37e29c7a434d6563603be6ab3366c55ce3880eb87846747581cf692036c76eb067d310838af07e9217303bdc37cfc23a3079a6bf7994bd18c9cfa54e93d0ff4d99f27a93ef426bc5fb10c033e7dedd64e98c3bc05cc6caf78e90ed488ae8370088210a03f6f7d057c5e000703b91d542134dac2d901923e449ca363b787249eff52c9b1f98cfe8bdf607f1a3303890740b8cead13e82ff1f3981ad62870e050c19d2465aa750b6ff8a9db11151203edfeff0fb5928625b3c6648e004d230a54cc3ddf1405ea82e7f561163a7f746603ae61449eb152ca917a91865e10a708324da668bf57a3cdbc130d2198834a5194032b284571ddb5b91337f8b78ad1c0fbbecfb85e70cb5790c3c45303199ebb5c4903d03549dd2cddbb68d8bb578c24d9fffb14fc63bd34a45a8b09daa8cfebcb0b400219ffff03b1a5d231f430028250bc4798abc6356fe239420d883601621935fa62e4ddfc8903a444e30df94d6e63df105466241abfb4c99c5bd74c29580e82300c1055038d6d036bc1d17c729a3ad8d7b6cb00c61f76e01cb88ec595d8ed03ec3e2d247dd0237e036341df49a84ba238fe1c7963800afab16099015ee11dec352876285dc40a49d6037c6cd49b921fc3e51e3d2fda334347b55e05ff8f662ae656183c653e05d3dda2035f1134d3cdc8cb3273c38f439f717c3334babae5f3137f102443416c64abcafa0360f4bdc5f24355ac973ef0e1a0b948de97f58a7a436c27b89c5de6790819652603a915b7bff475a37d086b5c5bf2ef85502942002f9f431e0afe7b4b4c32ddbaf90329147883ded47741be456c9aefb802e8a9d0b249fbf08e7c4fbe5c71b9d261d003c35fc0e90ed6e101dbecf7a47c5780baa9934cfa2aa03e521c6d3f34a47f80f603ddabe09350a9bd0891f7a05f4c839bae8f700a3b84fae7f08d834737d5551d9603d3905fa530c55da96e9e70c6e17aced003c22fffc58308f042b6e2131af6cc1c035dbfd376c5023623d00a7e66faa6cab09cc293e987a896451381fa4e51a00f990219ffff0219ffff03425bdacce7484bee97bd0b2e3082105c21af14713316f1ccfdbb3cce590561a803f71986fde45ef63821830676affecba4b90df65aebdb199885e03329a171f939037a1fdf24dff9e365ba38ce0c94d631aff8343fdeaac333b6f86547aeac7ead6a0350253181071e1822137b717c4275af3c73aa887e6a7cc9b0d88d06bf500883c503f515685c69040f71b2100135d343748fdd175897d127f67dd77bdc0ffd80418703cf4d55aab5e652ada63f95393c2f5e4ad23df585b9345d9a9de33497d62c739d0394d56fe0af2a9fad451b38e34f1f84f053b3316c5125e7d515f96cb7c03e34d20395510957d688693918a3f5631324551820a972e3847580c7784c28d5ae8ddd7303cc254e74a9ad8fd119b365e6d7158636d1303232cb310a40e1e7fd8cb4e4416203a91b7da2c363de72567ed047a756a3d1c72cd657036f365fb39cc40654870de603a0a6c62fb193e9473a731d269cc5fc1e841140438414bc89f24a1b2df8eff8d303fbf4a19fe038d754133db2caf211541bb3546560746af4f5b5a0beecf5472cdb03d23d7b8738cf4929bf9f6e3b9ca54a5539aef9eafc848bbb02d92bd0f460c6c603fea819e2223e4f5a27b2a3eeb00c3ac45ad3da2d43c99026cb54d8880883361f03951034548e03a30e59f8c50f14cd80d6c516e445fc2c72d5b9d2fd6860fd98b40355140ec8658c3bf01c89925427ce39168328cfeaecd3939bf52d08241e8bffff0395706f1142eedb611192de7634193b8738d6cf1d9433f25cc553aa39bad176950359a266c24feb1aa93ecc145e5bd8d7eee51f3997af4b40fb56a6d211abadc2660399be70bf840194e70d72dccac8e82d8dc3a2cb3fc9c62c83539c5a576ee858440359315206de3f439c51862f9a77ab1e5b512c6a426e4e4c482eb46aed9242364403ee872e3a7a2caa51ddf18af06917bfa378a220f87559892420736515c008d192037435c21bf18006308052c0ff8405546bc4f53b5d6e4c6307c7030bdaea775b9c03873395ff3b315f98ac98afa2bf4d4810e9b92a363f854405a0ed93a3ae351b1e03f64f5128b6c0f428ec08e7018847fafff801ee423a637c1c4fdee55baa27a45f030fe6e750c0c4d7f8f0b0c8e52d774d7a532c2ae83fdf0034e53603f77959d19d03f9ca7c8df1c216bc6f141e7e0fd0891f7b7990bc7aafc42fc379f899a042191003fb74bc1208c975fda8ac38549223857e0e049da86249e9a99305c640da3aa1b2030e4e3b2f3544aea042092ba2cebb44857737b8fda714936346dfe7de591b895203161a18fb15cc50ad96078aed52072cf3a36c728c25e378b2e693d6cf7242539203b766e29cc807057cec3e042c3cb14d2a983db2adcb9829d3ff9aa156473f414203d92ec1a8bfb2cdfd81080aa81d05e66c66ee34e7a3d7887758cafe4711da1ebe03b3948f0c1cc9f5bf1c70ee7096569ba9b594512edd8437c25cc8647b9e1e7555037c06158e1d04c5782445b6ca0dba64f82a882cb2ca979dbb1a62df9609c617a803519118dfc8efbb943d3e9f8c3802bb953cd662d36f5aab3f4921bdf271d6ec6a03b0642ebe51abdc2e17551fc4e64d344ac9fb689f2e8d98d447d93b5b02adb477033b9ab5c12459a60633a82a78d2b80a5eefdedc27664c3f3de0fbdb4a4ccb46d205581e03f0e221f408d80d34ef2e5a700e4c2a6f5e90f1eee161475149c53370900401039e3d53dc3a4edc52b445edaac876e4f3e1ed78b7c717dd072436b510df811b1f045905ac608060405234801561001057600080fd5b50600436106100725760003560e01c806379ba50971161005057806379ba5097146101615780638da5cb5b14610169578063f2fde38b1461018757610072565b8063181f5a77146100bb5780632e90aa211461010d578063458fec3b1461014c575b60025473ffffffffffffffffffffffffffffffffffffffff16803b61009657600080fd5b366000803760008036600080855af13d6000803e80156100b5573d6000f35b503d6000fd5b6100f76040518060400160405280600e81526020017f41524d50726f787920312e302e3000000000000000000000000000000000000081525081565b60405161010491906104f6565b60405180910390f35b60025473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610104565b61015f61015a366004610562565b61019a565b005b61015f610268565b60005473ffffffffffffffffffffffffffffffffffffffff16610127565b61015f610195366004610562565b61036a565b6101a261037e565b73ffffffffffffffffffffffffffffffffffffffff81166101ef576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fef31f568d741a833c6a9dc85a6e1c65e06fa772740d5dc94d1da21827a4e0cab9060200160405180910390a150565b60015473ffffffffffffffffffffffffffffffffffffffff1633146102ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e65720000000000000000000060448201526064015b60405180910390fd5b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b61037261037e565b61037b81610401565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e65720000000000000000000060448201526064016102e5565b565b3373ffffffffffffffffffffffffffffffffffffffff821603610480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c6600000000000000000060448201526064016102e5565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b600060208083528351808285015260005b8181101561052357858101830151858201604001528201610507565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561057457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461059857600080fd5b939250505056fea164736f6c6343000813000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305444835bbba9d40deda9b64858095ecfb2693c94490058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0548b63b3de93431c0f756a493644d128134291fa1b021405581e035d0f60482b6c11531c08b4e2a0cf0a895fbcfdb24cb82b0e465dbd7f8007011905ac0305781d2e9bed26d2f914dc46649bc8d42beb4e45714ad5a6a4f8639c040827fe05581e033373a3d4acf551ab1ecf8b6e1ea07461c54a6d076d7c64e48c14d83b00040203bed9ec9f6ca99fcb27ef81f5c7936006a8df48dcac37d58e14abf18fef73cf88031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03636617d0800ce69ac8da80b664285f5c99c467e1c3b69fecdd75830b6007011bffffffffffffffff05581e033425892500727341d259e1398ffc08e78f4abf4eeabbae35c2345e56f00c03463e8893072f600219d2750311d6b4dc6857118ee0c8692915491f24bd1bd810fc0243e4a6d16e723abc13f0038886253252d78d80028653499249a13f1ceeaa5d9af6217a555fc4c4bb392dbd03ae84484cef14d9b4a53ec6d733e6980817691fbea650a88865a4fb082458aa8f034a0ced2bfc187cc1c41fdc5818681f29ee55868575ca032a978c0d5f3ce0dc970329cf2164b0cbb62f62fd316908d07959ba72ddec298b30bc0ecfbd0706ec1205039c8e0eac4481247228afdc1fdd76d34554a33c50b1460a5ad9f3ef1de95f298103d35a486f9fe7141fa1b165da2da7be5a05d34cac4511f1bdeae10a7b51da9526036d6918670f5bd9e1013cb9aef2f33baa1f56bb994128a5571e098e8e6f4dcf9f03d29a13da678fdbd8a2b0b3f004c06aa8b5b21e2a92bd9dee2df54471759aa11203a32fae89f42bdd91b005e85c30d74ec503d72513512639fee7ee7c8d30f808ec033b64e31cde2147d7f90f8f73589cde49e6191e02ae2e1edc02f903cdda6839e80322e8172a9d1c14333e70abac88b1a61e24b9b485367bbc936b334cc8eeefe5af0219ffff03ab155b56ae7631d1e45ae4d58bcb5c369004f5b9a6487e1342408c569c9e0ffb03e8e7f1c07b564f72dd206d564366568eaf37b443706e55aeb08ac3ce7cbdfc79034b83ea3084687fd8a54ca54114785af0de5873dcf18ed62bcf1bfd862e5965790348279977a499a287d7e25bd52fd4ff5362c5fcaa676436a55dd39ffa9516855c03993090393128ad52cdad0b76a66f09ba614ee2ff8cb5b0ac212880c63a2b10ba0356f4b60cf5be6766153604575424802e030b4b5c78c75d29b73ad2587ee8f08b0354f6d57b0b22a2da7ebeeecd21b89a8a1ca5af0cc7d71d4bdc9cd19a4233968603fc5adc47ebfd35f383172930bf7ef0d98d866c7499c3a4862665d8c286a35ef90350877635122b0898c7dcdc83270724183308639cc1e04e84693968189c83cda803a6cd3afc72369b5988b789f052d2c37048e587f5298206c510784c12e1c6d60a0219ffff0356456bc88e2a6ef970151c79ea0d9479f379aef7127bae5e8763d734bb085759038ec96109977a6b183e891d761ccb0d801cb3e025caa0882b6ae8c8bebc96077003ad885e09b2f861bc6b6d45f747045d6092cbfee71243340942dcd1bdd4f0aa380219ffff0219ffff0392a24c0c1094010b415ddce7d29ce5c62d58253933234492b4004384aca5526b03f61ef4b28401ad5a2cf4f9384f448d6c1634086e10e81927ced09d92ea3bd5bc03b1df329ad9acf0d96ddbb647994602cd3872bdb781103d2dec8f7d7f214fd08303feecb1e809e75bf95957f76041a8888902755d0b2fc11b1522161b8257a0d42e03df57f56ed4216b0caa06319f460377f7cf239d25801c24a5954ee77afad5c8f903c91b6b6f579961480a6870f76e2c11bb3d6cfd126916e568423bd4f6dfaeff11030c7829e521320262e15685ee883d450440f37c019dff11db61e2d19f12e7996b03af140a5a94244f0c8d106a9bbefd6fff86b0304284b98b5faa01c51205c213eb0392c13668d83805af67745148c0c4d6958f7017a4c65ac89140d0f7cef0c3785a035ed99980269fad8b63bcf273ae8f4fd4c38da42f0ba78f1ffc3a875fbe5c95e00356a2fa610cbde7555af6b6fdd59d9182c7f4c4dce572f7aee2ad2511e9a9c593037f8d25c444e3970424b34e1e120ccfd5cdb38ccdbb1d8f30633f71446698101303ea123bbb86412c633209e79424519183120ee5d62558e188d576064c2dce599803685ec78806d62e653d8dd3c3433be9a3a5d738b7b995233c5461be454a04acb6034864154da62258f45b5cc70ea25cf4dd91b143d1896d40da7694061ca6d5ecd803f1e40b65f70140e1e05b3b2fe554e8dbdc2b354e817c59a15384613e3a74fd860354e61449c4fc0d945afea4ff6cfbb967c5c43f2c807609c3ebd9f035a2eb98e00376c2307535d992d3b1acf9babcb2343630157325fa60141b63234f5ff670439e036932dbd53ee0533c1aae4060011d77ebd2fb8a013d24cb2e95cf89fd7df2e08e03476a6d7c8aed4bb52997cf85037777fde59c3c3f1d05588cc42921723bbf575603aa66e30068c2b35d3454dfc09763014378d1ede9a569cfd668488f4dac85725b03e51a7def091e009cc014cc6debd3ef1938c11c000169ef1520a4e37847db654903e27657bf34dcdda196ed865019c856c58db13e20b0cd31de20e44968710841fd031dd963f20947c9741d42bc0070fb29a4bb79187fc8225d5e9ba1a02d45c29bca035b9e875981adb4454f6dfc5cbb876f5dc98e40dd338c014bbc44731413fdbed003a88b7ebf2ab601076ef610156b9046a095b9a7821892cd7b3be59b9fec5a505c03bc19758da4dbd5bc9ec7746ad6aa9098a4aaf276201478a00968f2f60687613303e9b94e84bc4fa9212db5375aeb2ceda4b063040f839c555107f852ffe245b62c031205c0ddd0526882657f001ba9f22c7aaeedad2b3271ab5f20ca6a9b08e17d0a0358777983cd7094f0f5b84a1ffa2bdc3943fe415b5641072061d9bcaf91c09314034717d75e771137de853660d5593556cab7e393eec455526241534897e676172d03515f2111e16bc85ce2597744ead933cf3f91585ddc3be93d12cd0ae9275e64aa05581e03a6de6b2ebabcb63ffb59e44d6bc1d4b1b8a722b64a3fd1be8b4b76f4100c01470116b4fd0edaaa05581e036a0ddaa37d614efea48fae487e4688a10a469c62a493151ee8e8b951800c014702ce80355f600005581e03306a99bf733630af26437b9b4759e4ddf68d7ca636567b9103beb11f600c064709730569dba33d0383759f083f99dfd4f8936e0874651cd5f871ff07bdb234cbce72b2a41dc2886701410a05581e03da350980c62927b5c75206a8b65a1b5efddc782f5e45e3f51942cf29f0040405581e036ba4e43bf4e4733d227003a0eabe335bfcd26afeaf3447fd767ff968200c183046812a456aaec805581e03f732a5b83620215b1f527f6068f387a4b6b1562bb62c49e9c77f1484e0040205581e03b97a84d4c09a0576245254508c0ae02fc614cb416595727778b783dfa0040205581e035487fe8345c6454e923815903be42becbf943e98d48890865f6bd3e4f0040402192da70219ffff031f70e46692c650e4d6ceb9d2c0b683d5573b7563b532085719b39cbb492fe9d303db65cdc1fcf1ec8e4f2719d83caed4a69b1b956e5682a71cd6bdad1d3e7fe5910219ffff03753468ba5a2e70e325f062c5ddbd3bd089cbbe1880e1d5d45a648e1d3a3ddd8603981178583439b8ee60cb2a497a0f1f8bd749bb3994d5ac23289527a948aaf90f0392f6b1e5513578d1aa94527aaa72bb8530000818f7ebee74affc6f1e428e7cb903b669a1fdccfbd1c92dbf31e0f59b5a2d17cd5cb3acab58a4f77d7b685a97a0820329aab18cae806880db2829f5c159463126609038eb4db7aa87faf26c8dbcaa7503890ba15a89e69eea02df291c9571965ef9fda450db33278f04055aae89eecab503b2c6d704ad65810739f2aaecc90c1f13b0994f645522d2643603e21df1afacaa032769b5dfc830864a804583e6065c85d656169962bf03b2f39a0004ca68e93a390319fce2210dcdea3731fb03f14d087176e5bf0e8e824df12e667f4c81c220400e03fcfe549d1ae0d10d14fa4557d37398af7f0edcbb40287b6f45fcbf581c49d62e037fd1fd008fca95a4237ec7af5f2e05c27820cbf7015fcc67005017e447f3d283030417ad7b171016ce4a254a52c8c35da5776348e9cf8b4b1edae80fc55d41a9ed03d072da05a89002daff4b4e8bf82356fea65d8a154faae71b72103f3a0e93092e03ae4dd834b5b37945cc168db0b24a9959cbb324d03e8753727d04b282651d1351032ffea538918821a38d4f9bc638a3934ec2f07af5622d0819fdbf27050d28883c0219ffff0338200c3fd8f439f917f513e9e28057daaff8e66836032233fd04cfdb9e00a57b033256904fd315dd84881c6eb3a61aaa4534e1b56a37045c8903cd09f744e363ca03ba8637fc446277220fe60f3ad3f5937d86dcbd00004aedb835e7327ac80ba640034790b774123fafb4942f7324ad6fa4236d1a3ed9d74236a8c942bdc85ca6cfae032713dac1587bbfa120f5d68d5b01226cece3a7d96fd67625d8b9063a5abbaa8f03c31d4848becab7c62d7d7727fdb665f7f6914b9e1a943a231d73c0f6e35269a90377650cead81ac07c3b6d3fc57debf9da379ebb2a63a7d7ef574d4a2c8ec87d9203525e34a8cd4e08376f9354c69af44ee3ba816af6d128a8e3eb5a45768a16ae2d034aa1c44aaa165466710aa6b918a923ea66d9f469f847b03b94b29438a37f602a036c34597012c2ab88556110a2a406a969844d1c3f2712f17395908ffc1e83602703a87dfdcd945882cf0cb55acb7f695a9e35336246349f73e4d3436f18fd54c590032b21e8f9703613d08706961f3c2728e5383bf3f0e63e0c137de9e4614931ee9703d83b6519d4fb7c203131934f881494447a26bee069db37d5b6fe7464ef3b81420308dbbc358cf245193f5305c93a8f83e00fe32571f224277ac5e343df4889358a03a2c20b9b8a2e817ca45fd6951e98c0c2224af93e9207a1424f6e87c002c84c4003e542980b7f270452307b50aff7a4d9c8ee1e5c276f6cac9ed4df387976663f0c034172ed73b7a7a27043f5e062ba6dbc5a35309102618c6ae15d44597d30bf10df03e9265eebf36809a59ed02d81ced0ad5770ff5e8911b33d3b96cdc99a540a9f8a03687e6e35800243f1baccc4ba3fdb20db9c2cb04b084841e85bac22b5896953b303af96563a96744a1638abfbd0b60a5d8f36f4d98f66a9248f4eafeb4d8fc901c003ba723bca9aa8bf59e50959e2f7529a1a7a6ee29747cef5106038f995a08536cc03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e036232a4b2c000e413815191de8fccda98af457eff63c2600b72ed0a0fc007011bffffffffffffffff03e295e682e5744251d18a6362e3a8d465ecf9dcea51f73862d7e938417580087d05581e038124e028a2ec62e96b1f643712aaf66181fc821e48c686139d65054510040103d9261fb94cb0fbfb4c7d34fa677191dedd09666afb6d959a3372cc31ce9d9d3b0307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581d032f6a14d47f357f19a62e3e2160aca86b583990740487a7e157a2f21007011bffffffffffffffff05581d036310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d008490313b2c58fcbd16c2602183005581d026d18b5ed74eadb7c5c5b22834769445678c0c8168fddeb16e6bbfb5804020219080105581e03c1f7e420eb4d9b12912b3884e45c9eac000f2f675b8cc9b77035855ab00c0147053b45e0d7b72805581e03f271f1cb20bc5b0b74aa8551a2db46f5a669e9e60f67340a472e20c1a00c0f473102fe5908807903446effc83a5c062fae4e244e10567ba2c9e28bc62c186116096de7ae79e49380034ebf60e22debe940f4a31bb59a7ad1f0d31d3aed30fb722e3599371bb31a292d05581e03e10b65d9d50ad3f2ef4b13bbc70e944c69c79a6b2289cb43fd833fdf6007011bffffffffffffffff05581e03ea1c35e4e0ebc8269e07da4b4fb389ab368d2c66ca177aeedb19006aa004010327ea5fad69b96ff425afe7fe109b5dac7e66f8d5a26dd91036fd2afa37e626170219e7c9037e5c54489f98469ebe6a959fb8174e458eb220bb50754e1a3f9dc71fd4aee6340331ac71fa9deaa0f7cd59ec1c895b518616c5f70aeea27aa31113f97c875655b7039c05ec0a2badc9ac31912d753e787c3e20bf2262d105c138c678cf38b1633cbd033ab5cca1bb0dba5376b05d662037fe06893ddfc48e5485805fcd712e91b45dc5034d26bb8c0f3014ffd4b5c658408de17357710c174df876ace23300b3bf06c729038f9314486deeea5b8df2eaedf5ba85b77ffd171959e823e03b9d2722232d6ef103409d471b0032a175ae69cdab1fac55aa4ea38190262815bd5e4bcb6855770c390219ffff036ff8e187f5d9197bd41fcf2205043703acb3eacc09e1131e0e1af1b517ed6ccb034aee72859d716e463b79aa868c9a145e541e54237e4de697172c9019593fe5c6039c1b7f81dc70927ae389f4dea9f7acce403b7235fb12e82744c5ed8124a48873036dcc58ab97d5d4b4c57fe59e3271db718262f809d489d68258fe3eb61a4a826e03c95403efedc061a977fc71e3bd42e3b2c20711049de61c2c069a712134a2c85903057d35f377300089526acdca7ccd652453725e5292c1ef1bd5787a5c8b08727a03a78c5f154078d9f8b4de169a6db640026fbcdc4e661568e419e31bc83cc39b8d031d7d38cdffb79f62735238290baf75bcd71691ac9f266096b30766d38e0b646e0353135649e494d6b7e420e09bc3b76a0ed3a60ee97665d5634b45443fcd0d16fe03c8bdc2b1b39256e8adb37e0267d176e3a88987a211a4d9cadd646ce48dc4970003f518dd98840611aa27185b9fc7b1c4261725cc33001b3f591b593d865b4c6e6603096b4227864bbc85de64f9ab15ab381184248ad285a17667bf583081816a873e0379e9492c5d0875294c6bef0276eb73e9f96642eb70ff6433b0b87e5c3f21068a0219ffff03f153192dbfc934bb5266b11749a30d70dd238657c36b7b4377c1ee3a3725dcd3033353cbb83beeb68488763bad8174b439ab086707db0abbfbf2a153a7c98ba11d03931919672f458f164cbeee27104d7af4216721965b84c779c60f611e6257a54e033c763fdfd405358551746fdede42cd48fb914d2c234687ddabd33bdea25beb1c03cbca1547c363bd9dcc06a8ba073a5419ba1a6e82a6fa68fa41d9f4ed7ddf4cde03c753cdc31fc43d0ef77a0ce8847bbc4c10f28831970ca4c527564c0804b36d450362d6d75d5b21c47cb912cd632052c989864202d3a74da9f71cd96af2c8ea100c0219ffff03ae8e0d17c3a3e4134f7e48fb62f0803ae765119eda3a13f9dcf2b747ea68602b03a42cce563ffd10fed965365c320de316443e5308090f200c2996bc95d54d97150350342d123b0ceb01730dae2813911502d78477e0ab3eacdf36f642327f0cc0f4031228c55c019f8f93e6a117fdc7f4960ae2cfc8b0a5e6f6145c79b1dcd824c21d032590b0d23ba8d7e826d96b688e177ab0433396fa2dd6f0b51a499db25892a16603835ec88756f4e23b9f7f8555c562848d6bf7eb01172c632033b0a9bf21695223036a9637a243a0fd84d03a64e7b13806f3412aa3e3078d1d403a92cc4377e56d14035ec4ad9c932f6484310a90e1dce9d1b12dda96cb8d9aa940b0f4a6dbf8ff7ef2033913f15c956dd799846b693bbbca3a3afabedfcef0b90fba40bdf1dcccf75fb40219ffff0391d297730fbc098756e9aec3e5bc32b0a54b1566cbc54ab73bb0c201e978392403a7bd06dde6accf183400f85491b97aa10ff73719f3489f1e8d857415be14008c038aaafac8478429c9f7cd89791cc85d4b61d7da1d04df8d81a132388f763522e10351cc3e251560bdb2728879206248f7e8ab7e141fcdce4bff07a6498103589e46031cb3b56155b38cc41d42fb7f533abe2bc4a63476f0abff397c472be9adadfb6e03e17ddfabd291ee76b8a93ece29eb3e61b3d84900587520495b0f94fda8f32c16031392382650bae8e233bbf9d528c0e15046d41a82747d6a5e8c7df3ab0664872103ebb1253508d455de88b9ce91e3a3d67b499672691dc371180bbe7d6fcfe2668c0397825ace25b4e6300289abf8dcc98ab7d9e9caa5a50bd087a6d0f49b5ba0fd47030ef54f9d2e0f46fff8e096a379d4a2fbb24efaedce56c84c179392c538de7fb803fb43a63c6b6931ecd188ce0f759b32683fc840f273f08d802299c8a4d2be3c150322b034e48f61642c05570cfc4425a6c0a7eb891a2e57c20ff7ef5fbe6150863803f484209effd66bbf4a84c6f8092c225f7d3a6d4871c4fbdcf34a6c0f8c5d86ce03ca75de309799d6aa2fdcefba4a4604001704898a356cb404989fb9dc5872caf203d0eb0760b5c272609aa85cf6f8d57081e07c95250b3e9a348fc68acb482ee9e2037c7f088a931f1522536759fd75abe861d929aea0e53daf2acc2f43c259fa172203e1937ece067ba3f8c94df7de84a6cce35cce285c1cc7db1da0e1425351ccec3503aed3e6d1045d4ae997248b95d2d6d96d8924303c42ffac4e7acbd4b253e66e790364cf4bfaf7b138402dc1123bed72db1324f9f1386262a87dd86900d311c9612b035a04eb0cebc18846787d6291d24ddd2f56c70b90f92748556c72cc57e7042d4403b71bbcd5f06fdcd20a02998a614bd8ebb92c5794d82a72e6c9c3363efb14ffc30374fdd5929902205243a740b52a96e42e082adeef899ad7bd79f264b7051c0ad6036de4849e964961e85e05bb2fec9ea668a3bec45b64f714968a25f6ad6e15133103aef419cd294abafd1a23bd957bab853a2afde389f8b424c22a891db11840a76803a1456441a2b5a39e586c6df7b54ebc7978cfa33a28f7977e0fce9b71cbdf25a2031a4a69b71242ac323ca5c90fbf0c096e3f27f4e8654b97573a50f539bcfa57500351122ab1906f994aa842d06ef473bc614f9efe9c2d2a5fcffcd44b83ab67ebea03873261eca3419b4bbe4ca83eb59838035fb234b0f6541748fef3af0c374bb79b037e269e1178f584bc47fb3250e50d1369e3635bae429c581287f11a379cda309f038e5ee1964ed7acac310ec5b6bb445c883dc317538cbaae59101332908f2bb562034a5d2a5f373a6036052b83867859bf1f918071733a4a50f7ca3df673ceb15a8b03526984ce36d11d4a0204fa508a180b4fb3d27b08d9b5d8976fb58f6439d8cb2a036c621161c57978e0de24401be0ab8d573e85efd75508ce45308e92377485f78003e629e354a88f5a7b895c742055236f694c50259a3fdcb3de15b1a977a8dfac8f032aa0a481893ebbebc6fe40941e5292c1bbc2184765af1abf6aebe55dfefa06cf03b4dd468e1afba76a8c3d20d2ff057366e62e7113ae5d930ca891543f8226471105581e0365b07f3c01d602f0b548e8e7018455a02515cf609898f67f781ac2145007011bffffffffffffffff045939326003361161000c576138be565b60003560e01c63371dc4478118610037576104c436106138c05760a0366101a037336102405261011a565b635c9c18e281186100a55761056436106138c0576104c4358060a01c6138c0576101a0526104e4358060a01c6138c0576101c052610504358060a01c6138c0576101e052610524358060a01c6138c05761020052610544358060a01c6138c05761022052336102405261011a565b63c872a3c581186115e05761058436106138c0576104c4358060a01c6138c0576101a0526104e4358060a01c6138c0576101c052610504358060a01c6138c0576101e052610524358060a01c6138c05761020052610544358060a01c6138c05761022052610564358060a01c6138c057610240525b6004358060a01c6138c0576040526024358060a01c6138c0576060526044358060a01c6138c0576080526064358060a01c6138c05760a0526084358060a01c6138c05760c05260a4358060a01c6138c05760e05260c4358060a01c6138c0576101005260e4358060a01c6138c05761012052610104358060a01c6138c05761014052610124358060a01c6138c05761016052610144358060a01c6138c057610180526000546001146138c057600160005560405161026052600061028052610484356102a05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610260511861020d576102a05134186138c05761028b565b346138c057610260516323b872dd6102c052336102e05230610300526102a0516103205260206102c060646102dc6000855af161024f573d600060003e3d6000fd5b3d61026657803b156138c05760016103405261027f565b60203d106138c0576102c0518060011c6138c057610340525b610340905051156138c0575b600160058101905b806102c0526102c0518060011b818160011c186138c0579050600181038181116138c0579050600a81116138c05760051b604001516102e0526102c051600181038181116138c0579050600481116138c05760051b6101a00151610300526102c0518060011b818160011c186138c0579050600a81116138c05760051b604001516102805260a06102c051600181038181116138c0579050600481116138c057026101640180356103205260208101356103405260408101356103605260608101356103805260808101356103a052506002610260516020526000526040600020806102e0516020526000526040600020905054610436576102605163095ea7b36103c0526102e0516103e0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6104005260206103c060446103dc6000855af16103e3573d600060003e3d6000fd5b3d6103f357600161042052610404565b6103c0518060011c6138c057610420525b610420905051156138c05760016002610260516020526000526040600020806102e05160205260005260406000209050555b60006103c05273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102605118610463576102a0516103c0525b600161036051186105da57600161038051186104e1576102e051633df021246103e0526103205180607f1c6138c057610400526103405180607f1c6138c057610420526102a05161044052600061046052803b156138c05760006103e060846103fc6103c051855af16104db573d600060003e3d6000fd5b50611266565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102605118610506576001610522565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102805118155b61057c576102e051635b41b9086103e052610320516104005261034051610420526102a05161044052600061046052803b156138c05760006103e060846103fc6000855af1610576573d600060003e3d6000fd5b50611266565b6102e05163394747c56103e052610320516104005261034051610420526102a05161044052600061046052600161048052803b156138c05760006103e060a46103fc6103c051855af16105d4573d600060003e3d6000fd5b50611266565b600261036051186106b05760016103805118610658576102e05163a6417ed66103e0526103205180607f1c6138c057610400526103405180607f1c6138c057610420526102a05161044052600061046052803b156138c05760006103e060846103fc6103c051855af1610652573d600060003e3d6000fd5b50611266565b6102e0516365b2489b6103e052610320516104005261034051610420526102a05161044052600061046052803b156138c05760006103e060846103fc6103c051855af16106aa573d600060003e3d6000fd5b50611266565b600361036051186107e15760016103805118610734576102e051637981c43e6103e05261030051610400526103205180607f1c6138c057610420526103405180607f1c6138c057610440526102a05161046052600061048052803b156138c05760006103e060a46103fc6000855af161072e573d600060003e3d6000fd5b50611266565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102605118610759576001610775565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102805118155b6103e0526102e051632bf78c61610400526103005161042052610320516104405261034051610460526102a0516104805260006104a0526103e0516104c052803b156138c057600061040060c461041c6103c051855af16107db573d600060003e3d6000fd5b50611266565b60046103605118610a045760026103a05118610866576040366103e0376102a05161032051600181116138c05760051b6103e001526102e051630b4c7e4d610420526103e051610440526104005161046052600061048052803b156138c0576000610420606461043c6103c051855af1610860573d600060003e3d6000fd5b50611266565b60036103a051186108e8576060366103e0376102a05161032051600281116138c05760051b6103e001526102e051634515cef3610440526103e051610460526104005161048052610420516104a05260006104c052803b156138c0576000610440608461045c6103c051855af16108e2573d600060003e3d6000fd5b50611266565b60046103a05118610972576080366103e0376102a05161032051600381116138c05760051b6103e001526102e05163029b2f34610460526103e05161048052610400516104a052610420516104c052610440516104e052600061050052803b156138c057600061046060a461047c6103c051855af161096c573d600060003e3d6000fd5b50611266565b60056103a051186112665760a0366103e0376102a05161032051600481116138c05760051b6103e001526102e0516384738499610480526103e0516104a052610400516104c052610420516104e05261044051610500526104605161052052600061054052803b156138c057600061048060c461049c6103c051855af16109fe573d600060003e3d6000fd5b50611266565b60056103605118610a8c576060366103e0376102a05161032051600281116138c05760051b6103e001526102e051632b6e993a610440526103e051610460526104005161048052610420516104a05260006104c05260016104e052803b156138c057600061044060a461045c6103c051855af1610a86573d600060003e3d6000fd5b50611266565b60066103605118610b465760016103805118610af8576102e051631a4d01d26103e0526102a051610400526103405180607f1c6138c05761042052600061044052803b156138c05760006103e060646103fc6000855af1610af2573d600060003e3d6000fd5b50611266565b6102e05163f1dc3cc96103e0526102a051610400526103405161042052600061044052803b156138c05760006103e060646103fc6000855af1610b40573d600060003e3d6000fd5b50611266565b60076103605118610bb2576102e05163517a55a36103e0526102a051610400526103405180607f1c6138c0576104205260006104405260016104605260206103e060846103fc6000855af1610ba0573d600060003e3d6000fd5b60203d106138c0576103e05050611266565b600861036051186111595773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102605118610bf15760206138d2600039600051610280511815610bf4565b60005b61111f5760206138d26000396000516102605118610c2c5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610280511815610c2f565b60005b6110df5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102605118610c715773ae7ab96520de3a18e5e111b5eaab095312d7fe84610280511815610c74565b60005b61109f5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102605118610cb657735e8422345238f34275888049021821e8e08caa1f610280511815610cb9565b60005b6110655773ae7ab96520de3a18e5e111b5eaab095312d7fe846102605118610cfb57737f39c581f595b53c5cb19bd0b3f8da6c935e2ca0610280511815610cfe565b60005b61102057737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06102605118610d405773ae7ab96520de3a18e5e111b5eaab095312d7fe84610280511815610d43565b60005b610fdb57735e8422345238f34275888049021821e8e08caa1f6102605118610d855773ac3e018457b222d93114458476f3e3416abbe38f610280511815610d88565b60005b610f915773ac3e018457b222d93114458476f3e3416abbe38f6102605118610dca57735e8422345238f34275888049021821e8e08caa1f610280511815610dcd565b60005b610f425773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102605118610e0f5773a2e3356610840701bdf5611a53974510ae27e2e1610280511815610e12565b60005b610eef5760776103e0527f5377617020747970652038206973206f6e6c7920666f7220455448203c2d3e20610400527f574554482c20455448202d3e207374455448206f7220455448202d3e20667278610420527f4554482c207374455448203c2d3e207773744554482c20667278455448203c2d610440527f3e20736672784554482c20455448202d3e207742455448000000000000000000610460526103e0506103e0518061040001601f826000031636823750506308c379a06103a05260206103c052601f19601f6103e05101166044016103bcfd611266565b6102e05163f340fa016103e05273ecb456ea5365865ebab8a2661b0c503410e9b34761040052803b156138c05760006103e060246103fc6102a051855af1610f3c573d600060003e3d6000fd5b50611266565b6102e05163ba0876526103e0526102a051610400523061042052306104405260206103e060646103fc6000855af1610f7f573d600060003e3d6000fd5b60203d106138c0576103e05050611266565b6102e051636e553f656103e0526102a05161040052306104205260206103e060446103fc6000855af1610fc9573d600060003e3d6000fd5b60203d106138c0576103e05050611266565b6102e05163de0e9a3e6103e0526102a0516104005260206103e060246103fc6000855af161100e573d600060003e3d6000fd5b60203d106138c0576103e05050611266565b6102e05163ea598cb06103e0526102a0516104005260206103e060246103fc6000855af1611053573d600060003e3d6000fd5b60203d106138c0576103e05050611266565b6102e051635bcb2fc66103e052803b156138c05760006103e060046103fc6102a051855af1611099573d600060003e3d6000fd5b50611266565b6102e05163a1903eab6103e052600061040052803b156138c05760006103e060246103fc6102a051855af16110d9573d600060003e3d6000fd5b50611266565b6102e051632e1a7d4d6103e0526102a05161040052803b156138c05760006103e060246103fc6000855af1611119573d600060003e3d6000fd5b50611266565b6102e05163d0e30db06103e052803b156138c05760006103e060046103fc6102a051855af1611153573d600060003e3d6000fd5b50611266565b60096103605118611200576102e0516344b3e9236103e052600161026051602052600052604060002054610400526102a05161042052600161028051602052600052604060002054610440527f43555256450000000000000000000000000000000000000000000000000000006104605260006104805260206103e060a46103fc6000855af16111ee573d600060003e3d6000fd5b60203d106138c0576103e05050611266565b600d6103e0527f4261642073776170207479706500000000000000000000000000000000000000610400526103e0506103e0518061040001601f826000031636823750506308c379a06103a05260206103c052601f19601f6103e05101166044016103bcfd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610280511861128e57476102a0526112cf565b610280516370a082316103e052306104005260206103e060246103fc845afa6112bc573d600060003e3d6000fd5b60203d106138c0576103e09050516102a0525b6102a05161133d5760106103e0527f5265636569766564206e6f7468696e6700000000000000000000000000000000610400526103e0506103e0518061040001601f826000031636823750506308c379a06103a05260206103c052601f19601f6103e05101166044016103bcfd5b60056102c0511861134f576001611381565b6102c0518060011b818160011c186138c0579050600181018181106138c0579050600a81116138c05760051b60400151155b1561138b5761139e565b6102805161026052600101818118610293575b50506102a051600181038181116138c05790506102a0526104a4356102a05110156114295760086102c0527f536c6970706167650000000000000000000000000000000000000000000000006102e0526102c0506102c051806102e001601f826000031636823750506308c379a06102805260206102a052601f19601f6102c051011660440161029cfd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61028051186114795760006102c0526102c050600060006102c0516102e06102a051610240515af16114f0573d600060003e3d6000fd6114f0565b6102805163a9059cbb6102c052610240516102e0526102a0516103005260206102c060446102dc6000855af16114b4573d600060003e3d6000fd5b3d6114cb57803b156138c0576001610320526114e4565b60203d106138c0576102c0518060011c6138c057610320525b610320905051156138c0575b61024051337f56d0661e240dfb199ef196e16e6f42473990366314f0226ac978f7be3cd9ee836040516102c0526060516102e0526080516103005260a0516103205260c0516103405260e051610360526101005161038052610120516103a052610140516103c052610160516103e052610180516104005260a06101646104203760a06102046104c03760a06102a46105603760a06103446106003760a06103e46106a0376101a051610740526101c051610760526101e05161078052610200516107a052610220516107c052610484356107e0526102a051610800526105606102c0a360206102a06000600055f35b6381889a2c8118611600576104a436106138c05760a0366101a037611665565b63637653cb81186125f95761054436106138c0576104a4358060a01c6138c0576101a0526104c4358060a01c6138c0576101c0526104e4358060a01c6138c0576101e052610504358060a01c6138c05761020052610524358060a01c6138c057610220525b6004358060a01c6138c0576040526024358060a01c6138c0576060526044358060a01c6138c0576080526064358060a01c6138c05760a0526084358060a01c6138c05760c05260a4358060a01c6138c05760e05260c4358060a01c6138c0576101005260e4358060a01c6138c05761012052610104358060a01c6138c05761014052610124358060a01c6138c05761016052610144358060a01c6138c05761018052346138c057604051610240526000610260526104843561028052600160058101905b806102a0526102a0518060011b818160011c186138c0579050600181038181116138c0579050600a81116138c05760051b604001516102c0526102a051600181038181116138c0579050600481116138c05760051b6101a001516102e0526102a0518060011b818160011c186138c0579050600a81116138c05760051b604001516102605260a06102a051600181038181116138c0579050600481116138c057026101640180356103005260208101356103205260408101356103405260608101356103605260808101356103805250600161034051186118cf5760016103605118611877576102c051635e0d443f6103a0526103005180607f1c6138c0576103c0526103205180607f1c6138c0576103e052610280516104005260206103a060646103bc845afa611860573d600060003e3d6000fd5b60203d106138c0576103a09050516102805261257a565b6102c05163556d6e9f6103a052610300516103c052610320516103e052610280516104005260206103a060646103bc845afa6118b8573d600060003e3d6000fd5b60203d106138c0576103a09050516102805261257a565b600261034051186119a5576001610360511861194d576102c0516307211ef76103a0526103005180607f1c6138c0576103c0526103205180607f1c6138c0576103e052610280516104005260206103a060646103bc845afa611936573d600060003e3d6000fd5b60203d106138c0576103a09050516102805261257a565b6102c0516385f11d1e6103a052610300516103c052610320516103e052610280516104005260206103a060646103bc845afa61198e573d600060003e3d6000fd5b60203d106138c0576103a09050516102805261257a565b60036103405118611a835760016103605118611a23576102e0516307211ef76103a0526103005180607f1c6138c0576103c0526103205180607f1c6138c0576103e052610280516104005260206103a060646103bc845afa611a0c573d600060003e3d6000fd5b60203d106138c0576103a09050516102805261257a565b6102c05163e9737ee26103a0526102e0516103c052610300516103e0526103205161040052610280516104205260206103a060846103bc845afa611a6c573d600060003e3d6000fd5b60203d106138c0576103a09050516102805261257a565b6103405160048118611a96576001611a9c565b60058118155b90506120cb576103405160068118611ab5576001611abb565b60078118155b90506120185760086103405118611e955760206138d26000396000516102405118611ae7576001611b8f565b60206138d26000396000516102605118611b02576001611b8f565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102405118611b405773ae7ab96520de3a18e5e111b5eaab095312d7fe84610260511815611b43565b60005b611b8c5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6102405118611b8557735e8422345238f34275888049021821e8e08caa1f610260511815611b8f565b6000611b8f565b60015b61257a57737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06102405118611bf9576102c05163bb2952fc6103a052610280516103c05260206103a060246103bc845afa611be2573d600060003e3d6000fd5b60203d106138c0576103a09050516102805261257a565b737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06102605118611c5f576102c05163b0e389006103a052610280516103c05260206103a060246103bc845afa611c48573d600060003e3d6000fd5b60203d106138c0576103a09050516102805261257a565b73ac3e018457b222d93114458476f3e3416abbe38f6102405118611cc5576102c0516307a2d13a6103a052610280516103c05260206103a060246103bc845afa611cae573d600060003e3d6000fd5b60203d106138c0576103a09050516102805261257a565b73ac3e018457b222d93114458476f3e3416abbe38f6102605118611d2b576102c05163c6e6f5926103a052610280516103c05260206103a060246103bc845afa611d14573d600060003e3d6000fd5b60203d106138c0576103a09050516102805261257a565b73a2e3356610840701bdf5611a53974510ae27e2e16102605118611db85761028051670de0b6b3a7640000810281670de0b6b3a76400008204186138c05790506102c051633ba0b9a96103a05260206103a060046103bc845afa611d94573d600060003e3d6000fd5b60203d106138c0576103a090505180156138c057808204905090506102805261257a565b60776103a0527f5377617020747970652038206973206f6e6c7920666f7220455448203c2d3e206103c0527f574554482c20455448202d3e207374455448206f7220455448202d3e206672786103e0527f4554482c207374455448203c2d3e207773744554482c20667278455448203c2d610400527f3e20736672784554482c20455448202d3e207742455448000000000000000000610420526103a0506103a051806103c001601f826000031636823750506308c379a061036052602061038052601f19601f6103a051011660440161037cfd61257a5661257a565b60096103405118611fae576321f8a7216103c0527f45786368616e67657200000000000000000000000000000000000000000000006103e05260206103c060246103dc73823be81bbf96bec0e25ca13170f5aacb5b79ba835afa611efe573d600060003e3d6000fd5b60203d106138c0576103c0518060a01c6138c05761040052610400516103a0526103a05163dc703e7361042052610280516104405260016102405160205260005260406000205461046052600161026051602052600052604060002054610480526060610420606461043c845afa611f7b573d600060003e3d6000fd5b60603d106138c057610420905080516103c05260208101516103e052604081015161040052506103c0516102805261257a565b600d6103a0527f42616420737761702074797065000000000000000000000000000000000000006103c0526103a0506103a051806103c001601f826000031636823750506308c379a061036052602061038052601f19601f6103a051011660440161037cfd61257a565b6001610360511861207b576102c05163cc2b27d76103c052610280516103e0526103205180607f1c6138c0576104005260206103c060446103dc845afa612064573d600060003e3d6000fd5b60203d106138c0576103c09050516102805261257a565b6102c051634fb08c5e6103c052610280516103e052610320516104005260206103c060446103dc845afa6120b4573d600060003e3d6000fd5b60203d106138c0576103c09050516102805261257a565b600161036051186121b257610140366103c0376102805161030051600981116138c05760051b6103c0015260206138f26000396000516379ccdf49610500526102c0516105205261026051610540526103c051610560526103e05161058052610400516105a052610420516105c052610440516105e052610460516106005261048051610620526104a051610640526104c051610660526104e05161068052610380516106a05260016106c05260016106e05260206105006101e461051c845afa61219b573d600060003e3d6000fd5b60203d106138c0576105009050516102805261257a565b6002610380511861228d576040366103c0376102805161030051600181116138c05760051b6103c0015260026103605118612237576102c051638d8ea727610400526103c051610420526103e051610440526020610400604461041c845afa612220573d600060003e3d6000fd5b60203d106138c0576104009050516102805261257a565b6102c05163ed8e84f3610400526103c051610420526103e051610440526001610460526020610400606461041c845afa612276573d600060003e3d6000fd5b60203d106138c0576104009050516102805261257a565b60036103805118612378576060366103c0376102805161030051600281116138c05760051b6103c001526002610360511861231a576102c051635b6f1b5a610420526103c051610440526103e0516104605261040051610480526020610420606461043c845afa612303573d600060003e3d6000fd5b60203d106138c0576104209050516102805261257a565b6102c051633883e119610420526103c051610440526103e05161046052610400516104805260016104a0526020610420608461043c845afa612361573d600060003e3d6000fd5b60203d106138c0576104209050516102805261257a565b60046103805118612473576080366103c0376102805161030051600381116138c05760051b6103c001526002610360511861240d576102c051631a805185610440526103c051610460526103e05161048052610400516104a052610420516104c0526020610440608461045c845afa6123f6573d600060003e3d6000fd5b60203d106138c0576104409050516102805261257a565b6102c05163cf701ff7610440526103c051610460526103e05161048052610400516104a052610420516104c05260016104e052602061044060a461045c845afa61245c573d600060003e3d6000fd5b60203d106138c0576104409050516102805261257a565b6005610380511861257a5760a0366103c0376102805161030051600481116138c05760051b6103c0015260026103605118612510576102c0516309379690610460526103c051610480526103e0516104a052610400516104c052610420516104e0526104405161050052602061046060a461047c845afa6124f9573d600060003e3d6000fd5b60203d106138c0576104609050516102805261257a565b6102c051637ede89c5610460526103c051610480526103e0516104a052610400516104c052610420516104e0526104405161050052600161052052602061046060c461047c845afa612567573d600060003e3d6000fd5b60203d106138c057610460905051610280525b60056102a0511861258c5760016125be565b6102a0518060011b818160011c186138c0579050600181018181106138c0579050600a81116138c05760051b60400151155b156125c8576125db565b6102605161024052600101818118611729575b505061028051600181038181116138c05790506102a05260206102a0f35b63c07b5353811861261a5761054436106138c057610140366102403761273f565b6381fc0ca5811861268a576105e436106138c057610544358060a01c6138c05761024052610564358060a01c6138c05761026052610584358060a01c6138c057610280526105a4358060a01c6138c0576102a0526105c4358060a01c6138c0576102c05260a0366102e03761273f565b6390e7e20581186138bc5761068436106138c057610544358060a01c6138c05761024052610564358060a01c6138c05761026052610584358060a01c6138c057610280526105a4358060a01c6138c0576102a0526105c4358060a01c6138c0576102c0526105e4358060a01c6138c0576102e052610604358060a01c6138c05761030052610624358060a01c6138c05761032052610644358060a01c6138c05761034052610664358060a01c6138c057610360525b6004358060a01c6138c0576040526024358060a01c6138c0576060526044358060a01c6138c0576080526064358060a01c6138c05760a0526084358060a01c6138c05760c05260a4358060a01c6138c05760e05260c4358060a01c6138c0576101005260e4358060a01c6138c05761012052610104358060a01c6138c05761014052610124358060a01c6138c05761016052610144358060a01c6138c057610180526104a4358060a01c6138c0576101a0526104c4358060a01c6138c0576101c0526104e4358060a01c6138c0576101e052610504358060a01c6138c05761020052610524358060a01c6138c05761022052346138c0576104843561038052600160058101905b806103a0526103a05180600603600681116138c05790506103c0526103c0518060011b818160011c186138c0579050600181038181116138c0579050600a81116138c05760051b604001516103e0526103e0516128a2576138a9565b6103c051600181038181116138c05790508060011b818160011c186138c0579050600a81116138c05760051b60400151610400526103c0518060011b818160011c186138c0579050600a81116138c05760051b60400151610420526103c051600181038181116138c0579050600481116138c05760051b6101a00151610440526103c051600181038181116138c0579050600481116138c05760051b6102400151610460526103c051600181038181116138c0579050600481116138c05760051b6102e001516104805260a06103c051600181038181116138c0579050600481116138c057026101640180356104a05260208101356104c05260408101356104e05260608101356105005260808101356105205250610520516105405260016104e05118612bc95760016105005118612ae35761046051612a5c5760206138f260003960005163158819d46105605261044051610580526104a05180607f1c6138c0576105a0526104c05180607f1c6138c0576105c052610380516105e0526105405161060052602061056060a461057c845afa612a45573d600060003e3d6000fd5b60203d106138c057610560905051610380526138a9565b60206138f260003960005163571f00b56105605261044051610580526104a05180607f1c6138c0576105a0526104c05180607f1c6138c0576105c052610380516105e05261054051610600526104605161062052602061056060c461057c845afa612acc573d600060003e3d6000fd5b60203d106138c057610560905051610380526138a9565b6105005160028118612af6576001612afc565b60038118155b9050612b5a57610440516337ed3a7a610560526104a051610580526104c0516105a052610380516105c0526020610560606461057c845afa612b43573d600060003e3d6000fd5b60203d106138c057610560905051610380526138a9565b602061391260003960005163ca4bc71461058052610440516105a0526104a0516105c0526104c0516105e05261038051610600526105405161062052602061058060a461059c845afa612bb2573d600060003e3d6000fd5b60203d106138c057610580905051610380526138a9565b6104e05160028118612bdc576001612be2565b60038118155b905061370d576104e05160048118612bfb576001612c01565b60058118155b905061365a576104e05160068118612c1a576001612c20565b60078118155b90506131a75760086104e05118612ff05760206138d26000396000516104005118612c4c576001612cf4565b60206138d26000396000516104205118612c67576001612cf4565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6104005118612ca55773ae7ab96520de3a18e5e111b5eaab095312d7fe84610420511815612ca8565b60005b612cf15773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6104005118612cea57735e8422345238f34275888049021821e8e08caa1f610420511815612cf4565b6000612cf4565b60015b6138a957737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06104005118612d5e576103e05163b0e389006105605261038051610580526020610560602461057c845afa612d47573d600060003e3d6000fd5b60203d106138c057610560905051610380526138a9565b737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06104205118612dc4576103e05163bb2952fc6105605261038051610580526020610560602461057c845afa612dad573d600060003e3d6000fd5b60203d106138c057610560905051610380526138a9565b73ac3e018457b222d93114458476f3e3416abbe38f6104005118612e2a576103e05163c6e6f5926105605261038051610580526020610560602461057c845afa612e13573d600060003e3d6000fd5b60203d106138c057610560905051610380526138a9565b73ac3e018457b222d93114458476f3e3416abbe38f6104205118612e90576103e0516307a2d13a6105605261038051610580526020610560602461057c845afa612e79573d600060003e3d6000fd5b60203d106138c057610560905051610380526138a9565b73a2e3356610840701bdf5611a53974510ae27e2e16104205118612f1357610380516103e051633ba0b9a9610560526020610560600461057c845afa612edb573d600060003e3d6000fd5b60203d106138c0576105609050518082028115838383041417156138c05790509050670de0b6b3a764000081049050610380526138a9565b6077610560527f5377617020747970652038206973206f6e6c7920666f7220455448203c2d3e20610580527f574554482c20455448202d3e207374455448206f7220455448202d3e206672786105a0527f4554482c207374455448203c2d3e207773744554482c20667278455448203c2d6105c0527f3e20736672784554482c20455448202d3e2077424554480000000000000000006105e05261056050610560518061058001601f826000031636823750506308c379a061052052602061054052601f19601f61056051011660440161053cfd6138a9566138a9565b60096104e0511861313d576321f8a721610580527f45786368616e67657200000000000000000000000000000000000000000000006105a0526020610580602461059c73823be81bbf96bec0e25ca13170f5aacb5b79ba835afa613059573d600060003e3d6000fd5b60203d106138c057610580518060a01c6138c0576105c0526105c051610560526105605163dc703e736105e052670de0b6b3a764000061060052600161040051602052600052604060002054610620526001610420516020526000526040600020546106405260606105e060646105fc845afa6130db573d600060003e3d6000fd5b60603d106138c0576105e0905080516105805260208101516105a05260408101516105c0525061038051670de0b6b3a7640000810281670de0b6b3a76400008204186138c05790506105805180156138c05780820490509050610380526138a9565b600d610560527f42616420737761702074797065000000000000000000000000000000000000006105805261056050610560518061058001601f826000031636823750506308c379a061052052602061054052601f19601f61056051011660440161053cfd6138a9565b6001610500511861328e576101403661058037610380516104c051600981116138c05760051b610580015260206138f26000396000516379ccdf496106c0526103e0516106e052610400516107005261058051610720526105a051610740526105c051610760526105e05161078052610600516107a052610620516107c052610640516107e052610660516108005261068051610820526106a05161084052610540516108605260006108805260016108a05260206106c06101e46106dc845afa613277573d600060003e3d6000fd5b60203d106138c0576106c0905051610380526138a9565b600261054051186133695760403661058037610380516104c051600181116138c05760051b610580015260026105005118613313576103e051638d8ea7276105c052610580516105e0526105a0516106005260206105c060446105dc845afa6132fc573d600060003e3d6000fd5b60203d106138c0576105c0905051610380526138a9565b6103e05163ed8e84f36105c052610580516105e0526105a0516106005260006106205260206105c060646105dc845afa613352573d600060003e3d6000fd5b60203d106138c0576105c0905051610380526138a9565b600361054051186134545760603661058037610380516104c051600281116138c05760051b6105800152600261050051186133f6576103e051635b6f1b5a6105e05261058051610600526105a051610620526105c0516106405260206105e060646105fc845afa6133df573d600060003e3d6000fd5b60203d106138c0576105e0905051610380526138a9565b6103e051633883e1196105e05261058051610600526105a051610620526105c0516106405260006106605260206105e060846105fc845afa61343d573d600060003e3d6000fd5b60203d106138c0576105e0905051610380526138a9565b6004610540511861354f5760803661058037610380516104c051600381116138c05760051b6105800152600261050051186134e9576103e051631a8051856106005261058051610620526105a051610640526105c051610660526105e051610680526020610600608461061c845afa6134d2573d600060003e3d6000fd5b60203d106138c057610600905051610380526138a9565b6103e05163cf701ff76106005261058051610620526105a051610640526105c051610660526105e0516106805260006106a052602061060060a461061c845afa613538573d600060003e3d6000fd5b60203d106138c057610600905051610380526138a9565b600561054051186138a95760a03661058037610380516104c051600481116138c05760051b6105800152600261050051186135ec576103e05163093796906106205261058051610640526105a051610660526105c051610680526105e0516106a052610600516106c052602061062060a461063c845afa6135d5573d600060003e3d6000fd5b60203d106138c057610620905051610380526138a9565b6103e051637ede89c56106205261058051610640526105a051610660526105c051610680526105e0516106a052610600516106c05260006106e052602061062060c461063c845afa613643573d600060003e3d6000fd5b60203d106138c057610620905051610380526138a9565b600161050051186136bd576103e05163cc2b27d761058052610380516105a0526104a05180607f1c6138c0576105c0526020610580604461059c845afa6136a6573d600060003e3d6000fd5b60203d106138c057610580905051610380526138a9565b6103e051634fb08c5e61058052610380516105a0526104a0516105c0526020610580604461059c845afa6136f6573d600060003e3d6000fd5b60203d106138c057610580905051610380526138a9565b6001610500511861382e576104605161379f5760206138f2600039600051638fd3218f61058052610440516105a0526104a05180607f1c6138c0576105c0526104c05180607f1c6138c0576105e05261038051610600526105405161062052602061058060a461059c845afa613788573d600060003e3d6000fd5b60203d106138c057610580905051610380526138a9565b60206138f2600039600051634933a86461058052610440516105a0526104a05180607f1c6138c0576105c0526104c05180607f1c6138c0576105e0526103805161060052610540516106205261046051610640526104805161066052602061058060e461059c845afa613817573d600060003e3d6000fd5b60203d106138c057610580905051610380526138a9565b6020613912600039600051638ca1565361058052610440516105a0526104a0516105c0526104c0516105e0526103805161060052610540516106205261046051610640526104805161066052602061058060e461059c845afa613896573d600060003e3d6000fd5b60203d106138c057610580905051610380525b6001018181186128465750506020610380f35b505b005b600080fda165767970657283000307000b000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000ca8d0747b5573d69653c3ac22242e6341c36e4b4000000000000000000000000a72c85c258a81761433b4e8da60505fe3dd551cc03fc6bc46ea3bf98651f15e99c54d6fb91af339d72129feef51232b65bab76f58903a2a8b9fa975e367bda2d904213fcbdef31b801e250382a355355ab9e16a4816a03e6fdfa48742c779c8e16d30ba8d17257fcd45101938690bb2e34363c47961c9903f6164d8079f8cbdd153fd01758168981506e5fc8224836847d4244d726bb45c7036729b363be83646e3fe391292a6a5488eb1de88727183aec3547985c97b6a13403aac1678ea6712f92c65a96a6bed47c0271d06997a18f5409ef3d5213ce61bbe30350d0576da5d64b0cd78e03124a4bde6339c941687a5821258abff30195647b7a0340f6ba822b608b57515230c78b2ac5b078f435d4517eb63f1f7da8a16a71a789033f194ba4597e3df64aafc36535e54f720b386cce7e2ef45fade6e37ce23e1a9203ee363c373e538351e3e02c0214f4b2f30b4b9a4b09b4f316e902adf918cf7af200582003c8ac4588d0c77c4fd62234a86c685d6f3980e5f97e85b227a7aa0e473ea400410100582003d97b7e32799eb20d29962e938c809c0d18250486bc1b03ffa6bbdb1e86613041010058200331d48dcaf6d33a14eef5a0ea247152ad4e8be33165f86af10c5d4e5307cc704101021921020315df3e6b3f0093f862fc01e7999ad9639ba93292196f9be75b98c0d6456e8e2a03a2763b93e3d5d97c1fdf916908f1b1df733ea56bffb6bcdd922e72aa61e735ad03a6a8aebf064e2f7ec35f6e07d74090e142fd26ace15e70c1cd5abcdded848db60302bcf2d86df24fb18f014a9e5c333b214295aeb85010a0200351666c4664250a03fad41c33650dd11ab6ae7524e0920e57fb5834e80e88990b822250bc548967ba0351ad86ec0579a42a99494d4a3669fbb8cd6540775a24c696e8b822378d88b3f50219ffef03bb6bb4e1dc0cbd64d20823e3b1b00cf750ec7f72c6ed19f066f19ebefa994a68032f4ba519388729955788dd335543f7b0f9ad01ad891efea30e996c9f14fd82b9030b4702c1a60a9a1aac5cec1f07c5a8ed74ead5aba18afd15897537ec1959311003c5ba21d06477ab4de7aa3d75fbb64bff316427e61f1984dbcccb250474e69ded03c5494f2c7eeef3e399b20eabed5ddb2f4477370ea06688a36610c7e609028f4a037acb622e698e0d404c20545c864eda3b6eefdc386a0e4c34deaf7bdad97473fe00582003f992f29d26d651b7f4092a006e13223cbe6db37b73e891ac9c49fa6c0ac5804101005820036c270f84a21ba651c00d14ce879a6d567dd800cc5bbdbcaed0cf7b21c0bdd04101005820039ccaebe9801bb9fd96c9e0cc4db75dd837f93435de62e06484884b7b4b7d10410100582003b768abb295a729856ca3904a9c2c6f8f9a8508cf79b17531940594cd9d5ab04101005820032d0a68be060c579742c353877e008969faa89961218567d5df2f61c9718330410100582003302f1181953337d767c28f849e701ab37d4fc443cb0df2e4f3aff65e060080410100582003b91a09a92df55181eb6b31714175b3268633efff84e3be2daadd6180aba3404101005820031a93acc592f20433084c58e1b5872b3554ad09bf7759c108dbfcf68a3e6560410100582003183f9384bed4d115e5e0159f91381d914802fd21578ef1cb4025250723be7041010219cad9032cf797c09dc0c0f111a789356f7c6f2a2d761f48ed70da19e643777ad4b712ae03e5c1290d7d87d24ed9e1faabb0e40182bdb4e6838f72cfa0c09435e71d51fe800375a0b6c6061e6f9f091ae8d71b9316af89a1809fadfeb1f403ae07b35c3e400603c619bcc8bddcaa7868ea894ac649f4859c1c4c4c9fa454acdfcb1cf3d1ec9b8903c6844ab367222bc814ae1a8ed3bacf5be3db9538b2e47dcd04101c6f2854227303db68c12fa9869e8e93a9203d59c2f0d38d4ca5e9354459e831125975cf86a24203f8cfe89111155eab5bf860c1d31807ebba6d34bdbb44d2705e6a2d26301ee0f3036c5f84c2fc48f18a9dcd3281d7c9bac071a8841974bf02a5ce1a20317b3107110392c8adaae12818c1c4e76aec8b9450f310d1246a9cf9d7c57f5d919ea3e09a1103e038d6412689a9a9862ce1f0ad99b30037918b0a9d5c46b936d1f6493b0a553d03884049e670ffe3f40e3c0817aa83773750a083a4da70538508365ee535ac487c039e045fb27cee517dcdc01a8c7645a9c6831c46d07d6cfb57da587c07cd80066303897c866fbd7d471b01a56d0ce558a61eaeec4212fe6f86bd409792ef0572df1f03a16bcdce4f7f020a5f1a714e4cdc28dbff3602459bc95b4c77f2144e16ea1f380219ffff03978cde4f4c924a3f93443e0956e55a012ce691c163d9c93236945044f1b0f0dc03912bcc618ed234d5aaaaa36755a7bda08dfd83c89f75ca0be5abcf914d53d8e7034d895bed2cf583d65955d673e72a59a7f4aa697780506b0559c7a8c5361c29340362846e39464442d998941c3c2963c4b3817cb082e3ae0cb36ac5f6ac0fc4935503995e65f7c87abe51971bee4e48c596169babe0bb95a87c1bbe99e677dbc1ff9e037381ab03569ec2a6e770d836c2edeeb9273e798660952b1f4dacd91e514ec7b903973faeacdfc0e50ae3724285ceca443855b718c4d719ac32e2c04f05c210ead30219ffff05581e032e5cbf6004558f71bd0fb14137aceaacbb965a27f794562dc36fba6d50070119393203213eff8fa3fca1f7878493e393e18f6501fb555558bd9959215b94ca0b0958e30341d021142130edd86c53022e45d3b1bae2ef4ab73fa132ebd4410625e766196a0324af3556470fbd5f6213e753ff107ba298895b933c1830d2752f1276602cfb5903768c8cac75560741bc9f6901779de43061388408518f020f884b9a25b3f03da005581e03e6db9852bcd9ff5b3b682cd033329b2fec5f53997a4b3ac0d5ba9243700c0a47429ee887273c0005581e0340ecb912168597cdfa932e37667aca34b0a764ee50af99dab1cc642260040203737b8952c1f4fd6fdc01947d230557db2ec5ec86a82261672d9b84b25791371605581e034b5929871be489d428bfd7584dcf7edb1686cadf43fe30710f155521b004040374f5d3003a1a1505a3c1559e6a87de41e79e50ba6e9f6d6facb26fc35f7fbe320219bd6703667079e9c3d847b8f899370ccd9d3daa30d766339ef623625118750c9c9ce1d1030b6a879dbf708fe3179a0e5adaa31fc576326c6b25936bb89c36fd51b1776d0203b3bc32caa691d4254e4c02a90923bfd11225d0a87b6c35831156dbfb18973dc403637c1c94135f9ae8f466324e22f9d8aabdd9c79339a9097da0da79719f794c450331da980c5074f935fe19c8521ec4546df4a1a6f8e4a89581f485ef5c007e7875030fb131ed2d047fd6c71ad903e3e18fe8df3a2d5b730fb956d2f9c24f5d807ad90373349e1886f3bc1177b82ffbeeb4fd1315725f99ccf826eb7f608d4f3f47b3760219ffff0340e169ce0cfb7a5ce35f6fd701a3278883d59e69bdb52c1dec1af9e1b9324d5503bffb30b924915d36715d96206b259c63543f7c4db4c31116fa2ff30e660d4b6903793e70550a0fdcf686ccde9fc9bcb2c0be5147e7b9af35020d324ecf2a363c2103b1af78fc792867ddf8e0f8d54a6f4bdccefe29dc170c9466f47807334ebe183a03a866a120bff9f8cd7861923463bd9d057daff6cccd0248c097d55632f4d33a1e03f7176fcbfcf5e50cbe5255b8be5918e5b10f3bd582d7d96e9c8428d609ddbed1035dbf987fc9cb07b6e9f71a0c2b0309f4eee1de0995c6198485a4d773b9d2a673033173f5aaa27780b7ae1ac9a67c53f983feae2681cc5b431687b0b137302717db030db8fe163fd1f808e0b74a022496267e8e479ae58b6a5890b564edf20038071d037eed231e55c5d111469b71b71ffb1e029aed0584fc6f41051c6a18a0369e513b0219ffff039b97d8e79377cc65a133a37854023d40a8257487327be8135a17c1968fb02b83032e558b678f2ef6ecdc6f88eceb64dc6e6c0d67149bb173fa3cdfb415b6732601039cfe494960978222d6a774d894a679056c9075bc5fe2841955fcb989122d139003767f0e69c7b2921526575214a2de654db4afc5024f032e63a85bb60e736ee0c4036665504c6620726bb15de408296e23f0627bdfe4f9874305d6760e189bb273d003d83b3a2323c74e7d079bda802f203e4122967b2323c1e839cb46bf6b1d94892c036372cca6a3068076c450df712e8d5af5a3e30d3cd6c273b5c40f9000fb7e766d03d86a391eafe80da01b95411e6ce712951ad2678007851e86e1791fc47e26405b030b2ecfb20e54bdde2ad8f5ed6d8e8a3719656fe3e061528504957887557f184c0219ffff0219ffff03fb0bda48536e56c837fc40a64c2b4f22dec43b618ee15a230212b3efddef94ef039e005ad737365ccf7d98c76cebbdb97fdfedda6621c89e7f0e1b731e97cf6b4703a288eb9b64c1149e83c2e8d952ee83db75e13f0118bf420d8665d9523535814303213eb1be104a62a10194dcf4e9ce597fca39f3a829125fb541a8a33c6fa5923a0358c4fa55de65d0097516cd9d8d8a34a4e94d26146a02528ff620f1f8b6cc6ce403fdd6f8b7382851d9fe28f5f7b73948d1e02e6cecb1f0d029df1778eccfabc1ce031332fb57595fa4f55f5cffff725b5b4d6bfc2c178c0afa18a17b54cbca3461c70308f913ae39c78c38ee3f45e364b0ee6bfb14348b9d75eb78d70b6a0befce9731034674475499b627a399743f671ae915b000e805a1c9753ac28a66ce33a4feb319039d72c3f74e826f6e14db4f0139d1c81e5424874b621c608c1a8e48771c1f9f1b0314fa1ce7537528b64e75125d9342ec4c0f63d17ec586a0528d37b6e71e231de203607053c2cc6843d21c73f249141f85accd0371dbf9b14e0025cc69da9130307f033216889ee99f18433cb982346713c63d4a01904dfc0089a2ad41441751f0787503749c5d3ebdf65ee6189d11b3259400e9011218f6cb580771892f27eb11eec550030c6e3f191d54b0e21eec3ecee289d2f3a88368efaf1d78b83f64eced8bb7036e03643fffd3f0f1bdb02745a9cc08a6cdb65b2307e20c085307da115536c1a2e89603ef1db08789a37dcea70bd6e9a414bb78f9535a0da098b879f453fb8df6bfba2e0368b9ca46963d63aebe821025d69006df6f8df5298679f45092cf9b04a0bfb2620344e985e047a33281ae4dae79154170ad9ca2d6f90697f4f0c6a33a55da1ce7930307155abbba5f9bd08d55fd4ef9f1df21b23c1aa3d8ce89caf7c0e7080a5e4f2a035cb9f12bd024f9a84bff1d9a2bbfd025a7cc1e397b822e811beb698387fa1d3a03bc65bf72555396f861857784401b26196c2308c12dd95540f12402dd924ea6b403840580e7fab08b985b14fd24aa2066f4793332701a58eba401f83a82093f57c503e0c24dfae8f8c085a22a309998f04bcfa174f162a7686236ccfaa9f9501fa22603d9754373b2af4831a3fb57f46a667ef3a67e9855103c1a4a8844c545da6cda7c035d66653a737c63d9df201b192c043453d392025eba2f92eeb13b5fac77db939003a4cdb64223f2058579bf01061f234b7b4a1acd3f6b0cba7a8709c7675bee33dc03d4e81021ed98239d9922514de480e8652a174a9d46ac6a2112fbf6b60e5da29f03f44be9ee63d0c135ed5243f2c61da3206a3029a9c8a0b6b59937fc9939a49136038820c98e17e1336d46bde8f52f915efe5ca55e56af41c8a454497114a17b1bba038c3e855dafb2cd802f40f2fe5d60ae936f8bdb32229729dde65b277a71898c0d03ea07e05b97af8520754f69cb475667f7acc58b4b6eac879e094978172f1456ec05581e03c70f2816ab6e637c1ff618d0ef127b0bcc0d26e172781934a86f19e4000c187c470eda4d21ada8220306ed5abd2c78d1816b52a548f60c1d1058bb7ee3a64d2d6c4666a6f320a14f8605581d0241776fb5d64ebc9883a3d86cb5837f87c794a99f71d79ea5de6234ed0c04465b2d45a3840005581d02efeea580fc94edc592fe5e360859403b47d4ad676d757b7064404c7d0c181b4905452495364aa2e950021105581e03d736a3e0b4c326339e0ede6e428dbaec0bfc57d5c4e7f8fd88106138400c0147705f0ac50f343605581e03c5bd848e0a1b8d65693d852016d60d79052e38aa60fce0a43109aa9170040105581e03d690d1cc667e9fa68339c3a7d08618be964c609d560744a5a7e708dce0040405581e0346c2370cb27abf454b31b1bc1fdda0dad52ff8d31db094ee76600413600c014701df177db582c00301eccd16dd513ea94e2d4c741ea92c3724aafc56bac17801cc45650cd9b1c21903d811221c85ea5f254bfc61b79a51546eb77dddccaaf78c8a33b76bef7f02812903fdcd370a5a2613448907152c776da162ec2c446d6be5d722e9589b71ba94aced05581e03c5a97c4a39f4a712628db61d2a439e5fb62db103eb29a309d454953da0040205581e034a14e616e1c016bec4420277528bc38bd63c5ea7ff5b598af71748f220040303810fb3d61698275db1adab78b4a7fe167896ed19d008c896517b4a07b8c71b38021977f7034d62def4f8744ccace5c595c860fa8654462940e76b566dfcea89869a13c69e803c1da0187635c0f2814bafe45b9835c9cc60b0c3f77daaaa50c76237ec3ee8744035f81e3efc780b55c5a2bad3eec882d26e39913c0ae49bddaf80733fed467427503fe498c90a806a2b998fbc9c8fe2947665d81fce793a60c9ff63f75f5b3678b1c03d9c805794d38f4ac5750557bb89091fb419b610cf5ee30fa6452f2bec647c46b0219ffff038282c6bc44700a4c8646fab8f15da40e63f88d7af539c8fd45ca6a836bcdc24d0378d704d6e75244f7e1dec3870cb0668af64aa833a0f584e0acb91266dc3a14bf031019d1d7061a639f69f4235b84eaab33c5b55314832df5ebae658e4a371ba74a0219ffff03f7e66be41d6fb4de2da1e00d8dbec45922e5069df82a8f9e6f904e097bcd411a0304b6e647ddd6728ca1ad785c25c701e47d9cec4d6f6f93abd4ea0f1482ee0edf030170078e72ad4d31c2d1063e343a02f470aade5e864e25ed1666c607276a62eb03eef4e34725739ae29761b9d3e8027da9996792651aaf500c59b59fe9a1b284aa03c99085dc5db8b42e8c2f2e56ce439e49f1174b690783fc503b5fc5b141d048ce0375516e8fefcea199c5d7f392e6893989ec8b626d2879d01612cbd4f2ec27889603f1345d454a554690f8f70c6124fbdd09a1efe45df2a94400028078266700c73603c22e96796b05d19ae4e0c34bd3f48b4ee7f95b6e8fe191ce505dacf8dfe27f5f037256dfd65ca200d9e9b941327cec7ed01639171182a4c4ba10a46fc03d1fa4320219ffff03e2769793efed9994245e9322a9cc12579bf1feeca157c50255675838cd52b11e036c6a94f9d7dc5cc37561eec55735160fcc8f714b249f081eac7aad3bbb5990760359e7b69749bd101f3f769f14ed3725f8159dcf0bb0cdc9f9bb5bb45672e45d4703f984183eead44a1f49a82254baab7079c97768b3b2df7c28a94d8e7992ec756103699aa68ef75c967df72fe50bb21bab0d07e14078321c640785eac8705939950b03743a82626d1447df1e24a7e30acc1a21893868d38b43d995efec8666f3af38d5032008591129922eff8910b4708cc512881c60406f900341985eaeac3d62b35a7a03904fcc9f167be015d67916440ec46312d625b64d2c0c4523fe143dd6f2d3560d03f096fc9fef5675e20f5d97a4f9aa61728e4193097905dbb744eee87c0f29cd3803837660a175de8aafe70aa642011b641228ae45d84ea0c02005d397c2c6c8a19f033c3d4f3ba52a3aae726498bba3485950f70de85099cbd83cb488088b5d9a7a740337f83e37adcd9026600e63ac4be708367041119da7768d052d00fe82d60f33a103a49eb38342f022b77cc396d5dacbf649c0a17ec57a11af59c709c4a0b8575a1503601284793dd9d1e4fa449a440b5909337a7549b0973e4ddbc89b6975bc8c5dfb0378ac6441f5d3213411af3629d64a534ca5f26604c59d5cc05844ef159f07e55d033a152a6e4a0ab4431b0a3da181dc6ac9c2527018c9d9738ffc886fe527121f5503d4e55bd19ee5e39b0a8aaee13b38909a7d4191a0178bf81bc9015a9aa53d64c303d35baa7b843513474176c6c7e6907fb5703d94de4050adc653771c5a3e2ed262035faf9583f041f4da213af5046957a39117ee066b66e480c7ce631624b0fb2b4903ada62e10fd579f83add100a11450e0a1cd5224ae0abc89bd738fec8f6b665a810341b5fcaf0712314bfcc9a2ee540c35fd970ffb393d86a543ceb08f65fab63f4e0330d28bb0a06f067e97ffa1c01d1a4af08f19373a0d07d6cd6d6922532a04cbbc03fbf051e4c97fc43a43dea2187b8bc34c2973344da6e7c1a51376ec43bd4c87fd033d1d20c73f307bb6eb4c41ece78c537413ea2c16c7fe4219ad58a52c018058cb05581e036aa5e8697c2ff5e9093edaad39240e5ed585302dbeb2113aa63edeb8100c044681cb9785653005581e032aa5a0085ef71804bcad64223e7172f3b8843722694e9f1cad02daaf800c014728a90bddd6c30003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e0378defd52bc4bd3f473944da54970e8a754a00bf3857b4fe41cb2f0e9e007011bffffffffffffffff05581e036872a579ad63957a079db21dd0a7322de11b6202cf062bb932b0a11d000402039818e2e531324bf2f8fffffcd638780f47ea118f5f76ed516cdd88d552184f6d03f9546cf2f2c3462767a966a94af9657e27f7e672c95f4dc2f533c0c71e4566f205581e03a7b4b61683b6c9a1b5cb174ca92bbdc2e2bfda24336f9f2fccd5210500040805581e03621c5974a0b2f535157e0500e7ca1ce70c3e29654b80c0dc5472db0aa0040a05581e03d6ddf2d4cbde51d5e6f3f1c5045d502184859fa63063bbddc4b4fce870040204590487608060405261000c61000e565b005b7f0000000000000000000000007f4b77e1ceae5f566bb68552cfdaa2a8df87668b6001600160a01b0316330361007b576000356001600160e01b03191663278f794360e11b14610071576040516334ad5dbb60e21b815260040160405180910390fd5b610079610083565b565b6100796100b2565b6000806100933660048184610312565b8101906100a09190610352565b915091506100ae82826100c2565b5050565b6100796100bd61011d565b610155565b6100cb82610179565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156101155761011082826101f5565b505050565b6100ae61026b565b60006101507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015610174573d6000f35b3d6000fd5b806001600160a01b03163b6000036101b457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516102129190610422565b600060405180830381855af49150503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b509150915061026285838361028a565b95945050505050565b34156100795760405163b398979f60e01b815260040160405180910390fd5b60608261029f5761029a826102e9565b6102e2565b81511580156102b657506001600160a01b0384163b155b156102df57604051639996b31560e01b81526001600160a01b03851660048201526024016101ab565b50805b9392505050565b8051156102f95780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000808585111561032257600080fd5b8386111561032f57600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561036557600080fd5b82356001600160a01b038116811461037c57600080fd5b9150602083013567ffffffffffffffff8082111561039957600080fd5b818501915085601f8301126103ad57600080fd5b8135818111156103bf576103bf61033c565b604051601f8201601f19908116603f011681019083821181831017156103e7576103e761033c565b8160405282815288602084870101111561040057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156104435760208186018101518583015201610429565b50600092019182525091905056fea264697066735822122027f80176059c85af4ee8751015dd9e5db167736b2eedc4be4d13ffc86fde444964736f6c634300081400330367c31efeb01ba8c1bb32e49adcd165d77a05eb4656b416a4b20c2d958fd6a6d10300bf02303f1adaed30967986e705a416f6cee0352f8d370b0e332ebf40cdb36003b38fb553226fffd086fc421877ae87c0a618cc4373c8056220a20b918476f90203e41f1046bbc7b77608af4d3fec3e291aaa3db29cc55e2d6f5e80bce9349d76f203d5b881d8adb40b04f44d89d16d76afa7a101f8474fc93b59237654fe03ae4e7f03343fa79bf924c1b67cab86d14464f3c79892582080d9ee021d453b15de1689980337f63b9b75edb060d2352264be9af25585433c05aedd12445a233df18f74733d00582003634348bc1cc0cfa60d78b775c5ec37c0449bdd4266d92ced9cc6b0c24017804a0d2c15e9ad154e700000005820032386ac7d02af17e351c1ff22fc0b43a700d9acab52db1382d4eb4315918fb044660a3f8b00582003cb9bb4a5ab6104f52c941166203d521c607eb46ffe77d553202953cab9b7204a018f696dfd25b6c80635005820034f5880519a98742e8ff7d953b070f623dea3aa9b1251504092affaa30ea9704101005820030e6d1569993a9d254bf1e99aee3bad042118d9aa2e31d0061ba76b5ae745104b01a784379d99db42000000005820031285fdc5581df8260dff9b4d44c5d0972ae7486f07bb735b8dbfdac22497e05101000000000000000000000000662cd47f00582003384f0df1f85680463e1bb8d9583c52ec0a85f1f2d2dc2d5811e14429cdf73053e69050a8cbf7b7db2e2a15468e052be6c180e2005820038d73abdd074546c87a89dca344eb5e166e463c5a79dfe7c2d8e7761a82e04054ef618f3cddfc780f46164df2aff79c4012eb5d0800581f021b79b87c7abfc8f97ee70e18caefd9db7edc85a847090a3ff3dec7e7f166410100581f0274a96fb8aa959aaf4b335ea1df58e3ba11bf87dcc5fe11c3c169b9de74e9410100581f02536b925d3056a310549452c0cde78a66cab6c42b2f0f7fa933f11d4630de4a2d1640f25962f5b400000218460379d2f7ce7c88dd274420e8d1e0357547369144c6609ea917c8946bd275a0033503d7a63ff660271e3589731fddb557e50440f6f8d99c802310ce7fc8ec8d6829a903b978f2ab8b16444aa494d6f47c37c283454cb68f52fb03feef3087adbacf2e1c037ab1ea71912ab78ead319c487f7b940ef28434a75818a5c06f6af7153fd966e50219ff6e030e890824ef3e9f2570d32bdd35b20455f87d2d038b18c837a6019fbc20e7e8d103f4fa9fa131065799aa03a4a3f8cfa455913cdc26b8780b4106f15802e5d33bff036c0683243d3719d8925671c7186e2f955dccb6cc0120728a2d77777af04fb5a8038e2f49cce304e622dd0a0d819a11735442c80cd2af88ee0969f997cb29baef5303438a8dbe33c9b5840ff2b8470eeaf84f3b60d6799c1ddc7516147e8fa92449590321c26cdc2a2dac7dcf1f07b87b0ac1ff4ffc21ceec05b66a312d5de6c107a64003f49cf19d80200530f22cfa8656501ba6738ccc59f0e6622272248b525baa68b90365cf53a9e5b614601b4ae19a4ee40bacd72e86bf2ecc534a5fcf1a7511b1c9dc0219ffff035cfe1b95cef956ba62d531684d5d757893f41443937fa05bad55ee76aedbabb003cbd2bf839d37505f2ac44e872f5deb6be1f83b885adbe3b57227609dc495ee2603658375452a50752c091e2b900945ff882678cf45553331ac81d68ac313ef1db603322a7bf22c4babca8ed03ea678846bf7eaa9ba083790c67a774eebe59a524d640385d59a2e57400e6f5e14dcf59d85781089266e4657f776f3f29515cab94eb99500582003d51cf24bd28364f6cf9fc28a6cdd552b62dd7d8b40e08916baf044801c95504a2d8fe229074bc58a4b2600581f022cbe69050af295a2cdbd16b365d55ba6cd2f3260d81bbe7b4cfc96b730aa54537edfacf3c7d73f44fe950630ee8cf6020f02df00581f0242e9cd902cb94aabca9fce8cfd35a384d9886b4cdaad06c8c93b4648acba51010000000000000000000000006676ef7700581f02f9ec4860e616a82a3ef67745ad3a5ed8244a92826611dd546321abca38a5410100581f027e977fb2a29b96f144a641f34ae13ec9b56315c896bdf6aba49c6ddcb328541e7a8c6aee62fd9cea3010c655bf082b37dc8cac0219080e005820033766ef117bcee45896223ec25d7fcdcea6b998bcc50c3283df328069c0b4a054f5070a87a28801f16629e591eec29fa98edd23cb03471563c40da67cc831a504cdb261c6df8acea2c46530a423c1c9e02697ab3f2b03f29b20f014ca8b3ffcd88f874e45f7f2d7ad3809d1bdcb3de1917d0ac2e2dc1f03215db7a9c65962154438aefff57e0870f0b5721d9a1ca88aa2bbca6e9069b5930338d855fa70dc6357b2664cb9c1fcf446b155b6fd68c5cbecacb390d96d9fb171031580f7796bd0ebbf1f39f5d0c94f8b43fff9bb4aa27e9ce54c7c848fc0ee2c5a030965fb0c2c0d0ec259be5f436cd889767bfb9f7b5a52a8c97e74b30bed6d80b60141080378eac9add03c634e587dd82a2ae5838e2e742649af264e8b9660ce43a3a35a78021936cf005820030554f3743a0d45fe4a4ccccf96a5717c200dfd3dcabeae0273d24c0fdc67f05424b53deb76b53ddb5252a515007e1900e6c145da00581f021752b1984c544c1cfea040d8e21435a8c48d9241c04b22ae517872c15b414a2a5a058fc295ed00000000581f022eb088e88f2c1510f50fc1b94c7545f47ea9f26fe7d9680edbebec6dc2ce427210020c0058200315b70ca600fd680a10c18ba0c0193cc2df29f38d59c9f06e661383bf8902804b01dc74be914d16aa40000000582003a8ce1afde3478744b813b35314d2aea130774c8734f8f473d9b34e66dad48054a724902445de323e9bab037f6820927dd21a9be000582003578e7267eddbf4fb5a2cf417935fad35c384f8e52561247a206579401c70a0496f6cbd77ad297dee9c0350fda78b826928dbbffc69676d26bb6854858006daf990ae51da3db274b3eb7801410f03970de5cf317d82907fea6ba9a404ff59f4c494b5e614de727d68fbf53f2d1b3600582003b0e478b4dc7df0822623681e873c981d26857797c8e5c56ef8e2041ba1bdc041010219bc7003a97c92c97860758cc82d2f4d5220995da2aba181f2eace0b62e6d94f2443d9dc036e9e0861feecf5f97de23ac76ef91ec35060ad6dcc9ef66b989f9af0e2f10b8c039da5b190f4b2bf81cae5441bea6b69093889ad4f6d2113bded18132b24fe5ffa0331f3290778878adf398365e28b2e0105e8aaa5f09d8ed743c11c22936d568e6303e4bee4518cbebf32eafe4c7c40956f183952b03652341dd3b165294dc57846740334d1af4ca2f70734cb450be897eeba579e455a8ffeddd1a1891d8b6f7be150e503404dfa7d0d9f2814ae7b7a010b95482cf5677c5ece18c4ca427ee24930f50be003f54876c28cd8755de49bb6e77ba28779b115ac4b2c166f4c1b452fffd37d86be03cba80e1f0ade48f12afe1d2b1de5dbd4384943e4a64888d6a2ead7f2cc7f295d0219ffff03e950eb08a290684b52bdc6e34b0d28a820171b81e4da0b7b66c9c8dc03dab12f032a84df701f0b49920eef533f7f041af9dedcc83d65c72871f458e97573df09cd005820037966c0e0a38f36a4ebe5697c5bd6e4dee25e950d00f610866040e667ec4e40410100582003ddcd0f2f1c9176c773d3c1718a1077790ce09e2736e66e08b289b34fed2da049340c4dc9f81f7b2afe00582003f9df30f5c39e3f26a843e7297f47ed06da7a3caba51b2c0c541192783e7090410103181f1c8f78a17ddea590db37c31e3e1f00be7f0fbe2c91410d0973ed33b12164034ae4649e596144bf7207deba35503c187fbda591cb997e73ce795fec0b4bcdfa005820030176ef91032f3092908982959c1557b2d17711683df66ef0ad075bf51043c046c5483a19272c005820039875dc69fd910aa0f33102e9f478d85536db4a8ca0a1eece0f05422d314d404465a8487b005820033299af1d2a312a9010bac6532a75ca7774f147376cc283a81993052697c2504b01a52408b6d6aa7e94000003ab8d3196ca0ccbed569fde1ed8a38b90b46aa313bf22de3e271d941281709a3703ce7a1991a9e4bdc8e3068609d9b3cbd72c949356eac492d8005f690fcbffcceb00582003dd0b224529b6dc08c9e36e3736a19debcecdfc6cf1f7e6f5bfb30a6012d140410103af1bcabb13a5651065c4860449cc15f5cedce3789b8b0079c54ba335a2efd40d0308523d03b70c8a3b676f245366425643435941713bae168c41e4d720a87ec76e00581f0218b67e0895d7d6a17cbb0248c8874388e327da48f0a1b48fb14ec9b61c044a27d2cea7261e6054000000581f02f3139c29b507d8f5e39d1707e606a3b66b89a3d52dd4ae5768ef33619aa8410100581f02dee7abb94835e874b0a1573e90ef82ed04055205e8e272be246e5f3a85e84a152d02c7e14af680000002184300582003c8a4aefddf8e586cdf469aa7f6de72e3afc0f44642a1e960dd9d6954a6f4d05453feba757be2be0f440cb6b5017314e89eb13bc20219fffe03831a1b2cd26ff2bf0274e6b02477733ae7862f9f2ad027c8620536ed1c1984c2037eb8750d4940d36f40fd478aa474075d47abbcf71c4576c5a0f573d0cd5c7c64038eb1cfd1b6db29bcc4c85135cde490d7035e32db476bd943f116ae9676bdb6710311cca1201dad471eb487eafbe75fc970292b2e36c7b834e64f928d79b85aae3d00582003752d33eabb5936e629ee77f42e9ec4dbf20531f1d73e95f93f69ceb493074044659fbaf300582003bdb3102f715c686f39f070837c17b600a3822f02b194d43dcb54ce0e2aaa90510100000000000000000000000065ac3f4700582003b66649713f363a91eb28ceba1a9f140c6c202c47d44e47c5ab4c501f3d4da0410100582003560c5ec548004b4448fe87bf8f6fc46e121854212b2b7da5ce90daeb37a9305101000000000000000000000000663e171f034d98f58d5d279ab43b6fc7e176799c9e76256b6d752b1b57e5e917e8336e044901410800581f02fd71bc9cf14dee61a287868b4dfbee3b2a16364e131f22d83aa2e84541af410500581f0259560884ae0986e2398fcfb4c62c53967c844ec9d79355969d9605860b73410102194002005820039b2f6e907dc3fc93c8d01708f5be2f7c958dc99bf14705ad2df70ddc34945054afd1eaf27af9f1a1d501f41b3f081a4676c30cd70058200328fcecdefd5d971b74550a4ed7dde84a640a300e5b0cb6ce0385d67bb700904a902d688128d4a958ce540302f4e6f468fe7ca7d42e88f47be3ceef2328e1f9bef9028e60a11f39c5bacd5a00582003656530fb713566294298f5a8903433bd69dc7e10aea39e6f87ac76d37b6a604b19fe844bac1f49e5cc0000005820030c5b5a92b281a90334491b23dd5379439042da667477220d8d133a47920e3054611c18f2c3ff5b27ca07c3a005245932fff47d73037a911355d3b64e3b0c9e29fccc3cc4be6a521374c081d45c2d7ba392fef7927102196f7d036bbb5cbdaa12043c583dac519fbdf35729b9702d876ab75ba1e52fd23ce2ba28034d02eeb3042044e0d6a6bfd4d759d42859b6bdf09df00042cbbec93b748a4ce203c412e3d2d33882d7b4ea7fba5232f43a99a3484c768d29d1f03761a1e0c30d8103fbe429a694b3acba3eace6298dc454e3a2c573403b279850fe4b8a03a744c56c0399980f7e2def8062c7c25ce84c620cd8b11460d05d85f860b20ef7bb706b6eb60315f21455b54068b114a3184c67506a6b27ef88c7a9e072cf243004a0f238d55b035b0170cebfd19023b4f0573d4b34b0cf8454b4a5a74ed921b5deca397df3e4a003cb875152aeb8d456aba5877cbd3a7e9a5213ee913aa0d2e2de8f7c43f0e70f0f0219ffff034ebe32c807e3a63d3cc9b2368a40f5329b07deed28b3e70aa47e02a9bab965c203bc984f63b808b701fec210aa66025f9eb06119152dec19e5c915c9f52f1964ea03d4f80ffb8a13ed397bf8dfab7593523855f0d48f4854a25fa8a6dd407a3ae74103be1e7e3e9897198d68d0b461472b91cdc8a3a87ba6cc628dbd4b2b885781b4a50384b1e596151ddef3c5c12237d6fa3782c5a1229b38727aa2d758eb41794a14db03cb6f13d09eab7e08e8191e170888efcd5b86c312a9ba6acd794fdd9eaad7849200582003a27215a8d017e55d8d8cfe6cec1e029c21b2492565265f30e1ff09302a18c0542b3c494ae07ad59ea483ba142c10f1c6c230949b0058200335c9da5f5b91fef74fbd13e478813a5b0857d623b955a4d53655a0bf5738504465ad14e3005820033efb87b7cf36f9bdad9e19d97ff48dacd27ff38202cd2da6c9e21367e8314049742b32c6f16aa19cd503ff61ade84ee2c1e7d5efd7812b78a8f6a421e033d67f369a5ddda458a84f5af3033412b153ba1a04dbf1a1f4952e360b7615f7c75f059287fb3b61594807b5a07103a498423bf17371b3e3cca0f9b98fd83c845f9ac7e716c3b696e6f5957c7f7ccb00581f02edacad84540f1a2d28ded988cf3604849a66796ed2d8e61405de5e5e92db4a0aedf2431a9b2c54000000581f02156373ae8282cb495a0a4220c2762da93778e33473188aba8dea404fa9ba430156300219014003a623825ca87bb982ff21a23b44ce86bf92cbb4e8c525f4ce5cf13da801785c30005820036c4698e5467f35081e36eb7bdd5305af5387f1df3d0300fa85b5ca1df31f304465e02a73021977fb03fa476a8c0bdf33fe02b91286ed581cdaa7a65ab8e231ea483436fabb896ed904037a0c76791a7fccbfaf8786d449911c8f3a32ce0e326c0ce6b0f3d5da27e8fc0203d3aec8e97d7e8b12d2549be35bb45e218b4338cea2e00619d03549376c84ac7203551041620e82763fb2f7351145e36a99ca4e03eca5e67663e62f6c65db43217f03c2c72ab1233d19d688dccd9a7db94f8b2d69d92be5081916e1c24cf93c1d7d6e038151b3cb2b40a6dfdecf027bbebb39b48670a8ab0be96ec9b6d2e0bec49f0e1503fe831e61142595f69935a8c0363ee3e623c3bd7fbbdfcc7ea057d788e0a59df203dc1a19bd080c8a5ac19cf445ea4968fd3afba126d2aafbfbeecc19c21e77e9da03d2824100424b9bde7c54766754a3d4a8db5b1df5643a5d648db7a1cc63131eee036500f60f31ca6880d5ce6779c351919e85dde5f7df1a839f2ec714203fcd52370058200346ebb7be9edc81bcfe237cc42eacfea75349f3b8949afd74f30522881c31604101035c5e27bb3fa499b3ac3af422050dcab1ce1f14e83591bb76bf3b1dd507e3415f00582003049ccc4bc6d474519c351ce14907b11034027eee716d63e908998251778fb04ad3c21bcecceda100000000581f02bdf9e24744d9ade0ae4e04e823072940b9b558982ecca2b57414a3d81ee7510100000000000000000000000065c1c95f00581f02edea10e7a78bce11bb98c8896cca90d0846ac7b17f373ccee028d233bb28410100581f021d2c0a2283aa49ea007e7d4bc7f07eeb64801984a1931af4a3ec0101e2594b084595161401484a0000000219012400582003081c0a7a131a4a6b1caa7c0382f3a7daaae8b1201e54d6f94352941c8250004aff129faba879b32c0000032cc7f6253efcd68ba29b1e168e2005bef850f0421a57708297f97028849ba3ef039a547f2b7b0b2e6bbf3c7b6f074af4040f6a5bfe7904c9e9bba3d5dd9da159640328ae9896c9c4ae4b6dbabd6456c1af96505df3878739bccb9197dc2b61c753c30219891f03c7e77212a1285d8d2b142088d36b716b5157fb5e479606ffbdbeb4cf5def26da03cc8be90a8b868957ed831a33074ba9f2bcb9398950e4b98f50e4bede564909720219ffff03001ea2ac20672d49291189da1bdc587586cd84330c85d3a14a8ebccd19e238fd033ac486994e9483f9f478acce60cdfd2553c7fa5f854127c711aa75ef90fc147d03a290602a23e772cae18635d12f3e7d09d96e1b75e3b45bedc3dd8e645911e59f03c83ab5e8a04b500d934d8aa88112089dfc3ad858e9f5a449087b0930853d5786033120939fd4bb4d96080b0b124f7792a92e3de18925ac0312ded4271fdffd29a90319d0ac683b3196445e533dba19146f3e178f7ebb23acd6da6941a37861b31b200301096d7dec7af67b519e8bd887b16353379d444377bedadd0b2d35c85dcba22c00582003a4c483453e64c35c37c169bc5d2fb52c31fbf2ba1c31f2dd5d60bcd059b7204465a64253005820037f8beac78aa0d09002736608bc197fa70c968335e038e25f8c5c1e67b9b130410403087001841d8f71fbd737aaedce9bcc568a5c44345257a91e7ad9a8fd92dde2b203f0a828fbbff824ca87852b81f3ded772c1c28e06ec0f4ab1daaa346cb10808ce038c892c2056303e07ae9a9c1b1fdb68ff934c4794bd93059bdef1f61e99a302fe00581f0280ba28b916c2f62608edcdb33ca2cc16e83434e919d4cbde022cb142673542e3d000581f0207092f635c55b11c906d673457539e04c5d0c90e262e712a87c352249feb5468759edc8a211572f46c784c2b8ca408ad3747db00581f0206cf9bdf761a75377166fd59197f8cbd8c2414abc3435fa835b5ab59a50941010219440200582003ef1d733665f3dd6692ff0724619bb3b4feb597295d195b8c35e480799f80204101031b92486795d1430eb3bfabc050f403d0d8cce16ea0a158291343a86604e551de03b17be8a3c3d69683fca426c4a3c473a8428949652add912383840ce787b8709d0219b69d03b42d05e296191b5d65127d6e3ed9eb25cfa0e8552983961e7d60abdbc0b0bec803463a067ee6af8eb849ff74e6266e95f34b6af5e8c5cf564a5887dc06a9f7ae9d0373a24e0d1bc5918a348af5dc8cd35493c44709343c55b58ce46d4675e396e3440387bc4e45632a7594c3943c1c9a12de798b3bf879037962fd7dcc64addf09d75e0310c3e8f563f9b18adf41c59c4597decd0628c432867de3da1532ef6c490b264603e46461710b3397bcc0e99ba4fefbf32be32859c9a8370e4744ccec0aba0c40b003de324bcf115a94e5a763837cdbbf2fbc2e0f2c4c6d8d345cef2c70045c812a13035946cabf19f41e69e22f533b759c5e0c02505e8a4f75063dbf0d94b4341fc5e403e7061b18b11889d47e4e3fa0aac06a6548b35d8153d53e2ce6925db8047f8be20219ffff03b02d7d5fd9c9a045e9f9ac29440a01995798d206c54d8f64814837a3c514c096034988e448e7b437ebcb1718f909e2ec99a468bd261f4bdd598062ebed28390927005820031380bc4b797c3d4364325bfd91064d0522d3cb8d918d3e3db5d7bad564de204a0261fd90c15f2715ab9c0058200326845d94eb9177e78206e4e64b799b9ce69c1813fc307803d59cd284467640493635c9adc5de200000033e81d32336f4a4787013b147263cc99b9a554ab7fd1d66fe1927fdd772aa68a700581f028123d7d126af95582cff7a78bdc19590171ab06365618a1e499fd4fcd628410500581f0251ff7f42529caa15413a4da09ea9dd6d191240bcb92222a2cb85458537e24465a030d700581f02a258c4a2f765077c2f1fca801faf1d522c01fab4b0b09c652462e8ffca5744666c37070219022400582003ad40a3630c08e958e31834dafe7abf9c600a976ef0bb0dd985ad61f8e09680510100000000000000000000000065ad62a70058200359dcbefffd2dfde56a4e926b1420ba2c287b0b5b2ccc17852cf35a1057ad205496e382b63f86958e599061b48c4031b1fe729ede00582003291aaa8b2aa89821576bb29eca66f18a78932dca87dd0111a5f4863c5b57104b02476741f52a5fd4cb7f930058200336d97b7ee6e619acffafed57222097cd102b5d2304df6277effa3854cf5ae0410100582003ae53e77d5b78583a698ae80e1b3d26c04cde3166a64e4e7a79f190709ac2904a040274f621482e18c77603205ad4b9170a5505ebc575751bae1300cc67ea9e915295db24bff757dc9e725603b2b9d50371c8468e5fd01d014fa11cb263a9b26714c800c298ba1e21788f48ac034220b6c2cbc2915e69c19cee106f5cf76122ac1517957f307d846298a1c7f392032bf101f4a1cc01ce9cbf3b55e645dcb8ba3210b5c64d362ccbcfe20f0910f436005820038a03c99620b4ea17d7e095d324baac3b54ed8eebcbb62b8766c5a4e72a7da05101000000000000000000000000664540d30219effb0337b6a2a1b31c4b9733d762e402fd3d43eac23828e3f20d426f307e7acac0e486039bf1ce3a5cca2101728359ff15f8bca7bf24d0b739c13d04f6fe92fb6337107a0339bddce8095d961f1d964dbdb352bed6447eb286fbede8408291007bcdd931a703d36548036be4b5e7b212205cf87e90a66b141b8759fb85e5a1665a8b913c2f240385eb1b64188ab4d01c2944eef31d05eaf7c23537244514c4f593e54d398be75a03fcedba879d608038c1d42f2c9752852583df5edc4a0d17870ed7bf938105242503e02c79619f65081ca5d5d8f2e5fefe0d9c8b3c2d1053246cba62f6eb3d7e9b2003b479eda8acbcf23390673471484195f18b2729d13d3f941ad9812587500472780374a28b44e6ca8a62ef2de8592a9e7f411e5c29aa9f3c8ed3c2dbe955e8659dc503ce4cbe42e848c0c2e723c6db6b734227d94834d5ed2c6e9bd26abdaa240d38d503153e22051eca801ed59488732819c7ca267f2ded1b4a427cd714ff9f54a0f17203de7e2d2fe6d826251cfa2b432cac0edb9f944ffb26b025cda60eb6af7778f1f30390bcf8faa082a3ebe04e52784fe5dd83a5a962cffe0e78955cfeea5cd09ba4bf0219ffff031ecd8fe4c5855ec2c5d319752ffa5f3d839660ee090cedd7443f6bed53b5d8310378c348a8760a9d8a682b950872bed1c088d904365156756ec0f6ad2e5512c7f500582003a3a8275d6b4cfe03de2e71c95baba57e219ea12bb9677c2905d5d12be207e04a0d06b11a2db35b4663030058200399f622aa7f607440017835c52d447a617f72f6b730370ec4789eaeaaf497104b01d0477241ea568bc0000003eb4ac61fce784794b13c131fda34b22665d8a23bd409481d1377464ae8480e6000582003f292903c4037a39923e1afd6ede1bcfbbecd27893bcf37311479320c7954004a418c69f2fd996ba0000003ca1f05908bcdeef62fc22de379b8bb7919c1917dc5412a228fac0b8fc4a27c220312e602f7a78db01adf8ff2eeb4b699b1cd417cecb982c7253e274e3fcecd1dc500581f02eb561bdebd30c3bbcd6f92a469e568c4adcf1ef549d19487a9a33d97a99f510100000000000000000000000065b16a6b00581f02fb159b256e250aec2500d350cb3e761ef843f726af470d4f5acac6c87696410100581f02ae4052fced208b8e6289aab513cb48ab71662a1e77b9242abb79084b88dc4a0f1a60d5b50e8b317a52021990080058200304ada2b1569f5d5dd38cc373c4a3a48a5547f067de9295020900e3fe2e50d04465dfc7d300582003ecb994f5b44723712c0346d32572551d684d285572a086d408f2693db025d04a399cd63669658273588b0058200394750c1c7395023c1277e95fac4dd8aae8bdff0fb2d4349088d5c8c13d1bb04a01cf7679ebf6e0d9041c00581f0280150d57caadb462c93be84faf86cbcb71a9a7602e1a1135f4ec1b7aa8ff4b058a20de7b428fe728000000581f029d41f65ff69f3740e8cb670ab06abb0e5018deb0d2d99ce70c985ff70d08410500581f027670e7b0ecc4244f2bed878d113b99c44cb88b511ec4ff9c853288a9bca149a576ca4b89d852cad3021910a000582003cd6ae9f6b312a973efefaffa486e3910a33b0e6f1c087022297ba3f26b18d041010058200379716d0846bf81b6fe743dac4d6723634a383e1c2fe8d2abe24f49d6b73490543641af04d6c74ae6bb5808dec674a07475f9755c0350ec1eaf5b46494373d6df51277e4be4ff0715320ce721e2454e1cc71c19c8350219febf034e22bcef66f9de3d83e2fcb6db2dbe4c2e0de627ef3ade7a0194df8b9331ad8803bc9c7110783f958fdf1cad29d00a9168f059b3c3477101201ec5d5d09eb97f98036988fdf61fd3f233a2cc7543a00d37259b53cb5cbec227ff1c67bccdc7ec0b5e03272a5056d9b028ef670ba7eec37eec5b9eb159f9a3a74292c29fd3dee97bd5190324cd45c2fe82cc0ed57e934c76ea1f09608eb98f44d97f81227e214b7f806396037933e80288c59e60385dfefd2e8fa0d4e9d80db4a660ad8337668835eaaab1f1039c2a3e11d0a3f5b2fa87045ebd59d89a1dc3f4dc5d9c24a45f0b74851dbd40ac036a49227f3bca233e1b19e2635b405628827cf6aae271a239bfc3585c35bd971c03be8a8f66dae0f6a5cb616c9805d7a76738373441430004ecafb3dbec9b361b4e03dd2fae2fc540939b4e947577968e6489f8aeb5fd367ca4ee1653cc0410fbc6c303ce21c7f238840c53c34a197f2779e37cad303ccf886c9b09ec7abd5a527b7d6903d0277c64490889668c715301f857dbaf8b42f7e60e5beaa8daeedf0e017edd9f03b67db625788bd6af78c7e7de42514ba84b69678f4c7d7ce0d76b1baffcd5b5d50219ffff03dffbb79cf62410b70d2c4958342766cf3240f1e4320e2e99e7ef80fe9ac3701303976e84896886e955290c74489d666f9a740fc2820eccb0986bdb96c08bcc1ca903e34f9675cb5e8b67c191726492bbe2e1a8fd8bf0ab9171d5d8f3c19e40aff181036c7d54976ebce2f901cc821558b96b4edec738043cd4cc40bada653036697ae60344da354a33e5f926b766149f8a2fe84ceeceb30ff55537967694fdd1204577eb03b624ddc1225db51250a84ef8c1f643c70e7c705b978addcf41613447e0fab017005820032458ce5e7cb17d71d787013a6cce2c40bbd036bffd0f9087ed88d66546af504465b105f703f2ff2ae981b0af3afcf6c2dc71c44590935de3427841bcf060b1922923505ec500582003951d2513344a2b2730eb7d8643021a851ecd8605b5bbe17740d37d2ca945e04a0a621591d008308000000346cfd3540797e6917e2aa40c786dff28b5a6914e71f79027664b88cf2e7cbd9c005820039cea4580661e018efc5c2ba09503c3eab61fc2a9844504573dee016f89d63051010000000000000000000000006631197b038abb30c7fce125a97446bdb17125701b3322a9e9281bbd673e508fcefa10c02c03d831b14e227a83b02e0f9f81be3026702223520e5d82a71317269b13e3983cd703c0c4c84c97b1eb5d90c0ea3dc905db9a7ca5e7c46c24e67a1aefbfaf1351bde50058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054cfd8429c13135f4ceb8704b61819891cc04a7812005820032795bfb6c991073787967e6f2a9fc0694d81b122ee8567e71a65f28c6e72a04465b88b7f0058200332713b7cfebda0a6069213ff287863fb604223f80692fe458626b99af12430510100000000000000000000000065ac84830219abf703cba75d1964374067e8e8e62108b7cc6df36679bbf83e4b1441555ad48672a58703864d2873557caf3cd7b1de03ddd99329e9e35383f1b4dc81b41ba8ccc4860ec9036cf92eb1dce6ceb0c8a22ae0eda5822515a07e70586d47291f4db34442ad6f880367ba49498d6271623939418bbee01846ec6aa07b471eb320d95ee5bd4b94c59a031c30dbda0d709b04aac3163952349a32fcc91a7a1000e1575b6d2f9e0bd472d5038abd0fddd1a2f4a8ef78884ad30475aa0f0624a9b792a0607e4ccaa0d39bab58030c72c7593e3509d873d5211748f619ef0d6e9a9cc9222ff7064303c19176c1d703cb4e364c012212ebcae0191409aa08aea896405b518cd25742d6a82a53ae71de03459edc7ee47e542a8984a6e344441fe41845879b20a6e41c3dca751740935a0403537f264d31e9f49f01fb02148fd95eef6396097318fe20b5147f6fc8b40443520219ffff0347dc66bb6971b64df13561de45d31d71e3b5f0b23fb21b37847b9984c4ac35f903cdb33bbb7679d8bf16683899cb8dc3eeb5b12ffcd8f4f14a9218a362b341655803499cd19f6b0f6729317fce2509ea4cc659ebb3323254c6c1e3dabc0edb0a5f31036f672cc3b942e3b0a989163cf2e9a18b26552c49a0e02f452886a7d8837cdcbf032c8518aa37a9669e30f4b9a68ed336e6d7b77ca81c4ec6cb4370e4d741cb70c103e1185dd784a92e21e373c6a1b5c78ace8c04a768abc9dbdfe0c77e02d0061b7d0365388bc1f21ba0caa7360bab9a64f1a2581bd3f90bfd02191e1b48cdc83d58560373622c495e35292f8cf09de2292f832c152c9fb1efca755e5970edb61fa923b90365dbe1e188bc4b9e1181258d8cc3a0d1c8aabc415101d0d10a389bc647a2e0b2005820033c5f64087459300cd27fe5f3b49707623e05e68d649ea3a777b8f402f9f6d05467719f9db319e400c3350d00cf69dbc6554bb5de031abb88e414c5e4b0bcea894009c82bb0a3896092ddb64c9b92fdba68a7a247e800582003b03610c7b5df5234d5e790cbd7d19f847fb3be710dfc0064f3123209d4e8f041010352df72419842394315e2562fdb0d798754f83d61a6dd6e438ca9e2780b950e2b005820035f15acb298e475d9a3925f00da11adcefcf4a3b4ec83f0a8d24bf3d134e8504101005820034b9777723fae8ee23b81dac344c695f647dcfb6abf778702cbb61608b0c790410100581f02d37be745fdd3676df962f22c7818a0418d693ed5ecde0083ff3556d0041b410100581f02f2fb5dee1c8411bb5aa4b92190f7a1a41600498c9cd29b35cf31e6c748f041010219040200582003aab40d6e74efa06f491c5ddf69b2e03a6082360d7aa7b91fda208c4fcb12b04101005820033c71c1d293e0595f8ad4dd8f4162f6dcf6d4505081a10c7f0dc64eb6bd9db0510100000000000000000000000065f13b3303a3c1168ffedfbe8f91754fd536af0bf99d9cf3e795050e082ed3fbc8aa614312036843164992a0a190f8b971b5db23d092eedbd447135675580623dd0f10f30c21014109005820035259398528527bb0eb373d0ab86a2ecf2a6585d7ee12008c10c74ecfaa18d04ae5028d4d7faab80000000219cef700582003d2d5b9d03f6b0f84736a000932a07e6059309a3eb72454cc29c5accb8541604465b2ed2f005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0570200121161ab556baa457994b1d6a6cca3a7a6891009fd005820033f5f16c4bf23158da57364258ebf1937f2dac762c1f0c3eb6e5bdd3f9760d0410100582003b2b88593d5049d212e18320b8b724b7c14c8bf167002aab40d21277ad500704101005820030923cb4c6ad8156e9a3ab6e52b2fbc6eb60814c7edfdc920b596e58bfe7eb04a02097aadea3357c4921203229afbad5be61426544a274343dc4fa60e2d8c447d538bb95a5d5e437362a3d0034dcadc8f71f1cb02c109f93a5b13e7f6ed1b2a66b7d5e71db6b793787d108e07005820035ed6900585809d6a5d1daf4834936b08376240d3077fb71eb565a6103599704a261dd1ce2f208880000003692ad600863a0e7fa9e9000895fb902153a0840cf6342fad3f03ae098b2d965b03268bddf922f574ecd3c37048de21f84891d24a2085a42c9af1048259d6ec2d3502194fea03d6d16423d715fa3838c9423fffd67cde65694fe7b07f01736c43b75ccdcee6b6036f3e71156fb4d9824e646bf70351a5506c890f3acc5cfa252e7d2f8b437da23d0323585a6207812a95864c10d18fa6ed576ac806cdacfae18a8eefac7af815fea903338f98909fe5717f40e1cfa478b0c700bf7ec55856b6ff6c539943fe55f4d66e0308ed964b6bb38b3b36878fed429c318210abb883f9b1b9b95884b392c08fd5c70219ffff038439eee8b63da87b2945b09042b22ce9343f34289cf9eaa31a62211c549cf02c0342f62b1f352ee756ec29e1271240faf518b41fc7ec70838ed7af6f777e558c8f03f4ca50e0e3fab8937b004ce26f494ff4abc168c7f4d0384dc5ea43aa172eb774031651469c113a632045042ce81fd33e56c4531d41abcd2afc2cbd0aac41f76a3f039684f5b8de51761d87a38962c80b35ea6f80b3fbd978d62d5654dacba276719f005820032b105030ad6e521f052435fce25d6eb9824ea214ff0a539bf2506d324ff2f0410103ef0f9007dcdccc1b5895e5cc58512f1f446eadd07145bd449f9531a32475b38500582003676e132f3823c9f38ccb5b59204bcf968b054e77609791b2bcece2836129f0410300582003e29e275df54e53a43d389db51ae74f71a2bcbfafe8ca07f031a25f691f91b054e549116f7c340ba58c9d245f50c673c74c82403f03b1b1be73acb222770069f80dd0369d65c5e3af10edf8efb5871ef4eec2c19fc30058200381fdd28d9a8e980999fda6782164d9539a917c3ab5413aa86c7b83a5c74f304a152d02c7e14af68000000058200363079636988e5912f2017c835f40ed5c0b12f0aa36bfdfe51f2fc73d18b6405499565829a61dc0760f0d3849f7618804210664b500582003917764d35295decfa796ed6d555fd1182e7e3c56234fa16b468bb5d3248d004b2039fbe8741de7ce60000003f2c4379a49e210cc0e1631afd314b22cd8f533d8057a4b44e28bbb30c551a8e902194fb5035a4ed4ad404ea5c72b756c2d84c53fca44ae009584183ad375023570af08a42103bef8054fbfe7a6993d883efdcf4e1555657f829c9d2330263ad17f502443b60d0321c8f8877d3b41562ccf9204eb6f19b73fb303c0cba5d8999badeb4a714408c103a55fb99cf821b8264c74c786a79f88b67079d03842217f40af91bcb51983df1f03f43e7a34f64bb659a28e819b750df3bc434022842a021e5248894a0849285fb503546965c330f41330174243fa57716f735cfd19476599cdeb50f6ba1fc938742003c429f67ab5e229e4b5614ed0678274344a5e8a0b49c7ad4723fcb657229179dc035cc70cad97ea70b477b245d21a78ea8e0648a7e5c913f0a1fd06fd9ea01d3900035ab7742ab97be19859da3d62366b31c149e70a98dc28b4370d88fbd5ff0834c703b5bafeffd977d2627ce3f452bd335145c89cb78eb40eae3424fee673297e0a69038af2c20ba21c4b3f860781d6d6530e010fdfd8a39d93587505c925475f10b54b00582003a1116e904d7d4b64670fe802d5d31452bd79c0e86c6c00db78e232b8d1486041010358a1493cc7fee6eaed952b67541a027ce80513fc291a8aa07ae49566d2c40dbf03b6f6bc991580e75e1fd26f67d8ce7dc2e0a1c50ae006f0ff7daa571203f15cd500582003e71beba0b52fc40e11eaf3de7a385bb49ac84314348086acc25d4d664a38504102005820036f19e6277f0d079c39b6d10539b3c7e433550b33cd274cbc35cd52b97f36504b02cffa5e8bebf4bd00000003a05c0f03f3d0e69290b2ec84aae108d3aafb0d123457c38697d16fe08ce600f100581f021649a600a5aab12de96a51e89bdbb5c74302b8b1c35e38eb617aa0de61df4ad3c21bcecceda100000000581f02c4c517d79c006f10d8c0660ce933cf743908229c5f831f31861a5c38bda45101000000000000000000000000666d43930218900319455a3266de1f3d3942e1c0ed78e4a51852bfa0ca95722656022aa1fc3878cb00582003ed1d658742372491b918e24b0c5a4f5544a386bdd4855a5039bd4408360d104101035fba9ceeee1b85793228387addae1c12ce708e5d77183974bd43fa9bb56a46800219afad0219ffff033839483c67812357802fee9744b37dcbef485500642352536c7a54e1e80bd53603aba1529e32d57cf1d64bcb6fa7f0db84ca32bdd179834c5e4916e635232aead503c967a4f7417adb22b44efa663656762cb62755df965204cabcc032066a3520770383eff84e2cef7fb5d44caddabd05a78b4739f20da284d3f8b8a668192a9ae0f0033418a7da5720341877ea689dc0181bc5553844b6a3a0a340f0a95cfe42010354036d6968d27839c0bac0d48cc648c23ff8eb7193288b8aac55c052e33512f8ee2a032fd22b687a1b58673e6c5606adc0f81cb5b5258eaff12fc9b5a72f52e21757930399a1be4caf8d951aee3d9fb3268533d48901d0195fc817bfaf93398f0a638345031720600084431b3d53dc2b7d482d8983cd4dc744fbc068b5498a3c0fce85c3bd037919fa4759efa0ee29a54e52dc4b033047831196adbf4b3c8c58741a2705630c035da7b537649cf14005c7926fc6c605147c4b29639e1ba7f81c8be24d4be6aa1c034a1a6655ce978f80201f471c35603ada33b7a9bc71fbc386e9414b902c7faaca03704e32758353e162d6eb2f11aae14f34db3ba1721e5e131c45fa4a3a961d3d1903e21ea57593c8184bbb4d953feb6d6ec2bcef0e0c1f4d6b41121cb48427f1c31c03c65a54744e3438a34c20aa8e8b039b2fe2a3ca956c6c608a95d082c441f4105900582003225180a23bfdb192805978cae8fd3b89b097347f2dfe21ad24a2d263359e904a02097270e05a92600000005820030784535f5c4748cf85a50ef8f5a0c273000856bbd14549a9200ccd2e3ad55054625f78b37a8763045ec1fda6a55e224f35993ad900582003a37e4b7f57089ca3763f9edca68dc7e920e2dca0217ae48989e2ee3f683910510100000000000000000000000065ad5ca7005820034f007af59547bb4f695dc808249a63f22c75e13b15d787fb8d6da3ddb47eb04a3b5f7c05f9cb9e0000000058200379ee618198e4695653f2a3b825a0f119aa1d845c7724392a24f867860341a051010000000000000000000000006649d1fb030da80818ee73d19dbb0b9fa94819911de025e8b93430c96aa647856f834dbc16005820032a991480251bfa1d1021b435d7150ca75ac70db6375a139aafb38bd6e51770548d5215515a70f47abe8b4d18a9ccb4311306655503c8452cb84fbaf6f8a5baf5d5568babc4478c4ed3c0b0e3ad7269b209c734162c00582003468a8b4fff29d7ecc54f510d2ad276832dbbe2c8a857d97c796127a1d2ccd0410400581f02e9b1dde378a4319da33962b0aca5fa0f6025870fd58d7d4daa4cf6f313f654069bb66fa8f105067cf839e17cdac032c4a6d7fa00581f029dc1b5d1aeb175ee4043ae8ac7c7e9e9838795ab20c09887f6ef2ca9e0764a39c09d5031208e600000021980020314c15cb6e8d859442f3902348ff640e67fddf203b56cf8a9a22586daba3523620219baaf0219ffff038868742f537e228ea6d159946d75c27f45cb181875e64e2596c9b8ec381e9d5300581f022a83548cd2aa40a35890d234114fdf637529ce81d265c592324ec6e0f4fa410100581f029df2255b03cba547707569d0825468b5d598921f833534b71c1da552635c4465bc1e2b00581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf64c01eac053be542f37a5cb1a76021948200356255772a75063cef86cfbff18bae218235ebdece403d037ff1a0d1b73260d5c005820033f1ac242a73941e6925ff0d8b59f80960ec64e5ff1bf5b7839bae051fba0804a0d9470a781ff0164000003ec6f3295c4c333a8fd47dc2bfb4b8583c4801e03686e3560a2039a6d9c5109750368dd0bea67bef32d7d724f382c17dbf00eb39d621e69c45c2968c4317aab315c00582003fc61b25b1349eabb7a30a44094a811501b05246f7c7016892c1323f6624d104101005820035615e72e4d88d922a42b18ac191ac6ee2a4ec39632809ccd2e9ef1f870aec04a2aae0761478b9fdb03800330ff257c469ce9716225fd2a4f8b5237731f63747ec0f21b990707d4c3102af900582003243a653e1ba063c8e8ed8d636bcb0c052f3f6ec3e1bdbbad4f8c926caaca70410300582003cb9c979743e91b250f8008cf56a057205d1f7d3789b12bc7d53e1c9bd206e054c1df7ac9eb1941e01b1f591b2e83d17e62aebe1e03bb35ca18a8a6647e48b0578773853aab133d597ece9805546b41e972a60a12d2034cd7eb5da3d1e95d8f6275d290c4df4647c6290f107bded2c08198f8ef5d8af703dbbf4da0fba9def21c737272d6d5b616e1488ef3b103f1144f488a5ed14d8338031c890d8dccf6ae1dd8e525838100f43108661aec879f74a68957ee82796d6afb005820032420f73ab8f80011e8ebcb4c4a9b1683b47b7fab9913e32ef8ee1a76318ed054803e6c079ca11cc0d29d3345ef255c61acad702a0219fffd039b97110ef22bfab27383a144557a71f6da76ea7655e4fec7529af9dd110d77ff03709658c0145c6053236708ba8c29a89c94fffeed88beecc35f08aebb6b175ccb00582003fc458cd34d022ba1a502bee787d8600938dc997e8a58c8ec193a62657c1800410103574142984ec874888aeed432c9b6f704eb112e6fd47982ee38f069f51b463e2400582003250f9453b2371399fba02c3a0c50a847c9de6c10f57938a7c47eb5152d3ab04101033b5ec9a87fc01fbcdd6e3565e6d115a745da097ee70949efce4b6f512184ef6d03681e441c5466a9abfc5d26181af6e4fe3db519778fecc7839dadf6003a4ef3f803d3380354a8e94b4f1a75d731bc8b57770cb4086fa48b0ecb3fde7edab6737467037ee2f01debdb4d0c93198d9199b62d6ab15cdc05c7428fcde8b9a7491d19009e005820033cd6fd8427a05a6b4487bde9bf15e6da3cbcacfd306e3c816beea3cb493be04465d8d17303eeb4d89923a44f158cf31934561ab8c3468b886af10bc7250b28f5b7e9e8e61a00581f02f0af0ac18a415bde09f7d026431d7d72b9782b779db675db59dfb85495a14a021e19e0c9bab240000000581f024f201ab926efa864510077ea12fc6c633af5df995a50e07c8d68b2ca49a6410100581f0278feb8206d59803d7d5dd2488646fc8e5308535444cf58e50b9cf461fe3754ecfc16407c8462059b755f72522b72832c47e7cf0219302003325dd0003fcbf9d485d0212e04fd51cfe00447c7d391e1ca072e4547ec6e034500582003a19acc5ff774447e69b9cf619ef94330a9b62135a3acc20cdf5c509a6d201041010219fedc032feb8edf8e6d65f103e94d31b7d03b9b4508976219eb39510839eb0f3b7b57ba0058200311cf9364c44ce4687aa136704b590d790d36d49827694cb404c9557911c0604101033ebfeab5682c81b885278a0f9422b797f57c2d1f2dc80fea0a29371a67b1ba3c033d171abd4ee140235dbbf2f3a5d818cdcb34435c0f747b025220262b9bd3c52203a20d2e82c4df9aafc8aa84cc179ffa349daf7b6d8b82447cef6b554cda140b1e01410103d5cce52118da05c152b6b5dc49d5282e36d0f2ff17142f60fd46f427b56141f300581f0229ba49cd62f89968e2f08b77fc54a03f613419eb401c029d145045c0e7af510100000000000000000000000066666fcb00581f038a7de1a79debc45b8c7a9fba14d747e7e1af733b5a969e0f25cb69dd06a0493635c9adc5dea0000000581f03a1fb1523f1672ce4e7f659f0710c30918af646665fb90d8e2124fa238a804465b278cb0219080400581f02b4e15e1882338c61cf021eca3330b633c6bc0741183e24332123df3add4041010219a10000582003c7e1b4fd18e1c739f3eabe1cd8667608f09ea26225b5ab32b8d854821dc8b04465adecef005820030d79d95d9791031b765305b3e81e7a82a8283482b86170069ba6e71e8d8c604a2b744587b81b8e6ccb08039f7b39a74644f987100e19681837c41aa4a408d15560425b09f4d9a4068a1ebd03803f7433c1e5a67a842a6888775f4514739f21a9b5591dc96520d5ecadb7d9450219ee3e0368d1a3488677ea56aeb6aa94aa3d066ff8472d125e5227a76506e70b7a08025d03c50433da054dacc56f4b7c1cf4fb8e907d147b0731fb4c9587785698e75f61f80361cacca870cbfa4738baa4198ac05fad331f42c493144d8e9a8e299cce16375003de33b35bd8080370a8f4e42d743b5ce41b21c293755dec885b3f6314660e13c103738981c757ce92109e2e56dbfc2b3a12319f3cbe8ad930cbc2f566b9dac3b1ca0318cc21021ac1bdedd582703eb7578549d1dfc36d8153db0fbb0dddfcbaca4d9a03ac5067426963d0aeaeb94c53fffea849cf9f75b6d8a427fafccd80e09f9fd82503a986f70de2200fa3f4778c520da66c3be9b484cce0016e59f307dca9880e1f84005820030309c0f73bc8b5b5a7389177b112d67a3d7018a3cd834d0a7ebf9aae1cc0e04101039da12078a6252ef81b14c752efc7c6bc4a0b14d214a010f216a0880c7907e70d03173afab2e323f554e3bdf944dac297424b440299025d54956054a90e1a2326f2037697a73c6ef01a903c8e59cb418574b16c7ce8feff69b03a2098b36c15b77e290058200398b919bc74fd4cbd75a9cef7d33d83e7bf7a634d108c765a50d2d7ddf047e051010000000000000000000000006661ddfb03a79d2f0d0815cd970bf208456a87b9086a64050c94de9c0d32d245e894bbefda0349c4b4ba6b82c81ca62fe14c8f0c322eef937f33d4184fcceba7fa28bd838c1000582003f0c6f36450ce724691b0a9002d0eb532adf9aaffc778a2aea420900eb505004b015be374d836914c0400000058200398d635a6cefa658717a13df541e5b0a3a3ae79020be157c44750fc7b817ef04ac6419e2ded2f3f5c0000005820034ff8a3f972a7dc9ed2ba6467c65e1608f9c9130d5bf7fd3827f3eefdd08f70543ead920f49bc44ead68d1906e31d7a01759f296e03bc191294159606bb37262176bce376f3e181c5cee6a1c031b114a4b916c9d90d0058200370181d24720c2dac4fc94b1185b8374fc7cd8c4dac0a71185a608a55ea19304a1f4456e1879477580000021977eb00582003dcac99fc1f844ec2f3569671c0f8fd1261e8da52e71f4aaf273c1b2c664b20541b5276842c9bbcd62fc4b00a2ff1693f397fb299005820031878a97b39fd3a7c4612cd9a284ecbdee02154e696bcc83ff0472ab7421c704a039c8db98f64a4ec388203ee3a16f82b4bff2646b6d3e5e306b5ea9b4112cd2efe17d92df0b4b552e982a70347c5447bc504974b602fc6a56afca8c95c8ca7e4fff948d256cec47e46881b90037dd88c5b1ce3569a68a3f345bec25843d7466cea715e7acb4168d88502d6467f031a19da68292d3bb371aa9ea27aed3406730b045e7d1e189b1ad9dadf029b94a400582003de23f8c4a0cf8248f27766253adace1f226ba0bd368c80686598b8cdde90c04a2a837a887d41ec68ec0d03909dc503139ba2a71ac064d4e7478633b3e7cd7249cc1a83bbad911eacb607b803da834a75ce0777d92eb95625ea78697b5de64429ccef4ea539068c3fdce7b8a103ba67e763eb79db2dc4994e0f91c4d8fe607be040820fd906eda3f0931401ac8800581f02549591cd7f1a163b9c7bbe9563129b61ff0c31a0870bdcb5dda0a5be7a70410100581f02aaab375e527cdc2efbe9bddbc856c36c73b341b6c5821ae36dd9e3e4b20642558c0219088003b39eddc1e15f51fea1865d64d6081b842ede6ca35455f61637de1a7bddf1ae970219badf0219ffff03c8ec863a71a8f21f6b2c441c108a732eeda75eb61e7ceea21c9b97da23f317f503656fc9017b5b3b6ba7d83b1e5eae126e79bb402a73894ad134e234336384f9f1005820038fd701271e1fa8177fc99a7da7e1651d82cfaf029b0e43ee32194da617b9f041010369514e4440564f074e1002f9071e111e8b38d1e3c7d663e3fc1ac4355aba0ee1005820032cb130867ecfd4f0987ec61fffb2402edbd7c21fd46305ed5fff68002849d04b02d4abaa530b3e7d40000000581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b04c048b9c25814cd1422a34e58a00581f03877f10bc191240d64bccfe7bc39f41900e794d592f3ce8aa227499b4d5b04465bc2eff0219022000581f023369b513e3e8227808acf29b27d344e8fec012065a5f9d2df9d5d14675fe510100000000000000000000000065b5187700581f02d7c5c6f87c2c32eca8b94951243f1bf69cd606dbcaeb6ee5a6bad19c31d74aff616418a226c5c0000000581f02f2bb636211baca797d905e814dd3935688ad49d75514f08fbd195b5e131d410102191580005820037d33fa17281c0fc337b0496ec0ebbfd773685a9bfc80722661d89f6c5001504a1e282b846ce2e1b0000000581f02eeddf2c5168ec308d89ed676893d91a612b4b6ac2fd1f396f512f33671ad410100581f0206f309844290b9ead3f5a01172529d9392e04551274411339f41507650fd49baae46804996222a230219010800582003ac9264cb05a8ef0fc6c670f5803804c450b44e40e539486ae151ce334f6480410100582003ab11beb98696d8b0a5f2a49b3869a682c29f5f9c1373faf07e6101efb082304a096f7bf1cf8973ee686000582003750203b7242d815fa10330bb866d86b477e47f8d61cb6e076719b1234dd7a0410100582003702bd67e1571d07ac9365e0d17308246283e734422a695d81435fc240de9204a050fe84f44ff49373d470219767503e85e9001979777da0fe854e922f9f090a2e431e3d9e5eff24485981b01e1d90c03b269ace8b98a9099c01cda076c534e5a42cadc0306537e164d51703216703757036a85ad0c4d00bc6e5665100739d5751023e5e8032907873fe835e4ebcafe582b03c2da6e05fa0bc29a563c6830eb48e66a52f276ed156d54e6ef8d9c9a3577542803783d9d5911bb09777f929b174b11e9c3f99206dfb8b8e1aab1df8b21e7fc134a005820037e0a8bec2034c3fbfd87a4867093ea3c69e39bcf5f376adeebac19a707ed904a067de3cbaf35a1d1aaf0005820030bc5c3e02044f58c495e9ea211da71fced98fae56f53d348b5161ac64ccad04a12a9d399135224ecf3ed00582003e7c704169a53f259e01a75a4b3f900e6ef34ba9855fde660d1e0e3f381a7504101034a5ffaea612e49c6913e244f9edaebb912ba44e4882a71f3b305276b0bec066f0058200346cb7078ca37baa9e0f1a433309393efd101d67fcbb571650938712029d950547812699b84564ba00c1d399f4feb46db8c85064a00581f022ddd9c15805ca88ddcb39a62e58b248f685de0871bcb88260e3c57c79c05510100000000000000000000000065abe14b00581f029cf8eaf883002b9f48e28846a8d408c9b58ea6613bace374265e43c9bc43410102184203e6903e9fecb1ef9daacf60cfdf9e90026a18b22157553862e2eb1816f734c871031036d23501ed034d48528fcd451b4b4444055255f526c3f7250042b65cdf8dce032a2778aec694f51d2f6b5413ebe56f3c98f7998f7070fbcd67927da97168496100582003897648c3ac8f8721eb02e0ffb20b31af7d335517a7115cfea2a81f4c666a0041010369ba5c52ca6a932ddd2aa1ac7e235bf68b4f53a29a02387618ad06577def8d64032bfd98db01dacca8d39918ab2ca47d7324e4cad60601214e42207292c40ecb37005820034032325833d39a5b04c90ec6410b516c9c5d681b69aeaa0536f90e7e035fb0545c80424c8bf6cd03c8936e5e2f4ca681e86dce9a035bdf0ab2c0baa24aa1915a2fa79e84d46ea021ddb8b645182c857cf77156b58c03eebf1543c627f61b46ce777fac219b881e0028cd641c14e2db9ef168acfd1a490219fff70330a951d5d4a7d6cf271331c598171469044a2595c995bcad3dea8ecd73f9626403ab8785454b6bff1e70d67765d9f3e3884f33c6a4f543e4cf4258f614e1f8320e0305bad113e0408b138442db3cfb27cc6e217b2b355afc57338f7d24649473c0ea03fe370edd4ccc4ab64b9efe80b0768cca88c75348c2d7427707b60fbdd933f99f03e1928bb2e1001aa52cab4d425f4ba244e117a85813b6f657a42f61d671f53e620312f520e156c1a22b4c130c71708761fe0a08e84b8b5b0acd7c89aef60ced6df403c3dcdcedb2ffa9420dbf0e7d7227c40de3ed88d0c6e3e78be87911a971c1e7590219ffff03813a7cd3ba21981eff00b729a95ab324900b1938a42fa7607d659cb921e36fe1005820036908a75646167e9688b20eed199cc38b008338de999323a26fcc76f3719e804101034fce72ec20e5093c7435d9195e28a69be3e0bf0772039dce9bb731da94ea591003cfe038fdc11638d7a9f2c030dd0f65a1e58137084748dd16f1c43185336aa25503d8a8ef914506d4b5c24abc91d1177fc0b7e2547a38f5b5f727adb9c99facd01500582003ac05bee8019e0f2a9ab322d7a70f80ef7ece9fb7668201e167cb8cc6ab53b0543ec702958ba691c9dae34b88c825d038cd3c2d390349f39b304ac5a346815ba3ff218a720543efe9ff765224655d945365ab07047200582003d9a45252b823c9585d10597ebdd7d5385731514039501e754d905fa6509a8044663da62700582003cc013a5d8a1a154e3cee8618412bdf87c85af55246951e99a3a4a4fb1e7960446609023f0359e889c3659bf4ea78067fb946f4e64025a82454ffc6d143dfc01cdc37a80d380058200349b93e2b54c31883f0e53e7affabb02ed1ea09f06b57103cdefcee153c630054b900f6d7f57ba43d085a1e0ad9062183e2f279d903db1cc036ac4e8e799b4ec77114b7a14391a8adf7f0e551d09f82a3cb0fba102c0219cf2f03e9432dde15ecac877a14bbacd77c311564a468d2f6b191d29d58e01eaf3b3e66037deed76148fbab96453402b9eaeffb65091f29bdc09a429b76b14666c17e1bad03f10cece11d4b1ee182e5d1580b84ef667b826866c865249d7d5604cb1d345bc5036488aa399c73648b31310d435b5c9047a7c8ca899bb2ec3bd4123983b1a65e830315aed4fdb1f71bce1e7e5b88e59131733e797e3b394e500cf70585722c91f8c40348e6da30694877e6898f2a14e3193947657f039732ea1fe856e2b82e105a05710356cd0c82d217f1e5a23ecada21d052316da83296c64ffd92e37befc53c3e8084033abb0462f1d1cc407a08fdda0c5a30b8519f77231026742bc2fa0ccf3ff7f42c0367d7cfc26e42d131c1a867f36a14207f9fb18b17b2d2cb5cf1ee912838307b7e037de2b558e3cc7a1ab1e50b19922e8820a287198bf3e7d1d559c14cd8d143b8e403e1b3f486f1efef9cebb6c4972eefecbc8618be6339761bbe82f838cdc86fefe60328da9f5c432ec80e2a4f90304bea3da557f02eca7af1f879f5c5ca60228acf8903c916ad34e543afaff04af7c70e09017a0987e6f1f36b264a3220b9fb43954f6a031631af13de2b4856443dee29b3ce30f4177be7017dd1225c90b799c2f1b7ea1600582003e2a1f4abe643e5f72afe28e872ab7912f6617ad907d6f2127b577fd73fe63054ea4452de3acaa34b09eb6c364c37ec033b233d41005820034fb00a9ade57a72a5fc555343153cd69dd0819c4715dd0ffad070f9c162b204b0427df95f24b31040000000058200348095db64d1b826715f2e2496d6d2863d1f80ab10be0976c1844d890c9f4305101000000000000000000000000666fefff0058200330df198b688943dc4e6d6d78f39c9188b59e7be1f4691d78870453160815404a69e10de76676d080000000582003135e3424973909973f1cbe16b2bc99a6bcde63aa47d82c6aea2ecb5e7763d04465a8360300582003ea2c0a43063d2e73830f1022a2c221c9980efe9324afa0298b1e57ab4cacf0510100000000000000000000000065b032ef00581f02b2675ab29850c7e1acb81842eef113fc33ecb9e25caecb0db5269769ed354b0b249059d323f9e970e46b00581f031d60d16b1c2b352f82c8d21994de1fa4f6a914fb6d909a7276ba517472d04302ac6000581f0392f0ec293797b34e4229a8a7455d3146616bae1c14e4e40ed10c4353a85041010219022000581f027932b2413f3d275754fdc3fb3b726108a4def27c98e5c02540a4d5cac9944101021903400219ec5a036e3cb791de7a6ac757b0c8dabbeb8e2c5f798d091436b23e330a7877c6a517390219ffff03ef05c2727125f36f50bf249f411a68076f62577d9e98a5084bc5ef015231662a035555ef48bab09021a791b558c977eecb359cbf6def36b15b68a4adf5cf718ccf03e58c1192836f20e58c73196a66cbfdef0b6703c77e40795b1a9dbbb59075f744039595f213b02eec9a5d5eb94adb9410a13b7c9b351c99b55ac2758d85f9a8540403112bf9c665d9718e26fc243ade594d2feccbba980d2fb0fc8366a34ad28acc6503cf1237bf7480270d45885758e9c465fea7f274ddcb37c69ff520e20af8cc711d03e9c02a7eebcef7235fd24d91c9416f6342984a202ec46bb5967bb391e0efa08d034dcf668f856fd6f4a514f68f5fcc98a1abc57e4bbdbb2c0db66f7261668a5db803276e6bd87a2e77109da7bce39830e84f210777e3f25f4ddea4516f504370df8d03f3da15359fbe6cf8adebc1f60ddbfdd697eee40e498bf761e1746266686b031503e488f00440f68055d4760b44e9d187480d6ff696b5676a89385b8fc552ece8e903177183adf8e78bcf07e2828fa07d82d7f73b8a7b0572610c73f8e434de088bc801410a03adebdc9716dd084875fc7f240464280bd18fe33ae8d029cbd85d36aa4fb007ea005820030d4ab40a47b43401297cb13bb6db5e7f9cbf4a17f88cc8061095f377ec91a04aa968163f0a57b400000000581f02fe14b79dd5ea8d8f73c0216b5260f8b482cee13884f77fb22f502d997480410100581f02dc9a59e1855da8e8cc100583cf49311bebeaca9c16fb5781f05b7289d43e41030219042003a71be8a2f195dc4a7edbd1e678a185d5c3db1eb54574676da9a52e85bf2ccab200582003e201ce9093f0ab10903ec2548a95a271baa7c45f93cd89efe913ed07845bf0510100000000000000000000000065d5a83f021932fc03d59324c029e2a772f7e9993eb90c9d825960895a2e006bf740257bf7631f9f7e03fabfa372ed2826e1adc167591900e0d843e706ebe4abe60527512e8ee579b188033d04b2b0c6883979805eb21d6bd0af4e58a682fc8a49292413d858f998af66ec00582003fcee598409df251b810118a133abbd340a42901b107104ee85ababaa4148304a3fb24ad127e4ad38000003cea2defcbc6fca434d904271a84fe3c3f6f6e9043e958148ed62ced2189dcb41030a871bedc675e44b74a6c05409b280a89833ee95a43ab6fea4c71c826eba205303f635c66234441d07bcf7be21f05cee1c26b5d172a53fbb18dc88f01f9758b19e00581f020d11711c10a83ce4767225d90991be260f7d5b5910d6939a6d1df246b059410100581f02f04954bc95e1c0cbcfeb23bbae12fced0afecac8a44e18b4ea85f22c45675479e1004483747f0ede04e2d401669d6a3460e3c1020303671df7ca919b10b2ec7b3e41ba5a5c18659e578704890ebaece12b555c62fe650058200384de49e37f5565c05efe4e1fd611d8c0f0e61538ad8e9a0ce939d4a91442d05448d5914de22e15b06a9d1ab9ae8629598362a37200582003b9b6c33ac736280998855e75ef7c963f6b9d986109f7af8a7c8c6f55ccdcb04465e82ad703a71fd1ce67c68182b6d55ac843e7ea7ae39b7dacc497e4eed64d758e7ab13cbf0219be35032b8ea6852f8c03e242206b301b2853cd23589f3ae7691eef005279bee088c67c0312b31e8dfb1f3114bebc839a0cddefaee80beb76938a655cfc663022e8bcee35031a3271cfc3c4a8dbd4fc90e1f46a675544d51390be9a715e1aeb513133154ce103b560f6ca219a4ecb75284a35993d72423d2dd183a776577ca8210eb9d06a169c035d123844568275766f9e8833f86282f6eac564d120a7463cce8eac14eca37c5800582003e5f00b7260699350f75c43e6a6f9af745da712e7c0f6bd5f71c5a5cda829004a429d4ebba6530008000000581f02b2e5215bf3986adace3a4757316cee5445a3a4274bf2a42365292ed8562f44659e558700581f02b032d5a5fa3a5b6544566ee46a0f6b8fe8b1375ec878dc3be6580b0784954e65a1f8e300000000000000000e1002183000582003f76699076a6d392f6f568bce44d4aced2ca92535357bc1fe5579ebba95f21054fb8d396a19f288932961b8e684da4317c71677280388704c617ffd727b3afb6e531d283ceb9536a7537239e7e186cf2c175cfbfe4500582003839c967bc68566dd9b17dd89598e5ca683b555c77d56be6a0275f83aeab8c04102038085ecbb9393abaaca983ef240f14f115633a27497bda4842227fb84d311f5c7038fe0dedf2428aea16351d32e8d702b0ace7119d78029d47c40e9b5a3a87ae8ef02193777036439f4e38a06ad35962aabf30d561687f45e9ff8c4c1f6cdaadd287d445875580303aee2f3c6559b499211d14657d51dd44631ba0912269eb4e8fba0a5ad02e69c0219ffff0327124286166b829bb242a9f929f92a671d363510d2bc6219496eb8fd89b8da720337bc1fb0e48530cb370a63c0bece8e65c6d05b2f7c9de28efaae73bacae1ccf7038d505a0f9010050615053692d97e6ea0006432baa3d553e028ca813b02c7029d03b26bcb31d68c0d2076f8c8c5f049094942de781146861b4ff375611dc44fde8103e8f63114fd8adf1a717f3b81426ea5573c9776794b711cfa07f3fcbaf23fca3f037e1a4128da17e9a25727ab1628b91678c6fb8a30bec829ae3551e9a22f4a5541032916539897282b4caf8d7212f7b1080a1d21817ba18047871b7ac06eed5757a20335759093016694a1deba6add2aae60f4c83c7867d05a45f8c7060afbb7c807ef03fe7bd5be7e1c5232d0051b1446cfba1cf899c71d02cbea77af2fd4978e0973c503a5091bb4b992c27cea9af835106bba52f22ac53750e92ada766bacf6dd43d3d303501d0ca8b772089daaf3e621a5bb6807cc8ecd06a5f12448d2327ae3aee10efd030a19fdef9edae090de857f75019265608106f174d355b58880083b5ae36121c50398df4da0feb9a135401a5da7cb4863a328811b2c3df02838a4e23086d79d551300582003a180237130cbf8fe9b8c82ce83eaeda150b1d83da1254516911215aab3df6049015519be738721ed25039c11a1d165907ff21bd48fcce89a1a94dc7796737ed1ec64393bdb735c819ed803510235e797ff2e20792d59ae8f17f17459dc13b0abb4feb72f00c8e2fdaf9e0c03c592a8455fb63b253a0ea62b5f5ee763256d910a984dc29310c607d845b6a3b603fc6c19e35dd980a40b2f6827360bda2e1340d94896c04309545a64fbca75c10400582003404f264208e9b2dda1fc9252fc973e89e1c371e479a60476ac5c702315a0205495f2164647aad61fef390cb12abafe6197105275035bff0cfebaae935d88c7db5ae78d1a34420abe408f791c9def1f9e6901c6f22603e8c88e40c8c97b750c8fda7a185459e1f28d8523e36f1b119b26dc128a86e5f702193daf038a287d0c179d064ccda5d4139f652ee6983bd0e2458926353e1d9c72754e0ed6032344297ec2c5181e7eb97d9a176d959a71ae8900c0461af8caa4072aad48fea30361d8c413c1fab41e359ca66dcec0ab7930ed47b108d3b2b4d2b78cf16645b241037d55ae7fc8cf1577f073bd116bfca899c13b66409a3f78daea3822362bae289e03fac947e0fa2b9d5a9159e0ee4e6e90f7d7cc82df89127da0f034bbc912dae1220219ffff0219ffff05581e03f04b99587533de7244420a437d0529a5ce98280f1cea941b76d1297380070219048705581e032d7cc138e55890e2c7bffaffa4397cbc5a83d828efd89e3ed3d8e62ac0040105581e03be04ef94e123dd5b95bcf8f5f96b2605ce76ae0610882f283a2bcd686004030219b9bf0319ea2700d8cdc74f5076542807db9775a622b01fe82d95da8bc1f9f1f42129ec03876a1c28befd3c3b0f642b38a913de0c95e8d7797dcbc06025b8eed818e7d679038828bbca735e2fe17d71441aac5364602c3324929c6a5f199557e6093bc0a3bb03a2bc68d212f36b2bc61d0db4f9c9717b0cd55c9fc7e11a33054463733349c5370219ffff03926f37c47a31438d558e16191fe74801c7b130fc0b5e729783eee17fc0c654a303041ad3d695c30f3b4351c109b101f1e25d211b98b0fbe83fc934eee676ec0e09030a4d44b9e5ea7965d317f4a1417434712f90cf17ea6db7d160572542aef82f8503d5c15ca88d02766e7587fe20aa1b63e06364f26c6ea04be08960d6a3f3611e5503476be970bd097bf64326da7ea6be283417713e1e4a350a82aee6a1cac7dba3fd03c0a03b5e77e53c2d570b47c733b1cd1c4f089c18c4fc7da5953b5474b1bc80ed03ac9e241960042a5297d1c960680106c40a5bc43e634f25d0a077a2f09193ebb1035280fc6592754f505d97e163bedc36fb86658f35e1c24fd05a2331db8c18d7a503d6c728a47b217e08d7339c1f18d9a807098776341111b641b9a7c401d2d822d303aca7d293057feaa6983b9af6c40409d58f9c03afaefb54e0ba09ac19879d5250037ef7a583c46ca39721decf66b69be823ea6722425b5327faec4f992bdcc6c72703b2476e70911af231c0bf191225055ab347c5ee83b9f56446923927f092f8a454031f8f50add115ee109044aaa332c9951264f273e6bc780281a3ff997adeb8f8ba0219ffff03c98ef45f7a35d67fdc19b68fe89d0ca1cf95a615d3fa74db569f9d24118b6ee203f837c6cedb000383906cd42d52f947937eeda08fffe4d2d39c654f15ab63ccbf03ed84533f811fd5dec84c2124127d7378564bd9113d5f36cdd05d50c822a09d6b0382a66da74b19b803eae9b34253d4b8001d37921f2df51623a8d6fbee24930577039c837d33934056ae047251aa8ecaf59e0582ae0fa62eca396f35c2803b46f3e0031e761771d36f7591c8ee78865e9ef27d434b863245c65f77e32748eb2d0bf2b60352ab0d2b5586e03a0a07ac06c831c8740a5a1d7bf565b0d8cb676048965fd56a038e28fb875609638aa939662d5b63a8c0327a262c7a7ebcc3c1adfcf3519aafe6032cf3f145216e8c6cca6874996026bc2685bbeb1a98b6cba8ecce2cb28915787d03363442da5d02341f439eac6a14ef5de207470b27d7cda45da745777f769bca8603bd6879e7905f190f5aab47deaee4fea6b5597a5d8a7241561afd25ab1eb634d803b2643d248e074babe0cfb3ad97b8e1f7400f8a95352dbfc5bf92b9df2e35247b03fe873218c35dac8f1740d4453f5a5823a61f1a964fc04b0ac289d2e94843f8a10219ffff03790c41d8fd62f4d2af2e5617ecfcdae843ef5de7de2f98924c87f226f963b07f034b2f42f79ccfea8f75f17136f577700f58f4fdf62313166581812f9cfb1465580219ffff03574f41edd2dbde0d7cd97b365307a175bdb6f6f3e6395a8fe93a8e349f90975803cd5c1214aa49d84dec63307a317dc34acc78df900778a1ec00518d0766c87f83031a4283da0f222df963ccfcc08178fbfefae78524f9eacbd295cd87a78bf180b403ef73db152b21d8bbd488910b888d6a9197a740b3fdb580db6029184f7fabd19a03cbb262dfe8e5d95bda462a37a15699476c24c57bfac908bc9e18092209ae9ef3031d41886fffbf0963ac8f64086ed8edb6ae11c3072196f35b72ef377884ee7d5b031ab7b9e46612767fa4dc2457e471b3d7fd37585b5b6222e36970d13949727269039cb8452cf7e9aae0e1faf20a37a3bb1724c63f7f4ccbc949e322592f790883f803fc46d92c9e2cd5eb3d38d820dcc8bd2b443e5882c19314abec87345b0f821f4503622f041ca3d9d5c14c20e01b2eafc5a659769fd81a57bc343fe35258ae1e851f035a1006f14b01fd3d3b87229b25fcddeb37546c413844116f1f40c9eb75fcece5039a899d22db84b6941139fc75a07870526c1c28cae2503ae50c00ad45de4be509039bc2c07f40825bbf05eaab3df5ab0a3984cff92d811c1681cab0b1f555e7f63c03b1f2e5e1b7c64ab675b8435bfc4ce98f6d1f5dfae2077ba280d7508518cfa6ae03ddc6686171ff3ab5a859653bf3ff37487241e5c551eff66e23284c7cb8f43b2e032c497459c30ada0da4ca0f0dc9d660d4cb151f240d756b70aa543b0c0e89561803ccb0f21190c8c231c56fcb8e821d2847b398523dbc5fc183cbd50db86f99a0f8037434a5fa07940f0b52ad372ec715122e1a660eb509fc71ae44e086ac19dd10ab03daf330b2368111eff629fe04d3888968d11184e1d3b817688b572c8c3d4a059703083f32b93de94f0c826a5f1b101919b28430c928175f5524983adfd9134683d505581e03d2a4bb5ec52b6c30c822218902bad415d6ac5c0dc441795276cbe06d000403038dd1574894f39c12bcdd7b15042b43c86b5fda664b5c03ac720f90a33fe6f14701410905581e0367ec94090caab975a32759929dd8409834968f54aeb84577337ed375700c0147095b8a0ae1bc1803bc962ab923c4f000a648858fcc6b8e86d8edc44314cd67755dbbfb837427fd690605581e030f0ccd2fe5cbd489d91bb062cad044eb77568701b5539105d4ad88570007011bffffffffffffffff03c4d071a11c8c0a5d5a2ab3d310f69f473caa50ec6e780223f382638419127eb503159e691d5e64986d058a47c90c1910c9c8048faa391dcfb155c82acb453ced8a03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e039a16ff2ae36d3687fdb33c9b36ed23e003324514ea99cc7c0193ba0f0007011bffffffffffffffff03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03da358c956c2e9bedd3fedc4f259ee80a06b60e0ea46b1cfef8f9fdf5b987dd0005581e03e2d763db212886ad73f7347faf28af7abc40d2e198b348db581d6499e007011bffffffffffffffff04590d6b6080604052600436106100745760003560e01c8063b68df16d1161004e578063b68df16d146100f8578063bc197c811461010b578063c0ee0b8a14610138578063f23a6e611461015a5761007b565b806301ffc9a71461008057806354132d78146100b65780638da5cb5b146100d65761007b565b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610a20565b61017a565b6040516100ad9190610cc5565b60405180910390f35b6100c96100c4366004610837565b61025f565b6040516100ad9190610cfd565b3480156100e257600080fd5b506100eb610397565b6040516100ad9190610bca565b6100c96101063660046107e4565b6103bb565b34801561011757600080fd5b5061012b610126366004610891565b6104e8565b6040516100ad9190610cd0565b34801561014457600080fd5b506101586101533660046109c6565b610515565b005b34801561016657600080fd5b5061012b61017536600461094c565b61051b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061020d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061025957507fffffffff0000000000000000000000000000000000000000000000000000000082167fc0ee0b8a00000000000000000000000000000000000000000000000000000000145b92915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff16146102d0576102d06102cb337f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff610546565b6105e8565b60008573ffffffffffffffffffffffffffffffffffffffff168386866040516102fa929190610ad0565b60006040518083038185875af1925050503d8060008114610337576040519150601f19603f3d011682016040523d82523d6000602084013e61033c565b606091505b50925090508061038e5761038e6102cb308888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92508991506105f09050565b50949350505050565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff1614610427576104276102cb337f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff610546565b60008473ffffffffffffffffffffffffffffffffffffffff168484604051610450929190610ad0565b600060405180830381855af49150503d806000811461048b576040519150601f19603f3d011682016040523d82523d6000602084013e610490565b606091505b5092509050806104e0576104e06102cb308787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992506106a7915050565b509392505050565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b50505050565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6060631de45ad160e01b8383604051602401610563929190610beb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b805160208201fd5b60606040516105fe90610b55565b6040518091039020868686868660405160240161061f959493929190610c68565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b60606040516106b590610ae0565b6040518091039020858585856040516024016106d49493929190610c12565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b60008083601f84011261076c578182fd5b50813567ffffffffffffffff811115610783578182fd5b602083019150836020808302850101111561079d57600080fd5b9250929050565b60008083601f8401126107b5578182fd5b50813567ffffffffffffffff8111156107cc578182fd5b60208301915083602082850101111561079d57600080fd5b6000806000604084860312156107f8578283fd5b833561080381610d10565b9250602084013567ffffffffffffffff81111561081e578283fd5b61082a868287016107a4565b9497909650939450505050565b6000806000806060858703121561084c578081fd5b843561085781610d10565b9350602085013567ffffffffffffffff811115610872578182fd5b61087e878288016107a4565b9598909750949560400135949350505050565b60008060008060008060008060a0898b0312156108ac578384fd5b88356108b781610d10565b975060208901356108c781610d10565b9650604089013567ffffffffffffffff808211156108e3578586fd5b6108ef8c838d0161075b565b909850965060608b0135915080821115610907578586fd5b6109138c838d0161075b565b909650945060808b013591508082111561092b578384fd5b506109388b828c016107a4565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215610964578182fd5b863561096f81610d10565b9550602087013561097f81610d10565b94506040870135935060608701359250608087013567ffffffffffffffff8111156109a8578283fd5b6109b489828a016107a4565b979a9699509497509295939492505050565b600080600080606085870312156109db578384fd5b84356109e681610d10565b935060208501359250604085013567ffffffffffffffff811115610a08578283fd5b610a14878288016107a4565b95989497509550505050565b600060208284031215610a31578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a60578182fd5b9392505050565b60008151808452815b81811015610a8c57602081850181015186830182015201610a70565b81811115610a9d5782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b7f57616c6c65744578656375746544656c656761746543616c6c4661696c65644581527f72726f7228616464726573732c616464726573732c62797465732c627974657360208201527f2900000000000000000000000000000000000000000000000000000000000000604082015260410190565b7f57616c6c65744578656375746543616c6c4661696c65644572726f722861646481527f726573732c616464726573732c62797465732c75696e743235362c627974657360208201527f2900000000000000000000000000000000000000000000000000000000000000604082015260410190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152610c4b6080830185610a67565b8281036060840152610c5d8185610a67565b979650505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152610ca160a0830186610a67565b8460608401528281036080840152610cb98185610a67565b98975050505050505050565b901515815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610a606020830184610a67565b73ffffffffffffffffffffffffffffffffffffffff81168114610d3257600080fd5b5056fea264697066735822122051210ea164787c6b805fbc2880dc6623a837fbf77e01e1c9596d2985813b475764736f6c634300060a00330605581d02e0cacd021bd0076e122ee0fcdd2b1f0ab28d09c3a23fcc60d6c2a5d70701190d6b05581d0230547c37390db23bd6fe6cf2655e3bed71bdf3567197ec94d44910240c0346dedfc6b55cda0219401003ad7fd81a91158a1b76c553cf0e0123685349a4b044909c6c349c5c8611163f96037a96bdc8f5c181410b169b79610d4d9d374c08cc344c423d5dfc1ce81d439b2601410a0219f79603769d9ec7a5d6faaf5f089b720e121226bfad822d5d017a45b10c5625c2686d57034f2250548dd65cf399b98908d74d5435cea353ac338e45022234e7b44f75d7ac03ebb8d6939be4471b190a09f7ad17cf4536127e664bbe14abffd7278e10e2c874039d9c21e2ea65e29a5d9e40d39cde92f79840590b878c1b1bcc4d93ee6e67b801037a3f657c83bc5ca7fcd8b7db953648107334eb08681d7bc929f86757d8ef7ffe0384b4d0df0d11b94578b6809a3f355e762d0123a13352a0727e9a48dc7dc19ca00219ffff03fad3bde37430ab95ef6d5f505c94b1116956214de51a267223ad370c48801d2003c346f6c0d1ec136157f515da99455cb8d010aff9a61a9bc277fe68cfa64a8b5e03a3db06800b39995a2e83b4a05a5fc36322229509575e16d402346a1f7cf2d690034dddad9f36020f65176c602727310aa452ca499497f75b3cb2db59d2816c951003cab6ebcce61ee8d15c0ee4641f0f7459b5ceb3cdb523e1cb2f0dfeff8af20ba4033d5d7465febecdc88f87fec6d99a1c4c815fd6e754d358da8d760066a4b51ff3036a7e63df7c214ae6d1bf403f9ff417e5b90849ffcc9b1d381ff58c6f73f4f030035571070bb9467ba546fe9ec4655cff88c002e384169de610b0a9cff81076e88a039171eb83b7ada02e30ee5285f3fe1396b383f2393a75649066cdb5eaea03a70a036f536e5cbab3e0dc92f7e25cf44e9a9e147ff4615f84837061b4ee753d43586a03a47aa98b8aed1f0c0561bde3576c1f73bcc476cfa967f732447ff911198f153103c15b3d558267e82c9d42708296a5c52f3f788f4a53bba51f45aeb20ffc26ff93033f950092785111a979cae812a85a9dc590369302a543ad80c2c4e97e0fff90250360169bbfb11138737d3b6958f418333259dfbb053c9c99dd043b9d97281e885d0219ffff0335d8ca8c02e44702fb40901eb38bdb2d9b6c3f80a75ebe88b4e4fdac5ae29ced038ed919097649fe2fd309c9a0c4c1f692ec66ff3ddbdd0cb1d4feea2f5cf30494030e53262305cbc4f1978122dd32400e2408e41dc2f08173078d01cc6f4e241fdd03a9273ff4c53456e8323e6e675ad90988e291d0de3dfc83d9923dd2e0a4ae63b80371d8925ba6ff1d87defca04a9013ece26c579f9977cb61f6d3a1542fb160c9270219ffff039d9853bfbc61ac3dd40651b38b4ce892378580f64bb59626d1a22503eca2b3a9031d18c2af9ecde85b91c2af26adda53677b4d26dae5f96ae5cedfa299de13beb403adc1d9a6e0b5cc76b1f53c54287321c27155a82e2460f30738b1e1606f48bd630365d6b386bb4214eea9629ce9fbd647f580ea6f845a6cbe6117cec103991fc46203b20d0f576c10596c08aaf6ced57f5b779831fbe4586e484cb0416175a0620c5103c8ea24ea8fecb3855b324afcb5250da927eb1b5f65140c4ae9074cda09da101403338e16a19883287896473df12f64eb955acc77ebfbf94ade5fffe9a8e615c0ec038892cfaed0fe2e7b269c29727144e4ded41390cf196da0741da808f8a9907a5c032e89e80f03b2134d889b403f8af5550221cc1ede8ab70b669c92794dbcbcf58803b6a2a8ccee1348d94174914a25e36e7679259e1086433bd917754d546c62215303e252aa2d84f1f9d4dc0af41b0f749d3df02a5d6af2777795951113669c047b6203d04e4233b741f640a2dabb348367eb629c967fce13798da6d03586781fcd3bbb03632c4b30c9eb5e00fd9714ace31925db6b78e76f9038e98cad3b550175f8c02c0399aa5ac3a6259b994698876f66d1deed9433de39bdf7b2d97739a552325c7ec603132ae02df8baefc02006110c8d225969f5042015c6535385c1cdecd841fa396c03cabc10d8f11da14cf4896a6569ba7157005bbd492ef1e521c71973af9e070a9d03de2424d37a006882ba4490ee84955a127a37557d0158ce197e1004748d75b3f2030e6f27ccbebaef774c1c8085b8965b2daedbcf36ab6561fcc5a8a4927ff03f60033a0d86d3231d71702526d7e3ef1217b33814c43f6a71f4058dee4c36c71c0074031b185cc9c28145f18caa600050172d30869f214903bfa50542170723b8b6d21003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e0348854866abc516dd4e1095e23add971d8c600ed5cdb851de8e7f9c197007011bffffffffffffffff05581e038251286c69a01a2718367a01e4124a55b153a37457da450bcf0edeb0400c01470339299b06f9e00399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803bf2a9e75eb0f53b22b971e57bd3b2068c62abb354e38dd6ef0ed1f5c2ee5657e05581e0387e108a664431af886eb7adecd52b3c60ae5e4ab60d6ad0d268f65d68007011bffffffffffffffff05581e032fccb3518b650a1e6764765aa62c7c6889e0a4211afd02f931363e2c300c0e46abe4fddcd000037242f6a22ee5dd71c2b4311593def3e22729862ce8918b621263ee650dc0d8150321f8042e3c3ea628df7d6684a88c5a87c2d693c84e175a02eec5ea1ece32b6bc03601bb2dadb958cc9f27a794fb5832dfb5b1b60179dfff63a1f02e0e3cb18288505581e03517660a0467ee5f156e77c47b73e4b414656e44f29417b1bddd9269ec008475fa0ce2318140003a456e249ed1bd41c9954f391c430e75b879b04027673cbfd771cf1c74d2d821005581d02bed4ed8eda044ed135f6bf49ba7bdc932de98f43de4e66cc67d645ef0c124733d4c31faf5e1f030b44c9be520023d9f6091278e7e5a8853257eb9fb3d78e6951315df59679e3b203c417f5a5d50e4d75e1a39e27e5ce0ab86f3525673a2ec71b073aff3af916b3f305581d029958ce34ac277c4717a7925c2567ba4a07d48200503d8bb43aa73a5507011bffffffffffffffff05581d02dcdcaa24ddb269504d7e9b294996b892f2577c6be18ca7f85b6694c30c014612fc929078000219100c0219b2df03741a3f22304ceda5102ecb7100f019e521aa1e91c5300c6b9eaa5b510b1b058803fcaa6ff3b48baf32e2f1ca24486453eb7ab2fd4cb166a24dba3e8e8281c99ddb03cda253e6e7b47cb3040398e69851de21d81f736e216d36091cdcf441a4d7346e0361deeaeeacd9b917063b820c1f0f874e2a5b33ed3e0917ba323553cab18cd60403681767273cff4deab21c572c0aaedd30af9831a094fcfc73822c7553380012bb0373dfcd76716730a56f66df132988d353eff07cdb489b3273dd3f19a5bdb40e9603d776c237833d2033a259a83a4e93def854d321fe59bb6f9d137bc126e49238610316c12858fd59df27ce99484c4f08f52c39ff84e97788f3645d5173fb7d91e942030fd8a4a6131c93bd7ff65700247135a1c94a61f523fc38857cb53624908803f9030a4c2210e66238b4d1fd710c917d6863689ff33786db1ff0677e2770fe762c0f03547ff0082e07f3d528c88faf3dc32784be18a66e6738f05f2140bc1d45e60ccb038012e4e0896e27953332445e393db81293336a4614368b3c2891f04fdae72ac103de06dad24fc7c1cdcbbfa9a28e6f30950bab2662396c93af810f35c69874556f0370a785cb2a178977690d1a25a98173e444a2b53a09c763a9183af468c2448d6303f5abf084ce5f2d491ee597bffce348207dec15289a842cfa2a84f7e258ecbb6e0219ffff03fa1794ad909ba5bfad5593405593199311cd3828fe4dfbc2d131de1d51e209c70219ffff03c63a94cf06041ca567c3894b108da154679538af37c3fd96100018f3fb6e04ed0365646afeb10998483f4b3e930578fca24e98c029bdfbf7b622621edeb9b1b577037a5a881da988283cf4612a664f97bfa7e2cec2f8aabd1268d5348e944f811a00037f403e3587482ef930038ef78faa6034b272fc4db8ee6607d04fdf6cf7b33e8d030f9102f55cb889363a68c855ecf5c937c883437d4c1d4c2d18bcc3d8718ede4c03652d10393728a24ec14346cc5d71fbd70dc27592dac6663ab47d433d5d48691103d0d9ee89f1737e00ef3608277a97e3c7f8270ed3ae2dc3172cc537dba1cec897037d6a9382c9ec9b46949fb26a57ca394d91a4f0f9d4c0beca77beea7fc00fe78d03407b7d5f76f786d351b8845fa3a8a75cbb6626a626f5cecb8e0663ea41f2bd2e0316cf625ec997bc92c13b50d80dc212136a582e3e82bda246d58492adf38df32a0219ffff031b1767b820644707962c8eed6a8a1276e5d7f127be4884f75572548edafc32fc0394d39fcd7534995853ed173e3767a0803dc4e870e34cffedde4d9ef5cb52035703f33a4364413225af1150395aabac26dcf689c30779c4baf727aff5514bd51eb4036497aacb49391dfbc6032f63c235324f77468fd21b35eb736e86e11111c4ea86034b3b3810134e5bc188f326543deb6e2e974ac3e8b6031827405d7ec3ade8026903a2ab20e77c4bfbf57f070aa685f66f8ef62a0ac925ef0fdeb0a18a1d6e3a0da903a7f8aa4e48dbf7d761e1a022e716b8239043849604e116404b99339e992fe2d303578fee4be815790e6d93592339c146b39bb771a1a20ff597daef589850c6f99d0337b04c747149df420b66e305a621b81f4dbff4d339754dc04e3e1812feeec1800347380775af1256273215006d1faf37eab4287038c0e67a9d2ac0a2dcea4334d103836c3afcb474f0a96bbe7bf7f2f1844b6647cd04a0817a85b5577a0bb36286d0033a93efcfa8f414f347e0cd9d71b29801892e389b57982b10b5a5ed1b341455f90396317cd142c413eddfd3bd8521e4aedb1d089eb53b52330962208bb19d766bcc03fe9bcc9d7db6b875e77c0d430ebf60bc771e36ad18474d5b79b6170c30fac05203d949bca9237b80f849bbcaaf85adf6839fc4977465c9f64485428a60ed7b0c45031a2e74910285184d737e418da430a22f8fbdb5c6cd5e1105cbc2a6021e0f5c46033b62a179a288eca527d44ca71fb2af1d8c73f92f95036de71ec898664e904df0033bd873a769eb67d2ae6da9cc2a8c3a56bf72e0fa7091ff075fa83ca507c432a903d29356bd3f8ee326e4c71426b56b1831e40b697e7b97a26e45bdd82714c455780387f41968972fd40e37aca765c0e0d10db20d588e859c09740365be7142317e85039200d79da131d73657d54f60d7ca7b5957119a299d977e8f29872d227c24739a03b44ee5cf23a4d9e8e9fb0719d57bce59af98f0269ba3461c35df8ead0ef3d373038e649ab91aaef1aa99e85262a67ba7edba18ef6af1d9cdf83930b93ad12d92af03bf9c62a0a9a9c668ffd8bb9a730c3f1d5cf08296cdaaf265ca9160981596df94037a7398f8b0009fbd2f79e1ac84f25cbec903429fd5df42bbc10ff0657979c94d03558d7ba9660fd6ced94daa24c3655380ec7a9153eb710d2a39b3f47761ae781005581e038a6a43ae05646c22b5480fc7ee9131eeac5fc12ce1909c92a131de03400c1901504740dac36d7af95605581e036b4a8db9ee170dd4c1a570f554e1a9d07872ba6c3cf262cd58a9dc0a600c014701d45cfcbd135b05581e0328b5c8da276698259952be5b4e601bb0de7beb9aea1b0880fc6cbec8400c014702c567e6ecc00005581e0346c87f7fb5ee3fb855d0ca1efa856e72600c7711a9187d66921882a4100c0247033d007f0c034005581e03a89575a846688e9058bbeeb83bc821600bea2bf0579fe480bda051e4500c0147020115144db80005581e03bb6c241865090b85f8c4967e8b2f55227f8968fae7a3fa244aa86a1ea00c02470100a67ab58c0005581e031edaf7432d37bc9c7bdbc219e1641de3687d0d986cc95068250fcfd4900c0147075483d4a7bee70219345503113dc0d5776621575b69c891d9bc00d47c5933c023e63150de3b9c34a1a290bb03f912be2813b29df70012cc2bdef5c88e724c7fd969527a07764aad9b0eb6c8500219ffff0398cd3e22cec34c58b1018eaa25abe79161a2ae2e113470372a60ad91d2a89e3703e13edf7a59e3c15755513f9027d573a61e2f577b265e7ecef9d54428e8974a690386794b19a701c652795f5e3eba25423851e2229c432815e00c1336e0cbe465c203f5a5ca6e2b1f84b0a69550941fe9f5c202d56eeae4e4453e403f77e4cd72abab035fe8f377a7aec64eff8ff0a7d34ebcff1eff9907149890ae7064df5da5f12ae80377696091f5b3cb85dc0134072d9634a3efdf017c182cd38efe42bf64d0e852ea0219ffff03ac78cabfdcf0cfe2039d1607d991bb6c18f107c8fda13caed6fed466eebef7af0325e8a5beacaf4338995422401fa3c21ca1f6ae35a8a7b8dd5771243a7a521ed403ddfeb875d3b2ba978d2c8da953b74f24380652cac5f6e7c0f8f73ceb12c46f1d03c3b3d77017bd39f8b4d6cd59d4a88b6e28f3024315209fecf2f5fb8f85bf7d500391b6437b351ad4c8fe51cbe1734cea83973a5c19a25b0211fbcb540cc703f64103566ad01c11d5710c36ebfa1cc2afd7d018cde3d4df2c071fbffd5183f1c2b0b803e17b23b04326f301f657c669ce809886fb990e38509c50fbd9d9479bd3b9e0d40398346ec3346656ea64270d54b5273cf59038fdf7e7f2d950bf36cd04e5b090cc03e130e3f16b8f7c499e659a3c74f86dc23cc87edace3cf5a05eff032383aa8f210349e5f3cc0a2d67c49ab3cc4294d012f320df50b81387dcee92b2744e446e0da4039af9ccd573beb7aa6948861837feb1c24b9e78ac9034163c29ed7f6367a06b43034945b6ca38e3201e2041be2cbd4f7b0c6e28320214608de0d2938dc5b5c7ced703e19c3568a1907d2a2f0b7363711125e2d43998f3500af6439ff4a8dcb698e4c90219ffff03ca3e0b2957c5fe2fe1ed484c7841c7228af8ea813d79d1a00945a369eabd12f20357dadc9d06c70d953748f10d2678f357b9a1aaa039c6b909ed75db4400044b82033d0772f93fce1c00fd323a9643b86042ddabb10a49c18885eb219c15da73c69303202824e6841ac66c89088b073d9a48173a5547b583a9e292b958e682684fd5e603adae975f58f318046a34db7f92b42f98768f32cbd616650ae81dc7394cb8c89703b656f2f4274bde3a6bc82479e8b946ccf1b73882be1f6f5cae6a121e3400ad2e03d21ce77d2726e6455a1ad8d91395fda40e11ecccb94f7605a85f2cda806957e703e0184f28cdae61648661f760fc189282df1fe70b802522232e8301ec3b245da50307badc1c45e734c209a8841885648c5a30ff753be3e72a7a896fe3a6df5630bf0319b2d8be37686f9eac3d9675d29f2c76eabbddbcb0fadbdc033159b4c78f704603e74a9b41e46722973233fe4f10be489412840f38dd6fa113a758dc2719fc4b4f032364b169d92cd639c1332708a58fef09cbbc1dec0585511b51d078b2481c904c036859738165e41137eb29113f353459945eda19c62a04d5663e267c61155bd5dd0332ea82634d088166d07c49d1e3a91726d177e2828d9b52a1cec7833e43ece7b6034e74f53f2e85664f6d521092099f8e24f6eaa0ee0d6c4b1b639eca9fcc551fd6035c7eb168bfa0e002e5fea6b0f05573db20a42f0824919cdd85db1cd4be03786603df41f2b617c26037d2543414c8d89b93c7fd02b229e737fea8315430123fd59a03fa00d686810ee91ff36880ec9945835645366736227ca6040edb826f8e42a0190341d47dbe0cbf39954c117aa2ac5eba90cec06718119f980c649f0fed6312fb8205581e03aa231629e9a0f12b3125f26bc4a43c942e8321640de63b6f5fcb59b7400c0147080ebbe659bfd905581e03f4ab59274165d6f53d389727c64c3d217e57a0bbae9422ccc909b28e6008484cc12bc72628bbed03e37ed4af6163f332f7821b589a4bf34fb0d0752073776df81f8ed2a1fbfde15605581e033758f2d9277f657352bb6f51cae040073ec1737436c1ef0e04762306d00c1447f599246c335dbf05581e03a3e3ccdd0cd2ea26eb1dfe6cc95ecaffedaf79040f981c9049fcd600e00c1a001467f948c08bd69c0881e76705581e03aa499bd06d9339a4530e72cea8612d1f5817cbc384284b507a0d7eb5a00c014566342c75c703d41c78692dc4f6dc4dc53d2413e654b1ff2b365299a78297c68655d67d16cd080395e3f2b2fa8dc0eac3c7317a3a537757530967e06d5b6c6de690e0bb047a776c039ba8896dfa77ef5875225fcb9dc77752661778345af75b62f5d701b7046770c40219bb790326a1cdf9858746d33abc893876a88a3eb8983c25ae896670b2b36f8bd142a7ca034dbe62c1216a5095ad47efd1a37678e43ac3540df397ea44aa4d6bdd5fd36c2703ef8b8adb4e1ef6036c80967938dfedc72c3e6c87d6ba28ca80394bb149f98501036bc6702afab4c48b017d04a7484038fa6ba3452ceadf5c99fcf4f3044dc960520219ffff0321a74cf4c803398f4a8635a723102bce971b8e9dbf2601b360eb7c593212ae8903bda993e9d27e3c774ed086d92d344b0a321f95199877bfc260524ffcccfec9d0036f9a767b7b64072590c4347b00de9f9283c10376f5d588a049ee2b23373d52260377f81581b213d386264f7db3a8afab84b95305be2755add6479363fd4a3c77dc035071847918064ec39a5371821451006f98568d2057eecb9abd79597657ab30cc035e055da1fd6d5bef20c3eee1db570db3c440186a68784e2fe7e4125c41bb316503ef35dd1a434e030b4fad03ae4967c6e6192b2c9020c287fc73b452b0a39d423a03c67b526162528322c548426b453de7865fd01800e97999e9374c358c65e45e2503fb42796290d8f0ce913865ffc3b4cd748ad2856ad704c263b82b454e3f357e9503df3a4c95bd9ec04fdbcf5c313a02bbbaed6133aa3c55d2f238349d3f7e1ebc030219ffff0327a44cd6028b390de3388237dae3ac6d5ece25d2d19b3e01510094096cde0eae03350306fe2b697565de1c40442b9ef54ea0f826e0a2bf192e6a2348e08eb1bc0003e3ebcb000fce0dd75a7906fa2a6076ae50b9d30db29e495cfba8c410375bcfc7030d26652d9f0e292e58002020fe1271cd1aadf924c72e1364876adb25da462c92033ae4cfcddcac8726371953a6d768ce7b9c7fed0bb7b609db7913ea4db877397503454520284b2f739ac2e5446544632038583e29936e248db0b48cd4cbf7d6aa3c0382c232987ea2227aaebdef8cebb0124ecbd4b310956331a2622688c05651aade038797c55af1cdeae3354aa51cebb58b6cd77d78ab6566243d36c025b297d7bafa035146106fbe024ebeecb055b2cefacf1449338257488bf9fdc75d2264416bb7e80379b51836a5a8dc34a0f005d104a60d6796b30ad5d9424cc819bdb876bd383c05032bc6a1e3863a0e50230ba57450f7778ba9f3b1f8a3b4eeb6c274a30e75906236031ba4bddeed6ba6442a963198fd4ad7ec6ce491a2443c0b4e9941abf4ca7f54a403c05c612107a1ecfc2757d4340b98224621384271d89cf6d74a15575531b91fec0316cafd3d864206c4a0117af1bbaae73b14ba2ce832f9d3b92509bdde8acd8bb00219ffff0332afa2161ebf9a4e8f498becece6a0be1b19bed5058eab34ac68695fb759afc5032887c7fd936af9e0dce6c1d976e3f0dbfd561c745d5578541dded8cc6ab5422a037e3cb39d01e77c6088ad23ea987a3e5e6efbd062d6d9db0f118bed9b61098172039725a35f898819c92c6fc72d2f82f4138f3e8dfd6f4b866e932a3cff3f21d6c503eafc47bb47b4519c44321199b80fa14159f1fd0bdc571591be9fc51900c4926a03c3671dad1fddb00b612cd7eb9b0a14f45488a93226f4457a562c3b2207bea5670390270a000c8e0860d281bcb79e1625ba6bb2faedc045e41a64409dd05222dcf603ce0cb32bae51ea20dfef24d4b349a5f6a56138d631452d4d1c9ac0e6c7deaaaa03bba0748a7873533606c4c0eb71f4871ef34031fc67f41f5fce79ba2d6a301d550349bf3932aea31b47691faaf17c5e8c66e482191622d40672d60becb1a1a2da5205581e0338c2c2297f3459d6626a27c49f9173cbc8afabb5a7d27bab709a44bba0040303be4f0c8feffba0492f4f0247349a5a7538ede720baea56a2bfba2c28565bc06b05581e03cb23d8ca486569014ca7dece94b72d35c659272e2dcb0fd0375ce422f0040205581e03e7c935df4ce61a636b45c466ab93047601c55273a6e0d97e80cfe2ac00040105581d021dad97e22b8db540ce8c3fdd5cf341aaf3831b65693df2461c0847890c1a00951dcc4a035bf84b4172fb7c37e705581d02e5a8d042cbeb5e1868ea8d4a6b81e812f48559e43320a02039911a510c01464438a067940005581d02f330a7f3d877bbd2320e7f50e059367363a2e59242c67e1eddf5df9904060219015005581e03303b49698eb318a1bd8ed59bc0e5961a1cfef2bc4408364bb8b896c6300c034754e74042fb9014031eb514e0b20e4e889e3983feb66dfec009ead9ecedf04d33fb8ce573cba727f7032c2eb1b0dc731b6dbd1ffe97a8916554f1aa3078f34685c2287b23dd1f572b5b05581e03470f4961e24bc20167b1abafeace6a3529935d7a34bfbed3260566ba500c0447054d7bfede1042036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e0343c742e4d10bcc241630a2c813d20d8c1a2ab3e372c21b788103de091007011bffffffffffffffff036107776948a40dd0c7557d1a66472923d1a64903e60b55e4216193396641dc4a0219e5eb039c766c5a350853915a575f2b04e1216f0057c8750695601aaf34ca2788994980037a230e554fd1132c9775a97600c35892a646666130b10cda241cca2bee4e94f3034bda78e1346b914d3d6fbcba8e0c36711b7986422604c4042e0c69bbe2c1e8e7038d21cc11c46b5259dcb7dc24811f06696c2fcf36876a0a581718a7e560d79887037f684e31ee0c122780522dd487094cbcab211e0caf305bcfb334e7a7b763ba8203e5d75893936c939c2f301a6e5af02399b3389f897447144e33199d1e0a95817603cbb3a88afda7fa1db2d06bca52f690fc01a546b15991b6067307a5195150f540038db57978484554f47146dc8ac53fc024480994964fe6f6c05d94bed5e8c05a1a03c3eafdb02a097f7329affdb9f64a11af3791e4963122240c04f491f4ac94785603ed9e1d894397172f4c11e49fc29211d54a467fccb12d53a7ef4898d705b965bc03047256970ab100100a28923662ee73e32453571f8662e56cd63fd12abfd7745c0381330359c54b0f7a6a9b25519abb237a189ed1a2dbccfa79348bba3f8d16da8f0398820d46ec5f93dcf1391806c9cbc3905a2981b3508b169733542b2c1e8f7e96038d956e133901893cf54f935a865ad898fbf75d06563356c4812c9c49117e8d310219ffff03bfc2b79b1c5a20a25c2d90196d30c7d78e278c6424521bb035a3f9298ff9399d03f0908de15b52a4300419348d19af1fe004b1dc8272fcb9a2dc70465a115691e203e799d42fef1f229dffbf1539a4c5aed03b019e49bc586a1a85378d00661fe3140368e0848418e53e5f9401ecd2a073c5b526a4c9021048c5eec3153e537ef1bc09035e577b2f5b362f4de33b9f0258882275ecb86d18660f100b19dc604a8d78ec8403b1284ff1140ee1b8534c1045274dd1ba1082ec8c551e625e06ddf1e760c17522033ad9f4d01ba78265d723b3ed412da469f07dabb0592914e4bc6c6ba62391ac250382295353f2655425a498f3199222e0293cc335befde5f371e7743e60fe3a831b03e746be474bb53a34dd0594ae2d441c63e17b3bb9e2a272b0fb4b99f0de9ee2bd030d4f48ea318caf4ebb35db8f61e6f727f5bfe34e0c762a2a535983167a50796b0331702b084386f1930acdfd2957ebd7a9858c1f7ef20b8d9774e85e3d25bc97f5034fffb2ddf7b2b65b70c014b30b03272273a079e36bceccade29a73d56ca2eb6303081ec73d5f50553fc918604cf33e77774c49b9c731936f8b8c0ac39dd08da86a0219ffff039fc8fc84bc7c466f71131074b635813b9323a662ee1af2ca7cd883e1055edf7d0399362b8626060b9a7124393a4cf42648bd2961756c683d6dcb1299cb5c998abb03224da4d4719263c3f7fa396e8679ccf4e81d9157aec6a76dff1e46df65bacc44037de4407fa4900c28ca8f90c343b6581a6bab984ff7f867a229010e2a5a97950503cf552abee40a227f5056646e4d010427540971434404dd80a1cfce78524d38b7032c8269d28fe930f139cec60b9f0629c100d7daf6b8a52aa3539d12878f82a4f2035aad034735be8e3a5b21b1d53e373bb4222146c990a11374cc448048f7e34c8203e18320fbd41d1f5290c058ef25cbaa26d3792d849c02aa9e03539ccc3a82f3d30219ffff03b48f2f050687942ec60fe31c3aae584cdf1a2d20e47a713b5681d5e881cec05f033b307285a7a1c3cf62322c8f3d20f82d697c5da7d26d47e96ce498be17e0c1d603653b2f7b07431c47883cef39ec1dfe89dab11dc89a24fc84e05cecee3f06c79a032abde258662f14e1533252eaaf14a306c9e16959d6f968f3090fb969da12291803c5b1389578d7ef0a715aef0334809032840855afb02a4b27167c1d5eb9dd8cb7031cd17efaa70696ac16403962d441a6f9b60b286badbaab210edccbcbb60772e203309756ca29d7eb235c2e23e7b2f08be8171a7384a75fa208efa2791b53e24bf703c566b178ffd3253bbeb9145e5d808a395e493524adbe0aab067ef308c5f3b92e037db4893696957dfcd6e01c20a5245c97efa842b3c94b4986d1c8214481e17b0903b9d799bf7b1c5ee84f534e6ecbaaa2267472707dae49390f364ae0e009066618032784caf4b4ccc7fbc47353bd88f4846518bafd57586335cfa5d44737c0c9cbb703d2b57a67ca63b74ca341ad37f5533b91c84299eea960dc065fcdaf05930223cb05581e031877d455fd2dee1f93b31cc319b15e50581c55e6d820a804af704cad500c0147109c39680b2400039c5e5ea3076c034a1f66a9ac4ec853f8bb77d23804f5eb49ac822469f427dcf1039bbd0f763d0fd168f668c0eb0c6932a8adbf17be7b760ceff0577abd6d74292e038d07758bc4ac4613acc12018bc4e35adb2d039efad45366cd97c0033e6c0659105581e034ac7c3c683f14147cd181cf3240159e992b1ec4fca3be5893a0b208c00040403c98e292ae0c34ec6457e0f13113a80a88fa25b2de3c843157c1b486fadf609ae05581e0307248abdc63383ecde1df8976b56700bc73c9cfd3b13deef385c13c6100c0446863fcf5f58d005581e0313ddfc284897ee447a151f283ea3aa68b9f831fe17a0f1f8da76f513000c184e471e58a174c2281803fc62f53051dd2532740d39247134953b02b88cfbbd2df527c3442e900b9b433805581e030a438d6669c4e72cf4801d450200ff198c906525cf1660bd0da7f212300c18244789ed94bec83370034c3516558e3404fe3a71bcbc9d055ea7847ec3ded7807edaa1df4c3e4c2d8aa90219ebdc0342b4a329717f5ca93c27e7f91f2c2c09e0fdb5a1d0dcd33374f12f552a68ad2003f619068f2e7a0e72cb27d35f5f9fa46fe5628ce97d7fec4221f589b928ce87370340ba9101c8b2ad3e9d055697862ded3431d2aa2816d39092de614fe08ffab3e9036f304e5ec871d24fbd2c6cc02706d2054c0c4ca6afe8fe205a756d656aacc8180307e7900b4881b05970cc27aaee2060fa4ba687dd6981064791d3b4b1c4f45a3c03b674f449d6c3fdc39c4a265b03e0624899f3c743fe6267a6b64a6663a3ff208203544d0b61c18b7e8153cf13e463998ee40a3277e75af9183e8379e35d151531d90315d103ed64c21d135d5cc63c0ce62ee4f350e1a5ccc78a771873ccad90da7a46039362ff431dabd33bb8cc9f17a86ed8d5d30598a2aa3f16cb32f71cd4e5183adc0219ffff0337dfc768d448fe02da6ac66bddbfc53c53e336be55c84ab9c42c57235b1a3eae0304ceb4918f09387ae88ec92cc93e0ad6118a9d642d6c583b5800987dde060e0f03dfd772eea2034eafa4dc2f4204bea5f95cc95ee6079452010899bff9da84fcf103d1f0fa8403d795df019f5a9c3e89aa236e8baa3c1eaec89e99b67e76d2fce8840319333521894a961cdff937e4b247fad3d550739bea9c62b0abc93bfae65f911e035f6449e8ceb1546f4a26074bae6c784038b88996a5c094c6b478789008855bc203f4375ae3e720e45acbb4d00a0c05b0766da993818256495a071382c4013b4c6a033f43a761fea667388a6adc42ffea22f673cf7fc623838d73df8941728ed4d26303ee08d143201010daa07d8eebd9ebc70155245c6c0b7b80f685e6a1a6baedad5a03de411e66c62c543bf6e97bce2db66a36c0dbbd354dc4747e8874e3c0d3fb210103a81734575bf41b6f13d89ecbb724c5b571f60cbc65fcf8dc467fded4c31ae343038f49f56623c96ca7fd940024ad6d762e698550a2c3105341fd961d0736df68690390b3a9f3fd8813b9a692a2d99eddd9d0152e5210c2c49cab3a43effd396edfaf0352a94e7e23322970e7bdd677266e6ccff39bc346247c1b64989a21d4db9ac604031b07fe5be5c502bfac4c26d982b064f2f00a3d53f4e47a0db4e031eebe9c97ab0219ffff03b413b38bfcf2abf985760671c91e2f621ae36a5acd74e2832ac80cb8752c671a03661350694d8c7bead26c9d127b243e4c9c67bb2e3173c742187c3a7363f009720340942fc649c2f8f40b5bbd99b4815c9de3cb65d52a3a69b60d1211f177efb63d03d23021dfa824e606bb139fb07963c120aa65f5ceccef07be8927a3684f2d2664037de622a2eff733eb2499623fe3945d838d2e4e0918ce51fb719fbc6bf4bd11d0030bf66fd736cce249ae73b5b171e21e29e99013cb12a099c1316f405ec881f1310301287178426789c5a8704246f1895f1a1923cd36c8b8fd565d12cfd17efafc10034321b42eb6ac794f46adecc5006732838389602a1a4c74bc9f33ca4905800c95039d6c0d4626a03f0a8688aee2342c368623c215b0757aa8bba450bf4fe1646ac603b1723827dbfe8217f076def2b1115484d2380e56b1754ea0f6d46eb4fd2e44090219ffff0307278e06414f80a66a87a41deab8171b3e0762f4c3f02b79d8d7e32b510485d80321e76101f4838dde863da66c3675314eb8fb1202f8721b22823b7425d0530b3d03312e27610524417d5cbd7dcd1f852a7acc0d45a2b61908a09770fb3ae6296fee035f400ce58f72fbea5d81210003a619b88fe209477c86b436b59ef24ba5a7b2ac033bb243d90d62e1f0fe4e4957d5d7af8c49996b1eb39efd25991b8cc4e77bd0d00386a3093e10ec2bc9a39087a8eb777bb243e8598b29aac0c6eb4d79e6c7c846f703dbb3233263b892c8bbace764da4dc93d4f0bed6f1966dee308ecee9600bba8b30384441534e820eb4811d376bebde34cc87fb4a7523844ca8a23a61c354664ced404582d363d3d373d3d3d363d7385a1f113eea53a68189157914f320c0cc50937735af43d82803e903d91602b57fd5bf30058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db005820555344540000000000000000000000000000000000000000000000000000000800582103fc7853b4430c8fe9e90b3c084f6625fe5efa497a3fcec6eed05f3b2a2f5b14404502c307c1800058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041010353bdcd4c18356f06d28f0b9e2f4290814f0308c6c9302a79cc02411b15452eea0058210343a6e72245393305bfe2a4c30c5999fc7af81ba40537df841b5fd07f138d4560462cd9b5fcf7e0035a1c774b41bc8d8c46d2bf4776f800cd0da95bd546153649c3f4aa5ad841534000582103b6b018db6bc7045c7739e261bf388e7787da02aa0e20e47648e4ee5d96b8a06047461215e0ceac400058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68805648a9ff7ac88eac0d4956b3e98fe3c90f297b64c900060339a1eb7eff5cc3700269d6e9c26c82f77d3b8acf993620e8c17f3bb3398cd706005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b047463f8f690bcc40005820026026c9c4d58cd9a2334390a0d93426741d086bd8177e9e83c54bab4ea98f554510b5a5d1e003d009567949264435d44be9019b4a1f3f110b6cac274a703191000872d4e7d73402184202199f1f05581e0368e877326615ba372306625340995ca290a0ebd610ddc69ee43aa70ef00701182d05581e03ccc8bc619d51e68e8db7b5a0ebae6789e4d9e53b8864435a0f98f795000c014703f141bcdd758d0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080384d131ec9efa7c4d48a58b816eaebba49827348a319ab3c1ef4bf40a163d921105581e036a927bf35265b003d42d9e7cefe80f35fa09870b6272474acff3ff779007011bffffffffffffffff03b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b0000337712b8c82339f32264af9fff2d5804b11b492a655402b0992f8fcc911e5f92705581e0313d670d28a155be307f265b7827ae8ed48b747817c668819cf2dac118007011bffffffffffffffff05581e034bf1850671a65cc112be0584a60721c504e9ec0b1d2483edc4bcf792700c024702432a0ad68e3003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03e4ab3308c50cb379468abef1d8b9dce7ef2823ef766a861873dbc13b2007011bffffffffffffffff03f53da06cfe4fbc9e6ed2b210c79f0bbe705f74a1e24bd235e42d1d3bc58062d40219d6ac038a540943871c6c14f96afc32cac2a4a93ecda8eaac0ebb4b8c9ffae50ec6002f039fd74cae126c50b37a8fe600c361ba710d488125acf0ae0e5892566a874136e60358f914817860841b66bd6abfd58ec9d8fb6df967ca9c5ef3f4f7204d4bb8be3a036c95986a0fd74503e5b1a60725254a9cf5caf23522bca7784af7a4aa47b88e5403e2316bb55d3160bbdb2ffb856f26c16f9c61da1eb1d89f37491ba9c9c11c169d03706c6f4ef86738f86e84a9040be9f1ba6bce973782d2ab8a56bb5179d32ee1ee03a74a01b459353b707e950e16840c32891d3983c9d3047a5d32c933634539f6bc0338bd546cf23c9d71f4ea2c487fafe40fe0c9d655576de8ab7339dc12f4d6b5dc03870d2052ac2b64065f79ace7751bcf59db58329651750912d43443708ebd7a270321ac671885bf68e3d6975e55fb398bf6c2276ec44751a628d8f9162e52836f8c0357e9d811129929e24e624dd1bc51a0a108cebdbda5e9028b313c5fc628b51fa603b0b22b00b3c7156045994bcc4c80783f770b04d9ba9f3c72bc89f61d662230ca031dbd5cf6ac761b9d8571d439bb6596acaa178d53d9e3eaa59a61083503501c4103e6b05e31c2cf9eeaf1ebf580f196870aae7a3be82d325359013db14306bb5bb60219ffff035c25f85a2cde7ce0f24c12abacc50c9a92dd5569a68658e80d605be6e63704ca03464e039f0263811161798292dd67bcc55f4bab6b4249a9edfceaacb972e67cbf033a0dfd763db5885cbdfb07c9e11f3d86f93a3140f4f58a16639cadcaa474ff7b03b78731fc8e5b35c370c09591a6a4b70018fb70a9f53b2cb2116f1567b6511c5203f5bd9b58c4fb4e47371aed3fde880dae0e9ddbc317b6b7cf777f2173c7b0dce803cce11f2b428b37fca96895a0879bb38e5b56cd63b0aa495a9a40fc98f47b01c503c4aebaa8aebc9a77cf403a84ad71e1f8862e07b8015394e4062767c055c53e540338c0eb054da1312275d6195135f25f8d724b2ca7241577b72980a4e766b64266039221443bd9d5c1257e4226e4de5d3837c16e695d2567bf630f76bbe6e0e40513036843bb6c6c412ba24880058f0d0effae708e4db5df013951fc4d8218a236c9b0038fe6510d5ffce75691394857004dfe821657932515f4ed5324eb2e976344f3110219ffff03f70c21c7b3c58a7f8f93745807c880cb1f4eef844f9be95743b5384f7ae622460325100b68d331172ab8fd1137244bad804ac3371e216168c86e237e7571bd63aa03af62f6c3671b0817cf9259945fe72e4619e61dad3b745743aae6dfe69060d2c603ded6ebcdc6f1b74fa52096bc5b6445082e437c63d6d5517d6fda2b6768f5b95e03b34b6a559f9d5c3efae3246e8a6d58c13758c3c326751d9185373fca3556854e0376f91e46204cb245c6d5de6dcd9a6d26b1214e1119739d11397fe8eb6329df0e03331efd06d2f65bc715ae80386d3a3a5f3b966fde687f578e9bd82ab0eed95f5203bd52a55024b56247c11b91d8da10288e1ff83a3f101b613b8c4c92f91bccaf8803dc193982b0143f4551b5075b15478ed39cce4f57b1edf03cc5a6219482b4ff0503a7f559a1deef53b2c1dd9a55ed1b8b1476766178a8d6a648fd4b1117185b97b603380f467ea63ed0e65f46d2778c41ec49f8a513800b06326d6043a50ffdcf8464031dbd320142c3afa971ec0f53ab2f6beb61f50993077c9dbab8798f545416399203c2e284b9ec9fd9e6a1476550da8ecee4ee20204baddd0e92966cc0288b660f6703176fcbfbb5d3b3281cf5042ac34b397dd6a10dc4618af1c13fae2421ccf6407e0219ffff03880ba1b2bb0dbaeb4b72b2dcb821984272e58eebe3d37b453240f882d650a82603d8ea82f76b2aae844bd595b0e06e9dea8a3c5baf5c443ce541a66d8ecded474303282ae85ff5d921b6d27b74a37c8cbc60146151d97d21fe8801777022b0bc05600322834bdc6cca4986be539645dc3042ca9b0daee1b81596c836505c1b8271e85e03f77a88500d0ca9e0452c80843ffa3ff54cdc5ab3f2c77d17f4eff4bf1a87be9203b495c29ee03297e94630e0f41deddec4ec2cefdaa2c793f2bcdb24bde106b4ee035a3dbbfd791c3188f9523fbcf02ff588f9026568c6b11f6052b2472c0137f73e0386be12d5b1ef144f235641d54fc694ee9845649742d861ba8f8cf2a5150fa36f03db2bf3ca8972a9655692b70cac9a87ee39f11aace599a1e26c25a5f0432218170331996e633205cd0f7484d416f2c11930401aaf42a51959a0cd7c04ae96682b3503a9be48d6c5d35050ff269906dd7ee077eedce6732843f5038cb2ac763ccba53f035709f075d1c5ef05202d13317eb07318704b06b33be15f27d36286c784f5e29b030844315da35f16ed0b363f891ff2fce70bdce002c4a749a01a87f06280e33f0c03fd7ff80ef6a87f64087d3d422536a2b31b2b7db597ebc3a133ad1ac1544f07fb03c21ae2cbe338e072403ac66c00062c428a5127fca5d1a8e5c8416d8ff7f5cca2036f12bbeff45b7119c061f23bec976d04a4cab5072b44f1fcee37d9b10a3c2451038582432256e949f36a58adcbd7b0f23749ae22901dc563239d135c69b9e096b1037b9cd512896f98c1040d7ff5c554c0b7a51138b05464676cbe125935f590e6bb03bbc42a5d3ec8ab05c2cdae7cfc32e8ee38b693ad2c9a8d24fc1fc89db6fff09003826b59c72cc7fcde09ad7b2f078e581b5c75e5be01ddfab87fbc75ca09ff691f03c989cb68cc7b5c1f1cdb45acc4ecc9e73e33529dfdfce6fb60a00621a381680003d2be17b20531b646ea1ff6770e16d825fac4b7ce53baaf643325c1542f3f726b037d3fd393f3f3505625bad9284983ec2130b09c24b54d9087e28fd69e41af428003023fdb24e514010b2deeffc985eaaa88bdd279ee0e3503e405984f677bd08be8032cefeceb2349b1d3c3093e67938b7b94b4ced0f8e6f30ab2dc46668d4cacb60f039ed93cb665f46dc1168da0d0cad67ad211d5282b36cdfeaf381fda62e645e13503dca930e8f738d8c2bc18ba26ce8eded9347bcdcdd6077843da0795eaeba17c6c03c779cb7b4d38e7da4ba01d7e9f8858b67a02366488a784be1e79e1386e46f6480311e9357969cef5a6b013316ff4d1f52a1f53f2c8bb84e205a663540a7f0529fd03cbf64a4c72d2a315c25da4842b904421fbd32f415f895bbabadef0b0dc19a83f03d55ec74ddfebf42b7b0c9381e3c5465e442f8f83cec328cd496194837499587003b14589db9c320ead542fd41a7cf4b57e552ede7fe0f29ce98e715a2cd728655f03d5075df4d618583079454bb2d2c930f7f84bb1b4ff80b912a56af9a85b29c1cb03505294cbda336eb566d84ec6810b0f7f83fa60fbc806e366bcecdc8d4b59dd27034b3f2a152f2ec059d26472051f3259176a1be6e12d3c100bd9b942849becb3e9033e716c373ec200a3fae8b9e4c8587cceb27c54befa8f687ce14e11a1529dcffe05581e030ebb500994f027ea4d6940b9fcfe84b0e4d7e9e6fa3890e32b692f50c007011bffffffffffffffff0331ead98fde8c20a6fcf7f7cea6e28a8e2edb64703478bd6f33659fed54cf3813035598bbd6c3e72a027bdf68fe631a46ec367d4e695f16cd625bb09db7ce9cce6c05581e033c3d8c6191d82e7be43e5ed58ac18ce36c99785872d48ea801b490d410040305581e037cd7a89ed8f81fac6da36fe8a35e2bc0a6dda237f5a2dd8e5b726e05c0040105581e0345a9e25f77e4961a5671338fcac037d89a160fd496e54065bdeca8ab300c0245f7fb5fa95804594cb66080604052600436101561004c575b361561001957600080fd5b32331461002257005b60046040517f1b10b0f9000000000000000000000000000000000000000000000000000000008152fd5b60003560e01c806307e5c0d21461384257806309bfd3751461365457806310c3405f146135de5780631c6eced51461358e57806320b045541461064157806323a69e751461064157806326367361146134655780632636f7f81461340757806326678dcd1461335d5780632c8958f6146106415780633dd5cfd1146131695780633e88c8ab146130d6578063454c96c214612f855780634b02d2f614612f1f5780634b64e49214612ebf5780634eb0364814612cbb5780635109d8b6146128cb57806354fd4d5014612891578063654b6487146106415780636ae40711146126b15780636b4be0b9146126585780636c4eca27146126085780636f5ec5ce146125ba57806383197ef01461252157806385db1a591461232b578063860a32ec14611d3257806398aed10514611bc8578063a1dab4eb14610641578063a87a1ae8146117db578063bd46a34314611422578063bdb69421146112e9578063c028b46d14611130578063c9e75c4814610f5c578063cd211e1e14610efe578063d6bdbf7814610e06578063d9c4535714610dd3578063e2e1d3c614610bdf578063e413f48d14610b69578063ee63c1e5146109b6578063ef0bf1d4146107a1578063ef35c31f1461075e578063f2fa6b661461070b578063f3e98cb3146106b1578063f65ca39c14610646578063fa461e3314610641578063fa483e7214610641578063fbb7cd06146104845763fd53121f0361000e573461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008060003680602414610471578060381461045e5780602c1461044a57604014610433575b64e8d4a51000808302918061041b575b5050906102d281613be3565b15610341575b604051927f9599127600000000000000000000000000000000000000000000000000000000845260048401526024830152600080604484827389b78cfa322f6c5de0abceecab66aee45393cc5a5af11561033757602090604051908152f35b503d6000823e3d90fd5b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152730a59649758aa4d66e25f08dd01271e891fe5219960048201526000602482015260206000604473a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489382855af190816103f8575b501580156103e8575b156102d8575b60046040517f19be9a90000000000000000000000000000000000000000000000000000000008152fd5b506103f281613be3565b156103b8565b90503d156104135750600160005114601f3d11165b386103af565b3b151561040d565b90670de0b6b3a76400009184020204900338806102c6565b50505060043560601c60203560183560c01c6102b6565b505050503060043560c01c600c35906102b6565b5060043560601c925060183591506102b6565b5030925060043591506102b6565b600080fd5b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760253560601c602060006101c4307f000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00180359060043560f81c60408116610610575b6080166105e2575b50861580156105d2575b6040519788947f52bbbe2900000000000000000000000000000000000000000000000000000000865260e0600487015230602487015287604487015260648601528660848601528660a48601524260c486015260053560e48601528661010486015261012485015260393560601c6101448501528161016485015260c0610184850152856101a485015202905af1156105c9576020600051604051908152f35b3d6000823e3d90fd5b6105dd82848a6138f7565b610529565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec013560601c92508761051f565b367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc01803560601c94509150610517565b613877565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57602061067f6145f3565b6106876141bc565b91909115610699575b50604051908152f35b6106ab91506106a66145f3565b6141af565b82610690565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f576106e86141bc565b156106f9575b602090604051908152f35b5060206107046145f3565b90506106ee565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57602061075660483560383560801c60183560043560601c613fe4565b604051908152f35b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f576107956141bc565b505060206107566145f3565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57600080600036806024146109a857806038146109955780602c146109815760401461096a575b662386f26fc100008083029180610952575b50509061081481613b73565b15610879575b604051927f95991276000000000000000000000000000000000000000000000000000000008452600484015260248301526000806044848273204659b2fd2ad5723975c362ce2230fba11d39005af11561033757602090604051908152f35b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081527379a0fa989fb7adf1f8e80c93ee605ebb94f7c6a560048201526000602482015260206000604473056fd409e1d7a124bd7017459dfea2f387b6d5cd9382855af1908161092f575b5015801561091f575b1561081a5760046040517f19be9a90000000000000000000000000000000000000000000000000000000008152fd5b5061092981613b73565b156108f0565b90503d1561094a5750600160005114601f3d11165b846108e7565b3b1515610944565b90670de0b6b3a7640000918402020490038380610808565b50505060043560601c60203560183560c01c6107f6565b505050503060043560c01c600c35906107f6565b5060043560601c925060183591506107f6565b5030925060043591506107f6565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760043560001a6001811660193560601c602d600060808516610b5c575b8015610b55575b6040851615610b29576014823560601c9201935b604051946020871691601088169383600014610ad3577f24b31a0c0000000000000000000000000000000000000000000000000000000088525b6004880152602483880101523590604403850152600014610ab05750608060648301526020608483015260a48201526040600060c45b838260053560601c5af1156105c9576020808360051b1651600003604051908152f35b606483015260a06084830152602060a483015260c48201526040600060e4610a8d565b8415610b01577f1f18b371000000000000000000000000000000000000000000000000000000008852610a57565b7f128acb08000000000000000000000000000000000000000000000000000000008852610a57565b8373fffd8963efd1fc6a506488495d951d5263988d259492949215610a1d576401000276a49250610a1d565b5030610a09565b503560601c604190610a02565b3461047f5760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57610ba06138d4565b5073ffffffffffffffffffffffffffffffffffffffff6024358181160361047f5760443590811680910361047f57610bdd90606435903390613ce7565b005b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760043560601c60183560601c602c3560601c91604135927fa6ec335f0000000000000000000000000000000000000000000000000000000060005260206000600481855afa15610dc757600092836102a4928194825191610c868973ffffffffffffffffffffffffffffffffffffffff8516876138f7565b848452836020526034600c20908085526034600c20926040519a8b977fd44f70b4000000000000000000000000000000000000000000000000000000008952604060048a015261024060248a0152600360448a015260648901528660848901528660a489015260403560f81c600a0a0260c48801528560e48801527f07000000000000000000000000000000000000000000000000000000000000001761010487015281610124870152826101448701527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9081610164880152856101848801527f0100000000000000000000000000000000000000000000000000000000000000176101a4870152846101c4870152846101e48701526102048601528361022486015260026102448601526102648501526102848401525af1156105c957005b6040513d6000823e3d90fd5b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57610bdd36614695565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760183560601c8015610ef7575b7f70a0823100000000000000000000000000000000000000000000000000000000600052806004526020600060248160043560601c5afa15601f3d111517610ecd5760209060005180913014610e9b5750604051908152f35b610ea6575b80610690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610ea0565b7f0d6593b90000000000000000000000000000000000000000000000000000000060005260046000fd5b5030610e42565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f576020610756604835605e3590604a3560601c908060011a9060001a60383560801c60183560043560601c614041565b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008060043560b01c600e3560101c367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0013582805b6110e857506000825b611004578584610fda57602090604051908152f35b60046040517fa6d73b28000000000000000000000000000000000000000000000000000000008152fd5b9162ffffff81169460ff90878287169283146110d5575081156110b4578061103161104292848702613fda565b928391039580890390602c0161485e565b5080158015906110ac575b611066575b50505b60181c93849360081c939294610fc5565b87919293970180911161107d579503908680611052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b50600061104d565b9390508415610fda5782816110ce92880390602c0161485e565b5050611055565b90946110ce925080880390602c0161485e565b9293919260ff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018101611126575b5060081c8094939294610fbc565b9092019186611118565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008060043560001a600181169160053560601c90601992600281166112dd575b6004166112ce575b80156112c7575b604051927fd66940270000000000000000000000000000000000000000000000000000000060005260a08460046000865afa156112bd578360008094819460a4946080850151908a6001146112ac576040860151916060870151915b670de0b6b3a764000091820390350204809201910204987f022c0d9f00000000000000000000000000000000000000000000000000000000855260011461129b578260048501528860248501525b6044840152608060648401528160848401525af1156105c9575081811061126557602090604051908152f35b604491604051917f064a4ec600000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b886004850152826024850152611239565b6060860151916040870151916111eb565b833d6000823e3d90fd5b503061118f565b5060148201913560601c611188565b92359450603992611180565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f573033036113f857602060008160006040517f10c3405f0000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd43601602c60048301377fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd836019082305af1806113ee575b156113b157604051908152f35b6113e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036013560183560601c60043560601c6140fd565b610756565b60005191506113a4565b60046040517ff8d8ab0e000000000000000000000000000000000000000000000000000000008152fd5b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57306004357f000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00180359060f884901c90604082166117ab575b6080821661177d575b50604051946101e08560f31c16600501356116c4575b90859392917f945bcec9000000000000000000000000000000000000000000000000000000008552600060048601526101209081602487015261014090600f841660e002820160448801523060648801526000608488015260a4870152600060c48701526002600f84160160051b600f841660e002010160e4860152426101048601526001600f83160160051b850101600f82166101248601526000905b600f8316821061166957505091839183600f6101e097951660e002840190610144916001600f83160183820152610164906001600f84160160051b90828b8a60f31c166005019101377f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6002600f84160160051b600f841660e002018701916001600f85160185840152820152888760f31c1690610184369101376002600f82160160051b90600f60028183160160051b911660e00201010195869460f31c16600501351502905af1156105c9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06020913d010151600003604051908152f35b60f387901c6101e01660c080840291909101600584811b8b810161014401929092520135600483015260248201839052600183016044830181905292158502606483015260a06084830152600060a483015288965001611568565b6116db8684866101e08960f31c1660050135613c9b565b6114ca577f095ea7b30000000000000000000000000000000000000000000000000000000086528360048701526000602487015260206000604488826101e08a60f31c16600501355af1600160005114601f3d11163d15171615611755576117508684866101e08960f31c1660050135613c9b565b6114ca575b6004867f3e3f8f73000000000000000000000000000000000000000000000000000000008152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec013560601c9450856114b4565b50367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc01803560601c93506114ab565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57604051610160810181811067ffffffffffffffff821117611b99576040526000815260006020820152600060408201526000606082015260006080820152600060a0820152600060c0820152600060e08201526000610100820152600061012082015260006101408201527f796da7afec2fd46deab5d20e7c9b8e8917be952ec0ffa178ab44a7a3b2094fd36000527f245c96850000000000000000000000000000000000000000000000000000000060205260208160046000813560601c5afa506020808201600480803560601c5afa5060206040820160046008813560601c5afa506020606082016004600c813560601c5afa50602060c0820160046010813560601c5afa50602060e0820160046014813560601c5afa506020610100820160046018813560601c5afa50602061012082016004601c813560601c5afa5060206101408201600482813560601c5afa5061196581613dc2565b60a0830152608082015260c08101516003811015611b6a57611a7a57806101006119946119b293602c35613efe565b915b60e0810151670de0b6b3a7640000928392015101019102613fda565b6119c9602c3560043560601c60183560601c6138f7565b6040517fe67ce7060000000000000000000000000000000000000000000000000000000081528160048201527f800000000000000000000000000000000000000000000000000000000000000060248201526060604482015260006064820152602081608481600060043560601c5af18015610dc757611a4f575b602082604051908152f35b602090813d8311611a73575b611a658183613d81565b8101031261047f5781611a44565b503d611a5b565b60c0810151906003821015611b6a576119b291600103611ad457610100611ac8611aa48351613f91565b60808401516040850151670de0b6b3a7640000602087015193602c35020491614746565b60408301510391611996565b61010060408201516080830151900360a08301516060840151900383602c359180831115600014611b595750611b409250606001510180611b158551613f91565b60a0860151606087015190602088015190611b4683670de0b6b3a76400008099819885839602613fda565b0261472b565b8202049084030193030204020491611996565b611b639203613efe565b0191611996565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008060043560b01c600e3560101c367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0013582805b611cea57506000825b611c46578584610fda57602090604051908152f35b9162ffffff81169460ff9087828716928314611cd757508115611cb65780611031611c7392848702613fda565b508015801590611cae575b611c97575b50505b60181c93849360081c939294611c31565b87919293970180911161107d579503908680611c83565b506001611c7e565b9390508415610fda578281611cd092880390602c0161485e565b5050611c86565b9094611cd0925080880390602c0161485e565b9293919260ff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018101611d28575b5060081c8094939294611c28565b9092019186611d1a565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb9360160243560e81c1161230157600435367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0013510156122f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601355b604051600091828260243560e81c6027823760243560e81c810193849382519160028360f01c9401966180008516158317611ef6575b50505050505050506020906004357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601351180611ec6575b611e5c57604051908152f35b611ebf6004357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0360135037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb960243560e81c36030160243560e81c60270161485e565b5050610756565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb9360160243560e81c10611e50565b309161400086166122e6575b5060009061200086166122d4575b886118008716612159575b50600097610200871661214a575b60038660f71c1690818060001461214257600114612133575089519901988160208260188960f41c16610100031c8c01011161210b57849060188760f41c16610100031c8a01525b8360408716612101575b508089116120d9574782116120b15791888092816101009503925af1801561209f57600114612021575b505061020016611fba575b8080808080611e17565b15611ff9578210611fcc578080611fb0565b6024917f9a4464750000000000000000000000000000000000000000000000000000000082526004820152fd5b6004827f2dd205a1000000000000000000000000000000000000000000000000000000008152fd5b919550903d60018716150215612094575060e0915060ec1c163d602082011161206c578201519260019060108116612060575b610200905b9086611fa5565b60009490940393612054565b6004837f0310a487000000000000000000000000000000000000000000000000000000008152fd5b610200915094612059565b505050602081166112bd578580611fa5565b6004897ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b6004897f31560a0e000000000000000000000000000000000000000000000000000000008152fd5b9091019083611f7b565b60048a7fc7009900000000000000000000000000000000000000000000000000000000008152fd5b90506020915084815201611f71565b505050611f71565b98975060208851980198611f29565b986014815160601c910199849061040089166122c2575b508961100089161561224b577f095ea7b300000000000000000000000000000000000000000000000000000000905260048a015260248901908582526020600060448c82855af1600160005114601f3d11163d151716156121d5575b50505b8a611f1b565b600082526020600060448c82855af1600160005114601f3d11163d151716156122215760448a6000809389602096525af1600160005114601f3d11163d15171615612221578a806121cc565b7f3e3f8f730000000000000000000000000000000000000000000000000000000060005260046000fd5b80600060209481947fa9059cbb000000000000000000000000000000000000000000000000000000006044955260048401528960248401525af1600160005114601f3d11163d1517166121cf577f90b8ec180000000000000000000000000000000000000000000000000000000060005260046000fd5b9a602891505160601c9a01998c612170565b9790506010815160801c910197611f10565b9150966016905160601c91019689611f02565b600435611de1565b60046040517fdedc8335000000000000000000000000000000000000000000000000000000008152fd5b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008080366024811461251457806038146125025780602c146124ef576040146124d8575b662386f26fc10000810491806124b8575b5061239a81613a93565b15612401575b50604051917f8d7ef9bb00000000000000000000000000000000000000000000000000000000835260048301528060248301526000806044848273204659b2fd2ad5723975c362ce2230fba11d39005af11561033757602090604051908152f35b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273204659b2fd2ad5723975c362ce2230fba11d3900600482015260006024820152602060006044736b175474e89094c44da98b954eedeac495271d0f9382855af19081612495575b5015908115612484575b506103be57826123a0565b61248e9150613a93565b1583612479565b90503d156124b05750600160005114601f3d11165b8461246f565b3b15156124aa565b916124d19192670de0b6b3a76400009081019102613fda565b9083612390565b50505060043560601c60183560c01c60203561237f565b505050503060043560c01c600c3561237f565b505060043560601c915060183561237f565b503092505060043561237f565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009f8102b1bb05785bad2874f2c7b1aaea4c6d976a1633036125905730ff5b60046040517f47bc7cc8000000000000000000000000000000000000000000000000000000008152fd5b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760206107566125f66145f3565b6125fe6141bc565b50506106a66145f3565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f573033036113f8576020602c356107568160183560601c60043560601c613ce7565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760043560601c80156126aa575b806020913180913014610e9b5750604051908152f35b5030612694565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57601d60053560e01c60093560601c60043560001a30600782901c60208316612883575b60009583601016612877575b357f0902f1ac022c0d9f6d9a640a70a0823100000000000000000000000000000000958660005260406000600481895afa15610dc7578215918260051b517f3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08760021c16519160088816612853575b6103e893848111612847575b84030292839102019102049560405197808810612813575087528360061c6001168060011461280757156127fc575b850260048701528402602486015260448501526080606485015260006084850181905291829160401660a40390859083905af11561033757602090604051908152f35b6004909601956127b9565b506008909601956127b9565b88604491897f064a4ec600000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b633b9aca00945061278a565b60006024600c6020938d84528c60105260601c5afa15610dc757806000510361277e565b8035965060200161270f565b6031953560601c9150612703565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57602060405160018152f35b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f576004358060001a908160071c73ffffffffffffffffffffffffffffffffffffffff8260381c16601d93309481604016612cae575b60009180602016612c9f575b600190818160041c16968792600094600094612c7e575b35947f0902f1ac022c0d9f70a0823100000000000000000000000000000000000000009586600052604060006004818c5afa15610dc7576000519360086020519616612c38575b63ffffffff620f42409160d81c1682020490039460009a9283600114612a8f57505050600014612a4d575b50505060405191808610612a19575092600080949381608885829760a49752600481019a868c97158c0260088401528b02602883015260488201526080606882015201525af11561033757602090604051908152f35b82604491877f064a4ec600000000000000000000000000000000000000000000000000000000835260048301526024820152fd5b829397506000929192906000938880600114612a835715612a78575b505001910204938680806129c3565b915092508980612a69565b50935090508980612a69565b90829693508094670de0b6b3a76400009693969788809202049302049186808480020481838002040181858402040204936000916000948d80600114612c2c5715612c20575b505085888d8981600114612c12575015612c07575b505001928293600090888181818002040204915b60ff8110612b3e575b50505050500390879081600114612b2c57506000036129c357020494508680806129c3565b939498505090500204938680806129c3565b868a888002048b898602048c808b84020486020401908c8783109182600114612bea57505015612bc9575b5087818792821180600114612bae5715612b88575b5050905b01612afe565b03118581600114612ba6575015612ba157848738612b7e565b612b07565b919050612b82565b509003118581600114612ba6575015612ba157848738612b7e565b978691988c878782600381878002048a020204019203020490039790612b69565b89949b939250816003899289020204019188030204019790612b69565b909102048588612aea565b939192505002048588612aea565b90945091508e80612ad5565b50945091508e80612ad5565b906000602460086020938b84528d600c5260601c5afa15610dc75760008a80600114612c755715612c6e575b6000510390612998565b5084612c64565b50849050612c64565b93509350823593600260ff8660f81c600a0a9660f01c16600a0a9401612951565b9091506020823592019061293a565b3560601c9450603161292e565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57600080803660248114612eb25780603814612ea05780602c14612e8d57604014612e76575b809180612e5f575b50612d2181613b03565b15612d86575b604051927f95991276000000000000000000000000000000000000000000000000000000008452600484015260248301526000806044848273961ae24a1ceba861d1fdf723794f6024dc5485cf5af11561033757602090604051908152f35b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152737bbd8ca5e413bca521c2c80d8d1908616894cf21600482015260006024820152602060006044738e870d67f660d95d5be530380d0ec0bd388289e19382855af19081612e3c575b50158015612e2c575b15612d275760046040517f19be9a90000000000000000000000000000000000000000000000000000000008152fd5b50612e3681613b03565b15612dfd565b90503d15612e575750600160005114601f3d11165b84612df4565b3b1515612e51565b670de0b6b3a7640000908202048103915083612d17565b50505060043560601c60183560c01c602035612d0f565b505050503060043560c01c600c35612d0f565b505060043560601c9150601835612d0f565b5030925050600435612d0f565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57612ef16138d4565b5060206107567fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036016146f1565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5600c42060161047f576020600460003760206000f35b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760405180817ff1c5e0140000000000000000000000000000000000000000000000000000000082935260043560601c600482015260183560601c602482015260a0604482015264ffffffffff606482015260016084820152602c3560c01c908160a482015260308092029160009260005b8181106130c0575060c47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036013593019360005b82811061308c5786602081808903813473c537e898cd774e2dcba3b14ea6f34c93d5ea45e15af1156105c95760209051604051908152f35b60348101358652605481013560801c8086028390046020880181905289985060409097019690950394909103908301613054565b869550605481013560801c909401938201613020565b3461047f5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760043573ffffffffffffffffffffffffffffffffffffffff8116810361047f5760443567ffffffffffffffff80821161047f573660238301121561047f57816004013590811161047f573691016024011161047f57610bdd90602435903390613ce7565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57600080803660248114613350578060381461333e5780602c1461332b57604014613314575b64e8d4a51000810491806132f4575b506131d681613a23565b1561323d575b50604051917f8d7ef9bb0000000000000000000000000000000000000000000000000000000083526004830152806024830152600080604484827389b78cfa322f6c5de0abceecab66aee45393cc5a5af11561033757602090604051908152f35b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081527389b78cfa322f6c5de0abceecab66aee45393cc5a600482015260006024820152602060006044736b175474e89094c44da98b954eedeac495271d0f9382855af190816132d1575b50159081156132c0575b506103be57826131dc565b6132ca9150613a23565b15836132b5565b90503d156132ec5750600160005114601f3d11165b846132ab565b3b15156132e6565b9161330d9192670de0b6b3a76400009081019102613fda565b90836131cc565b50505060043560601c60183560c01c6020356131bd565b505050503060043560c01c600c356131bd565b505060043560601c91506018356131bd565b50309250506004356131bd565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f573033036113f85760043560601c60183560601c602c359180156000146133f95750600080808481945af16133be613f33565b50156133cf57602090604051908152f35b60046040517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b82602093926113e992613ce7565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f576134396138d4565b50610bdd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036016146f1565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760007f27a9b424000000000000000000000000000000000000000000000000000000006018351860e01c15613564575b600060405180927f0531696e6368000000000000000000000000000000000000000000000000000060277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe880360160188637368501906004360190820152015281602d36019160043560601c5af1156105c95760206040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff403601358152f35b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff203601356134c4565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f573033036113f8576020602c356107568160183560601c60043560601c6138f7565b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f573033036113f8576004356136427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe036016146f1565b81811061126557602090604051908152f35b3461047f5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f5760008080366024811461383557806038146138235780602c14613810576040146137f9575b8091806137d8575b506136ba81613995565b15613721575b50604051917f8d7ef9bb00000000000000000000000000000000000000000000000000000000835260048301528060248301526000806044848273961ae24a1ceba861d1fdf723794f6024dc5485cf5af11561033757602090604051908152f35b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273961ae24a1ceba861d1fdf723794f6024dc5485cf600482015260006024820152602060006044736b175474e89094c44da98b954eedeac495271d0f9382855af190816137b5575b50159081156137a4575b506103be57826136c0565b6137ae9150613995565b1583613799565b90503d156137d05750600160005114601f3d11165b8461378f565b3b15156137ca565b6137f2919250670de0b6b3a7640000908101908302613fda565b90836136b0565b50505060043560601c60183560c01c6020356136a8565b505050503060043560c01c600c356136a8565b505060043560601c91506018356136a8565b50309250506004356136a8565b60007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261047f57602061075636614695565b3461047f576000807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126138d1576138c66004356024358181136138c9575b503360443560240135613ce7565b80f35b9050386138b8565b80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361047f57565b9190613904828285613c53565b1561390e57505050565b6020600060446040517f095ea7b300000000000000000000000000000000000000000000000000000000815284600482015282602482015282875af180613975575b15928315613962575b5050506103be57565b61396c9350613c53565b15388080613959565b503d1561398c57600160005114601f3d1116613950565b823b1515613950565b90604051917f095ea7b300000000000000000000000000000000000000000000000000000000835273961ae24a1ceba861d1fdf723794f6024dc5485cf60048401526024830152602060006044736b175474e89094c44da98b954eedeac495271d0f9482865af19182613a055750565b9091503d15613a1d5750600160005114601f3d111690565b3b151590565b90604051917f095ea7b30000000000000000000000000000000000000000000000000000000083527389b78cfa322f6c5de0abceecab66aee45393cc5a60048401526024830152602060006044736b175474e89094c44da98b954eedeac495271d0f9482865af19182613a055750565b90604051917f095ea7b300000000000000000000000000000000000000000000000000000000835273204659b2fd2ad5723975c362ce2230fba11d390060048401526024830152602060006044736b175474e89094c44da98b954eedeac495271d0f9482865af19182613a055750565b90604051917f095ea7b3000000000000000000000000000000000000000000000000000000008352737bbd8ca5e413bca521c2c80d8d1908616894cf2160048401526024830152602060006044738e870d67f660d95d5be530380d0ec0bd388289e19482865af19182613a055750565b90604051917f095ea7b30000000000000000000000000000000000000000000000000000000083527379a0fa989fb7adf1f8e80c93ee605ebb94f7c6a56004840152602483015260206000604473056fd409e1d7a124bd7017459dfea2f387b6d5cd9482865af19182613a055750565b90604051917f095ea7b3000000000000000000000000000000000000000000000000000000008352730a59649758aa4d66e25f08dd01271e891fe521996004840152602483015260206000604473a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489482865af19182613a055750565b92916044602092600092604051917f095ea7b30000000000000000000000000000000000000000000000000000000083526004830152602482015282865af19182613a055750565b92600060209481946044947f095ea7b3000000000000000000000000000000000000000000000000000000008552600485015260248401525af1600160005114601f3d11163d15171690565b916044602092600092604051917fa9059cbb0000000000000000000000000000000000000000000000000000000083526004830152602482015282855af19081613d5e575b5015613d3457565b60046040517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b90503d15613d795750600160005114601f3d11165b38613d2c565b3b1515613d73565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117611b9957604052565b906000808060c0850180516003811015613ed157613ded575050505061014061012083015192015190565b80516003811015613ed157600203613e3f57505050506040820151613e34670de0b6b3a76400006101208501928351900385510204606085019460208651910151906147be565b925180915193030190565b949193929451906003821015613ea45750600114613e5a5750565b80935060609192500151613e98613e8661014085019283519003670de0b6b3a764000086519102613fda565b604085019460208651910151906147be565b92518091519303019190565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b90613f2d90613f0d8151613f91565b90670de0b6b3a76400006080820194602086519301519302049080614746565b90510390565b3d15613f8c573d9067ffffffffffffffff8211611b995760405191613f8060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184613d81565b82523d6000602084013e565b606090565b8015613fab576ec097ce7bc90715b34b9f10000000000490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8115613fab570490565b9092919280831115613ffb57820392831180614002575b5050905090565b61400d575b80613ffb565b82614039917f000000000000000000000000b01f8f528702d411d24c9bb8cc0e2fff779ec013906140fd565b038038614007565b9290959493958086111561405a57850395828711614064575b5050505050905090565b60009173ffffffffffffffffffffffffffffffffffffffff8616156140f45761408f92508702613fda565b80955b038181116140bf575b5084116140ab575b80808061405a565b6140b69184916140fd565b038038806140a3565b90936140ec827f000000000000000000000000b01f8f528702d411d24c9bb8cc0e2fff779ec013856140fd565b03923861409b565b50508095614092565b9190918161410a57505050565b73ffffffffffffffffffffffffffffffffffffffff908181168015908115614191575b501561418357508147106141595760009283928392839216611388f1614151613f33565b50156133cf57565b60046040517ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b9061418f931690613ce7565b565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9150143861412d565b9190820391821161107d57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0360135906000809260405190817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc890813601601882373681019182019281519060028260f01c930195618000841615821761423e575b505050505050509190565b309061400085166145e1575b508961200085166145d1575b8761180086166143bd575b508a96610200861696876143ae575b60038660f71c16908582806000146143a55760011461437a575050895199019860188660f41c16610100031c890181602082011161210b578490525b8360408716614370575b508089116120d9574782116120b15791888092816101009503925af1801561435557600114614304575b5050506142f2575b8080808080614233565b8415611ff9578210611fcc57806142e8565b90929550600182989216153d0260001461434b57505060ec1c60e0163d602082011161206c5782015192601060019616614341575b3880806142e0565b9260000392614339565b9150955092614339565b505050602016614367573880806142e0565b823d87823e3d90fd5b90910190836142b6565b909252507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8016142ac565b505050506142ac565b98975060208851980198614270565b976014815160601c910198839061040088166145bf575b508c8961100089161561450f577f095ea7b3000000000000000000000000000000000000000000000000000000009150527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc8801527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec87018481528c600160208260448d82885af1915114601f3d11163d15171615614477575b50505b38614261565b8c81528c600160208260448d82885af1915114601f3d11163d151716156144e7576044898e602094888295525af160018c5114601f3d11163d151716156144bf57388061446e565b60048b7f3e3f8f73000000000000000000000000000000000000000000000000000000008152fd5b60048d7f3e3f8f73000000000000000000000000000000000000000000000000000000008152fd5b81602094604493947fa9059cbb0000000000000000000000000000000000000000000000000000000084527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc8d0152887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec8d01525af160018c5114601f3d11163d1517166144715760048b7f90b8ec18000000000000000000000000000000000000000000000000000000008152fd5b99602891505160601c990198386143d4565b506010875160801c970196614256565b96601691505160601c9601953861424a565b60043560601c80156146905760206000602460405180947f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa156105c9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03d01614668575060005190565b807fb11b97620000000000000000000000000000000000000000000000000000000060049252fd5b504790565b60043560101c907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001356000825b6146cd5750905090565b62ffffff8316916146e4918084039060220161485e565b509160181c9190826146c3565b60243560101c90356000825b6147075750905090565b62ffffff83169161471e918084039060420161485e565b509160181c9190826146fd565b6147358282613fda565b918202146147435760010190565b90565b909161474393670de0b6b3a76400009283818302040291836147688685613fda565b92810395860204910190818110156000146147b05703614795836001935b8660021b020482800201614823565b91156147a85701915b60011b910261472b565b90039161479e565b900361479583600093614786565b9061481c90827ffffffffffffffffffffffffffffffffffffffffffffffffff21f494c589c000061481061480996670de0b6b3a764000080988195828080958a020460021b0261472b565b0102614823565b019160011b910261472b565b8201020490565b600281116001146148375760010160011c90565b908160018082811c01915b84831061484e57505050565b9193508382048401811c91614842565b92909160009360009384604051918083948437820191805160028160f01c9201956180008316158117614895575b50505050505050565b30956140008416614c6d575b5083956120008416614c5b575b876118008516614ac5575b50849661020085169687614ab6575b60038560f71c168080600014614aaf57600114614aa3578a519a019960188660f41c16610100031c8a01816020820111614a7b578490525b8360408716614a71575b50808a11614a4957478211614a215791898092816101009503925af18015614a0557600114614987575b50505050614947575b808080808061488c565b8315611ff9578410614959578061493d565b80847f9a44647500000000000000000000000000000000000000000000000000000000602493526004820152fd5b90929850600182989216153d026000146149fa57505060ec1c60e0163d60208201116149d257830151956010600196166149c7575b505b38808080614934565b9590950394386149bc565b6004847f0310a487000000000000000000000000000000000000000000000000000000008152fd5b975095506149be9050565b505050602016614a1757808080614934565b83903d90823e3d90fd5b60048a7ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b60048a7f31560a0e000000000000000000000000000000000000000000000000000000008152fd5b909101908361490a565b60048b7fc7009900000000000000000000000000000000000000000000000000000000008152fd5b50838152602001614900565b5050614900565b989750602088519801986148c8565b976014815160601c91019882906104008716614c49575b508688611000881615614bd7577f095ea7b30000000000000000000000000000000000000000000000000000000091505260048801526024870183815260208760448a82865af16001885114601f3d11163d15171615614b40575b50505b386148b9565b86815260208760448a82865af16001885114601f3d11163d15171615614baf5760448888602094878295525af16001865114601f3d11163d15171615614b87573880614b37565b6004857f3e3f8f73000000000000000000000000000000000000000000000000000000008152fd5b6004877f3e3f8f73000000000000000000000000000000000000000000000000000000008152fd5b81602094604493947fa9059cbb00000000000000000000000000000000000000000000000000000000845260048401528760248401525af16001865114601f3d11163d151716614b3a576004857f90b8ec18000000000000000000000000000000000000000000000000000000008152fd5b99602891505160601c99019838614adc565b9695506010865160801c9601966148ae565b9550956016905160601c950195386148a156fea26469706673582212206df7261df7b31387b2be636c0fc85ee66cb1a80ef09fb56e633d91c95f77379564736f6c634300081300330605581e03d7b54761dbe09cbb841152f6eb08614ccb124d2cbebab3822be9d8aaf00f014101194cb605581e03cc0184afe0034863a238fe94437c4d136c09af460d753e21486acb92400c024702ebd93e71010a021971f90391066bae96a70484e2fedabf910cd0846d475f99cc03d45956b5898eff3e21ac03569f430c684a48a658aaba8e43fe07f47d7b54f3e5b67846987b32da96562b7403fab6945f997f651fdfb8b75bcf0f87ce33442ee09617bb31ff713bfed5861853036c47b8294f237cf6064f3c230d8b0b006d30cade1fe4d85ed16d9b4e5a3b250a0219ffff03118afb8e52140f39c61f8e5746715529ecc4bf8b2d9b6dcc2b61d68a5cfcb9400219ffff03341289a9dcaf090b43170c553ee2358e4fb9e10c618792b340c1e68c837b376d03e6f06d020611dcde9ce91b95a516298ab2eae434b2f8a08eb1dcd8a5a4d307d9031041c684297db6603a627695221892ea81b5b1ad8c89e01e44d129833bc753760393ad590140ccf93f3f81863609608c93d007aff513244b2d8075b8cfdb815ad8036d341a39d21029ab99b9ee268301014bb9c9a22378ba988134063082be997eea03d63bb3e567176f76de32b75d64c08421ce70aae0ad6101c237273c59ded10677033ffc59388685413d069d9a804d434018609baebb66f20b19802c26ca7758d18003fbad7210b18991594445ba1c30ecce85b3a7d70910ba6f946e18a24bd621333e03a06637fda9ba8bf8769c58392d64b217e47a1951eab8e535fc323011fe760bac0219ffff03d9656bdfd419627b05ebda79144584b1c6c5db3fc470a7f0b1b5fca99f5e282b03e3b3ba56c89f387fe3796b36a7ce3ae239cbcd3cd592758eb97b9771890cbf9003eb462c63e5ca7dd9a9db78d7efc04d12efa2e60297efbf8bec351c348a87542003e3de13c8f0a199c3e1383b7cfb216cb0222da3c2adceb2f09c3e04dd9cd1b6cd0219ffff03b0a0c2ea496b802b92115fa55d47ea9f118066b94683139b0940f9319e36b69b0324cc6a8f1a786e7802de7b8e0b1cff7a05765eaa2abf22c5370c7be429b5aac9038673a004174b5e1828180cfe6c8d3dcdc46de535c3eae462f804b19d1fa01de1039174f582f28e1f968683a7a73c5a474dbd278e54be19dce8a0add500d85911f303dae81dc3cb93a32357d2d0ee3f298be203a896097ed168654a76704a3762979703bbfa4038928295da5ec99a61fad7955304d0ea53194beb39ac351b6ecd162a6103881656914e8510c1329589c4cc55bfefb98f39b0a2f80f5a6d836dd7d9edd49903ab5a993c7da3dd1ae6e012d937232f2b83c751b5461a5b48725187d332558930031b866fdd45bd706994e95369f6318d5becc19ba092a3bb2ebce23dc84f131a45032d750cd87693c221d5498b0f9b491e1854a1204c903a67f3718bc0a18910588e03407a4f255f577b55dd26763bace5fbcc0245017a85813f276f1239393b7c034703ce97f44ba9c301ffede92b0062705c22d17e3d3bf5e5905fa920376c8a72f0b4036ef53cc832da6a73d7b68cbc9bcb765388e17d7f411d3c6b8da09c1f4d144d410311582db50aa7fb69127a5e3d122b2344b3c3623dd7ca99bbf60243a6441918d903e2c95c4587f8055441cde6c7f1e9486f95c0aff25340f3639b5f6359731bf4d803621c5765f9741fb3cb9f7b1e4b48a5e07a192aa51de12b02f95e581691e83ca2037e4d2586b8592851a31b0c4e1b5b4008755c51ab40c11ff37a993404172138e50335959b85685d282f6e0424d9875944ca58e39d9c5cded18d9e9bf556ef2786cf0361a617492a91045b3cbc1d2d0507274dc9dbce291183a7a439b2dee0ff373922034254eb6c9b4e4f7fd8d9ec7d1133f6581e7e5d34c5a65c8f05d08b64e16fe6330362f1d4e4aa21193ae263650759427f112e89a474d14bea0a04c774c368be9d4f039127eeaa82a64569eea4a7f57911823a2a6c8305ffacf67bb68d2df543c9be1e0317b32d6b32758ccd814ed1949488a9221be7db4801ca15829c160f5879ef75970327328e0e80573020d17440f1475387d68baf8e003f508f86c1b1265e1fadc51d0370e3203ab4d81caf3685b93e52ed313ca69fc4835e9d39a32ca0228cd21b065303c466df8a9a0b6d4fce96d2fbac4d8a9e04e3d18ca2624121a53012c1f887dc73036a708e138fc1073b70e1458caf39a0c23a31a4c93aceea18e9186ed4941130ca03685f11262af7aa17f35b56a92c60d86dbb1ef8f796bf7655380c40240772e0d605581e03d0b828e6b38d19634e9b57f8e7fa79c8be1d403f7a11fd60e5d32c41700c01470980e5f8c6300005581d026c7b8363f1fa73c265fb9332b628d7660e4fd099f120011963ef7aca040205581d0264e11e1408b42d15a3d3172c698f09230337b97bfb6a9e664d2fe5180c18274801e052906c4fd1fe0219200805581e032b752e905a0af73d8c445a614fbcff566ce8941488b4379fd85ccb65300c02446f67f23205581e0341a9d61c0657d050655d82435f4793cf4a09e1638b745f0182b0e420100c0c4612078a73a228035975976526785021b50748035bcdf3a9da44dc79aa5f2b5fa6e86e6f2d129aa505581e0347899970259ed03a21e5b80e777cd54dd2fed855f9af098c3319fc8a60040105581e03de5f94826bc88f41b151450bc3ffc829a37411d5b1b49139ad7ab6f1c004020219978203c76a949137f15d4e50c6036cda85edf3eeac7ae6b840537ee23f9885e5eb59e203387d90c5003367ba81296f93b24ff108dbe8342ac63a4ca950cbf6ecbfb613aa03af420e3314a6cbac68cea12bbdc0ba2b17ed1d8b53c093d8fd1aaa588699172f0316b9109b1a4639cbd03632a9062e7cc5a9f1a9aea256c6bf32f3039e5b74f5a7037e6844bc50e7b7ec9f4506f782a092071e73086ab7b18b3f21ff091639ec7b2403c52e6e2c8216771e67bab34856e985c3732cb4c2718e0bb25b944a0f38b30348035ac9ff439b46e56d6f9b4eacadef31d24f421afb1248a55236fbf777c34a791f03ad19628fab137fa57f18c7093524e0c7aa0e39a937ca7f6ec89808bc19eeb57c034356797f4be4ee7550cc0bae07ddc8b74127e7d08d89caba354e8fa1f0bd5c6903c2badf94b17e64c1395ba897130cd643f99e76825620ef50b633279a5d1362b50306ed9b405293d3c967bc15bdfe9b3d3b05821b561b00a123179e9394b1439f3a0355d54e6354b57b1d91576e0addf362dfc2921aab98d6276f0b78e454bee6b18c039653c1d384149c138a6b2462db3d72eb6ee10fd6e7311a934a042b10dbdbdb680219ffff03123d784722be4bfc97e06f199a2049ce00e16284796defefb7b1f15f205587400219ffff03c133173d6cdf19df3a7a0d42a3165ad6bd0e06904d566d8596b03809fea3dd8f03e5019fdfeaacb99d7754ba77a776b86aa6efbcb7cd68c383819cbcd7e0514c1d036916f3922334b3dc59eb38abe2fe4605bb86001c983f9af38d3c415f5e394e5903b4af274a963bf59a60e539d0d71b32f720674dfd8ce909d5ef16a6c57d137b7a037eca1e989f5a4cd2a60e75f04dc7bd4a15e70855a301f8dd03889502ae37e8cd03793465ac71911980bdc70987cd574d3eb7c8cf24673c4b82b88d31d677e10a8d03ee3f250a4508bf5795a4d41f15ba41fd7e9da8f765c226b6cfae92a051cd432203c941ea5505aa3981de1edb5d2d677122f7889fae6abd5350c2f34c0cb063050503c769763d5273e983a5c50b47179fe51d3f1c3082a700b6b7b0e637cbf54805f30219ffff03ba5a0acae1dad9f1885ad11773bab8fa03780175c31731a29486744727a9a10403a0caecb48738e71de0a19ebf778830104d56174b60f6ac238acd31a0fb9544f403ef778de2a76de5d6cba8667bbda9273ad7a51bd653be207ab910dacaef9185b403a6d9b79c277c3afe3d3eefdfcfe8c857791f7ceb6dd3b2b923acd42e1a36bc94034a84792989497096c9c12a8367384e04428909399c3b46bd8f268e516e9b635f03fdf86c70767becca8d9836a2f42ebee77bc5bc4c6543981ed489812cccb1d48d031653df4a4dd78d2637a60a545414ae5bcbd07cc73e51682deda1fc6d4c6e07f203afb22b7d5de47ec30f1e0c8c2cbb1bab4bc15b67aeaf35bc0d83712e4228e9fe034ab6fc900a63ccf2a6eff15cfef5652717f73abccc1c525dd1b8d4993b75296603939c3fc2e7b57d642a7629ebda4a259d61bc19d9a70f05ad099d7f8020b176ce03d3b00a29d876d5c52a35da1788e0c53035d9efbb8e00d0a6adf46884a17d213b032ad8573b4cee5ad268fde6ca3cf6dab53510c7b7e21cb5bb409f76a5f18a56db032681ed9b6b79c84751e51ffd1fb596ad3b97d6cb78a54647fddc634efb4fba7c035f280c85b7402a33dceb2e0f15a9efebe325294cb6d896b89cd1172732d9119d032353983876f7d1c01930844a260640543b277683dce05dfaf840b3014c7351840302907f5785bc1fde7ac707ab12b37f3147d554a404a08a3cc455c320fba8b2990320530b6eed1c90602f55e949830108636a3c7c0e63fe2f79bab38093446182f3032b47e288e4ed7a71f54b7ff40acae6ad6bca91a11d3e288cdcc41febf9123fea03cc9e576123e2f9872f6f8ec981859df98edc8952f9715bbbfedef2e1766a5e550371ceb632ccb9f2b366a0295f92a4d3d9e534b35ffee2c0ff03c58a60a40787c503b2b973597707d259d6a962ceda93cf7a403b64f863de3b5cc9bb064dff7d0aa103f430dc5e6b2893a07a1af0087f67f3974830c75d3a7ecf2629ad927677a348cd03445c160b831470e3e49a81fc8d5bcc5da412e3b167c6326aa1873a3b0cfabea8032539b54234a1d61fd6b345d820742f51b3993e98bed357437f5768628bf4d11503fac774ab5f96bc33398dd12daa195a9ff7ca92e225b95a4ecd5a34fa7cf8a4b003b03c49a0e103f5a8b85e94a9812aa45834af6b2619771f504ab1f69da95a194e036375f3273fb56c4ce2985d840188ed4fb6b66ea4750d7a8c1dda956deefff6e5031b1c30aa23ff9dbf94613066a5dfeba2ba7bd403bae1ed96071bcd045831c4140312dce52fa301a6b717c705a4b558d1bd1393e726ae09284b78f6f2e634c9a31f03bd8ccc3f5873a27a8c447c69bc9646fd9e8a7a24ca2274aca9760236917a2a6903ac69a84d3f0665c3896205f6a15c6bc8a01697ef2a6f76988bb4fba90bbccc8a03b4192eaff8a8f62a7ffe03fbf6b2ed436c46737f2cec801c14105b954d6bad8e03e5ce3ac2831f4158a81d3771787e3dd13a6b0bac53c1b1ae52144e0db826394303da86efca61b82d1e51a8b481dce2c00149f7c456e252e8f74a938c1808aa643903d33d94fc2333d8e869dd2c04048c5267bd9d817ca250f81aa7e38c709b3c75540390698eab3391d1b8a1cc01d9ff2c2ba83036ac6eb9decb6c973160508060db32033cc7ba6ee4e4e1607c5f7215bc9b586f0afb503aed18378021204914bdca9f9f03a458154b9f40128e72765abd5944c6c86a12390a2688f773ee4e400ea4fc61ce0394d10522fe1d92003a00b50ba6e323f7de07155f978a3ef8ed7de6abcd4acfa603fec0b3a5f3a0da4cf0988229afd9b22391de82a8c7e7129d5a9a34f7c0df924503a31e6decbeb8aab371954b07dbf8e39da3d0eda3c5cbc56d1df4b728c7d2070b0395d4c47633a0be8c9c68bdd8f886ca2987076fac677422732201bd27c97ca31f03d6c8f1bc58c9846deaea2d3ee63fb404f3b4370a58d7e9c4974731fb5f20578503deb32364309c0cf0c49cf52988d066333700289e29f42dcb703596297ea14f450349a137088e13c71500b6b717d5bab683367e602bdef5d29841537fa7a207a6ec0605581e03713bc7cf52cf0a347508495342c5bed880a8f99647d1f2b9f6847e8dd007011bffffffffffffffff034c0211320f122ba3f91a728ccbf02ec37e4f4c5436203590548c3e550806cd1f033c78ec5293df3c15e8c2a724cd94f14a252128ba809c0ea888de2e58b95f4925039c5e77efff17066d9dc42e7aba0c3a2a46b8be5f9d189479bcc68c2326e640a503fb695bdebff6798811e65b6c8382c8548d98185f537d3fadead5e3505607c7b605581e03aa72a1079def45f63afc80353cfaf4f84c2d6bc2b875de8c7c0db962100c0147ca989e8b02700005581d02c3876c2e0a19849320595153458a881a24f8e549fa4fab970d56c625040305581d02b5080041e935fd854a4f04d4b7631a2d50da698ae1bdc519f10e30470418d50219080403b5368d7dad7f4b1486bbeb3a1fad2c98aae54060f7aa0f645ca23f6745ba1dfc030677aee60dd281105cafd7abe078bd369e964344135d0da215e4383a6511f2a905581e0391ce8c869fa617b12f112f2e53adba221812e5f049dbed0f1da0624c8007011bffffffffffffffff05581e031d6a41215949d2c1f3a81c08a42d4a7905c35a41ca3874781769761e600401021933ed0219ffff03dad03ae8d665f5eb8992aa646b232a358142a01df7d4d9dccc91981086cceaa5038c9d3e9c6ea1ab332907fb75953bf2aa1a0556595483bdcf62c0bc6d3990867903fd9270ed854378b9cc491562ffe106559687af854276b3ec5ffb5c93ce55886b0219ffff033661efe299b80d3e4c77efea994585719695dcc7cebec6fb3c35e163a68326de03455f25b19a2abecd115acbf54f2c3ba1d158c1244a1aaa5cccf3f34b83553f480367a6515eb2a4d7b5fae4d7668e5d2e7d2b79951a917c61af0a4d0b33d66f70e2039e0112773929e96f3def0df15e10aca98be299dcf2bfba7c52bb1f17fd044064037cec0c8e3678ec87fa67409372053aef7d4b5be0d6cf3dbf1466835155efc5260219ffff03802ac60a3a314d2e187ce2787d6d200395743fcb4645bf8ce6e53da1c6d3b54603395df4e1b30192d639a94cc1f5dea388998dd6e1c424287fb85bd87fd4d8803c0219ffff03363dd0650a0c5715bdde15417465508d5a37bc12e8e8521ddf2ce874a271f4fc03cd31eae7be5a8940fe1e5a32b773df051b7b3e4fd57bd62278ff5d9874f8d40b03965654f012c399e6edd1e4faf623c429dc52ab3f6199d190ddd8e8b6f03952db03293d26c156f07100373719e46bdc97c0bdd00787f2a2cfb3053e5e0e401abe940322c907cd6ce3f9f5e9bf8dd60c517407d51f3f828035061f51dd410089a34cc6033f43722c9214bed4c20ff00b7192f92668ea7555c38d48433d0b22f8a4e63ee1031e7d3dd2d5bcf4f4845bf7e777fa0bc0baee0d48e7251e63de62a432ca557c0f03ce089cd4f1c1f0540aef5c3b01216776bd13e5badeacd389f67b6a83479b5c5903aa7e88cb4e9c680de96241da23f1fe5d0ebaa017aa2852f4e3728d52daf5523a0357986809e0eb10ec6a21278838467fb046e46863c6f6e5a289b18a74c3239a9b0300208488d0b220d092cb8987aec1d13f1b41220b0e460c505d6b78604b4b070e03643c01c19f9c72ad70d7e8c1af1495ba13ea834ba04d75d7179de61f88258419039060791b0b43d82b9f69ca53e8041b366d07edf024fc5bebe263cf6503d328b203102b0435409e10cbbfc8fb002ec1772958899838ef295ac8938de8aba5f7802d0319f50c7676fecf1b3d8dd31f458e6a3b165fafb066d189171611c1bef14b30700353ede1e24a2ae81140ab2a2f887cc39ad1210ec4ba75a3475d518b5a35c3044403f01c28207e993ea0f349ff31e0ceac08af4affef3a1669ad1b033c5ca683745b03a93f78589869a4c8836c15b4bb688b28692b1d106c4df7474d386f71d857b193032a650b997d60dad0306430239abc54c532dbce466d76393869244882b95e68d203637c5c0bd4943aeadd8642823531a6b9d56dae3e948fcaac639b28a3948070ef038ef3bb36689fb0738b1f02d1fa7c1459a3321cba31e6235b6d2a8c3e6b0b17df034f739d61211332ac5b8843c65fa1a74f49a6df3f2cd695ea87f2f30a93c8fe81038194bdeb95768f691feb345e2fdbd38000c30d0439b5568621f4cfa3e614589d03398fa8e0d76cd33d487807c98ed8d5c7b1b6c89d4ea5f65fd4550b108af67af303b468d0b8b1035960f8f3fa1ec7d2ba72fb52551e60ef2064a46df7124307790a03375eac6244eb89a2934484193013fc73bef8098c2a38d148f157b94e74a47e9203651f52dafdad92bc22ed18dc247881f6481871740090f6a65dadba97425cfdf3039848906ac4d74202968449a3b22c5e6edda4e33a67994f1346c25d28560d241b033f9b32a5fc6eabb01a2905679f4c46bca5066594aa58813346f94d624c69b4be036340d3a6f11bd27ad02fd401429bc020caa532f9279130a6725e6d05578c866603ace80437a0fe22945cc30f5f49f86b3ee59bd80984138930190029934625ea600329953ef5485d97d365a62830b0785305265bb2680bea1bc73a1f9ed770f015ad034007143d8f7b00c9292c7163e77cf1976c5225a2ff27e7b9156612f5ba7e584703f308b8cda9ad88706b91412f1d6b09e2e641a769dd8a94cfcce7fb3dc4bb0a75033c4e93a7c9a038d6980c0e5cc4bc1dfa1c6f9de4e91bbd5199a1823f9a1079e503b329672671e9fde5633bb806459d58efd9e74edd007b8491cf2b387d887ccead036f24ccc7e8ca23ec48719469b83bc267c3e5208c6546d7c33bddcfe02ce0895303166bb5a3aef71bd5ce12762165cd79443540d9ffa09e1aa420a86124fcdc88190358efc607c6511cac4b8c5419f08984e55d03f2ae15f9910743f35af607446d8a03a82e41610048516662751d11203d4beac35d9b6c13ce49d531565caefd1f095803c201f3a5db89590dbc03fbaae834a530ae30da4897389dc738200be79e8a1acc05581e030cc1701afd93e4ebff4b085d3edc6ac385afbdca65f8d319bffae5eb900c054713b25dfa76b49303df545657900050930b134ab306c17c74aec4ba08740400001f3870a2184cba8803dc3500736f7a482dfea431d5cbe1bc7d87e448e6bf8c6f6d0bd83d4a94751a4305581e03fdde3ac548c4f4ea9acae61e6b054961a3e66c5fd47c27f436156e8d2007011bffffffffffffffff05581e0357c2e8b7027e5558adeb1a4083a81967999c77ede59891519590f3b8c00c0147013a065c727cf203832b35d25d9ea3bfbc39ec1c3877d01028ee000d88b1ecfccee4c9278ca7a267031ac5149900ac884352277066148657af7582af4ab6fb8ebe7936c765f1df40ed05581e03fd90073184a6ff2a6c15aba2c6ac23ca32e3f95f7d87338a7678e9467007011bffffffffffffffff05581d025cd88a12e44f3bcbe762f240d07d21be43f54f1cf87bb1fd31adff1b0c0245f6ccec680005581d0248b8b44f59c20069bbbfd220097d7d26f01e8a2ab964d7079f4a628b0c1247bda1a285cea4000206032e6e4f309090643453c2b6f2236d1a60825c35fd841d5bab040aab8978a719e005581e034b638b25c959b7a0d2558f20312f50b2aff1bd1527ea596d52a7f407200c014702ef69fc1b649e05581e0356614a9f6072dee448bb36d0b30c569a3f6c9c0e1dd883c9dc4e316c300c0145e8d4a5100005581e03321936ca34aa8837cded14bd5dfecc3736b0a3490bb9e971c3a475c380040305581e033dac257645837bfb80082d70baf25e12a857c0617ecb85cc36909efa600c06470409f79cabd4c80219fb1e030f8b3960679be7b980d727983f424ef180fbf99962065e3c3f76a08dfb781ef90310e6f6c76d45a6ccd2687e8751b2e5c7a35c078ac0314dab8b16f20e7ea6015f03855217133632986f7dee8d4c809d97e15ac5097d44ed1c6afcc61dc2d029c817038fb69fc0cc5cc12ee04f37a91cd471092035a8df95ddc4dd7a84b1164fc142fc03ff6358ce69149897729f72d41bcd2c726310fdc6766548089d0d5fd2e249092603471d1cb201b6f792986b9d80bcfce087c29a6d7d8c5a6500f8fd875764a961d603f430701e307c683f97f6ed8730df9ffbfa47204dc03a7b3ff2add392eb87bc300386760345b471a64f2c56e16609a01e2331762b5dd410db0c5cfefac58a5a23290219ffff0219ffff03b5566c0fc37645f603b63ea3a4d80d87f458c89aa5154483faaf8382a5511449037d33a5a6c8c0942f5acda675ec274d817a579a4cf11c5877845ee83676949321030d8bdaa53caf47ff58ace9e3a93d4294a7b2b8180248bb6246e90d0597a308d203a8d63481d9660ef365563cb417a3b8f26c0b8ccb62691cd1971c005a26007a60037dc1d7ace0ebde738ccc6f8e236ec98bd54da3b932b994d4d5d5006ada4bdeff033459e1d06aa1a903f1e6d9c83f14685ed1efeec6a4aca00569d24a34327154f00219ffff03e094df01ba9191180b40117f921d61d702c0bcf511605a0dc2de9c96185aba1d03c22123eba505a2dcd7eb09a6c91f3fda41369ab7d344bfc367d7765c7b346ab3039da630f4e035151a921304e64cd8c54f68f8beb5e07437414bb83a97a2dd32c103b233d7a6b422f8a33b07308fea3fe5c3eaa32c6316969e3c232eebc1cb10cf4a0304f8f950f62d4370fdddd7cb6f1228c6e7d3ec9ac061e4fe167e94d0f30543470354cd90a8d83dc91f32ec71495c2b63ff600273fd3f05a916acb324dcfb029af10361bd1a4dc960d0316121aed838bde1dfe131d7e48235eb0fa887787164d2c6bb0390ee129426f2d5a6bd91557802744920e9e381da629b81569c2ecc79371131da033f9e4e9cf53c0181cbdbe191db401409fd8807c19f3f2bbf88ba8916a509470d03e7d8f6ca49b20616146be097801ad0a19e16941dd714bb6e600698f64fe06bd903f0f85e907e53ad65754369816f4f097b9fcf63f5f56a1abcd6051d94d854cb4a03982a187269730755ac68575c7581966a7e9660caa6c67246bf1d8c83e65b2d0303840954cea93a63c8c2428b83b16887176a880f73528742900dd1b86147f22ac6036b8311f4c7dc54fa85215f8535d93bbeb534dd383506ad67d147af29956d6ab703adde7c25659005c2e6888d3a1f4ca9069501197ff9c08457345774003f93c69303b109a9622cd3422bc4533f1fbc1647ec07e8b5a2060e7c7631b1613d38fa1c3803a8ee7d5efe583c30a0e4645f7e5c65ce3d8057e55a3e5e5e937502d77055ba61032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e03a7f39b81ef6fbf52d2c5e7590f170f800fdd8b5971ae23133e7e86204007011bffffffffffffffff0382e0d7809677e231bda9393742732708d13fcbe2e9e736e47a27544c418fe5bb03d85bb35a6ef123542f2c1d6d6b1f993e733fdd1d2114413667c0175f845b9cdc045902a860806040523661001357610011610017565b005b6100115b61002761002261005e565b610096565b565b606061004e838360405180606001604052806027815260200161024c602791396100ba565b9392505050565b3b151590565b90565b60006100917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100b5573d6000f35b3d6000fd5b6060833b61011e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b03168560405161013991906101cc565b600060405180830381855af49150503d8060008114610174576040519150601f19603f3d011682016040523d82523d6000602084013e610179565b606091505b5091509150610189828286610193565b9695505050505050565b606083156101a257508161004e565b8251156101b25782518084602001fd5b8160405162461bcd60e51b815260040161011591906101e8565b600082516101de81846020870161021b565b9190910192915050565b602081526000825180602084015261020781604085016020870161021b565b601f01601f19169190910160400192915050565b60005b8381101561023657818101518382015260200161021e565b83811115610245576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220288c220369da354982f013e8a0fada30362fbf24d20eb5ffdd83289571f62b6f64736f6c6343000804003303799239ec41363988199b8ba36872c01cf3bb46fa89703ea1165b278809708abf033a04b0feb7c74d41b029be40b03a8d746d66a620f845ae322dc6d54ea3e9d3a1033810f15792a544d4bc1a0f5b367cf4f2c3140b96141a13fd943176ae5777484803951551ef277fb5d2b0bea4e0df83f1362051b89090632aa5308d8d81780cc073031e36612272a36a3f2796dadbbfcd9718048634825b55644a837cbe78b3b79bb703a03dfca2dbd4609e1ae97736fda00a48e743dec1933df0012ceb61b3810bdec70382408d397ce09d80ae4d6bb43bc0de99bc3f945e628bd57f52036a64fde3bff703fee02f9ee5e4b420fb0ecf34ddbed389d17f00ebc54ebeeb3b113ea13c32fb4700582002080a9a08de8daeae405c2320adee88df92e79b95f824299f8382e15a7fb91e5454ce5b4d348fb74b958e8966e2ec3dbd4958a7cd005820028a6d21bb88670d957634628f691f4bbf69d7b56d5ded8fd974c76135da48ea5411b39756c042441be6d8650b69b54ebe715e234300582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d543c3d457f1522d3540ab3325aa5f1864e34cba9d0031cbd221fccd95a1d4f0065667f09df243ac3ebc65aa3ab425381d870453195f90058200228fbfec9e02837de4bb70736e6b7c2927cbce987f0a39b7d8e3880273052704108005820024824f6eaeb1e67167305612bfc62ad8c32fad67828a703967bf2039068227042022a00582002486791dd99cbbb4033944d56612c9e36334d80d46bdc80ab18cc205cc28c9d548c82b2fd82faed2711d59af0f2499d16e726f6b203f5b43d996ffa48059c7c81af6c0be9938ec911bc9e9e73df8f9728f232a5da99005820029dfe60beea3d965d433e849ee712dea6bf380de596201d7f0b81bda46aa3dd43049b8300582002ef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc5341130219fd3303f01ecc09f517b456a62d6d5b537cd8536c8ee257bc580d44a8d3a0205ac81c0a03937cd4a2131128f483a4325486e12d610014c1184d78967c8f879fe568b3f0f603ad93a4a9e6ce5f0a3c65d9dd84a37d44bff71bfdfd223828e27cd25b6f5194ee039ca2c4b143a7b67b55bd483db354c7df9f6e00904ec0da52574de208cfa6196c00582002a5005e197b63e3fa01b261db3820ed01b13aa9b96f4102ee2e99aee0e7cdb9410c00582002968f1044f54ab3ab966dd7357d0c8aadfa59bb072fc2b3249577cc35b9eb3c410400582002f04055a4270c8949f334fd3068aa3788d37efca5697c4cb27fc0c3a9d346f75454ce5b4d348fb74b958e8966e2ec3dbd4958a7cd0058200288739ae56353ec254a35edb7b7f2d0aed4f1a0a680f509b6c6fe6a17a9b4c6410100582002c494915662dd117d77cf5870b9f5e31aadbd20ed6ef804878b5e745c4b72704215ec00582002aade817f729c64420c320e445dd632a6681224c5f3d6faf2535f2122a58b9e41080058200216d472bd35efb0d616fef132bd697d4745331b943ff1a89e290ebba587d95b410200582002985f3e63ea883b7af50699bc76d45e4feb6df46847f51b8087e2f2798bc8b45458cc3ae5c097b213ce3c81979e1b9f9570746aa502192adf037d7051413c1e7918dcf96cc010ce936dedcd79d8fc6891113adf5d61325f3fe303a1eaff5b21307a7e8695473df3ad81cf0b0517694f0617cadeba1c789e3f136c038708efe2356db6f133b940bd9a42f8a8960c9269fdfd55d8e7bcb0a3678e3179032d725990478947b46e23c3af3624e4cfce25dd7f3fb15e6176ce3324ba373d02038148a03047bafcea23c706ab4d139a795c708673fb0492892f9b867b0f9eca1f0219ffff05581d02e30a696265c1196bf72c609c1b4efbac05d336fa0b6f6ac41367edaf07011902a805581d02a717039b3912cc2df861d5d56b3538fc675f6833bda4589f20e47cb00c04477086fabf33b7d005581d02c1956f6c203f171310d6fc59387bade4c2bd62f835c10b655fe0ad9d040505581d022331943eb4f33597d9207eb925bcad0e3a97d4d3cbf169b4771418550c02472c4eda54404d070219a80405581e036ca06d15d7dfa228c61cf756f0532ff9ad4ec36b1f8fc920bf33bf00e00c02471a0e82eb95d9f6034ca906cd821e7f71d2b7bd5e36318f0077963e0db458928fb71734df4e92e8c40605581e03fc12e24132c5ebed177c4b5710039ad85b58e0f2bffb312ad115f5eba007011bffffffffffffffff05581e0310368d57627ab6376a62c08cdeac0c8b041a2b9e2456c4c459034ad7f00401039bd15f9aa14ece8d80b984becc7641724aa3eb3a009811361eadb32f7ef675a005581e03e03dadda7c86283a8306fc8d9043c4e4506288fa210eae2f37289bbee00c0148010ae01199891c0005581e03a43b23defa041caf250521e7abc96051dd452f1f50ab61e70cdee04e300c034701c571c6a2e05003b09decb43b9e0bb62719e9107de0752268bb241f48209004bf4162a0b98321fb0308a47a565e571b72b55ff1a6f47911ece3ac2f17659d43f5ab0a13b91dac9d8505581e0369b419951579946e21eec9fa6e90d2163f952b45e50ecb110f15b7c49004030219bfe7038cc724372bf71f33cfafdf8833b13a0eab9d7c5f32f3031119f32b9ab5041d0f039457109611e4800168302bc338c1c0de59af94a90bbc86a3e80214ad5d71d58103d2c02f7e01712b5dbeeabfaaf168e94cbf025b4fd9e455ae6985b15b6cc98a7d03065a2ebd34f4fa6ff766663a9d09ccdc3383a0550d619238dc7cba8a0a91dc4a03bac742f4bf0478bd08aa536ca25b66a65800f4adff36d1510ff30d0a419bf6b9036247b836a54f1e9b5c8124b54e24279ea45e1f2eb516371f0e1fcb6eb07cbb6403d90b229d35857d2c5338761ad4425f35d9801f85654e0e0f69999ac2ac94f1d20340929d0aa0996b5c114801bb0f3120469919a590aa3f47afb8e50f2e5247581a03838e6f706b374b1a083e9539cc4a66b9d46775b99c826232968bb97e34ce419203a4040d7c45d0f137e25a4a4768c727df3861c305f5127e87e39de07de4094fdc03fd4e1adea9025261649336009c0a682ca12f26a05fd4e0d815791f75cfd7c9ff03143ec12edaa3233e10535c38dcee2d886c35a8766121c60901f029c98e41818903cd6cef9d8eed0a090bf4ab43f2fcd6e72e4d55215467abb0dfa5f57949870b7b0219ffff037564d7cd3f36d480b4f27cab4f64b4f15f5d5095abb5984edb7588bc31c114670344efc536ce04263a0d8007add35a9cc76f086d374877743801fd0e29d6226c2e03d4b0d905f940d08da5a24207cb4b33a7ad2878ff8392c0df0789864b3034d8c903809287950ea0a72c117ea5e3e31a0a5822d38b05d9bb3cbe2c9ba6b1d6438b4e032a48ffcd35005be147a52ceefe2047960bb8bbaf18635ac3a2d4225e32432a9103292ae26c7e3ed57e92b954e708b3157c7571e2f907e717efef0cc324b87edd9703833a32f58574eeaea8fd670f9a6917bfd435d846ea4a73c4d3654c97130f55df03400818bf722c0b40a9e1cce6ba4f6720a247e71c1926e132bdd74ab16d751acb03e1c1433ab9477652ebe85bdf2d667100049662d7a102382e53a4769b3b9f35220219ffff034e1a6c2a2b0a850c7f443f53d49adbc32ee4f289c8907379afffda3d13a37da50399ef91b45880737f369dfb0f20018550a23a5463e398d296b754653a365ded9e032c7b07ec89328f443b2ad14b2dd5522262b3904b7ed725ba68b703ffa26a175103c9d7db7d47ef1a655576c0ac39768d4e29474ff771be72b421ea62950f54d0dc03b1059ed452ecc5b1876775f9797f76628569aef2ccfcbfd37079829b306d61e603b3e882fbacd69f08a296ee722ee825da1b08b3e550086688e36ff12de1e8a5b403418ac2b2244c5136f000ab36f82f6e5713bd78a618c6f8281e1ebb2ca29080f50219ffff03c17fa8d42ef94afcd41de8a48a2d721dc4fad31aa5c6f5f797a02b508d0e250503cf1834df11d65e503ff7de1732429e984d4ee97d6cf937b22ccd1e8355c716e303df1e5aae5a950454bf55ae41cce411856ed3dc356e89c05efa1954823c1a20cc0310cfb93ec30d1e77638b9bdc0ada18c2a7a3445f94e003c613f0128d47cf441d0219ffff03477d0f078cf630c8bf188a8c3cf88926fbb9519e0cb8cb351864caa82a2ad62f034bd95be3d9179d40267a407b91d7120c682f84cb1ef752efd6ae2d62360a8c2203c3c21acb0fb230111e350fc6d3ac53e59b081bde5d78a7efc2ec16eaad1bed0b0377797b20aa924794cc64b694754d6b8dafc935031bae60dd2b725c1c18fdc27403a0eafe9e3aa275158464380dea6bbc8f6cbabe959e3e5b240335b5d9a278cf7a0355dd98bcb537f6d3decb397b4e4adcd604365e84aa662bcaeab8bedf572894c403b33efdcab7a9497d4ff4e9127efa78b8d564ddc69ecb2091bef5ae2d9a9821e2031099c7bb042b36866905e8499c91aa46665644af5b80506f9e7c5cffa785d54e0316154ff568063874e253120d7ebaf2b0f1a0403ecf7bb362c569453c79837e390341246c5b84c0cfe57026def80e90713eff0088e610da3230f4e394769097cac503ea0ee7853711f904e1b350112bfaa00b466b3a4d38d488abbace631c5f38a62a033e2ae15793095709448ce99147506624c8741dcc0bda7d5087e118c0801ed1c003c2a1b88fcda88283cbde6114a67db83eec9f96e1f3ef44cb397665fe48dfa01f030c99683724c408b3c7e9c27bdabd0c59246164eb169db48bdc4599ab4c9ce7cb036c001cd4ce51a8fd264e10e8536dc35a1b7af85dc5692c4cb8ee593c1f61988303a5213855fb1af12ea6555e5838a3fb71b0586feb75fb9bd69356c64cc106b6e203e06c4512e4a24be5135afda236c9001e48c6c4cc8cb0d5819d33eedb90d18a5d05581e03cca80699a7953aa1fe46b43a46e7ad77ff0f6efdc5fe15ab81ed5b3680040205581e03d889b98824d42e3cc2810d4857c7da973afd65d530593c44dbaf32b6d00c0146a2ccaf6a300003b92102004d43d9fdf34328401421252d61ed35663004fbba6228caaa32c253ce03abce5a4ac315b9f2068549938568f007018dc7fef293ebab6cb4f4a5931cf29a03be993f55ff1355cf430ea346f1dbf702587921351001a9c5a8274970b6d02fbc036fab96dc5427078e1227fd268bf43915b99b587b4969c1b51edc8647a9f66de701410105581e035993aa12d70dd2e6cedcc8c9cde8cc6c4b4e1dea189f77394f6b14199004010312cd6863653999b13c1c86eb01d40f0d2d3fa79874e8c432448610c87ae4af45030b95af39e8aaa900efc4a5cb2c826930b92f383c18d909be32a6a11365e358df05581d02958b18279209fe67171755576da28322f7ffdef5c7b3bc30df1e895b07011bffffffffffffffff05581d02af34beda108c209bd4091210ce4a180f9707efc2b675678e4ae71c4b0c02461529aade7c7005581d022f5b2e6f650ac101a9e23f6340ddd9f04a287c1691e5d303f5a69bc3084751b660cdd5800005581d0220fd62e4b58d69d3bfba83dbad10c5c712a6564700ab152c45d66331040305581d02bd09e4e79897b140eb80b07c56332665db141e64fd013177962ca65f0c1a0003e8fa49031434e1b541613f440219260305581e038289a5b1fcd77f5b21bd78e305aa5bd61f0821ecad65585cc8a7bf4f000c03470156848bf840c80374dca646708867f3bc110973edbc002bb3a28408435d3f13c46671da0120e57f02195eba034c435c5fa04b7530ed7ee1dac56da865f36bf96d9882fb18adf1c1a56309230603407555343bc0928e00b83abd14e73f118e6be1b05b933b12ccb685b1ac58cf2c03f5a7834281994c009e099b7f2abfb5bc419f0f6152b31f5255e8aab1813ee1b00219ffff03edadd0d5202545b06ba4ac121fabc3aa05c6a3a6bb7466886eb86bf62a1f58900388aa6b605c6f13c6420a576ff3a2b5e602820f6d4acc4cdd5ec8b30a9a80103d0365e09f700bab161345d91aa4abac3a9dc3311d811a979d97f1ba84d790f00b2a03c50bb6a7bd7d88597624ded9216c0638fc12928079ed0181d7fd6f3a573ab5130321633d6dc3f0063ceef4b3d6c7b9f75e248c013cdefd713f9269f516fd79a25303872fc1fbff415c34bd4ea97e93c310790da92027e8da98b95b77dc2560f7bdc803089c478c754173e63a3bda2bbe2bc325c29a87859d260a85526d7d0eabd06004031e92b1d97bd3a871d448f2375af948be35d6297b51a27bf05d710b8b7a7007190306ff5ade22b59cef649b07ce421d6670e2a0bc0e45dd681539fd7e6dedd4721703fcfda2dcb4bd1918773c47475496b759d059475e58ccdb671abdebe82cbdd3d9038a512d7fa5eb185a26ea05f0fff40a97e0fc70af8a87ce3ee1f866833f75c8df030727be42d78d9d26134a5cf7b401691dde1ab07119f040d6c0da63955083b4970378b6c51c7c9bdd953ee1c917b44660ba91a7d99cb265a20c662cc104ea675dbd0219ffff03216c34121ca644d58e3db5fe31dab62eaee9e846a4bd923ee72efa4d1ce3b7d00348ee16445d2da9683823da2c2dd512bb886eebbcbef3025dd1607bfab31633ec0384db29a82a3e8e5a170d01627420cc8ddc030ac4abf713e3f765ea47eedaaed603ebb38bdab4d58236ab35f65d3e2f44beeb55011d4e0dc2de3d0a0f5c5e6f68e003e3cfd83da710e9f7d82946151aa9b42f950e10249a199fbbb905602ecab945ca037832f61912e3b2ff6138a4ad106a0463c08a46043981393cceb7cce05c7826f403647bc8c78413df7ea62f9e5cfd9ddbe6ff5c73f9ad09e25cd0746dcde249e1b20341fcdb6304b2b940287329c06d84254120561110e9faddaf8cec40e4de23a74003552aa9f62a41c005d1b28f9180fe60f1c8e4e4f35de6072154e2e60fefb4c93403c99e658add297941b8e5e5fe3590b2efa406aa0baa4b5ad2e051cce3d53b2c5803d2b532f435e38cbb7e3bfe21abee1f8e3e62f469d344813f2c4ed9baf302d7860323b45b67488f5fba9d59e14454c2d0af97204e5cbf000185dd408e95d4f3718c0219ffff03e4dec8aff6cba0ed208d7f1b3bb5127d5c8251343cb375084594ef72330c5d0403a4bc14e6a32b297930120dc00c5e4e075d20e861ada7a2fb8e6edc875c3c5a4403256ae613ac5e57bc9d56a11cd9f8cb917f624fbee6d0326f1b48d25618d4a1d603bfdda83a8c7fc62cd3d09035ee6abdf72109aceb50ab07ccf237e0be5302004303d1fc9027bc048929689170a2979ead91627d8bea5e8d048bd205b89b86bbe0ff03f8d76cb86905bf413f4661c0a4fb48ee52846ed0726a35e3ed1bea571b0abf0803caf74902ccc41380a278548708282797686c235d59aa2185fda9d6748fb4872503e52135b5ac673e8eb30cd5f76e8f96ff3b5c2d93d0382fdf027d453f353abf7f033341a82d49e1e00efbe5b3990f9c224cefe3598060924d66e8d8d52a984b7198037f627ad0175c81cf6797775da8f5589c059bbb56f9032617bbfb0f2aeb42900b031a61529e027c9e21e614b8a0954e37342e32f552b3f5bacedeeeaf96e00bfe4f030022dc15efba927698b973c646ae8883fe9576c04ef2c0c785eb66314038b4af03225068bae8ce3a554c6e9e563cd1fbbd575796c3c9b663b03914c6569814c261045953d060806040526004361061031e5760003560e01c80636a42b8f8116101ab578063a70885c1116100f7578063c45a015511610095578063dda692d41161006f578063dda692d4146108d9578063ea2cc896146108f9578063ec649af914610919578063eea0bba61461093957610325565b8063c45a015514610884578063ca85dfc714610899578063cfa4e551146108b957610325565b8063abc27eed116100d1578063abc27eed146107fd578063ae9779c61461082f578063b03855531461084f578063bc10703e1461086f57610325565b8063a70885c11461079b578063a7106d0a146107c8578063a875ca7c146107e857610325565b80638823151b116101645780639981d6321161013e5780639981d6321461071b578063a10776511461073b578063a4ccc7a31461075b578063a6ae80e21461077b57610325565b80638823151b146106d15780638da5cb5b146106e6578063991991c7146106fb57610325565b80636a42b8f81461063d5780636cfd15531461065257806375f3a1b5146106725780637df98acf146106925780638129fc1c146106a75780638316c144146106bc57610325565b8063329d44bf1161026a57806342271de21161022357806358d30ac9116101fd57806358d30ac9146105ca5780635b0489a0146105dd57806364cc71bf146105fd57806369328dec1461061d57610325565b806342271de21461057557806342f8755e1461059557806344ac834c146105aa57610325565b8063329d44bf146104c957806334259b1b146104de5780633643be68146104fe57806339cb1f3e1461051e5780633fc8cef314610533578063410847691461054857610325565b806313af4035116102d757806322604a46116102b157806322604a461461046c578063232ab3df146104815780632d814ea2146104a1578063316e991f146104b457610325565b806313af40351461040a578063158ef93e1461042a57806321426c4d1461044c57610325565b806301d22ccd1461032a578063033a930514610355578063040141e5146103825780630aa5d585146103975780630b7f942f146103b95780631271f09a146103e857610325565b3661032557005b600080fd5b34801561033657600080fd5b5061033f61094e565b60405161034c9190614d68565b60405180910390f35b34801561036157600080fd5b506103756103703660046149f1565b61095d565b60405161034c9190614edf565b34801561038e57600080fd5b5061033f610972565b3480156103a357600080fd5b506103ac61098a565b60405161034c91906151fc565b3480156103c557600080fd5b506103d96103d4366004614aa1565b610990565b60405161034c93929190615282565b3480156103f457600080fd5b50610408610403366004614b00565b6109ed565b005b34801561041657600080fd5b506104086104253660046149f1565b610aba565b34801561043657600080fd5b5061043f610ba1565b60405161034c9190615274565b34801561045857600080fd5b50610408610467366004614b41565b610baa565b34801561047857600080fd5b5061033f610d4d565b34801561048d57600080fd5b506103ac61049c3660046149f1565b610d5f565b6103ac6104af366004614cc8565b610fd7565b3480156104c057600080fd5b5061033f6113df565b3480156104d557600080fd5b506103ac6113ee565b3480156104ea57600080fd5b506103ac6104f9366004614a61565b6113f4565b34801561050a57600080fd5b506103756105193660046149f1565b6114cc565b34801561052a57600080fd5b506103ac6114e1565b34801561053f57600080fd5b5061033f6114e8565b34801561055457600080fd5b506105686105633660046149f1565b611500565b60405161034c9190615263565b34801561058157600080fd5b506103ac6105903660046149f1565b611507565b3480156105a157600080fd5b506103ac611519565b3480156105b657600080fd5b506104086105c5366004614a61565b61151f565b6103ac6105d8366004614cc8565b6116b1565b3480156105e957600080fd5b506104086105f8366004614aa1565b611a38565b34801561060957600080fd5b506105686106183660046149f1565b611b09565b34801561062957600080fd5b50610408610638366004614b00565b611b21565b34801561064957600080fd5b5061033f611bfc565b34801561065e57600080fd5b5061040861066d3660046149f1565b611c0e565b34801561067e57600080fd5b506103ac61068d3660046149f1565b611ce0565b34801561069e57600080fd5b50610408611ced565b3480156106b357600080fd5b50610408611d44565b3480156106c857600080fd5b5061033f611e41565b3480156106dd57600080fd5b5061033f611e50565b3480156106f257600080fd5b5061033f611e68565b34801561070757600080fd5b50610408610716366004614ad5565b611e7d565b34801561072757600080fd5b506103ac610736366004614a61565b611f32565b34801561074757600080fd5b506105686107563660046149f1565b612007565b34801561076757600080fd5b506103ac6107763660046149f1565b612018565b34801561078757600080fd5b506103ac6107963660046149f1565b612023565b3480156107a757600080fd5b506107bb6107b63660046149f1565b612035565b60405161034c91906151ed565b3480156107d457600080fd5b506107bb6107e33660046149f1565b612040565b3480156107f457600080fd5b506103ac612056565b34801561080957600080fd5b5061081d610818366004614a29565b61205d565b60405161034c9695949392919061523b565b34801561083b57600080fd5b5061040861084a366004614ce3565b6121d8565b34801561085b57600080fd5b506107bb61086a3660046149f1565b6122d6565b34801561087b57600080fd5b506103ac6122dc565b34801561089057600080fd5b5061033f6122e2565b3480156108a557600080fd5b506104086108b4366004614ce3565b6122fa565b3480156108c557600080fd5b506103ac6108d43660046149f1565b6123e9565b3480156108e557600080fd5b506103ac6108f43660046149f1565b6123f4565b34801561090557600080fd5b506103ac610914366004614a29565b612406565b34801561092557600080fd5b50610408610934366004614aa1565b61245c565b34801561094557600080fd5b5061033f612551565b600d546001600160a01b031681565b60096020526000908152604090205460ff1681565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b60055481565b6001600160a01b0382166000908152600960205260408120548190819060ff166109d55760405162461bcd60e51b81526004016109cc90614ff8565b60405180910390fd5b6109df8585612560565b919790965090945092505050565b600f54600114610a0f5760405162461bcd60e51b81526004016109cc906150ac565b6002600f556000546201000090046001600160a01b03163314610a445760405162461bcd60e51b81526004016109cc90615106565b6001600160a01b038116610a6a5760405162461bcd60e51b81526004016109cc906150ca565b610a758382846125cb565b7f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e838284604051610aa893929190614e0e565b60405180910390a150506001600f5550565b6000546201000090046001600160a01b03163314610aea5760405162461bcd60e51b81526004016109cc90615106565b6000546001600160a01b0382811662010000909204161415610b1e5760405162461bcd60e51b81526004016109cc90614f62565b6001600160a01b038116610b445760405162461bcd60e51b81526004016109cc906150ca565b6000805462010000600160b01b031916620100006001600160a01b038416021790556040517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe290610b96908390614d68565b60405180910390a150565b60005460ff1681565b600f54600114610bcc5760405162461bcd60e51b81526004016109cc906150ac565b6002600f55600d546001600160a01b03163314610bfb5760405162461bcd60e51b81526004016109cc90615106565b6001600160a01b0384166000908152600e602052604090205460ff16610c335760405162461bcd60e51b81526004016109cc90614f08565b610c3e8685876125cb565b6000846001600160a01b0316848484604051610c5b929190614d58565b60006040518083038160008787f1925050503d8060008114610c99576040519150601f19603f3d011682016040523d82523d6000602084013e610c9e565b606091505b5050905080610cbf5760405162461bcd60e51b81526004016109cc90614f9e565b7f6e11fb1b7f119e3f2fa29896ef5fdf8b8a2d0d4df6fe90ba8668e7d8b2ffa25e878688604051610cf293929190614e0e565b60405180910390a1846001600160a01b03167f1e959d92e9e4ab661f141ee9cdeafb5af85bd65f76ff12f4254ceae6975a4a4a858585604051610d3793929190615205565b60405180910390a250506001600f555050505050565b60008051602061531b83398151915281565b600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0383161415610d9557506710a741a462780000610fd2565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486001600160a01b0383161415610dc6575064012a05f200610fd2565b73dac17f958d2ee523a2206206994597c13d831ec76001600160a01b0383161415610df7575064012a05f200610fd2565b732260fac5e5542a773aa44fbcfedf7c193bc2c5996001600160a01b0383161415610e265750626acfc0610fd2565b737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06001600160a01b0383161415610e5a5750670f43fc2c04ee0000610fd2565b73d33526068d116ce69f19a9ee46f0bd304f21a51f6001600160a01b0383161415610e8f575068093739534d28680000610fd2565b7348c3399719b582dd63eb5aadf12a40b4c3f52fa26001600160a01b0383161415610ec5575069021e19e0c9bab2400000610fd2565b735a98fcbea516cf06857215779fd812ca3bef1b326001600160a01b0383161415610efa5750686194049f30f7200000610fd2565b739f8f72aa9304c8b593d555f12ef6589cc3a579a26001600160a01b0383161415610f2e57506718fae27693b40000610fd2565b731f9840a85d5af5bf1d1762f925bdaddc4201f9846001600160a01b0383161415610f6357506815af1d78b58c400000610fd2565b73514910771af9ca656af840dff83e8264ecf986ca6001600160a01b0383161415610f985750680d8d726b7177a80000610fd2565b733c3a81e81dc49a522a592e7622a7e711c06bf3546001600160a01b0383161415610fce575069010f0cf064dd59200000610fd2565b5060005b919050565b6000600f54600114610ffb5760405162461bcd60e51b81526004016109cc906150ac565b6002600f5561100d60208301836149f1565b6001600160a01b031661102660c0840160a085016149f1565b6001600160a01b03161415801561106d575061104860408301602084016149f1565b6001600160a01b031661106160c0840160a085016149f1565b6001600160a01b031614155b80156110925750600061108660c0840160a085016149f1565b6001600160a01b031614155b6110ae5760405162461bcd60e51b81526004016109cc90614fbc565b60006110ba473461271d565b90506000808061110a6110d060208801886149f1565b6110e06040890160208a016149f1565b60608901356110f560a08b0160808c01614cae565b61110560c08c0160a08d016149f1565b61274d565b92509250925085604001358311156111345760405162461bcd60e51b81526004016109cc90615070565b600061114660a0880160808901614cae565b801561117a575073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc261116f60208901896149f1565b6001600160a01b0316145b9050600061118661285d565b90508082156111c057853410156111af5760405162461bcd60e51b81526004016109cc90615124565b6111b981876128b2565b90506111de565b34156111de5760405162461bcd60e51b81526004016109cc90615016565b60408051610100810190915260008051602061531b8339815191529063953556e29083908061121060208f018f6149f1565b6001600160a01b031681526020018d602001602081019061123191906149f1565b6001600160a01b031681526020018a8152602001600081526020018d608001602081019061125f9190614cae565b15158152602001306001600160a01b03168152602001620ad57081526020018d60c00160208101906112919190614d13565b63ffffffff168152506040518363ffffffff1660e01b81526004016112b6919061517e565b6020604051808303818588803b1580156112cf57600080fd5b505af11580156112e3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906113089190614cfb565b9750821561132c574782018781111561132a5761132a338983036137186128f3565b505b50869150611342905060c0880160a089016149f1565b6001600160a01b0316337fe5364460056123e21ca8d65f12b1b426fe83d32784e657e16893548cf18c832b61137a60208b018b6149f1565b61138a60408c0160208d016149f1565b888c60400135898e60800160208101906113a49190614cae565b8a60008051602061531b8339815191526040516113c8989796959493929190614e32565b60405180910390a450506001600f55509092915050565b6002546001600160a01b031681565b60065481565b60008082116114155760405162461bcd60e51b81526004016109cc90615142565b600080611422868661298b565b6001600160a01b038216600090815260096020526040902054919350915060ff1661145f5760405162461bcd60e51b81526004016109cc90614ff8565b6114698585612a56565b6000611476838387612ae5565b6001600160a01b0384166000908152600760205260409020549091506114c1906114a990670de0b6b3a76400009061271d565b6114bb83670de0b6b3a7640000612b24565b90612b79565b979650505050505050565b600e6020526000908152604090205460ff1681565b620ad57090565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290565b5061012c90565b600a6020526000908152604090205481565b61371890565b600f546001146115415760405162461bcd60e51b81526004016109cc906150ac565b6002600f55600d546001600160a01b031633146115705760405162461bcd60e51b81526004016109cc90615106565b600060008051602061531b83398151915263ba4d531261158e61285d565b604051806101000160405280886001600160a01b03168152602001876001600160a01b0316815260200186815260200160008152602001600015158152602001306001600160a01b03168152602001620ad57081526020014263ffffffff168152506040518363ffffffff1660e01b815260040161160c919061517e565b6020604051808303818588803b15801561162557600080fd5b505af1158015611639573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061165e9190614cfb565b905080336001600160a01b03167fae72e6c196788feb01710f1a1148358bbb3bcb03fcb2fd14c292876cb0df9e3086868660405161169e93929190614e0e565b60405180910390a350506001600f555050565b6000600f546001146116d55760405162461bcd60e51b81526004016109cc906150ac565b6002600f556116e760208301836149f1565b6001600160a01b031661170060c0840160a085016149f1565b6001600160a01b031614158015611747575061172260408301602084016149f1565b6001600160a01b031661173b60c0840160a085016149f1565b6001600160a01b031614155b801561176c5750600061176060c0840160a085016149f1565b6001600160a01b031614155b6117885760405162461bcd60e51b81526004016109cc90614fbc565b600061179261285d565b90506117a460a0840160808501614cae565b80156117d8575073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26117cd60208501856149f1565b6001600160a01b0316145b1561181157826040013534146118005760405162461bcd60e51b81526004016109cc90615124565b61180a81346128b2565b905061182f565b341561182f5760405162461bcd60e51b81526004016109cc90615016565b6000808061187d61184360208801886149f1565b6118536040890160208a016149f1565b604089013561186860a08b0160808c01614cae565b61187860c08c0160a08d016149f1565b612ba9565b92509250925085606001358210156118a75760405162461bcd60e51b81526004016109cc90615034565b60408051610100810190915260008051602061531b8339815191529063953556e2908690806118d960208c018c6149f1565b6001600160a01b031681526020018a60200160208101906118fa91906149f1565b6001600160a01b03168152602081018890526000604082015260600161192660a08c0160808d01614cae565b15158152306020820152620ad570604082015260600161194c60e08c0160c08d01614d13565b63ffffffff168152506040518363ffffffff1660e01b8152600401611971919061517e565b6020604051808303818588803b15801561198a57600080fd5b505af115801561199e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906119c39190614cfb565b9450846119d660c0880160a089016149f1565b6001600160a01b0316337fb525cef4ce5cbb08f1007413a8c33d89044c5d60a4879574aad09e8ac72ef9ed611a0e60208b018b6149f1565b611a1e60408c0160208d016149f1565b88888d606001358e60800160208101906113a49190614cae565b6000546201000090046001600160a01b03163314611a685760405162461bcd60e51b81526004016109cc90615106565b6001600160a01b03821660009081526009602052604090205460ff1615158115151415611aa75760405162461bcd60e51b81526004016109cc90614f62565b6001600160a01b03821660009081526009602052604090819020805460ff1916831515179055517ff25d9d8f25da7869df01370662ae03c4923e6272877d1a2d9719124c0ef11f2290611afd9084908490614e7a565b60405180910390a15050565b60086020526000908152604090205463ffffffff1681565b600f54600114611b435760405162461bcd60e51b81526004016109cc906150ac565b6002600f556000546201000090046001600160a01b03163314611b785760405162461bcd60e51b81526004016109cc90615106565b6001600160a01b038116611b9e5760405162461bcd60e51b81526004016109cc906150ca565b6001600160a01b038316611bbe57611bb981836137186128f3565b611bc9565b611bc9838284612ca4565b7f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb838284604051610aa893929190614e0e565b60008051602061531b83398151915290565b6000546201000090046001600160a01b03163314611c3e5760405162461bcd60e51b81526004016109cc90615106565b600d546001600160a01b0382811691161415611c6c5760405162461bcd60e51b81526004016109cc90614f62565b6001600160a01b038116331415611c955760405162461bcd60e51b81526004016109cc90614eea565b600d80546001600160a01b0319166001600160a01b0383161790556040517feaa5fe3125389d5a88065ca297da7e3cce7178e00062a28488efbc1550b9c02c90610b96908390614d68565b50670d2f13f7789f000090565b6000546201000090046001600160a01b03163314611d1d5760405162461bcd60e51b81526004016109cc90615106565b600f5415611d3d5760405162461bcd60e51b81526004016109cc90614f80565b6001600f55565b60005460ff1615611d675760405162461bcd60e51b81526004016109cc90614f80565b60008054600160ff19909116811762010000600160b01b03191633620100000217909155600f556040517fad307780531f6353137c35adc50ad58d71b76e76aa891e729387f2e720f2de2090611df89073c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c69060008051602061531b8339815191529073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290614deb565b60405180910390a17f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe233604051611e2f9190614d68565b60405180910390a1611e3f612def565b565b6003546001600160a01b031681565b73c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c681565b6000546201000090046001600160a01b031681565b6000546201000090046001600160a01b03163314611ead5760405162461bcd60e51b81526004016109cc90615106565b6001600160a01b038216600090815260076020526040902054811415611ee55760405162461bcd60e51b81526004016109cc90614f62565b6001600160a01b03821660009081526007602052604090819020829055517f44ef267e747417ef6614a0ab5bee304ba1a35d76759d34170d1b74a850a9d03390611afd9084908490614d99565b6000808211611f535760405162461bcd60e51b81526004016109cc90614fda565b600080611f60868661298b565b6001600160a01b038216600090815260096020526040902054919350915060ff16611f9d5760405162461bcd60e51b81526004016109cc90614ff8565b6001600160a01b038216600090815260076020526040812054611fd590670de0b6b3a764000090611fcf908890612b24565b90613a9b565b90506000611fe3868361271d565b9050611ff0848483613aeb565b9450611ffc8786612a56565b505050509392505050565b600061201282611500565b92915050565b600061201282611ce0565b60076020526000908152604090205481565b6000612012826122d6565b600c6020526000908152604090205461ffff1681565b620ad57081565b6000806000806000806000612072898961298b565b506001600160a01b03811660009081526009602052604090205490915060ff166120ae5760405162461bcd60e51b81526004016109cc90614ff8565b6001600160a01b03811660009081526007602052604090205495506120d38989613b1e565b96506120de89610d5f565b945061217a670de0b6b3a7640000611fcf6120f88c611ce0565b6040516370a0823160e01b81526001600160a01b038e16906370a0823190612124903090600401614d68565b60206040518083038186803b15801561213c57600080fd5b505afa158015612150573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121749190614cfb565b90612b24565b935061218588610d5f565b92506121cb670de0b6b3a7640000611fcf61219f8b611ce0565b6040516370a0823160e01b81526001600160a01b038d16906370a0823190612124903090600401614d68565b9150509295509295509295565b600f546001146121fa5760405162461bcd60e51b81526004016109cc906150ac565b6002600f556000546201000090046001600160a01b0316331461222f5760405162461bcd60e51b81526004016109cc90615106565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561227e57600080fd5b505af1158015612292573d6000803e3d6000fd5b50505050507f6bfdb52068e02c6268abcc9f786555972a2ab9e438cb9ad4726d9421b05c271c816040516122c691906151fc565b60405180910390a1506001600f55565b50600090565b60045481565b73c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c690565b600f5460011461231c5760405162461bcd60e51b81526004016109cc906150ac565b6002600f556000546201000090046001600160a01b031633146123515760405162461bcd60e51b81526004016109cc90615106565b604051632e1a7d4d60e01b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d906123889084906004016151fc565b600060405180830381600087803b1580156123a257600080fd5b505af11580156123b6573d6000803e3d6000fd5b505050507fcfdc0fa6e733f2863350167b241f12163c6e953d05d0506458b36f737ced0492816040516122c691906151fc565b600061201282610d5f565b600b6020526000908152604090205481565b6000806000612415858561298b565b6001600160a01b038216600090815260096020526040902054919350915060ff166124525760405162461bcd60e51b81526004016109cc90614ff8565b6114c18282612560565b6000546201000090046001600160a01b0316331461248c5760405162461bcd60e51b81526004016109cc90615106565b6001600160a01b0382166124b25760405162461bcd60e51b81526004016109cc906150ca565b6001600160a01b0382166000908152600e602052604090205460ff16151581151514156124f15760405162461bcd60e51b81526004016109cc90614f62565b6001600160a01b0382166000818152600e602052604090819020805460ff1916841515179055517f7671a1c2646586e5b59c9d9430eef15c86a9c3342a1c6182ee4473c81ca6711f90612545908490614edf565b60405180910390a25050565b6001546001600160a01b031681565b600080600080600061257187613b3b565b9097509550909250905085156125b0576125a98183116125915781612593565b825b6ec097ce7bc90715b34b9f100000000090613a9b565b92506125c2565b8082106125bd57806125bf565b815b92505b50509250925092565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b1781529251825160009485949389169392918291908083835b602083106126475780518252601f199092019160209182019101612628565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146126a9576040519150601f19603f3d011682016040523d82523d6000602084013e6126ae565b606091505b50915091508180156126dc5750805115806126dc57508080602001905160208110156126d957600080fd5b50515b612716576040805162461bcd60e51b815260206004808301919091526024820152632a241a2160e11b604482015290519081900360640190fd5b5050505050565b600061274683836040518060400160405280600481526020016329a6989960e11b815250613da5565b9392505050565b600080600080600061275f8a8a61298b565b6001600160a01b038216600090815260096020526040902054919350915060ff1661279c5760405162461bcd60e51b81526004016109cc90614ff8565b6127a8868a8a8a613e3d565b935060006127b7838387612ae5565b6001600160a01b038416600090815260076020526040812054919250906127fd906127eb90670de0b6b3a76400009061271d565b6114bb84670de0b6b3a7640000612b24565b9050612809818361271d565b94506128168c828b61403f565b965061282f612824856122d6565b829061ffff1661271d565b87101561284e5760405162461bcd60e51b81526004016109cc90614f26565b50505050955095509592505050565b60006128ad620ad57060008051602061531b8339815191526001600160a01b031663fe173b976040518163ffffffff1660e01b815260040160206040518083038186803b15801561213c57600080fd5b905090565b80820182811015612012576040805162461bcd60e51b81526020600480830191909152602482015263534d344560e01b604482015290519081900360640190fd5b6040516000906001600160a01b038516908390859084818181858888f193505050503d8060008114612941576040519150601f19603f3d011682016040523d82523d6000602084013e612946565b606091505b5050905080612985576040805162461bcd60e51b815260206004808301919091526024820152632a2419a360e11b604482015290519081900360640190fd5b50505050565b60405163e6a4390560e01b81526000906001600160a01b03808416908516119073c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c69063e6a43905906129d79087908790600401614dd1565b60206040518083038186803b1580156129ef57600080fd5b505afa158015612a03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a279190614a0d565b91506001600160a01b038216612a4f5760405162461bcd60e51b81526004016109cc90614f44565b9250929050565b612a5f82610d5f565b811015612a7e5760405162461bcd60e51b81526004016109cc90615160565b612ac2670de0b6b3a7640000611fcf612a9685611ce0565b6040516370a0823160e01b81526001600160a01b038716906370a0823190612124903090600401614d68565b811115612ae15760405162461bcd60e51b81526004016109cc906150e8565b5050565b600080600080612af58787612560565b9250925092506000612b088484896141f9565b9050612b18826114bb8884612b24565b98975050505050505050565b6000811580612b3f57505080820282828281612b3c57fe5b04145b612012576040805162461bcd60e51b81526020600480830191909152602482015263534d324160e01b604482015290519081900360640190fd5b6000612b858383613a9b565b9050612b918282612b24565b831461201257612ba28160016128b2565b9050612012565b6000806000806000612bbb8a8a61298b565b6001600160a01b038216600090815260096020526040902054919350915060ff16612bf85760405162461bcd60e51b81526004016109cc90614ff8565b612c038a898961403f565b6001600160a01b038316600090815260076020526040902054909550612c3890670de0b6b3a764000090611fcf908890612b24565b92506000612c508383612c4b898861271d565b613aeb565b9050612c5e878b838b613e3d565b9450612c77612c6c846122d6565b829061ffff166128b2565b851115612c965760405162461bcd60e51b81526004016109cc90614f26565b505050955095509592505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310612d205780518252601f199092019160209182019101612d01565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612d82576040519150601f19603f3d011682016040523d82523d6000602084013e612d87565b606091505b5091509150818015612db5575080511580612db55750808060200190516020811015612db257600080fd5b50515b612716576040805162461bcd60e51b815260206004808301919091526024820152635448303560e01b604482015290519081900360640190fd5b7f647cacf4874ca900db0a09a56d282eac900005705eec4a971b50b39f243806a660008051602061531b833981519152604051612e2c9190614d68565b60405180910390a16040517f612518eecbf6491423e1ec6a03c4caba5f27e4dd57d422bd9863ec33e9906b9a90612e6690613718906151fc565b60405180910390a17f185140d83ae1cb13190a5694fb3a00d83535d708bdc45f5cc096009b94caeeae620ad570604051612ea091906151fc565b60405180910390a160008051602061537b833981519152732fe16dd18bba26e457b7dd2080d5674312b026a26000604051612edc929190614d7c565b60405180910390a160008051602061537b83398151915273048f0e7ea2cfd522a4a058d1b1bdd574a0486c466000604051612f18929190614d7c565b60405180910390a160008051602061537b8339815191527337f6df71b40c50b2038329cabf5fda3682df1ebf6000604051612f54929190614d7c565b60405180910390a160008051602061537b833981519152736ec472b613012a492693697fa551420e60567ea76000604051612f90929190614d7c565b60405180910390a160008051602061537b8339815191527329b57d56a114ae5be3c129240898b3321a70a3006000604051612fcc929190614d7c565b60405180910390a160008051602061537b8339815191527361fa1cee13ceeaf20c30611c5e6da48c595f7db26000604051613008929190614d7c565b60405180910390a160008051602061537b83398151915273045950a37c59d75496bb4af68c05f9066a4c7e276000604051613044929190614d7c565b60405180910390a160008051602061537b83398151915273bee7ef1adfaa628536ebc0c1ebf082dbdc27265f6000604051613080929190614d7c565b60405180910390a160008051602061537b8339815191527351badc1622c63d1e448a4f1ac1dc008b8a27fe6760006040516130bc929190614d7c565b60405180910390a160008051602061537b833981519152730e52db138df9ce54bc9d9330f418015ed512830a60006040516130f8929190614d7c565b60405180910390a160008051602061537b83398151915273dde7684d88e0b482b2b455936fe0d22dd48cdcb36000604051613134929190614d7c565b60405180910390a160008051602061537b8339815191527343102f07414d95ef71ec9aeba011b8595ba010d06000604051613170929190614d7c565b60405180910390a160008051602061533b83398151915273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26710a741a4627800006040516131b3929190614d99565b60405180910390a160008051602061533b83398151915273a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4864012a05f2006040516131f3929190614d99565b60405180910390a160008051602061533b83398151915273dac17f958d2ee523a2206206994597c13d831ec764012a05f200604051613233929190614d99565b60405180910390a160008051602061533b833981519152732260fac5e5542a773aa44fbcfedf7c193bc2c599626acfc0604051613271929190614d99565b60405180910390a160008051602061533b833981519152737f39c581f595b53c5cb19bd0b3f8da6c935e2ca0670f43fc2c04ee00006040516132b4929190614d99565b60405180910390a160008051602061533b83398151915273d33526068d116ce69f19a9ee46f0bd304f21a51f68093739534d286800006040516132f8929190614d99565b60405180910390a160008051602061533b8339815191527348c3399719b582dd63eb5aadf12a40b4c3f52fa269021e19e0c9bab240000060405161333d929190614d99565b60405180910390a160008051602061533b833981519152735a98fcbea516cf06857215779fd812ca3bef1b32686194049f30f7200000604051613381929190614d99565b60405180910390a160008051602061533b833981519152739f8f72aa9304c8b593d555f12ef6589cc3a579a26718fae27693b400006040516133c4929190614d99565b60405180910390a160008051602061533b833981519152731f9840a85d5af5bf1d1762f925bdaddc4201f9846815af1d78b58c400000604051613408929190614d99565b60405180910390a160008051602061533b83398151915273514910771af9ca656af840dff83e8264ecf986ca680d8d726b7177a8000060405161344c929190614d99565b60405180910390a160008051602061533b833981519152733c3a81e81dc49a522a592e7622a7e711c06bf35469010f0cf064dd59200000604051613491929190614d99565b60405180910390a160008051602061535b83398151915273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2670d2f13f7789f00006040516134d4929190614d99565b60405180910390a160008051602061535b83398151915273a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48670d2f13f7789f0000604051613517929190614d99565b60405180910390a160008051602061535b83398151915273dac17f958d2ee523a2206206994597c13d831ec7670d2f13f7789f000060405161355a929190614d99565b60405180910390a160008051602061535b833981519152732260fac5e5542a773aa44fbcfedf7c193bc2c599670d2f13f7789f000060405161359d929190614d99565b60405180910390a160008051602061535b833981519152737f39c581f595b53c5cb19bd0b3f8da6c935e2ca0670d2f13f7789f00006040516135e0929190614d99565b60405180910390a160008051602061535b83398151915273d33526068d116ce69f19a9ee46f0bd304f21a51f670d2f13f7789f0000604051613623929190614d99565b60405180910390a160008051602061535b8339815191527348c3399719b582dd63eb5aadf12a40b4c3f52fa2670d2f13f7789f0000604051613666929190614d99565b60405180910390a160008051602061535b833981519152735a98fcbea516cf06857215779fd812ca3bef1b32670d2f13f7789f00006040516136a9929190614d99565b60405180910390a160008051602061535b833981519152739f8f72aa9304c8b593d555f12ef6589cc3a579a2670d2f13f7789f00006040516136ec929190614d99565b60405180910390a160008051602061535b833981519152731f9840a85d5af5bf1d1762f925bdaddc4201f984670d2f13f7789f000060405161372f929190614d99565b60405180910390a160008051602061535b83398151915273514910771af9ca656af840dff83e8264ecf986ca670d2f13f7789f0000604051613772929190614d99565b60405180910390a160008051602061535b833981519152733c3a81e81dc49a522a592e7622a7e711c06bf354670d2f13f7789f00006040516137b5929190614d99565b60405180910390a16000805160206152fb833981519152732fe16dd18bba26e457b7dd2080d5674312b026a261012c6040516137f2929190614db2565b60405180910390a16000805160206152fb83398151915273048f0e7ea2cfd522a4a058d1b1bdd574a0486c4661012c60405161382f929190614db2565b60405180910390a16000805160206152fb8339815191527337f6df71b40c50b2038329cabf5fda3682df1ebf61012c60405161386c929190614db2565b60405180910390a16000805160206152fb833981519152736ec472b613012a492693697fa551420e60567ea761012c6040516138a9929190614db2565b60405180910390a16000805160206152fb8339815191527329b57d56a114ae5be3c129240898b3321a70a30061012c6040516138e6929190614db2565b60405180910390a16000805160206152fb8339815191527361fa1cee13ceeaf20c30611c5e6da48c595f7db261012c604051613923929190614db2565b60405180910390a16000805160206152fb83398151915273045950a37c59d75496bb4af68c05f9066a4c7e2761012c604051613960929190614db2565b60405180910390a16000805160206152fb83398151915273bee7ef1adfaa628536ebc0c1ebf082dbdc27265f61012c60405161399d929190614db2565b60405180910390a16000805160206152fb8339815191527351badc1622c63d1e448a4f1ac1dc008b8a27fe6761012c6040516139da929190614db2565b60405180910390a16000805160206152fb833981519152730e52db138df9ce54bc9d9330f418015ed512830a61012c604051613a17929190614db2565b60405180910390a16000805160206152fb83398151915273dde7684d88e0b482b2b455936fe0d22dd48cdcb361012c604051613a54929190614db2565b60405180910390a16000805160206152fb8339815191527343102f07414d95ef71ec9aeba011b8595ba010d061012c604051613a91929190614db2565b60405180910390a1565b6000808211613ada576040805162461bcd60e51b81526020600480830191909152602482015263534d343360e01b604482015290519081900360640190fd5b818381613ae357fe5b049392505050565b600080600080613afb8787612560565b9250925092506000613b0e8484896141f9565b9050612b1881611fcf8885612b24565b6000806000613b2d858561298b565b915091506114c18282612560565b6000806000806000856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b815260040160206040518083038186803b158015613b7c57600080fd5b505afa158015613b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bb49190614a0d565b9050806001600160a01b031663b16c524b6040518163ffffffff1660e01b815260040160206040518083038186803b158015613bef57600080fd5b505afa158015613c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c279190614d37565b9250806001600160a01b03166390c7204d6040518163ffffffff1660e01b815260040160206040518083038186803b158015613c6257600080fd5b505afa158015613c76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c9a9190614d37565b9150806001600160a01b031663dc76fabc6040518163ffffffff1660e01b815260040160206040518083038186803b158015613cd557600080fd5b505afa158015613ce9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d0d9190614cfb565b94506000816001600160a01b031663c816841b6040518163ffffffff1660e01b815260040160206040518083038186803b158015613d4a57600080fd5b505afa158015613d5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d829190614a0d565b9050613d9a8782613d95878760006141f9565b61421e565b945050509193509193565b8183038184821115613e355760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613dfa578181015183820152602001613de2565b50505050905090810190601f168015613e275780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082613e4c57506000614037565b613e568484612a56565b6001600160a01b03841673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21415613f06578115613ef457604051632e1a7d4d60e01b81526001600160a01b03851690632e1a7d4d90613ead9086906004016151fc565b600060405180830381600087803b158015613ec757600080fd5b505af1158015613edb573d6000803e3d6000fd5b50613eef92508791508590506137186128f3565b613eff565b613eff848685612ca4565b5081614037565b6040516370a0823160e01b81526000906001600160a01b038616906370a0823190613f35903090600401614d68565b60206040518083038186803b158015613f4d57600080fd5b505afa158015613f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f859190614cfb565b9050613f92858786612ca4565b6040516370a0823160e01b81526000906001600160a01b038716906370a0823190613fc1903090600401614d68565b60206040518083038186803b158015613fd957600080fd5b505afa158015613fed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140119190614cfb565b90508082116140325760405162461bcd60e51b81526004016109cc90615052565b900390505b949350505050565b60008261404e57506000612746565b6001600160a01b03841673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21415614099578161409257614092843360008051602061531b83398151915286614419565b5081612746565b6040516370a0823160e01b81526000906001600160a01b038616906370a08231906140d69060008051602061531b83398151915290600401614d68565b60206040518083038186803b1580156140ee57600080fd5b505afa158015614102573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141269190614cfb565b9050614142853360008051602061531b83398151915287614419565b6040516370a0823160e01b81526000906001600160a01b038716906370a082319061417f9060008051602061531b83398151915290600401614d68565b60206040518083038186803b15801561419757600080fd5b505afa1580156141ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141cf9190614cfb565b90508181116141f05760405162461bcd60e51b81526004016109cc90615052565b03949350505050565b6000816142085782840361420c565b8383035b60120160ff16600a0a90509392505050565b60008061422a85611500565b905060008163ffffffff16116142525760405162461bcd60e51b81526004016109cc9061508e565b604080516002808252606082018352600092602083019080368337019050509050818160008151811061428157fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526000906001600160a01b0387169063883bdbfd906142c5908590600401614e95565b60006040518083038186803b1580156142dd57600080fd5b505afa1580156142f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526143199190810190614be6565b50905060008160008151811061432b57fe5b60200260200101518260018151811061434057fe5b602002602001015103905060008463ffffffff168260060b8161435f57fe5b05905060008260060b12801561438957508463ffffffff168260060b8161438257fe5b0760060b15155b1561439357600019015b600061439e82614574565b90506fffffffffffffffffffffffffffffffff6001600160a01b038216116143e9576001600160a01b03811680026143db818a600160c01b6148a6565b975050505050505050612746565b60006144086001600160a01b03831680680100000000000000006148a6565b90506143db818a600160801b6148a6565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000948594938a169392918291908083835b6020831061449d5780518252601f19909201916020918201910161447e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146144ff576040519150601f19603f3d011682016040523d82523d6000602084013e614504565b606091505b5091509150818015614532575080511580614532575080806020019051602081101561452f57600080fd5b50515b61456c576040805162461bcd60e51b815260206004808301919091526024820152635448304560e01b604482015290519081900360640190fd5b505050505050565b60008060008360020b1261458b578260020b614593565b8260020b6000035b9050620d89e88111156145d1576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b6000600182166145e557600160801b6145f7565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561462b576ffff97272373d413259a46990580e213a0260801c5b600482161561464a576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615614669576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615614688576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156146a7576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156146c6576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156146e5576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615614705576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615614725576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615614745576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615614765576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615614785576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156147a5576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156147c5576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156147e5576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615614806576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615614826576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615614845576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615614862576b048a170391f7dc42444e8fa20260801c5b60008460020b131561487d57806000198161487957fe5b0490505b640100000000810615614891576001614894565b60005b60ff16602082901c0192505050919050565b60008080600019858709868602925082811090839003039050806148dc57600084116148d157600080fd5b508290049050612746565b8084116148e857600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b600082601f830112614965578081fd5b8151602061497a614975836152c4565b6152a0565b8281528181019085830183850287018401881015614996578586fd5b855b858110156149bd5781516149ab816152e2565b84529284019290840190600101614998565b5090979650505050505050565b80358015158114610fd257600080fd5b600060e082840312156149eb578081fd5b50919050565b600060208284031215614a02578081fd5b8135612746816152e2565b600060208284031215614a1e578081fd5b8151612746816152e2565b60008060408385031215614a3b578081fd5b8235614a46816152e2565b91506020830135614a56816152e2565b809150509250929050565b600080600060608486031215614a75578081fd5b8335614a80816152e2565b92506020840135614a90816152e2565b929592945050506040919091013590565b60008060408385031215614ab3578182fd5b8235614abe816152e2565b9150614acc602084016149ca565b90509250929050565b60008060408385031215614ae7578182fd5b8235614af2816152e2565b946020939093013593505050565b600080600060608486031215614b14578283fd5b8335614b1f816152e2565b9250602084013591506040840135614b36816152e2565b809150509250925092565b60008060008060008060a08789031215614b59578182fd5b8635614b64816152e2565b9550602087013594506040870135614b7b816152e2565b935060608701359250608087013567ffffffffffffffff80821115614b9e578384fd5b818901915089601f830112614bb1578384fd5b813581811115614bbf578485fd5b8a6020828501011115614bd0578485fd5b6020830194508093505050509295509295509295565b60008060408385031215614bf8578182fd5b825167ffffffffffffffff80821115614c0f578384fd5b818501915085601f830112614c22578384fd5b81516020614c32614975836152c4565b82815281810190858301838502870184018b1015614c4e578889fd5b8896505b84871015614c7e5780518060060b8114614c6a57898afd5b835260019690960195918301918301614c52565b5091880151919650909350505080821115614c97578283fd5b50614ca485828601614955565b9150509250929050565b600060208284031215614cbf578081fd5b612746826149ca565b600060e08284031215614cd9578081fd5b61274683836149da565b600060208284031215614cf4578081fd5b5035919050565b600060208284031215614d0c578081fd5b5051919050565b600060208284031215614d24578081fd5b813563ffffffff81168114612746578182fd5b600060208284031215614d48578081fd5b815160ff81168114612746578182fd5b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392909216825261ffff16602082015260400190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392909216825263ffffffff16602082015260400190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0398891681529688166020880152604087019590955260608601939093526080850191909152151560a084015260c083015290911660e08201526101000190565b6001600160a01b039290921682521515602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015614ed357835163ffffffff1683529284019291840191600101614eb1565b50909695505050505050565b901515815260200190565b60208082526004908201526315148d5160e21b604082015260600190565b6020808252600490820152632a291aa360e11b604082015260600190565b6020808252600490820152635452324560e01b604082015260600190565b6020808252600490820152635452313760e01b604082015260600190565b6020808252600490820152635452303160e01b604082015260600190565b6020808252600490820152632a291aa160e11b604082015260600190565b6020808252600490820152635452354560e01b604082015260600190565b6020808252600490820152632a29191b60e11b604082015260600190565b60208082526004908201526315148c8d60e21b604082015260600190565b6020808252600490820152635452354160e01b604082015260600190565b6020808252600490820152630a8a46a760e31b604082015260600190565b6020808252600490820152635452333760e01b604082015260600190565b6020808252600490820152635452324360e01b604082015260600190565b6020808252600490820152630a8a460760e31b604082015260600190565b6020808252600490820152635452353560e01b604082015260600190565b6020808252600490820152632a29181b60e11b604082015260600190565b6020808252600490820152632a29181960e11b604082015260600190565b6020808252600490820152635452334160e01b604082015260600190565b6020808252600490820152630545230360e41b604082015260600190565b6020808252600490820152635452353960e01b604082015260600190565b6020808252600490820152635452323360e01b604082015260600190565b6020808252600490820152635452303360e01b604082015260600190565b60006101008201905060018060a01b0380845116835280602085015116602084015260408401516040840152606084015160608401526080840151151560808401528060a08501511660a08401525060c083015160c083015263ffffffff60e08401511660e083015292915050565b61ffff91909116815260200190565b90815260200190565b60008482526040602083015282604083015282846060840137818301606090810191909152601f909201601f1916010192915050565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b63ffffffff91909116815260200190565b60ff91909116815260200190565b60ff9384168152919092166020820152604081019190915260600190565b60405181810167ffffffffffffffff811182821017156152bc57fe5b604052919050565b600067ffffffffffffffff8211156152d857fe5b5060209081020190565b6001600160a01b03811681146152f757600080fd5b5056fe635fb739dc955214b39dbcc987717c6f3b590bbb8da956e2964596f9771c3def000000000000000000000000c3a99a855d060d727367c599ecb2423e0bebee24299766fadddb9429bf0a3814f8105c4a4edcf6e3e378909a8c42637022c851134784a6de892bd1ddffd059cd29f5a1c10f91e18a2e82fc654cec6d519b55ca536b4044e33be5af8fcdb7449c49137010eede3c8c06d5d08067151a7ace17266da2646970667358221220e8a8263a82e5e29fe756afe7b3edd5ea8439f526cb086c8275cc6542c78614e864736f6c634300070600330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563056ab066655a991550debaec0aa1cdd4f3bd7bb5483000100582103d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802041020219010405581d02546ff1961c64229a6a390243e2bf8ec0a790da56f0feabe8ee027d3107011953d005581d02641a65f60a3975134962cde889fb7cec9f564285030317949ad24f6c0405021403191e50a1b9078a4341873119e4dac1cca0d49e7b643e2c6c634c3fa3c5a4e6ec0141010369553c760635af878a29a29bf698f971146aabe261dedbd0a9f5fc579fb91c8a03687acb9870958178cb3fecf4a4ddb4557e6b96acfbd0d7cef90fd4891865ac6005581e037e075d81eeb4d7ca0d75af4e1b905f65f20d61226602068734bff75c000c181e47189fa68ac3e3dd03ffc12b3095fb5329b2a3764e092b0c256f7a33f17d5ecbb82dae290e86dc38eb0392de12fce50b3a96ad11f0739985ce40709a76359deb64372d8901094cb3444c0377499ebcf2d7479ffccd207092081a149699f0cbab6da024d5b49b443a25de3a0359fd8a3db3f4b510950e1bb19214298d4829aa6471f76ce2ae267db4fdf3f55605581e032e75ba43bcb93365d4ac0b37623f247010d2e25910e3f7491d96ba3650084701402462f6000005581e030963bb46d82d29a1d5d2b3e5a43510fb59b441ea3b3657962610c561f00c02462010d7c1a42205581e031f84c2d836b1817374a4f1b358ea65e7eab69c91302328f623397309600c024710c433cda6b0000219f37703b58426c86dd1c997d285e7f83a8432c81aa4910ab65ac5ea1bee2e8c4293a145034d9232fd9e292f124ddf3e779959aea0d730b8a55753b6b4d73ba5e246bce5de035474851479e71e38c3f2202e01fe093d9f8a712330017c29e3f94c908dac788a038f9a831f7fd4a652866d0429164982cb0c8ec3d4636d327995a4a48f3205ccdb035c8d54300afd22ae3a397b30fe3f7a7c9c4018cecefdaaa3e239d6ba05f72d2403533843b007f9014e910fd696bd719fa62f3b646d70032dbc8f9019ae8fa5e1350381190ec4738cb27438027901d2825cc4e303c71714b82613fb26dc04c25c7153033cad7a1864f74f5aa74dfcd9ceb208fd81151b7e8db4e29333046ec2f10d1259030964081cc5942eb5e02a659762a45910ad664a4ad7e7e1657034ec337f919789031f67455f1371f56cd248eaf2f100b48fdc6b7cc4174eaee84121099f208249d90323f6d289ce7161df8be9596db805bafca0e26b32f932ec17ecd1247af360bbdd0219ffff03aec6dfc15f2b09ac32cfdde78cf5c4574358a1e5c4c6044c272ad8a7a958e60103cf5d666a882453c477af0ea6214db07d895ea35c989dc9c45cb402a00bb99e08032f3762eceede63ffb59f69d213db1acebd355012ea28ade69868b9eba4a9c930030f5474245ee5be884586b3fe324d220797c1cee61555a7f93609b14cc79820a303ab71e76f8199accc0850749b8e7fa14fa8796399ae49fc89bdf5b08c14ad0c37037f763d976030c3275b37a10377d9c7edd2fb8be150feda507a9e8533557734190384c2296d9626e1e693a7e91a0d517f3d12a41d4509ea70ee177500b0aa0ee34f034d3d483b26a1d5190438d268a237f7fd9f17eb3d5a9d647b98bb01728a6335be03c7cf04b0fa03cbce4d0c2c1abbbadff55513f7ab4f2e1ae347c350290498976103aa73bfde2c75626b3bac28ac5d1e574dd17a45426ed277396db1b6a6527d2b3a039ee0e0c04ce74d62d90fe7300caa7080b94bcec0a1e10aae7bf29fbeac5c72260219ffff030df8fe2cd2b0170055f32799cd7d9ca0ebace1509f3cea353f8137f35452523f0316fc4bc1dd697a7e8a0cb10c93b8210c0705137ae21dc02b5c60439ae4fa3b3f03ea8528ddecfb0fc48deb28e65a18cf7bde363386fc38a66fef54dda372fafb3b036dcca22ab9f86e02b983a643c368d3c78fc5f3ace4710bf8cc23e33013ca14b903ca5de2ead5790f5ec9d1fd0b619ef5ef37674b7a84e19e9eaf01dc372d53ec4e0313226f40488631e551421edcdd8ca5f8eb3c1f37c2101ff2cd323e0d62ca260d03f2c47534faaaccc3850aa43e50ea2d8bdaf22ac2f65bbe42bc93df1e699886020315bec79f5029d8ac73f34a51cfa3a4ea96c504bd82648c660dec939d471fce75038c76e61cc096ea44dc5446e7ecb3be00ca8da7362c4753310e21d0354eb074dc034a598e68b011057a28fa7325a32e00d946f1d346233069a819dec265082e19c003f25244c135db3f839e9f3e2bf8f00f020697084119924094cdbb1d519704102c0336c3851ac9d85976d5eeadd657bad450aa42bd0d6734b389dac261f5116fd8ef03fdf72545542a33c925760a056b8601254ca89af10192ef5ab42ce68be40f28480313ec601f46c9af3512d90e9c86f61397cb1268a14283c18f98d059aca0f875e00219ffff03c6296b440ee847c6a43935cfc17a1fa8a543a4f4427db349ab57a5e70bc3d4d003e12f88da8ebe8084f1c03c8e46a90c94db43ec05c8f961bf68dbc4fdb39f80170329cacf0e757cb562840dd203856f9e98b2f267cd7485c110823a76996d7d9f68037a1e6081259c65fa4af60e5bcb600f780f46cc6c3903adde04c39fa76e59960903c2b2669f2eb3f2e65c1e64215a98a86bd3eb9303af6cc348fe72991d8e02256f0362ffad5e5762b17072591be320cd77b71a736af2e1979ed503ddb12179cb05dc03f76bcdaa974e6e2c7531dd8ec75ffea82956565d4db26d87cf292b1b650624ba03506b6780dc5f20a39fd8a69dac6fb78d8ce03797c3a5a957a049243be3b2d249032a43195a925d57108935146a971c4c866bcc24c1961b59ef4395170713dad29d032957196f37827431c7e34e3827e28df40a74efc1fb6ab13c5d036d76fdef378d032be3f679ef14ff60438ad8e68a38e327eeddae669ead173f0c74f876401ca306031e5141b9ad9796d4efd833a33278dde3d0ddeb5468718238c9d9046fc8a93dfa03cf728ad472218d099e3578de81e9ad233ad4c42043c544a741291e29866f851f03bfdae7bc8f11e52f4281a286a424dab13b193129b4c519fc2f31903c4c27b13503cbfb68e0bddf9559832bce74b35845f5a921cb3c340c2dab41fa748269e3f49d039789616e68d704d377e8b0c714da3a36a2481dfb80095f8496864fffec9f9acc05581e0302b3e50dfe050b5971f34f897734ff1b86b0ae488c7fca8abf8386f300040103e59eee5338b4b8ad0b7b69b7bdd2fdbc3b3c991f99720cff15a6f5d803fc777103337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba030a733b6b7b72ed2cd64f9773bc21c859fe0089dba2740ac9fffbae33026ca2a705581e032b076cfc49c1634aa2fcd28de15c7c3c72b0f4f8d1c47e6b0ab8e7ead007011bffffffffffffffff039f32fe799a527ebf0cfe015f47897df135986675b01615cfd569eb3a70e9d3b403e2c4e1761ae2f257385abfde3934e5beb5a3413d7c6a7ae9b3125f948d80bf6d03cb52271135b617cb7bd85495c8679e63f7db7aa1fe84a48c80060eb49f4d633205581e0325c57e0ca7db4dd8c19b4f8fe6268e254c3d5745393b1f5ee83d91726007011bffffffffffffffff0323f735128bee5ef6ece813400691ff1fdd4b4486362bbafe6f6f8926548ffa3905581d02f689fb4a1a7a64cc057e2c308c7045b13551f76cb49a1b8e76fd55300c044701bfb6c5ff716003b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581d0250f3a41227614a222b1146c992dde5f89c7ab3a5450b161d1b10f45b07011bffffffffffffffff05581d0357c18b04cc6d7ae2c8bdf0f515d7c7a397250632ade6047770125440040204590484600080358060e01c6383197ef081146100385763c89e4361811461005e57631944799f81146100bc5763adf38ba181146101dc576102d4565b6100573373ad7149152a65e6ec97add7b1b1f917dcafcf9b21146102dc565b33ff6102d4565b61007d3373ad7149152a65e6ec97add7b1b1f917dcafcf9b21146102dc565b60171936018060188537838482868660401c6001600160a01b03165af490503d84853e80600081146100b1573d85f36100b5565b3d85fd5b50506102d4565b73a88800cd213da5ae406ce248380802bd53b4764780331415156100eb576100ea604661232360d41b6102ed565b5b6004358030141515610101576101008161030c565b5b5061010b3261030c565b6044356004810135600f198101806024840188378687828973eefba1e63905ef1d7acba5a8513c70307c1ce4415af41515610148573d87883e3d87fd5b50603b1982013561015f601b19840135858361040d565b6370a0823160e01b875230600452602087602489845afa151561018e5761018d60466202313960d01b6102ed565b5b865193506014828401013560801c8410156101b4576101b3604661462760d31b6102ed565b5b6101d384735b93d80da1a359340d1f339fb574bdc56763f9958361040d565b505050506102d4565b73111111125421ca6dc452d289314280a0f8842a653314151561020a57610209604661232360d41b6102ed565b5b6102166101443561030c565b6101c4356004810135600f198101806024840187378586828873eefba1e63905ef1d7acba5a8513c70307c1ce4415af41515610254573d86873e3d86fd5b506084356370a0823160e01b865230600452602086602488845afa15156102875761028660466202313960d01b6102ed565b5b8551610184356014848601013560801c018110156102b0576102af604661462760d31b6102ed565b5b6102cf81735b93d80da1a359340d1f339fb574bdc56763f9958461040d565b505050505b505050610483565b8015156102e95760006000fd5b5b50565b62461bcd60e51b600052600160e51b60205280604052816000fd5b5050565b73d267fda7ecbe322e64bf807de06e8e2284b72da98114730ff82acd0cd11bff58729e7dc9cdcdbe1fcf7a7482141773c47eff2d0b444001dfc2121aaf9b6d6db76af010821473c252ceec3ad24c47657638c323d96249a9f1b42a8314171773ad67d3a4fe6040ccb8ae703a443202ec6b9e4a0f821473d66570edcdade24edda902b28f2172e9ef8395dd83141772d2f4eb459bd4f7b175fd0cec578229bfa3bde78314735b93d80da1a359340d1f339fb574bdc56763f995841473ad7149152a65e6ec97add7b1b1f917dcafcf9b2185141717171715156104095762461bcd60e51b600052600160e51b60205261231360d41b60405260466000fd5b5b50565b600063a9059cbb60e01b8152826004528360245260208160448384865af160008114610473573d6000811461046c57600183511415156104675762461bcd60e51b8352600160e51b6020526201189b60d11b604052604683fd5b61046d565b5b5061047b565b3d82833e3d82fd5b50505b505050565b0605581d039e592c3597f002ea703f75137785fdfbc4d2d7d8356e372eb0f813100701190484021908800219068005581e0393e9e6555fcac980558124e2998ce670c51f5ddb085dd0a7f1a58420200c01464a0c058ca3b0038a911b3b15171df4a6ef037816f2e34be9c36ab3725745dbe0596bd127fb87e90605581e03653698a4a9eeba007a26d4d61d4a6672581ec9509b3773b810c25fc1a007011bffffffffffffffff03b7ef43a6699b504027890fb335e6f711e6b76f60351feb568a19c27a844b617405581e03067fe6ccf2f2f1fe27ff5d73b74ee347447dc1937b23982d7ed17799900c014732484c2d75c9d603bfe792b7e6b9a8132d41c09e8f30939c5f12facf1345087630a92799f843c55702197efc0322c2d2e184956afad0ab72a5792f47f4797d1e5cb418da8719548807fd7d81b703a394b01ec1e4194804d370d75f5cf1d7ae3428d3a193f69fde053c5f8c0997740354a7202e54e8d1185b36e38badf085abb971267b80d55285e686bf5e00905d4f039b6929358fa048e58dc392db1ef6342ba16b7eee94b81816bc3e70ad0c896aac037398438685aa8686784f061433d771db075bb23a7074a02fc8ee1c8d85eab5f60377c53b214060d7860eddee929567d77ef7cdb0d813356eb213861317e068cc4d03afa70981c8b39f8c4399c05077af06ebd5ba8ad2be560d16f78c2663982dfa7003fd334ff7be6076333fa2ba39ff5df7642f076d2539ea1e4e5ba980c5d96b800303a056a72e9f8f15395a64cfdb65684a04f995a6ea75e1472337385a842b922ff40341321158e244b2f60ac36f255c1c0897c1ce7e3900c4061b60704f204801933a031ed7e96c736590e447d66b58b300e78311c895a543783303012875722bedec2803229c7fee2d2984992ed985390e8c4f15ee46affba65a839cd8cddc2069c2670e0219ffff035fac4824e195b0960a53588c7251e17b502ecdfc106377bb264da5c41fbc90b3032b6213f016202efec376ebf482bbe1185ede9d998a729ce7d8c8cb762403967e0376886cc0435b0857452b5bf8ecbf02bf7a82cc395c80fa5e724ecaf684a36bda036485eda4c32cdbaab5239d658b7d85f84409e4937b834b31b788251573ce41170219ffff0367c0e0e3cb5daf7e97a47c9ef725f49d58a557922ad244b782ae3d7bf80fd84503b33cd881582e149df780cfc327b414add7663affa894057a4a45ae8cdac4fb4e0367b47807ba1921cc3d707dbc3838c945ce460f1d71ee59d96eaa719604e7ef7d03db27b5e529ea7d7925b75c92a7d67d7cc4811f4519439b4316017cffb3ef497e03c4f10bec5e003f06bf8ab1a0eab594d11a8d579d7b6846527c8543c3e29860b3039398db26656fa6a97e47bf9f2cc1c93c67560728e49811499f1d6da861be6eb303dbebc3fce6391bba7017dd30496be4b6d6af2ccf7690d08108677a89053a3491036be5f5e2b8d249a7cfd7ed5c6c9e9d538572f662adeaea1a56b4aac8479bdd54033bed0e291009b81399cb9db6ea82ed96212f644812b2764c9f24f4290e569619031c07b41cc3323f307eee136865727d459efdc246bd76c6fadea22b8ad48c6bb00368da995358f4703c02db5387f8c73ac08afe65c2393441e3e739ad252d0196ba039338f085f8105a95c78eeaf7460836c43a3eed358ed61cb91bd9d110af28a7dc03f1bb14aeb57bf6396c57c4eaf2516a820533d15e9efc1fbc76461fe297be756d03cd9849255623916bc0abc72500e697988386e75fc9184842d0a7defb0d0db81a0219ffff03a04b2781d011482f83796a1a17793cea50c029ec6aa68fb964da8e30957f0fb103064f9b0f9693ab6d98737fb7c30401fe2a9226e663b172bf0ce1752a88b5fc8c0369fd21f950b4988c19c33148e4a32ac70ff3018c217b72ba3f22c673ccce9c7803616a32f5fe93d77713bb0ef17f5eba49e7f43b71246806a89a8df0d290e807db031639b2ad0589fe71f1eced9f2251b374dcf3c895d8363720c695f7fbbb73220e0348f25969bf6caca64633339c9d2fb47a8fabb21ebcc61bb78460f698ec60a65d030cf6380d4e588cddc1bd9c336642cb3a8c467aaddeb32f9d7d46ecbb8890986d031e0faed551c9209b7f6b3a07c9d04a0501257e0e6afdb9dabb0a4519b592841e0219ffff03b3d610de6aa4e80e507970fa2bf1eaa30e83e76e9bf0a081c339b34844959fcc0387dce70f9ba81bdc8dd96f2f5911de1a93b8047271f7de3f37d2b54e2d83798603fd6e29f14ab5b82f475bace1874b4f6ec8b69546ab8b1354f3e6d1326607776b0343d04cda8a23fbd8414b6aeb7682efe8137614a8744034c793d0e698969c33ac0375f6b2527ed5391f6e5dcd84d056347dbfc40d20008019366ce6a0c478d8ef9b038c519fcc05cd02e27cc28a74200ef4dcb89fc1788b4107358dd6c15f53015ea603b22712cd906ab593a823c011d7748f6d4f10576ec604829b58ef722e2991605403042af84f330f27abb0d8eedf27cbc7f6e1c4a1ab886e1c3b6b5be37505a332ef032fe0de1509d937162653c5237d2c1dd24ca6b99e59a9cfb9610ab48502c718270370084332dd587c5741a48784c1962c6fe81a719d236a3b089db8486667838ffe034a18e42e220e613791dbb85db07e1903ec9ddbfe24b137511b8fcc8099c3ef3b036c95e6eddb8e51790183323cbf453ff5cd1f4163ef2d2cbd644989c9d97009680372b3633fe3c9055768d9b328389c87fe6c2c4853797ad83ff129bb9275e428ca038f889dbf375261b83cb70442290f38f8dbc94e6f70e84eda6334d61d03bfe0530380738f8d66e11e717f0bff9d05f6a4241d6ba4fd67fd66f29c11726a215ef7e503ca7cc669dfafb2b04a8f60f004160a3a46aa5abc74dc077102d700f16a70be210354a0c98e50720c5de104d93f49742968ad21bba621ebf6d333f9476ee996a9d803e96972dcdeff747f18ed101a879b3f0c6ecb39ef3ef6614a4fe78b7f044e417703023b84a10b4ec265d14abc27717e5c8ce63ff1efc86e6e1d91a04f954129f26003e790e636bd7b9e59090c2524fd9678101ccf33514a67d540bc9ab081550c92160310a52bb3eadd7f26e9c6088c7bf905c6c9b88caec64db2657f7490bb1e0a40f1031befd6b8da91553699b7a5281f1f0ec2d54915406af1f0ad985a76e76569f49103adf993eeb8a93c2fcdc6a04b5efb0ec9c9ec01b3b19ed552d095641e47d59d3d032af06dee8c4559b38602aba9db0bb016f4d2053581f618a64f1691abc42dd42f03de89f0933dbb480ebed9a18665f77d08876c1901ed769331f0cf3ae79a5712d6033745a3d484401961bcff544339993fd438b8b91523148dfe3d7da39eb4cd229b039dbdb2236e317df6a8644c02cd879718520fc1e7282a57788f5fb026f74b5fd303c1d39d787c5c5480aa9c2aa5d577ce0d1ef274484b69359bb36b599d2ab65a8103dd30146e891c0cf7e83c2e852c7647778280a1f87a01a39638782919901ee57303e105d57c9b3e0db9519b79127e7a157fb1da0e6955d396def910340e53aa3dc603dd780be34f9a6afa62913b92a00032008c1517709683948ce00bdc08203a719e0302e45f8b1db5a66dab7260ecb69581bececc6c204bf6e886ef05692ee2bc20ac05581e0307c7487d8040842d7dd04ef8d1c10d44530a4115d44b2957a6e104bbd0040204590487608060405261000c61000e565b005b7f000000000000000000000000d0066dc088fc03e949bb77c900de66648cc89bfd6001600160a01b0316330361007b576000356001600160e01b03191663278f794360e11b14610071576040516334ad5dbb60e21b815260040160405180910390fd5b610079610083565b565b6100796100b2565b6000806100933660048184610312565b8101906100a09190610352565b915091506100ae82826100c2565b5050565b6100796100bd61011d565b610155565b6100cb82610179565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156101155761011082826101f5565b505050565b6100ae61026b565b60006101507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015610174573d6000f35b3d6000fd5b806001600160a01b03163b6000036101b457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516102129190610422565b600060405180830381855af49150503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b509150915061026285838361028a565b95945050505050565b34156100795760405163b398979f60e01b815260040160405180910390fd5b60608261029f5761029a826102e9565b6102e2565b81511580156102b657506001600160a01b0384163b155b156102df57604051639996b31560e01b81526001600160a01b03851660048201526024016101ab565b50805b9392505050565b8051156102f95780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000808585111561032257600080fd5b8386111561032f57600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561036557600080fd5b82356001600160a01b038116811461037c57600080fd5b9150602083013567ffffffffffffffff8082111561039957600080fd5b818501915085601f8301126103ad57600080fd5b8135818111156103bf576103bf61033c565b604051601f8201601f19908116603f011681019083821181831017156103e7576103e761033c565b8160405282815288602084870101111561040057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156104435760208186018101518583015201610429565b50600092019182525091905056fea264697066735822122027f80176059c85af4ee8751015dd9e5db167736b2eedc4be4d13ffc86fde444964736f6c63430008140033033483c03a6883bc3a56f6a926eb0b0136f71577196db4036e6ae529dccf4a5d1303c323d9580b28ded4d9aa0628c7c21c1b93bbd22dee180a9e1076c93db7799159035d1a5b698eb905430d33684b12413539a6e04629e057c5b124d49af842774b2a03200c4572ea0ae5b5173e3748098e3f9fe1d982250050f4eb31f49f6385e53f9f03c6ad4c924b312b68f00756008e5257ba71e71a75b9128427bcab60ad8b29fe6d00581f029afdd925ca147901f801dcf795ead17f5f856723af3989eb973cb756b122482e2cf5731157132700581f02c5556ebe252d2628de1fb97603ec24cd69ac0cb672503fb5b5df6ba86d19482e41d5ef4148189400581f02969268e1064f9f6ed9718920831cb099c5c5c224aca9594cb1adaa38f7c04916c4abbebea010000000581f02b1c8a6e34a6b260f1c7d226f3765d66e0c271c8061db94297ff76cf974cc4466cf881300581f02497e314708c49ae0f3c05db91c482fe9a03958bef76033a0b33aaee5a818482e2da0d1032ef77b0219c80303d0039be92830cfb60bf7270f761d92aaeaebff03834e8be36ee2d789ee1aa1be0330cc24b736d100554f9ec4391bd8998be8a53f730dd523d48f081f5ac9eee55a034070f3f108324e6e5294e3bce93c2490e14ef99b721af265a86cc8ccf7645ba403c0cd0330486f54f4c8d072bbfc5b2480ba0ef979c654d090406c76368f15a8d503cadc1d114921f11b02bdc4fa2e8027340e487b2e1424aa01ac5cb42a702d8345036bcc90f2d489372a9fc8967119fdd7c50ae481c15025f9cfa21519c067ba4b6c038020cab228320a67a054c9b53903cde44dd68bd9da925b75e7d7cf64cf4dec56035e3e7bf9a815f29c05ada258105ec20f27539c85575f733eb50e9b0aa7a1cc63033879e6a70baab45f26d4d0f65c9d4317224ace541689bf0f1a9533754231fcda037bdb7932130bba603900e39df1e41aa072261a67998b49f8ac18af5256915769032b07b2748e29c7adb6c8482a063f474175f54c4cc7ee0eb6d65ccbf89c8d0d6f030be93bdbaaff1ccda4e5ba931f27daa9e0c31d7269b9f69a062409668659046903e2bddb3fdd193b34126ab69eab7df2958b55923370b3b491f9a84191dc4895be03631ebd4bb316ddbd7c3f0c3e22223ecc702e90ce1174ca960468b8ad228a57ba0219ffff03ffe093e0ea43f5a65bbf35217ef32c1193b653d444a649a5cdb0b8109e7db4bc03129eacd4673521c8707f5ce769aaf2d8c163828d47020bc1c588518b9098f997039536f419fb1615c77cd7fce9ca5e7a99556aec5078fcbdc17f258c28b073cc520387feecfb963fbe6b4d0d15d906cb2a0d58488cdccf1cb8406136dabfdf70e63003ca5ba87f733f1fc8751b52a4b6becf325ee41285440b5fd0103016217cb86de9032a0f6f7f4a6746dfadfd3fb38accad5f2477f8b2ca35a0cab5ee7b9fb1dfccc40381677229687ae40bc9967f1d511ea24b81feddb5bf59ccc32a1e913750c797e703531c0c4ecb8e2338255dc044f17955efeedc59d7434bd5e52082545c4346de9703cfc6d54460ed6aaaa1d078a877ad14158532b70996add2159251702763ceef8e03ab1806f5f1c866262eb33438f719520396f8e0d4624150abf16e989cda36953303832d052ce3a0b49fc36d46202c3d57e5fac01cb299fbfd15a033acaf76c96f1c03cfaf54be516fff33f9c20b5b49f6a72bd150c32d04c9ec4eeead0ffa8552a43f030681c37ba8770cb06c39243ee75062809b49c041e7372fe119dfbfe98c7058950345d136e957d71ede898103848311ad7f76ae5b812095f6c21e19693ade39a15e00581f02cb96fb22befc6c829c303ae9c7c95bdee3e426e7223b2fbc7807a1ad30f44466d1ef3700581f023b02bb78ca2d654d150532a6f9c82281d61871793c440a863eb736d83a744466d05e6300581f02c53898617cd4ce8b2df2e065ed4c0ea86859723cf7fd5c0668897a6272234466d01807021902c00356611a77ecdd0e0c965f3d12fa5fe892f0d686a4e0270e9560c572bb8f89c67f03584eb78d102ef8fa952d6f1d1034ee347c6b680ef6dfe957277bf01b2e8251760399bb3b9bdb65d900ac963829f0d8891910f9f362cc5ad586ce2c97f2629c1294038ebd0f757775f93012e93acedf91418044bf366ffc5f77ce7e5030b2c341d27d0395dd943a3566fdfb22f218b34abfbde846e7efb210c931741629077d26c1559e03d549b2f8d2979a4d3a1a448ddd499013293fdb70dbc45b7533921f8220e4a15a03d62ec2b67fd3f05f5d5ca47a8086abe257052a55e5722d9909d6a713b057402403af1fd7ee2db5f2883dd33e1bb71992441c85699e178b9a3527da8a872287cd6c0219ffff034fc5d3e3c2f81b93696282d53e0f3a0f0719019a6456ea7f980253f1a0462bd7038576ef5bc0e6f4245d8b1cfcb18639abe9e1ee226aae6f4a915411b05c723062032a581747930ec0a2daf1f28c8d15f3a475a7bad44ae36217d67b9b12fa740e2b03afd5388eed17f54986ac6f890df15ea20ac0d6f5807ad77197b650a2b34fbaa80323dee6d1d7d14d25d6cb48ff143649c48877bd3e17e8d8ffab97c80dcb58aefe0219ffff03c4cf18f9d9e70685d60099d18e1f19ca1dcc787b5fa22bd64659238f5dcef134031e7a1827031ea856b0c7b5b2a4b4baa39649492b448b231ba2a301c15960f387035fc07ef099fcce3f437e072383c6a731fa9d57041cf5028814b1010af6875b5703aa3818caf97c1ba92de4ad9064b1f76a3d04ab3c9c1b7851b8016896e742d1b90399032d7c2d88974488c9ad57342f7f9cb43de46106b4f992a1f5899c9b9aeca803e37c201db013dc4372e762fcccd3ae1a2a06dacce1c8ae21b53e5ac0a53f82e500581f027762918542db9ac9b82e778bf1d30e70e3b3ed3215628c56c78ca9f3cbab4902c54606cfce5979d800581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace446687dae700581f02a78fe04d41d9b05e48a60ed7cbfd31288daec44e5e9d00418cdffe8a7d28482e6628eb65fd74af03a4231b8116c7bfc1f8e94349bd1ea8f3edaf3eb2a7f32228ccd444e6f76b862102191188039a85374832990eb9683e97ecc020f3fc4dba56c36d9ff760256bde3c75375e5303a90cc3d882d762d5cfa8fc57837b82151611d24757f8d3c8bfd79516edc9b692032dd1101723ae8254e7bea966ad8d25664913889fc40b18dc5f143f85b4b48ec803755989f722301c819bf9b5437d7106a0a377cc0b3fb5d33d0976013991a2ee3f03225e234b1ee894cf51f722bcae5ef34c7e042ddcfa95bdcfc34dca583a5d791d036c91da5a599f263fc46e187193b79b35d784ece3df488f97c8adb72c9c5010b70317fa637bc6c6ec29d87fb64753ca2e510ee055787ed301c4291bfde3272ee44a03256bf00de6617434f1c86313ccfebe64cd9d1c5f7a68ea3b5e36c24b8e0c7cae005820035ab3515e0b6f4e46ea74208359b0fb2ea46df0b8f03d46cf1c025403af4bc04853112870db2c1b830333451c8fbedde4265300d42011f7220dfecb500885401ace4d4b8a4b9ad24ed60219ffff03a670df07b7a3ab5310a4817e7c5f4cde7e0b1ada0073028148a6e1a0c284afd903d646daf201951ed4495944fdf2ca6a23313207ad89b97c353de4c46c0be806be03d1b6c4a711a90c3e10cf6f776c760fdc9edee8b63139991b6a6883521a83bf96033294d6e254f7e9310b19740afb1c716582e91d3b39a14a15f0d9de550e7047180374b0ab0bf82eb125c63b0cce85c9fd5582a9fd72ba6e5816310677115c4bfb8e03322e6ac5d0a2ba2035d7d65758947ba6bca9b79a84a729a00bd4e0329d264a9f03b806176a8823ea3f0e7468f95f29cb64ac0b3bd751cfdc9ae0fe83fa9db5f0d803306f4b217e41facd772276e2c1dc851fefe3c90732cf8958006234c0f726e4b103c94a09bdcf9d41cd291bb812d119d71b6226fa22e3b9bd4ee11b27e18d273b2a03bedfda011eb4dfd2651615660bfd75233355d77dbf93097c7567aaaa4a2b9ae503938e13faa6bed8dbb7e63a619af0a1d98920de88a82c0868b17298f30b9a6d5f03319060dc5a93a48cd4d5fae2e2a952fcad958be0eda519f7fce52db979c65a4e036dcb4b7303ae5100fa1c488a7ee248c840196649376ac702f71842aa8b0471b0035f26a87530ad52bf916901b6b3e02dbbd8b8a3c9f3658e56370943ee1d84367903723480ee526c793fce8419379b547e87b6679fd102dc2788a37165b243a7dc3e0219ffff03a3f8c1508c042d688f599e12c22811fdc705485fade22a5467d555d32b792bbf03b9a38ee6b56e8fcba479d84e9703e0a65abc473f64fffac3c451ddb14759a571034f9bc4602261ab38c1fe4c276a56cd3c9c320c75ae7dbd1f52a50b6b90000f7c033265f19941500b03f4b40de0c21a869ba9e92876158de1395d126d8d2497babe036c16486de1abeab5d5d49c773c0b89f9336246cc7c0d75208aee0374d72fee680314ada7c798f9f40e2a8f67537f782e8ca3f292a434abee9ea46fc7f07f2be5a503f876b18a3d5b7a1bf1d7622317ee1b2e1138cf1e5dc474cc254580deaf5d8933038d081cd8e426ca0b76958a9fbd3f9c0f0d9a5fac344a6576949a8e615600305a03c746589a3ef40e7ccded5591e3cc02d596dfbbef5a31a1c9f7d7a63271204b5a03793dca60b12ac27a8028a155280539f80b1fe0b7f7d650981412367272bee8b8037263a4e89a64ccf650f987a257fdc570d24782574af4954a226893e1f1abf9dc03df17dd64d17ca551da67f4f89b1402ac7ede19d6161ecccb8f99d61bc020c67200581f02e8b0745b4d2e0fddeb80b05877c6851e57eb837e347b370f97755fd2151f482e2bd0a7e0c62bbd038273c9d8854ae277fdfdf4a63e9b68780e8ab38b7bac4a693c12a60dc21a918300581f023ecc8a8a5f2ce57835b84b7f40651840e37b32a3d804ae35dd5d835bb6fa482e2d412bf642af82021908500317dda0d1b30910b5979e3a78e3f718b44977cf5bda383e82dd1c5aeb08de13f203e2c10bf42e949f7b0bff640e7a0c3a6af4b747451ac2a656961f98d13053dea5030dfbb57f6551d3d933f0a790056705b8ee464fa435cccd98038821ac4179a8680350ccc7c469db0b73d1c23636de66db7ff02cc5fc7f9428385b9dceb234246171034d086a94f14645fb57d332c84e17cb07d7c8a968ec73bf2ecad76fc1fcec4b590368a206641dbe3fae93f8bf016ad5af7009906dc21cc0d5d19018d418cbb4bc9c03d2237a7d3d28f5df561d5a31b6333b3bd8916b3edaccc516bed38ba89c5d8319037dab0ea440c18d5514ac7aee43bf512b7f1844b3dfb034e9182accd944b1da510219ffff03e18e4b5052f8f54f045028b0f646a3feef73e69fcb5bb1317c3a59c5d00ad7bb039d4aeb558cf6132d14177ed297421eec5176bce1984a922554ce98cb4f5147cc0352958d00a110d4022ae61002d89d770a972c4fde00fcfae585742245479b3eb9038a8f583c0383fe2309380758bc6a5346955de950de87d0d42bf916d01a34cac003e2bedf0224082f8c2b126f2d19b645f8f7e9b3a32179d62e391aae0f996784c4036cc87abe7cde0dde7253093f1f35be1aa37e070f7e4c964a63016f19dfdf78610360ed8b20348eedacc827d8212fca4a9704f6b7b90337316aad43d11924be765b03f70a28a8e8d327b54b0f3f3104c07486fd282cc9b2afc55367d46ec7f885507a03207ca1f2a1ce60680f9078621cf0bd3256576bd5b11a40a021625033744bf690032f8821ad3867f71694fcf2dfa24747f1e3a10e4db2e6d9bd0a79084ef7167b210219ffff033a9c75bc25530b410b7612c1531accbe63ee0bb28d3c4c8c2a49d4b196d8db21034e43fdc85a8c83f1a115b8e05a2bac52622ba7d5b25fdacd893820887c9146eb03fb53681096a924afcad49ba64dad1846c697ab241cd04d1e9490ae2d49e2a652030754bc8d86d239cc0c6e8c8a7b8d53b1215caa32155b54f44071fa3a0bf055160382359784b8a4a382dc8ec1701cd7c578a574328c8b50b3a4485b3f92c9cbae4d03b9fa667615664a216248a31228850ae4596f970761ed0361a335558ad152a16d03c3b81f8836b5377804e68bb4d15ef7b2e1e86f821c0e289b2a0133c4a09684b20347ebb9d9e363ae29a60709fbe353fb00095074b667dacf7f305e480f34c6b3da03cb3c2dfa39b134117bab00f8480dbeeeef706f30990102846892943554d210d0038ff6ef4181865f5916399b495e85ba9e2a589d1674217324c617ba5cb39f2aab03e5a0edaf0d62202d58be63599d5045cb8d4f0f1ec31bd554b66b8ac1f839cb5903684211623b9eba3e0eb12833f2c456175c9af3790294d1870f1c4eeae81ddd1f03eb65a2701dfb0f726060b3b1aa743c8a930727232f0111ef1af58fe3d657a6c60320cdbd9cc4bdc472632e2bc509b3eca61abcf0d65fdc17afbd0467a32385306003e938b146584f2698ebe0f020d0290861016909c66124a4b8b42614553cdd75140373a1970225886322534405a63391e6d5e5f7f09cadf047d07bc71c75b774826903ab8301b0e078f9a08c2214f35861a0d8a1e7900e5540c92531c8de8983bdfc6800581f02d49167c4da3485feac1a82ed83b94c3cd9cc432d7450b85bfff74bccb7034466d2468b00581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d547e486253b1918b3e4fad9d86e79b52394e32615000581f022493e89c73f151334058c0a4d37dc9ffa1b6c7e6611064e9809efc0c94b94466d098d700581f024d08bc90027e87f6a832634e3f5e32e6b37991101c110a99b591ff3636474a3f870857a3e0e380000003e1025b21ac938c57814e781ef7f7ff680532d58fd48d5c85288dd0c0653f4c1602192145031addcadac435c4900f0c1bb92292c5ff72100ee635528425776e10061891a7c80341249ad27d9690e0a1b9af3bed052d6edb79dc24f5cfad72fea6692c2f3b517a03a462f549fa6c2dd2eb42fb565050c935a5c3f33a1609df0b4e2207caac67c01c03f6f9b08dfd3655d618bba0a80f6a67a15d6dc32780bb32bb3b6e54ae81fce3e80219ffff03e0235d340cbc0323cdc71c252a9741ceca4e43725fd31a973ae90fbb7a097d2b037cd88e21b42990870bcd6ed81dc0140101d9adf6d3e4065581037c2fb3536b1d039bbdf665cd45dd52c5d142d1daa19cdad08206acb90a88cb83962b5cb7a9fda40318cb186d394cc30102a199fa2a5d3ffaa9ad5ddbc332930e1d4c14e9dc3df13503d0560432d3053468d99f768c3daa37ba877d2f060382d7c6f45c18fed70669ec0354a37e091758887c45bb5a48fb9fabfa2c655f0da56e16d4b08c15983433fe0c0331a6f1969778f9d5199dda29b2c7fb237c86f73cd1e1ff65859472b19f56f7ea03c4cd0fd971c9d9a0d4c07c872870efd6b05543c5eb86e75bcb33cef07db7ce8d03b6025a5f97661c826b0f94099a82011f9150a682fd87b158bee75d4f528684e80366325527d0d8db1becf8231df3ec5c3a706ecf0226167066bf4ee315d383db3b0219ffff036c4a70f49be4570f56e9ace0106e25dd06e60cf6ef28c4ae3604ddcac7b11e890351e3c13bc746bbdfcd1ef7f634d9fede5f5fe42bfef7656032692ad10bd2be0503f2bdacdcc214ac0f3bae3eb324a02dfa8e5fd5c77b4e6b489528c4ddf29d3c6303bf4a8e5e693a4c34bbaa0fdb019968cf8285138db33ef484780d28fc0098622703ee08030e3b7620687afecb545352905d26a1043916950740c4b14864695fddec03e9b6fd99592161ab0bff5bd1c94bd6b71f5adb487275d7f9856f09801f5135dd0323dc4b1c17090932b05e43b75e82e4a1fa864cb83f513a69aa78d698f1f63f7303154a87f1c75d4a9b62a41097e83ff6f5326cd5a48e81cde16f60a40dee823dbe03ebbe128877ea794aef3976f651a48815b6332770dc971abedf745049dcf5a4fd03df9c4ca7943cd7e93c03e186bacaa99fa8ab21dce9758084e1287b6886044aff03026bc42600d372cefad1fe9600d2b92b30a677a8f7c0f266c05621d6e46fec22031ae2814a49bd8c5e5845529162908cf5a10a53a54b7da350495cbcdac2abc56b037fb556e23588cdc814370cc479dbb910681b7b773afdd53b4a5e91cef2380ed700581f02d31d3f050858c373de0bd1cd1215e1c001916216f3ff975f62dccaefa0954a0165c96647b38a20000000581f0280c79db82258620b7a33c3979b21c564a12b0e35170b0cc4e9157a9190794466f113f300581f035e52b5c1647409f1ee1901bf9b8971bb8a14a952b270e5b4315fdefba970482e37cada889e698800581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04c0383b4dfc1c7848ca64818030219040400581f02984c25f13164d699a26423ecfd6b0e87f0b380c220f50f2a91e8dcbe6ed34a015af1d78b58c400000000581f02c8bddbe5107327faaa82deff04a7cfef7ede6f50b195b370ee3ac33751dd482e2b52e93fead4ee00581f022f187bba42db2381c3bb3d7ab16ccb0a4089230d719a8c2ad8041d3e6e9d482e663087bbb6bc2200581f02956bbe6ab2e01c73ca86510382b11adf7aa7ea1b6076a571d02c60f35c9c4902ef89253b78809b93021909e303114af761baff3f6730cb347265876cd744edaaaabe6a1584d8781334c7913a800345b65120515d2304f21f1401ba0fe24cefb1c2394eda21e41687d9fd4825d82103bab14194b46224f8dae4d9fcc01f08c0a51e6689834d946b28406079782eb94d03ba3783b97220a35fb102d006aec47e337d2cfe87a9e98846f5727de5c22a4cd4036e7168e5e783e7e4007981b80a7baa9df4da9d8bd9f76d50e8ecf5ba1be1e653033b97b86d87a66968002a0d0c1fa84d69312f0cf7a9d9a832455800e52c48fbcb03b31ca326a2b31d4875e9cd7b0abb1e82a3b45d52a919468cc6a00c8fd647214903b3e86efacf2abcc5ca2b35549968238a0f8db416fc95efa0c58101b9f1ad6367037e43c07d748d315b523a7c4276c213832e08cc221399012c8f47b96b025676fe03f0ebe7bc18bbdec2a3e6372b0716c983f327fec76fc10b6ed3cbc8c6486bcc6d03f2ad3674fa321d3230d080f9685f0c35d57a7b0c224647ae03a7f2c0d55486210320c8f9eab100425583c452ffd9dbf3d89f70552d785e5f48c8ea4b4cb8aaca260219ffff034bbc0207aca34207efb0c57821bdc1f07297e19d0bcfd871f98c9e83be75079b03e25bc6044a07017a1dc81b13ab9665dfd636a28ab354b82de9aa5a732c84207a0393355bc16b7faf07ffaa7b54c83c7ed09b35289f5e4d85d0364e3ed731ce4be00350288bd9ebeaca12e1838772b888a0eea131c03aa05fae671ff3a3083764726603c7e0ea39522a937af46d58d4fce8f6da1ae080f88e2919566a89a6d3776fd1fd0219ffff03e75e1c9505b0d45e35f7352a2e95f52ae321a9953fb48a603361aa0979eb7c0b033bd7b09b1643141c6cdaa2981ea0fb8ba9f00d8b5ba2d0b914480c67cede58b203518bc91af1fdd6a6dc0477d8cee3fe086a0c4a59b8c2b5b67012d551aa1ef1f0030819dc122bb55c2ac00c4408fe37b21d83a07466c16323bff5d9a1a45f176d100340dd5ea0a6a3f32eb6d9f2743b944f74b9b1868480799a20566363dcfb85603d03666053fe3affdfd0b0c9ea833de4ba5e90f5818f33e2dae0cbb0fca56f72d58f0399ca2042025ee423758622337d7081e30e7b1ebfa1eeedf6f5efd359ba4e6a3003fee771158f9b7e794cbdc0cd6a9b21d012c0bb5e676996dcca9d32774dea18ca035bff763dc6a511a08c8b6430d2f7216763095f81a0dff52155aefb7ddd514a9e03320088ca67172fc9bf2c5b4d6ff19b73dc7fe7a8ec267dc51b2f54e190340d8203c97097d13b5f974e0b07fe0e5403c3bcf50cde18ae53ddc51f19f27ad8aaa346037065d994ff9f1a59d1a5ecb2333b8b8a325a50c13a224a703f16a56452dc2c4a03d6c3b03ae907d0193896160af1877deca17fca15434bd16acb8c50f88f68b3210354774bd359d85cbe48adf7ee1225eb6f38089d8eee8b9b48fd3f981e58db8b3d03219595f16d2ad9ea28cd43bd2c9f474b57e22f3d244234a3c07744fd655ff323038cc0454f66721f3afbca7075a2a6be8a27e130ef0bba9b3326518c1be91a5fef03197ba4272ad971e68fc703dcd545a83a399503ed9b8be8a2e399cc35486081ea035d685a33ee24c8f71f3221cbad43ddab1114c6d7b498170af00e3fd83ff548e900581f02e6c0331b4043fc514b3588ad1738cc7e6cba67782c33d03546e89d37aa734466d70bc700581f02e155ba37c88ba9f74dd673c1aa1feccd306fff2aad3b2dc28dc19d752e0d482e6533540f8067e300581f0268f71a152da94233c68daecd27a859ceddb7d38d18bc2607d2b2c69938dd4466d08b4b00581f02d457223ad616986fc7c897c570468c3ec21ae7a6c87ad871d586d52fafaf4b02ccd73f1ec530a8e40000021906220355df102d12731d096682c546faee48da6e34f59db03819500024b854d05fe73c039610f3e61558ee4a4ebf64d4191a667e67038c4fcecba94f152bb22db238b58e037447bc9a4709487aa3a757d502640caefb00c30e2d1ce9a1988014c32d3edc3803501ca1e8fb793299c37815272cfa2454d32a5fec79ef411bda319d269620cc2c032c79f1d08ea20e8a2df136cdaa319da1836922f87ad1fd2042d210d169ea0664033f44481b5b7642ed8aa374554e740a9af66b86c8eee0c517e8280abb63bec11f032c4a1a2ec951aa236dc20d195d0be1b80bd5edf36a3f71540e4c69bf28d078e2033a62a732a07b0e94811ce7ede925835183cd97c812ff75a28a82526092ed1457037098474778152419124797991dbd136be50debf886bc1f982ef9c4bfbf481ac203f92dd1e096db2fbfe5e56f4523b77b9255158d537dceaa575fe0a32311b892e70219ffff03a2525a07dbde8048e39d2b2b906a8f826064adf6c91606057624faf3d648238803e1811ab425b4f79435ba006e3ffa90a4381b85f14fd4b5694bf1a71d63a40a1a03f4dc09f27b3e5f204aa9aa655472228b4b386b4d137bba585435f9e2bf20e05c0219ffff03c4b6af021cfd6b192dd1eeb08c721f807cd678dc5ae591437ab496e35683c08603f17e1d77985bd01ec0eecdf01abb1fe1517d25c408aebf0e024b01516c0970ee030bf5112847c83bae13244ae44d134f5d91824932127d7057da341ff9da0d341503b975168a63b00792d18621849d0cdb2bd607bd94221b1351524835d8b1386bff0317039c72d36bfd2720be05d1e5adca42ede543684356a78a54ac6cd95512ec8b034382decb8e0dc51fedccf35a7c79b61a837ba1ef05794c213aa88a433d4b8cff03c2ab1ac110904418f84ff1ec496a68aec155c0f94efcef69ba0fb9cf984b125d038b63044cc65bbd3f7c2efa04bfbf69fc5b2c0cbc8fffe7690bb4753091feec8e00581f02c5755fa750de73cfd11907af1552144de2adadf28b1b2cca82970e6479a04b06ce6b3da0579db261bf3c00581f02f4f9f5d16db37b8f7f1f5baf3acddf4aaa8330afca90e4cdeac2dcecd1f7482e2bc697b6b75fa300581f023ff47a0e7b096813bc38ec24abb3aeff95d2b72bd2fda4df06e84db288c1482e46bdb3c128880500581f0243352fcd48cc1a9f3bf4332f653d87fb5b488e2c695c68a7b34743c7d60c4466dc4b4f0219801c03754c18b9f1b4223d703bdd2a6ac9feca941733407b75d53e206803069949c216036d128b7112049813d8d11b2dceebf18658992187d67929caad6e19b027cc36b503b86b29be8eaab217b26cbf32c7bc5ff23b07560089c99173293494f65099963803828ebf01a2ae8afd729b60ea3e92e4c0e7850d7fa3e2f7e0f79396a3fde0e102037b9ccef7170a8dce673e3d7b7342c0aa0ad1a4d6b4dd4210faa4693cb590e4c5039e6f6ccfd9576670a36cb7424f17a45c228e8e96193ea66a302ed6fd306a968903584f1c0562086521d7ffb31426308d67b7aa999581d3abf6ccd993bf432bad1503648e5c035115936774fea4a1651a7a86198499c2b763ede87eabef63c82304580219ffff03bad70f04d5bde12b82916541569b083f2727d4dfb402cd52cd68b1e0b1454c3503685c29c02800ef7506fb4000aa2b47cb13844bb1fa079ef0bae226e8a812f0c603c1997461a7aab843d482fee615e5405ce658813a7ce93c1e465a14cb3d8679dd0330ff10433c8c065c94c9c132a10a1ba764af92c490f98243ec989aa4d65df24b039bcc35a6454928808cb86f961c63a2084c73b38701935042c6c854dd8a9f3a22031449269e6ab6b06caa9013d9dd7508914353ef1926d14126900d92f9773561ca035e34cee1cf0cbc5d8ea9850f2892f7426054c0e9a72e053bd54adb7f824f025d036ca7129552543a6690665298a57bfdd105509114b065deef28d616266376f439030578d4d4a992d72af2a265af59271f50f0d41ebbc066bf09b75b5e9fd7fb0e7a03946463740dfd85988ba4cd3ee74adc9dc8d8b5c84872b00f0fd727db74a2e67e03d21ff2f4582a889e5bc532219a4a24a588b46da883844a49cc804e7d38a1c984030a26325c33656bbf64bbdd1a5ed603990dc15802c9e79f5922263fa06f6707b103726898e6eaa60917900a138515f584f63b68d56655e1a71375801b97ccc7621c03140c7a983cc25ed3769e3bfeedc01fbb8f11200c056c936298aed81d85a6d00b0219ffff031c08b289846923fee531ae50ca5077ee82f7ad736cefa3da4be2cfbf2668d29e037a8c93e5a65c4f11e7e671aa210ed64187b8644a3b7e92f36dcd7ce7a8ea71d4037d10b3e09f1c2e8899db0659de4fefcf07e8e949dfb44d1e11a548b921af9dc4035438dd6091814e5e87f9674918a0ca10b5a36e058611032253f99a0f5d9f5ebe03e2370fff8ec656bbf6b4f3aa81abd8de3078afc2ff43a1c161d2b93a55b032d1032d815aa0a2f906365cfbc13cbd5420f26e327f6223b1854cd74f68482aeefb6e03c167429be6f42447a29bbc4c77f0279938b768a6861d1e6c3878fefddda2d437030a7979c2619e131fef4e53593b4c2666bbb3aa7af1054f2d6cb6b99d117e3c19031182ef7b8cab36808a519f234d7072ad2fb914cd2d34de26118b172d16e3709e03dc9f49f8d9cc6eeff96d08ae0541a4391de3af1e3c707f470a07da13cf3c1d3d03a2e5f9aa2520901bf788ac1b18cf32bc52cc3574a0dafc71ee46b937dbcee256030ce53e34c06ed6fd7a56a8fe64a82ef90c55da1d68918e8ffe07d507891e5ad900581f0238983de239ecd836ff5c33e6c45ffe24ab3c3978333ce3ad296aa82e14b4482e3d4aa7c1494b5000581f0287d3648f986a4299518f04350f0e86a02009ed9cbf89b03a4361add5c0eb4a0234951e9a4fa4f0500000581f02ccf9cc89b2ee1c39592b9e4301224ddd7d9bfdbc532e3d213f7f2bd63fa5492380104978eac2f00000581f0270bdc5e4ee6895737cfdf268dbbc9fbd31cc446130965eb041171b9c25b749195b7959b388b8000000581f0277910e3852d9c2d0b249ece9b74edf34acee1d4899e9b3d8de893f650a1649195b7959b388b8000000581f02122feb2360934bbce048e28a61b2f7ef5e9157c894264a860fa3c1e126c94466e011f700581f025bcd61549c24ff23ba4aebbcf4173ce9ac585e0c9ec1a3d422439f989a174a54b40b1f852bda00000000581f02263b79417b1a861c963363aeaa5ec4f54bc32b087ff7a26a29a83a6482b2482e606d18f0564d0c0219f0950393eb395c04384663a568a6052771a726aa4f2202454ba8b474f30112ea2ebe4503658bd678b7f1f83e6a81668ab8342af881e836b40d45a9f3450c6ae7f4503892038827171c23b47937e58c6fcc7f241a91089ba2b573e2763292509fda7280e2770219ffff03df45587306407f8417b4a65c6702d34cb4ebbe9b6eff99f028d89eb97fd8adec03f7cae26244238eeabec9c79aba399b71e83fc538b5737d1f260a10dd12f329f80319338b2e557d90e3ebd28e31623acb03947b73f60486f4f4e0e71c899ace80b003bacc6d3482d9a3a1f19c2330b98cdf303f8d7e1757355bda55b21705905a82fd0329b7c43b1888f570a1022a60cc6d0cf5473617d0b534d8c8a9947a4f98a8bd0403f55ca8f8b5dcff7890e1ce5a564b38e9dd4303be0cfda367890753ae12d6f46000581f02f3b20b1287d7e9cd01cb94c226966ab07efcef3a1a7541f97fa0906ec0114466cf3a0700581f02d0de2b4cb5817830e8acbba0054e3efabe22031deb7746c4754664e0b62748525ec88b84a1f58000581f024dc355aabbd9458b8114859a0ab1d410a0662a2187f7ccef0a0a397c75f6482e6477989caddd1a00581f025a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b482e69a15a1c83650d00581f02f2f992039040e66e20c980f9a3ca8d6b3e0174db2f970892712a3d4f030f4466d118cf00581f029625a47314b40aa9aa088519d251a906a33b918931d0e7207055459176f54466d0671b021942f003d0d8d7be5700524de9fd461130ee3b9e1fa2bd4ee151367489ac33d95d4881e303a778d74e484afbc5f3aff3b5f04dd8a7bde4ff926633a2329e16f4024942edb603726085d2ed76a385706dc29097c5834800079a2ef5b9caaec16e7acd9a261c54033d3e44e97c4d2f9bc5f5b8448941f900afb770f32022d57a3c19edfa0b946ba6032795ce2351cd763bb9993cce8ed7b7c4e6a9e9a271800eaec4ff853ece776e4103491c25be047e270d723585e250e25afcf50474c2a6e7cb9d8f783c4db586198303c98451377d6b7665184a0fcb457962cec18e554757724252074210548f3dc7c603c40371a2644ae8193c0bc8e9848ddc995a8c4ea0e46b452643af0d38e00cc13103e2afb573124ea869af813c43bfef3b8f49744bfede468a243431599af53774f103bebd665d3ff40a012f8b725e556b4d55a20cf79dd7763a15f0d4ec0ba2db876a0219ffff034c1b98783519222cda645dc9fffc482de138bc20ae724f7d3fdcfc7533a2bc020317af48dc54d82f1e6df17555e6111c2a65817d6fe43c302d1d6358acb4d8c501033660afee36b30d8176bed913195b21e8b2eb0f20c8e2759409553edc60d46296033a10e5e33072af99a96cba7b76d40cab5c9748ae629567411a7bb922b0c8b25f037bb4d2bbafe56d0ff51f7c1e559c8f1987b3767016866324e5ef3ee0d97ad26003ba1349ee03ac6150bf639cb79ede832dd915fecdc1695fed720182548d1ea73e03cf76f9026125651a19f3006f2f011a13ac3e1e2204219dadf30c36f2fa8bd537032887989867e6c1974dae9b46f19f5968e80c611dbcadbf27e6103c1a89a28f0503d6ddceecf06830a5d6ebb4fc0c54c6798531302884c6940cffa40d8a17e7aa060377ee63c10b00080c88d02969d847d6f71e231bad25dafd367766644a19548f9003419a45d2c70e98c7d661f96df920ae4c049240a8ebc915eb50193bcaf9a46fb000581f023780f367387108a464994141340b33a2736d4ce08f648ccffd121d97115949088467e6586396dd4000581f02f327356f059f35034003d72a3f1abd90961934f7af5b41c2284977520165482e668a34fbcaae2200581f02bd570a69153e32b47749cd1a41313dc7facf96bf999064d4aae2a2dd3e06482e2f7c684bca99880358d6ff81d95598cad5742243730682766556563fa47e05aa2cdeb2a08e3bef9100581f029cf8eaf883002b9f48e28846a8d408c9b58ea6613bace374265e43c9bc43410100581f02393b531e26f208b2cd303eab241582b06501359d3b2a741cf80c643bc1934466d3a45300581f027ff3b84a751ce9a53224a062aedd8cf544f814c34c2610f63c2093e4d2374466d295ff00581f024c58c79cfc2735ab510393503bd007b6c2af9467944aa7c8f08d7329b26f4a021e19e0c9bab240000000581f02f7026bf558222135250e6fb61e341f421882c506914826c3ba4ae37e39024466d5d03700581f02bd1d9a2e7685232a6d4f8c75088637fe6d89824ee38ea194ca61895751a949195b7959b388b800000219ccfa033dab526fc4806cc7692b952122bf0beb62e69c49cc2ba7a4dfafb2075719b89603c43bf52bbfb3193b238490cd5178aec75c0dd3fece589f8e6e7673b9ef82ff7503791e8577924ca206bca60b3baea22f691d3d49222971208463603618a0cb31b303c442739242410a7ecfca0acc7870299119d35fc304a9e260018b75780bea5dd903e199b53c9d9f7d973240b6d02459cba57bf8753d3337112bd30b38d55b05dadb03325aacdddc9f6a515bd764c2a3475091d79672214474cc6dee91d77c9a53ec6e038991d469b85d806db937d8eb7d698d3473a872ecc5146f2a21f10a244916811e03656b129675d8e69a1a6cf48f8489b2af419448a09c5315efdde78269d0968f91033876a2bd18d120bea8d40170fd70afa9cc5eb8603c0e592606557fc552b5edfb0219ffff038cd3393ebf334b81e349a1146ca934408a4452aa3d3b6ef48d24c8bf75c80500032f10717d907bb4375b0c492537d3514213c65801096a29fdf6618343de8d171c03e37f8477e09567b583cbfbee7495db8fdd60d5baa846b735f57dc979ad436a1b039a1c445d85300af8dab7da0b4e95a62b068309a1db2dba02fd2df11e67752d30030fc9187b205c8a27100e43bcecc2bcba9eec70025f7e0c0d156302f09966bc3c03a08077f19781912a1385bda4f3c85771e8fbd0047fe72e2817aa1c790f62564d03d4178f91a94c4ecf0ba676bd4b1c4929fcb101438d927e2706357fd5c82fccbd0219ffff032a4d5dd7d8a65719c72fb972347fbb5714bca51ed4c928422428c33dedd36e6f0396a2cdf7a8d9f14de14b2306abc08feb128f7fb45bb1824fc4f43eba6dba8c25038ca0efb05474be67d761accfebb225f9e922740b96a662c4e86eda311838454f0219ffff05581e03bbe7e2238a265f072ffc02a25a9a81d1e9840ec2506116d9a4e815d9c0070219048705581e03c01dba2716763e92624333d267249e68d9137d17d73afba26c9c9fe5100c014733374ef0d9680005581e0395f17ad4be09ff8a0bf1c74a4d7b448bae4bb10bad5a760bcda26b42400c02470107c2bfd2700005581e03e3b2a4dc7685e4eec1cc3afd42c847ada789f769d06469a9f2cfbfe220040105581e031793bddfa9bd464654a0834c0df2e7ea48f19fd66b2e277df81c4117b00c014701b1ccc6d06b8f03272eecd9c581e67a9743fe77c8a0f2f6b7de25f45c1479077714c0af5f5811ff05581e031aced6d4d04193c3713a235b2cecd0ee0988da0891f1df68f3014f29e00c03463ba5f705e00005581e0392ad4681a8f585733f2f66ebea8723328359071fd7fe08730dd43b5b10040305581e039c30c9239e0aaa27dd670219bf337510a7a00de3fd19108cddf3410fd008480de0b6b3a764000003c58737ef66554f15d65f6527c52c5b65230497aae974a411a3de831f82ca6b1f032963dcd44a22029c93d382a1c3096ada5c4dd750687f7dbfa1c63f6b801a5f360219f5f9038d1a1f50502132fb61e345c2defb39f06987da80ceaf769b978d11d5e669dec40219ffff03ae44cbd4bdc40b5c02fbdb3c0cd35f5116f6de03d6b2a4acb3fa0c1643027c9103fe7964485a74ab5f0f5f2309ba7bfb2a3a2115a0eb11f33b31f305c887b5d734031affbe671a8b40e97a10bc1642eec49cc86bff4ae0eed7b62bcbd91a1e50883e03ca295f142abd2569a170f8daa3a91f401005d82d17477f65285ba15d972f8ef3035dae2334b11fb1d5c63ee3c81459c52f378a9f9a1989bb8d62d0c739382ca49a03d78ac97df4b0736a35536d9fa98a13891980e370b59d24bead03b0a7bf10c5d303a04aa9213625d86e2e5eb019128bb3b4a816bd43812d2d3cdb4e46b63b101e73033f8354b7dc0f2f105a281dd9dd3c17463d21ec93e782720be7994f4de729da0603d5e9a0822609bc3c9c3803f192cb76a12ae5fd130f44453455ada8496e2921e0031be367b5073cc8daaab9cebe025f19a36ba4742678149d3ab156fb9fbb965fab031cefa512592aaf3b71a27c565511cc1ccb9953b4e61c7b61f79ef67718b6b99503e396f0d0650eaf7c15ef5a5002b89217adba2ef6c777c483133a8912ecc72ede03cd334896be25da5730c711efc69803940be048ec3c5f7ce742e8dac5249ab4090363c67f7ce194194c002bb70635eb7b102f1c15993f1920a7e00a909c087e10d20219ffff03cd691e11120e0476f6427fbc5ad3469d5f3b5f17e71b1612edded97db726b7a20377fb18c921983e58e03d8b218e646dca39113d532ae7f0b1100617ead6bd2608032fb93a66746b6db9386778724623fda27226e16c837559bc0d4a632560684f6d0219ffff03072c2342a82da12a2e97f320a6d53c58740437ef147439188d04c8659213db9c032cb197e0149249aea1077f68f70d59dd63a0aa76e25dad064f31ae9dd1912bb403bd104f024cdb25c476f9fc3f4d011f0dd3835938e480b3558e45fe37fcccfae803b7a4987023bbb4a04085141f4f73fb922ad3b36ea2571f5d9e31e145889805e5037937d47421b73389d1972ec87b0b5abf08ccf21ba8c28913fcb072ed0781beb503f9e756122d7ea8e861002bfb5605418847709ef4ba7af2001674d4730342deef038ada9baa5e581153440aacf2aaa065e2785f98c9efaf98d9ac84d718111eb2bb03fd65ba018e21418ff42612dfcf7d436f5c7d790d0a0c245a5b16048cc3b9ea5803af80e6fed2d16e60d83a907b176267b9327765307a6714c42fa0f6b5f5866023032be5f38845c5b2e98505c28b234bf49227fba8ab5b2f721656ba244621cdc7d90219ffff03fba3c711015f77714f1e543f720ac4964fd7424a18a39e80e9cd4d06e9fa2aae032ee33e73eb281a908ae46b00388e77de14a960df16334fb2cc5999473c623d9803f51c0d623d23312bd08cec2186440b180b41e24ee20cf1ff95b41bb87d28bf9703c26ac7330a0eafd74128be5eb097ecff896bcd7b742619244ed52fb53172e44a03335f90f60d5677cfd32df0793d12d0d943d25f0d12b44dc2fa53b5ae6071f98e03b9a5e78098804ffac5c308f50135c3ac6ae1b935aaa4d0d74c2f62ac197ee32503163c793a691fd120a4e4f9a1db9fd814622b9117bf3a09bda7b9141194d6653603180a06a4c20fae165804b5bd31cd2801480ce9d14019960dea590719ce3d49a7038cb29095982e4bf8dbce622e334eace593ceb5c2cdac4995a81740522b128fe103d423a37bb97841b77a91da088c8c225c0e92507317a1645604c91db68fd029e30352f2b47d952777503d221b5e1f02acc2438e5ca8b1ebc0d5dfa6dfbf94fe32ca03a4a6bae827578fab7a73a92d9601a68028a7f62475ccdb30f83e474641623f89038d447476a008c3cc5e685bea04941d429f28b1a063593b8fe2be0d8fce85b39a03c5dccf5347166c7c417ed2c4383aa20323f7001f2858ec267f571fa42a6bf8df03f3b0b4fda7b5cd54c05a00d7a89bb00de66228a650d0eec54d7e2555e5c4f78903e586d4e54cf56c95851eba02bc51e65e4ef4a4531387e105a8da54eb57c5a83b03444e619a3e770bcedd1e57f38496965b9b8e4466568c7df36a9d0cd0d621fe25031a0eba23f71f6c1c41e17a2c3986d51cc09abdb7f8d942d40b9e002014b9dcab0306f34a2908df287fd13b9173dfb8d7eecfc9aba03de065879150c7cfd935c86d03f2e6a6d5ac1312be094fe263d776997888b746f85058355506823c0e205fabbc0319319af7b815a9aa688ec047260df6126ba87f0b7eb5599e9cd4b94086fb787103cc2220f191c98e8eb0887d61f6324f496cfe0d656427c2059d415e19282c36af05581e03853d1916f29289c87d9d982426df5c03b78e1c3887ef1d6bd330b49c10040105581e03aa11d8b884e48f2d22f65bad2e2da86b18b870d4ca4bab72a90c7d2b70040104590998608060405234801561000f575f80fd5b50600436106100c4575f3560e01c8063395093511161007d578063a457c2d711610058578063a457c2d714610180578063a9059cbb14610193578063dd62ed3e146101a6575f80fd5b8063395093511461013d57806370a082311461015057806395d89b4114610178575f80fd5b806318160ddd116100ad57806318160ddd1461010957806323b872dd1461011b578063313ce5671461012e575f80fd5b806306fdde03146100c8578063095ea7b3146100e6575b5f80fd5b6100d06101de565b6040516100dd91906107a3565b60405180910390f35b6100f96100f4366004610827565b61026e565b60405190151581526020016100dd565b6002545b6040519081526020016100dd565b6100f961012936600461084f565b610287565b604051601281526020016100dd565b6100f961014b366004610827565b6102aa565b61010d61015e366004610888565b6001600160a01b03165f9081526020819052604090205490565b6100d06102e8565b6100f961018e366004610827565b6102f7565b6100f96101a1366004610827565b6103a5565b61010d6101b43660046108a8565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b6060600380546101ed906108d9565b80601f0160208091040260200160405190810160405280929190818152602001828054610219906108d9565b80156102645780601f1061023b57610100808354040283529160200191610264565b820191905f5260205f20905b81548152906001019060200180831161024757829003601f168201915b5050505050905090565b5f3361027b8185856103b2565b60019150505b92915050565b5f33610294858285610509565b61029f8585856105b8565b506001949350505050565b335f8181526001602090815260408083206001600160a01b038716845290915281205490919061027b90829086906102e390879061092a565b6103b2565b6060600480546101ed906108d9565b335f8181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103985760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61029f82868684036103b2565b5f3361027b8185856105b8565b6001600160a01b03831661042d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161038f565b6001600160a01b0382166104a95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161038f565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038381165f908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146105b257818110156105a55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161038f565b6105b284848484036103b2565b50505050565b6001600160a01b0383166106345760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161038f565b6001600160a01b0382166106b05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161038f565b6001600160a01b0383165f908152602081905260409020548181101561073e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161038f565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105b2565b5f6020808352835180828501525f5b818110156107ce578581018301518582016040015282016107b2565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b80356001600160a01b0381168114610822575f80fd5b919050565b5f8060408385031215610838575f80fd5b6108418361080c565b946020939093013593505050565b5f805f60608486031215610861575f80fd5b61086a8461080c565b92506108786020850161080c565b9150604084013590509250925092565b5f60208284031215610898575f80fd5b6108a18261080c565b9392505050565b5f80604083850312156108b9575f80fd5b6108c28361080c565b91506108d06020840161080c565b90509250929050565b600181811c908216806108ed57607f821691505b602082108103610924577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b80820180821115610281577f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffdfea26469706673582212207d9584953eb9ab802020ef2c79af819112ee31c115781b3f9ae6feb094e089c464736f6c6343000815003303c2b893b0e336ed638f4e6e7f89101054c328f52b49ad20422693355fe5937f520329e829b578ba544c3124cab7dbff56e32b98e921c2afc821a369a02b4f500830031e9c5bfb256e5a8a481294d33ea24c1b9553eb8c09e9e3cf7f5f2a6e85e39140037e4530180917e33546a0ad00b523d8f0e7e6e0f381ccbd5fd883a892b00cd5460357a95f43a40cfc61165809be64ac660825d58f7875abc9ff6dc0766aba4c3fba0389b6ba68b5f9448e49e54e591f91ab36348bbcafae2318979e854340aad547c003272d2ed7dd29c86968c99afbdaa10a76f4140ea6b258404eb8eb63c8353268de0357a1a41b102ab6320d0bacd2d89f723aca3571dbe1a0f8fab0157c3e6fea35780392ea9c3c13f6fa6fabac513e297928625fd4c18beb5fa4baad82ff0dd00bfcf603d47047fe1228e243659eed0c6d88d730e2ff92b5bd314d7479d19d8015a6905e03cff70b070ffc09237b04d45433e8806835ab986aedcb2a45dcfc7d150b10c79803d4b43215d7d57f1c5581664199681b47d161fc40b30f4ac1a85f5079ce1cadc003362181ef6b9d16b934bfb71dc1f6893701d6c6b377d81a06a52c0201120142c203588c82bc73d1fa0b9a9756fb797e76f1599e0c59c5ae0e1a7f49fd132000b36c032740b8b15167d0f1193ec45c85319b8c36f4cabd3f1cae8e9cc7503263ad120b0385e96a8ccead8a5d31f7d3c3dc7c26874bb16ebf5c35a814fbd84759a091c83503b1741fc1385331365250fcaaac8cc4d3047ddafe0409de10a830c69e089e3f9403cdb4c2c744fd1fd74b99ab733efa5cf9400041bf8e2d15ca0e9c2744ffacd7c80376cbf4509f4026cea2c0b410829bee2998cd2b56a4f88a300cbe7c51abc288d200582003eaa05b90a3afa03f35c7d6c44bab8b2073da35c37451a341c5bf08e8cdc9204932e14b18960c964000005820035a8607f6d0223c6f91fd4d1f987c50a87f6d3c2145da891d41cc1434b9f6904906f3456bb6dcd5000000582003f8fc9a7457af6d6205de357fd91ef89b091ece62a9f62e5608eb7a60c4c3804913ee07a828e89c000003d44da6b79ec4f6f2b92f412a57683822241c401ee1c34c61c330ab67e68c8025005820036d0722fad43e7b314de3ddb55d7fa0f250e5ffcd10cb5ce5258a92783833c04a01bcbfddc6fa4479bc1300582003fd96acb0c0adc7f36eb2413e167012f198c28fc0c9110e8425df64b33d32004802d762dacff400000387ab45046f010a5cef309fd9966ca2f5b771fd4fc5c078bbbfdd96074921d5aa036fd8f58cf9b007c67b483f3ead9c69e149b550e1bdeb4a4047f57685f9cb8c990328c30b550f9c4b764a055471b8fd0f8862c042bd28461a51a5422ce88021e93e0353735cfa6530c66820d8eb726bad414b4744c76e625107d83b259256d7dae31403fd7e593ad5a865fa3372ea9c24241eea5246be1d75d43db598936a7ee5a9f9bc030c260f717846bb427859aeb1d6e0987b2d8c132832e57fd3679f45039056190a030534fb051e4f35a573134663634d4d8c6c144d5ae2de5c01005caef0aae52c5c00582003f4e66d8cf7da673beb6cdf496d077402922fba572bf5be68b91b01b3d8b4e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03766c55998e0b6470ce873aa2e770dce95927fbe90156f8316e9cc1dae26800e10219ffdf03b45a798d32bbb72496f503aa57a921e501e16f3debd3338427c933bbd8939dcb03dc1e60376afff0a7cd49288e1f97f6081e38977cc4124928b2efd72ff73525e303154950d8e8cbc94509d39995a76f78aa8ecc33205fa800d3967ce8ddbfce484a031e5ab04278cf688a0cf7ad56369fcdce746eedf5a6e4c2a99ac7fc00dc7ddcd6035cfcc25a77972173dd1db7b991270ea8bffbca52cfee13da902d22cfb2a91d510219ffff0368293440c122134ae9960a11f317655ecd884dfdc3af7094c284f7502c7308ac03310d46746c0f9059bb50630962876956e8f9e1edfa7e66e37079d8913d5d877d033f03dc62f67d5343ba5cc0d6d24c641b805c92e9be4053691af7a6d087716452035147e5f96ad8bc3d49dd6a300c4a02381920015a0d75d6537d1eeb36399e6eec0391f40416792fd77f8db2ad477b04d35136a090b9cdc078928e5f8589183c731f03b5cd512b7b3099b959e5c4efa12929e80b307caa98ee8b6738df2488598e79a0035f1a9f864543d620999bd8a4d8747228668e85321ea4131aaf304b37ed77c262033ef67e2358693f993f22747bed696b0fccd01354f29f015357196f24e5e0ad6f03d132f914934b110d097af33aa64328544a4400937bb798a171b05b9d354dcaa503d85d17a70c5cbcdb7de88eee56978f4cfa5f4cf48a6a234c5b4297f25d0d8075032b5a4d24cd183bb6951b92fc5e2b1d2bcbd99e1181c6d480647689e9cdd125ca031403a930d997ec5930ed248d736167f2dc8bf46aa02d81642849d01501bd89d903024c7a41e8e05c274c300f5c62efe50ab566e977bf3b458096e2729ca7e76f0f03884e548b92a70d021230ece309dcb3266f6acb62a49221c416ea5ebe3b499d710347c7e9e7309ef0d2a7dbfa993a960fb1243c8c226a64849a6799bf8a9ef8b77300582003f187429c304dcddbc01665b7a509d45a1dc29f7e96de43a97af1f9c42cfe10482ace4a9a836e501d00582003d4367e2ff125a203d236f68e9b4fa3ec9059252b042d935d3097c9d34339b04808ebec2164d230000359f68f0199f5f04bde08195c3dae2b5d6770053a7b21cd5fb5a451780b4f9e5903908f3ea899f06fff7677553eb855874541d87d81f7c0016fbb7569df0fcdc65d0058200348af3602e237382bda07cdffa277987bfd0da1e8fe6ce160be8724a7bdf9504a05e11c2c9c029ff6000003623de0c252809af1114fc018af0c05511280649460558983cb39ac188442d8d40363ab95e0e0c329a3446a9241b2968de237f1d2306c26bfed66b37196958a53a503b6defc96ddfb2d6dd79c6dc54110a0207ca4e2fa1fcd024fcb53b1e4591b76e4005820039644c6d9ac7711b9ac89ff3fc3f98b5456c684dc64e28fd4fae84032f27bb04973324c912d309d18000334d625f49684a1ad078b5d0d3b455d0ad27af8f369a669b067c6c199ad10c2d80345414a1098fe49a42365f6495e7329dff4269568381678e15327caf32b0c238500581f02175d8779954092566f5b00967b318c4dc5f6b679a78c02e0a9cc4270cb7c4aaa3fc3efdc3e37cae00000581f0239065f4032f24be0f57ce872b3e1ca6db9e60bbf696cd4ded22cf5297fdf491d06541d77bf89000000581f02e8e9876752d67dee024f06c391234be616c16d8f3b9fecde655a5f6889ab49038119a5b688d9dd8e0219500803e29754fef079bea021f362c064620aad3230c084702e8affa98f5154a906a31f0358105fabb01b63ecbd9b86162ada04aa3ff88f5309da6f01247c75ac165dfa4d02197fef03b24ba3b56ea763f1c843decf91004a5f98a4e82f08354851e65299a65ef57d7003fd112dba74e29a3674b2ae8a09c8d4e4057d4cd4a50af102e68285124463850f0219ffff0387ebf339a78ff9abfe0b815747e57accacf561902c3f398a1e80aeae4ffc7f73039133ee7a5e245f8166c6bb50d336498f6143d97eb3f0a20253e5059064e3306103b8f0b532cc09e87bfe227ec89a877e8d7077590aa48300b4fd18591b4c4454190219ffff05581e03bf96c29e4608b8b1b6b7837933041122bc5cbcccd0a9fa5ab5ed368630070119099805581e039d839a23b0e9babd4e4fdcc5dc2e22789226683cb7d08fabd9af8502e00c0347ac1572aef54f0002195a4803bca4839cb2aae307887ea081dd7635e77f0662086132328b19ae408a041a61700380ba7ede220f4826725bc8e280d3090df25a33f4dc438e9fce4d686e466ac5f403d5e390fb9d69c9be40c60c37a24152dd1596e84343b7a92d2b65b4fee2fe32c80359177acf3f5c5242934932f2edf31f3d02282218543e0b1c88bd860039b53d64031a7223b3c9c0dfc62c33cdc75f513d08507a63b587034202c4e3942f119546820308dc3b57447a8a7d4e4ea6584d87fbd571e686e33d785637e41d59bb3120c6370219ffff032f7736b8c6e1321a6daba30e0ea579de0e1ff53e7c7396008c21e874aeff1a5003e2178dd7f6d594561566c6ecd0db47825c0f3bcd62f05f935f1cbcc906aabafd037c932c25f95e28a57fded17df8fd2635545c3d2269a912b26deebcbeb6eb9bfe03f9aa22b0478913761b5e204a2578d4fd785920d2e35f7e0867489f2ffad08eab030fe315a5f469cbe7000774e581780a2e96f0395e3645291724f60d9a82d0c15603a933ce356dbf6558c116800c4462346e4fa4189875b49ca07f845d1ddee6ce610219ffff03b96bfd7bacbb584d8384d2a4ac1c9d1e91f68fc19bc305749498d4a3cd3fe6bc0344f5abf20df06a50030f32ee2f500d068f3c145f7b336e4d0ee89f9638e37ba103fcaa0853044e548f8a11d5747b8e4c3f46d7a7ac42d449b3b4408d137ea911ae0326995993a6e6c9961a42438f95d592b7224e6abebb694c48848a3ac47f53e9d2033b2796684ebc6f34bafc2558db63a130223ede16b25ac5fc35b229144214d86f03192f90263e2c1351ea87d3a31f9cbff2380f7e869c0ca2128b2bc4281df27508034cab73b25196588cf24f4404ee03bbdbfff88539af31fe86e613446b1579d06303bc6b475ee8a4397a76281a0b65551961f015343a2b7066d9e6414dddfcb111f503da6cbde1ad9fe2d57c1f862c9407e8560bb4705efc843a46c9789d3dee36cc5a03a77192003dcf98ab514b8ccd9334bd8e4afc96bc4326c1db0b023de4c79eeee703c9f319f6785e2d66619f705999c4f4ebf541d3f6e92bb73f45c907862adbd6b303f9ba538326fdb0d9f0a3c6e7b41f003c6a2f4937f029124e4b618f17e81cdf8d031a92236c2d8dee19d3143275daa7554b412e4d8c81a76c32972697cd8e3cc9eb03191223a481ac9f62dbec4eba9e0130944b5cf5a786277142df967fc8fb5f57070219ffff0391306410bc1272fdfdca1fbb5dee24cf996dc610542525dd53a8f923d04eccac03fbcb93598ba644cf0cab36bc000aeac80eaa6147aba8aeba237ba733da86395f03fa3600021bd6316eaa288c53fdfc201a7d82c35eb530698cec9526c91eda596f030c73b84a3fa8b9e0f6da88c7ec17824786fe0541aa742a64e639d6d45ad1d42803600fda0b179e57ad0b923ad2ce43cf01604b71cc9e5caecd1794a9487de9b18c034aebc64506721dcda07463868ccea87870ba1eae190fb8b9e985c2ed2f5c255303ab77c6a9e3ec32d6505d2523bda0d7f676523b91a2415c0c72f7438506d81550039b9f852aa970cb14c6990410971f49b7397495ff5d649c6120e73c74be82ddb00320b2c2aca1f28cab08087445c5000652442714882c66d36727ca2ebe243216e6034d5b50ef2091993d77723069b99a23c7352b76a09a55cd44586ec9fe76bed7fe03ee20f6e05ed044d127e8411e61278fffd5c927074e9311a5c53be027100c672f039183eae3917699389925a255051376d13c8015d1162179a18821a0f1d2c64d1e03b5dbf6a5e6e884b0d47f66a49e94dce29148d4b6f5a1c491d6ed04f34045e4a203bf77a8a4f79dbe7e9ed04963947e2a06a883a6979dc6abcbeb9907381e653e32033fe4b703e7b98417acf7b71f71be2748046e3e642ae0de1f6f31fa03b2bdddbb03ef5df05457e6e03847fcf622372f53cbdac0c4c911fa76b5fe804b9ebb419ebc032b7bb3acd99cb85d9ce4cc8505f12d8295f83305c5a259fbb4fb0f03b06892c70345ea93624a83f659f72f23b51cc602d7dc9b5712f030822735efa501d9d7b20903453e0fc3261d0cd163d283a9e4a9b352006103d1b71e1b84975dd51d4b0ec46b03f49e41609d0696754253856975b747047995fc86c748b09b9f51a82becb72d16038db892321cbc015531fb7ff4c90772511136e6ea24620fa4ba4cb9fe89d998ff0355c232be53cd2515dcd6fe8f032d0a74949971b11aac8f0177da973dd03c46fb038a096c93c217d24507bd0338ea5a598ff7cd31259433cab1838a898e6e059904035a81e1f6e7cd6a9a0a55a3773cb2eed0f2f8d403f668bf4c1800722bf66e12130345d458e4bd5fffc0e06c0a816fcf030ae33faa22806e6235dde323bf98b87a0d03a5ff5aeae0fb285e815f7efd1cd3584c80adeb3f663f2988b3190adc9ca83f0103713e0546982b9e3410fbe9289216b2e01663929b1f41128aed3e6a295aa65f3805581e039be8b6b69aedfe7f3d77f01f331a939d99235d00c917d8c084aca04ed00c014702adc8c14dff000397d44c3df8dc1afb91e6090af48dd2feb373f3c34fbf8a495866797a7c2c1e7405581e03550abd22b4bf7d1b282b199ce37404ea7fb10bb6529d90e1c70cb7ad80084705e06bafda6000033b661ec90da8ba6df70b8c0ed47026e17a972c8bf060064c9c75c5c503b71e4005581d02ed4adc8e79557fb13f737ea31bcf6796f1158e4c01c908615e0db9400c02461d432e289d6005581d0204e682ba9bd351df166cdabfaea506bb1932a6d1838f74d0ffbfd8a10c19042b4723bf9c787762790219800205581e0352e97bbba377a0c0d490f00520a10d65e7d5f207486bb43567621f5c6004010344af0a59c132082195adbc6a30c7e9688e0abf8a03d5026a625aabfe8650d2eb01410305581e03e0075e6f417a83bf9719ebfeb35d5f3e9ba455c6344b4378e62d463650084612309ce5400003fa358524369fc725c44001169cf979bfc3070aa0f6dff3e945fdde90e01d834c0219979303a7c1a2ef3c13c3d1d484f997064ec6e4942bc9501351ae00aa185b5e1a24f699036a0d5d432e4c612e8f56ad11e36913ee1a11461400472c0247615c9b7bb721a103fee8b38926bb3edf65196adc274e3e061fb43e6dee97de5545bbfa55f9ff1ca803a1e47f003b88625cd08661cdea6b810ca71cf91c798ad82456ca13451e5f3f5f03249f8799fc70a3674e260d55ebe43d552156061446d13b66baf0a17dd163153003e154eb4c0d71f24ac9fec1a362f8b186931dd285e0bd9494b8fa1e0026d12fe503f2b841ddd3ce8c929cdaeb2529b77333f920d4f565b0b0901613486d0f3ab876034452dbb24486ed52aa911bb1225736c8803304cfaeb4aebe37771725232457f903d7c69de210d5d19f649ae502a12f9e90c5ca73533e9ea9115c5c34971bf8984e03a4d812ac8b69ff2a63f682bb239b2c8ca858d11650f44d013b05b78af59e9bae0379918f53299a04e25352778ce3d94d982f2c7f041b59cbe2ad545783faeac0f10356324476a8392ed8a9bbac70f8e9ae2d61438a6dd3f11cb480e075dc85959c7e03ecfaae7876907e9c80ad80ccd2c0f7cfc4ea910c02f9826944322320447ab8fe039f1e9b684b73b93c3e68eff5c2cbbb847b146133b58ce537a7eb38046a2f783b0219ffff033dc4c9f26bce7b223c6a63280c92d623c3d69a1f8671303bcadcf4d5949df199037cb99ef4607b5bcbf7ef4b6887ab7001f87a59113789e0f3b876caec9eaa974b033b5c61fc71a7c3a36b19df5c229326423d334ff22d83567b5bffb45fc38c4109036bb0b569faf9c2283e1761ccedd180fc2412f3341d41203f43f7b2a597312dbe0219ffff03de2ca9c4078fa87f67e16599c388a4f8a6631465d13a35e2564f0aa3583869e403228a9513435cb66dcb5645c3bf19dc8a3cfdfdfb6efdd48b4851c603bebea70c03f3a79eab0cbe42b384d5d69d47608363936f581be5ac54254d7bcac26b85c230034a01117a67a4ee69c58943074515a4c9f69a0872c2c7226761b1ccbe848e47ff03798f66391cf0d6e0a162bb60de62247a56804ca6bfb3f03d43d150ace5a7f72303e70b95d27681a1f2e881e2e2c45011cae5752c81866a52e8b2ebdabbe0ba389603329c41ea055596cd7042f22a0ca2ff4bf7c5b915ac7c3f022b507046218b522a03b4867a8e36f5d73cbec125e5e57a32f9dfabe3cba520ba9945feb43e55af188f032b656bd201ccb56d7c237d1981f5f6195a44b4d53994c1ff3fc72c6bd9f572560219ffff0318c01b7a6913640520b15e845340f62c6d3e83d33944097e6d3e0bad38134c91030144a9a98a5c98a64c5f355171a1ae75bdcd11faa802d8758cf4d8b0235889ce03c70524eeb4e7c6588653c861f789e5fcff64d4c8cb4bb99837aab1cc8b821ca003c42c00e42b4177ca46d41722ac47cda5c91ff954120b445321985aca6b4c43400219ffff0352c19770dc4d8b291b97ae1e18fc81bcbca8233d612dd2deb3dd1cfd22505752036655e2f673156ffd0781ae797aa87b5e34c48bdc89c93111483cec9002f4f4b503ef52e30c7975900852d3c05e07d989016c712fb53809c5bee2d03443ef80a6c40319a58eb68b3b4176a240c9405c4497f3e6af64b501c881edbc3b02051e66547e030c0b8b7e438e1c8e19ae04d6e2646db8d5ac5bf3989c37fa35db48af543c07a003751a11eb9f24f1b0be8996d15e146434c3253fc83150439ffd7b0adb0849c54403c3f228c31c807e76f9fedd48de96e3b6613a0b7a5a2c2d797e9733b7ddcc9e13030538aefcfabb9dc8325d0ae50a0bcc88e84e18380ed93d5400919676dcf8c57f034f4d4c349dc87bb7f9556f4b6cbb5a41935b0e7290169c9c9a29bebdc76b320f03a566a77f7cb7348ec5be13a559f184802f099b8b9002863162f8e9fde8f724a00357e5bd30e06adfce86c13d3cbe1ff358c08d1b4d9d831f016c7094d1663788a20330acf09d624b78346108ccd296ad575cba80dbdf92bb0162e8bec4a0ae179d410344b95c97f43a0d42a3be5199d62d66533ef0ca2f1bb4f7fbdc66a51f1f5447b80371c09c2950bb69d60f79f9cce60f94658699aea06158232e6c65994dc55cf9a5037ac9fe742d7d6378821087adfdd5c4b9b4f6a931042f77f2559cf5f7c69c5d450364293620f05bcde1753c34d043d1da16320218acfbb47efd285089d049fd0eb403b5b734cef58b05692518afb2c13c16c53b2404ba4fe4493701884bd78bfa8b0403d1458119ec05a5a11e81c7c1118097810c1b7cd311c5e4dbe895d1922f7785d103ded347ecaa80c1964772091ca512cfcd9db15f8735ce249023c5c49c2ab542c8036d3411f29ceb73d1739adb629ecba7b0587a87bb9705892a9cdbd21e348ae3640324a9ae880c84389b5b979f7a12b0f984ab7760f74ab4fde353a83eb6a8dfaa4403086ba5ff43b3879f95fd8c810910ba3361494ef309956278458287fa94c43446034fb29a0fce3a19b0e57c254faa05b79bd944b5f3f2bf030e50a9d124146e224d033918e1ee0b956ae66b640da56536c70c3a5fa9b6f6b897c9adda5132c2605c8e05581e03a9adfdae847638667e8d986db6b9b9c3ffffaa93f0ef79c5b04bc491300c0247d6df73ce2895f805581e03e71400ba30d5a235437dd953e3af6ce3195e8dc11bdc4973004ae03820040303ce66265dd8d3f0ffe9b4496d20973f0d1ad98f585e6ed55037741c0ebf9110e404591b09608060405234801561001057600080fd5b50600436106101fb5760003560e01c806391d148541161011a578063ce202043116100ad578063d63fd2dc1161007c578063d63fd2dc14610418578063e4c4be5814610420578063e9f2838e14610428578063f4f3b2001461043c578063f712312c1461044f57600080fd5b8063ce202043146103d6578063d19a8502146103de578063d3557bd0146103f2578063d547741f1461040557600080fd5b8063a3e7dfd3116100e9578063a3e7dfd314610388578063b6a597dd1461039c578063c1d0a7d8146103af578063ca15c873146103c357600080fd5b806391d148541461034757806396e9da551461035a5780639ffaaa3b1461036d578063a217fddf1461038057600080fd5b806336568abe116101925780636dbf7ce7116101615780636dbf7ce7146102ee578063715f666b146102f6578063780b44bd146103095780639010d07c1461033457600080fd5b806336568abe146102b7578063562e9a0a146102ca57806356bb54a7146102d25780635a8ee785146102da57600080fd5b8063228d71a9116101ce578063228d71a91461024d578063248a9ca31461026057806328380034146102915780632f2ff15d146102a457600080fd5b806301ffc9a7146102005780630f318c8b1461022857806312d9a6ad14610232578063222b471714610245575b600080fd5b61021361020e3660046117fd565b610462565b60405190151581526020015b60405180910390f35b61023061048d565b005b61023061024036600461183c565b610544565b610230610552565b61023061025b36600461186c565b6105db565b61028361026e366004611889565b60009081526065602052604090206001015490565b60405190815260200161021f565b61023061029f36600461186c565b610668565b6102306102b236600461183c565b6106f5565b6102306102c536600461183c565b61071f565b61023061079e565b610230610827565b60cc5461021390600160b01b900460ff1681565b6102306108bc565b61023061030436600461186c565b610951565b60ca5461031c906001600160a01b031681565b6040516001600160a01b03909116815260200161021f565b61031c6103423660046118a2565b6109de565b61021361035536600461183c565b6109fd565b60c95461031c906001600160a01b031681565b60cc5461031c906001600160a01b031681565b610283600081565b60cc5461021390600160a01b900460ff1681565b6102306103aa3660046118c4565b610a28565b600080516020611ab4833981519152610283565b6102836103d1366004611889565b610c1a565b610230610c31565b60cc5461021390600160a81b900460ff1681565b61023061040036600461186c565b610cba565b61023061041336600461183c565b610d47565b610230610d6c565b610230610e01565b60cc5461021390600160b81b900460ff1681565b61023061044a36600461186c565b610e8a565b60cb5461031c906001600160a01b031681565b60006001600160e01b03198216635a05180f60e01b1480610487575061048782610f44565b92915050565b600080516020611ab48339815191526104a581610f79565b60cc54600160b01b900460ff166001811515600019016104f75781156104de57604051631785c68160e01b815260040160405180910390fd5b6040516398b904cd60e01b815260040160405180910390fd5b60cc805460ff60b01b1916600160b01b179055604051600181527faf0739491557ad56a0a636896e371839505cee9edc77440ecaf5c004d5a1bce8906020015b60405180910390a1505050565b61054e8282610f86565b5050565b600080516020611ab483398151915261056a81610f79565b60cc54600160a01b900460ff1660008161059d5781156104de57604051631785c68160e01b815260040160405180910390fd5b60cc805460ff60a01b19169055604051600081527fb6fedfc319d58f9c9ceb507ccbccfb001bdd80ed112a793baf7929bdd199dea990602001610537565b600080516020611ab48339815191526105f381610f79565b816105fd81610fdf565b60cb54604080516001600160a01b03808716825290921660208301527f791f08e8fa6583e9dc7bd2eaebe2ba10c8f09f013fde367fd8aaf2a6f02cf11d910160405180910390a1505060cb80546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020611ab483398151915261068081610f79565b8161068a81610fdf565b60ca54604080516001600160a01b03808716825290921660208301527ff622c0796528db175c43a3025738dffcf571eedfeb10f57309a0ef76e13c99af910160405180910390a1505060ca80546001600160a01b0319166001600160a01b0392909216919091179055565b60008281526065602052604090206001015461071081610f79565b61071a8383611006565b505050565b6001600160a01b03811633146107945760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61054e8282611028565b600080516020611ab48339815191526107b681610f79565b60cc54600160b01b900460ff166000816107e95781156104de57604051631785c68160e01b815260040160405180910390fd5b60cc805460ff60b01b19169055604051600081527faf0739491557ad56a0a636896e371839505cee9edc77440ecaf5c004d5a1bce890602001610537565b600080516020611ab483398151915261083f81610f79565b60cc54600160b81b900460ff166001811515600019016108785781156104de57604051631785c68160e01b815260040160405180910390fd5b60cc805460ff60b81b1916600160b81b179055604051600181527ff58d2d1bfb990a10767ee866347abba793211460674ab22d76c90b7979f744b590602001610537565b600080516020611ab48339815191526108d481610f79565b60cc54600160a81b900460ff1660018115156000190161090d5781156104de57604051631785c68160e01b815260040160405180910390fd5b60cc805460ff60a81b1916600160a81b179055604051600181527f73aa8db6bd5d14ba1e932da852630cc992c72b32400a50224189657e4811844990602001610537565b600080516020611ab483398151915261096981610f79565b8161097381610fdf565b60c954604080516001600160a01b03808716825290921660208301527fbdbdf1d5bc05fbad2ec185c8095705a3a97a3a3523f881d8e0466478242bc0f4910160405180910390a1505060c980546001600160a01b0319166001600160a01b0392909216919091179055565b60008281526097602052604081206109f6908361104a565b9392505050565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600054610100900460ff1615808015610a485750600054600160ff909116105b80610a625750303b158015610a62575060005460ff166001145b610ac55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161078b565b6000805460ff191660011790558015610ae8576000805461ff0019166101001790555b610af5602083018361186c565b610afe81610fdf565b610b0e604084016020850161186c565b610b1781610fdf565b610b1f611056565b610b366000610b31602087018761186c565b611006565b610b4e600080516020611ab483398151915233611006565b610b867f902cbe3a02736af9827fb6a90bada39e955c0941e08f0c63b3a662a7b17a4e2b600080516020611ab48339815191526110c3565b60cc805463ffffffff60a01b1916630101010160a01b179055610baf604085016020860161186c565b60c980546001600160a01b0319166001600160a01b03929092169190911790555050801561054e576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b60008181526097602052604081206104879061110e565b600080516020611ab4833981519152610c4981610f79565b60cc54600160a81b900460ff16600081610c7c5781156104de57604051631785c68160e01b815260040160405180910390fd5b60cc805460ff60a81b19169055604051600081527f73aa8db6bd5d14ba1e932da852630cc992c72b32400a50224189657e4811844990602001610537565b600080516020611ab4833981519152610cd281610f79565b81610cdc81610fdf565b60cc54604080516001600160a01b03808716825290921660208301527f3b8f8c5425063a0cd645d2fd7a9dac5b63ab8bca0775960f6a29ec01a3ecabbc910160405180910390a1505060cc80546001600160a01b0319166001600160a01b0392909216919091179055565b600082815260656020526040902060010154610d6281610f79565b61071a8383611028565b600080516020611ab4833981519152610d8481610f79565b60cc54600160a01b900460ff16600181151560001901610dbd5781156104de57604051631785c68160e01b815260040160405180910390fd5b60cc805460ff60a01b1916600160a01b179055604051600181527fb6fedfc319d58f9c9ceb507ccbccfb001bdd80ed112a793baf7929bdd199dea990602001610537565b600080516020611ab4833981519152610e1981610f79565b60cc54600160b81b900460ff16600081610e4c5781156104de57604051631785c68160e01b815260040160405180910390fd5b60cc805460ff60b81b19169055604051600081527ff58d2d1bfb990a10767ee866347abba793211460674ab22d76c90b7979f744b590602001610537565b600080516020611ab4833981519152610ea281610f79565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610ee9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0d91906118dc565b905080600003610f3057604051637dd28aa760e11b815260040160405180910390fd5b61071a6001600160a01b0384163383611118565b60006001600160e01b03198216637965db0b60e01b148061048757506301ffc9a760e01b6001600160e01b0319831614610487565b610f838133610f86565b50565b610f9082826109fd565b61054e57610f9d8161116a565b610fa883602061117c565b604051602001610fb9929190611919565b60408051601f198184030181529082905262461bcd60e51b825261078b9160040161198e565b6001600160a01b038116610f8357604051631e7d738760e21b815260040160405180910390fd5b6110108282611318565b600082815260976020526040902061071a908261139e565b61103282826113b3565b600082815260976020526040902061071a908261141a565b60006109f6838361142f565b600054610100900460ff166110c15760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b606482015260840161078b565b565b600082815260656020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6000610487825490565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261071a908490611459565b60606104876001600160a01b03831660145b6060600061118b8360026119d7565b6111969060026119f6565b67ffffffffffffffff8111156111ae576111ae611a09565b6040519080825280601f01601f1916602001820160405280156111d8576020820181803683370190505b509050600360fc1b816000815181106111f3576111f3611a1f565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061122257611222611a1f565b60200101906001600160f81b031916908160001a90535060006112468460026119d7565b6112519060016119f6565b90505b60018111156112c9576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061128557611285611a1f565b1a60f81b82828151811061129b5761129b611a1f565b60200101906001600160f81b031916908160001a90535060049490941c936112c281611a35565b9050611254565b5083156109f65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161078b565b61132282826109fd565b61054e5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561135a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006109f6836001600160a01b03841661152b565b6113bd82826109fd565b1561054e5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006109f6836001600160a01b03841661157a565b600082600001828154811061144657611446611a1f565b9060005260206000200154905092915050565b60006114ae826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661166d9092919063ffffffff16565b80519091501561071a57808060200190518101906114cc9190611a4c565b61071a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161078b565b600081815260018301602052604081205461157257508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610487565b506000610487565b6000818152600183016020526040812054801561166357600061159e600183611a6e565b85549091506000906115b290600190611a6e565b90508181146116175760008660000182815481106115d2576115d2611a1f565b90600052602060002001549050808760000184815481106115f5576115f5611a1f565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061162857611628611a81565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610487565b6000915050610487565b606061167c8484600085611684565b949350505050565b6060824710156116e55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161078b565b600080866001600160a01b031685876040516117019190611a97565b60006040518083038185875af1925050503d806000811461173e576040519150601f19603f3d011682016040523d82523d6000602084013e611743565b606091505b50915091506117548783838761175f565b979650505050505050565b606083156117ce5782516000036117c7576001600160a01b0385163b6117c75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161078b565b508161167c565b61167c83838151156117e35781518083602001fd5b8060405162461bcd60e51b815260040161078b919061198e565b60006020828403121561180f57600080fd5b81356001600160e01b0319811681146109f657600080fd5b6001600160a01b0381168114610f8357600080fd5b6000806040838503121561184f57600080fd5b82359150602083013561186181611827565b809150509250929050565b60006020828403121561187e57600080fd5b81356109f681611827565b60006020828403121561189b57600080fd5b5035919050565b600080604083850312156118b557600080fd5b50508035926020909101359150565b6000604082840312156118d657600080fd5b50919050565b6000602082840312156118ee57600080fd5b5051919050565b60005b838110156119105781810151838201526020016118f8565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516119518160178501602088016118f5565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516119828160288401602088016118f5565b01602801949350505050565b60208152600082518060208401526119ad8160408501602087016118f5565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156119f1576119f16119c1565b500290565b80820180821115610487576104876119c1565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081611a4457611a446119c1565b506000190190565b600060208284031215611a5e57600080fd5b815180151581146109f657600080fd5b81810381811115610487576104876119c1565b634e487b7160e01b600052603160045260246000fd5b60008251611aa98184602087016118f5565b919091019291505056fe4ff52032f36e32ac782042a01802e20394d4255c84a3c046490be98ab632691ba264697066735822122059b704e9301ccbc026a1f1295294a9c83940f934680c04a67b5e26e221e1b7b764736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e034898588a7678f1e3c928982300d408fede50cc78b21a73d9c2d1db62200701191b0905581e030715f3b2ba581ddb8c27b620a7ec514e418b5a55610fa2416bc82751e00402037385487e0d47178d4f399ab2d32d732046092dd9b00e7929d171dd227cfb986303388601f39a5646864043ab0896dbc76ce836618b61bbee2a093ab5c3d6e81b9e0219d84c03293758eb9f7978aff8f8248db137ced206f9dc975c97124f17be7a797b15810e037a04e9724cd023ac4a4fdcc04009ff82f04a92662584b869c0ae80fa12faaba503ab6cb8b1272d50d11d41832d11b58ffae204e3cd306cb27e3e5f1d7c76c02c9303a09f5420471638b439c7f88a7932f133203c500cfb02141ef13ee42d9156ca5203c0a016ee931ea4f0b513681125c3028b02f7369b6711e468c06ba0a2a277cccd03737e4c85a2edd9dd3fe5a0cb0ddde91fc289c04f4724073403dd563d70054078032808faaa4da7577e8d5d876a1a08b3d9840175a23e07cb53931f9aa8e128a90c03123ed57cc521d14b6b04ee607b838a911391f1f3abe83c39c8d92797b5eb30ac03eb078816e0c848492ab5ddabfd34004fd0a4ea2da6fcc8765a8bec56b8a555120327b3c2be80fef4daa943362dfa5eea84d16f789a2644e6022a909294ccce567f0352deb805e66b6cb1bb26fada2395acdadc14210bfae7948ffbb1d7400adf8c430219ffff03350288b13966e42b80b70b8e0041b34dc58376d2c985ce524640b6751dbb9b8f030154f43c134e66aec456a65a654e71b9bbd1aa714467ca615009fb37c9e4a42603a4cd9202e0c64eed68ad5a9c53f15600ea896756be393d42bc2725a1db2be3c00329960d0876db231a16deb0bcb9db97063cc799cdc738ee34b3048dff7d3cc20103589182ffdc49c111cac4e3ffdd2a47241f1c2bb7ba500a83b1107c0e40666bf003ecd791491c7408b66726223e2ecc8218d8d37cb9a464ab99c133a88ce08a98cf03b72689f235c94bef2cf80578f97816c6a9aec23289bd25ea26daef2d28dcc18a0344a441e960eaf0dd84ddfc49fb483829a76e04a6a79cd1d4d0f8cb9ef7637a4c0375aa53080795319a457115da408ca7c142977b5e4e217342d2017478f091d0cb0219ffff03c5e81c23fb9475a4a4cd3cb5b45cf8b8dd2d3198dab78d36331b38447fc83acc03e059d22d4a9e649e2543431694674c86f1bbd05cd6bfb526f1e5b476e8b00050035a99442ff7651e40436a559f3002f6ef3a721c23dec2140571df788f42a623190382b9bfccc43a7e615dfad78b6044833cc1faad48a14ba1170cef14168fdaac8703debe4434d362bbf81aa548edf144270bea9841815db3076cb40bb1f0589cf84503385768bdbc6546a292157f24ce2144fee228f13f87fc3391133fd3355c0234f2035438574f86c041240317e5c82aaa0cdf8154c6fc42370ac0f3e6d8ea202dc810032586c5128a77179264f67670f84b63bb87502e226b6473dc1f5ec04612b6a6e703cc583a836c03a294cfa2c2bda0ec3222f84be8b1898713fc7a15e0efa437698703dd9668b3221b7ba673e6ee45e46175405fd7097476d6147427d825beba03646b03694c41861f07d1bfd2f649d99154addd8677fd630376a0fe35acef7d94d36ed30319d5a724c6d19154f596c0fbc465db55c60a276c9d196598e29ebb18e95e626a03afb0e7511103e0f6454094de4ce6c0400989950b86431d8eb5d261f6186be2b8033acb67d0a7b0c7904c332af2b58723a3abcf05a097764e05389ab2468ccbac280219ffff03c4c774878d46b172266ab4194d7ec96f1c73559eb0a73be8776f997022551f17038a9d00d5b0dfb0827fa24888534e2221b660f4335febf166096b5fb7974866510361cee44321dcacbe3f66b5542cae27639c98eaf5da270b9559656526fc13bf9e03cf9146a1b1888fda151bd72d2c195f4aba33e45ef9f4ac0a9c040e76e3679309032be3a55d804346e8dfe61acd1447f4bcc70cd0f32b8a35148d229b5736bda88203a313ac1561f065486fa1eda4c8eedd1701ce980cb7f40c5d21882dd013f423f303499a49c47b4d62bcfb196496530873cf7f7fe325b8f6d004ca26412c9ebdf06b039c7d1c492638d121d8b56bac31eedc8616971f1dbe135548c4c9ae3993e8dea9038a4160e252b103cf86e71e964f501ff87e2c56f82e496fe66156728fd8766f8903108a62617fb42dd6996487f22d4205d4851cba7b91107bf778d7ff61768e2a2503065f214800f6e699c3152f32964db85e03373c1c14bd303ac1342761f30b11c303a2a6d288bf4df68a3a4cfc3dece30d8618981fa1bcffb23e2ba90b31ba847806033c5ba2a56f7aa1e27487ad8c73a89ad8031392d86f3b2a06b400602c9890bb9d03a4d709e5b3187545f006feab264183e324035b97064af1fd547c35a3e7c3e1aa03291dfe40c3a168adf4664f3a0807c5388d2205fd4132982015849a974534ca9603b772d323008b78e834bd374ef82b00b6de5ae3f116ae1151e4e245edb153073e03f02315d274dbcddd505863b24a55afe33ce027dcbe8043e9870aabb82eecfbc703057eeda444280d6766835b3ff564e0af091bb1777f54650c29450dc7240fb92203431eff19a00e0c2b251cd55739d94513a176e4b184ca3b7c6b323d52f2886fc903a44061f4072442464c3b05db307c33f6c51392a9cfdd5f448f1cb3ceba2d2fef03c7d1e95329cc658969f01e3aa75c78319223bf39819f4d44fbe105eada5e42f403bba551cdb67f29f904656399edef4518321a0d3e3a550ca22f6e5e7d0fe38c04039d20c740921f927d4b2983bb09dfd11eb8f507e3225e22e7e5c93a9c5c82595e03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02c9f1bae33d140a98a63ce50ecca9233b8ede23859ff0a912cdd6ec0407011bffffffffffffffff05581d02bb66517f0ccebc62c68bf6caab312c4c132c5b52edbae311658afcc10c1448028e2c13d454dbf60219600005581e03668ac5dc90020d348e2d3d293286379a10ff375c762408266489c76e40040205581e03bbe220e8ff0036721d60c33b6b468d116c4b20ff5e722ac585eb111f500c18264745013c98ccb76303f4eee0392445858237355ef83f8422f7049bf802f992f85fc34a153d4867b9c305581e038e0578f31b86e975d5fa86da7880d6aad2cf626109fbce2e5dd2967310040205581e037d41eace2c7475e00256360a891e5ddc59444c0afbb5c825e7aefa10900c014701a3e9e87e28000219832a0383224fae8ce69936c13307de92702674ce26a395f14173d6eca851fd42a677c60317fd379bfd267f30f1c3e4713c9f1d521939cf227ce8f792c49669e88ec419ab0390cc0005ecb3c9c8104fc396cb14cb7e234dea550178f73e2148e2732502b55b0392c811789b4fddd3a06a9ae7869b644fe68a9806b09f2656addc49bc320748b303c53eae2f322ad84d521d2399d675606f98e6bf7da31a5173c541a24095c9b79703d12bbc6e1d0fcb0a6abc99226ed3d5823f4bc34162f09a1fcd354390dfd8cf64031e98759341dce0762b601706227f025079593db9bcbe3a0b064d687e4a13393d0345d4e089161648e71153c93e588cd9b0a3bfcc9b1da99d0cb55cf32810d2bb8403d374d8c6b8c57df22f7c65237aa881761b2e766053df237aef7d239ab25d5b82035ea712af0b477de01245edbdca832caf62b7d6f9512f0752266feaddd5d0605e0360d32fc1ab1ef920441d370be1022db750164202072b24aab2946a63eccf292c035d0a90213b18336cc8afeb6ee13c2b450deba4aa6e7711df4afda12d93dc6b440219ffff0219ffff0309c0564f61015605773fbcd8bb4762535ebc21e6a5d473c785c1f3e0a09edbf0031a4c010f7922bdf808485e36c34bdf029affccfe15a6c1e0c8a46074cfe0e9be03b605f01648159bd30e48356b7eb7052a87face79786c681cd77f91ba89a36d4703c14dfc6e1c606165525193d7c046dc8d4d72af68b742e3aa4aed0a240872ec5003173a87152b3974154a759f5b3b6961a304b7a2e944e99ed29e08335892b71d4f03fbddbbf704ae3771237e6eaa608083389a882003c69b01d45d4e725a4033fe6203e1be1832488c3604786ba16dbd7015bf99c675b385a63247cf7e04f849726298035e99b3bea14d7429af69a5bdc9cdef5b740edf3e6da3bef2e5c70cd272b6b2e303205621caca3d8659e7cce44d5eccd3088fa768b50a26884ac82d9aff94f136ec0391dce3d6ed25adf2cf67fe50ecaf7c0884cf83f057fb40314e53c23fcc5fb98d0219ffff036cf2a50d9a1f62ae838efba85716750a16c6ba541a1a69cb1b967bde5509b4040389ec67cb4a56af4c16a8c4a2613e6d5ef968b87a855f247867764e9566dd209203820b5fa12941f2ef7e91c2ab8d9d736be0b37f35ef0a14756505ccd4846a510b0348088de387b862b53927a3c1c93c8d2b3a1406250de817dcf4c2e343b06e75950331b5736a53e5aeaef14ba50442a80db3065149d4e30ec32f4c8fc351f35a37be039c4b7022e9a2224072f83ac644b5c18bb5fff08a31555b215c5a7f54c7e7772203f2452670234162c0bad15072d269e45a3f140c92fcbe76731dd2b4f7b68de4f403f8a69b74df103648c3f135cebd8d04714f6ff375c6dac6da63ab50e4ecd57e71031f5fc99bd73e57dfcb4176775eeb3dd26e04355ed39a5b1b427ba340a6f5057e05581d023641145b1f90923e5a07ac8d368eaac61c4c16d707562a585adc54190c024737f16bda9f826a045923c06040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db1461126c578063137c29fe146110755780632a2d80d114610db75780632b67b57014610bde57806330f28b7a14610ade5780633644e51514610a9d57806336c7851614610a285780633ff9dcb1146109a85780634fe02b441461093f57806365d9723c146107ac57806387517c451461067a578063927da105146105c3578063cc53287f146104a3578063edd9444b1461033a5763fe8ec1a7146100c657600080fd5b346103365760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103365767ffffffffffffffff833581811161033257610114903690860161164b565b60243582811161032e5761012b903690870161161a565b6101336114e6565b9160843585811161032a5761014b9036908a016115c1565b98909560a43590811161032657610164913691016115c1565b969095815190610173826113ff565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610222602085018096611f93565b918237018a8152039961025b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611437565b5190209085515161026b81611ebb565b908a5b8181106102f95750506102f6999a6102ed9183516102a081610294602082018095611f66565b03848101835282611437565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611437565b51902093611cf7565b80f35b8061031161030b610321938c5161175e565b51612054565b61031b828661175e565b52611f0a565b61026e565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103365760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103365767ffffffffffffffff9080358281116103325761038b903690830161164b565b60243583811161032e576103a2903690840161161a565b9390926103ad6114e6565b9160643590811161049f576103c4913691016115c1565b949093835151976103d489611ebb565b98885b81811061047d5750506102f697988151610425816103f9602082018095611f66565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611437565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102ed8161141b565b808b61031b8261049461030b61049a968d5161175e565b9261175e565b6103d7565b8680fd5b5082346105bf57602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325780359067ffffffffffffffff821161032e576104f49136910161161a565b929091845b848110610504578580f35b8061051a610515600193888861196c565b61197c565b61052f84610529848a8a61196c565b0161197c565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a2016104f9565b8280fd5b50346103365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657610676816105ff6114a0565b936106086114c3565b6106106114e6565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103365760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610336576106b26114a0565b906106bb6114c3565b916106c46114e6565b65ffffffffffff926064358481169081810361032a5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c209486156000146107a457504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b905092610783565b5082346105bf5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf576107e56114a0565b906107ee6114c3565b9265ffffffffffff604435818116939084810361032a57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156109175761ffff9085840316116108f05750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b503461033657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610336578060209273ffffffffffffffffffffffffffffffffffffffff61098f6114a0565b1681528084528181206024358252845220549051908152f35b5082346105bf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b8234610a9a5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a9a57610a606114a0565b610a686114c3565b610a706114e6565b6064359173ffffffffffffffffffffffffffffffffffffffff8316830361032e576102f6936117a1565b80fd5b503461033657817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657602090610ad7611b1e565b9051908152f35b508290346105bf576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf57610b1a3661152a565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261033257610b4c611478565b9160e43567ffffffffffffffff8111610bda576102f694610b6f913691016115c1565b939092610b7c8351612054565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610bd18161141b565b51902091611c25565b8580fd5b509134610336576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657610c186114a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610332576080855191610c51836113e3565b1261033257845190610c6282611398565b73ffffffffffffffffffffffffffffffffffffffff91602435838116810361049f578152604435838116810361049f57602082015265ffffffffffff606435818116810361032a5788830152608435908116810361049f576060820152815260a435938285168503610bda576020820194855260c4359087830182815260e43567ffffffffffffffff811161032657610cfe90369084016115c1565b929093804211610d88575050918591610d786102f6999a610d7e95610d238851611fbe565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610d70816113ff565b519020611bd9565b916120c7565b519251169161199d565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b5091346103365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc93818536011261033257610df36114a0565b9260249081359267ffffffffffffffff9788851161032a578590853603011261049f578051978589018981108282111761104a578252848301358181116103265785019036602383011215610326578382013591610e50836115ef565b90610e5d85519283611437565b838252602093878584019160071b83010191368311611046578801905b828210610fe9575050508a526044610e93868801611509565b96838c01978852013594838b0191868352604435908111610fe557610ebb90369087016115c1565b959096804211610fba575050508998995151610ed681611ebb565b908b5b818110610f9757505092889492610d7892610f6497958351610f02816103f98682018095611f66565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610d70816113ff565b51169082515192845b848110610f78578580f35b80610f918585610f8b600195875161175e565b5161199d565b01610f6d565b80610311610fac8e9f9e93610fb2945161175e565b51611fbe565b9b9a9b610ed9565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b6080823603126110465785608091885161100281611398565b61100b85611509565b8152611018838601611509565b838201526110278a8601611607565b8a8201528d611037818701611607565b90820152815201910190610e7a565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105bf576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf576110b03661152a565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c360112610332576110e2611478565b67ffffffffffffffff93906101043585811161049f5761110590369086016115c1565b90936101243596871161032a57611125610bd1966102f6983691016115c1565b969095825190611134826113ff565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c0000000000000000000000000000000000000000000000000000000060808301528351948591816111e3602085018096611f93565b918237018b8152039361121c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611437565b5190209261122a8651612054565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102e1565b5082346105bf576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033257813567ffffffffffffffff92838211610bda5736602383011215610bda5781013592831161032e576024906007368386831b8401011161049f57865b8581106112e5578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83360301126103265761139288876001946060835161132c81611398565b611368608461133c8d8601611509565b9485845261134c60448201611509565b809785015261135d60648201611509565b809885015201611509565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166117a1565b016112da565b6080810190811067ffffffffffffffff8211176113b457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176113b457604052565b60a0810190811067ffffffffffffffff8211176113b457604052565b60c0810190811067ffffffffffffffff8211176113b457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b457604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01906080821261149b576040805190611563826113e3565b8082941261149b57805181810181811067ffffffffffffffff8211176113b457825260043573ffffffffffffffffffffffffffffffffffffffff8116810361149b578152602435602082015282526044356020830152606435910152565b9181601f8401121561149b5782359167ffffffffffffffff831161149b576020838186019501011161149b57565b67ffffffffffffffff81116113b45760051b60200190565b359065ffffffffffff8216820361149b57565b9181601f8401121561149b5782359167ffffffffffffffff831161149b576020808501948460061b01011161149b57565b91909160608184031261149b576040805191611666836113e3565b8294813567ffffffffffffffff9081811161149b57830182601f8201121561149b578035611693816115ef565b926116a087519485611437565b818452602094858086019360061b8501019381851161149b579086899897969594939201925b8484106116e3575050505050855280820135908501520135910152565b90919293949596978483031261149b578851908982019082821085831117611730578a928992845261171487611509565b81528287013583820152815201930191908897969594936116c6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156117725760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c16804211611884575082871696838803611812575b5050611810955016926118b5565b565b878484161160001461184f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846118109a031691161790553880611802565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561190e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b91908110156117725760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff8116810361149b5790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c03611af5579185611ace94927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec98979694508715600014611ad35779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff000000000000000000000000000000000000000087611a60565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f000000000000000000000000000000000000000000000000000000000000000103611b69577f866a5aba21966af95d6c7ab78eb2b2fc913915c28be3b9aa07cc04ff903e3f2890565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a604082015246606082015230608082015260808152611bd3816113ff565b51902090565b611be1611b1e565b906040519060208201927f190100000000000000000000000000000000000000000000000000000000000084526022830152604282015260428152611bd381611398565b9192909360a435936040840151804211611cc65750602084510151808611611c955750918591610d78611c6594611c60602088015186611e47565b611bd9565b73ffffffffffffffffffffffffffffffffffffffff809151511692608435918216820361149b57611810936118b5565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611e175750848803611dee57611d2e918691610d7860209b611c608d88015186611e47565b60005b868110611d42575050505050505050565b611d4d81835161175e565b5188611d5a83878a61196c565b01359089810151808311611dbe575091818888886001968596611d84575b50505050505001611d31565b611db395611dad9273ffffffffffffffffffffffffffffffffffffffff6105159351169561196c565b916118b5565b803888888883611d78565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611e9157565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611ec5826115ef565b611ed26040519182611437565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611f0082946115ef565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611f375760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611f7f575050505090565b835185529381019392810192600101611f71565b9081519160005b838110611fab575050016000815290565b8060208092840101518185015201611f9a565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176113b45760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff81511660408401520151606082015260608152611bd381611398565b919082604091031261149b576020823592013590565b6000843b61222e5750604182036121ac576120e4828201826120b1565b939092604010156117725760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa156121a05773ffffffffffffffffffffffffffffffffffffffff806000511691821561217657160361214c57565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203612204576121c0918101906120b1565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611f375760209360009360ff608094612102565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa9081156123a857829161232a575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361230057565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d82116123a0575b8161234460209383611437565b810103126103365751907fffffffff0000000000000000000000000000000000000000000000000000000082168203610a9a57507fffffffff0000000000000000000000000000000000000000000000000000000090386122d4565b3d9150612337565b6040513d84823e3d90fdfea164736f6c6343000811000a0346f6a70c542c3d860ff7f8e30bf73c8f7f19bba656177af5039b70a65c58565e03ee1cc44595e5c41dac3c71d7afa5c8d2cd70b4050b9f960bf0eb57901fe93ec4035c60300f8a3f8a623084280334a615ceb96aa1c36e05fe576d0bbcc5e1ca3aa50359dea8dac5b5efb9021f7c32ea62ead975e192178f70c59cb046b6d8c367a35a032503bef8a70323b38acf804335ea8fab37f89fec8f7189c4436dd2bafbfb4f16032e23d1152ff8d4bcf39a6c1173c1253aeba0f7be5deefa534ee3ca19f2366c02030d829c70904b741188671d76b870ce46439e2a6dfb63729fdc1150c821a0394d03fa337545937dc54d463ceaff09edb650932ebeecab1c9c8170e7a4efd691d16b03b87cf964afd4694cfd7cdc228685637fd489a7664ae93b478e7fe1b6610d0dff03429cee9a21b21a163a17fc22ac430e787a125c0fd7de275750af5501c3084ee1037a723342b44c39d408823e667bda4764dcc8c53936b01ca31cb83c05f76d036303e8fccd183b41b48e4fd40e64e5798ea3c7737f8482ccb1816e9e8caf7587021403ca361bf24f43b907cd3bdf8c10c22ecd5a5f2d6d21601f8f2341249bec895e08030055cfef8165edb9139c3378bebefa5522729a4c1fd6003ba625852b96fa58600307f358cde6190597ab7f04b5c083e2ae21fa2672f6a7ac5a07278435e4e1e8c9031286f571a3c3cd77d38d52e1c96d25211a67367acb142bf33bd1a4df0892147903b9cc120325e109322d86237996bbe3dfd395f626c8b393b972e67bfc9e2971fe0313f28700493830154e1ebb78237ebd963d6555e5932aa2411335941bfe919568030f162fab861521302b6323d43eae29ffae25c1def7b5542f760dfcfbab26034e03606a0a1359d7120deecf4f86e2bec54eea8c52d5f796b1412090ac9137030dce037d2f43e994fdb536968767d2acf5cb8531070f9756a79592eb7cffb495e1cc0e030e7822856a23b837294c5eab5859f77078c8bdced71ea89810eba762ed03108603572e9d03d262f8f4ef4a50ef5f82d23f0dfe2b85486e22d178ab8eb7d53beb3003bdaec039f2c9b933c2291c96f4809a17fdce5f4d22e972a1465d4e8ebd27268e03cdc28e104c2850339fd5fdc6538a3bf50f3591d2d6a5980179b9dd9b2f1584ee03841c32e93268fe55510ca08cbb1ff89e68d21483edf56b7fb22697d7b5d4675c0337fd898144436907bcbd49f450767c4f2bfec2410c6888364638e155ff99412303e5f7beaf2b14d8415068c5cc597d9a4e553daa645fb0c87d729e29715c8c9e4b03cf34790d80e5ea9349eb3cb4c997f81d25137f277678859d1fcf2f78164394990331ada7c763a5851a971a45e499d3b057abe0a00240d4d16a2b7ccd992e01e2f303bb5538f5f7b65789b3332f9e88b22eb1d6b95256ce2f2cdc65566d7db8d0e51a03b40cdeabc7dadd0c2d1acfbb27724446e5db2839338d59a89d3268330e24089903ad46fc4cc7b1c2b1d37a1678c88820ff01973eea7c6d5b6d5a1b48bba978b014030ec9ec48bff215ed41d1ff6e22ff37a000d85b19fcd70e4e6f2e1a4acef5ba2b0377da11174a409f297f4b36904f677416b41e97533c1b975e23665bbbe5d855240345f96a96f43732c4a5480ac6e7e540068b6502f81f8b42d00e347690ce717c7903868f8662613b643daebcb2ba00b67dc1eb9a50a0f4d0b6c81bd4f3ea72e5eb2c00581e028e9aee902703b5587c579322eda1c7ad478871df7858d88307c35af65d410200581e0236ba2d19c3b374a317a72fa0bd5edbb839c93d059b327a66a2b7c5a28c581b010000669e0bd0ffffffffffffffffffffffffffffffffffffffff00581e021d85bd912ea9b5cc99ca69a0efbb6e9a3f05300389a0640f9383df1295581b010000657f957fffffffffffffffffffffffffffffffffffffffff03f5a2942c099995b1702daf4659996cf78f8f41142fcc91a741e310a9bf14fca5031907e421d05b45511517ef8e6a48410f313a9d799216aca99339029c58d4e73600581e025f0a76ebe4788b271c88400ed90d4e8f139d8d60cd3abe89c227bf5d0f581b01000066a7d154ffffffffffffffffffffffffffffffffffffffff00581e0283dd7852c28fa07653632889c336dd40aae0fd3e6f586f366da3a8ef00581b010000650f33cfffffffffffffffffffffffffffffffffffffffff00581d0380591d6d52199d3ecddf2b4ff2e949413ff0e203f78b70f65523a3c0410200581d037cba220fd19a58ef82320e6c49755b681860f8b70912ffb1a2b77bd0581b01000066169dadffffffffffffffffffffffffffffffffffffffff0219020101410a00581e03e44003d8adc2470b64db36a43ffa5b05f9d1677a1c94e82e6c63bf0980581b01000064679354ffffffffffffffffffffffffffffffffffffffff0218220219aec203509ba236254be182db1a418139a417791a551cebea7fe651d2043ab8e1b1c5fd0219ffff03f194e272fa107f8ee770c1594a40b3a70a5532fd0adc0a0a1f68302ce0e5474c031b1a0c72238f55e6a054a8efd63b275b1668db00955e2cfc26c0070b46ab4be703cd57d940e68316e98e0931c40a454ec3fef3a84e7135a15512c379df6e1f6c9d034f24ce3fd50e5dd55e38627ea7e14d07823eb4bad3ee7c3df0322fc6defd9f1b0301eeb156b9210e0404b4e2e3ebd037a2802279ba53ee919da0acab1aded84ee5034c3ecd32c204f2331cc555cf1c832ae0441c75830922d89c9daf36c58093da2703cabad6129a96d26d22fd20dfe10a91318568abff965aee384ca4e5e633c8841b0313b05062d23bc88c020486d73344c41a9fc08a291389d2a3356de9a1aff3afc70309e5b04a458aca156259d45612caa1cf218339d6a2e9ccac2f8e7af3b9004d6403325710cf994a0cebc97766a7e8563ea81f65524b13027b1fc6703b4fcae1f8ab03893d9e9750bd33d02c0e32585d1235b58a14e44a08a0977e21efa7bdc2410755032455cc0b4c068ab7ef42a97b646e0886ccb1624110526e6c5069175a686702130219ffff0219ffff03d075ac74f15f8046bf00a1aae742492df4ef3319ce48161a75c4d29238c33658035d6ef73059beb96cd14c68c97e4bba2dd058a93513d57d2128d1e960b0835e06036d83b7a134246f4086e9805a71315a104d62116105cc52ee8de191a3859ade1003f6e2bc54df3d188266f7611f24b7c4e11fcf6218fa6282c491e132d04f17469c033010d14179bf40bad1281173ffc8cb5e437e10dff466aa6ffbea5f2fdb181b89036e0df4c12d8ed9795b97cbbbeee1daf7491cf8ad2dcb7c4ccacf2a11724ed784034e1e7adac4d414274f585e123f6a72c671cd028bd423d3f77733147231711e39035ba274618c578dc4597824ce74f02d97a037c9fa804b064e610283e6b3b45924032bf566d71da5d404f0e4f4c7e826ba8360a82902ee669013bff7e849c8a2189a03c6d83e1d6c8a747165e673b288aa9db40c0f4c3d2e5bbc78de163fb060604d86035b4e097cbcbf4f31da7b62d8866b06c53f2f241decf5ce309a64d3c060bf260e0219ffff03eee7989c0e294236e18c58bf2b92c88ad3f524af2d3915dc285609ed37c2d31f03a143c661f499506d404334a594f02562ae9add8e6cf863ad520d2a8f1284a98203181687727c30043acaa738f9fb9c7bea9c89dc9e89cf5785c3c6fbbcd75c8a0603a2ad45c1ca16ad46a261d911d1d6727137eb07e4b336992594c6cca8b699ab3d031e4f595e4884841630aa6d534aff8b73b26dbae4f6a47d8db160ccbed8cf4ef303b648d12c947da81af70cbed70c265b42690a5d575e5d746cf81e9f285706f45b03993f1969bdf0f6de2ca9692706d47489b80bc8c10ec53aec6bc458b23d427e3503d569d5528dc2f071c3f4ea5895626e0383c214b04f771d1274f62d6d1b96af0703e60413421761c00a91555997cda73fabe1b659f7b32f8aed91474b7893a7f88003c50690d4cab73aea0be36080d5cdce6741d53fa9254602eb4a66a44a85db8fc90350a6ff85dd13bd5ebf4c401fd55e1c2ed05c135be7bdc1e738c5ba2b4b75ba57038b804db67b1e921b968d79c98193bc8ced714fa79a0b79d0aa5d4c3a90ae6adb03c31b6480a16ca77dede9645507e7a28bc36705ed33cea2b380384cfdd762907603f1b70d1b1e4fa5fa7c784a41f1dc2b2eb7d21a12bfc03d71595a03e9f61468ea03121dac3f50f2aeb9fef946bdbeb03ba1abe8e97bbe3a90322bcc5496b088c3d000581e026a3e43d0e0839495bd3fc0b550513e85ef134c2805907a1efe7d2d0343581b01000065a1557cffffffffffffffffffffffffffffffffffffffff00581e0208214fd8c15bdbe14dbaff8930936b6c365bfa39224cf471b8ee7e92b4581b0100006598945dffffffffffffffffffffffffffffffffffffffff030c2a1d5e8c3fc6ad1ac55e0349af99734733a54834c50f0821a32ad47c8294f400581e036369a97bddae6f91a9c892a83f1f6f4e7edb5c9a03257c86c05c455cd0581b010000656d2cf1ffffffffffffffffffffffffffffffffffffffff00581e0360dc7e9e7150ac2bde9fcaa3f6a318dc891c33f8c00509390750324980581b01000066a6990dffffffffffffffffffffffffffffffffffffffff0219040200581e025b4f01c36f52da42939ee7a5de7dc2c5a717e865d1050d500fa958cb94581b01000064f122bbffffffffffffffffffffffffffffffffffffffff0371d1228be880091be574f9e6497f2212974d6150ce3b2beeafc4dc52dd45ae6c00581e02aa9b7255f178488c9c37f4f6fa4ca7b8cc845860b5be1246b1e49f6c93581b010000643e118fffffffffffffffffffffffffffffffffffffffff02196f0103c7de14d265361c349872e3599b6f9e1d4696193644ce6362aa83f3e22be636a503d9508e884606470d8712c12ecc2e469de160f06b4aae6823e3f8b9c88681bd4a0301669e3fdf6f6e25b1a2e4ce3f8c65a2c84be3b025de887f7487407682d547cd037a490498ee0bfbe08c7eb306fbd867e5851e66476396dca2d20f103bb7f18d6e03013dd3bad31c3462c506c4c8bf60a6ca5fcd4db886f2ed6110b08e886d620d7303d58493877eb8678aaa3889375c81c0d1dd103e39bec2b933e77c4c3a27fa28a5037530495390a00a6464a004a39d2b0b99e9674b4e6be9f3962ea5f394bc4acf5803a5478e9a5473afe71399f7a840413d46ff7618ae0201cf9245ac7ab0bc7324b50374947855573e1886919640b43487aece75fdfd376f3d283d88e77cf934bce6e203b6b6852547166364d84a038509babb9e532c47b19d52ee91535820c20a7093d803d17ee16fcc8ea835716ae59277e470341e9b8c8e01fa72d9aac91621cab5270a0219ffff037d6f7bd7d6e6f3a8bcbfc0a63a94a3badab019455884f37821ed03ee77186aab037e640a4760b31e248b1c7403fc2976d59d1217f593222f8ba8a8ea23980fdfa0038e6c667d9a03562df0a39f3b134a7ec98454a659b7a90d0ca2ebb9cd59508b8c03ed886c5b6bd7a857cefad6564d0df13f8576de5fbf7316f536031d579eeb09de03889dd119c181b08673852e9fc5d7d9ed756490a1c3df47fc902282eb6d9b4cd40318c9dc2887fdf9c6d9d208d3a8d2d15e152c3fa87261f26c705d483b22187138030aaeb5856939363e72b3a3b68a82b413528bc6d143877105027d7ec41a6a18fb03ed7ad8b5b49663b30351fdfe2b5494c1c7702e62efaaf3ab63e8e44f4e22ecb103b2411c16745a2fe5214fb701798a68f7ff9b58e5b6a36e438de3bcad1a2f0f4f03f6cbfbf4f97621f8c9a692c76c813280621c7a2ac902b0cd925590574969c83f03c41d43382f064c59ce79889754e556e82b2c3d20e7b735d5572446ca0ce09db503eccbc602bbf440db3083c62615a940b677b5f4d371dfc57e41542c9a9e0066ed0219ffff03aa36e4d021f8316cf5857b4f67d7d16e07edbc91784b6e280afba8341e50ddf10387ddfda758d4f0c7a2494d090fcf29e33c0af483f68723635e314361b1ef684603a18567804f80fdf08a029f9b6f31156fd1abeb4d0fdf8371719157e0c1eb01cb03e3f364061a5ff398441dcf7fdf7f6209f86e5d408396c278daef7ae3c88fe75503b97e888893fa303290e6db446b0a8cb375b2681fc42b8d4d01ea4316d63636150384a9d72b03d896d66bb05d5c8810cba3896ba7206b07047ebf1d76ff47b94e08034c7b5225b6a00af86aa4ff606a70aaa19c6afde799b4c70a1e20fd2d8c55d9160219ffff03f70f9d98127ce605144d49475c6600cb4e845952cec8bb018f817859e03e2a990365d9e8ecbf17b71167ffe768f592b29f7a7d92189ad0c65798af090d291ffbbe03f5d31cadc0896070f7b79267d0c4f17de58ceb02399a821b84cf1b2f9ef1d8dd03f0c5886d9489b9ff4f8ce5fc808319392b465fdf859795fa4a95e033ca5b0ef7030e804e52d63760da588f075132d0331eb0865edc7dd07b1ff98d9b310f78604603aeaca521e9ac47718e3a4a1b98dc332be2618ea09b9a3cc127ec07b8a9a67562034c3257a7675b85989aaca7eeaae2b5539ff2292560d16b35665830aa803f240303523d6a21a9b3e961eb5628eb1f5c963fe97b5ef16eabb9cf9739343e65e5d25c038c2d184a8a32738f98dbc2a6ac97d9c20c7353d11c674340e929620be69ddbb10352d124a555a1c0a91cff8509cfdc77c5c80bc7e054f6f9b8fbc157c5419bb5ba03db98b5b09410cbcf0aafea0248487beb30c36fe2788a95452d837ab9bd3eadc703d322496232280181ec690035a2c75d4a0cdf7b25d0d3dab1876382f8fd4ed8aa03d55b7a88b72efd3bcccf0b89b034dd7d83885b8b93d3a559d497af007566cd0c032a43987b76f7d3229e7d86443f559e9602508469cbbce8f27a5ebe6ad76b769803234f27b83375093953b39014e2697665e6c305e54ce6599d1e6fee8b2b4a77e30219ffff03223080f1f3011ef2f2149e6ca63fb684a150630b32a175ac2ebf42c95a36da37039df787ca6a5e3212fe21c113e6e90c7a79e0b682457bfbb45c0926133ea59033039c6f1525d2a1860a94d40f67da535fa671e84201fd1be5db10c32414a79ca88103f1009c91bf3ad06a031d62fa1eced231fa436f08ebb2714b82714dad9b7d12d703db2870318665f34b4b2569ed8d573b70f3c9671e4ade91e20cec4f954f3327f103f64721985193a2c5b6f03f6580e0318becd8053c46ba0144e6b3138cc256469303cf1dd56f7a2d9889eca2a673f5dfe370d44ef009b60da624d20574f16c146537035bc56dcf386e189fa2c2bdf669ccfdeec0e705e9f1acd9798fdbfa49acaa616903eca9a2e94ac717c0cc767a9db760fd4759f11ccc6d35b8ca3a31a226e3710fdb03e974211926a9203c698d8228e49d7802569e389fdc5ea51d4e4d97ac7fde4f7e0313e86decfbef387edfd47f8fe553a71e78b468b0acbcae1a42208bba4bac04c60347f6ba23a3e6ea351074c2760b5dc30cd7009fa31d43fce7d7aea2abfe14a67403cd56746678a1fec4c145595d61b162f3cad87fda3d74eadb0aedf4140d21783b036f2220f71b78980b9883f084ddab5d09e3ed7eccc0e014cf0984be31263e105803792db35eaadb793f3a160d48688d62786ba1c47a2b24c89521897ff027e8dcc303d49fd08dabb7067ed8b0793e04864fb782230da68e966eba7b624e6d0c789a5e032e87218a5db78df15e1b69123abb67088c3ddde16c2f7854261d669f324e946b03c7fa8b01eb7d25042c6ddc9724c0d7b7f83d6c0bf7d43191c5931ad3f96e454c03cb1f20da8ce7acc81a861f307f7ba5188e9433edcfc0cab357530787242ab7ca039767339c15a09c85e72e70976a72709b6324a7d9f8d4f3ee3796aa79580ec56e03ede1ad13ae5d717f0ecbf099112423c6a99a78a7a1ea18d152f006d037c1e517030f59f2f839fa1e137b883fde8a6219930e7681b748a06b2354c1171b245b277f0333a38a5f1d02a042ff3b2385694b46f35eef3bfaded01bf7296dca1a25f3a4a4037e47018e2f5fdb9772487a7833901631267273bddb0adadfb5c2bc3df6e2c858033ea02a6db91242913c5fdcee933b267fe469fee3b9d98c3652783d36297e76e5031399bb5f24fa2947f3a7eadfae9d5e926365914e6abe0710c094e093b5d64ae503601807bd788f630cd29cbae64558480c54b8ce88b9d52e34c022ec543720a86b0379512111f3d4359f344c3709c37b0cd9db0510d1a6e0dd0037c6e3fd173e231f03215f0486bf6ee0d6f50b640d0627d31699e26e1382353873dcad75cb17b98bcc03d1fd35f5f1d89c24a14e9c887ea3d48cd388fc86185315551439d1e598a645d903db191635960100dab3123fd65401d36aabc46a57b174e728e34f878bb2d431dc0361d8c8880d64e1f6196740bb3e7ef75ccc691272d92418c52ee73ee37f7144ba034b15098c75bdbad926105882f7846c0dda64d446329cd09939ae46214bd49f0303a50d6028bb08eaff9c8decbbb22a9eb8ac0d40acd20d0c8f2b725978a86acfd5033ffc311fc464716c5be5633f5ee7a5cf0d2c7ac08e55bad2e3d75b2f0c07729a00581e0272e9c45da6b1f7e250d75aac6880c041c3a904c79a0bfbd273653acfe0581b01000064675a0dffffffffffffffffffffffffffffffffffffffff035c7e5201dc081286ea4459eb570954f1a24d6a7561b0212959d54f1924c01c6000581e02dc64143cc319d29a4259fea890395f06337437f4d241aff35f6d09e95b581b01000066746aa4ffffffffffffffffffffffffffffffffffffffff03d66f01962b2bb4efbbcf918acf92081456b4d898408a27a896d3ac285b87ad6c03ec0e4d3dbd319ca380c94489e292a85bfaa8cc0a9ba190d2f206f27e0e2e1f9200581e02792a8c4f769844594cb7434690cd40000e80f23f19bdfe57d36af8079e581b01000064d3e5ecffffffffffffffffffffffffffffffffffffffff02198d9003909765ca7ce9269621fc7a42d2f5f1b73909845b972621e456bed528c7b0f662038960b3743c516c102ba1fe1f33b4cb6acc5bd40d8c64e96624119fd87092eead03960b27a9f6a756c96dcc5512fed07466d002de4907fb427ddc5ffb0fbdf07e4803c4e9443264b58f890512a0f85688029dba0608f7baeada30607e6c7954091e28031330abdb8ddc6c743c99fb0b6f9e0d44902bd356d2a578499a03009f5b1861cb03ea79bcbad083e10262696b0977b0977faf278f8c7c60cc8b86508865d70139630219ffff0219ffff037d6bcccbb9fc2dd78042817812d359e00462831a82800b2fef4884b55a42205103ac91a40dc898e49e2007244dba4eba3b9e956547856dd7d251b2013cb3ee2dd10371efba76fb05028d73aabd36b164510753b53064f43a3afde034e7901ce27b49033f13c35d9084e254eb10611df4be8d94161061ffe7d050b6f9cf571efba6841d03d3d77c8eb5889db57d009a397fe1ae101880b29750f940ff1d7000e1081eaea9034a9497f23226ffd7ad5223ac7c01df871f74e5c8d9eca9323a996a9f849d7e31034fcfd8dff527b082215b2a78511f51048893ae7efcbd093f2744ae71bc9d1aab03b2afe1a095f3bb1ff6b5d1880de5218919a71a48a3cc0990791bad91b1b34a5b03dd1533aa6f2a0ce371443b27830662f2a2731149bac3181c848a2cb70437a01f036d2fdd5cf54c72a16a7263262c8b69b481d2aba702feba1bc30b5b69a9cbc95e0311fd60507f2c9ef9f222e02d0b1d8692082061fe3ab7d6496553fd1670e5704603f93d9e1c648fb38e888c80da100d0f2f3c2dfd17559e86add2fb38f33299b8910306c9312eba2ce2f935bacc013d45f1706384cbc933d9fe87b08b648d4734039503b79caf08abad1dcc8af3aba8e2c4ba4c3f549b3024b713a5be1c823cb7e3805f0219ffff0359b19d1f82c70def011ec94b3b047f22113f19345367c8c17acbc4e9eb9918140384ea1d1d24e2b452b85daa4ef89da2e57ae68ffd7c3ce4c300be64724d7de84103214f83ce043bb0a9429528ccbcdc49b21e1ad7e9855c9237a21c63b96b963c9703210e37d100a4713f2b5a4901a7a02e53eec56b0071d4698fe63ab388792eca92030d5aee780b1a7708123ffa6d5d3cfcbf3d27400ab4586f76eded9d57814c6148030104feb8f78b0f0b725d9c0b9d6e8c16754029705a47ad02f79de9da65b2b77d0219ffff03e615373a097b9300427d87738eea1534b9d6d2bf8dab8ac9ed5fc8e093bc260703e2b054605d71b8c674688c76b956a35d8d948d5f4776c9dd185974239f4b5bbe03c2e76c881b3df2e6a9ee43fd39398f21a507b567733941509185a90caf2b97e30310614ef183ec39c00b71a5f6d2366e9b09d6b024868c1b60be99261b3fb045da03be9b08106c91fe30d7769fda981622dde0ffb17aa8bd0fe02a946659da512ce203cbee62d01e79468c3a0958860e99565525024cdd9604ec70759f4db346546de9039fc1d3e14110ab042fe387a2a3d63cfadeb8f13c52048b54a6cb3d30153f31cb0340ef3420f7fb918bddf24f9249a1d77e3dd7b5e8378c4430cb64824ee65c5a9403a69e6ea346362e66dc5280556422bf5b1ab2ea64575b9bff85d8a722797a08f103eaa1c7968dd2ff122fb2b92f3bed13dac2a6fff853cdb5c2050d433d766046da03a3f27954a5fea0dc93354ab233d55b6cc47c065ec22e835adf3450b35fbe152e03c4a8ec8611887a516e365283396e19952bb393dbafb6dec68cc08f34804cf012034a95594e908feaebd274fb80cb96224cecb0e568bb46694e73704fa4a461270e03628e907e185681211e62868de5a626f6034a6f7dca5e1928b0f2a133ef1bdb9603117ae75f616aec7d719f5cb220391584c0e07d6bbbe67e5c7c3be9857112db2a0332e1d3291726c3e17fb2788a2bf5e343fe33ad0e038de0f509fb069c10eba50b032dee1f9ca091d69aafdfba78df8498ad45359939a3395e60ebaf496a49fea4a20356e8e457d214e7a9f2f7b8970a6e116d18e79dfdc7ce8b2f7c087944a5138f6103f876588465296e0fb434cd9ad18f67f0a5ba5160408b0fb660757e76975fd72703bee9273d0189d7c26eca211f970e97624847f0948ba1e165c8fd1f21e9cbb7090350e15e1e1cb7c29c635bf88edbf6eab91d8bd77331d65df77a6326ebff60e02403587a939c7b4fa94e0ef6c2ede054e164e229f3a95dd952afca4aad2cb158f4d3033926387c3adbe6fcd83cb8ca802e9f30bd8ce44271edca64de0307892bf4bb7503d26118e03b2becf0ea84ea5bfc1eaf1919f3664d401f10fff38697b84391cd3f030359ef07041be0fad33f168dbb56e0ced239a653f40417d1eaaa91ad7931a6b40364809c890cb48edcd95028a8e0bd9a2f12a2a8cae9a057adb3e9d006670f3fb203cba980d57517234bcac7dca01bdb245911759de227065fe1a4c7dd7c7e32bd10038ad1963afe351d44aab39e35c514e8309a6f706d30cbc26cc8deb172fc47a76b00581e02648818ddfe0ef04592fd12989718184a4b1a12a965d38f76e593e1aff2581b01000064c9a808ffffffffffffffffffffffffffffffffffffffff031b65162164bfa70ec392eb8d50b0cabc5ee2314718b97775f43350d54d7130c000581e0220015683f0b218c97a2875abe8fbd0f40c9bc21b9dff1ef1d05e2e5da3581b02000065841664ffffffffffffffffffffffffffffffffffffffff034cf7b59c6c912cf6338e0257b2f8d32df70e9545ca632b0380e40014d89912b100581e02401094da78f2cf9c4b2095523decffd0ca25c5182b5e67667a10a31d8b581b01000065fab19bffffffffffffffffffffffffffffffffffffffff03777c9f7f328c9fc1208abb2c403c8f129daf5dc0b952222f7a6e3a83a523f2e50350690ff55b648b2efeb7b3a60c928d4832872b8388abd2f4cfb9a5f3f991b3c902198c0f038f61109d251313ddecbd15ee811d7d898ad946ba12c60072a60913377f996e8b03ec9c92b7f74ba6e2aed050047f7778d046bbd717d0e5d029e1e944bf2f4dd49d0219ffff03e8d1acd029069dd7b77b1b1a2658720a63836b42e83abc049f5fc7a447ab007c03e2ea660ad21996eb4450038d82cb24790773590620f4b94b143e67c777cfacd1039e94d3020badb78ad8eb2a01bfa4098afca54336ea23ee1dadbaf9d1c9ea57e20364efd68e72305ba48faf1653ab84f7be19bf686c9f3ae6ec03a1c6f4bb57724803e7fd1ad876df8d2ead17b977f8804e70b65da6a59bea99798e7648d0fd497a1b035fc816d66060dcf1f3cb38106db4e3bfe3696b95c43b2bae6d4da3753695f7ad0337ee31454b3c8e95141c9f96b15bd89e0a0c23f455c8cf9bfc08d440bafe2a100219ffff039fc4f4ee81f1de008f2440e6a2ad5dd41a37ec4b779f423422031b5fdc814af103ffdc9c101ff3ff96f4de4e52a368d3544f3c4e8cc03112a2676cc966d518562503359782a8c74fb54d1091a407f71da05b1f9daebc6d525911c8ba2b8e0a1a1ce203bf5f0e66410f8e6ce57edecbbabcdc2ad3f4fe17a1a7a2b99cc25d0b598e62060309a171e3c7bad456ddd0480ac82c8b8aa213148b2850fb65133f79fd765d93ef039d2ec57b9b087f0e14c762df334220de638ee5553c3823c72a172b87d746d77003273193446a054d996daacad2a49f61d2bc2f9e7796dba0e10eb132b81f6fc64403373229307225ec2c9104f15d9520e8b70f414b45149abadb22caedfc9f94527203650668f03b92af7347dca2d6c5a90d46f2ae536a808801fab3c9a818ee08ce7303e8c6978db8cd6cafeb1697a2b710cf1c1d0f65d20415cdfbb4d53323f6ab301f0219ffff03bd9977f629b365a13aa120aa3f0bba51f42fd0dbdf8667f26bd3c4664fec33640346b59ea955667853263b1cad8a29259314547f8cdfe98cac6a3c12801e7e9e1603766967d40e8554217493c8bbcd7065f322928ffc4374998d73551f897a03ae17035d881cf23fa460279a60724a42d23285737ac953905766215a5545dc2c4ec1d0034cdd6ef3d7fdb3f049ea94a81eec9b9a073f267a8f168c5548cbacd9e18327a403f54cd0efd4ed74ee417bf183cd7aad7106716a033358b552b39f49305ef9948f03a119fc93d45b6aaa08f69a76d0f5ce96a4f33ab936e3c9372dc37448a488d0f003e7344df2d0bd842bf7190fa0d01a738065ae23ae77aeb5519b2832c218b6bcf40389bd8a6e51dba6078963389121afe4a0a4f6070449c31c7c3c289ff28360e4dd03b6d1b3885ff5fa08263b2cf0bfb16ac1ec4d7a9df40a1146106e991be8de268f03171a5d4fa7b32d576e0f6aeac38ffe8a0d15083a680a73cbe66fe5fdc0bc89800382b64e17d827972e13980ec579e9af8779370fc5ba34129cd78069e43a953a1a039763ade902284a6e5162cdcafbfb6e0d5c1ab3a742b16a06b1866a1460977a5c03d1a96c0fe08ffe570c4e18a6330c22b6805d581581f17b6ca78f5e3c3255e88a03f8d2d7924fa6a1d7a96959448940e2b5ceb3ba68edd8dbfc20fdd10e0dd9ffa50219ffff03fcb4df59365eb9312cbe1f909ddf9ed55c69618c3f0ed7356eef852425a07bcf03cbb328f1b7ed605b7d1526fcb4b94d855143654345804a1a7ae70410e47cb63703395329f8281dd8c02eb10429d1edfe4df02e34c8a3220aaefad38efc16d88034036d0639fd1b4fac3e06d9fa89730e69e04aa6c060e59d1bb6e0361341a93cf675037887e70489f05089e6c52b08b43dfe0d9aa86f9579b61af965a3fa418ba320530345e07ebedd1ff3bb9eaee68200389b20ffbd9477be1cd4441aa156ed3124b0d1033a09623025cbcde3b5fad744e7266be9c50374d15c08efd0300dfff16056ae11039c1a4f5320ca2f74604fe8b0027010cf3e2d0513d6f0af472e9427193af25ee5030ad8932bad9c68540b31914823cea6da96875daaa1902ead510bedc42f3361ef03babed65cc3cccad3ae2622f9598f52304cefe1ba59a0460b0e1a73b7b38aa57d03841ec84f87b0228bbdeb6c97a8e5ba9e2cb45225d1fc7592487f342f9b8933db03db3f2fccf0f7a15ad610c0155f9ff99123d899ab5d13744b6b739e38ebe8c3130397eeaff95fcf52ead1eeed54ac7f8a462d7eb5c600fef0787f023e329a5046e40337e0a38375550a993a87e9f51c57441a3dc332be0fae91741d96250dcbd6ce6d0351e5e222ab07d3d139a262a5948751a104baa9ccee5eb99cb7bb137e2b8b8517036a5a1e6ac723fab49996214db55b6fb9bf5687147c3f271235d891ee67112dad03a338b06995ceeeae4bd50b10fd4f9bbd8743e05be2436ae6e1f0032645115fd203207291a235c7e387e17b5c85af62e1fb93615c7855aba65fb125042213d66dc303eda50c46e04dc88fac7b17014f31623095fffc1ecd12efd81feff955b773dde70371e202e0ddec75138d60ae28ad8b11c2b630f0fd092b720ef8f96188f568032603e50425778d3921cfb1588e0a0c1d45f0835e9bd4aeba0a88c8b143ae376971bd03798ad18e5a170698594d8fc9289662714224ce040af159625d9aaf6588c9d60803df00ed91f98be547c0337d4b611bf636c50cb8777a47cecb7d71a80b08a726a6036322862cb7cd4c2f91469f50b681816e9c5bf41ea0000c5df63c7410a9b4eecc03b40186fd2e3bf6921ca27a63facb9a8e2ad1162410c5ccef1d508cc59364050603e2943b2668b24603230db57129d62b94a12233fcfac88fd775490f5289f82faf0325b56f2755e8e8111a8c6329bb9873bdd0dbd3b37abd5b09d415cc13bb14328103a944804b602a5410f5ee2ac2388a970101ff6b7807f2d2c530463112251ac1040333cd0a7a2fcff8271813548ffa40111c59042b11f2fdff58e33bdfd5fc5717b203a18f836464bcca33da42c45051ed7ae8abb603974234143839ece328d9d1b4c603460ce1eef208e785b981904eac38bd7c8a3f32365b868847b520848744df8f5203e3fa6c39623d747f6e3248e03cbc8aba4cdcff103bda62721d79f626f1e259ce0353dc7bb19490996081fa1efdc285d917ff9798e9dc1c759e29654a54c6fde19d034364e85e0d1a0b1f753c3f398215c2383d8b11792934e1b85641a6d2e635e3b6031e229d7151d08a70e0abe849bb692ae329d0fdb18c6dcd85d67b3e841471849903087972f61939476f30854d444c35855bd329bb545e59d9b0b6090d99b4ba77cf03b124f262d869a331c477f24f2704ae83944bb3989c65813539235a272b93279803f2ed9e381605ccece9d7885d0a5a3161b36b168712ea2488a7ba282ecd8adfa303725e289106ea81a5e12e4683b33a12d5ba191b0697bbf1007a077ed8abdccca300581e02a612205f93794063ea8e050b17f1a2946911efc320af7850fb049dca5d581b010000663887dfffffffffffffffffffffffffffffffffffffffff00581e024ba2db68af7294dc3d367fed9e634ef910cb8318462c1ad3a4022182ff581b01000066956a8fffffffffffffffffffffffffffffffffffffffff00581e0226f8e59aedd88354f278277838838c9cc371a360509ae5a3cff0e654e9581b01000065a0baa8ffffffffffffffffffffffffffffffffffffffff00581e0243c315babde351907283ce258c4d45cdf1ffcf5ed873c54f3a3342fd67581b010000640b5a26ffffffffffffffffffffffffffffffffffffffff00581e02c20660dbea5c4e7adfbdcca2298a481018d108492d7da53963991b6a00581b02000065eb685affffffffffffffffffffffffffffffffffffffff00581e02fdb45dbe8acd251da7b60abdad548af18b2ca647223f6c18d9795fee2741010219d9820358d67290a6ff504f2720a4ff35127d06009b5399e6340208e85605c615e8cd8c0363d8175f3fa9fe5cf28081ba31622b3d5dec8de589006f387237206581d47c790336b9a7487db4fd2682ee80ab6f5e96a95d0ac575f4e8a2fd4b702504cfa38bb203d9bb5c6ab07308860aa67c188e916945faf749e7afcc3a9823700c79379d7b7b0311635216d6d91b8e18811c6d1287af3be4b2ebbeaa7cf16982ba5a02994341870372e56dc7b7351519787d03abc6ae88cd83e4b9922fb1619a3d240aa23a4cbd6003196b7fba129abaa6ac93a3d5d53cefdb3b6f2287f109cdf1cf2df3029220fc9303e5628c614677ab63454548e509c1fb77656496ac8b24de9a931d140ff3b74f720219ffff03eb04b9442f6aa003fe53a872ae318f5ef884776368bd4217dcf9a63cdcb19cd403d4a150e5de0903b308859fe4cd44c1c033660b340bf2df9edb8db02c01bba44e0219ffff0372e148b0bea4e03f93c679de6520b7dfb512dd7488e721540bff5be17a6c773703a138027608d149f6644503aa0df34bc5391da310a44a168963171142b35657da032608c37350c92d32c15bd06ba769717fb7a8bba4278f83364d8e1ce1e75b7a800395c58084e4396a489da25fbb07ffaa0118814463a3aa0e839bf8930606cd2b220318e6abdd51c7b7f722b1b94db76cfade54ff0a3dd1b2209109d22908b0aadca4038a0ff85cc8b76f951a0dea585a3d707be8ff8d99e71e098d408fe56f1c31491703e2b7d2b5406403d5cf68ca5af7fc5b41a6fe18df4455256b61e2a718e707ed6e0356bf787816ebd67f8dfc59cc99cd886bb38c3846109b69f8bb82983f115f268803530ddc764464ebd1037c316dcc4c02175a597dbffbc7dcbabca01b087b8ee075034aee08613eaaf307d362c523b4c4f012c038e46cf73b410f5fd6c7e8f6079216032f77053c8c5103eb03a08cd4fdb855b2fab1b121444c711947781d5d5f3f6388031b61b884996359e47faf9158866bd4d6e915d4a94fa562d0fb267e3d084dcc640219ffff03596026cc4dfa9994fb34551e78eaba45d36a67f0c3754199d455093731887a16033abd58b448304656a88626e7018b999fcbae836f65a19babd6a46399d64aba3c0219ffff0317bc660ffd5e93d7af7d8d04bedde36b0c9bad1ee67cb9617589e9a84712e8dc03e787493e64466db9c2e058081496da1b3c8fa25b893b638eed8d04acffcf14330388188073a98e819cbfd9d86f04484715593fee6da535129521d3cbd372e05a250344df9a6a41fae4ad28ac615ad76b6c17417f067bd031cfd7c607b5fb80fbc4b3033e1b8e2d52b35b48ce32161fa65329d738a80c777e54add1acd5f86663d49cc503a5097371e8e88d5585d3b7179a2d52c87218e05fe6cf170c7ea6d08038f991640325f15875cd5bd9279923a3fedf5eff3b2491ad99b2d0eec2a5fe8b7ed9ad77c30371600b9148329c0c53ec4f02cbcc6bda237fa2ca2d47f31ea5df9bb72551c42303ef5fc1f4d222b671b05239e8c63cfed24a0a87f79436d1210dd664e3bc7d78dd0329bf7a2207099dd2484eb53a33ba46ba66692e3eb3c3328afac130db8e8a4a990315397ce60bed6cc84ebd57413ca9ae1882f612828be24037900bc815449876f203a11b01d0c64b475b633848f4200de9a55dd63a976591e68c6fdb3cace0883db503fb7cea41cdbf094bf6860fda7aac91f02dd064c73bceeb7847360e03039054bf03df24c644d209413f863fae52dd49db7a6a8056509ae7cd6b6a95ec37b3ea8d1c03eac184ebc5d92bce409f8eb0b95926c7e4f07e260c5b9dd7f668f7ada0ec122e030cbfad7a5df30bfaac44c0b99e308b273ce943126383091f50d824c09616750303ce050ac7b96f5df4bc49556c8a6ac5073b20ea308a856cee0c484b28a6ad3cf60302b71de4c666a237148a3e5e707f61fad121fb440674c38def6570c4c9f5ba5603280bbdf9ea268a13a15518056439a95b6e911ccdabd257a16cdda57d5764c7ff031fb35bfdaae79ea21fc2d7a76a1e1c1a64b7fffbd4ab697b620431b8adf095ca03b903711f1f48ac912c273537da54ef186f365e3e5c162fd93c49c91a279cf56603fed797f3f39f960ee57f2485b2cc9df91d832b34df1ea131fcc71eca7b2adaf203c477e9db97f2d04ee431d82ba322fd38dd259e1992cf5cefa35b384f5e0617c503360604c7a3e9df70876655ca8487f32666ea642731995ffc26fc8b975cfd95f2032fda2bb47f1cb910fa3c01b1f2c2655c65287aa198972904454a2760c5e97986036be9aa810f07d09913399dcb2aaee10bb446d933cc06398c26a52be07d25235e037cbdb9c5609e620d4e28e49f1c73ca6d1b3ca7727c143c7ae35186e97eb057fd032379da98a0b58059fa4b3e4ddcc052acf41279dbc7aeb1923b4c9e8581995c3203d5f5b0681a3953a9702ec30915a4a3eabf1941e61875027ff8f59769d62cfd7f03ede048547fba490cf5585cc3f307a66b75bc0fe0e8b37456a3b94c1534e7124e0344e265420364917e87b72a44991e3f63c2e0626f6f7b5ae3d60762f3f819096f00581e02161d6f60f2c7e3b54d00cd823e32ce84a9665757febb23ab9dbe20f8fb581b01000066ada792ffffffffffffffffffffffffffffffffffffffff00581e02b084e01c3ce2ab8ba15d89e259b8c82b14192e445e09ff5d27d869d812410103c0312cdf3d89ebfb8f7741b7852f34e8ec1e2ae5790536fd44f1493c79b4c139039f705a08d3ff38a2b8d110108ed3e044de23a80635f8454c2f030097c9374fd300581e02c82b70c49f46d5bd2ae67b87790675c3528593b2ca67bb09e5efeacf5e581b01000064a3a5d6ffffffffffffffffffffffffffffffffffffffff0219d0c00314663decfd6f6377a018cfa88ff651de70746064a86b9a1d81c39c2c9c4dcd9b0362f88143398bd7e3cc8e0f913814252bbd589b5e6e4edcfe14650fd89a6adca40394dc10874601be0fe1e32dc441b017af7640b3178aafe41eed02216df0259f2a0219ffff03973adf7a552ba42f1639618a9d362c3c338dc5c577b547fa91916b9cc8edff230389d4152f1b41cfdb878604c166af26b22bf2a7ea29f06209b5dd1d3e6e27414803d681def70e26684e8d97beb40f4d73612639addd09340c2253c82cc2d106e6b203fd97ef9742bf7253121ea571e16fa9c6f5107307d23169f97151aa5ba840395f038ad9a6bf26c8184439364444eeac8435b2d88ea29391dc114a9194149bd5abe503d9e88cfb2e3470dd1588a4208a01c4d540d431af2bbb1a207a29ca59199e83c103a7638b1b5f6df828178d8eee9f5e67965aed2a8d9f0eeb47629490f8ea6fdd0a031d506730fcaecae250474286ec68b90bb9f403cd9d53659655f01984b6fb5e0d03b20910511674adad88c66b36e32e3bb9c31074d74944f98f3b058749a0fd5bd20219ffff0372d80be01373defc013f7029d2ea760bedcf99e63aa635717d03faa1d5e7f91803a068d25669879bc05acf0b0d1a5de7fba2166cc0a5b7cf72b74e6acd9e20f0b5037ef3cb433cdb0d14c1f5d2bba65bd1f6206bbb529f79c2d1382156b9f9621d2e03e0cfa962c5e8c0a3c4925241efd9817141700009d168f56b39a2838bc1bcb97303917ee45d76c12946eef7577d8fdfea4b5f9a5e5211843b81ef8a33f0961f31dd0394e4c789ac82dadfaf3e31069be86b8ca267085dbab061fd92f382fc72f1d103035c1d92a92fdf66726b2dd14d5d87327db577bb563014551306aba1e4ffd4b01e031db8fc47209ddbcc7f9c98caaaf7c01e03801d0356c401144cfd8c7f393b66b00219ffff03327e3f91897374a6c94607430d1b1e06a230b3f7306112ccdd6a29881f3940970311a8ab2f013371315d2fee2ac453aa7c413e16fcdea967d7ac2f334fc6e0281903d9cc9956e8a09014bc77219f9a1c005a41cc038b2b04eba5b48a408a250608dd03c4dfa305b77a9436856ec91a19080ac2a1400f649afeada394bf0a7ac52452a8031be6dbbe0b6d8c1b52ed9a39694400f08b84fc3c64a8ca685f413a798c20cfe003c9f22266fd957d83c86f42ad3e6dc5c02e1a0713762d8a9b14486c9f2ae03c5f0342e71fc234761adfd1085af966f8b439426a09822b6cbde14d04fb54d6a1b4d203d882d46c7d39cc0ebceee7bdcc0b7867919d344723344ac57f9023834baf807a030169c45ea1c6d228e387fc389ef3dd8d06170d1534c86eb0271cba895a4e5f540365e163b399652560cdd459150bb66c86703e241d0cc6eae4a06a421d5d947f4503215fa073bd055c493a15890716feb98bfbbe548131ad50b23e823a57e11b576503e6900ec99d917f3bf43043d77f4aa79f824c39b903d373362023eb80ded97ed203755f05edb8f08a04fba4ac2102882f472ad59cb04baac16dbd48b0479102094703e95ef5121d3249579d81227e8e00583288c6d8b543ea91c38deea190775f07360380baede42d55536f7837295ebca4ebb956b6588fca1f7e25e870d75fdd33481403fb1f496fc38853a6888064b59c246602123c523908eede2269f9cdab08ba8faa00581e02c1432dd13e5fafa9ae13f4a7ddad248ec8fff5406e2c982113e75b6c3e581b01000064835c8dffffffffffffffffffffffffffffffffffffffff03539ae79079061cacd23d074ba40126e1f55611fa34ef9230df035bd27dbcf6d003e5a147e05b4cc8bb33287faf83f6ebefb9a8822f11d813767213478fb4ce2b930365ae8f7469891ddce338ce8437230b1454f77cae2b03a214e4b9804b16c3d06600581e02ae6a7056a5a1f5039f13a0c77c9267b67286cf22ac5d3000205e2ccab8581b010000657a06a6ffffffffffffffffffffffffffffffffffffffff03527c6d83edc5d24128aa497c6dc00e0113834ec0f606b90b8283fd3314032ef800581e02fd1a7cd1ed7280e58a77cf6b1b537069d7e70efd6c704bbc4d2c451d50581b01000064b2d2e0ffffffffffffffffffffffffffffffffffffffff00581e02eba1c6d1a35d0da1d4dc75a0c1e5cc3352ab2cd43accaae3d9598a0955581b01000066ae9c40ffffffffffffffffffffffffffffffffffffffff00581e025a80aa6cc240fb296401a24b1426f1af9a0e4038f95627ae6ecca0c3b44101021905bf033fffe3688d38555048385738063d76fe053a41616fdbaa46d21f632d55a267ff038f48cc7c4a360002847270ea7f8b40082ab40d34cdd4cdee0cf6567668f878a9031bfe13c3a53a17b7cbc24667bad6cffde82f630b528e68565c0357abd8a42e0103e455f8b7e95d8aac56732c3e0c65e8c9baa075eac79bae222ede9ff151728443033793d60edb57253501dd42adefb7ae7da0269723f537f5a21a57ca07bcaeaf4d03fdfac8aff3a25ea7675472ef0df21f0d528a4d0bc1b8ae9abe2bc4116f109fc503474eaf8aeb66c578b12926266eef0abed90e7989396ece1b4f0716186e3a825e03f90ebc7d43ef4e465c047e0c8bf5ab997e7edd7cdc03d041db028e9a6bb5015d0341fe631f8f338409cee0039b644b4ff538a864652149e7e2ab802ad192108b93035c12a64814cf0b43454fbd1ed0f9b72003fbad74253e12b0466c5d6b2c8145120219ffff03b231356a91ee1e8d9b313b35c93b8572a02b0575a71d45ab7eb132014799553903c3deb951ae94f0323caff7d666e681b24d0429d7c7de2ed8cb938b0d2c01b66b03fbae874b2c0305cfe7ae9e1bdaf775f25352ad4abfa1a1d1e6bfd5f340db0c590301f555ee9860eb3035a7eb307da7af0aa15faa98cb86c8602a81976bb1c08fd203030e2177d4f5077d8f278656e91fd7d379ab0ced6afe4f5875658cf66dc2653b03ba29c50c0766b722880efcdca8de3d17dcdf3fd36e1e2a48b3806b3911740618036673814d9e0dec242926e768973119aee79723f07361ae21ed8ad54d061cab0d03446763e92d18e8d50dddeb193c0ae8ea2e4c9a91aedba916034365d3df8eb395030181e1f65b5ce46d5b1464ccd13ba23025fa3da751cb90eab0c3b96f838f1e01030a728d60a181e5d45c5b09ea206425e04767c3e217ae1985cb1b878292aa4ebf034c6c87efd34ddb022c73477b648acf24bf010abc0ef0c4f6189c6d8977da2b96038dc053a81368f7a45069124d32c0f7593cacc96989063be9f1e2ab35431aad740396206452e77a99438f0994db9fda7a216f288e3ece7fad5005cbd284b94e543e03dafdd19d819de555cf9847920867383823a4fe1f3e655116dc1a665eab16a5de03be55efcd1fbbb9e645020d280b7080784abd26984eecbf27321d789bf581eaf00219ffff0366d788d252bc85ec275a7c561afa685a24f7993ba6b381bc07aeda76b20058d203b730f98d312251ce614e5549d6b142c452058bc2d8724b4465dc50ea0b7db29b0315d95c84d70fe2e8e0bfbad1a22e862a543bf960fd248fee1faf110ea800d57e03ffdce572711fef0f9f26806eed5de7a57224597f506119a749ef3dd55b28f01303b67bd303d50ebfee11842c327446c8223587a17d7ff8da5390d117948c2268bc031eb0a9131b0600417ad691abe627c5b8231ef78dd5a93bae0038a6ead1ab0a7c03a398b2822dced30daab8087c90322d33d0933e5097304820c377d1888bf369700334e63f5ba4f30b591149647301bcfd1e3ea9fdd67344607cb006f2954b4d985c0219ffff038a3c938b7ef3e5c179ff09ecd44e609301a7d4106b6f443d98a4881a32b59a2303400ab9746881f42ee9e253c4316bdb6f286cc253d45849bd71acd239c8b38c7303a652ca44e1a65cc5e1f16453c4375de168fb6d5f38bcb2141081a22473cc96cc03ecc47311a0ad0be237049792a7494b215bb08a6542f8ce24308f30218891601c037ee1a6f42a63fbc2646188c37db94080903c5b986adc9f809476ccbeb4e9517703c9d05df344778c700e569c9363a13a51844c01cde9da05115e794ea90306ecbf03e7d91fc5ea052219f5c9957c14d34f78f6d28b07485fc3d36b83135ab331b2bc0219ffff0303fe5dbed1e34e20fb2052aff8e39dbd61616ca41266a0f1660472e9132d20d90219ffff05581d026e13bdcaff61b95238167ef377e01ba97f832b3f9c149aad1d9f6a2107011923c00219040803762f4d64d12bd066ef9778fdf43d2f954ff3d0d19d4e8a4eb4cfe8502a3da5c405581e03e92b1b9d463e39ca71cee60f93759b43f1d5d03f24a42d2585613b4060040205581e0332e44cf6d1f68b044b2ce38fa8cb417312144083cf9255bdb528a2ebb00c01464ed6ee996c4005581e038cc546a5f821a264843e2f2938bf7a6a1b0361a4fd317b4b111c9c82600c0146f67c5d32fc0003ea41189d362569b38146c94d07bea42f754a5afd0d2fd4178e3b6f7c2c8656a805581e03127bf4cbc6981d18f901c9fef6b8f3615e16582752bd62c757656701000403037e720aa2060472677111d56520d07b68d7b890b5ac4a75f8908054aadaf92adc0314da3c1ba100a110dafee68c76b700e909bd5515871b1c4d1c14a0ec41559e770219d4a7030509d7e0c020a1be9047b86e36ee95e3ae8f33a8a2e8a381aa84acd67d25bb4603130abde16b7aa7caa25df2990bfc5548d34fe4eccbeb95e1495932b1b983fe2f03b799fee2f1ff6db93d53dfb24839363243e222f55601a5f43711c7667d1abd1b038a088f545065fddb16aa6c6fe11c7697fbf1c18fbc5521aca1b736cce125322803b7ded3079edb4b5a9f089b514eee9d394e6e3ca1d848018f6167b3faeb5d8f38035952839fc806f3062986142336709b9cd32da239e9880af32878b1ab9976fbe60359f7a8c3b98d6095427f6e46cb8901fb3fdc1aa87ed81c248a31a9100be3603103fde132e9bb98a5b95e5c08e6ec3364159346663b33721198eac80a44a2bca2370363412a95485f018f0caa79dc40be87f8f416cacccccfa86f419ce7ddafd228b2033e920ad38d9775a34ce4ccbafc9c09d71e68b846f401afb54406c698ccc5031e03c75eae1d25b97b064f718f7fb786ee5de514c08d2488bb5d4ba06ef282a78b1503d9b116323972b9efbd70763f8bf9f04b003614a8bc6c173114c003cb00401deb0315eb6048c05108f12598e76d70156a9418b1c714d1f639b7bf0ed4c6683624a90336497f1aafc4aa32a7793a172e261f7b5104ab917f4189568a7c3c83855bd5260325385d6b19bc8a471039becf42f64df8c09031469a627c75d64f28bfc81df90d0219ffff03e18fc85c2cf500281676aae9656492cfc4c1ea16a8afdcb3ef86859b8cc80d1f03f7da18fa76aadda521439c33930e62927cf58284559cd3191e402576719d6177039491d0752c3ceccfbc6d7c9fb21da7ac3a82cb1966ee838ab0016bf8876424de0345f360c4d09ec3a602c9d27735b4fe053af9d15530d571dd742a9d17256cb3520326376a08130dace88742e0b6c48b2aed65b810e8231ddf5a3c4e3cd2350dd0da03327282fe4cddab48af3452e3a151ca4bf657af26518660159a7618f0ee03ab6a033c085bf9feb8c4a9f0685b4182cf95e7727fc605b7d7711c79944f8652933a780219ffff03d7c8a4e5fe328210dde0e4be92624a5619f4a25b9c76a19fff3c343a216b9c91037224b25e81e63075cc0b4e19aee7dff6b68b2b8cab2ba838a755f6297c8484d9034d4ef5a39c6829c42bb6edf88e80783ff17a2bca37558fc18210c7f130054ed2032df33f8f928b285edda698bd9eef4317d4973475abd59758e1548ccc5dc25f3703a4dd28f25ffc93ad3c3b82a95a473c46fe92758199ce4ccfede25dc27ea9393b03a100789a27988f354a57a8d1310f7b2ee5a5dcc798191291164a987499e447d803561638ab0a691ef25b33afc14bf6d211889fa789fe29f2751f8549a8556f9ebf036a36515b4caef9be0f6e1619b8fc6607d028425dc230e6c832a5ac68cd427e15037c9021940db467b310b8a6732e89243dd81308130fb9a6995fd017223303e096037ed22080ec9b94c579587bdd22cc05909bcbf33d4b717f56ac3db28c893e2898037e38984adcafc20bd6e4870964cd6f43d334e9c2cd6a90cba2ae82259f5ce2b103a22bbbc56a67a0d5a8b798d2831cee9fd460faba72a52071abf2bd7d2025e0e20358609788dd2318fd94f68d22d906798eb560d4dc4f0a3e15d48218ad314d222e03958eeb73ab175ae824eb9e27254479ebf4429c27218e6239fe6d51f001b29b920317912063c10f325515666345d8076d75908b6c7844bde3c75f0a9d32720892650219ffff0219ffff0219ffff03d52df39204508abb47d3326661eccc52f012117a641c42a56663edf4369c0831037ca3a2cac330f4a8bc1afdb2594fc86d766e74adc1356f71c11b8e437a9d85d103140c1cfd0b04d384b1ee6fbfdb696cfeebc87b977ba4b32257b4e95dad21e0b00325578f9f7a7555704c7cae3dff17fb52fd70b40793ef578b9bd0c3828ba0e38b034ed7983ed2feedce1735c31e40b9caeb829ac1bcbcf20dc03874867359a43d7f03b619a188d761f0d812217a7a3d6a00b96b18b36dbfa1e9ab4e1006513e31bece0337e1d8785f80c8cb9fbe1718571b8287fe066d1acf277433ab31930101e3b14f03511ab862f98f6f6e4cad8b29a04b1173c02a5e5624629fc2b61817808bc002d6039af893b340063d8fb3d40429853648024d12f34a412e1099064ce10b6ab175980328c9b2d4d227fcc5299208c136039b76202dc2eca368a5f78ba4596c59a0d0f60316b2c2017fbc6dc9077a2c3fe6a727c7355a42871c3e0ef97f6014b69506ac19032a1f75b6f2a1810567151310aa4aefe9ac51322c9f3402d841c3f5ad20843cdb03656137c4ad966afe0ef091346f649789cc14d9c4e2e6542f5d1debd106967af1038bde5277a3a83aea6eedd60a7852ff1de988890d22774c1c963a2569cf92b371032e13611427407627a98a7308b5f7f7ef70b9e88a356e12562eed9a79857cf3410388995799e7104a79bc15faec29ac07a844484b9d20f61c57e5ba0b8291bebcca0357036522f833ac453cdf75f010454bb9885a9cbc041939c4df9ef40f78d300a903000d9c8a48e625200e28eaaf322d09e4c59a2babc643f8cdb53220b1799b1e5e035bc5f68a7b533846b8c35c902cde0b082a9a0bbe3597b8063e053b3b1d4122ad037c091e7c5f313ad997754974784e13c7d3d78554286295e3bdef83ef8ab9279503355370c63fda7ff4d71f5723ca2dc6968f88bf71de4ddb6db9866a7b03670df403336ae1b908ce383b802d308e7a93e701661433f3788adba1a8b7012de436f01903a0700bbf6cc8a845549fab42aba560668472e5aaceb39bbb3c53b1ee0e99154403ec474bee50885ec12c5b3fbe38492d554eb48cd48433aa13988fb0c399bf0ddd0338e389f37553faae56f03cdc380562ea9c7d657996addf17838ca24d1b8889bd032226e2d3afdb8f6063f6573ce8d52d33a4afa7eb1cb07977d4cb1ef7aad88ce703eb06062a5f7dd44eb7a5566645a7f033022472866f3fb23ef782d5516c1c05f703484ffbf383437a7daa09d2a0507d2560a300c843588a0483b4c9b61201f5a0280366a07a767cb50a75628726e6ffea92cf9f98ed370e5b8ff37f23e8d17583bf89036f029d6c959b8f7a8b1c75dbc39241ad22f831c594c9f219919d14819538560103e3e14313766e581527477a7e41d3953dfef932a9d7a7a1b34dcdc20fe00d601503207d1610ac34f7c9c50d19fff5b033842cc095902e8bc0c281ca870515f2e2ca0395a3dc0faacb9575b0b38e1cb7a13430953eb42628a6530a52f45b673df0799d0334881a20253bfc0bba10ea6ba102e6012dafa0622602783eac27c07f75a93e8d03e408679e927b617f1e4c7adf97483d432102b0b3226daae8c7dc027b4e4ebbd7039a6a6172802dcafc0b30ab298afe7167d56b7213c23d28ddfd7167c43667c15903a7ffbd4f2b261c6c23154887b823714da1dc980a40398a615b39410ff37d266703115c2ff4e347ffb540597b9ac498b4d94ac3b0014d7116a9a29b3af4597d4cdf039e248736f87cfefa5c4add255952a7954748d6b0eb00db4f12dbe0747c5e5e7e03142550dfc05ee59861b8048a398954562e5fb14a8c98b55ed6e8bbe25d0cf503030c8081f3a75109d67f08f829e1702c86465fecded64665b941566d902c0515b80356893a8bfe9df6c4d2cd9a92caf9ab1bd6041b98530e47f16f04583d2606d1e2030b8ab2bea8a3ada8ab88c4ebec37c550175b673a9acf15eecd743f7aa08a1ffe03ca2897454f50c0d5a01858c6f2ae29fab7a77137ab6828f99b82d66452fc307b03949c9cc1bab14b21311149fa3644c3820a9eafe6d5027c325b80ba32cfce59b1037f9c535ab9ec05cba05ba8bb841ee0cbbf77876163721a3c07191c904ebdcb3703991dc525cd53d1a798338ef9e42b5f7082a4906713e72e1ae55925a150d0f53e05581e03a186cabc9f96d7a9e648738c5255763f5abe73e7415ffc83dd7b284ea0040105581e03dae065f2bfdbad1519f733186fe6ffb9efc76c1c80842503d36c48a0100c0246cff9c9c7600805581e0387c8cddb89b2dc6348b3e06673b23373f073cc2533fd1d39968d89b1a00c054501cf97787103e207a001535ac179ee0761657c5f757e9e9f80e47c147464442a71025c91b531014100031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d02a657ce428980144da34cd03f38116adb93850705c8304ea74790e48007011bffffffffffffffff05581d02ccca1668f87a460e6c02b999f8edeaec6c524ea9a9eb72d76d6921af0c181e4710ccc69acbaa00045935fd60806040526004361061014e575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb1461042f578063bf474bed1461046b578063c9567bf914610495578063d34628cc146104ab578063dd62ed3e146104d3578063ec1f3f631461050f57610155565b8063715018a61461035b578063751039fc146103715780637d1db4a5146103875780638da5cb5b146103b15780638f9a55c0146103db57806395d89b411461040557610155565b8063313ce56711610107578063313ce5671461026557806331c2d8471461028f5780633bbac579146102b757806351bc3c85146102f35780636fc3eaec1461030957806370a082311461031f57610155565b806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf578063109daa99146101e957806318160ddd146101ff57806323b872dd1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610537565b60405161017a9190612554565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190612612565b610557565b6040516101b6919061266a565b60405180910390f35b3480156101ca575f80fd5b506101d3610574565b6040516101e09190612692565b60405180910390f35b3480156101f4575f80fd5b506101fd61057a565b005b34801561020a575f80fd5b5061021361064e565b6040516102209190612692565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a91906126ab565b610671565b60405161025c919061266a565b60405180910390f35b348015610270575f80fd5b50610279610745565b6040516102869190612716565b60405180910390f35b34801561029a575f80fd5b506102b560048036038101906102b0919061286f565b61074d565b005b3480156102c2575f80fd5b506102dd60048036038101906102d891906128b6565b61086b565b6040516102ea919061266a565b60405180910390f35b3480156102fe575f80fd5b506103076108bd565b005b348015610314575f80fd5b5061031d610954565b005b34801561032a575f80fd5b50610345600480360381019061034091906128b6565b6109c3565b6040516103529190612692565b60405180910390f35b348015610366575f80fd5b5061036f610a09565b005b34801561037c575f80fd5b50610385610b57565b005b348015610392575f80fd5b5061039b610c86565b6040516103a89190612692565b60405180910390f35b3480156103bc575f80fd5b506103c5610c8c565b6040516103d291906128f0565b60405180910390f35b3480156103e6575f80fd5b506103ef610cb3565b6040516103fc9190612692565b60405180910390f35b348015610410575f80fd5b50610419610cb9565b6040516104269190612554565b60405180910390f35b34801561043a575f80fd5b5061045560048036038101906104509190612612565b610cf6565b604051610462919061266a565b60405180910390f35b348015610476575f80fd5b5061047f610d13565b60405161048c9190612692565b60405180910390f35b3480156104a0575f80fd5b506104a9610d19565b005b3480156104b6575f80fd5b506104d160048036038101906104cc919061286f565b611238565b005b3480156104de575f80fd5b506104f960048036038101906104f49190612909565b611357565b6040516105069190612692565b60405180910390f35b34801561051a575f80fd5b5061053560048036038101906105309190612947565b6113d9565b005b60606040518060600160405280603c8152602001613564603c9139905090565b5f61056a610563611465565b848461146c565b6001905092915050565b60125481565b610582611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906129bc565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106449190612a1c565b60405180910390a1565b5f6009600a61065d9190612b91565b633b9aca0061066c9190612bdb565b905090565b5f61067d84848461162f565b61073a84610689611465565b610735856040518060600160405280602881526020016135a06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106ec611465565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fb69092919063ffffffff16565b61146c565b600190509392505050565b5f6009905090565b610755611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d8906129bc565b60405180910390fd5b5f5b8151811015610867575f60045f84848151811061080357610802612c1c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506107e3565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fd611465565b73ffffffffffffffffffffffffffffffffffffffff161461091c575f80fd5b5f610926306109c3565b90505f81111561093a5761093981612018565b5b5f4790505f8111156109505761094f81612283565b5b5050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610994611465565b73ffffffffffffffffffffffffffffffffffffffff16146109b3575f80fd5b5f4790506109c081612283565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a11611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a94906129bc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b5f611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be2906129bc565b60405180910390fd5b6009600a610bf99190612b91565b633b9aca00610c089190612bdb565b600f819055506009600a610c1c9190612b91565b633b9aca00610c2b9190612bdb565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c609190612b91565b633b9aca00610c6f9190612bdb565b604051610c7c9190612692565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600881526020017f534c55474c4f5244000000000000000000000000000000000000000000000000815250905090565b5f610d09610d02611465565b848461162f565b6001905092915050565b60115481565b610d21611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da4906129bc565b60405180910390fd5b60148054906101000a900460ff1615610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290612c93565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e973060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e839190612b91565b633b9aca00610e929190612bdb565b61146c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f259190612cc5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcf9190612cc5565b6040518363ffffffff1660e01b8152600401610fec929190612cf0565b6020604051808303815f875af1158015611008573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102c9190612cc5565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110b3306109c3565b5f806110bd610c8c565b426040518863ffffffff1660e01b81526004016110df96959493929190612d17565b60606040518083038185885af11580156110fb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111209190612d8a565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111c0929190612dda565b6020604051808303815f875af11580156111dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112009190612e2b565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b611240611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c3906129bc565b60405180910390fd5b5f5b815181101561135357600160045f8484815181106112ef576112ee612c1c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506112ce565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611419611465565b73ffffffffffffffffffffffffffffffffffffffff1614611438575f80fd5b600854811115801561144c57506009548111155b611454575f80fd5b806008819055508060098190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d190612ec6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153f90612f54565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116229190612692565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169490612fe2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361170b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170290613070565b60405180910390fd5b5f811161174d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611744906130fe565b60405180910390fd5b5f611756610c8c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117c45750611794610c8c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d065760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611867575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61186f575f80fd5b5f600e54036118b7576118b460646118a6600a54600e541161189357600654611897565b6008545b856122eb90919063ffffffff16565b61236290919063ffffffff16565b90505b5f600e5411156118ec576118e960646118db600d54856122eb90919063ffffffff16565b61236290919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611995575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119e8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ae057600f54821115611a32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2990613166565b60405180910390fd5b60105482611a3f856109c3565b611a499190613184565b1115611a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8190613201565b60405180910390fd5b611ac66064611ab8600a54600e5411611aa557600654611aa9565b6008545b856122eb90919063ffffffff16565b61236290919063ffffffff16565b9050600e5f815480929190611ada9061321f565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b6857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611bac57611ba96064611b9b600b54600e5411611b8857600754611b8c565b6009545b856122eb90919063ffffffff16565b61236290919063ffffffff16565b90505b5f611bb6306109c3565b9050601460159054906101000a900460ff16158015611c21575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c395750601460169054906101000a900460ff165b8015611c46575060115481115b8015611c555750600c54600e54115b15611d0457601654431115611c6c575f6015819055505b600360155410611cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca8906132b0565b60405180910390fd5b611cce611cc984611cc4846012546123ab565b6123ab565b612018565b5f4790505f811115611ce457611ce347612283565b5b60155f815480929190611cf69061321f565b919050555043601681905550505b505b5f811115611e0557611d5e8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123c390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611dfc9190612692565b60405180910390a35b611e558260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ef8611eac828461242090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123c390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f9b848661242090919063ffffffff16565b604051611fa89190612692565b60405180910390a350505050565b5f838311158290611ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff49190612554565b60405180910390fd5b505f838561200b91906132ce565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561204f5761204e612733565b5b60405190808252806020026020018201604052801561207d5781602001602082028036833780820191505090505b50905030815f8151811061209457612093612c1c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612138573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061215c9190612cc5565b816001815181106121705761216f612c1c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121d63060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461146c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016122389594939291906133b8565b5f604051808303815f87803b15801561224f575f80fd5b505af1158015612261573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156122e7573d5f803e3d5ffd5b5050565b5f8083036122fb575f905061235c565b5f82846123089190612bdb565b9050828482612317919061343d565b14612357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234e906134dd565b60405180910390fd5b809150505b92915050565b5f6123a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612469565b905092915050565b5f8183116123b957826123bb565b815b905092915050565b5f8082846123d19190613184565b905083811015612416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240d90613545565b60405180910390fd5b8091505092915050565b5f61246183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fb6565b905092915050565b5f80831182906124af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a69190612554565b60405180910390fd5b505f83856124bd919061343d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156125015780820151818401526020810190506124e6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612526826124ca565b61253081856124d4565b93506125408185602086016124e4565b6125498161250c565b840191505092915050565b5f6020820190508181035f83015261256c818461251c565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125ae82612585565b9050919050565b6125be816125a4565b81146125c8575f80fd5b50565b5f813590506125d9816125b5565b92915050565b5f819050919050565b6125f1816125df565b81146125fb575f80fd5b50565b5f8135905061260c816125e8565b92915050565b5f80604083850312156126285761262761257d565b5b5f612635858286016125cb565b9250506020612646858286016125fe565b9150509250929050565b5f8115159050919050565b61266481612650565b82525050565b5f60208201905061267d5f83018461265b565b92915050565b61268c816125df565b82525050565b5f6020820190506126a55f830184612683565b92915050565b5f805f606084860312156126c2576126c161257d565b5b5f6126cf868287016125cb565b93505060206126e0868287016125cb565b92505060406126f1868287016125fe565b9150509250925092565b5f60ff82169050919050565b612710816126fb565b82525050565b5f6020820190506127295f830184612707565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6127698261250c565b810181811067ffffffffffffffff8211171561278857612787612733565b5b80604052505050565b5f61279a612574565b90506127a68282612760565b919050565b5f67ffffffffffffffff8211156127c5576127c4612733565b5b602082029050602081019050919050565b5f80fd5b5f6127ec6127e7846127ab565b612791565b9050808382526020820190506020840283018581111561280f5761280e6127d6565b5b835b81811015612838578061282488826125cb565b845260208401935050602081019050612811565b5050509392505050565b5f82601f8301126128565761285561272f565b5b81356128668482602086016127da565b91505092915050565b5f602082840312156128845761288361257d565b5b5f82013567ffffffffffffffff8111156128a1576128a0612581565b5b6128ad84828501612842565b91505092915050565b5f602082840312156128cb576128ca61257d565b5b5f6128d8848285016125cb565b91505092915050565b6128ea816125a4565b82525050565b5f6020820190506129035f8301846128e1565b92915050565b5f806040838503121561291f5761291e61257d565b5b5f61292c858286016125cb565b925050602061293d858286016125cb565b9150509250929050565b5f6020828403121561295c5761295b61257d565b5b5f612969848285016125fe565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129a66020836124d4565b91506129b182612972565b602082019050919050565b5f6020820190508181035f8301526129d38161299a565b9050919050565b5f819050919050565b5f819050919050565b5f612a06612a016129fc846129da565b6129e3565b6125df565b9050919050565b612a16816129ec565b82525050565b5f602082019050612a2f5f830184612a0d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612ab757808604811115612a9357612a92612a35565b5b6001851615612aa25780820291505b8081029050612ab085612a62565b9450612a77565b94509492505050565b5f82612acf5760019050612b8a565b81612adc575f9050612b8a565b8160018114612af25760028114612afc57612b2b565b6001915050612b8a565b60ff841115612b0e57612b0d612a35565b5b8360020a915084821115612b2557612b24612a35565b5b50612b8a565b5060208310610133831016604e8410600b8410161715612b605782820a905083811115612b5b57612b5a612a35565b5b612b8a565b612b6d8484846001612a6e565b92509050818404811115612b8457612b83612a35565b5b81810290505b9392505050565b5f612b9b826125df565b9150612ba6836126fb565b9250612bd37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ac0565b905092915050565b5f612be5826125df565b9150612bf0836125df565b9250828202612bfe816125df565b91508282048414831517612c1557612c14612a35565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612c7d6017836124d4565b9150612c8882612c49565b602082019050919050565b5f6020820190508181035f830152612caa81612c71565b9050919050565b5f81519050612cbf816125b5565b92915050565b5f60208284031215612cda57612cd961257d565b5b5f612ce784828501612cb1565b91505092915050565b5f604082019050612d035f8301856128e1565b612d1060208301846128e1565b9392505050565b5f60c082019050612d2a5f8301896128e1565b612d376020830188612683565b612d446040830187612a0d565b612d516060830186612a0d565b612d5e60808301856128e1565b612d6b60a0830184612683565b979650505050505050565b5f81519050612d84816125e8565b92915050565b5f805f60608486031215612da157612da061257d565b5b5f612dae86828701612d76565b9350506020612dbf86828701612d76565b9250506040612dd086828701612d76565b9150509250925092565b5f604082019050612ded5f8301856128e1565b612dfa6020830184612683565b9392505050565b612e0a81612650565b8114612e14575f80fd5b50565b5f81519050612e2581612e01565b92915050565b5f60208284031215612e4057612e3f61257d565b5b5f612e4d84828501612e17565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612eb06024836124d4565b9150612ebb82612e56565b604082019050919050565b5f6020820190508181035f830152612edd81612ea4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f3e6022836124d4565b9150612f4982612ee4565b604082019050919050565b5f6020820190508181035f830152612f6b81612f32565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612fcc6025836124d4565b9150612fd782612f72565b604082019050919050565b5f6020820190508181035f830152612ff981612fc0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61305a6023836124d4565b915061306582613000565b604082019050919050565b5f6020820190508181035f8301526130878161304e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6130e86029836124d4565b91506130f38261308e565b604082019050919050565b5f6020820190508181035f830152613115816130dc565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131506019836124d4565b915061315b8261311c565b602082019050919050565b5f6020820190508181035f83015261317d81613144565b9050919050565b5f61318e826125df565b9150613199836125df565b92508282019050808211156131b1576131b0612a35565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6131eb601a836124d4565b91506131f6826131b7565b602082019050919050565b5f6020820190508181035f830152613218816131df565b9050919050565b5f613229826125df565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361325b5761325a612a35565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61329a6017836124d4565b91506132a582613266565b602082019050919050565b5f6020820190508181035f8301526132c78161328e565b9050919050565b5f6132d8826125df565b91506132e3836125df565b92508282039050818111156132fb576132fa612a35565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613333816125a4565b82525050565b5f613344838361332a565b60208301905092915050565b5f602082019050919050565b5f61336682613301565b613370818561330b565b935061337b8361331b565b805f5b838110156133ab5781516133928882613339565b975061339d83613350565b92505060018101905061337e565b5085935050505092915050565b5f60a0820190506133cb5f830188612683565b6133d86020830187612a0d565b81810360408301526133ea818661335c565b90506133f960608301856128e1565b6134066080830184612683565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613447826125df565b9150613452836125df565b92508261346257613461613410565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134c76021836124d4565b91506134d28261346d565b604082019050919050565b5f6020820190508181035f8301526134f4816134bb565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61352f601b836124d4565b915061353a826134fb565b602082019050919050565b5f6020820190508181035f83015261355c81613523565b905091905056fee19495e192aae1918c47e192aa4fe19687e197aa20627920f09d939cf09d93aaf09d93bdf09d93bd20f09d9395f09d93bef09d93bbf09d93b2efbfbd45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a30ae6b202a2c63353d0a9f8ffe94ddf20b7f755448c6c20d372c994fc9d79d964736f6c63430008170033039bd5ac5395d18b5afeffbd30ef930106c5b9dc32275532dd6b6c7f34a515d834037da77df5b057db6d1a14b139456913edd223f21e3b6b4188243d1cb0aec5eb540376c6296a10b593dd2e1c257eb5b1654b8d71a5eed12585fc1be68c641f65e34603bcf8d6ba4c3c4a17c4afc52c9809b49c085b0b9abad9343988f3b55c9d7b6921035f014417dfc6b9e1bb4ffdd3766fa9a567f4228a41367b51cefef8eb1eca8a4003cd3c19a287c2489541779b6371545d243408ed979e738cafb3b12508ae7004c4035551a3df8227f5697e5dbf7e8cd0e67752680cd258541e6d144223ec0c3ac4b003baed48c0ec53e382ebf82ddf3e9d29c6946a247bb3328e6cd095f958f447c92803570b7d2165aa6ebc3bb5a3de662ec9da2ab6f7d5450d2fab38e8362f2292f131033c2799367e349db8fc74f0bb6fcc19dfc4b5a97dc61c62d746d6d57806c0061101410f00582002055d3b6cbc8877fe6aa728928a98df97da99c84f2630c20b5e10590a67570858200235fadd81c2822bb3f07877973d50f28bf22a31be8ee7ffffde8bc514cacaca00582002deabf40bbe99e7dc26a16ce8bf661244eead7566c06b8c0347f093c14a50915820fffffffffffffffffffffffffffffffffffffffffffffffffff1ed3b2e4d2ab1005820039d68dca2ea8d99d72dfe88f740db575d255f25cfe2ec22d8a5cbe7f0ada8504703b0ef6790dee0005820034ae6ca8efcde038fb31555a10148c239aafda9a734e941ea36a7d40ab65ca05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219020400582002025c5d49a90b50fb605a36a06e4f2da9781252d735c242e49752af90ab5cf65820fffffffffffffffffffffffffffffffffffffffffffffffffff30757ec7a9ddd00582002db806135c49b4d704913d06c91af2f2ce75e3ffe972b6e65ec67ebedb7c86a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bb62fbff6d47618145672841fcf585745bfd740b5ba0d69f5c68a06a3523b49a00582002890190e97e8751b73165898760da496ebec9527fd3a6264686eacd9745694b5820ffffffffffffffffffffffffffffffffffffffffffffffffffde1b07a658b2db03e508e07b1089032bf80304b8aa1665a135f5faf2eb5621f826222d1cdffadb920058200224e42dc90deec4ca5b7babe1b1adb1585912910c6fc9d103bc06373a49644a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c0dd9005194a9aade758ad786be8a47fc13acfaf1281c5f133ce1417831b22c3005820026245641a0e633fe124241e823123c04a9a8585d7072637338446af39f379724708ce780afa99200219bebf03bdef566725f06c094f2bed9a963cd61541682cc7c6d807535233a64e815c3f3903a136bfbbaa994318f215408f56c96425f3dccbaba959b54f72819da3cef98400037c13effb9507115f4b01363879adf3aed01573b5f779c3818c7bea2a379b454d03f8c30ee1f6d8e17713bfa7a602c5ab8ba0b000b2ad2f780d3f50bde35392678303b88a94f020c5758fbd01599372e6022c52971518295743ca19fa39560e0bed6f03accd9bb7ed6ffa28d2e1c3fa0ec44b42cfd4a2d54aa31eb1b3b12cfce761f18103b609737106a0b8a3da990956ea038a19c9ba3bb4d05a48a4c2f09d3fb36c88a50219ffff05581d02976c9c0779d0f1cfacacf59d07d3cb9803e000bd6ea4d1cfea83432807011935fd0219680005581e03f779e5b3ba79f4899ec37a211770a547b4350c6e16111eb07a0d1522800401032c687b7b9ba8e41e711f31974198b8e420ea5a5c02479e67c415ffc01e03d87002194ea403c8be4862c8f3adb102994b168463aa7ecef2b59c42fd79abe8d7a98d75296cd40219ffff03d965ffd5c35bd8802eaf42d08f1ceb1db94500a2945d3a6ee4e79dcb7f7871b203d8755924a229e9bcb7448b88e8592f5b98e9f03ecfa74d4cc5cc08a8d199b263035fec5e1805a9d4ec546a9c29ca4fc446ca69543f1a2c8edd5c8fd1d7cd29a57d0219ffff03a10ebefb30cc5017ab1ce13ba620d821834c527e1da38077bb935a0c599208c7035ac421a51a36be528c71c7d949e1f8ecc6bd0194b82f02657c20597e5b19866403619a8af484f7aa16668076259f85737a09fa339a1164afb17ef7f51fd6709796030f10616dd0951d1415be8cc3fc4fd90f152949bbc0d1551a037d4ebcceaebccf0219ffff03a1d8610fa9d56289c3a9037b1592ed4a663a1732a2849c2b3d17e2e39000ce0f03e255c4002b03efa3df6eaa1000b31e70ed577785a919e722023b9f2c9670e99d030c286e5e5170ac3f58a5714cf169352aecb00ccafea4c01c0ee2f93e1229ef650329d8d1eaa19c7877c8ed324cf034d9ba63f7c25770e53701544fe6da3dc50f9703f3a17b6364270965a7714e6db4084f18e4f424aaba35a0eec346616fd048ebf50219ffff03500b6c55ac1eb045f45a1eed28befc87e75130fa93ba023b18e09a5ef251a80f03ab71f873aea403386c7978b9a20923da3058e5827838eb4485328a649b7a2be10348fed5f41de04dd22d23a298bd05168df46be9acfed3b2d64d4e9ffb1889e722035246722bd42bd9093beb33d66aa09fe1a78fb9c10054a88eeba0ed73acebdf8603b56f8c88a06cca88fb601ccf9bcb8edc35316ea6264f0b2b1e02f6d65ea70f2603f7e0b3dd8ea0a4df6c58b2df4647c7ec0efa85340a45580efed91bcf7f2051d9031ee4db6d10a2742a69febe64ebea5e381a6fce57b61fcbbe57e8145b698e2c4803c770f96ef4d6d3c4d5c015dae492e00e3e2cfc83066fa5775f322fc365a5748403144532b3c65c3f14c52af8421217c4c2d74c5672452074007e7f2aeab35307b90375f12db5d6d25174bb1b7f114ab4c85abadf02860402a2fb9854ccc0bf00bb0a0369b5a459dcc80a04573b392ea234effbcdc9e75d3ecb2a06bac966ffbba32c750388422243534a00f331ba35a5f3ad07e276cf931772ea5fc0cf08f0cc8e7e3ab303e0e4af830fbceff84e68644dc837b545334ef0d25d465f352b798712eca3f6220310875367bc2c295abb59f7a2e2cf9c116969f565241f2c56d29714589a712e1903609fb3b57d4833b78a150d37410c589daec5861bf07dd0404a6c96b1549cb165034a72fec36bf254ead0a026a64a5a315a99ee93d24e39862c8c0d73bf8305635203f922bc91974db944873bcc46b17fab7f1255c37a6348ce2f57fb424349e516b8034df432af5b0e5f46f2f0847a3847c861dd5a5954117e67d2b25c516e364e2aff03c4b4c1f7ece5d2708fae1fd623a4d3beb05889202f5147e6fd32b3e88d2a945d035b549dbd3d34526c70e2e7cb516372f8e2741fe4ca201a963e7fa96815d7747803b6bf8103fa571fef4f0777db2fff55f1db5453113b9ad6547bc68da80fd4d3aa03e0af02b7ff5e5f918155122d17403fe328e4cc08ffb7511ec2f8dc04dc19aaa60334f6d719e80bcd5d2a12f81e23d44749b462dbc59c09edc16ddb629cf5ad2a90039dfd022831b91a1d032afab910faad69b414f28aa32117c554a38d63edddcbea03c3ebc00cdbae202cc65755a5149bd95665785cf65bb88da3054208c3df7d80f8032dc3304b6b03e30653fe3e3283830dab4f494a40434c79ece3f323b36af6c2c30303e2d9cd11ee99e75ea4652714e06f9696d6833392a0ed3adfd327350290b7ac03d9b41db18e8468692ed9702c658e6cfb928b061b3d1b32c90baa88e3d01a6ae3032ef6ad45dd2c1cf922a7bd7806213e5abe220cd162c54753c2d086be1a64e2bb030c00c998198569025dd9db71b35af4567303118eb9abb0d10266196ef3caf2e1036ad1664966d9769910158c7d005e7151254c5fc105cfee57c0a44a5f9ffbbf0903d811764b75842f87e38a6c7305e9cbfba1b62730a1c60fda59ea7d34286b9c2c03d461d8ac106c7cad5b48551003bf752c4af6c3f714d7f82e9c5011be44a01a4e03454305c7d6a01352cc0b794753439a24f38a7c9100298bacfe549c7bbf41086d03dcaaeb67f3e9a104f4fcac9c27045f1793f123295af146550701d3b1d1469d4c03a056b0b5430afbac323a29bf9a5486ad28579139b3280a95ec203326622e6fc0031dae480dc27238dad8ac9e1c119993814461f18ac5c4bbf0afc2f16817e3bfbe03ce977fd79df2398cf96ffe9365384d4e3f29af53500c7848ebc46185ecec347f038e45b41ae22d45c7f59f1b36d9534a59e989a848f233a49843d9f8e414d5d86d038dfbaeb14b3b716817f632158ba0c1ee43c481e2f274a3d74742000c5a249047038da1f814479bc28e9003b4fb19703f13b6db7f3d6512425171ab1a2f395b5aa403fb2b640857e14b98d728218488ba3f910a0554ea35fda2f30c222bb05682d774031bb472ed71b8ee420a624e593f896331f27e6f4bb911ba67e35d811d2ab9d20a03d1647e5d2bc761ca4a48bb0a8b4fae1f6bcfa595bd4ec4cfe235be09239f132703813abb54bd7df4b4e6dbe58bc8a0130eb6db2ed4db3d0749e239fe81f6a07d4f0370fc433195569e1e3f02f76f288daf340dd36f1e7e65fa3fcd3e210c5f09a679033c83776f9cc95e31aac5aaa9a37af08d9f6f09eda33e0d8f7e3d51f364d1245803d3744bd50d7b44faecc055cc2995450a9e75c9d5d566863a7a877522b21c04ef0325aace8496fa14e98b23eb171203d4e11e071a9edb72b11af075740c47b89d7003bf1ab5c384017fbc01383e6a580943080020236caa6b0d3cacb3db6d3bc617c10368e2ac76536081d5b4dacb03bf65997e91f87b30f1ed841dd3300cb40f21424905581e03aa8d481464813dc44324372b2f1e5befb95b2527608918c7937a8e1b5004020373d42dbb8b40b75dfd41576c294cc9e8494007eee2f212304484877d351df83305581e03767599a13a9bc98ffb28eafab1f52cb2ef81ae54b702abc4ac6fc30640040103177e5cd22e2f0664a92c03b4b5db275ddff162b92677168162d5d80fca91ac6703088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e0304b7c3767f4dc85b4e5a14b00daa37c5f1081836ed34500932c41ef27007011bffffffffffffffff05581e03c361158530ba3b8ba6687beeea381f51c59efa201c9e6947b5159235f00c03470132d1d73dd510045939e873f7f4260943db50eee7e917330c35b460ff70ad5430146080604052600436106100b35760003560e01c8063c72733f71161007b578063c72733f71461015e578063cc918e7a14610173578063d8dfd0fe14610193578063d9b87438146101b3578063de8e3418146101f3578063efc79c1a1461021357600080fd5b806307199524146100b85780632904c239146100eb5780632e5fdf281461010b5780634511ae6e1461011e57806358ffbb3d1461013e575b600080fd5b8180156100c457600080fd5b506100d86100d336600461332e565b610258565b6040519081526020015b60405180910390f35b8180156100f757600080fd5b506100d861010636600461315a565b610650565b6100d8610119366004613303565b610bbc565b81801561012a57600080fd5b506100d861013936600461327e565b610c40565b81801561014a57600080fd5b506100d86101593660046130d8565b610d14565b61017161016c3660046131aa565b6112a2565b005b81801561017f57600080fd5b506100d861018e3660046132be565b611674565b81801561019f57600080fd5b506100d86101ae3660046130a0565b61182c565b6101c66101c13660046133c0565b611bf3565b604080519687526020870195909552938501929092526060840152608083015260a082015260c0016100e2565b8180156101ff57600080fd5b506100d861020e366004613110565b611d0a565b81801561021f57600080fd5b5061023361022e366004613385565b612003565b604080516001600160a01b0390941684526020840192909252908201526060016100e2565b60006001600160601b038411156102cd5760405162461bcd60e51b815260206004820152602e60248201527f63757272656e744f746f6b656e5072656d69756d203e20747970652875696e7460448201526d393629206d61782076616c75652160901b60648201526084015b60405180910390fd5b600084116103155760405162461bcd60e51b81526020600482015260156024820152742163757272656e744f746f6b656e5072656d69756d60581b60448201526064016102c4565b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a082319060240160206040518083038186803b15801561035757600080fd5b505afa15801561036b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038f9190613558565b90506001600160801b038111156103f95760405162461bcd60e51b815260206004820152602860248201527f6f546f6b656e42616c616e6365203e20747970652875696e7431323829206d61604482015267782076616c75652160c01b60648201526084016102c4565b604051636eb1769f60e11b81523060048201526001600160a01b0385811660248301526000919088169063dd62ed3e9060440160206040518083038186803b15801561044457600080fd5b505afa158015610458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047c9190613558565b9050818110156104a5576104a58561049484846121c8565b6001600160a01b038a1691906121d4565b8354610100900460ff1660006104bc82600a61383a565b84116104d2576104cd84600a6122ce565b6104dd565b6104dd82600a61383a565b90506001600160601b038111156105425760405162461bcd60e51b8152602060048201526024808201527f6d696e42696453697a65203e20747970652875696e74393629206d61782076616044820152636c75652160e01b60648201526084016102c4565b6012821161056f5761056a6105586012846121c8565b61056390600a61383a565b89906122ce565b61058f565b61058f61057d8360126121c8565b61058890600a61383a565b89906122da565b86546040516307a975a160e01b81526001600160a01b038c8116600483015262010000909204821660248201526001600160601b038084166044830152841660648201526001600160801b03871660848201529199508816906307a975a19060a401602060405180830381600087803b15801561060b57600080fd5b505af115801561061f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106439190613558565b9998505050505050505050565b604051636553690d60e11b8152306004820152600090859082906106db906001906001600160a01b0385169063caa6d21a9060240160206040518083038186803b15801561069d57600080fd5b505afa1580156106b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d59190613558565b906122e6565b905060008590506000816001600160a01b031663aabaecd66040518163ffffffff1660e01b815260040160206040518083038186803b15801561071d57600080fd5b505afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075591906130bc565b90506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561079257600080fd5b505afa1580156107a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ca91906135ba565b60ff1690506000836001600160a01b031663f3c274a66040518163ffffffff1660e01b815260040160206040518083038186803b15801561080a57600080fd5b505afa15801561081e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108429190613365565b15610909576109026108da61085884600a6137cb565b61086390600a61383a565b866001600160a01b031663c52987cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561089c57600080fd5b505afa1580156108b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d49190613558565b906122da565b6108fc670de0b6b3a76400006108d46108f56008600a61383a565b8d906122da565b906122ce565b9050610945565b508660088211156109455760006109218360086121c8565b61092c90600a61383a565b9050808211156109435761094089826122ce565b91505b505b8261095a6001600160a01b0382168c8b6122f2565b60408051600380825260808201909252600091816020015b61097a612f23565b815260200190600190039081610972579050506040805161010081019091529091508060008152602001306001600160a01b03168152602001306001600160a01b0316815260200160006001600160a01b0316815260200188815260200160008152602001600081526020016040518060200160405280600081525081525081600081518110610a1a57634e487b7160e01b600052603260045260246000fd5b60209081029190910101526040805161010081019091528060058152602001306001600160a01b03168152602001306001600160a01b03168152602001866001600160a01b031681526020018881526020018b8152602001600081526020016040518060200160405280600081525081525081600181518110610aad57634e487b7160e01b600052603260045260246000fd5b60209081029190910101526040805161010081019091528060018152602001306001600160a01b03168152602001306001600160a01b031681526020018c6001600160a01b03168152602001888152602001848152602001600081526020016040518060200160405280600081525081525081600281518110610b4057634e487b7160e01b600052603260045260246000fd5b6020908102919091010152604051635b0bf86360e11b81526001600160a01b0389169063b617f0c690610b7790849060040161365c565b600060405180830381600087803b158015610b9157600080fd5b505af1158015610ba5573d6000803e3d6000fd5b50949a50505050505050505050505b949350505050565b6040516304f0f6bf60e31b8152600481018290526000906001600160a01b03841690632787b5f89060240160206040518083038186803b158015610bff57600080fd5b505afa158015610c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c379190613558565b90505b92915050565b600080610c4d8484610bbc565b905080610c8f5760405162461bcd60e51b815260206004820152601060248201526f21736574746c656d656e74507269636560801b60448201526064016102c4565b6040516335053ced60e11b8152600481018290526001600160a01b03861690636a0a79da90602401602060405180830381600087803b158015610cd157600080fd5b505af1158015610ce5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d099190613558565b9150505b9392505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038416906370a082319060240160206040518083038186803b158015610d5857600080fd5b505afa158015610d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d909190613558565b905060008111610dd75760405162461bcd60e51b815260206004820152601260248201527127379037aa37b5b2b739903a3790313ab93760711b60448201526064016102c4565b604051636553690d60e11b815230600482015284906000906001600160a01b0383169063caa6d21a9060240160206040518083038186803b158015610e1b57600080fd5b505afa158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e539190613558565b60405163d99d13f560e01b8152306004820152602481018290529091506000906001600160a01b0384169063d99d13f59060440160006040518083038186803b158015610e9f57600080fd5b505afa158015610eb3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610edb91908101906133f7565b805151909150610f185760405162461bcd60e51b8152602060048201526008602482015267139bc81cda1bdc9d60c21b60448201526064016102c4565b60008160400151600081518110610f3f57634e487b7160e01b600052603260045260246000fd5b60209081029190910101516040516370a0823160e01b81523060048201529091506000906001600160a01b038316906370a082319060240160206040518083038186803b158015610f8f57600080fd5b505afa158015610fa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc79190613558565b6040805160028082526060820190925291925060009190816020015b610feb612f23565b815260200190600190039081610fe3579050506040805161010081019091529091508060028152306020820181905260408201528551805160609092019160009061104657634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031681526020018681526020018881526020016000815260200160405180602001604052806000815250815250816000815181106110a357634e487b7160e01b600052603260045260246000fd5b60209081029190910101526040805161010081019091528060068152602001306001600160a01b03168152602001306001600160a01b03168152602001846001600160a01b03168152602001868152602001611164866060015160008151811061111d57634e487b7160e01b600052603260045260246000fd5b60200260200101516108fc8b8960a0015160008151811061114e57634e487b7160e01b600052603260045260246000fd5b60200260200101516122da90919063ffffffff16565b81526020016000815260200160405180602001604052806000815250815250816001815181106111a457634e487b7160e01b600052603260045260246000fd5b6020908102919091010152604051635b0bf86360e11b81526001600160a01b0387169063b617f0c6906111db90849060040161365c565b600060405180830381600087803b1580156111f557600080fd5b505af1158015611209573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092506001600160a01b03861691506370a082319060240160206040518083038186803b15801561124f57600080fd5b505afa158015611263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112879190613558565b905061129381846121c8565b9b9a5050505050505050505050565b6001600160a01b038a166112e15760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b60448201526064016102c4565b6001600160a01b0389166113215760405162461bcd60e51b815260206004820152600760248201526610b5b2b2b832b960c91b60448201526064016102c4565b6001600160a01b0388166113675760405162461bcd60e51b815260206004820152600d60248201526c08599959549958da5c1a595b9d609a1b60448201526064016102c4565b611375620f424060646138e2565b87106113bc5760405162461bcd60e51b8152602060048201526016602482015275706572666f726d616e6365466565203e3d203130302560501b60448201526064016102c4565b6113ca620f424060646138e2565b86106114105760405162461bcd60e51b81526020600482015260156024820152746d616e6167656d656e74466565203e3d203130302560581b60448201526064016102c4565b8361144a5760405162461bcd60e51b815260206004820152600a60248201526921746f6b656e4e616d6560b01b60448201526064016102c4565b816114865760405162461bcd60e51b815260206004820152600c60248201526b085d1bdad95b94de5b589bdb60a21b60448201526064016102c4565b600061149860608301604084016130a0565b6001600160a01b031614156114d85760405162461bcd60e51b815260206004820152600660248201526508585cdcd95d60d21b60448201526064016102c4565b60006114ea60808301606084016130a0565b6001600160a01b0316141561152f5760405162461bcd60e51b815260206004820152600b60248201526a21756e6465726c79696e6760a81b60448201526064016102c4565b600061154160a0830160808401613593565b66ffffffffffffff16116115885760405162461bcd60e51b815260206004820152600e60248201526d216d696e696d756d537570706c7960901b60448201526064016102c4565b600061159a60c0830160a0840161350f565b6001600160681b0316116115d95760405162461bcd60e51b81526004016102c4906020808252600490820152630216361760e41b604082015260600190565b6115e960a0820160808301613593565b66ffffffffffffff1661160260c0830160a0840161350f565b6001600160681b0316116116685760405162461bcd60e51b815260206004820152602760248201527f6361702068617320746f20626520686967686572207468616e206d696e696d756044820152666d537570706c7960c81b60648201526084016102c4565b50505050505050505050565b60006001600160a01b03851615610bb45761169d6116936064806138e2565b6108fc85856122da565b6040516308997b9760e01b8152306004820152602481018290529091506001600160a01b038616906308997b979060440160206040518083038186803b1580156116e657600080fd5b505afa1580156116fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171e9190613558565b90508015610bb45760405163095ea7b360e01b81526001600160a01b0386811660048301526024820183905285169063095ea7b390604401602060405180830381600087803b15801561177057600080fd5b505af1158015611784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a89190613365565b50604051637c3e116b60e01b8152600481018290526001600160a01b03861690637c3e116b90602401602060405180830381600087803b1580156117eb57600080fd5b505af11580156117ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118239190613558565b50949350505050565b604051636553690d60e11b8152306004820152600090829082906001600160a01b0383169063caa6d21a9060240160206040518083038186803b15801561187257600080fd5b505afa158015611886573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118aa9190613558565b60405163d99d13f560e01b8152306004820152602481018290529091506000906001600160a01b0384169063d99d13f59060440160006040518083038186803b1580156118f657600080fd5b505afa15801561190a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261193291908101906133f7565b80515190915061196f5760405162461bcd60e51b8152602060048201526008602482015267139bc81cda1bdc9d60c21b60448201526064016102c4565b6000816040015160008151811061199657634e487b7160e01b600052603260045260246000fd5b6020026020010151905060006001600160a01b0316816001600160a01b031614156119c75750600095945050505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015611a0957600080fd5b505afa158015611a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a419190613558565b60408051600180825281830190925291925060009190816020015b611a64612f23565b815260200190600190039081611a5c579050506040805161010081019091529091508060078152602001306001600160a01b03168152602001306001600160a01b0316815260200160006001600160a01b0316815260200186815260200160008152602001600081526020016040518060200160405280600081525081525081600081518110611b0457634e487b7160e01b600052603260045260246000fd5b6020908102919091010152604051635b0bf86360e11b81526001600160a01b0387169063b617f0c690611b3b90849060040161365c565b600060405180830381600087803b158015611b5557600080fd5b505af1158015611b69573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092506001600160a01b03861691506370a082319060240160206040518083038186803b158015611baf57600080fd5b505afa158015611bc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be79190613558565b905061064381846121c8565b6001820154600090819081908190819081906020880135906001600160801b0380821691600160801b90041683611c2e8460608d01356121c8565b9050611c85818d600001600f9054906101000a90046001600160681b03166001600160681b03168e60010160009054906101000a90046001600160801b03166001600160801b03168e608001358f60a00135612333565b919750909550611c97905084866121c8565b9350611cc0611caa60408d0135846121c8565b611cb88660608f01356121c8565b858e356123e4565b9750611ce0611cd560c08d01358a8e35612424565b60608d0135906122e6565b9850611cee83898d35612486565b9650611cfa848a6121c8565b9950505050509295509295509295565b6040516370a0823160e01b8152306004820152600090849082906001600160a01b038616906370a082319060240160206040518083038186803b158015611d5057600080fd5b505afa158015611d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d889190613558565b60405163565eea1960e01b81526001600160a01b038781166004830152602482018390529192509083169063565eea199060440160206040518083038186803b158015611dd457600080fd5b505afa158015611de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0c9190613558565b611e1b57600092505050610d0d565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a082319060240160206040518083038186803b158015611e5d57600080fd5b505afa158015611e71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e959190613558565b60408051600180825281830190925291925060009190816020015b611eb8612f23565b815260200190600190039081611eb057905050604080516101008101909152909150806008815260200160006001600160a01b03168152602001306001600160a01b03168152602001886001600160a01b0316815260200160008152602001848152602001600081526020016040518060200160405280600081525081525081600081518110611f5857634e487b7160e01b600052603260045260246000fd5b6020908102919091010152604051635b0bf86360e11b81526001600160a01b0385169063b617f0c690611f8f90849060040161365c565b600060405180830381600087803b158015611fa957600080fd5b505af1158015611fbd573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092506001600160a01b03891691506370a082319060240160206040518083038186803b158015611baf57600080fd5b600080808061202061201b6080890160608a016130a0565b6124e9565b90506000612035610100890160e08a016130a0565b87546001890154885492935060ff909116916001600160a01b039091169061ffff1661206760c08c0160a08d01613536565b61ffff16146120f45760405163e436b89160e01b81526004810185905282151560248201526001600160a01b0384169063e436b89190604401604080518083038186803b1580156120b757600080fd5b505afa1580156120cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ef9190613570565b61216a565b8960c00135836001600160a01b03166312b495a86040518163ffffffff1660e01b815260040160206040518083038186803b15801561213257600080fd5b505afa158015612146573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216a9190613558565b9096509450856121ab5760405162461bcd60e51b815260206004820152600c60248201526b21737472696b65507269636560a01b60448201526064016102c4565b6121b98a8a8389888761259d565b96505050505093509350939050565b6000610c378284613901565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b15801561222057600080fd5b505afa158015612234573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122589190613558565b61226291906137cb565b6040516001600160a01b0385166024820152604481018290529091506122c890859063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261274e565b50505050565b6000610c3782846137e3565b6000610c3782846138e2565b6000610c3782846137cb565b6001600160a01b03831673dac17f958d2ee523a2206206994597c13d831ec714156123235761232383836000612820565b61232e838383612820565b505050565b600080600080868911612347576000612351565b61235189886121c8565b905060008060008a8411156123d2576000891161236f576000612397565b612397612380620f424060646138e2565b6108fc8b6108d48f896121c890919063ffffffff16565b9250600088116123a85760006123c3565b6123c36123b9620f424060646138e2565b6108fc868b6122da565b91506123cf83836122e6565b90505b919b909a509098509650505050505050565b6000806123f283600a61383a565b905060008611612402578061241a565b61241a866108fc61241388886121c8565b84906122da565b9695505050505050565b60006001831161246e5760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206173736574506572536861726560581b60448201526064016102c4565b610bb461247c83600a61383a565b6108fc86866122da565b6000600183116124d05760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206173736574506572536861726560581b60448201526064016102c4565b610bb4836108fc6124e285600a61383a565b87906122da565b60006001600160a01b03821661250257610c3a42612944565b6000826001600160a01b031663ade6e2aa6040518163ffffffff1660e01b815260040160206040518083038186803b15801561253d57600080fd5b505afa158015612551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125759190613558565b90506125848162093a806137cb565b42111561259457610d0d42612944565b610d0d81612944565b6000806125ad60208901896130a0565b905060006001600160a01b0382166311547054886125d160408d0160208e016130a0565b6125e160608e0160408f016130a0565b8a8a8a6040518763ffffffff1660e01b815260040161260596959493929190613623565b60206040518083038186803b15801561261d57600080fd5b505afa158015612631573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265591906130bc565b90506001600160a01b0381161561266f57915061241a9050565b60006001600160a01b03831663c09746308961269160408e0160208f016130a0565b8d60400160208101906126a491906130a0565b8b8b8b6040518763ffffffff1660e01b81526004016126c896959493929190613623565b602060405180830381600087803b1580156126e257600080fd5b505af11580156126f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061271a91906130bc565b9050610643818a61273160608e0160408f016130a0565b8d602001602081019061274491906130a0565b8e608001356129e3565b60006127a3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612e189092919063ffffffff16565b80519091501561232e57808060200190518101906127c19190613365565b61232e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016102c4565b8015806128a95750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e9060440160206040518083038186803b15801561286f57600080fd5b505afa158015612883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128a79190613558565b155b6129145760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016102c4565b6040516001600160a01b03831660248201526044810182905261232e90849063095ea7b360e01b90606401612291565b600080600761295662015180856137e3565b6129619060046137cb565b61296b9190613944565b90506000600761297c83600c613901565b6129869190613944565b61299390620151806138e2565b61299d90856137cb565b905060006129ae6201518083613944565b6129b89083613901565b6129c4906170806137cb565b9050808510610bb4576129da62093a80826137cb565b95945050505050565b6001600160a01b038516612a2a5760405162461bcd60e51b815260206004820152600e60248201526d216f746f6b656e4164647265737360901b60448201526064016102c4565b8354604080516379e13a5360e11b81529051879260ff161515916001600160a01b0384169163f3c274a691600480820192602092909190829003018186803b158015612a7557600080fd5b505afa158015612a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612aad9190613365565b151514612aec5760405162461bcd60e51b815260206004820152600d60248201526c0a8f2e0ca40dad2e6dac2e8c6d609b1b60448201526064016102c4565b600185015460408051631c56369f60e21b815290516001600160a01b0392831692841691637158da7c916004808301926020929190829003018186803b158015612b3557600080fd5b505afa158015612b49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b6d91906130bc565b6001600160a01b031614612bbb5760405162461bcd60e51b815260206004820152601560248201527415dc9bdb99c81d5b99195c9b1e5a5b99d05cdcd95d605a1b60448201526064016102c4565b836001600160a01b0316816001600160a01b031663aabaecd66040518163ffffffff1660e01b815260040160206040518083038186803b158015612bfe57600080fd5b505afa158015612c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c3691906130bc565b6001600160a01b031614612c845760405162461bcd60e51b815260206004820152601560248201527415dc9bdb99c818dbdb1b185d195c985b105cdcd95d605a1b60448201526064016102c4565b826001600160a01b0316816001600160a01b03166317d69bc86040518163ffffffff1660e01b815260040160206040518083038186803b158015612cc757600080fd5b505afa158015612cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cff91906130bc565b6001600160a01b031614612d4b5760405162461bcd60e51b8152602060048201526013602482015272737472696b65417373657420213d205553444360681b60448201526064016102c4565b6000612d5742846122e6565b905080826001600160a01b031663ade6e2aa6040518163ffffffff1660e01b815260040160206040518083038186803b158015612d9357600080fd5b505afa158015612da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dcb9190613558565b1015612e0f5760405162461bcd60e51b8152602060048201526013602482015272457870697279206265666f72652064656c617960681b60448201526064016102c4565b50505050505050565b6060610bb4848460008585843b612e715760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016102c4565b600080866001600160a01b03168587604051612e8d9190613607565b60006040518083038185875af1925050503d8060008114612eca576040519150601f19603f3d011682016040523d82523d6000602084013e612ecf565b606091505b5091509150612edf828286612eea565b979650505050505050565b60608315612ef9575081610d0d565b825115612f095782518084602001fd5b8160405162461bcd60e51b81526004016102c4919061373a565b604080516101008101909152806000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001606081525090565b600082601f830112612f94578081fd5b81516020612fa9612fa4836137a7565b613776565b80838252828201915082860187848660051b8901011115612fc8578586fd5b855b85811015612fef578151612fdd8161399a565b84529284019290840190600101612fca565b5090979650505050505050565b600082601f83011261300c578081fd5b8151602061301c612fa4836137a7565b80838252828201915082860187848660051b890101111561303b578586fd5b855b85811015612fef5781518452928401929084019060010161303d565b60008083601f84011261306a578182fd5b50813567ffffffffffffffff811115613081578182fd5b60208301915083602082850101111561309957600080fd5b9250929050565b6000602082840312156130b1578081fd5b8135610d0d8161399a565b6000602082840312156130cd578081fd5b8151610d0d8161399a565b600080604083850312156130ea578081fd5b82356130f58161399a565b915060208301356131058161399a565b809150509250929050565b600080600060608486031215613124578081fd5b833561312f8161399a565b9250602084013561313f8161399a565b9150604084013561314f8161399a565b809150509250925092565b6000806000806080858703121561316f578081fd5b843561317a8161399a565b9350602085013561318a8161399a565b9250604085013561319a8161399a565b9396929550929360600135925050565b6000806000806000806000806000806101a08b8d0312156131c9578788fd5b6131d38b3561399a565b8a35995060208b01356131e58161399a565b985060408b01356131f58161399a565b975060608b0135965060808b0135955060a08b013567ffffffffffffffff8082111561321f578687fd5b61322b8e838f01613059565b909750955060c08d0135915080821115613243578485fd5b506132508d828e01613059565b90945092505060c08b8d0360df19011215613269578081fd5b60e08b0190509295989b9194979a5092959850565b600080600060608486031215613292578081fd5b833561329d8161399a565b925060208401356132ad8161399a565b929592945050506040919091013590565b600080600080608085870312156132d3578182fd5b84356132de8161399a565b935060208501356132ee8161399a565b93969395505050506040820135916060013590565b60008060408385031215613315578182fd5b82356133208161399a565b946020939093013593505050565b60008060008060808587031215613343578182fd5b843561334e8161399a565b935060208501359250604085013561319a8161399a565b600060208284031215613376578081fd5b81518015158114610d0d578182fd5b600080600083850361016081121561339b578182fd5b610120808212156133aa578283fd5b9496948701359550505061014085013592915050565b6000808284036101008112156133d4578283fd5b8335925060e0601f19820112156133e9578182fd5b506020830190509250929050565b600060208284031215613408578081fd5b815167ffffffffffffffff8082111561341f578283fd5b9083019060c08286031215613432578283fd5b61343a61374d565b825182811115613448578485fd5b61345487828601612f84565b825250602083015182811115613468578485fd5b61347487828601612f84565b60208301525060408301518281111561348b578485fd5b61349787828601612f84565b6040830152506060830151828111156134ae578485fd5b6134ba87828601612ffc565b6060830152506080830151828111156134d1578485fd5b6134dd87828601612ffc565b60808301525060a0830151828111156134f4578485fd5b61350087828601612ffc565b60a08301525095945050505050565b600060208284031215613520578081fd5b81356001600160681b0381168114610d0d578182fd5b600060208284031215613547578081fd5b813561ffff81168114610d0d578182fd5b600060208284031215613569578081fd5b5051919050565b60008060408385031215613582578182fd5b505080516020909101519092909150565b6000602082840312156135a4578081fd5b813566ffffffffffffff81168114610d0d578182fd5b6000602082840312156135cb578081fd5b815160ff81168114610d0d578182fd5b600081518084526135f3816020860160208601613918565b601f01601f19169290920160200192915050565b60008251613619818460208701613918565b9190910192915050565b6001600160a01b03968716815294861660208601529290941660408401526060830152608082019290925290151560a082015260c00190565b60006020808301818452808551808352604092508286019150828160051b870101848801865b8381101561372c57603f1989840301855281516101008151600b81106136b657634e487b7160e01b8b52602160045260248bfd5b8552818901516001600160a01b039081168a87015288830151811689870152606080840151909116908601526080808301519086015260a0808301519086015260c0808301519086015260e091820151918501819052613718818601836135db565b968901969450505090860190600101613682565b509098975050505050505050565b602081526000610c3760208301846135db565b60405160c0810167ffffffffffffffff8111828210171561377057613770613984565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561379f5761379f613984565b604052919050565b600067ffffffffffffffff8211156137c1576137c1613984565b5060051b60200190565b600082198211156137de576137de613958565b500190565b6000826137f2576137f261396e565b500490565b600181815b8085111561383257816000190482111561381857613818613958565b8085161561382557918102915b93841c93908002906137fc565b509250929050565b6000610c37838360008261385057506001610c3a565b8161385d57506000610c3a565b8160018114613873576002811461387d57613899565b6001915050610c3a565b60ff84111561388e5761388e613958565b50506001821b610c3a565b5060208310610133831016604e8410600b84101617156138bc575081810a610c3a565b6138c683836137f7565b80600019048211156138da576138da613958565b029392505050565b60008160001904831182151516156138fc576138fc613958565b500290565b60008282101561391357613913613958565b500390565b60005b8381101561393357818101518382015260200161391b565b838111156122c85750506000910152565b6000826139535761395361396e565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146139af57600080fd5b5056fea2646970667358221220fb91458a147040b44741d249ecb1662d10a2b653ec1ae7cc584359c1e283461264736f6c634300080400330605581e03f41025ec9abc03ca522194f17e162221aefd90cb60fe892bf9ca01a41007011939e805581e0394cfef7347d29a8fdf9f2b0278bea303d89285813e93c922eb7c5702100c0147018ba155c8204805581e033bc71858f5a4f5f23b96f1c8719fed1182f0185388b7398ff55a8561300c182346780fd255e610030ac1d3434c0c3d3b7e60efd4bf3465329990f170ce984d73aaf213dbb00f30c10219a5bd03ba626b500610e35937b951f3764710e8d780ee001ba80a229f43f395724387ea03e2af61f5b6cb179e2d5457fe1148d6c837fe7a8e44d8ad3cf7a03bafcee47ad30377dd33c71bf8a2e3dd7bef629478768cdb36f57c835b6c01a1c249a347359609039ef12824a3deb9bf1f5fcf0cc576f8d85ecb7247c6f1e579c2b4c9594683a0d10314dd91baf2a991ec9f3a7504e5e6b0f7792d949a1412c2c9f3c1e6532b70524303bcb16846552c18a19866e988fcad6c2748d1be06b5e2835735dcb0f261775ee403b221230d2e1583083e3f98d3eeb53fcf3f0f0bc183b18edc9d47a757fb8def370219ffff03fdb48f0ba59cb45799eaac0be37ac942e4eca114a6ec1877bc1622c3880571560219ffff033745ed4003d0ab5d5a3466899b833fd4de276241850dba93b3dcdc987ca08d720219ffff0219ffff03d49f9fa6e9eebb2a9bf527234879311fbed96f8ee9f75ca52a313733cab0543e03b9402c0a8bb8f69133f68de2c237859f1f1eec07855cd1fa36f6dfe7ad7347cc03cd04507f4d1f4e401140f97c9fbde339385367069f77c1c80bcec978fae558d10364c03b9c7fae878d9702b70cb33151985497e3c19e3237a56627124ec998b2070329c1a031f468273f3190f3d3994edc4f49418551b4e4a32ed3e0f68142724eb103e1cd92e535aceed81a555103edef959333da287c09d6460e2dec0acdf944b34403bdb8823e5ece658ccedac1a68d86a0cdf01da337bd2225a1273f1effe91c0ba10346bad851bf57b221ce4279d240846704ff5c1d372acc0a0adcf2029ba1255b3803274e075469b5098900661d0a1a89fc193433141ca140ea5f4908bfbb399d2de20377883fdc7910c0a9571bdae613762dd4332de4db215b868118d3bea475b9dcf603538839aaa23cfa57642437bf61c299172ee424dbd04c631bd24b95876b19923b030ebba789195cf448221a6965176de5d044bf330d3867f4becfdcd99e20a6080503f1a1c531116ba8493b55e81e1f0733018142dde4368cc7f794268c0aaf3bbcd20398ff28ae463a944dec2b2ed46eb8b310a1742bc43020ec5275cbaa191500506803d69bb1660f8929f58bb0773132143e09761cd3ecf9b8353c70958acb60f76e66033fed2f03b9530ad60bdcc48936fe5b83c21385a8111adce436ff9c5e65d1924f0317aa1bee2b8d5cb83b7ac1c6cc991653eb0a827f424e4f4792ce84d849edefc703363d70ff4a2f65034028b06cc59ef3d1146813179cbd854b86829d653e61fd71036871c2a9c66a55d66f7fd816059cca089283d88a012a3288c4a2f6ff02ec67da0381bcbbe98be2b283cff2abcd741dedeff6b3dbe22253e528a755cdf76f2a776a03926401dde847f345a2be69b3d178a6694f49dc2fc7d76593bb7bdad4a660eb33035ee1f2e12cfc24cb519b89d5698448cdb36ba1dc86c2d6d57914c143a23464c103c1abee598719099f293d30e5c3386b18b1474d1de6d4e80532d20864064a5c890325a180d3340b7489b50e7134374738b4d36686db057a47e85e7f4b0382c92d44039376caa6667827047065418939ec9484729f239b2d075dc006454d714bc09d910351a3ce73936ca8fe9b3cbf03f7d05af42e621d59bc7a245bc87f3d6794606d3503c7ee1a23469620bb9e5ac10dba42e86e4619dd582d1027159402df15f3c5d39d031d6257490337dffee9d7149042feb5dd5b4435d41ae944d969dfe963c9b0b20d03e99617880cb766df68ac0756a6104bb508169e008cf04d5245973b42ac5a3af503d72306e8fad5757a25aeea1f960998354f6432ff425332d6b291d832d183d0eb03ec105460c6fbe903d89596414830ae294f24bdd7c139e5270fd4d3d6f9d369320336cd1e21adad229b4617bafdea82fc0310111a8e4f67b3dfdfde683d767ac8d50332f57f97366f79faa218554d5dded9eede7b0e3a407c5022833087fe8975cc1e05581e033eb1c9471bb9975484583524eeb5f61e8b13f63114eedb9371678105500c0245da6528240005581d02a65f2f8acf366d86c81df38b319a5f5195f327acb6da6c617a5122c00c01470bd7c14f2064000459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613b86565b8715611aab57611aab7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec79087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec781565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f61614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec716939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a033bbe1460c65f00160b015d9e913b1d96a48cbab15b931bb4137a9653c116bab4035da5c960f0715ef2c65f763f01732366035b8d028dda17b2a25bbd756878413803e1e4626b1825439bdd9f6db9c32e89941fd65d806937b42011e70c14b7f43fa403956398959a8b542ecc451027858aa3063758c56968241511a40bae33dd4f2cde032ddae31720866f3b7a039b6c0d824bf53064b4958cad856c420afdf775fc31990396d97f4745b5b900db66ef3cd23c879d2a045a63887f9ca89c6bbc7331ea38c8039b24b067bf70ad084ecf07e920d0b7b20795f61c57c32d147e49513e386c02d203b114bfad8baee0ec6691b3d991b35930da7883abea7d57039211c4f9467c7e8803bb2e48f2b01b07b9502f9904705de287eb19e6e0cb1de7572f1917f95a86080d03cfc578dddacdc74e8e7b9894bd700b2dbf20fae99a4dfc56db69312743e8342603a4b5878dbb99c09c9e191fd43163654840429188d2ae2dcb7a66a7f6477ef4d500581f02aed2db2c38c4021033a88b9bbe8d7d285db3d444619b4fd5bc88e9847c5f4c3169ea92ae56e64e8f2261f900581f028df2665fc349b89fb2ec98298f49abfa78148be1eeafde59424c7a36966f510eeb1f2413ef61871fe3a734dc108388ce00581f02372a9896781abd43ec6f2cf8de58e5233a8f01c7a79fdead964f6b5e26c04d2c29600a2a48a9e8ec1b5d14ed00581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f01000190019000fefd0094000000000000000000038da54f6fd409025a158c021928840364f4813b9e765c9470cbc5c6bbbab1e09d1e3e675eed38e36110e49a17715d52033ec409d6aee45a1f5055035bae784d8855ea1583106b7d05be564b32f402c8db03293d2d379c9ca235039384de3650b5686a5d6a8e765e55a090061e805b01847f031f7f6d35830a8b0e287f42da2d54da4b97dbe0f87425c3e7ffe229801cdedf7803a3cd2ae4b8ae6bceea64f97fe6d8ccbd0f32b709fc839ae254f67afbfc75295f03ba60fb7b0b7dd1f944b8c4dd7a6cd65cb6897640d158d3d92d14100ded5ab34903379431ac6f0bd36d86ddb219e281055781cb5b793243ea094b85a9ba3ffd111a0380397f3de32fd14c54142f26eeb9a4f0eeeff6d5f13645c04bcfe49142db4fe203e7e9be7e0b9368ee3c11d80264edf49089ac9fa51f2a0bcf333b526d5a0bf49803a94e1f3cdbd17783a7280f16e1ceaf09bfbdf3569847ddad9f0aacfea6d9a5f603e4a1273ad61471a9b1fb7556feda034b8f9ac7f157fb62f38522187ce4a153040350a8db5da15579a4d971cf87be54472cc749dd86c0a2d4ddaf4ade4c22007b7703491db0d03bc7e2bbc5226e9b70b62e710506298f5511c0952749a03c7e0e030603d9563bcd127caa45552f6297275988774bad9c0ea9d806eb772c9c66afd01da4038a2a810f39807a031e40d8df4e6d1a77736cc88ae735cce76e523d6d7737d29a0219ffff03ddd7084a2b6372b68bd0b6ff977d1c7d6a860c417c6af214b06852bb67aebc7c03cca46c501964a7f6c2e9d13cac7b323022e1351b98532d0f0c333c1dc86fa59d035d58868ac58787a9a92000683dbd8e0fc007baac19c34a299a72890e629497ec03cc095102ae5519672d341e397f0b4f123376b0ba7ad9f6dae34549d4ff8ec4a9039b00e3f268e796bd06efceeef6fc94a0326162078ab8d2f0d45b5a51e5942c38030d6b4cfdd23793ff246f219dbcbce184d0387a793699525f75369f8ae1e5803a0219ffff03625cc2c4a43b61a7f35688bdaa0d8d955c517923a44a5edb71699cd264bdbee503ae22e3db32ed48944bb7b5595c934dca8a58298bc003cd394ca648c3f88c146903d4d6e97a43e76aa1c98a269b306e6f4ea19c2001149cf6ee3435997d212a66e203855a55e03e80c9b2ed626d95e1f2c50936048ee5f175cc90fc3a18c6d5d776f503b7dae684fd9d479432fa29b2aa27a421134d4777a5408a6213976ad0d597da87035e58c9e04b7336a6ab98d5aee96dfc9004231c78735115754fc6943dfae0c90d00581f02cb5d66171a93bb7368f7c89e1e4cd6321f7f720c26983b0e385adcff1aba4dd5e17f2acf881d13ad0a2c5b3a00581f025c7f351c7301a34aff5e5ee6874c59034de4e2760559c6a99d18c5da9bcb4d24ab3bcd3ca28aa68d2b89a54600581f02ffc55a893347bb6689da21203f7fc190313caabdd0596ab2f1a7d5c6fd3d4e1579a79e09d0e09a58bfc85c6f2600581f02cb43b33dbd6f902b17c1ecceb805ee4c84e609b910d69b2f5d27af3cab46582001638efbcc00000000000000097b720478a27efc69c1624496fff6c9a113b4d100581f0332e6e24453fb1e3bf49b920a89d52a4320f8a4683da82c9cf29d5e45d9804e01a4a53e2282b0668bab1fb1755100581f03e731eb489958d75a50ca8acd79161b69a9c7c19b929527baab66e72a08e05820fffffffffffffffffffffffffffffffffffff209831d89599c43e6cb843bc18800581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04eb137afbfc1c1fd384dd808d5ef8e0219011200581f02251c085012bd9ebe0b5abdcc3ef9d01c4b9649cdfe4f5376aab381c82ef74d7b169b0d398e56d35ab7334af500581f022db4590ba19240f58eddbf6730c21abc9498dd1526c6641ccef2a92161e74d16a108f6ef0ea3e0985587587400581f02162484cf8a31f45e6eb63c981c62245aef9ce3327468e7f75b407b7dee0c52051e58c00598a445dd4253d29d9e709baf6e02194ae6035d2798914d1d60a2e04351d729b40474f3e5ed4cb5e00b0bd680f63e42c712f103f2d6f93b3c0aed0973d602befd357fa899971aa075e0bd27f873ea143f75315f032037797d63e61c676442ce8ddee05dd03ecfb9571693e5b06cb47c3a573d708103155d4cf042caad2a0c524d3a3181913174d7307143e8200de25a081465c57b120385a8932aa86de249626bfc41586a49073487071b4fa91ac2af922599023ba3c103c756ae898bbb10715f5bc79d745a0d93870334a4ff2d318f911244048d57673f03362bfeb0055fd6259c540ee7101409d8597b0f2a6d52a6763aadb05355860bee03c939e857d7f21bb7d4b1e740f26ede084b46d1e238d05bd87808d1ea08ef2fe1005820035a933dd7d3452deb5d0505911865ded6623a9ae6b40a06ac3aee3b820d5e405102aa60ce0883b3aa37b2cca4b3673a5db403531fce08b0c003a55beaa924387d8a5412144adc5c5a7fb7cb73e629ca0e5c1a0219ffff03ce4a8f8c831c549ec94835fc048e3bce94275e4c9256a18dfada69611651d7f80367f1a0e5dd6dd9217fe067bd341e68f7f47fa564d3a5e8662c5f7dfe7c91805903782d5a85f614d3aeab59ad0dee8a01d755726ae214cee5daa4ef0a94501375c5039124ca076f208c8c3d458531dfe662b6683d6cebc8d620f6d4f205740f69822d0307859f94d052ab6e3375460e69314f0acab5ba85e233351e3926c61fc66f119f03a88ce91ec3f3ee6cc1468adde3cde4e603d2fe3c8252ffbae750a128cdcdca3003e11066fd5c91f61beb79a4ae9295fa73843704fcbab48a85c83437342d3310c300581f0307563e959c00b8758b1ab987167234c254a32ed5aa3b8354c644a7b5ba705820fdeaffffffdf9d2972605c6accc25cf357b99d82134088019470ed089e9e000000581f03ca361ae487c5c04843450789da98b4c1d46328b744f36b130df47c5808a05820ffffffffffffffffffffffffffffffee1d56a2b8f545e57cbdeabc3bc93d2b3d0219208001410703d69fc8001b44f8f48f8a511f8685a768720251a8df3b904d78148ceb0b4276270363e0fdcab306d20ad67649871374829b5f77d601987a9a3a11750d29ce4dc5c103a303ab17d253b1aa5a3726fa14ac0888b4dade4da3e72a194f89e0cd907f104b03611bf101352aa7b638552ed4315245880dc337dfb06707062627a01c81a8fae9033c5c1a82a8e8d4e0b91bc480ae13602abc96496f4d17bdaff7f8c2eb928e89b403f119ffb6f69c3ce6edd4204adb8d0ee1efcaf9b7e7f7003bf071a011bb3e371d0058200313ac1dad62b13a869ce2d07a1440a7af8a12b885a8f71f32c17eab6ae0db705820fffffffffffffffffffffffffffffffffffffffdde3de357e1c90a03658acbc603ec2a78db44d9ef42130c1f57b27ad8a21974c6948b1051566414e70c5f536c4c0373074f0d036141637c84f5d4a1c4c9bb1af2de9ba52a5dc4b12f36270318f57703554dec4353ffc9fa4c4818ed9880426673ac5f253f95352abe69629d1820bdaf036f6927c7633066cb814c6d489f92631708e4d1f3a80636ebe25c6bafb9ff1665031e281821ca9cf7616e6fa8261a36ec42dbd9fb983ec21d7bdde3af6e48ce32920219ffff0315fbb8131275d5b1f958ddd3afc4657c467ee08141935c527b41ceac26d3a5a203d1f8ad26ef08028a7fc9e86391a951504147a58e36fb5a297dd4febeec060f1d03e84c72d89b4bd4da4f98fb3d48d0fa4c536c26c2c21616d3fe754b6e2a0c9c7503a78aa39ba21128edfe7a4683568df25453f2afe3d339b073b462e7fffe9e5c70031439886d3a09d99185b40cd6f047eb93db1d2009acf74e612a7e55e02cefc46d0370ab47129857ca232bbe51b4624a73cff0e5656ba25a1db2dcca72b3e66c7104037ffe0e69c99c3f2d225fb9924efb100e14a53c21c532d9936b5c2c780e3c6963036b0dd2ce625ecbdeedf90d3e8631426f920c1e1ca147419337c242296edf908a00582003067b0f1f94eb026a860289767e68a08e53cbc93ff4fe2158a8eeb695ab76705112aefab953cd4102c544c4ecabc4603873030dde501f271698e4fc5acbf42a6e4c3883aa5fb58488b1c239d9e543a33ce4c2033a07d2e53231424a932b63a944b26fba5108342e0091fc0890ee5a83f9c3c0b70313d5286ebb77284480b7914857e5f3aecfabdffb79dc2ac0d53ccb6a89d97c6a03c5e4c687fe6b7068d2eab308de45bac0c76ad23b9bdccc4d3325955caf2c497e00581f0294b1a025b2964ec8bd8ecb9016b9664a83c512c64fd368284c4f8d62e6e04d0b366ce47ad9282ab1026e6dcf00581f02908e245f386bfc1825973249847f4053a761ddb4880ad63c323a7b5a2a255820010000000000000009b14ec0f86e336ff7a9cdaf15ffede46a2934cd6687b633032ee83b832ef7479d1dce21db1d20faa46ca5f701182cc94e60d4efec8dc8f2e40218540332ca90a5f3f2565d5d9e9574f6b1ff6469af1bfa9253d5900fe355400cb5784d03afac826492f10cb1795367a7c4bb74eef491de264751a84205dd5e13a612c3d003e400354729f89589cc4d2492de6ebc39f7942a7260fc4137ce0dbc6125d342e00219ffff037aa68cc05c194d10bc08bf89075ef78bdef2c1a8e96ae50955bbd456bc007d4503e329277bfdc8e83db7099abf51da1912f85e9094eb467c42ac6c6da9fadbc39c0364f342db7ed9cd845ebc1bd5853efcdd3c4953e35b76bdbb8029f781d0a6176a0367a0f339660ff765979f067b5f2d206e40efb0d0267abb45e1b7ff7019f04f030323aa96ea33aabbe2d59fbc048b6f9ec41abbb6ca8490065fc117b641c4edb2580301ac84ba4b43b467c80887f8e3b22ce5bbc9c80f9a11b144f77491bc9cd4526903859eeee72dd6a1096d20100e0f1ab75289950b49379e3abb51eb866994afdb07031e77e21bc8ffde261df95efa6374197665b187551dedacbe4a5a56d1780bbf580219ffff03d1d82c282d677c1f738deff7036f08f2c546db2abbd477ee4fbcbb709f329dd703df0b2bce3a7ee3f2770e79f7225722babc88725eaa9186fd7ac73a9908391c4903748932dac856a4cb39df64b305272c1ddfb814b73a03efcee7b06234ae8bdbda03f8321ea0b290a449a960b576086931b9b78238db7649e1a3daeaca684e9be3c803c2b75989b6a587814c917c164c2e04fcb642bf461303a64c8e51ead69acf03f903b1f632e123e8580a40cf3a07a15ef450605c5b5e4053fa8280db280bd7396dea03e9848ea4d3f6a508a41d79250935efc58ff7beef23fef4c39d298112d3f94c7f038afa65d75e909b07dfd087eaedd4ed485ccbd6659d621676d1d3b356ac4bb18e031c5a393fd9110568e55bca04353166addf12d8b7c1f8b4695a15815263a8a02703ecf38d4fd512396bf55816a797ac7a702800a06d4e0ef78a9d96611f41c064a5033b30a86f0f59b5763f8173fbd138548f1ecb10fb42a666a51693b0b81d08d9bc03f41b134bf523a2ea17a6869a9ce2ac51cb828675d72cece9140e364dfeb1c54a03d2f4ecb9977b3e20d16986db4566689f106972c7ad716ceb435a53234803695c036f7bb6a78391cb616c4622a0d1a7ae2955c203ea6b89035c7ccd28b03869dbc903d0b2188504fd294a0010bbda5b2c680b5b85850092fba366c13f72523c761e0d00582003da504a8400fdcf7815309cec4e69fb0f2a4d6b0a4c11863430d33e2121134051041a29d6862748acbf2f6352b686142de100581f02e63c2d27badbccb893645c5740fac0c01828fa081c9f89691b2d9f004dad4e06fb5368aa9ce6f22a125bf7a24800581f02342c55862c55b455ecdb5aedf4e1a958593884cb93f8316228371991062e4e08402011563f0ceda8a22cdf91a200581f02d9558747ed6979864795b5a89a69fb20fcc330eee48b94c86a1b608f64b35820ffffffffffffffffffffffffffffffffec35b3ec3676dad62002bb105c3f691900581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b481510323f93309c3800581f02ee559b562ca06090c2303240e4f979cd9aeab1cbfaf0e1d47b0d706b038f5820fffffffffffffffffffffffffffffffffffffef40877697d2b81863e7f45560c0219202d03a50de815ba60f2418d63ccfbfa30ddd86dae096ab0fe59a1a4209fa97a7abe1b037c1c1505ceceb16424183886cf936701ef1131489f9fc3ba9c2a751a7aa8556303e0e2591c9a890e36cddff6fe4ffcfa05d25f6cefe5d1d759e2807c378818290f03fc5e67a9e2e90da2b47db9f2f1f5681628a02232b519a667d471f0e554e56a1603d32a60866a247d8d631f914f09696085defa9e3c84b7d483048bb1e148f7f4d7033a1f7c57da09a59eaf0b3fba3d48a06d8e3668ccc1ee79a5a8a3480c9bd9014103b645dbd0ff4cfc5209c6bded668b05b75fcc3182d355dddfa861495285c83f9f03c05682357420e0a68032e464819c4364937254178636474d47bd5ba3464113fa031d258acf43d6e8457ffb925b99e16021876e67da158e9e1456ebe82b88e9635303cf77fca888466bb983cb20e08285402b32a29767a8522f33efc699e3e82480c70350ecd4818ea0892fdf943cb32c681d84025a6c1149b6d5aa3e26967bd490017a03e229f3187377c33b23e2f51840c5c647ac8bdca2baeeddd025a65442e19449df0219ffff03dda5b700acd3f4eed0795133fcc40a15362431232ee45da28e24e6fed635197f03589d5f05a19dec4e2126ecfbc0a095fee8042c2da1e8d0fa9a420f5f72393d6c031edc8ec1284b3cc90c83dd83fa5df7ae862014917c01a0f5094d5a543661090d03a06347f63707d8714a531c6bc30a6fd690b6229a3562f105cbbb049518f61b70037cd4d12f8c93a7903ac877d1a36dc78b9ee61dbe67503b9379d83c3fc95bc2820219ffff03a387fc4e05b3cf9ec99fa2b389e61af78b0a5b87fbe3da5ff4810bf485f7587a03b4640996aa039fa09619cc266fc0f0650cacd28e9b7e841911ca5c010322d83303661207d75fe0cb09b00aaa51badedb999eb8b8d5f7ce9e493a4ff3372f066e2603909ef8bcbc5aad70f1e272c12969887555f2f192c70d2c6638682e591ba840b40373417bb6b41f21b352b1a5ab96cc4c2f8f972bd960a6ca2922fe78885a3d6eb8038d51ff253bfe0b6077f2d9c2ba13227bedbfd71f6f0f43089bcfca881acc43c803bbd6e2f548b0126f9151cdc7ca0ef478ca7d48dff509aaec44c3079fca4541ef03efb98d0175ec677bcf4587156a4c21acd6c25c669193cc6589d730955bcca9f4034eda6f6d80f30e442ce7e7ed1710dfd6451f6df0eb3894520e554029d50c87e703d76244c82b466f9fa9aff5d4feb1b08b71cf440c8b90b492e803408bc55991d003ac410ecfa3d3f61e6f0402f8e4e96f86499a3dae30cd4208e8933779cd597e0f031d4c4c3ceed2267dd2d367cc641e8ef5d12b1b582b0ea37480c98e2ea6106f8303d88baefbbee47d04eec31e082b05b3c282efe90c3b2efab949ef145f5df53664034af6c1b123f5f4476fac395a51cc3a9de95d971f25ccb7cc91b53e31ac81871603bdf2ab28ebd5a6d53150dbc4aa1fc8d1c159296ad134abb11db5ed2a837b734e03ad223c858630672c03a35978da447d05fd8f11287754550f22a5948770677e40036c2dc57da229b8514e2dbfdf1a1e0ed919650f695493085877dc5d1d73ca318d03dfd0187b6eb026783a17b896e285e311d7f8b7b6e047fdf59a5a2c2eb572774103017895f97ab6799cf411ddd600e938b045acc41f1d664a172daad2fcfa05f9d2030203e43c0c922de44dff0f2b71b7c149e57139494b5706fb0bc051c7d511b6ed0369e002fb7528d62eb1faf0399ffaa06168103b3cb152663c4893a0aaa0f2b0b6032f8135e1172994bd0a2200b370d0e125eebbae84e0f091c39b2ff41900aa341e036c769c1d2854769a28e9bf487d0e3c7fbbe95432303bd5610a1ba76f679cead30346d04bb5cdf3cf04b844ee2c26df83476467d80c7e4e61eebdedb421dcee9eed037a3142f42466da5fac660db9460b0c928bc30323865316bc60a5da16bf65d0490366a333454bf895edf9607c8c5e9712ea116762893968d663c487a479431e50ae00581f02a6f4c99ff3817310f04d5015598090409021be8ad78e61f3486e67efbc224d01136710c967915a5cb9e4e06d00581f02227b9baefcdf1f7897d4618934b5f3a3a565326789b85af93a4bf29bfec2510435437d980978b156d9c69997cfe0cad700581f02c4fd5518c47c94da5384bbb655d242bcb4be40a69fc80e290afb82f3108a4e023c6327337f7203ad317919e8d200581f025627da1062608bad2064de08ef23e11cbc42c20ed345c64670710d2ac90a5820fffffffffffffffffffffffffffffffffffffeddff92e2633886da25d0c91a1900581f02312a9bba1a195a601b38e1fcaee8792f2b9d42e558c50cc56fc186f368954e1a83bdc8eddd7de0fe06cb4b321900581f038092031a00a74a2d05460311433b2e19c37c463f3e2424441ed46622ae505820ffffffffffffffffffffffffffffffbb7071ee44998b30004f24376a79c05ecc00581f03ccc4c94f493a84294d04055227caf426e8e286f2f341725473d435b1bb30520252974435c99a45f6e3e87db4bed3e2982800581f03fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63b05820010000000000000009b150189c76b1e94149d784d7ffede3fc0e201d6687dae7021902240219c84c03566f3c4033dd7531315365161f0790ac27f3011c7915e1f910b0a8104edcfaeb0219ffff03552c3fd0ae72115d27dea453050cedc336890045d34f6b4137617b914dfa7aef03ef2ac49487b6cc9e398ed3725d7114f6b1bfde14099aa6d972efe02ee349536a03b4acfe9157d0309bc65434cf710ac878eabcf2566e7f6066488bcc4bdefd7b8303d779171b70ba3c61abc475f85c5e9b99764178e0ea98b3d71672e62ad6c00c9603cdf676655123c8d7c83f7a585212d98b2603c342be13295a13e3f632e6fed841036202353d3a2c67c612c694eb90a39a87a6705390cc1b32249fe484eaaaf88f390219ffff0337b0b5bf3210b8c16c4ba1e74b8fa521f72a9f707d232e1ae32a1563de462636030d0a05a2b27fceedf38e28fd639a1593cab66946cfb4096f4848e4e8c8be24c203d48b7f6ba9c896942466822920f87eb36724f0b860f29208dce829326877e6f50219ffff05581d02b033f84c1a5ab5dcb2e3dc353b0af69edec575bcd8edfede887abc55070119567e0211034aeaaa8c0f3cb370f47f7768af15b7c4fc2beed80b6bd9e99e833ed785639e0003986b2a3445e71fdfaf20af08b15c26889af1829d10b3224f35230cd86452e19303ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03eb53072b8743d8c75f69ece91c99a1ab5e7a197896a56db467ac718d4007011bffffffffffffffff038d989b502684afda0933878067069d98a4510baf2fbb4824a2e43a0897a310da031319280f21d2a93c08c37fff958ad9356514a03cf252fa56466e30aa700378bb036b214fec3c0c9697c05c2708c3b2c417cac1cde1cd4ae6c18f30498691babdc305581e034e8524bc551b53c3597480c243c50911f17641dd0a52289969ecae1d200c01470b7f3d0ef8afe505581e036cd7855396d8514d7b7fc2ef81f98e4044b54954e248dd28f4c30ae9e00c034631759b487a28021926ff03cca7d47162aeec747f74c2650e911baaeb05f06aedac267a7629838f3bc6726c0323c77bc66e3ca9cdc3b85ab9df7f696f91a66860e6cfebc5d1c780f56ff00d8f0341f126fd70126348ef4a0e087f0d2bb4fbb84703eb78ef93008f556859cf9c500371e12619386ff41b6099803d957dff80fd9a32dfe2ea496f0c9e601dfb13cb790379c38c7986828bf6fb30f3a02bb46a825bffb09455ca8c3e2b4ff33881b65934034e905fe51d5846df49d9bc2f2060e0457caa7dcb0965b804886c842e502cd2080310c1df619ab05b46643f73a2b9064d9c4804d3941e35bdc05b8df933f6a46b440219ffff038168aedb67165e67bfa5463df006b878abcbc2091f6d67976b4fa7f6bfcb069e0377f4a13ed5ddff05aea071d0ca8114d492cc43989ff14658a492906e05d7faf703e66ef7707bf2549d9b29c5d52f72bd8c3568d84387c7c7dc68ea367c56eba03a0219ffff03fe086cbb8652b8db3d7cf21d92501843d7cb808f1a4e010481324ce1891bf2c0031a1bb8fcdb332759a19d25740d78c83b6747f5417965a38ad85027e8aa3c934a03b8131cca14b9447050b18eec435b90aeefd03a17b83466387eea6ba6eea3622303210bb76e0e36f3b618d6b4c63cb09e0793cb1ce5273bb492e7738777b0855aa2035e4ec2f4420a1ee66ff77e08ef66608623ddfc4db5e3c1d466b6b64f8a2d85990219ffff0368c5f1050b10b6a040d3ca9a0db53e2f0da46a3f4c79ae7ceb597af4953b4f800335382251ead8953f9d493877898bd0af158d96595491ad9de6cb47647ecceb30039515bcb5379b564a2efcfb10c86eea19b2d0b5b8bde6073f9ca5e0050f36ad1d034e0f68877414d57880c8eee02bbf52c399538d06b1052ad72854fcd94b09c64a0363dc75b110d682b85c9c1b61a0b6e50290b108e7ccfe5b2b601a6a6ca09e93fe034daa8d2630979adeb7a37e59468a95ca313b3d74205017450bc9bf1d41913cf60367a0269d1e33c3922cd2145f5a81d0b18f28747b77c996edb81ea0d6bc622e5b03e4754d6303c34cd0cdb916de644566a1b8b9ad15e6e732a8faf8f9c84b6ac9ac0344fabce5b0978b15252788d7cc625e708ecdc768c82b47ff53c98f69cd9411f803a406b61bf530c48f6dd040ff2cc9d7a8f368777c87dab49d9f30fee599430b5e03249d7a9f0501699490e3f178e727a047ab08b6058a3b8da202bbd87f610b569c03d3cae4693112cdfb129c34d573d9cdb052a3ed147f5d6d17e1a5fc4b4217c838035050f8d38962732000edaf60574837a117611d8bf618d0e025ffa0700db5729903345d8647f6ccd9eb8337b846b0528880041669e8ac1fe18ed8cb4fdb43adc8e103a98d7473b5df26b47fde2e43b95b429d6ad3ed81748df1b09c0e5bb8788b81fe05581e03a82e3876df42156252732c2b5cd04db40239feab766aa0c96e2e56b00004080459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56401614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03510a2a007f641abc1a1c3b07e2443f91c8544a137e527b52f50b68a136c9d28c038f85c4e51afc5e3cecf5fedf2235ef55dc6abdc16af126489d55bea13a64f1bf034198f7fbc91a3da8493c14210026941e36a4e00dd23b3a450cbc1ea7fd0a5bbd038466f2376bdccbf19ba6bfedc594ca0b2310beca5a9437dd0c635f7c659fd870039f36b43924fedc4b2190747f84fec713ea6840b125acb121dc403cdbf0048485033c297f55fede214668c7be7e353f0551c9cdbed39ed0e3b9b84e923133716b8b03d9e0469ce17c68e2465a798f7f44a7e46c82f2e05f43c396db6028012df5044a03d856bf29ab5e202bfdfc676aa3330f3bef3b8f05bb5ffba62d4e951f9d2974f2035cf86b68bfaf407fdfa2d6badc4ca5baedd9c25427f606a38e38c299553cb013034646078278212e1d79adaf1f5d17430d972f7a30da0c4904d46b6686769b5db203efa61fb2d7ff72e99ce0b54434e9f41b8bf05c4eab63a79916dcee2d853b2d42034e27be6e0bfdb097d4eb40f1143841187c8be5433fafa6f600be1571958588c703669027a159871c8a4059e0f51b4d352080df281ce51fd8869a2a17dabf722c1003d39653973fcaf1d4674e543e1340055f3463827d39c81d1b84235c4d7011a59203bbe289a631e6b43764c376fc1d772a409aa0ec7c06b0e869fda3829c0f7dc53b035318b147b03760d7dfe86e6e928420f2d7d7b24f68e9512a4c60486b29a88cde03ab557043e3d1bc39933d91cd68b6e9deaa5d0ef97f5ebd76290de395a35173e203773c203348000d77e02ea069f2c70c6cad5475b32a815ae654b1c94fefb5d7cd00581f02d71bea52cd5f7d1dacc4ecfc1fedacefebe22bc268e199c71ea5838729e451ed15a6b18ebf18814fb44b1bdc04ccf2f000581f0264962cdbdcf1fd9115857b6ac1b473c19eda8d8e2ef4e5ddd70d4f34a3954e013af68740736a1b2e2d381f427200581f02041eb6ea81ae131d03db884a5847a04c7a797215a645928afe27148e83655820fffffffffffffffffffffffffffffffffffff39925150a7f47be4e56ad4cc87403597e79055e9b53877028aba80a2ca67e632a2de44413b9d75060ad2579324bf300581f02b80f7fe941b0a97777ef87f5f7c4f94cfa9c5bbe6bbaed71c70f899ecb6052012e46981372cc916d29aa502a823072246d03616cf91e084cd53c2352eec285d464c5a27d93ef76259a91f06668b6af431203033c960542ee364400eba490009e3ba177845195975346cdd0f5e50757c3dde17903d5b46ae2e0b9677b167301a13ba699b8ebe36e556c783c67c885f66fb64a567703ac32f7d71dd2a7498963a713e6fc368332a9903ab5f93fea81afc3ab195f111e00581f0266f365643538a88aab8ce9253506780b62415e13ebed09af03e7168052fa57039ab4ce1cf8f7000000000000000000039ab4cf7d158103a3f906afa26d8f890ebe487888912ea2caef7f9f99aacdaab77b7d323065a0ca00581f02a243a3c88bf2e1f8409fcf735cb8fae04b627cd809b9110d3ba76968aef650d6be6691f3ee411037b8dbb24700aa3400581f023cdb45da3f3452964d59de837f11723f11faacf289ef3c20a77fe96739da4d068885e4eeed1c45b52b74e79803e3a44be0f577d3d7d228a3abc19444f8323f7012d78a9a8f25cb23c3741164c600581f03e47fbde243f99872b883e60e4518c3a1d1b48b5800fe44678ea3fa49b8805820010000000000000001eca45330fa9277c8c2ba588400121b3ba4032b66879b7b02190220036cef7991be43d4d16a34179961a9404a46300b7a74e89da85da7a23bcc0f0b930219ffff034a24cba665d54be60a7ede7216aaeefbd3c55970e0ba6e2e8dedb4181725fe9503f60de54a22d26bf0023b6d9934ad59c8f16f10893c62e00cc1f5847f99d5cfec0334bd6ccf75a50395c0d94ad91edfc76ab37cf78630d958bb8e7b07dccf9692f0031ab66f798df0f4994e7351412b178ed3d7adff19f39efd7c54d660df2f06b2fa03e28b09ac2aa205482b093d75d7492f0a97298ab95f0ac5521a53e643a9fd7d720219ffff03ff224af53e670488a3f7b2889e293a61da6fedc3df60b3dfb354c40432fe427603e175b4882a0fc6363abf89fa45f3afedafd45f9ee7feb360d80dac19b84125e503462e114325120e303205e756be63d008f0e3c8230c60f31ba859c762142caebb03055ff3d081d70f4640160af42e653d3bae19b824c871e6fea27c8c79db2d9fdd03167353216b6788df1b6566265a176e8e9199ace805f9f97f41983e93cbd1ac5b03f6d0d28017c9c91eeb93e24579fa79e6db641efbb068de38c4292efb7659092d03ec88ce78296ded5bb313e9fb8e0ec7ddc56c9cfb15143b8ae0841ca88a250768036edb7519a46700a0f929a62dbae1f6abe740dae45845f56a4a306d858c6a9e64036790d7697cc29dcc1848cbf6b0cb391a23e3d99b3e626d30173abcffc2af07ce0219ffff03fe3a41fb6378684e78d0b1c213a61adb2b103c4537ac77f91f631c3cf026adb3039c0f6b30a94147d260941bb1aa56b773f53b1099ae7b0d39c52e1316ec8ae9ee036ae423fd4c53599afd7a75dca16110c9281cd4c420a24475a6b5eb78c3fa949e03f29aa3bc746386788414609b86c09c6cb20c1ec1e48372a23327a286d7d5f1b103517b4dd58bdca5fe0714e662e44d4b37974d9636ec3c8b039461f1d11972df1b03fe3efba64aee0dd530a7ffb2c71e9e803e4d3d1216b469bd063caf3e74f3e47f035dd220dac07e44658efa9aa2a99a1dc8a1dcf1473be957b5c074ea12be8cf7db0346824f964245454c38cc76bef065e8a8cad4f21895d5db22dce06b2423a23319030102bfc23ba784620c436c163de38a587c86b4c56e504bb9d85e4ea73b80dc6900581f02a270d34a878c930c200816f97e27739de97d856508c62f1a70c0f0a87c0951688f5974132c86bc481ef98d07a14a5f89033f4a57d0d9d2bb8820f5157277a1236159b2bbdc6ca2d4eb88f34c95fde75aef00581f023f38a9332cf604d720097fe85a95bde0c644e5f7fac7df870ff2deab889c4e553aefc416af25c8b4a3ede74b160379e19c3fa9583e916e40800a0ccefef0dc40897e9111288a2b736b680c960c6d0358f170543ffc5ea8f40b4ae819c9efa998c463c930e44008f7d1fe6d0b66d0020352b6d995882095f8cba2eaa59cfb69198787ebb942a8648ac796f6274e1345ac035d8a50a4fe8862abdf75e25419c8eac42d46b9f880ab1a057de5221d24e7c40300581f0207d2aed1c22e4caee8114f1030a54d68b5bb045decda87a967692d2ae8f65820fffffffffffffffffffffffffffffeed5add836963bbba34c25d5a88e6c6041800581f032ae9de3a703a4e67beb7417ca9d3e1c00ea360d1727270ebb63174542ed04e1710a1db042381984d4765a565050361dcfc1abce5d6cf760509ec06dbd3dec7993b11f938b577ee6ff55e37328b4800581f03f1ea8dcaf4e3082fb14f2f614c5cc395fee9ba77ad1cc0ef543d465cfb905820fffffffffffffffffffffffffffffffffffff902c35efc45837deba9aff13a7900581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010002d302d3026102ff6e000000000000480e791f09b9c374676f727852290219403803436af0c2f3433db1fce59d30c34721fdad29ccc950fc3b07cb47f654a74b4a9403370fbdaf166d6b422382bea4fff58fd7fec311620e9da4a75e1907c2aed3349a0219f2f9038367ef08bd1c7ea95d155b82ae0e626d5bfd6f35aa763e1a18851f831a1337bc034953686845a49637eb489ffd7b101bf39aac9298703642defe92f6656ab485bf0372d09587416ef0d3b43a9a30c5fcad278c76429e5d466f3eb65ad93d55acfc3503ed87163e68cb80317566197f3cb2e792b5137d9da63defd9a915b816147ef2b40380a5d9e35a5a049fe86051834164a00eb6fc7c3f5e20801817a77cb8dd0a0a9b03b2c187732ae44cf7d9afc6963c0754bc9f844517feee2c2935cc36e7c9ef6ff803b3f98b2afb42cc8ad1ca009dcdb77a0eeab2e86429816b504a531f178ec0b416034ebaed06ad7775edc7316d5eacc387aa9cf029bc4dbfbef475815d2dd503332b036fe978b3b37df48cc5e5da8017740c805c0003797552d999c144ef82333342ef0340081f63fd4b0a4229540eb048a60db7d98692390ba9172e45444da4d151fbd903ed81afdc12279c711f9ca6f373ba2f7df4282f8e460a769da85630292443d2680335491ac5185d0aa70064339049cfaa8d80de6a32fbb790e90a7348fabfd29d7c035c140e3ffc15cd1780b26ff4dd0fe3da65b96e2e3f3cc7fdef744d7a94e3ca7503f40c8751bcd9eda56741e9b3b1983ebfd40579ce15d10ce0b1df93857f46bb3003cad54f200f586de90954215f1a41cf5faf0b0393b63ca47a151486107cc4abc10219ffff03425c7d09b2d2dc68c5d14515e6ab13b3be9e16cf46092b2bc068627051ed5a6403d05c41a978e68d1e3afd4ed49d560e9a66c3b620eb189c1932174fd5117351c003ed2e16b76bd8efdcff27828244912a80a01eb974a6cfa8ec52e42a4924f1ea1703e0d18ce272aced203a7885d3e0168790793133624b3a51ba2dc70825f342439603285bb723f7b53486a8000d53b06c4b4ea4bd6432dc62774bceff3c85b4fd01fe03ad2653a873cbe642a293da3cc19837b2a71c97961d9c0eee3182c8f8f4031f4503629e78b31aaea4f37ea254da2ae9be986c33ac6bab67808f9d99a94d114f814b0399d766cbdd0f15e2cf9ee4f76e526ed539337f89e021570305b14dfde9f4b0f6035986b41f36a1d700945472701a87a6e66c96c029d7481c7e9e9dae6e46e10d3803657b46fbb8eba2c4711869d617d18ac1ce9bc17c82518e742b5ce4c39347cea203ac726896b1456f77419ade62fac520eda1ddfd879e795240111d0ac5331e2a0003376f7da487825713f87017dcf7f74a460ee1caff28dcc95bb577804e8b49ebe2034606aed4b3ecf87e25a46e437076674ba694f0abc8a2a9a63ff060f19b9a1d57034541c768a95922a4af905eaa5f3f1bb09c3ba65b931e09c9c8e6857c86b144bf00581f021c16f0d26c029f95eabe67def14873081bf49cce8bf06f9956d4b5cc6a944e1f433ea20c10f9dcd573f692483403a7fab3c1a0a2fa3c4aba5d3b2425c332f33090b5f4f1dd8795474c226e52c49d0345d35c62bb32291390f7440d1d339a5472280978ef219359f68bb9936bf02c0b037cecb4d62d238f3468feb15e6e51a6c3d1e5f52c96ec5b805dd6140f4b2b9b1f00581f02f7805bb66af616e76e4252a14aeba537048b12c6378b256d86d1a1f80d724e169cf64dbf4763ac8ebbe0580821035951ea265e87f58244b23cd085f6444f6ca2af78842299b9a89b3a5808ead2da03b8fbb18091bee79364aeb8509fe0d745fc54c195f5c704869e28873aa1f3a2440375f554ccc564bcb2c8ad178778a81f1ba5e25a236d9a8f05d2d31e434062a78e00581f0330d9f67e36d84d1f79ae8e7c835e88fe818ebe84e15b5a4962cdcef4a6d0570a2900b35fff1c0000000000000000000a2900b35fff1c00581e025809d74c4b4adf6f76ec12bed8d7ef73dd2b2b6b2f93b65219c7bc6ccb5820010000000000000001eca53b3f569524c71a96069000121bf9f1a4836687dae700581e02c5e6e348c500fb1bbcc0a85a42c2d702ddeb18c7dfcbd0e57af78f75ef4d3b8ad5125bd39f69ee708c5b0702191040021908040219f971036f4ff0066b44e5db275dfc3ae03b780910e5b1af7d8377931b1e5982489e70c003adc8e338f694d6c9e52d9484bc7ce0ba490597033e7024c46a5c1ef3f3d4bb2c0301b7d332598eb7f19c99cf7b434e3feeec632afa4907eca1a18a539ac4af6c3503239cfb0faabeb343771adc097b2f8a0386e4bfbc91fae8ca0b5e8cdbb4d4364a0347e16fe7e69fec77706729d44f3ed2620cb3e2cc2ffdbacf50e32cd1f6658bd10219ffff039d11a0c105a09b89bf868e7666020c02441ca99564f501da693e295c93bc9bbc031fbea22cfc75e413625d785b01f7a7de619d8aa9b59d7f4178aebd78cb53e9bd0219ffff0346d02addbc1fd83c10fe689ca9f4360c84571af37e2ce97e8f9f5a2185a2df9103a135c133a3aec9d02ecfc6ab94279f8913c9409fe84925745e4d7623838c8cf10371c699b38c32ff55d80788de23e7c594ebde08ceaf253e472152eee380708679034e38cbf88dd90802cd4e5bb1b108e4fccb3abcdf4744d40eb89f82ab06fe8aaf0319a5e86e784631947c832e8a94ea37cc20bb1e8b4aeeb47fdc7716067a60f73a03cf4c7458819b5af8f9dc7efeae28e790bc476a443c2e8de3475f32ad35de91d203bc803ad5e43f41fc55688c89cd718c2f0efee047152d4b87822c7502efbcaf35037ee00062ef3cad0aa6232827c11eef733cca958bc3543d41db427406add6eafc036d2f1b201daac08bb63c74bf1cfb444002ddcc3ff38ec76924175eccaff6dafc0328509bdb08d3dcdf1f44b79679dc14d4d617d34af7ed4d465d2d0e633175804103926199283922dd50ebf5ab2294639691a6eabb6e8d43a3a9c42916305628ef99034c17aa4cf24f6e625249d998f3df7fe09835cf20b9e1e6026344656a752dbc2603a7470bd9bee363892555acffa834f4c1246e62a89e51ee46b4e4ff845810431603bcd7f2fa6ea3171c58fac5dd2e678cbb71cea4048fa7159789c14fd35920fa8e03fcd2cb0838ca1524c1f692fd11b46be16ef0baefa173205d4f5b0c5709799d7b0382ef439e8afc82a81ec5c579ae05dec5979be1a3c4c6d246230901c69a984484030e56075c5b4e460b94dda53e48da513dee68677e9d35c21e17d0b9bdaf92562f03ff0f95f520404f4abf9772296982336e979e93b3c12642a7e381264c7f7500a903d64ed27eb777cb3e021bb32a6a7911eadae3c4194aefaecd6b85b0d54085fdb903f1e71388a6c2896bf4aac439c92e61572b147cddd8e0609d439cbc61b24252b7032fd5a0f166e2fe0a826d4beae4f863a1343e345fa0883056841b5ccb20db52d7030938f172b77c6e39e997605936ff8b574ca699c06b03eaedf80536447007ed30039eca481a7310f2d9f20fa0ab160a99bd7e9cedf4adc85524dbf4b24d9c703199031aeb9d3cbd2f9bfc2e5a71d77dfe6a83ff3c5a818558167a1d668f46e7f2359603248744debc1941cdd31e57437d93c57899de87cd872154b9c07a3530ea0f8dde00581f025ce06c97f70e23b9734eab962d11eeab684700f07c21b1a8b85b71fdc4d05820ffffffffffffffffffffffffffffffffffffe28ee234d5d5a47f8978b2bd2fef03cf810a46bc7fc8f0483df87760a90ef7cc3cd138c7fcc4e61b771844dbaddfcc00581f03c2df83cdcef630df251e374cea147d281c1468de3007744618e62a95bee04e0812fc9e61276b3cfbf775f77d1200581f033277ca56ef9d2258026d02da6fd1792143fe09dd534d530cb14745aa71c05207f0be1d258587639cbe3b8f5f4d9682e5f800581f03bf14125811968f333fbda5ac65d434d3075118be443e40109252356d1e704e934927bbddedee7dbebbc8391d5d0219308003393fa9efddfd62ca92cc6c1a875816c5d996c7877dd3f7ed808c09e7d174b2c800581f0243d70dd667dde15a5b0c7c2d2db4851d86a67c5a42f80b228c5e21b0314b5820fffffffffffffffffffffffffffffafbc0a89b4910b524426345da705d1f2e2700581f021cb3e33eef852528a0c07c476b927668918703852a96b861ed47a1425f064e0d8aa1ddbb55b4a943ed54a8fc7c03dc19b7301f1688c12139434fb4dc678e776c451c5587633e9ab909bcda49930d038cbd1395d9477a26693649545b0216798b86f54e9a39e2c8ee53efc44f03586600581f02444d137700f1a86470afc744fc5ec94044a5a7e0e9fe9ce2de1050731aae4e185fd6881d99e6afae4cb2b8713c00581f02b8946985a37fe03ce5199ec7203006e754e668e03d1f766ef629ff3c72235820ffffffffffffffffffffffffffffffcfd4f22952585aee7e4aecc63c2776cb0f021936f903e76b554e68ea6c503f939e29baa5bf0b89340cda5257f62902903ba528d8338903654a319176f1fdf494ace02537aebed172887f7754bab411866bbdaea8e3a3090219ffff0369fe56c3a37ffe01799f0b48d42c076ebafc6bcf42d7a956fe275a1dcb1ad547037377937ecf925112fc7c7a0da500737b388d5ba1d730b8b17a0ddeb3c1fe858403e5aa979c2056029fef4cc9d1e9a8b3452736a3f7b476502c24c2066af2a73f340219ffff03dd5aaf0528059fc2250cd27952ad3b4a0ff5679f25794da7b2da8009c5f1625a03718d883ba3926428fe18389a83b7e824d9ecab8addead794c67e8901d77ac9b903807ed06874a8e7779adb5e705c0497287d5156cb7fdc78a8c6e0660fe81352d203793a4a912393b8c5c1e3ba64115233b700239a6651a9a6eaaffb8abb26ccc6e5038ccde2afded510811fe107111c944058da3bb7ba8f4d73e53932610c18701d970350fbd47b370708c3eb0c36662cdc1b00563ec2848dbafb5f60d2dafe393add4303196fc24869b7404a73ef35a5a1e107a8511121cd328787f801dd1d70ee5f78cc00581f026f67741fb5c97fd4e6e38587aed89a4c5f99bee0295dfbcb0e7c15a7126b5820fffffffffffffffffffffffffffffef29b5a3f7d0e6bb297400b624e55488c1303a9f555ef0ffddb36d4a0abc960bc6cafa5cbfb6dcb801ea0d4252ee5cbc0245900581f02038109903912d00002891821f81f0a003742e7d185c60385589efd6527eb51bbd881ba23f711227efd1b4228521fcfce00581f030d8531f14ffa0edd1b45a359742384f2590e0f5b52314fc8a83c6fc5386051315636a20608c5d3ddfe83c952f198010000581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0520fc2a26d323c0f757aafd53f2bf67ac3ee5a02190110034a61fd180e182b77c38735a82ef8c961455d08b6ed71f227bab71a02e91fbd250378438b9a80a2e2a8719bebcb41ad60d46644d3749d328a6c8081c01c65ce89e200581f024e822ad8405b6f4ecf0e8b15d647cb42e09803d2e97a698b7d9870fdc44c52033401fcc8a02ed0b99c7a0ae488497a1d0703a627bdf904d65b61931928965f7c96dfd0eb3d931f5b058806e208b46f67221000581f02810f14e8c3d6e05584679faf9ffd115180b163d5f56815227280ae2a67bf5820ffffffffffffffffffffffffffffffffffffff8b1c82d67baa165f845dd94ffe00581f0296b1232df14614e5c12968ea51a5d83ac39ac0e2000def3a7dfd1b98d383511d2d29a9f6f630d5c4d7617d82a289d7e6034f5034a4be179c1d3f7b9f98500cf9316a0de5f5ec59d19b4c0e9d557765d12f0219fbed03161b75c340f3d96ee19e183b03c7933bd1b0b76e819931281642e60180778e5903e71cb224f610decc56c144d62d99ab34a5a9661598977f8917fa17659bdd8d040362941244d7c38690a0b443e4feecdb3234ceebeb94ff7e0f1d7def855ae80d3503f0a045d2b45e07ca6d0a0601422b1661be4067ab8cd41a9e5dad00d738c75ed2036d9b4d4802c6262c2e570aa67e22ae432ec6c826a2806ac1277169693f7dc0c40373f02e2822e20972951edeb9c8ac80ce4935b69eabe2f6132f8c676d1748f9d5038c2ee08083152925e6953e9620f15349c7fbec43afbd25f998d202bab461daab033cafdbc97e7dc588599697505b8f0414707946fdbd40e9b6fd16174673485a8d033aa8729ad6f71b61467849ead56d083fedf98d5e55b27a3ed65d8b2f435a00ce03a7254876156edbef4b4351c8361290ae780dacddc45c7711bb7c89fb1b8b5efe0219ffff03f683ca30a2a28b87a89a47aacc419cfdeb72f5a365b2b4fdb86b2e34248867db033240687260c2abe1d7573921353c24d8ca3890240967b75ddef4f305cb4596fa038a887b4cef33c4042058a21caa786d7e91bb492524839f94b908d78f79b89efd03cab1659e2f04e70d9b82890c5a80eb36e9324cb2d86152cd29545e8ce49fb8a40317df036024861ebb4f4855f5375d20336d2e2504aae1fe69cc25a3e951f8facf0325daf8cba7ea62028e23b6ce0881d4ea5e5381037994a8fcfbde3e58ee3d2f6403f072cdbe72501ee905b598001e7c0f725a69ffd6bde4556fe53c57438f47c8ce03f793c0a20008d162ff0c662ebfc89639ca40dbe954eaafcc0e81ec8a13248bed03998a546df84eef6cf2bcc36b15e070af7c28146f37dca4daa781e549c3c36ba303663c7bd6baf927792c665f2879b217140a89eaac5c270cb158a8eab13fc4cab4030018403a1e331c24c3ee7e2363c12efd89cdcd85c054d7065d90986fe49a6b6c03afa1c7432ff716d54f7e5e4f2c926231f3ad8590ff42275f86cf0f8ef435d2d003b47e9dd22688b518ecbd9cc0428d0f0affea67d172bf53a0bdc12a61b5cb591803bdad0b13cf6676da2c49362f8b958dfac6ff316932c86a02508292a50ec1e01d03f5b1f18359f7144f2ce763e78134f1936ce5dcca205713b2844b08f061fb75500219ffff03e874cd4f7f843d4cd39ca5d40a2206c86cee74e14c71a617f5b910a24f6b5fcc034b15c7cd90602af9b92fc6955fce880fdc657dbca3a74d69f897f6dab5bdaef7031280fdbbe0ef66f823b2426021a498bdcc8013efc3b378dedfd2c8fd0f76f67703c7bb90674aa754175f4a0e642f32e75fca5d89f6d9d7b51dc81098b6b63979420393dd4f3ab64cca2e7a402bf17a0cb96405019c5d53ceaaf3d1a39c70f4a50c330367c81ecb2ee23b7b9683836b0846fc70ab0694dc1842a060e03001464c9c4b1e03352900f0929ae46b4901585003946abc08b19123dfc3c86483a6841573f4012c03d814027f49f48cf82ea1b929188cbea41a86571489ac4a9996394309b3c3a1ae03836b6e3c8ee7c73235ec6f56299b40692b08da26bc5796575f0650ffdd0ac712037b88e0d44f920a62b4ccfd261a261eeaddf9e52d4a5467ac50210f9f2f932b6500581f02cf38fc0bb019027605ad626aefe55e48032e11df633d2527f99ea64d36855820fffffffffffffffffffffffffffffffffffffdc27bf708c75e192c40169045fc032e7c8900d85d0586f8040786548656e49054fa4f8b4dfbc408afcbcd355a852f03ab03f5b23dacc4242bbbcf6a9ab2e01430f18caec80ba1800c53b4ca5a7aecbb00581f02192e12500841b1997020ebd2fd0d3a862e0ff308451b7c807894d97aaaba4e07da210e3c9fe44362dac5f7c9ed03c01710307a8deadda46435a08c2bd7237a6d483ca7b67088458a94e0b089175003e2c0844922039cd5fe75618d583ff3d3ba0d29770d246c881a801cc77473fd3500581f03e0210ef3e2e56aec271417ccb344524a5dbedf07865b6f23c2b2d91cca10510a2cb42561a3b2ca900315aaf0c611476c00581f03e238eb1d0bb86168afe23609b7e83d89bbf8373409f03fe211696890e550577dd9b143635f5d0000000000000000007dd9b143635f5d00581f03dd7633f125f7cd53ad4e2d465d9bcfed18d9a091e4abad3b252ae33c07405205e93278529b322874878793f8a47b92cb2b0219140203d1da4dfba98c97a5abd1c0bced2f251c2803bb6e1d52a6f7d3f4eec9995cf90503ab69927c9358da40e8e927f35a3efd98afebd5e647461570de02913a9ca952db03203b95f19bff11c1856754c6964239590c1c39482bfc20cf1d98a05f9f2c0f490352daabfe3365f3e471ec7578ee491a845c96feb7f831773c0e3c637ca3fdda9c00581f0223eb8156030cf332678d6445b8ed82a6fd17f0353e4afbad824e682b6c3d5820fffffffffffffffffffffffffffffbc90de041be0c869a3f72b73e73b495f4a0039b1b32274db7a25fe17470b3f6391b14cf1b666e4363218979580f3e9dfdbc1b02195fef034332c38a221421797d0dfb19e734d566a6ca424b6172e0ac50abebcb80dbd2590325f1a41a4774068413aa7b6c6f9782062f7a50f627ef7c6c51e6f7b99f14a14403e16475e5337630e562ce1915de10c83bf7621f89d8096d95f8c20de6d9e89003033fa39e5315bfac383d78f721f8ff796ed8b057a51a9caf39aca5df89f6b918b5032f20749724d331a10cc8a4291ff7523a8e6ed5a9c4aa29381d23f500f8f0500703a00781c9f01e159592301a61ca9dbeac3af861672d58d8d98a7d55bb448d66a403585b2e32c23fefef0faf68b1ce7689a9d235c160c93735886b9362b219e010cf03f09fb063a3e99d2d2b918929947353c6cc199bf7048032a356c05aa622ec625303601a776939e4dec22418d7bead402b517da56868c51a68172f5c5ed00a1d96c5037f35731ae3225ee5da9494b5422de86925a7e308f69d92b40c458529006bf4b6038e7093bf6563dedf1eb70882162767cfdd8d26edcee84143d0ddf3addbf2afa703d7838c220604c0645652c1c74d9a65af9eb4695d2970f7befde76112c85c5a7a03e3ae0ce30139d3827c74d62aeec84a7da21b315b1c07ecee2b627545444ad5c7030af01f9d8f6d94834f2ad5231a2855710097c6debff3005e439b551a6086f14a0219ffff03252ab7b85d00c3bcd0875d55e88fb39a782be1841b43926e29f3c37f45cff79c03d44f372c54da3ff07eabc84084493493118823f3cdb46da9760e8ebf3413e9a20368f83217e26d8421ec4bb199d6f12c2efff8d83a8bc4add5d3e4bf852a2e9319033cb2b9715600c8132079bf669050d2f560f907232d48dd7963801ceb0e969887036947885f7fffdae940619464c4c43238762a20841125b8c0f7e4f5526dac397403a1f984201f76b0001d492c40ccc8bf50197cca7eda4824ecd993c2e31bff6b420219ffff03fc42863a3b94470e3bbfd79bb187ca9b28ab8fded2a51bb8a7eb2dfa0b6873ef03ab6ecd14088292b51e29b2b52f30e3651f8209bde41ea0aa0026852cbb6cca5b039bfe7ff4966df99aa1056f95dd0a00f3d3df931688eac25e2e120146b44c87ff03e39bd69018603967386df052bf63476b5cd5c456dda99c5377f8f7bbcc9e633503187cf201e7f8fb01906eba8dd3a5a799fd7e9c61d8ded74998141635e71a60a503ec2a64d52aa532950684419a944155fb170aa2dcd295edb866735873ef5aa5b903222743b194e03d7c69f176180844de26d0a849490f190e1f8f02ef071e4b4fef039f56cd200e2adc1b480f62671681903773a5736d8d26f572d75d1b995397cf7f03dbcbe72505c91509c717850b183354619ce4253596ed513ea17c070ee19a34b9033d4c784f53b57aaa0a6981a665f4e569868abc219987fb4da39e2c495508608d03267057fddf115106348ca586be42bb7738aa366638d0660f194bbcd5f5b741e90317ab52af09aa0e2545f7b37fc2445e99be5c2a570acddd27956453feea10860b03abbd8ceddf28aba8673c6be5b85538e764f27bacf8fd277879e2107d2782f1400343144bffd102c45e8bde126a96ef652732330afbe890c9f9c56f96da8cb8c09803bfa39a4a4035911ff8f9d83e7be465cab338c79d7d932ee6f149fea5a987bd9800581f021cbd3f4ff6b2e1ffdc9724674a9dbd7424f3307c61703c94c0f4aa8277f94e0595e10268dc42533fdfb1e31a3500581f02304180e4199135efbe7733fed16c32a46c6fc22b64bd08e6915d78f7997d4e0177bd23edfc737f455439d9adc003ada0a23da0d9991e80fa39d7fa4dc7ffab791ce2974c192fc40d844297cead9300581f03ee879e715c21f77aed1536e7aab05e9f0774c0a423b76699241127d720404e553d2f26bd3f26cec78c03cc547703e94470e6364aa93956f48eaf977686657b0d3c541367c1fb8c4ddc3fcbfbc1bb00581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b048277c075aefa231ce00581f03e2898c2da6141ef1728d6a6d3c435e4437a98398c1be7a27025ec8c0ce004d0ef3077d434c0b6377b8c4cf480219148200581f023ae9a21ea4d07d15120a8a6f81b993753a000cef837befbb7c68a148311b5820fffffffffffffffffffffffffffff7ec2a7e9cc6fe18fa4f653882291d4108f50396576604990d6331227986c73ee2b9e2897cc478fffc06a6ff26357cf9c84bdb03de7d0f3505fd7f78967b4cdab85ff93e50cc03020d16de4b463cb361a31f826b00581f023c0c993e7c49514d47779dd63c54669ea03f430c64f9b05e50d712bab3c45820ffffffffffffffffffffffffffffffffffffffa06f4a6417f9d31db0bb8f022f00581f02b043595506c12c0e78b27989e21617b71e63b7e3a55d2f5e472c10973ba05820fffffffffffffffffffffffffffffe24bbc04bfe0c60f8493c54a5dc197e17e50399bf7948bcbfada507c1baf5ec90a15c2d2d4dd58465b2d6f0c32b87e616a905035fbad3d94611fb9aa471cc1231276dc2ecbb572be679fee8c1066e91e8a84d6300581f0234b85b242cefc5dac60a1dd953b1881f44db9e4e8ab3150f0799b32b44b25101013be52bbd8522223bd05058d2c72e0900581f020774babe33ae54966706c76740c86f170435a4f1ec938b624dacd13d408a519649e7be9f42bb8878c04107149b0bfdfa0219f7ed03513e44f2c06bb0771a2b6ccdccefdc31523d64725c6831f549c16a6a03d003e703a513dee84e9fb22c126b74255a2ed981c5cb8b884bef707c0ae05e85c1c21ae503bd78760820266d44afb553a1a54416fdd51a8a30c06e92be46d17b8725f62c2c03a993c4c101123f18374f5913efd9e36272bc28805af4214166be1a9e1303fcf503f68d303b2fce068fad597904008c9fc70f0b3da9cfabffe0514355bd5e39c12d0380fa520ad165e69be149a8adf3fc2f15fe4030dc61d6e619964fc648a771d4a503654e77f97c30d8da5f1da8fbe79fb39af24859fc3060e0285906239735d01dc903682f16a0207bcae2d2d8770db0f0f4a2780583790eb561d5944338bc2eb853c0035036d79b5ca703e27a302f10c3010b08c76a36e775f3b8aa53d5d38a321e70e5034fc89f555826f3f706cfc024d1068a7192f270be3b78518f79d17aa9061c816c03356843cd5c77f6b8e0d9c755ae51b08a664d31860539b536b0f749bd81ff9ac60391b95c27e46c0a9e3fb899a5f5211c8d6c37d893e033afe348c6f48d40c7aa850219ffff036274feaae3cbfc7a0febb8e1834838f83208856579bb9b634fd4c310c1ebf4f903bfa60817d54cede6cd2c8fca93c3b23d78481c75068cc24950cb97f736aab8a8039453ded0cffaf9e992c8cc51973672807b9608299bddd70360e384959c35492a03fc3b924d694bf3dcd25cc2aa40e7df07e01a6baf4071ab15278e013f6f7856f403e6f5005335a6ebec4ee45355ae769a02f34a45a725fea33bc8eb50d70a2331e403e532c3794e181c7c00ca5ff20eb573f9a89fed54e3d868f40ff5548c24c1cb4403fbedb8b861ef799603a9495c1324db700e0a923a83f5cbd2f37c3616ba372a6003b3a11d64e7876488f1abd204aad1b0b46250eefe17524784e07cddb5721eee06031b53933ad0a1f6e88b678d5aea9e871fb07a23e9b6accb8fe68183fbcf98a405036dd111b6b12cde2471bb867122be79fa78a9a80fa0dc1f66a96dac680d865aa103db61ffbc67cda3211d730eb65638c8e9125e9ed1301a60648adadf3e82bc5fc3031fa7229c090ff397e2d37d36a09d30b3095ff2be8d13cff65673a7b6d3f416e603112311bac5c8d0645cf40c82b559f463787547f44b01e65065f48f1c769b1c30033b403a8db0d9ccd8e8dd3dc77cd77a4f26c0edc77c18ce95fc465c0106a3a836039171652c259f8c2a08b71687c1acedbea0bac8ed6afe78fc406c7ce5adc4339300581f02e9b27a3c7f0d9ad999531ec8373a2449b6c40875f80e6f3068f2489638a051b30218e6a4a41731a0b2a8dae6f5e43cad00581f0203d1cf8ce5d37b1589a09e70d2be9c8bbbca1a4b78820a204405f6d3fcf65820ffffffffffffffffffffffffffffffffffffd976eda62611eb8fdd190db84677035c2795471db112ebcc093b06cfa1f4dcc365ea3230c75b406046b44090a5093900581f0205cd373b8ad3ae0816846fbf57c2a2c8c16232b8dc76baca53c32be8393e4e3ff2d61fe2774166e468502971a103e6fd90b0ca2e1c734ae1cdef97d9f6cdfac70cfc47b0372a7f737b949c8cf6b600581f0225f2d4f8c05b6d2e79c955de20f364792b6a2fad5e307ca1fe2bb50532e1513874592bace47e05446c9797658397484200581f02f59195fe562bc3bf743eae29603e367d35bede0ea232c068b8ce5c0532ed5820fffffffffffffffffffffffffffffff4d48f12e856386879d7f158f6cee372b700581f02460420058ae28dd562c807515899f7c26ab8c0c7e64d3517697a6ce033954e04eb8d71a14980e38b89623fe5b200581f03125fc8840c749503130fe136bb811d613b880da4f60a50ecd1a436151190520fc2795b9d1443f54af0a16fa355be26b6aa00581f03bff8f4a7a7424d64317729ad658b117eaf1e2badd24050e1dd4695cbb9305201f0fd13f4e547306022ba530f16d28076fd00581f037bf541840eb61102916a72d5546cd4bd17b480d0b846b49b3708b63c64d051d8e1dcf374b8dda290bdbf47b19803665300581f032441e533c910988199879163762457c8dc0b6c034eb17c8bc6934ccef6205820ffffffffffffffffffffffffffffffffffffecc5008a1ff2f468f04efb58d917021901c103c382954624de8be7d527d39457c37a4473758988c3d4ef3b6daadcc04d45e97b0329bb7e12e72e2f30523cf3139273984fb6680f07dd379a5f3263451e0a266bc50219ff3f030dab8b90acb9f44737f3502098622252d9ec3d4fb48473e1e4ff68ebde570cfe031c8b273fa5c41ed5b2dba28c8d23a751dca84fded0a3338c55140c532061149e032f03a928122909539f8a833d4cba9a0b5a99304d0b323d8fc772081baf1d116a034d25eb7ab164d030f3cb805a18dadb184ef93c6fbfbc0cf02c2d04c2f4bd32f60219ffff03837ab0ecac42128ff5f6ed6291a11b153120e3afc8d1bf39a903c3876586571f036f45982422a88b02f84502ba6857b43e3935ed045c5ac855753f839ac8668e3003cf12ce3782f0e2ab03f24c8f465862c8a6d512f41b069fc3994868eac1e8aff503722fb6b65b9230ac5351ffd191b9d497faf937cc59c05b65225d9a0a62ade8e50363ce0b7c115662409240c6989f1dcb1ce7d4c61934312fab8d4f44eb0d612cbc0388be707fe31800248011801599a43e36fd6f266a62304789f0b5b9d465c677e703d793ad27bfa775815d8c6fc04ab5bbe42f2fd475d55a41a2cb36f9b234fc003703b9727723fd096f653e529caf7495def84811060732c1f760d706260ca68ed5df035dddf6f55d64d79074e4d932c2c042ae8f6e8cf0d24fce704572f37b257648bf03c12aefd2424dd72f929b29973327eed748cdea55b21ca8513c7860b55c691d74039d25125399931e034166c5573602dc1ce282ff5f36230fad5e92d0379c09e84500581f0207a4ec6c5c28665131640ffa84926e0ace27570afab248f8c15cbf229e2d5820fffffffffffffffffffffffffffffe1e75d0947fb4ae306f5147ea67b38d8ced0394ee3e003a9c41ce77dedae2bd6fc0c2083858ffa708e35254452ff5f28d6e48036b7b63f9817f31dbee9a852759a41fdc69a9cfa779f98b192e29f869910d8e9703037be26c95cd6f79514a05671b460aa51a3465a5a1c345540855ed3e43276b3100581f0214a316424a65ee1cc2cac6333a589c5b71cf1291b2c85025eb39a2c97b435820ffffffffffffffffffffffffffffffd54c4f7c8432c054b6516447d540bdfbc900581f02e4f5b8634c00c4b684f425f427f4e3105a7a435b85d690dd96c0715f6bb54d67534969d3bfb3150614cf9cde00581f0283ca3d3ef68e03615301483f3a5e619a56c87af63e1023d6216767bc27115820fffffffffffffffffffffffffffffffffffff359389c60a0d9b8dea3c0283d1600581f0258dfd7ff564a85b62fa11d867992f07ecdc8dccabed021e37861f06a43515820fffffffffffffffffffffffffffffdcd1958864d507ba10aaef5d30cdb0ce413031183a65dbc16b4382ab825641a88b929b180c6edc48ef44a55c012df51456a4700581f023be2e1951dbadd3468fb5d5c8407f62ab18103c8e7ec6a116524bd3f9a6c5820fffffffffffffffffffffffffffffce5aa83186accce08eb5985d3ae04b419ee03aaff3b175d1f92adc3ccb5287e4e32b458247c6e27829140fecc2aca04bc17f3032a56fd8149de2f94fdcfc5b65030def24546087711b0a6ebf4766956a94ef81c0320ccdf63b359569ebcfd0a59782c1881c69ecd306b23dc5668d65ebbb393f8c403edac7c8bd2777987e9be58b52bdce1551549aa51fe7f250f42f1a172f9899fa000581f0337fbe85ffccd90a955153fa2054d1f2d72999fc3a961f8ca21187f4fb9905204a8adf2ef2b2c164194aed35d087542fcf900581f034507d586979bec0bfe77864feb7a81fe1b84f1a7a44c9f02d95f6c28bf105820fffffffffffffffffffffffffffffdf042caf79f0ac44ac5ee44be8aafa0629100581e02748c526dc96145113197d472bfddfc33edc8a4959e57156030b2d1a3095820fe7fff35ffffdf7fff9fff6fb7fbfffdfef2efff7fbffff7fdffffff7fffffff00581e02cb6b5095bfed1797135c69be933c8c53931683aadb1ba383cf68ab5daf5820ffffffffffffffffffffffffffffffdfcca261af7b4896be032dfcfaf36c232002191010021906010219fffd035ccf0b2bd868d96bc2a6b657ef3be42dcc8389d8b56df4575d7ad6c1792b20f1030d3639809cd91784035d20b2102c25d10edf28343add5036f2a69975a91bfa3903098d3e114027b4347b75d7dfe6c53dd2841aaf77c978879eacea49887790ffc603d2fdaad5933770fc36586702118231b6de8d668c4d7cefb67d1ecf35bb7f815e03fc13455eb53c3cc3ec343a5030402948c93f353145ac1c72fcd18237aacf32680219ffff033bb1b29aa12b0e60cefb6adcf9092e474adb87c77901927cbbee1c8cfa525a680219ffff0332058479fcd1065a9acd41bb732e9b3167bf3a9d79497da57e27ce34e5d873e8036bb60dc690fa8f47cac624cee85f334b09fdffefc5dc08d1488f08bd92f61e4903bd2cd027651c8b4a6f542cf4e863e7c907e0f6fc0d20d9dd8427b1db6dbf12ee038485a9b0cdf344d2eefeeeb40c8d2d96d597d28b80b64970db95ef4a14ee01a503aeab43841d20d5b7632fba724c8954f4b01c974a3283a286de84904a9686d0ac03ae26e6cbf2fdbf5bf57831f6440b3613f341b2921b49e9701d10f626803c864a034cf626b0e837059010a215946af38f6822f35e8f605ff1ed6401dcd70b9f0a4403061e07aa4978dda5a8a33a5387b4d39fa7814c59197f1c5800a47f87374bc23e03e1b69c7789c9fa3819ed4119e8a99675a01ffeb8272233014af050237f0606e00307c9f87aef70c634f3836f4cafa8a7612de57247d37c25f0358c80640d191e27030ce7162f7897d156604c88bbd086ba58b64d9d13e0c420869a892f96c954b62b0346a54294d8fd94800960f6783d78298ad3bca2ac09aba828c1de46f3b45fdc2b03534d6dbf4a13f1ed0613ed1573224a1d556ca3183cc664b4c771b556c548cd7403ac0d2b9df7246999f52faf9d9f362fddfd3836912440a401d64e0174fe23721a03a98e32c4b999dc8209caa85797d1aadb4295ca4d49fade352d9549fb86bc3bc7030fd07a020f2049f316c403c807885f824a2ec7b6c47ba18cc378d06745ddd4b503ad9f970cd086902a11a52916b5638576fd45b6d8ff2735ee8c023a78476dcf02031f10b12d971b85a72a9e8a01ff7f6297d25aaf6d3eff0da85571fcad4ba919540364eeeacfd2702e2f9bbc885ed251a9fe96d1205d24da5dfc8ab6dfb74bd32c18032a6841b479280fd01707d66d069959b5f72c69f45d6b7c83846bfd8c6a36b89c03c12cb67c8164a1fbd1593521dc01a0b9a40fbcb53c2894d6e8674c04b0f98b52031d650aa4abddba92788e623188810b6fd469de18bcb0bed8f1795745dd8658c503ca2ea3f97a3fc749205a92fa29826f6b7db9457814b32295e87d4004d683bc8400581e022cf276279bd58519615a671cc394db967c3b95d5be945bad719517f4694e1e960edd3254a49a0cc0fea9b0f000581e027ad7b125ba5a5e1c96b00ad6914f90a503b1ac3d85a9dadbb4c639df925820010000000000000001eca4ee6ea3827122ad6a73be00121bbf9d72ef6687c77300581e0257cb33165e142a9a855ab6bcb1b8ff2bee1f121e7763782e2309301b165820016680cc0f0000000000000001ec94832e6f1f882851cff124001206ce9097770219304000581f0353ad67d36d0c7775469cef7e048fd9d962b38e34fd06fb471a87ba0885904e0643649ad9ec64e45e9884af9caf0219140000581f025bd42536cdbe790a6764b5b609d49db9e0e5e6777d17ca406390b15f885458200161d583aa0000000000000001e788320e3c8e7ab24078e7210003c292a7783500581f024445535b7eb5a7e4ddffad7e1b5a9b8792df6a017ad90de2f7265f0a29255820ffffffffffffffffffffffffffffff8a724430537c3d3972b5111200cb012c4e030dbdabaf45996bad8762520b2edf737a59733b033cb475c2cf1c635c0a87e97b03681995363782f0107019fb68a01638aae465157739ca3c6c47290603cb60fde500581f02a3760663a43ff9a2131c67c444e77eecd1832b9a0183c49016b62a466388510a1b2c681ed5086e0cd91669bd549f774900581f02c9fe819142669aa81948bd35901b20b784c58bacd44f6b7b6c9790b69ce351057db7108383c8dff0d634c8a6ada65a6000581f02a100cef9cc3432150b11e826dd07d5354ae96097cf0eb8833dcad32ae2b24e21b77b580d6924f6cc47c7122c2400581f0273d9688eec1963e97e23bb9acc03c4f8c9f96864af993196ceb8af624bc54e2d087e6763c3d4d58fb9318f302a00581f025fe9c1ed0902a601129c16f66e79f23d65673723e145d0c63171b3e8f29e51722e3abc3e3c7d7082c1c134264f6cb30902198fb70219ffff033d487d7f50f70e18e36cb27fcebc8ee7ebf652d9cd14dfcc46f34723e97d00ac039befa6a2f4b772e47ffe80b8d6b9fae3497d99a8e939d7490705fc77172d06e40328790265fee5bdbb10335b8e4370e1745c9c5a7b0182dc3ee515c45e1651f5c103a7d173a2e0843e805316b7f904778eee9d9fc7fed4897d345b4169f8e9ee9ec80381918e9d360608904a5dfbfae1b7d5652bb8ba2bc83c03ef16c9437baf7fa6aa03b24e3582dbd69ca7ad762e454d813d2ed56ea0c13bd335599403c04d46643d5a03fa16e2e38445a18deb54c2de9be38b734dc6640fd010c2bce7198b5c2a024cf20351c692d5ee8aae7ac76f1c5f72087e27f8196cd59aced85555f41ff76eb8a34a03b7dbb83820c2867f2e83df0bf6e2ebbb5ec5d4b2bfdecd0523e121b21e4ccdcf00581f02fbc268e9271c20491145f11f01b67394883dd07b1311ee6a6de5404c8c6b4e09846f7cadb6f8f482f4d8ecb29700581f02d2749c208fc791b80da358f28f46a3b578384cfc15698c03f229e23968ce5820ffffffffffffffffffffffffffffffffffffcba8b941e7f3bd97a847214915e300581f0220ea96c488e77748384f0a912786809df60c51c95be6e06becff223b09a3510c63be6c7cc764c43815832b91a5b9934e00581f02047f73cf0f6d881b0f9052fd0981d7dda229dcd15fbcbe1420fa9afebdb54d45407767c53a28c4021d67b0ff03c55e379be1cde37573864ad8a64bffb08e11c2476344a3a2a14614cf6886fe9300581f037f4645affcb917181d1adce21f229932d7f172c786078d91a44e90cbf5c05820016687ce0f0000000000000001eca508dcf714dbbfb5f9d10c00121bd36f1a9b00581f0390af79f8e10bc8514859e427185069fddec17c66b696162daa9bb5c170c0512af516c9fdf61fd94a4dd4e90b2b914d0900581f034704ae387805819b64ebcab7a39288f311a280aaf76183170178c80ec9005820ffffffffffffffffffffffffffffffb826b0bf756409481b22bd449185180b4f0219142400581f02e4cf5b41ffff80139a2af3ef3505b50e31871f2f81cf912ce83ca702e00e4e031e23129e2c668eee0733e7d39d00581f028620079fdf17bdc3c1ce7d98ea002e3de23ab36fd70648a7f16ff0184ee04e04aaa3abd729d6ce585767edd0d403677a6e07ef105ee6842ac25549e91a26f5624e55f842fd919658b9fc2cfef14203248f0491b76636c1959ed6b2d75ba0de457d62118d8df85c686bf2ac47b88cfc0219e5d5034b8acff50167dc37010eb356fee378c98a051510706c92ad731443dcd42ad42e03fd09c219a330a4be1668f7f8b957ae146fc32c077f97c124545b59adc9c8354b03e5bcfaff0864af57b20982f759fb23b959cd4d39cc1cab144c54def1cc7ca428030ffc42a5beb04b10e58ea73836f12957cc5e4a22455e680da42f04729b2f7740030fba9831ec00e0351ae09d6ce04b7932f631a13ca3ae93814f8ab55efda9234d03e5e1a89c370bc0598d1698420b9e3fc0ca246a2c485a32c7e3622c5107d7079103b02bc78914ea9659d2330e3afdcd11a3e3880f53569ef14b36717c9db547fa97037eb8d8adfd7667d3e567cc76695a652fc6c11b23b1b011a67701ed480617aa840311ac7e2e2477654186dd8f17ec989c34976aff9451b79b25ab1d6081ec9193010219ffff03cedcb202fd43dc9e354def0740a5fafe8f93c72e0df6ca3aafa5a2df9e1dacbf0310781386a65c8933e04e8f30071a280871005daca760deed437150049073204903288ffcaa399e09dd570fe5400d55ebf20c37889c22fca41fcf22d82043b7284f03a1782b4f81b7a13c70101977e57278bac7130c72d985f75b17c57d0c1d50a50603ccbf801f6f112d5ffbf043f4cc3e31931e86bb28205f1cc7a1990deb37b1966c03d7a9d41349aa35a4086bc8c7215a3e8ec177045c7caefcdce5b76ba0f74e27dd0219ffff032c2f2c88b78971cacdb286a9849d8dce669b0f87a605473073b7fb99e89bf8030339c7b76f6973a9fcabbe74d51ad4daa7183ca137c51f6fb31b2cf8a52ff7093c00581f02793934b943f755112caa96686980b1b7337280b94ea845017e7f87c22df651035a7fda787c083959f00d8d7e409ebdca03385a674feea1c4ea83085c30e3fb893a6ac2e66dfcb4cf956845201209d4753000581f0269434dbf0ea894eb6acec7c1074c347fe29250ec4c79a70c425721c43b594e25556937a72285bdddac770b9b0100581f02c8f6eb03b481be333f71428d9cf4004530417ce14258b4c6e8dbe640d8bf4e0d9f7a5752c42facfed022170a8c039718cec583b8d850404da228b4ff82fc0123b22b84958b7f49525e1c95c11a6103aee7a71a81afe0bb36d758060c9700f7b18b28f563f104f3aa964d31841c55fe00581f0274db522868fe88399bc0ed269c760feb5b366b4ac78327d04a1f9d73debe4e2aaa7c407ec6105b8a0a67cbee230324581c9e98379ff626b4af4d704566686b53892d56f723bae06dbce11b9dd23500581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604e934b8461f295405bca39828f832c00581f03764f3cfcfb28d82879fc2defdf54ba5690a340a31265f2f71981be4128f051255f75f62e721bd80569b9fe11c347a3f50219040400581f025139c16086ef4d952c094dd5dd000a98da680e0ed19bf0ede11d7b9aa49b5204d235bff6faa9a0d8ac3250876ad6c770420219dabb03257d92b633a7a87e24f9f3f8787bd3f23bb6564093806d0326a1c2f3c93a265e039db2823d689400a5ba819d7f932539df95f22e9a900acd7d4c4fb9bfbe3fda0503c24042b514566b0b561ae58410a04d5768ac999ba61a090f64f31d8b9d308e2803c91cb711ebfda70e31972bde7fd85c06977e65e6fb471c97f613bf7181e3190903402d1f1fef7553c79f3974f23c73051bbc071e9856c246b2e17ed6292c0e484203f12d7916b256738a6d160bc371cafbb38f18f28f036b2280e1007ca20f890148035f4755e2408b9fc216358271820c3cb43744c03243aa34b4151f229a6bd633c1034bf30e96bf389eac5b8f5ff136ec5d63fb8ea00e63b272de492b90e5803a328803573ddaef9ec2353c57706ec9c3bd92c5bfc71779b8f9e0b61d243fa8c2a3d04e03dcce8b74b679e67a8e836998ffc03fe1237ace9548fe3fe3912b1e26b6b5839a035c6a51741eb0eeddf765af8c454469500c641727b91ce5672c5e0d4ace4265b303628e402cb70bc1c1b8b4017036979cb7b5541978336a2f5ba1c305df0296563903d84f76124bde619e8bd743263620204f21470bb6001ba8e4d4e4f2f821b67ad2031b292baf11011502eb7834d12f5548198f3cff8147179e03bebbe69880ca9e52033fed263998e8c111842778be992215816087351ba1950b72f40b703e611700890219ffff0379a24e24d876d77c42043a06abb75306e715aea07e191de81893f84279429ed603a479ec097ea83a679b829cce3d7f864d2aec50f98b71baf41331d3b19acfdf18036747d0836941aa7a2e35d3ad97a1d5dd2e2310a2071aa2d01eeaef7e58c62ebb036a4ab99f62ad8bda5777f71284ed4de4101fba5aa1c490397d18516af53a7d5f0385bbeaf8a381b76bf01334ba36e040d91bc005e2e48a6ca9cb9f50cab58d095303573fb855e1dc07b7c1a5e3c8c35d4f42c6a8446568bc7f4c7f7639f0b618d6f1034f21e6d62347ca1b0e632696e4fc1e1de25e16b46bc575519ddc3c1546c2b59103783ecc96a85cd5b54baa0d0bf36469b5a0e62375505a2c72d8e00b8c52a757fc0324edb051f95150b6d53c47fa2399526b2cfb51cbaf826e19de19b4ac0e1300d703d338590944c3ce3d0723e50d9aab8986ce92b77f1d0fd5a9555ac4ef9fb0a71103339770f18bb01511b4a6346875e22433504a9a2a004028629b747f8b16c8751f0317e90458f6bb56433580642bb97ef5e1534d4ad99fae645e399d820e021344fc030275dd6f6fbc8cc1704f66ae6b50cad5344d3ff3ff18e12e263a6aec07f3c8c403d5cf352ad323dab892004809b49c46e5aa6c20ffbb66f2039e1dcbcb2f4c45c00219ffff03a2325251eefb7a2fb025ab6d60cbb7d68d5228318824f04f9c4c1535938edc2f03698996663d86615e74721b0d87aa171ad3043af840327a404d60c6b12d71b81e0370872061482ffc19c20086e65598a959d2ea50c788023ab56b90f1d65b01f5a6032af576f5826ac0c77dd8a64e62ffbf6f68dc633d96fef504546a497336ca8bc0031bc08e378bda7042957b960f3b566624d706307fb126496005b541ec9c617ee203954baf8f75c0f03348c58ea8ee3ce47cad824dde0674e3132e53158240432eff032c9467bdbe5b68967b6566eeb424cc641e658f13a2449726f6c28798c3f41b9203ff4fabb9de8440b66313215c7109d8f145b8b7f956800c7196b4df1d0ad46c1c03870d98cf2c1bb417eb52726e9ad5f1cbe1a9075d175e16c3b80170ec70d641770353e68083a8acd535dac32de753a83273547ad43fd3923bfeb2ff2df8af22421e03503e9eac1a78eae8ab634e1ddadd753f496c68b1fbe23d6c86ca60c943260407032ef6f7e8d124f6f3adaa565082af6e4197584d6410070ec82e6f320361ec1cc4031844e98b7dcc609f7ecd5e5ab95b2e1d392aa98d65e4a5bc7be29b4eb56d47e103f60b6a7f0b36354527219887f9e3e60c75e1dd85f95dc57b93e99a57fee78d7f036b8a88b0552335c4fd3942a6203d5cd9e84d2fcc7f57afab3183894696578fa603a3686e0a8f4f4ca4ca0b2bc2730f0fcaba5e7d8b63e2f482c58623c43b8567a101410d03fbf333df3468679c465fe83be7ca1f7660e524aa3388159244f8985bec9ce1ed00581f0266e3bf4cdc6ec12ef59196abeeb283e05fc66ca881bffe096bda77e82ac95203acf77be74bc183bdb865b497a1106210fa00581f02a78617476e92045cc62c178f4f6328f6444bcd6ec4a9226fc15dfa3d1acc4e07f2173938993162766b4f0d733d038971d926bfd7ab9b91db4d1a873bc0ad9fa2140a19422380d2b7331588bd29f4034f77ffe7fe335ed3bf0d2d885b94b69c34ffdebeebac2623f00a8173d5864b8d00581f0340c7653f7d12dbf892bed1c39b5d15f4fdc6ee9f41a4a06e231647bda3604e92766968738fd8a1072f648f899f00581f03c9588a1b688f8d4cc5a0544d941fbc63d3c7ff82bcc5c27b523401d1fc60520269aff535e201c9fe15f62693ae47d6af6900581f03e81e43f87695de98b2f9579bb2b28589e5b9b34795e2c4c27b68125cb5404e0ee5bd5caecbe9f2933dc23757660219428003be3db9f24028f523896231319e8be981c6bc9ebac5058083be832d405c9f62e00338e109c624ac7d812a7046c66952bece02464df813248ba3f064b057f2099ef90318d6985c4a34eb8965122c29140de1d5a181d2bbe2f01b22828f89b8a6ac96570347cc964c7ffb46846a604d84ea4c3aceea14334d8ccb0c41e9dbf3400f3c4691037dcd9dae430e74e4a6a1af338591f5b5ad51e74e93b64ce63dc6d23eaea036530219d77f03914aeab4c63c65f87c0531960e133a3f4ca008f53c3223469ee29ea535d4969e034309f528866bd2c964e89150e5447af42694fe458824a3e4971eea8ca5874cc803840d5236abab1bc067f89952927b23c4baa2c80778bdb25c39c1c595ef60fff003ca0c0f59eaeb4350c77b2c5a44a48cf77b519d1e1eacbc59072e336359765cb703addd7bd062b7244af1d1f8baa3cacee379eae9f89d86a6f78732fc6dfbd278ac0219ffff036bb721ccd3cea4d1297e6059497a788bde74f4357f582948b3ddeb415b29a3a803541b5a93e4e8ff3ea387d7eae2957421fa4693c1c96aec596dcf1bb74b334c6803ebcffec9d5a577eafd08a734bdd4da9eab11e53a210121f114a223647af3ccfc03364cb22409bc45923c781135f65380cefaac6e3b338c908c13c23f6b40eb28920324076998a191183e9401ceb8e65d713af7820064f67096ad426d5881f02d999603659edfca63ef92debfbe7bbbabe316ff78d565a33a38612ca1d8a4ff7dc1bf7a0378bb23b016a96ade7b7061c79a1b332b5f98868969eca88288007bef2e8e26c10319006be8a3a31ee403ee4bb61adb1454ef53baa6b038e4b04ed8ff4c025bf0f203c4453d32c6d8805b237b39a3d73c22121847d5b564811d6058355b4b505a8690031e2a46c4a2cf2522dca351f0e46dbc9550334e0c53705fed95224efaecb001e203ccd7b421ae45fd9f9b927a279d3715a11cfe5871f2aca5fe25b5629993f90b040324b89fb70d56895d241e57df445f0894baf9231aab3e888fda863025cdae96370219ffff03134cc1b288430a3a1df03b74b446a7c24d502a16cfad5aee081d175accc38e150371cb1aac4b27b00d3d98540c98786f35b212788d840e5569c68c0e034a248b7c03b7d72d2bd27ad4b7c0a9bf53d8446a39297de131239629fc2c4d3bb4d21b214e030fd207ed8d61fc6219c911d021fe403e4bd34d4c0bebf5d48e377cc0c520f5f10371c664ea148a987870dac25d1d571053d3feb1631f4b58334e42af2e1b3c6a7903e679b6989d541ec2dcd557e7629277b4f407ed77fc1af68ab91fc7323ba3b07903371143577bddbbd817af7a528d18c65f1fe3ab9fb81d979486150846f50fd63e0399bfe57742bab50806c10e92cbedeeb8ad6c7b685aa4de3b05fb5ec72d59a9cc03f1ad40c692379066ca61cc30fe344e4067b6d09e5662ab57c9780b23c7d675e50317eccab09d396af2cb803fac74499a096f2eaf7dc73cfa1957b6e15b183b5d1003e9978dd7fc23601d0e766a2d1f2f8273ab9a0cac62f9cc522b85e8ee779aa29c03cb77104dd7d11cdc8a3541e8f219e761ce096b001f42d5d61c67e4caabdd56f203a152b672a8cf040fe871d91b52b2cdf48902ad2288f4943628dda8e96f7f6bc2036a20d1ce0a6f63f4ca892238e8d9e3ce166b47142f5ef63433e86e43128db10d03fbcad2c0fcd5c46bc60a8521bb6bd24d7a1070ef6f4509027d391685d711205a00581f02e8844e6d9a52ee11d0db0aae4419c6b57176dabb56da7c5856519c4953b14e034a678005feddb7ba93ba1ac81000581f03b23d98464f1307e5704fd53732f6451434fb501a4f7f13452cbb7c832c304e101d3743113efbf56c8dd80fac4e00581f03fb1ed0610b3a1d5fc2eeed95ce6f1aae7ecf0550b756c6ef643cb5089ca04e150090ca7ff8340e7d18839209c600581f0371b909071622341718a769bbfa9161bfd1b73dbdfa9a2827a557fe66e5205820fffffffffffffffffffe0275e385ccd000000000000000000001fd8a1c7a3330021920480350bdf4ba759ab416706a88bfcee22a32e85dfa7133f010c9e868cb10e987e05e0372bcc78e4e35284224f25eba823378c0ce8640872340f3e373267120a01df1ed03e561bbc04ee5220b7313d8addebeb35c37b5e257711b06f51b299b641b279e64034dac2bf45181309b3146f8ec6fda97aab931d28123b6a0f8ba8f8111437e5ae90337ff77d219393b3862ad6b8bc1097c429d85a073f7063d937336dec6a45ca41903b099ae81ad307a3bb80ff719b0629210955100a300b8ef709764ddfa2b0132bc033a411c6f05891c0bde3be0e3a507e68b45de885dc52dc8c248d3fe5a6363839d00581f02855d6b2a72b33983d4f7a6e6a3c1357bbc7a80dfdd4f5302f3f9201cf7424d410f173506689fe810b46f756f0219eaeb03e9a3dfe0fc0cf66903cc48db493310e47503d88a8849020a02af7b21e1357010037208ece07fd4bc11ff2e8332171f37c0497b6f799cd894d63bd37d49c6edc7c90398862a7cd2c7db2263f657b6f21f5eaa304ce51af8869d7e78afa0192ae0882403bac5f47a2638272dd39581f1380dacca43667d09054db6db868b7b68b5c857a4037d91d6f636bd448cc229caccaccf4cbd3037a20404e582cea5bec5ee47459ff0030ba18b85d064a53b2b1befe143f3b4769c164d8d32f619cfc367c5887e519ac303e744d7893ee50000777710e9893a56d04a18f8558419c508b67c33d865bbb47b039f55c0429ef9f112edd0061b8c51959b55b8f49205bd8f8451643f2cbbd7df4203c535c754d9dd2f58aa87c96619f82dd9c0150d3cf5eca81d5b36a4853014cbb2039ccb788593c9511580886416f2bf4cc9d640d29dd8287d74b4143d2c6b43ced503827daa1c585ebd81ba5cad14ba0430e6035b564c268ac2e254a0a6fa56198a1d030215ad3d10d12b3cf68c7f28d5ca71909e1486a483c6a57aa69d467e58f9937a0219ffff0336317df5c722c4ecf7f8763c2dd63ed3a977b7663808d40397747164c74b30f203687d43107951f080b420d0f657ced2bd84c151af0150f4d02ed764b6cc1d9f5903fa8ecb49faa85c26516caca91934d866bb0f3927f8809e1918b82f7554c85523039051aa4eff0e36faa85dc736040a5d2dccad0da2e9ece7325d69e83cbcc6eecf03310fb31662dc158b4117efd4ea08eca95c7cc700900f3ad08ee041fa9c8a35a303cb4d8c6fc842d3afc179234bf518db1b65ae04fa367dbcbf1e7290085d3e2de000581f02830d17d19a1674a51454f8367d930fb7ecb302b59d2c4de15ca7aa496c6651420ebfc63876e6a6534ed3756884f3025f0319e44f45ad5021b13a0601e99fb90938a0b97d7d080967b7d16dd524cc94ea2500581f02a842fee099c8d51667e3a586247f117f5b61c469e7957f49179b0fc511e84e046b44ae66a322f81896962954c400581f02e7738800be9b1e6bdd27538e963d602ba0a0e429b6baf8cc89a8702d2edc5820ffffffffffffffffffffffffffffffffffffa619f8cb1bc60eb1bf9f8776287d00581f0261c08f3ee822afdd96c6d132c4edee31c0d05ccd43bd3d93fe92446e73a55820fffffffffffffffffffffffffffffffffffffee4d41d4f9b9d5aa0c4c0988e11030cce74fee72e5901ce2284a88f7f71e5c97ba4ee90a2e057387bd6124f19feda03327d1dd0329fbdb9d777daa961f8617570348baff3001a52ab31471d91515d3d00581f03cc24af954f966e120651a31416b7567e5fb843cd16cd788c8d8869a30f00520fb17433cf1a4ac3a0a2c5c1c4f90870e0010219800403463f12c4b01325fd917905a3b39d059caf12b239504dfa0a28fc61e36134908103fc1e01aff8b4673b8cbb216a858b213cf979621ffa9861973982d9ae8e75dd7703c9e5bf80091e45600fde1c3b615b621221f308e141fd14513ea721200d211fc100581f022116f52a0ef8510ffea63aeb24e9dc6542147e43e3e9c1f29487332f726052025a8661ff41b1ee36655ab54a2a7058d311031ea69f953775b2ddfe6f1a99fc10596aa695ce7540af29484da35dbfe528ce770219febc036816181fca227c0617e4a09809d0a3a56b746f2f27b9c3a4e47245af52e2319f0365d59ac79b1602bce00d699a97fb7780a10bdf8fd6ae3a3b6f854166138fbc89033a42ef0387b159aa638e8e7ee175a1670d2842e6b506454bb07785bd64d7eb730378de61b9d29d0c8f4511947edba5939a2f09a8430d20210b687e3fa8a8ef413403020957fa714d5213d67ea967770677f455fff77390fd7f5f8297397f6939e55303ce8aff5ee920818e77d3b9736a6129fcde1ff46e8db49273b7702a3e6434d3f10359e393a6575d760210f8ddab55fd1b5775bd9737e2b237f78c313a969c34df9a0338527c68cd073df1345ce58dd6b928351182ad498e8f805e3f5b4e236cb6ff940312848e744e95e7e462118e501422a52b46bc32f64a7ef2082d1ae5a50e854b980219ffff03ab1712a67e885d3a1ea796fdc9b31fbc00b84dab50b17ea88566e6e853659d6803ef1347d09080569f5cc151f0e8e1dc42377fadd746abe7532a3008478890086303d576d1d506e8f63f210b7adfeddbc0c7d5ee256e2fecb15e7421c0e558fb372c0219ffff03ecf541297a0e92ce89d9d39c801843fd921eb4b3f77619ef6d87b39b67e124730219ffff05581e033e8ac06c4bfdb2157482e7a0a264c20bfd39bd733cb3bf258faf72c4b0070119567e05581e035cc3326b15d4214027feba1d57c66e93819dfb9230fb9164794fa0d730040703b118731ad716c6e8af4d155f5c808fb6dc606d84914e7538713b1fc0f91df89805581e03f8426f382a41d09c9d0763379a4a28c2fdbbf448ec3b2323e29e14c5400404033d060472145459f111fdcd47ad128a07a8a4be7d018e0c07f2ef0e1a4c2e89620365f2b060d60d8738e0ee34086ad609cdcb0b23e62c3a0c3d79a9b1ea4b1f4403031f667e6a796099f0d6530a3cdc55500b1f711c4910315aadd09fe9bf32d3d69e05581e031b791e75585ef506d27454c49c394e3f3315e93e149a124a53714d486007011bffffffffffffffff05581e039313397e5cec9598415ccd0f40eab2419de3d1f535ddb7b6610157d0c00c034701cd36bf697c0005581e033ab6fcfe51a9a320ba7905f5943c4c6588b5357d4b7f421ae4cd1e04d00c014501e7561a3802199e0f03964704a77d5cb79c17e67dddabeb1f5650211c6a52002d3248abe0b73c5d8994031a9180fec21ed5407dd8688c125a2e26a625e550951385685a27e8dfaf814cef034fc0e9e4ef7889032abcdb8cef245fc4dd6234584cb3bc826a2b32fe50dc955903bd305e6086dd02836127648c3f7e9e46c865678a8271a3bb4e06a52ca3b2c54403302a6e3a7639e2f376d95ca137d3fb17e43a2a36d653b0684daaf628714212eb039812387d74432f7da8db11eec11f02706876ea24d22fb82d7a439a9351365b0403009d642f86d510fdb885a295d049e1fbdd3cd7f07a3a3d69d90652c8e26e935503ec205affeef476cffb983a9f99f000fdb042ea6912abffdfb87c4ccc46a95ec103d34a847509e2932e76d90760e9dfc07defe5a093c42c584d322ff311742a41d1033b26a3856346b87c311124c11b177463c1e6590a168962f5439b2c1b343850e9030aa4908aaf795d8a4e75d59dd391657625191cafd87347f2e8addcb53c070f5503121e0517b36d4de39c2b540147815c86fd8cb506ca545e0fa5d3c638ac2bcc22030e132e05f9139c6690b4e6988e2c127968298d42a69fdffd6843669ffaad09cb0219ffff03ad4b250055eff0b1df55789f059319599394f285ee7fa95f7060c0f9033ee6bb0344c1f6f8734137e95a29bb2238a51d69169c648b1f8dc870ea23b73acdfef45403416cc78aa0de5f2518b71d0efd37506a1e5abbff7417b45585cf62bd26d148a6036d5143c46936c6ccd4267f8cf9d8d905a498bcca2eea6890f86ab0fa9cc8e091037d078ebdd5253d0927ca8ffd8e730cf02e0d96093729fff1c7e0740e26a1b23c038ed641b714dd5eaa6b81d749ed5f8b467f4d86556d91ef242bbbd602745a11280359ec2f6706021924664cfe1e4cfe4bd09d55cc676ef5dfba701b57a785e964f70219ffff03fa899ecfb924ffe700417d9dd6f1ad47e9a7a06fe8ea3fc0ed53963862396aa7033684ae5e5d369d234f3a262f3f13db7ebe4c59c8a331c91529632cc179ca279e0303853d34930903e0fd226b002cac0175383d856c2f7673a0a04ca6e2ca460ca5039ff779db3a7fab15db9b6c654178658f1aed9ed82827a59d7f5e812e6dc463ce030962d3dda6fd33d4cad719aa44175f770b10bc1d4ec407b1cfe3b5854db1fbc80334049b97a1b9dd0448d08bc722200ad42b1ad97507fb1eea7253b45ffce5093703483871d79262d33e67416a912c3245f3771f1d2512042e9c277cd91b64393dc3037099985662b0026db76cac400e861a54ca7b3f88dcc45d9736dda87e81ec427303cb569575ce2a507e420c9f35396786d67535c8494d25c7cd88011c1d34f3ec0103d9c2ae25e1d45d9c5ab95b6282b708ece3712775cdc366c68797d74e1e7619ac0219ffff033ac44d4352f4d2fd7e00b6595b34a208de6bd8fff8a126e2a851c9e70dd0cb8403b102ad17e5d419abc4045d3b500fed29ddd7b76e23ec4e315ae8ce0eebc4c46403afe04872711b677453d24deb80fab2e574ea4fd9288763d3dceb6252816e04e403e3a0d5f963ad441b64d8eca42808f47f8491539621ba76c9a42776302d91857b03cd122602488a4cb7047d930a299cb50ec4f5f89e77963daca4d9236a592286a703db6b30b7cb052f7de58a63ec0ee242996a79154b9353e98a81ab7a90bd044da5034166300cf60a94edb263adb634a5a01277c7bc415bb5af529918962d0a743ce603ed423fdc93aeb03b7d8b5fde998a018c6ef7720e693f554105319fa492a92a9f0358b5bd91fa18127b2e693d42db46f195c8febce7d80b61bbeaa4dbb8f9026c6d03deb603d2fc9a52e479199b9a1349e69715cc4fed2abf5b77262bd68703d6b7d803533d3d2b603e2390940f69c8cda7c4baea57c093ca5d3ed707141d19417adb4c035b6b0e8e7ed08e5f9361b32a7ae692590e9646b11875c850c579c380dd2d40630344c36c25b4146b757e64b14f53af66807a104931833dbb3b7e5eb9028a6ed07303ac3dc6d08a09dc79fd84463d9f0392b91345b56392db9e8083a803251145fd2d0306ea3158d7b8579ef15a76715dd3762a1e5dd80711ec7678434102e6b8decefa03c76f260353575953229ef20769253f004a23176b0c437adb8d583db45f82deea03226b3ad9a03a758a2b8df2e39f4165e37a5d747f3001d8817ed380af8cdfba3203bf8c468326c320032f9aab68741717dd9d20624f100d34a522cbbaae1c406afd03322c611061ee84df82b4af73b6af52b0b1cd2fd2e6538b4a0d3d1c3c197310360345b08e00db4edf612267da50560172b4404d00a7ea97cfcaa36e8f9781085ddd0387764b5f5c71e7434f7fd7568327bfd28d72d1b0d8aa25f675cf49d7f7fbb1f30331bf913042b0c98b13db0a983900d8bb3b0cf981541954dcbb2840b975fd4ece03cb9d539479ee025142ebd9ebde7cbd7dd32e5ccfeee2ecfb2e23840fed70b4bc03d330cc7db542e733c6010595d92406e350872003bfbac8ae75b54a4f6424143b0335dd651634e901b40cef7869d0c33f03a3f408f8d7c1dd51fe63bc0f3e751e9803a741d1fd0863e9fda8c61e2467c9bf71553c86fd0a5004589f89a2d09cea44f60300826e79bf0931bf83c264a97347ba226b9292ed464d2044768c500b8cc8f5da03233efad5d4ec0c3f86244bc8cd4c80f44e85aedec71b62b75563f05b29533b4a038b6d0307aa4710cd59b3ecfa2d3ddcd139be215a3ce8e272124bbfb458f0a729038dee1aeeb3fb66fc33d4bb64cf0485eff79e196d4baaf0b8e5d04469ee7571100385aada78444d5d049773fafad27663aa59cb444f1fcf903b05890f96ee8ddeea03241fb2b57a1d5eea22bc4c2dd2b6558d81868cc1484e02523969798d4e9397b40394641403a93e1b97ca5f6a6af7fe114af51c0bce7c860b2de75fec3c966066d703e7060058ff55118de60a0c457f49c286c154bdc15f34e7b88299c12fb20494490379586c717a834e00bbf49242178874b161afd54ac63fed2ecc27a75f0263094d05581e030a93913867ae97ce19217f644b5dc48784a1d928908e9fc36e3ffb6dc007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03565da68175c0db185d6fd0f8429ae66c2bc657d3c08c6e30121d131fc007011bffffffffffffffff05581e0327c7c0558847a0494b5dda16fa75fe73db9af8b4ef2a1c41a2051c73f00c06476c631c240fcc0005581e034274fb06bcbce1d8faf639264c774fa94a7127237453658bf8d4aa9480040103f0bfddd378a6cf1976ec528e31fac1621623276fdab25eaee9308d5e69265a1502187903d505ac8df55284bcd5a11cdd4b70756616c0b67d34c728c4e7ddb3c35831b88a03bf31e0de8f8337a160c1be81bab3e1d1d42a26e1b1082c04dbe452f5c2549efb039c4c22ab5c3a77c927e153e7ee5801a435517b113ade988b05aaa7848be1c03203086a66e311649a64dd26c56019c1675c7691cd074c7da380e6d0cb44229e37750324e4362f91a1b6af0f8eeb066b47d890d667fd0e7f821260f54f7bb011188387038fdd04779720672c2ee657e18c3c34b4dace2d95b5a939248fb6c980ec6d0eee038ea8003daf3c00d61d933c76371885f2cb4e3e43a99b44a34a17d3c56040fce203bcae1267c8d0a54c6fbd6d82e3b46003c8b286737a7f892c7a8fedd1c6d2c6b203494a1c6064203430da69cb72ff1165be4a74a048d7f598d9a9b43d42aad06a11033e7deed1abb9e5829e77029ed1e15b991a99d81fc8095cdbafa45b3fe96b30660219ffff03b9b2ba0a4e04b909ef4e603ef5759b8253f87403afe401954c8d2cabb33d2d5403d9e6878e2b3dd0c70ef9966c5182821c62d8a10250eb0b44817e741d6d8d3f1903cabfddeca3cc558386cf8586ebd84e929bdd4e54fecc02987b4c6a24e2d11ecd03f42827cfd460d8c86f416ff4f629dc4c25af3b89a6d764ffb425bae1a262ebb70303eec3cbf31046a2a8de0593597261a5385a5c5fba2b9cee14dd05c795ec5cc603753def0235b4d03a738e9773776fd284b624e408e9094c4cd5f03033d4f016400219ffff0376c5bc62c3ab5a9796fdb21b6aecfc06e6a82ce700bb4399dec8b15c9dccf63d0333fee01a9e340c6b13fef0a7d95cfe7038c273041e8314a5a86d3f534943c6360219ffff03cc511fc014c63c241b6db27128030c51c5e3b84eb918eef9d9891d473c6b43b20368886c3efc410c47e891f468fc647a53f5e2e3cd609e13fcd3f3b17bd37a640403fda21190692ded0fed7264878a230d9fc4c5c183ea2f7d91b1733731eef61a3903b4cc8499b7b1d3c190608d7b143947b1d791a16283137538d14904164c9b644d032407299fdda0e1adf857ce30b5e5353032a368591ee40e5491608f1f4b3c8048032e24d053bdbf559f957e4c114485350984eeb77c9878eb4b8e60cf3fe536df0e03862fda8d13be0544ddcb6abb5dedd747905f1e3b0b1cab8ea3ce72eef940b08a03b3436081f183fdcae7d01f01f03c8413fee24711d2c555cfdc0ccc034a6e391903ed7450bcee1cf58d3e1d1b8250bf92947615f4756686c59f4e8eb7d5dd3c5e4503631b24c45b199a2279cd2b96c900604fe30727460ce926defd7401a580edaffd03b67a2f449f394220c184116d1cf2bf4425f02fa2a730c55a482d63a25e2ceccb03734c7eecced7233ae6f94b8a4546ce665778e3df5f5940464d1fccaac246020e039b69285726318a6266326e8316c90ea33f2f5d822dc2d9f02d85127ddce6320503c185829969a7c6e8bf92ff72bc257cffed653fb98cad3f1cb47f5bc1583787060384a4c266e480252e055eaa3aa590b6809edb42be8fad71eecf49b3f1f46555ec031244391a9cb255d6fee5a4a873418e74bad8699d595aa107188cc943663602ff037f03a91a4fdca529d677cbb7e490d43ade8924772056e2825aed22f9ffc7bf30038b621de87955f746a6e634f376d1cb67d5d19383c2f78d375a308f3f7c0a3e0d034fc907d92cc3755c029d9bd24d911759109082c7eaf32c36f1bc4f60d409b88903bb450103f3ded59f251dcb0c6124ad8dc422a736852951f875646839ad02f2c30364539a1c42a39339ce07fd74246942b19e877fc8bd543c704efb9fa926a9f026038ad61493f78d28ce33ba17b5f0092dcbb7507b2eceb5df62979d78b3223935d203e161aa9d36ee9dcda0c80ac1520eeeb3da0984b6cb0355c4ffeae38818d4d4b4039d09c4a616aad8cb53d927ee163eae7ed6dd239fe7d973078a7d61db9521fd49034c9f591ec4b914291e9b069561f913fb82d9b945e9baafe30cd74892df0bcb6e03d5239d876df9d13cc5f79814be43cc6066ee49c55eae4b4e159d845d5b26805303ffe6f0374837dd38e393df199be3b59424899950f46e1dc86b6fe728ffab78ec0316961d36dc3691aec7378cf9f1183cd3e68bb0977ca67525373d27508c5089b2032f4fdf9ea188ffd204294c68d34d596355bbdd132a4248f734985e76b9f0e5470375a3c021b422bd683fe845ff4b38312b11ee8ddfe4a14e913a3b5dad894f38ae03219b0bb444743950bd79b2e3bcd02fa76f2643e48e7ad0bf73459b909aabcf5005581e033d56bcca3248db0466f830daf8dab183bdb2c3c38a49abd8a1a9d4eb200c0246b81d15d1af3503088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e0330f93db40c2055c6dc50de927eb2d2835c4395f3e6cda0f3ed1e35d39007011bffffffffffffffff03fd1fd16c7d883be9e3bb363772d386aa73dd5517b91dfa7f1207216470daf0fc05581e03664a78b6b7bd13e027d3ad1f18d9376f846f99277474fd9467ff28a7a00c1877470abf6027b88c7a05581e03b22242a22dc6638f4858c0dad7849aa6ae375f88a0c74a98d1b14caab0084773776fae3280d005581d026c85a79e75aad26bcc77edc98e0f87470fb0c81058e8cf09f2dbad720c024705986a9a5524f405581d027120d46c931087114c58eb77b37e0a01fc0d76d0f8a766fe668f9a2d0c0147ca5f7b32298e2002198004039df7ff3aeb29ccdb7c0bec392154a89b6dce6af78b7de4b8f48d85d6f299d211021954f60353a7d99158e236600aac4d548c7966138908f374ecbcf4ba02c4f7053e03a4d803574bbb4c2da0a56024e4007912a58f5e02c17b98ce65059988137ff3f01490250381fbc7a64394d7be1045e2550d0e564fd7dce8076ea9dee3f468b5c3ed5710f30371a01c8091bf4aabcf4053c08f71c31c0d8b62db1321401e8d02ef07e8f1a7180383e90170907f6f46ba8dc3894a869e2a5d873bdac97701ac0a17a99c46649073039bd16b198d676d63e65b3a2cde98a9497a87187a2d633105c7691de139c700f503cc9b09f7896aae3b55baa93439b317575dd1299a4eaa80a350f034846f249f800219ffff03a0cf3c09cc655c6d7eb7748378f5488025f36b2df5692aca42f71f377431b720039ed6110ce6d5614d21d3f30c2643f82eea113fdfbc3d362bf39524673ace97a903fccdc16f46779370a9ad193e62eebe840726be20b0235c42f15a5db1c6c5e7780219ffff03238749be08e8efd03ff2c85b1e32b2270876d422ff0379fd44960f66f1bfc18e03aeda72127e52773b4402e93ae180bfccd19dcedc0363faaec0b9145b0251479e03ff9ee5b25cdc48347ab9760f562aba5c4a678b02defb7b2d69e3b18034cab79d034984c6b431fd2d29f1da6fb3594bb82d6edea1ea22f352abd824cd8f9d5f040d0391f6c8176ae9a413bd1230e265cba81c5a857d125271f87e5436618bda4ba19c03af9a7581ef356928f38b0962e53657d31409ae257a9abb16f5f283fd28164043039cfb362f8aed217f310ecdb7670197ce6a18f2e75111afde8b7c8822281caa3b03e483fc5bd31e32d2377bdaee5f9cd4f9cdfe52130f101c493632901c158df95503351ef938de54f6ef79d5870cd44c03a985270ebe52db908acc54f1c6410a4e430219ffff03540a1ac73986f06da5782ab90f4e3b592d8a9462f360cb84313395317b69d59e0219ffff03ec5515fb94e5cd3fcfe33dee1f0f6d3b046abbd2437023e2bb746ef46a135d9b034640f491763f3b52854af82a5955fe94392602697a3b611cf4d0ecb18191aae903f5f0618e2ab85341f0f70445376f934788a3307b1b6026915673d753f4cd7c0503433177e3c27f318cc5c253922320487e99b9d17fd5a1ba2b949c0c02a6908360030d0eec1adc8067e38ac3db210fdb691432c579f7aca6c60a5f3f8b66816162b4036292b22fd99045c163c377041bd0e2aa63f8bd45503c114d9f38f5490b31cea5033cd6f2f42bc7a75327214116fa48d732d33088bec5c6ddc28dff5dd8b4f63bcc03fd6d0155bc62a6add0caadb841a0771790e475bdbb51d55192b114f3ab536cb1035c005b049b9982618831d56b5a9b741e7da4b4024b31f85cc92b4b35abc43936038142e6cb3c8d43bc58075c653d08f8868662e73efef3cbb32e2acbc9ee9121b9039297c32fa5a211d372f7cc10911688e78fa99754a564ac8950b496001b3145c803a7b2efeca1282ac0ea1720e3ce1dcc76595d92881fa677ea64ccf10e39b4da6103859a49e4d2d177b955abf136218ba4f19e20703f7536c8a2a9916b6e27b42655036a40061c4241ef16308f0c3418cb7602b50ff8f44977e3d23a5c827c5701080e036d733d5bf4d8c36b1cf92fcbb486227359b7b872c28d6a7295520c968f27a1b60391715aa158db4694675fd05d752620b97d560229e5162de6dd9f44d844d2c33603e5f94eaa3f45d1920c91a832155125cc38b88262a3d0dfea24f6a78daf5a97af0398143860534dcfa9c09c72e29022534da4a663d3285f6f69a8af4b38af0382d6034e33a4f943c6c3c222f286600e5ed6f8148f01a9e15ca2b7c883ad9acc9b9b5e03849a7386850a1a0512a2960cd01282aa715db164e9d402cb9792f2ff0ff4e927038bcba1fbde65ecc9ff6535d15c2cd95a714b6bae4d0478a86e0dd49067a20a1103384fed6a37e88e7ef88d48a565ea91c0936fec2f6585e1477f72495cb3e50e13034a9280c8a14460a3d2b4bdd90f6f03f52cababb2c7793543882991ab99e2b8f10318342e4346926ad0750222b4c64e3621caf18ef61c744cf5f6ad7b71421257ae03b78420b04abd130adf4b5449c5474b5480f0c2776b8e21d9396f45b608358c37034f52cfdac37a0e2d1d80bf78b58c6a4d74b2979274c9b793911287cee4b7115b032da5ed186839f912fb0273076155f674d32658b9269caca251638b090988a44e036e6b32b54f2475fc2cbf2716a4d1c33de16d3909997684b572bab6e6c01768f70316ec66b7f85088d1aa0fe54565005b4b9df67139f904d33790adec2e71513206032cba7168e679d524e20127a5e7654fb46703d418f62ee1bd7b248a037ea2982f03a95149a44df7d7fdfcdbe08009d94291397d1a1809d85b8c4f9e115830d2d509035fa66ac296682822aa694d84c3efdf32863817eb1a70dfde4ee74ae5691f620603de28a7cedbf8f1f4b557ae86fcf392e002000a3f6524fcf36d841a358dcd5aeb03a4d8051d72cbd74d41492f0cf86c268530c48b7bb3a4dbf47467c4c649dfc2b7039a2434b7877957d40a54a2e7699b89a0f32dc4a5861922a5c4f721865f16653a03ab6380199becb1ae653b92a19fc86120324d9d02a8085b5b29369361a033203e05581e03bd639f5ff5d5bfa500effe294d928bf970f8a5f14556f75abaec72c070040605581e03feb418f7bbd5a33d901988915c03a6eaab17e365c0f72915d88c7973a0040105581e033ee91ef2c0fbdb12007b416bdc76d1d8797507e2b8c824e98c1aa1f9d004183f05581e031db4f1bdcd7e34a98ca304132609f3b76c22fe64ae52d52f3ccf5a7410040105581e0337c289d62739c518041bb1ea88d5553b388a3b6f35eb3e478fce3fd130040105581e0366bf9c44af2bc8ef256bffc5da6a0b7dd4f1df81f3b895e38d95f81bf00c024701bdeaeb446278034ded5e66d2b93703c02c64f691a8b556e795e2458c4e71e80324aeaf6a6e5efc01410903b7027342ab67a6113694c3db490915eaf5542d9b67ce06a35270ca51d66d12f503cefd1de5352f9e27ff52dad8a75fc3229e4f68d9d3252fd9b8a6ba01346eb031045938c9608060405234801561001057600080fd5b50600436106102745760003560e01c80637adbf97311610151578063c7481b8f116100c3578063dd62ed3e11610087578063dd62ed3e146109d3578063ed24911d14610a01578063eddd0d9c14610a09578063f8c8765e14610a26578063fce589d814610a64578063fff6cae914610a6c57610274565b8063c7481b8f14610888578063d21220a7146108fd578063d505accf14610905578063d6945d8914610956578063db8d55f1146109cb57610274565b806395d89b411161011557806395d89b41146107f2578063a457c2d7146107fa578063a6bc18f914610826578063a9059cbb1461084c578063ba9a7a5614610878578063c45a01551461088057610274565b80637adbf973146106ea5780637dc0d1d0146107105780637ecebe001461071857806389afcb441461073e57806395c5df951461077d57610274565b806323b872dd116101ea57806338b07f02116101ae57806338b07f02146105d8578063395093511461064d5780634bf2c7c91461067957806354cf2aeb146106965780636a6278421461069e57806370a08231146106c457610274565b806323b872dd146104ea5780632b9b015d1461052057806330adf81f14610595578063313ce5671461059d57806334e19907146105bb57610274565b80630ae5f5b41161023c5780630ae5f5b41461041f5780630dfe1681146104a657806313966db5146104ca5780631758078b146104d257806318160ddd146104da57806320606b70146104e257610274565b8063022c0d9f1461027957806306ec16f81461030557806306fdde031461032b5780630902f1ac146103a8578063095ea7b3146103df575b600080fd5b6103036004803603608081101561028f57600080fd5b8135916020810135916001600160a01b036040830135169190810190608081016060820135600160201b8111156102c557600080fd5b8201836020820111156102d757600080fd5b803590602001918460018302840111600160201b831117156102f857600080fd5b509092509050610a74565b005b6103036004803603602081101561031b57600080fd5b50356001600160a01b0316611121565b610333611277565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036d578181015183820152602001610355565b50505050905090810190601f16801561039a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103b0611302565b60405180836001600160701b03168152602001826001600160701b031681526020019250505060405180910390f35b61040b600480360360408110156103f557600080fd5b506001600160a01b03813516906020013561131d565b604080519115158252519081900360200190f35b6104946004803603604081101561043557600080fd5b81359190810190604081016020820135600160201b81111561045657600080fd5b82018360208201111561046857600080fd5b803590602001918460018302840111600160201b8311171561048957600080fd5b509092509050611334565b60408051918252519081900360200190f35b6104ae611473565b604080516001600160a01b039092168252519081900360200190f35b610494611482565b6104ae611488565b610494611497565b61049461149d565b61040b6004803603606081101561050057600080fd5b506001600160a01b038135811691602081013590911690604001356114c1565b6104946004803603604081101561053657600080fd5b81359190810190604081016020820135600160201b81111561055757600080fd5b82018360208201111561056957600080fd5b803590602001918460018302840111600160201b8311171561058a57600080fd5b509092509050611555565b610494611682565b6105a56116a6565b6040805160ff9092168252519081900360200190f35b610303600480360360208110156105d157600080fd5b50356116af565b610494600480360360408110156105ee57600080fd5b81359190810190604081016020820135600160201b81111561060f57600080fd5b82018360208201111561062157600080fd5b803590602001918460018302840111600160201b8311171561064257600080fd5b509092509050611790565b61040b6004803603604081101561066357600080fd5b506001600160a01b038135169060200135611874565b6103036004803603602081101561068f57600080fd5b50356118af565b610494611990565b610494600480360360208110156106b457600080fd5b50356001600160a01b0316611996565b610494600480360360208110156106da57600080fd5b50356001600160a01b0316611c57565b6103036004803603602081101561070057600080fd5b50356001600160a01b0316611c69565b6104ae611df6565b6104946004803603602081101561072e57600080fd5b50356001600160a01b0316611e05565b6107646004803603602081101561075457600080fd5b50356001600160a01b0316611e17565b6040805192835260208301919091528051918290030190f35b6104946004803603604081101561079357600080fd5b81359190810190604081016020820135600160201b8111156107b457600080fd5b8201836020820111156107c657600080fd5b803590602001918460018302840111600160201b831117156107e757600080fd5b509092509050612116565b6103336121c4565b61040b6004803603604081101561081057600080fd5b506001600160a01b03813516906020013561221f565b6103036004803603602081101561083c57600080fd5b50356001600160a01b0316612290565b61040b6004803603604081101561086257600080fd5b506001600160a01b038135169060200135612396565b6104946123a3565b6104ae6123a9565b6104946004803603604081101561089e57600080fd5b81359190810190604081016020820135600160201b8111156108bf57600080fd5b8201836020820111156108d157600080fd5b803590602001918460018302840111600160201b831117156108f257600080fd5b5090925090506123cd565b6104ae61250a565b610303600480360360e081101561091b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135612519565b6104946004803603604081101561096c57600080fd5b81359190810190604081016020820135600160201b81111561098d57600080fd5b82018360208201111561099f57600080fd5b803590602001918460018302840111600160201b831117156109c057600080fd5b509092509050612702565b610764612838565b610494600480360360408110156109e957600080fd5b506001600160a01b0381358116916020013516612853565b610494612870565b61030360048036036020811015610a1f57600080fd5b5035612977565b61030360048036036080811015610a3c57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516612a58565b610494612be8565b610303612bee565b601054600114610ab4576040805162461bcd60e51b815260206004808301919091526024820152632a28181b60e11b604482015290519081900360640190fd5b6000601055610ac233612c85565b610afc576040805162461bcd60e51b815260206004808301919091526024820152635450304360e01b604482015290519081900360640190fd5b6001600160a01b038316610b40576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b600085118015610b4e575083155b80610b625750600084118015610b62575084155b610b9c576040805162461bcd60e51b815260206004808301919091526024820152635450333160e01b604482015290519081900360640190fd5b600080610ba7611302565b91509150816001600160701b031687108015610bcb5750806001600160701b031686105b610c05576040805162461bcd60e51b815260206004808301919091526024820152635450303760e01b604482015290519081900360640190fd5b600c54600d546001600160a01b03918216919081169087168214801590610c3e5750806001600160a01b0316876001600160a01b031614155b610c78576040805162461bcd60e51b8152602060048083019190915260248201526315140c9160e21b604482015290519081900360640190fd5b8815610c8957610c8982888b612cdd565b8715610c9a57610c9a81888a612cdd565b5050600c54600d546000918291610cbd916001600160a01b039081169116612e5f565b90925090508815610ef357826001600160701b03168111610d0e576040805162461bcd60e51b815260206004808301919091526024820152630a8a060760e31b604482015290519081900360640190fd5b6040805160008082526001600160701b0386168403602083018190528284018d9052606083019190915291516001600160a01b038a169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a36000610d9a670de0b6b3a7640000610d94600b548561300f90919063ffffffff16565b90613064565b90506000610da884836130b7565b90506000600e60009054906101000a90046001600160a01b03166001600160a01b031663a2a084d3838a8a8e8e6040518663ffffffff1660e01b815260040180868152602001856001600160701b03168152602001846001600160701b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b158015610e5b57600080fd5b505afa158015610e6f573d6000803e3d6000fd5b505050506040513d6020811015610e8557600080fd5b5051905080861015610ec7576040805162461bcd60e51b815260206004808301919091526024820152635450324560e01b604482015290519081900360640190fd5b6000610ed387836130b7565b9050610edf81856130e7565b610ee98284613129565b5050505050611111565b836001600160701b03168211610f39576040805162461bcd60e51b815260206004808301919091526024820152630a8a060760e31b604482015290519081900360640190fd5b604080516001600160701b038616840380825260006020830181905282840152606082018b905291516001600160a01b038a169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a36000610fbc670de0b6b3a7640000610d94600b548561300f90919063ffffffff16565b90506000610fca85836130b7565b90506000600e60009054906101000a90046001600160a01b03166001600160a01b031663537ca579838a8a8e8e6040518663ffffffff1660e01b815260040180868152602001856001600160701b03168152602001846001600160701b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561107d57600080fd5b505afa158015611091573d6000803e3d6000fd5b505050506040513d60208110156110a757600080fd5b50519050808510156110e9576040805162461bcd60e51b815260206004808301919091526024820152635450324560e01b604482015290519081900360640190fd5b60006110f586836130b7565b905061110184826130e7565b61110b8383613129565b50505050505b5050600160105550505050505050565b601054600114611161576040805162461bcd60e51b815260206004808301919091526024820152632a28181b60e11b604482015290519081900360640190fd5b6000601055336001600160a01b037f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c616146111cc576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b6001600160a01b038116611210576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b60008061121b612838565b9092509050811561123d57600c5461123d906001600160a01b03168484612cdd565b801561125a57600d5461125a906001600160a01b03168483612cdd565b6112656000806131cd565b61126d613229565b5050600160105550565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156112fa5780601f106112cf576101008083540402835291602001916112fa565b820191906000526020600020905b8154815290600101906020018083116112dd57829003601f168201915b505050505081565b6000546001600160701b0380821691600160701b9004169091565b600061132a338484613289565b5060015b92915050565b6000806000611341611302565b915091506000611368670de0b6b3a7640000610d94600b548a61300f90919063ffffffff16565b600e549091506000906001600160a01b031663a2a084d361139c846113966001600160701b0388168d6132eb565b906130b7565b86868b8b6040518663ffffffff1660e01b815260040180868152602001856001600160701b03168152602001846001600160701b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561142657600080fd5b505afa15801561143a573d6000803e3d6000fd5b505050506040513d602081101561145057600080fd5b505190506114676001600160701b038516826130b7565b98975050505050505050565b600c546001600160a01b031681565b60095481565b600f546001600160a01b031681565b60055481565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914611540576001600160a01b038416600090815260076020908152604080832033845290915290205461151b90836130b7565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b61154b84848461332c565b5060019392505050565b6000806000611562611302565b915091506000611589670de0b6b3a7640000610d94600b548a61300f90919063ffffffff16565b600e549091506000906001600160a01b031663537ca5796115b7846113966001600160701b0389168d6132eb565b86868b8b6040518663ffffffff1660e01b815260040180868152602001856001600160701b03168152602001846001600160701b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561164157600080fd5b505afa158015611655573d6000803e3d6000fd5b505050506040513d602081101561166b57600080fd5b505190506114676001600160701b038416826130b7565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60045460ff1681565b336001600160a01b037f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c61614611715576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b600b54811415611755576040805162461bcd60e51b815260206004808301919091526024820152635450303160e01b604482015290519081900360640190fd5b600b8190556040805182815290517fcda74150def0ede554aff5f677be9df0e226fddff9bd9ceddf732b9673b1c92d9181900360200190a150565b600080600061179d611302565b600e54604051633b2b76f960e11b8152600481018a81526001600160701b03808616602484015284166044830152608060648301908152608483018a90529496509294506001600160a01b0390911692637656edf2928a92879287928c928c929060a401848480828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561183e57600080fd5b505afa158015611852573d6000803e3d6000fd5b505050506040513d602081101561186857600080fd5b50519695505050505050565b3360008181526007602090815260408083206001600160a01b0387168452909152812054909161132a9185906118aa90866132eb565b613289565b336001600160a01b037f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c61614611915576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b600a54811415611955576040805162461bcd60e51b815260206004808301919091526024820152635450303160e01b604482015290519081900360640190fd5b600a8190556040805182815290517f0476fcc77110b6ac2d8f2dd346f80d2c5cda54dae5c6ddd6f82b603a4d9b9dc99181900360200190a150565b600b5481565b60006010546001146119d8576040805162461bcd60e51b815260206004808301919091526024820152632a28181b60e11b604482015290519081900360640190fd5b60006010556119e633612c85565b611a20576040805162461bcd60e51b815260206004808301919091526024820152635450304360e01b604482015290519081900360640190fd5b6001600160a01b038216611a64576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b600080611a6f611302565b600c54600d549294509092506000918291611a96916001600160a01b039182169116612e5f565b90925090506000611ab0836001600160701b0387166130b7565b90506000611ac7836001600160701b0387166130b7565b60055490915080611afe57611aea6103e8611396611ae5868661300f565b6133da565b9750611af960006103e861342b565b611b41565b611b3e6001600160701b038816611b15858461300f565b81611b1c57fe5b046001600160701b038816611b31858561300f565b81611b3857fe5b046134b6565b97505b60008811611b7f576040805162461bcd60e51b815260206004808301919091526024820152630a8a066760e31b604482015290519081900360640190fd5b60095415611be4576000611baa670de0b6b3a7640000610d946009548c61300f90919063ffffffff16565b9050611bb689826130b7565b9850611be27f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c68261342b565b505b611bee898961342b565b611bf88585613129565b60408051848152602081018490528082018a905290516001600160a01b038b169133917fa8137fff86647d8a402117b9c5dbda627f721d3773338fb9678c83e54ed390809181900360600190a350506001601055509395945050505050565b60066020526000908152604090205481565b336001600160a01b037f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c61614611ccf576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b600e546001600160a01b0382811691161415611d1b576040805162461bcd60e51b815260206004808301919091526024820152635450303160e01b604482015290519081900360640190fd5b6001600160a01b038116611d5f576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b611d68816134cc565b611da2576040805162461bcd60e51b8152602060048083019190915260248201526315140c5160e21b604482015290519081900360640190fd5b600e80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fd3b5d1e0ffaeff528910f3663f0adace7694ab8241d58e17a91351ced2e080319181900360200190a150565b600e546001600160a01b031681565b60086020526000908152604090205481565b600080601054600114611e5a576040805162461bcd60e51b815260206004808301919091526024820152632a28181b60e11b604482015290519081900360640190fd5b6000601055611e6833612c85565b611ea2576040805162461bcd60e51b815260206004808301919091526024820152635450304360e01b604482015290519081900360640190fd5b6001600160a01b038316611ee6576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b60055480611f24576040805162461bcd60e51b815260206004808301919091526024820152632a28199b60e11b604482015290519081900360640190fd5b600c54600d546001600160a01b039182169116600080611f448484612e5f565b306000908152600660205260409020549193509150337f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c66001600160a01b031614801590611f9457506000600a54115b15611ff7576000611fbc670de0b6b3a7640000610d94600a548561300f90919063ffffffff16565b9050611fc882826130b7565b9150611ff5307f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c68361332c565b505b61200130826134d2565b8561200c828561300f565b8161201357fe5b04975085612021828461300f565b8161202857fe5b04965060008811801561203b5750600087115b612075576040805162461bcd60e51b815260206004808301919091526024820152635450333960e01b604482015290519081900360640190fd5b612080858a8a612cdd565b61208b848a89612cdd565b600c54600d546120a7916001600160a01b039081169116612e5f565b90935091506120b68383613129565b604080518981526020810189905280820183905290516001600160a01b038b169133917fd175a80c109434bb89948928ab2475a6647c94244cb70002197896423c8833639181900360600190a35050505050506001601081905550915091565b6000806000612123611302565b600e5460405163344c41e360e01b8152600481018a81526001600160701b03808616602484015284166044830152608060648301908152608483018a90529496509294506001600160a01b039091169263344c41e3928a92879287928c928c929060a401848480828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561183e57600080fd5b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156112fa5780601f106112cf576101008083540402835291602001916112fa565b3360009081526007602090815260408083206001600160a01b038616845290915281205482811015612281576040805162461bcd60e51b815260206004808301919091526024820152630a88268760e31b604482015290519081900360640190fd5b61154b33856118aa84876130b7565b336001600160a01b037f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c616146122f6576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b600f546001600160a01b0382811691161415612342576040805162461bcd60e51b815260206004808301919091526024820152635450303160e01b604482015290519081900360640190fd5b600f80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f985b4dd4654f00a77259f8971c3a5aa21910e31ed411ffd8c4106d7e9a0c22859181900360200190a150565b600061132a33848461332c565b6103e881565b7f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c681565b60008060006123da611302565b909250905060006123f46001600160701b038316886130b7565b600e5460405163a2a084d360e01b8152600481018381526001600160701b03808816602484015286166044830152608060648301908152608483018a90529394506000936001600160a01b039093169263a2a084d3928692899289928e928e92909160a401848480828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561249657600080fd5b505afa1580156124aa573d6000803e3d6000fd5b505050506040513d60208110156124c057600080fd5b5051600b54909150611467906124df90670de0b6b3a7640000906130b7565b612504670de0b6b3a76400006124fe856001600160701b038a166130b7565b9061300f565b90613563565b600d546001600160a01b031681565b42841015612557576040805162461bcd60e51b8152602060048083019190915260248201526315104c0d60e21b604482015290519081900360640190fd5b6000612561612870565b6001600160a01b03808a1660008181526008602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa15801561267c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906126b25750886001600160a01b0316816001600160a01b0316145b6126ec576040805162461bcd60e51b815260206004808301919091526024820152632a20992360e11b604482015290519081900360640190fd5b6126f7898989613289565b505050505050505050565b600080600061270f611302565b909250905060006127296001600160701b038416886130b7565b600e5460405163537ca57960e01b8152600481018381526001600160701b03808816602484015286166044830152608060648301908152608483018a90529394506000936001600160a01b039093169263537ca579928692899289928e928e92909160a401848480828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b1580156127cb57600080fd5b505afa1580156127df573d6000803e3d6000fd5b505050506040513d60208110156127f557600080fd5b5051600b549091506114679061281490670de0b6b3a7640000906130b7565b612504670de0b6b3a76400006124fe6001600160701b0388166113968760016132eb565b6001546001600160701b0380821691600160701b9004169091565b600760209081526000928352604080842090915290825290205481565b6000804690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600260405180828054600181600116156101000203166002900480156128f45780601f106128d25761010080835404028352918201916128f4565b820191906000526020600020905b8154815290600101906020018083116128e0575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606086015260808501959095523060a0808601919091528551808603909101815260c090940190945250508051910120905090565b336001600160a01b037f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c616146129dd576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b600954811415612a1d576040805162461bcd60e51b815260206004808301919091526024820152635450303160e01b604482015290519081900360640190fd5b60098190556040805182815290517f276a443d2b2c8332fc729f4de8847f12625c9f099e07b8501c91df8a4fcb12109181900360200190a150565b336001600160a01b037f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c61614612abe576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b6001600160a01b038216612b02576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b612b0b826134cc565b612b45576040805162461bcd60e51b8152602060048083019190915260248201526315140c5160e21b604482015290519081900360640190fd5b612b4e846134cc565b8015612b5e5750612b5e836134cc565b612b98576040805162461bcd60e51b815260206004808301919091526024820152630545031360e41b604482015290519081900360640190fd5b600c80546001600160a01b039586166001600160a01b031991821617909155600d805494861694821694909417909355600e805492851692841692909217909155600f8054919093169116179055565b600a5481565b601054600114612c2e576040805162461bcd60e51b815260206004808301919091526024820152632a28181b60e11b604482015290519081900360640190fd5b6000601055612c3c33612c85565b612c76576040805162461bcd60e51b815260206004808301919091526024820152635450304360e01b604482015290519081900360640190fd5b612c7e613229565b6001601055565b600f546000906001600160a01b0383811691161480612cd557507f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c66001600160a01b0316826001600160a01b0316145b90505b919050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17815292518151600094859489169392918291908083835b60208310612d895780518252601f199092019160209182019101612d6a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612deb576040519150601f19603f3d011682016040523d82523d6000602084013e612df0565b606091505b5091509150818015612e1e575080511580612e1e5750808060200190516020811015612e1b57600080fd5b50515b612e58576040805162461bcd60e51b815260206004808301919091526024820152635450303560e01b604482015290519081900360640190fd5b5050505050565b6000806000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612eb157600080fd5b505afa158015612ec5573d6000803e3d6000fd5b505050506040513d6020811015612edb57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038716916370a08231916024808301926020929190829003018186803b158015612f2957600080fd5b505afa158015612f3d573d6000803e3d6000fd5b505050506040513d6020811015612f5357600080fd5b50516001549091506001600160701b0316821015612f8757600180546001600160701b0319166001600160701b0384161790555b600154600160701b90046001600160701b0316811015612fcd57600180546dffffffffffffffffffffffffffff60701b1916600160701b6001600160701b038416021790555b600154612fe49083906001600160701b03166130b7565b600154613002908390600160701b90046001600160701b03166130b7565b9350935050509250929050565b600081158061302a5750508082028282828161302757fe5b04145b61132e576040805162461bcd60e51b81526020600480830191909152602482015263534d324160e01b604482015290519081900360640190fd5b60008082116130a3576040805162461bcd60e51b81526020600480830191909152602482015263534d343360e01b604482015290519081900360640190fd5b60008284816130ae57fe5b04949350505050565b60006130e083836040518060400160405280600481526020016329a6989960e11b815250613599565b9392505050565b600154613125906131029084906001600160701b03166132eb565b600154613120908490600160701b90046001600160701b03166132eb565b6131cd565b5050565b811580159061313757508015155b613171576040805162461bcd60e51b815260206004808301919091526024820152635253303960e01b604482015290519081900360640190fd5b61317a82613631565b600080546001600160701b0319166001600160701b03929092169190911790556131a381613631565b6000600e6101000a8154816001600160701b0302191690836001600160701b031602179055505050565b6131d682613631565b600180546001600160701b0319166001600160701b03929092169190911790556131ff81613631565b6001600e6101000a8154816001600160701b0302191690836001600160701b031602179055505050565b600c54600d54613245916001600160a01b03908116911661367c565b30600090815260066020526040902054801561328657613286307f000000000000000000000000c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c68361332c565b50565b6001600160a01b03808416600081815260076020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082018281101561132e576040805162461bcd60e51b81526020600480830191909152602482015263534d344560e01b604482015290519081900360640190fd5b6001600160a01b03831660009081526006602052604090205461334f90826130b7565b6001600160a01b03808516600090815260066020526040808220939093559084168152205461337e90826132eb565b6001600160a01b0380841660008181526006602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000600382111561341d575080600160028204015b818110156134175780915060028182858161340657fe5b04018161340f57fe5b0490506133ef565b50612cd8565b8115612cd857506001919050565b60055461343890826132eb565b6005556001600160a01b03821660009081526006602052604090205461345e90826132eb565b6001600160a01b03831660008181526006602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106134c557816130e0565b5090919050565b3b151590565b6001600160a01b0382166000908152600660205260409020546134f590826130b7565b6001600160a01b03831660009081526006602052604090205560055461351b90826130b7565b6005556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600061356f8383613064565b905061357b838361300f565b8114156135875761132e565b6135928160016132eb565b905061132e565b81830381848211156136295760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156135ee5781810151838201526020016135d6565b50505050905090810190601f16801561361b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b60006001600160701b03821115613678576040805162461bcd60e51b81526020600480830191909152602482015263534d353160e01b604482015290519081900360640190fd5b5090565b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156136cb57600080fd5b505afa1580156136df573d6000803e3d6000fd5b505050506040513d60208110156136f557600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561374357600080fd5b505afa158015613757573d6000803e3d6000fd5b505050506040513d602081101561376d57600080fd5b50516001546000549192506001600160701b038281168183160192600160701b9081900482169204160183821415806137a65750808314155b1561388b5781156137f8576001546137d7906137d2908490610d949088906001600160701b031661300f565b613631565b600180546001600160701b0319166001600160701b03929092169190911790555b801561384d57600154613826906137d2908390610d94908790600160701b90046001600160701b031661300f565b6001600e6101000a8154816001600160701b0302191690836001600160701b031602179055505b60015461388b906138689086906001600160701b03166130b7565b600154613886908690600160701b90046001600160701b03166130b7565b613129565b50505050505056fea26469706673582212207bd0e0960de36eb87a77b2c4e13d386dc0d7aacd84b22400a3b58464c72e7cb064736f6c634300070600330058200275b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9465af3107a4000005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db046655ca3634b940058200289fcd74c68cf93d03f2a59bc497438593f910bf9c2f9c423d84ece2d75e6784454c3ef5e0219010a005820027fb6ae4eaf230489035574815acde47802755b2163b9a42df878247aba73c15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6724101021908100058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563057030fea7197fcdcbada000000000000000000000d4bd71700582103dbe3b3da803f0dd644f06d8a8c59588eb15056971e3557cf3162873bf7107df04665326f379a3d0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0582054776170204c500000000000000000000000000000000000000000000000000e00582103cff2dadce1fdb309ece3fb0c488a8d4f726b7e0f1f344f2da48ae34c336c1ef04529df67be110058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4112005820021108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80254c3a99a855d060d727367c599ecb2423e0bebee240219240000582103b7d0eeaefac1565909b2a73abf0f3513dd4aafc7c06e1d1718d089f5e678a7b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6561a933f595a334e68000000000000000000000097dd7d005820027b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd54cb1620778a758e9e7ab2de567ecf3fbbaec8f71e02190802005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05820545741502d4c500000000000000000000000000000000000000000000000000e00582002b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb554c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7542260fac5e5542a773aa44fbcfedf7c193bc2c5990219808003afd19734412f78e07ab9977ad3fe2d8778ea13a524772bb3dcdf52aef8d7aac90219bb5f05581d027428da407fbc2c47efebc0d94794e786b6959a43aa898986ff7799dd07011938c9031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d023e804711d37848a95e46f25a40ff546f797493747e22c3d1c2fa50ac07011bffffffffffffffff05581d0281b3f114ff92b2b9f2816c55bfc84e337611c25d165e359310a6615108481d24b2dfac5200000219020a0219f93c03875992b5b47608cfd934eca22ffb323b74057b7f5a403695672676671ee533460219ffff03c4fbe3c7b9b8dedb98f32becd515cf4675ea4eb1f0d70815449ba4e5c01ebdbc0219ffff031a5699de3e368521a0b69f39b1f803c23b6443b97d6d125606583fa18656b02f03209b6ae1d02452c4211398f456c28a181591bcf23474b58cddcdc77240237f5c03ca5eac087abce1e088bbebf06561e615ed26bac7153379366aa4c338790ed92803801853b163341beafc616d6dbb636aa116f436bda160ad9b2dfc66e1a813be3f0356b3661e981a8c522312d51fc1f95ab28aae54c73e3c990c6e2b920dd516b06103baf9feb2a5f7a24c789bcc16dea3f3fa2f56c03f5c3630d0a3a5a835184631cb030346322700ea6e610a6966773f60a46d6414e897603d639d3fdc99f503db8cc003fa8ddb29f5166c9c6d19619b43cdc1a56a39f1359b589404ed247f2027db4294034fd9096bc704b8854df5fa89af78348c5572a2b69da251fa96267a072a6471b40325962f9bcc8c203c6d6ae1558c84250b3b06be53f13b4e291b3529ecb2dd507303743e60691021ce9ef700c957c21fa5f4c390cc52ccab75822c1091301ca7612d0219ffff03d1251368f362450960fdc7b1e0922b3570479a7eb7797ffc5138fda0f5d8ffe5032a699343a3d11f538bd5687d7e4e4eda67f606ccb54963f7a4ca551593f9eb9203a6f475d5b0998eeb7fcc6ce0f8c0e4cea3fd23d36069734a60e701b811501fa7037a64e53ae990efc515f1cdc7d36f704bb64e2e14f3223faa17a9182969c8f63a0391f67a0b00ea94c22e7f2a58e1ad6bd5e25076188f3fa614e4d1af1ec962a44603b80732b54c843b1093f95328f58ff4ede8d588ebe439b8b918ff563e932f998c03934bfbfee40f2226a9bd80fef6d76a3af3992afffd271acd5f41022c9b5efb6503f75508de42eb0f238c32fe4605b4bcc5aaab4b65092f066089a7f7ba43d6a0be03c3930197d077302a75eedf084fe20174ffb16e54b20404d0eee219e53dadc74b0397573cecd0012d77eff0ca221dc553e5e1da5b006c535cdc1ba212b12762133103d04873b7164d2e8880365c2e22d1457e9dfb85dc2b688ab87b4c10b4ed4b66ab03ae2590b2da333094f79058d824519525419b6f232f43fd3087c15fcea291d24d0302d7d7ee8b9a587daeac6c1b16e72badd7e012ae5b1085a91766f8c0021297cb03ca2bf84125435a654c6be3cf7b3142ec27da7db60ed25cb7759030b0f3a876460306fcc8ae60b36c39bcf148e0c661d3d02e854ef9be432acd90ba6338f514639203ab5143c2eea8db24864625eca217ba19c021d8c468c11021365d0e23946226980332770a298627fb33865993cdb4f8f48558fda3d047fda0573e4ffa0173eb21cc03cb43e7c4106ae46daa197e49a55911f43ae29c4b36e7c4ee43438dc1189d206c034771a0b451cfaf0d7b5bfdd5e5b9bcf21d8ac2ea7b95bdb960b41b92470410e003d1b3590906499c4854b722d7b15b48bc2ea63e2f04c3d701c489dae5c44d485803e588d4436d02582af16b5fa3bba4cc790e4235aa54f20c7801c0730de34a019b03d3b50b20bd7da3e2354cca4f574e20718835b805c57030369ca4f83aac5df80705581e03045e58f4d4fcb0d8ffa1360f7174da1e19587561b65b5791f60509cd90041103d8c5e8eb9b022a67f4bc3d7b4268de149ab8dbbd0e3ec0c6ae2d1b3cda9efacc03b3da5c51bb4bcd85b09b90f0e06f06754a36acca3ce359bc0d96a0a89f0449e705581e03baf666b34015f6bf653d06ddc5d93a293d71195b43f95855bd8dd089d00401039f9882b1b656c8c3e991f996d9454981011251bf8066dfcfe1409cc08deff2f203700331942a4b0f3c434f75f1ac8f77e8b1e4b03583e615b99e36328323d5a4a905581e03f0f7e2dd9a33e4f31314d483f8169812d50260f21f945ac792ee049670040d05581e03eb919ce39e23552b3f73adb7513a7e5658ce9221d3d84941ce7f1d6740040305581e03c3a738f0d5cf5d4dd933c3ad89a6b5feaf377021e69a7446fd6e3e27600c0346accbc8f0c1c005581d028cc08fd7a822b6bd7189de54e121f16c25aec86bd37ce612296e19c5041704592e116080604052600436106100bc5760003560e01c8063948f507611610074578063a90e87311161004e578063a90e8731146103c4578063bf353dbb146103d7578063c9892a5f14610412576100e1565b8063948f50761461035457806397645e37146103845780639c52a7f1146103a4576100e1565b806360c7d295116100a557806360c7d295146102bd57806365fae35e1461031457806378e111f614610334576100e1565b80631cff79cd146102955780631f6a1eb9146102aa575b6100e1565b6308c379a060e01b60005260206004526002602452806044525060646000fd5b60003560e01c63fa461e338114156102925760ff6000537f1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000006001526084356015527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54603552605560002073ffffffffffffffffffffffffffffffffffffffff16338114610191576101917f30320000000000000000000000000000000000000000000000000000000000006100c1565b600435600081136101d15750602435600081136101d1576101d17f30310000000000000000000000000000000000000000000000000000000000006100c1565b60a435308114600181146101ea57801561023c5761028d565b63a9059cbb60e01b6000528360045282602452600080604460008060c4355af1610237576102377f30340000000000000000000000000000000000000000000000000000000000006100c1565b61028d565b6323b872dd60e01b600052816004528360245282604452600080606460008060c4355af161028d5761028d7f30330000000000000000000000000000000000000000000000000000000000006100c1565b505050505b50005b6102a86102a3366004612b3c565b610432565b005b6102a86102b8366004612b8c565b610469565b3480156102c957600080fd5b506001546102ea9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561032057600080fd5b506102a861032f366004612be6565b6105e7565b610347610342366004612b3c565b610622565b60405161030b9190612c0a565b34801561036057600080fd5b5061037461036f366004612be6565b610681565b604051901515815260200161030b565b34801561039057600080fd5b506102a861039f366004612c7d565b61075d565b3480156103b057600080fd5b506102a86103bf366004612be6565b6107ee565b6103476103d2366004612b8c565b610826565b3480156103e357600080fd5b506104046103f2366004612be6565b60006020819052908152604090205481565b60405190815260200161030b565b34801561041e57600080fd5b506102a861042d366004612c7d565b6109ac565b61043a610a39565b61044357600080fd5b600080825160208401855af480156001811461045e57610463565b600080fd5b50505050565b6001546040517f8bf4515c00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690638bf4515c906104c0908690600401612c0a565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105109190612d2f565b905073ffffffffffffffffffffffffffffffffffffffff81166105d8576001546040517f7ed0c3b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637ed0c3b290610583908690600401612c0a565b602060405180830381600087803b15801561059d57600080fd5b505af11580156105b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d59190612d2f565b90505b6105e28183610432565b505050565b6105ef610a39565b6105f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260208190526040902060019055565b606061062c610a39565b61063557600080fd5b600080835160208501865af43d6040519250601f19601f6020830101168301604052808352806000602085013e81156001811461067157610678565b8160208501fd5b50505092915050565b600061068b610a39565b61069457600080fd5b73ffffffffffffffffffffffffffffffffffffffff8216610715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f64732d70726f78792d63616368652d616464726573732d726571756972656400604482015260640160405180910390fd5b506001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116178155919050565b610765610a39565b61076e57600080fd5b60005b81518110156107ea57600160008084848151811061079157610791612d4c565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080806107e290612d7b565b915050610771565b5050565b6107f6610a39565b6107ff57600080fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260208190526040812055565b6001546040517f8bf4515c00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff90911690638bf4515c90610882908790600401612c0a565b60206040518083038186803b15801561089a57600080fd5b505afa1580156108ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190612d2f565b905073ffffffffffffffffffffffffffffffffffffffff811661099a576001546040517f7ed0c3b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637ed0c3b290610945908790600401612c0a565b602060405180830381600087803b15801561095f57600080fd5b505af1158015610973573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109979190612d2f565b90505b6109a48184610622565b949350505050565b6109b4610a39565b6109bd57600080fd5b60005b81518110156107ea5760008060008484815181106109e0576109e0612d4c565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610a3190612d7b565b9150506109c0565b60007379071d243055e6d3bf9dbea842dda69905fa636f331060018114610a65578015611a2b576129ed565b7344151e75925860be5dba0d0f705d03abb6e6bbd9331060018114610a8f57801561125c57611a25565b7326bce6ecb5b10138e4bf14ac0ffcc8727fef3b2e331060018114610ab9578015610e6157611256565b730f3f32f5f684bb6f99b6f414ca27cded9e2d0e87331060018114610ae3578015610ca157610e5b565b73065e3dbafcb2c26a978720f9eb4bce6ad9d644a1331060018114610b0d578015610bd657610c9b565b73042523db4f3effc33d2742022b2490258494f8b3331060018114610b37578015610b5d57610bd0565b730364aabefc13885f05d8ca86cbe3e564cd07f6f1331415610b5857600196505b610bd0565b73061979019711fd0c9ef93510a996f770a9fc7b60331060018114610b87578015610bad57610bce565b73042523db4f3effc33d2742022b2490258494f8b3331415610ba857600197505b610bce565b73061979019711fd0c9ef93510a996f770a9fc7b60331415610bce57600197505b505b50610c9b565b730b275aaeb7e834520f34a24027091edba49b7a58331060018114610c00578015610c2657610c99565b73065e3dbafcb2c26a978720f9eb4bce6ad9d644a1331415610c2157600196505b610c99565b730cac3d1a887206e0f6169222c4504301a8b4b993331060018114610c50578015610c7657610c97565b730b275aaeb7e834520f34a24027091edba49b7a58331415610c7157600197505b610c97565b730cac3d1a887206e0f6169222c4504301a8b4b993331415610c9757600197505b505b505b50610e5b565b731bb9bc5be209b77786f59e739dfdb9fe9aac916e331060018114610ccb578015610d9457610e59565b73177b8ebe208cb71da818b6b8814c946c027240cd331060018114610cf5578015610d1b57610d8e565b730f3f32f5f684bb6f99b6f414ca27cded9e2d0e87331415610d1657600196505b610d8e565b731a54220656fa426a20331141324260398a549314331060018114610d45578015610d6b57610d8c565b73177b8ebe208cb71da818b6b8814c946c027240cd331415610d6657600197505b610d8c565b731a54220656fa426a20331141324260398a549314331415610d8c57600197505b505b50610e59565b731c8f6a5f009e051cab9c3851ca2da2c936b2775a331060018114610dbe578015610de457610e57565b731bb9bc5be209b77786f59e739dfdb9fe9aac916e331415610ddf57600196505b610e57565b73235909a5345af86536e4ddbe9f753db6b3c919f7331060018114610e0e578015610e3457610e55565b731c8f6a5f009e051cab9c3851ca2da2c936b2775a331415610e2f57600197505b610e55565b73235909a5345af86536e4ddbe9f753db6b3c919f7331415610e5557600197505b505b505b505b50611256565b73368dec1eb6e533119f8740c15613144bf5a668ca331060018114610e8b57801561104957611254565b732b728f85296b0cf98fc08f492e7f983636ca3870331060018114610eb5578015610f7e57611043565b7329d92a1517034636720fd3bd7e48c4649a249ee8331060018114610edf578015610f0557610f78565b7326bce6ecb5b10138e4bf14ac0ffcc8727fef3b2e331415610f0057600196505b610f78565b732b271ac88a4caa57e67b5bcb49fbea3d5963b990331060018114610f2f578015610f5557610f76565b7329d92a1517034636720fd3bd7e48c4649a249ee8331415610f5057600197505b610f76565b732b271ac88a4caa57e67b5bcb49fbea3d5963b990331415610f7657600197505b505b50611043565b732d525a7eab9b6645053e22816450f27ee242303d331060018114610fa8578015610fce57611041565b732b728f85296b0cf98fc08f492e7f983636ca3870331415610fc957600196505b611041565b732e9262b2a4f2934ab60c836e63029f52e296a55d331060018114610ff857801561101e5761103f565b732d525a7eab9b6645053e22816450f27ee242303d33141561101957600197505b61103f565b732e9262b2a4f2934ab60c836e63029f52e296a55d33141561103f57600197505b505b505b50611254565b733fbaea01b228368e67ca40d8cb195018fd09531833106001811461107357801561113c57611252565b7336a454aef52938c8637cd4689b2980c1cfd4338933106001811461109d5780156110c357611136565b73368dec1eb6e533119f8740c15613144bf5a668ca3314156110be57600196505b611136565b733cb3ef0368a6548f71357f4d346330195bca11603310600181146110ed57801561111357611134565b7336a454aef52938c8637cd4689b2980c1cfd4338933141561110e57600197505b611134565b733cb3ef0368a6548f71357f4d346330195bca116033141561113457600197505b505b50611252565b73431b5a84acc1297eda88259f300262f1bc3a74f33310600181146111665780156111dd57611250565b73421125ca608a35458b2c99da39cd55b70ba202a43310600181146111905780156111b6576111d7565b733fbaea01b228368e67ca40d8cb195018fd0953183314156111b157600197505b6111d7565b73421125ca608a35458b2c99da39cd55b70ba202a43314156111d757600197505b50611250565b7343e4715ae093a4c86b5ecddb52216c4f879e967233106001811461120757801561122d5761124e565b73431b5a84acc1297eda88259f300262f1bc3a74f333141561122857600197505b61124e565b7343e4715ae093a4c86b5ecddb52216c4f879e967233141561124e57600197505b505b505b505b505b50611a25565b7359927b1208051b07118ee542a86414ed74eef4b733106001811461128657801561162e57611a23565b734deacb315fc16b746aa3c5f42363a0bff694c42f3310600181146112b057801561146e57611628565b734bfcf7a62e5c0acc874d496182915c3642e64cb63310600181146112da5780156113a357611468565b734603180bbb8221157880afaa84638e0fc467738d33106001811461130457801561132a5761139d565b7344151e75925860be5dba0d0f705d03abb6e6bbd933141561132557600196505b61139d565b73479b454f499333551682214f3859c2520a83c6ad33106001811461135457801561137a5761139b565b734603180bbb8221157880afaa84638e0fc467738d33141561137557600197505b61139b565b73479b454f499333551682214f3859c2520a83c6ad33141561139b57600197505b505b50611468565b734c055329042980eea72b49e8b8f2b1f2672243e83310600181146113cd5780156113f357611466565b734bfcf7a62e5c0acc874d496182915c3642e64cb63314156113ee57600196505b611466565b734c33c0e010aa2cb240cf73a683c1c6c4ccab562633106001811461141d57801561144357611464565b734c055329042980eea72b49e8b8f2b1f2672243e833141561143e57600197505b611464565b734c33c0e010aa2cb240cf73a683c1c6c4ccab562633141561146457600197505b505b505b50611628565b73520c602cb82538e9eb71d0310449f3e2eafa9d1833106001811461149857801561156157611626565b734e3ca608f17ec15236a0ce6dff03175f89c2bdcf3310600181146114c25780156114e85761155b565b734deacb315fc16b746aa3c5f42363a0bff694c42f3314156114e357600196505b61155b565b73500af6e7c53dfd8e083e7e8c07f3898411face2a33106001811461151257801561153857611559565b734e3ca608f17ec15236a0ce6dff03175f89c2bdcf33141561153357600197505b611559565b73500af6e7c53dfd8e083e7e8c07f3898411face2a33141561155957600197505b505b50611626565b735687872eb3cba26ee20945e62647b438d309ff0e33106001811461158b5780156115b157611624565b73520c602cb82538e9eb71d0310449f3e2eafa9d183314156115ac57600196505b611624565b7356f03dbc2d16f4a252a7176e1fc3f05b53c6aad53310600181146115db57801561160157611622565b735687872eb3cba26ee20945e62647b438d309ff0e3314156115fc57600197505b611622565b7356f03dbc2d16f4a252a7176e1fc3f05b53c6aad533141561162257600197505b505b505b505b50611a23565b7366c4f101d61f784eccec1b5aa48cbac4e1512e0c33106001811461165857801561181657611a21565b7360b86af869f23aeb552fb7f3cabd11b829f6ab2f33106001811461168257801561174b57611810565b735a243879d1a43f48042c33bbc8051c69756f67d43310600181146116ac5780156116d257611745565b7359927b1208051b07118ee542a86414ed74eef4b73314156116cd57600196505b611745565b736046945c5b5ef5933b8e73a98a6ad7bf3e031df73310600181146116fc57801561172257611743565b735a243879d1a43f48042c33bbc8051c69756f67d433141561171d57600197505b611743565b736046945c5b5ef5933b8e73a98a6ad7bf3e031df733141561174357600197505b505b50611810565b736298357c08988e0229b00fca5cb89aa12c9f70a333106001811461177557801561179b5761180e565b7360b86af869f23aeb552fb7f3cabd11b829f6ab2f33141561179657600196505b61180e565b7364bbde373e909501de1309231336761adeaa07d53310600181146117c55780156117eb5761180c565b736298357c08988e0229b00fca5cb89aa12c9f70a33314156117e657600197505b61180c565b7364bbde373e909501de1309231336761adeaa07d533141561180c57600197505b505b505b50611a21565b7375bcdbc99d9ce8ea5c8b0298cf2db409c8a9790a33106001811461184057801561190957611a1f565b7369181a03fd84d1e2679eb520dfde72c97e1ce52433106001811461186a57801561189057611903565b7366c4f101d61f784eccec1b5aa48cbac4e1512e0c33141561188b57600196505b611903565b7372aa4640c61639b8df7f135355995a75d295b9f93310600181146118ba5780156118e057611901565b7369181a03fd84d1e2679eb520dfde72c97e1ce5243314156118db57600197505b611901565b7372aa4640c61639b8df7f135355995a75d295b9f933141561190157600197505b505b50611a1f565b7376e40d0a69fd81826b5eb7d18145626d46eafdef3310600181146119335780156119aa57611a1d565b7376dd32063b2899a59f6e15dbc474a160cc92275133106001811461195d578015611983576119a4565b7375bcdbc99d9ce8ea5c8b0298cf2db409c8a9790a33141561197e57600197505b6119a4565b7376dd32063b2899a59f6e15dbc474a160cc9227513314156119a457600197505b50611a1d565b7377eb9084ce8168901bcb11f14f02a7aab36fcd0c3310600181146119d45780156119fa57611a1b565b7376e40d0a69fd81826b5eb7d18145626d46eafdef3314156119f557600197505b611a1b565b7377eb9084ce8168901bcb11f14f02a7aab36fcd0c331415611a1b57600197505b505b505b505b505b505b506129ed565b73bd1876611b9ee9927d2c892479bff5b31e9e96d8331060018114611a55578015612222576129eb565b739da9e152ee8d6c6d504cb392f22039bb5205655f331060018114611a7f578015611e275761221c565b738e2400a8822fe2da5a8c52b7f7b412acb49813c8331060018114611aa9578015611c6757611e21565b7381ca1f172891be4573f88745eac074f7fea90d42331060018114611ad3578015611b9c57611c61565b737f63e88c8a1c65d1a25ac02c8d37645b96f691b2331060018114611afd578015611b2357611b96565b7379071d243055e6d3bf9dbea842dda69905fa636f331415611b1e57600196505b611b96565b73804abde86c3ecc4eb738c452a4cf129e151c3014331060018114611b4d578015611b7357611b94565b737f63e88c8a1c65d1a25ac02c8d37645b96f691b2331415611b6e57600197505b611b94565b73804abde86c3ecc4eb738c452a4cf129e151c3014331415611b9457600197505b505b50611c61565b73870b81cebf36c6ee34f98f04ae6f8ed92dcf5153331060018114611bc6578015611bec57611c5f565b7381ca1f172891be4573f88745eac074f7fea90d42331415611be757600196505b611c5f565b738d6e15cb3442ff24f2b8538c203b829f3d879705331060018114611c16578015611c3c57611c5d565b73870b81cebf36c6ee34f98f04ae6f8ed92dcf5153331415611c3757600197505b611c5d565b738d6e15cb3442ff24f2b8538c203b829f3d879705331415611c5d57600197505b505b505b50611e21565b7393f635372008b7c5d770aaa6ff313454c8dc498c331060018114611c91578015611d5a57611e1f565b73922b2b25059355fcea3bece46636e7bb234fed36331060018114611cbb578015611ce157611d54565b738e2400a8822fe2da5a8c52b7f7b412acb49813c8331415611cdc57600196505b611d54565b7392d6c5cb3b6148fde44d0d7295dbecb8dae40ef2331060018114611d0b578015611d3157611d52565b73922b2b25059355fcea3bece46636e7bb234fed36331415611d2c57600197505b611d52565b7392d6c5cb3b6148fde44d0d7295dbecb8dae40ef2331415611d5257600197505b505b50611e1f565b739a4b736749bdeb4b481fa57198ba4caeb3b07723331060018114611d84578015611daa57611e1d565b7393f635372008b7c5d770aaa6ff313454c8dc498c331415611da557600196505b611e1d565b739aab3f81604c683a1a0d14019fbfe15bef7aa1ee331060018114611dd4578015611dfa57611e1b565b739a4b736749bdeb4b481fa57198ba4caeb3b07723331415611df557600197505b611e1b565b739aab3f81604c683a1a0d14019fbfe15bef7aa1ee331415611e1b57600197505b505b505b505b5061221c565b73ac221503406190103b8cb7d9393ae66d9c9af6a3331060018114611e5157801561200f5761221a565b73a49beb93fdf20bc38c61d516804d87f2632fd41d331060018114611e7b578015611f4457612009565b73a2927844dc549ca7446e5ed3e007751716fcd3ee331060018114611ea5578015611ecb57611f3e565b739da9e152ee8d6c6d504cb392f22039bb5205655f331415611ec657600196505b611f3e565b73a483254773cfe94d502557099945caf90725473f331060018114611ef5578015611f1b57611f3c565b73a2927844dc549ca7446e5ed3e007751716fcd3ee331415611f1657600197505b611f3c565b73a483254773cfe94d502557099945caf90725473f331415611f3c57600197505b505b50612009565b73a5a13f62ce1113838e0d9b4559b8caf5f76463c0331060018114611f6e578015611f9457612007565b73a49beb93fdf20bc38c61d516804d87f2632fd41d331415611f8f57600196505b612007565b73a9f8db9d7791e40d34ee431677715ecccc5916c7331060018114611fbe578015611fe457612005565b73a5a13f62ce1113838e0d9b4559b8caf5f76463c0331415611fdf57600197505b612005565b73a9f8db9d7791e40d34ee431677715ecccc5916c733141561200557600197505b505b505b5061221a565b73b59171a8d1cff2647330096a28d73223e7b2739333106001811461203957801561210257612218565b73ad259a73b6b0b04fec294996064adf7a719d26e8331060018114612063578015612089576120fc565b73ac221503406190103b8cb7d9393ae66d9c9af6a333141561208457600196505b6120fc565b73afdc6373e653fcbd4583f41e2a5742cfcb5effc73310600181146120b35780156120d9576120fa565b73ad259a73b6b0b04fec294996064adf7a719d26e83314156120d457600197505b6120fa565b73afdc6373e653fcbd4583f41e2a5742cfcb5effc73314156120fa57600197505b505b50612218565b73ba4ff5f9d6508000b7fd0035bd616aaec070384f33106001811461212c5780156121a357612216565b73b9b4bb195f5dbfbd6f88643ec694996ad30f83b233106001811461215657801561217c5761219d565b73b59171a8d1cff2647330096a28d73223e7b2739333141561217757600197505b61219d565b73b9b4bb195f5dbfbd6f88643ec694996ad30f83b233141561219d57600197505b50612216565b73bbad96336943a36e3e292d973b3382dd0ba4d1ef3310600181146121cd5780156121f357612214565b73ba4ff5f9d6508000b7fd0035bd616aaec070384f3314156121ee57600197505b612214565b73bbad96336943a36e3e292d973b3382dd0ba4d1ef33141561221457600197505b505b505b505b505b506129eb565b73e58e5ed4544f58831a84c18178b911a5957ada0833106001811461224c5780156125f4576129e9565b73d1b076dd3b2ba2514cf9b02a5a425e1ec2534c89331060018114612276578015612434576125ee565b73c4d219b78ec5d105253e016d7401ce005ed7346d3310600181146122a05780156123695761242e565b73c140485899c3e0c739dd5e0f480317695ae274af3310600181146122ca5780156122f057612363565b73bd1876611b9ee9927d2c892479bff5b31e9e96d83314156122eb57600196505b612363565b73c4a675c5041e9687768ce154554d6cddd254071233106001811461231a57801561234057612361565b73c140485899c3e0c739dd5e0f480317695ae274af33141561233b57600197505b612361565b73c4a675c5041e9687768ce154554d6cddd254071233141561236157600197505b505b5061242e565b73cc5ce245a296667aca1b5855f1a05ca950017e683310600181146123935780156123b95761242c565b73c4d219b78ec5d105253e016d7401ce005ed7346d3314156123b457600196505b61242c565b73cf351e3b6fc104d9906897b16f2043ed593bea253310600181146123e35780156124095761242a565b73cc5ce245a296667aca1b5855f1a05ca950017e6833141561240457600197505b61242a565b73cf351e3b6fc104d9906897b16f2043ed593bea2533141561242a57600197505b505b505b506125ee565b73d68fe83d3834bf35c6e1aa8a9d81c56249a6188133106001811461245e578015612527576125ec565b73d295879063be7a6c49f7327afaa831a4f3f648823310600181146124885780156124ae57612521565b73d1b076dd3b2ba2514cf9b02a5a425e1ec2534c893314156124a957600196505b612521565b73d603499a2b0f8f5c5b344c361060d1acd89d1f033310600181146124d85780156124fe5761251f565b73d295879063be7a6c49f7327afaa831a4f3f648823314156124f957600197505b61251f565b73d603499a2b0f8f5c5b344c361060d1acd89d1f0333141561251f57600197505b505b506125ec565b73d6f9f050049d34782e934e40b946be2f70184d89331060018114612551578015612577576125ea565b73d68fe83d3834bf35c6e1aa8a9d81c56249a6188133141561257257600196505b6125ea565b73e43e0c27b0891e3ffdcf617d90c47be37d55ad683310600181146125a15780156125c7576125e8565b73d6f9f050049d34782e934e40b946be2f70184d893314156125c257600197505b6125e8565b73e43e0c27b0891e3ffdcf617d90c47be37d55ad683314156125e857600197505b505b505b505b506129e9565b73f34804568a14aac794401bd401ba2101a084b24433106001811461261e5780156127dc576129e7565b73ef491256a90611103395da600afe64bb062fd655331060018114612648578015612711576127d6565b73e6c4e99725541992a34477849c93901a96bf78123310600181146126725780156126985761270b565b73e58e5ed4544f58831a84c18178b911a5957ada0833141561269357600196505b61270b565b73eca2e2d894d19778939bd4dfc34d2a3c45e964563310600181146126c25780156126e857612709565b73e6c4e99725541992a34477849c93901a96bf78123314156126e357600197505b612709565b73eca2e2d894d19778939bd4dfc34d2a3c45e9645633141561270957600197505b505b506127d6565b73f0594c390e6dd5d4626d367d7fb2079b1d5cd67d33106001811461273b578015612761576127d4565b73ef491256a90611103395da600afe64bb062fd65533141561275c57600196505b6127d4565b73f20dce1e8efd106c871c3872200234225a20b71233106001811461278b5780156127b1576127d2565b73f0594c390e6dd5d4626d367d7fb2079b1d5cd67d3314156127ac57600197505b6127d2565b73f20dce1e8efd106c871c3872200234225a20b7123314156127d257600197505b505b505b506129e7565b73fa66759e7905297daf1e312751a85885fc2657773310600181146128065780156128cf576129e5565b73f621b27508b5bc902ff553d0323105c59351a634331060018114612830578015612856576128c9565b73f34804568a14aac794401bd401ba2101a084b24433141561285157600196505b6128c9565b73fa1d4ce9f0423bf353795ba85b47c3bb46e9a69f3310600181146128805780156128a6576128c7565b73f621b27508b5bc902ff553d0323105c59351a6343314156128a157600197505b6128c7565b73fa1d4ce9f0423bf353795ba85b47c3bb46e9a69f3314156128c757600197505b505b506129e5565b73fc23b61db3a1dce083e82da5a2ccfd91a2211f7c3310600181146128f9578015612970576129e3565b73fb9779477e5b4834bf2bc02dd29b97b344d0f7003310600181146129235780156129495761296a565b73fa66759e7905297daf1e312751a85885fc26577733141561294457600197505b61296a565b73fb9779477e5b4834bf2bc02dd29b97b344d0f70033141561296a57600197505b506129e3565b73ff82bf5238637b7e5e345888bab9cd99f5ebe33133106001811461299a5780156129c0576129e1565b73fc23b61db3a1dce083e82da5a2ccfd91a2211f7c3314156129bb57600197505b6129e1565b73ff82bf5238637b7e5e345888bab9cd99f5ebe3313314156129e157600197505b505b505b505b505b505b505b5080612a085750336000908152602081905260409020546001145b90565b73ffffffffffffffffffffffffffffffffffffffff81168114612a2d57600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612aa657612aa6612a30565b604052919050565b600082601f830112612abf57600080fd5b813567ffffffffffffffff811115612ad957612ad9612a30565b612b0a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612a5f565b818152846020838601011115612b1f57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215612b4f57600080fd5b8235612b5a81612a0b565b9150602083013567ffffffffffffffff811115612b7657600080fd5b612b8285828601612aae565b9150509250929050565b60008060408385031215612b9f57600080fd5b823567ffffffffffffffff80821115612bb757600080fd5b612bc386838701612aae565b93506020850135915080821115612bd957600080fd5b50612b8285828601612aae565b600060208284031215612bf857600080fd5b8135612c0381612a0b565b9392505050565b600060208083528351808285015260005b81811015612c3757858101830151858201604001528201612c1b565b81811115612c49576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60006020808385031215612c9057600080fd5b823567ffffffffffffffff80821115612ca857600080fd5b818501915085601f830112612cbc57600080fd5b813581811115612cce57612cce612a30565b8060051b9150612cdf848301612a5f565b8181529183018401918481019088841115612cf957600080fd5b938501935b83851015612d235784359250612d1383612a0b565b8282529385019390850190612cfe565b98975050505050505050565b600060208284031215612d4157600080fd5b8151612c0381612a0b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612dd4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220b5fc3879af9dc4ca98a5ca0c383e9738a3fc0e6d3e0c9cb398d76bd2a81ea32464736f6c6343000809003303f1d79a933a62c1e80ef11a9afde06f0696380de11fa303b6f697b0e406fc587e03d44101f0226867cc74440ec2000fa7e8456930acffb85f2b765b6341df814bd4031c72b57d9cd6636a1f756c755b54c8c799404964c6c506609a62a62717af482503f7f26ed20902a8916e6734abb3bba4d4a4ef930b2b11b9685eef50681989256603a7c4077f3b7182f600a8c9924b07443b091c8bebbb7b86ab9976f976be0f384c038146c36b359a94b9e00d517b95f1a4b68fbdde5d22a188a167a9312dab37697f0334e9c97cd0939952eb3f9859592b2817d9a8dcba3de462b694475b27f5351ddc03127f5ffd5c7ee793143607ddd1b6058961de074e79d2b36547045fda578df6cb038034507f93105e574ec0342d674720c7ce0c44ab180cf29248a27197d732ac76037064caf84ded10c579b9c76b7697d265408796f09b4ae8c07125c01ab7f4c671030f678e070aeb3c02f22045b0227c0017c3ac47b78bd918c0c6efa023569b7dba03098f8bed8cb0482550abf052408ba7b4c8b9bf4165ae540e76b99a467154d923034c79f77c0cc62f6e5da62d5866284a44e2f6fce7f1ddbaf27b0ee1a23d2ff4e803b05714a9010af3a23f0d3146c3bbfaa669c8b1fb40b92612450aa7852fc5698d031c099c2fc04189d59ed659eead5509d1275b6db1f8501891f00eeeb075efe6e9036a2428e1f9a4dd4f6e32742f54e696f071781ba1a4313529a7d1d459e278c88d0219ffff05581d02336e28220d76b6dd7f5108dc4ddf954faca64190d889a9f9cc66e4460f01490eb9ca22c7d30a9949192e110219400805581e03190db3b6aecd4f30c8381683fda9080d3bde6c906039c63c16c079c2e00c01472978b4b84a2040037dd7227b6031a70884a947666a6a11f74fd4fd47ead17ae817c8c3ee65e2c83903f3192b1b9722adac4fe969f814c90cf414ba51e31aff911673db5e6c6917330403431ed3fc4b3a305fb14cf8a4156fd171fa395d255648e3ce00502c4de52bc68b0219fe7f0311f16fcc6a53656e0124e674d13f0ddc84d97562bc719dde934a1a6cd3e4cb4103e29bb8503af3951e6719bf72f3ac66c9b3c295b395f4577eef94069a94dcdddb030b1422e8c78c62024944fc2bf864259d57950d20c3d33e94645d2ff3bb9fa5b7032c473f3aaadb43f9b29fc4f4741270de42f122f069104ca06432352c111bfff503b62fa8855626ed8326d65c8b6f43c375ab1fe0611540c22fbf8dcb717d1fda1c034a7230661eff2ca6e9143c0954a3f11868f71726644d21be70dbcc9927b5a9130345a6fdf2c0678a723aaf4ef1f78c55bc43a15fdef5fba53f519da09d4d2c3c690386103912be1de2f830bff5c0b8b0e6dd2c60bc89c5aab3a34b9b3d72bba9daad030f7898f52291726356cfe80891e44400a76751bc61f0662c60d7ed7c65d6d88a0219ffff0309eb57714d0e713ed88fbaf69890bfe53200e54276f24dff8114328d4d375ad5030564e5b19e58c1070ec590cb7daf8d9c5e15fa864d807dcaabdb8ba76cf8c8da0302e3f53f6047c436e07b93b0ef7f3144eb306827988774725f5f4d3e2d06d09503f634f9dc5848ddfb22ad5dbd4b833b616bf490c244eaf7fde8b2936a80bb272503616f535265f914a4d54425a294ebc1c62c010997a239f89f62d7a77a495cf30203d21b638287c85db409c70971831b4d7317a0cc8e8606a9517069c1d2d4a74fc70339057378cd4cb47579f5c610b968ef07db5fd77ca75e67476ad9b14a56ee6b74035f5f95ba7d0d66cbc24880a761cf82f98d1b13822a08643c867daea802d889070219ffff038fda90b179815e8f6450010d235f05b07e81841d53e41917e3094a82e09d2c8b0389833643b5bcb511125193354c14edf1847018c639b4651ec437e94985978a3c030ae2747001860b24477a2fb20e1ca14d9c07c47ad2555321629cb830ce483a6f03021e461c0b5a757ddc4f3d04240977f53acfdb1b0045437a26c7b69895f1136403bbd5dd279c46fff1f32e6ad02f899f0847d7814242e7b693517dae61e191d131032f1acd41f1e73a162bda5bfe59b1c24070988532288e5aa94099f28998f57e6203ed2f4a8d6ff75b2afb853b8ebf9ba2f30c814fabcb004edca8f043c81ddadcc303df5dfb8f15bd4848a93efbb33a40a3004462527c8d814e3a68cf337cdb135a920219ffff038ae0d6cdec29a1d6fa067659e430479da708c87607d19a78374b4be0f0f4c0fa036e25db2fcf247471dabacf063c420e4a730595d753c3539fa192cea7061e70f303c3f109e87052424df83fa63da1963d37e745da372b015535e6993c2ec50d24ff03b8c3903309df426f08a1ddcc28ed3876ffa728630a89fefc30aa03cabf82a12603dd70a4515a8f1987aed60fe4de860e11afda4472f8502ba9300cab0f45c1fa8c03e0ea037fed772b903e0a7cadcb95422121b4de441281538ed0316c533d73f64f034f0a9aaa68f80398cdf8c14e05d907b3a5a8a7b6c8eacb6910295362f255b4fc03e9372f73434e4c32726dacc9b8795fc9136c55542e0527a9f1395f61f61d3ed90219ffff03bfedbe15edc22f6893b9f87a0f65373fe64fd5f20e59a4b3234a2e38d1a3627b0361268d501ab80f251073de8283a2c68fcab63e621949d1e84fb264618ba1d2a30365346018baf2fb6890a182b32df2438699bdf25020b61869c78c3dc5838b0a92034b8a31c9896c27a989ec28ca58be4fd8a9b5aa4e7352a62e3228b030709344f003609732b677aba7a6e7997e40bc3917f40c558619eb9aff0e8f14a59a5a120a75032296332b4692f02f44566a391d6620defe7a4fca8a5e35dc026180585e39778b03cc206a46115836f6595b09b5c2313d60d34f232c1d31e9eddbb3b0e01b2e13ec03b4ef0bc7b6bc1342fb66d9dd11a48413fdc2582c72ffec69533eb2585876a9ea0300899621465b2f78211db1b997aea8d8f1dea1d8f65c9a35db0fb709480f3a7e03ba2d66fd041b3b781a2c36674569f7c411e7054f0de194df972e6bfad4960b9503d6355945b8a5f6f6a0f369ea515febfcc94483414ebcdf2296815d0fee788c8b039206a9c87ffd73f846bf710fb74187eccd708aeef8da086f73f2d2972a6b729e03a456756b6ab97a9d0abe5e99a835d2057f15f1b4d0f4325d357429604811996e039082a8958e3252bbb877f53bfc7882e16e5a0cbcf5f078b8261c30a1b169d2250358a5fab335d8a02839c49603d03679974fc3ad8e9350bba4880336a90a84fbb403cbad53c39a3892eee5f02e5630b83d049b60b9b63164e6e904e10347c9b83d5c0341d3077e4cc3e215579dda4a97f61acb55dd8d371852fb324a52418dd487a7eb0320bd4831f0f4a917e39dda6dc7fb0442b8974abb99ed1628f20b2db3798f36920379bc85ee620da9a19a1dba96cf0c24f53bd9a23eb08fb3a8463b12bf1d357689034baccda2b1e4674d9202b75a274b635e36b2bda3c45f51d905d0a973188aa93a0373d20dcd7d5f7b82361daa9f303c7bafc677493ea241c2751ea4dbf7d57fe8db037f72b76227187c4e3e92abeba045a625e37b65fdeeaf32df16e6152f915d711d031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03169fc9ca8e3b249dedeb48d66fff0a6ea84b83ad2b610fe888ffb8d5a007011bffffffffffffffff035d15a69f5cf21664c4b32660101b9de913d6ecd54ea0455192b34fa81aa485c505581d029917c43516fddbfb20680a23f3e084681604fb8b0e51b6fcefa7978d040f05581d02d75ab0d33aac76043475cf002639e0d6ac65552be16179b8783afcf20c024703a863b10816d00219900003d6bb6c9af5d7dc797ccd1a01c8b7493d31051fb94f0e393d82615de548d6cfee05581e039864cba3bdfb3bc9b6f5d97570330d13e696b35fa262ecd9d59b7429200c054672899c87cad805581e039aaac08d61561e60b63298b83cfce96b3a039508a70f2e6e1d6087c190040203e42391dfc8e3b2957fcd7f982626e1ce7a6ce9d928dee35640b94a32add01fcf05581e034b0f77cc355b886d7a553a7cc08bd7d84e82a9c83caedb16c159817610040105581e038c4f131e0cf35e7abead5a6f5e9a1df1bb39147c4b2286cb0341b5ddb0040105581e03a7037916dfad483f8ff3c283a824f93a099b77418bd836a005fce2c4800c0946adeebbbbba4003d1a46f115cc3dfa847531b536f91463a566f02f71c31b2bd523d2ce82287b26d033e5e540c08157ada4fd9a69854ff076cb003eafc38750932731e6204a5e9d6c50219eef6031d547ec9ac190fad737d54fdcce527619040be8be1d345f1436fa02c4e78d18d03d2670cbd93f36f802b3855141f1fbaa95386ba5a1d53be19594ba8d0022b7f8e03d43306fcd79382c63a6e16116d559dae0e3c7f6f3a7fb11038ba952b6e2bbd0403ca53ec0126ba08f80873154d4e52318dda25e3f4210417cc9bea5ed00df697e203a20d71712aa2099583f8f3f0a8a9a12c2b2b749fb3c848dcaf56ba5cccbf2d68030634287232605ecda1156b603a95174441e7eef53fe01031514fbe910ca6ab4703081a902413a7630ccdcba89465c7947a135b7fa4a5e97d781224acdff8adedbe036f0ca11e071d026f6169dc43755b1a1102ab28cf13f858d4a89878f9b8e6865803cf7b6b4e8b0e11b1cf0a13128c6dcd92361b54a78fd94d325f9c4badcc0ac73303dfd83129477f84c32a80fedea9060abca50c158757d89971dd3a7b17a90f18c20341037a02fe6190356f51a4c9407cac7b550510e4741f384f451c8c2e90453c9f035c3f6ec55abd28679203b780741c0a964870b517711ce3efb536de0a5a12d455038afc8a35babf629c903149be43b40f4b34443c7881175f8d596aac1eead118c503c35e23993d928241df0e9f6498746dc64650cd1bc577af7042f0daf21bf9c7080397b7ae064eee51fb7524b737181167c4d737cd85e366803cd21bcede1dc9371d0219ffff0359c5642f3c2f094e29ceacb432f443fdcf58eee78c7efe3779d6cf44b041e8d003ad75dcac4e52e01acee103ae4d25bd3b62418c27847a3132d55c3dece9b9c4ea033893516dd470b1aa67ab6079c7c0bb99fb1323913cd504f23a877a5f66e714ce03f8acc865f1f8578d9f3f4952cc48fc6cc87693ff037cec3c7d6cd97dcd538885031bc439b8670491d7985bb2ace4f15dad195eb23e5a632135ab10fada3db8376d0338d7816383618687ce04c499f3ed583da7aa334a00cc01e968e45683d2a8b07e031eb2f547494ecc0cb4e36c9d7233c47fb91cf2dfce5fdf3f7806f6126cdc8f3f0394e088ab531c01020eba1f184d727bc83a023a365d3955d549961e9b193feceb036786f33beb2f3b3e69b53540880202a37e9a76569fd319c9a7f5a384ec281b680385cee4ece4529d14b70b02bee74eca3bf0d9476f55fdecc3b011ac12d33c6c2f03f6621deb6f55af7179e1c31262b67d9f5e1658db825078a71261fc7af5aa4246032d2b172a99efeceded1a2127d368f51be143bc2eb68aea5a632e3d0e746987a00219ffff03fd4ca75bc4d501fd2330cf73a891d44001c1f8e41e8e30542b63b55594151f8803ad2924861494ff9e83e3cbf3cc1bbb3efa6cb30788435b93021b66050a54523a03fd88b5c0b763fb96bbce81c0fc2372db095ae3d95dab7bca392cbe4e871b15750219ffff033718a5d83422f0f3dfd8c661b08c14f2c3c79e218b65c795e1e4c4cb1648af8f0395d1f2c956be01c9a0e351c4c587e066ff87d9d729a66cf9b558cabf47812ccf032846482f4b6e1dafaf1992cf3e20e5a08bc8a00eb395834987a7c6746d213222035b7fb445df885bcd70c45b7d8be40249be1c2f50ec935a54493825215c80158d03d332d1e2a4de8b2f7d61e8cf3c2d3bdc1374bdee172371fdade771fd79c148c303a14bacb707041fe7a1bb197e23ff7bf2dced70eb8bddf5c77d0a6a18e107b5e6038288d71e43afd84a29909e52df431226e4a9f9f7e88242b7ad4e14f21d8aef16034579b92443fd7a34d489be01b288279ef7d6c8370b66cacc2362db6100d14334033f76b0b921737dc423494db8ea356d18f07a8c18e21e80b837db9fd0e3517eb303243dcb0c71d4fdc8677661fbcb321ebcb0a0884a5880c9c853b9a49ad164c96c03ffaac340926ec7456fa21c78efdafe63b9e28433cbbcf7b227e49afcf71b25ad03beb6df5343ada118c88f6f7e83b72e8b887ea5739e30b7c905d52716a03b31ac030c77e0e2c6234f66895e3fb1bbbbf4187163c31ff8aabdd055d44039cf247af703d99ee10714fc1011b1bed2cca1fd037897b3e3600df7069baa30ee5763d371ee0347a5e96a760db41d92229b0ad7499f68abec4c778aff05523d5dcea6a677445303601907b58510bee4e222bf200a94108560d0f2f93e57232c8b917b97dce8f34e0318580d2338a0c85317333553b15beac912b8ae792250b29b884980f3ef0a648003c25b8a2bdc4d70b3bce6e666ce7c9f095143bf38cda5e0c36a41f403bf037fb9034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581d0287ed5abcf3d59f4e394693978b24feac01f080758ec7ec645ac2eb2907011bffffffffffffffff05581d02a55f6aab840f03634f2a819f2f553284c635010800145b0979fd1a180c182647322b0e4fc46c570219010805581e03d495428691e555f9948bc9d8ab4b492b974f81f43916221cb300e228f00c024762845e0a5b57f805581e031e9d409713e53425b2b01a3f28794f33a1746d18ad17301c0c44582c40040205581e033c774cc5900939967328b624bd85d4b285cea3a067dd10637534346d100c024703663ada29e5e0039f6f14d5203174ab04e5c60b4186cf0c0d78cdb592dde1d5b1f6fb021974c848031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e039ca4a6c64e18a609e426f31518f2869f8aaa8a5c1ba60658433855bad007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031787c68b906263560a7367337ea098447b608473820a749ae9ee44835007011bffffffffffffffff030402efda6090cc6c3d51f1105d28e63d2ad18a50b07f6c4377bc826b8730bbb703768724d68c6ca8f386ad436e49e4d6803ade498cfcc30e2f87060901eb63bc0e05581e03356fdca9509bf71766ac3bb8569062cfd9a5fdf8a2cde68bab5a6f86c007011bffffffffffffffff03f381847f4cbc1f3e57443066c32c762ba5ac719d0ec44e571d2dfa2174da88e005581e03b58af030f2dc29ef6649c36321b12f04b2bc6276197d58af6904b957d008470e229b482af80002197d9e0384d8d4ece4a43a740413cbed1a4136d1c8aee52752074b479e8ee2e20c1b0f9a0373f3391ea6e11185c1bce19862b53d27ed5f8d13756c5cb90a577ca06ae4c458031598ce08bb74fe81ca22af82d96a4e66f616e7e632e16b0a314825d3040d3e5703f0cd35c447be09936fd1f5fc543e3e8d90aca125912d039a639b796257740baf03397b90278bc304b180fde9fdcd77bd69c4b72ba014f0e95d48bb124b64434d9b031ed6c12689ecc7a53a5f9ae1a070040c1a8f25f07d31c56e2615237142c9ecc103b315a2c8b75fa634907651adb30d580af2d956041695a0c7accc1be51d36fe9803caa0b66b5dd79ab8f3fd7c15e8ea7756fcc9f2f771aa6e2a5b464fbbc35be6d803df361397592e8b6a71ea6cd205b427c89401100d7cc174b5241a51eb20fdf95803321e895b25d0320cc02dd9e1f0fee9ac5b3f1c2e5737156e3ccd1204297b20180311337ee38e0cfece3460d2adaefffaf6b6c8785455973b42522df8cbc8d85b790219ffff039c6ee2158bc017c855bb397168a6ebb99dcccf47b0809495b1c6c62fd70651de03bb7bda4f3fbe73571f29ed520c4d027ef1cd14935d62fca498c4e41910fd87410346af8328cfe2179a65c2fdf6be97f0a9e9b92f253a7e22f48917e5c66b537b6403e6f187fe68dd30331d50d6725448e48e084c0971ad5d90d231fde415b3bd3a2003ff610f7747a3c6eee4da66771cf84d2d76ec9484cb7b3ab32a075356150e7f380219ffff03a17fc87f3619a04271d31f95dfc2ac9f2ae189b482677f0d0ebe69995ea5471a03b1432ab8a9290e4534c3083b464a5f6c8fc96eb57ecc4e3a6ded4d877d5b48ab03aeb783fbafa236d922ffa85702112f3f8aaf6e0d2296e3c4eb2d9c1e53586bbc03905145ffc5fafd824ee2d78cb952ce292e7ac2c95e747f261b44003325f389ec03d728eebba1c382030beee80674b387612d3f1b9cdece48cdc1d194fc66f9f3480384577d10e41036ab9e44b721ad71d1d7ac4073c7a6840dbb2215b808d827f4d003f26bd3a4197ad24c99af5c60807460479cbfa617ab0077d0649c7f090098e59f038a5d8d5a1c5778c6954f0674bd858d9529a07a2def0fa3523cfa75888eca6ba803a1499c8e58567e5f79ecd0b7f6106fb581f216b1f521b63a3b65dcfb0ebc180d03cdbd9375d22912b4b786d9f21bb9ce36ef5458f7e25e18430bbc15aa90d7b5820324a7f2029833478c4c7f851e0c4738680bb00e5b2e3ace4a77c896f61aad6b6f03d0217f872484c2a58c747d233d17d275233e1150ca5774d15d0e05b26c72b9a2030e15eff188a1b2d83c411158e74e801dc5b75f42a1a6b8694d2065f30c1890aa0219ffff03bd64f032d1d390352f5affa250619d77aeb1e7ec81f80ddae6be8f8611f7f981036b2e893e56ba8156f4d5c7299ede89ba5369dd382b28f09c03e78b6cf66c055b03a61cfe79a08de51bcea14ef74713c20e0ef2a0414846b7728deead94795a4e7d03bb34c684ba0217276905d002c575c8162370f0ef0304c8d47165548c8f353c5f03e38c02bdc62066b8e4356a7f0eba2df8216b9fad63ae34a36b67f652f3398d850303b53f224f3486b18d1e4a0de51db32b1e19628fae8c34f185d6c171085815560349ee3f4824f6571f97cc7aad32a3676514c413fc2d781e17e300fdbb77aab368038b4ad5efab20aa620d5ca203ff2060b96c064168bae9a807ceeb364a7440ebd703d54879445ca74e60132690a4e7bb852718d03e1ac550e1e2e19be314bc965dfa035046b9612810e6181666108d530d0bd5fdb9b53e2e046e33ceb62864c803a4f00369f3ca8f4d7cdc876bd0b6a3758fa1d58c60e866123dd75f1e03cac1cafd069003ecc0f0d53a1ff18c7cd2c9c652528cfde3d771ae75ba4cf8ee94c3c5e96a176803fb2728a425a4da0002848c9e85ade483b890cd0e466cd4408269e74cf24bc2790305a0915c347439ba034f8d90325b416fe2db5036ebfbf1c85ea5c8a63847190e03eec3ac75178bfd1b3aa28f903e84cf80513206026ef67f3da4e0e2583ea14b9503038a1e05acbb254f28a89a03f48786764a5e73564fcc5f2dece677642169018a0350dfbd41d06409d08752261542a0884f6757bb199c562ef1205fc0fc5d66010903880b37bdded4d57aa922c0deb07ecca7f5efe6a6d9db327acb3fb81ecaf58f2b036f8e5907b2bb967a2729142a77ddf585de6046e934670829639ea3f14ea478120376e3e3fed0f4891f011a9472087fef1763e4dc7bc72b08eb677a107db01dbf1603236a729dde0fd61d8ac22546eb1c82cb569ecd35794b0e0421dca563c16a11d103167ff7748a7d48828aff3bbeb7d725e2c855fd0ca58a70c3e216f6a66ada58de03fd4228cb3731e030514ea3a16b4c18f4b4e886307a5bd0a1a8c58eb8fd5c0d84035957408308e8bcec2be75300789be5436acbe1122c224419638ede34180dfc5c01410e05581d0243664ff1bcf5a056ae873ec7bfd75bf15dd5b7e883ba01bbb9053b610c024701b61a856368000459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c634300080200330058210387a8b702c11a710635ffc22ccfc80487983096d55652ed9a8263c660bc4b3790410103b62805b29bc8e5f1c6e542a25527f2b3346ff74d4e773cf39f00c5fdaec40738005820024a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff95443de2d77bf8027e25dbd179b491e8d64f38398aa0058200294e2d6f5f07758556a7912016e316bea811e490da42d9979774a0c63c1b7aa41010219022000582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154c86ab72dc6da7ef91a96650f3bc23125cd9971300058200260b7e9f0ccd6bf9a6391a9ca2c6888fac2896ce5b36f601d88d35fa63415dc4101005820021008faea9f2a6980362b51cae0b98c4af4c2de0a4cc6126f25e5889d93fd89410102194404005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054e67534a9f24cc000f467eaa17f920bf63b87a2cd038d4227d904fd99b616eed62e291c537741b3dcf452e88fc0130e47a4d0dc32970058210398a4a320b5832ccd560aa52cb403d6b3bfe80e40de09249db046a3458fa59b50410102190cad05581d02cdccd07922372191245849a4ff8b9c705e159fe056e83483e1b076db0f01480b8022fe41253a1719085d0219040205581e0381f1590aafaa9c9f7f60863c32bf9db8906378f70c8a038fdbbd6c2f800c01461a2ffb0965f0030c29b438387f0b5fc11ad3de365a4f4527b7ca8eb53900481a61c93ff0d6261b05581e03c2e709e23d13e6e820595dbf339044d655785d4967a941b8b97dc91be00c04467263adf607d802190e68038e67ed02aea353b32c92596cddc88c7550ceababac2a2389467489e415ab206d03f5acdd1702760d3ebb6b1e043b4ec260f3a4017c2862133d37fec7b095a7b0de03df92bc3863e9049b8f330b89e3279d008bd0b6b69c4363c30c885a2fe034f98e0340553c8f28ecddc9b440238740f73a55c4bac58a5ccefab2bc636a56c4d065fc0325f34e59fdafb42d6d2f18335ce035f9783e885d761b6b7289aa145c5b99414603740438697ec712c0356cc36a048ddf630ff52a292a6c3b1a509005681c91b5be03b6a43fa02a19f11e80b5c80a2546973e385f6a37c52ba0ed64b058c20bde8b6903f4f49f6ac62d32aa0660e6e73a6419c960b6c56f2c714095e479c5e323b1714903a751a0df516a1952d64512a6cbfe90612471b22e8115604a440ce6275fb4f3760357b5756f09e310d55932b49013b106dda8bf919bf5711cc5647a84feb325bd6603bb21eace98997b6f8e3494071ee08d62cf461e09b59ec7f36fcee6c7a3753e9703f53c21205be9b9636f5dcfad770e7da2242264b529bd6f30c6d5061356cbbafb0306a783a477c40bb15a18250897065f803a5a22947aff024aac77f1935127dd1d03f678677deed46acebee491f5a66bbe69d64958481f360cffe2fe588e661ef8bd0219ffff03b9505c6aaf31a8124564abb216d56fdef7be0d5c300d8a956b11d5f20cd6fdc903430e10ccec2fda273972ba7dc3f6a32aa03364abd110cab6109fb2bb12bfb6fe03d20a60a83377596994168d531c62dd991da1e03e34504199ee24143af9514418030b259e3216005ffca288bcce3d2e18ec0b741e41b537bfa04cf620773820a1eb0380e0cccd8d15a3a46714daffb4c370eee20d82930d41223871ab1efe3c6fe5490343c02600fb0040626c9a3f4955f94458c82d981081d535d1e2f968e6a992226a03e45a28d397c128e4e8e363078e0fb8e96c222b6210b1c85edcf6e124ca31b6b103cd66361472f3f4608559f08e5144d3e6010ac835fca116a8c5a64feaafc0c1e503adb734435c842f96cdc6cfa2fa8a548d108122b7153436216d9af865f8d2351f03f34b59eb0ec3790059791834ae48e0810a410bd44e94a396110f6e36c476f53703f57292d35d270407278b99541731db7fc7afa974b3c8a031a98d1c527b250e4d0219ffff037938839a2a327b500120a50422a3db01f48642851d980e07d2eb16e4fc600d0503d92b9fb674de67773cf7c73026f39efd72180ac2dabf77e364eeefd958ccef560219ffff03222b6dd7a94cd85a15b9c34e69355eb322f2a1c281eb3b86c148f96b6048aeb20219ffff03ce7f7def2c7fcbfa515e628d39a7fcfbae40e0190ecefdd0df7bbeec75322492039fe2a4ce4d12d197420f929aff03631922ac7754d55f2ea956023428b571ca93035c80b3c38b9fd3c23e4eceaba113587779928dfb6df4f2d86e853a27020d0e4d03295ab4fb40b8d24c0552ff2eaac4217293ca86a7fdd796a9fb95a680c95a9aab0360b82c97ab940565457a8a1f1923d6d7849be93b6c0f9dcae81934bfda76f8d1034de20088f98602e3d68767474dc4c4f77c199701a9316c34efcaffe93f13aacb0399fe7863cc44d32a2cf523e89e4fa30b83e31dbd551e1ad80faadab529b8f41503011601f864e16fae7e9c330d17d5a8ed399e395ca419d8f81fce638489bd522803ca503fe28682eab2a42db13cbb913a76ec1a2856cbcce159835fa8d89b504477039cabc80a4341d73c7ab6e3a1b5e4a2e329e261818aef078e37eac75f8d5d8151035ba4025d5139764e65bf4660d3c5d0204ac3caae4cfc3cd7b495ebffc05a59e303394ad4cf257daa002d338b6c01dbeb2907a5345b98d16630053b110f6ab3f57f036ec822ec3965bf4f1163e5656a2ff079dc0059e222f09c20921c1640e1531c4503db292425970e6c2d9d4866c4275497032cb1de0f90810aede02ffa112de6c7b90370f51a8ca678d0a31a8cb1eef132f44b593088c9824fda92b6b610c0c4af1d0603ea192ac5f818651a848077c2c32ea6846aea758d7405c0d9fd313abc42db7ebd03a0bda6c50673630a0d7fa0fd176f4c1120d0fb386b03e93f6bb2f0c6292931a103eb5119161b2ce729939fbc6f02657ece4135cead7e196ca263e530390959022d03bb533a8f6b52526a7edd0c7cca157e4aa3f5810c901e2ac695fa0aeaa899919a039d44188633ce14abb2f0f3adc2097af8089003a01b6496e570d947d11b033a7903f7e76d210fc90466d42c05fbeb2c5aa73671228644b938321be3c84857b08c14038c563089e8f7e48f117b05c3629e0a0e18f6ab0c5d742be43ea416d56131071303dddf67144a9877f5b23ea131840c3569eb221a58198b91c434c825ba4f6d3d2c03af0fc20be1510e1c141af059d7c317fbdc58593dcddc609aa4fe39610f70d26403d0c44b8614f90faf9dd012b733041620c017c2653929e1f2d9dae7f7ab660a970399dc3f26df88e9454fead3584b779e6f79e18292d95f16e0456d9a010dbe5bc803b736457a754707bf59039fa981a0ea1854ffb0de43581ec2b7a116cb18e36c8003703ebbded663ab91f164f16a6c82a0e7ef4675579ca1e745acf3bcefcb4000c803c5be5a04914286ca7481d9e73dd6a0fdeb42a5f75e5685460d98d36b0ae98af20373a6ee870e66354ce7a5348ee071af3921a021c1d166e7ae138d42e3691a574c0360c2e6829fd196763c6f78146874d9d5a3ca03f7c3a8cdd0675c49949cc8f37e05581e03454e3c525fe62f809f773c2b4818f047cae46c008ac7f0fbb6f3abd6200c014706f21de0d0880005581e03cf51b238b21b6563674ed7bae8b95e019871db2b096a7fe06773ddca700c0147019dd5d8adbd92032bfff75cff6c0c121d51a8ced3fbe4882376ec24c02a258af6de5d597704dcb705581e03f1e77a42a40e3da608fabdf43a3ac1bbcfaebed7f9c891e35c9a70cc30040903941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e0393906e678f2dfec973fb38191b391e996c2e03098eb3026e7d170afb4007011bffffffffffffffff05581e0367ad741d8887c7734133b1723540a13f068bd23873524a3a1a408d2b000c18214801a14071b392ee580314181f6ad6623cb755979d9a393b3d9729afa1c7cfded598046d57cd379a69d805581e03108f2086f33c98ffbe752f110d4f4a18ec49cab7235a4d0bb84d3e9ce00c044724e86ae6ec320005581e03d29b630aad8f864ca57a8aacb8b071cd03e28bf4def608e54a56832e200c034643669a81b5480219eec603c3689c66589a59ede12844622829b67a8a7cf76269197af5f5b51e42b5fd8e1e03165b7bbdce0e27bc92deffb76690822676d5bfe9c8fa872ffd4296b8386a603a0314bfa075f495b9554da0a082a8c70ac38d0f5f2780e188b4153e1e7b425a6d4a030d5ae845d29594f14688121e667925aba5089eedb2797f04136c68600389b6f9030e313705f293207ed41e9c78c08ea23872d660d139668bf131de4ae777bc6a4403b3b9c77715cd8898537ebc9a6e1362c4379bb370d9c9fc6a5e1567f2a6d8e48c03d9903ebfd77e4e3bd312c3f92a5c5e2e9c125aef87e89e7a91c3487792d57bf5036e43f3c268b92673199a48f232914502baf888c86eacbda4f1a9dab0f85309020368ba028ebe5d1b47d4ef08e44d7fe1e24f42b497a3ec9841eea2702ef07e248f0219ffff03ecbdf73485c9ea84b1bc9c85b35c1c1d7ecd0391af0ee8857919ff4e96ba9738033318ccd8605ed91e17651a975febb4751ddf4bb662241de55148ac988bcd69ab03f920cd2bf851990604701098f8e318fc6cfd0d771b7cc6f5b2ae1489002f03840337b330cbc63d8ec0c101813f36791f30c558d72a475d57bcef56a2612e85574b0353b20081c9e01a3cd473011fe8f477baffb5578ff96b18ec101101326fc441060303a63b35b4959b40d8672cf96edfefdddce39f547fda5b723d1559d098d125bf0398a899ce3cc65e7ebe67cc84ce738dc96c8fd716dcb85821fe043775da4b40e803642b8f35194eff0c31724959686e4db25d5c55e2b667746f1f6c7f0bf6fdb5a803d728c1be2db321f3c3416001d7c1ef32b7c72dfed0b2ebc16c2249ea32c0e5c803f4f64eb8dc630148ada0e10dc0817dc9ac87a9be94fd4ec5dad62c55974459600370bd4f07162b221ec76e4f80adf555a57d81482898209d0e7de01827bbd9081a0219ffff03ff02dec2b6e68b522f10b4d5471fecb5b9e9a6cc120527f83cbd5a772f93d02d030791fec0ee37ae25549dfa4b253412b4df2fbf10a19f6c1a66430715bfe6acf203c4d4b3172e91759aeece7c381f0c126051c29000dea2962217e38b9d810ebadf03004dda69ef0b386a7c59fdb1b87df9001b8e9f5ed35c34c93b87f141e4a2bb4b03b18d9578992bf2782d08a202538797c1d21ccc57ecc32e1813014e82293702260219ffff035a280089c936623080716596b631807b956e6cf98f130c76882c48b8b4343e8903cb17877cdfbfa95c0d68ae79afc1c4d36342616a17c25dacba7df4e8eee7a1b6034416edef95bfa88411f0b9fff34be92ff4b13c0b0817fb5b3c0134b26329830303195fab6771d5b7c9b333dd8b19bfdf15a0ac58578d2bd38bcdabf83fcf38cd7f036fa582ebe2bafbbe489b14a2fdc22a758678589602e00174eeb682b179e81400039cd2d41e9d96761ec02624bafc0a27b5f2919c12eac792f307f4485c40d79b38039c0719ea1cd00a4f488736f606c397ca2cc54c9cf913417e6099600dcdf1f71103f0e532f8c2707b97f234224abaf6bcbc6e96619141e9d05f4968361e8540a61f0369cbbf33d2daccbb4341fe08ae55c44ef063b38014b8c2c0c11f4141ace25fc603297f3c1d7979e4a1cf284c51de9bd01678165be15695773c7799d88aa9a3009c034e070ea803c42967aaf6cdbdb2baff25e03897e31884a34432712ff46bc4054c03036c752e51628f20e3cf88a177bc9b500c4722afb0341198f20d38e98ce56d4103e40e76bf9fd702ab16ed85af7ff43aa8d2acacf55f4d5961342c3c5257aee42e03a417dd82a0a185ee6b028fa3b67b95979b250199494ec090516678d99afa426903433a6c99d49f7fc76bd2ea87e1b5f140f0193af1538b45fd9da43f01bb49252703cead4444ab75383e7ea07d478e15c52733e59d61a7aa227f98ad31233d707d2203439bf9b3fba5ceb46eb08873063d8b30caaa0b93775d3863847939c141814e700329592efe6d566767a0ce14d66d094060ded31044270190c3979cdf28bcc72df30321bc8ac6fb0977debf4f2881b4ba733767fedd2e53fd4c3882fda39d34f5cbe5032c6ff48a0b3587a422c00047184328f8966a263dbd55398a17d7413b359f804103ea399db1dffc5e1fd6e45476796466f76a6873f74c6200c6b9af9bbb3d6feb16034a613c4f5447b21a9dc2160840f3cad04e61c0f04c34f055f09a5e9a7e4fbe2d03850f56ccd6d80a10fd2db9d3d8401fb6c3eaf27515f7f8d67ace7fcabc34b79f03a025fb63a3c95e2c30c7bb19723996797535698b4998320064e3f38d195db18503d4e1b45aecc148175fe94843cf3c55bb6c5b89c084f6ffaba9963862e2c10552036915b1cb2869d3c832f085d2feba96c565c1e9451d0ed74788f675d25688d66905581e03d5635f428e10c74f61a17cfd06b79202b6d1b0030b8479da205f2762000c02467f43f5bee20003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03ec59eac0ab027fc69b06b6bfa82d15fd81690d8fb30d4bd0fb6c24e99007011bffffffffffffffff05581e0341fb36d2325fb5eb9a803eed4c1c92c36416e8438c75dbd0497c783e900c0546c76320a98b9f04590453608060405261000c61000e565b005b7f0000000000000000000000000428e4c864b7dd2744ecce80f30100d7491acdc76001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f806100913660048184610303565b81019061009e919061033e565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61025c565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516102069190610407565b5f60405180830381855af49150503d805f811461023e576040519150601f19603f3d011682016040523d82523d5f602084013e610243565b606091505b509150915061025385838361027b565b95945050505050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b6060826102905761028b826102da565b6102d3565b81511580156102a757506001600160a01b0384163b155b156102d057604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b50805b9392505050565b8051156102ea5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f8085851115610311575f80fd5b8386111561031d575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f806040838503121561034f575f80fd5b82356001600160a01b0381168114610365575f80fd5b9150602083013567ffffffffffffffff80821115610381575f80fd5b818501915085601f830112610394575f80fd5b8135818111156103a6576103a661032a565b604051601f8201601f19908116603f011681019083821181831017156103ce576103ce61032a565b816040528281528860208487010111156103e6575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f82518060208501845e5f92019182525091905056fea2646970667358221220dcd553e8a524682ce4e7aca7fae92737283ca6eafc885f2c69399082aa9271d964736f6c63430008190033035483eae63551348aa9fb99a5608ed8f045039001e52f3208d67cb6a8f78a2e770337032962808c0e115bf715d222b8f3aa21c98d22116f79e0c945763bf07d52af036b689c45dcf9bf2d0a6145537ee8a3064621c9399ec366fd3736399e1932a24a03d3be6d239daa677d1da4007659c667e8599d4960eb39afa8b6d4ce99e76304590313267a377e9115db15d3eb755b28eef4d36fcb251dbddce27dcc2e86b6315777038c433133c73d11c750f73857480791089a40f83cd2463e067132f7fd6bd4998f03cd7ead90c9f3bd8e26ca18729df1f85d34b33e0b2e1bc91247a4ac5718e0df9403701f49dcba51540bbddc55c25d7d87b686b2ae0d469a5db1fc630e61ecf63fa50360b403c6201f315d4a08e2956556ab02288ff7671b57acaa2c2bd5b297bb8c0d031304b546c29486a7f17c49804f1c5ee36a4753383a6f9ffa2be8fdadf47084a503e471c56d3d831bf70c6783ec2699df85c40033fadac047416c2a10dde607f3a400581f02388c874982235d11b08bc1ae56e6ef2e449f238b090a56662de821806cc44a022600000000666ad81f00581f02e02023e54c88f230f2a66df6e79e5dba6638a9c3dc67093073f9e3747f8b494ad0b04e448f59aaa7030cc1a02d6cba20d7014bc323d108dffecd11614233526d3492e44c043f3a04e600581f0265dab647f58dc6494fe072244a600d7833c9da8e00a9ab9b3340f26531e14a0325055b6bbf9e698000038a022b2dd901f9fac0e2ebeca74e5fb1fcea8d194ace733eddad4e08d11a63540219224c038684c8be94ced50f340e67bc975379f89549c0bd01185b46f566c692d56467b6030148576f34d09c1e0737f438553adc86627ced8079eee282a2ff4c656d5bd118030f916a9c41274f16a894087d46e5f5d0c01f2fad28ecc8d35ff4a0ec95d389df03f55373a983b1ffa149cfc01c42507696b515f11f641aedf594e917007534567503c827b88ced195e81080433471c2dd2c1908cfa83db1333f6e0621c4c777a342203f1847112bf287e450d1b860f834c138b8253501fc55114ddedf7c057b6041772039df2369663b394c92c26f668683e63a0086d18ba1b912a68c285d62a2f309c460219ffff03baaa8f962dc8486cd063b72c2bd76e249f12621041797bb7c623f72ec03a996f03d7b9e26a28322269f2340907c35cebe8da7e90e0c193f377326529fade82d95c035d812093561c6785ad37dd787ec3b1de39e82ce703781f827450a62870b4e5ed030d0dee5f06b208ad8fed17084bf0fc39f983e003e46cddf29294b893d65aaf2703f91e67137779b1e2dc0792524d7ed08d70c83daa827507e44c539cc31ee9aeb90370c0e4e999d6983a9e8c0c5506211e58e64b6be46043df5be4abf29e92e6a2e9039784c2108f2048782c0ac0b90d293c0fb0cbec7aae1cc70e5960c0c45d9e186a034de0690e5121748bd22c5824afe1d4aa9f7d552c4bb96a87c8cd52ee4304ad1903297a2444ab73cd681d3e2e4669c52944b7ead54588619159d8b2547833010f2a03da64415960683c1e99428e82edffe8cdc5f3350191ac07ce3958b1f41a54f43803123194705ff6fee6846288c299dbd8b92a06d759ed5b7c542937666837d26d6d03d9a707ca6f40a0d8ad909212cfc748e6152a0552cfd2f3323e9006e5c58076f0039bcd912a26289bb3df1f689dfbec0a2e79e42791f80d51747a54c1b576b565f90219ffff03ce666437bfc5ec3416a5f45d7a2ac3b4c2e1fc148cfb5a245291e6ef35ddf75c031ff36c24d3ea3b153d1f457e78cd1e01dc468b5a1f19fb8511347526f852e31c036f74ea0719803d7a3d9216001a884fb7ff3aa47edd8342f16f93616b34da6f0803cdc74d7924e5e9a79618f675c8cafb5329ea983a626645ae428ea8e86ca42e2e0368ba4728521be96cd0dead63122ec1ee285500bee92d8a2985e5d0389603991f03496f51839e5aa146cf86e5beb53e45396b755207c3f27383bf0354de3ade607c03eebfeb61b7a266460e109ca1adb2ebbea145ace65c46299175977153f3d746f8039fdb7a98d43b2b1fc642c9252d60295f88e950df96d40780a2e1cc98ee75434700581f020e77f6bd00bbc374cedfc952955866dbcc27534cc6b1200d3a05cba978d64927b2e98487622f800000581f02a776310ef308b81cc30910e2a732263683b76349425e8f327a4aa386ac8f4a2ea796e69451e43c258000581f038c3a2c9511ad572b2f7c2454cf6221ddf749e468220b9c80f57651b546d04a032d26d12e980b60000000581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace054543ba3e063197b3025a4b2751e9b4b6a2489fa070219010100581f027e667b7b7b54e20ddb429404654150cfa75b3eb64a15804c5b73d1f6a3c14a03c9e8c0e7387beeaaa900581f028ba124b6bac3667b9d021d1bd3b782973b4636e8f594c4d1a3e1772c27584913ada310be5acc000000581f028707eec6f9f09b6d508b50404d81c35337ecd19f1dea672801d76c57403b4b030e924ea0d3c55ca3fffa00581f02a5afbb248005cdc6f012e2944e83c168cb99ee6d539ec804156434ad9af14a0374873cdbeda3b2aaa902195696035b1f0b58fa6a9595340119fafcb7a849dac39ee4c76575205456a3f82434cf4f031a134423b897a163b03b8392f85f8c236218137b49cf31d1db74af1aba9ec45d03b768144a0ef20cd63fd9947cf5a3426034939982cf59de7946d9c19341f0f502030abfcf7148a1686309bf3b0eda385b0322b1aeef4fe78826a498c785e3a5bc5003859fbcd46e730591bbe84dfb78526ebcca83fc91e26606a10ababa720d095b6c03cba7c17be1760e429b62e4e9235943b48e2597ca9a4f34eb83b46777939966cf03ce36112935d220b39588f7392a7f29f67e4eef2dd87324cf49d6ecfb328fd36d0354388bd15adbe73210d5c16c5954b8f74d15925e420c2fa8e983af505be57dfc03a89985d2512bcc66e08a4a88ac8fcf9d7a4f4cd9ae878d1c0e5bc48fe079515603e1d0bf02711445443d3d03ed0e2959ea6c6c34a1dacbeac8740ee53cea305ff60219ffff03d7f16880033ac2f280cf0b4192c52c46f1f0e77445807edf3b721b032ebf8958039d20a69541f5dc2267e07154f74096a96011f0ca1e98f271d3891c4c1744db8803e93782655fd65c16fcde9e2ae63030236363213d2e70e3145e7695ee81f3f41403d49c39dcee693a1257373408b129c7723ced9ec2fb9f13b6ac1de1a957dcb60e03ee0478b8295bbc92b5160b966fac2118d49de826497e31b1da2e5e053d43883b037ce20dd101b54ea13b42387439c023550b90ff572692946d7a343472b5c81190032706ca3f500288cba852fc4d8ca5fcd67a54dc9e94ecda151504d6944719730203325cba4550962565a619c9f6fbece1c35554890cd92b3f5d1e13771930294ec1032862c01525add9b55d04b44b347789909b6a579e5cab3c7f0f252540037f6a0a03dce235981a38a62b612f4372b62f2fc79e6698c7bdcb7629523bdcd52cf0d641033320dfd2d84df234614fc242a0ecaa48aaab10b8be027b41322d53ae258bb83c0311d69b75da69c48f76a4108979793ef7a5c1b2931dde8451ad5dcb47d5ad959a03a9cd6f4263d85ee8eb0d4e0e6ae4f5388e6cb1dc2663d3a9b7157fad6e149465038abf48830b7dcc16fadf072796e4357633c0e511982ba9900731d566edd1439b034127d7c550637870fe9028d92c9f17bcc917b1d10a9d209e53b235009435a0c00219ffff0376e1242b9d6269cabeee508e7b68e3e1f7e9581ccccb3691bbf0649455b733450307f7f3ab2723248a89776873f836b6af4aac1c88c043f8fbffe77d7a9babd05a03c61318f457428ef9e285c112e76d5ec50281c91cae487f8788abe0cadcffc3ba03dbbaf9ac3c0be5a9ee2ec141af27031f2327a17189239663c45ac341b0c04fb503952bc63811e450fb69bc849e36a3edd34a061ab77824bfd00d5f507479c8b09703d15e7aac7b58439f1127c29436172b6b2add09216bf3ff5273fe94574187f2c8038fbe8f785cbf4e2473a983549e64307d9b5b256184771ce30b6731dcaaec7893031ac38944bb4bb6acbe2b5651c26a300864c56f114611285d7704310207487ba00351841493a37ea870ea03144d527d868df88238f946dfbddea2b55357a340b06c039d67ff2790dfccb98340c751e660d207b4fa860cd565d7f0472f93364e227bfd039ae0860596c42c8422d57144c21a13b2b6f043c5f869de4293b5346dba97b7bb031e4c848d91d6504d266d98db323900749c277f6c50a0df2cdffb145feff433e603cca44e6bcc9279759e865a34903926170f3decd0388f7bc23137b0f6247a8c5b0367c8023232aba275844379aabe9434fc3d70d7301056afd4311067a7ccfb179e0313762cc1ca4f4159e527dc73d46fc94ed1c437212fadb79684e92d14950dc3b4037db8f53517a3fb6742a01066685ab4df080f4a8aab6a5938fecfc88232b45d93031ebb13b4109f091baa4c78ec8d6e0280dc33486548f2cee8dff98f4ccd3975b7037915999c4ad5286e7dcf44d2d2254d4478a7626b0e1cb808b2a4b4428c1c6f960365cd55ecc6e83aba105b693f3e26d1733022aee58737a9de519136e12f905d4a00581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54bb7f50dd85093936a9f0b1c10d3ba520a568186503ec518b26c44a8a1f7e6d2ba2baf1ab2ae91ed92ae57fce6fb69782d8726a969600581f02d48b94afb9721ae8f961bca886db7e5a67d233879300745bcfc06a4152f7483782dace9d90000000581f02573bd9dbd2166b882f58f18441159d0985258a045919e5830de30f8dbb924a013844389a9f629e000003af080b5b89d7e6e0fb77eb26371099e0f51d6df450681a1ca0f927fc4d68aac800581f02417665557b61f5cee92bf22c5678b0d6cd0a2162471069acb315d445465849121b2e5e646478000000581f02303a58d60a7cfc3724512a619d5c90353f7d35efa4d74ab74a9a120fa5a5490ac17f7a84f99dc8000219661e031e2e121f32804e3d0cd415de0c10b96cdf4945a4681a390530efc0f4231e24d603ba97aebb8013b354ff5c07244a5497cdaab2ea5a9b34d13b9f42eeaf4f1ddebd03f13158f93d3f1f08b085bfd925a4e918cabd5c20c62724460c0565ab3f5d6e3703663c4da203f991cb1e54d02de4a309894e437fa823764b756edbaeb288fabcf50219ffff039647cbbf0ea5a4fa5325aeb463f3d032a85a7901057d40ffd4acc3aae318086a038736026a9f154d254b605f1475417b812ce03c2a9edaf189d14deb05b8556849037041bf1866259b7e5bc8fd6213ae12733a21bbdf8115a5a7e913455a8918a977038e3e0528257784adcf9445070efd65a4ff40add5d52621a00b58fed9ef986967031c15c51aaa8a0862fbc71f605aa97a8e0a8821409a1d926a6a41877d924596ba03e53ebee2d570c4ac7599f4a0cfcc4dcce624d93c134aaf6aea6e7ae024de625e03b4cc68b021e61c3d1a6437d4accc17fedd387f5211c29ddc93601aca073d3d0903fe37183c1c4acc9c5a72ddaa0a3087ca28c6b828e29a25ab50891db469c50b65036a30308bba18e5a60df9fc40ada11ed04c24c8ef77ff6dc10bd041ee70c4ac8903181e472b2475fe430707f625824bb44eb725d65321f6b0cf5d30e38f55f6e0b00219ffff0392a22923601572b3c06e00efed44f692f4016ce0afa5befafa533db7d80c9bc1031b996ce37a3cff676b77a7dc48adf40c744db5adbb6cb13d16f8c6166965b45903e95cec72d4c039d4feb5a63905d383e2a03e2819f0f4659c4b44aea0e6022a5f03e8268615feec3935b5b22b5c0554aa3bac804570ee0adf25fe88bf1964a1d3c4031a469059e6a83eb139c15302d58dea91b350555cb2a728b1b137203c4f2c3e6c03abc69b90b171c73a19a10054985286662aac54e1deac15609aeb6b29677c768703300dab369b15ef871bc471402640ab61259c633c2d46a349627b12a7ee0860f40314b2c41835359bd5701621f135eaa876e97a9112384dbe0363196e76588365fe0398540cb9184b339ff977f0de64f232f8da6605e7b81b025107fed80fa1c435b6038e89cd57e97f31b3e085edb6b0008774037c6e97a035243b8aee1a097cc33f8003f9d18b60a67fd1f4449091a775e6bdf69987545c9651250f7706fbc8ae5072c003d36a80c928b922b95a4a43a98e6a88bd6cb9802c638986c3aaeb315fcc7b5d08034506b805d1b510a4cfe5781d47157111d249e0b609d7a8aa2715c36c7b48b44500581f020cdadc56e9dfabc2c160a900abb97ae1eab24b2ddd3446da6924351a437c49090d972f32323c0000030c45360bd004449f554a3796807a158d4eb7ec04f8ecae57cede917918b2098400581f026fd8943169ad709f622d2f7005442412fd877e8a8fd195e6a2fc92d1695d4915af1d78b58c40000000581f03923e76cd2e99feb8056db712e9c759536e0845c6607063f716d19f976be04a038e5bc5b713fb13000000581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b041320219040800581f02752500695917fcb56d9cd574e73fe6701a27cd41bbf5574cd0a6332dc5bd49086fce632d7667c80003692206bf396e5b5c77122de2d904419f14bb469a950f42650c6d84452f5b599c032692ec23796b6c1aaf481bb265bc8a4004ebc29e9e857c21642128c69f40454100581f022d04dc5e04758482ba2df20dfc1bbe6501fd1714f5ff08bc7d01134286d84a93125d8e6af4b96184a803cad3f057597ad411008c22aec6f9481800716192bd0fa3fb878c51ef596d24f900581f02945f460299227732dfcd84269b635cccbbd2170f50a3740a54de4d21aa694a0190000000006677b44b0219f27603f40534fc000ceeb5a0874a83b3599abaf244110d8cdde069e0b6a25e7c37d6a70365876057c66c306b47c7818cff5cc402b290df9f148f8382348cdf85414bbfab03c04f2faf495fa2a0421554f9f28c0fc833f93af38ce409d92c9b971dd18763050306f15f491072edbe57e50e3fa3e5bfd1fced33e91ed1301148a28ae815e455f40387720d57e5d90705f7ef8a783c0626b0c41711665e7ba5a61354f15b194b859403988c7c9a846399c273899de3f616d66baac8b881335aaf1f1731a25c234670d4033dc25b1cdd1a554ae9defbb2f99c365d67f26612920816cd1ddf83d71e7408010361b04065a57d0e0818eaa19df667ed623627cb3b27812f6005c2756e0716688103344ed0e357ed2551b3c536d6095c49f9aca71c94365b830a71f246a36c3db7d603a27d3eff87dc9434f8bd3a7f595b4f12729519266c762a98a3a69de99488cbdd0389789399d6e2d46248ad116c83753f0a96e82c39bbedeca4c9f51b92ac0decbd03795c84c479b0aed228446c564b742698accedf6125c074d02fbadb76177fc0ca0219ffff031a6a312881195164419e4a0eca36257f9b2375c549f73f298e8697787aa22ee4034736c37b3004afeaaf0f82d3fbb9b991fa36a0fe9e0d50caf3c9d38ecca33c6303482ffc481c874ed8f003c057c22164d5fcbd21b3c175b2ba890311ad1ff929e403f6181f918492faa76b9964793c3563301a6d9f5c5d309192955ec69857271b870354ab5aa9415158ebb52c3bd3af708f570611bb6838066a02025be92b4b031c7f0219ffff03fb3c32adb920138b24fdccf52e7216439627cd4281479ce06c6d0679a644a64a038b301797860f7e57ac0986bee5e614cf307ae1f755049ae7fcff1fbb544b471c03a049a5527e6d497c391c749fed2854d070bd6fc9ec35c9f79251a914f9dc90d80314c988f85134150f67e66ca4ccca3af8025d312fcfd901bebbe2cd680864b2950304ff8dccec7348d02fc862af6622519eb5fc8c09480f12330ccbf243de2ab8d2036fe7c2f64bd7b6fcdb74f9f88f486feb1bd558e5bc3cf4791371e4cf7253ccfe0388e9e4d5fda64182bce360bd901df897519bb72384ec49b92ee02a1c52f0237a03ecf3fb8029ec511b082766d72ba9a49d2f0fd67db6b21181735e69cba4d8591e031845bbba2b1188eb25f761f41c221dfe1fa9ee9e9401898aa5db975a13c657a400581f02702a688f9828823cbae55f8a64243b41f79dd37a44a76bc0624ce088e1bc490eb6db713b6620aaa800581f02fad5422d83a312f54a235b6751270ba6035dee293c919478afec1a6e7b9b4915245655b1025800000322f55cb9d0cb3fc7cee2570dd499c30b0bdfcbf4b550dae67dacc059a13e9de600581f02f0bbe2510215a9cf2c9abfcfb343dd3275f68a5011126e980a2d693f527c491899a8ab3804674c0000581f02fc881124773500a4449bf9e64103ceca7b554dc92a6abd8d1803d930dc2c49375938aa8299d4000000581f026f8da70c29008349aa7425471867a2807b527786c41cc14788a3ab059d754b016f16215719bb54b90000035fec9d9d2f07cac0044287db84b759f3ec39f9b484d09dc15c5928eff0be493e03efa7b705d223d6ad2f69a2bc25fdaf17e47d016fa6eeb59c0cf52b3af1f87c2100581f023f271641b511166d98e65deddd2bbb55310d05dc53778c0b23503a2300a8492c73c937742c50000000581f0295839397e75a1ad28bc7f42315f25566dea56cfd29a8f92047011027c063480de0b6b3a76400000219bf0b03d61f7d86f34a77656b1ef1c21cfca787244693a6fb19fe5a41722dc5360861de032c7bf2b818916a97799903d9600ae527a90067f442b86cf7cd52b078af5294f503a88ce3e610b19b2c0f7a3775f647a8bee7eaa4724bc9dda93a73de1fc69a277503971fe6e2081a8c672cd81e8c394064a1755c1ee8712fe26551d78b4c62d0bc34032fd43ebd3898074500513b0aebcc593dc55eacfe18a64872861590caf11ce443032e05bd1c1f08c6185852a91f2683fe2a3f44d95df6846635daadd867b82126cc0219ffff03c4056634a507b8ae726eb5fcbe1f2a9b22e25cb9a3e8f9cfca490c91f5a45fee03a72fd8ca85743259514689484d9b0af5e6146912395d7d98f4e5598c8d57c87203a8baf7b70c3cf40afc9e8c2b93c4cd4f8e536e294fa61bb2b8805bca894fbda7039e3438ff3196abdb7690cecc61c4dccc04c3d058e605fd131f8e18e5d22cb68c039884e5b16fa6a73656d430317cbb70ee76a1aa33b54b92d871524f27dbf2a6bf03c9ab20c478257c1a0ac7e83a17789a3fc35a9c76e5416cd6e410f91ec6173a890388f1a904706dd6e1a46462b53548605ad183ec93d2ad6009321cc76a5d9283b000581f02c9ca573dcfd90c399d341606ad8bc60c1a81130211fc55a2db7f5364883f4a01f400000000666aabd300581f02efaac13a7e0aebbc1843624337e49be7137c095ce2b9a84744446e6e7b064a01e000000000666d7d7700581f02b63c4f3c1c99790ab2214e0b5e2d7123af53ff8fb844682ee41d27a54c54492017a67f731740000000581f028839d6d323287c71c9ff2992d9314bd2d741d0f0260912bddc9cdca344c24b026dd25db6ab2dd6888d4d00581f02f55d0bc54796265fa8b4d9d12ec614f868995f828d01a31aba33c35ab2c249ca2836b02b6432000000581f02b3dd91cdf1dddf3cc121f1adca812ff44d1d6ba90adec4e7ba1790aeff074a0226000000006680835b0219284703dd6e4176bc277d89988a597a01901cbb9dfe4f17d5c617d33d0439df98a5b9fc03a50762915c9920d84133c9439fd49ec9407cdae7bb21569479d3e63763cb8317034d1c015453641bcb84777edb8f03e4a416f097e022354370a78b71ba4d86dd990308808475a05637bd1ecaa45b1e5dc0c9edc7b8943da94ca3be45446fa10c3b9c0366b62d7ef37127f261b9c18e49b951b60669975b00008232049f5ed104aae98903f88067fe6782833283d1d474b918ef3ce2c1988b4f33123f9de575a2d1a2c8f80316f997f50116e3e68e7a7e3b883cd461a821658abf7d6d03ca12c86c405eff19030085ef33fd370fb9de2051b9b245f47921991718c14adc1fff5fede26349cf29033672c47153ea45346d426ba39bf2711ef18fecf3c7cdc3492b3403e4d716c564032b67878c8987df1d0fbd0f5958d4003c8871cbbfe3f1cd7d9a8541bdcac3348703e5c798eb52a6e95187ea522a5f88bd239329274f971d45e368fab6f7d6d98bdc0219ffff03117f8d27b527b75b99c5ae480dddf3d19ecfcfdb9fceb1a9c36309da3e87f1390393ece54e6f6a05b550239f73f5a61ce9bd9aeb9f047b2fdca0d270ce86395bc503b771dfbce6e21eb38ca503d4fedad208578a37dd7713c43fb4badb3d91886e820341c286304d6f5ab16cf350a1d41ff9279b07eab9ac6118fa68561fe82092cb7303837a9524183906fce1f96ce53b8bf4052a551005ba481c20fda86e790cf18bff03579f042ec67e02562d37d87108cbc9ddbc96d1fd8b31ec5c85d533ea0ae5588803654f8c2d4d9b75604a55eff370bc5fb0094b5e440410a72325f8f6a78cc31b2c034a95e432ffcb5dcfeec1c159d2af7cc9593ab49e6fb132f111da341e1680c1530358926be6e866f9edb05aa6cdc6a3f3d6439a4bfbfa274d698027c6f80a4e47d10375bce2b1f9f541a15c7212307de40a1a768cec1fb9e8bab7dee9ba66e10b7be4035342af74791ef47f88ef4d2aa140358a4bfbbe2ec068f97527ae60cc9f42148c0219ffff03b88a62cb0c62e51f7212af582266080dfe70a1649f795c77234e32c77050ffec03cb88bf514b5c91daead1f664d76522cb4efa737ac9807011e4f2c215e82b400103853673e827bb892692cec140065a75f2f3a7d8f83e88f1ae8c8eb20557000d8c01410400581f028adf47b94b6c9182295d618e1466b8837325c48b349ec6286ed867423b794905c2b6917779efa00000581f0208a791490f885a36d4337284770886d63260f02d1c2c6670bafdb40e141149160261c0eb7898000000581f023419d0d20520bb1b12a5906d96356710c01699c5fd9258d9e92c1c32c5b9480de0b6b3a764000000581f0254f445d6fd86554705df6ccc050867c718428f0610d938dfc1527160b33c4a01a4000000006674f81f00581f02c6cdd1627ec07cdd7f9de29911859440d0cae2cdfa95e663dfa8594270cd4a022600000000667f70f300581f02ee172a4ec525d12634f5044d9d72e531487735746c36e2234d3cbe98cdc7490ffdf28905e43c000000581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60547613c48e0cd50e42dd9bf0f6c235063145f6f8dc00581f032553b6a533a2ac184106d16a4bfb37713ca55c96288fa765280d291b17104937e0e933e543512c600219010400581f0281e57c08384b8b560155defe6b64bed680c47768fdfe714d97e527a578b84b060bce018ea1adac2135530219ea87035454f2415c052ae9a595c29f750a34e829346181f7599d6654ca175cc6cd674a03088e5c5e1a24163cd76e56321083cf8de51fd139ed987351123bd827da59a197030efa22b227764abed59b95eda7c19e0b7d1a5249cf75ce0572fd450fe3a341a40355c08bc91fed4db19a4f9481e9768f03da4fa0eba6962eb8d3412909376ed90003a1220d8408c6cb0fd718332940ed9026e6100a9400454608b25d2bbab87d66310391aa717f1056863b8e78cb11c435eb5388b8a0df76d6ce5e6ba76a8ba832667503a5d84f49d16fd48129a00f007980a08e835947edd0bbac7e00591b9a353c9c36032b7ce0025774d28ea62aa6b05b51b9d5bbf0bc917763d363be22ce5c70d9a64c035cd6ca87c06998ac4f5f16c63b0a221eb31eda46adfdc3e8a40a226406a59a6a031260730b3e46a16aa4a6cf0cbf179787508636f062e33c0f03b1345719c0bdaa03b66aae9ee660bbddf4c48ada9d9a2b15d8579a950ba9c24b6140271260e46f65032674a51ccb860f0b138024188033043973dc35c6e246f2ee4b951e2fd947f9de036aff85a93342e468c575e429cfadcda9b7dea0a5a699bc76d5d2bb905f69e6bd03db2ccd060f379780d436680da6343919342c764bc9f6512506460b6ac4b40c5f03244a2f26ee23812878771e98fab67e47154d1ad85cc9e3cfade04da0312b59960219ffff0314b564abb503e0df1cfb3d710f6ef58e2ae7c536235a7a7e64766b005478e7d903ca2efaa2dde5f5ef2a8282c2bac849168dc74e425a0b1d831155307e563aa76c035021527d558d9a4cf574fa7f950b14062e14b9efa8bd949ff7e4aaf7a481576403d4fc6a8248159d974eca8395d0806c2a497df2471ada3785b60278f2dc88010003078069ff4d6b7f6bdf44cf7cbff9d9190ef37c76c307f78e0a17354d4e48da0603a9649dcaab9d8fc06f3257c814bbbda8911ac2cb052b701acbf6fb7f612cb42403c7fd77b4db11f19ba639088abb22b398a56a90c346d85e7f4483ed03e91a143603f9535b183195af44c1f4db0569d9063c53aa221df5a289e8ea679f8e035cf6b6033b8c964ce34ffbe53a4ab94ecf57de908c64b7cc93523fb796865d4e8af345b4032b3c6e286501a4cbd6dff933fbdfb62f41d88a80dfccd1ca2a7a2942d2461d68039f28846e9902977f59570d7858795a6f3cc1cb5b402b504da6f56c6c18b6a14003573d5a274da34a54b0301af2589e1f192a853efa104c5e5cf354175bd154ba4003b8a0e82c91991448f61e1d0d684d8cb0f473be02f9e2886f2d2c371c772b93e30396a4fb893daeffa8161b57ac1f4a9084a120c411fb467178bccd49e0f4b72e480219ffff03744eff6e5e0c3bc6d1b3071aad147fab161441426463cc0e3f4563cc1a91ffa403ef5eaf08a4d8c5089c9832b5e9dc179eb2f0dd147895aed5cd02f8f0e3856fa903b5b59d89ff7e3f1e4cd57587eddb681be2d59e5d88be7bbe34fa06de12f0cbbe037ab701a663481bff7c76ccf05859a4097abd97b5ab48a20d3ff6db345f26074903a40e383dd98ec6ee1cf13406b0c6bf7791361bfca98ceec75b87d3950de91d7b03a8f8b551819bd0953b95645a6239866cbb521fcc7a8e15b41b0451d2c0b67639035b7e9ab7b49d4b3774f6b1a14648e81738f12b101177ad2b934ede8b434f30b2030af9aba22bf8b343da327e2ae0c4c5d6a0ec0de10d8be3c53b7605a125825e75032731f1e9bd379a64882becf27d91d4e8b219037fd9c6972308415b0b9cf4777703336f1c0181f01339afd6c5db01eb422eba46898b6f21f35d92528ccfe5f9a5c90301e08f59bb60bcfdbba4e6c5aa82e554d1ce38df1642fdd36bd16dd3b8d7df8d03b22b72ac46d9f957782cc98bdb2aba88eed30d551b893e6e22d0131b819b38e300581f02b5f3730680609f7491f36218104641cf5d849729aad51b60b6f25f7e96d74a022600000000667d38af00581f024d0f5fd2b392e0f1f1f89b10d3c870543b9c2e907c50022210c5626ad6ee49121b2e5e646478000000581f02f344c5e3f19976d97fccd2045f1485e0d1c366513bc2050422b751c66c8149056bc75e2d6310000000581f02f9fa464316b77a65bd227dc920be7a94a089e2210fdfcf354c2c0f4a6a604a04324ce8a8b4cb86800000581f028723f08d35a1c34b7da3af19cfd38d92a9a0a93ef1c7217afca7f68cb7764a022600000000666b579300581f022fc952bab9888c1b41263c824540913abf951ddb7b9f81a5f641affa788b492cab4c1242c9e0000000581f02c63624cb9c7519b107f60954aec0a67b7aea644776a80685e158561adfc94b0139b7ba78bc1af37e000002191ed0037607946d9b80c12defdd7a1ff699eb0e788c04f449ad2219fdeb9f4e83c33e98031b2cc099f0be7c6c28cc6bfcb13de6537e5d87685cd4d5a75941d000c54c033f035911e65f5c6669f4b87cc6933505c70cfbb7521e1780b9e2397993cc0156072b0219ffff03041bbf39748b85f546c568432abad7544f5420124ef252fb530ab5624d9bffbf03fd68c47388fbfb9b02ccb1012e42fa35feb875f91c792f4120b961dd42cb8b0503c521f807e74e03323af981f01dff928eb0ddfcf0bdf25ab2dd2f32591820986203587d0a9f9c026a50c12a06f10217c565e58c33b9b2d96729ae11a3ca205c6211038db89df992e07903294e20ad2bb7ea40a9753265eda9f052a41614145daa070203466411758ff47d944869bd7d9fcbef77f929cd6445cb9ab6d95b47fbe3b6023500581f026eac0942d5ca6b13d1523c267e53b37354d008c71099feb34d630dc26bf14a04ab397730b08480000000581f028ab3a79e0cb72f0cf1037ea58de39e92a20eacebf77e7bdd647ac656ab9a490c83bbcb8da42d555300581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0581c666a2bc30000000000000000000000000000000000000000000001f400581f0336cf241d2ffb129adbd8d81bd134ad00853b68427ff58212b22dbe37491049043a77aabd0078000000581f034ebbb77bf9f661aa1f21cbc199b82228615b843584ff9af4149204ba66304901158e460913d0000000581f034d0d96086e6e3d71fba06dfd00efc602c17edc11894a8bf9f0232f1ade00493302ff925e4a9400000219232003dd5151915d6ac85c919397ac5870b937651cc9e81d433eedaa365ac633dd2a5703da98b834a4813e3121884ee756696a489aebc7803149b766a763b9e984a897fe00581f02b433277c4dab62f44785878482cca7214960ae632d2238ce675fa3f45cf449121b2e5e6464780000036ff52cb57e685cf910f7da694629b1c78a9108d7e1d9342e570b9273a731b6c0032bc694776cd8eb5a20c95fe5749dd74323b0495a12b55a1ba6d24473e0ff4c5100581f0254bdedda8585ab46d9ac109854f50f9b70f5400bdd7e75becb7ff83710bf49320932b9bc858c00000219fc89038306e5800712f8530b359560faf245286b4cf96abb3bd6ea88a8fca6cc37b29c03201f83ca35f09c05caef78bf09457b5c9b15d165184b54f805cbc54973213ebe0359969086daf7f7bccda6dbfd4948cdd0c4d88bd15206af270c32b85913c2624703abc0c1f806759bcfe74fbf8294c0a807da975b8c29795f59965c66898bd806b103ad7a1cce1ad66818b3febf91d0331a41868e4eb49b8146dbac21e53116df94c203ce20c4551a16a100c75f55f6e672591b45b9c1b6c040615c41056b1a7cd24eb00348ad47eb93fdf27f3ea8131ea477b1ac62f6451b0921b6ce5c31e61d15aa5b6803fbaeb9b2b23c82156741119d97d38305e260f4a6556f068db6c2e32bd419f21503ea887751e7e566b1cdbda01834b9e54acb83c2c873f376707b74e743dfe0d2d403fde8ad7099c56fa5531d4b08cd69a4273e141a0622fa033077ef7696aa2ff0170219ffff033ac06f443c6b15f543020409ac91a61077e8e6201a17d3d9f07c2751fef0998f030fe7b185ea6b2c5a3180752053bc656b961b432667bdc747d687312e7d1b3e9503eb1db1f9414826c079a03a31618420e91491391a4eb88490a45a9b5babee98ad0311332b9b44a6574cc759420ce5ba7a2aebef1cf1bcb7f159f5a9f1a7504b128103602b3ecd26b75f9ab89c9a34a7a0e9fcc6eb3772189bfd192186c90024bd3f900337326a34dcf38c74c7f1ac35110e4a4c88d1fd66eda33318159a16949757f0ab037f451e43b50331056f9b198c7d567bc1ab30e82897fd3fbda1f46f9c308dc74a030730e2eb1cf92464c3d9850950f6807d713e566a46a3c7e22dddbad3616c422003782730343274ddbd1b01836fab789f6bc71d545a7746afc5f182d1de525f7f6b03053c87e85b527752a1fad6f0498aec564b572162efe8e9053b35644bcb159740038de80f9ef0fe41160c83b6e79e31458a6c1a51ed4a3ce4b46514ad991ecb6a38033e49a41709af6d2b6b4a78cf4b54c1722ab3fbe90313a78f58ebec1f80d076aa037d0d1790e9ff9a5eb72b98ea86af3896188ebe2b02c08ff4bdf9de2eec34633803de50d81977a23e73f02486912245133807ed6512ee1f7f9898de33a029b30de103a1233830b93347b0a4f87b356016b3b5a781c95c23ae9040cd5849e06c70167d03b20b66cd0a637ee73cfd47ff9e4d20bd119204f430ad34a4e369c4bb82d70ba700581f02e3f5a33f7fc3aa6b6dc5b377bcc9ec046c21257233db664f623f8bea2d7c4a017200000000667bb5f7031597bad1a358a2cfe62169ba944c7e769a650e32080552888b1264ccc90ec6e003d91425615267efb9d452bfcc1cb34fb5ec9a9acb9bc8ea7c249aec480d45a79d00581f0237007aec6239bed325b789d205317bda1c7d995cfb04a9888696bf94d81249232eaf2d735c84000000581f026de734d5ca7d3e1d19033d2655193b5e043e11cebab6e76186748560632849209c75f7bedbbd000000581f02992701b16479c829b8dd8993de600410deccec6b88a4cbd097137e02ef464a01a4000000006680014700581f025721b524cfd5d88a55b4e342d0f682f20f300e24f777be7666d4baae898c4a01ea00000000666c1853021942f40378f6dc894442a6966f7f90c0c73856d148132834c5953f803093bb36205e2902039d338c6e855ca62c9fad00c3572e10784e019a7041146ec5f48461438ff4fa83037a7b832002ae7da37b41d0246d6dd7b845119615dfbe884fb610a8600a1805aa03b38cadf5d13b7e33c0c3501b21238171f5dc2cbc14adf524c11c6134c05558f20399dc181390c30a1c9e32dbf07303fd8c9618a1a675b883c95e84effb0cda233803871d953f9a62ac43fe8839043b285b4cbf93f46134117a7595c22cda9f45b0e603030dc16bf15a9a22914726540ee54842fac37d15f4ed4bb9eb62e0ea466d978f03d58b0af3f12d0696750b06a4bf839030f7274250a90a7476fbfb5eae30092e4f03c2cf26aa462726d92561715de381d4aa4728a801cf558649285aa780f0e9f47f03c9e9c56712dbe2bbc5aadc3db6eed49875b541937735a0645aee080ec0c335540326926e47145840d1d9350c5fd9751b0c83ba1a3900d955223b8e193dd2e6f4ea0219ffff0219ffff03bbd826baa0a3dcb67d4cfb32087c89d05fed3810a5c1ad52dec923ec0c04a3e403a66de9f4db1dc87548ee923aa81b87b3a8493e4db859ca7c1788d5de6fc4efe70323942b8d5d1679562632234412b7a9eb64b0a66c2c9b08869d5c4d6b4e86c0230219ffff05581e0341b611db97fa79bcc142379fe5bd074e8b1f55ec9e3cd8892a46c6d6d0070219045305581e03c3a6f4eba19771a437ebe6d78cc1b16495a309f7b4e8df3ab0ef9dd0f0040605581e039977b1ffd8196ff7ff3fe4a2597251eb79fe93145e5734a29fa6b050900c064706f1202590ffe90355c74a22dc436c804ed2a70d2d06f56c4fabd6992bfc539fbd9f2553a5ec499905581e0368873fb29e53dc637d35b6af5ff41de4f731815759348c3b7dcfc9729004010219a8e903bb665fd9d30a19933fe556979ca4e8a94dbb95fda55e8d2f5e33623d465a1ee7036718aba4f7b5377b5ef2bd9b2390c65ccc5561b4b3f7bc68817c11a909995f18030161a7234693dc6213d8954a092116dc6648e3f720fc2c8a2212526a3eab2a5103f3eee1e97bfc4c52494f6e70b5ab21af93dd9343b82da5400660b4b1922c508303d1274afc34b8523eaa887e1a5fb4bfa3e20251a0e020e41f3ceccc5ed2e416780219ffff03e00dd16b3d7757dd4e3255446ce679ba7430a0c25363d771ab5d7882f5ca656803784c25c026e241f001b344e9fa6c367f5e5debf895acd8058725834f43c27f0d03ae6724fa02a3a697fb869b7e5bde835929d8d529c237254118b1b2e3436ad3b4031dbfa7c0cd05562124ce9ce8bac042534827c41e609b8d9c467f9fb298f33cca03347f002c3ab08d37e0193875531c1f749727e2f32022ab3f18b827440c7427a70353c5124e7fe4fce6d9630feaa945d14ccd12007daec707a188c34dd03790b81a03c4c8be2626a3a4ee0847e34cc6edd6dd492cbffe14202b82c433a8631575dea20219ffff03c0d0e41623f01ca58a0fa68e57a0e8537ba37187b5db834fb5e0aef75df0bbb80322ea77da8b895579043c67924fb902f3de95906b6a84fc37ee995e3e1e1ea4b903d02e2896a43282424aa40fb152cf39b4d1827f7481cd14eb4b331428267044a003172fc227068bc4985da03469dfccd3178a1b61ddfd9f13423bb878e21eb33e4b038d5428cca6c2155241c889028a3a7097d8d6fd83e9f4fcca7790ffb00cd6ecfa033cb5cb0bf5810d79d83f3b4a3b29212188c1ed307285e985464f6e672632a616037c4441e3acddc63f24a949c0b9380f0a16ba46630193684da0f2bffdee1d09a1037055fec0a04fc7e4908f299b18d40e070db6b62b8e2fd01cfcc8eeeb5f2dc80b037985a4d884b978cafd6b6f54c84cf51985fc5e1058690b60acd3cce970a5971103cc06b72806c53dce91b7da599db6dcad66a1508df74f242e2e8d6d655edca7f50219ffff0306fd7f9006297644acf72b6a43f4c15e03a0287a77dcfe349239f3422fc4ee6703ae81f0fcf69c9dc20c483318675ec4c4c82551c1dd0b641c70a589b066ed89c703c998bb10eaf4749b834f99a5653bcd3888a0bf818564f25a3bdeca7d0290027b033e7dfb21896817e986b4c28b3ca3e740502c1687f57030d51af54d20df70ab27039c4ff0098afc67e545c72689992190369d89f23e5f3bbba513a0103d202d2e90037e690122cae980124b70de0d92e2e2d9254cc7d79054e877aea81f81c20fc653035b65fe351308a8d01fb819a9569a39cf2c9d52beb79ae5f5493383d9fa4360550397733eeaefa7d842d4581bf98b65c4051fa29ea1f232657d064d72ec022987ce033e292bd3c482c448b951d0e40d00ac88126eebed72776ea33c1f0aca93efcdcf03f3d570ecdd1716a51edea52098c0af1b6829fdd31f37559994f8eaa715385db2039ec4a23fa292c5b615de9f5bb2eea6ff630a00eaab76a3aaa585e29ce67e22de03c82a2ba9cd8ea76cd1a129f25f30b1b0611f8d49350b22ff1ca62d7643d59d45038ba837519edf647fc3944e29e29a7e40f3e9faf503d1f64eb45132ab77495ca303b3bb3c48d75e73aa5b778a1990d2bcfb293718708ce599aaebcead8deccd24a603af4a63904a40faf67a5f7409937a7ba2fdc825d646d58d09a8bf087cf104e2f103414ef015141ebc36bfb54ff91f1a4eb64d99a1edca8d723d01c921f1338d54ba036fb171eeb99bd3f4813c1f9c90b898782341218111fcbc286503b56bc81a9fa30359f3c2022ffb99ec513b12eb2cf27f1f7c98b53fe8e2ffc899be622b9c56283a03be90802b4c755296a18d58b5946a91c063921331c31fb4d34e2b5f8be233450e03db9520bb2b64e5518076eb48e4f90d56960bb76ee0814d7ce2445ee9012f63aa0325c523a881a4ff3382ca149978fab735b08f141d1fd23dff263ac4d3254786f605581e0354b1c8fe06354aa77435238e9e5e0059b97cd64c0645c05df762e6f32004030376cdd85eb83cd6758e5aee2bb15e23c46e901e6d39d60df3f045bd4f841b096a04591bb760806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb146103a9578063bf474bed146103c8578063c9567bf9146103dd578063d34628cc146103f1578063dd62ed3e14610410578063ec1f3f6314610454575f80fd5b8063715018a614610304578063751039fc146103185780637d1db4a51461032c5780638da5cb5b146103415780638f9a55c01461036757806395d89b411461037c575f80fd5b8063313ce56711610104578063313ce5671461023757806331c2d847146102525780633bbac5791461027157806351bc3c85146102a85780636fc3eaec146102bc57806370a08231146102d0575f80fd5b806306fdde0314610155578063095ea7b31461019c5780630faee56f146101cb578063109daa99146101ee57806318160ddd1461020457806323b872dd14610218575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5060408051808201909152600d81526c109d5e48151a1948109b1bdbd9609a1b60208201525b60405161019391906116af565b60405180910390f35b3480156101a7575f80fd5b506101bb6101b636600461171f565b610473565b6040519015158152602001610193565b3480156101d6575f80fd5b506101e060125481565b604051908152602001610193565b3480156101f9575f80fd5b50610202610489565b005b34801561020f575f80fd5b506101e06104f7565b348015610223575f80fd5b506101bb610232366004611749565b610516565b348015610242575f80fd5b5060405160098152602001610193565b34801561025d575f80fd5b5061020261026c36600461179b565b61057d565b34801561027c575f80fd5b506101bb61028b36600461185b565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102b3575f80fd5b50610202610604565b3480156102c7575f80fd5b50610202610651565b3480156102db575f80fd5b506101e06102ea36600461185b565b6001600160a01b03165f9081526001602052604090205490565b34801561030f575f80fd5b5061020261067d565b348015610323575f80fd5b506102026106ee565b348015610337575f80fd5b506101e0600f5481565b34801561034c575f80fd5b505f546040516001600160a01b039091168152602001610193565b348015610372575f80fd5b506101e060105481565b348015610387575f80fd5b50604080518082019091526005815264109313d3d160da1b6020820152610186565b3480156103b4575f80fd5b506101bb6103c336600461171f565b610797565b3480156103d3575f80fd5b506101e060115481565b3480156103e8575f80fd5b506102026107a3565b3480156103fc575f80fd5b5061020261040b36600461179b565b610b4b565b34801561041b575f80fd5b506101e061042a366004611876565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561045f575f80fd5b5061020261046e3660046118ad565b610bcf565b5f61047f338484610c14565b5060015b92915050565b5f546001600160a01b031633146104bb5760405162461bcd60e51b81526004016104b2906118c4565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6105046009600a6119ed565b61051190620f42406119fb565b905090565b5f610522848484610d37565b610573843361056e85604051806060016040528060288152602001611b5a602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061132b565b610c14565b5060019392505050565b5f546001600160a01b031633146105a65760405162461bcd60e51b81526004016104b2906118c4565b5f5b8151811015610600575f60045f8484815181106105c7576105c7611a12565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016105a8565b5050565b6005546001600160a01b0316336001600160a01b031614610623575f80fd5b305f9081526001602052604090205480156106415761064181611363565b47801561060057610600816114d3565b6005546001600160a01b0316336001600160a01b031614610670575f80fd5b4761067a816114d3565b50565b5f546001600160a01b031633146106a65760405162461bcd60e51b81526004016104b2906118c4565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107175760405162461bcd60e51b81526004016104b2906118c4565b6107236009600a6119ed565b61073090620f42406119fb565b600f5561073f6009600a6119ed565b61074c90620f42406119fb565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61077c6009600a6119ed565b61078990620f42406119fb565b6040519081526020016104ed565b5f61047f338484610d37565b5f546001600160a01b031633146107cc5760405162461bcd60e51b81526004016104b2906118c4565b601454600160a01b900460ff16156108265760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104b2565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561086e9030906108616009600a6119ed565b61056e90620f42406119fb565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190611a26565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610941573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109659190611a26565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156109af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d39190611a26565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610a1a816001600160a01b03165f9081526001602052604090205490565b5f80610a2d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a93573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ab89190611a41565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b319190611a6c565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b745760405162461bcd60e51b81526004016104b2906118c4565b5f5b815181101561060057600160045f848481518110610b9657610b96611a12565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b76565b6005546001600160a01b0316336001600160a01b031614610bee575f80fd5b6008548111158015610c0257506009548111155b610c0a575f80fd5b6008819055600955565b6001600160a01b038316610c765760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b2565b6001600160a01b038216610cd75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b2565b6001600160a01b038216610dfd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104b2565b5f8111610e5e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104b2565b5f80546001600160a01b03858116911614801590610e8957505f546001600160a01b03848116911614155b156111ee576001600160a01b0384165f9081526004602052604090205460ff16158015610ece57506001600160a01b0383165f9081526004602052604090205460ff16155b610ed6575f80fd5b600e545f03610f0e57610f0b6064610f05600a54600e5411610efa57600654610efe565b6008545b859061150a565b9061158f565b90505b600e5415610f3357610f306064610f05600d548561150a90919063ffffffff16565b90505b6014546001600160a01b038581169116148015610f5e57506013546001600160a01b03848116911614155b8015610f8257506001600160a01b0383165f9081526003602052604090205460ff16155b1561108557600f54821115610fd95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104b2565b60105482610ffb856001600160a01b03165f9081526001602052604090205490565b6110059190611a8b565b11156110535760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104b2565b61106e6064610f05600a54600e5411610efa57600654610efe565b600e80549192505f61107f83611a9e565b91905055505b6014546001600160a01b0384811691161480156110ab57506001600160a01b0384163014155b156110d8576110d56064610f05600b54600e54116110cb57600754610efe565b600954859061150a565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561110e57506014546001600160a01b038581169116145b80156111235750601454600160b01b900460ff165b8015611130575060115481115b801561113f5750600c54600e54115b156111ec57601654431115611153575f6015555b6003601554106111a55760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104b2565b6111c26111bd846111b8846012546115d0565b6115d0565b611363565b4780156111d2576111d2476114d3565b60158054905f6111e183611a9e565b909155505043601655505b505b801561126657305f9081526001602052604090205461120d90826115e4565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125d9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112889083611642565b6001600160a01b0385165f908152600160205260409020556112cb6112ad8383611642565b6001600160a01b0385165f90815260016020526040902054906115e4565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113148585611642565b60405190815260200160405180910390a350505050565b5f818484111561134e5760405162461bcd60e51b81526004016104b291906116af565b505f61135a8486611ab6565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113a9576113a9611a12565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611400573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114249190611a26565b8160018151811061143757611437611a12565b6001600160a01b03928316602091820292909201015260135461145d9130911684610c14565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114959085905f90869030904290600401611ac9565b5f604051808303815f87803b1580156114ac575f80fd5b505af11580156114be573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610600573d5f803e3d5ffd5b5f825f0361151957505f610483565b5f61152483856119fb565b9050826115318583611b3a565b146115885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104b2565b9392505050565b5f61158883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611683565b5f8183116115de5782611588565b50919050565b5f806115f08385611a8b565b9050838110156115885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104b2565b5f61158883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061132b565b5f81836116a35760405162461bcd60e51b81526004016104b291906116af565b505f61135a8486611b3a565b5f602080835283518060208501525f5b818110156116db578581018301518582016040015282016116bf565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461067a575f80fd5b803561171a816116fb565b919050565b5f8060408385031215611730575f80fd5b823561173b816116fb565b946020939093013593505050565b5f805f6060848603121561175b575f80fd5b8335611766816116fb565b92506020840135611776816116fb565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156117ac575f80fd5b823567ffffffffffffffff808211156117c3575f80fd5b818501915085601f8301126117d6575f80fd5b8135818111156117e8576117e8611787565b8060051b604051601f19603f8301168101818110858211171561180d5761180d611787565b60405291825284820192508381018501918883111561182a575f80fd5b938501935b8285101561184f576118408561170f565b8452938501939285019261182f565b98975050505050505050565b5f6020828403121561186b575f80fd5b8135611588816116fb565b5f8060408385031215611887575f80fd5b8235611892816116fb565b915060208301356118a2816116fb565b809150509250929050565b5f602082840312156118bd575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561194757815f190482111561192d5761192d6118f9565b8085161561193a57918102915b93841c9390800290611912565b509250929050565b5f8261195d57506001610483565b8161196957505f610483565b816001811461197f5760028114611989576119a5565b6001915050610483565b60ff84111561199a5761199a6118f9565b50506001821b610483565b5060208310610133831016604e8410600b84101617156119c8575081810a610483565b6119d2838361190d565b805f19048211156119e5576119e56118f9565b029392505050565b5f61158860ff84168361194f565b8082028115828204841417610483576104836118f9565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a36575f80fd5b8151611588816116fb565b5f805f60608486031215611a53575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a7c575f80fd5b81518015158114611588575f80fd5b80820180821115610483576104836118f9565b5f60018201611aaf57611aaf6118f9565b5060010190565b81810381811115610483576104836118f9565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b195784516001600160a01b031683529383019391830191600101611af4565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b5457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212205b1344b1d3e9006388fadf1daad1ac963fbac635b81bb7670d10981fe5395e6664736f6c634300081700330326671dc82daf2eb27d52dd4170829aeeb3cb2b36905316ded2b5c8badc05baa003ae23e5e727e43cd77c032b6b2ba8fa1308422c52e320ec40051d15f497d1f2840058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305412853c21687dc99f1c1ff5b4554686470482a63b03c73d70366f8771cf7e5f928a82f2625c14999dd97693a21443b92faf96f49ba6036493651dbad38029c746f4b3175a959ece9e5120e384e25e20241cb0159edc0703f2b23d0a1b697257e5a8586aa9f50c0561eb06a9ef5ac159430cdc744f24f8a203bd205d9d41d22cca682f97238622cdfcfb422200e8b94e4a2a39aa0758df93f803949b9bb2af54828042152cedc560e049e6d252572072f3975e594f711d97d7080058200211cab3c9308922675103626346bc8417792659a59e1d7ace65631062f4401f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002de55080d91c9d901b997d7a826fd723094bad9c03e5b0f2a49995149e24b674702d79883d20000037a833b9189993ed27fec37d4769788f1927bf0e772f79c8396e6c1a5dc4d8b5d0219214003f1c2d3400a573a24b28edf5323c3961ad738000c40765a438454e38b66d2286003594424a64553e80d0298da88bbc6c44714877083aed2ab8fd145fd2936f25e5a0058210365a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8041190321f4e54eda26b75a1bd84ac9ef5241fd1108cfe3f57ef89325c7638be520838a0058200257494e8a1bd9c9c52c5f7f7a549ca8ae266284cdbfa500975573e961983e865820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026629314450607da8c5749a528533f5981224da52a042a18481379cc50ffb775820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219040200582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f041130219fdff05581d02ccdf064df1481cb33756981817e95cb01521f572ec520e2fc1ee14840701191bb705581d02b052a8f77b61a6df16c65881c0485bcd2572d2c736ad6e89c8c8036e04090219140005581e032ec3521ceb9126a2d349109382d5125275b03a5eb754be86da177679400c02456a2bb7d00003f0b332bc44312957c41e1c20a16725fe869fe75441fd6ffd6bd0e13f2703d1ea0388f6c90814631203ebcd879b9b2a01f894d317d77528d0a411dcdc9664a288fb05581e03d65f614581b13247192efee02f2d33183d60cf0abf36c78d1cc9938a5007011bffffffffffffffff05581e030a68946411c4a3b21c9b5c74d1442476e5eae2fe00fce8e9926a6cb9a0084745b6a0c0b7087a039cea2dd0fe0188685a7c0a745d1e6436e7dbb753ba7aeed3197d66b7d40197df035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503f2bc072fad19157a0cf51a6fc0487af2907d2c4aa843419ed7137646fc26384905581e03ef581d055c128b3912632573cfe5d3e63eaf75489a629da01f5a90f19007011bffffffffffffffff05581e031ea9fb8d26f6194ff99815d6856201b6863fb9d53b01c9d85d959521c00401037c596e86ea89827def23c1daa3a25659bdb96ba0847ece5569cb02a59bebb33e05581e034769536ed94617695173ec19bc93c406d61c770ec0767bccd542ff64b004010219ffc603bef5da0af977c906c11d43886cef2f339039c838f191b65154e424e58233518603cbc082a5ae0ab4898ea804cd75777fcdfed305805abbe6e8b236f34ca29aa77f03938cf908aa42e51677a23ba755035fac248438e5e40ffa3b80bc013ce91313990324b4980665d4f778083095e51f54f6153d6dca9507930a867e2c3830463c05ad039e1baeb078b5def23fe471c4a491ae0926701158b123634f25e6081a630305b9035aebf788eeaa90ff5d79c6a320c8b05f7616acdeff54050603125628839e24990219ffff03dda0974cc99a34c97cd2bfc7a2f97083b3cb7871537288aaa9ffd08e412b98ee0363a3dd03233b61f81eebd37dafe97ecacc68e041aca2f956ca86981243becd8e032b6d1b799826e3710caf159892e4b2e21831ab68f57d44e32c16e952a9f228c103b4913c05af513977c0f574e4447f0ee19c4826eeb3b8aaedcfd0024a31983dfa03c7dfc0bf225f807ef3daf048286d79bbb44434a1384f38e0eca50e8268d8ac1d038a84a8a88983822b2ccfc416b0500c6ca774070b2c13449161b97c56fae188d20307779f56b2cd602b6475eec245bc46826c0bda38c213069c9aca80d1e852b6e40219ffff03ca25efbb743d206ab3af3efa99dc4e8589849cdc05791c2bb38da0b15753248103bdf23620115f9bf14771b4f958854ddfc0e44274256313a7ead14feba598178903b35593c578b0045c3d3fd1e8d341a989e073fdea7ce5c13ecbe7f714fa3b641b036244847303a47e0fd2405d4c1417be81d3e22549c6e17db1d9e885f84909118c0327480994c5b903baf08ec7be70726e636c345271576bc8315b833cb7ccefda6f03d66b55919531c945c2e628ae657be73c87e05e8fa2216973fd41d29c0f4fdd4d03d2e3944b4315cd6cc9fc90d368a102b317712b0bb31699cc67cfa3d2596cf55903a1866e1c0a421ffc41d6755975b0cf937d5e0b1dd33c25f25d73624458b4edd60364545cadf2456bdbb013faea7bdf514a46431a3333a2ff1b5ee1760720e7ceab0314cf7367060377467d731f02fd453f3e45d0d8ab9ba4f404bedc9c8533a918b003be646c267d32cda7a9b496872856c84a746102534709f76a5a18bd529f8924d4032386e327b3b8cb977463e2378f38abc89a8ff9f157cb9ca75b05079e3c07375b0219ffff0219ffff03f93141882ab80c3c75211f1f0af38c1932df537d8117dc4cc257681af996de68036a5a0cd4ceb303927d4f1507b68d5871e51259fc38b04053fa73fe2be1b3ed4903f7516c00fe6f8a143922215b71c5612df30415c9b26dcb59a532e406d175b578031cb6b65e3d4c6d877586793877d288b5b26c1e51c773a1b6fc8655fb7b60ae8703dff23c696cb04fc27418e0c0256dba45927150c1614e8d7edddcc4caf30b95cc03ca93b78da6cbb09d3114079828722c4276dff86b6702b3879219d0305512e9dc0356317bef210ad9ee71c7dbca15b10253ea451751cbc3b09d49bc8c8eb64e56ee030822edc21489d3460fc748234c8f4c9703c0c47303bb3d4c85e7b67faadcb72703960b3b197c92a1d00db4c1bfc0e9044db39f2ce096a75e21a1111d7d660a000403ddbe2283e84c51a7d37d651e4e465caf3b0af87e0c3fd711a833f08da3ed9adf031d20c44ae956d0eda9d5d9ae5914ba3cfe12c9c0320a271021fe4f786726a09203c60bb4f81e98b3559149e2bb91099c5f7e4fd93a0ab984aae0e0c5de4512d866031aa331275160e5ced528b0420ebc3ced730ad6b7850e50b29d6e5fc7a92bbf2203e0245ea6d19652b9eb79c3d71a626b3e2ca336d12f7a9fdf75b1133ac73cc897030e1ba6411031eac4550ac68ed9634b60938642fd15a3416ae7aabcf7751f83ec0337bd51fa1970e36d968f740774f85a37d2f762d7450210b4ebc61660ff0e0dae038b39e389662b25f4936d4d7a7a4628437f4644814790af4b4dd37d6f71fcbe0f03bb63f553a5c3950853fbd2087e829937e0aa0533b8a67e5e061be1d85226ba600314bc345b3bacfde532bf180b423ad5f290d1a76afe5b27f635b83cb0542c707c0333b0c14d60a5e1c075e365bf7294f57c9ef8851cbab02e6171d16f20029f467f03a1df74dcaea6807d75a8387f3e0edf6e4e1673f01f0e23a882aa7b5951f55b880304a6cdae5cfea50d67cf7a5cbe4805df0c5c26e3b25bdb9800fa6ff50de1a87c03235c22b95a1b105390ee603cf641ac34e48152d2d109e23d0ae84d2c238a0e1603c6bd0d1deb163e51d3033d4424aee109870f9687e5ca34682a66350c842c957b0364bb9ee3e2c4dfff512f87a9e92d97be980a78e646ace5e59fda2cc4f80d706303021001dcea1b864fd09b784d6386a1124db3e87856eacd0d4fad66505a2b07b4036a9cadb5b6e75311a025a35bb537f4c505a52e15e47e65c800aeabed1f989c7c03d516672651f79ac6d3647d733ac5902e1a337352a6fff52aabf5c757c6c501d903200c3e98755da1c748e0941440930ba210fbb2f3b2e33dbe7acdc61ab9367a0b039bbcdb184e5a96affecf4852521626465c212b6b4ce593a38e6091cdcd22d2be0384a3f1d7808312cb2fbbac07c37e265678bb790c4f63bd4b2344d56fa67ae2f7033c1f78ec43cc434593fcd8909a8aababdc9d8e82f676de91720e79adf158eb1a03d414439fdcf4a0d1a44818ab9e4381d940eefc1d13ddfd685d20fb29c07b66cb03086e3c411db1aa09577a8e104bc5378570b15d89eef5575b0bf170f6c225f9be03ce8ab43cc87a7673f80ae1e433a29ddf645bf17472cbaf69f87e5b1c7eeadf0303b3e170e88be454ef28335441133dc2154203fdaad2cb7682846ae3b8eb0e1b1f03698242f0775cc30caa9efa8ac29007399c34ba1524eff475556f1afcf95da2f405581e03b25fec8559877932b077ccd38d86a0de6788d5af399a3ca42637a784b00c02461bac820abe3805581e03ceb5d5a37df16f6b0cc7adc4ef889f7b1a686f53e9a3c27e7f8cd00140040303f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e031af48e440b358fed0587d607d396adbcb0867e87f554fffcd0164d090007011bffffffffffffffff05581e036c36da3c9fea6463b642abd34b34bb5326a08330419f600caa4bb5b2b0040304592f5e608060405260043610610117575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb14610368578063bf474bed146103a4578063c876d0b9146103ce578063c9567bf9146103f8578063dd62ed3e1461040e5761011e565b8063751039fc146102aa5780637d1db4a5146102c05780638da5cb5b146102ea5780638f9a55c01461031457806395d89b411461033e5761011e565b806323b872dd116100e657806323b872dd146101dc578063313ce5671461021857806351bc3c851461024257806370a0823114610258578063715018a6146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661044a565b6040516101439190612050565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612101565b610487565b60405161017f9190612159565b60405180910390f35b348015610193575f80fd5b5061019c6104a4565b6040516101a99190612181565b60405180910390f35b3480156101bd575f80fd5b506101c66104aa565b6040516101d39190612181565b60405180910390f35b3480156101e7575f80fd5b5061020260048036038101906101fd919061219a565b6104d0565b60405161020f9190612159565b60405180910390f35b348015610223575f80fd5b5061022c6105a4565b6040516102399190612205565b60405180910390f35b34801561024d575f80fd5b506102566105ac565b005b348015610263575f80fd5b5061027e6004803603810190610279919061221e565b610644565b60405161028b9190612181565b60405180910390f35b34801561029f575f80fd5b506102a861068a565b005b3480156102b5575f80fd5b506102be6107d8565b005b3480156102cb575f80fd5b506102d4610929565b6040516102e19190612181565b60405180910390f35b3480156102f5575f80fd5b506102fe61092f565b60405161030b9190612258565b60405180910390f35b34801561031f575f80fd5b50610328610956565b6040516103359190612181565b60405180910390f35b348015610349575f80fd5b5061035261095c565b60405161035f9190612050565b60405180910390f35b348015610373575f80fd5b5061038e60048036038101906103899190612101565b610999565b60405161039b9190612159565b60405180910390f35b3480156103af575f80fd5b506103b86109b6565b6040516103c59190612181565b60405180910390f35b3480156103d9575f80fd5b506103e26109bc565b6040516103ef9190612159565b60405180910390f35b348015610403575f80fd5b5061040c6109ce565b005b348015610419575f80fd5b50610434600480360381019061042f9190612271565b610ef0565b6040516104419190612181565b60405180910390f35b60606040518060400160405280601381526020017f456c6f6e7320416d657269636120546f6b656e00000000000000000000000000815250905090565b5f61049a610493610f72565b8484610f79565b6001905092915050565b60125481565b5f6009600a6104b9919061240b565b662386f26fc100006104cb9190612455565b905090565b5f6104dc84848461113c565b610599846104e8610f72565b61059485604051806060016040528060288152602001612f016028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61054b610f72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ab19092919063ffffffff16565b610f79565b600190509392505050565b5f6009905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105ed610f72565b73ffffffffffffffffffffffffffffffffffffffff161461060c575f80fd5b5f61061630610644565b90505f81111561062a5761062981611b13565b5b5f4790505f8111156106405761063f81611d7e565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610692610f72565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906124e0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107e0610f72565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610863906124e0565b60405180910390fd5b6009600a61087a919061240b565b662386f26fc1000061088c9190612455565b600f819055506009600a6108a0919061240b565b662386f26fc100006108b29190612455565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610900919061240b565b662386f26fc100006109129190612455565b60405161091f9190612181565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600381526020017f5553410000000000000000000000000000000000000000000000000000000000815250905090565b5f6109ac6109a5610f72565b848461113c565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b6109d6610f72565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a59906124e0565b60405180910390fd5b60148054906101000a900460ff1615610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa790612548565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b4f3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b38919061240b565b662386f26fc10000610b4a9190612455565b610f79565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdd919061257a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c87919061257a565b6040518363ffffffff1660e01b8152600401610ca49291906125a5565b6020604051808303815f875af1158015610cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce4919061257a565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d6b30610644565b5f80610d7561092f565b426040518863ffffffff1660e01b8152600401610d979695949392919061260e565b60606040518083038185885af1158015610db3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dd89190612681565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e789291906126d1565b6020604051808303815f875af1158015610e94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb89190612722565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fe7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fde906127bd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104c9061284b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161112f9190612181565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a1906128d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f90612967565b60405180910390fd5b5f811161125a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611251906129f5565b60405180910390fd5b5f61126361092f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112d157506112a161092f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611801576113126064611304600b54600e54116112f1576007546112f5565b6009545b85611de790919063ffffffff16565b611e5e90919063ffffffff16565b905060065f9054906101000a900460ff161561149a5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113d2575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611499574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d90612aa9565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611543575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611596575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561165057600f548211156115e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d790612b11565b60405180910390fd5b601054826115ed85610644565b6115f79190612b2f565b1115611638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162f90612bac565b60405180910390fd5b600e5f81548092919061164a90612bca565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116d857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561171c57611719606461170b600c54600e54116116f8576008546116fc565b600a545b85611de790919063ffffffff16565b611e5e90919063ffffffff16565b90505b5f61172630610644565b9050601460159054906101000a900460ff16158015611791575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117a95750601460169054906101000a900460ff165b80156117b6575060115481115b80156117c55750600d54600e54115b156117ff576117e76117e2846117dd84601254611ea7565b611ea7565b611b13565b5f4790505f8111156117fd576117fc47611d7e565b5b505b505b5f811115611900576118598160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ebf90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118f79190612181565b60405180910390a35b6119508260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f1c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119f36119a78284611f1c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ebf90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a968486611f1c90919063ffffffff16565b604051611aa39190612181565b60405180910390a350505050565b5f838311158290611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef9190612050565b60405180910390fd5b505f8385611b069190612c11565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b4a57611b49612c44565b5b604051908082528060200260200182016040528015611b785781602001602082028036833780820191505090505b50905030815f81518110611b8f57611b8e612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c57919061257a565b81600181518110611c6b57611c6a612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cd13060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f79565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d33959493929190612d55565b5f604051808303815f87803b158015611d4a575f80fd5b505af1158015611d5c573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611de3573d5f803e3d5ffd5b5050565b5f808303611df7575f9050611e58565b5f8284611e049190612455565b9050828482611e139190612dda565b14611e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4a90612e7a565b60405180910390fd5b809150505b92915050565b5f611e9f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f65565b905092915050565b5f818311611eb55782611eb7565b815b905092915050565b5f808284611ecd9190612b2f565b905083811015611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0990612ee2565b60405180910390fd5b8091505092915050565b5f611f5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab1565b905092915050565b5f8083118290611fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa29190612050565b60405180910390fd5b505f8385611fb99190612dda565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611ffd578082015181840152602081019050611fe2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61202282611fc6565b61202c8185611fd0565b935061203c818560208601611fe0565b61204581612008565b840191505092915050565b5f6020820190508181035f8301526120688184612018565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61209d82612074565b9050919050565b6120ad81612093565b81146120b7575f80fd5b50565b5f813590506120c8816120a4565b92915050565b5f819050919050565b6120e0816120ce565b81146120ea575f80fd5b50565b5f813590506120fb816120d7565b92915050565b5f806040838503121561211757612116612070565b5b5f612124858286016120ba565b9250506020612135858286016120ed565b9150509250929050565b5f8115159050919050565b6121538161213f565b82525050565b5f60208201905061216c5f83018461214a565b92915050565b61217b816120ce565b82525050565b5f6020820190506121945f830184612172565b92915050565b5f805f606084860312156121b1576121b0612070565b5b5f6121be868287016120ba565b93505060206121cf868287016120ba565b92505060406121e0868287016120ed565b9150509250925092565b5f60ff82169050919050565b6121ff816121ea565b82525050565b5f6020820190506122185f8301846121f6565b92915050565b5f6020828403121561223357612232612070565b5b5f612240848285016120ba565b91505092915050565b61225281612093565b82525050565b5f60208201905061226b5f830184612249565b92915050565b5f806040838503121561228757612286612070565b5b5f612294858286016120ba565b92505060206122a5858286016120ba565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156123315780860481111561230d5761230c6122af565b5b600185161561231c5780820291505b808102905061232a856122dc565b94506122f1565b94509492505050565b5f826123495760019050612404565b81612356575f9050612404565b816001811461236c5760028114612376576123a5565b6001915050612404565b60ff841115612388576123876122af565b5b8360020a91508482111561239f5761239e6122af565b5b50612404565b5060208310610133831016604e8410600b84101617156123da5782820a9050838111156123d5576123d46122af565b5b612404565b6123e784848460016122e8565b925090508184048111156123fe576123fd6122af565b5b81810290505b9392505050565b5f612415826120ce565b9150612420836121ea565b925061244d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461233a565b905092915050565b5f61245f826120ce565b915061246a836120ce565b9250828202612478816120ce565b9150828204841483151761248f5761248e6122af565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124ca602083611fd0565b91506124d582612496565b602082019050919050565b5f6020820190508181035f8301526124f7816124be565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612532601783611fd0565b915061253d826124fe565b602082019050919050565b5f6020820190508181035f83015261255f81612526565b9050919050565b5f81519050612574816120a4565b92915050565b5f6020828403121561258f5761258e612070565b5b5f61259c84828501612566565b91505092915050565b5f6040820190506125b85f830185612249565b6125c56020830184612249565b9392505050565b5f819050919050565b5f819050919050565b5f6125f86125f36125ee846125cc565b6125d5565b6120ce565b9050919050565b612608816125de565b82525050565b5f60c0820190506126215f830189612249565b61262e6020830188612172565b61263b60408301876125ff565b61264860608301866125ff565b6126556080830185612249565b61266260a0830184612172565b979650505050505050565b5f8151905061267b816120d7565b92915050565b5f805f6060848603121561269857612697612070565b5b5f6126a58682870161266d565b93505060206126b68682870161266d565b92505060406126c78682870161266d565b9150509250925092565b5f6040820190506126e45f830185612249565b6126f16020830184612172565b9392505050565b6127018161213f565b811461270b575f80fd5b50565b5f8151905061271c816126f8565b92915050565b5f6020828403121561273757612736612070565b5b5f6127448482850161270e565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127a7602483611fd0565b91506127b28261274d565b604082019050919050565b5f6020820190508181035f8301526127d48161279b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612835602283611fd0565b9150612840826127db565b604082019050919050565b5f6020820190508181035f83015261286281612829565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128c3602583611fd0565b91506128ce82612869565b604082019050919050565b5f6020820190508181035f8301526128f0816128b7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612951602383611fd0565b915061295c826128f7565b604082019050919050565b5f6020820190508181035f83015261297e81612945565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129df602983611fd0565b91506129ea82612985565b604082019050919050565b5f6020820190508181035f830152612a0c816129d3565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612a93604983611fd0565b9150612a9e82612a13565b606082019050919050565b5f6020820190508181035f830152612ac081612a87565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612afb601983611fd0565b9150612b0682612ac7565b602082019050919050565b5f6020820190508181035f830152612b2881612aef565b9050919050565b5f612b39826120ce565b9150612b44836120ce565b9250828201905080821115612b5c57612b5b6122af565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612b96601a83611fd0565b9150612ba182612b62565b602082019050919050565b5f6020820190508181035f830152612bc381612b8a565b9050919050565b5f612bd4826120ce565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c0657612c056122af565b5b600182019050919050565b5f612c1b826120ce565b9150612c26836120ce565b9250828203905081811115612c3e57612c3d6122af565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cd081612093565b82525050565b5f612ce18383612cc7565b60208301905092915050565b5f602082019050919050565b5f612d0382612c9e565b612d0d8185612ca8565b9350612d1883612cb8565b805f5b83811015612d48578151612d2f8882612cd6565b9750612d3a83612ced565b925050600181019050612d1b565b5085935050505092915050565b5f60a082019050612d685f830188612172565b612d7560208301876125ff565b8181036040830152612d878186612cf9565b9050612d966060830185612249565b612da36080830184612172565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612de4826120ce565b9150612def836120ce565b925082612dff57612dfe612dad565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e64602183611fd0565b9150612e6f82612e0a565b604082019050919050565b5f6020820190508181035f830152612e9181612e58565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ecc601b83611fd0565b9150612ed782612e98565b602082019050919050565b5f6020820190508181035f830152612ef981612ec0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220034071091c7d421a4735869d8dbf0087faab7bce44ebee018f09401ec67f4d2664736f6c63430008140033005820026b204da32fa08f61ab72909e04d1758e2157456b2c16a0ca22e4f48282387b4a2e105902f48bd84e9a6500582003bf1c967bf66ec288157ff2d15a4e7f5339bdd0f61dce5333a72b5ca4f804604a039b0a06549d6b7626d700581f02c0270671f49fe6731f61aa3f156a6d75f85242a8ffa8621da78cd9a8821b4a0148de0c2e1e4f40d7e300581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db941010218210218840058200286b955776dac2fc303853e2944adf37901cde104eec5d5d572735532203dd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a5b5b76778470a368d0c9b8a5b0f9eb731f53677671d8fa44da727fe6d10265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200241f4c7d708f1b2e5adcdcba84bfa00b3f8ac37a78e8d128b3c571e80737eed440134d6940359340512dedeb99f7ae4425f055a277ab80b663dc29e84182dbff5162540e240005820022908a911b92480e53fb39e554abebd0922004205cac7f4c68bdc46fc2185db4a19e93e8ee9a639896c8300582002121d4ea5ed70ff5599826c1f03eb142d8f0fc7cf30f4aa37bf460e24856f984a08860ced3ef740ad3bbd005820023f7416678515ca8cf011c2831a383273ec4e9680e8b1211bb7cfbc4a80fe424a0b99ad3f935806e38fca0219574703c535961a84c241e29c4c88fb6793a9edc3c22fc2bacd5a2e4ac7a48e00891d910058200277319141af82068051313fa547187ee888d448433e51cfa2339b266f0ec61a4a034b10d04498ff83dcc800582002ea0d5bc558062b2a19ac6f8d5fbe4ea10705c4e04a124899e73f236b80d9d84a01701b156f48a296038d03203485f888c1daa62fb564da3709393a1f2fe462d7260ebdd8f0de10a52f23b9005820026847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6724b084595161401484a0000000333fad16840ec28f4befb58e5aca423f1be1e8b22c41809747e0b8bf95f9df95b00582002256f500b0260b3dc0e8e6e0a2fa2627bd30842c04bddcf8f6075655a2e66b94a28f353c3e293c11434d600582002ee8304c3fec3ccb982617e4dd3912def0045210784db0b1bed1c44343bf9a84a09dd7f416d796e6f3f980219ba8500582002548ef1c2f4162ecca25c3485c72e543180c5df77c07e9f9dccc9bc4ce55873440134d69400582002abea10cc6dfb18285c77b7100da92d90d4279e09cb169adbceaba7ae434ce54a096156176fdcd8d7a29500582003329ca016b6cd12fddb7a98ecfa35e81eabcbdae3671b8507f17c87d40a30604a0704b335a6ca6acc67520058200374d05ae4a1d8d05ee7bebcdf1b26563ce01bfb19ec243befafe911caac47f04a094e49a23b7148ca57bc021980100058200204e58a8e9c2ee4d7c3662c04d49735f20fd39084bfdd86b3c2b2e402ad4714440134d695005820023754802295f1a76e4a39479c8f56cc1804f96ede50fae118d81d61112c58295820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191a06038aaea734cf5442951ae6772103e3858c2aceabce358e8a4fa47c0d1a7948048700582003e55e1245f5cfb82521d9cea5882daf45cfd3e749eb6acae5af3e71545aa6a04a06ce83288c5d65ca73e500582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6804a043c33c1937564800000021940080382210be60121f9749a341d3ab79dc8b98ff01d2b468c302e68dc32a98ae746ed03b33e3db03b5bc52fb464cc4cb686dfaaf4ecb59fc454b09afb804a5e12fa52ea0058200222db1ae1f05c9112cc3198e8a90d48541708c7ace16566690a5dca439504784a017bb5fe0c6bcec18bf903dfe4b938ef44929bbab0244af895409b344447b003b0199fae8b829b137befeb0219109b039f8777b1271bd0956f34bca2081636df6a73917a0fe47e170cf9f396c54e317c0141090058200230d7efaa145edebd476c9a3997ee09abab1ff28cae9d778b4ac96b876306dc4a0778f27d6d6a6d04ce7d00582002c7242f0ac7c1d09dab5d0697b89d891a2e2e4604fee4a72f04c963c00dffce440134d69403b37fa1273a7ae7df0bbc3d0ce4650707ce1f133931e70962f8f4518780a623750058200249454918dc942a4b6420df08169dc6726680efd9d65169d8a07c57e8a445e15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f588435a7295437ef515a33f992b1dc341a5c9e117d524d6bc9372383e052ac200582002624c3c3397bdecdcb98b53116903497013d40e47cbf1c6e05bb5bacc466ddc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191ed000582002e673f6b41722daa859d0e0db901a27855a194e5d06c8497e6e3579cdfd0cf44a06693e6b700ebf2930cc00582002447e782de57bc3d01680b0ecf6e509327f42f701e950af788ee3d3a95856e95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200231ce5330853bb5e749c78134462e104cf8dde0776eea37fd805c2585c8f1e5440134d69403ccecf1b6d52e061b464df78226b696d934fa785e21157d1e241132a3bc1919f800582002b9fac9453422624e5b8022a04d643ba0da39950be142d7f0644b7d9800631d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219281500582002aef1c668f444a01e3b78e63c949762096ef6e6707de1bb4a0151fc11381fb44a22eb86f43092968bd90c005820027c6f2f51507068161b8c0da195c8356e294fe1e5a780157e76ed05fbad953f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c3fd3af6bd6a1c516cb62469a6ec7952b39f45227a394b790bee3657c8a1307e039f98723c5e2afa7e484b70534ac8ec590b63154174d22563dd8b4a756f10cbcc00582002f2abb1f6790a36c3546e7d87c7aa9f2baef32dc17687e4e6ac50e2edc8dc7e4a0a66e6386fab875a933b00582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900547a250d5630b4cf539739df2c5dacb4c659f2488d00582003ad4b63353774cbeb8ab76a6553f7a7faa454462ab7a6053022b9a578461d205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a000005820026329e420db1038a0835adce3467f11dd7ffb52070c29296ceebee9c8c533eb440134d6940058200293a31c3cc2254ff31d543f5c4584b7a46d2f24c9f31e4a752e64aa43e6bc405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021862dec42f3a85b5865266951a91f05e0d877a1d3000a8f4a41089d557bf024a2e963951560b51800000005820021bf0d4ad7c8937fffb335eb3a3f6d8e01276bce31a71e2b9fe2662d2d301be5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002863fad308e6c198b7b5bb103a256bfcde5335bcfbc68a43ccdb0491003043a4a07f8dbeb075d41e1fadd021956fb03c5685cba96e20d5bfc7535f05ec684a1f650a014b822f65503de36bee12aaede005820024a68e03c9ab1a3af809c1d40e1269a5f970a555925103dadaaf97d726334804a073d74e7663db84f2f580058200366dcc4e6f78acc9cf0fb7ec7cc3453fae7eb28a86d7af4abf6db430b2eb2d05820ffffffffffffffffffffffffffffffffffffffffffffd11fc38fc4d064353fb800582003cb25f609074300406db2cd49b75f7745a4cf3a2e98357f0e9a9c9ddc8160804b01bc9650a90c31a6400000021940080058200221596b87a2c503d58cc324d1e481987f9fe5cdebf1d4313b8cd3687868b3615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820028500e911647a6984ebb664f97da99047af48f17e17ea64ffbc7bdb2fb2850a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002890190e97e8751b73165898760da496ebec9527fd3a6264686eacd9745694b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820024e143d26c9a03c90348dcfdbefd8c9315de4e7074ed9f81c786a8c044bf66c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8024b084595161401484a00000002192d640058200274fc201434d5cdb7e7ba633293d273b627991bbfb49d947df2d1ba287223775820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002b4f51e0c5617d4d1a3342df0ccc491ab4b53ed034da8d2d0a04e3fb3e55a62440134d69400582002b862867e91546771f272df8c17c3416813a5a8b1fe9ef99db92bb148005f9e4a2e963951560b5180000000582002a7494692ac5412e9072e6a0d56e246cab14bc7ab496a633aa0ce5590b704734a2e963951560b518000000058200297cb71c0ad3172c55a8d6b62cfb4da319d6845703b4951f2396bdc453415bc4b01704fe11a2e66250e894603589672152e63fb1e4034e86e3ae973400ba1501ad1a70c458199d5660b5f848600582002b29d964354d392b78e2acddb819b6252a28741197cf2b69b730a60447c6be85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820027fa1b10493034d68efe54eda9b34594af819bb09d1ad8b1fd1e1a949700ca64a2e963951560b51800000005820023e744bfe655dc3478afc21164abe0fdace4a0c629b3aff9618a464cc8b188c440134d6950219f11d03632e7c762b62d354ffde09ea3ce64e4b70faa7940d9d59cf221599dec93f3a49005820025fd88c40661d88cc7ff97117014a1f7636c045a0cee009aef992865ce69dc94a083daeea30c0ba56d9c6005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688411d00582002f4fd21691128b896e18eb386d1599da4ba6b670014e63d6abaa4313fb73154440134d694005820027ee95d89a3cecb81707360a06ec1bcda8edfb0eff0c4b231411f0a804d19594a0fb52772e90b130478bc0219244300582002b1b3d92629c4211a82d527199e8b3f60064af38777769e02f4f8ef6c90a8f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200266ce8f9212549c419d5053c6d512963eae7954548cd19fb3c19e7c83a11ce5440134d69400582002640d1e2ea100f6afc403a672bf389b4645827b3b24a677d2b233e8dcc2cc855820ffffffffffffffffffffffffffffffffffffffffffffd169c6aea9f4ae7fffff0058200219108e16786ecd439292da45388fe1ca87e85ecff9d468542a8619da416cb45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0414800582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344404a23ffb7ed6565d64000000219018000582002fec15c181340eccce3b302aae5e84822d70c20df31e6199b19c4f8805696844a0a968163f0a57b40000003212d91a43050e866010893bc1fafa552682d850b15925883373ac9eb8939873401410c00582002a7570999c160fd193421b28f9ac94d380abb2b4f682f9eaf854843a64abd185820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820027c1dc2064360ce58cc85771661ff80c3845a747c956ffa0b3218ddf892f0275820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219f98300582002a596b7c4929a8f7898313bbfae5486923dd3b7079ce4648ed76cfeebe66dbe4a3468edb284e4fccceb9c00582002f44a4682b1fe259b8ef21828e7ccab4b3937c9c27f7c41dedff626301aefda440134d69400582002d3cf9fbdd8f1f0f8dd19ca38d0410b71052b0a26d39783ae0207c2feb95a2c4a0d04ba5812021b94930b0058200209e5111b461efef0cfe4a3494cd492bcabde58e21334f6161e0920e3d5b3ea440134d69400582002d26c46d50a81ffa162790d089df32862b1c7d0fdd47069fd4f4a7d1192917f5820ffffffffffffffffffffffffffffffffffffffffffffa91b4dd9ea1c8ba6a374005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec57010001764355a8cc85d9144beaa5ef29bc823f4149146c032d5688517b5e546e17f8a3af13113b12578ed16446a5f745f57a85d2b421c2e20219ee020058200265052b983bf57ebc222b70a7485562cebb4e8f376e1445cbbca920a9e1227b440134d695005820025da8b96541821177596e69788bb1d1fe8ca550ca96331bb476f0ed0fc93f5c4a2e963951560b5180000000582002ad4e2c2659582808fa60c2a272b72920b10f624278260105e694dccbd15e304a10acfd1d162915734c3d00582003364d4316f927cd03a513c2e703ae2db8e52914a7555b07ea9d3c9ab0ec0b705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820038cd155a64bc89b77fb75af67b0d93e46bd2d3639ebfc14af3826fce07d01604a2e963951560b518000000219080400582003cc4d46b3e4b7999dbdbd4421341e7c9bd67e189ba72775dec4f82f634974804a035beb52e730f24a4821005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50410a021908400058200297843ad41ab7ef1ec57995597363dbc69c472faa4a0dc33a47ed73ec9bb2cb4b0622c368e308536dbf297000582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70411900582003e62a74e2bbf6a1daac93a2bec60fbcd6545ac8fb5ba66c1bb4e7f3ac3d16504a21139e74a0ee6fa000000218c0021990da005820027643d72a11d824777c5bdcf1129639f6aa5dce87ead19fd8aeddeacf09a5984a06fe23a2130664e6083f005820027f48010d796c29b5aad4fc5c152f344d68cff517aaf3a0996cf7904d4751b3470200000000000000582002168c7e394ed0e983478132e905134e89133ffa4fd8c9164cc822e7b6d6a9d94101005820029738b0972b3213e7127c7048d5a8ebda320d3ea1310eaa55083fc370c19bae5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0307f92082c2e2b260b45d95b6e0c43308a47aecc935de6d6b3d7376a5bea72b8f01410100582002596453b69fb81f193b5f1cf19cc3257429f163db05b730bc86c1d7ee0414405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0386eea89d1fdfce2d37380dc2ecf48bb7d09a795ecd1e8ba1845eda0d4d696b320058200284c409e7892b84b2c860d4ee28307c0d210f3a2a39a4cbcbd19196e7f98ca64a0eb1a278f49e590f77f00219c05f00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee341170058200205a054f133c8c63cf1da4fd110d0a869e2538bd563a0d966d6afdb6c3b9477440134d69703d4356c95a591fa24ff1c756b888fcaff93f5d59b25a1a6e76f10e28289e804e60058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f55ac903c77b64c827dbd19ccedb29204725e032f4e00005820023bae2c533e5de9259be506a01b83afce15ec81e941c9037a8823b0f553a1fb5820ffffffffffffffffffffffffffffffffffffffffffffd169c6aea9f4ae7fffff005820022d62a996d481d2d854a2dcfda9a5b642fbc61576668c9bc2237a6463e2b92e4a0dd3c299fdc2d28ad9fe00582002408f73ff670497866c8efd4192d21de3fb3e48bb3c54f6d033cf26677a54de440134d697036c4bd6993be68c818242ba3c176dca9b08d17e3b26e746b58a42521e0978070002190df80219ffff05581d02539db11c2b2b4ae528dadd88aa1c01d3a9b51776014e1c32f7cc918b0701192f5e05581d02d57ef2ab5d346b74dfacd49c0febc149520d805f743e167fd04a8e000c014701679ba93170700219800403af74da4e4f2b7461198facf46cb822bdd325765b3e32333d9d45e0e295b491fc02191f1903ee6c259fec26a07b7e463be90d17f9ce43bb5b0be8e1f0e16673465cc75dd56103217b677a7e0982c9ae7ed1950e9a9005330d44b7503da79fa14b83ddb3d36f3403800bc34d1dd69b02504df524df229db3f9b17722e19d0dbf83bff0eff7047ef80381438da280d914f157633ab78e4452557186da65338f57aa41e586f7387962e50349a340bb68caea1726b49fb21c4b424eac36e7fe906e96402eea08b5430a582103ecbc893ccd8c3dd7a42af2b551852ec8bde9d2246b65d3ea224c312a241a523303e20701521c4417963e6eae795ce88f226c1766905c1ab340cb8b93e3272d041303ad86722263a31a599d07ceea242cf3192a9a9f8c551e778159832b05c8767e390219ffff0318430fa5b01eb6493c7a6f0d7e26c077219ade2fde5778db61960c4e5adde06803ba2f70aa1ae42273bf77c1d6bcb497b15f66aec375646eebffa20ad87d848ff803089db14fbcc3e78770562f71d10df944a1d8975c62fee81976be1ff5fe76cef003029b3084a2aeca5c658a000923183c2f7ff687e68c19720237311cb5f936ab85031768d78137ef1c8f6c47201b35d912f40ba3402012b551a3c451caa7a60912d80349724740dc731b318173515c35741b4c012b5299b15377db7f25674424e39c0a03405e93ef75436fa1ff52f580cafd8532f0f8ccaf9c8d6deae42f32aefaf569e603fe424fad1396c5399e4012cb808846160d51a82e5fcc40c27772a439cc0659890219ffff0219ffff03383340b3221ed3639c367256b736bcee3b91b3c0fb1521baa268ab5e60221b8003b340e646f1c763fe0f4dc17935f8913dd3111969a423cc48fee357146889f96b032ebbb988f00598ae8536ffadc146c174a85862fb9a6913ae88a8b92bba45392103d0bbeae644faa6823308da5678c18ccf6f386c1b119d2ece6a8bfe8d19ccf1640327966ee1ea532f3bac0269c17602c57e7e3fe2f5fb8e575ff1aa83d3463dc56003f2aa184cfbf2dfb635c7c7c403fc6b14e31ae2d8c1a6d439bf55d528c469328203fb0501a013cd6ec58b48de0ebad081271fdb7e6242733e22f5e18c0aa3a01f5703491519e887f98a1714938f08d8886fbab7cbd31c66b879a1fbc412e290c0687003d34ab8764b74d2f39f4fd87e29fe653dbfc8c3874a4df0cc667be0cc2d140b82032ccca3ac5d550220468dd3b2cfcd38386d5cf52a9b74666386e06c67606c830803de5b1f04d5ed586802471f274028a5e3715ba514334050fc73e43fc6f32cd32b0358ab02c8f7cd5ee0b79738d2430525b06c78403f9e1571631bf335afe29b248b0360e6a5d110c268726abf48d510e0e0146fb96097a783fa186f0daee2b294cbe603cd96513ddbd40f23c0b6eb344e18513c54f8d38f14d5d22a7080bbec47da7dc0033912d8fac9e30a2e6ef5636898e2c4ba889c7c03d8fbead5fba837ec915af7bb03a9136e1ca1747a975fe02d0c6fe64076c8915fd0f2d4b22e82d38af872eb5de703914f50467fb92c7d31478f4b1130e6e9d34fe5aa9faf3714ab648af0f829301e0395e50a4a980956418067f179bbef7e02676a9bb863e59d5ef6d8c21f1d8cb6f7036f8eac5602bad18da16129eb20bc949812aba34063033e7603e162888bfdb09203502931b5dfb32ec8696936703692e86d6816f7cbfea92b168867e9a4c143f3dd03bda897a9f0cbdf688f6142b110e58465d0c5826d82d0020abf5a494a0e7dbce9038de270a23f66b3f4c47528b0e8872fa9cbac61128bf3eca750a7d60d9038530f037d957abe84676252d976f5876dd0e11213f5be9eb4ab9506e6752e98c5d0fee20347d59966b6961a6f4d6d7e004e9c9d8bffd2c690469e897ded99a3faf13d56ce032783b7c2afd5b1495a146cd4763fc846320782c405b73a46f6629c76c4c5ff3d05581d02a855d177322569be151d7902f2bca4ca09ff2cb87c71dc73c28bce2c0c0d473c053f54b0052905581d02e1ac4ed473f1fec9feb7424b834ba97313f5fd71eeb90ea92ed895440c1902ef4790b0b9f628e62202186005581e037a119322421ab89b13da51d7d8d1118552364894ee3b4760644cb414600c0f470d719a75b9ef5e05581e0310e03b66aa43010020b0f10521a6e146421557018542997749d9167cd00c02466f93a64f0c5003915c345a0eabbbccae6f5303e6acb01143748ad23f51ad50ec731f5b14ef3c33030865cec1e9ac3048b12a85fc3b9fbc682c3831784e3396416635df4cb88c3fdd03a3c95032dec6da1194cabf79dcf787cc5f22123a66184ead3feea310aac3007f05581e033909ded43fd2938f39091c7b26da65946196d7e2bfd5bc03a58d0bd9b007011bffffffffffffffff05581e035a08efc32c4707728077f6be0a8a86ef71c2a1d1b0dae37d8bbbf1e9f00c0247455999492c561005581e03d8b377f3a8e215fd5a671706f314c66f1a4f29708189913f56875928100c024713ffb39fa3230005581e035d80e03741f255c94c4605f983f0e8f76e166815d88e9fc82fe73208a00c0447057255f57dc40003bf5a5b94d1f9f40f3a1d4f831c0926066ae8d86d3cbd9f24cbdfceeedcaa483203dff4dee06c1e73e2b7dcc4358a0d13a6f18fa5d81686f7b9093ee955d19603f805581e0336d2e807479273fdffe1e9c28a9a0c4437a5414fc27f83e8651d2a21800c014719553baa6f3d4e0219d5fe03bcf12e5f834b449ec838d7343c6e8dc5029f3f89370647e5b096c3649ecbe3e7035427acc09c2e5fc3c8235b8a076ddc44e251f25555c4b2ccf2b0c19fe0e27043031ecb1aa6232293cf60672fcc815b8fb6d3f5868fe38e2fb0d00b51256c906d7b0378ee2cf89351be11b01e0a9bb7ec37c4a48b1854ecef857f0cab9cd10d336bf10303700ca5267201dd8037a8d615bc14c20f7a8b32466fc408e4cc781dcbfc68bd03fd15be497d004ccae1165c8950b11f9731c4f61608957fd7618d8f42b33a21df0301742b52cb896734b34b0b2ee238731d1cf9fecf7b7434f4507bd245bd4c8e7303c4ca184d068f13b4a807d8e7ca72864d1e107f955a2cdcd25de762acc1691dc30219ffff03bccb517a46b22259f3bf3cc42b37b8dd5b5010975076f7bb544b25b31ea5d29503bd8ff9c336aaa8a57d49c42004e42f50aef321a882aa0e85a6dbc5c7c28d0b1c03cc0273ce6e1a59aa906ca0fdb13dacb245cdd5fb3fa13ce75053ef0503eed268039a9620298e9d5439a543323a13f4b2509949d13e7a2136c15f3ed027861ae05a0379c89fe367fcc4fabbcc4c2339b18c0fa7edf50f0d55ed9e6314190fedf1a047031aa852caa7d7f9bc1cfc6cab409839a8430983f078d982a209319766825475da03b8cf38b2fe330c4bbafcc4a4fb71688c2d1e1c0376e890518c24b171b7a4ad770309de5665511935a89b6c7be6179de05982859f2ed958ae1280d8469a821395a0038b2b91bb81d170dd419a424beb25f10f6ea6e1f04defa8b0338b91515a7a9b85034bc4a728e253b81c5970f729bb0aa1bec335a5c148dacec4a1d4b260608200ef030b4b199572a6783ce0b3bef6c32759e8bf685bb12a90202d3e34e7991526efab0312261d9174e1f4120ef0d0568bc21c7c9173896742a212157b72968a8ab68b470219ffff0302e45a8175692c3fbe33eba3957efd65efcd137a57496c2a687cd76daaa29a7703c00967077ad03f81a682b064edbe04d7505f227e0088f1eb7a5bba611643b3c003f2103867ba5371e1a2ea6aa8851dcfae29084f0d121a2064a3ce18906d9aa60303212b641bee11bbf1b8b30f25cc579fbb1a216b316eb4fa4ac5ac46817c9a4b76034f59197c102aedf922e7c5dbc9e297b5bcf21a642cb9f94b001fea35b63e0f8a037596790db2500ed4e5437a7a7e32ea51a140b11361045324182c62de038f670c034f4e10dfcbd78948828d1a835790f96d5f9bdb603956867f16a280a88d78ee8c033e264170275eb4583c521f06f89d5711a40028677cb960aec94ae4558901f41203a224f5db0dcc0954902ddc9aff01d373dc2f96331f2f7d13d8d4aad32779a99f031812ee70b749c5ec1dcb285d4b0c0fa0b34b4cdcd3d320827cd01976023426ca0219ffff0219ffff0366dbd2aaef7d2e64ef4d50bc8ce6ab3dd238dc934e9cfb4bc5062b8df85f578b030c89af99aa0b18a20124c04e23c547a0fea7a11d97cd9a73069eb54bfaf3774b03ebb8e6de365d3dfd44adb1f2d7bcc152fad5290e6bb711e12ee00a1008bb20ff0306ffe55ef5946e83dbb60fc817d0c62b1c3811d17d3bfcec1e3f793de360e73e035142c4093e63fe131fc7ad0934b9d41c65d33bf3e88b93c7518c406c8cdc48140368fbd0e37336e060c56b68d6d37b521c63c9c0bae99236db47cbc5035220eef7033d39444c3ee7b86b0eb6bc7a3b5fecc6817580d8ce046e2b59e7be51ba64eb3603012f75ac5cbd60b0c9228ffe0dcc03460ee138361c4beab3c4f4fe7abb67b110031aacd8639f2691db192ef14752a8ac05ae58581ce197b4b5b1f3f2cc13be24c103e48ccbace9fe966014886268f074de0b23a85362d621a61a5bd46fefcbd1dca6032a3921cfc28487eedd40ab9e13741758063a3975029dd464721378c4e24b17e6032df019684b35822af7eb5ec4b90699efd36599ddb9567fa59b78abe85501803c031c53cbadf2db11036416f6da06627be3d4ce6501a39764698e2cf306ec7da42903ffa2404c46b64c048be29691a8ac090f1cc186f41316acb80f6890c18600d710032f9b2b18fb3e923cdc975d69c32758953d32639b084f4b8c3c8f08c1379a5d6303bf6b563642a9e2061827d0ff56c6cf9bced6e037f49056374e919a85e36956ab039fa4ddf42abdcd438df072cdfc609715f53b215b33ed808e89216d2dc71f921d0365f7d5500fe37422449d2d68d52911a3b71e314ba93f1eb7d2023218c0200c0903ac3fdc77bf7713d6a9ae46a28f813b9d876bf1e7f6ca586ca651e412d1cd72d8038905402d339e4494eac3f769baffce72fb782d753afee76cc24207fcb41d492503c2c49e5f74d57101a288a4da55be01be5ef61e88a343b5ee293c2831560e08ee03743efad883d857e922b536041686756f426444746ec18c6f42642862a60db2740301c4a1bd73267933fd4feec6084361434eeed9808d2f0c011a345fd1f42f453c03db4bd433179cb6a71b237fbdf7604a0e057e4165ce8c3a0ce5cf488cbbdee3bb03afad465ea1f4b6bda41cbe26b52c245dd2563b8e3702c1b16f0eafccaf727f4803a4b302d7765d328df7a8b40b7a5d770366db915d6b3fbc4d0593bcf43f728d38032226ef929519d4ee6bdd02f951f6d53a9ed35145ac9d9d57cb0d85f9f293751f0327531acf6e43c0f3201b2daff7cd32ad2fa1604d89107055e5e7414266fdac8503095b0f3aa690f01801d8ef3168d798deab3c27d3444de4423cfd3a35ccc88aef0399b6d6815e0ed216d811001ccacbd99941ec21893239883767f744ff6a586d2c03c52965db06b0067ba85e46f740af5f41b2a787335439775787c546de950c3dcf034b1740b0239fe5f963174def1fb217a17b602a4b8445d4f10b1f013178629c010337113f8a53ac8607928d4f133ddbe43d8d7df95d4dfe8b30621dec8749ce17d003706891fa646b001ba75e58cc904c45c997e12788fe7b7bb93ab2f4353d58f5e503842ec087eed90c8cbe1976947c3d1a422cf34255134f459671271486b6864e3a03abac6af398899ca2c4672eb4ac879f6985997640c5cb16cdb038ebd90b45338a0336cf189675eb441f0d59d5f25dae257f102656d391daa376764d584d0f85ced50338d9e2bf58f75d598d7201fb2cc4222b09669edc32b9ff287808ea97e2725f54034ac1994c7c6bb917d57f713310d2bccaa7b01bb2b01e5b862e9df0b129332498031f8e45d64d1c8222536072cf169f96c958945d06fb1879d787f92f8c56d2c2ea03700fdad46a196959abea5c2a57e60d17f471377cfe370689609d778efd07865003df76e5bb143ffabe42b5134b2e73090c84e89dd8e188eaa981d40028d9d1ba8b03b851a8c332ce24065cf378514991ce3a004a703ad24da3045d39cbf18ed1e29703ff00599012886efbf17cb6130ec6ca4313ce82ddce09b471113bcb54cb710a45039e57de6b0b7b41a1f49762eb0f029c68657b53dc30f43d712b99389b8ba686400361981af10ab9aa5b210f589f3cd17f039b2df6b27e41185015107d94b3f49cf003a2d4b759bc042907dae60947fb65751070b2a82c23ea757a8f6385177197aece0373270a64acaf624fdc782814b683be10b6b78316a8e061799d92b79d6432e32a05581e034824c5ed9064c84eb533aba281d70d761cae65e982fd7b256bc7ac7a000401035a765efdb36467056704c42bc07611ffe2c8f5d4d463c41fb4b2cf8bb76869ee031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e034b550b21d775c09eb7554fed133c48b9f134cb50bb651c9aed4faa270007011bffffffffffffffff03f5ffead4d31dffc427346cef54f54aa9f04759795ebf836dff88f7de84f747560322a915f6b048074ec6eafb16db1c11136af5cdb65d1734a80b23a35700d9c3190394416dddfba4d22af27ec1674e8cf64019bf31e040c30580d1b4532c28ecd2fc036bd5d07b72bcd979c691d9571fa87fab2250e119c822522c61f24932179e2aa60320e33b5db2e2165dd870eb29326a3792219e7e4fcd997b3057be6b15c56369a505581e03d604b55b1502c93dca009332d06aa7c52a98d31684148c2de481a49f500c19014847062bd35b56b4eb05581e039e3bc435cccb7993c90f3871e201ba19e4beed09d7a7d2bd5add29bf000c0346982ce2b965c00333140b58c07ee4ff1d92540d024c7001f3b25095570022bfcd03a0e25dc15457031085b7e20c3718b7585acd84590733c800e604ac2e49953e662be49ae40f304005581e03ac70e7cce187e8123c63635ca561d2b95661badac8b79e32bbb1ae114007011bffffffffffffffff05581e035d83e0b0d9e4a119cc2bf95aa79210158e4e17dc21f29df29f6422c5c0040102193bff0219ffff03145fb609ae7ab4d3a97323170dadc57544c4ecf8461c1edd86630a2288ed126703efde42c19cbb0a81d6f933e36653a458a40b82bbf10a0487f447035936d4d34a0219ffff03a338a916ebeb0e08a8e1ce52fb71e38f90699793839503ee6ca6a6d53d9c51cb0219ffff03eb4b2e089358bdc988732fe93a30ad642acd84e836ab595dfdc64fef7eb0820e03dfd544730be99796a7bed70ecf697921c9339417d0cb5624b2e84ac892c898a803bf34fc6f112e6d35c95a4f100687326fe5d51432d2e347d8e66f975d55c253de039ec6305b53968c23fa0c6cde29f644d8cbd50ffcb083ef3a71f1e45205a8387c036c77922311d78ac62863f4ca542653b54300e3a06eb98b362bf68fed11d42de4036fb254a13b5f7b46538b85ee5c68388febbbef51d82ca0af2ca1c24b6a14f45503d2fc2692e843c7e70c1073dee3ad7e4d769d793f79048a8a872a9d6b0e7e1ac503ab4efa2e5b16f0973f293b5cc9b2289f6fedb5bd72ab2c43b5190dc8f1274089033153ce0610e133d847919533523aa650532f08ab8da6bb98492cea9c24259f5d03ab89cc90bbc2f7d4ab054f6a22c924c6130d3c16a5b8ef865481eccfbca506f5039b5962d6b45a6ac9b53f8aa8b9f18e1fad44e5272c97f4d7dfd7aeb79ab68e9003895d22cdc26024569f64356c5c8e9c1306a252af78fb3b434091d8db9ba9b973038074cc9a3a805fd2120e2083e8bee05e2d56e3fd6062cc36780eddc3e51e1a7403622bfe5df6dafaaaf2c54ca7795c4f53f0a1eaa41227dc6fd03fca98317a135a03d3ec77016d7f2f6c39627c71bd580c3e0ced2f0f97fa8f0fd43de5983962061c03dcde83b74f36736c7572839e2c92d4e00f74cfb7d0291c1a127d95f126932c2d03257c92fe8084ca6ed1dd920292ddafd0ef89e8fb9a3a4a4296c528f5531d7d5403d160054083d8eec453d37f39047d52c8d53e890ab8f2cefe56d33065103d8f95037435b37d65b02c6995443d558eaa63ea972958fbb09728966c1620e43848a6f0038cac0cf84b754b5bd4006617eb8b27fe84c05df31d60f93a48bbb34f8b641d780379c32bd8d8848bc69cc694fe4ae1f6fdd673bebfda1ad010542ceacbd6d0e39003d333e1ac66bbef15388c61783f4beacf9408aa366c243d7c2994115929652b1903b035169d19840370597c8053459ba80bf79898fc22046631e9f56a367ce2fcd103ab4709f7d82f9325bce413eab5fe956113c1840b0a9131ba33f35fa59e8fb53a03da6408b64b795e2fc6e314d2c3b5081d2e2e450fa2bcfb998df4d82e4977529b05581e036f9e9a5f42dcfc231d6fe81aa605ecdfecb474f658522a3d38e07733f00c05476299b40ca91d6805581e03ebf86598dfb291fee98012b1d319c4cbbd737aa25f20470018e267d4c00c0144316f946a05581e036aa1eed067853df2978937e79df8682a1f0fe42e8e29bb7ebe6498fb700c0147022d4c29dfecc005581e03fcb0aee3e47da639aadc17e1852ac4f74ec4196aa573f28bbad3253470040204591913608060405234801561001057600080fd5b506004361061010b5760003560e01c80635aa6e675116100a2578063a457c2d711610071578063a457c2d714610522578063a9059cbb14610588578063ab033ea9146105ee578063dd62ed3e14610632578063f46eccc4146106aa5761010b565b80635aa6e675146103b957806370a082311461040357806395d89b411461045b578063983b2d56146104de5761010b565b80633092afd5116100de5780633092afd51461029d578063313ce567146102e1578063395093511461030557806340c10f191461036b5761010b565b806306fdde0314610110578063095ea7b31461019357806318160ddd146101f957806323b872dd14610217575b600080fd5b610118610706565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561015857808201518184015260208101905061013d565b50505050905090810190601f1680156101855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101df600480360360408110156101a957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107a8565b604051808215151515815260200191505060405180910390f35b6102016107c6565b6040518082815260200191505060405180910390f35b6102836004803603606081101561022d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107d0565b604051808215151515815260200191505060405180910390f35b6102df600480360360208110156102b357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108a9565b005b6102e96109c7565b604051808260ff1660ff16815260200191505060405180910390f35b6103516004803603604081101561031b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109de565b604051808215151515815260200191505060405180910390f35b6103b76004803603604081101561038157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a91565b005b6103c1610b5e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104456004803603602081101561041957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b84565b6040518082815260200191505060405180910390f35b610463610bcc565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104a3578082015181840152602081019050610488565b50505050905090810190601f1680156104d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610520600480360360208110156104f457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c6e565b005b61056e6004803603604081101561053857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d8c565b604051808215151515815260200191505060405180910390f35b6105d46004803603604081101561059e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e59565b604051808215151515815260200191505060405180910390f35b6106306004803603602081101561060457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e77565b005b6106946004803603604081101561064857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7e565b6040518082815260200191505060405180910390f35b6106ec600480360360208110156106c057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611005565b604051808215151515815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561079e5780601f106107735761010080835404028352916020019161079e565b820191906000526020600020905b81548152906001019060200180831161078157829003601f168201915b5050505050905090565b60006107bc6107b5611025565b848461102d565b6001905092915050565b6000600254905090565b60006107dd848484611224565b61089e846107e9611025565b6108998560405180606001604052806028815260200161184960289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061084f611025565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114da9092919063ffffffff16565b61102d565b600190509392505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461096c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600560009054906101000a900460ff16905090565b6000610a876109eb611025565b84610a8285600160006109fc611025565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159a90919063ffffffff16565b61102d565b6001905092915050565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b50576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f216d696e7465720000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610b5a8282611622565b5050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c645780601f10610c3957610100808354040283529160200191610c64565b820191906000526020600020905b815481529060010190602001808311610c4757829003601f168201915b5050505050905090565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610e4f610d99611025565b84610e4a856040518060600160405280602581526020016118ba6025913960016000610dc3611025565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114da9092919063ffffffff16565b61102d565b6001905092915050565b6000610e6d610e66611025565b8484611224565b6001905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610f3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f21676f7665726e616e636500000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60066020528060005260406000206000915054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806118966024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611139576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806118016022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806118716025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611330576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806117de6023913960400191505060405180910390fd5b61139b81604051806060016040528060268152602001611823602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114da9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061142e816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611587576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561154c578082015181840152602081019050611531565b50505050905090810190601f1680156115795780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080828401905083811015611618576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156116c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6116da8160025461159a90919063ffffffff16565b600281905550611731816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461159a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a72315820550d0f99ce1b508d46ec652e7b7c74f8267234c5be6b8fd1467d17dad8a5380064736f6c63430005110032033844c1e5da4aa8c73b0101afcdba3b1f489b33dd0ca048d62227995d8bbce1c00381655a1ad0709a469169b67edc43f9b6494b0637aaa3cca8bf9b4a98a356f4670354d95593a393f5ec53d83d7bc8ad6104cf062a171871fc5aea239aadcba5ec8f03ff94ca2db2489a0248ac732cf6b6ba7d04bc7cb30bdea64bd571a961087a8bd003a4bbca5710e5c4a6737566df2a6fd01108837942a9ba1b381df4bee59f62110403b2b403e21046642d2fde3026e96f017feeb39ffdca49edf89c3844f6d35825bf03d5773421cdbc4c667b9ae908f1806cae805f222a6b2dd2c5ecf8674cd2e1658003d46aa3b5438b95210884b816738cbeb211e43ef1f724706d77637e0503b2e58c0368d2957591e6b718a9cc4542084c90e1f555f2249943f90eda3483bdaa70bfe103ee80465489065c6643fa249f18e1e579afc02a0d837b430eedd8666649f5b66003c522e38e978b3b67f39b9c7bf48cb575b218b52ebd98f61b91da3a4af62a617003c1f22033445b73d70abdadf0e3acda9503e83cccddc07f77c6727dd622014409039a052292bc8f47b0f4d5ed43634993c7fb29dc6cfc6dce2127c49705cc9342a2031cbc74cc828b9b7d1f5671c6559b0fba4f58c55869bc8658e1e1136d542c7b8403557786a213cbb38ed8a773f26516f87b213d75e163e370f3b58443018a89982503ad5a9b5eedab46d40f8b16e3793c436511b56e74792cbd21eb353ea521e9a8f9032468e519fa40c7d547304e9484f03b59fddbea4c38eeb023fa5872d1c6305e330396f6f3edf751d5098ef4ddf209b38edbfde3c5dcc132247dd7b681ec230f3f4d0305c426ba4b15ecea3279cb09c800f2e65d68d751c864c5569df49b5f895c8ab303ecb0db95f9adf1b2e6853ab022381ab600b82a3805916d45fbdf0181455d71f103562b51530af2b9ac6a9cab7ca502d2c41b269d910594879df40c11484f60c3b8037ab72873086fcb07136a186f5fddf78604949ff4faeae3cda96881ff4ba871f600581f029608530550fd01b7b02759f6ee72f26c6f0b561193b86aa665f38b972472460a012317b0000345414add65c7b0cd411c81cc9570e107198479b6bf334ab3c377ab784ad7d2bc031c117ae2bb52883f3b7c88fd29ef9c90827cdabdee2485bec2062229ed50ddd403749df2ae068b0ed445f71d2ea83bd6d4756a1a4a16e61d5288b36fd6ec33926c03fc56bd82de7f0724f4a3eb9220725984c2ac399d95e173e6e1fe056d589fe8a400581f02a004b25e73f7982d3d922115e4a5ecced0b08fc8c3ff224c1901d22d57b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0286b3a98048d1cbf6a384894e3e85be895bc7ab322573a26a0fa7cb5c9b42471b0e8c45c5f8000340d57282c4eb4c6d54f3dc71abd7d4225d46c101cf804116f921bb8a23b7d99003a9761bdc0107ffbf92b2c2bbf1b7316086447eca5c2d3b83626a3009166fcade0310f6e1618c42d9f36899b9c73a73def17a69521f69f9164f422b576b4d4cbaa103e901fdc180c92241afdd84581629b3dff4e677e0ba0d01aa9735ba480e79f30c033b424df42de000cfb6d78b016a138f102cde84f62d017397575c826132cd12350219e7ff030b5680dbb834901d528eb66823ac63c8d9dd2d2aecd876195ba2779e321474610397a2e768d5cc57b9ac030149259cdb2b5c706de07824e3ed74e11e2511f5055c0352f3a854190e22d30d5cba52375fff5142a186d6b04ae7601a63f841477109d4037299421138fc96485b3c6700b96afe08593650179998e389037b96ea7fa5435f0391022620f57cd952a01d85a3592b2851f0230aed210392ddf2e63047efa95fc00219ffff03f0b7717924c1465f5709435d20968f926cf190301a65b663baa00c2b38713597038587829f67ad09534ce8925ba613d96b90aabaec29bd30e882ccc208c2f6a71f03723a602ce7ee3b45cdc373f55b2daf47925345c5ead5eafd7287726058ee8f1203b07f3663e2b03f9ee96c584daf253c4b67aefa221d2dbe2370fe0ac1308c0bae03319ff37e99e18cdbdd9bd24106e3d2aa603b547083e1b208a065cea3cc187c0d0219ffff0394a8a748cee18eb7f264d9b28adbfe43867071cfe40fd3903d0a6a8b4fed400d03937fbf40c24ef8d5c6da204824684971234735c50bd13734026439102831b6ef03d0b279f537209835703091017d48f9930da6edf17a2642cd6b1e83bd4275627000581f03c0bde5aa8bc271ed6cdcbac06d2eaebcd2a23f9eab01c7f1c7f47d9024e0471ccf1eac9f7c0000581f03c3670f933c5106717b8ec13a4af39105b833dc2e6d13b335a948860ed1e05820fffffffffffffffffffffffffffffffffffffffffffffffeb2ee9106956631bd00581f03eff9550dd7a6729c14b13f40d49c77aab07087f5036be2b06ccdb06482e057010b46c6cdd6e3e0828f4db456ff0c0d0fdcc7cac2f68402194c00036f83f2994ec1f967b42d7c05ae1e01f08c2d3c3a578d31671a132aaa2ff41b640361a95dc1d73525b93ad590584d05aa3ddfa52bd7384bea714d7e79a0d4737ddc037e94bebf968059688bceba351a324500d95860fe5201217827b660d952754584030d84aa8540240ba121183649e2907b1bb73864e147f0f654961cff41ba9cfd4000581f028a7fc89bf789c7b695bce70bc06681ef1d3df8603e4285c69fbaafb7a780470c31219391900003af8f3e689c7f891e4125eebc4c0d4d7c96ee6b59e2f7844d8ba3af2e5b11697a03abadcdf83c0352875ea303347958e04c420686fc9a13ce0e46bce0d99fd3881d00581f025b200c0887ea1dddcf1e13d074401f2d577cc973628dfb94195cf1e3ca724609184e72a000030d76c86cf277ec6d55126920096301cc0667543c4e2ad020236e32d38d91081c03dff1bfb59376cd3beca7a3643aed3064da2253637ca404d0f21906af4a5bb05b034c54eeaac4a4244400a63ad2941e136129655925d3bbd870cb1d08635392bc16033f41080240e742e22aae47799abd4ed1853c781293c5ccd104c52a4d11d2a2bb0219ffff039fbb4c0305abf04a4ed53c4303bbc2965ba31c7e821ef81e1b0a55ee940d25be03db72f8ab13787ada3764d69ace50e23f151a246adbd37f5fead2c341f3cca72103473341d41c4baa688eda74436085e863fbe2011a9d42bb1cbd811e123b767f3b03110ecf41877d2f80ed6cd62d86846a425f6712ec17ef5fa34e6195ab0a9a151803c0ffe7b13a8abb30fff66f7d9d2efba074c724a284d5d8a93e2b14979fb821cc03bdf20872b5fa13ee74f982fa48a8b360d90382dc7827109a22ae05b97f29baef03e3dfcf099ac98ac577d3fb8648c625e89d3d61d8547d90fcda4d39190f2db0b603e1661bcd7e5f19a67cc0bff40779475ef7a052a05c10f379ca8a724cff6e60aa032180b546a1e8f466b3a4e6a3bdafd49062eb1838c99450781bd4db4e364fc1e90306878854c2755126be17f20ccd0dfb790d85250ac65e6bff57aae19a37070edf03322a987f19cd51f9853d4d22efef82c1c6e0b418e3f815af3ca1da766a801bf7036efea0e106ecb36d2788b7ee9fb5f5168c4229f9c045bf3596d48e1b59fa6d41032a9ca02f0e7cccee19da3c5aa7af0df9a5f24671efb869cf19e1e727bf32efc70318cadd2c3b3e20c8dcc6380072aa7ceb763d3251dc1dafc76ade7aef8ff9b21203552c4c049b7cc4c4e2010213549b830595495d05b45aa1dfa5e70c463be8a1a50219ffff03690bd420dbd05270561740bc812ca1c4cc8519ededcfe3a5b1dfd09b347c46af034c0b213d55b17a9e8cd8911d65499ddb8be3648f1e30af415bcd02eafa1f7eef03734c86792c6afcba096567b01971d9a8ed17b7b5206dc288ff1fc0745d6940bf03d6d9108cd399d68499a0c2a85877ad3afa1dd681f48895c25bf466f42e0b2f130319f3e4728989ab5018e8d47972a7d25731dddcda76eeb34865362dfca6b151d803f4117438b438be8fbfa7396cc3802e0b6269f75a64777e5712659b3b0091f01e03ccea5ad91c579bf8c556f71b0628c0a9a4697bed324190e64381d7477fbf998d0363cb02d144a6b35dd47b003ec4a5f87eb45a2d8c8ec9e5b38a7508359fec968c03b35f6c96933b2c6f3d114ee6354506c9899ff8ed3004d02d68d88bcad83b831003c05b5cbf5388b67ad7b72075db8f7782a53bb9cd28dac258c4bedb76a74c958303bb7ddd07366cc6c46bdf54a332bf966428a138391232fc33433dfabbb90cf7a403261371dfebc18ef754d8d6131dce64268320299dadf70866764879afbac8bd9103fe17c5b2c865d0449c65b9857ff54b62cfc219ba456b6ff5e0b81ea70c12d3a6033490030b613648be3acd94ea4f21923392c8a50c8cb7079e7bb52564bf6a17d803a4770fbc6c93717f5bf1979d9490c1547e0601769c7301e7eb0e691c2012953d0219ffff03cfa6d352af39cb6eef786431e824bb0c67334c94a296de28cae654040000bdc303167d7406d6060cfbdfffa278a15fad705225f6089cc4f29fc95562300f49ebb6036fbede7331f3abf656a91a0af2e0251f00ecebc3f8c2eaf3c76ebb93e54c5e8c03b4681c47c7b6c51085cc2c365f971568c80720c43f2f51a9648c9b1d49072ef903d4e39d04f4544c08f6ef5d1a98291a7c3cee061f2a9d9b246ad941e609f8a09a03a4c675e2361472ca0d4d73cea808137f18d70a3fce75414c2513722e94de76a8032ef82b5c40d21a0e335696edb8d5bfe25adba8da5a6c91ecf8d238e6c0dddba603bdf9ea3f42247a77997b2bd845770a46af4e9a9987891cff8ce09cd7227b70e7037fae6da178e71654c572c7313950cff0e64c58f4a4e89ee4d0934556666c7936037d9809caf0530ffdd5a0bbd86f8b32c1b27208847db9897c50b43de1c4c35c73039ff3160b9fa6530a21760ebee52788f4b5726dc84cce551fbc03cefef5315a4403c5bbef7891a5a4136ab6d4120515ef9ac01fcb9400d8f1b151f70a71c4856392039bf24dce64e6a40bf24032703af797893b9460afbb434aaf8947204f8e72add103c587d5d017e790391df58c3c0dbf78f171042bdfc4e59ead372d1d851c84e9110219ffff05581d02edc9d831706d72e7f03e35cc3331970075369b25224bb83f8327b38c070119191305581d0225e5723d4fb0894869c07ea8ab63db6cff102bdad3f1a006b1b45ed70c034788b8fd87ecc130021405581e03fc57c11a36a02601f656e906b7f6ac2f4a43c198ede3b5c939b65e8f100c0147029fe8c2a1480005581e03882e9f36e7444f9cec55b676b67f3e66632b745cf89fd4c9f348848fc0040105581e03f876db8379f02a96c18c75eb7e1c5e94fcd8f90ce789840e17cdd81b400c01470334764121f24805581e03b351884700927fd43a354e802270d50c69526958f8d1d5985bba8a1dc00c01473c3afea6f7c8000219e05f0219ffff032117284dd9d728b5dd1f02d18ff99bf394946f4bf79c1a83d6e607d4e598513f03fee1261c850432bae9ea19692ed10f62a8d6b521cff703ef4b752b8f3f19aa0003aa3e1729c4d0a1de03fd6576bdd6edcb5a383e829baf7c20a1eef47a478b9abd03b9e603166f2a358b801780f5acfa3408fd0a76b36ecd7d38b202569a1830254103c3b48706f67e8262095c1bea4bfefdc01865bf1ee77a0102e563cd3280d5bcaf03c6e8185a337787bb4e75cfab34425e1c01635c7938eef4f6374d8a4a7340eb0a0370cd8f4dae25740b17060bf1bf7f5a9d5cb6f9569b5196e786ce92ee522eab0503bfb6a3940ef1d096da54eda12acf0f466fee526bb35e6e993078f3587e5cbf0503ddf704260048ca0077f4979f2b6ae6f8c9a76f481074e7b863641707debcd104039a9a8f343293ed98379027c8c9909f73c0b9c61feab0fdc16379c163fd93d1d7035c4191ae67628413452e342d947acf40064b08528d4a2345f8b2eda626905425036004111aa572832b49cc60d1a8c1177d1c3924d5495684b6a36bf416ca9da2e6032a6cdfd876dc4658edecda3119dc34cf1243235fda314f95ecc18928f12b4e21039660084d42ea7801382160e25cc85bcd7466516879887d53ecd0f3adb14da0e30219ffff038a33ee3c1f71b68cc98eaad34ffb4fb9b4f51d9abbeef12c058dd30bb8c0571303ffaa7cc79a5e98ad5b08fdef2ac24d1875224ed7bcbea7c78039ed7d1aeb59270383eded525eb95c3b9cc44d29f0c3f201c7ff2a015d0f9a5bc8e2c39cbe39672b039ede8ddbc31963ff420484763fdcc905e79c76329728fa7c0b3cd6960ad55fd603fc75a87cf7de8b3d49dc8db106199decb99dbdde14c8fd2d3603f4f763590717039654f0cbc12b0924b6ac3f1cb5a0e34a94ad67503035baa8e164c952889cc3f80353adcc86cd84280876ad598a9d3fb2c6ad9840e5157ea97dd8bbdf39e926969303fd4a647351000f43c9ad694a295a138db5fdefed02503662de075c0e0fe44d9f0219ffff03e729dafe0b3654af7a7c6a2efc7229b95f63994ed65c17a890de4510c29b01cf03ad8614e37d7caf689534847705920042f13d7c56ab0b411bdca485a6c369cc3b0355de3c9734d831ffce0534c5be2eaf60cb81311b0032b8ce46058853f11fb666038f610db72ac350da3d02d6b6c16facd7de1b7927c38b7f1eefc923f54d03ab5a03a659cec02e3b5608f3dbecbe9afcbfed167622073bc5d85d8eb6ca367be3b6ea03c5fa2862432d0ac783b5da37559bb448c97ae1791f5e79c6311b9c4388fce75e03663c6df2686cfbcdd530553769ab0b006cbbfc64a88769846dcd13c8fb4f46730219ffff03465d0213e71d34927cc7a16f5f012cb1e965fab93b8d5c0ab160cdb5ce87e2b50366fb98d2a0d70b67650e19267f485dfafc041693b0c86f00dae81139bd74f78303a6f81a6ea0ccf29a73ff944d46214586e81902c3dea3d8317588d6b4c3c28b3a03b1ad21fcd44d9fcedd7d0dc02c479b830fe826955fbf6b023df536d7a80aacc80371a83b526b3a3547e0029e639daf377782229a1bc15038bc62df65406154cd2a0338872dede286d14a11a35d64aceb832e96a34b04d98e0a8fe0d88ed02f5f07db03f9a43409f491bac7b34e157eebeb5450fd47ba76e3f506cf7ef12afd21cc08dc031dcfd37acfb39f76ad0d4bdc839551e598c14b4698a77918bbe21872e744a1cc03e5e391bb90868a966eeaf761eeaed3e305dcd10105cae75f3bdabfd3b8759b5f034c83427908a384e8937caf9b4daf89f692c49ff09cb9e454548d5ba03c8ee9a9032838e6c812e1d0b5e606d7c5d741f570246ddc4717068f9330e60a5d4f7051f0030d350d55792e0c7b05385fb34bde0f73d303742431b74fdcd25ffcb50634437e03948d068d85820f13ac43b6a7b15d800d9c935687edeb4dda68b64ca9c527aa8d03de3c46198b7a1ef51584028385245d835b6590c1750a816c60bc558678910b1103caf8b6a47115e52587ae9de7446539bc339e7c57a82841bf20edbf86ce41e7a103db7525c6fa377de8a431cd9687f1a713f5bde8c8aedf8898f201343778d15251039bdfb54699874a4514bec4628d07200c704829c77f4df2dd76e544b86d8297b3033aa620938f67fe04ef80355db6d2f8d4b4b872aa61da13abeec8310a8d8b40da037f45900deada442dfb39f873e15354f7664755d8c18fbb2c8751e3d4a71b4e55030c1d0706aee28efe7f92d9d387399ab6e425deaf4d21f2de3362c763bd5c62fd03146b290ab0835fa4b329695722cc735333a7565462eaf059e50d71dd6c0a4f9103d1e394f866b751ddb3ea4f6d49780c97ae710b12956adb4666d3ce64d481ea090373bae2da9d827fe9822542677d042ca0622d554d391a870afc7a4a2b3e4dafee039ae660a25b7e9f74610847a4eaa0ac468e675ed0b6b45d4c851bb6c7f0ca045703c195020a6f9af9058228f8422c43b8a13996a8dd7c13795e63244d58aebea58f034b9b85debdca7357eccde54b45b0d89f11e82b32062f8d3e045e46cfe574eac40330baf68497e0a1b63de1dfd81902441f58f4d97188730e785646f5d8751e33b80391ada5ec6936a4c7124dafdce4acdb4579d59fd42c465456c44168011617c600034634ce7cbe8beb535ac3b81b58f2e6e067ed3355cdb681b9d54523f3ac7b250b03189c4590f80d2d3ef4357fb70b207c645a267c7c87c423e7af4ca0c2e75ba13d03616304ed1825a79372d69b4b5ea5d4592f1a3d46e2ee819ec79f76894b8517690380b5e25c4d11ff56d74fcc4efb1cd8ab21ab042ac8a1be45a4078a71ba760d050326fb62a930a59dd03a393a4d0dc0d87502d8e843f609705c873df95669240830032540ba88771e6393444465d5c31b5af2fd9c651a6a3a78ec7efac58c0b5410f103987925dbae3b21a043c79caaae660b9f97a988a76e8ce760d4059e079a933cf20389b7c3d183e77a75fa0f2bb6c3872a44b45f221bcd8ed6ada38006b3452e415b03653f9e2c5b8f46a6502ba245e2984b9c7fabc5eb9a5d688309fee8a7c605733903f881aaed6eab3b8d663c5c99e6faa32d105f35e53dcc42d75192086b8d744dfa03644bb0ff4f9601c55f435c5c371913dcfad04b68456ebd6a0d30ada49575581a03d1203ae9e155dff96ad9059fa18d76deea93c4e3a13fa143c2d9453c03b6f00b032b9389ae89a560a095db745728d3a881cb0a2f0d4f725b0e1c7c7f7abbdfe40b05581e03129483874d24d3ae8b37208bcdaa27beb6ab6bad8a885d22a35eb7e0500c034651be6d6c9a300459595e6080604052600436106104945760003560e01c80638b10cc7c11610260578063ca59409411610144578063e74b981b116100c1578063f756fa2111610085578063f756fa211461105a578063f87c7d931461106f578063f957a06714611084578063f9a0be68146110a4578063fba7dc61146110c5578063fe56e232146110e657600080fd5b8063e74b981b14610fbd578063f001382714610fdd578063f2fde38b14610ffd578063f6326fb31461101d578063f656ba511461102557600080fd5b8063db006a7511610108578063db006a7514610ef8578063db43e86214610f18578063dd62ed3e14610f4c578063e278fe6f14610f92578063e73c63d514610fa757600080fd5b8063ca59409414610e59578063ce7c2ac214610e6e578063cf3afa5114610e8e578063d164cc1514610ec2578063d5f2638214610ee257600080fd5b8063a457c2d7116101dd578063ad5c4648116101a1578063ad5c464814610da4578063ad7a672f14610dd8578063afa6626414610ded578063b4d1d79514610e0d578063b6b55f2514610e24578063b9f8092b14610e4457600080fd5b8063a457c2d714610d0e578063a694fc3a14610d2e578063a6f7f5d614610d4e578063a9059cbb14610d64578063aced166114610d8457600080fd5b80639be43daa116102245780639be43daa14610b9f5780639fcc2d7514610bbf578063a083ff1714610c6b578063a285c9e814610cce578063a2db9d8314610cf057600080fd5b80638b10cc7c14610b185780638da5cb5b14610b36578063947061b514610b5457806395d89b4114610b7557806399530b0614610b8a57600080fd5b806347786d371161038757806369b41170116103045780637a9262a2116102c85780637a9262a214610a075780637e108d5214610a6b57806383536ff314610a8b57806387153eb114610aa15780638778878214610ace57806389a3027114610ae457600080fd5b806369b41170146109725780636f31ab341461098757806370897b231461099c57806370a08231146109bc578063715018a6146109f257600080fd5b80635ea8cd121161034b5780635ea8cd1214610865578063600a2cfb14610885578063650cce8a1461089a5780636719b2ee146108ce578063692308681461095257600080fd5b806347786d37146107d85780634b2431d9146107f8578063503c70aa1461080f57806355489bb214610825578063573f0d6e1461084557600080fd5b8063313ce567116104155780633f23bb73116103d95780633f23bb73146107445780633f90916a14610764578063432833a6146107825780634603c0aa1461079857806346904840146107b857600080fd5b8063313ce5671461068e578063355274ea146106b857806336efd16f146106d657806339509351146106f65780633ec143d31461071657600080fd5b80631a92f6c21161045c5780631a92f6c21461054f57806323b872dd1461059b5780632728f333146105bb5780632775d01c1461064e57806330630da41461066e57600080fd5b8063048bf0851461049957806306fdde03146104bb578063095ea7b3146104e65780630cbf54c81461051657806318160ddd1461053a575b600080fd5b3480156104a557600080fd5b506104b96104b4366004614ed5565b611106565b005b3480156104c757600080fd5b506104d061115c565b6040516104dd91906152b9565b60405180910390f35b3480156104f257600080fd5b50610506610501366004614f69565b6111ee565b60405190151581526020016104dd565b34801561052257600080fd5b5061052c60fb5481565b6040519081526020016104dd565b34801561054657600080fd5b5060995461052c565b34801561055b57600080fd5b506105837f0000000000000000000000004ccc2339f87f6c59c6893e1a678c2266ca58dc7281565b6040516001600160a01b0390911681526020016104dd565b3480156105a757600080fd5b506105066105b6366004614f29565b611205565b3480156105c757600080fd5b5060cf5460d0546106099161ffff8116916001600160681b03620100008304811692600160781b900416906001600160801b0380821691600160801b90041685565b6040805161ffff90961686526001600160681b03948516602087015293909216928401929092526001600160801b03918216606084015216608082015260a0016104dd565b34801561065a57600080fd5b506104b96106693660046150da565b6112b1565b34801561067a57600080fd5b506104b9610689366004614ed5565b611454565b34801561069a57600080fd5b5060cc54610100900460ff1660405160ff90911681526020016104dd565b3480156106c457600080fd5b5060ce546001600160681b031661052c565b3480156106e257600080fd5b506104b96106f136600461510a565b6114ec565b34801561070257600080fd5b50610506610711366004614f69565b611574565b34801561072257600080fd5b5060f9546107319061ffff1681565b60405161ffff90911681526020016104dd565b34801561075057600080fd5b5061052c61075f366004614ed5565b6115b0565b34801561077057600080fd5b5060d0546001600160801b031661052c565b34801561078e57600080fd5b5061052c60fc5481565b3480156107a457600080fd5b506104b96107b3366004614ed5565b611603565b3480156107c457600080fd5b5060d354610583906001600160a01b031681565b3480156107e457600080fd5b506104b96107f33660046150da565b6116a5565b34801561080457600080fd5b5061052c6101025481565b34801561081b57600080fd5b5061052c60fd5481565b34801561083157600080fd5b506104b96108403660046150b3565b611780565b34801561085157600080fd5b506104b9610860366004614ed5565b611818565b34801561087157600080fd5b506104b96108803660046150da565b611865565b34801561089157600080fd5b506104b96118d0565b3480156108a657600080fd5b506105837f0000000000000000000000005934807cc0654d46755ebd2848840b616256c6ef81565b3480156108da57600080fd5b506109216108e9366004614ed5565b60c96020526000908152604090205461ffff8116906201000081046001600160681b031690600160781b90046001600160801b031683565b6040805161ffff90941684526001600160681b0390921660208401526001600160801b0316908201526060016104dd565b34801561095e57600080fd5b506104b961096d366004614fca565b611a2b565b34801561097e57600080fd5b5061052c600081565b34801561099357600080fd5b506104b9611b09565b3480156109a857600080fd5b506104b96109b73660046150da565b611b46565b3480156109c857600080fd5b5061052c6109d7366004614ed5565b6001600160a01b031660009081526097602052604090205490565b3480156109fe57600080fd5b506104b9611c0d565b348015610a1357600080fd5b50610a49610a22366004614ed5565b60cb6020526000908152604090205461ffff8116906201000090046001600160801b031682565b6040805161ffff90931683526001600160801b039091166020830152016104dd565b348015610a7757600080fd5b506104b9610a863660046150da565b611c43565b348015610a9757600080fd5b5061052c60f75481565b348015610aad57600080fd5b5061052c610abc3660046150da565b60ca6020526000908152604090205481565b348015610ada57600080fd5b5061052c60d55481565b348015610af057600080fd5b506105837f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b348015610b2457600080fd5b5060d2546001600160a01b0316610583565b348015610b4257600080fd5b506065546001600160a01b0316610583565b348015610b6057600080fd5b5061010354610583906001600160a01b031681565b348015610b8157600080fd5b506104d0611c8d565b348015610b9657600080fd5b5061052c611c9c565b348015610bab57600080fd5b506104b9610bba3660046150da565b611cd6565b348015610bcb57600080fd5b5060cc5460cd5460ce54610c1b9260ff808216936101008304909116926001600160a01b036201000090930483169282169166ffffffffffffff600160a01b90910416906001600160681b031686565b60408051961515875260ff90951660208701526001600160a01b03938416948601949094529116606084015266ffffffffffffff1660808301526001600160681b031660a082015260c0016104dd565b348015610c7757600080fd5b5060d15460d254610ca2916001600160a01b039081169190811690600160a01b900463ffffffff1683565b604080516001600160a01b03948516815293909216602084015263ffffffff16908201526060016104dd565b348015610cda57600080fd5b5060d254600160a01b900463ffffffff1661052c565b348015610cfc57600080fd5b5060d1546001600160a01b0316610583565b348015610d1a57600080fd5b50610506610d29366004614f69565b611dd0565b348015610d3a57600080fd5b506104b9610d493660046150da565b611e69565b348015610d5a57600080fd5b5061052c60d65481565b348015610d7057600080fd5b50610506610d7f366004614f69565b611f67565b348015610d9057600080fd5b5060d454610583906001600160a01b031681565b348015610db057600080fd5b506105837f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b348015610de457600080fd5b5061052c611f74565b348015610df957600080fd5b5060f554610583906001600160a01b031681565b348015610e1957600080fd5b5061052c62093a8081565b348015610e3057600080fd5b506104b9610e3f3660046150da565b6120a2565b348015610e5057600080fd5b506104b9612116565b348015610e6557600080fd5b506104b961230c565b348015610e7a57600080fd5b5061052c610e89366004614ed5565b6123af565b348015610e9a57600080fd5b506105837f000000000000000000000000eb8cab2f4663247db8eafb556f498c861bb4e16181565b348015610ece57600080fd5b506104b9610edd366004614ed5565b6123cc565b348015610eee57600080fd5b5061052c60f85481565b348015610f0457600080fd5b506104b9610f133660046150da565b61245b565b348015610f2457600080fd5b506105837f0000000000000000000000007c06792af1632e77cb27a558dc0885338f4bdf8e81565b348015610f5857600080fd5b5061052c610f67366004614ef1565b6001600160a01b03918216600090815260986020908152604080832093909416825291909152205490565b348015610f9e57600080fd5b506104b96124c8565b348015610fb357600080fd5b5061052c60fa5481565b348015610fc957600080fd5b506104b9610fd8366004614ed5565b61267c565b348015610fe957600080fd5b506104b9610ff8366004615057565b61276f565b34801561100957600080fd5b506104b9611018366004614ed5565b6129c7565b6104b9612a62565b34801561103157600080fd5b50611045611040366004614ed5565b612bb3565b604080519283526020830191909152016104dd565b34801561106657600080fd5b506104b9612c96565b34801561107b57600080fd5b506104b9612ceb565b34801561109057600080fd5b5060f654610583906001600160a01b031681565b3480156110b057600080fd5b5061010054610583906001600160a01b031681565b3480156110d157600080fd5b5061010154610583906001600160a01b031681565b3480156110f257600080fd5b506104b96111013660046150da565b612f44565b6065546001600160a01b031633146111395760405162461bcd60e51b81526004016111309061533b565b60405180910390fd5b61010080546001600160a01b0319166001600160a01b0392909216919091179055565b6060609a805461116b90615728565b80601f016020809104026020016040519081016040528092919081815260200182805461119790615728565b80156111e45780601f106111b9576101008083540402835291602001916111e4565b820191906000526020600020905b8154815290600101906020018083116111c757829003601f168201915b5050505050905090565b60006111fb338484613025565b5060015b92915050565b600061121284848461314a565b6001600160a01b0384166000908152609860209081526040808320338452909152902054828110156112975760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401611130565b6112a48533858403613025565b60019150505b9392505050565b600260015414156112d45760405162461bcd60e51b815260040161113090615391565b600260015533600090815260c96020526040902060cf5461ffff168261130c5760405162461bcd60e51b815260040161113090615370565b815461ffff1681146113505760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081c9bdd5b99609a1b6044820152606401611130565b81546201000090046001600160681b0316838110156113a15760405162461bcd60e51b815260206004820152600d60248201526c115e18d9595908185b5bdd5b9d609a1b6044820152606401611130565b6113ab818561331a565b83546001600160681b0391909116620100000262010000600160781b031990911617835560d0546113e5906001600160801b03168561331a565b60d080546001600160801b0319166001600160801b0392909216919091179055604080518581526020810184905233917fab2daf3c146ca6416cbccd2a86ed2ba995e171ef6319df14a38aef01403a9c96910160405180910390a261144a3385613326565b5050600180555050565b6065546001600160a01b0316331461147e5760405162461bcd60e51b81526004016111309061533b565b6001600160a01b0381166114ca5760405162461bcd60e51b815260206004820152601360248201527210b732bba9ba3934b5b2a9b2b632b1ba34b7b760691b6044820152606401611130565b60f680546001600160a01b0319166001600160a01b0392909216919091179055565b6002600154141561150f5760405162461bcd60e51b815260040161113090615391565b6002600155816115315760405162461bcd60e51b815260040161113090615370565b6001600160a01b03811661154457600080fd5b61154e8282613487565b60cc5461156c906201000090046001600160a01b0316333085613719565b505060018055565b3360008181526098602090815260408083206001600160a01b038716845290915281205490916111fb9185906115ab9086906155a3565b613025565b60cc5460009060ff61010090910416816115e66115cc60995490565b6115d4611f74565b60d0546001600160801b031685613784565b90506115fb6115f4856123af565b82846137c4565b949350505050565b6065546001600160a01b0316331461162d5760405162461bcd60e51b81526004016111309061533b565b6001600160a01b0381166116835760405162461bcd60e51b815260206004820152601860248201527f216e65774f7074696f6e735072656d69756d50726963657200000000000000006044820152606401611130565b60f580546001600160a01b0319166001600160a01b0392909216919091179055565b6065546001600160a01b031633146116cf5760405162461bcd60e51b81526004016111309061533b565b600081116117095760405162461bcd60e51b81526020600482015260076024820152660216e65774361760cc1b6044820152606401611130565b61171281613826565b60ce54604080516001600160681b039092168252602082018390527f5f86edbb9d92228a9edc3f0ebc0f001bda1ea345ac7335e0eeef3504b31d1a1c910160405180910390a160ce80546cffffffffffffffffffffffffff19166001600160681b0392909216919091179055565b6065546001600160a01b031633146117aa5760405162461bcd60e51b81526004016111309061533b565b6000816001600160801b0316116117f25760405162461bcd60e51b815260206004820152600c60248201526b21737472696b65507269636560a01b6044820152606401611130565b6001600160801b031660fa5560cf5460f9805461ffff191661ffff909216919091179055565b6065546001600160a01b031633146118425760405162461bcd60e51b81526004016111309061533b565b61010380546001600160a01b0319166001600160a01b0392909216919091179055565b60d4546001600160a01b0316331461188f5760405162461bcd60e51b8152600401611130906152cc565b600081116118cb5760405162461bcd60e51b8152602060048201526009602482015268216d696e507269636560b81b6044820152606401611130565b60f855565b60d4546001600160a01b031633146118fa5760405162461bcd60e51b8152600401611130906152cc565b6002600154141561191d5760405162461bcd60e51b815260040161113090615391565b600260015560d2546040516358ffbb3d60e01b81526001600160a01b037f0000000000000000000000004ccc2339f87f6c59c6893e1a678c2266ca58dc7281166004830152909116602482015260009073f7f4260943db50eee7e917330c35b460ff70ad54906358ffbb3d9060440160206040518083038186803b1580156119a457600080fd5b505af41580156119b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119dc91906150f2565b60cf549091506119fb906201000090046001600160681b03168261331a565b60cf80546001600160681b0392909216620100000262010000600160781b03199092169190911790555060018055565b60d4546001600160a01b03163314611a555760405162461bcd60e51b8152600401611130906152cc565b60026001541415611a785760405162461bcd60e51b815260040161113090615391565b600260015560fc54604051633545cbf360e21b81526001600160a01b037f000000000000000000000000eb8cab2f4663247db8eafb556f498c861bb4e161169163d5172fcc91611acf91908690869060040161549b565b600060405180830381600087803b158015611ae957600080fd5b505af1158015611afd573d6000803e3d6000fd5b50506001805550505050565b60026001541415611b2c5760405162461bcd60e51b815260040161113090615391565b6002600181905550611b4060006001613870565b60018055565b6065546001600160a01b03163314611b705760405162461bcd60e51b81526004016111309061533b565b611b7e620f424060646156c6565b8110611bcc5760405162461bcd60e51b815260206004820152601760248201527f496e76616c696420706572666f726d616e6365206665650000000000000000006044820152606401611130565b60d55460408051918252602082018390527f24867dfb6fcb9970a07be21024956524abe7a1837faa903ff0e99aaa40cf893e910160405180910390a160d555565b6065546001600160a01b03163314611c375760405162461bcd60e51b81526004016111309061533b565b611c416000613a1f565b565b60026001541415611c665760405162461bcd60e51b815260040161113090615391565b6002600155611c7481613a71565b61010254611c829082613c38565b610102555060018055565b6060609b805461116b90615728565b6000611cd1611caa60995490565b611cb2611f74565b60d05460cc546001600160801b0390911690610100900460ff16613784565b905090565b60026001541415611cf95760405162461bcd60e51b815260040161113090615391565b600260015580611d385760405162461bcd60e51b815260206004820152600a602482015269216e756d526f756e647360b01b6044820152606401611130565b60cf5461ffff1660005b82811015611dc7576000611d5682846155a3565b600081815260ca602052604090205490915015611da35760405162461bcd60e51b815260206004820152600b60248201526a125b9a5d1a585b1a5e995960aa1b6044820152606401611130565b600090815260ca602052604090206001905580611dbf81615763565b915050611d42565b50506001805550565b3360009081526098602090815260408083206001600160a01b038616845290915281205482811015611e525760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401611130565b611e5f3385858403613025565b5060019392505050565b60026001541415611e8c5760405162461bcd60e51b815260040161113090615391565b6002600155610100546001600160a01b031680611ea857600080fd5b60008211611eb557600080fd5b3360009081526097602052604090205482811015611ee157611ee1611eda848361331a565b6000613870565b611eec33308561314a565b611ef7308385613025565b6040516383df674760e01b815260048101849052336024820152600060448201526001600160a01b038316906383df674790606401600060405180830381600087803b158015611f4657600080fd5b505af1158015611f5a573d6000803e3d6000fd5b5050600180555050505050565b60006111fb33848461314a565b60d2546000906001600160a01b03166120075760cc546040516370a0823160e01b8152306004820152620100009091046001600160a01b0316906370a082319060240160206040518083038186803b158015611fcf57600080fd5b505afa158015611fe3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd191906150f2565b60cc546040516370a0823160e01b8152306004820152611cd1916201000090046001600160a01b0316906370a082319060240160206040518083038186803b15801561205257600080fd5b505afa158015612066573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061208a91906150f2565b60cf546201000090046001600160681b031690613c38565b600260015414156120c55760405162461bcd60e51b815260040161113090615391565b6002600155806120e75760405162461bcd60e51b815260040161113090615370565b6120f18133613487565b60cc5461210f906201000090046001600160a01b0316333084613719565b5060018055565b60d4546001600160a01b031633146121405760405162461bcd60e51b8152600401611130906152cc565b600260015414156121635760405162461bcd60e51b815260040161113090615391565b600260015560d1546001600160a01b0316806121af5760405162461bcd60e51b815260206004820152600b60248201526a10b732bc3a27b83a34b7b760a91b6044820152606401611130565b60d280546001600160a01b03199081166001600160a01b03841690811790925560d18054909116905560cf54604051620100009091046001600160681b03168082529133917f045c558fdce4714c5816d53820d27420f4cd860892df203fe636384d8d19aa019060200160405180910390a3604051632904c23960e01b81526001600160a01b037f0000000000000000000000004ccc2339f87f6c59c6893e1a678c2266ca58dc72811660048301527f0000000000000000000000005934807cc0654d46755ebd2848840b616256c6ef81166024830152831660448201526064810182905273f7f4260943db50eee7e917330c35b460ff70ad5490632904c2399060840160206040518083038186803b1580156122cb57600080fd5b505af41580156122df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230391906150f2565b5061156c613c44565b610103546001600160a01b03168061232357600080fd5b61232f60006001613870565b336000818152609760205260409020549061234b908383613025565b60405163c9c2d4f560e01b8152336004820152602481018290526001600160a01b0383169063c9c2d4f590604401600060405180830381600087803b15801561239357600080fd5b505af11580156123a7573d6000803e3d6000fd5b505050505050565b60008060006123bd84612bb3565b90925090506115fb8282613c38565b6065546001600160a01b031633146123f65760405162461bcd60e51b81526004016111309061533b565b6001600160a01b0381166124395760405162461bcd60e51b815260206004820152600a60248201526910b732bba5b2b2b832b960b11b6044820152606401611130565b60d480546001600160a01b0319166001600160a01b0392909216919091179055565b6002600154141561247e5760405162461bcd60e51b815260040161113090615391565b6002600155806124bd5760405162461bcd60e51b815260206004820152600a602482015269216e756d53686172657360b01b6044820152606401611130565b61210f816000613870565b600260015414156124eb5760405162461bcd60e51b815260040161113090615391565b600260015560d2546001600160a01b031680151580612510575060cf5461ffff166001145b61254b5760405162461bcd60e51b815260206004820152600c60248201526b149bdd5b990818db1bdcd95960a21b6044820152606401611130565b61255481613d16565b600061010254905060008061256b60fd5484613e8c565b60fd81905560d054919350915060009061259590600160801b90046001600160801b031685613c38565b90506125a081614113565b60d080546001600160801b03808416600160801b0291161790556000610102556125c983613826565b60cf805462010000600160781b031916620100006001600160681b0386160217905560006125f74282613c38565b905063ffffffff81111561264d5760405162461bcd60e51b815260206004820152601860248201527f4f766572666c6f77206e6578744f7074696f6e526561647900000000000000006044820152606401611130565b60d2805463ffffffff909216600160a01b0263ffffffff60a01b19909216919091179055505060018055505050565b6065546001600160a01b031633146126a65760405162461bcd60e51b81526004016111309061533b565b6001600160a01b0381166126ef5760405162461bcd60e51b815260206004820152601060248201526f085b995dd19959549958da5c1a595b9d60821b6044820152606401611130565b60d3546001600160a01b038281169116141561274d5760405162461bcd60e51b815260206004820152601860248201527f4d757374206265206e657720666565526563697069656e7400000000000000006044820152606401611130565b60d380546001600160a01b0319166001600160a01b0392909216919091179055565b600054610100900460ff1680612788575060005460ff16155b6127a45760405162461bcd60e51b8152600401611130906152ed565b600054610100900460ff161580156127c6576000805461ffff19166101011790555b61288b6127d66020850185614ed5565b6127e66040860160208701614ed5565b6127f66060870160408801614ed5565b6060870135608088013561280d60a08a018a61555e565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061284f9250505060c08b018b61555e565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508c925061415d915050565b600061289e610100850160e08601614ed5565b6001600160a01b031614156128ee5760405162461bcd60e51b815260206004820152601660248201527510afb7b83a34b7b739a83932b6b4bab6a83934b1b2b960511b6044820152606401611130565b600061290261012085016101008601614ed5565b6001600160a01b0316141561294d5760405162461bcd60e51b815260206004820152601160248201527010afb9ba3934b5b2a9b2b632b1ba34b7b760791b6044820152606401611130565b61295e610100840160e08501614ed5565b60f580546001600160a01b0319166001600160a01b039290921691909117905561299061012084016101008501614ed5565b60f680546001600160a01b0319166001600160a01b039290921691909117905580156129c2576000805461ff00191690555b505050565b6065546001600160a01b031633146129f15760405162461bcd60e51b81526004016111309061533b565b6001600160a01b038116612a565760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401611130565b612a5f81613a1f565b50565b60026001541415612a855760405162461bcd60e51b815260040161113090615391565b600260015560cc547f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03908116620100009092041614612af65760405162461bcd60e51b8152602060048201526005602482015264042ae8aa8960db1b6044820152606401611130565b60003411612b2f5760405162461bcd60e51b81526020600482015260066024820152652176616c756560d01b6044820152606401611130565b612b393433613487565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015612b9457600080fd5b505af1158015612ba8573d6000803e3d6000fd5b505060018055505050565b6001600160a01b038116600090815260c9602090815260408083208151606081018352905461ffff81168083526201000082046001600160681b031694830194909452600160781b90046001600160801b031691810191909152829160011115612c35575050506001600160a01b031660009081526097602052604081205491565b60cf54815161ffff908116600090815260ca602052604081205460cc549193612c6b93869391169190610100900460ff1661439c565b9050612c8c856001600160a01b031660009081526097602052604090205490565b9590945092505050565b60026001541415612cb95760405162461bcd60e51b815260040161113090615391565b60026001556000612cc861440d565b60fd54909150612cd8908261331a565b6001600160801b031660fd555060018055565b60d4546001600160a01b03163314612d155760405162461bcd60e51b8152600401611130906152cc565b60026001541415612d385760405162461bcd60e51b815260040161113090615391565b600260015560d2546001600160a01b031680158015612d5e575060cf5461ffff16600114155b612d9d5760405162461bcd60e51b815260206004820152601060248201526f149bdd5b99081b9bdd0818db1bdcd95960821b6044820152606401611130565b60408051610120810182526001600160a01b037f0000000000000000000000007c06792af1632e77cb27a558dc0885338f4bdf8e811682527f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488116602083015260cc8054620100009004821683850152848216606084015260006080840181905260f95461ffff1660a085015260fa5460c085015260f654831660e085015260f55490921661010084015292516377e3ce0d60e11b8152919290918291829173f7f4260943db50eee7e917330c35b460ff70ad549163efc79c1a91612e8991889160cf906004016153c8565b60606040518083038186803b158015612ea157600080fd5b505af4158015612eb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ed99190614f94565b604080518381526020810183905293965091945092507fa217999b1c125c2a996f712c5f26a28addad7167bd8a67d5bd5b2a751148abb0910160405180910390a1505060d180546001600160a01b0319166001600160a01b0392909216919091179055505060018055565b6065546001600160a01b03163314612f6e5760405162461bcd60e51b81526004016111309061533b565b612f7c620f424060646156c6565b8110612fc35760405162461bcd60e51b8152602060048201526016602482015275496e76616c6964206d616e6167656d656e742066656560501b6044820152606401611130565b6000612fe063031ba309612fda84620f42406145ca565b906145d6565b60d65460408051918252602082018590529192507f4e874b007ab14f7e263baefd44951834c8266f4f224d1092e49e9c254354cc54910160405180910390a160d65550565b6001600160a01b0383166130875760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401611130565b6001600160a01b0382166130e85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401611130565b6001600160a01b0383811660008181526098602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166131ae5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401611130565b6001600160a01b0382166132105760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401611130565b6001600160a01b038316600090815260976020526040902054818110156132885760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401611130565b6001600160a01b038085166000908152609760205260408082208585039055918516815290812080548492906132bf9084906155a3565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161330b91815260200190565b60405180910390a35b50505050565b60006112aa82846156e5565b60cc546001600160a01b03620100009091048116907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21681141561347357604051632e1a7d4d60e01b8152600481018390527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156133c657600080fd5b505af11580156133da573d6000803e3d6000fd5b505050506000836001600160a01b03168360405160006040518083038185875af1925050503d806000811461342b576040519150601f19603f3d011682016040523d82523d6000602084013e613430565b606091505b50509050806133145760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401611130565b6129c26001600160a01b03821684846145e2565b60cf5461ffff1660006134a28461349c611f74565b90613c38565b60ce549091506001600160681b03168111156134ed5760405162461bcd60e51b815260206004820152600a6024820152690457863656564206361760b41b6044820152606401611130565b60cd54600160a01b900466ffffffffffffff168110156135465760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401611130565b60408051858152602081018490526001600160a01b038516917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15910160405180910390a26001600160a01b038316600090815260c9602090815260408083208151606081018352905461ffff81168083526201000082046001600160681b031683860152600160781b9091046001600160801b031682840152845260ca90925282205460cc54919291613605918491879190610100900460ff1661439c565b8251909150869061ffff16851415613636576020830151600090613632906001600160681b031689613c38565b9150505b61363f81613826565b6040805160608101825261ffff80881682526001600160681b0380851660208085019182526001600160801b038089168688019081526001600160a01b038e16600090815260c990935296822095518654935197518216600160781b02600160781b600160f81b03199890951662010000026effffffffffffffffffffffffffffff1990941695169490941791909117949094161790915560d0546136e5911689613c38565b90506136f081614113565b60d080546001600160801b0319166001600160801b039290921691909117905550505050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526133149085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614612565b60008061379283600a61561e565b9050600086116137a257806137ba565b6137ba86612fda6137b3888861331a565b84906145ca565b9695505050505050565b60006001831161380e5760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206173736574506572536861726560581b6044820152606401611130565b6115fb61381c83600a61561e565b612fda86866145ca565b6001600160681b03811115612a5f5760405162461bcd60e51b815260206004820152601060248201526f13dd995c999b1bddc81d5a5b9d0c4c0d60821b6044820152606401611130565b33600090815260c9602090815260408083208151606081018352905461ffff8082168084526201000083046001600160681b031684870152600160781b9092046001600160801b03168385015260cf5491865260ca9094529184205460cc54919492909316926138eb9185918591610100900460ff1661439c565b9050836138f857846138fa565b805b945084613908575050505050565b8085111561394c5760405162461bcd60e51b81526020600482015260116024820152704578636565647320617661696c61626c6560781b6044820152606401611130565b825161ffff168211156139795733600090815260c960205260409020805462010000600160781b03191690555b61398285614113565b61398c818661331a565b33600081815260c960205260409081902080546001600160801b0394909416600160781b02600160781b600160f81b0319909416939093179092558451915190917fe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a92991613a059189825261ffff16602082015260400190565b60405180910390a2613a1830338761314a565b5050505050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008111613aae5760405162461bcd60e51b815260206004820152600a602482015269216e756d53686172657360b01b6044820152606401611130565b33600090815260c960205260409020546201000090046001600160681b0316151580613af8575033600090815260c96020526040902054600160781b90046001600160801b031615155b15613b0957613b0960006001613870565b60cf5433600081815260cb60209081526040918290208054835187815261ffff96871693810184905292959194911685149290917f0c53c82ad07e2d592d88ece3b066777dd60f1118e2a081b380efc4358f0d9e2a910160405180910390a281546201000090046001600160801b031660008215613b9257613b8b8287613c38565b9050613bf5565b8115613bd45760405162461bcd60e51b81526020600482015260116024820152704578697374696e6720776974686472617760781b6044820152606401611130565b5033600090815260cb60205260409020805461ffff191661ffff8616179055845b613bfe81614113565b33600081815260cb60205260409020805462010000600160901b031916620100006001600160801b038516021790556123a790308861314a565b60006112aa82846155a3565b60d25460f8546040516301c6654960e21b81526001600160a01b0392831660048201819052602482018390527f000000000000000000000000eb8cab2f4663247db8eafb556f498c861bb4e161909316604482015260cc606482015273f7f4260943db50eee7e917330c35b460ff70ad549063071995249060840160206040518083038186803b158015613cd757600080fd5b505af4158015613ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d0f91906150f2565b60fc555050565b60cf546201000090046001600160681b03166001600160a01b03821615613d625760cf80546cffffffffffffffffffffffffff60781b1916600160781b6001600160681b038416021790555b60cf805462010000600160781b031916905560d280546001600160a01b03191690556001600160a01b03821615613e8857604051636c6fe87f60e11b81526001600160a01b037f0000000000000000000000004ccc2339f87f6c59c6893e1a678c2266ca58dc7216600482015260009073f7f4260943db50eee7e917330c35b460ff70ad549063d8dfd0fe9060240160206040518083038186803b158015613e0957600080fd5b505af4158015613e1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e4191906150f2565b9050336001600160a01b0316836001600160a01b03167f7e830f7c1771deb1bdb35c4a7e6051bbac32b376f7f4e4976b8618b0b11997f78360405161313d91815260200190565b5050565b60d3546040805160e08101825260cc54610100810460ff16825291516370a0823160e01b815230600482015260009384936001600160a01b0391821693859384938493849373f7f4260943db50eee7e917330c35b460ff70ad549363d9b874389360cf93602084019262010000909104909116906370a082319060240160206040518083038186803b158015613f2157600080fd5b505afa158015613f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f5991906150f2565b8152602001613f6760995490565b81526020018d815260200160d554815260200160d65481526020018c8152506040518363ffffffff1660e01b8152600401613ff492919060006101008201905083825282516020830152602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c083015160e08301529392505050565b60c06040518083038186803b15801561400c57600080fd5b505af4158015614020573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614044919061512e565b60cf5461ffff16600081815260ca60209081526040918290208790558151858152908101849052908101829052969d50949b50919850965094509250906001600160a01b038716907f0a242f7ecaf711036ca770774ceffae28e60ef042ac113ddd187f2631db0c0069060600160405180910390a260d080546001600160801b03191690556140d48160016155a3565b60cf805461ffff191661ffff92909216919091179055506140f7905030846146e4565b8015614107576141078482613326565b505050505b9250929050565b6001600160801b03811115612a5f5760405162461bcd60e51b815260206004820152601060248201526f09eeccae4ccd8deee40ead2dce86264760831b6044820152606401611130565b600054610100900460ff1680614176575060005460ff16155b6141925760405162461bcd60e51b8152600401611130906152ed565b600054610100900460ff161580156141b4576000805461ffff19166101011790555b60405163c72733f760e01b815273f7f4260943db50eee7e917330c35b460ff70ad549063c72733f7906141f9908c908c908c908b908d908c908c908c906004016151bf565b60006040518083038186803b15801561421157600080fd5b505af4158015614225573d6000803e3d6000fd5b505050506142316147c3565b61423b8484614836565b6142436148b5565b61424c896129c7565b60d480546001600160a01b03808b166001600160a01b03199283161790925560d38054928a169290911691909117905560d585905561429663031ba309612fda88620f42406145ca565b60d6558160cc6142a682826157bb565b505060cc546040516370a0823160e01b81523060048201526000916201000090046001600160a01b0316906370a082319060240160206040518083038186803b1580156142f257600080fd5b505afa158015614306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061432a91906150f2565b905061433581613826565b60cf805461ffff196001600160681b03909316600160781b02929092167fffffffff00000000000000000000000000ffffffffffffffffffffffffff00009092169190911760011790558015614391576000805461ff00191690555b505050505050505050565b835160009061ffff16158015906143b75750845161ffff1684115b156143f95760006143d686602001516001600160681b0316858561491c565b60408701519091506143f1906001600160801b031682613c38565b9150506115fb565b50505050604001516001600160801b031690565b33600090815260cb6020526040812080546001600160801b03620100008204169061ffff168161446f5760405162461bcd60e51b815260206004820152600d60248201526c139bdd081a5b9a5d1a585d1959609a1b6044820152606401611130565b60cf5461ffff1681106144b75760405162461bcd60e51b815260206004820152601060248201526f149bdd5b99081b9bdd0818db1bdcd95960821b6044820152606401611130565b33600090815260cb60205260409020805462010000600160901b031916905560d0546144f390600160801b90046001600160801b03168361331a565b60d080546001600160801b03928316600160801b029216919091179055600081815260ca602052604081205460cc5461453691859160ff610100909104166137c4565b604080518281526020810186905291925033917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b568910160405180910390a261457e308461497f565b600081116145c05760405162461bcd60e51b815260206004820152600f60248201526e085dda5d1a191c985dd05b5bdd5b9d608a1b6044820152606401611130565b6115fb3382613326565b60006112aa82846156c6565b60006112aa82846155bb565b6040516001600160a01b0383166024820152604481018290526129c290849063a9059cbb60e01b9060640161374d565b6000614667826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614acd9092919063ffffffff16565b8051909150156129c25780806020019051810190614685919061503b565b6129c25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401611130565b6001600160a01b03821661473a5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401611130565b806099600082825461474c91906155a3565b90915550506001600160a01b038216600090815260976020526040812080548392906147799084906155a3565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600054610100900460ff16806147dc575060005460ff16155b6147f85760405162461bcd60e51b8152600401611130906152ed565b600054610100900460ff1615801561481a576000805461ffff19166101011790555b614822614adc565b8015612a5f576000805461ff001916905550565b600054610100900460ff168061484f575060005460ff16155b61486b5760405162461bcd60e51b8152600401611130906152ed565b600054610100900460ff1615801561488d576000805461ffff19166101011790555b614895614b4b565b61489f8383614bb5565b80156129c2576000805461ff0019169055505050565b600054610100900460ff16806148ce575060005460ff16155b6148ea5760405162461bcd60e51b8152600401611130906152ed565b600054610100900460ff1615801561490c576000805461ffff19166101011790555b614914614b4b565b614822614c4a565b6000600183116149665760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206173736574506572536861726560581b6044820152606401611130565b6115fb83612fda61497885600a61561e565b87906145ca565b6001600160a01b0382166149df5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401611130565b6001600160a01b03821660009081526097602052604090205481811015614a535760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401611130565b6001600160a01b0383166000908152609760205260408120838303905560998054849290614a829084906156e5565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b60606115fb8484600085614caa565b600054610100900460ff1680614af5575060005460ff16155b614b115760405162461bcd60e51b8152600401611130906152ed565b600054610100900460ff16158015614b33576000805461ffff19166101011790555b600180558015612a5f576000805461ff001916905550565b600054610100900460ff1680614b64575060005460ff16155b614b805760405162461bcd60e51b8152600401611130906152ed565b600054610100900460ff16158015614822576000805461ffff19166101011790558015612a5f576000805461ff001916905550565b600054610100900460ff1680614bce575060005460ff16155b614bea5760405162461bcd60e51b8152600401611130906152ed565b600054610100900460ff16158015614c0c576000805461ffff19166101011790555b8251614c1f90609a906020860190614e0b565b508151614c3390609b906020850190614e0b565b5080156129c2576000805461ff0019169055505050565b600054610100900460ff1680614c63575060005460ff16155b614c7f5760405162461bcd60e51b8152600401611130906152ed565b600054610100900460ff16158015614ca1576000805461ffff19166101011790555b61482233613a1f565b606082471015614d0b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401611130565b843b614d595760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611130565b600080866001600160a01b03168587604051614d7591906151a3565b60006040518083038185875af1925050503d8060008114614db2576040519150601f19603f3d011682016040523d82523d6000602084013e614db7565b606091505b5091509150614dc7828286614dd2565b979650505050505050565b60608315614de15750816112aa565b825115614df15782518084602001fd5b8160405162461bcd60e51b815260040161113091906152b9565b828054614e1790615728565b90600052602060002090601f016020900481019282614e395760008555614e7f565b82601f10614e5257805160ff1916838001178555614e7f565b82800160010185558215614e7f579182015b82811115614e7f578251825591602001919060010190614e64565b50614e8b929150614e8f565b5090565b5b80821115614e8b5760008155600101614e90565b8035614eaf816158cc565b919050565b8035614eaf816158ef565b8035614eaf81615904565b8035614eaf81615919565b600060208284031215614ee6578081fd5b81356112aa816158cc565b60008060408385031215614f03578081fd5b8235614f0e816158cc565b91506020830135614f1e816158cc565b809150509250929050565b600080600060608486031215614f3d578081fd5b8335614f48816158cc565b92506020840135614f58816158cc565b929592945050506040919091013590565b60008060408385031215614f7b578182fd5b8235614f86816158cc565b946020939093013593505050565b600080600060608486031215614fa8578283fd5b8351614fb3816158cc565b602085015160409095015190969495509392505050565b60008060208385031215614fdc578182fd5b823567ffffffffffffffff80821115614ff3578384fd5b818501915085601f830112615006578384fd5b813581811115615014578485fd5b86602061012083028501011115615029578485fd5b60209290920196919550909350505050565b60006020828403121561504c578081fd5b81516112aa816158e1565b60008082840360e081121561506a578283fd5b833567ffffffffffffffff811115615080578384fd5b84016101208187031215615092578384fd5b925060c0601f19820112156150a5578182fd5b506020830190509250929050565b6000602082840312156150c4578081fd5b81356001600160801b03811681146112aa578182fd5b6000602082840312156150eb578081fd5b5035919050565b600060208284031215615103578081fd5b5051919050565b6000806040838503121561511c578182fd5b823591506020830135614f1e816158cc565b60008060008060008060c08789031215615146578384fd5b865195506020870151945060408701519350606087015192506080870151915060a087015190509295509295509295565b6000815180845261518f8160208601602086016156fc565b601f01601f19169290920160200192915050565b600082516151b58184602087016156fc565b9190910192915050565b60006101a060018060a01b03808c168452808b166020850152808a1660408501528860608501528760808501528160a08501526151fe82850188615177565b915083820360c08501526152128287615177565b925084359150615221826158e1565b90151560e084015260208401359061523882615919565b60ff821661010085015260408501359150615252826158cc565b1661012083015261526560608401614ea4565b6001600160a01b031661014083015261528060808401614ebf565b66ffffffffffffff1661016083015261529b60a08401614eb4565b6001600160681b038116610180840152509998505050505050505050565b6020815260006112aa6020830184615177565b60208082526007908201526610b5b2b2b832b960c91b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526007908201526608585b5bdd5b9d60ca1b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b83516001600160a01b031681526020808501516101608301916153f5908401826001600160a01b03169052565b50604085015161541060408401826001600160a01b03169052565b50606085015161542b60608401826001600160a01b03169052565b506080850151608083015260a085015161544b60a084018261ffff169052565b5060c085015160c083015260e085015161547060e08401826001600160a01b03169052565b50610100858101516001600160a01b0381168483015250506101208201939093526101400152919050565b838152604060208083018290528282018490526000919060609081850187855b8881101561554f578135835283820135848401526154da868301614ea4565b6001600160a01b03168684015284820135858401526080808301359084015260a0615506818401614ea4565b6001600160a01b03169084015260c0615520838201614eca565b60ff169084015260e08281013590840152610100808301359084015261012092830192909101906001016154bb565b50909998505050505050505050565b6000808335601e19843603018112615574578283fd5b83018035915067ffffffffffffffff82111561558e578283fd5b60200191503681900382131561410c57600080fd5b600082198211156155b6576155b661577e565b500190565b6000826155d657634e487b7160e01b81526012600452602481fd5b500490565b600181815b808511156156165781600019048211156155fc576155fc61577e565b8085161561560957918102915b93841c93908002906155e0565b509250929050565b60006112aa8383600082615634575060016111ff565b81615641575060006111ff565b816001811461565757600281146156615761567d565b60019150506111ff565b60ff8411156156725761567261577e565b50506001821b6111ff565b5060208310610133831016604e8410600b84101617156156a0575081810a6111ff565b6156aa83836155db565b80600019048211156156be576156be61577e565b029392505050565b60008160001904831182151516156156e0576156e061577e565b500290565b6000828210156156f7576156f761577e565b500390565b60005b838110156157175781810151838201526020016156ff565b838111156133145750506000910152565b600181811c9082168061573c57607f821691505b6020821081141561575d57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156157775761577761577e565b5060010190565b634e487b7160e01b600052601160045260246000fd5b600081356111ff816158cc565b600081356111ff816158ef565b600081356111ff81615904565b81356157c6816158e1565b815460ff19811691151560ff16918217835560208401356157e681615919565b61ff008160081b169050808361ffff19841617178455604085013561580a816158cc565b6001600160b01b0319929092169092179190911760109190911b62010000600160b01b03161781556001810161586261584560608501615794565b82546001600160a01b0319166001600160a01b0391909116178255565b61589b615871608085016157ae565b82805466ffffffffffffff60a01b191660a09290921b66ffffffffffffff60a01b16919091179055565b50613e886158ab60a084016157a1565b600283016001600160681b0382166001600160681b03198254161781555050565b6001600160a01b0381168114612a5f57600080fd5b8015158114612a5f57600080fd5b6001600160681b0381168114612a5f57600080fd5b66ffffffffffffff81168114612a5f57600080fd5b60ff81168114612a5f57600080fdfea2646970667358221220b98cc1252a5068c7c5fc9417141372a790f74dde7318bcb6e6162bdb58fe6f5e64736f6c634300080400330605581e033016942be84c80ae54e22c29e3a48453129b03cb5edad30ef240d0da40070119595e05581e03ddbe4afcebb54ef9c65105fb83109b9e3fbe396d4e4f7098ec50d38530040205581e038d21c0eb5511e616450ffa1bcca426ba20926cba1001577b083ca25b2004020219248203420a68d01e353c732d19f27aeba1448897c2261c7fe71e6aee05835942a899aa03cf23e8581b43511facb9988b604d9a0a6eb93c354164995f5489ad1731e8ef1603a37d965f1022dfc9cef9a055c99f515310ddbf87189b180ef76da91d0bf00877031ec2cfd57e680198af49efc8b2b5eddbe85495f01547646b151cfe59bfaa097c0219ffff0355299d81d90624016f3740a982c71f5e4740f791b389493867ee9bdf988aa4e903fb45b18c20ce8bde3513cc8bae07a0af8a8a35f7c14537d95e1e09f242399cbb036af7278cbacf7c05772b9ff57daf3d0bdf1980cb0ca02b2542e7d38b9720738503b91b2842274eebbd6eadecce3b2111a134af5d03c935af2f136761b2fde22823034d3cabaf4dc9ea9495d9610d29113399429a3e94053e8a68c605d5f71b116f3b0315ae9f03470439b582b5ab1f6ef042e1a421010c318d6eee7ad8e750c20721bf0309c016cfcf10881982e3250cd966f91ea7a6fc9d5590101dba917dabc4763304038751294429d87fe8ce6ddda5793a36e14cd5e0f39326972d5a127f01f0283e2b0219ffff03076c1c6e1c7b6f746880957bb02a9c01dcbfb97e20ec7f0740b48ed83d432e3f03de6e7c0a2d1a279910927b5dff52619285e2083bc89a29421216f82f0af5420803041e15ab8b98cae72896d8e8e9095d3231d5dc86a25518467acf58de29dbe30c0219ffff0379f44800c509e92c85064ef40bc60658775aaa6b5ac6d3cc5c01bdf22d0471de036cf725f15123915244b82b16b8cc7ddadb14aea435b2c6941cc9cdfec8bb6a24038b0009ad4683da1e4dbc3e43949d54c3019df50ebbedc8b35171ff298b3e6aeb03780dad6c4a649ba76f91bb256634e9b620c4ee150fd763e388c1b24df9435c8603fbcf6595f541d0a51c3d01811f12ed9ec3baccfb2a84d69aefb8b14bc29b34a50219ffff03e04c3ac8880a512c2f97a72fd111e7381fb425a54294b51dce5e9a23fbb637500354dc7eb6500ffdab3ab8308a681b93b32fb49d7764ed9722a5ad4453205408fc034166cf932aba9a12993b63ffe47bdaa511817608d9e98510ac668078ef88db8503ac808cd2b11d6c56865616240b1ace05b0ba1d4a293d23c11033cc7f4009a58b0349e105ca1ffee86023776110924a45c10d2f945a5ecda8e85ae1b40c06fdc160039402516473613de42bf2b9c4fdb5dbf7f458c990538cc1159dcf86913dfbaf86031bb89c3ccdb9cb26236b9fbe5a44d6a6685e87715704dfef72e0780816f223cd03172858664fbc4f414050011c66e68efd8ce88ea48ba40a3669238e94e885036a03b94d8fd30d3e2af93204a79d5cd0879d896ae699d00248565562ac63c88fd602036dc5fc960bba83203f3007c80a04f97eb965eeac5a84ee2251b7abed28af924203d3b7668891fdbe107907b9a581632c7d398aa4e27677b6ffa33fd2d4a428ccac032adfce3e256fae1daeef4cd7bf335ebd62742a6c6973f6634cbcae1690288d940346567b3763e0be07a3525858217d4699a918a39037e75fa7d93293663d603d7403e6013d2f72a40efb439c13b336f37ab5654cfeb447076f49e36a9dab13c8fc14039091b7ccb0d7570d9025701d2545dd0666d00ea77867421d9b6a272125afcc46038ad414505a480919e1a8abec11cfc4face7ce13f3790986a682a030464ffc1c6033e3d6606c6e8c9c304714d90da3bf1dfa39ad6851b98c2f1d40bc296d2dd76e103615227784ea52a6be3676208915133f194b01c3dd81ca6803a3239ea7bfa957903c942e252ce8fe6dfb5f21deeea58d05c226f9916c6dba2bb49fed2d0166ac8bf035c4220e8b4587c18c274d6a9d2e7f108c1a358988b5f88b9df988307ac688cbb0384cb848d1580a46a58937626bf56a73d127a75fc7197d3a063d880bd40f98b730352f18b665a6fcb903e9104f4c44f92c4f00c9e985a8a800508f442387a97320f035c667f30be98243b88dd1bf9c5d26e77561d7d00118230960afb719675353c4903b1a7352b2f5411075efa8561ef0db6135fc70efbe03875b31c07a24decae4faf03ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03289f70f72b62a4b6a7b740b570f6e9fbd3d8d85b0d1b19b4db83ac2d0007011bffffffffffffffff03b61098e5166791285ccb4545fbe4bc29507715b64fb891fa3bab0bab20be2d5705581e03c456b8dcb5c1c109796bc5f7ec896c7d0b0c256197592eadf8ad978b9004010387ba7b2fc9d36775437342253750bacd2eecbeddfa3e4c717566a2693404d67201410703fca74b97ba9f99c9a5f1d24e62a2aa77f449048d1d74cc59293dd784331029ba05581e037fcd980dc8b82b18999a3c352312c463c2e71c8dc9ebe3f79d7b00b330040503c45ca6cb8cf5ca1280be0faf9f479674de2a3c3c92905cf2e7e80bb8021538a105581e037a66612ed74027c8513f633b91366791c97ef77af38f950ecc797675800c0246d844c1f022e00459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c6343000810003303b7f373a0a86ac28183411aae50791a2bc391a019aeb09ef8ecfe04814adbdfd903c58cf7d4353de4111e2bd4fc4bb60b89c0c4c53104d4f8fb5c4c76775020742303845805d42a713ff8f5f00a9de7428e3513a3bfee69b92ed6095c70696435492203f1446d20a0af45a7cc2ceb3278bc3f11d06f1f90fa3e923432354f22ea3765e70379a90e54f8f3716c640663e1c627e32eabdb3028e285a905aac0e5852682cc9603869a23d23c0c37fb8ebbb8675b25e8716afb4d8690b282af5c8bf140a4b3dfce03d753223902860d2df76bb0882c77e3899b2b047c5fb3b68d46d4fbefb4625e3103ae8305c193f736f0ffd4c1bd6b1ba35fc663ea468f12cbe61bba524c697a84d503c55f18a62d402900861c9552adc865aa4735550d803775ef4ab340abc0848d2b03de24178ab46eaaad5172b50bb5f30d346ee56084ef1d6784c38104a0ee379cef03e54846713437109b151a4ac561eff3aa59ef120b84226d9265999bb1895591af0334fcf3d565338c7ae8b1cc668aff38827779fe99ca01bc93809403e4e8d823d90359f337a07f070eee275a699c4a9f9dfeb9d9ce8a49c087a0b06077db37cb13f403a9f9598bf5af2f65f8376037ab5b959b4557d950ad684e436727082713fdae4903bfe910e22e7872f10af10419ef7be173fe70a40fbeadeb4890be03f6c441fe4e037c88ce67dc9d562823861cc525e6f0834b0e690f7507a0ad5eea83453f215c6403a2adb1707a3d2c95ba34417c23d78e0835001ad4ff7f513ec2dd9256fe51de6e0354077e77921dabf44182292199846822fd186cb45ee70f641f2abac1eb8f472803289742bbbced38ab62a8e1bd77ac11df414321e35ed476be0b3e58937eb0294003610a1c0860c4380b3d96bed20528fcdbf1e91418315a52968519671284e9e12703997a01387c80483238c45b7db516a07a81e2a5da0d3a33174ca09efc0f2f527703f2c242f63ae46309ea491bd1d8188f67da4282e54a765402b76bb58b6a01846a03528944a62cc442853bf9abdc39c196b46a9f8e222b450c772e97ba299e92e77203751fec05809f926f84ecc62baeba29afed3dcfb31c34b34fc963918dd248d30603184b77770f403dae6c2968bc19f56efed284dd7e4d8ab0bffbee46d7244ad1dc00581f03fc748a363568c881a805146294de56f56681a5b8267725a57bf8abd8c16058207870f9f54b39b5c72cda67d049642614c25d74f450bf92ff2b83e7764504d39b00581f0352103267700e21b7906eb55d43294aa2fa869fbac4c9373a1877de732f20582054c0d890ee38bf4fc0ae47f77b41a0ff0467f7908a5b4ec085c35814d6a5d99503313ecb87d5303025f9d0cb888426eb3f5e76ce8f9c23ae88128c80c35bc5daf200581f0343392fd37147383597bf7b5e31e3c0b713ee0e70a79c8ad9be4ac753e9405820f1f71f106501fc1307e931ae3f49736909b03ce38c37ce6b5c25b744d7502cd6039934c8aeb27dcd4b36e8e2a1ea56ac25853ddcd5edf1300f2b2c94e26fb4f7a501410903beca58e54513153f8a0a648db1bbb6f0a51536bc4273d88c07ffe3023ba92e3900581f03d8fb4a9060bf6518746f74e80080170c5356488fa6941844d141638227a0582039366d0a200311daec3361c08b0759e207ac0f4bb96e32476b9bee84f6901a330339f98346754b7c0cf07d01049e217fa5ca837e9319d984898dc0b4b561ce3d5b00581e026cdfddb1226d1a68b7bee51a58b43c2b4f0f752e87603a86070275b84f582072c090f63549ce0374d34c4d4d97dbc45485ce05ad3b4bd0472b324935efb52500581e02137db6e131133e7f2bab296045d8f41cc5607279db17b218cab0929a51430da85002190500021967770219ffff0328ea537ff695abd7f4c2939b1cc7405fcfc1daf902d595a2f148c0628433ceb7037b14adf3d04af0678302dba3b10b603721fb4adf3cb4f2c470914b72b51b03c80368e48a54b266d2ad2726a5bd74cc38e1bc89bf0f72271e7432fed7ed0ab72f62030c3f4577a64f85617d911f40f4919ccd01caf99c6b0dd75c738bbed4ea29c40f03f36ad408478e3bb9af16313ed8d2e76f6ffbf14f41d969cd4385a78378f92730039400504d651696ee8b49d3cb85f090b9e1cda0a7cabd383fd65f997dc37c8b2003a2a249aadaf02fc7b8c58c1eff0bb57a5a68ab2c94af4392df18be0afe46532f032257a55396d791464a8c18f0ec1b0b2907b89bd60393d315a704a6607e167251032417d403a30d3dc3d847a8dd5d3cd591eb55a7f9eb856d0fa9ed0a34f38f4b270219ffff035ee7a8ca077dd905aaa4c8ff7937d86129219b255782cc5f4e060c09a9d0cc4e03e5ea99e77702b41a5756fc42bfa4a7645e9e466437908c620095bcb50235d61703c8f07f42506774fd216770176bb67c9c821a121de2bb5cd17c26a61a662ba30d03a511665a547d9af4b3dcd3e762a3cfbd95b78c1fb77da64d7872d4a7f049c82a036121e874e2b811d94740c0e10d39d5e7bb5bfb889eb98f6865831ce1d9fc86f0034a25f73811335f79127ce7f240a15fff4b63838cdd0096fc662f2a02b9eb9c2a03a01432e4bd53e192d94f1d29f6142c24dc9f225277852a199e7e8de35c7ca39b03eb48f98f94ad26c97d302829f2324c74931b7ba1b78f8526dbdf7d4d93ba366003eb3c6031533ff42a26165da80422b381ec0260028e010958c8ff904c475c24f4030eb132be7783813575d26b5a34cd5a180326782980807ec768e7bdee2bf095ab03a23b8cb688177ab26cea00f129fc857b0c8dbc15c9f14d05070e54342fb3ed6603ae5dcca120800897f310743c018b10c6bf963b418d55c958d8ced9d51778183903a1d88c8cc2bab2ca5c6e9149cbd6bbced580231e9e30f00cc41aa5a71d0e7040039c894e9bd7ed2c141cc12a6aed39783fe2b1d8b7dc7e825c97a22de4ead369290219ffff035e69bc2934f85d2803a0103f57c64a474c927f9d461b43b18083bf148023ffb4033b34af681fc09f5a3ffbf66799bb1e74c26e1f698a7b8456eb14ec905562eadf0398b9175f3b76a8c64ad4c0cf9da4fb51620fda2a1b7f24546f204a65f787ae9d03d0d75df516f28abaaf3fbb20bd1f2f3b1ceea4884cc71d28ad86e612e153e17003c5a38c49b66f10ea9087826cccb952a841cc261513c9f4e3f7188ac52a1e97bf03a1bb952240d8a0eb77ca070e58359103ad2723377eb1629542dbc3dbf2dfd37003fc3d2c916082581343ec436b31a4b9f668e7043f956583e4a33263504326963303cee23e06831b549e1eec84d4dedd6ba6e184b776409c424aad72275fbd6ed94703bb971e526ea68db7735c50b1670fb6262dca242a20ffd96f98b91213913a599d0388997a02237b9e742c9c299a2ff6978bcb01fb3117af759d0ac199d4156bbc2a032229cd3bf7d9c40216aee0d277f9c94947e9d0d29a2857b3493f7d708ecb83b60336787bd6f7d1311fcbb2c008b218eb35ef9c87ae3f45aac839fa5319df6c319203142ac0b862fc3bc3eef6ac7792660ea28f5ab0b0e7c9ff7c78d7d1e7838a5a2a03d5d3d1f6f62a7839638e62accab7986ec26238dac40c6fba2a68b4c295ed6872038e9d30940cd6e8adb97d616b0ca2e7427b26c48b6d08e3961d0ed490290f2723039e589d48d98015a3bd129dab8507f8e6adb4501672742460aff2d7fffa5d5c1303f605dcfc1051927310e0b2772f8c39eff2e60c69a69a94368c5051a3969e6c7903fe311ed18427ca517b943ff78d77e01d0937c3e6007d17e50fb79f7430a62f5c03e153759046046ebf54365c735f4d3da709dc9099d9b80909b111434dfc00ad5e03bb84e28f2c7303f02053d7a12678b228d9d15271f5c8dfa28c86318866204aa80340bf49cec80918e009ecd75389c58faace8ecfdd2eb07f6b43cf17f56b47b0ba033f9340170f75af99fd7e5332f61960826751d2216dbc2d0cac5c8ed58654107f033bc284b2b1618cb2fc890432740640430cfa44dd884570b84db40fe0a4bf487903e64cf4b1dc67d431ae45e98f71eafb908900a16bfc604c02b24b8676dc538e76038b41035438db1ed065a95070b8fbc2638d49030b8002b28a78b204bcba3451c40377cab983a6e2c847e7e55e62e7b1c1e117f7c1e0d2620fc45a810f1b3fa184370313394eea0c21248440611b422bdc260b1fa06ac233b420c8c7934646516e1d5703a62000bf9e55d79baa550f17ca8098971190baf1e6c245ca45fa151fe8f683ab03fcd4a0ec2481bf2287ecae3101210a7be20b3ce04b52a484b6da9182854c17b80383edb47698f52e8d0aa5b783b1acc472d01bb1275d55f4b39bee3b008ef38857036ec9a980bcc5953e3c03acfa8b8d78101a6adee8ea7f70759116a4d3c1c50cb60381f72ae279eecd26ecc84da663e1b48ab40f426f4b6d058b2885d3bf26ee4a6903b45411a3babd0d982d4e1da18fcd71d06c65115bed85417e671b3c05f6e0be7000581e03c9d96948ddf4bcae7c7cc1f23750f77779ef7cfb5b7e0dfecd02e51d80582092411b2f1520830f3eb790ddd5a55f9a1dfc80fcc69bb16c7dd1832feb93913b00581e03f5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054eb803eb3f501998126bf37bb823646ed3d59d0720219202000581e02ab40c5ee046b58de13c072fe1aed84721795935904da9446546b3b06e958207eb7e6b30a27cc783149dc8e2d840a5354c129d3718e094d26acea6accb209320219880003dfc612e87a1440941957e3905573584f82e31a5e8fab1ab194b31d7872fb261901410d00581f03d1003d0d9e08f5a965207e559d63d77e8c545543543b43aa27f7f001159058200f3c6016b925a0f1952429af9c23317a06677f6fec1eaf725ec6f6595f8a6bf303a96d8bfe485e8e11b149143d5d8a8f4c7574f5f418c1d68c7e6b68b3a74c68ce03a0342b3862d0451e842de9d4ea4276f0fbd9932690c7bb94e9fedeb0bc96f8e200581f0339f9c59057cb42e4a4ef3e3c85d16932cfe0e6b1aef863fa0db4d7ad884058208ef7b67b239c49c640d850f4df0decaed07a41cda3bf15ab7fc6ff79c9d3019200581f03bf74f9a9e0f0e5ae36a447d9843d84986764abe3164cb182f069eefda940582061c7d3c380a8b49b3d46eb482fb6c451b25ab928096d6b428308d728c4c101100315c92c91b10de3c295283f9301178df50df9c2c18af4c49800286c93e53a209d034817455590008e3766fdeb6e1396fc88977e64a5581fdebc05f97809950041ba00581f03f5c8504ad6c6fbe7ea5c856947cfd5b52da51126717811f55bdde01e9d405820fc5d7528bcc166a154bd87e2fadb87ad0b124355bc42db4b10b172c91d7fbecc0219da3d0219ffff035f18bd619d7fc26f22b29b5e614b8031a55ae4d86029390568d5b56893b947c2038b078d42938a9d013400ddb58eb2b9a0205e49d2571692a561a43eed5c67bd230219ffff03c5aa45be835a85d70607524ce88433d3a3cd5eebb806cf1e906ba27ebb1bb1aa03d8bbeeeadcbaf89c57097d9daeb7f6e62e68085a8dce3661039425061705aa1b036ad908ccdb2ce75e66a1748be1e136aa41f53144bdd381b679e4206a9e3cfe8803af8a3ec8935bd8d8e5bc611218f58186b7e9aa9a12fca682ae84d79c08d425710379e52f45353bd869f5c6af0d49d988fa55a271e2054fa1594e0a8ad79e9d3ac403dbdcaf00f5991ad10d1dea0d4fde40b8ffd40e97c0f5e8a2b72772a08db15a4f03b9c129f220a09da9ecead88f16a8d9d1ec3f90d3217e7d6bb95bcd9220573422037c1104728c340d368802dd217c9ccdfa0db341b4bbf622ae679733364764199503daa750bdf93d7ac47d91e12f85d62b7efca994c3e08e6ddd53b193b28bd710c50309b5c6419401045d208b11268e8659945ec154d6fe81301d74da7d9ea1ae721503b43889a56069070691cd19defa9375be29adee442448324d2ecbd9b7ffc7d0dd034d9cd43dc2b0f48326a842ddaa10ac00dd30ec09b6235e4d2b596ee75837230703280466b510ff3d04d45ac1a5a733d81a84e51eb506ec400395482db42dd0b6430219ffff03d424f5f3afa9ae5bd98c49c4870217f55ff53d845a05e354ee1beda6b00cc46b03843373ef2a1a1e4991f8ddca83984d1464ae8fe81108ea7f11645d084c69a0a703e5fa3260f65ea5f6f3e7dcff2321f34bed6673ec94a15cdbed253fff9930bacf0323d9f61cfedfe53cca75f10e833c684378d573406b9bb6695ae3325a27c0fc9a038f79618b2a7f1d88837786a25a9f5e310da418f705229caf7d54dab360462daa0376d58179fd9d3e943e3399d6728f89c55a8f23165d11cb4b6abf8508eee3946e03bbdef3ea142e1c042e8628223df0dad46c356421bab3b01704fe75b2d63bea0d0340d22b0bd0d80297e7f63388ffda5dddc1423eab06532458d9dd0c6694e0776303216ec12d15c61413f41d3763dc4239aa651fa68018c4796fb4727a88aee0446b03d3df8c5f13ace029537914cf996256c7f2ab3941bad559f1b2e946af4ff4e0520393b45a91323094a7d17ed5835f9bb057788968e212fb873c365f6b88ac5ebf1603852f3b49e09dd53d2def44da1b0196ad7764cb6c4687f63f1092c471f376d3620322a4801ce4878025445d96e9e6f1253a8ca49d633048fe5f359817a5146e2f0d0334f269a056d786c6290882ec7c670f3ca14b4808a56b7ab7f6c0beab223fdce3033aa617839b290921b7342a85109bf75a88b6801204044815bc3f7d9eae31e26603cd768d419fdd2c4b9f0235c3545098278496d9c3fcf510040b6a117027ad21ee0337af7562fbfcb06450ed5802927aae921585f792d476276e795639c21128366103b32e71c2df9c491cad804966b5c488b86b9d8191e6adbb1eac476f32251514f003bfa9c1f0b79e02c466e7f00e33b57140e7ea4cc599cd42449cc05f7f9ec6e9db00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054ebaed7a81c298b24ee6d59c22698a951dc448e01031eb7e09cb20eefaf5dee7d85bc4d244ae3d68bf2aa043b0064a51db644b95c8100581f03fc2be6da64897910332f3288c658f29f6ae658ff9e23e23ed03157f51e10582058eef045608cebf4e4725a9353bd1e9a7f016be756237fd769f9a079342c15de03e248f5e5adba7a053964273ee20b9570f51b0613a9968f3f7721e2845da237ab03b6f5e8ea4c8bc5cc3b7661fce237e45cf23df29f6729e0f767e60859726bfb9900581f037ac073608fd2e0b856801b3c35d164f1dcb0530366d9d8036f12ea887b30582055f6da738b9692d5215107ec5ec59e3d70345ddd4809ed007ff3eb595494b6cc00581f036e843138c792250b5e4577d463f49860a46d39d4d4517b522fea5196cb005820f7ec9b05bce4c416bad401261e3e1aca9544ea2b0f3a80885cb499aab24f074f00581f032f333a031ed74d790b243b2ed82a32f790ae231920b6274547bef9a70db05820546f22a0e135bd687709e481a20f33347a5cb823bcb4789e2fbd07e13fa888970219754503a3f7f1ab406e1e6bcf705214dbdac298ef2956534309db9a776caca69ae1ef420354e1db0203dda744e598f5ebc0f89cbc4ae8aab44751a5e2aa59cc097a3c2d3a03d06961702adfc0fdcc3a7c8aa42a07e065aaad15efd37592a55e1c227a6f4b2f038ac2956fa9ec8786f9d9f7ab3f70f5bb75ad22907637b380ff98f6749e9bde3f03d71189d4d2e33b2ffce608d0b76cd7fcafa291d6173b9db1aa940cc515353c74038f1c046f48823c6b338256dc94e45adb1eda8d39cdc3ad949e909bdc85cbd39703005218b0400b379ed9e221a35e0aafed5d39e2cc35d03cae5683925024ec5ea0032fb1950f37f9525f2e50d0c11bc1d8336363ffc66bdd77af5c7ef0b32b31aa1f03d0e05cea2f9f312f0b0162b252be5312cba0847f2860139fb10090cc981cd0f20387dd2c6aa39e1ab991ac8e3ce3c2a6cdac5a24872d08d7f2c863c379d80ce259036a6227ab4a6e872baf57881aa04b58eceac6a0bede8b5f514b18886caec4671603ec4957e53875618a88342d0dd0cddf7acaf5e74368974b7b884680c1e0475c9503a37b03f870234a825fdae38d44539551fa3a01f414ceebfba0cedde27d8483e40219ffff035fb666188bae5523f44683c05a19b61283f701b89c79982db11fdecdfaffbc280360930d2696e9996cbdf9e3f7b757b747a25ce70a05c01025b8990232eeea2eb303d6d6114cc788a10a7a3f6e31052875e9c96222af609e202d5a9f09f11939356303ca8f69acceb8ce2dba4081ecd2a1f415f1fdcd8daece39ef7a70f98d9d1c84980219ffff033a83d870e0b152a66de96d41f8e1f8e2e1b4010b78f67782bb4cafcb6ab4068b03605d5e08f3e362199001bc90a30e2373a65ead6c0e3a92ea6dc94e139b541eb703e318c9f73e65faa461dc207887fd21bad29be2f65ac1a8dc62bec92c1fd1f7ee03cb5218b863a66e11b0d1ced1eb4a68958dc1fbc419ea2e9e1bb9b004a4346158030de4d5c037fb5d7aaa4da97d939e6038a4b2b957041eed3728db419fddb4b546030d679a50fbcd4afbdedf97e2b7152e506900883b5192cfc92752b6e266b17b7403bd370a371b5569141647c92e8f40257ce9a60f7e1bb29c2f0b5e4995595c55550346158c10f4661a42a927cd34ff875b78e271613aa306bc9bf352974ea4c7df0303c3cc662710496338d7c002e812c9fbac8843ec17c561db21744d9852e972b6a503c1a25df23490b19e0c1463e93a42e5adf0f5c3420585801c9ac9c4b26da773670219ffff03db738905f3a0ab316e8e0ecd0d8bb0898c87fb558990ce5d829507aea199cdbf03a99e3be87e9b23209105d3eecb82a4701a6478ab1cfafc52997ee1ca405f98b903a680c01b79be2cdf13d009dd8cc0312b3b9e3a575ccffd0cf2d1966c933ce60b03a34b26ad55ebced29bed081f496ed5ec93280055ad923b0cd02a3cfa02c7a59703be5e89ccf40f7fd6d88cd9bf2db331222dbb5118c6f9a1d169332b16ac089ef403784cda1b6248f189ea8ba0be89c1b781ad48d9ef181fa9517ebf57f155fa354e0309794786c1af0975057df78d9cde4aef5f7241aea3cb22ad236bbcd4e46cbe8903155cb479ffaded6289fd17650abfb73639c3b366495f6ca7ee2bf69be126407703a9068f1e649f57ef6424be98fd69bf791b4ed8f357cc6f51f8875bbdd0cfc19b036eea90ea07e6aaf8934ca2fc7535c52eb0bec4343c10addd4c11c2f0d7eb095103230a584873bd0bc2de84f280c5ede0409aacd97668c52a488f964a92573352b703887c3c14dbd24dd0cf36dd0daf11a3ec9cfdcaa7f281861240175adfef418a2a03eca8d235f6e1d59d92463f85765c7702363f576a467d855424c420c2b43e9a70035745af7fd1fd50c1121f56a3a75718c2485c2bfd4fa529d892a3478b8c15d5ee035917cc0119a48066083dfd24439b1f7d6f29b0e7eec4b07fb7bb9730944d587c03605fca63c018c4785737f576c1cdb3498aac946bc8a27991af1995f49614ba5d03920e3cbf4d3fbe77fa5f916e4c47a417ff3ce2fc732023526187f99f9fec367503dbe96d33816ffb23be9b5ba84d93790e7901c23104743a0f550454a4dfbbccc903b046754677a5d6a048fc4d27eac7b9357c5164c5ede9a6bcd9198e8069ea959d037b8942f56e62f9f34d3ebdb6dafddc17520658f5532fc0a6e9ca167e724b74d7037a4a141eb6e8c4547bf5ab72849d0ca039f5c06ca6da6a8a9483a0b09a30f10e03afd0356ab44236210295100c129def1b09208f232fbf1e65010a660742188814032aa20235cfeb7150a011dff4aaf462c3c5cdcb9693c8646d9c1e87addc9a5f830347862b13758df73d63e98a3c998c342bc1b222093af5d21a9eb6ef2f473ce2ad0344599786aaab1d0ae7fd3e3e8825e4ca0458f714f7968b957353895c815b22a503cafd9a283d813ad4e1917502225ea4e67209a86b53cc40a6642e50005fe85d3e030a8df247de31fd6facd0aed6d8598a9433c182808f1b93cb884e8e735b28b45f03207e02619b67c36a993714849a3053df0c623af933ad23e9546bebc88a0e6f4a03890e9c9926d7cf1552c5f57337c3ff9cb3fe37f59e80817cfc639eba3c2258b600581f03c33ecc2c77fc8944d2bce63e6189373c64c81193046f8c738038629838205820b28e0360c54767466ff3fb996431841428adf91784731e470de3c0d3e285a7f803866cdb095d3618cce0338512113b3ee6a6196294da19c1d22f73faaab7ea608103830d151e019b58b2baa04b164ad912a5f82bdf17d85857acb28ad0dc7744994500581f03b519423e10c9fee6fae87c0819d0a08570452a1a9469336cd7c9c11e5a105820186eb7571de224f89e62f6db89c82b3feb8ff4317163d87939d1310d0496eae000581f037ba1c6304d4efc4568eb766d3a5361f0f62e4f4f7c3894187658c178b14058205616bd039aac3280e570c8f62fd81c26c4246bdb675a8f3236aaeba42ea1848500581f031b970929f59d64d1222d6ca27617d9596d85cd3b0b0752e257f7cfbf865058201981c82d9d449a48dedb9683c868c086422805e0ad4eecdb1a207d641b5065be035797844cfe37ad5e4a27997b17746781e37770f213bb3069905ebdd3d3f56e3003615c75c297b528e0c8b2b4f880d8b87f25c5a2a56710c672ab9d458054e3826600581f031da7d34f0e925c3308430fe26a79732ca8e0a2550edfaf8b01e40eff58d058209d38f8ce69498f84ac27e29d86c3a616c78671111db17e57dcc780e09c7b06a9035e7b52c2cbb5d262b795fb8c27ad46f38ae2f4a3d965ab00b227a4976e9b1e5000581e02dd54dff8179527f1d09439a654856f48097aba4aeb39c502c64c8e7c4658201f57ceef920d3e106f63a633bfdbc4d229e280c67b0fc2df17da416d24c0ed2600581e02a02f2fdfb4093be763cc76f83cc96a8be847ba980543373615c0069abf58200f14d1b011852d0d3661a275d08ff734bb2d92806cad70221a40727be73dbe57021908200219fb73032bb8e23e70b6463ad03133a2bfad67ef7a816ac9abb2d57324f52de9b9938ace03ce54def7458aa2e039f6bc1a8702db5353d943741f4b104759fb2dd3e6545c600393cc6173c539200c338eadb07135468013811b99e1bb7b8584cac91357360a06033643011c1cf464f04a951e19600ec711111998e9beb67fffaed8a8c9775624f90328255c86394240616730f5a5f14eae2460bdcee1a363a2840f07b3acb5c47ba403a46a95254c00cdd164777cd95c34cec037b19b30cd58788a490e9343af10f9220219ffff0306855b8fe2033804c9779cd9fd6cf86d123299b920e88a6acdd3782556ae320303c82bffd305d3262bd135f3bcc88efec5435c083e1f594ab619b55cd4b1932b3303bbb453997f349d2e672a3e31cabb5c725df6ea09f8af374826036fd77144ce41036e7990e10b17daefd8017cdd5c7a89c6679d8261a973ed81f126f88fd6d7614b035827b552d6bac73210a1cee4c017d83ceaa907ef2b31584757fb0fedb00f8e7d030a78ef4684ab33dceb5b7114813dd8cefbc8b1fecdf4a4f6459d563fed1640d90219ffff03bdfcca7c8ad1c15395945de20ec430c5b49899d764db62eabd224793e3a6be3e03756eadb4d15a96e50f2bfd94be7349b75c51b56725d417cf0c4c75d2fbc9323e03692eff0c3cc6e2c1977eae76053c422bcbbfd4023fe561abebca5870434496b20349be327cb15849dc4ddc3dfedfda07352a6f1ff72a993933dc6dbdc25ee4032703537c090ed44a0e9e91431150c01eeac6a90e7c56d1542bd6471a007f301c51e20323aea94509e8b6c48bcd01abc69371a648b9f3cd25958f18b891e9db696c0bae03fbfc937b491c62f62579759555b183707a683e909d3f227780158b406232077f0219ffff03b102b913570911bb664fb69ac05f8d4e1bb9d63a84b640dc5c3847105e9f7d1603de8ae5241bb5fb3afe3ef812ea6c785170ac0cf11eff7c5a3cd33492dbbfc107038a370a7c29d8c52826c27a063533218ff7cac6863d69a744c57eb3e61b35c0c103b08c017b2e0443128640589b13d88d69f8f2f0dc15faa1930a0bde2f14c613380361d444c3b2a649e246eb8bad062b5847fb50677947b8aae5fc69142c0b3741780219ffff05581e03e0f9b8f4a113806f4398a7723a7cb71a4034ea331066a14f2862602500070119089e0219eb170310802d7f090da8d733f0f3fa1bdcb1f10a8cf595d18fba11bf33d9d399b9f42b0391eb42b9b271bda7fac2670dec33469cdeb50ac8c04c2ed355551daa101f6dfa031ca4df3e81eac0faf179965f6622fff9b5207518ab758f1aa4424467c010d9cd0219ffff03102ca86ff63bd05d77efd171e9e980bfab9e4f3dc6c342cf9c034cb262c49a83038360c757ef532a8fcddc14d8ac8cbb8ac9e5fae7d3fd3fb54bc14b14a9a65343031d1a9a4b9bf4174a20f8d85d87ae5dbb4790d32c406ac3ac3dcd119afce2e4cc0322accf9a318d5fbb208b298a3181ddb1c2f7a296e446da2d62f1c12d1ace6c310343e6ed41f9a2f21f30e1add1f491f1d3c18f85bb8f6afa8f9bf56e1fb3d4a28003e4de712f74c728bb82becb313137a73f9e4a02ae6b2cab93c99426a96678a80203350ff6850326106b1d129daf264abf227dd32249da820276077776191126bd9903dd2bb8977232239d813364031cfb0b82b392ece4035ec11e38d0b680befac58103b6952317ac47ea0d3f21bf40dbb899b24423f07cac5c987e22800178a6d91f8803fedc761f2b92666aa765f0e42bc6e62b3c9df9cc5fe1038f3b48e7a9e8a146850368de96e65da520deeb33e78576f500b6fd9d5ca10658dc64ebb61ac561e73105036672f08312c612f5081669427deee456b1cb392d75ce46e056282c9943361d35034a5c1e4819966401d7adf817c97f4a125ba062c8145d34d7fd260c909c11318c030953c306eb101298ee2ab521372ba591a32d94f65b4e604fee7c46cfddf96a620219ffff03a1c144beb8963d879f6c7053d3afc415b84ad02aa29bbc14e406d04831dbb75803c666d5ce27b6032ed0a578863f6379aebc6728b5d6378d6d6ae729033ba05428030c36b53cfa3a321bcfc9a59183a89b462aecae3c9a661d46e43b92cd803d9a8503f93a255d5bf9b037c2b102748a3e83c2949ef72ee1135f2e98fa0d8766ead772036fdf56d03f30eebff74351885d3d651626fe97cf76d80f90c9f17014e15a411f03e5fe740b6a2246d4c73a75085108feacdc1075fef5550e79d1e8f9300d805b030219ffff0395a524f7f5f8ccd19f403ef542c24e71a86ea7c81c8dc0c84d5096d5060b97bc037da9dd713a1114ced4bed0491076ed4a8d7a5199f57f4184f74597fd9a45cb3703222394a9dcd9df5559d0f84fd454694cd81c424e28ae21ac477df4c1456068a4035d7682a6111b860f5b35472727c8ade19a8048bcf33ef2dd0e9f7f29dfa0d3f00343059f6b66713e7c8339ec3cd7da850687ca58ad9e6a919811899efddb697502036c7a9f715f28183812c76aa8ebb6a2ac4b7ffdb05560470d5fa02c43870dfb75034e28776ba56a977ef67c9bcf529916408b10db4576f4548836726ed4bc82bdda03ea7865ae69348cfc0dce8fdfb3e05d5db30cdef8167038433c7e169c6a5965fa037bf40bfbbab7c9895622ceadc1681563036aa3447d423660e08b29513de3d3520304a1924ecd497d60fb873757a3630949c305c389a6e033d50234d0b99222ba7c03001fdddcac52c11f24be85a76426c6baa2df4c0f25d1a59f5f64096c2ff6efe3037007aea09328465806aceb59ec151f5207bc7550815c1d748872bf899ce106dc03690434e0911f9b27338eaf599456e4969346032ee0de3102dff723085f7481a803eeb0952504366a0b74f7b21e70f62ad00d864b3fe25f895a23f1a4ba76cf80a10219ffff03df38eeeebe2a130ce46710631e3b398bbf3e86ed23ba5a294b1fe0479635f90303e126b3e157c2bb4bcfa8382b69ccd2f5be0187bf86c714216e06e28f8a53c41303dda6b3d8867c889040eb45362e5ff5db1d057a4093485eb2e27068d4c20e4d5b03a1513b09bdf1972dc13bb47145fdba63755fdf5a3e55ab702ff451b8f6accedd035689a74cbc666ca93117b88efecd2b38f372c72b08edf5b2d1ac8069ae1936b103d84fec83f7b607616e6fb244bcfb12bd35b758e8b076875e0318a6e4f035504e03177531575ee8c845735c54155e4f69623ff9037ca973346da629df18418543bb037bb6a96f320e3a70b55600804d33cf73158c79709a8c9d926bfdd330bd86ef96030888618adcab6ede17b784230841cbba672155d52af52adc37b5d0de33ca821d03e047291a50c3b7313bb9b0ccfadde68093877bf806ebbec1ee45fccd6c91a64103578cb7b0708280df39969664963c6abc166d3e487f36616436d29c177dfe67af03ae3083f144c990b7d437c64f3fda9f28821864bf0de6ed132463c803caa2053803c0a93ba00e95ed805692478b748aa42a1a76ed4c39eed52318cd566b5fc0f9d60348b293dd713fd326f44d39d589722283940fac4d75f227a55a21678daf4b73470377af643d604d124f2c69612873b6ad0e039dec7ea9a465f7c356ae30a9dc7c5e03631656311ee11431f3ffd46074a9f01d7618e614a4d1bd5eb231c92aee5367df0302d8ab629ccdd03be62b7f35cd1b73df96020d62f5ab5a8c5cfb7fe70568c1d0038c377931dbce1062315f4ab62ccf256931d415d8c712fab7cb8cb93f3a247179030c528b245aa4b6633cacd2989c378d4fd69ecdb18554568679bb43989117163403e81dd9115754db825f0515c94f16ee2c7f91aa79d7cc2190693cb75cebda249003c20d9c81d91c3a7311c6c2d21f16e0fe37c5b93875c82b64493a67ee07b31d3203e2c1b964af4741eaab5ca9204a0e8135c0d8a3ba50a9eae8030dc2e9231b92c20363ea8f8d24fcb069e6b84344d5961afea98b4c460171965950a82d65ba49b87c03a61c2aaebce4abb93098c3a0dfdc6001e8648a6f599f2448cd7a81c603d8900f034f6df6b90e1fcb11499705485a82315e18d2615302d8d1087a72ee398373060d03db9e1a4e17c225f90d540f8273607082752a9af0bdc6718c735eba788cc895da03c07275b42738e6738eddf34a4efb35ac5ae11f0e0e7420f8dd21bd0038f5c8cb0357f0bb8bcdb63be81fb10a0af81ca4bc68899227d7ee96cc6b7d2145f35805fc031e0dbf0b0d39e37fd2ea04b78940549cd7bad112cb6b5a9d496ec792064b4a430322176853be2eabf75f4a15699a99de99fa73b360a94c731a73bcd7fb4907d90903b7ffcc8dd3c65fb20731840b12d29a8c6628b9a984be7cb4f1fecbd71030693c03e7591b0891d6b451e750d38a8f38f32162bddc19ff482ff9fbc0b9a26611a76503a1b7b6c48e6a494c2cba6b747a58f5e60b89081958725ee98d6c0601c237e7d305581d022036ef9419b47c5232b9a64f297aed393a8b70307d768fa93c9afb430c182347536f01fdca4b0005581d028802b734562af23773ab86fe2082ec1e3eed391cb30c9c953ed112660c01486065e732e5e4b23805581d02217fb8c14cbb1335086b02987b486be7341b3776838cbd86623f36e504010219144005581e032b37a3e8bbc84dda91ea6c5cb916fae07599e33922b8cea02b12070f20040d05581e03ac177c1f0b5a19b72b6dad6ab07e221a634e35161670b956e4351e75800c02471c59c4894ec00005581e038e493f0d5bec4c9bc9112c3afd73ca34ff2bd81c7aca4f750a7c5e5040041305581e03e3100321d16b0d0fd024f716fc188c6082f96f6dc68d40ed1baa280d500c0447134d48e3109000036185a041c2a0034f32f21298d9d17d7d14202b9aaf4fae83a52c2d14ae84a413031ca4089793f8e00aaa958bfc07ecbd51c84d776de8bed67d96178b380edbd28b03a49d299fedff5f33afd652c9e2e2be41de4fd0209fb1d04e94681d679d5f941805581e03d22451ee4f0691d108795358e0852564c0eab0ba124cfe300756a614400c0147053b9752df00000371ea8c5649e54bdd218a11edc87b29d00cf62e5c6e293b48ccb6c46ec3c9bd86033ccfff053d7f412e46b2c738724113683bcafb45ccce33d96c3e8b97558aaf8f05581e03329cd4472a52ae18c6d93ea9dfdbe43d9386d6edfd3e09423460172d100c02472bdbd2cb5c58000219f7ee03588419190bcd944e3a2edf18738364871b928fbb7f7843d08d1068fd3ece4d79031323455f5c329ea31089eeb172fa60dd023a9750caa1c31a6ca6af36f28f073a03fc60a73350d0df97b7f404e1aa2a07ef92c3d238a0be238a8e4974a896b952c00357a3e550acef3a044b5b6d3e565e9cc6700f486323c92262fcc88857dc837e1f0302201a8e182b4a1d4d3577c8df8f046442069e0ad756eb57af89ebf5a87d80db03a4632b2f1250acfbf6a99ab2162889f0e1035379c6adbd614de97dfc83dae71e0219ffff037d6817ff08a737de60aa597c686ee477d3929bcb7ee51d81281656b1d395131103f16676d9b15ea02525410ef5da32a33adbb57adb46b7e642d8aece22c95ad2ca03d5713b6967608188700ddf3ef9fa5ce669dc914759a48c36be2635c4c8a0b49c0342a980ee1104f05712dbce5d85e960cafbf371f295b8e65b3bef97537787a25a03ab637fec091f4e4a36d111a2f6db4942b00b95acd01b514cb0808786e69db5fd036798ce44ff3cd3bbac47cc665bce64db0e7e090499c55b0955fdcb4ef5b82c6503705a0a6c20f372bb0980f701494146c4ae183d10c8a737bd887d4b22e72709cf0219ffff0219ffff03c36dc45314146f419d1e2ee968d0bb97c5f36a7d47259c732a2c60a5accb773a035657ca5ae9b9ced06882e9226a43c8ecb2501bc94833ee3ee3b394e042adaec503db9dc9017eb7be4771e51063a492673f234346705a53ab666ee7b9b8349ed13703069fc4bbbae6bb08cb09c62fdc7e91cf92cbe4669cc2a0f61a42968ffeba7fa20316232b28f6508c828a68ee14705808151e989e97953ad751e394f3d39ae200d103a3b5cd626ffd4e3799f05457264614189481dac9210a369e99d06eea58cfc136036def205ef8b1f0edb7704a45ab1493799185e52b9e819af996eb15d12c5c52fa039a987f17def182f5e3bd2b372d9faf2ced19f6eac92bfb3578be3a80adefe30b03c73f157fb05a611dc4d481bb9cdb514f0e92311368c93f23c2cb5047ad36a82203ff1158a3e8f9200e104a2ba8c0f19fe6c57c826a147e7d1e1bb51b502812918203a13896d00dda6299e3e22f450babcd44e9d369a8cd7fa7cf44ba65cf9101d8d4035ae4f6a7729c9b5a8756a71d96ffc8ada5ff1df2f60835ab34116173d22ff72403bfd5869e62b2487b484d04fe1db0f53dfbad284ad4994ffa7496baf4961d2ddf03477975804a42a93967fdfbec46893e864b45be51d3715fce4efc6fb23ff4afb70358ca2d25e55f6de3b37f08d17ec6551e49a3b62a6adcdffa84ebbaa3a4051c9e03ee44d248a159fd7c304c02e5ad1d0058c1a6bf3adb88b9da92ec81bfac41f03303c353e890c7eca64174f4c0e4553b7b6795a866fbd9b8ff78f2fa090eeef5c56603673a79d6954432c54c4c57c8e6cdc9392e33ab3d8b9d5deffb0e4ea9a655b48803c3ecbe7828e054a92ffe6e911e01961edec284ec575b2d7ab342c2e281b065eb036147dc6845daa021b248a1c96c0ec763b49a7fdd97d8955416af37c178a9c5b7037fa9bb817bb0a23a11d36d09a2fb2ac0aad44ada68407a22992040b687a69c1a03f96a7779e0a3a286a3b6444a7095fde1958f34c3945d192a1b2a8f393ffb551203d9d53e5909be0d1a4531c7df8eb4afb8f2cebe78041cb7acf6236abb68ad219e03d49b244d4be02e9a9e1d68cafb8d88fd9a2b4a80574f03a733f586fbc36efc9003b819e67ca5a6590c5304a0d694716be2f90fe7233b3d1ba09d2e71a22058bd210313d479ef95c79dcd36c394d91a1611f5dcbd4ad0c9d4bdf8f42e97367da320b4038de25ae568bc0bcd1abf3cf35d6837dcffb7b9b8dc61edb6b5fc024a6e5327280316faaa3dcd7b56a1aa5dde9e6992603ace1fdc4a99c6d38902f3785dbd11575605581e03cc84218555dc9090ddf72ed18d9bed597c246da9d266e70154da422fc00402032b17184fb39182f82b8337167300bc93662e21ca4c70ee9d393295da718cba8a03a8147d5611f3da9fa627fff295edc93a2ab305f4b163ba14845435adcb329e5d05581e038bca33a0ced2aea33332b00aaf689af8342d2429d92196ec7975aa57900401032f41daa7f183241c2859a280484cc1ced8890803df60d2724e56eec6bdac9d8c03a8fc3e673151b1a7baadae1b0c3fd30f33982704a29d13f833c8b433ccfae8f60459066e608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100e757806386d516e8146100ef578063a8b0574e146100f7578063ee82ac5e1461010c57610088565b80630f28c97d1461008d578063252dba42146100ab57806327e86d6e146100cc5780634d2301cc146100d4575b600080fd5b61009561011f565b6040516100a2919061051e565b60405180910390f35b6100be6100b93660046103b6565b610123565b6040516100a292919061052c565b610095610231565b6100956100e2366004610390565b61023a565b610095610247565b61009561024b565b6100ff61024f565b6040516100a2919061050a565b61009561011a3660046103eb565b610253565b4290565b60006060439150825160405190808252806020026020018201604052801561015f57816020015b606081526020019060019003908161014a5790505b50905060005b835181101561022b576000606085838151811061017e57fe5b6020026020010151600001516001600160a01b031686848151811061019f57fe5b6020026020010151602001516040516101b891906104fe565b6000604051808303816000865af19150503d80600081146101f5576040519150601f19603f3d011682016040523d82523d6000602084013e6101fa565b606091505b50915091508161020957600080fd5b8084848151811061021657fe5b60209081029190910101525050600101610165565b50915091565b60001943014090565b6001600160a01b03163190565b4490565b4590565b4190565b4090565b600061026382356105d4565b9392505050565b600082601f83011261027b57600080fd5b813561028e61028982610573565b61054c565b81815260209384019390925082018360005b838110156102cc57813586016102b68882610325565b84525060209283019291909101906001016102a0565b5050505092915050565b600082601f8301126102e757600080fd5b81356102f561028982610594565b9150808252602083016020830185838301111561031157600080fd5b61031c8382846105ee565b50505092915050565b60006040828403121561033757600080fd5b610341604061054c565b9050600061034f8484610257565b825250602082013567ffffffffffffffff81111561036c57600080fd5b610378848285016102d6565b60208301525092915050565b600061026382356105df565b6000602082840312156103a257600080fd5b60006103ae8484610257565b949350505050565b6000602082840312156103c857600080fd5b813567ffffffffffffffff8111156103df57600080fd5b6103ae8482850161026a565b6000602082840312156103fd57600080fd5b60006103ae8484610384565b60006102638383610497565b61041e816105d4565b82525050565b600061042f826105c2565b61043981856105c6565b93508360208202850161044b856105bc565b60005b84811015610482578383038852610466838351610409565b9250610471826105bc565b60209890980197915060010161044e565b50909695505050505050565b61041e816105df565b60006104a2826105c2565b6104ac81856105c6565b93506104bc8185602086016105fa565b6104c58161062a565b9093019392505050565b60006104da826105c2565b6104e481856105cf565b93506104f48185602086016105fa565b9290920192915050565b600061026382846104cf565b602081016105188284610415565b92915050565b60208101610518828461048e565b6040810161053a828561048e565b81810360208301526103ae8184610424565b60405181810167ffffffffffffffff8111828210171561056b57600080fd5b604052919050565b600067ffffffffffffffff82111561058a57600080fd5b5060209081020190565b600067ffffffffffffffff8211156105ab57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610518826105e2565b90565b6001600160a01b031690565b82818337506000910152565b60005b838110156106155781810151838201526020016105fd565b83811115610624576000848401525b50505050565b601f01601f19169056fea265627a7a72305820978cd44d5ce226bebdf172bdf24918753b9e111e3803cb6249d3ca2860b7a47f6c6578706572696d656e74616cf500370605581d021844c60af514b9ab73f80e383bb195d2ba01c83dc3c9ef210761644b070119066e05581d02427352d0d7736ba2d760d029b56adb6e8b84b0237fec921579771ae40c044689969ea9600002188105581e0350dbc388f72cd375bbad9fb746f54a4f0663e1f77eec775cb8a579d5900402034d1e6a7d2a04e087a6569b3f70e26a519c3dc1d993766776cabe6a55b25e92730219fea20366f918fb697ba8e99763d6a393180413d9f7f96ac73dda4525dab4f3c180f3080376be5687603ab68c55dae425ede6f4339cb766f4f2988c2eaf47949bf3b287fb0391c651d99dc1f40ce61d4ea13d5c189c7ebe89002adbe296d44ad3d457f1932f038295de379cd6af28341cf29dac9653859f0bce5d762165a40bbbe145015142dd0219ffff0343d24c0d6633e295644bd54c107ab317d3a85e0731ed33531ad9e99698a5c2a703e77dc382a28974078bd752a94797d91c50dd0f89ddf05ab80e0b20daf64e822d033d4b9f3834fb898f4f012a0cf92565acd1030c8b4c6d2c3d99d13de141c22551034447f82f9778cab94b4ea1484b151b439a49813008531d904fadb9c05a4c50df03ec175abfc13e8c4e625feae099aab10db66e200e3664b4099ef4618e60229987034af24e2b78aa8b346ed9dcf8c79c3059930e0bd3fc5ad975b98d7b9dc549512f03e8134aa02fa889e45780e301631cffe8f68fefc0b45d2070d2fc079caf61e6a50376c9fce58a27608bd0dfcc063b845633267eb47b6aa03c57da9baeed8a76083203dd3034d16840f1c577c2399ae77723ac41848e1c9a6eaa9d9772ecb05ff69db803e60ca2673f5ed05b763282254aedc1d82f126ce3b1baacf7a909db14ae4b9e930219ffff034a0884f24a269819da026b9279a28f9d5942ae210216abb9cf0c4f2e8f7286ed03411953098c3b191f56cbcaf14b6e56d610ec339221d8d6a692eb58b57b512ad403dc1ab16ecd9c0f9c7f981ad8e0ec94b86b62e61c6416b8b35500893e2676911703a03c889b8319db38d77b9c22b22b6e2ae66158cdabfc730c22b81af1e0dfc6ea0360ae41c9bf5a1d0b9984fd8cfe064592ff1e9aeaae460db937b7986d4b646a3d03e0a9fa8c89a47fc115a0108987acf2c6fef2486821c897402eb867c0cee031830219ffff03b58846fdc5a4de9b9de8b649d58e35754f4ba47684d2a586ce7bda7eceea5580030aa6629b07fb371434f87f122b5858869f814ac6e84ba9511f8a06aa26910c9203179ef2dcdbd091fec17792d1382ee30863f47ef6f0ba90cde500c1de82dd85a3034a251ae6f66a67f8b41a3a1cc8a6dc3827716ea7e5a582a76a4ab3174d89f114038ff41f287c6d610d758d418b17e05b4a1fb78f5c7b850a1b4543ff24f01a361803c94135a8315d8330bf97065c678fea9d4ea2494bac6184bacf2161c6ff5a759403823db71e1fd2bae60f3663b189b3a2ec272189609fafe2e06edbe55d853926bc0305a4c9572db42cfbe984fdfd47f70b43c8290ec56fa73d3138d535c04dc68d0b03d91142321c46feea05c1408902cba7154388ea115f47380242eae8471157755a03c80dadf9a78639da47033ca216c9a23a99f3cd508e20824dfc9555cf3a871bd503afca48f091f2756d0af1505491ad7643b561e4ed69d38abd5059da4f4b9bc0e003de3fe85a131e1c6c4d1804d06b7778b26b64e62d4ceaa341de20ba7080ec8e88037f64fdf7fec2fa215eb51c8a0d371c480a7c775915cb4a21b5fadf976c047e1603689860d0cdbd2f55658847a6a914f22e2ea48177222d6512484d4c1226f4905f034e1d93e10e7e3b8e7fc664a21593be49bbfba1c4143b3b041e6761cf453622b603a3abe3e3661193c9dc1302be9416b0b1aa33e3d0491887501013a9a0d0b0abc7039c8d2030a37265c807c1442c07da2c9424ec264f3ad769b01b581f6eaace3a9803b79beec1b79165b640a2180dfc60b4d541169dd8bfd0d55603fcadca14947b7703744d0a7fa615a6afde1f589d115b1700f5dd20f4ca49a8e3643c36f65904a78d03302d6db56c36c346b98118e8809078d797d843b05114d7175bc7c98c42d33045037736ce067e5ab6bef2cc4d3b5b0f8d21e8cca359851a93ab18ca605c835e6def0313f333a8059cd467eccc538a0bc0a61ddbfc73cc0792728d560d848e019cd5250370cbaff7a40be77afddb15114e6d7acb87a1f611adef55fc2f1f64d7e3d60fdb033fe0e8f4fab3b755a6df23a11167fd9cee20fb1e6c614a2da6f2e02d1ab612b0034bd7aee847258f517d6c2ab6780f59eeb2cdc0cc122f23a1b2ff7e33fc2d9e4b03a655b7e0c757b60b0424f3cad014debe8a73c92f94a1edf8db0e7adc1074d043031b65c2776bf46f6b8f30e92c80b34bb4472076196a5ccbc568c1fc333c2f9976030a7ad3e283a60459e6d7e3305cbb914400db5881928e18e3f1cde1ec4d1b128e0350f54849e6f066cd67cea94a538d6628f4e048e86cd124081d5f21ae520c696303b96f2f87c82c73491c419cbb6e5fc1005bf2b6bc9b3c04a11c4a56b8cfaa81f803142223cc41f9ee30b08d8c25b4bfaad17ead5d7e6576784d2246347768c4ce9e03b6f7b45876a0407cb66ce45890be0fe32d0a54842ba7e60dcf19409e498be80a03b7654266e68efce67a8171d0d92f42df154f9ca6bbdcca0c91d4a4df4c18ca500313874cbf5c44d9f9eca7eaf7d2baf1c48c9491d781c57bb078400b28804089e505581e0380829ffdeae6265458ee643e5a3da29275458233e15397455babc9f5500c01470172bb222e38c005581e03be54a563a1e6ef95928f99984b596be306870f1a8013e1f49eecaa41600c0146010a001b87e805581d0267e811ba743eec4bbc36766bea62ea2d0ef85c6703e459b18d321a3c040205581d0293b3cf67f32b899d5713c33fdfde903b37934e5f5b1623d45efd35be0403045908c4608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101c6565b6040516100c39190610701565b60405180910390f35b6100df6100da366004610772565b610258565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f36600461079c565b61026e565b604051601281526020016100c3565b6100df610131366004610772565b61031d565b6100f36101443660046107d8565b6001600160a01b031660009081526020819052604090205490565b6100b6610359565b6100df610175366004610772565b610368565b6100df610188366004610772565b610401565b6100f361019b3660046107fa565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101d59061082d565b80601f01602080910402602001604051908101604052809291908181526020018280546102019061082d565b801561024e5780601f106102235761010080835404028352916020019161024e565b820191906000526020600020905b81548152906001019060200180831161023157829003601f168201915b5050505050905090565b600061026533848461040e565b50600192915050565b600061027b848484610532565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103055760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610312853385840361040e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610265918590610354908690610868565b61040e565b6060600480546101d59061082d565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156103ea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016102fc565b6103f7338585840361040e565b5060019392505050565b6000610265338484610532565b6001600160a01b0383166104705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fc565b6001600160a01b0382166104d15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166105965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fc565b6001600160a01b0382166105f85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fc565b6001600160a01b038316600090815260208190526040902054818110156106705760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102fc565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906106a7908490610868565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106f391815260200190565b60405180910390a350505050565b600060208083528351808285015260005b8181101561072e57858101830151858201604001528201610712565b81811115610740576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461076d57600080fd5b919050565b6000806040838503121561078557600080fd5b61078e83610756565b946020939093013593505050565b6000806000606084860312156107b157600080fd5b6107ba84610756565b92506107c860208501610756565b9150604084013590509250925092565b6000602082840312156107ea57600080fd5b6107f382610756565b9392505050565b6000806040838503121561080d57600080fd5b61081683610756565b915061082460208401610756565b90509250929050565b600181811c9082168061084157607f821691505b6020821081141561086257634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561088957634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220cfdf7962771b464cfb4317bcdc9e6575e9a265eea32707c82bf64d0c77ad8da464736f6c634300080a0033039f815be72fb12bb4fca13d66795b9c9aad0ccd68bfb7404974cd87d569dc66830399695483561217a12ec9f1ef2693ec98c08f653f270977ffe1fca28ba0c4d8a80373e9b78f1b5bb50cdb208f84075b1a8a111cccd4aa6825d501457b408b449bb80300c28b665a238b206c801c199cebb34cc69f9dbe6d1d9bfcc7259b6bdca3a77503057a5b2b33357fce256cb45b694e827c20e399e9693eece8543353a084e4bfc10398469de20e33364b54d3e1a5475ffbd5ab43d13ead1062567a47c95b516a457003d69d7517b20f53a557c164666623565243285341633042319e0f4951a8fa83ba03aec3495774c1189968f3aab58de7eed02751760daf7615d685246a4dcd478d0403b2876206b81af1785787b95ff5349fdab337cb4374215a96c9fc0d9eb60c914303dbcf34701530b40dd4b20ac4adea2a2fb6d1dead9790447501f77eaebe63811703060b2c80006d391c1e8a1841bbe53dea99d99695dab3e981d0396e96e7b593d403768845ac62fe45dc7d1eb94ac755d4be05b0858005b2be2d53765793e49a55e2039dbd75af8a0f10a93209232e9a9375bf637945a8a77b261b3e8dbd1f15203bba030643a485148859199e56f112e6ffb6527883d56f0d1a6e5c38d3f33af543297503c86ea8109d69256e125eee1c929f2efdb9fcc83abfdb9f896baa9f8dcc1fc1d8037146052dca9ab5db9406d9947a7f4b134534f6f7788b7561396129faf90b5d670391f875cefe31849feaac51a210c8ecbd1cbfd325b70462169979a9068440b36803b8a18a3807ccf8810adb1f2d0437bc6cfe399c61416fb1db823563c015bfdd3f0394c91a62d6ee892f25d47eaa3b53c557762aab74fe8f77f873357134b056d0f003b823bc25cd350b1e73c5c59c02b2b99fb2df96f2ac77f04e6f9ef56e03d0482703743fd768bea14202a63f8916cc6a927f4f7c67b47703a092533ba235aa5aea9103eaf64201c5e982cd61eb42774acea918e281cd84e944ccedba12cac5730e1f9403075264038cb0ce919638f7968ec89b5f537b7ea0ad70b1e1077f22eaf90167980142008003e437e02b9259035731436b8deb5bec685f3003811cd649920aef7f15d415fdbc03d8ed28a8abe0000aa64ad775b8b05bccf8ee95023bd68ae9d526b5e09d48e3a8035fe0471695ee0404bb8221c6ba7ca5ec2cfad7c6b34d66661b3ab4df8a4d1f5800581f03896c2df67d8107f46f18e3f2e4c9abb640dc20cd61e1538377083ab74bc05820fffffffffffffffffffffffffffffffffffffffffffffff985bf88e4517844ff00581f037220341a6b5f5b93d90c83a70f620027e6304dc5046785f8537b604147b04810736b503433d92d00581f03d1bd19c45f52f68085848f8ed250f748588888421e427af7f1859b3590f04b0a726091240cd776a7296d033521980aa1cc03a47b497c9a5e7aebb22cccc17574da170974295506c4c933890219480a031b97e8643dfaf06d2bfe48c2757b1bf42ecb39ad6f836f9455da6f865ecad885037a1a455f529a4b0fbe647f91e5bdd1ee64db2076803e60669d1e04033ef0a3bc03f4bc9df0c8aacfbfcc6a737de3b3a404095670c6f1220f1c12e6c66947cfeb290363c68f0c1c032f1ed9a2b7dce28cf442d0f5309d603b12d3553e50460fb24eed03314ad79429b0a13b8e0fe884d26c2d43bce442fca9a84ff595d711e850e7d18103f4827a65a0eeb360db60281677f85e3fcbbb4a79d3a741e2704e02bace13b9cf0219ffff03bfd0b68ec5a7e3c1aa301a6b0d387efdd9f0a618a0f778cb0c614ee7999f34f203643b9e147f41011980dc5880fc8d466dff57cc6b1c19d8f6544fa3c13c85d88903d7bad44ee6acdfa7a43605ee17f764055a61e7350e4c12592c29fe7d65848d2d0378361561475e80aa6f9d3400b5810c5549e067a1449367377d0d671f128be7fa03625069b28d8b5b3b73fa97b5badcc0adfbf872f0c4d9da6d9b2590a36d860b2603a26cad69cc564e3c1a233f9fdec589c59911ba2e8153e5ec09640e328470e468034b230fb5fb954a12027f457b24797cab664076e544ec8bced591465d7c5e86c003ec04fa3d3d94bb4bc7de46b1c42172bfb292e2a23c9b4788e776cc8666c9cc180219ffff034c4811b0881555c2aee10996117494a1e6f2b42b3935fef6b538b1160cb1913a03b1c07becbed91baa872d2ceaba8cc198106ccd11897d1d91a7d3181564a649ec0313b708ce0465d600c15ac50405477d8ef9fb56f0aa0f3a7235ede52c7c60844a039bfc5f1951dcc8ccfa2027612e404eec9f27b455f16a15e795328c181533cf7d03206605895f5a3ccc4e110487b18c03d4a1b281dbe9dcf250fb1e6fa12062b6000219ffff03d39a9322b31b55056026dc51bf73ec4f70a177960088c18284616bfce64597dd035c444e008fb804bb347d16004119b744da483b5c6cf3760d3032ce15399af1ad032ef7d74b339b8896fe40f4a3a868f1ad1992c07f208386cbd6e8dd8d99edbe9403c17725c66f93e9c205ab2d5badf0231d0937961276105893ce5f1b372a2390c40336330875b70c7ddf091b999a8202c2d220668df2b4c41e6c8a39fd3ca7fab0a003d790faae41e8af342dd489cc75b3e7eec67becd32af051da67cf25d227ac89c703cf9cc0d9a54b0f71007f51f891b8597ab0142a3163977cf252f0d9d7345de6ca03a2abeb24906ab7b8570c8b462be0935ad3c56dd101a9cb89ad1fdb7f20e075d303e1d98e5d70c18ce800b649e174ad645ff74ba1fd0377072eebc82e0b4e8ffc9203d26de676c1aa9570720924eb34e275a7be65846e8abd66408a96d46ab4186d8703a38dc21e78bcb0ad93d551075f0b9f3d66f75609e6ec40358085cc50f6f6d3e303f1ff68bafc965a93bb1b30989fd745b40c653ae83372e2c3fb933506b2024b8403cd5e125bf46b413b665225904f05af6e29f1ec1c4e3b3e7d17c8a28d6d9f0b8203b135105e3bc5c4b461525a7832f2bdec15800153e8155d000f8c66e3a310037e033fdf3fb2e9758a9adebe3bc33bc8a1a3bba9ff329d12c6b83292697153276d1d037ff6743d7adf09ea04bc5519f5b9b2f07ce64b0a91692c7f15369c7b29b44ce403173d2fa224f2d7f44a16c6089b88e8faca6b262baabe6d278b7808bf4d18c7d203a7e613bac3a92b0a9f5a92e5cef2b41bd5a26215c7eb7deed9423f7e39d9f3ec03a2cbdf2dc80deb492628278a9d9ee303c66cd8f14699456f07030b19810a061103bbc7b659f70d5d5100a10f6e559c0b34a1f1cf2416822462b6fd5cd14da31f24037f2ec7fdc11e5d43fc2a6025203851a383fd54eda687fb920ec3e4957d7e6fac00581f02d377ffa688bb74783ef84a469d36ce788fa8581ad85845f56bef0f6990165820ffffffffffffffffffffffffffffffffffffffffffffff229b1d55f598afffff0376af9fe81666c2a0c524f4e111698a6bd1d1ba3ef587ee0b653aa8b72a3271f60314f7ef3a114c22ef733cd135fa6df2f71c53fd2fab36a1e8a78c160a5796a375038f1942cde57efd4faa37641aa7f76e6606e5a9f99f3fdafe0ad400d24e4d8e7a039d45332e0bd3f6a46c7b89166164503de27342570326fe4527f5f35bc4c16343037863f5094eda14fb194fbdcc06ab017a5e592b00b9348b22780f72f2d8fc5fa4038da7f27499913fbde88f9083ae5bd384d1bf1e74e7a2d3ae238844c22143de1300581f03fd17973307f5dc70c5713a98f28c921a650c84bc7d46dbe35468e81e2cd049022b1c8c1227a0000003d49c4f2cd6e95234346e5a469ce226ad8f03147d30452fcc8e495f7cda644a6a00581f03e6f0669e68d9f97b2a3f7fd1a491271b751dfb7852c0b23ce6726f9751a048364f1fd02274f80000581f03288ad99215eb6ea4c6507f9ac35509e6a6dfd7cf28eba340aef06d3457705820ffffffffffffffffffffffffffffffffffffffffffffff8ea84f65eff975ffff00581f032f0551dbd84d6ff42a2773e566ee1083813f367b5c38d77d8f1074b3179044a80a37d802196620036149db7649b103ede597ca1aec3bbb283518f55bc31e474fac79fb222054485103270f64451e1a9fcfd88517950ace53c9220495001ed302fed3d8f67df1f8c0720308d19c0ba3ad84fad80e6a42dc2022a593bf0bd7b4a2fe4ec8a6f2417edb97b20396a15f686e7c240aeb3b8ef130f38256b2a72d1ed7fd3eb047d6fd23990ba97f0356a4f834dbda8c9fa95b593d0acb9b45b0d0e96823dd124abbc33ce7be15c19c03474a5ae8eafea514d6994f1e5882329966bb233ba91858d95244ed72fabc409a03943ae4ebf07c053dfc07c7547810ad3b8e7e0627f874c60698e8d0e64b39576c0219ffff03f0b78faecb5b897cee84e4237ff80c1439ff43228c6a71acd2054441f81c607003753ce2e54737b5fcffac2bf70b84fc8519da234956d08afefd0a6871f123f2bf039bce402fb577e77b5ab169b2c54c284af3992f529f04966682f3be546015c9e80219ffff036c17f2819b52b618552451b434e37d4f6745570aa2766703258fcd8389771dc503dae663c56eee5915c742d0220e3ce6b6ec34c81927e29822d4fdc5f3408191cd036c7347140e2fc30c7561a2ffcc9cef6bea7b47db21abc7be009bd3e534eac14e034a6ed8bbf378b2312081f27f7e63418544a169ae78282bd96d315c4603666c8d03873b17cc8f3cc6c8af40347c2f30b71d0c7eb70a5686191f84cab672b0e634bf036321118b7d00ace381e4c4d30556d47929fd31c006aeb015771fe9a65b0f7a5803815bf49b06afc338d3c00177f984a238336e6108944ff8744149a65ad7c60e820219ffff0373892d4ccce366b17482746d76ca5419351164cffa6ccea639b972847a3a80af03bbd23d3839964a6eeb778b7aff138eefd9bb3524c15f54f244550c2cdd838d25037ee917e6b1d68c4ca169cc668e2e3e002d7c1cb70ebccf65687b7e0684c89f220379369f537986520cea2f695161bee79d8113a887eb33a3c15bd5a62b7571da8503ab2cd310927c517ee787cc3eefb92f87edf146fe6ecde19c40ef2fc848cb60ad031c4accf806a29dcfa1879dacee56e8acf10a10925cb7f40e11e5877fe133fcc903da8c97c0644245d3ef034f57615aa9b603f8d822b28fb4da7a48e597897bf18a036fdf7a864fe08789882245d892e801d9fcc161c1957359d3b82b6fd661f41c46039fd3ccda54f1e130d476e9d113b809a95ffb9165b4d325eb8e371d13e843a81c03e63d9fe1be9a02953c320da6ce75a4c2625933bc601d3561485b2b69271368120367828386a1181bd9ea85215c220c38b064432507bb914ca552b36761732b7688033d6536c09670a95b5abfbd8d24472a4f9718ef0c0b463d57ba3b5c82b457a44a030fe358e21cf67871000fb2667a6607d407443d3e7cc3a3901d524b9100e57b9e03b0ae7bb4ca5cf088b2e9ae89069d631a508efc3bb50ecad185d19199f31def450219ffff05581d02bd0bf74c1dacfd68e8c8b97177d07d52362a09807ff09d911f34f0a707011908c4021980480219286f034ebf8dd698ad62e36711e0647ca580ad58a58030bba724dc8108ea6e557b38770219ffff03944e01df1eeed880564eb299f1d77c4214c2c3f2b1a90d06ae1c5c0c168b5af7033ccae6264d21c797e45f51bb58e988c6f143ebc73dbb3d3e4a8413132b347cca038792d3d42bcfb17c8e2fe74614e21ffcd9f4d8101f916cc70304441a2969207b03b7280e29bb8ad7d4d7ac29bfcee5172457c95adea1c543c62a5199a6a6387be703b1d94cd4e9828b9aa161100e26883b11df168c1cdf157a9739eb1c17a420cdb403b283f5353c631d0f5afc3ed4231452619e86398327ed65447e1f520d38e2b08403989433ef0dd91e190457f9e164d7ad07ffa70eedc494447011a5cd016e236898038fd0b02b0238762dc85ae3d50fc9d24e69d22d87ee5a90cd73050ba5c74996450381b3c57627088f74cd9285cb399d6942db5955f7137f90f60fb0a7e52f78fa6a0219ffff039d5131506eb5d198b72c7fcefe6d3b480cde2124d77d7f05b742325e3231f4530358c5f6ff1efd072310cee2a6a0fcc064c2788e71faaa61650e12428327d1f41303265a3d7d88342d76533214da38b1930973bd75d0dcb7dbb524149dcee0d5d950032e48630c69730eacc7c0347e53eef36a75d5b091a29ea8fe393f61fe070e2ea2035f3c0a89aa1f80be83ce022722413c9f0816c1bce5002072cb0ab9f41074aaaf0303acfa7035d33c388642fa72fabc36e71f865b27cd8f29d5aa3da0e0fe04c79e0372052f462cfbe7ceb9cc2d1c8116116176d8c1f376a2ef0fb255044292c2016503864790248f2ed5f6b523f6757a6cfe624ebf0c91b3ca8812731b344d9d9f038303324b1e9494e9215d5a131c7d83ea9caa7eac33fbaa212806b6bd4ca2e340ed81030c8339cd3f0344480c22fb091eb9428d4756b865137baeed8d55e7287f70b1dc03ef585369f8e88567a9b04bb9ce6060e7ab9d8095afee80643f2fb41eddb99f030340dba9f15c1c97f478e5c7bd8728edc52b9ad0d8d42d1b08a8fce38235ec33ab0361feeeff2127e7ddfbf6bb0cc635ff739f3fba4411c06ef355466e34ab2bdb0c0350514c8096107e00ba16e4fb70950f1595728835aeafb64c23b3ea3305014a8a05581e03c5b339e7d545810997cfda1573a1cb2b4116cc727e37b9a2ca56ed8010040305581e03944d36bb3253addfd2881675a61efc9253c693d9fa6e8cc29e6e8c3ca008470ba2b6a03e440005581d02a7e36451f7d543422afb85086e75141a57d3357ab667a5b6065557560c09471a8ee061f220c905581d0252d0f438b8fd308852fd0d3d8f1122292e6d99bf67e225cc155f80dd0c0147038ad1c73662320219880005581e03d4a156b175659053c0e714114bb12392e9c7ca8ddd09d7001a0ba9c5b00401035cf8309708e928e964587cc4b538a5347273b8f11b011d2813ca909ed7e142fa03f0311eaa8bc6e5c55d9886dc99746c8a0c8a057f20a7084edd9a23b8bf25319a03c483fbde96fca198986f73ffe2b63d061aff2197d788eb2756e1c147f1f8f6dc03ea5498f6520e566c5866fd75db7de522cb52ff050430164036d3cb59482a46df0605581e03e8433c7a730d1282be2280d4386bca47d39b5cffcc326d6ebac32fa2d007011bffffffffffffffff05581e030b025d8a6be3e8a8d8a9fa37e4b65718dcc5d1c636716e2821c4c5e0c00c0147024eb2a589d4bb0332db1cce7a48b34d745a73bbc4b9fcf02cf186f49735677b519d30a99aa5ff5705581e03b9423f11bccd5ebb98b6d96a4090c0c946364c1b5fd935ac95f85b9b400c0447e9257fb4eba80005581e03752591895e722e42e10d65f66542030383070792f7e08ba25812586ca00c186f4703b8ca67524eaf0219bf9e03f94aeb599ac92597f348dfc5b525cbde5dba0691d95b09e56586dbfd15c039d0034d36e983988569257d0467e0eea27d87daff17754ac6583d7c3ea4517ae9d1190376186ab31b6bc16474b1bfe954549e6dd91e854678b8c857d19217bda5b72d8503f6292e3ddb7d7827957d9b4511c3f23e826c4ddf5c0d46f806d72b006410a2ee039e82d406564c11770284027749f494ff42fe365bd7895565f5f54b3db2e874b903d5b6abe7ea6875d290050bbdd5b8a9dcfe6a5210d5d8c9b540b569b7374aaa4f03b2635a1c169c92d4731c40e45b0122dfb615707fd1809a425b187fba6c2a358d03fee4f89c3492a14221b591bf803d4f5dbc3664d62805635b41ba68305d527f2e0354f989af1d6c975d3391faa155413ce35a01f6e51b6a85365231d2ca1e62790403f30971583a9707695910f8d786e3d4ebf7bb905411b5bb329bf71d7aab90940d036ab22be91552873d7196d0fa775fda3c922bfe2bc952dcd5bcf4f06b7d7989100325cbe8dbbdd85169a33ccdf15beb7ba1bb4446d85d0911fe80fb3cbbabe1e7a20219ffff0302f08c41a1f34de350232488021720ec2882d6318450c849ddf0c1f915cef4710370245a423225af4c82e7f5e14c2deef48699d93e28e7650df3754807123c13bc03ce78c69b741a2381b37bbbd3694e2a33d2fdfb0015069371c6fa78f8ede573eb0379c955fafb50130981b83efbdef60cf38a6b68e7c8511e56a13503f749d290f90314ad0209399627e141592d6481811e01a5b7a88e992f704aa54e238baf36fe2e037077b13e2928a692544636f5dc3aa21c3555838318a384951106565e99ec07c2032a25390cbf2d1e20f2a255fa29b3e43a68db50509320166985946e8cc7cf8b7a0219ffff03f212868d2649d384375d090665276411d3d66e8ad14a6e1d52daaef991f05b9f03995231ddcd98c61c83ad6e3b1741c9b7f8180487e30c9aba1b4bfb190a5dd5ea03a45ac1c4770fc22b172dbe24332154f17208b1e15e875589715d930efc621abd039777a389f330f0c534b41b27fb777bf0b43ac1d316cceec23dcee3ed8f2d5a7603ad23125285a816bb1b2f222843e264e33d34133e997dee994216c3d6274599cb03ee5d83ada635f00fc6dc5a0f2034f9a96ed4f027e2131c91b5fecad6970f8cbe03aab8cd3b283faadc1df3828e7f75870ff2b5fb0b15634ffd420dce8507abc587036b52f43d92078e6a669f74020068f9d6194f3f663b4d1a9be377ecd0e7f62ac403d3b34ff3c0ca806deccbb56d33b50cb3ca7bd17dc03d4d1a6ca6a11cd2cabf9d03e0348614f0ec5502f5797780ebd6d66ec295fdc29d239a44c2574b83f52a8d1a0219ffff03bed8ee7699b581487d3fcddf5eacd3b00dffc07294d889237b4cdffd346cb4ee0361a7ed4403bae92a5179da74138a0e4556ff79ae62e9c775174c1de902ad39a003d8544b8434b6f14b03d164ba06fedc72bed2390f02a7a1787c3ce5adb74169430219ffff03d7b72666f6184de6e701f4253482b6f5cab9a35e4fc2929872d2bc6a37a809920352b17ad284b4fc6349fa1e63e2e85547d8c3e841d0d92627cc255359e06d5277030ed1644265a18df6678deed281eaea60894910e7a3ab20115d532c125be886e3038c63eb75ffa477e1f27342fa6e57100c07c6486c7eaeb0a70384c4097d6ef95a03351cc8a1cb32fed37e40018421d6817f87d2963166a6b62e13c1eb9b746dc22903a30cb931dd4a47d1930b22952d420d66921be492793148cc73ff8a866299ac96037c1868e4209d28bbee1516c8615a4208be4af092ac34e4ae94c26addcaa325a20304dc7bfdcd211d68be0b5ec7f002fd4e7ef29affde9e90e532da745e070214790358e9a098e6a2e10ad23cd86358cf8384ba96328bb11d5a3eadec43b6aa30a0cf038d7569d9e45acb32af6b095c105e0ed140d007b4fcaa8f15d73e0efee2a9974d03473ebf8691bc767468e02186ff795daed912b9bcfec22d16fd17afc6701d67e603bda3009d77b3803baca6c306a65dd773d35c5164a2741cdcddc4e7e0d9687f1b031f5b4838f3527c7dd2db906f1fb54c0a286de769ac90252414fb730bc677a4a703348b1c368cfdc89cf6a812c7682573976efdf63729a6ec3391dce414ad9b63bc036a3f64722f5155042831c6b28ef87abb910c2919d261d1d137b3369a662eaaf203805073acbdb8e1adb0eb6513f462afc94e9a7e11c1cc020a2be60b85dc410b2803092960c374d7515a9a5dad20da3d6af419fb8cc2fe75ef1986d30207e4f5e34f032c1be0afd96013b255f93bf8d83be056098fc6a45a2be109f9947aef0390c9b7036b08328d73c033f17332fd4bf71b1a80cc933a0366c414646890265fc67ad5a203f5e745797d4a5e4893df1401431513bb0c7d66d5cb42dcdae50abec2f13f40bc034eb5f605d688a29b85a848e432d2ab05fff27c4c7011220920599fe957ab93710327273ffeea83318583d99466cca5cb19c6ccb2f015cf4d68759a25536624e44a03eb1e6b6871af708a509e03eabafebd9a4e2347d797046d8a55abcd6b7f2d3a3e03a9efc6c4863793700ad87b650c4ec2d62e45b301ec30c6fc31630854ee42681403e1bc98237b5cb3c328494aa86b3178333ad386737620014f988a4840d8ff57de05581e03cd86f2c65b5a5948966f268c46173d4e8d415fe6491da04c7d3bf1d9300c024703535c385c946005581e037f65e06b857a9e5a6aaf2d022537032bf75dc603ee771cbf611b16e6700c02471ed1a97261a6000358137a9bce40f0af8e6f0ba1222b41d8633404da8ffe0c480d92792f8fb36b2d030925575f0affbc474171fb97b8e45b04848fc6d6735b26059415dcd2420cdce605581e03cf1d59c3177cde21bd1c6da7c845d647ea5241ee4b53e7853e19c4eca00c06470633f58b64f885035c742c8321dcf075939b089c564462544373008f25188091d8796317ed12616603905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03041ea0b51217eabfb8b3a3e866c539cd8904fe9efa820184cec55ce86007011bffffffffffffffff03f38ae9682d761bebadff3bdab26ba64ddfc83735c52d20dc537d8417fdfd34920314175e181a64a2ecf67dfc3b489e00389c61b87ca3e46e4ff21fa8ec67ba4f5b03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba038d6b42108d5eace0f0fad414c43ce1101c9dbe5ececb00669d2b7573624b6d3605581d027e97ae73963a3f5c7eed1eb48d70dd57d7c65dcee104b7d0f33098b307011bffffffffffffffff03a7fc6f50bf45ef8f76febcf3cbed454234726622329015866106103cef28d63f036893dce8162bf5f610f8bb8faf1a2fb54cb66bb875d54494f5adf2a0b6dc041b05581d02ce882e41d748156dd3af4213e9daa11caff3d8650d12d257a740fa7107011bffffffffffffffff0459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d381565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d38d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d38b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d3908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d39087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000007baece5d47f1bc5e1953fbe0e9931d54dab6d8101614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d31693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a032495c7a3e90d55ba4a6b5e67ed3d19590c3191408fff17beb41ee981c4ffd38b031cea3222eb6f43f8221c29c7299a3b9579efa63e4121a5fd39fcd6e95f58287a03aeb1734215303dc6c52516df00880588690aa8ea51938567238ac1bcf14f773d032e9736b59a247fcc9736d9c253b9daadf8af37f1de4861de14bce0fb4988229103a733388b982dbb6d5e38c1f385bc8b4a9852e556d86aaa2c970d482ff2df95a703fc6ee5a763fd491621c105c0285e8909da0273c66e731598225aab5fb3c7c43903c4c8e2adc3fd549176fae1a016c948ce8692b4b7c0359ac57a1f7b3bd8892af5030d587bf7a906e6f2e39788fc5e329e40a6495b87b322837d41b6ee0569391e8503c0de84ee19fa0724713e757314a934e0570922c46d74e655c5ad3bd3393c12100378c6ccc7c4643e7a68a10e7bc03d37ee6728960414e8938d850289e8bf757a1d03eb0017b5321a9834a35bae33bd29f2b296cc5dedeafd063440543266de1d788d00581f029a8a40049b9979763dbce30e39d98f8419a43e17c7743efafcf0b87da29a4e0411aab44b1c4715f35950c1414100581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100000100010000fde775000000000000000000443c35d680c6652afa534e0219240000582003c26ea2b9f38c37d7b8453264509f19a49eaa0a0c2222206dff835acecb01a04f045a48caa66f4293aa391994e6eb8300582003ebacf2173dc502f32fbb6f303f9bb114543ee8a2755b56824a72b47f6c88404f020e32c5ec92fa889952d2d800941a00582003f793f50a616b47dd1e3450dc7973bc6b0437e143be3eeca5a0d494103f8da05820fffffffffffffffffffffffffffffffffffe75de3674e1f290ea1e5a250710710058200308416b750504332a6a616d444bd69a16215f6bb70bdf8dae4b48a7215ce3d051387230210aadec40818ba93faffd3fceeb005820030bc233ae485ed11f8430f2b223217a709f776d1936eee9625cc8f582941bc052013201e24354406156d07802365da1c7d7460393483ffd2b29526c26dcd5666f388fca43dc672f6929412967647d3d0e14045a0058200396343ded56e56c2f74fa36be2614409955f696b088ba51dc0e4f82626774004f02e02cba9c2c0b3faad7d008efc25603915baad41d62e6af24e401515ff720d30d557201cf03d0ecb369723172ede4e10219b0f903c18b3b445e05ffeddf494c8f5edac9cc5f7ec1c87025f746d254f0f1bcb9ec81034274345e699bd6225d7fed9db166ee783ed0b013c84c04420c919d21c7990e1103b718cf9a5dc57495df860799defe24446f9d1165a302e1ad9f7d3b13b46116380311264b4e10d7393f2016e5c3f13860685a0785952f436f5a56c6e08971c3c38403da7c1aa39ce4acb154ad3864799b7ce6896bd298806fc10f54be7e0dbd3bacd6030832ac4040a8b8c1dc056f6e94eb95950eb659d1bc2fd33e377c637f782791ae0219ffff030a16722576a05b939f2d55467adf2c5853b542599e596889d531a45f016875d700582003588c02621259032f71c1fa9295f85be3fc836091a9ef6c67385b63888908f05820ffffffffffffffffffffffffffffffffffffd58895b0f628bef778f2959c70f10357fc44b0241b33700b3bc73f3d465ba651484e5fcbef4fcb4ca880f31533843b005820039a85364c49aa6ae4239a37dd440829b861810011286df8a6fa05e1690728805148fafbfe08ee2d377ec36fabebb7daa10100581f027fb35238e4fca5a02b3e3770ae6068e2a007ec88ad65c246ccd085a7045052028030a9541a8e4174593152106ba9e1339d00581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4f499c6f6fd325834708b5e748555e9400581f02eb4e931c3dd1438f6be6226d9c0bb78645a0a1c789d5adb6f7e1d714aec85820fffffffffffffffffffffffffffffff949622824d65bce83a7d49ab106114f58021901840359198a49b9cba558920cb21e0e69761ddecb52a2296696a9260480308ff7b956035af7a5bfdb745e0ede68812628f2ea9249a98da599f51e8dd3a284d77a331ebf0058200379f0b435b4d527af59fb4494e85fcf1939f972b10c2f42d97de8dc37b749904e31b3bc0d13ae58134c9d65b5ec53033c8f10ac148a3d48f56d33eca16ad146b557217319603d00e5c5b8e7eded4c7a00582003905bbc430a9ae9af20c5413f6901279f8d2a59335a54ad6b53dda058ad48f05820ffffffffffffffffffffffffffffffd1ce4888eade7ff33681a201414737a76303a90394daad37f11f4d0266d5292a74f1202a43e1a99e687a7758b3fbee0afadb005820034873d338835f4c0bb8dadea61a7267ad875061013d44500a0f2f2a20498fb05820fffffffffffffffffffffffffffffffffffffe21f11d3bfac44106c137c0069d005820036cc609c0f9a245633d2b1462a8c12f9d2a73f0f779efacc187e0db14e25ed04e79956797073b1618d73f0aafe8230219bfb3032fd2a38837a0ce09575c18ea46388109834c947dee972d0e492d375e94251d2d03c72ef71d2cfa0ff30656b4367d288385e05e2c52ddedfd3ada7ba573aefd6043039265144b4b435ddeb0feb6134a7dc9db7bb9e382fb0c7dd60d44f4bb3abc65e703cf28a65e0bc138bcfbbec4d4b0d6a469bdd0fcb31c7911564d30cf6b0edcc7fa03eaa499a4d21b5659b743881426e286f5cd6b8b888d340d95350fe73a0ac63723035a93782741604e6e8af317b010d287af70b4d00258aabf658ea1e2db7a18225803de6e0291051761ba9340b04dd48c3748924e003714febe00150484db6f56f73a033c6052520a972c3989ca2495a5a17c4564874ae6eaf012472632938d23acddc303e837de3fb8b07bf9c68672c5d961562c7fe60835a6bd3a16b2cc09c4dc67591103c5eb71df54f8031c9e5bc7913ee285909c81b8810bdc5563d00a244474a8912303c6708db123377b683eec2a733da469eef9e493fd7bf5fca30749b7711c524f2903e49895f4e836905edc46fdfdbcdc6c4f578fb25cd9d787b525b915e8acf6d9f9039935c85ae454dd144302d1f42198e7a15dcfcb8ec802eb504c09e817d89118690058200394f488d87b5b1ab376cdd594d637fe0bbe756076e307fc45d74694663adec051abfbcd4f0171b718bd9df5be442ee5199600582003be65fadd4689326832d943fa63486a5ab82f648bd4312acd76f3f56327d08051010000000000000000000000000000000003da29bbc091d1d3bd20c88dcbdedd3122edfed5feb7ed51380f99b68a138425320058200391f2850e46427bdba02dbaad6fd0672221bb7b98b4f7a9819895d3add553404f01623bc6a2218830ba996b56721307035567af75993e9b6cd430605e9eaa0b3dc3611d31c05c646c43e3d1b66e42069d00582003c3be794072b2645820bb7a9cddf05f221f0c923e3b444ec3e7ae7204c34e005820ffffffffffffffffffffffffffffffdcf137efbb208e610804cbb00658dbc8a600582003296537cdc1eece9e5ce3d206906abf28b75a048a9ba877d74be94c6e751e6051029ef0c192b98ef1bcd59559274dcbf60300581f024d4c67c16ad0d73f64c1032b0495cae380d50e6b91bcd24b9b74fbec19284f192d23161c95a754c7294b9eb41f5800581f02e1e06859b73e49492b3c27b75514574e4c70ac611a048f5a5ad300286291581d0800008001000000007d1f84fa7d53d6ff6bdfecc546400028c201409803e331178b30abc42bf8791965f259a8dda62227d82e1d70462ec30653940e2fd50219020c02194dfd036896a9843fb4e30957db913e55f43fb36ce2283fb486a54837492b3deba75222036e4e67b9d6bde3c8827b819d21cd971238b4bc7b9da7db69053e2a70656c1461032b4773fa2a9ada6b18604769ec41027189d05331c5cde0fd536a91f92e009cf5034a6519b26525d9b3ecd45588735053ea11c1fc647460d90537a328b6d1323aa50219ffff03f03495a3734697548277c49aeabea717672e6fdbaa5fd3195195a4ed67e2427b03a4711462ba34a41f1400ea7e7d0b26b0878ff45cee8f9da48996e81b2fe9bbdb039d7b18a3a6965bc947a5258b5ce77f5e900144509ce6896639524862953c45e4036327c6b7e32cab7f5a531c7d1175dd1520580205590ffd500946f6a82112a1710376e3430f69bc8f9688e2d00478d2e8c2629e8aa887a74d2a99265d141895d6a703dcc00a1de3ff5cd8c69e435de5513cf46ff8a4c86320e933a11304a7b33807aa03eb7940f2befc6e52fff2b47ddb57994b1395fcce6e641f7a3a33a1e4b5e846dd03c7a5a4ce8c29876ad84c6f7bb8cde73e005139b923b9f85147f0c1097d873bc40381d50577c527a50dac96dfd9bdb0d658b46a91b92e81048f68261df7f423162d0358d612d27a23b51c3ea25d6171f8ce6b92f5d434304758396c2dfdfdc5d62765037adcb1f323c330196052a2e3a98e20822713e854d3b84a4bb936bd703602934e0386bb1d6b0eef52937d9cda04aa363501d2718d1f810999e636a46d9bc0c61ed003da39f4f06113974cbe3dc623ea69b3e184eac20ca7f26655c8f4a1cead1bed1b03a9bc1dc1dd2c54f5aad3a0e514c1107456992c07718038b5a706d0a7a4efb32f00582003d2b63f797f7698240f8f3a663e814509857d033a6e2062b7571916ff6836d05820fffffffffffffffffffffffffffffffa5842808cfeb50db6b549c5d70612513e03a04a58f96baf68186ee0c3561cf6cae55ec822b174cf7b9c8b10dbd8e02f8e2400581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4a64357a6b517b4d8540d000581f02b7ad0d20342c1cd42373599767c32c150e05f4bcf7fcbae5f8249d2feaf3510c0282bdad10061182ac46fd20e77c29dd00581f02e2d8761314c16566420b05774e87ba930730907ed29e4c68c06809ce9f944e068f9342a2b470a4a21208a96bfd021908a000582003d664e860226f47b6492d9793b2437b4ad9b987ab41018d5fa62ab8560fbd2051690c4dd9d6eeebb37bb2b51225e5fd909a00582003b1ab3f708d4d1e9a309be7c08e29a46cb333d2dcd23079b1088891cb23a7f04f0a42350af4f3cf7eb6a6083016eebe033affe4a9391d6cbef8053b61ed171238a3b8795400556ed829abfdaaec845bc703e132993a246c4b5941225f32ff0c0b788093bd16fedc93fd7d7d5b2e44093ca1038cefe492ddf46eaa4eb5072dd2635f578e410adfa8619eb8ea6e9b59b88b3e720313a472c231a69149a7305a80e97726fa0df26e82e9a10b22c4f0e83a5b979d8300582003f34d2166ab95afbfa3c86cc4f39e7fcbc0da14f0a115b301bddc202d80d2a04f0538a96c439bd4805e3d22a0b96eef00582003b91fdde260b7a3fdd006a298fbeddb5b2ec279c9258c23406604a830c09a204f0ac7e4b4bf9bbf5b75f7fbcf60a7aa0369012e89e46057c2e4902facf9b1b96a4bdc0b19212b29916aa9c0f1cde5e5e302193f7f03bfaa2840292d459f02e2a01253d2e76787abc4a070c4daf82c2cae5c3a0a9f2003c8e6a6aeff33dd0d0c0dfdb3a82e46b9747030ec4f74120bd5730aa93854a86903362b87b762512defa28b4b2f524e1db1df8ad88514d363470f20860e2b3388d403aead1143537535be323d2f5eca51ad8010f07e01fd9f011e36e013e46c664aba039761ac04437be7685130864c13e984dab31f70e92116abfe9eade127cb7eb9fc0219ffff034648043c17249d10971e051d6e0ff9935ef76072db1d7ab4c88698cf0a21e4c3032d560eb82dde6cb0f4145c11e23ea34bb03a1b8c237578762f5782d171acb56603c6f6bf29d3301445a925fc6e281fc074bc2f3b9c0f875dfe9f3a708b837f587303c474a38c62f63de64e9a0258d852fe3cd5d8713d6db2e57bb086cfee38cc64bc031286155fc38506161beb1891e25e8689fbf604105f5ceeca3bd8b1ce3769baed030bc78b82dd9baaa438fae0b25c724d19f1fa749ab615c55284bd3b1a9dde094e0303604a552edc995e0e4a2b3fae5c9cec2042ba4c2276b28be1a5fe624ee692900323462f2d95c4c16201d20086e9afd09f1bc8778bc4aae3ced1d8625551989c0d03b2e717a4334a20ea7d28e7c55aaebb5fa31a18a7263194a99f0c6674a3ee37ad00582003779731b847f79d20b0e5221f0debeb4c279e6fffa687da0c9889fccf64fbc05820fffffffffffffffffffffffffffffffffffff7a4c346ceb9d4812bd7b84fbfd60058200379d6c0c5f520c4c9f0bb15a6153166fdaf0401a7c05a4329c6b86d85be5df0510c2c07282741d4fb17f9e92cf96819d33c0312739cbf22da6926b71fd0e1768e646b723f935c8f28f7440621d6dc5dc21379035a3fd65eb32655ca820a92690de23457227d477d4f5687f3e677e9d527d387e4030c1a70771c74012d3eed64a800fa7d25effd44cde8878e6b14f84e0aec0df10b005820030a22913afa49fc7d5fddbff6db17d961b44308dd69a2667028c413daca51405820ffffffffffffffffffffffffffffffc63ef02df54d1834594fed428a2cb9f9ab0325749c8ab06145e976c81490f770a8af9243a68b5c0623aadabd5535ebaec9ff03c49ad100b2f2becfebdb43e2d6d4268821039f99079c19b508eef18b97022dd203e4c76b31252777eb504c196e3993f8d40b3de747fa8b16eeec585173d7b8ddc503c3340dc7bd6518c2e04ecc340c912c113757289d47d6de389396e16035ba342100581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820010000000000000000000006883b83f47b5022aac3fffaae7a5699c86687dae700581f02f96c5ef6128d6bc6733a57f890a22e693ba37aecc241eb9c6c1b536748a352013833f8e7d8a3380f44a179e20c3bd462aa00581f020fd9c3e6bd3d9c8ac680f589f52153cc1b9cef0eef5004ee6c2c3471cc7a510c68f4cc4e0c48976f377e7323a34d8103021941800219fb1d03deb7b9504f5912f883689be0a7bf12e39a52644315edd72ffd0dbba6c1646426032cc7529be5eb7e2fcc69d16c9686a5f0d6851eeeb13776fe60e2da32972420f303bace6d1db8d51935fdbb7702ec32a8806a1d9b459a6b03e9e870f10316ae980a03b71e203f26187a392efc3a5c06def6d435508a6d8999ebd5e9d7788b4f8d934e0365830c82dac42e38b513786cfefa888ae813610f2bba688f06011a2ca8a7430e039e5e5caf51a3bd0f1093808669351dcbfbd64345568bd799cb0195467f7b15710380785655eeea4ac59fb2468b8987994cc08bf744a191fadf0cef5cf27769418d0369a9df15e7ce614fe34a179b76fbc9238119a9f695e97e4c97805246177525eb034b66a04c88e529aed60225f653307a7da62009eb839c3fa4677823ea616b3a4303b57bb4d747e21ea1bffe66262567fd81647738cdac6a3772454f55ca6b55234d03ebe0ebe9a08418b9a4a02a6190b803261e14aa522d80bd43ae28c30099b6ff4503db39780d863a719830b16a0e203789df3d0a1f079a7d6114eb22f78a4ea9fe640219ffff0219ffff05581d02bf0640dbc2e49e29924895bcc350725deba91f0ca1f9348557e3266e070119567e034bef21f9e794f490c6b32ebdca539e7c6304b241f4632adc77f1ce60063458ec0605581d02ba4948e686553f60c7813d3125adc0fb5e6a00cf1c28de4c3bf3475a07011bffffffffffffffff0218c502194efb03c1e171c2284ec104c0a03e7745e89c37ecabe066eed9d618cca05af36adf371e0219ffff0310e5b86eb3a4d9f30bec47ecbd7bac59d84fadc7297d7a52d4745ed34dbc644b03016f0f53f2ea985c452ef0ad7c201297e97c381666444ba110fb956b949d5e6d0381b5fa985da45a3d4ab2d6acf60068c546d8e2c3b4efaeb48b6e2224b1bbbad6039cec4dde3fc62e0ef3a81e1f2ec84c574a4147a44c7f95d8f02aaf4d8b25a04403ec7f226b2236250efff4be0290f4a80131e42bd73691f3f3fcaf2f920658aae0035aed4ba831d0d454c9faed8f056ae731aa20078ac323d22024ff26efdcdf5c3903dba414bf2efa001e85f27fd4a1986151ccb2d5e8dd22d569318850af0aee22220359a8a81c5bc32a08622d57393dcf3dbc529f377e102bc156d4eb4cdc7ee82cbf038e2cbd6420fe4068eb643c95842b0407a14a5384d83c8300452aa24708621da303fd8d46034d70361f2653b0230b261ccf2b43ea0be227503073e76b1578d3c2c103991dbec8cbfe697b23e411578c540a52690792f51ab0a3de16f580b9e373b7ca0346f13b9b8ffc9ccc2f702134b6d6cd270e0e83c082e8417fbdf8ea30c06a79c603f94392fd4c4d7e3229dcbf45c97f60c74434f6eaf2c26f3c1f7f2e94450797640219ffff03e66f62645da021aedbd4005741187e72122e786b77560586506fafb6f82e0c78038db8626d1a71fbcbe8ccbe06750d3425855eb1b6a557c86fecd59d0d6eb93a86033968448070c525605c64eea355f665d9d44b96b4f819f38bc43698180e56c70c03da3f7f6c32c659b86ff34155ce896d302adbbf326b790183cb516921f4640dbe030a25288f4b3fcea0ff10d641aa74df5cb3945012b81e18d03ab9689ce8f5b9f7031bf25f61265581825e179533889ebc85a2007de2ea57d37441dced3fe3d6d9c2030b468e210938052e4d48c33af4ace633aca5fc296139e5bdb3b5db550481c69e0330909d4b83b2a381c32af6671b7ee64f80e784c98ab77bc93374ef5bd04746ac03cb816ad373acd56d64ce52a3d4f6dc2c7b9c694b9eb9d972310374230d6600890219ffff0327f0c634227f8385a0c8bcbf91a7166feb5dad349f430f0f018a20d9b33239ac034add91c0b8951d6a9442428308abcda6150d59d988f821923789a642380fa04103d30cfaade85321bdaa3434f40620fb4ad0eed9c54a412c1c570ce4f594c5f023036a8682c1f481dfb51688ef0bbc01c0a3ce0b5d08bf7aa458fe8247b4561d9f50033d210ede23a9938acb2b56fa403113389157ab330f44a7a2e285f538b23424af03976daae55205c14320609774bf4f0fdb464c30d50cfcd7cb42866553846f1e0a034a807bd709be8d74243f241952d5072bf4556b2a3a15f28f1c4e3a6877d658c9036d56e2e8e294bc92b32a64848723a10c58addc02b009bf31fdfedc350021a19c030607fca980f8d591498505c773876be0deb5f85077fc649f79051fe02a67749903e8bd1218f45e192ddf17104a36ca63848476a37712d0eff86194ccf8d3f119d703094137898463172ea14dfb39532d013434c9649d086b5c94b93ca778863ee239034e724f2f572c31704bd51b39c3568f253ff8abf67de501a95da0b749a48fad31033255c8a7915e5418c84b04db2336fcd66976522e0c734812505d080e2edcafd0031a7c92894b7fe10a859ccf771d37c13a1a52df01eb8996de7ce8438d62242888035188ccf8b19a9659f95f57cd1aa3cf92e9061a059bca1cf9ea3caeff2c43840d03c1ca541976c6ef6866762d83edcfcbd81a6d4077c430084a76c6c8a3c64d064003ea97a1b0cc1d9895e6120c455b6cd311471e2d2374b215c93f8d97786bd5e7ad05581e03a6e605e3252bf96d92c52d0b855a765f472d69643e6296eeaa321b47400c02471262c0b0809e7b03df49cde0044f33bf5ea8215073e5335e41dc9c96dc6a5282242ada99721a94d605581e0396c7f8044367d17aabbfb3c08374580b61f4422d844e10cf0b97b38140084609184e72a00005581e03c76497c321f99858eee5bba3f4b6e42b1902761984040eff8242b688c00c0a4754555fee2f93a405581e03776e13d36fe7192728ba9e29e2e237b068cb71fc70ba4369bf447f2cb00401035a228b1513aba8b0a2c204f83ab7f7fd3985851e1a1c8eca995cfa3c499314d7031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03f9c6e9a5783e1bc8a83790aca2e4ba7fc15d4fdd302e8d87504f56aca007011bffffffffffffffff04594c2b6080604052600436106103ad5760003560e01c806363a782f5116101e7578063aa9678781161010d578063d547741f116100a0578063eb12d61e1161006f578063eb12d61e14610b8f578063f2031c6714610baf578063f2fde38b14610bc9578063faf924cf14610be957600080fd5b8063d547741f14610b1a578063d547cfb714610b3a578063dc9ff3ed14610b4f578063e985e9c514610b6f57600080fd5b8063bf62e21d116100dc578063bf62e21d14610a95578063c7fecbcc14610ab5578063c87b56dd14610ada578063ca15c87314610afa57600080fd5b8063aa967878146109aa578063b7f1d072146109ca578063b88d4fde146109ea578063bb69b7ef14610a0a57600080fd5b806391b7f5ed11610185578063a035b1fe11610154578063a035b1fe1461093f578063a217fddf14610955578063a22cb4651461096a578063a39a870b1461098a57600080fd5b806391b7f5ed146108ca57806391d14854146108ea57806395d89b411461090a5780639e7051401461091f57600080fd5b80638456cb59116101c15780638456cb59146108625780638da5cb5b146108775780639010d07c146108955780639106d7ba146108b557600080fd5b806363a782f51461080d57806370a082311461082d578063715018a61461084d57600080fd5b806330176e13116102d757806342842e0e1161026a5780635a028400116102395780635a0284001461077e5780635b8ecd57146107ae5780635c975abb146107ce5780636352211e146107ed57600080fd5b806342842e0e146106eb578063469b29cd1461070b5780634ca4fdf51461072b5780634d24a73a1461076857600080fd5b80633ec02e14116102a65780633ec02e14146106625780633f4ba83a1461068257806340b625c014610697578063421745ab146106cb57600080fd5b806330176e13146105e257806336568abe1461060257806338af3eed1461062257806339154b9e1461064257600080fd5b806318160ddd1161034f578063248a9ca31161031e578063248a9ca3146105335780632a55205a146105635780632f274bd4146105a25780632f2ff15d146105c257600080fd5b806318160ddd146104b65780631c31f710146104d95780632015c291146104f957806323b872dd1461051357600080fd5b8063081812fc1161038b578063081812fc1461042b578063095ea7b3146104635780630dfd025a146104835780630e316ab71461049657600080fd5b806301ffc9a7146103b257806302fa7c47146103e757806306fdde0314610409575b600080fd5b3480156103be57600080fd5b506103d26103cd3660046141da565b610c1d565b60405190151581526020015b60405180910390f35b3480156103f357600080fd5b5061040761040236600461420c565b610c2e565b005b34801561041557600080fd5b5061041e610c6f565b6040516103de91906142a9565b34801561043757600080fd5b5061044b6104463660046142bc565b610d01565b6040516001600160a01b0390911681526020016103de565b34801561046f57600080fd5b5061040761047e3660046142d5565b610d45565b610407610491366004614301565b610dd3565b3480156104a257600080fd5b506104076104b1366004614389565b610dfd565b3480156104c257600080fd5b50600154600054035b6040519081526020016103de565b3480156104e557600080fd5b506104076104f4366004614389565b610e32565b34801561050557600080fd5b506023546103d29060ff1681565b34801561051f57600080fd5b5061040761052e3660046143a6565b610e7e565b34801561053f57600080fd5b506104cb61054e3660046142bc565b6000908152601a602052604090206001015490565b34801561056f57600080fd5b5061058361057e3660046143e7565b610e89565b604080516001600160a01b0390931683526020830191909152016103de565b3480156105ae57600080fd5b506104076105bd36600461448c565b610f37565b3480156105ce57600080fd5b506104076105dd366004614517565b611125565b3480156105ee57600080fd5b506104076105fd3660046145a1565b61114b565b34801561060e57600080fd5b5061040761061d366004614517565b611188565b34801561062e57600080fd5b5060115461044b906001600160a01b031681565b34801561064e57600080fd5b5061040761065d3660046142bc565b611202565b34801561066e57600080fd5b506104cb61067d3660046143e7565b611320565b34801561068e57600080fd5b50610407611337565b3480156106a357600080fd5b506104cb7f7904e9328f622335e3d715af4f9d4b4147d279485bd5be001b80efa4da608a2981565b3480156106d757600080fd5b506104076106e63660046145e9565b61136b565b3480156106f757600080fd5b506104076107063660046143a6565b6113a8565b34801561071757600080fd5b50610407610726366004614604565b6113c3565b34801561073757600080fd5b5061074b6107463660046142bc565b611400565b6040805193151584526020840192909252908201526060016103de565b34801561077457600080fd5b506104cb601d5481565b34801561078a57600080fd5b506103d26107993660046142bc565b601c6020526000908152604090205460ff1681565b3480156107ba57600080fd5b506103d26107c93660046142d5565b61144b565b3480156107da57600080fd5b50600954600160a01b900460ff166103d2565b3480156107f957600080fd5b5061044b6108083660046142bc565b61147e565b34801561081957600080fd5b50610407610828366004614604565b611490565b34801561083957600080fd5b506104cb610848366004614389565b61158d565b34801561085957600080fd5b506104076115db565b34801561086e57600080fd5b5061040761160f565b34801561088357600080fd5b506009546001600160a01b031661044b565b3480156108a157600080fd5b5061044b6108b03660046143e7565b611641565b3480156108c157600080fd5b506104cb611659565b3480156108d657600080fd5b506104076108e53660046142bc565b611669565b3480156108f657600080fd5b506103d2610905366004614517565b611698565b34801561091657600080fd5b5061041e6116c3565b34801561092b57600080fd5b5061040761093a3660046142d5565b6116d2565b34801561094b57600080fd5b506104cb60155481565b34801561096157600080fd5b506104cb600081565b34801561097657600080fd5b50610407610985366004614678565b611773565b34801561099657600080fd5b506104cb6109a53660046142bc565b611839565b3480156109b657600080fd5b506104076109c53660046143a6565b61189c565b3480156109d657600080fd5b506104076109e5366004614389565b61190e565b3480156109f657600080fd5b50610407610a053660046146ad565b611960565b348015610a1657600080fd5b50600c54600d54600e54600f54601054610a52949392916001600160f81b0381169160ff600160f81b9092048216918181169161010090041687565b604080519788526020880196909652948601939093526001600160f81b03909116606085015215156080840152151560a0830152151560c082015260e0016103de565b348015610aa157600080fd5b50610407610ab03660046142d5565b6119ab565b348015610ac157600080fd5b5060235461044b9061010090046001600160a01b031681565b348015610ae657600080fd5b5061041e610af53660046142bc565b611b20565b348015610b0657600080fd5b506104cb610b153660046142bc565b611bb7565b348015610b2657600080fd5b50610407610b35366004614517565b611bce565b348015610b4657600080fd5b5061041e611bf4565b348015610b5b57600080fd5b50610407610b6a3660046145e9565b611c82565b348015610b7b57600080fd5b506103d2610b8a36600461472c565b611cbf565b348015610b9b57600080fd5b50610407610baa366004614389565b611d36565b348015610bbb57600080fd5b50601f546103d29060ff1681565b348015610bd557600080fd5b50610407610be4366004614389565b611d6b565b348015610bf557600080fd5b5061044b7f00000000000000000000000008d7c0242953446436f34b4c78fe9da38c73668d81565b6000610c2882611ea5565b92915050565b6009546001600160a01b03163314610c615760405162461bcd60e51b8152600401610c589061475a565b60405180910390fd5b610c6b8282611eca565b5050565b606060028054610c7e9061478f565b80601f0160208091040260200160405190810160405280929190818152602001828054610caa9061478f565b8015610cf75780601f10610ccc57610100808354040283529160200191610cf7565b820191906000526020600020905b815481529060010190602001808311610cda57829003601f168201915b5050505050905090565b6000610d0c82611fc7565b610d29576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b6000610d508261147e565b9050806001600160a01b0316836001600160a01b03161415610d855760405163250fdee360e21b815260040160405180910390fd5b336001600160a01b03821614801590610da55750610da38133611cbf565b155b15610dc3576040516367d9dca160e11b815260040160405180910390fd5b610dce838383611ff2565b505050565b610dec610de0858561204e565b6016908484601c61208c565b610df7846001612135565b50505050565b6009546001600160a01b03163314610e275760405162461bcd60e51b8152600401610c589061475a565b610c6b601682612141565b6009546001600160a01b03163314610e5c5760405162461bcd60e51b8152600401610c589061475a565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b610dce838383612156565b60008281526019602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b0316928201929092528291610efe5750604080518082019091526018546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090610f1d906001600160601b0316876147e0565b610f279190614815565b91519350909150505b9250929050565b6009546001600160a01b03163314610f615760405162461bcd60e51b8152600401610c589061475a565b80606001516001600160f81b031681600001511015610fc25760405162461bcd60e51b815260206004820152601c60248201527f53656c6c65723a2065786365737369766520667265652071756f7461000000006044820152606401610c58565b601254815110156110155760405162461bcd60e51b815260206004820181905260248201527f53656c6c65723a20696e76656e746f7279203c20616c726561647920736f6c646044820152606401610c58565b60145481606001516001600160f81b0316101561107e5760405162461bcd60e51b815260206004820152602160248201527f53656c6c65723a20667265652071756f7461203c20616c7265616479207573656044820152601960fa1b6064820152608401610c58565b601054610100900460ff161561109b57600160c0820152600c5481525b60105460ff16156110bf57600160a0820152600f546001600160f81b031660608201525b8051600c556020810151600d556040810151600e55606081015160808201511515600160f81b026001600160f81b0390911617600f5560a08101516010805460c09093015115156101000261ff00199215159290921661ffff1990931692909217179055565b6000828152601a60205260409020600101546111418133612351565b610dce83836123b5565b6009546001600160a01b031633146111755760405162461bcd60e51b8152600401610c589061475a565b8051610c6b90600a90602084019061412b565b6001600160a01b03811633146111f85760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610c58565b610c6b82826123d7565b7f7904e9328f622335e3d715af4f9d4b4147d279485bd5be001b80efa4da608a2961122d8133612351565b600082815260208052604090205461127f5760405162461bcd60e51b8152602060048201526015602482015274135bdbdb989a5c991cce881b9bdd081b995cdd1959605a1b6044820152606401610c58565b60008281526020805260409020546112979042614829565b600083815260216020526040812080549091906112b5908490614840565b909155505060008281526020805260408082208290555183917f657500793744fd287ed8e476832a3cb4b7aa5b931cda10bdc773a301e0e9a83191a260405182907f3ebee94e74ea24f711b5876dca724062e18b7b37b6883e686a92f093248a4fcf90600090a25050565b60006015548361133091906147e0565b9392505050565b6009546001600160a01b031633146113615760405162461bcd60e51b8152600401610c589061475a565b6113696123f9565b565b6009546001600160a01b031633146113955760405162461bcd60e51b8152600401610c589061475a565b6023805460ff1916911515919091179055565b610dce83838360405180602001604052806000815250611960565b8060005b81811015610df7576113f08484838181106113e4576113e4614858565b90506020020135612496565b6113f98161486e565b90506113c7565b600081815260208052604081205481908190801561142957600193506114268142614829565b92505b6000858152602160205260409020546114429084614840565b93959294505050565b6000601c600061146361145e868661204e565b61262b565b815260208101919091526040016000205460ff169392505050565b600061148982612636565b5192915050565b601d5481908111156114e45760405162461bcd60e51b815260206004820152601f60248201527f4d6f6f6e62697264733a2050524f4f4620706f6f6c20657868617573746564006044820152606401610c58565b80601d60008282546114f69190614829565b9091555050601f5460ff1661154d5760405162461bcd60e51b815260206004820152601f60248201527f4d6f6f6e62697264733a2050524f4f46206d696e74696e6720636c6f736564006044820152606401610c58565b600061157f601e6002337f00000000000000000000000008d7c0242953446436f34b4c78fe9da38c73668d8888612750565b9050610df7338260016128d8565b60006001600160a01b0382166115b6576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03166000908152600560205260409020546001600160401b031690565b6009546001600160a01b031633146116055760405162461bcd60e51b8152600401610c589061475a565b6113696000612900565b6009546001600160a01b031633146116395760405162461bcd60e51b8152600401610c589061475a565b611369612952565b6000828152601b6020526040812061133090836129b7565b600061166460125490565b905090565b6009546001600160a01b031633146116935760405162461bcd60e51b8152600401610c589061475a565b601555565b6000918252601a602090815260408084206001600160a01b0393909316845291905290205460ff1690565b606060038054610c7e9061478f565b6009546001600160a01b031633146116fc5760405162461bcd60e51b8152600401610c589061475a565b80601d5481111561174f5760405162461bcd60e51b815260206004820152601f60248201527f4d6f6f6e62697264733a2050524f4f4620706f6f6c20657868617573746564006044820152606401610c58565b80601d60008282546117619190614829565b90915550610dce9050838360016128d8565b3361177d816129c3565b6001600160a01b0316836001600160a01b0316141561182f57816117a25760016117a5565b60005b6001600160a01b0382166000908152600860205260409020805460ff1916600183818111156117d6576117d6614889565b0217905550826001600160a01b0316816001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3184604051611822911515815260200190565b60405180910390a3505050565b610dce8383612b22565b60006103e882106118825760405162461bcd60e51b8152602060048201526013602482015272151bdad95b88191bd95cdb89dd08195e1a5cdd606a1b6044820152606401610c58565b6000828152601e6020526040902054610c28906002614829565b336118a68261147e565b6001600160a01b0316146118f45760405162461bcd60e51b815260206004820152601560248201527426b7b7b73134b932399d1027b7363c9037bbb732b960591b6044820152606401610c58565b60026022556119048383836113a8565b5050600160225550565b6009546001600160a01b031633146119385760405162461bcd60e51b8152600401610c589061475a565b602380546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b61196b848484612156565b6001600160a01b0383163b1515801561198d575061198b84848484612bb8565b155b15610df7576040516368d2bf6b60e11b815260040160405180910390fd5b6009546001600160a01b031633146119d55760405162461bcd60e51b8152600401610c589061475a565b600954600160a01b900460ff16156119ff5760405162461bcd60e51b8152600401610c589061489f565b600f546001600160f81b0316611a2782611a1860145490565b611a229084614829565b612ca0565b915060008211611a795760405162461bcd60e51b815260206004820152601b60248201527f53656c6c65723a20467265652071756f746120657863656564656400000000006044820152606401610c58565b600c54611a8983611a1860125490565b925060008311611ace5760405162461bcd60e51b815260206004820152601060248201526f14d95b1b195c8e8814dbdb19081bdd5d60821b6044820152606401610c58565b611ada848460016128d8565b611ae5601284612cb6565b611af0601484612cb6565b80611afa60125490565b1115611b0857611b086148c9565b81611b1260145490565b1115610df757610df76148c9565b60235460609061010090046001600160a01b031615611bae5760235460405163c87b56dd60e01b8152600481018490526101009091046001600160a01b03169063c87b56dd90602401600060405180830381865afa158015611b86573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c2891908101906148df565b610c2882612cd3565b6000818152601b60205260408120610c2890612d57565b6000828152601a6020526040902060010154611bea8133612351565b610dce83836123d7565b600a8054611c019061478f565b80601f0160208091040260200160405190810160405280929190818152602001828054611c2d9061478f565b8015611c7a5780601f10611c4f57610100808354040283529160200191611c7a565b820191906000526020600020905b815481529060010190602001808311611c5d57829003601f168201915b505050505081565b6009546001600160a01b03163314611cac5760405162461bcd60e51b8152600401610c589061475a565b601f805460ff1916911515919091179055565b6001600160a01b03808316600090815260076020908152604080832093851683529290529081205460ff1615611cf757506001610c28565b6001600160a01b03831660009081526008602052604081205460ff166001811115611d2457611d24614889565b14801561133057506113308383612d61565b6009546001600160a01b03163314611d605760405162461bcd60e51b8152600401610c589061475a565b610c6b601682611e90565b6009546001600160a01b03163314611d955760405162461bcd60e51b8152600401610c589061475a565b6001600160a01b038116611dfa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c58565b611e0381612900565b50565b5490565b611e148282611698565b610c6b576000828152601a602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611e4c3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000611330836001600160a01b038416612d9f565b60006001600160e01b03198216635a05180f60e01b1480610c285750610c2882612dee565b6127106001600160601b0382161115611f385760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610c58565b6001600160a01b038216611f8e5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610c58565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217601855565b6000805482108015610c28575050600090815260046020526040902054600160e01b900460ff161590565b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b604051606083811b6bffffffffffffffffffffffff191660208301526034820183905290605401604051602081830303815290604052905092915050565b60006120978561262b565b60008181526020849052604090205490915060ff16156121085760405162461bcd60e51b815260206004820152602660248201527f5369676e6174757265436865636b65723a204d65737361676520616c726561646044820152651e481d5cd95960d21b6064820152608401610c58565b6000818152602083905260409020805460ff1916600117905561212d86828686612e13565b505050505050565b610c6b82826000612e77565b6000611330836001600160a01b03841661332f565b600061216182612636565b9050836001600160a01b031681600001516001600160a01b0316146121985760405162a1148160e81b815260040160405180910390fd5b6000336001600160a01b03861614806121b657506121b68533611cbf565b806121d15750336121c684610d01565b6001600160a01b0316145b9050806121f157604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03841661221857604051633a954ecd60e21b815260040160405180910390fd5b6122258585856001613422565b61223160008487611ff2565b6001600160a01b038581166000908152600560209081526040808320805467ffffffffffffffff198082166001600160401b0392831660001901831617909255898616808652838620805493841693831660019081018416949094179055898652600490945282852080546001600160e01b031916909417600160a01b4290921691909102178355870180845292208054919390911661230557600054821461230557805460208601516001600160401b0316600160a01b026001600160e01b03199091166001600160a01b038a16171781555b50505082846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b5050505050565b61235b8282611698565b610c6b57612373816001600160a01b031660146134a7565b61237e8360206134a7565b60405160200161238f92919061494c565b60408051601f198184030181529082905262461bcd60e51b8252610c58916004016142a9565b6123bf8282611e0a565b6000828152601b60205260409020610dce9082611e90565b6123e18282613642565b6000828152601b60205260409020610dce9082612141565b600954600160a01b900460ff166124495760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610c58565b6009805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b80336124a182612636565b516001600160a01b031614806124c75750336124bc82610d01565b6001600160a01b0316145b6125215760405162461bcd60e51b815260206004820152602560248201527f45524337323141436f6d6d6f6e3a204e6f7420617070726f766564206e6f722060448201526437bbb732b960d91b6064820152608401610c58565b6000828152602080526040902054806125c25760235460ff166125865760405162461bcd60e51b815260206004820152601960248201527f4d6f6f6e62697264733a206e657374696e6720636c6f736564000000000000006044820152606401610c58565b60008381526020805260408082204290555184917f84bccedf5fbad5c802864c2d64e4562a610a468ba28173bd7528588e4429eaf791a2505050565b6125cc8142614829565b600084815260216020526040812080549091906125ea908490614840565b909155505060008381526020805260408082208290555184917f657500793744fd287ed8e476832a3cb4b7aa5b931cda10bdc773a301e0e9a83191a2505050565b6000610c28826136a9565b60408051606081018252600080825260208201819052918101919091528160005481101561273757600081815260046020908152604091829020825160608101845290546001600160a01b0381168252600160a01b81046001600160401b031692820192909252600160e01b90910460ff161515918101829052906127355780516001600160a01b0316156126cc579392505050565b5060001901600081815260046020908152604091829020825160608101845290546001600160a01b038116808352600160a01b82046001600160401b031693830193909352600160e01b900460ff1615159281019290925215612730579392505050565b6126cc565b505b604051636f96cda160e11b815260040160405180910390fd5b600085158061275d575081155b1561276a575060006128ce565b6001861160005b838110156128c857600085858381811061278d5761278d614858565b9050602002013590506127a187828a6136e4565b600183156128045760006127b6846001614840565b90505b86811080156127df5750828888838181106127d6576127d6614858565b90506020020135145b156127f657806127ee8161486e565b9150506127b9565b6128008482614829565b9150505b600082815260208c9052604081208054839290612822908490614840565b9091555050600082815260208c905260409020548a101561285f5761285f604051806060016040528060228152602001614bd46022913983613801565b6128698184614840565b9250886001600160a01b0316886001600160a01b03167fa28d80c9910787c0c058ed9b50c577f1389264bf61563fa45529e0771976f56284846040516128b9929190918252602082015260400190565b60405180910390a35050612771565b50829150505b9695505050505050565b6128e2838361381c565b6127106128f26001546000540390565b1115610dce57610dce6148c9565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600954600160a01b900460ff161561297c5760405162461bcd60e51b8152600401610c589061489f565b6009805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586124793390565b60006113308383613836565b6000804680600181146129f85760898114612a145760048114612a3057620138818114612a4c576105398114612a6857612a80565b73a5409ec958c83c3f309868babaca7c86dcb077c19250612a80565b7358807bad0b376efc12f5ad86aac70e78ed67deae9250612a80565b73f57b2c51ded3a29e6891aba85459d600256cf3179250612a80565b73ff7ca10af37178bdd056628ef42fd7f799fac77c9250612a80565b73e1a2bbc877b29adbc56d2659dbcb0ae14ee6207192505b506001600160a01b0382161580612a975750806089145b80612aa457508062013881145b15612ab0575092915050565b60405163c455279160e01b81526001600160a01b03858116600483015283169063c455279190602401602060405180830381865afa158015612af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b1a91906149c1565b949350505050565b6001600160a01b038216331415612b4c5760405163b06307db60e01b815260040160405180910390fd5b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290612bed9033908990889088906004016149de565b6020604051808303816000875af1925050508015612c28575060408051601f3d908101601f19168201909252612c2591810190614a11565b60015b612c83573d808015612c56576040519150601f19603f3d011682016040523d82523d6000602084013e612c5b565b606091505b508051612c7b576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6000818310612caf5781611330565b5090919050565b80826000016000828254612cca9190614840565b90915550505050565b6060612cde82611fc7565b612cfb57604051630a14c4b560e41b815260040160405180910390fd5b6000612d05613860565b9050805160001415612d265760405180602001604052806000815250611330565b80612d308461386a565b604051602001612d41929190614a2e565b6040516020818303038152906040529392505050565b6000610c28825490565b600080612d6d846129c3565b90506001600160a01b03811615801590612b1a5750826001600160a01b0316816001600160a01b031614949350505050565b6000818152600183016020526040812054612de657508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610c28565b506000610c28565b60006001600160e01b03198216637965db0b60e01b1480610c285750610c2882613967565b612e1f8484848461398c565b610df75760405162461bcd60e51b815260206004820152602360248201527f5369676e6174757265436865636b65723a20496e76616c6964207369676e617460448201526275726560e81b6064820152608401610c58565b6002600b541415612eca5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c58565b6002600b55600954600160a01b900460ff1615612ef95760405162461bcd60e51b8152600401610c589061489f565b6040805160e081018252600c548152600d546020820152600e54918101829052600f546001600160f81b038116606083015260ff600160f81b909104811615156080830152601054808216151560a0840152610100900416151560c08201529060009015612f7457612f6f848360400151612ca0565b612f76565b835b9050600080836080015115612fbe5760608401518451612f9f916001600160f81b031690614829565b9150612faa60145490565b601254612fb79190614829565b9050612fce565b83519150612fcb60125490565b90505b612fdc83611a228385614829565b9250600083116130215760405162461bcd60e51b815260206004820152601060248201526f14d95b1b195c8e8814dbdb19081bdd5d60821b6044820152606401610c58565b60208401511561317d57336001600160a01b0388168114159060009032148015906130555750326001600160a01b038a1614155b9050613085858a6040518060400160405280600b81526020016a109d5e595c881b1a5b5a5d60aa1b8152506139e1565b945081156130bf576130bc85336040518060400160405280600c81526020016b14d95b99195c881b1a5b5a5d60a21b8152506139e1565b94505b80156130f7576130f485326040518060400160405280600c81526020016b13dc9a59da5b881b1a5b5a5d60a21b8152506139e1565b94505b6001600160a01b0389166000908152601360205260408120805487929061311f908490614840565b9091555050811561314f573360009081526013602052604081208054879290613149908490614840565b90915550505b801561317a573260009081526013602052604081208054879290613174908490614840565b90915550505b50505b60006131898487611320565b9050803410156131b9576131a96131a4633b9aca0083614815565b61386a565b60405160200161238f9190614a5d565b6131c5888560006128d8565b6131d0601285612cb6565b845160125411156131e3576131e36148c9565b8015613248576011546131ff906001600160a01b031682613a2a565b60115460408051868152602081018490526001600160a01b03909216917f01f51b99bd1c3cca301836178e5dee13aadfe44eff06dc3ddcbf3c9d058454f8910160405180910390a25b803411156133205733600061325d8334614829565b9050600080836001600160a01b03168360405160006040518083038185875af1925050503d80600081146132ad576040519150601f19603f3d011682016040523d82523d6000602084013e6132b2565b606091505b50915091508181906132d75760405162461bcd60e51b8152600401610c5891906142a9565b50836001600160a01b03167fbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d8460405161331391815260200190565b60405180910390a2505050505b50506001600b55505050505050565b60008181526001830160205260408120548015613418576000613353600183614829565b855490915060009061336790600190614829565b90508181146133cc57600086600001828154811061338757613387614858565b90600052602060002001549050808760000184815481106133aa576133aa614858565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806133dd576133dd614aa2565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610c28565b6000915050610c28565b81600061342f8383614840565b90505b8082101561212d576000828152602080526040902054158061345657506022546002145b6134975760405162461bcd60e51b81526020600482015260126024820152714d6f6f6e62697264733a206e657374696e6760701b6044820152606401610c58565b6134a08261486e565b9150613432565b606060006134b68360026147e0565b6134c1906002614840565b6001600160401b038111156134d8576134d8614409565b6040519080825280601f01601f191660200182016040528015613502576020820181803683370190505b509050600360fc1b8160008151811061351d5761351d614858565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061354c5761354c614858565b60200101906001600160f81b031916908160001a90535060006135708460026147e0565b61357b906001614840565b90505b60018111156135f3576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106135af576135af614858565b1a60f81b8282815181106135c5576135c5614858565b60200101906001600160f81b031916908160001a90535060049490941c936135ec81614ab8565b905061357e565b5083156113305760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610c58565b61364c8282611698565b15610c6b576000828152601a602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006136b5825161386a565b826040516020016136c7929190614acf565b604051602081830303815290604052805190602001209050919050565b6040516331a9108f60e11b8152600481018390526001600160a01b038083169190851690636352211e90602401602060405180830381865afa15801561372e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061375291906149c1565b6001600160a01b0316141580156137de575060405163020604bf60e21b8152600481018390526001600160a01b03808316919085169063081812fc90602401602060405180830381865afa1580156137ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137d291906149c1565b6001600160a01b031614155b15610dce57610dce604051806060016040528060298152602001614bab60299139835b8161380b8261386a565b60405160200161238f929190614b2a565b610c6b828260405180602001604052806000815250613b43565b600082600001828154811061384d5761384d614858565b9060005260206000200154905092915050565b6060611664613b50565b60608161388e5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156138b857806138a28161486e565b91506138b19050600a83614815565b9150613892565b6000816001600160401b038111156138d2576138d2614409565b6040519080825280601f01601f1916602001820160405280156138fc576020820181803683370190505b5090505b8415612b1a57613911600183614829565b915061391e600a86614b66565b613929906030614840565b60f81b81838151811061393e5761393e614858565b60200101906001600160f81b031916908160001a905350613960600a86614815565b9450613900565b60006001600160e01b0319821663152a902d60e11b1480610c285750610c2882613b5f565b60006139d86139d18585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613b6a92505050565b8690613b8e565b95945050505050565b6001600160a01b038216600090815260136020526040812054600d548291613a0891614829565b905080613a20578260405160200161238f9190614b7a565b6139d88582612ca0565b80471015613a7a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610c58565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613ac7576040519150601f19603f3d011682016040523d82523d6000602084013e613acc565b606091505b5050905080610dce5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610c58565b610dce8383836001613bb0565b6060600a8054610c7e9061478f565b6000610c2882613d8d565b6000806000613b798585613ddd565b91509150613b8681613e4a565b509392505050565b6001600160a01b03811660009081526001830160205260408120541515611330565b6000546001600160a01b038516613bd957604051622e076360e81b815260040160405180910390fd5b83613bf75760405163b562e8dd60e01b815260040160405180910390fd5b613c046000868387613422565b6001600160a01b038516600081815260056020908152604080832080546fffffffffffffffffffffffffffffffff1981166001600160401b038083168c0181169182176801000000000000000067ffffffffffffffff1990941690921783900481168c01811690920217909155858452600490925290912080546001600160e01b031916909217600160a01b429092169190910217905580808501838015613cb557506001600160a01b0387163b15155b15613d3e575b60405182906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4613d066000888480600101955088612bb8565b613d23576040516368d2bf6b60e11b815260040160405180910390fd5b80821415613cbb578260005414613d3957600080fd5b613d84565b5b6040516001830192906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a480821415613d3f575b5060005561234a565b60006001600160e01b031982166380ac58cd60e01b1480613dbe57506001600160e01b03198216635b5e139f60e01b145b80610c2857506301ffc9a760e01b6001600160e01b0319831614610c28565b600080825160411415613e145760208301516040840151606085015160001a613e0887828585614005565b94509450505050610f30565b825160401415613e3e5760208301516040840151613e338683836140f2565b935093505050610f30565b50600090506002610f30565b6000816004811115613e5e57613e5e614889565b1415613e675750565b6001816004811115613e7b57613e7b614889565b1415613ec95760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610c58565b6002816004811115613edd57613edd614889565b1415613f2b5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610c58565b6003816004811115613f3f57613f3f614889565b1415613f985760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610c58565b6004816004811115613fac57613fac614889565b1415611e035760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610c58565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561403c57506000905060036140e9565b8460ff16601b1415801561405457508460ff16601c14155b1561406557506000905060046140e9565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156140b9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166140e2576000600192509250506140e9565b9150600090505b94509492505050565b6000806001600160ff1b0383168161410f60ff86901c601b614840565b905061411d87828885614005565b935093505050935093915050565b8280546141379061478f565b90600052602060002090601f016020900481019282614159576000855561419f565b82601f1061417257805160ff191683800117855561419f565b8280016001018555821561419f579182015b8281111561419f578251825591602001919060010190614184565b506141ab9291506141af565b5090565b5b808211156141ab57600081556001016141b0565b6001600160e01b031981168114611e0357600080fd5b6000602082840312156141ec57600080fd5b8135611330816141c4565b6001600160a01b0381168114611e0357600080fd5b6000806040838503121561421f57600080fd5b823561422a816141f7565b915060208301356001600160601b038116811461424657600080fd5b809150509250929050565b60005b8381101561426c578181015183820152602001614254565b83811115610df75750506000910152565b60008151808452614295816020860160208601614251565b601f01601f19169290920160200192915050565b602081526000611330602083018461427d565b6000602082840312156142ce57600080fd5b5035919050565b600080604083850312156142e857600080fd5b82356142f3816141f7565b946020939093013593505050565b6000806000806060858703121561431757600080fd5b8435614322816141f7565b93506020850135925060408501356001600160401b038082111561434557600080fd5b818701915087601f83011261435957600080fd5b81358181111561436857600080fd5b88602082850101111561437a57600080fd5b95989497505060200194505050565b60006020828403121561439b57600080fd5b8135611330816141f7565b6000806000606084860312156143bb57600080fd5b83356143c6816141f7565b925060208401356143d6816141f7565b929592945050506040919091013590565b600080604083850312156143fa57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b038111828210171561444157614441614409565b60405290565b604051601f8201601f191681016001600160401b038111828210171561446f5761446f614409565b604052919050565b8035801515811461448757600080fd5b919050565b600060e0828403121561449e57600080fd5b6144a661441f565b82358152602080840135908201526040808401359082015260608301356001600160f81b03811681146144d857600080fd5b60608201526144e960808401614477565b60808201526144fa60a08401614477565b60a082015261450b60c08401614477565b60c08201529392505050565b6000806040838503121561452a57600080fd5b823591506020830135614246816141f7565b60006001600160401b0382111561455557614555614409565b50601f01601f191660200190565b60006145766145718461453c565b614447565b905082815283838301111561458a57600080fd5b828260208301376000602084830101529392505050565b6000602082840312156145b357600080fd5b81356001600160401b038111156145c957600080fd5b8201601f810184136145da57600080fd5b612b1a84823560208401614563565b6000602082840312156145fb57600080fd5b61133082614477565b6000806020838503121561461757600080fd5b82356001600160401b038082111561462e57600080fd5b818501915085601f83011261464257600080fd5b81358181111561465157600080fd5b8660208260051b850101111561466657600080fd5b60209290920196919550909350505050565b6000806040838503121561468b57600080fd5b8235614696816141f7565b91506146a460208401614477565b90509250929050565b600080600080608085870312156146c357600080fd5b84356146ce816141f7565b935060208501356146de816141f7565b92506040850135915060608501356001600160401b0381111561470057600080fd5b8501601f8101871361471157600080fd5b61472087823560208401614563565b91505092959194509250565b6000806040838503121561473f57600080fd5b823561474a816141f7565b91506020830135614246816141f7565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c908216806147a357607f821691505b602082108114156147c457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156147fa576147fa6147ca565b500290565b634e487b7160e01b600052601260045260246000fd5b600082614824576148246147ff565b500490565b60008282101561483b5761483b6147ca565b500390565b60008219821115614853576148536147ca565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415614882576148826147ca565b5060010190565b634e487b7160e01b600052602160045260246000fd5b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b634e487b7160e01b600052600160045260246000fd5b6000602082840312156148f157600080fd5b81516001600160401b0381111561490757600080fd5b8201601f8101841361491857600080fd5b80516149266145718261453c565b81815285602083850101111561493b57600080fd5b6139d8826020830160208601614251565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614984816017850160208801614251565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516149b5816028840160208801614251565b01602801949350505050565b6000602082840312156149d357600080fd5b8151611330816141f7565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906128ce9083018461427d565b600060208284031215614a2357600080fd5b8151611330816141c4565b60008351614a40818460208801614251565b835190830190614a54818360208801614251565b01949350505050565b6d029b2b63632b91d1021b7b9ba39960951b815260008251614a8681600e850160208701614251565b64204757656960d81b600e939091019283015250601301919050565b634e487b7160e01b600052603160045260246000fd5b600081614ac757614ac76147ca565b506000190190565b7f19457468657265756d205369676e6564204d6573736167653a0a000000000000815260008351614b0781601a850160208801614251565b835190830190614b1e81601a840160208801614251565b01601a01949350505050565b60008351614b3c818460208801614251565b600160fd1b9083019081528351614b5a816001840160208801614251565b01600101949350505050565b600082614b7557614b756147ff565b500690565b67029b2b63632b91d160c51b815260008251614b9d816008850160208701614251565b919091016008019291505056fe45524337323152656465656d65723a206e6f7420617070726f766564206e6f72206f776e6572206f6645524337323152656465656d65723a206f76657220616c6c6f77616e636520666f72a264697066735822122050cb0051133e09d406fdf50dddbbfdd8ea001925b64039ed623659af05eb81d064736f6c634300080b0033039846deb52f2875da8b4412e183887c20769e6b50a064ec4ef6499599b933f28a03e416b927143c559a57918b502695a17e1b137df315d1f199b9ab1d671d655a3d03c9e70294149e40342190a19b8de6a70bab3a6be41198b4e9cffa624dc0d8f2b1036343180cd3b99f7cc8334765c6211e5f11c3fe8e8e631191397176e92234928903341d4df381a13f3f91117919b1edb7e9793ebc63920336df5ba5e5687cb930fa00581f0257bf77b51872a3fd6750bceada70ab077e556175178e5eb8b4a95807857b4901000000000000000000581f02f2be1846f8161b2c05268ec37cf19e122dc15b66d5402228a5cd00ffe470410100581f02d7694b3394e5ab06c959e934f2722e4fd95c796b585f4d25556ff7f216605818625f3d2d2c81038897d72f6bf533c6c58f2d3980a2bbb3b200581f026461abb6272c8ff1e6fcbf39f42f3167053a37a8ee4bd3a14b791c387f17410100581f02ae89a679277a857b9c97e5d12f3b682b288999e30a168ae56402f7728c714462635ebf03de3fe3a99f4559bb299d7b1ad560b37fd26cc230116a61344f422d9c9a83b6d803cf9b0f35abdac93459c881e354f85162da6962c1b45f0d87cf53563142b24518032e08dd468f136b29d228c84d7d553a0e6d2fb487916abb5b770fa5e611c246d400581f02233bb66d08d0c4ed7133f1b04e5d9d33ebab8ab518feaab93286240cd2824901000000000000000100581f0250a4b4fe6db0544b768a34031595f58949918c82861c406ee22036a3b7804463eba9330219a2df03f0dfb6c446cd4520747b6520843571d58959fc78d05d8073f4b923a45fddf22b03994e4641374fc2e7efc818554f2c6c20d0e0ac848dc62ff256f4cd15661175e7036e884972e6e08bc307da96f6112f2eb663e9e73885a2919bd8e3e06ef53bfd9c036d7d3565c354d03b257bf8f71f971195d706c5ad403bb3bcc3a9b1dc110c844603c7b387cd3ea1d3bd3fb02aea1b6b395d8734c4577d73939ddd9f5ce27bcb0ffe03764a93e21fb1c33ba7f3a6ec650b1fa5d99b7d3ed58fb885d9824fddd309ed2d0338cd59caa360e204ba3d93cf941604b6ed036a4727d1cf697bf913ef65153c4d03ce1585609d3a0e2c3441d60bbd035ad768ad955674549326a74667d4b26340c603044cad6d5cfd5dee6938e581e324e3715ed0de3a507364ec4e0cc69aed349316039af426514eb0ae5f096f66661f8385087de078ed14d4fead1faff95ab9f2e38b03660751ce003b9a5fc492182f916613fc2f15feaee8eef4fd7f151c6177ff10750349b61a42e2e20badf1ad9d1b8ec805e840505f69abcc7e61e92ef7ccf752b33a03de9267a6dec5af6f37d2e7924c9cad6f186af1bd7ba90f7369f8c258675bb8a90308a5cad3514893791581ea53c0cb35a8e952e0c9f60267799c00d5dcc5e4ac3a035d9344588bafc88c85b39ffa4413e7c2a63b4398eb4492cf54326e7de7180ddc0219ffff03b58c48f0176e5b2700ceb31a80d41cc8618ec56fffe0a770dba596af2824ac6f03357c45dcbcb479df3a4d038a5f789ad98916b4d65643d7a2f48ba29bc3d146b203d884788cffaaea7acf32481c381f268cd611080294b0577cfeb3047984d7bf9403063b66a2346f2101be4e6e3c8630ceeec21ca056af9def33450ad664b9fda28f0305f9dbfb402c45c6706866d20045ce3f8117b993e3c14942fa1a83bbe03e6ebb030b653281745d52e989240243520d2e1714bdcbafe9187696d0f3a4685c6cf05803bcd7f9463387aeb5ec1a1d5d5a711ab8947195423bfe51d1b0c9c0161cf4c7c1035f71917c4fe2a8a76b541b2ae73d680647a423c6440f245fdd740038818f48ef03eb2ca7ac0d626994a47dd0a856f006ec3e817f19b65ee7ddd209aa179b91d65b0314c76609bc1df0191d40a802cbc3d0f53cc8cdafa978942c1d3f0c7cea4b8ca6034cc703b4a6ec49f74ced9b6b3bedd971c3c14138c5c0182a49cb23daf55fd204034e1d3d66e5dafca5ad4dc3fef6df85ae0e45b8726349fbc8396088cc44bdddf603d4e8f49197f1c1ae59d7ee2e9852a168dcd909c9864c69e1773ce462c228fcea0219ffff03427bca9259228c9ccdef6292d2b401600a26fafef2b67636aeb6483d5fd79c490316c3761cb7aa970841cafff2af6e8f8e425ac4d6e9c173372175a9dfffc6157f03f6d412a9150a391b7057510f21d14657a912d1e3bd9ae891ac23e3ff6cf210550365095686b7911d5f50b7df9ef47728997611886d85a5dc451a449c03c25d7bd603df8c8c3ba1bbc6c372b487153973e6d1c2b972aa3033d0ec2818ecb57bbd83720372cb1f741f44270b36b3144dd2fd2d5779d4088edd07f383c6337e8859b7ff4903bccc9c9488be6a4a44d304f679ca70c41c8be72a3cb59b8a1760d026e24c517403b9e1a783bbc1fd8e400722f2bb4ad13405964616296541d2f7bda9958ffa572a03a534fbae4d5999b60fd505c6c7ef21547e196df7234ab2e37da138791085050c03a866d2988dc0a66cb740724e8ec5a1c197a8df1e0c247b1143bc0cae023e517f03d30fcbce62622346221514054be1fd209856076f857e397dd2d4dd45b174309403e1c244e0a6edded2c5fb212bf2001bf6e679399b63e5aaed0693458b8be542a80219ffff05581e03c2386bf0d60077cc5ce1f056132d209df7332f516a239a67aebeb4f7600701194c2b05581e03624d0d43de54455e0c90b7611dc441ba4a0bcf077df4933585d626d370084847f1716d38e4200003a2c956b063ffc3a658837647b625bc1aa48771ce970cecd87fa6de68b9a967a10219f8b9032534af4ec111c066c4dfdf55ef92f4ac6438b30043f41698fb2480964ff565550391d51a34686fa72b0d3c3a4b564ddc483a7eac7bd46130c8d638bdd85af7a78a035b0930c8d278fa5c88077981461bd29ab78a237e25ed31032c1d8aff3ceee750037ffeb37f8a36f0d8626f390976a9438a0ffde25bbcee3252e9f2ee129db136e103aface18f395de71ea0805500a507cee15a1c8d3a7d235c1934c1931ff5a24d1b03d1fb0534df836c8d4c9b86362cd99de692605e3974b6c445567b7a4d449c9984033e89e5f89e95b14cc9999e717d51f5f8af06bf182b7e9db9b02a9f81ed78462803c8c04ff5af2eb46e5d7cf276684455d88b08ee8b31ccc6b902d14054dfe448fc0325a16a4cf753b249c7a58de8abddc5d3628616cc169786bee34bcb2dabd20eb203d49bf20a9da6e427b8164b75f8f39f6df2804f3e29509e6c83844be5dce19067030f2c885169c27fc469b21749b1613bfc61cba020260b61c1e83a48237c645e45032af1c52c8157942399d8fcb01bd60b9145f78a33e5435853cfba94b4988ed85203adaa97e7e0f5957405f4fc2a032eac54a34dbe830f88a1f74079b8674a77def503ac273a867fee3c06c93d55ae2f4eb06e0bc9c468d4487de847f55a69d595b698033f0429fd2fda07af2cffc0eeb29669cb9748ec26f7f5671d0a0b4da8e8d8c6220219ffff032cb3dfc211e5b2390798be6e014219a050c1de6c747a5af43c6e7f66d3c930de03579eb021fc2b12d107d88ea67382ea3137489685762b2a99c487e9bf761c1d6a0372eeede59d1d8e4f89e6ccbdb6489db71a63d44f3256fbdf1d8bacf209002c9803768c3be1e1750542bf84e6215f3d233cdccfe8434930147d13e5341ebdc98c2303b7cba84bd13d7e4b6f40babf3d6b67cb3da8b0494c7ebe937ec5de4b77323bc203cc248417ca09311322cc28c74ec0b9c7db32b71d284ca1b7fba6a95bd4e47ce10349bf38fd4b7e2735c64316dfddb0faa6ebabe49b52d006900d9eacce606f6edc03b0ee783ab3136bfecd6d61259cef19afba0ee3f5145eb13e01bcec800bb57f5403913883a2610ea2b8efefb2c2c64249321ec24573f5018f2295977785fec9bd4603df44ba64dbb3f7ac6e5e8b0f3ee88af47349874cb8aea7379a1916ef4ec0547503647440a02b7842bf9f0200f61002ceb2af4487aec9c72243fc92f2ad8b43eb82034b6e29222b681a396d573d55d254ae163f0237de414b010351ab9b517900280903328380bb365e2d37c3f9f8aa3cce41e8a588c5791107ac94abbc6e9f1a7e208d03aa764a11850cb06d3999dbadd1646cb9aa86e539bbc5d77fec22100b29f2c5620219ffff03ce9e2694d89f1b58bb34c486127f7ddf27b965dae951b40b2d4fd8384d0acb900219ffff03b41a352cdea594bb5449e5364b0e7e2e35f25d99345679659fa3a0688dfb438403e657e8332fd38fbf73746f6efc8dbc6a5fbdfe9a453280180f865fd7479e976503bbef6d837237156a67ddcc914083d5740bcb2a9b398c48feb499bd393284cf6103d638b62402694069c054f6efddcc5fd406631caedd28589047e237bf93822429033d4ce1a4ea0b429121dc728184bea0af3857bc51b5ebf9f6dee4449678e287ef03816fb806eb435dec34754c32aed4820b6838bce48eabb82ea595767ffa555c21037cb5a3808f89deb27f4070e4ea7b96120b5a931324bfe58d81eacbd1bb93ce90030f6b8de000d82e2ecb6a59bb034b433955a9b7521a59f1e497d3bcd33388fcaf03e9c3196f0747397138e47c0e49dfc1ee7cbfcb1a8a85bea415ec6339887ab35403e32a691b38e9a9b31d3a2f8fab6feb78a9c87fc4f825f5e3c98ff130713c68b20219ffff03280c7ab7810966f4892df4228ff01e10b33e8a1a485f5c034993d414006e25ba0369b900962640dc909fdb56c177234d40d519ef062b64f759e43e0464c2152201035113635c57ea873b051dbec0ab644440c3f43574be8a907533edf6fdda75c560036bca8e59f403083b52dee400f0682757c103ba5937dff076bbe045cacb64ee3e033861b0a08a6a0e7acee80cf10fd907d9df22d7f271c5ac1b4aa40bb5056f044a039d665f1a14f1cf3fd2eb22cd9d144ff469efbbffb5d388b55739df753d71b17203874802a7b20b73a3da8d7d7f240e60e0e114df93db3e869deb500fb0b28139bf03fb8d9c265df4ccd87786f681f00b1188902f5e3128894421bbf194920d2c0bec03c46e88e47beb5b2256dae4eeb0439a52fcc64893dec2b88d64536af674ab12100308af5cadc685802abbe65fece49cf089137d285cf69896a33aaa8b2f17017ad903426aa4637c9771cea810c3075363a261e684570a9e18125307a764ffca98666c03c4d854d8e00c75dbe281016db97fdfa9dd367e80ef05ae797561a63debc26a2b038ebdb568c49c43d030aa210e8475d04c056fc78935e5056b34f71ca7c2b80e7303507febe5830e604024ea34b71910a0999c152c75149e5080eb565d92ad421daf0319c07e27d83f73da7923667343642acc43dd9cc9467b2c42f3c82865a26fafa1030c90df64d35b4e95fe13907d32a058804dc3377e3576588528e8f98ab01002cd0310f8e8075a1368cbfaa4f0d8bd2f3bdfe88b9f972d521eae41161ba2c07e939e0381b6c0eb65cffdba4204db1d9b8d095d6e55caedf8f535a781c946b40443f71b03bdfa9797a8f182dfac939e2907d2644b5ff6e16163528767d10ac5c737e6bf3e03b6fda5f080cc2c38fa30801c7eb8d750c5085971e04aaa058c337764c00656fe03be13054102f635d9dc2645b1d832322e7c2776ac6023c0b892a13b28814f04fc03334b895e858cb03c3612f7a9b59d7c6f21fe486fc8ef142c9ddd26f4a8b4fc8c03c3a267e24c6542776f305b73d0f072b20a9b58079f39ed03c980d0af8bcf795d0358588506ec056c3c4be5d9cf61efb1a0c890b295869497e987b1ea348455cabd03230ac8f6cfd3fc66b664635266f1cf069c6fa78b0abfe2b09920a0f9b9d18526037111a4e884da3996e90a9c1cc1934ce590f89a3ac02399d5322bf690183f24060376fbb4ce7326f5204a759d4d0f5a23b8983504c06a33956c5d45a437e47cfa1a05581e03b7db2771a4f6ceb4e8356b7fc85cd517db50d4bfc126b6e13840ac44300c10479ec94d7839c3c005581e03f789b679a6ddecfd1d19849d75109fbfcee7ddc2019f57f027162407c004020459104b73e92b1734fc37f8acc950d0d13a4147537295873030146080604052600436106100615760003560e01c8063040141e5146100665780630966c1d61461008a57806345f92b92146100c557806372e2f5ff1461011e578063a8d669b414610165575b600080fd5b61006e6101b2565b604080516001600160a01b039092168252519081900360200190f35b81801561009657600080fd5b506100c3600480360360408110156100ad57600080fd5b506001600160a01b0381351690602001356101ca565b005b8180156100d157600080fd5b5061010c600480360360808110156100e857600080fd5b508035906001600160a01b0360208201351690604081013590606001351515610299565b60408051918252519081900360200190f35b81801561012a57600080fd5b5061010c6004803603608081101561014157600080fd5b508035906001600160a01b03602082013516906040810135906060013515156104d1565b81801561017157600080fd5b5061010c600480360360a081101561018857600080fd5b508035906001600160a01b0360208201358116916040810135916060820135916080013516610605565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b604080516001600160a01b03841681526020810183905281517f7448631a42b517f68d88887684b74975588cb53c7e7aaf9b6228696422bfc19b929181900390910190a173c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561025d57600080fd5b505af1158015610271573d6000803e3d6000fd5b505050505061029573c02aaa39b223fe8d0a0e5c4f27ead9083c756cc283836107bd565b5050565b6000826102a8575060006104c9565b6001600160a01b03841673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2141561038657811561036a5782341015610311576040805162461bcd60e51b815260206004808301919091526024820152635453303360e01b604482015290519081900360640190fd5b836001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561034c57600080fd5b505af1158015610360573d6000803e3d6000fd5b505050505061037f565b61037f6001600160a01b03851633308661090f565b50816104c9565b61038f84610a6a565b156103a95761037f6001600160a01b03851633308661090f565b6000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103f857600080fd5b505afa15801561040c573d6000803e3d6000fd5b505050506040513d602081101561042257600080fd5b5051905061043b6001600160a01b03861633308761090f565b6000856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561048a57600080fd5b505afa15801561049e573d6000803e3d6000fd5b505050506040513d60208110156104b457600080fd5b505190506104c487878484610ceb565b925050505b949350505050565b60006001600160a01b03841673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2141561055957811561037f57836001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561053957600080fd5b505af115801561054d573d6000803e3d6000fd5b505050505050816104c9565b61056284610a6a565b1561056e5750816104c9565b6000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156105bd57600080fd5b505afa1580156105d1573d6000803e3d6000fd5b505050506040513d60208110156105e757600080fd5b5051905060006105f78286610ea2565b90506104c487878385610ceb565b600083610614575060006107b4565b6001600160a01b03851673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21480610643575061064385610a6a565b1561064f5750826107b4565b6001600160a01b038516600090815260208790526040902054848110156106a6576040805162461bcd60e51b815260206004808301919091526024820152635453334160e01b604482015290519081900360640190fd5b6000866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156106f557600080fd5b505afa158015610709573d6000803e3d6000fd5b505050506040513d602081101561071f57600080fd5b50519050600061073983610733848a610ed2565b90610f2d565b90506107458388610ea2565b6001600160a01b038916600090815260208b9052604090205585156107af576000610784670de0b6b3a764000061073389670e043da617250000610ed2565b9050808211156107ad576107a2898761079d8585610ea2565b6107bd565b93506107b492505050565b505b925050505b95945050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b602083106108395780518252601f19909201916020918201910161081a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461089b576040519150601f19603f3d011682016040523d82523d6000602084013e6108a0565b606091505b50915091508180156108ce5750805115806108ce57508080602001905160208110156108cb57600080fd5b50515b610908576040805162461bcd60e51b815260206004808301919091526024820152635448303560e01b604482015290519081900360640190fd5b5050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000948594938a169392918291908083835b602083106109935780518252601f199092019160209182019101610974565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109f5576040519150601f19603f3d011682016040523d82523d6000602084013e6109fa565b606091505b5091509150818015610a28575080511580610a285750808060200190516020811015610a2557600080fd5b50515b610a62576040805162461bcd60e51b815260206004808301919091526024820152635448304560e01b604482015290519081900360640190fd5b505050505050565b600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0383161415610a9957506001610ce6565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486001600160a01b0383161415610ac657506001610ce6565b73dac17f958d2ee523a2206206994597c13d831ec76001600160a01b0383161415610af357506001610ce6565b732260fac5e5542a773aa44fbcfedf7c193bc2c5996001600160a01b0383161415610b2057506001610ce6565b734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b6001600160a01b0383161415610b4d57506001610ce6565b736b3595068778dd592e39a122f4f5a5cf09c90fe26001600160a01b0383161415610b7a57506001610ce6565b737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06001600160a01b0383161415610ba757506001610ce6565b73d33526068d116ce69f19a9ee46f0bd304f21a51f6001600160a01b0383161415610bd457506001610ce6565b7348c3399719b582dd63eb5aadf12a40b4c3f52fa26001600160a01b0383161415610c0157506001610ce6565b735a98fcbea516cf06857215779fd812ca3bef1b326001600160a01b0383161415610c2e57506001610ce6565b739f8f72aa9304c8b593d555f12ef6589cc3a579a26001600160a01b0383161415610c5b57506001610ce6565b731f9840a85d5af5bf1d1762f925bdaddc4201f9846001600160a01b0383161415610c8857506001610ce6565b73514910771af9ca656af840dff83e8264ecf986ca6001600160a01b0383161415610cb557506001610ce6565b733c3a81e81dc49a522a592e7622a7e711c06bf3546001600160a01b0383161415610ce257506001610ce6565b5060005b919050565b6001600160a01b03831660009081526020859052604081205483151580610d10575080155b610d4a576040805162461bcd60e51b815260206004808301919091526024820152630545333360e41b604482015290519081900360640190fd5b838311610d87576040805162461bcd60e51b815260206004808301919091526024820152635453324360e01b604482015290519081900360640190fd5b8315610e245780610da757610da484670de0b6b3a7640000610ed2565b90505b6000610db7856107338487610ed2565b9050610dc560001982610f2d565b8410610e01576040805162461bcd60e51b815260206004808301919091526024820152635453373360e01b604482015290519081900360640190fd5b6001600160a01b03861660009081526020889052604090208190550390506104c9565b610e3683670de0b6b3a7640000610ed2565b9050610e4460001982610f2d565b8110610e80576040805162461bcd60e51b815260206004808301919091526024820152635453373360e01b604482015290519081900360640190fd5b6001600160a01b038516600090815260208790526040902081905590506104c9565b6000610ecb83836040518060400160405280600481526020016329a6989960e11b815250610f7d565b9392505050565b6000811580610eed57505080820282828281610eea57fe5b04145b610f27576040805162461bcd60e51b81526020600480830191909152602482015263534d324160e01b604482015290519081900360640190fd5b92915050565b6000808211610f6c576040805162461bcd60e51b81526020600480830191909152602482015263534d343360e01b604482015290519081900360640190fd5b818381610f7557fe5b049392505050565b818303818482111561100d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fd2578181015183820152602001610fba565b50505050905090810190601f168015610fff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50939250505056fea2646970667358221220769225714237f4ad7c8c63eb9ff347ac08f61c52c77d2bd1f271d5254a8d332064736f6c634300070600330605581d02e399092d01efe97f462f6b6a0f62266ee4192954dee43dd652d74e02070119104b05581d0297e4e8037bf7b50068bab46f56f861a7f11254240fb05bc95d05db3a04040219020803562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e039051f654868e66f078c0fb93a704e01ee4a935e90d09232e3cc4c531c007011bffffffffffffffff03505f81d01168860a8357ca6de58a89d49a17f745e065a5afdf68b9c99daf145705581e038f66640f1f412929a2cc4cdaaf69722a4c3e2ea98600255b9c1f07b4a00c02464b077058055805581e031847645377c0cd66144e0756d4f2fea66ecc234029c23ab912eebc22800c0147073df652f4d200036707abd7a221903f951fdf71e239cb4f7dc30d9b6d996aacf7f03f83af8c6eb002193dc30355f34b392e5c6d43ae7fdaa2fa37e4211cec7eabbbe6093b9a956399073c072903ad80fa27fe7d3f66689305ddf7f170fee7f02d7f9307e4791fd041b8f94c0693033551486e2160dedb56a71e6db379d1e7054b0d76b0dcb87ddc33cee9c3388b870365f911edc3661c1f805214915d7c98dfecdc0ecf5529637ce1b657c4e985b982037496f97eba9ed1cd9199c10533a1b1ae71c81ed4cf8e05fa3bdfc025f2ef02760219ffff03c8ffb5fd830429fd38747e556ff96f29fb22ad27c0de79df7b8f5d468c1b422f033c01459276a73f9b2f9c139e6113e5f85618a0e422bc3377e82f8e3f98afc011039005a121f316754abe478392870eaf1ce460646a4e489620bf9ea6e8d6c0c866036692528e0fc1259a587907f917aa2f045b0ea8429befba4eeea31d09199f655e038cdf667f46b43d423ea3323c398a0f9e69eb81cd8879c4e1452e0fa3eb37d8a103986076bf4aa0c3864be09438d12b4f661e135aaae277a064c098ef13a10924e703e493cfd8a3048d1f51bc8e31a9ae6e3ba1c615b198dcf69fba9712058e74cd0103ad7df52680e6a22a77c66cb700948fa526b05a74228aec8111e317752c6242160332e0273f06a2c28875682fb38d1aa6e968e48db5440d81252f6ed6f5cb57b42d0314a3b66bb4f15929ae6437ea41f55be44818351b765a1cb735301d2db91a638403cd4b8a6aad4143cb1c611a641b4c1ac035e8b8ce5f7474691808813eee9e7b94033d4e02597927c210d5cd0e066cbd86c8a78380677af00958405804dbbb73fb8b03a40caad3e9c194951ef019b6529505ebfae1d92d2c2db12d7c9c140c3fd418ab03b203e59653bc63defc3d9a32a51ba62108779f9e184324bd1ee3d608d5613a250219ffff031afa6986c735f4661e722aa327f562284178d95ebef19a3c97d1eac6d68245950219ffff038d8988b37bda801eec7c4a0fe9abdeafcb0e0bcaa34c7ee38865e7db2325fc68039f8d76845483d13b2558f20c3c749137caf4be0015f7f6424f8fee1ad3eb4a8803a01907be8dad029e66dd4fdd9a4c6ed8625b843d5530ed065dbaea27b08c70a103b9fce01322fdbd45a5929a04cb3a5cf0121e6ce8ac57ef92e6352db992dfcec1031204242707023ee8a33846af2ed3e37ab9ef78b5b4b3386952f692acaf4df2af03f7e66ff6a6eeb8d477e6a5acc8eb25aa552682ddf74c6be87c406b6ca1e4fe9203ee7feb5ff19c2ae3da803d698de9c64ddfb85082960d640ae28a493dcfbfc79c03158d6be1d6f221f0be92f0ac957581b8dde40b402838cc705067f541a8c2de6b035b34dc7d3a6cc6a1a530df11ae77eea02e735944f90b370f9c24d41202b5e155038286700ec26ecb7653df6487cfeec734b8ed4beafa708e5088b1395ee49356cd03b07181fefca61b21a9046c36c3c3831cb481840d15dc0569a08edb71863da2190334164806948c7e87bda894b4de098bb83172ab5cf2553a8c69c8252d135b4d7503a391490a21c08879060056e5a833af8616504a42a1b775ec1d74fd63a80ad4b20337f5b31b1e4516be3305f9544c259884b6de365ef2ae3ae14c254cf90256b5e60390b4c0e3eef30035ee31bc44ad6cfb9b59650f8187f65afdc5a3d2e679c7cb2b035187a8dc00bd9bebab0321fb4f88ee906681c3abe1f784400215366ea1b0e1be03cb190b73ca7ce3fbe59223f04fb23f0bf495aa0e1a0df97eb7cc41a686976bd805581d02d79ce25715fe2ddf17ca3abd8d50ce0e93659293d98a73c8913fd71d0c04480127d857d163fac005581d021d178bcc44da56c3f66026403b49cf19fe9eda91e96dbf7b39222fa40c04472526184fe8780005581d0233b8ec066364f92db662f6918c25fe7d6079a51c38c5dd3785615a820c01461e4715e70d180219404205581e03c977c077ef89935fb76bc75e35b5a102a3120781aecb23417470707310040105581e03cc5d51d61cc2e9512cadeb731b79c78a0e995cd8149a0e8c27939f55200c014644e7b718f40005581e03997f0a28a6249844cdec5c25460e7049e7ef3698b72b0f4ce7787301800c014702d958f722700003a34880cc5a8bc539c2d404e077bbb5a46f5b6dee8dd0d795faf613806fcfc46d05581e0356c365dcdf209c991495c45d7890b8eced5517dbe2c647dfc0ae2eb1000c0447da7c75d76f35da033abb1838e1e01c79c19199218415717e5f3882398f1a217b51fff144c1de28c3031765c877ec7ffdc6ba686865df2c61ab3a6c3434981ca7f4ebc83c4991e1a27e03fb2ba7b19f94e9a6ca542aa3e3709119be111c41152587b0f5d69222dedaf1f805581e03c5e0943a20ccefa1f67c253c101f60ce33a755581130720c5b33151ce007011bffffffffffffffff02194b5a037f95c8675176d82cba312e3c47b5bbce2bd063ee55210bec7d98e53a54b211b003a6d431b296664a9b955bf02f455d978f856e47ac717a3f950f25a5070a50d4ea03950a29665eec1c0d0d27a74454bbbd0d25038db5463618d81e992ba1f84f749f03c32ac3809630230fcd084e2766c032bbc0afb7daa7a749561b590542c58a060a030dd76821948d86f7d5a592f2f5b00d72c98f989d12ceb22fac92cd7333773870037301a750c7fd60f2cbbd634f97ebc5b4caed8e8076a1f65c1b09aa13c8a2106b0382c8779ad4ee501b6a8f156b448ffea810114a2fec019acc81735ad701398947031c4b81456cf7702e86d5eed43736e2276635622af0c0109ec922b1ebbb5a48db0219ffff03a69d8926a2aa86dbadf9331f1d1555eb4b954a1c0f841b78ae3f13e8bcb1769f03c1ea39a59b026436e4a1ebd12934a2bfa176a16c0f3f89ea503146348850053b0313b085b160d86d36d20877c3716ffaa3623ba55f5ac00cabf87cdbffc2c1342e0353d7a7c77096e56f9a857eb60e3141b9baf680469106ee44858a29ffbe81589503c1d494658866935697f848005f091f21c013fb8bb22c826b6f572b4965bdccb40338f6edf982add4078f8c2ef53636131dc0ea3a6ee651eb2fabe8b45c32bc1250037fab8360ac6d3b5815c2774750ef119c84e7038bae81a567d310f34e3ae9b78903c48fa2824ffd55df9afacf8f025f452f9a3ad7a6aa9c22caa45139ef8595934903f01905bdb73a1e6cdff4e41068863534b6d8d4528ebfee1ab409cada2f22e8aa033a7e60ce701d0bf8abd346992c1287d733903a434fc97734e04b21bb55235b12032d4cfa9e309f24b8125851ba561028b61a41169a5f8cba7051828ba04f2159f603bff9bc17cc855693e490ce6370089607f3ab933aa3dd086e6458e2a69c8c7495032ebc6d22a40a1491fab39fd7b78de45d11282bbcee3eb36b97e7663f1e10f85e0219ffff036ca676c4e44dcf70535f18812a887d9b11056dfda3dcb326a731c68c0810da1d038733ab92f9d2279f2f5d5153d7e3d3ffe88d0335f326a720e3f914d62992328803d997c1b86c384f04d8f1ff27518f76f8d5c2dc9b0910430a7ddf762bdb35f477034e8e1d63a22527ecc0978f62196f38f4627f482a0de9b98029e942efb98eba0603036ae482cee21d000c28bf7b72ff89b7618dec77b49a64a5929b8fbfd8c1065903856c15769badbe23c2c6552a137074489c2daddca986b83be8f52e1e707e91fc03b535a18a5c1f687c4624e55f3f625cf9c01c3f9e81445508cec25a7002e9e6f80219ffff03922edea7ecb0c313f6c2b9a5ee4c082797e5d0dcd045fb69bb5ca27a79c2f60a0361850c9a13658e1a22048413acd1f7dfffe474f5fdd510ca94622c4f677315e8036de96c61b74d7918833a06b11bb579196322a1968032c989730ed147a98c826e03870ba5ec164eaba4cf905feeee904d63d6f9bd89605c90fba08784842cbd505803f7d58101594b482a74bd100b6ccc08ff7a6d5de4b9c0afa84ffa95b5e91a71220310ca864d6c92b056ef9005a1cda23530134b2d82cc7293e5237e49419fedd75703136997ff8dc44cc0dfa412437147fd6c1d2e7fe530c3ee468089e96b165d1b8f039513c317180c67f562e99372d4fa3c10c7d003ae4031aabc6b8622462b5e28a1033a140d46c6287b25c8a7bdb8797f8c781b908d9b53a2ccb5c18e221a7a34a940032d95c44accbab7cd86ac0b28d2c4460d06b4b0a4a1107b6cd932a50b18e2c42c0347a7d3a09b88a04cab715f3758a71654d926332e686fa8a542e88c120f22348303e096185fdafb605c66650e71ace4a9fb423a1d3ed92688645fb5144ab2872ed103a7325a4043fd95535c4ab3ee88eeaa5f2e517a46334da399073393c1da78072e0332ded9812987e665bc85a46b8e4a85a7cd3f552b71b1979fba0abe586b5c0eb603b68d40a8de59e568af046eb8381acd24fbb452200688e5ba246163244f38245003b6257f509572e9589470abbd8ac0ec3acc7807c1d95de2e39826a426b4961db20342f790742087a8d101897e15f7ef7acef8fcc2fad92e5d447d2d739ed397183b032c3f440875f7185134cf716fc8a4e8b5dbd496d23aa06c8243854636cd222eae033c87e732f1d2808fca101e86de56854eeac6fd479e8323d84f4c30454c50c35803b70f610a7955193e37596ef05b70151850c734d772ffc26d069d7decc5aef584035cd2d708f3b52633ad764e75dde834f98f053adffea41a4d81c58771e3b7ec7c03cf220fcdd225fce2e9dc644bd0ad95620360848f138a44fb00a2204874542c0303982ffde27198a0bb89426a7106a7b07cbcf961bd652d9bf0a343b139ba62b3550315a9dbf06b5cda15a5a2f59b57eb811bc1af67355d82af3e0e199067a11360b8030b19bb455ef1da26438b57a444bcfe62322ed490f9a4fea47c5bc73548b901a303d3da31660ae38a43aca442b8559357d5c78082729de7a27d3e46d9d75df9eb8a0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803827cf661be417d57802794e6eca45af244ef5d04d17ccd810b85778ebd6d69f105581e0312cc881d25c69cdb7348b1e5921374085f996cab088f0da5540a83de5007011bffffffffffffffff032c30f186e0e2d935c849dd230bc8fd6ad3b48e2bc53dc2e72d790dc597f2422c05581e03795cae48ac286ecb0695ca209e242ab44cfedb27a956e8135d9e5b9f400c01460e35bef8500005581e03f96cb48c473f27fbc65cf633a9f6935db985e705d24a26867081c2d1a00c014683ffbf83345005581e03893114c868f0b6b5834070eaefc37c6fc756e559910dd09a7630c49f200c054762969fe0c1c8d8032cb835a2efd673874a3d0cb2d31a8e1d7df04ac6d8f17d0317c874f23fbbb50a03f90e3a2d4d54ce543bf1ce658f87f45b78ae76cd0955b0645fca602c97972d2b03cc5063cd874c76cb4d34715a67e999a681d0b82862a16652fdde81494372247305581e032b32e5e3cbaa54f14530898e97b3a64446ada8ef12e7eab16c05c1d11007011bffffffffffffffff05581e032e9cc87a57faebc40d47b1c8372d1f0c182c0bef308088edb5782dc130040105581e03926a238a3fefc051b455bdf96e8899c83726979de705025b85e52194100c04466092b7c798b805581e034ea62c1d25a85378afd9ce85accdde891601bd236eb3a6d5dfbd2f787004010459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d58d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613b86565b8715611aab57611aab7f000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d58b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d5908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d59087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d581565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000cab82c42b5195624671b92b1b0d91adf171f103c1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d516939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03b193dcf312fa20263848535ebd3df442de41577f2f22f5634c736874ba25330b00582103a82407e03bbed1d76b401da20238111c835f9b527bf5a87c4c5b1bfc75cc79505820016360f3bf000000000000000000000000000000000000000000000000000000005820021b6f709181e1587897c14661f2c06d1fbbfe440b9bed01dd6f7d7f1ff00a9c4f19bd75c44a40263bc998e82080ad160058200296456aa208850c88a0abf63d9dc1abf43adf7c3726048a19e2e0a84e40528c4f076038f2924442961eaafc04ed8316005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f010000010001000001ae2400000000000000f60ee265706f23cd509d607d8500582002067b544577aeff3bf261fcb9ba53d3d24aedd9f3de23ce96353191060c3ea0501504f4e3a9b5649b2528dbebfb2c688700582002c9d0b43bd3a773b4a64d727d0a16b094c4e3050d7f0d901d7f8b900aa2949f4f059b40e8da8e7346eba64cb1eefb5a02190e120379d8758fa69bbd38746d3b5728d540d8924cd8c1b428d51563804a6f279beb73033bc0a75d80a168bfcf7fb68b34f14903cb6ffa19237c54c693e5c5db76f2a17b03079b6eef42cabec0b70591d981e944de3d7dc4ed31d2cf98be3d67746118889a0321ecb1edac63e52de79420d6589641c21983ac73a7479016aa9cf6c6b37df3c503894ccc89139ccb12ae1c541a238dad60e0ca3935e94a7191d413758927fe109000582002010eb9820c88e824885fd8f7f32424ad835133ddc769cedc18104b33953abf55040000000000000000000000000000000000000000005820024a5195b88a61717db8969da97202f17602bf9677ec986a4e5854a59061f3fb50b547c31296a56cbd4122f1a4c73e16f70058200278e8d900d43b3e65a0b7c4fe63cc6be5b6b432876036bfbd34f2709134aaf1490199c49eeb31e9b12a0058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4a0165ff1453b376d567ca005820025488b863f87d498b1149bdd20c3966fddba47ea651f6a7e457f3e05139ccd94f019fb8044481a90847612d00531ad1021915480323938585818c998c7c6fbdab8219e195f9ef770fb5961be777933828a0ce025300582002f422a014a7022b3a420168b0bde0141a01c8a6cfe83fc85576cd8707bee2034f03a8bc9dfabe9ad84f3b668375646200582002a76ac773aa042aee65c64bccda21d1d8e2e0c5402188f637d8fd5c587e56245820ffffffffffffffec15b94d4db117d47d0000000000000013ea46b2b24ee82b830058200253259c2bd5b72c884e00a6f4a823dd0f568df5f42e3477748634a9a665cfd85101523a62b458941471d323f6d0ccf44cee00582002f81098716774658650292a40898b070383b07c2f2014fa1186e91d18ac6e2f5106ca46133089f8c42f33b8e5fdaf77926300582002f9c8b3f6f4e6595a1df6df6c95d81672f9411a87d6dac01248f5eceb2106b64eb853b7119abc3ff54ae8690a164800582002d0a09d8cb4688a4fda28a4befa6ea17726d1ae834112ee557c559b7a4b77e351050c82a2023be3b78da43be71aae364fae005820028b897771ed000c7a4903d7c36bb9e905bf4e2c232bfdfca06fd5a687361f15510692094c7d7bc5cbc2dda0a189b0ed11550058200395c33a76f59394f9a67d855fd123c819286c953815c813362a364ec55bc0305820fffffffffffffffe663b6114ce164ed6000000000000000199c49eeb31e9b12a0058200301a9adb69eeec968dbcfb7c6343280aeafe233579911701a1915409021ed10581913ea46b2b24ee82b830000000000000013ea46b2b24ee82b830209005820027ab3c81149d781ea1b8db72c0f4867437d4d04823db926a0bad11b4bacc9384f1833cb73bbca1b17166a0f0bd254cd0219dd0b00582002a3bb3bb41f44148c88f876669a708a2c68f07dad96b1e3ca0e03039f210f134f4c5f731b0b2d546d7e9b2cf68ec00b005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf64f6501f49185776ea44a8258d876548e005820026c0342ac262ad1b43ecfb12f69079cd5115896bf6a07419b08b5c404e6f6f54f2ccc8f93d24bcf3a1057003c291a6e0219800300582103453a37db7f014cb577a9456d2e70f9bb9f0698698ef98bdb0f811aee9fe3dfb04d867bee9cdcbb8883827c7d7e1a033018a79dcd7f014ab77b1f49797c815ee65fa94f645512aa5642c746349d5fba035db750509376ba0797bf35f3fb2a5612492e0250429f3ac3969b23dfd55d368a00582002df6c2751d6c51bbd887dee790267b318ddf4983dc07cba709146b9215e012748200000000000000000582003ddaa70c789b03783a1c38117463abcfc27864a172dcd934aebf0cf2d1e59904d7b4c4a0204d8950b1d449dc3d5005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30582001000000000000000000023f28888bfa96a6fd07f100053884b9139866879a3702198040020c0219ffff05581d024c91f4059f2030df203015a11b3cf3f6b962e41f3505423121789c52070119567e031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581d02301c79932c48fdb4099f0e439450300944daf8a83e145674df3ad3a007011bffffffffffffffff05581d020ecaff6414259dee6620c58e8188bd5ac99bb7679a9b136d1bc1f0970847396fcd0415700003cba14a6b4363fa27a29bf68220883b5a7360c778a005bb55c6580889e93cc6a80219012302197e8f0316c4bb4b7d810f57328a986a8c9a57e27c49117ba256a321a71d53d42f34acbb0219ffff0329ae3b01bd90a36d6b0cd46b9ef1dff1f8fda49aa35db57047ea64962ca0674d039b186e0c786bb677de3a5f466ffa2caa6de62c34cc1305a9b43930f91dfa172a03d86f9ffaf7cc4733a555dc8700ae7cfec93b34a75efeb7011ee1ef9cf3c800d703effd013af87eca358597f850dcebb67336a91636a978f67e775ef64b4b118c3b03fc6d0dec73cb987af2e738666dfbf18325437f864019eae6d86050efffcc565b033f164ac17432eb10aff4e1eec3b614617ec9279e7e6f28a73f7b28729ec2dae5034fe37660c0a756a790f41d279d2f098e71bb5a037270632f9e2f45f1178db61903b361c7b9932356f0f2754bfa1028a796f0b8df3f66077264cdaa9fb40ac8d08503e8f9474c774e7c78b75e9770fcff391dcb1081513e76806a7a15bf1a4b77984d03114411953bd61ee4c61c5690657014ebb2245229e6fb0efd8aeb46209191cb530352712483cfd039a894400e5e55faaba53379db05043876c259e3a6e389bf22390219ffff031d52ed2d878abd7c7035144a989e68f9187ce456b21807f08ebcc6b973be392803ff204786abc37a2f4164f7991cdcea894a3546dc2b015a0167725515d0f0192303de7bbce0f9633d797e311b207941db3586fa730e0ef56e681e9fe55f95aaf75b033d041ca515d6b5ea9df4ae4af14697f858f5a84bbb8c83e29c8681998d784bab03c4c7599d308f60f4c9db2bf3d46ad5ff71fb3ae3c86795bc45cb868a16083ffd03343abab1f1bbabbe8abf5eedf1ecb9fc59e142b965de1c3527a40a55e687d72a03943c69bb5cf0e51d7b8a391de9d6fb107e23ac70e8dc0280e2db6b8c4faaf5e2037cb14517ffd7e07991fdad247c5b5314ac13878b90499ee03b376fe2e9ea03c603df5295b40b2d02e591e10e3fa7514a199bfd5ddc17312a1b201ed0887d3790c903c1439b37f7ef98b2475c09ee00f401126d7258b39da12043fa1c5802edf652bb03f0934895594261317878580889df301a5d7f3b5b3068e1c713367c15f026d0bf03ece872767a90d7d85fc7d3305289da7719e8d64fe01556db574dac0d2791dd0d03212c8e20f3f3d0d2c6731f0ad69f430d97e385e68da2179cfdcee4db0569ded30219ffff037af78ea48c249b9db293c409f7df5ae60b99c61548bf50b860f87e1f927336cc0365a3c607b3a06be8272493a9fcceb40a4eb55f158b509a03f2e6821061d69e46037027bea0bc6c7842609fd3d8cf5f1d07d76c70bfe3528e8bb62a5bf5f893184003b10f794cd249f0ec8d7f1ec25e1bc26b31ddd5397e61bbd4231da98da70a5b7b0302a00f4f1f3d15702e72747e440d4a5d2c594c9f42b63f54b50e2c38dcc679970349947f62c52964b2f67029f2e789b63605efda909caa04ce0620a2198e076466038856af3229d7b4ed98dbbb2b66c3755cea93feb669ad5cb798818b1b4aff068f03b8fcac12d1db37ab47545d5250b3c1d92557b3093f1547e8339d25647a41e8a403886eff02d6a58a9ed2f130ce2679bde046d3f1aa6922cf0f41a88d791d6c125803813beac1dc75f29560106f6b830af8adf1c31d9800b159eb7396b656d9dd6e4303ca9c02db121c02f7fc71c1e29b9628169a70d7d2a0e8fb30d2fc4621285b6585038d0ea78d7db1beb8a3ca9314e5f2dd8de0a5c16c5995b35c43f8f1b03cda31f503fce7c914ddafe146f48450a10e8204858d50e0208e7d8e65c60980f76815650e0376da1596f142d3596d47e9097f0c708e0fb70c995ff384bd43a0f6d0d5cec29f03be7776c87838ed9e47f1cfbef218ff6f8749320d781891e18607cff95ceb0574034bb5f335db1d4caa8ab6f64f357d7657c1a55540e33546109edf4e5dec7eaaac03767b80fca29a16abe8948cfa4f79504d3653c0bddf5bb3308249d2af19d72c4d03a3a88113030879734f9d7ae935efb3ca9ce966a7dc895efaea4da5811f2f15d903911473b64902657ca0cab544a74c650dbed740e8921a450fd2b6513b1f6881a203a788bfe84feb25e045965a9ad47ff8d21c76558b80695a8f16bec5fa865a6696037fd6b9f25579e67c5ac929a5574289a2275f28cbdc0b228a8b4d35463092fdbc03a45c900362258a8b97d1d9519ede9c098210976c42cedde9eb16d34bf4c55f8d03d6ef835050f73327bba2b49c96be7a633253ecce41ce1d84489a33910dddccc6032929b908d3481e96fafa8594d3fce640a3efe665c4a4f680c0a235243b389f2e03efa1f8d0f8f31ba55c09a78cbb86d0373b6f2d50468405545acc91756c5c505d034fd34cf0a642aaeabc9416a75d77c91b6a4bd3beea8b27f0dd9422a3a5dc3f310323620ab32297f04a234e03758e60f14d919486776ffdf5bb9a17c191d4b7900103da0b48d8ce97e36c2eb2af1830ab081b22d2dc7386956c1925835c206356375e035775fc1a94ba9e6daa4f5371004325fc9e1247b9383038d02ae56ffeb1767ffa032e0b23dfffa9d98f72bf19d6441be8a80b934a5b12c0754df387cb7c9101a4e60397b2d24237de5afbea691cf59a5f554d5fff0153ea2ad773c00fac7a23074cf003207e261e3fde8762fe162abee7122acffb507264b4012a1247b34d693876c4f70353b0ea11d874495da992aca60529fa1d188b034b09b210772c62df02e75e187f03e18b10022fab7322f56d27714ca4a8aa88edfc39f6b0ecf5d05a40b71e165050038a376efd98215a8fa9f2b6ff7c08fd267ba9ce8fef3550508b20f01dd4c37dd103a3bd040e81c91269e0d3b416278ac638d3f5e17c441da9911d476d1248f202ca05581e0332f3914f8c92741afee649cced0a91a55f31132f9ccd414392459412400402031cf36a729676850e393c42ce9b749ca694b633e08bae2446958487d27deeecef0308ee4a166f76748fd2e4b6ba59f6fb908cdcd25c6cf53bb4cacafcecdd1c9cf905581e03e33f34c5624cb90f393f3bdba29f296246902ef9a29c707066c991fe30040205581e03c6537598b9372cc1155b45761d6ba6e89dede2f69f328ed9def80cd420040305581e030e8723bc90d1ddf98884169ea4993adb29db2342db16bf810556228480040305581e036463ef2d5f41fef68fec0bc8131a7593e7c9e1bc503610929f9ce9ac50040105581e0360b23dc07f46355858c26a3cb1bc06a963d83bfd74d4a9d27607e19bf004020326f789993ac64e4dca8bc816b5d6a7abd405e2f9399ddebab930229a41183150030f7c9fbf38d69fc949c92b2cb4a97645a7efc242bf802f42ea978700bd8ece4604593736608060405260043610620001885760003560e01c806380710f3911620000e2578063ca9add8f1162000095578063e678ce7b116200006c578063e678ce7b14620004c2578063e8ae6fdc14620004e7578063f73724ab146200050c578063f777e635146200053157600080fd5b8063ca9add8f1462000453578063d0ebdbe71462000478578063e1922ef5146200049d57600080fd5b806380710f391462000371578063971d3d181462000389578063a64b6e5f14620003bf578063a6f9dae114620003e4578063b1a096dd1462000409578063c1893d5c146200042e57600080fd5b8063417e290c116200013b578063417e290c14620002825780634d1b335214620002a757806356e7b7aa14620002cc57806357567da514620003005780636507251314620003255780637c9b7655146200034a57600080fd5b806302319d6014620001955780630eb6e50914620001bc57806312dee48914620001e1578063205c287814620002065780633e4eb36c146200022b5780633eccca1e146200025d57600080fd5b366200019057005b600080fd5b348015620001a257600080fd5b50620001ba620001b4366004620022a4565b62000556565b005b348015620001c957600080fd5b50620001ba620001db366004620022e2565b620006c8565b348015620001ee57600080fd5b50620001ba6200020036600462002346565b6200075f565b3480156200021357600080fd5b50620001ba620002253660046200236b565b6200080a565b3480156200023857600080fd5b50600454600160a01b900460ff1660405160ff90911681526020015b60405180910390f35b3480156200026a57600080fd5b50620001ba6200027c366004620022a4565b620008c5565b3480156200028f57600080fd5b50620001ba620002a13660046200239a565b620009d9565b348015620002b457600080fd5b50620001ba620002c6366004620023dd565b62000cfb565b348015620002d957600080fd5b50620002f1620002eb366004620024be565b62000d5a565b60405162000254919062002568565b3480156200030d57600080fd5b50620001ba6200031f366004620022a4565b62000e73565b3480156200033257600080fd5b50620001ba62000344366004620022a4565b62000f7f565b3480156200035757600080fd5b5062000362620010df565b604051620002549190620025c3565b3480156200037e57600080fd5b50620001ba62001143565b3480156200039657600080fd5b50620003ae620003a8366004620023dd565b6200120b565b604051901515815260200162000254565b348015620003cc57600080fd5b50620001ba620003de366004620025d8565b62001308565b348015620003f157600080fd5b50620001ba62000403366004620023dd565b620013b2565b3480156200041657600080fd5b50620001ba62000428366004620022a4565b6200143a565b3480156200043b57600080fd5b50620002f16200044d3660046200261e565b62001562565b3480156200046057600080fd5b50620001ba62000472366004620023dd565b620016bd565b3480156200048557600080fd5b50620001ba62000497366004620023dd565b62001739565b348015620004aa57600080fd5b50620001ba620004bc366004620022a4565b620017c4565b348015620004cf57600080fd5b50620001ba620004e13660046200239a565b6200181f565b348015620004f457600080fd5b50620001ba62000506366004620023dd565b62001b86565b3480156200051957600080fd5b50620001ba6200052b36600462002667565b62001c81565b3480156200053e57600080fd5b50620001ba6200055036600462002667565b62001d6b565b6001546001600160a01b03163314806200057a57506002546001600160a01b031633145b620005a25760405162461bcd60e51b81526004016200059990620026e1565b60405180910390fd5b60008290506000816001600160a01b031663c0f6b2216040518163ffffffff1660e01b81526004016020604051808303816000875af1158015620005ea573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200061091906200272e565b6040516309e7878760e41b81526001600160a01b03858116600483015291925090831690639e78787090602401600060405180830381600087803b1580156200065857600080fd5b505af11580156200066d573d6000803e3d6000fd5b5050604080516001600160a01b03808916825280861660208301528716918101919091527fc2dd9f0423a30e3298e0f1915a6119f2e8f8b7b5c6fb812c221111b8af14b7b4925060600190505b60405180910390a150505050565b6001546001600160a01b03163314620006f55760405162461bcd60e51b815260040162000599906200274e565b60405163e1922ef560e01b81526001600160a01b038381166004830152828116602483015284169063e1922ef590604401600060405180830381600087803b1580156200074157600080fd5b505af115801562000756573d6000803e3d6000fd5b50505050505050565b6001546001600160a01b03163314806200078357506002546001600160a01b031633145b620007a25760405162461bcd60e51b81526004016200059990620026e1565b6004805460ff838116600160a01b90810260ff60a01b198416179384905560408051938290048316808552919094049091166020830152917ffaf62cbb0fb2fc4ee6de494df0da638d80ba0d6c4ee481c53d90fc60881c511f91015b60405180910390a15050565b6001546001600160a01b03163314806200082e57506002546001600160a01b031633145b6200084d5760405162461bcd60e51b81526004016200059990620026e1565b6040516001600160a01b0383169082156108fc029083906000818181858888f1935050505015801562000884573d6000803e3d6000fd5b50604080516001600160a01b0384168152602081018390527f3389dbe82a22b3a06ed2c17c682b0b7faa877c07d4c4582ef400181f963a90049101620007fe565b6001546001600160a01b0316331480620008e957506002546001600160a01b031633145b620009085760405162461bcd60e51b81526004016200059990620026e1565b6040516370a0823160e01b815230600482015282906000906001600160a01b038316906370a0823190602401602060405180830381865afa15801562000952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000978919062002790565b9050620009906001600160a01b038316848362001e50565b604080516001600160a01b038087168252851660208201529081018290527fd29983a90540507e79c46c7906af84d7c9644390aa33ad18cc015a65e4579ed290606001620006ba565b6001546001600160a01b0316331480620009fd57506002546001600160a01b031633145b62000a1c5760405162461bcd60e51b81526004016200059990620026e1565b604080516002808252606082018352600092602083019080368337019050509050838160008151811062000a545762000a54620027aa565b6001600160a01b03928316602091820292909201015260045482519116908290600190811062000a885762000a88620027aa565b6001600160a01b03928316602091820292909201015260035460405163d06ca61f60e01b8152911690600090829063d06ca61f9062000ace9088908790600401620027c0565b600060405180830381865afa15801562000aec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000b169190810190620027db565b9050600060648560ff168360018151811062000b365762000b36620027aa565b602002602001015162000b4a9190620028a2565b62000b569190620028bc565b8260018151811062000b6c5762000b6c620027aa565b602002602001015162000b809190620028df565b600354604051636eb1769f60e11b81523060048201526001600160a01b039182166024820152919250889160009183169063dd62ed3e90604401602060405180830381865afa15801562000bd8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000bfe919062002790565b90508781101562000c275760035462000c27906001600160a01b03848116911660001962001eb5565b60405163791ac94760e01b815247906001600160a01b0387169063791ac9479062000c5f908c9088908c9030904290600401620028f5565b600060405180830381600087803b15801562000c7a57600080fd5b505af115801562000c8f573d6000803e3d6000fd5b504792507f2dcf9433d75db0d8b1c172641f85e319ffe4ad22e108a95d1847ceb906e5195d91508c90508b62000cc68585620028df565b604080516001600160a01b03909416845260208401929092529082015260600160405180910390a15050505050505050505050565b6001546001600160a01b031633148062000d1f57506002546001600160a01b031633145b62000d3e5760405162461bcd60e51b81526004016200059990620026e1565b60015462000d579082906001600160a01b0316620008c5565b50565b6001546060906001600160a01b031633148062000d8157506002546001600160a01b031633145b62000da05760405162461bcd60e51b81526004016200059990620026e1565b600080846001600160a01b03168460405162000dbd919062002933565b600060405180830381855af49150503d806000811462000dfa576040519150601f19603f3d011682016040523d82523d6000602084013e62000dff565b606091505b50915091508162000e695760405162461bcd60e51b815260206004820152602d60248201527f416e206572726f72206f636375726564207768696c6520657865637574696e6760448201526c0819195b1959d85d1950d85b1b609a1b606482015260840162000599565b9150505b92915050565b6001546001600160a01b031633148062000e9757506002546001600160a01b031633145b62000eb65760405162461bcd60e51b81526004016200059990620026e1565b6040516307de27c360e41b81526001600160a01b0382811660048301528391600091831690637de27c30906024016020604051808303816000875af115801562000f04573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000f2a919062002790565b604080516001600160a01b038088168252861660208201523091810191909152606081018290529091507f79b283e83825fd493e9dd00a742fa72521774488941497c90f1e09a9278eb7f690608001620006ba565b6001546001600160a01b031633148062000fa357506002546001600160a01b031633145b62000fc25760405162461bcd60e51b81526004016200059990620026e1565b60008290506000816001600160a01b031663047601106040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200100a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200103091906200272e565b604051631b4918ef60e11b81526001600160a01b0385811660048301529192509083169063369231de90602401600060405180830381600087803b1580156200107857600080fd5b505af11580156200108d573d6000803e3d6000fd5b5050604080516001600160a01b03808916825280861660208301528716918101919091527f17fbff8b3643747bd5ba3899599e7a2184177deebb0f329eafa075cfbd96218b92506060019050620006ba565b606060058054806020026020016040519081016040528092919081815260200182805480156200113957602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200111a575b5050505050905090565b6001546001600160a01b03163314806200116757506002546001600160a01b031633145b620011865760405162461bcd60e51b81526004016200059990620026e1565b60015460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015620011c1573d6000803e3d6000fd5b50600154604080516001600160a01b039092168252602082018390527f3389dbe82a22b3a06ed2c17c682b0b7faa877c07d4c4582ef400181f963a9004910160405180910390a150565b6001546000906001600160a01b03163314806200123257506002546001600160a01b031633145b620012515760405162461bcd60e51b81526004016200059990620026e1565b6000826001600160a01b0316637dfcee226040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001294573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012ba919062002951565b604080516001600160a01b038616815282151560208201529192507f6cddecb83ed43866f4921296348f33b6053f6e984767b5440fb51f1a0aba76e6910160405180910390a190505b919050565b6001546001600160a01b03163314806200132c57506002546001600160a01b031633145b6200134b5760405162461bcd60e51b81526004016200059990620026e1565b620013616001600160a01b038416838362001e50565b604080516001600160a01b038086168252841660208201529081018290527fd29983a90540507e79c46c7906af84d7c9644390aa33ad18cc015a65e4579ed2906060015b60405180910390a1505050565b6001546001600160a01b03163314620013df5760405162461bcd60e51b815260040162000599906200274e565b600180546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9101620007fe565b6001546001600160a01b03163314620014675760405162461bcd60e51b815260040162000599906200274e565b60035460045460405160009230926001600160a01b039182169291169086908690620014939062002280565b6001600160a01b0395861681529385166020850152918416604084015283166060830152909116608082015260a001604051809103906000f080158015620014df573d6000803e3d6000fd5b50600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b0383169081179091556040519081529091507fece3defb9d69de6047dc4c589cfb5156b47a1aa4fa31d4dcb3edf0b2f939941890602001620013a5565b6001546060906001600160a01b03163314806200158957506002546001600160a01b031633145b620015a85760405162461bcd60e51b81526004016200059990620026e1565b47821015620015f15760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015260640162000599565b600080306001600160a01b031684866040516200160f919062002933565b60006040518083038185875af1925050503d80600081146200164e576040519150601f19603f3d011682016040523d82523d6000602084013e62001653565b606091505b50915091508162000e695760405162461bcd60e51b815260206004820152602d60248201527f416e206572726f72206f636375726564207768696c6520657865637574696e6760448201526c08199d5b98dd1a5bdb90d85b1b609a1b606482015260840162000599565b6001546001600160a01b0316331480620016e157506002546001600160a01b031633145b620017005760405162461bcd60e51b81526004016200059990620026e1565b60405147906001600160a01b0383169082156108fc029083906000818181858888f1935050505015801562000884573d6000803e3d6000fd5b6001546001600160a01b03163314620017665760405162461bcd60e51b815260040162000599906200274e565b600280546001600160a01b038381166001600160a01b031983161790925560015460408051928416808452919093166020830152917f605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a43509101620007fe565b6001546001600160a01b03163314620017f15760405162461bcd60e51b815260040162000599906200274e565b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055565b6001546001600160a01b03163314806200184357506002546001600160a01b031633145b620018625760405162461bcd60e51b81526004016200059990620026e1565b604080516002808252606082018352600092602083019080368337505060045482519293506001600160a01b031691839150600090620018a657620018a6620027aa565b60200260200101906001600160a01b031690816001600160a01b0316815250508381600181518110620018dd57620018dd620027aa565b6001600160a01b03928316602091820292909201015260035460405163d06ca61f60e01b8152911690600090829063d06ca61f90620019239088908790600401620027c0565b600060405180830381865afa15801562001941573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200196b9190810190620027db565b9050600060648560ff16836001815181106200198b576200198b620027aa565b60200260200101516200199f9190620028a2565b620019ab9190620028bc565b82600181518110620019c157620019c1620027aa565b6020026020010151620019d59190620028df565b6040516370a0823160e01b815230600482015290915087906000906001600160a01b038316906370a0823190602401602060405180830381865afa15801562001a22573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001a48919062002790565b9050846001600160a01b031663b6f9de9589858930426040518663ffffffff1660e01b815260040162001a7f949392919062002975565b6000604051808303818588803b15801562001a9957600080fd5b505af115801562001aae573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600093506001600160a01b03861692506370a082319150602401602060405180830381865afa15801562001afb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001b21919062002790565b90507f8442948036198f1146d3a63c3db355d7e0295c2cc5676c755990445da4fdc1c98a8a62001b528585620028df565b604080516001600160a01b03909416845260208401929092529082015260600160405180910390a150505050505050505050565b6001546001600160a01b031633148062001baa57506002546001600160a01b031633145b62001bc95760405162461bcd60e51b81526004016200059990620026e1565b60008190506000816001600160a01b031663f41de8876040518163ffffffff1660e01b81526004016020604051808303816000875af115801562001c11573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c37919062002790565b604080516001600160a01b03861681523060208201529081018290529091507fb6bef26f7fe5571fc2c6293e594dbdc3ec44823b52d0f811240afe3f1e7e20f190606001620013a5565b6001546001600160a01b031633148062001ca557506002546001600160a01b031633145b62001cc45760405162461bcd60e51b81526004016200059990620026e1565b600554811462001ce85760405162461bcd60e51b81526004016200059990620029ac565b60005b60055481101562001d665762001d516005828154811062001d105762001d10620027aa565b6000918252602090912001546001600160a01b031684848481811062001d3a5762001d3a620027aa565b9050602002016020810190620001b49190620023dd565b8062001d5d81620029fa565b91505062001ceb565b505050565b6001546001600160a01b031633148062001d8f57506002546001600160a01b031633145b62001dae5760405162461bcd60e51b81526004016200059990620026e1565b600554811462001dd25760405162461bcd60e51b81526004016200059990620029ac565b60005b60055481101562001d665762001e3b6005828154811062001dfa5762001dfa620027aa565b6000918252602090912001546001600160a01b031684848481811062001e245762001e24620027aa565b9050602002016020810190620003449190620023dd565b8062001e4781620029fa565b91505062001dd5565b6040516001600160a01b03831660248201526044810182905262001d6690849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262001f51565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905262001f0884826200202d565b62001f4b576040516001600160a01b03841660248201526000604482015262001f3f90859063095ea7b360e01b9060640162001e7d565b62001f4b848262001f51565b50505050565b600062001fa8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620020dd9092919063ffffffff16565b905080516000148062001fcc57508080602001905181019062001fcc919062002951565b62001d665760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000599565b6000806000846001600160a01b0316846040516200204c919062002933565b6000604051808303816000865af19150503d80600081146200208b576040519150601f19603f3d011682016040523d82523d6000602084013e62002090565b606091505b5091509150818015620020be575080511580620020be575080806020019051810190620020be919062002951565b8015620020d457506001600160a01b0385163b15155b95945050505050565b6060620020ee8484600085620020f6565b949350505050565b606082471015620021595760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000599565b600080866001600160a01b0316858760405162002177919062002933565b60006040518083038185875af1925050503d8060008114620021b6576040519150601f19603f3d011682016040523d82523d6000602084013e620021bb565b606091505b5091509150620021ce87838387620021d9565b979650505050505050565b606083156200224d57825160000362002245576001600160a01b0385163b620022455760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000599565b5081620020ee565b620020ee8383815115620022645781518083602001fd5b8060405162461bcd60e51b815260040162000599919062002568565b610cea8062002a1783390190565b6001600160a01b038116811462000d5757600080fd5b60008060408385031215620022b857600080fd5b8235620022c5816200228e565b91506020830135620022d7816200228e565b809150509250929050565b600080600060608486031215620022f857600080fd5b833562002305816200228e565b9250602084013562002317816200228e565b9150604084013562002329816200228e565b809150509250925092565b803560ff811681146200130357600080fd5b6000602082840312156200235957600080fd5b620023648262002334565b9392505050565b600080604083850312156200237f57600080fd5b82356200238c816200228e565b946020939093013593505050565b600080600060608486031215620023b057600080fd5b8335620023bd816200228e565b925060208401359150620023d46040850162002334565b90509250925092565b600060208284031215620023f057600080fd5b813562002364816200228e565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156200243f576200243f620023fd565b604052919050565b600082601f8301126200245957600080fd5b813567ffffffffffffffff811115620024765762002476620023fd565b6200248b601f8201601f191660200162002413565b818152846020838601011115620024a157600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215620024d257600080fd5b8235620024df816200228e565b9150602083013567ffffffffffffffff811115620024fc57600080fd5b6200250a8582860162002447565b9150509250929050565b60005b838110156200253157818101518382015260200162002517565b50506000910152565b600081518084526200255481602086016020860162002514565b601f01601f19169290920160200192915050565b6020815260006200236460208301846200253a565b600081518084526020808501945080840160005b83811015620025b85781516001600160a01b03168752958201959082019060010162002591565b509495945050505050565b6020815260006200236460208301846200257d565b600080600060608486031215620025ee57600080fd5b8335620025fb816200228e565b925060208401356200260d816200228e565b929592945050506040919091013590565b600080604083850312156200263257600080fd5b823567ffffffffffffffff8111156200264a57600080fd5b620026588582860162002447565b95602094909401359450505050565b600080602083850312156200267b57600080fd5b823567ffffffffffffffff808211156200269457600080fd5b818501915085601f830112620026a957600080fd5b813581811115620026b957600080fd5b8660208260051b8501011115620026cf57600080fd5b60209290920196919550909350505050565b6020808252602d908201527f4f6e6c79206f776e6572206f72206d616e616765722063616e20706572666f7260408201526c36903a3434b99030b1ba34b7b760991b606082015260800190565b6000602082840312156200274157600080fd5b815162002364816200228e565b60208082526022908201527f4f6e6c79206f776e65722063616e20706572666f726d2074686973206163746960408201526137b760f11b606082015260800190565b600060208284031215620027a357600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b828152604060208201526000620020ee60408301846200257d565b60006020808385031215620027ef57600080fd5b825167ffffffffffffffff808211156200280857600080fd5b818501915085601f8301126200281d57600080fd5b815181811115620028325762002832620023fd565b8060051b91506200284584830162002413565b81815291830184019184810190888411156200286057600080fd5b938501935b83851015620028805784518252938501939085019062002865565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141762000e6d5762000e6d6200288c565b600082620028da57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111562000e6d5762000e6d6200288c565b85815284602082015260a0604082015260006200291660a08301866200257d565b6001600160a01b0394909416606083015250608001529392505050565b600082516200294781846020870162002514565b9190910192915050565b6000602082840312156200296457600080fd5b815180151581146200236457600080fd5b8481526080602082015260006200299060808301866200257d565b6001600160a01b03949094166040830152506060015292915050565b6020808252602e908201527f41646472657373657320616e64207061796d656e7420636f6e7472616374732060408201526d0c6deeadce840dad2e6dac2e8c6d60931b606082015260800190565b60006001820162002a0f5762002a0f6200288c565b506001019056fe6080604052600080546001600160a01b031916905534801561002057600080fd5b50604051610cea380380610cea83398101604081905261003f916100cb565b600180546001600160a01b039687166001600160a01b03199182161790915560028054958716958216959095179094556003805493861693851693909317909255600480549185169190931617909155600580546001600160a81b0319169190921617600160a01b179055610130565b80516001600160a01b03811681146100c657600080fd5b919050565b600080600080600060a086880312156100e357600080fd5b6100ec866100af565b94506100fa602087016100af565b9350610108604087016100af565b9250610116606087016100af565b9150610124608087016100af565b90509295509295909350565b610bab8061013f6000396000f3fe60806040526004361061007f5760003560e01c80639e7878701161004e5780639e787870146103af578063c0f6b221146103cf578063e1922ef5146103ed578063f41de8871461040d57600080fd5b80630476011014610303578063369231de1461033a5780637de27c301461035c5780637dfcee221461038a57600080fd5b366102fe5734600081900361009057005b60015460408051630f93acdb60e21b8152905183926000926001600160a01b0390911691633e4eb36c916004808201926020929091908290030181865afa1580156100df573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610103919061095c565b600554909150600090600160a01b900460ff168015610125575060008260ff16115b8015610135575060648260ff1611155b156101ba57606461014960ff84168561099c565b61015391906109cf565b6001546040519192506000916001600160a01b039091169083908381818185875af1925050503d80600081146101a5576040519150601f19603f3d011682016040523d82523d6000602084013e6101aa565b606091505b50509050806101b857600091505b505b6101c481846109e3565b925060006101d36002856109cf565b905060006101e26002866109f6565b6004549091506000906001600160a01b03166101fe8385610a0a565b604051600081818185875af1925050503d806000811461023a576040519150601f19603f3d011682016040523d82523d6000602084013e61023f565b606091505b50506005546040519192506000916001600160a01b039091169085908381818185875af1925050503d8060008114610293576040519150601f19603f3d011682016040523d82523d6000602084013e610298565b606091505b505060045460055460408051338152602081018d90526001600160a01b039384168183015292909116606083015260808201889052519192507fb643d37702a56f4c5ba4fc786239f56cfcb7eaa939506211ce99a04f0bdaab91919081900360a00190a1005b600080fd5b34801561030f57600080fd5b506005546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b34801561034657600080fd5b5061035a610355366004610a34565b610422565b005b34801561036857600080fd5b5061037c610377366004610a34565b610477565b604051908152602001610331565b34801561039657600080fd5b5061039f610537565b6040519015158152602001610331565b3480156103bb57600080fd5b5061035a6103ca366004610a34565b61058f565b3480156103db57600080fd5b506004546001600160a01b031661031d565b3480156103f957600080fd5b5061035a610408366004610a4f565b6105db565b34801561041957600080fd5b5061037c610633565b6001546001600160a01b031633146104555760405162461bcd60e51b815260040161044c90610a82565b60405180910390fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001546000906001600160a01b031633146104a45760405162461bcd60e51b815260040161044c90610a82565b6040516370a0823160e01b815230600482015282906000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156104ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105119190610ac7565b60015490915061052e906001600160a01b038481169116836106a0565b9150505b919050565b6001546000906001600160a01b031633146105645760405162461bcd60e51b815260040161044c90610a82565b506005805460ff600160a01b808304821615810260ff60a01b19909316929092179283905591041690565b6001546001600160a01b031633146105b95760405162461bcd60e51b815260040161044c90610a82565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146106055760405162461bcd60e51b815260040161044c90610a82565b600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055565b6001546000906001600160a01b031633146106605760405162461bcd60e51b815260040161044c90610a82565b60015460405147916001600160a01b03169082156108fc029083906000818181858888f1935050505015801561069a573d6000803e3d6000fd5b50905090565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106f29084906106f7565b505050565b600061074c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166107cc9092919063ffffffff16565b905080516000148061076d57508080602001905181019061076d9190610ae0565b6106f25760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161044c565b60606107db84846000856107e3565b949350505050565b6060824710156108445760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161044c565b600080866001600160a01b031685876040516108609190610b26565b60006040518083038185875af1925050503d806000811461089d576040519150601f19603f3d011682016040523d82523d6000602084013e6108a2565b606091505b50915091506108b3878383876108be565b979650505050505050565b6060831561092d578251600003610926576001600160a01b0385163b6109265760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161044c565b50816107db565b6107db83838151156109425781518083602001fd5b8060405162461bcd60e51b815260040161044c9190610b42565b60006020828403121561096e57600080fd5b815160ff8116811461097f57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176109b3576109b3610986565b92915050565b634e487b7160e01b600052601260045260246000fd5b6000826109de576109de6109b9565b500490565b818103818111156109b3576109b3610986565b600082610a0557610a056109b9565b500690565b808201808211156109b3576109b3610986565b80356001600160a01b038116811461053257600080fd5b600060208284031215610a4657600080fd5b61097f82610a1d565b60008060408385031215610a6257600080fd5b610a6b83610a1d565b9150610a7960208401610a1d565b90509250929050565b60208082526025908201527f4f6e6c7920627573696e6573732063616e20706572666f726d2074686973206160408201526431ba34b7b760d91b606082015260800190565b600060208284031215610ad957600080fd5b5051919050565b600060208284031215610af257600080fd5b8151801515811461097f57600080fd5b60005b83811015610b1d578181015183820152602001610b05565b50506000910152565b60008251610b38818460208701610b02565b9190910192915050565b6020815260008251806020840152610b61816040850160208701610b02565b601f01601f1916919091016040019291505056fea2646970667358221220483763c21e4d73e9bc71b667455d42f179e20cadb3d5e4fa866e1eadc24f775464736f6c63430008130033a2646970667358221220a96b3d737688a70c7f00ba405e7f030e42a4aad14e10b38a6c47bbaa10181f4564736f6c63430008130033036e022c598c9ce9a935d2638e89fad5717d57ed87faef79df43bdd8145d29e8ca005821036db2e4b9f8dc120de98f8491964203ba76de27b27b29c2d25f85a325cd374770542d3783c1d559740c0d6860f118fef10c6a36a4e80058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace054773435c1273dea1a23b23c1f200d761504a9a4a5005821035dd3971a50696d33d2c7bd274c314cf8643e6bf0e637991a508464bc9aed1eb054829c4d4ac09812a7a457a8626cf97fb80bf91d6a00582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b05502c02aaa39b223fe8d0a0e5c4f27ead9083c756cc203d83c4417d56188d62816ab192cde6bcd6cd265f1e43b40bccd16bc18d3fa0b4c005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0547a250d5630b4cf539739df2c5dacb4c659f2488d00582103e540a38c033f95c911e45ff1005caccea3a9d7a0b7379c419419d4c07329f3a054c00225042f31a6fbae23cb87611aed9cecc510850219995305581d02151ebf0baca4431fb5d9fce62fc715b23401e58914383e2bc37b3f820f0648fc5111d7c294140f19373605581d027f233d4730484ed1c8246181835b05d9c76a2b395bdb37faa02ac93f040102192020036708971111e7a0f2d8e63b9c09d6e9cd52bb0b8e9fee5ccd712eb23c0855427305581e030c052fb83b88d2f3c2346488b6847f79727bb010b89758c2fd0f6e7fa0040102196fdf03a40dac70477f5b6e9a3055d8f6b462ba862e278b2fb8a857d068ffa74f318ccc037ccefb1cb9f5fb2cf63159d1e714923ff148b9d793c28792d275c9b5513405b80390dd8727da60b82e4a454df23989e636a5aa3c1e770e48cf545a9980d8428cb70303799afd0df46042698a98a35b63ae46110bf095e2bc4311152ecf6ac89c10b80219ffff038471bce9d6ee8fd22b35a785f77753a488c81d9866f3f8d80965dab90e3e6ced0332aebe72437f8d31c91939973e9bae8cbdaaab9ac75031f59ea9ddf87d23542903cff44513c2d459e5c2bc302c694bacb970870d1056cdcf2b30b384e565d8cdec0219ffff03b19323a88687a53afcfa3fb43ab4943a93cb705bdbec816373b7c44b71ccce3203148893bf005ee2a9bb176b41f7f8105f5882c42acdcc994c047d3bf188e5467603ffef80ad2345a4ade04dd98b33d4928fa48aaf3ed903e05b36811eebbb25f58e030eea81b95e7b3ce3b93fe06908aeaaed05c214daceef085aacef22017f78698f0219ffff03763f19d90c4c84c727a885683442e9b025044036bc590fb3cfd1a47dae0908c803e7bb2ddc33576723d60b0bca72830cfa8da78e9952cdff516b339bb0898ee08d03e6020b76d15d5cbf7a6ab649a30814a70bfda4fede6dd6b16e938d5408129d510219ffff03226a4a95b8c7da326a203a3911517f0c582797a3a5d375ae1097f2c9c04767ad0377ecd68686dc946bb4b1432d759aecab700d8c1d55d0aaba76195565e3f549fe03005370ac7828292674d12c1070accacbebec58da800469b3a9d0dac32e48d95003316b580e088635e4a6b6ca0f48f7bdf948ef5921c544852d20829ddf0489c45e03b4de02953b46ef21e469c219b0317157549db4e070f26a1a0eef2c59a1565f4003357e74167ca5e80cc734b24b8264db3c71ca9661b748d7b45a1e55f3cbb568f30379ee15e8844dd5576c69bbe703f0c06b96beb8391e3cd2c8ef137a9b8e7a72f003427b7cb8131db4c8e2a50ac5fca7b8bca9e8b49844e0f0d8bbadb7ae31251f210371239c54e0c7e30f385fd013c9bcd3b1d980138c9d3d3ac16525defacadbfb2f03099ac7158fdd78c193356d44c83768b542b9901e8e1d0e6b2d1bfa25a32454c9031f5463f018b9c4cebabb044a2bd5d5af812e1c9f4fc27113122c7e7bc5312c460389ed0b801ce42515909a3ca8763e375b786ba8e856be4baadad10b8f116b6be003fdd18d033db346be303e74ee8dbdc5e3ac41efd608ed83ee0b26d140e6578dfd032c2947762665e8fb1c9b9460e0a42ecbe8a1d0781aab93438580e1b783e9b799039a2a658ae7e001c75e73fee9b8f8db53bef43ae95665e98fd59f3c637b031ea703803163267328b12ec6d42efff399c0f664854ce7f4a56fb4f09efd1b928d78b405581e03cd2fede3a28917b703e99e590a33a15def6b5dd6a5cc39ae292655c5f00c0147068dc3f17e768005581e0300f31e7d6cb3b5495341088404b5f4a62e807e9a7eaedc2ab837d1f5d00c034701d32b52a044000327060768d93bca6955c2940d821fe27aa842e5bba74e4ab81998695fa87b3a3603ddeb86420d27d5147e86b4fb354a59738e3e6e4e2987c9b17fa51ca4d4fe80a805581e03338d568a51357fe8d704a5ac2b9623947402694b26254255ecb2244bc00c01440294a8e803162935841097781074a5daaa86c946b311ec5e4b6294273687bc700143a4be2405581e03545f2688d9772a7cdc01b21f1ea25dee2383ee826b7d6e45db798290e00c0a47014829c43e80000335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03ee3a0a789b17938187b9756126e63a0f844f749a25cf26986171028a5007011bffffffffffffffff05581d02c365a27dba0620711a2a9720eb6de65503613d71e4633275aa14e0410c19029947112bc6a4186af705581d02a1c6881e203ea30ecae49582f3583ca79e08fe1bebee5ec9adfff7dd04040219101002197cd103397d6a4880fb04960ee2f33cb07fee961220561d98593d91705d21fadfb73da6038c48ee981685d048f965d37d0dcee3ec68fadc1e140852b6cd7a7215f66cccdb03f4f9f7f75e94ccc8b1d4d8cae87d3d19b32ac41da5b829e1e454a3c99b1ae40303287b158406e47064f7129386b9533756898481cec123ce52b74f20b12cd1f71b036020056f37f6179712e86566bffbf414cc4f84e5aad0a0bf6852868b71ab243c03722242fa4782af7ff01f92093966ee2631e43c0a1959b0414514b562b3a5e5c603c5ca1666e6dfe46c4fc77b581c4e3f589510a7e3d86aa1fb0707f1249863705f035a9f0e439a039cf431b36edda3a14781ade8391515211886a98129752a776a8703b052e0a57081eec321eb75f27a38174c565e764ded29143e9f4e2996b7edccb4031a0bd8b6f4a5fa548d82f4981c9f7fc934e462dea116bf3414ba1f3dc893f31203c4555e7e10d1b37a0cbd6c8a4e198976c450a009c3bb075545b3fbc0f5f0dec10311253367959ac3dd3a4a7ec9e0084f56000e9e2d645e4a9cf78e57467514470803ba8fc4206d8b8fd6e13c67bb72cae1334d756af4fdfc06e10d4d20f7433d221903117ffe1edf04d0be8fb180081366647f60153c1d62cb399e9de82c45ddec790f03932f3fba01fc8af8f36ebe7acb9bb7e2600fa8ae8ae701e55bd8bc1fa8f8ce2b0219ffff034b16f1d91f62dd64bee9230784e0223c9fcea869dd8a945c4048a42d03d2d830035cef88b01a472757e5f9b187a7f392ca5ebe0316e5f2c0dd8d14833f9b39626803f43efd6752c182a9cac92fbde476f00726aa19cfbc642115d03663dc817e46f5032f700e13806b1fde839d90472a9d33b80a4cc54d1c8bf4ad1d5f9c054bde679203fa0a48384e7bf122d186292a69582184dd090323113ddce9a60530ec1450c7a9037426c1a1c5ea25b1751e5573a5ae1ca9bbb519ee6d1a768050a3949a1bc03d180219ffff0352ce202df021fd8c6c69a4c22a1a9603a17a3e55fc83fb9e28ca0d514eae25d303accc264d573a2eb54d4afb73da27f8e6be1e6427df106dcb1140c0124d62336903b9503db6f9c7a145779cda947590da3dea0903bdf791bfee36c934cb530d5f970383695851527aa9d4396f91c8cdeae7157911344e8fbfaa309128f9df778966ea03b8fe09487f8677f8af873c15e5a6a39fd8ff284421d6618fcef05ae96ef8bc420301a0ebdf5582eac0bb80100fec59ee2f50ece6b67540476267c28f0df6b6a25703ebc30e2ce4afd973a7fbf12555bf2ed01ea7b82e2e918c878fefadc6db8ca5780311798cba062d5e3d9707fd07d333e277bc072915e91bffc60a442474c5040d1403c769e1b1f414cc342044274fd5c4bdcaf8358f2fc0073bae2e26c6790990451f03cc4abe2aaccb93d2009aac656ce4d57685064aa4ac97be8bf999ccece3f3a78b03bcb6f063c921374b67c2decdfe9eb7e7453ccb869715e21e6c480886f575123f03e7eafd06dcfedce54ad1546814d516af93b43dfa0544b6a5fc0391a64808675e03fad1bb172eb7508d79f6d062fd82c4e891fe0ff6c902321393d80bb0f909793b03537c107b45cab061898f7751fe1a1d90d7e7a211c161f0b119054fc842c0653403cc797a2ec6e0da32d7f10f2fc0a863220a7c4dcb376ca1bd06b99dd98903108a0219ffff0347c7075201f61da1332cf49121ae46fe7cf42c50959ce8120cc656792caf32de038aa27fbeb89f423ddbeeea2a66ee0e24d6b415a5eda4fbe0ff84f83fa690becf0372e5e29e9ea235ab742e71f56e25047e36770603dea559890e9389a796600cd403d0f164d2365973d01bfa9458aca88e04fd30fbbb39e6b69a9d65be6b28d10a70033a55f792a02e6347f6a3829e58e342eb3ed52f1391af57bc875f5dc2d596a76303a03d784d0d7541afb6eda8194dd7694ed8341dfd7e91c4d3aee224ffc7ed9c6503239e53497734f6b9aa983dc72372bfa368f6a33ee30c98924480c04ea88d0bc50358ca0e2d59d6b28cac4bc74ecf0eeb671270a95764a3a25603058bfb9f94133b0361db474ebc5a0600acea678659ae8d5e5e06737b7010bb7912f9ad43fc5622b4036c0cfe4c541bd03b953444f21a0b16243ad9a0681003e53dcdc9bd05c8714eb503c105606ee6b0995ad559f161aeff79e072c8c8fb7c529d970595200f6171cc45036d947aec917e9b4c0d3ba8aa04712ff375bf552a64fd3af2c88de07f8c40dce10342efc081a06588671bdd611dfbdf965e6cfe0c01af25842ca03871aab78cd2d803767ebb371da76b446c647b0aab23ca607bffc6ab958c17945660fee6229e7f4403ba5de3060fcc7e2888920b49654a59722d6c408d297535f3fdcc83b17195fb3003f9c1feb387e97f10cbf9a9d501b66aef02816c6d019f21ad3e6b073f2e757001033d611161bed809812b1b594255ca7fe371ba17e45e453db403127b58811fd81803dcaaf7d62c8929e03381df444be9d970d9262697c0f1af9e9b7cc89bcb4f274003b558d75d20c0be1763551572341df42bd4e31ee173fb13a2387b70dfdbe36d3603ebd0237f1bc7ff95ac52ba7d23e3f37ab935e6fea26f6b9f530ef1e926e3cc790322078f89f81949c56349dc4203194d83eba9726b45e35afd82d78ff08e349efc0343aadae008ab3c68d22fa2fa5af1ff316b40c324169674388f672141eecc21c005581e03ef096622ef239e2d87c203fd9389a8ca8ad3cf7c8deec6b50def81cfd00c0146086e570e9c0003c17909f6dd88b1dfbe66e26b79a607de81098d9f169bbc5f029ed598adfaa27b031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03a052cf213425cc4cf9a62bd927882e26034dc1a916589479c16a3b871007011bffffffffffffffff05581e03897205359a0f1e4984cea82c3cf3882c326ca362bf66dcb48dcd6df5000847275718c5bc5000033079e21c09b10895b9c188b60ce340ca3f5c518ed4bb0972cdaca57a04f6e20203a7b99c2656f6ad02e0fc3a7861496e7f3bd8edd159a2f290472fa001fbc510eb05581d027735ec8d9c75796f77e7f3894c9d7bf1c9e6a4f1e3bf36227098c1210c186249051b5feb3f5b0b3b0f05581d029b9af16f7c70befdd0fe22f9ea2edb0816207079396b4f513445ed12040602182405581e03525f8d75fba953cdf4ca49039532efd0a05e933b37b0df6601da3dc810040205581e03db15259fe3ef72e8e12fe5385ec882d6e6de53a64c5f182bb06be9ccb0040203726b6c04b1cabe860e70f14f52dd82980498be4ef00f798e26d31de25e379b830219d797031fb033d314dca42b9d6af20293dd6c5d228fb9c9fddba217f310405098ddeb54036fa95833f42a1a06a35eecce4c6eee599b16a94f05404ffdf65656c553952fa5037cf72e2f988d88f919bd8b2dadac734ff56485edb33868c83d0af43efaed21bb0393f69ebed95f1613878fe9fe945de867489fb812524447af28232627ab451ea003ed9caaaac530844443022ec93fc7349bdbd93508a06d72938915ba4a16e6f3a3031f2c123863401ccf39ce41f5fe8c45c091c40e65cc1ab4c3925041da6863787a03c2c2fbb8a56a4836a9d5a7ad73edd6eb82708b608fa746694896bc055eff9c2103ede9b19f26cecdab1af930585738634b64b78f984b61f76bc457072e98520abe03155c0ef8916927d07fea3893cef06202c0307c31993bf9e31a391e67a69fa4bb039222c03594cc7f93bfaa026890a62417626749358a570fe1daacb157de3de53203f4272d7d94894871abed7bcd494a759c84487e90c6be7416ab4b20b86336dde30336079a5aa02397d40852878920e119d1df96094e1f781fd8421340775edd35ce0313143c988d331bae0383cd4e35ee62a1b21f90b966c29f44083a3652a4450e930219ffff0359ec6c78f8d9548f8e5897a554345b2c2f164e9cfdf7bfcf5d4c5bbcf8f806950219ffff030a10f2c33e90b341073057268dcea1200c51bca885ee2f670efb930cb5a9e8690397d4ea4f3a100c0f98b2947a17f21e43e68bb98a0bb7991f61f0da0cf9335fd803eabacfc5f8ac8e8b46de58671025f3ce7a04055e91f6162a29709923059829c50325828d44464c6223f38cda1525c8eedd7f114c556285732107a1df8a108dfa0905581e03233df3c017b499844eea93ba5304bbad23f8b36ff23882ed31941418d00c01480266369d8cc79c0003197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e0388a5d8365354f832fedc258c7487624ba7241789d48e710de3bb8a19b007011bffffffffffffffff05581e03eaaa65aa79abd77dc6071463ede73858557fd00202bd736d7bda3d41e0040f0459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c6343000809003303c8ba04ac65862c7c2a52466663972a27d6ffaa37de538360aa4e9ca4f40984cf0344b70ea1587c1001f0dc64d217ef0d8ab3291511da3d7ca5f0b6cb5e091a3aaf03997c89329d8a077f89987bcf5b544e116db8106cba9899fda292d1ebffdb36a8034001628aefde06765666cea3f2f6945b0d15ca31414dd017eaccba2f0b81766d03e4a661ae65423c17b3cd82835ed76e761100288cf44e0e8c665a6651be248d1d03b12191643c4059861b090e25f5ce996203e406c979d8c7a16ba5e16c68663f5103e8693a750ff9b7ec902ba5aa12303284e9e22688667d8155eff59d54ebdad5cf03247706550f7000d1833359cec19c25d567f7b903b7b0fefe431f82883c6b8e410338ef9a77399d33b5ab6076aa08f9bed5cc5f17d8a3ff1d90e387e5d6b98424bf0348f1616d13f2e43875c4829e15d6db50e33e61dea4a52f53bcd0e587b610d1b10394ae03deb39aa5926c3986f8c2924a8790547d4bde1fb20c049f64869411d89903d2feff10983fb1db59bd8d308e8877db08a99876b9a478a899be3933be3d19b8036b32fb7a782f2339b87260dd01a3675258315454f11fd15418287769ee504c1703abe7d6bd8cc3beb23c9237698150a9e974b68951d12bb6a44df1b317489088de03ab4a66dfdac60aa1545ca97881982e2daa8d986d9ab732cfb858699159057b93037cf9772f06c1ee63ac69f080884be83be1a77b7f6960444875d0abcd9f37daed03ee704d21b30023024d86c6f516e6977a4893097f6ed34953f2d6e4b7db424ed603ae53ca92d876301b4b4952ed5b9f58b7606d53656e19adaf9b89301878337d940328ac8e4e19cbf1b549b39425bc1cf15d529301172f2998a4f8144c57390e017603f71ee84569011431bd4002bced8c527ce9facda2af152e74bd33649d886365de00581f02650db46c858d2301bca22022fe5c6398564899f22c8ee9415064076e3acb410a0335753156401d50231e0c972942956f6b05dbf45c7fbc76f0e96375bcef2a3fba00581f03c00cd7291ad95d40439d4b1321132b457d1f620d1d5123356a287ae03ae042a4b103e44c3f169f9f37178487cd977ed708188c69ee86cfdf62af44ded858d0cf070f00581f034e0dba278333e6b72b93cc5de00d7c0b37190272101d4a42de55f6b3c3a055b095411870213935a7fccd7591b499889eb8986502035308cda1d63cd587bf19c8a92f10ae08a36602f7fc83c2eeb6c31788e81639040219044503e24913f1cc7d33cb69b13ce103f64b08dc96660c907eb6754c5716de3df5dec603fc4c52963284093a624b60d7e2789b0f30d98508c233f06f2d7d96c5fcbced2d038cfb7f774cc87bc92d73403237a9501607d1505b5068e0d9cc7b51776ec3c20f03911bf13a64c2ec8ee90aad75196b897c3da91cc161db5dbfd2fa15fb47f4bd47031787ded6303f571b26be25cf870966b6a03a91246a09534bbbe6851482c9446d0219ffff0327705eb7665d65205e566defe8d435307336aa3e38653c547d87aa7af5d003180351f475c488c68e299c782439cfa3978ecf6417ed9d43290f0cd22fb7bada8c2603382664fa0a3e8b4f3c0dcf3b9965341a74295f19512d5b8a170fd3cbee37bfe4032bd1d53331d091ac741aec2986a1f70a91de83e10397e024f7558fd298acfbc0039ca5190d7511afa72ecfb7f77b2eeea9cbefd7dcedccde917df75bdfa206cb11030ab44367ea626eaf9f0830761a4ca2493ed663a31bff5a9a05cc037e757043e203cbcd24779db0dbc1b03e87e5e0a042ca04c26ba1e53c1c9718391b0a55585e280305a3e3706a0beb73f979a42427a33dd9b438e33888abe1dfb0bafcae9f32e66603f23b6f4c24c5d4243b48020c9764668ad159d6870040e58f83ae691b49beb4a703a9d86fcb0546b73a25a596bccdef820e5700ff82de7126e4d1198541d2014ac90335c9e03653a1a4193df59936948346eb69dfa6f6c2de547c71c4bc2c81f6ad480219ffff0397a529724db3ffc4541e39eb6601f2adc8ad8b456c2c8f8f85291d5e7dd4c1b6033e8afdb7c3b6cb98cf2943f29556edb73fecc44580eb7f3364f4a74b5a51d7e8030b0d8812b528d56cdb8155d68117ac69fc2bf6f6890d245ad953a8f1dc9710f3038665e81538d2c8f7c7636dcbc0c55b41d8a6d4cbb097f4fde201438a7c78dce103451b1e9c12ccbedbf765d53f66c3d287d8977c9b2a45940d662d31ba63fd16a403a91cb262849e1b146af0ddaf68d0d870eeaf3bb2fea9f91348a0579f0199fcc1038adce2fb33bb874aecaaa88ccae8dfb051c2203b7a7600d295c6c1726c3ecb53033b7f1515359a7757b589df17459b2a8c5d02e8f3b905cd14b7bc2ab41298f5350310a11dbbd01fe97ef211155723941bb1e25ff4a1cdd3cfdbbd15b11c3ecce9a3035d0c0efd6f34340181649d7a90eefc3b7fea81c4693166689587b5953bd2086a0219ffff03fc6a401badac36c65655465a7d9f0bdcaa7625eedc3adde8a2427cf2cd7fef9b03f54cea5a246db9382be32874d4aa3f175b51ec515f4c3886a300a945d0dd99160340ee7bf0f87f952d0e2c7e798b3a1a9c4ae290793424fd753fb94a17e5dbd6e20397e899b9592c7442b280797944b7eb8e20d0b3eeef610bd1a2e50b81c1219c4a03a2c6a44b0c0fbabb13942ca2687a1b57114e911608354b3fabe075dd5072464603c382981c57ab8ff0c963f7825f0fc9ed7e98a12f9ed0828927824b5ce348454703f7a4dd642e3e98fcb6ad85396e0b2d1182f6f9fcaef66df58f2f912448144d1b03427e9951011add31a04e50dfad920b715c1d44e4558f69c40bf66ec85c113f4d03c5f15987ba4d72f0e52005e1eddf29ef10a0629b873aff8570b21e27809b988703315796c75038039c487bae84f65c9d33ff8cbd7d4e9b7112967e5bf12965228c03699964c91488946e6d30ae25b7faba2cfe4aeabab29e19190b1cc742c8e60d00032798e7b93a5c9b616b9e1aa83a9b8a75a550ddf0b01868f75dec7991d8fbe2c7039f9b331b3805f029b1890649b861ec4c128f82aa64a82332090ca88d0ca43b8903ca99400e15c0684008f8f08c5ebe5f9f8434537687030365bc12501b453f61e303a26a1f7756e9a277f5d2a8a456cf8cee6843659815444b59f48d7516db4d3a020378aba32fb2fe652a60922c88b0402bfecf15b37d2df6938c4d092413a2ca5d290327b26085342eb53bc064376986fb1100c1e3b37eae327689f1d36cdb7845f3d5032db1feeb81ef2cca49e9aaacc19a9ae57fe5a37a78edb732ee5bd5a0ba73b6b503111360a0c6be8b5302e4b015ae1b2a9ea8b8a4beecaa6b55253d157442b7071d03d695c2908edde3a09d2ff655bce4a6b9c0ee8f6c40f533cc36771f7c46eff5b000581f0269f16668c5ed1b1aef432e2131adec8501fdad1753e49a0a65cd1d43f0b8422105035affc5a33a5753ea23c150ebb4b8c313a406e1f468cc7c41f84fe5e45167eee2032482e9102418dcf43b17a4bacf5fc6007fb3af3c558bbd03d3649ef7222f801e036b05e2c57738f57a45d4eae1f53950852903f240976a08ebe1d76df071b6fe760346b005cb778ab991894cba5e21bfc1801f53c235631f72175b00ed259657c51d03272a942bfaeccc08d3658ffd9444e54f8458bd8827f22a32bf5b9742a2413cf403c8f4c1ba3a41640c4cc18074f4c050b6bc913ed4ed9bb4cc4176ff292cb24a5c03306a62823fcb2341a3e5df42c55f7dad2f18a5cc30835cd42d652a3dd296b1a70352fc8692a9362c6abbc236886a3b17a8e7b63a1b6c42999f6446f69d9ac13e3703aacaa95123305e0d415169243b2a44d11d689d331c47b05e664c9ce5009c957503610c2c9afed6bba98d56ca51e59eed4c77ea5123b44737e633ca11f0fa63ca1300581e023f057aa07e2819da73706c34587562aba5584c16ee1823e25359a553cd410a00581e02b5dfde12088b346f5af6e4cbfe2519e5fcea7a2d10e8045ddaca2e616b55555ce236c0220695b68341bc48c68d52210cc35b0200581e02df5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154a7b88a746fa457578d5abd6234471f07d895f46b0219084100581f032e90562a7fa4ea08b59a7e2f4521ff958629b0ae50da1aa66a02b242169042210500581f033ac14fcdad2147edfa8bb3fb1e19ee6f2f30fcf63f1b2bfb59c62d0f4dc042210500581f0385cb05664155f8283209ac3354476dbf0657d9a8d22442aa85edcfd2adc042a4b10359601b92173b76d200067c12046ad0086c7ee0f883a1b8499ab9a1a4b55575da00581f0393decefd4fa04d55665e7c4630d204957e34c10cd23628c7065c97347e9055de82c5539a255e94d7e9252a601a7421f40c1ac70200581f03f87af4ae4391e61555f4e2cefdeb3836c34a7931136ebf8436106feac910422105021963150219ffff039e81788b4af2ddf41aabe48e04ced359d901fdec3e7c99e3290b382fdcb0548603332ce13c0ea08c28b0fd4d0c7f1dcf891d0d69284d02ed67f6ede3cae558b9230219ffff036166caca1036e6e6d9bf03a3a19f19c42b5050f842390ab08286290250b39a10034943e0bf6b66b435befcc5b177df9dc73ceed9d6b7f7ccd28ebdd1c8532154c10350ba32ad07990be8b25f2dc3df94cfc1d8955851abc98f94d9cb9df5a75130e503b52d7846fe858ee9fcf47f6048c884d6b3d5def4a8a199dade8cbf5a727168b703124619c0942a7345f73fd0a502022c52cabfa3e24dc5a4927074b838e1af5b4a034e705b108b61a9d1a4d7bf106c967709649a0a453670b60b81cb82ef9ce23e8003937255a4bb28dcb8cc91d036662a26374a995533c9226ab2318b2992001375e103c77729c9c39278e83595d6b1163f330f77d7b35878181966b42263f3205663880347d2102939d0e61335cdb10b8eeeb513ff01a48abdc932bf075ecbdbaa882ac103035b2eb066ae3122ce6911296e6e2e5b9b574cc31b5fda0334813ea3664f309d03fdd99f0eb7bbdd0ffc003a96526fe967eaefbb029f8908f898c64c1acc85703503b98e343f0b9d2d66c566fc471f287e67bcc113e2af7eadafa7ebd419a93a6fc403d281f8fd97813b8b541d885f7e8669e16090a17f279aaacb7f69a9aec3e3463b0219ffff03dacfd92a2840293bd32d38aa44db4074fcfdf25d77c639b739d61bc77b0384bb03855e2affc99d5779809b8d51f764b94a49cc1b628966ddbda92b95e13a75606a0367e2bc17a11714406cebbbae49cfb8ed5c7e5e9a7d8d52a50eda705c458fefbe03daacba0cf454975f81e5dc2fc0e18320709ef9ce8772fc3096acc358d65ab842037c6f471575d84285abc983ed1db87ae75cb4dc189f471a35b8bc487034ca0fe203bb7e32319c9b71c5366179716c368ec270fdc74b4cf0e5fa2a04560f2ac46e730308b1d4b274b8c1eb495dc58447e84cee6773f7d24c685ca35b8b70748e72dd9003f43183e21bbad50151d027e7ce56691ce1f7c48e41786f71ad839b85c60e3f1a0362643ee1d90fb312587c7dc57f804a818f7e192379700646443a61b2f4b6939f0363c4fae062881da2eb504660b10b74835295de060b0b566e5e9d5ff051f370dc0383c4b4308bf87040f85d3f363ef44c6935df495af988b3f6f79294db5f39bc2503854128ac96eb1c0568f71de3cbd5af0650f7d8f52b226ed8dca01fce106dc37f03bd1b79c7b24829570e45fc58a96dadff4082c1549385ebdae534b5f32deea64303c27efbd80badad85e0d631500522330d54ce0880370890fadd479637919e5d7700581f02da6ba55f4fef6b8f0cd6c185d5d61eb4b45703cdcab928816c43e78f1642552ef7604e98e9a3ae72a39cc9fc15234f48b4e93c02039cb0235aa844200033ec7f5cd16bdd95ad386a015bd198fea978067aa9f9a911032c68d8edeb9a95c5e8ea6b9f68c2f654d9f1e0d288f2e7dca32d20bf05a7ce0b034ead9e136abd1d9d87700e51d99280f9473f52a7f49b24e4c0848a9a78344fbe00581f03572a259d052a9fc2687578c1977a92a5aac105307204492a11ccc2074dc043736f6c00581f03bf1d9228c6063eff2211a4f918d183a2d3bb73660d978a428f83c6b7e59042210500581f03702d9d269a37941d2e282a5b8e80b32e1f528633bae1c2796f54d8a9644042210500581f032ca9ba5baaabdbe740becb6f01a56766e445e446d5ea9ece281c61fca01055555ce236c0220695b68341bc48c68d52210cc35b0202192806038c557699312e45ce084dac303b6159eb3d3a49b19e1b3113db15f11fa7938a26032f53f17c00b38873ad6be4ce2f170495fa2b5f594ff373e0e464716196a23cf1038f75d4c0a2790d81340bec6fe03449b0c162d6c7b364704a5cea16199796dafb00581f0214ac67157d3125657e69396de6ad01418bebd071936899abe3fc1a749c6243736f6c0341396e765b25456f92837c0f1c964f0c3090fa0ecbf977959ede3e1b92b6025503bbf5791e2d50704e46029669e28a49ed9c81981d4e3283c9a443f66c3046d21201410203726ddebc77fbf5a7382e29da5c2399df128b5d93670027b84ad18086d598f2cd0358b88cb205c86195770d2b416c6540b4a03f7953db2ea821263482cc52d1195103d2ab6d2ab80fe6c65b2818bb43fcd3f0c75cbeebc3f19e7525e12a6ae5516afa0219ffff03823075cf6c4bcf19b5abf9a090d2410e31cc0fe26cbfd4ae2fb8fbea4ff8f66e032d6559ad9bd9c15e4c066999de26b008b12e2dca04f9c6e4fbb5563ffa402f27032453ff55f7f3508d0d961b4684aedc3ea84906d6f754d8c7e480a323caba1a5f03e41908277fc480bb8d96169b29694b140b422040eefdf40accb3b18d818835c90219ffff0333195d3c320e615cdc0e716c8a2e0608364f1f05726005e9652abd9c89f4f181032014fb003b116ce5dd9382314a35768323ab6cc50265abd8875ed8fe508bfb650392a10fd673edfe641b9b7d3e286df11ba90df0a6c9bc1a3a564fae6f01f6aed6035f40b36fc98410bfd204adaed7d5383474410fdac6d1f704f46a4fe38a068c4103257a056e1bb86bd694a47288377e95f08c7f941828a8f5e867f55d2ad3f301f70384a5e60491487fa9ccd0c30cc9d76cf6df0dc0d43508c6e752d5810d41e57b8c0358781f098c16dcba44051edeacb76b051fc997e147d399b8503cafe863fe25d203852b8db3bb233da375dc1941b0b059dbfaec0c9493cf00e0fb90b0dc24d073e2033d8743306acd43ca84fb40ccffab3e1d0a1c18f6cfe0de8bf48f82c64042caf3037632c83cb1f1657576e2f54fa4404712e173fe78be274d9a6741c71810d3fbf2033b962f6c45984b17fcf3681c5b3466bc26286b6006faf118a623c623091c7d0003163dd871d902ae33a9790f9c4f6542427ff52684f25cec66f21d4b5f93336b4f03f5db42985b8d964b7db80db4d3377765079cbce011852471b0e77bff9d4f016003ca6a0205fa912e08cb4c181869756041b24773d28a56dfc364f6bbbce724f8f30219ffff03f94cbfdace743de1e7e0466d18e9afc69ba174a7339f8270554f48eaacb5cbb7036d21daf0436397402fca8f50f12a67a55df6d6d745bc15ecd7368f272bab774a03d1aa7ecd33e0e8e92844e021c68b38bbb298b72e2cef3ec4775f33ca2fee9d5b031923eed4a55dc96ae1248ed6ce25715450fa13b8dfbcd5cecde1843ac095149503f2db2f2f8ae36ffdcc129fff284592db8acc070b5a581758241860f3c0704c4403fb8fd803b97f1a46efa60e98278417baabf87f6fe42d3c13d1812b63f4a3c0a003931173d6a50dba283a230e0edeac0091c5757e070871c8342123ec355d4862ba0358f859bb0093cc6f73e1ff66783077067a708a9ffe7470a84d888109779cd1e503a7c84166440ecb35657c7992222d39d4eed0062c40a4cc225e502c89c3ac1a01035b5e4884e579402d27a3be603bbea5989e1bc9c61b9551486c7e2ac190dd363b0378bab33cfa1f13f0edde7632faec45b1eb3e6f998084461700455df98d8a940403e5ebd77432afd7002f1221e0c1ac29c4a9aff621a74b46d2e49c0ff8517b969b03bce132b3265665d144b12f522c10ac44378e72a77c6cd70963e0b4fd4e5d06d303c932d4085766ab318dd1472d41b82bc180b6ed088726e370ec4b0e7931ed30fb0331699ca82da3ac77889eb9064d31cfe56cfec33bbd4fe5d953121c83a464bf6503acc5bcee59340dfae2b281fc71a3f28805388725ff002c12d22223364ae4cffb03e295be6a4ec765ea777c88d51470c3a111c08e4ca75095c41e3652b1296ce0d903aa8d62a1cc4584cecd3949a0d248a45701e44d33f3a7a6224fd74aecd565948100581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05433b72f60f2ceb7bdb64873ac10015a35bed8171700581f03b9b6cc4b0d67d274388af2c61df7834a7a2c3793f9ff52014c868b6bf2f043736f6c00581f03d314618897dc2dbd721a2b86204facc943128b012c5ff55d1af40beb0e7043736f6c00581f03d5f95ba2a8e91878df896a7fa51d717c4e78b9489dcb3e0896b98b6f4d7043736f6c00581f0319ee814c9536324204551ecc94db5891b319863febcb404305e11726102055555ce236c0220695b68341bc48c68d52210cc35b0200581f035341c2c57398c997118d0bf5bb0df6753201585dc611bfe66c4e94900fe04221050219514303af8c3fc0808f5849e204cb01c98ef85d04f64d969d8e89569257fc83d8c498050319aa35d312cf8542b3bd91db0042484592a07917aad64e176959f8d2320411100366c5c7631b0eb75662d9404c101c128cdea72f1c9cc456e5568ecb950d6ccd2c03a18660452d13fc0f781dd6aac9aafa95a5447039a2a7a45490e64d3a198fa5bf03a088473920118348bfcfc4d6b90cda101e28712c7cfa4dc98e14e7f62c6b3c7103297fa04a60a05b44e00a6cbf76edf8c8116566617a2720a71303515314ab4c1c033295e53f35f621e1350ed6ad24687432551fbdb8a06b16388104a4216d50ff1803ab5c26ccf647afd4b50a05338438baf8d3cc69d8b080d5b5d944add10b2b9d9903106df95d985b9e74e2004c188e20282c825f1ce141d1fcb4a493717b31c562b503d5ca75c02eec1e786c9d8c66a7f6df203540660d189c792dba06cf9f92d09fa703b2d144ee07d38c52f056027dbc5c69beaa8e11938ba5d56cc7787f9388b13bca03640b18f8ce9258d0661318105a33b8c9a1af8cc2bedd7440cd9c13ec96ec2df503feb48e12a3bff716ece52e08291ae7bcf6a0cf0b29b9815451815b8f1c667ef30219ffff036ff694c1f9d4dbb7264ed8e80f5d9dd4572cb50b15028bef42c2ba5bfb576e960351749395a71ac700e4a643498eeb76b2b6b41a998419d4025d10e706e65d1ef003bf02d486f4d5c0c585cbeccd3735b847ff470b21bcc1f6b271199202a91f935403a0e4d39488480c19479156185fdec7aadf2ac905b1ea9b54c7990ae7fdfe7a460219ffff03b0cba012dfd1e0a5135d31a1e3ff08f7c84352f28a2cc7c472b1c66c02d8adce0341b07ddc8d63661cb1ce1f4622e51204e5faa80c90d8d6091f52d6e465c8007e0304cd0dec16ebf25d2503b52b2d9e59463f14494931edfcf7edc987ea0682732503fd4adb727e130598f214fe8d6242b1635f3ba6a480a43b077f9434a5f5fdca7503fbc3576accee424a854baa925f97df9b954894ddbf6e9a5187dba7b46e5e891603eb4d9c698ec23f383209dda79d6d11615305ccf21f096fe6d7c5d63c05786049032bf8cadd59eee3b4c0344383c4e66b29a16ba8ac8b9f1241df6c4446bb38bed003d2c48f3c6d527c70d2964d9d08a731b67ec09c1b09c0996445db50af639df67403f12e242f6765bd4212492f0b965d697e45d8a0a7eb9525ad4f21f41462672c15034a11ca86db0a6df677769cee72a620bda3e59daf312b4b559c9a1f6ebae566450219ffff038dc099790da969a68a5f9649d5930b613c0300cbdd4663ee212fde4641939772039787fe8c3d00930411978efa06f036a82aa1c063673287cca7fd614bb04fb487034beee88436d48bf15bfd63a6b5c5b3d0841571221e1491b95f2d53236a102d8303c576c4720cae24e4a659e982fb019619f789130045312255cfecaa20cfa975e5038680ab42832df1e6f732ea55613baa502886c9f40ffdc21374ccac7a4b151a0f0328e8023380d1dbe474dd7303378a8ca2e718f1ef7a4b43c8766dced86e52632203fc06c95b9fae12dfbfd43476686f1b9e6c4060f57ac40c7d77eae1995ce4d1030395d764c53c27441fd5e908c985555f15627a762d4711cafc98446672cf787d3e03579df07df8cba46f8a893aceea6e1aba229c41b1822a18dcbf675dbe3794617a0396c93159c6ce82508c834c192e7b6c555bc4b7f10d19603823b66349d5899f72032f52499bed0ecbeb076adf3b1192d426a3621e13a8e71bf14cd27c267ef7f3c60318c7750f8d4da352c975e3c7279ed8a2bdce4d58dfbef0f21cb92171a2ced77a030bdebd5c77b31058dbe9cb8b7e0acb482520d9a73b8b88b2b73609cf0b1d2f0903f3f6b13f5381b6e4accf8097bbd2537e8cd5c4f725cdbdfd5f1c46bd9be9826c03cb7fafe7a133e2355e489fae9863fb0b34d68e0e47085797397fabfa0af0a01b03c165e37d686b59ba4963feb26ad8dca1388b1990eb99daa0be9121f732667cb4034c2b676b83a7f9e568decf38f77e4e7e1743cbc4f10a1f525ac0773b2c731a8e032ff4f796f1a3f9a6c081830d27d037ee36ff8014b388f8747302d24b65b27064039cf060a5ae1a591991354c09628040a235ba665072a1690bf62a313abbe44d9a03cd0c4c800791bd8c3cc2695777c9a505f9be92823fc33c9e8d3b2e3604461835036e8df6bdb21327a6a860ce3d1bb77edbad210027aa5f879457072d3a2af73b5803e4103c5645cab683dee2dccd8f1404a76b2329b9ef1da2530b6804aa019f430d03f4e9789771d2cf8182e28f7ebd9a3282965114be81ee84d0f2e5a382647ab88503bab1628709f06978861fefe14e515ddfdfafed357a09329e9156a8c89263693203c80a738ab4fd3a8843e8bf5ed57f13d8fc9cb3706cf660b3c77b9aa33766110b037b79acd0b8a4e6b3895c1d003d622b985735bcfba267b13165ca1fe915d15d150335b9f3057fe0ddc2feb3e86e71a55bf5e89fc64b40f8bfb12a6b27aa5d86caad034919ffcd5659c886b91d27129d187fa7407c421d3f3988a6a27a20c31aab80eb03aaba52a89261b998ea7a8d0b708e51a389a16a311d6b59c7ed839013fd086d6a0375fe4da5478f35050d7260a0e58cbef007fc1aec86933a1aeb6a75e544f6576c03ca9bb5527e13bbc24c253521db833722275221bbeb12187c63d2b1ed9adb0f90032617e7bce6f12c5db15aedfbd59911ea6e6089e9c5282af791c7f73045ce9e990325e24d1a84e020a7fe98cf5ecb1ffd2bf5ae30e1375203354fd16765298a7b33036f01529e1f6ec1d3431ef050492878862c8b9a39121fa8b19b0edde5a93b337d03ed7f7ba1129796c1e38ed7972f86a5e85b1dabbd4e1465431a1558b4eed27c1500581f0336d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0410100581f0397f983c7486790bf8163582faca52a89360384b884374c8c9c8e7a7c5d7043736f6c00581f03629dafdc11c2e5713845ac6d37d2df8bef42022ccc1107bade19ffa85c9043736f6c00581f033312989b634d7cfbbe77aa4e85696d3b2b510401d05717b26b451e4adaa04221050219c900037b39330c2d2a83508781f7af0926739e587eee1615924a69a3e8a5c854ae74470219ffff031f9a510dd5aef748979aeaa8606d75075409a6e7f67f76b06c4b32e0dbbb80b703e9220c919ea2ac04c6da1fbaccc52b494d777e4ee0bee5bb145c97643ec45d4503519b033a3dc52b299367a1c00f1269b1d6d8b015d4060825ad45fb5d40a809be0219ffff033af2edb2d16584595326aced44915e9b7b97317c968759f75f9f68c0ad9c5792034227c1ece2ed8660b8854fafc238f5157f0e6d460e90045ddf7e22c48febf43603e9c9e2c828c60cb2e889f40716e1eed99d88834e5387e77a036d591b5bc54bab03332ec8cb482eca930e186784e95ecc597fb6eedad427819986591f283b8347b603a654cab4115797f5b63dce5fdb002e2ee23e63e24242f595a2df6bcdbf3d4658039bfe61702b16a7a6fd082b8aa1130d0061ee54f644f8c426647bb3a4f33516b0030a9ff9fa3cc3d7d956c9fa436c0a7b4cad54358def72665fe227c28b8e7c6aaa0315386a6555418dda3fbabd81211832cb022b0be8ee004fa85c1d24ec91eed04c0219ffff0342239fcdee91579ab33c54a3cf167e0c1def301fc89848b566d0b4a4b8b2427703b4c3ff1af31a63d703d88a945bea9f7f33a0f11b78d224a2d89de70362b2935703a48c9ffffa07ccf494d36e3eba16c5ab5e898c60f5394ecdf3b64d9538b441d803f4139bbba5ac00972b902bd0901625b3870882d66c89c3832bf12c59ba82f2a10376fe0b580c523f73c936431f4f139380b58aafa5d01c3175680cce9ff8c92a6f03841da474b671bbcf14d554ee9fcb5b6d3cd2d5262c802c5e12a761f84ff7404f032e26bf259a22150db51d623b4db39a386f694f6d635e09bc775af2043fb316a0038ce31b5bec2dc39e63f4d728ce9c7f04869a5e5f0e0786e9797c09723709048203a12d0c7340efc2c149e52d356de40fb193b5788f24442e398e206740a32d4622034515ad5757e0f5f3fc83b0cb4a7da1dbae2e8b91d117328fd1545c084876b1f4039b777f2b00c6e11126e080b28032abc36e7ddc97da2f246e66dfaf91ce18a51e034d653b9dfe15fbbe70998a7c9d7337cfba51ac8731e4698da385c303073ea576036c20327df35fb6171c6bb77e8198e255f086216c2e0d8a26bbd1b5b4b37f33fe035a981149726429a20dc43b433ae2090881396b98cd7472915cad5d9f80e378ec0344717f183ae0da5ce3be538605ecee0b74ab48cd19fcafb1c333f84dab5019e203aefe766078993ca86e65877a41d3ea13056c6cb64b928874723d8279108c0b2a03b3c56722638a7227437ea4c4274b12b646dc54142e8a7f21fa205dab44048b4e039564e8674407454e55998f97b7876335adc22b21cddd332e3c13f28a1d8f30b403d4a1a410e2d7eb9faa12fd5252a0e06aec549842b3fc98913fadad10fbf6ef640371d259c1e8dfccc84cc2854b2f9ad19e4b2b0859481847509377d58eeb06141f036b7ec3d3001a62a40909813b66be150f2ee13f9e30994f586e3dbc7ece82d41803cbfd1821576da2dd522e7444e3a7e7a3515b74a3e1b52fd61423f6d40c4fc03b03d4630ad245315ac6e232b288594bcf5ee74cbe385fa8bca87927cabf27ccdfb00336dcbc105b596430d1f1e98091c44097edb354be1c9919a124d6a59b53fbb047037479a7e7c1dd503d4bbb7a2cad1255325e45a333ed786c2214d5a6e75208c7f403a84d971b0de14f1f92dd26b26468ba58af57a9eb8da93f8f44cc121819f0b38603e9c51f68af8eb9c922ef13b140f39475fd8ddee24d52defde26599618c6b066400581f036c3e1186cc03ebaeb9e55305e43e5f9948617c7fff779d080c95e2ca415042210500581f037f9d5dab188a5e1c801b94407c6f8ff436ae78cd7e20260bc0cb7fc002505553323e9be41473e747001cde9076e6a2c29c1b3e0200581f030b44e4eec48759b580cf9998d18e608a2c38acb30fbab28f080821c992805553323e9be41473e747001cde9076e6a2c29c1b3e0200581f03559b4ccc85dbf182564fee64f676b791b5590b880e161c442f7e0c85955042210500581f035f4e52df6412055c32793dcee050373a9e325118a0c0e37d4e9f086148d042e708021930540348ecf2ef62be7c570bf8f1d4136e2750599e1dfb0f81254068ff7b5a6c97976e03428b95823f401e048bbcaec212a2f2e692fde16979588fdb96e4d23d906b79a703998b369a47b150857f637cf0088530c18955f06be535f215fe44e332d4b2eba60219ffff03013585248601e82b12a2cab24703f2be188691616c5440aa0cfe7ac20f5893aa03af18e4ef76fdce76face9af1d115648f9dd489d020f787950c69f37b3f39d33b039c24ea88fa3569c3613bf24ccbc75414c557f50137284088a3997e82502e108403f2cdd990dea40b89bf661f52e7eaf6eeec7cefd8193632aba3bbfefb2f50713903cfdafb9720a0f4585ef5cc0f5f650d7da5a67c57f23b8f090c87518e8d083fe10219ffff034a9fe2e93dac53611e436565bc58fb6b0a01dce3b41ffcf9b039af45ca53b704035df2abb4ae64da6f9d8f3f482e455bdf98d4ac86e7f017318368e909f1818c10035ae6b3514cb5f6ad2290a48f2488feaab3ab9c0109a97f98f507234e2303ee970329c558024d9316df6e8c4130ee429508126a2af6bc8f4bb1f038933238aa5fbc03ef744baedfd05451cee44f52f91c4fd439efe7f82e2074e44c0d5bd64050fe8303de1c9b63522fb9fb7cd8ec0e3a861c36a1cd9ecf05809ddf4cae97701cdcbb8003a4761723e53bbf807f06d526ba3b1661291cee9abdf46043fd39c2f02ddd8861036c21d27927e3e4787b020c452112e20fd83db7108db9e1ff47a8cb3efa6f8105031f76c30e0e17ed29248662f38894f751f8293380f7ee47bea32ff78f1c6a94760382f88005749f322dd1ec72511901e8d7e0cc4222b34ff9ca124fa182b9899a580367083f7cd2a01f1cda65f875b3158d9447b9633f28fdc34f5e93d080f89a0b6803115c4b83ae489b6d07150f3ea0346b1b68487f73858fb509440875c124d84f1c03ca943b8447cc291027610475468cbbc986514eceb487b32e7358e0ecb059b2e70362a3abead9b8a31a23d4f61f00ab9ffc4a43731921be54c9029e6c5edb07971b0347a56a6015b3720775f7d294ee394a846232f430c167e9107ed45a7b6b1149d500581f0355c119d4708dd7b3970a9cbf73b49a169e313196c2f02c73340a0c9d733043736f6c00581f03c6c347376a1a18723d7f7ecf623d8e6943c0e7b357e4e4ae681fb205ef2055de82c5539a255e94d7e9252a601a7421f40c1ac70200581f03ebe91432a4b4553defdc7dea6bc7334bc58ca0fac6d8f68176ba6a4b689055555ce236c0220695b68341bc48c68d52210cc35b0200581f030bea62a706808a9c61e5d6058139ba0990883b7fb6ec775445454a1f55704221050219c18003237370cf73a8eb92d5c03d443737303d2994ed42fce5c80b06a041c638e7d9b200581f02ba6c563697583c0d7158d0ed38206a1cf55e8e3dee9162cd88cdbbd4847142210503e113289f67c2e3c1e78ee3be043ad7f4fb6cbd00cfe85ad56527db0d4448f6d103a00d75f2c9d997e50d74e74d6056810b24e7e2ae06df0461f7df6ca95526ce6403d804abf92b382fb5773e01633e74dacd8f1600ee30b743dbc1b2de8c27f9e99d03d51621ee3b174040fad840bece7fa5d0eb9e46c1ce46ce25132d8201d6fa322603a642bbc4dcd3caea12db4b6a0f07a6030594d186c6a9f81baad1dc5698a0d7fb0335593ff97e27315da021cc1b32e18ccd67c5a565d93b482166f4aefc9b54a0670309ef5c4cacc170cc4abf356818777a8c00d91df0ea1874a462ceb750952f7e4b03ac1db966277879fc962655eb1d6761da32311779500697280d2282b97d957bd4034f065cc591d3d1d439155aaa73b631d92af73377617ea7c5a52b4f623ce5814903aac1d0b007ae7019baf4ef047261abb2d92d2f1de5463518bf9500d15deb8bf203f4c45b423aa8c79d6b691a5bdbba8f0c5fc99bda4425ffb01c2447fa28df44ec03fdf2f0211bff376e8b02ac269077eea09f8206db96d04cf67905e313f35177e4032822ea2900998c5064b23f4730e3c40fa47ac1d87ff4d543cf8a35e743e758750219ffff031bcaa76f1dc4c05e85bf6514ada771117569e1ce52e288a9749f8fe0788b5d1703eba6a0f4c71abb4ffd69871cbe0c844d9c9cd2aa822d58e67121b7fe2795e58b0388b363ff30f9bdfda3f5501adde4771a089557b67ac6d3bca926ca9fd21fbb07036e9aea316d5fc37559990e0e5cb0ed4e42444e8acadcbb36e83843bece8f330203af9a7014902e65fca5c7f903a136ef095b334b12f12019f4c296677413cfea07031bffc02a2c8fca4488c4ec623c680c7f5c577c9d8ff05a25446b86f05fb6fbab036ad559a5ec87f1876cc4e3b8e91d84d675dd46a50222dfcba9ee519178fe948603a268921dd162ec27abf018f4e18084b180a838b055c47aaa1d9bdf38eba91d080219ffff037f18ab15c474a827dab6277888172dfa8088d715b1802683a5559b4551dc8ba5035b97b176d3b3dbe63054f2d1908f06842af9a75431fe3884e9cf121057f5f27303cf8d720475dccc06cefcb96114005245547af18ef6f10ae6148c1d653d2eb12903f2ff9e72736ec19a33c5e61cae8442bbb615b8260cd1a79242ab2b7e852e4d60037fe0105ef1bd9f85ea85f3a297a2a0af30115e3925acc92715aee8a0097602390219ffff0219ffff05581d020a8ff6bf2bf3a1d343ea28790e165fa94930437e8141f2b429680bbf070119084005581d02d75525ea6797b399885f41d4356ee7a068f5abaa33d204839cc3e594040105581d0263d1b468426ab7f8a33c1455ab5cc72fa43f441bc70e95a1791885ff04030219908003dec2d3049dad0dfa7dddb00a5d923e6e185288681c97a8524aa203c23c4cfc0805581e03747eed2ab610a258f3021c141970b5fdc260dcf76e9ded6782212f62400c014705626e96d4b40005581e030026fd8ad73e013a481931a26831a271290a8b9c0053847e52bb9b28b004010344142bb040895545cff9463b8fbddf2dac4663897977504a3455b919b7743ea003496d9afe6c524654007276b9ad82f88597845c375f854d62123cdb6ec529f40803d1191eeb92593591544c2299fd6fda7f76e95b688bb9fc1313a4c24e4c34b96105581e030014b11d31cb5d6e9e287fd2078cd86387783313c424879d73b46a18300401021975de03098b74639322f53ad1b48591b6140d365e02ee51498c0f4c47c00fcb0cf4c51103248e589518c2a638a7ef789d4a2201733b3a11c4b097c89d749a8985ec4d5bda0389e1634b142a8124981cc8a4b15f50838695e77c6caac0049210e192d540571a0365eb516bdfa91b8d9f04536f4bd352873e8d549a33a2180be4dc6cafdcd523d3031350937b8e857cda6812520f3c5383b6e937df55eec8a8b70a2617a867b2f27803e708ad5fbeec7926c3e1d71fb161f60a6bb08c2bbbd428c03ac7e407475b0407039d78ba7b295657ff035097e43fcd5a138e7c73c30d0d84b056f17e97a04d4dbe032c2011d9d340fb081ac7e135f3ea2fe378080448cb02441bec02ce126fb9931a031a5401c9086abe8a78b7115d2fc50721314d0ef80802960e73c95af3e337544e03b45686a9d2d14a934a57c8dde162c96c75eb4d12be66ff19ddb3d023d6bbcbae03878053e6d17f567f54a54111a4d13ab9713a6fb0c71fdfb76fe0bbde4e70b6bb035cd99d66f5494d01e5babd8665440580bf721a123694080fc2c98f229af64b7d03137aa05c17b51c38b6a07512840852cc598461e3785732222760fb048e273ab60374a13019c7ce813994f7bab707d6aba3b8396e79d7eb3dad2a30c8b190ec24b90219ffff03489efe7fb98f54174e6c5531a1aacac96c10f755bf6f56d881aff7d8bcc77628035bf2af341f0399b4dca6595531c6273f88da40a5cd4c5147d74ea25b1c8dddb503ef2b3fff663e9f06126c50a06312ae6d2c22d464e85efd32af658944411b2fc503f2510f1e90c3ad96ff101bb37e189b735d19484dbaa75f32fb0d286c90393974039ca28c9018f1c54195929f5358cb80b6c142e8e5d896550f42846f63a8e5cd120322807768f851760a4196c3c50efa33f35834ced80179bf129751234f088dcf8503c2d5ea562b14f3347c77a8cdbdc24c68e63805acc2d700d355683f9edae1ddbc03c01d27e41e956f57d969d550c782f6dfa0483b17f86781ddb0cff648cd2e3f3203ce099e1dbcd167354613fdf6e29322a1c1934ec2810149b038df38d4579184b903bcd0f39c477c5eac75a343fc03e322202ec948c9cb0206fc65c7609900a5266a030045701eac0e5b18332a6009eba209b4b1e4492842e7059efb50353e0abbc7670318a958ecac9af67f8861195839600b75fc6913a5ad866a51be35300cb57bba660219ffff038d1f4f914ee7cc360fbfeb7d94178a49a7297159c46a99d8a30d544e5eb085f903d86489994cabb66651d707ca867ad6a855bd747f352363152ac696a014bc440303d67b45e9a8524acc30839400cdcf50cf6c58a842e43e09f557dca7a72dd308e103aa6bed81fb8a744246ae890697f27f7707f82e9b5fbb412862645b5cfda5d5f8035f4a732a4da17cff5afd26b736a3be4e5c3bf5800978e8f2d236573e69fd997e03d91b988ec9bf1b104a42cc98cfbe0a76dfa1d60b217d2856a15bb06879009d5403794a7afb2a7d194ed8789c6049758c9bead545006a48bffab05a91c2d71c44a2035e41cc754ef0b330f44bc5debecd9b9535622ac6382b974ebd04321b6b5ad35303e160e685c0471200501fd7c4aa15fc841ce739f5edf54a137d6040e9e9d9e4f7036e07bbc3a5edcae2722c22c4d757682d7684bfee838b25e4452922014273ffbb03ba29f1c87228ea61c9594ccce41756f106100c265b596814526db4f1b5e664210219ffff0305aff98df127d72ebe0b25a570ee001a21577f5f78201ed37098280322980e7a0358e0e6644dc36c2a6b3cf9475487653bb8b80880cc93ff248127d5514874e9550316a21d1f0e3c486fe39d07f7e7cece21b07ebd232d4968939b0eb8ca71db729d03000c82398aa6934e1f90d4f4ff1c9cec2a15aa0fcf7f8cfa391f17ed8cf44a87035f26488f3608360c51cf8ac106ffdc0cb9617fcf45b3e365ab898fe99f4bbabd0219ffff0219ffff03a35867a3c1daa07c9e05a2c3fe6138a823b29ed3064d535e49cca8663ab8ade6035c63d07e5d27bf5b4b8f0d7b56853e49e6806877792027ce8f63c89033776df603b51158013f8b8c2d8ad8ccfeff9999520b351a7cd0562e54a187133bcbcd4abf038133a65f5e1e6fbc8da6e326bf2b932a9538fbe9874e7c0854623bfacad4668803f93be857e4870a62630ea21ec43f0cfb599ec83f4ee5a1ed9bcfdd5b2a31652f0367b1dbce501c6899cff36ecb0be136efe12b006f0b40a78134c58d09942b00d90342f84cb5e0142f3b27f77200eded737760b9f3c12eefab90ff9a77347d78c53903bc9f1622fb9fc12ceefe4cc9f8cd25dc2c228344032c9fd3fafb59b2f2c7efbb0333ffc53e14ac0e01f391a2930632fdcb4e98496081506f43ce5188a1e4ee5c9f03f21f4eed4fdeeebc8b53cb787d46974341210b78ec477031db09a92c94505ee5031a0257bfdc2886c52e2f3e8269061808c917fe87cec2b4c44323bc86fbf1d6040348e7e05e02f17c0d65d05b99dd427279cb8bbb911729fda3cc5c9a796595ea47037283add9c5ad10a45a2f642c88bd3f0066355226c4eabfc6c7bbd83a5fea658203505d9988a92f71f489b4ce6cbdb4457ad8b8f23dd6750e326d55f6f5289446d40345430e6532857dae83f8790a1bcf54587ef6518a123906c3393c3044f092c221039d84f57e89e18f28caafd4e9f7cf793684687d37fe9e24939b9b274d49ffd6da031c4e001177c7f158578a46e5b04b90c90998a1785c54596b19bab1f2dda598d503e11259e3877f16a09debc3c7e3eef6aa80c292ff5d183e10d5a00bf51414ede803bbf39dcce035a902ed46b0038cae0dcacf5966ed98378ff0e003944cb102f12403b34df066c7c830263fa0696338006b770b4d09766d021a94e669a25e76c7a00903e0a5f9c1eba89ab7ed33228bb12b378fbb75d09aab8275dbd6b6edaa2b7149e303e3a4441097c1ba2ba62ac1f9779089dbc68a5683f831b438db5559c6e8d0e9f2034d8ebfc6d5eca2d5379a60816dc432c02e1123dc8aec492691a9106a879f82ee03fc0e7c0ac9953df259e990179414e3a251d16fbc6fe29a0596c796411305988803107f284b40142691ed6fa3e79f1ed574e25a25c85859f64b09775ffd61ccd4660357164298f537cd58efea7281a1f3caa656d7257fc17d8d73448ec8323229dc99039192a274a575e99eccd02f89349adb1d5a05237369b20a4a4d3bd8a1baf6f7b003ac021760761e272d799ef48f16438c86586f4231799ede28d145db34a84969aa0366b29765d4793c92d469b520ae3809acef4f14b76eec1d9cdf2140a42dab428b05581e03b1ca458d01246eea6fbe769c335cb7ab3f938c5a8726fc54777b261330040205581e033d616945a7d42cfd2e5310f685d39212557c18ee821c96579e5020555004188d05581e0352507f09d93289f2000854ca21ec6d108c413ec69d69e55501c7272540040105581d0265a919c155a4eee6caa20efae6287f002fb003186271ffb1ad95f7c60c02470b7c2e85dcd80005581d02ca4549cdbff3ad31d60800a5e862e8ef6deb21f722a281579428568f0c1a00118e23487cc7b65e5cc622d005581d0252594122e76166b01cc01f13d41fb1c926568c2f2a14b8ef66fdc0de0c0c47026c8613727150021903800352fc2d0cdc5601d1f944529012aa66566856c5b49b1600c7b40dc84ebe04a38d03b94106c7f2b6483fd61c1a29dcf684bb89827596178cbe8bacf65fa13b7e021402198798038afc606bea6441f107a5be4e910d2b4d48e42153ef4cab18956e1e0f557bb829038a39f63431a975e654929418a0ac3be7b9f216fcf29d985ca2576ad49028bf6c03cf137a2f379b18606d4a57f2da2d0d816efbdc770b985b89d1746edde04345f90326874a857979efae008ac4b127574d26dff1ee8389b59349a3dded1837ce9fe103e9c294567ff31f3e843d5f830a18f1b372f9fdfacdd9568b401efb2a06511d64039228bb9a0e66b2462d2f3df607e607ea6310ad4765c1a8ac4631af32391efed103925131e48c7195905b371c4f8fb9118330597bc492c7d10151b66416704c0f4f0219ffff035041e0418f348b11c19837feb9b07f12d883463c1724ca90dd459a2ac8e9c055039df2ec4e9cffee3c88afd27df6cb4c1f84b2df3aa479d4a98bf35b657587c519030d40945db9427c00bb3782ef7750cabcf165df4af9979d51e1219d7bbbe5ae220310d383c7cf5a992f95e138a42d1f48b724910caa147f5fc83aeef129cca735e80315276b13ac9f8a18ec86ccfb34dc653296a6b5fe82fc14a61afa9708c91eb84c031f9b0377b533120d1c2c89b68d58c86fac8fed700b286d6bc378ae5a7e8c3b420316f3320782b2945fd7be3f16c7452a43cb159913901850accdfc7c2891cf0e5903b3acc118f60a3664a3966c06bb5f488d458285fee3b57b2e1f2ba75c79e0b0cf030d10ca04c5369ae32280af586dcceffc97561a8c94482ca590d33962a30d802a038c4aaa2f266de08b33916af8bdeb863cde6a370c5656d8efbe509f8dda965d4b0219ffff038b5b6c657dacf386fd5a10ae0b198bcf4144cc2ed9e1c71610ccacccbf37b1a00354524a83c553f82ec2af684ead3b69cbc924289d4a96f3b2c585be6b31c38be00219ffff03914f19bc22430762f8205be8dfd047b268252840cec05600bb4b5f5e608ebad3035bcbe47fba004366e3c223d72378aa2e57ca65ed5d1f9534c126eddce747d4fa03f698ff44af9dee8c6ca9285db4ec41dccf8f5299f0479cec3efee8c1b9b09d7103b5ea15ff64773defc00f50fb1520e9a9e584557f22c07e7120e252c28316dd52033ea76f5cc28d65cc78a1ba8b00faf4e063ba3de0edfffa7a74f9ddd4b8699d0c03a0735332f4607ba531f597fe80bd8353b0e8e38475e90cb1d248aa169fdb8ff003f158d8edca5b29ec4c100558890190524fb3b60dc4bcbd4de2d0ec80f3f1e0d6030aa8a80d00eb88b81d03f2ec1218029f13e11651fc828fa690043632474a65f10399ca352954384043a431da7cb63eb17c36fabf937659c9b0f234c520c9c0ce5a03b6f8d3521cd3a41aa7c45aac18acaedde395b5472915ebf7509ec195233d9a8303b4ae6946c1ae3511552e84ee8a0923f65d7ff08db7bc243a2e6d8eb8ecd12caf0371a2ce1f2642177725745b8dcde253213e257acc7a171a777ff126a9aff1a84e03b07511e66d1aec101573f33db62b26dc7330ddd05bb3a0fa4f86bba0d746478503b0ceeefcd6c40f6fcf734fbb29bfe8ca1494cd1d239b2c74122d64564c046d5c03d45f7b7a7f40e180375bcedb11966a3ca6dbcd1d382fbf2c09000ae6778706d403b3d195636f46d4687a0bad332a15277eca1028f9e35532bea3d6dbea11f67152030642adaa475ca7d201ca8fb70d4cec3fd8694a3106b2a6e7fcd06143a92a7f0303c978681c0d257ae48a36eefed9a7fd0a737e864023243af84207dee968fcaad80357094a3bad1aead5f49d8ed820bd42b583c4333a8e1b471798269d41c0d2d770035587acc006477785d98ebcbeac39e0f7242727458fce33b75d37ed8cf7781fd0031e0990d3fc22786485881f20059efd49c491df538b1f26c31b7c6183a04b594903f1328df28434a4c78acf1debfde8ea9600e048f2be5f73f923ec6d8322d48a1903ac4b9c40485adaf322a4611362ceb27c1f5e8c75cd39bde7b2598d836f02e5d30395bde02b7a4f65083b272f28e482eef60de7c408b0e1f43d229557a4c413331e039860c0918dfada6d89fc234f108d729695c9a1476f82f6c2a276eb979aaf19f903ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03295b687c81deef1dd8359c0313a56d4cb14aff1ace7828fe6d01b2eb0007011bffffffffffffffff05581e03b412ff7da04844b0f78206b174f506fdf389fa2c1f3c1cbe0afd791cb0040103aacebcfb60b079e109058007cf35d0888b51a207fc05312196e8cdad7a33505a03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e03154880ed5a2315b022ceb994e03f0b2973001b8acba2048742c950348007011bffffffffffffffff05581e03c16000f16d28d3863a9e0e9e854dbc5218076ae52a1184cece4d16cf900c014711466d55444c00037efb18aa41797f3f0676b80a2100033b1ab4a47bb35d1174d2c878e03b701f6405581e03249dc4db5a6c2048f8d5861275094783bf48c95a39a22d668cc4e7ccc00406045901d0608060405234801561000f575f80fd5b5060043610610034575f3560e01c80636b40634114610038578063e4886e501461004d575b5f80fd5b61004b610046366004610129565b610090565b005b6100747f00000000000000000000000003a72b00d036c479105ff98a1953b15d9c51011081565b6040516001600160a01b03909116815260200160405180910390f35b6040517f00000000000000000000000003a72b00d036c479105ff98a1953b15d9c510110905f906101808682375f5b6104008110156100e55760ff851661056082900383015260089490941c936020016100bf565b50610180850361018087016105808301375f80610400870183865afa915050806101225760405163439cc0cd60e01b815260040160405180910390fd5b5050505050565b5f805f6040848603121561013b575f80fd5b833567ffffffffffffffff80821115610152575f80fd5b818601915086601f830112610165575f80fd5b813581811115610173575f80fd5b876020828501011115610184575f80fd5b602092830198909750959091013594935050505056fea26469706673582212204b893321eb19b4bb10acdbd0440d0e25aee69932481164068dc190f24f21c91a64736f6c634300081800330605581e034aa69c33a26713ec609421bbd528ddb799434be12ecbf8af86574b97d007011901d00219e3790391204c4649c2baaa6cfcab7f466562ba8aefdabd9882e5229dd50de2274d1d32038e452b97a72c160db474cc98c44f1f14fe4b6ffb53c86800c7d675249b08a2750219ffff03734ec4258d82cf1ec56a99e9b0e3ffe2b30c6dcfaedbe3903db1e929f7b6b9e4030462cf68ecafdd625b187360ebec759a2696550e8421a27b6c115cfd67b76122038a18e1233af0c3bd20395ea725c8a847106865a462878a579b95d44d0cf88a8a03b1996cf8b691fe15db2881403a6ce077f56ba70832e6e414169954d863a0b96f031bb39770a65aea280c5775765b6f6a06c274a8a257a0aa010948f097430f90870312abf4e1b0c4d714da31456554325ade96b7257ed43a13620e5e48b7bc6ea43403c0be9a1001bba5f152d3778858392b3a6d20f56cccc622cbed4ade623544225103b018ed995f605ae27d40eabd537983020b4b83e670605997540cd12f8016f17f0219ffff0339587f53f24f6e77aa4b21a3d00b6fd99741af2a3d4ec17e1c70422f175147af03bee6ea181ec58b1d617d9620d78aaa55c5e6af8a228ec9de9f2dabce8f1536de039d78e958d234566e8e629d1be3fe865af215ce9bbae521e74dee449f2512eee403cb7292fe8c3010568d222320855375e61727f44929783520215ce0ce7e2ad6dd03b05f2b4c6a0765c9fbf54ad409c25d40203e48b3eda147ee5d2fd2b338ac61ff03c8da51bfbff0a535660ec6b72d1617971b3ec4da3bce4b4b56f3de4b9796b5d703a8ffaff84073ff2234a1a80652689b5c0c710cf79b88cadc1bc82d30996cd1de03bd8b64a4e47e8e4721e345ed42c2f598ae65994d07985aaa260ccce481ebf0070322c5925ccc9a47011db47148937fbb73ea32ec5919a02df7afaf8ea7ea1d330a031c5c2b04663d9a610ab6358d80aec3580a0005183347b70364c4ce1813c9101f0361a8874b8d47a935c958a90420aea4809800fad7348645590fdac43716f74f130360b98fe52ce21d9e1c551c081fcccdef00790a56a8220f0c1ceb958587fa226c03a81efc90217d930f4fb0d551b6e6d431a9d2df952ee18a3351c7a7e0b585ceee03c282c9a992f41df6d387d835879e1510027be88dc1ee66b6321d9da88bbfd7390219ffff03d2f59ef0e077da0c248b5084c5767d0b8dd37360e49c23ec6a84f9028676ee19031250b6a4ddceca8b3ba45b053488b5b579dbf9df1093ada6d67f33a5b3d0d67e03ee5900e6ec145f357781e8471aba1300e057fbb29c6fc218be13a9392ddcf2fa0358e31b9f22e4b670b6ef2affdfb43a8b504f7dc9044b56c7d75731e80f0a1fee032fec34a3566d030c09fe727f10479dfc3bda97ad533cec532c10f03ce033af1303f5855df989a72930111d96860cdc24f197be24f16bae1adedcf993b36a8b8a22037dc06fcda8b55aa8ab44f430899a1cd4c1417080c0eb7fe6f5768d1dfbd0c4ea03844511eab72a432cfd87abdb7c117d3389dfb4a0bcc8b6ac0df248419cc6edf0030b851573686d4ffa31dad61ee7347489625ee95a8764a20467e9095765e75719032d9bfc036eb46f3407f59de6a22fd0c433b7a8e9aec0a9b4a4b1cf45f79b2f9603dd77dfe178a47b09bdcfcdaa0b3ebb7789cb2f0565fc41e17088b31d68d06cb503bf26a5bf5e6f5bd0291c12627561d8887db356deb9c0a8c5e2bf732814f610b403c359056a12e41c2f827caadec2af475775b4852b60f11ec219a14306ab6a0dd403bd304a1bb070ec255f5fea4bf7201cb4d35e56e2962a75bf9d923b7c87bcd75a03ebb7cf712d89a25a9b04480e8efafd8feabcf04bac6ed1a17d33568dc41fd60203b6e478dc852f92efa6432010251b8a23827746c2b75de1db1b596129886648af03ef6f19691005186971ff11d802021a4b196888e666ddb14ea19099b6e578164103962db353ff56bc177793f63064e38fe7d2bd730b0fdae731d4d24e477fb48a030356cc6cf1c1ed514538f5261ff5bd4d518f08fb48b88fca79443e84ead02596660360b0d10c2d62474e2a5f7f8170c0a874a662ed3e8c1a9f431b8b0306efd49448030760ea49c02c23a135b7c2c9e64432426bc428d26ec758542d376434dd8862c2034a9f9bfff81ece71ed4e6c1e31390fa2ad843d6026d9f007df4afa9d140d2c2c031d16cf61b65f116bdf703b77b7513e7d1456200fce10f8a966f7fdf42077ac380353adcfd995522c8936d1675c2939f5142cc4ae598dc22f1e8004238ca62e098e03607d1ae1bc2c11e409e5295752948bdef70f7d5754c5a3de40a95e4606edb89d036b8001c07d35da90d28e8198b786acf03e5fab77c55ba5665cd141eb5799679c037d0dea520f891a44edb59fbe3eba6453917cf282eb4562dfd05fc3e734d9388803e9d4dcf791fac2fb107d226648bf2ee72ff576998d878e149e015a808579867903362800d8ebbbd751836d56cee4ac4d4ab39f32a71305e97e120bb19993abdd7703971c3180a29eb5c9a24adc1148b89c8b619710121a6873b0f12d0667588a2fae03c4d2a4169f149eadd01cc803e5daffc2d7b21f6555c01b31b9ed5cca9f27758e037e6a78221f955f45eb1df0073ac8ca6c6983429200a4deddce023acc93052d02030324c5567952fa320ad0f98250e28365d1e4eaa65c57078692cec3459c26aa1703715778c47531377fc3d2202985ca8bf37352a5b199f0e280d704bbf81263147f0372b410f337e24c14dcc102687af8cb6ab6fe40f348dd1b9099734660b5458596039e4e2c2b29b68419c713408defcf728106056e8eda1fca1e202011ea264f1dff05581e03988735ff52458e3a9a9305666eeef84ec0ead1f3d383db33854c84f650040103bee884ea12c6f036664499088381149941fb088690c2f2d13808154a6cfa881a05581e0355083e86b5044cc80107a273beb0ff1f854868aff355a96a2afb4ed10004010353bc80d6aca2c38ac018a82496880289f041501d823db2e367dcef9ad045a82505581e0385a68bca3026110269d9eaae64b3070999cb964bfa6646c2a4b6c1d20004010459184a608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638da5cb5b11610104578063d5ad4a97116100a2578063e3176bd511610071578063e3176bd514610403578063f2fde38b1461040c578063f7013ef61461041f578063fd0ad31e1461043257600080fd5b8063d5ad4a97146103b0578063d7704bae146103c3578063d99bc80e146103d6578063e172d3a1146103e957600080fd5b8063a85006ca116100de578063a85006ca1461036e578063ae453cd514610377578063bb7862ca1461038a578063bdc6f0a01461039d57600080fd5b80638da5cb5b1461033757806391652461146103485780639b1597821461035b57600080fd5b80635d62a8dd1161017157806370cee67f1161014b57806370cee67f146102e2578063715018a6146102f55780637d82191a146102fd578063897630dd1461031057600080fd5b80635d62a8dd146102b35780635e45da23146102c65780635f9cd92e146102cf57600080fd5b80633e83496c116101ad5780633e83496c1461025c57806355f613ce146102835780635ad9945a146102985780635cd8a76b146102ab57600080fd5b806329aa604b146101d45780633cb747bf146101fa5780633e6dada114610239575b600080fd5b6101e76101e2366004611381565b61043a565b6040519081526020015b60405180910390f35b6102217f0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b36781565b6040516001600160a01b0390911681526020016101f1565b61024c610247366004611381565b61045b565b60405190151581526020016101f1565b6102217f00000000000000000000000072cacbcfde2d1e19122f8a36a4d6676cd39d7a5d81565b61029661029136600461139a565b6104a5565b005b6101e76102a6366004611424565b61065e565b610296610853565b606854610221906001600160a01b031681565b6101e7606b5481565b6102966102dd3660046114aa565b6109e9565b6102966102f03660046114aa565b610a43565b610296610a9d565b61024c61030b366004611381565b610ab1565b6102217f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e55681565b6033546001600160a01b0316610221565b610296610356366004611381565b610ae7565b6102966103693660046114ce565b610ca0565b6101e7606a5481565b6101e7610385366004611381565b610d20565b609854610221906001600160a01b031681565b6102966103ab36600461152a565b610d47565b6102966103be366004611381565b610e32565b6101e76103d1366004611381565b610e80565b6102966103e4366004611381565b610e90565b6101e76103f73660046115a6565b60100261520801919050565b6101e760975481565b61029661041a3660046114aa565b610f65565b61029661042d3660046115e8565b610fde565b6069546101e7565b6069818154811061044a57600080fd5b600091825260209091200154905081565b600881901c6000908152606d6020526040812054600160ff84161b161515801561049f5750600882901c6000908152606c6020526040902054600160ff84161b1615155b92915050565b337f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e5566001600160a01b0316146105225760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792063616c6c61626c6520627920746865205363726f6c6c436861696e60448201526064015b60405180910390fd5b61010082111561056c5760405162461bcd60e51b8152602060048201526015602482015274706f7020746f6f206d616e79206d6573736167657360581b6044820152606401610519565b82606a54146105b45760405162461bcd60e51b81526020600482015260146024820152730e6e8c2e4e840d2dcc8caf040dad2e6dac2e8c6d60631b6044820152606401610519565b600883901c6000818152606d6020526040902080546001851b6000190193841660ff871681811b90921790925590929190610100818601111561060f57600182016000908152606d6020526040902061010082900385901c90555b505050818301606a5560408051848152602081018490529081018290527fc77f792f838ae38399ac31acc3348389aeb110ce7bedf3cfdbdd5e66792679709060600160405180910390a1505050565b6000607e8161070a565b60008161067757506001919050565b5b811561068d5760089190911c90600101610678565b919050565b8060808310600181146106ca576106a884610668565b60808101835360018301925084816020036008021b83528083019250506106eb565b84841516600181146106de578483536106e3565b608083535b506001820191505b509392505050565b806094815360609290921b60018301525060150190565b6005604051018061071d60018c83610692565b905061072b60018983610692565b905061073789826106f3565b905061074560018b83610692565b905060018614600181146107ad5760388710600181146107925761076888610668565b8060b701845360018401935088816020036008021b845280840193505087898437918701916107a7565b87608001835360018301925087898437918701915b506107c0565b6107bd6000893560001a84610692565b91505b506107cb8c826106f3565b905081810360008060388310600181146107ff576107e884610668565b60f78101600882021b85179350600101915061080a565b8360c0019250600191505b5086816008021b821791506001810190508060080292508451831c8284610100031b17915080850394505080845250508181038220925050508092505050979650505050505050565b600054600290610100900460ff16158015610875575060005460ff8083169116105b6108915760405162461bcd60e51b81526004016105199061164c565b6000805461ffff191660ff8316176101001790556068546040805163e3176bd560e01b815290516001600160a01b039092169163e3176bd5916004808201926020929091908290030181865afa1580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610913919061169a565b609755606854604080516393e59dc160e01b815290516001600160a01b03909216916393e59dc1916004808201926020929091908290030181865afa158015610960573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098491906116b3565b609880546001600160a01b0319166001600160a01b03929092169190911790556000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6109f16110fb565b609880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907ff91b2a410a89d46f14ee984a57e6d7892c217f116905371180998e20cef237e590600090a35050565b610a4b6110fb565b606880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f9ed5ec28f252b3e7f62f1ace8e54c5ebabf4c61cc2a7c33a806365b2ff7ecc5e90600090a35050565b610aa56110fb565b610aaf6000611155565b565b6000606a548210610ac457506000919050565b600882901c6000908152606d6020526040902054600160ff84161b16151561049f565b337f0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b3676001600160a01b031614610b2f5760405162461bcd60e51b8152600401610519906116d0565b606a548110610b805760405162461bcd60e51b815260206004820152601b60248201527f63616e6e6f742064726f702070656e64696e67206d65737361676500000000006044820152606401610519565b600881901c6000908152606d6020526040902054600160ff83161b16610be85760405162461bcd60e51b815260206004820152601860248201527f64726f70206e6f6e2d736b6970706564206d65737361676500000000000000006044820152606401610519565b600881901c6000908152606c6020526040902054600160ff83161b1615610c515760405162461bcd60e51b815260206004820152601760248201527f6d65737361676520616c72656164792064726f707065640000000000000000006044820152606401610519565b600881901c6000908152606c602052604090208054600160ff84161b1790556040518181527f43a375005206d20a83abc71722cba68c24434a8dc1f583775be7c3fde0396cbf906020016109de565b337f0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b3676001600160a01b031614610ce85760405162461bcd60e51b8152600401610519906116d0565b610cf38383836111a7565b3373111100000000000000000000000000000000111101610d1981866000878787611281565b5050505050565b600060698281548110610d3557610d35611716565b90600052602060002001549050919050565b337f00000000000000000000000072cacbcfde2d1e19122f8a36a4d6676cd39d7a5d6001600160a01b031614610dce5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c792063616c6c61626c652062792074686520456e666f7263656454784760448201526561746577617960d01b6064820152608401610519565b6001600160a01b0386163b15610e115760405162461bcd60e51b81526020600482015260086024820152676f6e6c7920454f4160c01b6044820152606401610519565b610e1c8383836111a7565b610e2a868686868686611281565b505050505050565b610e3a6110fb565b606b80549082905560408051828152602081018490527fa030881e03ff723954dd0d35500564afab9603555d09d4456a32436f2b2373c591015b60405180910390a15050565b60006097548261049f919061172c565b6098546001600160a01b031663efc78401336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610ee6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0a9190611759565b610f275760405163181f985f60e21b815260040160405180910390fd5b609780549082905560408051828152602081018490527fc5271ba80b67178cc31f04a3755325121400925878dc608432b6fcaead3663299101610e74565b610f6d6110fb565b6001600160a01b038116610fd25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610519565b610fdb81611155565b50565b600054610100900460ff1615808015610ffe5750600054600160ff909116105b806110185750303b158015611018575060005460ff166001145b6110345760405162461bcd60e51b81526004016105199061164c565b6000805460ff191660011790558015611057576000805461ff0019166101001790555b61105f611327565b606880546001600160a01b038086166001600160a01b031992831617909255606b849055606580548984169083161790556066805488841690831617905560678054928716929091169190911790558015610e2a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6033546001600160a01b03163314610aaf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610519565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606b548311156112075760405162461bcd60e51b815260206004820152602560248201527f476173206c696d6974206d757374206e6f7420657863656564206d6178476173604482015264131a5b5a5d60da1b6064820152608401610519565b60108102615208018084101561127b5760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420676173206c696d69742c206d7573742062652060448201527261626f766520696e7472696e7369632067617360681b6064820152608401610519565b50505050565b60695460006112958883888a89898961065e565b606980546001810182556000919091527f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308018190556040519091506001600160a01b0380891691908a16907f69cfcb8e6d4192b8aba9902243912587f37e550d75c1fa801491fce26717f37e90611315908a9087908b908b908b9061177b565b60405180910390a35050505050505050565b600054610100900460ff1661134e5760405162461bcd60e51b8152600401610519906117c9565b610aaf600054610100900460ff166113785760405162461bcd60e51b8152600401610519906117c9565b610aaf33611155565b60006020828403121561139357600080fd5b5035919050565b6000806000606084860312156113af57600080fd5b505081359360208301359350604090920135919050565b6001600160a01b0381168114610fdb57600080fd5b60008083601f8401126113ed57600080fd5b50813567ffffffffffffffff81111561140557600080fd5b60208301915083602082850101111561141d57600080fd5b9250929050565b600080600080600080600060c0888a03121561143f57600080fd5b873561144a816113c6565b965060208801359550604088013594506060880135611468816113c6565b93506080880135925060a088013567ffffffffffffffff81111561148b57600080fd5b6114978a828b016113db565b989b979a50959850939692959293505050565b6000602082840312156114bc57600080fd5b81356114c7816113c6565b9392505050565b600080600080606085870312156114e457600080fd5b84356114ef816113c6565b935060208501359250604085013567ffffffffffffffff81111561151257600080fd5b61151e878288016113db565b95989497509550505050565b60008060008060008060a0878903121561154357600080fd5b863561154e816113c6565b9550602087013561155e816113c6565b94506040870135935060608701359250608087013567ffffffffffffffff81111561158857600080fd5b61159489828a016113db565b979a9699509497509295939492505050565b600080602083850312156115b957600080fd5b823567ffffffffffffffff8111156115d057600080fd5b6115dc858286016113db565b90969095509350505050565b600080600080600060a0868803121561160057600080fd5b853561160b816113c6565b9450602086013561161b816113c6565b9350604086013561162b816113c6565b9250606086013561163b816113c6565b949793965091946080013592915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000602082840312156116ac57600080fd5b5051919050565b6000602082840312156116c557600080fd5b81516114c7816113c6565b60208082526026908201527f4f6e6c792063616c6c61626c6520627920746865204c315363726f6c6c4d657360408201526539b2b733b2b960d11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600081600019048311821515161561175457634e487b7160e01b600052601160045260246000fd5b500290565b60006020828403121561176b57600080fd5b815180151581146114c757600080fd5b85815267ffffffffffffffff8516602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212204fa949da5a6f969c6a44c7a0a63bdcaf482a68da34d665a46449b23066c0951564736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e0312471120af6c2769bbf7bbe7bdb03e254fd656be940b7b514ef0191c90070119184a05581e0349e9e7725b0c78cee3902c5c959188ad900b63dd107b31d3e02d4ceb900401035141f3c4cccf0bb559926e1e0aa3109556804c966f3d103805729fc7eff797c605581e03c8259f2d0bf9e7e34ae27ae3614607615ef1329a4b4d930e80d76b1c80084806c810e86bfe8c000343a92124021391bcc1ff7b583d94795cff03ae1b4a424f94b8f7cffeb5b64ee90219bf2f0359be0ec1f2f5fbd417d63e8832618c99831032b74e69cd45bd0287c677dad94903f56d15b4ae58cd80df3e5b27f7049b9db013dd5433c12bccfb74161aedeabc3f0365a9a8fad3b16d2affbbf893239522f13031a462fb810fe5f95d1ec94bba45e00312e20cbb8d1ca2ece18436786770891e9e3b9fb60450c6db867d01b90c67351503b78e89c49ed537248127dfae8104d37a5e4e0f1d1498fb6eb55e6f2c388c61dc03b4e3d667c5960e58f72b930485cc672867cb9ab77a960281e4f5a7646a9418ce0219ffff036333af6d9c471e1f803e2a90284c49535976c380bf70b7dfc3950fc0706721f503bd228074c55fbee3a17209f8c10434b40e4b29c8d6a6749a594eba0519fb05be030c9338a4c5f39adf203e4c637295523523c3d8a6b305f6981662c0380a8f53ed03ae2f07d8ec2fc3226913bc2625a4588c7cd00339618030ce00940625325f8ff7039911df481b986099914f4d3ec06a5b59179a0f08fd05184a5005aacf8e21c7c5032c47f82194768c97cdd4362c2536da94427a17b6437f73504b684f83ea397b2203df66cf61883f62c99f93d935e699eddaf6f4e606d204a1f0b3bf5daba96abc5a03c4be20918fd4b471619abce85d450a3d94fa9b6cfadfe7236dfd21b2ee9798bc0219ffff0325beb0c3f61a50153c249ad5be2519f52f196078091b204b95106d029db649d1037346bb0d9eeb2e3a6868150c2bec9703e56cbdbfaa561b3983dea79788cca1d003b79b5b3db348e46cc16b3b77fb8ac417773a961ae4bda2c50682e756ca07e5eb03cf10b63e288086103d745e0692c9505769f126f8b9f0cb759b87576a55cf8c5503146ed5d93a4bf9ebe4f30aada0cfa03f88886d75e25b98b2f314429cd3f41dd103a020be9ecc1a1d16c025cc3416b1fa19d22e759f68b8e12120420681edec4afd0219ffff0219ffff031594b9b1da216bab2aa2803645a47b0fb9c19d7cadcf6cfe79c9b1d7c930ff0a03df4a59515b199fc86f36e50e4373121de5d2bf9715a92b03893d6103b7083bc103f23e878b25c27fcc477243d69a70bf1486e1897709ef13d48b2fe5a05a37f5c703a1526c248f503e902c95c48400c0fd9dc090fe91effa9d643cbe1f61433d18a703af43d505240890ae7875df80ee20babbe4176ca06fed4a4dc6063cd74da04e5a03d5a35fb4642a9587d6caec13d6474f9c099028b32fe3d90c8005dcb9e02ee049034069af74db5cc70f38671ccee49ec0faa5a50f4d58e1b538c0fa82cd537aa23703ecf2cadf78cf55cc16014702c57527ed208a01eddd1203548d4573227735983c0398deca740e2b4522c74e93a4c9a35f8b0227c2590a9932a775efc0615ea4e60903043bc9b6c0b49801c6051ea793d3cc3debc1e055ba1a055cb2caad00df3a26e703b17335d29dbb5b1e9fe243ffa44fc12f4b4a41ba141fc3fd430e73c586a7d11a0393012ad9ae9a0f6c33a520c1fba5c5a7210739844e2e26306f69700768fdda7d03c324562a157327b631ed7b31d220a1287110289a40f20e00fd26e7bd7b80894e03344dfe31be8eb239aa7544021b3d57391fa769f23680a012e69ca45410c9d97a034837537b0a5f88a96ac097c2ece31faa2bc0a16fcac3086d4209138687be2a9b039d136b4e0cc647e2f7e7c43197f7528c595f9f388d1b9c60b6e13e94e77269b803e842495ce22f589cea900b3e7d93782936fb02efc9828fa95a5f469b3a42cf4a0362f179cb117d2ae5eb3fa49e075b20963a2d751578d6085bd3c51f4e43751c5c031e77962d177bd8e13e08dfca25f00353b2b48fa156bbd3cad9ae0e1c13029fa303f9651ac105d1c7511ff42a70c8b5c74c5d0f05b92bca3c063f552e691929b342034b5c4146b9e31e31628611482b17ed74cb71b1cd4543891e4734b43c6a8c474903d39466376523ddf7676904e72a0dac419d8b16106ac752a5a7372bb72c7bf46503c39e15b80e9f76106ca5831d6628feccf4c5535e8ba204fa379685413dcef1aa0367183d7bd94758e148a0ee2b2449d1a32b621389ecfa60037dac97c25368f3f6035ecec7411f10a00d13dcead8cad0836a77e452fa6fc1deaefe254397adaec130031a41998132f4a7d4d06fd296919cd55828c41888c94b5e6732dabe4d780dd4d10331fd9c43bead0bad51d3ccca7f10c6a4773b1636753b7835b9c5ecdbd838cea9031092f2a32155d9501d2b2e1c14fcb47ede93f298a5334abc1c17ccc0f5eec1390366dbac1ad13f9042ae275152b181772387322a1924886334efe0a1f99ca20d2d034b5e56480cea4b4fa27b9fd1ae6ab298c0511711ffff11cbe2227b304fb9804a031e4366082444073b4bea23568c108c4288f2293bf126f5cd6359c41ec52fc7fe03283fef3631a1ebc73a9305bae3dd4cef2da9249e04809cc165c277726222a30105581e039729c5d29ccacc162ce4846117b0a8a8732264d83b13e6e3ffaa2655300f01472386f26fc100001bffffffffffffffff037538730a9a0ff49d998144d89d036ec5fd83f7e9408a6ed7164027eff923436203c702de0b83f30e0d6afc3b8d514042a8d3641eb568d8154068e5d2c4d299f90505581e03a3458d445f21e6b53389a0d1241d10c1827f070cdc6307b17896198410040205581e030f7ea4717320d352fccca39a02ec77c3d107aaee1d5c96b86202ce8d300c02460e4cb195f83805581e033c411329f6473e7abf96fa0c6f433d70c0bd0a93794d259e69ce7b3d70040505581e036f1982eddee59532745d753eeee3bc805a82f93be76312217bfd449ce00c0145e8d4a5100005581e03f92ab9b33879145b001295248bd3b2bcec0bc4207931d4cad64c7cca70040204592ab6608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063b4b5ea5711610071578063b4b5ea5714610638578063c3cda520146106ac578063dd62ed3e14610725578063e7a324dc1461079d578063f1127ed8146107bb57610121565b806370a0823114610421578063782d6fe1146104795780637ecebe00146104f757806395d89b411461054f578063a9059cbb146105d257610121565b806323b872dd116100f457806323b872dd1461024b578063313ce567146102d1578063587cde1e146102f55780635c19a95c146103795780636fcfff45146103bd57610121565b806306fdde0314610126578063095ea7b3146101a957806318160ddd1461020f57806320606b701461022d575b600080fd5b61012e610852565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561016e578082015181840152602081019050610153565b50505050905090810190601f16801561019b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f5600480360360408110156101bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061088b565b604051808215151515815260200191505060405180910390f35b610217610a17565b6040518082815260200191505060405180910390f35b610235610a26565b6040518082815260200191505060405180910390f35b6102b76004803603606081101561026157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a42565b604051808215151515815260200191505060405180910390f35b6102d9610cc2565b604051808260ff1660ff16815260200191505060405180910390f35b6103376004803603602081101561030b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cc7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6103bb6004803603602081101561038f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cfa565b005b6103ff600480360360208110156103d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d07565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6104636004803603602081101561043757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d2a565b6040518082815260200191505060405180910390f35b6104c56004803603604081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d99565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b6105396004803603602081101561050d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111c2565b6040518082815260200191505060405180910390f35b6105576111da565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561059757808201518184015260208101905061057c565b50505050905090810190601f1680156105c45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61061e600480360360408110156105e857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611213565b604051808215151515815260200191505060405180910390f35b61067a6004803603602081101561064e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611250565b60405180826bffffffffffffffffffffffff166bffffffffffffffffffffffff16815260200191505060405180910390f35b610723600480360360c08110156106c257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803560ff169060200190929190803590602001909291908035906020019092919050505061133e565b005b6107876004803603604081101561073b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116ef565b6040518082815260200191505060405180910390f35b6107a561179b565b6040518082815260200191505060405180910390f35b61080d600480360360408110156107d157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803563ffffffff1690602001909291905050506117b7565b604051808363ffffffff1663ffffffff168152602001826bffffffffffffffffffffffff166bffffffffffffffffffffffff1681526020019250505060405180910390f35b6040518060400160405280600381526020017f455347000000000000000000000000000000000000000000000000000000000081525081565b6000807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8314156108ca576bffffffffffffffffffffffff90506108ef565b6108ec8360405180606001604052806024815260200161280360249139611810565b90505b806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3600191505092915050565b6a2888275295397bd100000081565b60405180806129a4604391396043019050604051809103902081565b60008033905060008060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1690506000610b048560405180606001604052806029815260200161282760299139611810565b90508673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610b5e57506bffffffffffffffffffffffff8016826bffffffffffffffffffffffff1614155b15610ca9576000610b8883836040518060600160405280603c8152602001612a46603c91396118d3565b9050806000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3505b610cb48787836119a9565b600193505050509392505050565b601281565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610d043382611dc4565b50565b60046020528060005260406000206000915054906101000a900463ffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff169050919050565b6000438210610df3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806128e86026913960400191505060405180910390fd5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff161415610e605760009150506111bc565b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff1611610f6257600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff169150506111bc565b82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008063ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff161115610fe35760009150506111bc565b600080905060006001830390505b8163ffffffff168163ffffffff16111561113e576000600283830363ffffffff168161101957fe5b0482039050611026612737565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff1681526020019081526020016000206040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff1681525050905086816000015163ffffffff161415611116578060200151955050505050506111bc565b86816000015163ffffffff16101561113057819350611137565b6001820392505b5050610ff1565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff1693505050505b92915050565b60056020528060005260406000206000915090505481565b6040518060400160405280600381526020017f455347000000000000000000000000000000000000000000000000000000000081525081565b6000806112388360405180606001604052806025815260200161290e60259139611810565b90506112453385836119a9565b600191505092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff16905060008163ffffffff16116112ba576000611336565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001830363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b915050919050565b600060405180806129a460439139604301905060405180910390206040518060400160405280600381526020017f45534700000000000000000000000000000000000000000000000000000000008152508051906020012061139e611f84565b30604051602001808581526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050604051602081830303815290604052805190602001209050600060405180806129e7603a9139603a0190506040518091039020888888604051602001808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090506000828260405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600060018288888860405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611549573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156115db576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612a216025913960400191505060405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050558914611680576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806129586021913960400191505060405180910390fd5b874211156116d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806129336025913960400191505060405180910390fd5b6116e3818b611dc4565b50505050505050505050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff16905092915050565b60405180806129e7603a9139603a019050604051809103902081565b6003602052816000526040600020602052806000526040600020600091509150508060000160009054906101000a900463ffffffff16908060000160049054906101000a90046bffffffffffffffffffffffff16905082565b60006c01000000000000000000000000831082906118c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561188e578082015181840152602081019050611873565b50505050905090810190601f1680156118bb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff161115829061199c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611961578082015181840152602081019050611946565b50505050905090810190601f16801561198e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b815260200180612850603b913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ab5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260398152602001806127ca6039913960400191505060405180910390fd5b611b2f600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff1682604051806060016040528060358152602001612766603591396118d3565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611c16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16826040518060600160405280602f815260200161279b602f9139611f91565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405180826bffffffffffffffffffffffff16815260200191505060405180910390a3611dbf600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168361206c565b505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a90046bffffffffffffffffffffffff16905082600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611f7e82848361206c565b50505050565b6000804690508091505090565b6000808385019050846bffffffffffffffffffffffff16816bffffffffffffffffffffffff1610158390612060576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561202557808201518184015260208101905061200a565b50505050905090810190601f1680156120525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50809150509392505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156120b657506000816bffffffffffffffffffffffff16115b1561236257600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461220e576000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116121595760006121d5565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b905060006121fc82856040518060600160405280602b8152602001612979602b91396118d3565b905061220a86848484612367565b5050505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612361576000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900463ffffffff1690506000808263ffffffff16116122ac576000612328565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001840363ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a90046bffffffffffffffffffffffff165b9050600061234f82856040518060600160405280602a815260200161288b602a9139611f91565b905061235d85848484612367565b5050505b5b505050565b600061238b436040518060600160405280603381526020016128b56033913961267c565b905060008463ffffffff1611801561242057508063ffffffff16600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160009054906101000a900463ffffffff1663ffffffff16145b156124bb5781600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001870363ffffffff1663ffffffff16815260200190815260200160002060000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550612603565b60405180604001604052808263ffffffff168152602001836bffffffffffffffffffffffff16815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008663ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505060018401600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548163ffffffff021916908363ffffffff1602179055505b8473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724848460405180836bffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff1681526020019250505060405180910390a25050505050565b60006401000000008310829061272d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156126f25780820151818401526020810190506126d7565b50505050905090810190601f16801561271f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082905092915050565b6040518060400160405280600063ffffffff16815260200160006bffffffffffffffffffffffff168152509056fe4553473a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e7420657863656564732062616c616e63654553473a3a5f7472616e73666572546f6b656e733a207472616e7366657220616d6f756e74206f766572666c6f77734553473a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657220746f20746865207a65726f20616464726573734553473a3a617070726f76653a20616d6f756e74206578636565647320393620626974734553473a3a7472616e7366657246726f6d3a20616d6f756e74206578636565647320393620626974734553473a3a5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e736665722066726f6d20746865207a65726f20616464726573734553473a3a5f6d6f766544656c6567617465733a20766f746520616d6f756e74206f766572666c6f77734553473a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d626572206578636565647320333220626974734553473a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e65644553473a3a7472616e736665723a20616d6f756e74206578636565647320393620626974734553473a3a64656c656761746542795369673a207369676e617475726520657870697265644553473a3a64656c656761746542795369673a20696e76616c6964206e6f6e63654553473a3a5f6d6f766544656c6567617465733a20766f746520616d6f756e7420756e646572666c6f7773454950373132446f6d61696e28737472696e67206e616d652c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e74726163742944656c65676174696f6e28616464726573732064656c6567617465652c75696e74323536206e6f6e63652c75696e7432353620657870697279294553473a3a64656c656761746542795369673a20696e76616c6964207369676e61747572654553473a3a7472616e7366657246726f6d3a207472616e7366657220616d6f756e742065786365656473207370656e64657220616c6c6f77616e6365a265627a7a723158207a561919745063e598a99d12fe08a41f53db12ad869013da73e80c1b6d1c676364736f6c634300051000320330716dfcde4863da1af4c4da3b434b4d40fe498f4b715259175317f873c25155035db50950e3e478431d12e57abe13622489028670d66cd3f8259132bd2ae6b27f032a8fd5fb044e56244f0d77a662ff92e72a33c18759851c1c977f3932243e34860342b5dc3876c62685efab1c2f10e56339e6be2274a97855ee8082c5529a0ca7dc0349c931ee46a778165957e9761b4a2a9fdcbc8483fa0e9e1c6fbf60ec701ae82c0306f359907a12affd9abf3eff180cd76566a0b895500521ee01d9b25265220cc803f2797e8fd0c087aef52a0b7245722727d20c2c9a293130ef1637bd811826ac2403364f197d6b6ce8dda643f08b151fc18e8870eafd5a5b0e1b8c29330635f90239030a77e4a626b8ac2c7aed201fdee5ebb2d3b5bd21b01d67a6e3f467a6bfb2cb13037ca510ca8786ae3409b6a5676dc55888784667d7d9259f5cc506b201d37653490364e1bbe29e1ccd3088b16a834714d23fd702a129f28c9fbe575b6fe0ec3627f6037af7e02cc1ac880a5bd4dc88bf6fa11ab882d50334d5116145a1c6de97f371f9030683cb6bc0536ef3d7f544736880dae33dc9639c1a5cdc491705a91514bc2430031eef14d5a8bdc5f6f0948d433f61b76647c747d5ddc57a3e55fd9115580bee790365039d476302608bfd95de2057c6bc6f43827a8c9a28143c85d09b7ead13bf2103243d973952711e201635d3e4762b6f07a5791a99edc391db7a2bc9970ae383d003e09c5b225490523c5bb37b5fee9f84329f97cb732b922ba304ff5890ba4c706603f9214ba6d542afe73d8c99a464668c89154c77c7b24d6b12b174bff0c04f5fd8005820039909cc76b545afd1eded2d5d78633ecb231f9786f1a3daf5d5d95936d3ecc04801e5d9f5e50d5e670397b257ae66267198ae62852609ba5b748b36c789d186f929247e94110f84a3730058200395746d788a954a5003e4125570a6daa1f60227d9ad0415c728cc5bddcf22d04ad2c6ca622f824a100000005820031075dac433bc23ff4c1e6646782ee6a1272568e2ff5e57e8b6508ebb1c25d04801ea4ad0fa3a4ffe0323705b7b2b2099ea76917d3f59d79a7afea304eaedaced1310e39d0f4e44ea1a005820030161f06d1a9f44e8cbff875c9b0a4f59fc9ef04aa314714a1149212242e920480d20b9a75928b4550058200309aa217e37b9c114caa768fbd06167fbb2b4faa4c050b311eb62e25c8d57504b084556793bb4bc11d4000000582003946035dcfd3b285eb7611398a0bd89c3b6636ffb16a0b05bbf7c364439639049056bc75e2d6310000003766af918d72f92e8fab9d6d02db1d7010b8394a66b47a13c47e66fcbe43aaade005820037b779370fee6949d2c8df482d5f25f5a96475ee55b3e834f9f970a688b1d104901158e460913d0000003a4a529325cf5bd1fbc125649eee2d7715d0a219ee7275542fe5a9c80f36b3c6f00582003b0f9433a4cc7aad39472a205d1eee6ff19be7c0c4b06415c53432a5b0e42a04710abcdcb9bc7ff0219ede703009d0e08efce6f00c327ecfe6c01f2931b290861f33e413e632244af7f59578903d0d92e0039fb8d623dc9d216a07b74f0455c005c8e02b0c9efcb9f7f2bdff7d603f145e69b220e74412f196d50c2dd774de5a2822566de38dca11983b352323b8a03e87c8589b335cca56981a2f6ca10df0e386cb51ad0428a0b4d9eccc0979fc9a0034444a98acd3c76d8d72c4d6c61f12be1d1c213f8e53fa54a0e25b8de8b427ce803e11a7d778ebc9ff4fbfb20801686742f2e023397e1315f1a586016ea2ccfa614036cb9a24a4c4bde5cd465b5264844eac3a0d0bc12cde854aa416ca0378afc4a6b0219ffff03dfee54e641f0a8370ea054129570676818e2bccc03790515f906fcc77df280db037ebc5671df462ca867d38f3040c5f6031b9e79e95f768da7d100bd326b14c15c03237d5814ca09d1955066b4afb6d02b683f93c0ee09adc9aafdce29365a28192103390dffae0b56fa565f2c5cddb6bdee112b2e8cdd95b1d3e2d53254ede3ce5e9d0379d0d387a5e8b21e1a9397254313a288658ef806efb113ef6b496765336ab13a0219ffff05581e03920acf8567fce12e2cd800f1547d8b651e3dcf962e5c9a3a484b2b12e00701192ab605581e03a31782e6d96495b7e92374e776a5428f31a3c1ccbaa59587bce3d31c500403034111e6e03241cabe19f3e527e7b499d497212919350cd92fd523dc544110a92105581e0308273b9865b9868b4c7493b7fbbfc540114571efad5acc66919e9c7720040302197f5703bb4ccbfd9aa93942b1318c58c599adf065b95091525330939ff9f3e441f19c7f039bd853cd00424cc340f056bb93b56580f3d582839150b693e35e55c451d41322038db90cbed0b9a1e69da14c2a1e45930e5d6857eda957b27a4da48786f1bf255e0376328dfbabcb8d4f011aa7fd34fdab625c2527d86c3b5eccd65748aeb9702c5b03f004ff6e31f416f3215f2f45b78a79cc1b86499417c2ee608f0066493f7476440325f162cd9a61baf3f55098d58c2fee0b4a4d8ed2cdb0dabc5e533961c32f1a6103ef219faf573369174c8e9fe714cbf137a30a8fae0a977eb23c728fda9c1685eb037583f0080872a1a8cea8c6ee4dc44771b733e37b7b56fc2f187f3c739ee36a800377e25d274fb134c0dea5006dc2f8cecb1febda2b60c2605d919822933110b9cf0304babc76876b59f785ecab35c162905a014be171248edcf108a00327de0013960335da2915b4a526b26b26981a5b7b05ca925f7be2c27108d506b2548914f838fc0219ffff03f7d7bc10274a1d75929683e4a5822ca6b4c78414602101d1938a7ff2832dc24803d26799761f335bcedc4b39100e0a7d009e82f530e66a744c68c33e6685d8e9f30350bb7691b2acf6a07e2014a021318e531ddb311b022861f5ffe407754a8229de03891d65db3a35a9d130ecc7b0b167ea1c00a496e758cdb23509cafeaa3ac85fd5037a7a9ab6fdf1ebfda80bb07cfb557383308b655bf5af7f507d26fef35a696eb30219ffff03e0b6ef164777d1921e7ea0c527398d10869265b187208c755b26d4b1f08be73e039f44679e5ce377bfc1bc87293bf76a577e2cfdb3e1881fd0e4ee8b5a31d5d0c303029cb00aafcc498f09c7db7f8cbdc60006ddfdeca0f5ce9c55ae19b406615d7403eacce1601cd20788aaafc065f6478675bdc5759362253925fce691d8599674eb0219ffff03eb4639c56304f735bb1a5160aaf472b515c9509330a7400964f2730dc2e3ea8c034db1e8e3df61d213795f42449f4ec09f94082d3463a13ebb59d82f2ced6cf68e039ec667b6f021b4f268f5040615ec81a736ece17c6a47b80f8f7ac9d83b07ccc10304cb457bd7822f460ef73c64cb1348a505973ab62988549f9cacdca8d8e3514a0301a3a7130147915976ccc4fee43d9a559ad185efdee2b49756e0aae5c902e6b703450db3d3c73885742a8aed686e628da8f78e7cf909a6dc5b4d6e276f1fba849403df011457618926979057a2d355fd813333875b91b947a578e35c7e60b90565b903811650506ec8eb1ae3a972277d28f8d31c2f73c0fa1e0fb1ced8fd317f6dbe8403d25e4c2ef6944e047872fd1b1402e7cb762eda672bc36f45d2d588c482decdd6031b642053280d2b12aff27ce55a4055526fb3a6298cc3dc6f1d6e38f618342e3c0399dbc2fdd11b4cb6a67932775dc4b21ca8252b6b26a8abcf06fe95f706cb189f03fb39fd2cf5be2cffb66b6c6cfa3eaa8c89f68ac79db791c2cf7cb8d121c107f103f71cfb5d985a9552895dc875b9d9c1d132e7d7dd395a152cb20d78ae0f9bb1700347c17f398808904bf66ac053569a40ae4c33e8339254ffea720bc257a63340e7033f275209c1a399354f263832923fe64f34f193b52ddf9c6f128ce5e36de4c32003d4be4cafd419371be149d17d9da6b18fc50709b53ab6f95f7ee8e1826d124fef0353baebc7903ba3cbbc012cbecc2c0df62b98922ba225097a5b38d81fd24fb21803a3ef8742fec292dc021fbe61381401b17ae3925664a52522a2606a474731982f03f1c11e65efb6aed1454be1db73aa17dfd5f5f455d98d54836f50aa6a51d20bbd03b45913207e2dc6f8ed671273e6e29636ec8a0d4049c6f00dd83e66d044bb400d03c1a798088f64b0c3ff7fd0da070f4fa5867208a3ce8d5f092664ea37292f578a03cd9ca2394e2e35db94c12033116c5e059488c9e3f25b06410f4df4ef06845116037c46f12ad6e0936b73b0481b65730a394938161d4454b4cdd9fdb8feac948fe403f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03b53cefb13151d3ea739334332f86ad6163237196c0051491a2d5dc29c007011bffffffffffffffff03e7d6d4bf38f7fbf6bfdca71d3c3f193a0c1fb43e5b12d33e2f0ac3bd9cfb969d05581e0339417f53536bba4227f5cb51870c5847ef80a44aeaf3e093b0c14f57700c01470212332ba49238031acbf5e7c35de55bcf219f28b70513751643069ca2d08e6c5c8ed5155379944405581e03ce740d960b8821b71133e8c52f388b5fd61ecf46ef775f5b02a32c55a00c02466150e0fdb00005581e03a0e7ae6ee780d73afa7f5380cbb3b3f92d1b2ab6d6dfa8ae5459419c200c181b468194889b0e3005581d02141901a790db68a3a643583379e1f9512dd27547a0b5de4ab97805fc0c024803809e5b7397c38004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203cdc78f2d392a26db98abffb8c65de5826345081c6cbfbf923332bb06377cd722038b31eb1ac8a22480bbda59b41e2df0ad47fbfed68fed92b4f1e2c8d5146fca0503ddf0acfc21b90241e0e10d60ba41775672054edb7f658b1c0a22a02a4f4f4321038aadfed6884803f56e99c49786efbc2e7f3fe2d590e95a040ceb50fbd67d34d903f10e6c7e0a28aa96f6238775822d483a31ecdb4a2baafd4fe061e4b98315bb6703a7a2b94e76a0de28e5ea53b74a796eaab9091302ede3db074144a8b40c867c55035cb832226fb17455dd172504c9ba6d9ee7dffee5c0eb3d76d8bed828b7087ebb033e4eba26fbeea31de49d6781d0997d529a04fa20dc64a7ae8c15fe9f83e46bcd03bbc90244231682067f19d9b0d3266062b4c8e4453aa3f2067796bdf92118b637005820026f361667f7ee1e9ace99c6987ccffc09eedb099e6aee7f46216fb45f7491394101034442993e432922ce0d46104c3d162e37e0419605589f0fd3ec0b73bdd116046d03b90a75193d114f5743312b932710091b9027c9e9f1100190bec9f1986891cdb901410b03d3e0ccf1ad98315bbef0bebea204aa839e9b9bc6fbea3a45bc27a8d2c0dc5a42005820021d0c74339f41010a2af1165288a2a43aaf4282af47b9a80b6b495887b927215491fe14df53eae3a87e310ec6edcdd2d775e1a23f031fea15b9a92a5d08e05ee13407fa8a89caea44111c96b745230617749338159c0362ea1d67ee41463cd30475c651d0e473214ea918ba6b293fa693da01158ebee70058200255684a30f31e445beb432fc9d1560c3b6e0008c669c698ec96d80458b4c3b1410103d2ad37a9d43bd44d1d1b945f66e281e04b34313ca828a426843e8c78363f615103fcbe4540ee430ccc354dcadd1bee398e9b97049fa9c1c5c38f93966b2373ad4b03008c6ef1a24370c9ba3f8bf265e18c3fc610daf875a098d72f578ba68b3ecefb00582003453f76bf4ef63a64beb78477a75a99d993000f051353077193bf1e44bc2b705491fe14df53eae3a87e310eaf6bf1cf52873a35b800582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0501b4e38c1c07cf8579e90ff11cfe5e2970058200326acfa3d88747109b47ded6459edebbf7e71d4bbebd7a55c0e92e43dd06200410100582003a9e373bb5248977ca31d2db97ccd49d64bdab8b2030ff4845ec011af34a6905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219600303603b028c75fd55a4424e9e3544c97cd87d1a40f80e05cf8e15eaef6e1433bd360219ffff0306a33feadb4e405c34b4df7e0d57de833fd40f699d620f5cc823eb3b8f4c871703daad3563a51d4f2f56095ddd13ab935ef1a969ac5e7f4dcc6c7dab35bfbb542703addc0103de647a621ab130d88fc6075d9022ae6c83bc620b2a91e1b7b61b76d9036792b7b2c4c02a571355799a70a4803087cc78014999db3a2f34f05cf4f3e860034fb9ced6cfbb81d76599a30f90c62c1d5e388d0353687b2dacb50bc7331acace0367a7ddc6c1a2bb64d946881546c762e3c38016e83235d51123518d8bcd73535c038dc6b34e34f7144d03e30add7b8c43175f0d6f24cae2115f107421788d146a3603a48ea2dcee221aa433ddcb9748f71b9e9461e10f8cd979e81c0703f77b41d1dd00582003889dad707c970c8bb51d9c0faf413359b99c3d4a4ff92c07b2efc46baa1fc0410100582003875e19e8532df6e065f8bd5cb2979595d961ebdf0fd3b6b5610eef3e05c3d0410100582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20058200328e7be13eb7c1d3d7cea8d64fc68f6916bd666bb02a3fcda6d4f28140a57705491fe14df53eae3a87e310e1ad8cd0366f7d311e1005820036dc9360308d9789582899fac59da10bc04e3bcb8c196a0ced9d41322bbdcc05491fe14df53eae3a87e310ec6050d47dd0708cc9b0219a05103b51ff144372d230a7d04025f7c8aba7a237428c0c4c3a0728999c0b3070c39610308fedeab1aa228988abe792c5995c8b9fe42152382e423c3f7473fc5ca2cc2d60320ffb1ddbaa5a84e590011429ff3480ea3870cd46c26a412af0fc3676bff203b03a168c9dd44fb301927b22c088c1c813385dd2627e997c45ea0a586996e618cb303750db7c41eecf4869717d7a7147b6e28d46062f97c2714fdc9cd98c7b8484d27005820022776bb5b4e0b36dce5864f6391f0d639536ba4b017ca8bc415893625a7e3505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bf6e41bca11f1dee4620e7e269d5403832e562240acf3e4839a37a4e9a466c91005820023b2ef6e5bb0391b4444a6ded317c30d3f1240355a2e6f3b8f83359b0b16085410100582002f6d3854d497429b663d38469425e078d6f425d7db17de7efa7cfeeb2b5bcd741010219ffef037007ab7a20285119c71dff09405eba50dd31ac92b8fc40b68ba49002b1b8244c00582002b0ece139d107ccfc815a5659f00ff3d757d6edf17f7f1ac1ef91ed52ea751c5491fe14df53eae3a87e310ec55b59207d7f8da23f037055488ed4753946b58a9bd8fb9cf8c43772301d5e4e9727c7b3e7716101931003a1f57de57ad8635e84a86ec80ab97afe1bf91eee84a5323123206675902c78de00582002e7934c7494f73d6c4290bd409680806fdb26c6eb861339a91e479318d78fc55491fe14df53eae3a87e310ec5e62043820975a23f03cae506452f9dd337a3070fe032c9155034fb2a416ff51a8fdbb6f9d0044c4d8d00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80540383a0ebc96abb86d654fb2096c8e58588b144a200582003db97960edd65bb3e0baa2319480a4e805d30461aa1f955b4ffb5024b9683b04b52b7d2dcc80cd2e40000000218a00312f14bb667ab5fe88985b5dc01b7684581a7fd504442f0db2893f018f2c914fd032ca34348e7e358686e87c1aa6ee0ff9417aa6b3ff000b9699ff3327d3eb71f1c01410803ca0d731e573ba6a7f046db2bd89f3031866c13c56e2be81848c8644bf16e156d03c669e402cbade2f41a99dc47c3656c66d909e29d29dde2d12230bb6a6fe8737803089bcf6d9d8e62949a0d70fa989a7f57472f71a1d3923faadf193ff69d1d075a005820022ff551a89069a30d2995e301c175757e530e5a958e72004b328effbac25b6e5491fe14df53eae3a87e310ea86f1d3dcd8354f46203fced57ffdaf4c6d2c0f53b84d0ed2254a89ea49f0c4693727507e5a5140ed0c30219b7df03ba86ed27a935aa3048074e72730d31ab83faa60f99c63e2a83b824e51b1fac4d03a5cabe1e847032269c6d564d7f0599dfd41dde09dfe3f32d7eee1d425045c46403f58c84014a775139bab74eb4a1b8b0b9921561e6e2a939d340f4f502633d0e2a0317cb349bec44b3f404fc5f5c3c4c3f559db3a7c799b3e66267063c4191e9010d0058200233985dbf42069378fa61d034d1d37ffe8deef1ff2c8ad59ddc204ac3b736615491fe14df53eae3a87e310ebeb56b56be01c864e9030e00bf7724d90ffbc6e3b9d747fcbd38225b517d30629868da6336a4b592b21203b0d21841aa6c7932d43361fa8578976b0d839ac58892122a1f2ddf77c48df48501410c03ff4d79dd104d10b708c7cfff3e20eddcd4263c005c2d81a1096a1a234ea3a180035dfa3a7ab74a72c1dbf568d6ea307d20012d22b0663a062f71ec9da947d53fb503e9c10fdd59c35f28fa7e43b89aff45a8e82dc47eb6afb86e040fef6fd9e5d9af00582002ccbf31d9acfb07092d5a39d72731ad838e5d9fbcf7c3dfdff423701ca5419f410103596ffd2872aefecf3102738554dabe6c7c1a16d22dd5af3f476d01866d8998060058200255f003f0a6715e2f8bce428ac7a578e8373278a7a2c027152477321e68ed595491fe14df53eae3a87e310eb47ec817698d7b98a1033cc29f017e6d001e3e64b45d24d3188d3653ae25294b252bec6c0d9c7ab5b09a00582003caf7e82f98e3a215d3f147ef4b2c394028b52e982e35b2a97c671a5902a0105491fe14df53eae3a87e310ebd592b0b141c8f462e00582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005820038918af5cbb2b2449c8ed19937f1d18ff9d99b874f369e005a260d04e4f6ac05491fe14df53eae3a87e310ec6edcdd2d775e1a23f00582003cdb04b7b773f90c43b9462a4e1bf728282988eabfaf49d865c001c1a63aa404cfffffffffff096fb4da20000021941600219ffdf035a0832ba324e9ccb79f8daee4fed6699cc4f0c13a3983e550dc3cf12a2e53efd00582002efe1cc231d9089a04f5319bf3a58af35a1087a1b42d25f1c2b3f8a414376c85491fe14df53eae3a87e310ec6edcdd2d775e1a23f0310b00c53b008c5d73073590be1c8f7d4b031a5247e49704fa44d48e1d747bc3d03d7f52f7d625179bc340a804e03140177413a7b14f91cb534901582e9efa0634000582003917f8027f3bb9962b7910916bc45491f48cfbbf6275e63ca7d39ea589f7de05491fe14df53eae3a87e310ec6edcdd2d775e1a23f03e02f47964c66a16aff8ca5891d66732780b9d08a01de4df7d95795128fe5b34f01410700582003f85cd6872e71dd4aedfd0c12d22e6c7d5aedb3b87ad543af836a0c2dabbe005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200398e0e8704b0031963770b0bda79e9d5b9e12400872ea806e7bdabfc6486e904102005820030182606a477b17f57bb53198c2aea32b6d346e3acf61b6fc7ed2a509863d004101005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058206687da9300000000001ef15a4775fa35eb3b00000001cc24494f979739eaa8cb02198c1a037fd596a14f9129d19bdb134bbc02f48044223416722bc16c2d7f9bd4cc181374005820024fb259ed5dafbff7de429c7d77adb1ad638bc6ddd537e25549ef8276551e135491fe14df53eae3a87e310eaff19f394a3841a23f005820038a69bdf56c6396b2904b2f2abaedeae9c161d2248ca0a93f5d06d95b69d170410100582003dd2746f1974e2c36a1acb1c36faf7cfe651a5ef16eb48bbadb2489eb586e904102005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0543593d125a4f7849a1b059e64f4517a86dd60c95d00582003353a3b7db391f8535da14dbe8f2933acba550ac6eaee2db8f572b466bceb00433270e00332a12a0cc1f0a02807281c5610311302c0b6699be417c77af4912db9d445900100582003540b3a1f4d0b990fa52e427c4cd45256031e7ed5ee617ae2035b04e61c63704901b845f6b71e0ff04e02190c6c03dd878998729108cb5c77bb18ed80e316f1d3b2d2139016270a7b1cc684b4f097039e8c24adc796928a761e64b777b7369027e1a5cb8c395cb335bd0def0fdbc89900582002ac4f9b127ce50ee3b2390ba897c19080a190142bfebbfc8fdcf77320bdc3314b52b7d2dcc80cd2e4000000036c1dc6f59e94e7a43df698f3029ac4b59dea93f4bf75859e124ea4c113df1f570058200295dfcdba03a60fd913d4bfeaf67d0400b923221e78fb597ad799de5cf0e36b5491fe14df53eae3a87e310eb8bdb3ca3c21540f95031ce039ed9dd302a6ee60e2a7dd88b4657846d02d4570ab34018b65199eb9182803786c033a2c04cba1eb1ccf65f46378e1fe8ecae26f7656bb0adb809dcc8e839403e7b8f8364266a0f6091c9e3c8f4cd739206331e3f44d0d2fc893923e95aa054403f96ded3e644a8a42d8450410857be4a31ca1717b521131f09d7153cf647479c10219ffff0219ffff05581d02d51e41c14b735c288a64a7be9626c31afd04538c5b9074152a8439c50701192c1d0219040205581e0378c2af91cb8e0793868f21086fc4e407adb5943772ef1a5dfd203235c004010219ec160343eec5b75dda7a528369d094f5a43185ebcd807b82d167a3864494baeb0df5e203b1f7a7a259614dbbbffe82f62826df0cc7cedb57d8898896b13ea26cb47ddb7003569799fc37441c3a94a8aefba1b4b3b6b1bdc1aeb6bc0930ebcc8d761135b49703625b650780ef24234970a1b399200029bd764596774a881974a39577b2ab2e1c03d924cf1c825a6e78a80e1a39745f01239bacd4769aebce9b4bff1c83a935b095036be700cf2881752211946c36bcd8f2695c62a7b2f55b62fcd7e0afbd9fe30a900383f8837b540a2f7c70309f2beeaa2a6b81410a701aeb57d086d0705ab1b60a39037ed0092712c7b65a02c1e675924efe6a08b882647acae6dba2957cd0a34c73e4035d85cc53587d61d695f015a2032317ecc2df920b719016c9fa88f966dc670f0e03785b20e3eb675e393dd5e65c688f4696ead47faa6e0afe0f04d58eb5c77515f80219ffff0312ffbbfd10eb0339a2fb70ae79eccfaaff0cc3d9a710c36b1351ff40babd2d3203186a35ad7945a0473f91bed75b0cf6bcf558969cdda85048bb967da493ac1d9a0383c4a2ea696e2688764bb7156b2c154c4259c607d87a5402f5703b907e96f61d032732d61ff20ad3184ad9ac781e60d8c31576623e43a7eb7d0287d5afd1cb396f03c5976705242541ba53be3f4c952535930f79147c829a55243d8877986d9a258003286b08b3feacba55b34ce81aafb884e34b29530fc53a56a48b7f1258c3addbdd0392d675ce712101beab4e4b098f39152b3a90c92c9b39889628647f2e4e4ec1890334b1b0295fb70b3b0a6faf9d6ceef0a2842128b8033c4eff0b86fcb7027fb85203be708e44c3c046f13123163817e100addb93dc3db9da5abf6de250695c19b77d0219ffff03863d0ff1dc3396b26bc3cf371da81f5c7cc9e1bc81351134f995765c2d6417e3039f3cf6f68c5a0ee31188699eaf75975acc9aebd30442cbcf20dbd3032c51d40503024327383c6109fbbe582485320e8e5a4fa94430eddd211b5aa848ce6efdb948032d8d8245e7eedb957ceabec38ae19940cf26a7022b6152cf6d80861484d1330a0392d31179ff24cd824750dbd67695b5c56479317580517d9809ad010364077f7303496d4a23fedc8bd0677c83ec640269f4c57060c20eeae39883c37ce3159996d80219ffff037841c0c0466fa7551bc19b07d6efdbf7600a2e0adb62fa2fafbb5fb9856670df030d1a7eca85744246b88c92fd46f6c4fa437bd30b68fc5b8718907e1eb8b7502e03dc47a1dc592f7364f58a5240419ccc37041723efb6d948a699093e3a2136ca1603f6e3551ac8c0707eecb3b8f027ec04872090e512bfaf29dea27707e1c287c43d03f7394e74ea0741817cd6db0a3fbb0d9960c2b484f53585498af029b14f399b4f03dac2f2d4a36bbb133d320b9d1df8f348360a10bcb07f067ba4eb10b4d41727c20219ffff031d1023485bb854cce480513be4e4b0afa541b593585575379e4865fc5d3eef2303f7855330b10f2e253fdf7ed1a890654b0150eda5063143c421f5d2b2187ef16a032c0a7ab60032423f02a149cd4bb7f8b72b5b78c457cc09fe4e619330a4428c470309a3a859531b28a94cd595b97376a3cbb0c58c03efe1b4b78b757f8b25f6b6a203d9c4a9b83d7714f86e17d6216477ceb58db786e83c92bf172f23727a42d5120c038993a0f00fb389e408784fb6eba13034a56e5f238a7e6bfe482a57a508dd8aea033ff00570c94719013e0eafa5524627b94adcbb850656b3dbe5a0ff222a96150703c5a1248651c71d6f2f1ef4e74351906b3a01249e9d2ab849eef8312dfeb04ab603082fff2162a597731efd99ffb481242dbd80e645f131a24c6d379639c715bdc403d09c58e8c09a38f2ff3694d5ebcab9b2d46165844a0cc80f8e865069b58b0ad4036297de38762093bb471a4cd144d91981b9f5ad3536527ef3e0ac855b245a13ad0304cd41624ff8885a364f2791f5bb02ea1194db20276671a4d1c3ddf4b4c117e90388f987e6c3a1565a1ab8c0182e60d838da543061ff38f9222d88c2cb2187a0cd0339a8c568bfb8580f508816ddfe7869dbc641900e7f3218396885711f0d69432603f693b29684a9591def6001488a9f5ceea5327f02c2fe377c66ebe9c2f278251e03b98127cf3152119afe08dc8ac22fa4074c18713a78032399803c9a836e500b8903e18bb6380759842560d00b6e925cab44bc9d0bc52353d1581873ff61ec8428a003538866471cf7794ecf7fcbda082b684f8def0f0b673d08f7fd86f3af09f247f40351869f50e4f1cb33f6e56ea06a4b09c7a190601ac03c17cf01d21e78396c7c7c0358b648cc8bf6f61358f6c79a346b7a5a34e26e690bbbff36b30b74c67ac98c230363da204aa2ad3ae5efb5bc97f68c867c7ad1b2012fe4a18559b54fdaa8f72f1803fac986aa3b37ec4dc86ca5431fd22ea65c5e00cbc3ec0e239144ab816e2e44af03d0d94317c604e0bfa3b2b017fcb511d2282f2ae818e1e85483837ea3e6fea25b03eeb64dc96cb8d0960bfc84192d3fb4b3df088643fb24497e9ab75faa7fd91c3903c72609c3d63b225f419e9bfa998117281c8ed1d65a876ae0b1317ac9e0c8d55703255ced0a3ed639d4f16161545d850cd7e635987b0d139a4e7bdcc3d811804b9e03edb340d3864015639a46f6890f6eacc3c8dc083eccba1429465116b2f37d63b103d795af00b472f1e829882ca48217d8b61285aced9ce6ffbb73d04e776444eb7803cbed508ed79032950d4373f9b7b55524a59cfcc31cbc4b2e0adcaa962d592e1c03ed3455017c2f35eeb827755fef5cdf33758da30b26d24ad8060793f3ef62182103377bbe12387877b8e159490855f11b3d9007115064af8701d05c7884ea5364ca039c90d187149e1186d282a48f52ef9485a1195d6b414433af27513a623432f56a03b0ed9edd661c6b485f2a55b41a7dd7ea09b1b2c3f21a7d5cb9a7ec031fd5abaf030b5fedc759a02229b442c2a48ed037310783bf35beef74c65a1470847bbcb45a038639b6b39541497a1befa4afc7140568426761cd96b899a03abaebabd65ab89e03dfbd3b236a2e9e777a959f71d1ff87a2148beedf80855812e3df900f38d474930304b9733b99a3e8fe40fe4682c7c2b44fe9c28c0f8d5e1b099993afe7786f2efd0303f83d868c7a79f89022284d65fefddd205f8cb10461aa482564ba2bada454350389b283f017d87e92da1fea3c55d981c2c4486fa03a136d085def2c6036385bd90338dcbebacc5f2228f530e531c57ab6244087066a1e08f2ae30a3ddb1eed00802033cfbd890d4e083f6127334d28b889ca51a02baf2df2aaee46b1b52a8d99e9d090342ff1435f9bc65c5a937b918bb372161afe3cdcde6ddc20c2f2d382975dd5af4035f668420595be41c0ed3886f093b74ceaff03f3e15fe172be2efcdc297f9dae405581e03deba7ba08ca2f8ec4e462dde92ce6713c699a698bfed369de81dbdfcb0040505581e034dafe335012668ac84c2c19a44d3e569007fb9eac41541122878e6ae200c181a4777f396bb0fb0d603711a01ff636d47086fe804109285f4b3c05cdc918be544e759d34c2cccdcb459032a5a3761bccf04484d2eaf2ef469e17e219a7d6eba72088a21f00b7b66a12bd9031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03d458ff7eb35c3768195371a6f0fc5c8d0d7c671365af3cb3d414585f7007011bffffffffffffffff038b4131c43bc284d2fda946e37777583aab141d756118363ec260500419d2adc505581e03735a6e002f5d1aa0038acb8bde1d2ee3e2ee1cc5e7126aa44129281f500c064680f54ccf496005581e03757a8acfaeb4b5f7862af54b8c32a3a6d6888cec77ad26ed1fafabc1d0040105581e030a2bfd1209667b39a249c2fa05ffc3a20d948dcb60a76630afa549a200040103e845a078b328840cc797d16de5bd7a081858e0ac4419877f72bed1aa04d5fe1b031c5be972acdf504edec6bb3e2f5e6a80512547d686cb7b94bbfb0dd7bdea114803debfdb82e778075d18b5507b1a1295754be1858a402d703191d20e876ad9e84305581e03e87f1d52f3687effd36db6a0d0db49ccc7adde99fcb972d431cad140700c094802d3306c3c8a978902193f7f034e3e6c4852940dc4091b261c36a28170e9039115485e7a0b65a84f9d7309d55103bd51ca5914fe505c39856847d5059a1bcec532e4587f12135a8b8fac8ca4f3c40219ffff03c9cd743fcb1dc31d2f1bb7cbefa6f325a98e8cdca3ff5971d85777985a4b5d73030f77c221c936bf0506813991b5a2103c7cacb97c1641b366457638053b1d9c69034fc46a2e8cea600e794870d4715bf7174ed884eee61d306313eec4de5bfc8afd03cc488ca53b03ee11a8ecc874d01c9f136f1bd9260baaddbe513aa108a44af770035558b65a7e2f2c8e94d815c4292e179e23c357d101f4cece1cdaa89314ecdd260389931b2ad41633f6bc0f86716bcc200e5637ff4304f51e701dcc86195fd2e8390219ffff034fd2819681a89d2003a0a98e166340669161b89d80a03c90dd14da6b35d05d31032a98768a32ae4e9297678dee60ce751905df9f39f9418bb873fb9db47d1cba50037887fc2923f0a2d36bcec713770de931383d7b13994aeb3c0c64c8b4fb91447603a39f1faef8a4e87d27fcf7601218b13c4765cb911a6ebeab65ff2eff419352eb039597fb1e3058d495ba6b703825c265eedc706a5a3273e5cf846f04c69b2133b603d6c4af3891ed15c1ef53851bd018ee31cebad5625050f6c2bc13cbe84b49c88103409a7c7abe460e73c956aa38f73d925e067afc2731e373bb03f5080c94971e2b0219ffff03aaffaa571ad995be71e96f105dcc7678ffc5209c4b6bd0185aaac720c57b61e803f3b1cb928546b2c1ef3d5374725ef912b07c427f4995ed452c72c11a0ef32a380219ffff034764fb00c020868e90c0feab3c1ee56a1774279b85c4d807acadfc9d5a3d864403f910b2de181ddce2715d1c77205cd1a49da9f9b3e69fad2d4da712c8ccbc560b032c79c3b320856e0ff65a0b371e646f7deb5973fdc722812df258e453d0850571035bf6b2181c2ef0530a08fefa805c1e0231c0c7ba0063aaa4512b7def3b84abaf032c4e8d84007ba8b799d1b3a83d67ae70b3894092e67a3915a374464fa6de0274035bd319f1183b9c29d617fcd3aaf187ee1b92477fcfefb5812b26995b56ab9f8e03d89d1607998508acf8fdc2620b8d37d2659ec4cd16ffcbe2a3c227d7b38d70d3038b6caf8c7202f0126cff129443818378dc8e8aa3eab53de21cc13f832ddbe09503d42688c590347ec522d4b820ab97c0a0a4e4a344dfc03fc54de1ed7bf9532af703d0947bb70f5c52b3143b599a0adb4486005a6f1fb8a19786ff0bed168e01a8ec03c02d359742b7dd6a65b7e968071970d3b2eccbe3692333c709bfc561741dbb0e036758f2d318b6535a4a7c281805459f65947452c7292a35d00c173273bb34b576032122a188ee311055f9f17a595462efe22243497965a91e5cc5fbe09bf3674ffa03ba726f615a5f55c144f381981743b786c26f5c7a4e2b5f8778a0c5269f4b39b703cba889b04dabc2e6ed3081b60a32a86dc3930d5b4cb7e9425c916c42690e2f0b0399996cc38567044fe02fd7c24225e47d4debe47dc5e8b9cb42251fbcef452fac03483dde3ea6695c3919a1afe74cc14ca44f60f96e6f4f0be8a02ff098593b28c30321e3ed986f70837df6ffcc743144fe06690614d994f69d9a155b6d56b989e8d303fda7010fa6d5bbbfdb21635844bfb3c85fdc28749a1c341dac8f014028539172036b0f9b46f9275596ef7df3b89fc707e38df1988ad751c577c0e5bc2c2614312703b8651224211a2f1d070b948028930005bea63031d0d138e24c1c3e98db33b51b031aead86ad32d47b8aa5a63eb0934610d34c451a71481a48c3d5bcdb0cd53b70403626a8285afc305e0d73a24dcacc48c40390afb900225b8ef32e8a509bbf3185f030fd59c95fd0e24a7428f7cab0d78b00601dd8735e0d35e9cd7c255cce53bbf61037e2dc95d1af6b140c01712e8b28bedc345777e5010af21c20b439f6814d7394c0377ad9f413c1600ef2531c83aae3f165c4dd48b3b362c1f6404c5b8840bb9ee4303a04c54d2960441395d33293793ed2a15b0241204d1cc41304850fd785e60814f03a09dace977b528b3f949b050957d85182e3c2228492e129034c8f7491e0ad84e03f4a0304c28fbbddc1f5509b83d21912c440736137bc29d84778500abe15f624f03de3265ae55fb56982982c45945dd5a2a3ce24988f86feb601e6932879646a534034884c0bf253c681582166edf18e873c4ff5e5736f4ad018f9c1fdd2f7119e39f03272886e65c718851c37d5b7aebf2f038b0a01fce78a3a1fc6c378d7a8ab3d22205581d02b98f607ffc8d6165e07e6ab956713d76c602fe78fcdccff3bc7780da040105581d028eac64e3abff677340a31801d315af63b0c4db757bee16605e05cae40c1903d14756cbe3b7670e680219180003469106928564de3176fde7e7349272fce4ed5966ea17c44124f3ea31d0fe932603f775c44165d344e7cbc6c8717300da69dd9e839de53acdb208b89d1b4650a4ba036c1bbe4ceb41e5aae4ef22f38ae0e5fa6bf2523fb2aff506767d0dacb4d09ab205581e03b26574b320bda1340373f525c1f012027c3dc7fc208ef990f904c47e300c03470e3f6a314a860005581e03cebd0917bb4963ab56c114ceee3666b077d10318c1d77be880d761e7100c0c47d49133084e0e8003da236e5779a44da118b1beeca380611428521abed1febc30e5215e29b03ca47b021973390327da2331fb788397ef46a359258319d4a6ce08e24f0649c3ba1b94609358c2b403c72c47f14c8692b0f62155054b30db76163cdaa0e128f9f9576d879d2827982b0322a3327291fcbfd6f5b9f09fe1f1101121b71ca14e256fbf9dfc54ce7f6d93c203c8050ec5a911a711556c23cde24a2f06beeb9f19b0ef9b55c27b173b9c6fa5dd03e27ea705cd7ac1a8a823d3bb262c7eaa82fb55406502d0b28b30c238a609b968031968bcc8c9273cda1f219e5e68a91777f612f1f8d85e85e98150eaa71e9c04fc0219ffff03a19bb9d6b0196ab7e1c536d6abf88ebee9f5daab78880a3db478d8fac81e3c49030cd2018d182defb5722724ce6cffb97647a015384820f1cf9a7932265f7e28c90362617843ea8d1d56140ea648a63455fd59919bc89d43db0c003f0f6a4cbf7691038e73389c47aa643eb60689aab93b95a79d8d3b97c488af3fbdc2cd9bfed9b95d0336b239d3419068d5bb27e9e000bbe9617aca94c203b536b4d80f31da6a777b300309823f8603fd8b3ff406044c2a1d6a499bcba17ad05b9f08fc79fbbf05cbbf640336b2009e783e1498cd9b0e97b38d8a5f4fa6e4f25969e08cb61213c0b9f0d9c60386cb099b76a1cc24c90fd23c4403822a419c45d9f8ecb1d02ebf98b4f8e0fa440350642d2c126e19e7567d2a45d846a2dc4ef82ab63cc968afd0140fe024914ebf0314b1d8eab5429265d02a26db8ef9faf45e04d73b4beb26ad99d8d15fbfcc7d2f0219ffff0354c96e32d623a043eb60b26975eb29f332444cb4605d7ee7ace19b4b4be7cc4b039e30b6e05926fc156c3a3351208d0f136202ce78e0a0d86e5728bacc4c5af480039cc0af3208c4b02e2dfc32d3e41dd2194bda8d539d685b6edbd1fb8e07cd5d1c0397f6df4b7dfd83b8b2532e17d00ebef82157040e6fe5eb5779b39421aa030d170383a04e4efbafbade62c3417019b44df2c6a4a1fedb27709e111d9c07a5f1777903172346299b9564f4ecffc6b584023dc766ab7d946a23c118f36853fbcd5cde46033ae593c612eefb1eee4c53b88b7117f2a4c1cd49071b38facb6a97b6cff60bfc0397d4d9847aa5194a1b6bf93cd44f341383ae9b3d7d3970596d95a8ea436bbcd80318781d62b1de471b780318a1dc390ad22ffeec2c0f8b1d69e7dd4732effe72d40219ffff032711a92e7b43880aa9b4025f72737e50f939b33f6715e1666821e96b8931e0a0030e01eb187e2b291af7551e059c1903bcf87f9197f254689526e2f89a715dfc4903bce7eb4e6a9ce0ae9e00fd6ebc44af258113a5ff27d9e96cb9ce6589b3b6edb1038dde4f24ebf4dc5f357b3542b4b742dcc018b3724c503da5d1e0d09bf42fe3c2037645d52eeb9ea64e808f719b19e49388e6b15885f0ac5fd895b973eb9f8c98ee0362291d53f0c9e34c62e81861c4322a0ec0760d2ac49954745c3d5daf2113034903b9cb48f4146932ef953baf413c4400e7b9e618b165bc9459154e7112fd3472d6039489c550f492732bdb4e82de98e9bfcb9f7058b9e7edde6ba491bf60f722201f037ba9ff6e3a11025e8e4e10c56ba4953febcb40920f7346d2f0f4135ca36cc21f030e09e7d47e7b25719a4ab0258f2855b7a005ed26d54aca508ed421ba8877ed0a033b1a7f48f552599bd35fc0293be6e90b41dc0fd46e4becdda3f529d28b008df203174f2eb82db6e342ec58bf37c3eaad58511ed9e771aabca3b37b7f2f262126c303862e10324bfe80914ef14c1fcfdfd9abb974a5f4602ffebc8aa8dab71bc7c1a40327328bafd3a6a0f9a34858b2af7d2234be9b8c397dea3f74b0ce640fa0e9cc42039c6f8854eafe3ffc8f5f0e4bf24fca435e032f7369498e85c8108c0ff556cca40383687005300381723881c2499a045af51298ffce5025532b347261f3dcb95851034abe7d4a5ded29e565cb2688d864c63ea4e76e0724125a5282d328d099386f7803d64934e6d01eda8cdf0e9e62826df2860e5e0cf46f99c19ee05dab851a0117de0343e99af6433125308c58c6d6d5f20b52c79f367132bd5aff6025ff11f44dc6730395be7845c57fea09e40a712a00624f1872e20d7c235a12edec4a46584d261863031c495fd1aeee1d47db6d37d970109eed902a7f9441fe0239e2c523d1533c02bd03df6b4f65e48f0d88de86d7da3c68265e5948d10a07c5b42fed2bb1a9d61049d203ac153e4c8b3734e2c1b8f3debe5fb2f92532c89f3660bcee249798957eb0fcbd039ccf35e8a1b2a355b2cc5074f75553de482258f482b4161c50958c789bce6873031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03c639ecd2e42b5b66a4f2531f75ef9a924c3a3acfc015a5de4d43e3d03007011bffffffffffffffff05581e0365c264ebd050285da04ed6d6deea4b5b53dc49e41ddb9fb2b4b5a662c0040203549aa24125d20fb03198924ab062b876b0b61588cddce30e7b9402bcd516fd5e0354bd30fd034309acdfc77f5165c5821fcf7e16523fe0d8568f6cc387cb69d1c305581e0333faa7e14cb86b83479573d1729bff5a6c778338f4c8bc3b91924244300c03468f9ed72d93480346a1a6caca7e32db1d06c456f74368a65d2ccb84772fff51a43a101760d471e705581e03f4296627e8f386ad3efe9dcba88b44de5f4eb3a77c649e0f7f1e90c0f00c0b4738b9cc4abb327b05581e03204cb0eb6a7f44865a0b397fb6fd851ac3c5799bcaa7d1f2d45a44d9500c02470b44bca633a4c005581e03067d971b9fb51b367976c4d93a3d2395c6126bdd3eb05572823a78e3000c18304702b66bdaadcb0005581e03aa1e4d66d29c9326b0dcbbd12b6c103cccaab7fdbab7701e778afb75200405021977ca03f08d0c0bd202ff755a0db11b8387272a3b6858ecaa6af1ac733058fedb4d3e4103ebbe71a03711857f3dab175bd22844c8a92b49cbcc02b48e1d49362f8edfa98a0349b446961e98dd09f58619471bae163a5b595e141a14bb226a220d9a150df3640219ffff03f2eb0e79916a0db84679c888c124564f20cf662089cf5303ab8871dfc5726664036b8872edf3d64f53cb468b1ca4be855a7389a477568a8891178b4eae6dc21f7503d65d9614ce6c594ff519939e5f3142ba7dbae446cab6342e0e805ab3657e5d040371e600f42b1303ba02e9f3e234ced1c133eb0a9e1890de97e77fa19783999d2d03767e15b8e30140bfe15ed774896f5773bbe7e4f46fa46253274264984bf6e1cc030859731fc96e9b336b91bb056386d0e8b97e046433f234a52b4f23ad6be4bc710387a2a8a3bdf833336f88b576b874825c878c4cc0128d78beea3084d6526547210336b2bbe00e7b673477e24724b6100fbc6c5f7b0ec920136b67d105009654d04103d550da28be60372dfa2d0f2556ebca18c18b019ff64af3e8e01c734c9a30f7950219ffff036722c9e2b8eb237cc739aab3ddd8f043164593fa2ae2e0bcaa4c51459a7b140b03a2c791c53c73180b3707e40f4235c4aa4ef9cc97675e4b9128f31279f4fc4fbf030b3eaa110812d4888039a2647ae4a80c60d5d6b1f97e1fabb556394d57aee64e03cda8d291c8645bc6d93334c5239d3d941e62c22cefd50c91a85764be4aabb5b703d8d0da5099c307d3925ae48980178172707ef3c47103a93feae91597d13c4b5303ea6e64785a4f623779133a94a94e27811a463f98155998b47c5d25a1ce1be8c00316d8c16b1d3a9100e5d7f6c73e6ec019dfa677a4b1f8a022fb02d82c74a16e5003808168b8614232e37d0c258be714973e4512031706acf90332f773d747b18d820378be56157f085cf987a713144637dd071587497729f99d80cd17315a84215f9c0219ffff039fd5ef3537c134d09c201c481043689e526e41c4d91c64ded49ab4f215f65e5b03fa2b66166de67f3582055bff70f2491d35309f50f6f24f446fe2c2434629cbb803221e04c14c853c1e48159e848f9318eedfbc0ce9151a9cff91a860b96070287b0357a0dbdaf0d313cf931cd16b3f3c5085d853d38aae938da8018327e646ebf422033ad7c94b5ec77c2c409f1201c7fdb4a6f45c3e073ea6c2299fdcf3216e9aa4740219ffff03c453109aa23bd30ee3e87d9fe61f48b912f773fcdbe2328d60c8bd381efe339b036d1787a83a5873b481735d79164fbc6a3cb9ddb1b2e0e0648d8e6a5a3234e9ed03fe9a59ec16d4a7aef76c2fc57967d1a8f9b5373be1c76ec135dcf3eb137199e403701671558ec78d4ec8b0937e3de6b840af611f2afa646ba1ab18edbf8f35f90103a4a2d4284ac36e03250275a722c7ba4081f2570d47df08c50150766a2b78003f03bbbeb996def9c2e9f366b0a878a3899a8ee0b9d9e0db3acf0915366384b7033703ea920d39cec90b834ea98f2e8278045f91bdbf5eb9470ff4d100527a36eff32003cdcf5d106a3afbebdf0e5e3792195341fafc86d68d961b02ec14ac3f8044432603d3708509b030ea315ea03c57dc5f51861b51faf9fc0f2246d5901aad1bd6d7700311d9892de0417ac143b63c742317869315af37fc5c47c6548b7da75ade03bee003f365481c737d9ed5cf7bc59fd52da0f0134d64a0eaf618608cb0e8307f47abcb03c2e35a52a04508e4adbc4c07afa68584244ba616b55f8990fa56258f38249129030f5b42a751a8c149d42469db40682d51426aa0ce9cd0ae8e02f7f10cc581287a03175b4a7c6c4a6197e66eeeceae6a65661c80f0136cd1c33468968ca22a7f186d039e982f17afba3b6aadccffc61c4aa0f01172dee87a148ed699c2f9a9894b48da035818c3365b88e27e30c2e495c55a89d13eb43511896db383900c039cac3faa6e032c62986a8ce0cf9dbf9f152b378041e1ecf56f1afe31a561c4730de42df6c767037dc4817fae4d324287de2515419b061fd2fab2fb76630a418c9404cf9016be6005581e032c73f0e9741f25246e74ddb8be99dcf8bbc6343160bd3227a194f1fed004010380232d5a517e8a57c4994331fb3a60546b84999d060ef4380c78404ddf41b6a403b69beaf3cb7ca0700103c321c1f4761a0233adb427c11371a9204370ca907dab05581e0344e56d0691548d283cb3debc1ef1733c0df3f999b7da99bddf73c5b440040305581d02e73085c7be9106d39902b10103873bc4c75884d7196e4e69b61a98470c0d47029df7e84af90b05581d02478865c67bca58b9d348e4f29d9ac53af273801bc1e84bf64d1a29c7040205581d02d418352252f7c0fd6b029a73ef969eeda43228862f935ebd9442e79a08479c51c4521e000005581d02efae5f00b3c46cad1a2f7e826522482f97bcd2f3dc1b31afe64a20710c014701663de5229e0002199a0005581e03b96fa3cca37a3eef704140bbef9b1ae7695dc9deeb97b3149c4e113510040103db45b7d505b636d7d6b5e8b3702723763db95af3a32bb9fc8d50eedbc3d3278d032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034cdc1cd701e7cb71547c017312fddc178bc56e41f88a6f0311719f48cdfda42b05581e03b369f28263869faeea459c7f93a657ad10a5528d5507509a43b381357007011bffffffffffffffff05581e036d400da068efb884fa477440fcb12c9fffb761da86dc15dd08dcb0edb00402030c50743fb4e1faeb2b0e50d8d73aa3c73003c9c2459ae4d22f87feb69e4845960219bf29033a750d080ad94928a2fb5ec6c35c0ae4ebf7880b52a604977b1ad1d87ff0d2a90351533f8c51acf27a7989bec12b336b5cca40a22a05fb23db96adce34af81a782031e219a8ca4a0178040419a575e49b3843a5aa6a1bf7f2d784c4eff6deed6bdec03f30da935ea6cd6c88a25e1da2c775f3a45d67dcb39210f0597191461846b45420378d15f9e7a58ea2f48a7aafedd3303ac95a686c1b31b0a356fd5dab20a722537034a1e06ae9016807ac80568c650fee72ec25d2123e39d90077e337f33675406d30378d4d3d6aabb5c8791549dd053c3e063630b9248c30354cb7d18ad58e6643ced03ad637baabb7a490d884ceeaf14d49860d79956df8eafa71cacf85624265411b70330e45c2c27cb1fb23cd8fdce95ea53e4905e28b8615c549ce9d6d8ab3e7ab9240312fe96387efecb213adbf08d561dda3d58e7707dcc5f961f76e9a81382137f3c0315d04b8ff7dbd2967f360968c5608b81b5d2289aec7d8d83fd32840c367b970503d04cdc3aa61af3b67641ca21fd0e1d601705eb7bbeb9a8da9be0ba7c8e22ea120328cbe0303d7fde63a3001ad95aa5ecc27ae1dddc540dcb86d20889fc1be2240203a7addf84e122fa2bb80d5fabcac6fd6536334d210e2b1a5a5a94413d122607470219ffff03148f9bebf27768bcd3c31b18e4caecc28dc7e7556c0126218191e1de1444c251032e7692edd22b92f6f9c3f415f368dfec114340687689ddfd9ed9bf572406de7a039f9e399f7d81ca0b2795a65139ee7d3e9d97834576aa094730f997be9eca66f003c88287eef9775731ab504c21c302f445a9bc6695966356c6eac480de04cff3d8035581402f5026d7bdb7cc5c2ce63caf6347c44d452f4a52817c980d49efbbe49c033f7f102c9d6c336630a4e281a5876c9c69176c0f62d048bce5985ee65f6b08fa03a583e79755249d3530b21b7d45c37044e2ff329e6e3ba45188291e1e7443cf73036428ffdce73139e10b9aaf708ed2ad9c1ccfc70771fe7605e9df988afec277b4033495bd0ff2436e6a206596be76da8e2ab922933ac9d69d4b5f1368296072db24032eb48e9b8eb5ffd6c8a847844c46a9e8435cb201b6e7fcbcc2fb09891fb6e7f403e330137ecbbe1b09ebdc08ea508eb2555bf705eb451c41a804466b6c3a4ef91f0219ffff03af95e843b96d7c9dda021f0099b1cf8f9957ac4241564ad9b1db3eaa89ebfbd203b8578a12e2341b59324ecdb1266d70864f015ece3ed1166403524f441d855e3c03491f6833df07d9d5542e6932a8567c286fc451ab86dbf938f2fbcce5e81b5a3e03ca67d92447c3b4ff125d3b0ea28225a02e0ab89f8933d9a6d96a64d8b15495c40219ffff03ee8281f34c95cf7a7dbe6f13416f44a5c08fba8a22e9c4ac57cb06d9adb72305036f6598a5f1275d7ceea58b2e5db0b158de69b7d75953113fba2eaa820116aa77035ad085c9c89d3f28f3d95745de5dc340d5f696a3ebb08948dab6ac589ca2073003816a0ef8ece1dea120539ccbfd53ac71f8ccfbbbe7d31026726a9b5431e452490393d563c545a3ce01367e2940e7f055148ce668bbce33d46af9533ab57f1c6668039577608b6581288fb60f676e6695fc77fd50db5f0ed8b18a136d3313af0e447a031223b248336ff5091cd09cbfd091161f29c65385d3e8ae85c33b5b57dab46c2f03b530c8f54895b91cca9fac765b4ccfd12211742eace4f8843ebb625284fac660033a759fddd41913d4fde4c9444c88084396ad0f207ebb0b78ec200c521c42b5fc0357305240bae153c5b854a7b93d8b21c06af9c54c55f6b215f139d4fcbf9d55990386ee33e4113f6efd90ce5cf187860eae862f0352aae0728cd6c79ff1e866032c03073202515afa58b146243a32dcdd73d76f7a561640557519b767e8231e2d2e5e034042fa804946082ce4ac6cf3a9de1645ef2134774c2b4be6bc2b66681bd41f790219ffff03b2b331ba65a8fce77abb8a8c44684d4b6acb3acba8953fbd6679405eb10dd0090348f83b22d0119321822a9de77e966765cfd982e68469af85e03de0ef43046bc60308d46e226a4d300efd0b0d3727bd233e519bf2139e9d789b07198c4e0a9b9b8f035ab71d1d9fd2f05deb312d13ab8b79405fdef3de9319bd01a291badb899c789603531147f61bdc745efe8108dfc10384b8831107d20b2fd6165b2e9cf615cd15ca03a57082c2eb613ad79a11a832092cad4649f31aae912b545b1b4def0e24480aac0311b36f23784e85f1d0cf966cf735ddf71646ca8cd7577584747c4d4e040e7c9603f2a3d7e7ccfba6417d9fd9e4ec4a6e6dcbc9d0abbdd137a919500ce353eca1750372c574204ea1a6966626a6c1ef9d41b5dd1747f5f91df53e88e3b7ff1ddad5390330df7d41daf09fe3960d4e5ecddd657b6cf88e0ec164c90733500c12a048b99e03308439ed91dcbd538b90cf27f0c5efed8cfdc11f84723d0b2563f71452507a1e039749d801b2b7af2a7813e0c3ea620013fe8c407fb87b596bf967b0b9daa781ac0381c09ac05d5bf678bb436a18af054a583aed6e9563369c3a56690cd78b114b64038b559486782efbf2e1abd6217819fb22ed1fa29d68318195a17bcc31910badbd03c900d20bfddc4c836c7f962bcd22072fc1428df9f3d0eec68a4408df0874bfb8030e3d677d4674efa6b1edfe50c355f5a29f6ebbd38570b031596da6361267f06e0388b2c5493cdc99cee6ea1c0a39fe35b2eeb080f7e3d4d716b6fe8f503908bda403e266b85b61c36e510815e9a2da7b45655a7cd1652699066f4b090766c76967d003cb9aaa1f026fbc76e2e398d0ebf363b24005bf7c105cf31cc804f04e26b3ba2e03a396497f752bfa893807f9c3ded148f5349e8282ca482b54923469132d93a83103fd8f32b54f6933873ebffbb64703e9c8d88f0df362f5a4cbea1d61fa302396cc05581d020090ff78c56ed0b02959f35afedee72e54d7334aeb47c30f307885330c01470314d608b407a805581d0218238c853bb9db6752892e09ff0052d6baa83bbc349b2b99a39ecb610c014703e872df46b20004591a3f608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146104ae578063a9059cbb14610512578063dd62ed3e14610576578063f2fde38b146105ee57610100565b806370a0823114610395578063715018a6146103ed5780638da5cb5b146103f757806395d89b411461042b57610100565b8063313ce567116100d3578063313ce5671461028e578063355274ea146102af57806339509351146102cd57806340c10f191461033157610100565b806306fdde0314610105578063095ea7b31461018857806318160ddd146101ec57806323b872dd1461020a575b600080fd5b61010d610632565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561014d578082015181840152602081019050610132565b50505050905090810190601f16801561017a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d46004803603604081101561019e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106d4565b60405180821515815260200191505060405180910390f35b6101f46106f2565b6040518082815260200191505060405180910390f35b6102766004803603606081101561022057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506106fc565b60405180821515815260200191505060405180910390f35b6102966107d5565b604051808260ff16815260200191505060405180910390f35b6102b76107ec565b6040518082815260200191505060405180910390f35b610319600480360360408110156102e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107f6565b60405180821515815260200191505060405180910390f35b61037d6004803603604081101561034757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a9565b60405180821515815260200191505060405180910390f35b6103d7600480360360208110156103ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610989565b6040518082815260200191505060405180910390f35b6103f56109d1565b005b6103ff610a5e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610433610a88565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610473578082015181840152602081019050610458565b50505050905090810190601f1680156104a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104fa600480360360408110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b2a565b60405180821515815260200191505060405180910390f35b61055e6004803603604081101561052857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bf7565b60405180821515815260200191505060405180910390f35b6105d86004803603604081101561058c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c15565b6040518082815260200191505060405180910390f35b6106306004803603602081101561060457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c9c565b005b606060038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ca5780601f1061069f576101008083540402835291602001916106ca565b820191906000526020600020905b8154815290600101906020018083116106ad57829003601f168201915b5050505050905090565b60006106e86106e1610eac565b8484610eb4565b6001905092915050565b6000600254905090565b60006107098484846110ab565b6107ca84610715610eac565b6107c58560405180606001604052806028815260200161197460289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061077b610eac565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461136c9092919063ffffffff16565b610eb4565b600190509392505050565b6000600560009054906101000a900460ff16905090565b6000600654905090565b600061089f610803610eac565b8461089a8560016000610814610eac565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142c90919063ffffffff16565b610eb4565b6001905092915050565b60006108b3610eac565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610975576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61097f83836114b4565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6109d96107ec565b6109e16106f2565b14610a54576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f546f74616c20737570706c79206e6f7420657175616c7320746f20636170000081525060200191505060405180910390fd5b610a5c61167b565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b205780601f10610af557610100808354040283529160200191610b20565b820191906000526020600020905b815481529060010190602001808311610b0357829003601f168201915b5050505050905090565b6000610bed610b37610eac565b84610be8856040518060600160405280602581526020016119e56025913960016000610b61610eac565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461136c9092919063ffffffff16565b610eb4565b6001905092915050565b6000610c0b610c04610eac565b84846110ab565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ca4610eac565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d66576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610dec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806119066026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806119c16024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061192c6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611131576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061199c6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806118e36023913960400191505060405180910390fd5b6111c2838383611806565b61122d8160405180606001604052806026815260200161194e602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461136c9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112c0816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290611419576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113de5780820151818401526020810190506113c3565b50505050905090810190601f16801561140b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808284019050838110156114aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611557576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b61156360008383611806565b6115788160025461142c90919063ffffffff16565b6002819055506115cf816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142c90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b611683610eac565b73ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611745576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6118118383836118dd565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118d857600654611863826118556106f2565b61142c90919063ffffffff16565b11156118d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f45524332304361707065643a206361702065786365656465640000000000000081525060200191505060405180910390fd5b5b505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220653fa8d6e7ec1a5cbb9ed0cc7cdcc41c1597158d620af00cb6827bb5246b550164736f6c634300060c003303e24e8d081769b35cfd9aeb4e0814a0728be8382977f5798502160bbdebff1a7603f8da7b9ab7c68a371e3775b7d83c42ac9aa2591830108b5d79688df7b5f7769f03a88672ececec66ab9f9be94f963fce999da621848f40f391e99b636e22875bcc03997761c56034316053a074906ce74ca6595f7555d7e7cb7c3f5c438cd78a7f0f03a2ba186fea1fcb9255843b56f3a3e52a26b1e4f7df69d79be642b98af3ee8dfb038499465f0ccc3b84b6d8a4fedf662447f43616235729ce0110e56b74cd90e32903daa31843cbc969353e5bf263be1d151a005beaf75d5ac4ce7bba5a467c3810410306c4f3cb9e355367c3eda89943dd7857e094823887734924af591d88eb5c79ac03ff8d020aee3bc8cae1527873de64d5d7ea51aff859b91190119e725ac84b06a503aeb92fa5b5f519f85698ec02cbee8aad14eb6621d728dd67b295ed1a310d5087031c5db64c6d374e74f04d7f5ef78e409cbeef5c31bd3427bb65596d412d47d81703eefa2c913f172cf1ee599a88a39936f94a0d1bdf5724eed79014b1c1f38bdea1037cb65f5ff86461fe9d39353b29ded706c4fff06eda95eb2dca725ae93c34fdea033609072d79fd39802720194746c2b31b40c1a2bca0166e011d5007b034608e8c03b1e7c6f5fd1a0adad4a5065d2bba132d550513de49f797d945acbebdbdb847cc03d36cad20aa91dad26512c8a34a26a5325d22c1c40e49be5fdb55042d16e63e3a03c17437ee3cc08158ea97877978ffaa4b3622236eee51861cd3ae45b197aa75a203a9b05b4fd2d59e3253198aba4c77a469e3615f309427c7d1fcbe77efc4c12d1a0305c3600f85b0f8b2c8c5850721df678ed685355eb874a174a4ca53f16f6e00850320cc4eb17bb8ec39572b458cdd81c5c70ae7df3fe888d45dfa0e9e7f58ad1f05030d0060fa6dd352239794a3b731c33b6cd69925da6f067252a20982e87a8b2a55037eb1118e936134c361f0a5e68f1793da6eb42f3fa05e74e547c5e57fa60e5c59031d1e096800be9f2e99b57c58d0aaafb556b6cf573b997be182304dc472f4de8403030bebcb8eb1a0d140c8ed550723cd402a4bf9b609a325d9db7acd49b2ec594a03ac1a9c277f22d438caabe5901601af4a466cb62a2e537304858f0544645e7c0f03ac2248224253536d16262996775ea2dd34efee01e79e9ecc850cc9c03dac8bf4031d70b0b1f8be8f688df424a1fbf8bddbb6c0b098ac82a1f5edb366acd13bcf5d0330a455438b4191fa1b1878bc2c75dd94ae674cd673b4d105d7fc6747183e99b70373c1b5e3e783e60eca25520134f35fc0993887217f0e0e3df702bf90d70ebe7900581f02dd4dfd0baf342961d3d52121759a90bf9a34913329f15861cff5645e22244d01431e0fae6d7217caa000000000581f02a235b96faf2bb390079618255e5820586aad6c78004b29f744158916e2954d01431e0fae6d7217caa000000000581f02be1368e724ea57e9dcc42cc7fcb27aee09b4eeb10237c0ba04e74067196a49857aabc182eefd695900581f02d24dfb061e15c93e2f3abd1e1d321e38397f1d20fc890ac0e796789c3f1b49b8876a82390616fe3400581f0233c58d0eebbb1d7f51f445cdaae55092a5e9540da66683f7ad52692bbc0a5820fffffffffffffffffffffffffffffffffffffffffffff996eedf3bbdd28502c600581f02fd0ec54fc8ba5bd3dabf5f6b9d7f5be4dc1a453dbea512eaa87a202521ab5820fffffffffffffffffffffffffffffffffffffffffffffdd6aba2ffa7fd2d7ab203add138e840a4e1e202ed5da90e6b58be133dd4b9966b3c07dd779f7ec5cba7b900581f0250a6259cd01539b4fea8c724fdbd2adecfdeda09c8591d55f2a1b0fdbbe35820ffffffffffffffffffffffffffffffffffffffffffffffe5310f1aa012e5a64900581f02b187e9ff88cf4715912a286ed6c9034d11b6fe2f3d936c683af2bf41cd34410102197c6303ff6fb205848a6e2031b62f9297d64f2c78d4df84a106bc85c1c2ddfe9c35a61e03c871a9039d9a454d6a56ca1d364edd1b31044a7afc32690802e1fa8718130e7b0308029360e5207f7b11567884960a83be83a24788413acc06737f9404d1a0aa7e03547b72af4a7a3367143eb548328914dcabd6d53cd3ae7b34de78eb4b50bf137203004149e51e1a2889f92b2dd46c636a731a7ba757f404e046aff82c8f790394de03ff26364bd17f231dd8cf6949c1c7da7a716bd5dcae279534a05b05b5be516fb603ba768e2d15d051e39d89a743a7f930625161eeb47269594b3bfd101a93955ef5037820473a890b41009b37d9dcc38b0a4fd07ad480ae8cccb8d2c88324892c58880219ffff0219ffff03c15bfd7ab394bd845ba606933fca787845207670b15a54bcd52e38686fee75350353bf8df1aed7de7f0dce13304114f9ec7402b4c239b9f5910d639cd1c9cae3c503e504ff2e0943dfdaada855158f19ee4dcfea45901275de67cf2b21eb6db767fd03cc6a99c5676bfebc1726d03ee8da9e3cbba37ffd39c6a096aa01285f72a345400337998d042ab542a7d4513a712921236c57074b986ae79a75bf780cb0da77ddbb03bab38c278721858d995941e84f453316369e4c2710b321b2a3dab72f9ced470e03d8b37220b0149d52c60eb5368bc250e0965a3caa7a6664b35389edbc397954d903febe129a1fccb035937c30901363b2c7cd4507d9e009b6c2a96993c71f3d8f510305789b9c005879abb33b6c40715a97bfc6fc6d5737fcffc7a2a5372dd33b412103a30acc2f432a6d402f9bfc915f34882cda5bdd805dfde8f4424a4482a83d9b3d03b21557c901d8100b8c8fc66d917e0d38b8192e607a83370e1bcdf414eb9cedee03a3e44f818877665834671a0a3c5825ebdf4de91b4346bc3d201432ce58ad7c640323b63c3929711abed3194b6a8b1aea2ce464988101cd5765803072a6979e3e7600581f0250c97d3f30aa4031d61e39bfe43c4d8d8f3ccbb09e3ec3f2745dea7559295820fffffffffffffffffffffffffffffffffffffffffffffc9e1630a121bca99b5900581f0216a12da0ff46bb7732cbf9ca883948c7e8882df053deb4743e3824e0c46a4b01cc24494f979739eaa8cb00581f027598cb10c8c937c7575ea942419c95faf6143a5d1fd0a3df544c7ae6ae28480f004b91c406300000581f028525232ee2e8b2b565dfb2abd77fa13a1d1f4fcd0d5d972371b8f04e47c94d01431e0fae6d7217caa000000000581f02a184c4d72014003a63d3a8926071fe66bacbbab65fcd2387f3baeca57d1e5820fffffffffffffffffffffffffffffffffffffffffffff9a5b25da2cfe93fffff00581f021490944e18f10a4886c36d8493b71e82dd42bd333e3f77b3b740b96f90d25820ffffffffffffffffffffffffffffffffffffffffffffffefc01a090c49ff77ff00581f0260f4a012b3a2a18ffc8ba9d38234e63bb3a0688cd61dc4d414acc197111c5820ffffffffffffffffffffffffffffffffffffffffffffffd108d6348057e1cd25032159e8a43f8a10914189f4826643acf8827cee39eba001968c3ee8af9726b86a00581f0257cfbdb7170f97e9dc6c01989d0573e6e957b4e623d85f3bfc469571f42a5820ffffffffffffffffffffffffffffffffffffffffffffffc4d22c0dcd4452929803e8126bf964752ef4160e64bb2da94254db5dd4d79fe43becd506373814bee43301410d00581f023be373229ee68f57cc41e68cc27133009d2d9888d4eab4f2c5253d61d1fc4959803a48a089ec74b10219fa5e03a796cd311f60a580f44cb2bb399e3ff125f2126b07e74eea05e9ea072dbe94c80317863b78e1377544c0a23d052269d3c82e6b7796ac95e0fb3ecc9e322c74236d03231a74d2515e5cbcbeab1325faf81c59900c4ece1d017d33afd291e075736e88038f4e884a80aa4e60bc35f6378ba32814650e7fab577f44f4e5c5803bca1777d2034c164fc1a9cd9f4ba5b348eb64ae40379285356dbfada7cedb9f7c649cfca161034c8e04d3dbd07f4b8dcf623222cc811502dd7baf1ceae44d8233f19acb44714103b1c0da57c8e3909d219ae058287e93cd1323c3c7f229b4abaedc64439f5366880327a231d805f32186f0f848d9e59aef119ae79037ab99a3f7cd6771f104db9038039ce6915d9e93242c421066901d6ad182e95bdd0fa4c7b4a1f411c92291b3a5fa0315d53244001ce637424f33a8ff452dfb6cb4ce05ee872b8d1f52d32702aa762f03a729385f354eab18723143cc60a67b3930b7728dc5a0035c8a36075a498e370c030bc8122b6bf6d80f8daed8b79a1a17bd3c4896853d9e44c7ba104bcbc37ddb3803a4716316ad6e84348b7773c9c4a5a8aac5b9cbf3b89aed62c882bf680e0d133803c06bbb6044645c54dfa65b646539eb6931ad2709b777f82a1c2ed5de6da55bac033c77022cc3ae6c9bdc99542de1b6db337354e99593d3e6ad32e7a2070aa570b70219ffff0351c37b60851c0d23c6718bbb16e6e4201920360067b3ad89b8d43707147b588c035af8164bf5e7a1555134cdd973a144bf21e5f74e55208575326ea2ca1a27e1fb034dc2b1b352eced9ddf7401d21073dd9d56e51bf99f4f4c27ba9bc0ea7e365c65033387d71714bce33fe377e4fb3bf051956abe41dc0c3f4e4165d969f7a850e5bd0219ffff038a261b4a7deb110aa736914a0d7a0aa98fae54946efef7910b438d4edf3b3e7b0344652b77e3bac64470c31eaa5c8a3cd98ef600a43030b8318e77c0bb814d541303c96a287dd7586ea9cdc173af3213fe396def37d5ed368af1f2c782ae7552e4a4033126fc68f3d517d23303f506bea9d63ec4388bf43347da933ee72b58224ff1ac0312eaa2356685e369a6c9b4d57e4c9d4eadf841926437fbd3815b0328287511a90219ffff05581d028c11acde4d56a5f0bfb33b64d1fe6406c3ab68d0e587f4392dfd99fe0701191a3f0219841005581e03182c966adc5b2b6da5637b5857c133c72b33ac232035ea79f78467ff500c014631578730380005581e03506271afffc2f2fd534d95fbd10664879407b77d51a0791dfc5644c9c0040105581e03844c66be97a818e817038fca46f64237717b471648abdc05fa3f96b4e0040a05581e036b6e01fc07c124f1b9e1786720e1782a457a0d741c83829cb68066bb600402039fa87ac15ffffc9c7741678b06b8159a0be7feb79c6b3c2f637a6cae5f2baa1e0306e8403d41cd210395eb0a72601edfc6ef0c0c7a0a5515d20fd3a7c69780064605581e03f0cd53f41561da0a2ae7ffdf3d057209b0e763c9dfa7b8b1b09e640fd007011bffffffffffffffff05581e030890d1b2e675aaffa0a46af6ece7ba80aacdd46e0579809247cd2944200c01464d7dd2a0bc0005581e032923e45d60811952298973ddd3ea5bee71e2397f2c729baaa978a9ddf0040402195ed8030210df13e636df830757ac60895261b73834af2e233c25843be31924825e9838036713cb3111c56505b898e2089cfdc0b7bbf2c37a04f5b97759747737e91f6876037833120253008e484fb1b465df7648e44921544335d0b71019b03c0a145c3411033106b06166f838028063af4389b9b4b47144cb56592663874dbddd2467451af003eaee52910bcbaefcad59e66fa102a645946e9461b47b63b5d85dc3e77b736e5503d953142eaed894cd23a9a48f229cb2b68b6e26f039b1b146182db69fc88b8c24031f201b85236c04f418576e94ad783850635f5826799aa834f51def56efb1217a03c8de64bafa1ea4bc6522ec63f92ac56c4436cd41be8c42c607ba68ccfbd9105c03e669910ea33ceb4c7e6b3187d21d0781f61b785c093bd4aec754ecf54000fd5b03f928bcf558dd3b79c86c16fc334b3aec5059be6283a1ac1b38ee8f4aa47b133603f6314a26edc978eca63501e668c99a7f0a1aa30a37ff5b92a342c176df1a185203d7ad95ac6ca9d41c0bb136d51a435bfa63cb48cf53deb2507f395483642f1b72032f0befaea9b18f360604261490acc4a7ef9a78197f8589533156966b7b39beca033d8f5a48b5bd11a89fccfb3bb514b61bc737375c9e167ef50654e6a4eeb93e84038c3e79acdd7f76649a4c2899e8a27d91c33e70bd71cf3c500cb78c66f57220fa0219ffff03e5af027e6f2b29c9ce616fcdcb304125fb393243834541bf589915cd6d6d9d8d03e589bc8b6cfbd5a5a4170d54ec7c535add56b4d3df0430533d84f5979f7e3ce703f04cf4d5307d634e5d7562cee8972b1f003ed0d5a63e46221eeca797b5c350220359f52133b89ae4ab69e0979879780cc240aa0d4ecb82bc045dd4dcae3ac40d5d03f92532d2211db53e2521a654426c6e75e5ba524fb15c9339ce1d823e82404b6d030242780dadd1a6f9a6a98fc6894aa0c8a54eddcadfb5eff61cf51e51f4b77e7403c083bdf275c4466a5f5cc9bedecd7a04ff104992fce326347b1bd20b3c60cf34031eb955944ab64fd0226d437ddbf0bcc9d42c59d0b65bb5dfa5903ce70983d7060314c5b17f9b5e2ebced2d5fc22eadba20d739bc9a0d93d871f4c636af044e4361035a1dd5adf937ae44a584d9ff15ad2b692c3fb0125c5dffa6f9666a4b5b1e758e0219ffff035e4dcf4bc02284ca7f4e032929b7447f4ca516e4d61dc2dba7d946599c03eccc036ce087d6310542cb26425003fb64767ef1e90b49a6ba6fa2df143b672c367e41038417ccab1fb586b11abda0c4f6cd7c4d7a3737e099cbd9324d03775792f82737030d0f3c92ffc1c11fccb6dfc385eb3eaf8968af34d00f7190c7c8a63273024dee03a10b188aa230e086ad2eea5ac6382fd2a918a6a5c10b2956f5d455bcd13304a0039773da16a1d15991b9c9f5111ba4c82a09f62e339690daee14593da74924732f0219ffff030085db3ca38ccae7a6a1bf36749b66a524c7c71ef568dc930ff11a8f3f51a36a0300dd38e85e069c853856b5a0080828c3587b825c9ba60ba064907545d4215ad903f50e797b38c426eab701e518797886ec9b12252a49fd55945091419b7cf6e4f8031b4f6148b1ac933747e1ebccb66641ad26e0207026c0baf8ce03db2e6fb6a22403f99a8eb5c0ab1db481a129bd61a4689c7a6390500e13aebfcc4d072ddf85080303530bbb39eded25090b283888f197fc51dfc146ce69e15f7accbd124018595d9a03747ca6794d67fad059044c2bbf376e3c115298d16e85099b70acf0594dd6b784034555c1864c9d0e1a61144b3281ed7d5222206cf5a0284b4ae8056f844acc65e7031e4abf2efd41c0611907cf965a76e06bd32d11e75b6775b9b4c86e6c05c8e92403d2fa70cf7905299ba06dc75bee11ce95380b2efdf9e3afd74892ad23ec911f8a0329784ef90d89cf3de4be601475fc22157cb6d98a007d16e230b7c35e9fbf67b003d006d28f91a970c0e5a327fc5201bcc099a9fe9fa406b0e5965a4b6b6985c39503601b19d602fbf78837435523d841320763e5f4faf2db2a22216b8bc72b5b946803a6db3f6ab93576ae274b37ae9651d7f924e04c5a11e87950722c6dfc0de48b420381a8482fa8f6eda4d39a4961b2a4924bffb52de77fb2a8046e495f962f2b68a203e333b21f700cade67f699acd548bb5ee41a29079c8c952a04cf8c209d106982103761132bb30a11da7e7d7a5bc6865c08565b984cd4397c799a1afc273a5ae2eb803e0f059c525ec64fd6092fe63d09ea4ff1ec9265184789806d5df9789c23ce0bd03499c7332e856f5f05885fece3a51b0a057b798e83f627ec10b43fe79d4862bb7038e9cd5c511d42b460f7aefa6cd5466cf3a69748b444005b201a80daebfdc14c303d38fb5eb0c31ebf8fa90179d3e7d75ff2f11e8024d21aeaac01cb6d4505aead40364d8d373e32d1df0b4bad80ecf6c28fbd606ea34dc8d658850a4c36b304c78e5039d0c8e6f42b09f8fce32119a7d2d7bd9fc324a6b1fcf67ed925cf2abd0094679030c900709b2d88259a7c1895cbd0bcb637fa2456c61dc9c9ccc6a872d8de76ec7036404f594e8455ed5e0afb5e776f2ea4384a1ccd7f865fcbb71f30e86fb007e6a03ddf2176ba7dff4dcc4ff6262306790e9782566d26d6e2070e82c29552288b577039b84d04b35f7e20f7c090dd4f43b40a788a2263ed5c29c03bd944b445a39389603bbb58a8e269b77585d28b8f6a9682993a5489c75220f64300e14042b4f060a0b03572d9b3f98ed9b0175b06e18e160225f9e6de1549f26d1dc361b1eecc7aae935033791338b4a5a80dd567a71ec1acac0271bc42d3aaabf4e516830e4465fee75f003fc2e5ff83459fcc5217fa5ea996faf03d43ec546b141bb177ce646358d96823f032749b598c076f6c6149a63645ac908b5a6404368786ab91ff7f6752274c770d405581e03223b3de6aa8fa2d03978e8be6021eaabd49bfbe6f2893b0a2b6cd8fd000c0246408e51afa80005581e039abf8432c267807e5a2c24faeed2652134e1de9d161bfaf8bcea72f0400c094502167ce73805581e039f69b3e9dea29d4efcb193a06d849985634ed90585fb9c588658d43230040305581e03f65682622645a916c16615c30f0fa25a259524b6798e55dc578c50bea00c03470362fadf466c2e03cd7846a1690d1f290893310171f7d13bd4d620f4987ff20d52b7489fc29f7403014100038ee9df69f804a69a5f32e2d3ee316f25d31249a491db4cdd9afbc166d7be34ab014107035f595e7d5315c2d74e9ed8c016ae30a89d43f1e6b471f1f66c2ef8ad4872f8dd05581e0319af44a8c2cb54a09b6fddb922bcf0fae515c14a513b777c3c5f6892900c181f46f085c603889605581e036ff3eeaffefd33824f7945bf3b93e07a16a8de93a9fd453d9dab9f2ff00c074702b15d5866873405581e03bf68d9631c406e9b2dadf48aed474200bca127fcca5f8bf22431e5ae4008475fe1fe907c4cdb03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba038ea8a0b6348f0312ec3d0ab1ec1e65bb732587d504749a5aa0958b25d94562ea05581e03f799d700b928b7ffe47b61c106636950f6f70457b20bf762d41a52a5d007011bffffffffffffffff05581d02d955e62163856cae5e3bbcdd52817e12a42bf38a3adc0ddc8cc261930c01470969b1c2635a5805581d026502035f8b35f4b31654f2713a635ebfe62c94925b3321c98e75199d0c01474acaa1487661b1021828031a6c1dac3ecd5d2038971a8006c0f980bf7853599f49aaa87bdea4ab0897ea820219ef6f0331248e546900b2d42ef367c6df7de59f3f6c9c08c299b7095beafbc3c8d86bd503768877d1ea8658b5dc5eee55b46f9df340a742fbabda5382717c5e772e4ebe6f03ca19f682d935d6f9fd508cd6c81b822cba9484718b63610d852c92c060d3695f03849ef7a5b9dc23fa41e4889596d005aea9e67c3a522bb3b466c0460fa3da9f5d03641b779e778c3fb649090a2d37fc95c038b46d37fcf482ca33cc6be0df7ad59103faeffbae55a0d17577fe9590101feead442cdd3f8ce1950036d71ccfd04237740337308a19be5a5e340e69215064686072a5816ae08fd7f5369daf6c14c4fca7ee038f8b4cf60fe7f7353745a0a96c4f8b10d6b9a824d92498614c6126d7bd2211c1034e49176abd5cf27c564ee616495be2ec8732bd4c9ea1f51cd261473d63691c1903933be5ecf67b089eb18e0d0e3ea7c4aa50032f83fcadb3c79ae0e329fc2fbb180339a1e1ab47e5fa085dcadae3c4b2f817b8d099545c4d39738e70e8bb9ff649d7039a57be1c3b36010843a45eab4280c46b9bb65ffd971edc13016d40959df97a7d0329cd6c281fbc8c7ac9767b8b304a24dd4300e0b3433f8c9bd4947bc8ecd9a85d03d76a1a87349b33b7dd40601e23c38b9420c9cbe6e61f43f09855923f49b6c6e003b7054087196b11e9bfe14bcb008f50d14f6b6f9e55c6f4e728daa16ca48674510219ffff0219ffff03ad42e5913daed9b279ba51a29486262ff1748306646c840db292ea028720494f030a33b6cf788fb85f89bc441908634115c3d3de8b8cb5f976f1f167fba61e90f50317c2edbbbcb27a21832e99727f01e6c7237e6fd565dacef87fa9c70f0d6fa58203890bd3fa059d7601fe42ae1bc57edd11d10b974cefc4ed3fb9c198ce0728277d0350601302dec8b5b680f9ad8c78b67bb626cf90e0c8afe065a304ff5dba7f3af70219ffff038fbc4bd69b41df5a8add328e5c10f063de8a576284b0ab7806ce7edc9c3691970219ffff03a4b3f2b22b19fdc38f16da941f857b99dc13c472047d3de895371fbeccbc1d47039b9f9154b2cc4788d4332aa5e9ecdadfa33bde1539a8d971862144bce39e3792035b312505a965d5d54e3868731934620a63cd4dbfbbfaa485c961e650ecb9858103121e258e63208eb9cbe933b729e2eef4ff39f34d21b542e09d410ae577f01b6603f408e5f2896ba5d8513a6ded084f14279f4e3853f0429c9bee77cadc0ff6f72f0303e5b3ba1a9e5ff03a3ff335f4622986afd3c9811fea9d8acbb4251fdbe580ca0394400602596f5cc57501e5e39387da3ef7f71e3a3ad71fdd215d5e13a9c2b174038d7fa0656644cd39352e21bcc508a35b95957a7b9b8cc0e13c0c0104c94dd7340352a10c2bae431a368c119d8fd4907588ad1de15ea6234c80ee986d889b71f19f03471a65c313d636a03de640209720d6b02333ade4614cd3ca2292839b7af73fc003d7792695fcd61fa56c5ae5500b874dd61b2291608877ad892ea70ef8f479a53e035cdd0524cadb22818d592f850bd3db0ad8b32601244c0f5d78aad037c1b3bc1c033858d7ea25b28316c74ad3165375eef74f6888c36d6d37ea1ab5f9fa6634a4cf03cbf80b4c8ce3df7eb6b15af5332062d45a4f8dcf81470c743bdd4a8c644e511603c66a7fe270b81db2e7e44a76416e42324f0b8b742d3778b5fd2953afbb7e624003cb8399c47d6349b36bb0c87e3c94ae8e0347a28c712c4c4d947279b49357e113039c4823ea2f41ab6cafc801aa090491f371b4a8df8c3180dd4979a820361e386403531b13d9b20031ee68e46b6ca7fabad904a36aa1c72a1816f70391cb07a485f6036632ea818c9bdd6fdd54a649ea1b19f85ff7bdf30b06fecaf4e0be015dd2163e0398441b3cb515c3fb3d79b311ef1cc73cf3a89ab438efd38d0c42a11da32036ed0356d250ec7bb31ef56b03fe5a2d35f4a27cee72e7a887f11e99cdd303449ef7c103eec2119b8eb6792d1a789cb1820a3a0f152ac766988d238a2dff12da96bf1c8803dd5c875b44d1bbfff6006897c2ea2a30bae98a46d831d70bf938b58524ce9c1403b82ce28e35abb64424cdaed6cc6f5f2dc84c84e94c57bf5e8a336b6064184c70036c4e1256db62071e6573c1fe2f17ec08df0f8ee8117e68b28cb55664981d77b7039146e83d0f2a7c16793341534e65ea834e48674488d7e5942b3dea7ada669e640360adcd42a3035dcf4730654a515f8669238b7b16f713ef5ec476e064ce4241ce038c137649a366b032eeceab7d4f26506b32209f1ecf35b6a6f1531abc67570771039ecd95edce72e7d140148095c4a6bfc0aa4dafa9317c11925dea83ee293e0500038580a12405dc99b408c0e3951ce90917ca0c3059e15e1bbb881f92701b37be42038dc3d2d814a046c91588670a74d9bf55d3a5bd60f9fe1a5db3a9fc387d1d79cf03fb66dc55df960545856b4d945d519e0c7a16887a4b0846b5f408b759dc3129550333dbfae5044321a3d3113209d2eeea8af3bead3322ff213f6953f8afd0367a7303a95da20919781c01fc10e8b4d9e84576c510e891829d8ded4d9f10ffef99495103685ceb297f865847eae69f19a6e85e83d1eedececb8af29db0547b8a105c5a6203099f1d18c6a240fdac4f7d9dd654fef46a6edacabf24a978376b6f666b43fa5a01410505581e0377a19af870f4d04a8d6ce0fd24f22cddcf8fcaf5b9a467627d64f990b008470f6ccf9727799a05581e03ff279237032a326e4ca747e2abdcc24db2f7ad2c50ea2008b52a3499d008473742cedf87c8000399e9f793d44109b02cf2116f9f881edde14d40c43dc96cba47a7ec89473b425405581d02d68ec2124bd5926841f6ec426d77fec851f5f42b4da3fc287dbc49ce0c0148054a8589b083492d05581d022684877fdb44aa1aa0f66d08017154416c5d88c87aa42339d969dde804182002192001030f2411f746c4cee1c67355c31c9dd9cd9ddf7ba9bf2215483e2289d5d8ff48bf0141030317edad0dbdc31c197bea1f71f806c0e4de24b92b09ced32f0d754eb410494e7f05581e03fe7016449601fd236b9c0f99103f3a0947c65e0de05e55316f63068d40040105581e03bded12a1f36a5fe4398da8dbaadc67a9eb8d4cb3f0355997a91e9effd00c0147716f626e2cfc610219057f03925f564f2d1b1338c46bbc7a18335f5313034677262428490d5627ade309ace403c85b383e1edf28a464bfc4f732258b2b09adad5f1e557b9216d29db1446a3c2003c11d5691b98ae127e50a5691b874f3623f4cdc59b4f9d0bcbe6d0da73d9eec03032d2dc942a38b8609898cedbd3f410639e7bab0806a0fd9ac8c5e6b82cbd1b42903147b45e37172ed2bd23d8498fec843962a10a63719a3a075633a28af7ded44a50219ffff03507635f0fd68491363feb906ac7365a83e5118518415da05b3872b17bc43006c03182ae5709d191acd809a216088eb7246def4b2695b76a10ee40c6f55ce423b7a036393fa6c812cdcd276a5123c1a7abeb39a2877097b885dfb1d0dc15435922a810219ffff0319f58cd1f95e92c4d7e0d4055acaf5151ff082fd3ddfc107d980509c5bae77d6031a5181dd1ad30679e897f699836da8e13a017e2c547d13d655c7ca3e60a6ff5d036234aaba26f2159a5c2cb89eddb9fba4d1969c3721fb17863ac1d4ecb89bfefb0219ffff03247f267e418cd931530adacd594d4cbcb230390b0ec8c0b91e0c316795ccd1e303cff3fb74386fdf99b9873eaabc173663a1a2b828fae2fd84dc6c28a50106735403fb2e0f35b3d0348f30281cb0ad7abed691e1366cb7ae8eb9e35c08e658d040e603823e16b1ee7b50978ed66a926f7bbc881f339889f67e824cb6ff04828786f79403ac421fdee6aecf3ead7c54dd3447937838fa731aa1f1387400d39057dec27b7b03dbb2bd92cd9581352b003672220d71eca845ad8a785e6579bba2f54496073c3e038d9627c9ed8b43cd30661fa61e4154a46a800f8f4d9060eb66f41d640ac10ef203f4382e14aee5f1a7401814bcce7a031bd26284b78ae37f5ed2450472f72f7c520316767e5d5632461d9a91e9c960d7e1cb38137791351d5ae8b7989bb94edc2ef5037be8e58972554c972cc16efb28163846fdb1bf490dddecad1bc57bcf38df5e80037e162f6312970ffe140eba375c09f08e7c4c29fac04b8df63e66e279183ba66e03ee9e19fbedcf76efa31db4b96d6c1420a2374d2ed9c6de7117b7f84525e71d3c03bbf3bbadb147a4336b7ba17fe8d517dd784ad60863f1356921438830819cfdbd03c748700bfce7f18487dd4af9da74739262996caa32611c0bdba5e5e29b1ed66f036987b41dfe008c7a2587d0db5e1a2ada71c4153d096defa1250e4ba7afd55d72036cbea9ab8eda00052e95dc521c8f223725abbc7f2061caac9fcc6291770034ce03c2e2817db4eaab288a6f8be57c69b8be51e55f4da975dc151ae90c2d79bd2343036678c8abfcd1b53a48303ed5872860914ce912929b83bbc62dc3f6c7c1f4441a03a70da44a2b63bf3e0f06b656b14d64d3ddff385f82819304f36de0de9ddb9f9903be28a994f20f023554229c5a7a126b79d348354baaf1c7214be77a38db2e66ca039c4fb4e6fd9a0b17bcf0cd4cf03889af8bf8fa2add0a746964118f8d987b6e43030e018eeb4946240c74efee1f9cd4e2d5577810972663f0db7bab787bcc42ea630347d746cd26576fff4ab083afd1b043de97192dbe8bc55b041919950083c55f5103a353e3b6dbcf70939755c7fdd6bb047e6163f18077560a8271a3de696cbdc1c303e9df713361d69f7c5321872584540ea01d4813171a7592d8dd02430c1ee2b2a5037d4c40785ae04b59488c1880e4c9daf5affb7152ca0c8e1d29fb2361a0a3126c03f50d8d3f4bdbb5a2ef01a325f765c0f35a5bc5c6202764691e52a4e4f3a25a27033fc2b32b7b5bcd1141c7e3040b97350ffa024f610a844a2c998e27ba097ee9e203803255cbf5de418ec2aee1fd5ee7a8a8a9bb154843a6ebc73aee0444a5ef7b56032740cf64cc199eb9c68fbf48a26a6c24126ed5bb450119259a569a760a46ca0c039c27bc604a88a43c2077c60c2656d6917d3225092a1cb9805815cb2193e45ca20348e03d179ab8d2053d5483c748e960041534b3a1d6f57d6356281649de9462ed035e326d246bf2f3e1dbb34ba7a22cb96e684574f6847cd9e9033495cd8d2acf0403bb967dae1726b3e1d561e7e3ab7aa52d18641f05bd49fd489bb6922da68e41e105581e03504df659eac980a7ee38047577b6b76e0ebd812c14c4b4fb6c3896d3400c0f4679127230498e03aa009897f1599bbe28e6cb3edfc6bc881325dd55956d77ac23ba6daa553be0a00324c65fed6c74f6c95d7cafdeece6ba227d2946bb9046ac2418ec658aad48c128038e2f8e6d80b5cdc9df8829ae3185ab43c8a6b787e814a184718e73a26911f15a03950eb080a4ab2104b2b1803f406bd008bc4774b7bef77de998b77d02ccee4b5905581e0392cc5360de64a2c162b27296b29dabb64bba887b94c85039ff065037400404045917ac608060405234801561001057600080fd5b5060043610610194576000357c01000000000000000000000000000000000000000000000000000000009004806376771d4b116100f5578063a457c2d7116100a9578063dd62ed3e11610083578063dd62ed3e14610425578063f2f8271214610453578063f2fde38b1461047057610194565b8063a457c2d7146103a7578063a9059cbb146103d3578063b697f531146103ff57610194565b806395d89b41116100da57806395d89b411461038f578063a0e47bf614610397578063a1d4958c1461039f57610194565b806376771d4b146103635780638da5cb5b1461038757610194565b8063395093511161014c57806370a082311161013157806370a0823114610318578063715018a61461033e5780637521b7c21461034657610194565b806339509351146102c457806363e0c2f8146102f057610194565b806318160ddd1161017d57806318160ddd1461025657806323b872dd14610270578063313ce567146102a657610194565b806306fdde0314610199578063095ea7b314610216575b600080fd5b6101a1610496565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101db5781810151838201526020016101c3565b50505050905090810190601f1680156102085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102426004803603604081101561022c57600080fd5b50600160a060020a0381351690602001356104a5565b604080519115158252519081900360200190f35b61025e6104c2565b60408051918252519081900360200190f35b6102426004803603606081101561028657600080fd5b50600160a060020a038135811691602081013590911690604001356104c8565b6102ae61054f565b6040805160ff9092168252519081900360200190f35b610242600480360360408110156102da57600080fd5b50600160a060020a038135169060200135610559565b6103166004803603602081101561030657600080fd5b5035600160a060020a03166105a7565b005b61025e6004803603602081101561032e57600080fd5b5035600160a060020a0316610647565b610316610662565b6103166004803603602081101561035c57600080fd5b5035610740565b61036b6107c1565b60408051600160a060020a039092168252519081900360200190f35b61036b6107d0565b6101a16107df565b61036b6107e9565b61036b6107f8565b610242600480360360408110156103bd57600080fd5b50600160a060020a038135169060200135610807565b610242600480360360408110156103e957600080fd5b50600160a060020a03813516906020013561086f565b6103166004803603602081101561041557600080fd5b5035600160a060020a0316610883565b61025e6004803603604081101561043b57600080fd5b50600160a060020a0381358116916020013516610923565b6103166004803603602081101561046957600080fd5b503561094e565b6103166004803603602081101561048657600080fd5b5035600160a060020a03166109cf565b60606104a0610b23565b905090565b60006104b96104b2610b5a565b8484610b5e565b50600192915050565b60015490565b60006104d5848484610c5a565b610545846104e1610b5a565b6105408560405180606001604052806027815260200161169d60279139600160a060020a038a1660009081526003602052604081209061051f610b5a565b600160a060020a0316815260208101919091526040016000205491906114a7565b610b5e565b5060019392505050565b60006104a0611546565b60006104b9610566610b5a565b846105408560036000610577610b5a565b600160a060020a03908116825260208083019390935260409182016000908120918c16815292529020549061154b565b6105af610b5a565b600160a060020a03166105c06107d0565b600160a060020a03161461062357604080516000805160206116c4833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600160a060020a03166000908152600b60205260409020805460ff19166001179055565b600160a060020a031660009081526002602052604090205490565b61066a610b5a565b600160a060020a031661067b6107d0565b600160a060020a0316146106de57604080516000805160206116c4833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b610748610b5a565b600160a060020a03166107596107d0565b600160a060020a0316146107bc57604080516000805160206116c4833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600955565b600554600160a060020a031681565b600054600160a060020a031690565b60606104a06115b4565b600454600160a060020a031681565b600654600160a060020a031681565b60006104b9610814610b5a565b8461054085604051806060016040528060248152602001611679602491396003600061083e610b5a565b600160a060020a03908116825260208083019390935260409182016000908120918d168152925290205491906114a7565b60006104b961087c610b5a565b8484610c5a565b61088b610b5a565b600160a060020a031661089c6107d0565b600160a060020a0316146108ff57604080516000805160206116c4833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600160a060020a03166000908152600c60205260409020805460ff19166001179055565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b610956610b5a565b600160a060020a03166109676107d0565b600160a060020a0316146109ca57604080516000805160206116c4833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600a55565b6109d7610b5a565b600160a060020a03166109e86107d0565b600160a060020a031614610a4b57604080516000805160206116c4833981519152815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600160a060020a038116610a98576040516000805160206116c4833981519152815260040180806020018281038252602681526020018061160f6026913960400191505060405180910390fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff000000000000000000000000000000000000000016600160a060020a0392909216919091179055565b735ca46b14691d9ea4ce2d8e66e3550de268ca6e2e90565b60408051808201909152600881527f446546696e697479000000000000000000000000000000000000000000000000602082015290565b3390565b600160a060020a038316610bab576040516000805160206116c483398151915281526004018080602001828103825260238152602001806116356023913960400191505060405180910390fd5b600160a060020a038216610bf8576040516000805160206116c483398151915281526004018080602001828103825260218152602001806116586021913960400191505060405180910390fd5b600160a060020a03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8282826007546000141561102257600654600090610c8090600160a060020a0316610647565b1115610fa857426007819055610c989061025861154b565b600855600a54811115610ce4576040516000805160206116c483398151915281526004018080602001828103825260238152602001806115ec6023913960400191505060405180910390fd5b6009543a1115610d4357604080516000805160206116c4833981519152815260206004820152601b60248201527f444546583a206761732070726963652061626f7665206c696d69740000000000604482015290519081900360640190fd5b600160a060020a0383166000908152600b602052604090205460ff16158015610d855750600160a060020a0382166000908152600b602052604090205460ff16155b15610e5157600160a060020a0383166000908152600d60205260409020544290610db090603c61154b565b11158015610de25750600160a060020a0382166000908152600d60205260409020544290610ddf90603c61154b565b11155b610e25576040516000805160206116c483398151915281526004018080602001828103825260288152602001806116e46028913960400191505060405180910390fd5b600160a060020a038084166000908152600d602052604080822042908190559285168252902055610fa3565b600160a060020a0382166000908152600b602052604090205460ff16610efc57600160a060020a0382166000908152600d60205260409020544290610e9790603c61154b565b1115610edc576040516000805160206116c483398151915281526004018080602001828103825260288152602001806116e46028913960400191505060405180910390fd5b600160a060020a0382166000908152600d60205260409020429055610fa3565b600160a060020a0383166000908152600b602052604090205460ff16610fa357600160a060020a0383166000908152600d60205260409020544290610f4290603c61154b565b1115610f87576040516000805160206116c483398151915281526004018080602001828103825260288152602001806116e46028913960400191505060405180910390fd5b600160a060020a0383166000908152600d602052604090204290555b61101d565b600160a060020a0383166000908152600c602052604090205460ff1661101d57604080516000805160206116c4833981519152815260206004820152601c60248201527f444546583a207472616e7366657273206172652064697361626c656400000000604482015290519081900360640190fd5b611342565b4260075411158015611035575042600854115b1561134257600a54811115611083576040516000805160206116c483398151915281526004018080602001828103825260238152602001806115ec6023913960400191505060405180910390fd5b6009543a11156110e257604080516000805160206116c4833981519152815260206004820152601b60248201527f444546583a206761732070726963652061626f7665206c696d69740000000000604482015290519081900360640190fd5b600160a060020a0383166000908152600b602052604090205460ff161580156111245750600160a060020a0382166000908152600b602052604090205460ff16155b156111f057600160a060020a0383166000908152600d6020526040902054429061114f90603c61154b565b111580156111815750600160a060020a0382166000908152600d6020526040902054429061117e90603c61154b565b11155b6111c4576040516000805160206116c483398151915281526004018080602001828103825260288152602001806116e46028913960400191505060405180910390fd5b600160a060020a038084166000908152600d602052604080822042908190559285168252902055611342565b600160a060020a0382166000908152600b602052604090205460ff1661129b57600160a060020a0382166000908152600d6020526040902054429061123690603c61154b565b111561127b576040516000805160206116c483398151915281526004018080602001828103825260288152602001806116e46028913960400191505060405180910390fd5b600160a060020a0382166000908152600d60205260409020429055611342565b600160a060020a0383166000908152600b602052604090205460ff1661134257600160a060020a0383166000908152600d602052604090205442906112e190603c61154b565b1115611326576040516000805160206116c483398151915281526004018080602001828103825260288152602001806116e46028913960400191505060405180910390fd5b600160a060020a0383166000908152600d602052604090204290555b600160a060020a03861661138f576040516000805160206116c483398151915281526004018080602001828103825260248152602001806117536024913960400191505060405180910390fd5b600160a060020a0385166113dc576040516000805160206116c4833981519152815260040180806020018281038252602281526020018061170c6022913960400191505060405180910390fd5b6114198460405180606001604052806025815260200161172e60259139600160a060020a03891660009081526002602052604090205491906114a7565b600160a060020a038088166000908152600260205260408082209390935590871681522054611448908561154b565b600160a060020a0380871660008181526002602090815260409182902094909455805188815290519193928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050505050565b6000818484111561153e576040516000805160206116c483398151915281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115035781810151838201526020016114eb565b50505050905090810190601f1680156115305780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b601290565b6000828201838110156115ad57604080516000805160206116c4833981519152815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60408051808201909152600481527f444546580000000000000000000000000000000000000000000000000000000060208201529056fe444546583a20616d6f756e742067726561746572207468616e206d6178206c696d69744f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373444546583a20617070726f76652066726f6d20746865207a65726f2061646472657373444546583a20617070726f766520746f20746865207a65726f2061646472657373444546583a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f444546583a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636508c379a000000000000000000000000000000000000000000000000000000000444546583a206f6e6c79206f6e652074782f6d696e20696e2072657374726963746564206d6f6465444546583a207472616e7366657220746f20746865207a65726f2061646472657373444546583a207472616e7366657220616d6f756e7420657863656564732062616c616e6365444546583a207472616e736665722066726f6d20746865207a65726f2061646472657373a26469706673582212205106c01bfaa66ada889da95f8d032a17ff2fb7ecf57f50bcb9e5ec340229711564736f6c634300060c00330368e8336bfeedd88edf56b535cbe3b58d50bfb2bce668bdc0b6ffa7c19cef97b803900c41ccd3066fe17ba0c68f5661040b780ae6fb58f7b0332e2da8db23eadb6403727f49bcda725db786d6fe7f0a9a7a5772d7c524b109ed6179b76402c1dd4a3303cb3a1fb61c46371902483c0b8a8c266fe025fda401fbc684261b3ef2e2d55ebb032937a72fafb6bc9e70df1f4fe773cd21882cf2e016af3793ec6d1ed57a08d445033f8fd2626cdeb60e6b3c8f9e34c4fbff0406a8f4b8abe7d475e391d8cd9c3c860314332ff4114077434823f92fb98cddd171a5afc36484123d5b8390a883aa6c8403000a509bc87e3520eece19dc672e599d3339bc4c2d0735b5987aa8204435d5a803212bd5d45e07b3349cc1b9b8870c65386c5ca3309f3acce532803685924d08e7030c2d4c9675b20c45e4e67c1dce04804145daa6dfab2c8c9ec6c2ffaf71e55bdc0354913953ba76a0f7572060acb7a8d42eecdf747c3ea8b52449acdbfd8345ae0b03cd7b1f88ea63387da2fa43fe03e9d9ffaf2e3fb28d513b7163cf1c181cad6eeb031d46b915e07f73cb48af9d6f3142b1cd7b67e6bfd37dd2c9ce71b34d0345bb09005820032c30922c2351c295712e43060d54c93276a6a23d25d22073d1495157f5caa05820fffffffffffffffffffffffffffffffffffffffffffffd7b7a84d4fa9e9d444803f894404a943036ba208fb9ba1f0fe8ffe96f1b62d81427a1501d351ad02fd3e603662155b24c265938e1a943b3fdc458b5db2592b5267d8d2f46cf8e6158cb744e03ccf8ce85cda959403a7fdced7a24dfc8f55f3af689bbfa4827e4abbbeb47b7f100581f029b1b942190ef939db6e887c3e744b470ce679e75e184b10ca03a80c9052449a23384b5f6f32f507e00581f0269f357aa0de6e163865b339ecec5af28e56785c14ce4784401dcbd926de54a476d1fb492b5e134000000581f023645d929f7154ff32a03801fd2b79d0bca4e31d6b3bcc28a36a06891755d491191fcf5cede5b8bb20219080a0313f670fa29e0892d3cee8f1300d89fc529f1442834bec52431d409bec80d95dc03bac3b83a000e4e03019a70efcb5f7cc16dbe54161f4e6eff2bee44bf96f6d7f303b1f6ebfd8a3a9e5864cc4aacaacebd4e9ac82273d83ba183c85b27564287dde203bbf558391ed4cb275105bb1715eefe3f9298c2086647654f2798ebc78b13a9c7035b1d23a24961071f4267972959940c062c9a819b4ac8dadd522c5f7ba3b44f0103dc26b174fe5154f1ff6c6e704015558b9ad8cb3444eb03f08cc1926026fbda4103342af812107395a52231421a475976d444c36714b3ea2af8bde4a9aee5f510cb0219d3ff033184f5f81298b8541793cc779651b5ef7ceb7dafcdc92d5393dc7c21c0fe2c1b039e2f37da42a6dd278feb2b8116fda79fe6ed241441c510bda0354d7e87deccab032ef33b8f1012abd21e1bd8c9fddb1e53942e6c3d2ab6df8161ec1f6e8ec19b40034337a16526d5dbc4a969addeb6f3880f50df1bf369ac53594b1ded2dde2eb14403b9e7fa4167dbbc92972d94cfd2271b2a56d1e7cb293da5fd3bf22f6592c0012303c7608681cf13b826aa91b78e7ae3098703e2796bba4cd8a41e3bb947468ae42e037f3334ea275c67c0deb08bc5a31f50fa95b63bd746ae644f2f445b2cc45a88a203b68fce41213570b46379998e8ba4750b0bc30fa41dd6f7579670ac03aa3a1ffa03bf0d8a8705454888f44f44366a5bc5576c28b9660cb0c24fbc8a6c81ee2f0e2b0219ffff038cbfc5b991dd4de137b59890d3d0bb850c4eb199c276db1f696687e25eaf989c03a2fa8217d802cbc8bb3868188de012bf339bc228c5c3e424c8f6bbcc99de2f4803a5f1345bb95fc88d6672318962433c2662f9b20c4281b2735afd36597f6d2516033b4b7dcf1c1451d06921e4713e06d57c03c4043fce4d77b9e2381abbd267bb4303bed875a8b2d3339b15409f11d1902d51ca991fb4b364ca3daae82dfa93f1db3a03135ebec23ab1fba3582b4d05fd3222c7a90af17bb699b2113f79e6abf09a80f903692b7d4c596cb660be683c6d090d6fe92fbb8baf3c8c113d879ec3b9a8bf8ccf03d715b0b0200bc01092ff8b3bc857da9922620122822e434157964258baaa0a2d03f58cf18bb70eb0d2174c33af487054a209c6ca7e593e1f81d47b0d63cf0872b00058200359cd11553125d3909959ede783347330c51bbe2b0ccdf3c430cde156ece4104b4a80bcd321e8b353fa7acc03fc5237b6ff77390b35801d57de4b6037013e6eb576452ffdb0a4ef625a7f3c24005820038fba99776261973c4c2440d570ec96d8ac7702aa0869c4fab81ef1765e52604a0369ae7459635529e06d03d6addb9d483b044fbf004dff5939c8bfb8dc5a253298966eecc0bb6cb2dda33700581f02a5151b4d0aa0d23ff0e44075006285e4f7bcaf2b7bc6387814e6b5ef92185820fffffffffffffffffffffffffffffffffffffffffffffe6f0986cff53c985b7700581f02ac0d480492ad16bea1df9edf52dfc81d85ccde04bb5610c4384a39fac0535820ffffffffffffffffffffffffffffffffffffffffffffff6e7882703c810fdde400581f028591c9e4a04104eae40178c335a43972c299da4e726baf9b22208c23b3515820fffffffffffffffffffffffffffffffffffffffffffffefaa3463e09d991840700581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6884460ae6a85021918a0005820039507f0a498921c6d6cc61da908970400b6c0516b41dca9cafe813c6b30f1a04a014d9d01b0758ea0ca2403a947f92d80f282d242d168ec956fa5a9c2e2b70888242ebdc7105b3d3ab1cc8d035376bf3271c87a4996faac8651ed91c65b6922ce11663ea297a2c738f99944df037add032671c5ce7fd4358e0521fe35d1bb5637d90ba84c11692de684b190af7a038be7ffb3e7304e44c87e9affabf777a503548e18d87ede40ac747e1533a8082b0306f79628fe6843c6c45316c30cf7ec30adab6587763d0f3ec4b5eda3c96a026c03cabde8f439e731e0038c50bc207526950044ee37fab582ae6bc47b55f2ff288d02196fed039a2db8f456c875948f71b956da5e9b2cc0d7e4e92fcf970495be776f8afee1bb03fa3d301ec756968314e04c5b1eaefbef2f5070287fd222469ed92a7099cb5bb403efb141ada01c25626925ee8431b434e7f0a23af638e5e79f1041b69b46d77e0003785f742664202c1411202c1d098e7724028f725f150e6d4913929a54e97032c703f9a56cc9e6ea0ad4698f360186d777be9a41b8f16a834b299298f5b289fd19ca03ae126c77dbcc89fc3cc82d06d3414d13c8c9529ea79f2981834bd81b67a6170a0328fe1936045cc377a1aba02bcae0e7d226d07ba2931a108fbac3d8548b68326203b641a08d02efa3f73539d2d1b012d96f18e640797d6696f14720089988983ce4031ebc00fe22c495cd9dc9b8ea7bb1f270f70006d0ca81c897cab4f478712756fa0219ffff03e789079c014fbdb7d569a5e21ca69ce577b28dd74d6260bc6f66b4693f0d9eed03a4951bc6bbf3193ebe4ef9887400e24477d804005e167fd40064e536443fcab103998808a61296033758a76f6fe82350b1f6136bdc01686e78a54c3b400919add503ec36ef47f1a96258fee4f713902180803b68bae806ee9e9f94291c08da479b4c038118a0a5964e9187077b092d80c9409e473362e83be0a9f3c71acd2cf56d49f803901a253d77e43f2414ad5eb45f55624916e14de5a863fb2b22757060fe772b1c039163f2cd47c1e177f26a23d7b641a077c6023f05b50dc8072a623baded57c6f00344a9938cc48d7c0d4c7892b106d396520affcc46ececfcf052a44be4f29799c400582003c35628c1924234fa103d607d4fb8fcfe330a5a8b6c0d63cf1896f3e689b3905820ffffffffffffffffffffffffffffffffffffffffffffff80222f3108c097e07f0058200351dfe708a776d75fb224858e9ff8b1230e3b34bdb79c0886c56effa403e3a05820ffffffffffffffffffffffffffffffffffffffffffffffddfaee5ce0f7c711ce035bb74c1d83dc5bc6dcd4b05ac92a2eb5ee24d88380ce8839969957b18f1f5ff6034ab3f2268ebaec7b6ac39002ea5b395a680315de60371e956daa3543b05a257c037288dc5eeccbed6a2423878499d5e736b27a882925f6567d5e05a51c4636588d03bfa5ea6adac84183ceb2a82c258406ca22ebd928e5ced2b7dbb499277a8f29af005820031f7fbdb1dc9964a4930dd329ff5adebd04ef648f7eef27166594257d011510498a9f6fccaa829e0ca800582003f76712ae1af123248a5986b05cfa349c8018817572454556819125ac5388604819d1808fa849a185030e73945119ff8c5b2db950a2902c3467e104064739df89e25a4a0e42e748a18000582003a1c456603456e4ab451ce285db95dcb4ddd3ae74b7f215576c41e2ff24d9804460ae6bb103a1d026093edb9e5b2236f4700495939103267f64c873b61dd3c80b1c3307639000582003e9bc55c6300b54c0876aa4b03dcfa26c9ded858ea1fb8fe823b7d17f7fdb904460ae6ac403166ffb35c92194b7aecf1645c635ef39e7e5a412bdf6c5b5dce6999f4a3555720219efbb037be1e3b6056dd5dbecb581de81c151a8f517d62c45a9494866ecd71fb8c0f5be03f7b09451f175ca8b9852c3e3b799a92b0e6b59ed55c87ce4f8ca6912276e764f0318d6dbfe200a54d35155c8f0daccdb56012dcd063b07638bb3f045b0d8b8b94c039e1b7d621c7b093ee2de301432fa607ee03e92392ae4d60a6d0740bd4cea1ddf03a347ca1e80644df9e6413f3b93c53b397038faa575ab4aeda8d1afb82e716cd103f786a4c5cb004c38a5650a6e6edad36dbb9704a0a39c2f01b53c675b3ea55c3603281deaf8609b686c05d8ef63e502cb0298c1884f750326fb31c943a8158094da03c8074f096e60940cd26e97d39a58c2370822be476f17b31b73eda9a80e76f66103bb7b95a3b9d7e90f7013882cebca68633cb7fed6321c77b267119c0f1b0ff1b50219ffff030bbd24cda19d59b095dad4fd5235e33d2afb0d5d135359ac6d3fc3a919c5c5d803ee59baedc04c2372ba170d82858ddd0979062403d24e9b85ccffeba31efbfb120365144ed6b23bf55755f1d62e0592db87202be3a38cce03b0dfa07bf2354cd74b03814dc8490aa76c1c1b2625e7b9e72d1b17caab5bc351eaf0b3335bd59b6c39d400582003baa4b4e7f8a5654b4ff6f293d2a5b673a6a2d4a1662a679623c56fbf89709049cf98440332dc7089bc0372472f94ff77f12404da26bcf7646bb537c0ebfac503f90374f17e9a2e1a2a190058200309fc63a2c3094e498474eef1e10b8288cbaee3a1f54acef63c13f7211752b05820fffffffffffffffffffffffffffffffffffffffffffff91328d60d21e2cf580b03277977fdb75ba62809bcb3c3a03207f0cfbe922f9bdbf5ec46be420687525d0100582003cc95705d967f773a78ba8dfe8a154705cf90396c57b74aae53866ed8ab5fc04460ae6ca90375b7f34cc17db168c6246c378f52cfa2df07039294e7b7d8760816b08924a7fb0365e57bff57774501aab2f91d55a34aac17871d46273bc7d16f40b66c584efcc2038c5c70f5a4c92d4346bf68692d9e3fe413dade6c36cad17f15a36648cc0c5e7000581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee34460ae6cdd00581f02f7ea56f1a09a41e873296383ecb24ab928a2b665c9c26b297109b818a5835820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021980800219936b031801139e5299f27e4e0bc03cf12584d14f0f98fa45b7465731c727e86accef43036ee20325defe2a24f54f2b4dbb0bde857789d6823ce1c89dd63a0997671498fe037dc0a84047fdff1c4ba15fb1fa7c60a1a6d19261ce84abe7e760120f5ce4bd9b036960284f24ee15724cf8f663a2e94d3b0866c98974b629d9e47e96bef9b338720315aae927b8b944f7ecbacdc2cbd00f9bc2201408fa6574e3d433b87cfdad9e4c039ee77d477f76a004d4da0f4d2113749c82ae8c3b95d870f7adb4afe968e4a2d10326a7844f004cbb686f1591080eff1a65be371bc491922fd4b9e17364e889303e03057b26e0d2f7cb5657aa6d747f59d89fa6b8f9841e57efea85d15b916ea718d6033ceff4735e9413a612d1dc57f83731842d7fca8a2f4d488f74794b800e2799d903d0f6415c5ad01f8065a254ab181e88a9f42de45ffb6882e46d2207ce490aecee03e6cc8e736d7f962ff96c7a81cd1f3ee699f95555fb404ac4ad386674f36b777503587fb8787378a54a6b69202737a281cbd20ac53a466730e79dc5c2d0cd8f31f50219ffff0219ffff05581e032aa2ed99e066a4928178cd8eba3f6834fa88c529533926fca3b46e17f007011917ac05581e03fd8a8be8bfd7bf39df50597efea8eb99a1061a496f6cf35ea1cf0f1a300c03470749019628680005581e0394e08e5469371f19b1a1547b4fbc789ec990ba8e2923d646b849b3ee500c02471c02660494ece702196fa303dd732daca5bc6d53c13b1cb463bfc954afd0f844d3078b6a3a03d2e114ccbb240219ffff03ee718062d3bfca1705f9b515313c3fa3f66c1afea5e06234c01d5c4789fe02bb03b233241c198e42baed333cd2a1320d174c0182e8b998c8bf80c6f22cea52dcb8033e3685e7d782994df8dcd092a6724c861b097c195d60aa1298a7870664c031a80387c1cacef37f85a19f9e1bce164da3fc1ebe5632507266d04d8fdfd283b086c7031e65a12322adc0035b8bc4d787edee1d3f1f5218559c3941a0be36cd0ac35c8503fb6c275ee92ce962af2666009054a59938969ef8bc9be32e3f7e6852c691156803f2342c5361ba4a549217926a481cce0d626074c49c502fde29ad298f104725ea0219ffff0386f66eea205f697a3ccdcac517b08f145108439e22c883c688982b32fbb7ed870366fbb4807622f41cea7043738ac53b0a0509144a0b2715e0d8475eeb1558a56c03203bb0c43937a3c19b9007e943d1d73a626bdf2ae3ff0654e787c8a14e4c49a103ac271121a70df6301684ae299cbf5e0b0fcc4f7e945d8d5771acea4b1968ddce035f7e7ee84b46c562e0673b0bc27a47a8cc6c6c0c1cb64a15498b06ceedb66f2d03fae4de5e04e84792db1dd9d4e186528d0e8bcd594f713280510186496508acb703768eca03a30021fb1fc999bb467b2cab05dd587aafdf46a16a60c3e34ee4197503a26d7588a7bfffad11f37a7ce488c1d7f07948a969e847683aa720aaeb556e5503de8b8a6a57d25c576f1e714bc165c5eb586ad5264b342ec6a7c64676ea8ea2a5037326d2d66ad03d1ca9654319c3fb32305da3f7a62f74fd67a9d418108092689503d432699d965fde7939805d626733b5bcfb053a736488744114e7fde43cb5187a030a57e27e03d4358e850df148fd65795939cffc88738e777bb8ae8ca74c93b1ec0219ffff03f2ab63836acfedcafa5e5037805103fcf57637eb610d75f17c6b721bbf9faa5603247d07cb237e38904daa1cc81dd84f40f7e3bc4840e7f3f1d7a79fa35ea43db603f3a1cb92b5f384e3f73086b0edccad7e5f65a663739028663b38cac90d0d569f03ad60549b79a2a4c55c0c157fb9bd377d463bca618793aa7319f289c8ce3fff32039a5db07e94a1c942a3b5fb1549f168f562db114bbd58c9775fe4da9a30cbfc4f031be74e65f35381d16fe4997d17801b64b752c62e17c90b4ec7c2f46360767c0a037b1c12d35d22f7e1d6d993a1bb857e95db9ffc2e6cd22f1f2e5e3ad0f81e268a03ae687a702af90178ae98e7f9deb79e7bbf0a6c65454b214f3fcccff20e29fabf03e3f05e79c20ad15f9b60cb161110c2a6ac55f5927d8f5c4fb201e05abc68fd7c039bcd2f48726f898ee3a7bec4cbafb7568fc550e97b04819c0d58abbd2a45b5d303d17e8c95b934c1a7411dc94f3d6e67a0196fe05dff129af1b85c5c7a162a6faf03e3b5a09f211306b0c37fa18dc46a8a997f13fb04a9105beeb630d1e812f2e7ac030d6ab1306e323cdc10eb7ee19cf32a170446d44f4a6b67fa5fb8ed5d80a7056a032c53e4633f67dd8f1cd3b97857e2fa1888a08113bd4ab0ddd9f3f0667b75f31d03b8e34721b046e74319102b8ff646b328588d1b84e72cfbf186041c88386412f203e0414af533edb23b377e58da622436a7e1bc72da8005d38e7403e9c796fc8d7d0354fdd1dcf7c140089c99e10173a00bde1620974e76caa85b89c61386854d2e1e03a4fe5ae7bb248ad34f6d6c3cc546f3945bcabb9ea6832e5b2c126fb2948d37b003bf2db1b6c6d7c794bfd746b35a3d94409f7cc8c399e7120a0dca685a43861e0c033ef1123618d733594d9bde1b472f2695835b273426ef0e82d2901eced8db7402036499aa00f5cc368850094bfc120b9b888f16d1b2882fd29bae671a5c415cb83c03d27584f834991d48dd9d39eaf146fd21299f67af62a7f0f8c56f316b58c812f503c22ffb33a73ace056ec28dccf8f19920c8075a47151913e13bb76de334454350038a40fb3acff1bf64a8ec7aa75d9849c3ecea7a6a315f5266bd19496af339ad5f03c892127d3f6cceb7c41af2f17aa67450342f091879adb9acf3a7b5a8c1035ddd03cc4580320cdcb139bac7e937f94b88bd3bb6789b4eced0b68d34e3227f2885f803d75011ff315b670f0aa99eee3f548ddaff22036ae0ff9d9a72367ff2e86d065603fffa2540a1573b228956fa86248745aed31ae6e2c983714f32fd9dd7fc58c36a05581e0329328c87be9836183768908f30171daf16714c1f39a360b617bd23df400c0a4629546746ae0805581e03934cc196d443b1d2c5588f9fe55fa70f673923ac0eef128d9203835d500c0147c7a8357a0fa80005581e038bc60869ca403f3d41ddf8575cfa5be7785783dfb7dccc395b1ad999b00c01470d35cd2acec40005581e03d4abd7a5e810b20841e6aaf7fdba78949602e371cc5ff9aac8f74876200c054702c0246afc0c000458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff015500038622caa5910acfd4754eda2c0c79d415e2c1b2fc7468b608c968a2c1ece9825703fef664fa70b383f2920455886f367b745ce09688234f56d2ad82330eba482bd3030497daa9571077902ee555d1a765f18f82382259f9dc80d5fa198a40157adf4d035ba6ef040c5fc0911c9b31f684940c806f407c603fb5dadfee08fa56ec1d2f4e0378c37dc99574e2c4298984a19751931f4807bcfb2955ba79eee9a4b515411b3503f01c35513f34ff663f384d1c05084e34d33e71c32b03b4e47513bb5010a8d7a503c86953f99ad3b0c835ff7f918e12e37ef51f57f1c076df2f8853aca47773bed9033e0c80df12b6cf6b9e167cbe92fc394fdf5969ef7805d77f09d0f1e9d26687630392c2f8d137c0040d671d1a5dbf9ae22923452e853b7a5b577d7b92abf9cc0bf803fd18bce33dc9c1cf038529388e7cb00213293ef76c5a46c0fbf01672d3eedc2d0399bdaf06866deda3225792cb389e72637c8dd015f8a159d5f380efca5108af0603618d27ea53ec4113b184ba06ac5bfdf76cb6b056fcba3cea23041b590961a39e03e653f512ba7713765e570f049f30fa898b711c7555b8a1c761eeed46ba7402e003e6f6877ec18706875d26314da79601bf4ea23aff879a6cf459df3098205cd5ed030154736b68757e68a97ed1b349a132f0f24e17fa38656ba7b6f914edcdd407db03b278a05047563a4b478001efdf9aef5dcb0d5410f95cb69cf298cda9f99d3f9703727d99b807df9c10c68176643183923aa7e662d4951cd36497751583bbebda23031834e70a699a4bcbe09089a6b0dd642e5e53fe1085da00cf63b0bf97af3dbac803adb0b6bdd473b13bcb26698816c0b344631e3f3346095dc539d843afc1139b250308f412ba521f0bf9d21d9a409d88dbe60ab0e57de70bbee53e22f8b5b286e951036724da3c8b3506129cbd6d9a0761bc93ad435c9515e0647f09e15cd9429c97530311af5b3ccf1a0aab037182e05129546ff34190aa320023e22510bc4c46c1612f038bcbdc0d9129315935fa4202cc90de7547b59e2cb82751b42348fce0b46042f103bc7f9b6124fcf5dc80839a8a6fde26f861dd91d02b4e194e8749d11a6a00563903c59d5f034fb1ef36897bb5abe550df28f826fe7c4e8b2f1a37b8898038c348ea039581a2fbd540226ecbfac1a47e626ab4a1b6148252b961a0a1242071dd4f631503ae9c74a12c8c6b92cdb722c6db8983707b90eb838ba57bc3c85e9405d271213c034d8ad4bbec3e44aea4de1e19ed2f9c54b256735a93096e5e477caf370fff024f03c5687a1f7749c9234713aaaeca91514bcc04c7d2fb22ebd19999cb0a1183cd8a034176e3a0812d78ba9a9fb48795143c495605f777b738cc3814bf48a11c405ff60366cc08bbb0eef02c101ac90c3707d008ac1e688eedd2cdd64bbe0db334b0928a03df5972279d8d790e737bfdf56586e4485abc8ee53ad01a4ebee5df9fb7654c06031554ce523294fa08092a8cae5c9725890d9ab1214bb888a901f01319eaead80a036c7d516a23eb86a92c290ae4528769ba14eaa6e77b1d1508a70e96fcbe67caaf03cf95fac06fc9feb7264e85e38892fee79f7e983547a3b56b4ced3c1880372f0303b4ce77731d688d028d2dee63bbc456ab5263ce5ae9be1cc841d98645ee1360b903bb99ec73ca8f62c3472bb17be9222433459428435d00e2d5805e4d4bfcb6874e00581f02a23b82afb64cd81bce1c44d0a937f8015a4a75926c5d1e16d55974e32f8a5820f7957e15a882d639b1786bd4ad4651cf4cf8eb836b3c7268d81c73a1cb7bed6000581f02ed69e9b0672ab0971eca3a234698823f0030d8991dd8e1fa966c5965ad32446686c18f00581f02ccbef5da7b6d9ec4e9c7c1cd7dd2c27ae18342f53c4aec3d95d83f1c9b105820c1a21477e30179f39956b2d84bef22537af3174bdfa21ebe3bf22c8c7895f64500581f02675cad2695132f0c70ac41ca1d331a489a00e6208cd3ffcd5f4b479b05ca58202ed65bf1113754ade2b286b90e3615ed123601f30753853d2b8f5c1d51a5e363035cfa4e8ac889e64d1c7bec9f2ce5252252a14c5c8523e96f09c655426ed9407300581f021fd3b34c9741a467ae8956c0e4bcdfef7d5afdee18afa3069d407a9431715820c7916b36c67177dbea0f7a33531e3fb82380951cfa942ddb42e2100895735a1d00581f029f3e9d97a85134c203584d2f869dd8228dc8adbd35a842ccdef0c520c728446686ff4b02191f880305ed855f4b5cc2336a0e44e46ab2f307b04df50dae7e512baa74c77336af1c7f0219ffff03aea5bab3f701a01022887eeda414239b22c39bdbd0fa502aee017b32f4e7473b0219ffff039c729b9723e75d37d58b2f019e8c9477229985e57de8f2e7b86b3a7841f2166c03dd441295e62372896599b7e6bd868a90a02309604366bf8be4c5a717e90ad6140389c487584a103c16191bd47105372e5cf8795c8c198218fc61ad9681f0208c220373d367e26d3b6b85d28cc5ae9412af2dce07f7d85cd9a2ec8d09224907cb57d5039abd60dbd90b4cecee5000139d315376a4f6be9ea23094802b1316204c2903e103e6ccb036e7b54b55ebab07fc5794cee487058e2cbbd001b1a37d77525a68320003a2cc1fa856329eda12e3db9497fa398b3a4b465fef4af86377a315614d11d66303e78b525b6ee70699dc350b8423d97307d51f996882f83c3beb0bb0994a3cdf78036d3be279a73fa8d0a9fb5e8adda636bbe4c58271fe572e89eeefcca17a6d2dc003304f3a38d04e5a3dc14e76ed3a9ecac84e3132ade56f76e9ce017cd3b31fc65c038575072a94aaad6c84daf7a55000115755ebad86e4d2b1daaf2759845a18f7c103640d74cd0b414eff96d679413bceedbb576fc7025558cc2cda37f08bd14e2064030e2f15391f6fbccb2f4731cb5bb44478344539e3186f8e76d640bff300a25316034d768424d5e07bc3da69380a7f14b87d1beee2e5c536fd9577105e2672e0b9d80328f2872648b81663a124170720ae218bc4411b5508f35fa120fa8fa61e487b8d033522e2d2cbfbf5ea2ea4bd75a8659a3fff5e2dfe710fbea7ab18135a5d0aed3003c9e13807bbb11551849e636cedbbffa02222654593745748f3b008b6b595917c036756cb38e6c99d521411af655af263cb1666255b24c1af4e016fbdaddbd62c7403c4970fa7a9bd559a71f54c9ec8d5db2b297e86b947a42787dce5f5ebc244e57c0384494a0b87ddb5cc4bf8c60183c5d12061b68dfd0505beccf4833e4d2ee50209034e46b62f581e81a0f29069fec031ca05c3f89134297dcf133e7b508148f56f6903607d442858d448ba2cfc8cd6fe6171977985525046bbb5c3d0af40ee309f3c9e032d629926718a3758f5e1079bd98a303fd3d6b1acc720487b642ec5f4783c1b160304f80b945b705a26ba4faa7544b8f7f598516757f027bbae5f78356f2ae4fdff03f773e5e26dd16a9d3aa2c1f307b97cf7aa22b70564de5c99cb05ab5ec707271300581f027812343bb75f03032b2ff53f07e080f90721da717348c6fc0425fcccc3264466865aff0399a0f8a3a430a4c2a1b547b83ba9676f739e3bb90edb76d92eb9275052504dfb00581f021ad45ec8504cc31b470490eebc0390b72c6fe329b047b8c5d2eaf5faf707446686d2db00581f02e25c1bcd96730f76bc40a264bc737a73e72b8661fc5f0de7d31a1969c4a85820b7ed871a831d1511bc75f36da7992ae825de7dd6d6248eedf2918be906e44a930329fe82a806cffe82ce92511f5dcad72fb808c466904d486f0a90122814e3f3b102192132039034d6fa184a929ec0fc52f0cb07e945d7860c449ea1b25a45e2ea2a85423d8f033c0bd12754441af177507dc6a4fc5e4e376f89f7307473615a782e594d2513ab039809510c6bd3a74e01bc5055d3c7b9056ddfade77bd664aff28f2163c1e098830219ffff0382d8836a861f5a745fe6f8a94bb7b4baef65f1a65ccca565dfd3f9efb369dcf9030857caefed415735674ab825a3d7b2e50c46133ba29278bfcd0c1a159e9b284903929acb727dfa37b1f2a0e86d71d01bebd7b866c43bc1bd888f45f5155971a0c003a724134198859e6dcdde69b7571f36656ea2fb7fafa0d082ee0a1441f6ccfbc703cdbfa2bae08c8623216bfa729078a320d2bba0ea43b9fab33a83fae925354db0037918946e564ced8db273c0c72883a15bb3e7aaae252f6916e60a1c5d8f463892038e42c8a5e3ae467444dc155e5e0638bea6227f6a17ac75698490bb43c7fa64430219ffff0219ffff05581e03a92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e4200701186103efc4a95eba2b0e8ca1e7050522d539fcaee456a9baaed13b74846ce6e9f5284f05581e0387d430445038d44dfe5f67a6a29f0e61137f74004f19eb39df5f6507100c134622a41c68726003c067f3bcae4816c225d64bda2118b6dfea311f19bc83bdfa92aa0257a3f4136f0219d595035d3b51473708235f94b7786ec3d9e1141cffde44d1b3c2f8f50735bc89406bdc0219ffff03744c3d9f9e8af8238491a4131db3804b75706fc2b3530e93d913312d0ecc894303f8f0c5cb87f9bea1092767088ae646383533fc930db7825aea09f8d3f18c823003920893268482e5579da62ba604832c125e3ac39f09282a57d32f2affd273a10b03388948d1260f5437d59805bffea1efe73766e691e01f13c46b00df15a1a933d0039b3d0418bb491f93dc231e47e24ba72bcd11c6ad8b853224c4a5db0bda3c5f0403f8065453bea1038502c0a1e1c67b3264929ab78a1fa22d0d32877025826201310378ab7f9cead2e9f293197d57afdeba9196d2d6c29492ebd1c9a7f005194ca3d103ee2d1f85156c57cfa96116da7601e2f9382ebe1a0becefbbae500f08248ab5c903b83ac232608aef988d9f40d63e0d2cca291a8ce2c0209dab2e6ac20598aea3e903d2d61a1c5970b521406572e1ad5f09bb61f6cb2d211892e89d7b7c798cb9e3c70219ffff034472e940a7007250aa8fce1ccf84c5648d01735591dfe3dc05e7931cf534af8503e2b969324ebab8ca7a5d1a694012978389a41c9893f4f3a18f4842b9723c675703a5865e89a989406e7ec35d237d8e603a82d03cdfd4eee2d5a8a292569170d8ec034e93d86a8fc0e0e7144623dda081cf2edd10de4cae86832c5ddbaa40b64805ed03f0fb31254c19a3884edc71146a4046005cdfe984a390fc2cc43498f8e006cbfb03dda896f3dfeead9874a4456ae4263b276d5e1528cdd8f1e60c64be09174689660317edf68c71f4b62e49bebff3e4d250ea2c1b95ba6936ecdea37a8e55fa099e48030c4487822b4daf91e12c2e494f14a5c3157fdfd44cc3e2dd287020a077b974c2038d7e8b55b9585d199b5ce9d18a5d70c7f16ffe8b16d53ddbb6590a3aeace19000219ffff030b418a313445db6e20b67599bb6fc69014c1d3412f2c08b1e4f0fb899406ea510376f5481a701c7d5db829815b126ba681fdd701b21a065bc4389e7a07f90076750219ffff03ed57c13dd4a22c0dcc474f52b8f074f8a48e9a2db7ea271c80069ef37ec085ac03a36341e6bcd168db1bccf783277aff9fe886498479012cfd00f41c89030105ba039ee680da160bd338db4a43decdbcfc3be2e65d64947626b13e84c97c3d89e968035978329ee97361bb301a54455bd0096e1712284d76f687be96e29a0f579690e90376ee6b3f542de4b8864b0fc4b0e19702b9d4d11eab871eade66d0b65baef98cf0339c0f04f257d7b788d4450395afcbba90a2efb806a7ca698297f07364890606e03c357df2dcd5b274be134d9c4265e750a27f41cd32575c68b92247d2e235675c403f65c42d2d8a10125011f2e9810c6acee8b8e531ebd69ac06a20b42c0dd81973e03d2e4a7abc47a735d1aa67ccfa5dae14e226d66f1d23bd9562ddd6040de62f282037b9e1a26bc92d4ed098cff6edfa86cbeb60dca7bc3aed99515f61383a1ef402603b365d92afc508aeae776c504be19947257654635a8bc52131fe4848744a8dfa003edab2fc29fb98256113b6683e1d1cff10a1808d356b248374839f307e7d0518903f501e5b3621ca8b0c53b7a4bb8dc032735b91ebdc4c92983513b5b1df885429f0359e8bc2831fa4da970fa71a2eaf4bccbe42d08db3a2b41fc05f7d99114cc49ff0370c8e97cebc1f7c79fdbb736de189a93b26297508350c5deb36193c8034cfbae03d4ed930cbaac9387e1fb5caa345d218547265236bd006dbd0ad2b3f06ffc5c0d032f01d208339686a41fd4f5b54d63d22e965702bf95e37e7e6386dd0c32c5dbca03181198a30af5bd0667e2899f25e4840b2f033623de7de8838a8d36b5933cca590377dec271f872047685d53eba7bb89ea8b47710e749b925ac7ded615482649b3f03011b367c1e2af5d595a4d4f9e042a7db02f008c70eda84d6cf92feffdece4a8903d122488e20043dd4af9c12e2f367de530788e18074e372aad06ebc7b7fc66e57031e169281325a208b2a689cfdeb4e2d6b504ae3f7af004d892d2c180344094453031c28fb1bd9ad4daebbee6e70bfdc5c861392b866aa5db517367f269c75377bc303cc98fee1328877ad5253e2db7cfe6b13bf320a6539f722e276a6d73505bccab3039a31c666add12af634cdd38a682556e33a584153a03c797a4d9e64158fa625300388891eadb9b8906262bd480cde510786d305214ba99707939a613a5df00e4ece03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03325308b6ed83f235a0fce203750c963d7387bfeae7cc9e43924b1abfa007011bffffffffffffffff05581e03853b737f0ae8b11a1eabd3275244a5feb8dd28a98ab61fe35d95a2c3a00c04470894561d312482039a431db9bb1a7f75e8f1cc676c43e5da02cc4292b8a8eb943826a7836f21bfa203f19dd8247d365cffd39274c3ba467e7a838f6ee6a5e3836bb9434c8ee948fecb05581e0321c71d9de16dfa372c9ac95b03e3570222ee736b701f2b0fde47f0d790040305581e035e12a907d463f871ef7d9cfa08ddbbf1b35484f24232f32a961cbcc3800c03472a3d887e76e11103d399e3516f7e214dd535695c8c136295384bbbe7716aa4da3e421071a0e39ca303c6b8f78dea7395b0168f9959af8823f09d2d15abace165445fa6216537435936035fc2c68d6bcd0b484edea8b9fefb94120d99131027f73ea9360e73176e7ae9db0358919529db4cdd3b97803594ca67dca351c8df443b8b1069fa15d66e8890cf8c0219de47039bcfdf5ba2cdd793605b35f21dc30d55aa814507b49639802c12fadfe23539e803adce3837e5a5ce4d89f404dd68de5c4fbfce085f84a63f14274cf15b28081a7d032bb8dd488a8ce799e073d511b7d94c63538c6335535bc6e41c61a0af732d7f9003146150543b3106fd96269a456df78f29e45ed68ee717b4f465b17570f926326203cc25af18dbf82ba55f52fe5d158848b66b8a6e7a00cd481060113bc6699ec4cc03ef8e74a6e3909810c2bf0c60585b2e8dc9b3062aeb872268249c778ca135f4740377c76f50f207c0e65fe23d1af3af4017735fc8c508cdb572af7821661224934303a048934c1907be1982f845a3477fa34437c368402938addb0dc84097dadcaf87030e24445d8eb21f4d4e23948291fc6d0e48b7b8f8c437150e37dc54a49590c27a0331567b9841633fbdff6cc5d1cea28dfb04e48ccc8c2507159bc79a2d7027981603e5db104e225d7016b8a6d2c224194c4c6364ad09317ad9b8ebd89ef564fa2d4b0219ffff0306ea22fadbb32e00d43e092de28419bf48e5b50b47b92277b99b6a14504148e403dfd76b3d55d2ccb2142d7e0dde9ac514bb4a1745aee72382c20575633918c7f70219ffff03c67b8e1c72b1e8738a195e11bea8bf4d8f3000c605c1d94cb3a72bcd131bc223032c11532b8516a0c02d9c853bd3c3be83efc289274ab54ce40b36fa3c4b89ac03031aadd0deff29d5d770a131db914ec254190317cc33367fa758e51a02fed99e540398d30a040eb92dd9adf04fdb3e6afa1ac02b6de48431bb474b5df2485489130c037e89db82ce68e5c204f03398b3e64f4a5a9c1f99d87ea45afbd039be38282e7003aac9670021cb3bff0826617f4d730be872dbef9ca89c69939f24d33d429a7b78031ae0b7246063ea54f6e4a02aad32b2547818bf7ada5ead923d4a3f76fd619f8d038b5658889d9fd7b6be364beb54b76f5b5b3345c78e7c520f563ae3976b2879180219ffff039a62f8492c36901facce5591e05be637444da6f37c3e74501dd4b535a60472fe0370df5fa6631befca87c66343117303961d9c35ae64d46118c32e3d65641142f10353eba9366dea6fade8039762f5ea98880c66b033f3332755689a04ea5ccce8c303ab0a6df401a597f836857ef8f43843f0d2865b524edb440c5c286563068ad60b03a42ec43a957dbc6f786c04e464f25b6b5def46ba7600f62c44149d9dfded0a9f03ecca03b20c4ce819edbe9885c15e758db86f822ca71804a17723ba0aa8f0209503417043500fc60ea3bf5712fe1fa8258357eecbd36e0b458cc8a72a66b583eea3032bfadced702115b0a33d64b3aedddd2725a847c3a61c24ecb666f8ab3eb76ce003d059f9312882cddfbc96d9b83f1300fd7d4e2086b4d6bfa3aeb2c2d8cb6960fa03397c9c15b3eb9d5e59eb45947a542dd55888087ca6d7cb118cb205191940a9ad03e49893b6e8bc5a3e8df3edc7de779e299aab97d6a62a73e922a7f216403d4b0f03420bcd6fe9bc4fccb8a1ee8a3b0778a22b4758abc28f5413fff0fd40791276ed03948ab71d27c338bc7c07dd94831239948316996df1a1364122b1f2c6080b76940302f4792092e4ba375e83b94ffa6527c2f9c30aeb8e527dcff168441bda1a43db0378627d2421114ba5418c6085126db7046369c39736cb154507f6b6b348b3c9d8032589ab341965e7771d5bef3232153dbb9fa0a5f5f74d60673d7292d99d1cfc1903ff94fd147a179be653f793eacc49c361507496db7f3f2b349a9315efa1ad178303df1ca11808a59229a5876265cac467b6964c6bed3496e92a967226382d3ed68e038d743b9cb02d43700d5c00ffe9e06d28a53f16ba179afe30d2b153ea12ede30203adc726e579d44cff666894b53743088ce13fcfe67d261b31d56d9b8ba15c9fe2039d85e337d5139aefc36ebcc0c116ae163d7c0fbc2827b3c907fc55662a03533003a49aca2e2be5faddd48606d06613fc24dd097148078949999fb6e9a44ce24f730303ed88db9933b03a84deaff5b9e859b62d00286cba8ab77e4a072a94902a51140383696c1c79d391559f4bddefa20e25428b413ad6a32075a1056eab3b82f44c1803336e9a0e251092aec61045c45a3f071c955c22062df5db53f8fac00c7435f744034b0fe58317ca96fcd61a4eebf2129b383ab7aea00986543895b32ff02bd72bc90362c368f408cfde17009256071984c33c0907490a4efc91382adf23694d15e5030336750a9ba03c8ce33c42137a0fafecd6fa8ec5382b263729cf97be4f2a91e38203f404df152c9f89d2679a828ce6fe1dcb30ca51727b3ec889a813c3c6210070180389a133e21a4abee15d05ad3adb33bd83cbd9c7cdfd3e97556313627e53e10c8f03d7420e623929b119274c0717dc77a6f4770e083298ee939c478e7ab8a2d72d1a03a894ebc11fa42ba7d9188a04afea545ef37b18d3578908aa43fc88c17ed20b3903e639167da9dbfd1b877639551613ae12e05165a0669aa33506f998aec370166903c444e479c93b863a47ef70823cd0edb863a84bf876ca9dcedce5164b22a8ff1f036f5fe092bc8642fc46574b8dffc715242b61916aff78cb887b430bcaeb201d7303048143533c5668e6ececba57096bc2be468b84784c3188e0eb0ab6f3f1a61dd705581e035df02f59598492402d17f5cc3b83a7f67041a6ba33b3545ed617e8d820040305581e03abf1202ef82c2c67c26d880cf0068a56d20b80a27959d61e11d8f9ef500c0247441ca455406f28032393da0d1a9a8a1af77094c7d0d9d461fb7b4b7a10a096a147585cc41d52518703a8b4d21fdc7c7a4791c5bfc259bf18050e95b5bc4f1f8d9fda08fe12c3b4ffa10338d621ae6f84e389fc37fe9d9d0e02107b3a733848e93aa1c1a7eb9290c4741803647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0303f31cf18346d7a85547f285c565346d440c2d9f0fcf99f3d91fafb2267fa03505581e03be0cb5159b682efc1d7cfae6517231f9a39ea7e4102d2fa6b891cb757007011bffffffffffffffff033ea4462eb25722fd6e1d72ba148bb730bf79af4dabbedf1ad85503f08fdc589b05581d020fa1b5f5d25f6d0bd61ab1907d454fa78b20f13aebd1eebd2e7ba4e1040604595dde6080604052600436106102bb5760003560e01c80639327145d1161016e578063ca777fbf116100cb578063e04542ce1161007f578063f6ef28b411610064578063f6ef28b4146107ac578063f733f65e146107c1578063fa82f309146107e157600080fd5b8063e04542ce14610776578063e1a452181461079657600080fd5b8063d547741f116100b0578063d547741f14610702578063da61505214610722578063de5eff0a1461075657600080fd5b8063ca777fbf146106cf578063d38d9626146106ef57600080fd5b8063a6a5ae5211610122578063b41100b311610107578063b41100b314610689578063c358547e1461069c578063c4d66de8146106af57600080fd5b8063a6a5ae521461065f578063a75847031461067257600080fd5b80639dd1aeac116101535780639dd1aeac146105f6578063a217fddf14610633578063a3a9eee61461064857600080fd5b80639327145d146105aa5780639aa69b84146105bd57600080fd5b806350e955911161021c5780635c975abb116101d057806385587a4f116101b557806385587a4f1461051757806385d8e9781461054457806391d148541461056457600080fd5b80635c975abb146104ea5780638456cb591461050257600080fd5b806354fd4d501161020157806354fd4d50146104315780635b2f30e9146104805780635b5a646e146104d757600080fd5b806350e95591146103f157806351f228b41461041157600080fd5b80632f4f63c41161027357806336568abe1161025857806336568abe146103a95780633f4ba83a146103c957806340968794146103de57600080fd5b80632f4f63c41461037d5780633408e4701461039657600080fd5b80630ebcd2f6116102a45780630ebcd2f614610318578063248a9ca31461032d5780632f2ff15d1461035d57600080fd5b806301ffc9a7146102c057806303deb7ea146102f5575b600080fd5b3480156102cc57600080fd5b506102e06102db3660046141d0565b6107f6565b60405190151581526020015b60405180910390f35b34801561030157600080fd5b5061030a601481565b6040519081526020016102ec565b61032b610326366004614545565b61088f565b005b34801561033957600080fd5b5061030a6103483660046145e9565b60009081526065602052604090206001015490565b34801561036957600080fd5b5061032b610378366004614602565b6108f8565b34801561038957600080fd5b5061030a6402540be40081565b3480156103a257600080fd5b504661030a565b3480156103b557600080fd5b5061032b6103c4366004614602565b610922565b3480156103d557600080fd5b5061032b6109b3565b61032b6103ec366004614656565b610a25565b3480156103fd57600080fd5b5061030a61040c366004614740565b610dfc565b34801561041d57600080fd5b5061032b61042c366004614775565b610e15565b34801561043d57600080fd5b5060408051808201909152600581527f312e332e3000000000000000000000000000000000000000000000000000000060208201525b6040516102ec919061480a565b34801561048c57600080fd5b506104c861049b3660046145e9565b60fe602052600090815260409020805460019091015460ff82169161010090046001600160a01b03169083565b6040516102ec9392919061484c565b61032b6104e536600461487d565b61100d565b3480156104f657600080fd5b5060975460ff166102e0565b34801561050e57600080fd5b5061032b611251565b34801561052357600080fd5b5061030a6105323660046145e9565b60ff6020526000908152604090205481565b34801561055057600080fd5b5061047361055f3660046145e9565b6112c1565b34801561057057600080fd5b506102e061057f366004614602565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61032b6105b8366004614929565b61135b565b3480156105c957600080fd5b50610102546105de906001600160a01b031681565b6040516001600160a01b0390911681526020016102ec565b34801561060257600080fd5b506106266106113660046145e9565b60c96020526000908152604090205460ff1681565b6040516102ec9190614995565b34801561063f57600080fd5b5061030a600081565b34801561065457600080fd5b5061030a6101005481565b61032b61066d366004614929565b611717565b34801561067e57600080fd5b5061030a6101015481565b61032b6106973660046149a3565b611856565b61032b6106aa3660046149db565b611960565b3480156106bb57600080fd5b5061032b6106ca366004614a6b565b6119c7565b3480156106db57600080fd5b5060ca546105de906001600160a01b031681565b61032b6106fd366004614a88565b611b2b565b34801561070e57600080fd5b5061032b61071d366004614602565b611df9565b34801561072e57600080fd5b5061030a7f2b36fa99e118fa8485d488becf749a974743fbeb6a7aa57e663893bf5d69a3c181565b34801561076257600080fd5b5061032b610771366004614a6b565b611e1e565b34801561078257600080fd5b5061032b610791366004614ad1565b611ef9565b3480156107a257600080fd5b5061030a61271081565b3480156107b857600080fd5b5061030a602081565b3480156107cd57600080fd5b5061032b6107dc366004614b30565b612035565b3480156107ed57600080fd5b5061030a60ff81565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061088957507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b610897612137565b61089f612190565b6108e584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508b92508a915089905086866121e3565b6108ef600160cb55565b50505050505050565b60008281526065602052604090206001015461091381612588565b61091d8383612595565b505050565b6001600160a01b03811633146109a55760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6109af8282612637565b5050565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff16610a1b576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a236126ba565b565b610a2d612137565b610a35612190565b8451600003610a70576040517f31a27cf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101015485511115610aae576040517f31a27cf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ad034848488518567ffffffffffffffff16610acb9190614b81565b61270c565b600080600060606000895167ffffffffffffffff811115610af357610af3614212565b604051908082528060200260200182016040528015610b1c578160200160208202803683370190505b50905060005b8a51811015610d235760008b8281518110610b3f57610b3f614b98565b602002602001015190506000610b5482610dfc565b905080848481518110610b6957610b69614b98565b602002602001018181525050610b80816002612902565b5082600003610c5b5781604001519750610b9f82606001516000612a2e565b604080840151600090815260fd602052208054919850610c4791610bc290614bc7565b80601f0160208091040260200160405190810160405280929190818152602001828054610bee90614bc7565b8015610c3b5780601f10610c1057610100808354040283529160200191610c3b565b820191906000526020600020905b815481529060010190602001808311610c1e57829003601f168201915b50505050506000612a2e565b9550610c548c888c612a94565b9450610cdf565b87826040015114610c98576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b86610ca883606001516000612a2e565b14610cdf576040517fa0f3feea00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84610cee46888f8b868f612b25565b604051602001610cff929190614c1a565b6040516020818303038152906040529450505080610d1c90614c49565b9050610b22565b506000610d53868b604051602001610d3d91815260200190565b6040516020818303038152906040528b86612b61565b905060005b8b51811015610de4577f37a01d7dc38e924008cf4f2fa3d2ec1f45e7ae3c8292eb3e7d9314b7ad10e2fc838281518110610d9457610d94614b98565b60200260200101518c604051602001610daf91815260200190565b60408051601f1981840301815290829052610dcc92918690614c81565b60405180910390a1610ddd81614c49565b9050610d58565b50505050505050610df5600160cb55565b5050505050565b6000610e0782612e1c565b805190602001209050919050565b610e1d612137565b610e25612190565b468260a0015114610e62576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e6d83610dfc565b9050336001600160a01b0316610e87846101400151613021565b6001600160a01b031614610ec7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260ff60205260409020548211610f0e576040517f4668624100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818360e0015111610f4b576040517f4668624100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260fe602052604081205460ff166003811115610f6e57610f6e61481d565b14610fa5576040517fea6eda5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260ff6020526040902082905560e08301517f08c645e3c369cf85ec8e864f27821c61ceba80fa78f2f66fb0d042a4b29e794b908290610fea908590614caa565b6040805192835260208301919091520160405180910390a1506109af600160cb55565b611015612137565b61101d612190565b8251600003611058576040517f31a27cf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101005483511115611096576040517f31a27cf000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8251600090815b818110156111275760006110cb8783815181106110bc576110bc614b98565b60200260200101516001612902565b9050816000036110dd57809350611116565b808414611116576040517f870faf3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5061112081614c49565b905061109d565b506000611134868661308c565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088901b1660208201529091506000906111899085906034015b6040516020818303038152906040528785612b61565b905060005b83811015611242577f37a01d7dc38e924008cf4f2fa3d2ec1f45e7ae3c8292eb3e7d9314b7ad10e2fc8882815181106111c9576111c9614b98565b60200260200101518860405160200161120d919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529082905261122a92918690614c81565b60405180910390a161123b81614c49565b905061118e565b505050505061091d600160cb55565b3360009081527f8a5df9d3b7a9306a1075029813ef25f1a4531de6e935bc9f04ed5dd5e46af951602052604090205460ff166112b9576040517f6053780500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a23613110565b60fd60205260009081526040902080546112da90614bc7565b80601f016020809104026020016040519081016040528092919081815260200182805461130690614bc7565b80156113535780601f1061132857610100808354040283529160200191611353565b820191906000526020600020905b81548152906001019060200180831161133657829003601f168201915b505050505081565b611363612137565b61136b612190565b6113773484848461270c565b6002604080870151600090815260c9602052205460ff16600281111561139f5761139f61481d565b146113d6576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b468560a0015114611413576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080860151600090815260fd602052908120805461143190614bc7565b80601f016020809104026020016040519081016040528092919081815260200182805461145d90614bc7565b80156114aa5780601f1061147f576101008083540402835291602001916114aa565b820191906000526020600020905b81548152906001019060200180831161148d57829003601f168201915b5050505050905060208151146114ec576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114f787610dfc565b9050336001600160a01b0316611511886101400151613021565b6001600160a01b031614611551576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000876101800151511180156115765750856115738861018001516000612a2e565b14155b156115b4578661018001516040517f6bed194900000000000000000000000000000000000000000000000000000000815260040161099c919061480a565b600081815260fe6020526040812090815460ff1660038111156115d9576115d961481d565b14611610576040517fea6eda5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff19166003178155606088015160009061162d9082612a2e565b9050600061163c898389612a94565b6116544661164b886000612a2e565b8c86898c61314d565b604051602001611665929190614c1a565b604051602081830303815290604052905060006116a98b604001518b60405160200161169391815260200190565b6040516020818303038152906040528b85612b61565b90507fc756fd0227d1d70cec0ead41b16a90a1cac618da1d612cb5d0b72d93301369de8b868c6040516020016116e191815260200190565b60408051601f19818403018152908290526116ff9392918690614df4565b60405180910390a1505050505050610df5600160cb55565b61171f612137565b611727612190565b6117333484848461270c565b600061173e86610dfc565b9050600061174d826002612902565b9050600061176088606001516000612a2e565b9050600061176f888388612a94565b61179a46600086815260fd6020526040902080546117919190610bc290614bc7565b8b86898b612b25565b6040516020016117ab929190614c1a565b604051602081830303815290604052905060006117eb848a6040516020016117d591815260200190565b6040516020818303038152906040528a85612b61565b90507f37a01d7dc38e924008cf4f2fa3d2ec1f45e7ae3c8292eb3e7d9314b7ad10e2fc858a60405160200161182291815260200190565b60408051601f198184030181529082905261183f92918590614c81565b60405180910390a15050505050610df5600160cb55565b61185e612137565b611866612190565b6000611873846001612902565b90506000611881858561317e565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606087901b1660208201529091506000906118d59084906034016040516020818303038152906040528685612b61565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088901b1660208201529091507f37a01d7dc38e924008cf4f2fa3d2ec1f45e7ae3c8292eb3e7d9314b7ad10e2fc90879060340160408051601f198184030181529082905261194b92918590614c81565b60405180910390a150505061091d600160cb55565b611968612137565b611970612190565b6119b583838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052508b93508a925089915086906121e3565b6119bf600160cb55565b505050505050565b600054610100900460ff16158080156119e75750600054600160ff909116105b80611a015750303b158015611a01575060005460ff166001145b611a735760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161099c565b6000805460ff191660011790558015611ab357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611abc826131c4565b611ac46132d9565b80156109af57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b611b33612137565b611b3b612190565b468360a0015114611b78576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001604080850151600090815260c9602052205460ff166002811115611ba057611ba061481d565b14611bd7576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611be284610dfc565b9050336001600160a01b0316611bfc856101400151613021565b6001600160a01b031614611c3c576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084610180015151118015611c715750826001600160a01b0316611c65856101800151613021565b6001600160a01b031614155b15611caf578361018001516040517f6bed194900000000000000000000000000000000000000000000000000000000815260040161099c919061480a565b600081815260fe6020526040812090815460ff166003811115611cd457611cd461481d565b14611d0b576040517fea6eda5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff191660031781556000611d22838661335e565b90506000611d6a876040015187604051602001611173919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089901b1660208201529091507fc756fd0227d1d70cec0ead41b16a90a1cac618da1d612cb5d0b72d93301369de908890869060340160408051601f1981840301815290829052611de39392918690614df4565b60405180910390a15050505061091d600160cb55565b600082815260656020526040902060010154611e1481612588565b61091d8383612637565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff16611e86576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61010280546001600160a01b038381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527f3a2e8bb48b6b66181a226c06b9c44dd5c701a925c5b3274df2fc67ec2a097f479101611b1f565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff16611f61576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816002811115611f7557611f7561481d565b03611fac576040517f4668624100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260fd60205260409020611fc48382614e77565b50600083815260c960205260409020805482919060ff19166001836002811115611ff057611ff061481d565b02179055507f1a6f092b051adc658eb15cab830c00ed3eff5b9683f8bf9cf94ada7f53ab20e083838360405161202893929190614f73565b60405180910390a1505050565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff1661209d576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101008054908390558281146120e75760408051828152602081018590527f1ee3af6f21510717555493063d6a19e9b4e6c89d1c17661252a7958a20dbe5cc910160405180910390a15b6101018054908390558281146121315760408051828152602081018590527f9930eaf5503acbebf3b062708c9de948e32ed72a48e59a1cd246b8624e0e89b7910160405180910390a15b50505050565b600260cb54036121895760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161099c565b600260cb55565b60975460ff1615610a235760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161099c565b468560a0015114612220576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061222b86610dfc565b9050838114612266576040517f29cfe74d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600081815260fe6020526040812090815460ff16600381111561228b5761228b61481d565b146122c2576040517fea6eda5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000876101600151511180156122f95750836001600160a01b03166122ed88610160015160006133a4565b6001600160a01b031614155b15612330576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260ff60205260408120541561236757600083815260ff602052604090205460e08901516123629190614caa565b61236d565b8760e001515b90508681146123a8576040517f75418be100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006123b78960c00151613021565b90506000808a6101a0015151116123db576123d68a6101000151613021565b6123e9565b610102546001600160a01b03165b90506001600160a01b03821661244157823414612432576040517f30fb764200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61243c818461341a565b612457565b61244b828c6134c1565b612457823383866135a3565b5050815460017fffffffffffffffffffffff0000000000000000000000000000000000000000009091166101006001600160a01b0388160217811783556040890151908301556101a0880151511561253957610102546101408901516001600160a01b039091169063ef35accb9085906124d090613021565b6124dd8c60c00151613021565b858d6101a001518a6040518763ffffffff1660e01b815260040161250696959493929190614f9b565b600060405180830381600087803b15801561252057600080fd5b505af1158015612534573d6000803e3d6000fd5b505050505b7fd281ee92bab1446041582480d2c0a9dc91f855386bb27ea295faac1e992f7fe48884338860405161256e9493929190614fe8565b60405180910390a1505050505050505050565b600160cb55565b612592813361372f565b50565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff166109af5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556125f33390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16156109af5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6126c26137a4565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60ca54604080517f5c83719800000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691635c8371989160048083019260209291908290030181865afa15801561276f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127939190615021565b61ffff169050600060ca60009054906101000a90046001600160a01b03166001600160a01b03166335087f0a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128129190615045565b90508086101561284e576040517f0a44071300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061271061285d8389614caa565b6128679085614b81565b612871919061505e565b905067ffffffffffffffff8085169086166402540be400886128938587615099565b61289d9190615099565b6128a7919061505e565b6128b19190615099565b6128bb9190615099565b6128ca6402540be4008961505e565b10156108ef576040517f0a44071300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260fe602052604081206001815460ff1660038111156129285761292861481d565b1461295f576040517fea6eda5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805461010090046001600160a01b031633146129a7576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8260028111156129b9576129b961481d565b6001820154600090815260c9602052604090205460ff1660028111156129e1576129e161481d565b14612a18576040517f10dfc03300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805460ff19166002178155600101549392505050565b6000612a3b826020615099565b83511015612a8b5760405162461bcd60e51b815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e64730000000000000000000000604482015260640161099c565b50016020015190565b606065ff000000ff00600883811b91821664ff000000ff9185901c91821617601090811b67ff000000ff0000009390931666ff000000ff00009290921691909117901c17602081811b6bffffffffffffffff000000001691901c63ffffffff161784848686604051602001612b0d9594939291906150ac565b60405160208183030381529060405290509392505050565b6060612b568787878787877f5951b44f8e9042fb0000000000000000000000000000000000000000000000006137f6565b979650505050505050565b600084815260fd602052604081208054829190612b7d90614bc7565b80601f0160208091040260200160405190810160405280929190818152602001828054612ba990614bc7565b8015612bf65780601f10612bcb57610100808354040283529160200191612bf6565b820191906000526020600020905b815481529060010190602001808311612bd957829003601f168201915b505050505090506000612c0a8486886138c7565b600088815260c9602052604090205490915060ff166001816002811115612c3357612c3361481d565b03612cb3576014835114612c73576040517fbe31c33b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6014875114612cae576040517fbe31c33b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612d73565b6002816002811115612cc757612cc761481d565b03612d42576020835114612d07576040517fbe31c33b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020875114612cae576040517fbe31c33b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517eacc4c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060ca546040517fbe2974760000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063be297476903490612dcc9060009083908d908990849081908b90600401615292565b60206040518083038185885af1158015612dea573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612e0f9190615045565b925050505b949350505050565b606060ff8260200151511180612e37575060ff826060015151115b80612e47575060ff8260c0015151115b80612e58575060ff82610100015151115b80612e69575060ff82610120015151115b80612e7a575060ff82610160015151115b80612e8b575060ff82610180015151115b15612ec2576040517fbe31c33b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516020808401518051604051612edd949391929101615309565b60408051601f198184030181528282529084015160608501518051608087015160a0880151949650612f1795879592939290602001615380565b60408051601f198184030181529082905260c0840151805160e08601516101008701518051949650612f5295879593949391906020016153f3565b60408051601f198184030181529082905261012084015180516101408601518051939550612f89948694929392919060200161547e565b60408051601f1981840301815290829052610160840151805161018086015180516101a088015151949650612fcb958795939493919291151590602001615505565b60405160208183030381529060405290506000826101a0015151111561301c5780826101a001518051906020012060405160200161300a92919061559b565b60405160208183030381529060405290505b919050565b600081516014146130745760405162461bcd60e51b815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015260640161099c565b50602001516c01000000000000000000000000900490565b6060636abd4ea760e01b83836040516024016130a99291906155bd565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b613118612190565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586126ef3390565b6060612b568787878787877f13617eeecc8d454c0000000000000000000000000000000000000000000000006137f6565b604051602481018390526001600160a01b03821660448201526060907f5886d8d200000000000000000000000000000000000000000000000000000000906064016130a9565b600054610100900460ff16158080156131e45750600054600160ff909116105b806131fe5750303b1580156131fe575060005460ff166001145b6132705760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161099c565b6000805460ff1916600117905580156132b057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6132b861395a565b6132c061395a565b6132c861395a565b6132d06139d7565b611ac482613a60565b600054610100900460ff166133565760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161099c565b610a23613b8a565b604051602481018390526001600160a01b03821660448201526060907fd48b014600000000000000000000000000000000000000000000000000000000906064016130a9565b60006133b1826014615099565b835110156134015760405162461bcd60e51b815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015260640161099c565b5001602001516c01000000000000000000000000900490565b604080516000808252602082019092526001600160a01b0384169083906040516134449190615611565b60006040518083038185875af1925050503d8060008114613481576040519150601f19603f3d011682016040523d82523d6000602084013e613486565b606091505b505090508061091d576040517f6d963f8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051156109af5760006134d5826000613c07565b905060006134e4836020613c07565b9050600080806134f5866040613c64565b6040517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018990526064810188905260ff8216608482015260a4810184905260c4810183905292955090935091506001600160a01b0388169063d505accf9060e401600060405180830381600087803b15801561358257600080fd5b505af1158015613596573d6000803e3d6000fd5b5050505050505050505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015285916000918316906370a0823190602401602060405180830381865afa158015613607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061362b9190615045565b90506136426001600160a01b038316868686613cea565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015260009183918516906370a0823190602401602060405180830381865afa1580156136a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136ca9190615045565b6136d49190614caa565b9050846001600160a01b0316866001600160a01b0316141580156136f85750808414155b156108ef576040517f80b9e73000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526065602090815260408083206001600160a01b038516845290915290205460ff166109af5761376281613d72565b61376d836020613d84565b60405160200161377e92919061562d565b60408051601f198184030181529082905262461bcd60e51b825261099c9160040161480a565b60975460ff16610a235760405162461bcd60e51b815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161099c565b606065ff000000ff00600884811b91821664ff000000ff9186901c91821617601090811b67ff000000ff0000009390931666ff000000ff00009290921691909117901c17602081811b6bffffffffffffffff000000001691901c63ffffffff1617878889888b898c8c8f6040516020016138799a999897969594939291906156ae565b60405160208183030381529060405290508084888a8a8a8a888b6040516020016138ab99989796959493929190615984565b6040516020818303038152906040529050979650505050505050565b60606138f46040518060800160405280600081526020016000815260200160608152602001606081525090565b6139048160200151600180613fad565b602082018190526139189060026001613fad565b6020808301919091526040808301859052606083018790528583525161394091839101615ce2565b6040516020818303038152906040529150505b9392505050565b600054610100900460ff16610a235760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161099c565b600054610100900460ff16613a545760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161099c565b6097805460ff19169055565b600054610100900460ff1615808015613a805750600054600160ff909116105b80613a9a5750303b158015613a9a575060005460ff166001145b613b0c5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a6564000000000000000000000000000000000000606482015260840161099c565b6000805460ff191660011790558015613b4c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b60ca80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038416179055611ac4600033613fce565b600054610100900460ff166125815760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161099c565b6000613c14826020615099565b83511015612a8b5760405162461bcd60e51b815260206004820152601560248201527f746f55696e743235365f6f75744f66426f756e64730000000000000000000000604482015260640161099c565b8181016020810151604082015160419092015190919060ff16601b811015613c9457613c91601b82615d38565b90505b8060ff16601b14158015613cac57508060ff16601c14155b15613ce3576040517f18ce829400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250925092565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052612131908590613fd8565b60606108896001600160a01b03831660145b60606000613d93836002614b81565b613d9e906002615099565b67ffffffffffffffff811115613db657613db6614212565b6040519080825280601f01601f191660200182016040528015613de0576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110613e1757613e17614b98565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110613e7a57613e7a614b98565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000613eb6846002614b81565b613ec1906001615099565b90505b6001811115613f5e577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110613f0257613f02614b98565b1a60f81b828281518110613f1857613f18614b98565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93613f5781615d51565b9050613ec4565b5083156139535760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161099c565b60008115613fc157506001821b8317613953565b506001821b198316613953565b6109af8282612595565b600061402d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166140bd9092919063ffffffff16565b80519091501561091d578080602001905181019061404b9190615d86565b61091d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161099c565b6060612e14848460008585600080866001600160a01b031685876040516140e49190615611565b60006040518083038185875af1925050503d8060008114614121576040519150601f19603f3d011682016040523d82523d6000602084013e614126565b606091505b5091509150612e0f87838387606083156141a157825160000361419a576001600160a01b0385163b61419a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161099c565b5081612e14565b612e1483838151156141b65781518083602001fd5b8060405162461bcd60e51b815260040161099c919061480a565b6000602082840312156141e257600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461395357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516101c0810167ffffffffffffffff8111828210171561426557614265614212565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561429457614294614212565b604052919050565b803567ffffffffffffffff8116811461301c57600080fd5b600082601f8301126142c557600080fd5b813567ffffffffffffffff8111156142df576142df614212565b6142f26020601f19601f8401160161426b565b81815284602083860101111561430757600080fd5b816020850160208301376000918101602001919091529392505050565b60006101c0828403121561433757600080fd5b61433f614241565b905061434a8261429c565b8152602082013567ffffffffffffffff8082111561436757600080fd5b614373858386016142b4565b602084015260408401356040840152606084013591508082111561439657600080fd5b6143a2858386016142b4565b60608401526080840135608084015260a084013560a084015260c08401359150808211156143cf57600080fd5b6143db858386016142b4565b60c084015260e084013560e08401526101009150818401358181111561440057600080fd5b61440c868287016142b4565b83850152506101209150818401358181111561442757600080fd5b614433868287016142b4565b83850152506101409150818401358181111561444e57600080fd5b61445a868287016142b4565b83850152506101609150818401358181111561447557600080fd5b614481868287016142b4565b83850152506101809150818401358181111561449c57600080fd5b6144a8868287016142b4565b83850152506101a0915081840135818111156144c357600080fd5b6144cf868287016142b4565b8385015250505092915050565b60008083601f8401126144ee57600080fd5b50813567ffffffffffffffff81111561450657600080fd5b60208301915083602082850101111561451e57600080fd5b9250929050565b6001600160a01b038116811461259257600080fd5b803561301c81614525565b600080600080600080600060c0888a03121561456057600080fd5b873567ffffffffffffffff8082111561457857600080fd5b6145848b838c01614324565b985060208a0135975060408a0135965060608a01359150808211156145a857600080fd5b506145b58a828b016144dc565b90955093505060808801356145c981614525565b915060a08801356145d981614525565b8091505092959891949750929550565b6000602082840312156145fb57600080fd5b5035919050565b6000806040838503121561461557600080fd5b82359150602083013561462781614525565b809150509250929050565b600067ffffffffffffffff82111561464c5761464c614212565b5060051b60200190565b600080600080600060a0868803121561466e57600080fd5b853567ffffffffffffffff8082111561468657600080fd5b818801915088601f83011261469a57600080fd5b813560206146af6146aa83614632565b61426b565b82815260059290921b8401810191818101908c8411156146ce57600080fd5b8286015b84811015614706578035868111156146ea5760008081fd5b6146f88f86838b0101614324565b8452509183019183016146d2565b50995050890135965050506040870135935061472690506060870161429c565b91506147346080870161429c565b90509295509295909350565b60006020828403121561475257600080fd5b813567ffffffffffffffff81111561476957600080fd5b612e1484828501614324565b6000806040838503121561478857600080fd5b823567ffffffffffffffff81111561479f57600080fd5b6147ab85828601614324565b95602094909401359450505050565b60005b838110156147d55781810151838201526020016147bd565b50506000910152565b600081518084526147f68160208601602086016147ba565b601f01601f19169290920160200192915050565b60208152600061395360208301846147de565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60608101600485106148605761486061481d565b9381526001600160a01b0392909216602083015260409091015290565b60008060006060848603121561489257600080fd5b833567ffffffffffffffff8111156148a957600080fd5b8401601f810186136148ba57600080fd5b803560206148ca6146aa83614632565b82815260059290921b830181019181810190898411156148e957600080fd5b938201935b83851015614907578435825293820193908201906148ee565b9650614916905087820161453a565b9450505050604084013590509250925092565b600080600080600060a0868803121561494157600080fd5b853567ffffffffffffffff81111561495857600080fd5b61496488828901614324565b95505060208601359350604086013592506147266060870161429c565b600381106149915761499161481d565b9052565b602081016108898284614981565b6000806000606084860312156149b857600080fd5b8335925060208401356149ca81614525565b929592945050506040919091013590565b60008060008060008060a087890312156149f457600080fd5b863567ffffffffffffffff80821115614a0c57600080fd5b614a188a838b01614324565b975060208901359650604089013595506060890135915080821115614a3c57600080fd5b50614a4989828a016144dc565b9094509250506080870135614a5d81614525565b809150509295509295509295565b600060208284031215614a7d57600080fd5b813561395381614525565b600080600060608486031215614a9d57600080fd5b833567ffffffffffffffff811115614ab457600080fd5b614ac086828701614324565b93505060208401356149ca81614525565b600080600060608486031215614ae657600080fd5b83359250602084013567ffffffffffffffff811115614b0457600080fd5b614b10868287016142b4565b925050604084013560038110614b2557600080fd5b809150509250925092565b60008060408385031215614b4357600080fd5b50508035926020909101359150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761088957610889614b52565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600181811c90821680614bdb57607f821691505b602082108103614c14577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008351614c2c8184602088016147ba565b835190830190614c408183602088016147ba565b01949350505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614c7a57614c7a614b52565b5060010190565b838152606060208201526000614c9a60608301856147de565b9050826040830152949350505050565b8181038181111561088957610889614b52565b805167ffffffffffffffff16825260006101c06020830151816020860152614ce7828601826147de565b9150506040830151604085015260608301518482036060860152614d0b82826147de565b9150506080830151608085015260a083015160a085015260c083015184820360c0860152614d3982826147de565b91505060e083015160e08501526101008084015185830382870152614d5e83826147de565b925050506101208084015185830382870152614d7a83826147de565b925050506101408084015185830382870152614d9683826147de565b925050506101608084015185830382870152614db283826147de565b925050506101808084015185830382870152614dce83826147de565b925050506101a08084015185830382870152614dea83826147de565b9695505050505050565b608081526000614e076080830187614cbd565b8560208401528281036040840152614e1f81866147de565b91505082606083015295945050505050565b601f82111561091d57600081815260208120601f850160051c81016020861015614e585750805b601f850160051c820191505b818110156119bf57828155600101614e64565b815167ffffffffffffffff811115614e9157614e91614212565b614ea581614e9f8454614bc7565b84614e31565b602080601f831160018114614ef85760008415614ec25750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556119bf565b600085815260208120601f198616915b82811015614f2757888601518255948401946001909101908401614f08565b5085821015614f6357878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b838152606060208201526000614f8c60608301856147de565b9050612e146040830184614981565b86815260006001600160a01b038088166020840152808716604084015285606084015260c06080840152614fd260c08401866147de565b915080841660a084015250979650505050505050565b608081526000614ffb6080830187614cbd565b6020830195909552506001600160a01b0392831660408201529116606090910152919050565b60006020828403121561503357600080fd5b815161ffff8116811461395357600080fd5b60006020828403121561505757600080fd5b5051919050565b600082615094577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b8082018082111561088957610889614b52565b7fffffffffffffffff0000000000000000000000000000000000000000000000008660c01b1681527f01f01d1f00000000000000000001010000000000000001000000000000000100600882015260007d8c97258f4e2489f1bb3d1029148e0d830b5a1399daff1084048e7bd8dbe98060288401527ff859030000000000000000000000200000000000000000000000000000000000604884015286605e84015261519f607e84017b200000000000000006ddf6e1d765a193d9cbe146ceeb79ac1cb485ed81527f5f5b37913a8cf5857eff00a90000000020000000000000000000000000000000602082015260380190565b8681528160208201527ff85906000000000000001968562fef0aab1b1d8f99d44306595cd4ba41d7cc8960408201527f9c007a774d23ad702ff601019f3d96f657370bf1dbb3313efba51ea7a08296ac60608201527f33d77b949e1b62d538db37f20001000000000000000000000000000000000000608082015285608e82015261523160ae82016000815260020190565b94855250506000602084015250507b06ddf6e1d765a193d9cbe146ceeb79ac1cb485ed5f5b37913a8cf58560408201527f7eff00a9000001000000000000000100000000000000000000000000000000006060820152606f01949350505050565b60006101006001600160a01b038a1683528860208401528760408401528060608401526152c1818401886147de565b90508281038060808501526000825286151560a085015263ffffffff861660c08501526020810160e0850152506152fb60208201856147de565b9a9950505050505050505050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b1681527fff000000000000000000000000000000000000000000000000000000000000008360f81b166008820152600082516153718160098501602087016147ba565b91909101600901949350505050565b60008751615392818460208c016147ba565b80830190508781527fff000000000000000000000000000000000000000000000000000000000000008760f81b16602082015285516153d8816021840160208a016147ba565b01602181019490945250506041820152606101949350505050565b60008751615405818460208c016147ba565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808960f81b1682528751615446816001850160208c016147ba565b6001920191820187905260f886901b166021820152835161546e8160228401602088016147ba565b0160220198975050505050505050565b60008651615490818460208b016147ba565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808860f81b16825286516154d1816001850160208b016147ba565b808301925050808660f81b1660018301525083516154f68160028401602088016147ba565b01600201979650505050505050565b60008751615517818460208c016147ba565b80830190507fff00000000000000000000000000000000000000000000000000000000000000808960f81b1682528751615558816001850160208c016147ba565b808301925050808760f81b16600183015250845161557d8160028401602089016147ba565b93151560f81b93016002810193909352505060030195945050505050565b600083516155ad8184602088016147ba565b9190910191825250602001919050565b604080825283519082018190526000906020906060840190828701845b828110156155f6578151845292840192908401906001016155da565b5050506001600160a01b039490941692019190915250919050565b600082516156238184602087016147ba565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516156658160178501602088016147ba565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516156a28160288401602088016147ba565b01602801949350505050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008b60c01b1681527a01070000000000000002000000000000000100000000000000000060088201528960228201527f010000000000000000000000050000000000000053544154450003000000000060428201527d0100000000000000000000000000000000000000000000000000000000006062820152886068820152600061579e608883017f0100000000000000000000000a00000000000000464545204c45444745520004815278010000000000000000000000000000000000000000000000006020820152602b0190565b89815260206157f88183017f02000000000000000000000011000000000000004645455f4c45444745525f5781527f414c4c4554000000002000000000000000000000000000000000000000000000602082015260310190565b915089825261582b8183017e060000000000000001000000000000000000000000000000000000000000008152600d0190565b91508882526158858183017f0200000000000000000000001000000000000000474956455f4f524445525f5381527f5441544500000000200000000000000000000000000000000000000000000000602082015260300190565b91508782526158e58183017e0700000000000000010000008c97258f4e2489f1bb3d1029148e0d830b5a1381527f99daff1084048e7bd8dbe9f8590300000000000000000000002000000000000060208201526000604082015260410190565b915086825261593b8183017b200000000000000006ddf6e1d765a193d9cbe146ceeb79ac1cb485ed81527f5f5b37913a8cf5857eff00a90000000020000000000000000000000000000000602082015260380190565b915085825261596e8183017e090000000000000001000000000000000000000000000000000000000000008152600d0190565b9485529093019c9b505050505050505050505050565b60008a51615996818460208f016147ba565b80830190507f0200000000000000000000001100000000000000474956455f4f524445525f5781527f414c4c455400000000200000000000000000000000000000000000000000000060208201528a60318201527e0b000000000000000100000000000000000000000000000000000000000000605182015289605e8201527f0200000000000000000000001800000000000000415554484f52495a45445f4e607e8201527f41544956455f53454e4445520000000020000000000000000000000000000000609e8201528860b6820152615a7860d682016000815260020190565b97885250507f0d0000000000000062584959deb8a728a91cebdc187b545d920479265052145f6020870152507f31fb80c73fac5aea00001968562fef0aab1b1d8f99d44306595cd4ba41d7cc8960408601527f9c007a774d23ad702ff60101980176896e24d940ee6f0a89d0020e1cd53aa3d160608601527f7be42270bb39223f6ed75c6300018c6ecc336484fb8f32871d3c1656d832cc8660808601527feb2465048fea348cde76ae57233100014026e8772b7640ce6fb9fd348473f43d60a08601527ff344e3dcd89a43c93db81ee6efe08e67000106a7d517187bd16635dad40455fd60c08601527fc2c0c124c68f215675a5dbbacb5f080000000000107fe6a33e564217c5773c6060e08601527f4a479581564c5e4c12465d65c9374ee2190f5ee400019f3d96f657370bf1dbb36101008601527f313efba51ea7a08296ac33d77b949e1b62d538db37f2000100000000000000006101208601526101388501939093527e011507b8f891ebbfc57577d4d2e6a2b52dc0a744eba2be503e686d0d07d19e6101588501527f6ec700010000000000000000000000000000000000000000000000000000000061017885015261017c8401919091527defe9c4afa6dc798a27b0c18e3cf0b76ad3fe8cc93764f6cb3112f9397f2c61019c8401527fd1c6000006ddf6e1d765a193d9cbe146ceeb79ac1cb485ed5f5b37913a8cf5856101bc8401527f7eff00a9000028000000000000000000000000000000000000000000000000006101dc8401527fffffffffffffffff000000000000000000000000000000000000000000000000166101ea8301526101f282015261021201949350505050565b6020815281516020820152602082015160408201526000604083015160806060840152615d1260a08401826147de565b90506060840151601f19848303016080850152615d2f82826147de565b95945050505050565b60ff818116838216019081111561088957610889614b52565b600081615d6057615d60614b52565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600060208284031215615d9857600080fd5b8151801515811461395357600080fdfea2646970667358221220b3d75797cd18b5cd7171d98b04f75bd6bcfd70612b71d2d95990465af65391af64736f6c6343000811003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d023393479fe500710501c1f50ecccc7b4efaffaf6c673a8cca782b53bf0701195dde0219804005581e03a0ed4d32123ce21f32636a5408f9f8026ab85d3435854a02563cbd36e004020357136cbcfe09f87c11b58be948f2599f802575470c97399b38dee5c83cb23e19031a6293b1ab4ad35ead91b95d64196b0c1b916f1b60f21c5d729c70730da4786105581e03bde3dd421dc2cd4a3fbfd263e88eba2b6b6757f2438cec70bbf9e6acf0040105581e03fb24e69f6e5e90f658075440d40281fb1c26c46f94ff782ff01c828d600c024702c568aad89e600219efde0359eb6962ed14f8e863e3955a438948828afdbf5c2d84eb1323bcc406812279b6038e5b8098ba406ef7ecb589f95c364fc9901f2c620715b1ebef71e02a9f9c51cb03f8f561e1a8c897db5293382d6f6828cacaca7bf499b4df3173edd9ba365c0b7f03e3293c76b1db4476eadea7b6b75e560b5058ae02b5cd43a4ec85dfed4fd43c1103de7b8cb41ad7d332a403c5a5c741f9050dcd4eee9b720389369864627c6f2d570338d277d5bdc02733f65f156e63d9a101da97c76febc5d23fd5f2b15b0c7acb74035fb9764d20aea66583948b5b8bf652004ebb387ddf4e8c637c6e8da5adf1150603468b1db105047596f659dbf252ff6847eb7e2f9f6fe24eeb587d83c2dda2e955035347c5bef8066eeb1ffdfe82ffb9063aa46100d7271b697a36f9c4a85fd7719003576377a26cb15f1335660fb30702baea70bd050d2d727e27d6bf489afe0d75b6031f7682668339379f4bfd49122b672ecd7b9fa2599abc8258bcc76e8d2cdfe2320306db54003c91598b7db48c9f7704cf2640be6e93a3a19bd8738eaf8b3d92f17d03cd1847cd44208b70e76bd2074b96007f68d7d2cda22faa87ac7063569cc5f21b03d19b53c929cfe8363f032fde71359439228b9eeec4460dce65dc5f6dd457df5103490d6f1b9e8f2595133114ede3a43b0e04adfe132c25ad010b566379b7434fb30219ffff0310f8dae3dd38917ee709cc4be5f0c2edd1a34c1aff097f20535a78a993611c4b036b584670ac28c02396aaabddf7e27bd5bf77d93a8de7cc5ed0bf7ca26b65d19e03427d41180f601529f31eafd390a0722ca6cafe36e0f2890c57de27f268069e2b0219ffff03b3e321f9e2e2c66c32c6850a8ff8fb536ffc5078d33bf32a9980489879b8ca710219ffff03b1dc5fa680a745cd7d9309ecf2ba4d23e2f55c448c592df6e4ef3da0513b63c90392e9de0b9ad3f49508039cf67fdfea0d2f472ec2b2cc5bf573fde4598bdbe16e03cb7f4460aa3e277424b59e9d3f8ca7a262e3a7cdfbf6252df473af4c22f94ce6031a65ce278f74c5541f09adc38e84ee08e3b3ee7bc789519013c52c2992020fd6030662a19be344dac605fad29e941d45eb3bdfcad404e9d559f783ba1fa1d83da2034aa5d34592d580d20672ecfc0569d034eeb8c90d326daf7c5af6f55519831a4c0324f402706eb0490d819e95d9d70ac3c5eb0ac46b59750c38fd79215f4b75d88a03a772beff5830994fb50e146d8cf43dd217a13253f608430581b0ad479ce575ac03cb0297b78da22911f65c7d473864bd41f470f0c56cee3a0829e2ff89f1e0a1c203cdc3a009924a393bb65032b38093fe9ef2156c8d60d1e010f40fd36f75592486036290c18b8de2423423904256deac59256ad5343bb80653d90801fff71105373f033696514043b2d2608af860ea0c5b9d228b082eb7387b2d74af2285e99b65b7c10370d5074995f8d8e8a10c206e1c547e011cda5f1be011f63943c3c56d4b1037550385145b2c72a84716a709b89287c6b9786cab8227dd2e9a2b7459c334cd1c81c8031343a5242ecbc01d42b077fb51c6ef5c3d4ae5aad1b4ab0e1d2ef5d4ff69f2f2031ead45980a8e24ff047435c686e815c1c54c423e5ef5559380b5124ef0d49584036c97b19d50be95bcfd5c8a9d27e2e6486726db827ca8596242a204a35b2d39ab03f0a9d8db01d5b770d0bb0224dcb2b599580c25b55c46fb86d819ef2e8cb40f0903d17ac6929e58ff8304f215949f3fa0e484bd6dc6802f2b58e40313ae82faa886034ceeccaabd230b3d2a18d09a7d624b37584b1aebb20218b1729e363f737e2a8803124414f869e4b242faefe5b1665a081af3d93fb8b9135ebae10c6b2726bab5c103602f0f338b1402e044ca333d08e43afeff356dedf945751f1ca7cf64416d504d039f3bd3fc531ebb8a3da864cf0d7bae213d40a5dba524bdbf8157af65981ab5d80323f5638aca586407e96d20ba1a4aa2ea59b0868f26e26349a07d19a8eb7ec00503ad65137c05894f2bc836fc847c447605e66f8e513f15518eff76457f7254317e03e19479166dd4119bfac2233a06ab97e9d8b332aea006f05fae727e31f49d7fed033ef53746234c14e01aaa7bd697681ed3640b86ee01770940273cd6041901990003f3df361cf5ef20edb4a197a9b0016945a101b4f69433049075d5b1dabbfed90e038b3ff4ae6a0f508739c82375802951ff73421b4c5260c4aa08e2904750df339803f8538b2d2b09635941e96578b523c6ec65b0814bfd5a6a6e0eb7bea8667c01d903f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e032c465458d043eeb759935c06aa9e59e6ea1960d83455626388c6d8154007011bffffffffffffffff05581e0350e0542b13beb9879d3fe8140d7d688437cae172223456c101140bd6100847264338b80b9000032490abbe805c3e6e3ce2b31ddd6d81d47d58a45b01c80b5c6ea5ea01fa97c006037290fab17781ae46a1f6145db61834ad69612dd06781fb7b836c6c6b731db9bb03d005976c8b8d4ee1a95a5c508952fe3d6eb4ceb5d178edfdef791eff3ebbce3801410605581e03c62175cb36cea2f4dd2fd69e17bca0053977dc95495ec187b78b1d12600c1347ea503180e9e45805581e03a47a242860cbeede8f9a492e3b29ee805ddd4635579e687a696ecc9d70084711c37937e08000036a16bb4a7bca5b9f1063f813129372b3a70859d450af9aacd371187a2047fab305581e035ee0ef0d8f849aa303e59631726e119faf26b6e8584a4872d20194c6400c014725470006612d48032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e03a8790e66bb55550375e166a8f0218e5caf6f9ef71e159aadaf0840e67007011bffffffffffffffff0219977d03e2fc92851a3d4ca458a4c876aa02a1815a1123ebef145a589f4c7021860c7060034618f9525a2d4563c0c2a14d5673e4cedaeda72020d4e36f3ed25b2fbe82ed5d03f68af2acc00f13c666b6f7be8a143e63089897e281ebd22c6c32a84201c7434c03d8279be1fa6f216f21ef7212acb01da5d3d911dfcbb5d432cf526d615088483603986066e5bb208386d7cf7081743e94c739bc6012bcb8942a88bb58301b416062034351506da83933782841c5404bb895c47889b44a688acbfde4a3b08f7f78d6160219ffff0369ef08b5d8acaee0759a5da433be76603085db27ebc43e01378aa4d16211f1ea037e804d8ceefe30e051f32c6993a4715b83b69727a9ccb1a7c8e25cb9d0e8550403e9060e7d0d98e03a51e8a88084c1075daa2a4823659ceff187c09efbc3f99ea6037f1e68a4d40ca38e25c4308ccd99013e1ff0465108baaabd79fe5d9166f6d21603734d7a72e33f0069a2b0219dbc48fab54fb3e6a880fa8dae16e9f393dd6de11a0219ffff0391c58ee727c0b43d259866b87dc33574d108906326e9306117af9c5e0f3968a00305f035fb1fe9bdc1cfeb03edd0bc7e90d9fd7afac8ba120e8ad12ab8ac0a391f03a54cd8ff5044017e4de3fa360d8de2e2f837630c3940f57d07941697a9c9ca7703f31826af50622148fb74b7be74eb5490109a782ad5469ed0ef35edd3c1963d6103539cb099cb2e5601822f5032450e7c464106f04ccab6ab2f8213a63e8da5e7bc030ff1d6688740ebb419b2dedefe84aedf65fc20c2dd07697ed80d4a8242f4f1b60219ffff0219ffff03aa93c13af0797c311e3a770b619f975fd77265b16f50c200ec4a87a55565b2c3031101712d0319d2248fccce02fa9c6830ace62a78a846f7ac73a4a94f7373ecb00399dc84ca13279b2eac5bee723b2a6bc7f73555ec11343531c356378e40ec36e30367e04a564b56a62a638b5cc51a0881f65c4179c1acbac3e1171f167784bbbf31030fb96d1f276c9cbfc1eae8c459fe2a38ca6fb3d9e13eacda0fd1891af4a163370324c36b1da6f9e7c933e4bf3fdf570dce009d86cec099d4894cc12da72dc72892032e9e580399e54c82978ffb54ab72ca34c239708231c76bbaa64cb294429515f203e701db09801c6d8b5a35982ad2e3dd0b48e0596496f832e810c81142cb229dd00306877f19fc6297b3d6051dbf59fbc4d82cc8e0945fa7410801e45c5aa90dad6903e3f76c61b23997bce466e5e2893c0e185133c98d4a1f90d0feec04cd0a9db00b03775d86e9fafb956ec878ec50e0670aa8d19c7e514a77d5d9e6bc6f3e9bdc42d2037e13e83c55231d7a17f502a9c1cbd3454a785da260a45da7eb9a91a538ad6c0303719a725af10979d9054628ab10a5c33486d03400bd6072680f2acba728c923630605581e031a9964554b364d43d572da6ac5820198936cc38da2d0a24a13dd914c7007011bffffffffffffffff05581e0337d1254d34b310db1ba55a03881857968aeda95676159032cf4baf4830040105581d02be49824159ebddb793306725c9f573e6f279742e0077e1cfdc7a2ef90c0145174281070005581d028ed0c08d028ffbb0d77802c7b9cbe9e6587e357d9de6c01684db8c4b0c0348011f0613b375211305581d02ab0fd9f84b06ac770bd06a7ad668374b6f3c24b2eee3498e86f4037e0c0746323201c10ab00219021403b9bfd4b87230ca1ecd63441de0933898e1be03f1d4f2733af709ac04f5fd478b03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03027a14b368da4fcd203dad22df79a6b735cbad707165e6f997bf56b4e007011bffffffffffffffff05581e038b399644feabdb633f3c2bed9d3e8e3a07b2cc450ced8288a2d0681d400c014656fed655b0f0031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03f04bcced7a4f396d1e3c7cace4dcab9b93e92eb150e2bf8c9ca4bfe77007011bffffffffffffffff0345da1d0662733c4595d14a12f0ac89e15d28b08cd0b22a528b277d8a9aa7115c03bf24776d4f6bd01550fc7a323e87ad42c899457857558304240ecfe82f94f88a02195a970371aa5dfb1f7ef8ceef065f0865943da116ec4c483fad20ef278e94f42794bdef0313e534a3e5318b7292d1ccfd8bbc535b60d458f7079609e66f475788abd40b8c03dad227639c3f24ec79a46f2cddec9f4316e6ca9c87aadd658cc83ee5a718740803369e53916edcd221794d098eae6c02bc8ada8f2571fe10a6e53ff70db21f2cc8034e13c6d7ec34124f77554ea7118c01a4fa734c42bbef46f61b24a6a657996f1203315a2ece1d48551288f8bff404a9d73a31937fa118e54ed77c67b4de3a33100603ed1cb0a2d3750d2ee29a1f6c27c668409cc83f583e5b2b454521d01755eeeedd03ce1a1bb1a66e95bbadbd53769b9721d9cebecee725d6bcd1765990f639de8600033f690ba78bc617d33867002562ffa96a415349e0fcea49468e33ca09554ce05103948591a7442c6ea9ffa6f5d93ba8349a6db3233a140ae41e6da855758b84edfd03e05a0542356540d1bf6cce571690935785d198f2d3733aee91258f620f5ecfaa036958650125520a124d6b36b74d9e32a1d87de2120b715d19d3c8b15caeddd8980219ffff03bb806a8741d7b29542afacb0320f11463a06e957652aa7bec592fb69e02ad284036023ace6b9636b94d9bece751234f72f729b64ee97dd8c1a401bad4bc11bc58b0301d4df335fd73da958956286502bc0257b01035ab5247769e49099c2f8465d7d037b32addf2e2ff3077e6cb1976392655b32404682189c7633ec7defb206fcd82d0367e9884136678a883fa11d0ffc1538ab6015af4f4d419c9d568408e13aa0775d03f9f3373ee37c9f8a680abdac9f7d52c4085b40828327df466b09a1e6ec36b8920355ffbe824f9b0388443f0c11f240436f1f1bdb3c514310553b67afd256a4391003d239dcb022791765d91c3ba15f542ded5c38177110a78c966b0d7cfe2bd09152031fc71464f3484327258f3f4833fc4a17996dd6e437489377c81adfaa7843828c0219ffff035f67721a4934987fa25a92e8a06947db844c4681c177ea2c00624a0916c0c10703ad0498479ae1c3514d5c0c4f6abfe7dad96857ce341be74fcf84ec0da1b67ccb035f23b998429bb7e8c6bccfd51bee903e5487fb49f5bda93abcafe3aa42a7857303e009d650c1abcf905cc5c59d77371bba2b483ba7fc15be4cfbe8758fdf737a8403dc64a376bbf46add633bcae64575dc7baf0316f33d1e4b73092cfaa26f79461e03e9846d711185c4bed91f4587e12de638b6c68529effff266b072a21b7a08fd8503afe8d66f634ccaee417e74da5e8bf0eeafb3baead422b99fa1c12affabf6a06103e9df16a117b0823a51a08b4cee37754585d969d22c6d29e6dc5628b4bf1da2fa037b59c07d123cadf58faa018b99ae5d31f9d617c87d9858266b6a0bb109b4c08203bef0706b74e516d974ea988976b485b420c996fbf1bdc1e6933f940da51b8fc803a1065805c11ecf6d7b5d6f889472415c1de3043319a9c84ad93de28b3ce77189038c0f3b7b57aa5431a2a4118697f9b5a9a88f6ad03378b0aeefc3229b6984cb6d03c4c6b1fd6ab15114f1c217f1138d5210b6917fbd784392f9eeaa5fba1ad96eea0219ffff03634fa2e7181e5b73af010d878ce757fcca63a8e46e017e1aba93fcc4edbe7026031ed120eb986888f0643967a2bad9f5ba576a26c790ae1328859bd0e6e2cc885103a76bf1d48a8e12e844230b004a85b89709fe2fb706d246c3edb482a288bcee4f035138dd123f0557d205e2f8da6b1f941259754f9c61cd34281d6fd8a6d025f02c03d10c617a906bcec8e5a1f9eb833e58417fc0efebcf88fd72c9354beca6b35d9c03640ad8eac199aafd232b5bd04cea17e7b77810a81520e29793888226c28641db03a9c5a99e4c334160eb58d229d76cc17b21fe5a91b40c1da8d268761aeec62ca80322a59fbdb678796810e2a9ac80f66aa905bab9fc19ab38c244b8c5b5b199b6fe03c2d642a30aa1247486d2f56351a20447732acaaf6e64c932e6d3be33441e313703e33c1f5bf460787900e7815c2dae785091c875fe9f724cbf47d47680f7f2ae8703a855491913425fd82da822a8f5cff11caa805621f978daca62f97bfa289bfb9703f9f7673fe98258daa760c83ebb2290d333776e9482dfcb16cf8918aa5c72bc89034b3a24ec61524773e959733cf435f73793077d909773b588e81e9c799680880f03dd99cd83a548f421b0fc90257baa540594bdf68a05ee0b5249388532a3d7deae0219ffff03abd0c381a526ef6fee6e8e76c9b9e547f81dbcc5576efade929ba546d82940ff03d13851a80f103fe311b25bdc73fa308aab2474445d47abcaef19198c211be815034413c7c4aec8249db3506b3dafb1adb7f311cc0267054262b20b589c2e582dae03c9880d4b94dbc506e2750f4a2dd22f0d41ea0bcd5f0fe2233de16738ec6184d9035bf918948efac0d6740c9501c115198491b9261aa11dd012b8c311a966787cb903956f09367da7b479991fd97d259291486e44563df01fddf581c17783a1351dca03cc4562cb21c1985503e254817acef15302fc169dd42196b2a455ec6f17b89d3c03e5bd9b83ee130ffd72ffeac4cf23e47a6a2ace98e14c493d955816206a361fc203847e84cfc208111f02a608a8bee8bcb86f22d172bad51f3983fdc5624aa8c3340344128bc13b0892173ac7e32402a251b7a762696651e1ec2c0845bf75f587da6a03dd2a1b930a04d0460d1188b4670a342dd22f8c386b2bc64a21208127b64ea648031161c9182701407aa184215fd05d6d3d4cbcbf63fc3ec69757f1609916d13c6003d7b85e4f1f2f994d91f1dabda5a59234363fa83f10a39d3dcf43d3b19592b7e60322f99383dc671785ddcb84d21f770f721c7bb6a2cf61d6a861013043f49ba4ce03e974f6144766abf16a9e83a9a4d31215db6c1dce8a179e8f88b7fe208a5b5c74036a8fd508cdd63714e1f3fe7097b58b8cf895b3b90e4c98c2202d429eabb70655034fa1b0c6091189a74368cc325a3ff20c8026dc05ebd7249831b609b77f753f47033a0795b3cbe267e90d5dcf0414d4fa3e66f065d20dfc55e82aa4ac6da1f5cbff03b9f7a705b27db628d054b2e00f37629db21c0a9b0bec50900f5479527c8734900304a8dc7e90f7910d2217bc1d5a8d131cecf636078c57934e42b2e3db20ebcfaf033d1a2e0bad2d0d92beacfbe1f8e6cb9fc6948611465a98fc31e2f867d165ffb703959d620d4984cccf2da33614c1377734e5a2090f9bd09633e4683e32c55b455203a4953af870c7c32e4a2877149bd6c9c06d2746902be28d39ca3b29efb6ea4a9203a05fc946278f27029157571be9b363c0f9a66e866e2bc779e1f64e9cf60fd70a03fd7f8b37962486e5cffdd3e4ec26cb9480f922adb834a431c98ba1303351491205581e034f9bac7cb6137cb9865bc9eba315b44dc449890845ebe3daf327cee91007011bffffffffffffffff05581e03d234b0be81cb9bebd30701c8d1eb818a029ce1642533c0b732aeaf8370040205581e037f50fc45e56f1debc337140b32e049ef5a61e151519d14b81b22104f60041103b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b00003447e680397b9fee3c76dffbef0702340ac19d0b19f77b33f96acb33549a4af1e05581e0381a202c98e0c22f336ab155e54f04f10bed2830aa9e581f1aa8380059007011bffffffffffffffff05581d02ce86f2561b887fe24e1b7db655d47faef9115fe6d2bc233a358ec2b10c0346d4ee54cc9a8005581d0229ba068917e56354b687eeb63d323df72736f8047a6bb8c5be42bde50c18274801d785207fd3b9d902190c0005581e035eda2aef21b84aa0bb6373cbbbc69c8258ea89bde1ccf6658f9dfff2a00c0147048abfb4190a20036be18f83cd96b8e41ee74b240a903129c0be3050e5f42a5abddae2df48ddafa603cf2364c93961248e6a34db863cc65042da05f94ee7dfcb13fba20fb1610c807505581e030a2bf71d62fa0731ac6f9ebcce7a0fa3e85faa547192b362649b545e50040105581e0331609f928e0950a944a2bbb14ce77688ef8dd56b78a87b5f722930975004020361407b07ce4a41438bd1c8bad52faa78f1613d5e12a86242495711946c4cb68b05581e03019386d87802aab073df546a7d6786849b4435eb1b5380bcaa23339d7004010219afbd0315ad786b8ff8ab265b9462044770bdaa08057497cc1b7d625c2ede5568a4baab03b7175a872fff069653c22e387f0e3544cd0590f6f8d3454116d16bb65fc454e303f17476d6570de56bd134d9238e424c9d00bbc202c95e85f21c03accb605c54390219ffff03ba994846a6ad3a3685faa8cf9c1f9eb77183c35e81842c5be6527ca40881a3ad0382418b5816a245ebc7a68440b5e3bc2773c22b3f8cc24f1eb348b817e81298c703a6ca74fb889b85cc6df0f12fba497c9a9c6ac5b1d26fa006ceee43861f9d098203321926f2a2264fc9605f8b949b2113b8d0baa34e9ef226fd1c971152e0ae09f903976ceee373a98ad3d0561287db35ffdd4da601e492eb493771579097f87d20f503090208b5b12d347ff7afe7f3b1ffd86ce95c623c3d3abd04b9d7148673e43bc603e680617bbccb8ecdaea945c9fc08f3b3e6472c8d961d27b69e85d363f54395bf035f2af7c2646d72234ca74830d024b0d467daf3b2ba2a6c224c71c9e3ca15a8f2037c5c518aca8ee44c9edeadce6b5442c7abe3e7a4c1e876192ab559bfed2f4f4f03f2e2de4918e7ecf57723f8d959ee82994c3104442fb0b65e03a529fa4053847003dabf037f98305b1ebb67144e357a2de80527cbc8996c1c66309a98b5134b133c0219ffff030cf860d104f18d3ecbbe3d7ee3f3e33341c5cb81f206fa28adf3eadfc3fd6002031b4a44fb5098ca33aa62fe3215cb18c5dabee145ef68251d20587de7ebfe898e03e42fa40c09ad48afd487e16d35321fa2c811a43b5cf2b7314ef88fc1291d424b03e64a48ad7e70cac7f2102db790f3ebd965849196278dddbf6ee6edcc3f11c27f03d61a6d67d0d0575c692e58a3d4382eb284b9cb3d5f3d365e245df1487b07fa330392b2545a4aaf7d42e43da8592d63e59c2f9407b72b3b10f4b70c14b3a76ad1d803100ccbad655500b0eb60a6d97b01078ec82d2ad5c0f273f64cb88eec552688400332bf3b558615911d37ad4d87d10876c3e0f67189b0e425d44e3ae4e9b2f9f66f0219ffff03d7677737d64da51e07851bd8fd439916fd855cfc304e3024be96876ce12225a70372108211d1d9848e80346dc09336ee7493a22de35cdac5f23b97f6bfc88d5f200324fe083f8950dc6dc245eb9328d635844b6e561090b6561290134f5e0b60383703a7e8e69cc23a4690e8dc323bfcdf0a8a40dceb4d47456df8ddfc772a14d60dab03226469e676047557a70deb6a89da92f36bf98caf01774704beacc033929e1d3a03b0af65bd72926cf2c1c5a290bfeaaf1d4b7b3e233a2f641c14a3ab45a9a9b5c003f25db75f3aefa313658798e977777fbfdbf233f705a02de85b8538cc3603ffad03e922c0c08436903c5e3595a4cc7de4a348c5122f7803b5843894f18cfca80e9d03e5521aee4b35f1e5bd74ac99364a5c0060d2c6dacb9741b09d32823dd1fc17e20305a492ce0d011e3fa416f2bec8c5af0b6a22ab17fea9484d34b6f4a78a5a3fa7032a2ff21968a3ba04acd8aaf6540716e5bd1b9a6bd7e521ac23df871584ef377f03e4be66f89245efb5c8fe242a1673b70d801153ebc69fafdd94c0468e7e74e648037c32d6ee4e1e7d894e59cd08197c5b8fd0f0c64069dd089ea83ce5ec1d27aeb003039e44f3c2a2c89a5bf5a34d59aae929582cf8cc81a11874d9dcf95f58e9927903fcbaa5d7c3b4d54929ca7bd72729531acd77b46da34244cd9f8f76621b6a80fb03ddb3eba0c677e27c5aa74954cbef67098ddc05c9acb327f4c2e382b1666f58a803f9d23ae48ac1294821cc176c158414e224583ed0b9ca1f7a12b4db8092a0cb55035c0d1346cbbb67ead6cf909e012e5c04eef23a81670a4a564ad418198725ee4403430e11e170a35a2d2335f0d488a33e2c5f47a248f0407792cf05eb4fa73157ff035d38b2b98aaf81d9eaa01bbd9ec86287e91cd32ff0e6b282447bdb60b33901e6035247e14377586ef30f2e798f12623470c1006c489a1dd96c3f4a69bc5b5162400320c7b184e01c37adc1c486cfdb7881d1f84799e413c4e72661f7b2150b81929f03f5be397fd761a8ad64cd1f023126445d1758f7501b63cddd29660934c7f8ff3103bb4e1d91aa15175ea1013f63cee48d4dd4196323f171468f5bda16d683f1864205581e033b281fe9d7c54d9d4afecc571378205f551e6b8eebbfb7d5154ec6c1a00c01464366727c672c05581e03b9d51fa34f1174b50238cc6c46608c56fe7e68a6190466ee6ed53970a00c0245012a05f20005581e0330cc0bca936a23999aac556d494dd98226537148cd6263aedd82e11fa0040205581e03b0f9939f500ea1d49a4a3c52ecbd1c6affa2a0126efb5b86e08ab6cc700c024719e01f6d4ae80005581e0386c60ee4091cdb3ec91c46f44b416e2c7c074c881c04bb90f89b01398004181e05581e03a49ce0f9f4fda96a4f9456864b55818da71d0295718becd69aa31ca160040405581e03b458cb54953ac8a00b44aa3609d87160f94c40cf071ae7bff98e7779900c014703553f3a102b4705581e03a04fc0db046d9e34245d5f0e8fbd58d1253121b1b77aab1e640b3056000c014747c928d0d43e6c03799a4f974f93d287ae49f0e18584cb1947812d264b05381befdeea6c4435ff52032d7831c14cde649a2da3ba0881e7db1960cbfdf358d66b8ad063ee50c3fe651805581d02ca8a47f3164dcb114b1a91df9bb2b84fc569bb36428cb6283fb7d54707011bffffffffffffffff05581d0302abdfab13f6ec076f4728d31c8eb3053117c6cb1a0f492df63ab6d00c014701e15a8caa7c0005581d0323eb1e03d1d12662c58c2b754a75c021e4dcb9f03ae58ab673eb99b00c182b4802606df4d6ce7a8702181805581d022f75d3a630c784d848c56b976057e64fa9a4d9d7c574216c259597810c01464fa92ba0680002191220035c14c6cd227337cf855a83d57d4af854bae83dd26b83effc7645a7f46b72f09602196fc9039dcaae869031b8fa389ccdd7e5fa177a2f76fc0364a34d6f2c8fab9892a359d1033f38f6d47a3a1516ff4abeade061cc98ec969ae41ebb6c1018a13973428784cc034035bc938b08e2cd166d5f54f1cf09ce9f6e676ead481191b20471dd71d068400310f92c9d46df81f46decdb640bf2348a7676befbecbf3f3fc098707709524a09030e723bb8736602260b5f52442359c48f2484991e01c0c7feb5c18ccd1c49df4d0300a41d91223b2a4755225508a950211de3a1e7ea731196ad0e9554334752a00c0323d35c5b5e6aad47a3b3452a95ac120226ed3f1d053e26024bd96787e8a68f7c03e49beb03770d94c71dede0299768b2804fcaf3f62259aa90711378cfe2d15faa03f77f0371ef85d3dda03e17c3a9e82842dbea22a5fb8c82265456fa0a9ff70bfc03064fb60f09dffedfd30b76e66419430cab0f8b77d5f3a726cc458f3d8f2469ee03687f5761dd69137569166775a10e600a1be2ad5e9d7bcfb90a9b8aeb05ba9fef0377c3717b443ea855965dc6c04eb04c7391528f4c55f1857aba425e04438ffdcb0311877e550f915417ac1c51eb61284358b2f4da639349247ba8992a74279cad7903fba0f9b77788418664075e45e802c1f8696719a2e5ec4f427acdc6ff7439037a0219ffff03d4dc8a6121b2a2c09a408ffd29ec4c24b872776bf73ac996433a8aba83f26b0403ef2b18ddb6790debcc947ba84a7754c36997315311a1c423a66fe050891e06dc0310660fa4e68fd71628d4388beea26e38c575d66062d1910135e612e79efaa36a0377a73ba6cb8120653719fe54fd3167c6513933eadfe2ee2a590889d9f36c808003b673566e8b0100fa697038a26f3d505e8b22c28cb1bbf8cd176f5d16bd7131e5038c4bba660582f22ca0609be3889f2def03905991015ba5a26317aebac859ecf103fd9b3c3ebd84c97d9250d5980b03d76f2a51b0c74543602c7c9bb8fccad938fd0219ffff03b8441a035ef25e14869bb471e199c9bff3697116157d3a80ebe9d33d876e749a0369a10a66a66c319f1b7a00e4122ab8bae89cb11d51d079c6304e69ea74e90b1903ac5862609b95094ccb541770d8662a71cd5b0f3ffed7be80d552b46bb87e203c03a5116eda4d9a0b40fe2d6420f27aa0c97708c82108094b6e360369ff574ffe51032cd0a9b905debec866c2c3eaed4b0a13302605ceeea76d23d2d77ece6e80a97b03f34f4a7ca52d8b2135c5b9d1c2566713a8395ae54aef8e229d5b9a76a6cd3e770219ffff031795fcdadb2c059341251ac3899e87214a76857fcaa06b76666964990e152bf003c85527e828595ae153369dc907bc52a81eda083256224f62a57819cbe36c738c03de3c9be8c117bc6cfcdce55d6734699bb0d94638a63d7b02f665dc4b8d4ba45b0338be1244236f93265650a1ef78225ea44a878084edddf5a65fdd8be535e92e5c03b6e7cfdfad1972cb477df8d75f712e61cdd0995f79bcf2c8429c68f1eae16a700307a6baefe39c58773283147b9efec5616f01e68a52ee6bd8ca5e191746527b7003478681385d4e87426358f3d10752b9c6631592f148b9aa4ada77c60f3cc0cadd035215546a6a08c429d03834320f356b8d2985999e9f1a139810a4fe8a51b6bdc20219ffff03613fc9249ab735834c63f04d3fc8b7e3322926a704d2852386ee9df91b964b70036e614bfba5c1fbbf8b76286fa85dac76f55b94adc010654bf2fc271f1194aa6c0364323b413402037faaccc8d3c0ac157cf97c1fbb7a822b7d82770fd9eb754e8603418e2350def89eb5b70552dbb93d526019bb32efa1a42e1eb3888797d87092a003b11111ee694c32d7e6964ad88238ac014ec2682fe702162128cd68c474a45f50031c6baa85f0c1a294bd1807eab3eca02ed9e30c4ead8abac35a3245916d5d51d8034c30bd35aabf1dbbb8d7354b606af9a43d3d9a7210ae02ee0e3fc3d12ad74460030269eb9f6d95492dd73486a2d7caf9c29a64174dd5cad8b3108c354ba1693270038a97ab50910b7fa341d0e486c1fe0c42da0f0df701a399d6242eabf494edf26f03c0bc648e84dc129729c2bf4312f850bb3658f0f3940582278935870cd245705d0333ebd8fc4062cb5fe6e7b0c77c6ac53abc9e97d5365fb7af88af9b1fc579b46403422fca2913d3921787c6e225cec51d0852cefcd1e4fc1d082d0d26e47041a47e03d6ef344d92b3a4a139fca516ae00c619ca2a0010ea30cd7675b946090c755fc103b7dab4f23b0135b5b3ee20f45b2f3468af6cf3d6b3433fcbefdea816d2c4a6e903f0c34c24df6afe8e2fffcd01d16b00f94ce313064ad1e3f1062aecdf8f20e4480363fd55160df6ae0ae8f1f0c221749fe3cd0f09f2432e4a0f1c5415afc80eea160335e473a9b422676ccddadc78f24ca76d4fd0349b3cf1fe8a9fadc211930835c703bfa85222980b505cf5e69b7a3d80ff31c8e30b71a0b7d0b71aebe08283356c4f038081e9a3d4690132170f6cf2331bc053f71d401182407996ff8fca67e781cc9e03c52c1439fa48dbe944ec4937965b8a7b89ab56142fa3afe23c68e5ab921267210307277c1afac42fe351d87db19b97fd0944a836ccef42f95a0ce7bc07454a34a703902d337625206de7276e947855837051be88958e16aa102053edbf09d93cc57f05581e03b8fc8f634282735c6f90255909be6c37f993b9ba53e6e6f24a6b1b23000c024236b003ef78e57b7069f6321a54b13b2e3fd4dc97d82f17ca6d4f107fa4e444fe2795ea05581e03e5b5556c763e7f9622cffad8ca13b0acfa0fcb5f6f81eeaa343a4e7a400402034d4271c6e73746f63886e028ac870e900331c1f4506d86b07030532d9a82af1d03a536954405e5c1a559a1deee6e9ee83c103a50e8751bd7f4d1777c52c9c433e405581e03b62ec55468b3ce41908cfd7c119c379995d2773262719b9bad6a7619a00c01471938c56ca1760005581d0243271389c9598b5f5c32efeb9f5267fcc8c8880b2e2820c64dfe2f5b0c18274801a8d5e311c5c993030615efb32eda0792d55aa9906f4a89d7bc57d098b0a00c53963fc67280c597670605581d02ddf91d72ad8ab027156a3a39f44d0418b38c113df0161e421c5acb7e07011bffffffffffffffff0219300005581e0316e7e22e4e53843cd344547cd1350a3e704d004b5f0e649092f2dfef600c014710351b04b66a1505581e032cdad9c2d3934b5eaf9e7fb59fb5b6769b5d002d8bc7731247f4e0ca500c02461aca0cc5b700031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03d73cb3a76e6bc49fabb5c25a5b9d4d621304d0fdd5d5adf91b123250d007011bffffffffffffffff03b0135352d4a2a10620c4f3953ecd3c3ab7258139e69bf0095d28704f2038cf7e05581e03a242cebdc3a891944e7e3bb4e41ae89d8e1aa61665aee8ac1cfbb3a1e00c181f45e8d4aafdb905581e039f23b048b468bce440918e02656e8471b3cd3dfe69636cc6b5f2388b000c0246c8e64b8134400219ff3e03b54c12943049f059d061b67ed6480f89cb6c63e3adc6d98be915e7c979865d5b03b101d27961acd75a2b64125da38f3bb48de1c43800ee379f565972529ffe7c0b03e4f550ee9c4ceb4791f2d01e09abf31d4e863ca4cf8077d8ca27797b5f2d7d9f033150b487bdbaeb5db0dc16baa8457a3f35e30a00b86a5161e8251d467fbe3b00036aa64809c14b2fd82b113e31673189caf2cdc05a282f3a76c45587d54fb518b60365933e6c950fd882b9583a3728cf3150928110cfd616abb883afaa7f1fb086630219ffff03f6ba161d6780ac5992d120bedee040b6ea0835678b237c286ee33df931ce3fe303d9e9afeec841e764bbf35ebee99d21eea87155a04b3ea0c4d5688cf0a2e1034e0352a104c9e01e8938a274aec6868fe01e1757405b925609f5d9a9b22cd24c0cea0219ffff0303ae600afa1a134200d1251855d5dae7d7979b44449e257319625cf97f08fc06031a0f7d056d1711275c55ea90ee6570eb4af9eab16cd508f47c6502ff7ce220cc03d7f3a68fd54367d741754e65e053473a3de2d983547b2ab1ad42c06661b02945034900e8442e4512d36092d50c9c4f05568d1235481f62b42f0a34a4ffb70936ba03a79bbe972fd5e0917c531191f1269ff17ab579caab753c4ddc02d130621d0a2b038bb6493f9908b61d44a251df9166dc9f0f6175688b182ebd2bec39cf4115e633031c47c6fd4816c6b1bc3d3ec9da8997621cd33f690740cb13d2c450509091b67d0350bd3d00a733538c9641622286bed1dd665531c4883148f39bd3ca44a84f04a6037e0b3df460dd011eee535a0c2f5729798e85e01bd362a70403e8dedead5f6195032dd08e78e0cc3fc35ae6a1cda1271bbbfc0076b68038d5273fa4655025039be903cca304feb1ade5b725451dc1bb9df55e9a4ab0176fbd044d64bf0e624cb938f503b9be37b54d8b60a6f12535f9613e72c7c14a0bb7b22b4ecb8a4d0a5e897796d503a9dd54e08b637c32e9bc1e8ffdf97f1275e61dea20ead25f72450c7632092fe60380e00823182595f5cc0c463f7a05655e107386e7af96afbdec701ded5ebafa850317aa24b0deb4d68dfd612932184039e770f2afc7231071c2a99f21bb06b816a60219ffff0348ff756b7b2910541549d32df3dada4b1e59f7c17527204a4c1321543063493403db479b117bd7058985d9738d6791d4dc05131ba981f3c640499e2c508bb4d48203a780668f10bc1c027ad787b755c8a2798aeb64580f2671c8bbb596d8991461dd03ff3c25375eca45a76e71453a7404a57c260d4671610a74edecb0b05183a7414503dbd49425d7e034c8ba3c27abf5fc0fd7ca1ead35f5efb0121eb2a24564d6f63703ba2eb098d1fd07f574c84f7fe68baf0b668adb05829c44d7ee05a601e0388857031a23780cb3ff3b57089d58a9d0981c7ff7a7e1b469069327f1c268dc080d84b503d29139cb6ba7066a2f6dd3c6dad524293690268c8e7a2686b3ba7e1d04cbb12403ee349cf9b0fabd75c730164c279646c8f72a6bf221f4e624df7b7edee72a367d031a5217ff6fad41849d99f9827e3677372e3657564122bae5f981d0a9ea0027e703fc79e0ef857f8c179fd67aae82afd2ec7616c12d3fdb6d26840487a1093aca310347e9718aee61b0d0f6bfec63ddedee93dae5d405b39881395fd2b6a2be2c660403ea275ccdb2e4dcc1fffa7bbfcdc56d5064d375e2d5cfe790236e84975b485382036cfbf863e10e66f2162b5487c8957458d7eb5992f450dd6319a4a6e378d528f303620d1c9c8187542e72cf43dd0f172b76f4fc862ce226816d8ce1e71b0f9a551f03ee8166b159c41881f8ce9ea246c0fe775544c03116787c9591340ec85f6ee1520323c611a772d26de0cdceeccbb611e95b0e7ec4b476ce869800c04ef9c09041810361313f6d0bfedc97f81a896695230b78cf66d461d489c0f5aaffb9ba0d3cedc403eb01cccec726012394d7e79ddc0fc350c72ed29126b5e6351322ed54eb00dd440318b134da4e852d06f64a128a9cae7a6dfa731203298b57da593f556686f93c570361f70ece2c20717c1a003fc6a0daf76a6ee2a700b6942c1e00dd4ed126317ed603a6457b327bf6281798b8583172f4d5e34b55b43147c893e063194b45ce6efb6c03342a3a8cb19137defbbf7c94fa2107a91e9c5eacabb93a9cd701ef351eea894b031b2c0f44f0b75f926bf36e3edb4177539980771630c1816e099061d85ac48712038bf25d787e0918d9eb6e6dfd035eac418a5b8148b29dfed16e11ae1cbb1baa1d0370bfe789e9bbb23eb1231c7eeaaacbb01a17c5d8218b71e23e5da88b964adb6e03a1949729499b20af72d6c7f10835508918865d84c64944249dfb646726cb5d17034de0530dbd99a4edd336a9d6f5f1cb3d508198b0c100b077749f82b541bf0b87030aa95711fb4e17395322968736d0ae521a2b05023ab7412b034e68b3d11d0d2303188518051da5a3da90bb517d4f8b3c3d540f160e02c936f7dcb0ebdcb0cdd8b603fa92dc8258e9910d8a2e57c50b7829638ab0c5b48a6064113fe00bd8e0621ec5030c89cfa793ae02083f20829a055940194a32d23d220d9ffd0e178734bf4550a505581e0385334eed49bb1ebac6547fd07c0002433f836c3e135f83539fabbf56d0040105581e03fa4bae58013fa92d58ad2b359ed70a7e7f55935f0fc5b3f5ae42426ea0040305581e0332fc687904a6e8cbf6600c451b45d5dc3b9e9c8c13935f63dbff47c190040105581e03202f0192bf12b53e19783887e1cd5a74fc14ad283fff595a8ad308c9100c01478718e3637f449e05581e036774518e99224f14498d1a9fa3592de13c4853caf9c1ed98029ef42000040205581e03ec5efb1bfa918731def1795f435aac634a1439433bded7620f2a5525a0040105581e03f17a9a0fe9e868bc717dcafca6d852aff8e662731325ff1a9c5db19e40040205581e03eceb89305d400a896751da87f0004cc18e8a8c8b9fbdbd23509d2043d00c01470fe6f3ee4b180003be0e8fc03f6c3d4c58775ca20453c7e638210f39b4849aeb16b3ad9bdc757dda05581e03cede3e7a726aa4dca66437d1431f7ec17428045aba4858dc3b57b574100c0a46354f7022890003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03b38ab45c1d30df6e3b2f478cb8a89a0a6c6e2869b8f1537d8f0c3d313007011bffffffffffffffff0219eeb9039e1e07f39ec1a42846e80f492b01ddf2d49600a19f31866ff30eeb0a3a07588803a8d3ce1d975f7dba9e7aae0cb47fc4855005ddc5d0b0c2428e32ba325750a14203ebe2904bbc841ab53ca76d1a41aee56ada449afc46225179bc0d3527225984d603e66b1b8bc56c5ab3b000a09fce4e4850ad5aa954bc1bd16ed35b8877ed49eb360371d24787c9b409dc8a968796ff37977ffecd924fe4bec1d70b1b37c1d531145d033ffb0610c561b8c74ddc68826a3b92ffdab66f33cd5e9c8c2f552db7f55c321f03454d6d99d576e8e3060085851fc21b82d75ce87549694c1fb7fbbdeb4b85a3e703d043d0085451d4072905ffa5b97d42e059c9891c3fe1d1732a0a6f8e7989481f035211984b0872af768e771cd9cc6a3c73eeaaadf314f96db809b51b0b3dee891e03bc3eb41221d4adcb330cf5a4b04010e37a701c57f9d7adc1c59723b978c09d890219ffff0324c2d97ca26aef1600b7af5ea3ed1fb43dfc535f230051f7295f550ae757d3460334d100e6df70de33d05c8cb04d1049c414b4dcfc98546ced636f82e0993f9b910359dd1bd6563e673a7e37f62ccd309e909c85cfe6a3ece7e4c5eca1bc882128c7031581b876b4b03649366705fe55310551fde15360bafb20cb809e405af34023f20371fc3049d6d173cef078ddc490153f5f522cb30958674dac35f9378423af106c03f7d98166e5a5d4e60c0d0bb5e7b456b91fa91b1c823c45e9ed2e9e48b0e73fc503bd148f52fd05479e80209db58b8e44894891bac7978d3cc902da7fac8d03cf6a031dd028204661c9d48d3c74294eb1e36781bd0beeee7b07a26f6dcdcb3d09440603b6ac75be5a151972a3b007333e947c9344a8a6e46959fcf251f4d731c43eb6f70219ffff030d4b6b7cebe62f6b8cdc14810b5e7fbda0586d11c7dbd8b2ce67cc110283f28c03d26704bea04850a046058ba335f9ea4ca64df2a22fd73b73298dbf6fdddb2fc7033f984c1114588a07bf8b00f6544150f753679380c533f7d5b3fb74411565d68803875e6b8dbec543a1f3169d137bb4f004b8c952e301a20c315ce22313f53f0351037866e36c411b4112ca95c5901f92ed1573b8e85af538f9c340135473ee43c1760219ffff0394369b31fe245e9251286728cbb1d6815da2af74c681c3c36efec63df92383fa03206708f6059ba19605c3eb2af8025105a424436585bad376ab7e2391f509508b0219ffff03e686c9e2cb5323d2083fbfa6f2a3b84827cf755b9def496dcedde009e35a96ff03277def4e985549d6dbc959fa32dde6baa9f8fef0e209e61604090c4ebd86118803adfd03d18062f0612b2f959f52173162506fffd600a08fe55bcca26a9e5c75e403b738d35fe97b8e1fad7c4abf84979f3a1e4ad932f0cdfbc1f24a0405e42044ee03fcb87e50f4742a2c0ef08a5d67210d5e6e4c029b6adfc0e3220a9e6079de21a30316819cb02eb1f0875f2676880735476b62160fcf4f842d6e007cd5c1757ad9db03436d52297f8a97fc80b3104ffffecdc44a3a433908f3f7d54705db8e972b9be603a66602c2e4ad358dafb5bddd6a35a39025ad9a9fc91d12361f1ac8f8c0389f40038f7a7ee2141ad69a6db98d7c2be276ef888572fe86fbc663f5908bb25b07a50403a6b7f2bdbfe271b7e57a2078920c5a12d279c34a4d1a8e09debae8c1fe0ebdd90370e7415b643b31629bbfe67a9e60e86f74f5dad7561790d4d59b160148182e1303369631435958ef9f295a4ed5e90b0605ae1bc2df6205a184b4dad1191752088d03a9143174a0d0cde07f5272494cb2dfcc28bc20189099f2e9928e893a7811351c038e841ddbe563e4b6e16226d697d86be937c682952a86ec2e1fd7f5098b16bdb00324c80739fc4f7968a44a2d7ad43555b91b7413ba81d3f491486e4daea21ed9ae034cf8cb51cac1a7dda9a3c583d8eaf333bc8732ffe7d5819dcf6ded6c82dfa30f030f49c2401215360deeadd205c7ceb40efeb63ebf49919db1858292ca2c55f84e03cbc59275bcb653fb9df13e179ab8cadb254e5d3d9f5492588c21ccdc233697e30323d34f6121f462f3d24d27726a55299652c310ec8e2e54b109191da3941eb04803994e2ea5e74bfe547bedc6093ea6ebc44072eb60a4042d666d8bb9a272c7a8f3039c07f613281b475c1787b013241085f0f12eb4e010fb72cc034edf52db023d9103ffe07b1928a201ca357a6af8892ed545b1a0de364b919df72668f560f59dced8039467a6186885b785cfb95d0bc990375b7eefef0e0c7d17bb6bb864b67d0fb558035b8699cbd4ccbdc734c8af3d0bd664bd04b7711fb11e49c89980f03d55270b4f030be0c0a05afde7435f95639fbf6e9b3dac88a15e588adc782c93d156dd5e3d400386d301b2384194d399bc431571fb662d9619eb0cb066f1ac9781207132a3147f03632d8d59026a56884caa2b60559703fdaae7e57e96eeef1efca15e652a1f18070335ebed989868b3a943b6ca5517f813cabb8015cca93d1c88b1a0e45eebdce3ea0304c4ae13230a94ee8bd7f7bb142e340416420fce919d12060c351a510301696f036e94b44e81772edd548a411991fa6de58524bdef3c2e26f8bab497d30099f12d03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03f6e996d4422b6a042c91751342499d9dc7ab564e008abdc40490a2f69007011bffffffffffffffff05581d02fab8c0385864b84c0c1d65eb41e553a360cbe7dd87547548595a8ef70c0147109443acfaa0b905581d025b4de104af4f74a04638c3a7a75e77711ac288fe00c892b394563fdb0c04476628c1cab8016e0219800205581e032537e10a917136d070a0ff3ba7af3b8fb16eb2786095c2b4ea9e497eb00c0247027a0596b08fc005581e03f48d72a36ccf033fcd4ef64a9d5c05a49e9c01799b6a4a3f1303dc4eb00c024744fbdafb89154005581e036506b787f164e01f0fda012fe9e6d10dd891d6df55608caf4f8302c2500c054635b19ffcdee805581e03e53a1b2f67255161b19ce932f3251393a3b012c8fef615a9ddd341de8008477892e2ccb5a80005581e03f690beabcc66b0ae95f36f3600583c114965fe96b9b6d44a0f6e9b88a00c0347179cc7b432d40003956d77496d0f2ef8dbd2c2af830437aa2660548aa957b3f996c71d5c3d09320c05581e03a0ae5efacd754953a534f19d128232e6be3a80b4fdb03a9f46c7b5ee200c024695fb52a7f1a003252d1baae9a6b50f9e5d5c5db6c3f0929df25a7ae2215520bac1b7a3933b99590219cb6d03bd43aed61453eaccddb475e9336a882f03304ae9239678314645b76206a4f45f03401e84cdee790c1b7eb0d69fd8142b2403778cad86479b8aa268542b951744db03d7da5618e74e6dd7444eaa0d029c8a3e2f20b6e2c9c262d4daead4e32ae8b3bd03d3b1343afc7820251094d0f78d6acb8ed896bd4bbc0012ee01e86e5fbbb1f26b03084723c62d20e4776e18dd7b814e5c61f31466f4f893889a27e86ecde9cea3f30219ffff03532c295164289c5bd6f728131623478250286d395bdbd1f93b7e763ddf155fe5033a5abecb9df65a7082e2eda8b8815191ae7f700f20d93dc1445bf7cfa75e0d6f03a2c213442fe78dad144baf8d0d73690f49fb595aacb8a34b953bf9fc489c0c27034d182909cb1695f83efd9cb941d00b57a40b10436d9334d65db3566d2124378d03860ef3861acc2adedec44dcb7d97b5b83eb200fd160c2ded787f07e8608f9c720370074b7350eb90e44090834b0886ccbc784968f2e7d716429955cfcd72fd84d003803e662fde4703666dbfe657995ce89be3ae9f619184ca5bc97aeb6a198333520302f347819ba03a9ae07d8b4374b97fd46accce6e025e022b489391d75beb38dc03cf7e38fa746a9e4d1a8256a48f15bf37abd56e22edf8e4e88ff2425323c6086803609723794d10606015f15ff320d2b46b9515df2141c0a90495d35605a06e5a4303f26c3217ee4acc2c0ef55c821fbc780c04f55e085959d40a9bb1d15598aff12003e03533e693984b7b92884792f1aebb0cd4fb46571bcd22e21bf32d56d79d3c9a03def92f9728c3e4f7722bd17b60fdfa5c9ce7f507feafe837d968bf76c15b219c03cf822d7a109f3f039112746013f39215be29f7cebdeba3ecf9c3c860259567df0219ffff036de2f7bc544ceaff10346f471fc3422ae0b64e775dff3f68c6e9692d6f7069e003b39db219eff1e0230878e7d231d708245d5ec666988062c233a590a144cc62a303279c3708b9ee13fc8522459a6ba3dcbf20cf187105c3ab43cde955703c6d97e50219ffff030c0ebd1cb3bff3c3770eb8b8b30db6e3fe607ffc7f13e355c287b30542ae4f820398650fb113b6a68911cab0f06a4066fe71eae66f7f86e2e577ce4ab1ba2896280336cd00be98111ed0214b70189931e8dc3296f583b331147054754f6f3cac954903f02f8834c9c722eb1587f54e74ace2f73a7129a96fd2b3862325d51e49da5a04037d2a4fbeae95247f0342b6d7a68abcc7efa14174c6d29ea5c4349b76b4bab3a3034a5aeb0995625b8a42a3b04974a93af6afd4ab6f25f063765683072564120a6303a1f2c5b3c20974c3fc460a66928d452e7998fc10c5437c7393a641328c596a6303b043cc486583fda6d82cc1456b2432cfabef4868898015f9aec45bb503fb87a40326869c54edd9a40793dbbede8915b495298f2e6b86f3df4d8d027ca8f7b63a6803201a4389082f87dd17d68a329779d1e9a7334aff9450b01d64b3bafdcede29f3035bf39907c836daee7d56294bb18c41ee846a43aa13aa874279b5a0d7e8e1568c0394d69b0287d4e9567393eff7ee459bb828cf5dfb3e5bf5dd772de29e6b002a4e035f557a3dea750359c973150a1db87e4ea4010810ef62b83df00145567eda4aa0032106f79335f13575c497c0eacd32199d313610d1ffe4f3cc0b63e1e0f941844d036504e0d63ae34ae5f42f685c4f62edeb149775646321e668135b45db7249087603a26d76c3ed2cc8fcf294bb440693c7bc6f356801eb00664b92927509594a977f03ba9573e86ec2bb129228ff9b658d6fc6556ab18e4620eacedd2907814da3a2e20355ee4a89da24a2189277db4756575f4de3046e231a053457e32a6b8468ff5fa803dd8d497faab5e30fecab12a6566b14cff7a20c17a396ada7269e53decdd102e803dc4b2bacbd9bd23a2452fd36129412149fe1db20ddd72446c9ade04d9b933bcf0330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e032897345624f7a27a96839401708e4191bd4953615529cd5db7b96141d007011bffffffffffffffff05581e0322b2d490835e8d73aeb97b5b390bf4618e3c020feafc86ee0e71a81c100c1903d14798339e0048bdfe03ada7ce430d1ead5a7a2d2a486590332a71c42cc8eb7848c601c94215d598f1e4038fc3b9630ac43568dba2b5afd6f2bf98db723042bf9b59da8592f412d9db5b270219b02a035cc5c22ccbfa4ddd6e8f8e7ac01e2bea7ee9b41d53623caccce6c69945212b8303314491a16cf80d3b283d744616d36ea6361113c7eef0e1f9e20f8b917743306c039967e67c63813e2313b277c7700fa5a8acca86e0b9c5c97cdc861424a77eb8780347839c792ec226906b5172c888a908809b17928dd79265f7256c2816b9e0244203db8f7048ce4facd45787a772cc02ccfd655683e4bfc0fbcd7cd5537d71ddaa18031d122887ea865f8f8e2d2ac070ea46422edd9192587781b4c88a08191980777403e8a2e7fe8dcd0de1833d69d232eda3f107d5bd79bbb64f159019c7bef9e7dd12032da17372e807b67ddb5b95d0207199187e90dfcb8cb1327f6f99659b3f937c2303bc17c76816911133a338ee55ccd6ba9e5ff5faa045a3fa4349af12aee7d1324a0219ffff0352f153ee29ce26047edc591c615b83d9c7a09c708b841fd48d4012d1302098aa0334d8ed624f6648cd4ad06bdc0c3ed84c823225e89161b8b788684d94e9055a9803cb03132fc2c033fdd763e9c3c5a78149fb2c9046cbd5887d6217f602a9ce9bb103a5aea593514405454216de73c7858927ba2db1c12172a065314940930643a28c0326251c992c63b272f1e7d13df82a6b9045c54098868e4211ecc1784aa4dd628203c482ec7e93fdff55015e635f1a3de5ec95bd9964c23f683adb098e738881e2d603196791f25da281beb846fdb02f20a8d72feb0f81225286d35a4c573de14945f703c45b49770d85f3b15b3e230ffd7ff27d292a5a3aec7eac671e8e7a1a9307247b03e92198421403f6cda781da58e28da46545ced046788e5915cd178cf097651d8c0305178aee56e21afe40a242fb0553bd20bbbdc327101618c0414219e2d7f3c16d03f0bec0edf3359b007cb093b31f774981b6e68e0a7d569ffff828556fbe111dd90219ffff03f803539bd9379aabf1e9ba052b11280e82b7226d9ba10aefaa4f8fad3a500b28039a7b730d93f1f7ede709875e8c048b0703c50ac028fb1115c63a57ccb5004f11031cb837b24b68d73a787211f1bb804bbe2c03a9219649258ab2ce8e42252a6aee030105025f744717644295e85dc509b9566b4c7824d75673e898922f631d5f3d7603f51074333c8199e1a3abd9d28967aec93908fccf25c977bccc508437bd7629e303581ce4bbcd75aaf97c916042dccb7f3c4fd2cb1ad8c666933626e6d8eae73497031e1c6ceb7f3718af3d0c7da0f18078305ce1d3eb3fc131ca19b972ece86402060314aa0347cad3e0da9a703190c9a7e36db5308472b75e41668feafae6281f65e8037414792354994347dd8750a3affec5b092091e0ab91f8876862cc21efcb37c8503fc71a9934c9a6dada18311a7ed23a44d0a7948d5fd6c575f38aa5dad7ebb20da03829160ce4ae1e0727c430c159be38c522db28c1dbaf22034c426743d6177c5f803472e18fd2ec101fac9cbb0cdc29bfff9c5062100155d7de2365ad8e275577b190219ffff03b4fa8869232a8487fb16a3fa4a013629da93280b6a0f77081b00b646588c10c003b9c554247e4534c3c8deb025ba1643a130bf970117f19ef082dad1984cf827090219ffff03f92069d0d2d82220aac99fe5069fc3bfe227db7900da81322a3b2cca1408debe03dba8f4f9dc0ef19aac264df0a46c44142f6aff89eec24a0a9a2877a09024e0500343e3fb3215eb1e9e505b73c761a88193ac12b33b5650740108d6a9c20c0baedf031a5f8aa84710eb895f78faa3f2f5ee49208f3140a9ed45f81dc371792e6f85cc032432f8a7d3f78bee7606b79c0b11497296e14d93debc6828b34258b39d57427e03ace887f05987e3778c7c781b236161977f8bd45709785bdc78efa791670b63c3038dd7d0f075bd792e46cde9c8c6e6f4318d32975abef440111513864a0c3e68a50368588c0ca84172b2b44da58e72182504e76febe3b51e41aafbfd8d24174c9283037f9eab3b5b30ea0c30e1f74723cf222276b1c530a2653bac4b14883e7fc37679038286f9f834399612b079230a385c3ee296fb991992d8f2113d7140e6db9a7949037d5d4b4ccff3fca9e5becf9d087602a8c5a431740418064114d73199a01324dc03389837fc887034b85188377808d64f7dca139ac35be8de87f7e02dc6a463e7a7036039f34d19ce61ad2506f95eb87f832c2afaf7e8cc54421569f042d1d7dfaf460347ffa3eec6de5042f1bfd69c4eb33eb01b5b0d352ab1f51b5a89d1367ca9a6b403aaa78f63d33517f998c5e5f00ad6e66df2a9dfabcd78f01a095998de7df07bf5036a82a1afd5a32ab06a9496e3744b0d9b4b7f5042e3b8e0ffba88686623f8003003e349bb944188bb6cec67ab38e8beb525a5c70b9f872de8559777caa58f30a6eb034e8a5693ecb0da4b8382ea10c4a2de307f3aefc5e894324ea538d420ee085cbc03f093a6f20376e5236a2afd58057dd29a3bb831e9aff0a6d9fdbaf662b1ae3d8b05581e03045b4b91831b79678ff0fbb0a79ab4567cd61469900addef3b97cd26e007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0302a3904d377083ac29714f4691dd5aa483626237aa2502fd878c719e9007011bffffffffffffffff0374f063712cc6ccb8f40c4c66d7e480e638b023ddea6326890eba5ebf9252793d031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03b1d5eb9625981a611e544518626aed8be804628e0297ca32f628eaad6007011bffffffffffffffff05581e0353b0c0c5fb3157410a714d6a128d0beb654d670ac9721595287677514008476c49b782612c0005581e03f71342100338b5f4f63bfa887ce501ba30c61396b3771322d0ef9ef030040205581e03d4c2ffa79a7e01b1e0df2df639aba49f000dd85f42508281f9a26222600c03466cc9b6ed304003182e1664139cdc2bc2ce06b5c407d0be657e0a5016dd5664dca604f83916b24005581e03d1d9bcbb39dcadb1f45b3e586e7547726976a9f671a7a97f2123c29740040202197c9c0302121f466ffef1728b902200420072d37d42fadeef23ea5d3af7e76f5bc277ea03130e7d98af749639839341719eb39f03cfefd3736b25a241cd0455c7cea18b59034d048a5daed4d5335ef84ff7b16f042dac8b83a771fe53aecc1bcb05ef33806803f99959961d2034c9530feadc8b6c17ac1057335f2d2ca90e53808deac2b8a4ad03bacf3cf9b6348a7e74ae3f515aa4ee450adf49281accd338d7504aeb05d1bd59035819975c9d30e460e2a39598316b20838ec8a9dbc6df76ef1e7ecc267127824303aa5bc784cbf0bfa2703dbca002f9ad839508df2b9ba2fadcef6e433e480a6f4f03fff2bf1300a71e1a38319d26f4f992a41bdcc439b5d9ead989c82f7b69746e6203b37d514c8603ac79e089999610eda80f1efaf28616c16fb37d88ed76e9e184d1037a5f04070fa43e823db6de9e878f530878bcd976c15761f42c098564c84882b20219ffff03c1b59bb798373d9576a082841abcb4709385f991dca5243244af02e1bcb08e5103ccbf59832d2c5287f3dc83c28bf9687996d6b8b0abb07ab4c67d03c2cddc592703ecc208827375dbd426faa91cb7f4797336e6d2979a162994c24c371d919dc94c03d855bc73805109b270408ef7db68a287182dac94086576e098d14f53584f8be4033dbaa3b43a8dc86399f20cfa7a578843d858feb0f129662c5e2967429017dbd203fd18f5a699229419d854cc3036c1b702e7bb944a41a0435747cc79d52dbee82f031586aa41b7350f69641967d94800d0eb59c90bedb31a45ecc672c0aac783a28a035c35aa62e0e6276614b7b1d6a0b19e46e3f4ee036d8e339a7b895c2bd4222e2d03f85d8d79a9d937c804c2aa1f70f4b178245e5fecbfb99b23013be430f1db140903875cc2256be791b4f82a776ebd4ad45f16bb3fba152b7db79033efcb26d404cd03a5030d6412f103598578669c40d0a16712e2052a40507858e3a721eae6c769d60356916f4d8e78ff80d4302d4fda28e38dede2625e1ea15bafe2f814bdf211afd1036697b11da1d6639f10a8877312b457f2edf4f8c48ad41787dc3553eb9e446ac70219ffff0352e17558296994bfd34eeae198002b469f11be0518b3428d9bc4a3274ef69bd003ca54d37060f13d4e292a64715d21f9a3ef03a9621bb5c102f24f6293b79a96260329e08d82a711dc6ee29c933fae6ca79f640517d08b95ce7f682207040798494a031b6bd8082b225a58b73a51203bc64c530471c046910dd90826bab6ff39870e2d033221bc8690e421d357a5985f7a081b953f556b95d30b886f7b0c646937f0086d03b21400001326fbd493cbfdfb369f423f468a1ec19624a58aa339df19827a238c03755dcdc4d8f6c8aa9a20d2c43bda56c3a6322a55466d851aab29c06d6b9eaf1403c2175adfcddbcaf79db20d11cdfd02487577daeb8ea2711cafb7f9cf065aef60030e437b886746b37b7f5aff652252c69e5458120783153d62818adaa6938858060219ffff038bb91ce6fa37e84188d5490604cb016dee0a4e73a9687bdef6fd706c2879062a037e5758216ba59bffcafe76ed7b25d6bef1723524de164a0ba697a8bc93f8f17603bea800c25f178e0609aa99461c62b7e3eb60851bf02bf179c19a772a2a43c97703e4a7ed7cddc31e3639c3bbc5ff049d1a33b58180cf34b8308a045c49286ddd8103767776fe814326336884a4ae2aaaa7c030941b3ad6bc69ee73db576546dde95e0301781274388fc217b3b5a3f13b280cd6c559b2f6299bd9c3553222cf4ae8fcfe03f62012a6253d83f8582fb5bbb5ef13258ac045d1d5dc143fca81b127397682ae03b307103209487b1828bb35266e18e8f20b167167b042a5f0a01e81bf2ade521a0316473a3e08dde6d3cd2e5b3dc8d4b1db4508de88a01fdd5c473df7e696cc878a03754fbed465ba9822bdaf068692dcd626b7c22bdc593e98b5aadb6a322dc451f303c3df528e1336db011839e0b004dc8c4a6449a1df7dc75d4edf24ea5d56824b70032b00306ac2e13fd3e7d1869b0c9d3f654233ac63fb42c06114864528bcf03c4a0336609e49231f381b75f619ef0ef245cf3c7c162957af0b197704121fb19a857d030e6aac48f3e3754caa1c290da8c18826f5246c02ea43353eadfaf69f702f14a9037a8c6d3c6153ca035db434f2c445f734e15f8c888f27055517a6383be378a7bf0384f91d95f4bba68c27035d686fcf689bc67c744e86686a2329cbaad927df275f03d3c792fa7571151b96eef5e67e727ac04db21b0459594bd99d721abe104e3bb703034fe73416190b36133c606af12142121371399771dbc70cd38758ed4f0d2a9b031579e96fa43c08b9d058b935174c1202e3a4fa858f99a76576f13f67e1f06ef10388ae064af194360b75c394253dd4fe1e9367bf55bfbba4a1b7b7fb869af9fcc403b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e0356db824d61a75bcdefab2c546de1cf29ac9f8f5aadb05fd1af007f3ce007011bffffffffffffffff03a2685f61f1b24c1d0ee008470bb53a7f9a457d289ead7f4f4f1260294d02c68c03e830f020e2148c69e852a93a17de65d349f96af0a6b4dfeb63d71e55ea13cc210354c9462ea7f58ab3dab58d1ac4f0127650cca96e025bdacb8abde3111bc6f2bf05581e03e3152ca530923ae2aa2382c28563b59c4c791f2f33677c0471aba9e6900c05463071cfbeb6a003c667c10a550f012b1829a37e2e973bd22650df83f7ec623509d3140688fe79d7021942a303279a2ad587de7647730017fc22b010474e5c5907351e8dbc6b9bbfbaaa6bbb7803dff2e3ee64fe810bacad59ad90c8783096bff0560867474b3a63a5211656d7ab03199a1af9effeb7923cf99e17835f502d2e14818422982b2db8c3aa3e29a7e58703e3a33a5e5a09aa33a2294af821e1546a9c0f1584367ff899192d14b9cd0b22f503994de123cd4e6f48f5e86aa68e59db732d1b56b0448b84d01c1e25832e517182037a044b50452178185ba81ec41de778ed96e210d698564aeee490301e73fa2fa9032ce734653e39719cfb1c55359bc44e45087370840d8b0113dd954098574ba099033e3c5e79a8ffaf5c7178b9fe4bf2e266018a22f8363dcc15a25b354ae0d9875803df17f339d7b939e706b7cc1fd733ff362a4a2f380af7848f9ad2c590338b13f00219ffff038013670dec043c4b6caa2ab0bd9f2a5cea5d84e9f7b245c04ebaa10ca03322ff0324842c70e83bf315f5dd6a6c04c0d3aae4929b18d2db8b0c99793631c5bdcb8f03383b456c2c7867607b1f15e5992ec939d116491b0286a40538776e4b5830b59f038d22c7c0afecb20f4288684ff094b82db27836714cc0a77d687e4aa3e039882a0327d6fa85da91b192cfefbc6534dd21a1c6e8f8155dd9ce7387899af883c11073030eb87214510ddd9906e32c56e714c5c619e2fe1d3fa9109a7c46c8c01ba20fe7032130e77229d5d643c519b62a438122bab8a151b1ac02156af584ac8e3e242beb03effe48750c954b9be7a73cf8ae7e80b28fe755f1ff9cda600333901599693915039eb410e71db76de5b1cfdcb286a1ee431be9a5894c0ae027f62229146a297afb0219ffff034d0098dfafd036a6706130b6b7893393989a0df6d8bbac5bc2dab1bfbcf5673203b3a0ceefdf6f4cb9bcb819f2b5547ed79704d256a4fafe7be042ca98e7e3993203ac396a435472e482fe31c2bb35dcc1b5dc942a613c86525674589c9e90760a4a038d3dc705659fa8d0e190c7f06e0171d81d2d365341ab018a092d767a7d80cae103848d92abcbf067d47bf7242e66bac94f756d6dbd4a18154299e56b571c2ae9660346e727933098fa50a99826ca1b601ecc96f9c3f3042a0f429354fd65dbbec70b0360df7756c138b636702916b5512257366be12647c2dd26aa46f47fb7997c8ecd036fdb71e1fece15adf90de2df4d9323dfb791f87b9517a5d28fa3c4a787b9d86803d0d5fdbd232ddd676277041bc53139cb91cb19268985bf90d60ba8890cd901b50219ffff0388819fb8578642b0120504df5ef128545d781854422f08029a00268195dc95f603fd6572d1fac01dfa61a31c91dd231fb9320a19133aa46eddd05737121f4ccf49036d8aded985ceb4b9bcd5015d50933d84058f03f034e77ea06ed749a358ce5d570339ea5b5dfa3d3abbaef8c0c7ea52ade32cae355c821f16cab72a3fbcc9f169b20350fe0d0651561a06609b945c141a96f634fd96f48823e09ce192753b50d313d0032438c46bc7b27e4ad0b16bfa3873d5db35c372629ba35973ccfcc9a17374137b03f43517d4da3874f9091cf9674bbe77f3959dceca969182591ce749c3a43cc57203f8ae6a639861f8320cbfd38500bd6af293263d0b65a155228e5b93cdb5b3fffe033c7ba7b46e5b573170248e45279dc1a00dc47bf4ca434c9bbbfd0a633add00ae03a4eb8d247a3e0dbba0dc35e275b3848591fa203957eed642883b52e95e438ee803f502ce5e44af551eb0009fbb7f91f3f405f703621639c5c0b555756dd9127935039492956717d4eba1b3bc9fe0ee86c6890f00ff217f4f7ad86ec5f9135ab56e1003e3157a4daf777d62fe77b9bfbc2c8b41237ede58ffd26cecc851afb9112323ce03b53555effd412387f72a94aa10c40937b6da66178b267f7229370a334f8dfbbc033301407251678673ef15867f65589ae71883bfb12d8d879dc62a6e60ec98578e03d82327e2c8b06baa4a280cb11bd3c36b0188598dc2a69a64aa19f673e2f5ae16034f0d73e56c428b4e839d41d012d5ad491a412c012a35b94a0c41b3190d71fdb903b7d99d61ea1aaead6389737687a7063f5bce6dba8cfb5d4911cf52abe22015ce0374d2566b886ecc2abd1c61bbdea66da13b97632141dc079b8322a1baf7bf30ff03ff2ad30d0af0603804d167af5d4d0096912911045336305cd584b173208fdd0205581d0250591b5ea2aac34b00668f281e8d1b970e3e6b418e46aacba03e51500c01471089853e86120005581d02fa37d7960cb44975962295d5f10d29e195ec072d8de3ec109e88290a08481be3f7330d4e76e005581d02ea4e81e2f45fbab97cf58ec975338e8a96258e1814fe40d9808c2e660c04476a0cd79aa5a0d505581d023ba2e6eecf4efdcc1509ce1917840e704f8d9158cd2422864352dc4a0c034707c63acfcf6339021984a0030065e4e45eccafaa012dbe206862833f38ece8649f38b6da0e48b9ab70f7db220308092ea0082c85cf086e0fee076eed68cba44d3cc9f48ecc7c940454a9481afd0363ded65b5ea507fc95e9eaab582fb12beb310d652c6fff8e1bf746d86a7aeda605581e0393a134da534f88ccea681e92da829994ff654cfd95254a8f12b92438e00401036ce2a1f7de38ccbe7ec87a5d31265ab298a1672413a6b0d2e3e0d0ca32dae2e803b6a8ed415daec78e74e0ece7b40a3df52c9f1b3427dc80b1639e11e5d001121103e6bbd689404c3b2958a6f821993e1f59b19eacbe26c3082c41a1128d5816218c05581e0374dde529fadf89a3610d156174bdf85ab25755ade771e18209b8e41fd004010219ea930369125cd807f538f154f4d8442cc9af8ed6fd1cf506b29bcdec4acc4a0e9ada6e0300a437c92ae6b0bcd61b9bd3364dfbe1179a667456e1c05c595433c669911b7a0300fae4fe5afeb3d386455e14fcd818005dcdee4dac3bcd8e849ba78641e3730603e993f6e3a4098d0453ec536d4389d399e77458a0bfccb01fdc4624d2d37a1a5503d6b772c4ed025328a94772a57fcd658f1a1f54ebabd5ca7baf49e45e86221b9203bbf03a6bfb918e8467b6920b60c3f727d216dd6fb36a1a26463d9e28b6a778fc03052f5a590193b203d40852bddb29101ddfafd522241460ec1ede6d7af794dc26033a2deab6196ebcc9aff7dcf8eb707ca8ceec56b1a30bb010bb63658b8ce8529e03bdab2bc807988517f25960e0a4f792fb87896c2b9790c8f16ed54e053175274c0377ec11332464f7b039ce002e8d3d56204d9d16eb4f7cf29d043beab6817ad00a03ef1101b35a7e53d801f57de6cea16db7c3ede6ad2a7ff7928ee7bf9b331ff16703fcf76e84c5b9cd822117d8be4e73adef2b1425bea8d9aa9d3ea3bcc50e8cce9a0357d851c872015882d9982e478e8aa14ac84d94dcb9a8c766712769813c7e24f103c9de2eaf48cb32254e229afc5bca64086c447e3b4d445cc7020b5e08d2cf5bc70219ffff03a82879dad247ced0846cb0cdcbe4a030307b3015153ef1303fb69a8fe3fe40b403fbd53c82a8a005c2d1a29088b94b4b695a064c7b60a9daebccd29d2cadb1868c0318e4e2850ca4c98d479b84d9538380b1156ecfec6eac0acc5d02e16f7697bc98033e7b50f8537eb894d61088aa610a0ceff94f74ddd02f294f08a0842d957f687103f706e16894af6bba8a28e398db7e1aad7585948ec7f98524039b16034378356703f5260cc7d7797ab6034e8c801ef2b45beb7727872ba0f7bbed3ebb5c5319e4f4030a95e2f958ea5f92e653941b4e799bdfe174bf62f630f48a7b4961c4560b58590334cd9f36bc288516856dfbe1f77eec64dbefd14186978d50d6e3a71860470fb10333d7ff1a8f67300c1c448bd59d0764bc3dd33a5478da6f3c814a7927b2569364030022de7b54e54a7f7043a91a78164af740d23f6214eee179cc723233e108859603baeeeda865bf1db6fd8f088a1e2080f83fdba04c7e3479a07dd028549d90c6660219ffff035c4b6b750c0868b19673fe9618f1d7d457a49c79228e4b0ec583f20040ea123b0219ffff034a063036648400de21a41ff1308de9fbf1f89cb04b2a21fc8d8c834de8f1045903c5908fbedb8194f2625c017b495b817a704272e887fa246327972a83fb14902c03fe996f1e0fc60c2351a5386eb7c17461c432254b0e7b590c6106f50b7b4a0d9e035ed0f17bb19fa142aaea6337cc74a994b129b400bc4ff24521f97ed15a04ee0903adff317340d6189f21a11af30bfd2572eaeb15c8e30868d5d28e4b132498e656031e3f10f5c18f541096ca3e434207e73067f413e58aeaa661f854704683dc2a3703b09834dd31fd90a5dee17681b2e830c5a83aa5366759982ec7218775e067d2690219ffff031f199fe3c36212030de61f1da5bc06061a188843641edc69f295b35cdd54c6be034ab9231b86b5384e0377e74f27a42ab5f798532c63d28323f38a22e89a706859034e7a5ead3c5a544551217088a9506fd14f6d8ba6c4211925730aaa29686a7a7803eb2414149c4f30601a28ec3cfb2579b10757b044106996a3a3294e56a0bcb2ab03b2d93400b2f472bdde4c246cd8ce29aa312da782485318a11053d64dbdf91112038024f851df82682c2ec960156b33ba1ebf8baefce9f961bf55acd07b56249d8f03a8d4409df46623fd1b6267afe3d7ce4012deeb979dd2ded13dbc9d0c0f941a8203307e4f9941a25fa3818559b0c933c0ef6871d6bce3754b15e60d1295578374e30307613e9b70964c8197805c0abbb1cbe925b4dfed7d18907aa5b6e7744a28e5cf03b5d22b50519df441c42d22a0549c91161050894e81043adcbafc7425ff8688610305826599ebe49a9d9951b831313ed2ca35f08c77719d25f41442e96ec51dd65703d9453e413ca12900198b5b1c9c779130a6323164fd9d993bc912ccb40ed66c3603eae3dfb9bace88cc6add27ede62e028b9d8fc31f1c40099b78ee961854a12cdb03bfc3bd0b045b22cb235f43fb6a36c44eb642797495772a7c59f909c1faee68e20385be9a450cbd4abc580515ee570a1d094807147ba28f8348a40aaec265b66cbd0324322bfa4102e904c416e0ba2db60c6d0462a3390952a13a5416b2f9db601ca4039913cce0be68d2e4a2239c34347c9f538f150399095626950cbd8057b024c076030da6615fb771b80468cb66e8bd648f9d88f454f92010c442e2cc456d736a797603c2205069c558af8152a2dd5b7c281a47b4e929341473df38e78809f014d5f65c03693ce7ecc2ea6dcc562b6d995384d7478bd9f7249656047b14adb8eba551a37f03b3f947a2e1325462cf50755923d31b591edefa90d5f331c65c38c2e905af13c2037514f65d2f4da1e8ee40719099262112470cfb336654ab34c3efbe3057703dcf0345b70c23c84de51f1209e6349f5a5059e321a7227d1f39036130dbc24bd1adbf03b2d0f331048d66d2bc2520fd8e44a077067ab79e8c384d36a09bfa85032e291103fa6148be99d9598e48d71f4ba31df47fae18d6d1cd6b435675e55cbc973e55ae03ad73df499f43642bbe287501a165b197278e9051150e3e1364a61bae6e2409f703c6144bc5faeb3ac8e1f23e6f075ecb5e0dc8301078115b6b97fbd4b5d9edca98037415455ac4d23b8962cf0931f3f65f98416d44663781ee4f07d174e6c14b288603e1203380110f91db77c589b05b7ea3211185e4d4ea13f9b768c323f49bd4b71203deac32c73844284732a224e3301cffad2093c6fa1ff150f7839147b6071a14260329c241a48e027d480691efdf207aa1457529e0e8f6125743d6deba7a0ea9ed56036db8aaff70488b1a1046dedb4e61e7dd47827723ee8990f6dff622cd40b9a57703a11676e1867e333e04135dc45dfa5a3b3e863536633de9457c5d6d814a715286034fdb1e1afb147024bae0861574982968ba4fb58e9929d8c155f6208f08f200c30369f0a092be42ded979f630da6bf5368ee64dab42caa78439a3037191295497c3031e14893602cf6badd68d761ff8fe7e14e44d7ecbeda015d8a8f3f5c35fa9f32903c668754290d6db2e9d7fcea20b21b7f1e56cc2461671db5c6ca7a50c25ce391405581c025573da8de7f4ee0df6bf5142b99f4777d54218a7fb3a1ee031136f0c034605881b32b0b005581c02fa63943592e544d9991bb6e259dd4a4c3943e6f0f3e9360c50f24a0c0d47900f542881ea790219040201410e05581d02515701cf6b02d1edad0d4aba1e5261611c2acbfd7acf0696a6e924480c0347446cd96a18e67e02182405581e03e2837388abe1d10e1ca1c39d35b37a872609c43f28f03ece0b5a3ea5f00c0144f7c0eaca05581e03fea5f7da62648f6e0a76c8bb2aa3cc12cd58e94100e6b8f6dfae18fac00404032d9deef956c8437e6ef8f5bea33ec5bc4c352f32b3998ba38dce68faa15ce3ab03cc6d194f2efb78bc4084e15b121de7e504f91358f75b4f38406a1cce17c6b11105581e03a4b9d9233048e52be3b38b1694895df1809b3c1850371fc3cd77b5d650040405581e030f420ce34f724e312c907502c33a49f80f39a83d42d5b967f034fed410040105581e03748b95d1d56e35c9902a63f32354feaca5bb40546b7ef9870be09ae3100c01470263a4f434ca20038761fb202fd010eb62bc0b95d06162a25714d78dd94c2cb4ce82b0792b7031300219d8ee037d9cef1543fa96902681f45d5c75810de77b5de687f225d925eee0dee1e62fa90219ffff031b5d6aa1f1588443df25790838dbbdfab45075ca324a41588c69a0cc64d5117203a06d70effee12b82df3f7ab1e9a51222f0317406dc7ca15fa0586ab5c14045db0219ffff0384f2a7f8d703eeb28c71093f72917b02b07a268679e25b3b79e2dad27ca0cfa603c448bbcccbb6ac0e1885587fa3a8bc63f1713569f5911c59cc14c3bf722171f20342536e2eb41e38b0cefb2db3b86dae9f526e0edf22b2728b8e6796dbfacc63bc03a779d1e14ce23f63bcfc42d94fc9c53967def89188b7bae18586f3591502bca303f9c6c55d14582bd5dcff48be2dd5a52d4c0518d63cab50dcfa147d677983af7503f40464df48a2dead60bedd25d342d73bb1347754ca9356993498752ab6c737f703f98d93afbaa2db9902cb9bccf7bca2337913fdd76615bc78ceb1607fe8ef95490219ffff03cd54a7ee780e4e4ecf6b019ac99a5f853018545bb1c4de3233b6803be623a9f803c0f17971f0794ce66cae258822d0cffbfcf8f7b77287384cfc4748d335b02811030a952de716ee92db488770e15e84e2cfffc33c9356e11499aff75d58659805f903241b037b8cb0e5c57df00487aa245146889bcd29568d96a3c91f2c8330987acc03020d921fedcaabef39e25e8f8be9a79f28bb7cf4e180d42b9a37bdd87f6e60a203f24b15a6f492e7ce05143c508acbd917d714f6bc3ba7ea8787fda2586e29488603061435a8f374b14fbf12779f3dd86ba08f8b29994040c4a06ff18a812745def003d00fc87dcd635fce9787ab3f03735404d3a004e65b019f38816931e8acd3d1ed03a87b1a2d29da04c4e84e2da2d6b36063996605095d4b20f633ad4c53a3c830aa0394e97a048aecf0a6852028487da3974225dc2ced594ff0f700b81e2e9a0095270305a7c08cf38221b872c9883d3696d64c587e85c0a87f1aa27f3bc080c0e537890391a91c14c0908d5771f1aebf0f509e4bba5d7c61e9ff31decffc6b935471c74c03675647246d9ff4830d2c433b35d037bc58da9a84bc4842f88321003cd0c5ea860361d1a8e93b3bbedc5d538b9b0e91ecf4320cc5808092b8a98ff5edccfe3b8da503a819ed4d71e91a45a8569394e2576ada99e25ea70182cdb8cd750da150655f1b0347246fecd3e57c46480521b038373e5cbc9b0f3aff88b3915333c25aaacbaebc03e6d9d5d390dc82da694d1ff6b670b73d4f07c44d52a10446ed626bcf84fec4b903ef1d7aee5438c8e77a30d002a561954cf4658673333c6f0e1278e1bfe7fe915f03b4511c00ef3940056f9aaf038afd0ac6481dd20c4979f20d4ca701b675b06fb5034a523474377f2f80be455c682866f40ae5f024a65a061d9efe7d307bd11d238b05581e03035678a5342a51dbb0aa6cf7fcc9ebfd968bcadb0bd8bedd05239d17400c014701bad791966c0003c4b32f73a625bed276c52eb5a400b08fdff409ebf978002975bbe121f552896b037a0cc00f9024053860ba3f147acfb15b08ed28bcae89c836e55a1c40cf0d24fa030a7ffd3df9cfc1fdb8b5cf168b224be9983fec02dcd25a471810c5dbfe16936d05581e03f780172f21bde3163471573edd9f8428d603a398bc0aa9290eb850b7700c07463c0fb3bc339c05581e03f5e17ef598255d769017477f7fb3e697be23fb8cda5b8621353ed6d8a00c01421388032f2c6c62e7a7f14988c04ebd0ebc3a15e314addcfe4a2ebf496fa5be2dc2d29b03efc2ccd9079d28120cfd8adba204b8848a3f5051215a58bd1153ea5d90b3770d014109038392105b211d8a855c02014a7b9455da55d152817c299fbf474f239e9cb6e5a305581d027715258df36ea39e9b2d334abde626d15062172837ff07218b1183020c094710c4b77f75574705581d020f63dd8a45c5e77c26bab79def4177d90eefec24176671793b105d470402021930000371871f06cdc84d32b78f81cd67b236072a3eaedf104ebbe04a9449e3fa43319205581e03c1fed64a996bb2cc4f68025b940b3a3dbd3025e2bc0dab7421450cec600c014705d3840d8c5e000219cbfe03ec6d41ce93b72f79bcb01c1349c7d3f5493fb80f7242ec1ee3035ae733abc34c03eafef7df7c32f0a81870db6929baafb33a467a30742c4038d39f2559878fa1aa03dec2c3a0953e20d5e51fdc6624dc91f5f3578c95004746e6b16b8a1eb4b934c0030acf584644e581baf591be981ec5c73188650a77f7451824a88927bcf6921a0103c26f7ba6daf2dcb8f65cd8cb1a7542f1b970751ac35867b6d77f886b514ae9720219ffff039000ed17200752f2a8066c5bf12a06d2585a524ba7c0937c9dbd3f4a1a06e1730387e4d4d705b74880aa3d1b25d29f745d10493199aa23d88dccfc4e1ccf891b9f03c9c698a98433e3e5429c31e18bbe1bf246cdcde9ebd4eacf78962b7485f77ebf0347bc2e94a5d68ffef70ddd887b987492e58ca6b9d0c7e3bf149a69253cbf9e0503bc249169c0721e6ea340e2ee800bdeb1311743e368cae3f6b5c54b131076105f039ddb64862d0fe9830827dd24ce3ef4064ded49f1540278358bdfaecba32a8e68031c657bc86d71d19ec7eaf93ec2568b1015d7c22cfeb763dd36304bee9c03679603bfa3348ceafad105b8829b712adc059151ee9dc79e6ec51505b9cfddd55852ae03e59652343f6475c7d198409b8569692a7125fab5cc34f8c8ce40d31a067ba19503dad6b6bb7014527c9e356758df6777518a1b7f35c2d62fe2dbb4a2b48883c839035929729b28218543a51d5d42437cec0dec3176e464a8863b5055a9630bcdf5bc03404fcb42ce63335307220742d7066f308bea083e33669b123b7e6bc6ffbda76603b7f76821f0cdb7efb040ce6c09bf8c1adf85d65c7dc7e6bacc4a7101fa51c0f80319a43dfb81c6d9db7807493a52b011d3d261035d0b798db8681a5564ef4fa0c403a95bab8a394a0129ad554a24936ce5af5536cf8f17cf7420e9d56d3da58dbc030219ffff034d5693a5be47ca38639670dee9688921ef230fd357e5797e9a17cb7ccdd3aa0c031b40462a3588a2e8356afdde68d3164cf32f3466f9b133347cb82f9fa778ca80035eb22eda90c78e68c04d5d86e5d48332137d9108321997b9bc6a6058def79ee103f3691f88981cebfc536c98e56830c3de1d9a19a4acf0458cedeba64c427b5fdb03013f8449f6004277fe3da380a714f01397ca92730b3a639ccefa23afe824391b03cc82ba4b30e8141ad9403e1d8419c0fd602226ef4ffb9c09a37c7417af2751fc03cd3bd7abb6e57ac80131311826085bd069db874c13ee08e6827be385400f8d1b036f59f5592b36cf3df8bf369a19a2a14a43100a52674ab3b6c4c7e16517c24bcb03998cba9a9367d465eb2c22d36ccad721a06e2430faf83b35b64e796fba26ef880219ffff0312745fe6e14cb14564605f864e5918a887ffab2866b06de08f6a5c41694109e2039359bb9f1fbcec65803500ae405fb5af254f6ce2e76a8b342f19634e73de2a7d03bab7f099fc04c4253200e7face0d3bcb20a3103c917bddb90b3ac3548ed76640037fa9dfae584ccd5265584fa33b8f1b8784e6a2724ffa2119bda397b2efbb5264037e9c4430bcf062036b8c84605b0a88e643af428ec89088aa96bb8f36f48febc303068fb54e31a25bba185531d2b5329dc2ebed0d54d0b904995e4298154ebaa962036e5931d63b9e1affdff21648f9ba7507ca23087673d40690d02dc61217dfff3e030756deb7c32cc040dc9658d5066ea7ecf045f79877bf9cdf55ba83b02ac10e8d03db7f9ce920bc53394e5a48cdfd6595436f1c3fcfde00f5a488b2ad08d1080799033e0420de55213d1e5ac1f77f005c192859d7dd2ae7cfa6f93cbe30194ec9e0230391fab81638607ddb858a4b5c34b4a8d7d82b3d6e6712951870bc63fa935ce3f903e2478be38e080ff9287001f9323ff110ef8c12d79867948bb113d603fdf11599035711e4f5fe97f4743039e793d940a5c25cb5cd841a0c8e40492499133a6d765503eaa554dd002bb89d1da63693f2ecb927257c1b17d3b0d78e1505c616f3196a4c0382dda3c46b374a6970892c4493eb2c4ec52aa02ecb15104d1eb4d7bf044e8d89030325b8dee9bc00611cf69193b897729287c9c8f92241efd45db9fc4a2e39798703a2ef1d59fed6302661a9b5d4e44460d755613134dc1616bb921deede40567aaf035d5a5131044d69eb314c76d4149fee39b3163fb518353e22472636a7583b4fbc035ad07107611e73a28d209593acf13daf23f6bfc88cbd2e29875835eb1de2e0d803fd5d02e3c0812e85e4fb64e43b5c59d00d0b64cda38a3a581d76a28750796bba034a660ccd31ad19ae5ae74f7276af389d5ed25aba062d30040f6e07a87743acd803957354c94a2536a9f51e43c6bb3c0f4ca4e290758f9546fbb8ef742c5b7279ff033f98076cc3531379506c39e4574a5d0e08b05cd10fd48c17c3be79aed64ac8e303221695f622bc38a39ebaa5efb9a964a609a36d07a96d74f95e4551c890f9b31c03b6203400db482f1f1ed9afbe09ac573c80ef209527d498e7028128599d29369c0343d7ece2ae195e461e81c5786f15b2b17db437555c1a3427f597c26bdee91fbd03b903e6138f62108d5e03c40539a40b4b935ec1925d8e389b368c0852ec90aab403914c0d777aaad23928b8b8c453ca5dce594daf2587be0836a818a69eace4af5703fe02b96d6ff1b9fcffea784069a0dffc1e3559e4fe895717bb8dfe03de87f2d803548c58b83c361037e3d00cbba303930020bb6009256ba5e4d3333c55b5ead507038a86f1d20ed4eebb7bd649ef09b71be4045f935a9ab339654ecc386ac48d496303f3d64cf237fed733554c415bc6cfa1fcffcac08b74f4a3cafd00bf9d347d10cb05581e03481f3c8a01bc0fdc3a98f20f1f16a14969dc3f2cabe431cb9c6746a3b00c0147335f06e80910e605581e035ea631adccfe996c462047347b4325b564dba583055bd3bcc180fc45900c03480102291338797a4405581e0320768f167e93b5272956df0d2949a42df2e62298040ed712824237d6900c07410a03590b89ad369348f570ab825de1ee080dc330799d5bbe4abd1309bd4ae7e3b4f505581e03c603a657b42186f8ecf851e79f70032be81961cb4de65c05562655c6000c183048039a57644a0a927105581e035a8e85479764fb7e4902ed0c7883a54fc2f739cbf8363bc461af3cc910040105581e03ffc4c0725849a789a425ce1e2e823c623f25a49eedcde689a3adb70ed0040304593a8c608060405234801561001057600080fd5b50600436106101005760003560e01c8063618af12811610097578063ba86a1f011610066578063ba86a1f01461024a578063e4bbc05c1461025d578063f2fde38b14610265578063f33f28951461027857600080fd5b8063618af128146101f457806379ba5097146102075780638da5cb5b1461020f578063979986111461023757600080fd5b80633987d651116100d35780633987d6511461019e5780633f42ab73146101b757806347cf2b60146101ce5780634d616771146101e157600080fd5b8063119a352714610105578063181f5a771461011a57806335aea8691461016c578063397796f71461017f575b600080fd5b610118610113366004613195565b61029a565b005b6101566040518060400160405280600981526020017f41524d20312e302e30000000000000000000000000000000000000000000000081525081565b60405161016391906131ae565b60405180910390f35b61011861017a36600461323e565b610726565b600954640100000000900460ff165b6040519015158152602001610163565b6101a6610abb565b6040516101639594939291906132b9565b6101bf610ecd565b60405161016393929190613413565b6101186101dc366004613529565b611005565b61018e6101ef366004613681565b611019565b610118610202366004613699565b6110ab565b610118611564565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610163565b61011861024536600461370e565b611661565b61011861025836600461370e565b611b96565b610118611d74565b610118610273366004613771565b611e39565b61028b610286366004613681565b611e4a565b60405161016393929190613793565b33600090815260076020908152604091829020825160a081018452815460ff808216151580845261010083049091169483019490945263ffffffff6201000082041694820194909452660100000000000090930473ffffffffffffffffffffffffffffffffffffffff16606084015260010154608083015261034f576040517f669f262e0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b33600090815260086020908152604080832085845290915290205460ff16156103ad576040517f9baf703d00000000000000000000000000000000000000000000000000000000815233600482015260248101839052604401610346565b3360009081526008602090815260408083208584529091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055810180516103ff906137f0565b63ffffffff16905260808101516040805160208101929092528101839052606001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291815281516020928301206080840190815233600090815260078452829020845181548686015187860180516060808b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009095169515157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169590951761010060ff94851602177fffffffffffff000000000000000000000000000000000000000000000000ffff166201000063ffffffff92831681027fffffffffffff0000000000000000000000000000000000000000ffffffffffff1691909117660100000000000073ffffffffffffffffffffffffffffffffffffffff9096169590950294909417865595516001958601558651938401875260095461ffff8082168652938104909316978401979097526401000000009091041615159381019390935292519192911690036105bb57816020015160ff16816020018181516105b39190613813565b61ffff169052505b60045460208381015160408086015160808088015187860151845160ff909616865263ffffffff93841696860196909652928401899052606084019290925261ffff90931690820152911690339082907f8e5ceca76dae647f687fccbe8d42a3796e68330812669bd5003b938dacb1b6dd9060a00160405180910390a3816040015115801561065a5750816000015161ffff16826020015161ffff1610155b156106a45760016040838101919091525142815263ffffffff8216907f6ec7e144a45fa03ed986874794df08b5b6bbbb27ed6454b4e6eaa74248b5e3339060200160405180910390a25b5080516009805460208401516040909401511515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff61ffff95861662010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909316959094169490941717919091169190911790555050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260076020908152604091829020825160a081018452815460ff808216151583526101008204169382019390935263ffffffff62010000840416938101939093526601000000000000909104909216606082015260019091015460808201526107b660095460ff6401000000009091041690565b156107ed576040517fca47cca000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806060015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610858576040517f669f262e000000000000000000000000000000000000000000000000000000008152336004820152602401610346565b8051158061086e5750604081015163ffffffff16155b156108a5576040517f9ff6d96b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818160800151146108f25760808101516040517f79aa5c5f000000000000000000000000000000000000000000000000000000008152600481019190915260248101839052604401610346565b6004546020820151604080840151905173ffffffffffffffffffffffffffffffffffffffff87169363ffffffff16927f56c9f1d1001236f66c1e5d598905029b4093031f31aead3449a53d832eade2259261096a92889060ff93909316835263ffffffff919091166020830152604082015260600190565b60405180910390a3600060408281018281526080840183815273ffffffffffffffffffffffffffffffffffffffff878116855260076020908152939094208551815494870151935160608801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009096169115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169190911761010060ff909516948502177fffffffffffff000000000000000000000000000000000000000000000000ffff166201000063ffffffff90921682027fffffffffffff0000000000000000000000000000000000000000ffffffffffff16176601000000000000959096169490940294909417845551600190930192909255600980549091600291610a9c9185910461ffff16613835565b92506101000a81548161ffff021916908361ffff160217905550505050565b60095460028054604080516020808402820181019092528281526060948594859462010000830461ffff169464010000000090930460ff16936000938493919290849084015b82821015610bad5760008481526020908190206040805160a08101825260038602909201805473ffffffffffffffffffffffffffffffffffffffff90811684526001808301548216858701526002909201549081169284019290925260ff74010000000000000000000000000000000000000000830481166060850152750100000000000000000000000000000000000000000090920490911660808301529083529092019101610b01565b50505050905060005b8151811015610c8457600060076000848481518110610bd757610bd7613850565b60209081029190910181015181015173ffffffffffffffffffffffffffffffffffffffff9081168352828201939093526040918201600020825160a081018452815460ff808216151583526101008204169382019390935263ffffffff6201000084041693810184905266010000000000009092049093166060820152600190920154608083015290915015610c7357610c708461387f565b93505b50610c7d8161387f565b9050610bb6565b508167ffffffffffffffff811115610c9e57610c9e61343c565b604051908082528060200260200182016040528015610cc7578160200160208202803683370190505b5096508167ffffffffffffffff811115610ce357610ce361343c565b604051908082528060200260200182016040528015610d0c578160200160208202803683370190505b5095508167ffffffffffffffff811115610d2857610d2861343c565b604051908082528060200260200182016040528015610d51578160200160208202803683370190505b5094506000805b8251811015610ec2576000838281518110610d7557610d75613850565b60209081029190910181015181015173ffffffffffffffffffffffffffffffffffffffff808216600090815260078452604090819020815160a081018352815460ff808216151583526101008204169682019690965263ffffffff6201000087041692810183905266010000000000009095049092166060850152600190910154608084015290925015610eaf57818b8581518110610e1657610e16613850565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080604001518a8581518110610e6757610e67613850565b602002602001019063ffffffff16908163ffffffff16815250508060800151898581518110610e9857610e98613850565b6020908102919091010152610eac8461387f565b93505b505080610ebb9061387f565b9050610d58565b505050509091929394565b6040805160608082018352808252600060208084018290528385018290526004548551600280549384028201608090810190985294810183815263ffffffff808416986401000000009094041696959194919385939192859285015b82821015610fd55760008481526020908190206040805160a08101825260038602909201805473ffffffffffffffffffffffffffffffffffffffff90811684526001808301548216858701526002909201549081169284019290925260ff74010000000000000000000000000000000000000000830481166060850152750100000000000000000000000000000000000000000090920490911660808301529083529092019101610f29565b505050908252506001919091015461ffff8082166020840152620100009091041660409091015292939192919050565b61100d612118565b61101681612199565b50565b6000600681611077611030368690038601866138b7565b80516020918201516040805173ffffffffffffffffffffffffffffffffffffffff909316838501528281019190915280518083038201815260609092019052805191012090565b8152602081019190915260400160002054760100000000000000000000000000000000000000000000900460ff1692915050565b6110b3612118565b60005b818110156113df5760008383838181106110d2576110d2613850565b9050606002018036038101906110e8919061390e565b805173ffffffffffffffffffffffffffffffffffffffff908116600090815260076020908152604091829020825160a081018452815460ff808216151583526101008204169382019390935263ffffffff62010000840416818501526601000000000000909204909316606082015260019092015460808301528201519192509015801561117e57508160200151816080015114155b156111e65781516080820151602080850151604080519384529183015273ffffffffffffffffffffffffffffffffffffffff909216917ff4e3b20447f3f83360469333a2578825ae355d192dd6f59c6516d832fa425a53910160405180910390a250506113cf565b805115806111fc5750604081015163ffffffff16155b156112085750506113cf565b81516004546020838101516040808601516080870151825160ff909416845263ffffffff918216948401949094529082019290925273ffffffffffffffffffffffffffffffffffffffff909316929116907f56c9f1d1001236f66c1e5d598905029b4093031f31aead3449a53d832eade2259060600160405180910390a36000604082810182815260808401838152855173ffffffffffffffffffffffffffffffffffffffff908116855260076020908152939094208551815494870151935160608801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009096169115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169190911761010060ff909516948502177fffffffffffff000000000000000000000000000000000000000000000000ffff166201000063ffffffff90921682027fffffffffffff0000000000000000000000000000000000000000ffffffffffff161766010000000000009590961694909402949094178455516001909301929092556009805490916002916113b29185910461ffff16613835565b92506101000a81548161ffff021916908361ffff16021790555050505b6113d88161387f565b90506110b6565b50600954640100000000900460ff168015611408575060095461ffff8082166201000090920416105b1561156057600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff1690556040517f08c773aaf7568c6b9110dcdfc13c27177410582ee30e157d1aa306b49d603eb790600090a160408051600280546080602082028401810190945260608301818152611560948492849160009085015b828210156115345760008481526020908190206040805160a08101825260038602909201805473ffffffffffffffffffffffffffffffffffffffff90811684526001808301548216858701526002909201549081169284019290925260ff74010000000000000000000000000000000000000000830481166060850152750100000000000000000000000000000000000000000090920490911660808301529083529092019101611488565b505050908252506001919091015461ffff80821660208401526201000090910416604090910152612199565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146115e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e6572000000000000000000006044820152606401610346565b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b600954640100000000900460ff16156116a6576040517fca47cca000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454336000908152600560209081526040918290208251606081018452905463ffffffff81811680845260ff64010000000084048116958501959095526501000000000090920490931693820193909352921691908214611736576040517f669f262e000000000000000000000000000000000000000000000000000000008152336004820152602401610346565b60005b83811015611b8f57600085858381811061175557611755613850565b90506040020180360381019061176b91906138b7565b905060006117ba8280516020918201516040805173ffffffffffffffffffffffffffffffffffffffff909316838501528281019190915280518083038201815260609092019052805191012090565b6000818152600660209081526040918290208251608081018452905463ffffffff81168252640100000000810461ffff1692820192909252660100000000000082046fffffffffffffffffffffffffffffffff1692810192909252760100000000000000000000000000000000000000000000900460ff1615801560608301529192509061189f573373ffffffffffffffffffffffffffffffffffffffff168663ffffffff167f274d6d5b916b0a53974b7ab86c844b97a2e03a60f658cd9a4b1c028b604d7bf18560405161188f919061395c565b60405180910390a3505050611b7f565b8563ffffffff16816000015163ffffffff16146118e257506040805160808101825263ffffffff8716815260006020820181905291810182905260608101919091525b6118f481604001518660400151612c76565b15611946573373ffffffffffffffffffffffffffffffffffffffff168663ffffffff167f6dfbb745226fa630aeb1b9557d17d508ddb789a04f0cb873ec16e58beb8beead8560405161188f919061395c565b61195881604001518660400151612cb0565b6fffffffffffffffffffffffffffffffff166040820152602080860151908201805160ff9092169161198b908390613813565b61ffff1690525060208581015160408051865173ffffffffffffffffffffffffffffffffffffffff168152868401519381019390935260ff9091168282015251339163ffffffff8916917f2a08a2bd2798f0aae9a843f0f4ad4de488c1b3d5f04049940cfed736ad69fb979181900360600190a3600354602082015161ffff918216911610611a925760016060820152602081015160405163ffffffff8816917f8257378aa73bf8e4ada848713526584a3dcee0fd3db3beed7397f7a7f5067cc991611a89918791825173ffffffffffffffffffffffffffffffffffffffff1681526020928301519281019290925261ffff16604082015260600190565b60405180910390a25b6000918252600660209081526040928390208251815492840151948401516060909401511515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff909516660100000000000002949094167fffffffffffffffffff0000000000000000000000000000000000ffffffffffff61ffff909616640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000090941663ffffffff90921691909117929092179390931617179055505b611b888161387f565b9050611739565b5050505050565b611b9e612118565b60045463ffffffff1660005b82811015611d6e576000848483818110611bc657611bc6613850565b905060400201803603810190611bdc91906138b7565b90506000611c2b8280516020918201516040805173ffffffffffffffffffffffffffffffffffffffff909316838501528281019190915280518083038201815260609092019052805191012090565b60008181526006602081815260408084208151608081018352815463ffffffff808216835261ffff640100000000830416838701526fffffffffffffffffffffffffffffffff66010000000000008304169483019490945260ff76010000000000000000000000000000000000000000000082041615156060830190815296889052949093527fffffffffffffffffff000000000000000000000000000000000000000000000090931690925591518251939450919281169087161480611cef5750805b15611d595760408051855173ffffffffffffffffffffffffffffffffffffffff1681526020808701519082015282151581830152905163ffffffff8816917f7d15a6eebaa019ea7d5b7d38937c51ebd3befbfdf51bb630a694fd28635bbcba919081900360600190a25b5050505080611d679061387f565b9050611baa565b50505050565b611d7c612118565b6040514281527f367ba81ba03ea9fa7ee089ecfb43b1c35e0935bc87a472abf615b7580dc16b799060200160405180910390a1600954640100000000900460ff16611e3757600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff1664010000000017905560045460405163ffffffff909116907f6ec7e144a45fa03ed986874794df08b5b6bbbb27ed6454b4e6eaa74248b5e33390611e2e9042815260200190565b60405180910390a25b565b611e41612118565b61101681612cd3565b606060008080611e62611030368790038701876138b7565b6000818152600660209081526040918290208251608081018452905463ffffffff808216808452640100000000830461ffff1694840194909452660100000000000082046fffffffffffffffffffffffffffffffff1694830194909452760100000000000000000000000000000000000000000000900460ff1615156060820181905260045490965093945092909116900361210f5760208101516040820151909450611f0e81612dc8565b60ff1667ffffffffffffffff811115611f2957611f2961343c565b604051908082528060200260200182016040528015611f52578160200160208202803683370190505b506002805460408051602080840282018101909252828152939950600093929190849084015b828210156120245760008481526020908190206040805160a08101825260038602909201805473ffffffffffffffffffffffffffffffffffffffff90811684526001808301548216858701526002909201549081169284019290925260ff74010000000000000000000000000000000000000000830481166060850152750100000000000000000000000000000000000000000090920490911660808301529083529092019101611f78565b5050505090506000805b825181101561210a57612094846005600086858151811061205157612051613850565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040016000205465010000000000900460ff16612c76565b156120fa578281815181106120ab576120ab613850565b6020026020010151600001518983815181106120c9576120c9613850565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526120f78261387f565b91505b6121038161387f565b905061202e565b505050505b50509193909250565b60005473ffffffffffffffffffffffffffffffffffffffff163314611e37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610346565b600954640100000000900460ff16156121de576040517fca47cca000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121e781612e07565b61221d576040517f35be3ac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160028054608060208202840181019094526060830181815260009484928491879085015b828210156122f15760008481526020908190206040805160a08101825260038602909201805473ffffffffffffffffffffffffffffffffffffffff90811684526001808301548216858701526002909201549081169284019290925260ff74010000000000000000000000000000000000000000830481166060850152750100000000000000000000000000000000000000000090920490911660808301529083529092019101612245565b505050908252506001919091015461ffff80821660208085019190915262010000928390048216604094850152860151600380549488015183169093027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000090941691161791909117905590505b6002541561252957600280546000919061237a90600190613989565b8154811061238a5761238a613850565b600091825260208083206040805160a0810182526003909402909101805473ffffffffffffffffffffffffffffffffffffffff908116808652600183015482168686019081526002938401548084168887015260ff740100000000000000000000000000000000000000008204811660608a015275010000000000000000000000000000000000000000009091041660808801529087526005855283872080547fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000016905551168552600790925290922080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690558154909250806124925761249261399c565b60008281526020902060037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019182020180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905560020180547fffffffffffffffffffff0000000000000000000000000000000000000000000016905590555061235e565b60005b82515181101561267f5782518051600291908390811061254e5761254e613850565b602090810291909101810151825460018082018555600094855293839020825160039092020180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416178255938301519481018054909416948216949094179092556040810151600290930180546060830151608090930151949093167fffffffffffffffffffffff000000000000000000000000000000000000000000909316929092177401000000000000000000000000000000000000000060ff92831602177fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16750100000000000000000000000000000000000000000091909316029190911790556126788161387f565b905061252c565b50600480546000906126969063ffffffff166137f0565b82546101009290920a63ffffffff8181021990931691831602179091556004541660005b83515160ff8216101561290457600084600001518260ff16815181106126e2576126e2613850565b602090810291909101810151604080516060808201835263ffffffff88811683528185015160ff908116848801908152898216858701908152875173ffffffffffffffffffffffffffffffffffffffff908116600090815260058b5288812097518854945193519087167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000093861693909302929092177fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff16650100000000009385169390930292909217909555855160a08101875260018082526080808a01518516838c019081528a8c01805186168a526007808e528b8b205462010000908190048a16878e019081529d8d015188169a87019a8b52825188168c52818f528c8c20860154948701948552915187168b52909c5298909720915182549851995196517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009099169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16176101009990941698909802929092177fffffffffffff000000000000000000000000000000000000000000000000ffff16939092169096027fffffffffffff0000000000000000000000000000000000000000ffffffffffff16919091176601000000000000939091169290920291909117835551910155506128fd816139cb565b90506126ba565b506004805463ffffffff438116640100000000027fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff90921691909117909155604051908216907f7cf8e698b191db138396ab0eae2ad5b3fe353fd014fd5956b034b86f2d605cfd906129779086906139ea565b60405180910390a2604080516060810182528482015161ffff168152600060208201819052918101829052905b83515160ff82161015612b9757600084600001518260ff16815181106129cc576129cc613850565b60209081029190910181015181015173ffffffffffffffffffffffffffffffffffffffff808216600090815260078452604090819020815160a081018352815460ff808216151580845261010083049091169783019790975263ffffffff620100008204169382019390935266010000000000009092049092166060820152600190910154608082015290925090612ab25773ffffffffffffffffffffffffffffffffffffffff8216600090815260076020526040812080547fffffffffffff000000000000000000000000000000000000000000000000000016815560010155612b84565b80518015612aca57506000816040015163ffffffff16115b15612b8457806020015160ff1684602001818151612ae89190613813565b61ffff16905250602080820151604080840151608085015193880151915173ffffffffffffffffffffffffffffffffffffffff87169463ffffffff8b16947fb4a70189a30e3d3b9c77d291f83699633e70ab4427fc3644a955ab4cca077b0394612b7b94919391929160ff94909416845263ffffffff929092166020840152604083015261ffff16606082015260800190565b60405180910390a35b505080612b90906139cb565b90506129a4565b508051602082015161ffff91821691161080156040830152612bf4578163ffffffff167f6ec7e144a45fa03ed986874794df08b5b6bbbb27ed6454b4e6eaa74248b5e33342604051612beb91815260200190565b60405180910390a25b80516009805460208401516040909401511515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff61ffff95861662010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000090931695909416949094171791909116919091179055505050565b600060808260ff1610612c8b57612c8b6139fd565b50600160ff82161b82166fffffffffffffffffffffffffffffffff1615155b92915050565b600060808260ff1610612cc557612cc56139fd565b50600160ff919091161b1790565b3373ffffffffffffffffffffffffffffffffffffffff821603612d52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610346565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60005b6fffffffffffffffffffffffffffffffff821615612e0257612dee600183613a2c565b90911690612dfb816139cb565b9050612dcb565b919050565b8051516000901580612e1b57508151516080105b80612e2c5750602082015161ffff16155b80612e3d5750604082015161ffff16155b15612e4a57506000919050565b60008060008460000151516003612e619190613a55565b67ffffffffffffffff811115612e7957612e7961343c565b604051908082528060200260200182016040528015612ea2578160200160208202803683370190505b50905060005b8551518110156130a857600086600001518281518110612eca57612eca613850565b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161480612f2b5750602081015173ffffffffffffffffffffffffffffffffffffffff16155b80612f4e5750604081015173ffffffffffffffffffffffffffffffffffffffff16155b80612f6e5750606081015160ff16158015612f6e5750608081015160ff16155b15612f80575060009695505050505050565b805183612f8e846003613a55565b612f99906000613a6c565b81518110612fa957612fa9613850565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910182015281015183612fdc846003613a55565b612fe7906001613a6c565b81518110612ff757612ff7613850565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260408101518361302d846003613a55565b613038906002613a6c565b8151811061304857613048613850565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152606081015161307f9060ff1686613a6c565b9450806080015160ff16846130949190613a6c565b935050806130a19061387f565b9050612ea8565b5060005b815181101561316b5760008282815181106130c9576130c9613850565b6020026020010151905060008260016130e29190613a6c565b90505b83518110156131585783818151811061310057613100613850565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361314857506000979650505050505050565b6131518161387f565b90506130e5565b5050806131649061387f565b90506130ac565b50846020015161ffff16831015801561318c5750846040015161ffff168210155b95945050505050565b6000602082840312156131a757600080fd5b5035919050565b600060208083528351808285015260005b818110156131db578581018301518582016040015282016131bf565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612e0257600080fd5b6000806040838503121561325157600080fd5b61325a8361321a565b946020939093013593505050565b600081518084526020808501945080840160005b838110156132ae57815173ffffffffffffffffffffffffffffffffffffffff168752958201959082019060010161327c565b509495945050505050565b60a0815260006132cc60a0830188613268565b82810360208481019190915287518083528882019282019060005b8181101561330957845163ffffffff16835293830193918301916001016132e7565b50508481036040860152875180825290820192508188019060005b8181101561334057825185529383019391830191600101613324565b50505061ffff8616606085015250905082151560808301525b9695505050505050565b8051606080845281518482018190526000926080916020918201918388019190865b828110156133ea578451805173ffffffffffffffffffffffffffffffffffffffff908116865283820151811684870152604080830151909116908601528781015160ff908116898701529087015116868501529381019360a090930192600101613385565b508781015161ffff81168a8301529550505060408601519350613359604088018561ffff169052565b600063ffffffff80861683528085166020840152506060604083015261318c6060830184613363565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561348e5761348e61343c565b60405290565b60405160a0810167ffffffffffffffff8111828210171561348e5761348e61343c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134fe576134fe61343c565b604052919050565b803560ff81168114612e0257600080fd5b803561ffff81168114612e0257600080fd5b6000602080838503121561353c57600080fd5b823567ffffffffffffffff8082111561355457600080fd5b8185019150606080838803121561356a57600080fd5b61357261346b565b83358381111561358157600080fd5b8401601f8101891361359257600080fd5b8035848111156135a4576135a461343c565b6135b2878260051b016134b7565b818152878101955060a091820283018801918b8311156135d157600080fd5b928801925b828410156136505780848d0312156135ee5760008081fd5b6135f6613494565b6135ff8561321a565b815261360c8a860161321a565b8a820152604061361d81870161321a565b9082015261362c858801613506565b87820152608061363d818701613506565b90820152875295880195928301926135d6565b508352506136619050848601613517565b8582015261367160408501613517565b6040820152979650505050505050565b60006040828403121561369357600080fd5b50919050565b600080602083850312156136ac57600080fd5b823567ffffffffffffffff808211156136c457600080fd5b818501915085601f8301126136d857600080fd5b8135818111156136e757600080fd5b8660206060830285010111156136fc57600080fd5b60209290920196919550909350505050565b6000806020838503121561372157600080fd5b823567ffffffffffffffff8082111561373957600080fd5b818501915085601f83011261374d57600080fd5b81358181111561375c57600080fd5b8660208260061b85010111156136fc57600080fd5b60006020828403121561378357600080fd5b61378c8261321a565b9392505050565b6060815260006137a66060830186613268565b61ffff94909416602083015250901515604090910152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff808316818103613809576138096137c1565b6001019392505050565b61ffff81811683821601908082111561382e5761382e6137c1565b5092915050565b61ffff82811682821603908082111561382e5761382e6137c1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036138b0576138b06137c1565b5060010190565b6000604082840312156138c957600080fd5b6040516040810181811067ffffffffffffffff821117156138ec576138ec61343c565b6040526138f88361321a565b8152602083013560208201528091505092915050565b60006060828403121561392057600080fd5b61392861346b565b6139318361321a565b8152602083013560208201526040830135801515811461395057600080fd5b60408201529392505050565b815173ffffffffffffffffffffffffffffffffffffffff1681526020808301519082015260408101612caa565b81810381811115612caa57612caa6137c1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600060ff821660ff81036139e1576139e16137c1565b60010192915050565b60208152600061378c6020830184613363565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6fffffffffffffffffffffffffffffffff82811682821603908082111561382e5761382e6137c1565b8082028115828204841417612caa57612caa6137c1565b80820180821115612caa57612caa6137c156fea164736f6c6343000813000a032bb00b2c25dee82deadf5dbe6f5e0bd6f4fcf2c1f3e9e5f86dbe2f56ebe6ee4e0330e7d734e4b7759bf7b67edec289dce04ebd4a3e35dd350ad382ff4aabde0dbe0371d0080adcfdf743249027ca8a9956cee6a52f05564fd838ad01e6cfc814ca0d03112a26b2dddf5a2cc62482b88717cc48963ea31c68a6b4f20ff4a7858e070e8203d91e181754993f9683dff43c60a677edacd1fc4c9f2948c677b34c496d36485f036deb8c4e066b898616916e17b438405a391b79d8ae309a05787965fd3f0677b903069a23afdb433e12af92ead014cdd3706ef647ff4f8bb25061de7bf7f41cb33c03fe8e2395059dda6c62fc7b130ed6f4536790ef8d3002319f2e64ad89ed78b708030b6cfea4457f0fa1b0ff7eb0a1884d7443a3318f9b9389d8dfd0545a0e551ce603e2457a1c5b65fcfbe2874f663e4972a9a6e0ae72058b31804462cc732fb8a6be039e34fe8fad5af16d86622e98c8aa4c2907553a5549164d5575281b48a33e3be603c293fc816397dc041d29793992e737665a8315538a46912660b57e7f0eb4d30a03914a230c331c415ae48351cddf7704eb22aa85a364e2f8c5dbf8076156ae54ef034132a8d6bd21a45525f6da6ab887169fa81ed070a78f3d986309f7a235b66c4d03de1f7176b1803854509a98367381e8c3023ce1db770293eb8250ffdfcd6f01ad032e0e7f303ad1b7fb23439c24044cf11fa1058b573adffde293f7161d51161e5d03e61b4db4ddd83f3abd5b1ba958f8336fd5c5e97c28eaf595fa721abf6e58f17503a6ef1a86f103fbee5a76d3c73b379c14cf46eb8966a01864e7004502841c051103d734efe88e86952c1aa0d9e44dcf7426d8bdbaf06b60d95b3a3b126e85c9e9520315f5b9ad1b3e9a325532d04350c9c0a04f571e2fcc0638b7f9c466df9d016f87032927bfe5939f728f26f71c361e1c16ca116da243b3958d0fc87377275991a8c600581f02acdc508834592ad0206212e8637f3c16a798da5d18be283d5b688f03744757010000000000000000000000000000003000020000000300581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af410200581f02badeda4dbed2fb950525c9820eaf9e8aaab58c42df78b84cd2b16c54493657010000000000000000000000000000000a00020000000400581f025fbbf48ddfbe1dc0a5ebf64a8d2f88beb1bb0f4ee00f3d2aff63e5aea56257010000000000000000000000000000004800020000000300581f0285d6966f34b8dc5b13b5503e13ee747fcab2e2cbda1026b27b2ffb8591e5570100000000000000000000000000000030000200000003021910e2038a2125c7333af7b9c5926e6ab9f5f0219c870f571ef3d6fd06b83c88e232058d033f7869236bbd2b24aa7c0a85bcdee22ccce216e51a107b318732279f7de185e903290fddc40c1afa8ce1be6d40a538456997645fcc6cf17bb0669b8d999263bdeb03508a03a829892b1e3588b1dcea84ab8765e6bf9e5af9f5a3d7eddfeafc2657d203e9f34c8d23991d7a073dfb20d32462ae78fed42a9b54a329a1d35ad86dc4c740036294b2638ec3ae1b2f5222de777e7432583af0685f18c538b8635e274c49257f0303339b42a2c0cf7d1bce54d66bd5a87eef0b8a95f5a5a15441bea7900d408702030582050199015dd2031c15b2d9449c8c943a3befdfb7f5fdbff2c2f01d00f05e03886a92a6d476bdcb1ef3a393fa4c654f3007bc1c982d149d95f0e76554b272a9037a47aac10d488ae1bf83d7b9610c902e9d0e98b9177b7da54f7272e35067502b03f12ce88f0d241f3b5afc6f713fc0d06ba23926e56ee80811a96f5bbb9b40bd23038fd5e12fc8b21e64b162fbb80c963d18de054bd39bba250770c5027da9dec4e003e907a2676bc7388476bcbb80dd580f88a32f30ef7d0d259bbc175ffbee1d3ff0005820032fef827e2512adce8409a0abcba08dbc4b0114c19da5a94a800861465e6b005701000000000000000000000000000000500002000000030219ffff037232ff279541c25bed50231ebe848e12e4fb6435676dc20082fdf6a0150ea7c60219ffff03903a4f0eff087e8d3bfce07ced2052a58a6d6c53698f187be4179cd9cee132dc031f26594afc3f40d50c99e6ae790897599a0ae1b62d50e976e2e38a53d3bee708039f9f3c1dca5fba8c9864e4faec37d5a99821e5124ece3550e73675421d4b048b03378ac27d31e420bc905c2a6344c3e0f22640a9d3ba7156a21e26b9925f6ad53e03255669aa88415dd7e6a289b4031149b1536f81504393812909d1693df9d3b33c03c84bec796e1c7f6b180e17cd19e2c62b6ad64c032257e54567c00dc8662e6e9103f6f469c49a74b982ef8c79a9bce0d93d801d2efd1063137e7e77f02d115211c303632befdf49c3970f723566dfaa0a2b96336aba9554f01f69a85b97c3091d22790321e63d063f33940cf35ca9ce4d8d772bd7c44ba556b1aee11e45ef8c1c1f0c4d0219ffff05581d0238be6323a466cd53df3598fb0e62de6a12ce84e02533d96cfe139c460701193a8c05581d02c4855aae9dd13b13c0ea9485d6fa94f294f9eb1d4c02af57060a9410040205581d0249d2e14fb21585553b217ab990c93f81211659d83e6d8601cd07390a041901120207030d617e3c064f8002c9fa19b738b6bd04e30c4378e0bcf905d9b15692be2f824803399a04022f03e0847c7d27a784e257aea08a0f83f8178e1395f2fb5db32c376e05581e03ab0b401044b1b110349bd15f4c29dd8f895004925a5978d8b97c9c20600c01470348cd88f8240902197fdf036aaf5a5f02a4f56f3ceb1ae77165f274589349a0c611e38c318cc2157eac855003d52d11cc6110f41492c5f642f52b69b18112d2e9049b7d5764f6366cde9a59b60219ffff03a6e9d30f6576134c5cab59967c8ea9e2fc94b98978570d5c6a566ecac56c6dc4037fb15c7c5128ccab94fa3ac2be52298805fe9a8e7c0013ac9b1678b062fa61af03ba15eb2811d447cea1b9d214946c4340564d3c05fcd8aa1bf70439f2249d4db10354ec07eed1b8dad7e776734810ce3474505ad1e042db269b308113c8ca5be8810323bd449432e590b5bd20ac32c30b1fa492a5e60f4cc915962029507c467c188c0353f6a91f9c0b94935f8359647c4b650077bf7bd069fcc3cf547efbfcba284adc0338aab001a2616683121249c447d4e158385a6e6ce7b6736e8c1feaa75956b10703a8ad9f7b9d14deee078c9794a978bab2243a3025c8169ee37ccad97c9fdb7580035e988743b46499ab97ccaf174301fe369b6f06c09ca1c0beeb6b7d1312c171bc032188bcbd5e666f36c0e04253bc8ae85aa6dda90a11537f272b372ed49baa31ed03ddad91725ce005323a3ba104ddc75bcb9318b90b083ec91d0bde2fcc46fbfa380219ffff03e934f69a5cde16e25f1ddbfafda1d5ae63026d7b1f263169fbb109c0d89947b7030fdb8ed7c0faff2177228852b01ab17d598b2a30c1fa09ff68bf20d56591dc030303dd78c5453b83d23d12c5cde6256ce258344fbd2f186a9d13fc7349071dd85b0219ffff0312f4a0f262d72a9f5622de7102ee4843fbaf9d9186eebdd7711877cbcf960f0b0397ff49bc1d80a3cc9af0b25c56a520274546a1acd6e0dfeb9784d7732be055b8030364c583aa3376aca148c459657b05c5dc01a82238b97c1ccb964e355e02242003c65056a058bfb95f62b9442c06aac2d96645adb767fa67e36a0db7668a6d3c8003157b68cde3787e30f218565f887190d448d96441fc2fde6ae4306a5ac2b4dfa003ff6f81aaaf559f505eabdaa573e1ed8005641419f3dbc7a8d021cc6f5a6f3a6403f20398226a90b7da676762ccca0c0a69fb71fc8ccfa0d84a8d8f73ef559235c7039ba005bc7c6037bf0789606bd64e03cd3a20f53fe614705ce85e1056caaf1ad80219ffff0219ffff0311548b0a80651a5b2512fd8d44c77bd84e3a21d77eb0e38d01c4a744dd6febe5036a2531fb8149904fd2b6efcc575c4bd269445047454ef1dda9bfd8fca4c8b9be032b5f7be7459ac89a41b18c12cab988930299ead73d6327bd982062f0e2055b55035aab393eff88449a6b371f319f6f4d71c765b363f811fb0d0983f9cd00df827203469fa5d0809d6755eb7681b856df8a537a7b8407a311342734a1749b1f6c501a036ea3f6aa41ada99d447f71b061bd5d26a838258171ec234b89e3b2f55d6e8cde039d9a18a5b27954b833d878c8996424af57e54095e9ac646e3ce59ca448f5638403bc54d73db3afd45edf4e22ea2e9d6df2a0f2b6fb1f90ef3800c2ca561783a079035366f0a3b5e8d44bcae2dbc0117a68c5320bc75346417439c68ab7e3931624e90336b132a3abd243c0af6b7c277df7b8560e2fd010e4efb6766d1ba8d1a1bf622d03678e93623f52f2b37ad177f828067c71bb0429a73d0970188c8a05c3e4a0d70903de1adf88d36f3d9a97660c582c3c83c8a3b2876e94768613a6ddd52df8ef39c1033369c20ea8ee9b13f7995c269264d9535c82f743016723fd30c35756d58ac8c1031850bf11b50596a60509321c1e1584e5837568c4cc10cf2e74e7829fd4e4662003c807600722c0468bf026efc08f1211f5ea3612875c9acef8a7003077d96ac91903cb36e03775ccd09295d405e6668b97ae07417e7f0995a716397a5056fd3f1e2e03ebe8407a10f5013dfbef6677fc0e21596df0cfd671404cc34273b2368b6dc9560394e6aa3fe14c8d0585828b6e410f3535c995d95c80bc63d35b4bce98fc774461039b3c48257250f5af296f0d601ff67b161be0dc36cc89c97a245bc6c55db4319303fa11d2c7c7f141ef7e866930348adf09272dc964ce8c4e22f5420c1d0440b04b035f97d207a9cf987d609faac30057c8898710cfd9168a4ed9b966143f42b909de05581e03eb78014b9507adeecdd27cd602489f4ee39b4cc70bafd0ac925c80d2000c024612f6dd3122a005581e034eb5ea517441a0a6d5408481c2b8143d9da41935c96fbfd58dfb70fe9004020459370d6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c80621d35671461040057806301ffc9a7146103fb57806303fd2a45146103f6578063069d955f146103f157806306fdde03146103ec57806307e0db17146103e7578063095ea7b3146103e25780630df37483146103dd57806310ddb137146103d857806318160ddd146103d357806323b872dd146103ce5780632a205e3d146103c95780632b28fc7a1461031f5780632b7f29fa146103c4578063313ce567146103bf57806339509351146103ba5780633d8b38f6146103b55780633f0fb380146103b05780633f1f4fa4146103ab57806342d65a8d146103a657806343cc8c2a146103a1578063447705151461039c5780634c42899a1461039c5780634e221c271461039757806351905636146103925780635b8c41e61461038d5780635f8553e71461038857806366ad5c8a146103835780636db41ce91461037e578063705285141461037957806370a0823114610374578063715018a61461036f5780637533d7881461036a578063800cee511461036557806380c581d1146103605780638cfd8f5c1461035b5780638da5cb5b146103565780639358928b14610351578063950c8a741461034c578063958f97351461034757806395d89b41146103425780639e7bd5251461033d5780639f38369a14610338578063a457c2d714610333578063a6c3d1651461032e578063a9059cbb14610329578063b353aaa714610324578063b3d514fb1461031f578063baf3292d1461031a578063c446183414610315578063c95d83ee14610310578063cbed8b9c1461030b578063d1deba1f14610306578063d49d518114610301578063dd62ed3e146102fc578063df2a5b3b146102f7578063e1d5584c146102f2578063eab45d9c146102ed578063eb8d72b7146102e8578063ed629c5c146102e3578063f2fde38b146102de578063f5ecbdbc146102d95763fc0c546a0361000e57612502565b61242e565b612367565b612344565b6121fa565b61219c565b612141565b612054565b611ffa565b611fda565b611ea0565b611db4565b611d83565b611d66565b611cf6565b610a85565b611cb1565b611c87565b611b04565b611a46565b6119a3565b61193b565b611894565b61186e565b611845565b611817565b6117ee565b6117ae565b6116cf565b6116a6565b61164f565b611507565b6114ca565b611439565b6113e2565b611259565b6111e9565b61113d565b610deb565b610da9565b610d8d565b610d4b565b610cca565b610c91565b610c73565b610c17565b610b83565b610b67565b610ac7565b610a00565b6109a2565b610984565b6108fa565b6108bb565b610886565b6107d6565b6106f5565b610664565b610647565b6105bc565b6104a8565b61ffff81160361041157565b600080fd5b9181601f84011215610411578235916001600160401b038311610411576020838186019501011161041157565b9060806003198301126104115760043561045c81610405565b916001600160401b0390602435828111610411578161047d91600401610416565b9390939260443581811681036104115792606435918211610411576104a491600401610416565b9091565b34610411576104b636610443565b929493919291907f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b031633036105775761053c610544926100199761053561051b6105168a61ffff166000526001602052604060002090565b611632565b805190818414918261056d575b508161054a575b50612761565b36916110e0565b9236916110e0565b926129d8565b90506105573684866110e0565b602081519101209060208151910120143861052f565b1515915038610528565b60405162461bcd60e51b815260206004820152601e60248201527f4c7a4170703a20696e76616c696420656e64706f696e742063616c6c657200006044820152606490fd5b346104115760203660031901126104115760043563ffffffff60e01b811680910361041157806020911590811561062b575b8115610600575b506040519015158152f35b630a72677560e11b81149150811561061a575b50386105f5565b6301ffc9a760e01b14905038610613565b6336372b0760e01b811491506105ee565b600091031261041157565b3461041157600036600319011261041157602060405161dead8152f35b34610411576000366003190112610411576011546040805161ffff808416825260109390931c909216602083015290f35b0390f35b60005b8381106106ac5750506000910152565b818101518382015260200161069c565b906020916106d581518092818552858086019101610699565b601f01601f1916010190565b9060206106f29281815201906106bc565b90565b34610411576000806003193601126107d3576040519080600a5461071881611562565b808552916001918083169081156107a9575060011461074e575b61069585610742818703826110a4565b604051918291826106e1565b9250600a83527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85b82841061079157505050810160200161074282610695610732565b80546020858701810191909152909301928101610776565b8695506106959693506020925061074294915060ff191682840152151560051b8201019293610732565b80fd5b3461041157600060203660031901126107d3576004356107f581610405565b6107fd61251d565b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b0316908290823b1561087157602461ffff918360405195869485936307e0db1760e01b85521660048401525af1801561086c57610860575080f35b61086990611071565b80f35b612823565b5080fd5b6001600160a01b0381160361041157565b34610411576040366003190112610411576108b06004356108a681610875565b6024359033612599565b602060405160018152f35b346104115760403660031901126104115761ffff6004356108db81610405565b6108e361251d565b166000526003602052602435604060002055600080f35b3461041157600060203660031901126107d35760043561091981610405565b61092161251d565b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b0316908290823b1561087157602461ffff918360405195869485936310ddb13760e01b85521660048401525af1801561086c57610860575080f35b34610411576000366003190112610411576020600954604051908152f35b34610411576060366003190112610411576108b06004356109c281610875565b6024356109ce81610875565b604435916109dd8333836126c9565b6131b7565b60243590811515820361041157565b60043590811515820361041157565b346104115760a036600319011261041157600435610a1d81610405565b6001600160401b039060243582811161041157610a3e903690600401610416565b916064359081151582036104115760843594851161041157610a67610a73953690600401610416565b94909360443592612c78565b60408051928352602083019190915290f35b346104115760003660031901126104115760206040516107d08152f35b604090600319011261041157600435610aba81610405565b906024356106f281610405565b34610411577f60efe1e3702c64a1ed1b8d52ed5d4d71b1a990e2654d735810c84eee758c197d610af636610aa2565b90610aff61251d565b61ffff610b1e818316916107d0808411159182610b5a575b505061316b565b6012805463ffffffff1916909117601084901b63ffff0000161790556040805161ffff928316815291909216602082015290819081015b0390a1005b8616111590503880610b17565b3461041157600036600319011261041157602060405160128152f35b3461041157604036600319011261041157600435610ba081610875565b3360009081526008602090815260408083206001600160a01b03851684529091529020546024358101809111610bda576108b09133612599565b612575565b90604060031983011261041157600435610bf881610405565b91602435906001600160401b038211610411576104a491600401610416565b3461041157602061ffff610c64610c2d36610bdf565b9390911660005260018452610c4f610c5660406000206040519283809261159c565b03826110a4565b8481519101209236916110e0565b82815191012014604051908152f35b34610411576000366003190112610411576020600c54604051908152f35b346104115760203660031901126104115761ffff600435610cb181610405565b1660005260036020526020604060002054604051908152f35b3461041157610cd836610bdf565b9190610ce261251d565b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b031691823b1561041157604051928380926342d65a8d60e01b825281610d396000988997889460048501612850565b03925af1801561086c57610860575080f35b3461041157602036600319011261041157600435610d6881610875565b60018060a01b0316600052600f602052602060ff604060002054166040519015158152f35b3461041157600036600319011261041157602060405160008152f35b3461041157602036600319011261041157600435610dc681610875565b60018060a01b03166000526010602052602060ff604060002054166040519015158152f35b60e036600319011261041157600435610e0381610875565b60243590610e1082610405565b6001600160401b039060443582811161041157610e31903690600401610416565b909160643560843594610e4386610875565b60a43593610e5085610875565b60c43591821161041157610e78610e6e610e80933690600401610416565b97909236916110e0565b9536916110e0565b60065460ff1615610fcb576022815110610f86577f36bf890b6c16bd333db9fb1f5bd7cc1d42117f10f8aae924d25070edd5b57e4594610f68610f81938361ffff97610f048c8a6022610f6099015191166000526002602052610ef0604060002060008052602052604060002090565b5490610efd82151561309a565b10156130e6565b610f0e8389613132565b9a6040519384610f268b60208301938a429286612de1565b0394610f3a601f19968781018352826110a4565b5190209687948d610f546040519788928b60208501612e1f565b039081018652856110a4565b34938d612ec8565b60405194859460018060a01b0316981696429185612e48565b0390a3005b60405162461bcd60e51b815260206004820152601c60248201527f4c7a4170703a20696e76616c69642061646170746572506172616d73000000006044820152606490fd5b8051611007577f36bf890b6c16bd333db9fb1f5bd7cc1d42117f10f8aae924d25070edd5b57e4594610f68610f8193610f609361ffff97610f04565b60405162461bcd60e51b815260206004820152602660248201527f4f4654436f72653a205f61646170746572506172616d73206d7573742062652060448201526532b6b83a3c9760d11b6064820152608490fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161108457604052565b61105b565b60c081019081106001600160401b0382111761108457604052565b90601f801991011681019081106001600160401b0382111761108457604052565b6001600160401b03811161108457601f01601f191660200190565b9291926110ec826110c5565b916110fa60405193846110a4565b829481845281830111610411578281602093846000960137010152565b602090611131928260405194838680955193849201610699565b82019081520301902090565b346104115760603660031901126104115760043561115a81610405565b6001600160401b0360243581811161041157366023820112156104115761118b9036906024816004013591016110e0565b906044359081168103610411576111c06111d8926111ba6106959561ffff166000526005602052604060002090565b90611117565b906001600160401b0316600052602052604060002090565b546040519081529081906020820190565b34610411576020366003190112610411577fb28be025a72a05ba67e4bc4c50a8275de3762106cee9ce36d91d5369356a3062602060043561122981610875565b61123161251d565b600d80546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346104115761126736610443565b91509130330361138e57611288936112809136916110e0565b5036916110e0565b6020810161ffff8082511615600014611349578251830191608084840312610411576112b49051610405565b6040830151916001600160401b038311610411577f5173fef6f1b23a3cfcc98bda8bb36526210a9322981b5f1bbaf955cb6bebeae7926020806112fb9301918601016127bc565b92610f8161131c611315608060608501519401519661304a565b9283613160565b604080519182524260208301528101959095526001600160a01b0390911694909116929081906060820190565b60405162461bcd60e51b815260206004820152601c60248201527f4f4654436f72653a20756e6b6e6f776e207061636b65742074797065000000006044820152606490fd5b60405162461bcd60e51b815260206004820152602660248201527f4e6f6e626c6f636b696e674c7a4170703a2063616c6c6572206d7573742062656044820152650204c7a4170760d41b6064820152608490fd5b34610411576040366003190112610411576004356113ff81610875565b6114076109e2565b9061141061251d565b60018060a01b0316600052601060205260406000209060ff801983541691151516179055600080f35b34610411577f4454942e49ab848c7894e5831f6da90bfbb59f874a7e3b3066bd49d3540a898861146836610aa2565b9061147161251d565b61ffff61148f818316916107d0808411159182610b5a57505061316b565b6011805463ffffffff1916909117601084901b63ffff0000161790556040805161ffff92831681529190921660208201529081908101610b55565b34610411576020366003190112610411576004356114e781610875565b60018060a01b031660005260076020526020604060002054604051908152f35b34610411576000806003193601126107d35761152161251d565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b90600182811c92168015611592575b602083101461157c57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611571565b90600092918054916115ad83611562565b91828252600193848116908160001461160f57506001146115cf575b50505050565b90919394506000526020928360002092846000945b8386106115fb5750505050010190388080806115c9565b8054858701830152940193859082016115e4565b9294505050602093945060ff191683830152151560051b010190388080806115c9565b9061164d611646926040519384809261159c565b03836110a4565b565b346104115760203660031901126104115761ffff60043561166f81610405565b166000526001602052610695610c4f61169260406000206040519283809261159c565b6040519182916020835260208301906106bc565b3461041157600036600319011261041157600d546040516001600160a01b039091168152602090f35b34610411576040366003190112610411576004356116ec81610875565b6116f46109e2565b6116fc61251d565b611721576001600160a01b03166000908152600f60205260409020805460ff19169055005b6001600160a01b0381166000908152600f602052604090205460ff16611769576001600160a01b03166000908152600f6020526040902061001990805460ff19166001179055565b60405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e00000000006044820152606490fd5b346104115760206117e561ffff6117c436610aa2565b91166000526002835260406000209061ffff16600052602052604060002090565b54604051908152f35b34610411576000366003190112610411576000546040516001600160a01b039091168152602090f35b3461041157600036600319011261041157602060095430600052600782526040600020549003604051908152f35b34610411576000366003190112610411576004546040516001600160a01b039091168152602090f35b3461041157600036600319011261041157602060ff600d5460a01c166040519015158152f35b34610411576000806003193601126107d3576040519080600b546118b781611562565b808552916001918083169081156107a957506001146118e05761069585610742818703826110a4565b9250600b83527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b82841061192357505050810160200161074282610695610732565b80546020858701810191909152909301928101611908565b34610411576020366003190112610411577fbeb8d57bdb4b60e02e3c19624d955df6b365570ea9a363f9f3bd226a3649852060206119776109f1565b61197f61251d565b1515600d5460ff60a01b8260a01b169060ff60a01b191617600d55604051908152a1005b346104115760203660031901126104115761ffff6004356119c381610405565b166000526001602052610c4f6119e360406000206040519283809261159c565b805115611a0157610742816119fb61069593516128bf565b90612958565b60405162461bcd60e51b815260206004820152601d60248201527f4c7a4170703a206e6f20747275737465642070617468207265636f72640000006044820152606490fd5b3461041157604036600319011261041157600435611a6381610875565b60243590336000526008602052611a908160406000209060018060a01b0316600052602052604060002090565b5491808310611ab157611aa592039033612599565b60405160018152602090f35b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b3461041157611b1236610bdf565b90611b1b61251d565b60405192602092808385870137611b476034868381013060601b888201520360148101885201866110a4565b60009361ffff8316855260019081815260408620918751916001600160401b03831161108457611b8183611b7b8654611562565b8661286b565b80601f8411600114611bf1575091808092611be09695948a9b7f8c0400cfe2d1199b1a725c78960bcc2a344d869b80590d0f2bd005db15a572ce9b94611be6575b50501b916000199060031b1c19161790555b60405193849384612850565b0390a180f35b015192503880611bc2565b91939498601f198416611c0987600052602060002090565b938a905b828210611c70575050917f8c0400cfe2d1199b1a725c78960bcc2a344d869b80590d0f2bd005db15a572ce999a95939185611be098969410611c57575b505050811b019055611bd4565b015160001960f88460031b161c19169055388080611c4a565b808886978294978701518155019601940190611c0d565b34610411576040366003190112610411576108b0600435611ca781610875565b60243590336131b7565b34610411576000366003190112610411576040517f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b03168152602090f35b34610411576020366003190112610411577f5db758e995a17ec1ad84bdef7e8c3293a0bd6179bcce400dff5d4c3d87db726b6020600435611d3681610875565b611d3e61251d565b600480546001600160a01b0319166001600160a01b03929092169182179055604051908152a1005b346104115760003660031901126104115760206040516127108152f35b34610411576000366003190112610411576012546040805161ffff808416825260109390931c909216602083015290f35b3461041157608036600319011261041157600435611dd181610405565b602435611ddd81610405565b6064356001600160401b03811161041157611dfc903690600401610416565b9092611e0661251d565b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b031690813b156104115760008094611e7d604051978896879586946332fb62e760e21b865261ffff8092166004870152166024850152604435604485015260806064850152608484019161282f565b03925af1801561086c57611e8d57005b80611e9a61001992611071565b8061063c565b611ea936610443565b9161ffff86949296166000526005602052611ef081604060002060206040518092878b833787820190815203019020906001600160401b0316600052602052604060002090565b54918215611f89577fc264d91f3adc5588250e1551f547752ca0cfa8f6b530d243b9f9f4cab10ea8e596610b5594611f7d91611f77916000611f6b876111c08d89611f658f611f518f611f44368c8e6110e0565b6020815191012014612b8f565b61ffff166000526005602052604060002090565b91612b76565b5561128036868c6110e0565b86612d53565b60405195869586612be5565b60405162461bcd60e51b815260206004820152602360248201527f4e6f6e626c6f636b696e674c7a4170703a206e6f2073746f726564206d65737360448201526261676560e81b6064820152608490fd5b3461041157600036600319011261041157604051600160801b8152602090f35b346104115760403660031901126104115760206117e560043561201c81610875565b6024359061202982610875565b60018060a01b03166000526008835260406000209060018060a01b0316600052602052604060002090565b346104115760603660031901126104115760043561207181610405565b60243561207d81610405565b6044359161208961251d565b821561210457610b557f9d5c7c0b934da8fefa9c7760c98383778a12dfbfc0c3b3106518f43fb9508ac09361ffff83166000526002602052806120de8560406000209061ffff16600052602052604060002090565b556040519384938460409194939294606082019561ffff80921683521660208201520152565b60405162461bcd60e51b81526020600482015260156024820152744c7a4170703a20696e76616c6964206d696e47617360581b6044820152606490fd5b3461041157602036600319011261041157600435600e5481101561041157600e6000527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd01546040516001600160a01b039091168152602090f35b34610411576020366003190112610411577f1584ad594a70cbe1e6515592e1272a987d922b097ead875069cebe8b40c004a460206121d86109f1565b6121e061251d565b151560ff196006541660ff821617600655604051908152a1005b346104115761220836610bdf565b919061221261251d565b60009161ffff81168352600160209080825260408520916001600160401b0387116110845761224b876122458554611562565b8561286b565b8590601f88116001146122b25750918680879893611be0957ffa41487ad5d6728f0b19276fa1eddc16558578f5109fc39d2dc33c3230470dab99936122a7575b501b906000198460031b1c191617905560405193849384612850565b88013592503861228b565b90601f1988166122c785600052602060002090565b9288905b82821061232d575050918893917ffa41487ad5d6728f0b19276fa1eddc16558578f5109fc39d2dc33c3230470dab9899611be0969410612313575b505082811b019055611bd4565b870135600019600386901b60f8161c191690553880612306565b808685968294968c013581550195019301906122cb565b3461041157600036600319011261041157602060ff600654166040519015158152f35b346104115760203660031901126104115760043561238481610875565b61238c61251d565b6001600160a01b0390811680156123da57600080546001600160a01b03198116831782559092167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b346104115760803660031901126104115760043561244b81610405565b6024359061245882610405565b612463604435610875565b604051633d7b2f6f60e21b815261ffff91821660048201529116602482015230604482015260648035908201526000816084817f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b03165afa801561086c57610695916000916124e1575b50604051918291826106e1565b6124fc913d8091833e6124f481836110a4565b8101906127fe565b386124d4565b34610411576000366003190112610411576020604051308152f35b6000546001600160a01b0316330361253157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b634e487b7160e01b600052601160045260246000fd5b90601f8201809211610bda57565b6001600160a01b03808216929190831561267857821693841561262857806126127f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925946125fb6126239560018060a01b03166000526008602052604060002090565b9060018060a01b0316600052602052604060002090565b556040519081529081906020820190565b0390a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6001600160a01b0380821660009081526008602090815260408083209386168352929052209091905492600184016127015750505050565b80841061271c57612713930391612599565b388080806115c9565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b1561276857565b60405162461bcd60e51b815260206004820152602660248201527f4c7a4170703a20696e76616c696420736f757263652073656e64696e6720636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b81601f820112156104115780516127d2816110c5565b926127e060405194856110a4565b81845260208284010111610411576106f29160208085019101610699565b906020828203126104115781516001600160401b038111610411576106f292016127bc565b6040513d6000823e3d90fd5b908060209392818452848401376000828201840152601f01601f1916010190565b60409061ffff6106f29593168152816020820152019161282f565b90601f811161287957505050565b600091825260208220906020601f850160051c830194106128b5575b601f0160051c01915b8281106128aa57505050565b81815560010161289e565b9092508290612895565b601319810191908211610bda57565b91908203918211610bda57565b156128e257565b60405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606490fd5b1561291f57565b60405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606490fd5b61296c826129658161258b565b10156128db565b6129798282511015612918565b81612991575050604051600081526020810160405290565b60405191601f811691821560051b808486010193838501920101905b8084106129c55750508252601f01601f191660405290565b90928351815260208091019301906129ad565b9290915a604051633356ae4560e11b6020820190815261ffff87166024830152608060448301529491612a4482612a36612a1560a48301876106bc565b6001600160401b0388166064840152828103602319016084840152886106bc565b03601f1981018452836110a4565b6000809160405197612a5589611089565b609689528260208a019560a036883751923090f1903d9060968211612a9c575b6000908288523e15612a89575b5050505050565b612a9294612aa5565b3880808080612a82565b60969150612a75565b9193612b637fe183f33de2837795525b4792ca4cd60535bd77c53b7e7030060bfcf5734d6b0c95612b71939561ffff81516020830120961695866000526005602052612b2a83612b0960208b60406000208260405194838680955193849201610699565b820190815203019020906001600160401b0316600052602052604060002090565b556001600160401b03612b4f604051988998895260a060208a015260a08901906106bc565b9216604087015285820360608701526106bc565b9083820360808501526106bc565b0390a1565b6020919283604051948593843782019081520301902090565b15612b9657565b60405162461bcd60e51b815260206004820152602160248201527f4e6f6e626c6f636b696e674c7a4170703a20696e76616c6964207061796c6f616044820152601960fa1b6064820152608490fd5b91612c119060609461ffff6001600160401b03949998979916855260806020860152608085019161282f565b951660408201520152565b9190826040910312610411576020825192015190565b91926106f29694959361ffff612c639316845260018060a01b0316602084015260a0604084015260a08301906106bc565b9315156060820152608081850391015261282f565b919495612cda9193949796612cbe6040978897612caa89519889936000602086015260608c860152608085019161282f565b90606083015203601f1981018752866110a4565b855163040a7bb160e41b81529889958695309060048801612c32565b03817f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b03165afa92831561086c576000918294612d1f575b50509190565b612d4393945080919250903d10612d4c575b612d3b81836110a4565b810190612c1c565b91903880612d19565b503d612d31565b906020810161ffff808251161560001461134957825183019160808484031261041157612d809051610405565b6040830151916001600160401b038311610411577f5173fef6f1b23a3cfcc98bda8bb36526210a9322981b5f1bbaf955cb6bebeae792602080612dc79301918601016127bc565b9261262361131c611315608060608501519401519661304a565b60549492916bffffffffffffffffffffffff199060601b168152612e0f825180936020601485019101610699565b0191601483015260348201520190565b612e3e60609295949395600083526080602084015260808301906106bc565b9460408201520152565b9092612e616060939695946080845260808401906106bc565b95602083015260408201520152565b92612e956106f297959361ffff612ea39416865260c0602087015260c08601906106bc565b9084820360408601526106bc565b6001600160a01b0391821660608401529316608082015280830360a0909101526106bc565b94612ef19193929561ffff81166000526001602052612ef860406000206040519485809261159c565b03846110a4565b825115612f7d57612f0a855182612fdb565b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b031693843b1561041157600096612f5f91604051998a988997889662c5803160e81b885260048801612e70565b03925af1801561086c57612f705750565b80611e9a61164d92611071565b60405162461bcd60e51b815260206004820152603060248201527f4c7a4170703a2064657374696e6174696f6e20636861696e206973206e6f742060448201526f61207472757374656420736f7572636560801b6064820152608490fd5b61ffff166000526003602052604060002054908115613040575b11612ffc57565b606460405162461bcd60e51b815260206004820152602060248201527f4c7a4170703a207061796c6f61642073697a6520697320746f6f206c617267656044820152fd5b6127109150612ff5565b601481511061305d576020015160601c90565b60405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606490fd5b156130a157565b60405162461bcd60e51b815260206004820152601a60248201527f4c7a4170703a206d696e4761734c696d6974206e6f74207365740000000000006044820152606490fd5b156130ed57565b60405162461bcd60e51b815260206004820152601b60248201527f4c7a4170703a20676173206c696d697420697320746f6f206c6f7700000000006044820152606490fd5b6106f2908290336001600160a01b03821603613150575b30906131b7565b61315b8233836126c9565b613149565b816106f291306131b7565b1561317257565b60405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420657863656564206d6178696d756d732e0000000000000000006044820152606490fd5b90613254613204928261324e61326e9660009060018060a01b0384168252600f60205260ff60408320541661330d575b6001600160a01b0385166000908152600f6020526040902061320b905b5460ff1690565b6132e9575b6001600160a01b038516600090815260106020526040902061323190613204565b80156132c2575b80156132b3575b6132aa575b8161328d576128ce565b916133d7565b6001600160a01b03166000908152600f6020526040902090565b80613283575b61327a57565b61164d42600c55565b50600c5415613274565b600d546132a59083906001600160a01b0316876133d7565b6128ce565b60009150613244565b50600d5460a01c60ff1661323f565b506001600160a01b03841660009081526010602052604090206132e490613204565b613238565b90506133076132ff6132f96135fc565b836134ec565b612710900490565b90613210565b905061271061331d6132f96134ff565b04906131e7565b1561332b57565b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b1561338357565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b916001600160a01b03808416929091831561349957613483827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef94612623941696613423881515613324565b6001600160a01b03811660009081526007602052604090206134689085905461344e8282101561337c565b039160018060a01b03166000526007602052604060002090565b556001600160a01b0316600090815260076020526040902090565b8054820190556040519081529081906020820190565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b81810292918115918404141715610bda57565b600080600c5461350f81426128ce565b6014811080806135f3575b6135e9575b15806135df575b806135d6575b6135cc575b6028811015806135c0575b806135b7575b61358f575b6201518011159081613585575b5061355d575090565b1590506135785761ffff61357460115461ffff1690565b1690565b60115460101c61ffff1690565b9050151538613554565b925090506000906201518061ffff6135ae60125461ffff9060101c1690565b16939050613547565b50811515613542565b5062015180811061353c565b6107d09350613531565b5081151561352c565b5060288110613526565b610fa0945061351f565b5082151561351a565b6000600c5461360b81426128ce565b6014811080806136ce575b6136c4575b15806136ba575b806136b1575b6136a7575b60288110158061369b575b80613692575b613673575b6201518011159081613669575b506136585790565b5061ffff61357460115461ffff1690565b9050151538613650565b91506201518061ffff61368960125461ffff1690565b16929050613643565b5081151561363e565b50620151808110613638565b6107d0925061362d565b50811515613628565b5060288110613622565b610fa0935061361b565b5082151561361656fea264697066735822122069a9c718f17cbbcf568efa17bebebeb5e6919f686b1779132e1138d839ec5a1964736f6c6343000812003303b1b42f63c20534be934f5b5c03ec2dccd1d647f667dca0652a1f2958db57030103c2024d7604154e79905adcb00f3f4e0aa287b1310aa127fa370f79a05965d300038d5e785f95c653deac07af5ec360175ea1e511b235f90f05b8e51bd98ae5996703bd79b75e3bdc99c2d98183d03757144a32c766add54272016add23b37e0544ac036be00769e40a3e33463f683e73ca6652e518c0b056647391e8d8f9c23241533c03cb493953de0c18f27e1ff373bf2c27aa025ea717a25e4a589bc0c6e21c119b2b03842500eeca9904778ad6396075ac2fd3fc235578cae3856fa0eab012ca0281200389e91467f90d940fa5caaffead860b414a04d2b19e8619badc8d6f9e32d77a0903daea4e0774238e62a1a722abe81e219e889890190e947b41d925dd19d0c1180b032ff3429282c762c443fc7be072f05a6758a9a1cd6fe8666db79872996bb7d80403eb4bd79827bef5a2b6908fa149d43555c1a9cf774fd78035bed9af258099a51303edbc278809d2b7afc8de1f09b6d61a145d75a975921e1623c0b16d8dcd70dab50374ba5a874923998a42b82e812a58a0fda30565b74848b2e8155bdb682a78a22e03adf3c46658ede69c976436dac3578966354624262da4703655fac6caf3b8c10703f3915c02a44d4c1de2a62e15c0c12d6631fdfb64c6a6d0a64e7d9a1dacc3889d0387cf87ac2229aa37e49cef8f7bf66b0aafba98a7be5f4e470577c25f3ca5aacf0330c692370a70135f818f890c86f87c5f24440ad79f49e75901d970973cf82b6a035627ceaaeed27963ae2b6774398d277ae74611606426c0c3c0231921caac44cb03ae1365a1f2d2e161455e9ee3ecd2014fb483fd8aab4f95aad6e378ec7d92d04e03c23b9ec7b192e33c1fa32fb603da8007d631046ac6219f76601975faefd6ed2a03a1e33a7755dc5f2fd6b7ada90c7e9fd4b4186fb3e69a765710651d72f411dd1603ce31ba10f5ea481561af7303ae82a95f7e29ce6da12c9374189981456adccf5e03fb1d5afdf82b2b8f692010d274e4ee16ab4942dc2d6db2a0713f3e56edff81b803f33cc834f229ccc0089c48fe4242f81739c31e996a25177ea188cec3e9b57396036910b8a8318b76230404ce53afd182ea80df21c8cd9fc19898958fcd50f224ae03de8bfa3a2e9e4d2687b6661cec2c82ab7670feae1732e26d5b368a18bae487c3030627696842eed2bd82bc3143a1dc3061c3bc4674b771c118448bd8e213886154035b7424e3a453c69901716910b084ac79fdc75c335e19dade9be8d21eb37b4ca5036bae1c7e0b38d09614ac4fbb7ab066bd0494fe0a0c91a81c301f718bb6adfa84035e0fcec78cbdc3e32b9e0c294a2797a60f7a9633e0e3ab9db2adab73effdb4cc03dc178b8c965953f6be4a26d316ab4aaa698604de1967a16e061f3faf9db88c2e037094982f618d81604000ddd681917c7a6a7d35e5e1053fbc9ca475763b9b74f403731c09923a0a77796423dac5e5744c6fc63bd86df7a88c71fac73016f2c8639f034543f2c02bf7e44c1a8e9d104aeea6533aa4f3ea73fef0d2803a700c3e09905e03ecfc321b24eb8c07dcec361e0d610a708c261d08062b8a83c67db920678e5ee200581f0241b8f663ad9255f6d01c90ceaab62b3b2a8add5dcb8ace97be2aa1eaff64490f9bf769d8a741b61f00581f02237b47d1898e75e3e75db8f0ab859e827c1214caccde260d9b556a98f66e4905b27675ddcab6fc0000581f027859a9191428a77ea1ade1f6f907828230bc269d84d70d32efbc5a9fa4455820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f023d66e28fed02e22f42182b53e53fdaae228284966202e8ddea105bf85801493a4b064bb270a29d9d00581f02c90118f58dcbf3ee31e99e86320ea4ccd71ee0816338d37f07780ae7dbb15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f029e82b56a0f782a4aa5ccc92a867fbe4a36aff7736249b1fae6816a316bed490d4cbeaf597686704f00581f02edec801391461759aa0d4eb1fd4d71d518948170f77445f000b67c0f30aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e76360946a2d07a3e5e16bf048d7a79ba8bf4521ab9ab82bb4a867b5d960d45400581f0291a871336deb6cd6dbe9ab53c418aac755410f8304e09a5cc57b1ad1c94b490f40bb6c28a579a28200581f0206518ba3066c489965885f92d744bca9e6a17bc5d82f2f6b5f817857f56a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c22e78ab327b9bf2a28bf71c2ad6bb1e219cf12a4ee6171bbb15b1096bb34a0158e8751ca886f5fa210219bbab03d4acfdaa4db1891495e3f75994258ceaa397c2f6453b6b2075f777890ce3869c036eccc7ec453399a2606bc67e87748f99df4125500e80d6b10a57042724e9ae5903339ce52d4b6dddebf94c3db00fc7af8ff4f64db4d6bfe46a2f8019f3724f803503a3c1e162d67787a9f96f62180f258493f85ff91acbeaa19f43ce81be4dee432e03adf624aa22cc8fa314399a7afc3b96582f6339f80df9ebb7523c42358003054f03fad20f2022ec8c0906e2befcaabaaa2b23a4d9387ce01a0fafd44940d4a860d203d8ac77b926e990a66d77626fdadf81f92898d2ef3ff05531bfd1a8ca865534180219ffff031fb829b2f3e4c221a25cf8998c090bc1fad85d924b5bbf0f66541c8299f22ed403379f483afe443d3da7e0c3a5b51048a03f74357af630ac861aa3d86d3b6e7ff9039cb8b8051509a804c6107d6c3849f405a1050a25373b27df10889dc2c9fc55d50219ffff0219ffff05581e033320fc1a2a2bc800ccee82fee2453e17e5aa5b35c15e853818136e1d600f01481b275e3e09f29cea19370d0389f4d1e777a0f646d35d41c0902601ff61824b4ff17ab717165539a7569b84df03765ee8afbbd0461aea3172089eb8099e8d0cc53056743fbef3de1f799c48f9d403431edf8908ce3c2b642736358bc63cb70ec36c3d6659f748bdf08761e1f848ca037c03d74a7608283a083d9584b94bb3639624d280557cb10b358aa12eee3199f705581e03a9158e0c8d442b79d8e15d335e8a881fc3f6f6dae9d5af8077301a31f004060305f6b809d9684c8ac1fd0d6bba2d2151fc6eada3776af4232e54d273f825604b0341db85ebc6285104beec6e19db325a74355c1c4d3ec10d7ed43dd916d79e281305581e03db6b4ff0164130b94e54b71070e253424b2d1249bb5f4ca2e2f8492ed0040905581e0320d0b8bdd595a346d225bb69c07efaa36c0cac4d04368fb9146704b31004020219eb770355d3333b3b40670bed58026bc7f02aa39275e8e6a1a0328ebcf068b0a149abde0357194ec03d91059b3594118dbceae7dde5067c26a691872416a62c2e87fa78ad037bd4d6ad28472318b0d08fe7bbd68a6d1584e9b82d086bf9b87e216cc31a6e3303879d085be8d3ad7d337799fd65046a766a6bc2917d3464164993ef9c30625e1703949a0cb86fef005f8647462db1e33b635294e3000b1c8d6dc1874d009946fadd03595626653875702ad2e8a8d28c0c536087b7d6128e168b4966f86297aaf74a900328c655ad11b602eebbf3ef1ff1869b8bbd062c1503364008915d1b90d9a93cb403787db917a53888fa7b0d6e047761a2b53b3c12ca42b6c2e56d5a79e00f1b41c7034fbd4ba0e8777f212947d25a84a113de8fbdc58b02cb4722aed368645ab679de0395f429c46abca98c598458a63c736144cf24e6e3fbaed1932d13e6fa997fb31c031b9251378973e113a5fc331abb95d32c3b13dd268991f7fdf813373d00dea6f9033fe7ff19968b442c4cc2a860f8811a6e2f0fca4111d4252d04dda719e9069c64039510cf61f226a77458d4845c6f4b731a7d9b2e01c88097c43d161d7a6d4446940219ffff0310d2551cf852b1767bcc0b8d681273f83c1d396408555a2396eda3c469174fc10327e224e45abe4e4659b7ec3fa8bec1094c74a7ab5c409e6fd68ea4996964943b030435b0b6387edcdc2593a6549d2aafb887a4d78d6d3288581b5f7b6348f9b33e032f13a97ccc616180be703d6856d3d4a4dd42e3e4d1158d660a5ac034407cc4e003defa8981aef5337e4ca4e02964c637ec6031a8bb82a9ccb8ec090f1ca98e715003bc96afe6836b85a951d0f5dbc9260860d200b60b0a38af7dd47abba7c0a8fbf90399071744e448d10798af5070c16c623df27a5367ee3e4567403042a2143cf14c03de3f8aba8c83229a24134cf86904c1b7d3f8c5c51ec1505c7043b87b44071e300383f5940197d9ad289bc22b685fab5997d2ab5c5d72beed033745fc961a84894603aa7bf88fd3916e1f78c6f12cfb1ecf0323087998bb2dae7bda3b12f23132db5b038bd37c6f6f118bf7780363f0c2045d997b2a8c0dd4e37b41a61108dc1f533a45032d7ce2d59153fa8ec3348c9fba9f316cb958275d5caeabf1c8347bc0ea20ddd903bfb1c536c4d77ce04c761e18519189f3ee59ccf82995b83c945f61300e7796b5039a642018c05d56d94cdcdd0e63f9633756b5332741a1cc632c448255da969d710348129cf6c998610eefd380cf7a09e85331e45ab62f8410cfc0378a278acc31790219ffff0384f0eb283af8e255603e779fa6a51cf5538701165b05bb95182216e3041afd3303161918d67c64cef4c893995db8e59777584c929233beb34e268ce2c608b1c2f203200924bed2655480b3fe5854a33f5636eefe863a4bf5ceff69446efeed610d1a0380ac77098d2500e29aa4c2df7ac55b404bb38916f39d393ccb2d10f18119b6c90374941b3acd1e631f003c3d1e4bd5d9cb9aca93fa804fc6a2107d4839f3f210f603f1631ec260d23063c018f3e177d96f71c44ccde6da4ca8e3f3f4dcb5c91d75f6033c6e85674d7d7ba0475a50ea8e34d508cffba967ef97d3459ddaad5140378ca803be44dc046df2ad03b10dfea6885d3bcad62de2f0b6785efbda9b779c562a6c6d033d85df61cd3ad79d06c3e15c8fe376649f2b51b55ed4819d5237b152b86483f00219ffff03467d07bb2cf6aa6de2d42578fad6248d803ee87b081dfc0d4b8309137bddd5a103d2172d9b74ab590545d0f853936128a5aab044c140f6ba08979f7fafee3a3db20219ffff030ae9492393e4bc11e99fc0a3a863bd6bc6bedd86fd4a2f108d26a720abf526f4035e3876481891a9bb6a4d2e6fc468ccc68bda8c3680e3d8a384c089b8eaebffe30301f0507757565a244522994c35489d8f7c773c0660446bac93cb7e82827d4eeb03637231820272adae1f374d0d5c749be204b010dbe76de0a0c26c6adf7b0202d403d2f7eca0bef8ca3ec5b6e7545c168957a42d8cc57ea446ec98879bb986f8fba80315f27d81ef77cb003770250295050a52eb1608f215d1135a3291a63ebe96a0440345b6ebd377180855f6dc734c4ce93dc735a4d542f693906f88706608c9f9e1ca03d84a8e36ef2c85b67b11547755aab499f51bbadd944310bec578a538d5d56a31033a661c0a0010c1d7a5a32bf8c61adb9ef99af60e41e00d279308330d38e5ea0503700f51acee045cfa55e75d513a997dbe48c9cf85fce9680f5da43951e59e15cc03b8e718eaedc666236a0f38b1a561945d856babe535fa1796a36952e51d7035700329c67759fb68124a3345b6b1f19dd06e9ddbf29bdaa21114ac90116b4d49c3ea0370d05e650e841f1f30f408acd2c3fe29309e9070359126154d1f55b26521f72303661e5becb54b732e438a79b4af654652356f8495bd8a2bd710725009cca1765a03d712cc91043353995a80abd383e19e655f575b5f2581a61c3caa00ea142a14cd03e782ba946b7a50fea69130379480cbe4174cc33aff33e7edcd4917a9567307ae0394f8de2c81fae338546717cc167dd40394e0cee224506e55d286c6d9c5795b8a03872f5e3e056a121e038e308721682eba3d1b4ae47d15df380cadba3d2529befd0342548f0995a8454b899ac08c016c11477a49b6f3e47cb555bed791107ca0aa980326a506eebec9313b1973a51134ae2a88abb55bd9eb45edafcca9e8f7b643fe3603cccb9e4b31cf0b2ab91d79cb742eb73f5cfc777206986bf5ca8b09cf5a379ff60349d992a9425205e5c40dc04d4c935972c37792c89fadba52b1e7b3912f2827b40325757646d723649714871c379d63fe8f8cf0740f6dc4cf47e4f5e149db789704038f4d9b5425a56f12eddee37cbf5d0b32587ba8398edb2c9f271a8cf796a7d1c103260458004ead7f2e704902766301cee4f28b914251f7e78553c287b118c7be3305581e03d197846b3f875f314d1cd9517fc313fed0e7f98358ce917fafc22822e0040105581e03e666ffbd92cb8cfff2d8eba6aae706d2a0149c93fdf30eae8d48f2b8400401033234342eceb96a687d9b63c8859b5532d80b68f6789f2ccc24d1af6880c85bba05581e0365217c8bb1cace30ff9e58f6dfb3c6ba39e2797d56a116248925e3a500040403a582556ed1a54df9ce08fbca77024c996e393c2722729de9f817525cc88b7e76030ca1696ead8438ca2350db3f7a50e72b5ceba11acf6891438dace125ddea2e5c05581e03078c44e571477bc491ca6ff54ab15496c7b1a6b88b0b9d7f9349a44ed00c0a471adc18cacd4f13035445b069fd2d71f6beab2b6705cf28e56accd066586773515b2287e5b4658c0805581e0367cf5580835f45a9bfe38fd96fd7f2573e7a08b94388b55d1904668bd00c19b099490279f5cc6b0459be9805581e031eaf9b42b70d31f66461038b2a64e026e637d795f161fe4f0b78dcfea00c03463429468c2c5803affe208456e818f69a73122832d6db3a7b93175f3bf83dd7f080d11743c81ea90352b50106208b0dce3c80d2e9f04f9a259d491f21002b96e6e8bd8b57becf942605581e03ba903bf7916c7f0e804016375b7558d8a5a0fa89ea817a6634db19b2d007011bffffffffffffffff0219a7f703b9594139013a97904925111d3da062059de61e97051a768765459fd5971259830377f6984cc97c7ede3140b8fe4c12ce39f13db83f77aae61767bd7c757f4118e403e0b4b58196349b29459a145a6936fbeaadb5db1cd9d9d9d9731e4f70986d354f03670e0bed0fda6e64864b36540ea2cd06ec452c41ba96ddca5027ddba10408208034fcec5852910335cdb27a49c245b9892222aa29f01c1635d5badf6e83f410fd5039dc20c3874aaf6b0bb30a33e029725180407ae01fa81c78bc48fb256f6064b5e0389b33d639ac97956891760eeb3febe631c1057c6999c35dc3130c39f8f9e3829034f260924fb9c07c57923b5d94b9f665eb544f93f241ca6990e5545fb90ea02cf03e0209e0dbb44bdd8fdb247deae59c5e0468ccb53074a0d9683c7c050210db7e10219ffff039cc6e8766ed00f935881a2891eea86770575c246867e8ac1a1de12f3451c8f1403ba02d42545b04200224e0236072dbabaea836fa3c33449e2295ce638e00fa1c803cc6c8a58aa10a7bb641a070fbc8bc9c4bda4c20227d44b52192eadeb1fb5f4350398aebe83c16cd7932b052a9f82b8f52bac637b5f638608f8d61da091530b194503c7261814635d6a6635c184fa045a8920930f225071dfb2f20b27a5e1e08b6b8a03e6f42277d59f00aea6ae65ad7fb23867c1ec9797acb0a0322e7850c74c2f17d8032df333491962d8dfb5f5285e39e67261f220421de2841d1908a6c8b117300f2703989d80fd62555f85452ed5ffb9e05b21e73e93918882a2f9487894624ae529ef035c108a02da7905279ce497ec7a0eafe341fe06579864cfddfcfd29e47a2e89f203f3bc1a116fa0d338f4c6b775ddefb13c61d77e668ee28c857a37855269c4209803784ba9f25808b0836ae2787b5892d743c794b20c92e0b1fe34694c157d5f6ccf032b9bf21b3bcec3eb483aec0d7e0e7463b841c2555bdacb6716809075c22be6490219ffff033be33516b12fa55cf9285a364c5febe6a5cff8a0ff205f9c045acc1d3d0abf5c0219ffff03c30ee97c18bf52ded1e32789f21b054c42211af99b0a3523e14f9a058cf727c903d84d8719a9a5c8cfd1befdfa7ae7daeb4bbb44c0166344517afbd47aaf812b2703aa8786c129460cef32dfc112f28863944ccf3e1b9ca8249d2a9e138bff5ad3ab0362a166a9c5d5a560a3ec8991566559fdd390430caa6b7c684fa166f5e9d4a07803019e47c5f2758aa2731246747f54390d4157bd76e3a302a0b37e7db986e511ad03c319f232d5bd342d4ddbaa29762960de2d98a347ac2820b57b19506110d04ad5038add70d1910d60fe2ffa01af9c631f0c869194a3eb922d1d4fe812b0e5b8218a03b549c4e395fe453aff9ac73bde446ea8e76a104750a52358c18ebab2ef2d72dd033f8d352b7219e68de9e9b1ee9364d2272ff9404307ff4f4d53e0186eb38b3553036ef720f0a7c03b4958d306c33634ed8ee5747e9235898b8f8e5dfbc17c94f02003dbe5bf4e234234d92a7f5ab451d5606fde566159a27eb9cf6e6a5b3987839c6003e55087856fde6432400df474ba6ac6e8495152d2b3f19baf4713e9ae0ecd9a34031a06f5c296132f6bd008617fec79c623b93531a05d509eaa1a16d8553f1b2553037ae9ee5d25e30a5a643c06ba32165477d358c34d80e2940cb30cf3291db4a0c303d858f41aeb762339e379e31a896eda6725772f0f549bcec3a703f9345ebe5ec803960231ae2f4ec406b35fd17494462c600f7d578ef8f4add2b7291b0eb23094b40315e4997ee5eb5c44d2fe4dab43481ab371f017a14760773d6d10e4d02ff1f88503028e5b02868128ed9bd89dcd91ea5ece549f646eedbe3a75bc10ad728e54f010036fef9af91f0a4610cc4c831000867c013fe74e5905a0c19110a28accff37401e031d9455f18c200e124587372693c6105559a87dabc606d509cfc4440c9c901785034f116fdc7e08de420f415743e70d7dba832d5b0adc95609c856c66c8eab2e538030bca17fc3994370415931c6f5d027fdcebef2404855de73736fdccec69f9382d03e092d990c9e64b24c9060f6fec5318ac23cc7cbbd9466181bd9e0c0d09b1ec1e032aeba24e5022c26ffd354ba424258c207606b1429cb842923a1bcd013ecc1a0503d7d6a6200759ccc230aee32a114aae1e245bbb69cbe33f9243f65d7201b6afd403d5b9c2a362d7953d8e0c0ef4b68db359231ffe8f386dc9d9567576e29f79f4f003fb50a13550bcf1347dbd83a74f6dde21710e36a73586304b316a956b0a4282ed031ca25f99e035c5030bc1d879e3c92e146921c7563d3ec804f9cb7049e812766a0368c0d2efab5b5bb95248451b40a93755a7847964ab75524eb3294cdc1fd9b86503f725fbeb422cc1ac15c93fd2af412ecdd3be3b8b200ff223e9568025b967866e037fb20f0100d570a5fdd354286a0695e9d3e21e6d4ff2c3a6c3cf366a64495d1703dd5549fad783c5a2fba566935535f48f5c997e97c7278f3450907fc99d848e3a03d27e65ff0fe6eac0822cdc60e57a5669f21d2a747be9b1fc4b55a0d7572d372403767a58a83af5e8b742d912a1fd2774f4727fed90515bb530c1be70512a1d98b70314676b8c10de8ca24d4234b3b5093b3b5163ab7c27246b175d8e6b5a5f6510fc03d6c5d36fedb2eae6864f915caa7b6ec90c4783d7138d76d01f4cfefe4fdd635a05581e03174b55e9886f772409f678b204930d46a002dce2cbac5e7e9f62d20db0040205581e03be2bc7c5dbee748383b6ab08bef352cc8875a42e6077e0596ed80fc6e00c02460517efcc574805581e03d65ae3bb9e06faa3aa65d93da35fa93306012edbbeeaef0785451255900c0141010328f6c724080c48bf7dbca3ba7ced6418802d9f4d85ed294eacd8d2599c877b4b03e7ab04139b3313bce2ac960866f5f3bc9fd8dabb2baaf294b98739d80f8e8af605581e03ca024c25dfc7bc4211faf6986c7291dad34ab3fbf7159e0cf0614517000402036d678b39eb73b8558c1317dbd90cc2deee03656e1135bda5d81d5baadc5c8c1604590d4a608060405234801561001057600080fd5b50600436106101005760003560e01c8063a2ae545a11610097578063ec7127b611610066578063ec7127b61461030b578063f2fde38b14610331578063f5887cdd14610357578063f9839d891461035f57610100565b8063a2ae545a1461025b578063a34626c414610281578063a6dfe83f146102a7578063ebd31e8e146102e557610100565b8063715018a6116100d3578063715018a6146101cb57806379df1e44146101d357806382d90ebf146101f95780638da5cb5b1461023757610100565b806311946b981461010557806315f73b011461013f578063401a83cf14610167578063708a0393146101a5575b600080fd5b61012b6004803603602081101561011b57600080fd5b50356001600160a01b0316610385565b604080519115158252519081900360200190f35b6101656004803603602081101561015557600080fd5b50356001600160a01b03166103a3565b005b61012b6004803603608081101561017d57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515610444565b610165600480360360208110156101bb57600080fd5b50356001600160a01b03166104a0565b610165610544565b610165600480360360208110156101e957600080fd5b50356001600160a01b03166105e6565b6101656004803603608081101561020f57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515610687565b61023f6107dd565b604080516001600160a01b039092168252519081900360200190f35b61012b6004803603602081101561027157600080fd5b50356001600160a01b03166107ec565b6101656004803603602081101561029757600080fd5b50356001600160a01b031661080a565b610165600480360360808110156102bd57600080fd5b506001600160a01b0381358116916020810135821691604082013516906060013515156108ae565b610165600480360360208110156102fb57600080fd5b50356001600160a01b03166109aa565b6101656004803603602081101561032157600080fd5b50356001600160a01b0316610a4b565b6101656004803603602081101561034757600080fd5b50356001600160a01b0316610b57565b61023f610c4f565b61012b6004803603602081101561037557600080fd5b50356001600160a01b0316610c5e565b6001600160a01b031660009081526004602052604090205460ff1690565b6103ab610c7c565b6000546001600160a01b039081169116146103fb576040805162461bcd60e51b81526020600482018190526024820152600080516020610ca7833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260036020526040808220805460ff19169055517f2e27eeed3fdce92fcbb383357973ca18ad411294e3cb4f9c07a8665aee9bcf189190a250565b604080516001600160a01b039586166020808301919091529486168183015292909416606083015215156080808301919091528351808303909101815260a0909101835280519082012060009081526002909152205460ff1690565b6104a8610c7c565b6000546001600160a01b039081169116146104f8576040805162461bcd60e51b81526020600482018190526024820152600080516020610ca7833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260056020526040808220805460ff19166001179055517f9334f1cf560b8678d242a97ff8aa0f60f61c40b3b7e3bd1a1b6759bb0cec6b9e9190a250565b61054c610c7c565b6000546001600160a01b0390811691161461059c576040805162461bcd60e51b81526020600482018190526024820152600080516020610ca7833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6105ee610c7c565b6000546001600160a01b0390811691161461063e576040805162461bcd60e51b81526020600482018190526024820152600080516020610ca7833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260046020526040808220805460ff19169055517fdb9b6d848ff0a15fae4f0c0424b4bb6ddd97ac1d06b2d160ba86fc2832de58149190a250565b61068f610c7c565b6000546001600160a01b039081169116146106df576040805162461bcd60e51b81526020600482018190526024820152600080516020610ca7833981519152604482015290519081900360640190fd5b6001600160a01b03821660009081526003602052604090205460ff166107365760405162461bcd60e51b8152600401808060200182810382526028815260200180610cc76028913960400191505060405180910390fd5b604080516001600160a01b0380871660208084018290528288168486018190529287166060850181905286151560808087018290528751808803909101815260a087018089528151918501919091206000818152600290955293889020805460ff1916600117905583905260c086015294519094937f0f70a67bc35edde2b5599b6d163651e02f760143df04f95b4ef233299531bf21919081900360e00190a45050505050565b6000546001600160a01b031690565b6001600160a01b031660009081526005602052604090205460ff1690565b610812610c7c565b6000546001600160a01b03908116911614610862576040805162461bcd60e51b81526020600482018190526024820152600080516020610ca7833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260036020526040808220805460ff19166001179055517f38c11947f16670fa95ddb76444c21a13a0be4f0132d147eb6245c4b94ea889fa9190a250565b6108b6610c7c565b6000546001600160a01b03908116911614610906576040805162461bcd60e51b81526020600482018190526024820152600080516020610ca7833981519152604482015290519081900360640190fd5b604080516001600160a01b0380871660208084018290528288168486018190529287166060850181905286151560808087018290528751808803909101815260a087018089528151918501919091206000818152600290955293889020805460ff1916905583905260c086015294519094937fa1ddf2a4744cc5c7c0dbe14996f16cb2d8564ef718f45625629e8a0497b9779a919081900360e00190a45050505050565b6109b2610c7c565b6000546001600160a01b03908116911614610a02576040805162461bcd60e51b81526020600482018190526024820152600080516020610ca7833981519152604482015290519081900360640190fd5b6001600160a01b038116600081815260056020526040808220805460ff19169055517f1b04f3cb09a85dced592e37ae08b2a135757683e30116221003f6620de94d4009190a250565b600160009054906101000a90046001600160a01b03166001600160a01b0316631ffaf0db6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d6020811015610ac357600080fd5b50516001600160a01b03163314610b0b5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cef6026913960400191505060405180910390fd5b6001600160a01b038116600081815260046020526040808220805460ff19166001179055517fafbb5b30329d7def9553a137626d5bc919fda8f5d1d1b5a64aa6123445b9415b9190a250565b610b5f610c7c565b6000546001600160a01b03908116911614610baf576040805162461bcd60e51b81526020600482018190526024820152600080516020610ca7833981519152604482015290519081900360640190fd5b6001600160a01b038116610bf45760405162461bcd60e51b8152600401808060200182810382526026815260200180610c816026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031681565b6001600160a01b031660009081526003602052604090205460ff1690565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657257686974656c6973743a20436f6c6c61746572616c206973206e6f742077686974656c697374656457686974656c6973743a2053656e646572206973206e6f74204f746f6b656e466163746f7279a26469706673582212206523fa8facedee926f52726011efeb52d1196b237e78a6477b6745c9cf49bfa064736f6c634300060a0033033ea2777b90cb85431e3dcfa1a5b86b7cf0f2ec8a391c5182c0d417d9fb9440e003d93298db88512ccd98d088e2264bf08a9cd7478451ed00ac5eefb73698c14fcb030a86aa1a832c424b8f920ccb52e6444fbf1ebc619ef057c147cf7bebf21e116a00582003ee2fbfd353d9701580e0ab9e111d38ddb16f81d9fee7dfce378607502795f0410100582003072520fccd300ff60cf4d2a848cc77c7b26e1d502b8219d3b63c74a3cb46a0410100582003d1ad5a17224414641a4e841bd82aba3dfae696aeec53652ac89f46204f8fc04101005820032b5d6c336956f9eca32742ba255fe04f8cd41b08b97c3e0301cc0e5e7723b0410100582003e4de4914184934a878817ad26e947b56dc3c5e1bffa34a98cadec1ee2c2de0410102192c0903a772617dab022e819c776cd32e93f95dad992afdeae85782050466d777c5d1b603399fd3f0f770ef1cb5822b713dfe6e2da6f967b8b1f7c4cbad7d1f7c2c2f14a103263707a65708e8bad5ebc75c7f0ffc94b683a47a9c4dc54387e799d17916a99903696953bcdd93f05daa1ccd41e24fa5fe511ba402a73a67f41f9324ada423b62a0362d13f9b01349166693889cd18d1ca86da4df2a6ef99379551b4d1dd537b83d3032050e2049889d4110918b0209eeb4a747ec62ab9f2b33ff8e1fd5c4aba81599e036d4ac704b32d7c967ca8183eeff706adfbfdf0dea0f4cdb246c79352c83a5368031b7b6c8481fbc642e1ef3db224bd94fd521425509d887ed998556d4f831c9d61037fae392ae0660c020ee644e6d89b64de258e2b7a18a8cbd5df48cdb58f56f7f203382c7ffb2065dd70cde79485416c6045ce475eba821b433680bd2f2112b75a8803739c87ac5a911549be9e77daed30aceda4d61c92fc22c8d50c5b5a7c6d7e80eb0334d45910cdb44cb579a7ebfc7a251c4a4829adf707991b17de8ec11d575f60350219ffff0337ce3d588ad0faef60319ff58510480184415106e0c575bc44316c3e8a76667f03e450bc7c8c6361a4c69dda2a68632bc03103937a49d6c20ee0bed731467b36cd039a017dca011f396ba3726ea7510094bacbc255dcdf027a591d2e29991fdda384035bd204972f92a54fb66587818971e84a1d86deceafaa88de7de098144830ecc3036f410d80793fe255b3b015fff3eafc409604cee741a7c5d6e7c28dc98a4ef1ae031c765bd0ae23b0bd534021c5c5d8f2766c5ec86e5297faa46adb439dc60e36f1037e1977587b432252e5eef4887ec83e70be0c96a3f771651fca63567521547f9803a8c34fe98ef84c9632106cc2f275e522dfd27920adfc14593b88c7f55fca5bbc03f0f3b30f04b29b163c927754b40cc7d5542e7ef4e6b9cea4f991ddbbe8d441a10383aceecc986b8ee0d91a9b1d0e4d4259d4ad7467d578fd4203db624b80968a2003210cb1f82ca19a13246f2ca62513e5fdfe9b8536444b567de4536d68e91eb79900582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60541e31f2dcbad4dc572004eae6355fb18f9615cbe40058200328be610c557c49d68085afefd22c3e59debf4fc09a19a754a82ba8fd00b9304101005820035bbf00a538c592701a89c10ee868a19e7729f266078365aa54955cd92c1f90410103d9249ef4148c15ce73dc0259cf65ed42fb7f287d2275dd8b41fa2da669d6289100582003c01037c368bb669dcf9ab8fbc523edb5c9bdc98a06399fde82ec0d9c157a104101005820030b9011838048bedcd89f13ad14cda94f46a1eeb7df3850b83645e21a2f005041010058200365b833b489913b992902357699cc975b1b15871674195c95c706cb90aa1aa041010058200327ee6b415029614cc26bf4e7b8a87fc71b7c7b85405a11dcfd51e679c68c70410100582003e9d458b29f1e58c9bb2c294c70c38dce6a94d8dde1816aa33d965c65ffaa70410102190fad03f10064c6259b641becdc69dbb64a33291871f1ff77a37fcd30073c6a9d65d008035bdcd9a12803751a12bd20373cab8ea46e6eb900ce2d137d086887d006ebb3d10363bc045a33b5244f238f5c8f05b33f887abbb1c44841586313da89f5b15c7faa033fbf8c9bdbf6a5359f98b6ca4c0920406e7e738617dda4474529e7823e2913f703bb989d14d91a4b86fbd6a1649c50c294b2fee265b26ad8fbb1f7cd7a20ff27be0322f5540b01d3cdcf6235e47064e6217a38fd88a6018311b981e018047fa935d20308d6b5e97f7d9fa5b77cec98e3785f414a2164cdd17ee4836997b66bd5d0bcbd03331b7a06bac764cb7f8c3d13ade30ad465abc520d6c8bd0ab1d7063dfc1ef334036e8acc322e229709047082d57c42f1c68aee4a6aa935d60db45c62e7ea8978c0036b9cf2427dbd6520ae26e876109486320c9cf372cfcdc5f075f89e8e85230ed103a0bfcf5f64603d739a1feb08e7d6844a5dd4975b0939b11329b981fbdb5350bd038f50a313f1c09fd976ef87265ce618f23f10e29186ad7b23033026500561275403f8d2c0c25d65190d76bfe2230770b815ae45b2f8ad462d7ff1c913b8818255e90374829976fb2f1bdbb76e105e58d6cced565060b0eb9fd3cd018b71128daa76630219ffff03bcbdc1efef549c29ab3d03ecb207798cccff9bf7f974d0d44fe493781d631f1a03e26110471e5b29b11302019f0b75b5f70a242ea570fe02136a6affdd1a54118d03ff74d2eb7c278465c6d2f0be810b3767029944dcd56e15576671cdfde864951e0058200350f2881997690f76089d9d97970d1fea457fcc82dc7458ec840a1145e81910410103f3c5d7b20ac2e489d4f1c855472693e52832894f1b845fb4f796b093c5f176bb00582003c0d4eb141599197f0671dc76792bec89142c0b882c83a3577d27203ecad220410102192081036cdc614a773f4c8ad111f3ed6d9466d36c386d8ea1fd5d2e5b1886b87d69bcbf03e2c559316e1fcfb024cb66606684b5190dff8ec95c5f27514bb61699f8a021b103b677b5b1e547f82f1845f275f361ebae9d7a05ad2b640a069636898ff65f7bcd03b23d8db2b209943ed88de608acaf82746e8f0439e902e9ea822574785c57ec0503468890985b84089e1a298b5f5f4e3e09cff4702bfd97a7421878d224ef93bbf7005820022940b388f9f7116eaa5f12a7859d52cee663235e436108afa70df1969b50ff410103a1f4960528e7a8b67c955dbd0265627a81a9107643d5a5698250d7e59da47c09033928c2de97ac1388f07b709e3ff462ee05176f8b5c114cf34f0961b8ba9021b303104d1b764a24ee3b7958dacea5b9c9a44022af31c9f0621c53b5599f7c9782e7038ab7f279a3b0f53e2246322d7cbdeb10db2bee9c72c6992166e5aba3e17b373803dcdce86a25e161c66d4c3ce529550ac1b1183aad346fc4aaaeb8bedd63b08edd03732011f0c2218fee095a0a7a9f1c60bc9b2fadce200ff5a40bbb2db68eb3de440219ffff03c96beabd7dd4a55bd1fa8fe26d2677dd5167eba24a528c9eaf832f3c8e077371031d162bcdf966a92520fccfc0ddf64de433203a6464a7b4fa062b2568f3f2bdbf03310cc458763475b1e226bbdae1162c38ac587c83bc836c72b3ace390738e1e910219ffff05581e033767e97ca05284f80bce77a58ca9a56548a9045df451351e9e753f9ae00701190d4a05581e03b0721a4420e11ce188194c8185aa7a11569c00e0e6eeba71429c96bce0040305581e03c7ad8aa99a03f6c8848d3bc58f18fe3596a49c34207756cf383e9b85500c07470ccac7fc41c80003a3c57586ed94f4e36a1520f5da026efe270f2854b005c262972bf79d0eaf67b605581e0365d6d0dc2917f4c1240160c491c60b096969354849796d4e3358aaa3b00c03461fc8c5d93a20036e0a67677641943e2f2ac6dccaf0360993887e9f04cac6e91121aad84a9cd74c0219fef303be6c415ec0485b3def3285584e59260f76383476fad12579981e5abf61671ffb0219ffff0386c0ebba6b51e56cd8eb2b3433ac13991ddb635d73d61150aca71010a3b4d706034e89cf3e2383818d75bf001e285d6dfbc4a9640c197143b67fd9b7a384322d5403ee944849c1e5374e1f39c070d46e00e9efd2d3a1d37f3b106ac4600569442e8b03869e829a6c64306d97f1cb8b85af4dd22eb0f53e0c595d6cc57ecf50bccf66690308f9b5615c9e525ab9457542401ef9f252dcbedced8657e336dcabe706d5bc7803c0624a644bce9903f833f9328f2536319745c51a409baf28e5248b20fb617b1303f15973bfc3b773bef6379fb9230d63f9dc367ea4769d30247a31fdbd53dc2a9b0315ee050f6944e066310db15d7d350bfbad9356a4bc32ca802e7e459134f196e9035ff242cb579388d2b64236e687f28858babd68a032e62f857685f357bbc39bc1036696bfcb1145dbcad94c77af8e9f9fd80a562789b6b20289659aea31ecbc2a21030aa72d445ee08c0a12b93777419dbd19d849813b8b37b47ea6814cc07b53827703860d6b32779debac8614ee50a105638fc6abc7f8bc6f886b12d2d62a609fb38303ab21eeacedd94b083bb5cd1238cbf9e1b9e63464eb425b11dc1690e7b16ad7d5034bb90509b11e2d6cacd1bea32c2c83d9a940423a4aef8b281e680324a16081ad0219ffff03d19be8854a721ccfad21624e3bb35809f3884a91eae0ff61d612c71a9a7834c20310c825fe076463ce58a89223018965bf63a5cebdab0945d94b73457dd64c800003d88a6b31e0a2f8ab421c02819ded557236fb8ba588fc12f13a873911a644dcb603a1531a0db2edc7045432c2877975d338720dd84ad2caad85d365f245b9a911420327cd889c2cdcc028101a0069af8205d9b028f612899b29da3ca4f0c73b4d88c60319be7b6a9af596a21c402bf5721e80db418b03aecba449d1686564fa26215e8203a81e430ee8eb12a7ae572e12f94b799d81e65c4f7f6434f21f462f77f3600f9403c4468c86f1739d906bd40feca0ee036a43fd3a6d693faa2005ca0c34b0adea6f033d826b0d38a4c6a2c39f1f8367782de83b4c99c9b69b58c9695f4d7d51b39b4703d1c19c2e836da3c40b0652f0387098b615f80f0401dbb8ed7e38ef73347ed00905581e039c8a862fa5a5ec6d8da270011ad40c6462477f28799ee48d1f5e801600040305581e03cdee335bdfc000b85e442dff687c006f2bfa0baa778896b45819f5de100405030e169aad870473ff9d7816f65bedf7fd3d2700806553239b42d58ef9d988ea7605581e030fc34c0c545a0f3f6b4ead6e1d0cdee8edb566e3f672cbced416cf57c00c189f4810c34929927ef0110312cd6863653999b13c1c86eb01d40f0d2d3fa79874e8c432448610c87ae4af45030b95af39e8aaa900efc4a5cb2c826930b92f383c18d909be32a6a11365e358df05581e03c4bff2a187bcf8b7c150c6f18ad839a33813114799ba3fc3980dfe269007011bffffffffffffffff03a6364eb56a3a3704e75dfcb2edd42f9e0b01a946188e90c538c5fe7b7de315cd031c38d52c26e5c27939186bc91488e20f7a1e95986a4160ee833d51fa776d6ec903b94eb61351cb54b2786ec99f7e376f2b6028046db1c56cedaabb182967e4c4240388665bb7d7210829a4d674a04fdd423e11e388c1c0572418a950a7ae0de5049605581e0366df6517aa5d837a7fb3947019147594404b5e6b39dd3f79bd5488e7300c0347083ea77dba98a20313985a7515d2731739980625ae2945abccaacc8ba543e10767fc5266638b635c0309b8cc18483a0a14ef363f9edce838d94346e44c71aeecbc945e365ccc30d2a205581e036bed6c2fd64c924892ef98f2bc83ed5015f5ffa84888cab8a389bad92004040219ebf703bae9c013fb2880cc80f2c55e321bc7362d02cf6307f3a0fb403c13333e5a26ed032dbf14feb9d021e839a12c74478e035d4b2be6da88be1fb3bc2633fb8aaef50003c951bbe4a9340f3c517b8c431ee1cbbd62e9a91a1f49bca97b97bfcc21ba60970377a240b3e5debfc58ad1b142fda85dbb8ebb294f20b89707de3b37e91a1c6e67038570a5d1d045963caf89cfd318bc29f428c22abc33e496be8e90ab9468e0899503c8bf5a0c94b2bf8237fdaf702b2702c27a8538b4e921386d95a0134c9a43245e0219ffff032f41e24798d08f563d9f90552c8f873618a752028ca0ae9707c0e153deb813ce03e57a2e20bf0f6a21fbf213e08690507e9fcf546fb7b078e3a84b68f33db060b903ee0ec1654e837666e7b94e74bcdf2d2e28c19d13e99e054808169ef9ffe9b7bd03d866cd0c4bb9059f2d749c2d5eda84671d053c06c836b39b669989027165b26703dd6f96321e54f91e831057512be7170658214a809da0b1032efd13f4e5e0827f03d81bea872d4a1db4b2e3b31cb2d128dff7aeec1f4cf42fff4475f0f5568a691503d694c375a66253f1238d342d1a3c19729f575d007cc26dd1a963b1584b9ce0be036fa333000985e565a6bb13195b40a466a21c776d45f5405313a268f849edc2a603ad5ac1f5c3a835be6624127b6ede3105054a79754af859b26430e86a5fc99b7d0337cabd48a5aad9df17a1534d92e6dcabb25e82c44fbe8db9cda6ffc4d1e5493e03cdc63af98cf51277ed376dea3a137d7b9a01a35e68daa129dc997a6c4a530af803fe3cd059593161802affb07ad3806c129d6d105106ff0eb11b36aaed4a40ea54032377a7575c40da56b4a6efffd614ec2e5858b844bfb918588a0c1165b14d869803c5d03576af923e586d943d0d126bf678d17b221f2a53c719500300e2e3fbb7100219ffff03830274d8b3563c4e86f4960193dc97c9d9cecc6878c68660fa5cc6ff78bea9e90367a1ae31a01b1d34e6bba392e981cf3b66f67135a7f60634be1be8b4fe02f20b0371c693797aa3764afe1bb9bafb89072d83a43009fd67325ff2137b4b4edbab750219ffff03be8d31a664371824f2e791b55d73295d4252e25e60c857706b677ddc0f7471700340d11533264c5d6f04a4d81a39e5165a9ff90739883d2fd68e52d34b7adfdb3b036d77408fbb4981cd6e17cec211a95d08f1a0a50374f6dc84de83c6080044c9130219ffff03ae339080257adfb78096e6e9810b7182bd4ce183d6e6fdbd3f389c40bb809e8c03cc378682237ea567ae8ee534b83ed44d071441f038a6fa70e146b5d62f90702803ceb47eacb89b11f38c732858e29b33f83ba465e8505d34c57bed05f26272ab72034a3c87764d3b705a93a4e3acb8c590d8b9480dac2fb7cb9c77ba5e79c230dadf03b3339f146e91dd5c6d114bab3c6fef6560ddac2813a23b0126ff800465f748ce03216920f1492f7b0efbd78fafa9f4fbbda3bc4f3c10ef7b06a11fcc2161cca7ff0329fc5620bd1a1dd8d0ab44ab1e3f35faa7823c9d411e76ac3245d1ed03f922c203dea38e472ee2160e4c226cb78a3959ba7c4d7315503225aa33e1e8024681ae9003e7e8994d749fac9a812e060b90fe94d0aa1a2c34070d9f4a971c810b29cd978103d6dec56c5a3a66098a59b2e92807d20fe40c86b2072785020f88e316e450760803b8ebbae32cc9794f5ac73fc98d63ccca4012faca5d47f9ddad8e1a25aeac92040348bd0c78cfcd756667f1364218cece74449ed8f10ea6e9c11f620c11bea46860038af7e0237b31ebdf891bf5c38304e9fa2fe83ee2725e0bb575d78756ed30ed090341394b68ab0cc63a054b3bafb6a538910cbc484faa0dbda494e39aed30dca6b803db0e678f415032b8e8b80d3a74ed7615855139dd241da191b14026be169eb57603a257c0183f3a65158c110dc9a1c647fc0bfd7baaad992a932d4767c230e0ed000368a5dbe06957eee400d749fc3ca9856d8321e4e3bf053d268700e2537762960a034421d715dfe1c5e59c78d35282279042d2e78bdf3fd31c6bf3d68b783901e72003d70a31d19f57ebc2dc1883490d3035e973bcf87f83d632094dcd0159b2fdb88f03d73d4b506eaa8483f76e444bb2d6068cd1fb341da86c1da97b725befa22cfe3103fbebef102024eb53e26458d8593cbb57d6674b5934423391435a9154c010ef0903a40a9488a4387a504854d66b09b59a9c87d32664ff351d39306528344b8c9ef30351cccc49bbdf0acf6745ff0663e2553dde242d513f0afe2b56fc517058746ccb0383a1eb586c5ddcfe03a9a1a2e959939a0d5c88f9e4f746207a763bcba013c7a703fbb5a3fc3531ee97860cb7210fea6848acf15728b69dec5ac53b210d7d936b2403ca9999fec04dded5d27b31e397ef92fefdbaa70f02eb9f52726d18a51b217f7f038b689ac4fe280b5417e43e12fc6693e64d8b63b0835c8064ad5ef8dd047f67cb03ec2e4de94b8993fed0ccc81278a6d79a7a268ed690339fa5bc141769624903000320011ee76167c3b4b0754629eab464f48bd2b7b44554f95a287679438d29444103a44284c45b514983ee6305e0919ee012b4c56c5f177e5f3237e0912eeb9aa14205581e0354ca37af369f0f1182aeca9fcabfd35975eec707731a3986a2a81ec500040205581e03289211f3436203ac0ed8edc9803fc2bb0e70555401c73467b54ee2e820040103140583334ee351804d70e155e7b29819f4b43e0a7f1fb775760412c0834feb92030638bac1d77d7dfa8e25a53a936068fd2acd0fe487f0b30c01f59218992f6c58031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e031a2d861e23b61e643fa183126143b7c8d3821f9fe96524e839b7b8d81007011bffffffffffffffff03ffcd0baebf3c765795c2ad761436149e86fb11a8b5876548f95547ea4691a10f033b89c5446cbcd637cc2e43dc92d063dcfae494b56574838fd29045eeb0276a6b05581e03fe392001c81097c6f22459209b68e0c999949b2949c0451704147026c007011bffffffffffffffff03220c51fdd7e77f08b3980285a305232b4ac7f008706c66a7c0a502a5edda4ed705581e032273a9aa70fa90fab439f0f310929fad0f7356b9ce93e68b19285d8e200c0147129d7735c2a3c305581e03a259221d02aa4956eb0d35ace318ca24c0a33a64c1af96cf67cf245b6008480263df5aa469a19b0219e1ad0323ed0771b0a0310e9e6cb1a6bf7d93f995a96ffcb70da716ca3c44c189b47936032b1d09f18bed04e6933ca9b39cf9db25ab0baa8b39046f6f8b0308da418a1ff403a8660a37ce3a0426759430fdfa99ed49efe0eae9ce137945d65f264bc3f20a97030fb59ddd620cfc909f5ed305d3e8e49c4b0cb6302261da47a7459e1a3722e3e303ab9366b5c9fd78e370a2cad2ce0ce3255b78d66cfc078d69f4ab9184c3b47e6703dca347250585ae8d2ac5f2b378a6b9c88f8e89c10d88767b7eb534b2dce25020039b5681e36c198e09d24d38f6b416e97c0fa80a2cd8cf336f9fe806929c6a055003126d3255990aedd4b7b5f8b78a64d8f235839a272a33ce5db2dee79c50ba25d5032a488b46ab66c048271fe317348c41ec793b6a61da753b9669bc09f6b0ecfd24033ac04f162361b0d8467842f10d0e3a3411f18d914c60f91a14d18823cd2cf9e60374a33d0b72d86015f646f2605154f10e5fafb1f487ca5793e81f2188d934c24b03c8f1f430491f563e5aa73ec5fdbedb5594bde8883df6a5a65ef9a45d8c38d5ad037430163dd2947e380cd3b1ecda5221abe5f21e21c772c243f4c4042599ba6fb20349b4a1819dbc9190a765d124968f0af34d30a06779d407510369605436ef72c40219ffff0219ffff032b13252e7244378b0db047f36ac38471232bba2570a7de845d36d2d9fc8122f203ec01ee2a07b40bdce2b9dc1bd61fa130994f75b3a4d3ef9fc5ddef8dcecd79600219ffff03d55b2aeadfe0941483a15d120546dfc654ee0ae8a2c3bea528ec8098ce28fec803fed5e011542c322ebbb9835a23e764111a605a1209996fa309c56dd0fa05819703ef8008384c89bee1fed6be2d6b17582376b505b344f47d548e45a9c1608108b50316c631954a2d267b163acce94cd825247a0a0ee0dde11bccb9504733c1acf4fe038b86bedddf941ad2bf481849a2de9414e465ab81c5d7e2675416ee331e00b493037efda339324f8ac10a20f603d22733c5705a61fb4f6e0c852e635eb2969574f603bf046bc8f785506ca4526e1b29626297d229f510e98fc1046b252de115dcbe42039067850d0b85cd188d48d893019efc0699ecfcbc958f06b0c44eecc24e495c940390a1666548fe41a4750e6e69f772f4863ba430e2a2578e35d4cbb0237f726be603b4609752b1ecb9169b8b136a4e7724897e0c3841ae9b13d35b83e2db4c2a657f03101db345418cd7d4d704623a69bf8599c67b45e20e8e04feccfb28bfdc7542c703387f636d9c1dca3e35ba8d976b92bbc720ce4cf28bdb96c7641bad1710e89c45036884436d8ea9953cf49719cea1fa1def8f245680150ef0e6e425d5be91b1b902039d8e6ebbe2ed10b9183d05ac8be2839576c5f7bbe7ca1e2c72ad696f2650108c036012924f6826bafe919e7a23832c3040e4913566f2f981095c5c7ac4217bf8bb03d91ae747fe6f5828747eda7ba8f7b5be165d789f7e12555b5234d65474501d7703d8b47ae5c394c24e63f06d86ca4e9b5d191636c3945218d19de0b0fe30f82f9d03ca19604c233c9a921e488712b84fc0bfd0ec3d6178863621c50a86303261b6f50337ea0aeb3d291a97ae2b7852215b307053c5cf2601d18d17b04c2f43e01cd33b03003fbdf47dcb59880a3351796d61938ff617f4b1379ecc65f35739a79b36c6020397b8ed93a9e7805484dadfd1c5b7ad48e0a34c403e17b5ef5f8521188e5ac0e103291ded68bb5d124e99d63a93c10c368ab373a68a35d81bb712069f9c6b3c16a303b81c5c9218d6ceebabf4db547c1b255dc170a4e2180deeb07914799efc42b57803bfbda25abc105cdd3ee7bd248d89b4d78ec4556991d37e5e04ba857529d6e45d039b6c3e2494dd2d2203f80a8e7ae242032e843117d3687888d1659713b0ff1c120364b1fc54f6d88b8b40c5de7cf876ea722c924f3a899734f081204a881495eaf70383dc0fff453645ea63db726db190692eab218e03c353901e1caf3042471d3bc403ff0d1c1686f9757ed51bd782f1883fd948bfbf69e3bd7f3711d13332ee95743703a1d1ce5dd2099b5264e7b23b169d94d9a8ea2021eade5e68237db0b5267744bf05581e03af904a36d2a84dbb71e6d37a0c03053446ca957bc4a4fcf96e46a9ff400c0347013d8e81789b700387edd226275da58c174e4f5c7cecf78962bf7c6cf44aeb41d2e8214965ad289c0364412ad46385b8208d9708a282b2ff2d82e286e51b7b83dbfd67264a0272ed07039c8660493a51b088681934a434cd24b36024fa9d0a8a3902724c8c502e2c24da05581e0328d0cfe5e9c24b9a9c071974688e52adf96d4d78619dc39355ef3046e00c1901b948051b93cda623a97005581e03db6eab2d5a9d9c4299dcfc222bf281473dad6f4690c46a94918e5d98700c0146045b423f9c0005581e038e7ce7f16d7b73e51e08e32438b4ea2ffd27eae9cbe2a97c2fe2f595700c09472f9cfe69a1bf4205581e0355619d9104789a55f205f16d73f922f7e9bb4ebf43157a6712ee8471600c0446dc7c6d78aea80459143860806040523661000b57005b600080357fffffffff000000000000000000000000000000000000000000000000000000001681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020819052604090912054819073ffffffffffffffffffffffffffffffffffffffff16806100ae576040517fa9ad62f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3660008037600080366000845af43d6000803e8080156100cd573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8481169182179093556040517fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156103225760008482815181106101ac576101ac611129565b6020026020010151602001519050600060028111156101cd576101cd611158565b8160028111156101df576101df611158565b0361022d576102288583815181106101f9576101f9611129565b60200260200101516000015186848151811061021757610217611129565b602002602001015160400151610387565b610319565b600181600281111561024157610241611158565b0361028a5761022885838151811061025b5761025b611129565b60200260200101516000015186848151811061027957610279611129565b602002602001015160400151610627565b600281600281111561029e5761029e611158565b036102e7576102288583815181106102b8576102b8611129565b6020026020010151600001518684815181106102d6576102d6611129565b6020026020010151604001516108d0565b6040517fe548e6b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161018f565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051610356939291906111f5565b60405180910390a16103688282610a0c565b505050565b73ffffffffffffffffffffffffffffffffffffffff161590565b80516000036103c2576040517f7bc5595000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff8316610430576040517fc68ec83a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610478576104788285610bad565b60005b835181101561062057600084828151811061049857610498611129565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff168015610527576040517fa023275d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905550506001918201910161047b565b5050505050565b8051600003610662576040517f7bc5595000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff83166106d0576040517fc68ec83a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610718576107188285610bad565b60005b835181101561062057600084828151811061073857610738611129565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690871681036107cc576040517fa023275d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107d7858284610c23565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905550506001918201910161071b565b805160000361090b576040517f7bc5595000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff83161561097a576040517f79c9df2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610a0657600083828151811061099a5761099a611129565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529185905260409091205490915073ffffffffffffffffffffffffffffffffffffffff166109fc848284610c23565b505060010161097d565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8216610a6457805115610a60576040517f9811686000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b8051600003610a9f576040517f4220056600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82163014610ac557610ac5826110ec565b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610aed919061135d565b600060405180830381855af49150503d8060008114610b28576040519150601f19603f3d011682016040523d82523d6000602084013e610b2d565b606091505b509150915081610a0657805115610b7b57806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b729190611379565b60405180910390fd5b6040517fc53ebed500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bb6816110ec565b60028201805473ffffffffffffffffffffffffffffffffffffffff90921660008181526001948501602090815260408220860185905594840183559182529290200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff8216610c70576040517fa9ad62f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff831603610cbf576040517fc3c5ec3700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081166000908152602084815260408083205473ffffffffffffffffffffffffffffffffffffffff86168452600180880190935290832054740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff169291610d4991611393565b9050808214610e905773ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260408120805483908110610d8b57610d8b611129565b6000918252602080832060088304015473ffffffffffffffffffffffffffffffffffffffff8916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110610de957610de9611129565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790557fffffffff0000000000000000000000000000000000000000000000000000000092909216825286905260409020805473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021790555b73ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260409020805480610ec657610ec66113d3565b6000828152602080822060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193840401805463ffffffff600460078716026101000a0219169055919092557fffffffff000000000000000000000000000000000000000000000000000000008516825286905260408120819055819003610620576002850154600090610f5f90600190611393565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260018089016020526040909120015490915080821461104d576000876002018381548110610fab57610fab611129565b60009182526020909120015460028901805473ffffffffffffffffffffffffffffffffffffffff9092169250829184908110610fe957610fe9611129565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055929091168152600189810190925260409020018190555b86600201805480611060576110606113d3565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff88168252600189810190915260408220015550505050505050565b803b6000819003610a60576040517fe350060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60005b838110156111a257818101518382015260200161118a565b50506000910152565b600081518084526111c3816020860160208601611187565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015611320577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8503018652815188850173ffffffffffffffffffffffffffffffffffffffff825116865284820151600381106112a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b8083101561130b5783517fffffffff000000000000000000000000000000000000000000000000000000001682529286019260019290920191908601906112c9565b5097850197955050509082019060010161121e565b505073ffffffffffffffffffffffffffffffffffffffff8a1690880152868103604088015261134f81896111ab565b9a9950505050505050505050565b6000825161136f818460208701611187565b9190910192915050565b60208152600061138c60208301846111ab565b9392505050565b818103818111156113cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122079ce9ceb1cd6ef062c451c557ad0c7eccd83176b8dcea1923408e68785f1a03764736f6c6343000811003303b01a362a06d2b2a7c3e065ff414670398e13ed64281dedcc0294f4caf095f52d037b489c32adcb0bb01ee88eccdab8ab0e666c7e2100d153d2b3a67cd09e752ba00326a82736d363ddb62ebecaed8141a984cc9b03ef061238199ecf6c9cca2a67b8030a27fba79866678a2e81aadcfdf71eea23565efdfdf2fafcf92c7486c6031a890350c08798f3c21b4b37071d3aa58ba761b0263e977d2b8e66d9f1dce6537621d003680bc477ab2dff1405bd1c7794d5d1b2921253800e5c1e2a7ddde676ba537a1e01410e00582003f71fd92a83bcb3d289aed655a577151392c00822d0e1fd89d5ac7e422f037054758d08864fb6cce3062667225ca10b8f00496cc200582003b74d22668d135dc4d83fe944c9b4c25502432a80c7e9ca92557d0803d42ee0541515bcb5489c6323de36a5bcd6b81d13a10a7a9a00582003162002f3a950da1f388247348b0288588636ca623111dd229bf3de12d4e650410100582003d8ba05dcbef95c7ec44c94478e0387eb5d45dbd2a52c70335d90c49d36f4e04101021934080326eb38601ab58106175d10a11b29400280c427ef1b5b3ca8a61968550a9ec130031fcc8d01ea41de0353daee19f1a7694c218240d858488985cb6b28a970cda85b03d578400f483554d6b748d8339a6c0d2beaac0506509cf71a2546104f9895bffd03cc941bbb83420eb3b92f3c7ecbd1072d7b7295faff3d12f5010d1d36b05330b003e0c35f85c507fdb47b630779ed1e487487828b50c1b7b0fbd1f1f902dd7b184c03ce342cba2b2a61af73d4e8a10ccaf05e94a53a92cfe9234de90e91eb107402c70376c7890f83e9bfde5d3c921e5d20bc700734ceae369f38dc0ec5fe2243a442aa035bfd2a6a871a45e2bd04de54076b1077602512f523500456745866bf329f8a0803adfb2a827afc3bec8af0e655bf8f6f5b4dd5d5a4b7d3d8252d183c5590948c7c03db9dcbbe6a25fa4afecb11ce0744f5edc826e9594cb25c08214863785fd9d4d200582002231b6beefd65379bdb1e8d3c34f69de8b90c1e40d8c3189dcf9844f369b3a74108037b44bba07f58ba0548815a00b1a45fc39cf9ab4d822c86dcf0f93a6446ee009800582002b13f74293f8e4295d90a2d652d5885b5790f2814f1f4484335de274b8b19fd504630a0d88f0af374d5bc7be1878863a40219ffff03dd0d95b8366f1eeda06013a8c2226497f3427e39acb86ff9eb79f90a97c7b17e039d12ed3cbb0a8a07d3ece0354f7c5b6911240195843454c9bf2ad0ba1d7c19aa03c348dc95c9b184af28d0c738c47d8c7c63b102946c65edb0058cd770572388fa03f1040e77bdce79107ff29f4723fcab0209ce32e64735c531c659832b6d838b4d035009f907f44ce7078f41ff6dfb9e2a418d7d583c11d3f52cbf861df73f3cf3d703ff222af8376baa7ee29fe02699ae170191b9d662e3480cf07b83ec45c12f390d0359e56ca532bbd2b89fe7af2b49e2213db5548c42067ef256d72719d76684fa87032bef000a771fd630f52f388384505bb685aedc32e66fd8246260dce8fad5473000581f02bb02ceeb13da827d9281fa7315096a2ba6272b865379b85090474c0a2914410100581f02e5d1d589904c57ee28be9d1484f36af77ee4242122fc87d192794638394f410102190140005820032bb20d88c15575b5fb29f82f503969f0067613f2f5ee6487d152ae7e78ecc04101005820035bcb2a4afee7d7238107b577c19d6144d2d328451d9d2e1e13047d2e42a950546777f6ebec76d796cb3999a69cd5980bd86ccfe500582003e80eebb241cb0532f9623987a7075d144122ac5c65dde8f961e637191f9040581f78afb60193979ff6848697dee4be1ba2ed5607aef365adbe8a84acfc852c5a0058200393f14a69ec3ebb513457b8fcc99ac6e8db242cb7991089ece963eda6d2bf20540b5726b7348efbda8620d5c374f85cbe8f040b6a00582003e346e21cb990fd0dd6854ed3fe6406b3c31ac091f52db593164b8c7eab0e00544a24b7269459017c999ababa32962b3cdb4362500219062e037e8a8a4ea5879331582bd5146b336b01178fe81184b07ae2e5c8d1636bf400510376e7ce1f1aa561d9b2aac40f195c80f557021c69adcf50e2593fda0c3f4eddc00304ebaa12808169e7e4969c36da4ffc07b5cefaa0544757a3ff729475aa02cf2c039573329702cfcdfde9cff0c32866a5d783f6d5136e69193e81cf29e09b0695b103a7eba04ab454e0567f43893cae7b99a49b8e018f9b93f5652719ba81218e3d1403bf8873e3b43efd024541553bc060e454a3c2db6a96e13c3e8ab1443a7d880bff03114ca92d721801e7da3ba0410a8c746c9cda01e312af410d2fd6cd52c71cbac0030b743bfdef374af85a30ffaa506b360cf4b476a020037a62c6f7cb3aa4d3c64d03384b4c923d5396fef27990b2e7b1e1bb112043e4e016dc8c184b0546b5ff9d7c03624578f12efc61cbde55ea0453e453ef4b28bedeccb70a0a577ef7d31074c6fa0365ede3b598de60ab7d67ed92cbdd19209fd47a250557ed034c4f8af449c638a20219ffff032e552b9e306ddaa62a6370a4fe90d2fa531c7eaa0414c803d7d2de2de7dd4521033ab1478f346cf2dba483383afc4d800e89697082a543e48402c4a2909c94e0f9035e1cfb2b7a1c7b321f6d5fc528b7df97e6bf9c7943721ab283de7090c9cd1d23034b8d939db81c9638f1e19ce04215ef5c77863e354cbe2e8fbffa8b27c02625ad03742b9637d501ab5fed56d3f234fd0a9ad8e417210e60e1db843cfa282dc07b84031eed8ff3e73df2ea1866a9345e1fc72e2b3e60aeb44a59a96dcf5b55631f4c46037693d4dcd7d37db1a7cef05bc2c9867a17e44e21c4ebd69da488ebc94243e32c03449dbddb71f8b59b81fa2d7e9a2cb9163ffff6680e4251c53bf13c3b51abf9ef00582003a7c9b961eae2174c21d7434e177a2e54c560e896385d7eedb1525f74db909041010058200344d159056f0d7cc5f7787c840cc915817ae0f259380f806e121c59b70fb1d0546574e2c013171cd50a6d34e588906047a0d12f2c00581f0317575a5f01dd124a2733908508fb4b7c14031f6abba9830d869ed0c46b70410100581f0310b87a661b51b6b906b6307eb3815c7d6b5acf650c0bf1ee968afcefed3054e4f27b04cc7729901876b44f4eaa5102ec150265021401410000582003b7655ec6203d9a37a9e9bcf276ce66fc2fdb730bad2c12b2d895b01c3b7850540ef01249e2731082a078c0b3f408c2929c90ac9c0219840e036c51fcbbc13f39c15ec8bf49852dd5618b115a10a616d9ff886c094e2919fcc2039a2e763a794fb0c9ce905fad58594312e55fba22136bfd10878eadcb397c923103f6f5e5d673bbc86034cb7669eae0a8bfb55ce51fb063684b4a688cf49fd084c703669485657defd6876c92d533ec9aedad5b55a14f792522a6fff8a15481d93f1203e5f57673920f31226a4ef63c7cfe5d33f7a7482a410153868c02ff789309217d033990f552b3a3664c985432328dfcf90f65b9f2d6b0ab8e8da912e9c9e784bb3c00582002d4a62553be21e17156de47c289114114c8a6d244935403504e08fdb3d6538354d4143e8db48a8f73afcdf13d7b3305f28da38116030e62acdcb6f855ff69f9829c08b133f8a3591b230cd11a30c758baf15580773b036daa6f44acebe99447fce142b24ab8090fbe4e70dda40b089ad685109cb00461030a28862d432e44227a59abcc02be62cba4a070a760dc5610af54818b4aadb7f50219ffff038e3bab6a6204064b80cded361c803013cbf14d4ca4975d99892cbb65a320ae4f00582003056c8483e696e3bbc24310314fd2b96aeeb34daba999b0c311f626f3f44c40410100581f02ecde44669819dfc7ddecbfe3db1be5716fb3803a649654bf082e9f38ba3d410100581f025606e8c10f444c7f12dbe1d1f97c23dfa5e548ae1859fd40d22dcf8ebbad55047d507e6e89c52ae610b8d0151c8cb24c24e43bdb0219800802192300030bdb5d4fc8eb96ef88b355796e8fef444195004c1eee920f608d1f6a07c0d73803d2e1e56ba2bf5e573fd21325e7b8aced0ebdd83149eadc04ab5f9dedf198ca58035ef75a03f29a7d5d79174d5570aa0ac027a65f0d11686b306f545cf85018b82603ea4ebb106b0cd16dcdd90758065c8e0974aab84e06e1fb4d0a07ad0ee6bbdb4403c4bcb7ce3300a793afc195d12542c3ed106c0fcfa20f314c5b8cf05ac53838b6035eacd279d432e2f801890e54681a05b70eb85f1b57c239217f49d550bf873c1103036a8327836013c01ffd60ae40beaf86d7ca4559b4a030968e3f14610b521a6b005820023d7c370b68aa9130c01c060d7a258d0533c6ca7205708a509f13f048479e17540f65f65792d4b286b6f2ff373ee1c1631f71c63503702619e936669ec126ac82b2a71235a83810217bdb98dade2d1d4f9dcfe1e61c005820020dbda178d6248483f933ae61db003c9e49a9f433171effb805af1ba0297204540b23341fa1da0171f52aa8ef85f3946b44d35ac003ce19a14a60330f34d378bf181db0d8af75db75ff3cdb687cdd4421bed520264b00582003c51c808829853a37b88c33e5de4dd41b3c5f656cc2f46a2710da541bef648041010058200399794f8611ab7f48885b5597f29ce18ad5ad7063009ee0034a57d5cb0d37a05506f965f52046d7095d5080bd31459601f4eb24f72d005820032fc28251004a7ecb6dd2d4f8fa6cff3892fd8cb00f2212675e151f183371a0550231a9b1835864706af10103b31ea2b79bdb995f5f032922cc0b342da5f2c6e36ba61cf5c7a5b54b840efcb5d57c3d9298956d112d5502194188034a644c868ede09eba5558c45c018495b1490319fc98d7d6f1a7be2504739828b0317e343f0549fcb5c14af9214f98fb4213d87771aaff09e2e565c848800e92481031286283db06dfe2657e37d274a453eb66edc4c17164bc4ee9988d97ec8b9e6950219ffff0309513d1e8e680fa9f6da5fab55ad3485a869a84a9a4af6491da92cd830fd5d87030a06583cc36271f94d680b908012559291017ea8e92d13749331593e3a13bd140219ffff05581e03a09eca415d8f6002d825c3098a1f7fa31c41d02ba3f3bbca0caa47d58007011914380219dabc03240051a084e3407bf1a956fa3769b1dbb9f2d796f3510d406e92081979b9a83103aa4b9a61d0ca641bad863d96017a5ef68bc9204df5008bce0735fa137c56f4a803d0d316a8adcd8987cf34e74629256926039b9305435fb472ae2dc515f98d7a0003171e28b0642bcb62dc009093678fa12be573dbfe24dddbc283039b85cd6ea97c03da3836d09ce06afdc0ec995cee566d5d22e5fadf050be8b15ce20b19c0d82b65035be0a3326ced842435c40a87985e751da1d712e94cf0f3b67e44752ae91d43f9030547202da781bfec1161a49c56cfb1b6db8d65f3b4e7e63ec7d8bdb78aa75f9203ebbccc9fcd4ced2452035ad14340aec69b276e8f1d56db2e50f93969f053300b03db25157854ee9a30ce0344b7cc0528b894fa33cca0935d755d7f1610e8ea4c64035f62c17fe3e0b8786529c0689e13b4df1b5588851c4bbccea401d3b36b6b002e03b5ce8f2519c47729dbc6e1cf356dccfad27cf63a11a2b0be3125d3fb6cc7feac0219ffff03e07e9e98a274e6a9d5e3b43b04dcaa1e01727e3e4b61308dd7e71749a1a7ca1d039a743a2c3c47318b18ca1a3203233409ebe73cbc03b9036b4d2509144f32812d038a41e12b3559912f1097bb591c7238a7eb9bb45f534b6fbfdcf45b4a4469d2f003c424687f3538b501661616c6cd478c1aa24b673d5385ee0a07f3603f0037180f034ca9fa550ed423ec7b41f414ab49192336277613a3fc2e307b27f74e633c837c0341857268033ef70c55a5d5ff3d9e71d103e06c4ed75111c55e8a091fb84400f8034b770dfd532254d4a0f4750cfc7a0d0603c553ec4ae676e9b62157e24e557a4f03cba0714163cfd2723657d7ed400ebb1549f90854f4cc6c39f64464e49c5a840a03d016a1a95660229b8c6656e9c7b55c581d425a5b0e4b4bfb3fd0166a02e4821e0219ffff03a0126d57f5f83053957871373cd004a2756c321df8868f0fcff6531d5c94bb7e032de2789aceedbebb3fbda62c8208d7978f8672f73e9a481ae047bb18d75055a303b9cca66b4e8522a110f6099de3029db3a732c0ec218b9e38df4fde4991f9937203666e33217c11f8704f7989544713fb046f0d1485eb9b28f3f137027f3b18094d0219ffff03d1e4c8f560f50750adb33027f01e757dde082c5e47e446541f94c5c3d99d888d03caefcf9129862f48303da7985a034be5defa9584118d2b2bd2d8908bf1bac016038c8c9e370e644fb6edb60cd5e170e1f853a8bc6884d1a00e13bacb839d5cc092031c0d706932f9a73477882775f012ccf175b897ec41b7e89f838d0136dfc524d203383613ab20004ed559a6299eabc0e4c509051b581ff65588d34ac5915681f3a903b76f65a94ef641dcc6915924d57fbcd733b73d4a5b26998b4f462d958ff33482036bf6a0e75d92c7bbfe1f1f63678536031ca6c15d679bedb2b6c970b39dce729903880cde6cdca981172af1b678b1a344206b97ac0c4580c399670f6cb259194ffb03f87c140c41b6664fd8721f8714263a7536b23e555ab1d39a56b8c052c68b52b7034e06171ea3dd18529acd15bd48d0f1d0327b04996f44766b51e7a0c1d6bc0252037e11f890106766b501cf3f04c610c8bd7084645116e4f5cf9e82c3b677c7db8a0338bb669c5f35a0cf1b6b51c2febd56ab62c003098c60dc04c5b573b56f18667f038aaff710f896c8931367c77c15fb64512126ac4817da4951f2c8a2cad9436a4a0316e3ca3a2bb5e43ec1f657f9a3cbc9b2a3d8f120c33c9c25115f46d0ddc9ef0403ca215654268fccadf751c7fa56dfb27d4830b7f6eeab5fb06d34a33f8022048903c17d0d53294a267973b32fd212b8c07da11fb8b50d9b63b15b980d59e816c888034064e0ac201ddc8ef81dc579f3991a17566258d044096e9049cc40e8dd6a00330331857cccd518d58b2aeadcf9dbe5864b57f46b6ad70c43da8c3f13f70d8fb37a03606aa1cb03e2d8ccd974802fd61b90e42c6c49c2fc55f5887534341911d6e8740350eadff8cdb23fe0965944c71579c14471ea263738d6c06a2b2d7176dc7a346c030b9d002d5faec513a1472b72eb8a68cf18ca11784ffe65fb8bb70c1de6e8104903410ca25c45214db51bd24869f792d135559c79afc348d109364247e8b8fb7d2b030d3149362f1bcbc5ceaec5d5c2ccb0bca6452dedef142a2edb502f5317fe94dc0381d3698d307245f526d86053cee05795c89d70888f364dc702b6282d3f0d3bc505581e0344a18732d2ced06d5308094f68e51942a9bf22252a76ddca8b42997c000847517359e31194f805581e03b59f191a8c237088692df69c986d8d7580a7e5a3f8a49940c20c3c50100c084701be189e2b586005581e03c82223b9e0eaec5d3d833ced3ac29805707165f542d576d985bbe6bc400c02466ff902a18a6803c2eac86866e0c6067362ac96e11ddac674347e85d8dfce7f79155367ec4cd3a205581e03acb614a04192652fdf60d7b4118e81fd45104e3bebfb778d684d5cf9c0040205581d02c05d779546ce1c2d5953258b7ff8dc75046ea81f26c19d69332b51d1040205581d02ade0caed31ab35270c12bf421aeb84559cef94363e592ddffde12a510406045906c160806040527f000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc27f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec77f00000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f67f06d07c7282ca14a6373ef13969ae4d2ad445adc37badf186377da14cb19b85a27f00000000000000000000000000000000000000000000000000000000000000016102d0565b6308c379a060e01b60005260206004526002602452806044525060646000fd5b80828111156100fb5750815b92915050565b808201818110156100fb576100fb7f30320000000000000000000000000000000000000000000000000000000000006100cf565b818103818113156100fb576100fb7f31330000000000000000000000000000000000000000000000000000000000006100cf565b80820282156100fb5781838204146100fb576100fb7f30340000000000000000000000000000000000000000000000000000000000006100cf565b6000670de0b6b3a76400006101b98484610169565b049392505050565b6000826101f1576101f17f30380000000000000000000000000000000000000000000000000000000000006100cf565b826101b96002850461020f6b033b2e3c9fd0803ce800000086610169565b610101565b62ffffff60a43516805a830301905048810283811115610257576102577f31360000000000000000000000000000000000000000000000000000000000006100cf565b483a03919091029060ff90840360a43560f81c02048082111561029d5761029d7f31370000000000000000000000000000000000000000000000000000000000006100cf565b8190036102aa81476100ef565b9050600160a43560f71c1681151916156102ca5760008060008084415af1505b50505050565b5a60003560e01c632f1c6b508114156104c6574260843514610315576103157f30350000000000000000000000000000000000000000000000000000000000006100cf565b63128acb0860e01b600052876004528260245260043560445260443560645260a0608452606060a4528360c4528760e452866101045260406000610124600080895af1610385576103857f31310000000000000000000000000000000000000000000000000000000000006100cf565b60403d146103b6576103b67f30360000000000000000000000000000000000000000000000000000000000006100cf565b60005160205160008060008413600181146103d657801561041657610452565b6000841315610408576104087f31320000000000000000000000000000000000000000000000000000000000006100cf565b836000039250849150610452565b6000841215610448576104487f31320000000000000000000000000000000000000000000000000000000000006100cf565b8460000392508391505b5061046881610463602435856101c1565b610135565b9350600084121561049c5761049c7f30370000000000000000000000000000000000000000000000000000000000006100cf565b6104a8606435856101a4565b93506104b48487610214565b80600052505050806020525060406000f35b63f4ff5295811415610658574260843514610504576105047f30350000000000000000000000000000000000000000000000000000000000006100cf565b63128acb0860e01b60005287600452821560245260043560445260443560645260a0608452606060a4528360c4528760e452856101045260406000610124600080895af1610575576105757f31310000000000000000000000000000000000000000000000000000000000006100cf565b60403d146105a6576105a67f30360000000000000000000000000000000000000000000000000000000000006100cf565b60005160205160008060008413600181146105c657801561060657610642565b60008413156105f8576105f87f31320000000000000000000000000000000000000000000000000000000000006100cf565b836000039250849150610642565b6000841215610638576106387f31320000000000000000000000000000000000000000000000000000000000006100cf565b8460000392508391505b50610468610652602435836101c1565b83610135565b50506106837f30310000000000000000000000000000000000000000000000000000000000006100cf565b50505050505000fea264697066735822122033844a027fc6b17dbe7d2d177ef947ee3ce07f1229f86d6b7686b6faf1c6a64b64736f6c634300080900330605581d02a836ec10b124c85314c319159208efbcefd9f6d3658b8532bc4b0c1f07011906c10219054003e9a2c3d510b32304c9ece056c5f3df2c99a1a946d00d8208908f5df0afdb254d0142000c0317a99c31793fb724fc1fc71dff3adb2badcc15b71ca311b977c067c2c3e0f06f021948f503c3286427ac48931761bf10cda596b4e65e790c75dff7bb31a3d3f1e52c214f5403a1affe6f2c0c11af8a409c4f2d045179243ad6a05080a1a8642f0f521667cda303fb47fc5f003f137591826952401e9e0bf7337443affafa88c6aeb63f8c6abf9103ce6c9b1e52b22c89250ad803ab6cad4924191cbcb4943e647b92a71ed4f571bd03b607e6654d3b532a6bc36d67486869f2058a553954320609ab69ac8dda9e61d80219ffff03026aa103b1b89041b3376fd9f6e38aa924ab6faa15688f90955b91b4ec82a3ca0313baf4d9a7fe59308fbd86789ac5655f0f91bbda872069cae2f65a488217c48503e822103b3adb06765ca241f13751299793d022aa25ebe33cd783689db72211b303c808580e644398882e358f98ab67b2405025fdf177127085ee16afcb7bbba30503ea948803e2b7e3052fe47b68cc3d007fdae39f3c9b1c94df2db2539f6c8868e00367faf531a9c93a3d2c82a728b6e562978365b6ade2dc0b7e390fada11b6ed90d03b7859c90543781aa1c6196046ceb78021c391aad1a5c3a0357b82df43aab6ada038856fffeb54cc7aaeddabcfc8e8f41b0d3de7d35428142774938028c1c39303d0322b2dbab6ef21693dff547625913ac4667e4e0c097b4bbfeb10c17c5049c265a03f28b175846a625f85483a39ee6afc95e706d561636ca8cfdd2c573099f1bf5e60373cb6362988313937ce5329b66eee80ed4a7df97a6f567b6639fa8d0a8941c4e03ec25dac9d3738cafdf6bd1dedc7bcaaf96153e10dc37720e4e5f4e544cf3c4150219ffff0376481f2570f0fb0de0b0300201c373b878ae80e83020b0c1a5895fd6a4539d670311798f3b5106aadcc751dc04a358f5a197a95cf614bec5aaf079d345b177ec0f032504ef64f1a3acb5a438ffa8fefbc6dcbbe395fed9fd5969051780159124df8c031163f3277c3ee53d5ca4287b03c95a5e169c3ac92daeadba2f8286ce3ec3341c03c49c90d013f49a65846d9b3fd0a9b68848321b768ef05cbebae33d77ce3573e503a5ccb645b7b68ea83493cf8de7567e0524aaf3d58109f152945e2bf9e1dcaa400381ceab4192cfbc9a87a286549ad906e6cc0a10767d2f5c043713a14902a12b8503834f05eefdc2d1c7a7748def387d2e085deb3c75dea28612a42539100d4e2c0303e43d706d8e6bc171cb06d16a51c75910ca43e85ce319bd12df5c2ef12466ce4b05581e03c7cf2fc0f8f0460a44f5117f6b7732bdb9a2dbbf7d3992098818c6bef00c01464d1459a7020205581e034003d2256a862382590aa2ee190b901126f53ef0a42e34f09e49420e00040103dd6c7de6ebcd31d2657fc531d73f8ccc78ff875abbf89a78cf25c4c2733623b805581e03a01370ab43037b6c024347d65e31896d216c3035fd9198397a286273600c01470854ec31155a0003bc6f9e49c3b8a4ea17181ace602156f5fcf0799e7227d8760d2583e2505e6db80364abc06c241dc7668b6bcd5c93e330e7e085a711738c6334f32851cf1561673105581e034c84ab01783620a3b132ef7bfe691c152ec5c3c9c72506a8aed93712700c0a470cfc448f360dd803ad6152b5c580f8b8f72f8cd59df6fba97c8fed9d556fcc7f1b64503e67e134a505581d02530d3dfdb8d0ad28ad012628139da2f8fcda162813084039bc3c9e300c1a003fe1af4a032c7f0e94ca8ee6f25405581d027c8d5386983a969a7e45337c28a765485d050380bd282474e2407d4c04020219c0000336430befbdc69572b4fe23bce68acd421f4fa461f9f19d1d96858d7c392dc64701410a021969f7036b907e85140a15670fba955b433117b190bbfdec6e6b8916c824b12e684a6b5a03daf58e56afdafcf4debed51b6ad419f4802d46b66c37899f802f40ccaf1b5825030826ace92f2db19efc28278ded0ea5445c6068b70b39249274d391f6d01283520363730332e5684c7e42aab0149c774da0638681c67aae17a153e1cb6ade605798031bf735610cfe4337dd3f8a0d7231cfeb11d2cad2ce032e3c9e08764af31a924403682da67bbdc3f257c95a1d95ed7060aa93c0a838e518ef6847a6b566840dbf450317325a7612fd5662f047516eff5b262e7820104d608fc93f6534c420700c44df036fb74b58dc8f134414de6bf2ebc083e45b03d2eef02826b4356beec7eaeae8de0335c252b172cf080ae22b0cb11e90d22dc2ab9dfeb287c6b2aaaf479ffa95ca3d031d7cc67b54cfd3750c9b96380facfdefb0432bc8e989f36fcb42559ffa4887f503c4993491f1fc7674d541b50a47ca72f8b38093495b76257aba01ee5f044fb942037d2db8f807145cf7d923b9bfcb808ab00329286a38bf796c9e105338bc69930c031d7d53d246c850c6d970dfb0834dbf2f81613a1de1cacf1af875fd8b8f0aa17a0320a287f101acb6957456e9c5e46003459b5f19b97bc4edd9a60e26cc587a50e80325dad21cad421466173ba42c5c1f7e35e9413dbe2f601ad577c1807ae6ad7bd60219ffff038639a3383e16dcbf95427ec498c1509fa7a91db5dd86711d6ec0cc74d712154d0341102b41af3c97f3df11104b5d91d9efc45aa36eb217788fe2e9590b818cd79c03ccf40472e3bef53407403f0db9b843b6a44e86f4317cf9dc688a249a16c12dd103a1f60deab9b552b11bd6977ef17efe9e9e348ca93bc1fa03b1efd69eea63eb1c032b2b132bcacb2e54820823ab2dd4683bd7cfec94ae59bfafa77e2edf4110629003c20ccb37f5e95e697a0b03c54484c85b561c2b2cef846fe29e64327fd129c778030c6a6e0e15172282743c4de5f8576b679c146c7e629381827905aa69bf249691033cb02adcbd67eac6e10956611310c8d74e3d0d1d98eba7a4610805a08ab6f77b03181141e9516818a0c7fc05269afdc04d5e1770079f3e8800b5163538bc1e34df03c0988a2c187c409d0df7a65de6463b963834b92dd5b1c2bfca302ae82403346a0219ffff0219ffff0361bdb42e5c25f921d76959c964efad435f21c009466df543ea872c282e48772803d5baa63e15a4ce2e6d0b410947e4f46f73d9b575129d3019180e3961cedfefcd03cfd31bd35822e078df474f029ed626a09068da0043a6c104b898aa4b365068d803fd7e4310dce7f82982807958ecc7f483d656b01fad5fc5322da4519a7a7a36af03eb3354729f44195ddfd8190761d2d1e890f7ee063c869dd67b53c7c27e3419160219ffff0310f66e6b907c211e2bfb500a6f9fb70f5e2512d5f0f902087f8cd9040c030a440369d8343eeeb7ae202d7302228caa21ebf593172fc26335dac01c030b2f31b8db0379a867b006282528adabb86fdd9d4672691b705cb9b3ea3cc8d3f1d324f02e3403ecd88b7c27d845a2b19f0b633951917e2148bf2bef4ce38cec6d2c8264310a93032b543c56a17094a881065d5194dd7c13f02c773a5d516c866ef0b9b9b1c2096c03d5e161c3be40d8dc81acd753ed862fa596192ba0162782dac2c3958870cad87c0362ec0b091c6b4062ec21af345fb10633de1c825dc1abfaf66d0549a3c595ec3d0308bd8ee83e5fe729c8276202743628feb86fb7f4b5e3e9f123482b571e17f77c03eb20fdc18230d4c302b09f0230ed18cf96207730fdba1ad5face47f3d7448caf0323f6e0f4646322077d8ce1c75e08750358da5c876cbcde89b00178351c67bc2303d62ce7f292978cadda44911c76e254f6db17773f9f88fb6d7358c0ac99694c3b03e75222ed8b28215248855d8265b005e2beaf74e29bfca65a655bc1ce3ce6d00e03083f253da8adf85dce22a91bfef23176a82fe31c3237b4cc3c51590d3ec0f51703a8628cfc2d7ad0cd52f84051c074574a0e4483b8371564f97866f833ce59e2ed03c49b421d643afccf7a5fabd69e6a1b5d16c4f6de2e9b59cf5bc7cf737ec4473e0344a76bc17a90e6618de941e3a79f9f3e3d4b4b3398a943ab7bd18495081bc8fd03c375dc553a26e634f2dfa5231d4711ea020fd28001ec68436c6b60c7efd089d40326dc68e01e316d53ded909e12d4036be56db17f4d17f0069decdf5b001aebdaf0386e55b228382f89bae158f29c5db903cb66ac5f87d4987e4de1978f2df1b884303e29f209c74be47a8d2367605f6cad1a8da03d719f128c5c705f003c7e1abf60a032e960a059fa5a6859b255a88e3469ff2b4316610cb52e3ebedec3a6faf1dfe43036002de9f2d04600cc822a451fd6dbf60467c63c15378ee8a0e49f378e29b752a0365832e7978dd89de14dbdcc28b5451393d066f9894d7cc8c58b16b0d1be4bafa039c4c6a315da2fd97833407f0e0b3e3c1d573dca8fbf9de2a2673108ffdbb88e60397dd8ffd56b806a5defaff29f4f3d26bda647121249eb37d237b722bcb8317e003d19d6f277bce70c3cf7b5d78c1b4c1e4321e49453e970af80fb57cea008212cb03ee7e3197201fd31b5a7000fe7036d5af6951991cf877a5cc91692708118f1fd803fc8ad17bdaf1b1bf7292c5d71e961bcbce512597c4334f428369f7f3e708ab75035a7c0e6345e6519b22470e26a40b22b643e09a4556417ce0126f34d550c6746303eb0bf49abe63c78b9eecd30c20e9c51767b7c71d0c498236f1f9b51ee3a5445e03d91cacde5220ff97f4430e42699b0afeeb1d793e4738dfa1429780991da95cb603314d365d1a7e90479a345c5757290ac07df448098556a5ed295b22ea5a9ae3d1031ec50d60930fac1787287e56c23c511234f576d5054701ad58178aa5329a034f033b1ae4a23673ce60a6def2410f98723077041c8fbea246399c0cfe193317b429035762e3acfcb0b25d287034e0f27a1bb0a2b38db318c0c300123eed68a0d17a0f034be595b3222b9f0d38202079b6a92ca2f9a3e218f75b1ae89da19c1beb962b4603dde87ff5332c0dd4f69dfe376f240c3441a07d7a48be1c557ee79c74b7292bd4037697340b606844d12961a3278c5702185e4d3f5446c1f61262c68d89cee9203f032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e03fd7cd7d325b05b696b67ef9f234b1f57812b5b3f0670ca6809ccf34f2007011bffffffffffffffff05581e03c0797dbf73223a9523f26349aceefb7255e6c759e186e835980a4a39500c014610ce6e4f5400031201f2816fe2e1085f2dc65dd4ba5402d2e79985f7c642ebd28a5b261a5257770383a9cb07e18489e3d11ba7e7b993daee1ea7cdaa196f749bcf4edde105f05aef05581e036157988c7c1d75fc10232e789b5381a94dfcdeadf88595cf53b40317f00c024714b82c50548000031e85e7ad6e7216ac40f69129a2cae8df9cb442d9ccd83c62932c1c3c05c0b27e03b8fa6e595baeb2eb138b4f515892dc4442e0fef64a066420b366c71c4d10fcf305581e0331ee71e13781adccac6e1481d4a4b575cfd5a6df916b5c87ec4ee2f5f00c014619acbb7d2068035bbbcd273b2b60bbd1b5e4af665cdc3becd55138bb26a9adae5aa3072c3389d7035e8955b884f08811335ff4387d47a6da7276e884e1384d16852fd6c509eb03cb05581e03776a81b555a1468b682b8c31828a1fe0a10eb96caeec901d3479ad8f000c1910ed4913a1c86013feb4cb2c0219ffc30330a91bfdba0b50f59be89f7c9d7899a04741029df2fd230cee4a2889dfbba16503789f5efcc697b9e369380ec40c39e059deb052601891e441b8d8172bbdee0c6b03aad94515d5514eaff66bdacc59aed641296161bf47b04a2c76d3990a969b6dca0219ffff0351efa0ef9463dc5bc43cae767d826484a2df014c9fe40736fbf693f112bb47940219ffff0325626cd2e3bb3f99cddad4a97dd3d54d7ddbe8ebb897c8acd2cd561664d2680f03c21c270fcac6e22d9254d342a68e3ae0390d542278f4d9688c5eb9d1133fdbf903f6bae286b8dff188551191b7569da02393d017d60b75b54729db817ebdb3266c030039d2a97879bf16f920e047c4ad26f1964644e8463fdc00549c91b6d576820a03498f8c86e4b8dcbafbed66291621ce601af25e7bbc93127b42d764a15a567e4803272da6549065c93124198382dce5098eaa9ee3a1c43996c06979778720133b7403a7a23537882b4257f158dc76e89785f180314c4bcc68dedaa791a9dd7b4b55a203088f5d58df3f2c8b0d9654ed6201d4eb5aee2d0ce454dfc72bb2d4f80c311ed0036beb6ba40c6dd51af791aca91ccc9e9f42673aae5a9b9840b5a87eb446038c440313373ecd913be92dd64fe980ee2da2f5435898a395b777d2c676307af57a119f032e981eb72a36ca18313b701d18762ada9ab619dfba820e4e2725d6f28aea2c9003f09d704545eae94750eb4e9ca52405736e81f6879baaf8a48748ecdc710679320219ffff03baeb811f947fbe59ca34095ad28c04e04424de68ac027fac287e0c156719539303c8ab04059da1cfe7b5fe765405afba18cb3b1145eae250e6571f8829219c205c03859abc3b524808c24aaf43c50a5762d9365db7f8f1933ba4e0896ad00defeb7803ef9e02a6e55bf4d19fa34eab6c0884069fb003f1e88707b2956f7d8402a97b18032b54c5de8011dad27ac01d81441e5f1dcb09ae142c8ca3466e2c6788165d16da033e3d2ba3736812efdab5df9026ff5ffa93924038585b06f976163bbe564b793903f4ba9474bc67b2c2092ba7141db5e30d3c618b7d2283caa117eef56e7b2990cd03bad0e846efb912060be7d95d5141cbac513d38a149b99955abf54a70d1d846980369d68d40c4c2f0c823e27b7d3004ff38e10d6991c084b6b11ae0cf7560e05427032f2bac4203b3df4b8b95518558bdbff68e39f0622c45218925518611a58ed32e0345d8f97475118a38e4cca7a9abf88edca1c518cb1a579eb9042c0eb397a2a23a033d014c014990a86af06b8c686f85bea1a483cc492abc63ae855efb26092ec8520337a2cb3abb4ee26029fb9aedf64c59e5b5ea5c995d5193b82a15bce97d15c148032f4697d743a0341674da49ba2afa617fc05a589d2a4a0bea048bf82d2c44301803f0b3d1d87faac02ffd4ef7a3fda9385eea277be4fb1348df364c583c89e55dd6038be315507097d2dcd685f5b817c18a5628804367e84f754d2118727f523d224803d546608a92112f224525691df2bd83969950f570048872cb56265e1efc52128403f9e0cf7fcf3384da9518057756e6670eb713e8729191a4cbe9c351264f79fae70387c045cbcfdb6040b8bf2f29f2a99d4b124c9e73e6bb1135d698abafd6eb076903a17bec4539641739b72cdb78cdad3eb27724b5e4d25ffb3c0d700cf9bb3e7fb803d278c1434c4efc02bbbaa6ac6cae521fb16762308e09827c9d3486b5b741ff67031cb184edd92aad226478379937ccb451674acc6e480d544f14bd549ecff8c5d003baef4d7bc2f8fcac8dcef6de4445fab3f8c0733069c4b30c736d724f9f1134ef05581e03836b0764235f261ecc6c3761103125e30bf09cf5671dcf3ab4895ba170040205581e03c455acc32339bcec9b75edeea86af5259e2e3c0626f2e7c7a060ec87e00c0447013cb9c5677638031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03e35e7a2dec8d7f4f92afc117f44b8d56b8dc500ee998e8d402bb1d0f9007011bffffffffffffffff03b34a73110a380b23b356d2af0deda423dbc911b220abdc283a5c666b006cdb5f05581e03346e39af0377e02bca45ad2b2b2e0f418594c9e5a7eff9f27a028678c00c0346ae53777ec3f8032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942030aca68106f400f1bbb07137ddc6b7b70a4d83f227100634fc515f2c22060122605581e030ec077f509db18bdba2f3e0eb07c85db69d851021127188f0617aa60a007011bffffffffffffffff04592377608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610acb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610af9565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b23565b604080519115158252519081900360200190f35b610339610b3a565b604080516001600160a01b039092168252519081900360200190f35b61035d610b49565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b4f565b61035d610be3565b6103b5610c07565b6040805160ff9092168252519081900360200190f35b61035d610c0c565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c12565b61035d610c96565b61035d610c9c565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610ca2565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b031661111e565b61035d611130565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316611136565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316611148565b6040805192835260208301919091528051918290030190f35b6102446114dc565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356114fb565b61035d611508565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b031661150e565b610339611680565b61033961168f565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561169e565b61035d600480360360408110156105a357600080fd5b506001600160a01b03813581169160200135166118a0565b61023a6118bd565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806122886025913960400191505060405180910390fd5b600080610667610af9565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806122d16021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d611a1f565b891561077057610770818a8c611a1f565b861561082257886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561086857600080fd5b505afa15801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b5051925060009150506001600160701b0385168a9003831161092b57600061093a565b89856001600160701b03160383035b9050600089856001600160701b0316038311610957576000610966565b89856001600160701b03160383035b905060008211806109775750600081115b6109b25760405162461bcd60e51b81526004018080602001828103825260248152602001806122ad6024913960400191505060405180910390fd5b60006109d46109c2846003611bb9565b6109ce876103e8611bb9565b90611c1c565b905060006109e66109c2846003611bb9565b9050610a0b620f4240610a056001600160701b038b8116908b16611bb9565b90611bb9565b610a158383611bb9565b1015610a57576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a6584848888611c6c565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280601281526020017129bab9b434a9bbb0b8102628102a37b5b2b760711b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b30338484611e2b565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bce576001600160a01b0384166000908152600260209081526040808320338452909152902054610ba99083611c1c565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610bd9848484611e8d565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c68576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610cef576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610cff610af9565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d5357600080fd5b505afa158015610d67573d6000803e3d6000fd5b505050506040513d6020811015610d7d57600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d6020811015610dfa57600080fd5b505190506000610e13836001600160701b038716611c1c565b90506000610e2a836001600160701b038716611c1c565b90506000610e388787611f3b565b6000549091508061100f5760055460408051637cd07e4760e01b815290516000926001600160a01b031691637cd07e47916004808301926020929190829003018186803b158015610e8857600080fd5b505afa158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b50519050336001600160a01b0382161415610f8d57806001600160a01b03166340dc0e376040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0057600080fd5b505afa158015610f14573d6000803e3d6000fd5b505050506040513d6020811015610f2a57600080fd5b505199508915801590610f3f57506000198a14155b610f88576040805162461bcd60e51b81526020600482015260156024820152744261642064657369726564206c697175696469747960581b604482015290519081900360640190fd5b611009565b6001600160a01b03811615610fe2576040805162461bcd60e51b815260206004820152601660248201527526bab9ba103737ba103430bb329036b4b3b930ba37b960511b604482015290519081900360640190fd5b610ffa6103e86109ce610ff58888611bb9565b61207b565b995061100960006103e86120cd565b50611052565b61104f6001600160701b0389166110268684611bb9565b8161102d57fe5b046001600160701b0389166110428685611bb9565b8161104957fe5b04612157565b98505b600089116110915760405162461bcd60e51b815260040180806020018281038252602881526020018061231a6028913960400191505060405180910390fd5b61109b8a8a6120cd565b6110a786868a8a611c6c565b81156110d1576008546110cd906001600160701b0380821691600160701b900416611bb9565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c54600114611196576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c819055806111a6610af9565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d602081101561122c57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561127a57600080fd5b505afa15801561128e573d6000803e3d6000fd5b505050506040513d60208110156112a457600080fd5b5051306000908152600160205260408120549192506112c38888611f3b565b600054909150806112d48487611bb9565b816112db57fe5b049a50806112e98486611bb9565b816112f057fe5b04995060008b118015611303575060008a115b61133e5760405162461bcd60e51b81526004018080602001828103825260288152602001806122f26028913960400191505060405180910390fd5b611348308461216f565b611353878d8d611a1f565b61135e868d8c611a1f565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b1580156113a457600080fd5b505afa1580156113b8573d6000803e3d6000fd5b505050506040513d60208110156113ce57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561141a57600080fd5b505afa15801561142e573d6000803e3d6000fd5b505050506040513d602081101561144457600080fd5b5051935061145485858b8b611c6c565b811561147e5760085461147a906001600160701b0380821691600160701b900416611bb9565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060038152602001620534c560ec1b81525081565b6000610b30338484611e8d565b6103e881565b600c54600114611559576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b03948516949093169261160292859287926115fd926001600160701b03169185916370a0823191602480820192602092909190829003018186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d60208110156115f557600080fd5b505190611c1c565b611a1f565b61167681846115fd6008600e9054906101000a90046001600160701b03166001600160701b0316856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156115cb57600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156116e8576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611803573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906118395750886001600160a01b0316816001600160a01b0316145b61188a576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611895898989611e2b565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611908576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b81523060048201529051611a18926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b505050506040513d60208110156119fa57600080fd5b50516008546001600160701b0380821691600160701b900416611c6c565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b60208310611acc5780518252601f199092019160209182019101611aad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b2e576040519150601f19603f3d011682016040523d82523d6000602084013e611b33565b606091505b5091509150818015611b61575080511580611b615750808060200190516020811015611b5e57600080fd5b50515b611bb2576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611bd457505080820282828281611bd157fe5b04145b610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b34576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611c8a57506001600160701b038311155b611cd1576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611d0157506001600160701b03841615155b8015611d1557506001600160701b03831615155b15611d80578063ffffffff16611d3d85611d2e86612201565b6001600160e01b031690612213565b600980546001600160e01b03929092169290920201905563ffffffff8116611d6884611d2e87612201565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611eb09082611c1c565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611edf9082612238565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8c57600080fd5b505afa158015611fa0573d6000803e3d6000fd5b505050506040513d6020811015611fb657600080fd5b5051600b546001600160a01b038216158015945091925090612067578015612062576000611ff3610ff56001600160701b03888116908816611bb9565b905060006120008361207b565b90508082111561205f5760006120226120198484611c1c565b60005490611bb9565b9050600061203b83612035866005611bb9565b90612238565b9050600081838161204857fe5b049050801561205b5761205b87826120cd565b5050505b50505b612073565b8015612073576000600b555b505092915050565b600060038211156120be575080600160028204015b818110156120b8578091506002818285816120a757fe5b0401816120b057fe5b049050612090565b506120c8565b81156120c8575060015b919050565b6000546120da9082612238565b60009081556001600160a01b0383168152600160205260409020546120ff9082612238565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106121665781612168565b825b9392505050565b6001600160a01b0382166000908152600160205260409020546121929082611c1c565b6001600160a01b038316600090815260016020526040812091909155546121b99082611c1c565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161223057fe5b049392505050565b80820182811015610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a2646970667358221220713a8bf21df06433f34b5c9abf186abb737e72524583bdf420105a289791e24864736f6c634300060c0033030cd0e620f6dcf7becbff514782512b7ff230e2c93f8142f4dc78e2978cf0cc69032a9bf6bb711b19a188100a39506bbeedb52cdf79d260de6d76df74a7e23c38ce0341189d0ff917188904da3afa76de1c61652885ada98b893072065245eaf901c103583609df7667fa9403ceddfb4c8769a625126299edc9214506d4921265f9c66303767907e33165aaa6426b7d57d21cd15064fa73d2f1f2f9aef76423e59bc34c1303166eb034cecfcf5d18c941648c56939f23e9b8b59c2c696bbb02a16fe834b3e503efb324935bccbe110f7bef328aa0d91b26c134842fae8a005b75d900c7c2ec5800582002e2b9dd1570cefedcca3ad8e20a668546624072fc07d40417e1742f7c5f22625820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a89b263b93d34d1d62f89d77d78549b0608f655123f3cc0d1214200075df345820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a93e46f3b2fadf66254fb01ad6ec9eb74dcd05ef8bb9ab6660d972f5fd29a3ef0311f6c8b6021d7bf781c5770900420db4d8709f74ef7a53eaf21de3c6df5f1fd303b896a2fa77ec012b7c14b80182f4e9e733c2c373333e4910cc73d0c51bf8cdec00582002c636c57a256fef729c93b6be3bcb84035a19802fe87340c52c5c4d29bc63fc41010333f4d4560f2e14f0d0b9dc1d1bc2838b23e6c67bc28c004679e69298e066a55c0058200245bf1e403ea9faa93d7ebaacb2a84b8f23e88dd19f23a8585f858487bb53905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026cfbea2f941d47ea2115df9928c5654c1b2c88e97dcf86f845c3b6213a72364101036dfca7a0539a40ce5b8775dd69c3b1216f57f3d0e4a30b02bd738796d62654ee0350a4c3c06134f92888ee5cf56820261a16c7854213dd1ebcdcbb94e11472682600582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af051021ce1d380000273d7cf22bfd56ac5f58f005820035737183328cfed55c9504f241e40ec984b21a66b0250006103b9fd2aefa220410100582003f01c5ec35b3256b0706c5cc3510296c4fecf8fce8ec46d617c583fca6596f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218c202197d7f035613251873eef408d091344cff22583fa663285bfb7292163c3be62428dd3bf30369dd2f4af3aa1950c9d1c8f1fe97dbce40634358913ca1adde67d6e36ff8e84703d9670b05576283999060735971f984be8f3ef97f4f8b2a681ed31e3f578522cb035b8987db865b722fcbce86612997a6cb37b00fcadc8868dff6f6cef4aff82ec2035800dc5fecf47af748028ba7d3063c33b4606386d3ce064231e5778345e517f503259cfbda9502855ecc21a6b65e64a0f5228468448b5ff5506581b9a74cbad1a203c5b0fb71d88b3e6bbab382f2603ef6ae9e7dfbd209f74186d5f924b8c8ce152d0345a59a87cefab08c9cb125c9b98072a2ecf0ea26f44ce64d86276414fd87ce50037960e00e04893e5da82e2e86f9dd2491c1ead1824b6e71a4da6b974a534f401a0058200395a7ab990ebbd8d0c4fdb527b3b2a4c6b16f7563f1d485e73062d0017eff605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582003f48d9613a7be9fab714e0c0bb5e3e59bad203367f5151264d2a8cb9cd9d2c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219025003b60fa59b517658112ddb45713e6c9e4a46c291a899d416b08467be8a4302d54803e55e3e216e74fada311330113ea56bc0d5411cc135babbbde0e72a592970d2440362d51407aa009dceae0d5d26ee211027de45c0d4e785ca4c2c7ad87c1fb22f14039d2bd8c81faab8e495bdbe61ec92b239a1fb91fc2851bc12b2c969affacf921e030dca16cefdea82c0619ea34421d49892f58add31b4005f27e6166da5c770235903f2e3b67c136d8373aaea135b8c877069116cd06b3b9965431d89bfc31aa3a087039ee3445aeac7d3ae57ab56b352ff2b322f8baaa70352a0f70a2894f60989d19303a36f159c0c79a362974006c8bda5b863b31d77bb469519b13066b3f34e60c3b3037be4484d969967b2b7ea0baa04ec59fd25cc33ee28a77ff691a4001ed3e3947b0219ffff0393cc11d8b57ddc896d3e3ca78ed1336fd8f6476eecd05be2100b8705af30cddc0317801ecfb580461e2ba74ecee0209f1d71534efa8db0d50d83997e02d40c7fe203ae559de284e35aa800aa701bdc0faecb5e0760bb3faf107c485ba9308a23d2e603ade8593777b8feffc713bfc5f26fa92b36da342d87aea4a84754ca46635eae5303f987238ba41b0211351044a0ca623a35572545c11fed08e768b6ad51d42dafe603171057532803954f8e58fb5108ce03cfec9fa6b2b1d6416dcc05a548649ec79003635955122f5188fea975110b564f13b9c50a3d926025d205e1dd040eba6b56bb00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8053113315e390f3742f04d0f207fda973d231f8dd005820036d51de518e812e4cac847b55234f7aa3ef9e2ad362cfbd7869d1a94715bf2041010058200322abbf17a2c704dee239a385a347f25a52aa276676277d6743429ba5cbe4b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219122003bb3977d40bd66a3606039fb0cc57d8610c134e226b95809cec3db59d53ac3fec03ab14b007a8a4cf16e006115242813f143fb9c30ac53a8d7c30f9c99def3fcfd4031123f86f7c9b2499fc3958c52060fd3594cc313c589389ee4742aec7a2d75d1e039e3af01245d144977d10c0e5aca4d417f34bb20c59b37b06a5d3ddbce6f80f2403b9ec07d773d02e8c3948f8d6bb7a6eb2c2f4e46becd9f5160b1026c3a7059555031acca8e317e05a98ec7f4485c33b0f36d24701197c06f2f0930117f3956efd2a034cfcf9bfff4dd268e112d27ceb894aecdb1c37b096f040ceb86197e6f60ff42103cd6218af4288e7086158222c08f92786dc28968ad9e683162eb536bd4d26a5f10219bfff03b6102b333ba9de53a4fc6799337616b664748f57a243a40925e47846302068a503f30a1ad072ff5a95ffc2e77b99518f90277ca9ad2cb283d2d35cf5aede7901a103001a6c3c405069bc51ae79219d45baecb335aac7a7c35e4231aaffc964d15ea003b08cb9f587fb72241bd681a1544f442d9bdb4cda66aba9931fc89a9f759a8339031c970f0d6db2f2ed6cea03c981be46cf8aeb1d41608d6bab35f3b42bdb6308f2036ebb0369f9c0704bc87e520ffd29d6acbcaa17d3e0df205d811c5807a3a7990b03f8cd97c8460351626607ff3295a4ce82441897e86fe39ab67de9705a2bbb799b03494df7f4efab100e52d7b085d4e8ff3e64e2b15c4fd43d0c7cd43ce49612c5a803d4fa300b8601e231af273fbd3479b471de6fab4be3e2bf636d53f2d2a640d95d03367d9a3934c3ef2692a6cdfdaa22545f9644f436fca4b9b9f40de084d5d7e07c0058200244e74729d5f4cc574348b4df2a89fc898d62a91ddf0d8c3e988c95d8fd21ad460fb305ce36bc03cb4190dfa6c1ab652bea3989466b35b24cf0b3d2f2e933424c69f9e465cb4e2e03b51f98b1c1b47b8d961958e0c1a5d8d64148000a0a13827f5bf9f5c52ccbfb6c038cc3b1cd99ed89a8c07fd4a6930acc9d91da0794f2866ad3cc7def2cd44b1db503007bc34c11a40f06b85a1078dda8bdb14471a5f5a09b2b67562806669ac31bbf00582003323464f15cd932b013f9a23a7ded8a0b9a13bf6931db6df5d859e3ddc65c005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d4ed8b185c5c40795a2e188ea9b9ca0b764c9df7a3fdf4b0c508d531ecc4905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0280dce58cd522f6de02066246a820ff6cca3d0ad1702628dbcf37d329e80b410100581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c74101021902400218460219ffff0371ce85fb07d98ce16ca88c54fd1840ea4745848e8f9fb6bb7449a14e1fefab7a03c4835cdb8f7f668247154c37153f9e051498f6d5c40db0928af39c73df2fa41303dfb4756bb04cb424e13a3c3f46b170311d8346121660abe022997ae8090a5dda005820037cdb02688f4f889d93f22627d867183aa13d7c54d6bec5f87a0b07015097b04101005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058206687c6bf0000000000006f6db6bc8619989900000000046b38af6f77e0f9dc620219a000005820027eccf54699d3000109c0746e0838cbf5935c66c2e6f6face1acf93e23e7f3b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002b1ce1e54e145ab4ff67817dcf15de9232f462338f69523779f030f1011b8da4101005820038b91145352cf258d0b49fa8fd0abb968000b9619694194059fbe3f42b25d104101005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05492d6c1e31e14520e676a687f0a93788b716beff5021830033b69096bcfcfa37f504435f9fb4d8aae8f93683ffb2b061013451d94c1f54dad03dda98cd4ac50ac837f7a1c8a3e71e3eaa3a5b8b433afb9fb935aa9c765fb78c303f86d97df13457a224991d520388464a0a42a66e20eabff72ccaaae84ed8de0c400582002c9ebdf81ccace1bacd0ce43f2949c189d801378f2cfcf06bc693b8aaa4e4625820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820023921fe33de8ac1e7e2567f3c818bf87879865aec2ea7c8dc09fd3bb6b63ba641010374ea95c3c68484fecb8bfcb3ca500181d68c1a8a7a8d9df955f78e5fc8a3419000582002e1f8f57911af7c5862e3709e087cc423f0aa2da3660003d3b9e9c3557872054cfffffffec0eefc6b1d9f84d40058200272c68158d121d54ba2d4148c52a516f885ad040e5afcb58a3da560e5bb26db5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c9b3f2c2d06207b3e6db7c47c58359789617aa2210a8d10e33ff90d4c377a26f0219fffd0219ffff05581d02b3ab4efb614cae876a25a2a805d2eca7ec703ca5e1a9336be173c80e070119237705581d023541b7c49f7a6e2b316c799a805c7fc4da6314b57cb02d42f9dd8109040605581d02113671d7d46398caf0c07bb6232f426dc1df2f82a5bf01cc7244a6ce040205581d02dbaa6e439abcfe8051b485ccfaebfeda135a355314acd638df6564ed04040219290103d6e628e7361390a6be264dc53dbb89d7d4179a60e1c7f1245318ca1ddd2ed83c035c53e211d52b4b00ec10b8ce64fdfda06e4f6f2623b37625f468d8a5e397d62f0219bed0037d906278caa4e5b95b76efc9d87c0bee86c3bf16dc12d5fdbb54dfb6e5b3a50e03d7f36ea513eaf6ad492311f8e59e6847e9cafa3be6bede88b4b13f72fc0bf107030fe1021071698b105b6f7fee38fc5966c2d93f67c1d51c83c9074af7d568e94303be4c6c5925cfac5c7ae3a0b3f5f9764dd32f3acc68ad25b0276f27c0e32e29450389713aeb506071fee8d88df2680cc6e15ef3518373a926f7fbd6486eac7bec25038b5a30b72e76252336f74a1253a4db3d0fdf7874e4438a0ebe4a152757c044fe03d394c424e3db4fa8fa10ed69f4c4e4b87e453b9d9188fe045d6538c8f202904703e971d6945ac212ee312492bcd241e6dc4ea497756f62aee7dab08310be22c7110219ffff03a1885a1f282455e8e3201a8cc6fbdac33a35608811e2650029676908a1802a9903dc584e2a514699c507f9c1729ae2f296f43bf1aa042a623d92c05a2c171966430370a238dd637b6c1400ab57fd68aea58f455189e8b846e211e105882cefba0bbe03efa673b0a8725dd16b302099dbb8aec0092d0bc5624bed68d763d6847bbf4f15038c124bdf4f0bd2066051adc54f56c15f46365e6459df5cb96cc48a93c13e05c5037f086bf9f5c689064fa92ab300720fed6b5774356e6a1247e611ad781f53e57403c238e3908ce061d9cd1ab78732688b9da991a23fa6ec2c7e6e5f18ebfcf1a71a036549d14662c34183580ab5a41bd16ca9f55d3548c21ede0cb1c16cf2fad825ca03a997601d8d0422c9e1fe06ce041e316c9f5f31cb6499b6aef901cfc63eefc43e0219ffff03d65bb7861e5bde78c413a4cf90959c151706af7beedcf2db35dccf1fc9bf54dd039e06edc151a3d56c81489b29c4adb96e667dda5847dcce6b70ef03c7703d3f1d03500262f4ad54168ccc2ee5bfdf9b5ce8470d435b01ffdcfd0bc96ef1d6cdc6fa031653772a7ea005995da919c56405992cedf2da620848c379804098baf14c619303647daca06650e6bd5fe6c37a8b8f6ff4712513d9a865a6d2ed33dc097dd0b11f03b5a385d78baca3e969203d151c11ff9aa585071f34afc986fe2e9acf2d0b5d4303562228a5cd4e5ebf6d093c88e41b50f482f7c0008416adfa7c93ff829305946d0342e72167ca880ad14f4fac2934d4d731d20480ac6e86cfecf9759825305eff5203e97fe2d1055083cf4e2578f8154e2871c0f7eaf034eea2ad3e5df787bdb7ca250219ffff03e07c574e74688da404ce270d05534ad1f87d6759642f8a5116c2e4faba09fc650339ddb5afe3076b5e1ead06693798ffa5de00f33eee8b9ab96e8fd0a8ead3433f0219ffff031d55d4ff9e71cac2d68fb6d9d6bb5ec416fe66ccb9af03621f8545ef19c65d1303e763dd9b6061eb5d2608094cd108e03e4ce3e7fdf5d2415f301c6be496c31542039aa1b09cc6ba1503b3c5536f2735825595c504a9106ed01e53bb1e60312eabef03b7d576559596f1c6989fd4cbb2aa4163103dd028ecdd1b3fc6b6191d6a00c5e0035106d30c5f4e1ef3618eaf6d293c4996d9b31e93c0087302d9e4c2e9c3f4b76f038a20aad84959fb5b205504008219481f0b91556ced753891016850f734ea37e9030e86ef10379ca8eba2ebf66dc15925ebf137976ad4cddf3910c2e8c2923e925b0368fbaf01e8f35a37515ad1b03c55e8ea7b6968ba510e846e0fd205024f6ea13803ad14891bebe4018c03bb6ccd59999cf141843bd3bc4aee9a861973b53807aaba03ea95517fc8b68d9af6e4e120af321519dc17f75333b970924ec34166217275cb03b313238f8b5df7dddc9568c3da7bf80d599b0440079e00819b3c7765175e26d103bb08f98d420c14a448e8d89cc8eda714e99e39381c7a1162975bdc3ba9406c290311129f1f40b5aa7740675053306cd59b893bd47241b1b468192119a863324acd03cd7c9815a81b7edc3b80d8481badf92ddc1d7ea12a7189fdc30311fe402119a1035816b41d68393ad79cfa1abed1286b6fcc5100532278ad7ea6713f3f27422d81036e8d14e77ec6b931483acfde2e4417a19a89d5f0208990e3b1f5fec38e0380c30340cd5c9a4bb21843ab9a61123037f60120f91ece631744befc7ea84da5177bb103b26f0ff5c6b1078f1051e86793e2e121ae09e5ae76ed407a76db4db85832cc9c037b640cbf3d697c35817367cc576fbcd3fa126401a6829d453521f47f121d3da703970e14134fb41bf00e1b1fa8268bd0e7fd0245150ffd06308aa672270bae4a8e03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e033077ec7c322278a3e5027ba04f34e9e00c84feda814e4326becc9c0e9007011bffffffffffffffff033780095910ce1323940d427843e0e6e0bf3fbbd1976d0fc01f99cab92deff52605581e0391f00d8a02e155dfd5bd6920910d6c5ae819bd5035b58b426e8ef2dae00c014618c3aaed0f4003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03ff201a6fb788206d42e17e72d49e623f09ea0fdb0b5dc102f241a5d32007011bffffffffffffffff05581e03b83c645e6322c2b167069d672cf5f2d9781c9d558a4e764189efb113d0040205581e0345fdf7507b649f81a56b6bf32023e09aa6e8167e30f300e355548b72a00c0146f1534871d80005581e0313ac001a0f6d6f337808fdbffca833b28dbbb2217a199811c4e51bcba00c0647013910257dc4d003abf67cefb54dbc3a3ac23d7e4f112b9dd4e9c712e209d7e26d47657ba147f26a05581d02e0b4cc880cc1ff12b755e98f5f5b2fc0d28679fedb6d5a94850677fa0c024502540be400031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d028ed50b5a07ed52356ec4e0fe4baa34cad3eb9b4ef20c471536b3d93507011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630498e439c051a6be21be80058210371828103cd7b7e79260fb69d205827d88360b2993e642fa3c3c7bc02354f34305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002e969c467e6867d0f1221ae89982d864ddeb3317dceef75d598ed915c53a2105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4d14db8fd0b9db47c51bfd250d7002194400005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab049016c32334043a38a7a0219014000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820c9069a99fda4e962844920e8faa95dbce54d5a49800d0286c30fb18ec3e6c9ef005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8521b1717cc6aeef9e94f5d2e5d48941f2d668402184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd00498cd769d1da283e8d8600582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687dae700000000000037701ad6abedb32b00000001704fe11a2e66250e89460058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f545d3e8fca236461a159c93fe62b572444805869d30218480219f46505581d02c3fca4171604dd66f555928558c85523d0cc66850e6dd6a6d01150cb0701192c1d021948200316a48927fa265b7c72108bcb5c6a48468abc8f7bccee489b87474ce6650c33a205581e03b65c785c8fa8e057ad2c833f95961316306b904e67004be331cd2ee9e0040105581e03c37b96321dfd1d40b57b10ad9e4aed74eccac335222f4d36258c6064500c19017246c7b3ac72f12805581e034ddbf91d385bab760534949c3f0724147ba2e13dc791332e1313a1b5100c0146024abbb470000219f7df033962f2f36e3cec1c59fb60aead1da01100925b5fcb0b589d87afde1e8f75ec5903a9fec770b707b36cee0460ce9c57faf1145dbf7fa86f3e94403ebe08962a7903035ab894bf52b6d043994cf9a9cec5855eec14532182c7d0b076ee68aab8ce97810316ba1dc791fabf9025e2dcbab5e4881a00bb572a17a2cc6e1e05afb6c681dbcf03805c3646ea917d1a46c94f9f4f1d9e2ffd9b18fdc25938b23fd0e0c4d3ab08a60219ffff03d0455e8f7d4b45b09d15e4e1fa625a4555dabee83472c09afc1338a8ec52360e0329c3b875686e4dcdb4b22d760a998ba3d5ab325edc2005bd5535fa1a6409470b03674ed9dabad97a6244bd07909e9361e3d20b39097bb999e5e3df38d4f113481103158f47d03fdb15996aaf3519ffdd38ccdf52d954c4868414e53135bf6eb47e65035486b52ed4ec8a557a0fcd02d294f6f741deb50280ec3625d15069fc9ee57eea03af9ddf07bae181eeac0ac7249107751b52530559c9a066c046378865e9a2333103d19051dcc014200326d0f1119b8da323574ea19b115b6da71b6ae24e5313e1a103c6e39ee9fa1a1931af3e15644a558723b50575fd74fcf26bec7be19936d16118039d56639672945d79e9cc046055502f6f300f6049e05791fdef58c8ab6879e9ed0357bf059fc603ccf317b662786899f2151c40c8d59e017b3df701252f05f3af9a037614457dac56f225ecdf73b8bc6dc5d6f180a5a8c6ed1bca99c386aa214e595f031ccaafaf7c4066df7cf25e6d9f0c9fa8ba7225bc38804bf1a60f54c93ddf022103e520fd85e1759ca14571664e2a44988c9f1514242b6d33171e6110072e93d5110377246b827f68a4ad772e141552c375de6415c43e4fa410ee90e8e97739834e2003930daafca976b08f04be010efd4e8da8320d05433fbc743be65ab1bb598419ba0219ffff030c4d2fcac7caf50c91d83f290e626c29a2a8d00713cfa730c5f5da14645281210354046f179b4248424e790fb0ee57f5bd75554c0de98d988377f0f5dfe6c2bd8c0331895c4964bac463bcae148c7b8efb4951769fe9abaa9de79577e44bcd00f409030d738b92e83ded4ad1e63498fda7bd7c23a25bd97dd2b91234f8f15f09fa2e6503433859f694239a4b58ba37542709cc90e92da0ed5fa3ed9e12b144a75f563f0a039c25437a567167952745b9b0918db6942f745a1b2a45bdd4b9c8cdb1f8761c8f0392b93de7b85d01bf038c1f6d8f88cbecf1f6597ab19200e8195d7eb5a25df3490219ffff037ca0111f417da9504604dc7afa59de884aca7ac09ac84a68449019bc711e76fb03a2956d296afd75c36c96196d413d52fce1ac9badcb4418dc75f7b7572d3aee240365d77f31f5f72d81d425c635bdf5e147b9b917cdd6cb502bf17d0051850d2cd30357c502e2ca8d3e4f4120ee12b3513f98f3c92dd0134bd83eb903bceae7b36146036451bdd75870980f9a69793a36c3e552d822bbf4c970c71da11f20cf16fae0bd038f39b1331dcca30586b335c1d8b5ef38fe89b7ebe1e52a5c751edd42fa5ba3eb0349bd1e7bae654fd4476df14f48ab2a8e93c57d8093805d88e11377d62ad0ef0a0347a26bebd40cd652b22dd9986d6d2dd5dbc7b1ab6c2ec404a2d8fa3770338ab1030e69264066add58870cd30b1754b76e28383ec878f61184da9fa4975c2fabf6d03b074115d1c994fff768a0e603872c8ede660a2b513bc32cc5cdd5a2ab5f111fe03ff05b1dce5d2980e419fb4477250767fb7de2f229b38853e07d500493597dbed037ae5cc9f2e615013f94b88555a1eacf77f1242cde94d9e68c4bd62e38676439203cdb216316b5be466bf0e16a5dffdc5200d8d65d487bd4fe77e43362fdaeab4c1033ce143944057cb3a5f8aa599de4d71096e123a1084f58a0bf0794ead7cff16df0219ffff03cac22b629fe996660408e8e1bf82672aa410d92421ed04255000fbba72ba074b033e2a146157b3a8f8cd3da8a17c0c2f892490a249edc7dc3b54c64b13b2976c3803432a5289b9fc637665c72d500245ad694318c10d83bf4b5626634f2548dfed8d03677a5ed468262545bd533d752f2cabdf6e6490b7300e63199cc3b4836d712d6b037a1da6a13093f857d3cd6a8b5d2bf3fa0c04b66cb4d44652ae427865229813ec037234ca069f3ce69b9d9a8380de88a8412b7c246f5a806bb034a82725ec25885f03944c013a6bcbce3c49e53bf833e964462ab4b05eee9c1757823f7847b13328d103390a41db3aef119f7cac1b5e45b8344a7f6e7714f7d07008afedc31d473eb2e5037e488dc2ed353f538b1ceb874e42e80ab0cc6775e0a91396124a65d295dccc2303e1774cf35bb1c2faf4771c9afec09ec9c5444caa2d5f76a77bee293347f85b9d03a9e7dce201ac87e78ed620ccd933276b4df7582dd5a9c2a12f0fb303f3b21282032a49ab81773c0f69b249599f1999953199158691f8b28d970b11f4084fa01139038ac394a60f7f392cd2c1b576aa0f4184b4802dd5b24c811111205a5564fc6a130303c63918e4f59813c9e915ee6d784147f0bd7ccc62856bbb5523f8f0ba2e4f4303f9c1abc4ad4a8d2bdd7a82fbf29a812ac00e4b2b6a9c8809b36a60562a25e03603753f3d29fc75c3abd05792a103d30d83a3765dbc6fe361c5b4c92b6b7ee1fd0703994e238f1565c38f3b1964b75439356964179e7eecbcb2b5bfce6730940ea766030736691f89634a05e8d068d55601ad34f62fde3f9605fe10ca70206c294f0e7e0372f82c032d6e3e48bad2cd29953a1584c1175604389ec6d76b9156454b5dd28003a61179fc3af20b297c6855231907957c2682f86df16413bc9ac65ef7c09875bb036e37d4289612aaf6a976167558281224bb6cf19c5dde9f3f29e318a4de9bae1c03df25bd9909af1af32bbbdbf2715a0b0eb4d3d9221925e24b2c45b4224a3f203a030b84aee8ef806855b5409b82992135fb526f265358204107c11f07969cf8ba4703c851a03304aaaea3f539feb563a5f6e68b6f6ae18f221dc24e58ba58bc702b6d0335551a33c6946132f328624ad488435dd091e52f85871c16c1600158fccf5239030e6c9088985c73a461b9ac9479ad917a5abee87ebdfbce6230022ac265bba63405581e034d8a4491a927f65267672c55167c6c9665b5e248403810070e248d111007011bffffffffffffffff039d1bd6d4e9f3f3012a9920a61539861b25a19c5ba9a5b75cd6428ca927878dc105581e03dc8e377099aab92ee7977ad2779c8a5581b76fb68d28b129b9f3d6dde0040605581e0339ae9103f96dbebec45f65ff9e67266af8185d1c45abff6fdfabb600b00c0347a376e5662d045b05581d02f2f03cadf8c2b6420b814ac77c1be10a2816bd58c275a41f4e2d05260c0b47c652a1415fa6fe05581d02129a4933d67819b72296e89d143002cabfd25860e808863dc460fb3004182402192002035ae8438cda8a8ee967f2ccee23988d362f9f8ca4a15d9070c60b5037306dfa7a05581e03610c93ddef01c1ebc63cb69ee5ab3b3279dda99ef6ba92f654963c4bf0040305581e03c01a03cbfa880865644ff797ce2076366fb6e29b31ae701ddf21240200040305581e0388c2406a54916fe7c597caf851e22ee927f19064ac906e2ab7ddd6b650040103853504047661415ff064d68cd909e2654d8f24c6a66f0acf45fdd6a85db2f0cd021957b60355a3a8e0ce9b98dc44f3700bbe3f5facdef832217204b61b6583c0900cc9abcd034b48619a6a4072a4f43b98b9453d9c5b6742920c22108c87d8472f1b9ed60156035ec743d2ce3708ea8dee68a0f569cb0177c3cf942746c32d5598cfe02114ad400301b7110bf76d1fd8c891c719e4d002fdafdfaf12c9e4ea24944abf572542781003c72836ca1f3b672af09a79f38a039a39d8dfd7df378075a3834713a789ffde6703a9fdd3388b12ae73df757528371d6a94dc0f3e3f1c22cd720b1c488f8669b58403de89a675f019d2020005365271e1db2a001656abfb15db37f102cfbcf71b4a470219ffff038fbdfb55de03d78251fb00c867fe789f6177a4d24ba642bc3c285ad2159641d3035b735f819c8ed7e960a7179b00455ed25f6c58032899e241935e6a85be9073d703c91eeb159d05a95e5b799ba93051bc4213e204b6e78c341f220c19f88eaf7b320333d4ada9a80bbc6b1f1b38eecd7911f1957250cba776c6dc79b7c43a267f892f03e944ebf368f939588f5d438199c328c78a6e024eb9647bd54dfcda6c4490505603a1a8c8c739eaf674efb8fb21c27cafc3e4f51198e2ce836eb66b122fb8c7f8e303461c6d24d7c8508977f47f401df2a17401c863830e9ebe147bc1df0da7ff1a04036b0f06750c339cba4e5fd22c36927a7caae5a9ef0ad55cc5738901b00266e4cf03d9bda87c9cc19bbc9fd7edefd98025ad9ee090d1afaf957ed4ef9375e4a4254003b12d3624085d814678f76433369936fad1dc252363bc5dc469fb8c282fdf241103af480fc44b50f383379009526ef2253735e6b8b33948ea3d43c8a80daef8cdde034762c7e9d310e257c2742cc0999a10b121a95e02f8cc76d2776971fcd297ff3f0219ffff037f0d60e7427e378353e8021facea0f77f61ca75df94177efbc0448cafd2160430392b35168d448e07bed98d3d9286c7806dd2da3a6f7baa716b15e137f7e14485f03811c542084fe6573a5b0b9b6b64db69aefd44e76975e53f19096ab82d7b498060319d174a8c59a207fa260fd885520bff1ca8714bf66ca96208d7cef9c74c648bc03cd9d75a945e6d8fb3cbed7c28d6fd9e6e120e680dd9769180dd0b1a114a91cb90219ffff03df3274101e9506f9ed439184d1c3d0acf2436d3614e7a697ddf04e480ea9293e030a5f5a388e3488ec6165da4e2164639f7b0a2f31c5d1b9d74f8ca926953b2201031ca744a2e8c8c88e0c552e7f3a1feadf9b50d55e0162b39b51cdacc66586fcbb0330a52e4b6686f2fda1ad5614f3b3ff20aabcb51d2624887368828bb8d5d223cd037f303c5a5810a6bbfda36e01fccf3a7ba1f65bd7bbc88bb244b2998c24659d3d0327915079fdcda932ebd264e7e5fc36076e9c03664616522ea8a098e9b133fae10304c2065f2fe850204bcbd4fb94a762c69436cb4daf9427854cb271c30568bf53030cfed170aa8c1ab7d925b3dbe108d245624230404b9c92edc783e59575e2eaa503686a1d57c3d5eeb553c1eae421051be1e7c32d7801dfbebd5ff5bf7b3d6c5d6a03dd16df95adcbf11329cc7248004b22324a7ba8e620092d5e894662765f6e547e039218552ad0daa94a54b797c94c779de3ed55e54f4b94c757f06268c79d3dde4603c99967e4c4c41d33bfa4fa79863b32c1e08a831ab62313ae5f6e87aae7b7be3903b43195b279651823ba99298b9291117a887bc87b947232becd23ab0bc441959403c0debaba20610c787808a73ad9b046cda04436f4dca7bdc9fa91592d0e13a870033d772a5fb1ba0260a5c43d3f7423d5909a738018b19bab487fd7390138fd879903b47cc19aede5cdab0dab229f4427fd8e399161f39e2a5339fceac1b901a07dfa05581e036c174f248d17e5dce5a0af84e7fbe5d7595ab8e9f7126e62c0b2eed6d00c0146566e4e11407d05581e03c0fd549c005bd1cbe53d54c63d13f74f4846a2e39c6ddda1d4425567300c01467464402edd7805581d0279e0f839ec61d544428bc5c0be892528661e37b7df1726f34686a7600c024702bd79d7af2ad805581d020fffb5c21b6c3b469ae912dca19e97c18bc3b55baf1fdbc93c2485f90c094806868be11865740002182403b8fb722d917ee8875132a95bf4373496c677594b238018faa8af66bcbd1bfcf705581e0395c6a9aa248230a189cdff1a3683dc6a9b68c60b4120bd385e6fc169d00c0245012a05f20005581e03e11d9939be28db6b82d96242ec3c2f0467ff7495e949f0fdb25dae3c200c044601367858030c03b495c0340275074860094a0b43f3d60b88893d38272b695fff04987d12f2c62703a7631eb7b8a213cec2a262b532adc34a71b682867fdf7c9bb2be02339596bce505581e03391fe4b864f94de9b79c748fedfb8977968b40f998d365f8c91869b240041904e403337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba039a7f77edd132b8eee53d8bfd70a184c8b2e7452dd57aafc9e2ab9160ee94089f05581e03dc845cc29dcd343849ca91cc11170c064fdb4b8a4620771166a3b5ff5007011bffffffffffffffff0219b7cc037359c9977ec368a1838b39d7abe22f232a2bff9cb3bf2bd3216c00342253892603216ccb5b958628b159eefbe4576b20783301fc50207fabc2cfaf5e9991c768fd030d2fb6d733a020755e99c4888a9204b9824d7f1ac85bc824939d785f5eb88c13038a9a422ad77be772b555927c4028c9e81428b9dadf1d9f5ef1fcd5cef9eed6a90219ffff0383610cceba2fda8a5e69bc65e4d8c266092d2984edfc32462b2ac2b09faae3f203e41c6a101b9adf639ade37a228436cbdc926818c2140f170f3c85ef7c5c7d8fc0361712af46aace3e0fcfee4d03403f730a6c4cae77fcf1f5b77f0428856b7a79b03f092026710e724b4fe84b4b98b494bbb887f683b2f8fdd3a6bd514d4f08613ee0377cc1c1e6e91f005980854abbd8ca48c442252cc20fb9b222061a196b23515c803e4f18e316bacf782037d7b2d3b950c6b6b5731fb856d83c6ed5893f90979f33f0346d5468e2cb59f2580154e001ee69700b07d8d67e5a3184cba79ced9c7ef098803fe1dec3018967c18be05f9e4a8c87c515db2352ae0e5c248a33b01ee1f41907e03372f2530407a163efc5c198e66cd12a6241c30225f0d081034692586657d41f703036738a2f100c12d8205041a9fc5fd387220c9e821abb3862fe21d7a831c0fbd03bab1ab0ba0d75b4b6c9abdbcfa3c203d8132732d2aaaa41faa9119cc07408eda039ed4d128d73c5b0c9e22407b2edfa727d25f8720b3a88cdb2a7805335478924f03384c67d648aea0173b6e60193952531e98711abcd850187bc5a5e09c7d17e2fc030bf511c5569694aafea10bd4d646fb050364d078f558d75952ca3bd9dfd5855803916186252ef45e536566d71161386b502e6e1c265c9a5c5a6c91d90c03721d640219ffff03ae174636b2811fa01cd75115acc4f1a2d74f74a7e368f1e909c09da24fed314b0316364d3f7892b19775d583c8c8efef3acc984433514955c8f497434db78d5c860324577d4cbed16368e5dd637d1ee9063ac281d98dd277e37341bd335f89073cd0033c4aba0f55083073c9973074f8caf13edc68fbbd0f8961a4f52dfea2937648e10377f938f83b8bc88466ed4745c33801ab7218ecae208cbca0936a492f4eca688b033e9f0ee302b8bc8e4ac65a28c26a963a1400688e895fe594f49a8c69ef3684fc03ecbe8f339baee48e5c65e34e685c0cee40c9b9c722f924eeb8c20fec9a38aa09034977f15755942f8c826f261a631aa7ea935b49e924ab5cadc9e6700c28bc8ef70394269c1c71a28674195d81b0c3398de20f9c03f2c5602d839db57fee6a42a5010388895a8ba453f9edb37273a37ca8c24097d7bbfb40f39a3f1888a196d627290c036e5b7a760c39d867a69c5a836548de3353b3e49c079667afe9430a9b18a5881903070252c4d71b6c0f3c7b5605272272adde8f2f646ef8dfc6635d2ffab6ccf14d0377a980f7ef8646bb0e8162f6e25594d9b06aefbc632fd32cedf44a739fc9f4370219ffff0366e0e0f15ded19a3716085f7a3ce87c7d55fb27f526c36a5b9d3068cb5d82caa0312acd6677b8ec6d3f04ba973e9b2b1cab2abb0656a609b68d5846f70a072b4e8036d848e015f4c4504ad3d19216bf3fe6ec0aef9867bd58138a6632be83b1b62c703b0a4ebc056cdd4c5e27daf16ded8656e3f6ff9dba97efd71d56ac67191bd0158035160311dd6ef494ea46aee291027b73a9dcacfe2549ba80d97c1e5fc77124428032f2d0a04fba6040b7a9c1cd1a464a3abe9197f98e4a2f8c60b32023233fe719a03b2face9dd04f2d820425d1e46e5b6990ee41113ebad344cdca44c5fe9b47f71803795e01b3e9d9bfeb278e0e2f2d2377472e01409fe3211a72c25a7479f7e4c1d20219ffff03a8e325d1851dac6fe4ff2b7b8d57f124b0b4bc3a9291f35065a2c853a4f747a60305ea190ae531f590e97e61dfaab0b2b5cd90ce5a4a84911e2a85965c84977ec7038337125407342784388500514700767c98ca7a77c852a42344073724735a41960322d25df38e4da82ea4ea8a01b39bdedda0e3d6f42813ace730b8de6f4a8b7277039c9038db7b3f020d01f65e27dea2079571d37ef1e7f3acb289b68fdce9bda7bd0357fce096500c4acdb817bdcea7045febe8293eb84560b0cf286ab3d738236fe8032b8908283e1207316637c41533a906dbd854c6190e10691a278d33072c250bb503927dd1f5559cfdcbf1d6c3abeae37b6eb15aa73a693b6ff30848162feed03c15034d2cb4be1adc06381f9a23774be2102fbdd24a7247432d0cedfc9278b48f047d03aae7017c658ede3aef0793f32b159de5011d0d747d61f827c315a6def679e08205581e031f8f2b4fdaffc16f9625754ce0c296adeec5148dc12026243203d12f20040105581e0326f0f877f91e0dbbd060b5dd8d04b4729cb82d43ca2b87c3cdba6308b00c064732bafca1972d2805581e03bfe85e1acf280c23c9a28dbdcbb33a31f525a8ee646ba44cce5e9a88600c024637292db4a40005581e03e331e1641b43a7191d5a278cb3b530c67412112ef108a8443af844f2500c01478ec7212d41100005581e03f0ee70376883045f9e84e59b1e2dc7d7a002026c7d69786c96b975b9500c06465db29cf86798035878add0e692426a0d6261e8b125d9d049346e0f1f386454aa28afd480bcad0505581e036b74d6618a7e1e2ba8fa0c0a53b8f854b40c21acf02a1f20de5d109580040205581e031e42ce998115138e2090b87b1964b51bff87681c357e12adeb073dc6a0040403ffd1f1bd0fcab4aa03c6ba5be0646b4160d45c16b674c978133ead037bcdad2e01410d035746d89e6172ed95c5f86e59740de99432c837d4fb9603293cfa8cbfdf6de5ab032ce0907b25e3f8212863208fa173c0a81b4c28a050f000696923218867570b7705581e039380909d563f419c0dd9ecbb475cf4e30f3b9b98f561ada43bb7650de0040203d29ab291076d8175ae3a551ab21ee6bce316b5f146bb5a5d8297f08bc4dfe61a0219aff703c8ec6562ce27a00eb47e2bdf6f95143f0592575b62cea4f192ea38fc0eaddd06030a64d933260acff6efd865f533269ce73ccc4593902b4b897c8883ebfe05be3403f59286a83ecff6aafcbc5862dbcf8672b7f2aa789546f09c752286a5b9455b4a03a53d591cf02019120725b17c608f9a4dc7acbbd9975579aa94afbfa68a061857034e69aaeb3a1bd252186fcea6b83b56036b2b4cdeaee31148202ba9cdf42d05ba036557dce9187166910ce83c5cc50118d546ff188c74d28c37884888ba080dba8103c29c7f66128cefd70f9db00647e4cd4ab923315c002fb0f49797da115eadd27a031a6591698284f7acfa93768361db5b8634c1834f1ae5475cf1849b41515995080219ffff033a4f17fff3d5fef21f2212eb9bc8cb6d8b906ad988e4fa3d3dd9261f9b86194803c1e6155faefbf0cbb21784364c666dacfdbcba2bd9cd90d238ccf5542d0d0a600359509d01d290d6e91abcf8ec384c9006492527979bab65519e9b27747ae16f8403cfa430656875cd2938f0f66bfeecc662e5536d1b2a3fb19a605009ef7c1697e803d93ae68255f29c5528cf37f6203711aba0e66641092a2b7f484bd813474749870396123d89322392b73c58b87d2320e9d54bcfa5388a1b632197e655dbb71e6ab7037d447984792ebf7944a3534cbd88aebc19fc56471dd96982bfd268b2f73716cf035488be369ed158de8161b17f9add8b4f227c9bbd81c1e110a4fb05240488b9fa03e1188e85fac93f98ca76cc374f38803512adcaa37f24dae6cf35023540b5e835033daced9e27d8fd370a157b8b2893ca2c6b650415e9421a0e943f217c3419d27103365e1cc04209538d4aa3bdb178676637cf930b0b89f1f5dc92f95bc3feddbc410301df913f091ac676bd81e7b43705b94f4b776813ed8491a6ec3445a12232a8df03976668af84773806addf7b2bbe6da2d2a1d7c806af2110ad80262f2e885f92f00219ffff038cc6246b4813fb759d9fe9e64d65e6f5545bc47c28cd6e415204720ee773e21f03b4b9ad56ec9ee82eee62d79fd892649e3441840845340bc33a4df3b82adf9e0e03c1e5ea350c2283e56cc14498a4d9259ed27874fb4c3736cf35e36605de998b300368d70cc7f0e947c433523530f57a2601707976df5f24f5b9cde20c2c221dea1e030ca11e6952d69b73efc57f35d5e990ef297548c0ba5da4720d88dedd168cce910386b14d34b91a9cbe6751132304d3e14150f72b883a2f26e5bd378a2b45adf60d0386678e8aa87405396a030d30074bcdde1cadefef86a3ddd5c40af617ec35a4bb03c7d25668092d789e75a5557dd24c111d57208f39de88e0693a660a369f9957c703e5445ca58c3cfd4cb2745bfa9c0dfeb573606bdb7f9b6e8b1eccac799831941a0385a3adab188e2822802b51419e1731d8dacfa27abb058b99300594b34038343303de0bfbfdd4e10d8edae1a8d2e2469aab0aba26632ce9cdf8fcacd7ae7ea2104f03951d0496d574a951df2fe40f040f505ae021984229c9a985a72e872c33ae393303d5d8681ee4dc0969d7ba680d06bcddaa2fc72a01a24e22d827a8e74d1ca030f7035fcd27a952d396d729d525e14953e5ad223dfa78140eca26abad2c1cd06e891103cceeba86601c251675d3dc960924abcaf895b9e44abdfa4b9ae2ab25bfb76c6703fad9824d682d7ee29a6ba179660f5275e855b6b88cbcb055a444fe01fab9b70e036413e820397c3db4c2b4e5d3efc5b855b32fa4da1df476bd3e7f452b83dce954036e9f93c4b6893061ea75c82d2de15a00fd898e53aa09f948739d3a3b100ecda3039f47eb3ef0e636681f2504f43335f34e955d95cb0f04a62458279867d7684a4603d18b35627529636ceae57c6dfa679b82e7202e2e21f4d3103718257d12f0899f05581e03398f946ac07ea61131a53fabcb5621cd1f003d20b5e72985dfedbd7980040705581e031b25d1539d51f08fd3537208758e9d86fa64726e0e37747d79a62a77d0084709f25dec41a00005581e03a47f12ae26886b7e377810ecc9ab0873e2ecec0721f0f2958d783ff8900c014703765472791400035a4a4885a73cca92a2f554910aaa416492d8685a1ce5aa83a33f134414d71abb03f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e03c625346f2de1aeada58b06315a408866e4ec41346ba01b9d95f901318007011bffffffffffffffff05581e033e4bd1d11554c0dd396b30e2f99f130c33abeb3fdd07ad0c95a62b4230040205581e03cc0baa08b329ca750644013672b16a8c434d13bf3abfc0eaff9a5cf440040105581e03e348c1383c04eb8f240078eb17d65ba72c661ec5e30244238c5b326160040205581e035fce9cf147c11189fc161a152064b738ca1035f52ced9c8158ff596e200c074709db87f7941d5f05581d03c0fd5b6521d85cd284e54f1d0fbdc474f76991139e831290bc950d50040405581d0368939137816e761f94748309b7769a9b32a334567f56eb76983b3250040102194080014104021965e703df4b647cd5307b06283fead5248aaca7c2070ee95bf0c965d3ca1d265d4f4e4403ddfaf6002b042810528f2340c117c3ba030fa0ad8972f3a07871ff66660c715503264d90da621a1c7eade51cb782292f4388e47db129df2d32401ccb0f408196400300a62173cad2b7d7232a1abbd6ce025531e269cc56a2ad787e57eb17fedbe4910315a0d803388b637f84b62dd6bdef2ecfa539e676c278e979e5d64da7073f7b1c03661a90143ee7b3fe30fcb2ad24b4a825e9d8992448a04cfd54f9035662088db303ef283f82b602b01d0e7026c7fc546b4946e920419fc2fbd6a794e8b4472fdb3003fccb57b40eb55d638ea9361fe5a07ab19a19d0ec8e7a7965ac31f17fec53ed71035f144140673b297d154950fb8506c1e192a1552d74d45af7ea3993aa6a0c3fc103063c19649a61798e968ce65bff94f55d8640e564737bf239690bc9f04721d30603478e45340ff4895f75edef3bea0de7bb65f9cf26bf1cf8ffe6831c47479bf05603a889fdc10b5c33211681fe02b64566c1d7dd6d839a41adf2f7c59b5c937efa640219ffff038d16d29531bef189103a222bd00bd73949887b9cd04397c93b2e3994cb9f11dc03fcecd6166cafed54936980599a4b1a403311d47820d6e601cdbf1000e721c1e70381bda9130fc6c05954d8f60ba594dbd2e9c79a622980e3bd1212b3a839633c030219ffff0355f49531dbaff7194506809460d0d2491cb5071c65198855abb1b3811a34d84a034cf9c6dd310b6d2adfa6a2fd20b2f6b236a084f8f438d60ea0ddbc6921dad8d9034396858e07c1407cab9f651dd9eaff9c9514c3acfe8dd1fd62157683b738232e034cb66eb2381da4597036c70d6333da7a75f5f97ad30170518614a4cbe2c5dd460350721deae20a58f4670d0f9003b635565579eef3b9daf61f9d318422897e1abd03fd1b94e077a78f8270eeeaec9fa7821ef5486bf0f1351d13995d4f36810094b303a9c0d6f9ffd9c8a2cee012a6b5060ebb81b2b08fc65d2694e079f279c8a0156b0316ba1ff13d5a35fba064ddf9317c936a6853ffbecfb534d54be00be5743e2afe0219ffff03b9707e3ab8feafafd7275f0ad3bdac301be470f4a2539f1d0d6a02748b64365b03c25cc0c19056e800ea427c5c914241f75e4ba57a647986de72645ef4eb97e38b038aa1515b314646f9370ab2fbcd4d0fd68cfdc83262af838f626ec105c16df58c0373c496408d9dad4b7368768dae02bcf453294f481e8a698798d2c4a3c773c56703efd5d00ff9008418b8fb4f9d3b72f2ceec4f096375695997bf8e56f8cf41cc7403a2fd9f244f3cb874491c743e484160caf2efdbd4bd5a807a02cd74dc1024e99f03d26f5e326213659eadc6f57d29a440f7c1b04e321cda7bf4da3612cd81b945c203949babfb9bf6cb441f9d8cd762bef0f9a4ca54274cce1ebc622b2ffd6b16296303fcf8fbd88147ef09a512201f45d53212b0507ff47a28d3fde2fa0875858e3af003ca6a068bb8a27f5a0d1c86ed48a95831ec7c649e6c2fd1c95503a49984017fb603c6ae9cf761be3818e565626adbca921a3760096224f4e7673a88a5631aaaeb1c0350ef847bf4a6d69b2f1fdcea7e24531a09759147ca9624f4dcf1d18b8436477f030cb72d7621aa3df3c8a0ffb537e1c1cd5bf19c462e12ebf28deda89fc47d475003cd417835f3ad1e37fd3112131e53cea5b1daba036ef03845f58030b665cd123a0341bf3dc65c1ea5c9fc450bdab463666b004619af5ddc58f080e7bb732bac59ab03b70a57328b4872dddda442abd6ccc60f560f0364e5b213fc03ea607cfe1badb1037a04010b16106748bc795f95fe0fbb04b72f632159570da201845ace94fadc7b03d712f533c0cec1d04da9e7753350af57f641f22f629dd587305f078c52a4f3b1032aebd2cd679d461cdff094986e7bbe7538534d71e1ae2848d4fb8fbe0dbac7b003d21a1a6a956c4d3286ab8dbd42732fbed98c2d9c2b5fc87cba2f70cac16ef321033254237598633537e444f0c5496e6bae1911c9d9a8d269931fc2c22ad962c745039b6d4033b5b7b30f40414f5902bf2742f5fa24f00cb74ccaca10b3904db4f20903bd0d09b0ba8c88d80c3078c5800a5b29393a89c2cde37449d77b9e237916608d035218fae6eba8371e61e3caaf92fb5dd72e946b531138cca44ee3cbeb988da8dd034f301f923a3a005bc939d5ec5b4d7b804ed18fd632dac02b4fdc17b6a4a43e5e0321a8c51ea0c62642feb7e36311e2980d3df97caa266fdf1019691355bc5eafcc05581e03fa2c9d2479ecf659ccf2be38842d3da82dd71d75bdaf85cde7e113bf500401031d55a7ebbeab4fec2912905f6c69ffdc311a00f84c48e6a66d71642885a3a1c905581e03abb55f255179d71f363f61a6c698ad98b5f71fc779a5e1da5c38bc2a800c0447a5d82e3919b25303647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0322679df9dceab6a5c6bee317257f4cb639aef73d56ab452f05c7f19c8f69268a05581e03ee24fb815be125af3c5704330beab5216189fa6fb1811b435c2494867007011bffffffffffffffff03c4fd80c6d0d5c2fba478e2619fc57a6b091d739e84be166cc401406410b4ef4501410503eddc9ab76a265658641ace839f1f3753ab92a03b01619f27bec46c47d38b87e7035b9ce9514a9cc295d231c53b016fb366a2c85a2b3ec6549f9473f43a6ef6e66805581e03053115acf13cffed57786a163efdb0d578cfc5291530572590c24e87a0040603dc2e2bd7ccdde0ab51f6d14d0c2f907c3182e8b6bb58b42bb2e25bbda4165127021976470330ceb38eff1e01f7c72a919ed535ab79812c48c9bd82ffa2fdd162fd0c165b1f0375b3e480a996a4438022ee1ccc75ad2c4b5d69e6d92fe01ba5479a9bc88b412603148a9b2d39a1330584d2a5b74c5fc593d20ad15f7f91ac88a700c6e05ccca1a5037ba1c9c9a40d5ab16756f47ea8f7cd3ae0b317109daebdc5fc1a5ff77e74a97203beb1c0647ab0148bfe6b357b33344cb5f501c37302cbba3f37b6a4f28f8fe36b0219ffff03489874f10744b7534c12d4714bfd644d4b7489c00f45e379bf481e294d835618038e528eb620f00d01f5fcd953c92a5332c508e2881bec51600f6efb0e70b5dff3031cecafd14be385af9a28a6a05cb90c42997f36133052f5879b7bf0593610e02c038cdf87f44cd034a790ae43c1de25d0aee2bfc6b0d631212787cce8a3c6c963d503b50fc8f540960bb8a4ec79a32eddec0e8d766d53431561a777ebec0e28847340039ec0e92f52ec49e99a37698247208475da1b7713d1d3d8ef9d8241a4173ff1910219ffff03761fc285e6898a5555d09ab4d990f35cbfa093256652bb71347fa067677e8c1d03c5e015b1eb80a7d3cd463bc84c83e11349eb061d38870763ed616290cc019f05037a829301931ccc2c561f42bcfc0b8f57ddb165e244c9e5ae097af9e49989932103734a894684b362f9288c2f5586817e077d6395729757254dc25497a0b6b33473039a8e454a51fef53b87cb6edbfd34805b52e0e4ded5064d041b8f16251bcb6a0e03d6d7c0a21bf15f9e2164190a0692730c7895aa97da53be55b50180a8e6ed635d03dfe50ca09ac692bec017c6c744013324677c684a7b7b15734c91c15fdf440ad1037cef61ae5473f8015a39637236d354bb73a67a7e11236089b94b70b7e8acd46d03979da2795172f64dd8da64043cc0e24f735d9bbaf17a4498359fb7eeb7c456370324a702df332fc4480789a4ef13dcbd2755897f14e3b7a5f6153ced5939ef3edf0330cb34889896b1538011107916fa046bbd56d748e7f2d64eb119a496c7b0967c0219ffff03bfe5665e541cf9eecd45d52e4e89b88aa7fdc196974fca838170319c1702f2e90340f09b5b35ec2faf951874fc9353fdd5c2164ab0b02894725df53f49e661419403da986f95a8cc823c354c33ee79d5994c91510c7b255ac7115784a3491c14e1f80390d3e241381c409efbc1c9f5fbd3c4555ff6152c0bda9093cc1393c88b9383c1031c8df9030bae9f8e909a4cd5d3924778df74eb919a03e9d194ee3675d177a30303b9dacc1f0c72fb0f3cc34e97d553e8b60891bf7e494d42a43248b53d9030c7770325fac369b3084b213d411fec34451767f4c1dd627ad89c7406c9ab5d43af6fb6031fdbe7e912c7b1509dfea38d97eca7b1f0caad1b481be9ab31bbf1883c5ac80d037838fbab3435fee42fbab95e153a6b53baca6fd6ea7741d887fec770fd21af2b03940affa21a17ee0a66924d20722f8857f8a8e191b281b2d392fa3630dd8999af03f6ff8eece3e351dedf17dc4016cdc7b96f3d471b0087eac5d5a69c9493de72940338b23a1c866422bae38943bf6fd7833876d9c92ffdf2032d00bc6b3aaf2e5e3d034726bb50cc4a4ddbaee2a0a81c8910b6aaa12e056498b928debf73a20f9c98bb03c881eda8907fefdfc88f3b688ee0e10c69b0c3750cd1627c21fab19ceac95510033b3d304ee408e799696ce9a7d91bb15fcc78f4d26bb5b9b778e154c3635801fc03c2ae7d34f6e26a17036a58fc037b2299e06f767dd1777aec71bca887cd1fb5b30319676a7547aa07131404cb4d9729040c7b7a1bacf3d88cc9a5dce3934e2658a00392d6e09c40d3c0d5d5d88e4e7bff424f964d4d5d8e7f873eb92aac761849ad0103212e48fd9cd181d6f7be0325f7f2346dd32c4fa4685e7dcc1b149b8cc1fdd65e031b441f3d83c9b6123b336c53abdc13edf4d4423d55ef09b712c0f24e8562c7ae03e2e3a4228633b535dbc6b51f9ada976604c68210c219dc420af3c59a3d8a6b6f03f5bf8156af2e2136da179d4960d3c3cea3ef0c02a2f26bae84e992f1443a962b03007e37f4d0297e397db6cf8624fd592e73944ade9d54a22ffcc68cfce61a86f4030a08d782ce94d6f9bc62d6f80b53d4017ecd53f9016a9a6f0a3614e540cd5022030dc2c81b89c8f880cb887951ed4d40cca244f5c8609e0b88de7cb26cf6c122e8033ebd0e4afbfe4fcb27bbbff554300926a17b15fa2e085ec08f9cb4b5f5ddf87503bb01dd7bc7c0c69d1d7e82dbcc83e89366550cc0bc99dd52c3ec199105ce3a22039f209f99c9c628b26e53b81ee411db3380870f4e217864a335ac593d4eb657af03ff1145ae1b1f4b60fb4a46483a3bb047982f5303ed8a9c9be493f93c3595d2c303e9f2481a6befdb33f6538136ea8dfae172e0f2e6c7fc0316c6444af95769245903afe8b35a2581c66915c3fc9a81504f0505ffa2653cb4c9f67b4cf8de08d628e903ac2460ec7417837c97151b72cacf14563893fd176ca2c3acc433e656de1be8be038f54569c7a57639b1705bf17620467de93d0ba7f1a4bf107593557c90f76aca803c2ca0b66212291dcd12c90156b47da2b54315c0d9d3bfa13ac361edd892185ea05581e0316b010620d9a8fe8b459185666486cd949c201d635737bde970e8c2fa00c02470ff88b5755240005581e03cf61ce86d6d5a8f690816a816b3274295c95e006e06fb033e8b6f568900c04466edcbde49b9405581e03b7a08ebc5d05befcf403b2f4382be77df9c29ebc5def2852c3eb4646400c0146ef342a226cc80364c5ad5f605f2364a0152b0e53795bb4c402f93c017962fa3cfb16b30333890403362946d137ec3eb77448658d1aa9b956ef30517d9d644cfd97ad0a019226edd305581e030b76cbc819b92af515e3b018417f7d172d04caca127f8653410437f20007011bffffffffffffffff03a59f634dea4f99f7449198d057baabbdf1f6a61119227bd82b17b3f534aecb1703c7e79b0c9a3bbd39d01ef0f0e17855eb396019b06c536834510dfe889d7affb805581e03dcbb32fbe55f7cdb560687fe0f23c7adcd0428751cebfac84556d0f1000c1904ea491bc713e7ed11c5dcd305581e03a203eb2fe080603b43e81a2e52d2b39b1dfa83fcdbd6bd3933547967f00c08473bb57a256f084e0219879d03362320728b7c14093c0aea52748f9716421a1f2698d2571b30d83598b078cfa903e76e9821876bec1e549902a85cdd408d990f2ce129d99d0b829aa0f5ee8a53ca038677717b12b41061e16f54ba46442a49e6b293b1ab61193d523cfdd7160b671e0336aae3d1b6dbd56f9d42ba245a967a970e907a8caf29b8e296149df713696e4203af654de5d297bb43c27feefd8e04ab37c74c5816acc1dde1c29fdbe4fce447f1034b5348bf955ac697738c5e59fa53cf319fde055215351b48d66960b7cb83dc1a03745c6642cf10c7e8270699273baee50b859335d0bcdcc5edd67cc89c920e1a48036a6f30b0837c91a3c8612fc7461ceaa9b8a7e681f8c01e02301843c88f4ad4fe036fa0cbcb716fe7da43c11cb56689460b910f6af586ee343ec0d5f316eb25daef0219ffff0316ad21d5e5037d0f7da064701ad6c4624b0f8c7b0ed86d770e57342885333c22032af6785868237e0fa8b038b8e833a26a308284fa3cc1d99f9f9e45a8303de6a203ef1b1013f0988a65eceea79ffe958c026b753fd4b3ed372a5351150d41459d1a0219ffff03443a4e006ea6450504f82244f654aab54d21a5a92870795c390545113a9b6157038c34fd2cd25735ea6cd03a897a777af85347b1a4425b1121d1636ca8acfcd09403f17ada66abb4172ec46ae2bae0c20ab494609713e282cf3af07ea6b475bb61d203414fbfeeba666b2c4e6a1868f7da5249af99bb7e46dd4f3fa4c3a36cccdea21b03fd34cccaac11b0bb9302d5298f831f31347786d1fb8b1c513f68c4d3dd623c9b03b5de79487298268b7faf951c539fb9caaebd3879e2b2cbd1767f0e5eca17431403fce74fb12908ce90782db5f3d26ab7246605a066deefeb5e9ce7a77d985875aa03067ee468be611a5e6ec67ccb941024dd109868d7fd06473482303834ee40dbf10219ffff0353f61c655f521606445ff2ccc9613da109dc67affb65ae8afed226b3c04a122f0369dd64b4ac73366c332531238675398ce13711f9429c42c9c7c2a781f25da6110219ffff036f8c2102046185af0fc4acc75a306d6e713adb2630693bc461fdc738274c7234030052e5ceecd7a31fc9b736942e911fb82d6707124db337b209b060702b4e9a010385640a6c1fdcf89c6c0a581348855ebec3e1251300ce0f1f11b963c88b328a3203e45954cd37d207227b8ffea2fc0f69485df8522ee3aff466edd50605f285b78003b8add9f75e5ac398ee71c7887613edcda2718542e8d735f4402b8a064351e64903d3e1d1e1073f3220a037d4fe76c72d83708d3c3b771ae160d48033f453922009033e6563bd98a6d074bbb9068608214a51f71eac330eaf7da3acad36624cc7e9c903059e9ecf41f8868f5be7d8bdb1a1d9620678f6d676348e83a3d3718c817164660384e8c5a41351d9c37b07245e36d68bfd512fb41d848be0a4819b7d4558388a1803ffe028a9e218c0ed17938ad736b221acfb9468ca5b9b83e67c45f688654a55dd03782afd0a1b77717996a61f307f7632892a768ed591994c1b2f89d1feb749724103a54ad8f584ba1b784950dba7967a0a28b026e6d73a0a1bbdb7224556b53122fb0367bcdb7b5fbebfdbb9f27358ab97949a2e6e3c545f81ad9f492cdb29aab465b405581e0395aa62f9a401fcd0916a76d9c0809ab249e4d560dac625d42cb98c5c80040305581e039e8ed419d82f03e02d85848a1f8a5a4a6c322d762913f1d8fbf0c77d300c014701dcabc3404c80037510f44527b2322d727dbb0b2bcaefb5d62ddef76373bfd8a617072ab212216005581e037cc064b0ee439d042814e53f6b7223d1c0267a85edf5c5a398d27a5e10040205581e031ceffc22617fa39039f0bc9532aa928f57e413b4218d7fb561e40e90600c0a470258dfd9dfcc9503f4d19efb33b76df9fdb9aa19d9c8297fe1bb299b44d271fd3851b40f95929d5205581d02eda8644a64cec152c58f5aacec93d72fb0bfa705f0473f9043a8357c08410105581d020dc0be7cd1828503a18f54e866c3eb858322737ffc4f95d896aa2ab90c014707d01d828ecc0002190820039ea5ab98644232cb7a88669117c01f21b0a542d09109e8f52c8d82bc8b9c51f7037bdf835bf65e00d4a9db783af858960a9f00915bbf8682f0a4fde54d1e09c4e902197e6e03604d089c54708da1556d65024bd2a0c010948d4660b13286a2079b130389e87f03c48d44841daf095f498da82ec9c7f48e54fa7d6bcbdd93ef6f100529ed99f292036726bf6dd8575853c7f3389acca4a02618d01c96f82157f862fe0887a98d40a3037d90d15c346e1864e8515c068eaaf61770bac0d2b17ba40de0ec5d0f6e334b7003cd408244fac2b3ada187a31c688ec8dbc77edb568654a27cfa31df86511a0abc0372f30553bacd89513ff85215223abbdd9dfe9774ca3cb12157f7c989fd5f01ab037c038681b247afc4fb924d65d3292867f5bc5ecfdc60e134da64d617fbcc2ce303f0bef1704b9efecdc2c397b1e0f4046485bc4994c66f69af0780d50b103f520c0344a264e9dc1b9ae16db4e9b70c333c2ad1b7c2856023f07051dc0945675935330379bb4a1ec91bd525793dc65edf692467b3bafd38c026a9a3848f99d1081ed277033122fd877446678803585be583d262e02648d2702edf6bb9ec8419f4b116250703a14e14b7e60808064e6b539be2f78f20a7b5dbd0eb9640a2e7aa8e9309a55c1b0219ffff03b58a549e3d1d8bb5b39c4e317b4eb8ed48921ede2b37a784a1083f9f77fcd8a30326fa0b947e8ecccdc6a7bf672d815036858ddfdf365607546057df5c3d0096d903b9347e9bc329b9527cf7370d8e0787c7c8b5c7b2b018a754aa942b9c6521fe4303615f72cb906c3f9593b95eef611dc80e5a1cb125a2319692d15a5c9ea5c39f400366165760e07fe823ddf927f50b20dd1d1a8f3c62d73caa4f39dd382bfcceb8d00354fe71d570c2943ff58ef871b5b852be387c961f67d86f60d22da06816c888e103a4a3fe7b09f878f87c22dabddd32cfaab9bb072b397e6c9a5ac72cf8a7a9677d03199edadec6739f665f73638ff88759374488b86f5088e3c5865265581f5d49e6037c3b01f0c2b4e2015d86f2aaa9e36a76f74c3cfc4b2db27ae46a6018cea2b1ce03daf1505122fcdf319a1919af8c9ca93ac2dca3c2287442179ef43c06d7e97b2d03187de777ac3a6c43c8f4558b607d10a4f5f1cf4d6e278cbe2ba317450527a140039ad341ae9428ec4a393136f8626f27821089b0ecd41a37d05d438834dc5bf07903b780e85a0d7b204211200a0002c1d3e4ab635ee373c811883c6b15a1068d5dcf03e48232ba3da2eac8359ac503c5a06b57cfb56cbc90f71c104ccae497ab94d3c7031973a51f4630c4e540d3a75343b1e8d3c78ab2e4a416d9b0eaea6346e40ef1f40219ffff031aaf1929b3ac750514ca1481c7533435cf1ae9aa9ee061cb66566c057f5c63800319d4d4c4cfa880f745a8fbc2654e57c09cc644c0090bf836703759c7be9785b3033740ec5574f685e22cf8475d6c541da17ae0312739857d4892f61488a46988c903bda3f73f6326db6309240231b77fb70044accc06139cfea7c1e6fca2a8dd438303e36100ab0e4e7619fa8a7b8364eace6ffd1d83defbb9892e44b80f7f99f4e681032c7b6f7681f13dd8b4b032a9d6e867785a95e6228133451f45bc2cc94027567c03f24dce6bf18fd9eacd9ac69a231de1eb6577533c381a0dbe76fec4ecd82cd9f00301e881feaa84e23d4f7e61213b6db783affa1f2f3a628bece02cb957ba4458630219ffff0392d90c5df8aaf03067471ace5d78e2156fd3fbf5081c4119267d3a31511faba303b5468f2d1b1d04625c0c5201afbb6858fc7432424ef199964866fe9633ba8eea03eaea15a433033daab1d125b0b98eb128cd72fe6942adaaab33e840dfe416299d0300a2f3e6deb439e90e6313f2fbf72b414be3a555764015798dad7a01557302ea03448bf488bad2572c952fdc06e675aa639b796af5fa39e616d3df5a89f6d0fe1c03a2fec64761514d1fad0684fefc575ff691f1ada749a9d3b4066f71b4fbda9eac03940df22c178b5626f63733e3f2505e7fbb16d271c24c33359c91e24d5693db2e03c2d5f90e403496bfd9101776b769fc1bb32e569089d0b6f218fffa455f68239903315c60cff98a134fffb0cbe2bdeaf70571b139b0e6d5c1927ddbca870b4f688603c356bcd136c2a6f634d867b7a1c0568bed05f74ae1b1ffa1fee5900dd216270703d13a8649a2fc3f31d94ef4be3130d54c92cdef6273aceb2262bdff7ca58880a503a92e54db33383e571ed91562ba228c1df6f3339c0a08fff3e3d6b1a80b429ccc03c7750251e9e71cb1d349d7e50324210a24f24c63d701e2bb5f19fa3f221aeee00316a4f3c64a3f26d73668f2dac8c8a67964d8f8faef5fbecca9f03436852b623a038561e9f5d868750d774a0ed2f392bc96d8c6a2f68bfbdbcad827911a41ff3f0403e8ab5d41f46fd52a8cd6770e72999219fbbe4658ad0cd70cc466127f255cc6f2039133cbb16a079e2a456f5f9298bba3125f271e57545463cb4b4cfddd5843f0a103adef06cddce51ecb963a0cb5b52f318939c96f982634e151b6cfaeaac5976e9303e1195695ab8fe1c2b5ddb2ba5515539867b8872554d7463ab46bf894169f09df03de70355c7c78eb08844b8a7c053e4e673d2072cdf1a999eec6893ffd226db0a703f78901c42858a24e582a4539a9499a1048af5a7599559949f96df8095285adb4034c54ceb5da7852ebd60f1e39ea53d3268e057a9e1d9b67c259d64d7a1fa2ccc1033490419666f2649f5861e4d2674ad8664a69d1431509911e6e0d5be7d2c84bdf05581e03ee036b3c3760490a9cad52f74d4264e54c12d421b8ee9a0b01fbbcd980084704a0ca53c52f66030df5cfd855be901477de8cd448ae66b7d179857d729ef95df4d6437a6d60c58f05581e033074933b4f12ebb8a9561254324fb3a8a974bb22c976f1000aee9462200846f2a3b9280a0005581e03803f40657631cf88daebe627b6898ddeabd5a15655ba7b387bd3a303c0040103662d4b439de0a474f6c1d194f4f87c8a03018ad40f905d8930841c04b9b8673703562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038ce98fec5af8c86a4d35cc9392f139ab5a3760c1eab89edf8730db49e007011bffffffffffffffff05581e032c64ef6fdd8302f5949e107af64574200a2a72a0ff0b5b3d83acfe8b20040105581d021aed72de2ddc6ecc866b069a7498a72b00b100b37d8317e872b0a6de04010459021a630178b8bf60e060020a600035041415610020576004355460405260206040f35b6302571be360e060020a600035041415610044576020600435015460405260206040f35b6316a25cbd60e060020a600035041415610068576040600435015460405260206040f35b635b0fc9c360e060020a6000350414156100b557602060043501543314151561008f576002565b6024356020600435015560243560405260043560198061020160003960002060206040a2005b6306ab592360e060020a6000350414156101135760206004350154331415156100dc576002565b6044356020600435600052602435602052604060002001556044356040526024356004356021806101e060003960002060206040a3005b631896f70a60e060020a60003504141561015d57602060043501543314151561013a576002565b60243560043555602435604052600435601c806101c460003960002060206040a2005b6314ab903860e060020a6000350414156101aa576020600435015433141515610184576002565b602435604060043501556024356040526004356016806101ae60003960002060206040a2005b6002564e657754544c28627974657333322c75696e743634294e65775265736f6c76657228627974657333322c61646472657373294e65774f776e657228627974657333322c627974657333322c61646472657373295472616e7366657228627974657333322c6164647265737329038243ee6e9198604f54197f9bde8e55d4d7f084091e07b4bf732829974787622203bae23d5458f761eceac7a89d0ab6004fbee55b8ddfa649c79243dcc74d6cbbb50365a3eb550cf20732ec635fb6c7a830611b96ec8a5201980622dee63a143c23710316ba576ebd7f7d70e8dbfb73759527ca258609aabc42aa1d2fa08161221837c0031059515bdcf6f559ea029b7b724c5ff9520ba1bbc57ba401ea337def4ae7d460037f6e87b9f927b92b828fe7e1eaf293083574b11b5389e25e73897578e2cc500403c482c64d4b0ca8fb6c01555c0d1ae4d4ecb2f8162b6e05e31da4df3afe2307a40374d7516ee9b7407b59198701e97bf7522abbc088e8fa1e6ee1f903023bf38a4d037f12f52ef47d0450b453c1092c8d2f09bb855a787c3cc0d4161ea536aebaf34b0392ef60babd2d9617bbd81077837cfe079049e238d4bd8c16420795ed43d06d8f03a0bc57da1e279198f6b188a25d9de47ac6ef6258ca6b78b8e6b300f3b6b1ebd203b07dee0a12ddda2edab767713927377026546858ed55712a58e8402a0c0c3f1303a32f625775d99813f5db9ed98b997e7ff174e339a28f3c08fdccfea28c737396038ea379c01202d041f80323b05183cc6ede612c37a5327ccff6bc39ec6b35e8890311ad229aa13902f518fd15f7ec73c70148281a9d766383b677f21709bf31de4203a3e8dc3eae146af2de666fd8a7c69bd28d4d3dc3fc9df242953da8c86f5ded92036d26a9f5e27443a52067baa547e224341d85f6399e1eed1bc1be22f2d9daadca03f45cef007016017cba76d98880a1d6ebcbec650f564960ee694fbae6aea5afea03740517b66a54e1a8e9b4af7b8d838d294f762bcbb772a91ddac36caea67d4e5303bba1dbd8b615ad51af24d20b605cdd985c0c499e45ed991761bad3f759d40f8c03039b246ee8b00d69045d6ea67ee3b3b4fa56b420dacfd48a9fc16a7dcab922020339c099531651744362d56dc19e57646d5eb026487acf5e426b1f17615355cd4003544e659d29f77b4cf9f95e5a97b73bdcd21ccf3082de480bb03c6b01a87940e6035c25b3db1ba0789644dc40907b7d0fa270cbef857423469fd28d21db9560789603c519fc02ec22cd06301d9ef0172675bbe7874e899bf7ceb1c39f496aac6bce7403691e2dcefd098339fa9ff02f43e6e23ccfc6480aa45f14abd539b073f056c3e80366b49d5c98bbc4bb06f72a231d5b9d621f0aeda0341cf7e80ac4d411bfa3d7eb035feb0c3e382f67f724b5e61c5cd849d9efe68bbbfe9f19cb44d980d41f928faf0379a88f9778802ccdb0bddadfb2171cc58c421d1a7639730cce81ae67cbf6ec6503ab4443a789a91cd3e2bd6affff7f9aaf24495b4294f3514801ae20a672a83c4203a7e43fc4ca8d8c5ab4123c6b0eb3386fd73f6a162beff136de2fafbc432e5966033c668489a340bad921a8fb5818a3ed8d9eca59af310663e089508bd4fb2dc6e703c518e4e1a5f1259ca9013161430427ea98385032ba1f05d87500993fa304ff9f00581f03ad92f135fa9750b7ef3ce6d14069ff57125a45b11b50ab17056cecb55710546109dd117aa5486605fc85e040ab00163a75c66200581f035d9e959eea3a69b345251caa0af3ec0dc37b5fb71f1a698c156f188ea940546109dd117aa5486605fc85e040ab00163a75c66200581f03bd9fb78bb64f6d98c2053498cb9f4d7c6d85176541d1ed0bd0f139485080546109dd117aa5486605fc85e040ab00163a75c66200581f033374ea9357264767b6691741580a5a76bbaf4ca81da4e6796f4f393ac21054497b488bbfc28d142372f0d39b7bdb2efa6cad2400581f03e070bed4df158eaf43195462de70a619f2972cfe86917d607a9f03ce41c0546109dd117aa5486605fc85e040ab00163a75c66200581f033fed7e2ff282413db9e81fe821cf81bc8f84d1c25fb9b36ff631d917fa60546109dd117aa5486605fc85e040ab00163a75c66200581f03a5ffa16699d6fd7e5f65f78689142527e86183cd65d74e9bc2b6b3336080546109dd117aa5486605fc85e040ab00163a75c662021970a603f804e616bae98eaa6a4c3edd6e134d57d050c18f442ff0f6c56d3e209269fb440380ac82bcea1495ff8a609d6804064400a25d195d6d880c18deef13dcb7d3598503e22e8fb418611a162d82292d813620d5d1d9590ec8c5efcb7630cca9a3a798f503b31f89321111ce53a5de1adc2bf73f4b6a1b56601732cffc36e94037fcb29e9603bb4732fec5cecc1f38dd0813892df194d0054dafadb1db1ab84e311a83b70ab303f5096143e99fba5f3f0d469bf838902397b8edfe4644d4a9871d211aa282d09c03641ff561e59bcd9d17ff8ab106472d41a50e51f2fa599cf8450c1b3fa465486d03408277cd77cc001c57d375856873538d525920bb97d06efeff0108aa0953a56e03b2422f1efaa11edfc78f151a3e7da90ff33d23f3c7659421e41f985a7092cde00346e1f38f63d8e3cc764becdf4773489308b9299dbf2357a73c275a66c3236cf803a426ae2a5389c17354682ef70acc4ce6098f886371a88f9afd44e4f62fb3d9e30219ffff0319f02e47826428be9cbad206c4e6777fff2fbf811e7693d4b8e46040a481963f03a23759128f17fd026c0929d2b899baa55e11989a729d4c246463995fd88db2c703dbd4eff3508fab3af5e36308f775463a69c294b90338eac849e25994260ca9af03875e92b238ecf3eaf83ff4f498d5ff96af158834e923815d61ceeae9cb10eff40219ffff03cc2a8e4073c08e4fabd7056db6f31405f46da70ec3a0a6a4133138729d5ee9ed0319d427cd0ba31bc15a752c5f18fa1b13db2e19bc1e9ee198d3af73f30b3808e90219ffff036802eab315d0602933e8bd1e07c181eb0b39c98da4e5d0db7c110cf37d7f932203e9446b6fa8113c38f297175f3a82bedf32a2cbfd223f80d59d54702e178ffcad0337b7f8577c3c0de0c49c1cf538b2058ef738591cb1b28436e0979f4ca177cfea0390d9c21be28ada35ad1c64ada52bd06fd7567e921f509acec6f1ebb3da5c689503c0d05511e4baeb4516a64f05338397c5fbfa0a92c35a2cee7465acb3f505b3f70306476080faa5c8ee783391493b2228fc2382c404027576b8325e013efe3ce34103a9d1f35c4d16a779e071af7561a03e140b576343cd8e10e64021cf7d324ec81603e78cab71721993eddd91e97301f72102ee81e6da563d7024212a3645f0457c19038646ab616399e0ceaa7835daf112c33375fd4fe0500b8e58d243d6500d686af303c2584da1fcf35462ef6113d14639e4214aafb596f62f9eced5ba6af3bcb4fff10219ffff05581d02cf7858a0bbed6eb11df8b02b87bb4281c9b605ca53024175560154350f014812f0d0916665240019021a0219100805581e039324c7bc6b567e8a29b5759949c7403e96f17ce010df59939922b6b4b0040205581e03c719c840eb1fc27e62bbe1ecf24cb0e615fe4bb080b844bbd6421795a00c0147044364c5bb0000021937c703290f5ea843c346cb8f93e423c08c7e4fbcea640ecd2ed381925eba3802d9ba8303e519be0edc324178aa20a57932a5645aac84cea51884760c69eda5a5a13d43be03bba880e0b23e174b16a064a9bfcfbf51051577aecff8d7f5acb2e45ffee66fc203e9c630e0a27d4f96771551674286472e2b8020bbe5a9ac421b590712c079410803dead9166a1eb5bff87f9671aada9d00722ca8ed40e4a555e5e4b673f5b6881790219ffff03ba1d501318afed1d7557eba07f76d8140d956cb10e6a8332473a6630d1084cd6037522b5bb5155e14633d7dcdc99b3ba768515eaa102c1e8132b09e27fac58c9fd03efb1df9d017f412724bdcdeb2cc63ae15d6f84bfe4f5530821c081bec2f8d971030a9dfba4cd93f9c308461d306e566f8b1f26e14162ea1bc97c0c46d48e4261b203e7758a48f452119815f16ea0582a8f92e6df5efd53656d1a44d34096ec91a95d03888c8f59134feb5bc0c29271a7d1022ada360de7d486504aa53724effd0da8b7037418e72aee1242dd3b4283424b131206330ab65170e978e4618073d01a70dffa03356486f7670d42c9d697fc0ed8ed37c6feac4d394d1da3bd02783e9197bb8bba03bada3fedf167af2802750c482483edfaed7d74b6f157d455e193a0b3c0c5dbc00378b17203c7c6b534c65d0f32fcfb3464ab06de31192e09a50a5f90357fc2b3f103a2889776607472bb4af0c342c599bdec324012c3a9a14b18f0f44c690ee2b26e0338bb6dd719e7aeffc6d40d69e03ae4d9e06e6bae202ff864a81f0d3aa839159a032ae649b4d3865f436b6e41b12692cb2ccdf6acbdb3502309f4cd8ddb80ff087e034f7edb3431594337d8ab885e85b68119a4fe50bc9f8d992313f1a5b3e7674f3f0219ffff03a090dc88ffa37349254340b1049feb0a0918967a374e7d4e3925614cd159115603fbe10f6215304c08c188e8a90569ad01936bbe59ffd50f19a67d71a1e8d08c3f03edbec62af2294b987d6565e0c1774ed7966177cf9eb4d73a9a752e42031318e90386fbc31d345d3590971a3cde13b0f02dae7fc1b27502657fe74abc576ef1f3df0332bd2588a18522bd7ddd01de3f12176a2ba9e4f15d07544efe7f00ffc30cb03703d51419f54f33d6edeb4d9767358ac359911bb4fd0dc765f4e98c696f4094d9d0033f2668b7c4eaeefd28c27d6ee0df9c6efe9627be687d484d045b4e7513f2e7e103aa0f62cf5516344f299d700578810baca4d60f462bf6ec80362caa7c46828ed10336079f86fbfa4fabc431af103fb5aa796bf0f36020458061347eff8b895f521c038d36f8103a6df6227cc9733044ccf40195a5d40ea3a7b087c0bf54312e68532e0374333e7d64f784ee9a4bc5e145fbd8a6bfc53ae8f60a128d41d6ddd685864dfc03785ec388c3d702a52c9ac5ce4b97eaba4bf8fb6f25245ed6fd6a047f80f74aa803f4dd0c0c94be1822da7f9a8dc90d80f3180e87492d1e9fea36d4b474cec3b10d0219ffff03dff89000f91e608f89a61a03f078474728b41b14a05295e2104b8f080636cc320353c2959a6b6d87573c6c06a60a8a32f29c245bd8d4ad94e8cf22b58f7632e8590377161844a9e5cebe6a8a09ac5435c2ad4fbebea931f44c6c3dfc3286e5b27f590219ffff037539df43673b9958a655868166daf5556e7421d1d85f2bfa8d3841d14ba278b203f58adf582e59a9fb3e7f4c864febd94462517a31fbe6875651def319b1f4800f03c100cc500a772aa4db8835f3690e38fa1ef8bfd0c9433c905d19d2fc566ca0a7030620cffe022478151eff21f3bd94e6f59286a8eaf9f1554189cdb1122245b8710357cdcf6fe276f6ceec39fe2609d2242334eaa9bfe8c7e10438724d21da7b5e55034d3cacad670c43dccdc47ab1b27c3fd81e0ca62d96ab83693f510f2ccddd1011039375719e0de363b9128bbd83b52e8f52337d28bdb4d590e009a7fc6da6c423b003bcc311f6a2ff0f91ee9b9611e9c463a209f90db5888f12deb20c97ad7d9d1ac40362fbe4ccf4accbcbe3e4b3c016429a4fd251dbe0c12a1207339eb3f8d9e9f2f403495b100b5a51872a6ca89270985d4db70fe57c077424f7954e66719c2164af4c03d28e50e108ff387870198c1d0b59fd71ef51dd97b997f347cb44581162e589c803c53bc6fefe7fcc1ecd6409b8e236633c3c7061753c064fd432cbbdacea6363b20345db9e2ca0e5d98e9f16150c3cbe62d9fbc567cd1b1839ae3d2dc9ab5002ff7c0398beb9c238293c05e6fd97a423546435c95b13edfc91e1ccdeeb9c7e6812731103975753bbb7a4c5f17ffb3907fcf42fd61a49c502fc947d783fa65fd54c395db40312ad5ab435c0a7f50a9bf9f0c9372face06e54c2a11e3bf9fb9c81d3b57c87bd03c89fe0a1964afdeda1ff9f481f0e9a7e560279ef3883743e5d6cb1170565df4f0325f38db40bfa0fe8658f61ccd5e3983fd43dda2bb97213fcbd75a5d2de6cbac3030e233f0d8284b3b0bff17901e1338890039fcace0f2e79e88b0ec46c5891f68e039d0c0aa2c6e0c5b0906fcbbb57e4a14f79fb892c070179898a0d7e6a36ece4c30390d703d2cb0c41c2748aa65a1b6ac22f78d815897b95ed0328e87a0411d0714603f34f938591662d67fb782ea03aa0ea74c2b55a657f517b9935c3e1a7ab78b42e03750520bddaa22f4bc22098c666e5860e5bea6fb14923508ad5b3f7d9b832c1b90358783f5d9163ebe98bfb08a67ecf085df038bb9f79b5f36d17944975231c38f2037085b579723b6ac94813681967d338ce5a5dfdfa2abff033958c832531f88a200372ae3d5555070e80068f5b808db7046243b309f43228eed0da784cfa4b6c5b8a030223c9e7a3d897bac52fc7baaf691ee2dac41901a202f079ebd0284da52e3330031ca5346ceeddca4b3b215e82c2deec53f8eb77b9d37ddf69501d3cd2e06fa1a403a96ce8ce7ea7a3fed445166827ca46dba754753c2ca514e54dcd608923e33060038a2bdd30766c7a684ca4478788df737346caedb409b48e116fbf977dd1891e55036553d1bd3f8c6302ceb13c5379a2adde3e404ebf9ab0b06727f217ec04c86d4b0345dce92ddf223fd1bba6ffc5be572013b9bf4dca1058e9258428c665a64f5ac70317907537bbf52fc2919e3a223cba2b6be355cade2b8e47b26847b2277efff30003ef3cf3c3a52df37154ec5d01aedf826d211564a7d3465db3126506dbd551809203de290c89c45169801912c66b1440781e08d2e9dcc158fd8bf581a615498ec90303e4123dad94b51fa93ccabe7e339f076f7256afe2d7c8bcc02a91a5fe59e8a4b303eba48083a5f60c086812295928d8a6b647e7612c721534cb92191ff3610de9e6039e7b6cfd7eb7e5908bb9de74ab717c28b0437a80578d965b92661176da40fca20393a7d8c5b3a072446eec18751cfff7572a9b003504b9e866559aa810791f47b3032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942031aa593b75e9badddf988da2b0652491a570f511942f8ee9bab55951b234e102a05581e031105bee921a1663cf71f45dd88f5ef703b06f8502fbc750abd32445b0007011bffffffffffffffff03e0998f67abbed1823ba4ae62f12d67cb81e8b991ef8079ada775ad452786a73c0371eb484d7bad7deed35012f6ecf93560a5f3ca781e900e6e5ee07146162b71f405581e0336ab99516ed9a94a3685c8868836157633ddcae77ef1e551950565b2b00c0e443b9aca000364732c95c498c73e678ef75ea69d596297d840c6b9ff992c1dbd4eedd88e35b405581d0277d5df4dbb5b0eadc19307efe2ce1a1dd9beb5ccfa7b2b3c34ba47580c0648860b55b4c373edf70399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803c9968226538f104defbbcb98ccd11c5911b01843767b20978e139898052cee2e05581d02ce8fcda33658803ddc52ca05ca9ca73c9eb102666f4642e8a89b41c607011bffffffffffffffff05581d02e2cd979bcc708b5bb408cceb14886d0d2deda9eeaf7fcf9f1818e8f40c182b473a694c1e03e21602195800021916c80219ffff036049c3c600d8f6a3a3e381ebd09fcae889c08ac4992bc6dee5a7cd4b57cddb510342e381f0a0dfc5bd7979cb5e47461d8eb7c22274a2f0cede35b89d4ebc50d6f903a90c812db0bcfc90334de4fe8881b6feb2ee02cb3977c9d662180f581fb1af780219ffff03acc62e1653b0264a2aa0d04dedd186199df7d0d4125ebc9aaeebc9d0ffc690fd03eded5fa946e50415a98ba7049dc8cdcfc6c63782d131dbb7f75ce4045ce5915c0326af27e53d7efb1b1f7c8ea991224ce618c37ff8c69739a546d5eac08b06529603e63b26b7da99cda9d05cd10b852b06a83ec3802e0da44599c351645d56eb9739038edd1c009b88458d35f67b2717ac54f65693f373f8f5fb991b9e720a6ac2c6da03cc78ce37f2d1022f617314c36215ed53a07846c5928150d688533cad321754370219ffff03d19a285193a04b14fb630f8542f0baa6527ec45bf606fa473c57eb4b95f5c1a703af088a9b437f0383b931b7f013d02ce94ddbc799b724c995f4ce499d630e3de7039b979ce6e0f80056491b97f90d34217ba6939ec2de5e50db3ab1a085468a50800325ec4e7771e63d21832fd3bf38e1f35730163473eebcc3f92090e650060b683e03a817710fbd557f5b332f55f3a0fc7ca84b6fee0522659f53695fb2ad690f1a1b031855718cf542a3a7ec3f05f333f7660b0ad28589961eb975987e5a459e74331d030278661ab0ac76bbd6799b9749b9f5625e94e4e2a39fef185e78d652699999cd03087957acb7a1c08d2ac1531e4c93cf88b1463e5932083630b685d023c9782de8037ea5864a9b3e9d89f8aab27aa4f8fe472f4bb6d214c2a880b14162caec34710b038aab4b0793b18ba1ae11fac5809705b482d97f09524bf65060b47c2098aad58e034fbbca52de750e9ddeebdc81e8187c71386bb7d4cfd337cc567339cbe4127bf203e11588438deb960fdd2eaab1c0b6d5add87870790a3bc23266a26a1a3f7c35cb03ffefd7cdba562874de8d360d76be4748407ce78be8640abfef3a217a26e3b5030359b65271aa2df237cf6c1498a9e88178f04c5af3c2a929fc840e0977b387362b03f16a118b5bed85574634bdbd2b40e73b6ff30bbca06786c9563ba9099aa5d1a003ac71a3240ea935c0eb2e1db23a6ee7740303009cf36b126e4c12c8c54958ee53037afb39b862a9033c3d8dd611553cd5b715ad886e687f689bf8df4f26ea93bead03c9ce682c503cbb780eac4728583afc746048a73de4a8fadba337b7585eef818e034f59661d966930b22af25438db57911c4929941962c2de92a49e079ee5f5cc9803cb5780116080acbb193e647ab242eeedf30bb5bbebf47c5f7eb13bc6fa37ab1b036adb6a864f33fcc2231ec16bc4e2b504666a2c4b8de6f4e3daea213a47f6802b03db000c8d5e5c3a575d7b3866acc69fab2c0d8803067f9d1dbce7280dfe604aa5034032805f543bb668758d6fa3be5698d1418a377d433213616caf186d75e476c9033b8e3a46e87e57803706a5cec859cf461a403b16a1e4cd0ff220f3990487b014034e052c765ace0bbc7fd7c90dd8d6d2d9312e560837a15f439e80c2cd662d369403d1e6a15affd84d82184a01accf38df96bf98323035c1b67095ed234ac38c377203e32c6dfd4452d52cb1e4b223579a6a7de2b46d8d19b904d1780a17d302cb7c6f03250a12e41daa457390e40c9781cacc90dee75792244d5e15c3c5fdc4947b1cba03db5ac0d304bab73db5a52ce01a0fc3184685bd855faa8cb07fb7117f4eb2e26803b0e5c5bb7e76b6fc97b82142149154c2be9de000e3310c48cbaa5eee3ec4684203b3d4ef8959bab51d73211b97b57bf739a9d06bf93fb56a33eab035dbfeb6a78603f98646c6365f81f5306ecf5a926c4d368202c51f93bb068e77f51631fb3a164d03e50158accf526d5af596aad9d35b4ea60e6c2fb59d9e601b3529053bc633e07c0378476cef6335f5632678a605ee9e25aee866ceeca980a4a112aa5c8146f694de03b6529572c3225ca8e5a74fa4d720bcf10387bb020b050de2423e688209d963c3038e3419e776bb87ce71e0e8e00ca04989442ceeeeb3e2fd6c4436270dd3e76dd203dd53ad0a4cd947640f25ad9b717342ffe5476fcb50919d47b3aa4a57576af37a03a6b03220749bcce721433d7e997f09b2b45e27a2562285f5bd49b9829dfcba3003d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e03dd19426be439287927b6d05cdd36c507e20938f7071be831b304933b5007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e035a02e392c10aa03dbdfaa4f98753ca2582b7aaabfc7e2cf3567a6d8d5007011bffffffffffffffff05581e036ac3a90e87a95f0bd37513e8ca5742ea33a45a51d2d4251684b26bda100c0247149f351cd4bc0005581e0363dbb240c91ca97f22a26aa735fdda83233b60b1b9cd0356c11a02ea00040603f97051460ddf3b617d210e347728db5dfc0cc87868c85ad5c70fa01309669eb4037d099f520b6df581177696cdb1293566416c769119e36f3323b1c6ece1ebabef05581e0300014194e9cbc5d0532dbbdf8c220593d428b1a975f5494ee943d3aec007011bffffffffffffffff03242d519fed83dfd404f110bc4f42b6efb481d4193b5812ff7ee4a0086b9da9ce03e6911d974cda5e65a8ee32ffea76fea8b9d8eb90320ae76bf1c3b793cee525e605581e03525148e002cb575cdaf510f52c67625dff0abd8fca7755512eabeaa280040b05581e03bb4f041dd2af2f4bb5735292f7c9296df56e590f9219046a978da953d0040105581e0384a07f0e7686aed111d8bc7cda08d7e3e91d1f2b6033bf2469d4c097500c18d94801aa43a0e56ac2d603c3c25cf5efb8b547a3a827836d31e1ed1aef1ebb481da2d68a725dfd076fe9b202197fbb03e8ae9717e2f781958ca1151377392ad175ea824c3901900078e5a3883db316b003dfacccd0ebf35efde4dd0f9c7e70bd6804bd65d1505e3b40f424810b62d39cf703f498fb8a45a194b08a55406e07f30494c5c7c2d2f9ad6717aa01d074710f7cfe0329518eaf31e45e7265560abbdb721fbc37fd032a52005b77f5913cff09f9392603c67d05f491a4b2495cd2fe7bca6235dc883484610799d2e228b07918b534a26203479f9ee921c42e6a34c557814fb54698098bf53a9fd710159805566e4e08afd30219ffff03017b7100731bfd4fb3892d49f461e8a1ae7ed4530893505716da2b410cb76563035ca972ec0b7838cf481e5049426adbb2b6ccea0dab8a2637427bf3fa9089ae4d03eee25afd62329c7105899434a2c60e16c027c280e79e80044187bdec2d46bad9033e59c7b0d9b4a1e1f7cc859187bbbe7ec313f1df5c48665e9b380b56d749635a0351056418742ffcae15b753d89b056e6f7777cc4d0239181453ebad3adbd4a42703abac69abe8012def8d42aa70ed72151b63bb173463c78a2c03099956a806f0490219ffff034519e38679daa9a34a800a872fb60d6cb14d82712acec3a097030f5bffc6a0cc0219ffff035949e582d7449430034a6a2171aff20325b2a725034649397d3607225ee012ce039611038401759f7d36510c133d4f55c72ebf604d70613b1bb239507c9fbb55bd030988a8c73f868d2f3a5b0e1f9e0b4997b981d60c7b0bb47f0ec7b06666a7631703aea7776aa7198584266c2f3bc8c44baa16cce833fbd02d597d303e86d852c9c8039bbd19001c25686e1bef9e4db47ed4c72ec213c39991c924e831d3c1ff3b8f0a03a68084e89b5bf72b7700127181ef6f4f33a91aa32ac87cc216a654d41eeaa28d035c50e327f6e4580017c7deb248b83e9512228c08847a182f0ff7817fd3f005d10219ffff03175f99078d82a378a386c54e63b7b8d04d22128aaa18b45f6cfcbad68424d9e203200d4da2bfec60524d0b8e264c2c287e45416b1b6505a7e19076c40004c6bcc70388cd69f3ed2278e2c605ea990654fc8591afc20477593ee933686a66732601a3039677e04f4089c55bba1993427e8ce48703d4040a6209bfe6e78f90b1c724dcf703ece8db3d5dc7ffc4418446683174e82ec996b299523706efb825bbf2fd2cbdd2038849b04eb169554f1883e28ee3a3dd552608c292ae27cffde8ec2c62b200a9a303c9f1feeb2ddc3904575f4118d9fff8143d9393123936a194342a7caea28663dc03f4d86cdf3fe887e87852376b7cf625074376e1e01db1ea81bff5f0c796bd5ec403764280c9f06edbf2f90e497bbb7694ece512c7f6f56db1219d53cf518c7a7ed103ce75563e81cdaaf2d1748dacca595cfab03e33d0c0acae505387ad0fc3c9625503790b0d81dd59084f4ef42e3e835b744fa79cf15aa42a0ee16ac5a432a6dd28480387e45c042af05a272c7d1666bae3ee326ee834fabdf594daede096724c7db7250352e871c05a07ffe7fbb7e2eea3e55cf3ef785c3d68e2f5c5d74f9c0ee9e9f8140379ca505d7e458ecbe1c96a20b97af7bdfb5d424ec8ec28010bd05a53a0b95d570366c27da8187a18239af3c65cd57cf5ff7f4c4d2bcf756482eda9675bb2359e80030eed9939655dfbee13d35e615385676b8fc6501493e2b3dc7fef20a7f27675ac033eef809c223bec0db1e16a0efdec17d1adb375c13a26639184d6ee02cb64dba603120f75406b5298ddf16c0c327e66c7f961a69e860d35d05379f35aa27795806805581e03d9bacddb3bc4fc89f99090589fa72accb6a0cf15b48897f63ce20c05c00401034274b4ad3012b728f37e13f8f2d738800d7554079bfd318c4e8ebe8bd4cf6a8e03a15e01308a0d5bef00b208eb1c58375f7608fde0aecd3276b5076ac957bc057605581e031e810d2ecc9658b2c821e01bfa4730d330b7ce329f0ff32ce840664cc007011bffffffffffffffff03ba47733ae69fc133b38e8479a4deebfe1f9159f7858994b5b76dafe14c9c4b4705581e03346ee00793b023840cc7435ae4b3e47c23262907ff66ca6629d533cf20040105581e03f03c94c81a1dc2926878119917f3555df4f071aaf2c153638bb89344d00c0145023ef6764c05581e035f0d200dee374048def25111c57102624257c7cd01f2d6885333a65c70040105581e03d294f2fdf747bfe17ef533aa5cd3b1ca243236c0693804ce1c37ff1f800c1a008dc9684a03364182a898efe945f105581e034a2d12e7961da343b2f1ca597d71e23466b4ba001c1195f9fb46464fc00c02465573d601280005581e03ee6f0026abb4e79802ebdb903cc445e908ba71204221fb023618e95de00c01462abf0a4df00005581e0341c03158b993f5a3cfc507a67470dd681b7f4f62dcfd145b440d03c490040205581e03e69794186451c6f2473184d90f76a0d9aa4b53654d7b2dec91675ffb100c014743779d6ef68be003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e033a687893ee2d03d12b30ad932620f0ad2417cf1ab6df2a58e2eec7a42007011bffffffffffffffff0219d5df0324813050aced2956bb4c810ba0aab57d0ae4eb839cebbb8aa86cf07a1c3778cb03375dd36ce2cbde7c0e58a0ffc61688937464bd74b7c6be3ba6340dcddf7ba499038cdcbdaa37c747512fc715ef63741859d73a2d7255ff49140daed8bceca9b3cc03f05a99e488af125ae31481856d9bcc185ff5c1e8d85948154083f4dbdbd1705d031d566c42e03201756dd11a607ad7778e5053f6caacf5fa8b4b5fe6de984ff87a0356d55dfd9fd801a4321f437c156eae7d27eccb95178d1c2c13bea73b76d7efac03934cc7135e6ad805c5d636a95e462131bd7d57cd9ac9598a4425274946ac12fa037e1e73f29590db070eb7b10116747619441fd5d3ae59afb042e4884627cf2da5031b54c31975f8a5e2eef52993d5e3b4b94f13f17b53daeb8382f6786b36b2fe3503f78a4d64239624bce362737f81a701d148e6b8733a98abe06808300cc6f7c6590219ffff03f24ea49a81253579c832f3a02d8c64b8ffd8be5660ec377424271a254aadc18b03cdb25ab99335b1731f21ac40e8d3c956816c717e70e19ba307c647a7055ccdae039d87d66f9a485317df04d6e41ded2a8fac00b76186bb748ab39078af5efcce1303d5e96081d5647efa9b3b736193751cc075de5549e247f4ce96d51c48d98b363303ee14300fdfbcc1cf5bf3bd5571f2a86db330b1e2441d350fc6d46879742b50f3031259ba09f680ced4fc1dec326484bf31497041c3a20a6f3dcae651d37430274d03ad3facdd33f458fd9177e9c3d96a4283f50704c3b9af2af34ae71c0426f6886603a6f932ff9f16999a1da8aa247d9e34a103bf40ff3ad977cddc62ee47cfea479103290d998bc6463ff41f6ac55113df91887cff115efca9cb94710c36236fb2b50e0381a9b7ad59d8eee2905ea78c2b6daa4efcd3792e635b1bb3d31495116c6158ca039a71cbde3a98d1d8fc6420aeb71f22c95420660dc3a2a5bac21ac924c0c4944c0304d263b21a0f88b2c8c69be14f312baa8362306630d8e6c4a4a649c31412c53d03323c16c5ab965a9648ef7467d994030df80b42d0de1eaaeb2a6168e1f55e75370219ffff03bfc8ebedf963010fd2ac7d98f38685709d4e31a75d015cfc1a140ebe5d5b288403367d442acf4c3a9b8308d1cd11348733010bf494a74ad1d6fe5e4f8418d645840308202fc94ad595ba468a5780107598e73ff9fdbfa739f654149822a59ede7e8b0325e4caa5ce0ffe601afecfd55d09eae94a19abac9bcecad38a9624bfc0161f5a0219ffff03ac40b45cf4ddf1292d773a506865b88b604b3e48c9537b31adf48bf3a3e5f47b03b6b66eb206d49b283623b85a91bd76309510738c5a01a20bdc3e1d2b30af2d7a031c47fc3f71befcefedea0624e09a1145d42682ce412733d5297f8ad06537fe5a036881f8eef1815a72ce84308bf836b6b07888b0da6028800e79929d4e76e0dae603d1a97c37c7eaf148ab2156aee8e4918f22bd2788ca2a2127446ffab1600f1eb9037d066c2f8d19c817f98b20a285d0b0e97b3872a55130b727d355af9888bb0452035a7c5f6f289b1b441aa34a3dfb57857f7452a91e59fb957aa9398064c988da2803b1d71b1b293d89969c150ea65fb93646b0e5b2dbaf169148ca3d0457e65bbb2903304dce540990218a8dad284f617ee8c0d671c0f328cc85dd457df4a3489d325c03670e41a1d4c7291703dd66dece5efe3ff5bca73d577873c03db4eb3771caaa5703f9ff6159397d715967f0531810542e4cd75ecb5164374192604888d04f5e478b03e73d65459b067577b944be693dc8303b2742f5c498dd7160daae4b6e8c2598a903487b4756da2377e997169ce778766f798284523c1adbed7cfc8d7cfb81d5159203a0527bcc9fb03df669c17207af3618e450dbbe8e167798234c37ca6138d84cff03dd0acfd4de1792d97ab8081b31ba12d620047cb9f4f11e4492a0cb5d5cea529103458b98c18038332cf79315d9c56f1eb05dd4b48a03137b4b674ee45c3c8eee800352ec45fe9ca6b7b609904de14f4fc6ed14a9bee197db3c1d0898d29d871fba1f03f718439c8cbaee330444841898e6e4a17ce1adf292bdd1330dca8d8f37be85440350e12101fb802516ff2bf74f6cfaa60fd3f1702e094d926a3eba95c4078b96f803f2fcf8dcb267700b4dec31998faabd080b98ee4705fe6ff7482d381acbb5df80031aff972d4313c189018fcf8cb229e5492c062564f37b28eb7aa9e60bbabf654d03248b0432af6059a6ade137da8fe0b139d77f4efe0dfb163a4ace420aa37fdb4903cdcc583a8e41b799e6b0d90b75edb062512010a911166aaf69652e965a0ed0f4034124d264aff39f9b02b1bf9442b2534422d279ed0497cb4c5960fc626ccfdfb803852940692c2682e7a0cc4ffb285c0a21b35d62e04fd9b1664d5e58b080cb73ab0310b979b452ddda5ee8e63b065364b8d256238ef7c34bcd04f7b0fcf47992578503b1b2ebda38d361506944f9c633d1af5dcf193a7f8658c8bcf0328c68a2d60db703dd225c959318fe030b43a488e79df0c926a94ff788d0a79667dc8d88b1386937036e68378733dac6edea375ac9216443d403e6d78c186c95eba9d9a02ee6d239d70325fbb93f3f9d22b7f3127207a07431a9a506274975a8db5f2098532becc60a9703f78c39cdafe0daf874728e23e59b2aa104fb91851cc8bc787cb646e30f7b4ec3034f5ec0946584294b9d896fdc5781f62bcf405967248470c3db4e877912743b6403ac5a901fb441fc8e3045c83dbef048e15e3eea297e0c410684ff8a3f8dd7e68e03a841dd8aebb6195c9fb85983932e5a6a3a5e4e5bf1649c2109913b563688fab503a7a7602be28cf5f5fb9840b6d824bf269e2397fe8209f3c6c7ab970e9e9fb4b403beab7eaca23e4c2bb68f83d038f2a1b3bb981676fd45e489b468ff22586518a003b2b931cedce708daecc6018691dab4eec47c585059191a3df3ef5185df26c3ba03e350eef2a951fd6d239cc7e052c86e5773e6fd0b5e81cf527e1e39085a2ef2e3032c3782d0179f46d18932a277f694ec372edeee3987f251e4e98ac1beb45780a903582161c252c119c10ff672ccf5539c797754b008f28e750e805325bd1c3e5975039d7b329735a3fcd85d604c0d96cb086469d846e542615887d633c6399233135e03f05c882488e83589d4f66d1aba52c21b0fbe763157c149fef33b22fdb87ef918033dabc860a3600162ea5648f29536b57bd2465bc4b3e33b1bce3daa4a9410efa203148a41c7a37b59fd968c5e8c4a239e9590bc362d64d8256e9ca2fed81dedcfd703355bae9703c2fc880cb1be7ed01f984a133ff94687b9466e461f15fa5c11be1e03274b763527716e23cb6c3b7bc7c10ba80934c097a454f22c4abb8cfb68ef8e0a0315a02f76a23c48c293c2854a6df292462da1ab8e0759ec7e21fda15ae5a73248036be14073fad993d242f7f40eb92394926503052266593640a76e38ecba9aa4f403fc777eb06f5532f4f0cc7fe08dfc3de60361c54dffbdcaf2a33a036ab8c7149503788508cd75a904d09859d1ca2c691928cb4f36b592cbb62f5e22e533ecca848703bbaf06358558fa526cdd5c5317cc750c67dc67c082409cd9373d243020879fee0344d5da43196c508c04d4053f945543bf597442af95b11f89b8bda17d9f8601750316120084bdc76cb9f7220cfd0042677048d27e4c3ed8f8b12f92ae51c4601d4505581e03d2a7e241a30692971baac99a46aa030293785bffa6b6096f6784ffd67007011bffffffffffffffff034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e0337cfc3c03ac53d3e767afa940ba1b55d304fb0349ec1e49988980af55007011bffffffffffffffff05581e03094ec6624e7bccbc81daf1abf93163412087721a7c7b4e7468b1a037700c0846195293bbb50805581e03054d21f23807d870ef3445bbdbb7acc8270391acfde626c18987b09bd00402039f0aabc66a3323c40cb2a4ffc05adec199b49686eb88f85a7fec87e3884eae1e05581e030a36c565c216ecb57bd9fee73de3edbc3d3c5e74b4d453a5a7fae6da3008471435eef732c00005581e034d9592e1de8963fa3e4a8c99ec9c15a91e6ae3c397a9ea61ac8dbcf4a0040205581e035afa38be1b54ae7f3f7b80230d3bfb90bde447a1f32e6802f09972e8f00c0247282997a8d4cf0203853d1ff03ffc090fe6c23a3682100053726d0011b79654de69817cb1cc6f5e4505581e03968ef2966a2a6fae7375ec28029bf948f3097d526fc2fa2de0e1529ee0040505581e03280ffa63548a1deba52becfd4c9998d93850aae39d4a7f5dff258c79a00c03470fc31c81c14597033ed539fd3ea6a988ef0b011247c4e6e89fabea53a0f2c8703d4d6e3ca295ec7c03c30c8254ec8f97120e621f3471fff5bf1267575678cb7c2a074a3dcb487046b305581e034f46299917b19070915e2fe2a120befabe1005d8b248beb1597654cc20084704921917ea9bd00219f7bf0328bc212d8d1746f0f35226e9899569ff867b272e02f5a23fab7299622c61400703716a5c2d05443824a40ef09dd0a5f7f0c7b05636acef7f23ab9cce0d854a7f1f03d73681e4397299bd4a19fe815dbbdc145a9ef73bdbb9c598bfd99402f1048d4b0219ffff0219ffff0219ffff031f5592d8a4112b342c6fcdd229d02b502dc83f46986550fc7c57bdf1d0e56cdf0315bb38796b80fc93d23e0d109bc5e3023691c1cd76df798fbe493a8b7edc91250309dd3f2b1897ec4df73a7a52c3f735f6ddbe7bdc52a34ed8751d1272f6327e0d0311cdc65b429b481d33afff3b39d39bb1ba43174968d8e2384d23cbfd0db949c803d76d4009367b2590e2a625d52606132b4af22d73962a676b4c83e84d29061a5403411194a18fff45d7a74104f572ed01845b2a61c39f5007a96c709285f8ceadf80328dfe213c6f3bf43ea2c0dee82b36b19c117cd293b7e51ab32355d2a850333870386e19ebce4d2219a22ebcb6261c3d720388cea6b453e2505686a79079621023f03ea17709c5d01cfbaa3e258044727b57934a820259438420ce54f06d42b43290403520e236a8fe0669b7203e4916ea6a9046ba328d492408582245831a6c3c54c3503ea85d8deca343516feacf567504b3bb9104de78db732cb26e1fed7c4a7d1354b03abdbbfa79afad53c712bcdbe0e1929397973f8370d33924a04512c8ee68e481f03f78af73a5b5d18db20c1b9583f01ab79f4ae6baed63de6c2cc136ef66dde66f303d9bd608e089b97b690ae03c772c9622b6d867de30b5c867d7a7da260f091f1ef0346d8a769f83dbde484c129fef0b0e6d9c210035f87239a741ab2f359afceb6ee03578179c7536e3a03139e73b6fc1044b81a8f207154d946a79ff9304aaa696cda030571dc26003a8166c7ec66b50d3edbe53a1badff099d8d5c3c167a5fb7a95113035f45cb789d778cb78843de9cb05b61a6b88ad9b56ee1b7a8c036cd7c3dce548a03e6549b39f29fcf09dc6b79d1b180478917bc4f7dd1a3459907f52e4442e30c5805581d0222b6430bcda691ffdc3d859d9110882db2cfddb17810afabe1fdb7d70c183248eb1d23b36fa832ad0219408005581e03d6ad250de3c4db0c492bc178961c46d325a4a6d54d0175371f5c3b0570040205581e035ce519474d43304378236713a2c5b2855b37a4e5e14df8d929d2d8c020084804ae4cd9b35a000005581e0310ca6a7325986ccc38800173d4dd999b3a0ef2209d4cd354064497a7900c02461fd51291300005581e034d543b0548bd4739f1b95dc96fa0e714c6be21aa1c22a7a0a2cd8232e00402035157fad2b6315e15bc48422e1c2210cff365d9082271e35c303d0171429320cd021914ac035161e5b063057663da9a3d877d93ffeb8054932dabda621cb3edeea28ae0fb9a0346878f07b6ff021b5daf746650829692ddb903c222ca2fa831f9c236e7758b9403677409ed2feb809fc225dd1b8ef870ad8db477c11b8fef4a78e2d2ed133d4c39035fd350565295f3871c7f6ba0ab3ab47fe6392f032f55c9cba8fcc191d950916103f2a0ff931d01697b968deea96cdf1f7841bb011dbeb24e646c05ce45320a18e103350ab3575e8a21bbfb7a30794bc32c5d5f433cccacb3d40db2012a20d869fa4403b4327e2aabe65d0843ebda8748f9c5ec575ee617d30b8bfe2ee17cf7df87fd7c03a8d694b303f03baaca04cb9bb12449d40071bec4f044a187b3f543ba3f15210a0331c65b7660a5eadddbcf53b984ccb0552aa864bd8eeaecdb8abed4b1effabdae03f30a9bf6382187992ca729ee27c25058e4df61816588d93018c9bb0fa8e34631030b7e977736e6f6643c19cdb7e854be9a9a09c3f5d3ed855253f17e00f7534edd03c9fc7e25a44f87f4912f87e4672889e5acf605e3bd916213fd223a3a33df836a03bbb1dc1c982b18a2fd5b3fc5aa4f29f99b55aa0d08063b3a617e8c44def381ae03baa8705b77794403c021a31e4089d0596cb1bb3ce27e38caa8e718e8f093f51e0219ffff03e53286f777d24dfb0221840ca739e5a85892330cc1bcbb7899b70a9f1ebe593803a432b71a8fdab55cfba5e31471875794db9eabe2af9c7cf43321b0ada046a9230300758806015746947b07f57a40f22ea0f6c0fb7aff5c34a256e62fc75b20dde503385ee89369e497b180b92e418f554766a60960ffc1fae040128e4cfef49cc41c03375dc2fc82bf69604fbb9cab6f3a0fc59fe77cea79545dd1c63db7e925cddc9303ae76dc706a9fae10ace24b3079575650d5af154b949bbd59bf9a59af43de0c6203762da45e788885375f17ff9af2b9d21d55e112fabcbb761c67827573592c9b4603955903925bfff5e43a991b4914413c3bce14287ebb2871360391a18c3d20443c039b15a65ae781b90efba4d0dd934efa3f84455ce595888e50f68140f8acf23cb20370e756070ff32ac98de7c00de72d7b5120c8a594959a8f87b94711ddf17e5ac00219ffff031ebba17821228510ce43fcf6dd1e11ee418d56757a54c4f7e3619c198b85bb360302db5823acc71a7507bd6830be1f99f713b898e8e41bf7948680db44b7fdd625033af7a1c659ec030ca1c2540a62a0e214b31221de3ccc4c0d44b8c8b61f95ce9f0219ffff03e483aa8553d7e4c2a9d8fdda8b63fb206bbc56b2f811fc8b309f4c0352e3d32303c06a6c30f0d17e4fb0c5349aef90534dde5c0d6907f5871bd09468db13efabc803d8b547aa3995bf2580e713f2f1169f873ec050d768ec0c6bc3b3721af1098ad603d16b3433183e489879626135aa2dd816629db8dc4774b9112c443cbd71937e5b03afa58120a40c9050620aef66f95ab9a25911e2b80d19de44ac0530c90bde010e039b6ed4e7dd8bdc403fd5296b938ebeae1bb6c1fe9218dd735f23663d2706a93f035c28d61715fdca0966add9a1234f0afe785e40d09323a64dba1714c5cc9f20a9033c1eb519ef2fef9e91b4479357656a478c94ad0bf9094eda1b1bbdd66f06aff2038eadff6e0f4d95644ff6bcd57ffc6043adf606434b5c4ea964743442d41e5c4b03e9bc449b67ef686b408fe4997ac9a6ee712b7571ecb5ab34f7f3180852b018b6031912ccf7196889e792deeb08bc93f74ffbc5e2a8d96fab073ac09fda52ccd8b103b21d6e498c2dcc5b1ebc41223db9b71a3268949ac874efc8586679d4b868e69303df52ed01b0b4e015f8630446a22cba21b366a38d12a2aefca86483b2e029301903ec0d3c7821dd27f9687795f4381ab5c1fb31133bed5b55e712100bcd8d8909080302904a93f64b987247af63aa6250ae856a52c9a6d1de58b2a23eba1ee7023e0e03c719162ea92eff6e21090ba29e46e6edda2b73a553183950467e3a5d9fec8aad03e06e34b5c6455227621b7cd43d32ef1a2c1dc38ca0f6a47d045e2e36237ee76903c907ca0475e7e61a2a58d81dd550eed3ae2901d3959133c95ea178a0bcfd166603c53483ad30010e1107d5da2744ad784b51135a25e1ae1b67ec66a22f1500a3540390a3117d08a81430cf977f9822e83ebeb0a37bdfc8c75dd503ecee5ed193aaff03c043f846b932381619fd6e475bef91144c195e100b8873a7eeaaac7705c4726f037a9e5255ee5878a16849c34ee794e6db73bbf375de003c9194d57f8085615c7a04592b6e608060405234801561001057600080fd5b50600436106100675760003560e01c8063be7dc09b11610050578063be7dc09b146100aa578063c9353cb5146100b2578063d5f39488146100c757610067565b806352ab413b1461006c578063832b24bb1461008a575b600080fd5b6100746100cf565b60405161008191906124db565b60405180910390f35b61009d61009836600461214c565b6100f3565b6040516100819190612580565b610074610855565b6100c56100c0366004612118565b610879565b005b610074610966565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b60006100fd6119ae565b61010a60408401846129a7565b8101906101179190612184565b9050610121611a44565b610144826020015173ffffffffffffffffffffffffffffffffffffffff1661098a565b8061016d575061016d826040015173ffffffffffffffffffffffffffffffffffffffff1661098a565b156101c6576101c66101c1600061018760408801886129a7565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109bc92505050565b610a78565b8160c0015151826101200151518360a001515184608001515185606001515101010114610202576102026101c1600161018760408801886129a7565b60208201516102279073ffffffffffffffffffffffffffffffffffffffff1630610a80565b608082015260008251600181111561023b57fe5b1415610259576102538260e001518260800151610b57565b60e08301525b6101208201515160a08301515160808401515101011561038d576102c67f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff8360e00151846020015173ffffffffffffffffffffffffffffffffffffffff16610bd99092919063ffffffff16565b6080820151511561038d576103873a7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff73ffffffffffffffffffffffffffffffffffffffff1663487b5c206040518163ffffffff1660e01b815260040160206040518083038186803b15801561033b57600080fd5b505afa15801561034f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610373919061230f565b63ffffffff16610cb590919063ffffffff16565b60608201525b47815260005b8260c0015151811015610604576000835160018111156103af57fe5b14156103ce578260e001518260400151106103c957610604565b6103e2565b8260e001518260200151106103e257610604565b8260c0015181815181106103f257fe5b60200260200101518260c00190600381111561040a57fe5b9081600381111561041757fe5b8152505060008260a001518360c00151600381111561043257fe5b6004811061043c57fe5b6020020151905061044b611a86565b60008460c00151600381111561045d57fe5b141561048c576104858560600151838151811061047657fe5b60200260200101518686610ce6565b9050610576565b60018460c00151600381111561049e57fe5b14156104c657610485856080015183815181106104b757fe5b60200260200101518686610e65565b60028460c0015160038111156104d857fe5b1415610500576104858560a0015183815181106104f157fe5b60200260200101518686611194565b60038460c00151600381111561051257fe5b141561053b57610485856101200151838151811061052c57fe5b602002602001015186866112e6565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056d90612616565b60405180910390fd5b8051604085015161058691611441565b60408501526020808201519085015161059e91611441565b6020850152604081015184516105b39161145d565b8452805160808501516105c59161145d565b608085015260a084015160c085015160038111156105df57fe5b600481106105e957fe5b60200201805160019081019091529290920191506103939050565b5060008251600181111561061457fe5b1415610649578160e0015181604001511015610644576106446101c1836020015183604001518560e0015161147c565b610673565b8160e0015181602001511015610673576106736101c1836040015183602001518560e0015161153a565b80511580159061069d575061010082015173ffffffffffffffffffffffffffffffffffffffff1615155b1561082c5761010082015160009073ffffffffffffffffffffffffffffffffffffffff166001141561074d576106d96040860160208701612118565b73ffffffffffffffffffffffffffffffffffffffff168260000151604051610700906124d8565b60006040518083038185875af1925050503d806000811461073d576040519150601f19603f3d011682016040523d82523d6000602084013e610742565b606091505b5050809150506107f3565b61010083015173ffffffffffffffffffffffffffffffffffffffff166002141561077e576106d96020860186612118565b82610100015173ffffffffffffffffffffffffffffffffffffffff1682600001516040516107ab906124d8565b60006040518083038185875af1925050503d80600081146107e8576040519150601f19603f3d011682016040523d82523d6000602084013e6107ed565b606091505b50909150505b8061082a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056d90612707565b505b507f13c9929e000000000000000000000000000000000000000000000000000000009392505050565b7f000000000000000000000000a2f1f3a93921299f071a002b77a5f3175492bc6a81565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb16146108e3576108e36101c1337f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb611572565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000002fd08c1f9fc8406c1d7e3a799a13883a7e7949f0161461094d5761094d6101c1307f0000000000000000000000002fd08c1f9fc8406c1d7e3a799a13883a7e7949f06115a8565b8073ffffffffffffffffffffffffffffffffffffffff16ff5b7f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb81565b73ffffffffffffffffffffffffffffffffffffffff811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b60607f505ff6a4f24a0aa989a95ffe4c8d435d76fb30dea162a3e3022e749867722deb83836040516024016109f29291906125f3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290505b92915050565b805160208201fd5b6000610a8b8361098a565b15610aae575073ffffffffffffffffffffffffffffffffffffffff811631610a72565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906370a0823190610b009085906004016124db565b60206040518083038186803b158015610b1857600080fd5b505afa158015610b2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b509190612134565b9392505050565b60007f80000000000000000000000000000000000000000000000000000000000000008084161415610bd257610bcb670de0b6b3a7640000610bbb7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8616826115de565b840281610bc457fe5b04836115de565b9050610a72565b5090919050565b6040517fdd62ed3e000000000000000000000000000000000000000000000000000000008152819073ffffffffffffffffffffffffffffffffffffffff85169063dd62ed3e90610c2f90309087906004016124fc565b60206040518083038186803b158015610c4757600080fd5b505afa158015610c5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7f9190612134565b1015610cb057610cb083837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6115ed565b505050565b600082610cc457506000610a72565b82820282848281610cd157fe5b0414610b5057610b506101c160018686611699565b610cee611a86565b6000610d0684848760200151886040015160006116b8565b9050600060607f000000000000000000000000a2f1f3a93921299f071a002b77a5f3175492bc6a73ffffffffffffffffffffffffffffffffffffffff1663f712a14860e01b888860200151896040015187604051602401610d6a9493929190612764565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610df391906124bc565b600060405180830381855af49150503d8060008114610e2e576040519150601f19603f3d011682016040523d82523d6000602084013e610e33565b606091505b50915091508115610e5b5780806020019051810190610e529190612134565b60208501528284525b5050509392505050565b610e6d611a86565b6000610ed7610ecd85858860000151606001516fffffffffffffffffffffffffffffffff168960000151604001516fffffffffffffffffffffffffffffffff168a60000151608001516fffffffffffffffffffffffffffffffff166116b8565b86604001516115de565b9050826060015183600001511015610fee5784516040517fdd11d22500000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff169163dd11d22591610f5e916004016127d0565b60206040518083038186803b158015610f7657600080fd5b505afa158015610f8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fae9190612134565b90507fb5d7e18f9bad5b40d7cf6bb45142dfbaef62527179ff5c249c6d6cc00176224d81604051610fdf9190612577565b60405180910390a15050610b50565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff73ffffffffffffffffffffffffffffffffffffffff1663f6274f668460600151876000015188602001516110428661174e565b6040518563ffffffff1660e01b8152600401611060939291906127df565b60408051808303818588803b15801561107857600080fd5b505af1935050505080156110c7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526110c4918101906122d6565b60015b6110d05761118c565b8651608001516fffffffffffffffffffffffffffffffff161561116557611162611149611144846fffffffffffffffffffffffffffffffff168a60000151606001516fffffffffffffffffffffffffffffffff168b60000151608001516fffffffffffffffffffffffffffffffff1661177a565b61174e565b6fffffffffffffffffffffffffffffffff841690611798565b91505b6fffffffffffffffffffffffffffffffff9182168452166020830152606083015160408301525b509392505050565b61119c611a86565b60006111e3610ecd85858860000151606001516fffffffffffffffffffffffffffffffff168960000151604001516fffffffffffffffffffffffffffffffff1660006116b8565b90507f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff73ffffffffffffffffffffffffffffffffffffffff1663aa77476c866000015187602001516112348561174e565b6040518463ffffffff1660e01b8152600401611252939291906128db565b6040805180830381600087803b15801561126b57600080fd5b505af19250505080156112b9575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526112b6918101906122d6565b60015b6112c25761118c565b6fffffffffffffffffffffffffffffffff9182168452166020830152509392505050565b6112ee611a86565b6000611335610ecd85858860000151606001516fffffffffffffffffffffffffffffffff168960000151604001516fffffffffffffffffffffffffffffffff1660006116b8565b90507f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff73ffffffffffffffffffffffffffffffffffffffff1663dac748d4866000015187602001516113868561174e565b6040518463ffffffff1660e01b81526004016113a49392919061281d565b6040805180830381600087803b1580156113bd57600080fd5b505af192505050801561140b575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611408918101906122d6565b60015b6112c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056d9061264d565b600082820183811015610b5057610b506101c160008686611699565b600082821115611476576114766101c160028585611699565b50900390565b60607fadc35ca636cd9f46b974d5bec4df8af095d0ae177ec6043620af588c03bdc6168484846040516024016114b493929190612549565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b60607f498df3ae522acadbf67e6aa5fde156a5b74336950cd271175e7336907df120e38484846040516024016114b493929190612549565b60607f5cec653b364cca3880afa73ceff506d0651d11d26abbbe4a56460aa933b21b0883836040516024016109f29291906124fc565b60607fb5cf2cd09307d6c717473134badbb9761c2c97d7565566c2a71eba6cd6fc514d83836040516024016109f29291906124fc565b6000818310610bd25781610b50565b606063095ea7b360e01b838360405160240161160a929190612523565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905061169384826117ed565b50505050565b606063e946c1bb60e01b8484846040516024016114b4939291906125ad565b600080865160018111156116c857fe5b141561170557604085015160e08701516116e19161145d565b90508115611700576116fd816116f78685611441565b866118f3565b90505b61172d565b61172a61172386602001518860e0015161145d90919063ffffffff16565b84866118f3565b90505b61174461173a82866115de565b86608001516115de565b9695505050505050565b60006fffffffffffffffffffffffffffffffff821115611776576117766101c1600384611917565b5090565b60006117908361178a8685610cb5565b90611934565b949350505050565b60008282016fffffffffffffffffffffffffffffffff8085169082161015610b5057610b506101c16000866fffffffffffffffffffffffffffffffff16866fffffffffffffffffffffffffffffffff16611699565b600060608373ffffffffffffffffffffffffffffffffffffffff168360405161181691906124bc565b6000604051808303816000865af19150503d8060008114611853576040519150601f19603f3d011682016040523d82523d6000602084013e611858565b606091505b50915091508161186b5761186b81610a78565b80516118b257833b806118aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161056d906126aa565b5050506118ef565b60208151106118e65760006118c882600061195e565b905080600114156118db575050506118ef565b6118e482610a78565b505b61169381610a78565b5050565b60006117908361178a61190782600161145d565b6119118887610cb5565b90611441565b606063c996af7b60e01b83836040516024016109f29291906125ce565b60008161194a5761194a6101c160038585611699565b600082848161195557fe5b04949350505050565b6000610b50838360008160200183511015611986576119866101c1600585518560200161198f565b50016020015190565b6060632800659560e01b8484846040516024016114b4939291906125e5565b6040805161014081019091528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081526020016060815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b6040518060e001604052806000815260200160008152602001600081526020016000815260200160008152602001611a7a611aa7565b81526020016000905290565b60405180606001604052806000815260200160008152602001600081525090565b60405180608001604052806004906020820280368337509192915050565b8035610a7281612af8565b600082601f830112611ae0578081fd5b8135611af3611aee82612a38565b612a11565b818152915060208083019084810181840286018201871015611b1457600080fd5b6000805b85811015611b4057823560048110611b2e578283fd5b85529383019391830191600101611b18565b50505050505092915050565b600082601f830112611b5c578081fd5b8135611b6a611aee82612a38565b818152915060208083019084810160005b84811015611c5957813587016080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c03011215611bba57600080fd5b611bc381612a11565b8286013581526040808401358288015260608085013582840152928401359267ffffffffffffffff841115611bf757600080fd5b83850194508c603f860112611c0b57600080fd5b878501359350611c1d611aee85612a58565b8481528d83868801011115611c3157600080fd5b611c40858a8301858901612ab3565b9083015250865250509282019290820190600101611b7b565b505050505092915050565b600082601f830112611c74578081fd5b8135611c82611aee82612a38565b818152915060208083019084810161022080850287018301881015611ca657600080fd5b60005b85811015611b405782890382811215611cc157600080fd5b6060611ccc81612a11565b61018080841215611cdc57600080fd5b611ce581612a11565b9350611cf18d88611ac5565b8452611cff8d898901611ac5565b888501526040611d118e828a016120f5565b81860152611d218e858a016120f5565b8486015260809350611d358e858a016120f5565b8486015260a09350611d498e858a01611ac5565b8486015260c09350611d5d8e858a01611ac5565b8486015260e09350611d718e858a01611ac5565b848601526101009350611d868e858a01611ac5565b84860152610120935083880135848601526101409350611da88e858a01612100565b8486015261016093508388013584860152848352611dc88e838a01612092565b838a01526102008801359083015250875250509383019391810191600101611ca9565b600082601f830112611dfb578081fd5b8135611e09611aee82612a38565b81815291506020808301908481016101a080850287018301881015611e2d57600080fd5b60005b85811015611b405782890382811215611e4857600080fd5b6060611e5381612a11565b61010080841215611e6357600080fd5b611e6c81612a11565b9350611e788d88611ac5565b8452611e868d898901611ac5565b888501526040611e988e828a016120f5565b81860152611ea88e858a016120f5565b8486015260809350611ebc8e858a01611ac5565b8486015260a09350611ed08e858a01611ac5565b8486015260c09350611ee48e858a01611ac5565b8486015260e093508388013584860152848352611f038e838a01612092565b838a01526101808801359083015250875250509383019391810191600101611e30565b600082601f830112611f36578081fd5b8135611f44611aee82612a38565b81815291506020808301908481016101e080850287018301881015611f6857600080fd5b60005b85811015611b405782890382811215611f8357600080fd5b6060611f8e81612a11565b61014080841215611f9e57600080fd5b611fa781612a11565b9350611fb38d88611ac5565b8452611fc18d898901611ac5565b888501526040611fd38e828a016120f5565b81860152611fe38e858a016120f5565b8486015260809350611ff78e858a01611ac5565b8486015260a0935061200b8e858a01611ac5565b8486015260c0935061201f8e858a01611ac5565b8486015260e09350838801358486015261010093506120408e858a01612100565b84860152610120935083880135848601528483526120608e838a01612092565b838a01526101c08801359083015250875250509383019391810191600101611f6b565b803560028110610a7257600080fd5b6000608082840312156120a3578081fd5b6120ad6080612a11565b90508135600581106120be57600080fd5b8152602082013560ff811681146120d457600080fd5b80602083015250604082013560408201526060820135606082015292915050565b8035610a7281612b1a565b803567ffffffffffffffff81168114610a7257600080fd5b600060208284031215612129578081fd5b8135610b5081612af8565b600060208284031215612145578081fd5b5051919050565b60006020828403121561215d578081fd5b813567ffffffffffffffff811115612173578182fd5b820160608185031215610b50578182fd5b600060208284031215612195578081fd5b813567ffffffffffffffff808211156121ac578283fd5b81840191506101408083870312156121c2578384fd5b6121cb81612a11565b90506121d78684612083565b81526121e68660208501611ac5565b60208201526121f88660408501611ac5565b604082015260608301358281111561220e578485fd5b61221a87828601611b4c565b606083015250608083013582811115612231578485fd5b61223d87828601611c64565b60808301525060a083013582811115612254578485fd5b61226087828601611f26565b60a08301525060c083013582811115612277578485fd5b61228387828601611ad0565b60c08301525060e083013560e08201526101006122a287828601611ac5565b9082015261012083810135838111156122b9578586fd5b6122c588828701611deb565b918301919091525095945050505050565b600080604083850312156122e8578081fd5b82516122f381612b1a565b602084015190925061230481612b1a565b809150509250929050565b600060208284031215612320578081fd5b815163ffffffff81168114610b50578182fd5b73ffffffffffffffffffffffffffffffffffffffff169052565b60008151808452612365816020860160208601612abf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6123a2828251612333565b60208101516123b46020840182612333565b5060408101516123c76040840182612498565b5060608101516123da6060840182612498565b5060808101516123ed6080840182612498565b5060a081015161240060a0840182612333565b5060c081015161241360c0840182612333565b5060e081015161242660e0840182612333565b506101008082015161243a82850182612333565b505061012081810151908301526101408082015161245a828501826124ae565b505061016090810151910152565b80516005811061247457fe5b825260208181015160ff169083015260408082015190830152606090810151910152565b6fffffffffffffffffffffffffffffffff169052565b67ffffffffffffffff169052565b600082516124ce818460208701612abf565b9190910192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9390931683526020830191909152604082015260600190565b90815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b606081016125ba85612aeb565b938152602081019290925260409091015290565b604081016125db84612aeb565b9281526020015290565b60608101600885106125ba57fe5b6000600284106125ff57fe5b83825260406020830152611790604083018461234d565b60208082526012908201527f494e56414c49445f4f524445525f545950450000000000000000000000000000604082015260600190565b6020808252602a908201527f46696c6c51756f74655472616e73666f726d65722f4f54435f4f524445525f4660408201527f494c4c5f4641494c454400000000000000000000000000000000000000000000606082015260800190565b60208082526027908201527f696e76616c696420746f6b656e20616464726573732c20636f6e7461696e732060408201527f6e6f20636f646500000000000000000000000000000000000000000000000000606082015260800190565b6020808252602a908201527f46696c6c51756f74655472616e73666f726d65722f45544845525f5452414e5360408201527f4645525f46414c49454400000000000000000000000000000000000000000000606082015260800190565b60006080825285516080830152602086015160a0830152604086015160c08301526060860151608060e084015261279f61010084018261234d565b73ffffffffffffffffffffffffffffffffffffffff9687166020850152949095166040830152506060015292915050565b6101808101610a728284612397565b61022081016127ee8286612397565b6127fc610180830185612468565b6fffffffffffffffffffffffffffffffff8316610200830152949350505050565b83516101a082019061282e90612a9a565b825273ffffffffffffffffffffffffffffffffffffffff602086015116602083015260408501516fffffffffffffffffffffffffffffffff80821660408501528060608801511660608501525050608085015161288e6080840182612333565b5060a08501516128a160a0840182612333565b5060c08501516128b460c0840182612333565b5060e085015160e08301526128cd610100830185612468565b611790610180830184612498565b60006101e0820190506128ef828651612333565b60208501516129016020840182612333565b5060408501516129146040840182612498565b5060608501516129276060840182612498565b50608085015161293a6080840182612333565b5060a085015161294d60a0840182612333565b5060c085015161296060c0840182612333565b5060e085015160e08301526101008086015161297e828501826124ae565b50506101208581015190830152612999610140830185612468565b6117906101c0830184612498565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126129db578283fd5b83018035915067ffffffffffffffff8211156129f5578283fd5b602001915036819003821315612a0a57600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715612a3057600080fd5b604052919050565b600067ffffffffffffffff821115612a4e578081fd5b5060209081020190565b600067ffffffffffffffff821115612a6e578081fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b73ffffffffffffffffffffffffffffffffffffffff1690565b82818337506000910152565b60005b83811015612ada578181015183820152602001612ac2565b838111156116935750506000910152565b60048110612af557fe5b50565b73ffffffffffffffffffffffffffffffffffffffff81168114612af557600080fd5b6fffffffffffffffffffffffffffffffff81168114612af557600080fdfea264697066735822122021db56ccd870b968b97e5ecf85695e8e5c797ce208697b09e353f96879035b6164736f6c634300060c00330605581e03855943ae3991cac580479d8958f6a33b277f3a6586b316892ed706a9100701192b6e030d5c53cca713f73a8f3fd76fb931ad000c10d739ea309a55685a0c435a82419b0301812d83d949ec6131faf58f155ee951f73deaf7dad88a9156f70895b3febc5d039e8ecd7d466b7c06eceea64d20fe316a21a752f46aa0d6d3aa811a978272e05c03254a24a6350f7d0a2dca5b44c4a08ccb238bc3b91f71e0514728d11ed976a04c05581e03c013e86f64066ef947cf83294b5ba31732d6896c5380e798bee38449500c01470150503a31746005581e03cf1cfff18b054bd098c106e7e8f65cc1845a612358539caf791d2808a0040203088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e03c37954f918632487bdb86c7d446225e2616ece1a0afdeae72920a8aaf007011bffffffffffffffff05581e031b5d1f7f1525385146fd3916c99584f4e7cc286aa99c765f3c9b04b4a004010219799503cbe787000e97fa930ccd24e3ef37728b49d08949690657518afd56184d0f2fb203f71682180dc0b1b80462dbad0ee62eee51e9499158a220b89c8d367dbd4ce4fc03325a9eece2a05a30204ab5eed3c06d5d4effa9fbf989565ca173956a27f9c9a80367ea36157a01d0d7e92a9af492b01ed733657681bbbfd97afa2b07cc566f4df8033dec0ae5d86d7de66706e111ad4616366cf183a233171b6ca636377b18f8315203f6104ba1842da5f7d6df011e175ea522b863f4799720ed086d38413b60c797c503ba617d32a7e31e3d9d55b33898ac279a67c10d3d5886b9dbb57134a7cec8747e03252fa0842d5cd4dbef7ec2a31b0aad803e7830b4bca4c79535003f0d3d26e757034b09968d124ee2d0759e42a8e60fa5bfd96974d986044872cf0891f3b00a1bc6038d42b434036d727e8a72f431289e8a91acdf34d937c0203c7ad1f0d97137db2703e77d8b27faf24ec4a88579c96553d4ac8eef6672c976c70b302bc1f813610a7e038389cd7304cd63021da517a2e90616a0b4b65a168e5aa9b060895bd2adc788290219ffff037884d9e162161c9dd6b5efa12b400591427b0bc30bbd619e2a96dde93db2cedf03d2ae761e73987fc09dd3b93b202497fd5c9d3a1ba17e7c6acdc100b709283137038395ebd3a24b1bb3cd460cad8874c92d2263b907184c9b9d9d3146e0a36f8a5a0219ffff0341e985f6b9913bde511ca56bc91eb349698baba97641f7a0ac5e7f0fc71173a80333c5c148db706b0229ebb52bec54be0613671095b60054c1e4523e5b6b3810a703009ae7d9c8ecf5e4cbcad1bf32c893bdcf72be36d320c43bd3c3f904d3ea65e1035596c1f0cf62503b4914bc3630d101f7ba1fbeb6f253313ea93f5857f2a26f8a034f1122c2bed6a738eb478f885b460299bf7192475bb181bb8c306fdbb625e29003c118aa9b955e12cd2c4ba6007fc2e61c9cfca733a3d333b1c73930bb28174c9c03a7a1c20964f5476fb3c0e1330eac82307e6af665821a2878928197af341473d6037ce93f104b105196c01a02adf97f6efa8ca9df2cfebe993d1c3cfeb5e35ef91503add6a1b10529cfb74bf6d5af902db62475ab3a97ff4fa7c962153db98f8fc6e103a2e44b7b742578984a4f5fca12886de53caed8084252933a85f0e4c4e1f339760219ffff03febf0686e04c597db3a421ed21c28430a0338a122af0b79b70bcaa071f54be5a0219ffff03fae0edf5f298ccec0fae5d2c1137e027278c0cb2c1ba692319c4e0a36f8c383803dabeeb5bb8404b25dafe9a59cad790f9680690aec95ea1b1224b844fa109acc403e1a561fb3e2cf01010dc25c9c90ed2e7ba1c94de3f4cd84a5007e5edf38c5c2c03368ce40e61acf92fde5257eb177e5e2b749de6d2144d0984707f9d0a236082390334e90d056f30dcb7550a23c2c100c1bbdb5c9644e2705bcf23256ea787d2629f036c47d70d4f6086ac1fbce4b8ecb8ff7df5e717d448dab42b35c28338189ad7fc03e50004be095935afcb011de87bdfbaf11301a64eee9a55a9757351519686a71703049ea3ff6b4443a1d9d624daf284fbb12d6e89324ee7da6c62c0b6b2b961045303a99edd48b1904a1288e5892818367d1cbc66f0bd2ab6fe808419f3f45db9ac5f03ce5c646ef9e211886d20b0cbd7516997e9651b5f3b9112531e8c452a1b2dbc2503470f3a160e4b1c29f1fc4e1a426f3db90c61de69f93c1d142e3c2d9a76b687b4032f1befbc5fd4ff685e6ea9926df31c71387eecb51d4ddca85a744f361c6bcbe9033cd15db1fcedf8f9a1df065f05d05f14aaa8de3ccac73216db7c3c11a7bbd5410314230517312de481d23b1a39756684d2796dfa9d92661d0c2c5d150672b1923b03645b93b0c6210f011e66a4665d0885cede92620a9424ce1127f6cea3652675a803a4de0ac7a12c014aafc4de2dfc80c365807116ca5f4884e5834cbd11cc2e20ad03f8fa306840b82f40a6710c729d420c74b684ec03f2de2c3514af7c7e9539457f032605a0d2665b9942cf1777b9f672a56ab757c4d74b880f07f34ed66c2502bf42039ffd6d0c43302107dd8f3827e739a1b2156c39ec948301094d47b389ce9689aa0389f9b11f25980cce32c5f036d7da1b4b700d48ec3755bdac3215a0f72e6c7671032eeb7a4bd084ac0d96d1dc51fc56addc404307982a9b774c5feef5a1fe0344bd03684a02f621cb86c7b81333f77cd931de99f0b3b2a5b58669d296f57be268f12803a56525a438d4645bb03321e6dd8fc12a9f2419fea1d0570510f6d3d80f8355900378b8e84bfd5f8ca1bbdff63cf780262c1f69a223379b9bb12771bb420d7058a703235f6658dbfb7fce60822d570a8b6509bcecafc0fc2c93fcfe0ab56580a6b7b80356a2cdcd55ec4a2b814bdc105fde37aaea61bff0c9e722c11f65456b5e8bd40c03952539d468163ccabda30673a43ee0e9fbd1c3797b9f1c1d8487749ffbadb0bf039ad591f820152ab4dd4f95e8437688240e9a8cc83963815a22af8c222a3d70e205581e03cf1c5bbf54251db1087a1fe9c5b31c7074f1cc5172b4d3858ce1d13dd00c014709ccc5de43ba00032880aa4367c07c00e0941cd91f52ac994af3c33ec3d2534e35bac574ad7d74610378be71d712a2c54c326edf01cdc7357462cebf17f177a814aaf08e9c1c29feed05581e03737e03fc0ab4edda3e49696ac00984d60a9e8a1e660fae1c843a3db3a00c044669bd8fcc4f78033990f8cfed0656ffc6a4926adde9ba54af10ba84fb5f560ee548aaa421d718f703ca08936bd5d4892b743b17f08ac4b139b0fd3c23f39680280813fce00c4b444905581e037001820b135ebc796405bd766b16723fd8c937ff60843a35e92fcbdd4007011bffffffffffffffff0340d74b9fc62ae2822e2e908fc3fd0faf3d671d120fc478e8ce6cc8510843a12405581d02fa4e3aea6b89b1234a4838a63f245c255863da4795025d05a56bd6a80848011fc51222ce800005581d02d706c3ff166d0ebbacc17f3b27bc2bbcab7026aefeb4a9a75c81e9c70c18b3471dae2e1b813a550219010802194e3603676f467f22505ad232146c3829d8db01fc1b73a932d83bbcf593313dcf91da5b03937583b5b5cf8f9315f4b4b0b0cd94b982c1c47853bda7cf00081154a34daba1036596eab42d070937d1e25c8b21e407cb88959c17aa87dbc94df826a076b273560385e001a3324a67f37e8c1d9b4fe9a0f83542be7aef993fe720f921b23c10729e038ffe9363dca449792b4fc30866c4bf407b3bdf2306eff779e61e78e4aeb25e200360285fe33b2ae9976999b954262593d03ecf894a154f658680d69366b15be8bb031a1714744eb0a15d4099602c19a180a9aa78a93a75e55c135668d52db6c045ea03ea340f72b687ccac10c4b0f4be7fb83b3ac1873f29f5d5346ddaaa81567a5cbc03b4449f59f45ea1e9dc2668a4eff72da613987a566dd05a0a0c208dd17d1a41e0039adbfe24e1e06533d5cee1849826eac166793432dbbb9170655c2a9d11a348a80219ffff03fb34be996fe30df8306d19a2e03300ee5256badd3035abebace366307914716a035f37dc8cf58f4ccb7e99182e57ae787feb714c3c8a6a5b38011925973c6fb7770346dee492df76add905fd42644251bb218586aee32a1dc2e8788672bcfcab57c50349bc3d12fd735b96dd0db61c16a6da8616fc4c7220380a9bb44fb217f1e825420219ffff0345e88abaf5792242ff6184275ea95b7c2b3cc8f4f3e48646560629b24482d569034c8231a94795d8ec7bd9f1ed4d0cf18a337dd3b80bfc5b0f11ff94354510f6d30389fdab2002b718e0bf9bced4830bb9bf3887b9bf9a79d2bc29e20640230b0d9803c821bba8573b9fa1bc420424d371c099c8d620e86efe50dc9dc242322c20ef0c031fd6a9800126ff2a846dd5f30a6275585ae2c7d6110cf3677cd95a98bf8887cb0397c7e7f7c33cbe310442345489f5ca514605ee930e9c8042c98a34075a002145036a27db04cd5cc127735fe678c88a506ef11b4cc856100089b4eec7820a599fe203a5fc9c779b1cdd886ae4012a760a9ac1c3f2b86c6f39fea8b8930eba641f4e520219ffff030d8184dd7ed230e18baf60e5e3d621c4ae30fb2d9d3a08c846bb9ef5a497bda203d2b8cbac89a9924472cdfcfb2a82b7f984b68d322d1feae8090c2a83a427ddc903447f364d4832d5749200f64f1932cac164ca5e806a7ecc78c8edad03e476db7a030848acfbbc9640729c8b1802b6af7be941d37559ed40d74dcff124ec3d21fa6a03d3b21e9fad21a9d8bfdba60ca3666b00a49a1d9f039b5ff7573ca9a8ed939b6c031e735d6f5cba225c325ce7593f519488911f660b2f34d25335e97ad26fb4e2bf03922ba08b3af9691c9b2a4327e58285da5ea7f57a29879635edc817b62085736903ce76735b744181eb54468c0abf55c41a15b996877462045d42f959a73a247e9c03f8070410ea1f3581561bafc9f2b9905ceffcefb8f70d2a4d8f0896366c91c72603c51239be3ca6f25dab42637be8291c3d24e6dd4e3131dc0c6af8b9ec603b4808034f20891f773085a6a220acb63b20de4b45b5ea1c53e0dfa655a880210aee6ebc0219ffff03f58c4b04a16eafa85af76968a6a960a6e7e2f06d7f9061533226ccd914bb060b03bd0d003c46c5fc75aff0b02b825ab6fdafdd64953ed744577ee22f6e2bc4e1f903b84a7987f88c4988ab3553cc39a5fc66b6153f39b4cfb4bc44b105dc942058b4035e2a2ee6d66e7dbe9c27aae9bf70c9816608043424ab9786cde02f21ff4beb1103440eeb483cee0cfb9d16c77b96d9b376791975dd3324475f7f22b9cf016edac9034057976444528d2e047f8ac352d9de6576bbdeb836f3a265b9609683a541f0a603f5ad1648aa24d4aef78baf36156775a9ce4e230303d05e9746f9321efda47c0903814955f52340e1b46bda4c05f4a8b4f68382bbc52a00ffc566d2308fb4cd594b03038d7947fa1ab628744064cc174e6ee9f508f282b54f8735a597a8342b8c9649038cdb0e80b29dc1866f283f19106f5dea25f8d8ecde5c6dc4f391b0967d7fa65e0349f8cfcfb6593310765956acaf7b585219490d1b4f1d089c3ca8f1272ac2cc220312f86cf033dfa6e3209244fbd1ba738ff2e2c2fe763a8bef60657c5e306d2de403fffd1493cae883fb989a5b63ef40e4dabf4940195f56b382d478c6ff471020220332b2b6332b6cbceb8527f04a70b405c7922bbb3d43b7dde41f675739e50812f103a41c241bfb7d27db1c296cdac68a0226de708fe55a9b216d8c7d37a84ed2e9fd0325e293c5f43d32bcdd11d2a8e76ad583afd49be4ea6bd3b62328e5ed42e5bdf2030c7ebcfab647760e0fc760bad9cca67877f68d02ecc17f3cf9dcb78c0ab834a0037861e8d3ef64eae7a897819c91016c0b37a29dee234f10563474494481dada680399828b1bd083b50cd81b97b030f3301231bd8ddb8a9ecf6a67a48d5d35bcd38a034707b163bae4016d81db91b6101d3f879a7f2bc5dca27313245852575c73c6ef03f25d1cd6553f402b4d0b3f8af4df917fcfbeb05bdbaf4fb150ef641938e468f903b0dc11fe03b202712484633e607c9a4882fc5ec8a423c859d12f517c5e57b95403977a9ad05d4abcd189ee3181926e34e76799da93124236c07c3f5c5de2aeb56c033245b7f7e2ba8ceee9c06c0ef3abaa0bc8c4df28d8776c7a227931dfe2a8e10103d0781002149c7f5a06fecabfe3ee27486a47cf58ee37ea45a08d05ac11924e2c03e25900954fb53ca755d70b15b110f15a1794c9ce74e1e3495d16a61ba41407aa03cd4e70a02575874f291dc0c216053a86cfbf974e122d6c8b4b0735d4e24d98e205581e03a3b855d864c7f5036ee907001008e665ddeb0a81bceefc24f88cde57b00c024701d0acf29c0c4005581e03f949de0367bafdf44542e78a210eea587d86f48e62642a1ac6f451bc90084a014542ba12a337c0000003e14504c6fc03a7d8eee36a92a4bfa1ae0872bd60728f2d044ea937c7d8cdbd740368c332f85548112bc86491924770010f9f95edc7a191e0183c9d87e93bcaa10a05581d026d8071cd6a826ae4173013fffcfe864b41bcede6fff5fc284cf9226d0c0647521c5f2e02223a05581d02d5897f046e631d7e3f7bef34e28f2cc50ebd8d9b12af07447c31cc880c1a0099741e4a282a8f9b30f17256ed0d0219081005581e03fd5b8921e72b1f4ec685270efdaad8427a005e3bf5d4390465f7f43bb0040305581e03c259821a7e1c4f404b4800fcb87a47abe770628eef633c459efb1025e0040405581e034b920ea8266b9524382be87b67ba2004bc8a68288d041517f649a34c500c014671c671b5764805581e036eb658b41b208fbde4e6c457423728d19c95ecd6241f231a3424589ca0040105581e0322529ad42b234ef9bcfb39e0355c1212937f148b5593648c0caa4f76d00c0147018d9f5be7412f05581e03d5000010fefe5ee1174b13c64b520fa76bd8895bf14781aaf5bc5bba000c01471b3b2773938a0003088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e033bc2752016ac4ff4730c22d998292af9ff70ca52b5768a60668fbd2b5007011bffffffffffffffff0219ebef03df9e9a063f23fad932700c82a9c5c9ef7802a8ec1462ad01656bed4c31f519b303b45a94f53b1085562d0874feabd0ae31a8a45cf4bbab8c6f1d2c09bb51623bf8031366523fe04bba2ca5a1d9b1c1e8ea8d40c126e9e52823bf4c0e71987b4977e9030856f83f091d8e12c94e2dd1b90558dac9b88425014babffba18f9a57cf55b8003bd9ee87669193dc523c39e54a0c732c6d4cba636f5cfb26d16349129a17dae04035c740350c387fb70107477fc5f37e9097a60d388317f211c79822a1dc83c963503e39567238fc916096177028841555106dd52be35c024791b89aa74f1ce876bb103deb7d65a8bda6e782fe739959f77f155ba53ea0655174f0f881780d3c3f1d9bb030e3b287351dc857fe73f2eab41684beab4ce5e62c2ebbba6b07a9b00f0b28ff803a9f0e8d8e98777cf9798ed889cc827de6e92231fa08bfd63ec27f8dab5760eb80364e2503d204dcf789b8d99fa4617f6fb50e0d3489b6545022909aa58393fb74d03bf29b47b399066acffcfb90fc227ae2da985a789414620dc1d0fbe56c46c38680219ffff032da8119aba7f00caff5b1f0615848fef30f21441d94c5fa76376232e3736dd5f0371c05df1a5b95783f1ea1c50c04fa6ea2ca56c13fdb7fcfdd3f922414f76c2000342453736a6386194fa58af77b4f8bed27225bf37a6a67246a2a9cc90a63fd96a031d319e73ba41eeef6258a8b430df47109e0ed837a1862f793c8ed162d72cafc8035548b41203d90f8258a459df848d4121e75be70fc85368a14d2f41420c0a2d7b0219ffff03529b612ddcb2dd054e3301ea727acded779d116b4464bf86cd2dc807c5a810ee03c758d857d36332d47bc4a0d0beaf2e4793070062dccf585f9de5f6c9dbf87757036bcb88c2e783af6f7aa206d07fd4e6aadcb26f9445937bd9c276f1e041708382031dab331aa0408ba9a3d1c4ee465990dbea9f8c1c6203eedbe6ffb8a4ac99fad803b523bd0cc4f2bbed633e071b8b09e3e788db793a8ef2335cae9f748d3a3927f603455ba38e38e1dae3c098afb28cf9cab4944084ac6f4dd5fc3246e02ee85141520385f41767d1c9aca2350969b7979c0e945ce56a65dd40d0305c5020cbe6c166a00333a4e962e3fa0e9449ea6a15e409bccf08dab0f8ed076fa4248716419fb7d46e03ab70dce88e42da6daeda7b0881c96bbc0473da8a941ed42f2d5c1bafb348b784033e61db1ba67ff8484dbe069827fadd0d787185fd3016e13c7bc642bab54c57a70311af7d2edf31f73234caf32047d74d451c9a8aae932cbca8d02b1864c8f3047803f6a3a5643eadbe37212a3240ae2c09e8dc0e395acfe1fc620a722d7a059997350219ffff0349fcbd1e201e8196b9ce9dfcecf941c35b8759b3623554980cd4bb8a9122c25403d023209ceaad96e6d22dad17da5e0b112751d187f6f71d11c3222be9851fcc65033493cb3d5dab5f9f7f68cd99aa737e4beee3811c183db14c32d1f6847fdc6a1503554fbf5af7d0ce631cdeeb39e1b502814f8dc3ee14819d1a3ccea60cc53882bb03b5137ec5dbf1f925103f3c4bde8efb6bab29c4c8f0b952f794951d06a1d3889e034a629e688a484504a17f142cd615b9a293ede233a65c2d1ac2a6f5b5dabe422703f241320c09940bc9b0d2b0d2a9e9f2739e828ef30c583f07174e15ff5d469421038888de5426e7d9730645d677e3df69c957f92515a1e6522a65232730d25b773f03009d266a49ad6bf282d507d4a4b3249fd610374476d8a1c4f2d662b2e8e81c6d0363e1a419f3b12235d5d57f3bfe3c64fc43ceaf9166656213e7ae203525ab560703c802e5116eaf0c7349a132d2282fa501b7e679687d8ff7be9d2fc8bced40c37b03ead34bbf0e9a77ce138ee21410fa6163cf4d99a26cda52e7ff608be2bd94368d03230f441112e4926795f91ff88bc5c792b7faa1dcbd0a3f9a3bd8533d7fd8282d03722b45ad91b006d634351dc414ee40fa46c1dd38c203be0831c34105477fced203ce2731cb1089306cd2e3caf566ced223fce36f06de736e269a1839170d13ffb1038cad2b24b3c02a7b069da11f77bdd160bfb3f1d3bd083dc1059ee8f19828d1db035971caf985118fe683abb0a4192632bae9ce2950967e19f6885e1d8be844f1b0031a59966fab58be6899d91585c5a66da15bf3c211c853d4855a697b9c058d327d0326ecb6e187e0cade27612cbb74c5fc7736bfdf39f4c9d53780ff06a194851c1703998c77cabdab11a45b6d24819a195658bd8db8cb279aaed977a2879fc9f81baa034296d55534ef7ad7a89afb52bcfdcc2f769553d4394137892bea49f06880afa303136e40ff3e8ad85ba36bccc4536abbcc6e8c501c93a5e144d03d53b49e72a09803138c8a35729bc61afc06fabc7bbb8b734b2d77c2bb36cbf88c5e6086c9bdc6e203f15fd3cc8adeb76504333f887eb6dfccca9fbfb512b08dba3288e902e98100b10350f6e4020bbf077cbd310bc8b1f182b034b1ae44afce50137dbe9d8a3a51238103328787e4f384f75991fd337a6c390b7e5e46deec6989c89a3407a353fc5324df036f8d4d5ff271472685f7839c0f4996008715b77579d1e63a031620828a6402150381e18a64ff26e083ffce3fe45553aad5ed37dddf186e93e8a49ad18f9e4e416305581e03b9b5a8cdfedaf2afc9f7c1aafc4c014ff93509a364f0c4d5886c86d0400c04477d65a4aa9894000395b87eaba354512396f09e327371bb5c2411d4993f56dbd00b023d5e5c32dc6f03df534c071ba7642b21cdecf8d368c0c54a8a5bdde6454209f60cbe0497df60260352669480ae215603c0acad369cad8150bb28c72e3a94d5cb0b8484190b0c41c505581e0332914a226945ac2fe47aa21b47bc984f6ea2aa4188dd125fbd6418b7e00c04462b32237d5ed005581d0257d08528458edb0e1a47fc4d7a4e6041545e37521014fb33560ad2f60c0147010015a165f56905581d028280c40e697df5df200c7434ec2ec228faa943ada18805b5ea9f2dc5084903f7d9578425536c1b020c02192b4f031e5a7d77d90153daf35442459e357b4acfea9323581aadc329f654be3081d5c103f4493a4cb8e322ec1aa2a9467c058b6d83cd540fe7ff3221303013823241c17103ecd87a8f8c059f8b2c5cdf2e0b7c9ed5d29d90917fe43b25e4188caad5aaef1b039f892392c7d16f6cefcc9ff0f22ea237941048d3a9633f9c8cee5243b655b52803ff73f3008061d5ba47ec1007c8265c7ed10a44a28a24d9a34984d54e7559ebd303cbe2bf0686a1c44ba087580cbb28051a3f03e630d8aef3ff40eb77ab355d381d03a1cbfb70fa133afa54047d3574168a91844a64601e59ff52608e123f7b8431f703025d13ca97293946916a6709036f239f3a4354e8daa794dad65a990d98f0a2b5037c3d221293bc36aaa00811726e4d99392befc4beef823384daabad92fe1555820219ffff037a12bded195f8f1b28a619bbce14c7b540fc1d3dbdc3a495f83054072216e34a031d283024536090c9b4821759632d592d7290369f8a2bb8a2d64bbdc2bb9cf7bc036ae17eb2f4e32d239e533c3f45d4ba33cfb90e814e9011c33f72ed96c3d15c0703238881f31fffd05c0bc0778d4428fc85f3263ab6f4dc7e298783e0bfe4e764f90353a050cf7c6e82a98f5c43ef7ed0aadee282314fdb82c855e3c6b2554eba5c6303fc23e67b8b683d2a9dbf7c8e7c3f8306f2d9ad6994dd99504508179d0b8102bc0219ffff036cab28174ad21331d1eba66acfd6b8da131323aef10ae948e6ef1c679ab1040603585fd877735189eb5dcecba057438e2002c56cd243b900500f3cb411d1629f9503c51139ca8456b29bc6eadff7a5573cf4dd5dfd77390fae9624944a5970e87e7a03d4fbaaf3d1ff75df610501fc4762bb3019fb469b40cf1febf18817bb5c9e5cd003d2af6a4eed928d9603b08d51091986cdfe5fa5d8f37454aa8baa74b1286220eb03c2cd500da2c1d83def1c9dc2fa366257df242ebce939d263465381f0ee1def87036eabd6faa1780e94a9e8e9d5a961ac9dbd50daad0bfbcc4662ca132fc4cd414603c81e58d1dcc5865da9123c8cc04cc1cb7b259f80dfb859361f3b1bcabdd7255d0307123bc51c8ac2e168c31d0e0d0c1ccab3d9f6f744e8507e117ffa514d88dc7603ab664c064c54e74509ce77e2be72471458b78c053de33b673b7e82b384c1a206033939f4ad7896dcdf1747e3a35c3e7090a3de53ce4dde13e4dd27013637ae0a6a034b7cca57074da3a10c54b4de11685109371d8c99daa51e53c6a07e09c7d876f4035592ab351817aef9c2121ae85540c7819524b61a881d03c3146f69354179eeb903b705a52a16c8794123984261a94fbe2008bc1f97576b5d111f0199e002a53fad03db0d5825b569b81c18679530e91ca89ead4df25bc63df020881d330ba2e2588d03c0776e3096eff8af0177bfa6b22a2c4c5cc3910f36f27007d9fcb13b465d04b001410204591a86608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063a457c2d711610071578063a457c2d7146102a8578063a9059cbb146102d8578063b1d17c9814610308578063dd62ed3e14610324578063f2fde38b146103545761010b565b8063715018a61461024657806379cc6790146102505780638da5cb5b1461026c57806395d89b411461028a5761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca57806342966c68146101fa57806370a08231146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610370565b604051610125919061107e565b60405180910390f35b61014860048036038101906101439190611139565b610402565b6040516101559190611194565b60405180910390f35b610166610425565b60405161017391906111be565b60405180910390f35b610196600480360381019061019191906111d9565b61042f565b6040516101a39190611194565b60405180910390f35b6101b461045e565b6040516101c19190611248565b60405180910390f35b6101e460048036038101906101df9190611139565b610467565b6040516101f19190611194565b60405180910390f35b610214600480360381019061020f9190611263565b61049e565b005b610230600480360381019061022b9190611290565b6104b2565b60405161023d91906111be565b60405180910390f35b61024e6104fa565b005b61026a60048036038101906102659190611139565b61050e565b005b61027461052e565b60405161028191906112cc565b60405180910390f35b610292610558565b60405161029f919061107e565b60405180910390f35b6102c260048036038101906102bd9190611139565b6105ea565b6040516102cf9190611194565b60405180910390f35b6102f260048036038101906102ed9190611139565b610661565b6040516102ff9190611194565b60405180910390f35b610322600480360381019061031d9190611290565b610684565b005b61033e600480360381019061033991906112e7565b6106f6565b60405161034b91906111be565b60405180910390f35b61036e60048036038101906103699190611290565b61077d565b005b60606003805461037f90611356565b80601f01602080910402602001604051908101604052809291908181526020018280546103ab90611356565b80156103f85780601f106103cd576101008083540402835291602001916103f8565b820191906000526020600020905b8154815290600101906020018083116103db57829003601f168201915b5050505050905090565b60008061040d610800565b905061041a818585610808565b600191505092915050565b6000600254905090565b60008061043a610800565b90506104478582856109d1565b610452858585610a5d565b60019150509392505050565b60006012905090565b600080610472610800565b905061049381858561048485896106f6565b61048e91906113b6565b610808565b600191505092915050565b6104af6104a9610800565b82610cd3565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610502610ea0565b61050c6000610f1e565b565b6105208261051a610800565b836109d1565b61052a8282610cd3565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461056790611356565b80601f016020809104026020016040519081016040528092919081815260200182805461059390611356565b80156105e05780601f106105b5576101008083540402835291602001916105e0565b820191906000526020600020905b8154815290600101906020018083116105c357829003601f168201915b5050505050905090565b6000806105f5610800565b9050600061060382866106f6565b905083811015610648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063f9061145c565b60405180910390fd5b6106558286868403610808565b60019250505092915050565b60008061066c610800565b9050610679818585610a5d565b600191505092915050565b61068c610ea0565b6000610697336104b2565b90506bdef376571332906a8800000081146106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106de906114c8565b60405180910390fd5b6106f2338383610a5d565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610785610ea0565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107eb9061155a565b60405180910390fd5b6107fd81610f1e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086e906115ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dd9061167e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109c491906111be565b60405180910390a3505050565b60006109dd84846106f6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a575781811015610a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a40906116ea565b60405180910390fd5b610a568484848403610808565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac39061177c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b329061180e565b60405180910390fd5b610b46838383610fe4565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc3906118a0565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cba91906111be565b60405180910390a3610ccd848484610fe9565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3990611932565b60405180910390fd5b610d4e82600083610fe4565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcb906119c4565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e8791906111be565b60405180910390a3610e9b83600084610fe9565b505050565b610ea8610800565b73ffffffffffffffffffffffffffffffffffffffff16610ec661052e565b73ffffffffffffffffffffffffffffffffffffffff1614610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390611a30565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561102857808201518184015260208101905061100d565b60008484015250505050565b6000601f19601f8301169050919050565b600061105082610fee565b61105a8185610ff9565b935061106a81856020860161100a565b61107381611034565b840191505092915050565b600060208201905081810360008301526110988184611045565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110d0826110a5565b9050919050565b6110e0816110c5565b81146110eb57600080fd5b50565b6000813590506110fd816110d7565b92915050565b6000819050919050565b61111681611103565b811461112157600080fd5b50565b6000813590506111338161110d565b92915050565b600080604083850312156111505761114f6110a0565b5b600061115e858286016110ee565b925050602061116f85828601611124565b9150509250929050565b60008115159050919050565b61118e81611179565b82525050565b60006020820190506111a96000830184611185565b92915050565b6111b881611103565b82525050565b60006020820190506111d360008301846111af565b92915050565b6000806000606084860312156111f2576111f16110a0565b5b6000611200868287016110ee565b9350506020611211868287016110ee565b925050604061122286828701611124565b9150509250925092565b600060ff82169050919050565b6112428161122c565b82525050565b600060208201905061125d6000830184611239565b92915050565b600060208284031215611279576112786110a0565b5b600061128784828501611124565b91505092915050565b6000602082840312156112a6576112a56110a0565b5b60006112b4848285016110ee565b91505092915050565b6112c6816110c5565b82525050565b60006020820190506112e160008301846112bd565b92915050565b600080604083850312156112fe576112fd6110a0565b5b600061130c858286016110ee565b925050602061131d858286016110ee565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061136e57607f821691505b60208210810361138157611380611327565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113c182611103565b91506113cc83611103565b92508282019050808211156113e4576113e3611387565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611446602583610ff9565b9150611451826113ea565b604082019050919050565b6000602082019050818103600083015261147581611439565b9050919050565b7f546f6b656e7320616c7265616479206469737472696275746564000000000000600082015250565b60006114b2601a83610ff9565b91506114bd8261147c565b602082019050919050565b600060208201905081810360008301526114e1816114a5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611544602683610ff9565b915061154f826114e8565b604082019050919050565b6000602082019050818103600083015261157381611537565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006115d6602483610ff9565b91506115e18261157a565b604082019050919050565b60006020820190508181036000830152611605816115c9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611668602283610ff9565b91506116738261160c565b604082019050919050565b600060208201905081810360008301526116978161165b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006116d4601d83610ff9565b91506116df8261169e565b602082019050919050565b60006020820190508181036000830152611703816116c7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611766602583610ff9565b91506117718261170a565b604082019050919050565b6000602082019050818103600083015261179581611759565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006117f8602383610ff9565b91506118038261179c565b604082019050919050565b60006020820190508181036000830152611827816117eb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061188a602683610ff9565b91506118958261182e565b604082019050919050565b600060208201905081810360008301526118b98161187d565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061191c602183610ff9565b9150611927826118c0565b604082019050919050565b6000602082019050818103600083015261194b8161190f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006119ae602283610ff9565b91506119b982611952565b604082019050919050565b600060208201905081810360008301526119dd816119a1565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611a1a602083610ff9565b9150611a25826119e4565b602082019050919050565b60006020820190508181036000830152611a4981611a0d565b905091905056fea2646970667358221220056f08f9dde2f0a4525c56adcb75358f5caebfe595fd11c0fa473c18e10ed4a964736f6c6343000812003303f651d485364a01de27b633b41bf2e3115a5d128cc9ee08777772eaa5e008c54003eab98ad51dad9cdd6acfea0619e21922558aa52b3434f6ad809b27437f7067c40321f14f88da5428339a8dd840443b9ce4c0c53cdffc962e1cd238e0c4e822de5d03fe8f4a4282d5f094787d37efe354a0cb061910b4fcb07bce926dbf692d7ccec303f7ebf696c09f732cabed997463f32db6009ac61328b2d33d85d255d76a94161303ff6ba82ad055d9b46de9479916432013a63f282ff81b2facffafdf9a81bb19bc0368d8de3d99d90c4c5c4ba84c5ca06b7ffaffab0cad70c6bbe5c0fa5178a223160340ed0781b23eee24d6ea172ac657248deaab64557cf6e363dc63e178dcc85fe70346639b2dcb652e7b1756ca54bf9eeb82ee20aad9834700deec4ede3a0bc6abdb0361fabbcacbb1d2a79640d4566b67169d2d7e7363e387995c2fcb637b3e88007e03948698865c8d0a53a3ba148410e84e4774972207475961cdd6e0b09f10ade1a30364b90b8cf3b9499debbd905102dbf192da2f9e0a8d7bc3287ad1f64d36eb11d80318dd6f8570efe06502edfacfca5f06c39bd685a38894d893d57eb15bd82bf0e103b09e0c53b009b1993b70153ba29dafe240e3cd856fe8d78a41a57672e4fb45d803e4f1f83fa1899a2686840524315db46a6c3fda6adcc4fc7ebbc30f2ee103886f03f3ae0ed2a307fcc734a3ce717927525dbea851221a8305d5bbe939f601a0b49e039b24f9f43a473125a8efa4fc5fbb3491f164f419c068029057a4046f718c495503d823ba218fd3806232e16071825e39edf5279ea433b32cbdbd5f130a08cb811f00581f02126daceb72cbcb40ab649b9decf2838d6331b32d3578d63fc73453eb51004a013b18d36e9ab9d329b000581f0249b8e872ff7ee98ba9bd38426a208e44273d5649a6356eba18691dbe398d4a038998087e36ecb9d92b03c3cb0ca355d0efbf2747131ccc919c88f0a1eb940990a39d4c7d826d9a4272df00581f02ef809174efaecf7fb199113e1a61677823470b2c53ca9e8cf8579a0c48454a6d0e34b8950edbe0000003a85b767af401e0bf06f6a764f33b8ed4face313fee959e604f1bb8d9760a080501410f00581f03fbdac9cef33c39ff10cbe98a6faa0bcf28fb59ba4f220afe8f0225a277504a2a5a058fc295ed00000000581f03487df5c08a897064e48b42842cd3cdd45b081939c18ae189cf9f8d6cbde04a9b2fbbf5817988f16b3d0219104003075ee0522c3c49b4c058f4d67587a04bbe8f21a7619a8626b95b1ef3dd0725ad038ecc3d6db1e06fbfdacb867754d7d085b88758e116ae0b3e0e0018a33921810900581f02f06db0442ad8f090bf9aab13f1913e54823c9f012ac6f844764d4419af425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021967a6032f01b4fcf259e35d0090bc4db218559e44f1cc26053ed553c4af087dfdc958d70219ffff034057e6dfb27ef0de2110b407990be8d6c4f7c3b42605cfe4ed75f116d321ac3103aa505fa1d73a7022473851861597824b31791e30ca712ccbf8fc90cf31f211eb03df72444a6debca7ab693adfe54b9b97a6bb15bee664f59e00552f18ecab3607e03d4b6c0df144f5e443c40e08ea6799fdec9f16bbf4c6e1054d8ee57e890c606440389c49f4c0652691cca777150cde653c8799964e08fc4bd74775380137c73235803803b2afde79ba3ad03030a74a7bff81277857d65231185f991a437ad771c5a8d037aefb36cabc6486ac6ff34ae51e065242e0220c9b67092d5aa64d5d83ef7cea6031d42c3b9d974042fef44729afe9450dd6e504e66aeb691a080d5e175b508eff6034af862f9c7f74d3cd3c42ae08d71755de6a6b8c24506ea69605119a20a4b7897039d96e8ee228abfa00b7e4d882ed35ccaf85466fa0ec9fad9c4c94facee4cd27503252b52495393e5c71819ccddeae23b0bd1ca4ec9884611f5c741596732dbd2650219ffff03fcc9d284ebeccbb177d0b8a76b07768504d35690ccb706697a295a7bcef424a5039d9302048caba763de83d330e0b05f2a894d0d502023998bc280125b912380c20319da98a11f61bde4e6c4e165f7b594c7040b0386e80c4c68285481c8e655bc52030ae2a3c527439e553410c8781d4d46ef529c9e3b8bc1626d08c8838b05e279d4039e527e84c732c71ddfa8504fc40e86db9b82d30e79aac5d8f5a977147c498d9303317589a33aff6ef26a0d5272a0ad98e0d8ddce7bb4f4b06009b965140c0efd040335406cd209fc2b24529cff7480397dc933cfb87a56760a3fe48b7aaf298ab3110364b1d9e925e35b766032e83564284da67cf7ce92c0298e9e3dbd36feb2a5386e03330d58fbc2d3ec534413be6841012474d05254c2c63578be10319c54ecfc2d970323d62bb3e5decf54025e15108745c08b1302d93ce1af2a126948dbaf40b3595c03232eaedbc7e0ae67157a7830abd2e42a1e3c4e7ea48d2c802369ca7bc23f4cff039bef895340b4dda44214317df8c91ff143d0e04eef930264721f6c9e64cb341303954213ed14b9942f327b362bb53e21f075f65763bf0b8af08f01e89d6b3e321103f7b66f6e6599375ca8dae47477bcd11ea1f418e9016203ce94039f8a58dfdd1e036a8f8250a06e44050eb9e161fa0d7cdafc71bb9e7e631a8fc3c6f02b36fc202b00581f020a56b397c9a4f8f812a5c881cdd043ce2b4f7c592fc0f5c9645b608a64905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b1321127764ef6ecfa6f65eabfe26102c53ae4a182f31f21e9b68c00b6af4a06f8f87309f95ba60f39030a86f5ad9fa3b9824cf01861ea9cb88a609dbd8dba64c83be8fec97213f4c57901410700581f02b555c81f4bcf692a4eb3e16a6c27ed392b21c158630d7fc5a82afb0fe32f4a0de97c95098659a5421400581f02fde04fc5a53f0268fe7790cb3e3c4948c50c81f7c5354a57b2c91dd6fe4b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03bb86a39178597ddd8e6824dee9c8c91f86589b0e9940528c98b660a068c04a01a7fc77766d024031ad00581f03fe1e21e26fd4e7d6a1d9416ad16f1f83b929b1df905fabf1e4fc2ce66f005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218c000581f02bcf53e6faa04847e2dc0e667522a621f7e28663c750ded77d99647e633925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219455503a07005234d55ef6dfbbcdde2a07c7e6eb727ee48e866fad509c7054621857301036163e594ab5e83f361762367b377625dcac673c38709cce2e55acd460c689dde03774c488763c6ccdf9248ef1edd4125d794694aa46e501e503ae21c4c964173bb033d60d89947172c36df1727b59aabad3c9336568e8f534ae3ed38a507c4090c170370a97ed410e1734594ab9b03dfa3884f50bb6dfd438943c8a1d6b4a525ca453d03a3c6f71561e3b4b82a59a81db32202c66bb586f34aad5d393c2028709c2148010219ffff03c4abd7c09bdc48c4aad6bb80d82d1d9b7146ae040c6283514b7e68265c274cfe031ad1813416c647f1d43d402529c2bf71314b0de1fcf44961909981295ed54dda0365b126b4499277360ac2a4ce39af1ff81e4d0b7f59067c55ac40f632d47cc868035cb4cd98892fe020577940d1e9e8566c17f205c09bab19e0cbf0d495e8a25bb1030505d6e5f92cbb043dbfbe965341dccc5237c52dca9b53ad6fcd2c92ba6da68a03f4f4b441b86408a43c2c431dedcccad2c6fc0ba41277193ed030a5c3a37bf1740382e91b4c002c600cf1a4c2bea6f65f4c1975d9715bb63de5c89175b5a676d81c0300a4b37690ad334fca3e05db3f6bbe69854bdbe97e460099aafe9770eb905dc503882b29de02ee15fb63f4bc8f7a11037bc3b1382af73b60e03bd0bc09bb25aad9033e81c45a1d0b4fda12bd793fe323864e4e567a8a782945bb2ef3023a1e6eaf2c0327aac10e4cf0402e7d453d131a42024607fb87b84ec328381b3fafeb9c3561310359757f9c9914b6c6875330e01c1a6aaf8a5d1f802c1f945b0e57aea726bdcc1603c6f75181c3e5551623e46a3aac7f74db8317a3128ad8177c8decd3cd93cadac60219ffff0323573dbe9b4de5bbae218bcc4803548668531cdf0ba8bb1e7be4f9212e8ebd6d03d508d2ea8bb4f2156bc8e21b655536d13011bf3b0bf1a0f06afa1f1d08dfccd403c25c9b8b8b749249f2bc69c7165b58a2157c77864f0d11b9e685d6ac77534a2103759e93891679eb60153d59d51a6c6c40e45bb7c8bbe292a9a05482b36750131503c7844044411cb4812fafd0c76ce57839c73b0ab02f79cd46471d6a1e56cd37e20343d1b2de2429a79bbd86f98e5cbbb7921778ea3e244577f9a9e4eadde157c4d803783cdccf2384ec4a7cd6ca81c8d0d84a9ebff3750a7a8d48e0891f1495e9697803fb354232bd1568645e93190285643d370558a9ec4e7cf578519858452d8bccc8032b91deb5c9631b62c5d8967af56a666a3175a7bf78708d74f222b1c944089b0f0350f6a2e010417a7dc8ec596dc78b6452e86e9cf25dedab0ebb79cc6b18b575e803d15d908b3cdd441db36f7c0aee6a71c0df074c589757260e1b022dc4233562f703daf9fac35a33ea38290e50e7e39407ca83e567737727947f5f8eea88ece9a8820391ca4a9124e67111642cacae9b80de69c51b04a453e1a1a1c7c8ee97ea57bf11031709a73ca5fc1aac89551aeb6473aaf4f71d3eb03f46b8ea4fc0607f0ef6d46803f59eeb806e8cab8c611bc54a4df6c7c0e5d2999e97b1d5f38755eaaf14a6c160038d13b0c06af112c33126e1df1772f32a2b38e3c45c4f52a241db64d7e98f552600581f02dc06478ab704afe492b0688ddb419ab9d9f931cd81f9c339dcdcb86e4e235820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c32f7d9b9e7446bc432546001f12f0a707830fc1c355ca57f3e397c1f3464a99c1037bada1710ebc7003b19057fdae3cc95e35b42f03b65e41870ab54002687cf3be5aa7e30eafa6193500581f02a76ba77a1c0b71f4110050c887f25451d8e4344bb1d1516daf36fe8b9b375820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02a8cf114e8ec46f55dcc9902514b2a890359ab62500b89855632c05093c844a0a9bd5dedfd6cd37440000581f03e577885e13a63b64cabde53a13d132ca178db5c8bfba1c59a267fd1414104b2f4d1518712f1db33cace600581f03243788b89681d2c28140d245128e9c9f5cc8740f2ac6aa0715288b9ad8f04a0581767ba6189c40000000581f03cd41dd638a1a966b5bc0683261e5b5029a8878c752fd8632cb29b66f96b04a2042a0723be8ffc0b4000219204800581f0216457b5334da81d336e45b91933807a84d32e942a960f4e285d34cca21e64a0c9b83ef33a8fbf3000000581f0236cc8873090b7f9be5da83cb2b3d4fbe0eba4f4f616981fbbb98f7b21c844b0c1a4e102f1a834f227400030cffcd1c9b22693b8df95848a693494de67bb9e947bafea5a62f0fd523b833ad00581f02bccf53b31f67ccd29fc10deb8518a3c8f97b4e80126fe1473225b093b30a4adf3d88f01a1111e3ea9c03775acd681acf37cb55c84e7769b3c98a7230a09e5ec03b4b5d4bae0d78c8da6e00581f02947488e34b3c391828e953eb39c5d051aeddcec9d0d65424d661bab2c1084a2276fcc459fc9393000003bd36bb16e447f52d6cc3088b5a8445df96b951ff316266e49fd3d9d081ff098200581f0231083fe5f3b0194b15e9204ce2f27aafb505acc8537adbc5a19c271a35fe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b7ff03f9ce9ff7df0c4d75a2ceb43a39534723242c7f494bfcfbf00a9cced1be2bf2100346fbcd5e69bdcf32aba4ae16cf0115bdd8b2d831ca49241f157e6242290348380368ca79c59ae8e6cd5891e269e948aedcfe29088f45794dd7e8d51432c9ed00f903835d7cb8a5d412117f359aa8fc7fbbe9dc35741ef33660dc1f58bb3109a3c1f90330120654309287b1d785373abe7630ce60930317f402ea7026bd3ea0048cd80a03487500bb062807202c4d6733f6b76d1f880e039baf577c158ce4ebc7f6d44762033015286a202064a6c7fc205020ae1efe7d43e90fa9cf8ed022e8f55d920d25540219ffff03acefa7324dfa5a3dd99a716d87dac4b9bb89a7f13a346feb5254e54c31e1ced7039a1abe1b5fb82469627f7c1c99a0ccdac84f7aefae8f09a2d208059ab65e9f9b03bc506a8b189b1f32b5d14f245be8cbb79396af9ae48d9d35d5ce701dccb86ca903e2c6fd7784c28f7b82ea747dc77f108ae31b9d01a582c5812f3e05836852887803f546e0486cb76a37fab802d573f951cbe997f281cf546ad2490af0b46d72431003730bd88da71df5ea59acada5fe017d2d8985095dbc9875a27197fd911fd6ada103a1d7dd3443fd2c06b26798251df2a90cc83a8c50c7adf98cc40771c6520c56250219ffff0327e0584daf1fb1cfa37d0b1408949f5d9aba465e33ddceb7ac415866758f5ff8035669099c7282fbab011b2ceec22f48324bceebf6ff46861e1afb58f961882da200581f0251960c3a5f19d418ca37ba492f3e21632cb620efeaa15463077f2590f7265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cfb1afbc2aa933e28c94b589e7041e563f49bacdd9b5b2719d29c2b1ad744ebd00581f03ff8f0f97433eb0b157621e119af52ffc7f30366532bc8931e5bb22fae5704a065a58bbbcf7bb746c9d00581f03e947f9154d893e20b82d3dc8171c8df0e46f3c9ed3e4743dde37d7ad09a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03d556c518ae7b754121a2e060253c89565758169fe087ad597153310aa0d04b0126f7b3d4a1f8dae160000219940000581f02f1220fa75b31645d4a66bc8a8f4b8fde0819644a4abac9158d482f592a3f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038a5e4561c52298a2dbe1fafe18d3485dbe6c72caabf04a4c669881b2088a56bf03c6aec607923f3b92f834649201bfc8e2a7edc358eeda7c20f2bda35cb0c725540219b81a0319ba877f0c93dc055685944df8b7d268942ee9dd1a5792086ac608bf8073c887039be1fd14a2ea279ba7ae74f0fc98ac283ba40df24639b84f9643588f3dd4d66c0365352260eff5e35854e13d0a5d3819d3f853ed61befaca825eafe0bd5050176c03e111dbec89d50bf66817e33fba513731260bbdf23db95b7e5976f4efcd2f169603bde1d466aecb5cc1bc2f81740e1e1d20121a4b8f14b9a8595e0dc9e385ef9ce9038dcf6b2ff8fb4314ce199d7dd8d7a538a1f30ce1c51988dd5511aab6006458bb030d84ceb60e273d1ace44115f6e22a3aed07ffe61b2cf29876629dc606fe6147503318a32f578832c5efdf4ae3f76fe15dd2eb34e848374aeb89d9f3e4d683d02b10350f951780b5ba11988fe2f275b0cd33973e6e25b522babb3766fdcc829ba5e6703975a26db2dd6b4fed0db910b1aaad0012a2842fa87d863ef36bb3b227f7cfe090361b22dbf5ea67b8a4069ce412e23dfd50ae34f19462a53071f9c5dcb11123dd203cb6b09ba6c3852b3f323420a4bbb3182af869aa2dd9f12c171edf69130c3da8d0388dda206b2ad887f728af5c26dbf14054a7f958848868752568224e5fda52d7a03e1b5b4cb8481306a0ceb5463244ca2a989b167f1f6e19f5984280b63f4946dfb0219ffff0362d03ce77180b4640e3b01bcb915be1af0cfc85c5a5159b9d04e18647b2ac375030e660a199fb468facaf9e306df63bf86b31e2a82dc0bfb6ed77b4af544e7789803dd20b59b1b4560d6db7863116d2bd0568d6d5982c3cff0dd580950b66cbed8ee03edbe9e0d5ee83888a9533fd3ec2b8605616498ce89cbb9efd3e2547ed41366d3039ab044bacb753a06dca6c004925cb895d8810c2cf2cc2e5d5c53438f5cebf71503a1ba3507ba642054c0c5448777bf157790f3b3e8a9f01fc4ea611c2a623a73af0318035beefbc421d9e88ef711d18ab92dd502371b1dca78f391e8d8bd377250b603f7339c3b1ad9fa24699b557d37710851eb27dd401f0963387bd9b369dec0537b033ef004ab301c1e9ef83fba6616f32236fcb29dfc7d47a6e7c982fcbc33fc29a903de1beea86807040915bc0ba4e471dbf9b9074287e39e6b074f730130f24630b003550ad21e8dbf5f2ed7507e73ba7d08536d6b6b8b308de466c19900c5d725296b035878ffbd61372eff806e08dc091d9cb509fe9e510e8000b29844743fd6cb0fd703becc2e7ac772ead54cccf5d50bbf9e10e35330cbabe242e09e436a8e61d189d6031f45a4de77ed2c19419d3e1884f0843c80091013b519d25ba33791bec721bb0a03b8bd2fc7cbb3e27e59e783b61006834a8975f48ef870e6cf23957386a90bd4960219ffff039127d0a5fdcb9aa5c5514d370b3af309098dc62e8c704badf56f0bb6c1487eb3039e660edc2473251327f1f161f73034a0e956dcec91ba0ae2d104b8015429820003f8b791e3cfb7c854b5bffe57faaa519aab142f0cf7dfd546201360b77ef3db5403d9c683e89f3228e90f0b7b215ccedf8180f7b3887d4fe33a0a9b06bbd0b567b4038623f81f4d7e1fdb1f997e65b9e6597bc45cf74dd52a4b26b34650a22a2adf8a03f9841483d77bb2dcf8a50303a8c2ea701b3ba9cd1307ea11cb470f4edc9d2bf40381612862f263331706ca67957560869ce3be56b5bd2fc3f27b584af90da746800362ce010d85a4137b805912abeec3c9fe9e1d6241ebff88a724e5436a870e034903076ea1c1d41fbdba51596ed66b42805395584eb86805feb269028a0249174b5003a382f03b22e8fcd4abddae874fb13296fd047c8bcd6d22f25e0e259d70ea5ee603053cea179c65b99948724547dce1681d443cdc2df6fdd65cd213fd530a74396303beee1090b3d4a2750cb15ceb11d2142743bd74745e5a4d646e7b1e93c476404703453a3d45c26b937ea06989dc3acb2d5254f4e549f31716f7ed638464d7a4a50900581f0293d9b38d896258d448926ec96731a505da0baa2dac54dc30a69dfc65bec349b0d2704bfd65b6f67203d341c7937e563aed8d49c8ac823cff2d5633d47bf7f0dd8d62ff02abceb67b3f00581f027c0a2c8b844955b894c82fce1ebef4fed82d98116cf07e9a70696c79c2ab4a05190f48370a2c0669fc00581f02af7e9e249995dfa9d5b0010fa85e67a6c5df3245bc9cbb2288be641d11e54a289c3d675f1412528f9300581f02179a64b427116227d01c313eea204d9dfd89d6eb5ee2f066435056ed74d44a077eddf5fe430f4a5de003e42949c98f6d9daa9ce25b4d3ffec2a616e9f34855158a3c815c06f135cef14900581f02de4aed8b1000846953285ca60f6b3fe91f772d89f1fac75d0f77d916f54f4a16123dde1ddf818679e300581f029b78be799455bc9cecb83fea480df26523ea8c1662aa687f77fa8d220ceb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f022af101cc0e94a907d3bf8e56579fe457274de2de706037eea041878a1c954a04d23d78922b61a52c7603b357d0af22ec1dab99ce69efe0330eba0498443e0fa393b39cc0dc3488728d140219efce039b6c6d53a6981b317b52c8c3c6bc54ad7bd1ea1b3b59a2ef959f0b8a9d12897703020643942794597044f96899912fba623534bb850c31db5527b33dd5ee0d45f6039565420667f2058be749bae02c1a2081ac14d0f49035fb51cbfa24237d633c0b03a55f828c692710f80a94a450946a985b8086cbb4d65dcb31ecd1ef369c829db00379f707e690490e3f941c2927dde5ee522eed165c49e15b6b437d4c709c2ea98903a00ca7c2d8b9f02ac580d4fceb84d7ac3c659b331ac23d3967e38b481c671ba803e8b34bf0c73aecc23328c0e0caf0068e53b5ad685b6210b0eb6b55656830e8e6032c0d8f642e27b82b3bbe359b2dc8ba2c5b8f2bc3c3eb2386db5cf16efddd9e3d03e809e4014e3b5ae53e253dd4fda285a3826eed588f02f5536b1fbcbd44e8c526038f59d7b5ea96e20d1b28b2c99dc32c843b2f65bc21822d844349a355125b82830375569d839e05b1bbb2611e41d72bf066654e30d5d0f6e1c6047565dffe32d093034a47151536b525e5d1b732fcef305b08463039996b64229493b39b16156e1aee0219ffff030377abe1e9f43168a4c007c90cf81fc62099f8191ef37936072ea42b5f14d8ab036abac243e32a39e4f56b2beef4827ee1cb7b77e8b2e490f0e07d677b9dc7324f03abe1f695f11beba1c160a9c196fea99ec3a0e26d58f03a5b90d6d285eed2d7ae035cb982813b5173226ce26f622d240f0c75d61c1f766067fce5c1cda87d4469fb03c7ad3c27dd299119e9fbc31c153d5d7a5acab1142afaa279b074cb2dae139d54039ea27ec129557b9ad0578337143aa3499e901e9a325cb730f28c8fd4a27450e40368676ae1d6531557fdec50b61793c6a0029e05cc9f6372b53f9e32b45ca7576e0219ffff030110b0324b0ffa179ac0b614747e679c8b665309cc0f153b0b9d6aeb3ebaba22038a9167e2f4dbe0ee30ba933b9c3ab14370969d76f1796786522793f1cf14232203d49d56274b7e32be7c894a2165570dc8340abfb3b78b29090e117e47deef3bdd03b42d172341c3af69f7daad653256037b8c8f96e5a949084709f668d9ad646fee03ac15aa64383ef8027cc5d6ef8f9d5e5d4e51b4bf2310dc7bf239b41fdc5eacfa03987eb805ced1c31be72cb37b23fa371f24ecc085753826ca06efc57da7c20053036495ea467fa8ac4f52dc76e307b0d42faba1acc8d07788b0166dc067fea021b403c2007ab5255c917b77cefdc9798eaa4f475be3e9e79e7c472cb886c0b47c4cf103c6b34c458d4f0b4e9a3cb8f9c80ec3bdbe32cbb84f583bfc434459409e0906a503928b8297fb4269de7d789845df8cd6b7e6e5d52618e5bc421aee2487cc07c39b03fd9cb643dee8527af0a0380ac080cadf7d60e235f168cb31784aee3843e0eeb30376a990943716f273b00010e34d9d74aa91484e965878589b3aff7ff7d4ed483303806b55308b8a6baafb291b70be73ddb241f6cb112143a0620f2f7ea39138cd73032684bfb99c2f64153d977f02c2a087dc966b42935e6a64fa73c0f12db5aed8d2030bd7598087d699af3de386a6d6450481680ad458603924b6b8952c946c20d5fe00581f02d3ca87d43586bf60cdd8028acea885ae04c44459f1c2522d411578b5f5e35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0395c8e0d07d61fa2b44f415b546f36adde1d0209e632dedde8fe2fbf573fa9c0c00581f03fc686b2f02f0c2f3edac8eb8b95e83a1e0ea4ae1c74cdf128126efbba9e04a0261baf1d4cb7ea0834900581f0317fdf24b5d8c2f7b78d4b469c91fef50a8b486e65aac5f8bcffe256a39e04a0b845f0249a309d95f2702190c000397e41e6aa8e22bce7413f9d456381dafbe82f8a0f0603ed728a0edca78c2567202197185037ff41c06a401f3ea63a25df2131ba9dd21c02c895ba2f0b09ecdda673a22da6f03c64e0b2047edf5fcb2d0344c108feab01a77111903fd8d9aaf5cdcfc6d21f7b403d7de53e9c29cfe12e6a74a836083a12f5bf92b33d8196a1cfb934d7b956a44db0327ae0df440216e88bc291535653258573c1c8744a22d49a5e31e9a00834991ff03e411895156ae2d160096c763eb6a1a7dd01dbb594fb608fde067e6c44ae5020d03b8cbd6ac67483001be8265c05cb309bc6ffa9307e95ab9b7a0c45a2f5099d6dc03c95f67e9e0feae831fad6e9f746c23d79380622e7b00f7431b6e2fe934e81b8503ce59118fa954d7d1b3ac7d4bc71315f0e6a54678e37806dfdca72b1e6775298003509b09bd091199b5aa1d6cc57dc1b760ccb228c9564db0ab93ca459905e8bdb1033fe3749593c630a42ba81ae7b629527068f0873e1d3a92e788cc90766ee9b4490385274f9bad13f6c688ad441f29d28f450d1cbe69581fdfb4fc946ccb8227146b032a8da5d3d50e3425c625cf86120794797a308cb7974321c7039a36ed013438280375287cb5217c96dea6dafbe0cbf3f0da9fd2428009c379ca218557866da1357303464362a89243ad0ed293c020058278620ae895be102700e2dd4c99d086d2525c03369e7e76925826b4cd52303e66607066b1ebff8c82d34e918ef311c09ef0697e0219ffff03d6b34ea861d2a0df802da77d7142a965f7f6865e363ba7ea3864e5972af083be036a8595145deec8e2a60d8b78f507224fa1eda65b566d60dedde02a774f13533203ec06e4dfdc1a6930a5b9f3074bfd640758441e4cf1eb5bf22e52856b9a87791a03c6b72e482b66692e2bbac23259585132fc2838a9f7d47acc500579ecb5e5c9ed036e8765bcf8c6e938d63154ca4eadce798f3ad1d2a4c8f2a1819a542f0a63581d03253d3fe014e0e43dece6a729d25d38ac0358031fcd8cd2f466d0927b22eb594a03430e16cdce81d48fe06355fa43ae4fff471bf74166d21a68331d2c215975d5b10347dd77631536b5e4b3b7d85187276eec67c42dfcae7c77eaa57a354f1d1ff36903a041e47bb4d5483f4bcc6a0a9eac292e149418d0c73498d43fd73cf549308ec303e9292765fe25bc247df0f7505965170a4b83eebf1334b06b3d220654cdd5af540315bb55b49bc3f6dc51076cab5846a4a44240d4e3fc49d8fbd9f072c0e49ccfdd039186eba81b1d7b2ba0ccf2e1d410b8364f597933c530f7427ac60130a5a1d20d0319cb31532526c524fe06c5c66adadae981c760c309d1466ebf925bd94100901703e5f09ef3c81d926c52f57133798de3b77c67ba30f1bcaa7f3b430c6b9ec0e32f03ecf8a8ed267650d80232e8a58315a0737f9f149c7b6aecad8e4f6f50963de62e03f5d68bc1de80664bcf14b5d72717afded9d728239ddea264e9f67c1dd57bb7b500581f027070a4715dacc192adb06834c622bf208018e8af8d4effa13f1737a27ce54c0165e62d2acd4e9e2fc4f82400581f0220b79c1d43f5db6c789f1453e4f91634c1bb95450a86d27121d1d549d29a49a593fe591a9dd9426000581f024a09bab90d74fb82754fea6a913048bed5a3e737f9746ef6234ab5c2cad3494dc35f8440570d5cb600581f0206c5401d57e81418981f46f33892cfd958460848c9c643c5e4b60e99ee3b4b0341be093b53d6e779383c03a4172e6fed6854c8dc1ba13e08af13d953032d373a7ffff73bd66d2e1132701c00581f02a67177b9bfaa9556b51463d9c217b88f0918985645a0894ec53f3d065f5b4a12cac3b0d5c0bbb6000000581f02e4cb3669f1283caa35b8e8f55f7d4bc3a5695ef066b8120d99296811d60d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f025c92c7a89a57644637a51e368e2c161e48f9c7f8f0208fb3c2491c8388d44a02d3066b8f834108420b032eb299df5ae7cc3bee8363f9b07a02a9dd7c5f87652b383e95a76c503361246100581f027059f280ec6ab6f377c8f786ea834d8dc98d67e450faa605499d3e2a05105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f029837e9750db272a652bf6576ae4731fd64cca1aa785f4ca7e38192bb6d184a23beb7f52c28ba223ed60219d57d0300ec84612f347c0c096084ac728c7c8e8de6ac4870130f1bec7503446a93dfe1037a56da49efb79455eae987ea7c7adb37d7ed0e7b0111237932718e50987418e90219ffff035fa91237d2f6bd84bf0648cce4d96c553605f981262210d2713d6e51c47e2c840219ffff0336563ac05e8deef1d452fde9c9140ebfefc31de4790183bb73129489b62d32110343d9a502c1976322008808bdde1780a098099e2c8977d600f376dd558f3a94c903400edf6e24e553092ac4d75994fa7debe3e3fa22f186ebae3648d1ff3245410003ecddeddfdfed642f4ef81863740585b16fb498ee683e462ea8234eb1eb4c51f903f43bc7126def130fb009967a5119a96b5336a2c115c4c8b7cf76577802ce14050360f2b5045b49809d0042cbc47d98080d190bd926ce38232352f8067e1db1805d03c6fedf309cf8ceaa343dafac49939a1e194cd08d1c186b6d2c8fd21e7e41d000030f21de5d7430eb8cfd5509af366e72141750ecac6b2075db0ec0a9d2b727c5e100581f02871f56eb63cce2d654828d591020aa9370eeb0fa3b74ed0e22990dfc74ae5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033976fe6ccd275c8c35e7af9b81904cc45235758f21bb877441c7f3240ca3d4bc01410000581f029efeb8726507fc3373e55efee8086f0f802c6de1178b37e69e8bcfc740a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0335b7ae6496a8ab9cd07713dee7bddc100de464960ccc088bb6d0bd4fd6604a0360d21e072a018e33b700581f033d41d648a4be2678b80e8b51434cf00ab33bbb264011f1540058dbf4bcf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02182800581f02838ba8eb3a825fc8154cd93780784afc9e1bd157337709535c0e38fcf0625820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037d1300ad2e16ef5df130238e2a59ec6355461e90e609c93e81f976d989281bc000581f022c06a38f46b030b34df43db1b2b1c30e1a4cc2910b4bdf0e5fc0989303d45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c7aea0d2f688c3ce29158a2e58094a6c485f5909bd3d5c5ef0c9b8bce3adbd1200581f02858fb406a994cefd5042b6ee867f62af4103c6110d39be6a0a9767aaa07d4b0111131ffeb36624f6522903c4dfce84e398ce08545cd9d1403aacc7d87024bd2cece2ef86b89b9b26cf3c6303a2643f6d261ae5d497bfd382ee58c24d28e2294b503494a96dde314ba9d77a4a02196deb0376b67034f558486ece3549394cb9f4bd1983e619932f4232eda3b691fafea96e033160c98c477f46c5d3853390245325aaeddd652df5d5b003ad6a7d694339fcf0034fd4542c1c27078f55a1b279347a701e4cb9e1ea6619abaefaac51075eaad3e0034e08111b71e055bac6dc38c8dfcbea824c4a5b03101652c79e168e364cc29f6603a87fe37a44e9bfcc09ef17fd041710b08ff2426890a8c9b1f1f06710bad16e2103ea37e7e3db893fb4c5545263d93f4008f26eea1f566fb88e1f0ecf5bad1beb68036ac706f2dfaa65aeec145185355007c7edb6c1e97d21511b3c5819d2014e708603c046a87926b93b626a0effc01173804165e57394a9739f222b424549851ada27036e7d26f0696d0b06a5fc1fc013a69ef9cc9fe625b57537c59131299136287edf0219ffff039500310d33a5781133d3cd2f39009fc1f801a3e930c11dbfb84e07eed9e8939703ed8b8e5d77f993870e539ff1f052f5f54e5807c2aae6429ca0109ebe70c5f84a032a577038396ada9a38012fb05092be9685ce8663a43570b7e22808304f8084fb033a64a5f27a321fdf8b37c1023faa0ddbfe61eff200b3936f97b60e873c2ae3820356497c3b442ba41a576abe250cd2ed154135f7a0ce7bad100de308e46af65ec803522051e073bd5bc9bcfbec6dd2a1c68f6a98943b8fa6340dee7d2f0f13ba0d6503d50ae40b1eacc9e246129073d130a282902e086928bd5d80681751386f3764c10314b0f661c3e73e45e599571841b77d63092130bf93da9a7c7cf832ff67d6d2b903c2f8cf15f4b822c65e00362de77752448b7dc6a329a4938a085d6a72e9d0ae75032f85161036de233ecf352426662afd738078fd6dad97ba1e476652515af8ce380360b56e98aacc0a404cb71c5bfa14447ff527623f8df37f909255a63fae6f42bb03fb6f52546c287e5a1cc14c6a65e90e18c49abb5c05a5dfd763e47d024e8b9c15039a559bdb44eb9f500dcc1c69abc643b62a7ab7236b600596b4faa00eac3445870365f86dc5817f663c7ddbf24d2f8db59886782a677b258c2cc825bab85dcc296803cf2017ba0ad44e6d5c96709e622e199afdb93f5a33279ba29d5befb12d05578c037915e714c3bca6519504c3f35fda4efc0636c299f1b25266e12dd0bc43f8a61103627f8353251ba1d51faf4ea5f4d6890c18b567c1f1820f894856af89ffcbce4e03b6e008f912932ea5723b4e52390bb2f24926f2c9c9ef28ac262117c43d832f8b036f6adf43a9a6bb16fbef2d234a34992483e3c8e136f28390230970cd43500ebd03bec627a38400fe58b0a09a4ee41b6c47ea303b0f352fb04e5287cbfadfcc4bf10387f4596086c1336d80862f482446263c8204a6f3e27698f2e3e79ee83c6921cb03f2f9f0764798de6dec112e7fe2836438f16d18a428c470d8694e363d13005fd700581f02782b12f7dd89008b825d7c919e2cc579b4c6ca90f7b5831c1bd63ff253a25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030ae6388651e318012130bf3aaffda60361046f025931b19ccc0d620483da8de003324b62b45dbcfb513013e6ede7e1c133a83248a0474122b44021220246b3ae5800581f02abaa0e66d8a8f580bb41624bef3ad177932341c68418687c32ad8ac9d55445c02a4c76ea00581f0214076706e2be7535ef8a3136043907562bae2f445ddbab791b08eefeb1815820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d8f5b2b6939bf18e4691add0204bff1b2473d69f6d71982e4d0551f45e3c7b3500581f02ca530a4e9867532f90b53ba61f429bf590a44b641ffbce33550d2bb3c7714a023ead0a70064e7a000000581f02d3776ed4b34f0b849bdb396eaa8220517a50f93e4e2aec6d2c8ce17926075820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f024aaf3dd0070e7fc8783a777432bbe4ec21db2425d746ca3fab1cf90599194a11b755dfd6d65832b09300581f025a04aaa5f319923e3f3a64a6dea17f4c5d5c85c05ca327c7a7e7a247bb9b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d84f705e8fc391adf87ce63ef5228ed6ef4f1750a9b3511a6aa4e7c672549e4700581f0275aa1c2dc4c7b95c0ccbb3b6af1d59639b294d324e94e2ffd9af5304ec214946a8085896e5207d57038295785497e8a388d0a29b30396b0d94e436a726a51f570f23cc3de44c19d43601410e00581f025618a97387903c0546a16b46d9342a4e2231230a9341f38fd11083019bdd4a56d50a2d471aa3a279f700581f030aa6e3e05a995516946362660110a30f762e1e9168166a53f0220b4220005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03375396bd99fe910ff22c8f1e33d635d31776fa8f606821e168a900af56505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218500219fffe039bc0ea0debd2142ac7c166db7c5a7c72b9a94b3bb91d29b7e07c81398a75e8c303f582adc453f609ce4dfbf49fde231306a199076cc188088affa92056dd21ad5c0219ffff035a15329fbb8b0245a65081323c332a5e00a5c01227f404069d1255637e24f32b03e2c1b80528491081f184c2023da64de1e64c744641b27ff4ffdf3bbee130153b03672a609bb23dd8e4d8dec9c0cc18feaf009fbe31393202dcfda150dfc11f556503ccea0b36fc088751cffecea24c9a5b8d92e09fc6e81e78328a1f7aa7110844c1031c071cc45efb5ed9039133c5757a99fc97c063d3b1a650a4736ea6801e177b04038d419e759376032dcb3bba1666ffd5344054f37a9d6d714e70637fcde2cdc40003a1edbe6049695e91cbe6bab2c9a331ddfa99d2f6d8dfdf9ef140357d9465488203d440cb290b1e1bd58c57ba5d656a4a5ebee04e0502c71627e5d8ffddb77115a303e15bd8bb07b4181370e0466f041caa8935e8c7ab8d90e91a2f648c6628b44dfc039dd6fd3dade2d5dbc908eaabdb7b032ab24ffd97b037735772c3aa24a5d5e80e03cc5907f8205105d97ca2fcef9c665aa7cde111545b211e64c7a6f6ba02eca374031e15234172f7527e4783d9cd8368d770588a5bcbd9ad3b6b5ac16c7ccc950e3403b101aa37ce7393226113db4a14e9cabd7eeb7c5d43c9b530c9295ec2340ccdad00581f03f4935a3db0fcfe3c115ba0d5b81d0d4f75d310f3639faff30979ec7ccea04baf3e1790bb2435fc75377400581f03fcf0c37d02b7bab2da6d2d28fae16e5f63aa9b06532362e2334ead0a3f105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190810033e2a098d810e3c638e7c8fe542b444eff78725f6b9fc6c79adfcd025da1fc53803b593f1256238a5ac12e7a25133d4c6ff129256b945cbdc40694aced1f279dec100581f025349511dde36fbd5a028412ef356d68a5d9315bb8a5220a82bfbbb0096be4afa86dcd66993f3ff8c3203d2ca0f020856a89163166bfdaa514bad59124bf926573a7d2f80c5bad96fe45900581f025c61d37d56fab5a9ea060a18b53211da677141041acdc23e8a97f322303a457384b78ff500581f02d90f7baf82d4f640952b30427fc913c87284194bb62583130789077cd52f492c2966abda3038000000581f02a47056f97ca5f1feb9b14fe8a137dd9696efcab00026598fe82419a8caa55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02e7e44ea5342d1b647e07ec085f9b00781157d5d04fd24f1bc10271fa34ff44aab8f607039735e0591f1651ad9ada9b87768016638bad1c6357a0f1d0fd2575f9ea0c12ca0364a37edecd8e0c707ca2c3ed53ba809ff26e6fcc0cddfd14e7393685012a4f8900581f02a39265d925194dfa3a4c301eb831bc13ca7e79e0efacffb37aeb6ed89e204a014b960eafa45d2313fb00581f02360c5af5567d36905984d112461db04103d16aba3a892ddfca269f84e1e7481be4f459c144c4b702193ffe03d8cf3660a00746650268b4262c8886267c7e8e8902acda57e78636ed4b9f970b0317de74aff1a6eec23e49c95ad9f994a63d520a59618a6107e4ba4c384f6529f503083332f5768c275f18c7249ce6ee8e8093d59fa10d877a2627a102475a1f560b0219ffff03d794fd0e18a825b12c899daefae5550fc0f1430b8307e75c6f3a4b95354faea20326614d3e739274c8e2a013a1a8223ae376ae247a5082a88c8206658b7fe8bd160219ffff034726b8299fdff6b74dbdef42f262e0fdaf61e9a32867cc992e8f13bebbd89b2b035a34345471d1d78bccdd2b778266f91fa82e405168cbad6214b57df157cdfd5d0219ffff05581e03e1e2f762cdd56ab1368db450ed5a5f672aa42dc39849741e234eec13800701191a8605581e03454a63a1673493a12578a2933c450a680190d0222ef72696756442b0e00c054724d32cad3c100005581e0314bd524c3c2a843a807c4cb98ee9e8d2f9bc2b057fa5ee1964723afbc0040305581e033449ddae5e6281bb4b8af651d4c353570ab4f44c998c14ac09a982a770040103db284d6457ffff1d957dc17f404e5e7f5a760dc87fa9d5ae05243b3bc007ed4005581e035277f6638a43454136dfacbb9781ba3be5cbbc0789da0569424e9c7610040103e7041b9645f11ab2741a3b165756e9a4d2997aed55d622339c705079d87aac770397384b06499febb059a78eb2521ce20e6ad4e8dd4dc4334956496584cc72b22305581e0376411d4bcf6daf129d7e4e225d7675d3bfa03b83d1ce6e701bc034b0a00c064701274a18edbf4005581e037b50918d136c0784d3ee9d7efe433096c12c2261ca73e030aaa18b5d400c0847eb99c34117a64a021957bd038f6955ed956eddd19a9c310a92671d38ebf611880c9a03fa4a3707f4df8ba1f603b645a608ad3e8ac8482cafd33d74ff518491c3e1a7956d3d3419590f6fff6ac803dd654af049c27e2f43b291722538bf5101f55d4ec83353a15162452d65c57e290393c0d5b5137b110e5d79302e02e973c782ef3d55099d67bc0987b2213a70861c0368c6daf12a098a858336f1d029ad3a43fc466c28ebb6ae61524d8b14f269d8c5039ec67c6499173b8be2554f0d21e3608b9912a2f35fece4ad5c716f3a665e717e0219ffff03245bf176b7e522e9b43d49035298cd0685b413ccc025b43e7ef41a113e8129b803b48eff70cdadbcc4b7f9aa4388f94ab72acc9a9168f94371d647a282797afac9036590dddf60457c23abec052de3dc840ce77971fca1dac215e610ca92e37fa76f035920f1165b4a1e659d92a6737754fe0d30ed5f0e3ab296859fab82a2bb4f560f03a604024377e70764ea849589aaf5105761fcc35a9fe860ff00d9c453cc5dc80503dee430e1e519aac6ad8702df6edd2bb2b4e9aca2011e1799b4f125b539f551b70327035d9fdc15272465a69d482ea1a49bc06789e8a2d2ef46a50ac24956a60399033910a6631f185853889f5942d5856c0ed530be8b2c670577c24146e854e6b37d0398c1de615b467409a3ef593b47de9ef00dae3c74a1e67e85e0c48eb99414db4803f07073fc566f0cd6fac6c49d79dab2db0ca5b2f98fe5c48eb42a545d04ae46b00219ffff03acae2b20e64866e77eb00001a2c300733363f14fbe08be0a9bed01e26d8c48bb03778fadc1f1dc60d88889d78c8ff03060a94e73091f6037635f73d41d5f7df959036120891a4627ed69d8349114f7987252fb27681f677f1aa5acbff06575b9309f0316e343e64ab8d8720e4d054a6f39c9b2fdafee0fad8d9c1593688f8ac774f5cc030de4b60cffde725d714e77e56d1e6fa54c683ba95514b893f460875d555b517b0219ffff0322d5edbd98a6e9a463608ec803b53a3ac6cbf5e6802bfbb878d101f9cc118081035c7b99f672ae81dfdf91d06997d4e93a0a5d1506b018490e6ad70bc24feeb64e0219ffff037d9d02f5ecdf20a5134981c9ee63bd8ae55169a6d874f6a7c78741a88c339c4e0330b427c299edbe24801b2cc69025c430b72203264b16f9cab1e91775687ca9da03442b85939e7ad583751cf7bcaf72c45df10a28ca451b51019164211a5a8f38440304081156b416efeec05cdb4ba0131021caa608c6e23760531e1c60d5c3348c0103277eff98854bf7f95b6cb676cf6e691220228ab1652e9a3d6081c703fa9e6265038e691b222248274664b36400c91782adcaed73fdae366eb1dbb1cea22d59fa460362e03c21d44178459d9ab71e7988d4c4553b9c78495a0a08f908574fdb8afa8d038682c28e7c372d13f73273c23dafda482101d5675af78168c5cafaeed06e42ec034737d18586e8a9a9d31708c1e9dc85569420e335e80ebfc82687ed24eecab64b037e4ccb00d5d90539af9c72f75d451c035dba0ebaa249535ab72b4b758103570603f41f193ec057374f394dab6dacb72c62f52c4742d229b053bfcdeec1a276d463034512a71d3a695d83c85705ad1520ba167926c60fc02c5712c1803e14e083a19b03bead87e8d67409803d53ec5ccb06233db1dc389df631bc982ae15eb98f6821dd03660aa69c0c9c577067e5a4a7a48bc3d822ebf2af7d3268560213958790cea027038786f637ce1fbe5172a29a3191cbccd73d39196f272f9c9bce4b0ca6cf398323037c63d540ef68d4ff558320c50ba28497ed46f7c8fb6fa10a35c3d85276e95edd035ff6472788211dc491ca359bff6ba4098e9e22008679f8f90243402617e4429403f7f46caafeeaacd6fbb3b0c045d20f6434c5463bbf861343131697f76dcec8a503ddcc0df96d111db58461abb94513afb6678e13916ad3a9a9b1e2b6a6a4c1583703a27c485f02539fa2b2ac1d9b42c0fa430c2ab142eb6b75a91f0d796018254b1d0323ad0a6c211d62d17950ea055b419aa1943d2903dba5a4b428e1eb26cdacf4e603be168f02ce594525c8a8feb2d2b04e9581c42139994596831f01f60a8587fd5303bbc75f86aeb09ad8c4176d2d704bb0615720e75339f68b05af2c6a3598b376560367345344130a071f68bf5a76d2413c33fc0c95c4051abcfb3729d09e23f94b6e03f1b7cf72301207a139dc39a38a7b56c3aba7ef7af75ed9e1f6b866de6cf2edc903504441933b473be6ccabb48e5f3cd8449878fada217426d0ece5ebeb272154d8036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e03b1d5868f515b697d551a56b2e25f7356a5d7782c4e49cbe99f40a3d37007011bffffffffffffffff05581e037076e46836262a560f683d242daafb4e08c776ff866c1ec1db6adc05900403031324802308f57d7d582dabbcca2cf1d98cf7da48c50cf2e4dd99ae6e6ef303b805581e0325c6360e37b31817bb25359b4c7c774c9d3f6e1a48c2b27c1f4617c6900c0146042877d12c4005581e035ad0a22b5cf0c06722b3c964219b4dd11511bb9d999da457e77be180700c0647052db30e008fb805581d02d47688435f1da750247352030b8bb7698d6e8e06cd2aa3b38dd02d2d0c02473fd83336608c00045924ee6080604052600436106101fd5760003560e01c80637ff6f7b91161010d578063c9b6c1ce116100a0578063e55648f41161006f578063e55648f4146106a0578063f242ab41146106c0578063f2fde38b146106f4578063f3cfad9414610714578063fb42948a1461073457600080fd5b8063c9b6c1ce146105ce578063ca3608c3146105ee578063d7ff53e51461060e578063dd62ed3e1461065a57600080fd5b8063a9059cbb116100dc578063a9059cbb14610506578063bb931db214610526578063c40b793b14610546578063c9567bf9146105b957600080fd5b80637ff6f7b91461047f5780638da5cb5b1461049f57806395d89b41146104d1578063a457c2d7146104e657600080fd5b8063336ddc29116101905780634ada218b1161015f5780634ada218b146103d357806351b8dc7b146103ed578063622fa7721461040d57806370a0823114610434578063715018a61461046a57600080fd5b8063336ddc2914610353578063391822af1461037357806339509351146103935780634482eea8146103b357600080fd5b806321108a52116101cc57806321108a52146102bb57806323b872dd146102dd578063313ce567146102fd5780633308740b1461031957600080fd5b806306fdde0314610209578063088c9eb414610234578063095ea7b31461026c57806318160ddd1461029c57600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e610749565b60405161022b91906120af565b60405180910390f35b34801561024057600080fd5b50600c54600d54604080516101009093046001600160a01b03908116845290911660208301520161022b565b34801561027857600080fd5b5061028c610287366004612112565b6107db565b604051901515815260200161022b565b3480156102a857600080fd5b506002545b60405190815260200161022b565b3480156102c757600080fd5b506102db6102d636600461213e565b6107f2565b005b3480156102e957600080fd5b5061028c6102f8366004612160565b6108ed565b34801561030957600080fd5b506040516012815260200161022b565b34801561032557600080fd5b50600854600954600a5460ff909216915b60408051931515845260208401929092529082015260600161022b565b34801561035f57600080fd5b506102db61036e3660046121a1565b610997565b34801561037f57600080fd5b506102db61038e36600461213e565b610a1e565b34801561039f57600080fd5b5061028c6103ae366004612112565b610b09565b3480156103bf57600080fd5b506102db6103ce3660046121d3565b610b45565b3480156103df57600080fd5b50600c5461028c9060ff1681565b3480156103f957600080fd5b506102db6104083660046121a1565b610bcf565b34801561041957600080fd5b50600554600654600754600160a81b90920460ff1691610336565b34801561044057600080fd5b506102ad61044f3660046121a1565b6001600160a01b031660009081526020819052604090205490565b34801561047657600080fd5b506102db610c61565b34801561048b57600080fd5b506102db61049a366004612208565b610c97565b3480156104ab57600080fd5b506005546001600160a01b03165b6040516001600160a01b03909116815260200161022b565b3480156104dd57600080fd5b5061021e610cd4565b3480156104f257600080fd5b5061028c610501366004612112565b610ce3565b34801561051257600080fd5b5061028c610521366004612112565b610d7c565b34801561053257600080fd5b506102db610541366004612223565b610d89565b34801561055257600080fd5b5061059a6105613660046121a1565b6001600160a01b03166000908152601660209081526040808320546017835281842054601890935292205460ff92831693918316921690565b604080519315158452911515602084015215159082015260600161022b565b3480156105c557600080fd5b506102db610e6c565b3480156105da57600080fd5b506102db6105e93660046121d3565b610ee3565b3480156105fa57600080fd5b506102db61060936600461223c565b610f65565b34801561061a57600080fd5b50600e54600f54601054601154601254601354604080519687526020870195909552938501929092526060840152608083015260a082015260c00161022b565b34801561066657600080fd5b506102ad61067536600461226f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106ac57600080fd5b506102db6106bb3660046121d3565b611103565b3480156106cc57600080fd5b506104b97f000000000000000000000000483778fefb36bb9b8669ea8d010058fbee07dde281565b34801561070057600080fd5b506102db61070f3660046121a1565b6111e2565b34801561072057600080fd5b506102db61072f366004612223565b61127d565b34801561074057600080fd5b506102db61134d565b606060038054610758906122a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610784906122a8565b80156107d15780601f106107a6576101008083540402835291602001916107d1565b820191906000526020600020905b8154815290600101906020018083116107b457829003601f168201915b5050505050905090565b60006107e83384846113ae565b5060015b92915050565b6005546001600160a01b031633146108255760405162461bcd60e51b815260040161081c906122e2565b60405180910390fd5b600f8290556010819055610839818361232d565b600e8190556064101561089f5760405162461bcd60e51b815260206004820152602860248201527f546f74616c20627579206665652063616e6e6f7420626520686967686572207460448201526768616e203130302560c01b606482015260840161081c565b600e54600f54601054604080519384526020840192909252908201527f38513c502b0ab4834ac1df9502b76f75dcf7092469782cfd0db7fe664388e25e906060015b60405180910390a15050565b60006108fa8484846114d2565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561097f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161081c565b61098c85338584036113ae565b506001949350505050565b6005546001600160a01b031633146109c15760405162461bcd60e51b815260040161081c906122e2565b600d546040516001600160a01b03918216918316907fb91dbdeaf34f885ccae2d8abc3967cb03c079b6af2c7944e3893fd29427d75e790600090a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610a485760405162461bcd60e51b815260040161081c906122e2565b60128290556013819055610a5c818361232d565b601181905560641015610ac35760405162461bcd60e51b815260206004820152602960248201527f546f74616c2073656c6c206665652063616e6e6f7420626520686967686572206044820152687468616e203130302560b81b606482015260840161081c565b601154601254601354604080519384526020840192909252908201527fcb5f36df892836a2eaedc349de29a7581176990398ee185d16eaa8f6c1abd8f1906060016108e1565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107e8918590610b4090869061232d565b6113ae565b6005546001600160a01b03163314610b6f5760405162461bcd60e51b815260040161081c906122e2565b6001600160a01b038216600081815260176020908152604091829020805460ff191685151590811790915591519182527f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9291015b60405180910390a25050565b6005546001600160a01b03163314610bf95760405162461bcd60e51b815260040161081c906122e2565b600c546040516001600160a01b036101009092048216918316907f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6790600090a3600c80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546001600160a01b03163314610c8b5760405162461bcd60e51b815260040161081c906122e2565b610c956000611b73565b565b6005546001600160a01b03163314610cc15760405162461bcd60e51b815260040161081c906122e2565b6019805460ff1916911515919091179055565b606060048054610758906122a8565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610d655760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161081c565b610d7233858584036113ae565b5060019392505050565b60006107e83384846114d2565b6005546001600160a01b03163314610db35760405162461bcd60e51b815260040161081c906122e2565b6005811015610e105760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b606482015260840161081c565b6103e8610e1c60025490565b610e269083612340565b610e309190612357565b60098190556040519081527f12528a3c61e0f3b2d6fc707a9fc58b1af86e252cad0d7f4c154ebeabb162dace906020015b60405180910390a150565b6005546001600160a01b03163314610e965760405162461bcd60e51b815260040161081c906122e2565b600c805460ff191660011790556005805460ff60a81b1916600160a81b17905560405142907fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92390600090a2565b6005546001600160a01b03163314610f0d5760405162461bcd60e51b815260040161081c906122e2565b6001600160a01b038216600081815260166020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101610bc3565b6005546001600160a01b03163314610f8f5760405162461bcd60e51b815260040161081c906122e2565b6001821015610ffd5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e604482015273101817181892903a37ba30b61039bab838363c9760611b606482015260840161081c565b818110156110605760405162461bcd60e51b815260206004820152602a60248201527f6d6178696d756d20616d6f756e742063616e7420626520686967686572207468604482015269616e206d696e696d756d60b01b606482015260840161081c565b6005805460ff60a81b1916600160a81b8515150217905560025461271090839061108a9190612340565b6110949190612357565b600655612710816110a460025490565b6110ae9190612340565b6110b89190612357565b600755604080518415158152602081018490529081018290527f52cd2cdb42ff0eeec9362d7ed5b04f64c8d022697128b5378fc51cea7e63c7799060600160405180910390a1505050565b6005546001600160a01b0316331461112d5760405162461bcd60e51b815260040161081c906122e2565b7f000000000000000000000000483778fefb36bb9b8669ea8d010058fbee07dde26001600160a01b0316826001600160a01b0316036111d45760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161081c565b6111de8282611bc5565b5050565b6005546001600160a01b0316331461120c5760405162461bcd60e51b815260040161081c906122e2565b6001600160a01b0381166112715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161081c565b61127a81611b73565b50565b6005546001600160a01b031633146112a75760405162461bcd60e51b815260040161081c906122e2565b60028110156112f85760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e3225604482015260640161081c565b6103e861130460025490565b61130e9083612340565b6113189190612357565b600a8190556040519081527fff3dd5e80294197918c284bbfc3dadd97d0b40ce92106110946329088f80068a90602001610e61565b6005546001600160a01b031633146113775760405162461bcd60e51b815260040161081c906122e2565b6008805460ff1916905560405142907ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261690600090a2565b6001600160a01b0383166114105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161081c565b6001600160a01b0382166114715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161081c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114f85760405162461bcd60e51b815260040161081c90612379565b6001600160a01b03821661151e5760405162461bcd60e51b815260040161081c906123be565b806000036115375761153283836000611c19565b505050565b60085460ff161561189c576005546001600160a01b0384811691161480159061156e57506005546001600160a01b03838116911614155b801561158257506001600160a01b03821615155b801561159957506001600160a01b03821661dead14155b80156115af5750600554600160a01b900460ff16155b1561189c57600c5460ff16611654576001600160a01b03831660009081526016602052604090205460ff16806115fd57506001600160a01b03821660009081526016602052604090205460ff165b6116545760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b606482015260840161081c565b6001600160a01b03831660009081526018602052604090205460ff16801561169557506001600160a01b03821660009081526017602052604090205460ff16155b1561176a57600a548111156116fb5760405162461bcd60e51b815260206004820152602660248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526536b0bc2a3c1760d11b606482015260840161081c565b6009546001600160a01b038316600090815260208190526040902054611721908361232d565b11156117655760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161081c565b61189c565b6001600160a01b03821660009081526018602052604090205460ff1680156117ab57506001600160a01b03831660009081526017602052604090205460ff16155b1561181257600a548111156117655760405162461bcd60e51b815260206004820152602760248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152661036b0bc2a3c1760c91b606482015260840161081c565b6001600160a01b03821660009081526017602052604090205460ff1661189c576009546001600160a01b038316600090815260208190526040902054611858908361232d565b111561189c5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161081c565b30600090815260208190526040902054600654811080159081906118c95750600554600160a81b900460ff165b80156118df5750600554600160a01b900460ff16155b801561190457506001600160a01b03851660009081526018602052604090205460ff16155b801561192957506001600160a01b03851660009081526016602052604090205460ff16155b801561194e57506001600160a01b03841660009081526016602052604090205460ff16155b1561197d576005805460ff60a01b1916600160a01b17905561196f83611d6e565b6005805460ff60a01b191690555b6005546001600160a01b03861660009081526016602052604090205460ff600160a01b9092048216159116806119cb57506001600160a01b03851660009081526016602052604090205460ff165b156119d4575060005b60008115611b5f576001600160a01b03861660009081526018602052604090205460ff168015611a0657506000601154115b15611a9457611a2b6064611a2560115488611ec490919063ffffffff16565b90611ed7565b905060115460135482611a3e9190612340565b611a489190612357565b60156000828254611a59919061232d565b9091555050601154601254611a6e9083612340565b611a789190612357565b60146000828254611a89919061232d565b90915550611b419050565b6001600160a01b03871660009081526018602052604090205460ff168015611abe57506000600e54115b15611b4157611add6064611a25600e5488611ec490919063ffffffff16565b9050600e5460105482611af09190612340565b611afa9190612357565b60156000828254611b0b919061232d565b9091555050600e54600f54611b209083612340565b611b2a9190612357565b60146000828254611b3b919061232d565b90915550505b8015611b5257611b52873083611c19565b611b5c8186612401565b94505b611b6a878787611c19565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600081815260186020526040808220805460ff191685151590811790915590519092917f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a91a35050565b6001600160a01b038316611c3f5760405162461bcd60e51b815260040161081c90612379565b6001600160a01b038216611c655760405162461bcd60e51b815260040161081c906123be565b6001600160a01b03831660009081526020819052604090205481811015611cdd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161081c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611d1490849061232d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d6091815260200190565b60405180910390a350505050565b30600090815260208190526040812054908190818103611d8e5750505050565b600754831115611d9e5760075492505b60195460ff168015611db95750611db6846005612340565b83115b15611dcc57611dc9846005612340565b92505b8247611dd782611ee3565b6000611de347836120a3565b90506000611e0086611a2560155485611ec490919063ffffffff16565b600060148190556015819055600d546040519293506001600160a01b031691839181818185875af1925050503d8060008114611e58576040519150601f19603f3d011682016040523d82523d6000602084013e611e5d565b606091505b5050600c5460405191965061010090046001600160a01b0316904790600081818185875af1925050503d8060008114611eb2576040519150601f19603f3d011682016040523d82523d6000602084013e611eb7565b606091505b5050505050505050505050565b6000611ed08284612340565b9392505050565b6000611ed08284612357565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f1857611f18612414565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fba919061242a565b81600181518110611fcd57611fcd612414565b60200260200101906001600160a01b031690816001600160a01b031681525050612018307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846113ae565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac9479061206d908590600090869030904290600401612447565b600060405180830381600087803b15801561208757600080fd5b505af115801561209b573d6000803e3d6000fd5b505050505050565b6000611ed08284612401565b600060208083528351808285015260005b818110156120dc578581018301518582016040015282016120c0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461127a57600080fd5b6000806040838503121561212557600080fd5b8235612130816120fd565b946020939093013593505050565b6000806040838503121561215157600080fd5b50508035926020909101359150565b60008060006060848603121561217557600080fd5b8335612180816120fd565b92506020840135612190816120fd565b929592945050506040919091013590565b6000602082840312156121b357600080fd5b8135611ed0816120fd565b803580151581146121ce57600080fd5b919050565b600080604083850312156121e657600080fd5b82356121f1816120fd565b91506121ff602084016121be565b90509250929050565b60006020828403121561221a57600080fd5b611ed0826121be565b60006020828403121561223557600080fd5b5035919050565b60008060006060848603121561225157600080fd5b61225a846121be565b95602085013595506040909401359392505050565b6000806040838503121561228257600080fd5b823561228d816120fd565b9150602083013561229d816120fd565b809150509250929050565b600181811c908216806122bc57607f821691505b6020821081036122dc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156107ec576107ec612317565b80820281158282048414176107ec576107ec612317565b60008261237457634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107ec576107ec612317565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561243c57600080fd5b8151611ed0816120fd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124975784516001600160a01b031683529383019391830191600101612472565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220964eb351462bbc17c22936715b934ae646cd2207ba3d27b6d3de3e3db763434564736f6c634300081300330316c70f4bfe3050335f71c6a03c1fc875e96ae5dafa7d7851a904f3324c84d50c0354aa30851a00433e39757b890c71ce98b783f8d420a02d3b94c3f866947fd1a5031413dab508ba5788b7cffe2e745d44afd764c7a7e1ad6b5559f5639a0c642c64031f1f9770305f7cae919476020743ae05092a11eae72233f0fd46a3d5659af8eb03f9cb1b957f01959e38fe5f083b15d4f078ac3b2964d01fde19799881d1943e9403c4ce0fca3209fc1f02cae3b6ac34f0b29135c4b14307b2b57d69cc96483a1e3e005820030bbe8c58231ff3bc97146843358fb10ad7d3f6118b602e433d3697e4ddb2904bc7341037b782702e1b6d1f0333dd46c0a4e88c25d77912ae023d6b9a29de6d8cda78192dda9e8b09ab07a90a00581f02471f2b97a3126e3d108e2f519492981804a8ce0584f8f830b505614750c54c025999b59312ca1824dde55900581f026384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0560100000000000000000000000000000000000000000000581f02a3c58155b5ce953976ce9251a1abe91fdebb56e5410ec32ed69c1cebb1814b0c99bc8436e057e315c3fd00581f02ff92c2be6e0c27951db21a65c56f42643e568cce086cc44e571bdef173e15820ffffffffffffffffffffffffffffffffffffffffff389a2bff4b2d9744db42990219c8010350f03a799d86caf470298bb8b8b81f58092f00986532ab04573045da3770d5ba005820036f21b42811be3f6035a0db2b2491faff0cc3445fc35bfc00ad3704393123804c06bdc42c7a4b1a7aa5c06c00032f1f5e0a84ee423595572a2bd14205725cf0567bbe992a24be2c6cb7089a0f64034ddf808d722ddf26377fefc2f5d7d002c256ad6d1f32b6c5cee38353ef5f7ca803b5bcff6153c496df8e21089edba10df527a3ff209a5a57b098a4c323b0d0bd8903967e73bd7023c03ff0b70bb132eb98020d0e94cbf2239e797e16cac98f71c13e03d9310b152343dcb073d6172dcf9c5701defa6a0309190cb38f3beed2fee6cde702197df7038a4bca18ba5f9ad40f1d337f241f11f370d6a1eee27353ba0ccce1b84aca31e10340091530eaaf66bcbf647fe6e10e536c7870bab2da5401c6ff6d2e4dcd84e4f30321906b86f4537cf982bbdddb65a32f3cbc80372cbf70a8039bdd6b1b300f270d034b7054509b8453d47df45e8736a403352bfbb9a516baa20c8a13d9112d441f9b03fc0fee4afd96688f1ecd6d94de9b40a6bf3671ba1f6382ed05b866c0e96340b1039ced83f749533a249e2d697389e5f9089f468ac140ae64b2a108290837e3538c030c9e57441bb6e77ada07bd60ae9a6f902ae92b0095c5a9b9e946ba5af1ffd82a034f412953fb6cf743b9eb6ff9475eaf02cc2c71d6bcc81b24ad0e1ff657e0bd6f039b0ec686015e70b3fb478497651d4d617cc3ad543291c99c3e577ce89c034c8e0379b4a8b14efa6b2e098e8ec6bc7f01a66d745dcad1adc7cc4ba1fde7424d4194037fb8f29a3115c42008a375099bdd5dab244d962cd7afaab750b85fb55b00332a03ac569ae7dcab5f6f6c0362eec95ead13401e3161c301009e66bbc21c12e5cfb70219ffff03bd6cb3647ea7fb873e08aab245e04c827ff3389701a0d872337f0c103cf11674034d30a7c55cf7ef87b8ab68b731dda46ceae90dcc818af71846fb04332139484b03a6d8f7529c5b6ce24f1aa0de589d0c87a33f9e91bdcbd56f26257893b0310ccf0343d27bbe368f1822f5e6ca81a1b54abc212ec9a72739b55c02a959382885b5d7032922ba0ebc38af0ddce4a23270a1dff6ebd137755aacc66921acde67151dcdf10340d04d4eb472c159072cfd693b4e9cc22ba71926cd5a88071203334d4d8ef9fe0374060eeeff9d1f98715410f23d3f00949f10f3442b19a5a8b23a8a901d8468950375ca471bf3b3d77157e9855c6ee7852bddfd73d430384e78255c28f800800ebf03ea355add31de85f04cfff5807e5e33077248dfb72c9fb6f4f5c4e6a85d209c5100582003b6c9ca05c3af565dd853a767bb23c917d9566322a6875f260b524f2374d5304c02eb0d13e519f864b062ea8c038134c116b134d2ecf2237bad1300c077fe0b16df146df828a7b530b3d30cc41c005820031084a7898e82f80db05b8df335476edc8804c4d2e3c61ea6c28b2da003fe90444eb2e1650357210cef5cdba9a79435ad4113088471f3fac59df5df8fab605ccde50dac7f6000581f02786606d3d8967cd59a7ef2e03559e5e1eb25231b5cd576458782a9450e584ad9e39d27b1cf0f15c55c00581f035914e9038220614a20244c564d4e5dec03f885d520cd76830ff560e67570410100581f03c00437da311e1eb3af29277e8f54665f98c5d2d0378648152e3ab80a29304b04f68ca6d8cd91c60000000219400802190802033a18e9ad108801b0d4bd495ce2d377720258e075facdb6fc72eed1bcd635f88303632526d8448fa80dc370d20ccec30b57446c3b427611ffe40cd4d626888cfb8900582003d4a4d780cd4c72e93b44c399f087cd512be8f872ad912cf50c47a9f0598f704b0290bab51effc6e1367b0c03bd7c3644a06ecb50eefce5660705570c3a11571985b53bfa6be5e87066e3dd340219fffd0393d36e4c71e667117d6f519dd987cde95deb00aafbf2df4cd5ba2ea6be420e9a03f2a7310629f31719f97eb27d3c1623fb9cf913cf02c26f5892c46fc1feac093b03389d5dad2200eedcef8a2de369ee1e3f8f092258d4b68ea80e83959148191a6603efcd4782dbe4d08d7e836b8e1297aa69c5ed9e6be570c446526c5d2d8ee17161032492126e04693e6aafa51e25aecbc539be8222b4fe0b32070b6760d31239657f03a6c8faa6e2ff2e20c51f120e9e7044b3433e05021a3ee9147c1cdf3e2d66944503ddb52c3551d5474106b05f5cd22de82396782a5583ca94104cbfc52ac0f260b60058200307f4f02b3e1bd9f4beae153e02f319e0a0e3f6bd20ca783a7dd2f18e4230805820ffffffffffffffffffffffffffffffffffffffffebed9c94aff23d94286bb960031dd35b4cb261f42f63216b43d736bb18c29921abe8eeb574eac72623fc20c5f9032921af1d0e384817bb33fe190f4fe73252e0cf7cfd1faab89d9a74c43fc3fe6903f089a17c69b56e9c0430b3397981e862c3b059621f909cd6ca639f60c4856b11005820037364160da02c177bb2503f6744a71fee8ae9d0bb1e7e407dac78d8b756b8304b03da629b326faa184f112703aa46da688a552e0f56628a515eb84ff90250399aee06e581fa325fd155f73b810058200334f6992c57c7a98946956a16967419d888ec918b5c18d8b75329f4d5651c905820ffffffffffffffffffffffffffffffffffffffffffc3810d97bb2a26f63d2bff03a0c9d07d31ddfa9d470bb7dbf8657d771a1fc4b2e27f14340f177dda7faae2910058200388f25c63d74c2cd4fd78968bc33e99b9ed44cda1a4409ea7687b6a37f8fd7044a6117d1e0375ab84094863af99462803aafdf847660f69845eac50be107abd3b8aac45be0003801fd52df9809d2907a7d305c24797836d49e5e0c84fbf72361dc5b29ff2a99b00581f02e1adad9a39ea799a02fe43c7ad12f053fa95956f1b6aa6e4069855152ad24c01052710c21f4bcc8d376abe00581f02304c1d15b9e6e1e37994f62f6f5d64697127f52ede7e8108fdd1b1f285194b018eb49e91a20d2e95df8400581f024ae82bdd8d94412cfc24bfca603e9a153ce2f937d1daab20663baff1a2cf4c016fa2c59631aee834b0a9da00581f0202d3c3f00f4244af3db3e2b2a22deb55e55559eee4a926dfa2371dac63ac4c0353142b05271301261adb2c00581f02caa2bf987e8cc4f10db7c6993e0217294ccfc9d232462a00fba89783757a4b083068134c1ffd538000000219461800582003ca0f6ada0a68937b5c07864a68cc5edcbcc8fd1b5fab03f9ac5ee4e23d5a004b1d20bd6ffb2e3c5e6c000002193fff03d922de970969c8f3148d88fdf4efbb28246c8bbf255eb5004a7033e443fe040f039cf2a50a2609e9a8a3f566976eda70f5c16417f9c9671031ad66b6eaa3995a9d0313b7a0d98d21c6f39042480f5f8fa5f3ea68f743f6cb500fb84ee0f93009b4c203ffd89d0713b11ed0199651ec1aa6316fc421bcd3da21ec7261ad982bea99c45503fe2333f5491bac118340d228503eceaf28f034ea5d001c105de3f219483c8ffb03966f5ead335bd6280f87d75501c1fa000c1075b4667f391e058179f3894ef23a0219ffff03ee6f5d3bf3be8f3ae2fb6400998235acf8d9e8c437ab4cd88571ae49e8a2f03b03baeff1c567c3f8e9761d4d479e52febb02b6b111e2db8b75abb1e069e528cc0603cd56319dd38e9f837770e5b31822a7108538f39e080c0b1f56ec4a63fd00913303ad85b6c07d35e221c2f81c757e76ac1ccb909fbd0f2184064c32efb18eb0e970031e775ccfcacafbd2b5a2adce8d2bd00459d06bee34ef6131bce83a601978c34203de8d1b5a0bca7e93a150e579145a111fa5047040236c1f626aa344940b39594b03079f9feac9ab5d20ec571ae25a12362e2ce4fb4a8db74d42ffa2208d3e82899203166f9e8e3611bef7130e89231e0a70fa0bd59f26e08d1fb3951775d5065b02e700582003a9304affe8e0cd94548b12eed7193c5535cf6dc44cea89c194e0391db477405820ffffffffffffffffffffffffffffffffffffffffffe7446dc08bdd72187fffff039ac6edca8e99e023309a2119912d74717b92f9018faabd1086f846a79b7753d700582003fc3fba1ded044d041bb7011d2deb8a3595795d4fd253c9b05bc436c6a7e4905820ffffffffffffffffffffffffffffffffffffffffff93f1efb12e1a79cbe6ade103d199396cd99b774b3db0cbbc9b4ed7422a616c3cf72aa709a25119812012b36800582003ec2058814a566cb74c5ba5e482d8383618e09b539f75402a37494633ab5a205820ffffffffffffffffffffffffffffffffffffffffffacaff6e2e9523c6d9b50120338a11edc1947c1c8b30caa086e2b24f7c62bd1c789b1080666a26049e623e3120219bf6f031a95bc0f238a00ec8262208c1bd273a390dc4ce1925c1378c5f3c75faf7bbca303c59d293289e5d0071bdfb4d2a9ea059f73fcbec4c7015dda56a3124aa285988903a0677e78919571bc1cefa06636c616439fc59dbdd2463d6d202ef37030acd8c60351844e3ee9b526c50b9ce968e47578f7939719287ba100a6bf55c4b633b4af90038b575c086b88e674910eb76d5aa146d95aed02477e22fe0a59e253dd967d1b9803b3521cdd1fa3071f3a37983934e3eae672fddc02c044828103e6b1b6514a271f0308d966ada94bf34f85ae7a7bb40df28dc3cdcf21bbe0535709f1dc244b27c99203c08a0a9bb2a9fe6ce51fb10d225a0d2a1ed5b8b6b9111868f2677fb7cf74c33a005820038df36c8a9d87fb230e817e959035328dd63c99345aa58e4990fe531b182b805820fffffffffffffffffffffffffffffffffffffffffffe943987bb3459ca92bf8d031eb695f1bed28716ae4cbd77b5947b66dce2006130d574dbb90e75f5aabd836a00582003b607ce64ca865dcc198d501d72f80220adce60fa0749a2ae0348480a681eb04a7eca50f724a41799e8b5038e0aa42c1c2e7477dea8b9c6c077360d7fdc125af1273dac05106639a6b329d4031e9d83e20d4a02543c8382abc4595ca608528444b12b18029ab81b5c22adfac703f9e75065aa52f30bd5fb5fb89b45cd6fb7408051dfcfb9e00a8dab9d3ecd608100582003d582414561f5928afb9bbf3d4582c289fec27dd570c91f47b16ece7d5011d05820fffffffffffffffffffffffffffffffffffffffffedf104303d0943037c72265038a805c5ea53090f28e5e761fb3b70920b6cf8770c5acccdc06589b9712284afa03db267fc40555bc8b49db709edb130fd309856871b984aa04e5e1153b4c8776a70345b236d79a523842eb0fea9b81bb9e1a376a5ca747a25f6333e6c9bb90a82992005820038f7c0a811a30f34880e75a6147d970d269164796002047e48e7df6cd3cb0405820ffffffffffffffffffffffffffffffffffffffffffe9077adde3421fc845e7cf02195e5f037f99a1409aa10a004a545d100252645740421eeff333a324359eaf1c86a0924a0345144f6d727fc3c86568dd66835ff4af1fd6651c617b0673a7bd8ef9cc4655620346aa056bfdfcfe1aabfff92bdfdc1f89af67166046218e4cc5cb86977798d84703afd1ef6ebf8540e7e0bce991e047773c32eb39b81dbbb2c1538ec1cb842dab8303c29991e70cfac8550effbee1dcca303cc40a0db1c1aa060e543de44ad5711f630219ffff03357149122f4d40e6d3cda2bd1bbf5942d5a7c08d0ecb9a88b221e1a8364b918a03b863a2c254b87b889046106c18bce10b06c61e645ba35150e8bbc05f3f21cb4b03884fc4ce096f22a8ac250001f96cf479e2db264943b3adbb63ca2b9347683330037b3ab461120666b9d36be0fa84a5632af0051b8cd82fe49172978e2f78525d5a0321d0340483a3c3afd7ebe3af26acb5ef9708fa6580322e7c85393a5d89b214c203c3bed4869e70a81a2bb494fb48cfff277fa81fee532e2f53309dd1c976dee72e037df541fe9ee463499c0c13ff793a72acd442d5e49a725209f477338f7b5f100b03cf0f889c7a72bddd38aa0e2c6e3124fc41937cc3d9559df7aff97e9dd0a1bc97035b4dbe1c1829bac6a14b248702d482483804f5d6418f5d90fa563821a01cfd25038087026aa82daea367c55fc7a4fa969a1bb3adaef898918223dbb0b7361d5b82037cf662f4b4c6d45ce2f8b1d9d21df6ac4b730e1040b68038081a6c7cd3df7a6a03b9bf44526d272becbfd74df3f19b57dd4c9d9ea8a9999c92a4a210632a6452bd03c1d6ff877c1a2700c34fed6578d3ee6d0c44e1ad435d652c2a5bf777b6d2f95d00581f023951cb0a70d8e5311d7f5474287c6c6c6747338d04054652369753b25c824b024ca9fcfad2cf281a02c900581f02d097c7c3a276325afa629e803b1f74acd613ae6e892ec2d4f0a6533fe7ea5820fffffffffffffffffffffffffffffffffffffffffff5118f96af8183aca286ce00581f0273608d02c53041713db0424846cce1aee4a682861eeb75a96a7aa3ff76515820fffffffffffffffffffffffffffffffffffffffffe574cbc5672d6936a7689da02190b000339e664c00858fb27e09525dfe5d7d2bc687dab8df7df39ffb7c36b62fb5c6a7300582003cb42b0b0c87128d624d913a738c5b202ae38c6cdfd9209c8c5203f2b139c305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03aafb9d3ae1ec6f090a13906a469a7081e0887dee137fb74b7888489e38dbe50e032f9b9036cfd62027e12b05baac9359a027186d048373cbedbdd28a5351e381b503f1b52d3807cd3ac8f24eb42120056814c323f58092a3fd869dac7f180e0896200311686101e6724de8f077aef84ca0c4264145f4096507bb161b59c513a6836c0703bc5fd46670a5c9b43f7a62a180029778d3be47ccb1c621969f9b5e56538c59d6030196398a8a63b31947321f6781b8216cfeeab55f64975f6fa595c092f3f9307603f9f78bd0b4efebd00b76cd63e8497d3f762f1ffa05dd1ca6725b8757f85614e60058200305bbf8324fa22b36090cb81225060f019c60499f27b59bfc0ac41a45e950904b02aa309da273e2ac66164903558d7f1d2cfc28b82f58dad9588feca58d131a35bfc01b975a3695242aedbe650219bdf7036ab3e107f07a1e60a6e39e0f281223fbec55ffc19a3855b9f79f3cedd4135a030334ca0bf7177bf91cc5055159c8e57cbf5a5d640588f16acce38a51b0b220a4fe03d0914518ec68c2cc30a2638bda3152e7bbe4f17d271c567ab4796d1433e477f10219ffff03eaf7aa65613370a958724762c0e0aeea0b143864e93b12d0079b42589efbadfc033616171f8e342813663fa7a32d2d947241eba12de64ee365cf34e4f71bdbc87000582003480949858ddc6ac12a82f2ef77838b86b3164ed2034a540dc70ca1969386104b0c685fa11e01ec6f0a8bb40353adb3abab7b69babb707417a5d55b091a645a4cb6ea59324aec7cb5d8a6716400581f02e15ad79d5e91cb2b8ed1179463053934c51133257aa30c4ee506a90b4e3f4cff7e12381cfe1f1f4928613800581f02268093bd4f1b67149573e099287f4f2761f779e364136c312c70ff588c565820fffffffffffffffffffffffffffffffffffffffff8d973058f6dc71b939bffff00581f02abd0dcc2d4219cd7dd442f86c72d1164474dfac847eee854df1f13046c654c012e0a8fc4f45c58ec16207200581f02773493d95ff33e0cb22720f808ac20960007be2f0a2d50861f258c52c9514b0cc3807b84e58804e7efee0219052803baaeea1d87cee0ac6f55edd5459378c854c6b58925084bb70aa051c040eb3f1b03ef710ab8b5e8f3773f28d11ab3b657bc591a912523384c523ee3fc291732baa603e72afc366cd3b10a5e5fea4746a363ce4c265bdec0956cd68f331a7718e680ca03e2d3ead449d2e91e01bfceb0f689ab74303f5191a8698a30b872843c2f2f6a5300582003f7ef27d266882f86e120743e6eaec5b3bc511d9e74f426346be23f141a36a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820031c3edae70ae402e41fb7aad5b12b0efc309cfe79b42ba420a8d5f784fb33e05820ffffffffffffffffffffffffffffffffffffffffff3d26edd74611eea81af1fd038abb1b54e960f8a5f6618b1cbf6ce759f129ad86faa9c250e96bccecf326b9a303ad0db58488c9d311339d4d232546241257123170fd2b5f0ae62607eba135885b035cfdf579a8551822507702744f6a985ebebdea115d5068856be43d566b58b9850219fcdf03d05f8a2efddba6026668e2d7794869580d856165212c9bce89d33af9a516707403b2411bb25cdb11da67413c33a8dde368935397c28507dc31825d96f1c837b83803ae0e3f18f2de1aa16a70a17f82c9d832868261472b7a88d258b4ff0ff8ce2db70375896607637dca461b958df88e257d9eecf48f08f048cf33e65a2c1e32ba266d0058200336ac63cfd526a7032c0378f1749dbe7acad6303eafff62eec3dca77de4a3205820fffffffffffffffffffffffffffffffffffffffffffad8587f68bdee220c461c005820033dcc9a974fef6274a42b703e17dfa51a1a01a5b997058410bed84e21d016b05820ffffffffffffffffffffffffffffffffffffffffff90c152b710b0b903b5431103d8dad4bd7736649471e3abe4150c78f1367b475eae0cb3ba6dba4543ac915a8c03799e9cfea2a1559eb277572774e0456485df1eac3eb938956b96bcc9359f65b500582003a847d1e51c742b239afdadf0225cd60c86bf56e8b6ae0130f42a7c1af6ce304c1dad65a441aab16fb30964e1005820033ceedec91b04601d91843abc34d667d41728cff64a8ec75dfe02b3dcff69d05820ffffffffffffffffffffffffffffffffffffffffffaeb722eb443784dddfffff035507506dcbafebb8509d62cda0b8d0c4677f89de3acc252b79c067816042175b034f1443600b59f643192733b65f7a07bf12ebf74f83c58cc26fbd11169a271f9d005820039ee4fe84d99f19362773efb798508844ef28f9854b1bdc7bb9bab8c40071904a183111a3d2df2aacfecd0058200309ef0a5b69fdb866f50533be298ed7926eac47ba2ee9a2347d1d6758dc27205820fffffffffffffffffffffffffffffffffffffffffff198f9d894e394e6463e980219fddf0303e14a451339d190145d667a7165550c288b191e68c203b9ca444cfd4127f96903c2aa649ad16254e60b005248af70a67eba622e52b927412cbab14f905e9186010385d0ad3df0accf83fa93964c06288c74d8837573c6defe49e221a50fec4091360381388210178f8edd2ff96de2e31a320088d4f7dbdf4199ee9868656372f4866f0361e16edcca579814ca65d355f8aa6964f6cf20fa0f5d03a78b0758df9db16e1b03e8db99d00ed905ae432e289f9af18a5d226a04f2854e6f7fa174dc7e57aa0b1a0058200393d9212da9b48771800ebb935a792e95850b7d3bd5c00dd6643555a56528b05820ffffffffffffffffffffffffffffffffffffffffff65fe798e5053c3ab832e0f00581f02e2baa866adf34a1361531b9088ecdd9cca5f36f0ce336f6ecd007fc317754b09e30c48883dcdcc72e0b400581f02e4021bc609af08ff9ae8a12290be4cb9df91b142c1ef01231015d3aef4ff4a72bf80ad45e0e9f9167e02192200005820037f86c52f941345d7dd32bf72700273ea61b7317b4528f3a6a1091b3ee76f405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034a2ba57ec58f8f7b5c10cfe4de598c00d7c4655a3cc67919ebf5d489d515381103e9f4e01e652caddbf5936a3da15fb2929ed9bee3498c0d1cb3db5c86197e41a4030edc9fa8d5e54a65e3e17a26bec80af035a14af792ede8a61bab035a4b16c983005820036c7921649f3df59586eeb90529400d09e395741c6c99ac0a36771932f89da04b01ed5880f77fb8b77df1d900582003042446c43ad76c537c258af2bf8e6f1fad57923fb1efa6ddfcb46c8b0e58805820ffffffffffffffffffffffffffffffffffffffffffe5ef8f7434683b9b7a429803860d59e248ae18e18582589e3ce57f5efccaaa449e55ddf1148161ff0a8beb3c03a46874df8f33532a53ae1d50d35cd10a1bdbca0655efd87bb17169c53709c25803973b82235bd1876b0f79bf3b832858b04ab7a13cb06d9b98c59216be2eff38b8038516fcbce6af969c2a750ec3be56ab01d365f05d41ec67d7fccfd7914da691b6005820033b9d0a5dd78247be554d7191c5babfeeb50fecfbec4c076badea3c04e78c405820fffffffffffffffffffffffffffffffffffffffff978492711a554a1a4cfbe3c0219defe036486f32235ee6b7614cd94b4a38b6ad815df1f6c444141739db8f4134e7b0d1f03db11f35d0366cab159482b8d4643e6fcd1ddcb9b801f91e870587bfa8e9166db03c168fb035fa9d4839379b52b8125f1933d2ff63144d8c3b8a62a38a32e74a4a403eac5f11a233e80cb0180abe2a1b3a083010cc97ed8aaf7abef2feedd4b58e572039c06ec2c78f0777876ec1a1c94e475542fb4124024e427e19fd67c4fc017e44c03c2b92a716b92523a6c1efa39ffcf6415429c6699728a28777e4c54b566bd4c5903d65f44766bc501723be394cb2854d4edbfccc5cbc8bf17248cab17f9a682a3d10219ffff030b365cd98d75ccaead375511b13b545a369d0f76b730aa875e4e6a00aeacafdb03eb39f9037086023f17072a4b000ca87de60a5fb823efc4554df266945cf313ec03611f2f07de76e0781d5b820e8d8b55263663331aa067cc7a356e620de21f7e00032a60509ed3803532e1a0bbe1b74083da41c2a733b86bea5f5872e343c594833603e2a9d483be514120bf029fbfdf7096c51beff69094bcd85e9ab0740a8a648ff00373828903d741c71876656591e4f9e875bf317deceb360c9d92344f168d06d59e03058ba7ccb3323dd6da6bb1c40a7046cea7aabf9c2644702139a830c35f3557e603168cfb702849a2ba4cd8c9a740dc5305e87a8ec3f70d33d439e2ec52b54370040345c4f1c9c02eb6aeeed2e2c5dea491db3beb73fb94e770980e18bf40db8ffc190333b6aa972a0ee9b923cb12254959915a918666ee645ab7c52d854c5e987e885303043a5eba721a40f398b0f72f386af04864aa91b799b02a2b796308f1f286b64f03cac0678ee66c76331772929cec4b14f19162bfe2d4b140989371832fd7f1f59b03aea00946a40f2130bbffb67e972fa1676745acd4214e3afcc9bf55ff672b4c50039dbca55773cbd0ceef17a12fa748386394562a7781c7550d9f6991bd1e0b752703d2556c014c09f8622512f53cf533c209f332bfd61e6b9386ff89c0e417f7d573037fc83399d9e122cd29f3ade6b2df3dc6500c26a46321e8bfde634b867679c77103dcee87cfa9cae6f2bdde639ba31e419bbcfe1e2201e18fce6ff229a7854d30e50373308c986903b93182c94e67a3a9c09a9bb568948ec5ccd42aa7fb06f2e11dd8032137075225533838a0f53e7dd62103d305b7d604ba777222e6d2c48d152b598203496987e35c9cb6d81dcf034759a542e1625f85aa8fa9facdfd9d5878513fad8300582003faa89a029def0e8ddb60f7d0f1a137a895f43f7b915eaf3c7bd0f8c932c6004a3c954cd90bcc594b178a03f7fc8aafbb539ee97c580b4266f92f28eba636100170eb4a56693344e174c73700582003f20592570f6c9de2d5ffd4af0138da16fce4944bb52e49141758548f056ed05820ffffffffffffffffffffffffffffffffffffffffffc8a34cc3dba8402797ca34005820038a7b1933632eed6ae6c04eb7dac483c6be3fd01aaffda5679db7f10896e5d04b07f9929b665fa0aa4ac98400582003adc9970e4169e264512488df7630ee36919adecde0d60274ba13e9b883d5404b0416d91ead8d181d8b43d1030a5c7c8f386b7f16f19802a84b05690ca75aa39e1ab6c5bd3c2196b257ed47490219dfee031000d089764a9db2e8dbe15aad6a1382b7562c60ea104904382efb9d9024df1003d0ae5e4517815cff7afd2005a07132ed6924357710dbd9f150f5a4c578e556470377f91ca8104f2cd318563b7e53be571d388ac19a9412306867859ec9963c811f0219ffff032deb0c204028173a9002a4e2653e41f244fd4bb35b656dbea66713009ebf2fa9033f988c6422c95a8fa8899ea305ca50861902db4fa381f0e3c0c250b523acd7a203300ac768d353e8782d95485768aac9d6ec5ea68e41075877127d1bb313a2e8f003c435e74127921eb8e50e316f37be088c91c141e0d6afca26e484db7470dfaafb03211d35756f20332e348a446bd1d6e1b86e87fec2639f9ebb4c81a6d94905bdc30378b578ffaecded6a377513f89bc11c86fb8086a9dcfd23463b6d084c0958e7ef03fd55ab8ae5c81f9c3505c5c68a417fb502bc49c0a2f0d449b5f6200aae5116fc0358babbeb0c54115c457cdcbcb3e8376f6270e2cfad353f6025ee17f9e15e4bc0035519d3e27e2592f05fa6a7f1ef162a641ce676fd408ebbd20200ad83d9185b3a03e43375536d5c0421e324be34ca75845f5722706f2a7afa45c302dad8569c02580356cc37f2d2bef25d88249755abbdce6b6917dff8c40a82c3e1ed5ed02f131d37034d1d2744f5f55e6fc1a128d3b3256badb8e72ae7fb95c8fc638e44c02c050dc2005820038213a348ee5c7a36a90485c044ea79376719ea544888f23ff8a50dcaa1fa605820fffffffffffffffffffffffffffffffffffffffffa54932bb0d7bd9ae4c96cf000582003e3c966c8482cfa4affe348c062c55be95bebaddd2191bd3ff769de0c96e0105820ffffffffffffffffffffffffffffffffffffffffff912497b8ebacee8baff8ee005820032062e696ba748fbf635c311061747aa95af0fe246ebf4e2896b8db5c9ef2605820ffffffffffffffffffffffffffffffffffffffffffaaaf8790d2815521e11b980058200387314f765b9ef14434ad14d188fbab80cee287b1da2ad73437f1ea64c037305820fffffffffffffffffffffffffffffffffffffffffffe47d878f4778e61a61fff005820038a6e1466e35f0ca0d280fca6b0b4a9dd9a8d90330827706390c185efbd35305820ffffffffffffffffffffffffffffffffffffffffffc00457ee051066194fe24303dc7af581e4db21d54cd732ca775e15bcb9e7d07dc10265a9df10f9513f10a4730373536dd8fdcc3beb83fb6a59cc1074c6c6670f7045865510075bcbe15014170e03bbfeb269ad23cc176e27fc9d4d8c39fac5b3a83fac2afe59739ee206f651d9d700582003f099e3ea9ce75e2bec1b894ec5bc304783180109f1f42157b9fe882986bb704b2a63233c42f8a16370ddd00219bddb03b30e3fdcea28fe33224e76e57c0c054a921fe7eac6d2d5a3669163dbb617ac7f03e501c6a49930b89e472b8ddde05388f6ace9916fad48086ddb49f8c54d1c7e1e031eb9e2bed794053b36ec78dd7578cb791905680025df9c29bdc9e8dafebbec9c03673181b38ee0efc8d0f7e9fdabaab2049ecceb03034824a959d9189bbed910450341b7a9a695d3c877e54dce930e5a3461279e613b3446797aac6bd89f38968d080351bc1dfa2686a6d761910b6cb282fb3c188895348f5c74aefdc724b5b6a9b51300581f0295b7173714647ecd70cff40c9b5183c505b34a81347db145dc37d4eddaf44b0403e27ea63fe10a096b2200581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f4c015bfc9298de952e2f40000000581f02b8e7bbebc94f62422f9f5a5e6583dd606c215cef29d197b1ab5b896516575820ffffffffffffffffffffffffffffffffffffffffff0d2cdf385951a1bc774b040219080500582003e9c11831e173a5aebab46ae8a29e06cfb5adca288f1b1d9b864f272715d9a04b03b452c914c49f1628b30b00582003c2f0ecdbfa0b34f7f18953a72700b6fe55ed9770df4c04ffd1565b4dd780005820ffffffffffffffffffffffffffffffffffffffffff85a161d246e6c58f981f52035957e037e0337a01e4d181f585fe7508df91a481dc02717b56ccf327407d8d8300582003af1cfc318579074635cb16acc0c14c7ef41aaf2e1b6bcbd6d734d97a6b08a05820fffffffffffffffffffffffffffffffffffffffff790e7bfa82247cccf9d50610347d8c195d8783f6f9a5dbd0c23b105fb0f99fa55d9e72e6ea4fe6aab54de62f80324d5e2133a3e7e224312e818ff48b1394cdc4ef25521f48901f183e7b38b34e30302492b75ab4a945b3fc177a1632b99f3e179de5008e132d95da04fada72261590219f73e0374510c70bfd0d2178b0b274eec0a2b94734759cc79dbd0874c1bea74e925592503320d6b2b0e80320ae48bac90930e359972c6e74050becd564d3e6f4a17e579b603e37560d4b8cbf8dd3f44662db39bffbf04280482931867995de4b60ca8211ba7035ead698be7c2d0896f96f017136a6c44fb5de70dc20c965fcc6eb78066362912030b9b9f0da60eb47bdc704aea7dc8de70eb796b3619f9f8d30759effabf2eb5c0034d524f7237667134ed2faf4b703ee920911c35ccd3177e2d303a29ed01e82bc7033eb57e8504dba2755ec4a89b08fc4f8b320c7421530eb560e195d7c200d50ce20355d3fe4b7cca0839cee4ca0ab8b7a42e7a896260b9288fb5b04f3a31931aeae8038a91a16b5d8144f356cbdbb021266059b1e7edbc9ae7d5d6fc71b7b6e8853b1e0219ffff0219ffff05581d020c06278c589601df7936e478a060418cc1fa9b4654b3bd1904cd4c860f014805438948f0cef8001924ee02184803d169c97125bcff655a12ce637af549b4b8f9e9091d97ad84026afd53c3aa545b0219bca603fae91bc79f79929ea8c518176b3ce17aaa8f133f6188a05dc456bb552d82272c0306056f056043543b35ba0756401cc39d28f20b2864964bd2a0b58b4cf49e86810310e258475647e3e78049d2768fb39fb6838c352391057ba19ece1ec15d97d44903b76b1c37cef46e1b01a4b7d3e63e6c5b9157ed8f0e52452a86b16f7869dc572e03968344a497f8290457227234293ae4aabf6e3b003747c9e0b49511ce470e138903ecc6770eedaccf9021d6e39a2c8bb8312e18b030b9e471553fd81cf30155d8f8034bafca67cac8c981a0353af48a0beb1e146d752c7ab7ac3c4cdf86878b9d46db0361da6611290558944eb8ccc1972500246683b31a01221dcfe5d6cde50a9454ba0398a7faf0fd199027ed23ee9325959a16ffe2db280fe1e3ad4ca4db084edf9324033c34bb50b4eb73d6fabeba5e99fa8f9c27908816e74c6e858fc38428e1d8eb7f0374a4531f2b760534610d2df02b89de16f626127f56048627bbd21d88daa0997603d443cd770baa69853a8eaf82b518bf2f64555b8b1e62884c51120a6113fed9a40219ffff031dd82129586af228653de5be1b7be13fc8e7207770d44ad69010a9936703b78b03e2754922c85333eaa857ffa872dd2de4992abb99bfc1b5010a78aae17b7f084503f022943c0827786ba77b8ef9ae19f77aab2874cab25094bc02cc8ed6ce3b8bb803e30de4aa779ba8183cd5ae93bce9ca3ac7de231e7882b407810bbb5216d0b8a0036e225ffa1d5a7c64b0e78a3f2243631a96ede4faec0734fa4aceb84d9ad4365603f6a13eb6f29f2d6ae7d8798bf5596164796ceb5c8f5f7d466055f9079ab1ef2d0399a4a0a2e7e2927d24c31087ad41ea98e5184a6c24bdbe54fcb5ad264f3595d203aec43c8d3c740796462ddc54dfec862a7f7806486e5c65869b675d43ecd809c403c9bb65dc7645c897bcd7a34d276a776bc0446497327b3081d22e17f85d3b265e0219ffff03cf91f04801f689f5968b36cc64932aa57ecb123930986281321975f88ff2d5800219ffff036b38f099adfacd88918ae1e023b825fa600187688204239c9bdf1e7c0b2e9370030ad255c354f38e1616f03935d6c7d8fa9015339a0a0e1d0c4e4897a9fc4d0c6403951df857920f7767a332c4b5f3292115ff36468c3961135b63e3fe26b5fa7c0103db5b42f1ab204bcf1d6c8399441740a248eef0169d9fc0d9e3f432153a28fad60337e29e68c97ff75bce734f68f49176ef026e96f9e73fbdcd0720bf00a4e7a81c03de90008f00418aa5eea7bfb4d6eae4dae1c6da1765ab289624264dcf3fe3583f03823e0f947a062459d24cbc2635ee51d47462870c6098912058722c2e8a81f83103e2566749d2cbb3a13a11a6798de15970b4b78c561c7f59f60e06ba73e8d8b7570330b5b00391611cf04f7311a7e0533b693d613adf0c655fb2830e367c2aeb5c2903cc6e32081056a1823f046e091500c5989d23aed2af5fa83b5de465a20e8f5449030569640095dfeb202c824730860515381774ee69012aa88372442e448af7e154037ff5d63e25b7ad55feba0dd8f4dd394f201475c6dc45d458e5d85ba63a2d821a03e18a8a85ff2bbcada9401b4e2b75dc8e64b08470bd853ca5b3ecece29afb480d039c10274ccc4f5a33fc9df7b94378829b52bc22a9c2fab1bbecb86e99b24a6f0603d967ffa0ddf9d870d345531a9608c14a1f27f28fd19ac61097f340bc62457f9a035d930bf0053899a239d942db5b46e8653a5e5e09a84e81852f130438d88f495403e70677ad26907c0073f33f85eac5a977dde513832d629b01fc85bc3701ba0fd303bf9f3be47553e0952c0eeb2e84b95258e58bc21e06e5ab9b8459231ed27431bb032ad92776228bea409f26f416c653735a7ff8b5f1171ef3ad3d1d388e42a24c8303c8d5e30378a1ccf2976579229d51d39ccb05ce8285933478475108b66e2193e005581e03520f1c1144b24c2ce87e7459e0bc768a2b327757bdee9be235cdfda630040105581e03adc92a3d57103e87d72eae67f3ea13a730225d0e1e8e0af52b59c2b6800c034655e9e86224d805581e0320dc1086e8876e02ff4f7cbb69e79bb49001d246469a012822f6b05d700401034875555289f79c2c2f7431de427e59d5d70fd6f1d70b7aa84e71ebb4cb3d247305581e0314055b1c9397f758dc84a39c23a8056b3bc19add63abac4f3ddca21570040105581e037e2a455dbb9216f5da64ca9338618bd59782bba0426a3a3ef68c0cff70040105581e031aed6efe4c866f79ffb7b91ed02c6af216d04ef1757d9d6d53658273f00c054729084c5e764134038a70a36b03df65c40adce9a36ad23eb646131d89372524efd60698ec88c1a3fc05581d0287d6e269b41b8c7406da2c48373f4c3dba68e9d6d0acfd71821198f4040204595ba8608060405234801561001057600080fd5b506004361061036d5760003560e01c80638456cb59116101d3578063b7b7289911610104578063e3ee160e116100a2578063ef55bec61161007c578063ef55bec614611122578063f2fde38b1461118e578063f9f92be4146111c1578063fe575a87146111f45761036d565b8063e3ee160e14611075578063e5a6b10f146110e1578063e94a0102146110e95761036d565b8063d505accf116100de578063d505accf14610f64578063d608ea6414610fc2578063d916948714611032578063dd62ed3e1461103a5761036d565b8063b7b7289914610db0578063bd10243014610e78578063cf09299514610e805761036d565b8063a0cc6a6811610171578063aa20e1e41161014b578063aa20e1e414610cd4578063aa271e1a14610d07578063ad38bf2214610d3a578063b2118a8d14610d6d5761036d565b8063a0cc6a6814610c5a578063a457c2d714610c62578063a9059cbb14610c9b5761036d565b80638da5cb5b116101ad5780638da5cb5b14610b6a57806395d89b4114610b725780639fd0506d14610b7a5780639fd5a6cf14610b825761036d565b80638456cb5914610a4b57806388b7ab6314610a535780638a6db9c314610b375761036d565b806338a63183116102ad57806354fd4d501161024b5780635c975abb116102255780635c975abb146109d557806370a08231146109dd5780637ecebe0014610a105780637f2eecc314610a435761036d565b806354fd4d501461094c578063554bab3c146109545780635a049a70146109875761036d565b806340c10f191161028757806340c10f19146107fb57806342966c6814610834578063430239b4146108515780634e44d956146109135761036d565b806338a63183146107b257806339509351146107ba5780633f4ba83a146107f35761036d565b80632fc81e091161031a578063313ce567116102f4578063313ce5671461056f5780633357162b1461058d57806335d99f35146107795780633644e515146107aa5761036d565b80632fc81e09146105015780633092afd51461053457806330adf81f146105675761036d565b80631a8952661161034b5780631a8952661461045657806323b872dd1461048b5780632ab60045146104ce5761036d565b806306fdde0314610372578063095ea7b3146103ef57806318160ddd1461043c575b600080fd5b61037a611227565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103b457818101518382015260200161039c565b50505050905090810190601f1680156103e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104286004803603604081101561040557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356112d3565b604080519115158252519081900360200190f35b610444611374565b60408051918252519081900360200190f35b6104896004803603602081101561046c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661137a565b005b610428600480360360608110156104a157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135611437565b610489600480360360208110156104e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116f2565b6104896004803603602081101561051757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611853565b6104286004803603602081101561054a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118bb565b6104446119b4565b6105776119d8565b6040805160ff9092168252519081900360200190f35b61048960048036036101008110156105a457600080fd5b8101906020810181356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460018302840111640100000000831117156105f357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561064657600080fd5b82018360208201111561065857600080fd5b8035906020019184600183028401116401000000008311171561067a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156106cd57600080fd5b8201836020820111156106df57600080fd5b8035906020019184600183028401116401000000008311171561070157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013573ffffffffffffffffffffffffffffffffffffffff908116916040810135821691606082013581169160800135166119e1565b610781611d23565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610444611d3f565b610781611d4e565b610428600480360360408110156107d057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d6a565b610489611e02565b6104286004803603604081101561081157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611ec5565b6104896004803603602081101561084a57600080fd5b5035612296565b6104896004803603604081101561086757600080fd5b81019060208101813564010000000081111561088257600080fd5b82018360208201111561089457600080fd5b803590602001918460208302840111640100000000831117156108b657600080fd5b9193909290916020810190356401000000008111156108d457600080fd5b8201836020820111156108e657600080fd5b8035906020019184600183028401116401000000008311171561090857600080fd5b509092509050612538565b6104286004803603604081101561092957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356126ef565b61037a612882565b6104896004803603602081101561096a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166128b9565b610489600480360360a081101561099d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060ff6040820135169060608101359060800135612a20565b610428612abe565b610444600480360360208110156109f357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612adf565b61044460048036036020811015610a2657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612af0565b610444612b18565b610489612b3c565b610489600480360360e0811015610a6957600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610ac257600080fd5b820183602082011115610ad457600080fd5b80359060200191846001830284011164010000000083111715610af657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612c16945050505050565b61044460048036036020811015610b4d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612d7a565b610781612da2565b61037a612dbe565b610781612e37565b610489600480360360a0811015610b9857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a081016080820135640100000000811115610be557600080fd5b820183602082011115610bf757600080fd5b80359060200191846001830284011164010000000083111715610c1957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612e53945050505050565b610444612eea565b61042860048036036040811015610c7857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612f0e565b61042860048036036040811015610cb157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612fa6565b61048960048036036020811015610cea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613109565b61042860048036036020811015610d1d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613270565b61048960048036036020811015610d5057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661329b565b61048960048036036060811015610d8357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135613402565b61048960048036036060811015610dc657600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591810190606081016040820135640100000000811115610e0357600080fd5b820183602082011115610e1557600080fd5b80359060200191846001830284011164010000000083111715610e3757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613498945050505050565b61078161352d565b610489600480360360e0811015610e9657600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610eef57600080fd5b820183602082011115610f0157600080fd5b80359060200191846001830284011164010000000083111715610f2357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613549945050505050565b610489600480360360e0811015610f7a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356136a2565b61048960048036036020811015610fd857600080fd5b810190602081018135640100000000811115610ff357600080fd5b82018360208201111561100557600080fd5b8035906020019184600183028401116401000000008311171561102757600080fd5b509092509050613744565b61044461382d565b6104446004803603604081101561105057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516613851565b610489600480360361012081101561108c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613889565b61037a6139f1565b610428600480360360408110156110ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135613a6a565b610489600480360361012081101561113957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613aa2565b610489600480360360208110156111a457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613bfd565b610489600480360360208110156111d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613d50565b6104286004803603602081101561120a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613e0d565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b820191906000526020600020905b8154815290600101906020018083116112ae57829003601f168201915b505050505081565b60015460009074010000000000000000000000000000000000000000900460ff161561136057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484613e18565b50600192915050565b600b5490565b60025473ffffffffffffffffffffffffffffffffffffffff1633146113ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b6113f381613f5f565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e90600090a250565b60015460009074010000000000000000000000000000000000000000900460ff16156114c457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336114ce81613f6a565b15611524576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461152e81613f6a565b15611584576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461158e81613f6a565b156115e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a6020908152604080832033845290915290205485111561166d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806159146028913960400191505060405180910390fd5b611678878787613f98565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a602090815260408083203384529091529020546116b39086614163565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600a60209081526040808320338452909152902055600193505050509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461177857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166117e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061575d602a913960400191505060405180910390fd5b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b60125460ff1660011461186557600080fd5b6000611870306141da565b9050801561188357611883308383613f98565b61188c30614224565b5050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002179055565b60085460009073ffffffffffffffffffffffffffffffffffffffff16331461192e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600d909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2506001919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60065460ff1681565b60085474010000000000000000000000000000000000000000900460ff1615611a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061598f602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416611ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316611b2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157346029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611b99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061593c602e913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615a7c6028913960400191505060405180910390fd5b8751611c189060049060208b01906154cd565b508651611c2c9060059060208a01906154cd565b508551611c409060079060208901906154cd565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8716179055600880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff8781169190911790925560018054821686841617905560028054909116918416919091179055611cda8161422f565b5050600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b6000611d49614276565b905090565b600e5473ffffffffffffffffffffffffffffffffffffffff1690565b60015460009074010000000000000000000000000000000000000000900460ff1615611df757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b33848461436b565b60015473ffffffffffffffffffffffffffffffffffffffff163314611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460009074010000000000000000000000000000000000000000900460ff1615611f5257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611fba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b33611fc481613f6a565b1561201a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361202481613f6a565b1561207a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85166120e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806156c96023913960400191505060405180910390fd5b6000841161213f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157ac6029913960400191505060405180910390fd5b336000908152600d6020526040902054808511156121a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615a02602e913960400191505060405180910390fd5b600b546121b590866143b5565b600b556121d4866121cf876121c9836141da565b906143b5565b614430565b6121de8186614163565b336000818152600d6020908152604091829020939093558051888152905173ffffffffffffffffffffffffffffffffffffffff8a16937fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8928290030190a360408051868152905173ffffffffffffffffffffffffffffffffffffffff8816916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600195945050505050565b60015474010000000000000000000000000000000000000000900460ff161561232057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16612388576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b3361239281613f6a565b156123e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b60006123f3336141da565b90506000831161244e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806156a06029913960400191505060405180910390fd5b828110156124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061587a6026913960400191505060405180910390fd5b600b546124b49084614163565b600b556124c5336121cf8386614163565b60408051848152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051848152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60125460ff1660021461254a57600080fd5b6125566005838361554b565b5060005b83811015612698576003600086868481811061257257fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff168352508101919091526040016000205460ff166125fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001806155ed603d913960400191505060405180910390fd5b61262b85858381811061260957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16614224565b6003600086868481811061263b57fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff1683525081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560010161255a565b506126a230614224565b505030600090815260036020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009081169091556012805490911690911790555050565b60015460009074010000000000000000000000000000000000000000900460ff161561277c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff1633146127ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600d825291829020859055815185815291517f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d209281900390910190a250600192915050565b60408051808201909152600181527f3200000000000000000000000000000000000000000000000000000000000000602082015290565b60005473ffffffffffffffffffffffffffffffffffffffff16331461293f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166129ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061564d6028913960400191505060405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015474010000000000000000000000000000000000000000900460ff1615612aaa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614531565b5050505050565b60015474010000000000000000000000000000000000000000900460ff1681565b6000612aea826141da565b92915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526011602052604090205490565b7fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de881565b60015473ffffffffffffffffffffffffffffffffffffffff163314612bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b60015474010000000000000000000000000000000000000000900460ff1615612ca057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b86612caa81613f6a565b15612d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b86612d0a81613f6a565b15612d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614571565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff1615612edd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614692565b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b60015460009074010000000000000000000000000000000000000000900460ff1615612f9b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484614956565b60015460009074010000000000000000000000000000000000000000900460ff161561303357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b3361303d81613f6a565b15613093576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361309d81613f6a565b156130f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6130fe338686613f98565b506001949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461318f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166131fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e690600090a250565b73ffffffffffffffffffffffffffffffffffffffff166000908152600c602052604090205460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461332157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661338d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180615ad26032913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b600e5473ffffffffffffffffffffffffffffffffffffffff163314613472576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806158f06024913960400191505060405180910390fd5b61349373ffffffffffffffffffffffffffffffffffffffff841683836149b2565b505050565b60015474010000000000000000000000000000000000000000900460ff161561352257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b613493838383614a3f565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff16156135d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b866135dd81613f6a565b15613633576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8661363d81613f6a565b15613693576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614b49565b60015474010000000000000000000000000000000000000000900460ff161561372c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61373b87878787878787614be7565b50505050505050565b60085474010000000000000000000000000000000000000000900460ff168015613771575060125460ff16155b61377a57600080fd5b6137866004838361554b565b506137fb82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600181527f320000000000000000000000000000000000000000000000000000000000000060208201529150614c299050565b600f555050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b7f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742981565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600a6020908152604080832093909416825291909152205490565b60015474010000000000000000000000000000000000000000900460ff161561391357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b8861391d81613f6a565b15613973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8861397d81613f6a565b156139d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c3f565b5050505050505050505050565b6007805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152601060209081526040808320938352929052205460ff1690565b60015474010000000000000000000000000000000000000000900460ff1615613b2c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b88613b3681613f6a565b15613b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b88613b9681613f6a565b15613bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c83565b60005473ffffffffffffffffffffffffffffffffffffffff163314613c8357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116613cef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806156ec6026913960400191505060405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff9283168152918316602083015280517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09281900390910190a1613d4d8161422f565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314613dc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b613dc981614224565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6000612aea82613f6a565b73ffffffffffffffffffffffffffffffffffffffff8316613e84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806159de6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216613ef0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806157126022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000818152600a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b613d4d816000614cc7565b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205460ff1c60011490565b73ffffffffffffffffffffffffffffffffffffffff8316614004576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806159b96025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216614070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061562a6023913960400191505060405180910390fd5b614079836141da565b8111156140d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806157d56026913960400191505060405180910390fd5b6140e8836121cf836140e2876141da565b90614163565b6140f9826121cf836121c9866141da565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000828211156141d457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff166000908152600960205260409020547f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b613d4d816001614cc7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152600093611d4993919290918301828280156143235780601f106142f857610100808354040283529160200191614323565b820191906000526020600020905b81548152906001019060200180831161430657829003601f168201915b50505050506040518060400160405280600181526020017f3200000000000000000000000000000000000000000000000000000000000000815250614366614d50565b614d54565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600a602090815260408083209386168352929052205461349390849084906143b090856143b5565b613e18565b60008282018381101561442957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156144a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615850602a913960400191505060405180910390fd5b6144b282613f6a565b15614508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806157876025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff909116600090815260096020526040902055565b612ab78585848487604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614a3f565b73ffffffffffffffffffffffffffffffffffffffff861633146145df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061596a6025913960400191505060405180910390fd5b6145eb87838686614dc8565b604080517fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de860208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b6146878783615006565b61373b878787613f98565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214806146c05750428210155b61472b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a207065726d697420697320657870697265640000604482015290519081900360640190fd5b60006147d3614738614276565b73ffffffffffffffffffffffffffffffffffffffff80891660008181526011602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938b166060840152608083018a905260a083019390935260c08083018990528151808403909101815260e09092019052805191012061508b565b905073800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea6528783856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614860578181015183820152602001614848565b50505050905090810190601f16801561488d5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b1580156148ac57600080fd5b505af41580156148c0573d6000803e3d6000fd5b505050506040513d60208110156148d657600080fd5b505161494357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f454950323631323a20696e76616c6964207369676e6174757265000000000000604482015290519081900360640190fd5b61494e868686613e18565b505050505050565b61349383836143b084604051806060016040528060258152602001615b4e6025913973ffffffffffffffffffffffffffffffffffffffff808a166000908152600a60209081526040808320938c168352929052205491906150c5565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613493908490615176565b614a49838361524e565b614ac3837f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960001b8585604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040516020818303038152906040528051906020012083614e88565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260106020908152604080832086845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b614b5587838686614dc8565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226760208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b61373b87878787868689604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614692565b600046614c37848483614d54565b949350505050565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614b49565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614571565b80614cda57614cd5826141da565b614d23565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600960205260409020547f8000000000000000000000000000000000000000000000000000000000000000175b73ffffffffffffffffffffffffffffffffffffffff90921660009081526009602052604090209190915550565b4690565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8187015280820194909452606084019190915260808301919091523060a0808401919091528151808403909101815260c09092019052805191012090565b814211614e20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615675602b913960400191505060405180910390fd5b804210614e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b296025913960400191505060405180910390fd5b614e82848461524e565b50505050565b73800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea65284614eb4614eae614276565b8661508b565b846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614f23578181015183820152602001614f0b565b50505050905090810190601f168015614f505780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015614f6f57600080fd5b505af4158015614f83573d6000803e3d6000fd5b505050506040513d6020811015614f9957600080fd5b505161349357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260106020908152604080832085845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000818484111561516e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561513357818101518382015260200161511b565b50505050905090810190601f1680156151605780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60606151d8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166152dc9092919063ffffffff16565b805190915015613493578080602001905160208110156151f757600080fd5b5051613493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615a52602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260106020908152604080832084845290915290205460ff16156152d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615aa4602e913960400191505060405180910390fd5b5050565b6060614c378484600085856152f085615447565b61535b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106153c557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101615388565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615427576040519150601f19603f3d011682016040523d82523d6000602084013e61542c565b606091505b509150915061543c82828661544d565b979650505050505050565b3b151590565b6060831561545c575081614429565b82511561546c5782518084602001fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181815284516024840152845185939192839260440191908501908083836000831561513357818101518382015260200161511b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061550e57805160ff191683800117855561553b565b8280016001018555821561553b579182015b8281111561553b578251825591602001919060010190615520565b506155479291506155d7565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106155aa578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082351617855561553b565b8280016001018555821561553b579182015b8281111561553b5782358255916020019190600101906155bc565b5b8082111561554757600081556001016155d856fe46696174546f6b656e56325f323a20426c61636b6c697374696e672070726576696f75736c7920756e626c61636b6c6973746564206163636f756e742145524332303a207472616e7366657220746f20746865207a65726f20616464726573735061757361626c653a206e65772070617573657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e206973206e6f74207965742076616c696446696174546f6b656e3a206275726e20616d6f756e74206e6f742067726561746572207468616e203046696174546f6b656e3a206d696e7420746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737346696174546f6b656e3a206e65772070617573657220697320746865207a65726f2061646472657373526573637561626c653a206e6577207265736375657220697320746865207a65726f206164647265737346696174546f6b656e56325f323a204163636f756e7420697320626c61636b6c697374656446696174546f6b656e3a206d696e7420616d6f756e74206e6f742067726561746572207468616e203045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d61737465724d696e746572426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c697374657246696174546f6b656e56325f323a2042616c616e636520657863656564732028325e323535202d20312946696174546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e74657246696174546f6b656e3a206e6577206d61737465724d696e74657220697320746865207a65726f2061646472657373526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636546696174546f6b656e3a206e657720626c61636b6c697374657220697320746865207a65726f206164647265737346696174546f6b656e56323a2063616c6c6572206d7573742062652074686520706179656546696174546f6b656e3a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d696e746572416c6c6f77616e63655061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656446696174546f6b656e3a206e6577206f776e657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e2069732075736564206f722063616e63656c6564426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c697374656446696174546f6b656e56323a20617574686f72697a6174696f6e206973206578706972656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122005677c3919f4b149e065a5983baa9e2fb099cab5463ccd06429f70b32d8d9bdf64736f6c634300060c0033033bf862f787a0cb9af6418d78cbb5bb12e1c843c50f86941345516c5489ffc98c03bdc011f506efa58f1b2550ca80958d2a7c39f979f40d537e110b221c62364ebd005821031347d38f9027b008ab764477dff5db62e1ce3cab675df1efadd25bb228ba1ee05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103216fe201c80e31523065747b4c3a11b5ce64700caa277669094d49e7d42e4c105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80205820ff1bba8c5962591285628e226cfe21a129312cfd293b407070da1d82f098460100582103517498924e66ba831af2769eea8312cb5261242822e63a2d7cc49a5c707be180500785ee10d5da46d900f436a00000000003b30d5e39bb2a266518592f8bf752ce6d25fcfd24908b3c862f5f487ddf91096100582103e453bb62162b907fe0133f23a577de7bec75205eca5e557cfe3ef2dcc72205905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005821035ca2f3d6ffed7c02f4752b25e41af1736966153795558b64be92a8283b5b1500430f42400058210317fb9989707d00d29edf83f0ce78ffe6efc3e7e2f0a33e6a7370cf9390ae63c058208000000000000000000000000000000000000000000000000000000000000000036082dea626a28fd5714b7132ebeda7497f1e481e325c85a848f757266e4fd23c0219fd7405581d020ab04938f26cadaf9df6fe1389ad0a110acc2ffd76feaa1dc72a138e0701195ba802182205581e035c0f632b2b143a27400257b92b6008ecc69a7ff00d34104f16bff667200c0147038e3c48e101c2021976da03831ed6f8a49834649a23382b40a6ee76203a1922def27f983aeca653cf624e9b0300a4e8abf9c56e6931dbc2c92fae0225b1a8bc1948923b60ba90badc23573443039b617dfcdc2dc5aea5cf6c052a8ae308801747f0bb7e141baeef835768b7806903f0e7a2a745a087954159eb80e20b9f051cd94d157787205253daf790c27a533803d078c94db34bb1b52288633329ab77714f36cf9d08edb0c37f10483069a9846f03503a3e1016d332d27bb14d9035e07df8256f0eec92453fbe047b06a978b0def10304fb76502821c1341d8cce7d8e0f3615d1e80d00fbdeece4f2987ad9b311f16303d9206bc6defef5ab38ae798cd109c225986013e4e2dd3dbbebdad6817917be180378dcd74e07bca5759db73a24e62d4099a3600f084d0458830897538df421b7680308938d8a7c2f50a81542886e6aa16f4e4f86ef27626906088b7c3d633779f16e0319a9ba3f2108048e07191495f1499e56c1a33a96d3f7e135d3410d10cb6e527d0376afc3bf5b27d160ed41d005ba5d67039dd2f6f8f874efb2ce15b84a89675a6603f984c38c2d5a6efa92af5a93f30139b77e3d9c5b0c6ada51b61c69068461cc250219ffff03acbd841bb3e2d17dd0e5ca2de25dc9cdf9bdbb15d1749717a3aa4b716187797b03d8e26893c1e83994d22827226009d7b1915b57a6b6d44ce6267def6e0d235968032b2ec0b96a881d70743fd195a65d8bda8f713ee8a912f04cf3455a27166f00f7036b3fc72af358232979ebeb102fc391f19eb58c605b898a47589e50df41b8f993033ed15033f2d7681acdc7b209d4bb4ebcc6ef0f06caa243bcd09918bf0d8aa39603dad9d66d12d0c373a3253978474eaf038d3626087e2f9f7a1d16d291f76f6a95038b23d6a648227fb0796eb7b90c6baafcc7e76990329f307a4ce3dbc92d7706d0032751cb1e6ef314221995829ebf8e691cff7c9480de52f6c9dceba148e7a0028703a1fcc05ea08f58dc027feec696e30104ffb9d6db8f5227a5dd1fc1aa98fd638403f819d9f990655c414cd07882d8e4e1c88189dda079e2833a770274daa996d39a030db2ed707ad7ede533a14236d2576f170efd826cdc43ac9944ed902cf7e5eb710219ffff03e240d2f354f7431bacf28b41ff0e2714bd2f474f4035bedc81ed5ad9ebfc6a68037b54a357ff302a5cad2efafd66399cf5a5e5fe4ff04f226b5347ae13132a22280387d5885c1e7414b430e470e1f823380912ea5d85cd52a1063c1682418db7e3c5039a70889dd4e317e254ea2371e486ea9d7e92d43b4469e07cc3f1d691c089e72d036c41b91f9c4bf2789a6fc9fbd3bde8ac6b57ddd51b731181398ac80e984818e303b80d427a127d647dd0ff1b5dc31930fa1617325053d7f8ad7725a0dd10cb8185038cbf459a3a7cd5364cb3fa450180083f35729d3899512c1dbc7f84af604053860219ffff03da4ffd56b56d6d1287a7b2ea0736b6436a1e87ef519e85bd8fba0d2dc5d79ac703bb46fb5f8c8d4335ef5cc6eabe0f1ca04b07d754f5e9e2641a3e3c4f3082de5f03b939f08e666d0366c86282e8c4892bf4b134f25050478f591fbb1c3bcd823e4d03f3fa62189eda675f607602bf30bab4306cc02c352980b0329a1923cd679f230203400172c8ce158acc9992311da864e8064478e2588572d92be62e9d7b5f030fec03ebd3c8cdeb92ccc7a325ff78e7ad07b4ee3e3ced8bee5672f405571a14068ad10393494800f0d8833bbee98dde0f62bb6b91d0335f901094aa93c971b1307816e20219ffff0330868f709eb82fb97c8c399392b1c293e837f4e515beb2243c34382c2c074b2903742a2f887ce2a985a4c75b6a0f97ce6cabad51070ce36abb07adbb5a130ab3390377afb2ccc2afde161d5f3fff14517d3eb6bff35e7bf57656ed15364279e144af032b1f2693e6f14f60c0b7644e2d1425a956ca2434e158961f0fa7410597adc44803124c808891dab190ce9139bc9df47725c0541d63f1e0f753587cf7b3cd55a91d0309307570c4ea69a2b7fdf7f76f8507fe2a15ca089dca0b13f45dbc58b7a0c08103b9ee2ddb237b9deeb66ded2c2e0663c83a0d85b84529337a8d57e88333ddef4d0386fe1a0eeb34ab6b87066b8e4b034299d3303be40f25538f4e90615c78ff0dc003100ef476aa198a462697f7757e53d61fd148de648ecc154cccffa6a505f2d6ee038ff58d3d16caafe9a9a050e04ce38df1f0c1ad0f5ab13a91070d62fa2ea31a9f03150b4e4ee702d9d8b1a78e013c9ae44806d9891abe67a8e913d42c42f3ca4b77032637efb64be055daf8ffdb83fcd4f748c4c48d057035a0c781eff476248a411303e9df232bcf62608539e10f729ca5a2cbace345348c399510ba4e8504c0a27ba903a76292f84eff5a6505b2c69f259e456fcced1edc68d0ae38a51a936605f189e803390c64fc07026469d3c738e00f81fab799537c5a2a805ffb55b3f7e5be7cb207037b6bbddf14cc7d9c7d3278733e5f2baebae9edb5d43051513866390dd8e3835703021353f2a44a89ff40673a08dc5875cb97a06954f97cbcd9082c532581f7ef1703644befa1f8dd05612fc2e88e500358cfab5ed9391e2ea85cfcb03731e5e3b3c903bfd19a3fff8ede0a829a90e9e4215855872f730f42c10ae6f38f7ef7aaf2a20303d3f096abe79fb4671a8ef29b6c81c86a9b3f1c3640cc5ec79d79a4fabab0d229031840b03f1c0898f68a1bc33f364862018db8d35580f7dd0152a3f7b57a7fa57c05581d02cdcc714d43cbc2e87efe2ebb27100e377d26451e587e9fbcab05cff3040105581d02668db459dd9247952a055180a2684560646c17440cfdd140a629aae504140219400403d04cb169f432334f3d169fb55a7e5c363fd31d38cc8a2c9f8494927b4415fca6037ffa4225b0ab53501fcf360be9b6bd9d3554cafa4ecc3a268cc939f5a53e667305581e03760798b7841b6e0d50145da34bfa1601805cad101815faade81595f1800c0547017f53b04b5657036bc20e5eeb1e345813502340c919c503aa4c11950c7b2fdc294dc86473f7bd6705581e03f6993472c27b2840d4468adc5a205d88adaf9e17270b4aafe65704c1800c1895465bdd4b63f526034cfed241528e8e9407ae6cfaa996ec278079845725b72d9cee658bf05105042505581e0307310cd4ae6b48e2703c4fdac3e6b69c2592c5c838314890def82e307004020219ea2e036b18518b950f7b8645ab35a71cb108300d18475a8b34519a042789866996a2b8032188fcc3220d6f133ce47be6235dfe432043a0527e960834cd8f5d77b113357d031512ce7fe5cb1431e9d999a8a549f8d33786756a667374662e032588f5f79d0a036bf2d076326f785c44abf9a93897e51eb0a917c581eabaeb57aca8ce73d6f37103875e4f0803a7a5369ce2bd6dcfeb7df45d0496beff356b11b636e37f20b00e6503b22412a4462a9b50db00d1c2dc8b4fca025e7a5c709d5d95524738296985d0450219ffff03ce7c6473a2f7b8afbb0b261b70ff5587708f4e764a2b0dadd7ed7efdefd296d0034d0c5fded085ea623151bb4dcda743d12d62f408c4099449585a1ea5ba8318cd0373c84e65eff118ce01cab2cc534d5bf0f88d1c90fde65e7da7eea8de413bb27503893cbf11954bbff877a1a2ebafa96a508b8cf41d4d98478c1b27b929114546cd03aa90f3c0d91e18283a783dbbf3682d07a3da2ca0995dfe7fa10804636b25115603ef703d1d1122f01b9d626297b48a34043f0284f3969c965eb4f74effec1441990219ffff03aa2b2635d165ca7a02d63d5d944edcbc8ab31e5f0762e4624f551bb1000da364038057ca10bd8eedef17eb974c474613c0f2670ae4614c7c75d1db6805170e2d5e0392caa30ac92827d057a0eb935c4b8b5fe4c67f24a732177aac004735f50e0cd8034e19cd0e3dee8a3d2466774237cc18df3f9f5be545d216ab37adbf5deb4a91190327c836178b8408f45a9ecc1ca75f2676ff4c39590f95761651c1f05cbc4ada3e03aaa7dec490b26941f1d4658ba6463fdb1d3114ed8f50839e040641eb351ab722031e0288c08e9d50208773f90b59bf36a0dbfe46eeefe18b1024026c9a3eea9dbc03d3e2581480edd3a94ced519477af25dda0a27e818c7f620def51e4281847a063034a90aa3a031f07feb987e48663a040d19853f4d360f4256debb9fc8d12601cfc0380195f2aea18020edca7660e11da4e1037614e09c010639a01c9dae46a82694a03c35c4d81bee497c1dda3462daf2ae66c1a0196609816b78715aeada57b8b256b03852401d795444a4694f0b3d874541af07e71ef0eb3b9075d8932f4799ea32f2b031d10e360bccd8155699853983f68266fcf7c3216bcef51266ede4a82a265acb0030580bd25320cbd03bff2411ad8ded330573b18076236f911aab35b342beb1c5203b19b9da649942dea81808575f4948f503c0bdd5b0f1912e38cdc28ca1652a89a036df26561f7f2714e060fa3b8a61992069a46eb593c2001656bd2e3843f078bcc036202ccda7374b9ce7ec1c1b0855c9e7a7e044d63ebe5af82ce7725051013a17303cd4c7d239b6600c6f789259e91ec0d0be79177613c24ac7839baff9975702c5c036fe004b32c97bc2d9872069379b4558aafbfcfbf4a074a10bce26b192e1f2d1203a7fd25b66651b3013bc5c5b0ca3106794256f109e557fe586f7ca3b30133b5610321ce89f0195264e44202a5e8e54239166f7020385dc0e8ffdc0620f1ce8d708a0383d1368b286e6910c984b7543a29480f98e9ec742c0ae1466133ffbf0e9ae28f03b21b0cde731e02f377cf10f1a030c0d50174d4bd3dfabbe3093c9ff496af726b0330a5b9577516388a472685311ae462ba910d0615da12f458f446b70b8498d8c603f663860f3dcb774b7a5f654b4d89f62c2754daf29cab6a3f1523d33b69191989033cd3315c8270c9ab4a962ecd8dc415da7791d5e52def9bd5c20d58565ea6f65303ef64fbd5f3387420abd9054a4dcdf423d9ab42c0249e1e8bbf194d9e3ed4143c031c200268547cd02b12a227a6b08f3279d9a9009c4db16e6f286975ee46c441bd03469ed24b3b5ccb79e782c37749062768a21200f84a31303e53f051930c1929a703f84adb548d9bcbeb148cc871c153a0698de7ed1993000de969be21bc5344e9b705581e0325c571e249f7d74a1dc4b679ea37fa12754e497f6e323fa3cc5a355a300c054705de486b22af0003fd4e35eb7af833e26c3bef1f57529dd566afa2b55258b383a2cfa097547e479003b32a6395c759cc0bebe6992002b7cc6334dbdba53f9db43ed20342e4d4521b5f05581e0353d09bd6021ba82dffb24ebf6fad17aaaffb5a48d7e3d2a904c2c5d1e007011bffffffffffffffff03869a609e58b22bd30e29f88ee6f3ec01120f7028d5d085af8084c7155247fabb032e5c12839666624882913ebc93c848fe042e200271fa7fd61c21ffa6f0ca248005581e03e93a1e130a5914d5e82f2110e7e5cb9a8e88334f616024c7b589f232400c014711f21a65eeae3603ca5ed8f7186fd8a0d85657cd2fe503246593ae439e8f42e3eafe0b149179cebe0331bf613721a7cd1861f4c213781f6e80b54878ec761340c69c5b528afc6f35bb05581e03041a39b40d547522ded96f8fbbb3747536114a9fe69de093edc67eb6c00c02460458553ebc8003f874a45815907982b6d9f21843b235472f1ba4e8ff5b9694f6ed24c88e8803f10219195f03cf9129f352aa0842b05e26671a46a1d5b69fa22d62a6f7012a231dff1d2b91bf031b536073c7f46b602db61d1cd41cc566ce64e58de1db0c036871c1bb77babb510333bcbcc594159e40b1c10d6a95a36f8a88c7801199c5bd12c9cfb1ce1fbdde050219ffff03f78881b2ca37e6543ef731cb7611841c3ff561c084f54b61898c2034d524208403f464df2a7f55694a8e7d04bdccf696484270ab5dfd1f82b62a26fb88ff6ad8e00344a440149320e30cb1e282f89db0fb597f59ea2c233e29196cd7a4279ab4fd1003107f232bea7db893eb5b5d0708280a25a5913cbb1b8ce558994d42e47b2c148c0342ed696b5dcfc3bbe076067f8b1b94d872b517855733d481a140a4fffe35905b03e13b38506f9bc989aea64b95891669c432ab134da80ee58120fcd4484026ec080219ffff03e6113c6141beee4aef4108b98e03ab4a91882bece094c2a4b2872a8eca5eb25e038351026581e43ba1ac76c64d5b2100d76858943bec618fb4033e17bfbb6a310b03e856dbf5ccb2d3ff0677c15ae0f7d1a834181603504bd9290c82b74bfe73460303f083b952dbbd987423d2e28c3ec04faf9f3b114209e70c995461eb9fa7e099f303a58da1b9686681e357fb3fd34c4322a4d54744ae7a0159be5fabfb7f2ac2bc430219ffff03c3a3d4504cf6694bd1435ddbde3497fdb1c0d18f108608a3b171cd27141fc77e036c707bdf778ac37f2f2bbdbaf90a8909abe1e2d7ba890cf468f33482170de170031572b4ad4e67bcd42bebd72ce347ff32e5b7ea2a07ff21b82fcf6b5bde7e374c030b953e9102e7b819cd6a316a2eea2f24170d00b3f30a5b35a35454a640fb883f03aac654cbc20c7125d1a1b521f2b5f1e96fe089729a8ae5cbb68683bdd7f6167703e6c9d66b22bd0b17b046946c95e0845500f148227df06fdc5a8debbeb89c5df5037acacc6ae91cc182093d02f17e0356719abe1d6ba6d30961e2445a88783f294703e29da4205c176bbec3e7d8917daaf104b864d146beb8f1508e676a0d1863cbd5034f37d6c6d3d201bc2ca2ef13e97fb3fbd3fd9abb0ae547221dabce98d3544dcd03e3662fb2dccee3e1873606bbecda5466b34b1933ec7d36a2e35aa471d96f740c036dfb335a75139be81ae80ece69f27d0cff3b7e977b5fe2bde3115182ec8012f70359dcee888405822b24d5e4f2ec78f8b36f8055228718c8de14c95b66c157b49c034a169e6d439241451fd0c1f55f6973d826079f00a1cee44540c81a9b3a2c808c0308a18eb50c0866f912e69409c2df9ef02077054d219844aaf905dcb018cdaf69030e5bff38fd04aa66aae6546a771276c9467e672b64e0d59cbd1f1a25ce42f64c035003f516035aba7f67eb55173358340d6f3421065a0e582a3844998352e7573503cea7ad05bf108948247d52d5c04e852336f2bf36d105fcd2a353b5b2dbdf8fd4033b6a6a1a0fac222d58e3afc0ee1f1e4c040def06029f29172d5d2e47b0b438ab036841054a5030ba5123df9391792d676cbfd850900d7abebb1a33348e32a0e7e20352e2e3b1be7641e917beeac78b1708db7a5dce16841ee9d74e8c856c90c387a803fbc39af8e52019476f55c90b6852b5ad9b2b0356be9522340491f7faa7e85365038f91fe28909b3c1cee077280e22f3ce003821c6aef2f785b18de742618588b360316d539a7591c8ea6119b831b023786c3cefaaf3c27c903b66b99d6a64251446f036a33ea63760686eaecf755b3e7d255ea7589fc4f839c6d8e8175a69e6a1e2547032e75a053bf005ac741c611657baf68f821c3f92058af89adfcf3013e7688a84703960671b646670253654dddbb8724d23e45054f1424c3e46a9203e9298dc171c903c6c5b3abad01a2a8eae36d13db0bff641052268c835a47cae9ef7efb181d0ce2037d44224c15f6a02af4019b51b075601d94468a8fc25c75f690311cccc19122940374d504d42a172a2cf12dce4c35d3a042838af52aebb8d2bc1d39087867cd2c30030673e6fea934bcfc7a83518d77f507cdb80f137cbefc36558d8506bd085288d8034a4d8687270f988759b0dbb295be438ea06a9fe3234216edbe707de3d1125ede0329a4fc2a2c73aa00f2a26e75d7d5df3ff4139409df1ff2556d67804e3d63567003a07c613ad5edd7d98cdce3973bdcf622618b9cb70e13e40e8d90e4f551ec19b003b64ee93a9ef547580b67abbe546ae787e854ef87768af820800b25bf4659f022034fd99ff3e2bdba83451226541ea7211a83a4c6c3ee445dd9ef95601340f0c5700327b2142e9844331d8a05c025fdb7407a8da36c31cc5c499a0e8204d36ee58690034b2f56ab4718d046f9a79e3eefe3b52323fadaf3f6d1ec61ffc184319a33b58305581e0300258d04ac94a5636ddfa9655e1e1c3709c7080dad619d84c63fa9bc2004020383baa4b265772664a88dcfc8be0e24e1fe969a3c66f03851c6aa2f5da73cd7fd03b328babc126b86b69053990fa64820602acc3af34cad8e42e07c5366d5b1c01c05581e03c117ed4fa4e20027809f61925082f85864545ab753318445a78a1c7f4007011bffffffffffffffff05581e03770a0b014ed55bb00b5e4fd1f301fa15fa37f49995498f1186bc3af030040103b017fbfc3a696837879bba3551a64eac03fe0c948ae07350fd20045d91421aee05581e0388f9e00793f9a5062e1fa5c411ab0ee6e8e3b669f3bcfc87e4d6e2916004181d05581e03c55953fe8e35620e1dc9bd464868f5935f924ed5e246bddea4040a73a00401036cc68cfe8b8da48dbbcf081e4a61ee5a6f42fb45715b96edf47224351dd1d5ed05581d029772a5c8fed9a8f3fdc285ce40b76396ac98dbe3cc2afec22ca0a2460c0547a687d65394bbd105581d02759649e3276f43a0ed10d466e9dabf56e2f3cd61ee8c06f6be7a430f084745ee8a1683d73302192800035368e58091956919d2951031681a02b70d331ba4ab94e3c999713633929f511805581e03cc24efcaffc6a1458fa4b6e9de1ce1340a8c4eeccb4da80957b857ee400c181e4736bf1639d2a2b4031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e038eb284bf9b568b3a8c0ba8b9155eea208abe56d2d8f9d816b7d05a9fb007011bffffffffffffffff05581e03ecb9d7959ec6b92c9fcbc9b352f1881d3507222081daa82017f50780500c03461756fd35cda00219fc3f03c552d50a64dc979b533585a4c1ddcf86f42cef23fde70f3d0dc2e77f4cd25a7303210302d67e5422e334db19b9fed8d28993fd66338718da754a212d2462ecf46503cbe6ca746de93f9a2d72694f5b30c233e6b4e095c35d999550aaae5c1413b9ce03b173c0009bb8abc6327fc8cdea9f8de280a143d93690c626581d91f8815d247203479015abd2bbf6b5698a762835328ed98b7c8cce8fe8a81ad0680d81c57c41a203456b9952f779941b86e4fd3e2d23d5a5e1affa45afa318af851fb57ebb765ae8037f13bccea08476f90bd98f2304547a178d053a6f1d649e1948f823ef8b50658f03039a2d9bfe2a32af5bd6c373944c1a45f527347886189499c26baf570a30ab7e03d8c3b05f00a047973b77b05cf76b4b27bdd7fa057f49651b48b7c15258897c2d03df3d9c4ececf6a4ee9bb393ea6a695c6818679c6c555a438d7702e43fc43291a0219ffff03ff3b0c18101c3164b3e257a3cf3ceb3e5238f5284e90542e26870d15341ebfe703e698b79349c2573ceb349ae3844c6a062a1db2bf95e1359105b2b3df01848f660317071bb4274a8bb21125d18b729a1fe0aef37d82e560708f9479709a7a11f82903e91c23d1a10d58c66e0bfc73d50ade282e30de239c4a0a2fe0fdf9cab9ddbcb20219ffff0219ffff032518659ac6b84669444e5edf39433d93906ec357b2183f7e99b77cb02976464f032ade81d1d5f890c6589dc54631945285176e854670034a46fd4d71ff198b417c03e5100ea4529990d9454342348db33595fd1fd5aea929dbbe428363965bbe0896036b10c7280917f159575ef73e8f78f347e0c8807711b2ddfef97cb6775abe9479036f1ec7a207f25156d8d0b34817e8dc998c2103d6347ac31f7593e24a8dc346650308503dc0f8d228ab4736301c8c757b9c6aa0e88059a689f0013f1e3ae5ede01303ebc7b04b9384d848b699cb4357573361d43927106ea443d4a31ac0cf9ebd991c03cb6642c8444a8d20e0b1f5ae4047c1864673a05194c8acbb5d190b85b8699f8903bcf8f6f37cd8936ccf8ce1865d899113954fefe2d67f9f01da5815840cdc148b03aedbc68f2bd48e2cb22cd02defb0530d6b721cc76dda7b6782c8dbe495377e8d030950517570cc268d57a402e6833013a2954a9687297bfad8514d705eaf33a90503a859d76309a1f6122786adc05920d94bc1017b040df5c30839414002d9e506f403ec1daeb07b9583f3d90bcff12eb29f861bd71b13a021c1eb905abca510f5942e03114ef27ee1890b7ed2fd41273c3b965165087eba0f11b5276a779c612a205e1d03d5226e579e40ae6279ada2e394c491049266f744676630f962744b9ebfeead8e03041a121df4eb0be0d7d4630a2f0ca42431b2492cc3f61caeb34ee73ed6231ae3032dc188ff32d7fd00cca6ed0611184240e6cf2cac0cb31abcd29121084b1cd04203e6fef155f70d722ed7b5f7938e58bc827a0ac2857e9394617486a4f0b559fdd403871fd7016001d8b01d70998e1a7be1e9896e406ce802e4b807d062f9b5884b97032ed9ebb562bd9d13a87a7571f18192d1f8979b45d3f5cb2e11b673f310c83deb030686b1313a91a6b34ecf8a3a6a86dfb652f32ac951ad1cf04cfe59fab168bcc403d6a76c6c3447da7a6a41db1b8afe4cc10ccf5db9a20663f9433c895ae6123932039a1ffd9017851663cec7efff14c4441e28809b01be2106d449d6c4ddbcd7a79303ae522e9503505e3e2ae01e3b1ad96f38b25d80f91f4bac3b3a78ad0a786871db03f415308d56f43269b50922e7e26784a9ebdfaed8e38431bf25d3fcc4bcce82f203803ccb75db761e279a035179e67ec5946b378386e78a55ffddeee1039ebaa65903ab0a6e90664000897647b4e15ed4d795f14f10bef87f441e8643d16ea57dbe6603a0f3b40707c82e68b6c5557a07877ea85376b43d40305d7cf8f69f252249f4a403cecd30bbca393fdc0b2544c6a8a3c4844941b3f0e52a364bbd645f7270b4484703c8aab5b4b96a5c63d925e073d239714965d7e9619fbc5c418155bd9d005d60d903fa759b147c5d63d2e875831f5200127e222eaf98378520f2fca30acf21c166ba05581e0303d4e2be6801865d5a7b4791114c031392ef74f8bc0bbfea304f8fb6c0040705581e03a41a3f118ad29a7caf348745141a5af888a080b5470ec5c3d14482e270084804af681a79eba000039b57615136b50d030b8c0174ee95c511d579e62dffb684f6cf354ab47b69bcc305581e033d1e43945c1d309e3d09175f7709eb127574ff2d03fc33f3fd6ef600200c034701f05b5c561c2005581e03574aecdde2726596cbcc67f0d0f907f8ef0757c79a21f9c755402816f00c014644205707378805581d026f170f6eadc9a25126dda9dae75c3eeac8f7b2ebddb9c084968e52000c1a000207f349026263ec22f5331b0a05581d02c76a56f807709e4c215931421b7c46cd9345fe59947e064a02cbdedd0c1901b0471456d27c10bfbc0219240005581e03e514c372c749309b7ecc37b1abcf2017c0657be34d08cad0e8f61b22f00c0147106f7257ea28a80367945ff4857115d3a1984858efc41775f7c705a81c6b2a7c7dd97d7b903ebcaa03f0f301d94d5b08b52928572574b92b11e68d0f858603daf4daafb599c7472d1003d7b2dabb18d62555a1cbee01db0fb0936799c9227e2050e6240f471d95cbf26005581e03aa24e2ba8b31db0c6c38c10d2fb1496edbe8072bdca769b7852b87d82007011bffffffffffffffff037afeacb75e9a45af3943fbd57521a5c94bafa47a6cf0c1263f002c4bba06fce30219e5e603b8ea6588eb4878ac176319ad7e081fff5f43421c9e9948b9df30dda041672f2403f5eec6ab8a6df00194c5fa9c3958600968df35827678b28ef810954c2d40916c03aaf764ac99323060957667db3e05e01296a65f0937b48b161300c5995bd954ad03f3074316204681743a52ad6990931bf4f04d4c430c83cb555a70382f3c38978d0377cb70e027dd6ff10ab20718a5235e723b96e05186d82a6c66d2696b8780048903611b43fc2abe052eed82b42b4d4f4007341a540ce67489274849fb7d0c84e6bc0360e736998c2d24e197dd95d36eae1a913094092e5edf555c8c4d3a35241128cb0398e57c2abf4fa4a47518f43183833a752f8f0ae6802cfdadc1a9b53bd999a7d10330f57b3ccb8bb9a128ff5526ff3d482c9d2a641b445e568a2a4cceeb046a491a031d2f112f655ec74a634d1bbfbf8ddec6bf4beb65da169712234a02d523ba77af03e5f38ab42604a7b8a7a1d1475f817883055c1c132fbecd69a591438b8592b9b5030f9051a87b4ced9f80db6b64253faf90c591e6273d8533c263e40eb05d3c4fab036b02158563cb90645dc9f39a9f216bfc8a728a23b1d1168c29031ee0a5b5d32a03bf989bf728e5aa92311fa133fed0a25258a579463a6e681dd4ec8cf1d113fb910219ffff0219ffff03cb7f74a5c42724b31017070b8cd76c449a95fe15c74a74cfb2394464e517e457036740465dad47805c8b79971a6bb6fe5256c335cb0919d207ef40b982244ecec003eb890d04147194f62682e64f2f07be762c82c90e5a91d9144f35cb72942b2a48039b99e70dc0c97b1d81f77d6acefe067a0e3653939fb5bfb7f95954372ee0ce590219ffff036536aaf3a33d37b73bc408481deda1a294bfbc8084d5e5f9cfb9ac2c8ef5c89c0219ffff034345368a3738f2a3edd7f6353ca03c56e0dca4e6ad56c4cb99548f0e4e1c61f0034c66edb225f97a2d002e58577946e71835c22803ed99d7c15cb3dea8c7a5108203c44f25811aae471c8019cdbfc4f059c0f0b6ce7b6934f025c605ae3a338bc6ab034ce7437af743db1be4bfd9b47d9ec85d8c99971bd99396f9dd93a1577394a87803a21b14da159705a593f4d017b567830143d26fab287d6b61625ab6b1c462950903e9a8dbc55935ca375d403fec916018d15ea53c748245925f8b99d26d70c0829703341259cc795746682eb4f1224186086f0591ed76ab618f3ab5a4e1ccaf77c16b03019168608753f99886995bfca3c52a774bd9e11d35d2b3cc7e8ed54471f521850332dbb074b8383b7c83eae7a8ffdd342d63e77661081065e95426450f0d9aee390313d998be7e683f6c1da51353e7ad64737f4b645db0412a727f2087d1b16bd9b203d097edbae353c8e2f2137ebc90b358e8925477421561b1621d5f177ec63f90780383d79fc6971d8ceb8e7c1934346e83415bc5eeea4ba1132d2bc584d5e9a75fbf03f3d3b0a570f36a1c2292e27f24da74a2b9cb76b740f94af13b6382d94d1bc8380362c3bf58a32f994279e468b6c9c174dbe430a42386d5fac895bb2c99a6015e90031c0661cd63c77108312d39876cc8e30789e25f8a5b019245e202ea4c4a31616703a697a7595bb5a9e27c4ac9e8b89f699584a4d30808c75a46562a7f18ec9a7aa5036810f1ca89b6f91e6b65ded42aa91db085cd67c2545cf9fcd62423e63a6571ee03c4431984f74c7f89612877d84cfe8a22015608edb145fd387ef1ee7b43cc26d9031e991681ecc1d222dc72864e5b3e513246f3d73c008977376fd810d3a7a01683036a6478c622371e6b26ea44c1cb403c83a559e170a8677c784d2f5b8c69f718be039fd8166094c323e5cadf78116ab35e960fcebe6007292ae07ec649c52fd3572503ea63dbca44a08f7a8239fad25b01eee931cecd5d4c0362b651fe9211eb5b095503328f1dcf91d2c431e500cb748252e25bd4aed9e9ad45f9c6179988ce1547d22e0393793feb759736400eb14f507f9dec1b4fc70ac120ccd57beee14e0f8e148596036066ed29615042118ae54347574f761cbacb259ab0a0d5685d4f94377ceda4f7033af3626990e90a2f0146177465b128c561a9c967f5092173f47ed6cfc04930c50397bb181bc1e9a467bcae5f8a2bb15ab3164d1feb9cd08ad141dd9ad31da8c7980324cf29e1966928915e112b87464f22d949ec366421778cdede426ae9cfcbf0f003bbc9b0c2f3c817f6362df297a523eac9a452e07f1822d8e9b13af0dc1fe5be5f0358e6d53285852da39eac1fac88c134643854641de24564a74111b51c524c04e103d2b2893636458d894d6734f7d580879b985bbe1157543d0eb963bb5a6cfad10f03efbed8c48d2442711d3059a6b52856f2f3121090c640eeb77df373272f7ffe6d03f9e21ea777b15f9f434f04c49739e51f5a9752c2e51f9c9fc42635000d27274803164f75367a8f6e1f1a0359dfeb489b32676cad47f1d0d086b5bff31cf8ff77c703905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e030c8ad43decd58b2d0080e1d754ac864bb27d938499f239b1642378a84007011bffffffffffffffff0386601f71df54380c18c8029fcf32cfe178e8038447688749d5a0dbba90e394f505581e0318ce909f36316b59eafa7ac607c088c53dbbadbdf37c0312268aa4a9300c01470542b4fd9ca000039ceb119788a579a2cf993c92e650405ba9d8b6030186d54713c9f75cee2617d805581e03e0c53177f4717d2d8b44da1e109545c6362637c881f1f2b5cef26eee20040105581e03d4eb93e0b74e4e2e5753f99eb86c83d6c088488c4266db22ffc93af8d00c02462221b6aac53105581e03d0eb4d6143f60f4d83361394962f1168b531db70d1c346ec9b576b9bd00c01466fedd330767405581e038a0747ed2f7ea1b6a234c58950a099d5e10a43aa27c215b88a094c43500c0447021fc7e852ebbf038f207c1ccce1765f087c6942b28b49a6a19ad8056da1e37e7077989282ca1df6034f637811f57c5e7025cf7dcc006b3258094b276c9588fa9399b90d1da6affd8105581d02f8ad6185012c0d30a523011a3ac1785c4b56b34505e68f42a13edb0e0c0247198b114c83764005581d02da91962b2922f97d3710d2ac2e1df7517ff40343b2982347745ebe560c0a4722abbf97e3aec205581d023fddaa44e191955267141c16abf0537647a1bdb964e126f743613f280c181b477ea5d176affe1805581d027f375343832e8be683b69574b87f62c1dc7d799056e054b6e1ff0f510401021910c80219bcdd03364ee90a32ee05124e9951b2807d9178ec044640bc30b7f708bfd693ac060e8603d27b1db5e339b66a34b5dbd1d3aba2082b60e4bbb620599819f13da611f1346a03bb37a190be14220a81e7b46a49a974eda2a87cd4a1c746961c8af88a27ab28470344d7cb2bf1599c13aa61b123eb0db22849549286b80d5eb2d4f7f37996799b1803ad78f055d8994671f6826e54c6141ccdd6699d7970a6001f7921bc835d77b18903124da9b4ce309d3bd9dc630afac0f958165d8b0de6da9cc2b8e741f92dbe2bed033a6a8440a1810ed37dd5f36a8232d80bbed230a673e3d6d1307d17396f45b8750219ffff035cac9b867c1bdc0576466c2d70e2dcb01914f08c8fc0cfbc477160415c5e80da03fb3d517e71c2821e2331094ae7d00f9e873de3b2d96d6bed2dcc916ee1d44fdb0341e74161ebf0149ef5461e4d7c31a6be3a244f5a089db4d0b1fef91868cf40c60387cf83294ec6334c6ac4391d4dbe63f06d4f8abd280dd819ad6cb774bd4433f00219ffff030e7723860bca51997b64343bf1a873bbb29e48de7086b0f6fd1410e35cc5197203475e8601d5a3f895499d28123b30599e35d7729188c80b188d532def706eeda5033054a7cad57a9d2f059f2497f1ef16fcd982eaa916948b254cc0d7434c197cd1030dd027484efd179d142fda98f653c6373b3ae2fe42e486231dcf33e71d37ad1803b8679addc05f608434f330255f66598fbc19d10a46936121f422222135d4e94e03da7193cf2466adbc96a5c43f4d185cc9e708014d5dd1bc96e37389552d4a0b78031ef129d00543dad35b3ee9105079087046d53ae34cb1edfab9afe9132ff7565c030c3f865e1b7fb6c75fb5bb0e53cda9dee8e089f2a61a1682682b88d90878b2aa037899e54fe72413927aa7ced273f7746d410d25cd5f8f030136ce0b7fec9b495a0219ffff03a7b06429737422a6d50fe997427ff0982a1c9162f05a9e9c188951bd150c569b03badc866176da93bf582416ba4853c76b4b5785d02f2921fd1fb9b57f098ac88603d3ab81b6663fd08c2f40e38bf97dc2d92cb046e51142023a3af7054aa115a0fc0361a20545675fda0e9105a8b97e6520e2c54daee76809fc81f078551e567e07c603643db6074128e3f253114b637526f7e1d22a5185e81b176daebd2c49ef0aa3af0305935c9720f808e6884e5de7be3e191592f0774ef0f9f7b978e926356a86e5cb0219ffff03c55f57c530ea2cc809570f21e75d7238d3541826d889bfa161a4edf93d74406b03fad130011cba5a6a5d6ba6182bbbabd26c65f374b10e9d277376775acfa9183603a10ac62cfcfa1e596f83d39e32568b0520f5361c9d4b98aff3d2ffdc6594030603a175304ed40e68c4d51f0e5968934a0b946ac9491d8192fceec25b1e0de03f3c03a0fe0e083f889298dce2d67b6cae2ee125c7da3895fb6fb137f79baf6e3320c3032908e017fb3d4b1ae1fb73c3c8551205f69cb9b3c6b9bd40f54956a2c0afb07003ccf5bb675b93d02031cbb5bc831eb4b48b2b66ee1d1cc46b4c1ae523ae92ecc903a5740412cf18cd2b2ea1626480d32db552c9c6fba9f956d96dfb84c96e2004d90399da93de75c8e3cb9c2c3f09b06a73b18b6da514fbfdc7b45b29112f5b69a241035033a908d39b1ab9105e66fd2a738bf0d32d41d73f54d975bf8c896683d69fe703dc3809e5212f6243b6a4181500a5044a3afa44e729b2baecf31414b2ce123d570318e00f7b41817e94b12064fd266933d39de0929b552e517dcfb1780783becc5303734a78193907ef64fc9795de9734557c0d0c42ec9bfdab0c5e2509098ca59d220322d57647682e0e60c785f5ffa62d203f0714e737c6f69df8c8c1df0e3d5967e103372c7dd1d3c5e95a097e558687de3d8a4265631ee06b9cc0010d4e18b27d0003035a9b014154946f7341c17b388cc581b5f5a501d39e57f7581aa887ddd0cf658403ca3afa8e0d5084d9d404c21540d65efb688ad42ad5e1470ec0b8f50ff97e7ee90363262af3eb78b0460c6c405047ee089d8423fecd48abf9aeeecf72dc13619d0f05581e0351b88d7e4d2b2e11c08ca0ce74727bcbc0fa75ffd764bc3387718cf7200c0446798aed50e7300321b1c692743480ece216f8f0ff09fdcc43cb989d2fba004a98aa2892c988a8eb03b600a253db06a56686bea7ab40a07eb4cbd0220322bbce90372cfee9b67fc6880310bb9a431dc063f2d016b0960c10055bc454d7d0c4028f4a70de971b395a73c205581e033af736daa3c1037ae46803f4ebba1bbbefe83c1a155d1b6fc0e07b82900c1047909dcf8c791b7505581d02a7e569a1de000562d2fd3553e87a6dd851c4081f1870a9e52b2e5086040105581d02440319f89c5ce2aac3a002eb53a00e0f17966e47d7d6c8b6ee2b7d6a0c1a00030ad149012a50d6a54ee31ec3021904100399b0fac3e12d84f4450711c43fc144597b17c9f5ab9e9143468d7b2d87eb658f05581e03f277ce7f057b3326c47d3540f7280ab26c633034b3f3a52e18d1698a70040105581e03390ee1702d028b7a1800f98b2a84a455ce197476931fd500c8e1ca6d700402021967a50309e12bd6ce2585cde94e3ae27f84fe828d6e3c3912511bb88a99eaffde4696da0355a8b85c87de5faf8028d339708e4f86edeb1454722ae5fa66572dc7804fae770219ffff03d06210996c47b36794bbd4725069b2e9aa42d51a36c3a379637457ae0e68894a03916fe0bd99f0f18e5744b35c4944b05b6ae150b907f8e4da0dd0b3f95aae05f9030bbbc7c970db9127ffc66e0ebd639aef00ea770ac6df8a8ae8bc7907a9f837f603844e4b6654121da3dccdbb789b3d9ae8acf33cf26dfc269dc0bf187e32a0221703b4fb3166c1b1b842f55ce8b37c43848ec0c2f647415c704884bc20b5711ddb30031f6b379e93740558e1eabeca9f23d3c7ed610f03a11a1135f11ac3f66cd767cd036c893af4b09060e1484ff3af943a6b014411044673e0ccfd3f48f630da24c28903cf67572bcf6b090615d5aef86c942822285d014b83bb1050531d6400aa7be11d03ad838a2bbd269ae9c95f236a03c14c63bf1c6561f40fffe147f69eb2f4b6e01603016008d354164ab9aa11a359dc9562a24c3c46e0558b17723059944c88c4471903bcfe190a468698ab78fdadd62eecf8dd13b410952c289c203ff4131d8114737d030a8e3e2a093f922085d53f25897c9e59aac8ef2244afbcf7d5480de01294c2f70380e3858b7064697640079946c1c51b645f6280a99be886bf090461761deb37e10219ffff03bbb29305008e896d4d076f1e99f5e8b67a09d3a949f8333a4fb503bf9a5f14dc03bd89128493c91a5fdd0e54613dceef215091e2cbc50698190037a4bdd2d8f3a603c08be55c52191b04d5bfd8f00ca9bcc2af06125174a204b30474b47901c3bafe030c8bdedcd68062de819eb8aac668e99af978c182dd4a62a2e227aa032134aaa8034cf2df1f2ee96c6e2fe25f3dbea07cc0c1620bee4a5b739671587d367e43805603e345197b3a91011c365f3dfe9b2f36325cfc465fa12c521c48ee33859b219c0203b3be586f58dda50a31e334f8075732b0e6f068add309b1e388cb31568fe7a34003fb83302984e1a8325ecfc8a9c7d76fa8718abfa25f82c9af808d58030587b8a503175fded2d28a71b0663612119a0e70e5d1fa9d3d19394080f3a641e2ab9ff519032d25b722ae0406e35ecd8652f1c6b005f8d71d2ecce704a64d5e2107a39dc93b037e041b81e461b8d50d8f41efa931f5bee803dd0dc66c4e61396eafc99ead2750038c98a4f5cab2e1465b5ed38340d5f2e9aef4ff89fa4bb57899c0a40892d4c9df0338b2250436c35eb1d42ce749880387d1f90d2a359be4217036ff86cd109082290377fb401022215d9005ab5badaef717b5b8c03a96c1950c18e080ea3f517d1f0003f139d8d2f5f46ce58d4d850f0223aa9feb5d94d530eacc224a299dc6c0527cc40219ffff032a745a0edc60a05248b3ef29da7fc7ce7131a2651f6cac5999098bbb4b0c5da9031d434f4156cb475a3203e5f745c25744019e40fa2a5d968ff11dba3a85ce5764037cce93c65d7ef93873d7464d70feae5ea8afc7d1ba62e7d8a655571662b564cc031e409c386f866c7399d5859942a57fe55c0282eb735add6e46a17fc825d5928503181c6097b081756af5ecb457e82f02571a29d4ffeded392642b5750e51112cee03a3966591dc87322751148788a280853c21bf1b005d5f6647eb189a241cc34cf0030f8db0facdc11736743bd77103fc6f328a555e4ec7ffa66b4c12d0d9b45b352703fafd6f097447ba91419b11fe32401a9e8b61beddcb2e0fb1c04bfce50b490d160311d965a57f8ab9ab78285b056705d786227fe445ab354db55a0963be05a5030603f416357799fefc8f6a4a134ca6803f188601c6e7971b1495b7be610c78b1298405581e03202c0f2a145c3fdd4a3edefaaf443b3a24c15b50d0e52cfe6c26bb32e00c0246727953694c3803dc507fd9d0cca5cada83b18b4b964e657773c5ac2ed25b09b61c933f72d5d5f703b88c73e23b4c30f2a4da24142056aa8eb32a7644f09b9b0aa853efb4a90f03e705581d023e763e2999232cd336f9b3b3197a275e5b79b213f3d13dd528dad0b80c02470660ce0f827000045948476080604052600436106101a05760003560e01c80639871efa4116100ec578063e0af36161161008a578063f3dced3c11610064578063f3dced3c14610490578063f3e144b6146104b0578063f851a440146104d0578063fa461e33146104f057600080fd5b8063e0af36161461043b578063e99bfa951461045d578063f2fde38b1461047057600080fd5b8063ca68d8f6116100c6578063ca68d8f6146103df578063d13a35e6146103f5578063d1b260d414610415578063d8837daf1461042857600080fd5b80639871efa4146103995780639a09b285146103ac578063b80c2f09146103cc57600080fd5b8063715018a6116101595780638129fc1c116101335780638129fc1c146103135780638575654f14610328578063869c6b4b1461033b5780638da5cb5b1461037b57600080fd5b8063715018a6146102b657806373679b6b146102cb578063779e45fc146102f357600080fd5b806301617fab146101f757806303b87e5f1461020a57806308298b5a146102305780630d5f0e3b1461024357806341f4a959146102565780636aa476451461027657600080fd5b366101f2573233036101f05760405162461bcd60e51b81526020600482015260146024820152731155120819195c1bdcda5d081c995a9958dd195960621b60448201526064015b60405180910390fd5b005b600080fd5b6101f0610205366004613d7d565b610510565b61021d610218366004613e17565b6108c7565b6040519081526020015b60405180910390f35b61021d61023e366004613ee3565b610940565b61021d610251366004613f55565b610982565b34801561026257600080fd5b506101f0610271366004613fb5565b6109c2565b34801561028257600080fd5b5061029e7370cbb871e8f30fc8ce23609e9e0ea87b6b222f5881565b6040516001600160a01b039091168152602001610227565b3480156102c257600080fd5b506101f0610a7f565b3480156102d757600080fd5b5061029e735703b683c7f928b721ca95da988d73a3299d475781565b3480156102ff57600080fd5b506101f061030e366004614004565b610a93565b34801561031f57600080fd5b506101f0610b4a565b61021d610336366004613f55565b610c64565b34801561034757600080fd5b5061036b61035636600461403d565b60996020526000908152604090205460ff1681565b6040519015158152602001610227565b34801561038757600080fd5b506033546001600160a01b031661029e565b61021d6103a7366004613f55565b610d67565b3480156103b857600080fd5b506101f06103c736600461403d565b610d9e565b61021d6103da36600461405a565b610e40565b3480156103eb57600080fd5b5061021d61012c81565b34801561040157600080fd5b5060985461029e906001600160a01b031681565b61021d61042336600461405a565b610eb8565b61021d610436366004613f55565b610fe8565b34801561044757600080fd5b5061029e6000805160206147b283398151915281565b61021d61046b366004614110565b6110e7565b34801561047c57600080fd5b506101f061048b36600461403d565b611306565b34801561049c57600080fd5b5060975461029e906001600160a01b031681565b3480156104bc57600080fd5b5061021d6104cb366004614211565b61137c565b3480156104dc57600080fd5b5060ad5461029e906001600160a01b031681565b3480156104fc57600080fd5b506101f061050b36600461429b565b6113ca565b600160ff1b81166001600160801b038216806105635760405162461bcd60e51b81526020600482015260126024820152710616d6f756e74206d757374206265203e20360741b60448201526064016101e7565b81156107155760405163052f523360e11b81526000805160206147b28339815191526004820152336024820152735703b683c7f928b721ca95da988d73a3299d475760448201526001600160801b03821660648201527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690608401600060405180830381600087803b1580156105f257600080fd5b505af1158015610606573d6000803e3d6000fd5b5050604051632e1a7d4d60e01b81526001600160801b0384166004820152735703b683c7f928b721ca95da988d73a3299d47579250632e1a7d4d9150602401600060405180830381600087803b15801561065f57600080fd5b505af1158015610673573d6000803e3d6000fd5b50506040516000925033915047908381818185875af1925050503d80600081146106b9576040519150601f19603f3d011682016040523d82523d6000602084013e6106be565b606091505b505090508061070f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572206e617469766520746f6b656e206661696c65640000000060448201526064016101e7565b506107f3565b806001600160801b031634146107665760405162461bcd60e51b81526020600482015260166024820152751d985b1d59481b9bdd08195c5d585b08185b5bdd5b9d60521b60448201526064016101e7565b6000805160206147b28339815191526001600160a01b031663d0e30db0826001600160801b03166040518263ffffffff1660e01b81526004016000604051808303818588803b1580156107b857600080fd5b505af11580156107cc573d6000803e3d6000fd5b50505050506107f36000805160206147b283398151915233836001600160801b03166115b2565b6040518481526000805160206147f28339815191529060200160405180910390a16000805160206147d2833981519152826108425773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610852565b6000805160206147b28339815191525b8361086b576000805160206147b2833981519152610881565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5b604080516001600160a01b03938416815292909116602083015233908201526001600160801b03831660608201819052608082015260a00160405180910390a150505050565b60008760800135428110156108ee5760405162461bcd60e51b81526004016101e7906142ed565b6108f66115e2565b6040518b81526000805160206147f28339815191529060200160405180910390a1610926338b8b8b8b8b8b61163b565b91506109326001606555565b509998505050505050505050565b60405160a087901c81526000906000805160206147f28339815191529060200160405180910390a16109778787873388888861172c565b979650505050505050565b60405160a086901c81526000906000805160206147f28339815191529060200160405180910390a16109b83387878787876117d6565b9695505050505050565b6109ca611831565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610a6f57600080836001600160a01b03168360405160006040518083038185875af1925050503d8060008114610a3d576040519150601f19603f3d011682016040523d82523d6000602084013e610a42565b606091505b5091509150818190610a675760405162461bcd60e51b81526004016101e79190614339565b505050505050565b610a7a8383836115b2565b505050565b610a87611831565b610a91600061188b565b565b60ad546001600160a01b0316331480610ab657506033546001600160a01b031633145b610ae75760405162461bcd60e51b81526020600482015260026024820152616e6160f01b60448201526064016101e7565b6001600160a01b038216600081815260996020908152604091829020805460ff19168515159081179091558251938452908301527fede97de789011d2becb9fba8441864c3b17f4a20f7ebf0a77e93f30adc30e207910160405180910390a15050565b600054610100900460ff1615808015610b6a5750600054600160ff909116105b80610b845750303b158015610b84575060005460ff166001145b610be75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016101e7565b6000805460ff191660011790558015610c0a576000805461ff0019166101001790555b610c126118dd565b610c1a61190c565b8015610c61576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b50565b3360009081526099602052604081205460ff161515600114610c985760405162461bcd60e51b81526004016101e79061436c565b60405160a087901c81526000805160206147f28339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d219190614393565b90925090506001600160a01b038116610d4c5760405162461bcd60e51b81526004016101e7906143c2565b610d5b88888885858a8a61172c565b98975050505050505050565b60405160a086901c81526000906000805160206147f28339815191529060200160405180910390a16109b88686863333888861172c565b60ad546001600160a01b0316331480610dc157506033546001600160a01b031633145b610df25760405162461bcd60e51b81526020600482015260026024820152616e6160f01b60448201526064016101e7565b60ad80546001600160a01b0319166001600160a01b0383169081179091556040519081527f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c90602001610c58565b6000876080013542811015610e675760405162461bcd60e51b81526004016101e7906142ed565b610e6f6115e2565b6040518a81526000805160206147f28339815191529060200160405180910390a1610e9f33338b8b8b8b8b61163b565b9150610eab6001606555565b5098975050505050505050565b6000876080013542811015610edf5760405162461bcd60e51b81526004016101e7906142ed565b610ee76115e2565b3360009081526099602052604090205460ff161515600114610f1b5760405162461bcd60e51b81526004016101e79061436c565b6040518a81526000805160206147f28339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa158015610f7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa09190614393565b90925090506001600160a01b038116610fcb5760405162461bcd60e51b81526004016101e7906143c2565b610fda82828d8d8d8d8d61163b565b93505050610eab6001606555565b3360009081526099602052604081205460ff16151560011461101c5760405162461bcd60e51b81526004016101e79061436c565b60405160a087901c81526000805160206147f28339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa158015611081573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a59190614393565b90925090506001600160a01b0381166110d05760405162461bcd60e51b81526004016101e7906143c2565b610d5b82826001600160a01b0316898989896117d6565b600088608001354281101561110e5760405162461bcd60e51b81526004016101e7906142ed565b6111166115e2565b89356001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed19810161117c5760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21039b7bab931b2903a37b5b2b760611b60448201526064016101e7565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e791906143ea565b905060006040518060a001604052808e6000013581526020018e6020016020810190611213919061403d565b6001600160a01b031681526020018381526020018e6060013581526020018e60800135815250905060008c8c90506001600160401b0381111561125857611258614403565b604051908082528060200260200182016040528015611281578160200160208202803683370190505b50905060005b8c8110156112e7578e60400135848f8f848181106112a7576112a7614419565b905060200201356112b89190614445565b6112c2919061445c565b8282815181106112d4576112d4614419565b6020908102919091010152600101611287565b506112f682828d8d308c61193b565b955050505050610eab6001606555565b61130e611831565b6001600160a01b0381166113735760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101e7565b610c618161188b565b60405160a089901c81526000906000805160206147f28339815191529060200160405180910390a16113af888484611c79565b6113bd338a898989896117d6565b9998505050505050505050565b61140e565b3d6000803e3d6000fd5b806113e6576113e66113cf565b600160005114601f3d11163d15178061140a57633c9fd93960e21b60005260046000fd5b5050565b604051601581017306ff0b40e9091053eee51fa1d482ce5d852f523360611b825260206000600484335afa611445576114456113cf565b6020806004808501335afa61145c5761145c6113cf565b60206040600460088501335afa611475576114756113cf565b600080600088136001811461149157602051925087915061149a565b60005192508891505b507fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000008452606060002083527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460208401526001600160a01b036055852016925033831461151257635960139160e11b60005260046000fd5b60843592507306ff0b40e9091053eee51fa1d482ce5d852f523360611b8452308314600181146115845782601486015283603486015233605486015281607486015261157f6020600060846010890160007370cbb871e8f30fc8ce23609e9e0ea87b6b222f585af16113d9565b6115a7565b3360108601528160308601526115a7602060006044600c89016000885af16113d9565b505050505050505050565b6115c58363a9059cbb60e01b8484611ddf565b610a7a5760405163fb7f507960e01b815260040160405180910390fd5b6002606554036116345760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016101e7565b6002606555565b60006001600160a01b0387166116815760405162461bcd60e51b815260206004820152600b60248201526a6e6f74206164647228302960a81b60448201526064016101e7565b600061168b611e33565b905060008061169f838b8b60400135611edb565b90925090508a60006116f86116b9368d90038d018d61447e565b8b8b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508d92508c91508790508961193b565b90506000611707868e866120a4565b90506117138183614504565b9e9d5050505050505050505050505050565b6001606555565b60006001600160a01b0384166117725760405162461bcd60e51b815260206004820152600b60248201526a6e6f74206164647228302960a81b60448201526064016101e7565b600061177c611e33565b905060008061178c83888c611edb565b9150915060006117aa6001600160a01b038d168c8c8a8a8e89612321565b905060006117b9858a856120a4565b90506117c58183614504565b9d9c50505050505050505050505050565b6000806117e1611e33565b90506000806117f1838a8a611edb565b9150915060006118058b848b8b8b8b612b48565b5090506000611815858c856120a4565b90506118218183614504565b9c9b505050505050505050505050565b6033546001600160a01b03163314610a915760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101e7565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166119045760405162461bcd60e51b81526004016101e790614517565b610a91613059565b600054610100900460ff166119335760405162461bcd60e51b81526004016101e790614517565b610a91613089565b6040860151600090879061199c5760405162461bcd60e51b815260206004820152602260248201527f526f7574653a2066726f6d546f6b656e416d6f756e74206d757374206265203e604482015261020360f41b60648201526084016101e7565b805160208201516001600160a01b03918216916119ba9116856130b0565b92506119c581613144565b15611a34576000805160206147b28339815191526001600160a01b031663d0e30db083604001516040518263ffffffff1660e01b81526004016000604051808303818588803b158015611a1757600080fd5b505af1158015611a2b573d6000803e3d6000fd5b50505050503094505b6000805b8951811015611a7057898181518110611a5357611a53614419565b602002602001015182611a669190614562565b9150600101611a38565b508260400151811115611ae35760405162461bcd60e51b815260206004820152603560248201527f526f7574653a206e756d626572206f6620626174636865732073686f756c64206044820152741899480f0f48199c9bdb551bdad95b905b5bdd5b9d605a1b60648201526084016101e7565b5087518614611b265760405162461bcd60e51b815260206004820152600f60248201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b60448201526064016101e7565b60005b86811015611b9757611b8f8686611b4c86602001516001600160a01b0316613144565b8c8581518110611b5e57611b5e614419565b60200260200101518c8c87818110611b7857611b78614419565b9050602002810190611b8a9190614575565b613166565b600101611b29565b50611ba6826020015185613320565b60208201518390611bc0906001600160a01b0316866130b0565b611bca9190614504565b92508160600151831015611c195760405162461bcd60e51b8152602060048201526016602482015275135a5b881c995d1d5c9b881b9bdd081c995858da195960521b60448201526064016101e7565b60208083015160408085015181516001600160a01b0380871682529093169383019390935232908201526060810191909152608081018490526000805160206147d28339815191529060a00160405180910390a150509695505050505050565b8015610a7a576000606060e0839003611d1a576040516001600160a01b03861690611cb39063d505accf60e01b90879087906020016145be565b60408051601f1981840301815290829052611ccd916145e2565b6000604051808303816000865af19150503d8060008114611d0a576040519150601f19603f3d011682016040523d82523d6000602084013e611d0f565b606091505b509092509050611d89565b610100839003611d4b576040516001600160a01b03861690611cb3906323f2ebc360e21b90879087906020016145be565b60405162461bcd60e51b81526020600482015260136024820152720aee4dedcce40e0cae4dad2e840d8cadccee8d606b1b60448201526064016101e7565b81611dd857611dbf816040518060400160405280600f81526020016e02832b936b4ba103330b4b632b21d1608d1b8152506135e8565b60405162461bcd60e51b81526004016101e79190614339565b5050505050565b60006040518481528360048201528260248201526020600060448360008a5af19150508015611e2b573d8015611e2157600160005114601f3d11169150611e29565b6000863b1191505b505b949350505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260405160a081016040525060203603356001600160d01b03198116651e51057e155560d11b1482526001600160d01b03198116653ca20afc2bbb60d01b14826020015265ffffffffffff60a01b811660a01c82604001526001600160a01b0381168260600152506001600160a01b03604036033516816080015290565b600080846020015115611f005730611ef786608001513061374b565b9150915061209c565b8451611f115750829050600061209c565b611f32565b62461bcd60e51b600052600160e51b6020528060405250806000fd5b604085015161012c811115611f6957611f69605f7c1b6572726f7220636f6d6d697373696f6e2072617465206c696d697400611f16565b60808601516060870151826127100383870204925073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee82146001811461201d576040516084810160405263052f523360e11b815283600482015233602482015282604482015284606482015260008060848360007370cbb871e8f30fc8ce23609e9e0ea87b6b222f585af19050806120175761201760577c13636c61696d20746f6b656e73206661696c6564000000000000000000611f16565b50612056565b60008060008087865af18061205457612054605f7c1b636f6d6d697373696f6e2077697468206574686572206572726f7200611f16565b505b50604051915060408201604052828252806020830152507fffc60ee157a42f4d8edbd1897e6581a96d9ed04e44fb2ab53a47ce1eb8f2775b604082a15050836000915091505b935093915050565b600083602001516120b75750600061231a565b604084015161012c8111156120ee576120ee605f7c1b6572726f7220636f6d6d697373696f6e2072617465206c696d697400611f16565b6080850151606086015173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee82146001811461223957604051604881016040526ba9059cbba9059cbb70a0823160a01b815230600c82015260206000602460088401875afa8061216e5761216e6058740519d95d0818985b185b98d953d98819985a5b195960421b611f16565b6000518881101561219257612192604d6a029cdd588819985a5b195960961b611f16565b888103905061271087820204975084600884015287602884015260008060446004860160008a5af19150816121e9576121e9605f7c1b7472616e7366657220746f6b656e2072656665726572206661696c00611f16565b8960048401528781036024840152506000806044846000895af19050806122325761223260607c1c7472616e7366657220746f6b656e207265636569766572206661696c611f16565b50506122db565b8547101561225a5761225a604d6a029cdd588819985a5b195960961b611f16565b85470361271085820204955060008060008089875af18061229d5761229d605d7c197472616e73666572206574682072656665726572206661696c000000611f16565b6000806000808a86038d5af19050806122d8576122d8605e7c1a7472616e7366657220657468207265636569766572206661696c0000611f16565b50505b5060405192506040830160405283835280602084015250507fffc60ee157a42f4d8edbd1897e6581a96d9ed04e44fb2ab53a47ce1eb8f2775b604082a1505b9392505050565b6000612551565b828152600060206000600484600401865afa61235d5761235d6054700419d95d081d1bdad95b8819985a5b195960621b611f16565b505060005192915050565b6770a082310dfe168160c01b815260008060206000600485600401875afa6123ab576123ab605672049d1bdad95b8c0818d85b1b0819985a5b195960521b611f16565b600051915083836004015260206000602485855afa6123ec576123ec60597c1562616c616e63654f662063616c6c206661696c656400000000000000611f16565b60005190509250929050565b6770a08231d21220a760c01b815260008060206000600485600401875afa6123ab576123ab605672049d1bdad95b8c4818d85b1b0819985a5b195960521b611f16565b668b0367c240bc6b60c21b8152600060406000600484600401875afa6124835761248360587c1472657365727665732063616c6c206661696c65640000000000000000611f16565b6000516020518680156124af5789156124a7576124a087866123f8565b8390039650505b9091906124c6565b88156124c6576124bf8786612368565b8490039650505b50668b0367c240bc6b60c21b8452898502633b9aca009290920282019102049050848015612500578160048401526000602484015261250e565b600060048401528160248401525b50886044830152608060648301526000608483015260008060a4846000885af1610d5b57610d5b605470041cddd85c0818d85b1b0819985a5b195960621b611f16565b84602085028101858061257857612578604e6b0b656d70747920706f6f6c7360901b611f16565b5060405182358b15600181146126225734156125ae576125ae60557111696e76616c6964206d73672e76616c756560581b611f16565b63052f523360e11b83528c60048401528760248401526001600160a01b03821660448401528b606484015260008060848560007370cbb871e8f30fc8ce23609e9e0ea87b6b222f585af161261d5761261d6056720498db185a5b481d1bdad95b8819985a5b195960521b611f16565b6126ef565b60018c34100361264c5761264c60557111696e76616c6964206d73672e76616c756560581b611f16565b670a9059cbbd0e30db60c41b835260008060048086018f6000805160206147b28339815191525af1612699576126996056720499195c1bdcda5d081155120819985a5b195960521b611f16565b6001600160a01b03821683600401528b83602401526020600060448560006000805160206147b28339815191525af16126ef576126ef605874051d1c985b9cd9995c8815d155120819985a5b195960421b611f16565b508a9450602084015b8381101561274e5780356127426001600160a01b03821663ffffffff60a01b851660a01c600160fd1b8616600160fc1b8716600160ff1b88166001600160a01b0389168d8b61243b565b965091506020016126f8565b5060009350600160fe1b8116801561289c576000945061279b3063ffffffff60a01b841660a01c600160fd1b8516600160fc1b8616600160ff1b87166001600160a01b0388168c8a61243b565b9550672e1a7d4da9059cbb60c01b8352735703b683c7f928b721ca95da988d73a3299d475760088401528560288401526020600060448560040160006000805160206147b28339815191525af161280f5761280f605874051d1c985b9cd9995c8815d155120819985a5b195960421b611f16565b856004840152602060006024856000735703b683c7f928b721ca95da988d73a3299d47575af16128615761286160577c13776974686472617720455448206661696c6564000000000000000000611f16565b600080600080898b5af16128975761289760577c137472616e7366657220455448206661696c6564000000000000000000611f16565b612ada565b60009350600160ff1b8216801561294e57600160fc1b831615612949576770a082310dfe168160c01b8452602060006004866004016001600160a01b0387165afa61290257612902605672049d1bdad95b8c0818d85b1b0819985a5b195960521b611f16565b600051955087846004015260206000602486895afa6129435761294360567c15746f6b656e302062616c616e6365206661696c656400000000000000611f16565b60005194505b6129ea565b600160fd1b8316156129ea576770a08231d21220a760c01b8452602060006004866004016001600160a01b0387165afa6129a3576129a3605672049d1bdad95b8c4818d85b1b0819985a5b195960521b611f16565b600051955087846004015260206000602486895afa6129e4576129e460597c15746f6b656e312062616c616e6365206661696c656400000000000000611f16565b60005194505b50612a228763ffffffff60a01b841660a01c600160fd1b8516600160fc1b8616600160ff1b87166001600160a01b0388168c8a61243b565b95508460001060018114612a8b57600160ff1b83168015612a6357612a5c6770a082310dfe168160c01b6001600160a01b03861687612328565b9650612a85565b612a826770a08231d21220a760c01b6001600160a01b03861687612328565b96505b50612ad8565b6770a082310dfe168160c01b845287846004015260206000602486895afa612ad057612ad06058740519d95d0818985b185b98d953d98819985a5b195960421b611f16565b846000510396505b505b505088841015612b0c57612b0c605a7c164d696e2072657475726e206e6f742072656163686564000000000000611f16565b8a81528260208201523260408201528960608201528360808201526000805160206147d283398151915260a082a1505050979650505050505050565b600080612f5a565b6000846001600160ff1b031015612b7257630b3f79fd60e41b60005260046000fd5b604051600160ff1b8516156001600160a01b0386168160018114612bff57630251596160e31b8452600484018681526000602082015289604082015273fffd8963efd1fc6a506488495d951d5263988d25606082015260a06080820152602060a08201528760c08201525060008060e4866000865af180612bf35760206000fd5b5060206000803e612c5b565b630251596160e31b845260048401868152600160208201528960408201526401000276a4606082015260a06080820152602060a08201528760c08201525060008060e4866000865af180612c535760206000fd5b5060208060003e5b505050506000519050600160ff1b811015612c81576322323ba760e21b60005260046000fd5b19600101949350505050565b600181341003612ca857631841b4e160e01b60005260046000fd5b600080600080846000805160206147b28339815191525af18061140a5761140a60577c1357455448206465706f736974206661696c6564000000000000000000611f16565b60405160048101672e1a7d4da9059cbb60c01b8252735703b683c7f928b721ca95da988d73a3299d4757600482015283602482015260008060448360006000805160206147b28339815191525af1905080612d6a57612d6a60587c147472616e736665722077657468206661696c65640000000000000000611f16565b8360048301526000806024846000735703b683c7f928b721ca95da988d73a3299d47575af1905080612dbe57612dbe60587c1477697468647261772077657468206661696c65640000000000000000611f16565b60008060008087875af1905080612def57612def605571045cd95b9908195d1a195c8819985a5b1959605a1b611f16565b50505050565b60006040517306ff0b40e9091053eee51fa1d482ce5d852f523360611b8152600080600483865afa905080612e4457612e446055710459d95d081d1bdad95b8c0819985a5b1959605a1b611f16565b5060206000803e505060005190565b60006040517306ff0b40e9091053eee51fa1d482ce5d852f523360611b81526000806004808401865afa905080612e4457612e446054710459d95d081d1bdad95b8c4819985a5b1959605a1b611f16565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8085612ef0578235600160ff1b81161560018114612ee157612eda82612e53565b9350612eed565b612eea82612df5565b93505b50505b86612f26578335600160ff1b81161560018114612f1757612f1082612df5565b9250612f23565b612f2082612e53565b92505b50505b604051826000528160205232604052856080526000805160206147d283398151915260a06000a16040525095945050505050565b83601f19602085028201018480612f7c576333f3e07b60e11b60005260046000fd5b50600034118015612f9457612f9089612c8d565b309a505b88606052825b82811015612fbc57612faf8a82358e30612b50565b309c509950602001612f9a565b506000600160fd1b833516118060018114612fdc578015612ffa5761300a565b612fe98b85358f30612b50565b9650612ff5878d612ced565b61300a565b6130078b85358f8f612b50565b96505b508886101561303b5761303b605a7c164d696e2072657475726e206e6f742072656163686564000000000000611f16565b6130488183888688612ea4565b945050505050965096945050505050565b600054610100900460ff166130805760405162461bcd60e51b81526004016101e790614517565b610a913361188b565b600054610100900460ff166117255760405162461bcd60e51b81526004016101e790614517565b60006130bb83613144565b156130d157506001600160a01b0381163161313e565b6040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015613117573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061313b91906143ea565b90505b92915050565b6001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1490565b60006131a08383600081811061317e5761317e614419565b905060200281019061319091906145fe565b608001356001600160a01b031690565b905060008083815b818110156133135780156131e6576131cb87878381811061317e5761317e614419565b94506131e06001600160a01b038616306130b0565b9750309a505b306131f2600184614504565b821480156131fe575089155b1561320a5750896132d7565b613215600184614504565b821080156132605750878761322b846001614562565b81811061323a5761323a614419565b905060200281019061324c91906145fe565b61325a906020810190614575565b90506001145b156132d2578787613272846001614562565b81811061328157613281614419565b905060200281019061329391906145fe565b6132a1906020810190614575565b60008181106132b2576132b2614419565b90506020020160208101906132c7919061403d565b9050600194506132d7565b600094505b6133078c828b8b8b878181106132ef576132ef614419565b905060200281019061330191906145fe565b886137d0565b508392506001016131a8565b5050505050505050505050565b613332826001600160a01b0316613144565b1561355a576040516370a0823160e01b81523060048201526000906000805160206147b2833981519152906370a0823190602401602060405180830381865afa158015613383573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133a791906143ea565b905080156134a05760405163a9059cbb60e01b8152735703b683c7f928b721ca95da988d73a3299d47576004820152602481018290526000805160206147b28339815191529063a9059cbb906044016020604051808303816000875af1158015613415573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134399190614614565b50604051632e1a7d4d60e01b815260048101829052735703b683c7f928b721ca95da988d73a3299d475790632e1a7d4d90602401600060405180830381600087803b15801561348757600080fd5b505af115801561349b573d6000803e3d6000fd5b505050505b6001600160a01b0382163014610a7a57478015612def576000836001600160a01b03168260405160006040518083038185875af1925050503d8060008114613504576040519150601f19603f3d011682016040523d82523d6000602084013e613509565b606091505b5050905080611dd85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572206e617469766520746f6b656e206661696c65640000000060448201526064016101e7565b6001600160a01b038116301461140a576040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156135b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135d591906143ea565b90508015610a7a57610a7a8383836115b2565b606060048351106137195760208301516001600160e01b0319811662461bcd60e51b14801561361957506044845110155b156136b95760248481015180860182018051919290919061363b908490614562565b6136459190614562565b8651101561368d5760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b60448201526064016101e7565b84816040516020016136a0929190614631565b604051602081830303815290604052935050505061313e565b6001600160e01b03198116634e487b7160e01b1480156136da575083516024145b15613717576024840151836136ee82613ac4565b6040516020016136ff929190614680565b6040516020818303038152906040529250505061313e565b505b8161372384613aec565b6040516020016137349291906146b5565b604051602081830303815290604052905092915050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8314600181146137c557604051602481016040526370a0823160e01b815283600482015260206000602483885afa9050806137ba576137ba6058740519d95d0818985b185b98d953d98819985a5b195960421b611f16565b5060005191506137c9565b4791505b5092915050565b60808201356001600160a01b03166000806137eb8580614575565b9050905060005b818110156115a75760006138096040880188614575565b8381811061381957613819614419565b60200291909101359150506001600160a01b038116600160ff1b821661ffff60a084901c166138488188614562565b9650613855600187614504565b85036138bc576127108711156138bc5760405162461bcd60e51b815260206004820152602660248201527f746f74616c5765696768742063616e206e6f7420657863656564203130303030604482015265081b1a5b5a5d60d21b60648201526084016101e7565b8861392b57600081612710146138e8576127106138d9838e614445565b6138e3919061445c565b6138ea565b8b5b90506139298e6138fd60208e018e614575565b8981811061390d5761390d614419565b9050602002016020810190613922919061403d565b8b84613cd3565b505b81156139f55761393b8a80614575565b8681811061394b5761394b614419565b9050602002016020810190613960919061403d565b6001600160a01b0316636f7929f28d8561397d60608f018f614575565b8a81811061398d5761398d614419565b905060200281019061399f9190614706565b6040518563ffffffff1660e01b81526004016139be949392919061474c565b600060405180830381600087803b1580156139d857600080fd5b505af11580156139ec573d6000803e3d6000fd5b50505050613ab5565b6139ff8a80614575565b86818110613a0f57613a0f614419565b9050602002016020810190613a24919061403d565b6001600160a01b03166330e6ae318d85613a4160608f018f614575565b8a818110613a5157613a51614419565b9050602002810190613a639190614706565b6040518563ffffffff1660e01b8152600401613a82949392919061474c565b600060405180830381600087803b158015613a9c57600080fd5b505af1158015613ab0573d6000803e3d6000fd5b505050505b846001019450505050506137f2565b606061313e82604051602001613adc91815260200190565b6040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b90600090613b14906002614445565b613b1f906002614562565b6001600160401b03811115613b3657613b36614403565b6040519080825280601f01601f191660200182016040528015613b60576020820181803683370190505b509050600360fc1b81600081518110613b7b57613b7b614419565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613baa57613baa614419565b60200101906001600160f81b031916908160001a90535060005b8451811015613ccb57826004868381518110613be257613be2614419565b01602001516001600160f81b031916901c60f81c60108110613c0657613c06614419565b1a60f81b82613c16836002614445565b613c21906002614562565b81518110613c3157613c31614419565b60200101906001600160f81b031916908160001a90535082858281518110613c5b57613c5b614419565b60209101015160f81c600f1660108110613c7757613c77614419565b1a60f81b82613c87836002614445565b613c92906003614562565b81518110613ca257613ca2614419565b60200101906001600160f81b031916908160001a90535080613cc381614798565b915050613bc4565b509392505050565b306001600160a01b03851603613cf357613cee8284836115b2565b612def565b60405163052f523360e11b81526001600160a01b038084166004830152808616602483015284166044820152606481018290527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690608401600060405180830381600087803b158015613d5f57600080fd5b505af1158015613d73573d6000803e3d6000fd5b5050505050505050565b60008060408385031215613d9057600080fd5b50508035926020909101359150565b6001600160a01b0381168114610c6157600080fd5b600060a08284031215613dc657600080fd5b50919050565b60008083601f840112613dde57600080fd5b5081356001600160401b03811115613df557600080fd5b6020830191508360208260051b8501011115613e1057600080fd5b9250929050565b60008060008060008060008060006101408a8c031215613e3657600080fd5b8935985060208a0135613e4881613d9f565b9750613e578b60408c01613db4565b965060e08a01356001600160401b0380821115613e7357600080fd5b613e7f8d838e01613dcc565b90985096506101008c0135915080821115613e9957600080fd5b613ea58d838e01613dcc565b90965094506101208c0135915080821115613ebf57600080fd5b50613ecc8c828d01613dcc565b915080935050809150509295985092959850929598565b60008060008060008060a08789031215613efc57600080fd5b8635955060208701359450604087013593506060870135613f1c81613d9f565b925060808701356001600160401b03811115613f3757600080fd5b613f4389828a01613dcc565b979a9699509497509295939492505050565b600080600080600060808688031215613f6d57600080fd5b85359450602086013593506040860135925060608601356001600160401b03811115613f9857600080fd5b613fa488828901613dcc565b969995985093965092949392505050565b600080600060608486031215613fca57600080fd5b8335613fd581613d9f565b92506020840135613fe581613d9f565b929592945050506040919091013590565b8015158114610c6157600080fd5b6000806040838503121561401757600080fd5b823561402281613d9f565b9150602083013561403281613ff6565b809150509250929050565b60006020828403121561404f57600080fd5b813561231a81613d9f565b600080600080600080600080610120898b03121561407757600080fd5b883597506140888a60208b01613db4565b965060c08901356001600160401b03808211156140a457600080fd5b6140b08c838d01613dcc565b909850965060e08b01359150808211156140c957600080fd5b6140d58c838d01613dcc565b90965094506101008b01359150808211156140ef57600080fd5b506140fc8b828c01613dcc565b999c989b5096995094979396929594505050565b600080600080600080600080610120898b03121561412d57600080fd5b6141378a8a613db4565b975060a08901356001600160401b038082111561415357600080fd5b61415f8c838d01613dcc565b909950975060c08b013591508082111561417857600080fd5b6141848c838d01613dcc565b909750955060e08b013591508082111561419d57600080fd5b506141aa8b828c01613dcc565b9094509250506101008901356141bf81613d9f565b809150509295985092959890939650565b60008083601f8401126141e257600080fd5b5081356001600160401b038111156141f957600080fd5b602083019150836020828501011115613e1057600080fd5b60008060008060008060008060c0898b03121561422d57600080fd5b88359750602089013561423f81613d9f565b9650604089013595506060890135945060808901356001600160401b038082111561426957600080fd5b6142758c838d01613dcc565b909650945060a08b013591508082111561428e57600080fd5b506140fc8b828c016141d0565b600080600080606085870312156142b157600080fd5b843593506020850135925060408501356001600160401b038111156142d557600080fd5b6142e1878288016141d0565b95989497509550505050565b6020808252600e908201526d149bdd5d194e88195e1c1a5c995960921b604082015260600190565b60005b83811015614330578181015183820152602001614318565b50506000910152565b6020815260008251806020840152614358816040850160208701614315565b601f01601f19169190910160400192915050565b6020808252600d908201526c6f6e6c79207072696f7269747960981b604082015260600190565b600080604083850312156143a657600080fd5b82516143b181613d9f565b602084015190925061403281613d9f565b6020808252600e908201526d6e6f74206164647265737328302960901b604082015260600190565b6000602082840312156143fc57600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761313e5761313e61442f565b60008261447957634e487b7160e01b600052601260045260246000fd5b500490565b600060a0828403121561449057600080fd5b60405160a081018181106001600160401b03821117156144c057634e487b7160e01b600052604160045260246000fd5b6040528235815260208301356144d581613d9f565b806020830152506040830135604082015260608301356060820152608083013560808201528091505092915050565b8181038181111561313e5761313e61442f565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8082018082111561313e5761313e61442f565b6000808335601e1984360301811261458c57600080fd5b8301803591506001600160401b038211156145a657600080fd5b6020019150600581901b3603821315613e1057600080fd5b6001600160e01b031984168152818360048301376000910160040190815292915050565b600082516145f4818460208701614315565b9190910192915050565b60008235609e198336030181126145f457600080fd5b60006020828403121561462657600080fd5b815161231a81613ff6565b60008351614643818460208801614315565b6508ae4e4dee4560d31b9083019081528351614666816006840160208801614315565b602960f81b60069290910191820152600701949350505050565b60008351614692818460208801614315565b650a0c2dcd2c6560d31b9083019081528351614666816006840160208801614315565b600083516146c7818460208801614315565b670aadcd6dcdeeedc560c31b90830190815283516146ec816008840160208801614315565b602960f81b60089290910191820152600901949350505050565b6000808335601e1984360301811261471d57600080fd5b8301803591506001600160401b0382111561473757600080fd5b602001915036819003821315613e1057600080fd5b6001600160a01b0385811682528416602082015260606040820181905281018290526000828460808401376000608084840101526080601f19601f850116830101905095945050505050565b6000600182016147aa576147aa61442f565b506001019056fe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21bb43f2da90e35f7b0cf38521ca95a49e68eb42fac49924930a5bd73cdf7576c7724394874fdd8ad13292ec739b441f85c6559f10dc4141b8d4c0fa4cbf55bdba2646970667358221220f02582e78ae186e7e25d6045f7e555e657d48afc7af760688f0f9cbfca2d8b0164736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410103b1fa6d21f88f0ce6320b44a7c58374a8d86ea5fe0a61a6c3a30c0127f0291a460219010405581d02fc561a55f16461bbb0c6d228381f2b6841d1a11aa8cbd1ab589e08f107011948470219800805581e032b0b7a5463c3d8056044d630157894d93e5bbe92a6493889e161f385a008461a8ea7a0a00003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e031488e16a7a08e459128047131d031d1116720a84c74f1570dede27397007011bffffffffffffffff03848309c0271a01ed4e595bbade5be3e68beaeb28e81ce3c908aa0e634f36235b03efe794b31b9c7c696177fa2b357b74d7cf9161d415be4883ac74efad6704f3720219593503615f121aa7a0589fe594e65983639e32a3642c0a5d31c47f558fa67fa78e71bd03d8a66592386c3f844dbb6a8e07a347eaaf1d98c1daa9a871dcd7a4f7c839c09503b3207abf222174212c852ff50646a28f530a330742ea803c7a9714c91e89721b0349762533361b3559ea52ae1974c09334b1e96b28434ee814c272e943ccf3141103af40af842871bd2269d9a870b42f7c3fdb7f5245682613e064a1a1da5d42079f031e172726a93892ffbf8fa24d12e02084c96a168690a836415bf9e8e43d5268ac03d8a14c5f9930695565e5a4a460e3c8cebb80219d047ee0c3b1213ecfd20f79c9030d5f6d0e02fa381c5f68a72d768875aa12b744eca08bfc3310ae0951895ceebf0324f74747cf698517e7493ed6c1f3ae4eb7d6bd5c776b8775a7e69a0f549bbe1b03738ffa4c381f972ae4d3bf4e03a01c305c972ba8bcdfc60fb36fd653beee687003b472536c18d0ecc30f955a86bdf38b6c9d7078c83edf2d97a9209623946289b703d5037bfbb61046c840b7e3f8a1156de9e10ee7ef77196fe8d49b0c298e0f4a80035d86cd1b4e76551e33d69647dfaad4eb4be557e3b5e2c0ed4a72750624f36251031bddd7e42b0d52d180878b7870cafb57f209a4a80d175e6156090f161511e7e50375eb857076471b85304b5ccbfab603ce1d27f7efd6b04d583b1e27aa59e09b3e0219ffff03a2fd4a13911b1867bc7d2f02718051b228d6b179fd90e577ca4cd35948432adc03d40a17371f3276bd7e89f7dbcc185ad8b672bb66b869ef5295477125438d34d903b054b24d0adb87316c8a137b941841479a500c734a37a2387891ed261491daae039d944774e7fd545289ea7f89f5f8e1fb59fe20b171d4f4fb9daaf1cb5c28269003bb9dd112ce91f4eb256c283ca61b3a901dffd71e15383cf5d461f2015fcd62b00336d8b757dc5e3e562f84ab63b6b8b459d2ed884f443755f868b6439ad56c04d403fc42f229f23d3177d96ccc997b78f6097c7db3d0657f3b0ee08edb00b4020c2203acaad60b2bb4bb978950e31e96c30fe6ec1c7de4aea73e570daba7f166db21ab035b349c9165b84dc31418dc01ea35d0290237debf9491c224ca831c1b8ac22af4033c5c3abbbe25110b59791565b1cba49b62759eb1891d14af9553b4e567e8ad92030d36cb54f2b5c7dac10dec93d60bf2d37fd0de3d5baaa8eca46ed996c6325e7303531354a679081cded8c7893fbf5aeb8c2f06f70f94f954b77e7b54f8500fc02203e91bcdd60c0337263539455e5edc4f9eedca9b9e5213734cdd6af2d1b9422d7c03e8078947e4b2d96577b379e5d76f948d82f04d233a23dde4e1b9120cbe28865703530e5175a3626f9e8a31b7895f44122dd1969c222c0bd9e93ad325f6ac4173600219ffff03df704e08ae3e53a1d20d84a62dbbb4d4babbd32d6e290db529105c1888b2bc5103d8c7c937266b9b636d33322fe51549c4260b3cdbc0181d6a7b7acbf940354c91034744deb07840d13b01360bbe24f06c57fb3dcf331c6b0ffac418aaec223e09d30315c98e8f0d7a5a757ab0f5d56af6649942c00e6ab5d970280818497a567f932403c182dce79d86adbc6417e81fd44ada287a7b932ce698bc4234bb24b25c0958da03588113d4e1ccf397bf0306aedaf1024360643b60d10eba868c5fa9942eb4aee50219ffff0322960a7f2beee7bbcfa02134a6a84ee4ba71782869a747ad4306b2369526470f0364da6ec41dd58796a09b8d3a86f13d7d2bab33d4d49220b40fe9e3051f2c285003c0cf7da57d4ac97e4a2528e03d77a838532ff0f0c1f58eff755fb66800af4c6d03460c2833e6bbc998b5ca2a607e50edd39ecb5c5c190ee97f455f8ae8a7a22bda0377e163d9d7fa61e9a363b7406cef750dafab3ed69d3059043354d751b4e09c1e0385f0f7af4f3e999cd596669dbde8a97c2de6dceedd04a2257c806dea383e49fa03a23a9991f4960cffdc3eabf83e1cd6045b5540fad86122594231b6be9024486d03fb5ae10234cccd1a4ebd530668da369bedb410a7516921cd4e23d39f542d4f0c03e84b910e22a53542b94e91556b4c18469833e35bc4937bc3547b281c095f9760030f8a82cb662d16cf7d7437620dddb8ce72ca5cfd85658eee092a72d9c5169464038ab362bc79dd0e70aa47b8611e781da1dc8fd5933528a3821fe9bfac9803257503e2af62efe4dd8b8d0bda69ba2dcb1a9aeef7c24b7cb691d570f983982081fae403c3907a8c89426399cc7e22b813356ac37211a20617d14a57148608b76d0a6ae703c7d98adef23cae284cf526e8ffb3dff08ee66690776445ecc72c5ed5b7532003038184c67135267c4e993a41d6e6d749e6550de2c278bae8b9bf73308e63785c6403c75db88d480717cf28d984b0b7270da1e28df4269382894200178464966c282f03adc727a4d849cf791189126a63a3d02ea501e1719bf5494904cad6cddf9682bf030360d20fbb87568e9a5cfdf329d94482935100d980e1ceec771758352505dba0037ebeb24d19ce880ddf5c519616a0dc3e24795f0d3972309d783c5aa6f0c6b53b03c6b6bc06d4f1f2fbab5b8c38ff448cf9e39b47d578ab1b37b5e868224c571b950359caf05afe37ccc99f78b4eb10e76815b255ec954c1b8f13a6d54c4240db005403e68bcca9591038724c309842f4ee2b20f30136887277c0dca8d8ce3bfd8e1f40039ae4bde192967f5e6a016f2845588d9f07f7699c0498cb7ffdc25bd4631f46c2036204527bec723efa5c49b7cbe845a296063a11707502b94ea471e1abe1c9674103451e428cf0ed19ecbdc09b4a78d4a70a0bf7686a3c6fbdd5bdc98880b894641a03be3d570d090e8697fb3d1b82f9a0f692f0f93ba0845ca0e6129111b6777426bb0354fc66d52ad08995a5079e49ec6482e08dfdf3e649e4c410e60cb6e7c4ec70f203386e9e9c1ed8aaef4cb2c421917e3b28396ad7a3450b1281a65abe59e884cb2103207ae42fa7fb8baaebe143f28d35ee7c388e5ec306b933fdcfb00bd48ca38ccd03ae3798eb9633ad25ba528116ed828492960bad68b509bd56bb120dca2d0bc35903b2a3d52464e5c5e464408bb24622c10aad63ebfc20b3e3664315288879bf0f78033b1d323c8da24cdf954cd06ed3c6cba7b4aec1d51d3094aa054dfc9ccf6db48603a45c3aebc66bbeb60f6817e9f7ab66dbb5108ba4dc1ea4d449cb3564f1090c4c0347a6fd2a4a2288755c34149ca1be2fdb92feb3a317c5607e0bc80e6684ac4a750361d7cfa7e48adfdd2e400d20a5c2081833b7267b86c80c0eaa12ae1516c2f07303ae7641cd60f9c34ed00f801a9e36ca448ffe9aa8c17ae6c8a462c61804da16340349789f11b8dcc8daee8045e83f30c437771d7cdc7ee96a912038936c52adedf005581e038c9aa5ed8f3d791aa9f425a51e7cb89f504c797a6462240218e703cf400c0a4713274d989aa41005581e03607f248141c9d5556d1c11b4c21c0e1e8c6a20f1c9f17b68754c172d700c0147215bdd0159960005581e03af5459f158f524bdd697516cd489ebbcd13da8b6a3d3e257c2fabf7df0040103ecf6712b13a72e2af26e13132418662373e3441e5726b2fc94ef47529c5d63cc045916806080604052600436106100d25760003560e01c8063bd0b380b1161007f578063e30c397811610059578063e30c39781461023b578063e5d647661461025b578063eedd56e11461027b578063f2fde38b1461029b57600080fd5b8063bd0b380b146101c4578063c489744b146101e4578063e0cbc5f21461022857600080fd5b806364bc5be1116100b057806364bc5be1146101575780637200b829146101775780638da5cb5b1461018c57600080fd5b80630f4efb90146100d75780630fe97f70146100ee578063461ad4f514610137575b600080fd5b3480156100e357600080fd5b506100ec6102bb565b005b3480156100fa57600080fd5b506101246101093660046112d6565b6001600160a01b031660009081526001602052604090205490565b6040519081526020015b60405180910390f35b34801561014357600080fd5b506100ec6101523660046112d6565b61032f565b34801561016357600080fd5b506100ec610172366004611320565b6103cb565b34801561018357600080fd5b506100ec610520565b34801561019857600080fd5b506002546101ac906001600160a01b031681565b6040516001600160a01b03909116815260200161012e565b3480156101d057600080fd5b506100ec6101df3660046112d6565b6105d3565b3480156101f057600080fd5b506101246101ff366004611403565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b6100ec610236366004611436565b61066c565b34801561024757600080fd5b506003546101ac906001600160a01b031681565b34801561026757600080fd5b506100ec610276366004611320565b6107d3565b34801561028757600080fd5b506100ec61029636600461146b565b610929565b3480156102a757600080fd5b506100ec6102b63660046112d6565b6109e9565b6102c3610add565b6003546001600160a01b0316610305576040517f75cdea1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b610337610add565b6001600160a01b0381166000908152600160205260408120549081900361035c575050565b6001600160a01b038083166000908152600160205260408120556002546103869184911683610b2a565b60405181815233906001600160a01b038416907fe0ac2a6b74759312758ae3b784411c8e2f3b8bd81fecff40b906d69030af4bfc906020015b60405180910390a35050565b6103d3610add565b80516000805b8281101561051a57600160008583815181106103f7576103f76114b1565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020549150816000031561050857600060016000868481518110610443576104436114b1565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055506104a1848281518110610484576104846114b1565b60209081029190910101516002546001600160a01b031684610b2a565b336001600160a01b03168482815181106104bd576104bd6114b1565b60200260200101516001600160a01b03167fe0ac2a6b74759312758ae3b784411c8e2f3b8bd81fecff40b906d69030af4bfc846040516104ff91815260200190565b60405180910390a35b806105128161150f565b9150506103d9565b50505050565b6003546001600160a01b03163314610564576040517f1853971c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60038054600280546001600160a01b0383167fffffffffffffffffffffffff00000000000000000000000000000000000000009182168117909255909116909155604051600091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b336000908152602081815260408083206001600160a01b038516845290915281205490819003610601575050565b336000818152602081815260408083206001600160a01b038716845290915281205561062f90839083610b2a565b60405181815233906001600160a01b038416907f5e110f8bc8a20b65dcc87f224bdf1cc039346e267118bae2739847f07321ffa8906020016103bf565b6001600160a01b0381166000908152602081815260408083208380529091528120805485929061069d908490611547565b9091555050600080805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4980548492906106dd908490611547565b90915550600090506106ef8385611547565b6106f9903461155f565b9050801561078557604051600090339083908381818185875af1925050503d8060008114610743576040519150601f19603f3d011682016040523d82523d6000602084013e610748565b606091505b5050905080610783576040517ff7e6817a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60408051858152602081018590526001600160a01b038416916000917f28a87b6059180e46de5fb9ab35eb043e8fe00ab45afcc7789e3934ecbbcde3ea91015b60405180910390a350505050565b80516000805b8281101561051a573360009081526020819052604081208551909190869084908110610807576108076114b1565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054915081600003156109175733600090815260208190526040812085518290879085908110610860576108606114b1565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055506108b08482815181106108a1576108a16114b1565b60200260200101513384610b2a565b336001600160a01b03168482815181106108cc576108cc6114b1565b60200260200101516001600160a01b03167f5e110f8bc8a20b65dcc87f224bdf1cc039346e267118bae2739847f07321ffa88460405161090e91815260200190565b60405180910390a35b806109218161150f565b9150506107d9565b61093c846109378486611547565b610b53565b6001600160a01b0380821660009081526020818152604080832093881683529290529081208054859290610971908490611547565b90915550506001600160a01b0384166000908152600160205260408120805484929061099e908490611547565b909155505060408051848152602081018490526001600160a01b0380841692908716917f28a87b6059180e46de5fb9ab35eb043e8fe00ab45afcc7789e3934ecbbcde3ea91016107c5565b6109f1610add565b6001600160a01b038116610a31576040517f1beca37400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002546001600160a01b0390811690821603610a79576040517fbf1ea9fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03831690811790915560405133907fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127890600090a350565b6002546001600160a01b03163314610b28576040517f8e4a23d60000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b565b6001600160a01b03831615610b4957610b44838383610b6c565b505050565b610b448282610bb7565b610b6882826001600160a01b03821615610c84565b5050565b6001600160a01b038316610bac576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b44838383610d99565b6001600160a01b038216610bf7576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114610c44576040519150601f19603f3d011682016040523d82523d6000602084013e610c49565b606091505b5050905080610b44576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600003610cbe576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015610cfd57813414610b44576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3415610d34576040517e3f45b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d3f84610e60565b9050610d4d84333086610eff565b8281610d5886610e60565b610d62919061155f565b1461051a576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038316602482015260448101829052610b449084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610f8b565b60006001600160a01b03821615610ef7576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610ece573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef29190611576565b610ef9565b475b92915050565b6001600160a01b038416610f3f576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216610f7f576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61051a8484848461108a565b6000610fe0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110db9092919063ffffffff16565b805190915015610b445780806020019051810190610ffe919061158f565b610b44576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610b1f565b6040516001600160a01b038085166024830152831660448201526064810182905261051a9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610dde565b60606110ea84846000856110f4565b90505b9392505050565b606082471015611186576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610b1f565b843b6111ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610b1f565b600080866001600160a01b0316858760405161120a91906115dd565b60006040518083038185875af1925050503d8060008114611247576040519150601f19603f3d011682016040523d82523d6000602084013e61124c565b606091505b509150915061125c828286611267565b979650505050505050565b606083156112765750816110ed565b8251156112865782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f91906115f9565b80356001600160a01b03811681146112d157600080fd5b919050565b6000602082840312156112e857600080fd5b6110ed826112ba565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602080838503121561133357600080fd5b823567ffffffffffffffff8082111561134b57600080fd5b818501915085601f83011261135f57600080fd5b813581811115611371576113716112f1565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811085821117156113b4576113b46112f1565b6040529182528482019250838101850191888311156113d257600080fd5b938501935b828510156113f7576113e8856112ba565b845293850193928501926113d7565b98975050505050505050565b6000806040838503121561141657600080fd5b61141f836112ba565b915061142d602084016112ba565b90509250929050565b60008060006060848603121561144b57600080fd5b8335925060208401359150611462604085016112ba565b90509250925092565b6000806000806080858703121561148157600080fd5b61148a856112ba565b935060208501359250604085013591506114a6606086016112ba565b905092959194509250565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611540576115406114e0565b5060010190565b6000821982111561155a5761155a6114e0565b500190565b600082821015611571576115716114e0565b500390565b60006020828403121561158857600080fd5b5051919050565b6000602082840312156115a157600080fd5b815180151581146110ed57600080fd5b60005b838110156115cc5781810151838201526020016115b4565b8381111561051a5750506000910152565b600082516115ef8184602087016115b1565b9190910192915050565b60208152600082518060208401526116188160408501602087016115b1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea26469706673582212203a25a29ea11b6d44241cff2cbf12d4eee8188286c36aba21312cc51c3fac07fd64736f6c634300080d00330372e97306c5733bfcdfb6c3e344fcc54f1cff6d82d9e8e0d35376e5dfdac8706803528940e096aa9ef618c8e0f610239583e55c4eeecaae4479a786006661e31a5a035982a8e068160ba4ac5413b11a63164b6b77a91ece9bc52e65532d2c138661cb032746f81e7892e9ac0438f5fc5d7dca71d3b9ccea7c35cde5fb46f5e9108142bc03a5bdb37560655253dcca892ccbd954b18374269d3dad26ef42c89ba46f465c0403b1b4ed7baf4cfa91f3d820cae46954174bed1363195d2c02599cb24e0b1e1b6e0369f47378f18b93b32271340bdbf3ab138bb39b3684030bf9b0a0ef453d06b61003b06be003205dc67ef42865c05c3a5090ad0ecfd1780829cc0db960d1c83f731f03251cda8f1df1a0b3ad6032800963022ca62bc5fa39792fbb24a27b9e7fda2bd503b40d519422fd2f43a2be63b3a11c655a4ea0a89756a949aeb0f5e5662fea54cf03d4210ad6c90aae8c8fa30927cd1ba9dd093f832603d140074392a92663939c91030ba00d4c4b997bc33e9779a23bd88246099138f032f1c4b8a748be74be0acfa6034b9590ea3669f28de884fce33b2d738a92958d0b792e1f0f39f9c7d1dfe1a0e603db0e41f0280d6321bb5622481ac8050b63d1239aedfaf7edcc6dcebb94ce56e4005820036c1f8b240ea5010a60b5495f56d5cf794324dbfb870e7f04a2870b7149c5604c0a8d1747eac6bb62bd4adc8800582003456e4c2f05bd8a56ecea7fc59ea299bc2e4935e494521f90defa010da1a0604901379ec812a7b5457900582003f08860382bdaeaff83f69867e801c7d907bac76d53a18b0d98a8c7ced4c47048102040d7ed01000003f171179c4e547083d1af12072d2016f8cc3461e80aeff94393db01a900ce9abc005820035be412f275a18f6e4d622aee4ff40b21467c926224771b782d4c095d1444b04846bf198bc93021a000582003c1289120d9d20a79f9567a5499fd5e6d4c1ed588f896c3a83d6a68fdaf216048100aefe0105a00000058200306bea06a2094500abf373415ebfc7f6479cdc3d5ff5c7002451b243528ed60490e6f04d68a68a460000058200304f916a16cb4ac16d3014d583856e90078d9504b9eba1bf7417d92c3b8e770490577856bbf6eb563c30219bce0033a4311e2789d81d78cbb9985821c11252da33ee5ebe2b1ab7422f80c49495d050219ffff032bca9902fb3e3cc46dafc77bd84395b7484caa78c5415df23f179f19311a4c7703b76830b958f4465b96e99fe676685df70255dfa43cf2a4e3c9bf866ab42f091b03360d75ab351557f715b8dd1e8b7971a865f7daf4a2bafc9e1549f6fe3713980a03d3466966d8e81b7fca28fdf8d5837d79fffecec443fcc40d8e6fcff117eda854036357f750d51c48d2dc4cd4f82c643075cc4fae748e5ecd1bf793c13b741d470b0396d3d255380cc516db8441ab7414ac0d2e7329bed9918e60212d6e02b9852b0b038a1efcf57f77e8c726622d16c62142c1127efd9899e724f6b0e780a42f6a83a00141020378a0394ce7017d38559ea61582a4be37c6896bbdb7e15cf19e79212a56152a0b03d8ab2ae68c9b43b2604ac49d9f5845a6aecc2faece8b9888ae5f5fdc5642efd1005820033891c132c4754b6167db0ea8f004a5648baf87c14e416027750da7aa368b00470221b262dd800000582003234950cdc1997a73d6b346ea241bdb889d22f1be122a72466553009cb2d6e04701098d3c9cbdbe005820037b371bf9ff74616314b38128ad33a401e9cdeb7ab67a51248a5caf0e21f4d0481b3573f2190830ca005820034d2da1383b3ca8c06fad15952067f494072e50a8f7718701010d0e9861af90480848ab65bd8976e0035c8a5f7b3ff6aff70667318b8fce9b26199d8efa2531d93a6ca18d2161d1155b0219ce4203cc96f4c807cb2d4a34156e692f30c3d9fb9e29975243ba234bfc7abdb6e6b6ee03006d490b9a960f8cf34ab8e32b587496bd7617eb124c0ea3975cdd2ed685852803ea5db8650dddb659087f6305f7f5c8e49a62a0cf04b8ffacd535d409feab80e70341d8404a82544a15ca43fa7dbc47d152b804587d1f6eef40bad7e8405f23b7530379c855ce5c402d2268e6aee777a27762f755fbdec0b96768e077be553f597bb303f043c6beef4425be2fe4a2d1a74534a07f24eb85ed9c5b5f17d39ac569e54d2f03e933c9da9a9803239eeedbc4bffe63e2d54711f1da59e800918de819d6d78fca03ec68c7d2606d978132ee278b10be16ce1bff11f985a84f0fbd5bec6497399d1b0219ffff0310d4562a94a81d668ca5874b189c83f779f5734d22b9739435fcd3ebe7ac5dd6038de5d185f3a9a01afa38aa7fcd9790f4191fefe1b916b12843a1a2009c828a0503ee0c12c26783bc473b3a98c72ccb3a56a447b04140ea2773ace710ad775045cd032fce0f941d42ba9a4bd59446d06b5f2246dd13023cc39dad09eb4896381f2f840311cf2c8caa47439633d7590c12156d66d6b6f54e19b71f479a46ea46f7a590f903eeef292924a3363f3949ec560fff152ab5b89335e4768a36cf570eb237d4e39a03e43fcb8a9d9a94d3dd060b89b71ca4e4217e48aaece61cc535de7168017355cb03117dd57c5404f576a7f6719e91235566bb31c7ea3060a992637847ceb01b199503b69664f335ed9c3a806c69d206b652f330ac13569c803ee74856a4f50ed4fc1b0318e44c5dfa2965b89dc0e2e9717b061ee66c86eef5ce6b1ea16623741bb95bc903169244eb5057965161313534902159d35c8fd473899420523715c9de14777fa50376825bf7efbf7380a62816f449398061b14d097d830fd77e2ceed04d8696fd5203a56feb5f6aa970b40bc4af9c89d38d7240acd91aad8480ac2aecc1be8248d59603b28fafdff505b530f9e26fb5aade18d4958aad4af5b4d98b874bd9b8d0cf9ea80219ffff05581e030253c0e452cbced46acb15893d90e82d7d52d5d4cfcc03cdb7bb4b47f00f01490133dc0a048a8cc1231916800389d84e183648fd2a7accd6713181b00160a534034daa62b551bdf82e48a9d0f605581e03f11a8305b83ac4ce1f5674a0b108862825e4badcf70eeeed7d0ddab0100c014701e3a83db5b4c005581e03a96f032bfd658aa3409c06664c00daae3966f3e490652624fcf1c43230040105581e037ffc99333e4ca9dd5770f7412a8f6ca3099a113c2a2f43ebcdbe767680040205581e034432e7611c5a6b4af208dae2538b6d60fd1003f0ac987e9189ecd31da00c02471f6c2d471644000219bfb503e8db86e41efb2499eefc586a70a4ebbb748ff66380ba91d29e537bd6adb37690035fc96cd9b7b492fd43153132e7cc9660978b8f9b07da889cf432bc4cb3f39f7e0219ffff0316e29910157f6961feeffae086383465390893e9c29dd579228f27c038d55753032aa35bc03aced4e6d625051fece27958c68a2e6e5c940bf995c68f9a0dc3ca9c0219ffff037895ab00e507ab64d9921ffcccce2d0865818d352d1eae722e30e8437b3d10fb0397fb8a92f004987baf73b935d05695480caf7a0cc59135fc5b094da331e76f080331a59864fd67c57325ff71dfb6fd4910400ec2ac950a0bf7b2229c0528bd692a03023ff8710aa807bcec25067c4a55855da85fde7ddcdcba651b57195b0237134c031629b00fa4e36224f366b424f2dd4d6c306e0badd4d6b01ff21fce888907611b032265dac529a8e37a066f7250313f69756c8b1a7b5ef5ec1f45872fad44343da803b879bfccc0a8c332bab4faee3f5fb8583af47f2c08fb937b7036e0d3528b7f7103bf5aae8bc0acf1531d13ea1299cac9d19c4f7478a0c63758eebf88de0833d51b036061aaeb3cdf54d1c3749cc9d6c63eecdabfb7410e9848366b723d8363cab7ed0353fe146a25e47ad7e79a7263e950b8df2c795b60c90b598e5f01cf552e902780038a8abf8e29cc4c134dd3b87a90f280f5924c8c36f3fb0e17b6592804c3f0c2be0361d93c5800a970470a0a6098e0cd6e593d862f850e22066b7ab8478ca621aac803e927d6d9393299fc63ed26832ad1a42c2a048e641373d0c95839a41c2f8c603c035602bc5ccb2b611a7a6b71e56f02b029d1d6bbc9deb1c80a26203bfe58fba3190219ffff03a5f5b55b30c08175a4a207a8d8c0edf839b4f8e0d959103c1bc4f77ebdcedcd90219ffff0219ffff03f09790db035eb8cb527ddfcc233ec53715af9df959f232ededabc2abc081ecb7037378dc814c7c8c34b55e38769bb7ec7f4ac8af479127f0c1ad313cdcfd56daf303acbcf3b2380c8e8bec316258a1e984535e2b44d3414d6e968b256f515649ee1703e369452117031a97398d420e5c518934e882cfd280a4ed4f8f711e0bcb8d64a803d78f40d205ce62bb5f9f96899e0941263feb66a210ed7c3244461d24520cf9d2035c7cbf2c53f215a403f6f1d319817f9b54ad80a7876c3b66b60aa79ac5a6d8d7037c460cb5dfd37efb87839c78d2b00653c7328f7e038a3c77c05900bd6978e51003f760cfa78397a23f5ace1450318a51a3b97992675cfeb5716acaf54f53d5c7ad03c764b5696f7a6f2c5692236e92ec0981feae81e0c921493bf4eea3ae2b88f6420382c46d4efe957b75a3afc7202d7c0b5c22f1e1fb988eca8687f681e5f6ac1cb503f62af359f3a281b0d8e00f42f1fa5d817c036e1cab9d2ec86e55689daeeeffbe03450fa2e6c300e9a0cce09a32afba5a7772a156c63a9204d6c5eca22110e65d9d031871bbda4995e5e3a994323762e9cb3f0c745bb7e0d7f3a28349150ae313bd7b037ce650c09e03a3347c87063a1c8ee702bc5c4dbef418d300349272bda285d172035f4de8c0788ad2330fc19238b80bd35ec380c1feb78603fab9788b15342e081303c339499a39c5e0f45b9bb256aba7dc8359fd0852032935452e3aef3837667b8c036547cfa226741275db00dadf8af62cb6e8f223cc3c8ee31d087a2c7b42c631ca0315cafc0e93cfd5a5b2ff244feb238c59c87e319370c05c344b473f362aa531320334d83b9b38e19b86a7745adebec19f43b3bca43475adfa1bbf743a236e94897a0312c4dbc906673213c0f75ebd0c1047cf142fcd2779641edf27218be0ed88e46703743c9aa8f54cc3b3ab7e2952302ca0335090bd1309905a917936772a30e4f351033e6d63234da89254804fb96c763effd25383a90f97aa3a80a3d31b092f4d722f0365912577adb882a8a4ac4dc0a0ec0272fed8f83c01934111bec2607734cb15e903d06e62ea60857a98f305a8384777682a9ec219d133ab8ce3e472d01200ae059e03003fecfa63b007bb340861bdcd601426fe8fdde66f54933192f559aeefc60dc503ac232097ae9ea1c8d6e76fc07535a3f648b8864186bbb4eb8e599b84f36a45c103405f32a49c891a84bb67fd32ab060227cea59cb72742e4c3e972cf70a8982028034e246620eb3b27696b468019d54e0d9756b388061cc1c5d47f3047ba27efa5f5038133eeeda816ba7cd0a01cee8d4e8038d4d745dd606041f4d3b49a62b20c7aa103a6676aaa7c80bee94e564cc5531a85b4af3e3bf966642c598d4e56b96c63accd03c3eb5fe54fa182aee652a639137d47c305c764208bdf4479a01a1aef026e36fe036af0195196fd8b80a80f815b762ac8971fab6f5b3b6638ec9b9cf64fb6f72da5030f130c5000582ad403278264b730d0854ac4e35b2ccd5479a2e421fc551a902e03f64376c66781fdd281fbc9e6e99565fcdde10a9410f25c35e72f0b1550694d650375bcef2e409d0279d78d3190a534323194810caa4607fb348cc9536f17fdba720359264a7db87249a5db3998f033776bf2652c2da1dc96c3a1ed127352b9fc0cb00368847592bd02a0c55f6df3f66e79360cb344e2a27c9c27f2f8c95841c0ba29a705581e03e81bd255bbe1e4c67d7be361c1a43bdd1af19c1a01feb5ea6d10743ec0040205581e031c0477d9171d2df0bcd9c0e3ef56a15be731e60cb4a1e3cf2a74eea7e00c0247034b21f2e3ac58031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e037e1ef3fd1457e2f0fb26a2dfdbbb567517183606ad36fcc3283f70c71007011bffffffffffffffff0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803ca7302aa01da8cf19cf7aeaf4d2197f3add4c2167c2f4362fe3ed73b7e699c7e05581e036f5b72885eaff2df009b05b40e58c366c501257589c88333630cc8e02007011bffffffffffffffff05581e032e9c78f198036777a63e4c8815e1a911e9a6e4b28e6b3dbde62b1d32e00c03464c72a14d00e803c693d3e66291880e47174f0946354849e9c880747619c2ba1d96694b9cf183c103825396bd9fa7a7b953bcabd4c5632e085fa0fe65adcc58e93d86463d15eee40505581e037da82b87ed0dc23a6efa8ec8d688714e43690bdd6d6e2e46805e3a97f007011bffffffffffffffff05581e030568e2031da5a4f628ff5e98423f6f0f36f4e0bd9f813328e66d5a5b000c014631df09186a0905581d027ff4231f6197e55f83bf700d48d325bdc0099496f9cf9c3faa58c73a0c0946712218de865005581d022b4bb5f6d29b0da51e594dd275a252012806d33890f3822ed9c894dd0c181e47a2d7f96a260a9305581d0215f85520578fb6cf3497ea7dcbaa851ab2406000ac4f5a02637998780c01470c0a875006980005581d028cda2fe5adec1309cd29938de6993ab3e39cfc47184afca5ce30099e0c01471a1cc93b1960000219800705581e03f1a0d51ed05325adcb7f8ac16935dc472bea744a7f298c3d4f36c387400c02470105e1416aa80005581e0330afa81451abeae3e47d3b34ac3fc1d542c7b1b6404d17654237d047000c185846d46fbaa257ca03e61348e78342f3690c1ea3e9be7a8bdd2c33b6f7c98559179bdbee1ded81cf32021937de03136e97cfca699b047b5e3c8e4e28247dfbe7cd7b5ab5f33d9d0122ecf2955e2803351c674674fcda422812fedbea833e85b99bae2a200772e607366c38790e442903454d10e3ce19325bc012ff9650a3b2bb82740fcd70468f5195af0add9a5037990342cd87d03e8ff2f71cdf9a545272c109e416c14893058faf6ba70b0fdb77033c0390f15ec89fda3bcda2ce71abbab65bf997cf019f60767e25e5f98f8a4bfd7840030ec13df24db7600e6c8ef9c74de6a9dbcd3bee520ee365b0ac81d985f774aeb303ac06f5ff62b35bfc6db8206976ccf892e504b5382fbd6a6fd8b859bd34be021f034ff980d83ecb6767faf211011fe50ab2e4be038ec97ae4f789bc0214cf4828510219ffff03f3fed5fe490de8436efbfa1425999b608b9d03100072e3daec84c6394381d80c03848d0494c3da399344ae3f07e71ff745400262ebe8c5cdbf2003e8ed4828150a03a10457e08df1ba3eaaeaf4a574aeead96e206e3c0901ab595014a83d9ab75870034a3cd9c859ae21a76a33f6d1948ae3de0852d6dc21627827554d943f5134a93f039cc556657b4aab3bc178f1ddf46e0ad1aa1d6e2bff047869961e09d9f758cf4c0219ffff03af9808f675297a4334ee6e8de1f54742a0ed8be5a9fc0478b5dcdf446de53e1f037df05a5f20401a6cc7f95db9af3640302a9c304fa48f96e23da995c780864a31031f859263e64946db96deebd11971c2cbf1ee218145070835b474e0b67825d10903995effe22ff94c830e746444b54e65db7ce355e8a06bbc48863a8424f8d075eb033f029414cf9b13e01bc6222ce7755e2775b6baa26fa7f8f9286f6cc0b740b1da03c127763c5ed6b5e9f6985078bc0c0800bad8f31b0e91eb2c24fee6e02d7cffd803066feb94af7262f14d1bbbd162ac5eddc49b19c267e3058902635ca78ba1124a032d475835386f587cce0e70cfdbb23f2a6257b8a4f3a95124d370b8c2fdf7a2240219ffff03eab2c821d34b1dcdfd0be2c5f202cf78e21d405b8a4bdd7b40a568cc95cac23703e1eb8ae2de2b0f8a4969203198d116c980e3e1b11f1d3fbac8a4c7b5d94b9837035b04f0f8943851e766312246f27b0511afc24239b130de698b04ef1415e0a3110219ffff0356cb7f3041eb4ea6b474152c6e4e8532c767b033ea81f84c33df114047821e8903207ca20131862e68624d8e02efd4b2ee10d78a2bb39e894adb64e44b11b1629203a03b0d231e3c9a6a921997bb269b07bae1c35a3d36cecee6fd1fbe7a7e777be10370c9dc6b561f8a282eb3ba1997eec401f37bc76f6d2e824871b6ca8e16459d1f03ffdb5453deb9fa538375e2f07cedffe10001b255238da2546aeb2d986dc0cbc3032a1e86f90bbf9d9ee2c2eff4dacdad0509f4d6ec92e2cf623a4e48194e6b94de033dd66e575877852bc6f67b54883b5c225ef5101ec433e99d76f75d43bbf5c0250320bd0a624f99f144d419ef63f16ba58db2bbe55b54ad7d0e2d7119239f40215603134d934e4c5ab4d33583583f4bbdf6c7fa4dd3f0ccbaa822577ca1ec14abeca303fa06153d131fb2989a5ea7c8b44d912d967fdee0fc39b6da9efef2284f86535d031971c8806b50fa605a326ebe44e3678cad69f390ed2bcd350774365eab9a3a6105581e03f292f48dc0619ad918bd1750799208e2d81038812dbf26054c2ca4bf800c06460a29c9290e8003fbc04335b5688ef374f4864537691a29b9e7f4ecd6f039e8b45dfaab784b10bb05581e035020b5459ba7ef78a48ee97bbc2b649b8f14df0d8b5e5bd77c06a23050040305581e034498788d06df51d08b149892bfd3f00e38daf70ecf18f43b43693cddb004185d05581d02398d501ffa9821762d62a2f05da18b4b583b90c897c604b273ce7e620c0547023a5b6bb9dd1105581d0208833a3fc6130bb2085f234dca1e6155d5659c583851f7692b9c42c80c0a481c44572ea89de816020a05581e03f9335b3600c1047bc7c6897dc69b78eb81072c7d633982fb59e7ba5ab00c01471bd7a5e2f8b80005581e0333fa449b4c224426502921dd0eadd65b8bbbcd7c1f470ebbc0868db130040303dec9f5f12a465d544fbcebc2929692855d2198be4c776d57f6032c0ace2d874305581e0333b9dfebfde14a748ca765f6fa55daa5e8af6d4b209b363a58ee46d1b0040205581e03adeb42a8756582ad788636f632e621fc44ea74ed1636fc09dfdda5d89004010219e1f303116e665e35c31d924309086f4229af570c845ab041a9cf23e076149bb35f18650341f479f040f75f9bfec31fec3926adfc5f9c0039c6c2f0ad0f9080ae60cbccbb03536a2bce84b7e1f252fe2e800eb85b3746a851453cc39d8ff76f15da25e61f090343993625f7fefc29ca0eba71c9f5ff5a79f8247692e05e162cbf43a47ffbe04303612ce49871c68224b11f9bdb91b149b2cb89800bf91e0bd17b191cd534cd8dcc0340112ce65f48c3970bf462d37ab3da43907102f2e6a9b944f13f3d5e20a1e5df0398c69561600b2fa7db976efd0c75e8c75b84ced37916b10ac4a328e0aea4a8630367c2c992d09b08e0cdab0fb96ffc2018f38b8d212a3bd85a9fb0053c9e7565b0030f1d38d27d40e1f321f692ba90b2b5d94e356a46eb3872fd8205f4b799e7a53d03d7ce2af38b9d2eca6f1de9123b5963306df161fc996ba4906b89c550622eb47b03da4f49e20f766aa3f7fd3dc96c9e238810c1d8448d44231ffe14d21a33bf13f80307a4567eea86745ebbbc9b989a55236d112aca6d3785e7b33344945b4a094eee03d5dcd0ae05d1239dc0da76bff2b716ef861493f33a0f7f1d2a6fab204a8030d003730db350c30320f647ecaf041ce6836356bf911fa0015ecca55ae99a386fef8c03938e76c9b6a11f037199faee8b0ea600e21fb7137ad797a040553e6570ba66b40219ffff033581d7556a6aef159fa9f2aeef23c6b61033465112906ea3110a584dca9833ca0395591daf9d455f93f3519fe01e9f15652023b98130b95cb2b37e1923e30c6961031096bb3ac14a9bdecae5bcf6223c59047cf0aa7bd470bcc428d6d9a4f3a2e80d03a4ed6304e79ff26914ae846e633ad1b656901290f6261488a17911268a3aedb003bc9c54fb48a93239731f73a712b40e21bece16a0ccee9d742fbdf0e0c1d513b2037ee19750d6b919c13510e864329c6804756c7a24c6c51644abbc698dc58d868f03eae57dda468e1ef4255a0d5739a07c421dd09fc2be58c3f0ba1fe2c8132f43ea0310760006dbcbe762e6d4cd5f69247adbf307c7fe0d96e568a5d00876042c970103de4dde1b41065a20c59de6ccd620abf14fea1fab3bb1128e8580f19bf3ab15710219ffff03912031d6d9c5a2fd7b8e5aec0525a0d84f3879bebaa35bef47047b46184edaab03ef6742f09515fc67f35107e7de1ed2fccfd591693754ce3bb2d2566df97f02720364e347e8f8de8bc5076c979dfeaafc9179dbeb195f97334170da22906790cfbb03c68159483a91678fa9af8d4cd8dc8b6673ea7e1883dd1d9fae41a06781940a230321bf94c462ff9bb25c2b06dac58e11e8148fdbaaa8d24cf16a451c538cd11a1803ccf5a73852e625c917fb7455885554f7005487d236074b50fb290cf780a4d91003c2401636ea08a40aa1f2e49f40f4e03a37312a33925cc8b33a7d08d8866a4bb803f51796e7d378ffc6ebbe58161c25fe18737826b1433b7e85709878868c3eab7503f14bb0673f0c92bbbaac2fc4db0d8f128b8e6aa500e0871d94e129e6f1b9114c032603d00cfc6c2d9b28a8fb76e0df704c7cbd13f9342b199da414a5aa0d6d3fd30219ffff0303bb4de303d591c5dcdd9fddd533d3a57372e871f0becefbf8baf4330adec82a03b5b00e6d546fe167e189af65899dbf98b3d3ad5bb52fb3513e791c8cfd358be403d4ed1635d64148cd71db66d4aa7cd2a7015fd90f943359bfc4e5b203adb3ddc003020c1603a0c243bac77407b5171a315c5ed25b90c84d20c3101f99a90cc79d0f0384f2a86d88f48fa013dd22950587b9c2b567f61f94b8098014864989fcd98e8e035808b0a257bdf0b0f0b705db1ad97a3c97f35be9d3a9ee3d3a3f0112f0a9776903ac90660b0eeb4306a80b34491af1f76bcc8e1c0f9ff34340ac663ca188d8e36f0396fcb952c5c3910c0c831712352afd6071fef3e045ad6ea9b647fa061bc3062203c9ce418ea5c6bdbeeaeef931e9bc2fa3267256cff7ccc1143669caa2ef012018030984302974a295516debfae9d1afe876478d046c8c6cc9207705bc9bdc60a8de03f424d80db1399cbc6ecf439417e50ecfd795dd3aa92027d12a7a0231705f243f03785ce360e4f40509c04c5d7e2bd9c22467a87190e32d2c3c2354cef835ddb60f03258722b76ff8f4b8fbb3790445a09bed0ab60b7414b63eee449c54a601d96b0f03d1e50fd0c8bbe2d597a6b18664056a363e5ac07ddb5837ac17a044701c58e63e035312ff2f330202a35ca53b5b8f883ada44ad9ab0aeae4bb23f7a7baaab30baf803f37920e76af3dda6bd2bea9c3caea764758b9bc6fe33593be937abf08bfc169303c50c2d043b02b10d30e0cb39726209521bf819ee0cca5eb3d8bdec93e7c3955803efe228f7fd8d9e4b7e8c669b295ddd96fc541b4589f5173e475eb16ef2c7cb350391f48d975c790b8f190c6cdc6d35fe17cd2766d9984a7941b96820a531d515e9031a3772bd6a8bfef1aced5feccba9a9e1f0de0b1f73e0db354cf3de20b478056503d2c23a4bf17f17a8e0b4ceb81ec4204fc2a3e11cbc29ebe4d41ece0146fd922f034b6340b40af7a42925ffa048fbd941fb4bd132a34a3b8b3649e5f6dfde329a5203e7eb525b190120d17f88e062c3f8e601340b0a7880e03d606cb942ac9422459203a6354512f61103941c1d49d82d5ef6916b584e2155cdd4b48632ddea0a8920c1034c67c1bf60e8c8700c43c741ffa65c9e4ecc823e92227fe81a2ade9e4572d9c0038edc03964f6cdcb77fec2f08399add12e255937909810240fa2d31a63c858a7503606f9e908aa8d61063ff5e59cd8337b6ef13f6ac0a0414cece82136f82cb491f03ff662b06c8684e8f9fe5077b7f62239c1f36bccfb2c6c8d142074b2853c119e20358f5871cc17c4f371de00ee1478b1d22a17d28bc6ca16c54617b07233b059a5d03d0dad0d5309f235f83ffcfa7b9f87e6c2d3f6c6cb20cc6aec1757682e9ad857103d79f9ff43a982f458c2860987228b6806e1807e4abdf9b5d98eb201d22b55b85033597e96db0b89d5e42f47ab064b29d8a1a0ed43b936a72c7030f3a021d0a6f68035469794f2cc1624a9b4f71f6327d00ab7e07776e701690ca4efd943edbd636b203b80571bfc2be8936d6f489c5571c7601e80c8e5ef4c91491b74405fd63e2b96303f08f044ba773d0faa803f18310df5d9b8b4d196866cd97b1364e34393a9872ca03a25ae0fbc082a49e41ba69341ca4d076546e2973e81ee291b09fe7319a9141e503f4d4bdb5086ccd654c3337ff7ad7c99135472fe98390280039e7a8b108c8698503f59f0e14b6ba9da0d45c792a1eae233b9654182e0ad80fcf4a471c3aea522edb03c4e05d4614164e3cf1f1b25d03b88e60e4a9040de92ae564d8f4dc9e31e8f00c03074ab30676f2f0a456da5bb5671bf8834361b947ba7e40c469369897f3e6b913033e08e577ac7858d29cfec517a68f1e9c26ffef97e91a72b4a598b145119b062d03db8e23599ef486aced69d686e884d93cf5e0e7c22d47a887746775cbfb19595505581e03eec2199ed948bf0b3af10ecfd98f557f3bfd73c4de1f06391f6161cbf0040105581e03e4f8640774135d89ee578dcbe39c87dc03cda7bad0fb82878992ec04600c01466bde7373ddc803f9708770901266ed622fbbd569466cea1292b72966e0c62aa95be91b18e30644038d06d44cd301cd75800647b7200e6179f866dcda23838499cdf5157dbd7cffab04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203a4fb77e7f73a9e1e31c3835a5768fb0f0e86ba0004310ee4fdd40c17bcad15750058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a01c99602f0673ac698260058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604a01c99602f0673ac6943e00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04ddd9689de74e552967e55870bb80058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58200696ce213c1f06d012c786c629d44bd6af375983ae3e8b69dadd2010b44229f4005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8530f2fe7050467fbdc74f4379dbc82a28857232802184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687dacf000000000000574596d0f494cbe800000009ee3cb689210a87ba26250058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5472b00e483a0ec40634f47043d3190be6ac2100720218480219b45505581e03b28185e4967d033f8c1043a6765252156485533a27d7363bd7e4569ca00701192c1d0219cc64034f70b2cf9cf6981f70061d9c8781969e04896fc45defe9e220d915d3c335aee1033a58e638dcee62c0192e0da4c92a10fc454d71e3ce73cda6c070d7d63e4f825a033b826625ce3fb8ff26b91907cbae3224faca2af7eeeb6526e017c8721b220a35033327aea8f1ba6c7bb0db09cf70707f45193ff82f8ff18474ee3e0c248bae1b0a03152357f091574b7b5b23e26bd75d29711110337b436b69e32ccaa0263489084c0219ffff03f696912c8f896b19cca140bbe84fd7023d8632ba960b65e3da5a35791ee43a52037ae2ba62c00f3934345be9671aeea651b68c91a6830d1bcb6688f5c2a0c5215b03e4d8e9dd9e199aa71f488189e64b055801b8f1aa5f11d981740b20a018b33df6038101a39ac510d644843a2d6f131fd80b47039543b1f9968594fd140428fbac3703ffcc2efff66751a8a1ee26cd71b6dd2f79359c1fb7a863d0c8407a4e7f414c8903c4050ecd89bf66c6d1850cded6225fe4763ea6b8f3bce2390a745f4751c3405503711cf9bdc9511c2659103dc2d4f396b13ae5390b07e32c74149c8aafd2d2e0300219ffff0219ffff034513bda77aeefe363553a5a28cfc4438d73a9c74a9cc153b4fe7ac03f1b1fcec037af64c791b00255775efe2c31d188bb3451308c2f6b8f045380b2e789585d807034088714a06f1dbdd9f712a4d61bcfffb72f39bb04fd826cdee3b26b3ec555e7c032dddf19363a55b1760d6b9efa7a512d2687a7c130c5ebc84715e688697dd1e6f0359b47e2f3fcabd004352026922fc00f76dc43a35ac74f7175b04a1000875211903177d44f7689f74c995aba8b765ab15dafcc22ce659cffe4cea703938729405d703e59cb28b7d117254894a34a843c81ca7f4982e8052be138b645b063ec94c597703a6c4a58cf04e22840c77bcae0695cafee11e98ef7e87a703bebea1f82e54adc30360b01d982a56e7beb4bac7e25ab5a016ad7c4098d4039633441519ada68d1e2e03e3f9592daf90fc99ba6facf8ffddee18c8fd7097cbf313ef807b8f94cbacc899031ce4fb07f7527ac559f4db8cf86a312e54b34998a87e56f1d673a7e7fe603a7c03c29587ed956f62257d8109fb9744b1fdcb030be8c129b39595e4e87f834d1a6e03db34391aec78eee6b17bea8799793d92b64e905cb948531aae45e0a7b01a502a03f4a1fa126decb726bec9c976242cc1b29225760fd95cb2a72588a891b99929ef039f1ece186442d82d27348e1024127a335eeb83a19f6657138b2ddbe81ae4809703cff6ea575d1d866a6f557e501b0651b517812643072421fd37bf818351d3a93503a91b9b38bb795837c889914289d3026330ba2afa8efaaa38b2aef40967a8fb5203856068eaf5a78276a691a20b7cac194ddd01c57fbae491bc464fe7f57f821bdc030930a94215f344ebcbb22269d45e8d7c86fa4c8ad1b925bc6a6206718e3a5486039f133ac5661d6e81b18ad6e0399930779906a9b3a072448ed9b3e5fdccd051590395337a6c1bd458378d4e683e0d134049ae61bb4625c898443ec0f4c5156eebcf03c8a4ced7f9120926835bfd9a088994deacad6564bb019419267e93d15e18845c03630f8ed71811224984e212a4d41e3a225d2fac402716dfb7dc5e427d19a020d30330859a6c43f1d3b38089a064f69e045714bc8366cf158c3a3ccf31ca2e02273905581d030f2d48782f2c925dfe591010401aef12bbf69646dfaac7fe52f72310084801fd699493b6540005581d03256e1e36918b2a0de900f3949c7fe4b3b4e8b65280587be6973ece700c0141010219300005581d02801e1bb70fa7571db3b17f58b762c8d5e12c62d6bd00ddd076c928ae0c1842473ec0aa6144da8102188205581e0397ee4301c447e7f65b0c86cde36b963b03d7366f5a1ec6becb592a8fb0040203647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d035591634ff428a0f46d0d3b703a1e812ae89181f3157e85117a796c0357bc0caa05581e0309e1f5ae66272f339984d786503f1e2f600c18272872246471aa9aeec007011bffffffffffffffff05581e03ee466cf7da6808257706e776172ad927948946c0139a72ab4bbf898f000c014703fc73fb70200005581e032b6ed316690e722471e7d72ea8df4b831f9f820774a26759f0542206900c014501a13b8600036d5cafeb043b12772ba9c24ed152035bf87c7a03fc2581c44c6a35a5b2a05fe205581e0311a4f1443d59614ff4cb71589a9d8809ca241a75bd10d0e93375cb25a00c014708b3e61b2a860d05581e03275e8940ecc419e987625671de6be2332d7bf30286ce47eeec5612887008476379da05b6000003e155fcc1c7c85857c25cb038c78eee5e207f6d878b63705859333a46b85111a303ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03f5c322bd839547b3fdaa0d9b4f5cedcda01dbc3ab36cb10f1237aa79b007011bffffffffffffffff05581e033f1ced1cb664bb70abb7e8da6256adaea25e6f64653e552438294326800c054722a584d0a496880219f7b503a6c13ca700a13498ff97f629aa8ca269a21734a81f05965c0d9a1de59b37b9f50219ffff03341b5a097806518985db66de557a7b91f981c7180e92d87a34ab0ad85a9d917d037e8f367e7d57cf4155cc2fdc1b04be7ad2ed027a25f49108993055d2ed378b0b038d17c6dc092a5dc1718048a4130c5be402529b777b30e8161a48cb4daf8abbc203810f45579c48d3564c1bb754b25773e555af33892d8bd483ec8b109930d2fbca0385a4b62880f728ccc08a55e81b7138e39e2d8d13b608e6019cd3239ddb193b960339060ff3f466d0ccb4c81942dc2140d0e46fa4903512693d276b22afa5e472ae0396b2434037d82f57d6a5279db86090173f75122fe4706e4333596d0156899de2038ccf8f508be09be6fcb987323459d84f2424cf0da7ab0f4f1fd0200257f306de03e5a5ddeb2cd80a0f49e29ffaef9b2048c7e421372c2914ec621f14ee221678a6031261b4c64ad58af9b132859166c2aa0e0e9a919ab3c8d53d5ed5928e0f807fec03795225cbd019b38359aeb2da98b22826b8889ffdb898dfade22c6756f87c8ed403d73b1001354732db2df2571522f4c32a80fded2e0f72893fb3ab2cb23a6d0dc9035ace66d0c72d4a9273c0106c2d4560a53168c670429552a258d09c15ee69bbb6032cee731a2b51898a6e820bf2ced0768ce0fa295f77b01f12244e5c99d2fc3b0d0219ffff030a65c0f154f96a6da14477f72de4a12e1ecaebb7b723ef477047d83320696de4031f935bd392a11b0c0b6599ede87cd1eb40c8bd99e168bbddf4749324102b25f60393eca68e3f2fd493fcac8c5e12714d12f999daf8173e4ce4f8f324eec28fedda0346b23bc83aade0b06b9998b408c2c7656efd371248c50a89edd508e5e5b465fb0366464ec1c2a92ca87a094e16942217015960f66673c84238eabf72029d56e86203a624559fbdb5566b13ed98f2d74c53eb9a24b85df178407416c1c2fa76dd0f5c03e570afc97d221efc6183bc93cb56eab135c0f60ca75e44eb91d3e834003eba8603c018c7895eaa183878225badf7cfe4497db1c49debb5b6fd98fdb4a5691c21fd0219ffff034f37574c4941dcb74728c99668acc880dc71707bda06b6ef2560f17efa33208503f84e9997a1a3cebeec286da9a7f97ae072aebeeebdce843acb4f8d31c40b235d03c5228c9b15b900e1ab35cd31e2a6f8a76da5077c855621bc4ff325f7719ff83c03ab95322476a8f8fab8facc086a9ec780d6caef5f8261617cc333cb5a78d9b2be03e804b6be20142b8fb48ddd0d0a961d48ccfe0a35ab65b1ac074db3fa529a406b037f70e71a0d500fc453c1933e55ca2950884e80398f4d842554c1258c9c46d9b00315bc307517610b7fc207191bdc4312bcfcac4cfca36c85ff10dfabb301cf6ae403a9d5eb6f53483d1972f70f337fb69a73e4ae4d6bda3d0ae048a7558b240718c103f909623815b6dfd5dc38871b8c3ecd1dfea7e7b7b4559725253dc0243b78128603ea4a1928aad368be1ecb79e65dc7049ea5483289091c4aeaaf2c54c93b39f3a2032a49eef4c7d752c40ca10bad85ecc2039755b752cc9a75369b5fa0cd61e9b4eb03a260977e742b0d837123a777b65e9a4052ba9b5f6ecfd7f2dc18aaa75f21c1bb0337c6a7649b0d726f4d9f7b45f868cd2055b01f0faea4d9c0dec8ae3c31bf0ba903973e0130835efe13755298a2009ba7877afc3c22167cd69d1fda49d6097f013703bd9aca4a1e52d29c81e43a4e10167558797ab7a092b92ad80aabdd2d9522578b03b82301cb3e6a15439ee22c17e02b648d978d398f33057852cf2eb55568e9615103cc9f369691177c7259dfdd981cb6a5567fe57013eaad07d96a758ad72bcde69503e15cece399022a2c6dcf84578787290f20c7394de23d4b2559023f90e8e7a5e4032dc8da2dfc4428b17fb083ad2e539f407fd10d3a48dc066294e35115d1ce5ea903e275e5c67345b289ec6239d07f31d3236b49728c9ff23ea954deac849d126864033f53f40be042ae84f3b9b97f456866a49f3f1e57f6bc97a2fc4f92a3a155b05e039f7fce614041eb4e0b4f396904d809c12c91e794ae9f721a0adeb37ede4f66fd0313650688e0717ab0d2d9659a8cf08122720bed7f7282f483371f6240a31301350317da6e0240c10b8d81d98e77069f043e10d291e0774991a096820688cffc9c2d03679eba5d964dc19fd2791c9c788235301b8047eec5a73bf6f4d3cc6c69a204a7031b952b64ad790699de9045c9ae95a958d5daed4d09f7222a2ee03b797f458fed03a95854290ddcb9e613cb53b3fc3c81df2b70b56aa60cb2454bdc0bb509a6d5c603d3412c0e1247238de421d3ce5a0488f2473c6d0bbfeb8f3162d26e56ebd7b55f034bd2db3fba1f762aa1c2b12103c688894ee990ca4a2bcbddea9a2e4acfeaec8b05581e03d190b113a5f31a9485e611a1c63c12a9c93db7856508849f2eb210c7d00c024745818f401b233005581e03fcb050771262ae2482a6ac7f2f7a2debe7a40c9a9e5bb6b914b735aaa00c02473b6b6449a9316005581e03a5ad4a95fb95cfe1e514159c59bdc56d43309eebe0ae2ebb692318ffb00c02461bf3ada51c9005581e0375d7232edcb52ba30bc1e6e6819ef5d786c664c30881037b6c96b093900c024701b1de4293fae805581e0308989306465f4d952566577c893a317952fc711d9cbf3c565333982270040203381f0348f39aa5f970fca2bfc614aa86904b676cf93f987001d5c1ab6b44667103b184ddf07b2831e5b7fe27aa9ee8a2606376627a4a8632a3b28bf7867d0b63e205581d0293e2e127b606834c2cd6fed8eeeed897e5e96cb0f3c6678579533e5307011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02c2ea0a113e37291dcb6124a5d975e637daf32fb1556a766757af95bd07011bffffffffffffffff045911e660806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461014257806306fdde031461016b578063095ea7b3146101f557806317ffc3201461021957806318160ddd1461023c57806323b872dd14610263578063313ce5671461028d5780633f4ba83a146102b857806340c10f19146102cd57806342966c68146102f15780634e71e0c8146103095780635c975abb1461031e578063661884631461033357806370a0823114610357578063715018a6146103785780637d64bcb41461038d5780638456cb59146103a25780638da5cb5b146103b757806395d89b41146103e8578063a9059cbb146103fd578063d73dd62314610421578063dd62ed3e14610445578063e30c39781461046c578063f2fde38b14610481575b600080fd5b34801561014e57600080fd5b506101576104a2565b604080519115158252519081900360200190f35b34801561017757600080fd5b506101806104c4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020157600080fd5b50610157600160a060020a0360043516602435610552565b34801561022557600080fd5b5061023a600160a060020a036004351661057d565b005b34801561024857600080fd5b50610251610655565b60408051918252519081900360200190f35b34801561026f57600080fd5b50610157600160a060020a036004358116906024351660443561065b565b34801561029957600080fd5b506102a2610688565b6040805160ff9092168252519081900360200190f35b3480156102c457600080fd5b5061023a610691565b3480156102d957600080fd5b50610157600160a060020a0360043516602435610710565b3480156102fd57600080fd5b5061023a60043561081f565b34801561031557600080fd5b5061023a610847565b34801561032a57600080fd5b506101576108ef565b34801561033f57600080fd5b50610157600160a060020a03600435166024356108ff565b34801561036357600080fd5b50610251600160a060020a0360043516610923565b34801561038457600080fd5b5061023a61093e565b34801561039957600080fd5b506101576109c1565b3480156103ae57600080fd5b5061023a6109e6565b3480156103c357600080fd5b506103cc610a6a565b60408051600160a060020a039092168252519081900360200190f35b3480156103f457600080fd5b50610180610a7e565b34801561040957600080fd5b50610157600160a060020a0360043516602435610ad9565b34801561042d57600080fd5b50610157600160a060020a0360043516602435610afd565b34801561045157600080fd5b50610251600160a060020a0360043581169060243516610b21565b34801561047857600080fd5b506103cc610b4c565b34801561048d57600080fd5b5061023a600160a060020a0360043516610b5b565b6005547501000000000000000000000000000000000000000000900460ff1681565b6003805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561054a5780601f1061051f5761010080835404028352916020019161054a565b820191906000526020600020905b81548152906001019060200180831161052d57829003601f168201915b505050505081565b60055460009060b060020a900460ff161561056c57600080fd5b6105768383610ba6565b9392505050565b6005546000906101009004600160a060020a0316331461059c57600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156105fd57600080fd5b505af1158015610611573d6000803e3d6000fd5b505050506040513d602081101561062757600080fd5b505160055490915061065190600160a060020a03848116916101009004168363ffffffff610c0c16565b5050565b60015490565b60055460009060b060020a900460ff161561067557600080fd5b610680848484610cc4565b949350505050565b60055460ff1681565b6005546101009004600160a060020a031633146106ad57600080fd5b60055460b060020a900460ff1615156106c557600080fd5b6005805476ff00000000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6005546000906101009004600160a060020a0316331461072f57600080fd5b6005547501000000000000000000000000000000000000000000900460ff161561075857600080fd5b60015461076b908363ffffffff610e2716565b600155600160a060020a038316600090815260208190526040902054610797908363ffffffff610e2716565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a0385169160009160008051602061119b8339815191529181900360200190a350600192915050565b6005546101009004600160a060020a0316331461083b57600080fd5b61084481610e3a565b50565b600654600160a060020a0316331461085e57600080fd5b600654600554604051600160a060020a0392831692610100909204909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680546005805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0384160217905573ffffffffffffffffffffffffffffffffffffffff19169055565b60055460b060020a900460ff1681565b60055460009060b060020a900460ff161561091957600080fd5b6105768383610e44565b600160a060020a031660009081526020819052604090205490565b6005546101009004600160a060020a0316331461095a57600080fd5b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f72656e6f756e63696e67206f776e65727368697020697320626c6f636b656400604482015290519081900360640190fd5b6005546000906101009004600160a060020a031633146109e057600080fd5b50600090565b6005546101009004600160a060020a03163314610a0257600080fd5b60055460b060020a900460ff1615610a1957600080fd5b6005805476ff00000000000000000000000000000000000000000000191660b060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6005546101009004600160a060020a031681565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561054a5780601f1061051f5761010080835404028352916020019161054a565b60055460009060b060020a900460ff1615610af357600080fd5b6105768383610f33565b60055460009060b060020a900460ff1615610b1757600080fd5b6105768383611000565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600654600160a060020a031681565b6005546101009004600160a060020a03163314610b7757600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610c8857600080fd5b505af1158015610c9c573d6000803e3d6000fd5b505050506040513d6020811015610cb257600080fd5b50511515610cbf57600080fd5b505050565b600160a060020a038316600090815260208190526040812054821115610ce957600080fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054821115610d1957600080fd5b600160a060020a0383161515610d2e57600080fd5b600160a060020a038416600090815260208190526040902054610d57908363ffffffff61109916565b600160a060020a038086166000908152602081905260408082209390935590851681522054610d8c908363ffffffff610e2716565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610dce908363ffffffff61109916565b600160a060020a038086166000818152600260209081526040808320338452825291829020949094558051868152905192871693919260008051602061119b833981519152929181900390910190a35060019392505050565b81810182811015610e3457fe5b92915050565b61084433826110ab565b336000908152600260209081526040808320600160a060020a0386168452909152812054808310610e9857336000908152600260209081526040808320600160a060020a0388168452909152812055610ecd565b610ea8818463ffffffff61109916565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b33600090815260208190526040812054821115610f4f57600080fd5b600160a060020a0383161515610f6457600080fd5b33600090815260208190526040902054610f84908363ffffffff61109916565b3360009081526020819052604080822092909255600160a060020a03851681522054610fb6908363ffffffff610e2716565b600160a060020a0384166000818152602081815260409182902093909355805185815290519192339260008051602061119b8339815191529281900390910190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054611034908363ffffffff610e2716565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000828211156110a557fe5b50900390565b600160a060020a0382166000908152602081905260409020548111156110d057600080fd5b600160a060020a0382166000908152602081905260409020546110f9908263ffffffff61109916565b600160a060020a038316600090815260208190526040902055600154611125908263ffffffff61109916565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a0385169160008051602061119b8339815191529181900360200190a350505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820a1e0f5cdc96081f44eea73f352e7ef8fbfbacd306ec0f0b7275c9752d31fbe3200290317b64651712b5d2b1539c837c28305159c409be05e98c3b2147048dfa37543ec03ea3002eb2340afde86e7609fec388c10e004d31214c567d58442b969b4b3ad0103b7626db7678df944673cb49bf6b6a1e21e3821d38702e34e7e3516fdc733657303a4c573b9d2ae9d6ce272383c505bb5cd941ceff43796877a0a5e9b0844b2976203d8b373e48cdf22c69e4f36beb2de76cd6e5c899e55bfc9229fefba3cd3afb7ba037fddfc649d7fd0dce584d1d1fbe4bfd9972a309a3b5fffb992b31913f02a6bdc037544417403824a9b62a14c5ad701c6059bde01fea94cf01a7e7058ea7b76629403a572f4ea333e5f254ab87120476045ddc61e6f3b9f24b93d57a06afd1621c8e303f8033024c4b01ecb06c3ea0b5f63b5c3b1e66e9a7c76017350fd69a064b1e3df030457ee1a9e6a297ed6c6eeb742e93ce5bc65998496e415433137d29222412f46038c91f9810d6fb9e4a8cd105c387d60d6df5d2e538422b74e43c46c90418446030369be521d4e33c69c6e53284a3b3855f93bfdf1119e70cd3e3eb8b4ab3ed92c610357f606a599da94b84d87dd73d67810134a6532bde2b2965aee9b48a56f0c493b031eec0ac6d495919725eb5255d4ef79ed8d24212b61132ac9a7cae22e4f1e68e6032eb992e976a638623426cb047724a4757368105aecfae788cc2c18093671647703d763614437b10155236e1316a3c6de4ff4a466d8c32b52241880b881d8e3626603396c290432248249c56f114222834f81f11bbb8bcd258b14cd8653ebbb5511d7039d870da3a58efde0448ab5b7cd20f5c07bc42298856772c499c2d90dd02934b403f14fb9b632330647a5cfa68d17d36bcaaf178ffb302d3a9be7f77ed7b544e971033b1554ac590e526389295306d81adbf736bfdd69606527b5f4d4dcf6ba5488a600581f03efde3270fc1ce2734c0f2e9e49837c9bf092965c36dfa8854a5d7dcc0ed05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffdaa95ff00581f03f4b03f697ebd2deb9c4bb542724dc56817c43ee8ba08d01840fba415de905820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc41af7400581e02fa23910e319b190a332e28bdf212cc13a5b04321001afef7a7f050ae605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3c600581e0284b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db055ca06411bd7a7296d7dbdd0050dfc846e95febeb708020a00581f03d8475854f71876137f919f4a5d52f3634d0164fc956284cc3d3860781b305820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3af50400581f03f71c21d050f40dd3fe8bb29de5776d8fd00ec6719b628a3b71a9646d4ed05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe91660900581f030f00af664db23addb2c78a8d1502dcbedb7f63bba3baa5a52aeff31cfea04d0c9f2c9cd04674edea3d775950021964610329d0e3710e33e4c4990b16b08c4a86ac8af2968bb2b4ecf04ef89cc4a82f051803d96c1b5c90868dffe2f359f3344351125dbec2e5bcd71d02596ed2b43964d56603421610c221caa1f2301e6cd9da4d80f3a4051359c97327cbf18d130196d6e3c5031526741157f78a318e196a41d33b8cd5257c33b3e6159f4c188bc798d2e439fb0219ffff03312a26ee7311465dccaaaaa6a00fd31a4a519262948db58417faa578ad1ebde1033bfe29ae4872dfb3eed16c60e478e5398f374c08a1e919e884d38af1649076fa03e927fab89ac6949d3e63c75b20b512507778ac47c97e1f02952e569e123d359b039445a02d506d6f1d322188fdd372e3e0e477d34f031739a037809cdb952468920354748666397e01f8413aba6f6bae2e59a16b2509eaaae8e539528ba0a3783e5203e5459e2a2cb6e65d615b033a24f758fa8bfbf3438845eb2960b20c81fde3d20d037990b418efd30191dd031d0871f6d8609743a5eac25d37b4a7ef0755cac535b2033e039f21f460109553e8014a1ce816730eb16590a3423861d826284141f1cb8603346efe8aab949a16066a56c85c1950ce9fec11e8fb066a0d62bcfdb6111434330219ffff03fb44b1bfc19be427dc49041b88bd56924bc0f2e0ea6542c6042b7aa81cf349b10378f7b3108f90466095bbd91a96cef78e7834e3484cd7c852d1ac7f12e0eba38103a93c578a1dcee7e54a6a0e71e013fa12bacab7f10fdf70fe3e8caa16f44d766b037b8ed2d69bcefffe561e00e324219742eb6e6e2c703934b4b4a6be38b5723b370323d2442e265a385c4d369948d1815fdff9544a23f3b255c7d6a7572b77f6e44a03ad50d2c9995ba7203b5a2f8df6bab8f7e6c138103193b5d2bc39360e7d69825c03f9b7f911c1ee5fa0302ba3f82e56696ad4d2975704b2febe24a6b9718dde2c3b0330837f6d077f932ec3124bc4631f1972ef3443671562af1d6621d317aa97c89103186c53a9555855c81cf1a4999d1bcd70a70d5c0903005b2d45ce23c0d0d68e7303d21b88db6b0eb1b135e778a57e8e4c88fa9c0291763980033e34824d140f25ed03b92d121704c230ec6213321ff952e8971dd35ad1a31f6d3cd269e83ff579e6c503fc25d3ac0aaaef66e2200ea822f7d08c05fe98da40329ab850864990d98a09960378e7b5d81a001b8d4887675c7233a7774aa9f1f928c97374cdac8d316f8f6fd203d7d6c777e7e7d29bea7c4caca9e7682bd0972cd4c57f9e14a1da2c6850289c420383bea4c1b42d7721a17609323c7e2131aaedc76a19fc4c9994c8c4795f10bf5f0315fd573a8daeeb8c001a927833cef8085948d12bac4d6a11b5f2f2c17ea4c2be0338c1e22ea1c7fb838aaf972853abb043c4d714b02451f1525acef705c402eac803a9b6ba269f5946724ee4fafb4862a0119141534bfb64406e3876d1779125041803a132fb93ea2018be8ddbdfdb92dd66c8492fa8bb3236feab2f8249acaa2e21960344bfc4fade6b1ae5748cebec80ae2e7661e63919a803382e9663c3d9981cfe950351cdf0fa4c55e2e6cf9c075b1534fdaf7af4a14e162ffeba61915065b390ca8803a71eea7d0f8c4d25fd28deb974aca133e5e8f92535a1143359a648be9367a51303fefd8caa0024274c3ac259bc17366f00aacea7883891094484b8aae2cd25716103764d6c1da2f00c444c3b9a2e596614c90cd8c1e6c1dbb5ff25523419c24bbf1d03c8105cb72135b8a45b74878cfabc1113fe639876eecf54cee052fa217245838f0353469ee6afa49b5dd07e89fb65c8499f1967a65b2293f12411a9d56a6559a10803e0c84308da5331f58a5a5396d9efe49748498852a9bd8a9c5c61034cd8172fba00581f03360baf8557f74a6c3467869faf39a55b516141bb69c8643e2d68311fe5f05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa4d4800581f03a0ef08dd917d6acf785b26b5559917dbd1f9745fc6d8a23cda21f833d2505820fffffffffffffffffffffffffffffffffffffffffffffffffffffffc658fc19200581f03cbfff06749ec3729ffcb91a4afcfb4502acb620ac031d9130517609a7ff0440de3b49400581f034519e23182b5d796fbcdaf79d2c029d3492623bc0cd5892d3c8bb0fab82058207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021800581f03cbbd5f7fea279481c272f44bbd3a202547b7bea392d47abd01ba7789a5705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffce0d5b5f00581f0396a90764cea82bb70504a98b4bd6ef5ea31abe2364b190241778c977cc405820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffd70c12700581f03e31d44494212fb8729ede3694e165b4b408a10c936fb829c22daf7b1f1805820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff52a8f02199a450330ef518b20aa0fa67c5a9bdda85b2191ecd735060a1a8ae6647e677a15e5a5f2035ee2a5a9a52439bb5acf7bcfd6411cd7a2d66e7b236c6e2022314c5e9bfec35b03461b41d4ca1bb8badccaf627a084320e3845071415f2e71d241807bf8beb2bb103fd407d537f8552a2ed63226b10157a0d004d7e7224fe2238b0d7480b43eba2d103f846c0ba76b61f5df1f0557b052c95328afa9a5db5c0780db7226a5d91650c390334c92e22c0c30dfe55624f04c5ef9e95c51fb44770b1dc4f2683d69f6514983403e55bf3f0086ff060af1b48e1463671783583491355fb5568fcb32cc06a60b8ca030d13fe0622f02774ec9e1700e2a330ee5e98a579bcff51727d94ef4c7029429f033071cb29d33672a43af7619ca288a6e40dba4c73ffb05a4b0c5522d6fe6b12d70219ffff03c62040e9477db6be0a4c45e1062419cf4858a29537aa0cc792e1f7d00d561b2a0219ffff036980f8ffd900c92867a358fbe969c43190cf2bf5cb31e3fa996210dbca517af30322b321065db20f198437781c95348bc57daeed3da0c7ac261d95e0234a04b3d5035b0800b2d16875720227cf49184b44f9189e94f7ae465dd156eaee5ea58cc00503db4a46c1aadb22354b3cd4e8caf0a60bfd667b35bfaae2fd807c0eae6b255e4f0219ffff033c0ac986c146a30f624790d7a4de8c7becff24df6bcc8785a4bad5fe811b66310346cd379e3f68a635841d16b6393dd58b9e6a08c085426a11afb00b33a01a4978034177d94a0414e9b7ed40c579eb99b95f2ee9856b4706426115b00bb9c3bd9e36038ec4011d9844698b297d06e8038a41daa2a0ec747e62c0f2403cf099a4c0652403cfecc9979284e322cb53ca01452f20f42dd6570884c3557f8410cb11587fe3c803608ca91705a602b3c8a9c9255987a4de462f8c6b04d684d16c46b1efd0b7ad2a0338f5d361d8c5e00474498fcf2a196d6a289d2332dfc65eac20f03f9ae6280b8303826cee43a489df0bafb09a06c3ac40666c2f1d4765b35ab538e14c7812359cbf03db5da38654ec18a7a1563669f8620ea8240d50c6869fd525c997666cb3f38d4f030fdee01ca0b895289f660f14c84fbeb726b7a9ec199197e749dd673793cbf09c030a87a9b1e6e6a62dc9dcb158386362e9d1faefde09b089d8f2af65b48d0d650903c85658e9adf9cf5f38b78e44e5adfb409758d86d9b1570042f11d0020469f63603d6f968cb3569375ff816b953983d9fe00bfa4e6aa262cf14320e6e187302ca5303f96c4c2f03fd9c41c8c85d7065160643a60ccc2db2eba8002578cadc6017f4ac03afc44f5a589c5102cc45af41b57af10f06fbdf6313e3d55bc1917986bc4e805303f0b9fdfad8e85d7d860d2824a7f109256e5d03b167fa9b12f90c4630ded7e1d103fb9a11076b40c63abaaa8e869253cdb1a58009bf495992c948cd89a6a5881e7f03676ca720392a49664c5cae4eae263f444e7374cbacece4ad4004800a0f6f4d1b03a6ca43e61e57fa5c8a576cd93be6ec9a7f12b9b28b3ee8b4fa37365a4a2cdd350379d408eda2a51bafb29fa28e296f340b1bac2a97380f7a59b18a76200f2fa859038e67913dace142b8f75a14c9317b8f0f509b5ca5224874d9c82e08ef9f8c617103e0cffc40630ac802a56ed472d3680b3deda677eca005a1621493caafe635936103e4d402782b55cff7b8e3f496529a70664e0be07b1929d87a9639b75c95d193090336a5d70cff43f5d1716650a8c9fa2f564604132a073276bb9fd81d21df2d9e7d03dd8f2103138b7ab0fbadd40bd801e88f7447b0b0f2e42f0b562553af058eaf1003b264388744be8df3fa28b2bdbf300fe38ad093df54879ee1473871f9784bf6a900581f034eec7883423b0403e6c11f9cce2f09c1f5c10f8ba39e41e62a00e2e8e0d05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff95ea21100581f032440653fd9ae2ad18c6749368d11b582f4796bed2905b1248304f1dfbfe044029bdcf000581f0319165861a81197ad89f78d1c6193c9ec7cb4bf2d28b86062089849b6a3405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219101403441351c38121a37711d7adfe18f822582a5bcba6231f8a3b130437c07dc46b3a031fe14546769dae18d673ed7e0cc4aff738e1acd14b3664c13305e48aa6c9074f0334e9dc17d7a4f9e511b4919fe9288be2334c7f0c34e5d7828ad0bc4f54908a2803e9eacef7b8ea61fe6de53a3e1a1a57b593c1aaa2d491a995d8fb33d9149e28860382e41805069f973a01c9f89773f988852f6ae7114741891117717dc0b56fab0003d7319354c31efb68d38c3c1ebb73877893da00c0151b18051a8fffb234f5a7ab03c5d1fa4da0653430d708421e6067401954ce007adad76216fcfeb6f41b382fd203dfb12e5cae003213cf3c7aca5f7560f62ef01494344141a875c89bcb8c5478730303d17d7695da1c88e164a0ea2b57f2aa928ec84e564d8356e60a2853966f4ca90219ffff03063f0882cfeb203d1efb22058f1f473f7d331b4e6e96b80cbd9e8c4ed337478903392b806fa4c535a922f92fa952a1004dae2df9f0ef6f0d860005f1a2bd30d7980312fab87f480b1aad66096cb0d6181030a5a3c098804112d4a9f5cb7c1a01d0490219ffff0372445307ae147349b93583503055d05f0252504ac0dffe4cfdf87b8dd08fba1803815ac97739f068fd42b08b0a5b8b2e26b5d80605950d1ae6a21f52690ec26efa03a1b54528167f6339c06047b0a06d8db7836ab0e6d87d6c5574505de9d1ea40af0334d16eaf5bcd033a5be36b09ec4ea9a58ec2cc45a61f3a926853b410fce8d38c03f5e2ff1ed281a4c6e7cdb08510dffab84baac039f7ae9fa64a5101dfd4284347035ea51320350bf9ca8a7d62ca48214ca7a04cc140fbbc3b215e0b3e2534fbffec033000614101a19dd0b075320e3f6034c67cf6e3cc1a8400aee0804e4a8c9417de0357c0b345658b2f1ec6245663d2d91ddab396a7b12eb4632f20731837fb2d69000318987735d6873eb1d1432313177bcf8502cbf4c5231e0a7b6ce380eddc499fa70219ffff033a8eb998f0a8a60e4ae7bcb212dea301fa4e5ed5b50559efbd96ac0f13592b93031536df91e35deb59cc7e93bc544fbb51dfddf1c8e08c8fa3c1d0d0e73cbd90d9037fccc6d4541b18be50714dc7a33aaeefe9a2bba3a480951e7d486a644212cc9203e59bde7bee8d3d2f7b94daa03ed4176e30b1bcb49ec866d85dd7bfa6f53fec7403458e24fa0d8756d92783dba90a721c53d582df807ed2d92ef6fb37aa8bbd7bf103e511382961a6f7a60fef2162586930e9a2a4ff53ccbf54de755d4a5f7c174029039d6f47baa0d2aacf04d23ac5e0a6aab4f2488aaf53db43a058e07abfcb40f3850313f1d02c03365339293f67829b129e49c436de03002abb20e6f110909e33388a03f6f142d329b71cc94e4a3f02b5c157c7563b94cca534919ef8607387b020d527035e0231e892991775d2f89f9bd7ca908efb7a2d631801b95f3ee3ecb66edc564b0393d7c8afe66884817cd7b7757fb7eec1eb369c30819a49887b8375e10d2ef3750336d1dd1864d4862ea256d41bf4fd52e4749b711c4701fe4097ebec9d9c59f6590323a8187343939e4f87ee79d80aa055a74a970ae4090aa0f04bbcbce7de45148b03738412cf45e7a7e0984a20d424e15bb7f639a70c41405d1e56be80a42c37495203a7d931d75c276b91171580424825d7895c3e290dc0e19f80f5121c26743711fd03271e1164c81418111f33cb27f610cbb9390c85d81bbf44f207a2f28f0db8e806036fe3847534bce2a3874733abf1c90e1c1fecc6e992b1c8fb90e36dcd11a5067e03ba337039ea9c3e41d82a507787a8a8ec64206707c329cdce0f8052c2b6a965a803ed4760248eaf2f3896f7dd905405c63bdea8cd55e15a2c012fbda5e229199b870354ff4294d3474d607311a6293dd7c3f60e31b6ebe0737220df5cbd104504788b030353d6ad47fff1456c3180ed409ed59523442a97ff65a9020235044810d0da47035246d037ded613fa58fc4c5c445274661a3fba10088e2712c35ee9538761484103dfd25057861c35b1883441e66d815923fef42862f59626b1645b9463e2e25a0003f62181859ec03c7104bd169a80bb0a4b89b3ffa05d53987e66698729304e5a1703fd2235b0e832d76ecd3428d100725c7f41fefa5c353a383a52f131f84e095db503db4109c85577e70547c70bca93263a300bbecd9f083839307450a12b9b69f421039a93cc2a00ebd102b112f833bcff06510e2ece9b7fd5ecec76dd77495512d2830377fc5177b15577346a9ae9b1349ad8b7d36b866928bd33699fa530471686f2d603ec67e7b2db47a58e0d7097dbc77de773df6d4601c220a246ef51be07aa0fae9d0330bd902759da07a1e30a9df3f34d17bedcec88b5668fb82bff417d1237f7dc0e039436c63e1a6d869345cd0cca13e3b7fe75d0a46bc8964477d9497189bd2fabcd0379318b4a8f6700e2f129b8860e70596c78a8f2fabdf25695caba781f8035b5260317da53590e70885381e782a4eaeca8d11f908df2165442ac9ad86fc17bbe8c3703374e366aa20d6f06704eb9cd876a9861d8935793546c5654300f3a3cc570f2ac00581f031943353f3dc9fe1083f3631b5874aa260db3291c215855842f842da43150430210bc00581f0306485981cf8cd0baf425c57ce3a1c6cadc375088186993bb3b99299e181044019f4789031e2e0cf2ad1632ef121f555e5553c0a2a033556cfefabe8849b790b7f0fece5d00581f038b5349e96780617f2b9d00c0fd91b1e97a82939fad5146e26523fddf322042cb200316d3bd240af981fa050fd8a9c4e1692cd7be5c150ea0bac3f97635bec402532000581f03cf3afe3d381f73ffde6b92ebde6c3adf556402e565af41c2216cfc6ac280441d03e2b80219d281033c4ba38e740795671d1514e0c812ead9572e199c544d82a7034f884e4216a26f03a2aa412e67de6537d89a17df8dacc3a6e16455fadb29c4f958eea87b0f7f061e03861a6771b258ed0b5834ebd32f7f4ed0df77e499e2b6694cba546f4d15b19d2900581f02b5a2df4da7c32dbfbf3047eec19d25d6793237cae4aa39333144110078bd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035261a013d11fe2fee20bf2616f7efb464aa70e8aacf1e3b1d01d7af74f1b1f0003de82d6000d7a15463ce1a1754df7183ebf3b12b591071724c09a01a333e4273c0365ff5cff4a4c0aa4cb23bce86d0d53d31a1b52b276c6676049f5b7e1594798ad037d431272d233e51823e17f836699473e9d4206a8317de3f73f14d0bb9baf1c4303d7e84d77a8a27e3ab9ab493cde1360ba4e70fb285a71d73a96bb7cb546f6bfea03e6c2b725b663183331d5a20cd63a65d494064dbce86871e50d3b8c469016157c03319182c0debf1491aa10b8dc641e78aa78c75f511a130ad45cbdb45639b015570219ffff033dac63d6c10de6d7eceb62f20a3e1be9bc88c56a906022e638e7b01e919facfc0219ffff036ac02668f2774083ec2152e72f67df4cc77f8c4cacb2812ba181b41755dab50d0219ffff03a086c0ca7fc0bd9d61e8fd95ba5104c8cfe8bd55eff6bdcc09c159b1506a77b603560b88dadc8297697cd3b9c28c73be58a9dd2a1462d53a835be8759f782c8aac0350262ee0b3116256d2d1694855c28239322b6605e6282d5bc0df7c9efe8a5211030de2fdf7641a7182a02d8b27bb2740511c65ee53928beb392313aa997b434d420389987d1f8efd3f2e1e4e8632e331c43f0893f540aa07fdd8759be78a51724b150389e1c2d398854c5e3cd8a7c05363028eb2957b816c108350e3b393b44b21d7cb03172d2a197350ae845a8d31800856484cfc00cc41d70c08d1266a57c1cdd57a1c031019e382096047e64003a0f3e8b03c1788cbc3b3ff6c131db163a3833090ef510321f6b32b0097be6561eb3a37188667a86a07334f4b42f9b763339a16a0d0de1b03400714df873038eab629540597291080ce21c448a4a71ac0a4474d04e2955283030ce58244583a6ee689dfc301062fddfcd81f517a12672da366df97bcba7b49e503979c27131a1152153701d3f471e0c892ddd1b18f278c959be39ed907cd4bb0ce034e193f25677709d3e6013ca89dda457e045fef63d24a38c4f381f4bebe35f1d603a9f3728b0ff8b198787cdde1044e811242b738a250aca62a3224909dedb26415037dcf0a56823b34de4602bc56dc1de6d932d9f3c4e285e98fbb87208949cda029039ce7f84e0c23319f95966020d3ef5e11f030769ad87f4cf43e5ee762c03b00b403bd4eeb54d128dffac6fa03c31e5333ffbbfc45799388916054c0c9304ef35c39032aa996f959652f46fb1f381134d26d6c5ba67d78fd07212a1ccd145f544c7b0403c1cbbd0c4f2412c8db3c6e4dda19ce31800e49aadab45e16c81a759e6074fe5400581f031a9af0e1dd061bb859fdc9c4cbfdfcdb7429bc37bc1ea8f6b22a69cdaef05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6d83f00581f0306325d00b97cd6c8f27114a281ac6d619e0b1fdf70bbf4775621f26d3ec0438ff77800581f03a7c3af8646f59e2ef1dd8ec67cfb5fefa54bc7a925ac19165a354f7bb3c0416400581e03c432f3a4302cd7edec26e8212eec99cc7c6519c36e8eab2c1a7a70bf105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff59cb9ca100581e03bc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0582057425443000000000000000000000000000000000000000000000000000000080219900001410c00581f032d0ded4655a83ccd68b4e646cac921ad668ae2d9189c8d6f58f5fb87e7105820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d8800900581f03cb63d0bb442b0c7d1c54411b0c509318bd57db1e50eed836cbb92c51e2105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff777de700581f0364be81ebf6ed0bda9dd6c61d16555ab1e928785799762a3fcf2399b6db905820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe43e1140219d4490335dadf5c16e9ac5a685d6de64b079f36c138631868338c96bde95f073301725c03f67db4f4443122dac6e6aab2f0ba5efe011d14687e9c8f72a0e7460a68156202033297a84d8dab72bb85991bddd5c1247fec29d5efcb9315f8374090ce168678b403dfdd6e2b39b360f2421cb874cff8c0ae07ed702ba7211de21c057cee2a28b3e9039e1a4d5bd4fc5fca1e4527501be988611afd9d9bfd5d8bef18088aae00217d8c0384f11c9583ccdf849453be3d85de7543b8761602001647f957ac111f65b453390326f98430cae2beb353f51468022dda9cbdcbfa8bb800b81139b9d080bd37fd1103b5c1690bfe6842870d37b47a7d9e68c4ea8d8ad4e15b12999d26b7ab0b17a0ec034b17c01c1f4d5f37a07060a334834aff327a9dd41de7a08afd51cbfc76084d6103ea1f7644c7a76150cf8c19f3ba00ffefcd4fedbda921ebc422f611f8aa2f27580219ffff0353ff312154ff458f0cdb51c3c3909941d26219578fe40488e304da5b42ef34ac03c329c40ab7649f9120a8909797e44df07c5aa34537044a12dfcc6ccbf6c74876030a0dfd89fab38996d719594d56cdb7446d7eb92a0f1bebbed546905f415d260e033d227fb6724f3b1a3f3554ff78ee3670c66f42916f0f66ed9bfab8f532d7d12a0384ee64df1278e05671344acc966a34c0ae08b35462b5a2c03522104abbd7a50c03bd0ece13c8e5b02bf514868da11d260fccd42981419b1906aad734c5bcc44052036d08581e555ff6ef9761eddd857af1b57877284139e20969622231a03d2160980388e3d591dea23a0e677102267d4a872d6fc55065c51b33a674acc63af05b037c0394dfdf880255d18c178b4e6339316ff5211b03c389b1c183c46b9dc9ce9d40dd00581e0257d0c21f2311fa23f12788a9f42fd79e80995d53eeff4caf0efedcb0bd42042000581e02c85fee2e1e452ae6f2882c677f9a9f96a2bd173ca939004eb959304c684505125604ae0219600000581f03ccb454c985ac5d33f826ed2272235e66537e55e4ede3f36a97e44c69eaa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffda25f200581f038bcbfb7612edeb624dd2f6737c1c2f2b0c5d6206332505860814481f7e005820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff93502d400581f0355c5dfab6e14577de58bf365db30457190753d98b686ddb975d1a60915c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff876abee50219828103d591bf37baeac46d15a83635bb69400750b27badcf599300f9099b5f5164b0510382dd7202aabd58454c63b362722e7bfe5d96a5ec5cd6020eb20f81e3441833a5031e2c870203df4508ff991db84ec95e0f57d627a6965cb93f922803f2cad64af4033fbe6a74219a68f690f6e2ddb01e23bdfadbe1c1d3716c2fbb31f8dc16eee5990308b070b100d79afee3dc9b77914f11d7d7418e8298df2f16171a5e69b7c16b2603538d12a73d2775f85457b9d2f5fb93cdd214a454797aea3651cf32c3df4c2c4d03fcd145a1ac22823ecd4daaf91c63a266f0192fec0928c851b9691828a7cb874703a4d4df4fc9b0f69d0bc5e2a14c9211fda6ef4aa95a9e04b3cda30f97ef20e16303c311eb1b99596e26e05eb480abde78ad21cf2fcc2f63c3ee08da71c696494b2203fc79618c2450f639171c8dad432b03ef4ec616d8b0492e024cdf3e318f2394cd03befe2909ccf1a1cc30d7e183e427ae8290dd24ac118978c8ed681634ae3e86b7036fca0ddb3cf83865535c7bb8b8e692b4c238ee1a992e170cdfe3c9c6b79fb5ae03f6f9404491bc0b914a6cd2e9aca270196ee660c43beb92b660385366b90a5f4603a68e5eb710ca4401ad0942d9eab0280c089b9f99e09b70c30c0497d564eb57af03580ccdc665436126ba069833728fd9b50a2669ed68727b6d6240091c337ce8740219ffff036502f9ea13f2f26cbacb6e78df76f635be418ca3b701be7725dc81ede377cf5e03b02a2861890e1e82d0191d488763f14ec31ef3e97fbce360cf2541db667200670219ffff03d861a65ccd9e9826d85ae155517e0d08b3482e13add052d5cb011ae52441853803e8bab7d4647e0dec1094231da3132a83ea3549f6b13ef097ce5d8f1a70846b8503107734e1ef06ce52293b19e83d08688e42309ef36ba2086430a55b717cecb2b003a3dce67844a110b321929156660cccd42b41356a50e8e537b2a500b8eb5e5df103244300e9091b6cfe154b9b43a17d0962e20cdd71bf3639da4272b9a2eaa428ac0219ffff03a6ba6f1d979d52ff3ca15072a8ef5978e4dad0a2c330907eb1340fac7ced056b03a66d62074cb4aca15d6460efb0832bf0dc848fd1f7ec46baf76e87e16fe624e503fcd9090fe2b8e58f4a1ac02c1d73acdac599c589e336a7bf1517bfa745256ff803fdd9d931feec9732566d085d4796c60bd4a7aa8ebb8cd0e51ccc3f18765cd8c703d6378385b1b3979e47a95da177e99d808fc2b5fe2712ed37f762ce259d8b4bbb03ff79e2a78a1b8660a9caa91e301a8fefb157bfd8697c31719a4454a745843f0003eaecb73790ccbea5c1ba8269aaaf2ef8b3800a77c9c98ba0989943872a2e3f5d03ad456b70cf37049b9ac2021a5258300f2f7655da3a212f8b0fb0207fd75c058503557f72459ec93a5429926c1066b5fef535ce0fdc569ec741628d0db521b1fd7403c6d4e1d8d6f69d4803a7f37334580d23d49a7e979b695f0816abe23a4cc6922903998cb199925648dbe94a4263e368f28df00f96d09eeda336e1f3dd6ad5ddfc280330e228db74b0fa09388da84cb32b187869754beff44ac977ff38919e0352b09e03064f4b1b73c1782de2d668eebbc142e0e565f989d9a607dca603c6ed0f80664003181417b31111f15d3fdea75055692e5d760ee61f5f2bf60d4ec559bea0666b2f034f09fce491a7b0278e9e661573d6fe597ec62ad5bc7ac4497ffb272685375d8b03227953ef9f7b5f3352f0de1bd6ca8ff45eda425eb6cc18c77d4401015654b88b035e4a5f6015b0f6b7d1c6ebc3f660dee99cb0f22be84cf368a13abd3c01c248b10323c5a128a782cd07f7ae1c2f860dc5b435a7968b70558a21d85b50d72ff91bc90357f37601fe88ee105ac97a25f14c7d7909838993925f38cc61379b11eac4c56e031e539611df49a26e89cb2a6c49d2b3f4226514496981ef9c403fe53438c0907803cc79fa096eea78197fd7ba528d73b065b3e431c5c64e35737b0137e8eaa975d503674ca69c6361e7463fb3e3c8a601dc7962e5a9d25fdf9bc13f43e081bf11753b03f12b91d03cbfec47a4886f18e9f54352988d322f19b7640a36dc3ac110e175bc035a7ac1711fc211938ce7cf8cba3dce87e353216631d2b8a1a87c152f25668cd40389f67fdaec78deeb93326eb850055841021e75608e1df4b3c7cb8ac12b82e2250364c1753d6dbcd6af0a0d67fe6a142c50fdc7851ba1aafd026379c82233f30ea4039de80d1de0fffcbd0b540d091ed51a30b93524b451bc8616fa0e9f7159a4fa2903024475cf3913d2334171e89d60c8b8f29798e99dec7d11c8f386dae88e3676860340f43878b0d99dbe5c3825744830281cadf622f11e3c449639f184193f58052d03d035b0743e859e263974c0846e50254da379ea461a2304efa2ebad0f38649a8503c86c8a2391890fe1a8374a20dc9d601139e732f33b0f41aa6541b32f991dce9d033695ed652e428aab687106410ecb0b14483f5fe39897522d8c3592839705525503557775161ed39041636259febf0ebaf95b2b9a42117bebe924735fce03242e3d0368a666d175641ff5aa055ba42e347515a1275e21717f112832c151fea65e4bda034bdcd0ac2d801573f5f535194beac7917b29c33d843ad9465fd90fe2ded42267032d06ba0e72fdd3b1d2ea626ddc942af6258ddf974e3d385ce3c5104760e8bbab0392ee94a8aff7e6cd06289cecdaff306400b2f53d304c3d52a2a0ac93d74f57ae03603c3a553ce6d63220b50b5afdce672de7aa1bcec44812b77a42e8bbc6d672ce0379da76a1593bc8333d71a6c927ddf3ef4897ba1b5741775f31457c9c7750d03a00581f03b4464b00bf099d3f851f75f9ffc8549ea172bfe88fc88053f36cacda23005820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fb6f2703fe8191fa3d4a20cf81200f5c042d88d2368588a1ba5ac9fe1bb318d5474bdedc00581f0319db5fa6aa818f28a74ca68608d641d08eceaa2014389df6a53cfd582a005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03146855290dc6b197cb2fea6f8fd54c422896a2340ef26c0e638530aef960415103023046afa3b57d7126943c997b747a8ee4f17598e7a80a232bddf37b537cd63203c058c7cc5e0ffd5be204fd6824f9ee5ddae395062cc626bfb9b9f15478b5923e00581f032376ed722c1c0dc292f0142d0a0a139b0d59e2a7f88ac8c546e674efcfa0423e1000581f03dca1df4acca273cb6bbe76135813b3ca9c1e32bd71ff38f7ed0808b5af90450450046b8d021955c903fd7479f7b72727a5b587e887622e5441a97680c24392100d8e9731ad74b88fe703816bac8d3ca973d38067a80239d6e2fa5d845cf05f30b3a3a1a5408ca1892fb803cd6fa12d7404837bc4522fdb1ab0173af5d79b12a4c07298248c9d226613f75a031800f9c3b3790ee8e7d23fbffa50b0d061f7e7e7c244395cafa8d775c0d036470219ffff0330dcd68fb2205602eb9d21f052bed9e7a7d18625e6fd2880f95f6e3bca675fb20359623a11842b2a810cf68490aa3cc1e123b7ebd8a6873a6b7c006af22601f3f00219ffff03236d183cf8921348b3598e7cd45d16156c8c19504860303ede59f6d4c08a55b103498870f7bee4dae063748678ba7e410b2558ffe796ba6a950a0e6650add068ab0219ffff0337da6513332d9b32bda330558d7170a88d04cad9ab5516a594e1da903083342503bc28e3e9191cd6c28ced30348fa67a2e8bcabf72d6b5f74e7af1ebffe77930d8032c22898bcd10d572474c585dcc28ccf31e3650150f46ebee286af43ce53b242503e2a2213b489831340c865949d397c776565c673fa378e597c130a44062689df1034690993f9dfabdf5665a6a46bd81aa00b10afcd12a1b6afa0e5dc1e0f01a977103a5667a24f94058d15e94df689dddb4a1915c1ffe9f0c40c55dee0a8c728f2f5b03d60f2b62a3f7cb0ee6ed2eb07aa6e9aad822a8068ec8bfb025b8cd3ca6e0a3f9032e38e2a59ac46850dffa13d289a43fbbb44a9d315b154ee1c691b3aa1d193d3303d5f64312d575eba15d6b69d0a984fd1cd2e2c3d407bf427ee72543b3b160623c03436c5dfc255af24f3b7efa9c01bf115dfbae57bb6ea5934e8bce33f6142559d80362e03972acb095db8ea475575f8954a5e9a5c55a58e8b5adf241b88b4f9dadfc03d049f2de3e45bbb4e69eb558f947f76eee665e48e1d246108a6724d954e248a503716a0750e9e7fdba96c2c4966a75634f300ec3e17fa3d04b3fdf0fa20d1be1b30312cd86c2b31b418b9029541ec48e8159211ff92bf193272f4e3ac9f7d33575e5039899faad302b06c9d70297bd1ec009ecbd511015a006db0f584ac5a1120e51d903d76ab7734fcd43c6a2b60a15c847ad69a6e095b872a45029dd8a3459a0696130036d1c5d125ad876a99c789756a2a2850e10849ab2836e4abe2c6fcc762807753d03cadcf3623f140af393f876f6564d07b8ff3ba310d0a0a3484530e5ec5939c25f033cb568606c3ae92cfa23b5ff759c37ed683809f72d5f8aa5c390f6969a36a0db03ab868e927f794857af5853616580770a216e095c5f4338c9b8c44dfac480aaf303efa615adf35b03238c28f73c223cc9f9466440d09fa83b1377352b52cc2da0eb03cf9e532a6319f6cc05d49e2effa1317e12aa767183dd5bbe7fabbcad4cd52e660375350482ba1ecbc787b9710ec2a2fb51c62b23571a3a76554d30775002f53a530347e7cb0e9aac8b48c44755449b3880790606edc0403f6c3457faa2dd7918ed0303455143cccd5f1d7d87948966be98ba37a3f8c6ebef5dce16ca80291605d8045e03aa9a00b09db99a85a8824914469b8477409e88d689331ca16ea98f7c4d0729af036e57613c13abaafda0039dcf637c94f7a3be52b6a1f15486f2bef4099ebbb24703ffca6882282d1a0bcb4fd3cc2c12e1bce26892c3cb8eaf97f62fbfb6cc8226d803544a130165798614c28dcbce6a95db560dcd1c4207d123537c2d8f457c27d3310348b4ea9f5d9855f05192444cffc5b41ed388450861266683f55dd5b8a54bdb1403ca64874727b2b7092557c094c81b975781c63bb67d18e455a547eaf1eb6cb5ea00581f03bbe60aa2b48e0a18af0614a042ea6957e35c9b18d035ead3e474bfddcfb0424da700581f0383a43f9742621697f181395989eb4d3d372e11d5edd91a5f91277b56e3d05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6467100581f0381ef4848c940493214c02671faaac4f7535a9bcb08a29a393b544f2f08904394a5bd00581f03619675f223a6b3cdd3e0d3d1001dc8efcd0449e25f0b15e086b29dd9bc0042372a00581f03906ce50db9f6711c52e787c6a1accd167f2188aa01308c82fed4409fa530440423a35c00581f037ace98ea7c8f969b910f2792bb787e5fcf91bc3fadc0ad2a1671034fd5505820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed300581f03068a40ebc71ba4ebaba60a62971bdf4d709cc99945e0ed25346911863f004346b004021901f30393f1535d3b1927c33f4af806ea296fca378afd981ad2fac60b3ef69ed0448bcf03aef173d85a05fb3d4ba0ff5fa1b0c01a3d3ea25e0c69392f6a0e0cb5686cb63003b4c884c0776108d0c6c735de53db32a93cd79745a8ef076ee42870bef51315ec03b9948fd711a8be9fb08b4cc9b5d94221ed9d890fdd703060f0c821556bbc91b403c7db19880854d93520d28118ab8250a2e16107645752839389bce8456fb1b8ca03fa592e34faf56cdeccef15f51780d86b4a5ecf4cc15291d9467791f5fdba764b03443b248dc264ae8c7f20c125fda320d651ae9febe516a57a46ae1e36d07d43fe035d312f17c712a3e57ce5c7ae5b048b20d1f23714265ea6215e2524feb02da86f0219ffff038b70dd6f451e0fd9dcf2ffd48c5040345942ab3d193ec51072d08990e8d34ca903292e8101ae571ababd16f72793e17422eeae1acd681def8f601053838da6cf80038e1dbde0d28d5f908cde238c96477492282059c8d9c3924463241155da9e51820387bb394466d9429626be120bd96f5bbd5bc5c02ab9157c917bd322cfcb455f530219ffff03e7f8f4c8ae0595f7057c57ffba27534933f7f0bde32402743deeaf3f5556e1a6033d2edb610d3016dc0ee212a8b0b8135218cc45d5121f2a5bada49b54b5080c1d036da882dd2983410427ac70007077e10cf52a5b1534ce900b6f8be70e8b70a441037a3e2f71e347ed55f674e2e974fe61d8ec1796ba4c2f779e33e8f0afe4cb4a9d03719f491d4b14724be7d62c7bf4cab7c56231a38f08217e17ec029b2fef26fba60219ffff0219ffff05581d0240759031b3b9352c1680bfe7f2d376c5eb1d3f71c79bde5d7b9e147107011911e605581d020c8c69a267d22f83f9a5c44d0fab0881877bbcf46a27ff36120aa6990c044719cc826f20c6000219130405581e0373f9a2fb2f2c5faa52e8f70219655e6dec2531c4d88936d8f48103757004020342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e0350b664c18e1b276ee3f6b4c793ba1b99b3cb0691a6f165c874ac6522b007011bffffffffffffffff05581e039f530c4ebcb4d338e2378149ebefcf30396102387a80dc69303c5ab2600c0d470b3f109ef89ca905581e03d865f0da1bbacb9d83ac7b0c19628c415c1ae7051c756a725bec95c0900c014702de0d30050dc0033e910cda8f61069c66a5d45d09ec1caf6006ba1a022ae737c351528a9d470e960219abf9030df8ac9fb91320c43e03dddbdf416ad27f47fe7470e74657264939054b871ecf0312d8128d147efb0dd76870fc761fa531667870872340e18019cbd4244f200c9503035fd71cf0a983827e86a784b2c6428cda49a5e0f0f5761102b405ad64e5dde203ebfe89acd5a4a1d5b673220c6260217c2bc916c7d0e26bcc5cd16dc4ee37a08e032418862c1196650f836b4366f4a1d68b000c98f9193e0ec45a5db28f4539d5370319424487030cf75fe811dd40fb04aac05112e1e3eb7660539e4c8936cb96da7c03c8703b8dcc37a4f97654ecd875606116cbe09ce60690565b42f9923301cbb6ed0333dee8a3b8f87ef494b0a167ee984b96a1f9d92f6a9e1db0dcf88ce12c888d450365a0743e04bfbbd6d7d0866402c9a563920e98aa7c6054ca5edfe4fc347ff31c03b47a1c320a41551156094f00504d9a41a008be78a96007f4a517f79a30b9c179030e75a269da59d42b9d9b35ec9a2d68ed9141c5538b7430ac8d6f82b1cd01507b0219ffff030563ffd70e0855786ef17b14eff3a60d11dfbd23a8de6ab8896a19abb14988d70386c0195433d67fd83ffae9f60e6db755df78cf2dfa250bed2e26d5c3ce3347e10219ffff0353d266cbdf7586af8964f7a20a6ee70b512b8fdcdcf295ae484db81f1d7d179703cd165c3ff81c9cad2e3ffb10a1178c7da478170b9eb561388aef05d829e3d94b036fa1e71a71c261b1c3502a0c45b6ce1e25cb1c332b54afa60dfa7541bf3d14ff03b0118ba9a8af1ed3df91bfeb5bec676f3964e6396306b9a7a8b73f85992e81aa0311e47f0d5e70418c814db56ae43d242b93ee0f39f740e49512c173efac6784b403cf7e80c94b9fbc7e42024b2efe3cc173b98aefb8f3ab32a3b2dbf72463cf9f450382ff8f4d1c5af49de5343b05834947b10db8baec4377fb49632d6bb90aacd8b30219ffff0219ffff031ae0ad81299fe48d273d8b174fc86de0d63608b229285048018288edb18306e6037c45175c1d5954c2762b874a2f6a842f9c5030923eb9549fd9942edc2c29163f031eb008253cbc1d2e2b66bdf9c11f3b02db516593e41a021b36e59fb7dbd117b903fef6e90f665a0bdcd172066480346b2b69c2983a74a4a200a4c9d21ad52c2fde031389acb28655de8def07ecc0a50cf9d0516774f59da6845e16bad857d86480330307595f8907468a24257e5f8d0a3d7ab2ac96dfb7d9720864fd4b44c32479e2bb03b236684d06ca48986e7fe6ed6af50785d06d3b1bd963f46dad9e650d6912f77903a627b6eb5e42244da14b03f65023fe3f2624c2ca3b1943a172b1b0d18270b328031fb463df8110cdc4e67d74047d29b287cb3b0f5770486fb60aecad5d76cf137703dcbc2e2fae0d13f5e300236ec1804c399ba9608a1c7ce22f57a769f7b7ee4ec80326584b6c0ee569163479c9463f4a6d025c2b32495d686d77542a9b221596a30f03183900d42fdb421d56f1102b45a69031ae21caf197a1f102d1175ca271f624ad03d17d5701ca40b9e83adfae97c3a3ba0f2650274e57827110ce56fed226eafb1b03d4402fcd711ce4af09dfd4349212eefc3928d695e0f94dfed3be97463f3a4057030a53ebeb4e46495ec8902306624a92c30e4cf525e9effc536ea809b87295b28a0379ac05e697a1b72283d510728b255307e316c87e06b4530f75a649c237ca576c03935557162b9689cb5a134df1dcaf2b4d672dd01004dd989e652a39bfa43e977d0386646ee9d1647303cfa1e2abe5c4daa758a2ce6ad4921bd1416a24bf86379740036a45a73954e1b9db361c99e1b04912711cbca866eba2a871e276041be49e49200364d38ff610a0f99c06f49aeac8694626881de6601b52a5df52978343c0a7df6103ae6b2be92e22bed7bce3d6853f2e36dc8598236cf3eb722899c846b8c0fc385103c1f7acd742be5f5c1142832e1c8147e9276edc48438fcf378149672ca0c9a9d903d262a7a36ba98975e64deb99dfa457dbfba53e29dbff82301580fe7a771f4dc603481150913ba54ec63ddddf5bbf903d3431b9f91ac7af4d01d5faf2602c268006034a7bd9f7910f50c8d374357cb1bbb946d312929e8e29684e84aef184ca99ecc603a3a5d1e2fa7353592e6042f721b12af632d8a3cba1248b92be814d46b5ac1c8c0304a70441201447581476eb2e384a9b91c42b093d5bdcee68fa16c9d33df5ace5036ae4d62cc45edd6926b9b4e156548a71ffe9289388d678193a2aa8414e76aae8035073c5dfebc898196ae691831448c836f23b50562451ce92d1c31ad7750c273403cf22f37604bc123ca95a778d3ac62e64a8ac65995ce8c3dff35ca7ecf4ae40c903fedffbcb99d095856a351f128c6706e6b9d75797b47d00dd60bcc02262a859f70316b3f966bb5eda9b30c4bba10e3dd021908abc3da94ccd44be2c4ad7e9165da703f74e1b0aa012a5b6abd10a9ead59f0045c50270cb1ebd4e620a120957fb035b005581e0373e91c2b2642a8eb152ae6feac3b66303202658d38c527f9ae521bfcd0040605581e03846f1ca5165a26236cc7a84dfaa7171ac729defed591653f252fb1fd20040103647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03336b40cbaa16811a11ed55eb6f49a99ff96fc9c37515823c7c4d3657de78a24d05581e0382968fdcbc865bf2e70c0f39b4d223dca37af2290796bd1a4fcf7bea0007011bffffffffffffffff04591c476080604052600436106101d3575f3560e01c80638da5cb5b116100fd578063c8c8ebe411610092578063e2f4560511610062578063e2f4560514610533578063f2fde38b14610548578063f8b45b0514610567578063ffb54a991461057c575f80fd5b8063c8c8ebe4146104d5578063cf9522fd146104ea578063dd62ed3e146104ff578063dd8546521461051e575f80fd5b8063a9059cbb116100cd578063a9059cbb14610464578063afa4f3b214610483578063b70143c9146104a2578063bfb368b7146104c1575f80fd5b80638da5cb5b146103f557806395d89b41146104125780639a7a23d614610426578063a457c2d714610445575f80fd5b8063395093511161017357806370a082311161014357806370a0823114610385578063715018a6146103b9578063751039fc146103cd57806389291a8f146103e1575f80fd5b806339509351146102c55780634fbee193146102e4578063583e05681461031b578063667f652614610366575f80fd5b806323b872dd116101ae57806323b872dd14610255578063311028af14610274578063313ce56714610289578063346cc7be146102a4575f80fd5b806306fdde03146101de578063095ea7b31461020857806318160ddd14610237575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b506101f2610595565b6040516101ff919061189c565b60405180910390f35b348015610213575f80fd5b506102276102223660046118e5565b610625565b60405190151581526020016101ff565b348015610242575f80fd5b506002545b6040519081526020016101ff565b348015610260575f80fd5b5061022761026f36600461190f565b61063e565b34801561027f575f80fd5b5061024760095481565b348015610294575f80fd5b50604051601281526020016101ff565b3480156102af575f80fd5b506102c36102be36600461194d565b610661565b005b3480156102d0575f80fd5b506102276102df3660046118e5565b6107af565b3480156102ef575f80fd5b506102276102fe36600461194d565b6001600160a01b03165f9081526010602052604090205460ff1690565b348015610326575f80fd5b5061034e7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016101ff565b348015610371575f80fd5b506102c3610380366004611968565b6107d0565b348015610390575f80fd5b5061024761039f36600461194d565b6001600160a01b03165f9081526020819052604090205490565b3480156103c4575f80fd5b506102c361083a565b3480156103d8575f80fd5b506102c361084d565b3480156103ec575f80fd5b506102c361086a565b348015610400575f80fd5b506005546001600160a01b031661034e565b34801561041d575f80fd5b506101f26108fd565b348015610431575f80fd5b506102c3610440366004611995565b61090c565b348015610450575f80fd5b5061022761045f3660046118e5565b6109a6565b34801561046f575f80fd5b5061022761047e3660046118e5565b610a20565b34801561048e575f80fd5b506102c361049d3660046119cc565b610a2d565b3480156104ad575f80fd5b506102c36104bc3660046119cc565b610a4d565b3480156104cc575f80fd5b506102c3610b20565b3480156104e0575f80fd5b50610247600a5481565b3480156104f5575f80fd5b50610247600f5481565b34801561050a575f80fd5b506102476105193660046119e3565b610b37565b348015610529575f80fd5b50610247600e5481565b34801561053e575f80fd5b50610247600c5481565b348015610553575f80fd5b506102c361056236600461194d565b610b61565b348015610572575f80fd5b50610247600b5481565b348015610587575f80fd5b50600d546102279060ff1681565b6060600380546105a490611a0f565b80601f01602080910402602001604051908101604052809291908181526020018280546105d090611a0f565b801561061b5780601f106105f25761010080835404028352916020019161061b565b820191905f5260205f20905b8154815290600101906020018083116105fe57829003601f168201915b5050505050905090565b5f33610632818585610bd7565b60019150505b92915050565b5f3361064b858285610cfa565b610656858585610d6c565b506001949350505050565b6007546001600160a01b0316336001600160a01b031614610680575f80fd5b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156106c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ea9190611a47565b90505f81116107355760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b60448201526064015b60405180910390fd5b60075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610785573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a99190611a5e565b50505050565b5f336106328185856107c18383610b37565b6107cb9190611a8d565b610bd7565b6107d8611354565b606382111580156107ea575060638111155b61082f5760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642039392560501b604482015260640161072c565b600e91909155600f55565b610842611354565b61084b5f6113ae565b565b610855611354565b5f61085f60025490565b600a819055600b5550565b6007546001600160a01b0316336001600160a01b031614610889575f80fd5b5f47116108d15760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161072c565b60405133904780156108fc02915f818181858888f193505050501580156108fa573d5f803e3d5ffd5b50565b6060600480546105a490611a0f565b610914611354565b6006546001600160a01b03908116908316036109985760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161072c565b6109a282826113ff565b5050565b5f33816109b38286610b37565b905083811015610a135760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161072c565b6106568286868403610bd7565b5f33610632818585610d6c565b610a35611354565b610a4781670de0b6b3a7640000611aa0565b600c5550565b6007546001600160a01b0316336001600160a01b031614610a6c575f80fd5b5f610a7660025490565b305f908152602081905260408120549192506064849003610a98575080610abb565b6064610aa48585611aa0565b610aae9190611ab7565b905081811115610abb5750805b81811115610b175760405162461bcd60e51b8152602060048201526024808201527f5377617020616d6f756e74206578636565647320636f6e74726163742062616c604482015263616e636560e01b606482015260840161072c565b6107a981611452565b610b28611354565b600d805460ff19166001179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610b69611354565b6001600160a01b038116610bce5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072c565b6108fa816113ae565b6001600160a01b038316610c395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072c565b6001600160a01b038216610c9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610d058484610b37565b90505f1981146107a95781811015610d5f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161072c565b6107a98484848403610bd7565b6001600160a01b038316610d925760405162461bcd60e51b815260040161072c90611ad6565b6001600160a01b038216610db85760405162461bcd60e51b815260040161072c90611b1b565b805f03610dcf57610dca83835f61160f565b505050565b6001600160a01b0383165f9081526012602052604081205460ff16158015610e0f57506001600160a01b0383165f9081526012602052604090205460ff16155b9050610e236005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610e5257506005546001600160a01b03848116911614155b8015610e6657506001600160a01b03831615155b8015610e7d57506001600160a01b03831661dead14155b8015610e935750600854600160a01b900460ff16155b1561118357600d5460ff16610f24576001600160a01b0384165f9081526010602052604090205460ff1680610edf57506001600160a01b0383165f9081526010602052604090205460ff165b610f245760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161072c565b6001600160a01b0384165f9081526012602052604090205460ff168015610f6357506001600160a01b0383165f9081526011602052604090205460ff16155b1561104657600a54821115610fd85760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161072c565b600b546001600160a01b0384165f90815260208190526040902054610ffd9084611a8d565b11156110415760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161072c565b611183565b6001600160a01b0383165f9081526012602052604090205460ff16801561108557506001600160a01b0384165f9081526011602052604090205460ff16155b156110fb57600a548211156110415760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161072c565b6001600160a01b0383165f9081526011602052604090205460ff1661118357600b546001600160a01b0384165f9081526020819052604090205461113f9084611a8d565b11156111835760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161072c565b305f908152602081905260408120549081158015906111a0575082155b90508080156111b95750600854600160a01b900460ff16155b80156111dd57506001600160a01b0386165f9081526012602052604090205460ff16155b801561120157506001600160a01b0386165f9081526010602052604090205460ff16155b801561122557506001600160a01b0385165f9081526010602052604090205460ff16155b15611254576008805460ff60a01b1916600160a01b17905561124684611737565b6008805460ff60a01b191690555b6008545f90600160a01b900460ff1615801561126e575083155b6001600160a01b0388165f9081526010602052604090205490915060ff16806112ae57506001600160a01b0386165f9081526010602052604090205460ff165b156112b657505f5b5f811561133f576001600160a01b0387165f9081526012602052604090205460ff1615611304576112fd60646112f7600f548961187f90919063ffffffff16565b90611891565b9050611321565b61131e60646112f7600e548961187f90919063ffffffff16565b90505b80156113325761133288308361160f565b61133c8187611b5e565b95505b61134a88888861160f565b5050505050505050565b6005546001600160a01b0316331461084b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161072c565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061148557611485611b71565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115259190611b85565b8160018151811061153857611538611b71565b60200260200101906001600160a01b031690816001600160a01b031681525050611583307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610bd7565b60085460405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169263791ac947926115de9287925f92889291909116904290600401611ba0565b5f604051808303815f87803b1580156115f5575f80fd5b505af1158015611607573d5f803e3d5ffd5b505050505050565b6001600160a01b0383166116355760405162461bcd60e51b815260040161072c90611ad6565b6001600160a01b03821661165b5760405162461bcd60e51b815260040161072c90611b1b565b6001600160a01b0383165f90815260208190526040902054818110156116d25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161072c565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36107a9565b305f908152602081905260408120549081810361175357505050565b600f54600e546117639190611a8d565b5f036117cc575f821180156117795750600c5482105b15611785575080611876565b5f6117a060646112f7600f548761187f90919063ffffffff16565b90506117ac8185611b5e565b9350600c548411156117c257600c5491506117c6565b8391505b50611876565b5f821180156117e75750600c546117e4906005611891565b82105b156117f157505050565b5f8211801561180c5750600c54611809906005611891565b82115b80156118195750600c5482105b1561183357600c5461182c906005611891565b9050611876565b5f61184e60646112f7600f548761187f90919063ffffffff16565b905061185a8185611b5e565b9350600c5484111561187057600c549150611874565b8391505b505b610dca81611452565b5f61188a8284611aa0565b9392505050565b5f61188a8284611ab7565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146108fa575f80fd5b5f80604083850312156118f6575f80fd5b8235611901816118d1565b946020939093013593505050565b5f805f60608486031215611921575f80fd5b833561192c816118d1565b9250602084013561193c816118d1565b929592945050506040919091013590565b5f6020828403121561195d575f80fd5b813561188a816118d1565b5f8060408385031215611979575f80fd5b50508035926020909101359150565b80151581146108fa575f80fd5b5f80604083850312156119a6575f80fd5b82356119b1816118d1565b915060208301356119c181611988565b809150509250929050565b5f602082840312156119dc575f80fd5b5035919050565b5f80604083850312156119f4575f80fd5b82356119ff816118d1565b915060208301356119c1816118d1565b600181811c90821680611a2357607f821691505b602082108103611a4157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611a57575f80fd5b5051919050565b5f60208284031215611a6e575f80fd5b815161188a81611988565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561063857610638611a79565b808202811582820484141761063857610638611a79565b5f82611ad157634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561063857610638611a79565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b95575f80fd5b815161188a816118d1565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611bf05784516001600160a01b031683529383019391830191600101611bcb565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201a982aa07f60f5869d5236ec4ed1fc30dcfeec8732c6a906730a45b6acec6f5564736f6c63430008190033035eede92018ca580a0a0390a13f06d0a285a48eb12a65405398ff35fda980ef9c03bbdd0187735657a579ac97e986de4bfe5a22df2efbe014bd26f0d088abde34da0317dec85922a74b7c16d0d5c6ea666b2e48f43b6db0401167d896e07a0545222903d55263432e67308e3bf18800a7f95f22dd877984d3a365a0b1f0b66302a569480345d8448166166b3d65e78268d99563a3055920d7b4aa4908d97b26263ee3e238037351cf160bacdd4702b461e36b63577548a1451e8c470c2d87150a5a9f1e4d76036227d018e79ccb48433d87d268af4558c85022c9f03544d7242dc3ddd03846e403561ca5c2a574eea59d426bb6610f1b4b4b864f41d8d3e65c01981b4d8d9ac53c03aa316d5fcceddf5ea52ac05c23828dd418889650b952fe9bafa59e9faf958b570355a9f57deaf1bddf70a1dec97f5ceccd3c4c3a7f9a2f94daf10dd07d5cbcad8503fbff35af47eb84a81592cf3df1b4f128f2b4599b5543af47bb828a4395fc7ee403203e7f7a4ce58fd01b2fc87ae43d25a09b0a7b1b7dbf75d47223ca8f7fb153c5032a487a3207c73e5fac54099291ddab3bc22cdb7dede4ea2612bfc9957c47be01031dbfd16695812638a8fa3c22f977842d9a8826d0a058ddf0b27129ded64620810397ea1f8f66a0efbe08106c4c49cd021742e4043fe8137e349acc67f4ee58ecde03ecb5d110dfee91da74ea2d90a8ff62e4ef26691f633cf91ae0151b1fb6115da100582003b0b2d12cfe7d1f3f4e94af4188371b48bbd4f41265f8d1a2172099929eebe04c01360f73252f105ca934756a005820035f0060df596570ba6089e76aa7a2ba1619f9fa56fb08b55e3936a542508db04b2f29fd7bac7003fc63365800582003ab99399b53aabb9a925a6f05c46a299c36f3c9221dc69c24f0fec759123d705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003479610f834ca1042fafee36176eb21f1a7543f40776b3da422c62307448b905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219049803f24e6a61b0f26415ce3558c843f346e68dee7d5ea1f60899ca4327d1a07798cd03dfe06225352a1e3afdedcdbfcbb05b681e05dd9e5f0089750052b8986dcf5e8d03795afe816e9dfb49aadc12dda319db1de081709cdc100752a67ee4ef36c60b6403cfb000594239cc064db1765e1e1a61519941f6dded01b876e65a2bf588ac002a036daf9c83fc4ad4b8823566b3b0202ecf0a1271a5a8d02e98020f6fe9b484c17d03b92756c1c2b24d92437783525255611e39542c102cf55d90dcba631281c74eac03294de690c9c48afa7e23bbf89f8e26b2220844daa0a92406ac8e2ea60ac7fe2403f2dbf0fda34c9de83c4829177a7538d4b6b732a8ad453098a1d32700e93e81b3038bb5a0ef0996700bfb24af0c475d95d19c6103c66eba6e1b6ffeb76541eb39b403a7919da835ed18faacc6a215b4d725b9cd68ff6cebe4e7e58041c5e94bf28d5a0359794b7324231421c461c8106f28118d33c8d8eeddd041d852d1971152758918039951c60640e9bf8476c75aacb56dacf54041e9dc08902fed85077105c5e30b8f03de41d834b6b9bead3562561ab90a53826866bcefe6cb59de606433ea09c9fb8503b2207fd0002be2a18eb594e33bd3ab2950163240bf3a9369fc67b28db368724f0219ffff0219ffff05581e0381071f95158fe38adcd3f32d657cfaf8a7bdc113c484eb6f83cf9219a00f01471d64ab69944640191c4705581e03f3b59a5471b80b10634a1bf04e92d52922c2c76ce9a9eeff0f9846f0f0040105581e03c85fc0bb34ba36adb1e83b05ec2753d5c94c48851f0a5da3c50f9c2e300c01463ff557cacd3003941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03cfb9eff8c5ae9038eeb285f4c65bf81c523f7d75fe6736c88a6dd849a007011bffffffffffffffff05581e03ca8f4940333cc42310a1a64aaaa99cab23f616e615ff0a40d62d0e11a0040102191cb903d424bb3e7713c544cdc0d14a60140a9c4138edd79fc9ce0cbfb7c805ed240fa103bf2a586de40b6cf1823af16dc49ca4e6fd19404bb7242c7cff7ab7ba2634ab0a03515a1cd167771321dd06c29b619b0360014051e68c9e3a566f0f76b24f8fbe5e0397343f026338b3107561409efba8ec5c70ef7bf964d5482da040b04d13e66fe8032222679a39b11b08e34c160317cbafd7f73f2dbd7fc9fd432a883532448b92fe03cc777a6b0dbb0a27e77504bc27a68a8da313488345ced7ea9cc91a647701562803c6ebb236c4c03405f88ef424b29d9ca3f0f0e79e84d00faa0c60d5c13d263dcf03ce28aa1bc0c1194aa9fdcc62854781ede73b5aa30a4df3e03988db7ea76f836e03b8c6fe7f03e687dfa8d2651f3ce625794b55d228dccb3c7f2bdc6c354a61c1d803e624913ace6e2be6827ea158fe5252493465ec90d5f354d8764f430d9b2e73810219ffff03d7b3da15ef3101e9aa5bddc76597905b582fb18bb11b4d267e8193061eddc56a0313d6943b3cd3e97045980081b46c068cd486e3cdc2d0eaf351b8677ee84d88a00324709b3f183f8381ea964e17967796ffdccbdda9a17dd8e03912333bdfde21c0031108fce3dac828b268fceb1bcf7a8ad669ee70e9b4a4a543fe5fe8782fac3b060219ffff03a2f0828ba2acd6a9e1d3f00e78b6825e2d137bbedc4fa1eb4f782a27f5aba7120219ffff0321915285d7eb05c495335e2f22113b0944d113089be1dc98b546324b9a54649f037dd169eb032e41163f994e45e8006868add0c22f7695ce024b7828daf988a54103abd08857e315aec7119bec68b80ab8d45aff576a3b8f7316b99d3247a641ff1f03eb2b71a25ec16f2a15209eb6ba91f660bfbc498767f8ae7b166978c0aea2366c036b23f7ba648952dc9dfa3d89a7666a8a5552d47afeae64ef4d052afc18ab91aa0398d5731efc6019ca429342728fbebdae458229d393a6b6c4417d2e80c66d2e3203c9af4396a7be22e08438fc0a9572cc8009847b2c6898725f212cc3b22013502f03ccfb1e925172c0f4d07d11b596a55120ee2456c9fb542406089495d673978a940350f98c7aa1394bb46b681f26c1a20dd05fcd5a2e62e68fc6174a3436343da98a03c8d69f5f714aa805e0a6984acd4a79b91e10c30fac3121b51b0b9b416c25cea8036861df40846887e96252013415a2f54d48cdb4ae6f12cea1efd80922cea847da036ebf8d55e62ed7b7e28c48bccfa6749e6be46504a1c6c70fed24597fe9d89ec70387834dfc1de783b3e4c7f966dd63ab0dea0e7c8de464ccd3a9f24ffffa525db4039201ab14e632c65ea4305815c8dfdaebeec7baa4fe27410263c128537786990d033e9b65fceef770e903ebb1a72d92602dcc66b48db2b5d09278bf1e5259ce18e40318cd34a9819b2b156f6e3d392e35dbc24c19a178d1dec1ff20bac943d547001105581e03ebe61a8f10f0dfeda45567c1a00fb9e6863b1b471e705a8914cd2776900c01472ddd40a3cf49c003b58037bf105e90f28dbe4dcc8f9ee3d6ad0231b19a12e85057f6b247754c0e0103e5c3e1150d73c40d0d1b7b41c3a567bf304463c4cb45a1fe8b2f1b0fbe8dd73605581e03dccde7c9fc4feaa4576cda1aaa28c31b79437246adc26035c193a137300c1826473143846cc4c56f03f7f0abd86483e7191e66d94ef4a6d87fcef06ced52785929bf17dc3b6624f2d603e4219b468bc2aebd57aa05b431706f4fd61e81ded46bfacf0f7376582681224805581e03da505ef36cbb1b0d6270071591e61db94bc4760917f4630187140a117007011bffffffffffffffff032b1985c411eebc52ef278393dacf13fe9803fd17729ba24122d11fd320d4ebc90370b67af7a3189832b641e2f84793ffc02cb1a079f5e4e4e262c940ce485912f904595dde6080604052600436106100dd5760003560e01c806377725df61161007f5780639a2967d2116100595780639a2967d214610217578063ca35159a14610237578063dab400f31461024a578063f35b47331461025f576100dd565b806377725df6146101b55780637a1eb1b9146101d55780638fd3ab80146101f5576100dd565b806343475db9116100bb57806343475db9146101405780635161b9661461016057806359517361146101735780636ae4b4f714610193576100dd565b8063031b905c146100e25780630f3b31b21461010d5780632450eb0f1461012d575b600080fd5b3480156100ee57600080fd5b506100f7610272565b6040516101049190614e4f565b60405180910390f35b34801561011957600080fd5b506100f76101283660046142cf565b610296565b6100f761013b3660046146cd565b6102dc565b34801561014c57600080fd5b506100f761015b36600461476b565b610525565b6100f761016e366004614265565b610552565b34801561017f57600080fd5b506100f761018e366004614842565b6106b1565b34801561019f57600080fd5b506101a86106d0565b6040516101049190615022565b3480156101c157600080fd5b506100f76101d0366004614614565b610709565b3480156101e157600080fd5b506100f76101f036600461465b565b610832565b34801561020157600080fd5b5061020a610895565b6040516101049190614e8e565b34801561022357600080fd5b506100f76102323660046142cf565b610a04565b6100f76102453660046146cd565b610ad9565b34801561025657600080fd5b506100f7610e52565b6100f761026d3660046145ce565b610e76565b7f000000000000000000000000000000000000000000000002000000000000000081565b6040805160c08101825285815260208101849052908101849052600060608201819052336080830181905260a0830152906102d19083610fb0565b90505b949350505050565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c8c10815be32536685d12ce8305425163f0c6897161415610357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615514565b60405180910390fd5b6060600061036785870187614340565b9150915060028251101580156103c8575061038560208801886140a3565b73ffffffffffffffffffffffffffffffffffffffff16826000815181106103a857fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b801561042557506103df60408801602089016140a3565b73ffffffffffffffffffffffffffffffffffffffff168260018451038151811061040557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b61045b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615343565b60006104908360008151811061046d57fe5b60200260200101518460018151811061048257fe5b602002602001015184611171565b90506104a260a0890160808a016145b2565b156104cb576104c6836000815181106104b757fe5b602002602001015182876112d9565b6104fd565b6104fd836000815181106104db57fe5b60200260200101518960c00160208101906104f691906140a3565b83886113bb565b6105198386848461051460c08e0160a08f016140a3565b6114ba565b98975050505050505050565b600033301461053f5761053f61053a33611640565b6116f9565b6105498383611701565b90505b92915050565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168460008151811061059857fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16146105ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e906153fd565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561065557600080fd5b505af1158015610669573d6000803e3d6000fd5b50506040805160c08101825288815234602082015290810187905260016060820152336080820181905260a08201526106a793509150849050610fb0565b90505b9392505050565b60003330146106c6576106c661053a33611640565b6105498383610fb0565b6040518060400160405280601081526020017f4d756c7469706c6578466561747572650000000000000000000000000000000081525081565b6040805160e08101825273ffffffffffffffffffffffffffffffffffffffff80871682527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2166020820152908101839052606081018490526000608082018190523060a08301523360c0830152906107819083611701565b6040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21690632e1a7d4d906107f6908490600401614e4f565b600060405180830381600087803b15801561081057600080fd5b505af1158015610824573d6000803e3d6000fd5b505050506102d43382611846565b6040805160e08101825273ffffffffffffffffffffffffffffffffffffffff808816825286166020820152908101839052606081018490526000608082018190523360a0830181905260c08301529061088b9083611701565b9695505050505050565b60006108c07ff35b4733000000000000000000000000000000000000000000000000000000006118f5565b6108e97f77725df6000000000000000000000000000000000000000000000000000000006118f5565b6109127f7a1eb1b9000000000000000000000000000000000000000000000000000000006118f5565b61093b7f43475db9000000000000000000000000000000000000000000000000000000006118f5565b6109647f5161b966000000000000000000000000000000000000000000000000000000006118f5565b61098d7f9a2967d2000000000000000000000000000000000000000000000000000000006118f5565b6109b67f0f3b31b2000000000000000000000000000000000000000000000000000000006118f5565b6109df7f59517361000000000000000000000000000000000000000000000000000000006118f5565b507f2c64c5ef0000000000000000000000000000000000000000000000000000000090565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1685600187510381518110610a4d57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614610aa2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615731565b6040805160c08101825286815260208101859052908101859052600060608201523060808201523360a08201526107819083610fb0565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c8c10815be32536685d12ce8305425163f0c6897161415610b4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615651565b60006060610b5b858701876140bf565b9092509050610b7060a08801608089016145b2565b15610b9157610b8c610b8560208901896140a3565b83866112d9565b610bb8565b610bb8610ba160208901896140a3565b610bb160e08a0160c08b016140a3565b84876113bb565b6000610bca6040890160208a016140a3565b73ffffffffffffffffffffffffffffffffffffffff166370a08231610bf560c08b0160a08c016140a3565b6040518263ffffffff1660e01b8152600401610c119190614de7565b60206040518083038186803b158015610c2957600080fd5b505afa158015610c3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c619190614b43565b905073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000407b4128e9ecad8769b2332312a9f655cb9f5f3a1663bb503e2184610cad60208c018c6140a3565b610cbd60408d0160208e016140a3565b610ccd60c08e0160a08f016140a3565b6000886040518763ffffffff1660e01b8152600401610cf196959493929190614f9b565b600060405180830381600087803b158015610d0b57600080fd5b505af1158015610d1f573d6000803e3d6000fd5b50505050610dd781896020016020810190610d3a91906140a3565b73ffffffffffffffffffffffffffffffffffffffff166370a08231610d6560c08d0160a08e016140a3565b6040518263ffffffff1660e01b8152600401610d819190614de7565b60206040518083038186803b158015610d9957600080fd5b505afa158015610dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd19190614b43565b90611988565b93507f40a6ba9513d09e3488135e0e0d10e2d4382b792720155b144cbea89ac9db6d34610e0760208a018a6140a3565b610e1760408b0160208c016140a3565b8787878d60a0016020810190610e2d91906140a3565b604051610e3f96959493929190614e08565b60405180910390a1505050949350505050565b7ffe3a8808ff7909b8c36164e6e9a076597c21c3fc2ec6f2c8ac04529c41ce507e81565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610ee057600080fd5b505af1158015610ef4573d6000803e3d6000fd5b50505050506106a76040518060e001604052807f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681526020013481526020018581526020016001151581526020013373ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff1681525083611701565b60408201515182515160009160010114610ff6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615263565b82518051600091907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061102a57fe5b6020026020010151905060008173ffffffffffffffffffffffffffffffffffffffff166370a0823186608001516040518263ffffffff1660e01b81526004016110739190614de7565b60206040518083038186803b15801561108b57600080fd5b505afa15801561109f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110c39190614b43565b90506110cd613a64565b6110d6866119a7565b9050600061111b838573ffffffffffffffffffffffffffffffffffffffff166370a082318a608001516040518263ffffffff1660e01b8152600401610d819190614de7565b905061112b818360000151611c38565b945085851015611167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e906155f4565b5050505092915050565b60008060008473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16106111b05784866111b3565b85855b91509150831561125c577f000000000000000000000000c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac82826040516020016111f1929190614cf5565b604051602081830303815290604052805190602001207fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c630360405160200161123a93929190614d81565b6040516020818303038152906040528051906020012060001c925050506106aa565b7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8282604051602001611290929190614cf5565b604051602081830303815290604052805190602001207f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f60405160200161123a93929190614d81565b73ffffffffffffffffffffffffffffffffffffffff8316301415611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e906156d4565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152816024820152602081604483600073ffffffffffffffffffffffffffffffffffffffff89165af13d600183511460208210151681151782169150816113b357806000843e8083fd5b505050505050565b73ffffffffffffffffffffffffffffffffffffffff841630141561140b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e906156d4565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff83166024820152816044820152602081606483600073ffffffffffffffffffffffffffffffffffffffff8a165af13d600183511460208210151681151782169150816114b157806000843e8083fd5b50505050505050565b6000805b6001875103811015611636576000808883815181106114d957fe5b60200260200101518984600101815181106114f057fe5b6020026020010151915091506115088683838b611c4e565b93506000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16106115485785600061154c565b6000865b91509150600060028c510386106115635787611584565b611584848d886002018151811061157657fe5b60200260200101518c611171565b604080516000815260208101918290527f022c0d9f0000000000000000000000000000000000000000000000000000000090915290915073ffffffffffffffffffffffffffffffffffffffff8a169063022c0d9f906115ec9086908690869060248101615c34565b600060405180830381600087803b15801561160657600080fd5b505af115801561161a573d6000803e3d6000fd5b50505050809850869a50505050505080806001019150506114be565b5095945050505050565b60607ff0ec779b0bcda6d84abf99ee2c67647d1100ebbb553a9c2d1c2ba1579592832c826040516024016116749190614de7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290505b919050565b805160208201fd5b600080836020015173ffffffffffffffffffffffffffffffffffffffff166370a082318560a001516040518263ffffffff1660e01b81526004016117459190614de7565b60206040518083038186803b15801561175d57600080fd5b505afa158015611771573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117959190614b43565b905061179f613ab8565b6117a885611e0c565b905060006117f183876020015173ffffffffffffffffffffffffffffffffffffffff166370a082318960a001516040518263ffffffff1660e01b8152600401610d819190614de7565b9050611801818360200151611c38565b93508484101561183d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e906150ef565b50505092915050565b80156118f15760008273ffffffffffffffffffffffffffffffffffffffff168260405161187290614de4565b60006040518083038185875af1925050503d80600081146118af576040519150601f19603f3d011682016040523d82523d6000602084013e6118b4565b606091505b50509050806118ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e906153a0565b505b5050565b6040517f6eb224cb0000000000000000000000000000000000000000000000000000000081523090636eb224cb906119539084907f000000000000000000000000c8c10815be32536685d12ce8305425163f0c689790600401614ebb565b600060405180830381600087803b15801561196d57600080fd5b505af1158015611981573d6000803e3d6000fd5b5050505050565b6000828211156119a1576119a161053a60028585611ff4565b50900390565b6119af613a64565b602082015181526119c1826000612099565b73ffffffffffffffffffffffffffffffffffffffff1660208201526060820151158015611a2257508160a0015173ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff1614155b15611a5757611a578260000151600081518110611a3b57fe5b60200260200101518360a00151836020015185602001516113bb565b81606001518015611a825750602081015173ffffffffffffffffffffffffffffffffffffffff163014155b15611ab257611ab28260000151600081518110611a9b57fe5b6020026020010151826020015184602001516112d9565b600060608201525b8160400151518160600151146116f457611ad2613ad2565b8260400151826060015181518110611ae657fe5b60200260200101519050611b01838360600151600101612099565b73ffffffffffffffffffffffffffffffffffffffff166040830152600381516008811115611b2b57fe5b1415611b4557611b4082848360200151612274565b611c07565b600481516008811115611b5457fe5b1415611b6957611b40828483602001516123bd565b600581516008811115611b7857fe5b1415611b8d57611b4082848360200151612679565b600781516008811115611b9c57fe5b1415611bb157611b40828483602001516128b7565b600281516008811115611bc057fe5b1415611bd557611b40828483602001516129b1565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615894565b50604081015173ffffffffffffffffffffffffffffffffffffffff1660208201526060810180516001019052611aba565b6000818310611c475781610549565b5090919050565b6000808211611c89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e9061578e565b6000808673ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015611cd257600080fd5b505afa158015611ce6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d0a9190614ac1565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150600082118015611d3f5750600081115b611d75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615811565b6000808673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1610611db2578284611db5565b83835b90925090506000611dc8876103e5612b83565b90506000611dd68284612b83565b90506000611df083611dea876103e8612b83565b90612bb4565b9050808281611dfb57fe5b049c9b505050505050505050505050565b611e14613ab8565b60005b8260600151518114611fb5576040830151825110611e3457611fb5565b611e3c613aea565b83606001518281518110611e4c57fe5b602002602001015190506000611e6f826020015186604001518660000151612bd0565b9050600182516008811115611e8057fe5b1415611e9b57611e968486846040015184612c62565b611fab565b600282516008811115611eaa57fe5b1415611ec057611e968486846040015184612eb9565b600382516008811115611ecf57fe5b1415611ee557611e968486846040015184613100565b600482516008811115611ef457fe5b1415611f0a57611e968486846040015184613270565b600582516008811115611f1957fe5b1415611f2f57611e9684868460400151846134c5565b600682516008811115611f3e57fe5b1415611f5457611e96848684604001518461351d565b600882516008811115611f6357fe5b1415611f7957611e968486846040015184613675565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615035565b5050600101611e17565b5060408201518151146116f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615092565b606063e946c1bb60e01b84848460405160240161201393929190614fea565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b60008260400151518214156120b357506080820151612227565b6120bb613ad2565b836040015183815181106120cb57fe5b60200260200101519050600360088111156120e257fe5b815160088111156120ef57fe5b1415612151576060600082602001518060200190518101906121119190614390565b915091506121488260008151811061212557fe5b60200260200101518360018151811061213a57fe5b602002602001015183611171565b93505050612225565b60058151600881111561216057fe5b141561218657806020015180602001905181019061217e919061410d565b509150612225565b60048151600881111561219557fe5b14806121ad57506007815160088111156121ab57fe5b145b806121c457506002815160088111156121c257fe5b145b156121f357821580156121d957508360600151155b156121ea578360a0015191506121ee565b3091505b612225565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615206565b505b73ffffffffffffffffffffffffffffffffffffffff811661054c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e906154b7565b606060008280602001905181019061228c9190614390565b9150915060028251101580156122f9575083516060860151815181106122ae57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16826000815181106122d957fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b80156123655750836000015185606001516001018151811061231757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff168260018451038151811061234557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b61239b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e906151a9565b6123b482866000015183886020015189604001516114ba565b90945250505050565b600060603073ffffffffffffffffffffffffffffffffffffffff16856020015173ffffffffffffffffffffffffffffffffffffffff16141561250f578451604080870151905130927f4a931ba1000000000000000000000000000000000000000000000000000000009261243992889291600091602401614f03565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516124c29190614d2f565b6000604051808303816000865af19150503d80600081146124ff576040519150601f19603f3d011682016040523d82523d6000602084013e612504565b606091505b509092509050612626565b845160408087015160a0870151915130937f168a6432000000000000000000000000000000000000000000000000000000009361255493899360009290602401614f4b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516125dd9190614d2f565b6000604051808303816000865af19150503d806000811461261a576040519150601f19603f3d011682016040523d82523d6000602084013e61261f565b606091505b5090925090505b811561264757808060200190518101906126409190614b43565b8552611981565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e906152e6565b6000826000015184606001518151811061268f57fe5b60200260200101519050600083600001518560600151600101815181106126b257fe5b6020026020010151905060006060848060200190518101906126d4919061410d565b9150915060008373ffffffffffffffffffffffffffffffffffffffff166370a0823189604001516040518263ffffffff1660e01b81526004016127179190614de7565b60206040518083038186803b15801561272f57600080fd5b505afa158015612743573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127679190614b43565b90507f000000000000000000000000407b4128e9ecad8769b2332312a9f655cb9f5f3a73ffffffffffffffffffffffffffffffffffffffff1663bb503e218487878c604001516000886040518763ffffffff1660e01b81526004016127d196959493929190614f9b565b600060405180830381600087803b1580156127eb57600080fd5b505af11580156127ff573d6000803e3d6000fd5b505089516040808c015190517f70a082310000000000000000000000000000000000000000000000000000000081529193506128639250849173ffffffffffffffffffffffffffffffffffffffff8916916370a0823191610d819190600401614de7565b808a526040808b015190517f40a6ba9513d09e3488135e0e0d10e2d4382b792720155b144cbea89ac9db6d34926128a4928a928a92879290918b9190614e08565b60405180910390a1505050505050505050565b6128bf613b0c565b818060200190518101906128d391906143d5565b606080830191909152835190850151815181106128ec57fe5b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff168152825160608501518151600190910190811061292657fe5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff1690820152835160408201526060840151151580612966575082606001515b15156080820152604084015173ffffffffffffffffffffffffffffffffffffffff90811660a0808401919091528401511660c08201526129a581611e0c565b60200151909352505050565b6129b9613b47565b6129c1613b8b565b828060200190518101906129d59190614918565b9150915083600001518560600151815181106129ed57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff16148015612a8057508360000151856060015160010181518110612a4557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16145b612ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e9061545a565b6000803073ffffffffffffffffffffffffffffffffffffffff1663e4ba84398585612ae48b600001516136f8565b8b602001518b606001518d604001516040518763ffffffff1660e01b8152600401612b14969594939291906159a6565b6040805180830381600087803b158015612b2d57600080fd5b505af1158015612b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b659190614b15565b6fffffffffffffffffffffffffffffffff1690975250505050505050565b600082612b925750600061054c565b82820282848281612b9f57fe5b04146105495761054961053a60018686611ff4565b6000828201838110156105495761054961053a60008686611ff4565b60007f80000000000000000000000000000000000000000000000000000000000000008085161415612c5457612c4d670de0b6b3a7640000612c347f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff871682611c38565b850281612c3d57fe5b04612c488585611988565b611c38565b90506106aa565b612c4d84612c488585611988565b612c6a613bb4565b612c72613b8b565b83806020019051810190612c8691906149e2565b915091504267ffffffffffffffff1682610100015167ffffffffffffffff1611612d0b576000612cbd612cb884613724565b61385b565b90507fd9ee00a67daf7d99c37893015dc900862c9a02650ef2d318697e502e5fb8bbe2818460800151856101000151604051612cfb93929190614e58565b60405180910390a1505050612eb3565b846000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff16148015612d815750846020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16145b612db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e90615597565b3063aa6b21cd8383612dc8876136f8565b8960c001518a608001518b60a001516040518763ffffffff1660e01b8152600401612df896959493929190615a9a565b6040805180830381600087803b158015612e1157600080fd5b505af1925050508015612e5f575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252612e5c91810190614b15565b60015b612e68576113b3565b8751612e86906fffffffffffffffffffffffffffffffff8416612bb4565b88526020880151612ea9906fffffffffffffffffffffffffffffffff8316612bb4565b6020890152505050505b50505050565b612ec1613b47565b612ec9613b8b565b83806020019051810190612edd9190614918565b91509150846000015173ffffffffffffffffffffffffffffffffffffffff16826020015173ffffffffffffffffffffffffffffffffffffffff16148015612f575750846020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16145b612f8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034e9061514c565b60e082015160c01c67ffffffffffffffff42168111612ffe576000612fb4612cb8856138ad565b90507f5574c085411e1dce1414a21a43f286a7bc07de97b0aa6b9143fd5dca66faa58381856080015184604051612fed93929190614e58565b60405180910390a150505050612eb3565b3063e4ba8439848461300f886136f8565b8a60c001518b608001518c60a001516040518763ffffffff1660e01b815260040161303f969594939291906159a6565b6040805180830381600087803b15801561305857600080fd5b505af19250505080156130a6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526130a391810190614b15565b60015b6130af576114b1565b88516130cd906fffffffffffffffffffffffffffffffff8416612bb4565b895260208901516130f0906fffffffffffffffffffffffffffffffff8316612bb4565b60208a0152505050505050505050565b600060607f000000000000000000000000c8c10815be32536685d12ce8305425163f0c689773ffffffffffffffffffffffffffffffffffffffff16632450eb0f60e01b868686604051602401613158939291906158f1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516131e19190614d2f565b600060405180830381855af49150503d806000811461321c576040519150601f19603f3d011682016040523d82523d6000602084013e613221565b606091505b509150915081156113b3576000818060200190518101906132429190614b43565b87519091506132519085612bb4565b875260208701516132629082612bb4565b602088015250505050505050565b600060608460800151156133935760a085015160405130917f4a931ba100000000000000000000000000000000000000000000000000000000916132bd9188918891600091602401614f03565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516133469190614d2f565b6000604051808303816000865af19150503d8060008114613383576040519150601f19603f3d011682016040523d82523d6000602084013e613388565b606091505b5090925090506134a9565b60a085015160c086015160405130927f168a643200000000000000000000000000000000000000000000000000000000926133d79289928992600092602401614f4b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516134609190614d2f565b6000604051808303816000865af19150503d806000811461349d576040519150601f19603f3d011682016040523d82523d6000602084013e6134a2565b606091505b5090925090505b81156113b3576000818060200190518101906132429190614b43565b600060607f000000000000000000000000c8c10815be32536685d12ce8305425163f0c689773ffffffffffffffffffffffffffffffffffffffff1663ca35159a60e01b868686604051602401613158939291906158f1565b613525613c08565b60c08085015173ffffffffffffffffffffffffffffffffffffffff908116835285518116602080850191909152808701518216604085015260608401859052600060808086019190915287015115159284019290925260a08601511660e083015283516135999190850181019085016144d0565b60a08201526040517f8aa6539b0000000000000000000000000000000000000000000000000000000081523090638aa6539b906135da908490600401615b90565b602060405180830381600087803b1580156135f457600080fd5b505af1925050508015613642575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261363f91810190614b43565b60015b61364b57611981565b85516136579084612bb4565b865260208601516136689082612bb4565b6020870152505050505050565b61367d613c4b565b828060200190518101906136919190614152565b60408301528152602081018290526080808501511515606083015260a08086015173ffffffffffffffffffffffffffffffffffffffff9081169284019290925260c08601519091169082015260006136e8826119a7565b5186519091506136579084612bb4565b60006fffffffffffffffffffffffffffffffff8211156137205761372061053a6003846139c2565b5090565b60006040517fe593d3fdfa8b60e5e17a1b2204662ecbe15c23f2084b9ad5bae40359540a7da98152825173ffffffffffffffffffffffffffffffffffffffff166020820152602083015173ffffffffffffffffffffffffffffffffffffffff16604082015260408301516fffffffffffffffffffffffffffffffff16606082015260608301516fffffffffffffffffffffffffffffffff166080820152608083015173ffffffffffffffffffffffffffffffffffffffff1660a082015260a083015173ffffffffffffffffffffffffffffffffffffffff1660c082015260c083015173ffffffffffffffffffffffffffffffffffffffff1660e082015260e083015161010082015261010083015167ffffffffffffffff166101208201526101208301516101408201526101608120915050919050565b60007ffe3a8808ff7909b8c36164e6e9a076597c21c3fc2ec6f2c8ac04529c41ce507e82604051602001613890929190614d4b565b604051602081830303815290604052805190602001209050919050565b60006040517f2f754524de756ae72459efbe1ec88c19a745639821de528ac3fb88f9e65e35c88152825173ffffffffffffffffffffffffffffffffffffffff166020820152602083015173ffffffffffffffffffffffffffffffffffffffff16604082015260408301516fffffffffffffffffffffffffffffffff16606082015260608301516fffffffffffffffffffffffffffffffff166080820152608083015173ffffffffffffffffffffffffffffffffffffffff1660a082015260a083015173ffffffffffffffffffffffffffffffffffffffff1660c082015260c083015173ffffffffffffffffffffffffffffffffffffffff1660e082015260e08301516101008201526101208120915050919050565b606063c996af7b60e01b83836040516024016139df92919061500b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b604051806080016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b604051806040016040528060008152602001600081525090565b60408051808201909152600081526060602082015290565b6040805160608101909152806000815260200160008152602001606081525090565b6040805160e0810182526000808252602082018190529181018290526060808201526080810182905260a0810182905260c081019190915290565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915290565b604080516080810190915280600081526000602082018190526040820181905260609091015290565b6040805161014081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081019190915290565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a082015260c0810182905260e081019190915290565b6040518060c00160405280606081526020016000815260200160608152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b803561054c81615d31565b805161054c81615d31565b600082601f830112613cd5578081fd5b8135613ce8613ce382615c96565b615c6f565b818152915060208083019084810181840286018201871015613d0957600080fd5b60005b84811015613d31578135613d1f81615d31565b84529282019290820190600101613d0c565b505050505092915050565b600082601f830112613d4c578081fd5b8151613d5a613ce382615c96565b818152915060208083019084810181840286018201871015613d7b57600080fd5b60005b84811015613d31578151613d9181615d31565b84529282019290820190600101613d7e565b600082601f830112613db3578081fd5b8135613dc1613ce382615c96565b818152915060208083019084810160005b84811015613d3157813587016060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c03011215613e1157600080fd5b613e1a81615c6f565b613e268b878501613fde565b815260408381013587830152918301359167ffffffffffffffff831115613e4c57600080fd5b613e5a8c8885870101613f43565b90820152865250509282019290820190600101613dd2565b600082601f830112613e82578081fd5b8135613e90613ce382615c96565b818152915060208083019084810160005b84811015613d3157813587016040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838c03011215613ee057600080fd5b613ee981615c6f565b85830135613ef681615d61565b8152908201359067ffffffffffffffff821115613f1257600080fd5b613f208b8784860101613f43565b81870152865250509282019290820190600101613ea1565b803561054c81615d53565b600082601f830112613f53578081fd5b8135613f61613ce382615cb6565b9150808252836020828501011115613f7857600080fd5b8060208401602084013760009082016020015292915050565b600082601f830112613fa1578081fd5b8151613faf613ce382615cb6565b9150808252836020828501011115613fc657600080fd5b613fd7816020840160208601615cf8565b5092915050565b803561054c81615d61565b805161054c81615d61565b600060808284031215614005578081fd5b61400f6080615c6f565b905081516005811061402057600080fd5b8152602082015160ff8116811461403657600080fd5b80602083015250604082015160408201526060820151606082015292915050565b80516fffffffffffffffffffffffffffffffff8116811461054c57600080fd5b805163ffffffff8116811461054c57600080fd5b805167ffffffffffffffff8116811461054c57600080fd5b6000602082840312156140b4578081fd5b813561054981615d31565b600080604083850312156140d1578081fd5b82356140dc81615d31565b9150602083013567ffffffffffffffff8111156140f7578182fd5b61410385828601613f43565b9150509250929050565b6000806040838503121561411f578182fd5b825161412a81615d31565b602084015190925067ffffffffffffffff811115614146578182fd5b61410385828601613f91565b60008060408385031215614164578182fd5b825167ffffffffffffffff8082111561417b578384fd5b61418786838701613d3c565b935060209150818501518181111561419d578384fd5b8501601f810187136141ad578384fd5b80516141bb613ce382615c96565b81815284810190838601875b84811015614254578151860160407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0828f0301121561420457898afd5b61420e6040615c6f565b8982015161421b81615d61565b815260408201518981111561422e578b8cfd5b61423c8f8c83860101613f91565b828c01525085525092870192908701906001016141c7565b50979a909950975050505050505050565b600080600060608486031215614279578081fd5b833567ffffffffffffffff80821115614290578283fd5b61429c87838801613cc5565b945060208601359150808211156142b1578283fd5b506142be86828701613e72565b925050604084013590509250925092565b600080600080608085870312156142e4578182fd5b843567ffffffffffffffff808211156142fb578384fd5b61430788838901613cc5565b9550602087013591508082111561431c578384fd5b5061432987828801613e72565b949794965050505060408301359260600135919050565b60008060408385031215614352578182fd5b823567ffffffffffffffff811115614368578283fd5b61437485828601613cc5565b925050602083013561438581615d53565b809150509250929050565b600080604083850312156143a2578182fd5b825167ffffffffffffffff8111156143b8578283fd5b6143c485828601613d3c565b925050602083015161438581615d53565b600060208083850312156143e7578182fd5b825167ffffffffffffffff808211156143fe578384fd5b818501915085601f830112614411578384fd5b815161441f613ce382615c96565b81815284810190848601875b848110156144c157815187016060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838f03011215614469578a8bfd5b61447281615c6f565b61447e8e8c8501613fe9565b81526040838101518c83015291830151918983111561449b578c8dfd5b6144a98f8d85870101613f91565b9082015286525050928701929087019060010161442b565b50909998505050505050505050565b600060208083850312156144e2578182fd5b825167ffffffffffffffff808211156144f9578384fd5b818501915085601f83011261450c578384fd5b815161451a613ce382615c96565b81815284810190848601875b848110156144c157815187016040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838f03011215614564578a8bfd5b61456d81615c6f565b6145798e8c8501614077565b815290820151908882111561458c578b8cfd5b61459a8e8c84860101613f91565b818c0152865250509287019290870190600101614526565b6000602082840312156145c3578081fd5b813561054981615d53565b6000806000606084860312156145e2578081fd5b83356145ed81615d31565b9250602084013567ffffffffffffffff811115614608578182fd5b6142be86828701613da3565b60008060008060808587031215614629578182fd5b843561463481615d31565b9350602085013567ffffffffffffffff81111561464f578283fd5b61432987828801613da3565b600080600080600060a08688031215614672578283fd5b853561467d81615d31565b9450602086013561468d81615d31565b9350604086013567ffffffffffffffff8111156146a8578384fd5b6146b488828901613da3565b9598949750949560608101359550608001359392505050565b600080600080606085870312156146e2578182fd5b843567ffffffffffffffff808211156146f9578384fd5b9086019060e0828903121561470c578384fd5b90945060208601359080821115614721578384fd5b818701915087601f830112614734578384fd5b813581811115614742578485fd5b886020828501011115614753578485fd5b95986020929092019750949560400135945092505050565b6000806040838503121561477d578182fd5b823567ffffffffffffffff80821115614794578384fd5b9084019060e082870312156147a7578384fd5b6147b160e0615c6f565b6147bb8784613caf565b81526147ca8760208501613caf565b6020820152604083013560408201526060830135828111156147ea578586fd5b6147f688828601613da3565b6060830152506148098760808501613f38565b608082015261481b8760a08501613caf565b60a082015261482d8760c08501613caf565b60c08201529660209590950135955050505050565b60008060408385031215614854578182fd5b823567ffffffffffffffff8082111561486b578384fd5b9084019060c0828703121561487e578384fd5b61488860c0615c6f565b823582811115614896578586fd5b6148a288828601613cc5565b825250602083013560208201526040830135828111156148c0578586fd5b6148cc88828601613e72565b6040830152506148df8760608501613f38565b60608201526148f18760808501613caf565b60808201526149038760a08501613caf565b60a08201529660209590950135955050505050565b60008082840361018081121561492c578283fd5b6101008082121561493b578384fd5b61494481615c6f565b91506149508686613cba565b825261495f8660208701613cba565b60208301526149718660408701614057565b60408301526149838660608701614057565b60608301526149958660808701613cba565b60808301526149a78660a08701613cba565b60a08301526149b98660c08701613cba565b60c083015260e085015160e08301528193506149d786828701613ff4565b925050509250929050565b6000808284036101c08112156149f6578283fd5b61014080821215614a05578384fd5b614a0e81615c6f565b9150614a1a8686613cba565b8252614a298660208701613cba565b6020830152614a3b8660408701614057565b6040830152614a4d8660608701614057565b6060830152614a5f8660808701613cba565b6080830152614a718660a08701613cba565b60a0830152614a838660c08701613cba565b60c083015260e085015160e0830152610100614aa18782880161408b565b81840152506101208086015181840152508193506149d786828701613ff4565b600080600060608486031215614ad5578081fd5b8351614ae081615d6e565b6020850151909350614af181615d6e565b604085015190925063ffffffff81168114614b0a578182fd5b809150509250925092565b60008060408385031215614b27578182fd5b8251614b3281615d8a565b602084015190925061438581615d8a565b600060208284031215614b54578081fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff169052565b6000815180845260208085018081965082840281019150828601855b85811015614be457828403895281516060815160098110614bae57fe5b86528187015187870152604091820151918601819052614bd081870183614c57565b9a87019a9550505090840190600101614b91565b5091979650505050505050565b6000815180845260208085018081965082840281019150828601855b85811015614be45782840389528151805163ffffffff1685528501516040868601819052614c3d81870183614c57565b9a87019a9550505090840190600101614c0d565b15159052565b60008151808452614c6f816020860160208601615cf8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b805160058110614cad57fe5b825260208181015160ff169083015260408082015190830152606090810151910152565b6fffffffffffffffffffffffffffffffff169052565b67ffffffffffffffff169052565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b811682529190921b16601482015260280190565b60008251614d41818460208701615cf8565b9190910192915050565b7f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b7fff00000000000000000000000000000000000000000000000000000000000000815260609390931b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830191909152603582015260550190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff96871681529486166020860152604085019390935260608401919091528316608083015290911660a082015260c00190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff91909116602083015267ffffffffffffffff16604082015260600190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b600060808252614f166080830187614c57565b60208301959095525060ff92909216604083015273ffffffffffffffffffffffffffffffffffffffff16606090910152919050565b600060a08252614f5e60a0830188614c57565b60208301969096525060ff93909316604084015273ffffffffffffffffffffffffffffffffffffffff918216606084015216608090910152919050565b600073ffffffffffffffffffffffffffffffffffffffff80891683528088166020840152808716604084015280861660608401525083608083015260c060a083015261051960c0830184614c57565b60608101614ff785615d24565b938152602081019290925260409091015290565b6040810161501884615d24565b9281526020015290565b6000602082526105496020830184614c57565b60208082526033908201527f4d756c7469706c6578466561747572653a3a5f6578656375746542617463685360408201527f656c6c2f494e56414c49445f53554243414c4c00000000000000000000000000606082015260800190565b60208082526039908201527f4d756c7469706c6578466561747572653a3a5f6578656375746542617463685360408201527f656c6c2f494e434f52524543545f414d4f554e545f534f4c4400000000000000606082015260800190565b60208082526031908201527f4d756c7469706c6578466561747572653a3a5f6d756c7469706c65784261746360408201527f6853656c6c2f554e444552424f55474854000000000000000000000000000000606082015260800190565b60208082526039908201527f4d756c7469706c65784f74633a3a5f626174636853656c6c4f74634f7264657260408201527f2f4f54435f4f524445525f494e56414c49445f544f4b454e5300000000000000606082015260800190565b60208082526039908201527f4d756c7469706c6578556e697377617056323a3a5f6d756c7469486f7053656c60408201527f6c556e697377617056322f494e56414c49445f544f4b454e5300000000000000606082015260800190565b60208082526033908201527f4d756c7469706c6578466561747572653a3a5f636f6d70757465486f7054617260408201527f6765742f494e56414c49445f53554243414c4c00000000000000000000000000606082015260800190565b60208082526041908201527f4d756c7469706c6578466561747572653a3a5f6d756c7469706c65784d756c7460408201527f69486f7053656c6c2f4d49534d4154434845445f41525241595f4c454e47544860608201527f5300000000000000000000000000000000000000000000000000000000000000608082015260a00190565b60208082526036908201527f4d756c7469706c6578556e697377617056333a3a5f6d756c7469486f7053656c60408201527f6c556e697377617056332f535741505f4641494c454400000000000000000000606082015260800190565b60208082526036908201527f4d756c7469706c6578556e697377617056323a3a5f626174636853656c6c556e60408201527f697377617056322f494e56414c49445f544f4b454e5300000000000000000000606082015260800190565b6020808252602f908201527f466978696e546f6b656e5370656e6465723a3a5f7472616e736665724574682f60408201527f5452414e534645525f4641494c45440000000000000000000000000000000000606082015260800190565b6020808252603b908201527f4d756c7469706c6578466561747572653a3a6d756c7469706c65784d756c746960408201527f486f7053656c6c457468466f72546f6b656e2f4e4f545f574554480000000000606082015260800190565b60208082526037908201527f4d756c7469706c65784f74634f726465723a3a5f6d756c7469486f7053656c6c60408201527f4f74634f726465722f494e56414c49445f544f4b454e53000000000000000000606082015260800190565b60208082526032908201527f4d756c7469706c6578466561747572653a3a5f636f6d70757465486f7054617260408201527f6765742f5441524745545f49535f4e554c4c0000000000000000000000000000606082015260800190565b60208082526049908201527f4d756c7469706c65784c697175696469747950726f76696465723a3a5f62617460408201527f636853656c6c556e6973776170563245787465726e616c2f4f4e4c595f44454c60608201527f454741544543414c4c0000000000000000000000000000000000000000000000608082015260a00190565b60208082526039908201527f4d756c7469706c65785266713a3a5f626174636853656c6c5266714f7264657260408201527f2f5246515f4f524445525f494e56414c49445f544f4b454e5300000000000000606082015260800190565b60208082526034908201527f4d756c7469706c6578466561747572653a3a5f6d756c7469706c65784d756c7460408201527f69486f7053656c6c2f554e444552424f55474854000000000000000000000000606082015260800190565b60208082526051908201527f4d756c7469706c65784c697175696469747950726f76696465723a3a5f62617460408201527f636853656c6c4c697175696469747950726f766964657245787465726e616c2f60608201527f4f4e4c595f44454c454741544543414c4c000000000000000000000000000000608082015260a00190565b60208082526024908201527f466978696e546f6b656e5370656e6465722f43414e4e4f545f494e564f4b455f60408201527f53454c4600000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252603b908201527f4d756c7469706c6578466561747572653a3a6d756c7469706c65784d756c746960408201527f486f7053656c6c546f6b656e466f724574682f4e4f545f574554480000000000606082015260800190565b60208082526049908201527f4d756c7469706c6578556e697377617056323a3a5f636f6d70757465556e697360408201527f7761704f7574707574416d6f756e742f494e53554646494349454e545f494e5060608201527f55545f414d4f554e540000000000000000000000000000000000000000000000608082015260a00190565b60208082526046908201527f4d756c7469706c6578556e697377617056323a3a5f636f6d70757465556e697360408201527f7761704f7574707574416d6f756e742f494e53554646494349454e545f4c495160608201527f5549444954590000000000000000000000000000000000000000000000000000608082015260a00190565b60208082526036908201527f4d756c7469706c6578466561747572653a3a5f657865637574654d756c74694860408201527f6f7053656c6c2f494e56414c49445f53554243414c4c00000000000000000000606082015260800190565b60006060825273ffffffffffffffffffffffffffffffffffffffff80865116606084015280602087015116608084015250604085015160a0830152606085015160e060c0840152615946610140840182614b75565b9050608086015161595a60e0850182614c51565b5060a086015161596e610100850182614b5b565b5060c0860151615982610120850182614b5b565b5082810360208401526159958186614c57565b915050826040830152949350505050565b60006102008201905073ffffffffffffffffffffffffffffffffffffffff8089511683528060208a0151166020840152506fffffffffffffffffffffffffffffffff60408901511660408301526060880151615a056060840182614cd1565b506080880151615a186080840182614b5b565b5060a0880151615a2b60a0840182614b5b565b5060c0880151615a3e60c0840182614b5b565b5060e088015160e0830152615a57610100830188614ca1565b615a65610180830187614cd1565b615a736101a0830186614b5b565b615a816101c0830185614c51565b615a8f6101e0830184614b5b565b979650505050505050565b600061024082019050615aae828951614b5b565b6020880151615ac06020840182614b5b565b506040880151615ad36040840182614cd1565b506060880151615ae66060840182614cd1565b506080880151615af96080840182614b5b565b5060a0880151615b0c60a0840182614b5b565b5060c0880151615b1f60c0840182614b5b565b5060e088015160e083015261010080890151615b3d82850182614ce7565b50506101208881015190830152615b58610140830188614ca1565b615b666101c0830187614cd1565b615b746101e0830186614b5b565b615b82610200830185614c51565b615a8f610220830184614b5b565b60006020825273ffffffffffffffffffffffffffffffffffffffff808451166020840152806020850151166040840152506040830151615bd36060840182614b5b565b5060608301516080830152608083015160a083015260a08301516101008060c0850152615c04610120850183614bf1565b915060c0850151615c1860e0860182614c51565b5060e0850151615c2a82860182614b5b565b5090949350505050565b600085825284602083015273ffffffffffffffffffffffffffffffffffffffff841660408301526080606083015261088b6080830184614c57565b60405181810167ffffffffffffffff81118282101715615c8e57600080fd5b604052919050565b600067ffffffffffffffff821115615cac578081fd5b5060209081020190565b600067ffffffffffffffff821115615ccc578081fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015615d13578181015183820152602001615cfb565b83811115612eb35750506000910152565b60048110615d2e57fe5b50565b73ffffffffffffffffffffffffffffffffffffffff81168114615d2e57600080fd5b8015158114615d2e57600080fd5b60098110615d2e57600080fd5b6dffffffffffffffffffffffffffff81168114615d2e57600080fd5b6fffffffffffffffffffffffffffffffff81168114615d2e57600080fdfea26469706673582212202b79c9dd51f9300eb2e3697f6ed37d9f95f7e9bae5690163191f24e64c35a5f264736f6c634300060c00330605581e030a344a18ef8fb3ad8289e86c06fe574eef7b988bda7dbb0b4965d0f6400701195dde031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0317567bef1bd768360f334d7a069c2b744ac67c780fe39f8ad0cfcdbc9007011bffffffffffffffff0219e9a903d43e2645128599379752b590889f54b1c99d370320b2ac9ca6707a984cd864bf03542fd8a00e0194cf61fada14ed306efaae675f1d478ddcb4a4d55d2a3567f29703d1a85e668af7f29290c20805d28d188216bad67876dac490ee7c980440bf763503d5f1964b5dd4b6581e00d76b8cd74128feb570a36f4e6c465688acac3bacfd39034ade9d6e404b1ba17c85d69fcf81af2ed9620f73e8e82839540c52cccd16ce570323b330f3a6b199227246fe39f3647cadf63b1d7c933b19d6f9a0ef0c01cc87fe0311726746d348fbb44d34d0339e5d31d300777df48c04983fa757f44b1304bfaa0347b37c77168cba15793b98231f1ee5f8e8af4c10e303deb53312431c550d13e8035823ae601a24eac6f15dfa0010c8323ae13bb2107f7aac67a96013396b1967a203841faaf203feab10462378167bfb15917416d42d7b84653859ae273119ce216e032aa59d77cda854d6240e4b1f2facd83314f806af22ca3a0c9003e0e918d974bf03a63663bc3273fa68d21e9587b8e765f32231770aecd352a1df723dc3139448f1033445f8446ced95c5d1854e8029b478ed99a4412b90321ea175bbd6c9e77b65300219ffff03a09e3acecfcd8c086309f7fedd3a5ae45d968f3dcfdc36984b1a1525f6f0e246035f42c7ca1fd86eabf7f6e858807bda539a57331a26b7b35ffe89c67ffc38ff76034cda9c9daa0a1d28419601fc26b34b2896a0e2c9e31c954f9c45a4155366f95403c769a3b874dd40fcc326cdf1376cea14582309ac0202b63bd05f710df6eba50a0362d2e7ecc355a1aebc1035430965d4506b50166efd88a2c07326d8dcbe61a6d1033201e65d3ff435b7571c98ca8f31fb0703d7977ee8905ba7067ce215a0e1982e03219f1b251a262bd0c61e39c2d4d0712d9930d6011932ba69396d6b4056fd559f03d17f6f6630a475994d05389c1045596ad5853be9f8f8da6299e14578046a9fc103603ffec1d372f2572f15d07182e2734281bb9c090d2031279ae4593c115e3c95038e670a51eb2777ae5b8ed3c3351c8cdd543fc3ee03f4ca377eb1a8128db6eefd0362d73d7cf11fb5fc849da0054610417e5f878b8c4c1dc4ff77b3ef37470ae3cb03678f07fc2d4c3b2d9f821ca91942a81304e3fd9ce0ff2fc0ac685c0913743ae30328813aca9f7aea23418dd47880018933b05d6fa1a9c6eadbf920024b2878ee500326bced54de2dcbc3cc20f12197d5c3e063461cf4d494ca6aaa264ba18680c37e0219ffff030bc3376c6f979a31579669e7330b51cbc7456c56a2af998ea179646aa7021eae0359c71ed5ae181ddb042507dd54c61e4ac22145ada2ac3212da8018f63435dc3e03240dfaab5ef406e2ae7e87fd79b9163243a3360a16da2702218051eb8bd9ec8f0219ffff03cb3c269f66650b998f3ab6b90a0468688c2e28ad24e5d235bf8db084f904d92b0324eb2dfe16c3f495e4127841630c7e528e3945116a0a697f538647a3fa17b290036c952fea9735092b0f621603f486c7d8a90da64b0a1f4aa9cc2eec6c89b36cde03a9f0dacf2692c448de12aaf519348caf5bc007aecf100ab980b4317e83412936036c45957fa29a4978b72ad1c1d7d6f60fc69b54e8d517a29ce4ba0699141a2a2203f51bd18f74135a0e22310d0d787baced40bbf28ccebe4be52763e9771921b70103b081def89de21677184de30c410ede5c358ad1e57f54e35a29c54878a10bfaf403e7a3e881e3889a56b10d178da15dc0cfbb473c91443b29ca47ebc087cc681b01036131dfdf795ee4ec59463583b1baeb0dd88bb6fbc6e77ea3e74f14a5b2093ba603086bc2a40c10d010a5f03876c3cee8e0c051be8601779c4638ccee11a0ecc8e4036671ddcf33c1d987833a58674c7567e18378fbfad93aff427f34c3fe3f9246e403445050059688c8888c0025656e44ad8cb43bdcfdef0b9b4b5b85012a8bc001f4035e5af7ae2d4802a01ad9d954e0d00b523379b0861e90d8289c4af8bfdf41d7d10324d453ec96f5aaabfc53fdbd57b5cb396ffbd74e6b0d7a0cc7393188ddc327c103a4d56031d4258f2b9c7bc321c7e2003298eda4c00812ef108f01972ba49b73090363ddf3fbd57d647c40b31429a506db64f0108f8e2daa890b3e5f1cc783c01d57037bcf0fd09a523164f25e3ddd1eafca0fa52c2e324928830eb0f8ea385ad73a4b038c59b16daa2c7946ed486ba6a3d07133d465049d87b4d271be26ab40f0f4a2c805581e03638e161d4daea1d6e7141101ca5adf97ac5423048c4007b40c61fb40b00c05462769b5c93dd403096229b1ed7effdfae9b23ab21f5058b684a5440c62f4e661a4a3f61543606ca05581e03ee06626e0e3069ac25e523ee581eb4c6add6ae1be2fa61ed21441f92a00c18434802b84e9ade4f3833031d6e2203412602516117edbd89398e0f3e027315d09278805ae183781fda486205581e03256e3ec09eb4e0eb5765fc483b36d96d67963a77b43bc5bfe2312d1a10040305581e03abce7f2509a19de11b9050c74529013b62adfba1c31a555617e60e8bc00c01470df3d21fd5690003e4e4838041a1d39c6097d2e8591360ed6c6f1bea71c478417c1d1c84905aea12039e97735775084ba455fe61f638f83ce3a84d6da363408b420f1083cf96e9359e05581e030b920918485bef50a07f3b1e375ca95a2e79c11f7318228f0910833f3004010219dc6e03cbd86ddb545dd356633b955150e879d4bb245c4de5aee65827e4a8a8500f686f035f9f282ff91fa8441b0fe9fe8bc31fed1d5c59f4414dc67f5bed2f32d0277040032ceff2dc0664edf30600e4efaf84944e0c5ff114de5560d26316c6eb577b925a030b9912952ea70b44d1561b0a6561112e20c8f682adc423350141454a05dc93b003bd2f6e8e9aff78e90e5edc6845c7b6543e5f0f0ff7468fbbfb1d9bfd4f38d76b03a1ac2329e9670b92e4b8fc56fa1bd5add45e66b61769c21e01845689bf9812f403fb6d21f2e56379788dbe178a8fab67e9846eddedbfbd5012fe3c6401aa434f3903507c109fd5683a476a855fc42e51517cc5777c8e2ea92c8be665976e2dfa275203242032515d324f1ea860f59ad5942e66c33c11d112312026f9e911c50c1be8b40219ffff033dbc02255b138cc48ae5679f1c03889c517d88a72156fc24d4f585bc85736ddd035e11584d6312bd777ed5bc5bf957d5b8787617084c842e2fa7e0bec1b48201e30374c4871b2984b94a6f9767fe6caace8e572475696333010bf20004d86f8b315703f3f459dfa36963c526011a29f7f5a9bfc9ba8c182292b3b6496845d4459453130367a6f5782bc95c802bcbb2b24f689afff3ad176742689ee83899b76a172cb07403c33f14358087a0a0751aa3972877c76a1801ad9b207786732bc71ee5805b03370328e150226ee88e866803da4e57a938d4c34dc8451ce6324c0b3087c162a6b465035980b50df9ca6c9d0eeecd2416778739b1c00ec79313d516327b7903da5649cf039affb1ae9bf2cda6e912c7dc9a553ca57f8e7e14f999ba6617a718951ee1cb14034cb6fb07623ba3dea88d3d3be70d8fa46cf6d2b0f5947e062769f25f87e93f190323c7eba05c548ef1d9477c5e8205d59fa7cfd611961aa9d2988e92fbe318f44203b51e4fc47e29e46e44c2b2e84211959d5f394effd9365d233b2cb101312a3ecd0219ffff03b39711b25b1b91ff5e59840846d73803307e6d4e5eb64a7793a3aa76eaec3d7e03fc96728f0f8bdb6aabff1b21e6343cac1285c667e17482db4e8ca2988a8f79d30392cf033014d849f2e92336159daa515a8319682a4523ab30c36f7d4ae3fb81ea034ea541f6549f0ecaf340a1d51c7d4b599fee018594e02d190a6e3776cf5d807703892d2b7df051a8b3c7f5902575334cd4c5e3768aeccec7e98ab96b2e753668a603dcd4a0902917663f1f49eb80eb9e7a6d25a9458c7ea57928cd10c5d542fd315003b1987c7d1cad89612b278846a90401cbd83f702767e5a3172328ffd9ed19152703df469c0b1c5fef9186c3c74991da96fa3eb123629d4c5eeff4cfa07f9b618a420219ffff0367b4722f9223d9ccd69923cb8888372661d27f5e78b21fefab23ca7a4a92b84b0300d1910e86d9d180f370cb3170819143b8cc846e284ef14a9cde1895dfb40f5503b2f96688953b4b266a9647cb965f51e9fa00324ed3c375a53618b970acff48bb0345f2279583e643d3b89be850f78c1b8f3533700dae39bda38a84eb5e6f7ec5be03465d388c74f06c18a8e97cee4333fe1be9ecf8793492e9af3616e6d6794515b10324ec6ee7cf16091b96c39f21977ea2b35e667073bb4028ac58e08ebb4d8bc82c0391d959631f2d6923ca28bf7c26b2db24fba54c599a34024d23477d3926a2801b03a383d85f572230069dea8f38b6b53e843febeec802448cbb25acd20760360c2303b8a6569d2643bbd305e00084d9455d840652acccc45dbb2902f0bc1c6361020503083662b78968b72fcdf32b09858f88c9794d5860195b17a4f0d62d253156e7600323461ed5013662ff63271e8044efacc43915ca3895865aa2946e4ea479f9b6a00351795909041bace72de162edc77e0b120aabd126620cbefc6a2b4d28237b79b903871cc6ed4ee2e63a08cb1cf40a29c304b22c162853655fde4388d027a9ecda77038ad1f1869a8a642076594ec96a926a3e4d92e78d5ace2029f5a02e1a4478fe470316200828a3008d15ae2c9830a118fdb4e7a63b1eaae0908233aff43e0d7c5d6a03b0173939de12960a3b10c6ede57d1e73dbe0f382105a126b0b6dda9a3e5e484405581e03b54d8170454e17f32fd589bdb388589425c5ca7a87d9eda25170dda9f00c01468e8e1ba0720003bb910d96b281dcae81e809103ae7091476b5816ee263d8c679b08a6c721af91e05581d0244aaac8c08a313fa0c50c099901e9287998640a79bee9b3d0b40b97a0c0847131bf3febe118d05581d02b37128c331d2f0bb5d028e27a8b40df1654c67d74aa9422b45d7a4fc04040219882005581e030cf5573736b190ec5faa27a83f956ed8e894f5795cbf9b0e231ce2d280040205581e03be2f4c99001eb82448c8c6a920dcd498500085515cd8050bc2bb8b66500c03470e3029c3e9094005581e030cad2d82a75cc6a55210f091aa2ec2b3a9db8367c101075808afac40600c0147059d006abec00003460c8d1d434ce7a69adbc74b6ce55c0b6601ebb4775d9861ecaa23b871b718fe05581e03ec9e4b029c53a9f77bc7764c2e17c8c0ee079b2dc5ea37fd4b96d5fb00040303b85f944c851b75d97fd215c735e7a66e41658af3e2adb694db7e175f18715ac20219a0dd0316b6ceeabdd3d34a83d9b1f7017cb6558257dd6d00c61e4ab9faa36161e150ee0300a2c7d85f8b547213b8bce32f0c8596cec82eb409c0be93ecef639361c7582b030c12dfb634a32f7eb63dd4f22d349dbb793fea158635167b664bbaebc5a0f79103ec60a6c3629c2415ee2c9c5dea637d28eb9ac4e58768ab1a89815b71c3353d47037963bce85a6d8183f938ad146949248f619bd6b6bc7015d4ba625adad88e8e4e03a66b77734534ee9154ff82a16f2c771bd27520d79a225c6adc68a32fdf1245e703eb3bb42a595fd2d23af78c0400e267b10c7862a0729bd4f657e47fdcfffb3ec60219ffff037ed1aab794560d30e61de99bc0590938a3853a38e8e160565165ca8581fbadd703550e37ebc68c968fa447971d97f59ab09cb3607645276b1647a2a5e3d82efc49036818737597b728efe6d36bc0f18008b9ed297c08ac26587acaee1bdd588199ab034430d8d4b592f33d5a91ed5a4a64db49679d3fe4392f5f59d3503278388e83c50350b02baa2a411d42b9ef3c6a1a63426e1277da46aa1c9daba530d1f4330f6a6203e077c7175c144d061b49a13368a969e5bec2719adeb450f701214c722951564f03472986f5d204c456af02aed03ff92d0fc0fa05073c666c34c47babfa5ba051b70325b52e0c8f1b248f9e909e6cc949d752b68e962eb6847cdfc7d98d2869b469b303d8c25397ecd54f7efcc1c826aac9bda26d956cb76ab851bfa320a152e219b89e03167ea85d7f18f9948b394f29bb64a6b88acfe55ad827a103b681a95d3e6726a7034348fae6893c3fd9139fd4137358a000416b0bdeb39247b5e7307749fc0fa07b032f4eefb656bc4a8d692f352f70579d2eebabc6dfedaa75c1d7b4bd4206d752750336f7e45ef6e49359177a9b6c896980419ff0543388ab43cdecaec45c1ece494c03813aaab1f58fe0ce429a95199a39927b35dbd5d982d6c93017bec42bfad575d50219ffff03dfe12751320637dc0b471ed0c477d356383cfd4b375f9b2ebcb515fee06044b503ec226ccd7609d817a3a2f83c67f67d99ebd363fc03a1291fef403e456db526ae0353cd4113ffdcbec17d88a39392839ed21ed49f8d29f31e0df97ea87c01cad55803a05330450ff318e4e47020dcae2f7720e008372ffda1203645ef8a68ae2ed4c403d927293c3f187fef69e213643fabb4ebbe10862623e0d516efda4e245bd82e02031c4640cd7a3a12ce53a7ef0b38a5895abf96a9a531d5bbf9a8a8c9f7e70dbffa03bc7275fe17bb1773ee08ced3d378163705d348574bd982b2a9b77764427b815c033f8cc5747346770a028fa4e5c890c1c509e9551dac801f7ad9c37f33c862eca603f7b7a6a3d46ad594cb3df1638245e6db0329da2953e222256fc6e36328a2419c038aac019649437ce4c65cc0bfdfc81c9a75238dd16c491c128ad92270c91cbfe903e06e715452768a194497be037cc86d18b79429ee6e9f40e71315a04cb77ab8bb0219ffff039aff1b9cbdefc158cb8fab553667b667c7e96f7f21a5b32b0fba12ac1982048903e76cd7ff7dd332d2cd545efbf9dd492fd396c52d626d7517e9abee85678385460397b1278d68bf768078977cf171ae296a0008c3a23067c71538d9a50a2575983d0377b160803ad3c7e1d8107f6485ff89b8a7a085040db3abcb362dd0aaa511b70d039991556c53a9682998d264fc546c22789b444ebd0ea3d4d24683397121f4ee7f0395d12ed2587d2e1c42b88069e1142db1e35ebd01af35ff22083adf6cf65d6544032708428404457f286067e348a8f171b4231dd5532692127cfc6adacfd29ea44b03d5ab2595bd9e3a490c2b8221ce0d672026a7fb01b18809db378da54cdd67ffc6035a60f1451f5c045caa1711f220e53bf7b49219623eee642b03e0e3883755b62e038a9f7c09d2619e4e107f840f303d13223850e50c2e37e37faf0cb2429664413a03991042a6eeae97fcc10d43874a3149d764a7f688cb7fb9aa3c6d9169a30edd16032e4caad1cd4183a455d458deec7d4b7a645f28548a69bf858aaf1fe4271886d40325db6f357d0f1c0ccb404c3457d606002be512bb62cb233340c25dcd6ceecd9a0317b00a6be7cb351c542966173f3f1b9f8a8b61ac686cec72578f3a31d85f9e05038243b00b5b305b568b79d1d0ef35f7b3c107967966901b11bb76a1e1da49dcc503df9be04ef89eb8b75a3bc5041cc1895e98126c14350aa3a5253648384f492bc80392ba7310f09e9168f9c211ca6cad0152c3f62cdda9cb32e9c9ab090c591df27a03db2bdca18153db1a79f84d14221a8ccef296855482e2e88baad6a8a734413e8403a450dbb39bf0a02f1addfba4b7af495d82c5c33cee803c91e0c4e3d15a79555a03cb88fccbd6b4dbdf9be94bc36dd90ddb0e1035bd67a56caa8761745edd83669503f8ee7cfb15c8c10f4bc632031279ca357e7474d0e1725953c2be49ed1eba28320303a3344306e0959acf2d591828ee1474ffe95741e1323782fdbb65421dbcb547037c2ec37da87d082ea8ab4ff9b42dc28f380fd418463dc990f8c97928562e2f5403c3c788df4261ca23f69e7eaa5021542ee44cd1ef4df1acdc9aa7d1bd7de26ecc03a812ec1e317e1a7ce32f62600c35bbdde67b5fc6c2b71d305848df49978241fa032a4af53c1472e7ae2f183347e15073eca1f88507913d1cd44e613d775ac886c7034703fea40746e7d54bb1ba9f2d5f53a3212d13b4e327ec878bf5d6ad4d67480c030c6a0dd8f32e5578a4925be2b3f7627f6ecbdc2fdb4e47a3d04fcea1d774ff0d03d00b4b2854ffddffff4f66534f81c5cdf62fbc69bcb49a929d3655830cbc079f03dcf1305d72dbbe3b5ba17e2b4b916bfc0296bd96c7961214b5e7df4665ee14650363ad70cd9e7c7ceae6d5fc76afbd9d5466c0fb0be17297fc7166142f5b7d512d03f31c17b383bc82c6a3402af0c8641eb255f93c103d16e340b6aae683686aa6e70313354c2670854bfd1cfa98761e3f4625c1a5c96b434e84c469c20583dad9433103da8f05dbb63252b220f471b87b2c54aa2ac446143640dbf6a15da93b1140a58305581e03f5efefbf0d260ff861cb1e7adb01bc8cb1a8e8d0a10d2c1f721e3b0be00c05477a5366d36a901105581e03355fec0ad2baa58aa06899bbb89f3f489059d7e8172044f3afa72ef6e00c01467ebc240672a00369cc55a2f7de5684b3b69b21668011efd0c46ad08a16c59a81ae228e1f544c0b03700023fabea53c272b6a0cdcf35bc6810a341f76f61a926c482fdc6307fbefe005581e034180325698af0e46db2f326c348fe7ce8804b480ebf11fec3944a888200c10470cd391fe34b0ee0341920d0d10bc437e54e139db9592e67429e88e55295539ff79341b76a1754b7f035ae7bac642c05d22542106264e5b8d205a135d4dd93e62537faf5d3ab4d722a605581e03ff60f6fc17249ccf10924f8af9199c7fe9f33fafd675743c723ff4be70040104594f9560806040523661000b57005b6001600160e01b0319600035167f05b9e1cd000000000000000000000000000000000000000000000000000000008101610049576100476101e5565b005b7c10000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156100885761008061052d565b6100476109a5565b7c20000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156100c7576100bf61052d565b610047610c7f565b7c30000000000000000000000000000000000000000000000000000000006001600160e01b03196000351610156101085761010061052d565b610047610f57565b7c40000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156101475761013f61052d565b61004761104e565b7c50000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156101dd576000546001600160a01b031633146101d55760405162461bcd60e51b815260206004820152600160248201527f520000000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6100476111b0565b6100476113be565b608435606090811c90609835901c60ac3560e81c6004356024358385101561039857604080516001600160a01b03808816602083015286169181019190915262ffffff8416606082015260800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c6001600160a01b0316336001600160a01b03161461031a5760405162461bcd60e51b815260206004820152600160248201527f500000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b0386169063a9059cbb90604401600060405180830381600087803b15801561037b57600080fd5b505af115801561038f573d6000803e3d6000fd5b50505050610526565b604080516001600160a01b03808716602083015287169181019190915262ffffff8416606082015260800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c6001600160a01b0316336001600160a01b0316146104ab5760405162461bcd60e51b815260206004820152600160248201527f500000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290526001600160a01b0386169063a9059cbb906044015b600060405180830381600087803b15801561050d57600080fd5b505af1158015610521573d6000803e3d6000fd5b505050505b5050505050565b6001600160a01b037f000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae612316330361055f57565b6001600160a01b037f000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af816330361059157565b6001600160a01b037f000000000000000000000000ee28beaa11e31d10581ee7cfdcb9e95c8d05c53c1633036105c357565b6001600160a01b037f000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af81633036105f557565b6001600160a01b037f00000000000000000000000061c055fc447a01deae2e6a4cbc1257953cbc953616330361062757565b6001600160a01b037f000000000000000000000000929147c1aa1338b2705868bcf4965e67041822a416330361065957565b6001600160a01b037f0000000000000000000000006549e6c5401a3135a116933717e887ec8e91754816330361068b57565b6001600160a01b037f000000000000000000000000d3720491d1840de84c6540a497b230cfdb590f5b1633036106bd57565b6001600160a01b037f0000000000000000000000009122d8da8a529f1fa2357d02c3ba3de147aa94241633036106ef57565b6001600160a01b037f000000000000000000000000894d7c5d6f532b850d6716058ab1a523958e7d3116330361072157565b6001600160a01b037f000000000000000000000000aff9d79e7f007f7dca48955d34b8db74f27de0a716330361075357565b6001600160a01b037f000000000000000000000000886c8d9fdb681e7006b710e893f765776fa651d416330361078557565b6001600160a01b037f0000000000000000000000007df370f6d19294c5e794620c86904425f2b2a1751633036107b757565b6001600160a01b037f000000000000000000000000c7395aed51fb76d0f38833238192df8752d2b9021633036107e957565b6001600160a01b037f00000000000000000000000096f84532ac4e1d20202b6672658e3bbccaa7b13e16330361081b57565b6001600160a01b037f00000000000000000000000018360cf1d93a1fe34351ea2ca581169d8cb0f49016330361084d57565b6001600160a01b037f000000000000000000000000f303e77c3f559a493d34249c39bd167fdfefa37f16330361087f57565b6001600160a01b037f00000000000000000000000084f4bea27ba790c1b81b143a9798be4cd0dfe5d61633036108b157565b6001600160a01b037f0000000000000000000000005d4cf31e3b7d5c20916aaf4ee886e35ce276dae21633036108e357565b6001600160a01b037f0000000000000000000000007164a0c923239bc11e1038ad4a3f37afe9d8e65916330361091557565b6001600160a01b037f0000000000000000000000004d65519fdd22ec2f5cc2ba32e7f107486080c75116330361094757565b6000546001600160a01b0316330361095b57565b60405162461bcd60e51b815260206004820152600160248201527f410000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b565b6001600160e01b03196000358116016109c0576109a361143c565b7ffffffffe000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610a30576109fb61143c565b604051606f3590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b5050565b7ffffffffc000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610a6b576109a361187e565b7ffffffffb000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610aa6576109a3611d60565b7ffffffffa000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610b1257610ae1611d60565b60405160833590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b7ffffffff9000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610b4d576109a3612178565b7ffffffff8000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610b88576109a361258e565b7ffffffff7000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610bc3576109a3612771565b7ffffffff6000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a35743341015610c465760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b610c4e612771565b60405160453590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b43341015610ccf5760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6000807fffffffef0000000000000000000000000000000000000000000000000000000081356001600160e01b03191601610d1c57606d359150610d1730600180600061299e565b610f1f565b7fffffffee000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610d6357606d359150610d173060006001600061299e565b7fffffffed000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610daf575050608135606d3560601c610d1781600180600061299e565b7fffffffec000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610dfb575050608135606d3560601c610d1781600060018161299e565b7fffffffeb000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610e4157606d359150610d1730600180600161299e565b7fffffffea000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610e8c575050608135606d3560601c610d17816001808061299e565b7fffffffe9000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610ed357606d359150610d173060016000600161299e565b7fffffffe8000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610f1f575050608135606d3560601c610f1f81600160008161299e565b8115610a2c57604051419083156108fc029084906000818181858888f19350505050158015610f52573d6000803e3d6000fd5b505050565b7fffffffde000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016110135743341015610fda5760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b610fe2613456565b60405160bc3590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b7fffffffdf000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a3576109a3613456565b7fffffffcf000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611089576109a3613559565b7fffffffce000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016110c4576109a36135c3565b7fffffffcd000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016110ff576109a3613641565b7fffffffcc000000000000000000000000000000000000000000000000000000006000356001600160e01b0319160161113a576109a36136ca565b7fffffffcb000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611175576109a36137df565b7fffffffca000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a3576109a361392b565b7fffffffbf000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016111eb576109a3613a5f565b7fffffffbd000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611226576109a3613b36565b7fffffffbe000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611261576109a3613b8c565b7fffffffbc000000000000000000000000000000000000000000000000000000006000356001600160e01b0319160161129c576109a3613d73565b7fffffffb8000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611303576109a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001660043560601c179055565b7fffffffb7000000000000000000000000000000000000000000000000000000006000356001600160e01b0319160161133e576109a3613eab565b7fffffffb6000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a3576109a36001600160e01b031960043516600090815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001660083560601c179055565b7f2cb78669000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016113f9576109a3613f37565b7fe9d94582000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611434576109a3614128565b6109a36141c9565b4334101561148c5760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b60043560248035606090811c9160383590911c90604c3560e81c90604f3590602b8486101561169057604080516001600160a01b03808916602083015287169181019190915262ffffff8516606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54605582015260750160408051601f198184030181529082905280516020909101207f128acb08000000000000000000000000000000000000000000000000000000008252915060009081906001600160a01b0384169063128acb08906115c49030906001908f906401000276a4908c908c906004016146a3565b60408051808303816000875af11580156115e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116069190614700565b9150915060008a1315611654578561161d82614753565b101561164f5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611688565b858211156116885760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050611875565b604080516001600160a01b03808816602083015288169181019190915262ffffff8516606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54605582015260750160408051601f198184030181529082905280516020909101207f128acb08000000000000000000000000000000000000000000000000000000008252915060009081906001600160a01b0384169063128acb08906117ad90309085908f9073fffd8963efd1fc6a506488495d951d5263988d25908c908c906004016146a3565b60408051808303816000875af11580156117cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ef9190614700565b9150915060008a131561183d578561180683614753565b10156118385760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611871565b858111156118715760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b5050505b50505050505050565b60043560248035606090811c91603835821c91604c3560e81c91604f3590911c9060633590602b85871015611afc57604080516001600160a01b03808a16602083015288169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156119a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c991906147ba565b5050505050509050806001600160a01b0316866001600160a01b031611156119f057600080fd5b600080836001600160a01b031663128acb083060018f6401000276a48b8b6040518763ffffffff1660e01b8152600401611a2f969594939291906146a3565b60408051808303816000875af1158015611a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a719190614700565b9150915060008c1315611abf5786611a8882614753565b1015611aba5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611af3565b86821115611af35760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b50505050611d56565b604080516001600160a01b03808916602083015289169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1891906147ba565b5050505050509050806001600160a01b0316866001600160a01b03161015611c3f57600080fd5b600080836001600160a01b031663128acb083060008f73fffd8963efd1fc6a506488495d951d5263988d258b8b6040518763ffffffff1660e01b8152600401611c8d969594939291906146a3565b60408051808303816000875af1158015611cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccf9190614700565b9150915060008c1315611d1d5786611ce683614753565b1015611d185760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611d51565b86811115611d515760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050505b5050505050505050565b43341015611db05760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b60043560248035606090811c91603835821c91604c3560e81c91604f3591606f35901c90602b85871015611fa157604080516001600160a01b03808a16602083015288169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c9050600080826001600160a01b031663128acb088760018e6401000276a48a8a6040518763ffffffff1660e01b8152600401611ed5969594939291906146a3565b60408051808303816000875af1158015611ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f179190614700565b9150915060008b1315611f655786611f2e82614753565b1015611f605760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611f99565b86821115611f995760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050611d56565b604080516001600160a01b03808916602083015289169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c9050600080826001600160a01b031663128acb088760008e73fffd8963efd1fc6a506488495d951d5263988d258a8a6040518763ffffffff1660e01b81526004016120a7969594939291906146a3565b60408051808303816000875af11580156120c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e99190614700565b9150915060008b1315612137578661210083614753565b10156121325760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b61216b565b8681111561216b5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b5050505050505050505050565b60043560248035606090811c91603835821c91604c3560e81c91604f35821c916063359160833590911c90602b868810156123fc57604080516001600160a01b03808b16602083015289169181019190915262ffffff8716606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156122a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c991906147ba565b5050505050509050806001600160a01b0316876001600160a01b031611156122f057600080fd5b50600080826001600160a01b031663128acb088760018f6401000276a48a8a6040518763ffffffff1660e01b8152600401612330969594939291906146a3565b60408051808303816000875af115801561234e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123729190614700565b9150915060008c13156123c0578661238982614753565b10156123bb5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b6123f4565b868211156123f45760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050610521565b604080516001600160a01b03808a1660208301528a169181019190915262ffffff8716606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156124f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251891906147ba565b5050505050509050806001600160a01b0316876001600160a01b0316101561253f57600080fd5b50600080826001600160a01b031663128acb088760008f73fffd8963efd1fc6a506488495d951d5263988d258a8a6040518763ffffffff1660e01b8152600401611c8d969594939291906146a3565b600435606090811c90601835901c602c3560e890811c90602f35811c90603235901c60353560801c600061266b60408051600435606090811c602080840191909152601835821c83850152602c3560e81c82840152835180840390920182526080830184528151918101919091207fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000060a084015260b58301527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808401919091528351808403909101815260f5909201909252805191012090565b604080517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608b811b821660208401528a901b1660348201527fffffff000000000000000000000000000000000000000000000000000000000060e889901b1660488201528151808203602b018152604b8201928390527f3c8a7d8d000000000000000000000000000000000000000000000000000000009092529192506001600160a01b03831691633c8a7d8d9161272f913091899189918991604f01614882565b60408051808303816000875af115801561274d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105219190614700565b602f3560e890811c90603235901c60353560801c600061283a60408051600435606090811c602080840191909152601835821c83850152602c3560e81c82840152835180840390920182526080830184528151918101919091207fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000060a084015260b58301527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808401919091528351808403909101815260f5909201909252805191012090565b6040517fa34123a7000000000000000000000000000000000000000000000000000000008152600286810b600483015285900b60248201526fffffffffffffffffffffffffffffffff841660448201529091506001600160a01b0382169063a34123a79060640160408051808303816000875af11580156128bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128e39190614700565b50506040517f4f1eb3d8000000000000000000000000000000000000000000000000000000008152306004820152600285810b602483015284900b60448201526fffffffffffffffffffffffffffffffff6064820181905260848201526001600160a01b03821690634f1eb3d89060a40160408051808303816000875af1158015612972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129969190614912565b505050505050565b600435606090811c90601835901c602c35604c35606c3560f81c83851060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301612b075781612a39576040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088811b8216602084015289901b166034820152604801604051602081830303815290604052612a85565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089811b8216602084015288901b1660348201526048016040516020818303038152906040525b80516020918201206040517fff5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000009281019290925260358201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f60558201526075015b6040516020818303038152906040528051906020012060001c9050612db3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff841601612c385781612b86576040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088811b8216602084015289901b166034820152604801604051602081830303815290604052612bd2565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089811b8216602084015288901b1660348201526048016040516020818303038152906040525b80516020918201206040517fffc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac00000000000000000000009281019290925260358201527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c63036055820152607501612ae7565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff841601612d695781612cb7576040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088811b8216602084015289901b166034820152604801604051602081830303815290604052612d03565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089811b8216602084015288901b1660348201526048016040516020818303038152906040525b80516020918201206040517fff115934131916c8b277dd010ee02de363c09d037c00000000000000000000009281019290925260358201527f65d1a3b1e46c6e4f1be1ad5f99ef14dc488ae0549dc97db9b30afe2241ce1c7a6055820152607501612ae7565b60405162461bcd60e51b81526004016101cc9060208082526004908201527f5632494400000000000000000000000000000000000000000000000000000000604082015260600190565b881561329d578915613134578715612f5d576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526024820187905288169063a9059cbb90604401600060405180830381600087803b158015612e2857600080fd5b505af1158015612e3c573d6000803e3d6000fd5b50505050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612e81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea59190614963565b509150915083612eb55780612eb7565b815b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526dffffffffffffffffffffffffffff92909216918b16906370a0823190602401602060405180830381865afa158015612f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4e91906149b3565b612f5891906149cc565b965050505b6000612f6a8287856142a4565b905084811015612f7957600080fd5b88612ffa576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820188905289169063a9059cbb90604401600060405180830381600087803b158015612fe157600080fd5b505af1158015612ff5573d6000803e3d6000fd5b505050505b8215613099576040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600060048201819052602482018390526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a4015b600060405180830381600087803b15801561307c57600080fd5b505af1158015613090573d6000803e3d6000fd5b5050505061312e565b6040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600481018290526000602482018190526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a4015b600060405180830381600087803b15801561311557600080fd5b505af1158015613129573d6000803e3d6000fd5b505050505b5061216b565b600061314182868561437e565b90508581111561315057600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905289169063a9059cbb90604401600060405180830381600087803b1580156131b357600080fd5b505af11580156131c7573d6000803e3d6000fd5b505050508215613237576040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600060048201819052602482018790526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a401613062565b6040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600481018690526000602482018190526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a4016130fb565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526024820187905288169063a9059cbb90604401600060405180830381600087803b15801561330057600080fd5b505af1158015613314573d6000803e3d6000fd5b5050505081156133b6576040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600060048201819052602482018690526001600160a01b038d8116604484015260806064840152608483019190915282169063022c0d9f9060a401600060405180830381600087803b15801561339957600080fd5b505af11580156133ad573d6000803e3d6000fd5b5050505061216b565b6040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600481018590526000602482018190526001600160a01b038d8116604484015260806064840152608483019190915282169063022c0d9f9060a401600060405180830381600087803b15801561343157600080fd5b505af1158015613445573d6000803e3d6000fd5b505050505050505050505050505050565b6040517f4903b0d100000000000000000000000000000000000000000000000000000000815260006004808301919091523560601c90601835906038906084908490634903b0d190602401602060405180830381865afa1580156134be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e291906149b3565b83146134ed57600080fd5b6000846001600160a01b031683836040516135099291906149df565b6000604051808303816000865af19150503d8060008114613546576040519150601f19603f3d011682016040523d82523d6000602084013e61354b565b606091505b505090508061052657600080fd5b6000600435905073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156135af57600080fd5b505af1158015612996573d6000803e3d6000fd5b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600480359082018190529073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b15801561362d57600080fd5b505af1158015610526573d6000803e3d6000fd5b60008061365136600481846149ef565b81019061365e9190614ae9565b915091506000826001600160a01b03168260405161367c9190614b39565b600060405180830381855af49150503d80600081146136b7576040519150601f19603f3d011682016040523d82523d6000602084013e6136bc565b606091505b5050905080610f5257600080fd5b6000806136da36600481846149ef565b8101906136e79190614c6d565b9150915060005b8251811015610f5257600083828151811061370b5761370b614cc7565b60200260200101516001600160a01b031683838151811061372e5761372e614cc7565b60200260200101516040516137439190614b39565b6000604051808303816000865af19150503d8060008114613780576040519150601f19603f3d011682016040523d82523d6000602084013e613785565b606091505b50509050806137d65760405162461bcd60e51b815260206004820152600b60248201527f63616c6c206661696c656400000000000000000000000000000000000000000060448201526064016101cc565b506001016136ee565b600080806137f036600481846149ef565b8101906137fd9190614cf6565b92509250925060005b83518110156138f757600084828151811061382357613823614cc7565b60200260200101516001600160a01b031684838151811061384657613846614cc7565b602002602001015160405161385b9190614b39565b6000604051808303816000865af19150503d8060008114613898576040519150601f19603f3d011682016040523d82523d6000602084013e61389d565b606091505b50509050806138ee5760405162461bcd60e51b815260206004820152600b60248201527f63616c6c206661696c656400000000000000000000000000000000000000000060448201526064016101cc565b50600101613806565b50604051419082156108fc029083906000818181858888f19350505050158015613925573d6000803e3d6000fd5b50505050565b6000808061393c36600481846149ef565b8101906139499190614dbe565b9194509250905082156139d5576040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810184905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b1580156139bc57600080fd5b505af11580156139d0573d6000803e3d6000fd5b505050505b60005b8251811015613925578281815181106139f3576139f3614cc7565b60200260200101516001600160a01b03166108fc838381518110613a1957613a19614cc7565b60200260200101519081150290604051600060405180830381858888f19350505050158015613a4c573d6000803e3d6000fd5b5080613a5781614e2b565b9150506139d8565b600435606090811c9060183590603835901c80613abe5760405162461bcd60e51b815260206004820152600860248201527f53656e642030783000000000000000000000000000000000000000000000000060448201526064016101cc565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526024820184905284169063a9059cbb906044015b600060405180830381600087803b158015613b2257600080fd5b505af1158015611875573d6000803e3d6000fd5b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152603835606090811c600480840182905260183560248501819052903590921c92839063095ea7b390604401613b08565b60008080613b9d36600481846149ef565b810190613baa9190614e63565b9250925092508151835114613c015760405162461bcd60e51b815260206004820152600c60248201527f696e76616c69642064617461000000000000000000000000000000000000000060448201526064016101cc565b8251816001600160a01b031611613c5a5760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726563697069656e7400000000000000000000000000000060448201526064016101cc565b6001600160a01b038116613cb05760405162461bcd60e51b815260206004820152600860248201527f53656e642030783000000000000000000000000000000000000000000000000060448201526064016101cc565b60005b835181101561392557838181518110613cce57613cce614cc7565b60200260200101516001600160a01b031663a9059cbb83858481518110613cf757613cf7614cc7565b60200260200101516040518363ffffffff1660e01b8152600401613d309291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015613d4a57600080fd5b505af1158015613d5e573d6000803e3d6000fd5b5050505080613d6c90614e2b565b9050613cb3565b60008080613d8436600481846149ef565b810190613d919190614e63565b9250925092508151835114613de85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c69642064617461000000000000000000000000000000000000000060448201526064016101cc565b60005b835181101561392557838181518110613e0657613e06614cc7565b60200260200101516001600160a01b031663095ea7b383858481518110613e2f57613e2f614cc7565b60200260200101516040518363ffffffff1660e01b8152600401613e689291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015613e8257600080fd5b505af1158015613e96573d6000803e3d6000fd5b5050505080613ea490614e2b565b9050613deb565b60043560243560601c80613f015760405162461bcd60e51b815260206004820152600860248201527f53656e642030783000000000000000000000000000000000000000000000000060448201526064016101cc565b6040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610f52573d6000803e3d6000fd5b60408051608435606090811c60208301819052609835821c93830184905260ac3560e81c9183018290529291600435906024359060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c6001600160a01b0316336001600160a01b0316146140565760405162461bcd60e51b815260206004820152600160248201527f500000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b81156140d6576040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b0386169063a9059cbb90604401600060405180830381600087803b1580156140bd57600080fd5b505af11580156140d1573d6000803e3d6000fd5b505050505b8015610526576040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290526001600160a01b0385169063a9059cbb906044016104f3565b60008061413836600481846149ef565b8101906141459190614ed0565b9150915060007f000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae61236001600160a01b031661417f8484614457565b6001600160a01b0316036141b457507f1626ba7e000000000000000000000000000000000000000000000000000000006141bf565b506001600160e01b03195b8060005260206000f35b600080356001600160e01b0319168152600160205260409020546001600160a01b0316806142395760405162461bcd60e51b815260206004820152600160248201527f440000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6000816001600160a01b03166000366040516142569291906149df565b600060405180830381855af49150503d8060008114614291576040519150601f19603f3d011682016040523d82523d6000602084013e614296565b606091505b5050905080610a2c57600080fd5b6000806000856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156142e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061430b9190614963565b509150915060008085156143355750506dffffffffffffffffffffffffffff80831690821661434d565b50506dffffffffffffffffffffffffffff8082169083165b6103e580880290828902026103e88402820180828161436e5761436e614f01565b049b9a5050505050505050505050565b6000806000856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156143c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143e59190614963565b5091509150600080851561440f5750506dffffffffffffffffffffffffffff808316908216614427565b50506dffffffffffffffffffffffffffff8082169083165b6103e8828802026103e58883030280828161444457614444614f01565b0460010196505050505050509392505050565b6000806000806144678686614483565b92509250925061447782826144d0565b50909150505b92915050565b600080600083516041036144bd5760208401516040850151606086015160001a6144af888285856145d4565b9550955095505050506144c9565b50508151600091506002905b9250925092565b60008260038111156144e4576144e4614f30565b036144ed575050565b600182600381111561450157614501614f30565b03614538576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600282600381111561454c5761454c614f30565b03614586576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016101cc565b600382600381111561459a5761459a614f30565b03610a2c576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016101cc565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561460f5750600091506003905082614699565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015614663573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661468f57506000925060019150829050614699565b9250600091508190505b9450945094915050565b60006001600160a01b038089168352871515602084015286604084015280861660608401525060a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b6000806040838503121561471357600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007f8000000000000000000000000000000000000000000000000000000000000000820361478457614784614724565b5060000390565b6001600160a01b03811681146147a057600080fd5b50565b805161ffff811681146147b557600080fd5b919050565b600080600080600080600060e0888a0312156147d557600080fd5b87516147e08161478b565b8097505060208801518060020b81146147f857600080fd5b9550614806604089016147a3565b9450614814606089016147a3565b9350614822608089016147a3565b925060a088015160ff8116811461483857600080fd5b60c0890151909250801515811461484e57600080fd5b8091505092959891949750929550565b60005b83811015614879578181015183820152602001614861565b50506000910152565b6001600160a01b03861681528460020b60208201528360020b60408201526fffffffffffffffffffffffffffffffff8316606082015260a06080820152600082518060a08401526148da8160c085016020870161485e565b601f01601f19169190910160c0019695505050505050565b80516fffffffffffffffffffffffffffffffff811681146147b557600080fd5b6000806040838503121561492557600080fd5b61492e836148f2565b915061493c602084016148f2565b90509250929050565b80516dffffffffffffffffffffffffffff811681146147b557600080fd5b60008060006060848603121561497857600080fd5b61498184614945565b925061498f60208501614945565b9150604084015163ffffffff811681146149a857600080fd5b809150509250925092565b6000602082840312156149c557600080fd5b5051919050565b8181038181111561447d5761447d614724565b8183823760009101908152919050565b600080858511156149ff57600080fd5b83861115614a0c57600080fd5b5050820193919092039150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614a7157614a71614a19565b604052919050565b600082601f830112614a8a57600080fd5b813567ffffffffffffffff811115614aa457614aa4614a19565b614ab76020601f19601f84011601614a48565b818152846020838601011115614acc57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614afc57600080fd5b8235614b078161478b565b9150602083013567ffffffffffffffff811115614b2357600080fd5b614b2f85828601614a79565b9150509250929050565b60008251614b4b81846020870161485e565b9190910192915050565b600067ffffffffffffffff821115614b6f57614b6f614a19565b5060051b60200190565b600082601f830112614b8a57600080fd5b81356020614b9f614b9a83614b55565b614a48565b82815260059290921b84018101918181019086841115614bbe57600080fd5b8286015b84811015614be2578035614bd58161478b565b8352918301918301614bc2565b509695505050505050565b600082601f830112614bfe57600080fd5b81356020614c0e614b9a83614b55565b82815260059290921b84018101918181019086841115614c2d57600080fd5b8286015b84811015614be257803567ffffffffffffffff811115614c515760008081fd5b614c5f8986838b0101614a79565b845250918301918301614c31565b60008060408385031215614c8057600080fd5b823567ffffffffffffffff80821115614c9857600080fd5b614ca486838701614b79565b93506020850135915080821115614cba57600080fd5b50614b2f85828601614bed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080600060608486031215614d0b57600080fd5b833567ffffffffffffffff80821115614d2357600080fd5b614d2f87838801614b79565b94506020860135915080821115614d4557600080fd5b50614d5286828701614bed565b925050604084013590509250925092565b600082601f830112614d7457600080fd5b81356020614d84614b9a83614b55565b82815260059290921b84018101918181019086841115614da357600080fd5b8286015b84811015614be25780358352918301918301614da7565b600080600060608486031215614dd357600080fd5b83359250602084013567ffffffffffffffff80821115614df257600080fd5b614dfe87838801614b79565b93506040860135915080821115614e1457600080fd5b50614e2186828701614d63565b9150509250925092565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614e5c57614e5c614724565b5060010190565b600080600060608486031215614e7857600080fd5b833567ffffffffffffffff80821115614e9057600080fd5b614e9c87838801614b79565b94506020860135915080821115614eb257600080fd5b50614ebf86828701614d63565b92505060408401356149a88161478b565b60008060408385031215614ee357600080fd5b82359150602083013567ffffffffffffffff811115614b2357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220c11b55c61ea26ad978f86f41089d351cf6e8fc7cc2638072cc9efd6e18c5b88064736f6c634300081300330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305472e21ff5f6436345ae3781daa2bca02b7850fbee00582103c3c0b242e4b358c7dae3f4a82b08cc025221505ed0b2d9f4ccc73558abb73c4054dbb4aec6a2c6d335c74c0b2b0f7b2612f3b95f6b005821038bad26ce25720d774ee866cbee13ee46d85c3cf8bc6d69472371335d0b218ea0544347983e483ea47099e8cbca160c92599791b76a0219880405581d02a47a21274320f3ae619cdc91a04d0ab204573d53709bbdf8422c90050f014833f2c5b32baa15a6194f9503f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903991e905f1490a579c87d89d0513d40fe877ad5b706828247627791d112f631b005581d02da9cbfba754f6667d7da19326775338291b7ac130394a9e7134a493607011bffffffffffffffff05581d02487cd240f0e7586e311a0eae652bc509419c399057ae1b35192f6ec60402021921080219e77903ac185381cbef2a97f29b36fb637b54e56683370cb1a32693c976a3e175faa32303b659535497012e625343f59a02c5a8ad2993a80e718b173321447fcd559f043303321123626e117c7a8094b1dee05c22b7301e5e55dc35af0cc222d6f3c58be40f036453feacf5ed1a4fb255c9695dedb2af651da68d9e477da9c1aa65026e4fd40b03ab0ce86ca15900d75bde49be402abea54011c7b51ea03df3646608a93312c0fe032c95f3500d7742f4c80848ee63173ed7542af5e15827dbdab63864c8aa1300b20219ffff037ac3164a07c02b587a285a75bd286569e89ed5b3ccf02f09aacecb529aaac12803aced55fbcb70b0738b27538cb49ec45c09fe30bffd69db22912cba11a0c575b4036e99f3195a59a58ee8e026c79f7fd2c6ea863b8555bba31c78347b5e98b347e803f7160ab6770936b39ae8037c1bc95dbb6e1a1c3bfa7c2cda9e01fd52bbbc1aac03456ed8b9aace68389ab1ef7bc4969aa7cb9802a3c63cf62044ca1698fd7c50860219ffff0344ba51fdd659510bcaff4445c36315caaeb2f0bb2b781c8875b381dfbdc035ac03f91d34fcb255e2f66142f907f9a9be39aab665c8c661bcba7e805b66208d549b0381bc2ec612c42e1e6dd6b6144a1467adae29c7699d9fec1cf6472b6c1d8e67c7039218da8805a85ae56097d0087dd4ef174ac42b37664bfc1448a7d7f3c1a6adf203ee1832134cbbeb31a537438ad3e774a579750d46df5ad657654d2f5cd08e37ab0219ffff0219ffff03edc1b83643584468c929c188e0651d1a38fdd013715dc30bc39a7380da6eed1d03b3b41ca1bc552d992a4680c09ff84f6af4a032efa06b46cc4539991680117659038528c91651f81951a5552c2371927d3aca58343c76043cbc5197f6a8c60566820384a5460a06d0d81fd2977c80996982da4d59dd6871260e97560def31400b74da039696800fba8b5d4615ecb6730f4698a68187a74fdf3f6e776308e7f5d3ab913603b25c2c873ef94533364a36fe8dc1bc32e75eee2a5eaa57918b1a53493d8b397303d6635a2cdf9096f7a1275a5e4410cea4fa814fb44bdb6bfdd2d4f3c27df8fbbd03bbc04093b54d1fc2d080f9347cb6298ade8914e640c083b562f6f0e4eb893f1b030e14da6a1e800b402cf4078c36d8c4a1ae99d9b932a61d28a6644b50ce88820e031b22feb87d0dcae719c12d0dc2b913f5e7d6614c499b76fe8152352a5b1d0eb203cb428ad5bda1eebb43485cab0013a6b4b2ac52c05043c8440cb2a764612743360350bbbf8bd94a6186116b6b411089c753fe391110a77edc2016f7947b89f4a99403ee96a3e079982adb8bb56b81733e1a9d6f99caf5e5807494175e4209c52799d5032d4e25f351b4d3ee7e68c31a41aed13cc26cb65574031d9eb674073ac45c3ada03df43e9b31095cb0eaae9b6e44d4632f53dfa251bc853f2dfd8116c727ed7f8d803e1810696075702bd4de61e6e5b7a91f48e84387536e2df3856e7fb1177572a8703205e58a2ff4bb2050b9b4531b6a7082863403630eca6677cf7ed8060a5c5d76703b7ea5889c53652c58100034cc90122b0c503e62cd77e64a0c2a69d2e82a9e2fa03fd989462899cc6b52d2be6ed6a0ab7b137082bc6395dc9f59b3cf8c102483a7d03a97e37f6d14f5c33f017ddfb2dc082aa8de26c83477421c8c888a3a9083527f303de3de72f86c8e4e86b39ed193a560520bde82ee88835cfe9feb084d2c7fee3e80379599d5cdefcf9a972dd1dd5573bdfaa33523f05cc38f3e29d0456124a31a66103e5d0a62f027e8250f73e33dfc38aa5c5277c2b407cbfc301282256e7a198c0da03ba4c4d5ea84f4d282c759934568b5c8f861056e5d5bbb993c9e4e9981dc88fa803af2756a774be0f70e7f99dedc5f214a6f5df72e89d4e85a5800badac35c0ce9003ef2212074a4d19e92117015f08d6be027b57b3bfeb45f0095efaed51b6ecbfc40368c304c1c9bec6db9860d7b895b7852a83ba20fda1c5c867ea6e1d5bcf87dcb80326d2494ff57d733b3da2f2fd30398e26f060cb07c6048a3d07edeb907042ec3e030683c9d03ba595a03e692c192a45623d531cba62274445115f7f2adc6ca742ba0383baa4b265772664a88dcfc8be0e24e1fe969a3c66f03851c6aa2f5da73cd7fd037d066b3038458598dbca49ddb27d7e7c4960bc17fd27593a0608c2e310d9fbb205581e039996e80e297d565d6c3c0ea0fca9d27955b7ae5a592f4b4d572468fc200f01480d780b16f19eb25d1bffffffffffffffff05581e038fd1ddcedb9fa389fbdc3e4853b6926f62c8c7d1281debdb97f0aaf3400c0f47042c15b0a2df3a0362baa7946925438fac2d88405169f98185cf99cd1fcc0a52bf88106c729866e005581e030d3c5a1b02a6c9d7f1572134df1478390136cf1ff4a82ea5d9651128900c0247334439b38ed34805581e03dd8343bafb6f3e37457d6a228c22ed0c3e358e72389f8b7b0afb38d9d0040a0388fe65426ce1ac791f331a74cc8da2fe015849506d7bfa6a3e8454986ba915bc03a40416751cf94420c3d7f31ca79888f4ecc8c7bd3e1d7340300a9413991122980305089aabcf72127ae0779f226b8dd3acb9a5f70bcc089474a8806b3d163b2abb02191afa03868c7c091e135f8d9dfd9ea4e31e85c8771b61e89845a62960c6ccab3d39939003cc0fbf52068fb6c583beef047e8e7a7114023f3eefc7af43284aa4b8ccdc910803d3aa166afcfd3c53a01b4f0732cd0e7c3237aa3a7684f3bc4e4cb4156dee3a10035eaf90cf14515553d2c3d767833429c1adcdde05ac9b7b3f773b93a703abe29e030728496dca69d365d3a9443c67a7ee95c497850f050a1f29d0fa4ce32b7417360219ffff036a6dbbdbf7e4756ec68f103c6f48a12299b86d7ff106b9dfdaba35d78ea4272b0397d54aab510e73c467210be0c25e16498d5d25a32e29de3d387e73d352f163f903d7cc16d626ce496301ef2035a20830d46786c91ff5019a85e24f1fbfb0cd022f0319cd1aaeb5d29740b791dcd68953c1c7d11af97c73e545b7fcccdddf834fb11803f84a550218f43cdf5a88f0c2e37e865d67b77b1d68f74f6e4ba7ce9f9b9c6f4d03affedd1ed435445f556a89ef3003e8db88737f7e2f469908fa72ca54951801b403cc585b8b8fbadeb5c28881a2262b05cd7d966eac239291ec3a60db2731dc210503176e413eda712bee787323798bb72e24d23dac0ec06022b190df53d3de9198230219ffff03f535c8a25628b16bcfbe5d2fda5568c116e5bbaef7339df5026f20bef6bef60203bfd2249769d9575a5ad44ec6069f751104c5b3da42296b0ba6a2406e766f618803fbdd6028ea3792a473020f282344869ba964d2af1f86c90dd60c57322af5d81303cf791b7059244557d6b988909c7b8376991d39f170bc39ec47c6f373dceed830037971d99ee9b36b4f4335e91116a5794d82c81f98ba58c8e856df9bca31f200970219ffff03dee5f2aa47cbc87d4aa52068ae1b2c2921b0ca5a2420dfa450b3b3f2394b94e203d6435fead33489b83aee8c367d99a2f908b22377f499db665761db3179ab9bb20356a244cacb72ba684298dea0fb9e0798eb878bb15df6de89e16761f6728532f703d7d0a4e4d39a27936852f436eaef8db285591fea90f660fdc50498ea3e64ebc9031e5bf6ac66409f6ce47bfa62893f7e2d61c6f326ee9546a3dedf4f70f423874c033da0be20532b34ee848e55242d8ac80693ff344778f2052c051207d31a804c38039c3ad8afabf71a30ff4cefa3a6a66b3a5552fde815167e6d5a7c0e9b2c2aa04f038f947ef6e7bd822f5a006030fbc1b3faebea879ac886480f6164b9cea8bc41e403d57babcf83304e388836e041794b22ced9c0efa4ebe0df446fe8252417bf475e030f0a795b405eb1a476c5b744302ee085efc8560efe6cfb591384a2c770dbfdc6035daf2a6da162b587fb1b2bb63dbbcb99b39ba768991aa50b1a9356e23c3e1f81035c45122c23576279075d5cac7eb672833a25e00821b057386934c0cee7828368035ea0078eb95fb0f6ca2360a5584ed7ff28b3a0610d2f7d8453173a5d75f0d9d50398136a4e548a859c4661a80c87a92189effe4d9f4510329b7dd2fc8ffd77bb5003357a0b1e7b644b911ff3fcb9ade34722658fd306e365524fccbdb0e3b01a90f0032e7028fadd13e445711d1d16bb348a190a2c9f5daec7a83efb353b0cc29befaa03f59b2a46873b0cd46ccab3c06094ee569a18d6f60090de2d276536f957cbd1a803ec6c2e6d553d7f8a91be05e5d5e14fa40ecee06598e19e0723b21649f326a24c03dc0ff14826258143b7713665d0e44da69c2684489fca862674e012fc9b39df3303515fc3b94bdd8d66c46dc9e2d7e1337c6e0639e91e033ccd84d28e619ba8951c03d3204e75619aa0910da96ff04fdcffd4845eda5a848e0e86d228f26997e7f41f03feb0e6cf72d3b0cf0cbdd626724e0b9f90855b9d63f60bee59513cc75d27f67a031900429333ec9c56a253d7f1845c1b1921bddc329437f449da1704d677c8490103cf8dce985b508b6d5fe29d730d6d6d3d8cd1eaaef5a89606788ab01ab53c79b303320503b6a5d6647560ae3f26192df3ff5e730e27c5f4340a8876c85463c9d92a036e4a2d36c3aeed16b8ba78c421763b04003115b38367d23077d11f390bd019e403826bd234a360bbc6deaa3ddd4e03ddff23ae4472e64e618e0d48dfbc1a55142c03e789239d8ae536d7aec5d1096ae86afc6f55b780343fb5a981ec4008e1cec440034af1e9607c8354df8eb4a8f700a6cec4d76f93d760217e313890379aeb3613d003dee42c406e6aaf4afc7d7893c438371da3c266b0e35983aed3fcee2666adfe7f03e1fd0194f5fa756825f7c87047cd4f13ca7d42377b53ee24717a2d5837df196703b3d35b1f3977e8407f09ca0a1320d330c5f43af7e3d26bbf27a76aecc558853e03156eb776757ff8ff529b6b6ee6fe68a2f8a2f1a7c47c9b50eb895914ce26c957031dbbb64553ecddfd1923e3eccaa470b3bb4a4518130c71946fb3098ab4e1096d0383557068d1e8cb81ff9b39e7c848007a0b8dbf0bce5c9a4267ea5ce8986e5b2803ab5399b8894bd9e2d0a73848cdfaca2e1efbacb4bbb7de865af80d3ec0cc1a9e03407b37626854b10977182ed73d7349f3753f0c3180fcad8f98b8077f230d76320336aee05e5ee69482a1a998870e19d1afd7a4b7b6737384a98e487bb6df981640036777f50fb0b446df21aee6becc0eef4c9829c43e4dbf2a591ec498764baf0684038bb9ea532ca63344a45986f580eed8d84b065b3ad3bd87a9430191f9162029c4034f0c07b0463a0e96b2958a96b8f64fbd1ace3eb2cc0b97ce2ea3a162acf00d6203cf626b10add0bc3fac86370381dffe44b6a4598eea149d80a839549b4132e92f03b342569a3554bded0f73e43b3e6093e4ac0d74bc25c68a59a867c0fadcb602e10308f5947c589fb3e71569de4e0e117df84e20a34a50875ef57e9eff6b2f7b6bb103636e77998238ac3c15eb29fee6d628c39b8506e01247943e1ced9f879466fa0903cc438e2ee8296a7407a047ae24e95a66b74dff608c58e270778c2b56c0cfe00305581e033eeff29981122bba3ec25c64d610b07c7280cdd46262ccc9e9888a0fa00c0347034118de9d3c180342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e033534752aa13898ba40229c8e14367654e25d3c796ea778c37c2fa39c7007011bffffffffffffffff05581e03ffc9e773dfedced36dd61a7491acf5dd699201c9b7bb6da181fe58a2c0040105581e038bcacbcfeea22bf3df4c435df786e960d4fbef90b34466fb71fd6beff00c014702c6bbd5b4c8000459359d6080604052600436106101635760003560e01c80636ccae054116100c0578063c7a7696911610074578063cbe5190211610059578063cbe51902146103d6578063d33f532e146103e9578063d547741f1461040957600080fd5b8063c7a7696914610396578063ca777fbf146103a957600080fd5b80639879c48d116100a55780639879c48d14610331578063a217fddf14610361578063c4d66de81461037657600080fd5b80636ccae054146102be57806391d14854146102de57600080fd5b806336568abe1161011757806354fd4d50116100fc57806354fd4d50146102845780635c5c5701146102985780635dfd9bc3146102ab57600080fd5b806336568abe146102515780634d8160ba1461027157600080fd5b8063248a9ca311610148578063248a9ca3146101b95780632f2ff15d146101f757806331f7d9641461021757600080fd5b806301ffc9a71461016f5780631624eaf3146101a457600080fd5b3661016a57005b600080fd5b34801561017b57600080fd5b5061018f61018a3660046130f2565b610429565b60405190151581526020015b60405180910390f35b6101b76101b2366004612dc6565b6104c2565b005b3480156101c557600080fd5b506101e96101d43660046130b4565b60009081526065602052604090206001015490565b60405190815260200161019b565b34801561020357600080fd5b506101b76102123660046130cd565b6104df565b34801561022357600080fd5b5061022c600081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019b565b34801561025d57600080fd5b506101b761026c3660046130cd565b610509565b6101b761027f366004612cb5565b6105c1565b34801561029057600080fd5b5060d26101e9565b6101b76102a6366004612f12565b6105e3565b6101b76102b9366004612be3565b610633565b3480156102ca57600080fd5b506101b76102d9366004612b69565b61066c565b3480156102ea57600080fd5b5061018f6102f93660046130cd565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b34801561033d57600080fd5b5061018f61034c366004612b4c565b60986020526000908152604090205460ff1681565b34801561036d57600080fd5b506101e9600081565b34801561038257600080fd5b506101b7610391366004612b4c565b61071a565b6101b76103a4366004612e46565b6108ed565b3480156103b557600080fd5b5060975461022c9073ffffffffffffffffffffffffffffffffffffffff1681565b6101b76103e4366004612ffa565b610a5a565b3480156103f557600080fd5b506101b7610404366004612baa565b610a84565b34801561041557600080fd5b506101b76104243660046130cd565b610b73565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806104bc57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6104cd848484610b98565b6104d984843484610c3c565b50505050565b6000828152606560205260409020600101546104fa81610dbb565b6105048383610dc8565b505050565b73ffffffffffffffffffffffffffffffffffffffff811633146105b3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6105bd8282610ebc565b5050565b6105d58c8c8c8c8c8c8c8c8c8c8c8c610f77565b505050505050505050505050565b6105ee8a8a8a610b98565b6000806105fd8c8c8b8b6110e3565b915091506000806106138e85858c8c8c8c611231565b9150915061062386838388610c3c565b5050505050505050505050505050565b61063e888888610b98565b6000806106508a8a348a8a8a8a611231565b9150915061066084838386610c3c565b50505050505050505050565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff166106d4576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166106f9576105048282611390565b61050473ffffffffffffffffffffffffffffffffffffffff84168383611444565b600054610100900460ff161580801561073a5750600054600160ff909116105b806107545750303b158015610754575060005460ff166001145b6107e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105aa565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561083e57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610846611518565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff841617905580156105bd57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b6040517f5b2f30e90000000000000000000000000000000000000000000000000000000081526004810182905260009073ffffffffffffffffffffffffffffffffffffffff861690635b2f30e99060240160606040518083038186803b15801561095657600080fd5b505afa15801561096a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098e919061314d565b505090508060ff166000146109ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4f524445525f46554c46494c4c45445f4f525f43414e43454c4c45440000000060448201526064016105aa565b50610a50888888610a1360208a018a612b4c565b610a2060208b018b613353565b610a3060608d0160408e01612b4c565b8c606001358d6080016020810190610a489190612b4c565b8d8d8d610f77565b5050505050505050565b610a65868686610b98565b600080610a74888887876110e3565b91509150610a5088838386610c3c565b3360009081527fffdfc1249c027f9191656349feb0761381bb32c9f557e01f419fd08754bf5a1b602052604090205460ff16610aec576040517fde8e41fa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821660008181526098602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527f3fc30fe9d1afedc310e6ec6fd5f84b0ae3b800cdc1bcb04b65b986fdd35868f091016108e1565b600082815260656020526040902060010154610b8e81610dbb565b6105048383610ebc565b73ffffffffffffffffffffffffffffffffffffffff8316610bf05781471015610504576040517fc0159a61000000000000000000000000000000000000000000000000000000008152600481018390526024016105aa565b6000610bfd8484846116ac565b9050828110156104d9576040517fc0159a61000000000000000000000000000000000000000000000000000000008152600481018490526024016105aa565b6000610c488347613432565b905073ffffffffffffffffffffffffffffffffffffffff851615610c8b57609754610c8b90869073ffffffffffffffffffffffffffffffffffffffff168661186e565b609754825160208085015160405173ffffffffffffffffffffffffffffffffffffffff9094169363be2974769388938b938b93610cf3920160609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252908a015160608b015160808c01517fffffffff0000000000000000000000000000000000000000000000000000000060e08b901b168552610d67979695946004016132bc565b6000604051808303818588803b158015610d8057600080fd5b505af1158015610d94573d6000803e3d6000fd5b505050505080471115610db457610db433610daf8347613432565b611390565b5050505050565b610dc58133611985565b50565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166105bd57600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610e5e3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16156105bd57600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610f828c8c8c610b98565b600080610f948e8e348e8e8e8e611231565b9150915081871115610fd5576040517fc0159a61000000000000000000000000000000000000000000000000000000008152600481018890526024016105aa565b818710156110d5576000610fe98884613432565b905073ffffffffffffffffffffffffffffffffffffffff891661105b5760405173ffffffffffffffffffffffffffffffffffffffff88169082156108fc029083906000818181858888f19350505050158015611049573d6000803e3d6000fd5b506110548183613432565b915061107c565b61107c73ffffffffffffffffffffffffffffffffffffffff8a168883611444565b6040805173ffffffffffffffffffffffffffffffffffffffff8b811682526020820184905289168183015290517f149635d19f798f6b7c74c74a500d362c89316a0ab808abe5e0c0de45da9b1d2c9181900360600190a1505b610623858585848c8c611a3f565b82348315801590611109575073ffffffffffffffffffffffffffffffffffffffff831615155b15611228576111188483613432565b915073ffffffffffffffffffffffffffffffffffffffff86166112075761113f8482613432565b905060008373ffffffffffffffffffffffffffffffffffffffff168560405160006040518083038185875af1925050503d806000811461119b576040519150601f19603f3d011682016040523d82523d6000602084013e6111a0565b606091505b5050905080611201576040517f0579ec9400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260006024820152604481018690526064016105aa565b50611228565b61122873ffffffffffffffffffffffffffffffffffffffff87168486611444565b94509492505050565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260986020526040812054819060ff16611292576040517f2a070fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061129e8847613432565b905073ffffffffffffffffffffffffffffffffffffffff8a166112cf576112c88787878c88611b55565b9250611311565b6112da8a888b61186e565b73ffffffffffffffffffffffffffffffffffffffff8416611300576112c8878787611d11565b61130e878787600088611b55565b92505b6040805173ffffffffffffffffffffffffffffffffffffffff89811682528c811660208301528183018c9052861660608201526080810185905290517fdde2f3711ab09cdddcfee16ca03e54d21fb8cf3fa647b9797913c950d38ad6939181900360a00190a16113818147613432565b91505097509795505050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040516113c791906131f0565b60006040518083038185875af1925050503d8060008114611404576040519150601f19603f3d011682016040523d82523d6000602084013e611409565b606091505b5050905080610504576040517f6d963f8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526105049084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611d74565b600054610100900460ff16158080156115385750600054600160ff909116105b806115525750303b158015611552575060005460ff166001145b6115de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016105aa565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561163c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b611647600033611e80565b8015610dc557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60006116b88483611e8a565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8616906370a082319060240160206040518083038186803b15801561172057600080fd5b505afa158015611734573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117589190613134565b905061177c73ffffffffffffffffffffffffffffffffffffffff861633308761208f565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8716906370a082319060240160206040518083038186803b1580156117e457600080fd5b505afa1580156117f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061181c9190613134565b905081811161185a576040517fc0159a61000000000000000000000000000000000000000000000000000000008152600481018690526024016105aa565b6118648282613432565b9695505050505050565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152849160009183169063dd62ed3e9060440160206040518083038186803b1580156118e057600080fd5b505afa1580156118f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119189190613134565b905082811015610db45761194473ffffffffffffffffffffffffffffffffffffffff83168560006120ed565b610db473ffffffffffffffffffffffffffffffffffffffff8316857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6120ed565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166105bd576119c58161227e565b6119d083602061229d565b6040516020016119e192919061320c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526105aa91600401613340565b6000611a4a836124e7565b90506000611a5860006124e7565b905073ffffffffffffffffffffffffffffffffffffffff841615611a8157611a8184898561186e565b611a8d888888886125ad565b6000611a98856124e7565b90506000611aa660006124e7565b905084611ab38386613432565b1015611b2d578986611ac58787613432565b611acf8588613432565b6040517ff52b9cd600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9485166004820152939092166024840152604483015260648201526084016105aa565b86611b388285613432565b101561066057896000611b4b8987613432565b611acf8487613432565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152600090819073ffffffffffffffffffffffffffffffffffffffff8416906370a082319060240160206040518083038186803b158015611bbf57600080fd5b505afa158015611bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf79190613134565b9050611c05878787876125ad565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a082319060240160206040518083038186803b158015611c6d57600080fd5b505afa158015611c81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca59190613134565b9050808210611cf8576040517f5743851400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024016105aa565b6000611d048383613432565b9998505050505050505050565b600047611d20858585856125ad565b47808210611d5d576040517f57438514000000000000000000000000000000000000000000000000000000008152600060048201526024016105aa565b6000611d698383613432565b979650505050505050565b6000611dd6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166126c19092919063ffffffff16565b8051909150156105045780806020019051810190611df49190613097565b610504576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016105aa565b6105bd8282610dc8565b8051156105bd576000611e9d82826126d8565b90506000611eac8360206126d8565b905060008080611ebd866040612728565b6040517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018990526064810188905260ff8216608482015260a4810184905260c48101839052929550909350915073ffffffffffffffffffffffffffffffffffffffff88169063d505accf9060e401600060405180830381600087803b158015611f5757600080fd5b505af1925050508015611f68575060015b612024576040517fdd62ed3e000000000000000000000000000000000000000000000000000000008152336004820152306024820152859073ffffffffffffffffffffffffffffffffffffffff89169063dd62ed3e9060440160206040518083038186803b158015611fd957600080fd5b505afa158015611fed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120119190613134565b1061201f5750505050505050565b61202d565b50505050505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5065726d6974206661696c75726500000000000000000000000000000000000060448201526064016105aa565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526104d99085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611496565b80158061219c57506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e9060440160206040518083038186803b15801561216257600080fd5b505afa158015612176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061219a9190613134565b155b612228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016105aa565b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526105049084907f095ea7b30000000000000000000000000000000000000000000000000000000090606401611496565b60606104bc73ffffffffffffffffffffffffffffffffffffffff831660145b606060006122ac8360026133f5565b6122b79060026133b8565b67ffffffffffffffff8111156122cf576122cf613508565b6040519080825280601f01601f1916602001820160405280156122f9576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612330576123306134d9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612393576123936134d9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006123cf8460026133f5565b6123da9060016133b8565b90505b6001811115612477577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061241b5761241b6134d9565b1a60f81b828281518110612431576124316134d9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361247081613475565b90506123dd565b5083156124e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105aa565b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff821661250b575047919050565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a082319060240160206040518083038186803b15801561257057600080fd5b505afa158015612584573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bc9190613134565b919050565b73ffffffffffffffffffffffffffffffffffffffff841660009081526098602052604090205460ff1661260c576040517f2a070fb400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff168386866040516126379291906131e0565b60006040518083038185875af1925050503d8060008114612674576040519150601f19603f3d011682016040523d82523d6000602084013e612679565b606091505b5091509150816126b95785816040517f6c544f330000000000000000000000000000000000000000000000000000000081526004016105aa92919061328d565b505050505050565b60606126d084846000856127ae565b949350505050565b60006126e58260206133b8565b8351101561271f576040517f40f0f32900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50016020015190565b8181016020810151604082015160419092015190919060ff16601b81101561275857612755601b826133d0565b90505b8060ff16601b1415801561277057508060ff16601c14155b156127a7576040517f18ce829400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9250925092565b606082471015612840576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016105aa565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161286991906131f0565b60006040518083038185875af1925050503d80600081146128a6576040519150601f19603f3d011682016040523d82523d6000602084013e6128ab565b606091505b5091509150611d69878383876060831561294a5782516129435773ffffffffffffffffffffffffffffffffffffffff85163b612943576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105aa565b50816126d0565b6126d0838381511561295f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105aa9190613340565b80356125a881613537565b60008083601f8401126129b057600080fd5b50813567ffffffffffffffff8111156129c857600080fd5b6020830191508360208285010111156129e057600080fd5b9250929050565b600082601f8301126129f857600080fd5b813567ffffffffffffffff80821115612a1357612a13613508565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715612a5957612a59613508565b81604052838152866020858801011115612a7257600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060a08284031215612aa457600080fd5b60405160a0810167ffffffffffffffff8282108183111715612ac857612ac8613508565b816040528293508435835260208501359150612ae382613537565b81602084015260408501359150612af982613559565b8160408401526060850135915063ffffffff82168214612b1857600080fd5b8160608401526080850135915080821115612b3257600080fd5b50612b3f858286016129e7565b6080830152505092915050565b600060208284031215612b5e57600080fd5b81356124e081613537565b600080600060608486031215612b7e57600080fd5b8335612b8981613537565b92506020840135612b9981613537565b929592945050506040919091013590565b60008060408385031215612bbd57600080fd5b8235612bc881613537565b91506020830135612bd881613559565b809150509250929050565b60008060008060008060008060e0898b031215612bff57600080fd5b8835612c0a81613537565b975060208901359650604089013567ffffffffffffffff80821115612c2e57600080fd5b612c3a8c838d016129e7565b975060608b01359150612c4c82613537565b90955060808a01359080821115612c6257600080fd5b612c6e8c838d0161299e565b9096509450849150612c8260a08c01612993565b935060c08b0135915080821115612c9857600080fd5b50612ca58b828c01612a92565b9150509295985092959890939650565b6000806000806000806000806000806000806101408d8f031215612cd857600080fd5b612ce18d612993565b9b5060208d01359a5067ffffffffffffffff60408e01351115612d0357600080fd5b612d138e60408f01358f016129e7565b9950612d2160608e01612993565b985067ffffffffffffffff60808e01351115612d3c57600080fd5b612d4c8e60808f01358f0161299e565b9098509650612d5d60a08e01612993565b955060c08d01359450612d7260e08e01612993565b9350612d816101008e01612993565b925067ffffffffffffffff6101208e01351115612d9d57600080fd5b612dae8e6101208f01358f0161299e565b81935080925050509295989b509295989b509295989b565b60008060008060808587031215612ddc57600080fd5b8435612de781613537565b935060208501359250604085013567ffffffffffffffff80821115612e0b57600080fd5b612e17888389016129e7565b93506060870135915080821115612e2d57600080fd5b50612e3a87828801612a92565b91505092959194509250565b60008060008060008060008060e0898b031215612e6257600080fd5b8835612e6d81613537565b975060208901359650604089013567ffffffffffffffff80821115612e9157600080fd5b612e9d8c838d016129e7565b975060608b0135915080821115612eb357600080fd5b908a019060a0828d031215612ec757600080fd5b819650612ed660808c01612993565b955060a08b0135915080821115612eec57600080fd5b50612ef98b828c0161299e565b999c989b50969995989497949560c00135949350505050565b6000806000806000806000806000806101208b8d031215612f3257600080fd5b612f3b8b612993565b995060208b0135985060408b013567ffffffffffffffff80821115612f5f57600080fd5b612f6b8e838f016129e7565b995060608d01359850612f8060808e01612993565b9750612f8e60a08e01612993565b965060c08d0135915080821115612fa457600080fd5b612fb08e838f0161299e565b9096509450849150612fc460e08e01612993565b93506101008d0135915080821115612fdb57600080fd5b50612fe88d828e01612a92565b9150509295989b9194979a5092959850565b60008060008060008060c0878903121561301357600080fd5b863561301e81613537565b955060208701359450604087013567ffffffffffffffff8082111561304257600080fd5b61304e8a838b016129e7565b9550606089013594506080890135915061306782613537565b90925060a0880135908082111561307d57600080fd5b5061308a89828a01612a92565b9150509295509295509295565b6000602082840312156130a957600080fd5b81516124e081613559565b6000602082840312156130c657600080fd5b5035919050565b600080604083850312156130e057600080fd5b823591506020830135612bd881613537565b60006020828403121561310457600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146124e057600080fd5b60006020828403121561314657600080fd5b5051919050565b60008060006060848603121561316257600080fd5b835160ff8116811461317357600080fd5b602085015190935061318481613537565b80925050604084015190509250925092565b600081518084526131ae816020860160208601613449565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8183823760009101908152919050565b60008251613202818460208701613449565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613244816017850160208801613449565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613281816028840160208801613449565b01602801949350505050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006126d06040830184613196565b600061010073ffffffffffffffffffffffffffffffffffffffff8a1683528860208401528760408401528060608401526132f881840188613196565b90508281038060808501526000825286151560a085015263ffffffff861660c08501526020810160e0850152506133326020820185613196565b9a9950505050505050505050565b6020815260006124e06020830184613196565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261338857600080fd5b83018035915067ffffffffffffffff8211156133a357600080fd5b6020019150368190038213156129e057600080fd5b600082198211156133cb576133cb6134aa565b500190565b600060ff821660ff84168060ff038211156133ed576133ed6134aa565b019392505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561342d5761342d6134aa565b500290565b600082821015613444576134446134aa565b500390565b60005b8381101561346457818101518382015260200161344c565b838111156104d95750506000910152565b600081613484576134846134aa565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610dc557600080fd5b8015158114610dc557600080fdfea26469706673582212202609506e57eb8c5b40a5be25d97ef6588887e4575fe8f8a60db135dc324407c364736f6c6343000807003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02bed0e055aed33d0e36133b9279666f8f639c651bf6315bbf62cb0052070119359d03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02881e19125f72cb67ed37cee093c9370162e3e7a6fac1566d3d0e41b607011bffffffffffffffff0219204005581e03429fa6683c53b63b3b97812ba06cc305aaf69e0de331a83c3564bf4bf00401032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c9420325522e3a854326b3079b15e58010694e66f55a0f0253ea7a2185a2164df8874405581e03f4e0249a0fe554965f51f188adaa5f86b8c1a48b8624bce0010f0aa3d007011bffffffffffffffff02197b9a0219ffff034224586df415a3ba61a94e0faaa0a207fcd35baa7da073904ff3eec6f151274103b441ba206d0796bf502c2c3eb8be76852b2782e69fd126a84fd566775a26266903950f445239ebd878d032dbddf47f6edb94f62b856cde29f20ceaee183f05c6df03872fccd2153127bd55c8e9c4d98de6715cf7d5068dbe8f0ebfb7eae2eec6134503e0347d88f55ebbce5b5acb4cde388bf2a2077be4c56d633dcc6946b5b2ab16df03b148ddf6a90bce7d7c4847321884992e5f164348eeb5a9e3c731a8af0d228d7803be1004011aee17a54115accad1f582c960e4cfeb5c0ef0613d8f00b997f929ee0219ffff030431a7222ccb04d47864bd0cad6365eeef6a4ed6c6bf1146945d2467f3c3b55b03c6874aee29864f6c2128ab4c28d284cf41559bb218b0c9ee88c8951c807ff00b03ac71146201442ea7c73b69a984fe1a7b2eb5c306c271828ef177cee96559a20c0323481ebefa17fa7b7f1aea383a9928b0501e7c170bf5c8ff69fb76ccf660c8da03af62460ba92f0c5cce410cdb6803b6a6f8c7814a64cbeb37b084d8eb61529fd80219ffff036ed849c5d508c08f5de09d9ee940e8ba6f7299ea5e59434dfd0f50d6f669a3e8030ece4b7b1272e7422c4a71193290db74d3df8c5650473e042cff3e41da1c0a8903c8c426506a8a07f99235d6adfec0154a3d597e0d315cb0983e7954083eaaae150219ffff03fd93263a32b03173b814f20bcf61a8cf61d0ebc8636d2aa40a9189094b3c8d3703043e025f9d3b73cabbe81959336e4e02e592cb3b756289faa1d48cc19aecce6c0315154c158ea1fcb9c07aff1de1e4d3bfa8358f4709ff732bc54c696bc7e550d80316d5df4ab5aa7adec3e4cb5e67ce19ee3c2115e3b251b3385bbe0175215afdd003b6b53b93342fcc682e626a04225be47491833a914d4d56a33de9a1ae2cb0c12903df4ced132a173a168cbf1b08a4a95e2c1008333169fd6a7c8094b8a9256641e10370def5d2e630d3a47edab71f9c3a9a304f06b845d86a8acaf6a273124edc6c4103600a1742ab0e81da5a3c7f09ccc02e52176fb212c85393e5c5b4c1c0c49322f103668691b9f2325188b4cbe708ba5537d078bba7b113ca08bc9096bef1e12e929903d0f548d5f4a07e7e7e1a0194038cfad14ffa09d163023f60d826678f04f04a3403eec7229e7bb9136d55204c8ad66dd5112f630885fc58f1e96eacb2871d2541a40375f091147d2e3d4df0bb6b11a9d38c083a5f5c2344f575cffd7fb10c775cb8f1035b57367bb4ae64e431440bc6d0918d33f47cb8cf7f7502eedecd22258330b9940321c85ef3db6609420ca0b4de9e0145d3ae28032088a8c2be08984e108f4e2d7503a4051db5274a2bf11bbd0f88f96a38adbbc66b64552794c1ceb2bb9c953934dd0300b2dc95bcbbf9516ff9bcc24c137712486dd309c7fa5dd53b5013ecd447e99703fca38f4eddebe2b7394d4babd95495fa6f48329f896f5590cc73e648d9f7f0e6032cbb121ada35141366152463445b75e6d9a21358c4d6c9369f03eb337834b4350376ce4094235db562fd86685bf87e539c0a8bdba28b6d48393903e78edd9f85c10350808b1e057702c4edfa3c40213d2f9604d21150d3f80a4bb790d6791862b8d303c198bab979e98515e6f4b5f826ac00562cffa91f6fcb1d154c60e5b6bbba4b0b03f3b3f9fa4fa23be8dba226e15f34af23cf674331f9b1f7a6ee933f0010fcfbbe0306c85e15e384c018cdd7949e14695d76447a08f1fb30d4ef4c0141b8f05af2ce03322cf868f3507b31f737eb3ac135d2029ff58b4d5ecf1a29eeb31d8f81ca215f03a73e1a2947557a2c35133cc55d16300058b8127d185ffa2ee1b8d96e028b8d1d03a69e3dbea33b4558b8d01bc8869658e30f8cd07f07cc8e4a3a5fe008868eb85c032d0bc68c0bb3a4d63dd70e5f6c817741417b27d9953c0d9f1235dfc3f839e3090346f678e7b23d1306732da58e47914360c205ecbaa5cb66a1660fe32e1c85f29d0300400bfaad1c358c39a99e08cb4e8f5324563df4f38ea5cf94d306ccb270081d033dc1de4b053478303cab271508a664e1dc4ab1fc1724e415178aa88b3f41ced7038a963c5b7a2c40254797af34337178205a817df0e3ffebfa752605cf8118a34505581e03211843b5cf4a3b83abd7b180e98f1d55b65135e4cc9888bcf3df50f53008474e30ff027d700005581e03f607aeae6c09807935bcffd3a054db03712aba1650fe9ca9974ef906a004020350ce8873d0e1420020b375d716feedfd4ac047055ab2fbd1c1dc7ed80793dc2805581d029ce3d9224d63fd530886e7d344ccf09e3e8d6a5302afdecb5665aca80c186948092525d819ea90fe05581d02cf86d80ad760f926d8b3c16a25d4bdf064e942e76c202c1a1728957204010219011005581e03bfba18dae3bc7743bc1a382ab5fa67c226c27c12bae7452b243d1877600c094732c93d7536d31a03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03ce94b7b27897ad534138e0c456b2f9813bd997714b7e6cb27fac171ea007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0397540632ccfdfb465ccc54a86f7bc9aa1487107e085c9e7da192f11a4007011bffffffffffffffff05581e0374ffaf298cb4f7aa723c1de026637f0ac210b5bf5f30d6d7812f5146300847010663a404880003d605f10e1fe690943c350a4bd01c5b87499d719ffc673537d3eecd14cf8db8070219fb4203e37c458a48205a92cd501b0c40a377e8ffb0a99a4f55e390fdd917be50b927df03f871d499de3fa36194bb67d270de7818ac1d88e3cacd349559a52b8f0bf6920303c2051c504cf4733b3c0c2b94465f737ec3d76e53082b2c68b802f92527002d6403a7c3830ed8e6827a98a8eeeaddcda7cb10bd305b9882abfa3d0bdeadb706540d033f5c50373a0818b784bf30b310571d78ba48522560a133a4f3f28e737b518d8203b09bd2157f1a1cb8b621f0019b2b3a6586d8c12394b918df4a626772570a972903254f041a45c5c02bccbc41b18b5c6811d3e5687b1a9cfd2043b0ab76d8b49cec0323b3ab7eae5cf434ecce6c29fb4851e4ff02a67966f1a7998ac71d7bfa65325303dffb7c2027ce0a0aa72dc30e8d4a45479c0fca30ed8c2203dd3f169aa6cb594f03d1a30d5dad8479a8f791f7b2e8c487c24478d6f6cc2582242bf186ff789bddf60219ffff03c99fe9b60f82585489f4c0cf20dc4ae31637d5c7888783fb5a020bf54d1f815d0219ffff030fea202737210b51ea4758fc5c781f7106c9e44cf92d67c9db33afbe5b747998038aa1dd48d00eb080f2c70c1a100718426ab0c4e3cb53d501db6e6490d66a9c2d0329d6e6e4cd14d13b1f63c1a77c3c56f612cb8305b1e219d1d922f86949a2d5a80333d9f44ede2564c70e1473578f48f85bdc3bc3391a04232832feb985a7171cbc0219ffff03a1645367788d2bbde4b7e9d7e9543ffada543c209bc6991f55edbc75162b8953036837805bfacc02905867090841a8e2d4efeb28cc7462a56206448b9af2067f9c037a08a9eb349ea93cd3efad143786b25b570e2f8539341f2aef6f0e4fee354b5b03d15f5f7768e62b6adb695b8133356f7acb387ce5c0ba5de1549ed80920a3392c03a469e0319c3a2116eb623217faba33b3f945e3e2994a92c3a77962251161901a03055afc5d3efab16c5cf80268f913161de5a5a352e7cd505f554a60dd7bdfc4f50335d0577b3104290bfb2244185cb6c7727380b7558a22dd865f6c043a3366dee903deab38a593d4d3af578c022f0c7bae4c180f860e397de43169dacfae2371a149034764b66c0ac0cea36d847b93801cfd94cde8e248dd9ca85eaf144bf8914e0d1803c9947be7b85feeb1fefad2b8e80f2881a1d3d56f5aaf02015014d30adf5b1ddc03a242fabcbe6117954f670384f663c2e0066d0e2b44e8e9e839d471a7a9d53844036fde0301d3f22304c688beef9c33744a198e49b5517581074ba8fc60089a649703b3be89d71771bda6d9df7e641f834ac74e53444d8626ea2213ab223d64abfa84036070baa24d8f5be44202bd8760766bab1f6d9f857660b76f63328d7cfa7068e70342e2f13e1b7337502fb378f359c84805756912f418718011098843172db753e5037ee26335820e3ad33a694f4f553f343bd7309b74371a17781d253dc4f96f9a3103c6bb4de86d20f00a26fef413bc37c085b3e927a307c4d190a0334f9eba8044d1033e0725db72fc0ec13cc360b7f79daf59598d60d5db19b4805adc80b4f62668fa03d00791082066a7c47f312cf8765978dd1c573d326df6f9cb8771a3c7bf75e1ad031fc76ac3c72fd8a8d33105f7cefa4903e424ee3776d04e56f0b662835cb8407a0366aa346624baa70f1a492a4f98f53a8eb2df274f8fa7ec2c0b73b994bf60f2b7030517d7e43f0572f2c5c412503cae5f9f86359af9dc9c07c8fcb88ca0b548699f05581e0349e55fb79d0b9e89b73e035a33918d7643a913b63d4c8e964f1359e1200c0a470bdea40597f8ad05581e038d8588d73d9c9abf8cfe858431edac5c3fd61f54c43a4c493b2bcfec40040305581e0302a829e445e4346f3ba2c757b2eded476b16e98eaff5f46f487d87ee100c02470a0ae21b0f98000307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e03b6ab4efdb19dc60128633d578be9a3ad7d14bf2a6d63879e9fc527753007011bffffffffffffffff04591f2f6080604052600436106101bd575f3560e01c80637d1db4a5116100f2578063a3019cf811610092578063c7a4bdf711610062578063c7a4bdf7146104df578063dd62ed3e146104ff578063f2fde38b14610543578063f5b3c3bf14610562575f80fd5b8063a3019cf81461046d578063a9059cbb1461048c578063a910c945146104ab578063bf474bed146104ca575f80fd5b80638a8c523c116100cd5780638a8c523c146103fb5780638da5cb5b1461040f5780638f9a55c01461042b57806395d89b4114610440575f80fd5b80637d1db4a5146103b3578063887875c9146103c8578063896f1a95146103e7575f80fd5b80633b23a5ca1161015d57806353bc13dc1161013857806353bc13dc1461032c57806370a082311461034b578063715018a61461037f5780637ab3c76214610393575f80fd5b80633b23a5ca146102c257806349bd5a5e146102e157806351bc3c8514610318575f80fd5b806318160ddd1161019857806318160ddd1461025e5780631d6f96551461027257806323b872dd14610288578063313ce567146102a7575f80fd5b806306fdde03146101c8578063095ea7b31461020c5780630faee56f1461023b575f80fd5b366101c457005b5f80fd5b3480156101d3575f80fd5b5060408051808201909152600a8152694d61747420467572696560b01b60208201525b6040516102039190611ae9565b60405180910390f35b348015610217575f80fd5b5061022b610226366004611b32565b610590565b6040519015158152602001610203565b348015610246575f80fd5b5061025060185481565b604051908152602001610203565b348015610269575f80fd5b506102506105a6565b34801561027d575f80fd5b506102866105c9565b005b348015610293575f80fd5b5061022b6102a2366004611b5c565b61068c565b3480156102b2575f80fd5b5060405160098152602001610203565b3480156102cd575f80fd5b506102866102dc366004611ba7565b6106f3565b3480156102ec575f80fd5b50601a54610300906001600160a01b031681565b6040516001600160a01b039091168152602001610203565b348015610323575f80fd5b5061028661073a565b348015610337575f80fd5b50610286610346366004611bc2565b61078b565b348015610356575f80fd5b50610250610365366004611bc2565b6001600160a01b03165f9081526001602052604090205490565b34801561038a575f80fd5b506102866107d7565b34801561039e575f80fd5b50601a5461022b90600160c01b900460ff1681565b3480156103be575f80fd5b5061025060155481565b3480156103d3575f80fd5b506102866103e2366004611ba7565b610848565b3480156103f2575f80fd5b5061028661088f565b348015610406575f80fd5b506102866108f1565b34801561041a575f80fd5b505f546001600160a01b0316610300565b348015610436575f80fd5b5061025060165481565b34801561044b575f80fd5b50604080518082019091526005815264467572696560d81b60208201526101f6565b348015610478575f80fd5b50610286610487366004611bdd565b610cd8565b348015610497575f80fd5b5061022b6104a6366004611b32565b610d2b565b3480156104b6575f80fd5b506102866104c5366004611b32565b610d37565b3480156104d5575f80fd5b5061025060175481565b3480156104ea575f80fd5b50601a5461022b90600160a01b900460ff1681565b34801561050a575f80fd5b50610250610519366004611c14565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561054e575f80fd5b5061028661055d366004611bc2565b610dd9565b34801561056d575f80fd5b5061022b61057c366004611bc2565b60046020525f908152604090205460ff1681565b5f61059c338484610ec0565b5060015b92915050565b5f6105b36009600a611d34565b6105c49066017e9d8602b400611d42565b905090565b5f546001600160a01b031633146105fb5760405162461bcd60e51b81526004016105f290611d59565b60405180910390fd5b6106076009600a611d34565b6106189066017e9d8602b400611d42565b6015556106276009600a611d34565b6106389066017e9d8602b400611d42565b6016557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106686009600a611d34565b6106799066017e9d8602b400611d42565b60405190815260200160405180910390a1565b5f610698848484610fe3565b6106e984336106e485604051806060016040528060288152602001611ed2602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611765565b610ec0565b5060019392505050565b5f546001600160a01b0316331461071c5760405162461bcd60e51b81526004016105f290611d59565b601a8054911515600160c01b0260ff60c01b19909216919091179055565b6005546001600160a01b0316336001600160a01b031614610759575f80fd5b305f908152600160205260409020548015610777576107778161179d565b478015610787576107878161190d565b5050565b5f546001600160a01b031633146107b45760405162461bcd60e51b81526004016105f290611d59565b6001600160a01b03165f908152600460205260409020805460ff19166001179055565b5f546001600160a01b031633146108005760405162461bcd60e51b81526004016105f290611d59565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108715760405162461bcd60e51b81526004016105f290611d59565b601a8054911515600160a01b0260ff60a01b19909216919091179055565b601a54600160a01b900460ff16806108b05750601a54600160a81b900460ff165b6108b8575f80fd5b6005546040516001600160a01b03909116904780156108fc02915f818181858888f193505050501580156108ee573d5f803e3d5ffd5b50565b5f546001600160a01b0316331461091a5760405162461bcd60e51b81526004016105f290611d59565b601a54600160a81b900460ff16156109745760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016105f2565b601980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556109c09030906109af6009600a611d34565b6106e49066017e9d8602b400611d42565b60195f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a349190611d8e565b6001600160a01b031663c9c653963060195f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab79190611d8e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b259190611d8e565b601a80546001600160a01b039283166001600160a01b0319909116811782555f908152600460209081526040808320805460ff199081166001908117909255945486168452600390925290912080549092161790556019541663f305d7194730610ba3816001600160a01b03165f9081526001602052604090205490565b5f80610bb65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c1c573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c419190611da9565b5050601a5460195460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610c96573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cba9190611dd4565b50601a805462ff00ff60a81b19166201000160a81b17905543600655565b5f546001600160a01b03163314610d015760405162461bcd60e51b81526004016105f290611d59565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f61059c338484610fe3565b601a54600160a01b900460ff1680610d585750601a54600160a81b900460ff165b610d60575f80fd5b60055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610db0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd49190611dd4565b505050565b5f546001600160a01b03163314610e025760405162461bcd60e51b81526004016105f290611d59565b6001600160a01b038116610e675760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105f2565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610f225760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105f2565b6001600160a01b038216610f835760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105f2565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110475760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105f2565b6001600160a01b0382166110a95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105f2565b5f811161110a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105f2565b5f80546001600160a01b0385811691161480159061113557505f546001600160a01b03848116911614155b156116285761117a6103e8611174600e546012541161116957600d54601254116111615760075461116d565b60085461116d565b600b545b8590611944565b906119c9565b6001600160a01b0385165f9081526004602052604090205490915060ff1680156111b257506019546001600160a01b03848116911614155b80156111d657506001600160a01b0383165f9081526003602052604090205460ff16155b156112dd5760155482111561122d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016105f2565b6016548261124f856001600160a01b03165f9081526001602052604090205490565b6112599190611def565b11156112a75760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105f2565b4360065460016112b79190611def565b11156112c857823b156112c8575f80fd5b60128054905f6112d783611e02565b91905055505b6001600160a01b0383165f9081526004602052604090205460ff1615801561131d57506001600160a01b0383165f9081526003602052604090205460ff16155b1561139c5760165482611344856001600160a01b03165f9081526001602052604090205490565b61134e9190611def565b111561139c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016105f2565b6001600160a01b0383165f9081526004602052604090205460ff1680156113cc57506001600160a01b0384163014155b1561140d5761140a6103e86111746010546012541161140057600f54601254116113f85760095461116d565b600a5461116d565b600c548590611944565b90505b6001600160a01b0384165f9081526004602052604090205460ff1615801561144d57506001600160a01b0383165f9081526004602052604090205460ff16155b801561146257506001600160a01b0384163014155b1561146a57505f5b305f90815260016020526040902054601a54600160c01b900460ff16801561149c5750601a54600160b01b900460ff16155b80156114bf57506001600160a01b0384165f9081526004602052604090205460ff165b80156114d45750601a54600160b81b900460ff165b80156114e1575060175481115b80156114f05750601154601254115b1561159a57601454431115611504575f6013555b60026013541061154f5760405162461bcd60e51b815260206004820152601660248201527513db9b1e480c8810d04818985b185b98d9481cd95b1b60521b60448201526064016105f2565b61156c6115678461156284601854611a0a565b611a0a565b61179d565b47801561157c5761157c4761190d565b60138054905f61158b83611e02565b90915550504360145550611626565b601a54600160b01b900460ff161580156115cb57506001600160a01b0384165f9081526004602052604090205460ff165b80156115e05750601a54600160b81b900460ff165b80156115ed575060175481115b80156115fc5750601154601254115b15611626576116146115678461156284601854611a0a565b478015611624576116244761190d565b505b505b80156116a057305f908152600160205260409020546116479082611a1e565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906116979085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546116c29083611a7c565b6001600160a01b0385165f908152600160205260409020556117056116e78383611a7c565b6001600160a01b0385165f9081526001602052604090205490611a1e565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61174e8585611a7c565b60405190815260200160405180910390a350505050565b5f81848411156117885760405162461bcd60e51b81526004016105f29190611ae9565b505f6117948486611e1a565b95945050505050565b601a805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106117e3576117e3611e2d565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561183a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185e9190611d8e565b8160018151811061187157611871611e2d565b6001600160a01b0392831660209182029290920101526019546118979130911684610ec0565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac947906118cf9085905f90869030904290600401611e41565b5f604051808303815f87803b1580156118e6575f80fd5b505af11580156118f8573d5f803e3d5ffd5b5050601a805460ff60b01b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610787573d5f803e3d5ffd5b5f825f0361195357505f6105a0565b5f61195e8385611d42565b90508261196b8583611eb2565b146119c25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105f2565b9392505050565b5f6119c283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611abd565b5f818311611a1857826119c2565b50919050565b5f80611a2a8385611def565b9050838110156119c25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105f2565b5f6119c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611765565b5f8183611add5760405162461bcd60e51b81526004016105f29190611ae9565b505f6117948486611eb2565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146108ee575f80fd5b5f8060408385031215611b43575f80fd5b8235611b4e81611b1e565b946020939093013593505050565b5f805f60608486031215611b6e575f80fd5b8335611b7981611b1e565b92506020840135611b8981611b1e565b929592945050506040919091013590565b80151581146108ee575f80fd5b5f60208284031215611bb7575f80fd5b81356119c281611b9a565b5f60208284031215611bd2575f80fd5b81356119c281611b1e565b5f8060408385031215611bee575f80fd5b8235611bf981611b1e565b91506020830135611c0981611b9a565b809150509250929050565b5f8060408385031215611c25575f80fd5b8235611c3081611b1e565b91506020830135611c0981611b1e565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611c8e57815f1904821115611c7457611c74611c40565b80851615611c8157918102915b93841c9390800290611c59565b509250929050565b5f82611ca4575060016105a0565b81611cb057505f6105a0565b8160018114611cc65760028114611cd057611cec565b60019150506105a0565b60ff841115611ce157611ce1611c40565b50506001821b6105a0565b5060208310610133831016604e8410600b8410161715611d0f575081810a6105a0565b611d198383611c54565b805f1904821115611d2c57611d2c611c40565b029392505050565b5f6119c260ff841683611c96565b80820281158282048414176105a0576105a0611c40565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611d9e575f80fd5b81516119c281611b1e565b5f805f60608486031215611dbb575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611de4575f80fd5b81516119c281611b9a565b808201808211156105a0576105a0611c40565b5f60018201611e1357611e13611c40565b5060010190565b818103818111156105a0576105a0611c40565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611e915784516001600160a01b031683529383019391830191600101611e6c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611ecc57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220666d1b1bf999a60906a8aae39dc10be68bf6a2cc39b2c425067e9a98da69d93264736f6c6343000819003303181368eed223c5cb46f24519cd5e3755a74ef33c78b89c2260641db6bedfcfd2036bad5bb3084543fc35ce3e695f17c0f3caa8ddf703795d1946cad96f4e8535f9035ffc5aee060f203c8d9fe85eec7542d66a31ffc9ba533795f50c15cc68c349560367509f51980bcebb9b40b37884e94b64bb2753225c9c59c4fdf0440f9945eb3e03b602185c7b1d70682f69874fe915c498bc76a55317a55a257ebbe1c03602b8b103b1bbeedf8cf967e4487e69f79360e7fd1d9c9a875fe8405374bc3facbea805b3035efde2c2f6186bc811628bd50c25b68765cc8e5fdc08392bc43de7c4035913e80381bceae4b75682ac6e52e9f5a98eb0c0d12afdc5fc3dec5f2c960096fe629072036a5e0a4d72b97abc3d324ded79b4336eba128710a47fbd83004d6c3ebad8919403872afe52fbc0adbad58ec5e4713bd65640973b2dff6e459d4634919362fa79b900582003477d6d677e9cedd4b64917a32fee85043b9f1e7c2f064976d3681abc36d0305820ffffffffffffffffffffffffffffffffffffffffffffffba1600902058212e9b005820034de66f94f353499b1818ebd6986f374a8f51eecf30faafa9d70fbe7540bf10483bd9488806788b2200582003ac69419b6a2c1f999ccd622ad17fa554118dc7f56154cf9c933722052c72305820ffffffffffffffffffffffffffffffffffffffffffffff62ffb44448a2bdd7ae0058200356db06d0721734808a0c1d04a9adc122162328f3a09721f94124d4ec1886305820ffffffffffffffffffffffffffffffffffffffffffffff3897a19cc4ee07261200582003fb2c8834766cd850e4a7a98763319c2dc7247ac34d95575b7c8902e636aef05820fffffffffffffffffffffffffffffffffffffffffffffffd3d1cdf4d39455a56021985250320c83a35753493d7a0fc8956746177555b66ce0833c112705b85cdb20dc0f2f90361f8099681284a76aa1c4a328d12241e7235647f31f506f8649cdfd524ec5c1b034c35fa47860f2c44b463557d123aa6ec43de076418f3dac04a561644bb881c060352a4c287b297d5089ce58f7b6290d7b0e3af8b001030c25634aadcfc2b84f1f103b69f9c2db340c236813dec15d2cbeaf9f2a0019af26225f3c4effb5b9cc0a6fd033beed1e28700de5567cf2dbb5c95a12a87502a1ad8e5338d9f5024185cb6f95f03f53364786d79a051259908bb963dfde46943c53eb20313ad157ffa7ad2ef6c6a0219ffff03ffbf0f45f4d323a17d22003144a0e404209c269a58d4ad49c749c94c71e541cd03049c31975235bd74a9f8c1f5e5d60140cdd495775ff63e8706857f8748e181dd031691f23000808ced8f2a0a493a77707ffa85ebbfa421b0454acbf3d92545bdea0300608cec345a10cd779b3d5615a84face0372d9a0b402dad2164c0babb998e9c038cdddf6591429ff605903cfe5e0715b567f7940c0789ffd731fa1533c33d315e037b9f439358b0d851e52c0e1e6eee1b6558ab44dabf6d50a41a4713daa4c8b9700399e813be5bd4871a4162b1b0f3113be9b5c9c63ddafb9dc5036ed999fab7e8ff0368c093420da718b1e88105a55a9743aaf1303f271dd33f031e4cae9d61b2505103bebcf80b7eeae52a75ba5ca52ca711036a02ed10b8dbdbccee9ea74765cb960403add37dc90b6222017c7ca4a7add870a1492266cc6d915611901a3fecd515ae5a03b35d9897b275dec885153cfe3c4abd8c833ab23c0215b794c69d325b27d6965c03d4d6a12d15ab4a21426614972482a925cb554879f850d346421929ec4ac3c798033f43b7c4de3128ab650ec6c1429368546241ba28bc92e67032961089d205300403296f964d9a9859f3e2db82e12e6c68d02e8fb6e867b5a594b36db513a14ca2c00219ffff05581e03dd6b88d5de4cd3022d52eb46366e02ada71de94f4a861887db8bfe68c00701191f2f05581e0376717cc0757f68458ee136a0d1dc1fcf1e4c2b99e85fdb251a19853830040205581e03f4baeda97d87fc6ab8004b785b14ea8b43917825dcdc2d30b845bc4d400c014772b86dd8d9753c03647740b924582da2722b8826fdb735a426f798020d1863ae5ad79860b530065305581e032e37fc4391ec215ca3a7bb6b3a50f6403e2fac80fd7cd9581a7e64cbb0040105581e0318b65d7f719d2eeec340d944516485e6e8a4a0aa06a5b3e0ecfa39c0d00c0147014f9cd5f7f4000219bfcf03c5b3145f38b5578afe43d2eda8a252df5dd9807727fdda4d1f53ca60bba829120329d82ac8df57d31db2f3392bd2b65bee641e3cbb465f54bc892f2f5b5a36498803f03717dc2866e6d403e9f2c5fd4f9a38b877386a59b46f27ed79cf1d88959eca03885d06d941ebb426663f580555235c042690b9c1a7972b0b091da4435f672ae503172ba90a94891217dad41809c69dd5f1e47d43cee5ca641ce6bfbec47057c8e0037e4d9e89717aa45b6db60667f4a51ce7041216c93cc0ff34a2a6c2d89cd84e4a03e7211110df0711a271734c2ef54b35762ba24e4cce25fe98fdfc5e7f25f4d77c0376a3d0e90cebb10fdbc489f74759f08480f48d1a40c78c6be8154c40bf46acea0300c4f09f5a5828d864fa2b14d1e8899fcfc9bea6d28d56669b1e09692ecee1f2030f1d3a44ce40c76493c7f13d19fecc128cf65902fba6114da9b6cf042f1c8b28039be240a6582518ddc1f12753121dcf57c03e09d5ed06b0879d158cbdc737ab1103703282f339064a223d3cb6043ab0beb5ac36667f8eda38804ec5ad240155329d0219ffff03598572b8bc26a90127e7d3e0388ccf162a5e37498caf53d8a3120b5d485c808403d7c39115d4ed808b85806e67863e0175fade75fab04238bd87822bf298c3e09d032250ddb07ec9bd9ec42266be52fc8c2cb06afc3a41460ba104111c3093afaae003306f95194add269e36966876e77024c1764a0ea1d9525ea69124db217867af73036f2ef3247289cd18b07d2a63d369b8b8fe1f4354b49d8ea2b40ccbdcfcc04df503dea58839f5199fd77e9625a18c930386aba22431e7053e6407a8f7be7152f428039f2b7b5d7688d49a073ae9d3765e0cff072c88ae71d74705bfed74e524a0d3a503d113c0a10cb34488041480f651d23c8f83126e5555e7916235322b7ab8e636a10399ad657bacf88f0e7d6742073c63626f57f312b0c3d13ccb53cb81cb4763505f033504df2f5f19553d0576d92e7d610c30672d1c78de796bd27dd2111c1768a0d2039d8837a2afd1937533d7236d2b6efb5ddda70f5328d15f60067e53d238dc69760348e6b546bff207b7a62447c3c5712e66d89d64fbd43d66e55ebc75e47f522b030307b4704ed9c1810df9591d14ae5cfb783e1a5dd1dac405ec6eda6867731ecabc03f6208c93d15efe08d3af4e1960189d679bc3de4bf567fc8036de8dd8dabca33f0219ffff03e68f1bce9d1734e76c8b9624ae957480990093a0c64e55ae053d429acc47c1eb037a09f8782b937c8600ca710d99a683e795b2575f5470b749957f90d7018d976e035af4461a4cdb0ca310a20baa417965d0cdae0fd5b5d9a2f35e8bf8958e42b516039dd7cc1326b50bbfd11d14b9d7815b6e83a3020569ed5dc0cd42070bfda3f3d9035c6c138f2e4fbcdb86251c6e43e5bddbb0a28e0910fe27b5f295a27ee6293a1b0219ffff03ff675e8efe1f6b9b8b85332b4e12d1e91014c3c624597a9a4d934eaf4332461e0304fb7de7b0f8e6cc9cd2942fd8edef77255b2a0500e98696f641e124b178a8c003a5f653085f294b6083d806e7dc3e74fea4040bc93570e7512b330ec07e7557e3039cdc80f2c816d5352dff3f1f172b0fee30bbb5ae46103e26912b30748d7d769d03e50b737bbfff997b50bf128f3b6c8cfac3362a303a73fa8a9a5af84d1ada8912030e08259e561a96ec2edecd323a5fb22ad0635e6d6361c7a9c8bc859e5ad803fb035138c19737df093d412e34d945ac6c7db8d1c57fd56c9bde53365bccfc4b34ab03f7fd1ecb744a90e17bf5297acd016ca8a8867ea7130fbaaad9fa2c5d2a0a8a3103978f454f508aeed922598d157d18197e4a937bb877dce0ac3eba5ceafcd2e83b03ec58748893639f0e4112487ee910b2cffde59a37efdf2c2416b4584abdd2a07e038dcfad1036802079036fcabae86d741a49ec3af265e3c6b7c37133e9e4033ef703ccf402f20e096be6ffa938c86573bfd563269dfcd806e6137c5ce7e11ae43dd5037aaa141b7e43678d5b657d3830f072419be2f51b698315804a909c79765164a103ec8b9c6e3d067d0a3377a9d16e5d6619f22eb85c955dd1815edaa68e2bf887f90336453d3f9d18abb098dd18b378773bb6975a67c8cd5bf538298a60affa01ccd10358f2ad876b304eff55d5381878e78b6b599cd6069899f7e808ccba8d7422b99903cd56b800c43544ef83efea44de08770d83339d889ca702e23cfd6d03dc95039003502693f5450593a7ac98ab58c959fcf6362f4c35f58197e0d84a422ac39c493f037f340a1190bf5316ad32e6dc0dc4ed1bc1aa3e8fdb8b4a56913e143e96018cda039b6663794b6e27bfb1e8f5eed06a5e1e469be80046fa6993d9bf953d420792c303bec98534e8b87768790e5c56e62dea55a99ec5214ce024ec07fc342c6de450f80395ff48f3269515bd066c5969f312b75b11fe6d701badde48e11e9d65ef67e9b0038344a9f2fba808a73bd313680b5e5856b955132649ab7ce66ad32b24a120403403af1e6df8612c1cf7b95d43d1443c4e7700cf6452bb9c76307eeeebec0037e67c036faeb8722507f5b3a5ba8a7dd14b900c5adfd64c034e03c3e0134716bca61d4f030e8cc138027a0268cc24944cb378baf2d3752ffcd7549c790a37b46135094ffd03510356289f2f87235eb8deebf0fb1a18b69b3c7e447ecaa875ddf77b238587d7034291db6113f73ef4299f1e7da816139e8e3877ea2236934eb04a90e08de0a419037c28588828880dfd3958b553ed500f687835fd662b081c02a8c28fdf4782c87f0352f875fe068fd25c7b06e2259e7de3446e5af97038bb55f09440536977bd717205581e03daea4254b5136334ae561fca624de34f8588cfba4e09500baa2e12b7c00401035f1945cce933485b0e0604614e45d5467eee35c387d26a3dde70e4c72e10e90d03dea5cecb162e5d608fcd4afb0ba6e3a0a54f7e1852bc80b2c76ee6fc26909dda0372f067647dbc91d5c278fc0e81a28da6d517cd1604219556c90371ffa0d72552033105c192c8acfda2f19043e88e88d487047b51fd095c345ad13a4ab670d4c9e505581e03f416cdc0d9427d72e5e9ac952bb444ce6a9ec59f0c945b44822ad66ed0040205581e039e15eb7f64d60be5e58b7cc3251b73d180d941f53012fab949e3e5ebb0040a05581e03cb82e4d2307ac1787c8266fba3ddb205fd6681474af8f0260d2a7b2da0040103d6ea1347366e442510d849e3e1b819c671c8b8d002560fb6f4d690a498c8cd1d05581e031781080f30722c2f3fd5ffb6a47b8bb6523ae7d85fb6cf6b22f80aff300404045917e9608060405234801561001057600080fd5b50600436106101825760003560e01c806381e91d42116100d8578063b0da48c91161008c578063dd62ed3e11610066578063dd62ed3e14610331578063f1b50c1d14610377578063f2fde38b1461037f57600080fd5b8063b0da48c9146102fe578063cca5dcb614610311578063d505accf1461031e57600080fd5b80638da5cb5b116100bd5780638da5cb5b146102bb57806395d89b41146102e3578063a9059cbb146102eb57600080fd5b806381e91d421461027d57806384b0196e146102a057600080fd5b80633644e5151161013a578063715018a611610114578063715018a61461024f57806379cc6790146102575780637ecebe001461026a57600080fd5b80633644e515146101fc57806342966c681461020457806370a082311461021957600080fd5b806318160ddd1161016b57806318160ddd146101c857806323b872dd146101da578063313ce567146101ed57600080fd5b806306fdde0314610187578063095ea7b3146101a5575b600080fd5b61018f610392565b60405161019c9190611476565b60405180910390f35b6101b86101b33660046114b9565b610424565b604051901515815260200161019c565b6002545b60405190815260200161019c565b6101b86101e83660046114e3565b61043e565b6040516012815260200161019c565b6101cc610462565b61021761021236600461151f565b610471565b005b6101cc610227366004611538565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61021761047e565b6102176102653660046114b9565b610492565b6101cc610278366004611538565b6104ab565b6101b861028b366004611538565b60096020526000908152604090205460ff1681565b6102a86104d6565b60405161019c9796959493929190611553565b60085460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b61018f610538565b6101b86102f93660046114b9565b610547565b61021761030c366004611615565b610555565b600a546101b89060ff1681565b61021761032c366004611651565b610567565b6101cc61033f3660046116c4565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b610217610719565b61021761038d366004611538565b6107b4565b6060600380546103a1906116f7565b80601f01602080910402602001604051908101604052809291908181526020018280546103cd906116f7565b801561041a5780601f106103ef5761010080835404028352916020019161041a565b820191906000526020600020905b8154815290600101906020018083116103fd57829003601f168201915b5050505050905090565b600033610432818585610815565b60019150505b92915050565b60003361044c858285610827565b6104578585856108f6565b506001949350505050565b600061046c6109a1565b905090565b61047b3382610ad9565b50565b610486610b35565b6104906000610b88565b565b61049d823383610827565b6104a78282610ad9565b5050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812054610438565b6000606080600080600060606104ea610bff565b6104f2610c2c565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546103a1906116f7565b6000336104328185856108f6565b61055d610b35565b6104a78282610c59565b834211156105a9576040517f62791302000000000000000000000000000000000000000000000000000000008152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886106038c73ffffffffffffffffffffffffffffffffffffffff16600090815260076020526040902080546001810190915590565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061066b82610d16565b9050600061067b82878787610d5e565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610702576040517f4b800e4600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301528b1660248201526044016105a0565b61070d8a8a8a610815565b50505050505050505050565b610721610b35565b600a5460ff161561075e576040517ff2a5f75a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517feadb24812ab3c9a55c774958184293ebdb6c7f6a2dbab11f397d80c86feb65d390600090a1565b6107bc610b35565b73ffffffffffffffffffffffffffffffffffffffff811661080c576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b61047b81610b88565b6108228383836001610d8c565b505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108f057818110156108e1576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604481018390526064016105a0565b6108f084848484036000610d8c565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610946576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff8216610996576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b610822838383610ed4565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad097816148015610a0757507f000000000000000000000000000000000000000000000000000000000000000146145b15610a3157507fa4ffa33a4dc85ea9eb88b15a628d426c6d17391411a1fe43943f02491dcc875a90565b61046c604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527fa42c0c045dd034e77a5fb2d505eaf58fe1a4d32ca623ec82477faa47844b37d2918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff8216610b29576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b6104a782600083610ed4565b60085473ffffffffffffffffffffffffffffffffffffffff163314610490576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016105a0565b6008805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606061046c7f44617461204f776e6572736869702050726f746f636f6c0000000000000000176005610f3e565b606061046c7f31000000000000000000000000000000000000000000000000000000000000016006610f3e565b73ffffffffffffffffffffffffffffffffffffffff821660009081526009602052604090205460ff161515811515146104a75773ffffffffffffffffffffffffffffffffffffffff821660008181526009602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f73121574a4eadb4cfdeb2ba56a6a88067b03edd1f0a0dfcac0a5a95682a24367910160405180910390a25050565b6000610438610d236109a1565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600080610d7088888888610fe9565b925092509250610d8082826110e3565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416610ddc576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff8316610e2c576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020908152604080832093871683529290522082905580156108f0578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ec691815260200190565b60405180910390a350505050565b600a5460ff1615610eea576108228383836111e7565b3360009081526009602052604090205460ff16610f33576040517f8cd22d1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108228383836111e7565b606060ff8314610f5857610f5183611392565b9050610438565b818054610f64906116f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610f90906116f7565b8015610fdd5780601f10610fb257610100808354040283529160200191610fdd565b820191906000526020600020905b815481529060010190602001808311610fc057829003601f168201915b50505050509050610438565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561102457506000915060039050826110d9565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611078573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166110cf575060009250600191508290506110d9565b9250600091508190505b9450945094915050565b60008260038111156110f7576110f761174a565b03611100575050565b60018260038111156111145761111461174a565b0361114b576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600282600381111561115f5761115f61174a565b03611199576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016105a0565b60038260038111156111ad576111ad61174a565b036104a7576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff831661121f5780600260008282546112149190611779565b909155506112d19050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156112a5576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260248101829052604481018390526064016105a0565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff82166112fa57600280548290039055611326565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161138591815260200190565b60405180910390a3505050565b6060600061139f836113d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f811115610438576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b818110156114385760208185018101518683018201520161141c565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006114896020830184611412565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146114b457600080fd5b919050565b600080604083850312156114cc57600080fd5b6114d583611490565b946020939093013593505050565b6000806000606084860312156114f857600080fd5b61150184611490565b925061150f60208501611490565b9150604084013590509250925092565b60006020828403121561153157600080fd5b5035919050565b60006020828403121561154a57600080fd5b61148982611490565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0602084015261159060e084018a611412565b83810360408501526115a2818a611412565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611603578351835292840192918401916001016115e7565b50909c9b505050505050505050505050565b6000806040838503121561162857600080fd5b61163183611490565b91506020830135801515811461164657600080fd5b809150509250929050565b600080600080600080600060e0888a03121561166c57600080fd5b61167588611490565b965061168360208901611490565b95506040880135945060608801359350608088013560ff811681146116a757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156116d757600080fd5b6116e083611490565b91506116ee60208401611490565b90509250929050565b600181811c9082168061170b57607f821691505b602082108103611744577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b80820180821115610438577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220d1f4fd897226505c3f5b5bcae087698b272e3ea89f5c0e8c83d5e518baef815964736f6c634300081800330361ab500e4ca17f4f398764d2fce818eca9dd8c2504864bcf9733bcf9acbbb51b036d3adb9182e5b9d787ed788675ba27807335339762859ddb153f8da3910b44a80389d48fa6b43ccbfd4c2703f85f4dce34a23945d742c536c13a051e3456a61839036d7e43f7f51e3dddafb8a99729264106acc63336caa28852e45bf44db07121d70357672a6e52f92d22f4c02756a124e24bd62e5f67acf174e12a44b3379bf882a203c9d8681140c2a0a406303f03af396ade0582d3cb8043ace6f81b9df58d06f21f03d9a63d848e25916ad136c0331e282b8b81046a94ecf6076a8243946c1b6095f8039fe4afc7f863e587091c506b75e6a80dc22d31b5123195a7ce22ef9dd814a7ac030d0e1974480fbdfbed2bf2ad8d8b30aae7407d824bd692492a683456354282950305d9aa3059ba9887182e66d468c272c3c1f56bef178053b4cef1cb1d890eb9da03003d418cf10086ae9ef6082240e77524fa3c10d1a02d7655c8d9208870d223ec030ea744dc8f6b0ecd17463b734a56f59d0bfb109b5d5074502735dabf35cc740d03df91983b219c3cf1c6cf3e27687aacffec7fbe3b12d32676e4c62a74d767bf7b035c49131f13e5882da29e466b2a68ab95dab2163f27e0edf23a17a05af6d41dee03c2b3237222395128646a7729289b801a69f37dcb24799cf609c2c18f2726cd9603c97c585a9c4bced0baadf40e626f255d8920bfb96825b33ac5964336d136948d0371ac8f0781a511bef3f6388aa559c5ea40a92d4dd4fbe784f091ccdae3ad5dc5031772c4249b385de5e4cce147194a2affcc94158915693fdae3fe4058d339e54103bdf4a9dd392fa5b3136b2ba090a23536657f484fa3dc5a1fa264ae3c1458f7ed0308d0e1cd414f5b58c59bfeea4996540f6e35f70ae2711375c34450417e179b2803f79677829131abbe5adba028c202aebad4a8ea35f71fad3bcf4e02b8ece8de31032a0af8615969c40603effdcc140e602ff6ffc46bbb6c5dc40627a41ea5c7f2d703af6abf263ed6323f442bea272d0d5ea2e01b0c4f229ece91aac18445bb5116d4032ce96e1437564c6960838d1fbd5a3df01c8f1c813cd15c18656ea30a6b8a854403b98ad1d12c6113ff896da547ef39a05e494083b8098926980310851e032b687403781e7f51c1da59d94531b691ba6cbfd9725154aef8f4c90258e812b087802e3100581f0353339382b91cd597902694ea631da8f6cd3c5129e561d3046235a21d2c0049195b7959b388b8000000581f030851168a0b481fd751a5c39f2772bb1ac6feb92e5a3d3796d6eb3ee72ea049195b7959b388b8000000581f030be4fc46dff17bdf354a065c2718f89732886a56081abc409ed99a38c6104a02327c8d8bf54cae144000581e025b8492420b74420d5d79e956cee981f6b0c0113c25a8442e2b2984fa5049195b7959b388b8000000581e02572dec73be7994a7a693b47268156ace07213d42781232bb9320d954714a1bf155fee22898ba360002182100581f03ec0e65648dd276606cd0590cdb193a84033e2702cc57430cf9c7a42bc6f049195b7959b388b8000000581f03a377e374381b55984831e79f6dc99fc3c354d9736f0e219062000e1f232049195b7959b388b800000219249903a88895787661fb07a58fe5859f7cb2825f9520b48f11c3f66473722b442f17a503bda80111fc4f9297110cd97f0e039910b92bf9ac8c8e2557502fea296b3bdc6603847fb1627a00c9f8efed5f8ac4a73e51241eed63ee3d9aa8505c391aabce3fb203134d5a2160e56151c1fb203fa3de9a4da2d1b12607fa1a97adfc069d988469f90314a3d05b8260a675fc75cf057217e71d0dbdfd2923677e4ebc1093193c00b5270219ffff03cb8ab2fb2d745fb55c0a7e375e1d38b0ac3a1acd3c9f6360579725f3b0a840a10219ffff03612a17ca776d7ea4d1b62c96875a19f0c117adf3e6b14daa815a16cd62839af103f1819628064a42822203f6b360b45d5fa3d0ac4241b499d03b5012a522b0c2ec036f9fa5c33ef83d145e80d1dbf7f7a17a98c7d6ac8fdb31a084a53ad05c900293039a2461ee162be47213db184a39da34f82ba920e75e243770397cc1fa7e35855803ac3df9c9938c55a47e942d05f71d5db7d6d08aa33a481ebdd125ac63320b4ef80316ce4cfbf62294388fca56116dd6ba17bd213467b6fe8ba8daebdc68617ef058034f87fe5e65a2f580a61158caf8d700707f5a906451f06d70e423e2311d9b41b40319fff7233c6bb21d6edca58ca6aacc40da8def43d5881d5683fadfb66af31e8c03fef1568c4f7f1c1e53d1515cb9695f213be712f16bbfb4fb43e2c0b1e5baafc003ffbb30064ac63ae4b8411b83a09eaa3d77425d8192f08a1da4f11ffd244a7f190328482f03d72449de603e7f8899d9f963be0d72f264160a88b20dde02f4ea732b0370bb5376b9375f6bc286a3b2a265355149e046bc6f5b12ef7c4fab827ab03ae603561bf954b66ec820072549eb91d2018d1a2a0ba4ab2e404708f118ea509171060219ffff03242882f615299a362978b15ff02f794cc8f1157e9d773f1b5e92cdab19b64fc603a5906d628864f6085de6fde3bcff8cc5af2e9691631e69dbe46b0d90003a7daf033b7534d14f59cca05346a8bf6818d70c5e0c4f76b54fa065275de2222b6f3b4f03e1fe51978b47389116aa284de7fc6aed9d13c2d37ee9f31bde7dbb974b805bbb033dec76b3d6b2a4c574b6c07de26ceeceba127a5abe6381ca5926bc0a64628dc5034bf675a552ce4986c884435fbbb5e961e32df77b8a33a11ff4fd632d19bda5ae03ab3531bd4943a41ba405503c9d4f9746b0dc982858c8a0088a937bf6351eacee0332cf55fa129ae4884cd70f76febfff4a47bb451f3c781b7425d324098a074d7a03ba69e66fc75e090d3b274c26c83edd4d105746b499662663903ad33d53887960037b2554587ae0c8e234fc12b179ffd6df89f89a619e38c616d29284d774cb43aa03a1953603a221934a958ccf50e5065d6a471f4a5c8bdfce874a1e33727283b62903e94d6d8ea6998af3c22703ec33850f06e629091d536446784aec08abcbc0eb8503fcbb57225bd940d542d3283454316c668bc730fe3e6ee59c912ac25d4fe68ed0030f4c4fbfbb5371fe7fa2ab4b2b8adcd6a92faa6cad04c46f04981c6ec34da9c8030ba05e42fe3ec17042cce55c37f7f458238c839bba3a5a10706729b1cbb91cfd03b5dc47a3e79d111bbd456c89b11775a34d85eacbd394374579c516cb1dae9bf503fa15ad821ad47de8a5d3adbb94482afda4af95ba111b6cc2984725078504def503230f220a2369c75cbba5760c146abe2756a10bbff4f4612a4f1c3bf646360aa800581f03cebd8662b71f3d4aee4a9004eab6dc043405b71a968d63cb21f2c13ab8d049195b7959b388b8000000581f03c0271482afecc1ccfbd28ce0ea83938a9789a4dae6fdff86ba4db62fb88049195b7959b388b8000003dfb542fa18f74188e8c3f37501de7eed8a7b5ce279dbc95808c26dc8c05d4dd400581f031925b497a8bc0e0cb096361d50bce4d1889fac1647a429eb21efbb881f00491e6dc4d20aa410000000581f03ada9331bdded51c249ba274cd48dc7eb772840519a6ae8ca7f124ea87ee04a0d132a9240927ed6d840036f0b820df3d1b90f8fc0e11475830c6c4eddab2d3f0a55402f1da069846d1709021914b103ee409241b7c75e2ae45697ddf495b319c0c37a16780a0a7c63e1b2be14eccffb0327c9a8830724a85fa91687ada52c6c6f69f585910f9c0874abc53867e12b06cb034588953c7fa1ca6e36297f479d73188783b815f1523b43a376f96366c2c537120397a019171cfc8b449723f076ea608dca92230da8cb88071dbbd25cf5ea57afa803916e92f86c419ce8e25e2b5ba4bb9bb03b6fd8da80e8a19b12c8ff167959ae730333c19b25286977fd63182d8885ea00d31019f386c7dba259f898816c285b63a403d0dd85be349b22dea54374f01568944c7d03fd2f7d964d1336998f251fe32cd703a1965082da1767ac335ad8b3fd911f974f8a11d436e8d06e0b6a2856bdbfc20d034bf6f54c59e70a2ebba571a32d6744517a57a199b0baf2498ffbbf533e3680c703529ed25b82f5ef2fa728c40e1102ac00bdc09c8f6406ed6d790912c65f0d24010385fd38f72e126dd6fe0c03a928cc44e32a5a664139a8a406159e68a64a58b6aa03bd83edf8b56dd8ff7db8bc68dcb64ae69a21deab274b072ef5cdb7249b378de70387fd859ffd7648d14ed526416a1d440f0f538173db144ccc81263988488fcac30219ffff03c8019469994eeab173579ac45ae7d60d754638aecc5e10c8eaec9ff1a6e6dd6e036118b4c0349bd635833cd8ae266948acde55fe94c4ccea3596975dee9dbac91f0219ffff03ebcc52762ff2cc0fa89845ac1ed9a0789710d54d18e734208982775c1d405a5f0315caa5128700de550ce6fd7ed756b73349b7fe6df5d06e2895155e1c2816842303d508439c0ef3d9fd0145eb911d3fc34a25b8a3abcc1bb0bcfedcc03f01bb4a6c03f9e31297ad801cb5284895cf02006c450a149b05488208425ad1652fc7654f92035bcc924a490be2de6af126f07537910d7e7fa7e29d5f62fe7a6039102360be0503a069994422ef22bd6b680f83e7166492bb344bc98c7db3b15aa8e1d08ac85d54030781bdd66b6a66f0d820fe49b7eab3559cda4a155704da2a1d7de27f383590e5037172ee2596c1f3e9ba19f04630e5c320c935b66e301d33d5920f27b85101ef19039d3eb1ff15e7620cce67f7e22960813943330c4a96e29b9a67b52ba1fc166d01035a871642426f1b7fa7cd6fae6230fbb4b86874a200690dee454ef87bdfad3d260395171d89eedce4303a7c1b0e1ce101b1ec2d325ef7776ca0a2daf4168ede7bcd03764de07e91a5d204335d679b85078d3c911c1d01855ca6f03b362918b307d0a90219ffff0395768149ab1c1feeb34b95783c96398334ffcb2f8f59059b0b6bcd963599bc690386f15a8765468622af8c0511b8232832a93d96871d4858b0681d58ad1ed552c2037fba73ffe98384e67fe815fbeeab38feb1acdfa28a19f48cb47dd19351845b8a037548de73a3c027d1011e271e378de5e23f1bed3546275d649a4ed1a1b18e683d038e5ac572aa1fcbe59fab7ff9fb499a366789add8a4499f6e18e658b603b7b82303b2f010f4745ee0edc6cc5d3d499a04a250085dcede10d7a7fec8ececfb8b3eeb032028df23c7ec5b2e0c03a3f729b1b0086a0232f2b470841e2ee2caa772ea80fb0300e9ced6f99280154f9772c4b17eb477821c846aceeffa4cce117e5b3e39ce9403e2becd72d49be2fa216a632204fac40b91fee9be05a9fca57fdd86174c6810b20332e4830ec4447899fc1cd3c8a98a45b8ca1e22840b5e6a6f351fce50deb4108e03d700bd9a7aec6a089be81ad0d9fcfbd68bc140ecd21d474697e223d23e03ac620323904e05093953555ec4484dc4b81d7d68301a0eb2d63606ddcc79fb3dab2f4b03e0ae74743227aaeefaa1c43fc75cf33c4e252512a6b9fd541d14e871589279fd03a8748734f89077710abe1cece7c3c0a25c6d928f760c173c4e9d937cc28de1c80378077da35287e0417d230a4148ce398adfdc0b4d18286577484a8b927cbc49cd0313c951a671a16f11a21905eef887e6d7741a2775c951ebe1f26a6ec4af5fe0870358a554edc1422c1a8a3fcf1417cd38feb0f46ff7cc0aac1e9e4cf3bf615a0e3a03384a6423edf5841c20b0488a346956cbc3056b266ec92cdb19afe63ad0e5f68a03ee232930d4bd27cc8932c9061b9cd73c948e67ae05ccdba115c3fa5e52c227a200581f038c3aba1a66f4356b8911d49fa32e3d302927d4385636100b3decbc04703049195b7959b388b8000000581f03379050d077e1143e81f0cdd3880fa608a3b8d368419cd34c63b09a4abc6049195b7959b388b8000000581f03e14a31dc678d57a4fb3fff688a567c519fda7b23a7b96fad469cf18fdad049195b7959b388b8000002191280034906833aae31fe251a1816c047ad11541bd9be335e5cd718690211a0088b481e03f06b19d31d4a9e46307876563e058839cb42b39ca3ffa473deaf041dd22bf10e03bea7c973f5eadf73111f00721fc8d705c326d4d596b1abda8c535722a0bd87ae0360333a71fd89e2ee316e2f1023f8b0bbafbb981fc60e6ed7e74396eccaaf3b4303e173d412ecc008227f295ebb0f1c1b237284afef489ceaca41b9f6871f4d4716033038bb69b2459dd3da839b1464de85471fa953087928209adcf2569fdd364f4e039a9a9642cc7b9e363c671fe2d4299e3e867734b0d1c37ddd636a17ef9897daa403312cbe249337fdb92d62134bc3ab276b16c835c2cd5980e8a32ff1f729979302036b876b60c041f73ccc197b53d02d7c744bb21b04700ce3abff220f39e4fe482b03ccb514809714a8028919df990df9ef7dc96dd676bc902cde2614f88ee910607e035d398dd6ef5d79190fa840f22ae57ebb0db3fd1cc4d6337a312f42d15859e01f00581f0217c5829351117a0bd0189a97a821abe022b8ed467c3cfec57f11c75a158c49195b7959b388b80000035ce2250bc171d27bc0039f779fb833f5cb1f66b9df1c53fb0563680899f830d50219ffff03dd53fb0bb88d679bbbcb454b6acedf2583767a5798d1aeb945190e67a992672a0365315da194ad5c69e2fa3cd9b3f1f8db34506e4d98cc56e521657e543779a7db03bcea98efaa3f55cad3382e22740278209e2b07c64066ebf10225a99b6e4fdfda038e2dc1fc5fdc34a28d0f13e74a2ff1b267370803965b80e3500e932edfcf61550219ffff037279c2d07c187042aa6584fed5bd7924c35529a2223109810d28b70c3008626d03cc0a0d5bd2ee306df4e177730c0233755bdcffa0684b5df753d450f49d94c3be0325ba87cab44f1d14d40c9b30822b9b073788c4d26710f3016ad6ede0bf24c0290356713bc8af689ea0a52a46bbd580be746c1ac181bba463a21e7424f344cf52ee0391342d9190d2446410521ac6d09b95a39a7d4a92ecd46947fafe5aad4f739ed10309a12e9aba05fc3ff60d4e41f8bef3660976dad08608f2aabc27f9e306f1ddb403a92c0753e1865f5e40e0873bc9dc92bf193e070076a39c000804470e750dd2a80342d9f186f2c435079e5380f22a7efb565f87d00168c748203cef1957cfbfc57100581e02bbcc50109402ae6a4e1f875aeb37b381f6f2c76bfda87c41e14b43e9fe4a043f134766a70c34000000581e0202bee927f585fc2307a641314717016c7dbf6005d4c2475185e16388b449195b7959b388b8000002188800581f038e16461d3cc5bd385c1884230bb6fc7d26a3eec5847ac5a62037426106c04a04b11654df4f73ee2d8002198400031056cdcc2107a1be1b19ab09f9933c529eef8e1a4bc9496ca08d40a4ad3b0ee5038ade8f4369f2f14ed913193ec7895da72a458a9c77805732399418d975c39e9c03d3e2d9eb2136d07e0dd0103248e400d9c9e9a8acd6bd7dbd4f71bc4342bc2819030113627ba32f9862f8654d8a6b94d317fead715296611edbb57dc9bed731486e039d2d917b9d433782836b93331ea88480f821240da53dfce5a7a18722f3e41d350356489ba947987ce2bad69b2771e9982cafcc93eb06f9276de1a99b5401dceeee03cdea48aa5cfa93658136759396894ca73dd77fa2fe4b80bd9a930c68913a7a1e03d1c4ea653b3f6c8756e4acd18f83b0ed1155530db3d6c621c44b1e364556ca6f0396d6243275f1612a298dd508bee56ecd5177936eb510c89b1020919a39ef77d50333c967628ed15ded65bafdb882d62dd4b56c26104eeea89d3da46767824690600338c4c73d05566f30a3271c45d4778d3214ff40873420d2fbdbc5adf176abad2b0355b401a7e476d5b04328112d06153d3e45c4bc6302c8fcea6952df584dfd5e9b03fb78f9e8854497e2a1b0da3b839c7f98448edd5a715f693575d7e34c2df28be703a21bec1039f715fa364b083de941701b6a11ab1a954b130e5bb3476d5710334e0354e833a338c8045041c724c2359f71cbc30aa64bc975cce863c4003bb97597910219ffff03d2a0618a0f281005603b06f5cbea025102e06fd4042b09850e9a700552bc67b303a7414493579e612a002d50ed9e824e276fb78e34d73f70d4e3dda904c5f983c403dca4a082ac5ae19e9d525a1bf8b764b9bdf7e561d6617056e3f49b5314dae31d0344e5d6185e846b46e8d1e3074f377683ec3aa7ba334b60ea5fdae3344372b4ea0310194642315bd4968e6cd8270f05f3ce2e505c71bb6c1d7f7f7f962bae4cae7f0389938263a90ebe8b122d158d839703800b98cfa656d89f11bc0c1a31fbbd9c61035aafe4502aa9ae4193a5c55355a75d63fb11b8fbe2c4c4ed3498d2303c3ac2d003130d843e69684de55ab2f38c032d1037983f0fe479f520a7aaacdb5384d52f5b03d95e94ed10317e580671280ca4aa9b6ae15d9f45eb8180cf03bdc43c80d4cf6303eb5b9b6ecd1949daea3401fa6c688d5e5ef43a4a464d78d09ed17927116b6cf80219ffff03e3001ecca98eeb179f72c7fcf3a65047b340537088a5417b1ebb071c3af7ce4e03401f6e1b049bb4b80834366b931aabc751b1167686080c19ee023a43ff5afc1a039a9c2e31172e37812fb21f33a5c7351ddcc42d1b8757de93df9558496a6d6a7b030d183f0e645d8c4dc677ae9557fb65d68b381985f343706224de35c8b5f0d3610351e462c308dd4041b92932904fa991115173e27903de22188a0f73486291a0760219ffff03f85a462982b4f884792f34b9ae713b20db17de001b79616863507c6fd3f2d2110312212a7994e930946cbc96c3104cae5628584e754e61b0d2ae2b660e3ea57e2703bff1a50115510c45d6cf18cbf1a0e0cd00f4c805cae7e9788e32a6ba75c8e95503ede806f68caae527c7c9cd21ebe786feb1c5397585f263d8bc439c0425eb8ebd03f84ba1d22fc1dcf21e091f57a445d37f29f3fe4854e382b93313a07ef84ab727035edba47400da6b457a85c9b4a99ff17440da8886c6ae39c81d3cb4d4110ad0ed03e18f8457e2eebc096aea0d4b02568fc9bbccba854412b5bf63286a1d90d5db730329f3b900ccf278eaae691f186814f6c11b6e4e49cfaa10337402c12584d1c34c0318f5f73480592eb144026ebcd6c3530bf490ea163bcc511e069e21dc39fe38cf037b0c70cac0c983f727b3d5752e4f339c1a902fc57fa82560a57b58ee985e41320392c8b4512ce28d1b47ae67afd164776c35338af53054c8169e3b32bba95f98320322cd08478bd5ba383144f1eac6ca1e99f15b7c90c8ccb62959056c7e60bfe12100581f02d09e60d0450d16251a06aa95783fa978ecfca2c51af9b99fd1dadcecaccb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036f5e0d391ea7286c690fe04cba72658ff8660feb6addba21756f9bc837b8f8db034c612a499af65f8aa164f89bf3934085077002278ddad637cf1c5f4a8b660d7503363d180b43dc02c3684a08b3164af74dd427fca2bf7117d6c64d72650897173403fe9d40ac164306831e447ce636c46dbfa2a63b0fc9c8f3a78dd928a340fcdc8100581f03a07fd249229085226fdc2199c48b8d7e5941fd75a912d9e4a2c59635387049195b7959b388b80000032cd41655c8e3d50523e88391237cbba0ab17d3f5c31ffaf10dc6be015b5ff11500581f03ee55f4a387e005eba8f7d157b805608709d29c91055c74b4ad7f16cc751049195b7959b388b8000000581f032ceda0f0fb5dafaaefffe10e10782f711bc3466436175052e8a38ee02c9049195b7959b388b8000000581f039d0af6ed9990060d25431ab6edb0eaa226eede933193144aa4590e94ef0049195b7959b388b800000219252103b604b2a987b88069e1765f1f96efd21856aa2912c632a6e66d3e8c347062ab8303e92e5d51acd0306b978753bde22437b15bd1267b3c2ca89f912dfa4e50b57448033078e030b8702df611e294be9d97728b9ba426279d982d2371c07a18f4a47f2c035e720fe30149e0670147a6b5cd50d312b95dc867925bea8a960d372d454ab6b403a47d046d07a4554e27cc9f779c54401271884a95c35fb1a4911a605f6534fee601410803fd6943e4ac86efc6a07a4016d67c3c75b122998f2b3e1c998d5d3cc31d15bfde03398b97fc0d7084bdc8120e5816d4b746d4326f2ab555d94a03958834d7553b570219ffff03acb19dfbe77b480fb2b97caa5e9335b5154a669641acc7479bada455025803d103411622d46ffd9f773ad3bfe9a41b842af18cdfcb7eacd99c0ce9226a6aac2dee034d8bbb3147acd16cdbc61d984ecea7c3bc683a49658678c2f051849fd79f9a15037e1399c72d428414c53c444a96b9d950abbe49679c05cfa38f79eb88c7764e40030464c1adeae3f3031c872e183c65bc755029e22f1282fb7c5e28b6020519ae29036d0548b0fa8049288413af2e5555298c0bd4c2874ba77489ece1081603f9285e0219ffff035d205f7635f9cce9b9c20dc9386b8f99cdaf08e1469fc27fcf75b46befacd47e03e349d3916c03b16e732bac542fd661df801d72f95b3ed74b8f132d24e309e23803812e10a543ad5178e2ed78211050b21e1b156511b32f3309962fc6960db2425a03f95355bd0fdcb0e6db19e6c20e833b2466c361200810ab03c43c8dc2c9968b4c03912222c2fa9b353d235b03a80d91673aa3535c21c219761431335f993284bb1203c6ab5ccd48ed5dd9fa03fef96157ac3137d506147daf985d1d036fd411484266031149cc624f057abc6136f144fbea631ab57c5816db5e602fc8b9f217f863ef3b0301fc8a3d4e940bebf040bd558c3336d619815ca5d652ab0f91ee21ed9413ab7b03e6dac17111c52cf60a083af9e052a62d768e7a2559c68cfad0a9452fceb175cf038328a71230d05c54482d116211d123729b5b69364c1d9bcf1c98e46232e43e8303aa5e82517d4daf25d849fc31488325578a7a9c84b5c46d7b7ea385b78706f32800581f020275db35285304f4ca5c37a73287d6b8f1d592384aaada74c79ca101e119495ec3e942654be7e10003a7e3eace28c684b63378842e53f8a1b522ae16d174320cd34052c4dba0819a9c034a6e3f2242c042142cb852572acb46dc4974b1d147a4708b40c7382fb208029400581f037fa9892a885e1d130a2ecdbe6895ce6dec95e62624580844452a4bb09be049e43744274fce78000000581f037821295067249434525c9e6441dbdec13e26906ae6fe810db1b25c7011d049195b7959b388b8000000581f03b5261e0ca35bd4ca3570dc8610f24cd1aedb0dd7fa3cfea6171d6b95f2c049195b7959b388b8000000581f03cb8a9afd04c8670050f6e0f726a25463abf68952fa6c929e2f24eba165b049195b7959b388b8000000581f03408974a67afa217f08bb35c676d810909ae5848cac5d81b5a23f7c2a501049195b7959b388b80000021918190342ef7f214c4fd828efdcd043cd4c219306dcdbbdf060a0be4ab33016c81834a503ccafb7653520c4317d5ede0d4f46fa0d7c7b0e6899f023fbc97dcb3cc17c0a090394fe12d832a36277eb55ca2a45cc35a6bd0ff964d3554aaeff5f44c1930208e003a87310f0db3f79331365f4357458a7a21204e4c21a88dfd088f46206375558a300581f02d68999371116ecda8743e2d8b94d02cf9bfe667742fba936cabd82d68ce949195b7959b388b8000003919db32a48ef47e9aa4e53952d3eedeb445bdb17e34e46ec45ac0373c55797d6033983aa811007bd0d692ddd2abe1e4d5ffbadd4364a9ff186a6bb8d50e5f63cfb03daf179b2bfb49e73a7cc0c06af97a46cdaf8f7483df191d51b783302dee22ba403385f7aa9be0139e46a39bea1c09bc3b847ca4a02a1e6f18d9816b861ad608fa2039d936d8cae3be2aff50e2d597a463f03199012fedfea34f0f43df1966eb8b7580219ffff0311eba046636e204ba2baf8c0b07fcda46d0616d89b700f101a91dca767db3d540319681fc55410c0fdfd675e997c81a32f3d768dc31e224f0ac9893ea4d236e9a203c835c2fcb1f5cb16c1db781f07ae6cd5b182d82069f122517fcca2c533fbafd9030123792a1789249452e4b0e7e4126dbb11cc9114444e78655733fadd65dcf6ac03f0196d9023bb5d1fbf7415738df39dc6cc1681161cc3cec7d208b2a829c4015e031fa85f6a5a2a3cdaffde53eda1a963910dd713fe7df63cdf4e0102b6f14e0fe203268817d847b9b6285cb3444624f1f8ff066584db9eb3b8930673c2bbbb52c12103c064d9d2fcc614fd129e62b6032300810a26ffa0115c896e5c53f4e7f4d85d77036f43bbd01be83c36dfe465e0290296100a5f43f2dbf1112dd9a68458ec3b927503fb69844a8e1b22879b89ec7e42a81b216921fbf4b131f923748c2a548fbf22e7039ef746b312d163e8ad8e305d9840f8de46df975b085e990b8252f4a692e1570a03db47b8e645a36bd369ba894c4eeba6da6da65554a02a0da20e088ee89515f2420355a212e30a4bd40956fd45457fe7eea91d0f5f7b3f5ea89f41d2f83b6b482160038a6f0907166c01e389098ec76b62b072a05ec28c0e20a0d429ea8e6688a6ad550360c0afd42f82a45ea95fcf07cc02a5949d2cca569c0f2a7b1893c19ab0f531e1038f2e24e93add8bacd3122fd8c1b6c6b0735813364553b859d958fce5cc44cb3a03e13c77e3e51abf39623b2f69f4e5b52072017d62ec0d666067fde4af0cf5ac5d00581f02d447b597cb43b14428692936870f4b14b2df903c21725a3a12de7999229449209fd316a2e7b42d800343637592727efc5ca68e0736c9944e6a6d80d2ab22e76b5b27582dcaa2c581db03c0eaeb3c54f100ffff3121b03f41a03dcd8116112bc70951d630d94e04bc024900581f03f54c234bd882047fb059058d2f67d8ee0ab777f68496de58a3d83180211049195b7959b388b8000000581f0322fadb778cd9c0b83d38e3fd6ee3f8f84131baab73c816096da9077f5cc049195b7959b388b8000000581f030ae388c5e6c7317622ed7e1d8e81ccb3d9b3367bffd43d93d4adbf8be54049195b7959b388b8000000581f03b8acbafecafac91ca8b0edf0d7bbd0be5e2e4d85318b6a7e6407912d022049195b7959b388b80000021941420219ffdf0394b4f3808b32350999f65378d8e14d297229c8ed7c726b9db0ad2469ec792f2c0331b575803d6debdc6958d79408e9e7a4863a52c077dc75b9f00466ab9fd280f903b2258869f34066be65bc213047c020fc54eb14811001d25b9c2f17ff0b19006b03be8e306df3ff92b80d7f35f36578b7600cbf114507395fa1f19399f80ecfab9b0320faa169109962d96c250b229eeefbf6c7f840e251cd93441ee19c801faffb7203635181769ec50c685a2de0b523d326b50ec5ad8c476dde76cf28f7aa0e4943860372cc162c61656596704c5e1739ec86f01c47b48ed369e268b63da18d66c7acf90219ffff03361dafce2dfd0b97434fcc2a5e8d441601017caa51c2c5d9182dbbea3fc674cb03212fc91c1919c054e48699b57de65d52f06db586cc3ac33ca96ef61ad107a0ec0340ea2d2f5b0e601afc3b206e0214a1f988b084222474211ee240c141cb64e2fe035e465f528b549422aeb0d1a322bd50fb0f58eb52a61736e26ec781dfff616038032911dfdda6a1e8c79de4753857107dfa78ab8697777f2c3a0f3096f4d71d03b303c8b7e4b343a40ea72f7876849f2076ea08a19e55c9acab75cbaeffaa7ab8bb600219ffff039a996f91eeee74daed2c6cff904f682845b89c0957612dcb8da410ce2672f035034ff337bddca4fd4a0d743260b4260e1dd04c6985fe25367ac5cdd820ff89e242036a2cf37d8789c210bd7f0bcd7a1990b7a93e7ebdcedf48cbd450d4777e6c3b0e03d1bed2b48f37dc93b4c91eeb47e020d8b7532c6a222aae15771c1c10b0d09c5d03be1c10d53dece320e27d6299b5353b4021ee0cfcc6ece53c0d0ccf8c49ea0781031f5c31aa86faa51c861c9a0016bd36ed3fdcadda7a09151ad94a490568ec263e0380f966a260ccf9c57fc3e50502a22eca08aee5933d24a5ba12ef2acbc1e2f8d403448cf41cd18231d4db91a6d88da01f29609ddcea6cd9734c8201ca6d9433abf503b08ed946d210cb5c259a30eee1a2661d7333f2f2927522f70f33b115d176fc7a03cbee3b447bdb1d8399106e3ca40429f63b55b6973e6e297458c6094e0b5d9f23036d0a21a49a8aac089fffdf48667447dea43a8ccc8d165a446080fc163229fc830374d9cff13a3442e32093647a887378f28cb86da88b1bf375a6668db1428bf07b03194c026753a723573f7279811e01a7ec0c306a023ec4160ab9419488cabcfec003e514e5aa94ce1ab21e2f3dba9df20721ec8cb9f85c51f78f8cf44906e277b785030c922b6089a465abea9ea5abec9988a1cf5c778f118ee4742e9a552ecbedb5950328da0f6765ea5aec978c66472f35a5cc7775e7f2394a365b3a9f1fdc6041062f036005537e501b1325bc14f105047292d8b17bbab1a82d233b3274d97be256fe4203427a414866d21e1cd10f8b56cc171e3be4803592f2392c9f04e54a39c7a289dc03604eaa4484a48464805362d77db7700a4e33f0f7fc78e8e0660c94972d460c680326a335e01046e2d84e614af5f5b6d1d39938fc59b19811aaf090e5bb60f0ee5b03bfe8d7cf1c4c546df5946458cd62bc543fd06d2f7ae127f848dc2001e1ab5b2803c1a5ae52e6e77089fd274e703c9a8a5331357168840cd2d00f0e953aeab720d3035376e63151146134b959d21952c5af10f4c72ed51c700be44059b0f5536f42da03db4e848743916f5d8a3119ac975220ceff5301ba9fca83adfe82b1af77647b4e00581f0218eabb03dbae342e6eb0d485a97f57d44d801d1b0b259662b28954b4ccb44937c93e2bbe2cc986a00373014f388498aa61ecaa76dbb385b1dc7aa0636b79a88fa0dce8b50b109bf83503ca3a073989bb6d6616943f2dc7ab3e4f2d188bec35a05423330328c315eb975c03b407b11e8818f648641cc7196c42d2dc4a0069a7bb2b743601e966acf3fa5a1503b544bcfcfa3165e621d30e20c33b7f3c6fe652fe50ab75fe115adec0ddc24e8103985930dae069e017eb3da7f4d79b07567db1c2be31f22f849937c45c0096eb3300581f030598fbc286600f9e9896abcb68bf109f55ac665d8cde13d69764c25efca0491e6dc4d20aa410000000581f033e5918f52d28e40a93e44219b3fe06dacffc544a7b8c48df83470a8660a04a01e7a58009e45d3a3680021980040219ffff03df05fb83ba665bec0e52bee14132e553de251c404340b1cbede7cea710870a7b03ba4fbc61921f6339355e3b21c5e5587df8930af6444f05b2956ac3dc65f0415603a62840bdb27e98b4a62e0150f25daa05f453775e9c05183357ab7e5af50b74d10392de327f396b3dd2d39213b64c0b9f6318e6e48f0d1eb38d5f71a29793b206d3034b70e4b4874248cf8f13f9feb33a84a8312d888e99cb011c88589b0daee835b903d9291aa239c11d62bbb370380da6ed09774007af16c41d3f8989a1be05fe5c430219ffff03af7faca10481fc8f69d3bdc2d6b051215a0ead71f09b98fe476e0b556abc17ca030f1a66b43a597d13d511aa3c43b652e1bc93a73355bd1d9f0b59ba726da861e80369cd3a817550919ef0a36fc58b6c5cea70683556970dc0790732fa44483c47e1032e3d72f59e1554a52c81e43965d4dabf41db85f3d8774759cb3892e4fe446ef403e8b7b5420dcc2cc26d8960138af64410c0560d37704ab7fd360cf905864b89a103348a4d2b19a7ed6c2fbc20a730f65fdf892a5c6f2a9ebdb1aacd9a9a5cd3873e037e55b808b181379c4c2499197c77c12a44f5aaf620fb64cd7fa8481d7230b983030800597d86c8939532019a2df0438d37aaba1505f763c27ace18e1c54e8d3e6f0378380afa97f8e481d5859001f3638a6a7b9f5f1fe418cacc163b92d1e7682c2b032183a10ee02c8bcc2b3a4700ade544853ed2fbffa0ff74e1016799ba608bc5be0348e826c1ed6c362c7289b42966c47c7d66ceb37480a622da7c62cffbc190b7e203e79f10cdae462c95ffe7288eaebd8c13940f8f66a1045478d1c430da7a6e822303d27ad9d219ebf5a724a2bdf48f7bb0442cb5aac2cc33c9c33983dd742446032d0300f901c6ad3f65c796408c0bb402d022f72a0db69d72f28832691ec2fd92be41032da5b4b799f7e0fed7a138b62217b5b20aaea1d5a4cb34f83b522b9e1dad582f035aa213808af1300ac8973a8732d491e82ce7bd4f78794ef890c8d582db9e81c403d5e63335478786f5530477b8f68e9b5f0df7e4a201a8662faf9e2b71b96073dd03c1569baca251caba0c9be0df1ec797f8cf8c491f54abeb6805d193f56a6139d903c77feb4b646d0bcb4199a19341bf9864a0d2ee514b1474344871665ac3d51c2e03cb21f36b6320db6ccc4eec97dffab4e129ad29a515b16afe9826b647429f452703486e83f31fef1bd696f98651cbb0bfb77db938c78b4f4c30442952e41a8b43cf03846f434215fa56bb5cbe760b116a122e0990aa0b22144828f50f5cfdf41b88cc035249fac7a04524cb71517784817ea6600019870f4b9835b4ba847d5596da114103a679ba232ecc483357cd3e8ca6a3767477ffe0bbae846688262a66183acf030e034408cea31819ec2fef0d34fb7fd374ece2079dac3ecc899b388fe5b182abf0e703ae6d6d858dae946cf298cd630b4ac0806c057125b4b5a743d93a6b0e53a370b403f96ca37001674f030c4f14e482bb765d88fa83551a5443d97297344b9db215f803bbec49e3a75ffac6db1c27d1ecabc48f273d6f4421ccbfdb9ca0d0be22489a7e03ee8dfea1d8e9cdb875672217124da73447884241c531814eae6f397f8223fa1603abbb17d8260417ee994e74a5a6da94842612d97169cd5f5f80d8e104be715a6f00581f0372bb1215d967bbc5a0d86982459e13fc6be41690aa54ad29e6ae58c88f10491e6dc4d20aa410000000581f03c337d00da1d42fb4e4b92f446b94bf7147f5510732211cd4420473a608c049195b7959b388b8000000581f03607b4eac8d154448975d5911439d813b3ff6c9036bab7ab6673ab3decc3049195b7959b388b8000000581f03e4fc0798a3d4bb439c080123ad246d63339c4175897bd719a6ed45607cc049195b7959b388b800000219821800581f02e02be047631e4185a4e4722c023821ca8ca023cd5ae1217382a05b6712a949195b7959b388b8000003203f775ede3bdacbcc6e218d5329c82bb492777e38d18faec3915488120ed768039ad87fe13fd7ec4dd6e8650694d02a9626fbb23428981935cb9ac5de98b7569f037f664c6a3ac2f9d4a599ec9d3b9e5add4eb097b724b11432183d2c30671dac150375850787e4c3e41d62645b6a8585ac728fdf613f764ce3211a3347c7d876a4cf038ce852b38d5521dde0ea418ef50983c8471456fdafc169d59775f6217bdbd0190219ffff0219ffff03190a6f42df30e0681fc6108ff2d9273a856a44b34dba379d666deee501236888036483b4e0695bad60fae94d4fbb0ab5e3b319c327732f3302e3455608eaded53a0219ffff03f1b56001c20281e07252fffcaf9eb1998243fc2467f561574a3ecee0c07bb790039b757ffad31ae56ad96bc7d1952cde1aaabbd6399b7a81e31b9fe7fd3981ae2a036af8ce9ecb48ac7be3b75fd6fe8fd9a53ada07c0bbcd52cae8331543d8f5b2da00581e02b42d1011bfc2adbec0629d80a67691095517fa044aefb9b250ecd8a10c49195b7959b388b8000000581e0257e85664e67f5545683e332e33d76e00722d93447dbd74fe5ec34cf9125820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021902080141050398859de7564879f7a273263080295396720fe4fb8a162b75c092ee9aaeaad94c00581f02b2f79d3cda033ff640c3b418a2f0770373cb46866bfbd8b2a0d45d9c6d04491e6dc4d20aa410000003a94bd32cfaa6757f3abf679de99bc686c1f76df961884423d886075989103c5a03671197b9dfd94dee513c5d2cc138570a7edb3c6e7ea52e170d0701ab7e4b9582035fcbca6f4015503688e2357696bbb7fbe4c5e244825eb84320c3bd9c151a974c0382c0ab761b32576e4dbbfb6d2dd0a9e7ca948093a29dc1ae0dddd2e8170d58ca03ed53f4709cfef071df6f08ef9239e11c63397fe75e71beae55ff7af9ad799f9c031dca4aefcc474d1d0315d493fb3045226cb4372241c09219c9c7a63a2d21e685031df45173ee8432a78b2ad2fbc958664cc25b26593b2e7017c171bc30b53c441903452aac007b74cc99b646822f474c5a678c889a3270cf5b92832c69cc5183779a0349d26e6735985875589147d863e98bf2800cc12998d0b73a945901ae47e5fece033b8177e22d1a2e71d0c579c53de3187f52a3163255b47310f948788dc98cb9eb03fbb2a442430f4013d7678895d84698c8780d4f7b40fc053df94f1f7f1b56d7fe0320d47dc2aae057ed98f257b9fd5a0de4190e089d962f3ff3a6690193ade578f901410f0219ffff0345b07a7ca0806ee3755f90d919b53c88b4bd6115862207ffc8db08647847500b030f29adde8ea339ff6b3fc7aad7548f83b6a4cf53a01d9151169105b1ef4df95a0313e33296e8dc0a3a994a5e5a28b61a7b14596b2b7451255e62692c23da48ed0703f10970c4e130f60b62ecb9ffb043fd5052ee5aaf4b1b8f118eb09a9d377b1d66037a94170038e47ee7a07ddf114efdf540f8638be23a4757881c5ae0054f5929c30310ca820d4ed986d2f680da58a5394a0d2509148436a0b4f877e084de432459ea03a140c9daf7d2c9a70c01f46b9ee98c6a0834ada9edf8dac817efe88baf9302e5033590b480476f6f123eb7b2efe69604a7292d03d7d2032090facaf6213effb8cf03702b94172a9f3dbb8995a606a533b9f13cfd880361e55712a4146a495f2adaee03e39e4a5bcd8de9fa4951dfc6552af1d5074188229a087662dadc51374ff69b35030361ae8a18bc6437c589c047c1c8afb77d301dc111aec1d6842a6ce9a6fd6305037a9c19b56fc34ffc299469cdd88902af50746e51917e85f3df0becf8abaa1ed5034df9f0a975ba2ec660c6bb6c86ba8cb6934e1ff4a181d91fae7f7a9b0eb766e60219ffff03fb9b5acd4ef1d527398f9cda66d7faed679c24e8c3b2217c7e984d5c15f2feaf038ad39e8e9d5ee8af360cee693a16e2006e865bacefed2e114b19d2eeee475efc0380886e312bc7da92066c4199e37cb4291dc77a3d24fd4428b8f33c8c5830489e0320a603512026c6ec744b82f3cc0d2fb6a0538ddafdecb351f078f47ad7ff0ee903b1468a88b93b0f3b9cb61f6ebead943da8ae79dc9b5f537fe262e938028b24ea03d58de238fdb4653c9eee0d8727c40152596957ce7f6687de82857f64370b20000373a5abac1043d7437744f87a2387a18691c4bda10542fd55fd770c50bba04b5e0343e88c9e6b9418d01cb4ce41eadfbe99f5738210359a4b39b881ed2e8e3a1fde03cb0ccf071c1520e3f6c82d043c363a1c3ecb474d8bdc4b177dd126485cd58b2703ed51715353469e5beaf9c5ecbfc837c7755e1a7957c789e2ecb16e1d38052d1a03a83903b57c68580b1adff1e9d0b6a1341096a3665e6a30179db7125e6e94792d03fe1b4dc537d95aad57ed6bafa6dda3079e23580ef162b8669e2e9566aa6e1c6203e834fc550badb80656fbf72325dfe5b6ed3f0ed1ecfc59c2814b32a5f490a1c50343e02d1f8ef3c723188b57d511bccdb3e463e2acb7a200325fe66746745d6c96031ea433042dc641e4ef2a45c91765d992935befb7a5fa06d0cb814d2c9b553b0203362a7e20ca6e6e5ec859ba8bdab466e96b3e22ae3ddc6187563302dc662787bd03b493c484915752217c9114ff310409ee5c7be63358e021ee53970e0c5a4d802a031cdcdf45a2335cd7c87c289ae407aa348436876f805e6f2fd2b44d76741e743600581f02663ebbc3204a68021c88bbe1a16a1fe9ae2547e686914cbe6f9ce715aca849195b7959b388b800000330563439c974245ae4d20c09308aed065dd84be10fadf9dc4d6383747b9b10d603792b53e8a174ad1236938a9534ad44cebe23faad7e26048d0ecc42dfc28efb80034ac3f39c54b5455e62797a0a0afd9c41c9a7ec36541ea2a4827017b89075ff08036cd7fc4087ea9d9eec50905749b93cefdced9d18706cf7965cb2ebc8f462a21603ae73c45fb00cac4bdd82e4364b88523fee64b5d2fb0d36ccd76cfd85e2d10f09037cda19142e2ffd3fb8967e6b13ef358af29bad61d42c9c275ef182e0e232b879039f67304d665adacdd6db8e20fbd8d269a8a1858d3c0b287514c38223c859603a03b05243b155fb08ed7469036bbc0e2881c427e4da5a80e5a8569daad88edc2c2a03d458a32a424993dbd91e5564c805d6f5965e61e72cbbb4158351909a3eb6492d00581f03a13bee18e2b93900c400b3f6696fe6fd80c6d6fe9c47074ead340570238049195b7959b388b8000000581f036030b7f590e140d5dfe2be47fa6ba0a838fd328cbb94deb4c5992ad82ad049195b7959b388b8000000581f030e924cf727d721d53d01df5f127da88f32da416ac53873864858a55afe9049195b7959b388b80000021924200353e60bb6dc7c1c579266aa5607b317b7c1f880ba46e1cddcda95abe82ed6bbe200581f027d1e651527313c3bfb954065a0b62e86ccddc15225506bfd35a11b6920d149195b7959b388b8000003fc34cd2a2976b0ca3f7bc64aa6aa4b9b797c98ce7a344505d1650cb3c42d2c400325f58e2bd0e2affec081f42c1c2dea9d8d5499687e988d6730a52ce8ec7666e503b37fa4c05e68fd0272b358e434daebc8a39d4334ee53ca9878c534b029c7f89c0219ffff03a7078fc90c0bfca05daadc8c175f38a08554733b9db669b9b2296474a2a4eab903968481073dc43a02db491de8b5121ff65e69360dc7ca7c85651434eccf169d56036aa834aec23cf3b9a7d05ef07d51ee4466dcd8f3d84f1fc7b40de4c8dba25d8303f43050c46d520914c36e9ebdfd056491c67725b0d160cd1033cb8eaed67c570c03c80897ddf196c22c0411cafdead7d825ba704395b627ddbd4dc85d0ce6e8e38903c2f760f86958ab35247cca5a0770ec8855e305c1eed5789576bbb7f1debcb65e033bde33eb58482564774488f28a4bb9a48067a7b325e49ebcb8bf911d0598f7db0318a3cd5912deb8e90a7d5f49f0be882abaad834e82c18ea8ad8bd710376a0e4c03446f476e06fe3ccdfd59473597c94bc50b056704801c91bac5a3f8b83c23f4d103d9fccdcbb854edb483174910a9cc930016791217453c7e8403cd0478bc9267590342d92f341ee875312cfea4693a7fc9287681a97ba26146752aadee3931b81eff0219ffff0219ffff03d293862a88012a12b5b34b0c2da77ad9fee01ac9e1b11b057ecdff1d381801f103df3e7c796f166efd662ad31aa48e6f81d556cec0d250c784c2eeb96d2e0f5ad403c921773fc5fea313f7670582ca641793cdcf70efceb2c8985edbfc4827246db103a2d5a841b814885a0d09c74c76d6309e301b773557b1af615744db39cfa4910a031818dfe824a45df7c76b91080f7339a88518a0de1eb17bcd42bce19def5e7b040363c775a0f1f9466dced1f51f1570b21c16d2d0efe645ba32b4d2287e1bcc1f84036d4ab1fda97e7835396c0cb44cc4889d13b75fef8e8031249312c76a2e30ad530341c88d96babff112453a106c18a5d2377941f8a4e29942b110a0f63b24b04b9c0314754c7f7845f64789155627e3c7a22dc45440c62dc6beb4f7a3b3476e0b341d03be223a205d149115002fc5afbc56b422bbdde0f17c4e3d63a39367d7d405c40603b42959b46598bb5bd4a0b2ff696f2c6c51d666e1bde78d07a4ed7ebd4e32dd5b03cd1c6041732ac564f07cd5019360c950ab77be73b5b27b17360eaddd8cabaa2303d27e04f827422a66ceee196d46b9e3812de484b56e74285e3293ef2d6bde6a6d030efea189fa8127a8cd4e34248080c988af858534327beae1ae3b9d0c08f534cd0346430fe8798c690704551661ea8ad2ac68cd456d40e0753f08625b150c76d23d030b5eed3eacbecbb7ec8c9340dfdf8163097b5a5d0d4eb2853851084e46717ef90304a0b6f7b9b38e717a58cc0f81dc9f5fbcd1825b88be4671c3a8f109710c16580360ccc7c502955ad18ab2535c3e2362db04d0b96df1ed5b0a9e79cab136a5b1f603e1d1e913c27b4aa52df85520c49bf4eaef82cd736e3e650fc61e9b9829c29cfb03a161a224a0630928a6e66a0e3edaddbe3754d80231fc4b7872481e41d0d9d57600581f03bdf27cc800eea7203d48a150c0d6ceff3eb54cc096193642142e34a26dd049195b7959b388b8000000581f03cb028a8c7c65d0a7784994db41d0db6ff285c0277eafdd90429a2f54364049195b7959b388b8000003db58556997402e4891cf589a138c27af79d7b7b787a137e2182f1743fc95c65000581f03139c08655b76dbb4a4227ac3b13ff7e051593c23e81cf2522410e37b1e1049195b7959b388b8000000581f03a46614f53a5f1c5237e7599ba37675df5c106cba7b6abc111ed18b1bf02049195b7959b388b8000000581f03b63ed73eee11f77a8fa9d2ca87ffeabaac053d64ff83837ec8a97e38191049195b7959b388b8000000581e02038d5003b0abe94a0307cae03a4e7936ec7d085b29b3e8355b345680f65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028f18f9f4359c32e53c8dfaf9004ad853c1abe89ce3404a8831a572d55349195b7959b388b8000003df6d41ed0e5233d6dbdda6d87cb438a197506d2be0f757ab9368e3269f0b4a0d0219450000581f03b32ebd0c84a93a4cb5ecfbd3ea47d9e58967a3765a95a4b3ff6aadff3be049195b7959b388b800000219ce490219ffff0361ef837c8f47e23fff93c50d42430d3e5b6be9549a4aeffbb5702916da389f570316d4572a40eab4f3221fa98f592b65dfa0cd02482e96aeb85d948bbafa746c48035e09260839ea2acf4380ee49ed5516be29cab18bb7e573b2f2f66fd0f64fc84f03581a3e4564b7d81c67ab8becd09985676dfef727e81d8dfd28ab57cc7e4e97c003172b1aef8dc254ca0d31c14e7e186d7eb9042daa255e28f8bd94f4498ea4d88d0353de7373d63c33b63dca2168c02c1c4341f8b83944eb18eba39ae00298b951de03fba80d6655b34feec5aa0aa02cd858b1e85bac77d6eaccf2e63d372f02879aa503f7436c5723f8c41771cb9338d5db3bbe7fa05edd8bc49c2ed8aa9231f327065a0338af6e3d5583362668dc3010c9ff1a6d92b9516cf06d1aac2b23668669b219a1035bba7d68f7aa819f3c06691443162bc5f1578ef9d58729e7a10e72b0da0bd83a0398d3e9c5c6c0a634fd9a2d61de374a52a3d34f7f1c6ac20abe7f094b473d4d740340095ae4ee935d76e2fbb4e32e637e63366d8a331ae30108b7284db1078f543b03f12753ee85f511dbaa7a1ef1893343dcd1448b1184dad4f856d0dd2aae649d80031bfe86fb04212da07c6cc9bc2af803827208b7a6a46e0057f98032067e1a183503cecdb91f601a07344331833f2038549aeba9b83d14fb54b69196eb6502be93090219ffff03effde53ad7dd76d87b89523e679d68db9bccb867048d9e83ae11fe71c9dcf7d70370559db1a9f35f26351a545ac9daa6d63817a4aa84f4382e16c32076166e466b033542b6b0f8df9d9c46214166c1cefbe16e591e5220d07f4cf29fe0cd2c27bba103686f8d1479191651c9941880e1e3b9a2998accde6c026670910b68472bcebf7c035d9722519d98d079b8a8a8f4c8b4a9f1fcb6dec9fbc55f2eef3db210e408f06b038594633a0a0ce8de00817ffc87b6d95dc19d072477315fa7f33aca2925217cc203eadaaef171b3ec4ae796d0ddabf1fd7e07ed7683b9f020e5da23e0f532c9c5dd03fa2557ad3327772c36c377e920585820a34316f6c67eabde23dcd6206ef47be903ef12da21b393e35b78e411309abf4e45123214c4e7cdadcea4e9c2b55d2e6115036623759c16e4fbe6ba6b138bf164d3ceb8f844b613a0d92114d5da5e40c5557103fb24abf77d5443d77b34b8000e636129f1d4b152a79e441876bb9773486b683e00581f03cb4af00404bb9e0dd25a8ae3c092ea9e7486dc4e5727e426a260a8962b4049195b7959b388b8000000581f0398ae3ff24041aeed6b1cdebc8615ee0d64d692a85b97016abe9e3b63faf049195b7959b388b8000000581f0336f327813be4cdace31734a0c1844156cbda36dcd6fc6e18ce47930c391049195b7959b388b8000003eaa59250fed1ddef543118c0709134733d53acf4285a34af9021e0bc69a97393031e2510b52b08f28c98fabf44ea379697496ca01daf159fb12e89c34b354e3c8b00581f03ae54f51160a8e04e58a86159bb3c68e887d187426212a4345f50af08f05049195b7959b388b800000219728403cd89b1c4abc138d4c8fc14ab7e9c52cfb11c075aafae5179efcaf4166f02a7c003989943e5cb96da8133da52094ffad49dfce3cef33a98bec0a3298fc0858886420307c202c72f76418febd0400521c921f704b395d02151e38abd82f1902b042732033ff39f51e7a1a8c8e47237733ac76eed60e35f057951c688120279737ccc98e003abea6aab100bf51bf3f6db5100be550cc40349cf218902279ffa21337cbd8fdb03f4ff32476424167afcf9dd552a1236a9b1cbc12dd696446ee6b85e1fc07ec141030219f2b558c213e2e5c8d7b72372157c62442cea639ea405c5a68c733d160bd50342397237c53517b6e9bd59af526cbefc6dee2dca1bb5d067bb7f3f9a8c365764034a61b62eab601123ef3101158ef53a42379bda6bcae917b988bfaff7504f626f03722848de10a88d0b85d7ac2122802b28e1ac93f4a8d157b164cbee683e7826f003e43162704b66eebe2456b759e5a61a359bb61c2af0f6b77da5cc8244baacaa6600581f03a7299590bdd4fa301fa2d6416eeb206cfa37a761cc88c9aaaee44cf73bf049195b7959b388b8000003ba9b601e06c8604c37586f08b76edebce2ffeb72c492410d3b9548dfd6dde5ae00581f03c21ec41585ab5549cab012e6682659aae6f4d9d916ecf722dd6a93d31d8049195b7959b388b8000003044483204ceb561756d999182fc2e1f15df20be506c7053ef2e529cd74aa0a78021940b80219fff703fea1ea3b47c12392da185f38820ec25dc68beb76d54eaad588cdf002e94a075b0370e946388a70c2f7b30654111724027ef2e3d9d6825b3a361a7c5586b6b15ac90377198e62e57781b3167c8eb6d4d0eb537e774f51933b84f6d06f42a8a1a5a591038766ecffc5b93d99f6d6b10ec13eebd3da1fc78d099a367d58a483f0510cd3a1033bf902c0a59870086b97d728a5fcc951b00e03f2434befb98f169da877c2690e03569d58a6f8f8b9cd60541ec9189f77eedb93a1667f74d062082dee3b46e3111703e1855e45423dde3d8b786a852fdb48e7ebbf94e53e41917239adc2c3609435dc033c7068ce7b6641f56d96d09a8e4634aa61a966db3f073424a4f41a449bc26b02036974225db3aed099aac1ac01471bfe6b6fc58421e906eb224e746818c38259b803d1bb662a097b82888aa4104c472af7d618d980fef137d739caef8217c5a77b9803817e4686c072f626df75bd7066b700164d978a2664b5c62f89d27c8872b80784035f7c47ef6e808edc00f065527499b8471c204d26161136734d89bd18c2ec83ab0388e5e6659721bc96dc93c8b2e96135e54c8291c6257043612ea94434838c868e0219ffff03ca209ceab1f5414662a81d3ecf7384cb7237f0605921930fdb6cfd30237e5f9403df15e9392f1466d220ac373c84169f9fb9bf2ade9515ab979f6c3674d05a583b03cc05f4d72e606c496f64b9d8ba6c55e11e4187f2aba4dd3da27923c5665deb77030549becac6bdadd443a0212795ad2ee313ad0c3f5a34d0841cdf009fed3756e6034777b6fcae0be8d714ea5d19d4b3f0d7228f29315c422a191815c625db80d54803ee2ec7f6ad8e72a217e1fcb52b0f231724a18cd31f4b39a76db12f66d0ea580f030827c5d21b489367b9ed4afdb38cbcbbd4ba29d04370ce06bf3d2ca1a7b1d85f03259a7a7b5cf5297638cd053054954649dba7a48b2e1ce0df7750959b80bcab4703a9fdf8aa2b93a741c71da8e057cbe562b0dc3b8303aa2101a9c051b670debda2032665b5a11019e7759daced67539da1da16ae2e690b19a612ea5f185993a19b9c030781165423b1b12f6a4fba276674691e75f5d04c5084effa16f2b4773e79c88603a8fce23f8b020a4aec5f3739902381238720578f7cea8faa06ac26c66576fd01033d03a873e4aa88be2ac975e7a0bb155f2dd5027e01b0a0b69ef20d2ff51b03f10309aebbe167c740b5a5cbaf6ac2f4ebe6d17e5de685e2aece1f73db97732d46d3038ea98af2f7f9f96f2de761e3ead5dbc9fa560c73b4354c9abe8f0c1c1784a08503482c04e380d4b95cf70c4485b5d27b140d4dba83828c3af063cfe6d66d7a7382039247786c71247a19797c50eb2da75d83dbd2ad5b75436c2c3d92983ae56c1aa5033bb3858fe5c0a5f204e624bf00bbc9388bcd6d980faa2c9b447f1974e9597e5b00581e029ab33a2f0dceeeaf00bd56a9a0d47fe3545a44032d29ea81910e8595ec4b0274683a0c416af3659b3c00581e027a9030c7c3f4febeb083d0197dd814cf6a7b43e1ecbf1ff8c1b837f69b49195b7959b388b800000219802000581f03f6a3dd2458880a9d3a1d4c0e74b09467c47c3afd18c58b8bc1a33a3cf41049195b7959b388b8000000581f03e262808ef25cf79612126d1cb8d425b4dd84dfe9eda9316829debe05456049195b7959b388b8000000581f03be4d4d285819c94204af913935a0f9cff75793ce59283ab77083010bb42049195b7959b388b8000000581f0324bbba4935a44d6ec17cc555b2e729a8557319bed2875b7a96f727608b3049605b99ee7707880000021942e0031a1bc92ca99aaf8bef27ebf5821c44e0ce9221c8468dbd610a4474b07785c86803966a360ff95ede34e7c1383238f713b383e50fc5e979bac697ace65f8e46f666034dba3fd727764b8cbd2418ef37568d603ef3f3aa04850610793c06f16e7bacc003c63fe90f5482fdc95812dbc2934a8d5b6640d0ce5a020b1b7725733bb8305d4303e991469dcd74018aea375e19eedf4c917f080e506013d5b2eb848ed98f106f9203cae7909e94229fec2da575aa8388dd0b67e8e418f824f929ab887d31614c58ee03c9fc04e3f7b332572fe8bde894a9c3f87dde5086c72fd9fbcce96cd3a1121751037b8a7009efbc2e3b4fccfa39ea26615a2140aebff94849689b3ff9498d24f6fe037567e0a947c36d1af185d5adb0a99fd291f2554a125f58def7d1bd357ddcfca70318f84f7df75b495f03909df5a44cf05774d1e92bfa0f114e9428700d1dbcd77d03f3d210783bf4fbb3d9885d03576f6d7340a183e05a9068acee3cf3781573024f03b80f3a222913824a827f08dc1af03a24c720be8b9b6d5c53125bc973131c013103901027ebd8bf74d9cd21b9e43748216d661442cabd960f651be8d486fae1df530219ffff03881d684674330c69d1e57b85544adc1b76ceceaf52bb2a678a29eccb7bdbaa450219ffff0219ffff03b84687a2ca359b1d86c7ed6c6dccbdaa9f0a515a35ec59f7c1e913857fea5802033faa35baebf1eb42c8d49274162ba6de9f25a4151266e1e9ae0c6617b7e947ed039489e84fb13855a756c3c2b35d369059f8d52dd7cb6e6bec855e7043339d0fe7039059c47877ffb9e9b423dd0dcdb4eaf3e9ef0c6be90d420c6d15ea1c1ff6703403cb78ef07fb7218df0dae51ca330cc91c0d3b9a078e2745df34deca4cc139ce360366f1b6acac20e0dc40684a6e89ac3189ec34a152c3c004a8f30f2790d5efca380309cd3c45a41dbcdb958cd148be964b666780010fbca31504f1a9d5f976e9711403454631c30a3baa588a7d37769f125d2705b26c2ef49677793e26910c0218fcf40366336f20d604232081f71ca308b14aa6c5d5b5a07e13ee1a3f4d6377dce227630360e79007b9ca5c962fd87f6b4785f037fa77a55bfd308b8c0e8bb8c7a258ec8403f237aae1e49e019cd70c1f4d1d0b17bc5b1984153c9a95a4f95389f87c81fade03486e9275a109940a5a1e61b66f65621a0fec338731ab81f08aba151fcce8a9aa0311467daed4588a65ab6b152033bfeef50786c4e6283d46eec9e07a51dd61e1e1039a3c4d05fbd2a59faa2f19110e720ff24b9d538ce4016bdd2b0a86210216fd9a03f35043a3ce92b4444c12813f37718abd4ba741035164ac43c312604e26ae50910354d3e142c6614f39015d2ead43cbce094b0a7a6494651e18fd705279236e4d6803b925c73989d948fb9c86dc6c5a8f0c926e6909987b2e12ac0838c83ec000a2f70375dad220badb87571dd49f3747c531b6ab2a0ceffbfc27ee32781a5a0bf58b9d03071ddc3fda8746651812aadab42687de7e0515ec8a0c26574d1fefc6246f4c7f00581f038a509c0b43419809affa54a28e11f1cd5e1cdb2faf7eced1f642747b59104a0a6b971142fa2ed186a000581f03a7bfbc7d4ca43c719359f83112e8de9ef09f03c936cce54d34e3f6e97a6049195b7959b388b800000219810003cc826345a8867d774d064f6598ccd0a285bf5541a55ef17b79d9910f729ac7300394c3f028b4730a536acdda62abb72eecd3b12156408acc89d8902691a54bebe303c8a15fb53ec614da0203fee92636ea3567da9cd25efb830b60f7b8d9a760860f03f4c3898bf40b1178949087847e005247c32863151444bf9dedb8fac0d7797abd03c4651cf915abfb2dc82e6ee96679229010b68310abf7473a946885c059991bf803519522e28eb3a58bf72553b76c18ccfd53222743b9082aeb68720119775a743903955a28e5357deacf1a4b212467bbd136081aed760a88bf024e9dde208d650ba6031c99bcff44d6ad35b28e7f5489fd3774f24a97cedca65291399512c4ee75af4903476236eb0ffb4a9aeace780152bd03f2217b04623ad866a90e2ccd0538aef9c203251556897a3db65c446b6f6a1c017d51e436abefe24fb1740001b98023d08a80039d043a0b3b763ab554df240efd450745937f8622f2ed1dc181a3d445b4ddf1bc0219f7ff03df574ddbf399d0123a716575d5df76c740b3274384ebffbbd0543f4106f078b803fade816cd47142d058b5a41c7504e9014307a684254eacd476277aa9af9ffed8036a6dc0e2d475f402453d733a53acfd5a2f6ab4c77c30fddd0e760b8391ef93ed03ebd930e9f593ac4b7f0156a98d9f69f5f9b6ba3bdc957a3d776af3c2d41fe35a03e6ac7ac7f74ce025da6c90d24f3533364f0da3ea93c71d63cbb6b7692e168d07034915cd5d9f9581a9ad97ada7416b61d63aa478f0dc47dd53b8e52507400025ae030d57cc3e025fa1808ece4039fbdc3eaedf2047cce9ab2d6002b838acfad3a9c103524fe188084f102ce9d299f41722b44537ecb64104ee9e2522e3e152ebf60d730330261a1211a8931ec28c3439cda580801bd3f963e311a7d56dcdb42c864922a2034d05d8f8172b96c76ac3f4900393a2d108f3638cab83e80dd2614eb3d8d0d526037e25d11e2ec8d5d65ebb69f366d68509f52ddfeb132c174ce0198cdf68a96c1f03b71381f3a413a4150100fa450dc8e3b5db7dd69ff86677d9d546b02f05345fe10219ffff03454dca7dbc9be79242f6c1781b1f1a542775b331c289af81609a2d19b2acf50b03cf55f6b7b0e2af6dd3caf965971e253fd1320aa5bd322996268f1945c6732b18030b6a03073fb264524b94c8af0cd157b87fd15fd834f5c524056f9e98f65cdfcc0354fa813488de551e4d98c0059527e688bb26bd59018d15efa2ba694c517c06f003fe08e4812d4fba05b4d0b83138f2b6cd58441a552f319240b2851343245e13170357a4988040e86ef0350afc5e6f095ba9644efc7040159cf35ff0bc607a75b725033dcc1a1ceb2521d1b7520d3ff02436badbe09f395bf03f783f47ad93bc4d05790386d6275fe9fe0a7ce99bb6a733a81dcddcfe17ad34355e5dbf1dbc777bdca86403ac02820c63e6d8cb862f2bd7a41b6625379227e329854a45aedb024d8632a35a03274d8f0bef69db30d957f6f37eaf2ba9f4195eb26bbe2516d5a567c04c31e49403b49fc93ff6aed17bb0b39d3719b69cc55cf8d03b7c7fec3e468dcdd8da123be603e7c0ed54873116bb1c68d5f067b43ff7f03b2c27955071db4af11db10dd8e116034c0c5117061a1681aba75ee934b5c8985dd59f9ef82e9ea4e99f36d173ca10be00581f024c8bcfc355a8078500822b055bc746810085e7aeaead74f8021b0fcf8bcd49195b7959b388b8000000581f030e2981bcbbaa7dfe3b896ae1a341fa2d1cf09e28ea8c47dc0c0d435518e049195b7959b388b80000030a6d946b1e9e0ca53ba71f81836b6ba6895e61f12d70f8ca4d664538930a9a2901410e00581f035f795df4ee492b1c5e421eb01b05ded36b7da7016f5f3814cb25cd044f9049195b7959b388b8000002194401034f6b7d856bc20f737d02e80ac201d14b6b7acc4d5937d00937034c6ed61acbcc03f84b8014a842a4546fb21fe9b57726730f607a9b29b2f770e4d2df7299c0a92b035780b0d8078471145b58ab168866f63cecfadd40d42920272b6f1498ccf2612002197fff0380b94029f61f7cbd11f101f507207291ce572437cdf51fc302039637d081ae5a03776bd5b3efa1afe13e6237ff9cb78c2933c14d0b57160427c3f2d6735ca6af6c03abd3c59765f227e5ee380ce999b3b84c923d7cb7f8b3a114549c5d2adcae2d47039c2fa3c7dcc5d3e7ad6962957dbddd95bc208d6b6ef46c8c150f3a0b1b0e812e039dde18ac4a611100192541a9d3c1ab2e33ea5d8a064425844f76b2f64e9b7a35031aa3da462667861e249e9477fda92113174ade86a4f0aa4217217fda2b6b6f1703d4a3ff7a5896a67154b1ee2bfcf7d5f62aa6d33d0f4e548fa2c649a4a417aa93031c8fa4951532990f2e1f2fa861fc34e3cc3b1d86e74805a111b2e712ee3d896d03d8cd7744c84909a094d74cb89eeddc5510ecf796e711cfbc68db494eefae90a9038fba86eaa6a517de79c80a6460c3ab82afcb5717a2c692a12348759f9a406f2f031174bec978c6ca945d3d6da2b19f1c357f47ec9fca66b021240a5bfe2ae9579d030c963c23f4db94b5c8252993dca2662963d4f89bd3ef5fe93c068891ee464f9e03483ee20e449458bd2918a5cab31dbee35a48c4c694275f3cbe02d7d7a1f4337c0219ffff0219ffff03d825bbc9a2c5658b211880e38162c6b73a2b5c0ccc6c5ee031bb98ccb33212610356049cb79ea4092effccd93611d0156fd09dd403c1a7c8412cf46d25a89db4bd032e23f61a21b1f47717ce2ebb720e482d7f4c579cfe51f2cb05c21163b8dc511403b1b69ef7c2a521bdb7078ee7dc248d5e96b23d4f0e2502596071d03d7aad90410373752276e885bbcead9de186803c05054649b65d61a7610c572739017f88cae903f5892ab781d2eb121779e1e1bd1d4b5756059199d15efd5d9233a998896011f003e8102fd3d1eb99e6072374c7de8e51deffe1db831f84558010cddc0a8e1ba05f036fe8b0eb817e0b72d13c245b176507d750170b8b2a880976d81e1d45b6226b1703fe0a54e6da4821751d1fbadd014a8936853e3e621eedf9650bdac0d281568a1c032528fb0658fb8676725b417e8ced2486d5ccf2414a2563a5beead65f0b5757fa03d0b5e9a585ba75d9188153f90efcd4857709e87e381c047be81e63852b47261f032cb3b5e60deed7961dc9321f976882c237821fdc4b50b33bf95104addb27e3eb0381a8bee51007a8b81b755df4fa6a5c4da546c464df67e2759b44ab63f90be24300581f02d4e9b35026449ddd32f952d28e46af30ddcde2898aab1a410b7eb6071dc348f67831e74af000000319b95f5e0560d59d83de63f9d08bcdc7f03192bc7095ebd047cec132d36eb2110368649bdc3a8dcf78942388e10bcf70490dcdd5208999186522ecd6035dc5789c03c89ae170031df90caeddf5468a0aaae4dc19197d8615674a3fb7571299e05ff000581e02f0e7ec5afdd9c1d41e31125c975f855933f4682e50e3753b08d158d8f849cadbcacd9c45c0000000581e02699cd7fc6aecd62d4e28bf2ffc0e8b5e6afbc5a0e0829c59221664cc284928925bc2b8dac0000000581e027300dd4e5bf973fa27a3e8bfe71dd461e43a859d5504511b5ebfd4a21549195b7959b388b800000219020a00581f03cda5044a5fe1e65edef0dc667859ffced43fcd188ee4c73c613ce65bcee045a954d331c000581f034c6d71f4e4c074b1f3a1a7c983ccc229321cb8bf476e26291cc5c25edbb04a04c3391e5ec0a238dfc000581f03f62c8be711e2bc4304dd1a281a060e5e95a1ff28bec82088bd53ca84a76049195b7959b388b8000000581f03c0ad204fca0bead419013a35a9b2df2d5f2263b573267373cf4ad2463470490449a143784d69777e02199e0003450ed580a413134cfcfa1ab5e174e86d129ad19645376c074a9e9de19f94e6f703bf42c92b075b5df6f80c8566f6811bdd1a2403acff37fd09a09418e0c852b64d03defb3a0d5f317efeabdd5264eddbcee19059e23cee24b9adc4422d731814f4d103159a0265bcc55b40ecf04ca453e90788395f7476b7572d7ef27e4685f6abc89803f57ffc120072c653910f62097692505e51afa96d7fd4473bcb92cd690942c6cf03a6e71bb3065dc10ab6daf3fee338a71874d14c14c3400d246b276a8b79c2ced503c3a6599356f10c535de99faa43813d30b11c5a894ae271839bfc4ef633e5611a034bd852fb106ce1c9f25cccd612053a8ca61d005e88922f0d8940d7e0345e0dcb03ec4b125d58ba9050eca04a80d823a21099696e8186f2368fdfd1901891e8672503a7734f3878f6b54bfd413bf0d974eae1e9eb7872dce2582824759f4e0f8a9a430219ffff03f8af02245d3a4a9a662f361c8e41f5e5bf6a4b05cdd2ab8528ac64f7f8f1f609038f98d7e093d301635c89793c8c2d6a05295f5e0d4cabb54a7d3d5012da47240203e3d37d420aa550dc68a0f8b5a4eacd0a2108d661a61d27d26be1f7cfba5c60dd03134c7f77ca7312c311a52d8457d77f5493b7ea5610a3c8b792b01d66f8dff2e303f468eaf09551c5a90dbe948fe0597f573520bed8c292691769689da34e80889e030fc0c67f2e66b222bfcca3a6aefb033f94cbc95fe4e6a1e12cfdfec33b651933037b29f261e569f608a3f934f1f413b00f622580c60114ef621aefb104e31b6acb039b3d111e746196c8247f3d1564faaac960b5a0d78c5951855182dc6b61e7fa570307e01f75081228ccadb9fe02cad79a6af156b5ae454edb09cdf46b5c6ce8862e0370938cbea80fa669b33db841f2cbdb743a11f70058ed3f8a9ce323a996b3272f03e248f5dcd0f0d7be22ff0d506eb6c9b836a9d8b28d85fcc677bd8fbf106f15e80219ffff03ccce062ed4ef5662ea7b968b90eba5e995b943119e0b5e9c4c7f21ce1a1e17a203c0f325fd2ccefbe5bcc064cddf0c7729ae8141da4f7f1367a8debff56a94e36f03ed6a7ea260c365928b6b14fc21437c4c1e6f71aa6dc185ffb093718f9c4b3ef9033832ce826d252ff0d4586ee5eac5aa99da514e2ef646d5018f9486a3144845e503877c4ce79cacd6e587d0072bad3dd6f7764d2f8b85d3c08b7af15d3dd02f4e5903621aa539672472b84481d9d45a327c4e6ded408268f49f7b8c764a0f529d60100370faa702545fea98301a441eb7ebd2aa23e87a1884219cddbc25dca40d9869ff03da644996a9c146fbc5e997beffde10f4fbd215d76171c93d307f12085affca2200581f022d91668c30e8a8ea9b31522b3a2815e137cd52bb79e71113d34f92a068a54932b6f2b36711700000036879716b1919e952b96ed7bdb75c193fa49dbd429d5d07290744df6f89c2cf6d03989725a7731f13d40aee74b14eeb1bfc83b3cc18bf393db62f9d40bb1a00c27500581f03c4d9f42a4be6b3049f2d9dfb435e4cbdb7bcb88903d00455bbaf44ad06b04a02df5cbf29567cd8000000581f031d94935933d1c375e9f9937d0d6eedb7bdbef0c4d772d121c30512e163c04d01431dd027651a73e9bc7fffff021848037120fe3eb6ff9ad69038ae79c6e01490efc72cf49fea86b16c2b506ad3e320b900581f02e8e10292b05e5e6112371319b99161df8040eed558f189840ee30e36350f49195b7959b388b800000328b1f77955f1f7fab8e02edca959b9be18fe978128959c1326a1ec017069dd6e03fb8e462953989e17f9e78fdbf30d195fbd9c617dd1737649f83e6ee1c7e7eaa20219ffff031358c7c3a79beb57dbdc964ef66a6965cdec814f1e31b1aba645333d46cc038103a6133e09679fa37e6617afa59413b2490b7b5f13877af94f97eeb52a86b7aa3403ce95783550fef7a8593dff25e94aa9d0f1c9dd600d3403b31ec9a11e91d68b79036a4515bb0efe56ff28f7617b591b14e6ce14b808edba47d579cd829dfb8e2db9031be945320d0b6d7763c960c26a6e1771d7972cd5112affe6ecb3417d95cc43080385b14f4aac9431fa85c467c68e6ba0e835e0288d1e805a1006123a0d34a29a6e03f31fa2fda0000a9d8a959c42be89e06421ac89bb5d6b789b0cceaefd4bfa4a480375caaf1bb9b43106bf908e606945b907a8669ba1eb7bbcb78b2082cfb3fe095803b9a19aa7253ff98c935e2e318d25e1f702d6ac1a2b47ac54122d2cc1c00b6c490356b4b3a81741709810faeb3cc24fd20e57dcb2f5a2224965ec7c0df12ee80e1e037774dba893b0d910ab561f5cca7ea9423497b5ae33aeebb0b7a1837e4d8dd92c03809b35face275468232aa89ffe503f9d6ea65b39673313083bdb105d9a64bfba03fd441df880ff828d2188e2dd6c2f47dbc9ace840d34ca45b9cb82dbfbd31c24e030cdde2385afd67fd3b3bd6c3e9f681fadd8adaee5172892b1b041ea6ee95ef2b038909ff59203272060d74bf9212d71367f3b29328bf2aad7e87bd3b1359eb014b0219ffff03a2dfb34f6e499a662df64c2b314a7bc114017c504164b6c6068d3ee82e954d89037121b36834a5e4d95dc011d3b676d25baf7688005b436be707b6c9c37d2cb52103d3ad142947c393aa4befe5fae61092176c69ffd1dc9ffc6a84eecd4a2d485528033989d2489e7d7f71f5156250f474b9205e2c5d22a7b4cbf28f78a3284b85118e034f3d9772adfaa50143280f58f9e9f83eb18c4b4666e0ba67e35562776be55b50037e4955228d579f7f56d437c1fb87451f47c290e486ebae56f263a2a5e2cc750a035764b4fd520cada069457cf5a2bdf6a08a0e63227ddef86f8f0276797b39db6d0219ffff030e6f75b5093957450a9abd0ccb84a3209f9f805c1868207736dad288f19f9858031a004407f388dbab870ebc73e80563ccc026aab3756ab61cc70bb52691beb4df030b9c2205fa0031084d6c6e4d669ffa94788be7f3abb4d9e30d19b2171989f0f603ad0b4c5becb258941ac47c45e7f45f330514479932f0609170cab759921baab2036aa9b9e89c2e7e7ce3a8f8be2fa0ba310d2f6a6d80fcf0e55c15edc866b7f3fd0375066a4c7a50f4832610b0e7dd95d630f496ec1c79cca34ef06f52fff8d8bbcd03f34487e6dab7410052dc852949eace8a20c811c595c16b04e2abb1880c94f6f303f71a6eb728849dfd9f7cd682b3702f9fe3893cf4ee2851649576d99f44c99e9c03de6a8c362655a87752572c8b759b3f3c9fb833edb8058da446f3545ef9a0ba8a03782ac5cb7afb005070599ce9e0212597fb14e7d109173162079fc3c8baa7aa4703002cace0a7bd2aefb98c6a038c27a36015ae6a09bbdc35af29d7e1e9994f090b03ce6c00ecdd616ed8b4074c3c2bcd5e594af6ef65c8b91e46c6b09784267e6f3b039865553940e30e68ca931ddde8c46221f5334d3a70cf4d51b5fb085d42e1861f038a0d5e2147a8967531744b8fec527377eca9822d006ab3ff9b4fa3917c7bf0ba031b8c9b2cd3b1ac58ed74f283c99e9a30fc24d0be062ae3278868982a0e5d28bc03fca8519e82a6486b1e3ec05553f67521795098c6946904ec17a6145dc7d8ec3903f128e5202ae6105224ef2ce59149dd1bf0392383b49de95eadf5f175c843533603ca3fbcca90b3cf332289d381491a02fb570f660ee5dd086f365877dfc0f7378d03a1d7b6df0711395b2f464d388793bd2af24e004b2ab2d20ed8f0852bde255c8403d7bdb4b34a213f5f1fdfb0d3b59b83fb933eb8f79718c6f222e483704478ff6b03b30793ee5d8c5ab04a526642a4962c0f42a7c1309f94f219bb6a4d7428677ee003bc676ea55b0e7c3d44fdc1abb235ca9a88f2ca7af71a68121d429e2d6eb9e2e400581f02b8543f3da5116792ec2b5111e5e2944a0e8d8eebd2bb5f0f2117935d3f2f4a0255a6f27153a55eab4003109f4eca69f2bfdb162a044e2ff56bd3326b9b1f266a7b709214dcf6c55ab54403082438bcd1f2c17f47138833e7c2ab5f4e0780777e2f9f4a413090d2693a0855037cf8c5cd6f634a4f145e9ff586f693cdb0d39b9d96bf6f0ecc1f08c03e333c8d03c3b2fc157adf9e212a1bfe0b84bdc35d6544adccda897ae7eed1f0eacdd562da00581f0395f9335fab6ad5b79e9b19b2c87790a797c37c2d7791f76d6212e008955049195b7959b388b8000000581f035d7cb2ca899e36be97af6d1923e90db5f46a247fb7f208bbf1bd81e13b8049195b7959b388b8000000581f03c314f0ffa117120072728adf1c194b39229bb1fa15fb1f31b777bf7b853049195b7959b388b8000000581f036ca04cbb28e7eb4542a381f3b97545812dbd324cbf16289a080573ff326049195b7959b388b8000000581f03508f402ecccb787bd8324a0ff46929059e4d4c9ce82972ef85d12169be4049195b7959b388b80000021958120219ffff037f20a2a9b1c6b5630a2fd3b7e412681627072fa004a862a56d35079a4c18bfef0334f872f5ded1b5751c020f4150e04c50b2f3d32c0736f5f3b82d09083c1eabb303647992204eb2eb9eebce0c52c4b0b383c1305f9617206d5a7e30d5ec0e3599370326454e62efe46825834d3f391ff46f181fe49ed1f267eb22533cde57096dcb4403e3a2dffffaa33bd5050d545cc93e414c14b044e1da10e8b753391598c23548a3038f457502aeda148df5358ab05c063be9a5ee33636ca501b0b3b2ca7c4a60f78a03afb064e925cc7314d7099d7b8b3be4243c6bcba11cb71ddc64bcd636b032bac503f2ebfd5a16a491bb0b7a8a01f1fdc780f211a0a6e7496b6e2b74d4b4d33e33d3039b1dd95df728e361f6318b34e0812bff1be82c42b943c63d9bcbb799d969a1920314730383b7dc4b7bfc8e972a767ec3b998b322e50b2b7268338ed283318bf6750219ffff0391a41c0812d17dc13f80f4b00b7116e5bea69b9143d0f68b0c0b07b9c5dc229003fc1c989158e259803af95c5ed258d3a31bc1fff6cdfc28bf106bac3f204339c8032bbfc47a208038b4d57434ea75b46881b677e48e2807de993d03fa54788f68cb0394439c040650333a74370ac5c27c5d187adcd576f70e0b941c7f4beeb325b39703f88f8995f6feff4de90426009fc818edbe77bf36750e64072891bf68a4b6171903f74059f95cda24c2dbf4ca50c66d0003a31cce05a60ed29ee72e2f0d4b5ed3b3033f7821b68067f1159c634f39b512615439fe574403692afcc2a6601876461b9803878fb6ce51f16441ed2dcc9b983ad5f08b8ebab8ac3d0d9899658423586a7e440219ffff035cb15625f78ea42a8dad2e16f5ef24a4ac407db8ad553986946b313f38d733bb035d3ebfcbb72c10d054278b32c55a21eb4f675a0ce2837699ce5cb5d8a4696faa03c7494f3032f548d6621521ffdd39bac6f2855998e7fca65452dac0ebb488983703cfc6c80a65b819a6fde757cbe2c8a5c24ce9e1d7cf02d387a5487869104358f7037f80d44cddd7d2daef47482323ca5eca60f7fdca2206ff9c9624f7d4d0e784d30393d3d2313d65c5d222fc9b723898d4b099e5c9e1eb7fe381f9146ef52b4c31f0039ce08d67b5d7f03f6d0dc6028e98774f6679740afe376480241a35259eaf6dda0367e73f51aac94c4c7fe174ff7732a362bee2f569b4c381acf6a4c5f8ce50ad85034bee2e1aafcfe889c0d08726696c852521fd3c19dd445f4d07deb342584519970335d6b83078800c4446ffffae5b53d4abb9eb418646d63297b9d4dbd590425b120348fae0c5a8bf60733db958d9ce660a5218b430c23731a3212161268221ee3a110390a5914e2bdb166c2d135d6cf52aa9c7b6331f27857e4e6e8c0fc8ea3c16f20d03faed32643d6bf7d248060ffb6aee10d787bfa97bc3817440e524574a47bf99e803df23ff46cda2d31e6b59ab91e26559a91933a859793869d85325b866a4ece68a03d0804b6c4ec3e4aba8d9c3cfe5e304b4cddba869c9202d60f372749fb0f810eb0310048e958b1a62b4b7d18dc4014a1ceeddb50c1d6adda090066c1c715ca205d6031e678f7d097cae4836dd8c54751eabbb8746182d5f0c514d45dc60ba7ee33a5503106d019f82e2324475b83a3c2fe8410a1a73ed73f4d46f433e6584686e4d496f03f7bbbe2318c23b7f14b68d056b1d3f383dd70a049e2e63ff6d4e94dc90a7a10803197f2c8df25708d48b9828f0592a88076df51937d1137a72ab7bc94aadb2270c03b353d6916c873cf536f19e2fae5a29630affd6ad2598b74664254bc3fb1e014103aa8c07e2061c55bd36b84fba7cf222033c5073dd9faed47a9064d5792f34008a00581f032462e04ac49ca25607c6c62cc052ab1e26ecc641d1f5bf5e572f02ce4cc049195b7959b388b8000000581f034667bb0de9858567791edd8879cf7dd4af9dc74222cc5bc08074a0e35430456be09ebc8000581f03b3e36e31d36139aa3da4bb21b33d42a14096b0c94ec54f9f911609e3ab80491e6dc4d20aa410000000581f0304d5b645b806368508c378f1d119cfbd2ea8373d092df5e1105dfb1a8f3049195b7959b388b8000000581f0321bc0624ac20cf149ff051b50f5a27b596da008d120b9112605b4c400e20491e6dc4d20aa410000000581f03dc79a8ca0a1e52a3688e97ed41a3c6b75c8490a3fab20df0c96a4609ad3049195b7959b388b8000000581f03680798182e170c73a9a68638b0543c4c37387a203c81c28a13cacef638d049195b7959b388b80000021940ee03fbd6f18617fac7d0bcf7f506010383f56d854e03c92c8acd66a7d7e6ed1164460361d52ab42ee32cd58460e88b85937b1128b3694df097f74b24da395d82493f1a038fe9c87455c94089713bad97aec8d0d05db8326cd7a44a2e8bd02730771f047a0349453c9b325a07735d63a8f0ee696e6d8d897d7ebccab99faa3e2bebb17a5ba10365e28eac421e0eec0c3124501be3bfe02a80acfd10fe20201e671136feba567f03a94eeb10c5acd118c2c065ff2a51ff416f70ced15c8a28e613d05cebb8871e6603245a5888e530abbfdfe22cf23c3f735dbeb34c3f7f0c0cc440ff307134820a2c03a4ff1748dc7f3ff0ac63727b25df4cacf706284b169dd233d8aba72cd51df24e03e751b29918e3f72becb1ce310bd51111c895618da40fb1d56410735347fc6dc60219ff7f03c36c89607b4182d4f72a59cd77524658b3bacdd4863f80e4e2a09e5ce8c8ebc20338e4e6cd163f24286482120c86549afdf3639204e8df173165efdc415ca35be103169706cdf4d7034cf04f629deaefef312589d746569076e4453af858964fa593036edfed02224180f2a63898893c3bdc4fed434deb8f3d359bc3e13bf903231bb003db2d90f4610b2760d0664a06b9b06b25ebbfb6b85802ce7cb69f989a4b3da1db03e3e3ebf4022a7bb0d67068a76d2b8cac0f1ed0b571864ed796cb5cb5e81221490361c0841212f2276e9f5648d698dd66a0b418d96eb77d9a3f96dbe7c0f72365fc03a95e13637d17de8d3b373bfb5764a59aa9a1419d011f45c474e856be9f9862e003622e8720b63473ea8df7dd0ab13edc1a708a8610674646761247ffdc01e5fdf803ca2be119505b6874558c370e8f86e20371a9fd4bdb96aac505d0b82f3774694a0219ffff030d56a2dad21211e8f239469540e4d4a172c768c14632648b5cad4fd1e21cb29903944aa015edfb2be2091b4a32007ca49624852f0c5d0d854e935973e0f224fc2203a651e3e6c9aa0cf297ddad1443929acc890f5dba0cf34d4ea913c6b627ebe1210219ffff03cbccca52734e17ee4f366d6e413ad49fdd8d1925745f99edb7c9720c193878f6039d0e60206ac3e2389c1f38e19f90093eda6e47881e88d986521dbe27a59f9d4703bcc5c86fbafa0b2fa37d68b4e6ffd9ef0a3a85af07947beca20e2604dd9c8546030a4867f0cd6334c392ba356616b6434be452c82dbe02592ba07f5e74f676aaad035d7998976c2ddbb08a779a355382092a5fbdb3609a51b76092a5a1613a7753a503e00275e3f1b98f192fdc3c3d32235d4dd5e712c35cb46785a706092d32a3344c03ee48eda5b66c12f667d8254be6d8fb21c2edefc84019dd24f71cb96818da4b0d03855b7b4fae614b2818a7421e28ec4b32f5127f152aea2257c33db3e9480e50570336e4174a37529cac23bd452b767afacc64138733367158f0a9583e094467f961038547ec70ee4a791dcaeda7fbd4d563c20738c47d9d2d7a92a893077c14e4b038031bc91b7fed62c4bbd210de9289c09826e19013d57398c7ef038de636f65b1d590354babe4cc09e99c8dfb2070703940d7271d77e716731643306b30fb03bd0a25903d14dd64bb7c2add5206315b987f6b5a05b50019608c84f5972ff578f930982b803c78db33253a38a34c2d4905be63718bc5cbef5ef70797d5cc6d9cc350c1aa83103c1f9da61b471b197e587f69476ea4e311af3abafbd9cd7ab4d97d17361b8869603ba251920cce82bbcefd6cf1265cd7053eaaa2fcaad0fe5fc8734e1c9296f72770338a4a623bd8be1fc5d493edfa775019e50931ec6377c4778e15c05f46eda21060359a9e491ff4d38e1cbd4f5e469780922efd34ce0dffafe592e5fc506d6ba1549031107a3d10caf6fcf56297591d4cd6c0da51a286f64276325ef4aa654329a843c0380499ff3ed280a5a050b715da99e9fad5bdc38836067d00a676299e3a5bd380603ba34966d1c3bd610aabe267cc469391f586339a173dff57753c5a0fd26b3a4bc03369262cf0a29cfa865615b5dc4218e47a2518ad10f444333836bd037c64a9c1800581e023a5d7dae5f29b65f5903878d613b8ede51d3bed074afddadb27dcecb2e49195b7959b388b8000000581e02f082f97f90e21b228d4241155a9aee37413e051cfdf26e471fa869374c49195b7959b388b800000219140000581f036d34c44cb5b1b7abb4427c9ad0ea2ad97a863146a9aba955c3315e5cffe049195b7959b388b8000000581f0389e19d42a6bd0b5f59c07c509846cfb0f0cd38abc73e06dd5662f89d1f0045e8d4a3896000581f03f2ee98ac389722bec043af83acd4b3a925abb46e39fbbde3e75099984460491e6dc4d20aa4100000039569f0d5c6d539b5f27cea981ec9f1d638045191b3cbe1d831c551b341e2b8070219068c036ffb49032c43273a1680f5f068eb3ee53c86f9822b83fd595fc5e9240650ac9a03dc47c1e5cfa940a21dc7ee7e5efbd4951500f29f133d86497350b0591fd8718b035a795f99f9e5d9af2d056c2b65d837eb18f183ddbfeccb32b45f74b5b5df6b8b00581f021d17fc9886779a92767c075bd35bce02c9a0941c4d7ee9c486791566187a49195b7959b388b8000003827f5162f01caa29372cf8e5a73bb0ce931664293b651b7ce30d07710e7aec0603bbde32ae4d3638cd4854b15a39f644b0812f64da280629ad3d50b30ada0fab750219ffff032c2bf8ceeae6744602f503b7cfbf4800c8970cc0ae7a6fc5e213d62cfa1fb5c1037f668b72979f4b5b03b869b1e5cf406bc49d85993507513ad4b89cd7837cb8fe034f50e230bfe80cba4e083ca820e130983a62d34c9954ef524e8316d96b87cc9703c1351f4cbd0a0ab161becc570c5d9cb8a6f4886f8fbaf08ce213be674bd578120219ffff03cd8909dd8fd47b40f45f01cc14d6dcd2d7219c9df6295d3b5beff5bce1886c270376d992282a9c8e7d10a94546d409ebcc777f18f08690d966033caf40a6485bdb039d482ba56fb69c8432033e6bea253fa961783d3498e7da4cc265ef73fc24d21f03bbd8646c852e0ed6893e879d567e3a6b48408e86d6c699f627c297b695bdb0e30348b7f8d1ba6ddedb61bc7281434a75874e5c031961d9571f25d27b448290750603084f6b149e3cdf5e7d513e07c2fc597def335d2f84baa20d95feeed3212e9129035b32416534cdc01800a754df1ae9ee13c6b949ab921b59874a71b36b32da4c70038041c533fc72bc3637407fdb356d697323812fbc3fe1c3e935dc2cfec873b40400581f02592f6a0bb26d04f751f2d980c2c6e6c04a31a702c11a9f8f07d9d040077a49195b7959b388b80000034ce8e8f453675afab5f5e9ab4f51d4eeb27d034ba374713cd7e283a068bc99a0038d4f98756050769da30accbc8b9e5e8ae2aa67f3059ad4af4cb4eeded25c923403c19d719d09da3cf501fb24697405ba91f9d967fd69d6344eac83afa62b93439203a4953bb6b88068bdfee0f371b9a8d3b9538ea6ea6efdeacf62f78740c52a246b00581f033b3b2f7819087196d2f0742ec6c4fedc6a74f59700541a1a411d2c055fe04a010b0928144d3cd9c08000581e023067f931c718babfd88df81acc7268dcc926125c1380951874742c86e449195b7959b388b8000000581e025655f3498a7dccec2d89df7ca7b666e0e9406616a05ae74c9fbe28e39549195b7959b388b800000219900000581f037cd7ed29ec2d6988cd6098ea037c3c7d691f055485f01bd5bc00e9fd6b904a01f67b57d850313dee4000581f03786cd8cbe94a5a38af088fe66e6228265cd5e213e5c20297398b530ee2c04a03903e9b5111c807b64000581f0383b25480faacbd4a32da820f3d433457cd936cfd571f11061d36552b6d4049195b7959b388b8000002198c480388057fbc40de32ed6cdef04c9aad51a33a4f930b54af7402e23b0fd33ab64a300365032adc1bf992c6b5e981058270e1b2abb9dccf8aec4526af7b6f8d9ddf24f60356916f2ef14e9a5526ac0817cf78b3b2ab837cda71a93b2c44c72023ab1d6eec00581f0320d6e555c14958fcb4e87d23871aa79d14ddf0fa71eaa121c014cfb3f020491e6dc4d20aa410000000581f03ea19d2c9f9f18865bd0c67a0a6cfb272b0067b304d1b3e100653e7429f6049195b7959b388b8000000581f03bf4a085195600c4ef8acf12c1d627c5fbe9aa9b71c0814a255cd6ab7608049195b7959b388b8000000581f0386f654b7cd1b345ed1c532bb6343fc42f6d353b55f14dfbf5668c7dae8f049195b7959b388b8000000581f03bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80410100581f03d2dc3f8d359bb88ad220510a9da7a08607db450ea38d1f6225ae71a3d4f04932b6f2b3671170000000581f030364ff85d2f8e2937b17df7bfff7fe41ccec7c5f1dead6919b2aa25510a0492380104a61bf66796002190ae903dd3e60836dfc55abce6d92002c2f0547454bbc06219b90c2e38b0a35c82220fe03a0c6384ae4f8b03299666d29cd540ee30534d08af60de08d921aaa4bd40fe9fe031a2b5d32d192c75018988254f3021a5a924f4934b45d24a769922257db169a0b03eb963eac715d31a83a1225bf7b32041a06fd45d696ad228afccbd108287b4b6303d7a0122ad1e29e4d2269d63eb9e3cc4b8f6946c13f749f2d4d3f5d53c1408da20219ffef035faec1f5aa70c03eb5510f65b78c3c998c690267abf678ad35bc55326205c5fd03e3a73fa13c6978dba9af26efd6005191c0337bb3b26d072e3a19d4c0dcb00c3603671fa9dea3dacb51cc722d9037106001ba6767093080a8dec5922107558811f403a690b02f5512f74b0183f2a86c08a427e37cbf354ff71761c71cb0082f1c7e5503332dc1fbab56fdcce4f844fa3f820097f13aa000bbf37e3b86152dd498fcbd3f038073a931a97188c19387b196360cef1d106bae204eecca55af45771fc38ef95e0339cfe98dea5c927e7d6408df2dff5a4abbb4b2c503bba83a624d38d6247acc7103ca962b7827d0cfb4a423e92f6ebda4d76e8147dae419b2d999c1dd8d81b58e6303c81de860b186da71bf5da559abf88aeec15eaf1f05d0be531f610cf9a4f8f0de035ef998a148b454417901597a97a8b7e9e03f94c061c851fc5a12bda422fdab600219ffff0356f3e1e75a97b4aff57424e44c3bc76fd04cc416a5d9a0aa2d53d95df1e40ccd03791633583044f671709bcce324c281d5df73b31aed6c4c62047d9f0589fca371032f1a51d26faf5c5f1e7e960e7c57b1946900aa97e59cdfe37177432b91659f7f03457619d55f373cdf85655cabbbc319de3d5fbd407a276409c1c5b580b4fb1efb03ddd4a496eb9b3a64fea4df88c6313f298de07b2407f6d2d77bc421df308de97203c56d51083f9476e3b1b02cd7ca2586db120adaba233073e691ab51478f1b6ca503b60b498cbfa5c6790d4797fe04cfd37af45264c52731755a942c0c99d6b97f8503a763253bf0a70606cb50ca3b6854015305453de4086f22bfe087e3d3b211ab95038cde5fa39c4c07a7c0a302807ea90673cd29a69d04ae4d48c51a36428a67c79703f2d17c14e899009fbc151f0117e740a6d7d853a7063ea2b5ce5dd9c7bc03e02503130bcebecf4505145c2eb4f7fc7a6534497cd87775b08e03f9f29f16fe45a8be03331ac5560daa0f306c07c9dc335c657c859194d2b4855eb7ff4875bc372797cf0308dea2e7dd405df0d921c027c26f588fc2785b6c03341310a35fc806997b87390370bbd8cb36912293c9e64b243f495c0e2d8208e1916ed101a0295ab41a2afd35031697699f53eea6c6b7791236ceaab3a53bd686824b1241189bc31116a7d5b22b032a8b3ce157fad5b1c108b63c1beb78b5dfec29027beb74fdea6dbef425c46d8c00581f03cdebcb0295ec42b84aeb1391fba3fb8e581699a0f22c51afa236af1d8a7049195b7959b388b8000000581f03b3fcd0b526b9991a9c4e841bfb9fc01adf35bff355150108b02cb8ef7c804c0383b4dfc1c7848ca648180300581f03a7e7ca3a38d6100f7fd85ed7a4fc8738607e6f9264933bc2294e795a3a9045286862d7800219d0000337671fe07ca95d8c056468366145862fc91de6e1da6f118078c5f4ab7502c51e03b73bd444b9cfe112ef58861ae757f3ae1fc526e38e933be6d173475a83dcdd47031fff598c954c33fe0785306cb0c7cf81e395b815d8ab20ffede4c40fecf4421e03648379e65f12da8ee1ae0b81e41649ccae601e00f1db024664706cee7db7dcfd030a9c35ba02dbc2d654f756db371fe79515a06d91220ef295042ef08a67c06ebf0219dfff03c72f45c2091dc85e01b22477ab234454163d6a6f79e15527fb87cb6c3e5a6f2f03ed4733ab0a1be2da10d4f7b34337ec1366ca95a4b63c4ce9c00e3120b0056d030307fd1b3b355147faadd0dd28da1a08a60c8fed3f749a7dfa92d00ab10d817bb90329be43b62c2aee2f5dea8036c4434d12e1d37dac24029548c77917d9ed8566af0399d5a366d6a198436155df377e8baf044230a96ca5cebef7b1aaac2ca38a7ee203a954decec91ee32a1bc8b0025fd319aca8ff33ca1699b6c1619cec764a6fedca03a546194c8cc1ac3a1fece7a80ed1c576e6e9aad7dcd902e0a82bfd5b40732bc7030eea7451c86e9eee52e9a2c33a3263be395bdcae8889b4718a39efcdd2e8629e0356dd3c5c8303b9ccf82dafc9df13ed66325656a5ea4159d58712535baa2d0eb003887ca9f581513852804cd1fbda7dc633507756240fe2a2ae8e543cba5c3eeab3039c1584ee9d783ab954b29842d708bb808920de165b58cf284773d5497ea398a203519e39e798504971aac32d04f6897fef1cd24933db1305bbdc1782a55f5a999d036dd148a6cdb8141f8e28ef486d7800e80d21bfb72769c19f6acb1fb3fecc7beb03975e07cc9dde156ccf1dfc1a057cce314c1a9427aa43b00d42d8e75b3fd7d7f10219ffff038d497849b46cf3b1918203caba1a1e01b632bcce142fa8e7c93957f3b8060f310372b41c2e55e2e2e5a446505d6a77b1f1c3d94df560b738d3e49fb62fbda201660219ffff03a724a1a3cf8f38c0bd9f621476a6b1bf822e4fe7c2fa44e9b0a374e0c25db72403aef6d3f450c9efdb7f9dce565cc803ebb726811d43ba52fee60deed12353b7a103145f3a058ab23675849d88c4c48eac18eef748276f6407360211b08bcc54ea7603e5537c11564c164c3a1254558501ff383aa79e723dbef2809dae213a06a1223403b8a5a6479e27d212c6ad30b1ccc89bdad92b3c13d79562474db5e55b476b559703b810f57f9c8dd9077a35e68ccec3f359568f8a55e1a1959fc9f5ea12d44ae912030819efb11bb84bf812d9f219c885bb7ec5bb2090e08f214bd8eb2a69d7928f4503c79e3f766bc769c737c751d71d8b54794f01e50fc33d849d8214124823890b8a03381c97302b193d3f4fdc5dddaee8f64a50d9d31ca9dfe5caaf0abefb6990ca0e0359351bbaecd5a132d548a1c784b3eb106fa137468fdb11b3ab4f415dfbdf29b1030eb8f489ad1bddcce2d9da3c790a5c5a350472a5ec57af3fc200514909e5586803eafd672feadc96259d223eb236ca00d136634629d3bdf964fb3231cb3792ac8903033470aa9dd6ba5896ce1dda33d8dd33784a6bc447fdfc4c34c63af0364b6918035f53ee6c4bc8df61b2e2c4f4ad5d79fe8e0577bdf3b8299802a8dbd81b340d650375bf8ecc223990ea40a7df9bd07e14a2d4f6b81c1b59d89aa283fb6577561e0c031266aa798d527e9ee44878c5e748ff3e911159b7ce2758f9c030a59a111e65cb03ef17ece2d21292e8cd9a7d892fbffa6214d77d8098d37232100cbdb80a7200c203c2c26df36596bf939d9ca0e4c6ae76c37071ecf5614a3e77370a9dbf2340208d036b17345abd11b96672383b26b319d83da96a4112b52caf1fa8b81b9f107479bc03a30344b1fd5f22233da325d83f0dabff7620916c06e14d4c0b52486bccd32df903cfbd32a7a2f6e7fe930f915e913454ecd179b764ca94672c2971c9bf7371203903cd405250b70630b318b38afe202c7038d589930f7b879afbe7d183ebbff83fcd037c1c3055d41d91786e928990506ad476d80a9b3fc0f5ba433d54661ea8336dad0355eb61b299b6de57358f86fb6ce54d949ce562f84f0af7e930dd2d0691518ef303258481d9bca424ad067da033c349c692f938ba1ce7103480301a0363484aaa5200581f02bfeb81f9803d97c3892d88fd46b505017107d690e51507b1357c09017ec14a080cd56d53e26e23e00003fe0e334d9946ef2d34fdbb00ebbb4c8ef9a6804798320fc8d4484de0dd8516650362b322668b4c4d00a3969ae918676afb2bfbabd0f73a6234c92853cc8899ee0b0347b4443b2ca1adaabd52b5eeea1999eafa8c46bc2e3a567f22e62d741ef76ece032d11aff2346f056cb41f077734b18943f8c81da5c16ece1907823b38b786b13d03aa798a43d7bcf41724ffcbc6c7c8ef8d0f9f71798ad1c258d5b1e693a8d23db3032ab3203f1e635dca72e14b8e87a12d07dcc52c6ce6965a57d30bea240877d9270319213f476a1d71dfb7148030eb80acb8fd14086730ec441a7b8d4efbed3ce6b403e3083fe4973ac2f76c020903841b4a4521ce8c3d5fc293ced48b80ab2cfb8d0b03cfc878293fefa4da9b6d1e4c5823bbc6c5412d75746679764ea89a16dede155d00581f02af0a560ae32217d1926467624a420fd8a22b9b7a5ada6c69616dbf5bd00c49195b7959b388b80000031c9957ecaca01e187b670266331b17195fd5e69250ce931db493bd22b823522f0368fedaf1e0e62249b394748a387bf41669b30b6f92dc8a45192625aeb1fea98f03d09b68aa64052f5f960900d71b7f87be02da18400b7baa236d3212557b132d0100581f03ba99efcb48f8921b429631ef7167c296f2236d5c36e054b58432e7e912f049195b7959b388b8000000581f0372b7deabfaf074f7aeb514d48898f9dcf80ca3c37cf74d35d5ffdd99d6f04a02934a531c3be2b000000218810219ffff03256ee34f10ce6d5e2da900c848cff1d75a2eea3cd247a32e4ae2ff2d904bd0b00219ffff036f51f594272fd277f3aacbe3825e6e665515fd9c1d22c6b962bda2aa5c7c85a503caaa8c097e9fc779a846f85548c64f7a6a58d3bfce6d75903f9b7bfb80e8bfa403bc692572465b17fcccfd99e52e71489ab72d00455d426ffed10c6c6bb76a9c74038a35e1d0f137100ca9ec068fb698a5c95300dadac923423150c45bc0505b281603e68c62a53c2a48524ba60b486d9acf39fab9ee60bf2d6017ad8ea793de6dc36c0219ffff03ddfa2ac5506417c177d22300261277795fd13078da3acf8e4886a3713102ec6103d13e6eb8972e4f134c569024d6708c4d2b2492dbe0e16ed11d485169548b9dc7034111b3120f4cc894406e48535848311565d69a978965359d9d5579c0a5ba485e03e2b3fde5bfcfa1aaa4b76d44bc0bbdf6017fc6e0aeef860924bc919dd3c468f4037db589a6104e72e9674c46214711d306ff0b7fff9a48afb49eba597cc83d9bef0384ee8268abd331eacf5475dae55ca187de3ed3a2c276bcedcd8709b071344eab03a892227cb5cd85637f8a48f8ef2eb57e856114fff3237100e5bc9ddfe1eb0bee03838a03c6afc59b732f2817e7b5547a18cccbd3d9b1b6974f04f3332c634d9f2503c43bd1c3b1d44a2b503f55a6aa5cb2e0eeeff0f0fd24dee1ea3a1deb770d5f16037ce1f7bcc54916cdf208bcb4a541dc2255805a797a4d23163503f0e55ad4988003379801ebcdf839e6056956704f5ca54f4dada366b86fe46311a42dbc561a1d31033a5bd6685ee8241b319250da6c56593aa406c0b18ba9efee9473e8f0a6e652b00334becaa4cf335147853a24907dee2664773a58cb53cafc526a668db105e36b31037d8743c505a04d7d96e8f805370db6b940b01ef7dc025feb3cf17aee869302b40391bc7623f05a00699dc4236e8b4bf466a9473b1f5dfd0635f94841d504a9cb7903f954690ac9b6854155e594e69e1c143370aadd526f77b3c0180dbead7314a76f03562dcc6150c1169dce312d93119c8fb0bdc8d750a3b9b6a8668ebe19bd04fbc30396fe39abcf47f7f58a7240694f47564e4eba5fa8a2de099b207728c73e7b2c070307730822edf5c08265830dbfef0059d80a63f5216b0f75869c4b8fcf0756b9a603c48f9b57a1743e9d0a19ed6b9febd32e960c43a0d93c0fc222ad7ac689a1b3b103c7f0965484d6d5c874b895ec7137f6a88a8556ca6812ed3b834955cd9bf0692000581f03539f36397f336c6d3770811c8d57530b963974482c9cb13f19417af09ca049195b7959b388b8000000581f039cff0f3f1f5a8f8e1c6f6dfdaf50f3f1a3dc5103e2c579500d9687944a9049195b7959b388b8000000581f03e9753e13cfd052d60a7508fb07515833c878bd569454331a809b10cb02c04a062417d8af6a3820000000581f03de53dd01174f8ef8614f4fffc1514f4bc23563532333c4c5c3a9c677d5e049195b7959b388b800000374ca76d111671583914443170146799aad94adb20267e1a930af4b85c1e37f4700581f03539296d440136e04739ee4f77a6c2da79e8519680ee53b94bef252b0106049195b7959b388b8000002190ca503082f512091d88ea3bf5af8aaa4d4e3c8035d7d854f38d497b5b46da865edb02d03aa4160e30c07d8b43321b9f29bf6250fd767946dfdbcd0b7fcee6976a3ed737a033cd6403b1f68e85cb0e19c02e7d953d628d2a48c1d4c7358b8150872b89aec7a0328ffe525c245fef6bc84b282e25703ef86692c1ca7965e24d89d4309b758f51a03e2e598ba350f1c13755359b8a1a23ef2f880f02a08ebaedfc00d475ae79e092f00581f0237b6166c33e91e4e16c4ba161e6df7c29fbc54389962c820de21d827e0795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037092b23ee0784067a17d453378ec7d5512a5f6c41a4cf07585d238c35a888b4f00581f02a5deaf965070ab33199fd329326e541933439208302ffaa00a9502010dca491e6dc4d20aa4100000034930a69117b55759dc9b3a3567410643097b929060f7f37e9fba703f2b60beb60356bf85ff9d0e5160e08a112ea9675dd04210e38e1cb33f980c6a41f726178419032c36dba1e9c320712106fd17b555393265d27aacdc81434aabb053289931662f036650f249019bfd6689ed33c49853cc0d510ba725217f60973f49cb2ebcc4d8a6035ecb72c3f6274175899821cc63e35be067259b08f4dd8563f977db1f5f390bc20219ffff034b03e45bdf1698b2c111064c58e1c48e3b81167f80027fa7f3edd862e5758f840361b0fe60019a93e190738142e19b99af004e43b9b9d7c1ce0890bf0ff23ca89e0219ffff03d03d735f5b243f40336eedafda9b588876d2e767935ec6c6f93a2fedf12bb886035e1b366aab8f80e5cd25b92aed1beb03b69d332c7f59de3851376294e15496d60324152985c6e38f0d76e425821b4321b303b99808d1c4599f6067f09a2708758d036d90791022049e69e13da2451574de8eeaaa053021c69b29b17857ed57a5813a031ef77086bdd22f8af54434d7dc259bd01cc5ca9d4d7ab40b3eea1531883f42c803e14cda50aaaeaab12ea7330c79786c406f62b9ad5be5597ebfc109338e3eaaec037a3581b09e42743819c737e91296ca5cbcb801191acaddc85e83000270cf755b03183f9c3dba1cdfc7cea521186206bf4a8f3cc32582dc63d4d177c7b2b376454200581f031945922db94efa913bc5cd19ddc9d93207308f6391ec330cc519c57e15d049195b7959b388b800000386cd5d7e96b0b467293f3e16d5169b0aea411dd80af0b1e73a34d6d916b3492400581e02ca1e9ad716df2809d41c448813d6b1ed15de6d682f3aa4b4c61aa8d01c49195b7959b388b8000000581e0264bc302fb3c8dbf378e384c2ea1fbdfbc728406f7b10993286c4954eb149195b7959b388b800000219020400581f03dccd569a21244bca87ea249750375867cc08fd6e1b360e9eb3c57d769c8049195b7959b388b800000219415003a5dd8b8103f8c19db352943253e0723fd6dfdb8022a4eb0b91bf900b48de7c1e030362a0c5d72d2723a5dc85b5b6ce4f5e8be66647a6ac42c3022c18407b5d4638036ca38a8559a7afbd4ef7c324e1ff9d46f9370c1eaab907cde7138f09559ada160387fa5a264da9bad76badf8f3692db88e9966ebb45286ab84f8dd11e49d2e5c3d00581f02718095ad996a5973a4fd6f40957f33f0f8a998838c1edcf6c8587e086f944a09d3723928c4fa80000003847a4d8f56caf7608968b61aba221ffc3b3df75977a86c0f87a7624b33ab4f1103686938b064f337eaabcace18d28380590f8c6cafa6f3e099404ca1514648909b036f37f3acb21b6c44b60db09b20e6fc0e96a63089a68aaeb920e56bc584ee7d27035f340d342a7c4558b370cd05284e261e3bd91dae309053895733bb11200903860219ffff038d11aeb35306d2c335b07e58ea50688fb93710a3286fb17e1e0daaa64f60c58c03534cfdd7a18f07325ec33d9c0dcf48d3ca89e0c61c0dcaf3bf9e666307820765032f295d8e81a3e61e0e999d039877b06823249c61c30996b8712f056a6ad4d49f03f67a0cf1483be6cd4e8b3c8ae73695c1f0f40e87e4a057ecd96ce12142b5063d0325e443d717a77ddaccfe05634c7fb84fb66584f5360ff7bfa05ff771d1c224f903216b01a79b39d5a6056f97f14b506810042fc13cab6ea1e66f6fba2ced8bccf70354c5eec5bd69df5240bf499e60c5244f6bc79dcd70da02c3ff703ac352ab824c03fcf107856ae4dea9dde8737f34c82f8ab2ac9309e77c7f53b68dbcec0c34134b031030e26adb835b5ebe606dd65bdac6e1fb8aa13e47e2e4447a9e40b71f12a74403089c070b0533f64516c3147996c49b65d02258a6c7f599c97e0a1b2c412cf87903070f2b54cd04b810d410a5428fa3614e0928f003acd6b0f897d372f07c3d1d83039f48f4d188aba16774ef98c5c6f7d5d3ef1a39ea8ae06781fed23f2993c5aa42038be98b393e8e1ce75ed6d34ab3fd3278dbb2b9fd007e0d95cc8fe8af10238ce903d30365e42288942d18736d28ed600d523b024539a4c4c07f6361291324a967010324eaa54b2b261794835bcdcd770e05c518ca61b7886df741693fbadca544ac6c0219ffff0398b4090053fdb1a091c8a50b784e7a3b9b7276235c5e41bc2dc9b599661a592a03736d5d3a5696cca2f24a72d03a063d8f5de620a7f018ca89c24e88e38033cd1103afad64b28b90861f18e309e81f127c0ba929beca4a671724534b813f85ed157a03c5693b319015bb095cdd15d498c51bda32a67697b73de9ae1751e5d626d2464c0354bf6e94514d1441bb56b7b9857f99ec610e35e9978052e9cdb9157d322bc92f030f13d3013f334e6502c968a62f977839bc1a20470398765705cd9d97128714a3034e1e5c9f03f49badf7391ea2edc02076bde7d9badd57e69f62340c2d09d0708503206b0ea6dd07618c05db35331363de9a997cbbd126519519a0daf6f6abc9aa35037ba447583898898c99ce513496f8cf2826b53eb0bed894b69ed64018cbedbd100396397bc3c60bc6dd4af7b7dd90d6ec8c5f4b2f705bf49021781f73d92e33f56a03163534f99e2f6fcc2e0550270d602b6771093ec73c9387702d6dcf0cec2374ef03dbaf1e71a850a3d163c38a8af2a0ac67747e9d9d4e4399e3b3b1615ab008486003f4133772bd32f967741415d7c15d2445d400743061faa23a978b270135835cef03d7bf5046c9a7770ecfe7c4dce38aafa463e0e6b688e4b0cedc66b7ec022f91b103008a441f4bd0313b650d7987240e6d2a990ba1846c2461e9334e2c222bf2c42100581f02aea966484901bc50cf84b03d1cd0dc808ff2106414f3962a98a88db9f5ae49195b7959b388b80000033fcc3f9a7c98dc7ec2407cf08f0efbae71555ed64e4ee6f3eb77fa0d4480eacf033ab42b5d832c584d41e2ee4ead2c2bae15ff7fa7afee7faf92bdc3fd7ed7345e03709ae20e2b415958fe5fa4f10cfe0164d9a190d842a50931cbceef6f7c8f6c8e03f822bdb928b03068c7c25d11923c1b26b110b0ae53ac66d514cafe38557a51eb03f372c82eead810b5af2c9fc035004554443b52f9e56b22c43095946e88081d1200581f02990c71da3b3925499171b66df27bbdba38a20f083ad7d1b9c6ce0f7f8ad749246538233e2bca50000370aa2da943c2af50b8d1dad11028684687bbe2dcb3db800c5de619f94eea57b403870604012aa4c279c84cc9c5ea47de536c41905a265c9fbdeafc6e8410a1509903178b3db226aa1e55e44a74f17627ff50477121540170ee8cc4777751a9a268b103bc7d71f31d22d8f95f87c4a78f719a1e196d090f23f264af993dec2b5d2cc7d800581f03d611d6bf7cdc128f6f6c549a3e4661f44db34ad5964d771c82acc6d753d049195b7959b388b8000003d0293f7089223f6fde966fca100ac8b715e05782a614b3316755a3e75a4592a800581f037a7ef9233f1f8096129f9edd0fffa8a97c738e43aac6dceaa8e0c65e8d6049195b7959b388b8000000581f03ba3a402dac6b70e958514dc40a15e7731bf5b10fec0abe09fe2d62a00cd049195b7959b388b8000000581e02a3e1cd01e21f2249f7670f9c7ca149aba9a0b982c99321bc40d0e2cd404a208245c65d45f89189e000581e027de2f159476a7ab2abcc57dd1b73e397511ca3baac4266b44d413b06a149195b7959b388b80000021200581f0363e288f634d624b145a5b2020d2a8114c055d57c28a0469f1c6df9406af049b6929cec3fd8600000021991260327c6acf3a8b8bf785d936f3a544d3b5c5e7ef7300988676ab254b71b75f372b10219ffff032ec649347f9749a98a670dab64013e302a082032883071dc36f4751406962cbc035aac0bfc3cb4b4b1bcd91693897e3fe37a9f49b2363510962feaf695c842ed0303d6448a62504cc1411220db04c82e17072a9b4fc6d8a4d47c8c40361715bc50890355c64d359ef0b330bc82e7c85b041e073a09b941a4dd1982d2e1ab33db037b7b0369f988e2dcf54d3b8ffe2b6dcb66c22c27c6f24d0c71960a8b1d60b6d0c888ea03cd0b2b1abfc23c04b6b86b3d9ebfe4849f06b607661552e8fa4b5a96e8d2ce860219ffff03e7cd474b63201fe4d64ba5ffc0d3a65a57ec11bfbc4272aa647dd851046611bb03fd0e9db034e31f21978dab69449db9202abba164ad98f8b5f9a1d79f9114dfad0219ffff034a5a0d6227f42a6b885bbeb6d89462a12570ea7237aebea3b61c5455bfc68d660219ffff05581d02f4fefe581946f60e70538d5df5e6ae9aeb502de5af1c76a959ff701907011917e905581d02ae963061a1b234f5ca0f82249c064334d3a7f9d67a77ffd98656d7fa04130219080805581e03b8d7c9260bd275cc62152653f2b85b58b7d204649d02d31f42cb378ee0040103cfa70afc302ebd7bc091778d9b538f2545d1457672bc1335e23f7a15979782e30219ddff039066ad20895e5eb15951e943317e2630a34a0ae5c23bad2b2b2eee35941e814e0219ffff03aeebeff3853519b03b61c6176e7b96d68fe8cdc54cbdb44ad6379cfbb4328c8503c4bc03877885a19ae02532aed38713d040b35f614dc8445a72948d9065b408dc031685cda8e79a4b3364ec171110d4ff2f20e924e341f3a9416f83b1c00afccc4703482bcaf0eb53795be7a46cdf71f2cee502815da48600e6c541660e47277cd82903405a3c8739b83bff463d9d5387c936bc4433ad228c5f7ca1400b5822dee6d7fe033c517667efaabee014c23a4e0f359d5130cfaa01c0613d0c420087d31cf1df970366471a47e4f35ef5bd64574096149cc4aaeb4a5a6e8fbd8d791d031afba49862036670a12b090fed67be7c67be0ec22b07a3e7323df01bd38224efc22a7aadaea80376851e63dfb2ae7afc1661a252e73cd86664f4ea67149b27ebc9557ccce0f46403324f3afbca61ede6d087c828bb64cbb717e28f77917b1427f3d418a0615cb70003e586a8ad88e3b94411c2ba4e02818cd42f1fe6f156789fcf3d816a13b05aa1d103fd5e480d43dcefa2bf11e3603ddae2ed3d8b233c2ca79943239de2e2ddc722a003c1124a6f5cd79c4838929df96a28e3d9df8ed4371f127b67e36fa05ac0b63dbc0219ffff03fc2a8a0bc338925c793125644635c732483faccb42e1dafb74b63ba3ddaaa8b50335b63e145b3ae14f6f62f8e9f4b47aa1bc97b1d097f39200db1539677af70056038d78fd8d3d6f270f7838d7da3ebdc7ddfc8558f600969fec36c0590af0b5c20d031140ea17800879939dbf7c3a084ab19aad5a5b303840d50b79f5a422d0b7137903f8d76d990d0d006607dd03dda78eac544bf1cd5c10336beb1b8b83c777ed03d603658cc63801515512a9d02614c7f8dfd80d78e2486f0b526509acaf9e53b087550219ffff03c4182c63a5a5d59657e2b2ebc5ec166b4e6636ffb715b4ed18412a71cc9aa177039a4a9374988f15ef360a39c7e89b417a9fb995b1ca07edce381418023caed6bd03582cc3e64dbfc00c7664d186b0e3756e13c6865fdb9d45a3e51902e76f7824f80219ffff036b64462fe5d43bd22e4bdede9398dfbade05ba8487117fad829781b05018f23603c049001a64464ef45a0e3fae1e8fb3fec2cd368c2cb0d2c521e2af5a5bbdfa0c037b925d8d66eff14b0daac7a0b4f23d11939a34269a0a0790b645f1ab931823520341d74e909bfea906cd617589502697826725c70ce25635b6a36da59b5190224c039f97bad59b473e1570d0a473dd83a5a57a789caf5b568505dd47d537c2015563037d637c3317cfd1ecc4fca698cb8db9a359fdc419acc503ffb1baee11245517500338b63850f017809c743c0dcd8c40990715f97164d127d58d5555cb06a33877b003e54d3e3baed4292bd122d20150edfd3c4dc0bf1bccd95a945467ea702214369c031090d45f06b836496deb294e678d82a2abedce188a42766d8c08a23125a69a36036e192c0f089ee420417ddc5877dbac8d94c263a04ba27cf9c73d96c38bfed508038e7c7f5baa02183cd310bf50c541b128433593a85592774e9343a64cf29adefa03413d25f27406c56d1ce371daf3ddc3d9716c63b216ff81905d7fbafce94b7bc20322bb71e1158ab17a459eedc89db736c1f6eadeba170210c173f3b924f3b18c2f03d567bab47a5c8a6db7f114fa8720576716823f682416f140fe89cd04afb72b6d0379e90edc4a753cf01c29e3b1c458f03405bee43d8504930cf0b5bbc415e5a6e403455673548556e8630540711d1ab65909b243d0c15c56533704b94b7d099c02da03b22ab137d6d16d5335df801725d33f91fe656904a41c647e7e9e51681d3ad2be0376e2d8badbfa2ede628529ee53bd5ad1d98ff4830ae6281609258b90f866873f03391f013dfac73c6b0153e960bdf9e45192a02c47a7cda0d204c433a09ff1561f03e24d8536ae9ac190df08866ceebc26690accfa0259201b6b3448630eb95fd9ab03cb29f0f46bfc5137cd0a95a7175104649f1b5aec118ec39ff19d8b34f83e04f103bab55c6ab2f0edf50034ab28f8ea5f916f59b75634e23a2504cad248db220f21033c143e4569992b561030b727f061bdf968bc6917ed9bf6e225c49ddc4584084703ed4d2c549d1d1ef1b187e3902bb7797953a551b3997877d1dc9be15615ae1e3603cae2bc500b8c4e2ac6037e26b8f9233deee9a5d3036ee75220d33d7d92febd5f0321f6365c504f10fb7d47063a2247b72910b27317f155297a16a33fb6cf0a5cda03537c020ef86719d8ffe3f3c0889fb7c030a9cf871481f17d6c47289039e71a09038aec4521b56c1a849357346664ed107987a7f5c56bce5d2eca6aaa5cfc3726df03887af09ec19e643d0546050147e000f700f31748c55db6ebad2a22c12ed1dd5f05581e03a98c78e8a277f7002e9644f28eaf6e7deb19850abffb869e204a6070b00c064695d0928d1e1003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e031c1adb33353e11a5d2c6a29f3859e04e854c8bfe7f8a9cc5597e021d4007011bffffffffffffffff05581e036471ed0cd23debc90f8c811f78966986bede498607d9490faf1c755e000c034701939ee05a39f303746250e16a940a6f7c1e0f1d74e2fd8e15cf2f8ae46fe066fc93012d906fd6c30321d57bd3bbaff379cd72588a2be922e7e81f86a0c0dc2128fe92ea5822480d3905581e0344ef56f7357611777b16d29afb8dbdf4dcbe91ab19f38a82cc1cdc00f0040205581e03de22635be1945c066db2cadcd62fec5fd8a7086e924cb92135e7d8ace00c01461467bde3a600036cc18901ec398150c2b5debf2a75c9fad9baf9d939e44a6b1a681f99e913e19e03324e62a799999014e6181f2b50b28e11462c67f0ebde63582d6a48a9cead137305581e0357fd558cecd2cd9458561f8026a842b1208f25ef42162d1777cad50fa0040e0219ebe5036059160aeda18cddcfa9f2b31c09b523df6d48484c1d2f174f08a0099ef58f880364b0524ff105469d9bc78cec78a42df0ac6f9934947c2bc3a882408435aa1ed103804c48a51b0dae58341e84f04183447c386a1932d4c97803b3d355f3aab2a12003ac6e5be48abec71eea7c69a5321038e530917c938eeefb7d2209cef9ebbc9b60034ec4c73aeb7139018fe1237c2d325f239048e585b263e0b25045d9fb81a75e24033ec01e9a7b1cadc8f7173efc2f20f4e4b6e70ec5ebc4e5e4bfd8d8cc835f83000332ea179ca19745e293d30fef18acee2e6cfcf770ced05e239d2dc5927844b07803d20f757d4e82c03b83cf967fff1602cc25977d05d29d5441c02daad3e17dbe96030fc0a3dce4bb106397a6a9e094b4bc556b03d77c6a1bd6bda740ab6083dee913039f314cd851ee8fabe9d0308e0c31fbb77e3ec1745ba56f7a91f8c83b3fbee8c70219ffff0219ffff03566e98421ac7ec4081d31007d925cfc003dd71285fe31687a3651d62fd8d3d39031eb4cf10e63830baee353d8e96c4d2612db52cd0340dfb2810dff3ce3f5844e60355b54f138f21ada46dd29347f9170a60eb701657c9886b3d78f5a6199b759d770369519953388d4fed3ef8e8e55ce3fe5a6dbd9573e475452f0282ac1d406197a30349c421fe04585e9883b9d142baaacaef148c481d224a15bdd68f51b56e3a874603c03e67a1e8d17f338ee0c4fa85ec140777e18dfb68ca6956a6b8c75d066f0bee032704f42aef88af041830e5e77b6a2b72072fbba51e13081e95868aae936f98fd03326d8a89300417f34f09dd42922b5bc7cc296c9c9fe1309eb41d6f1808e5dc700331db714a8bab5e1c147ce90b89c7a45c9a9c57abde60e3fd547fd5760e7a956e03d6b3431850beb540381537ee1ccc08395bb54b8ce15d1b27b20c6f5132457cce0219ffff031d6b716da94b54ec72a4e5fa1ef3c3a55fb7a67d030a02f0769d247909d655f3030d3a72bfc583b320afdfd8adddbde4e1f227733554ff0672a9a4e074d8ff746303c1b1205f6a1c616da4360e2cbd308c3983a95304fd6c334c12b9e0fe72d3309003d4ffb106f9900ab333ceb426bf83a70782dbb5659b17f6fc2315547825b7f2d603d3c3cbde96d7263038aa9844454d8f170f3e1e35aa0c3cd263202a02ecf3c829030c4eb1b51df264816c67c60926037126e66e8cb6a69ec0fce06d982952d0ac180364aa928cd54e7bfe5ae66046690a9673eeaed6e283a7c4effc8ebf1e97f74592031691f114060bfd3f987888e799ff7f56b74cc463e89d3bee5205e65fea0683dc03c71058fc7392df5796592739c35331debf283c80e0c027c58a266715bd65b405036995b4a5938fae2f4ac7e3384d11504ddcf383daffb36376568aa042d6768dc603a64fe220067cc81dc65756f7b5144a7f6bfc858751c658b59ab2c0a65c0426c903657833e7dc9f169a91380b032d16a584b03fafcc897c2c7f9a58f7d384eff8800219ffff03275102e964e854416189939d8410788c18167fa321ed93884dae30690d477138038c475cecc19369cf8cbf1b8248363d95b277e651e9beb6a02c6eb05c09d54d14032bef2e7268071284d4420d1009554264493a7da7a0f1e116f36da7b2d29a4abd0367cb1dac13c79f4e055db87f3430977ad9c9c469c2fb3fa80c8be5aa828b3b65031b424783f76ec00e5dcbf3a86690a0458ad678e5f3679817895ad726c3508f7603fedc880532fe014bc8de9ed8c8f39fafa292a604d85a65e02f4d2a25669be072030041135bf5f866f062b0a80bc5c95ec15423e9e3bfd5b29d37762714b49ebbed03c9458d5c26317aa15cc1a00ffeea81c93718a94b4b28357ebba0816750c13d77034d8caac9d8dbddab605feb65e2a5b38fe2260667809c46f570b3858ea42e74a0032faceb4e9a2832b75d3deb8cb28a1531fe73f48474c4ce9d8b46219cd0f344b7035a6788b434f151ff5f6728d2085e88fd8dceaa668a81eb7b727992cf46cefd9d0391a8395a745c36883490cc75bd5aa815ad8cc6131f7f60d6cc579b7d37e10723035a381e01f650cd7a853381dcadddf715588db30ef7a406f7159f0d0964419ea703f708ba82c580da51dcac7ba1ecb9141341a7a5178d11721b9dd3f1ef9ec252ea033fbde6a0a78f52582dd39b719d870b6af7f053e8a417b9cc1f9e7a01a9659cc303fb022804e1c58613816e94c3b0a42ad149bfa0f5264378bc72af64150e7d93070339cb802756921a0dc8950b0265d97c1751e042df7f34be11d630b5431bfb77e503be339329aad106c690de3625cb757fc8b47d233b6dbe65fce66a6f7004253ea3033f59d205837681e857de59e4e982ff9802ca94ae73df4e12014db6b8d1e9ec6803a54527256cd139e36a97d6aceab81c23ef611b418491556f24952b1cd074edf403ff7997d6197969a9ad2dd62db5bd77cc5b2338505ed65c5069a2b7188ac281890343631a82c9eadd7008b84b489801e4b5adda911351fa083dbfcdc2c78d9d695d034013bfc31caa0a2f66f00d916e17f0702c82a20a6fe45027955383ba2564e6be03e34e6c3e82b5e534d51cbb359547f4542408ba9669bbbf774f567763fc72a38b03222bfc7904cbf11cf19da74c2362bd75e729d5b0372614f6c2b26677581e8788039aed7340ebd55e4129fe926b872dddc3b001f26f71c335b8b31deda2ddec0e4803b819a909cd75189486c30382d796a9f8129effaa0e83950ad5437b611b25c0ac0379c41f441b602bfa406a4fa30dc0aeb146b23678d2b039e4734f864d012449bc03fce1ea9fac45fec1abad5dc42df0e00c2cf4724914ef37c5d2e26100368a4781030d02252041cd8b3c9839d3f4ab99fb8d1c34e035127d3c0cc5b0334d878d483c037303185f8c20c4b74ac150e1fd0bf18fa0c52caa661c9c2e76ad5bde2195709903059bfb8556028598b56457807a91dd49742cdf557122e0bd8d256d26ebc598a105581e032d3c7f5bbd0447c613af91c74aadcda9669a890fce376d8ac842102a600848047a8714c18b66f00399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803f7646663962f4fc52cb9b2a3166ef31cece428497a95ba51f54bea23762494ef05581e03fd434f59cb9b587955219182300d8744434c9e99731e73bf7d55c27b9007011bffffffffffffffff03373e20c302dc78cbacf416104f03a83dfe449bf5bc39855ff654f10fa5c153de05581e038a0bd0f12eb8e8803e3ec7f2fe9c20d433a9a82903c7985c618c5945900c034664ccb03bbcf805581e035a64295beb50d26c9bce9ec1b0c5489177be8f92ca0732c1b4809b35400c0147010cf1ee37da0004595e09608060405260043610610452575f3560e01c80637789281e1161023f578063b8fac78911610133578063b8fac78914610c9e578063b984c94614610cb2578063baf20eef14610cc6578063bb88603c14610ce5578063c081f4c014610cf9578063c50312ad14610d0d578063d819e19814610d41578063d9af94af14610d6d578063dd62ed3e14610d7f578063dff96e9a14610d9e578063e33a3c9414610db2578063e3af6d0a14610dd1578063e3d3227d14610e03578063e805217414610e17578063ea4e63ed14610e36578063efe1702314610e4a578063f2fde38b14610e69578063f63ec50e14610e88578063f80b0cfb14610ea2578063f948e38614610eb6578063faa94d3b14610eca578063fbf9529d14610ee9578063fd59212e14610f06578063ffb75cab14610f31575f80fd5b80637789281e14610a1957806377a5426914610a2d5780637b763a2c14610a4c5780637d6b325314610a6b5780637fa8381a14610a8a578063800bb26914610a9e578063842e298114610ab2578063856a73da14610ade578063880a083614610afd57806389de416514610b115780638e449fdc14610b3057806392c1df5414610b435780639332812414610b5757806395d89b4114610b7857806396d9720814610b8c5780639a5a6cd914610bab5780639c3459f014610bca5780639ed9922014610bde578063a779c1f014610bfd578063a9059cbb14610c1b578063af4fb76314610c3a578063af835b8a14610c4e578063b3c05b1d14610c6d578063b8b9b54914610c8a575f80fd5b8063300284f211610356578063300284f214610717578063313ce5671461073657806333f3fd7814610751578063348617f91461077057806337c4f8c41461078f5780633a9693e1146107ae5780633c34267f146107cd5780633dda7881146107ec578063462a8c2f146108005780634676736f1461082b5780635085aa481461083f578063510f8b9c1461086a578063544a6c591461088957806354f5d028146108cd578063560a701a146108e1578063566d0be3146109005780635c3ef1301461091f578063635d70f4146109635780636c52876b146109765780636f6096331461098a57806370a082311461099e57806370c9b002146109bd578063715018a6146109f15780637291fb1614610a05575f80fd5b8062281d1414610456578062ae5faa1461047d57806306fdde03146104a9578063095ea7b3146104ca5780630cbe28d6146104f95780630fe757c81461051a57806312065fe01461053e578063128bfcae146105505780631371bb401461056f57806313aad510146105b357806318160ddd146105c75780631ae409c0146105db5780631fd979e0146105ef578063216630b41461060257806321eef69d146106165780632277d1bd1461062a578063236393851461063e57806323b872dd14610652578063276b5c1a14610671578063280eed801461068557806329b70d7a146106a45780632d02347a146106d85780632f77195114610703575b5f80fd5b348015610461575f80fd5b5061046a610f5d565b6040519081526020015b60405180910390f35b348015610488575f80fd5b5061049c61049736600461574c565b610f70565b6040516104749190615803565b3480156104b4575f80fd5b506104bd611042565b6040516104749190615811565b3480156104d5575f80fd5b506104e96104e436600461574c565b6110d2565b6040519015158152602001610474565b348015610504575f80fd5b5061051861051336600461585c565b6110e9565b005b348015610525575f80fd5b50602c54600160a01b90046001600160581b031661046a565b348015610549575f80fd5b504761046a565b34801561055b575f80fd5b5061051861056a366004615873565b61112e565b34801561057a575f80fd5b5061046a610589366004615893565b6001600160a01b039182165f90815260266020908152604080832093909416825291909152205490565b3480156105be575f80fd5b506105186111b0565b3480156105d2575f80fd5b5060025461046a565b3480156105e6575f80fd5b5060065461046a565b6105186105fd3660046158c4565b6111ba565b34801561060d575f80fd5b5060115461046a565b348015610621575f80fd5b5061046a611285565b348015610635575f80fd5b506105186112f4565b348015610649575f80fd5b5061046a611559565b34801561065d575f80fd5b506104e961066c3660046158ed565b61157c565b34801561067c575f80fd5b50601d5461046a565b348015610690575f80fd5b5061046a61069f366004615926565b6115a1565b3480156106af575f80fd5b5061046a6106be366004615926565b6001600160a01b03165f9081526025602052604090205490565b3480156106e3575f80fd5b5061046a6106f236600461585c565b5f908152600d602052604090205490565b34801561070e575f80fd5b5060105461046a565b348015610722575f80fd5b506104e961073136600461574c565b6115b9565b348015610741575f80fd5b5060405160128152602001610474565b34801561075c575f80fd5b5061051861076b36600461593f565b611638565b34801561077b575f80fd5b5061046a61078a36600461574c565b611666565b34801561079a575f80fd5b506105186107a936600461585c565b61169d565b3480156107b9575f80fd5b506105186107c8366004615926565b6116da565b3480156107d8575f80fd5b506105186107e736600461585c565b611757565b3480156107f7575f80fd5b506105186117db565b34801561080b575f80fd5b5061046a61081a36600461585c565b5f9081526009602052604090205490565b348015610836575f80fd5b50600e5461046a565b34801561084a575f80fd5b5061046a61085936600461585c565b5f9081526027602052604090205490565b348015610875575f80fd5b5061046a610884366004615926565b6118b9565b348015610894575f80fd5b5061046a6108a3366004615893565b6001600160a01b039182165f908152602e6020908152604080832093909416825291909152205490565b3480156108d8575f80fd5b5060235461046a565b3480156108ec575f80fd5b5061046a6108fb366004615926565b611921565b34801561090b575f80fd5b5061051861091a36600461585c565b611940565b34801561092a575f80fd5b5061046a610939366004615893565b6001600160a01b039182165f908152602f6020908152604080832093909416825291909152205490565b610518610971366004615873565b61198b565b348015610981575f80fd5b5061046a611a78565b348015610995575f80fd5b5061046a611a8f565b3480156109a9575f80fd5b5061046a6109b8366004615926565b611aa5565b3480156109c8575f80fd5b506109dc6109d7366004615873565b611abf565b60408051928352602083019190915201610474565b3480156109fc575f80fd5b50610518611ae2565b348015610a10575f80fd5b50610518611af3565b348015610a24575f80fd5b5060195461046a565b348015610a38575f80fd5b50610518610a4736600461593f565b611b1e565b348015610a57575f80fd5b50610518610a6636600461574c565b611b3b565b348015610a76575f80fd5b50610518610a85366004615926565b611b55565b348015610a95575f80fd5b50610518611ba6565b348015610aa9575f80fd5b5061046a611bcb565b348015610abd575f80fd5b50610ad1610acc366004615926565b611be2565b604051610474919061598b565b348015610ae9575f80fd5b506104e9610af836600461574c565b611ce8565b348015610b08575f80fd5b5060185461046a565b348015610b1c575f80fd5b506109dc610b2b36600461574c565b611d67565b610518610b3e3660046159ee565b611daa565b348015610b4e575f80fd5b5060135461046a565b348015610b62575f80fd5b50610b6b611ed8565b6040516104749190615a35565b348015610b83575f80fd5b506104bd611ee8565b348015610b97575f80fd5b50610518610ba6366004615a48565b611ef7565b348015610bb6575f80fd5b5061046a610bc5366004615926565b611f24565b348015610bd5575f80fd5b50601a5461046a565b348015610be9575f80fd5b50610518610bf8366004615a48565b611f5d565b348015610c08575f80fd5b50602d54600160601b900460ff16610b6b565b348015610c26575f80fd5b506104e9610c3536600461574c565b611f7a565b348015610c45575f80fd5b5061046a611f87565b348015610c59575f80fd5b5061046a610c6836600461585c565b611f98565b348015610c78575f80fd5b50602d546001600160581b031661046a565b348015610c95575f80fd5b50610518611fa9565b348015610ca9575f80fd5b50601c5461046a565b348015610cbd575f80fd5b5060175461046a565b348015610cd1575f80fd5b50610518610ce036600461585c565b611fe2565b348015610cf0575f80fd5b50610518612000565b348015610d04575f80fd5b50601b5461046a565b348015610d18575f80fd5b5061046a610d27366004615926565b6001600160a01b03165f9081526014602052604090205490565b348015610d4c575f80fd5b50610d60610d5b36600461574c565b612026565b6040516104749190615b69565b348015610d78575f80fd5b504261046a565b348015610d8a575f80fd5b5061046a610d99366004615893565b612128565b348015610da9575f80fd5b5060125461046a565b348015610dbd575f80fd5b5061046a610dcc366004615926565b612152565b348015610ddc575f80fd5b507f00000000000000000000000000000000000000000000000000000000653cb50b61046a565b348015610e0e575f80fd5b506105186121f4565b348015610e22575f80fd5b5061046a610e31366004615926565b61229b565b348015610e41575f80fd5b5061046a6122b5565b348015610e55575f80fd5b50610518610e6436600461574c565b6122cb565b348015610e74575f80fd5b50610518610e83366004615926565b6122f9565b348015610e93575f80fd5b5060085463ffffffff1661046a565b348015610ead575f80fd5b50600f5461046a565b348015610ec1575f80fd5b5061051861230a565b348015610ed5575f80fd5b5061046a610ee4366004615926565b612327565b348015610ef4575f80fd5b506007546001600160481b031661046a565b348015610f11575f80fd5b5061046a610f2036600461585c565b5f9081526029602052604090205490565b348015610f3c575f80fd5b50610f50610f4b366004615926565b612341565b6040516104749190615b78565b600854600160201b900463ffffffff1690565b610f78615667565b6001600160a01b0383165f908152601f60209081526040808320858452825280832054835281805291829020825160c08101845281546001600160981b0316815260018201546001600160801b0381169382019390935261ffff600160801b8404169381019390935265ffffffffffff600160901b830481166060850152600160c01b83041660808401529060a083019060ff600160f01b90910416600281111561102557611025615774565b600281111561103657611036615774565b90525090505b92915050565b60606003805461105190615bdb565b80601f016020809104026020016040519081016040528092919081815260200182805461107d90615bdb565b80156110c85780601f1061109f576101008083540402835291602001916110c8565b820191905f5260205f20905b8154815290600101906020018083116110ab57829003601f168201915b5050505050905090565b5f336110df818585612450565b5060019392505050565b6110f1612578565b6110f9612835565b6111213361111c338461110b60065490565b60016003611117611ed8565b61288e565b612b0f565b61112b6001600555565b50565b611136612578565b61113e612835565b8161114833611aa5565b1015611167576040516376f2de6d60e11b815260040160405180910390fd5b6111713383612bb9565b6111a23361119d33858561118d6007546001600160481b031690565b600654611198611ed8565b612cd6565b612f9f565b6111ac6001600555565b5050565b6111b8612578565b565b6111c2612835565b6111ca612578565b8015806111d75750606481115b156111f55760405163d487a0df60e01b815260040160405180910390fd5b6103e88161120233610d27565b61120c9190615c21565b111561122b5760405163f3d1ae6760e01b815260040160405180910390fd5b61126c3384846112396122b5565b60085463ffffffff1661124a610f5d565b611253336118b9565b886112678c6001611262611a8f565b613230565b61325a565b61127683826132d7565b6112806001600555565b505050565b5f80611291601c611f98565b61129c906001615c21565b5f8181526027602052604090205490915080156112eb5780670de0b6b3a76400006112c733856133a8565b6112d2906064615c34565b6112dc9190615c34565b6112e69190615c4b565b6112ed565b5f5b9250505090565b6112fc612578565b611304612835565b5f61130e60195490565b60185461131b9190615c6a565b9050600181101561133f576040516394d33ebf60e01b815260040160405180910390fd5b602c545f9081908190600160a01b90046001600160581b03161561136d576113656133cf565b919450925090505b5f61137760065490565b90505f600161138860088885613642565b600181111561139957611399615774565b1480156113b657505f8160018111156113b4576113b4615774565b145b6113c057806113c5565b506001805b5060016113d4601c8885613642565b60018111156113e5576113e5615774565b14801561140257505f81600181111561140057611400615774565b145b61140c5780611411565b506001805b506001611420605a8885613642565b600181111561143157611431615774565b14801561144e57505f81600181111561144c5761144c615774565b145b611458578061145d565b506001805b50600161146d6101718885613642565b600181111561147e5761147e615774565b14801561149b57505f81600181111561149957611499615774565b145b6114a557806114aa565b506001805b5060016114ba6103788885613642565b60018111156114cb576114cb615774565b1480156114e857505f8160018111156114e6576114e6615774565b145b6114f257806114f7565b506001805b50600181600181111561150c5761150c615774565b03611538575f61151a611ed8565b600181111561152b5761152b615774565b0361153857611538613738565b841561154957611549858585613752565b5050505050506111b86001600555565b5f601054600f54600e5461156d9190615c6a565b6115779190615c6a565b905090565b5f33611589858285613788565b6115948585856137fa565b60019150505b9392505050565b5f6115af82601c6001613989565b5091949350505050565b5f6001600160a01b0383166115e15760405163f43167df60e01b815260040160405180910390fd5b335f818152602e602090815260408083206001600160a01b038816808552925280832086905551859391927ff8e109bcddf5e12132b7cd8a8517d97498f50c7ac595874d6f513243098b079891a450600192915050565b611640612578565b611648612835565b6116558585858585613b7f565b61165f6001600555565b5050505050565b6001600160a01b03919091165f908152600c602090815260408083209383529290522054600160601b90046001600160601b031690565b6116a5612578565b6116ad612835565b611121335f6116be33856001613bf5565b6116c8601c611f98565b6116d3906001615c21565b6001613e24565b602b546001600160a01b0316336001600160a01b03161461170e5760405163060e508760e31b815260040160405180910390fd5b6001600160a01b0381166117355760405163f43167df60e01b815260040160405180910390fd5b602b80546001600160a01b0319166001600160a01b0392909216919091179055565b61175f612578565b611767612835565b805f0361178757604051631c95685960e21b815260040160405180910390fd5b8061179133611aa5565b10156117b0576040516376f2de6d60e11b815260040160405180910390fd5b6117ba3382612bb9565b611121335f836117ca601c611f98565b6117d5906001615c21565b5f613e24565b6117e3612578565b6117eb612835565b5f6117f760085f613f8d565b9050611804601c5f613f8d565b61180e9082615c21565b905061181b605a5f613f8d565b6118259082615c21565b90506118336101715f613f8d565b61183d9082615c21565b905061184b6103785f613f8d565b6118559082615c21565b9050805f0361187757604051635d0fdef160e01b815260040160405180910390fd5b611882335b82613ffa565b604051819033907f106f923f993c2149d49b4255ff723acafa1f2d94393f561d3eda32ae348f7241905f90a3506111b86001600555565b5f806118c48361229b565b9050805f036118d557505f92915050565b680204fce5e3e2502611601f1b81106118f85750676f05b59d3b20000092915050565b680204fce5e3e2502611601f1b61191782676f05b59d3b200000615c34565b61159a9190615c4b565b5f61103c82611930601c611f98565b61193b906001615c21565b6133a8565b611948612578565b611950612835565b611121335f61196f338561196360065490565b60026003611117611ed8565b611979601c611f98565b611984906001615c21565b6002613e24565b611993612835565b61199b612578565b6103e86119a733610d27565b6119b2906001615c21565b11156119d15760405163f3d1ae6760e01b815260040160405180910390fd5b5f826119dc60135490565b6119e69190615c21565b90505f6119f2600e5490565b6119fd906001615c21565b90505f611a3d338686611a0e6122b5565b60085463ffffffff16611a1f610f5d565b611a28336118b9565b8a8a611a388f6001611262611a8f565b614091565b601154611a4a9190615c21565b9050611a60828483600e92909255601355601155565b611a6b8560016132d7565b5050506111ac6001600555565b5f611a82601b5490565b6012546115779190615c21565b600754600160481b90046001600160401b031690565b6001600160a01b03165f9081526020819052604090205490565b5f918252600b602090815260408084209284529190529020600181015490549091565b611aea6143a1565b6111b85f6143cc565b611afb612578565b611b03612835565b611b14611b0f336143ee565b614607565b6111b86001600555565b611b26612578565b611b2e612835565b611655858585858561463a565b611b43612578565b611b4b612835565b6111a28282614669565b611b5d6143a1565b6001600160a01b038116611b845760405163f43167df60e01b815260040160405180910390fd5b602c80546001600160a01b0319166001600160a01b0392909216919091179055565b611bae6143a1565b602d80546001919060ff60601b1916600160601b835b0217905550565b5f611bd5601c5490565b6017546115779190615c6a565b6001600160a01b0381165f908152601e6020526040812054606091816001600160401b03811115611c1557611c15615c7d565b604051908082528060200260200182016040528015611c4e57816020015b611c3b61569c565b815260200190600190039081611c335790505b50905060015b828111611ce057604080516060810182528281526001600160a01b0387165f908152601f6020908152838220858352815290839020546001600160801b031690820152908101611ca48784610f70565b905282611cb2600184615c6a565b81518110611cc257611cc2615c91565b60200260200101819052508080611cd890615ca5565b915050611c54565b509392505050565b5f6001600160a01b038316611d105760405163f43167df60e01b815260040160405180910390fd5b335f818152602f602090815260408083206001600160a01b038816808552925280832086905551859391927fd508e6bf29a4128e58df993e4fe1db1d926db54e85247bc919df2c52eb78212591a450600192915050565b6001600160a01b03919091165f908152600c6020908152604080832093835292905220546001600160601b03811691600160c01b9091046001600160401b031690565b611db2612835565b611dba612578565b815f03611dda5760405163a87b21b760e01b815260040160405180910390fd5b83831080611de6575083155b80611df2575061011883115b15611e10576040516349e092bf60e01b815260040160405180910390fd5b5f611e1d858585856146ba565b9050801580611e2c5750606481115b15611e4a5760405163d487a0df60e01b815260040160405180910390fd5b6103e881611e5733610d27565b611e619190615c21565b1115611e805760405163f3d1ae6760e01b815260040160405180910390fd5b5f611e8f876001611262611a8f565b9050611ec2338888888888611ea26122b5565b60085463ffffffff16611eb3610f5d565b611ebc336118b9565b8b6146f7565b611ecc87836132d7565b505061165f6001600555565b600854600160401b900460ff1690565b60606004805461105190615bdb565b611eff612578565b611f07612835565b611f14848484843361463a565b611f1e6001600555565b50505050565b6001600160a01b0381165f90815260226020526040812081611f4584612327565b81526020019081526020015f20600101549050919050565b611f65612578565b611f6d612835565b611f148484848433613b7f565b5f336110df8185856137fa565b5f6019546018546115779190615c6a565b5f908152600a602052604090205490565b611fb1612578565b611fb9612835565b5f805f611fc46133cf565b925092509250611fd5838383613752565b5050506111b86001600555565b611fea612578565b611ff2612835565b611121611b0f33835f613bf5565b612008612578565b602c546111b8906001600160a01b031661202181611aa5565b612bb9565b61202e6156bb565b6001600160a01b0383165f90815260156020908152604080832085845282528083205483526016825291829020825161014081018452815460ff808216835261010080830461ffff1695840195909552630100000082046001600160601b031695830195909552600160781b810465ffffffffffff9081166060840152600160a81b8204166080830152600160d81b900463ffffffff90811660a0830152600183015490811660c0830152600160201b81046001600160801b031660e0830152600160a01b81046001600160401b031693820193909352929091610120840191600160e01b90910416600281111561102557611025615774565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b5f806121608360085f613989565b50919250612172915082905083615c21565b915061218083601c5f613989565b50919250612192915082905083615c21565b91506121a083605a5f613989565b509192506121b2915082905083615c21565b91506121c1836101715f613989565b509192506121d3915082905083615c21565b91506121e2836103785f613989565b5091925061159a915082905083615c21565b602c546001600160a01b0316336001600160a01b0316146122285760405163060e508760e31b815260040160405180910390fd5b6001602d54600160581b900460ff16600181111561224857612248615774565b03612266576040516304f0282f60e21b815260040160405180910390fd5b602d805460ff60581b1916600160581b179055602c546111b8906001600160a01b0316680a18f07d736b90be55601d1b612b0f565b6001600160a01b03165f9081526024602052604090205490565b600754600160881b90046001600160601b031690565b6122d3612578565b6122db612835565b6111a28261111c84846122ed60065490565b60016004611117611ed8565b6123016143a1565b61112b816143cc565b612312612578565b61231a612835565b5f611855601c6001613f8d565b6001600160a01b03165f9081526021602052604090205490565b6001600160a01b0381165f90815260146020526040902054606090806001600160401b0381111561237457612374615c7d565b6040519080825280602002602001820160405280156123ad57816020015b61239a61570c565b8152602001906001900390816123925790505b50915060015b81811161244957604080516080810182528281526001600160a01b0386165f9081526015602090815283822085835280825284832080548386015292869052905260010154918101919091526060810161240d8684612026565b90528361241b600184615c6a565b8151811061242b5761242b615c91565b6020026020010181905250808061244190615ca5565b9150506123b3565b5050919050565b6001600160a01b0383166124b75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166125185760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016124ae565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6006545f620151806125aa7f00000000000000000000000000000000000000000000000000000000653cb50b42615c6a565b6125b49190615c4b565b6125bf906001615c21565b9050818111156111ac57600754600854600160481b82046001600160401b0316916001600160481b03811691600160881b9091046001600160601b03169063ffffffff80821691600160201b9004165f6126198888615c6a565b90505f5b818110156127905761271061263461271889615c34565b61263e9190615c4b565b965061271061264f61271388615c34565b6126599190615c4b565b955061271061266a6126ed87615c34565b6126749190615c4b565b94506127106126856126ed86615c34565b61268f9190615c4b565b9350670de0b6b3a76400008711156126ad57670de0b6b3a764000096505b6897c9ce4cf6d5c000008611156126cb576897c9ce4cf6d5c0000095505b682b5e3af16b188000008510156126e957682b5e3af16b1880000094505b6126f66103e86023615c34565b84101561270d5761270a6103e86023615c34565b93505b61015e881161272957612722616f9b84615c6a565b925061272d565b5f92505b85876127388b615ca5565b6040805189815260208101899052908101879052909b508b907fbfb08f20cf5a7f453097ba3bef35d62a510a1e9b58c8606dbd878334057589ac9060600160405180910390a48061278881615ca5565b91505061261d565b50600780546001600160601b038616600160881b02600167ffffffffffffffff60481b01600160e81b03196001600160401b038a16600160481b02166001600160e81b0319909216919091176001600160481b038816171790556008805463ffffffff848116600160201b0267ffffffffffffffff19909216908616171780825560068990555f919060ff60401b1916600160401b8302179055505050505050505050565b6002600554036128875760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016124ae565b6002600555565b6001600160a01b0386165f908152601f602090815260408083208884529091528120548082036128d157604051635ac2068d60e01b815260040160405180910390fd5b5f81815260208080526040808320815160c08101835281546001600160981b0316815260018201546001600160801b0381169482019490945261ffff600160801b8504169281019290925265ffffffffffff600160901b840481166060840152600160c01b8404166080830152909160a083019060ff600160f01b90910416600281111561296157612961615774565b600281111561297257612972615774565b905250905060018160a00151600281111561298f5761298f615774565b036129ad5760405163698e0d2960e01b815260040160405180910390fd5b60028160a0015160028111156129c5576129c5615774565b036129e3576040516337b7c87160e01b815260040160405180910390fd5b60048560048111156129f7576129f7615774565b148015612a0f5750806080015165ffffffffffff1642105b15612a2d57604051633ed019ef60e11b815260040160405180910390fd5b5f81602001516001600160801b03169050612a588a82845f01516001600160981b03168b898c614786565b506001876004811115612a6d57612a6d615774565b03612aa957601c5f8154612a8090615ca5565b909155505f8381526020805260409020600101805460ff60f01b1916600160f01b179055612af5565b6002876004811115612abd57612abd615774565b03612af557601d5f8154612ad090615ca5565b909155505f8381526020805260409020600101805460ff60f01b1916600160f11b1790555b612b018a84848a614932565b9a9950505050505050505050565b6001600160a01b038216612b655760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016124ae565b8060025f828254612b769190615c21565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481525f80516020615db4833981519152910160405180910390a35050565b6001600160a01b038216612c195760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016124ae565b6001600160a01b0382165f9081526020819052604090205481811015612c8c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016124ae565b6001600160a01b0383165f818152602081815260408083208686039055600280548790039055518581529192915f80516020615db4833981519152910160405180910390a3505050565b6001600160a01b0386165f908152601e6020526040812080548291908290612cfd90615ca5565b918290555090506103e8811115612d2757604051632848b67960e01b815260040160405180910390fd5b601c861080612d375750610dac86115b15612d55576040516304b6f31d60e41b815260040160405180910390fd5b5f612d618888886149f8565b90506001612d77670de0b6b3a764000083615c4b565b1015612d9657604051632f41466b60e11b815260040160405180910390fd5b5f60175f8154612da590615ca5565b918290555090505f612dba620151808a615c34565b612dc49042615c21565b90505f6040518060c001604052808c6001600160981b03168152602001856001600160801b031681526020018b61ffff1681526020014265ffffffffffff1681526020018365ffffffffffff1681526020015f6002811115612e2857612e28615774565b90526001600160a01b038d165f908152601f60209081526040808320898452825280832087905586835281805291829020835181546001600160981b0319166001600160981b039091161781559083015160018201805493850151606086015160808701516001600160801b039094166001600160901b031990961695909517600160801b61ffff9092169190910217600160901b600160f01b031916600160901b65ffffffffffff9586160265ffffffffffff60c01b191617600160c01b94909216939093021780835560a0840151939450849391929060ff60f01b1916600160f01b836002811115612f1e57612f1e615774565b0217905550905050612f348c858d8b8b5f614786565b955080604051612f449190615cbd565b6040518091039020838d6001600160a01b03167fecd17a550d3024bd4dcec573e568e747e7843155893d1926213c848215a0d0298d604051612f8891815260200190565b60405180910390a450505050509695505050505050565b806001036111ac5760085f52600a6020527f2c1fd36ba11b13b555f58753742999069764391f450ca8727fe8a3eeffe6777554156111ac5760085f52600a6020527f2c1fd36ba11b13b555f58753742999069764391f450ca8727fe8a3eeffe677755461300d906001615c21565b6001600160a01b0383165f908152600c60209081526040808320600884528252822080546001600160601b0319166001600160601b039490941693909317909255601c9052600a90527f964ea767231031507a3f70c59b06c72a2054875e2bc2938da2a55d8f6cb774eb54613083906001615c21565b6001600160a01b0383165f908152600c60209081526040808320601c84528252822080546001600160601b0319166001600160601b039490941693909317909255605a9052600a90527f7f87218992b43f7ec59f3c8fd242b6759bfedfc613fdc2676bc53b4637f8f351546130f9906001615c21565b6001600160a01b0383165f908152600c60209081526040808320605a84528252822080546001600160601b0319166001600160601b0394909416939093179092556101719052600a90527fb03a258bbb90d8d1843170969b808b3100da20cb067e31b0b691b6f43141902e54613170906001615c21565b6001600160a01b0383165f908152600c6020908152604080832061017184528252822080546001600160601b0319166001600160601b0394909416939093179092556103789052600a90527fb65719cf4862d40ddcfbadca8d587b82e645261e95d3c4e28fef5a0d6eefb6d6546131e8906001615c21565b6001600160a01b0383165f908152600c602090815260408083206103788452909152902080546001600160601b03929092166001600160601b03199092169190911790555050565b5f60648361323e8685615c34565b6132489190615c34565b6132529190615c4b565b949350505050565b601354600e546011545f5b858110156132b4576132778c85615c21565b93506132968d8d8d8d8d8d8d8b61328d8c615ca5565b9b508b8e614091565b6132a09083615c21565b9150806132ac81615ca5565b915050613265565b506132c9828483600e92909255601355601155565b505050505050505050505050565b5f6132e58383611262611a8f565b9050803410156133085760405163110a614b60e31b815260040160405180910390fd5b5f81602c60148282829054906101000a90046001600160581b031661332d9190615d26565b92506101000a8154816001600160581b0302191690836001600160581b03160217905550813461335d9190615c6a565b9050801561336e5761336e3361187c565b8161337860065490565b60405133907fd833e83f161e4ddfb1306cdf11a374a0a23393f008f9394b85999b988c232e36905f90a450505050565b6001600160a01b03919091165f908152602860209081526040808320938352929052205490565b602c545f9081908190600160a01b90046001600160581b031680820361340857604051638b50f3bf60e01b815260040160405180910390fd5b602c8054600160a01b600160f81b0319169055604051819033907f55083a582b32208b745a21c8ce4f8d545be8cce1437f34637f08fc9d943eacb0905f90a3620f4240613457610ce483615c34565b6134619190615c4b565b935061346d8482615c6a565b905061271061347e61183883615c34565b6134889190615c4b565b92505f61271061349a6102bc84615c34565b6134a49190615c4b565b90506127106134b561012c84615c34565b6134bf9190615c4b565b92505f83826134ce8786615c6a565b6134d89190615c6a565b6134e29190615c6a565b90506001602d54600160601b900460ff16600181111561350457613504615774565b0361354f57602d80548391905f906135269084906001600160581b0316615d26565b92506101000a8154816001600160581b0302191690836001600160581b0316021790555061355c565b6135598286615c21565b94505b801561363a575f612710613572610af084615c34565b61357c9190615c4b565b90505f61271061358e610af085615c34565b6135989190615c4b565b90505f6127106135aa61070886615c34565b6135b49190615c4b565b90505f6127106135c661070887615c34565b6135d09190615c4b565b90506135dd600885614a46565b6135e8601c84614a46565b6135f3605a83614a46565b6135ff61017182614a46565b613635610378828486613612898b615c6a565b61361c9190615c6a565b6136269190615c6a565b6136309190615c6a565b614a46565b505050505b505050909192565b5f838152600d602052604081205482101561365e57505f61159a565b61366784614a6c565b5f8481526009602052604081205490819003613686575f91505061159a565b5f613692868387614ad5565b5f81815260276020526040812054919250601c881480156136b257508115155b156136e55750602d546001600160581b031680156136e557602d80546001600160581b03191690556136e5838284614b4e565b8388336001600160a01b03167fb0500ae1b0ee26fc5050483f49228da1236cb641eb890348119ae5abbfd6ab948460405161372291815260200190565b60405180910390a4506001979650505050505050565b600880546001919060ff60401b1916600160401b83611bc4565b61375c3384613ffa565b602b54613772906001600160a01b031682613ffa565b602c54611280906001600160a01b031683613ffa565b5f6137938484612128565b90505f198114611f1e57818110156137ed5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016124ae565b611f1e8484848403612450565b6001600160a01b03831661385e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016124ae565b6001600160a01b0382166138c05760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016124ae565b6001600160a01b0383165f90815260208190526040902054818110156139375760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016124ae565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290925f80516020615db4833981519152910160405180910390a3611f1e565b5f805f805f61399787611f98565b90505f8660018111156139ac576139ac615774565b03613ac8576139bb8888611d67565b90945092505f6139ca89612327565b9050845b828111613ac1575f806139e18b84611abf565b90925090505f875b858111613a60576001600160a01b038e165f9081526022602090815260408083208484529091529020548310613a46576001600160a01b038e165f9081526022602090815260408083208484529091529020600101549150613a4b565b613a60565b97508780613a5881615ca5565b9150506139e9565b508215801590613a6f57508015155b15613a9e57670de0b6b3a7640000613a878483615c34565b613a919190615c4b565b613a9b908b615c21565b99505b613aa9846001615c21565b98505050508080613ab990615ca5565b9150506139ce565b5050613b75565b601c87148015613ae957506001866001811115613ae757613ae7615774565b145b15613b7557613af88888611666565b9150815b818111613b73575f8181526029602052604081205490819003613b1f575f613b46565b670de0b6b3a7640000613b328b846133a8565b613b3c9083615c34565b613b469190615c4b565b613b509088615c21565b9650613b5d826001615c21565b9350508080613b6b90615ca5565b915050613afc565b505b5093509350935093565b835f03613b9f57604051631c95685960e21b815260040160405180910390fd5b83613ba986611aa5565b1015613bc8576040516376f2de6d60e11b815260040160405180910390fd5b613bd3853386613788565b613bdd8383614b81565b613be78585612bb9565b61165f85858585855f614c9d565b6001600160a01b0383165f90815260156020908152604080832085845290915281208054600190910154818303613c3f5760405163ca288b0560e01b815260040160405180910390fd5b5f828152601660209081526040808320815161014081018352815460ff808216835261010080830461ffff1696840196909652630100000082046001600160601b031694830194909452600160781b810465ffffffffffff9081166060840152600160a81b8204166080830152600160d81b900463ffffffff90811660a0830152600183015490811660c0830152600160201b81046001600160801b031660e0830152600160a01b81046001600160401b031694820194909452929091610120840191600160e01b9004166002811115613d1b57613d1b615774565b6002811115613d2c57613d2c615774565b905250905060018161012001516002811115613d4a57613d4a615774565b03613d685760405163231cb75560e11b815260040160405180910390fd5b60028161012001516002811115613d8157613d81615774565b03613d9f57604051630382986760e61b815260040160405180910390fd5b42816080015165ffffffffffff16118015613dca57505f856001811115613dc857613dc8615774565b145b15613de85760405163305aa66560e21b815260040160405180910390fd5b80604001516001600160601b031660115f828254613e069190615c6a565b90915550613e1990508784848489614dd8565b979650505050505050565b6001600160a01b0385165f9081526024602052604081208054859290613e4b908490615c21565b925050819055508260235f828254613e639190615c21565b90915550505f8281526027602052604081208054859290613e85908490615c21565b90915550506001600160a01b0385165f90815260286020908152604080832085845290915281208054859290613ebc908490615c21565b90915550506001600160a01b03841615613f38576001600160a01b0384165f9081526025602052604081208054859290613ef7908490615c21565b90915550506001600160a01b038085165f90815260266020908152604080832093891683529290529081208054859290613f32908490615c21565b90915550505b81846001600160a01b0316866001600160a01b03167fa85336de4209a315f96a1cc9bc4a8c97cf271e2ec65bf17950058af934ba96528685604051613f7e929190615d4d565b60405180910390a45050505050565b5f80808080613f9d338888613989565b929650909450925090505f866001811115613fba57613fba615774565b03613fcb57613fcb33888585615025565b6001866001811115613fdf57613fdf615774565b03613fef57613fef338883615114565b509195945050505050565b6001600160a01b0382166140215760405163f43167df60e01b815260040160405180910390fd5b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461406a576040519150601f19603f3d011682016040523d82523d5f602084013e61406f565b606091505b5050905080611280576040516335abd07f60e01b815260040160405180910390fd5b5f8815806140a0575061011889115b156140be57604051636b47aabb60e11b815260040160405180910390fd5b8915806140cb575060648a115b156140e957604051637eece1ff60e11b815260040160405180910390fd5b6140f68a8a8a8989615198565b90505f6040518061014001604052808c60ff1681526020018b61ffff168152602001836001600160601b031681526020014265ffffffffffff168152602001620151808c6141449190615c34565b61414e9042615c21565b65ffffffffffff16815263ffffffff808b166020830152891660408201525f606082018190526001600160401b038616608083015260a0909101526001600160a01b038d165f9081526014602052604081208054929350909182906141b290615ca5565b91829055506001600160a01b038e165f908152601560209081526040808320848452825280832089815560019081018b90558984526016835292819020865181549388015192880151606089015160808a015160a08b015160ff90941662ffffff199097169690961761010061ffff9096168602176301000000600160a81b03191663010000006001600160601b039093169290920265ffffffffffff60781b191691909117600160781b65ffffffffffff9283160217600160a81b600160f81b031916600160a81b919095160263ffffffff60d81b191693909317600160d81b63ffffffff9485160217815560c0870151938101805460e089015193890151959094166001600160a01b031990941693909317600160201b6001600160801b03909316929092029190911767ffffffffffffffff60a01b198116600160a01b6001600160401b0390951694909402938417835561012087015194955086949193919291600160a01b600160e81b031990911660ff60e01b1990911617600160e01b83600281111561434657614346615774565b021790555090505085858e6001600160a01b03167f2109b8587b0ddbd9adf8ec24ce76bef548f2aee7aac34bc6aa0bb51b7cba9d67856040516143899190615b69565b60405180910390a450509a9950505050505050505050565b602a546001600160a01b031633146111b857604051630406091960e41b815260040160405180910390fd5b602a80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381165f908152601460205260408120548180806144116156bb565b60015b8581116145e5576001600160a01b0388165f9081526015602090815260408083208484528252808320548084526016835292819020815161014081018352815460ff808216835261010080830461ffff1696840196909652630100000082046001600160601b031694830194909452600160781b810465ffffffffffff9081166060840152600160a81b8204166080830152600160d81b900463ffffffff90811660a0830152600183015490811660c0830152600160201b81046001600160801b031660e0830152600160a01b81046001600160401b03169482019490945293975091610120840191600160e01b90910416600281111561451757614517615774565b600281111561452857614528615774565b90525091505f826101200151600281111561454557614545615774565b14801561455e5750816080015165ffffffffffff164210155b156145cb576001600160a01b0388165f908152601560209081526040808320848452909152812060010154614598918a9187918690614dd8565b6145a29088615c21565b965081604001516001600160601b0316836145bd9190615c21565b92506145c885615ca5565b94505b606485146145e557806145dd81615ca5565b915050614414565b508160115f8282546145f79190615c6a565b9091555095979650505050505050565b6146113382612b0f565b602b5461112b906001600160a01b031661271061463084610320615c34565b61111c9190615c4b565b61464385615274565b61464d8383614b81565b61165f8561465f878761196360065490565b8585856002614c9d565b614672826152f6565b61467c5f80614b81565b5f61468983836001613bf5565b602b549091506146ab906001600160a01b031661271061463084610320615c34565b61128083825f80336001614c9d565b5f848411156132525781836146cf8787615c6a565b6146d99190615c4b565b6146e4906001615c21565b6146ee9190615c34565b95945050505050565b601354600e546011545b8a8c11614762575f5b898110156147505761471c8e85615c21565b93506147328f8f8f8c8c8c8c8b61328d8c615ca5565b61473c9083615c21565b91508061474881615ca5565b91505061470a565b5061475b8a8d615c21565b9b50614701565b614776828483600e92909255601355601155565b5050505050505050505050505050565b6001600160a01b0386165f9081526021602090815260408083205460228352818420818552909252822060010154828460048111156147c7576147c7615774565b0361484e57815f036147d857600192505b6147e28882615c21565b6001600160a01b038a165f9081526022602052604081209061480385615ca5565b94508481526020019081526020015f20600101819055508760185f82825461482b9190615c21565b9250508190555086601a5f8282546148439190615c21565b909155506148bf9050565b6148588882615c6a565b6001600160a01b038a165f9081526022602052604081209061487985615ca5565b94508481526020019081526020015f20600101819055508760195f8282546148a19190615c21565b9250508190555086601a5f8282546148b99190615c6a565b90915550505b5f8560018111156148d2576148d2615774565b146148e7576148e2866001615c21565b6148e9565b855b6001600160a01b039099165f81815260226020908152604080832086845282528083206001600160801b039d909d16909c55918152602190915298909820559695505050505050565b5f80835f01516001600160981b031690505f614968856060015165ffffffffffff16866080015165ffffffffffff164287615349565b90505f60646149778385615c34565b6149819190615c4b565b905061498d8184615c6a565b935080601b5f8282546149a09190615c21565b90915550506040805185815260208101839052839189916001600160a01b038c16917f971d9ff3287b3ba75194105e7281e55c93b0a89cad9915664bb3fd9211f8d5f1910160405180910390a4505050949350505050565b5f8364174876e800614a0a828661542c565b614a149083615c34565b614a1e9190615c4b565b614a289082615c21565b9050614a3c670de0b6b3a764000084615c4b565b6146ee9082615c4b565b5f8281526009602052604081208054839290614a63908490615c21565b90915550505050565b5f818152600d60205260409020546006548181106112805782614a8f8383615c6a565b614a999190615c4b565b614aa4906001615c21565b614aae9084615c34565b5f848152600d602052604081208054909190614acb908490615c21565b9091555050505050565b5f838152600960209081526040808320839055600a909152812080548290614afc90615ca5565b9182905550905081614b16670de0b6b3a764000085615c34565b614b209190615c4b565b5f948552600b6020908152604080872084885290915290942060018101949094556006549093555090919050565b80614b61670de0b6b3a764000084615c34565b614b6b9190615c4b565b5f93845260296020526040909320929092555050565b6008614b8d8383615c21565b1115614bac576040516384c175bf60e01b815260040160405180910390fd5b6040516301ffc9a760e01b80825233916301ffc9a791614bce91600401615d6a565b602060405180830381865afa158015614be9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614c0d9190615d7f565b1580614c7f57506040516301ffc9a760e01b815233906301ffc9a790614c3e906311686e4b60e21b90600401615d6a565b602060405180830381865afa158015614c59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614c7d9190615d7f565b155b156111ac5760405163272a45df60e11b815260040160405180910390fd5b5f614ca8601c611f98565b614cb3906001615c21565b9050614cbe8761229b565b5f03614cd057614cd087601c83615114565b614cdd8733888486613e24565b5f808515614d1657614cf26127106064615c34565b612710614cff888b615c34565b614d099190615c34565b614d139190615c4b565b91505b8615614d4d57614d296127106064615c34565b612710614d36898b615c34565b614d409190615c34565b614d4a9190615c4b565b90505b8115614d5d57614d5d8583612b0f565b8015614d6d57614d6d8982612b0f565b336040516311686e4b60e21b81526001600160a01b038b81166004830152602482018b905291909116906345a1b92c906044015f604051808303815f87803b158015614db7575f80fd5b505af1158015614dc9573d5f803e3d5ffd5b50505050505050505050505050565b5f80826001811115614dec57614dec615774565b03614e13575f858152601660205260409020600101805460ff60e01b1916600160e01b1790555b6001826001811115614e2757614e27615774565b03614e4e575f858152601660205260409020600101805460ff60e01b1916600160e11b1790555b5f805f856080015165ffffffffffff16421115614e8857614e85866080015165ffffffffffff1642614e809190615c6a565b6154da565b91505b5f856001811115614e9b57614e9b615774565b03614ec157614ebe8660a0015163ffffffff16875f015160ff16896013546155ee565b90505b614ece6298968082615c4b565b86604001516001600160601b0316614ee69190615c21565b93506064614ef48386615c34565b614efe9190615c4b565b9250614f0a8385615c6a565b93505f856001811115614f1f57614f1f615774565b03614f3757600f5f8154614f3290615ca5565b909155505b6001856001811115614f4b57614f4b615774565b03614f635760105f8154614f5e90615ca5565b909155505b8215614f80578260125f828254614f7a9190615c21565b90915550505b5f856001811115614f9357614f93615774565b03614fcb575f8881526016602052604090206001018054600160201b600160a01b031916600160201b6001600160801b038716021790555b81888a6001600160a01b03167fbd866a3fbf35e201f790e87581b1afbb3165e879df5d35313a4875a70b9f3b368787604051615011929190918252602082015260400190565b60405180910390a450505095945050505050565b6001600160a01b0384165f908152600c602090815260408083208684529091529020546001600160601b03168214615093576001600160a01b0384165f908152600c60209081526040808320868452909152902080546001600160601b0319166001600160601b0384161790555b6001600160a01b0384165f908152600c60209081526040808320868452909152902054600160c01b90046001600160401b03168114611f1e576001600160a01b0384165f908152600c60209081526040808320868452909152902080546001600160401b038316600160c01b026001600160c01b0390911617905550505050565b6001600160a01b0383165f908152600c60209081526040808320858452909152902054600160601b90046001600160601b03168114611280576001600160a01b0383165f908152600c60209081526040808320858452909152902080546001600160601b038316600160601b02600160601b600160c01b0319909116179055505050565b5f80856151a58887615c34565b6151af9190615c34565b9050856001146151f3576127106151c7600188615c6a565b6151d2600b84615c34565b6151dc9190615c34565b6151e69190615c4b565b6151f09082615c6a565b90505b905080831561522d57620f4240606461520c8684615c34565b6152169190615c4b565b6152209190615c4b565b61522a9083615c21565b91505b821561526957670de0b6b3a764000060646152488584615c34565b6152529190615c4b565b61525c9190615c4b565b6152669083615c21565b91505b613e19606483615c4b565b5f61527f8233610939565b90505f1981146111ac57805f036152a9576040516333e8663d60e01b815260040160405180910390fd5b6001600160a01b0382165f908152602f6020526040812090335b6001600160a01b03166001600160a01b031681526020019081526020015f205f81546152ee90615d9e565b909155505050565b5f61530182336108a3565b90505f1981146111ac57805f0361532b576040516333e8663d60e01b815260040160405180910390fd5b6001600160a01b0382165f908152602e6020526040812090336152c3565b5f838311156153c1575f61535d8585615c6a565b90505f61536e620151806007615c34565b9050808211615381575f92505050613252565b6153b86201518061539c6153958486615c6a565b600161563a565b6153a69190615c4b565b6153b1906001615c21565b6063615650565b92505050613252565b60028260048111156153d5576153d5615774565b036153e157505f613252565b60026153ed8686615c6a565b6153f79190615c4b565b6154019086615c21565b42101561542157604051632146841d60e01b815260040160405180910390fd5b506032949350505050565b5f80610b4883111561544057610b48615442565b825b90505f61545c670de0b6b3a764000064174876e800615c34565b85111561547f5761547a670de0b6b3a764000064174876e800615c34565b615481565b845b905061549b670de0b6b3a764000065012309ce5400615c34565b6154aa64174876e80083615c34565b6154b49190615c4b565b6103396154c664174876e80085615c34565b6154d09190615c4b565b6146ee9190615c21565b5f6154e9620151806007615c34565b82116154f657505f919050565b6201518061550660076001615c21565b6155109190615c34565b821161551e57506001919050565b6201518061552e60076002615c21565b6155389190615c34565b821161554657506003919050565b6201518061555660076003615c21565b6155609190615c34565b821161556e57506008919050565b6201518061557e60076004615c21565b6155889190615c34565b821161559657506011919050565b620151806155a660076005615c21565b6155b09190615c34565b82116155be57506023919050565b620151806155ce60076006615c21565b6155d89190615c34565b82116155e657506048919050565b506063919050565b5f8282116155fd57505f613252565b6064670de0b6b3a76400006156128585615c6a565b61561c8789615c34565b6156269190615c34565b6156309190615c34565b6146ee9190615c4b565b5f8183111561564a57508161103c565b50919050565b5f8183111561566057508061103c565b5090919050565b6040805160c0810182525f8082526020820181905291810182905260608101829052608081018290529060a08201905b905290565b60405180606001604052805f81526020015f8152602001615697615667565b60408051610140810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905261010081018290529061012082015290565b60405180608001604052805f81526020015f81526020015f81526020016156976156bb565b80356001600160a01b0381168114615747575f80fd5b919050565b5f806040838503121561575d575f80fd5b61576683615731565b946020939093013593505050565b634e487b7160e01b5f52602160045260245ffd5b6003811061112b5761112b615774565b80516001600160981b031682526020808201516001600160801b03169083015260408082015161ffff169083015260608082015165ffffffffffff908116918401919091526080808301519091169083015260a08101516157f881615788565b8060a0840152505050565b60c0810161103c8284615798565b5f6020808352835180828501525f5b8181101561583c57858101830151858201604001528201615820565b505f604082860101526040601f19601f8301168501019250505092915050565b5f6020828403121561586c575f80fd5b5035919050565b5f8060408385031215615884575f80fd5b50508035926020909101359150565b5f80604083850312156158a4575f80fd5b6158ad83615731565b91506158bb60208401615731565b90509250929050565b5f805f606084860312156158d6575f80fd5b505081359360208301359350604090920135919050565b5f805f606084860312156158ff575f80fd5b61590884615731565b925061591660208501615731565b9150604084013590509250925092565b5f60208284031215615936575f80fd5b61159a82615731565b5f805f805f60a08688031215615953575f80fd5b61595c86615731565b945060208601359350604086013592506060860135915061597f60808701615731565b90509295509295909350565b602080825282518282018190525f919060409081850190868401855b828110156159e15781518051855286810151878601528501516159cc86860182615798565b506101009390930192908501906001016159a7565b5091979650505050505050565b5f805f805f60a08688031215615a02575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b6002811061112b5761112b615774565b60208101615a4283615a25565b91905290565b5f805f8060808587031215615a5b575f80fd5b615a6485615731565b966020860135965060408601359560600135945092505050565b615a8781615788565b9052565b805160ff1682526020810151615aa7602084018261ffff169052565b506040810151615ac260408401826001600160601b03169052565b506060810151615adc606084018265ffffffffffff169052565b506080810151615af6608084018265ffffffffffff169052565b5060a0810151615b0e60a084018263ffffffff169052565b5060c0810151615b2660c084018263ffffffff169052565b5060e0810151615b4160e08401826001600160801b03169052565b50610100818101516001600160401b03169083015261012080820151611f1e82850182615a7e565b610140810161103c8284615a8b565b602080825282518282018190525f919060409081850190868401855b828110156159e1578151805185528681015187860152858101518686015260609081015190615bc581870183615a8b565b50506101a0939093019290850190600101615b94565b600181811c90821680615bef57607f821691505b60208210810361564a57634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561103c5761103c615c0d565b808202811582820484141761103c5761103c615c0d565b5f82615c6557634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561103c5761103c615c0d565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f60018201615cb657615cb6615c0d565b5060010190565b60018060981b03825116815260018060801b03602083015116602082015261ffff60408301511660408201525f65ffffffffffff8060608501511660608401528060808501511660808401525060a0830151615d1881615788565b60a08301525060c001919050565b6001600160581b03818116838216019080821115615d4657615d46615c0d565b5092915050565b82815260408101615d5d83615788565b8260208301529392505050565b6001600160e01b031991909116815260200190565b5f60208284031215615d8f575f80fd5b8151801515811461159a575f80fd5b5f81615dac57615dac615c0d565b505f19019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122071469ca2e3781c6484e6a26608f18aac78ae1d7090596d38f7788b129f1f47da64736f6c6343000815003303a0e7fd522fd8d339d8a6abdf0bfa517c53f4dc3c1df6b59aab6fb4b7113f422903bcc7e7620ed8b37a30a74ae0b55f5cfe06ecf461cf40f6da8dbb13770aedfa1803b495fa8e99a8c840f0ce476f502981e754cc2ec8da04d54b6bd5eecdd735e90c0355dd30cc0ffe1a6bedcb83dbc69137a3fae9220eb8672e01ac888e920fe2b36503427eaa491395a3fa84d7f928d1ef79b149101fc5471c72726165ce3d76ac190c037812012b6e02ecdcbb2487635c1916e46efa2851481cfb5b3ea61709ff631f15030d0713dcfc1cc0c99b9d65a0ba889e5f2f3a241c29fe170d8d742e5df837d9980390de2decbe3d58284057a694f96dfa83d923bb9cafb1264113605de30ddb618e03846e5a43ef7d32b822e195728f40a6584d272823182ddbdc172425dc583173d503b16292850c3aade9f2d516298836eeca5d639a27f61992282e6dd37dec8dc99d03422bc359650ad96f9c54dd7b9ed29e67ba580068530e5318ead6db243d4e090403a7960605bf807f0d785899349ad392d48a981cc12ef78885b4eec77f879c0a2003c947560023fbec13e39eefc2c2dd99433840bf0cd1ce7daa175dc6b894547d180302b7a45b3ce2fdee115cdf9dc6d4f0416fb889f1d5da561b261b977607e71ddf03bb85e6124f4b9a7e519941fb5124cb1250da5cabbaf5e07f6d2750cd3a2d45f103122ddf93a556ad22f7551e63f4381763632e9c5d4a99d7bc4f149f6c389652c100581f03ea968df082b81dd7b59d1a2372f28390b991380e89412075f0dfb34616d0414e00581f03a57c36e667e7117ae2c75b505a9b84731d6f74c46d0654f59894388ebe704303a45f00581f03334887bbf5a50d2556e9acc755fd089508cca72ab2f028aa4c5148e58be04303727900581f03cbbf2b76e5c78d677fc091b3cb6be09872881134985d79a5a66569b8e1d0439951ab00581f03f591b98699248dc1d13e930126d86a7736f7e453c8921a6d153c3e092dc0410103a9209680494baba51f1ccf64403a22efcc53bc11a094c0b0e4045021d8a7db3300581e026bf7973e773eb4de234fc544270801bcc2d69b8fe6a45ee7488599434d4220f600581e024ae8add891547fa4f41121aa10ca6054b1e7a7a94b608cb9c28bcd87cf4c026e3487896214846517ed5d02188200581f034f1a83826e1cdbe2fc97c8943522bd5096b80a00ab71d82391d26f748fb044014bbea4039c9fa5571ce9a26d93dd64e6fac10927ed110215edec37602d3481b54380c67100581f0389e226c014820d040c1dd758ea6f099485ea1b8f3a53e44a32ff3495dcc0581d0102c71c75a23e0000000000000038e20a244048bb55559000009826e503c7c318826ff2dda516c4c18fea802bd5a522a27e19c2c1cea35377ceaf8d52af0219c6bf03d9593feda86b97e0975493eac3b2f1fc45742d5c5d06fc0771c7e90a74aca08703755cbef1c8d05b57870f252ef4a7ba4f5600c030285493529fa1cc16a9772e3603065cff19beba865f82941133388837b5831ac321de19700fb5ef5cc31f0f2f29033ef6b705b11010b8c6e341778fec1b930f363d85eca4364948b9621c3ecaddbb03e6ef4292a90f9633dbd15c0e006d7315c787cf7fa7d737b8901f8e5122ebe0b803004e54b3e08d33f3bbabb4816f1073001cb9a857b7d0db13ff6f1187ac7e96bd0372aafa3bea83ccd3d7158aa381e5b9e7eb7edad037fc2afb3e0a510475a763570219ffff03476cbae0d6d4570779d28be3ce560a38f7b4b6eaa4f91c5ac3dc12f4d8c8609f038b05f01df04476f56ee88cb7f0fe5001f3f0dd5993240ce36d98b113f213b452037a8f9f7ce186c47b0cf95893d0910f5dfdc4fbd1b20d57bb9aa439348fdf0df803471cb31a44cf3887a790f42aee0b6a67195c485367b8bc6fff17c513ac530ecc0366e643e9ade04dbe2860c047297dec5532c0530d21d4b7bcb328c129f10f0b7a03e0c4a2e5324373e430853547d0a542ee3056b4ba398e10491044803b898834c203f41c37f2c1950804513aa702c52cc745173554aa620173717881327863c6a2e103ebc4b4572cb2a53b3177296f82454eda0c18b05f680c2d1b748888fcbf7d62fc03f4af9d2d16cc60d03cc2ac1cfd34884a4654117de4327da6ea41458f030ce1590219ffff03b36105657cd3e15fa76f8b22265946a99c45423a91ed2475ea0b7b508876225e03c91db245d4a18efa2558915b9a3196eb866dcd506c9c1dcdff43c42081fb57df0362011acf1e371c59d154bc1b8782d6f2f9e438aa957e92270708600213a05a3603d10246513088e325fbe851985d34bd4ddd6d9756082ed0c0971cebc8b1c25e7703611faa04d3b5c5026d647b3f1474d9dad30de76367ea5d0f2131a818d9ef0030030d329ee2ef499c7ddb4ad9c96692ff95d34ad2a925a7758e5c45acba70e018650315f8d75a3de36ddab09854a29dbd2968055bc44cf77a48bd6a7967d58b210a0303443c8b74579f0ef2ab85d724d58d7b0a5e73a4d3047d1d757a77fd8209b95c6503ffde7fc7a870eaf95aec65b5201f900b87be3d9520d7a5d7af0054cbb2dd380d034aa7bfc488d19b9d6d9b26f9748b6409e2d067257f425ebdbaf1f25bc8a520e803d16e9649cd2f71489ea899ec7e0d69f10c68bcd390a2c7e069ddcf0f9524b5ca038d2712853fddaae486d302c4214ac0584b7796948a51adc257dd47e0cf867ad0033f733f306c47c03807ca0d1c9c4885d1a91e81a4b8431aad05aa5a88365db6f50350806369565655e191ec9819f156758c54abd4c443b13efa74b8efa823130ee70219ffff0332822b18c72c67d6321ba541806f2dd6f70e72114577edc58bd2544242ce5124039dafdcc10201824a9abccdbd4cbc2c62aee5bd78484c6fce5add6166f1672a070356209f3b256d4fffc2933de05d54d1c9d38102d24d46febb005cec54040046d203333b9c17e4233516ee05359a80c2804be526bdcc8a9f6cabf10f1250a6a60c1103dbd60a4f20a874a0a4c4352a9652db0392b6559b9da1261dc64651b9ce0c982e037e8a394012d56d165bb51680d02453f7dc643268c30a883b72ecb0a44ffa1a13032591561511b017b0e237b6af74a59a457a55327a597dce975ac11400225bb9ca032647ca07f6fe34266c7d6d1c9f2148dc0e06198243d4fbb67b7b418d9053d6c4031e9ae713160d1fddda47ee093c9111efcd5152b667b96318827ab7ccff521f2f0395904f6bb5a4ceb6082fc76eb92d423616cc5c1703fec0618bc955b04108599f03fd0907d4663784403df2bc028c42479203e595610b8a68a5762d28dff0a8e298036ca39979fa5e2e3d7c7963e267c9a9542ef101685e5a4e893eed6f1f2a3573080335c1376e00bbd09c62238cc7235fb94426a8e80869b794d59b48070370a91700031be09f0cf692cb7433901ff47c4cf62e4222ab2b347d1c970c627bc8b282726b03ed4d22c0c216ce1eb069202e0a3a976f7b92f433e1f4b421cc6dd78b115a6297038fec14f3bd29b269c474ffbeb9cf30615acd998b921d5d882e222f1877d823f7034f4c368b9b0285ed3c8e7547a61f8096194f3fc94766f22e9e004bfa5735148203635136fff7b998f3f8d5121829ca40f7a281c1a0717bf3b819134ae6509d355e03cbd3a48b0c0d4c8b5ef49b5c51cb46be00c2bbd1bb14883e1aaa92aa48c47c7f038801b666b76e5e5a0b475bd520e408277fc5c9116cd745cb803122158356a5c5035e884d159fc5d3336901e82439eef18832890d5b22d76764b5697144fb66015a03acc953a04a0e9613a84d9a62d687bf2ccb850c8ba473232c246d4d200c0a3af003b0278a90511bda04acaf8a8ea279bf8b87f2852ebf54a3b93ab4e6627c2639e203a2b9d4cf219d942d75b258417a96ccbaf4980e56f8d67365ac5c2b687248e456033655296889141755f8376c270225c7b706bd8be0335dfa3f6d81d58b1a0dd8040397403dd37fae5d0dd5bc40b92a4884f9785ca2592e9e239aa0783f5a0b23309f03bc4ebebb94489e9e5c48edde41313c6065936d24ab8feed46a1cc5487610649d03bed7d4296b3d8ce580e1ad3a5369142f582f96c3937c50364e3792849819cefc03853c8f36a1f0bec57c5e6705ba57b1cc64a3fb69cc33793b27092d18fffd5a5c00581f03a8cacc11801fea1dbca98b87d508acd008bed0364118dbbc95b8d66b0ba044010f51e600581f0360d13b8cf3db9e01cd01d14cc5c2927de1954ce7a6a4d8405feaa142ce204301ff6600581f03bd9219273228024b4350cb2fe8ed3cd7017fba80af2b955cc0fb6353f060437d99a70385489eef4d8e17cb85f81152852171733cbfa80994f977330160ccfabf78a98303f5d47b9567f041364866284031f157b68685e8a258963f91e3cdaac049fa045c00581f031db43dc19a538ff3a23447dd648221dde0922ec9a958c6c4d5f2144780e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e26058a75681d481d96541c18beae8d21ec320e3eba77b4079eb401bb044c0900391be9f70029dfd22f1a89cf174c26480cbe93f8ec84361a36d1173d1c463efa600581f03932851001e799a3b6816fb3c0a9a630cb16de6190a01862dbe8f5fbdd2e0581f11436421000065b9f1e70000658535e700e35fabc79c0891e1c858890028640338ae07c0dd98be718df18a634cd609dfc1bf7cdef43d2a0a1d1e748439e7a28002196fb90345844e61ae3c3589288e88c13e9bf347f05047df85b2757664c5a4f2a6354c69038fa4f96ae50ec3f9148084e5cecb5307b440858383dea9fc58d260de8a716be9030f512153b0c1f28ece427d7466ea92204d25c38ff41b769080de9c236278ffdd035c19ac3e0fbeea083b83a6fb9aa851f26e579691f64ed7692d9f51525c7b41a703fd3d8c9149d4e15b67e416f9e98227bf7d29d6fc23fc2108968205c69c1ba63403598c5c699a491b6b1501484db6fa9701323937154e0b7c35d17916b2cb2ec3e203bb1aef89d58c269c9eafd4a3e02bdd345bbe3ad8dce9fc9f3e3eb3953067372d03cbc6d640ad571e713bc9c29add4d8a5a4d161ea7db1017073829d8739aff75fe03bad4a5bb969c62c0167774dd3ccb074fddfa1aa43fae10a82660aac8cc24e7bd0219ffff0392fa7703a6cf6025d7f533b2f4c9d6faaf9ce806fb7418681baca3f2f3af591d034756ce677500c87c32914b46b7e0e45015824e9eaedca231cd4551c5350e0a2503b913c5a293b00502cce5d6c1096f410a3b6a9335c4dc53bd3169f1958861457903429dd120e51d2ae5b3e5fdaf02e1df8679a44aed8aded2b040fe91b1c1e6719e03909e087f346a17b7a9b9bd97a753e7e47c4f314f4e2dee24a40d8c681034fe7b0314c0c6832415b480cb8f28a293862e58d4a641b82aa05fc862d2c72d713ececa037d728c94da0a29bcbdca6195d44da262e034b6c28abd980e3d1354ba9951020e034223539221d0e97a1669a58d52f6106933d65d884e3fed38446a7701680ccb4803628818114e606d9872ab5c82b7608f0626c57fdca58ece0352bec22a8e55bf840219ffff0219ffff03851da58c1f2b274de9686c5740b0925f01ee9b89860aad18d9c98753374738fa036790d1544e5d72c5690d9f9446e064621415c4e27bba8a3fcc955c19b875587d03f7ea20af4e93dd906acb31fe5cefab4a91433162ff86c1657ffcda4d09d2d51303c0cfd594e2ccea281f2bc6a249c42d323a1f4de9a7419c48f03594ccb7a0b75503b4983692a260f10b332f61ce183e50d6131fd763054ab47de13840fe9a0d946a036afb0ff8919a1d6b9f8384531158b7b805c6fb3f84620cca32862194f29acf370324c218d8c4da5991dbd990057c9093c58535a2e28a8c8cb8a03726d0da3e3ed303e6d17a298b78f1466f94fa3e2700731ec5cb23ea3e1395270fb5c9dcf6f1d993030f6f759838445999dde3fc97a17a66fcadc25b88a5ba6fe7e8a3110ddb08dad700581f030edb4ddb7870e73c0219560f793b8fd06e1aa1ee8a2aa7ff0be3f2a3c010581f114364210000659a30fb0000658518fb005d754af78f3a2ae5c04ec200106400581f037a067dc8aa881f93155a8625a6f8bd48700f652e6abef50b170d411f3720422ec103198b6d9b2e362750fe434bbccce7d9e522a647f126283e2583f109899056dcec03f0de0a65894a1f052382e9653a8488d2888c5ab2e2fd0a369da6ffd503ed7ec700581e02b51fa24626ca01545a64ea7be20f989baa2fd6ce06c72f90575dbd8c7c4301cbb200581e026e26f8dcbd6f1fc418a48fb8846d3352d7e0cc562c126e62fca9196e934d2c49a987f3617dd4700e6b64df021910a000581f03082c9232533439bcf0bbc1e01c75e25111cfdc6893358f24bf37dabf2ef044010e396200581f032e1aa02ad53428aa48b38c14e71509eabd5cc28222d8e1eb6d6d78cc4e10581d0102ef739753846da80000000000ca998afe98384af74a6491007a121e03526e9c373ff012926c1a53c3254a7134d143bbc3e59aa8e97946486b88307967033884778112b340e4ac00b44dc9ad430957110e92c8204ebc0b990d9d1008def603e99c592217d140f131ef39cefb1077392615480ee0f86036a7a905ec4db874020312f1cb1c5cf08214a9b7092973126953820c959d04079aa2cc42b222594b25c700581f03877d3e8262e4a8d00f29f72357e3ada57e59ef0f76591572b885b9a78b70581f12320964000065bb024b000065712e4b0077082bd9a1164c98d365c400382402196b9f037212df7d661fe0fbf40ef0a5a10cb7d29ed679a2a9e2f49e25242ff3cd76abed036906732efb09a7a4a8b62042dfc252c4a39907f0b20ad104c03544292be3be2a03378bbd018535c0e385e960328d104558c9d8fa50c09f100c93b25f444510cba9032d4c1471764bf5c559d51e777b7188f0bfe38611bd0699a5dc604f9c41b4e26e0386af5b700a1a45d16cd0cdee6646de49d70855120c856a306864f4a0c52cd10803a5743a6cb816dff4313b974a688ee8cee855f4e85c12e3acf5c59c96852f8c4a0364efca400c2992db9e5d81114b9776cccd04e1f243879bfe5f6e4d14994910ea03351521914ad7b5853b75158e2e32abfb63f7f2e7ddd83fb9026201e047a78e2c03a83239696a4bedc80ebc5137b8eb896e8686ce35dd244a368dec0377570635d603194882e38f04a31c1bdfe1b8dd34f8d9da2c281d4137e457f9d930ff4fcba2760348942ffa5cd86a0bfa09ff83154325c8f8158ea265ef3173adbd78a065b76e3a0327ca6f39bb90a79cba6ef10ab16a2cb2ada42fe8ba89395241d1f3d3e70a728703e110ddbe31415496861dfe95553af17cef0f18042009f26621e4564b33e90fd503d241476802d189bc6b7aa1f72a0d4891d7a1448bf863d6bbd052e4fbff34a49f0219ffff03650df61c495765e776cf7b4e8729c6b0cc2b9cd9416f1cb83818b3bf202b1ad10386361f7a89fc660b168afdfcab577a241ae86d90db1780c8fbed1e45321f0038038162ae2949ce872e46a7588d898ad6e209b0310b1d02efa79df061d4c1dbfd82038f8603cb4325b9fa49f26e5829d4e25d4d17816c05138943e23e95a95dbef97f039f2e9501cf7cbaea3a08b9d34904ee2913c7813b76d74f5265414f9cf7823972037cf35003490b1d1ada8364fa983d43f5dfcf49315ec68f6df85e13cc15cb9195037f96ba183c4a6ec5dc4fc4df0d9e20993168c97dbb2cde7328b7388ad62dc88603ce86d231381343663f22442b3cf92fb54163e7729b1ea5dc7ed57c6ccf244ee503945f59afe90d476a507c9e9b8773e8f4958d3c4866448c9a9cd7f56523c6319b0219ffff03e4e973ba2d514828d731b0e8fe65d84db4a1e6c5b38c2bbc850ced2ccf19b1a303a5c533a4db396f7bb5d81c211ba99e48e509023e8e66f607ff08aa9c1c89aa0c03dd4688db27b6c0c360aed72448d756a5d372ed4c1e4ae2eedfb44eb3f04266f503486f1f48a30e83c6d4edc10fed38d8c74688eefe86cfe881063bcc32020e667403292c16f52c60093aa772b60025e13a53a22f95a1abfe9104581240331d85bca10348a24afe2e74d922b3b1db363b6904a1a189a097ef3b7507dcdc4e04c23afb20036e3cd39c6e9a9f0b1aba3dcdf0939abc643863475dfb1f96db7fc96b61b4b585035be7754e0e9303a020da198aa69b41766b367646c3783dd5ea7d813597d230da03cfb599309ee49f850add1cf60093863540f687101d21a33168c6c97f7a46eaa6031a7582e6339ea90db8f92401d4845701653bcf8b1cedc1939959239eaf2e4d120353e841b9b61292fd0b63c6f2d2ec1885f5df67fd9251fc798a8be00198f60df10320a0225ba8ce9fefae6df02c8b79b8327faece69483c5adfde6a91ecc3067b420348e0a06947bef5b842150c719a8c55efd531be7fe11b2d9d584ba4a03536caa60219ffff0306c26cd6bd89777874edfb97fdcb81d76ddb521e51e8af7e51da7563d3c7da0c0343359793be4dc02d2cecce9f57ec36999be97d23990a5a2dc0aa74dec4c38f5703c78b8580fc2bcb8a1320904dadf25f346b4a3ba2ef5d0de17e0fbc7e86459079034527f177b5762eb47b4b70d986832cc3502dc9e5f5348cd55a49ce66d4704088039679e38f0923ab61bdd9c75542f9ebc892f73d350a9568b87eaf5ccc343161be0306892d4300ba893a41a9d43e4edf9cf7fc436c4f3795043af5f03601dfdf4738031c7f013c8c521e29fb6f373b4f04227309e6a22273653edd0ddaf372a7e06bac03c572876b2fe07ea1c0e014919d95ae9e4c7dd79640e7c24375ecb6b8331e598703ab1d21ca7f146e9b6a178712bf4487b4ef445d2a60352063c7b096f22cd8ebba036f0d1f7e609ddf7794565d515cf1070f26b6c795e4853ee7d20ba2572922ff1e03d55e8eefec68084d7d57ad036c57343145388e02c5e45797c97f0e29d2b7153303b3dac29dcaf33b14716495960fb9d65b0cb04bafd1ccf5a0b5ef96666564823603c2680c7b17c1658c27072bacb32386ee2c5bc8815b79bf723e3ab224d387e306033434fc4b5546588001e1ef32480f90f6399b1efc5da696152c5b8fb3aa8038a4034123e14fd67b839c99182296678eb6ea579217d4d96f6012cb3a3c941a7def6c030a1ee124bccf316a7c3a60c6b7801397d5e1452f13e5c67a90f4b9c3a035ccd10376e322ea1f7d2d79ead079861f657c006c9c6065082dd9ae832f95037657029f03839c067d3afefdae281bd2ed5082490768db1fc61bb8e951cf10982084229b5c030ac02004065b3ac38405faf92d2d538f6bec3e66d904096da9f67737bccb2afd03be7f6d48b1b0f5df59c70aa968b9f3680b904564937d95a6c4c8b25dc4dabc290384b93cdbfadd4871e1fff9df7da023eb0269608b77aa77e86d30da6b5f2dee250328f1c1aca4231f6a330423024c6d807b2f765672ca2b40a240d5c1a6fae4838003bc80a034e2e50ca5ae7aab1903de938c78548240a295d9739a1008302ed69e9b033874c9bb5d102fdd7e0462473485d1bc13618efa62c3e41a381e40d5fbb85651033eb7c11413514d9bd19f53541ba08eef9e2740559e35083708b03fe99ec0854f038b800bd04036bc39571ce92cd0d0d0ec2ff3760a1825120d933ba938355b04b803b2a15ed26dc3d72c48c3889c3dbdfd1303214ffd1f85d61b333ba48a97e17bf7038301a205e3bf874ed100186314e87cc33434d24e46d5c9fd893242f2fa1c8a96039bfd092378980cadc4a5c2fac49d3a7fdffe4383af7aadc3e83339be54d151640347b1531adc327667bc05a8c458690ddcf9eec93a91c45009c8c7ea77361bd65703d608b7ceb61d54a9cb08fb72500191d1de302add4004711a81714e3e893c2ffc03ee72cd17c25dd25d6197cf7724b4a056ff4a7bebc4ac606bdde57511f6d566de00581f03e54c648c35b5ac70e30ab0efe32d3b26351f2c3147759e8b74b302f751b043011ba600581f0343909a6f99a94e1e27b2c6f1fe9bf5ff4c0690f26414ec6b52ab0b499340581f11f12a6c0000659ddb77000065764e7700b3cacadef4b2038ba263d6001e6400581f03b0289a8e1d8b4230fecf9836222a590982a7b58dfe15bdec6986df4e715043d9b72c03197a2cf720336700b5f2aaaaca34ca141f306e902da3e43de4ae12d09141071800581f0323dd5ef8f58f70d5b7cb005fe34542e33d229111d1ccfefe80324bdc9bf04385644c0332d0479f95dc4b18e5f16bc7528ec45ebd0803a5a26becb702b13324bf7f124900581f03921c077084dd8450602efba2b2c9708d1736e0e0c864ee854d1e9568036043010b6200581f03f38d6f5272518ca3d181e96a87ed6d26e13b42f25b7dc29508090c1088b0430199d700581f03e31d6620f704eb22583163e65c173cce862506e930c171b2b935feddebe04303cbc900581f03446370167f2518bc7db569010e36d50b91104c1ba4dfa581b2b169be2190581c0301b277b55ac08500000000000000000000000000000000006cfdf403fa5e1f021ca50704e4c3388b1e4fa7fc31e3f33b90af98d6c7e41e5949aae2660219f7e103b5ea4bceecee3994f619c3790392ea587bab17cb658667184832d86a41c9c640037f222f994cc193a713539d44d55d733649b2b93867c5a41ad86d16974528bec703abfd369d1b432d4df223c66266b9e267a1f7d54115be9d738f9706acea1424e003ccfb20eba154f0c4fc6e676495373a244f9f8d9d2e91b6644f3f035c40b92c06030578677c94060901608e3d24dfbcb55603cb10ec5afa2d34872eee02623f78b6035bebbaa9ab6afbfa689a16f386a4b536dff4403d2003ac70f4d52e138524830f03261b46d64adfd608335fcc26c91bdcc5cccf66d79fabbeec61bb64572c5f894603e2151b87be0f2e7c85fd83ff65b43066fb2ef2451ca04c6b89b633d32ee46fd203f0ee6cdb4325ad947976b0ac0c0394f04c24aedee84eaaa3476a8acd62e1b25503772190c632e5a8e0047f3aa24b04a5a422549afff4668af3d373dc48cc94a77003eb8ad458596ca7ddafb58d116d0373abb9d65d714ffa9ab2c7b6cdc067c6ddae034974f58d3fc8540412de26cb0808b80bcc9aadf46966d593cda846c255a5e149039bc40c9f39d40700784cda01321039eb424d94f42de713881a55f35ce5d769e0036d5e5d0b0b8b33af113e9473d56d42877892704f263de04487661c09e4eb31d30219ffff033ed77c96b2be58cae7532067ee8e40bc5a926ce430087657399f4234bd1af2320219ffff0304e2db31274464f9058cfac828aaeabd4befe1aa56adad5e05fd779ffea724ff030ae9f10fe7538ee348f3b509b648538e52de71b4c7334b7a694631c7746fab2c03a01ceabd93b7284b2b8ccef33f5533e8582378b167631a418146a0e05711d1d903563bae255b982cb903737849628367f45be7eaf8176f22a4e09a4eb74b9722410219ffff035994faadddd2925a2f462c3252350282c458db573e38887ffd29ff8b09cd19df03a24c503564d3a3da20457edd703ef8a3b82f4d39373e38534320f92af6886d3703994f2883d44ff52ca1597b37131f2f263f7b7f67c33ea67c79bb1b14fa531c8603313168d583e601097a6669b613b38073912140f4cc899cbd6e3007468655c60e0219ffff05581d0231685f9a15ed1a3b6ad747292cae5ff1b9cdd7fa4c99b7bb9235c3700f0149c687a06502de53704d195e0905581d02847ad31399a40958c9d6deae0f290171b8246b0c3f4d667a31640e710c01461147c84030000219402005581e033fe8fcfe1d67d2b4ed5e8abb79a7f74206b3bf00b0ac513497a0ace3d0040205581e03a9e751aa8354f7012221174123c7a856c093d74de89badd11618aaa050040803138b5a947936967f738a1c338c67232b4829be3725a3301a050765b677e3977a038e8b660c449692a0adb1869cdefd58e650e49737c3bb1ad89304596c47f8fd2b0372f02f89f518c98027fcc25f521f6a72c9c1c569e4bc8ffbfbc4487bdd9780d405581e03fb06fe1164fdee50a868c27a0fde31dec6770a8daafb60a914f52cf61007011bffffffffffffffff05581e03a901ff5793213f0b78fc30d6c0c051147a1fb83b5c47a06a7bfaff16e00c01460f5dd03c7c0005581e037c9a257ed615d45e1d32a07f04639c0b033b7627390fe5243e2aabc57004030219ddbd03b2bb6eae4ef8c4581708fa6e5c27af91c23033b32dc8ea5e839aba21ce190de203dfd30cb403e5fe2c87b2d77adec086ed74f5aa67580f86c3c4a5f3fe95358aa3032c3f55b84682a314607769813b34c1e8c0898022f7940861e3a19b9715d46c880219ffff03b79d4f6c4b0f412239667600554f58191fcc67a0d3446791e5edfee275b687700342c56dd272a78bfb27e441a669de0d85a759485368102189691ab5511ddd5c8c03764ef2fd75344ef067944b961cd15a0e8b54929b9fcc002515d0cde06732bced0393f141f4d63caab3449918089e5ac922098e9ff87652ba9bfbe71af54010e6c9036fb4ee678911f9207096a648bd4de2ae53f2acd3b1a1a36f07fe9c751e152c07036dc061bdbe8828e6927662b5fea2498071071ae5dfb70876296ea574638371ee038e03a1f744ae924663a415ee8f09369ddf98add776ebfd8428a3cf892ed848ed03bc5ceb453d10a521e3a2be194c8bdd12f4ebaa5b124300174b408dc4601545060377d78bca6f51e5702aba1756185e932ca05645385149a92f5703d8bc8b728e63039bba3eecd3a444fa031aaba4d0d09552799a50a8456917fa5e06c789283506970219ffff0358123067bf154479f89bdd4eecdf7811b9545c18a7d4e4ba519b1d9474f0377b030a520576eadc8bf2d66f8f9e863a0e719a624504a15a701999c2fc5a2883eb4903db1ef576a821902eae2dfdb7e3281c79651d47642ef792c8d7f01d6c71e40d1f03c4a36f8e5d3d4ea5cbeec7ad331ef9d27346e562673492dd87fd059f380ed28303e7e72388aade4e3608f402e4bbcf940db050c38f9f315a106e31927db8646bc503ea5f599dbf398b73926caca8a86d3ae5f01c11f39f9ccf652ade04b77d01612503ecd2320d29837b07380fbedd2e6ec39cc6613b29a3bcae41276b8d1b32d3b4030219ffff033897dc6f32a2bbd2be9d3c59bcd5272d13becbfab8f040d48926074b02b95eb503c4a657dea7d0ccd257255ae62132728d2ffb9903f955c15997704cfabe44343f0347704ffb1ca189cc6b7f8a231326ef7895eb071fa1b46838a9c158a6d3d3a1f2033c4c4e733c95f853943efc1dad3efb9ff18c4cb22bf31edb16519e29a2143bdd03ace868274251f8d7cdc65e7cf6a2133ec60a38eaad8e8585dd7b92d0d0dc48b703e5d03272a6781e6a3e0049dfe67d398884d005cdfb3cc111a0ffb831caa87e65036e1625385c20a738dfa3cd1af8b80f2fba5758b0227ed709ba173bcbe1f34c880344168438dd9a1d755cb17905e580a917586a621279b446a17b20624229f1e86a03f5659b6a83d8a0d478d2a00ffd6a1a261b6e7e9066fff6682b032bfc2eab985003e1c601a07b53ebd61d8a381eea0c2d189a84939e9c5dcbf285a75bb646c64d8b03105aa521f0f5c4acc035339900b51e1e7e7229e99ed2a9c8cbb30832ba4a36aa0364596f1a7383827130ccac349a9ff124ae21f6e499d7b2cd786974402c5349ce03beba7b9d945aa88656daed4893faba448e21942114bed9e40aeed9e2f742c8ad03e18d9c0c7cd14a6ccb654cb8bf9a60c6d0ebf61d0b6304a176395c8332e68f7603a9db733f45917c570109b0aa99ee14d31028a826374aad1a6e7f840b814f8f900315d8707a3cf7ba824e1f092cafaa3c1c5d10e2363d5481177f1af752b1e1ba510388730023550210cae1209e4ce1dbbb441ede097cf5d743cfea5738736851911c03eeff981f2bbd9bbb42e9ae9cd90bc0c50ccf66a92cfb537635a7a6e282d3db5d05581e034a72ee0f931576315384a4d93254f2191dce0647620125e38e94bbf83004020335795416f8fc7b7279b0b06289de63873d4e84a67636bbab79a7dca3bd484d7f03d16b91c9d5248eb55eb5539631d71bf6741c0348e79c8fb6a5b9aee32eebeef303daacfd89a219acf6d5071a99425d4ff01ac50f02021e46cf3b0f99df0ad5a53e05581e0310cac54b926cd3ec006b10d9b08e3744979fc46db021d85dc4267741900c01470c664bb114360005581e039b3ad7fd7d1b5795a5bce67939ebd2126f69ed2ef78a7a9793e2c59c50084713b4e7b9547b080349a137088e13c71500b6b717d5bab683367e602bdef5d29841537fa7a207a6ec0605581e0356dc1d5088f5d6012c8bf98a60947d48c486e5a84d78dfb5036a5322f007011bffffffffffffffff045912cb608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b41146103bf578063a457c2d714610442578063a9059cbb146104a8578063dd62ed3e1461050e576100cf565b806342966c68146102eb57806370a082311461031957806379cc679014610371576100cf565b806306fdde03146100d4578063095ea7b31461015757806318160ddd146101bd57806323b872dd146101db578063313ce567146102615780633950935114610285575b600080fd5b6100dc610586565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561011c578082015181840152602081019050610101565b50505050905090810190601f1680156101495780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101a36004803603604081101561016d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610628565b604051808215151515815260200191505060405180910390f35b6101c561063f565b6040518082815260200191505060405180910390f35b610247600480360360608110156101f157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610649565b604051808215151515815260200191505060405180910390f35b6102696106fa565b604051808260ff1660ff16815260200191505060405180910390f35b6102d16004803603604081101561029b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610711565b604051808215151515815260200191505060405180910390f35b6103176004803603602081101561030157600080fd5b81019080803590602001909291905050506107b6565b005b61035b6004803603602081101561032f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107c3565b6040518082815260200191505060405180910390f35b6103bd6004803603604081101561038757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061080b565b005b6103c7610819565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104075780820151818401526020810190506103ec565b50505050905090810190601f1680156104345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61048e6004803603604081101561045857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108bb565b604051808215151515815260200191505060405180910390f35b6104f4600480360360408110156104be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610960565b604051808215151515815260200191505060405180910390f35b6105706004803603604081101561052457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610977565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561061e5780601f106105f35761010080835404028352916020019161061e565b820191906000526020600020905b81548152906001019060200180831161060157829003601f168201915b5050505050905090565b60006106353384846109fe565b6001905092915050565b6000600254905090565b6000610656848484610bf5565b6106ef84336106ea85600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e9190919063ffffffff16565b6109fe565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107ac33846107a785600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f1a90919063ffffffff16565b6109fe565b6001905092915050565b6107c03382610fa2565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108158282611140565b5050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108b15780601f10610886576101008083540402835291602001916108b1565b820191906000526020600020905b81548152906001019060200180831161089457829003601f168201915b5050505050905090565b6000610956338461095185600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e9190919063ffffffff16565b6109fe565b6001905092915050565b600061096d338484610bf5565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806112736024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602281526020018061120b6022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061124e6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d01576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806111e86023913960400191505060405180910390fd5b610d52816000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e9190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610de5816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f1a90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115610f09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b600080828401905083811015610f98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061122d6021913960400191505060405180910390fd5b61103d81600254610e9190919063ffffffff16565b600281905550611094816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e9190919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b61114a8282610fa2565b6111e382336111de84600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e9190919063ffffffff16565b6109fe565b505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a723058203d8d6995a1b7f2e8d021c62bce3eb189c5a68126410bf8df14d9b71b081152b664736f6c634300050a00320385e98f3cf7f6ea6acdddc721d8139be2c64053601d9cf24f828a1163aaa42483032990a5583495308bc0df5f1678a7c8f40263ae9c0e06cc0c6576c478d72791b7032783d47830a37ef57edfccce23897a917a5f852c0dd6b2a0aada555ff9f9b93703816bb519776b8b8727c2601fd03be3c30a15edc8b39274440837f79a26ba1f990309f14980f7fb3bb598018985fea6d20433feea70f91e359e7707f95d43832c5b03556dbd20cb3314ec3bf70d93e7e5ddeabb0adc1a2af8272bbda0803193f5f8aa03ce480eed540b190e0a5ab1db1751aa8f574a394f9df6dd6dc94ca1e8983a83bf0319d42dfd0fe342a520e20eb42f9d08284e54c6e78ff01254772bd804fa80ba6f00582002017111abd88bd52b8cb693be9c0ac6da9b2db51e02143419c40bcbc785ac3d4405f5e10000582003dfcb13d3e6c7335ece129d4a98428dbc26e039cf8233167e71731fae7841b04608c34ddffaef0058200327deec03c377f457c31797744b0515e7e107e615597e33bd50340da151eca0453c53903f0000582003809668729e44dbe391cd67eafe9d53ec493a6e8a78cb760ef75f2e2b02e4a05820fffffffffffffffffffffffffffffffffffffffffffffffffffffcbb859e3ed400582003b7a3984206beac90271c258d6dc1614a452eb1da566853a5346cc888c18d5045266ac432000341b95ec8a760f74c33c389ca205de58a3ce9251e9e253765cd4751ef9462a65f005820032c73a20799ecd06320c5da59f3fe15096dbabf9bdae157c3c9972085aa19f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffff014e7aa4ff0219124b03f8f2d1e76b890cfdf008d0c4850dbc0e931682616420fd4a8673d26f05dd8a8e005820022a0283c61882c16935015b6a9e260042bcf02bda798a50993cc8fbfb2fdd715820ffffffffffffffffffffffffffffffffffffffffffffffffffffffcb74d849ed036ef80cdb94a99c4b9fc6b02689a91fba502dc2b6cad6b5cb7f4d89e946ca79860303d30ff80db1be071408866aa5ad73cea0f30084192bafc36db614a3fa0951e9036e097aeff23bbc93a4d0e65d7e3a525cbf308a101024c529f77c12913509d99f03e536e08b7d5b4c793b535b970e1ee68980f7f8c5b037098a06b264d4ce8209e003acc800068e63954fb86824fd58d1563c5d6e419e487ed8577ff40ca07b0381d3031e76e761d7f1878006a693ce8c1c95ae18dbd97e190afd6dff9e7c8556cf7eb70219ffff038b675fea05529dbd8ec19f55a415b9eb53c2a69754bb652e93aade246725d53703575d6aaa26ee7bbd309b0291f0f1d1ec7b2906c099009db6d465ae0c5f29e99a03513ddf409bedb0d33e27b43c769a63ff9b31122a878fa156b22392ebe6f859e703cae82a705e436710236d33415296e10500e4a62d1a4937f3dccfd60c3d62a304030bd92928e04020c82d6f702063766fadf5c240f8f5d5cc6b44c8d8533c1174e3030f67d05b712a161d06a51bf6b29b2f9405feb2f1d41a42faff5e2e3752c3eea603a65c7daf2d3e3b734281e6447af3c51e8878dfc6205397e220b299057ac3f91b033e38de54cb893811ccad88a257c2a3cd040bd47bb2d4e6df8215bd93ce0f86f203eb28c0e64532ecd36dbca510abcd953d64267ea3a049702005b2c22747254aad005820032e10f09476fa7fd9e318556dc1e20ee6a5ddc4d27cca6f0130802e9d144020451213bb06b900582003d22949d0f056f0adc34d85526420e71a55804ad28f772e7fc3d3552ebe22004459682f00005820039d5e9d66b1e01de7e36c5c4555e16be91b4e76d3b820d863f066b6b729cf30470d6f15029e94e700582003e216ff314c379e6a7fb9e037bee66d18325d88c0ae59344d4df87e25fc026046017ce932e8000219908103226203e164e04be69fcaf6c4e05d74b7bb8f38c0c4dd88639c05734a3ee3bdc8038508b2d8e278fb1c22643964f448b9acb30af3b9fca41fe88a5385038a1de34a03bc673a3f18e8f4d8cd9444912c51363ed67fda8164785f5adb4e4a99d65d235803403f69eefaee057995ec8d4384d45e612d6c811af9915dc0db5be7f63eaf8ea4005820027b7cabb53d69c9ca3128366f277052c9d6ea0ed0bac734fae3b08fe7042e15460149b02d50000364539bfea195f1da825f5bd2ef1b6a1d7cdaa4350568b2fb3bda48b2a64fe42903cd49981f73058582358a522ff1e97a98d46890e3effcb89869e6ed195fce5efa03209019402e438f1a1ae38997e131c74e69935efdc7ad1a611cc06104a44b5d9903c621e49f59bfa77c2f83c1254ea9f1e2f7c46eeec899ce999581950d43d6fb5303de33218d806acb1b3a2c8cf314f1f6624a60ccd57a1455d938e3b4b11d03ab6403efb284262b3c25c9d92d931d967a7a63abdd87c7c8a3c5f7b562ca284cb5e52803d05181a6b7f4764533a23bbc909b9d48ee2434fabc6e7678ad3daac20f9f5186036995277dac9de3f8a9b7093229089294d683f699c18985e0d894c47b5fb5f0de03849563a0735865ea203c52bfd07fc68eab1ff2166e984e4126dad87cba8866360309127822ac88b64ad2d12eb552b24f5785d72102dab894874c5b5b05e100e4b70219ffff03284964037b0110320ac0f15f874353d59ab04e8774e2cab8c8cd06b9a101be540357277b66b502515ebd2c18ad524663cfda19aeec61a57b62b553a3fa0385c66303019eca1258b301bf12a34945127ede318e615d7c4df6b6759499123e5c42ad140219ffff05581e031460785ec35522feee33e56cd4f036a576ca81b0f389565a128d9b878007011912cb0387c1bfd1a92dd2fd8f90b8b85b28783cfa34e82be9491ddfa5c733eb585147250219b13d03afa13800fd8bd994ff1a004cb06d18086805e7095219cdb9c96935b43085fa4503319a7655efd5c267926e5167b127b6ed62db03a35d0bb770fc0b83b1728159ad03a23a1e5b63f6b32fa90a4281dff5c8fe5f7f5af307de6581624bc839c2ad7a7e0219ffff036165beebb4a71ebfed2995046e373b8a54535d776de55d151b9d63b908b790790386f2a2b89b6c5a31617b4f295e443a05fcca37e4edd2383092c50c388009e122031f596cb857ed9ecd9938750d1737916b94058ce908d46578e67d9e17cc8f30ab0302164223b5eacbf5930f6ab263d454761869f518ed512268169edbf414ddd3d403bd58a7752735b30b37d7217fe5cc4b0027f1126807fdb0d5682c08eec72e74ab03eaccd51ffa2b7fd7dd5f8ad4ae2d0fe3e6b7f4034e8f00730fca664220f8822e032c9ab373566dd069b733107ac2516edc080fad0d8d247cdb4583b04eb54f2ca1032fcfe57be18c217db20adbdead91919a612e1f6e7041f69ac319ee779f1136880320ecc42d3010512f6007165db82b1739e1109895feb6d8af6bd7e7048cb2d67c03816c76c1abbb2925b2d347988466e0d228c1eec4b9b87de60a1291410bbddbf003a74a57cf1f6ccf1166a61cab3adcc0b8e13071898daf3dd4e9bbb0a7d9498b5b0356195d4a7f1725620263334d5ad677c2b3a39f0fc9a660cfe06be77047916c1d036bf771bdcd3f42207ad93663e2b5d2d735be9a10371b10a3d8cc1216eab8b5910336e3bd8b9e4004cbaf1ce4980b0cf75f96abc4cfed3f95ad5f2aa158e0bd74da0219ffff0332f3a7491cf8c4d02b0b16712e4cab85b2b9dd1137f3718f5dda5977f87db8cf03a87d9a49b851f033e146ecba22c28736d1e67db6b6a18e33b3ad3e62d484c3bf03b63394c2cdebc3598555af94f069ad9c16ac53644091ed9ceb36fee3a54e761003c5a67b6f28a49c672a6cfa4f835f6cc45aeef78481e155cfe1acab39e74d285d0359edc3cab22062914dbfdeaa0da2047e32535bf5e8ac4cd616da152aaad163e703608208b667e7ccd49420994e1109f9bf892b9997720990a9ed96ded7409adc8303d525ffe4008f033e32aadc1c40553d3db2e268534ab92e1eb420fdbf055a1c16032a976526a0d17eaf9018f7a19ec5ffdb7ecfa619acac49c213072da4b8a9119f03aae8bc0164c7e647cdb5c7f4a5b23fd9357589ec540b17ad3db985859129620503b815e66d481d5bfe799ae77196e9299400b16d19775c9bbbb3b742b9cd6598700361f604722f091f9bc5311bc551bd14051779fe165504ec7040dfa4ecc95a755703f56a465741ebc5f1f4ca313e7b82a9e081e7f6b7c266412bfa869d29b2bfee6403ceda80b24b4189fd9afe955b8103aa6811ac9d0bdf6f93dd5d727891a7e1de530219ffff035fbda098bfd02a69cbea19a20af50c0c6ab9c274e8c2b3dec9e11335bf9bbb7703cbbb46c952c7fc38fed9488292224090d038e44b09bc45e3184d07beedde792b03f6e873f3a24be140ebb56725fc27b89dd4b0a9119eb185b0feab2674963cde7403cacf78665b03c63038352edce729763b609b955773f185124082d940ca66789b0219ffff03e6e5baafb941ca82b9aaad6671a3af400980f916c689d743e0001ece0d093fd103b6d9b12c11540a53236c902aedf24379332872567f8c12bb5cad137c0e07303403202e1d32657d2ccd966733453181e15ef034b105f662a4d1ea0a87d900ad344f033a458cb2d0bf1c591ed715238bb2af29724537aaa60db57cf6ea7179697504ea03f440e6bf055dc4c3ac758364829f5660b575ec0d6ce27328f0a8e8ad9727247103408800ad1d48052dc0d50209539c4f33fac40994b7901aba0c1ff5530f7e0d1603a8f4c2fbc11602b04083ccffae3afce7442163c94337bd3719186f699bdbfc020360274364263492666d88f1e2f1855eafe6cac774f5e08204c1871f166c12e5bc03d22733d19a9775a1c3fa4ff51c66d1614ea421a3fe46417f66a9cd8bfd90f15603032535ca30574e659b8c0240861c2ccff3c681d4c5c6809ce57131df6dfaf8f80392347ddeca01cb200a2468205efe8a19a9510f5b3c9b9118c44c653e21ffed2603d0b960d0938064fc835ad979122e79d60f1dcb57624d0b3aece4719d57788d0a03f2c4d6639f3a0f4f97746d20796250e4a7c866bda3e94ae51907cf4f67439b7903e0461aaa1a827b6b3a8690daf6d5a3059baf4167ec743da6ea32dc7712b4654803cb00295cd9544ffdc041a53eab8019fccc9b4bb0fb57f4fe79b039b4eac599f903b145b183d4b99129d32a9340d4df3fefb2c17a9af3338039707a14a0d3cf47e103a20f239e109b2b762973694ee663692dfedc087231dc377b7dacd173a1e931ce03f3c7b906cead21f807632464c9ce655c3e3a05b4cc7d1c142debb2658d8929df0368bf9d4a109fc7c518c215104a98fcd8196dd9f2fd5e280e957e3ebeb159b79f0319a84a3d7db6a1f79abc96d26212f062d166d286d622adf6b08cde5e05d2e8c403cffd662dead8f77559e9210b99090db67de8a3808cc6b1f14929ea9f124614cc0373c8c31461d420aa3b6d839c1a7963fff753099c6f76d0e17cc8229b742382cd03dd669309eed3fd7bff768573ee8dfdee80ae66011cef9ac31b14118fc0a286760344413ae361b0ecb683e61e42dddd92e7d87258508d436ffed2fbfbcee0a85b780365a461ebb5f8213476547fb0fe56de4256be76b8a80845197b97b6398f00e5fa03ddaf315e55aa8f704a652b3ab58928120d2efc58d776481e5494e513ce9d3f6703274ae74551322dcccff3bd9f82868fe5566a2eb9dc87a6312713cc64be54ee0003a91056aef845df4879905cd5bed9708af06c59b81c37b4ec5618080b46fe87b60378a4f8f024a4a2668a05273995c637c12abfae0b02fa5942b6b6bd40d30119ce031b3c59b7c68ce78b4b006b62d1136a49c85a07203bfc1d9c5537876f3d66350f03369371870b5f7ceedeaf84689d0866d33717f975e3bea22ae7261bb797ade20103faa8b69f23d159da5066cc4289a74e7eea8b481b4a1749fa860058fcf0bbac1f05581e03759ab1f3f7860487e3561bbdc2215df013b10d261ad918f3de9abbda000c0547026e6383ebbe8005581e037c98a1c90443bd23dcdd2dc652c7d91261c31addb9007422dc44757000040105581e038c3a997b3a2021bf99b3c2e32c6ca249571620d1bbe19e101e669e10a008472386f26fc1000005581e039ede575f16bf5656fdfefca516604bd55b0b0b7c6bb893ea458438f0300c0142040005581e03d93ea0ea29e4a55eac43261bdb06b5fcc77b844d0b8e7f6404be2db5a0040205581e038adbf95dc80e375cbef17a0e2a9434cea22d5c44efc728b48cc9ac42700c0147098b7af4d0ee0005581e03207184514738bd56c9bb65abfa672e3660bc380e77b15985f8d0904ee004020336fb183b5773ef7741b0388a3346047d210156a11a49a74fc486762a9c968983045904356080604052600436106100435760003560e01c80635c60da1b1461005a578063704b6c0214610085578063d784d426146100a5578063f851a440146100c557610052565b36610052576100506100da565b005b6100506100da565b34801561006657600080fd5b5061006f61010a565b60405161007c9190610377565b60405180910390f35b34801561009157600080fd5b506100506100a0366004610349565b61012f565b3480156100b157600080fd5b506100506100c0366004610349565b6101d2565b3480156100d157600080fd5b5061006f6102c4565b60006100e461010a565b90503660008037600080366000845af43d6000803e808015610105573d6000f35b3d6000fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b60006101396102c4565b9050336001600160a01b0382161461016c5760405162461bcd60e51b8152600401610163906103e1565b60405180910390fd5b806001600160a01b0316826001600160a01b0316141561019e5760405162461bcd60e51b8152600401610163906103a5565b6001600160a01b0382166101c45760405162461bcd60e51b8152600401610163906103c3565b6101ce81836102e9565b5050565b6101da6102c4565b6001600160a01b0316336001600160a01b03161461020a5760405162461bcd60e51b8152600401610163906103e1565b61021261010a565b6001600160a01b0316816001600160a01b031614156102435760405162461bcd60e51b8152600401610163906103a5565b6001600160a01b0381166102695760405162461bcd60e51b8152600401610163906103c3565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103557f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f828260405161033d92919061038b565b60405180910390a15050565b60006020828403121561035a578081fd5b81356001600160a01b0381168114610370578182fd5b9392505050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6020808252600490820152635058303160e01b604082015260600190565b602080825260049082015263282c181960e11b604082015260600190565b6020808252600490820152630505830360e41b60408201526060019056fea2646970667358221220d6c3294d68fd1d5446e9fba39af9bc11a18f86e1922c29f64dc70e4f0eef283064736f6c6343000706003303227d2df6423e4f65b7a9521101e21c9588795f9e0557d9e526edb09942d6ace803c4659a85375c78784eb49d322ffb3e57313c4a259efeb445815f90c34c6788b80058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563056ab066655a991550debaec0aa1cdd4f3bd7bb548300010058210380cd783aa7a724e6b3e7d50fe5ae9719855e98c553a57a8c05860f5324215b3042012c0351e6ffb18bf6afbe85c103956a6ec82da3f40a0cb89eb04eeea96a2135d8585903697463072dea31e15a0b4b085b82af6d402e6189213b579cbdaea095ffb09fa803732127b5817f8d27204acd0ea1ccfbc9b6ec7c3026cafaa8c5596579ba0476cd00582002bef1e34f31d486e9abb3619c179902faf8e4f195bd3ac4d6acf8f8f4246ce6462d79883d200000582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54af780de01dc9c6ff4c29c6556b4666e8529515840218280353ca3609621aa5a8df013333cceccab32936c79dadaf3f8f138e214e5665fc830058210328e7fdbcb2acadbc49bf6ccd0ad8a159964898345d084f215306e82da9ee50604701c6bf526340000350c53993513a3ef3a96043e5f3017f550a01fc705af620498b354811208d19eb0382fa41fcb5bfcc0ee9dc8330afafbaa4f6e7e1d72c197e410def5bd347d7f023036e73c10e82e35cd33ffe9ad160cb6e2cfea765e2c90202173e7eec43255b2902039db2916c8a090f7d2c6cc14678d18b32cd5a2eb1dfe53c14302f5fc42168e01303efc37c1d05bfdd23e108615fcf28a9d7624ca113fc6f2c5c8765599e69add2d80387508da1f01b84bae1e79c46b06d7f01fd37d6ec4100fca3c8d17c6fe219f60a0219ffff05581d0206c97a22846ffa95cb8ff15b83f44ede1d3ea7d3eb912da327fee7b90f01483a70f8599c02af9c19043503827ab68f846134b16671044655f23707f9ccad4e6bb60d5ede858d9820cc05230324d41b745a317425ff1213f9ddb493b876ce9622069a7972db29e1503cea261c05581d025f64c9990e17f98fa3a9c58af429dd2b4b61fb08ab52884778662ece07011bffffffffffffffff033758d8d73b26d603d0679ec1b2ebb338ee058f2d8339e0ce21a0a499c022a22d0219422003417568ac6c7dae5edcaeb86dbab88f2083bf9db729a80a3458ae75d66f765bb50219f8f80219ffff03f6bae0ff343fe743a478efad193f5a14fde46b79b5c3ecb0a5661780dec8baa0035157c5d52ca1f33cae69f52854b38196e8f5c6e73822d4946f153efad49da5b0038688b0b73546c97ccade28fc1220b68876f99e0ca12aa98c0a74c987c489520b03cb48adbdc71929a7cab2db0c2601c9e60eea879f8eb1556e620e7a67fd3d29720338b9f34e4532e076864d7d637a9d1f24257209a7e4f1d2a73db2a2712cb5210c03745c6b765e297943081a7e331f993d403b9fb4395197a6807a75faa6f3bde9c30219ffff03dbfe8fef5c94b6fb2f066d41b70a271670e292cda87b98477aa5ca707b0e8a5203321127dcf6b2b1b1f013bfcb0f023e7d1fa3fcc31f414e03ea717a4e346da9230341296616bf70e064b0e1e85b51db059c8b846bb50de1832f0b7bdfd3084a803b0355c239adfdcc200759035c07eec24586027f52650601e37048f244e554e252b2033fe8d6aa6d81b7402533f1790110c59317148c7e6d4f183fdfe3bcd8bce5672003c22c8bbfd5c28f29144763ad60a96a1918265b318caae79317aa3aecb9a000bb03c5f94bd13f63f6385659215ff0ee3a7d7fd10223d984c3ad58f4684571ac0d350219ffff03cf63cdf692b6073785133ec43c011b8efa7a5f39a6006cdeb1004d62e8042118039421a7518b9b0db3bff894e1148bcdb807423eaa574d9c2ef56bd0dca4d979f803f6e0bb636482fd89234cacc366b2d4624b5ccac20c220ce51ff9fbee8e13507b0390d9fa6db22b477cd5f54f9ff26bada0c408323f7125037e2595d03686ab9966036be44c6e60e84bdd6ef86f1bebe84cd6220bd28eb7f81b83abd367de9181cf6703897e6d9528966e29d35d210ac9ed8919b438f08b65826e54fa83a5feeb07758f03b34c8167a80baf61f6a04f4409dca9a980d13dc1723d63c238132a0781c665bf03715f668b8fd5fff0528a86d16fc83f12f77fbd9f5a037dc1413d0528a7e7aa3c034e425767cd3d41dd4033a1f281ec6eb9f61ad234bd6c7c9ec041d5bb683f2bb403eccbe60516b553442adb81ec352cf922cb8cb5c3da50f0799b5e96f141e9816a03503457cb3ab5af25183a42a3837202928a020180e849852ea5d13e7fdf78877d031ff3045ddbe90cb18c63fb8b1478c6f1767a0476bef06db52f660b4010bd6a7e0332e9d26ce92a52e8b8c34e916f7d2e13da7b42a74b850970d4e8193464a11e6203a2067aadf5af3bbb41daf7858ab20992e73e883c43c73d0383a063dbc00869d70327b0e7657a67ab6db234d5b8895f67ed506616e2beaa3692d4d0c0085640593003cdaf354de774909f4dd66bdc0c7c89a4caf8a2ba69ed7a5224c7fee9cf104dbb03fa1d5be626a63010f011ee89cc50cd13887939429913e9bd0049cef25acaaf570356aa594ed728992236effc17bc3cf2f1a47b7e9e127874578120c0408274762103a8827035d50e41e2f15438c89bb7b2893431332cf62f04207f9b5e30db7d632c030ae55d645362e83d168e12d10a51abd4e3b361fd07b45465b855e5fb89ad884303d49545ac29a2165be2f85cb32b160b79fde7c6f10762d3720029ce8fcf0ab0fd0312e82ebb065a9ba94d6d92f0554bcf891ba92be8449c238f1f9e304bf0c3af0603d636d8af7d2f5f744267c370f233c2b1c103dc043152ec42500ff14ef92777cb032f3d5d6f0e03170dac3c6f6a2c7e776fdc6a0360b26445e0e426b5816dc309e003d336c92db4dbed49994d29b5c9a978a1d829ff901b5a5e33ecad5bee2cb5b51b036350abef31a494a568a6a551f5fc76443103b8939dc6b60e563d87c960a278f803b034e8718976db289ba52a751c01c2bf817479f14b03fa912680b6ecbbbab39803839c81ec56d7ec222a766e5b98e5b801440059b7cab668185b63af3a50d629a2030a89d948e2e7e40d10735de6077d771efc5f182318af5d0cfdbedf268127d9cb0378c0638e43cfcf8d5c2dd91246bba88f6c2a312fab97dd74eb2f2f3eb60acb90033a2823fad48901436ff3766282c634addb85ae4caa0f43937f2b8fc159b98717033d698468a7c2293dee6c8adda0d8d7c020243c2982698ccc6b3e818b09efc45003f4a5de73c5e39e939727849f002a3718c129fe5a6c4600174ec618e5b7a21fd00314983b8a0ac7c5bf5aba5db4298ea4079277bb88190e8295975e9d16368f8ba203af9f302b0135babc5d82aebe0550fc75340cb97c8bf8344c4b917f977be196a703604d62f048fba0ecf9f188c52a9989503f4fccf9a9b5b755caa846b5f205d90a0390888b8c4d674840823a0f34cbd81058963c622f1d3e4e1aad616a3022e403c003bf2e71d3d4edf13901623b6d30dfa0b7d468bac90aceeaf011dd3eaac293627a03a73f059ffbbdc36104edc33b55d4bb047e033a28da3243b65cf52c8eab720856030f9b051532742cc37dcf10a105cb3db92ee923bb22b3156a5ad900673a4b30c103d487337799e20d1ad856e1b42cb886e37e65e7eee51ef3b674022708f1e2b84f03ce044ddbea280e0f10cbe87b8e104da9ccffcdf52d892dfebc41540be9d459a803d1547e9077eb9e6d52a770394095d132de8e2a50b5ec1d49e8c5e59b5652a55b03580fd892231babcd19b9db6374ea6d224159f7c09693dd836021feb3107bb19a038ab23ae6a1edf96fd785329ba341540bdff32325e7519a941f52ea2412980a9f03b23376bacee24833bee72fef7b63d633452d38ded1b32e940b57523a8b2bc42b0390907f83c3881beab992d7f4d9e075a5d43ef285dcbac24a0eae7f85f8f273a805581d023043ee9eb0089cab6e903137a41cae4cae16de7fd6c6f1983f8298770847b1a2bc2ec5000005581d02e95db09911042329274e3a0eb8919ee2e534dd90a0c23f7ebec34bb80c024703f24d19f28a0805581d02a6092a24dc4cfc6ad9e6a11af7ba9d07322ccb117f41087028cc307e0c034713ea0de7af44000219510005581e03919a55db6e12cd20a157f194b01e913b82d62267f2755a67142627e3300c08471c3a76dd0a4a3203365f5d4aaab31e833c792a451778bc16bcb591a2d232b33182079215adde5c8905581e0342fb0056066010a3b9a64d45a8a3d7191ff9e023e56fe05b5a83611ba00c044683a95936f2c803f96ca3044a2830ef095629029292d7620322639cf45b9414289688dab3347bde031c559f1aa7b3a7ddf950613e49e4af00955fafbcd96fa8167f11f7a9ffcc05b605581e03e17769f96a7801e955b420b8f53e9f5e2dffaee9f58ca3fd28c0a3518007011bffffffffffffffff03f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e039c5a6f200805f9bf9ffbb01520aa724fdd60f40d2ae27b82a4326486b007011bffffffffffffffff0312b9016af4e5e07ea1f41029461d9d1b1b5d10d0b3bc967607a9f031871123740141030219df170219ffff0314f06d6f4f926f56358cc6289cdcdb594bf2ab12a22c3348ed09e04b51576477030c3d5763ef9bb40da2e5877b60c06975c225256f20e47b2f1eda70143186341703bad5fa03dfc013a34bf57074c4797bbb4e505862836ef512dbfe051f19a08bab039caab464b3da688cdeba60d2cdae17cb96a449ddbd1425faadf4f937150a1e7c03d2cc725d534497188bce4918f6bcdf09949845813b207c35ca16015ab39285b403b5f385003b113c8fe7ba8cbe74aa17a57352404fcc29bdcbf26838311d7d627c03289e724031f8dd1da6c217f8d20520e4b35933f2ff3512073ca00cd0ca49d41a03fa4a545b4a161bfd692f74b05e5ca7d2a2a8711545a366f4906fc4aa11492f9c03875f5aebaeade7e831d04c4df144e82d913347f74c9568a5e255bc56a9ef37d5039e4eb581b63ccb84c8aac8244e608b49f84993c40789c24c815f95d31bd4445b0219ffff0219ffff0386ae626741cb72498f7c516f8a28813305d225c4cff814ed1bdcc70bd31b201a03597999a338846ddc4a61b2de8c60c25651f15e7a2ef8009b8da58f0b4164305503f33daec5c91879b6f1f9aeb9cb25e652a45381e7349b72a37897d6ecd0b8a23d039095124c8cbd56ba01c3999733c579734a7af7e20b4318d0d78ed15c19478e90032226ab798df4357ee8d2a07fb58dd2e137d60789b6d2f43b750a8c10a8c840060360e73d9d7a340add187a19cc3c6a9c0f9b9272db7c3f7e886e96ca20e9672e7b037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e035cea1e18d1da39edc66c1fdca5f7bd07b0ac7e4412663f6b0acf72570007011bffffffffffffffff03654211fe3ff1932a0d658d41674f342fb08e897eee6fcf80112b80d240ccb87905581e0385e9f78063a98364a02b79866901780d24a32948c0bdae1128c8ee78300c0f476853c601a1636c03276d3de041b0c75e5d87c1d469ea39844877a075f33ac378b90647dc5eb5467a039541e7f6bf23c13cb32616e44e9547157a69f157dcc7859ba9a4fe5b520f5e7e05581e034b29d07c64ad1be081175ade469257553819ab5616f87c7fe73ccaa5300c181e46445ddbc7db2e03a1f29a365989e7d4f6e956498331f17a27dfda5179cc7590e8c5c1ed4694041405581e039d599153696c0d2233404cc9f97735b3f352233b071605a12998420dd0040205581e032676c691c88d43e89caeb5f1dc54d815699088cb21aedc0bf407c36a20040305581e039b58035155089bb1417b4fd166f62c394430716cf5d07dda067c54dd40040305581e032f0819fba72ae44eb65380bcaecd6d75193bf5a38ea5cc0570094bb760040105581e0330df3e1e6b5bab5801a6d0628b7432d33810b0ba116737157f4a8c98e00c0c4721269aa3168cb00219faf303d40e3d5383cd73bc98b593e72d6024a868479b5b33c120307e9312c3fe99d9220355d8aceccb45c874fce6054ca8ea8be07e0a94234c758f9af31666d080af7dfc03554a6fa928b76fd7583e2457eb86b72faefcc31c1c076bab5a418596343d9f5103bb07b5a052cae8f89342a524b3486bb6f53478ddf80e8e1f3252e2e1296f7924036170a4c9682532a1787ea89218dd82e5f796a67445f86b5c732952cf212d133c03dc5d5f805e44c9bf7337f52c8701a629ad619a0c9b32126118743c6568a1a6b1034fae1988fc36e11be1af48385a2017b103625333e0cda77c48d1bee2b4638a16037c2247f6b53b1911edd694f5bb12b813d0a1b16f8490575d831d546d6966eaa703d14dcbc092e45854d76b02be70c40ced15be92d244bff90d8f37f05fa058c8f10316e34605c7538a2137c7bee90935e4dd39be3126bcf262b1571b88a376755cab03088839f348501ddd6834362a6073f4f0f39e552432abc4c7a736191791cb7ffa033308867c7dceb81127098db878a1a5ae1484381e3368fe4bbbbe525292a03b7e031c2a954fe8adcaded6accfc3e009b9d5e821bf30b42b39fe36f89163b1b6150b0219ffff038e3bdd677f0bf829bec068b79342fb3a42d81a56b31eed2fbf7b628a3c1c6bc603dbf54f6e80cfe59e058dac4484cf2fe2ab81e2c59073d3354ce1f23a01d8761803585058f11dbeb27e1e0879f0a73d857ef6489c4bb5f24b6e4f7dff520fba7b5203b37b18267c29696c26b6f912b89ce51a43dc2e64c05d6e44fe2397667ad2176503a9e8f74b66a390ed7eb985d4b0834ff7b4b2b76d2e97538ee19ab40295d5dfb503ff7f6fa393a0878a947b7d79d7cd398d5ca7585c38789262c34238974b033a7903d20816c5051b0b8ab4c8ba6ba9d26007e49a82fa9365e751c2c675ad833402a203e7158f5ed5b0ee03c4d31c32a947e44ed7885345d8a1e0cd21ba302445d81ca3032d42f3ea093287e9dd6c8074bb1b20146ef7909a7864007038ff4b964d6f207303870109c3f1f77b023636add5c5073269890c5264819dfb91436fa0785e6a8e9303e1582eb029c075c2a555004ef00ee145856cc82c581ca828e707935a04c993bb030b2ba855310b48b8b477efb1c1cbda1d9192896f9958b3df1c3e3312e6a75e3d031450ca81cfb7fbb921d6845f6948fb14884149ab467408f0996f3c39e6c51bcb034fa4ba58cc7f6bd3de506cb722447345c824d6c58a7c2fd6c256ad40d290de8e038cc5d81d3d04b79dc8e07bbc6ad06232c5cbcfbfc5164ad6196ab6a35fc1ab0603c3b196f91d2aa037e140216d4b5b9fec4587d37232e0978aaebe41df533e0425032bad44deaa99914400498a1ec0d66985340979e809706bae30547c72c63ccd5103ebdd9e44ceae02d1cec517a215e8aad793ad39ae7783dbc83aecdbcb898bc0ec03380eed5da796204da9006a7f13dc65524428cd99fd682f585a6e577cf569045c03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0384ce00e87ceddd37080fced5a8082976bc52fbda6e8fefef92ef53403007011bffffffffffffffff037b91ab64fd63f3f42d4edfb636cfe4e5144bd0b46e14e31556dc009f39b25d3f03f4e825ebe7e39f44e46a3b7645868dfe73a3a0f42fa65d325a33ee383bf2441403c3574ae976fce1ecb54a8828e1e6df1c031f80a3ce494ba53874d7f8ea8badc305581e038124a5284bb56b6208939ee3550b2c94ce71fe904318660d7340e4e940040903bc962ab923c4f000a648858fcc6b8e86d8edc44314cd67755dbbfb837427fd690605581e0322f98447d4879a5e8ace7d735cbdaaaf633877f6f41cb790a1ff063e1007011bffffffffffffffff05581e03b5c60a7e8614d4f9ab17d2eb50f76b6bc743866ccb9946b235d2b138900401036ea812888eaf80e9c50b5c922eab25b1eaa502406db829ec8a50c0f9f65575bf0390e1d83864edf567a4e2c9b1ba4b851d7e85da74628b7ab0d7db341c14594e9905581e03a078b6da4a9667dece3f6fda5fc8677a0f694b71e5efd7d29a5d1644a00847015422695c79800219b5ae0219ffff0320d838957a9f1a607dc6f8d150a4a83e4423daa5e052fe2a2d4289fcc947421d03235784637109fedc687a201660dc6ee60b8f9710c1bb9b24425be2b2f0f411fe030fa0d847d6ad3fb1f0ca2116a1af7d3ed6181551ba9a951c57cce68d1a8e689c0354db939d8ab1d6a5c95453c233359770e8ced91e788d62bbc7917239f1a3f328038ffeb50a7de4b731b358d3f920d81e47a29222b5a838079f470b2cb920741e1a03932eb26c44c11e611b31c8b19e0fb327e18bec89691e0878c4ec4a3da7fd1036038619d93b6bc73d28447c63255fe4e5f9d418aaa27aa372c00bb2eaa1e9e68a680219ffff038efd102cd163fe4ce69375b194c7b750325a5afbf5fb05843191dcc0360cf13803246cc14d39b0de2356c5a3b986bc2a41412942c0421a01457245c44c585ce988031b95de31dd9af43109850c364517959f8725ef1c8090f22dd1388ed6324f3d2b039a0f4e5eb2344e6cac5ce71197bbef50d708da1b42931fbe6488da9e9ab54be4034fca94252ca6ea5aaa6477ab827b6179cc521e10e133c73aa5f29fc1c93820b303c9efb01c88c9c6a07c8b74c042de8f66fe8f18fd4127a45eed1cfb6f751aaef503f1b4c72b2dfc10a7de3e8c57ffeebb0129ccc8d7f255b82e3a30bddd8d3a7d4003bb53d568c97c9840b62fc66ed4c15a81c95a5932566ca013e2a2b5614e9b155e03db1d2cba61bde456dee8c78f96bbad5f2ab40e48e435dd69177359d650680667039a794e3c4555e298d1bf41c23e61398d6e6cbd07568da02677822118343a91ed03bb4f3de560c54ad805d2363f91e62967a7845a394096950cdecb389d11d490a40383b0d217d7a01802e4b59593e5e5dbcca5c6fd056677aaca63b9daec91d9251e0315ec56a801df80794c5cfdcef6a75584812cb8ecdbce43a1f349b9f4774c790b05581e037ce9fd5c16be43ea6b99ec43d2a31fe6c2f061e0bfc28dbc059a9a6900040203dc191b938b360e7ae9881294e3ca44a969eea0c1778d9ec48e49161d118052a003a472cc5d54c060b3611dd345d819a860f4400cacb1ff31be46a639533e1b17d304594352608060405234801561001057600080fd5b50600436106102bb5760003560e01c80636352211e11610182578063aeb8ce9b116100e9578063ca53db9d116100a2578063e985e9c51161007c578063e985e9c514610d6f578063ecc98ce414610d9d578063f2fde38b14610da5578063f6a74ed714610dcb576102bb565b8063ca53db9d14610d1b578063cf5ffeba14610d23578063da8c229e14610d49576102bb565b8063aeb8ce9b14610a46578063b88d4fde14610aea578063bef48ddf14610bae578063c28f48ce14610c52578063c2fb26a614610cf6578063c87b56dd14610cfe576102bb565b80638f32d59b1161013b5780638f32d59b14610921578063931688cb1461092957806395d89b41146109cd5780639d79d081146109d5578063a22cb465146109f2578063a7fc7a0714610a20576102bb565b80636352211e146108be5780636c0360eb146108db57806370a08231146108e3578063715018a6146109095780637b103999146109115780638da5cb5b14610919576102bb565b806328ed4f6c116102265780633f9e23e5116101df5780633f9e23e51461072757806342842e0e1461072f5780634e543b26146107655780634f6ccce71461078b5780635001f3b5146107a85780635b81eb88146107b0576102bb565b806328ed4f6c146106855780632c678c64146106b15780632dabbeed146106b95780632f745c59146106d65780633777d15914610702578063398b93d11461070a576102bb565b806318160ddd1161027857806318160ddd146104ec5780631a5da6c8146105065780631e59c5291461052c5780631e7663bc146105a357806323b872dd1461064757806324f093a41461067d576102bb565b806301ffc9a7146102c057806306fdde03146102fb578063081812fc14610378578063095ea7b3146103b157806311498b46146103df578063150b7a021461040b575b600080fd5b6102e7600480360360208110156102d657600080fd5b50356001600160e01b031916610df1565b604080519115158252519081900360200190f35b610303610e14565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561033d578181015183820152602001610325565b50505050905090810190601f16801561036a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103956004803603602081101561038e57600080fd5b5035610eab565b604080516001600160a01b039092168252519081900360200190f35b6103dd600480360360408110156103c757600080fd5b506001600160a01b038135169060200135610f0d565b005b6103dd600480360360408110156103f557600080fd5b506001600160a01b038135169060200135611035565b6104cf6004803603608081101561042157600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b81111561045b57600080fd5b82018360208201111561046d57600080fd5b803590602001918460018302840111600160201b8311171561048e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611129945050505050565b604080516001600160e01b03199092168252519081900360200190f35b6104f46111f3565b60408051918252519081900360200190f35b6103dd6004803603602081101561051c57600080fd5b50356001600160a01b03166111f9565b6103dd6004803603604081101561054257600080fd5b810190602081018135600160201b81111561055c57600080fd5b82018360208201111561056e57600080fd5b803590602001918460018302840111600160201b8311171561058f57600080fd5b9193509150356001600160a01b0316611336565b6104f4600480360360208110156105b957600080fd5b810190602081018135600160201b8111156105d357600080fd5b8201836020820111156105e557600080fd5b803590602001918460018302840111600160201b8311171561060657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550611537945050505050565b6103dd6004803603606081101561065d57600080fd5b506001600160a01b0381358116916020810135909116906040013561161a565b610303611676565b6103dd6004803603604081101561069b57600080fd5b50803590602001356001600160a01b0316611704565b6102e76117fc565b6103dd600480360360208110156106cf57600080fd5b5035611805565b6104f4600480360360408110156106ec57600080fd5b506001600160a01b0381351690602001356118d7565b6104f4611956565b6103dd6004803603602081101561072057600080fd5b503561195c565b6103dd611a3c565b6103dd6004803603606081101561074557600080fd5b506001600160a01b03813581169160208101359091169060400135611b13565b6103dd6004803603602081101561077b57600080fd5b50356001600160a01b0316611b2e565b6104f4600480360360208110156107a157600080fd5b5035611d45565b610395611dab565b6103dd600480360360608110156107c657600080fd5b810190602081018135600160201b8111156107e057600080fd5b8201836020820111156107f257600080fd5b803590602001918460208302840111600160201b8311171561081357600080fd5b919390929091602081019035600160201b81111561083057600080fd5b82018360208201111561084257600080fd5b803590602001918460208302840111600160201b8311171561086357600080fd5b919390929091602081019035600160201b81111561088057600080fd5b82018360208201111561089257600080fd5b803590602001918460208302840111600160201b831117156108b357600080fd5b509092509050611dba565b610395600480360360208110156108d457600080fd5b5035611f43565b610303611f9d565b6104f4600480360360208110156108f957600080fd5b50356001600160a01b0316611ff8565b6103dd612060565b6103956120f1565b610395612100565b6102e761210f565b6103dd6004803603602081101561093f57600080fd5b810190602081018135600160201b81111561095957600080fd5b82018360208201111561096b57600080fd5b803590602001918460018302840111600160201b8311171561098c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612135945050505050565b6103036123ce565b610303600480360360208110156109eb57600080fd5b503561242f565b6103dd60048036036040811015610a0857600080fd5b506001600160a01b0381351690602001351515612497565b6103dd60048036036020811015610a3657600080fd5b50356001600160a01b031661259c565b6102e760048036036020811015610a5c57600080fd5b810190602081018135600160201b811115610a7657600080fd5b820183602082011115610a8857600080fd5b803590602001918460018302840111600160201b83111715610aa957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061269d945050505050565b6103dd60048036036080811015610b0057600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b811115610b3a57600080fd5b820183602082011115610b4c57600080fd5b803590602001918460018302840111600160201b83111715610b6d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612728945050505050565b61039560048036036020811015610bc457600080fd5b810190602081018135600160201b811115610bde57600080fd5b820183602082011115610bf057600080fd5b803590602001918460018302840111600160201b83111715610c1157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612780945050505050565b6103dd60048036036020811015610c6857600080fd5b810190602081018135600160201b811115610c8257600080fd5b820183602082011115610c9457600080fd5b803590602001918460018302840111600160201b83111715610cb557600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612793945050505050565b610303612a62565b61030360048036036020811015610d1457600080fd5b5035612abd565b6104f4612c9d565b6103dd60048036036020811015610d3957600080fd5b50356001600160a01b0316612ca3565b6102e760048036036020811015610d5f57600080fd5b50356001600160a01b0316612df6565b6102e760048036036040811015610d8557600080fd5b506001600160a01b0381358116916020013516612e0b565b6104cf612e39565b6103dd60048036036020811015610dbb57600080fd5b50356001600160a01b0316612e44565b6103dd60048036036020811015610de157600080fd5b50356001600160a01b0316612e97565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60098054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610ea05780601f10610e7557610100808354040283529160200191610ea0565b820191906000526020600020905b815481529060010190602001808311610e8357829003601f168201915b505050505090505b90565b6000610eb682612f7e565b610ef15760405162461bcd60e51b815260040180806020018281038252602c815260200180614156602c913960400191505060405180910390fd5b506000908152600260205260409020546001600160a01b031690565b6000610f1882611f43565b9050806001600160a01b0316836001600160a01b03161415610f6b5760405162461bcd60e51b81526004018080602001828103825260218152602001806141f46021913960400191505060405180910390fd5b806001600160a01b0316610f7d612f9b565b6001600160a01b03161480610f9e5750610f9e81610f99612f9b565b612e0b565b610fd95760405162461bcd60e51b815260040180806020018281038252603881526020018061405c6038913960400191505060405180910390fd5b60008281526002602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b61103d61210f565b61107c576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b600e54604080516323b872dd60e01b81523060048201526001600160a01b03858116602483015260448201859052915191909216916323b872dd91606480830192600092919082900301818387803b1580156110d757600080fd5b505af11580156110eb573d6000803e3d6000fd5b50506040518392506001600160a01b03851691507f8abf792cabfeedb418c98e537e6891e54301c260f8b7908300627771510054b190600090a35050565b600e546000906001600160a01b031633146111755760405162461bcd60e51b81526004018080602001828103825260288152602001806142986028913960400191505060405180910390fd5b600e5460408051630a3b53db60e21b81526004810186905230602482015290516001600160a01b03909216916328ed4f6c9160448082019260009290919082900301818387803b1580156111c857600080fd5b505af11580156111dc573d6000803e3d6000fd5b50630a85bd0160e11b93505050505b949350505050565b60075490565b61120161210f565b611240576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b600d546001600160a01b038281169116141561128d5760405162461bcd60e51b815260040180806020018281038252602981526020018061412d6029913960400191505060405180910390fd5b61129f816001600160a01b0316612f9f565b6112da5760405162461bcd60e51b8152600401808060200182810382526021815260200180613faf6021913960400191505060405180910390fd5b600d546040516001600160a01b038084169216907f482b97c53e48ffa324a976e2738053e9aff6eee04d8aac63b10e19411d869b8290600090a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152600f602052604090205460ff166113845760405162461bcd60e51b81526004018080602001828103825260268152602001806142726026913960400191505060405180910390fd5b60165460ff166113db576040805162461bcd60e51b815260206004820152601e60248201527f546865206d6967726174696f6e20686173206e6f742066696e69736865640000604482015290519081900360640190fd5b6113e3612fd6565b600061142484848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131a392505050565b6040516020018082805190602001908083835b602083106114565780518252601f199092019160209182019101611437565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120905061149c816132ca565b6114ed576040805162461bcd60e51b815260206004820152601760248201527f537562646f6d61696e20616c7265616479206f776e6564000000000000000000604482015290519081900360640190fd5b61153184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250859250869150429050613390565b50505050565b60006060611544836131a3565b90506000816040516020018082805190602001908083835b6020831061157b5780518252601f19909201916020918201910161155c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120905060008160001c90506115c981612f7e565b6111eb576040805162461bcd60e51b815260206004820152601f60248201527f54686520737562646f6d61696e206973206e6f74207265676973746572656400604482015290519081900360640190fd5b61162b611625612f9b565b826134f0565b6116665760405162461bcd60e51b81526004018080602001828103825260318152602001806142156031913960400191505060405180910390fd5b61167183838361358c565b505050565b6011805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156116fc5780601f106116d1576101008083540402835291602001916116fc565b820191906000526020600020905b8154815290600101906020018083116116df57829003601f168201915b505050505081565b61170e33836134f0565b6117495760405162461bcd60e51b815260040180806020018281038252603c8152602001806142e2603c913960400191505060405180910390fd5b600d54601454604080516306ab592360e01b81526004810192909252602482018590526001600160a01b03848116604484015290519216916306ab59239160648082019260009290919082900301818387803b1580156117a857600080fd5b505af11580156117bc573d6000803e3d6000fd5b50506040518492506001600160a01b038416915033907fc4cc5c1b6cf3b5cafd06bc7fa8b6320dbeea074c4f18c4c036e52a3a773aac5490600090a45050565b60165460ff1681565b336000908152600f602052604090205460ff166118535760405162461bcd60e51b81526004018080602001828103825260268152602001806142726026913960400191505060405180910390fd5b600061185e82611f43565b600d546014549192506001600160a01b0316906306ab5923908461188181611f43565b6040518463ffffffff1660e01b815260040180848152602001838152602001826001600160a01b03166001600160a01b031681526020019350505050600060405180830381600087803b1580156117a857600080fd5b60006118e283611ff8565b821061191f5760405162461bcd60e51b815260040180806020018281038252602b815260200180613f08602b913960400191505060405180910390fd5b6001600160a01b038316600090815260056020526040902080548390811061194357fe5b9060005260206000200154905092915050565b60135481565b61196461210f565b6119a3576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b600e5460408051630a3b53db60e21b81526004810184905230602482015290516001600160a01b03909216916328ed4f6c9160448082019260009290919082900301818387803b1580156119f657600080fd5b505af1158015611a0a573d6000803e3d6000fd5b50506040518392507f3a11d88ee5aca155d3f605ff73bba91616741610a8f88d51d2fa9da8c9a89dbd9150600090a250565b611a4461210f565b611a83576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b60165460ff1615611adb576040805162461bcd60e51b815260206004820152601a60248201527f546865206d6967726174696f6e206861732066696e6973686564000000000000604482015290519081900360640190fd5b6016805460ff191660011790556040517fceab6b91af27f4253aa8bd4ee8179c32d60bede7297c333dcb56de2641c0554490600090a1565b61167183838360405180602001604052806000815250612728565b611b3661210f565b611b75576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b600d5460145460408051630178b8bf60e01b81526004810192909252516000926001600160a01b031691630178b8bf916024808301926020929190829003018186803b158015611bc457600080fd5b505afa158015611bd8573d6000803e3d6000fd5b505050506040513d6020811015611bee57600080fd5b50519050611c046001600160a01b038316612f9f565b611c3f5760405162461bcd60e51b81526004018080602001828103825260218152602001806140946021913960400191505060405180910390fd5b806001600160a01b0316826001600160a01b03161415611c905760405162461bcd60e51b81526004018080602001828103825260298152602001806141826029913960400191505060405180910390fd5b611c99826135ab565b600d5460145460408051630c4b7b8560e11b815260048101929092526001600160a01b0385811660248401529051921691631896f70a9160448082019260009290919082900301818387803b158015611cf157600080fd5b505af1158015611d05573d6000803e3d6000fd5b50506040516001600160a01b038086169350841691507f84b83d2b66cac119ccaaca68b476b0dc5371d5f2fd27f697770a910175fd38b690600090a35050565b6000611d4f6111f3565b8210611d8c5760405162461bcd60e51b815260040180806020018281038252602c815260200180614246602c913960400191505060405180910390fd5b60078281548110611d9957fe5b90600052602060002001549050919050565b600e546001600160a01b031681565b611dc261210f565b611e01576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b60165460ff1615611e59576040805162461bcd60e51b815260206004820152601a60248201527f546865206d6967726174696f6e206861732066696e6973686564000000000000604482015290519081900360640190fd5b60005b85811015611f3a576060611e81888884818110611e7557fe5b9050602002013561362f565b9050611f3181611e90836131a3565b6040516020018082805190602001908083835b60208310611ec25780518252601f199092019160209182019101611ea3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120888886818110611f0957fe5b905060200201356001600160a01b0316878787818110611f2557fe5b90506020020135613390565b50600101611e5c565b50505050505050565b6000818152600160205260408120546001600160a01b031680611f975760405162461bcd60e51b81526004018080602001828103825260298152602001806140df6029913960400191505060405180910390fd5b92915050565b6015805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156116fc5780601f106116d1576101008083540402835291602001916116fc565b60006001600160a01b03821661203f5760405162461bcd60e51b815260040180806020018281038252602a8152602001806140b5602a913960400191505060405180910390fd5b6001600160a01b0382166000908152600360205260409020611f97906136a4565b61206861210f565b6120a7576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b600c546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600c80546001600160a01b0319169055565b600d546001600160a01b031681565b600c546001600160a01b031690565b600c546000906001600160a01b0316612126612f9b565b6001600160a01b031614905090565b61213d61210f565b61217c576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b806040516020018082805190602001908083835b602083106121af5780518252601f199092019160209182019101612190565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001206015604051602001808280546001816001161561010002031660029004801561224a5780601f1061222857610100808354040283529182019161224a565b820191906000526020600020905b815481529060010190602001808311612236575b50509150506040516020818303038152906040528051906020012014156122a25760405162461bcd60e51b8152600401808060200182810382526025815260200180613ee36025913960400191505060405180910390fd5b6040805181815260158054600260001961010060018416150201909116049282018390527fb8fdf10126d507f6daf46465ec25a2bbc08449cf6c944c98219264161391040a9290918491819060208201906060830190869080156123475780601f1061231c57610100808354040283529160200191612347565b820191906000526020600020905b81548152906001019060200180831161232a57829003601f168201915b5050838103825284518152845160209182019186019080838360005b8381101561237b578181015183820152602001612363565b50505050905090810190601f1680156123a85780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a180516123ca906015906020840190613e2a565b5050565b600a8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610ea05780601f10610e7557610100808354040283529160200191610ea0565b60176020908152600091825260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290918301828280156116fc5780601f106116d1576101008083540402835291602001916116fc565b61249f612f9b565b6001600160a01b0316826001600160a01b03161415612505576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060046000612512612f9b565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff191692151592909217909155612556612f9b565b60408051841515815290516001600160a01b0392909216917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319181900360200190a35050565b6125a461210f565b6125e3576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152600f602052604090205460ff1615612651576040805162461bcd60e51b815260206004820181905260248201527f54686520636f6e74726f6c6c65722077617320616c7265616479206164646564604482015290519081900360640190fd5b6001600160a01b0381166000818152600f6020526040808220805460ff19166001179055517f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d74749190a250565b6000806126a9836131a3565b6040516020018082805190602001908083835b602083106126db5780518252601f1990920191602091820191016126bc565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209050612721816132ca565b9392505050565b612739612733612f9b565b836134f0565b6127745760405162461bcd60e51b81526004018080602001828103825260318152602001806142156031913960400191505060405180910390fd5b611531848484846136a8565b6000611f9761278e83611537565b611f43565b61279b61210f565b6127da576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b600d5460145460408051630178b8bf60e01b81526004810192909252516000926001600160a01b031691630178b8bf916024808301926020929190829003018186803b15801561282957600080fd5b505afa15801561283d573d6000803e3d6000fd5b505050506040513d602081101561285357600080fd5b50519050612860816135ab565b60006060826001600160a01b0316846040518082805190602001908083835b6020831061289e5780518252601f19909201916020918201910161287f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612900576040519150601f19603f3d011682016040523d82523d6000602084013e612905565b606091505b50915091508161294a576040805162461bcd60e51b815260206004820152600b60248201526a10d85b1b0819985a5b195960aa1b604482015290519081900360640190fd5b612952612fd6565b826001600160a01b03167f3a321a1276dce90a83e15ae23e7fa1d89b4b71bfcdd5db994f1a1324bbab4dd48583604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156129c05781810151838201526020016129a8565b50505050905090810190601f1680156129ed5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015612a20578181015183820152602001612a08565b50505050905090810190601f168015612a4d5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a250505050565b6012805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156116fc5780601f106116d1576101008083540402835291602001916116fc565b60155460609060026000196101006001841615020190911604612aef5750604080516020810190915260008152610e0f565b612af882612f7e565b612b335760405162461bcd60e51b815260040180806020018281038252603c815260200180613ff4603c913960400191505060405180910390fd5b6000828152601760209081526040918290208054835160026001831615610100026000190190921691909104601f8101849004840282018401909452838152601593612bd793919291830182828015612bcd5780601f10612ba257610100808354040283529160200191612bcd565b820191906000526020600020905b815481529060010190602001808311612bb057829003601f168201915b50505050506131a3565b6040516020018083805460018160011615610100020316600290048015612c355780601f10612c13576101008083540402835291820191612c35565b820191906000526020600020905b815481529060010190602001808311612c21575b5050825160208401908083835b60208310612c615780518252601f199092019160209182019101612c42565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529050919050565b60145481565b612cab61210f565b612cea576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b600e546001600160a01b0382811691161415612d375760405162461bcd60e51b81526004018080602001828103825260258152602001806141086025913960400191505060405180910390fd5b612d49816001600160a01b0316612f9f565b612d9a576040805162461bcd60e51b815260206004820152601d60248201527f4e657720626173652073686f756c64206265206120636f6e7472616374000000604482015290519081900360640190fd5b600e546040516001600160a01b038084169216907f1a60ded2578adf94e0523d41e22df9bccb7da384ab33deed06b6dccd6a9798a190600090a3600e80546001600160a01b0319166001600160a01b0392909216919091179055565b600f6020526000908152604090205460ff1681565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205460ff1690565b630a85bd0160e11b81565b612e4c61210f565b612e8b576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b612e94816136fa565b50565b612e9f61210f565b612ede576040805162461bcd60e51b815260206004820181905260248201526000805160206141ab833981519152604482015290519081900360640190fd5b6001600160a01b0381166000908152600f602052604090205460ff16612f355760405162461bcd60e51b81526004018080602001828103825260228152602001806142c06022913960400191505060405180910390fd5b6001600160a01b0381166000818152600f6020526040808220805460ff19169055517f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e811139190a250565b6000908152600160205260409020546001600160a01b0316151590565b3390565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906111eb5750141592915050565b600d54601454604080516302571be360e01b815260048101929092525130926001600160a01b0316916302571be3916024808301926020929190829003018186803b15801561302457600080fd5b505afa158015613038573d6000803e3d6000fd5b505050506040513d602081101561304e57600080fd5b50516001600160a01b03161480156131665750600e546040516012805430936001600160a01b031692636352211e9291602090910190819083906002600019600183161561010002019091160480156130de5780601f106130bc5761010080835404028352918201916130de565b820191906000526020600020905b8154815290600101906020018083116130ca575b505060408051601f1981840301815282825280516020918201206001600160e01b031960e088901b168452600484015290516024808401955091935091829003018186803b15801561312f57600080fd5b505afa158015613143573d6000803e3d6000fd5b505050506040513d602081101561315957600080fd5b50516001600160a01b0316145b6131a15760405162461bcd60e51b8152600401808060200182810382526024815260200180613f8b6024913960400191505060405180910390fd5b565b606080829050606081516040519080825280601f01601f1916602001820160405280156131d7576020820181803883390190505b50905060005b82518110156132c257604160f81b8382815181106131f757fe5b01602001516001600160f81b031916108015906132325750605a60f81b83828151811061322057fe5b01602001516001600160f81b03191611155b1561327f5782818151811061324357fe5b602001015160f81c60f81b60f81c60200160f81b82828151811061326357fe5b60200101906001600160f81b031916908160001a9053506132ba565b82818151811061328b57fe5b602001015160f81c60f81b8282815181106132a257fe5b60200101906001600160f81b031916908160001a9053505b6001016131dd565b509392505050565b6014546040805160208082019390935280820184905281518082038301815260608201808452815191850191909120600d546302571be360e01b90925260648301819052925160009485936001600160a01b03909316926302571be39260848083019392829003018186803b15801561334257600080fd5b505afa158015613356573d6000803e3d6000fd5b505050506040513d602081101561336c57600080fd5b50516001600160a01b0316148015612721575061338883612f7e565b159392505050565b600d54601454604080516306ab592360e01b81526004810192909252602482018690526001600160a01b03858116604484015290519216916306ab59239160648082019260009290919082900301818387803b1580156133ef57600080fd5b505af1158015613403573d6000803e3d6000fd5b50505050613414828460001c61379b565b6000838152601760209081526040909120855161343392870190613e2a565b5082826001600160a01b0316336001600160a01b03167f570313dae523ecb48b1176a4b60272e5ea7ec637f5b2d09983cbc4bf25e7e9e387856040518080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156134af578181015183820152602001613497565b50505050905090810190601f1680156134dc5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a450505050565b60006134fb82612f7e565b6135365760405162461bcd60e51b815260040180806020018281038252602c815260200180614030602c913960400191505060405180910390fd5b600061354183611f43565b9050806001600160a01b0316846001600160a01b0316148061357c5750836001600160a01b031661357184610eab565b6001600160a01b0316145b806111eb57506111eb8185612e0b565b6135978383836137b8565b6135a183826138fc565b61167182826139f1565b600e546001600160a01b038281169116148015906135d75750600d546001600160a01b03828116911614155b80156135ec57506001600160a01b0381163014155b612e94576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015290519081900360640190fd5b60606000805b61010081116136655783811b6001600160f81b031981166136565750613665565b50600190910190600801613635565b506060816040519080825280601f01601f191660200182016040528015613693576020820181803883390190505b506020810185905292505050919050565b5490565b6136b384848461358c565b6136bf84848484613a2f565b6115315760405162461bcd60e51b8152600401808060200182810382526032815260200180613f336032913960400191505060405180910390fd5b6001600160a01b03811661373f5760405162461bcd60e51b8152600401808060200182810382526026815260200180613f656026913960400191505060405180910390fd5b600c546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6137a58282613b86565b6137af82826139f1565b6123ca81613cb7565b826001600160a01b03166137cb82611f43565b6001600160a01b0316146138105760405162461bcd60e51b81526004018080602001828103825260298152602001806141cb6029913960400191505060405180910390fd5b6001600160a01b0382166138555760405162461bcd60e51b8152600401808060200182810382526024815260200180613fd06024913960400191505060405180910390fd5b61385e81613cfb565b6001600160a01b038316600090815260036020526040902061387f90613d36565b6001600160a01b03821660009081526003602052604090206138a090613d4d565b60008181526001602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b03821660009081526005602052604081205461392690600163ffffffff613d5616565b6000838152600660205260409020549091508082146139c1576001600160a01b038416600090815260056020526040812080548490811061396357fe5b906000526020600020015490508060056000876001600160a01b03166001600160a01b0316815260200190815260200160002083815481106139a157fe5b600091825260208083209091019290925591825260069052604090208190555b6001600160a01b03841660009081526005602052604090208054906139ea906000198301613ea8565b5050505050565b6001600160a01b0390911660009081526005602081815260408084208054868652600684529185208290559282526001810183559183529091200155565b6000613a43846001600160a01b0316612f9f565b613a4f575060016111eb565b6000846001600160a01b031663150b7a02613a68612f9b565b8887876040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001846001600160a01b03166001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613aed578181015183820152602001613ad5565b50505050905090810190601f168015613b1a5780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015613b3c57600080fd5b505af1158015613b50573d6000803e3d6000fd5b505050506040513d6020811015613b6657600080fd5b50516001600160e01b031916630a85bd0160e11b14915050949350505050565b6001600160a01b038216613be1576040805162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604482015290519081900360640190fd5b613bea81612f7e565b15613c3c576040805162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604482015290519081900360640190fd5b600081815260016020908152604080832080546001600160a01b0319166001600160a01b038716908117909155835260039091529020613c7b90613d4d565b60405181906001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600780546000838152600860205260408120829055600182018355919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880155565b6000818152600260205260409020546001600160a01b031615612e9457600090815260026020526040902080546001600160a01b0319169055565b8054613d4990600163ffffffff613d5616565b9055565b80546001019055565b600061272183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060008184841115613e225760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613de7578181015183820152602001613dcf565b50505050905090810190601f168015613e145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613e6b57805160ff1916838001178555613e98565b82800160010185558215613e98579182015b82811115613e98578251825591602001919060010190613e7d565b50613ea4929150613ec8565b5090565b815481835581811115611671576000838152602090206116719181019083015b610ea891905b80821115613ea45760008155600101613ece56fe42617365205552492073686f756c6420626520646966666572656e742066726f6d206f6c64455243373231456e756d657261626c653a206f776e657220696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737354686520636f6e747261637420646f6573206e6f74206f776e2074686520646f6d61696e4e65772072656769737472792073686f756c64206265206120636f6e74726163744552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732314d657461646174613a20726563656976656420612055524920717565727920666f722061206e6f6e6578697374656e7420746f6b656e4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4e6577207265736f6c7665722073686f756c64206265206120636f6e74726163744552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e4e657720626173652073686f756c6420626520646966666572656e742066726f6d206f6c644e65772072656769737472792073686f756c6420626520646966666572656e742066726f6d206f6c644552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4e6577207265736f6c7665722073686f756c6420626520646966666572656e742066726f6d206f6c644f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65724552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564455243373231456e756d657261626c653a20676c6f62616c20696e646578206f7574206f6620626f756e64734f6e6c79206120636f6e74726f6c6c65722063616e2063616c6c2074686973206d6574686f644f6e6c7920626173652063616e2073656e64204e46547320746f207468697320636f6e747261637454686520636f6e74726f6c6c657220697320616c72656164792064697361626c65644f6e6c7920616e20617574686f72697a6564206163636f756e742063616e206368616e67652074686520737562646f6d61696e2073657474696e6773a265627a7a7231582050db843d53a00deb7ce1f2711d514a87ac932fa3eceaa6ec196818560159c1e464736f6c634300050f00320327695d5b3ab8d477173cf075ed47b4872d95ac8d8fe846f183fe79a7e2c7f72a0344d506919f6deb0858e205bd79f735a2036bb89abd6bc6bf07b358f4a654b609036a40f87aac9d9f19b2f8eb87f2e98ecf55d0ec28b9d9170deb99be061506f5780390adff746a2a693d484a1f412075383e653201eccf57ac6f1d0385ceecc2c36103a6cbe245e2dc42a51442a99132d6bf69cab4fe406b616fdb4fb0aee04e99476e03ea6b2720347cb51cf3db905d60f831dd59bf70b77e4513d65ef75e50e426d15003e73bc2e1775ea270b3fe3c7b0b0c04934ffef0b73b6c4dcb777be44b8b45b81603fa075852a264b8edc1f59ede839a84771e4f587b8559562f17bc94661e520ce5035c3172e071354c681a4e28e25ae988d71215559d3aa364a2a5af41db87e2569e03c71c1efb3da2746cbe7fe33caf42df4d5766b16e9cf731c80c76fa9b3b5722c403e86128496acd5d8036db20f2fa591f597b4be83dd85f594a9e676eec077a8dc203719e0a47cbfb87ec1c72033e9881bd941503c79d6c354c3f90aafbe44935f52c037e460f934144170839d0083c50da6f7e3daacd70788462eabd3951a946c76e5e034cd1a2c9d8ec61d9364bad637fd3addcaf238dce7c033dc6b412ec2650086425039a5e89202c46a18ae682dba7276973aa304b57bfc9f43f8641752c2e9c9e866e00581f03119a53215c6932b6162af368a2f357a87873296b1a9d34aecc918a38b990410300581f03de3d26ca53f71961beba633d43aa0baf6f343e8b15c8115db900f1685510410102192002039ecc63cd5b11cedf6ea486fcb1e2eff2630f6ecb8261b878e14149e610ca470103ce37880f78a0f113281efbc24a866ae6821956e8e6c1e55a3573bc523d06e3ba00581f02787e14af8844d3addf3c6cae13a67f8c43065497da39ff18adbc429cfdb3424f48038fd62324ea427a4ad9fe76c98fdb9afed01283b19a968971dd90c40a3ad0a79303e0c351041518dcd6771b223ac439808c9593d6e9bbd9bcaef92d76bc96d1d9db03b8b41999a20b28a8a7d035b2a3132d8fd1734d9fec80c428154cd722480236e10219ffff0307f66d08c4ddc006fb451279bcae2520741f4636e0c10e414007ddaeb74a4e94031b42a743cba8dc5220d6c27b59cee2f28d94ff95b93cd826f3179c009913864703f4724b551b2ff5da2920f08a89552b2898ae91a3db59ef2f174c86a508a8979b038740475e5c44bc36c492b2580f7c488d99e4925128fe375b2e8aa2bb2918520403b51e87f822e397049950f17e379cf667744de8615804a33256a3e953e38ca563033ef5cab3be7c1800ab52079f12d6d4f1c4720c9331eaf85cd1b29fdd389bf63e03d978a7f2234f9823d80cb994877b2114c963308c30924b4e6c9a9d96fe66bdab03519a2bcfa0f214fa9abeddf62d1e2d2c3fecf14b1dee6d542f0344408d30e33d0382a8f66ae7f5337d4bfcf3dfb1d64bc5f6f3ffba17d123d33b9a5d5d31bb22a403151b7a70c2e6c1064d1d78800fcd51444637ad4e55ecc979418a19b3cd22fef5039bdd52d4222db69542a4ac573d1a997d3daeacd51ba506df75b28af24b13639803dacf923cc971f5affc2edf4d3661f115ba90a86fca96c8943bc67544ddb655d303bd293c3d0858694c75b8745c7cfa8074320677a7448e2ac15eb696eac234e1cb03a0d21e36446a8d9494b73fa7d111dfa4cdf3011de33236fae47b5ca152942e7303dc06fbac5222dfc57da586e4b74f1ed07460e4fade8ce1c39fe1da1c8e1a53c60219ffff03adf29fc40929ee95bb659253635577a8b354aaa870f8a25c8cb2adf2d283be4303b98707ae0ad9cb5959b92303baba595836b1eae61e8e256ce36e1c695134b1b3035db084797dc65ae4038fc7ace9b86f9a92caaa787abcc418124d9d7e0f8df5bf032c116976b6aa7fc448a8a05e0cc402b505446ec50e031286d65f95be0eece56103b61022761f42163149eb9c4eeadd88e437be34ee49fa2cee9a93c31bae2cb60f030801942133a922f2f668febe1c87a13c7448806db7f3dde40c490b40cdd0749b0376c19a2406669c04049f77d3b35c135987cca3de4bb1f7759c23d1512f90391e03e4ce47f75fa4ee2fa82ec975e1be0960b6c731bc39ebe0e6b3f9d1f0ad79371c03f867a0677889fd523cfeba88615187994be66940a512e1385b91920909f4d292031073f40b549081f0abfd9c3b2d3083c57d8916ddb685a5c70681a2efd0c4953e035cd2cd813a969b981716709b76b41a21f3e39236cb1d03acef727cf096cfc87f03fae06ad52d405c6ff568cae3cd2cef2b929dba3c07358dbb95f460b3aeff683d0327609cf08fd291103b9864863ececd3c8d2b152b6a11e11d5341a6049b8feeeb03a47a1f1b367ddf8161e732be66e3e60778b947ef76a234480759b8f6f0f57328034428731abfaff9a3bc226eba3c0078d6ec937d3bb21395747db960b322b76cc203011e09de00979069fe15f6a3e3df0d2182051c9262302bacc9fde2cbbb0dc0ac014107032b2a708b26922c0d8fcc704f13c30f8c1f6bb4b9f7531912c9b9b9e04707428a00581f029464b100adf1be98c793ea042ecdd0d58df3039b8a558eed0e1759b1e2f6410103830840a1f271c484b34a27261b9b6ba9172d9a91a2feab4bdc8654d69b47870003c50921c478ae685d8ca0684f61219fdafcfdd83a048b06954f2d7830b9185588036e6ae14207f591ad8b4ea7a3cd1312724c5fab2895537b123d6e9c2b8158d7be030f470662399080ac41bdf0a6e8ad8b767f07bd5062e21ff169fced43af5ad98f036f33bae613bd7f9ad3ba9aee89a0aa9a1ed3493d1d85a34d5eed9dbc7df7a2db03e4bddde401ac41e1fdbe7a6f3650b45e0d8cb798cc7389013a408b3306193dc6039cb3b0b4aac7805ba34b25ee6c20c8f76219f0be424e99466ff46c3999451a87033ad774c05496e8a667fd87b7e8d8e8b4c6a9af3ec88a8726dc76ad45651db380036cf4727efeef11140a7019bef52047033d26dbe15afeeda99504bbf8cd60a43f036598bc9fd251a49ff7215cde90c8b9413cba836aa1f815435cb5fe7913a9be410314328289ead9da87f4c52226b9bc02aa5b6e8d8d94a96a24539265163a861f160373f0bfbc92567053da089a9fe3a6dc0e5ed88bd8f966865fab51f5fda0fca3c700581f032fe739c45dbd0d2dc61473c721ea404bdb11974e1cc7981201f012b091d058204654584669656c64000000000000000000000000000000000000000000000010021948420219ffef035ed31ee99bce86bbb12c0a1c241507c6cc61be77a7606e9141d9dcc13eac955403d645621117ba10dfb6ec4f4702d1bcee4ab806706fa847b3f4d025dc216d175303d1c6218e7e3b6bebfcfb3398712dd0b20ced034a8d0b128ccd26ceaf0756c4f603e5dd60dae3e3e4dce1405acafc0116ab6add979b3e279c35219c5ee3c2a5ff4b03659dd84e2205d962760ca7cb55ef3b7e6fe218d9409fe1a2511b3f54fc4f279c03412f9d3ffa2cf8c54dedb97627cb339d287f063c498cf32c7a51a2caacaa3f8103246254fde6f485ddd0169beb3f7fd556a620c16bc1c844092226e14261fabfea0219ffff03543fe0714ac0d627c43ea1b63d83d6e4a9a78f9905992ae78e5e77bc4ed655e4032478db96dc390d34b73a57f2cd6f69af1c6e5640fdf621a4109446f93dc1b8030392fc66355a78e50e44c236473998d5d2a9bea299de2baaded302738d4cd2a822034ff7e7c4ea57bfda359aae7709785eec223d682225189824a6cfb78eb5795f440219ffff0334df5660a580356561ceae79f7528503e4c4b62ec2ecdf6c75ac6eeda5ba977403af5aa87e57f185c61533230df74d1d9793cad71cee276bb524a7636bcce810140313237c65ef1b948f393d268886105cd7917a83ecf63c862fbd2b79eec3cbef5503f42966cb4b41fc5a8d036209216d69b7a85f725efbb9c4da653e7b4a59090562037c1aefaccf7544020cf22c68cca0e6fcf8efd244664c84c9b999277dad01fc7b031d9159042023d77e1d484f12d4d39d23a289405d0eb1f80d575cf0f47875d8f803fe78336b0fde890571a8f36a23b0124d085e5796c0c63c54655e14aeca3dcf1603549c3f41ee0d7728290c658b9ed12b73cf1100470d222c8723f9c153d16aa1ab03148b83aa6d107fdf46c28dc4b344d58c5a7332ce14aa478bd84c6a6f9f9bd2fd0394c63fb60d9e1391429f09cdcccb9d4e5d81def20ec1f24f8a41d4eea94aa97503cf1b1b3edb8c3276642ed64b182fb7a3b0f04e4503493fc7791189cd7799b46e030e39454fb392cdb3ef88b70edff4a471df1a5b6e5281cfbc44a263262e391f4c03fd1f5f7d99f66e61155be04af4836d99049a3584d75267325e9fe57639b0cc650347b9e1f10d4db9176025c4ca26e4b9f0afd5ce7b6f61ce14a4e2fadbf9fa726d03acb7f6518e1be309372d9c0a529c9f9dc8fde655caf45f766f35f7133fe45d8f03208c97a2161698dcf59d0d25bba977f701a79760bf4d485652511a7698b583e403a91312eefd3cdcb13eebb6dc93317e8c4923f2e6565c3c13a87eecd648132d6f03f73ab115c237b204f92decb70bf268f9d3066e28d0eb91d112f47ef37edf776f0317ee7f3c997b5659fb997c8c79eafd66257ac87d8b37cabbbb5ef626c60e07e203035e2724b37372509b2b7a4f4f31c9f515ded0f978eecd3469e31f3725ef71ec0344fad1a93ae4a3ffaf9010c31a94d080d61a0ecc540c6649bffbd1310f930f0d037f2da8ce4e98664ca4bb8ec0ad1ea58da1a431e61941ca504933483b805ad57d0383b2b120c539db7e6d6fc0179000b75eca4aa66dd355ab9ded2140c05f166b6703fdee9316fcf26505c3e7dd7b807ecb6fe70cb3306ac5619c660e3a3e3c4a78d603c6919cd0cfd8390c0878d7578e0f2ed8fdfa4b5e17ec83cd3bbca1ced1fa6a6900581e0320dc2036ca4b82a84297e561fdd95eaf9ac1d136d74dba022f66841ef0410e00581e03a1fd14dc56bf78e810ed1dcb2aae0ace7af6828a2366e3fc8e4529dea041010219140001410d00581f03b38ca684c63e34c688654f306761957dfa019e95cd7210701f5d28374ed058203978b4c5215582bf560b2327a593bf7b1da53418f4d339ae4f915e14f5f26ff200581f030a2e05f8311fbd20248540028c5f0a10287a21803e094263f5d06ecaca90410400581f03a06e5baa876fb358448b735e7e51b6906826fbd0c53844fe436d5c3d2ad058209e688dfd6a84f972199e09ae70ff76b260a01dd1851e1899aca7b1a7a7ba26c20219701003a75e38d558220cadba8f5bb573443cdbd9944c85030738b22501f260a6619e5c0384023f53489dcab91b79631f870baf8630b61790b2b91575d3deaf0fe3a84cd1038c383f625d69ba9dc77a92534f4a30f0535c3284f6c70fdb16fc8a493d91781e03025df856437056eff861f529b028acf2b6a7f40205b0c789cf048b728e3ea404034d68cd84c6b23053727c9a715bc86bb4278ff745c938aec65f34c5bcd3d823b5039bb950bcb37d0c11a344946a0e4f456fabf15a898f817cf73da939792c00a0f603de81e5b67a0e9f0c886c83eaa4c33d449c843f00420d24054839f1dbb19cce6503ebb9addfbc6d4c3f183bd6e5442cc470b5f8ffb93157fee8d2c0f61e8b62b73e033882dab885058cbc2449b89ee64e8d887beb5dfbafc9e68cf6632b6531e89d4303f09e00815047c5a76741541fe9007395869f94447f94dea3832c8ab59a5413af0219ffff03220016420f938f0783d0d852c68291c1e4dbe83aa0595cae86b01f1b1964fa0f0397fb6de4b665bde845c6e7e7f1fd60fe1200820cf99350d6869423cc646efaf303126b7e7cf48aa73fe92368fd42668a40f192244dab399e50571ba1ce46c7fb450374d5d79ccb01604865a868d68f63eda8306b93f66787ac4460dd840f33e519da031b04904ea9d04c809c18d035a4db337731b401a8a560449f1cbe3f777ab3f104031aac2037fcec49c75d7c4337d87a5ff47beb27cafe8928fab3baaaaaad94b80d03c8425dc4ff1550d142f6f3ccfd526e1dc80d1a856415b0efaaeeaf5eebedcd840219ffff035b492e3765ac399d6400a55eb0b00a300efee434462cbf77b5c15fd4da54623903e1cb066a967d6270e75753dcc83e3b03a8567a091f1e707d3bcec270018f5f8e037fa8f6f4e4900b3dece4c8cf307ab757aaffbd85a1567bb252e7618026983c0403433d8dedcac25ceee771b0b2d525cebe4cb86220e5490119922c3a67c6e8d1a9039fbfe871c050d1ca8499d4b1a1793da6c76af04221b3ff323c2e2529652b46bc0305921ee3a8daf40de997ff3b65279a670a01b0af2651d617687fea5f8363fe740219ffff030d932a834b18271767c91d946f9268c1b79160a43f34ec24b3e4fd2c6d6454c103b3ef35d3fe6a627c1fc1f2204336fef41f6c0fe062d78177c06b4593e150308b03373bdecec021333bfb1ef14f7d0585a93508b401d76f43b3766601c96a5623e90342f317916ac8f3eed96952c6e77415b206e8693ff4b3d2d910123b85071c20ad0350c7621fb51786e124bbc504a2078462da9209f2647c2f78f478cb01882318e9034b1040ab28b7f58a64b627f9cb93ad36f9a87bc8624749608d845eed64398246036669bceec7ac85b3a5de619516f90981b9e0fec7afafe9a3556a054873210d26035af980e9606d8f4bdeed6af601a2290494e968a4f0612f0242144da324b05a9b036067d179ecde1ddc6ca5589b8a43bdd769dea25d85e29fd0c8e059e5a2d5fba1036ecaf343cf4177261b747caa7db5d0672e5096cee290db389f1a264f00d560100391bbc852c7909a2ca50d3b85831ff2f136cd3b81c52b377053a15fa770ee7f2c03871e767fe68723412fd6f6050e3e86e525b954346737f450cbafe62fcbf664d10383780369cb9c18b1cf74924d7025ce65c258beed387a4b07f896c39ef94cafe00379b74fae45c01051baa04a5c0f7a7730b4cb825d0b4156abd538d9169ef56c8e03dc48b97f0a86b65bc5c7c9ab665d606ec9075358e7537e15c6908c1867e7ac0a036dd2d2a5e12dd9a8260b7b1f31e17f13b540d265541dbf13b3d1e4b979b432fe00581f0267c7ea47fc58befe7d56cd379bbba16bfecad66570c75e88a9bb1f84a87058207854bcd7ccc6b1225b400dad99a57e5a879bf116b4539516522b5450101dd678035fef9c0cc6de8b2fbec0c1630ec73b99daf41f8750e51f263515f9b8adad447c032c39bbe7b00bf747b228745d4ef3629bd9ba53d7642dcaca0913496efbda433003acf3c9788b864cdc5b12a3709a524f9ba8e9aee329609cc6015f887a58fc28a600581f026514b15e37c24051757daa1a5375b9e5e697935813164edc3ab3151097a558207718eaf7985e9a0415b3ee27353025df0fe54bf3eae924a52a485cc919238afa03c1d5392bb86336d5628a03f444811718cf69508b6d306c5de2d901032891a21c036ae2ed8630824eeee78e81085bddb3ada8a6bd3b1714a6b70c8a4e0f66944c4f00581f02e6c2584b3a7695f9b43215204a59cd598e84523e763cf39279d55c0ea1435820aac9e83796852fb34f90c93a6c837c81a31098f7b7f7ba959fde9863d99e374f03c40046eac39641eb1dd415071a4f22d5d07a87cf12fed0f7447eab6e8ebb2cd00317ba24fdc0a8d8c8862c925e11d4fa2e98bed3389881aa9f34fc3db4f08b194d0142009f034842d83a21f43908641ae38089a722bf159dc6f60a38ef17b7bb920c9afa5fcd00581f03aac5f86afcd2f957d78b3667fb1db83b5a251671db66b9b001036199c5705820536f686f0000000000000000000000000000000000000000000000000000000800581f033527884d730b8062b4d0f678708cb47ea28e102ad1c4f41aed850d2032d041010307f60c1538bb3eb506e88d62d895188cec34b8c9f1d1118771854d41fb13c0d9021909040342181123924295d54ba3cfdc9b95ae3b5593259cb07a0b81d6ead5b0f1b77b0c0390842ee7a731894db6023ee4ff863461a7a8e1f64b1ef2d79cb464d9a3e56a6f034bca54c6bf400aa0b969302627a848d256d67a485026f2bcc6ef2a4ffad76fb30314942b0937426b68b39c1bf304af79d7193e56069985491727c42259204652690219ffff03422524285f7ac73a21dd6bcef8e4be3c2ada466beb7342ce1327c3ec09eadb270396ec8b78e86f66b48873d468dfe7c74d3a73048da77b57920682096f31147a640330d65419bfad58932bf0b803c0228a71e7b1814961f19c25a68204eddd1da8630320ff6268644a573b2cbbac7ae69d6698c7d2a2890b73e94d326336d600272da0030a5dd534a4e73a349766209457599c2560e7697c19271a431faad7993ce6884b0219ffff03c75f90ab4e583d5dd95f7dc23a6dd2df4efe7f6e8e5a590dda20c97b50acd0f3034d78209e7a0e52fd06bd92e77d23fe89d89cb50591c97ab5a082c7a2318fbb3e03412e4fa9d5eb885f0faad60e798cb42f6c3ba1c98f340186c04cc91fadd5e4850348c319a6cb184ca14370ddbc93d9430fcd0d0f177a4ccba9f02d9dbff59fc51b0340dd77925b680e7bf05261995a2d7a9e0b90a7f41b12b8ed1571f2a81e6cc2dc030335e296ebc68fcede8094a670650a9b1a8de8d0623fe740cc02ea573269c49d0365eab1285b650be97d996d010bb852cb06c3d4a9b0a4f84dd73bf70ceec9329103c8163d993d8e07080c99e5b152c6c0f4c914edc1c5f60ad5a3c9223dd5383cd003ae3584382aad6a69283fe0632ec80d1caf0eef346c5e3a49f5c65b7b6a8096a3035ee6964ef8160fa234468d8bfb386957899746303721f5566d00199b438acb100219ffff03136c5ecf7509fa2678233157bdf24573dc2ab6908aa24ca7bc6b8fad5d195ccf03935b8c560b1ff89b40274d451eab9d313b769ba816f20672541b0b86f538274303446159b481b85dfb7e718feca213c0a7804e4b146d212676816683498f71235403e2fabf722501bda44f09013834fd74ce78ac9995e1f74c8b2d0e15b3efb5329c0344e4afb2bb6e187e3d46916d6d8ad920120e6ed3afbbe1953a7b9428af570a2003be3e8b76954b8a8e24ca1afaf6bae56b1106e524ca984698776e561a9d0cf0380347b0a77027444b1874fe4bbe0e0d1583a3ce1f2ac4c8a74b6af35dd2664774ee00581f0308083608c87ea2734f5bc23f6565c0f409a5e6a5a96b3ca81b991d28f630410103b413dffb7657bfb78930dca1f18de0675dbc73f7751847d1c1228b547581f26e0219024003ac45bb99edb466ac8fea2c9eaefd2c60a538dcdfcba252360861d8ac01ff13c80332918af80da1a31a0d2bce78c8a8a2b1bebea8526a847c514cd5f33bf6fde63d03d9d402e3649e070b72a6d2e7291b6cc257ecf2c8991fe963cbe79b6521e0da5103e19f3253581be3d58aaf09d098fbc53885d974d3bdf6eef57ab4746e8ecb502f031d006721a7b2800fd4753638c8cd1add395f6eb81b1c8f159821b2e1ca66188f030840ad8e92b9a82ad09ab1ef85fa1b957ca30549986b3b8176963fad480751d103c76baa685047357d91f886540c80fd20a965a654bdabaad0ef3ce2d92d03005a032e439d71ee23536ce912749a1cd06d1288c912d4f7030d92d134ce2b0f9b8d75033857934434bdc2eab3482bfe8242922790ae0b8aa0636284f2e42e1dafdb98fe030c0967f44e954c167ece71ef0ff1a4939b91a66752b0c038ea1c4eaaedf35e2603380cb530a2883ec22db98e2483690824b589e2cb9acbef2826fda96775b7508b0219ffff03429c172c83a160e714d1a83227cfc8c40dbe8159b9954d14589514bcb777824603832ec38fb995104856b9d606f3d9e6af7788430de24a0e3da876a0b98b5c7d2403e80e0fe719cc53fe89b4d50b915cf850f3c5932f866fdceda12339735bc93b080346d0c26b7b1694dd884003b11ad65f3be37aad1e979ef8c83268cdd02f2b09d6038238531ff5e3774e69dd98ffcef77e65625fc11a58d7808b004e6e4da2888a4b0390baae979c90410f0f5039458f97030eb810913a11ca33b558f8e9205e60152b035209f49568fe8ddf68b5c08628d4ecff1822aebd734bcaaf79692edbea033007035e2a02a456fbbcb132979005a40981d5e57cd99fd92c258fda915045308dda89031e1df4823f4c81fe7583c641f1ba4df906b003f294a7cec3abdee3193311dcf00324ed588384bddaf7ddaa0a8f1fbd42639485bf800182a7c509d3a79704ae7af303f6f9cdf4dfd70b073459cef077023ad3f27d82b7cad08880de788b2a8dd64b1d03e7d1882e8e35eb87ea86fd7869f0beeced32625ef14b5ac65a511a75bd8dbced0328c6ce9c541bd08527c53f436b14bf6e83cc73e41c5495eba7ec1a17f85a87bc032ab5d3093278da01c2b3aa01ed163045fddc1081807123a90bd26477d2c5abb50219ffff0346e6f6b1b89bb0f45d2b929ac078a942a455646bed412f45a5ac7abb98981c9803e9e3315c126254f003d10af1d0b98287284b45bb35f62929ff61d09532f24ec9036a479fa242e9027335d5bb907cd61b6fa443f0d317228114b1e494ba1f11ba2a03bcf804ebd2e127c28e81677398aee6b9b62ba23750777162278a79fd827b557d030f2e6528e4b744b5bc148668f86372befbf5cfafbf3e59c64d1450f327f147900389af59322f423262897bcceac98adfc7dafbf08cd63b754890d0dd7f6230babe0391bff536487d0ae0082fe7e4c0e3d0194797661c010237653b32b364876d6b2003370bd464ab429a8d566e2a04b5f5eddfab32b77a56396d0d15e710faf0b459c10386138d714db845793074243d3a704877a2789cddf68981d883a055f9dff6b1d1031e6952ff3a16c3fa8e42ac9d11846414df10c64acabdd15282b7ffb18c5f779b036bb08cf53672da2b6188c5a7cd98dad6d13f7ba14ec1f454757c74a9efe01919036eac3eaeb0565b863798017d29ff0a63155a699e54ded9c9ca39eef0e16e5fd2033eda9444c94f71faf155038184c8b98d558f7d8ad5257c5e9b4b3bda9b157b1a0219ffff033955709b748fa6b17bbf9048089507a06f7b81796562e4e8993db8fc4e3be119037df777300afc11e366341df76de0795530c09368839a55c2eda177035e27589d03d609781dabc54d48e2882c1d1ef72e702177f15fc451d9a78d495638d8ef656d034b9e2bd7a02946852a4b4591c51658217c25b6370213c7d87dee9ac1c5fa870903837e730d8735e596e3fca0179e46eab5451ad83fb957ca054e707c223e24a1ce03ab680f779d1be48938ae372aec5f1c081c99a53436088de1e7602e708b16a49f03018db73e854f7662a88b2b15c36ddf9f9bd40398d7dbb1372b96fa98d6d225160365e60ebbdd971eeb09aa65347c7326baf79ed3e33dc1e816b6f4c23d8343d19f03db642d00317a8257567112d9de8674184806eff646ef78e2516874b9a2022d8900581f0364337f3ed31e143b7e37ecf5ff11e7a546c8a40290dfa8fe59c9e5cc58c0410100581f0399d6da8f9e5d65c2b3da4f11a6dd3c1a4bd88797e2595bfe7b404606a5c05820d0f0dadb3e381db9d2d12d55f229ae38254ac3d10ffd9e4fc7d09ca746275a6800581f037daff6a2eb85b4bc140b16f9f07527074d04503146ab57712fccc6aad210410700581f0376c84a3995bee219f1934163da011feaead3bb402579fd64ac28da0487905820574b0000000000000000000000000000000000000000000000000000000000040219208a03b8615cec4ff610b8e8b706ef23a1ba7892fc296e9234e42d9396b33b13d4728a03afc3100b530b185ec2c5c6463fc44ea5923f357c66d355013d2b5df465ab199503116ba49b0dfcae61e44465bc3cf455a954db65a8bdec17cf55391a56c2b1737b030bcdaf147f58118a37c9f52a1207ff03f025f33ab42bfdc27020d6a08f39614c03f790642c7d5573ba55835a77e7628098f4749f0a433bcc3794cf93c39a1b3b86031799715d61ff2fac1d9e3a25a8e5cb5395120c1b6755c82480368b4cadcb30d50332a67ff616218b14974c779532aaead9abb6b8c80181993447d078d4bbe202a60363b3432d78cc4dddcd4b87c278dcce1c85ba5ce0b916286bf91e5d348bd7918503eec1d1bc7b202c4ec2d59c21223c29d8c971ae8fb78f6fdb5f2b02369965a7030369bc473599e6fce17355fb9968395cbb605c32758353f7e5c726ea680b577ce603d3f5ec460f7ae91b2beb012922cac750b31ce7fc49dadab4829d344af131757003b9dae43a27121ab9dea1a0aeb0277dd5d9e3950c6db8e3889f8828976224c38f0399febfd71d0015f1fa3334559d3866ba4837426be02155fffd88bc3796eb7dcc0316706530efd532cd7fa9756d1a498777172976732ec6525b435c6866efc6c4810219ffff03f9ccd35c9e0d42088cd0afe34fe1c972fc41ae398720828098c010d3d62a5d450387618f0841b661708c6c7cad5fada6019c6ebedea9e3490b781b3249f85c54460305a521ed84db116b651c429f9e51d422611281618e2e7de891bb204cf75cf40703d8d3b49134021b86a638f7235c0287accbe606695949497745ecad38bb75d46f032cf52a24113a09be5c34cf84cc96e3c9083179fa704a1f467ea3c13bbe405f4003f6da8b08bbb14d030e8a186325c0950f45070f80a9029f8927b3b82b00aac21203d8c782b517dc18b72b032df2001c4fff0369ec0f0c1163d42782dff815dd515703d13b50715c92185ce2a2b5f6ee4910bb18ff4452107333bb56ff13b547907e5403dd414ea6b23c5327acaecd32dd219415ea6cd3293b8b518360dbe57a7872f80d03214266d3d3d6ac5394aeba831c5613bcde6c8da38ed945f9bbd189aa776f0b0803ed18932656d7a84aba6054f9d21958d2ae0f6116ec9dbdb6806d943d50c7f5a10375a58a29c9cb8ddb573b0b7a6bc22abce2b52c85dd5bd7234a1a07943f14bc9003dee3376ddfc6ed7351bffd2eb824955e891d9c12763df617805c6ab32602f2a20219ffff038a446d78a723d8e0e0dd87dd1b3dcf1a9c306d5a266d91d5b7d1f67733e4e7a003651f597b1b79952116e4127dd607a234ffdc7bb47b46777c723b87849baf357903fd9b68cdff644fd514d8ebde0aa464a5b66c929a2dee94068217ac42fbe0ed7203167e7dac01c80e383d49be53710206ce8afa1031e5d085f9089ad0fa29cf716303ccf79561d7ec4b6315c18839a91f265bc1db889922740610807aa3b82a64f5590381be083178aea0f3385d29578b70bbc7994ed58b243c3c037024380b116f0312035dcd764c79b701c4babf1a527bc6faa389e327abbbe052b75e502573e8faeb0f039b89f7abbfce65c5df6e52caadbc5576649ae10e632dd1b44c612d647ba0bc71039ebd1ce8337bb2f508604197aa29ae79fca672100d137d84f43b67088f4ebcb30219ffff03b5ce3898f3ca1b25980c693ed83d0306d05f7855e41b3ed39aa80eb1b26f1ade03697a66d532a8a735e0b749b6a9938220531f33f756665059050efebedc0d5f7403820029e18a8b31b4afcf7394702ad610b8062c3b27d5160f1a83426a6196ab6303920c9c3383733c5942d7c2ad3d9ebc9f43afa078dd090f1d9393f1896e8b6358035b3547a88912c814e58e18ba293ff6717a4de9b891e98ddc4f72ebdc5d1c98ee03f6c40127dd6aed221566425d40c92a2dc2049976d021166971fd2458538b4cb8037058a5f25047eb764f0f117480f5ede2689588704454c6fceb24ec89afa976dc03a4ce70b2b2a49b71593f82de49c9b0bb01b56b9d18c0e307d016cfb56d164c9103b0f4bfe6851f768c5d06fa27ecf9686a108082f12e18afaaa144eb97c0a4460e033bcd3c665a88d0560ff80c5be36340d273cda51cac5d2406ac2dc53d65ff95d903ffa037cd6cbc98930e79a041e19ddbdf02aa523906258cc91c1d11a90b5510a703e6543a65f192930636b3af330410fd2255efbf87765efbd79e24f96a2393261803909809044d4a23dad2015d3e0981babede82bc59d6b60350ad90b38feebf46550358074f5f52ef31cfa86619fc4006beff1fdb4db597bbf980d7643833b9b05932036ff4705fcc4a88280fbed4af9592fa81161a3c294418aa07e01a03a58cd000cc0368d848bd3e4b748191e871169c184c595ba087b6cfe127a15e9fe37521cf46b1032253068a0e6c18b14eac010b690ba29fe97564d25bf1533e39a079b2201554e0036f75e87a58e50a407abca9f5911da21df8d5496572cc6fd8c5fb5604995b34b5030a89266e24b84eeec12bf0c4470c9c1385d3ffc1f7f9710e04c35a5f1d6ed9fe03736360e09d161e12b4bbc9eafd397eb9cfb4ab2eb363be7c05b304a84afec97403bed61e4bc2e4e8e89d921bdeacab00716bb6e6c8cf8ed7ab90c2e12ae5324a0b03d80eb8bd78fafead622425bfa34b2cf92cec2f8a39db31c09b87665e65591158030d05f4b33674347d0b94f35ad986b3f7421f52778f608764b31e5ac45253cf2703f493310ffb84b7b7e808413bb4faf79df303157580e43c31a1145dc263fa9f6f00581f03c02fa4fcb7427a99543dd4d9bbd293bdbc45de8d988f37b5f2a80da1f730540fe7bb77509849265f762607a39cb645a2dc8bd200581f03c1dd35df06f6282758e96e1a75b4809729612f3947fb3f9b960a1da722305820da45dc9aec68ffdf660d20235d07e50bb7d4f443525d68bc99d0918c60e03b2f00581f03b613494584601782239e29c62fdd28e1ee3e3e03d2e7c832bda8d5a5cdd0410100581f03f7f8f3dbb90565cd94db1bec60e7bfcaca870b29a119750aa61d80e19540582055812002e6188593856dde4c9afd80276167a1ad0feaed2113514f02acf1d09e00581e0228b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68842a08100581e020f528cd6f1ae1cf8891953a191928b5de473bcc539159f02c4e2b8b6e754b7868b72cd8d6aa64cd3e3e1aca4f406678eabe9021906000219183203a9914ddd2a2a8bfb408fa2a1dc5177d34bc50d9372a2dd659b1c511e871ddb19034f6fcb619d4dd3911e61507e20a85472553bf7aeff0d71cde562bd7ad63b46040312adab11415963917459406ee868f6600b6a8e3017567a23dc7c8774ddfaf2430219ffff036ac266e5e7ca897802ce0961e8f2050f6bb438cbdcdcacdaa11019a841fa64f703881ae69bf5f78b254cc0a9025fa1d97ac83a918cbb958389eec042eddbfee83203bbe4fb8df1347f802b14bd402d531054b7e7c999eee4b83253100592c04e54c90330830fd75f8914ceb3abfe5d5eb70b286e207312d419b7679057477946f2d50c033c0dd9e9bb280cc625c309b0566cbef29b98bebcd6c8447a409c7dca662e9cec032b683a3b2f39bbc83237a4305822e1ceb32e6ee375836143434720ad822f070503ba6e12688be7c213d64593e612139278e7b6107b390aed7b49992396bafff7a7033a47fd29ab8167ede98654cdf292a6124f31677761c3e02ddb2367cdb10a22da037e88bd5a900793a66e2d2453c0248cc325d657ea4cbd037055593cd8ee16dd8d0219ffff03af656d4ad8d0d7b42b64ca6f48618d53b8c077a2480c0db9e8a6f577b2d2481a036810e147000e95814b3b8aa23a22fb1515ae94f4186fd5d4a2cf73b9acb716f903ccf7e3cd5dfb97dd756b8247a2b104baaddd585a4bd1956d17b0f800dde718c003029e46784f39d24a1e700ece04419d7a999a13ca1a42246d00f246818e1b73da03e42bfb7cb0de94443989528826484086cf8a0fa33b7c2863801301a70decb40a03a98a12550919d40325cc68f3a1d38d454f8415bffa54336f5b8b9a109b3c12810344d09fd3bce7da63ca0d0bd4d7134c8ed52ecf7c0ffc3908f4bb65594b708fc503087e24749a28fe850c1353208f55a245dc38336c23fb9abf4cef74d6a3a74a5903a468a29e4ab975b2d30aad684bd6cc1620f66d88fdfdf0a8eae004c8bb1936ee00581f02b8ab791d609b2b3cf0ba0277f7904cad40b3293e7161524cd1cbc4a48dff5820a4f7f90d1842826d8e405a82541ce7a9c4736a21e47974e348bf0420e0b6a0f203fa06c715299839da8dae860140dceecca3c310416d8596972f99ad3ac69ad6b1039253ea69483b77bce3f7f35af1f0f5e0fcb8a9611676505160a54e9d044dbc1103fd4ee23c51e829e1fdbf143849d6e55c31ff919a7e385a2ab41f5e3275009c8b03fbbaffffb64ec1291178ae9af942627f298ab7aa4461d06ac323b2dd08e27deb03b1672126b78d17cac3039f399359e3878e490a1447b9616272edd489a49a299b03e0428f8c85d0af327799e17598ff3fda1587fb9a8c3a37b7cae5cf5fb7966a0a03e3c283a035030eff82c44b391c112d79c5dd87f98a84be4482f38c0b5b30147803fe09d00debbd895f3f0d656e6dd76aba75b536e2fc2a7f068c4f0108365e279103fb0499d5451719d061de68f5426fd62f63f7d591fd01d6e5accff567f1c605b903cdf55bd5a6acece11169993e750f03d8f85021fcf2bd398b8f1d9be85ef1a19a0390d1932b042cdcbbeab7238551dc31b9cf8aea98364a4715dd9274ce3227eac400581f03fdc8c3d89eabd2c0f7dcb837c7665dc8ad087e9d2d895b7a1ef097227160423c0800581f03846933bac84401018b9c2f1b543194a40088c830a855a60a4b71a45b6930410200581f03c141ffc1a29ffa4d87329321b636ba842e5ae430ae70b0cfe13076441b305820f58db1997a45ab6897a14ed629e4042fe662158f442fc53bb0e13ecd8df12d9f00581f030aca8226cb7c7b293fd51afba7e07101171cec8c55dc7fbe2b97052dab505441abbf3eb0aa47267d3fc271eedffc3f1e254c0c021990880219fffb032a1e0333d6ad42e33a0e42fe1a817d3ba14600701d671c325f26a239fdb021a70311a3f09f6c33a799be8870266918963ec5d528956ee129b0d17cf62814ab3f5f03154a6f1d9e3d866eb188ce2098944565f948b9c4ec326fe9a379e360250679cf03ffbad5efa4c6fb9aefba8fa31e8879ff00eeeaab3fddce3d9ef094697f231a32034117fcb06efc2fd647102c7359e64fff5f0566aad79c1ff4134ef54e20074778030ec08bb622b6a56cf2cb2e3e81706d2606048b609c4a44618bc96252fcc3b84f039705a5a86a37b24306a60f1974407d00ddb85267869797eeab3b39248639ce44039427cb36739a940cdca13e2fea43848dc062832314097b5db6d806b55457f13f03559eb875a6ece4b3597ffe313e63ceea0f7235b9432c97f9ae4cb0602753dd1e030856e18b7f4a61d5bc1442806e72a6c18b3f3bad845842dfd87af601e461fe7f0369214a42560006ffb15e49393fc9a68e3fe87c04f06064e31ded7f0b3adfe0920311dc498bf3bfc9fa620b7ac4d57fa70fd20183210a09c3672e8dee96f3a79ff10219ffff03038f75ccf228e784c3ecdb9ef631e88cf683a3fe561678fa161e6d777bd0e1b503eb3da1465c2547744f8731100f8e1f7c79b4560b8fb9e72572f97a81dc186e8403d28f59497d3ab813957c51ef6306981b176b4e61b10fdd534f6092af1333060003b7cb151ce4d380b5d9a0d57368ed208c88183cf13380a736a7bc7f9bf2cdcdf10219ffff03ff50a56513b248165cebab9b43436e05ecd947bf61544dde7ce2b21cd9cbff79039927d2e5de89bb8d0ac889df6ba7c1dc0462dfe84549aa5862beb8e2e48535bd032cc4664eba269f514ab133973348bcd03976860a4cc74f5107760fadac142a53039b29b7a8ba9cd3b639ef3b79932bd81f7aa61940f239dd2ef05cf5dcc5c5b09603816f0c6ccdeb35a0cdbbc08d9bf1d4432a8f1cce3e85c889798b6da8d0f025b903077e7741903f7e7da06839b225942f764ea9948c7b4f62c9a9a5f27e5efd01d603bb50a40d97d9fd44b569307b0de50d3c292f70d7777527d298244c2c984897ad0357370baab4768920cece7e61052a607f9f3823982ba8ab30d3d18a084c1950020372d01b28fe05085c9e1c77c892c91550c5e19ca66710079310d3ff5ea4d3d1520366187d90b375bb354b0535b4f75fa065fa62f28704e49e1dd7303d635b3ab3de0344a479bbb2778e1708b1d797ec206777bfcff4a26ccdd25133ec046b64797cba03589145125ef8e064075d31c442d53a5ae740a42543c272fc90b0c5f869629e38039544f04348c65ac338c09a927fbb1692652b764327d5e853a342b632aec60fd0031e3334211072fb08c2039bc257666907d2583468dc6a415bbd4040759b8d8eeb0327ffcdf68398a3e05a23a374fb83a96bd1afe81a5fdaf4f798ffdbf2d00dfe78034f3f26f350bf57a2ee3e43102cd35d14a5616bfabed1f903375df917cf2b9d6903283a95dd0e91618051160755fd4954a9d8a0901f926b58e97db202f9290cc46103a2da72e7be97109d9aea5ba848ef8091cbbe07276793b9e743209b240408729a03d1a18580156cdfed27ec95f1bba3da1f033fd1f64c820b24e61dced4f559a30a03680cb6c0c4d7cf4f23b5e5eb9cec5de48a2067852881d8fa991904ebac470e9a03a0c30516dca8f8c8522e9fa2c3a3e3872c1dd85e2754dc016cfc388c4a63f20b031b44ac206cfef47f81bce67e6d5b5de245600e3d9ed2c707cc13758835f4d010038f278170a28e55aaa527a88c821d1b5090784b0a38a192d6e997cfc5c835a4ca03095118b0f0c6774152c94a140d3b0d3ee6ac8ce78801728188cdbd2eb5307678032e1c7c5a2228a835802bb0f6043f7598c1a530c900befc33b96626c25a1bebfd03a38409bc42821e75cd8ac50e6f9c8aa2ce802f54eede1a1486581fd69ef4861803e112c95ab4e1990f1830cd1eac40c0154129e98a04bbe4b5d3ebec6e1815f8f10318ce0d05acdda5ea40ade09a0ff2be7002f59a6b9ea80c7e5928e2833ce43288035b2bb615b6823a9ce7ebeefebaeab542cda8b67f236496aeb9b06cedbdead87200581f03a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd05457f1887a8bf19b14fc0df6fd9b2acc9af147ea8500581f036df21a2320296a072e853be9744e50618a68ab499340d9a4980cd72cbb8042019f00581f0364ed9a46182e6dd523d2840c3d7c393f07ad406733d295039c664797456058204d61726b527574746500000000000000000000000000000000000000000000120219023003f7dd16b61ace8f19648b3d8cf8b516d2060138c961d0a3930fc6d479e4c66428037d71181060e5c37b7c03b342e6d983281fa0e1b474b293bdf40228de445d147703f2228e813b572634a1f5ca1a377b707942702408780ece96b26fac3653138e0d031d653071aa7b4c10fe480089818f541a889b6b1eb4730a63a9a93484a6d52ab50219ffff03f39dcb302ba48e2b218d3e966c6d66160eb94f702d6857d4fd79a11234e35ef1030e4fee65d32fcbac04d07eff9467fa7224708f5a45e5b458338d58fba6124334037f54a5d6e1f08abbddb44543bd6e3493c1ca6d0c724120e7fc48bae36614627903e57f5655af8f9268c54acfe704aaefb4e801717681dfa3ba671542739ac792200387eb52170bd6efa4ec4373f7c68dc674d6c5db1859e21e093f38132d8f8cd8e80310a81393b00e70b9a93c53c8221878fd7af51a4d1553c882c8254eb9eae10379030ff70656669476ef6267edb3c25dab5d261613c7877b243c64a4640db6961dec038cf429bbb262de455313360a292df381e20179df04685d73274f4f945bf1d2b500581f0219bc8a1fa26bda88aec60b59b9d27e361389ecb44be6f3d91ad5aa9a15a058204c6c5445434f494e000000000000000000000000000000000000000000000010036c0479e7576fd80159cdf15619ed8f6cf24398541f0b84fe9bf44b58bbf9753d00581f03a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440582064636c0000000000000000000000000000000000000000000000000000000006032e9dd941954f0a9543f0c3997492da232429ef4ff8c8a0b974e2ff02ba380f5b00581f03c98fb27abd101fb3748a18f2dedc707b3a01c8687cc0fbe0cc51af7d779058205ba8d4b3ba64a03797c621baf44b425ac2004565029f187b65d1be0e65daa3610334c925b773ed84491ad20ef09983c0ce2dcefc565f465d594b4c10857dcc810f02190ac003bfb85fa4fc8d088b1ed997d418a03fdbb65c6045717f891f83ae5e8eff40879f03170e26491fce13a2046f778c87a2da11d8cbea202b38d54ed1c477b064285bc4036f99237cbf80f43a2ba80e94ff770b9f9207a21ec43004735902c576e70cdbaa03660b51f1d913977a92622e6eada6d40838f94bf4df5701090b32c509ddd70d1a02197fff030448d9cedd5391c2e8ba2ed726a585ae4bb3e905f4387532b55aa28a3ec2f03703bcffcf36037c0e48de7aab5e08b3c06cf9a8cf3d3645e737ca58dd8f0d2fbe3503e1ee126656f2badee4cb6af9e1da1c28779e3102e67d6ee7bb53c886e60cdb3503516127f08c85c6c512a8459ff602502d23fd61f21edf2950cab3986586eda28003ae542e202e229052acb3754e232f2d25ff4edc3f4c826275a877ac4b1fcd62fb038ee7cdeca341b87f4297ef83bfca4f403f13817b475ef6e54b2ab7fe7f0af7050346f82f3289a1eddbbc8380d4ba2e0dc2d4dc888ba9e4d801250359f393983bd80219ffff037cfa8f2e1acdcb396eb4b1df4f245322cde843ed8a2bba361b4bf3d32c7ee85a03a627f79960846a9a1b5693662591a6a242df4db4ad86e7c44d899df1e9eff9c1035d3dc2153a89adef26a18a17383775ae65a1256f746dcf2701d02abbe23677b703a3a116dfb796d88bcf191da852a9e12d9def25311f633c798d3a2a2c2218640d0219ffff03e48fa50111ec322fc3711a5329beda142c0a62287c3925b6f28f0e611a83910103b2dd0f260db0692cbeb6f77d402779eb041d23ed063c5d7058d730a8dd859b5603585bebdc8b6d57899cf073b1586fc3e2663fa3ead581fa5391b701826c4e7bfb0335e0d0ae0b436ae71959f7fdf45db0bf2b44a655eb3fd1acf2243e4beaacdfc503e5f8c06b6f1305a8e76d26403f24432d23bd14040c0ed929689463933bccef9f0339062230968fc2de074a758887b74d22fe06df226c720d289dbd9dc34fcb208c03eb8be03f9e1c9d53360236600c14a016293caa89c806bba09e051c80f667d97603b24886f5cc57b6d4473e5e282422d9e4c57fddf47dbdcc1747226b51e61eca9003e1ddad66dd7525be2dcaeb4fcda9d0921ecb123b824faba380348d98c79101750323a8bd0603c05cb98ea53091752192c05bdc6d234db2d45aac56310ce2ac629d03aa961d72416cf60c83df05594d61d983acba6eb22c03b0e09078046b7fd89c5b03e5d9a912ec91b773ffda9eeb61b06d2476490ed2ddccf0fc67f6e384a827546c031f13b5bf972179ee4448f313354bdbc15e882c573e460e56f61821c9a582d5f403d33850ccf268172d1f6e9c0f155f0e5db46777868d702b274e38c6bf1a1d206a03f144e77f9c502e2d7799672e69852256622a6d92a689a1ea729329c5f1afb50303a18e9e20c13a9db38e757ea35d28fc0d0e3e2361a50a8dd9cf36af9783a2911d03c63a4bbac7d826f20a23ee0233466fa95d9071b169c81794463661cf81006f61038ba6949e67e275be9d4ac1966a55febb1b810a17504504932ad955d4fd904d860315b8ba7e6789a9186bb3a12772dec752ee6aa309963750da7cae7995846fdeda03baacf246e528a87df6c83813cd5374d24937611dbfc95a130c7a2b6e94cabdfa03cc097381223723e53dfc715b031da795190b0af37c5c4e57135ba3b67099c2ef0338ed3c0d244ba24f390df18dfe1c4211c3999e88bc7d8b18f8994854561545db03ade7522049b914be42458370d9730299e16b92f28c6a4b7e8e6a98d770417fda00581f026e3b64e665224835a22849eba31b7892e3a53631ef4663f5315e5760fede4101035a3a3478c2fa0cbb31ff2d7fbe26f1f4ddacd8756a19b955b4edc54af2c4bdf600581f03cf7401567b73f8fbb3e87dc0dc8c097c035e034351b219e1c0e4cf86190041190381314d6381a9c8f1872df4e33f29c53c991f32fdd0895ec71c0fe7100d533f7a00581f0309b24646a6c9322e5b7e9a7e594ea7a74bd3502c820e9c5e4f53ef884b905820527562696e00000000000000000000000000000000000000000000000000000a02192280035961cb3617af4f8820394bee6b1be5ea0a6f24415e2796cbfdb97eb7cb16380103abb3bfae6f95eda41d977ca44c642c9347eea99f676cffcd50a77155b42e3c8903e1cb1d3f276f7aae50a6982abcc29a280e002ceb72b041db4b917accf8c5804103f43a4307650c8a4694c335039682ed2346ecd5d8b10f594e4961a1160af3d1e20334ad85b29ba376f53cf41c959431c1b2594c7295acba19f8c8024ec70e5e3c9d03f612e8a8c1fe075a7afb376a9b5cf7401fd1106cb33fa8374a1b5e83f8512cdb03dcc1a5adf0bcfd4dc9ed5fff12bde71fc4094f0a22360da32c2d8c366db1a4240219ffff03620ed271db992e7913dcbb3f63ffbbf1ef995a5b9a5801d6ff6f766f957fc2170219ffff036555d94420397e82c7641378eac52391ede7c788fa7f1b3fdde09cb1ad13e574036e69200cd17a158138e9fe451512e26210a164a50b335ee26bbaf7494fcb6202033d89f857446acaaf977d2749011488d7ce82728f2c466fd48c384d64f900a7be03652f70dc18a064959f744f4f92ba7975ae87e227d78c50c4192f81497427e7fc03e8817d61dad5abac7dd2a128723e3852e1e913b876cf82054e834eceab88771d03f6c23bc26ca7924579947117069d888f7c0d439574a84aab4f3551c16c79222603a3d22fff176e3be6b49ead071a4fe565bc70ee05a58b05293ac49841c59a8a12038bcd8ca7ce8d0761b476b2ac1c4a44df8a12f97a4302b7b0e4ea8af67031518f0398920171c1a2c56dc7dd9c2a31e29be2533ad47a9d3f3d78725299f04296536b03a37431263136a730888a6fb04d533f2f7991d287266e54606ab22466e1dc2dad030e3ed49aabeed273aee357222b09b520a00194864ee25f733841eea135b2d3aa03bb4bbbca21b4038f4653868049661beedf4557e4b3f06aa1054f3b416871add80392d4796873de2f76fdfd28e198450e125a9b8436f35832fa27010e011d4504db03fa2f22263519f1a0a24348d67b5f202420ef9587ba4342b63dd8774bf30ac63f03d96b0fc15ca244bbeabf06e857b5f330f476a89b023466be916ced0d3ea6d3f10342ea24e1344369717e8a231a759272bc480fd3cb362e0f074c9d3e966a41c6bf03fe0348fa09dad3f1b4a52a5de309b78f544490b33dff41f281fe9b24e278522e03de745cdc5ebd45a42a4650fa3fad7e83f0e30c90f67fcf0513a6bf15cbeac74603139ce4dbc7c0099266f28b70a6da95a828bb0bd464a70fefc426c020dd0fe0e203ed16292e9d65609d95d57c8cc2f2a603a81aa26f68600df2309cdc40d0b4cf6a03b353b95f92e992a04ec212c24fb7cb741c81cb3611b590cd6a0d4511c187538d036c9b0e02ae4b6ef31ae0f44bd5736584cdfd1be8c8fa01d69d8dc1db04dbe11f0336eca3b6e6cc35ba05bc1f6529af67ea6438a06e0f4516a12353e5c3bcdf9d7d035765bd3949199c418333420766969fa4a8eb0e64ade0fd4ee2f25d38a21b44a903ea680235350059f8a42cca89933d3ee4773dba4cc2528b3e0104b2d9599cd85703df9c339d333bdced29485e8786be5476d68cb40586dfd681f32333187885274c03294b4de009f008b2fc15d1482a52d007998c858b7be9e120949c5883dab7423c036b5749bce1a267fa98e1fbf9315d702363dcfd7552bcd3a95ba7a68279e6b075030e337f5ec24edcc2d348f1962d27cf6dd1945b04743621e39bf52db40d4df21200581f039469c812de8f5f1912724fa33bd38af1cb9001e37ed0b853a1dce3ecefb05820457468657265756d45544800000000000000000000000000000000000000001600581f03bf5e4fba03d00f08974b5becb9aca03d8673a284d735750d8645a0f5b33041cb00581f0396e65cfb322df703b5b37b00b4b849e64d1fc4d630cf8e5b35903083d230410103844f1120a8d942cb32026a3bbf1621344ec05a91c2453224a00f05f1ce89bd7400581f033a10a378c2698ea569941677ec5d2bc5d73690bfd59c481bb723faf8c9a05820564950000000000000000000000000000000000000000000000000000000000600581f03b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0581f58500cd570bacbce7dbb11497c280dea3f623a7479be7d8b01c2ae07b623fc00581f033549d8f1a7fc93dd6c07f08381af0f0e4ef26732af355180ce5d6499ba40423a4a00581f0347e9d734b55cbf16392d04625544fa2e08e8393b7d4bc8e417a4982eb5c04277ba00581f033f6b63f1e08ae4d5005ea768b92e378723a6e679cf15b7a23337f262ec0058205bd1357d8c1bec3ab8f0c5cb6892ce45278c38e52e63098b6f32149d93562a400219a2dd039b7ae82ba49425a751e28694f233ecb2a41506c79ea3d718fe15d20684277a8003ae436d2470182ed9704f2bbf4aef17c484c4f2c9600ecfd6f1f20a150e9941780219ffff03e9c5759890736f6435347b4563c2cade4caefcf498723f2d6ceb2ffaf36ea8350362c5b07f2a3553dc25b69fc14eaf3ba38260cccdf0a81e6c1c88700fbc341fdb0393d3724cf1ef27d9522f553d0f397db1a7487d6efc03e7dfc26ff62a28eb085203b80f1f07c5d9d70bca3fcf172a18eb815f3b5380b519848b18fc4d75c18f43f60354d7a8f357bb95287bc81f0d36dd30e6ee1aee2e7adb1decdbee07ca4ba4d81903ec4506f75eda1f27e21ccb4755aa379cee67d870937d0bf1a1c3bb044614c4e9036071ff2d66de96eb3a333e53aab43fbea458a29ecc676b5bfab776209fc6ece303bf5db4a93b449fe126284ea34fe9365904188fd706da31a338dfa13b0bd5b48703882349b491589ccc3889b193efc4efc2a07f372607b8f0ea8b9f65952477132a0219ffff03f5ad29fb194ca1d586ef5f7b9f2bfc2de8cafbb52695472c563bd5fbf970064c0219ffff03aaf5fc9c7ef00a2af9eba8ed2db4a6843132df1199fc22f19a0d24a07e0f6e4a0339d8b9d919100b170a862178cff4674955e421f88690e9a6a3da7ed1843566d4030ccb0d7da7df417ba6cf188ec90a9a3dfda927fbc9824db8764e580ce7b9908f03128ebdb0065ac518b59d40ef436e16aeb82bf1eece048cc42345f11653a5de8e03491f7b2d652b9c7fb4bbf0a58a02a6fdf92116e76e95f83218f228a3801084fd03c50cc3f4406f3c607bd76db03873e72b24dfb76e8fba9485f5d35bcb74c3548e03265ca7781f43d1de6bced48bab91bc19d0b5b0801fde28a5d66eb043b6a0f8b903d49a6ac83c5a3afb52dded6d11d874d4665d493a8030fb2c58250036d3175c9603580c97c81b31cdcef9594c9b8db6e7a8c18944276550aa02a11a147d2cb4d10e03e26bfe6acf8b03962688aa5a7458c0e64edac68012abd9ed3d956e169da7d4310309416cdd9549a314ff719356d68223f98aef267ec4b6c46ff49c5768ec995a8e03966eac426ad8eae92325296a31c17eb14c6b50f0684b0d880e738cbee538aca403ffdb2f0cc3b42092d81e160560145ffb6ac4550a9669911850164a02f60476e8039e8bd5a355acdbeb6e45882512d70dfaaf7014372212c00dad0843962d0ed45f03dcafd771642071e8401f6f4bc55860155577ac48c5490a9ea63d656b81c8a840030f531241929a6ea7cec22ef6e1ca753773833e77beafbb6a7faa23037b93ecfc0330ca65f75acb87d3bf0390ede1b6776bf13a1c98b1931cb7bd675ca31af2f7ee0345ab0f2494de6f71e446176d1ee4f7cd5be1796a5c941c14b6b040b95b26895103af3529cf69f8ef50d70ebef4d83c2363a7547a4bffa1ae78bd97fdb2313c284703f5c13a8d31e24eac445731839ae81997ceda13bcffd6e0e823566e33b3749013036a5a6b3103c45b6e36e511f9cb42d890f6503ccb453af01fa2c59f6f0a5d520c03715ef6d56f0b4d9b8dd5b0401913d494482ec46a696739fd9fa3b00ac4090bab0351a80fec115744e2ab1abc156776b915a2534c07a1e8ccbcc3305454de30f97f03bda1f632df0bda67ec421aadc22ad1e7a78578beba73b07c49da796e7e68050000581f03fc4d2aefcb33aaf22ce9651880c46dcba85652a4b126bddef6bb85f6b4105475c1be5ee5e49db24a449e103bef656b8268baeb00581f0390105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb504f0c2e074ec69a0dfb2997ba6c7d2e1e0219030003819f748e2a4662f25abd3e927e02e88bd58131b6182e4a9f118de776123f2f130356fca699292f2b5bc5d1baaf8b937cfc42f9433158fdd8a6dad31937da712d8c03c6756df27500cd89431e1bf25359921062c67d56ff6cf11337ae9fddbcc4527b03a3670f896bf4500e46980e26ba592b2dbf7cf90c70b329c87eb9681ff7a285070388ff20b2beaf3a3c8c9766895a01062747e59e089f93171bdbd64694ea3fdfdf00581f0277ac79a187dfcfa8386a09ebde26997fbe6b6ebdfce47786a8b7be059c4358207d406616304de44c0829d0aa0bc7203b23b925d539ed4c219a9b8a49fb8a51e8038b71311d0ff3f812ba29c2838c89d00c11536ca9701746af1e7d5b6379dd9b1503053d20b918ef9f1b0f4cc91be6fd9ab8807f3d492c411a4e8caaf6645ada54f5037278260c2a899b27414afd79429c2efa082d5afdbe6adf92f68d4a72788a31260219ffff0389343d682d77c154849caedc824b2aabdf81f2442399f7890c7f9d88c62e37bf03d68420c09c8ce6a8944babef6d9dfa3e71c36f3f6d08f0a00a5e49dba37c569d0320bb6807cbdb9c7620b79445d166495f3e4eff51918fa85693f58a82107f2ede03bc568b0a7387bd512f9063155fa5994d9d8c9b1ac2210d6ed67a54d0806a495e0219ffff0360a77ac4300f874aa30ba9ef784dbff8ecb67bf96cdd74a26edcb3a7856ec77d034cafa8f60a5006688b2418c7e53069f4792f39ea9163a0ea0ab155569302f42203777d34f7f35ca61ad8e91ceda4a4af28d9f74a527ac128ebae58be41bf25244403932b9d32ef036a91e7ce296ed5970fe0967e2cefa327b23bf7cd47947e6c2ddd03a77f0b2448f7c46685754d92d4be80d3225a430cd0529136e914cbf059cae62600581f03480354468e6418271e5930bf7a3681c7e316a218e7dee4e4c2dbb791337058206b6e6f787069747400000000000000000000000000000000000000000000001000581e027d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b5124289410100581e027ddd36f6b00d65b48b5a45fc646a39790c8263678325e1091a8719fe794280610219101000581f032b6e2fb2b91124c797286ec04fbb8f3b890237ee39afcaf2454a4a6c79305441abbf3eb0aa47267d3fc271eedffc3f1e254c0c00581f03a70226483095444d314005dfe5b66570ff1fddfde5408fee748c7520c2305820456d70726573735261656f6e00000000000000000000000000000000000000180219a00303ef72ecc18f1e0bdd2a569c22ae3fabe2ec559f038f43cbbdaf35be10b44130fe03da484ebce824d9b364bcea126955378c9fbdf759029818b4644cc869683a2862034270d3e8d376406790c43f53a8c0d273bc544eb04a9f46f4a7ef04b7f2ab77500354fcbfb4a994069597127e16f2665a8697b3e728f0601afaaed35e6c89bfc57c03f66f8f136acc3ac9d49667c6f192707666767cdac5940fe0edffcd8d4308d35003109354256509c8f0ead6ca26267e493c4db467941a4c71c97cce953e9a317d66037c4126261c60d0c3b8af3437b8c7066e641d94470960debab76e109b015a539903e81036a536460d94846627e552adf51ac45d99da15cb17e73c99abeaa7103916034ccff680ca9318d85d2db3a236caffbf3259b782a847786efa6fc697d6d8ba77032c4ddbc4ae0500a2b22fb6fd8448c3a388992b944de0cd19cd5ade2bbfd4b562032fc8515a47a3519d57e7d94b4317dd459a154700c3d88da813009528b562ceb600581f02bb1e5997b8b89e1ba4b40513881c443144be3ac52948ea2374759b71b82a5424fefb120c4a6252fda787e1214bf5bc92e67d840219fffd03a35c50d738b883fbe0e0b05aebebfa6f3e266d7c96ce48d3e17122e049bf388a0375376dd61b00587037e7c9757f06553b8d9dd13d45936df6b6445e05adf74f32036e9c4b2a54a2477c300b4c29f0ccc9e94c6fac38d51a161fb271a88f5dbfef8b038866172ce22396f6ab1c467953b6f313af48097a5a0ced152667488f2be0814a039b94225b110d46251e31b41295085f7577f77d91d400f3e00356fb8a0de8b9d50326e836b8eb96d1865a4aca190be5c708980b9e71c591004a4c04344f262684920306e630ba13976cadd5e4cc86dd7578ea15486029f3e84400e031da182e55ee9b03039663dbe1ea4192a455b8a0669d63fbae715314ef800055387328d59cf21426030ce358261d9c7119f129f6b9a985aa206d1c3447e556dcb779bf0ac3a1a755f103b28f563e7b66fc81f7017e5cf53c2c3900b4bbd9cc148ab2b41bc33a19eb3891031c2f993167db09490ca4fd15e0784ec810a7233336d3f3845ed80a4934757d3f0370b45a7785ed6ba4d3759b2254c2e57ca96c0e2e445f677bbe9b376326667d1b0219ffff03051567f1544522f8a53a4d776616c29640c2ece6b5e81876059bdea37c237f4e03caecfc3751e72db141b840b234dd3ef82bc080240fc5f7a4d6870a5b5415c234032997e6c38a3b5bfb98048775e802a42e173fb9d57801f4c1bd57e5c3d001a3c9033b8afbe6c74d2a7a5b3cf5f549d27bd4d97e221adf25ffc8f7b1795ec89ac4d7032a97dba591bd1c0c70953a6430f08c3b836f9246080c373d01450493c2a7c11603970d3f1553f6b8394a2d011281a9efcef10f79114d96009129b21b93e4e926f2031d9dacf15fc380ed1624011778e3a3ab7a84528fa6b1f51544d4b48397bf4c710219ffff03de917c6bd50f4fbfb648088e6a28be59c51868507fbdc2db422d82eed76dfc2b0359e78fec1b656b372d4ecb4f01235cb373dc792e24ce4833dac009b88997b8a9032130cfd8b07f210a745630febe5cb67fd97f8cf8a579733416459ff83595de4103a0a15ea3f18359fb949ea6d905011657565dd1f44e4d6ac1967e0526cb1ace45033c109ecea8064fca0c8c74ee24da3a6a3698cfdc80322625a93e6cc7662806b7035c6879b8f2e6bb85dd9c9e81f0766d394088c2255cbad92dc28944ad1d0efc9a036e32115c44ebab22d4184fca2d0307470f663aabf793485df8c7e565b6f9f21b03d3cb08d8895f2fa2e5d2ffbfe76d82812d80f7763224feb5df488d603dbe2af303f171d167eb17048c6d0d386ad7e1262ebd408553f874efe643358db2a6ed4651036524d58f447bcc242b18a4cbe6ff75666d60252155f91a24bd4cd4e6e57ed1f0032e75cd6cb84becc8f400b3b0b6641cdd02eab26d64b9d2fa27382c612b4ad42c03d02d252b9b314d82dc505679d8a7700ac154c14b06919ece8ac31da41777dd9d03e399b77ff9ac78782f663a41ef62c3e1dc14ad280ec26c81d1de410f2b93691f038155d5695fce7e3ac710e0bfef5d88ccac50f81e2a9c2510ca75a5a2937404a50316ee2970cd8d22e0ef91cdda46980f82a98b2d91c91ab95dfff46dbf19aa2df103696cf900713fa4e008fa89c5244e8b754bdc8646aab8a76b329d4d3960ac182703026ec4dd4558ffdc700c471caf2235094f82f130e2b722bd1f9647fb346d526b0371e521fb37da8f58db239d7d27aabc32e6039a8b2495be1a949d91ca9c54d6b0038660425e21d37dbc7625c76052742c158506ce2772ab7850cf3a080530225f87039f446629be40cf3cbd2b960d0b7121ebfb8333821322dbfc9dad786c9ee6efac03c52889117d6c68f754b25e8a8688aabd5f32c4f76f0f1dcf3604e5e37924987000581f03d5009d245f3e94e900d9c5fbf832c632e17f67847853a93536bf3a4581205820de6300e37ec5d1c71f5815f5c721a7f9816aee21a8128ddb948b5be526d6592a00581f03a4f17bf7cbc2fb7b0c6611af324d45ad9c11b709da83f19839c2d7fab2a0421ea200581f03dd189fc561d6a71d8da05193e6ad59917670a542e0b12c64f2d02324d1a05485863c937b15102ea87e15f46967ea98ae38f54900581f032bfa3c96c2c6e61264cb150efd4d5e30dd0da2eecb84b6c5eab818052e70582026ae8298197355033c8d8ce5c1d74f6180ef5f8f911ff56cdf3f92f85ae4a10e021904a4032c9efff7ab8c2afc1577117cc57889d4a7766a73d3fbe891f26399409d3ab19f03bbc90e611a1fcbd02e00b53f05d48859c3212c97c161f8006c9f8813e9f58e4200581f02805caa9fa8b23b1575cd779863ac4a6ee8cfd0eafbb3f7a58fd4193c7265410103caa1e773982aba42610ea2ea7a68a9b197df218c77b3d8f67ce9cd8be7dff9e30219ffff0340e9d77222fdf48a9357a5c0523e812735be2eb7db01bf6c6adb3b254195968c037c6a3b7b32491f086cf3efcd94241abe62fd78ed4fa52913f8e03bf6d304920f03824c5b5c44e3366cc1184861437eefb322f622c73bff3051157abfa9936054e0039c50bb3a876d141d0b14760b336f56b05d03080ca15ff8fe92440c5a1759176f031dcbdf0467aab61301c1f18163a12543f6666b70d3400de3ca9e66b79d6e14bd03b08aabab5068e248e9f775f047116ecfcb9b2f9b8d1f63887b2085a94920675c039eb6b67355bdcbfe5af50bede65d489e539174844e1985d1750190201b9aaaa30219ffff03be998db6f0813bb51a1509ccc59ff135b1165397c2e75fc7b7a9e6b123059dc20300d285f2bb73809c3dce9dd8163ce867e670e7227d647fa91e9d118a3723eb2b035115d009b638b3413db41a6d55e3a70a0831e6956ed6cf85a37a47550710608d039e8c00b78318aeee25748e7d9f71aad302f804eab73281dfd6c00744f08d5bb203d4d22e3b8c0a54518ac7e579d58d6e5e0f0de1fa1fe4a74abcb66d926ce16a3403cc05a5b3dd99b5f1be483a274db8954d24a6ec83c48d882c3d59acde83e7660c031380cd28e3ef25fa7d0614d26434eab445459eeb917ec2e0eede6fae3651fd0103935af62187635c5b55f55e4cfef1c8b661b50fb3812664d84cf4c72f6462adef03838d7cdf751d3a671e563ad36f5d3c991b821498ca444194a0bc6bb38fb613b8039f6eb50f3d8d101526bde3aaa87db9bcdb49d46558ca4e8d9422a78359019f3403fbd11ec6325a1ed95ab44548ac52aac7ac27fe18c4b9ed5ae38eb29c0b5e0828038656b0f2a577685da343d7325f8afbafad6f621be7b1c4bc198ff0e35978f11f03c2a0d6bcfc7acc53815310e40d15f64419da66d8995de7e4edb8d871a69d18d30219ffff03baf24037cc33803a84f67fff459bdfee612d4507aed1dd7be3e6abd5a7e222e90219ffff05581d028b7f3d4863246bd89e7be31d27839f4c0da140ffa7013349506bef740701194352031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d023478d1588213b59ac471dcfd4d9c69526ab371b12393709909c65d8f07011bffffffffffffffff0219201005581e03ea028613ef5fc4b60145992f8b537ad871c4c9daf7294cf4b2e23154300c0246246139ca800003a45ab0966b279ba5885c7f6b48de951d22ea2db65f3b57d382dc633081b1876b03f5d2e2024b2b19b10bdc17b218b3649c5c2860cdfeb87ad81f9bcfecf4ce5121021919f3039467fa1bfd69f3ec961bf3535749e8684bd47636bf9e3463745755ca3b6fd115036fcc3486297633a956874db32b9d0c84ac7a8fea0bcb9f7443daced7f4b4dd5503429da76611cd06cab5b13f7c005f8601ce8a44c070fc0718e288a7dfb808922503c67e5d4570a1b2f2f2333ae61a7cb8c0c259f50c1ff36c956aac6983ce13d7be03a3565e9f6da0f81757272b38afaeadce4be589447a64c7fe1e79d7b556ddd4d803ef5d410a9fc92b619897458aae565fab9962b2ddaffc6f2d929b0cf552e2741a031e5d7c90d3d713df33b9dc6c3fb77d9a75a858bfa6c740bb23ae42b324bb906c034428b384a52703a85c5f920b01252349304dc5c513f5980115aafdfaebaf485b03045c6f1c3d1301d2b98472487699807edf17293b728d5f3700eb132027d972ea03fe8f6b2bcfa14a643b2dafd8fce6c8e28f844b40c7d8e94d9bec0f0f7b3e513103e3ca7cde022edb9c98463bd1266273dc213a9bfa89dd66b040ac15aa5ec1d7d203d74bf5527bf60c308a871c86c09ded489dbb5776039f60c4f57f6e6eb7c2157503464fa8f61e90982c48f18d307b096923580a71169df20d9e04de0343cff405d40219ffff03293a6e27e56b181cca7e8450a1d8ec468bbe0652beae61feac9d5afae51fc176039cc04b6411432b605a84687627dac3455b6905f98d00d90ab19f9e3386681f4c036426ed00fa11bd9e5a3e937c0e79a768745279fb62a9680ce6b906c316a4e6b30313e1bf78c5f890e4e1a350ab011e4a5f4318fac7a51304b387376fa6329d7fed039256348ef226d0b0d34c8049dc2379e6136afe7ec27ad1622f0bdc8a7697173703eade7165bffdc59df243ecdf754df5f14c595c4b3f1b8b2c0152004c44bfa0c103944ffa2837b8bcd484430cc2e7501aa06ab18526a193c2bb8ffc8adae90176c903cb0bef84b7e3d10b8f147518732308d24f0e34c7a5d2bde947bf5b0ab251e9fd0392a54b2e1fcf42c31cd2d747a8d1425e4a6458980a5cce85cda8ab0f4f4d57b70219ffff0343020c941e15c6e88ff24543ff9d0a489246a32ff2c8114fa1cc6eeb4a024c8703da9e52a25cc5739176b8d18d2af246d3a325bf2c1cfc1502f6b1fe08c4adadb203129be064a78d10660aa82fa01e8ad47ac502b35636940f93af704b2a51879e0503fd2e562af1835aba0ed37ae781d9492cfb966a0b7b3f06d1a609485c496881a90346b158f81c7101e9f80cf22633423ced843b61b0e20d2b1b4ecd9fe9b4054a7103eb31a4e23a86f07479a2ae5b4b4515df866af40fd2bfe2d085dcffaeb1f93a3f03a7725665d9bb162989294bbecbc3f4a2b27d5ce7e5b4290a5b9687a07d85e5f103fe172ed1fb4122a9beca1701ada7059784930597cbec02dcc95f40d5e5deb03c031bdb84472f8e62aa1872f372f973fd3bcf2fe439ec451fc52841172afd6d516f031224cd7e50fc4de88ee0b2cf7f0ab29b2be6e1949b0650395fee6f202a9bdd9703fc3cd7befbd8ccba465588052fb1e7261ea249e859528260502694640734575a0219ffff03f70b009f6853f64811e585003c46fdd93666ee1109c437899d8064d3a64c91f70398d073318a3c769f4665c47e1641ea65fc8605262375c18f14da0cfa446391e703d011647de32b304192e5282d033646ff4428d4a978c6838a08b69346a111fedd030de9e5fbb8aadfe2276eb515d0f5f5260edb78a6c429d9f0c1f88a325f18ff2603b4e3cca40e78c8a22290b4d3f0d42b73c155865c4af80158d45e6efbce7cfdfd030e62a26825d23ba3a71aa720a60a793eda2fa9dd97f92f1c8e0a76965fe648840351b041ca7ae0d58c94d4ad77db28aa9e48d1a43408cc72c146a0c0e40054218c03cdcfedb48803314276593f80ec06fae373b88fc3f646e7484035fbe796d6a5e40366c8de716da83fbd24868e9c86753048cec3bac312491c4003c570624cd2de5a039eddbc7f043b05c3498e5ff0ea5b54a41ab815066a038d1a055468077fdc2f3003eaf683aed4f3eea363f86958c3814658d22b615759aec599c31ca4a71808f61803de4ce9465774c39f6fdb98cc121fa91f66ce090ec3c7fa476dc2f63e965b077b03ac18c7b89d8e4641b1f8753ae0a36e913e086bfd36c9fcb502bb8376375a8bdc03a0fe491d35a69e8970643a265052934ba926cc1a852aa31b1a996fbad2e9a67003db92e3b23c0a24e00218221df705c5a4b73b24196a61711375ec7f411e5eaf340304c747c8dda4c89d82fcb49a5e0d766e8da1a6c53f7e35bdce44f1aa91dff52003709955162584ead0e3b3b0af08b0c3ed58cfc42d0da3f8838686f378fd946e45039954ce3f7b8390f34bcb568d64abdad05202f5f1a864096adee43db9ef7e1db303c4f2dd75034b63079567b61d2a1aea2981de2871ce5c302848a128d86a485d8303261cc4da0f19cc47b160ef7aafc4530f9deadb5c2d13f8660f55e0406e095a470399c36abd9d887128a4ca74f1d282f43a6d15ceefdc5cd1a996acca1210f68249037957c29c70b9fb5117cc9ada967cec6cb9806d2d1e4ba2bbeeb311b1729080a403378776adb764d57c81667e5d6a5a7121744be7d5752cb18d490267cf9dbfa229039eeafddf2455aa603e08549fe50c87864b1b6cebef6cdb1a108518d9b34bc586039dd0c3146ebc46a0fe6a38f57efd48bfa978a285022d0ec0240a6b53113a9adc0342f5258edf15737ca6754a9df676a92ffac3b42b7577fbc3b0c539f9f3569fbf05581e03cfc40af9e41f73f89e9f88d14c1bce0e9f5565219a1b77468f263553400c014713d2fafdd8c0000386f2bb5e27fb3a9815ffc5e0ad31d62e9684083c08a86678fbd3f04ca498fabc05581e03f43cdbbc7a0263e1bcb14f1bde845d61421673ec2bfa8388957a3ddd400c044674302c456e8005581d022bab877f20312867e60acb797ce0045867527a9dcdcbe4d48ff1223c0c18a1473b5b046db76e5003f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581d02526fc4a48954a52d0f6285eae0e8b51b24b23ccc9d50e2ffaddc2b7707011bffffffffffffffff0219024005581e03bde7caf9e4002833ae4392b02cb99fe5fd818ef53b151ebe39cc86d5c0040103197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e033708a76e54a2b6e94767bfd1d255e63d75adb52e059e84dfcbfd1ee37007011bffffffffffffffff05581e03d78412d6ecb613e2f1cf95ee1158cbac0eda1df0c13947fae2f0a15500040203400064b5f199cbdc03dc048d207374d00203cf5b4b73ecd297a4000f54bff8830399e0c86128b389193a216fd80a0a17b972bdf197587a5f755398858a82b610ce032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e030ee0a4f9825f57d459652039dad45f7665935b1bbd1331d0ac6a3aec2007011bffffffffffffffff038afef8a4527357b3b8d2d1f6a392504bb1fa2a22de48bc6a3b4dd349758ea55e03d52e5def4158335d85d3a740156827532914cad7c3ede920671016198f0074a305581e03eb278fd7e14314252ca7d8c5d9e5ccd4cf104287555c7dd5e57dfb119007011bffffffffffffffff034a5dff08e36f68b3e36efdf21d90df26d925356408ede34f262764a035a184ae05581e036fdef96d6e99059115d85b091d4b18fd6920ee6e270802d188e899bbe0040105581e03ad63630e4c2119e6a1e3416dcc62ee1c452bdda823d4be65afefd9a0d0040202197ffb03a3229b32f1ecf3b7b783dfa2ef41783dd64b00a3bd91f82f39687a4275ce60570346ed8bdfad951bf6e539c70a29d5707575d1e88dc52c76d839b1c2ddcf0da3fb03f1793789395b594f30dd35b68e05e4d72bcc01fcec98eaf818787238d554674a0309cd5dd816580e61ee36192732648a1728710b0a08f687e7d96eca571ee3ac7e03fbf6032b906cfb55e170359aef67938902fae72849004c0e492c05bd8788223b03a84f8136947fddb196a7ba3d93a06b0446989ac0151e45fb0533a877d2f6efba033939089549178193d698ab9020a520188199261d0d90f2be6f9a79fb29aa52f703ead996cf8b8378a025bd8cc5220343f292f9cf9eb264b5706467b374246ef1df0219ffff03a80051c2ee9b8c880617f07c69a32b5df64787985445b2d5434157b1599b1272038ff537fae34535987db0472d773748db11b247e088bc7f1fd27efdd4e159b83d03b3c89a94d828eb4258f696f09dff92fcc427739d48d5f936e19094d8218903d10303c44f576ba944ff85e5af5a048ec848cf91a2b3004cc8fde0fec19ff35c0b4b033c4564bdf5c49c2d9d3037e270688c800558846cd286328ae85d3f4e153abac80391273dcff86de871b07d54dd1438e9d8e565f408d1f9e309b8dff1c6b0d69bc70219ffff032e94b6d4835019ad7174a57c9141ec9790cc5059501c8ec510a4bcbb0b14a88103f23763bbbfc4ae27008a2216159a381009dd4fd9e4b2cd2e67637f89e96927670350ed19425225d48312cbdadca825238aca78e781839400a2b0c96b94e48f9253030f0c39ae72d1dae026a7957601115758082d127eaac5b57b00e0f5bd1e66bd9f03261e4eaaa2ed1793c3f722df2566c186c55d7911068086e4cb7b382e04fd9a6a0219ffff0305857a2d9b9a692df57846c6b3804dbe8da1768fcd9b41eb2c00c636bd58b34e03e56e247decdf01f275ccc7184c3e0ed8248db4bdf1db82089438dfd39869fbf6034f2d6859d31d7cd5a65cdfd1b9d28f8c9555720d7a4bfac3a06ab2f8517bbfb70219ffff03728adf3b6ef871b47ca95e4f986f8b84f69535b49290c8102158eef5dd0b7679030e6f87dcff8ecffe6b15f6cd38b9ec41062ab33a3040c51bfbcf373e6b6da3250384fcb8503da234c51e70abf17565f23e06034d27baf8d690da38556331a47e860329213eb1cd11355ea7ff5bdc45abcbb2f81e255775d31c4585e8dec9b6b817a203f497e51dbe2cf2c508e482ee2e16de45ad063f866757f371a302181b7f10eb100312b451a7f7d3e886172219ed749a7e39d5257a7396fb6afcdfe1931403d5a4f803f9128920d4a7f62e35b27fc87320973dafdf6416f66c8dcf3814db161ef6808b03522c4ffc7b52a182bcc0925c22c1cc27c0b8ebcc4615798bfea0ed3a8b47a18603773d22c6b1bf73abc170b80639d66430728d9d138a4996e812160819ca4e073403e2d15a3d3b961f5dba92e2a6c50046cc4ed4100018ac84abe08469df7152475d038f79e8d950940212052f541ae8871e4dbcb8708e9304dd09fa51fc75eaa1423a03ba4d97f3c63f60922566bda63771b8d7ced4b946386e2822655084cc5956136703ca0f2832688436c89516d52392abe410a7acb6384fb9337b89d6821107137e000387112aca1f0e9683ff3e5e5fd6b6e66c984b243bbe9dfa9bb37844136965ce2d03df94e7a26023e0e9dacba5a57e7d268aa52808b9452243401e448b6c8d2dd7cc03cfdd241ba3bbb6d31c99ce0f0f6102d16742577f5920456a86d76a5507694bb403e123d4832f65bcc5990cb38a6b148c93dc62eef3c6b5118ce61434769a0c8d5603e53f4e92a3fd069a9742cd2c2936e7a7d98ec2f04abed672b7840a8c6c3d574d03da07e558436cd1103c08b67dfcac676d7d8f51ad0f2fb1f62b9502dcd94e1f030303b3ed3d8a32467f8e36faa0b4fa6be928678bf0021982e35b2def7941b2cab2039ea0400eca8903db23544f8b5b424b21a67506ac77b2a1f76b31d6fc84d5509303c05b8c9f9f668e91e895861f48ba811f519fc9090a9777248e64291114d8470a034ff5829a41902ec84fa986a3331aa793093e7b6d181e3c86dd54529c70d97dd303dbdebd4356b73b3f8a9bd48f65de868cb98dfb22225707bf289b7a3f85260f9e032988f48340d8812c9c8b16135b97014d4a840e2fb6aa6a42f9c795b0bfea30ff05581e03212618179e5767851f3432efcf564fcd0405ad4c0930b4102c1fbec2e00c01471e6883e566220003359bde683de081e2083a77f3251b049145a3a119502566cdef5d6c86fccc0b3f05581e03c698d40eb3ed19e851449e7e70689c9ca59264341555c60b6a57fdc5300c034683f9a54b39d003bffd89d7c945423a18b6e8e213d68ad99cd54098c159cdececa6087ef71b8f4703c957bd1fbf2ffd0907854104bf36b9d8e65c90ac4c8bab4fc07df904cb15b39705581d022682d00a357a6073fd96ac1167808822867e9f3c93eceb49e6779cdb0c01470ce4352af4e33203f99af0b81dc988ac8cd1fca36090f280110777e0d6f9304383921260e7ac232703852179c171385ffc76ff608b2e384b168f999cb82f80c2ba801d8468e6b07a7005581d034415f53b72aa042856bbb65bcca1ed59cd5b566d2303607c928806b007011bffffffffffffffff045924946080604052600436106101b65760003560e01c806360f05c7a116100ec5780639a8a05921161008a578063cbed8b9c11610064578063cbed8b9c1461093a578063dd62ed3e146109d0578063f187892214610a0b578063f2fde38b14610a37576101b6565b80639a8a05921461089c578063a457c2d7146108c8578063a9059cbb14610901576101b6565b8063715018a6116100c6578063715018a6146107b757806373874336146107cc5780638da5cb5b1461087257806395d89b4114610887576101b6565b806360f05c7a146106d0578063706d8fff146106fe57806370a0823114610784576101b6565b80632e15238c1161015957806342d65a8d1161013357806342d65a8d146105ef5780635c975abb146106755780635e280f111461068a578063604269d1146106bb576101b6565b80632e15238c146104ad578063313ce5671461058b57806339509351146105b6576101b6565b8063095ea7b311610195578063095ea7b3146103c857806310ddb1371461041557806318160ddd1461044357806323b872dd1461046a576101b6565b80621d3567146101bb57806306fdde031461031057806307e0db171461039a575b600080fd5b3480156101c757600080fd5b5061030e600480360360808110156101de57600080fd5b61ffff8235169190810190604081016020820135600160201b81111561020357600080fd5b82018360208201111561021557600080fd5b803590602001918460018302840111600160201b8311171561023657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929567ffffffffffffffff853516959094909350604081019250602001359050600160201b81111561029a57600080fd5b8201836020820111156102ac57600080fd5b803590602001918460018302840111600160201b831117156102cd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a6a945050505050565b005b34801561031c57600080fd5b50610325610cf2565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561035f578181015183820152602001610347565b50505050905090810190601f16801561038c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103a657600080fd5b5061030e600480360360208110156103bd57600080fd5b503561ffff16610d88565b3480156103d457600080fd5b50610401600480360360408110156103eb57600080fd5b506001600160a01b038135169060200135610e6f565b604080519115158252519081900360200190f35b34801561042157600080fd5b5061030e6004803603602081101561043857600080fd5b503561ffff16610e8c565b34801561044f57600080fd5b50610458610f58565b60408051918252519081900360200190f35b34801561047657600080fd5b506104016004803603606081101561048d57600080fd5b506001600160a01b03813581169160208101359091169060400135610f5e565b61030e600480360360a08110156104c357600080fd5b61ffff8235169190810190604081016020820135600160201b8111156104e857600080fd5b8201836020820111156104fa57600080fd5b803590602001918460018302840111600160201b8311171561051b57600080fd5b919390928235926001600160a01b03602082013516929190606081019060400135600160201b81111561054d57600080fd5b82018360208201111561055f57600080fd5b803590602001918460018302840111600160201b8311171561058057600080fd5b509092509050610fe5565b34801561059757600080fd5b506105a0611308565b6040805160ff9092168252519081900360200190f35b3480156105c257600080fd5b50610401600480360360408110156105d957600080fd5b506001600160a01b038135169060200135611311565b3480156105fb57600080fd5b5061030e6004803603604081101561061257600080fd5b61ffff8235169190810190604081016020820135600160201b81111561063757600080fd5b82018360208201111561064957600080fd5b803590602001918460018302840111600160201b8311171561066a57600080fd5b50909250905061135f565b34801561068157600080fd5b5061040161147d565b34801561069657600080fd5b5061069f611486565b604080516001600160a01b039092168252519081900360200190f35b3480156106c757600080fd5b506104016114aa565b3480156106dc57600080fd5b50610325600480360360208110156106f357600080fd5b503561ffff166114b8565b34801561070a57600080fd5b5061030e6004803603604081101561072157600080fd5b61ffff8235169190810190604081016020820135600160201b81111561074657600080fd5b82018360208201111561075857600080fd5b803590602001918460018302840111600160201b8311171561077957600080fd5b509092509050611553565b34801561079057600080fd5b50610458600480360360208110156107a757600080fd5b50356001600160a01b03166115d9565b3480156107c357600080fd5b5061030e6115f4565b3480156107d857600080fd5b50610859600480360360608110156107ef57600080fd5b61ffff823516916020810135151591810190606081016040820135600160201b81111561081b57600080fd5b82018360208201111561082d57600080fd5b803590602001918460018302840111600160201b8311171561084e57600080fd5b509092509050611658565b6040805192835260208301919091528051918290030190f35b34801561087e57600080fd5b5061069f6117c7565b34801561089357600080fd5b506103256117db565b3480156108a857600080fd5b506108b161183c565b6040805161ffff9092168252519081900360200190f35b3480156108d457600080fd5b50610401600480360360408110156108eb57600080fd5b506001600160a01b0381351690602001356118c8565b34801561090d57600080fd5b506104016004803603604081101561092457600080fd5b506001600160a01b038135169060200135611930565b34801561094657600080fd5b5061030e6004803603608081101561095d57600080fd5b61ffff823581169260208101359091169160408201359190810190608081016060820135600160201b81111561099257600080fd5b8201836020820111156109a457600080fd5b803590602001918460018302840111600160201b831117156109c557600080fd5b509092509050611944565b3480156109dc57600080fd5b50610458600480360360408110156109f357600080fd5b506001600160a01b0381358116916020013516611a77565b348015610a1757600080fd5b5061030e60048036036020811015610a2e57600080fd5b50351515611aa2565b348015610a4357600080fd5b5061030e60048036036020811015610a5a57600080fd5b50356001600160a01b0316611b4b565b336001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6751614610a9f57600080fd5b61ffff8416600090815260066020526040902054835160026000196101006001851615020190921691909104148015610b605750600660008561ffff1661ffff1681526020019081526020016000206040518082805460018160011615610100020316600290048015610b495780601f10610b27576101008083540402835291820191610b49565b820191906000526020600020905b815481529060010190602001808311610b35575b505091505060405180910390208380519060200120145b610b9b5760405162461bcd60e51b81526004018080602001828103825260248152602001806122af6024913960400191505060405180910390fd5b600080828060200190516040811015610bb357600080fd5b8101908080516040519392919084600160201b821115610bd257600080fd5b908301906020820185811115610be757600080fd5b8251600160201b811182820188101715610c0057600080fd5b82525081516020918201929091019080838360005b83811015610c2d578181015183820152602001610c15565b50505050905090810190601f168015610c5a5780820380516001836020036101000a031916815260200191505b5060405260200151601484015160075494965090945092610100900460ff16159150610c92905057610c8d308284611cba565b610c9c565b610c9c8183611e15565b6040805161ffff8916815267ffffffffffffffff8716602082015280820184905290517f831bc68226f8d1f734ffcca73602efc4eca13711402ba1d2cc05ee17bb54f6319181900360600190a150505050505050565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d7e5780601f10610d5357610100808354040283529160200191610d7e565b820191906000526020600020905b815481529060010190602001808311610d6157829003601f168201915b5050505050905090565b610d90611f05565b6001600160a01b0316610da16117c7565b6001600160a01b031614610dea576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b03166307e0db17826040518263ffffffff1660e01b8152600401808261ffff168152602001915050600060405180830381600087803b158015610e5457600080fd5b505af1158015610e68573d6000803e3d6000fd5b5050505050565b6000610e83610e7c611f05565b8484611f09565b50600192915050565b610e94611f05565b6001600160a01b0316610ea56117c7565b6001600160a01b031614610eee576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b03166310ddb137826040518263ffffffff1660e01b8152600401808261ffff168152602001915050600060405180830381600087803b158015610e5457600080fd5b60025490565b6000610f6b848484611cba565b610fdb84610f77611f05565b610fd685604051806060016040528060288152602001612363602891396001600160a01b038a16600090815260016020526040812090610fb5611f05565b6001600160a01b031681526020810191909152604001600020549190611ff5565b611f09565b5060019392505050565b60075460ff16156110275760405162461bcd60e51b81526004018080602001828103825260258152602001806123cc6025913960400191505060405180910390fd5b600754610100900460ff161561104757611042333086611cba565b611051565b611051338561208c565b600086868660405160200180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405160208183030381529060405290507f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b031663c5803100348a600660008d61ffff1661ffff16815260200190815260200160002085338a8a8a6040518963ffffffff1660e01b8152600401808861ffff1681526020018060200180602001876001600160a01b03168152602001866001600160a01b031681526020018060200184810384528a8181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505084810383528951815289516020918201918b019080838360005b838110156111f65781810151838201526020016111de565b50505050905090810190601f1680156112235780820380516001836020036101000a031916815260200191505b508481038252858152602001868680828437600081840152601f19601f8201169050808301925050509a50505050505050505050506000604051808303818588803b15801561127157600080fd5b505af1158015611285573d6000803e3d6000fd5b50505050507f664e26797cde1146ddfcb9a5d3f4de61179f9c11b2698599bb09e686f442172b88888888604051808561ffff168152602001806020018381526020018281038252858582818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050505050565b60055460ff1690565b6000610e8361131e611f05565b84610fd6856001600061132f611f05565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611c59565b611367611f05565b6001600160a01b03166113786117c7565b6001600160a01b0316146113c1576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b604080516342d65a8d60e01b815261ffff85166004820190815260248201928352604482018490526001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd67516926342d65a8d92879287928792606401848480828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b15801561146057600080fd5b505af1158015611474573d6000803e3d6000fd5b50505050505050565b60075460ff1681565b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd67581565b600754610100900460ff1681565b60066020908152600091825260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452909183018282801561154b5780601f106115205761010080835404028352916020019161154b565b820191906000526020600020905b81548152906001019060200180831161152e57829003601f168201915b505050505081565b61155b611f05565b6001600160a01b031661156c6117c7565b6001600160a01b0316146115b5576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b61ffff831660009081526006602052604090206115d39083836121ea565b50505050565b6001600160a01b031660009081526020819052604090205490565b6115fc611f05565b6001600160a01b031661160d6117c7565b6001600160a01b031614611656576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b565b6000807f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b03166340a7bb108730604051806020016040528060008152508989896040518763ffffffff1660e01b8152600401808761ffff168152602001866001600160a01b0316815260200180602001851515815260200180602001838103835287818151815260200191508051906020019080838360005b838110156117105781810151838201526020016116f8565b50505050905090810190601f16801561173d5780820380516001836020036101000a031916815260200191505b508381038252848152602001858580828437600081840152601f19601f82011690508083019250505098505050505050505050604080518083038186803b15801561178757600080fd5b505afa15801561179b573d6000803e3d6000fd5b505050506040513d60408110156117b157600080fd5b5080516020909101519097909650945050505050565b60055461010090046001600160a01b031690565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d7e5780601f10610d5357610100808354040283529160200191610d7e565b60007f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b0316633408e4706040518163ffffffff1660e01b815260040160206040518083038186803b15801561189757600080fd5b505afa1580156118ab573d6000803e3d6000fd5b505050506040513d60208110156118c157600080fd5b5051905090565b6000610e836118d5611f05565b84610fd68560405180606001604052806025815260200161243a60259139600160006118ff611f05565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611ff5565b6000610e8361193d611f05565b8484611cba565b61194c611f05565b6001600160a01b031661195d6117c7565b6001600160a01b0316146119a6576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b031663cbed8b9c86868686866040518663ffffffff1660e01b8152600401808661ffff1681526020018561ffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015611a5857600080fd5b505af1158015611a6c573d6000803e3d6000fd5b505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b611aaa611f05565b6001600160a01b0316611abb6117c7565b6001600160a01b031614611b04576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b6007805482151560ff19909116811790915560408051918252517f0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd29181900360200190a150565b611b53611f05565b6001600160a01b0316611b646117c7565b6001600160a01b031614611bad576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b6001600160a01b038116611bf25760405162461bcd60e51b81526004018080602001828103825260268152602001806122f56026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082820183811015611cb3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038316611cff5760405162461bcd60e51b81526004018080602001828103825260258152602001806123f16025913960400191505060405180910390fd5b6001600160a01b038216611d445760405162461bcd60e51b815260040180806020018281038252602381526020018061228c6023913960400191505060405180910390fd5b611d4f838383612188565b611d8c8160405180606001604052806026815260200161233d602691396001600160a01b0386166000908152602081905260409020549190611ff5565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611dbb9082611c59565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b038216611e70576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611e7c60008383612188565b600254611e899082611c59565b6002556001600160a01b038216600090815260208190526040902054611eaf9082611c59565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3390565b6001600160a01b038316611f4e5760405162461bcd60e51b81526004018080602001828103825260248152602001806124166024913960400191505060405180910390fd5b6001600160a01b038216611f935760405162461bcd60e51b815260040180806020018281038252602281526020018061231b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600081848411156120845760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612049578181015183820152602001612031565b50505050905090810190601f1680156120765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0382166120d15760405162461bcd60e51b81526004018080602001828103825260218152602001806123ab6021913960400191505060405180910390fd5b6120dd82600083612188565b61211a816040518060600160405280602281526020016122d3602291396001600160a01b0385166000908152602081905260409020549190611ff5565b6001600160a01b038316600090815260208190526040902055600254612140908261218d565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b505050565b6000828211156121e4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826122205760008555612266565b82601f106122395782800160ff19823516178555612266565b82800160010185558215612266579182015b8281111561226657823582559160200191906001019061224b565b50612272929150612276565b5090565b5b80821115612272576000815560010161227756fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f46543a20696e76616c696420736f757263652073656e64696e6720636f6e747261637445524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a206275726e2066726f6d20746865207a65726f20616464726573734f46543a2073656e64546f6b656e7328292069732063757272656e746c792070617573656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220509d27a33b1ccd8dd921bcc7a92729316f3003f949c729e2ab4e10e8351279f364736f6c6343000706003303d3fd5bc0dba983b2e73d044553cbb13d227874e5665c90745cce41ccea5b308e036ffc59255bd4ef02489e3345dd0ef02dc69a91e0f700d11e0f8ae7b8d8d0d80e032d5f130a2630e7ad1b119146123e7735908b3d92d5c5723df7c35ee8e253e2f1033b51750360763c6a64f1143525489d7683b90301012d48efd0dd286f40af9fff033fcf1431bc9edea27c146dafb58041abe563bc1d2bf27a5e4f7973a78084414e03d08a0e8e071ca102917fb0371c4624c63a7f2305e5f7855b2f4282a68fbb39d703d000b753ab81f8ce158afca8947c430b1006612cd94f11d316b2a5cbc1b2ba3403c114e9117c6abe782d56bd9cd2ff2e735220ea9a55917d59804a8d1bb1b9691c032a4316eb357bec48175f683886dc8b6ae960e47c2dd0f4d924c093726c3d47f1035d82f6197fa02698a39b8603b034f642887a1790235af57ba7133fa8b9abad3500581f0335979a3fbb9816eb35e142fbf8a05f7623404db186d1c262e451883c41f04a0cecb0ac310ab9a0000000581f03785a94b5587b7916d312f5747f2eb4af4986464af40985c88831f9fbb38048016345785d8a000000581f0346a573ec2869437b5304fdc519c99b045d23dd17eb5481d4699995b46b60490576dc43564848f05200581f0358bb796b256b229430c12954ab737b81805b43a7a545f72af3d6262d1a005820ffffffffffffffffffffffffffffffffffffffffffffff71f5e89c684ee34af00219190800581f02cd799f9b09754bbc43f5f7488c8fdf3138c52ed91559c7d0898bf684b6d0480de27d72f9c740000369404d05db4ece78a89c5651464d9508bf59967ff07b94748d77823a0172a10103294adc6b6842042106a2672fbb1b79d953dd22354f8462c69825a8f59de5d1200394c28c2b5033755e9d78a3b0c02a2b1f49bc0a61b4e3f41af36bc141fefe5f7303670de5cec925263a37d08b18394b6d316c39bd78d86565b759fc6c773fb4cce90358a4a18e20d197095fcb985e0a6337b9b49a896dd1db5fb32f6ed5fd4b7a124a03aa53f2dd2d1da19fa26be1ac2b227b731e7623d9c2b760a465fbec0dd42124b603c980c774b4a8752e9bb63dc6a382d8c7c282b0ab94a05bce27c5404089b0ebad032d3b37efb5e1f9eb1ef6cab9218f2f37d93e76368dfc577c7fca9ea12135e80300581f02910e9b11aa05e95923e1d4503746a697bde4945d0d600d8ee30530f38032484e24ad35d4aa85bd0219f7fc038dfffaf043a3a00192d838e78b6da0a100048d4d6a4a64793899c720402f594703b13df0017af6177d49add5aea8f2df44d5996b20481a57487f7f7c87d2882c6b037ee8aed3125d5ae08b9c67077901040c3a88cd04afa64efa542bd08d8828385703ac9b86876293b9bb5fd0168fd8d0723b5529b5b7b247bca5be164848df0fd6ac03296659ee7ba436cf22ef5993623d5c646f2b751aafc45147ae76a3709ba81b4f03e808e962dcdfedea691ebe3da163010fadc01753f54beb136a49ce696f97d1cb0389a3e5acf7b506877130a10fea3178b97a690ca0e89ee84c8f7f209f8f359e9903aa98ff58e1f701c0799fcb63c25311bddcbf388163f9ab02d17722d2901aedb6030d9b5a6fb0fb04af4ce06371160822adc1bc8d517b0878a2e6dc724a722c274003d961a4f0851351ba964cb8e2081fc4c6edc858e5c0eb4b790dcde34659d62bfa03734858b071bcbcfb02a288de62a1c0ea11015300ab57e7c1cd38cc9fd8a41ae00219ffff03d1106d0ba2c02aae6b0b79da8d27e12d026e77cba381c6741aa9a7f4b1a84bbf03083a3a8cfa7e58ee8f6adae497e4d80ec05f75588fb73feef70dae1f75abc265035e152a8c592e2d04db304fef34b837ef2338cb9567f113138caa90e36a3310ab03d25bc22ea0eb6166154780516f1291ce8de54850576aa18ae8f844ef56e1f0c303fda26aa26317bbf2d9e1cf232a4ccb33212e17c8a65a5543d8eadb993e5abbd103245809b59f585ce9c2a23077d9c84967b7fa9421a5aae399d772d6ec248d5617031c90d205fb760635d80fa0dab78954dfb84f5e0461aa3334e544d8525fdc8699034a8f2b6a409660a72ef2eb3c2d97f3051c2fa284272ba3e62a308de29546495203f29e22e37e59957a8ff9facbe287c7441eaf0da41d043cf4254ca7c1debee542036228530a903e1e23c3fc75627073843d49a67da49f935fda8b6e49466ef36063034ae46e435c39a88cccda1ba9d8050604e4ad41f916e3798a78e041ea6464c0bf0356a4d6c25e40e6aee07f056bf82fbc6ba1b9a9c2919d3df8b322b66f86525f6f03c3b3b3e4e825bc4dccec09c521c898a8925cfecd344fdb8365193097c284ccb50219ffff035ed331a7f0b974e824a6cdcafa864896c6ea7f121d11ea077af44e712388dff103876f90747d9c3516befa8b49d913432463f7853247e8fffd4da9816449b43135031a253317f3fde2f3a69bf84cb99fa6b3df7296bdd3e20254226cba61b451c1360373fe75a7284e4332c0f000586be99a7123f5704e1df14240840fb04720b372520326e4caf93ff059b4154a7ead82e066dbf44341e000ca33ea59804669d4c19d5c034e0386e2b1fb6fdfc5027eafeab68de21826657521123bff9df995297e8dfb4103e2e76b2f5a69e5d6a6a6ff50a8ae504a310df546f3dfcc2e4e1c9f240aa309a00389271890898f86154f135732c9f557c4e47b23f5f197ec34fdbd2a134e9531aa03a84a26b01c5095cb7e0359deb849245e3a0bfaf06843f1d0a5b280d212b106dc03c01c2a1c3ec93325ffe20e6e060dcf74e479f6ddc888db91e58fc42677bbb1380336ac97009c5c1d82b5f4b3561aa33584dcd5cbf3487aa60395c21ca22cbb841a0313f2a44d179d4ef5af4c53fa96297c90824a5b019dfaf5f316c2948d802eb475037f74d944e7144ac120367564fc10aa2897a3ba565aafa36100b15a1ebff8b7fc034b7f92b4f708a9a32c891e84be62131299fbdf8359f132e123f78f53fe7761f8038ef181fb563b65581674cb5c50a4e7c6aa48d724f368ba3bdaca55b7defd08f503b6dd8d050ca28c70900ce8683bf166b2c891b35a7f3e9f5812eea74cfdba15c600581f03705c6457841e264aa1c1f478d51df2757f4c0b357f7e9f9230917e8dc0005820fffffffffffffffffffffffffffffffffffffffffffffffc4a2fef84b401adf700581f0337e7cf11d15800dd54e41ced6a6d396b7644b1643bcd924f5ebac745a4b04a4044892ba9bbfce3f7c802192004031f677a1036c9c09f55d173e5732d932d50cb0836134b440d30f2a2af75b2834f00581f02c9ed803052e06b673ea7819e0daddabad1ca16ff4e87f88537c7421df41a491a589ad90fc7d800000359d93a0efa3c86d095fc5a2baf5fe3701db6e30f5a732f8f30239f0b471a582e03d7a13515b8eb0c52621954b9044941f9f579e1097b8e8b5aa72b3d00ace1ae7b0341d3d2a1d2c2bc8aedc43aee4da060bb9d9a50049e180664d5cf8394028d3dab0219fdd703b8b52afe9aca0c343cffaa069cc275c60285c25a82bdff53542a1f08f037611b035c635758155c3a7e9b97f5022e0e5d0a61d58843b7ca42e7173d5a6673d39c5f0385e85ac69e6dfc9080831ed2047e4845bc819f640188e8a36ad376149f40922f03c6236764fbeba9d74f2ad3480bda16f7d09c20779bf5b54d71b82f668b903e3e037d1e1486b2a311bd24fbac538b81812dd9e1062f86b03f756e3d0d09b7a017fb03f32d92dd411976ec92290c63595c2692be94e2bdb3a720cf111b1f5bf6662a7803346a189bd8516e885e9da56a39cdb96c00c16ca1bf17d0f263722f3c6a9ec8bc03d99e50894a0f89d9c17a8ca004e4594458d10714d9c254f331dc9e8f937e1fec03cb4b494d9ad1dd6222dd7c1a7887d4e1b3297102883cdccd22b587b1d3e55fed0339458b4a0b3fc7b10b712dbbd600c9d2eacbb4e666f140dde23614648436caef03f432477fa6740dc36754be6aacd9917c7464ca886f4cd39be651eb0b0347a0bb0219ffff038e7c40a45cf3eb806ac8c0ea8e23a8241562854538b1ba48bdd63f395ce4106403b3484fae88ac5a9374bae0cb1832f8983a19db4a693e228a0f94e16963734576036e604e2ef1f4869b54c1dd7030b91777fa4f44a9d1d52958a519c556a343b1540369da3c5f00677baf772c07db235b5ea64059bc42c5be7b41ce7b3cc5d7a04245032e3445a0175b55e03f6673dc1a93c7e95b9800670ce2de6c4ece8284005f0b9f03dc4086a6e5a997cea84aeca7a2905d7be06dca5a6be1e5c85408b2c33527ea730363eeca1a1221cbb982f1ba559593432d725d2efd9042546bfa7c4918df347d5c0374ad5163b39cbbb254b7f2e3ab0ed17c6a4311bee55a2aa467f253bdcbc9c8080363e947e2ee32dc318c7718273a713a57a0da132fb7e55c07ba07eabd624adf1303faae2e39efdcb66efa762eb01d2a23cbf87d733549417e1f8bf4e6f0d8a9d9f50219ffff03f778cdb9018756ebfd2cca9a9dee17074cc9c8dfdf8a7d72caea705a1c4cf6dd03150555d90a022947faa8565e5559e9241c5362f3068f081e5dccb67d0b7693390385051cb45c5b8e0561ec5f10c950809b64dd51790281249e2eb016fc5ee77849034dd12560a165e47d1e923da98c436e0f983235bdb1c3d04bb8d58a330726a53f030d3961a39eb8d7c92b904526617445790b841062fc874a3a932eba36db1ecf8e03dae9a057a51b1d7eaec73188465dc87e2f61035b7a834a93fccecf2b8d1c2fa3037041e83bd156d3955e5dec90ba6fb754fcfa0e5de063d24025f4bed94691361c0379f38e5848204fce77c535785a81b316bc2c7b49c9bf0c3a59a910e110ef85dd03967c0a4e6d5db5fce8ff2789957d3d6ad40fed0a709804d537473b0d62c68b29034292368482729835c3940b8c89633a99aa52b6262e45afbe69cfa48044734699035ef840195c435a7dce7af89b7c86d89a8b8d93c7bd5e9ea25acf539720a8c14b038ea96ee2934a49e79900b6eef87cf30583799ca5af02cf0a4d6db965a6ba25660219ffff05581d032b17dad838838d75842af45ed40afe9b8b0383f9554d66a45882aca007011924940219400405581d024a62d83c8026bb45e73a3c1e1878ba73608b86202988d537fa13a150040202190481031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03145ed687632b81b2ec03c29cdf4c66c2f6585d2852cfbbab9615786ff007011bffffffffffffffff05581e03ec57318e3b6f451ab2d5ff2c1321921ad513acd130d3f2e0ae6497dbe00c188a477ad85f640dac4905581e03f369b885f3f675590b5588155ddc1962dc6afc501bdf8f4327ed9213e00c0146827c71fd96000219bce803e1ac3269aed1f82c381efee973bf9715d6e8270531e1c98bab1b67b5e6d473ef03ec90679a739a1fa62b29b88e46c7c2bfa42d015946bf74f383a32cb56ce2b1c0039e98d6c35a2177ceb712e7d84615c1c6df80dc2b635856a1227a1818acf8c8b90345fbe31fff441ca99148e841a357806722620e2692bef2b6e6bf80507596622603236714ba2b4e0289e8d859964db53090b855889a6ac6ff6c09e7f44667f3122e03bc6c9b939316c85d11a3445b416850fea00f93a0cf90c03cd3815a15d45d56f2030d7abc7f3568e48efb673a6f23f81ae5bf3b57fe1ac34d064d1ae70a34c7027803ec2ca1cb99d14c09e0c726412a960f249822b07eac027e5f4190007a6ff1ab0303e1c9aee843e1e000519177a8b521a0f137750045455277879fa1c9cbb005c88403ec7d8ad5250baed78ac217918bc82c5b7c659117d9c6b9d28150c5ab24c307df038c0f13eaeca9dae29085999cec7068d3b0601f4770773a899b25b702c20a7143031f40cf1426ad3aa094cdcabd9a6e9f479cb2da2f9743b907abedafa7d7982187033f4b605dee7fe8bc1784a2b5a5b5a35acd4975cd4864055d554db79557058be503b7831a38fc6d327ba9cfc33d34abe1f26e1f580f58d2f49b38e310639ccadb8e030cef62741d4b440033901d2e3ab4d80a51cebb9af3aeb2f54bdeefd15932c7bf0219ffff03e670c04e2f9ebbf9c9ed443894a79640c9952e91b9f3542f4ec45e1225ec163103dbaf643c363398f8c762df751d7c0d432371f1100c14efdbb2c5778fc9ab39b10392866ca6d9f6ab30aed8da1080b90a4a01cb7a17833207d7d0863a67d965446803977088d5f786abb8869c78d7838fc6618c315ba2b2eb84fedbc5b1ae7a6d46e10338bb3fa69bb7e4dee8e1993717440d412a7f8bcb7e88926f100fc5ffc23a9b6b03d0e363090b43b4ed0c332d0a1075106592f1494307d9efeb80a90071ffa6978c03a5a2abf14baff6231437d91861c22ecd030dd0c651046c11968d658e09c4d270033204f9abd949173bde4e220f19613cb00510abb70d623163a3ceb662dfa8d39a039546b5d9582faf87e7e5826c849ac5d1e990cf4c101f6e80f730d4c54975ff1c032e5d890c8b5c0410ec7bef14346bcc915674a22868a10002f3d5c05d8812ab3e0219ffff03b57001a1a3a33d1c3af8abcca936395afe34b3b35607c4d71831bc7122e4bdcb031c6b1067f5ee2153b0465deac1eb89947362adfd567369968c043971a2cdbd9103511e0bf0fb781e9fb9f4a968ecc59c44558ee62b698631bd8265bbd36aac025d0219ffff03ae9bba4bcf18cc78cd885bd0b6c5ac3d5176cd6dea282619b127010f2dc61f8903d8360a7a8b55533424a2855625a49e4b7d45534fdbe30790da49ef117502a44003a2fc04af4861623bc9e0ea526ea62d8f7c2c0d20baa23e913fdca7f2e2f3cd9903ae8949022d46f72b67f8c22ccd46d8dec6a5617a2f13d91382fd594572138ead032d7fc0557e83745b2fa19bf2896f7eea0289ec4d214eb299309131b4fa64b83f03fd6b7df029fc17af25dbfc9868089a6c7b408c97cc3abd53195d40b571c4bee50359b61fcb5c5d203eea65dd9378c907e7f4d9aedff50b31864ad5b4576e6ba8ef03e31be07efdda549c7c3d241b842aba6296aff94ee2fb59eb9c90b0e2a32e499103d643169ab6caf8609ce09645a39c0e17ee86d59154355b993ce20683446e39b10362e9f43a11dca34d78f88c1eedc5a19952a4b63f28fd6bb0f79d39afafaab1f803af36d56205294a2c6130bd49a6e0357aeecfa01a082bf321acee0dd419b15cb20378b88460b79120d5b4491599cabe8eecbdea20d13747650146a07bbcab0697f90392d20030b0df8c1328e3473d4a403bd7a024fa78459311b3d46f21308ba0d1a7035f5981ac3f5f47c2f92f5377833a563149c235585814c06b8fcc323051f80a96032bd770dad142e7b58199e4f77f912a4b4d01d61bd57a3e621e9cfb1e5292ccf3030afc3f3f798c0f04379e5c92bc1dd857ffbd7c1e9dde548fb16dc26df051af8d0318dfacfcc68a7b928d77698ab592ad690ae2fd448f66d269e248c23c12db11ea0358906892b8212d612d9e8d23eeb250620a283c2750852b56f6e9a8ddcf65cc6d032969fa9decee6fb21d87d1482522338b3cd05ecd7189aa9565960cc653672c9e038fae59f4d7b6c983b769bfb878172ab599face06f9e7fde39aa8460467ebe3de03de49a1bdcb5bdfbf43043f2fcaa26a1a364722f0173040239ef9072ec7323a2e034d5c97eb522a8ff6446d5cb78ec0758c7a5aa1ae63c51c42ad0bccabdea2077503a2a24fe9cd6bccf66a947fb4e2419b17f3efea4c722ea17013ac16a5f7102efe033e645d657a41a2ba93aa150b15d8c93d64a570983cced4d55787a4e60b34474403b1cba58f43ce429c88dc3f1b909e77e068ff8427f301f941eddb12ae8ae5545803c87dd675d4801d5dbcf85227f42804bebf53286c030fdc5b187d3aad5a373615032c3b2bea03d8f04c5c4a4dd2e5554d6567aa13531f3e1a7c005fd4a77cf7c38503ded39ae221451eccad913a000607df77df046863368e6dbc44993d08b054fc970388ac8e65172d49c966c25f0c9355a9789bf4c1f7b762ce3d14d4d2d51b1d84ae04591b7160806040526004361061013f575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb14610382578063bf474bed146103a1578063c9567bf9146103b6578063d34628cc146103ca578063dd62ed3e146103e9578063ec1f3f631461042d575f80fd5b8063715018a6146102dd578063751039fc146102f15780637d1db4a5146103055780638da5cb5b1461031a5780638f9a55c01461034057806395d89b4114610355575f80fd5b806323b872dd1161010457806323b872dd14610205578063313ce5671461022457806331c2d8471461023f5780633bbac5791461025e57806351bc3c851461029557806370a08231146102a9575f80fd5b806306fdde031461014a578063095ea7b3146101895780630faee56f146101b8578063109daa99146101db57806318160ddd146101f1575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50604080518082019091526005815264486f70707960d81b60208201525b6040516101809190611666565b60405180910390f35b348015610194575f80fd5b506101a86101a33660046116d9565b61044c565b6040519015158152602001610180565b3480156101c3575f80fd5b506101cd60125481565b604051908152602001610180565b3480156101e6575f80fd5b506101ef610462565b005b3480156101fc575f80fd5b506101cd6104d0565b348015610210575f80fd5b506101a861021f366004611703565b6104f1565b34801561022f575f80fd5b5060405160098152602001610180565b34801561024a575f80fd5b506101ef610259366004611755565b610558565b348015610269575f80fd5b506101a8610278366004611815565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102a0575f80fd5b506101ef6105df565b3480156102b4575f80fd5b506101cd6102c3366004611815565b6001600160a01b03165f9081526001602052604090205490565b3480156102e8575f80fd5b506101ef61062c565b3480156102fc575f80fd5b506101ef61069d565b348015610310575f80fd5b506101cd600f5481565b348015610325575f80fd5b505f546040516001600160a01b039091168152602001610180565b34801561034b575f80fd5b506101cd60105481565b348015610360575f80fd5b50604080518082019091526005815264484f50505960d81b6020820152610173565b34801561038d575f80fd5b506101a861039c3660046116d9565b61074c565b3480156103ac575f80fd5b506101cd60115481565b3480156103c1575f80fd5b506101ef610758565b3480156103d5575f80fd5b506101ef6103e4366004611755565b610b02565b3480156103f4575f80fd5b506101cd610403366004611830565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610438575f80fd5b506101ef610447366004611867565b610b86565b5f610458338484610bcb565b5060015b92915050565b5f546001600160a01b031633146104945760405162461bcd60e51b815260040161048b9061187e565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104dd6009600a6119a7565b6104ec906461f313f8806119b5565b905090565b5f6104fd848484610cee565b61054e843361054985604051806060016040528060288152602001611b14602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112e2565b610bcb565b5060019392505050565b5f546001600160a01b031633146105815760405162461bcd60e51b815260040161048b9061187e565b5f5b81518110156105db575f60045f8484815181106105a2576105a26119cc565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610583565b5050565b6005546001600160a01b0316336001600160a01b0316146105fe575f80fd5b305f90815260016020526040902054801561061c5761061c8161131a565b4780156105db576105db8161148a565b5f546001600160a01b031633146106555760405162461bcd60e51b815260040161048b9061187e565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106c65760405162461bcd60e51b815260040161048b9061187e565b6106d26009600a6119a7565b6106e1906461f313f8806119b5565b600f556106f06009600a6119a7565b6106ff906461f313f8806119b5565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61072f6009600a6119a7565b61073e906461f313f8806119b5565b6040519081526020016104c6565b5f610458338484610cee565b5f546001600160a01b031633146107815760405162461bcd60e51b815260040161048b9061187e565b601454600160a01b900460ff16156107db5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161048b565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108259030906108166009600a6119a7565b610549906461f313f8806119b5565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610875573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089991906119e0565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091c91906119e0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610966573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098a91906119e0565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109d1816001600160a01b03165f9081526001602052604090205490565b5f806109e45f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a4a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a6f91906119fb565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ac4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ae89190611a26565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b2b5760405162461bcd60e51b815260040161048b9061187e565b5f5b81518110156105db57600160045f848481518110610b4d57610b4d6119cc565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b2d565b6005546001600160a01b0316336001600160a01b031614610ba5575f80fd5b6008548111158015610bb957506009548111155b610bc1575f80fd5b6008819055600955565b6001600160a01b038316610c2d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161048b565b6001600160a01b038216610c8e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161048b565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d525760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161048b565b6001600160a01b038216610db45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161048b565b5f8111610e155760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161048b565b5f80546001600160a01b03858116911614801590610e4057505f546001600160a01b03848116911614155b156111a5576001600160a01b0384165f9081526004602052604090205460ff16158015610e8557506001600160a01b0383165f9081526004602052604090205460ff16155b610e8d575f80fd5b600e545f03610ec557610ec26064610ebc600a54600e5411610eb157600654610eb5565b6008545b85906114c1565b90611546565b90505b600e5415610eea57610ee76064610ebc600d54856114c190919063ffffffff16565b90505b6014546001600160a01b038581169116148015610f1557506013546001600160a01b03848116911614155b8015610f3957506001600160a01b0383165f9081526003602052604090205460ff16155b1561103c57600f54821115610f905760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161048b565b60105482610fb2856001600160a01b03165f9081526001602052604090205490565b610fbc9190611a45565b111561100a5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161048b565b6110256064610ebc600a54600e5411610eb157600654610eb5565b600e80549192505f61103683611a58565b91905055505b6014546001600160a01b03848116911614801561106257506001600160a01b0384163014155b1561108f5761108c6064610ebc600b54600e541161108257600754610eb5565b60095485906114c1565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110c557506014546001600160a01b038581169116145b80156110da5750601454600160b01b900460ff165b80156110e7575060115481115b80156110f65750600c54600e54115b156111a35760165443111561110a575f6015555b60036015541061115c5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000604482015260640161048b565b6111796111748461116f84601254611587565b611587565b61131a565b478015611189576111894761148a565b60158054905f61119883611a58565b909155505043601655505b505b801561121d57305f908152600160205260409020546111c4908261159b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112149085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461123f90836115f9565b6001600160a01b0385165f9081526001602052604090205561128261126483836115f9565b6001600160a01b0385165f908152600160205260409020549061159b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112cb85856115f9565b60405190815260200160405180910390a350505050565b5f81848411156113055760405162461bcd60e51b815260040161048b9190611666565b505f6113118486611a70565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611360576113606119cc565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113db91906119e0565b816001815181106113ee576113ee6119cc565b6001600160a01b0392831660209182029290920101526013546114149130911684610bcb565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061144c9085905f90869030904290600401611a83565b5f604051808303815f87803b158015611463575f80fd5b505af1158015611475573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105db573d5f803e3d5ffd5b5f825f036114d057505f61045c565b5f6114db83856119b5565b9050826114e88583611af4565b1461153f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161048b565b9392505050565b5f61153f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061163a565b5f818311611595578261153f565b50919050565b5f806115a78385611a45565b90508381101561153f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161048b565b5f61153f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e2565b5f818361165a5760405162461bcd60e51b815260040161048b9190611666565b505f6113118486611af4565b5f602080835283518060208501525f5b8181101561169257858101830151858201604001528201611676565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116c6575f80fd5b50565b80356116d4816116b2565b919050565b5f80604083850312156116ea575f80fd5b82356116f5816116b2565b946020939093013593505050565b5f805f60608486031215611715575f80fd5b8335611720816116b2565b92506020840135611730816116b2565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611766575f80fd5b823567ffffffffffffffff8082111561177d575f80fd5b818501915085601f830112611790575f80fd5b8135818111156117a2576117a2611741565b8060051b604051601f19603f830116810181811085821117156117c7576117c7611741565b6040529182528482019250838101850191888311156117e4575f80fd5b938501935b82851015611809576117fa856116c9565b845293850193928501926117e9565b98975050505050505050565b5f60208284031215611825575f80fd5b813561153f816116b2565b5f8060408385031215611841575f80fd5b823561184c816116b2565b9150602083013561185c816116b2565b809150509250929050565b5f60208284031215611877575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561190157815f19048211156118e7576118e76118b3565b808516156118f457918102915b93841c93908002906118cc565b509250929050565b5f826119175750600161045c565b8161192357505f61045c565b816001811461193957600281146119435761195f565b600191505061045c565b60ff841115611954576119546118b3565b50506001821b61045c565b5060208310610133831016604e8410600b8410161715611982575081810a61045c565b61198c83836118c7565b805f190482111561199f5761199f6118b3565b029392505050565b5f61153f60ff841683611909565b808202811582820484141761045c5761045c6118b3565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156119f0575f80fd5b815161153f816116b2565b5f805f60608486031215611a0d575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a36575f80fd5b8151801515811461153f575f80fd5b8082018082111561045c5761045c6118b3565b5f60018201611a6957611a696118b3565b5060010190565b8181038181111561045c5761045c6118b3565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611ad35784516001600160a01b031683529383019391830191600101611aae565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b0e57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208fa0dc06b5e4271a2d1e2b3bd487b0366e125bd49c0bbde1e1264ff2f50b0b0e64736f6c6343000817003303dc09b6079c0cbcf02d2ba30abf7fddd7367688ccefc1c231d11f66904773aba703932814eff9dffdf793cefa2f74957bbe0e99d1fca7cbc9e3d61943beeadfad7403bbf5773ea7cd1767cc13cebb6ae1253da40344cef1ae7d312b0741b1ecd1841603199048fcd9f2e7c641f55e96ae97ba6fecab322cfa2c4146cf386ff7fe9932690331d67e698e4fce4dd41b1cb63c9565464029b8dd00146a9dab38b04c356413ce032264fc07cd9b83e28cc40b54e23b313c20f7a3132e5496ccbf954f2160af140a037a0d59abf72fd1d9c06ee4520328c2cb02a16ad0bf4fe05dbd7c8478df2675c6030318f01786559f6aac0dfdc867ce5b35f87daa198f4c5513936d89a12cb2b2f7035a5bd1d8cdedd8ff4f51bab2167f2aeaca1cc4b2626e1eca215171e8cbfa590003b38d935528d777d2e879265b5e9f98e90aed58d132a06fc33913cfcd44131c10034fa94dffbad9fa6afc98d25ed684731cc4f69d71c74ecb003286da98405a03cf0390ea23fabfc9082ad8cfd56908e2949bdb0854ddf7d3914a4b793f42d049f08703e95a6c3ccf313a0963f120f45538671371271ee5528e14399068839d813783ad03359688eeeb6339e73e1c38d1f41f739f0a3f5db20401837cd40d7d3894b9942c03bc21e24ee2f08da392b7af58fa70e844514128383207e4c9315807fed7ae27cb03a9385d7aa73f579280508f50ca4ff94ea092d580a608b64a5bb667406cb170df0359384ad7f0b4b2a299dd65de2043d0095b92c054bd6d97c42972196a8c89813c03858ec895dd6d717a00ba7aa019d60606427909e16d7b270f7cf37dd150ecc9b9035a702ffd10cdeef0c9d21b5800265b33dc24e142064b540f514d01a35bc6e52c03b8d297fdd8c0a29399cad5a5d91ca399090530d436c7589aed7c62117648950d03f33226cd30ec8e3e051569214e9a8ece08c1419486363a5c8121dcf77f5a732c031fdacae0fd672bc08ea571315cec22cc5608359e2a092b32c810bc56bfee600803807ebcb43c6d2ffceb10b479fa1e0c8efd8a06e88592955320c1fc3a9802cd1e03e62dd0f0c6f8560efa7c3c1352f34d6958225644dc7241f3242cd055b0fe8aa6034acdb6df3056d2cb221067480222a6281ac39c2eb2b203e1aa3e3d1e1e32ac400307d8440127ab686ce2017ae4b554e4b68755f24fcfd8047808fd234448a34c4f03a1311e9d48df03d1f965f4635c15145eb1005fb3b423c11a237b3cf169885c96030a5b2d770a995086e80f8909cf179ca866ce42c5f97de65aad5cab62b5f6745303370f1a60123cb5344a74f90aa19a5d9dd8763748eb71a4bfd71483e2a10ede7e03aafc7621f828330aefcdf0aa910bee7b09ba6a6c78ba49b9cb5a9fe87ba3861603af25cd2484129b673a32253de0ea096bf94795e8a14577820d148785eeecd5d4038fc78714b83c7a288e816cd0c9fa4004d062a348a79297a815c33fba9f59c97603d6497d0ce45f23b1e60f837431d351ae26d1c24567e396930d65b042a7e10af600582003599e9b69ab932479f21373fa35586ff0a47090c67befb999cad74ead89d8d047047077732dc7520323382e4feb589616d1575f931d7652c9e6881da416897775c962e4640942a7010375b71b4578f43482befc77777fe07414291538e399e72f9387af49b84806120c038fbb5a70ef416a5863b38b7860bc4f99d7eebb03b117c1ac8137b9d4ddd1ba1a0356b4dcd5b453c5e04bb2a00e76d8df4cb9824819b1b190deff126688644625200058200341eeaed45a666552503fbabd9b66b25958a26c9a5c7c63d7a8e3f9433a99905820fffffffffffffffffffffffffffffffffffffffffffffffffffb61a829cabfff03b22fa3a91359e85dec47664160530e8bef8083c22522813b7221d8990e30379e03f53b815f5bd1cf41b094ede468fad0ee74916b9c59f6ce94d64149d896a190a1039abc430c9dced5ab5c67903531e7fd7375d214f809fba440dba96a13ffa165de032f156e126dddbb479b729eabb174ec166d3b659190d4e6697e97e827cf632af000582003b6ce5422ad7e2caff5361d863dabf7a53fcfb131c03c41ca20a60d5a201a305820fffffffffffffffffffffffffffffffffffffffffffffffffff381fe74692ce600581f02eaa13bcd55d12eeeb9f03bab521fbe4c0cf5342f43b1a888400b1eaea47e5820fffffffffffffffffffffffffffffffffffffffffffffffff8a62498c5d16b6700581f02ad38e55027508c1857696c6e4ebb96f46f8714c65aa5e77f50902fbc90e9467918db8a8a1400581f02ce577ef647a988d21c2532e67da3b3a97a2292d6ff351543890568df17865820ffffffffffffffffffffffffffffffffffffffffffffffffff956b28b0bcffff00581f026c5aae2ebbb8321515e195708362e4d8b0bc97f02844060661de879bb1e347054040f1b431c700581f02c5c263285c340730d01bf55f9de72e12c537f750f9e44e42121977cd17e2480192f21498f247e502192c140219ffff030d504e25a85849bfc4fc22f3cab9797464ac0c6b34180a274f1df6ccb20162d30219ffff0219ffff05581e033fc31332516f8b22a2f615f03676f873b2f5a45c3621f2c5e675dcf8d00f014803fb896658476b4c191b710394669b50eee5ff620047e9393892a1507ef16773a3958f4ce2f3be61bc57658a05581e030b2722e95b84a1bb7ecf0b39f9247d7bafd2e03bff09074c1c4edf31000c014802575f083ac4400003e5c66414ae3b4d8d2b211f5ff88a852d8d3dc3513bc21d05443862f096a90ecb0313807931683a94e34c5ac3cc1feee7491e3c91bb4797d7f206f26c0ae7f4c26c05581e038939d5d3b33377749db844430c1b6887c54376fc89659f5c0a00f8402007011bffffffffffffffff05581e03fe3fe592648e5a40bdc63cf5afe808c948ce66248d9c2e142481da1260040105581e03be6c399e37ea25e8de42811f0b3e15762ddccac66a578ab082c5fd03400c024634b39fe80f8005581e0385111652ccfb474696f053b84197b50991de214675d4e793b8bece7e50040105581e03603002edc818395814e47c5d20daa28739e047019c6ee91ada6ff48e300c014701e6c24311e200031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e034360f38bb15660bc9169d2235704d3f6b81594ba9d3464d052ce43c3c007011bffffffffffffffff03e14a81fff3df57e2adaa77b830e0bd850c6c1232cbd9f5bc479f5fa60af91c7e05581e0301c75ebdaa9983032066c12549664d9506429a59c4b1a7e5b919b64ad0040305581e03aac837fa716067613c8af8277065fae0408f84af4ede72990d95a75ab00c03478483a7725eb4e802199dbf03f69b11f0aac14193a46e95f4eb8dd2600e0ac349c4431c546aecec927976ffe40355830bc6cacd05986fe5dea9ceb62d831dc2c9fff27d307a2c1e83c9ef956764031c593c31e92aca1ad18c2aaa47b1df30e9202e8b2a9574bff8e0d8201f05d43203e7dc2408df14a14b87367e528480f960d27b08143a0c96c194c695e086e02f54033f019b8dbe9e38995b008749570bb4092a2828c4f3a5a2d90e28989b1d47d3d603eb022d4a91325d13e284217b0cc18e8c995379bb4fcff998424747f751dac5f1039a8cf01e445883028a3ce3dd1f9d56d3a259ff4ff78423e442add788bd6fcb2b0319652345be0b22f9f9249b0e23a85244fa9b4c68ba69b71bdc1d4ebfb3ae89570377e8349a63ae0584160e444a03c5629be413e22dd9f9ef890774625e74baab0e0392d33a693ae5d9bf6de5a1349b3c7795bbf051878da12251eeb520162f36ff6803bc5e46f1069b9cfcdcca0e0b8ad96473a610cbbfd411c312fa933e699dee09e9036bbd6f51b9f994ed7c37813f4fde1745053a52f1fbfad32f24f5b584a46ec2b40219ffff03f1f208a06c699471bbdaef4f35b50e6bb3bc518ffd8d9934dcff2e3ba506c59403da535f96cfd5e1466c39755492b5d46939b519142fbbf26f33c1e1fb49b196230219ffff0386dab7f9d03cb67147cdee3231719517fe083b3f48a1e27adfe2b5861f818c1803c29821a9adb558112131c9b112018d47d71570f9b1cc086d86dbf4cfdda6d8de03ea34db157d3da303405acf3c9e8d1929bee6fc12d0b3aa1cafbd027d9dc316ae03019c1afc7dbfb06c73a7d7c0816ab504951bebaf63b1893b6cfbbdfcaa19c37b03ae3ac99e811a6d5b27bd72a1c4b6cc9b10ef09fb04a69860ad66229db3925e750219ffff03b5ca3312eec2ed5c0c9b127d85dec05643fab2ec08749d077dbb9dd45a2e4aad03eee2ad613c11ae176bcd7cc15d90d00cb12f63d7d81d880ce5df2d84a7f9b254037ce81debfb4bddaec3806757e4782ca5014654ef92ffc53a72f939f0308bfcdb03b32a4e6d8f4438564c67ebbb87b97d3685254fe61ba17f5a5855a860c61562dd03f3b270b5afb6310611cc0a05fab3ce2ff45101df2af1bd966a60e04f706eb08903f8eba13756f1c5c652d1924e75821f816fd3644e3a9018945519ea50bdfca20d03932a70edf709471f48cf11e1ab6a4282f90479c5e967464041a5db4a5493dab903877c6a7a58b346e1faf3f45545fd0f142ed64feb64aef4dd4c33a66db9be68c10366eee550a816969c9fabcaadab298228ec89425dd41658b258f1272fa4578463031240b5d9ef3f3317ba8c12d43987acb6301250402bc61b0c75f75ab8a122777403e70551213450101afe11939da4701d693ee535e5202fc465d98f2fa671634bdc032741fe66c12c1421536cebd44cf788667a11194572bcc22d6c341f3d07422450036730d6a8e06dab52275dc033730d7f04fcfeffd49f59dcaf7d15fabc87e4366e03ca5c8fc9cb33dd021376e2463254fc4b8215c16a4436c26d71c99f884834b0fe031e6fdf128c3dda99e0193f45fcf1b7c4d0c104a98ed10e5e0b24af3ab50250c3033a2a6ac6c23c82da3bc564b8573b4da233e3299b264d336249f2e4362ea63cc9038c6a2f3ad8ee8aac5b2ece5a1a3f42610211480f1c4697e6ee3bfe1bd9f264bb03c1b3890271e0358cf543ed641281f63cd71d2f2e6ffe1b204227e1ec924f5f4903f34757d1ed90f41fe0aadd2020779a20046eba7c5e2e24db7f77aa3557bbcde3036a7ab327c9e1cd635150bb8f418b278244256d6f7e75c4a7f6fd547121633a0203348eadae41a817feab4a00372c8c8166762463222467615632d964025b887c4e03198b326352ead5d349daf651963f304f00a9795653723ffdc21f8ae98492b03105581d022de3b166f0f1525316b7658ef464b2d59e99acddb6787bbd8a7df86a0c182e480238a5d6fc32f25d05581d02ea256273b132d1ad6d1cd47ee1830326053c0b7cee338d535466342f040102110397759cef6d3b16444135f679b60f2ea61ab1b215786b59c34cf0d5f09017f1a005581e032037229339f408d0c725f906b44de67693c00102b2eea33378ac3403200c01465bdbe51f500005581e0342a06a1d058e6fb099b749984d7fb61fdb2b28d3f812712353d9edaf10040303a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03edee610be9a6554e81b7bd5c8d29d98ea42a1472072ae2ec41a787c619b54d9105581e0307d30cc360644cd53a92cb4e7a4a802d32e4f795eda10cb315ea8c9f8007011bffffffffffffffff03680f9162926397cb923290676ddfd271a9eacf3514b859153e12e5f2a61d43780219695003387352bd0480c51f2c13c866ae22b42e913eba2e6b6fe3697cf699f1306abcc50341cb3e29ff5b04b1f4ec5252a835dbbf34997d96b908aa3b5ac12fd44f0f76e903dd8f82d4c35d07c81e14ae605654aa6621abaa93e1636881d48265c6d756212f03e6f061b00fee0e8731d59f6cd3c3c71ba7558c8946a95d0bae516815adc291350219ffff03d6c06a007d12d9bbcd568834eed6ea44b7ddbdb6d1cc71b2588d2b51e65a911f0319ed7f38e6b4eabaa7e2faaca3fd348b8206ae4c4c7dd1b3d728c00381f860db030618f758af7296a2fa0259c9e296487b16236370aad40ee563ae7b60bc15fdda03929eadaf5cfc3e06a00d41022c60f5e404207993bc9b3878d7171673b82f6ba403f68425331120967cce9f757b5c54c988513cc9118df65e1aa7c6455b939ab38b03f740fb143ead0d94f064d15f21640e4ed59ed9e4910c991e7ab583a97d5d0a47032164ce40c040fa021ba540ed7c0ee0a1f250af5c6db196d45a2bc4ee887f678f03484b1a7f281acc9931815bd6278dd877af23c9cde3da31d8e2024e740e134c60034ac6df3472b4e6c6c212096be4eb6a4fc8720fcde06fafaafeca241f404197a303fdd4e5db610a514af7a1460d77e81dd80afc4512ea9f3f4f4aaed6b389228f650219ffff03d4b966436d8383f9a5ddd029d66e13b49cbd6116a2a48f49d8a3d8eca8e8e8b0033918c2039e4e9a03f5a388d8a1a172d18a645aab887be73c0448e5652072998b03dff025a8ca4173e458ca18d40a8b38c8bdef50262d1aebd570c3dd8cd608c54d03b31aca1ae90314ce61e0261040c19065dd800044cf4c9329fce6312580aa852903447e91114ec49b8f558d5ea50b62dab83d34416dd0c3dcbd41fda6e40c584cdf0344de275a510a9655668b30dbee0db986ccd6c4bf208faadbd2bdaafedbdbedc703b615f73f4fc205e7d06510071fed850e8f7d61f00fb130df3190575b45b78fe003ddddc5c7072c7704f812454a535685e0f14964671bc5a5ed047ffd45837fedc403e5cd71a3583d0c57db590283dc4e074e9f6caf08e187251704a5cfd147a9b4cd0219ffff03114a40b81b92be21a341053c377202a74f8dfe1232842a11736c3365fb4bbc3c035de0d6d3859645ac3506a421768cafa1752586714fb522d5f0b94dff209b73d90219ffff037affb537c7e51643c0a1036abb35bb7311ee4e78cf79e8ede0ed44290a9b9e3e0330467b1f0470477fb1e173393e68f3cf548db738fb3f222d2db78aec79e3caf7039d7d552ed3d5c2887a4cf1bae77f49fbb0657c56aea61657d90e0c409358f26003a0365b024a0249845c5c655bd00a82080e0d5ae6266a1a492ab9172fd6ed10fc0326254199bdd9edc0fdc2d2511ed0936192755fd56ede6a3806da63a7a71304f203ada78e0afc9c894a5db388cc1ae3c3ffb5cbb125e2be20670963e8984f776fc403070a631a54be3e8b11e9d4d9e19408071875d86077c80c6bebdcf47cd1449bd703544a20ae59b5f49e5700ecbbea353f9bf7129c98911c7cd5697f566411de9202033eb156ba3beea8ea135c8ce3de02a2b0c6da93335dc7d590307bf92ba470f9ca03482c362d347c34e9a3dbc42371dc21f1a8879ad505fb89a9e565f113a69e767d03ef4344842f336e2c5bd5f2fc0566c581092b4c2489a33133234b347dfdb5e47e031b3f1fca634af70d94a7d7c307e20bd5d172ff22026fe589d607cafbabd644e203ff804bce23c9fb9e1f296c49bb2856a93128f44bfe510a65f1db0dfb49a1a61b03ca42f07eb828fb119ae1193ffd660bfd1c7926c9db2e70b08027c5b91878b0ec036819cccbc63bdb2fc6c7452e8ce57b115e52b508b2ebb38cad5bc1f2496e6a510302cb0af52fa463d0a8380b56e8eea1aae04725234a182ff314e1727fd57a6aa8033089e596ba6f0e263b225790c54f9c5582f9f4394e41d920ffbbfe15bfca450e05581e0301cc39b75431b430cb1493081f5b7e4b758570dd21f0f60c70b5772c70040105581e039c892dd6a856f1da4f06abec45879420e170d241d993aabcfad7f89d700c0147015d70cfc19000031ddae0b77ee609d6d09fcc1875c3db5adf43fd35e41a039af5f965902e95139705581e03e7b1eb39a0c9d3645657d94b91b0b4b63970d019b9693a5d863ea60f300c12470f2ae9fab9260405581e03ee10624da9b9925f98cb1fcf809dfb02d087bf2c973b5e7b307d4710800c01472e6517601f300003d1609491a6a9220da9384e053124e39a65686241d9217233d9f0d62f136a46e804590fe760806040526004361061005a5760003560e01c8063ad5c464811610043578063ad5c46481461017a578063bc17c290146101b8578063eb365adc146101cd5761005a565b806367efe82e1461005f57806392f5f037146100a9575b600080fd5b34801561006b57600080fd5b506100746101e2565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b61017860048036036101208110156100c057600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013582169260408201359092169160608201359160808101359181019060c0810160a082013564010000000081111561011557600080fd5b82018360208201111561012757600080fd5b8035906020019184600183028401116401000000008311171561014957600080fd5b919350915080359073ffffffffffffffffffffffffffffffffffffffff60208201351690604001351515610206565b005b34801561018657600080fd5b5061018f6104fc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101c457600080fd5b5061018f610520565b3480156101d957600080fd5b5061018f610544565b7faa77476c0000000000000000000000000000000000000000000000000000000081565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614156102a157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f544f4b454e5f504149525f494e56414c49440000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff891661033e577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561032457600080fd5b505af1158015610338573d6000803e3d6000fd5b50505050505b61037161034a8a610568565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff896105b4565b6104297faa77476c00000000000000000000000000000000000000000000000000000000868660405160200180847bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526004018383808284378083019250505093505050506040516020818303038152906040527f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff73ffffffffffffffffffffffffffffffffffffffff166107aa90919063ffffffff16565b5061044181610438578961043a565b885b84846107f3565b6104548961044e8b6108ef565b8c6107f3565b600061045f896108ef565b9050868261046d5781610477565b6104778286610992565b10156104e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e53554646494349454e545f414d4f554e5400000000000000000000000000604482015290519081900360640190fd5b6104ef89828d6107f3565b5050505050505050505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b600073ffffffffffffffffffffffffffffffffffffffff82161561058c57816105ae565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b92915050565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561062b57600080fd5b505afa15801561063f573d6000803e3d6000fd5b505050506040513d602081101561065557600080fd5b50519050818110156107a4576040805173ffffffffffffffffffffffffffffffffffffffff80861660248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6044808401919091528351808403909101815260649092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905260609161071691908716906107aa565b8051909150156107a25780806020019051602081101561073557600080fd5b50516107a257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f415050524f56414c5f4641494c45440000000000000000000000000000000000604482015290519081900360640190fd5b505b50505050565b60606107ec83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250610a06565b9392505050565b816107fd576108ea565b73ffffffffffffffffffffffffffffffffffffffff83166108c9577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561088b57600080fd5b505af115801561089f573d6000803e3d6000fd5b506108c49250505073ffffffffffffffffffffffffffffffffffffffff821683610a1d565b6108ea565b6108ea73ffffffffffffffffffffffffffffffffffffffff84168284610b43565b505050565b60006108fa82610568565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561096057600080fd5b505afa158015610974573d6000803e3d6000fd5b505050506040513d602081101561098a57600080fd5b505192915050565b6000828201838110156107ec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6060610a158484600085610bd0565b949350505050565b80471015610a8c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015290519081900360640190fd5b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d8060008114610ae4576040519150601f19603f3d011682016040523d82523d6000602084013e610ae9565b606091505b50509050806108ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610f28603a913960400191505060405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526108ea908490610d8b565b606082471015610c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610f626026913960400191505060405180910390fd5b610c3485610e63565b610c9f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310610d0957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610ccc565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610d6b576040519150601f19603f3d011682016040523d82523d6000602084013e610d70565b606091505b5091509150610d80828286610e69565b979650505050505050565b6060610ded826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610a069092919063ffffffff16565b8051909150156108ea57808060200190516020811015610e0c57600080fd5b50516108ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610f88602a913960400191505060405180910390fd5b3b151590565b60608315610e785750816107ec565b825115610e885782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610eec578181015183820152602001610ed4565b50505050905090810190601f168015610f195780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212206ac4fdd6fef64c1214c454d2b61d9196c208795f774bd59447912dd0c66643d464736f6c634300060c00330605581e03763feef4df6e30df98010fbd76a2dcdf4e278a5443a705b4d6084bf8400701190fe705581e03d28a953055c293ea379228fef6bd80fe88c4fec50ff61026d2a5d648300401032d4b7e15301ed0abf4fa22784064f0f455bed505810edbeaf87cd2759a35ae4e0309d3bf6c19180c5fcbfde37ca31494810eb2a7e4e6f61f4001ffae704e9a14ba03a488dd96c05a3b09a27a76767699a46c97ae526b52a81aee0d38d2c2be48864f038cc62a915d5931e98321f9d72fd876a0727aacc2d78c4a9a913f1c96bc2a237805581e03a81f070dd6282a823593b3136a9156b1a50a759f38a4cce87e6e13b7b007061bffffffffffffffff05581e038acce8b3f551d84b8e1711997e2fe89d8c2c3a88114fd54045b94147800c0147050e939a952400021973fb033ec63200d229cd92e3ec0acef8472595c5d34fab1ebd87ec810d95f38c6360d503afb9fcb0b606cdb46d9edd483e2e883edb4cc855f3fd86702a2d0dbbd9f93bda03c89b354806334aad84c37b60c7396aeb7e79256a9eb55a21e601a9dbd4e5d548033d4a0c17faf60e59c2d54f8e1ead8cffa35077b8c5a2bcf31cf8cd3d3c619a5203defa57c9186694e825a3f003bee4a4e23fb2bad2014c3548d67a3dd7a0a2dda40332d029a9b892d27e182b14e1e4c4c787b34ae8b8ac273552e8ec6c5cf30745a903e081c5644c603d18898010c5bf5106294e3428ab63f7ee7fb28669e8d7a8409c03adcec5ef58752cfa88b362fab21fbffac312c23b46b76703829908d803a9ee6b0362aa9b29300f9d0b4d253727bd10dede90b5d19d11752f440a4cf0beda0edcd803298b0d749f3565e6a4948c59c0145c4f3155157031274d58bb3dcac61e1eb33303e6909753767b9378235ffb8722894068de4b6e19011b5a262551d311b7e0fd40038db6aa7da4ef4ba3281a5ee63fe1394f56527e97069d19ea2ca3ced9f8fbfc3b0219ffff03a2bfc8729600991fdb57f680b8cf98a2806c6f2aa4e0b44fddc8e429d5a91eaf033237809f5e1135753943049d6479e52ad3db9b829d8aff761b65dd5951bdabce039546791fbd2e900b9ce32057d6fa13e53380de4f021d8c0d6307f38ae44b0368033a7250a9f86b5c2b45608d2a2509254bdddfd68d64b24fef6938b6c23ed48e710330b8d0c1eaa849952b6f15b862d3df9311c0353ba443999f72b36ad44a5708b403c8c130c125254804f8b8893f8af9132998370acaa96d13adedeb77cbd968fc2a03b6898f14518fa2f6f630d52412feec62f3017e3f2328d268fcd40ee3510e6b1103be1270ddba2aaa1737f8e9f42ed1e9b5c937a3b61343007f1685c5647dbd624e0357c50f9cf582e53bdc32acd6e90323d2faa21903b981d80600374f736f8b41710317f39ea1584a1d6794ac927af94d5cc4d7f4df2320690632402f8189fd9bea9603d4ba2aac230ae92854890af63bffab70080d66d7ba383ffee079ac70e5421899034160cb5a435fc88760ff5f71e0340c4aca46bad93315f5bb3aac04c20d50dd2103c7a983413caf0b67f0796e86f16b3122fe9c6892448c81f40b97d62a5342a74c03dd609e8e87624d9b4ce3cdafba889bb470a8e99096f25d62801e9a3467d8a4a60219ffff03bf1e2723b311f1c9ac4ae76e9c99df2ccc77f48638fe5433fd68edc54d911ec603e20271f0354327e639cdd4e86cc159e8295a81671de1954be1ee13e7317fae4203e22a18f0aee258b5c4717b8473347a045f0d583d206553034b86b6360534f94203c421b050fe8529f0aa6ca229bb2babbf9a9750521202fd730e1f242af5f3b79d031fcb9250a1fe6cb0d9d8a17bb4744b095ee6a1984b61bd5f39186d2b075f07eb03b7811c832226610cd0b753b87baf8b3b5601d4b0957c1f27b3e1f2f56995a4230219ffff032fcd5157ceef591886a9797e5dd6a0d6adfd5c0b2671c05785c582f6e599d77103b10ddcf239a76ae0d679023f50c1ef4068676d7c54491ab5734fb081d8fd413d0323660b7683ed7abdc760df52f181eba65fc16f8dd06b1dae4ff7a81d116c610a030c49b1683ac9dbb8f5fe867b49f6115626953e74ac7fc02841dc7b9f6c6eec10037d18830afb2da866c414f54f2466c564ca2e6ada63f22d09a865363ead38c0b103e5845f1168d168482790e28b919d5732e0ddbad7521951345b21e4335802a84c03c947518e0852d716dafc3a253133e9c2ca7ca6d77c7507d819d2eb1decf3d37403813fbdc9532f2df84bf59e3e664abd1c086d142bc513a28c7657792286e335c303e66bcb08f309a68b986990e248c57d8265f2734deae5e78e4c3b551aa606c2ea039a5e3b51bb8193ad74c0b7b885be33e9ae1974ca09268b19954824bb3a27a7660354fa4a0d9040994de45c5a481f2b10e200a47ec5960cf2def163658fb935a074034e26d8e514f3583cff7b54b51c74096c0188679880f48574687772f70519a2ab03c286d50198d2a810ee36cfec1f688323257ea85563af09d45a60b0022e698de903dbbd1ce80818a7e19998bb423588e2a0ce880f9c506b08d5c68c37ad5dff8ba5039137f268f6ea7caac23756cc922e67ed3fdb7993a510f5085a37989853cbb800039ea6ff3645ff98d0f4b7b2d1cfb9889950530a4dfc605dbdb84e13d7602e0b04036cbecf0c0de0ced74ef7738bc62544cdacfd5e35f931a16c6759bcd6ed0197ba0376808b8b10f095290ac65721a8d2c5a3e2efd92928f24b39575a1d75de74fc8a035d5ebad3664c5061a0371bf65ee6d34a0f634986c096834d5e6ee81ae7a696cd032f1fff1bbab3caae2ea176ebbcf6a2c8239b7eb220c1c827af1a5221fce05bb4039ec7e6848a8d32da545c2251891f46625ba25cf215e7193cbf5778f8d79550aa031500273ab9d7f4cc9c0d52ab8671d28dc39b5b3f220e6e2dba8d8a2fd3c14f7e037b2fedac8df4ec9e00050bc6f06b399bf78f8516b538f5ced41a03d8eef669bd036e5054274bd5e2d90bea8cb506aef67a23d45e2d4eaf7f5c95343cc9a94ddcc803e766ebba3549534a290d9424623494b5fe08e3f4881953be51a072c5a873ded9031daaa4c853f1808c9f71e83a229ac42a246fdcb9938f1569e76f83438a4d98b2030fcc86edcbd3ab37ed4ab9808922bd93f74760a51ce6e348c7aba07cea9eca4b036c9f9f323e7508344ba9b714e442f5f3f509262b42ed6d6dff27a61dddc0f833038ea51ceaca65d6102cc4fa87aa478d1ca333613db5859bab59ad662f3dde9d9603b8f3d11d2bddd885ebc1bbbbc8ae7b23600498b917c4123c96eee046ba8ba58503daac3a8978a6635fc829b2e3d6f38f1cbb06b95b68d033fda6d3f524f259659b03c9aedebddb051c657f8fd1bf0c4b41d90b37434d2068ff6c49ac4b0fb46025fa03b590710420571477cfcfaecbffcf1a7e21f810f84dfe52f8f978747f300ece7a037dcbe47f80124fdf5b2bc88b1e2422c7fc1c67d78e135209970fa1c85bd06b6b038b62c9595111e3442216d1397d91996707fb2ce6a3d8fb915aa6e052681585ad03eab9c3405891639e88e5e13520499112f7e88a912d3b051e3e5d142053fd299d031e157b8112224206d7c53cef8351a3e3ccbae042f7e879462de7c686f6f5698c03adeb7f70735f26a4c6637ae00f5b41f017e3385a42e0ee76ab08e1d879ae662a032ea743ab5f5a5bad7c7e483a7b347d67c94befd9df126c4c60c1b4610ff95b200324366636bcdd31f2a2659c226cbac465dc4ddb931a56edf9e937901f9daa9065031994e77fd01ff43b38e573bcc0cb1ccb5b1c2b7f96ac8f030720811fbd12c13e05581e0302808c3a0eeebc30dbf5daa16a2128d82161f93b7e0fbd84123f8687e00c11471d5374fbe6f1110372223d00ec8a47a52e4fd954e11ed5e66697b797140581f2bce66ab8b21c54a4034f7e6cca88713b6e6c305296c5cdc016eb9f457b71435f86c1f219254f991267035137f60777494b9870bd19b9119524678c4bc46c351fdc52c24e3e380c708ab205581e031b38abd91e9eabb2b224a4a8572c349af6b2fe9b614e93ca523149f6400c064709d90fd8b6df6a05581e03f4b3715fd057cd4870fdfccc83e39a70231d7edf62bf102d693e3339c0040105581e03d7ceb26ccb335aa988abd24183398048ed3e2facadb9817f672b6d58d00c024701df5740d5b180032fee336e3a726476b663ab1127f5f5455ae34026f5e4173a409097f3e02597ac05581e033e6381e863a8a278979e5f402149952d46652c9f327a763b02cb1562300c034617dca39a997005581e03ca3bdae9ce5d21cdc699932ea2c78c90aaa93010dbf15bdc02b8ead350040205581d02a56ab4ad14a94ff603356c9152d651d8cf303a7ffc437484da6ff56b0401045934b7608060405234801561001057600080fd5b50600436106101985760003560e01c806379ba5097116100e3578063ad7a22f81161008c578063f2fde38b11610066578063f2fde38b146104fa578063f47a86901461050d578063ff888fb11461052057600080fd5b8063ad7a22f8146104b4578063afcb95d7146104c7578063b1dc65a4146104e757600080fd5b80638da5cb5b116100bd5780638da5cb5b146104645780638db94e441461048c578063a7206cd61461049457600080fd5b806379ba50971461042457806381ff70481461042c5780638456cb591461045c57600080fd5b806332048875116101455780635c975abb1161011f5780635c975abb146103b4578063666cab8d146103d05780637437ff9f146103e557600080fd5b806332048875146103795780633f4ba83a1461039a5780634120fccd146103a257600080fd5b8063181f5a7711610176578063181f5a77146103085780631ef381741461035157806329b980e41461036657600080fd5b806306285c691461019d5780630a6cd30d146102c057806310c374ed146102d8575b600080fd5b6102aa60408051608081018252600080825260208201819052918101829052606081019190915260405180608001604052807f00000000000000000000000000000000000000000000000045849994fc9c7b1567ffffffffffffffff1681526020017f00000000000000000000000000000000000000000000000064d029850f1a097167ffffffffffffffff1681526020017f000000000000000000000000bd5f9c193a7fef5d578c55ddfe4d08d6bcc1564873ffffffffffffffffffffffffffffffffffffffff1681526020017f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff16815250905090565b6040516102b79190612656565b60405180910390f35b6102c8610533565b60405190151581526020016102b7565b60095468010000000000000000900464ffffffffff165b60405167ffffffffffffffff90911681526020016102b7565b6103446040518060400160405280601181526020017f436f6d6d697453746f726520312e322e3000000000000000000000000000000081525081565b6040516102b79190612713565b61036461035f366004612966565b6105ca565b005b610364610374366004612a33565b610deb565b61038c610387366004612aa6565b610e37565b6040519081526020016102b7565b610364610f2d565b60095467ffffffffffffffff166102ef565b6009546d0100000000000000000000000000900460ff166102c8565b6103d8610f93565b6040516102b79190612b6b565b604080516020808201835260009091528151808201835260085473ffffffffffffffffffffffffffffffffffffffff16908190529151918252016102b7565b610364611002565b6004546002546040805163ffffffff808516825264010000000090940490931660208401528201526060016102b7565b6103646110ff565b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102b7565b6102c861116f565b61038c6104a2366004612b7e565b6000908152600a602052604090205490565b6103646104c2366004612b97565b611226565b6040805160018152600060208201819052918101919091526060016102b7565b6103646104f5366004612bb2565b611269565b610364610508366004612c97565b611889565b61036461051b366004612cb4565b61189d565b6102c861052e366004612b7e565b61193c565b60007f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff1663397796f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190612cf6565b15905090565b855185518560ff16601f831115610642576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f746f6f206d616e79207369676e6572730000000000000000000000000000000060448201526064015b60405180910390fd5b806000036106ac576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f66206d75737420626520706f73697469766500000000000000000000000000006044820152606401610639565b81831461073a576040517f89a61989000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6f7261636c6520616464726573736573206f7574206f6620726567697374726160448201527f74696f6e000000000000000000000000000000000000000000000000000000006064820152608401610639565b610745816003612d47565b83116107ad576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661756c74792d6f7261636c65206620746f6f206869676800000000000000006044820152606401610639565b6107b5611a10565b6107be86611a93565b60065460005b818110156108ba5760056000600683815481106107e3576107e3612d5e565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556007805460059291908490811061085357610853612d5e565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556108b381612d8d565b90506107c4565b50895160005b81811015610c935760008c82815181106108dc576108dc612d5e565b60200260200101519050600060028111156108f9576108f9612dc5565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260056020526040902054610100900460ff16600281111561093857610938612dc5565b1461099f576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f7265706561746564207369676e657220616464726573730000000000000000006044820152606401610639565b73ffffffffffffffffffffffffffffffffffffffff81166109ec576040517fd6c62c9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915260ff83168152602081016001905273ffffffffffffffffffffffffffffffffffffffff821660009081526005602090815260409091208251815460ff9091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082168117835592840151919283917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001617610100836002811115610a9c57610a9c612dc5565b021790555090505060008c8381518110610ab857610ab8612d5e565b6020026020010151905060006002811115610ad557610ad5612dc5565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260056020526040902054610100900460ff166002811115610b1457610b14612dc5565b14610b7b576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f7265706561746564207472616e736d69747465722061646472657373000000006044820152606401610639565b73ffffffffffffffffffffffffffffffffffffffff8116610bc8576040517fd6c62c9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915260ff84168152602081016002905273ffffffffffffffffffffffffffffffffffffffff821660009081526005602090815260409091208251815460ff9091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082168117835592840151919283917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001617610100836002811115610c7857610c78612dc5565b0217905550905050505080610c8c90612d8d565b90506108c0565b508a51610ca79060069060208e0190612598565b508951610cbb9060079060208d0190612598565b506003805460ff838116610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909216908c161717905560048054610d41914691309190600090610d139063ffffffff16612df4565b91906101000a81548163ffffffff021916908363ffffffff160217905563ffffffff168e8e8e8e8e8e611c4f565b600260000181905550600060048054906101000a900463ffffffff169050436004806101000a81548163ffffffff021916908363ffffffff1602179055507f1591690b8638f5fb2dbec82ac741805ac5da8b45dc5263f4875b0496fdce4e0581600260000154600460009054906101000a900463ffffffff168f8f8f8f8f8f604051610dd599989796959493929190612e17565b60405180910390a1505050505050505050505050565b610df3611a10565b6009805464ffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffffff909216919091179055565b6009546000906d0100000000000000000000000000900460ff1615610e88576040517feced32bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610ef987878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808b0282810182019093528a82529093508a925089918291850190849080828437600092019190915250889250611cfa915050565b9050610f048161193c565b610f12576000915050610f24565b6000908152600a602052604090205490505b95945050505050565b610f35611a10565b600980547fffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffff1690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b60606007805480602002602001604051908101604052809291908181526020018280548015610ff857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610fcd575b5050505050905090565b60015473ffffffffffffffffffffffffffffffffffffffff163314611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e6572000000000000000000006044820152606401610639565b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b611107611a10565b600980547fffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffff166d01000000000000000000000000001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610f89565b60007f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff1663397796f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112009190612cf6565b15801561122157506009546d0100000000000000000000000000900460ff16155b905090565b61122e611a10565b600980547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b611278878760208b013561201b565b6040805160608101825260025480825260035460ff8082166020850152610100909104169282019290925289359182146112eb5780516040517f93df584c000000000000000000000000000000000000000000000000000000008152600481019190915260248101839052604401610639565b467f00000000000000000000000000000000000000000000000000000000000000011461136c576040517f0f01ce850000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000016004820152466024820152604401610639565b6040805183815260208c81013560081c63ffffffff16908201527fb04e63db38c49950639fa09d29872f21f5d49d614f3a969d8adf3d4b52e41a62910160405180910390a160007f00000000000000000000000000000000000000000000000000000000000000001561140e576002826020015183604001516113ef9190612ead565b6113f99190612ec6565b611404906001612ead565b60ff169050611424565b602082015161141e906001612ead565b60ff1690505b86811461145d576040517f71253a2500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868514611496576040517fa75d88af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526005602090815260408083208151808301909252805460ff808216845292939192918401916101009091041660028111156114d9576114d9612dc5565b60028111156114ea576114ea612dc5565b905250905060028160200151600281111561150757611507612dc5565b14801561154e57506007816000015160ff168154811061152957611529612d5e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1633145b611584576040517fda0f08e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000611592866020612d47565b61159d896020612d47565b6115a98c610144612f0f565b6115b39190612f0f565b6115bd9190612f0f565b9050368114611601576040517f8e1192e100000000000000000000000000000000000000000000000000000000815260048101829052366024820152604401610639565b5060008a8a604051611614929190612f22565b60405190819003812061162b918e90602001612f32565b60405160208183030381529060405280519060200120905061164b612622565b8860005b818110156118785760006001858a846020811061166e5761166e612d5e565b61167b91901a601b612ead565b8f8f8681811061168d5761168d612d5e565b905060200201358e8e878181106116a6576116a6612d5e565b90506020020135604051600081526020016040526040516116e3949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015611705573d6000803e3d6000fd5b5050604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081015173ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152848220848601909552845460ff808216865293975091955092939284019161010090910416600281111561178857611788612dc5565b600281111561179957611799612dc5565b90525090506001816020015160028111156117b6576117b6612dc5565b146117ed576040517fca31867a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051859060ff16601f811061180457611804612d5e565b602002015115611840576040517ff67bc7c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600185826000015160ff16601f811061185b5761185b612d5e565b9115156020909202015250611871905081612d8d565b905061164f565b505050505050505050505050505050565b611891611a10565b61189a81612428565b50565b6118a5611a10565b60005b818110156119375760008383838181106118c4576118c4612d5e565b9050602002013590506118d68161193c565b611926576000818152600a602052604080822091909155517f202f1139a3e334b6056064c0e9b19fd07e44a88d8f6e5ded571b24cf8c371f129061191d9083815260200190565b60405180910390a15b5061193081612d8d565b90506118a8565b505050565b6040805180820182523081526020810183815291517f4d616771000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9081166004830152915160248201526000917f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e811690634d61677190604401602060405180830381865afa1580156119e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0a9190612cf6565b92915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610639565b565b600081806020019051810190611aa99190612f46565b805190915073ffffffffffffffffffffffffffffffffffffffff16611afa576040517f3f8be2be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055600980547fffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffffff169055604080516080810182527f00000000000000000000000000000000000000000000000045849994fc9c7b1567ffffffffffffffff90811682527f00000000000000000000000000000000000000000000000064d029850f1a09711660208201527f000000000000000000000000bd5f9c193a7fef5d578c55ddfe4d08d6bcc156488316818301527f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e819092166060830152517fc9d7123efd4203e60b0f0a4b1dbc4800fc97ce63679f71c3a27279b24a7ddec391611c43918490612f92565b60405180910390a15050565b6000808a8a8a8a8a8a8a8a8a604051602001611c739998979695949392919061300f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101207dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e01000000000000000000000000000000000000000000000000000000000000179150509998505050505050505050565b8251825160009190818303611d3b576040517f11a6b26400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101018211801590611d4f57506101018111155b611d85576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82820101610100811115611de6576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611e135786600081518110611e0157611e01612d5e565b60200260200101519350505050612014565b60008167ffffffffffffffff811115611e2e57611e2e612726565b604051908082528060200260200182016040528015611e57578160200160208202803683370190505b50905060008080805b85811015611f9a5760006001821b8b811603611ebb5788851015611ea4578c5160018601958e918110611e9557611e95612d5e565b60200260200101519050611edd565b8551600185019487918110611e9557611e95612d5e565b8b5160018401938d918110611ed257611ed2612d5e565b602002602001015190505b600089861015611f0d578d5160018701968f918110611efe57611efe612d5e565b60200260200101519050611f2f565b8651600186019588918110611f2457611f24612d5e565b602002602001015190505b82851115611f69576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f73828261251d565b878481518110611f8557611f85612d5e565b60209081029190910101525050600101611e60565b506001850382148015611fac57508683145b8015611fb757508581145b611fed576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600186038151811061200257612002612d5e565b60200260200101519750505050505050505b9392505050565b6009546d0100000000000000000000000000900460ff1615612069576040517feced32bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff1663397796f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f89190612cf6565b1561212f576040517fc148371500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061213d8385018561319b565b8051515190915015158061215657508051602001515115155b1561228e5760095464ffffffffff8084166801000000000000000090920416101561225357600980547fffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffffff166801000000000000000064ffffffffff85160217905560085481516040517f3937306f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691633937306f9161220d916004016133ee565b600060405180830381600087803b15801561222757600080fd5b505af115801561223b573d6000803e3d6000fd5b50505050604081015161224e5750505050565b61228e565b604081015161228e576040517ff803a2ca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208101515160095467ffffffffffffffff90811691161415806122c9575060208082015190810151905167ffffffffffffffff9182169116115b156123065780602001516040517fbb1ae18d0000000000000000000000000000000000000000000000000000000081526004016106399190613401565b6040810151612341576040517f504570e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040808201516000908152600a60205220541561238a576040517fa0bce24f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602080820151015161239d906001613426565b600980547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff929092169190911790556040818101516000908152600a602052819020429055517f291698c01aa71f912280535d88a00d2c59fb63530a3f5d0098560468acb9ebf59061241a90839061344e565b60405180910390a150505050565b3373ffffffffffffffffffffffffffffffffffffffff8216036124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610639565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b600081831061255f5760408051600160208083019190915281830185905260608083018790528351808403909101815260809092019092528051910120612014565b60408051600160208083019190915281830186905260608083018690528351808403909101815260809092019092528051910120612014565b828054828255906000526020600020908101928215612612579160200282015b8281111561261257825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9091161782556020909201916001909101906125b8565b5061261e929150612641565b5090565b604051806103e00160405280601f906020820280368337509192915050565b5b8082111561261e5760008155600101612642565b60808101611a0a828467ffffffffffffffff80825116835280602083015116602084015250604081015173ffffffffffffffffffffffffffffffffffffffff808216604085015280606084015116606085015250505050565b6000815180845260005b818110156126d5576020818501810151868301820152016126b9565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061201460208301846126af565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561277857612778612726565b60405290565b6040516060810167ffffffffffffffff8111828210171561277857612778612726565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156127e8576127e8612726565b604052919050565b600067ffffffffffffffff82111561280a5761280a612726565b5060051b60200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461189a57600080fd5b600082601f83011261284757600080fd5b8135602061285c612857836127f0565b6127a1565b82815260059290921b8401810191818101908684111561287b57600080fd5b8286015b8481101561289f57803561289281612814565b835291830191830161287f565b509695505050505050565b803560ff811681146128bb57600080fd5b919050565b600082601f8301126128d157600080fd5b813567ffffffffffffffff8111156128eb576128eb612726565b61291c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016127a1565b81815284602083860101111561293157600080fd5b816020850160208301376000918101602001919091529392505050565b803567ffffffffffffffff811681146128bb57600080fd5b60008060008060008060c0878903121561297f57600080fd5b863567ffffffffffffffff8082111561299757600080fd5b6129a38a838b01612836565b975060208901359150808211156129b957600080fd5b6129c58a838b01612836565b96506129d360408a016128aa565b955060608901359150808211156129e957600080fd5b6129f58a838b016128c0565b9450612a0360808a0161294e565b935060a0890135915080821115612a1957600080fd5b50612a2689828a016128c0565b9150509295509295509295565b600060208284031215612a4557600080fd5b813564ffffffffff8116811461201457600080fd5b60008083601f840112612a6c57600080fd5b50813567ffffffffffffffff811115612a8457600080fd5b6020830191508360208260051b8501011115612a9f57600080fd5b9250929050565b600080600080600060608688031215612abe57600080fd5b853567ffffffffffffffff80821115612ad657600080fd5b612ae289838a01612a5a565b90975095506020880135915080821115612afb57600080fd5b50612b0888828901612a5a565b96999598509660400135949350505050565b600081518084526020808501945080840160005b83811015612b6057815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612b2e565b509495945050505050565b6020815260006120146020830184612b1a565b600060208284031215612b9057600080fd5b5035919050565b600060208284031215612ba957600080fd5b6120148261294e565b60008060008060008060008060e0898b031215612bce57600080fd5b606089018a811115612bdf57600080fd5b8998503567ffffffffffffffff80821115612bf957600080fd5b818b0191508b601f830112612c0d57600080fd5b813581811115612c1c57600080fd5b8c6020828501011115612c2e57600080fd5b6020830199508098505060808b0135915080821115612c4c57600080fd5b612c588c838d01612a5a565b909750955060a08b0135915080821115612c7157600080fd5b50612c7e8b828c01612a5a565b999c989b50969995989497949560c00135949350505050565b600060208284031215612ca957600080fd5b813561201481612814565b60008060208385031215612cc757600080fd5b823567ffffffffffffffff811115612cde57600080fd5b612cea85828601612a5a565b90969095509350505050565b600060208284031215612d0857600080fd5b8151801515811461201457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417611a0a57611a0a612d18565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dbe57612dbe612d18565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600063ffffffff808316818103612e0d57612e0d612d18565b6001019392505050565b600061012063ffffffff808d1684528b6020850152808b16604085015250806060840152612e478184018a612b1a565b90508281036080840152612e5b8189612b1a565b905060ff871660a084015282810360c0840152612e7881876126af565b905067ffffffffffffffff851660e0840152828103610100840152612e9d81856126af565b9c9b505050505050505050505050565b60ff8181168382160190811115611a0a57611a0a612d18565b600060ff831680612f00577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b80820180821115611a0a57611a0a612d18565b8183823760009101908152919050565b828152606082602083013760800192915050565b600060208284031215612f5857600080fd5b6040516020810181811067ffffffffffffffff82111715612f7b57612f7b612726565b6040528251612f8981612814565b81529392505050565b60a08101612feb828567ffffffffffffffff80825116835280602083015116602084015250604081015173ffffffffffffffffffffffffffffffffffffffff808216604085015280606084015116606085015250505050565b73ffffffffffffffffffffffffffffffffffffffff83511660808301529392505050565b60006101208b835273ffffffffffffffffffffffffffffffffffffffff8b16602084015267ffffffffffffffff808b1660408501528160608501526130568285018b612b1a565b9150838203608085015261306a828a612b1a565b915060ff881660a085015283820360c085015261308782886126af565b90861660e08501528381036101008501529050612e9d81856126af565b80357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146128bb57600080fd5b600082601f8301126130e157600080fd5b813560206130f1612857836127f0565b82815260069290921b8401810191818101908684111561311057600080fd5b8286015b8481101561289f576040818903121561312d5760008081fd5b613135612755565b61313e8261294e565b815261314b8583016130a4565b81860152835291830191604001613114565b60006040828403121561316f57600080fd5b613177612755565b90506131828261294e565b81526131906020830161294e565b602082015292915050565b600060208083850312156131ae57600080fd5b823567ffffffffffffffff808211156131c657600080fd5b90840190608082870312156131da57600080fd5b6131e261277e565b8235828111156131f157600080fd5b8301604081890381131561320457600080fd5b61320c612755565b82358581111561321b57600080fd5b8301601f81018b1361322c57600080fd5b803561323a612857826127f0565b81815260069190911b8201890190898101908d83111561325957600080fd5b928a01925b828410156132a95785848f0312156132765760008081fd5b61327e612755565b843561328981612814565b8152613296858d016130a4565b818d0152825292850192908a019061325e565b845250505082870135858111156132bf57600080fd5b6132cb8b8286016130d0565b828901525083526132de8986880161315d565b8684015260608501358184015250508094505050505092915050565b805160408084528151848201819052600092602091908201906060870190855b81811015613373578351805173ffffffffffffffffffffffffffffffffffffffff1684528501517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1685840152928401929185019160010161331a565b50508583015187820388850152805180835290840192506000918401905b808310156133e2578351805167ffffffffffffffff1683528501517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1685830152928401926001929092019190850190613391565b50979650505050505050565b60208152600061201460208301846132fa565b60408101611a0a8284805167ffffffffffffffff908116835260209182015116910152565b67ffffffffffffffff81811683821601908082111561344757613447612d18565b5092915050565b60208152600082516080602084015261346a60a08401826132fa565b905060208401516134956040850182805167ffffffffffffffff908116835260209182015116910152565b5060408401516080840152809150509291505056fea164736f6c6343000813000a03852cfb0e754bf021c3c3b0cb7ca9b5aeb1aa4348f509c21cb84366d8b38907ff03d762ac202d463cf29cea6828eee8745f4c36f38ea57f5de755db4c0305246f890384a1255836ffbc25e868e53f62e59362f817bcd86482f070649896e6043e271300582002e28a49bda17d34c4df4d990f56b263d80ae72b13e14c8fe4f8cf8e23a273e154c333b76845bdf806369ef0f00134559988aa985c005820026e4e50f44f41cfda867d273f68274f9992f1bfbe150bf0c86d20db7ec541af42010000582002814fa7c7afad9fd4ca4c5bf102a135f9ba78e172b815f1b618cd5c920ef09d54465cb88b0bf2a984a7c6c053262c8137d667beae00582002817d789b7a6dbe8b95b0f21e189fb26d3d329de699cac7a267a9568298e0a5547a3c53356ae7797284b3c8dac27115015a8744bc005820025e41a5c93a4694424888a71a9a950527891295fc6a016245552c5d3879949354a39b7c0f08e4727c8325b4ad043513aa5185a4e200582002ace9b5569ba016113e31884532182bc747997e743c0b7f9c307302b5f83760549ca9809476be48b7a700d50b3d10a98d993dd8a500582002c3e7a65dd8d571253b5e347ee516590a1b9d06df701657817bbfbcddd51daf420101021941b3005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace581f0158ce8fc4a0f994dfd6e0a25592e775701df72df104097ecbf9fefb87160e03ef84d3428b144ca33694964849d9fffd690b673e1cbdc820776d73b6519cf0a500582002189645d070155992f913317643479c7b366cc60a2074b3576f698ffa5dcc9b420102005820027c6d8169d30f1bcd778eb8d6e85488f73122c727ae67c68f956ae3317e0fa154a616aeea440ecfb1aa8065a19e6e55652743b3fb005820025347c8fb357c00d1da9063127117cec897a9acbcf446381307b552635e691e4201090219c061032e03b3169f45249f5d0b94edd9f11a43e93ef6494b881efb77a9a569c7bef70b005820027bca8f7c1c56da874da29cd62c3769b9880d38a258a91fc6dd1cfb6b4d1a8e54fc038715c79ebcf7f9ee5723e466454b21434157005820022cc5bfc4c68764c32a0b47a51a75dfdcea335f6d3c1dc18ad1113654d7808242010d00582002e50288c51bb974952347032a0acb82756d4bb6744ab8a3faf838610753bf9c54925f08725819ed7fa98269a92a7c14093c4395c500581f02e98c8d409e85bdfe8e5375aadbdec424a7bac4d79794d715e3ae5d23ca6c42010c00581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4b293101000000000000000402182401410102194a01005820020f6fc672bab69ae7b381e3e7ba48702eb522f85c87b8a35c0830d8453b0ccf446668f327005820028c3a22b1e4688c94525eb9bc2cf1ce7601fc9e871dc6e10fc44f0f06340ce154c4fd363861673327bacfa1aee04b9a991459a1d200582002b9f453a0e26aff241f54ee80257eda895b667f781233694f79260969c3dc1f54ceed45ad0f1c8e621eef28a4643b06af04a6deb000582002de1355c8bed284f776135f43e565f252905d60e18bd09044662e1be34c4d4442010300582002b6568add3de3ad27117f492584dc8b60f845a571f64e0a558f08ea030e4b1054f2c04359575b08f71629ca89e9085b2d2076e28600582002d5bd529f9201e1b6b5aaec28451943804743501c81f5685056a5a9f1cb2d9542020a00582002386613aa013baf39354e35ea951b673b33d594866c9b498a2cec518d2f3655420209021927e003b9c9b7911de2951426366acb50351409d165dee635e77d5d8b21d03d23b6acf300582002dead0a59a7257b026cd56383c77ac812ace102015ef415fc93916bb47dd522420108037e92251e4e03b1550bf061093dcbd09a3afd92e9026ca013e7d82590f6d864b7005820026193071ab1e12cbe7579bfa94b878d2dd03e5fb4d77713879efaf678a6172a42010b005820036b3af3d604b1bb1421d1fc25da42fd137b99c7335cb1b50eddb4cc5fbffdf04201070058200330cdf1c4c9835c9369d93842b43f10bc4d1170406b72f7b61161ac54857b7054fc52b2196a94d08fc9614b8039821bce03bf58e8021902010219051800582002d4cdafa43a66737951f2be34d58bc3e98f6d2b9fe9ea3d386222346f62191f42020000582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688041100058200389019a96e5cb3eb3967c94a79b45c9693e01dbc8dc212251f5208d5666959042020f0219104000582002be76dcc250eb11e6a6b81ad82f638a79630c4b4415641d097411a47524634c420208005820020415e2e1b9e5d2c12f9e6e7e82a679cac763697e83206605149a3a6b53d3375458f94e05e34f9319627fafdb64bb01e8d590878c00582002786ca8f985b8adb0de73df0052ad2ed91db8313035df9caa6938d80f1945c854b4a378c2a17f4b8d4767616b4469807223f27a2602198644039f0bae091e07f53ea1376c51a1fbcd36e886a47f60e1c827a67f59d1894150a400582002a85bda57466373d493a84ba73851204df6a2c4ab166bbfc661f4920a3c775054cbf79800f67af0f5391d49b98c63ee4e3c976e2d0058200392bdd5bcaf773fb381724b360bd17ac25b544e3855f98b8de59661d72405105496d1d86b1bed64053410fdcc2e3585eb578dde1f0058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b042100502183000582002921ea498f2a3c7a717b51619d7814e263b9b16d865ead60409a2ef762bedec42010500582002421ac0a17effffb781402f09043fc7da2a43e374ec9a65e793004db01fb2165490f91a0ffdc93a11c045b3155f0b3cc0d9fb9ef6005820025624e5e6fed0a40b2114ccae6eb08f2c178bd7f980129dd9721d7a74e78d2454e336c8e4b6649c82a16a7c78577169a24baa7fff0219880e03536ee4da67506e08217d4068e0bcec4ecd077a9596766a7d07d8f64c27f80380032eddf80cbfd9d8e93fd38119677769f0a20e43b404f2618824e48d36f8a6960b01410000582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3548c9b2efb7c64c394119270bfece7f54763b958ad0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f411000582002f625a3a94ca488361168fa470b656d8aedde4bd0e0e23ae7946053592eab3642010a0058200250caf3f81c22a8d6e4113b1a96d84f8e4c83719c868ee6852a5f0691048fa042020b02190a480219ffff05581d02c0b86efedb788c6eaa7c57a627bef89c52a5c4a167cbbe11f06b6ac107011934b70219041003719205d56745eb7cde71ef3572305974bcc486a6ac3b854a94096b5ff518d00e0219eddd035e6d2f33ddb1c3496faa3a3d8f79b13954299cc18c11e843e053394667e72d8e038fe189d11b4486c975ae47af1a5df9ecb8db35c033b014db6db2f1b4cc246f500219ffff0219ffff0355189d3bdf9ce79b9d50945e3f7dd418d71fa4e0a375b4152af7ee8ec16f9f77037224dd1222a52687ceddbc5bbcac5acb9d3e4bfe60eec5c01e6a63db806dfb2803f0f9bd381903861b46f5122b0c0629fb45cd526b7d28354fddfd8b809092897e03d2b359f0b31c7168037aba78d022665755848ba8dc2d9e13181cfe71dfb767a20219ffff03a4135ff7e0b07d72778f013c0adfaa1e070a38c54755b2170a02c96d6b26c05b03d496333cb968226f3ced7331acd4479b69bfcc52e83c5cc789f47cbc9d62fee30352ef885383057508b7c06be5e45052b6ea90d36757d5979a86b869106c64501c0397aba9ab74aed9bcf6a639e248ca22b671b88efa4d6a65d04e5fdf61fc6f466303026b9ce0689407c689a7cbdc537628d887717409e368fdf745b552a7713a13fd03f8d1320a3112d158de1e0347d476f6fb44ddb3137d29ebfa5e14ebb8ca39fc8c03242f9768448ed5b7dfb884531800d46533d24b8523f538385750b2588fc3df6b03941390bdd70cfbaed7d13b579d8b641d4a844ab3c5cb2faa5ce5e7c5dcdc336b03fc13d5232487839289c7480d1bf0dad737010c63c7f443feeb51fecd089c1c14037117323f8254b7d415f90c3577250095dc309059a28bc96a8358353ea2dd5a26037dfd61aafb3bd2914966b282c43e988a597515110b51461d13887c7e397cb041034bde721a7fb40b98533754511bd1313e4c549914271285faaff36e225fe190c50385900e0f55485afcae9222c46e8645eab97c8ccd3f5af561b7cf2ef9fdf519b0033178148d26df216489f4dfa492f99ab74f4666b0fdbd870e46f97548f6f0b8c103e8dfcff061283930fa98be55907403fba37da8fe20eb62e307a1ff7aae475f0a0365b1d59971c3b9e51894a4767a1f22eab1c8d1132b7ee61e3b7f7c44639154f2034cd8c0622ff1172f9d9de9e1aa69c746817d1b460eb1c7c295ddfba6f593c20f03dd6d122024471de0ffc17758aeb209ef5b979e9b6d0651e155053bbb604517f803d1834646246a2af299e3a78f6ea8d6d7bb3227b0d55e083c770f9492ed75d496038ea357e7cc55913aa7147f3d983fa9a289df5011d127a8afa68a04d4e19e5fd105581e03e6f517ebd45a995bfb62febe3ba217d441a7727e22469acd3fe1297c200c024701112c8186309805581e03aa97fc9acce525dcd13a9844e4f2a4d439641a14e759a7972d698db560040405581d027174692ea249369654920ef85d8477eda3540496ec13f8bc06538a140c01470109515af9500005581d02c95282af87f947073232e4b94d3ec850ce337e7418759661ab9e36160c014801a45c0c92165e9005581d0259b3e294da7c73074f4eb4429d2da51837c90700baa630d6010e0b9a040202194108030b4b962ac113cccc975fce1adec2542e3f0eafedc2202fd81f650b852a02f39c05581e03948a03da281053d84b57c3060ec5e6d79cad853915aa4a6474203b5a200c044745613cc6ecc8f005581e03bce0bff16cce5664442bdfea32b807740792e5d33a5090d2e6a98fbf60040103764ddbefe34617cc2464a1a9a2ffee14d14d9f7b4d07036f558a8eb4a4b231e7037c6f3ac10e6e296264ec88bdd4e260f995a3444214d6fa22bf9406813a8a68d301410d05581e03b90c93c84762abf4d98e56df78baeeae3257163ce2677848c40f8b915004010219f2ad034f9160e79d2d11fd3b5e5cf3fad2ba4082e0d3682ad83afcbb6ed3344965dfc303886001981bf9daeb28074d1950dc6dd735b14f6fcafadb6f486ebfe474fc2a76038b27b51ee286ec93e7be67eb72f693bdd47acaf1fbaad9475aaeb811405b799503f03ab8418737b69af4cb2c23acf6f31360e02479b4c600fa90e61deeb90ee2a60300fbd72dff1a7978a5fec7995b6db8a4621d536230a45e2a9245220aaa3a2f41038b2c44a70226d0d985d47f650f92747f46b0d663e5654345b7fedd75e8fcfd8503e87ac6769fc25ee81e276311e03c25567fd01772df0b3fea3f67598c1509d02103c83079602602a321acb9c84809edf53950910cc083859c31eb60446dcc202da3033f2c794abfe23b2f229abbeb636ef516224fe2f381a161713d86ce2abb262ef7030aea26664ded061394747fa17248be9c3eecf7a25526da791e743be5bd0fab7403f606be4a9be9fbdef5bfbd3df104cccea89b4a4455aa43f0203b2fe7c0c365770219ffff0333b44bff8f74b14c6f2840d5e4bcc4725812f1c3522969af06475694a38127b303d77446a063ed03bdd2e1a3643773a9bb6dace8f9c9c748c67c540fdc167ffef103fb18e61f07bb0cbb28da6c602e5bb8498b4673493ed6e2b1241b377650e53340034826a7287c5fa951148888a6e4e8c2271ad6b9d084f74fa8d281245f90d7cb5f03551e99680110d2bb39944a561cc8b9ad80a5b7b59069943b2109da8493ead0700219ffff034f1edeb0dcbc854673369c8a38c2227087f2b7be4b7761d04680af98d7e8379403e217421e85bfa58f5b1cec7fe7f304939d1188a72ee36fe821984dba4eceaca303c757c24e565dc8e01c850cd88118286938c816ee623857b0492ff296df63d97403e301cce503452d474bfe7fe48b0fad00503f0660cd356a05ab479424431d95d803f971ea8d633125e7e6d98bb367accf2886f399d7c15bcebb44ae889a9d33b824033e9d49182f9d34b8ecd2a2859d4463d51fa1c762366aea9f036783364a031c8f034c9237d4ae4abaaaedaf4b3f35794949416f590e03339b184c65969d30bd1d6a037c1bf2b31c60aacb4d9fa5af1a0cc48f29ff24ed0230b114b0afa4b1aa5933bd0399a4ce7d4fd82b3101b601e1b4637dab37c7aa14352737b676c8d840a7e9da6a034086d36830eadf2474e03cecb363e57a7a16bfb3faf0148e46c2817e4c16e8e4037d5a7636ac1da8d30e010767caae44b569757cc398e08850281672db93d4230203ab5e13cd81fec6b53b6454994b6d77ffa289ce7162260d91672dab4f55718dfd03ab2a7604f68b312ba7becc339f3a44ce9f977c30c7d92c9cf12b0cfef87bfae703f74d4d99a5b68ff1cd4b3c09cf29084eb3f7852b81fd574bd4ddd1f7ba15c477038ac7967b92ed900b468cdab0252dfd2cb2a4476468e86db581c664f972f1331603b2e7eab63b5ce6e3617d6f2b6cf3831d26397d8d55ed201c33ffaa4f66f8cf8e0353319805118f20f1b8d0a1bf784473e308c1f38ed5fdc34e5c9c3a583c741dfb03cd5d4369ec970f1fc3f4fe0671355e4d3a5d13fa0468efcee651b63e893799dd031c806c9ac24af9501c87a9ceeea350d92dd2ad9fb679bd45458d89c288dd7ed503649d259d6ea4953d15fbc0d0ea2ec143561e3e3705a0ea5ac8b03fcca6b3c3a2038fda88db739e6a3037f70f7a7bfc1c47d873fd4ebb346e8e49e69c6dc342777003b1af2dd18b3fde9d01ce9a2b7ab6a58288fa72a2bade7571fc494bf11d1021ec033f0e204505b7cfe7bf20d3131939578a782fa1aa69dbdb3288e1380922d92edd03248fdc459b6469eadbcd83d086419278a15dc2c1d8174aea7f2777dc2cde38a805581e0387f9f0892e0246708b608962a0c8f6f8d4b7e49400a7f77b5055c775200c034503f5476a0003515358331ad6d125e14e99753dc5b35c28647a5efd9eb9bb861a93a7c3a22102033b86e3216667debeca482165f40ea1287dffef7e94f73c377f5652cf11aafe7b05581e034623e16a91cfdb6b01fabbd416bb463f1ec4acd51be5e9f3db35226ad007011bffffffffffffffff05581e03f09479d97b216384c9a965880db6898bc50016940ef39124dd67b86be0040105581e0308ee2d092b123c5d05470ebb8fe31a1e25b7d635b2dabe90586dc814600c0145a2fb405800037d2c854c1523362a25d03bbdf2becd540b3d090ec83d0da4d68777b3c4b431ed05581e033a15ca31e5624e5b47413f4d275d54ee6f8b366778e27bb2ab90d6f510040305581d02b651c7bfb0aede19d9648a00183899a7c023f47f22880ac72b2cbdea040105581d02cf85e0bf4355b702c1e3bc0cc5c9759cb5c33098482cf10fbe001dcc0c0647017b08258d2eb805581d02fcf007f40dfccde00e3b6fd8a9db2f4a68a842301a6e0cf6e5b38c2f0c024701bf610b5ba9000219214005581e0372aa739c5df6e3c23ed50cb5076ebf33b1b69e053bed0d05e1b877c8b00c01454861dcfa340219b1e503f150f93ddff7a50d6b856659fec1e41437b891bccbb06e12f9391033c20fbda7038e7b367aca7faf6ab745ab8384d886c350d525d6b1d349279f9589becb0c94a203e66bd35c3c82436b54ec4c27354da44cb3fbaf0275f34264fa64f55f1b6029fb0378562d568673fa55479acf295f91105c37eceee29dde845df53986ed829577aa037d293054b2f51d3da0fb24fbd001fec721d3dfc30f54393231a6daf41b61ba6803883aeaec249e4f7006438291e3fe0f8289c801e66ebe45d0dde4e5432f463c1803a16b2454adc9ae9f4185553460f771c1c32da26320fab728e0a18d8c3b8efd9b03d2cfefc006613c0a49436611c92a0ed5fc7e79381097a5be27876edcef9965ac031c130a8838e0f183e1bedb4c74087ea123e9e5c0c0e7ac7fdb52f12defe9973103c31ff960678b217f60921468fd9afea1706e43f6109330fdebbcd188f1cd29b303470c72057e946af6df901d5fdf11dcc0b08ab874cbaf28c35cad3ae94f4b92290219ffff0372cdf6d484d9bd620623e2c5f8ee499fce08b0196126070f00aca807276941cc030eda82d75f319ace7b2b129db2a2ee5effee533d2054f5e3d570ea2848b62ba7039bf2a1f84c93ba4703ecddd0c26ee7f5e400022685396bbe395b09359f2099140219ffff03a2ab04a1b0b073ac6c188aa4d9d3e9463e8f3daf599845d4dbbf3d9f88a5b06303ff8b0cf2131f72513eedab7adf28dd1a5667cc5ddc37d325951e1e8de70cafc7034af175c60dce9f4acba8dbbbf0d5d02c4510e69edfaaf15c9e002788d22440e203153fd2155a0c6061bc2afe75fbcbe2de328d14bcf0a583df0b62c5861f3772590219ffff034b8626794960306821a6262a9479f906feab39e19f6a3fe22618282a1de244cd031e574578929d45bf6dc4c4d40dedf840cb8e190e0b26c454b6a17e33e8163027032243d7845331d2c505ddd5fb0d7ba76d7dfbe3880aa2eecdb368f1aa72d0b4e50306260e5e847f0406ecd8c0e52c4da98ac7698602d07302d494b44937f703039303fbafc26bf51bdfeeab9bf746e4e297f7352c1ad3dd59eda60a6810e6681670ad03e10ca05d11e615285087f24a1a387531409c9ca69bed041d60e29296197a67890313cfb31c22f4878f86c04c19bac84b900e94d290d776d72ff93119d990f4ee7d0373b3655903339b8b4fd0012c0918259e95c31f893c1a06f7d8b2eed56a94c3720303c72bc30f0cc419f8fd52904d74419ab2f5e01a89b6a9ba465524ea7b14066c0391c9a46cb330c88f930acf2fa515e0f7ab00fbe21c531d85c18b927ec7c79db003e0f49ec4746c6b8fc5d046c5f25e6d36b16a6f7328952a3e68ef4fc10e10e32303d5d092602a595edb912358015aa5028c8dbbaeb76c08e4e7d4c574bc319f5a3c035fe56b95caa8d035ce69c4f92e49d460cdb42ee345e32c16fc6b3a40ddcc600503fc75d249ad6db001da012972c9fd9945b4477d1e3633ca8b0e253f047a716bee0362a8f9fbe41f13cdf4a192c8f173e5f6af596e4377da6ee04387394395252631035cb833c6cffce69acc5bf83b8708074d594b196c6092d9260789f3cc4fa5fd6e03a22e4ab27ca67321017ccf2f6b07aa61877c769b5ddf6b2e574353a7cafe8be50375bad65d2048b44bddba7cdbd5f880181bd033f0fed8515de4e723dd152b14c603ee1c17f121ce8769303bcc451b8f1bd737213769a260cc778e285176654b3cca03cfccd642db6125c7809f29550ad50ad09a913657d4f305d8d9fa290d6635b71803dcdb3dd303de9603b5f522c2b2ecb2747cd6d814f47527ee393c3cab9ef028ef0399cf6ba6af2d7ad58409910c42d95deeda7f55099edc0a8d6cece3e8a8c59ad8030554e111b336dd7835207ec51f23b360daa8e70a84c4559088a7357816de9efa0320d182e0dc345d2241e72a3f3bec308f3e00e6bc795e089a156f073a28dde53c03590e0d8393de9dd113b6242e7ecad18074d7dd4ebc9c1af087a8825b816b97df0317a6ecfb29d8781d31999ebb48f2fbb56c15c27446bad1236a9ed7f73ad72b74030f142a996c5f31db82260f3b11617bd7e4ab30671f5e55f809bbd6d2e3b189f70307fec5e8d07bf64280308902ddeb8fa9bf2928258bbb57dd2e37191132f6fbd30322310d42a471e048407421d657dd375c79a3158d7e32305fcd3e20c58a057534032c31d8580557dd4aa74f37b32bf87f69c4c6a38323f93a86c9684fa0d6f07c60033908316ec8226676ac7df90ec92d5a63aab1ece54dfd9276705aae8d0a182e4e035d321b3aeb51857f9f26c26df231180f437cd6815f7f83bf1b23d7749f6c5dc2031ca7ef6dc5f2f1d4b4bb91afc9e8295f1cd2cf7da5530281f9906f542ee640f90378ee03763c9ff5256be1e1cc2cc0f213cc52c698fac178f29386a467c0dc8621035db3b032bdae7795b1ec41aad8c0903e7e33db7577a5270cf852a1b47d192fb90371ce72122c0567e4a40903187396a9835c9849bf2abd2c203148d2307efc6f4803dd609b87caecca888a4ae1e0d2651f5570d691603c290d2987787929aea2564d0370f31b2a01dd620554c1253b5f54a063a0e52e97bb53200c0adb2f4f0d6754f2034899aa3a7677fd4ff9212771981d598c75d6eed17ca1f7b048c70f6007a17fe70381b789f06b5c6b4ba7cf6a5dfb0000c35486ab09218e254057431819ed8441ad038adec60974f61bf33dbe07fdc032c6306f1182626ddaa22732cf0f8b503efccf03d4fc2683aed3696e45d198aae8535362c3066c663e67e96e14e29cec61ff060f03b380708098c4ffaf1f8bd2727a15593df0f33ef471881973176613889d8248b005581e03a343578da99610b3cee7b84d575c51ddf5739c4b3897e1dc48c7478c600c05467c4b9ec188b804592ab76003361161000c57611a82565b5f3560e01c34612aa6576354fd4d5081186100955760208060805260066040527f76322e302e30000000000000000000000000000000000000000000000000000060605260408160800181516020830160208301815181525050808252508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f35b634a2ab3be8118610ff75760e43610612aa657610a8c60043510156100ba575f6100c5565b631017df8060043511155b15612aa6576402540be40060243510156100df575f6100ed565b66b1a2bc2ec5000060243511155b15612aa65767016345785d8a000060a435101561010a575f61011f565b6d314dc6448d9338c15b0a0000000060a43511155b15612aa6575f6104e0525f6003905b806105005260c4356105005114610216576105005160028111612aa65760051b60440135670de0b6b3a7640000810281670de0b6b3a7640000820418612aa657905060a4358015612aa657808204905090506104e052662386f26fc100006104e051101561019c575f6101ad565b68056bc75e2d631000006104e05111155b610216576012610520527f556e736166652076616c75657320785b695d00000000000000000000000000006105405261052050610520518061054001601f825f031636823750506308c379a06104e052602061050052601f19601f6105205101166044016104fcfd5b60010181811861012e5750506040366105003760c43561024157600161050052600261052052610271565b600160c4351861025b575f61050052600261052052610271565b600260c43518610271575f610500526001610520525b6004358060ff1c612aa657610540526024358060ff1c612aa6576105605260a4358060ff1c612aa657610580526105005160028111612aa65760051b604401358060ff1c612aa6576105a0526105205160028111612aa65760051b604401358060ff1c612aa6576105c0526105605161056051026105e0526e0722112107720a4902cd0097b425ed61060052601b61056051671bc16d674ec8000002056e1566336316561edb086701c71c71c7016105c0516127106102d96105e0516105a05161058051610580510205026105405180820281191515600160ff1b8414151782158484840514171615612aa657905090500505058082038281135f831218612aa6579050905061062052601b673782dace9d90000061056051016105605102056e1566336316561edb086701c71c71c701612710601b61054051610580516105e051610580516105c0516105a051010380820281191515600160ff1b8414151782158484840514171615612aa65790509050050205058082018281125f831218612aa6579050905061064052601b61056051670de0b6b3a7640000016fb504f333f9de6484597d89b3754abea081127fffffffffffffffffffffffffffffffff4afb0ccc06219b7ba682764c8ab5416082131615612aa6576002810a90500561066052610600516003026106405180820281191515600160ff1b8414151782158484840514171615612aa65790509050610620518015612aa657808205600160ff1b8314155f198314151715612aa65790509050610620518082038281135f831218612aa657905090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8113156104e957806104f6565b805f038114612aa657805f035b9050610680525f6106a05273af298d050e4395d69670b12b7f4100000000000161068051121561064a5772047bf19673df52e37f2410011d10000000000161068051121561063557701d6329f1c35ca4bfabb9f5610000000001610680511215610621576ec097ce7bc90715b34b9f100000000161068051121561060f576d04ee2d6d415b85acef81000000016106805112156105ff576b204fce5e3e250261100000016106805112156105f05769d3c21bcecceda10000016106805112156105e35768056bc75e2d631000016106805112156105d85760016106a05261065d565b60646106a05261065d565b620f42406106a05261065d565b6402540be4006106a05261065d565b655af3107a40006106a05261065d565b670de0b6b3a76400006106a05261065d565b69021e19e0c9bab24000006106a05261065d565b6a52b7d2dcc80cd2e40000006106a05261065d565b6c0c9f2c9cd04674edea400000006106a0525b5f6106c052610620517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81131561069457806106a1565b805f038114612aa657805f035b9050610600517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8113156106d557806106e2565b805f038114612aa657805f035b90501361079f576106005161062051057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811315610720578061072d565b805f038114612aa657805f035b90506106c0526106a051610600516106c0518015612aa657808205600160ff1b8314155f198314151715612aa6579050905005610600526106a0516106c051610620510505610620526106a0516106c051610640510505610640526106a0516106c05161066051050561066052610895565b6106205161060051057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8113156107d657806107e3565b805f038114612aa657805f035b90506106c0526106a0516106c051610600510205610600526106a051610620516106c05180820281191515600160ff1b8414151782158484840514171615612aa6579050905005610620526106a051610640516106c05180820281191515600160ff1b8414151782158484840514171615612aa6579050905005610640526106a051610660516106c05180820281191515600160ff1b8414151782158484840514171615612aa6579050905005610660525b610600516003026106405180820281191515600160ff1b8414151782158484840514171615612aa657905090506106e052610620516106e05105610620518082038281135f831218612aa6579050905061070052610620516106e05160038102816003820518612aa6579050056106205160011b8082038281135f831218612aa657905090506106205161062051610600516fb504f333f9de6484597d89b3754abea081127fffffffffffffffffffffffffffffffff4afb0ccc06219b7ba682764c8ab5416082131615612aa6576002810a9050601b810281601b820518612aa6579050056106605180820281191515600160ff1b8414151782158484840514171615612aa65790509050058082038281135f831218612aa6579050905061072052610720516fb504f333f9de6484597d89b3754abea081127fffffffffffffffffffffffffffffffff4afb0ccc06219b7ba682764c8ab5416082131615612aa6576002810a905061062051610700516fb504f333f9de6484597d89b3754abea081127fffffffffffffffffffffffffffffffff4afb0ccc06219b7ba682764c8ab5416082131615612aa6576002810a90508060021b816004820518612aa6579050056107005180820281191515600160ff1b8414151782158484840514171615612aa657905090508082018281125f831218612aa65790509050610740525f610760526001610740511215610adf5760406004610120376060604461016037604060a46101c037610ac8610780611b13565b610780516107a0525f6107c05260406107a0610ff5565b610740515f8112612aa6578060b5710100000000000000000000000000000000008210610b13578160801c91508060401b90505b69010000000000000000008210610b31578160401c91508060201b90505b650100000000008210610b4b578160201c91508060101b90505b63010000008210610b63578160101c91508060081b90505b620100008201810260121c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c905080830480828118828410021890509050905090508060ff1c612aa657610760525f610780525f610620511215610c6657610620517f80000000000000000000000000000000000000000000000000000000000000008114612aa6575f035f8112612aa65760c052610c286107a06124aa565b6107a0518060ff1c612aa6577f80000000000000000000000000000000000000000000000000000000000000008114612aa6575f0361078052610c90565b610620515f8112612aa65760c052610c7f6107a06124aa565b6107a0518060ff1c612aa657610780525b5f6107a0526001610720511215610d3a5761072051610760518082038281135f831218612aa657905090507f80000000000000000000000000000000000000000000000000000000000000008114612aa6575f035f8112612aa65760011c60c052610cfc6107c06124aa565b6107c0518060ff1c612aa6577f80000000000000000000000000000000000000000000000000000000000000008114612aa6575f036107a052610d7d565b61072051610760518082018281125f831218612aa657905090505f8112612aa65760011c60c052610d6c6107c06124aa565b6107c0518060ff1c612aa6576107a0525b670de0b6b3a7640000670de0b6b3a7640000610780516107805180820281191515600160ff1b8414151782158484840514171615612aa65790509050056107a05180820281191515600160ff1b8414151782158484840514171615612aa65790509050056107c052600361062051610620516107005180820281191515600160ff1b8414151782158484840514171615612aa657905090506107c0518015612aa657808205600160ff1b8314155f198314151715612aa657905090508082018281125f831218612aa657905090506107c0518082038281135f831218612aa65790509050056107e052610600516105a0516105c051601b610580516105805180820281191515600160ff1b8414151782158484840514171615612aa6579050905005056105805180820281191515600160ff1b8414151782158484840514171615612aa65790509050056107e05180820281191515600160ff1b8414151782158484840514171615612aa657905090500561080052610800515f8112612aa65761082052610600516107e051670de0b6b3a7640000810281670de0b6b3a7640000820518612aa6579050055f8112612aa6576108405260a43561082051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050046104e052662386f26fc0ffff6104e0511015610f75575f610f86565b68056bc75e2d631000006104e05111155b610fef576012610860527f556e736166652076616c756520666f72207900000000000000000000000000006108805261086050610860518061088001601f825f031636823750506308c379a061082052602061084052601f19601f61086051011660440161083cfd5b60406108205bf35b63c7fab70881186110145760a43610612aa6575f6102005261102f565b637b12e009811861167c5760c43610612aa65760a435610200525b60606044604037611041610280611a86565b610280805161022052602081015161024052604081015161026052507901f20fe5212d2319f8671d495c8ba43b5b4b98d506d374fd487a6102205111612aa6576102205115612aa6576102605161024051610220510101610280525f6102a052610200516110dc5761022051610160526102405161018052610260516101a0526110cc6102c06126b3565b6102c0516003026102a052611286565b6ec097ce7bc90715b34b9f10000000016102805110156111fd5769d3c21bcecceda10000016102805110156111795761020051670de0b6b3a76400006102205161024051808202811583838304141715612aa657905090500461026051808202811583838304141715612aa6579050905004601b810281601b820418612aa657905060c05261116c6102c06124aa565b6102c0516102a052611286565b6102005169d3c21bcecceda10000006102205161024051808202811583838304141715612aa657905090500461026051808202811583838304141715612aa6579050905004601b810281601b820418612aa6579050620f4240810281620f4240820418612aa657905060c0526111f06102c06124aa565b6102c0516102a052611286565b610200516ec097ce7bc90715b34b9f10000000006102205161024051808202811583838304141715612aa657905090500461026051808202811583838304141715612aa6579050905004601b810281601b820418612aa657905064e8d4a5100081028164e8d4a51000820418612aa657905060c05261127d6102c06124aa565b6102c0516102a0525b610140366102c0375f60ff905b80610400526102a0516103a0526102a0516003610260516102a0516003610240516102a051600361022051670de0b6b3a76400000202040202040202046102c052670de0b6b3a7640000602435016102e0526102c0516102e051116113075760016102e0516102c05103016102e052611318565b60016102c0516102e05103016102e0525b6004356127106102e0516024356102e0516024356102a051670de0b6b3a764000002040204020204610300526102e0516102c0516753444835ec580000020461032052670de0b6b3a76400006102a0516103205102046102c0516003610300510204670de0b6b3a7640000610320516102805102046102805101010361034052610340516102a051610280516103405101808202811583838304141715612aa657905090500461036052610340516102a0516102a051808202811583838304141715612aa657905090500461038052670de0b6b3a763ffff6102c051111561145457610380516102c051670de0b6b3a76400006102c05103670de0b6b3a76400006102a051610340516103005104808202811583838304141715612aa65790509050040204808203828111612aa65790509050610380526114aa565b610380516102c0516102c051670de0b6b3a764000003670de0b6b3a76400006102a051610340516103005104808202811583838304141715612aa65790509050040204808201828110612aa65790509050610380525b6103805161036051116114cc5761036051610380510360011c6102a0526114da565b6103805161036051036102a0525b6103a0516102a051116114f9576102a0516103a051036103c052611507565b6103a0516102a051036103c0525b6102a05180662386f26fc10000811882662386f26fc100001102189050655af3107a40006103c051021015611609575f6003905b8060051b6102200151610420526102a051670de0b6b3a76400006104205102046103e052662386f26fc0ffff6103e0511015611577575f611588565b68056bc75e2d631000006103e05111155b6115f1576012610440527f556e736166652076616c75657320785b695d00000000000000000000000000006104605261044050610440518061046001601f825f031636823750506308c379a061040052602061042052601f19601f61044051011660440161041cfd5b60010181811861153b575050505060206102a061167a565b6001018181186112935750506010610400527f446964206e6f7420636f6e7665726765000000000000000000000000000000006104205261040050610400518061042001601f825f031636823750506308c379a06103c05260206103e052601f19601f6104005101166044016103dcfd5bf35b63754b76b381186119cb5760c43610612aa65767016345785d8a000060643510156116a7575f6116bc565b6d314dc6448d9338c15b0a0000000060643511155b15612aa657606435606435606435600435601b810281601b820418612aa6579050602435808202811583838304141715612aa6579050905004604435808202811583838304141715612aa65790509050046ec097ce7bc90715b34b9f10000000008102816ec097ce7bc90715b34b9f1000000000820418612aa6579050046040526ec097ce7bc90715b34b9f10000000006ec097ce7bc90715b34b9f10000000006040518060011b818160011c18612aa6579050604051808202811583838304141715612aa6579050905004604051808202811583838304141715612aa65790509050046002670de0b6b3a764000060a435010a808201828110612aa65790509050670de0b6b3a76400006ec097ce7bc90715b34b9f100000000060026040510a046729a2241af62c000060a43560011b01808202811583838304141715612aa6579050905004808203828111612aa65790509050606052612710600260a4350a60843502046080526060516ec097ce7bc90715b34b9f1000000000606435608051600435808202811583838304141715612aa6579050905004604051808202811583838304141715612aa6579050905004808201828110612aa6579050905060a05260a0516004356060516ec097ce7bc90715b34b9f1000000000606435608051602435808202811583838304141715612aa6579050905004604051808202811583838304141715612aa6579050905004808201828110612aa65790509050808202811583838304141715612aa657905090506024358015612aa65780820490509050670de0b6b3a7640000810281670de0b6b3a7640000820418612aa65790500460c05260a0516004356060516ec097ce7bc90715b34b9f1000000000606435608051604435808202811583838304141715612aa6579050905004604051808202811583838304141715612aa6579050905004808201828110612aa65790509050808202811583838304141715612aa657905090506044358015612aa65780820490509050670de0b6b3a7640000810281670de0b6b3a7640000820418612aa65790500460e052604060c0f35b63f42c56c281186119f65760243610612aa657602060043560c0526119f16101606124aa565b610160f35b63bad1dc268118611a235760643610612aa65760206060600461016037611a1e6102006126b3565b610200f35b63fa18042d8118611a555760843610612aa65760206060600460403760643560a052611a5061010061272c565b610100f35b6381d18d878118611a805760243610612aa6576020600435604052611a7b610120612854565b610120f35b505b5f5ffd5b60405160a05260605160c05260805160e05260a0516101005260c05160a0511015611ab95760c05160a0526101005160c0525b60e05160a0511015611ada5760a0516101005260e05160a0526101005160e0525b60e05160c0511015611afb5760c0516101005260e05160c0526101005160e0525b60a051815260c051602082015260e051604082015250565b5f610200525f6003905b80610220526101e0516102205114611c08576102205160028111612aa65760051b6101600151670de0b6b3a7640000810281670de0b6b3a7640000820418612aa65790506101c0518015612aa6578082049050905061020052662386f26fc10000610200511015611b8e575f611b9f565b68056bc75e2d631000006102005111155b611c08576012610240527f556e736166652076616c75657320785b695d00000000000000000000000000006102605261024050610240518061026001601f825f031636823750506308c379a061020052602061022052601f19601f61024051011660440161021cfd5b600101818118611b1d5750506101c05160038104905061022052670de0b6b3a7640000610240525f610260526101605161028052610180516102a0526101a0516102c0525f6101e05160028111612aa65760051b6102800152610280516040526102a0516060526102c051608052611c816102e0611a86565b6102e0805161034052602081015161036052604081015161038052506103405161028052610360516102a052610380516102c05261028051655af3107a4000810490506101c051655af3107a40008104905080828118828411021890509050606481811860648311021890506102e052600260028101905b8061030052610300518060030360038111612aa657905060028111612aa65760051b610280015161032052610220516101c051808202811583838304141715612aa657905090506103205160038102816003820418612aa65790508015612aa65780820490509050610220526102605161032051808201828110612aa6579050905061026052600101818118611cf95750505f6002905b8061030052610240516103005160028111612aa65760051b6102800151808202811583838304141715612aa6579050905060038102816003820418612aa65790506101c0518015612aa6578082049050905061024052600101818118611d9057505061018036610300375f60ff905b806104805261022051610320526102405161022051808202811583838304141715612aa6579050905060038102816003820418612aa65790506101c0518015612aa65780820490509050610340526102605161022051808201828110612aa657905090506103605261014051670de0b6b3a76400008101818110612aa657905061038052610340516103805111611ebc576103405161038051808203828111612aa6579050905060018101818110612aa657905061038052611ee4565b6103805161034051808203828111612aa6579050905060018101818110612aa6579050610380525b6101c051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050610140518015612aa6578082049050905061038051808202811583838304141715612aa65790509050610140518015612aa6578082049050905061038051808202811583838304141715612aa65790509050612710810281612710820418612aa6579050610120518015612aa657808204905090506103a05261034051671bc16d674ec80000810281671bc16d674ec80000820418612aa6579050610380518015612aa6578082049050905080670de0b6b3a764000001670de0b6b3a76400008110612aa65790506103c05261022051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050610360516103c051808202811583838304141715612aa65790509050808201828110612aa657905090506103a051808201828110612aa657905090506103e0526101c0516103c051808202811583838304141715612aa6579050905061040052610400516103e05110612080576103e05161040051808203828111612aa657905090506103e052612093565b610320518060011c90506102205261231b565b6103e051610220518015612aa65780820490509050610420526103a051610420518015612aa65780820490509050610440526103e0516101c051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050808201828110612aa65790509050610420518015612aa6578082049050905061044051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050610340518015612aa65780820490509050808201828110612aa65790509050610460526104405161036051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050610420518015612aa65780820490509050808201828110612aa65790509050610440526104405161046051106121c4576104605161044051808203828111612aa65790509050610220526121d3565b610320518060011c9050610220525b6103205161022051116121ff576103205161022051808203828111612aa657905090506103005261221a565b6102205161032051808203828111612aa65790509050610300525b6102e05161022051655af3107a4000810490508082811882841102189050905061030051101561231b5761022051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa65790506101c0518015612aa6578082049050905061020052662386f26fc10000610200511015612293575f6122a4565b68056bc75e2d631000006102005111155b61230d5760126104a0527f556e736166652076616c756520666f72207900000000000000000000000000006104c0526104a0506104a051806104c001601f825f031636823750506308c379a061046052602061048052601f19601f6104a051011660440161047cfd5b61022051835250505061238c565b600101818118611dff5750506010610480527f446964206e6f7420636f6e7665726765000000000000000000000000000000006104a0526104805061048051806104a001601f825f031636823750506308c379a061044052602061046052601f19601f61048051011660440161045cfd5b565b6040516080525f60a05260405160801c156123b25760405160801c608052608060a0525b60805160401c156123d05760805160401c608052604060a0510160a0525b60805160201c156123ee5760805160201c608052602060a0510160a0525b60805160101c1561240c5760805160101c608052601060a0510160a0525b60805160081c1561242a5760805160081c608052600860a0510160a0525b60805160041c156124485760805160041c608052600460a0510160a0525b60805160021c156124665760805160021c608052600260a0510160a0525b60805160011c1561247b57600160a0510160a0525b606051612488575f612493565b604051600160a0511b105b156124a257600160a0510160a0525b60a051815250565b5f60e0527812725dd1d243aba0e75fe645cc4873f9e64d542c5db234000060c051101561251e57710154484932d2e725a5bbca17a3aba173d3d560c0511015612509576ec097ce7bc90715b34b9f100000000060c0510260e052612525565b670de0b6b3a764000060c0510260e052612525565b60c05160e0525b60e0516040525f60605261253a61012061238e565b610120518060ff1c612aa65761010052610100515f8112612aa65760038106905061012052610120516103e80a610120516104ec0a6003610100515f8112612aa6570460020a020461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b0104610140527812725dd1d243aba0e75fe645cc4873f9e64d542c5db234000060c051101561269a57710154484932d2e725a5bbca17a3aba173d3d560c051106126aa57620f42406101405102610140526126aa565b64e8d4a510006101405102610140525b61014051815250565b670de0b6b3a7640000670de0b6b3a76400006101605161018051808202811583838304141715612aa65790509050046101a051808202811583838304141715612aa65790509050046101c0526101c051612710575f81525061272a565b6101c05160c0526127226101e06124aa565b6101e0518152505b565b604051606051808201828110612aa65790509050608051808201828110612aa6579050905060c0526040516729a2241af62c00008102816729a2241af62c0000820418612aa657905060c0518015612aa6578082049050905060e05260c05160e05160038102816003820418612aa6579050606051808202811583838304141715612aa657905090500460e05260c05160e05160038102816003820418612aa6579050608051808202811583838304141715612aa657905090500460e05260a0511561284c5760a051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa657905060a051670de0b6b3a76400008101818110612aa657905060e051808203828111612aa657905090508015612aa6578082049050905060e0525b60e051815250565b6040516060527ffffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c16040511361288c575f815250612aa4565b680755bf798b4a1bf1e460405113156128fb5760106080527f7761645f657870206f766572666c6f770000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b6503782dace9d9604051604e1b056060526b8000000000000000000000006bb17217f7d1cf79abc9e3b39860605160601b050160601d6080526bb17217f7d1cf79abc9e3b39860805102606051036060526d02d16720577bd19bf614176fe9ea6060516c10fe68e7fd37d0007b713f7650606051010260601d0160a05279d835ebba824c98fb31b83b2ca45c0000000000000000000000006060516e0587f503bb6ea29d25fcb74019645060a0516d04a4fd9f2a8b96949216d2255a6c60605160a05101030260601d01020160c0526d0277594991cfc85f6e2461837cd96060516c240c330e9fb2d9cbaf0fd5aafc606051030260601d0160e0526d1a521255e34f6a5061b25ef1c9c460605160e0510260601d0360e0526db1bbb201f443cf962f1a1d3db4a560605160e0510260601d0160e0526e02c72388d9f74f51a9331fed693f1560605160e0510260601d0360e0526e05180bb14799ab47a8a8cb2a527d5760605160e0510260601d0160e05260e05160c051056101005274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3610100510260805160c3035f8112612aa6571c8152505b565b5f80fda165767970657283000309000b0605581e03cf839feeebed81e31a936c7619b42b1731aa5523618ff7c1595c3c15b00701192ab705581e0307142694f225d50008ebc6e640eb0710c4c949d0eeb80f90e8117cedb00c03463212bb73c6980364f705046f22dcd5e4358f08b2badce4c1ee7e8a7f9ad4115d4d0689e57b4d5805581e0314fee9495afaa351cd699865eb30f20f4418158fb14387773b4586e0b0040303a09503d8e4ff3c88ff3b5b22205283bc3bc55259734c878b6fb14f8ab89e31b303ca9696461b7ef23cf4056da6e8f40d82ded18b0e1cf74c40e5aa1a82af833c85039670ab07dbfc0b475fb26bd98b8b9a87fbffd92358f4b5c6b4c31d40cc2f6d9605581e034de88cbdab51825a3360005838ad04cba770e91a40fbaff6602694bf200c02472b5b73ef1e08f80219b4da0219ffff03f4e57149046f4f2158e54210e5f085bdf2aa02b6a569b1524971be76d82dff480219ffff03bcd50deb24d203c4b64241c9eaa2103506546b5fc384d0be621d201973c2902b03a559bdc11997141425dfafa3a373b9b9e1f74b495ca9799178ce9fd08b6a0da60398214de93753375076d54bba906086e7586572979195a7a8b679eb1461de1ad403aa809e037df458d75d8e34f6130aa5abf716bb178fa2e1d9281888bcbdcf18fb0219ffff0394a61ecf89e5f6c6fc0d20331d1c671595992e92d00ae42619aef7b6f02ba76a0219ffff035f661982da9b5b713b4e0604bae805acdb0bbd595a8b2e91d8709e0bc738e8b103bd7c15016c1a5c2f347df23bac626eeae96a5273059281deab96f6aa6ddb497903ae25ad4f1ac045eaf851d0ea33051ee5ba2b7e73f2f8c15b14a8e5e9a9a224bf03189804e30debb82020bc8d4898962784356306cfd5ad4013add8dd3a30e4a61303b015575cc72b3ef41d657c2c451568a68afef02d5c1b1b4c4a9a4745bb06d962037718d02d82bccb897b60ee4d8a64e0c32f9e0f56254c2227cb2cfc1abe39e25e037f23ca10e445896f63dd1d942bcda8e17088b280aea7b3a462cc5ae49ac4f23f0310641a98e9617f40860c8dd21f3b67dcced2c516657ba439d68da79a9b9d53770311fb1f844703adb303b250ac30cb11d76dc71f3083e58b1820345269424459a403853d87cefef22cd27f6b4202fbd8d09de95f3e43445d5715fbd3c920829eab2a039bd5f2069bc6e5de30c347740616d46ffb43a12fdb5ff9cf9a76aa5f9c157e2303ef061a0f6946c39393974b65228e77a833c3b2f869432912ebc9f48cec694535035cbd70cb89b487956edde3992af745075a09370605567c51565360004bfed5ff039b4b8e1fcbe631a0fe4d460f469a4f13181197de8740ab6b597cce429cfbb31c0329f830ee357302a7dbe1be1014edcbac43cb0e6853539d16aa4e4aa38bd42cea0309007f4c873c6fc641e2cc9e6cf4336c887b7ebb571de050fda771857ac98aa7036602a2a2ae419a8fbc3b171eecbb4abb73a823247523f7923521f61061ca56bd0325bfbeeaf3d6066b27ef4f2daebea5c204fb544d1342c9422f5e87c94d7b6118036db40374d9fe549956c511136c4156e367b89558d7172c314ce82c8e9180dc1903a23e7065e7a035883b8dd572e06539e54c82bc06cc376c746101e168de12031803ca324f47dd79f49514b64899f2d60b1ca3313117977d8c26e985d3631448ff0303fb6388b26281a886083e3a3697100d75b3ac71e4bb76167adfd34a167fee19e8035d70168e56342f210819547840325671a8e81529c92ed0da8d40fa501a450c26036af96d920b0a2f783c71b73a9ab18cd946cfcf2be8a806461aa9ea27ef33e46303cfb006782afc946504d2beaee73e7e0e4f7cef4de27dd12ba9f713200353f085031fe3c4b8208d832d0d1ac3f65142f884075d9aaeed1a630b326d098c60fc31e103330348517e685ea147986c5299f87112a958f1fc5d712287a868f71c418ff8d103af9376136372fdcc62d0338724308a975b4652ff2ef89e7cf951e0bf5887499705581e03eaf3ce70e7c422dbf33c49daae425ae267f6885705d651c8780bd7fac00c0246069d24fa100005581e03108cb18c6228ef35deb43d7994d5a694e0b6fbdba696a61b28622ec2500401034760fd0a642fd75e1825c457f02ecf69ba2c6dcbfdd7b6ca3d2c2e8e9869e52405581e037a1daf90396f4fcda1f4c26f2cafca2566618455f5d3a089e7571969b00c024236b00344f7b53d41f681f3f145c8a6def60d23111dc9b32788eb8157e47d23288bb62301410905581e0334ef6e0395fe08166a6b2c366d8248c9b284ca8ae8729460fd80ff49f0040203e31816c43ac1c95682e50510f6d96c89e592447547198527f1a4debb64009503037e8199f10a8e6cbd1230fdedbaf5418ccc8c02c7a1545a8ecb480a99df491ad9036874d7c85853b203eca37b98a5737e3bcc2a3ff27d83872b2cc24718de6c34e205581d02c8bafe2a93a909068f7f3fd9ecc4345cf845620f1a4775d1549686e1040605581d02b2082f8a549f2eb39e6ca07a2dc611e822a67e8e784dc4d0da1e768b0c024624e05563303005581d02eb39e750ed6577cc3c1b7b41ebde15c2a58e753711a30ddbd1113c8b084725a8a4d29e800002190181031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03e7a2de4b4b15a05d78c28b0eed13dfb20d6d8302bf36d1549dc1aa653007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03085e787d1f572b140361c8be741829ee16fe3d2585d5708575e8cc108007011bffffffffffffffff0219dfcd0370e19fd689bd908d872af49cc2857c1fa376eadd923b10aff067348e23c016d20350bdf2b815b58d78f7afbaee0dfa6711df851efe41a6cf8cd6aecc1114b8b701035bc5ab83e6980d93952c1a02ef9dd3a542946d0d5c3d3f320fd0371704a13e8503306cda898a666d86e486d4435d4b83ffe7941d97d2ddf457a0b6978f3ae259450219ffff0377b2826c98a6b60aba641dfc6002cabf1ae0b64b7857ee7423e014866835673d036742e410cb3f614308c40a493800d15e0d4b2f6069290b9a48c7246296b286cc0302d7c108e9c3fb37ffcefec9ed4425b80c07d946908f435fd0014d36297f822e0219ffff0385c16a547142136022802963d630f7f47f13452ebf93fa57d23ae82776af44a9032092c6edc123c6e3c77c9ef817e652c4edb8a669917a9617190fd4d69adca00003a6398e123dbe5bb9a37dc26bc6ea927398107891e74f0a5f562fde8a5490d1dc033a498fca127c89a4341670f50400ede59077d814f9410562377f2d4f0ceaae9b0305a033a499ccaabe32da82c7387fd1423c22358ac4b92dc02bf8aa18d9b676a5035583ad8bfa03befd98c68964fafa1a4b72d750d918d6f9944c7468e7b6ebbe5603f54a25e227a4b02ca31726a56cb7caa882a70e6771a71fc5f7442882b0c432f0037a03167d95dd99346de2dceca54e8acf75aa71ac49b0be73f48f3801ba48c81b03879f43c982da6bc8cb4fefd1c9caf6291697de5201652366a1b7bf9d6e6929da031c0787fa886c49a081eb17e113fbb448a940fd370934f2aaa09a6c1734fdd551030c2a7d4bf3ba1c745a1d0a24082e22e441c7df80fe6ffcd8b6f1898e5649ea2a03d3551ffa3d9e61ef442b8ce7e32d283e9be81f4bc880d70aad2ba512bc575252037f6b4d373f2f654d9b1ac0e28af5f63fdcb7faac30ca0bc2c8b8a9d84170ca3603439123eb0b89d571446bdda9dab62c453be8f325aae5b307cbb61934debfbb540219ffff03d70d167a92e016b3057a08eceacc6401b14ba1de0f23d2cfb514f3d8af2d5eed038713791dab1abc2f6934b2267ca92b94888694b1241058bd9a4bb41d9e443a40036a199e5cfbcd7372b39a80a3e145162fd3e8c6abd97ef0fd52d68301150c1e7a03a54998a5172cbb90fe097ca649eafa560b88cec01bd36f37d1592ed38c9f4a7703136fd419b36cac0c98a368c4b7ab983a7febefdc97219429d8d9b075a4e309f3034553035f0384e25c49da21cdc38fbabe2cb3479b4c29d644c260299dd6b65bb403ad4ec6f86e16b205fd46f7f7fd6da07a9ffcbcd6d1e0c6152b0e8e50aa77a5bb0382b748bbc416401d84b3ff2e21ca497e67fe16e16fc4569bc09bd469497d8399030ce9c998c7e2b99632984c19fa3bffc4eda34fcdb63cb192e764101ea405f5b203c534e4146848bcfd4977a268b64be6cbf75932fddea1ba7c40f575dcf251f51803560735f35c757b9156bb034bf96ebef410571435e5700fdf5a72f57a9302f5b00363a9f34ccb323b1248ef702f54ae03e9b4cd2da2b93dd7ccf3084508608ce1f1037894d672114700e87a672b2ded4df860f5f79fa45ad34b1b517c3a08953d069803f67dbae440f7e70b73b2e652835fb6f2b393a0a8c866b82dca40a632f77a9126033904c1f6b51fe677516a214b3fc7e84ab9e64fae0241542bd33057cf9bb13def030783a033d32013c93ee9ee1a19648af306cd59d75f6b21001c4abbc1cc0d52a903773c6ef4cacbc0abbed2b0eda598ed4c07ae59884056de7581a13c74536c7d74033d861275fc7eb5090684c83e18344dfae14980c7af7248f907353cd411decb2e031286384d9fa066651e324f76ff8f87ecedb4fe3dba46cf8d9d060861d8ed5005030f1dfcf3e394629b3dd71f9dbf1c937561e677bb9d54f6668d5989db580195a303f715541659568574a806e9331f3eddab4ecb7218bae586cd538ece9546fbf98203fc017f8cc4c398f8611e72a95235fd92423f728ce226a1df34f4a1bbaeb46548038c0cb8c6f5eb34f5f239c48ba86efaf356f3dff03c8d9942ed6ad5d388b8ae7403e553e114a326f51817b4da87deb4f4a51a23d646444b0e0ffbe6c3482965ec4503caaee707d99040b4be8ded1d5a52c313d33f982833491b40beedbf41a0c1924603146bbc7b24118275c7905b56360f2d81bbadd6ed8a42d9a03c9991be6d1ed36c03085d928afbabca2af286b8e7adf2b9674c08bcd4ca576aebd2b60c83b8ab1c1803a7ce50b29610806c101ece588b9d3214dc63599b052be502023c284124c11c8003ec5b60b389c852b7008ed603f89c810cc79a8c1994f9796cf47422c81b88ed70031770a6068cebece1014f06745964234bb3ca49905b391ceb698443fc595124bc03013a9199d53b5f3942870548e2afb7b2ea68801b937e0704c6be81c39a0e7b5a03d554cae89f050d26de08ba1cca8b716b328275028175736cbb1ab9a8fcfcb90f03fed0105dfa8e160c26aadaa8e89554665adf531aebc916d486b450f1cf994ca8037eeda611d6029c0979b1a8da268f24512b3bc60e2917ab865a7ff980ff8462d10383a9f739e19bb961c68b27ea53830f325b90ee6e91c76e2eb22313968fb082140383cdd3afce3918f61c94b0ce8a14e407556239eb52c90962cb7967f55fd4a4a505581d02d201a392d023859c7bfdef6ee698af219488577c6269e7de2d7569bb08472386f26fc10000045934b7608060405234801561001057600080fd5b50600436106101985760003560e01c806379ba5097116100e3578063ad7a22f81161008c578063f2fde38b11610066578063f2fde38b146104fa578063f47a86901461050d578063ff888fb11461052057600080fd5b8063ad7a22f8146104b4578063afcb95d7146104c7578063b1dc65a4146104e757600080fd5b80638da5cb5b116100bd5780638da5cb5b146104645780638db94e441461048c578063a7206cd61461049457600080fd5b806379ba50971461042457806381ff70481461042c5780638456cb591461045c57600080fd5b806332048875116101455780635c975abb1161011f5780635c975abb146103b4578063666cab8d146103d05780637437ff9f146103e557600080fd5b806332048875146103795780633f4ba83a1461039a5780634120fccd146103a257600080fd5b8063181f5a7711610176578063181f5a77146103085780631ef381741461035157806329b980e41461036657600080fd5b806306285c691461019d5780630a6cd30d146102c057806310c374ed146102d8575b600080fd5b6102aa60408051608081018252600080825260208201819052918101829052606081019190915260405180608001604052807f00000000000000000000000000000000000000000000000045849994fc9c7b1567ffffffffffffffff1681526020017f00000000000000000000000000000000000000000000000044ae84d8e9a3744467ffffffffffffffff1681526020017f000000000000000000000000ce11020d56e5fdbfe46d9fc3021641ffbbb5adee73ffffffffffffffffffffffffffffffffffffffff1681526020017f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff16815250905090565b6040516102b79190612656565b60405180910390f35b6102c8610533565b60405190151581526020016102b7565b60095468010000000000000000900464ffffffffff165b60405167ffffffffffffffff90911681526020016102b7565b6103446040518060400160405280601181526020017f436f6d6d697453746f726520312e322e3000000000000000000000000000000081525081565b6040516102b79190612713565b61036461035f366004612966565b6105ca565b005b610364610374366004612a33565b610deb565b61038c610387366004612aa6565b610e37565b6040519081526020016102b7565b610364610f2d565b60095467ffffffffffffffff166102ef565b6009546d0100000000000000000000000000900460ff166102c8565b6103d8610f93565b6040516102b79190612b6b565b604080516020808201835260009091528151808201835260085473ffffffffffffffffffffffffffffffffffffffff16908190529151918252016102b7565b610364611002565b6004546002546040805163ffffffff808516825264010000000090940490931660208401528201526060016102b7565b6103646110ff565b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102b7565b6102c861116f565b61038c6104a2366004612b7e565b6000908152600a602052604090205490565b6103646104c2366004612b97565b611226565b6040805160018152600060208201819052918101919091526060016102b7565b6103646104f5366004612bb2565b611269565b610364610508366004612c97565b611889565b61036461051b366004612cb4565b61189d565b6102c861052e366004612b7e565b61193c565b60007f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff1663397796f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190612cf6565b15905090565b855185518560ff16601f831115610642576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f746f6f206d616e79207369676e6572730000000000000000000000000000000060448201526064015b60405180910390fd5b806000036106ac576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f66206d75737420626520706f73697469766500000000000000000000000000006044820152606401610639565b81831461073a576040517f89a61989000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6f7261636c6520616464726573736573206f7574206f6620726567697374726160448201527f74696f6e000000000000000000000000000000000000000000000000000000006064820152608401610639565b610745816003612d47565b83116107ad576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661756c74792d6f7261636c65206620746f6f206869676800000000000000006044820152606401610639565b6107b5611a10565b6107be86611a93565b60065460005b818110156108ba5760056000600683815481106107e3576107e3612d5e565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556007805460059291908490811061085357610853612d5e565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556108b381612d8d565b90506107c4565b50895160005b81811015610c935760008c82815181106108dc576108dc612d5e565b60200260200101519050600060028111156108f9576108f9612dc5565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260056020526040902054610100900460ff16600281111561093857610938612dc5565b1461099f576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f7265706561746564207369676e657220616464726573730000000000000000006044820152606401610639565b73ffffffffffffffffffffffffffffffffffffffff81166109ec576040517fd6c62c9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915260ff83168152602081016001905273ffffffffffffffffffffffffffffffffffffffff821660009081526005602090815260409091208251815460ff9091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082168117835592840151919283917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001617610100836002811115610a9c57610a9c612dc5565b021790555090505060008c8381518110610ab857610ab8612d5e565b6020026020010151905060006002811115610ad557610ad5612dc5565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260056020526040902054610100900460ff166002811115610b1457610b14612dc5565b14610b7b576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f7265706561746564207472616e736d69747465722061646472657373000000006044820152606401610639565b73ffffffffffffffffffffffffffffffffffffffff8116610bc8576040517fd6c62c9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915260ff84168152602081016002905273ffffffffffffffffffffffffffffffffffffffff821660009081526005602090815260409091208251815460ff9091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082168117835592840151919283917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001617610100836002811115610c7857610c78612dc5565b0217905550905050505080610c8c90612d8d565b90506108c0565b508a51610ca79060069060208e0190612598565b508951610cbb9060079060208d0190612598565b506003805460ff838116610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909216908c161717905560048054610d41914691309190600090610d139063ffffffff16612df4565b91906101000a81548163ffffffff021916908363ffffffff160217905563ffffffff168e8e8e8e8e8e611c4f565b600260000181905550600060048054906101000a900463ffffffff169050436004806101000a81548163ffffffff021916908363ffffffff1602179055507f1591690b8638f5fb2dbec82ac741805ac5da8b45dc5263f4875b0496fdce4e0581600260000154600460009054906101000a900463ffffffff168f8f8f8f8f8f604051610dd599989796959493929190612e17565b60405180910390a1505050505050505050505050565b610df3611a10565b6009805464ffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffffff909216919091179055565b6009546000906d0100000000000000000000000000900460ff1615610e88576040517feced32bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610ef987878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808b0282810182019093528a82529093508a925089918291850190849080828437600092019190915250889250611cfa915050565b9050610f048161193c565b610f12576000915050610f24565b6000908152600a602052604090205490505b95945050505050565b610f35611a10565b600980547fffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffff1690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b60606007805480602002602001604051908101604052809291908181526020018280548015610ff857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610fcd575b5050505050905090565b60015473ffffffffffffffffffffffffffffffffffffffff163314611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e6572000000000000000000006044820152606401610639565b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b611107611a10565b600980547fffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffff166d01000000000000000000000000001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610f89565b60007f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff1663397796f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112009190612cf6565b15801561122157506009546d0100000000000000000000000000900460ff16155b905090565b61122e611a10565b600980547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b611278878760208b013561201b565b6040805160608101825260025480825260035460ff8082166020850152610100909104169282019290925289359182146112eb5780516040517f93df584c000000000000000000000000000000000000000000000000000000008152600481019190915260248101839052604401610639565b467f00000000000000000000000000000000000000000000000000000000000000011461136c576040517f0f01ce850000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000016004820152466024820152604401610639565b6040805183815260208c81013560081c63ffffffff16908201527fb04e63db38c49950639fa09d29872f21f5d49d614f3a969d8adf3d4b52e41a62910160405180910390a160007f00000000000000000000000000000000000000000000000000000000000000001561140e576002826020015183604001516113ef9190612ead565b6113f99190612ec6565b611404906001612ead565b60ff169050611424565b602082015161141e906001612ead565b60ff1690505b86811461145d576040517f71253a2500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868514611496576040517fa75d88af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526005602090815260408083208151808301909252805460ff808216845292939192918401916101009091041660028111156114d9576114d9612dc5565b60028111156114ea576114ea612dc5565b905250905060028160200151600281111561150757611507612dc5565b14801561154e57506007816000015160ff168154811061152957611529612d5e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1633145b611584576040517fda0f08e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000611592866020612d47565b61159d896020612d47565b6115a98c610144612f0f565b6115b39190612f0f565b6115bd9190612f0f565b9050368114611601576040517f8e1192e100000000000000000000000000000000000000000000000000000000815260048101829052366024820152604401610639565b5060008a8a604051611614929190612f22565b60405190819003812061162b918e90602001612f32565b60405160208183030381529060405280519060200120905061164b612622565b8860005b818110156118785760006001858a846020811061166e5761166e612d5e565b61167b91901a601b612ead565b8f8f8681811061168d5761168d612d5e565b905060200201358e8e878181106116a6576116a6612d5e565b90506020020135604051600081526020016040526040516116e3949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015611705573d6000803e3d6000fd5b5050604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081015173ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152848220848601909552845460ff808216865293975091955092939284019161010090910416600281111561178857611788612dc5565b600281111561179957611799612dc5565b90525090506001816020015160028111156117b6576117b6612dc5565b146117ed576040517fca31867a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051859060ff16601f811061180457611804612d5e565b602002015115611840576040517ff67bc7c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600185826000015160ff16601f811061185b5761185b612d5e565b9115156020909202015250611871905081612d8d565b905061164f565b505050505050505050505050505050565b611891611a10565b61189a81612428565b50565b6118a5611a10565b60005b818110156119375760008383838181106118c4576118c4612d5e565b9050602002013590506118d68161193c565b611926576000818152600a602052604080822091909155517f202f1139a3e334b6056064c0e9b19fd07e44a88d8f6e5ded571b24cf8c371f129061191d9083815260200190565b60405180910390a15b5061193081612d8d565b90506118a8565b505050565b6040805180820182523081526020810183815291517f4d616771000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9081166004830152915160248201526000917f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e811690634d61677190604401602060405180830381865afa1580156119e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0a9190612cf6565b92915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610639565b565b600081806020019051810190611aa99190612f46565b805190915073ffffffffffffffffffffffffffffffffffffffff16611afa576040517f3f8be2be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055600980547fffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffffff169055604080516080810182527f00000000000000000000000000000000000000000000000045849994fc9c7b1567ffffffffffffffff90811682527f00000000000000000000000000000000000000000000000044ae84d8e9a374441660208201527f000000000000000000000000ce11020d56e5fdbfe46d9fc3021641ffbbb5adee8316818301527f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e819092166060830152517fc9d7123efd4203e60b0f0a4b1dbc4800fc97ce63679f71c3a27279b24a7ddec391611c43918490612f92565b60405180910390a15050565b6000808a8a8a8a8a8a8a8a8a604051602001611c739998979695949392919061300f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101207dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e01000000000000000000000000000000000000000000000000000000000000179150509998505050505050505050565b8251825160009190818303611d3b576040517f11a6b26400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101018211801590611d4f57506101018111155b611d85576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82820101610100811115611de6576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611e135786600081518110611e0157611e01612d5e565b60200260200101519350505050612014565b60008167ffffffffffffffff811115611e2e57611e2e612726565b604051908082528060200260200182016040528015611e57578160200160208202803683370190505b50905060008080805b85811015611f9a5760006001821b8b811603611ebb5788851015611ea4578c5160018601958e918110611e9557611e95612d5e565b60200260200101519050611edd565b8551600185019487918110611e9557611e95612d5e565b8b5160018401938d918110611ed257611ed2612d5e565b602002602001015190505b600089861015611f0d578d5160018701968f918110611efe57611efe612d5e565b60200260200101519050611f2f565b8651600186019588918110611f2457611f24612d5e565b602002602001015190505b82851115611f69576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f73828261251d565b878481518110611f8557611f85612d5e565b60209081029190910101525050600101611e60565b506001850382148015611fac57508683145b8015611fb757508581145b611fed576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600186038151811061200257612002612d5e565b60200260200101519750505050505050505b9392505050565b6009546d0100000000000000000000000000900460ff1615612069576040517feced32bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff1663397796f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f89190612cf6565b1561212f576040517fc148371500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061213d8385018561319b565b8051515190915015158061215657508051602001515115155b1561228e5760095464ffffffffff8084166801000000000000000090920416101561225357600980547fffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffffff166801000000000000000064ffffffffff85160217905560085481516040517f3937306f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691633937306f9161220d916004016133ee565b600060405180830381600087803b15801561222757600080fd5b505af115801561223b573d6000803e3d6000fd5b50505050604081015161224e5750505050565b61228e565b604081015161228e576040517ff803a2ca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208101515160095467ffffffffffffffff90811691161415806122c9575060208082015190810151905167ffffffffffffffff9182169116115b156123065780602001516040517fbb1ae18d0000000000000000000000000000000000000000000000000000000081526004016106399190613401565b6040810151612341576040517f504570e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040808201516000908152600a60205220541561238a576040517fa0bce24f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602080820151015161239d906001613426565b600980547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff929092169190911790556040818101516000908152600a602052819020429055517f291698c01aa71f912280535d88a00d2c59fb63530a3f5d0098560468acb9ebf59061241a90839061344e565b60405180910390a150505050565b3373ffffffffffffffffffffffffffffffffffffffff8216036124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610639565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b600081831061255f5760408051600160208083019190915281830185905260608083018790528351808403909101815260809092019092528051910120612014565b60408051600160208083019190915281830186905260608083018690528351808403909101815260809092019092528051910120612014565b828054828255906000526020600020908101928215612612579160200282015b8281111561261257825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9091161782556020909201916001909101906125b8565b5061261e929150612641565b5090565b604051806103e00160405280601f906020820280368337509192915050565b5b8082111561261e5760008155600101612642565b60808101611a0a828467ffffffffffffffff80825116835280602083015116602084015250604081015173ffffffffffffffffffffffffffffffffffffffff808216604085015280606084015116606085015250505050565b6000815180845260005b818110156126d5576020818501810151868301820152016126b9565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061201460208301846126af565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561277857612778612726565b60405290565b6040516060810167ffffffffffffffff8111828210171561277857612778612726565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156127e8576127e8612726565b604052919050565b600067ffffffffffffffff82111561280a5761280a612726565b5060051b60200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461189a57600080fd5b600082601f83011261284757600080fd5b8135602061285c612857836127f0565b6127a1565b82815260059290921b8401810191818101908684111561287b57600080fd5b8286015b8481101561289f57803561289281612814565b835291830191830161287f565b509695505050505050565b803560ff811681146128bb57600080fd5b919050565b600082601f8301126128d157600080fd5b813567ffffffffffffffff8111156128eb576128eb612726565b61291c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016127a1565b81815284602083860101111561293157600080fd5b816020850160208301376000918101602001919091529392505050565b803567ffffffffffffffff811681146128bb57600080fd5b60008060008060008060c0878903121561297f57600080fd5b863567ffffffffffffffff8082111561299757600080fd5b6129a38a838b01612836565b975060208901359150808211156129b957600080fd5b6129c58a838b01612836565b96506129d360408a016128aa565b955060608901359150808211156129e957600080fd5b6129f58a838b016128c0565b9450612a0360808a0161294e565b935060a0890135915080821115612a1957600080fd5b50612a2689828a016128c0565b9150509295509295509295565b600060208284031215612a4557600080fd5b813564ffffffffff8116811461201457600080fd5b60008083601f840112612a6c57600080fd5b50813567ffffffffffffffff811115612a8457600080fd5b6020830191508360208260051b8501011115612a9f57600080fd5b9250929050565b600080600080600060608688031215612abe57600080fd5b853567ffffffffffffffff80821115612ad657600080fd5b612ae289838a01612a5a565b90975095506020880135915080821115612afb57600080fd5b50612b0888828901612a5a565b96999598509660400135949350505050565b600081518084526020808501945080840160005b83811015612b6057815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612b2e565b509495945050505050565b6020815260006120146020830184612b1a565b600060208284031215612b9057600080fd5b5035919050565b600060208284031215612ba957600080fd5b6120148261294e565b60008060008060008060008060e0898b031215612bce57600080fd5b606089018a811115612bdf57600080fd5b8998503567ffffffffffffffff80821115612bf957600080fd5b818b0191508b601f830112612c0d57600080fd5b813581811115612c1c57600080fd5b8c6020828501011115612c2e57600080fd5b6020830199508098505060808b0135915080821115612c4c57600080fd5b612c588c838d01612a5a565b909750955060a08b0135915080821115612c7157600080fd5b50612c7e8b828c01612a5a565b999c989b50969995989497949560c00135949350505050565b600060208284031215612ca957600080fd5b813561201481612814565b60008060208385031215612cc757600080fd5b823567ffffffffffffffff811115612cde57600080fd5b612cea85828601612a5a565b90969095509350505050565b600060208284031215612d0857600080fd5b8151801515811461201457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417611a0a57611a0a612d18565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dbe57612dbe612d18565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600063ffffffff808316818103612e0d57612e0d612d18565b6001019392505050565b600061012063ffffffff808d1684528b6020850152808b16604085015250806060840152612e478184018a612b1a565b90508281036080840152612e5b8189612b1a565b905060ff871660a084015282810360c0840152612e7881876126af565b905067ffffffffffffffff851660e0840152828103610100840152612e9d81856126af565b9c9b505050505050505050505050565b60ff8181168382160190811115611a0a57611a0a612d18565b600060ff831680612f00577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b80820180821115611a0a57611a0a612d18565b8183823760009101908152919050565b828152606082602083013760800192915050565b600060208284031215612f5857600080fd5b6040516020810181811067ffffffffffffffff82111715612f7b57612f7b612726565b6040528251612f8981612814565b81529392505050565b60a08101612feb828567ffffffffffffffff80825116835280602083015116602084015250604081015173ffffffffffffffffffffffffffffffffffffffff808216604085015280606084015116606085015250505050565b73ffffffffffffffffffffffffffffffffffffffff83511660808301529392505050565b60006101208b835273ffffffffffffffffffffffffffffffffffffffff8b16602084015267ffffffffffffffff808b1660408501528160608501526130568285018b612b1a565b9150838203608085015261306a828a612b1a565b915060ff881660a085015283820360c085015261308782886126af565b90861660e08501528381036101008501529050612e9d81856126af565b80357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146128bb57600080fd5b600082601f8301126130e157600080fd5b813560206130f1612857836127f0565b82815260069290921b8401810191818101908684111561311057600080fd5b8286015b8481101561289f576040818903121561312d5760008081fd5b613135612755565b61313e8261294e565b815261314b8583016130a4565b81860152835291830191604001613114565b60006040828403121561316f57600080fd5b613177612755565b90506131828261294e565b81526131906020830161294e565b602082015292915050565b600060208083850312156131ae57600080fd5b823567ffffffffffffffff808211156131c657600080fd5b90840190608082870312156131da57600080fd5b6131e261277e565b8235828111156131f157600080fd5b8301604081890381131561320457600080fd5b61320c612755565b82358581111561321b57600080fd5b8301601f81018b1361322c57600080fd5b803561323a612857826127f0565b81815260069190911b8201890190898101908d83111561325957600080fd5b928a01925b828410156132a95785848f0312156132765760008081fd5b61327e612755565b843561328981612814565b8152613296858d016130a4565b818d0152825292850192908a019061325e565b845250505082870135858111156132bf57600080fd5b6132cb8b8286016130d0565b828901525083526132de8986880161315d565b8684015260608501358184015250508094505050505092915050565b805160408084528151848201819052600092602091908201906060870190855b81811015613373578351805173ffffffffffffffffffffffffffffffffffffffff1684528501517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1685840152928401929185019160010161331a565b50508583015187820388850152805180835290840192506000918401905b808310156133e2578351805167ffffffffffffffff1683528501517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1685830152928401926001929092019190850190613391565b50979650505050505050565b60208152600061201460208301846132fa565b60408101611a0a8284805167ffffffffffffffff908116835260209182015116910152565b67ffffffffffffffff81811683821601908082111561344757613447612d18565b5092915050565b60208152600082516080602084015261346a60a08401826132fa565b905060208401516134956040850182805167ffffffffffffffff908116835260209182015116910152565b5060408401516080840152809150509291505056fea164736f6c6343000813000a03d8465121eeb06c14e6abd1cb02e1c04b47d9244b26c289225bacf69abd1925cf0365e020ca13a5836043f3158af5182fe75923b59dce34076e419b9b7c00537fb303bd4e3a2b2a5c0a2384231014f19c5269562009e991004792bca91060b762ef2c03d6467d7fbc99158e3bbe848e129c1447a989e50b19173bc0311c79a3a637d3300390c2a8ea2c278cb792f52d98087e15274f043bc07062631204b0bc9bb1dc8950034482444691a41800ab018e5fce90c763beab59fde7e5df80bcf5c3e8066b90fa031c653e303d31539591399f22f5daae55ac91769f40a5b1087a53303533b419cb036c729faec238c948be3fa33c92a01cb967d7baad3a14d5f00a6731292961d43d035bbcc72d1be97218e7844438056c2267ea2de1cac47aefe4e316e82e85bb4e3f03688e212135d9abb9379dcb8872e08ca383aa4a80b2fc218d7d7404fddb8f97b4031bc6b9f6d6d0e1ee8c1afbb9176d66aaf7249eb2afafb6fc3c8a9d766047d1860363fc40d4f2ac6a36e66c5c4baa1b9c6d040d45b526052670847168f2a983f82e035b724a6ac7e1e713c6625891514d011d58c3cce1621a5609f005b5fa5fdb835203744a00d39525a28f549587345b26704e06f38944ffbc5e985b339d3554b868dd005820036b0bb3dd0cb1649f08d1a820bde7cfda5545385864e4c6d8aa7e2a8740e90044661f966700582003e787b9008a1514dc98d7664fcd7ee230a700bcb1459ee33be118c86de764f042020600582003392658462074eca4fb120c988bd95c60f0a88ee314210f54af06b24593cb204465ede1b700582003c9c0781900173f5d0491ec7b43a3ae062d990e97811987cba7673ee0f9c17044662951930219b80403287285c85f0f5da218b8a1c74ddc18886ce6af496eb7b5051e10513bb92307c503723b3acca43f83c14c67e5896d9d297e88fdb48b03bc0e695a8148e30977a83a0219ffff03a0b3b6ea48c6874a87f2605fbf9e4526505db6560b5424812d903b14b60ccb6303b06a4d0ab8303ba9108f76bee3c7a87c178a33a66cea794e038dc237f3ef5c62035d61d2869762e25d7dfde9994338786e15c10c3e0730986257084413fa73e63c00582003efcdc28da45af4ad59d91429f1e359ed68cf4f4374d6ff47dc686d6315f2804466470e430058200358b6adbb5dfb65c5e45116fae59d6fb41c6288dc8f2ebbf34cc0044068bde0446627569f00581f0227f4da354d5de8e8b23322d8ebca24efb2ea2d120306126f70c805b0598e446611411300581f024e50f44f41cfda867d273f68274f9992f1bfbe150bf0c86d20db7ec541af42010002194001033b543654d81546992827f1d20d75904fd55f1d0cb0fd0a70fe074b932f17146200582003ffe98ff3258aff6abca5b7dbeee70003b65cd556633f590ee44bc698c6c6d04465a7078700582003b520b7a7c213748f455cc6a1a0e25838d70f03077790d502c0809ae691611044664bfe9f00582003ce709596493955a40c3dfb125aecabd0c7b2e5b1879099e09816580f12824044668285930219716403e0a0ec73846ccd28e7e968898884580b49512c9e9c03ce6dcc1167fd4520cf0b0362c2ecde904d321964c64e9b9dad3cf62e584ac25af45f98416572fa5b2eb4480323074d1cac17989800bd75e03247a0cdfb1a9db6b9d9b2c329d0e2bf1fa168aa03741af18c6e3e49ae08339f700537dd719aba4d2ff3aad0a8a20977cce367748a0383171f158de59419216361b57033cc929400b3113a7e64c6ff051454740f255d035c0b35b3439cae50801754862b762b2abcb60855325ff04d990e832f759e7f890301e260add6aaa9a5136624eebd19817d7531bed0697ba14814a9bad8ac861a3c037066a24bd70388fb48fe2f20abcad1f59a0f892908cba6926b8e0c85cf750007035b0c0dae3d7e981eb58ec4db6b0b535a3e3a0738fb4d82fa1b4c752bd158750f03b7cc5f9a4431faf094d7b451041a19b5bbb5370c0af85d1ceedb81339681f41e0312765357f5253e6b1d203a9659582b776a63e0922415c74fc2f195abf904c8b90395ec38353ae1874a4eb892b013473e876f645b06ad99a895bc2df480ed1ac34603b786325ee1de70d10a66d40423294cb7cdf2e7a9808888573317473704bdf8ad034fcfc40b067d046e831e9561c03a96319e9fca540522f200e900c68a46eb6de70219ffff036fd1c6b9c867e71bf9fcec07b9695b6f383b419c798e70d62ab7be805e4373a800582003bd2061fa1c0ba8948f3d051bff88114e76847ab4f57bad34169e9379d1dae04465d1cefb005820036dad9058d48ed295dc8cfaf5a1cdd0c16f679668043115bba4072a88bab4404466808a7b00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0581f016059e453c2ca94d0c2fad2be55e6548b0a0ebb25096b1962a18f9c93a5940058200380b1945ba5a61c29675be36f517039199b895591f774dcacecd0779307287044666353930058200355eb65545152ad3fdd15f03bc86059e877bc9ec098b9e8cfa2185326697f704465e275fb00582003bd0b0821cade927901f7b89147220f84ea46158e05d7a9a366ff36030830d0446669defb00582003740d9cea2a6f664bcff5f917242a4a22677982c563fc1b0afcec1bee5fb3804465a6dd7b021932b6034d3c371d3bf7714334f3e3eae25d1f55805a8a7827b6a7e159d237e5f85d904503a542bbae56e81ea6ffee07038ef167240d8d3980413636ecc2f30887ecc7f05a03f4a5ef46a4a5ef28ded14ef098d722ea500bad1c58ed25e9762e0d96f024abde03e4faed33921a4c25e7249ba56f778a816ac7d9a205cb49c7051d6a848b41e6d4032e7383d03c0c96bc601b2111d61f974ebd447120ca944bb7e84a149564ffd8720058200389645d070155992f913317643479c7b366cc60a2074b3576f698ffa5dcc9b04201020314f27e4cbc69f6726abe6d3cb0488b33cd78389713146773a42f664fed03caa700582003d9414ff07e886f8b8787df040b556a5a58cf6009fe726c670f0d29666359404465a1fa9300582003fb478601aa87075fadbd9e98e4fddbee889081fa7c52a9ab781a9ae83c19c0446621750b00582003fb8d8d1ee25adaa9cd38d761152fc3e0585df15bf715e16c0acea0c2108df0446649664f0219924203c0d1e7bd1cd6c45acad316e6b09b9ae836aa316765b673d9d4e94de766c4671f035d51019c1d967a09c5fa106700aa79f871b25728f4fd19d92b67237400dcd97c03df2143c5ef3ec11b154de6df7ebf69734ce576ceb270bda2129e3f5f76187d7e033530c72303ed7a66bdb51ce47dc5da76e7cd703d6bddce46a9d5ab801d0242f603f40bf4ffa99e401b4c27c1a3938955255970892bb4a98ee13ed2c72483e1c33d03532f8a9bdd58ce6df8d19dfa1d987d140cb7ed006cb285ed009bb8e525a1b77a03d9dc5aa1078e8798edafee88816130e207d4e832f02ff943390cb58d49bd0ce503fc9790c5c0f2aed6cfa3db7e8f9764fcd33961d6ce6e873246d6f58b88af885c00582003fc3dd3366feec2dbdbb7791178cb7f49a652c10db2515c536a29ed2a3a83404466694f2b005820039601f6a1ebeedd65a070a33c7f010664315c5146860a3ae54c0db1b02e134044662e31ab00581f0247c8fb357c00d1da9063127117cec897a9acbcf446381307b552635e691e42010900581f020e037919f26d69a10fc5f13500c1e9add2c4f9f00301dd67a157a12d9564446683ba7b0218880058200359ce4ff0e036dd1398399461f7c12b96382bc6676ff6a4343a19eb49846ab0446684012b00582003a9c6dd46b03bb09ea35b9e7656ead67282838235763bedaeda15163e4241d04465cbcefb0058200399c81639b0ed4d7c0b53f3b7641dbe9749b4421ef0fa5fa4064d7ad66bf7b044661a63b70058200344a582f3800fb9dac8d536b837bb0cffbf328ff786ee7c3cb7936c4bad39704466528593005820037096cc9395141f85bf8e8dad657338036a3ee851b15b79028c32386d6bf160446686f8130058200366bda3e0b670ef6a41b3dda0b02e6baee1575146ff41964d874d9f06ff1da0446627cd3700582003f06a6c962d08ad97b3c28b7a64b6cca1661b9dde393f0f61b78ee1f44142b04465c3f387005820037894a6f437756a2340cb005960c6326794fb883acfaa3210f1926726f4eec044667c271f0219ff310219ffff0323a8ee384278ff0573c1008802f2f205cb1ce0a585e668866129f2aaa7243cbd0337abb832ab6b1d6e00103328a1c5bfd698cda3ec678be57c234520aa9d8ec5bb039a58906a439a60afbfca1d799a616b8db804d9d9c6ad51859f98a591b131d81b039fee07f1482c3c62d6be576a71f4bbdd924cec3a67177866431933d4fe179ff503aeae40691184d80eb474c0c471dfc940279f4a10d71bdc07730546879b8e9c7803713360fe2d6aa6654085be66e7565f95b27a08518244f15f9ed47008c4a3dec4032838bffee1acc9678e0be8cb7541672d86a487027d4e7265e0cc796466d2227a03f56d504ed5b8efd489f9b67a4bcf79ca6fc57b92fbf76d7a3a249fe81675ef34038ea8ff5733811e39f9932a3aa851f24b771f852965e88e484a3370e79728b11d032b8342ab91d75adcc2cd06cff589a0b3da31166bc0a2199a398caec3885defd60314f3c7d6a22cb6b351da823abaf1c00d41e7b67e6b388a50b8737b94714cc6ab037ff1d521ef4763fd29421e4879c056ee759f63e376ab3efec59b5f494ab2d44f03f4052de6444332dce9495b2dc656341d69ca9eb3137880ca9ed57fb2a26222d803c7eabf9d2e0ed24637437728823f60f0b58ed68b692cdf85cae90c15c5cd12f7031bb007a099155233b330978a45447d81b81f6ace0914a71aaa45e9f19821e00200581f02e98c8d409e85bdfe8e5375aadbdec424a7bac4d79794d715e3ae5d23ca6c42010c00581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4b2b3f0300000000000008ac00581f0229c6cfb77f80f88fe9edba126e133b971e9958345930ef26dc3e723cfc884465e9ee870219202403466bdc22f3113e76da0061e4f5e99164b05671cd4d10e7848100cbd577d7344400582003acbd1d7fbc9ee8cc4ec09bcf5915d10728ac0b221063dcdb0ca38d2f1fcb00446622dc9f00582003b1a60bb01b0f3a5fa26e7f43d0981c19b80643505b60873cab472ac96032b04465d45e6f0058200302f9a40860e8b0e3b9c3a95a97dcda508226c909b744f80c662220ad799af04465a3d90703842a53e2cfea3089330bcc8c2e56c69fe84a290bb31a97865ca1626a243708700219a906033b7dce2fb7e12543142bbed754401a402b92eac468bad4efbeb04881591e0ace0219ffff03ad7c9997704dd327da0a5585b72ee5764744f5a316676c8ccace6eb4c004ccb703f0db0fd17557b02dce070c5066cb1f23a89c92cfcdea7faa8e2267a6098286ae034a0c1d398052445023806ad47cb499644db3abf3caa2a63a7b8af07618d53e010387d26a20fb588767c57a365d3918ace7fcafb5db061e1e40c93a8c3712b177d203f849f885f2ec2d8e2364914287068cede5d1c24152e872f85dabfbd27c380f37039d59d56537c775b8c4db33994cebc6b73ce58f3afd0c032baaa8e40575d2ccb6005820028c3a22b1e4688c94525eb9bc2cf1ce7601fc9e871dc6e10fc44f0f06340ce154c4fd363861673327bacfa1aee04b9a991459a1d203247d324e4ad479898d8f52e6657cd5ff7828b88a679021952c7900a9362c226603159318abf3ab4af62c7e080e965345d6ac6cb21605f3b2d810f72d1e4a27b5320058200330b6efacf561ee99d6e5200d577387d08da219101fda612f1e5018cc16c2d0446626307b0058200309447c4a87a2f28ea1990ac168c4c8a59e3dd72470ee4636a2af63196c74204466123d430317e5c4a98f60ec2d9680f3f448e6302a43da12d19aff39533b0009c6a3d1332d005820032d173594a769da43a0152b6b67b9873a9b7d8916ac6b686881b5e7107abfe044664859ab00582003e1355c8bed284f776135f43e565f252905d60e18bd09044662e1be34c4d440420103005820030d5625aa755d7df4eaef387fbf0cfa13c04bfcdbae4aac28c2d700893d858044667ad59f021969c103ddfdb545b746fc999e982c9e59f8fd2c134bb8aea66a03ad96b44ae545b8b1a30363bd9a715a47f5081e6e93b0af0339dbbcf0dcb31da0d37b6112e7642f34161403dc587af8e0450769886efd1689126a3b9823fbe7fdbe667627a3968ea68b960903e6a4c87cf8ac2a738a306be8476378ff0caa30ba60fa71f507d78feabd7888a0030382afdd97b8c4a550971580fcedcde533fd51f719a2171217e8b054f8f3979903db165939cc737d69cb28ec239f12c8e998d28adda939c0aab64c582cae67365703e6e3886c53c82900c56c79763da5c13bedbcc6c0c6cc4f27dd19bb2fbafb88240219ffff030a79b700d8ca503bc3b10c40c1f942c283428178441baf0194564009b8479f3e03b8964894f296802f37e44db94e3e2b48a568b47d825a07d8cf6f2978e83b3bc60321203556e4f49a89bba5b4387ececd33f5022f4ed9d9c1e399f40e954dbc589603b44ff4457e0f790facf150a55402c4021e1c0f0ee93c18ec714d20ba55d897190375ea7bf34248ed86dbf70df5f9093807be2c1796ce99a5427ccbcc9f0df0613d03efd95fdb665c7ab9b122d6f9efb107f4b9f3d26f5f095e343e8f14f100c8e70a033ff33515b8bcffe54ecffc89489834dd9d416ba10a6a2149876b532037893d580388051b92109a0e2059275c8b1b3bacb6b6245c7d7f2cb2ffa830381e9329218a033c735c73060c1504621b4379188a7f31c1f2af99b885f240d109286aebdcb2c400582003a4555715fb85631a8566a1a727b6a59a73862207a81944803c112f71d99b104465fcef1f00582003d7656dd537ef8b45de2211436c5aedff1291ce5d4a95ee7df97ed14845dad044662cf08700582003193071ab1e12cbe7579bfa94b878d2dd03e5fb4d77713879efaf678a6172a042010b0058200320cb0adb41966e23a9a8a0b23a68509c9cf7028dbddf2d1f41eced065c02b044667b779f005820036029917e9d9deaabcc931ac3f67d9e30864eb0af016c55176a72338d83df504465bbc11f021904c3030a2c5b7ee81909db88e54feeba02c6470ebfdffa7d1ec2a2bb0adaffbbc7d2fe005820036b3af3d604b1bb1421d1fc25da42fd137b99c7335cb1b50eddb4cc5fbffdf04201070058200325f7b9d591b6b800339b485189a5d4265f79066053286c09331648611467904466182cab00582003ca07942ff1e571253ec7f772226fc5ed11a2b4aeb2bfc57807a9037b16568044662354b70058200330cdf1c4c9835c9369d93842b43f10bc4d1170406b72f7b61161ac54857b7054fc52b2196a94d08fc9614b8039821bce03bf58e800582003c8232f164b4aca4a99d87ff679587f2337284a5c8e4ce9e639578582601d00446681ceb7005820039f443dc0628cd19d3dd275f110aa68b589d3eca35ac600284ab5b05d93f8804465fe240702198a49030f01e49a7b0188219a498fbbe266506157d155d8b9968587bd9575058ae81ceb03464bf7307abf155d41a3fbec013c5dd1b9a739b2beb77ce59a73bf3cac8b86c503fa682440c9821eabc5cbabbf7320bf859264e5a26b50b4175d3c7408c232480f0352342dbc4f85636b6bbcd1793d1b61cc6e9e120d7aa980aca25209227e8639c403211a6dd2d11b3249eee14f6bee438639997257c66a4d116c46a709c5911652900219ffff03b7a13d4049126718aa0bbe49c4d2b8160ddb56931c159a41543ea3f565eabf0b03865fad8668875eda73c1278e7fd00c277eb6d51f5e1fbdd7c2226d6ca8f12eb703948546f257f5d0e9f6ee652df71b1daf8e6d6a26fef3cca0e440c2acd9f28367037d7aa40753ff457cb32bffe1da95389e5993b621ea5e1b05759eb8bc1faced850391f3858804fc4afc6da9277d093577a90167207adeccf1627a82618994281a3a03136898513ce27933ed5c7d173e65da8970b6011e961b62750b76690aa07dcaf2005820036db0fe3f8aef10c01184ff054f789ccb59170fc61f4156c786189abcc0045044667fd39f00582003809a0e5670ed50b695c25abfe4ad50450dba952c6ced9393acbb80e0f153d04465d488ab00582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880411000582003d33f220d0131e1aa7bb51391b601285ccaebf5118ac33fc57e0c3b1956a1904465bf181f00582003b6f7e765374b7c6559f5a2914fd408b69b203328c74a641279ff6dfa0a12e044664e02ff0058200389019a96e5cb3eb3967c94a79b45c9693e01dbc8dc212251f5208d5666959042020f005820031e185ae606b976e987bd6268ffd1db9a373bddb5769b8154e97134783c4d1044663b4bab021998f003a0f68569b7feb32c0066c602f51b32f635d5fefc8bcb3b07f29307bf04c92e390356b10831bdc5c9d5cc3cbf9c2ed4c3b0a6d13b8ed6b812399580b3f548d125b6038d66a13bfdffa429244bb129b36511a068c8094eaf68d30d07c4b374598dd8eb0362862d8dd5b6455496526063cacc7ca285b2668ab83608559f1e605b76a7e25403361ad8516402783e42df9d3958a50f4d5d87ffeba64b980a5ee9c11c0c162c0703ac46df7528aa766d82e1dd3f1915d7c2cbdbea25ff895022ae0a95ebe6b107a3031ea5d638a6685d93689dc0f3f5c1c86c87167c149c677baa98475f44556e9e070336f212bc04f5e745e7907c270f743d048f77594e49d7d59b36beec2341da4e8f03740f304d667ce9a73487cc8c364c540dac2629e0f28820d32c66279c17ee7d670219ffff035587098323ca288832d920e8836717adab7fe777a66a0b0c1dfc4e60ba23a9a5037175fa517d65035311f75d777767a69d518800d0198b7145db6198337a8951c203937dac08f9606fa6850bf3d5c7162a3fec2ceb94f18b1562756aed05ab13bcfe035d5c2a9b36c0276ea6ff3da2c21a5c65e739471ab1b6c7db22cd5a817a075cdc0058200392bdd5bcaf773fb381724b360bd17ac25b544e3855f98b8de59661d72405105496d1d86b1bed64053410fdcc2e3585eb578dde1f00581f025a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b42100500581f025613e02a8bf64f6409fb07add85638199cbb7f4651f5bb763c3768991573446650428702190480005820036b84c0ffb8c2c2cda7870c31263ebca2af207897e08eacf431350b4921a9f04465f3129f0058200330c6aeab46f0f7fe4e77b645977b7cfeb098e22492751376506ae6f5286010446624df1f005820033e9fe696b6217815c33045f78b0e03d39dc136ab2999940bd93b8767da07504465ef8b93030d6d190e23edfe8f67d0bbb13857ebf8b8a1a271cae325b47cc68bb98729f74f0307a0409aefe581e9431cf9039868f00abd35cb142e050195fe41c47d1b15c2fa0058200310439d3816011d2b8cd94b7ca199ade25f26d90fd54a23adf854ae2e81fd504466113e430219ad710329a6c0480b319b16b767104714adae2c0d3cac17a56fd1d3f9e15e56098c402e038e4f5a1083443b84a78cb3d8a1c619900f4d2cc580589bca869392565cf551fb03c2c3d251e264ff7157dc85dc2f804bfb57ad6845522c9ff67704525b4a3f68ca0354d0d0b27f47589e5b3eb6fff4c3a60ed93024c10c01a321b94e53bacd41e1340337d17a83ad38f0afbea5535265ceee5e3ffb5d751b58acea7808d8bc408920c503789150e3149d4b841310762658907b3919874d5be7f75187dc796d9ae87fa312031aef705b7cd8624ca3f7d1b016964090e263c2dc6b44b23e62d252dfcbd5db2003d3f06c24dd43f462652aecdf7762b3714d54a34a09f2a5bfcd81702d5b2f652b005820037a7485e0d6f9998d4afb6c332585af31b4e4738b0c6d8480fb390d9210419044661f033700582003396377e3e2cdf0ffbd558a3c70bdd5f4916c021dafba661ab4facef346325044667f0f07005820032cc7227306527e4f836889d7b4655626bf1ce95871d2a249897e036d50e5704465ed1d2b0058200321ac0a17effffb781402f09043fc7da2a43e374ec9a65e793004db01fb21605490f91a0ffdc93a11c045b3155f0b3cc0d9fb9ef6031050e8ec47a8b7f38b36e7c2b2796af0fef2c4d996d5ce47c6f5cfdd3ce844c5031127342aa4cc7ccf1e0b096138f452bad334826cb23ff5bdb6ed6dc0da5d0e570219a0170326ea8faaa7200700f37409bd73ff9403cf412a842367788bca8f447fdfb4d29803aee7af69121ff153464a681bbaa0b1883cde6413962e2d8d5afc176c393686fa03bd7f3a3137cfbe04baf679349236075afd36d460c05559cacaec92610f4bafe8034e1cbd28166f545e49bae48e303acb96cdf2c6d9be5e16b1ae3f4f08406357950219ffff03f3f32592bee2b0d2b6e23ebcd3ff59be3d6615f529ad514479d78a750e26500f0340aa5cdb0da8d0a8260b94e46da95d288d100340bbf8dfce80aa9a090dbd682303afbe3859a174ec058dd18a8e422591b7cf4c6454d620fa6624a446efbf572e0b03fb1cd645c4a2fc309c7b1f98dba181aa22ba46fa793dfbc111674591484e2eb003368aace32dd4d7659eb46c7980d7cf6d91ade2f8008f504490753e1ba293a5e300582003232dfa84b37de6d89251560f4a73d24a2162379dfe8d5fab4f027821e61ce04465a6d01f00582003e0c0c82c0d66e6f6ff5a69fcd4f908fef130485d8d08583ec7b7fe0c9e7db044664bd91f00582003a254e343363f0f97f872398a8c180302cb752de169d37d508a5282bdcec8b0446679cefb0058200381532a8179decc69d281ce4b12922df848c1e7212780c874b983f2c539bf104465f9cfe700582003c43b610c9cf162be7db1a8a6ca72797c947aa359f958aa06aed51a184fd9404465f61e9f005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30548c9b2efb7c64c394119270bfece7f54763b958ad0219c4620377857b1ca8f35e75f89c63efe695887cc0945c4781b79fddb8282adaef5c9a28034c2e700f82a594ba20522d39a889bd9b6f49f9ab49f17c19e020f47c0842f98e03d566e2c9ff530ba810903a09711805f8a7da9d0ac001ef934559eef2c78f9ee503a0b926d4eb629434cbc855bcf40418b25abfbe7b9edd3e247251999f5d5dd99603b66082fcb11522125504c32bc8ad4834ed348e9634aad29a24075bab8dbc35090384c06b90e039a70e2f1fbe94c5df769d58ed08df51c10dc2d99ccf20b0cb4dc90326197d04773f8cf26fbba350e9a84b258e9aac22796a479f6218388ad4a648e403bbec07a96548cd2842d4bcd22ac26cddaa49dac68a2b587ba65a52be5a36a7ed03d30fdf0457518a67c1ffc44e87d04166a1a9ad9d3ffe51e5f8e22dbc7d9092e003b225c869ba447a9e42c7c20258cc9ea4a1c64063bdcd1232bd883977f8982a7403b4006d61eb3149542ee515717629903d5573b5d2b63aa5bda08b538d884071b903ec6d590eb76f446d3f2aca493cd67c3cf607f25b646bcc5455de474e0bfd6b230219ffff0219ffff05581d02318b02b4abc46c37e5a0355af4c80baed4761590e482e516e18b474607011934b702192020037ac3d093cd6be117f72a107cf8dad745d40099e1b90bc302cae5ad1bdb8d756a0360c8d9ecec7c4ff7336575a4191bed62ac89b7feef512a70e7c1d86b12b44da1030c7b93d68a9fa27e7140bdee3eaab4579beac7f961468bde31047feb5bbe940503744ca2f08d9cf6a7b73eda50dff44ba21e341574451a62d1c5e7cd91f284058603905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03bed8d2473ae83d630e6c71502883dda2dad3a9d80277163f20ebe281e007011bffffffffffffffff05581e03b32124eb811397f9307cb0370fd3a73073ac3efbb7586ed4566f19a3c0040205581e035fd4b46a0c67db7676145b561b4a54a646c2c768ee5e9542a714302b10040205581e038391aea4172459d922e83d9ac496646e251f34d6e2d8562934c3db09a00c0346aa248c11757802195f63033d4d317a547e4d933c9c22114de66c7e748a6d296b318059a469a0e453a290020219ffff0219ffff03572a405948cf302fedfd34cc30efc9fcdf5ddd536514b120dd78dc2218e4bf6203e6ac6c0a2bccb336f2a07de14fe0a09865ccfa6f4522d8b5b16f207e844286a303d10e1a1dc8286b84000555b46e410ba173c33fa04ffb7ecdcba472703241e95a036120482bb20e1a07556a2f3cc1704cc2ca2c558569b06e72b5eb630d17943bf003cec069131af1090801d255851d62c1eaba1061ded549a44ee9b1d4d898d6d87d0382f93e6833d13abaa879d30ea848d7ef2f9d0bfe39228195e206285956080625032f12344582f88eb9095b3a8c62b09f0fe7ce0d4dd1574562426dc224275600b603b6f0ecd38c33acb30cf75f58755a8067fa5663bce5c1f1c23e3e60e49658788f03ed2ad22f45fde0abaec8e74ba6de2a00765179aad2936c3bef7f26f83a1c00e90381418c8b76f06bd7022b32e341c4fa86dcf2c6b3646a764186e0377236482eb403236ca649923f1ae064c23c95b8d46315b5709f85997d51565d351201571eb78703b95826e9b6f353c7fbe1fabe3cffcf343a81aae5ff8ae92b4023ac3e372fdc9d0219ffff038eefa6c205e4ff2323fe79bc4b056758b2b9f2f445442c63c9ba9470f19a5f3f031ab9c2af0df14a1ec64b03487761c8935222d13e3631f2c48f91bd648d31da78038d258ab8d8fd5f3bdfb9b6ebd35e4c4138433f34522d519c1168e8d320fae27903fc02bcf7eaf527be2ca61b8871a37ddcc57723b451e221218888132d9e4d37d4036bfbea895cc83c4c1af5f29083d7fdd4e2a13996be34dddbe18e75c3d42723e7038815cce8d83d6bf195fe505d2a9658f38c094602433ca1838b632046210db5940374767198b1cd9a9666e2c510610ee0afde4c7c0b47d81a53317819e4787e6c0d0219ffff03a2ad66708fbab14cb71c5f13657a23d90a43fbef61393fd4c14e6f97be8279b70323ebe264425e0aa6aad946a08647d5f125354be7081679956ed3a496afa977180325dea07a290f4bc1fec90b9e12cce9740ae773fb32d66e4fe18d8cd53a12c7f403d1e985fec2d91aa2fee256da3055e402133375e6a765cc7a800e1e7872e02d6203fe34d13151bcc074c7f208d55e47495a8c2ddc1103bd70a02cb44929443217d6035c0a36f1cf1dd3ea03551525124b5d82c614214a2b0d871446ba7bc8653a072803f0b506d5b3efe84d47f09996750358af0f67ebb9893f01cb41ad44fef90b70e3036be4f908195b76d2028707cbc130dec5b5fd8e82a458e400744fef2cfed377f803164b0cbfd73c8126af3147caf14aa9db2ef6b1d09233b51bf8be603acccc653b030007f2b5743e64577f282533ae96bf5ca4549e50aace2f6598bbdffe5e539ec50359925d5b50ce9519ff8679a09e184c1b599f14636825bbfe5b1ed30f4be5a94703a52bff9edf16fcb39c22793e60e4ebff282b9ba617ab42f7ad2447bac693524c03aecd1ae49e471199272114047b9e072b296adcaf161fd28c0029b6a5115bd39e03ae13b56dafe2fc01bf56522f935b7c5a48d728563a349dff6da7a965df96bb1403cffca79d1c2ce730682249d5f81412efcee6ded2fdfed5053e960c9d092877d1033a82f92155c17e66ba48aeaf37ee029ddf1c035825ccd09f251bdad91a00b652030a8a46d78624a9a2277dfe90927d66ffdc69d229a90d84d4ca1de6ad6389d87303d279ae85022e602fd8b10ede470a9597694ea4a6ebee918a02a217a777e520540305f3f3a10286b47ef5a12dcf329aa1e50e6bc3dfa7a4215171f55761edbcc20a0352a02b887d22636096947a1eb1411172e7c86007c31fb8a7e26dbadfa7fcb09b03f6f687cd395ed86fd509f05228e167a2ff1ede8904428f7edb4e474ef040eb2a035f5bb6d2dfb752bc844408cefe939f12602561fc75f4d114c9d2cc2fb20726b003f74b195f3eeea6c5550d8339385f7845f54341cf5a9655407a6b4a39a81c517803bbb3500b05dbb9340c92fa2164e9d11d38a1dd5392b9587412c75f88aca2dd32039fe115897b8c6bff23f80f6656b9a5fd3e21c2ccf20621878dac2c5a47cfb51b0321160d25e1a82714e4496905b4384ec5afd3fed5984772f65399ab4caaf612a205581e03a6500d37504ec768005971148da0e85f9c71fa248c1297a5bcdf1a20000c014702ce80355f5ed405581e0358d26814d336cbb722d38f16dbf53c02dc8913dd370a196de3a675a6d008480163cafdc0ad7e2005581e0378d1bc471a69e88b418d1c1a493240cfc88c4cd155947a16fa564998c00c014701105b7a11447805581e0380c4b07978cd042cb1457f2c474f14ea5a34b2bdea79230f411cda2c50040105581e030412c07e1e73d18b3dc14729e2dbb0c465edac512421ca614bdbe91db00401035e70dfefca1ab17528b47b7f6b494deb4cd571301aa2c55d569dd051c0fdf32603d3f7009c3aa6438036d86bb156ece55875b4a9c2626746079336e5bedee9d47b0318a07fdddfec2d3b6649e5675833930ec698f94d732ca53f5ad4bf479b75d8da039bf3c255c01ec9efa4c12e9e8a8f58bafb20ec19ca8b26b526ee6f2b9e0fdffe05581d0286ca4d4cdebf9948c64e22be8b1eefa0e90f8913780a7a87d7d8d76d0c19022f473ad4751ae0ac8905581d02f89110b5598f900a958e9d74ae32bd7dbd45b5cb0a85301bda1e97ab04010219201002198fe60302f50af9642d2dae8ef3b46373de742b3eaf8c39acd4a8245af2c324cd71205c03052b21ef3a421376d16e0b948fe24253e390d49d01de64c2f5fe4f83b06befde033467292a2f3d0eb4f629392ed0cdc531125465cf6ff975336c33684a9e7b2efc0395d56854757589e62d2a958b95d00bda9050899f32658af0a97726711570a5ef03fabc5b86611372d52bad9912faa3164326799e002a7359163af7eda811cd74cc03096276edffadc16afafde2b9f951e2ca89b722b5b665f948b03ea04a4da8a8b703c0251eea247374498362e94ccfbda9153f00f5da4953e5c77ad3a892bd6c12db03c97dc3be99a6e80e55f99117793f613c21e637ab8019c8b2786751e486b418b303007e6324afbd3717498a1aee4881c2e0317db9bc5f499c3fd95716c7f721059f03caa691a176b069707e523887464d2e84dd91483ba4c6947430fdec9c3738ec460335c6f43bda56d21810acd62b55224701b5218e0ea22db0ea01a23621766c52e703d92eff7acea3ccb7ecf2b5335c456b109f8bcfbf1e401a5ab5e5918dae50d1ac037881139051267c75be729cdbb41ecb799bfffb3f1bf4b63311a712f02cc51b830219ffff03d24971026ca1ad43d8d9e3cbd6b2557b4a25b2b919c527cabdc5d9c5fcb1d454039365a6afa7acd8010b5a12547f4bda2492ab8c036b0559dc4ecac509e1cd7f7d03e5de1bfc3738760e8ef8f6daa248c12d282a5a18f16e50c7ea461c420d3c65460219ffff03b8886ffe061f5a96e31acae001c1fe48e53738d0d59e0cfcd814c1976a35ddf30376c7caafbdfbf1d10bbab97b7ea656b10e1a674d53779d6247fd8bc4c7b011ad0376684ae39653af6cf055daf3839dc8facd04b31c8923f638e8abe77245a01c1d034e3e36053198e187e6dc96e748acfb86900534e56509585f883ab05a1f05f78603565f92bda68afa363aa40cfb181aec13ce154c493efbeb1cf1334418e883b17e0377e5552e65ffb4a0dedb0549ce6bda6f547eec4c331d166c3ebac4ecc09d604a03c639dc00d1c60a53ab6d556c3af3bc050718435c100e66ddef364bdf034e3ada0342541c7ca354e4f19be72bb0ab65671486cb960a5054985b9d69b0678d850e110318cd2c2bdc928ac0221d0cd925bcbb0a5e1e085df5a41a913d864c305bc1c3330310d343bc0a49012a4dcfa7bb5d8e35407890621e952c7321f133d07cd88e327d03ce2dc4dd366679397af4930f761567c60692072f09c6b4418e5cae8fa6bd1f74033b5a41d747ab29fb20e408cee724880efd0c7d0730987b6fb71db37ac8cea4370219ffff03a83bfd2371874dbfcc34890b43de245b3ad4e5efa4fd7dcaba35bd38114a86440338f7060f00de4665d8b8998fc1ccdbb98e9d2bdb7cd70113db34c0115b23809303ef21178f69e2d9238557e5969bbc7dcb3260526f36dafb8c914c7a841290df980330f4f47ad8c97fe3956c3310a919636d112eedaf80cb3a336a42e67901fad7d803444d70f78ee29c4e368c39ea0e115833d0971ba42789e667ed9380f2f5f7463e03f3df729c4d989f593db62a733ee3f712c0e263cf5355a4f8eaf6d30bf6004e910350a19d839ec6a0a9981942d0bcec77b56a483856d555aa25ef10f4f6b7a3add103f001d8b7d46666ef4defbffcfcf62972e059a49e238cfa379e00ae93705fd5d1033122fd97c0fdba86b3fd11b1cc1439cc58bb32b0481895ec30837d7e0e31cacc03a1a49d1a1708e88556c9a5530ffe3072ddf2a8a8537f66a77009fe027e8971e8032a042a0c556849161075c98f216860226581725c459d0ff8c5552ad3660893de037c8115cfc6c81972d1ad37fbaed070562af79732337c8bd0074ab084b0744edc03191c43f810ff8e5fdc56bebeba15bcc7530a5452e01f8ab52e30648f483c991503eceb813444efe89e48087bb6c859d243e85c0446bbc735bf100465e59a57a3b30370ee4d11422bcdad21d0133d0cdcb8034303cfe16fc816dbe8b1bc3923a2392d030fb8898ba09a8f8cd98933b0523ee023df7873956bf5a610890150ad07f1e19d030ecee46dd61d79d6a0398cb3e406d58a5a5f8975e93678007143ec8ace739a800330467e219cbab4de77f043f7d3722e098a097a92331c427313d2d33c80499d2b03c5e4b9b43c8034e912352235b3f8d439d828fed3951998eb4fab0053807e4a3203a0bf7b06eb3ee82d774f139634936a906a177a09074c043e1b39c200eaefb7c3032134465f523615bc7c9f4a7aaef9f4de3d0fa0a0b6c923e9f6e8c405bc6dbf6603e3fb0c16b39c6b1788f253e88eae69b87d0260a5e1673dcb8e920a6f665fa4bb0313f1d685e6b372e22faf2bf7d29568c124d533ea28e42d01fa5e7d1c3731fd9f0388c40e11c16c035c6cd2a113ad63197ffd03d829264172c66a3bc13da567b98a05581e0319c58a7ab2cce945d8ad62e14984d26bf0c7f00f8d25f0af6baea9ee700c1834471b67b6fd25a800032398b2fb02ef1ecd199098abf52f3edcbe58eaa63cebd95394189c77bddea34903cc51f2662e47ac26308e1d5858fca3f7a28fc3f6dce017d2e9019f76927ed74e0345b68a0d4c42a6477529b56f2e991a3e94d19bfbd7d374b85cec99c1891638c105581e035eefa91ffde0dca5a7f1ec39499f461ff8e2a6036a9cee4392f52656b007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03bc9c976b621505e3bf143d12324ef1e439fa4672a7ebf8cfe7496698d007011bffffffffffffffff05581e03e1c2a7385846894c54181b52a0e10393e2725f0aa52abc49add265c9d004020459465960017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000190815f3506602052816020350660405281604035066060528160603506608052816080350660a0528160a0350660c0528160c0350660e0528160e0350661010052816101003506610120528161012035066101405281610140350661016052816101603506610180528161018035066101a052816101a035066101c052816101c035066101e052816101e0350661020052816102003506610220528161022035066102405281610240350661026052816102603506610280528161028035066102a052816102a035066102c052816102c035066102e052816102e0350661030052816103003506610320528161032035066103405281610340350661036052816103603506610380528161038035066103a052816103a035066103c052816103c035066103e052816103e0350661040052816104003506610420528161042035066104405281610440350661046052816104603506610480528161048035066104a052816104a035066104c052816104c035066104e052816104e0350661050052816105003506610520528161052035066105405281610540350661056052816105603506610580527f28ae98e7e3cb98f7ea92b5526db3eaf781dd7152cbff76c5793ed8342414891a5f5261020961058035806105a0526105a03590816105c052614615565b166102256105c035806105e0526105e035908161060052614615565b1661024161060035806106205261062035908161064052614615565b166106605f206106605261066051828106610680526106a05261027561064035806106c0526106603590816106e052614615565b1660606106a020610700526107005182810661072052610740526001610760536021610740206107605261076051828106610780526107a0526102c961068035806107c0526106a03590816107e052614615565b166102e56106c03580610800526106e035908161082052614615565b1661030161070035806108405261072035908161086052614615565b1661031d6107403580610880526107603590816108a052614615565b166101206107a0206108c0526108c0518281066108e052610900526103536107803580610920526107a035908161094052614615565b1661036f6107c03580610960526107e035908161098052614615565b1661038b61080035806109a0526108203590816109c052614615565b166103a761084035806109e052610860359081610a0052614615565b1661012061090020610a2052610a2051828106610a4052610a6052816108803506610a8052816108a03506610aa052816108c03506610ac052816108e03506610ae052816109003506610b0052816109203506610b2052816109403506610b4052816109603506610b6052816109803506610b8052816109a03506610ba052816109c03506610bc052816109e03506610be05281610a003506610c005281610a203506610c205281610a403506610c405281610a603506610c605281610a803506610c805281610aa03506610ca05281610ac03506610cc05281610ae03506610ce05281610b003506610d005281610b203506610d205281610b403506610d405281610b603506610d605281610b803506610d805281610ba03506610da05281610bc03506610dc052610380610a6020610de052610de051828106610e0052610e20526001610e40536021610e2020610e4052610e4051828106610e6052610e8052610524610be03580610ea052610c00359081610ec052614615565b166060610e8020610ee052610ee051828106610f0052610f2052610559610c203580610f4052610c40359081610f6052614615565b1661058f60205160405160581b0160605160b01b0180610f805260805160a05160581b0160c05160b01b019081610fa052614615565b166105ca60e0516101005160581b016101205160b01b0180610fc052610140516101605160581b016101805160b01b019081610fe052614615565b1681610a4051610a405109611000528161100051611000510961102052816110205161102051096110405281611040516110405109611060528161106051611060510961108052816110805161108051096110a052816110a0516110a051096110c052816110c0516110c051096110e052816110e0516110e05109611100528161110051611100510961112052816111205161112051096111405281611140516111405109611160528161116051611160510961118052816111805161118051096111a052816111a0516111a051096111c052816111c0516111c051096111e052816111e0516111e05109611200528161120051611200510961122052816112205161122051096112405281611240516112405109611260528161126051611260510961128052816112805161128051096112a052816112a0516112a051096112c052816112c0516112c051096112e052816112e0516112e05109611300528161130051611300510961132052817f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000611320510861134052817f30644e66c81e03716be83b486d6feabcc7ddd0fe6cbf5e72d585d142f7829b05611340510961136052817f2d19f86a2342079b8c1a6417471d461040256eaa689be51f08e6a92e1243ce65611360510961138052817f034a5608bdef988e2c35e19f3a64124ce80e799e111d8b723afb4c65ddbc319c610a4051086113a052817f24a1fcd63e9f03b27281db85fe631ec8e5c466f8178a4ee94d4942b7ccd90e1c61136051096113c052817f0bc2519ca2929c7745ce6a30831e3994426f8150622f21a7f698b2dc2326f1e5610a4051086113e052817f0d5eb4c216db2c3262de3f6a2ef71a9be95ff21a7a1a50ed069d6131e7d54e5f611360510961140052817f230599b0ca5673f75572064c528a3dc13ed3f62dff9f1fa43d449462082ab1a2610a40510861142052817f26501ebfe559ea5826f023d3e76e4b66f170cd940408eb5590a4075c80b498d6611360510961144052817f0a142fb2fbd7b5d1916021e29a130cf636c31ab475b0853bb33dee376f4b672b610a40510861146052817f082a7bd4c0a7e4352229d332c27a160da18f0d7c651f3047df41b80345532f6e611360510961148052817f2839d29e2089bbf496267283bf07424f86a4dacc149a404964a03d90aaacd093610a4051086114a052817f19277f31ecb5bfe8604677099c09556812b0b5c50cceb2b584098183a5a6c5c861136051096114c052817f173ccf40f47be0415809ceace57802f5158332836ceabddbbfd874104a593a39610a4051086114e052817f20bab6e5f766b4edf82399e9c5ff0e40d4b6875321a3d8020e18521d8f5c7241611360510961150052817f0fa9978ce9caeb3bc02cabccbb824a1c537d60f55815988f35c9a37660a38dc0610a40510861152052816001611360510961154052817f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000610a40510861156052817f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec97611360510961158052817f12a9c31703ccb0bcd5b5b57cd4dd977803fa8c04c096f4fa7c9164c78338136a610a4051086115a052817f0d94d63997367c97a8ed16c17adaae39262b9af83acb9e003f94c217303dd16061136051096115c052817f22cf783949fb23920f632ef506a6aa2402084d503eedd291044d337cbfc22ea1610a4051086115e052817f303a348fae5a4f041e5c056919bc140f68267e2fb55a522282b02d6a100e01a0611360510961160052817e2a19e332d7512599f4404d67c5444dc00d6a18c45f1e6ec131c829dff1fe61610a40510861162052817f1951441010b2b95a6e47a6075066a50a036f5ba978c050f2821df86636c0facb611360510961164052817f17130a62d07ee6cf4a089faf311ab35324c48c9f00f91f9ec1c3fd2db93f0536610a40510861166052817f04fe6e3fa02c3830525c10d7bbf567639bfc836de8fe4e471c889a638d381c71611360510961168052817f2b65e033410567f965f434dec58bf0f98c3764da90bb224a27595b3062c7e390610a4051086116a052817f24db2e49a2c215211bae763372d0d8b05d0140adbc6d9d63f2a226fb711fd87361136051096116c052817f0b8920293e6f8b089ca1cf830eb07faccb32a79abd4bd32d513fce987ee0278e610a4051086116e052817f0f6afbf59e2fef78443acf353ca6d17cfc07ebc6343141cd56a9102bd4864004611360510961170052817f20f9527d4301b0b17415768144da86e02c2bfc8245882ec3ed38e5681b79bffd610a40510861172052817f1283ba6f4b7b1a76ba2008fe823128bea4adb9269cbfd7c41c223be65bc60863611360510961174052817f1de0940395b685b2fe303cb7ff502f9e83862f21dcf998cd27bfb9ad9439f79e610a40510861176052817f10e6c9ec7941500e1b1095e82fb0034bd9e95777ca9ae5ce296eadc089110518611360510961178052817f1f7d848667f0501b9d3fafce51d155114e4a90d0af1e8ac31a7347d366eefae9610a4051086117a052817f25ad5db2a6bf79a14fd0d2ffd3d0927af7fdd30bce40f88fb46774fd262d767361136051096117c052817f0ab6f0c03a722688687f72b6adb0c5e23036153cab7878018f7a8096c9d2898e610a4051086117e052817f2cd3ee06866876806a4a382f7a95576f34fd9ce6aad8bf350670ed33fe3259ac611360510961180052817f0390606c5ac929a94e060d8706ec00edf3364b61cee0b15c3d71085ff1cda655610a40510861182052817f2f835d9f4207df4efa4ffa0b2bbf9a4f54221c57cc506b7a5f8dae90bd2e3d0a611360510961184052817ee0f0d39f29c0dabe004bab55c1be0dd411cbf0ad690516e454470332d1c2f7610a40510861186052817f30526acf1fa80f36309d80530d854ae7d52fc97bcb8d0a6a2a7f852e7b6e9d79611360510961188052817e11e3a3c18990f387b2c56373fc0d7553041eccae2c66271962706574916288610a4051086118a052817f0af04af9c243a8b4b8767330b8dae01f562d7641cdf0a0c4d288e395c0aebb7261136051096118c052817f257403791eedf774ffd9d285c8a6783dd2067206abc8cfcc715911fe2f51448f610a4051086118e052817f2387d5be5175ba27fd2f8779b460ffdd830e06cd2f6bcf30c3715fbed25b1b67611360510961190052817f0cdc78b48fbbe601bb20be3ccd20587fa525e17b4a4da160807095d51da4e49a610a40510861192052817f18c95f1ae6514e11a1b30fd7923947c5ffcec5347f16e91b4dd654168326bede611360510961194052817f179aef57fae05218169d35deef48109728652313faa28775f60ba17d6cd94123610a40510861196052817f1ed7bccd53b52d451436ae36d9f0225657083d7e909edb5560d7ea488aebe0d1611360510961198052817f118c91a58d7c72e4a419977fa7913606d12baac9e91a953be30a0b4b65141f30610a4051086119a052817f0ba3551f265c0941ccb3766d47b26720ad620a597137ff3c84310bd3e28e26c961136051096119c052817f24c0f953bad596e7eb9ccf4939cef13c7ad1ddef08817154bfb0e9c00d71d938610a4051086119e052817f0803f4ae22d04b4c9c282c70c843e12bfb2d84b89bd7ef84dc3b90d60053b1c86113605109611a0052817f286059c4be6154dd1c281945b93d77312d06638fdde1810c67a664bdefac4e39610a405108611a2052817f29aa84e8187de51daa6de67f44fe365fbb789d1e5f97bc95844628487ebd3a0d6113605109611a4052817f06b9c98ac8b3bb0c0de25f373c8321fd6cbb4b2a1a21b3fbbf9bcd4b7142c5f4610a405108611a6052817f0e4fc6c7e1947e44222db52506e305b8a9ad70f6a834db5a4778d4a30f1c6f926113605109611a8052817f221487aaff9d21e5962290917a9e52a47e867751d1849536fc6920f0e0e3906f610a405108611aa052817f20816bee57855658ecd8a204faf6bced826a725b63c6a1a388b4609a2478809f6113605109611ac052817f0fe2e28489ac49d0cb77a3b1868a9b6fa5c975ed15f2ceedbb2d94f9cb877f62610a405108611ae052817f0d44b8855e09d5ae332469459793c1444814f6d137f9e93e780bd41c97e37caa6113605109611b0052817f231f95ed8327ca7b852bdc70e9ed9718e01ef17741bf8752cbd62177581c8357610a405108611b2052817f07fe49da5568a43070d955e0d212d956e1ff8abd41a763c737e292bee04766996113605109611b4052817f286604988bc8fbf94776efd5af6e7f0646345d8b38120cca0bff62d50fb89968610a405108611b6052817f2c6040b2797deab65e00a7ee9018fbdb75e916de605bf24fb513b6ca66b1478d6113605109611b8052817f04040dc067b3b5735a4f9dc7f1685c81b24ad16a195d7e418ece3ec9894eb874610a405108611ba052817f2d944f7c9d9b18f93a10ba016c50556fa616881971f02bf85e3e72381f7896fd6113605109611bc052817f02cffef6439687307e3f8bb5153102ed821d602f07c94498e5a3835bd0876904610a405108611be052817f07ed599903bc9e02d1a890537eb12acd1593c37d5bfe146b75f6aab8e3f566bc6113605109611c0052817f2876f4d9dd750226e6a7b56302d02d9012a024cb1dbb5c25cdeb4adb0c0a9945610a405108611c2052817f2f6d5dbc65d9e42565b5259fa7b05b83e83bd240f447c0c743a36e342cbbd6ed6113605109611c4052817ef6f0b67b57bc04529b2016d9d0fcd93ff816078571afca003e875fc3442914610a405108611c6052817f08ffad227a9541acfef016a9ab142439aea1e944b29b6d943ea2e35ce2b445a26113605109611c8052817f2764a150669c5e7cb9602f0cd66d34237991ff03c71e02fd053f12370d4bba5f610a405108611ca052817f2a0b54f8b103ed4d0905efc495dde86cac699ca13eba75245ae7da68d467c52c6113605109611cc052817f0658f97a302db2dcaf4a55f1eba36ff07bca4ba73afefb6ce8fa1b2b1b983ad5610a405108611ce052817f1bbeec9a5ff9190308a7669eed61461287f04bd8f2878ef57e25e1b9f02fb1ed6113605109611d0052817f14a561d881388726afa8df179420124aa0439c6f8731e19bc5bc13d9ffd04e14610a405108611d2052817f032750f8f3c2493d0828c7285d0258e1bdcaa463f4442a52747b5c96639659bb6113605109611d4052817f2d3cfd79ed6f56ecb0277e8e247eff7b6a6943e48575463ecf6698fd8c69a646610a405108611d6052817f0653096e0aea3bee59084d8596a3ae7b353413078b39c22199382dbf5c9757cf6113605109611d8052817f2a114504d647643b5f47f830eadda9e1f2ffd540ee7fae6faaa9c7d49368a832610a405108611da052817f180089fc002ac7cc97ff3ca4bd9a7d619478f1cd3811783125e6ab03a33233046113605109611dc052817f1863c476e106d85d20510911c3e6dafb93baf67b41a7f8601dfb4a904ccdccfd610a405108611de052817f2b0a14fda96cb98ae032e8b833701c150104c893945f6ddbbd3a62f9fde629b26113605109611e0052817f055a397537c4e69ed81d5cfe4e113c48272f1fb4e55a02b586a79299f219d64f610a405108611e2052817f1ee9b22299f8d2c2a4a89b7bc09e0b44dbb47bdaea5a81b9a6754c34c1431fb06113605109611e4052817f117a9c504738cd6713a7aa3ac0e34d184c7f6c6d8f5eeed79d6ca95f2ebce051610a405108611e6052817f1b00b3359bc5f05b89367b38d3c79e73385f39114184a3f565d1a8b80bb1608f6113605109611e8052817f15639b3d456bafce2f19ca7dadb9b9e9efd4af373834cc9bde104cdbe44e9f72610a405108611ea052817f0e817e26285be10d74d796a1e82669eff980e2f0c91a70f95c29a456d7ce5d5c6113605109611ec052817f21e2d04cb8d5bf1c4378af14995aee6d2eb30557b09eff97e7b8513d1831a2a5610a405108611ee052817f1a3021b85b6b675621d813aa0c588a797c7e7f6c849d31676a67d0d05b6b4e0c6113605109611f0052817f16342cba85c638d39678320c7528cde3abb568dbf51c3f29d97a24c39494b1f5610a405108611f2052817e7a4dc361069950d7cc013db4be2feeca18869368a658bafd1f9e32682bfa0b6113605109611f4052817f2fea00af802b06d8e0844478ccc3286e5e1b61b5111317d646c2576187d405f6610a405108611f6052817f2b98b79f23c299c69a888a76102d40984c19d0a4f1f95b85b72b4ffbb1f7c6296113605109611f8052817f04cb96d3bd6f06631dc7bb40715417c4dc1a17a387c0150b8cb6a5983e0839d8610a405108611fa052817f127036f13a5ba58cd93aad0c1803d033be2c2c2ec08be200ecf67639cdf4ce716113605109611fc052817f1df41781a6d5fa9cdf1598aa697d88296a07bc19b92d8e9056eb7f5a220b3190610a405108611fe052817f2f47e203cdc81a75bf6264cfe4067c974020c186bd6b1c5c9a688f90b8e8be40611360510961200052817f011c6c6f136985b3f8ede0e69d7adbc5e81326c1bc4e5434a9796603371741c1610a405108612020528180808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080806113a0516113e05109806120405261142051098061206052611460510980612080526114a05109806120a0526114e05109806120c0526115205109806120e052611560510980612100526115a0510980612120526115e05109806121405261162051098061216052611660510980612180526116a05109806121a0526116e05109806121c0526117205109806121e052611760510980612200526117a0510980612220526117e05109806122405261182051098061226052611860510980612280526118a05109806122a0526118e05109806122c0526119205109806122e052611960510980612300526119a0510980612320526119e051098061234052611a2051098061236052611a6051098061238052611aa05109806123a052611ae05109806123c052611b205109806123e052611b6051098061240052611ba051098061242052611be051098061244052611c2051098061246052611c6051098061248052611ca05109806124a052611ce05109806124c052611d205109806124e052611d6051098061250052611da051098061252052611de051098061254052611e2051098061256052611e6051098061258052611ea05109806125a052611ee05109806125c052611f205109806125e052611f6051098061260052611fa051098061262052611fe0510980612640526120205109806126605261134051096126805260206126c05260206126e05260206127005261268051612720527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff612740527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161276052600160206126a060c06126c060055afa14168180808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080806126a0516113405182826126605109611340520961202051828261264051096120205209611fe05182826126205109611fe05209611fa05182826126005109611fa05209611f605182826125e05109611f605209611f205182826125c05109611f205209611ee05182826125a05109611ee05209611ea05182826125805109611ea05209611e605182826125605109611e605209611e205182826125405109611e205209611de05182826125205109611de05209611da05182826125005109611da05209611d605182826124e05109611d605209611d205182826124c05109611d205209611ce05182826124a05109611ce05209611ca05182826124805109611ca05209611c605182826124605109611c605209611c205182826124405109611c205209611be05182826124205109611be05209611ba05182826124005109611ba05209611b605182826123e05109611b605209611b205182826123c05109611b205209611ae05182826123a05109611ae05209611aa05182826123805109611aa05209611a605182826123605109611a605209611a205182826123405109611a2052096119e051828261232051096119e052096119a051828261230051096119a052096119605182826122e0510961196052096119205182826122c0510961192052096118e05182826122a051096118e052096118a051828261228051096118a0520961186051828261226051096118605209611820518282612240510961182052096117e051828261222051096117e052096117a051828261220051096117a052096117605182826121e0510961176052096117205182826121c0510961172052096116e05182826121a051096116e052096116a051828261218051096116a0520961166051828261216051096116605209611620518282612140510961162052096115e051828261212051096115e052096115a051828261210051096115a052096115605182826120e0510961156052096115205182826120c0510961152052096114e05182826120a051096114e052096114a051828261208051096114a0520961146051828261206051096114605209611420518282612040510961142052096113e05182826113a051096113e052096113a052816113a051611380510961278052816113e0516113c051096127a052816114205161140051096127c052816114605161144051096127e052816114a051611480510961280052816114e0516114c051096128205281611520516115005109612840528161156051611540510961286052816115a051611580510961288052816115e0516115c051096128a052816116205161160051096128c052816116605161164051096128e052816116a051611680510961290052816116e0516116c051096129205281611720516117005109612940528161176051611740510961296052816117a051611780510961298052816117e0516117c051096129a052816118205161180051096129c052816118605161184051096129e052816118a0516118805109612a0052816118e0516118c05109612a205281611920516119005109612a405281611960516119405109612a6052816119a0516119805109612a8052816119e0516119c05109612aa05281611a2051611a005109612ac05281611a6051611a405109612ae05281611aa051611a805109612b005281611ae051611ac05109612b205281611b2051611b005109612b405281611b6051611b405109612b605281611ba051611b805109612b805281611be051611bc05109612ba05281611c2051611c005109612bc05281611c6051611c405109612be05281611ca051611c805109612c005281611ce051611cc05109612c205281611d2051611d005109612c405281611d6051611d405109612c605281611da051611d805109612c805281611de051611dc05109612ca05281611e2051611e005109612cc05281611e6051611e405109612ce05281611ea051611e805109612d005281611ee051611ec05109612d205281611f2051611f005109612d405281611f6051611f405109612d605281611fa051611f805109612d805281611fe051611fc05109612da05281612020516120005109612dc0528180808080808080808080808080808080808080808080808080808080808080808080808080808080808080602051612860510981604051612880510908816060516128a0510908816080516128c05109088160a0516128e05109088160c0516129005109088160e05161292051090881610100516129405109088161012051612960510908816101405161298051090881610160516129a051090881610180516129c0510908816101a0516129e0510908816101c051612a00510908816101e051612a205109088161020051612a405109088161022051612a605109088161024051612a805109088161026051612aa05109088161028051612ac0510908816102a051612ae0510908816102c051612b00510908816102e051612b205109088161030051612b405109088161032051612b605109088161034051612b805109088161036051612ba05109088161038051612bc0510908816103a051612be0510908816103c051612c00510908816103e051612c205109088161040051612c405109088161042051612c605109088161044051612c805109088161046051612ca05109088161048051612cc0510908816104a051612ce0510908816104c051612d00510908816104e051612d205109088161050051612d405109088161052051612d605109088161054051612d805109088161056051612da05109088161058051612dc0510908612de05281610aa051610ac05109612e005281612e0051610a805108612e205281610ae0518103612e205108612e405281610be051612e405109612e605281612e60516108e05109612e805281610b2051610b405109612ea05281612ea051610b005108612ec05281610b60518103612ec05108612ee05281610c0051612ee05109612f005281612f0051612e805108612f205281612f20516108e05109612f405281610ce0518103600108612f60528161286051612f605109612f805281612f8051612f405108612fa05281612fa0516108e05109612fc05281610d4051610d405109612fe05281610d40518103612fe051086130005281612780516130005109613020528161302051612fc051086130405281613040516108e051096130605281610d20518103610d40510861308052816128605161308051096130a052816130a05161306051086130c052816130c0516108e051096130e0528161278051810360010861310052816127c0516127a0510861312052816127e05161312051086131405281612800516131405108613160528161282051613160510861318052816128405161318051086131a052816131a051810361310051086131c0528161072051610c4051096131e052816131e051610ba051086132005281610780516132005108613220528161072051610c605109613240528161324051610a805108613260528161078051613260510861328052816132205161328051096132a0528161072051610c8051096132c052816132c051610b0051086132e05281610780516132e0510861330052816132a05161330051096133205281610d00516133205109613340528161072051600109613360528161336051610a405109613380528161338051610ba051086133a05281610780516133a051086133c05281610720517f09226b6e22c6f0ca64ec26aad4c86e715b5f898e5e963f25870e56bbe533e9a2096133e052816133e051610a405109613400528161340051610a805108613420528161078051613420510861344052816133c05161344051096134605281610720517f13b360d4e82fe915fed16081038f98c211427b87a281bd733c277dbadf10372b09613480528161348051610a4051096134a052816134a051610b0051086134c05281610780516134c051086134e05281613460516134e051096135005281610ce05161350051096135205281613520518103613340510861354052816131c05161354051096135605281613560516130e051086135805281613580516108e051096135a0528161072051610ca051096135c052816135c051610b8051086135e05281610780516135e05108613600528161072051610cc05109613620528161362051612de05108613640528161078051613640510861366052816136005161366051096136805281610d605161368051096136a05281610720517f18afdf23e9bd9302673fc1e076a492d4d65bd18ebc4d854ed189139bab313e52096136c052816136c051610a4051096136e052816136e051610b80510861370052816107805161370051086137205281610720517ea136ba13afa6c83eb7b82fb370e228e74155e48fb8f1c1cfc33fb0da8afb4209613740528161374051610a405109613760528161376051612de0510861378052816107805161378051086137a05281613720516137a051096137c05281610d40516137c051096137e052816137e05181036136a0510861380052816131c05161380051096138205281613820516135a051086138405281613840516108e05109613860528161286051610d80510961388052816138805161386051086138a052816138a0516108e051096138c0528161278051610d8051096138e052816138e0516138c051086139005281613900516108e05109613920528161072051610bc05108613940528161072051610b80510861396052816139405161396051096139805281610d80518103610da051086139a05281613980516139a051096139c05281610dc05161396051096139e052816139e05181036139405108613a005281613a005181036139c05108613a2052816131c051613a205109613a405281613a40516139205108613a605281611320516113205109613a80528161132051613a805109613aa0528161132051613aa05109613ac0528161132051600109613ae05281613a8051600109613b005281613aa051600109613b20528161134051613a605109613b405281610a40516110005109613b6052816001610a405109613b805281613b80518103610f005108613ba052817f0d94d63997367c97a8ed16c17adaae39262b9af83acb9e003f94c217303dd160610a405109613bc05281613bc0518103610f005108613be052817f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec97610a405109613c005281613c00518103610f005108613c2052817f2d19f86a2342079b8c1a6417471d461040256eaa689be51f08e6a92e1243ce65610a405109613c405281613c40518103610f005108613c6052817f303a348fae5a4f041e5c056919bc140f68267e2fb55a522282b02d6a100e01a0610a405109613c805281613c80518103610f005108613ca05281807f2eedbf565be4b0b88a0e251d750f7559486d77bea4d5c9612ce3041295d380d5610f005109817f01768f1c854cef712e4220990c71e303dfc67089d4e3a73016fef1815a2c7f2c610a40510908613cc05281807f0cf547ca658485dd9a20bd27b080d3147ec1caa826e725f7f7989fc9668dd16f610f005109817f077ebe9a531776ef7c9e90d5a0685181f70e74298eca38a6c92d84d4c0457ceb610a40510908613ce05281807f077ebe9a531776ef7c9e90d5a0685181f70e74298eca38a6c92d84d4c0457ceb610f005109817e32f4eea6716d08d38119c3d378a36e865ffacfa73eb2357603f3f3368c88c6610a40510908613d005281807f0d71dfba734c88cf774db4e0e4f959cb98acfbbb1fc789e5167bbca1fcafd24e610f005109817f25ea65fea4371c04dd1eaf23d69f2e0f9524ef5b9845d01cdb218e89a8052321610a40510908613d205281613ba051600109613d405281613c2051613d405109613d605281613be051613d605109613d805281613ca051613d805109613da05281806001610f005109817f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000610a40510908613dc05281807f0a31c7831f29acd3bc1d2ceb8c237030a99984526f855ec4c0f3fe513dcd5322610f005109817f263286efc207f355fc3318caf55de82c7e9a63f60a3411cc82edf742b232acdf610a40510908613de05281807f28b694e47fa6313d983b54cf98726cf884872eaf4c74293077c38d54f8e0a513610f005109817f26dff67b837b9666eb8e00a994b546b71208787bdb742f03fdfc9e4f1b2c1005610a40510908613e005281807f021cbce8af1329c4a7fde8a8aeda626766428bce2ba5b3d7fa61619fbbb6e837610f005109817f2bf0df4860ac14bed1ab31a6112f6d0678e3f8bbd20d3cb4d4d0d1fe016d2ff5610a40510908613e205281613c6051613d605109613e405281807f12a9c31703ccb0bcd5b5b57cd4dd977803fa8c04c096f4fa7c9164c78338136b610f005109817f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec96610a40510908613e605281807f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec96610f005109817f1025b522462e72d539ad797831c912abfe0dc14b7e56dd9687bbceb53c8a1b37610a40510908613e8052818080808080808080808080613cc051613ce0510980613ea052613d00510980613ec052613d20510980613ee052613dc0510980613f0052613d40510980613f2052613de0510980613f4052613e00510980613f6052613e20510980613f8052613e40510980613fa052613e60510980613fc052613e80510980613fe052613d60510961400052602061404052602061406052602061408052614000516140a0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff6140c0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016140e0526001602061402060c061404060055afa141681808080808080808080808061402051613d60518282613fe05109613d605209613e80518282613fc05109613e805209613e60518282613fa05109613e605209613e40518282613f805109613e405209613e20518282613f605109613e205209613e00518282613f405109613e005209613de0518282613f205109613de05209613d40518282613f005109613d405209613dc0518282613ee05109613dc05209613d20518282613ec05109613d205209613d00518282613ea05109613d005209613ce0518282613cc05109613ce05209613cc052818080613cc051613ce05108613d005108613d2051086141005281613d4051613da0510961412052613dc0516141405281613e4051613da05109614160528180613de051613e005108613e2051086141805281613d6051613da051096141a05281613e6051613e8051086141c052818080614100516141405109806141e052614180510980614200526141c051096142205260206142605260206142805260206142a052614220516142c0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff6142e0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001614300526001602061424060c061426060055afa1416818080614240516141c051828261420051096141c052096141805182826141e051096141805209614140518282614100510961414052096141005281614140516141205109614320528161418051614160510961434052816141c0516141a051096143605281610e0051610e0051096143805281610e005161438051096143a05281610e00516143a051096143c05281610e00516143c051096143e05281610e00516143e051096144005281610e005161440051096144205281610e005161442051096144405281610e005161444051096144605281610e005161446051096144805281610e005161448051096144a05281610e00516144a051096144c05281610e00516144c051096144e05281610e6051610e6051096145005281610e605161450051096145205281610e605161452051096145405281808080613cc051610a80510981613ce051610aa051090881613d0051610ac051090881613d2051610ae0510908614560528161410051614560510961458052816001614580518203096145a05281808080613cc051610b00510981613ce051610b2051090881613d0051610b4051090881613d2051610b605109086145c05281614100516145c051096145e05281610e00516145e0518203096146005281610e00516001096146205281614600516145a051086146405281600161464051096146605281600161462051096146805281614120516001096146a05281613dc051610b8051096146c05281614320516146c051096146e0528160016146e051820309614700528160016146a051096147205281613dc051610dc0510961474052816143205161474051096147605281610e0051614760518203096147805281610e00516146a051096147a052816147805161470051086147c05281613dc051610ba051096147e05281614320516147e05109614800528161438051614800518203096148205281614380516146a051096148405281614820516147c051086148605281613dc051610bc0510961488052816143205161488051096148a052816143a0516148a0518203096148c052816143a0516146a051096148e052816148c05161486051086149005281613dc051610be05109614920528161432051614920510961494052816143c0516149405182030961496052816143c0516146a0510961498052816149605161490051086149a05281613dc051610c0051096149c05281614320516149c051096149e052816143e0516149e051820309614a0052816143e0516146a05109614a205281614a00516149a05108614a405281613dc051610c405109614a60528161432051614a605109614a80528161440051614a8051820309614aa05281614400516146a05109614ac05281614aa051614a405108614ae05281613dc051610c605109614b00528161432051614b005109614b20528161442051614b2051820309614b405281614420516146a05109614b605281614b4051614ae05108614b805281613dc051610c805109614ba0528161432051614ba05109614bc0528161444051614bc051820309614be05281614440516146a05109614c005281614be051614b805108614c205281613dc051610ca05109614c40528161432051614c405109614c60528161446051614c6051820309614c805281614460516146a05109614ca05281614c8051614c205108614cc05281613dc051610cc05109614ce0528161432051614ce05109614d00528161448051614d0051820309614d205281614480516146a05109614d405281614d2051614cc05108614d60528161412051613ae05109614d80528161412051613b005109614da0528161412051613b205109614dc05281613dc051613b405109614de0528161432051614de05109614e0052816144a051614e0051820309614e2052816144a0516146a05109614e4052816144a051614d805109614e6052816144a051614da05109614e8052816144a051614dc05109614ea05281614e2051614d605108614ec05281613dc051610c205109614ee0528161432051614ee05109614f0052816144c051614f0051820309614f2052816144c0516146a05109614f405281614f2051614ec05108614f605281610e6051614f605109614f805281610e60516147205109614fa05281610e60516147a05109614fc05281610e60516148405109614fe05281610e60516148e051096150005281610e605161498051096150205281610e6051614a2051096150405281610e6051614ac051096150605281610e6051614b6051096150805281610e6051614c0051096150a05281610e6051614ca051096150c05281610e6051614d4051096150e05281610e6051614e4051096151005281610e6051614e6051096151205281610e6051614e8051096151405281610e6051614ea051096151605281610e6051614f4051096151805281614f805161466051086151a05281614160516001096151c052818080613de051610ce0510981613e0051610d0051090881613e2051610d205109086151e05281614340516151e051096152005281600161520051820309615220528160016151c05109615240528161450051615220510961526052816145005161524051096152805281615260516151a051086152a052816141a0516001096152c0528180613e6051610d40510981613e8051610d605109086152e05281614360516152e051096153005281600161530051820309615320528160016152c05109615340528180613e6051610d80510981613e8051610da051090861536052816143605161536051096153805281610e0051615380518203096153a05281610e00516152c051096153c052816153a05161532051086153e05281614520516153e0510961540052816145205161534051096154205281614520516153c051096154405281615400516152a051086154605281613da0516001096154805281610f00516001096154a05260016154c05260026154e0526154605161550052600160406154c060608160075afa14166154c051615520526154e051615540526105a051615560526105c051615580526001604061552060808160065afa14166105e0516155a052610600516155c052614680516155e052600160406155a060608160075afa1416615520516156005261554051615620526155a051615640526155c051615660526001604061560060808160065afa14166106205161568052610640516156a052614fa0516156c0526001604061568060608160075afa1416615600516156e052615620516157005261568051615720526156a05161574052600160406156e060808160065afa14166106c051615760526106e05161578052614fc0516157a0526001604061576060608160075afa14166156e0516157c052615700516157e05261576051615800526157805161582052600160406157c060808160065afa14167f080269f3ed92c6e3a341858dc24e7d845d3bc96e8d648a3530fdf9a2471adfd8615840527f20966c0fb55fa28fbee76c06f90e08e8dc3853f2c397e37207d7089830a416b161586052614fe051615880526001604061584060608160075afa14166157c0516158a0526157e0516158c052615840516158e0526158605161590052600160406158a060808160065afa14167f0fb05ccb81603592ce60bd6199890470ef6f9caca3c17570df7701d70a2dd957615920527f1cc1301d6d462edf2e79083532a337ef3f087fbf0b9516d08074784017e10c7e6159405261500051615960526001604061592060608160075afa14166158a051615980526158c0516159a052615920516159c052615940516159e0526001604061598060808160065afa14167f2e450b539270de5a7e76b1742ceef863e6555a3ceb17e15a30c970a09f5b89eb615a00527f24a8899f7f1b9f5d0d08d4ce06114e3b927b9c17ed6cbf72b4453f6388e2fa13615a205261502051615a405260016040615a0060608160075afa141661598051615a60526159a051615a8052615a0051615aa052615a2051615ac05260016040615a6060808160065afa14167f0e0a0d09d3297f476be1d08a6312dec6ab9afd77ca4a24e89b83f0c9f59620ce615ae0527f1fe0e488c5d44734c5c2bc30bd84697ae396af8823555c557515c9f98636839a615b005261504051615b205260016040615ae060608160075afa1416615a6051615b4052615a8051615b6052615ae051615b8052615b0051615ba05260016040615b4060808160065afa14167f11403199c0ec843e57ff134db14132b156192039dc9b7b3b31fc16a2db8cfc2e615bc0527f28cd1edc3af4c7c637fca26d1d93cdd83f4edf4b0e984d8b3770d79eb99aa313615be05261506051615c005260016040615bc060608160075afa1416615b4051615c2052615b6051615c4052615bc051615c6052615be051615c805260016040615c2060808160065afa14167f1e2d9c5c57d51657f05ad54e0fae244d8f5f3c8c184c7ff7ee9fc9cc704506e7615ca0527f1b66a395b966fe1a3ebe30296bba60c504f929c1b153570c844930e4701c5b38615cc05261508051615ce05260016040615ca060608160075afa1416615c2051615d0052615c4051615d2052615ca051615d4052615cc051615d605260016040615d0060808160065afa14167f2abc8771a0d19f0938e40358db98d317e9f0d2a8c8872d1cfbe56f820eb740a8615d80527f0f568d331b941dc42affd35e178b5c0672adde0e0bb8647bba4c791ece3d41ee615da0526150a051615dc05260016040615d8060608160075afa1416615d0051615de052615d2051615e0052615d8051615e2052615da051615e405260016040615de060808160065afa14167f204c842f660ec3aa72c5b9d84836733d363112976e62d03dd992022ab1115584615e60527f0f935d04487dc92d856c4c2b3ecba75d5c8a384c5cc97db25104f95d00f83320615e80526150c051615ea05260016040615e6060608160075afa1416615de051615ec052615e0051615ee052615e6051615f0052615e8051615f205260016040615ec060808160065afa14167f2008e562d65bbdf3322d1a3d447a392bfe59ea3ae8e038d712db203ab16b168e615f40527f2a7219115e5f5ec1b0a6d66e7225be1317d6a4a3f4fd2c107b2a9edf5b799f23615f60526150e051615f805260016040615f4060608160075afa1416615ec051615fa052615ee051615fc052615f4051615fe052615f60516160005260016040615fa060808160065afa14166109205161602052610940516160405261510051616060526001604061602060608160075afa1416615fa05161608052615fc0516160a052616020516160c052616040516160e0526001604061608060808160065afa14166109605161610052610980516161205261512051616140526001604061610060608160075afa141661608051616160526160a05161618052616100516161a052616120516161c0526001604061616060808160065afa14166109a0516161e0526109c051616200526151405161622052600160406161e060608160075afa1416616160516162405261618051616260526161e05161628052616200516162a0526001604061624060808160065afa14166109e0516162c052610a00516162e0526151605161630052600160406162c060608160075afa1416616240516163205261626051616340526162c051616360526162e051616380526001604061632060808160065afa1416610880516163a0526108a0516163c052615180516163e052600160406163a060608160075afa1416616320516164005261634051616420526163a051616440526163c051616460526001604061640060808160065afa14166107c051616480526107e0516164a052615280516164c0526001604061648060608160075afa1416616400516164e052616420516165005261648051616520526164a05161654052600160406164e060808160065afa141661080051616560526108205161658052615420516165a0526001604061656060608160075afa14166164e0516165c052616500516165e05261656051616600526165805161662052600160406165c060808160065afa14166108405161664052610860516166605261544051616680526001604061664060608160075afa14166165c0516166a0526165e0516166c052616640516166e0526166605161670052600160406166a060808160065afa1416610ea05161672052610ec05161674052615480518203616760526001604061672060608160075afa14166166a051616780526166c0516167a052616720516167c052616740516167e0526001604061678060808160065afa1416610f405161680052610f6051616820526154a051616840526001604061680060608160075afa141661678051616860526167a05161688052616800516168a052616820516168c0526001604061686060808160065afa141690616860516168e0526168805161690052610f405161692052610f605161694052610f805161696052610fa05161698052610fc0516169a052610fe0516169c0526101006168e0206169e052806169e05106616a005280616a0051616a005109616a2052616a0051600109616a405261696051616a605261698051616a8052616a4051616aa05260016040616a6060608160075afa14166168e051616ac05261690051616ae052616a6051616b0052616a8051616b205260016040616ac060808160065afa14166169a051616b40526169c051616b6052616a4051616b805260016040616b4060608160075afa141661692051616ba05261694051616bc052616b4051616be052616b6051616c005260016040616ba060808160065afa1416616ac051616c2052616ae051616c40527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2616c60527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed616c80527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b616ca0527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa616cc052616ba051616ce052616bc051616d00527f186282957db913abd99f91db59fe69922e95040603ef44c0bd7aa3adeef8f5ac616d20527f17944351223333f260ddc3b4af45191b856689eda9eab5cbcddbbe570ce860d2616d40527f06d971ff4a7467c3ec596ed6efc674572e32fd6f52b721f97e35b0b3d3546753616d60527f06ecdb9f9567f59ed2eee36e1e1d58797fd13cc97fafc2910f5e8a12f202fa9a616d805260016020616c206101808160085afa14166001616c2051141615614611575f80f35b5f80fd5b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760038180808510818710165f86145f881417151695800993818180090908141690560605581e039bb70954c516804e5d9ef37db3b51e38caacfc77fd8070f3ced767f7300701194659036cfc01dbc0677dbdb3efa4f85b8bfc86679a5c6e75a38239d30cf13d2bd8e680031bddcd9e6f29615d6d5af69ad07a4e1596db8c0eb27c560438b2a4faa63f127a03151ce5c57c8870e9465352fa1e4c4f96d1faf7606177ddb22943ede139210945021959fa032f0cb9bec13fb0195c6561c87d941e3fb9565bd3a1621424060a1d3eefbd2192030235716f7ed0bbafa5cafa014d10ed81b36a56085716e505b9ad7f24cf28d29303f193f5a1c3f79510d2a4a005876a473226a118d5dfae6e77b5ff945cebeb0e4f03f3e70c6154a380f014098c7ec83a91f6c03842a534fd0ae040f0810fdb8c0f170372a0d7cfe1a5d301b541b1caa3c929dac76ea2c05a6974cf7d82d9ea0769fea903cf8aa7fb5e1f51b78084db7ae0bef1ae865cbf24fc17ca00f287fac09d8f39ca0219ffff031c2c3eb1b37c26ee5b85ff6a7d01e2b519771c2dfc2c9618d8c835e9ef657de103400d15109e7883de71512dedfe00f2a59aa6ececa32ef512e2fd41091e4545db035b9f8267b19a9d248b727b2187c0242f3eec76db5654d1fce954e6af6a49e7f703af1e532f6e67f558bcfaa0af9c71616c911e3d8485b3ff4fd607a049a197ea7d03c3bd919d7b186c36b607676a7fb7b6d70837e9794f81ba029878dea31fa30ca9036c1b805d377c0a781a6cd682bb222b1073ae3846c19b25f6487aa5cce46e3c66038149c8f48de74620ce2375dc1d53911d1fa0f7bde3069f76f9beebde0580f72e036b9ac0289902bbfa7b419a3585e3c7054461048ecfa3bee1d4c836feb131e10a035290b3f9f9b2b2a73e034d00000b7b38d169f1029de59d4534e1643b3260c49d03823b58ad29a6d58de0aff8a0e90bb24a880e5e6b8c8bddb4a41df9e53a8bcff2030f5678392ea318c1abfed0dec15a11cf0e5546a0402e65fd34ce505d0501bd750331e6d6b989f458fdf6087b6458bc3c6e4e372d995fa83c890d6d707dfb514b930219ffff03ce09c854c48fc70e7ad6d4cd2915163efe5bbcde6bce4f5587fe86087b184bb603ed791f12652f4ba613629f21089a04c89709d09ff7e3253fbd41e113dc4133e3036b79905e2b4114267a67e3a054445613e24ecd6369ae52df81d9e00fced241350365772b05692487e8108e78da300ca15f48fdeea5e97d755517fcabaeded4aabb0219ffff033afc429508a2fcbcaf9451e8697d26c23885cb2c5a4fe2626d8d3507c024f492030da1d26edc4d0deec63efffdd3e85b762cebd34a00c727f84a657e939ae548c0033245b7868ffb9ebe45ba0ce3f138221c50e937977faf2cc20762c34bdf74ee420380bbe9a207167cad603897d77afb133267f6dfb2ec313af60afc770841f70e9f03955208aa6a9fef2d526fdc4669d59981138f58744f85dc9b21509ec83449a4ed039fafa23199232870d4f52f3627d52a28031e83b7de552f6fcd299ae53563e81d0219ffff03c8394c835f45450cf19ba0f98e8ab9cb6167c0688cb5ab97b30de5fc81dc981a039688e93f2162b2906c4dafde65439d2e6234c018e424ceaec940e34c3e6c862c037e3ed72e65efec3b98e167e74aaff1eacacbcb290e9f4235fbfefd42c8ebbe38030b57a7e50f4b668990bf540612c82817e800e28fbf8f4d9a3b1c8291d29bead40328afe1a9fe20ea65a75a65a4c5ee22e0c78c6af44054476cc10e2f98c5bfa711034675d85bb2e7512059b4191a621ecd1d39ded7fd1925836cd767bb57da08211c037fbc7a030b24f28c1d7c7419406aec3f4add5ba82f590cc1ae93a10084f1a1a003c8afc7e407e10c493a557a18e953d61dc5e9fe428eb1e67d024050987e15fce403c53b8cba90a3cec4934b18c90b3eb63ec4e95363210d79330d724e5299124c30033dd44dde1d4478c3dd6bc51845283e1b8e1eaa1451b2ad5bf5acb475cdc0540403a258e7574c7c5ea224e772d9ea92bf998ea8efe64320765b4605e0a6e2c7c2f3033749e8fe9ef4bcb2449deeceb3246a9a0fee3dce11ccfff67c3400daadb28f2c0390d86d0aac5c12fd2046ee8c6c246476b11beb3de461ff0b6f21d704937a9c6c03c4762671b82b5a461481919dd4ce8e66e7eef3fc8ce78ee29126d8056c94613e0332453b42c19a1a95636952a15875e47793a6b510675161aab3e27d2d13a43eca03ae014f2013a817b8dadbe8d1e21d9c1b78b3f0f35939347890bba13206a06b84037adf42b50795eae2f237bb3e56cbc65c316f2d9844fba5a07ad030657a5f9727039adc5d8cc902a50e5259d25aa0e41273a5ac25410b5f1a23ac5b8dd9fb235ff2036b18756db854b0ba80f0f176ab8689b0cc9d8b2761e64c7d269ab76509ff5a7803861e9ea2aeb4f27d7435aa8d452f8aae00d018da8826a0544bf404cca4b99ac90333d630d6e557fd401eab0088116b582bc2f2594b56175992821a5384c28f990d035964c6709f707bdc85eb96acbafbafb6be6e04872e59f16d44258dea72111f1803cb1352aeccef999cece04c9e3deee6be918e085580c6306469e436181b8cef5e036869f564ce9dd3c64bfa7c5cc366abb1282731da208cbede573e4231fc98542505581e036ea62abd1e1b544e73c7dfe7a41ca1cf83290603beb60b5c0567d7da200c034701c1d13a7cca0803a40ef503ee56c7ae019f1f8ffd78c6ca202a950fda81356a7a5a52501706ddb3036adef07f952bc0b81ae61f4b2b9e4eb07a6e7938afe9a6d3f6f204735e87b5800392252777229791f83bccb3bf93a14ca08a3c4936348dc36407a9d23e820293130605581e0359beab084a167ba875a90cda135c9122aaf1b1014bf52dc6245bbe5b9007011bffffffffffffffff05581d020325b2529737d62721355117681250736edde7b8aa6634d609a9846f0c0346375e6fbd56c905581d020aa6ea95af2ac325ef5e6c4fc392619a9f9d5b1289b38753b0b9e8db0c18cb480144f8b10a5359e1021901800384bff8318d868f7b6b7372c5bf6ffd69c4683a2692b4dc74f90b8791fa1264be0349d4d577671015a59bc690fa981ad834ab6a0eb260a3f7255b7d8c27feb6872003a280a76dc379be8c33935461e41085c4b6ac3efba7b8e9b52fb16e90bffad30a05581e03339c85f9a856ba6bde58c629f3d1d6e6fb2e136e2f6deaecaf3748aea00c0247106da9dfdbe0000219e6aa03ca597fa3f1f80a5c944cf33a2a37b91e1c3f319f685cc8f3e4c4e400c834055a03b9f7bf2536db2b5a95271dc0519b9d7efb5187d25dfdf7475d64386655c5f142037e54556621bb2deb182ebc8a50bb52f9bc05d82a3fde67ff6017b2f6cdb8dfdf03cffe3ac37d1cf5b0550abbf08b03341d19b39aeffb2b326778e947b17962d2cd0219ffff0384b6e091e514728bc98b4fcf1bf8903d9da02779c833a2bc50852d61f786f74f03c14fa942a683ade1877b57caa095f08c94bfb9cfa097db488724db35bc4998d103840084b85853a1348efce52dc3355319f2457a3d2275b2e7c8972144eacd6e230389f7f08ac92e79c14d88449d68870705bcffbf5e181aacbea2e39a0cb8802c96035d2b6d7e9c46f239228591239089a8d24d137275bfe653c5666c7c1bab3b1f9b03b236255d0d0b622dc69d1a665a1298c88b4cbccddbe0b5ebcd5314747695a57303beb045baa78c45ee0c2796ce03e690454c79754ffcef183fe0143ab686ba1d0103aaf7a8dbc5ef103e850c87d458cec2d4fef30cef44905a7e34ea29c6990bec9a03ffb923ad8c540982d1e890077d0e6634b52b9cec7882491581638413976e0cd803d88e2d8701b7cf54a8a2617830836d2e443df78258b657423d4ebc31e54478960341404d7cc9a96960813cb4060d845458cbcf55a5d2e6fd0f59e5f7decb316b5b03250bb710d3f11d4c1753d6ef6be340de9c33aff0b9a3c7491d92728a63e7bdcf0374c60941bc446a1b28aa60c3139df53fbca278a3cc151dda672391e0e8a996360219ffff03805a3494cf05fb06ed01679298edaf420a3ced51cfc9e202a25e6a578c990a0103932853b7c5d922fec7901eef89ae04e92adad0475e18a0213cef3698d2c3e7db03b433f171957befd5ceeaa0a0c1094588098aeec7b85f9c85c9cb9fec3d5dc5e003f045f23416bae84658e233586a92f80e38514f86e5cd5e2a2c2e37d905ad650c03879dff12f8f71a23f5133ac2bf39295452036e3d69c4dbf86180283ba1ed8b7d03ef5d86570e8e1c6e183f853b50a98ea70a9a5fed55e2ccf636e011e6a728f362032358460eac4583408d09279642452e30054c7b37c0dd68cb40ce2a690e88b7d7037e35fac31fbe19be11a2f93398b3aa8c99d86f49a72da51b079ce9c66caba98c030ced5e0dd779c3f284f3e73a8690d4fe9fc2aeb56f7572476e012a31c64a1bee03ef616228d1a43c1c93a3527b1422ee29e8a06c111819af03bdaa0a901d5f2b6403ce59255213a04b093bce781988a5081cc36cbab342541bf7f0ddddd794d82ae20219ffff0391810bd82b45fb8c068bb32b72c8202c03197b3212dad8ef9b45be3fbb4ea0b9032f9d412f59159ea4450751f883145a10793b5f31c8f46e4e8ab98729feec3e6603c4c6cf553c4aadba8203164c2721100fa7aaf5f6a22ee9ec046a1606845ebc470382ca685b8f5a955e0e598f535fe8225bfbd81860dd027f37eaad0dd8c92f4b6e03773d658a725eea2781582e31f39a6c64e3b8767656c65570a7c70485957eda77035f05727d834e67d77f6bfb8e07906edf7f10dacbd04e8309985f293c62990ce003c3fae5dc1583a41fda61ce68cfb82d62f25f4501666cff6153c1585c7bd603690382461ab9d5e248b4b4049d53f4735b66025a7db142ec1478b1a8de71e91237e00219ffff03fc974e4e951f6f78676450e0a0ebdcffc6364bd82bbeded9c5265d55eaf70568035253c9425b0964c7832b11855428e293df6ec186da8da98a301fbad25500d762031451c5c9c986a679dff823bc7a992daff2e9bbd4ebdfa5f976ca9984ebfaa7ec031f2a321d6747b509f72ba006d8b9148c6d6336b7b4628a85ca6729425c99eaef03aa3fe16ffb82773d0757ef17494cc677296a46bd9d7485d110e67d3dd867a36503c6e8e7190439c762e8a694bea10f6c4248cba772560eb006ff5519580a099a24030bc0c81e367d67d5afd5cdad564b475405259e557a875627440db0c6f684cb8303ace878d4c2ad55614938267225d746e02fd5f3b24fd96a058fa9410c91d0102603cfc8a4ed74a24bdcc0041c70e1f5ed149f1aed14edcaf08c36472f7bf7c1661a03a7ea6737997d9e4696e94b381649ce8d52d38ab5cfe1ab985099281f9e01dea70355add1860e508e04d25784dc8d540e728dd5e700f03bfa53b83d8f5060870b2c03be714bde98ba08d80ee7d00b29da0af97f3568ace51b0c30c439e6f7babcfd7f03b337fd760d75dab5c2997aee3b16d289bf7f1d815d79b45199a2dbdf9a58e50303b3d047d0f6f2ea04674dc7a50fe61c580601fa79b85e799ab671ccf3cc271bb203d7744dd89dcfc62249a339639f38390c6d0d79020ea404269cb23e27335f16c4038d0e383adebc079436f75b7cc5ab4d48a1fbbaf581ba59550b9776a36609e2c9038690036a361f5bc10012b6a63a12c2e87650dbc51a6a62b66749d5d65382312803eeb3ef37b5d895ef3f8d1a48885b4263bae44e56d7398ee54f4a47e1993209630384602a60ff1f06e6da735adfc2cca16ce5c9c044e563273338ecb15b5445f43a03a7a0d74e25c86776841947b6f5411a226c0c16a423c70107963ac6e14d1f8044039ff2da16930e2da0d4924b63bf309c4626287fe13715d840cc146f73ab7f36860380e7a53a0a959bdf41bd463d5c049a7a42f55371811b8929f173f2ce5ac9904503b45cb1dc77bfca7719dcf2ce8583558b27bec77f25ce198ad13a53c3e7d4699403f0780230710e03cbc30f5a1d8d3c95728fc062dc1751e4e697a8948aafddb38803dce0d664a77d6410fafb12ee64b7831f4075632b2c9367549c174435de8428d80353d46ae1de3ec2400c75e832b07b2a612954c887745fb69c9a57d57102fa9bd4031767e0eb56346379f9fe24f613ba7c71652d8557953669be7003b27264edcf7d03bc84115d0c2d0545c89dafa1949e10ba14e05aa694bb7e131b5254aae75610d505581e035dcce553f57db81b0855cfb81b5e2be821a5519d6de3561214524a2f500c0248016019de0a655c80039c77db78e3e5fc1e2808b17ffb53ef71245cb8f3dbf6aa8f278ec51722c2dd2505581e035ecb3391b612f0872eef19ae1b8a7c4d60d390be765503e112acd965000c03471a408bb7c409cc03a2f2858675fa457ff11361d6d763bac47b7e45786bfe979bba326fa36dcab9aa01410703b24f99b8323d8538491568f0dd36b45778ce67c3151bde3539f61424683fff4205581e030812809936d4af6bcf783b9f257c420c62b1811ad19b6d0afdcb1436d0040a05581e03fba5dcfaa059fe0a37e4aa0e882521a702ec2b1750470b89544412dd300c02470ef6997e40295105581e038fa01b0fc776604b33fc258cba1326c28c9f5329b5b89ee5a6b73336e00c034670a1e27ddd2805581e03a22d8fc57354f92094c05ef9ec99a7a23d467fd85ebd88ad1076c80e20040103d4ec922ff58908e001f196e10560b12c4ecc96aff909c72db8df9bef27cd640c03a18e9384416ca6aa30bb8f19001180e8b7cc1a4c82f2a01b325adf15410d13760141040219db8f03bf892828da1257b4cfceb9166b9b1d60509a483f0dfc9c918b603b82b6439a70039ac45a9e3f6672f92a8c84b58d70ccc0970979d1e30ef9f9a7f28a8ee0f7b3690307c8aeffe566d1e742fa9bcf8dd9ac82a6ef9318e17f690d7890ee2f4fac4c1403525e1f57ddf81edd62555393c614c297810672ad3cd162578834e7f12885cd05031cb3630a42ef5ca340b1773e84b632482ac1d3429c96ba92f96e2c978976cab003d48f985199b028e4ee388c66b69bdf84fbd7e7448afcaebf6a41adc93127e70b034b2f6e8628d4028debc3d4b1a79f1e0224e2a87e7545cad11b3514c5bb25910c036e03a1a517f34eda64b0639e52c003bf74730bf73ac30ba2183f72298eae58c2035c5668041a0e9116ba6200f46ef60ff62c9373d4491c4a6b756ea8cedcae5ead03e1e72f76283490c478dadec722c9257f273f48d8eb777aecb4c15b916a9b179603d4cd713a7c7e2ae019e17c9b430608660110e95bfc7bdd7bdc59e1bb67766a5003b1af808a29ab898fdc295ea0a8f9d0c6dce2f05001b9c45adf0ee4205e3b9dfd03bea86baf814fac58d6a109ce8d837ca94ad7c681dbafd841f413a57754727eb803867e60b11d0386a147981c7526b1281ece75e6a8051daf8db34d8e933d5dbaa0034f8eb09254e2c829e947f76b54cba5ab52f13e362620a220044ce9feb7386ac50219ffff0393a4e200404d237be9bcc01dd240dfadabbcb1697ca8f19db4d06650cbd127480354fb3e4c5770d7738187ad0d041b923d239d208fa1c669b1ab841e610b0406860322c3fb2df368f76e57163842b21180347f71bbca9f72ba2001a9a2b78c1260060219ffff0219ffff031c9caf1435b1d3e57dac338e4b13ae66f4670572ed34480e1066ca2cbe00c3f803cb3953f01310f5d5a8d15e79a239c544266a20794b15483c5f656f8f30b26a76035a789c28f67443c86ee07769942d2ace0674a749800c40231649b45a3262737703236d9bd03a06b93ed2d76f12d49a76d57f9d0e2527d8be0eb1b30f3f39315f140377f4729b4af17f4acabb549c33a2e4085f96e7eb9a838a2a6a9c19b04095c14e032d9c53c110a59e87dc50bcb35cd84c6dd52c8cd83158a8ea2a0e8519ff1de02003ea9fc8565d9dc728a1d1dea9e0142e5f137154c816d68f7c1aa30ae4ac2bbd5003ab181cae652a2215380480e6253bd48d492194c158882507a40ffc8df2c0f79903b184876c27bce3658ee5f05b9b53cf17cb3ded0c1a2b85ad10831ed69f72e542036caa87fc0a204ce9e4fa4c72ab2dd12dfdcd9618c63c8e14c4e3a03277dfcfe303ce00df48915997133715ebe828b1b05140c2b7811610748f0dc0a6e6ee4565cf03c4b4ed3fac5491401f009cb50974f5e746e04d6b5c42880b754f2734eaaf50c4031267bd9207481b63b144d10391816d44e1da5c76bb8d312d1ea77d75821423560335b1e3ee79670078c775795e46b19ef6783ba55cb5e586d6836c547c3e4173fb0388e02d41221a34df0a825a7570cf0e06c8b98a6dae3d4439185016fc42fbd09c03ef16262838afc57825a9d29f0e9b56fe994be1a9fef43b119fc2647b479a8a9a034154efb4253958a383ad4dad417e857d02005fb588523891e62cff534d773c33035c3bb9546dded3c52615891d6d2585b9e5eef6e991b2dc68c3a75fed602483dd0371d5b6c9cd7747bc956b560fcf874694423e4fdeeddad4904a82625782eda8b8038a657fde758f858fc3945eb4d021f680eb90e04b3e6bda3084e556710eb1486705581e0378e31a32f70858a0a2632468ed9eccf5236457657be6abe7648984b2300c014691ce2cbeeb0003e74ef6b4eea82b1961fadffc73db32f8c0dd806fd9ececf8b0055e5936a4a72705581e03e1f2346fe0ee82a5169027058302ab98ad87f20af061ee93f8d031af60040105581e03a1c33ce667129598daf676274d72863039590a4717ef7d3b4d0ed1f860040805581e03f5b4f8d4847cd95ed93fd0b0c4846dcd9b915419f228d45edb53d7d8100c0647010e61aea78f4003687f1068f2476ccd90a09959ecda3e369066869ecbafea716061bde2ae9360970219712703d037b41b19bf057c69231d07d941378935a5d5adaaab46f812705a17e40237450304ec08ccaac9dafe689537aa3e49aee87c936e0ef70055cb5ea3ccabeb1d3cda03b9d2852804624ea73166d9c010f2c9d7f2ecfb3f2193048463d52d1343d0715003abc98aefada06f0f2d93af4fbb39c52bb780d758df1b95217bb60489d3f7530703650953f7f16bb588f529e65a23b01c8ee8b5520d09fd77d09e682db9cd7d8dac03d24dbe885df0a0954e11c763e199b4a5ec43ef044797f707bc5f827b4f4d43b103f718709f6023b3205e21e3ee4921426fed4a408a4ac14275fd090fdd77c9170403e493851c583373666057005208d29e30618dd447d3b3a31bd0db17a53da983db03ec926f8ef268f905dfce9e0d8d0b220337df0a5e9722b712d75b4ea8444b8f5f03113d6d586b15ccf62a3ef2443f0211f6916ff54b555fd7a49aaee4fefa667ead0318abcfb607afbd4e9df2889368511fffb6d6f9b375b322148abc54c4ece2148a03cadc5e5ac1fc1b11187bf7b57ea1e9f39ace2fc23456e2ca00afabacf657eec60343c8049578c75dd478c8aba9d41ef2f0447a924cf9fad55003b844fd917fd2760219ffff03eccff76053b617e6b64450684cf85f1bc7d89152c9496e1b16b00db7a867ac6703e4835961b4520c4bbc3c65994577bc4f4a6bf95e4f29cc441cc52ec43262c1ec03b3819c12ad74b51c9942564220e0be2195bdcdd7188f0a972530adfb45b61361038f380d9e05ab4e9f5cf459e105289f9308ba4068493760ccd4d1b0cc7dfa49fa03c2f624eb38af1eb7de5b00b4817beede56e343d55a6731699f12187c6fdcebe503166bbbe98a7a4b810733803e03c183b4b8d11f04f14d0ec66022b383a92c370f037d64dcd9f2c829774cad686c40568f510f76cc94dda979a3d489761e8c02e822036e4880c5bd4ec7fb1bea563f6750db2327656223192b717523c07095ba2302c203373e7bb034b41bddcfdaa34384ae7fe350d4161435f83048326bd14f8fa7b20603dc17d9b982d63d92a1ccfb1cce29b591c6c922cc5408db2f412ffc3b3788550503852b507a3839b171a77ad3e913aec48cd1a7361a01438a33a724e27da40df19803ecf2f68fd97673bb43712f03ae5e009904564fb979cfa99d10b5a1f02354483703e81de4c29d388fa0f0b4997f048a52fa2526edca8553f1418c9495f1f5f520630338dfb5876f3221298e616a79a6bf403c0e2df234236b18bbb610420fd4fe5fb90219ffff0313a4ae442d94264f1248547fbdf0619b30715afda70d982dfe30cd1b3fbfe95203aff3366de29a3b5a7c328731b21b0b719cd944ed6446996e6c47c4081210be3903e7d882dfb3f501d3f2d4f0a5d8bd272b4ac76382239ac7ee1f78d57bc2bb312703f1b7a703123b837d2851ad7378ad555c1f666cb067c39c3dc7215e5107003e43036e3c43f6fdbae032b10efb2cf30ada421cc5a4d0082b16b7003216112a0ff7d803c3cce797d87c524cf90225c7e1057fed9c56208b11759067e804e039c5a8690c030011c24226111da0837fd7eec9ef8fc77d61cde0edbb1d1a2453da9a23a2045b0219ffff03c37923f0cdd622637630aac6c4d94fe0347f6c29120f31268006b5455676c653032282cc4ba39746b52260b7533a3f5a46c439bacf3c763e2366bdbceb709c35f10394407e8c6563fe190e3469d74a7b9d073b98212557f10634eb736bff5928f72103fec607f8ba7d8434f544211628c5d63a47751738119bfa7518abc7f9be728a8703c2948c509d1c35af17ad09b9a3dee246e7c67dd1999c6ae7bce41de46d1cc2f80387f00408c7f55d97fdf5b793a2490e93bbf44ce5c584898eb57ded66e17fb8ad03b5c281f4daff3293e1ea846e9d862394e573d04cd5f1c18a2d34dc84906bc3f403aa521c123cae86d00e533c059ecbb865a9b7947f958f2e97d0e71f9faa3d08b7030825965689b22ebbc877e17c1d7f0a98a94f3e1d6816414695e83ef7e80e6b6c03c5591cdb3430dd35955435c1d85d0281c80f12b6e44b8847d54a2f38c74ff61d0366830c3c69505d8d0197779e9bbd6a381fb59ad395f3ac6fa4aaa3115679786903346eb28a3b07b25d62c12e5f34c0cc9febf95360c2da3127ba97665eddae75b203adaadd39bfb99e088d966c379609e7087fd8f1e490ca105b217a5c083e54566b034f3a3db23707cf6dbe9c33ee37f9f7aa17b4d9f6e7334c7c2630f31af29d7aa603f5afd1e13619e3e5948b87bba39ea686aa46400400cbcbc9c28989fe0af15292036a2d304de9a1e4c21bdce925146a4c08bc1d3b467d26870aa35703af9bdba8e703f021480ca22287a3f330f625c18eb9575af2e0be989070506fef2062d659dd1f0356712e45f82692a6b3f1be4132f4fde56896d745c04510e6ee3a9ded00a230e7039cd521f575205fc8a90811c7d4f11c78a2a8a889b8b484ecc2508ab0d275bf8f03fcd9222f426c75dce0b2edcd4426e5b26d75a7e7b3530a7e19380235c2b0961403f66ddc824844892cfc5be8b75dbe0b28e7ddc8783759a07787599aefb4ed35ef0322939e320e4760b35d0c0bfb6efab5a5d7e85755e93a2fabadebb8bf0f47fe2c03c3b12e117c671168f433e06aac30e3d3cea80838cb634baef9352d289b771a05030cf641a90a48997a68b8de2e2dc8860375bb02ffa7ef4542122b03132ac693b503e051fe6b713118eb00fca9134dbfe24d93332f2deb3c107c041961caa9d3b1f203e30e82160765950ccce047d84a5100fb6f0dc7b50b38fc335eccd89fb9beb94403954272aa471e4cd82670dd36678d1d0010099494f768ad9631879b57cd41fb8e03ecdb72ab35cf81a8131903f31ab8364cb25040c8c53b1195da4ff153dd72dc03031d2db987fcf16cbfa54577412402a568ba7f054dd431efccf10f7a87fce9f1bc0307bb6d9c72d0d7aaf7c7b34f871c1484a2c8f54bb0079742c6bfb47dad6c79f20322333529b2644dfb797ed5ecccdb5501d456d84aabd1122ed3a0280320486462035c5f4ecc2cedf2f73baba41ad324b6c1713e582de0b715342fc2b807b098121d03d6ba091ae77bf2195a550561e475e126432c8a8b444e2e2693fbb692f756a11103d4b8d308df91672142902186c6968b29d93917f8ca214e287c950db1750019b603c4183af99ed2befd370eb4f67364b54a8c75feafeb3f55d5492885d584824bc803837ed57ca5b31d8d9f590d385e804ea6a6b069148c28c5ddf5e9bfa430a29cfe05581d02649abbc12d0fc71c4ba72e40cd86090adc2e938a1c64a810e9f74c600c0846960733919f580459035e608060405234801561001057600080fd5b506004361061007d5760003560e01c8063c52987cf1161005b578063c52987cf146100c3578063e436b891146100cc578063e488cd9f146100fb578063f2fde38b1461010e57600080fd5b806312b495a814610082578063715018a61461009e5780638da5cb5b146100a8575b600080fd5b61008b6103e881565b6040519081526020015b60405180910390f35b6100a6610121565b005b6000546040516001600160a01b039091168152602001610095565b61008b60015481565b6100e66100da3660046102c0565b5050600154906103e890565b60408051928352602083019190915201610095565b6100a66101093660046102a8565b610160565b6100a661011c36600461027a565b61018f565b6000546001600160a01b031633146101545760405162461bcd60e51b815260040161014b906102f3565b60405180910390fd5b61015e600061022a565b565b6000546001600160a01b0316331461018a5760405162461bcd60e51b815260040161014b906102f3565b600155565b6000546001600160a01b031633146101b95760405162461bcd60e51b815260040161014b906102f3565b6001600160a01b03811661021e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161014b565b6102278161022a565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561028b578081fd5b81356001600160a01b03811681146102a1578182fd5b9392505050565b6000602082840312156102b9578081fd5b5035919050565b600080604083850312156102d2578081fd5b82359150602083013580151581146102e8578182fd5b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056fea2646970667358221220a2411314f1e20102c709267359157f0079f94586fda5aceb5084ad78616a3d2764736f6c634300080400330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305455e4b3e3226444cd4de09778844453ba9fe9cd7c0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6046058c445548000219080405581d02a28a3d150dd596d9f3c46a2392c798da445afb0b764beedfac085bde070119035e02182103338d38df3d72fd53baf6dc233afae4e143f080dca2bc56cf56a6ec63d57a719a01410f03872ba609ddc35d1bb6ac7eb8ccbcb7431e030560db54dc2ab10d297d9b60c6ec0325ef2995ace85e91af38520ddc8b1c32dce88749666e609a70944dcaff6bf26503c4cf3fce155497b71e3dee1f185bee6da3cbba30315d850c78667fe463ccd45405581e030fd12c2501adbffa57cbb0773a6d9ca82fdd1c08ea93613c6965a84f700c014713d2fafdd8c00005581e03c4934dd6ab51e76d7639847acfa7b92f0058c0094bb4830d2feb3f3b90040403e6a7249e34325ded0275e4e675b67bcdaefcf21dab67c633c3ff59ad625ceed5021907ab03ccaa5ef5cdaa14990da1abcb1b34def49ec14ac9128f99fc42865b26da163e0203428f19cf8a020e58fba5bf33f769b9b0ab5d38ebd55ac50ba89861cb1c2f53fb032cf788e6c165c1b1352381c171f1ef6b15b2d37be7bcde19ecb57bf0e607d34803709664886245e846f8a649f8671682e7ce6d978991442b19816721c4ac3b8d4e03f37094e594f04843c463cf100597045fbcc87df638bb367b6dd64378c62df6ca032c54e3fa292290dcb25511b79beb1f9d56a041516e3112c5933c0349dbe9542a035024190df82aff155581d8adeb1b823098480c5878eb2b46d545f62e3c2f3ac303fd565bcd59747f41d7911f41efc5d8eb1a80190d90f026439d076a0ce820b3270219ffff037e8d93d4ffc074fa4fcc6d6b9c8e954265274cf7328a57c9ce024e58402622060219ffff030be2a6d507754ffe3e6bffc64d208fefca8d5482426f76e7ef97874c884b3da40219ffff0376308bc6e08178fd10348b8fd0cfb7e00b6c8962a51c15e26eb45765afbeeaa6035082a4e4b37b0d12a2f6dba8e1b56a4160e80f3665a13b8019d3c9d476d76ae5033131011b1559ad5f6318cee6b98c25712112490ef0fc84e346b69e1c9c06197e031400957384368d2b549d94847d20ce94c1fb1974f33fae53b0cbf64122eec4af0219ffff0219ffff035037c1ee450fdf0864702b1e26447366bae34f4d1e75da3906149f366e6f78ac03263d2a2620ba6c2d9e9d9a7040bf6daf934b6456191a124c8b57f33d249f96500384f5591ecf846440a63ec5b6d90c473dd13fc839f89ee4138af6263a506e4d1b0345d91ba154832d82a98a3a3c59796ff88ea5faace3b21f56f7fb5b2350bd7e460385a8bb39dfdf86492ef3628713cdf2d662889b91b751a16d6b0a6f57a1e5838c03c2626fe951ee5d01710aca768ba4a965c24d5a1ac3b453065e1cd725e5dc8ad8030cf8ce62ae6ada08ce8928b036d287033862637e4a442f3e1be638d19d3503ca03337d76810f5620978080dd5cbc85f5c9fe2bf673d037272f3a689851dbd3cf93034c568807072b1152e47935bfa71f22ce065d821ccd56946d0407907d2a8efa70038f066fb9e80f3b3292e49a526311685b1a325fe2d348e69243a80b1c7f4d7d60035d04bf224de6e9c2525e669dc5b0c2749b43a549be0705f07f44a60ed303d89b03bcd72b67f64e176d6fe839a602e0484f4b2054acde67e2bbbcad2acfe593c40203783b7f941bfc0cb072130b5a60e999126b63b47ca5a997498ebe0bdbfe33ecd50380bc965f5d849defad2a6ff250a5f241ce004ecf942e17179f86d325a6d7ffb903d7fd273f1a8d2842aa7bb996f981570c932bd098e3e07bf60fcbc2cf1f514b770350182819e52e5fafc8e39e4c7300b77e85c8301a7f56efc50dc1178da99b7e6b031e7cde2928362da5bce0e54808f58d166eb75e2d9efd8ab8ca061176f88bc84a03b6099d40dab168fbb2d7d7a6b4d4bb9abddc6f4290943f1880c2ac6ff64f340e03927f9e29916bc75d40a38a4da96112db13c48dbeeb0082376160a21f826128110350b6f95f2751d7c8c2885f5f76c3635aaf59a94884ef19f95127aeead24c91b1037601f01fe5fa4c88675bb577ff1421d5dfcfa9338f50f1443382ace55332774a031e5939f17a99be3a1eb5263212a5087ff873787bb009f98f4c2c1e2bde81202c0339e8c0b391c5615ad51be279a6af2f81eaa6c4d8a0931769dd122a383d654e1803855c04e2d9722f48626efd510ba406b6a7e8f57e346d7fafe7ffb2cdb977ffff03133cd29915cf13f2793016e44e5f2e76c16b5cc78786f6644c4ce1ad396aec7e0352705a7c27bcfe7393bf82b93ae149a5bd8f207a5dfa3ba1e22527abc76c6f7f034d62ab23689f6b0e27f834af8d821a31d49455f971e17c0350760ba48f70735d03b29934424f881e3957a9f9011a9bcbdc9b7fea21e462502b415a2b70ba38784803408e62f39123d55b4134f8f2e98f56d3ea4bb2ba91a12afde804c5612845df5f03b7f44d9fa2f5040032c867e6f0a7390c221268b3eec5e268afd53a7bbb3775960391cd2da35536ae9d40c9af43041e81633a40a49e64e573ee3360a2f6ddd1e13c03760611ff8ab19f2e337abbc24517f25d88b27a0a719585a179f299f71da0962103466fd63915017254390f4491f2787d644ddd126a9eb8f55cb0ae37ab483ee48503705436bc0031ba6e7541c3f2605cfa700e2b71a493df21ded5240914cbe38ce303f1e7696b816d4a5458a2ac8b39b4a3fac098421526451f382bff46827754d2bb038877e8f1d5b7aa815c6a6b092ddcbac3854d6ec7327730863622c1f7ee0a73af03db3dc91458b34afdac26190f66bdf702f5a6e278e8d8edf9092552e7142d8ffc032b0e50db994b8c6eaf6b06c639e60b25fb2afc81cacd0e1b8d2f691200eb710d0321836326430a79f5779a3d5ef9a488c2e4d74d56e012a0270142713c08c41ec503f5e299e879a88f7b2045e7b58787f0d860f536b24dea355f17acd7f999cc926705581e033f433ebb1c144aeefcee71bb928dd7e73a3e4197a75addd5b915fa01400c0246ab84bed2d5680355c3c633811a79b47dce4660d497d1fa118ce7f79d69669640ef5666a72f668303a4eb573e5bf71afe0d375918e37cadb4af714cdf6cbc2d7830fdc2a68882f9a003b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03a94a682a0607a4dc092e83c3fde5799835133830923d87d72d104c5b9007011bffffffffffffffff05581e03e108acf7d63d7b11d462986f081aa3ddff2b60fec44ea5a5cddbfa9ff0040105581e0309acb9c286d34677cfc626b03f9327d9a4a6cf02dfb203d2ec38314d40040105581e033235c7f7d2eef679abd5618e5ded3063d7a25dc13f5a4a8e46e3e75fb00c0147024c85fecfe095033ba452b35b97e02e8657cb2c1695e60c270951697bc2ce17c73e50664e61df97035bf90e165aa87bf2b24afaede4a0bff5f0bcb09a45d57dab0e7a6cee41fcd44702193e1d03bc79a8644fe32e08e96425933f7634d3b6348dbb629b9dfc7fec04d64c46eb580219ffff0391f3874231a48c8c5793a7e5643cf77faceebccad4265b54cc67a663ebd192050219ffff038b7d0c2bd06a18eb981a10b1d0bec16931f2ddbe79051a4231e73d6e06a1f5d1034b8cafc1a32ccd4301ece795e7bbc77fba91473bfea166314181f7e79fab6f6b03fbc77c40112dff8404ddfd7c397e811ed8bf6f34f75c696471afc904696540f003b48f93e9d1ba91a618c83eb6f402e5e7a2ffae50d0efba6aeeadb36d2b255c9103a10e5926cc84c700dd96056b9f14c6a9198a8302f56e45bdba539c7beeda1a15039cb99fee773d0c7b8d70255934b1063ef26bbf13b5853a8bfd9cd4ff2f1dc1a903518c976c182efec37c1806f5147439e5b5539dea926d4c7131d82a837b248fba03b55e16f292a8264daecce75ea8ed937bec80ffd972088e25aa291cf0498430ca03bb5b1417affdd128ddfe9a1535b4a31e62e9df0a7066d4861c574bc63e75ead203630991a3e964ffd5f7b10455a92da947755837b6351e44c841d7c446f63b54010219ffff03ee574c8f8e964b6c145a3db008c708b55918bfef54ad865cb5a9a8f3dacc8b57030561508f905b54006d12d4ccd58c918ad4000a191017cb0de32b7d8c7978114903f65ab41606effb8275d9b3dba6f9189e4f2c06b76e02a79436243bb017086c6803ef5d731ee77798028cddbad61422f0e61dca6c3e96eca9218a0c7be55a51452603cc96a502ce4b91495a1e1887e67712210eb0fa46397597b352f609e28016ef9803e8b4eb84d9b5a20924fca38d90848152ee1a81caaf6d2734b667535bfe7acbf8034067fa0cfb8090a10dc9b404d95d1c2425d35e94c2de83748a56400d206efff903bbc54a8a8d231a34d94fe1c9fc73754d3c90786ea5eaa554f3a808e37f700b0b034583fa2b521427adcc0738963f08c1866624cb1f317f803ff6d272a81854182e0351c525ecce7620b08eb5cb38399db2e66eaaf7ef70ef17a8ea6b6169c7da4f1103171c292de4ee4f6e84928f8a0c884c17e040f61ae242b79c5d8fb654eb16a0ab03cfe15260cac5bdd531c8cdfcfe3a96f5db85fa524c02d029a14a1b11be59a2bb0306d1dd8113cd8e7a943c03ab870267f6b5b0be49dc24597a1752bb1664977b470378105df3323e62660d3ee89bdcd26fd61e62c2bf0f9968a39951f93e1dcaff88039e1128a3c78115315db505b4afc5a2133b1741bf5f4aca05b7c89b977dba3b9c03689c627427c0fdba0030f05157a29d2c07f4b545f448c93dcd0cb952e621102203e471c06b3c14deb9fe035af3a884a61b584dbcd3ff4b6fa7a3b7a6468584432803500ba77a8f7d3bee183266494f6175af9501d7e5c25f80e6a490a7177faf474403a5c503582b6a20cddadf17511617799191b3363fabd4d53c3487cb2419d692d2031eba330597387e2aede246c90eac5850d91644115165dc1fa938927f2a56eebd03bfdd952a37f7493d9cd0842805e4a8efb00e387d7db561eb9832ecb8654fecc0031aa7ec82603a61c4e030fd41db1b69b113792942d09372910f756157be101a060395d16014001ef1985ef05bbbc72fec0714cac07cff8fe0e083acd39fc17217a003377f3fbd7ef21a62f7f5c97912af4e077333c5015ed6292041250eef24444e2703ca7ab24b6e36f6cfb4f1dcaeddfcd863885e4d6840e664bbff08b0f7f5200b43034b040c3ca87331dece53a53b5981c87a1f7996b4891695fe1b93576f90b1b2010331bed4dae6e5200c887dd69a5349febe22ceb48157364bd0d54d29628f9a105305581e03606b462875670c628230e6d32f1fdf0c795a7a8d516ce33bc6cf5a0a200c01459f4822091904590987608060405234801561001057600080fd5b506004361061004c5760003560e01c80633fc8cef314610051578063832b24bb1461006f578063c9353cb51461008f578063d5f39488146100a4575b600080fd5b6100596100ac565b60405161006691906107c1565b60405180910390f35b61008261007d36600461071e565b6100d0565b6040516100669190610809565b6100a261009d366004610702565b6103a1565b005b61005961048e565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b60006100da6106eb565b6100e760408401846108c2565b8101906100f49190610756565b9050610119816000015173ffffffffffffffffffffffffffffffffffffffff166104b2565b15801561017657507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614155b156101cf576101cf6101ca600061019060408701876108c2565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506104e492505050565b6105a0565b60208101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81141561022157815161021e9073ffffffffffffffffffffffffffffffffffffffff16306105a8565b90505b80156103785781516102489073ffffffffffffffffffffffffffffffffffffffff166104b2565b156102d3577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156102b557600080fd5b505af11580156102c9573d6000803e3d6000fd5b5050505050610378565b6040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21690632e1a7d4d906103459084906004016108b9565b600060405180830381600087803b15801561035f57600080fd5b505af1158015610373573d6000803e3d6000fd5b505050505b507f13c9929e000000000000000000000000000000000000000000000000000000009392505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb161461040b5761040b6101ca337f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb61067f565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b2bc06a4efb20fc6553a69dbfa49b7be938034a71614610475576104756101ca307f000000000000000000000000b2bc06a4efb20fc6553a69dbfa49b7be938034a76106b5565b8073ffffffffffffffffffffffffffffffffffffffff16ff5b7f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb81565b73ffffffffffffffffffffffffffffffffffffffff811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b60607f505ff6a4f24a0aa989a95ffe4c8d435d76fb30dea162a3e3022e749867722deb838360405160240161051a929190610836565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290505b92915050565b805160208201fd5b60006105b3836104b2565b156105d6575073ffffffffffffffffffffffffffffffffffffffff81163161059a565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906370a08231906106289085906004016107c1565b60206040518083038186803b15801561064057600080fd5b505afa158015610654573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067891906107a9565b9392505050565b60607f5cec653b364cca3880afa73ceff506d0651d11d26abbbe4a56460aa933b21b08838360405160240161051a9291906107e2565b60607fb5cf2cd09307d6c717473134badbb9761c2c97d7565566c2a71eba6cd6fc514d838360405160240161051a9291906107e2565b604080518082019091526000808252602082015290565b600060208284031215610713578081fd5b81356106788161092c565b60006020828403121561072f578081fd5b813567ffffffffffffffff811115610745578182fd5b820160608185031215610678578182fd5b600060408284031215610767578081fd5b6040516040810181811067ffffffffffffffff82111715610786578283fd5b60405282356107948161092c565b81526020928301359281019290925250919050565b6000602082840312156107ba578081fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b60006002841061084257fe5b83825260206040818401528351806040850152825b8181101561087357858101830151858201606001528201610857565b818111156108845783606083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01692909201606001949350505050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126108f6578283fd5b83018035915067ffffffffffffffff821115610910578283fd5b60200191503681900382131561092557600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461094e57600080fd5b5056fea26469706673582212200ebd6021a62d4b5862232aeac435439532b20f168522671bb3e1820c4216d3de64736f6c634300060c00330605581e0357ba961fbcfed88047de48db7c66fa20b476b645587875d9afa6611a40070119098705581e038b6976a17798e72ae01c1e39d9057b80b6bb8b06955ccadf419656eec00c15470163e2e9478b3305581e03df10020a964e07313884233e066795a377ec26fb2b356e933ec96d0b800c0149038ea5ef7a5141df0005581e039395500377087bb81c01ca181ceb17185ed986c7e3a39ad331e0b781200c0147030e3efce0e3d0030ecd202df5e2e5f32236cb7ee869abb96eff6a75bc47b5679f3a7c4e9ea813fe0219c34503e1b402300552b93c28f1033f0ccab32d4935e93c528943f6ee7aa6b1296bfbb8032e101351b46f43d2cce300c08feb8ab92de49ba0e769852083c99744d6df05df03179f6d18d95f659cb93828cf99dcee08400305a6d040e9366a2a35adf1aace22036348bee040f00bce72cce82c1126386f22511181b82e3eff437ff044d5508ae7035c40c0ce787bfe523d199fdfcbc88e634ae884a1c2a7a25a2d084396660e12e20219ffff033f873db8cceef5adb9b3058b1212d4f423bfcbe3ea3317b9f3b286a827870400033253d538ecd0915fea8dcbccaf30959b856187c619db84a439b73633405a09ec037a351a0e56a5df79ee52c6f137c01da3979dce60c848b8c916f493e66607f7fb03f3ecde85a3225339df3e40ae7267f4c46510e844cfd89bbb06befbf475ddb65403e133f5085a944db2b22b3c1a45c33876429fe978037e48b98725d534c11dad2a03276edc69c12170d9f1a73347eb6629e469d274760bd79cf82348e4625cacec87031265d71a39e051ee856f1c8566b78fe3a370f7b93b06a8f4445965000a7704b3034ce34aaa0b50944d4417eeebf62fbd86d7161d12a61e09969d3efa9cded01735030d19b5b75fe002bf5160bb6aea431e6c6305d0cbb1a41fe82cc6f7f840e47f3403650fdd44bbe92c2977d19393d4b8aed56c04f1725f65c6688e528f115427fe530219ffff0356b50bd44bf1492cd5ba100437166fbbc5d997a70ff088538a68bbbb46661dfd03a9c6becab9b05aab8b5296318bb33f3cd2899a4ff6c370beddb146f95942812a03443c8d1c6a15e82206a2597535a7aeab60ddebd8f99565c679f7557339a9965303057ac1970201efb3a338c1b049c5de92466e866599aaa63387f8a19b4a60c65a03922afe56e0d4e01687c56ffefb7c932e243a4c4f046ae542f861845902e6dc98030d1418fb24a6f4171ec1106cfc97d004051c1daf70bfab2fa2bfdbc9692be744036c5a5a0158b031146412389b1caf7ce2029b02ea7ba54d91865da859d32819300219ffff0399dba72fa4cf98333338efa41c8614b4bc9531a48682ad0b8255ada4ec1373e903d771bfdc33b74010b40cda3ec6d65a0c718157ccd74f6135644c147fc56be31c039d9426ccec7364da9e8d7e1a9be536b17550ed56fd4528f80263c68bc55a126a0355ce54e14334fa485ef59bbeacd5cad0f5c249fc019dd7f3c01f11a0d5521a020219ffff03d0745f9abde0e83d89efe4158116639a272125de302022a5fe0483ccdf6dadd00376719a71213a7a3b0ffb4a7e2cac1aea8be97e8d5e56f36fddbaf81ba0cce20c03414db76f32fd2f3a653834690875fa5da96c52a6cf8bcc7a5649462b6d0a731e033ca1956813756f1dd890a599e432ddb5d8b169f6413a4d2e216b0f61e292e0710351db1ba976d7565881f4cf983532b61f1d85f9da9a3bb667c2e4d4804a3b54b003f51a402f4968a76dd7f63c52287697f4aa63bfac86a9ee08827a6d2cf1db51eb03ef9bf6153360751fe32e415e1cb1a9fa993e207adc69834bc1ca8e2108f2af8c03569597d66e6ff9edf3ea25ba41a931283951013301b4b78b20d433589caca00b03a4e05abddab1165834cbf2cdb57c9ddcaf5152b12da7caa465d9df6e6d765b26036c16d60c907fcd2b5f89ffc7ee13634b77b435c377c917f2e23f68e8424abd270356034facf8181dd73a472a6e12da11ea1c72af9150ce7516aa97c2f125936efc0321dec832a5b34c5a93f0b9838d7cb33ac02b2b01da868b52103b4d49a3d3ec9f03bf655eac742eb362c64e0416cf7a77c8407efee9e17d2388151ac3db47be474a03142b0cdbb63339905aa31a49da43e0edce52ee434c742277c56bbd3fba08901a0335d65d920a019dcfdbb981c585f0b64a3827c483d66f1a7fb7716b6a80830f9e0303347fb5efb2fc4391e80d9863586e41b7f4514f4239ef02d2cca7abbf31bf60032d8264e441ce547abecdcefbc5398c6e289a4f98ad3a46d1d8538a548441a48b03e45c814c71681edb383c83db9f1b37e8199d32dbe5b06a5780c2a95c64d71bd403159325028902fa965ea353bbf8dcb09e34c63d30da25035a42ac7705cc0087f9038e850e98c08237982b2024f5b265472077b7276956ee1a15b7ad2242cbdf177403a3865618e585e5015b4556a3f650378aa066483c284942ab1ee8c993e18f8aca03b167b988fd45ea435c4e5e7d247de3df542f6d13e75ce5168c3d4c9da261b5bf03e531c0583ef45bd847e40652d6659bb424e6c64a5fcd23a2ba1ffd5359594ee403c40a6bb9e8d0395908f7367ac61ac94a2f22590c09281eb723ba4fafb18a361403b17e8db960f0b875a93aca94702eb4a6c77c630a30e60de06b02f823504e3a210373f544f0e7a0e8bd0027ab93f838ff9e386f7581a85f63365375e295aed5523f03f934c279cf50bcce61dce36c3785d86805da208afdd4070faae516220d03c78403a7cd89caa1e0ae97ac4f6986ff60dadb1b38bde5bed847a0f7c653866e5c48fb05581e03e7fe2bc04893e63913ba37fe932939b5ae938bbf4cc9e09795a03a6dc0040205581e03b8b6063bb6aba9a3ee7b658ceeadd4fc1982983010cc3bb34fe90c8cf008475fbcac1168f40005581e03f9b0c2481f0752b85d868912d62d9158f7aaf6e8f4155ebfce4a3adf20040103d7ddb3495f9c8cb1b4f5719adcba32dee1b669101330c8dfcd63230757a4bd4105581e030886c9dd7385db04ba26ccfa40854051ac1ddcb4e4791c989d427405d00c154721805cb985f06803f2294850a49a287b7f93e721aff148add3fde9c4e173179c8badd556627f67aa05581d0248baac208ddedbf0111b783f4404d902ba4e3c78c00a916253077788040404590c51606060405236156100b75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100bc578063095ea7b31461014757806318160ddd1461017d57806323b872dd146101a2578063313ce567146101de5780634000aea014610207578063661884631461028057806370a08231146102b657806395d89b41146102e7578063a9059cbb14610372578063d73dd623146103a8578063dd62ed3e146103de575b600080fd5b34156100c757600080fd5b6100cf610415565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610169600160a060020a036004351660243561044c565b604051901515815260200160405180910390f35b341561018857600080fd5b610190610499565b60405190815260200160405180910390f35b34156101ad57600080fd5b610169600160a060020a03600435811690602435166044356104a9565b604051901515815260200160405180910390f35b34156101e957600080fd5b6101f16104f8565b60405160ff909116815260200160405180910390f35b341561021257600080fd5b61016960048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506104fd95505050505050565b604051901515815260200160405180910390f35b341561028b57600080fd5b610169600160a060020a036004351660243561054c565b604051901515815260200160405180910390f35b34156102c157600080fd5b610190600160a060020a0360043516610648565b60405190815260200160405180910390f35b34156102f257600080fd5b6100cf610667565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037d57600080fd5b610169600160a060020a036004351660243561069e565b604051901515815260200160405180910390f35b34156103b357600080fd5b610169600160a060020a03600435166024356106eb565b604051901515815260200160405180910390f35b34156103e957600080fd5b610190600160a060020a0360043581169060243516610790565b60405190815260200160405180910390f35b60408051908101604052600f81527f436861696e4c696e6b20546f6b656e0000000000000000000000000000000000602082015281565b600082600160a060020a03811615801590610479575030600160a060020a031681600160a060020a031614155b151561048457600080fd5b61048e84846107bd565b91505b5b5092915050565b6b033b2e3c9fd0803ce800000081565b600082600160a060020a038116158015906104d6575030600160a060020a031681600160a060020a031614155b15156104e157600080fd5b6104ec85858561082a565b91505b5b509392505050565b601281565b600083600160a060020a0381161580159061052a575030600160a060020a031681600160a060020a031614155b151561053557600080fd5b6104ec85858561093c565b91505b5b509392505050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156105a957600160a060020a0333811660009081526002602090815260408083209388168352929052908120556105e0565b6105b9818463ffffffff610a2316565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a0381166000908152600160205260409020545b919050565b60408051908101604052600481527f4c494e4b00000000000000000000000000000000000000000000000000000000602082015281565b600082600160a060020a038116158015906106cb575030600160a060020a031681600160a060020a031614155b15156106d657600080fd5b61048e8484610a3a565b91505b5b5092915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610723908363ffffffff610afa16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600160a060020a03808416600081815260026020908152604080832033909516835293815283822054928252600190529182205461086e908463ffffffff610a2316565b600160a060020a0380871660009081526001602052604080822093909355908616815220546108a3908463ffffffff610afa16565b600160a060020a0385166000908152600160205260409020556108cc818463ffffffff610a2316565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b60006109488484610a3a565b5083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16858560405182815260406020820181815290820183818151815260200191508051906020019080838360005b838110156109c35780820151818401525b6020016109aa565b50505050905090810190601f1680156109f05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3610a0784610b14565b15610a1757610a17848484610b23565b5b5060015b9392505050565b600082821115610a2f57fe5b508082035b92915050565b600160a060020a033316600090815260016020526040812054610a63908363ffffffff610a2316565b600160a060020a033381166000908152600160205260408082209390935590851681522054610a98908363ffffffff610afa16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b600082820183811015610b0957fe5b8091505b5092915050565b6000813b908111905b50919050565b82600160a060020a03811663a4c0ed363385856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bbd5780820151818401525b602001610ba4565b50505050905090810190601f168015610bea5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610c0a57600080fd5b6102c65a03f11515610c1b57600080fd5b5050505b505050505600a165627a7a72305820c5f438ff94e5ddaf2058efa0019e246c636c37a622e04bb67827c7374acad8d60029035fab3895afde16158624a7f3bbe8cd9e13294d5ffd045fe90ae5698323ece11f03b0e4603c90bf929244d95b3c64eacfc6970a9bcef251fd9651671ec6e8d4c687037d682836256c982256f4832ceec447f6225802ca925db8b7fb0a9c595a4c3794037dd5cf2d932ec68cf5b079286094ecf1ea99d8942bbf4751950f2dfed5c1125e03fea5afe41129e15077ea6edffb870b174f78880d00c738c5d4a5063a0ae6035603752b1d8b31be5e2694eb71777bfc05ef476e12f61c7e381864baa14abd79c37f033c57efcbadb430b53f2035a7c959e85879bed6263957ebd969886e0c740d5e98031336ef057200b9b20a620345bde1862351cd42c85dcf742c49ae725dbd3da9f4039f104b33071bdc420aa837f2358656d74f85459cd0258acf06af230bab4fbbe103dc0ed409bc91c073bf70d89d54d2d879826ca9b713033d6b3951dd78ca6e1d1903b16b93f49081646cd9b21db95bf8b773f470b6cff4d04481e778c27d099b7580030590418a267f8efc1c366cacd808f8e919a3414873a174e4f85179952efa70d003da3603af2e757772bf91b335eb50ca8ebd7520c875ae50201c7c28fb9d3b0f520339069704a4f7eecf19de5ba6036e150adeb2797edd08f8be7d3d8a6ca713a8890312077e437fa081936da5c6769620648d5f62de5369dcda62a944acc28a25422c03f83c7d8c821932ec41e224685399d81b5bd05090f5649af96b214e5b560b543f03fc8ff18fb887351fc171aa4468f7ef82271a9c04d5f8907583b343638504735f033c4829cc2a74029181066a04e95b6d98ece96effc568e6944603d4f205da14aa03b968490f3d7c62868108cc9f6816a73806bb5657607452f64bd18cee497557fb031086e5c8bdef5d43b417d5259ba7ae4323fd3a6dbf45c6adb2da6478158b31bf03cd21ffe9905d13049360a05d1d20877b2a1e0a26653c770968d68aca3b083a2703813f49cda59db9acc9a93a3e20cf5f0ba3818190aedbb32883730ea2dceb39e00332277a484f8805600e520e84c9550a46b46a1433c763d32f95b90c714707d9be038e65528d77b27abb893f7a86c81537129eea281e8fec7dcf2f05fbc46f226b7e032549069d2cec644450f5911a5d2d7e1d4a40c50d75896e30526a33a63aad0cf60332035b8e831f5ee2f11aac46915e8e02ece901fc926729ce2aed4f89b6e030dd0311564e961874d0fc1fa2a789510d49904f804f8a2e3f99e62fb9405a469e2f8903e440cba195af06c2f76c4658fae75f6fd1fa15b492e4a024ebeb71b60df20ea9031042dfff51d2a4cc3a0ea0d2ebb67b043ecf16031624d117f09a19a71757da14034b3e93b871dfc1fadb77e68a9b48090021583f081e078b17ce582ed9654f5bc703845b5c98746dbd080e8ca42c43252243d25202199cf0c16f21882fcb151728cd03f24c91c1cb6b2a2cd9beb25c03f005f03be5ae54ee5d6df0a863a93f345db69f032ec015abd283c7af7dcf82bf0b8caa648119889b910139e608aa08071fffbdd400581e02ff1ae8c33f3aa9ecb269b915712a64981d30cb45e6dd30aa205097f44d49598ed564e0be19200000581e02b348a008f4184d3f7e47ecf2fc883a1426e3dd0b4ef5f5fc3dd9b021b2490159caee376113f400021901040323b9c2d300f600f26205ce58d7be1254df56363fb9a78a653c8f769fa548ee3c00581f03638e8e44bffdbfb4af5f3321e04045ba6f862a36b1b6f2b47745e2efa8504807d3c95f6aa94c0000581f036f2b608a34678409e12594978df0825a0718198c73544c3f2ac3d84f7ce0490162c4af2eb4e4600000581f0388ced46b6ddde25bbc006e7424d2879b1becfaa3ac87fbdb7d64decbf93047010cb5d04c840000581f03a99a41c8177f29064ef5c794cdb71987e87726f79899ed6416b8064536505820fffffffffffffffffffffffffffffffffffffffffffffc562a455b540e2fffff00581f03d2030602a5a941646c3fa4f8245f16cd8e5bb127d4a26b9afcfb7534a7404904a38af478ec0c1c0000581f03b206277af55fd15c13f1ab76f2676edbe2b89b1c547451b094bdf9ad13a04903f2d42806178e700000581f0352a80ea939c982a3914316a9ac25e3202549fb6fc09637fb378c348a47f0490266822964fe4c00000219adaf03fe5307208b08f432ff06cd1d51f3bef78a66517f82af987ba4339bbbb134593103bc6014d8ee3791f441ed326abf55b939982a8d48e162d634d7b9bfd095598c8b0219ffff03114cf98286492bf6e2a135d200f0490395387f228ef9b9712833fe9fc4393d5503a040d1cb155542fc09166b999e83688125282fc2db0d45444eb2866086e7262e03b10c7753fd83441d535175f8aa535e9dfa365cb2db21f90cd600b44b8ca01a86039ff4db2b1d0ee905785824c19d0d86d49708577d3fbb0e49cca7eed75fc10c3f036f0f8177415d810dcb2d8cc5b3fe566a878402e60f1722839dbc56848772affc03a366d8f577314004a32ed4845f64be9a9b6693db1852c88d73d5a8bafc58f50a039a2f8c144060a637197fe932be8529652a860283620f829dacb1fccfb8b5e27a036415c0db750cd08c412ed55bcb600fa5ff69818f08cc7eb76651b42e4fc336b403d868307dcdaf7780d7ac7415649a6b5351ade17069f0ca3d3da443bca7e4bcc603eb6a82036d0ac8015f8ac67d5a45624503a9535a8547b59a4e71e0faf42a5cc303e04709823032bbe01de0b20758d5f7230b63a713909a2cf2a559ca3999a88f8d03b399e01a2efa2d09068f4725dfb595c3b5be4b878a83785deaad8e0f71800255030937b46bafaa725a8856c93ab6c50a65da6933f9769566479ae058c1526e81df0219ffff0219ffff03f5d883ed9a7c25c981acdf80354d4ce901b39a8df612ab5cf0981fee0cf326b2033ca797620de6c68fb4f06af880e812866a61ed92260f18e62fb6a03174a68b9c03bec5b1dd5f90511a8482d1224b366424a434bf8abc6e8a4a2e2ec0c7a658024b039c8f09b2633b14c1879fcedb3c09d95713aeccd52a13729293d97c2b7b6c21c1030607a24e938273c691c924c8d1b145fc38a42d090c58d9b09fd0cf5fa556bd6b03301d6e2596ad45986b6aee3b2a9e34cf63f3e8573fe9a9c3f866241ee35ca28a0310d52949a20ac67b12ac2adf26b5722fa1f83da37b8080c1b907b36d3939d12f038a429e7c08fdf68f9daa0d8ad8e6aa08f0dad273c1c336a2ff745531a769daba03f2d969f9f93c692c30bcd1811b8f566fa1f32fe8b28da178dc1a17e5ce71b2ba0335c585710c586e219e3279650ce978279fd91a1d8ed2d3faebea989a8e92478703475cbe7a8e962f3153c63bb0a1c2303e265e2aef0a37560cf98bc5338d053a8d032edd3411c394a060f9aa032163ab2521ceed1e7ba756207b83cb68ef2d6f9cc503f43b2681faa71fd935c332861c20232597e3035b310d9325c68d8afbecf3bd7a0399fe7c6e3c91c50a13f4d7d766656e471209f88c6c25562f94a4d2493564e9fc0306e2bdbdabb6b4d7283a0ae103302ef3b18a823df5dff64146268e297cb8f67b03368ef80f7011d3f2c7026086130791449a3ba9179c372cddd020e8e7632ca693030d96b3ce3caf8eed19e7c1a69a8e54f7290d2b74894dc7bc6f8c0a263e18558803abb5b0f7b824bdf1d55e79c9829e9b56d90bb52efa104ffd68b467fe9d07bd36039902553c538f22c37e1d26add62e5377f3c90176ff331944d7ca0d74f5662a8e036b4dbcb98c97ae2a8ecdd7c8991a682942325c57b71ff6a722c10bc2c6f0406903032f7e020b15d85cf8de03747943a7ee498601559f7f0788115b2e761b874da100581f036dd7193af0a532ad758f3455f4686c01cb0dfcd06e0e4ee21e4a0b7e860042086a00581f036691f2e82eb6e44188f194d0d6203bc15d2c3cf6bedefcbf5ee1dac265f0482a090363700e4c00034dbde35300ca4da8d32d1c8de0c8d716a78de19692566cabed6055d7ff700f8d00581f03cf2fe9251a7130074e3a5f154688c9cc47da6d83bdb862dfe8a6c7c467a04901f132223f5b48d1e0031fcf244ec71ec4338bda4170693b2e7626bbfbd553c829299ffe7c9044047ad700581e021400b8f68b26c717c63ebfeb919a9ddbf29a262c78525e89cad2fa31ae4a01a32e8c88b81cc2179000581e02454bd522af9c71014b9c72e45ff17ff1334fa99806f384007e8d707f784915f33bc20c1b8380000219080200581f0353dd73dc6f8c5652273fa7145910a9a2f7976b8f928a1dc2951006078d405820ffffffffffffffffffffffffffffffffffffffffffffffff7538dcfb7617ffff032bad9b15940980e7d7ea372b133a43810daad8cad000a2921bf58619b9fa5c9000581f03abf6822b6681c0756b6e3ef166029707dbd27fefcda1c4306ce592d9e47049012c2d3404abf7880003d91bffdab468c4dcd6ac8f95dbfc9905396f42d942d34ba6be03bb04730bf2ce00581f03239dc0f2ee80cd95cfaa56c84a80ba6694f8df6fe896e8361cc4dda1488048346a997d14a6800000581f0356a011fb75bac8ecfdacb30425697fc56be82e20ced4325e49db88a536a049656119ccb0aff700000219fcef03fa8649d9eee5e4c8160905772ab9a3aa506cb252c33304b26871d3a352cf0ac2036406c2e2581aee2ac76908ac214dc91825f8bc7ae0ce920d59cd3e4b6240727e030a8e0e36133dc69b85019ea56e67362c33836e19420f3312e7b5e64d401b653b03a11d926b1d93aaaffd13af096ab20bb7f96ebc62f83027adf6c289b361bb710d03dd240f5971990f66f9de636499b30017c33d26cf4ceba31b9b6abd2975c543bb038cc842a873b411f7eb298f887dce6e5c07b72f1c24430d93b668bde5e39abefd0346facdc6e2521a9f7830dd9476350eaee18b72208b297939e267d0a7b4beafab033f68f16bb57dc597dfcb3e7c3cd43a019ca421a80106399d1dae6bc8a5a37e2703df90392216b5269a925ad39a0dd497718f8b6e7859b623a212898347cf847b0d0347ae7b535a98150ab7f0c2bd0d0816218375eece2e2fac02fc1a42c59ea01c38038a23a2eb0914840257cf2e99d60a8e3c21f2ba48908ba1a2d14015e5da7fa74f03f1fcf1bcc241999477260764b1f63a076b52482216f211569a0aa3fa3d781af803e9b8696f57cacc8974b37262042fa29ec02e749052cb94815ebee0a78ae2709d03a9d75ea7a56448ecbaea2fc6ae50f9baa6938a35af4ccd911023bc84f08ec1040371db73425f9e1137d922eaa164d4560d12ca9a5710f08c6bc4de2aba3a22cd830219ffff0322967b7ed07b6a6426a26877a2172631e1a4c0a9254a63f5822c51414633be22039e51529dfaa0e99680e4b095afb4294b0ef02126e4f79ad35dd544b2b0de10b003d60c73b67c5d3fd0c1e59a9f2f21162f44d68daeeeba25de00b95232ee685761033df811e695b6a5d1f08f93052faa3a6ff68f0ecdf093ae41fb1829b14b7c76aa03cb5d0ee2881f9b7d1280533e8f4197541ab07284ef56763077bcca94d1e3aaaf0219ffff0371f7f3838b75733ae39167f5813ae9b7b54f0134e1f41264407112e016fcf17803ae9b761b0b41524655b97898db42a71a5f33ab8e4b4c5d1db81727f0f6de87ff03b108de32d1bb9368d4856ec4a11549993bd2305b5a6f8d701ebb5101ce2ba72403ffff289f6ec8bd29c013105f5e5300385fe579a4ec30d8dab8898f661e76a64203f0f6b144cf9e6015e3cbf6b5df70d1b37efd225c1d3448899bb2bb3a325402e8038a8cc34608cc0000db810840d5a3d6af6395d48b739022e74e702bc874ccb1960313671e315c0238d8f9d9fe135cbaf44ca1d46dbd1d72c03a20d918141403e64203bab013483735cf105d88642481a404c732db027261b6b3d57bff20197861f0db035751658c434ec7a9400d32ceb4e9e15f56ef7c01210914bdf846a3e15910c7860315213b9df949e4c35da9c35370991da566eb7867a8bfdf859ca1b2efd074d9eb032fdbde0e80d1cf391d25e5f2fc27c416fd9276b3a045ae16bbf6250187df608503662989a5112dc8d80c3f04787ff1e175aa38117d30291c11a819319816f43059035bea84353245d2f5f865475753c3f775d857c638e07afa12edfc6ca2f320f1cb03bcb3160e5fe56f7a6ca0dc94977c93f296a0a11cc53379fb81374a27551e94d603c90bfc3970c5f1994d465c1f31db25b5a3fec8d1f7e08c99eaed6d980493795e03fe26fe301c6c3894368a5b8a87b4a914a2020b63fb08750bcff865fa14775fc603fe03e090e1aadbc32b0ec469506f558eb0415b8f6c7640a8a63476665667be3403a5ae5ce64fc3daa12e11b0f48dafc637d9c5b3bcbbbb8debb2ecb94647dd220803db88510f496477aa724aaa1f6746d3b1d76dce6bd7595c1e4686471877edc4bf030040c66bd6b96b84623e79b7db8974abfc36981b446b1d664d8ab3fa59da805f03c41e9288d76d47886cfbe40b928efb7f9d20921220eea3c927ced0177cc00d450376005d4c5e42e0d67ef631ce36af734c59efda5ed86a1ca0a989dee8be21868403fa3d7df81532b459e672a52acc6f827f32a088a6ae688d017361ef042d4b664803449d6f4e697c016fc1269c05653c9fd316259185a1494688d592e3d7de5a93a703025954abc8b3d45ecb485f664bd9c95fd8c53bdf68e3e239c71ffce07a7bb0b600581f0326a63ce562172cc45c4899efc4ab8b3a6893baa0fbeff54d3a5f75d00560490ed875734a7345500003afbfe48fec935d21d88b8a4f6b1a6ecc68dda522482cfbd4d48987ec62d80e7700581f03c55c3bed47ce3817f4d828d0c1d37fa5230e8fcef2b1cc319296d0b61a2047df7e7e2187c0000344315c1298ef56dd2e89659123fff82aa24c7ce2050e8ff4fcd4a49fea40914100581f035209cf18851d33f1b2be3e8bab4445efbfb57df6d9216e3652430bce83705820ffffffffffffffffffffffffffffffffffffffffffffffe65cb8159a7389f1920352ee52421f69ff3a0fd11fd5493c7ffd05b9baccfd37905f54a4c2cef068ab2d031a15fe68c11512032f7ccb5f65a6e520a0c71e0277a3689e286d25bc3b493fbe03ba9cb002620ad13f209984ce6ba0d625cb0b0a36997a0f2a710b83e344cb606800581f03a7c749e1a349939b02e3496cf55812d305e2d7407867fb77ee517e13c2f049098a7d9b8314c0000000581f03d1eca70f149320e4ea672a0a3f9486f3de10ceec1da8d3059751451db250497533375f750cb5c000033c6895b5a191fd6966685dddadb28837bda5cbe19ec68c50ba14492c6f77eea0032d96395db14e7f75a23d82f7f76e225b7d6bc076d09411529ddbae19b19334cc02197fdb0342e2564b82db87ea5292fbe0baf4605217fef3b9a045e17f444f38cd3f6a786303937cb155f8cf1698ff573403a395c38e282cedebd099405cf50494d90f1a5c76033307f2aafc2cf08a465b8d005ca5e70139b1f4d95f463704628eb220f384db4a0327d247cf727fb4f2892f98d05a0c7f00514fdd95bfae46eb8a577174d81417ee03df6f979d306ec0c4ef5ae53a8b6131b8ce39484d7dd8820a05dc3278d8a3eede039544c4dcb88ba49dbd606864418cf0d18f1b6805692a80b50ed23bd665a450bf034534811f46436bf10fe925eed8316c69eb587c11c95e358055d1e93831862f880327ad5869373b2f4fe66dbd3c06d303f161b0b779774dc0c772312f3b59c21fd20371f9a69053ce0ca8ca9c2291d6a08f31c8340a12aa575ff6bfac813b16bcb815032d3d1a1b56f20b23af22453a7b6481bef662af07deb7e23b1c0b3b286c90c42d03d02108b1ae48539908709fbdbd04da0b0ed5979301e7aaa9d869e92af63ae4e3036094199bf365a5863cf6559f6365aef80353b47232290203b40f501bc3bc62770219ffff030c12a4ec910f63ba3fbcb1c44703589c57b1ebcabcfb9ddd85406e8c144c0bfe0219ffff0325c2f0acab6cbbc23d7c2b71d8aadebbf6a56859b72a3ffeafd720b131ecbafe036d9bc0a3fa25616e487cdf86dc31c98b080761d033b35ee0717acc24b570fda0033540e4be720dc0b71ab6eb2e305e2983a34069b9027fd76d9b5b016aa9582c5a032ab198255ed8d7b373ed6b972c83e765a382b7194be7d6ad0818c907dc82c7490219ffff03a70f5d55a3200b28eea803aa947a0ffae5edb9852e88137872ec16b54bdb75ee03c2ce4498018a6922a75c622b89503eb1dab2f8084ba8bc9146c5c1a2105441cc0323b61c8a565350c6289d89ffb9ef53602ec0c50ff11a0043685414f8de749d85035ec62e808456b8390f9a857e1fbd80246043f0ee24c248ff2a022d4113cf290703d92a5ca9ae3517024fcd9ec5b6856b07b5a805a6b479533b087f33bfc7a3e20b039e380087b468a4557f41566bba62b014597fca96688092a08870ba94e660d572036fe5aff0dfc1f37c2608c59d9e355f44a1687902e7489fd23636add9685411ee03269de3424e19f797dc641fdc7a32c5240a667a88af4987c9a495dbb27ff213fe03b460c6186c7d215d576eccf6c8aee921b0aaadcb305ffe9336faef8f6750c0cb030dfcfcc73175761217bb98806673c295bee293f6d5b4cef9542cd4448bc751f4037b7ffea7a799bfa6ea1d56edc2ffef724e929641791cf5d1a94fa3b8d406069203828f42c3904572f9b47fcabdd9bf7d5673d1d383f03da1e2ae961ccbc837b8e803d0f7ab9c22bf5b4ee2f7787a735b2590ff95b84245fc41f2a46bedb6f349db3e0378edca139b52cbf2dfeab7c5b3239ce5f36d6826ce98c94e4cb7ee3fdaef524a03f4011f7f5eb564032b70fcfb6237e097021f0633b739924f0159d57400f567e20387804fdc626db663c56b4c6efd12c4f6655020c82dfba222fbf70478a8f7126b03fb8562924f6c6bd758ae241275e837fbd5994061687413300f82f214ac1ccec603e68cb79bcc58950cc629153f69b9bfeaa06c5731fa9526978126faa64642e43b03ee565778460702e819348753901e2acd6957d32203bb80f6d858f3dcb2406ac40314684994bc559e0182a1f74949689f4eef1571ea1f48bc44703cb429d0815e6103f68bb3ec8ff84a8ab027e4bbd6e73f0090c070e7ef538f39341230e1006fcb9f03cd45a4a60c2062b7cf4bab826167145e304ff43adcb845b70023afa0de4f50b6033294261d4a3f94467d0eb736cb66afc21cc06bda8094414295c0469bf1905638039feebc9ff2bb93ce0960f18e542c2a32763cb397b6f7b8e89753b0c1ac5a475e03d17f4768ae0893581141b5dd398f8d75107fcc978915a3bd01527cb32c0d64b703956ef6ccadd2f613b01adbc04ee527d0f5b853ce4c3841a8a4418962e69a6d4e03e671c108550a082f3d8bba78ba1bb6895370a1006f4d2558a68df7a622bd4b5c0340e70d253474c10e0b6ef234112dbfb2f96e8ebdfdfdb780d95e211e12c2512003a190de28bf832b88670084646fafdf4503a332f24b723c180d03b6035563bef5039bc6c80438ad0cfc4b9cea8499297743fb5ed88db8849290bf8346a5a7fcd7c503afae306077acd94fe7953b54c1327fda6adc99d29ac5b049727104589e330cf6036a22811f4a689d4af4f6002b5eb942db02d51148150a1bc1c1968e7e4909b1ea035866ebe795391c8e526f6715396d01ac7cba71f6552d0d6a42fb1108932776c103ec48af57a56881e8154a7c7f55fc9cd47c7e44ec7f875e33e3a97d01217ecce9032f8a793b4ef430d1db620c944a6d772898afa5637d9b892e2b2bf73f9003ac8103a2a04294b6711d175937f5d98f9f8b94348bffa3a978f81c20f76d557205062d00581f03e7b9478e6fb231fdfe24ee05213fad82e8adce76c99245e253651a647dd05820fffffffffffffffffffffffffffffffffffffffffffffffaa036208319d91fff030f572c948b2f3a07ce439df3b564794d6280b30f1ff7b2760757410125b8485000581f03c86050be1bc4d16065ec7334ffd1ff527918f9f410da04d4763379d0bda04a4c9c7c55eba02cde465f03edc087fedaa5df42b75d17598095db39b0e022017bcc98a9ec65404c433ce7c100581f0339e8961e96c9919cd05e56f531a8336dc139c368162fafe09e002e9c30905820fffffffffffffffffffffffffffffffffffffffffffffff9885c0a245644607600581f0392ad15b38c544673f675779ef87e129b598e1f2a445b49a87b091be6bbc05820ffffffffffffffffffffffffffffffffffffffffffffffff8b49ad8edef6ffff00581f0374c9b91fc2701ce103737272954e58438d49b12232059e0923a6eedcc450480c85e709e298340003a576983c547277f9ca4e369c7cb4c1cfb4682d7134c868801f64e3434d8ab22300581f0328115d32bfb1a1676151abeb16c24e089b5e2c63d13766c44417099d70904914ece9a61aa00a540000581f031dc3d4e2ecab1ed95ff054684c0229991825570e2097ca2d37a017764a904821ce13d41167640000581f03b0c700717291779182843e5f3dea10ebdca4c60557ee069b07d18728d9e05820fffffffffffffffffffffffffffffffffffffffffffffffe9bdf6e2fd60e8fff0219debb03c0612b0c1236792841297b598fb06124bf0db84cf6477c3559018fd054d1e6ec03b7876f8c2af7cd2d88cc9ee76a0f7528bd76f75b0ce4dbbb62aa308c460c74690219ffff0219ffff03e9bdcc6124a76152af1ce67aeda4855adf00f376250aa29ff892e3f97e9cae89036ff3b0ca12ff7eb11aa449a43f4fdb2b78b7748fae2873b0eb2bafa1c50467ee03aac0d48c1ab162ab4f575613753b1b201834d8a41238d37ddeb0f993771fd9730393d05d78d0821fc83930d1539c1242c075e3697eaaf8b4e98c24840381efe97d03e950ecf70ab6cc9818ec721f1aae57c044a6c54e63d994090b44f01d0f77bbc003b581a33e7fcd911893fc60b08f2f98a97f222dbb001d709bcba832d0d86ccf3b032cb088c0f45b5cddc3fb62d13cd02df974e86db89c129f2df9121e21528e611e0350ffa5116daaac6938c0b6a0ed97ad17f887a3d0a0a827d43d29194d2c41f0fa030e1e68a93fd77a917b2da9837161efe66598e08c3a87e2f8683ba26d229eff980219ffff035ac8ec9506d9ac6742994f50aa5fbe22f9d9cf930660da8cfb007ba07e37a36e03655e2a6b2a0b6b0478a6ce249a8cda2debe9d2a63ac37d4bf415c0d5c809aa9703cc232ba6eeb2ee3062abcf97f2b4909444bc2088394c124efecf2e7456c39e7d03f9ef2a8f21253cb1227697383171947f09532d7506a590a7884b70649493874f0219ffff05581d0378cdbdee389ffae487e52692852fe4eea72ee89c2df62f7aa6826b500701190c5105581d036ceb55f7ad68b24036819da29a4ba0377b9a74178d5ca202f407e1400401021904040219400205581e03c22fed90dc76bb7d3c84ac58f4a01b6cffcb387a3b890178083c250a900c01470216061f65f92703673e6aeda9ddfb3b47fd730bc9a0cfca6fd262f972a611451142f5cfe64f4f80038f72e19892d0e60d5312e4f0f95bcc6c968951d8676a44438acd28eda2446e140329e5a40163e31fa80c1851a8915fa45b33de0f424782d27c599895297324431f05581e03c4c55b2e3f3c669cfe66f79ff3a395c3795f32d9db4834ff86a4897e7007011bffffffffffffffff0219bcfc031feba819ed565b026233f5bdbbb926b0a9589bd99e152b97e19191c3ca94010c03302ec4fc565d843e6cf4ae06d01769b54928f27693561efe2fcd5138f2a2fcec031951bd9e2d4d0bc475b01823382e5143cc604c0129a172c903145891a551a26503c2a159f1b63dcc9f5c6fd306dd55ad361d5bcf4008f14699673bb21418b2d83603d8e645fb77634ffc77a98b4b95754394398007597ad01dfe8c95f03fe7d0e7eb03f86789cb50e35b46627000d242473454cee58e6efc6343721642d5a34b17b07d03aeb1341a37a2311a3fb648d81e0c86568aea15cca8abab71b23d1cc400f2af0403d307f9617159207e116aecb5bc915182c096d0eadb64cb83ffea3b9c695e555703f59f3e6ec3b676146169f0b460e56eed951134f0d805c81a710fc2486d669f5003912e0e00131a01f4ec2dcd7cf87569fe1111fa4d75a6cef7a30030d423cecd120219ffff037692f0390534f560acdb5326c4aa10ca38b5881cfbac24d9f43df31379e21898035be2a9e85e33b4d3b982706005f7749426b6a37f76e0e6be89d79b3a0931a3d803d075764526afcd3e84a02cba14469f6d0fba3f9a0d1e330f99c320b5b30867e70219ffff03444b6076da238316099b49483e58b2f89c04c6f724b9775d7c8f3cf89f748071030d2724a33d082ba193c9e920d112b79d477793b5a215a9ad67ebd50a435ca48f0395c873b26ca0eb07e3d45db3ef850bf152c3e0bd84cca8918d088b9f737f5e540326bcc443c682f9d1951d6ced7c93c404061e1327df2301185e2136d5d78fd0cb03c7a5c578f757d74860d66c23c619fc4a1126eac4b697e7c9015f9f1e3d73f181039382f3232649d4ed2eadae1c37c3caa249cbd62125409aeb2bcb8cdce0fd7f410319f972d2719b5b1c04be8c7006ff4aa6215bcebe368b55077a838c58ccf21057039808c5587b5faa1ebd793090285690f6eb5743627a393c02172077e8adbac145034cbd3b86a69e5a32e8cb0fb138dfe0595abca71ff7f9da6cce7ebe993407cb1303db2c637ecd04a835aef159e193705c4185ffc257d80fae8518cfcc52e1b70a4303504f360aa60ac8b3156217472320b6d9427d1e0ebecb33086bd311f546167f6d03c7ca1dc027d9f5a9008298f334c51b97994e9debcfce22933c4ed4986057418d039a1cefa2b32a02768b4e329fd0079fdbe694f4ca13d700cabb562563c40fa0c80219ffff0371305992421950f10a45d338c6c4747cb72f4909c6ad19cd251db5a4ed7d0647037b9c549d4a15d7e91e297699ff64abd627ccda3a05ac1b3b12bea9512ef6183f03e0ed87310772528b58b446083dba9615920c7dcd996987449512944fb7c47e3f03e269dea85437355887b5b1cbafff4134460e5ac4c9ed75cac977a5d90c1c23f603f8213af44dd09e392249f028ecc677a9b976d1d6c2014b1a563bcea97aed023a03e087c2d37bdc807eef5a8da6379cf5517ad6d5f1db715a955236557028180759039c5f0b95b35893b83cca3ca84aeb1b61af261fbc5764e640b02a982711a2e47303fc4414f675c493da2aee715e27f9f1734cd8e588db5a0c1b3e877c41408ea0fd03e9affd6a067204951c4452f2a1a0f07b6340f10ffac9f43f11b9514c35ebf5e803c3c6649038e3ab9c00924619ee68008fed7af759e271916232e6be63770646a503801c783cac2c109ae3c37cd42878623bf20c1078555438b7893b193254e940a6036b43ad1e90c49821f86a234cc84cc4845737d4f705900be2bfb9e2f6b249cb150318fe496597b9e414e1f56cfff2c9ab272a09aba8e0ea9e20aee13ba781057ade0370bc310abc81602efa0c1a471d0a8ea4d39f0b7938cbef69a3f9ab4c52d907e103cd0510c2b34d3964ffb5912c9ec970744469a07339ea9c202ddc94e747adf668034ab5e596ceb820ab53bc083018dbc0eca6e70cab17d89ee00794fcc420568c3f03dae86da60d37d7bd657ff95774fbbee62af273e1f997ac05d9db821c16819bb60343e925cae43e3cce001e8ad2082b7f5722e94f3bd23b619c9741a6b790f573a0035c631b260f9a58d1325fd98416d42476796e11924493a459e759072f4bcf5f6903d3da2cd068ba521e00438a877789b472a5e7bbccda6e346b225a2b3e728b11eb03469bdc3b5aee5ed12c58e6fd07e16924d2ad909735250c23c8756f12ef5f7f4d03d500d50400d2e766ee97af8417e970b522e947bab28a751df69efd681f06018805581e03de43884d2132ab056b1691efae20dced9b4b6f0a6916eb6297a4eb855004010364dc7468fc8e498a62b092c9e63b3043b49bf6d0b3fb350a15563176aa4e7d78037934d4cae1614f9269cfbeb5c2d7a80f361b2c609c5429d005e2c1d68cff66e901410705581e034cc6e56e8168ed8b57d637d5a944dc69389547e497812a137a8fa83850040405581e03041a2d9de16c052fdaaa4e61a5b0a598ed0103fc40f3ac5053a4d7a87008474547258d1ec00003d77e3dd65e20ccdcd0de280b0b1c8451b3e2946c5baf8fe83b6bade9e1d69d5a05581e0321bed0fb34863e805a5895617c3a520fac232ee3081ae41e4a2b48ae30040503d008d1cd0db62126baf071ac07132bb26726372cea9b950fa959b8a99836d0d805581d02ec6c1a76a010667cf453b3b2911e3c5d088a7cedce4e70de491e034e0c0446e9788ebb800005581d02006e7ccbca4e8bacfbbe78820d76210011636439ada88d20bf28aed40c1a0004327e48ab27aa002a770385021980100219e52b03e2d013a13ea28ff39c7fde95d2d64cd289bfa47b64377948c2aa51ab95a5a2ac034ae218c40d401d6856284a0f9f8f0cc64b232387ffe2fe614e02130cc012f541036e1c5efc6a362b45d8e0ad8609ca226a0dc93a52d3fa172b4efabff57d053da103a4321ab59c510c9f59f4ca7e8ce24d5aa2f3e53a166ccac9e2ce4da0aef06cc30375677898dcf9c9308746303168c0d92c8bf5cfcecd5d5e21ba91ec3715fadb160348f1f51e4c99be67abb470f6b44a0c75d826bf65e90eb2b6f89d355e83e1f0a50381c3bafcefdb3c358864a921c1f8041395c00b6fc16089786fa2921126a5d38b033bc26c759aba723a85dfe71282565db31a4b3af13d7189e02210172842d6f9d70389cd3cbf2ea3441a8c715d30075f38adbb5d88d00f44d60874ca65d6f0048b3a03158cbf8623aa4f8b3130020fc8b8e9abb4fa4b5d145f3e5e993338e174184d7a0219ffff035819c61ffbf6a9a4a0db87b139cc4789676f3b5ecea1f812e42262197fbe40cf031a84a5c8ec94e2bbe0686344a53796a902604de50ef1a9a94b5fccd3f716b8e803bd5c11b24f3d1794830dabbc72132672e022e099f932c33e4455287d5c6c177303be4802be47a6178bb144ba61357291b30bb9198301b38b8a6e1e133557023bcb0354b5df90991aa12f003e0ada81deda357ab609360404c9ea3093e16d8b33324603545730a9901c666bcda5d7461ec65a746f10ab3cddc92eea2a6b2e2fc6b1be8a0399d5e49f221bba167d9f7ba94cfb55122df7ae93d03ed96ef4a38c03ea5db67f034b9ea0f9a70175613b45bb8051bde6114bef03b69cd1675c88c3135a6fe3eb8b03a9b1c9b03524024d0a6d89b401957b6c76a221ba9950a5c2e9a7439145801fb40347b28980e35cda6a7b6fb756f1d27c07b11b8d21027be43b0cbdf53f0245cfa5031c0a764f0a316b668b1e0d871b7a58b95fb0815607d6420466f6a775ae5a529e03aada55bea2ad24d5afd4d188419b898234603a4617edae5e2c9ea881daf805320219ffff03a6e13e215a814afa683c940031fd1e7b8a8509cc3483afa560fb6a864d5b18d2036b7f36035a6b844d6430597dccb4866154b54b5d771a4e35de21655cd8965ad803197f704a39c05afd497b3a60bd0c54b9152565347a87dbdd834c34c68445d9840219ffff03eff3312c73928ef469bab15c37038d1e8473eb4eef01ecdf5c6883b6efa57f310301d7512941d1f2424a42c1d6d73ce49c4f9944248afdd7a30a883a68a765215a03f2dc44dfc2f125a2824b000ab9f7446f1e02243cc980d5529a6cf6571d9afe7f03863fa555fb07f267d86d1c9c804352bc5ff4b4470b22444b5c554def607c2c1803f14814f6dcac35fc67adbd9105de3960c5c70ef98d95779faad86be88b9386ed0347edfda785bce891842aa9beceea94037b7dba32c4e5d95759f91c47f7e4c46903f853b701df52ce33b42ee5109b2521a39e6e47c7abb51eafeed11d0a730d2fae038c212f5b4c2dd01cafa390434f15e9968b779fc7e6ce907902ee484d55eab024030a4d4becd6fd986a0a51400ed5bf2e84e87327d1dc7f0ef5bf5d32e12d16a82403bc2e0a52fec32351f7aeeb94555f86d395bbaaf7808897e550dda177668b799105581e0364619426492075c7372410cb6c275f084c46c4d78f783f5f253a4df7a00c0247024ae866b3225205581e03b0fad8d1a8331e31aebf87a82a86fa6b3894a32afcd438be000bfc52100c0146d319304f71e00394676e1b7fc5caf1ca327b55b4f8bfdcee27974a772f256bb289200f6d03032805581e03091ece0575a62e5ab77f9552ad3d326c3665d2e527f48586ee321c56c00c02450306dc420003886e2bbbd77694440aa720686f33652cb8836591b29af60cd26da58fd8cc359605581e038f9f872a42d9196f2530b7dca9ecd86daed722954356d4499e79edafe00c01470115291a6a6e2b05581e03609038fafd17059bd44711994a8e0eba406f48ce8d17efcb65d80b0180040105581e032d679e9028a909f5ef8408d39e6840a6a58a76212e51b0df70870cf0500c0147021706952c880005581e034c538843fef6a7892e699a51614fcb89ef0e9da5c06b873e8ac5ada7a00401033c02d858dd04d9761b00816782742e7f829a4085f7eda73cf64086ebf1e6966405581d027f92a0caa36e59103271e2f2fd5d550087dd06ee16f496119f2368fd0c0247029a4bbac3300005581d029f5e5153e32944cd65707aef0b0f857061a2d23d43cc19dcf945532f0c19422d4810629676b489c47802190203036faaf2fdce90f630a598faf57803d481cef352afd8cbf3847bc6c43b1d5298c50219e4fd034e0640caf1eb9bdb0044e4d86a764d5abc187f30675c7041c754ed2098b6eea2031270501f1db4498ce553feb9afd0324a07793d79372cbbf35904b4504e94f1af03a6d2c4d4031a739caa4bcca055cb2d3bd91d0dae762cdecb8b6ec35f6e68726e037b09fd6da98f2cfaebe3ebe71d0e9f37dde678882461606bfa31eeed22652d330302598cbdac6bd93e09a316cbdf502f380160c7733d35eb6f36a98289e4a8871503eea77b721ab10fcfd516f4af0e07afa1dbfb9a1ae0d98940e63b47adaefd968b03399a1b7c284a355a3fc644af24497a4b9ce52af030be9a5da04d4b0cf08d661a03feca907b0da6288c0e4739954c6bf3e942740f8e6c9b0ef049eba6c545765c1a03bf843bf0c097068fb3b694ee8734a511ff6f2eaf7fd79f5a7af9696d826758bf030b15beff345a48d891bdd841d28016c703fb86d8355fa71d80ff1784b62598d303b5f872b137b3b20943ca3e778eeeb3faf7faa7d04d8cd9068f5a09126d80a2e60219ffff03946718ed20fb4204e4081ad3644b9304adf49734bf94b05725149a66f439324f03dbdb869b5b9f3e658a7e8f49b368f60491c775e1f5d3fce52b9295b9e916c966031c5bfbc2f0ba9ad8e274e91007040399c5db9de4a240d0dfb9acadd9ae6f8b1d0308b69014b79966fb32a0cd260ce3774c98411cfbb774f694ea6db6ee5d839b8003d8a0e3cceea1187f8784d6e9b5ea3471d7f36a6fcec8748693b04e9fe6fd85e80343ebf65f49d62ef6eed7cd2a9f2d76d784f7ee6f41074f72005a4e458b3dbd76030ec58e78c4deb8b52895c52b679514b8690dc4ad2f0398d2092ffbbf0aa7c19b03c6ac15438bde321028a29f2649ce5a9a1ace57213c21d2008eb33c1b5296f9690399435d19c01abea6bddc0f49becc846288b8733be6235d93cba23a7461699ef2033528a2ac76dab4405d3169cfa4b02e24c9615c131235ad9ad170f2cc2e12bab00384ac4a52cb81ab4f32c7d1b7f3223941731b95ff132894c836a7eb0cdd812bb0034c214890624c4c11bc3a4b663f7679696cd12360a38b39c68f4ddb65324adb4f03da60575c14acd27a47f1d4bde0e95c6481419464b6de5b53e72422ebf61e8b9d037745b60f0177f92ae58f2d06a3f629033365d99d5508cb1d8503aa285fdbf1990219ffff036a6017d800a4241d2caf35913fc4a7313f6045e6dc3b2110b837598bb434b41503c38fb139ca2f3bdf17e5c13d936ae74976dc45fa3a7c6eb38c26530da602a16e03fffdf13b7cf7ca847255d3d6014f549687f89cb3206e4f58ef233d719c389e7903db3b203cd5771784d3af20fec39d5ece7389b4eb3e0f9d3c4e1271a2bd60cab003d75699f9387f494dbfe6f6758d073f9071dc3647afd4d198c62cdbd14cf0b8c4035bc06dd231df8826236222025b2829ec3c4fe09efe5803e47215ef4d3e64a07b034a8a4c0aac36f9463705e82faa13cb5f5e8d9afe2aeddc21d38aff2096787f0d03f730a21042d042d11eb985994097aa249dd29e6ead1d59055a03fedae26dffe203ecda0758ff54e672eddde7777fa319e013c4b0ee03001925e6243f66c6b9a10603aa12497236b61c278a0132c19d8f6fafdb715cefaa9925d6bc0729ec6cc731d5032e8870115757628a761a55444633e1d32428143067865be98c8885305a763bea0219ffff032f110acb24f1f56143c755ae90a8f76c1d47b9436b963c196ccdd3313d050ed803c66c7ba8d0958e0faccd0247ca9b35693c0135d3915de54d209b24fcccd6a2ce0219ffff03b64fb92d97603efb2e0f5107db9c391d9016ea00cdf0b9b15294d9ad33318834034d1ec6c56a4ce6c6eba0db22abdcb96abb84d33b24ac7b87a80bf89822324695035a34d917359882f4ee248bd64cb9451105daab9d8ab7acae94f55954205de4c603387cf9db090f6ebf41a8bf00610b68bece02573a538a96af95908a2c28556ce3035afe83e49cd3fd13f34abb1fab4769e7261b543226bd49b93d06a73146b9f65c0314dd5027836eb43f9a70069f0a65eeb7f2a50c521b49a91e498e07230a8f76d4033aa9258e2d11b8f941e1e2a469dfc3dee7c5cf8d3e15c738bb8d946b2bf83615030d2abe67cd081cc6f09e0ac4e4ce3d769543105ed8af0c860c9ad202b69ee8fe03f01bdc6277c5d9d7bbba81a110a9f4b119d2481b5b55fb236c5e92069da8d52b039ab81358ba8f637f9be2ade3ed0c75c3b60301d2ee788b595dec24707b6e374e038f1780e519034990e7ae2eab8de8415e39e2fe5103f8e2b87dd2269b89438bc8039a69f71f98731065626fec4faff9fed3348026b21249ebce34330c28e0a630a80338a7c61a441e9706c735a567ef0038213b85b9ee14c8b79a762519ba4573695c037fd6ef6416f0b14dd73c34b7497d1c9194846092c903f8a2053990f8dd38781203bfad69de3652496cf88742abcab2377dc557899641aa75aa69ab55d750f0a6ff0305b83138df3fa17ae7ce40727d48e1d0570625366e5e144f39304c5d3389833f03f7c1e3c7ea510bcace269d778344e467dece601c4cfbf0ec7ac662ceae76ce240334cc1c9faadd132fde9f6409a943e09c4516f75a15a80231199a2fbfd4be72a903a91d70b6a950481dc03f61e23e11effcf5ab1479f6e3071c4b1ff973418cc71903f0c825aad00371c4077c2199615d6c7094d6b5f75d59675e602a193c3aea125303991a26f004869def9ce889436bb89aed8d91ed31eb997c68640b83e9c3e60534032e64dbd8ab9b9a5147bbf7a2620e5fae3f41c69efa938354ca15eec6c08e1c1404591203608060405234801561001057600080fd5b50600436106100625760003560e01c8063115470541461006757806346e63dc4146100cd578063b86b9a64146100e7578063c097463014610131578063de0120de1461017b578063f5887cdd14610198575b600080fd5b6100b1600480360360c081101561007d57600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060808101359060a0013515156101a0565b604080516001600160a01b039092168252519081900360200190f35b6100d56101d5565b60408051918252519081900360200190f35b6100b1600480360360c08110156100fd57600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060808101359060a0013515156101db565b6100b1600480360360c081101561014757600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060808101359060a0013515156102db565b6100b16004803603602081101561019157600080fd5b503561081d565b6100b1610844565b6000806101b1888888888888610853565b6000908152600260205260409020546001600160a01b031698975050505050505050565b60015490565b600080546040805163a8de41d560e01b8152905183926001600160a01b03169163a8de41d5916004808301926020929190829003018186803b15801561022057600080fd5b505afa158015610234573d6000803e3d6000fd5b505050506040513d602081101561024a57600080fd5b5051600054604080516001600160a01b0392831660248201528b831660448201528a83166064820152918916608483015260a4820188905260c4820187905285151560e4808401919091528151808403909101815261010490920190526020810180516001600160e01b0316633d8c37cd60e21b1790529091506102ce82826108bb565b9998505050505050505050565b600042831161031b5760405162461bcd60e51b815260040180806020018281038252602a8152602001806110e8602a913960400191505060405180910390fd5b6402c33b9c80831061035e5760405162461bcd60e51b815260040180806020018281038252603b815260200180611166603b913960400191505060405180910390fd5b610383620151806103778561708063ffffffff610a4716565b9063ffffffff610a9016565b156103bf5760405162461bcd60e51b815260040180806020018281038252602d8152602001806111a1602d913960400191505060405180910390fd5b60006103cf888888888888610853565b6000818152600260205260409020549091506001600160a01b0316156104265760405162461bcd60e51b81526004018080602001828103825260258152602001806110c36025913960400191505060405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b031663d01f63f56040518163ffffffff1660e01b815260040160206040518083038186803b15801561047557600080fd5b505afa158015610489573d6000803e3d6000fd5b505050506040513d602081101561049f57600080fd5b50516040805163401a83cf60e01b81526001600160a01b038c811660048301528b811660248301528a81166044830152871515606483015291519293509083169163401a83cf91608480820192602092909190829003018186803b15801561050657600080fd5b505afa15801561051a573d6000803e3d6000fd5b505050506040513d602081101561053057600080fd5b505161056d5760405162461bcd60e51b81526004018080602001828103825260228152602001806111126022913960400191505060405180910390fd5b83158061057a5750600086115b6105b55760405162461bcd60e51b81526004018080602001828103825260328152602001806111346032913960400191505060405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b031663a8de41d56040518163ffffffff1660e01b815260040160206040518083038186803b15801561060457600080fd5b505afa158015610618573d6000803e3d6000fd5b505050506040513d602081101561062e57600080fd5b505160008054604080516001600160a01b0392831660248201528e831660448201528d83166064820152918c16608483015260a482018b905260c482018a905288151560e4808401919091528151808403909101815261010490920190526020810180516001600160e01b0316633d8c37cd60e21b1790529192506106b38383610ad2565b60008681526002602052604080822080546001600160a01b038086166001600160a01b031992831681179093556001805480820182559086527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180549092168317909155825163763893db60e11b8152600481019290925291519394509087169263ec7127b69260248084019391929182900301818387803b15801561075957600080fd5b505af115801561076d573d6000803e3d6000fd5b50505050896001600160a01b03168b6001600160a01b03168d6001600160a01b03167fedf283b0b3396dd34e23a917cb887ad557f18a593be3a2e9c069fd59f19a811a84338e8e8e60405180866001600160a01b03166001600160a01b03168152602001856001600160a01b03166001600160a01b03168152602001848152602001838152602001821515151581526020019550505050505060405180910390a49b9a5050505050505050505050565b6001818154811061082a57fe5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031681565b604080516bffffffffffffffffffffffff19606098891b811660208084019190915297891b811660348301529590971b9094166048870152605c860192909252607c850152151560f81b609c8401528051607d818503018152609d9093019052815191012090565b60006060604051806020016108cf90610ec5565b601f1982820381018352601f9091011660408181526001600160a01b038716602083810191825282840192835287516060850152875189948994926080909101919085019080838360005b8381101561093257818101518382015260200161091a565b50505050905090810190601f16801561095f5780820380516001836020036101000a031916815260200191505b5093505050506040516020818303038152906040526040516020018083805190602001908083835b602083106109a65780518252601f199092019160209182019101610987565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106109ee5780518252601f1990920191602091820191016109cf565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529050600081805190602001209050610a3e6000801b82610c53565b95945050505050565b6000610a8983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c60565b9392505050565b6000610a8983836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250610cf7565b6000606060405180602001610ae690610ec5565b601f1982820381018352601f9091011660408181526001600160a01b038716602083810191825282840192835287516060850152875189948994926080909101919085019080838360005b83811015610b49578181015183820152602001610b31565b50505050905090810190601f168015610b765780820380516001836020036101000a031916815260200191505b5093505050506040516020818303038152906040526040516020018083805190602001908083835b60208310610bbd5780518252601f199092019160209182019101610b9e565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c055780518252601f199092019160209182019101610be6565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529050610c4b60008060001b83610d59565b949350505050565b6000610a89838330610e6a565b60008184841115610cef5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610cb4578181015183820152602001610c9c565b50505050905090810190601f168015610ce15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610d465760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610cb4578181015183820152602001610c9c565b50828481610d5057fe5b06949350505050565b60008084471015610db1576040805162461bcd60e51b815260206004820152601d60248201527f437265617465323a20696e73756666696369656e742062616c616e6365000000604482015290519081900360640190fd5b8251610e04576040805162461bcd60e51b815260206004820181905260248201527f437265617465323a2062797465636f6465206c656e677468206973207a65726f604482015290519081900360640190fd5b8383516020850187f590506001600160a01b038116610c4b576040805162461bcd60e51b815260206004820152601960248201527f437265617465323a204661696c6564206f6e206465706c6f7900000000000000604482015290519081900360640190fd5b604080516001600160f81b031960208083019190915260609390931b6bffffffffffffffffffffffff191660218201526035810194909452605580850193909352805180850390930183526075909301909252805191012090565b6101f080610ed38339019056fe60806040526040516101f03803806101f08339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b506040525050506000826001600160a01b0316826040518082805190602001908083835b602083106101195780518252601f1990920191602091820191016100fa565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610179576040519150601f19603f3d011682016040523d82523d6000602084013e61017e565b606091505b5050905080610191573d6000803e3d6000fd5b6040805169363d3d373d3d3d363d7360b01b6020808301919091526001600160601b0319606087901b16602a8301526e5af43d82803e903d91602b57fd5bf360881b603e8301528251602d81840381018252604d9093019093528201f3fe4f746f6b656e466163746f72793a204f7074696f6e20616c726561647920637265617465644f746f6b656e466163746f72793a2043616e2774206372656174652065787069726564206f7074696f6e4f746f6b656e466163746f72793a20556e737570706f727465642050726f647563744f746f6b656e466163746f72793a2043616e277420637265617465206120243020737472696b6520707574206f7074696f6e4f746f6b656e466163746f72793a2043616e277420637265617465206f7074696f6e207769746820657870697279203e20323334352f31322f33314f746f6b656e466163746f72793a204f7074696f6e2068617320746f206578706972652030383a303020555443a264697066735822122035b247c6ab9bfa4b4549dd2b411ee39a8aeb5b3c7c3c586bcc6e0ec2055c46a564736f6c634300060a003303c255ebf9ce5f7b51466b0fc0d409c61f0f81ed364fc75b71c69d50912802af7503aa3e0035e7a1bb67c6d0b662c6fb7af881b6e0bd1f6a6779c1def42be637124a037e7a53df29317b474d865fdf8213112e596dc22f9eae5cff665c9291a9f2791c03601d3bce5c6b10e4f730ce09017a433ddebffe3658e87de82908dae15e6d95a303d3bcef77421f5c4259762f76b3fa3b77e6da096c66fef1df72df520ad1b2b0f80373050c9e9635d6f186fdde63af6340bfaed26e4a9d5e335ae54111fbc6a234390330c192843943f737c4b93f9dc0b25840690784bc1583b5e982e81935f4126b4f030e5cc417b451b01ac8eeb24b99aa0c3d2a7ca01f0ea16c2f7d14309e5b5d17fe038b20125586217dd7c02a5f0a227be158f0f89663416069d340a2a83f5930275d033c04679996ceb2404bdaf1067b4a9480f713a3d496d71bf3cc783d2a2558fafd03da230ee765116a76235bc9d5da68c004eb65e2ac9f856233a80b7f673b0fea7b00581f02c774b5f0aac5f46e0f99fa1d8adbba882ad8dea45c403f4ba34383c01886537f382e0aebad74f776006de7b270d529cc7cd300581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563541e31f2dcbad4dc572004eae6355fb18f9615cbe402192100005820036ddf7557576864ac7ba6ccc89258fe3dc9f8546ee62c12ed25ad9a06a089d0542e9912d49e1c8e17d291c5f2e170b083fadaaa9d005820033982eca6ec8c2696c88ab3fe6641a471375357a66946dbc9305608fefe6bf0546adf7b174561f86eb46657f716ee50cb4e03a89e0058200393dc2a489daaeec509e8458947591dfa46b66de94ca1c491a9ddfd29d1e4505433f5b7cb9cce610bf6b6c670394f1faec5fd527f005820037dbefcc566d6cc62cc2e8a695f6ebdb2fc75331eb5856e461f0838d968aa50540524b7062577b457bf5c0e757de1809d15cea9db0308e3a0fafaac20ccdb9f580010bdbf1e2163bed4489da90d1744bcfaa94394b4005820038cad0dda5cef8ba15c599aceb169dacb0289ab5a0d4ff7aa09c0669cd81ad054507b07f1df98c8ef324248a7cbf23135243b4b030327afe37113fc28f6dd1f893245f11609aeae4622df4dc99dbdb35b11882394aa037d24ecfecf3ec39d02a763eb946ac43e8bade4633543c1b5d8e9f1005341933f031a2de8603eb12482c2ac0a1356b8416a5be0feb0aae4a2f74f6efca0b1a1bcb903a5800f29e5d1111e7023cab9cfeca1cfe974f5d2df619945de7d111107f4bd0602199dcf039724ba28b5d3b2ff1607a56c6b7a84bf86929914273fd0f8f6159a5ef3edcceb03069a25d6dd5264ef484d6881817f00d328a07f784f412de60d1a9624c4d4fdf703b73d10aab6d1f49fec88a1cacebe077f5ee798f48408bc828a5588f6c4c15b95037d2619b91b43019199105980de1830d4981d29f9bd2a82cf0a6d7f6159f29ae7033e203e8f4a842572859b4a8acf587e1e01b7fbece7d4dc5b34c04a42c8d1a771039bbe5c63828b56bd457b79b5f0fb59be3c7c0950fde60ca924dddb0ed9bde3a20219ffff03134fce22f4b4f5131bc59ba631c752659f1557f7428d50224473ff723f3ce3a6030735c38974513794c8b4a43a842806cc7f91c16cd23acf95025f14b6f50624c20308a914b30b085c8b5cf95535735b51db6e338e377a91162e59909196ec15ad3003f7cd3aedc1c9cf842c1d08d0ff15cf7bf6f6d1a9a28828ac153ca3599cc5057d036cb0931a8a77057bea7601133c0c5c137ff2ae5031b5cf6737f1ebd3858184bf03aea96de6c6c3eac51eedc7d3023dcc52a276dbb019fd0f21420ab9acadd4efb1039da2060e60b0df7e9045d0adbffa46430680040fac6b907049f03b7098193bec032de5bcc6ee8866bf53cbbae5d09f510951dcece6b12c0b6e924d9591c413be2b034c85fa78b29ea8225894b0ba5127ce20a7b994c475f668a13c35002044a3bcc300582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604206ca005820037615e78d63a0ad769dbfcd7c3b2e92cb788f4329386badbb5f2ae5d3ea810054b16b95464fd89efcb4ef51da7f058e9524a7a65b0058200341311273a2966fb4c34479d5f5bed625843f5acab22c143704c2cf343a4d00547c308a99b0f25a274455d225085a7f7a3fba791800582003e6be2cbc2a8af9cb91feb96a47cfc4166dc0af51acef37b24cac22dfaea81054af8ba2829d0bf8ee1c2f844470a83c3730846213005820032c5e0fd47b5697751c327195d4b4ef608ad79ed83fd3ef0b7500491efc44c0540f724ea11b0d6ebf9390abe0a551c5efd6d9505500582003b67020a48c57412853a981accfa8a7bd24f3bc797e6b74de598c104c86913054aa985047492d060c6673d3a5b9cf1ca64d069c440395f88cdc25cdef3a6e156064a73eb3a5d7882f8097d40317ed46bd883fd7f921039e83711a959c169844fda3a3fa32abf497e58989ced0f448d6cd0ae0a59819d0037539be3da991aed08d9cbddce49d76c957e484ab47c484dbd20c6d2beac596ff02196cd5039495d5212554a0fac8e141d57a254a9f10a86540715be42a0b7b3f7984fa40030303c660f3c13271c23687a05a381cec55b7d0f4107ecc100de7f581c8f2657aba030107902f172bd80a21d775e4e5bd14b558751c7c656055e6aa36ae494a4bd90d03cb555660674f61754b78446ecaad9ff82b8f13dd7d96690fafd13f7fda45b1fe031fb13f2c8cbcba075ee0b26e05cc578edf50ecf56cbf5a62335f068193ebc51b03ef4cf079646b38ee5d080396b93b8e6b13b16c09c03939f2f054419b6db52350032094982dcbb960235e5206e3fadcfe22ea363fcaa900f7fb6a54725010be7775033a518f72ba8a4086ce2488993b26d8e7cb3928932d3340d1bf092f8df42a9fe103eabbeb9cff48226b7c8f7a499c879fbd08a768ab79becae8a37c843eea3b2e1003eaf367e4b9fa418a012eecd22f93e0835cccca6d26fe0c2e3861e28e1847d86003bc1790447e63c0206b130f4a0b92686d7b14f3db5eb44b36d947b00c51da36eb03329c6d20d2aa79f56a53c8598b02172a4bd5b482a1e6a2418623cb07c6e924180370445535cd142cdb728e34787aab8613514c0fcb4a90f30deddabe535b2b013303bfc86cf36c9fce4f06a8fdb7cd5f49244310fbe6b2544bf49e619307cde708450219ffff037e0f6649305dba850e75bd71b0453adc47abfa9fa28a346f1813ee8154b0de310391d46354cfb82bc41d8c2eeabee49547483f4d1ccf4cdf394d78e266adb5bd3703802deb026919718ccf606596873fcd05139f460113850999ec4d6604016b461403bf88a722ce52757c4dabbd2b65b03009f1e48b79889929f1a129495abbb3247803ac5964e7b794fd08b26fb168b11252ee0e9a63e7cc9bc826d043189333a4598900582003c390ee28f8250a22762df96f123a10bf0d70e383af9c66b862be06ee15ba6054ab9aab57d98f6e35629eb6a8e181311ff998e3cd00582003b72d13ba6406093223073d7a28c02723a176c87c1948641a74321e5710401054bd6d9e3ea9590e7de8413725a4607514556b6a3b00582003e011ff598b5b680d4ba06e2c32166df5734381df2cb1a866d02f015fd0c12054046fa4e4733c62535b8834bcc0529865e8aa67d403aeca66a7de9a17fbde1a383b70649725c328bf0ab2822a9e08cbe9f6f3cf8b050058200395ae90e0d50a4b84c18709e566da611e7d7e28796a8a10c447f3f245c2adb0548917dbe7898632ffff03748233389a5f9c0b391f03ca8577fc0e02fa5299d480984dc5c53615a98f006a04259df7454d9edfeb1b1c00582003f65c2a26a4212b964ee855a3b83d43142c46c40cd7e3bd6355d66712b24df054f4f43db134c124e6f8ff0f08f89ef81125dce30000582003891d1323833db1fc8f42f4853ad4e30a7efa9a40e2fb5d245e00893c20cef054961b5ccf2ce6c4b5b4666101f80e7df125cea2d500582003f5ad72115383c3c13baf9a53a11006d873dc7cee135004af4dbad55a0ee63054d8f3a533382398d27b9e269019373658f95abae80058200387d02eeb6d6cff84b15eb126b20c8ffcf208e7fb233054363e7e8934f32550549c8c0ba48401aa9e4957704e0e307e46929d47a100582003f1dfa65eff865a1726101e7152323ed2c96ac4c764fa6c7b55ac1c6d6f0f9054b4a06e636b020b1844f322a1787f2469abdbb77d02196beb033a44670adcd6e5b0e177c585c798abcdd033c847edbccd0b2dc1d352650bfc83038c78e3d1ef5572b1e05dab34f415459e29622ec461711c01828f8eeb8ec6148103742599cefd4140a2259b3ffce6da0e01f2641ba02153ebfe1e80b2e6eb36663e03d1dcbe7445eaade30195c370a133cf19d209924b53c58f566d0fb378e49387ff038047a421a6c63a37a0fdbf1369c798d5deaade635a61621d69c1f4384b0af141035d9c3cfcaeee14279b32e496b7d271c8787983fe185d9cbe36413dd7a1eed1c10325c9fad0aee547483496d998105aaaca1496721cb3798b836f9ae7e50bc2f6010332a9604939bea250fb38ea64aa14e5fc5517c0bc5f8a527a6eda9e1f8608622603abb7d1d81a39e3b46d7fef5703f8c669a59a2b9a563e62d30f8b7afec6548efe03cd3e1c38aa056ab4b4fcbbcf067cdd281dafad51541fcfcfa033bc0edab0d3c00219ffff036e48c98c60e36b6a30a4d0c9f8ea90518cf0391e29f0369867757b40c11513af030e4c41c59745302c4a6f959a7993f466f2182af50fbd1b8fb56a57b71f21fb68035233592d5a0871cd17b21aa4474fbc2da037c91894f490eb7b5e038834bff7d103b0f1d467f3c5be3d51fcf0c775bd6d651744823119875634a6b1d7d35aa7e4f90350ffeb152bacbcea2467311294a7cf8a33f8ed9a6a69f15838131a5c41c3c48903409f002782f238c1f8a7b80670ab970512f70377714723960e8b0d2aa75d0056035f8eb68f19d737e7261577a55a2741c2d0193c2d829c9a138564608694028c6b03a08dd761a9078377acacf8c12e1cfcba7e549c9d7ee1b463e4ba143186b29b7203a5534205deb52d673df33b5b14839674981e27bdf2b67887562000766abed25b0311d5126fff420f76c5210d24ee845b7239aafce0c253023988b1e744a933abd1033264addeda8431433e135d0bbf47cebf60f449a8a8d49150d8af5b1ed417751103ba14da52d388c54a4caaddcae7610fed522ea9fbc2fd60f6a1ce0b487a71e814035335aa59df05cba1e517505baf4c3b3a8cd3546ee48b1411330897f922fd238c03ee58d1898d209356d38341169bcc16b014d87cb7969f0f33b1581cf7a4af65cf005820039e1ecedf1d1ed721c9e99ac041eebe3acf457fc7405a7cae58c0dc9e2eba7054824b88ba4154e84e918f7665cde4ae8268255aa600582003356fcb5a6dc7d75568ba0acb3ef8a3e1be6f5ce86242db863f34d320b16aa054c0b74b2d31d4df1549646377af9276348f8b9508005820035678c8f7d2337c1e8a29876ff30bb2f32d07e54b1a1f5fc1709dfb58292c1054cee8fabe549ba234c7a3d2cc83878437bdd4af7103af6cd8541b861d009ae9834234a61c8d1242771fbb853ad4ba648f22ad922ac60058200306d12b8f8ceef630dfe81a5dcf14f38cae9d93368b7322a031235874e6df20547bfaacf9c3ef2166d11dc7de3996c999589b1ba50328009f3b58748c4e99c82795815ae6837c259424463a96161df38cad5fd05749005820031c0a76db32296327b501e0377f1e762a24751843257cfd4cbc53853a9e6f20540b7d900b784693fd21bc65fbafdeb5e8029be45702199c0d03b390bf72c0509bdb1ea780b6ed3b5077e557f9e6a176ab25613f604369b24ed40219ffff037b6e5c6cbf08ccb064a343ea2bde4a1c35ec81e11cb334a348c7bd1875cd9598037257643ed5ed01010cf2fdf7d47e7352bec858a91984bddd8819bf96094838000219ffff05581d024f86d87dcd81ae4576a835eb53ce49a6f2a35d93e3e1709b5f173827071906cb19120305581d025708cc583c0129bdbbe9200856c9b747e92d0379ac70205042c0b5bb040302183003941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e0349556b65335cfeb589cbbc76ccb7ae72262c462011403053c4310100a007011bffffffffffffffff05581e0302b1ac67802684bd99238634b8a6181539e20c54611bcb3280d72ab6500c19093f47c1265b2fd4f9ac03bdc1a01ebe57b225cffec2d52b333c8a7fa2a1547aba6b5aa840b382e5fa4b43039fff707bc7f74a5eb674330407bb9184154b4b79ef64c6f9f848583464caff0b01410c05581e03d1841016aaf95f249850b66c6edb70f5a5cba34ef89afc3f997a0f88e0084619bb4e389dc005581e033fe1f84276f588939f83f649e96df464a1e37737466344029aa5a214400c03465bc4241e502005581e03a1c26dc6ab07408abcf1b37ab4c6ae0b791ff632a40456c29a312716e0040202193a8b03df1558c0f5d7a8a82c382c01c1089ae693df951a154f2a7c8ff2d107be60676103ad57e96bc2b6df6c28198f11fe946a930f5c31dd1b7bcb704e964d733967d3d703784425086aa6fda47d4717c21fbb8e565affb1cf865ffb53997021fbce0738a403e4b1ebc3ffb73c66d91a74e412eeb820d44a980329889c5a937eb71eeec17e38030b8c7c603a2b8725d4a1075dfe007ea58703a589dfe6e61215483dbc8d2d5cfa03ceb6d7e14d5d55e417b1b7ffa5f60972b03604ef3345948d303ef738fce6c97403fd83efb86c05922fb5a6a5fdb44bcdb087c33792c0d11748cae82aa24e6bfb86035dc378a534d0b130fc39ace93911a6bd548ca2a20568b155c79b020aaabf006c0374a58d01b801928196afa0bcb5132b45d33c3e6821e39d96923cc07034b9321303d34a1e0e7b4e72eebeb75f098f1804f22c7cf0e74ebaa4a5e8a76e44ab95ea880349febb5a043dccc675624ead594e6b05584f39312641d48fb5308f80956572490219ffff03b2cf9d2089ef6baeaf61e8c48f6cd6bc85b0c0679d4a8603196569e7f5cbeacf034f67249f4a061e8a015605919234a15a1dc7e912e1fed4ea2b9aa0cef009c25c03071bb4d0fd3658a30b34788266cbb53c62222cc3c65113575c75fac7659df8060395cd5c76f3a8c492f6bdb4cae95d59cd87e60e0d61cbbc881a175fc2f686c16803d7ee27e379567a7a028f79790d5b504fa9478ffe42a0eb5373e51634ce708a310311a2ed9e4178f5b1c7f4544c7f3205434177e6966d245e7ac2c8681521b829df031bf2cd3e64c4afb074d5d8ccb4dc8e5db06c6c8784c7da19a437aa07d70f222203f7b7a736f86d13b9fff18eae67c3b4a28bb71755047a26c4f6e2b16898d8a3a503021c8218f9004d527b292e51fbdeaf9229c67f959140d13000b7f6758632cac803ba3376cee6d70f3200f6d1ee076f02ad9c2b2b299b949b6349f7d39b7325580f0304b4613c068adc9504e163b729c7cedd1c111237f3e6388cc9d2bcdc032cf7cd0392dde0688df4ecae3a8b2c2f295b9b384f83d21c5265ff97a67d1ad061b8d7210318e04839f047b8cbfb0d418b3882c2c6561621c1fd6ef756ff4fb94bf3e6672403a4c10fbb3674789c23def590e25240cf676e13fe4265d2cc63b64191b78d030003c47dd012b5b266f901f0ef4b98df7275877729c764c7cbedda5b40435caea5c00219ffff03763c9cbcba203fe9f96a7e3245521bbf5191c17f991575e6231141458e0830550219ffff0314b15e2204aff38fa3a887ecf00f02bf449e1b47530d81d5e3152ed5592f36f203a71a6c40d138439c57bd794b8c2fb4811f7148d760624263e50dd00505314e1e03da931d3a1c87f355961ac277c01494443a322c0219cfc5228ff6930f92b148d20374e3e1a3a41a836eadf14b26ffb5b35e5745829f206ce75e6bf4b6702182d16c0325fe59be4d32a15b8ebd3144a92a03e98e459c7486a1a3e4c6e69d96f60fbfe4039de8876b1f81c708987cf434116b4a7b7154924a350e2bdb86be90dbc1d219b603f1ae8c72b6cb3e505de9617cb8ec37affc8cca4bba49183812ab386e472f33d60303398da717cccdfb477cdffe34c1f536d67d40a395430c68cbc2dbc03356b8ad035c1f69125ab52d546cfcc3a8af42d3e65ea33767aad5fde9a7a4282f41d687430361b8c6f032fec9d2f408df51398e6207976621ab48818d6c4e840b17145b96ee03da92d778ff058cf1c38a8b40da3d09797e63fb3d8303d5c48338fe984f382980037835673975d6065c2b1d207564c74dafcc7b6da40f50b27cb93bfc2050ffd4f403d464c9d71526cdad3875eb5f88e663466016a7c19673ffa0b6af03155f77868f0326c07052ad8afa9ba6698cfbd0254ff4b82755ac14fda8fd6207f9dadd7b8a3a0301cac6dd8a71b7589b383e049eaa709dcb54f539557d51a5e299bb154fd0c77a03a5f611621ded7227d2a32dd4758c67555eb4708dba3b4d29700ec5fb94e72d0403a84b22859dfabbd2a020b14201ccf01f20a25eab8e06735a5e9c8f07afa0d1560311242c70a8ece33b29f0a4f0e89ea7a78a979acfacaebd88ae35327b7e0f4c2103260c14f18bdca077bffdacd1266c66909bd17dac6813a69fd11acfecb81801d60372e7e1be25c3b543c30ae4a4dcb26dd9bb33e4f52617d6975d0d578d0aa1bea9035b8276f287c9e2d2a96b88f4de6ce47afd46343d75617e111ad768fd23355693034827c875845d7c9d2a79c0ff820f99a2322924b821712bd98b956323c92f58f0038d448f4cdfafccd51424623006c807a02797757a3209ff117e8f0a133d00500303af66bd21784c5a4ce5708f22c24f4ed35719846695349efb50a3a9152c560299036e65d5e95bf6e9cad47e2e06b8fb2ff2cd80acc77da49ceee34eef1aef38d93603933d29a3dcbd169bbb57eb140c13bb8506aa2c1d517959229bdf35ad1b342f62038098e2dace97f8f97a30f0a537712196ee1eb44209e4e9ee3ff1d081c62691f603a7a4b2a4b8af039c79f67eb3ea897df9da8d186e65cc019a9a04b4662d5ab30205581e033e003336fe431c6bdba0187952d66b9d29b5dc7aa2da5d2454453f1860040205581d02ef3263d0331c6572cd7236cb15b878c2d4ad15755b0ead69117e3ee5040105581d029506fe3dd3f1ebfaa6ad8d32e429fe5282b82b7d9cd3bc89881e1f1a0c03465ae465628a0005581d02f3a5a7d5fef6437f865dd36cfe7b4348670dff7ea9809e875efa3e590c0147db5483cb8007800219100503870150d2c21d34ea86a363ece3efbe1b2d3354a43513c629306bbb945b86c2f905581e03b713e5a3c0a3323fc11af269afd14ec7cbeb259004699c7bd86e79d4f00c0b4706771914bab8b105581e03078d1c1168116167b6c841bbcec7280337419be1af9f5fea477df55030040103be1cfb104851c70daf5c89ea368cc762db8fd08ae5b03776fc1c37adfb6a75b3033328700ba5d76ccfef54fb2b1550a88313525d854ac119205c16afcc30f9a40105581e03c167bcb19e88f9221b5da9cf2ac2c0f846c5959a5a0e9972d23853c3e004020219f4b0034fddb0367f62b004fb5cfc723d2929af390d30d3043a896836fc992c994f449c039aba23b70cf6c91c937be784dde5b208899507049a69111b16e7436f6a2cb1200336ca08f8217548711ab9cc99feaeb87e7b39c8a49a5671640466dc926d283d2903ab5d6a99a001710d7f97a24c6b3241213cdce95a45493e0de416bf07f50b8bf6034c32c41d45e3efc13fa083b0e3824b3dcd384840d37ff8353580a345a5152ad203a0f64e5688021ddf7709bc26241e21a14c959d8db2706f35485effc7a12e8fe203e7c62105f380b0d4f7daecae7bb520e498cd2282815856b9d221dbc29f8a6c820324335e3d536dfe8197e9d6a5cd4b57dd100f89a9794c11b19d75b3d960375fd00219ffff03bcb72f8ca8a2b318aa6ae169f137efa71f1353f84378c9c0d49a1e7250a3a74103e9855e532477826d5e2d7180ca6c26495aec86c6d0d8eb15270827a989c7b88d0386b6963465412209643489636dfff5b97dd7dcbc854da5ef9ec58573f323df66035e5d99a276d159dac46499758fe80759f60c851a84be0364ca1b940e89c7719a0301d660b9166a583454650ec5e38739540fb7ae4e6b470c7d45f493b496f9975a0309775d98f594259a119b747176d77bac458ac02319fdd4431eee10b287d44aad036e367c68a4df4791d4d90a135bc548465f94bc9503144ea5f880f4bebe9ef4c80219ffff036049ed4c5ede3b5385967f344eff8afd4bdbd159df662bdfbc567f6f5dc5954503789851a98c96eff253b8f4f6d11e0d1c9865bdabd6813331a11c7bc8439e6d10033dbcf7561bfd73fbbbf90028f0e8dd79511ceef3f066c8a594f1abe47d12c424031ab957a2bdbb118cb0487837c1e7f84149899e9ac37566ed4eb56f3a3acd89550367ddfbd9a81aa78c65cc92977e68f79839a66f5a083f38ec6fd7977a41e032c603c4c9a1b0e1a0466e471f13a9ae1cd88c2f4cd6d0183752c1899b2a2590054c7203cdc9d3be149ae17bb8072dcbca7d3b8a8f1a8aee56935a7b4acc956d6df069b503410f914125f65e1cebd59200c25e3b766366081d50118ba86caae5c11a5a1d9b03eca9a447ed9f245bf412c89e60c1492f122f29dfc292a07a2f79ca29fa5401b2034232c9539e61656b5ffba73202b8ea9cc57f11d964f6734f745738546273233903cb42a864cd4f47e3915d7bbe377d684afe305447ff9616d1cfb41546573cc18e03d1e50ddf01c66b1af4907b9b12d01b605d6fed1a6d39d86f8c3d5225412bc50c03143678e4e6438ba4dc72f0640955ad9d1e011b6ab49f68b9ee7e9e2fcaed46a603d9bc6ab8be16e28e26759df67e56de65dba48cab3f3df3bef2619f9fe32ad4b603608f5267226e7c87a401658d8ef870d89a631eb958b72d6c05c4b8408d2f31a4033e2dd5e8dd35b19ebd9f6285323fd8cc01d958cf638551dea18ab2673a358baf03084736aadc6faa9df93d3289eef03e9e1cdf26fd0d5569448e46472a121e7fe50310ee68559f4aa82054a2175f93962f09263be4858f5787e08d2be8bf6a456ca503082ff70aaeadc25136823fc605ab2637c54155bebb0c9b25bf601f492cf13dcd038d33a8224f5f52d486848559b0ee17dceaa92b4d764723c32dc2e4d03eb7ed4c03f96d74a70d42e6ea5e9c64fb9712817e1cbcd650d053db2dae12df6e8db09486034b27c156d9dd2faacdfbe177fbd992ea7bfb15ce29aca438986c3838ef16e2a4037f234cbc4bc6c416cb0dbfb52a7d4d33c9352332146de1f0978414f464d9c70f03520d996c94c7ab3b1912c4e567b3475fba44526fb678d47dd8a8c10ca8f8df6b035f97174352810c8e558ef32e8814a6c720749e7069ad03363342219899d46c5203ba54ef7b86d1ffe19ae59543e7fbcb0c1f45887336d14dc6c8dc71a556f70b7d03d5cc99e8a2b0053a9b7fa2dfaf03c58ba3e1a54e313ce3bfb19d28b4d5383006035296cea63afb990dc9498cdb1836b7f95ecfe3cbf1df9801e5dcd2b632335f0b03e93bd6ae79ab6d0ecb796c0e204d49f3c4e465e69dfef20ba0ca0274e36e03e7038ab19f58dfdd0c9903199e779e28457465fb5a13cda983effbe0c71eeb0cf5e203ef739120e2f853d775296deacc026d4cb6c2080c629a4c31eb050f4bc5f21c2c05581e039bdd34e05a628d0b856c07c3d3c85aa27049262f17a29520062f3ac740040205581e033e75dacaea7f8c58df0dfb96ff4aaa8c55e1ecc0eb320a52ef7fbef2700c024703b89dab6b38de05581e031ecbad3b96af0bcdd7118b5b6afbe9af8c07a6b9a4720c0191c794ebc00c0147035e34e205d3020376dd227f5eac5ba57241327ac57abd1391f7f0b78923444cd2d42eb327602e2705581e03449a945aade01038ac0578b3d33b3fae363953a73018c7a713e09fdc200c0147010a582673a2d805581d02112380357428bf2a045af8d70abb2d75db3b872864281108198c5afb040105581d029452366170e52e6d2f22212442cbbbe7c194b2c52df6ca6e1fa8dfbb0c054775b0c4f13968d80219210003f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0338b39f598cb7bd0b557934efaed7b8b38e61ed63b2d50b1dadc103740007011bffffffffffffffff021987130219ffff0219ffff0219ffff033699f2cc845aa95c7eb8b1e513b424fa9961f8b67022b03cc002f4f1563010e903469aebe4a6ed8d551e428a47dbe58e05b479d031e25ea00e5323eef28982de71033d739fba50a5c9908922adcea474611b236dfaae2304165280c2d575c60eb7ec037809d4735b82f859ffa485a93d579127fa0981476d78c11d82511cb52e0f3cb10311f6709a327f69880fc65f31b658cc511301b577e75abea21651c048d1e105dc05581e0378dd3ab634ac1c761fea56e692dfe883510a95fe2176d5bce3b04bf9f00c0347010f5b9763a0800323b3788e32af4e86db7ecaf0c387924048e592f1c3a3b32ddccf7655a0dc513c014107030b3f75c2b7163a6edeb0049eb437b339f76fe67a48b38d41dfb0d74ae2598dc503c3397c0a636769055913362f235616fcbcebbab50ef15084fe2028bce22ec18105581e03505cdd40afeae0b6550237c3e36e4be48ea8c7dcff9684de47c4a90db00c0c4601e8f1c1080005581e03bdf2387aea8457281f2aba2a7f5626142c6cb8ad9e4af8ba1123bddc800c0147454e6c3247400005581e038a2f5262aef3b21677aaa4e00f6da5fc27c886242cc02da299e13564400c014715fad52cf2a00005581d022feb60362a26033a3f8b027ef2e3e8f9b3955d6ee2fbdab370dfda370c0a4778837c82dd400005581d02ad2b50333d8ed441f456a5f573acd309f0a1e22bf295210f1ca3a2680c190f24480215d0d3f81f20790219080103dfb95eff4f5b17fb4a27745c673e5f5d4f9727e37bd945c92c123cced48690f605581e039eff6991db748f77ddc7dc1e7d1b86d0db79798bb7d2ebb0dc93455cd0084701ab0fd076c3e303afc83497c40d1c2d8ebd0b56d9b4f9583e99ac46571d164320bf3f13f69ffbe60332cb309b000a1b285ea267448c419a16bcd210c318cf0f52e64ac20d7ec184e9031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03339964aaf5f30c7ad72f0db1a3e17764c043f2fa70877a9820d56a321007011bffffffffffffffff0219efeb033cff0d58a4fc3007c3d8bc88940c1c683c94d5680616418646c46fad0a1417b103d71a17cb4a5abf155af31b7c5d15e5f38b6a5f6a923b038ee9fa457a52106642039f1352f65704c2aa367f1a0f432a1aa61bc8933eda586a064f49d8f2de10798103e857749d0cc2bb40f3e4883b476bc53a54161d0ed22f8d6ba7e0cddb99d70aed03f0a7b2a959f6e2affbe81b4cb86189af0359891bb3d99dddb74cff3d9c9fab990303addbdc4db4da481c761194a652f7d6cbfda244af0d5b300cf4daca54c76c3803b67d380ed71327c03dd98456d5b25a94c5f3d4babb6141a6fd8c9a6ea1048e2d0336ad4375f2d982424e6bfcfe1f19c132dcce9a7d1eff4e1e23babf08c764ffce03e1fdc6142a90ec76c3ee723038dbc828fed297c507ef6c6dd301b87b3cacfa0f03640d3727527a9599004e7ad2dd0f8f8c696e733a260e3111c54507c36aadcd3e03666b0c7ab194d68cf35b74c37e82e10ad6012f80a417d9dc79f05fed56546a3103503be3261361eb2ec1cdf226e8f4a9a71beb6d87a0fba912326563020fc5da520219ffff0389723c93724e4431e089749c5555c6ef639143cde6f6bac434b2c59ea9c0c750038a2a739669e661bce70c23be13a43ee5820f9efb99086987de1748afbfb3842003b2fc98c96371d2096f6d3d637cfd0836fcee731ec486d5d83c063580d8ff4a430351e0d8e2e75f9e75a572b8e7ee662d78366d51b20dd8211d053dc613ca83caee0378e0afbff1f0457eff02301819b7bc62e60a4776a6cb995bd33efa0d5b732e7303cf3b32b29dfb63e89b900322259aaf55e8238dfe6c42e2c0806bad01fab70610034f364f21d3b05786f89330d292fde44256b3467dc0192f0542f38331349e622403a661d6ce48a0e875fbf1d101caddf0637ed282e8cc1e962742317ab43890273903c030eeaa086314ece41db8117c098da8903c8d8cf89fe14502a18c903bc3c64a03a5c0beb052e5980563ec59d7c70ac096342cd052b4f2af991f862787f79c5637033a1f2afab81a2adbcc5568417cda73faaa765421094c208fa542f236ea5a036403beccaa447616decf4d01abd6366d06803f06ed0bbe940019a0266aba59a01db10323ef04705c896306e8aae2e3f6ec141bef543a4d1007481e5f162cef36d8a36e0337c4d02fe45d120cd96252cb1d195f6ea02b7233b25f0d2c6547a5db8f3af23a0219ffff0364b333fd21bacef5a9d6bad2c689a12fc0b5fc95d941476449c7b68da1807ee103dc53ac7cfb40ad415aa0dbab090a8d0799e6b86d8e186a35229e04e43ef12e8b0371205f38bfa352c155dbfa4dc29ed25aafd542d53e48c34861dc40aa7e6d39ca0339a65c22f76067f8a53e3e2dce5cf9b2388d81e895a0dcbfce792f9cd7bdc6eb03f19226e632932f9c05a913817682b93c1a001a8d03cd69ed5446576eaa8e6dcd03c37c58762cfe3b70e42fb083bd3d525738b3825d7b0f03b3b6d3638bf1a767e503a1f7245bee2556f238e6bb75deb9ee14b5e8535085de31645ad4b1c569dbb21603ddf40063b293a74fab4bae74f3d3101ef6f47f5316e69ddfcf204b2d06d001e603dc11556275129c1a374d53ad1a2c966e2d64ec99f1d2d7437a476d213df51fe503553956e2547f52478a9f7c56a4aa0c86607b24d5f0627922d7e39d061b76135003292b923688c9fa55b97f7a3eadaef0b23bb822a018ac07d1518edc11386fbd4a0308974eb5e851387aeecd4b0700cdbb0ff505816db965d94384ebfaa26f431774032aa64ecea01b2c8f0a1db10ae6b3ec4b9ae41aec543631a05664026605afd2b40345af569d3bd65f144c513ee8a9c8e9c999eb3fc80270eee827aa355ff298eb0f03f489b4ba75ea51e6f6ac4fd9fc403141cb4b8ef8f5c6a05acb800f66a3ed6e130219ffff033b224eb3b63b6f5d151f26a9effed7cd3d916d36b8aa1ecd90660e574aba010403f487ccf2c2027664faeba306f52cb22b58de3f4988a4b02bb20e0a12ab5e5ad80384f9e1e04b74ed95543a87ad7b9931f3a30bb59b667b750c5feb0f6c34a1416a03c3336866b334602ab9c9efa854d32477e827dfb401649c1362ca1ce30e104fd103844a3a56efa543235036138d5b0a836b3d1587b2bcfd41064e1423a02f7274c40354bc7e19f45cecdd3cd58f28cf63ec1fba37b7bc3f94aea89a078c9616c94ca903e93c7e0baf62391f65330530cb48b0e0131e34447accbc3298d99a6066d047ac036518ef593a0b67d718135696119f30c4c5b806e47f38ebdcaec67e211e8aecb00219ffff03ede4e7f43cd20046845222cc4dbb008eb84b150340c55d07872afa1410951d880343c9369e0c7e363debb37c1e92f0d2412ec2d6e4cfb411d78e13a2fbae9aa280038adf16090394b341ebca6798973dbe4ebd32b2b0803cea8d78ef4c7eb41cc2d00348e24400f9ee5184798f735c3c063190fb686b9ae75551c713d56c35d6263132030189ce059588318cee671788d8e9db67ef1e9fbcdfabb4465dc0c401ccac1cc10375f52a9fc14c1b931bf526ed41856e06a833327688b94f08e890b0d492daed8b03187e00509d0409ca1bfd9de964bbe4923ca4469250053cadea36dc9710fa3cf303fed8f7762aeca87b8d1494704c343df988cc235ce989eddc82d0fb4a4b5cb24903d3aa7e95253528d0dd111b2f62f989e45e74c16c1c5d707e73b5c25c679b0aa603dbdda0af623b3bf3f3ca538d43c4835ff3b974cb8ec7c366870489df8f45d698035ca212bb74803e6f364cd7087993c8ce89c9f5622f88d679084637abeadf77b20337fdad9c9f6ff4be9579163ed5c2568a8e6400b9eda9158696d9766ffa8a986603a203b6a6c88dc068c68fd22394e33a9d29680e37b9fd61c537465104414c1815037c097212fd68f138845ccc3190f3800fcef3358d3ab1060f93e440ba2bddc0de03dcb5a23c13dfe297685b495e653bc9bc291df849b65b6f4bb6aff413d97fb15803ba06839414fafb5c1c3e59d5080851020dc1d8b11ab79f8271a41f201801e7d30373d4443c0b607b31187e1ced825107a4d0cd8d83714d6f7727110e1cd7cad2e003b556779f9afd413f8baae205c04e7d675dc996cc6d45bbd8ebc78a0ea02343f003250e3d0837636118300d9229680fecf001bc5e645f181372a4f2de31c4c6d15803a88643056d33e6d2ae0ba5208a23bf08f4938292c31b36de0737a848d507548f038d3b8e4e2d30866fec8b1d699f00e7435b593e808d1bcc935d57d8a49d9b561803bd0e87932caa710c2472a93be921f1cb65fd62c41b33efa51d36eedc95eb75f803ca99eb7617314e3ecd3e5546ee5af7922193fa7ef846a7bb635bf8990fadd6fa031af6f97e7a12606f83240a1912ba6a7f10cc9b00b1b744a418bbdc59f0b7696303de57b58242980d3e4807776ab0d2e682b4481ecd2c833865e5158cadee7613a7031191daea01696c61e28cc6eecdca9485b4e77a6964753db88f012bc610ec2df503ed21a342accaffa64e3126c69abcfb331bc9a94571db6e93ee0043f74bad53a5031322c32ba07a4ba38fbd40e8962192300937c3dbf9ed124c2a0dba5a2502945003eeaef74a041ddecc142c1ce6405215f89db3cce381863eec8f6a174c69944967036f77d36a6ec27989a2f6dbae20271af12b31594d4b9d4a73c0d7e2651a15f9f60306b08654a5f3341f07580998d8042764691872b8e813f4c414742117bde52d6a03f313bfe43892ef2b8875513c44dd80baae4bf8d9566e08e6edad6e83f68d8c0303a75d983764cfedae5a3f9ebfc34507d53c13e20b5d826a13b3d581a37eae79cb05581e03a200880a174af3a1d688c120c1567de0c21d44a29750caf8d83a3400000c06461319718a500003845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581d039137b59160c9276472814ad16bacdf6401908be7d6b24e544c01044007011bffffffffffffffff05581d03a3e7cc3f382f1034621e843c9c85f4486e91f019b10abffb7bbb05a00c187948017acdb80b941d500219102001410b03f4eea6cfd780a0fa8a45c88bc5e67854d807859398d7ef98dcb0435ea6404bb305581e0394872f7670fc6d9362599656d6352bc7a10f84d4d35b7e6ea98e617c00040205581e03b470edf24335594fbc3b69353bb94da2cafd04ec26279b6234ad3a37a00c02452fad0e5e98036a1d62d34ac9e61caedef6de430c716d780978c381e62c317cfed48fc8ef824801410705581e03fe588d6bd3d87e634478e211afa6302b39661729d4f501f2a34570c2c0084802c6520884745c0005581e03481b85b7a6385caee2f256a0e191b70b7a188326cee39d387349e96ad00c01470433416ce9e00005581e03599a9ac582b0e7eccbb3a18d53330f449e1f0692adb2703d26ba0b7e400c0347013bb4caff6d400219a69b035e7fd761e3430b11f163a735d1868c0062f361a936684e09bab5c85749c84e1b034127f04c36590cfb004c07a2a273c61972a96d20b1a29310a04fc192201dd40603398061347613d3146da686781af5e6f5cfeee1801f4a6e01da36441bfcc3c4bb03573f130995b27c45be47972f2eae00fc83c7269a52bb7ffd9568eaf2a01c6b5e03de1e554740c59a2f270772cace6b313283a3aa53ed39a0b534b7b6d3492affaf03749b4c7c6b01b6fc0666a686353acb1007ae605dc72ad5f5da8c0ef12a939cef03671d7d22cf432f788c0491d42edb9ba49d6b40d4ec11e76af04134eeac20b43903f0576b613ab52a85e149e75349547008760cec2de6d829aff88ee8903b54eb200219ffff038767b1a6a15cb761625b6b3b3dfb99a1ea1cb9189ad88dc7befa783ad98138280219ffff039b8b00d7a7eb5f8f2c1d089ccc79008c6ceeb3beb9c43d468bddebb570ddc5d903110e6af9944a4d867869596673cd1721f09193e9a786f849b89958b031cdbfc303dc788e20ad55a86a3e1993c4f837818f502e83062188796833c0259d700572c4030ce7bba7673a4f66e91cdf62aa4caa5721670d5543c0cfe313032748d420855c039dac3558b6eead59136f62131cc7ef78748da212c9954d6d66def8668d2cca1f03ab9bac588aad37293cf9e303497a76e8cae5d72c2f1fa6f5723c36a9b45d8f9103a0aaa0c0f044c56441cdf30f17cbd88d51f505bcd64e34562303f0957ee8e1cd03ef3e8388708132d7fc8e72d2f63d5b4cfc184c892fd2afdfa9322866962705eb0219ffff03073965272eb423d444705ef009f76b16d6728614eccbc486c3d146d30b589c1e03c45483cf364539ce6dfb9f85f5ab1ce9ea524a703e9cdb4392dfd0b8be086122030b985dae3f61d9224c9ae826d4de5fa7edd5337b5d192bcec32beefb4a008ca1030460b8dfef96bcbf36d8a77cfba4a9ef50380b262a59e3ae32e06368a27db9dd0337482981432d7ceff1f8fe644e8f39ec33fbd08d1bd9020c19a3a304e6ecf41303199a460dc029ccc0410fc56c4c12111c8768202a884bfb7200f4ab3cda0beea90304013db15b2c4421ce9a49311de932f98ad57f48a054a4b9ebcd3e0d4557035103af60f699e7cb77e72715d523ecd69761804cba8b472119cde731f5b94f988fa1037870e9455b8c669a510c1a5e8e61677bcaecff35437234c3976a90e85ced26900386568727ce3d1ffaa91b0725962e3aa8a3d018a2b453980deea34837481bffd30219ffff03cf36b8bb466243588523413824c033a1baa4e24e926996ed55e39878d996c5ab036cdebb9b40c263f22e7ff89d64810c3cd82af39a32d92ed3ca984f05cd018f26030ac4bf36bc5aab4a64cf151a9e3c2e3b147d4ebc616d19fda9906efcb6afb20903d952a2b5294d54a3de9a4ea354daee0f0d1023a8f3a278679955cb964131f654038fa98b061701989e3fcd5a1d5fcb1d5ba5129e089e22fd4686a7b12610f0428703b4790c1b16a2792fc1b349859d880d89b04b54c3328678ba993fb7274d963fdd03d28a6ad487a8a313156029c253a170260da214514718a6cc1d1653ce1d8cd8f403b824b9dffaaf7714210be48958a4b5c863ac4cbc92cc43be4a2f4b1929c4db8b038cc70122d7d554e91053c525f0ca3a9fad27c6eff1610be124128391d9149f16038d4a706e80ce3a8ba5fda167236f9f34d9d8c551258a496a7c8b560c1d30a7c803b51e6f48487b1c30c30414630d9d241cc5824f12ce00a3bb35efa375f83f2cee03645d5f6176324bc948db67f8e1ad76346003efa3d6acc196e1d4a65f23ef2bc703730ac958f5c5d00f3cf21678e362ad11d02a458244491d4f26238bae605264b00387f3cd79e941f341f83795e744c885e4bd800f7ce7c94475971dc81e545f97b1039d9ef512d538046555d2e67ec385a1abd19f62f40b729c113a78574830ab6d220325c8c5d24169147108befaf268832edd5cf6901f347e0d2e13e3f60a9160964e03439b13332dc0d47feef783616e123bca0dbbb45268a342a2365050c687da8d060327027e6d4ddad0cfd4e334e5eb464f9db062fe6c4406c0d7491fdb1734a6dc6a03b2449a8e8225b37e9164269194138e8854e7d7e6ff0a5ebe23b4ac8a3c9096ff03b1f50a8571c2f9c7901b9dff8119481695e9229b29b62f33d84d35abbbc2724e03602dd9eb062ff52a611b8be85103b042349701985948841f4accef12f42c820505581e039c06e143c5e514c542f3da44e108da09b16fff80bc595968cd3c6302b00c034699ac7668bc00037cf243452c27abd7021e6797375336b135ccb638b0123f9a2e98fb5a59b09ff805581e03033476235fd24d6eeccd67e22bc831595b69cee4cbb4d6e4f15ad7963004050397c25af188ca298278d254b6a7a7f618ee3450a1f45b7503b0be2082e6fe08b403ee84435ecc9a687a6803547ff2db7d81fb3024086a9f1f6739b92b23642fcd3c05581e031e2951315f976fc8867df241af9ccdc8d1beb3ff9fff22b2f3cc6c42d007011bffffffffffffffff05581e036027884b8a2f7e4324bcdafd94bdc32b06f83123d54c5ebc30e7f3fe600c014713a33b61fef80005581e0353c5d5683136c83697bbe7548de7fde87acddd3d773c184e96315936400c187d470b4c71ed2fb4af05581e039fa7787801d98430f3ec9f1433a63b8231ffdeec2de1ebfaad6571fbc00402030e56dce063b9753a5a5d91dd9282c2393b6b418f391ff7eaed08a45c7f75240b05581e0361b542881309b81b2ea423daae9cc932fd27fef372df995f93f713ac900c02463fc67801429803a1bd70cc0fd5c69c14af44101b6ea38301e15fcf09a18e8e623605bb6c56a87d03af0a762eb66b13288195c5501f0730c7543e9d275856daf54e6d4265e1059dee05581e03a858100f2299a59603258abdb50e4ac6361939fef19c68fec12edd235007011bffffffffffffffff0307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e03887dd2ee7c05d9a3bb69b4006e43250220d6f74a93f38d6e9cc481944007011bffffffffffffffff03941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03a560345176caae4ce60bdccff6015da4f72fb98e49717770914d1df99007011bffffffffffffffff031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03645e09a2380f387d224c2dac4bb47113b5e71ef6597427d500e03a62e007011bffffffffffffffff05581e03a88aa6cf4aeff29c1888867882e32f6d6645b31c6a6f82d132728b77f0040202197ffe03f8f3283c1d98e0f2daac77d64e4bd8a1a7259d59a55451e77343e468139e6a1c03420709cdfe4317062c79f4e180dfd468ef3b129a372d05ab058874144bd8eca203ef86080ce8f292e1f99b6c55a46e66856aad26883b060c0f68ea9b4c73b699d60347b5a05c10cdf1060f71060d108082e22e7443645ff48beb535c0ccbee9dcbcc03b7755aa4384d8400c87f9957e39a9fbaa1fe1069e20c056a32911536ae54e8ef0339a424d8b81b546c2e10e253f1f5914c386a878c384fec56fad5bdb985602b74039856ff046a4eb9bb51f8af3164a2f1aaddee90efdce5e17f59d816f509384962035445fe295015d33a9c3eb4fc876f7e85f5f12ae5e45436d9350332c1fa854c230219ffff03d4e4cdf1a28f8e8024c74b23a5024bfd81e5869b7174f2938e302434516f806f038ceaaf47c77de2bdf42633d586717aeeb187adeea020382356c64e7eb014e287031e7f8a3bec00fcf765a220cbba192d50776b35a8dcda67bf6f191ca239166e740300d5cde09621eda6b6b2cf99604438e2ba4f7494b328b28e429ee1fa8401d6e9033f505f40af07efaaa1d8117bd534272b6b28e4a293786af06b051fe1704c54ef03b356da3877335419b41d361ef72dbe8e46847aae75f22571ea6cfa3d587539df03092398040bbafcb9204ccc73709d05950a54940c5c199d2169bd7332df8c74b803f46f359dbdbb8b4a161a0b77f57f982f03f301b2c81fac95a0cc37f2297eeda903c194b1d4f2a7ad153f52a34efe8b30cde2170065e29610025c153d1e406e2beb032eff54f55614eaaa7f70ac360c3a71d5974ebea54635b5f7656786a5c075780d03a16b6cb3419f0923636e1083663e44594c8cb4653b3367c586e50ecc60cc4fcf0219ffff036d1b59db044c50149c0560f6cd635b25b491b7a350bebd5793dc6b0135ce848d038724bd2de170e032a282740f4331316554725a3dfb94416e6064f718022aa85f0386d74d746980bc784ad4f3314a99ac2d986d4925cc08c22d6ce1124fcab9ced10338873d23ef4b6267a237a80d18e659a6dd59d6de1fd210737cece9f8eb0f42cb039e9b3b703c9aad5d608fc1ec12ed0e76e5be95e0d172e39f275c436b2db304e2030ff2cf7c1a6439b133b577c5fbfd2b530353ac9b7309b9d1da2f3d5b0c447c2b0342dea44479ca2b63e9f0951dac37ef7cda7deacb1a65ab22b3afed9825c4d8b40317db178857f757f47686796a24ce967fbf664a2df36f973acfd4aa44d7715fbc03312c7c1a95631dda42ac48004a929a324ed680b95d1927ca8d23eeeeb42f9d290339c737575727df30c768ef258902f7d02d62c6c8c000463b446680d1733598b403c22b939b6584479b4c96b1bac1fecc032cffbcfd0cf005e7d480dadf69fdebf10219ffff0313c8e15aba7fa770b46715e6d605a431370830d76f95874b65467cc6574c727c0320e612a89a185f3c784dd090ac40419e2e57341de94767bf5c2acb50cccc9a840301e34d87a74fccd621a2ac19c8ba255cdc073495e275dbb662345732c566de1c032ef2e67a41fbc33239714961c8eec17b2b3c15a3d1f06ffc32bcb26592691de5034bc3d6acaf97f7a4df94ea71737d2987d51f191552bad956c19eebef42d6c11803dedacf5ba637f680a903b891af8a54db9c55d3604af9335a058b6d23ded5ef4d037687823b3448fb70374c6fd9944de0a06719e41178c2a3fbbcc148781aa45b08038a925137afd8178f309ff19e2b5a83d818b75bb81e0b5f1c5a91caabaa7db4cd038f034e3d432afd5a2fc93c870a3248849272ddd503ed6e6f82a429269e23cd880367be4a8ce2e4a6f17a3c43730adba55e8cda1bb70cbb1cc5d19ce92c2857ac7703cb34a9f74bb4ae2d05830a5fbf7343fdbffb0d68a795bdf5f8d2d8f63490e497038ae354bab87c0fd11999a59d3e8d6241cb607f6abe557cd1c4060f88a63948f90327fa977240af89a68089f07d306f9143392edb40b6a201669bf1878b62ca026a036c2e51a9ce3ad98640e13033d9cb0c7c9a927d9d36ca32cbe9b767343a281ab803833755f02be99fca60d62fc4e23a1718b0c80ae98f7b22b0709e82356bf53bf60367c9d2cb69affe2fa2defbe68b489b862dced45fcd20eb2ee481d4ead91041a403d076a54268745b9160dc48085dcc5a7b38428b315cd8df59c79555e57d6f7ccf035513044997c05ced694545ec874247c50ae02bd3fd208e1ebe8e79230b4f7f2403218959856e88a9e4c814c5555eeef3cfa528ad9b9e7eedbe11ca2e50c140cda803b959f69e8c34b163e25088aa36c0e10d442167807a9e3b2b86e173636392b8e9036a788c41f093760151d331b0ffe50871a0876c5f9e8ce2bd94413e6a6e01eb2b03b5e72a75a977da8a524447d8b218b027435354ce66a2e8f8e7770dd5e387112103e2273c7d81679b3364bc1660016068e2bbf4a6a1681fabbf386fe3f70559ced203c96ff001d3a1ffe512091104c86c041abb844953121d68ee7956925eab8e7cd6035ecabfebbf59c4c6e4b0ab387b1433a5fe81a5303d0c9f5cef2b566fca08acd0034c730cab18af347532480be04f798ef9cd0f6875b9c3e8738cdd8693eaec4a5f03cdd4150da4cbcbb69c2d9eb014d571c197af0bbf53cbf5844166e5be90fc000903d09b08e1428b308969db6c365162c44fa2d97267119487c1281b9346fb5b335c03915042198b47b86189188470ea9fb97d8238276a51d1546bb26fb9258408b7cb03ed0674ac50527fc5cd658c2a4320153b25c6f3e2c9fa8bfbe5cc593bcd50862c03fdcdf1e58dbb4de72dee93f3bdd4d2a64ca68f4dc2025c86fcfd22d25ddbf71d030c193043da54bfed50fd228cc2aa677ea430490646df0ecbda36e2cfcdbe45040309c14b21cca7e3fe72330c00eb7c768fc8fb2c172998160736762c7a05c5daab032d35505615e8ddcd2173330e189b1d6c320dbb63bda4cfefb6cda4f950c8e8ad036a9a2849a23aa476056be8f706f197d386f573928714bea74cf7c814bee5b5b803fa17e617082b722f5be6e092d502228bca4fd39ff7689edddc4b8aadd595566503e173ac6b3e9f00959fa852ab5b88f656e6dbf406b8bf3f63f43a448a0554402803a498672a317ea5a8db0ceb8a86d2ce97fe33066964ba0f9fb4e6b98ec65117e203f2818147de576d270dfe3ce89853906dc6fa50931a0801565754d6fdc18a857603d443253a663b73cb78ba432c4170f74f3cd78e5a6f0c44339ca8778019705b29031244033f6927b137a2c24103da3efb798642682399a444720d5e72b7be134b0b034f175bc7cc2e9a30d3a18bf2807315fb7e4a63a62dbc634dbecd8b59a3a8c39205581e0325ce24731ac6aa390bac983d3b01e4f76148d8c66a6a10c94f77512df0040103a31b57ff1db0f1469385f7004dda4f85d7ccb1263fdfae6d0058443d51de28340372b807f954d3c0bdc9567e0b693c486c906a59426a56e3d1cc1dd8674c36986703654b9f3195e6503c22fe76e534510c8929081b92162592b99c03c5bd459769a405581e03fa063e3a7c22058859651a75c00ee0bd0ab6e30c9dbaa076d573a6a7c00c0145174876e80003dba72517a3246071b713c36355a8d40f6df800c01e68320d52a15ca41e2ccbf0038808284468c16fa59327764e447f3d9f735affdd7db8accd0ef62fdaf7f459da05581e035603fb9a1b8fb41b57761423ddeb4b6480c892f98d136a2e236581994007011bffffffffffffffff05581e030eb00bf5954d1a3f32bf909dd51b5da875f87815ac2c725b36ceb1e1d00c1942474813ef3edf5f9e65d203716563e23018bec37b18618fd6827598f57739d61bad5608f847a411ccc9861e021975c10219ffff039a6fc799ff8b8e7d1497c8faf39c6d2a7131cd1132a3bc85c1159b6f9bd68fd70219ffff03d801162037e52ec3f81b5fb8033291eea677c98765f1fe32975b06021fa4ccf9036605263b6d014cc10ceee4f77006f60e6bc09045b83eafb2ba52d9719d69924703077a12dd1a50d44d8afb390097e5bbb0cddc237dc46eb96f45792332d367a3d603efc43e16efd2db991b4b19b557524fe020891b78b65fa1fa9d5203d950b93a4203f8aa4ec988fc446c3f68ee62b1f61dd6af21476dbaf2d7df0d117ffeb11c1195030c6038c45d018a6ccfced62920942b1be26affd2aac0d80176939343ae6188fa03dd9e24734acc0fd2c42846bf3aa0cd9a405d6fc3a9c044009a5bb81fc1f143c00219ffff0327b91ca1618e00afd4111a81b536ce36b5638fd3885db61b71d432acd9df28140388b42c470faa2582f6f44e3434dfa07aba7256297c344fc6932451de4ea1374003ace158617a3f099d63eeaead4410c74425a7e0db8483df19c46af081075f391a0219ffff036144bc6f1d4ef3e3eb2b71c76ccc1a3aee20e1c4fa3bf469e49bb3f605605f83033ce78f92d25643b9cd13e4149a62851934548cf36def5036900b4c5749fafcdb035fa385392e9aa0f7b124eadd94395610f9803f4b5012672115565d6d23120629039f302c809a9468547e7e3f14803075cad0bf83040cc29fdbbe23075cdf51e99c034f4817969b4b14f32f49f4a9a1cb5c7e20c5d7e30752958b99c02432c207009003a7afabd88e4c65677eb214a5c03271189d9ae34ed4be00ab8f155799e33965f9030f2744dc52f48ddd9e5290111af13d42e94c51260cc1a85079dafcd3ebc3f95e0343b0dd94fcf0b1655aebdb30ea6d393e26abf892c17ed67af52fa2e696c4a7f903e18908be51c0c9b2b9f68eb110c543696f918eaeabea826f0d7503c53f3988460399c98c76c76d0e06881291669623d0e1552958011af27945ce327da35bae129b030527f1f09188ff032ec4b13d8c65c173f2432de244c9455c55b0f9a26bf694ea03a66756c3eb0d4c5e34d9bf18aa5648144df47fb2d967905c9b18dd4b4ec4a9a6035021c0d579175306be7c6086161c4ba395759489e77ae6d9c9e78dbff540a3b803f8c851b526ded0f76898e8c56144e72fbfc86638bb0134553c7cecc2d5eefed603802fbf3af78ba8228c7d6e6b61ed1b2f34bd02fea14d45568ea4f1b575df7d4803a23164725599dbae4e45e61fcb47fc10bac59593d36a68bbba05a094e6dd2eb003b703afb2fd70cc7b5de24f0aab45ffbd423e21910dabe5efa2b280ad5bace0cd03a17624257ef96af25b1bc87ef55fc0d186540f786ba60bf1459a0c7ffcf252c10391d8b9dad1e22e0b0aa5c40a5b0c900c3c3419a251788d4b98728e6a113f46a003b2ec7d9527c30ed1942124eac5a2362a6b679b0180715e1c6a9f683732256ffc03dcdc7bc78c397eeb6675aea0a752cbc63714a5bc5988bf53f1d9de8599645a0d036c970467e2c3d4fb6d9b4047ed6a0ef590d865e0fc169e55ceb03a9aaa5369c903c28b69a5608c0081817219d5c2350c73f8b60e20e14a439db47305d835c830a503d57cc8a9a43636b0bc147e56b7893d800d1502b130fedfb99e96fd990777753803e6234a68c998cbcec515924f293dfdd58f4cb1bf248bab5d144a63c23d2aa9d303dea8f65bd83f4c52e4f9325a1818bd1124cc7eb6cecccb650be0f1fa4540e58c03eb62bfb0935a2b196fd31636ab0252cc5ff6b23844d40923b2684324c6c9b27f03a90d107ed1268dcab1a4721f4054b6a6e5b519d1570ff4331b44992807e520ac03b5e4a6620231867ebf2e3abdf3089d6701a787b84a0675748b8b70f7e4e3297903e8df3ec6bf8e00405cc30800728606c62404feeedef8ee387acbb89ec5430e6a03b76d78a9c2db8dc9a31d6f2ef1ca5ef7e741a3b4d03b8f24f936a992641c53c70374162728c3702ca65aead71999142f5893d299c924d3b25e3106949018e05414034f0b914b1d568f338fa6307a8784e82369623ad745c6476e919749c76ba4dd8a03e9b697b046b66cfe1eed71fc4f3793ea297ff3d5683dcc9d46f35b1a683b4e4e05581e0341cd51d2c9253d6048d895e40104de8cf5bef45f271d5f6e74272433f0040305581e036f99ee6ab1c093db016bc4018636f06984c8667ba2b4ddcbd83ee612300401035dc35c1ea2d14b3a8723d4b42be7fc566f81be1cd1058d5c81c50eeb7ae538bf03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03d5a3f1ed735d5c1c9ffc7ea606a676702d8809008c7039360d6dee1f7007011bffffffffffffffff05581e0379cbea9cacd5d5a113eaae5670085235fbe7dbfb4f1bd1e78ed9f3f6a00c0146eeb9788b2b0005581e0363bee58480ca4e10b9cfabb31d55c534205a042fade85707adceba7ab00403038694d5ecf3af3516884ed66b5d2bdac016c552f2a900af7583f98f32f0089b190355b883c3f6b909c01b2c55f24de2de701e13904e805187f3b776c3ba174d8e1405581e035a21fb7194a714971dd3f5ac60d317ba28783bacb21532e1277c3234c00c191c894901516acc47a329cfa1031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e036dd970a2240d046b1de3d2f221881cfc01f0a24ceca02527b63767d81007011bffffffffffffffff0219d6e9039c09c646fe129fd201066eb51e88891f04d39b66cc6e9a3619f6a6ed380fbc3a03b50b9a295847bcae11cec432148919a5a062a530e02c61792edafe86b978031603ed83c8a0414bfade49be8e8e5c23ebda7aa11104c1107b18f8dc1eb79b6a9947038094027b62818ed49ec237f2aae75a8b24884c78a08fda492a5be013b20b2ad50361201422238d1a6fa1fc9d8d56cab57835fc8cc32e13699c88e0e3a66fbc810e0318cbc4c023411d395c499007b2325d7cac3aecd9104d0a8c7a289609a64b48e70326a90d1b511dc78f9883c500643d22bfe0344140c6df84017a6cb3cd96d4c7060219ffff0385a75871940b461f05f706492ccc2b1d9b1834ff7cd723b6311640d867879bff0219ffff03f103f62dca3c818d63c56a8b94cf9bce9fe8c7756aff4bf95b5ed2d0158a720003642bcd332e157a56b8e91928fbe75b3a7de6f77c6b0a40a2213bbe01d76743ed03432d4d184453476a1f3613ff4a5ee28c571558a7f4d111cfdcbd6dabc7c4a7a90328b338b6053de9e9231407d9887f1e1aaa0533e7cef168456c05048029fd2a450219ffff030406da9d7dde469eecf87d9ba332c93efff860773a37410f26271bfe10cc4ba7032b4f272c813e5e892a46915d3d4860ab761a905b150f47823732906549dbcdbb038bf70d9823c7342704d79a8dfe3d5c09a3693bcb9373a4499b8f0836ba8d7903036f6717e15c07bb634fc74c677157c244a98ad48c8e5fb27a492d3a6850f1497903bb373b7fb90ad2e01c4f8d99738f1f3c2abe1a0d463aa45e4ea416a695a68d8f03ca0bbd129e2aab77acbd6c127c00d07c2a445ebbb338c9848710431c932f69d703255fc5b804b8be72c31cf610c67a6634f6f822d9002cff225cdb9473906459d1031b01055e464542e819dbca26da2ef4dd836dbfd043e8afab578cd0a62233968803093deafa9515b6cd01eda6c8ad630dea4b8469e0d8de66148c97493534244cd003fa8d04505162db19ba7c8079746dba870ee5bba23552cb57acb03b1c3b1fb1b50301ff998fd776f16e620fe7486d7ac1386d205c914518cf70ec8165025601606503c51257c8c38ad0bb7a8b7a730ad9f218baaddf0f704f5e921cc60aa706f1ac6803e9d728124a331089b5c680958b0e4b639a0e6d2cd966185bbf35ad412af4843e03d00b3f228a269f25e9abaa8e2dba94204c79b0fd93c4b850d7b4fe9687e19afb034ecdb63323e32fbe16429896f0773ac7b3781e5f4d522fa981a49074fffc9b7b0305187e71b01e459fe9ade455a1978f87dc57dd451c191da1d0c4f47c10e95b1e037a9360d9ea2f52029cdaa43061a52fa56bfddfb13724dd10ff9cc1a2e993307f032904e33afd9ba52924635290e39cc9adf5c81e5e674f12efd47066f80796bd1003a10a58837eaf59386c82de76ac425c411563d9d6505b8d00046fff2f2ac05ec403d3f6da23d3ca3a4214268b1ae522f1977bfcd3d79d6e3096e97d964a80b0e13e03b99e6077232cea9bcda26bd5fd2f0a2889d5cad2545c69062139b85484ef43320382cc1ebd6942983f742c5d97d1d2149b2964440220223d2d59503ae5817f2bdf03847a08800aa1b51dfba10e2ee6d6a43db6a51caa3d4a58025d4bed3de31ba37d03cf81aee357b724dd9f42dcb40aca4e1749796f77c2e743bd06e5dde057719fcd03d63d3156ec08b9863954ecce3566774dd14db53921f1d7b30b0c88863352d19d032e3dd22643cd154a030130d7a666ae9912fc99cdb439647b94262af991620ae8030b20e05beb5c2baec061b84471cec7a269bbf6850fcb763ffedad62502d55ce203e0897b18b97bd3e2fe21224590699319fe142e9062a94871a83066926a60818e03b8948db4baa2522a0823fe0e3bc18e7e545efc8f38322784a6f13f41c1d0d63503ee2cfdcf035f4eaa882e41577af40d005bdbcad645e8203817b22d9632a235180370fa06e12092dcc59dd9b81ded3f9cb8782e48e75067b33c04558c0605baaf6903f0b332bc44312957c41e1c20a16725fe869fe75441fd6ffd6bd0e13f2703d1ea0388f6c90814631203ebcd879b9b2a01f894d317d77528d0a411dcdc9664a288fb05581e039df937eec9918c53a1478bb0fc2e3605809df17c058bfbcc2fe1dbb8f007011bffffffffffffffff05581e03b771eb9c85fed929365cc5da398ee1871a1457562a3031455ec5ea27a00c014716bd762cc330540320b254de6c2de83c0b90eeafb161663d5a1f033e01f27c5f1d5d704256abb2ef03b8035ef72ed4a07a049656f8b8f99974e3de6a7f1d3094331165f04882e1234105581e03e16ac55163925db224b2d8989a230c789b028c2ddbb69751588e054b5007011bffffffffffffffff05581d02df219030ac2d05f88107fb4a692c475699e0236196fe769ea320af100c01470ee42c8f2b8fbe031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581d02ee26dcb23dcb024783baf31b43e98726c72a10d5bba69da62f87b63407011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02614e68778733d4e9b4c24b12ae61ecf9c20e7f542da180245e5828d007011bffffffffffffffff0219085005581e0340ee7c313525af62d449ad4d966d54d2e6cdcb8d31f52b925ce9567ec00c034702ae4f4b958d2e05581e03835e48d90fe33a30d6546faf8239dacd367dcadef11a0c0296d9d828c00c03478cdedda7243cd605581e03430b6a7fc89806bd1902aabb56672cad29f05d6b42e4d85afc90a85b800c0246a14a2fb4580005581e031591c14b24189a99b01d2b65f8ccd7777fb85b9e83f343e15dbcf6e3d00c17470b133efd28640003fdb4ce00a544852448ae70af77747118e2325a6fd6ca7802fc22e6ff380470bb0399e58175ce2d88ce8200430a02b06b71edb23d03fa63800f93678ffa8d9f563005581e032a43283541578b7d101ad6001aa3251ca96ec44cbc39f6a8d457f453a008470fc87766adf60003e6f28e414bec3bf866bf532482c531efa88c87aedd0c2df8a737c09cfb748f3b02197eaf03778b197ef339558897b15f53ce5895e9b484de88e5d86182f07ab93447d82e1c03a94be5de0769f03f7e108366d14bf3f5b7d5143b9d6724981fb65e38aac96e84034e8adbdc150973f4facec907791bc11dd4e65e9704724968f1183071b2e9c3df0219ffff03346da114bff46155ec6e369610ab7814fd1f7bf2fc1503dc8715330867a571f703a69d2ba5962a121b81fe99ac65bbee66a0912270f647a1b94495da6e901316d803ff53e1674c9d53879e1211737353612e32d418600a0c60ddba44626a58cf34bf03efc53cbf24d403ec70e273afa088ae80598e4c86aecc662afd2e058458ff6835037d771c78d66c5aa73e1e2ad4309671d60fadde9178f9e558c6fee457ec026238037498356442f31d369bf20cb71c350cf84bc5add4c8f8fcf8bedc5df45cf7783003be897e6fa469c010f3953b73774d30a90d1f17651ebe0888dd433e3fefb57693037e108ffdb1e10de849615b6a32154ad58cfa57c55e9e5a7b8fcf2809612d63cf030dd7a3f9c0e12e56e29fafdb7d36c52633a25b04c92b1258211032a0262e78a103b982d3023b30280191669d39e16cdcf2ff57e5fca9447914a0e685991f0edda203e02a4d2301480a6e15f25d2eb6f4ad84a5880223091bdf3c00992fcb7f0e9cd4031768433d01b7bdbe74147853dcc47ed1c0c1e3a15eff459fb2a575ec9efc9f870350b35a6e9bee4e0254ae8963d5437369d09f4bf89541e97ef34974f0a6cc28110219ffff0219ffff03a1074f2ac3caef1c638b05785370e415f73d1f716d0506032b4943eb8421443403ac6091c5a88621cc8e0e4c279c261c5ab9c1eefa17fbff6c38133cffb2d1e5d603b35e0647b6e6014ef4e92038442312764f6311c1a4a9752fa233da57bd611de5037cc834671e601e393b354b791d032da8b3cd988950492b0bb6e7a3c73450def7031011d48f44ad91cedcc6a75625f17a708e743e05284815a73128055bb6be340a03233251d9b46d849a0cb1e05fe5f5b4ced54c984e532715e6de4ed64478e90c7203318e67a351813f7e7135a411de9abafb166e41fc5ba02272fa2535bcd3f4a5eb03ac2e1cf29cc756a3a7d24fc10a5103053ce6d337d487a572c19ba0d5f6c7449203d82ebdf3e095d25a56ff1c62594ecb269a183cb9ac62f2f525aaf6ce96254649031c4073c41c3157403f410d66882c5fa07ef61d4c3791b7a3ad5a7e33c15d75b803815d27ebe0b87f38e58af45fcef04d426845baf6e4eb977ed846591948f6c6db03120e4916c406a62aa63a4812975df4e74e58a5ed01db70dd9f591dffee443175039bd9ee8d3dda1575e9e1d26144204d23de3934e2f3cb766350bc73e5cc5b3eee03f65d3986be5ea3c9055dbc37566b0f1b5bf96e68ed3846ebf7565de3a4dd138e03080db7a1d077b5f0c2c5e4595b2db1d37bd2af92f909bdb6d2633d6e034a389e033b36afca466de12e48cbc8ec343b84a6b1120073c667a47d25265081c7fdc00a03e9759f53ab51a72006b709cc2e501ad377f05436ac9c8fe6d4952ab62c9b232a032302cbc475829b72e20ee378a310676fa40ac0f64eb323f7567fb8dd85a5e3c4037f0e056ebe925e57f1b0ee0ed8ebb7eba3ebe7d064d3c77e23c58648905b771e03dfb70ae729969fa6a1b4fdcddb2fb5dfa563c1b72c72ee5bdefd4e36969d4d6d031a3b15b993fb1fa29e8bde27634f026f635d163f1d9ff713d7cde1144b0bd38703999dcabc43c0de01cece944d5e6be6de58c11062278a62ce03b793fbce61f68e03b7814d783146a24a3902590b0cbf86580c8c3415c5e3b51ed3e3f367b79b42fa0395e965aec9b7315fa0bff87bbbe3ea935fee552b9b5b5622ddddd9d74e7ad1ef038d4ce82bc1523221de499cecb1ac8542c2e510df26534e860ea02ed9e73b20bb03d42f71e877c174fc500e6f94dd6420fc3504b34a46b3fa6339a8d67fb823663c0323147e2b2c89c1a036018045e7c0fec3f5d3b15228296108edb3b7e776911cdb037d2804e61fe9c0b9034a8cf1f32ca5818ff6daea6ff66106a75b9613ede965f303a503714879e4d18b04b9059c41d7a87da03225d2e7a6f8eca30d4fa81501febc03679eed8d9360ea807583a5927105558d916b64456e8e268ccf72f645c7279213045936756080604052600436106100c75760003560e01c80638182b61f116100745780639f1ec78b1161004e5780639f1ec78b146101cb578063ce5494bb146101e0578063f028e9be1461020d576100c7565b80638182b61f1461018557806387c96419146101985780638aa6539b146101b8576100c7565b80634d54cdb6116100a55780634d54cdb61461012c57806356ce180a146101415780636ae4b4f714610163576100c7565b8063031b905c146100cc578063287b071b146100f7578063415565b014610119575b600080fd5b3480156100d857600080fd5b506100e1610222565b6040516100ee919061288a565b60405180910390f35b34801561010357600080fd5b5061010c610246565b6040516100ee9190612511565b6100e16101273660046122df565b610373565b34801561013857600080fd5b5061010c61041c565b34801561014d57600080fd5b5061016161015c3660046121f4565b610445565b005b34801561016f57600080fd5b5061017861057c565b6040516100ee9190612774565b6100e16101933660046122df565b6105b5565b3480156101a457600080fd5b506101616101b33660046121f4565b6105c4565b6100e16101c6366004612353565b6106f0565b3480156101d757600080fd5b5061010c610716565b3480156101ec57600080fd5b506102006101fb3660046121f4565b61073f565b6040516100ee91906126cf565b34801561021957600080fd5b5061010c610a33565b7f000000000000000000000000000000000000000000000001000000040000000081565b6000803073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561028f57600080fd5b505afa1580156102a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c79190612210565b90503373ffffffffffffffffffffffffffffffffffffffff8216146102f8576102f86102f33383610a59565b610b15565b5060405161030590612033565b604051809103906000f080158015610321573d6000803e3d6000fd5b5090508061032d610b1d565b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905590565b60006104126040518061010001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020016000151581526020013373ffffffffffffffffffffffffffffffffffffffff16815250610b2a565b9695505050505050565b6000610426610b1d565b6001015473ffffffffffffffffffffffffffffffffffffffff16905090565b60003073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561048d57600080fd5b505afa1580156104a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c59190612210565b90503373ffffffffffffffffffffffffffffffffffffffff8216146104f1576104f16102f33383610a59565b50806104fb610b1d565b60020180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040517ff5550c5eea19b48ac6eb5f03abdc4f59c0a60697abb3d973cd68669703b5c8b990610571908390612511565b60405180910390a150565b6040518060400160405280600e81526020017f5472616e73666f726d455243323000000000000000000000000000000000000081525081565b60006104128686868686610373565b60003073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561060c57600080fd5b505afa158015610620573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106449190612210565b90503373ffffffffffffffffffffffffffffffffffffffff821614610670576106706102f33383610a59565b508061067a610b1d565b60010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556040517ffd45604abad79c16e23348a137ed8292661be1b8eba6e4806ebed6833b1c046a90610571908390612511565b6000333014610705576107056102f333610d5e565b61070e82610b2a565b90505b919050565b6000610720610b1d565b6002015473ffffffffffffffffffffffffffffffffffffffff16905090565b600061076a7f4d54cdb600000000000000000000000000000000000000000000000000000000610e16565b6107937f287b071b00000000000000000000000000000000000000000000000000000000610e16565b6107bc7ff028e9be00000000000000000000000000000000000000000000000000000000610e16565b6107e57f87c9641900000000000000000000000000000000000000000000000000000000610e16565b61080e7f56ce180a00000000000000000000000000000000000000000000000000000000610e16565b6108377f9f1ec78b00000000000000000000000000000000000000000000000000000000610e16565b6108607f8182b61f00000000000000000000000000000000000000000000000000000000610e16565b6108897f8aa6539b00000000000000000000000000000000000000000000000000000000610e16565b600073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1663f028e9be6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e757600080fd5b505afa1580156108fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091f9190612210565b73ffffffffffffffffffffffffffffffffffffffff1614156109bd573073ffffffffffffffffffffffffffffffffffffffff1663287b071b6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561098357600080fd5b505af1158015610997573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bb9190612210565b505b816109c6610b1d565b60010180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055507f2c64c5ef00000000000000000000000000000000000000000000000000000000919050565b6000610a3d610b1d565b5473ffffffffffffffffffffffffffffffffffffffff16905090565b60607f1de45ad18e8a4484220a3ca14f4d977641addbaba5a344b1384dc2aa78a2e34d8383604051602401610a8f929190612603565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290505b92915050565b805160208201fd5b600080610b0f6004610ea9565b60008160c00151158015610b6157507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8260600151145b15610b9b57610b738260200151610ec4565b15610b8357346060830152610b9b565b610b9582602001518360000151610ef6565b60608301525b610ba3612040565b610bab610a33565b73ffffffffffffffffffffffffffffffffffffffff168152610bcb61041c565b73ffffffffffffffffffffffffffffffffffffffff166020820152604083015160e0840151610bfa919061102f565b60408201528051610c0c9084906110ff565b60005b8360a0015151811015610c5357610c4b82600001518560a001518381518110610c3457fe5b602002602001015184602001518760e001516111ca565b600101610c0f565b50610c6b836040015182600001518560e001516113ec565b9150610c7f83604001518460e0015161102f565b6060820181905260408201511115610cac57610cac6102f3846040015183606001518460400151036116a6565b610cd082610ccb836040015184606001516116dc90919063ffffffff16565b6116fb565b91508260800151821015610cf457610cf46102f38460400151848660800151611711565b826000015173ffffffffffffffffffffffffffffffffffffffff167f0f6672f78a59ba8e5e5b5d38df3ebc67f3c792e2c9259b8d97d7f00dd78ba1b384602001518560400151866060015186604051610d50949392919061262a565b60405180910390a250919050565b60607ff0ec779b0bcda6d84abf99ee2c67647d1100ebbb553a9c2d1c2ba1579592832c82604051602401610d929190612511565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b6040517f6eb224cb0000000000000000000000000000000000000000000000000000000081523090636eb224cb90610e749084907f00000000000000000000000044a6999ec971cfca458aff25a808f272f6d492a2906004016126fc565b600060405180830381600087803b158015610e8e57600080fd5b505af1158015610ea2573d6000803e3d6000fd5b5050505050565b60006080826008811115610eb957fe5b600101901b92915050565b73ffffffffffffffffffffffffffffffffffffffff811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b60006110288373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84306040518363ffffffff1660e01b8152600401610f36929190612603565b60206040518083038186803b158015610f4e57600080fd5b505afa158015610f62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f869190612430565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616906370a0823190610fd8908790600401612511565b60206040518083038186803b158015610ff057600080fd5b505afa158015611004573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ccb9190612430565b9392505050565b600061103a83610ec4565b1561105d575073ffffffffffffffffffffffffffffffffffffffff811631610b0f565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906370a08231906110af908590600401612511565b60206040518083038186803b1580156110c757600080fd5b505afa1580156110db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110289190612430565b61110c8260200151610ec4565b801561111b5750816060015134105b15611131576111316102f33484606001516117cf565b341561117b5760405173ffffffffffffffffffffffffffffffffffffffff8216903480156108fc02916000818181858888f19350505050158015611179573d6000803e3d6000fd5b505b6111888260200151610ec4565b6111c6578160c00151156111ae576111a98260200151828460600151611805565b6111c6565b6111c6826020015183600001518385606001516118df565b5050565b60006111da8385600001516119de565b905060608573ffffffffffffffffffffffffffffffffffffffff1663b68df16d8363832b24bb60e01b60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1681526020018a6020015181525060405160240161125e9190612841565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b90921682526112ef9291600401612532565b600060405180830381600087803b15801561130957600080fd5b505af115801561131d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611363919081019061226c565b9050805160201415806113cd575080517f13c9929e00000000000000000000000000000000000000000000000000000000906113a8908301602090810190840161222c565b7fffffffff000000000000000000000000000000000000000000000000000000001614155b156113e4576113e46102f383876020015184611a4d565b505050505050565b60006113f8848461102f565b905061140384610ec4565b156114d6576040517f54132d7800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906354132d789061145c90859085906004016125a8565b600060405180830381600087803b15801561147657600080fd5b505af115801561148a573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526114d0919081019061226c565b50611028565b60608373ffffffffffffffffffffffffffffffffffffffff166354132d788663a9059cbb60e01b86866040516024016115109291906125dd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b90921682526115a49291600090600401612569565b600060405180830381600087803b1580156115be57600080fd5b505af11580156115d2573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611618919081019061226c565b905080516000141561166c57843b80611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90612787565b60405180910390fd5b5061169e565b6020815110611695576000611682826000611a85565b9050806001146116665761166682610b15565b61169e81610b15565b509392505050565b60607f3ea25a3cae94e681748e39876b75ce362a9159c4618787bc1250e3d9f9c439108383604051602401610a8f9291906125dd565b6000828211156116f5576116f56102f360028585611a91565b50900390565b600081831061170a5781611028565b5090919050565b60607f990174d2378c7614a3e4722867cea0a803c0cc16ef92c4f5466ed5bc1d3496da848484604051602401611749939291906126a1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b60607f96660ab143a5c6a946233c268494b1026bfca53373c9715e0fe96b3c59c850448383604051602401610a8f929190612893565b73ffffffffffffffffffffffffffffffffffffffff8316301415611855576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d906127e4565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152816024820152602081604483600073ffffffffffffffffffffffffffffffffffffffff89165af13d600183511460208210151681151782169150816113e457806000843e8083fd5b73ffffffffffffffffffffffffffffffffffffffff841630141561192f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d906127e4565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff83166024820152816044820152602081606483600073ffffffffffffffffffffffffffffffffffffffff8a165af13d600183511460208210151681151782169150816119d557806000843e8083fd5b50505050505050565b600060606119eb83611ab0565b9050805160d50160f81b609460f81b8583604051602001611a0f9493929190612492565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120949350505050565b60607ff21e5cb42b911ca6b3898f8618760aa7d84fe5d43a7a5ad89aa791c66cafe41384848460405160240161174993929190612660565b60006110288383611fea565b606063e946c1bb60e01b84848460405160240161174993929190612744565b606063ffffffff8216611b225760408051600180825281830190925290602082018180368337019050509050608060f81b81600081518110611aee57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610711565b60808263ffffffff161015611b6157604080516001808252818301909252906020820181803683370190505090508160f81b81600081518110611aee57fe5b60ff8263ffffffff1611611be05760408051600280825281830190925290602082018180368337019050509050608160f81b81600081518110611ba057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508160f81b81600181518110611aee57fe5b61ffff8263ffffffff1611611cc65760408051600380825281830190925290602082018180368337019050509050608260f81b81600081518110611c2057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080517fff0000000000000000000000000000000000000000000000000000000000000060f084901b169082906001908110611c8657fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508160f81b81600281518110611aee57fe5b62ffffff8263ffffffff1611611e135760408051600480825281830190925290602082018180368337019050509050608360f81b81600081518110611d0757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080517fff0000000000000000000000000000000000000000000000000000000000000060e884901b169082906001908110611d6d57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080517fff0000000000000000000000000000000000000000000000000000000000000060f084901b169082906002908110611dd357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508160f81b81600381518110611aee57fe5b60408051600580825281830190925290602082018180368337019050509050608460f81b81600081518110611e4457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080517fff0000000000000000000000000000000000000000000000000000000000000060e084901b169082906001908110611eaa57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080517fff0000000000000000000000000000000000000000000000000000000000000060e884901b169082906002908110611f1057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080517fff0000000000000000000000000000000000000000000000000000000000000060f084901b169082906003908110611f7657fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508160f81b81600481518110611fb657fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350919050565b6000816020018351101561200b5761200b6102f36005855185602001612014565b50016020015190565b6060632800659560e01b84848460405160240161174993929190612766565b610ce08061296083390190565b6040518060800160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b8035610b0f8161293a565b600082601f8301126120af578081fd5b813567ffffffffffffffff808211156120c6578283fd5b60206120d581828502016128a1565b838152935080840185820160005b8581101561217157813588016040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0838d0301121561212257600080fd5b61212b816128a1565b6121378c8885016121e0565b815290820135908782111561214b57600080fd5b6121598c888486010161218d565b818801528552505091830191908301906001016120e3565b50505050505092915050565b80358015158114610b0f57600080fd5b600082601f83011261219d578081fd5b81356121b06121ab826128c8565b6128a1565b91508082528360208285010111156121c757600080fd5b8060208401602084013760009082016020015292915050565b803563ffffffff81168114610b0f57600080fd5b600060208284031215612205578081fd5b81356110288161293a565b600060208284031215612221578081fd5b81516110288161293a565b60006020828403121561223d578081fd5b81517fffffffff0000000000000000000000000000000000000000000000000000000081168114611028578182fd5b60006020828403121561227d578081fd5b815167ffffffffffffffff811115612293578182fd5b8201601f810184136122a3578182fd5b80516122b16121ab826128c8565b8181528560208385010111156122c5578384fd5b6122d682602083016020860161290a565b95945050505050565b600080600080600060a086880312156122f6578081fd5b85356123018161293a565b945060208601356123118161293a565b93506040860135925060608601359150608086013567ffffffffffffffff81111561233a578182fd5b6123468882890161209f565b9150509295509295909350565b600060208284031215612364578081fd5b813567ffffffffffffffff8082111561237b578283fd5b8184019150610100808387031215612391578384fd5b61239a816128a1565b90506123a68684612094565b81526123b58660208501612094565b60208201526123c78660408501612094565b6040820152606083013560608201526080830135608082015260a0830135828111156123f1578485fd5b6123fd8782860161209f565b60a0830152506124108660c0850161217d565b60c08201526124228660e08501612094565b60e082015295945050505050565b600060208284031215612441578081fd5b5051919050565b6000815180845261246081602086016020860161290a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60007fff0000000000000000000000000000000000000000000000000000000000000080871683528086166001840152507fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b166002830152825161250181601685016020870161290a565b9190910160160195945050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff84168252604060208301526125616040830184612448565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff85168252606060208301526125986060830185612448565b9050826040830152949350505050565b73ffffffffffffffffffffffffffffffffffffffff929092168252606060208301819052600090830152604082015260800190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff94851681529290931660208301526040820152606081019190915260800190565b600073ffffffffffffffffffffffffffffffffffffffff851682526060602083015261268f6060830185612448565b82810360408401526104128185612448565b73ffffffffffffffffffffffffffffffffffffffff9390931683526020830191909152604082015260600190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b606081016004851061275257fe5b938152602081019290925260409091015290565b606081016008851061275257fe5b6000602082526110286020830184612448565b60208082526027908201527f696e76616c696420746f6b656e20616464726573732c20636f6e7461696e732060408201527f6e6f20636f646500000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f466978696e546f6b656e5370656e6465722f43414e4e4f545f494e564f4b455f60408201527f53454c4600000000000000000000000000000000000000000000000000000000606082015260800190565b60006020825273ffffffffffffffffffffffffffffffffffffffff8084511660208401528060208501511660408401525060408301516060808401526125616080840182612448565b90815260200190565b918252602082015260400190565b60405181810167ffffffffffffffff811182821017156128c057600080fd5b604052919050565b600067ffffffffffffffff8211156128de578081fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b8381101561292557818101518382015260200161290d565b83811115612934576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461295c57600080fd5b5056fe60a060405234801561001057600080fd5b5033606081901b608052610c9b6100456000398061027952806102a7528061039952806103d552806104035250610c9b6000f3fe6080604052600436106100745760003560e01c8063b68df16d1161004e578063b68df16d146100f8578063bc197c811461010b578063c0ee0b8a14610138578063f23a6e611461015a5761007b565b806301ffc9a71461008057806354132d78146100b65780638da5cb5b146100d65761007b565b3661007b57005b600080fd5b34801561008c57600080fd5b506100a061009b366004610a3a565b61017a565b6040516100ad9190610bf5565b60405180910390f35b6100c96100c4366004610851565b61025f565b6040516100ad9190610c2d565b3480156100e257600080fd5b506100eb610397565b6040516100ad9190610afa565b6100c96101063660046107fe565b6103bb565b34801561011757600080fd5b5061012b6101263660046108ab565b6104e8565b6040516100ad9190610c00565b34801561014457600080fd5b506101586101533660046109e0565b610515565b005b34801561016657600080fd5b5061012b610175366004610966565b61051b565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000148061020d57507fffffffff0000000000000000000000000000000000000000000000000000000082167f4e2312e000000000000000000000000000000000000000000000000000000000145b8061025957507fffffffff0000000000000000000000000000000000000000000000000000000082167fc0ee0b8a00000000000000000000000000000000000000000000000000000000145b92915050565b60603373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146102d0576102d06102cb337f0000000000000000000000000000000000000000000000000000000000000000610546565b6105e8565b60008573ffffffffffffffffffffffffffffffffffffffff168386866040516102fa929190610aea565b60006040518083038185875af1925050503d8060008114610337576040519150601f19603f3d011682016040523d82523d6000602084013e61033c565b606091505b50925090508061038e5761038e6102cb308888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a92508991506105f09050565b50949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60603373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610427576104276102cb337f0000000000000000000000000000000000000000000000000000000000000000610546565b60008473ffffffffffffffffffffffffffffffffffffffff168484604051610450929190610aea565b600060405180830381855af49150503d806000811461048b576040519150601f19603f3d011682016040523d82523d6000602084013e610490565b606091505b5092509050806104e0576104e06102cb308787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992506106b4915050565b509392505050565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b50505050565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6060631de45ad160e01b8383604051602401610563929190610b1b565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b805160208201fd5b60607f86945816f737646db7f2d6df01602a2212e8c75829f6940913724c13a83a8178868686868660405160240161062c959493929190610b98565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905095945050505050565b60607f61e5a7320b4cf56a2980a427f39e3071c967bf2f77fffcaae20e4467e160afcc858585856040516024016106ee9493929190610b42565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050949350505050565b60008083601f840112610786578182fd5b50813567ffffffffffffffff81111561079d578182fd5b60208301915083602080830285010111156107b757600080fd5b9250929050565b60008083601f8401126107cf578182fd5b50813567ffffffffffffffff8111156107e6578182fd5b6020830191508360208285010111156107b757600080fd5b600080600060408486031215610812578283fd5b833561081d81610c40565b9250602084013567ffffffffffffffff811115610838578283fd5b610844868287016107be565b9497909650939450505050565b60008060008060608587031215610866578081fd5b843561087181610c40565b9350602085013567ffffffffffffffff81111561088c578182fd5b610898878288016107be565b9598909750949560400135949350505050565b60008060008060008060008060a0898b0312156108c6578384fd5b88356108d181610c40565b975060208901356108e181610c40565b9650604089013567ffffffffffffffff808211156108fd578586fd5b6109098c838d01610775565b909850965060608b0135915080821115610921578586fd5b61092d8c838d01610775565b909650945060808b0135915080821115610945578384fd5b506109528b828c016107be565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561097e578182fd5b863561098981610c40565b9550602087013561099981610c40565b94506040870135935060608701359250608087013567ffffffffffffffff8111156109c2578283fd5b6109ce89828a016107be565b979a9699509497509295939492505050565b600080600080606085870312156109f5578384fd5b8435610a0081610c40565b935060208501359250604085013567ffffffffffffffff811115610a22578283fd5b610a2e878288016107be565b95989497509550505050565b600060208284031215610a4b578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610a7a578182fd5b9392505050565b60008151808452815b81811015610aa657602081850181015186830182015201610a8a565b81811115610ab75782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152610b7b6080830185610a81565b8281036060840152610b8d8185610a81565b979650505050505050565b600073ffffffffffffffffffffffffffffffffffffffff808816835280871660208401525060a06040830152610bd160a0830186610a81565b8460608401528281036080840152610be98185610a81565b98975050505050505050565b901515815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b600060208252610a7a6020830184610a81565b73ffffffffffffffffffffffffffffffffffffffff81168114610c6257600080fd5b5056fea26469706673582212206e34fed982e92340d8ca4a82cd48075fa0c4ff24ef55fd8b82e75b17f815921864736f6c634300060c0033a26469706673582212206b1cda9d010e6c8cee2b48531426ce46880b660a08510a246c459e15b354c5d264736f6c634300060c00330605581d0283a14a91e2fb21bd32bbabe28d976fa667999c35874c87434e09ee52070119367505581d0238834ac3f6975bc30386030b1d13bd34405836f11446f1134a76f1e60401021940200340e25cf4a0f4b7b8fa554b39ecb45573031b410e86dbbcc02d1d81c1c2530ce303593e05c98ec137be2464eeb5017f93de8aede7c6251bda153b95cc6ecb22bc580605581e03800d1896e0402dec63c1bfefa9526b99a56db34ec9f77bdead281a0ba007011bffffffffffffffff036030095029b6e6019b92fad3be96d279e1b8eea6cf6211f42328f12f0fff804e05581e034556ca3a202cfc49472c7c86303cd82672e3a64db742bb8820843d7cd0040705581e03a51352453d6907a3a3bcb89e0cb7fa09984671aa798302fc904bb433000402032b847b6d8a524e8a8085f28cba83c72a64802003cdaa4d8d88d6bb4cce4be2ce0219c683036f002088f28de0b921cc5e67b83d18e8f68e0aad28410c2b7c0b775d67cceb90032a3060f46252bbc7140a1aa3bf8df99e9fc60854c5b4d81da6d5a93427ce4d6f03658b9bc38246366f421395a9f54b6f017b1c465069445980a6315b05a5aca5420393cbdbb2f39486e66fdd2f17aff355447d4fbe82a25e4144b89ccab77042cd440315958a8a6e074d5cf51663c08c648a8df8eba04e7dc0b48ea119ed22299ba0cd03c25d5c83f2368dfed52ef73b2cb661fc8be080e3b15b334546e4e0fda3084d85037e98d2668c6d3ca387578616279d7b9262ed2a176f18cc4b9eb7cab41571c1730219ffff03698feb7f493cf6326b769541b6d28e3937d19f000f1b392922dae22597af74d203688b51c25a57015f6a89f723b813bc2473a440f909a9bef355ab779ed0c1bdcc03910bdea98c5ae06b2581876d12d3d98d3dc9724e51f6128680a32fd08bcd704603761dd36707fcf344dcb1b6af56ceb3f77963d4475582d00737afbace6f29cb580319424e638c2f325e28778e9d2c185c146daf44414b14c0c15d6b638b392e10af030d855da198a04cf3e5c39cbba57e1af7522f054f4605df0b3531c8005625c765036fcd7ae1fc8f9df664ab72400c0b99ed5dad6d0ad68ae89f9e7352ff88fa3b76032f5cddd61ed0566a4ff6a1fe9307008ac3040a8441fe183f1c12ef56af77c4b30392c895de3ac5da6707d29f82c7ca92aee7e3acd724c50107a2fde0a657cebefe03eaa89cb91e77e148306833a7e69c4e2c5a0a58073fbefc22ef76f8b8e6fbdc5a0219ffff03912b28d7835d067e36c7c5de8fa05c10173a00d7ed2782945f272a435da25e120219ffff03a93f2fb93d2eae5c696665264a025e13bebd2b063cfe2613ef03d723c7986f7a037521a57d4281ad4c8c35fe203d0143286d5ed6f20602d800eb14347e2eda9ed2031f2e0afe7904b1c5757175ddd9c3bf829544c07d186237946bba58e21981871303447734d206a1bee3b97264d16b86cea7d4c0e57cbe431125ce79d669c11cb53d032e553f113712eec174c3422114ab8bec971fb5fd46389d384b2ee2c2f50bcb5703636350adee3392edc604b821e4df3fc61268e7a0946234c180f3c08cbb78c5c0038013784ec1417eeee387db5259c2e73699b1afb95495052b3ebb3dff6c96d77903de64a2763cafc69f62b434f13c4df3dfe84bdb97811869b71cbd314ca081c2bf0366c7e0112c21acaa12e9c0f41cee9855ecbb47c89b6a7f89ce08e2cfc1b433b50371982d5d0038b6c17dcd3c842803b9a1f220e15a06b590b00e7ec66904b5c4c903fd34e30d526174cf5617fe60e04c98b16538926b39c33351733d6ecb95b832a8031f55c732817bdae6bf4a73ca0da3b45357912f34257950bde17a8b77d66395c5035ba31da4e7c06c08dbc6ebc04dd44e99c0b96291ff4fb27fb3733cae1d0b09a60389c09948fdf6898823340aa329fec56584f7758c7d323dfff13e0e4245cec9c903935b0568335d6e10dd127ccceab5225fad5a910a5dbed33cdd03c496dd59a85d035c794e773d9c78663edae8bb3d70b2350940a65eecf7624ff6ddac639a65ea16030aa2795fb97c35b9d278be8ce0b2032cff6a152ffffc6f107e48bd402fc2fb2a0345f1671823c79629302eb09a4f760844b9e66b50f46b9e4e9c928de630f6fc9603c6ab5111c5c9ac8c65cd5bf6b08c44435e4f427bc8976f3b25c71ed87e9573a103ed6aa412a29e115198aa3f90ad302f433a1d039415ab75b27d0b1420775862f703fdf39cb62b112b34bd5225098add50e33016992fdef169b99ec0c2e214ce5097032b9ff6e13ed69c08c7e7f77a214b50b42a7fa5327ecfe6f9b88cff18d82796c605581e03b455935b3e6abba2dc4129705c7b8c254a8d6a03c4434d2c7c496ce3e00c14476cb7cc6d24aeb505581e038072e0b020080bdeb0eae97a907570e6ebe856f794ea65a03586c2d1d0040403c40482ceba3f766f08e42d5a3731283c7727f2fc060fafbed7a0a5d6fa1e23e305581d02353598242369680c4c6f56ccd1a6692a0f7931ee25dc570249a3eb740c014705f4dd23c0671405581d0219b6087d027b94eab5c612dced9de83a93ac1606ec32d5ce4e0049750c0848245a33bd6a683a8d05581d029ab976c05e9af1c9fe71bd6ed21a33e8021e120bea916d80984342140c02463bda1e76a0000219250005581e039082c0a3edf6eebd4ce601d49a5203fd0672f09de70185d8933dfac4c00c014708ab6d9474559203b9e7073948607b14e77e947046a18a638c587cde09300ce8a06d3d7d7618e210035e47da647683026f05e353be59bfe1c97c12fad3bafeb629b92909937ad7408105581e03d37e182f93bfa2839cb875a41c73c50e996e79df4d243891fa8696a5a00c07465c0ea02da72005581e03fa61e66d146da3b471f7f1c644bb0ec7ad2c1275a98856a10f6e58ff9004010309c914494650acdb0d0d3dc36bfd03fa0f75948a300a6d25eb31b72712916d5d021957d60329561d4808670f6fd5e4e7afe25883dd52ad094f04dad57b625cb249a103f32f03d420de7a05272accb25dc76487b8c34c534f13a5a6982f9321c66ffaf1d0e8e90354988939819bba6003e02a4b5c9abd79c5275cc100835b1b5cf0722fe4b43f5f0307865130a181fa64f335e62241ef1f705014ef2fe6f4b9414ea8f82a5b6cfb91037d2ca26ad96ac3b476d272bb0c3682c8ff126cccfa5280f2b36c634233dbff5b0219ffff037983ab2cb7311124d94843f67b2d4d8f50b57a89e3b6354a8bd37825acd3a8d103cce2ad1fed6bb7b9296452bd0b6f39ccc277b153d39c86854ccdb3e38e97620d0390758adc84c5014f2f9f5f8befaf1f5b89ed35cb432b362c903068a9e709104b0303a59e0e0a36d85881938baddcdbc5cea5d0cd8e3c18267431c23849d4c1999d031ef45cdf1faba49f7fdc73b0f05ebbf1f058b13044c24af6e29f08590f3eb53303b6f2afa9a8dfe726b02ff55487dfe9bc09f19a2b09f5d65f23712838ed2e96a003d61c6be8bf0b3bd6625cbc648f7f89631837c05c6916bd0b00c7e49738978a8c039431af8d1e3e84ff8e92550cffceeebd36c0189289fc8294c5f6c185c726f9b90219ffff03dc88252a5117fbef65672c3f27fbe6bd1d5a117a5c6ba52f6c439dc3e73cd0cb035ee50e5cbdca7ed27fbdd21b72d404d1e65423dae01e6a4247e9c5607e42617d03d4c546fa2673e86714dcba32bb79bd8d72e59b008cb7c8ee31b5272666a146c703bdb74d3330cf45341b1130aadae39423b0e0d6bf5ca057558d037fbaf29c57b1037fa4c2da613338322fa018c67a29de73dee2d96934bedc7fe8f6de716cf2ae6903e7cf1b3cb9018f487153ef2d9688536058a4e20587d5c8dd7362681854ee1d3103877a1b38fba5e9c58b4dc0ef18bf163dd59132000aaac1a892b71f8cf2365eea0374bef9ee8c702d18f4bb35175f39c95d25edbcbb1bc18b995fec417cea30036e03263d6040c3e552a463c9939ff00818f3bb43cd9df8afbffadd5bddbd62fdf08f0375f20be521273e474b2c0b4f625977050b10a9cd8ea37bf63dd39f06806a6fac0396e4768b08acd4cb43489ffc6608130deaf8b5958cdf53ace385fefc6d9707260313805e97946675f831ea47ed7dbdce74058e2ebe83e638c8a24976fb1185f2c70219ffff03fe9f18f1d0c2fed9bf0f1958ac688ce99a64abeb725c47c85b93045a0108758e03d3560ed439b8cfa3a7cc2ee0f18336bb7ecd74a6fc322dc232d04dbbcea33ab503fef4a2c9afa6eb78cb393195c075b20c058c1aecd1df23605edee998efc6df3803972da438a5a2cf8c6ccdf433108dcaeb2ab8f7e0259afce09c7f40ed39e31c000219ffff030d02b39bad1090687f3bdbf2d0224a9c51781583b543b0f8a8cd24c6f8947ba5033d8c24ea0641e5a9c407c7126262081bc21173ec9b00c51a75c52019a85c814b03a8a06d6cd4d40c577e4ed07ebf9eee7355ad3c9b858a95bff6ec02540ba72aa7035e015ce780549fe4c73d606e6a23b6e2e779950f6c611ccd25a8c257ffd518ef037e63e1893f583a50451a5cf96ac0cc120f0169a032c49de2d83551e9cd3f518603b5d7222c968082caf8e75babf34736a070bb2c9d9a97f70beb8b0eb9b89f92f503d7cc933ad8079883bc04d24098ee2cfffdbd191b6af3a57039ab299def5bdff703665e09c132da0ec4729ba8f9df1e5c9490d0e4eed02a067477c5c723e1e573b40382fd3233922e38fddf946df77eb20fd3db834905337e6f2eb94001cecc2d4d3603ea85e72f88a6d8a589ed7cb8065775fbac693ef33ad4260f0e23be0a3e558319033fdbc289d121c5b0842553a56552bb015988104c7956bc69df726c2a0b10858c034a50953e224f39b7880d396c96817f9e92762e2fa51074f1e9855ffd57b60cf9034812e16d6df1ebf24d495d26e3a34f84acdf4247f549606ae3f1cd3744b638ba0335d940bbe78d5528d75e64fcf37f8a22704a861f89d6c791d8b192813027992d03e9264f6ad51f1ec4b3daadd5667e1f80de4979cc80551a593bb180a4b1fa677b039557db38e212170efd2d3b0dd1e0cd45f786b70839452d621900c06ee49160740306f6031292a8a63608dec223fe32531f958a92ac36db423511ab00e1fa05324003e9b6a72919ab2a1abee0c8257d027a50275ebf0368c6fff7419df394fea9f36603a8c6b35bd77854ab3a97b0a0cb131df045a15b42939138429a7af2668784eaf60321054af79dc8b35919c69a0d7a18f967de096352937a6c2a03df205d8900af7a03e08623d7fd0049d63852e62bca2c1f7a9d9fa3f279f8dccff46f92c85f370ed903f0ddd7d58a6d31c0c4f093dad05a3e3e6d1f08cf93cee18eb24181d0032c236203695528afa2d48ee242b714bd3ffa247cadb2058ee5bfe5947790690404857b2f05581e03ca9d26f3d684f4bc9792a5ac9fd5c21d87031c2a8c8cb77c13cb4b5d800c1a0012406a495072d170b0e6265ed405581e03d33f129b231c19df816ccef9a08c5b4c40fd2d944ec1da4398f9f09b400c18bf4719b7bf5abd9e1805581e039816226e3aa2cacd1c31cb76734c382be1a3ba8d286a2b60e9d1efd8600c01460f761ef6100003f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139034679df709eb335a7df17aade4a65c3cc6c734dc107cdfd3d72ad68444dac4f4305581e03291a8561649c56fc3972c113b317d7dfaa534810b9b4b7e5335fc54b9007011bffffffffffffffff031758d067f776276a2e6fd24d9bc203d3560be591c8ba867ff58682df6589c8b105581e031394d3a6c920a9a234b79eb3616e498c3ae68999dbceb8418f70ab0d700c01470182924866be1405581e0366182c490d8b3d5bb24240032969e0ed576c16636d47e85572eaa847400c024701ff78b9380b9805581e031eceab7b1f924d2b70ee318e203db25c2ca208686955607480a0b278e00c01470190704e3bf60005581e0346657b067f22c8f052045ecb11019556f18ff7b88c2052842da57872f0040105581e03ba615d5872b8116b14a070dd3a289d6e3cad1bf2b151566364567b3fe00c014716773c37782c000219af69036ee5ccce3555db9d6b9a6c01a84e6d2e1bf4ca2b3a483f588f0303132e3e02250363234e11383145863a69396c31a69d519b3a97bd3a7ff305bb88424fe969c69b0322a864fe2f2fc0c0f9ba8688488d2271bf57497269be90e98edb896d723327890363dd9eb7b33e4e23759b6d8de7304e1c89c3971b316efd76f429acc4d08c91c803925aee8c81be65b726ae145dece95c8f31f8fe5451a532144a1cd25d99a9ceb20321ea4630c2e4e67b31ae35c2770b6fdd7bd1436d4f7b91240d3142895597daaf0219ffff03b3b42e842079059b40f7cbcebad9b3e76886587b7342ea47dff5f0b38904b78c0356f64f0243ea0bd5e6e9ee401b018c266593d62c6fe5fbba340c58889b84aeeb03e0e9f13ae36a6db108eed9b4a972fd346e11334cc1445970cf9110be66ef3328037ef2f2acfb12e7c3e2b6e6c8ffe5384d20f911f6308c9ddfc92050ef049b7b3b03b5403a79a88f4f8d34c5d071dd2933f8f2faca3ff79e6a454baedf6ca38e02c403ee2a7a9196960bb9f1529fba97686e8495046a85f6b248c9c844d1e6fcb29e5503dd9e332fb92968f6aeadbe10361c151c2280e3adcb20e01897e9c6506cd84f1b0326a2f591388594b63c4bf7bd2a0d224439a353d9e653a57abdaff42b166afb1e0219ffff03c32a7a27f8dbf104164f9224a4132f96cfda70bc6ad31f304889cc885fa257f70393929a62932d020dcef510c00b3786b11b2e847cdc99a92d21061eb7700b952c03846f470cd0df3022ef435048a235e6a88b5d3f5efbdcf793ea2a4c49b1566f0c03e165d311b50ad30e6191c8e71081b20fbad24605dd65d1755bb93aa4adc6a023035b43b0891def0bddeb53e68b9c335b2655e717005f6fe8edf9a7660e4b7fec6203951c353793e839dd0c5aa373dcdb917f13562b472db062bf8384b3470ee200e503ccfd67ed6806abcc636bd84bf1896936301c4baa6e25e2e7ca863f3c70cb8b57030afb1d05fcc912764e0beb79b51b15c78aaa24610166acb3d427439f51a0173903bdb777365f4d73e133020c72d5ccc7328f222570495aaadfc91f27c21c961e89035d295b4486ec651ec2a26af73410003e5a0b3dcc3cdf99095c15b23eee17638203580280952d9f0db2100bf7d702ff4559b136ae73e842ec743f1327446f6d1e3b03f00ad2ce716b439d493b2fdb037ca029cae5cba55885df5a62445fc3618032e4030447257042f392ba1a02fa7d8d01a50d41495f34ded0e50a2d0cc00306a0bf240219ffff03f60bc40bf52ae102ed228a98b70637701bcdc8d7240eb1e1190be2fdcada96930363b15126b618aa6c836813ef8aa481e0b10b4f39dc2a782188a46e1cbbaf1d150323660ac60f0c6359183c753f2db9c7eeba2ed6f4a11da82d39eba53c9bd5c780032d53616e1a4c336a9546341d46292bbe5e9e04ee3799ae8429af386b1c3a22b0038a210087c2553ce94fa7abe0a1ebf2e2b2dcf4bb2e7e0a1b91b9aca16c49af950380035b9daa73ca79574897cac39c4f5985e6fc099779d1019be76e340c0a0d7003e07c5dccfd2794b771defc90694001317e826a4faae4f420ec2f09d2a17b985f039a0f6ba7eb34991343f7a1f84ec3013b588fff3d569bf3a7adb71ef9fcb685d7034c0f40e3cbff73807b758ead44d1be9788bec81d35befe68a4d10bb7ccba5105032a79d2f57fafe69380ec5c87f9f9745974237a06c4695b887853c4bea05bea8303c578fc2ef2f324821ad0e48f7c770a271a14db592b4a3541dea740e44bb39569039ebab70e5b13c908f0220bf6ecba0921fa156b41d380966cbd47dc1db6e11e0903dc8e3dc339410f41552cf4b83b1b3592f3a1842ed1e73d649ef0a9a61a6fb4640310e8bcb239eb9233bc45ae98e2a93c38ef05a6c63df3b1608d79f4bc97858a6a0362119b98cc3550482d0ebfdb8387dd41d4ae5c19797d1211361ec01136140f6d03356f2b8bb2597bef47606b34448ada088b1fcc1acf07e025f9db4657b782dc8c0398b3306555e18a85ea24d69f16f423bdc9c9f4e11222e2b529225ea1b7a0ae670372270c76e87c97d48d348955880a201006ba656b22f117c9947c6702277ca79c039604f1c0f46e25b62e2686a6205b2643dc7c49a5bbc5d6165342b3af9f1fc6e4034f73778fa2efb226acf853c67c9d1526ab536d1289cf91433fdeee508eb0212903a6e5f57235eb985e7e76a587916e8d664dc6536e0b146e7536800178fb55fae70303ed3afe1f5868122ef34d374bdb41b440281332ef7a731bdd8cd28fdfc80771037c32e122f65fd6675120888f69d62bad0b1976237d8ec778ad6bd80c7afe90f403156a1199fd36fd75f709d4d113bab5329b4feb4ce6aac4d29dac8057cdbc7b9c05581e032489109bc8288c1dde8976869d96dc3850b749fc1b8390158da5d66de0040105581e03b43e86ea79142fd2cda2cba3be2c4688afd539b5992b61d442187b35900c0147016530ecbb63d0034701579a0cf7d5cdd08fee0515a45779771dc0fee621a385021f203224738bd303b85e15d9f3542f08b8eb554b6ed26d261439fd94423bd898eb301c9824bb9b2b05581e039904f44383bb1e44f677524bd2d6d0cc96af33771f90e53ef8bded6f60040105581e03924e7ab3041881455e3fc7006f111727bfc7f7bda9f626cf5efb504060040105581e03050ea6b1de87d497d6fa2188ab7824b742ed6ab463a89d2680a5615370040105581e038bc2148fd4ae6c3b4dd4da2502c4f5b934ed5e118e65bac028b6448ca0040204591d03608060405234801561001057600080fd5b50600436106101b95760003560e01c8063817b1cd2116100f9578063cd3daf9d11610097578063f2fde38b11610071578063f2fde38b1461041f578063f755d8c314610432578063fb75b2c71461043a578063fd934e7d1461045a57600080fd5b8063cd3daf9d146103fb578063de07060f14610403578063df136d651461041657600080fd5b8063a694fc3a116100d3578063a694fc3a146103b9578063c00007b0146103cc578063c8f33c91146103df578063cc600f91146103e857600080fd5b8063817b1cd21461036b5780638456cb59146103745780638da5cb5b1461037c57600080fd5b806337ba682d116101665780635997bb37116101405780635997bb37146102ff5780635c975abb14610326578063715018a61461035b57806380faa57d1461036357600080fd5b806337ba682d146102c85780633f4ba83a146102ef5780634e71d92d146102f757600080fd5b80631794bb3c116101975780631794bb3c1461028057806323095721146102955780632ace79d4146102a857600080fd5b80630700037d146101be5780630defc08a146101f157806316934fc414610236575b600080fd5b6101de6101cc366004611b5e565b60056020526000908152604090205481565b6040519081526020015b60405180910390f35b6001546102119073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101e8565b610265610244366004611b5e565b60066020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016101e8565b61029361028e366004611b7b565b610481565b005b6102936102a3366004611bbc565b610605565b6101de6102b6366004611b5e565b60076020526000908152604090205481565b6101de7f000000000000000000000000000000000000000000000000000000006838b57c81565b61029361085c565b61029361086e565b6101de7f0000000000000000000000000000000000000000000000005c69b87051b39f5d81565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1660405190151581526020016101e8565b610293610949565b6101de61095b565b6101de60045481565b6102936109b0565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005473ffffffffffffffffffffffffffffffffffffffff16610211565b6102936103c7366004611bbc565b6109c0565b6101de6103da366004611b5e565b610a88565b6101de60025481565b6102936103f6366004611b5e565b610b3a565b6101de610c23565b610293610411366004611b5e565b610ca3565b6101de60035481565b61029361042d366004611b5e565b610db7565b610293610e18565b6000546102119073ffffffffffffffffffffffffffffffffffffffff1681565b6102117f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad097881565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156104cc5750825b905060008267ffffffffffffffff1660011480156104e95750303b155b9050811580156104f7575080155b1561052e576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000166001178555831561058f5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b61059a888888610ecd565b83156105fb5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b61060d610ee5565b610615610f66565b8060000361064f576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33600090815260066020908152604080832081516060810183528154808252600183015494820185905260029092015492810192909252909290610694908390611c04565b9050826040015142106106c65750815181156106c6578184116106c0576106bb8483611c04565b6106c3565b60005b91505b8084111561070e576040517f5c7bcfbc000000000000000000000000000000000000000000000000000000008152336004820152602481018590526044015b60405180910390fd5b83600460008282546107209190611c04565b9091555050825184908490610736908390611c04565b9052506020838101838152336000818152600690935260409283902086518155915160018084019190915583870151600290930192909255905491517f0571c46c00000000000000000000000000000000000000000000000000000000815260048101919091526024810186905273ffffffffffffffffffffffffffffffffffffffff90911690630571c46c90604401600060405180830381600087803b1580156107e057600080fd5b505af11580156107f4573d6000803e3d6000fd5b50506040518681523392507f828764c21e74c28710e19919735825aba966621c95cbd913f8ed65a2d298f48c915060200160405180910390a250505061085960017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b50565b610864610fcf565b61086c61105d565b565b610876610ee5565b61087e610f66565b336000908152600660205260409020600201544210156108ca576040517f08c1743b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006108d46110fa565b60005490915061091f9073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad0978811691163384611194565b5061086c60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b610951610fcf565b61086c6000611223565b60007f000000000000000000000000000000000000000000000000000000006838b57c42106109a957507f000000000000000000000000000000000000000000000000000000006838b57c90565b425b905090565b6109b8610fcf565b61086c6112b9565b6109c8610ee5565b6109d0611332565b6109d8610f66565b80600003610a12576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610a203383600061138e565b604080518481526020810183905291925033917f1449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90910160405180910390a25061085960017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812054670de0b6b3a764000090610ac0610c23565b610aca9190611c04565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260066020526040902054610afa9190611c17565b610b049190611c2e565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260056020526040902054610b349190611c69565b92915050565b610b42610fcf565b60005473ffffffffffffffffffffffffffffffffffffffff808316911603610b96576040517f3b4be98100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f53a789b033e632f89772129774e70aa81a1a130a54c0297cdbb4585dfcfd9a7f91a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6000600454600003610c36575060035490565b600454670de0b6b3a76400007f0000000000000000000000000000000000000000000000005c69b87051b39f5d600254610c6e61095b565b610c789190611c04565b610c829190611c17565b610c8c9190611c17565b610c969190611c2e565b6003546109ab9190611c69565b610cab610fcf565b60015473ffffffffffffffffffffffffffffffffffffffff808316911603610cff576040517f3b4be98100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015460405173ffffffffffffffffffffffffffffffffffffffff8084169216907fad3cd485901e1b0268551d43ecc774ac4ba7c6bb6bb3617387659d73950ce85890600090a360015473ffffffffffffffffffffffffffffffffffffffff1615610d6e57610d6e6000611498565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617815561085990611498565b610dbf610fcf565b73ffffffffffffffffffffffffffffffffffffffff8116610e0f576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610705565b61085981611223565b610e20610ee5565b610e28611332565b610e30610f66565b6000610e3a6110fa565b6000805491925090610e649073ffffffffffffffffffffffffffffffffffffffff1683600161138e565b604080518481526020810183905291925033917fa217c421e0e9357b7b1815d752952b142ddc0e23f9f14ecb8233f8f83d563c4d910160405180910390a2505061086c60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b610ed5611521565b610ee0838383611588565b505050565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080547ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01610f60576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60029055565b610f6e610c23565b600355610f7961095b565b600255610f8533610a88565b33600090815260056020908152604080832093909355600354600790915291902055565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b3361100e7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461086c576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610705565b61106561167d565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a150565b33600090815260056020526040812054808203611143576040517f5aa9184d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360008181526005602052604080822091909155517fd8138f8a3f377c5259ca548e70e4c2de94f129f5a11036a15b69513cba2b426a906111879084815260200190565b60405180910390a2919050565b60405173ffffffffffffffffffffffffffffffffffffffff848116602483015283811660448301526064820183905261121d9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506116d8565b50505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6112c1611332565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258336110cf565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff161561086c576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082600460008282546113a29190611c69565b9091555050336000908152600660209081526040918290208251606081018452815480825260018301549382019390935260029091015492810192909252849082906113ef908390611c69565b905250821561140e57838160200181815161140a9190611c69565b9052505b61141b6276a70042611c69565b60408083019182523360009081526006602090815291902083518155908301516001820155905160029091015561148a7f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad097873ffffffffffffffffffffffffffffffffffffffff16863087611194565b6040015190505b9392505050565b6001546108599073ffffffffffffffffffffffffffffffffffffffff16826114c15760006114e3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad097816919061176e565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661086c576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611590611521565b61159983611846565b6115a1611857565b6115a9611867565b73ffffffffffffffffffffffffffffffffffffffff82166115f6576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611630576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556002819055610ee06112b9565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033005460ff1661086c576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006116fa73ffffffffffffffffffffffffffffffffffffffff841683611877565b9050805160001415801561171f57508080602001905181019061171d9190611c7c565b155b15610ee0576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610705565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790526117fa8482611885565b61121d5760405173ffffffffffffffffffffffffffffffffffffffff84811660248301526000604483015261183c91869182169063095ea7b3906064016111d6565b61121d84826116d8565b61184e611521565b61085981611947565b61185f611521565b61086c61194f565b61186f611521565b61086c6119a0565b6060611491838360006119a8565b60008060008473ffffffffffffffffffffffffffffffffffffffff16846040516118af9190611c9e565b6000604051808303816000865af19150503d80600081146118ec576040519150601f19603f3d011682016040523d82523d6000602084013e6118f1565b606091505b509150915081801561191b57508051158061191b57508080602001905181019061191b9190611c7c565b801561193e575060008573ffffffffffffffffffffffffffffffffffffffff163b115b95945050505050565b610dbf611521565b611957611521565b7fcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b610fa9611521565b6060814710156119e6576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610705565b6000808573ffffffffffffffffffffffffffffffffffffffff168486604051611a0f9190611c9e565b60006040518083038185875af1925050503d8060008114611a4c576040519150601f19603f3d011682016040523d82523d6000602084013e611a51565b606091505b5091509150611a61868383611a6b565b9695505050505050565b606082611a8057611a7b82611afa565b611491565b8151158015611aa4575073ffffffffffffffffffffffffffffffffffffffff84163b155b15611af3576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610705565b5080611491565b805115611b0a5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461085957600080fd5b600060208284031215611b7057600080fd5b813561149181611b3c565b600080600060608486031215611b9057600080fd5b8335611b9b81611b3c565b92506020840135611bab81611b3c565b929592945050506040919091013590565b600060208284031215611bce57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610b3457610b34611bd5565b8082028115828204841417610b3457610b34611bd5565b600082611c64577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610b3457610b34611bd5565b600060208284031215611c8e57600080fd5b8151801515811461149157600080fd5b6000825160005b81811015611cbf5760208186018101518583015201611ca5565b50600092019182525091905056fea2646970667358221220fadf360e16c8a6f5f8bfcb4ec6e4a747dc01edd82ba16f63fd85e31220d4870864736f6c634300081900330605581d02d4f1b798aeeaf063c964c1d48ba757d0c1f7d7c311d011f3106cc0770701191d0303ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d021380284a33bbba45a7098945969eb9157fd8f3fc0a419b0b133be3de07011bffffffffffffffff0219300002196e3d03d75d9d208c1d2fb6b8894a8e2d3cc59cc0f3a44eac0e3840c8b8283d48829a2803fc549e6d36969581e72a3aa5830a4d4eb4f9f3614e157c0bca4143b58b44ae8603e9a4bf4187db7ae6e56bc8f7701acfa6e332d208be269df74f803b7deccba7dd03f02ec2058ef7289acfba198ff824c446e706821d6ae888870967229886002bad03fbea3430b634fd3cbb13f11b0587ee26db3453cace96fcdfda585d606206574e0341d1fb783ea7f0c986e7f22b4cdb16de0247308233d2cb8f6d35fbe7cba50c3403aab2d5f86a29ad3736295796aede73b8c9f80a7293a06a3407f38731fa426d64038b8c790816109dee286a405c6e9cce6fb9ca8b8dd758a1848c69dba53f2ba50403799f0d88c248c8e20e1796982fcdeaee847c810829af9ce0aaa04d00813eec9b0219ffff03cef992d5d731356180c08dc54790532c680ce4b34e51eae61d8b3a9d56990fb403c8703fd566ab9fe83bc39a42ffcb7fd6695ef632c6b48fa9b3cedcc28e83dffa038ee5c8d07e5b35d4887d77ed751a3dcf17b266ae433582b75ab4dfdd784f5f1103be9629f5c390722a431cc77685a0a3a80f7b2d346d4a7ada64b7ef0a1bf358f6037fb36785b8f42b8bf003b23f5da45f45eb374d9dd6cf4a0b09d0b3ee2a06539a03fb11db30d6599960d9f4554046ab108cb023951a6a637910656eea6d7cf2d4a603f075889393103d8e8892631d6e5d239e5b56f4ab0c9a0e866eabd31b209dc86403d4cc1f52974c51a92015a223092c259422582de4509cc3d3724cfd29c51b69b903215b0d65277bd51990757a9089098fa1e761a69de6036df118d4c193ee8e6cbd037bce6f44ecfb9bd541e1ffd410627d54d4c99af0460f0d2b3de1b0411503ac9803fe8a2818a2fa8628f517c67df258c74b39c3b630a54e42093b3bd2d1595877930219ffff03260e3354419c8ad677c1db31a1030ac33c816253a365b789d2521f33a63c78f0032df9736018f91e7afef50d9a4a9112117170131c00a1249a8d8d184841c6958c03b3b5fc42ede0d3b3b62cb61502260462d9a0ea4723edd3fd8eefabaa1696b1bb03da97cf708db940c2bd20b8f6b8baeb69977678881fa98d74570be998f21b52d40219ffff0386550efe040f7c53e4b082cc777f8e93f70dd381f0b744aa44656ef09f8bede5030dfe24aff3a84bee7197da688a398e0ee0ad4f54c01f74522e6eca9e2c780e790383e7dc2f26f7f749e36d39aeced1f382ad3ab2d6f1395137410d632effc49d200317eaf92072b3d84335f407c15dc8709bffec0b54cd773fcd3ed9926a3c06b5e903a242348f4cbe23aca8ac61751efa0db328f213400eeb86a3784f009375f10ff103717c90ba650242477e9fe4462e6d22c8f51bccb415df1bd36d0d37994713fbc7037d6ed1cf8aceab3c52f75d1fd485db341f066834e36aac22af8bb749a17deb9c033b96ad3975153918721752dff86a5b481b3140a64828f24daa2dcbce8f21b7430303b0aa7a7ea21bf52a973012dafd78a0490c7b78139360fd4fa760de6ec604c6036974bc0815a13952cb74483ee444bc1e5a78bd3ae50e9729b507e702d78730b803a1a1d07ca237c3955d3c4dfd37d8cb88437cc13d96847710ea5b2a46a5e06d68032ee1327b2db102eeb3efdc9d0f22f39cc829a8e2df69ce4fa401968df334080c033b73f2121773f562c0d8b0bd92bc83bf24e2955534b5e614095d711584e3155203eb239d959de55fad32272e2923913ebe4bc61af5ac8e226ec7a22ab665e39e8603a68a8564e90fef32461e92a34ada3523eba03f70bc1a032dd8be2878774361ae03d1010ce61733d482418ea283e1661dde1d65e563d89d6bfb96160cf014a91244033903765d558b9ef8cff31f72d9f5427f45789f438b91ec127460cb4a0500e68403c2bc9cf34798a73f87e086dba802a13e95a3e8920ed85f6a888e10e422be6e79039d820a510fc7ef3640d2330c2ef59b8c7b87b35851fce98486b5ead6046119e3036bc6330537f3ecb5ba6138543633c24eda24f8a1d3cf3b34f8b8891f6270692a045906c160806040527f000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc27f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb487f00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56407f08374668a423750b443f65d645c5693995d43722b42cd84f7eeba28b008a40a27f00000000000000000000000000000000000000000000000000000000000000006102d0565b6308c379a060e01b60005260206004526002602452806044525060646000fd5b80828111156100fb5750815b92915050565b808201818110156100fb576100fb7f30320000000000000000000000000000000000000000000000000000000000006100cf565b818103818113156100fb576100fb7f31330000000000000000000000000000000000000000000000000000000000006100cf565b80820282156100fb5781838204146100fb576100fb7f30340000000000000000000000000000000000000000000000000000000000006100cf565b6000670de0b6b3a76400006101b98484610169565b049392505050565b6000826101f1576101f17f30380000000000000000000000000000000000000000000000000000000000006100cf565b826101b96002850461020f6b033b2e3c9fd0803ce800000086610169565b610101565b62ffffff60a43516805a830301905048810283811115610257576102577f31360000000000000000000000000000000000000000000000000000000000006100cf565b483a03919091029060ff90840360a43560f81c02048082111561029d5761029d7f31370000000000000000000000000000000000000000000000000000000000006100cf565b8190036102aa81476100ef565b9050600160a43560f71c1681151916156102ca5760008060008084415af1505b50505050565b5a60003560e01c632f1c6b508114156104c6574260843514610315576103157f30350000000000000000000000000000000000000000000000000000000000006100cf565b63128acb0860e01b600052876004528260245260043560445260443560645260a0608452606060a4528360c4528760e452866101045260406000610124600080895af1610385576103857f31310000000000000000000000000000000000000000000000000000000000006100cf565b60403d146103b6576103b67f30360000000000000000000000000000000000000000000000000000000000006100cf565b60005160205160008060008413600181146103d657801561041657610452565b6000841315610408576104087f31320000000000000000000000000000000000000000000000000000000000006100cf565b836000039250849150610452565b6000841215610448576104487f31320000000000000000000000000000000000000000000000000000000000006100cf565b8460000392508391505b5061046881610463602435856101c1565b610135565b9350600084121561049c5761049c7f30370000000000000000000000000000000000000000000000000000000000006100cf565b6104a8606435856101a4565b93506104b48487610214565b80600052505050806020525060406000f35b63f4ff5295811415610658574260843514610504576105047f30350000000000000000000000000000000000000000000000000000000000006100cf565b63128acb0860e01b60005287600452821560245260043560445260443560645260a0608452606060a4528360c4528760e452856101045260406000610124600080895af1610575576105757f31310000000000000000000000000000000000000000000000000000000000006100cf565b60403d146105a6576105a67f30360000000000000000000000000000000000000000000000000000000000006100cf565b60005160205160008060008413600181146105c657801561060657610642565b60008413156105f8576105f87f31320000000000000000000000000000000000000000000000000000000000006100cf565b836000039250849150610642565b6000841215610638576106387f31320000000000000000000000000000000000000000000000000000000000006100cf565b8460000392508391505b50610468610652602435836101c1565b83610135565b50506106837f30310000000000000000000000000000000000000000000000000000000000006100cf565b50505050505000fea264697066735822122033844a027fc6b17dbe7d2d177ef947ee3ce07f1229f86d6b7686b6faf1c6a64b64736f6c634300080900330605581d02a4ad92081a23c31ace0f7fa849d3c21ad78f52ba811276a59a50597607011906c105581d02fb3c371c9de91baf0009fc2d41e54f160bce1ac00058e979efd80bf10c01466c3d2cc654000219808003ba6403ad54e12f0d2327c8867a39ab6293abf5192f693986bfd151c91045f4f503c06629d67f9183cdc33fad5eea822bc6d4ef95520a1904471a3f2fbfff9f81db05581e031901de9c7df7069941d11a467f867989b7d12a1b7274b99c24b575c5c0040105581e03a9497cecaa6ab193f105e86b757d285bf01d333a3d5e8686dceb9add1004010385e364b198c2bc5ccc72d761d75d842356b4b5724b61ecf5b41ae099c864742005581e035c60359ffb4395e3d030a620ad85c2529902aa0649f517d2752735dfe00c0d465a78c5c5b5a003c77dd6f536cad2665959c464f6b5522bccf36f5a4ba01edafad68ff04fbe9ad9035a2fc277ad9c1054ee4e56e9fca8afac8d5876022ecbdacad0f5c73bb70c70320219f38b038722c54175be427c5ce76247facf7e374501b55b2d71a26aa95852b3be1cbea803275d726c67de1b1c79291dc3578a3c1d4c74b4500af49600e875599085f2dcb403b9f5c35656157073b0e1d9b3400c5eb21f844b11620692353c92325ef19d3aa30359f1b0d5ec140673759c586d593e69f333836968fd0f126ad75201dd22891ef103652ae53a22d51e39c34741dddf12062724cf0830772770821717de1fc88c49a803d285f7b9f88a77f3da8d4a696fc483565a56f98ce531da07ec171f516ff3a0eb03c513b32224a8f0bcdc8be200ce2a120f39c0a9143a8a3991b84f646a216ab7c9030aef9b1f797a22deae2e9267ad1d7dee06bc04420c10e0b2ad4439d110debbd9030145f274b30bdbcfba5f0cd4ef2b1291af414ec13e7ed7005755ac8e1f818e010219ffff03af269c1c3cc5b0c786469ee1d2e3874a81da1039fea3c0c682b6c58c9c8a6a5e0377b5bff53c04a3d04cc66ebb232c27808ede9f072238d19d33afb90c15a5c4000356c999f1dd03e92bbd045decab1c9769602fa49002b033bda539a68c380ad24e0343e7a75789a3e68f165240b1b83c5dd83b3be7a42a7620bfdf32fb664e0835a00313acfcf2d4da80ec24ba6e971958e160536f7d4b7f3445d8c3d5654bbcfd39160382d9fc7fb00b7ffc6b3833fe2c45003fa987d54ef9a0991aa9322c6d7029ba3603e4447c5dce0535021adf8e374d44be5a1947931fc76a80870cf9cd33d12ac0ea0307f6de197b2a911ed204b01479fb6c0016d31e45932ca31d64b6bd6a04cbb4ee0343faf1b625e99347316409821db30d46f5ab18c94cd2cd41ed37c01f0066d74f035b025f9829ab0e998b0e4762dfe3d8e4a54d365b33db71e19426d4ceb092505503a26153c1c96c6200ce3d66d180e9ee63b8eda9cdaa04b339b1bde86cbfb70c3d038b00b331c882259a1322fee40402e28caa2e2c830ddd4eb00a392fcc5343b15403ca281cc9e10b436261588a8ec37555b2e4dc3947ef207b1ae570e53653d54ef403ea7b97e3879c52c5f453f48e98333d41271f0548aa11672550327bb6b70f7eb60219ffff034a2201ad7821a21cd46bad8dc3a0781c80d86c40493c8d9a386847430b5f314503d8ebf5e09610e5188af3e44a947deac50cd4954d425b6b1730864b47ef14446203b92466afb2b54d048d867a7564fd330a1b0ff94afb09b729077a4771d2c7107b03ef35fc2215e3dbf82fe3f19190894a6599cc6c789a407b95d7fc29cd94d4049903ae3257d63e073e16846866366d7936a086e3bc4cf154a4fa57e43eed5b99715703bc1fef2d227d90af1c20e520fa78f06775988ce24dabcadbd48e1267f00239c903457a11f1f9947e220d180f2222cd4e84129628542601b41f7ba9651577d04b3403e8979553c4ead17f78eaaa592a81b8d3d849189593a74033be7559846e3b840103d0b8f069b865185b91ed03acbe00f9e639e147a727cff2a2e6aaadfd4fddbc070368c25bf0f1836ebf1a1c26259a1c5b9a65f6010cab48b4fe146d0d076618f9a503ca9448026f26fc7b3480201dbea5dd4a428a72a1e664f1eaaec176d6afc16f6003f19d5b4366aa6f7533e7284245bf42198337d0730171556d4f37a4445db42951030ebe5c681858d658b367210806484d7f4cfebc0a097f4504a7878f086969f3c105581e03916db65ee2b75cabdb699c02f037eca16b13069fc716a0aa97e29bf2c00c12470140372a7227f0030889f75a3b9639031a1ab46adccdeba4427174648ed0ff9d8d4f9796f782f64505581e034a334de2c0c8988878efab40abdf5eae57062a72369da9cf6e7191f3f00c01470af8aff540c4b005581e031aaeea69cfd77a9f6573c0f91f50ad62120bbd69f3e25903966546e4800401032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03a8db464f5b30848512e5edf1ab8c27753df3a7b17e8fe55b498eb8214007011bffffffffffffffff05581e03de5205691e8a23edeab1a538b4a75305a15cc559ccf2a7c44a235f29400c1a00043b464833436cf27834e7f803a6468bb6b0cfeb1716033a2709393945337856d73ff4b3a2f9311da96dbe4afc037112f9b01a5fc4cd6e6ac4d46c5c818e85c6a9f39815674f73445016066d015705581e03fbdb1db9410d834bec0a7123366efdda38bb2a4fda941987595c3e52900c01469e134d489e6005581e0321916c0c0d7faca8b7a895b7e9e154f7dd7146a8ba2da3ba785eb58c400c0147034d4d1df559140219cabd031fc22a8a0204a236f4828905d4640b83944e5106defa8b37ff5a22b435a93fd7038def3ffc3edb57a02fb26732bb4e8a4819528644ed350678567518743fe1b8f20345e57903d97b010937776987366d694e133d20938bde49ec3ebefa18baee28d80371957cbac948276d78433a54e0f3e95569182b01f157feb52a13506ea8a1b8a303d1b28ec949c2f39ab80f50ad2c45ef9e3e669bc433ece2c8c57bf9cad4a7fee403672fe7b5117493a23adfe9d453007d4686b093d562fa3b3a6e1fae1acd9e7a0f03c7d28f21361d411eb4045fcf9de3d8695271b627b0e1bfe826694671b78cf36c0219ffff0325af830052e2a4b0fb772de37c99ecafeb54e9134e0243305d27b556e085cf6903b56c922e2f4f3a83ecc0a34ff18fa642e9620507951a3decf553f15f169c36f9030b077b82cd1ca32a60e4b703ad3a0a5acae28e68b39410668e6ea6116428e3cf03b98de0956e508c891794b2a23c272cd042bd349f69aadf11294dfc781a1dbd3a0354b6d661f8725d2ee44832b97557b312a9d5d04427056cd9ccf661f95c50b4740357973fbc18a38fafcfc5e00ee8a228178ba4ae069d826d302619d422143fe66a03bfe289f306257e2d71ee26d50f31da0506d93d3cf4bc79a4c15029ffe360e46f033ea29949a038044a561f46a0823c00eb995cc2ec8da96c6f9314fc9a530e8f9c036a0ae338ddfc99e30e8b6ed3d857a1270c107b4e58b05acfcf0df16251b9e1fd0376d416d1951fc27ee0bf119ade305997ae33174614d62fc36919d977e785db2c03824425eba185e23ae45753029ac102514ef1955e38f53e259c6ca59e0e4c640003c8d4456a7c2f2c1f4fdbe6c1c3634389d0187cfd3648e876f60d8dc3083feb2b035c6e70dcb58fc9f5c103ccab0958667d22d6ac29c1ce575cb6bbac47963bdbf50219ffff03ef2c75a23feb5971cd46a685ecb29fa361a4a548cf450935e41067f06c7279eb0219ffff038bd97a79ad33d0e32da0b2c033951e78c07e779638bb1ce3413d20d3204afdbb03cf7b4247c9ee2d6d372b5309739dc4cbc16f6c1bf24a90d0dfdf897bd4a013b50366fa61a085c02c4e67ce552ec3be8a513bfcb39c12ee7c249eacf73e328575610365558064a7f413223700d82e3e97d6dd389c315bd4071ab8e40c0eec27021bec0219ffff03b9707e3f09ba0a00181dcf7b11d3ce94ccdfc32be7ae46dfed57444c91290fbd03383587ed6d3373408fcbecf92eef609b8cb0bd1531040f9b027030edca44642603eff3d110f9a329dc2133c7054506cbd86b56cc8d61a37a22e00466cce3fa3adc035c5f6519aed4bf82891dda2942748f7dec80f386f78a014e725efa739275c66203985263728c3663bfa6bc4d5de2a1068df1174b450e0aba6d6764939d2f74a91b03b33a47b493a967764e604170ab7981737dbca96031b06869aa712811ac63e6ac032b53c4cbf99fe4a16af0cd0cc9d3dd36637fb9f76facc59c09123b253d0b566703a4542063f74f65d18445ad0b1bd715dfdb879a381cb7d885d01294d64675662e03eaf5bd736830a94dabd42f21f820bd538e6431b1b4b3857673f3c4b62366ea0803fa53acd50a4c83c79eb257f1c7fd36c5c4653346561740e368b6b4ce5b695fc5030d953253d1da2f50c514a5893bd65afbba5ae2ffc09cc693b4daae3db2e7014703ce8fd2bc25e1eda139ca61aea7b9efe713e8de94f939d8f3f90c4f13c904c3cb03fd1539e4b0cca408f529ea433587e035936374577ab8d76eb48b798a09fb6be8038530f9e948b0c28a5add244cf2640a84c385230b2b090cd4059ea742b11540380354d3db2c4ec1c4f7bfeca8434530043f43fd43c4891204eb7b3587bf307063460334db6e5e50bc2e74d1d579080b8431a90451a008b74e10ce8801acf77e7efc88031e743b3916bc498497667173af61ec96b9fa1ff838befcccc36df22457f22910033d7450df2e010cacd6f164aa7cae993ac5868c99bc540bcf58c67d627a63f23b03ce6f43cfd859e265cfb7f5a52463ebc4bbe1dba86af2c582661fb038dcac7a7c03d3f903d9c6dd63ff010b8abc0ffc9cc59caced685f817ce34ae6e9bd0762330803bd270a746a662a1d8300f9fccd95b6bcf056823995a12264d8f86db63ec8541203f9d65d43b56cdde1402944ef318fd5c26a1d383ff010f63c85529f3bf9e4af8103582c1e7aa9cea2ceabd7a3abeec32acecb4c01359837e70ae0639e91965510f703be87810aefbf1ca35bf87527d3b746cbe05f68b50e554c2fe8e2a5972f4fa92e05581e037274163559302d30d08258b6876810f494b53aa297ad46763a25e946100c01472d6d7f6c7720000350bce90288b1d0cc41ef90db7cb9ecefdc603d7fd5d4a4ac9d772e874fc09acd03de8808a670db04203980240723984e4a63bb92371cef3c20e55c7091163648a003b7d35afd7204571adf4ca28d2660289102881645fdcb76a971a72d4e31adcb3903cf765894c36373502d7ceaeb6783e1a6b85f7dc6a7d430ec10cc1dd892bac14305581e0327399cc0c0df019c294c361ad3fbc50fa8319bbf4361f682de4394a1d007011bffffffffffffffff05581d025bf338e053fc11c728017a001d07d38b954ecbac34934130bb2671d408472a05f544b9c800045913d9608060405234801561001057600080fd5b50600436106100b45760003560e01c80633950935111610071578063395093511461019157806370a08231146101c157806395d89b41146101f1578063a457c2d71461020f578063a9059cbb1461023f578063dd62ed3e1461026f576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce56714610155578063378dc3dc14610173575b600080fd5b6100c161029f565b6040516100ce9190610e74565b60405180910390f35b6100f160048036038101906100ec9190610cbe565b610331565b6040516100fe9190610e59565b60405180910390f35b61010f61034f565b60405161011c9190610f76565b60405180910390f35b61013f600480360381019061013a9190610c6b565b610359565b60405161014c9190610e59565b60405180910390f35b61015d610451565b60405161016a9190610f91565b60405180910390f35b61017b61045a565b6040516101889190610f76565b60405180910390f35b6101ab60048036038101906101a69190610cbe565b610460565b6040516101b89190610e59565b60405180910390f35b6101db60048036038101906101d69190610bfe565b61050c565b6040516101e89190610f76565b60405180910390f35b6101f9610554565b6040516102069190610e74565b60405180910390f35b61022960048036038101906102249190610cbe565b6105e6565b6040516102369190610e59565b60405180910390f35b61025960048036038101906102549190610cbe565b6106d1565b6040516102669190610e59565b60405180910390f35b61028960048036038101906102849190610c2b565b6106ef565b6040516102969190610f76565b60405180910390f35b6060600380546102ae906110a6565b80601f01602080910402602001604051908101604052809291908181526020018280546102da906110a6565b80156103275780601f106102fc57610100808354040283529160200191610327565b820191906000526020600020905b81548152906001019060200180831161030a57829003601f168201915b5050505050905090565b600061034561033e610776565b848461077e565b6001905092915050565b6000600254905090565b6000610366848484610949565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103b1610776565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610431576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042890610ef6565b60405180910390fd5b6104458561043d610776565b85840361077e565b60019150509392505050565b60006012905090565b60055481565b600061050261046d610776565b84846001600061047b610776565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104fd9190610fc8565b61077e565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054610563906110a6565b80601f016020809104026020016040519081016040528092919081815260200182805461058f906110a6565b80156105dc5780601f106105b1576101008083540402835291602001916105dc565b820191906000526020600020905b8154815290600101906020018083116105bf57829003601f168201915b5050505050905090565b600080600160006105f5610776565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a990610f56565b60405180910390fd5b6106c66106bd610776565b8585840361077e565b600191505092915050565b60006106e56106de610776565b8484610949565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156107ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e590610f36565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561085e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085590610eb6565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161093c9190610f76565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b090610f16565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2090610e96565b60405180910390fd5b610a34838383610bca565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190610ed6565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b4d9190610fc8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610bb19190610f76565b60405180910390a3610bc4848484610bcf565b50505050565b505050565b505050565b600081359050610be381611375565b92915050565b600081359050610bf88161138c565b92915050565b600060208284031215610c1457610c13611136565b5b6000610c2284828501610bd4565b91505092915050565b60008060408385031215610c4257610c41611136565b5b6000610c5085828601610bd4565b9250506020610c6185828601610bd4565b9150509250929050565b600080600060608486031215610c8457610c83611136565b5b6000610c9286828701610bd4565b9350506020610ca386828701610bd4565b9250506040610cb486828701610be9565b9150509250925092565b60008060408385031215610cd557610cd4611136565b5b6000610ce385828601610bd4565b9250506020610cf485828601610be9565b9150509250929050565b610d0781611030565b82525050565b6000610d1882610fac565b610d228185610fb7565b9350610d32818560208601611073565b610d3b8161113b565b840191505092915050565b6000610d53602383610fb7565b9150610d5e8261114c565b604082019050919050565b6000610d76602283610fb7565b9150610d818261119b565b604082019050919050565b6000610d99602683610fb7565b9150610da4826111ea565b604082019050919050565b6000610dbc602883610fb7565b9150610dc782611239565b604082019050919050565b6000610ddf602583610fb7565b9150610dea82611288565b604082019050919050565b6000610e02602483610fb7565b9150610e0d826112d7565b604082019050919050565b6000610e25602583610fb7565b9150610e3082611326565b604082019050919050565b610e448161105c565b82525050565b610e5381611066565b82525050565b6000602082019050610e6e6000830184610cfe565b92915050565b60006020820190508181036000830152610e8e8184610d0d565b905092915050565b60006020820190508181036000830152610eaf81610d46565b9050919050565b60006020820190508181036000830152610ecf81610d69565b9050919050565b60006020820190508181036000830152610eef81610d8c565b9050919050565b60006020820190508181036000830152610f0f81610daf565b9050919050565b60006020820190508181036000830152610f2f81610dd2565b9050919050565b60006020820190508181036000830152610f4f81610df5565b9050919050565b60006020820190508181036000830152610f6f81610e18565b9050919050565b6000602082019050610f8b6000830184610e3b565b92915050565b6000602082019050610fa66000830184610e4a565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610fd38261105c565b9150610fde8361105c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611013576110126110d8565b5b828201905092915050565b60006110298261103c565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611091578082015181840152602081019050611076565b838111156110a0576000848401525b50505050565b600060028204905060018216806110be57607f821691505b602082108114156110d2576110d1611107565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b61137e8161101e565b811461138957600080fd5b50565b6113958161105c565b81146113a057600080fd5b5056fea26469706673582212202e488e3a6ae334abd188f0c611a9577e4fff83dff6c1fca9bf1ff1e0d6a4ff2e64736f6c6343000806003303c0dc3745d5d7c381c870803e58d75a6cca25012517b2bb14b862f808d3720cdc03d06d138835470252874f138cba4dc948c1c45ecfcde8245b1f7236221ff46f81033b283458daf8ff86c056c96b3a58bbc9717581a8ffd9e4f62ce3e0f63422dcd503ba9ba340fb5e8c21ba8ea1f796066ea4ffdff88a3cf6b2b2ad11f92e9bf1b984035e14683523eb0c0a21c7c647ad39b2487cb3af28da62503ce1915ed0da87f21e032c64bc3e42eb9e31cce2359ee198fa12ef514c54a5a940e071b3a3afb042216c03bc760be7e7005bfda781567ac84c01df6ea050684b0ed66c26c556493ff46b9f03fc2e93c7597c794419684d2e85dcf1f6eb4b35d007928f6c49bb7046450bfc3403beeae3e6c2b3982ca53bfc006b1aff2b425340e11df979ce2ae8b7492de4860c038d5e3da5c450a17d553d375870fdce3e5954680d50440f762c6643265013bac5031e68707405e89e187173b2b59c10cf7823ddd30f1464af044cce270d367f13a4033dc954b41a372ff1e36e8d2715d877c9c1529c5832a4e30849e0ee6d7de3568a036debbf828f6ae11784f30c41c22f96aacf0ef39ac8a67eae684ca535aa9158c90381d98974f23115a8b1b02b67cacc55766e66827b9a82a966ec2455ec2e0fef9d00582003f39b836b09ee270328857546abb16c50b2e8c051c05bcb3c0f74e4016675405820fffffffffffffffffffffffffffffffffffffffffffffb7377dc3d8f6e29ffff00582003f1b2d684c2b54ddfcbc74d3ded80822d5e9b2b8654fe0d44f5b1dde9ad0a904a07470a64f49579f4457d03975126fad81155a87af1cb19a2871d58db118741ab229aa00976c3d8333431100058200386d323793a85b7c036b2cb73f43cdeae580709aac66e4945ced272a799640049420237d0c81ec082a3030d3f206844ae2786ecc8f997c7597d362b493638502bacbe76dc5136a193f22003d126a95a94d50c6dc8a3e43c39f77c60ea492bb8743e97e29032a745a9b67c4f01410b03e9c90868cd215b360002aa439575acdbd0d159ee8217aaf0a40bb79dbb93e55902191ba703a0a7b3f9fdbf45e2741c8ffa75079d60bf6f9a63ff8be92eeb90cfe40d7f8660036460390cf29241eae83df7a22263be506beb2aa54e6ee1b4fe9cdd74fa310d69033b65cd0f115182233aba492c28f820ae7153b1f95cc16238cd55a8bcd1b33b25038b0d9f8cfd0902061733cef6a0e5b7a5be028782e4ce8988cb46db7e53366d55031c3cb52c844cc105f365e901fb5aaf98463ea7007c829d1b889df3183911d79c03c273a0436a7e292cf3ca7fd86e6bc6af9c79a7c861b02e22df520c1b2128e53c03618b0d49ed07987fd51d07fc8511803634a7b6724ea3f4788142addfa6c9728803a406640be68cc51155e934ce3100f9a3fd70cd8af107e69898d869062ca94c7103146eedf2564c51ecd1869bd107ac64d1cd537db4751b4197dff1da550c189b4e0219ffff035dffebc68a927b203d60f55e15c552e3b80781c76435114e09007233a787cc0e037687e89b5273d08f178b3361043aa2dce076c7c15e89cb68f24e187d6456c55a03156f4985ba5cc801724f2f67ee2293a546244a48083d8cc3889c4ff79b4cf3dd03fe8b81f32d4529b3a3e184e8984dfb63617804d91aec64ad57fb0b84052e2ec6036341f92902a60592841762c70d2d59d8e68e2dc1d9dedcfd3cd43ef6d0cdc4c503e34dc129714bc7c980c550a3dc977d128d2a9c79121007bd291fd74b0275f0ae035040c6c2d9bc9249ac24afa2f392e5c6d9d1cff33405ec264bb87e14047ceaab036158b6153a33c9cc672d9bc18cb07d4923e80fb8da16241a9b72b3d4520826940392d1a84fd6bca3c3ec9b56b8eb1c902484711c9887136c0597767fc51ed0716f034b129aae5231d5b8a5db683f062f8a9fddacea16176d1d0d7bbcd419cea509e10369aa60122577a686ff8dec81ea8564f5daaeaa6c451b8cf24819634adf42ca470359f465fd79c1e0f3c64fb8997e0497295b110abd9bfb2bf6bae49b7fdf108a50030790770e76e3669a9794aebc4d15076fb05a66b028ff2ea0743d02a731be8c5203e7abd4d84427757d803817d36c9cbbca578f207f20df6e7ad38fc7a140e64b9b03302e05aa25e5aea5ddab66e593d3b05d2b3f08317355880da5f87c229edb4f4c03db030029943a54855bec0ca72184103b8512f4b6d5859ad376193f7dae43f4d8038d1f5fc46301ce79f84ea0120047b1ff0cd6a1a547abe06add61311639978896037dcfbda9a7d086dae74df7c84f8398b1d9b28dc79bb1c657554c48d8f0a08a010324f2e852cf9ae8a8f85fdfb556acca762bd6e490852918a57b1da064fbce5ba603fc01c09b19d2cbbb82cac45c98994db7a335892e95a7dfd5c7be76ad86a8008a03ebc59738d3bbfd72378105d39a0a7fd73c732153250f88d00168f50927fb23c90329eff9a392ff098db5105a9d3047a46e616dbf5cde2d542de26ccc0bfab5bb6f0058200323572937cda705592f7509672fa7a7cf32cd19ac8d8b666050c73fb9e055a05820fffffffffffffffffffffffffffffffffffffffffffffe365fdc2300de66ce6403d263930c5fe7172ff6eb969efe9ed64fbe6ab175e47c036e28f2345fc69ba9af00582003216a12ac77cd7e07fac03bc56ebb976d79f8129837670aa21404811b86bc604a06024863ac882ada05f6039ec593e935b24296535c14da72335d2ac79048d10c2c1358aa2af30a188b1232005820039d76d67ea9da3daa48abcf87e4b4a3a6cc8fb44e8ab313e9b0dbb943e327f04b03e7f832fa7a5358adc00000581f026685c19c2347e2ddea51cb61fb135390e3493a6fecf983c1da1a1218205f4b04cc4da79c45048c3a166900581f02db76f422282ad6747de67cb78fbe39dc1dac0b45cc223cb7e55426415aaf5820ffffffffffffffffffffffffffffffffffffffffffffead2fd504ca515b078a00214033c0afa3ad98e564db0ea6dd8b0fca5b4cd6420ca963d125191271a0a001d887e03d4b99a9fbcbfb0feed8aa0241d512d3381443b1ebb8a378c787f5f29e28474b802193f3803c9b8e7ad68667ecceea87decc43022b4d66125980a306e76b0c009b03f89811a035349e9ae37519b59009abfeca97dcd931025a54da59aa0d04ac50abb91d6b6b60219ffff0219ffff05581d0222e11986b5eea15dcab20cf4882fa4f616758ec3a70a44632597c5eb07011913d902188103647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03336b40cbaa16811a11ed55eb6f49a99ff96fc9c37515823c7c4d3657de78a24d05581e033fff68e6d81c1ab90db96d0464da37eb0f6a30259d0556a81d70488bc007011bffffffffffffffff05581e03a48fbb2971690ebfaff254fdf738dae4e9fc7d531c5a14c2be1e5594e004010219bf2603b430b384172735fbcab15ece09b517422f27ad98897e121086c9f9ec6cbdaa830379b6ed828737e4fb28b45bd1443d7cac5e2c5fe90ff21318fa6bf996b7b486690383ebe8c246cfa77d2c93084082a72055a132048c1ae2c9bd66c7f1e6890bdb1003b9ca650b8d955e8ffb5b51372412baa133f964f221212e4fc9a6d6e60fd03d92036ca6bb3e6327ca9f9b47e29257468c2ed8e1125265c7f6b1a50447f72e71a72803fbd1a51028d7560e400ebe5d3d92aa1fc150a3656d95696c9bbe5d262967b29c032f6eaff80f4739ba7888d876bc949259ffaeeb84a151fda652ab12c14f74918e03ed9240b69dda553f68bc7a69ddcd1498b99e7c5fe4b8bf99145c5f68f0c61cea036792fa80384ab1138e2ffea6666941a7d5cb2eda1f945519cc49e0329f3ebd340389e91ecb741432db6fe5ecd05e5958f4d4e676bbddd815d5cfc9c9cb57d8c08c0357c6093fdd8001c353c14aa73a958c4d3f0cf2638c5b75196ec9f3e05e4774d50219ffff03570b79794b90cfd328fc3de6ce4270a49df2bc09bcf509d453af89ccaac7c611034b41271e7c017cb773810752ae677c8d4d1d9736581d06c595d131d734a5a10003cbb567aa324ab71193dc9d9cef25d202ae3bb0a2d2f6120ae1a5b4e2069f0e920219ffff03a218f0233612585f0947af472468e1c70e0fdcb3a515ead2247016d4d639c6e603df03bce6df94270a1a26d4555ba3cf77a8d4a63710803a8e185dfd6eac667a6203bd67673ce1af445c3ed971cd725a71394cf1077a47a14c567782e693ed82a67503f9fbc132f1daf20ddd05a0aedff0b4959d4548772059989d8f0926632b589c9103ad55b0c35d422bccc7df012b8a06beb196140dbe63b079730d259c55b8671d6f032410bbfc0b91b2d7d9ecb4831334c8de24fa26131acdc24dd65828cd1a06e8dd03c523e9c8999ba644e4b8bee0ce98aecc9cfd5cea095b9e8c163d81d15475bbd0038f1c60de6d739c8f8ed6667d62510523dfdf50bd25b1252d324112c8c98612b803c3abfb8615961c7a7ba86eee806b00858a5aaf788bd611623259212f3246393803ba83f0168017fa7dd9eefebadc41afeb9adddd25b9890ffd419d07d3800198ec03ad15946df68d535071d093203b1ba53650b3b6ba6a9fb9f25f9025adc1f2c51103d522850f7934ec67e8f27a9ca302bac6c20bf377a562450f7660668af91924860307238abed00045da12b6bc20765f8789c3de9c4c50302fdd7500b00d400dd53d03919c4c7482a225e336d5fb4dc5ebe251e1ea6f94fed974a6512b381f3d0a0c910219ffff03a8c38463f720df53129f9f4338ace938493f76daf12ee679e7304851b6c277900351481c33a2c50e7e9f2e776811f3a60a534d955c9401ddff32426abe4d2464da039d46eb331d551417306b645fcbb4d36c98a5cb46a7a1c6abf3f982fa0bc2d4cb03ec8d6f7866c0ab75cc002d3e5340dde8b828242d2432236b4539111777a2c50f03537a47f04019fc6f2a741cce7be14f5de635d8448bff8dfb7ac17c33a5c8164b034ad9c0ae87f6eaee62813c445e383563582962418837ce7e1a222a3135d1706c03c3c4fa0ae5f0e163b8760446d5ae50c3e0e1b1f31f5acad8d35cd2bfa841e87003b51ae0000f8ac9fa09dca6dc80ddcfef4f0f56da46b7cea436cb00863aed929d0348377d9ae6118cd46a090f22df1f5eb3e38d3a01b6eda6b707defb73dcc7d9990388c7b8c2f56928e0e7bb99f217a981310089b91d338c56e478c9c37b4d712060039801078eee318be718653a1acc27d44e53b086a66fb358dc10207b5b9b9e948403905ed38f0be37937ade7cd18cdc1b95695459a07b3a7ca6a1c52821c96cb2d010309125af42d3f9d9666634442f18ef642381d6a6e91c310054d50406c0105b7280384f5f28fdbe29acb8b179b3008ee5ba53d9ca3e610387e5b0e3dd1bb488ddbee0375891ae16975745e529fffc5cc2c3a7bf3f31c6698c7e4c4f1a0e7ec069e869f036d9240aab5d159ab9afc08c11868535d878f7bc90ab6e52c28984c33f75dc7c90317b170e3872283d6bc1eb1ea7c6fcb86078e08e95fecbe5dca9706a171c43c7f03c7ce1434b09dd029732d3ed12e885ea806d59d1964e8e3774c84ba9da9883bb503551e25c8de0a9909798a8aae3126b2b6ccaa4b5a9b6189c9611851d4c7d6b85103b3dc2a71584748d2ae3200a2713db3a8f596a9b8ad4914731303d5b9fb3653bc03585749f1ac96eedbf5ba4235f38b7f074595b43266ef2707821ccfb43d90181a038e02902b479d18e5fa74a6863ee8b2c00a7cdd12c8c894cbb289547cff2f751e0303e225b63550cce8170e496eed9cd54580cfb94cec5e1642d0aa18a15ace699703ee7fc71316bed542726f9a3282451b30d68df8598bf6aac161cbf4f7c7764fbe03f2b2bb21b95db40bcc0bd835e44d3c72efcac90a40eeb0b040b2a2b3eb36eb3003afe29c0be372891ea3501729a66ebada12130693cf0ba7a9768cc0ca3de967bc0367bf620efe8598e70fe470343b94b0ee957c314960d282c1daded2ae926dd08a03b6be389a9e31fe3480f8ec924a1bfdb9124d21cb32f6cbd6974de43e7fac5aba03ebe44b8ee014c7944c0c70e0752aad3c38c298e15c6b21de061e275c0ed30baf0361444ed15bfa44ccbcfa895a8e30ac52f5ddb4bacb1d8649d7e6e94afb2831f30382e6a0880a5395339e2e360237e4be17780d04fcff7dcdc97a7ca1a366a44404032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e037b1c33a9c1a2779c5a2c696177defe188db63d98afdd5645ef2ecb2bc007011bffffffffffffffff05581e03a84f0a7beb5701d84274fd1f2fa9eb2618d983e9ff86ccf1450ccea2d0040205581e03e73f1be22d328df0c604e3901cc36ae8c3a5d7b98e349cf975af2bb900040205581e0373c30141f87bfc3e5bb14e0f9b0f291eca90da356d9f2e9b9f5e1284c00c02471785465688d9740346fa4b8c01630063d155b4a92d05dd82db57b9d251b985eddfe69e0b50618b4305581e0366ac7ab92e845729b989f0f5dfc34b2051d04e82aef6946db02d9955800c024745a37d64f8ba68030865cec1e9ac3048b12a85fc3b9fbc682c3831784e3396416635df4cb88c3fdd0347e5318a61cc48cdc73e7c53c38e0bdb38924c15d3ef2edb197e979b20c1d52c05581e039b3a94bd8c5ab6f4fd85c38d4d9a10655ad70824a29952423a05a26df007011bffffffffffffffff03d67b0c12f3cd6c580e7876c24710fdcebeddab58ef2434ee817d15e0be334fe904590c3c6080604052600436106100e15760003560e01c80638da5cb5b1161007f578063b4a25ce711610059578063b4a25ce714610273578063bbf20c15146102a4578063d88d35de146102c4578063f2fde38b146102e457600080fd5b80638da5cb5b1461020f57806394a228b51461022f578063b2ef14e31461025357600080fd5b8063481fb142116100bb578063481fb14214610180578063628a4b2f1461019b578063647846a5146101bb57806365d82753146101ef57600080fd5b806312261ee7146100ed5780631ac169861461013e57806335a9e4df1461016057600080fd5b366100e857005b600080fd5b3480156100f957600080fd5b506101217f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba381565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561014a57600080fd5b5061015e61015936600461092a565b610304565b005b34801561016c57600080fd5b50600154610121906001600160a01b031681565b34801561018c57600080fd5b506101216001600160a01b0381565b3480156101a757600080fd5b5061015e6101b636600461098e565b610347565b3480156101c757600080fd5b506101217f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b3480156101fb57600080fd5b5061015e61020a3660046109f7565b6103da565b34801561021b57600080fd5b50600054610121906001600160a01b031681565b34801561023b57600080fd5b5061024560001981565b604051908152602001610135565b34801561025f57600080fd5b5061015e61026e366004610a39565b610474565b34801561027f57600080fd5b5061028d65ffffffffffff81565b60405165ffffffffffff9091168152602001610135565b3480156102b057600080fd5b5061015e6102bf366004610a65565b6104d6565b3480156102d057600080fd5b5061015e6102df366004610adf565b610631565b3480156102f057600080fd5b5061015e6102ff36600461098e565b6106df565b6000546001600160a01b031633146103375760405162461bcd60e51b815260040161032e90610b54565b60405180910390fd5b610342838383610754565b505050565b6000546001600160a01b031633146103715760405162461bcd60e51b815260040161032e90610b54565b600154604080516001600160a01b03928316815291831660208301527f736ee8e49f5bc52c4483e2bf96ce5c99a25af7c12037267ccde543b28ab63071910160405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146104045760405162461bcd60e51b815260040161032e90610b54565b60005b818110156103425761046c7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3600085858581811061044757610447610b7a565b905060200201602081019061045c919061098e565b6001600160a01b031691906107e0565b600101610407565b6000546001600160a01b0316331461049e5760405162461bcd60e51b815260040161032e90610b54565b6104d26001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48168383610860565b5050565b6000546001600160a01b031633146105005760405162461bcd60e51b815260040161032e90610b54565b60005b8181101561061e576105447f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba360001985858581811061044757610447610b7a565b7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba36001600160a01b03166387517c4584848481811061058557610585610b7a565b905060200201602081019061059a919061098e565b60015460405160e084901b6001600160e01b03191681526001600160a01b0392831660048201529082166024820152604481019190915265ffffffffffff6064820152608401600060405180830381600087803b1580156105fa57600080fd5b505af115801561060e573d6000803e3d6000fd5b5050600190920191506105039050565b5061062a858585610754565b5050505050565b6000546001600160a01b0316331461065b5760405162461bcd60e51b815260040161032e90610b54565b60405163cc53287f60e01b81526001600160a01b037f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3169063cc53287f906106a99085908590600401610b90565b600060405180830381600087803b1580156106c357600080fd5b505af11580156106d7573d6000803e3d6000fd5b505050505050565b6000546001600160a01b031633146107095760405162461bcd60e51b815260040161032e90610b54565b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6001546040516000916001600160a01b03169083906107769087908790610bf6565b60006040518083038185875af1925050503d80600081146107b3576040519150601f19603f3d011682016040523d82523d6000602084013e6107b8565b606091505b50509050806107da5760405163cee8b77760e01b815260040160405180910390fd5b50505050565b600060405163095ea7b360e01b81526001600160a01b0384166004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806107da5760405162461bcd60e51b815260206004820152600e60248201526d1054141493d59157d1905253115160921b604482015260640161032e565b600060405163a9059cbb60e01b81526001600160a01b0384166004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806107da5760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b604482015260640161032e565b60008083601f8401126108f357600080fd5b50813567ffffffffffffffff81111561090b57600080fd5b60208301915083602082850101111561092357600080fd5b9250929050565b60008060006040848603121561093f57600080fd5b833567ffffffffffffffff81111561095657600080fd5b610962868287016108e1565b909790965060209590950135949350505050565b6001600160a01b038116811461098b57600080fd5b50565b6000602082840312156109a057600080fd5b81356109ab81610976565b9392505050565b60008083601f8401126109c457600080fd5b50813567ffffffffffffffff8111156109dc57600080fd5b6020830191508360208260051b850101111561092357600080fd5b60008060208385031215610a0a57600080fd5b823567ffffffffffffffff811115610a2157600080fd5b610a2d858286016109b2565b90969095509350505050565b60008060408385031215610a4c57600080fd5b8235610a5781610976565b946020939093013593505050565b600080600080600060608688031215610a7d57600080fd5b853567ffffffffffffffff80821115610a9557600080fd5b610aa189838a016108e1565b9097509550602088013594506040880135915080821115610ac157600080fd5b50610ace888289016109b2565b969995985093965092949392505050565b60008060208385031215610af257600080fd5b823567ffffffffffffffff80821115610b0a57600080fd5b818501915085601f830112610b1e57600080fd5b813581811115610b2d57600080fd5b8660208260061b8501011115610b4257600080fd5b60209290920196919550909350505050565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6020808252818101839052600090604080840186845b87811015610be9578135610bb981610976565b6001600160a01b0390811684528286013590610bd482610976565b16838601529183019190830190600101610ba6565b5090979650505050505050565b818382376000910190815291905056fea26469706673582212209ca59ca3b1a45c0142169edc7d5c3e7051782a57f49a40db6fa82c782f3349f864736f6c634300081300330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054be84d31b2ee049dcb1d8e7c798511632b44d1b550058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60543fc91a3afd70395cd496c647d5a6cc9d4b2b7fad0219080405581e03f23b18f71f6e0e03c74798769b5488f970993b95ed7aa42914dd1cb0300f0148085d74ba38e152eb190c3c0323dfd4ac8587d16422c66dcfae690111b7c44c1dc52e23dcabca040c956d8ee40304a1271a0eda09147fffedce978fa9b205686134019a6c581d2d671da789e60603bcf6978138fa7d3c3e225d6aa5ec0540b3036ffad032bf98b32e69d6250200d10219baf7037b24f4058141768eaf1b313a7a2e3d31b998b064a1198b6e3391cb63217b8d5503a6c0d2ab4bec38c38f6a276215066629523b2c0d7dacca44cf35cf8a76217fb3037457a3ec10a555aa0fbe1f3c2e33fb4070c99628cc344e8b7bb662ebac5fd7e603338808172bb8bebc9dbeb9536cbfbec62d58c757515fbde5e2e9211a7c1c189303bf5440012d986361be547d31a2f740a64f7bc0d54b875ec12fb38091f950d750037e2c2d37bfb8d14108652657e2fcfc56660bf29ba7d2ce6da57ac2bf58c075f30219ffff03f6f1ca7632819a6e0c54d04ad9150f01585e12d3cf36447de2b7bca72ef38227032edd2a1c22ab24e0938d679b3be813339f4dd1822a9ac7a719c851dc3e4f1d8c03c867a64abc493cd481a75cf52b253ffbcdd073ef3bc61bc7586f5becf2731e2b03c1fdc486b9f149128e2274030eaec7a54afca92407fca743913da6e153f473ac0219ffff03f5d85ad16d8bdaf7af0ec523c3ecbab199e7cf4f5fbdfa69fe4af7b4cce4877e037ae66864e4e4580d12ed8576c6be8fed63b310b0097c221779973526477e90a2033b50ab2d358cd77931dfde1e47c15b62c28531e999f098678e0de108912d9521038876a7512b3927901b5ca14c0367b03d9c6f4063f6111ba95b55f78d509cc65d0219ffff03dd3161efc19d1622d850570fc15ed5faea50aa5d3be1b4388f4060d2bd60194f031058199b3d1716dce692ca24b10796994c7fa3dd7ce39f24bedb0e964f6b3e800356fda4286b7c3433d8a9eb077180c3c3b763364187c8cf0434fa910f63bc0a9c038b7fe0db00408f56dad45fdeeec6e851699e3b9086aa37c7cfb6c52b651c131803b6513664657cd2b83b92b1dca73fda17d9175a36806122729a08f82e1d0719a7035c89e5fb8144a53965f8e816df526d5a89735d6c5fa3e48897e9ec7ae6747c7a03f83d7bfef9571920a56c39a4b70c072b442c62128671489221f545c0104e3d5903a90dd7b293df61a826654f3deacf99552d1dd31991c794e5f0092d7ad3558e01038a9fca9ab89d6dcdfec7f5bcaaa8ce1d37ae44995c44525a81f4c325f9d2a7ac034c7c897501665167d1157da419a9718c17bb9884e694648911529b681da0c7e405581e03896e8075c757d7be4fa80a2dfec4b03ffc99351c2b366568adfdc533100c064641ccc15d160805581e03f1a0b6501ccd404d6ddbed199310aba8bcc2f11547b455b39e980d43900c18524704b57c539a442305581e03cf92f549dbdafad95bb33c0a26b8d013d840c43e36d8618d14d0b25ad0040205581d03bede7a5fd6bb8c3b57de3a5b9edf910b4c0f2cfb3c3d215d476ba8a00c0142138005581d0323a080a5b591936e1f3f733dfd7f471ac4b3f32d954819ffe329b560084822b1c8c1227a00000219080405581d02bb0fce15261712449b90014f771a60824140c3fa5f759f9add589ad0040105581d02b38e02ec7f2630862ad71521c2e2af08d99e301dea3e8e2ca20768c30401021948800343a948b633a3f6d4c73ac0a9dd29ea7c8ca4ad0bbff9fa8b05ac14aeced5a0d501410705581e03036214f2597cac62d472975586be29564e511c2af7ab52864193146ec0040103f8ea5e32824fd58edec3d2589d3d41b99f7c6bacb09c1eef2700f32dd1c3269001410905581e03d1052442ff1b8f8c336d174397129f9dbd676988ab55ffda5c0b3bbcb00401037c764d7b20b3a2cef2528776af549b65e45fb645c8bb26e3aa932bac7b24b02c03467001593a5088fb41ad135c1be12662a99dbb026e192612410490bed8d5ae7305581e03ee5d1c56cc912ed7eb802bf1eba699d898136fa6fa1524d261aba89e7007011bffffffffffffffff05581e03cb808d417f39794f9df01f581a55c24b559a508e61dc0c2198a178ead004010219f6d2033bd2e8926dd764c7056de607fc2ee024a5377b57294d10264110bc16c4558e70034f48c228a903ad72dffbabd725c0794517cce92645a41057c8199cc9df3e836b038cfe2d35210af878bae69418e52d3ba696a6d7bc20882d6dba8ac56083c76b3c03f52e2ab247a6055a5f4e0a469baaf4691f368d6cdadd21903a987aa296fe586c0384147e84c4b2302a2ab4fced20e516cc5e803c4d9bc153544921f25392e6cb1c0387679708b61590ce3c70d773c42b36ad9fddc9718a2047b22382d8bef0d6c9ff03e56adfc9119dd04d48b3a2308b3ba4a94359e11b89ac7d16854b6d583d580a120391e59207cf31df1bb20c3ed46b3068bd34e95bc8a6765b411afef1d6de5a38d3035e3a81f85bc9ba84a8d776df37c9629eb20e53817ac217cdc3f99b9dd3bb3c8503154942536fca30bfc1721d82edca6f354b4af8c2e4be28f99d7e9adc3966e02a0305dea26a5b3331fc2b14bd40fbfc6ec40ab1737c37fb72436dbfd1cbdb54f93b03af0f55ab0241a03132e32b636d802261b653d722ed44100282be4098a5f43a940309324c3f55c5c5228290343da28e7d7a796e4ba55c795e3d4b30a153f5f02ee2032447929dbd5b71a23274353a09d3e6b9aab3ceedc4c23ebba6d0c4a5d23613b403a0bcc4b88e0490dc5430ded5f4809d7b96ba8731dd64c813b9f34891585c93030219ffff03d214ec3355487f60258467a3fa228f8a91b301682074bf6858564ea513d75d4f03099bea5c06ba17b1a13c89bd78889ed2ff4face70c1b8f19e751de7d3d79496f03978e391fcdc75dedb5b3f1e5895c9b30e3c7bf697de0f4579f1be2939d3091a9037502d763bfc4ab0b8a4fb54ce810ad1226dced9c2212b9982ed388cff660faa903f317762b2f09eb29d553d7947c185abba606e981e15154714d9f318638af2a4103c50b91720cb6ce0066cf1fe250a7edf8e6c7e3d823352fbb6e7330c41aac09ac0361bfec5ee0447c415af7bb455d5677b0b158e9a6335d23b41a38b6124279315403c85d0ec684d0ec3dc8fa7da92527efc767c5b6e6ba5a6436a2688fb1c8055f2a03913de74a7cffdd4fae7bc0c638c17bac673e7fb1cc30fc0f01d785f789ca9cb803748cdafe989b6aa741c61a4e7527ce4e8c7f210d25540bc71dd693924def4a810219ffff030c7283ff0eefebd15bb982749fd2c5528458dc4b4d194617e6b7281597746126033213904a8e9c4379311b4b4ddf7878bb0f836f0ae9ed4f3d01eec29ec5fdeb000339dfd6a528ea03381422a064e8372b91add1b4ee94d53b9b06934e4b735c95ce033cb506be2827b330a463703fdfd5ce18665de4c6be38d9895a39f25c24c076a903ea334a87e0643cc526b076a1dedd19e1f261567e3031f16d3784a989c5e6d75503ae0488ee5a3c3796137803fe6a43bcfd59f4197393fc326ebf848e549ba8fdd203e8b5b14b2e4c9b7c4d9601cac9bf0f75a12436c2cb45bbb13d9b924f6cd14a9b03a43aef3d13c7005ffb0ccf8dd5b443bb98270b3226e8ec22c41e32e345abd5590379042087558917c628248bf84011824b9cc359997c5e691b99b9fc8e8113a0da03514135602bd14d8403a3a6ac539adeebda1e7687e813cdfdd4ada811c435916d0219ffff0306f31435742acff03219d32859a0ff002a1832bd98797c2525eb95b57690a7910344cd8bf95cbd9934cba43ad5ae5c5cde1f9ba14a7289de7625137260fb976fa503614153ef816b4d3d3ceb7d3218f5d80d5e14c35ca7eb8417adbdba42af5a8155031b95f2510c438956f4831911d848a3e8ea3502b1fb0146c6331e11f0c31a269b031afac2e4b49f3a330194712c6a125ca44c644c463b9d33937bbdf8dfacd342e103515d95004ce8dc7adb57c6b23137e391c381101d4a86b8d5f57f2e2819ffc831030b1603c11b4e365d148c349da90cc990d88e18775ecec1a6a2cc4df6c622a0910350e0aaeb9d9c3a5d6f9eafd27f92c7c3469e549fa1a492a45d37efe701863eea03ef077ed390e4d1498c024dbd4c91b510f5f4864cab65b4f928dddfcb023e4a0d03debe69628dbf1fc557d3e5d82c3d4c685fa8d0a548abf9135b0e9241bb5e19eb03cfb187778f79530384605f8853d4b8d38b3c85d19f7a0e113f6f9d9c6d23c8dd03f4dc9ec178a7bbbf6b6a015a680da4ef2469d2c9e8f916d585dccc5e1edc97380383107a7a823604b412d68ed7c44f1d40ad5cc9a2ca926606ff4a39d57ad570a003a06e98fa236a00770f0e00e03c5ea72634886694ebed3e2de895de00db78604b03e1a1275e05505ee6d9c1d27ae122cc0ebccefb84178c7a251c1bcd1cec02f1b2037da4e6cd33c37045366918f3849d3d14e25d837a79f9bff02ff6c04c32a7905e0331b48a970579f07549c023d3aef135280fb0433812efd783f02ea4cc78ce914e03a8cb8e5f74069edf5300ce74e33a152b964c85bdb9f000606e7c797ad91f44ba03a268a2b4e2f9b79d7a8951e8956e82202d9de83409835e7f965d7d7e9a6f373d05581e03a4815bb6e13fa010c281c11afec63413cc67cf19e282c734e688be2f60040105581e034f3730a31dc968b04a38e4870c6148677a1ca73dfd77b8cdb026b33580040103e0d308c354e48c2c1e1a61cd71a9affbc934c7d6e0710235c40eaecb60b3a57a01410703b7ac091fdc3def6fd1ec551843fbb68d91dab669949b672f3124824630597bc403bdc5b008a0914a9c98a3a83742d94ee87f7e9038112ca332eb7dc6c9f49b2c5805581e03d21077fd69689c1d06bf993f180f8e9426b1375805108f5b5bd51576300c0246574e02c4bb2805581e0337ac8c1973ebb7f5903f7a9ee3c1a5b7f48440711fc3e6987c970c53500c034814a6053ac6aaeef105581e039c3bd5f72d798acf92fd2b7e7660af910a35d6829b6f894f97c2f7daf0040205581e03cd2dd013b3e57321e687d0fa9dc00985c5e0403d1067efa123b5f763d0040103e252c5a34cd39ba6df1667e320e61c03d0971cb112d84e4d41f417a14bc762e8036660893c011eb398e1ec976d456aaa45f736491d664ec4fc990821049468112602199d9f03834e4c64d52d01c48e2ad871de410ba8835708e11665a9a18cde6c8a1fd0126c03534881bf215690ea251079697ad57fa27b5bfa3efd9d758a0020889295332b4403dcc64035f809c1c8e78d57b40970d0b83aaf3fcae0dd18dad3924a172c56f12e03ec657753591387c019ad1c4d72007260bd013151888e22f67456b003532a502b030bc029c95334a9c3efbc460e4f928473dc2bbd64bc57f8fa853c924eda2b3aed0305e246d8cd8d7b9a06e503c8de9d7e81c97c4acf2d4871e02384c643bba2504b036009d45d73a131dd7f78d5b0825982e038ffc767a246b8c2337361bb8eef0ea90388e3a332b93246c0e9b78029ed5220c4da59a237568c9eb2ab9adab316397a84039d183dd39c7bcda362515e64e69df11a03fa8b633b4516ce5dcb54cf3f966e0e0300eb44a423cc4f6ae6e9e9d8a9c194b411573e5cefe49d1bb2cf3191067382060219ffff036a0c09257823eb3360a42c0638b67c7e059e49b47c74c271e67ec93bed7da47f039f6db240e7ce4b7d5049950f7e4f340c8c533b4ba40dbdb311e9826584c247f5039855583b3cf7082f8324cc81e2f1ed180afffded00c0051cf4330d27e19940a40219ffff036685195dd269c8030099018ee495fccab1ac73a41fef07a6e851f6fbf1f22f71030eccc4c1db6d30c38867058df48b77f57ee8535ae445e4681b989f2914d0edf203578fac08b334d393788099286444f76c816cd4f6a94f5d9f26a21289a7654cd70309fe276004023fb302f9ea0e9a66593a7a530ee051944b456569d590de5ff131032c832b06c00ea4cf38ca08c656e4c921bfee50bf0375a028bd059d4ea23608ee0317c28f0cef4e459b72e0a79cd6780c44e13332a76946358b4cec37d7fb93d06303670633a5d1a4fca41aedf5b285a36337a92b83f0ebc6e26d5ecc9fb6f4893a5c033986740ebe1455d15baf6541823c3ce455bf6fddc79f3c913ff1af153ad5dede036bfdbf86073b1f806321964ef02f390ffa5e031621c73ec3e6ed130bb299e16703192c04104a0a2825231dfde3c653b3ace2e2b2681ff23a0dc00204427a26f0ab0313bec5ec73ada66743573049a1d5760c27cd2da84d25cfbe6f337512e3c8a6ee03260920bee22b1c83f108d90106c75765fa7a3ad4f3fc1dd049a3ec90a5ad309203b8a2a390178dede17838b8ca8830721ae8e035ef27a0e05e830f85fd55b60d470316a281b7acad4c96408dc8eee51ff9ed0908910f7905f584966a67e3c47e60b80219ffff03616688eaa68926b604e308e003e2f6d1bd431701ecf0e53862740161ac784bbf030958e9be13a81b1881c547a72367fcf2bf07f5689289133b3318728ec90e5f0403e3c940941155b4033b05e42787e84dd9798408dd991f194357486f95910036f703d29823ef94e11dad796f76986d643fb4710d40495a500cac28eeb459320bdf6403756f6451183d77fd1254f94b429ada1f12630494256ed6826117804283d7d5d503d7e99c52d456ed3a978373602d11592f6942f03baa7971c21c0735b0feca6882031a1d7364ebc78052b494e2544ad4acbcd70838c24f8e67783d69297f9dd119be0371fad4f5517545f9368683d2fca55498efb4e7bf0530a6d31bb8f1b236f6154e039165191258ae4e96de2510d6eb8cacf5c1a5a92d11820014365648034122f00303d6e20aeb788cd2d96386000ef43437036b2edb00f2d8468a44f6d4b64866c88603c48c6e96970ec979b60900fb6d4a2176e24dd43304fc49b5359c04152bdaddb5036db12359f7e43753611db4a6e0c993622349575c39c91cce1d512fc8ee48942803daff8e74250b65e9d91f0b05590e503bb9ea39678e34cb4cad54086e7cf3f98e03aea73fdc7af6fd7847f4161b29e8218869aa0dedc15ea5f68ac20255596492520307aaf2e9e7617065732b6314bdc0586c7659a5218c62329172cf9e600ee33ec603f4e19925a5dbc45eae38f2698845bb63f22e17492bb33b0810dbecfa6ceb452403c3e54e868f14eb5ff5936c1882a5d2b157af0fcd4512242d4fd538f42127910303b295a4b30665cfe8c3248e61015ee3ff7771132a65766393a56dde370678a19203379ff30553ec52f0a7fe8ac48b319c752895242d7632a203cf3429d2debcfa8f039a0c63f36af81b540437bc9a0de8f6faf05a9be57bd17191d15c7a12470f3bac03f54fae90c367da0ea1a5b1faf2012d21cb4d63b5ebfae4ed7bbf1b3e4f8926ad03417fddf080ebd633780918bfe5f5a6c651d47b0acf28b40160199c98f5a1285c030b318e1deb1504682c4ce922910d67567317446ad0c43ee10ed208889eb99e1703f5cfc919943e8f09c4fe2ed119a94ab3f07a97e2c80d39e9b9d6904fc04172d0039ef725c3f2b6f0a77639317a9d5c6d8db752f23029afe0c17e7d8128c42338dd0304115c60f7076b19895cdba7d7c2ae068a28f522c936edebb527b20ae7dba8d4030d26326b5f8f2adbf76b24e8e6dc7e59e37e57874c06c89a13ce0e6fc4a553880326e2b005563cc716d6935e5613233da4ea21791b3da57bc72b6e9d30c3b5056a033895de0436754dcdc93f15764f41200d7e86263ff966ef1e075a410d7913ffd60353f303a86c27619b1d31ee5b49cfac758e59d1b1a5a7bf276d999a9a6907b5d2030192fece78289e9171d2f84c3ea76c6b27071619181c0ffa2a843e1d15e05e6603bee0d2ed0d68a25b2d4774fec50dd16dd90fac7237d0d923acc494b065b7eaac0323fdb73fc5c3d8fd7f0658caaa46e4ad34e1b1882dc06b1520655cfa3354d07003084b21f5987f9522b66c23eb5b8c417f7a9d14f29378144b4d389cfe0567791d034bd119823ef6ca22e05cde17e8250fa7fee67ce253ba431235c81dfead75135c035cdcdee1c656f726152d07375f880895077c0a439f8319465c3484d55afd538905581e03bf14664385ed5d8e81e33ccf60e591f5319cd8746aa2d1bfa1843c59900c02465e3dd7ce6a0805581d02a361d48789ee0f2ef3a32eef27d8935b6ffb5641429c8dd38c7ea0000c13485a5454a3e9da18ca05581d022f0b793bbfa431cf480cd7ed2a3cf1fa803cd2bf816125034c66e24a0c054702f11219ebade7020505581e03cfa9d62b2f80b5e03d45187de98574fbd3433dc76ee8b48bc739fdce100c01474587ae9bbae3b805581e036aa4bf6a5eb3469674839e6a854ac4f1b67709068083dcea8afc6e5810040305581e034c0b4b6e89bd8f289277b8b02d050c3057a88d5c69ca863efc6b0063c00c0146105ef39b200003aff2c4b7bfcfcf793006a29501ce9494e3a32686a86a647949d4cc6ced5b5a7905581e0317c90eff8a0aff373b7859ce0f48f89702d1fb010c88bdabdfa32ffc300c02460746a5288000034cdf21c8e4ddb9873136dc0fbd222e5b0d616050ec7c9095da1303b918403f8c03acc3f894cd561a1de3957ab32fecc2df42c32107081dfbdca8432c26b927ea1105581e031530208eac503e1bb043d328a538d45a51dae1ecefcb5f6b81833e58f00c183747086397e723e386034aed7d7f2c03e80d83a48bd4ed84224ca2f63ec1291438f4c5dddce75a6df90203b604d8c302c3e6f3dfbf66f1e3d3db1af7d8b76dcc2cc4f2728ef72ff8a8acce05581e03b157025202224958494283daed00ec1c5912da70a25ed1da85b481184007011bffffffffffffffff05581e0387b5899b3d3122c6d1f365ebad12ad64c225f316e18afd7691de16e3400c014718883e291a60000219f77a033f4d701cd92cbc8fa24f9cf7d5d8d7b1a86742ab2cb939c4052a3a5eb3c24f60033299d708e32369b6adb25e01a814a4d829ae45781300aa25bbe289847ac6bb0e030cd8dcd53f223fd1cb15a6e41a3a0040c9b527b62672ea3348d9156c81ce2998038f003c5a6079948077fec1f3a6ea9bc0f6deef3c78a175ea977d7f2d567ebd840219ffff0377341daf3b6c86df276765023d52de0cb0ed50fbde3e6158dbcc94bdf4aa0acf03d088adf1fe30061ee3d27c2004461d7ed8e56ce45de096f6f58f841669f2504303e2b97e8e6d0e5f6757426f1aa67251736f136da4516977903b02962b1896fb2b03fb202ba44c7a313515b258c0e1af5e6b1a96e17ffbf9d8d8d851493456f9ca0803896807863b7ce120a0887ae8e7c03dd6a6af801d41349eb0ada2386af66ad5ad0219ffff03cf348549240fee898e0c7364acb38b57b7c3bddf087cfaa4cf8e63196237372503a87f6b76b81434d0acc77c133a58cacd5ebcd180d1b4f111fc30a236d85f0c9b0315f753a38745bca225b3352d00e5b935ac07cba02d78e5e41c70c39b26d2c3250352dfdf0dfa284b58843e30975bd65c92444aac556bb0e1546cb0a4968e945f2403f4cb4623e721bdcd82288b00100f03085807d8b066d6d642e90bcbfc8b56d49c03cf2f97fab31cb2bd627d4f5acd5d5962803bad159301deebc1d2a4ae63f54cf90219ffff0219ffff03b739a0e3ae8c65ad8d21880948b410fa2e88e7f62967d07c8030e1196cd9e0e803ae7305ffcdb0bfc8c89f489cad1f8929b1af86fa94452b9d1e652c461102945f03be68492ade24d51f955e26c2d9d910b02bcb86d5ec5272d7d030e4c84432b94e037e500bac9e6f63f371b2d7c3eed397095cd628ac1e5c391fb214d90df27d2c8e03e62eca4c28d6bda0e3f342da87ee67259c7794442fce9be9d5d372d864933b5703b4e31cfedc03175d3087ae3c6bcdcd1611e9335564eac96b318a2c49f01f7c7003ec3975ada036787942b29794023f54a8c1edd41b9e0bc3067635f3c653d71a180385c749116c82df22948131faaafce6ded11421c36949cb6e121ee7d717d0d52e030ecbff618ed1a67321b31000eeca8290e2d678fa54ac5a8028ef18dea982b1bb0343f6e4894af4a0e9d6cac90b24647f93970a6b837411a7fd73d3c36738ae687c030814b0f3267707ddfa3205818b56135f1d9df292253922bfc1dd3107a2c53e6a033eaa79f99ff656cdf74d1647a9ab14c1b306255e90d0629775a6f30acdd78d8a03a7743f73c9e2c7321692fdc378d99d71f75042a6ef86413e7204df4952243725032325fa0baaec532db79bf108aa379063d2ed03706cc73d9b303e0a5d8ebfe332035e4f51ab2672e3166f6d64cf55bc1deb6dcf7b3ada0b27f32a8e197ef1249e0d0345f38fc01dcb1dc7d2124a7541e0b681158b11a026bda0cce35671c83ab94ed20333b53d6e8528e01ccf3318c378c4f0aa288888924f79dd83903041237863694203a87b16c8dbc2a1d4c5f9b6f179dd634625a991f4734ef057c292e93424e04dbb03280b89bf354c0040cfa622b9b4b043c183d55b9dfabf2557aa0aa7a3cc997d2a0335108840c6e2cff68f24153e018bc0b46f3306c3ee888c76e51103fef6bfe112036811c640a3cedfef66b763f254ce486929f65b5cd9683a17b809c640b8f83e1f037c4d7fbdc0a8904b7a7c8d88180b5a4a9fc161839a1ca668c9541ff461a9360a03afff1d52eab9c630c054b051fbacdd12ac15e3af663044851b846b320e5b030103ebf1d7bba61603e01a1cd9df999f49a6842345a0e6dfa67a65a91d169750aeb4036eed94d63f2092cee49516756a81973409e5f28548cb8e1dfd6b28f937376fdd03dfbd1eb3364ffac8da115bd4d1ec07201184ab60967288c31a347b4e162090880380c79051ccb1c6e27bc12a05e1048e53ecd63567577df5b7d5a05c72614b78b903d038528d7ab6d4727377df6281788b896fd971ce239fd6ef2f9d71f6a25daa1a03e2692dda0a19f49842f1fd92781f86942142f5c1695efdfbdc7befadbf26ea4c03ed0eec75acde3a436c8d6651d114c0024b11554882d66c36fb0ddf76c0cfcab803ba08175df3a40ba3677225e68da46a0d974d4bf2679ff98f835ba60f8ace3d3c03a3859059855f2015082e19d5904ada721b67aab2cb56af3a5361161ec2353dc90347adb69244bb5c5211fa3083ddcb83db2429ac815611b4821852f67a34cdd1db038d23cf1ba082d3781ed880f952c2766daa36a0cd7c53e6e1003fa5d70f7b98fe03efe3d00cc16155aa2bee8e3ffda1996f7956692670de43890717ed43a19929aa0390bbe7f0782fdce77fb986d622c864e42e199141239c709883d8002e45420ae703f1bd1ecce959cd5b34f499aeebb888276e54e1ea7344be0b3e82f7e12a90087e036bea6c6fdaae0a8eea16f4b478827e4513c0e9681e7ebab290b5520fb04adafe035f3e9505a453593a01020e23b2ad325fdefb8bef653e283b100ac480612d5c40037e6d49d68762458fa6df1b760f0ce6ad7238288ca104caaab76e914910c2949905581e031103901e04aca8f99a1baa9acb8c646032996b9097cf926394946e33400c03465d4a0c1b9fa005581e03150fa821370e0f663f31d79fdcb32b6c98fdbfea075efbcfa7cf691560040103682c4520fe15ffae2987c780585f9ff8d30ada1be8f401c3feb4953443169b7405581d0246519ee3f642478561cdb67b5bfa72c257f2ab79b00cd84ad90dc0130c19caf549048fece65e3df4d53605581d02542c1c6886fea51faf445045d50d92dfca5bf065739f8f079a17614d040105581d028e7f3c5c168b124f414d0d139f4a4f4674e3776f2364acec25b1576a084813013c7e1b7bc57702182605581e033308fd125a867a6a0564a262794b1c1df7670d31cc360adaa1c3f4e4400c01451dcd65000005581e03fd536849ad96ca44051d62ca728d7a1e938bf99fbd33bdfdf1266753c0040103093c0534cf2af52c875468e6ba3b9a480e3dfea601d02947e414c381fb4144ee03968f86e185af2543fb0d9d7b815ca2ec9867d3593cedf3d98de6b17dd03d8503021989e70219ffff039872921e57f7ad5180aeb5e4c467c1ff02d9b47ec928f97ed1cc79335c8f27c903a5ad8c251ed6678d81fb81f1871e34b6962621c68160f01d0f7b804b7a6576dd0359fc11cc09a5e155d8a26434b44b6f072461c15462b6f511d5258edbfb13204103a2fdfd6b85058b90e8e36f82e37321cb856231198081c04e6c558dcc9d0572f3038f13447b0beec0513c89c1efb77c4fc232e4a4192fbda62894fc727bf04a7d1b039860acd4cdd7d10694d800f4fd69cd0e17fdea65a8ce6c24b7fb80c2ccc7934f0334eafd6b83960bfc4024fd05dfd78b5eb6817dbf2e6a7764301a172e07e845c303de8990b35bc9c48d0b8730b0cb1d27517325df26651365c5a1298358870feb010219ffff035280dae28e684b61281ee1f3aeeaa431d3ff5f2f9b837e5b192bca377637c09b0219ffff030997b345a2e7a44451fdc42500c402bcd9e4b2f6a1d4d1fe153ce33ca6a9531b0394133b5369336d9f90fe56f455753e9e44ec4847af3d4f4989769689a270e8da034183f5a8c630d24884cf370b4caa25594b4491e728c99ece15e64f865306048d0302c5470640e5edcac0ba471dfb133c87836b3149e24423941ae259f2362a525703bd24e7058244a2859bcc2f869eafe8845fd5872dce081afe5bea69554596bf03038e2b9d94ed7650c9ed89f374f9bafc1332b4afd6d3d4783677a267c727f85d3a0389f3aaad0180673d946f04fea68613245b68d78aeb2df07ac64c9b945c6d41a503536880484f0c398b7bb9fc5af6c18ad8a25e9b97003c2610e050cb0c8380172503394c027e3c768d659d9a4148c52e4fa9d1d3b44babe926352713fdc6da6ce54403062178dc07c3ae723dc07a64acd60b160bff7ccd5624ea7523cdb844dea01e5d03a96d03da22a122883c1976c51402ed7cb55ec350d7a3100978a5af13edfabc1d03a26ead91a0d4d817bc4649cfc8afcb00370289a369ac442310ff86caaf7bb8cd033b4ce73a8d6a5846c0797c412b76d0e8c81bd60d88fc0434a070b15f735e27d403147ed2cb9eb9cc0ac80cca4342971659c8b9c4b8a2d8c3dfbac1be44e4c54f660366f81a97e7adc50bb614a9468fc76f275e5dd52943a47fc2577f1c493009af1d03a0e17078365fc9752fa8bcd32d6636071966d03235128fde8d8d1b936270233903e8177cb7d6897c0df435fd6e29fcd604abc7bf73d4da92afe8da9aa9d76eeada0325245dd5505479390f99ca38bb2624e22091ba2403a75f426fa374e6713e5298034a8bcaed29bf1770456aa7a6bc8b51b60be93fcb55a6d8797983001b3107a909032e157d56d5a8c1a79040fbd5807f937c6c4066ab357e5772d8d65963bc96f257031b19ff1e1bbb4a08a7e3ccbfda2d7a02cb8b211b256c2bec2136be3453a2c92b03be281349ee045406c9aed89bc0cceb6036f4d8f9f2f505255e5bb3419b2bbe9003bcdf99959e31bd05ffdb3fa8c7769922f2756196f66a7a1755241e0bdef8beae03a119083389a6a4e424b662550001150bff99b235b6607d7b786b94d4f44a5f05038feace4c9b81d7aec063dbdd580cc581e1ff7d611d1890b0446309ba454494d00364f11150f7d87799cca969ea4685d11e580fe63767205aa7791f39bdb93a855d03721672e2b4e077bffb19d687a1025d7ad44432638d0474af15d1e84be351837803e48326f4ca1f6738ef033829f5f9f57eef39383f5552ee4f29220b1f7b8191be03c020d25746e644b1c18ed4b70748689098143e9fdefd5e53c5fc2d368ef97612035e0a5b2d271b9d76a4a98b77008f8a6d3dd2c1b9d84ac0ce91ed8220faa888d40307e37f3d43b9a54390280b636e01ca9cfc9a0195727da701e117fa379ee2fa0c03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03a11c3682183ebb3ae82dfe896a396190e773b52b7f4eadc3f206e1da3007011bffffffffffffffff03932f556568172a38ef02d4dfe0c5f74844250c92e221321fb2a2a262608acd0d05581e03ba79a659253564b169cdc5fda175cdb5471f00efcd6bfd8692cd2cc400040303b1503e5f87fc8ca1be0f05c2399b1048a0f020712ef59f06dcc261e02b5b2223039587aea19b6397c7989907075be23dacab39f571bcb70ca4b8582d547ebf5798038447ab1c6a5d3d2b7ea17aabf960e9db4899ea60103960fa07e4b6be61c3edb905581e031327ff91b394a08fb4b5877b7fd8ca57a3748a9ae607c1c98c61327080040305581e0357925ddd29a8371008c425ef5e47b18e691adc79c0d40d6eb27066b2100c0146c7c57d7bcc7005581e0340f714b6256445269603ae0183688cb239f96fabfd800ded52af8d76c00c1a00036b7249012a54215a8d2045ae05581e0335dc5a6a89fd926c4d0d2ec42465560194ccbffde95ab55d42803499c00c0b46487ceb23fd880219d55e03f3d4b5ae118afc499f132b2c078bdd1971128c38975426cb7adbeb5e60bfd60b038d6ef407a905e6d925ae8a5c1325ece98e003f9c51bc89ecf58c3909ce2697bb038e40d2fd5650b13a99db6fe16c475545f2bad83253d834171ee0e90585e36b5b0389cf3d5287e5599756cb87d463e3a12370fe2b9f3e8af1c370b719a7316a48af037126334e48df63bf4fca948dbad071d8876e3e987f18f63d6e731ce6f7e896200219ffff038a735c27a35480dabe0f08cc755cf2ae15af92c8d1cd1990e3b356bacc6a0f63034ad2ab8d25a530a5b2eecf836c50c2957e4a3b9d8305cdb8a9bf7af848663d660349153726090cca631401acf179d69cd8d7f333f152fa397d865618365193b8ab034bf648757f31baf604556636b85286004876c1c487ea48a6efd35278ddde43be0373fa7ceef52b1534860437874f9b909a69e881ee6a56c6c9e0f3d538d7b3a0ee03f5eaaa07c38f6c9db796d416aa7650025c58c402f0ecafffa9bc818c8a70fd9903983ef37c4945c17ae950c879e332c5bb95bf383932b7f4dd519a9449d7ef10340348d300cba555206ba7ac31d2a69da8ad1ccd486301519406cec1e6774c425127031e1ba876b796867621c35e568cb3282c4c5ce7bf75e8f2c591b5846d5a930d240219ffff036504ff7138f7d07916f8ca6891578eca79e4405a5c596817e32bfb71d911525e033a658a22041a5ae016682e592a6be8802a346760f86837f0926f74b35070b3fc0219ffff0311cd5ee860c296c9fde9459626b6ce2b0452a148f9a233899bf3208fed98ab6303f1b2c81a7200d18c4b9ff4c987910f685180f74ffb029d86173ca51502b533a003d85c131cf4f1bd06850b63840920b1e2b0600c5c85bbe7affb48627db7956dee0338cdf2a1d0f67db24a9fa6f78cb6319eb0d3565827c9a0fb4cc4a1e9d8cca78003063e7e105438faf247d6fd5d4af030a57d43423d03d6498f0ccf3dc2c7fabbd10317f913492614db8043961b3210c774e82c7b7b68a4d1d1aae508b9fadef6414703083fdcd71d363726612db868c41a4e1ce7c4f9bcce369e83b9a88bc3208e09ba03cf01c98ee8955bf2dcb7d83d3e4f34bb194a717c9f0b6b176a534522f78214cf0368485b6aaf5002702848909498f5325e4d5cc0eb94d0652f96d93501a13c78c503b3a7eba2dd6fd7d2df3f48ce34c4f0fdd96d6a80c35ee383dfeb6fcd1edc862303108c106d825a869ef8de0740beea3cc09a89f2d36eadc50cb94279b40ef375fe03da56278ebc9569513e07e09d6bea646b9e3ae13df5754504731437af31ef25ec030521ce778b4908fa7df371fa30cf3d3c69784ad27ef84c6568f4bee356869e44039d2187b87451477383a51b143cc9b5f7a2f3a3b1ac624e8ce86ff71d4e8d08fd038faed9bfbcb7cd3b3308374c82b4c0719674aa0366796b8661cc04de7a7ded8203a24af1cdfdf03f2956af5f135ef839bc36ab50a46e6d0e2848cad506c2e364370309c015faeae7e777237dcc6f5ef0477b8f8e4ce71167f5c4b0b69d492eef58c003e7d873fa64e068572fab106d0c26f038a44387e834e4e32005b83cf8beefa32e0301ecb7064a86fb3f5242b7c518850f7a0151390348b217b14d671fad7c7a10e003af106d0ac8bd5028b33f27a0b14d9bb5d68249a1dc41909cde5f550d2973c6f303710215a3795556a4ea0d6cffabc507486d4c7ee295b897c72c1cdc2596dc7db303e5fd27bf8b0c8f1cf0e882d818009456aad878c7e2137d360182ce3d70a1dc3e03a77c2f9d61ba8fd9230c4fe068c461823512e6fea6e60b73544fb4aa0989935d03a1a67701b67fdf78f9eeb9b5ef3e9f3a9bbf8c38cd38db47e7251c62063ae9b50305f075c1fecb226bca0da7f55440b850052ac5f9ad8612ac56ec7e4eb9e21033036581602d9a1185cad1b397567cc51f86517106fc35e7d65e53e5156f5ca98307033209aa0063b50290115721f022e42adbff321961d56781b2bf672b0841d0725a032de9bda7909e3321e43dc5d2698f5e9aa8d4d8801e6273a4184cfd7bba27e27603fe3e7241d44709bb41a444dab38a41874c7bb2a7e52928f508c7f1af80b632b105581e035ba977b5551516e33bce890233d0749ae98ff37c9c6be14474c05eb0c00c0c462a91b7b71ad803805ee793fa991f24cf3c05c518c0a3edd7838b308f04b1bd68cffb4cc6efca610365d92083b0e8f5b4600162bd84bd6676a9b6b566be5cdf4277876495e197d91403647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d034679df709eb335a7df17aade4a65c3cc6c734dc107cdfd3d72ad68444dac4f4305581e032558d5ff0c84f27fb5f9aed304f53bdd2dcf1cc162178bbe24c8c44a7007011bffffffffffffffff05581d023b2e57a3eac18fcba543955eced588fe820b379469c156161e155fcb040405581d02c06ccc31023ee1f419825cbafce668ea9adf27e422b8e277677f3d260c034662dc99799b300219081005581e03f6c630473e597bf674b98e7626986df3e8326f81231a3f88c0b9d236100c02468a3202cd320005581e0338a3882f201e5e91d8361c332ec31f1935071b70f5f1575fd0f9b391c00c0645012a05f20005581e030bee59df3c8e0b14e0902ffb69341a0f2d1105af0a52fd40c7c1489c300c04466b478f95d72003e01ca6c72c956f2aa7337c4f41c03ab45a8fd4a825cfe4715010df4927b955950219779203815c0ed6bae5825415e114fa9f5329ad446c773543f45bf435eee24204c050a7035b45c06acf446d0e04a238555192cee00a6c42a8ac6419041b8648b1d59f732803a1a5c910df44c6289b2c8dde806e2477981112980d933a158a45c427a9892c8f0353d9d6ab8bec3881c3b5b4e4e13f773b7bde174201cce7da7d9819f0aceab673032cd5b58e0962fe9d4c6ec71b2c791ae6a26cbe281ea3b31da3cf09627d78f5a6035822826e520dea5eacd6aeafe412cd09a9cecee9963658bac99e8bdebb767d2f03ef1db52606c313b5501dbb6590b5bd8a49b9afe6a45331f31dadc0749ba89a06032863e5dfa4addb470d856430e158fcddb58aae0d13d24de8415ec1d164d111a303167effff5c3713224853617b199b281971dde4a316cac8ec16f3977009a8742c03487d51a80eb0f8c1afd988509ef072fb107ffb1fda87818a55398ce0d32e46a90219ffff0377582202acd69466624a66aad01584adab0746be45f8b41d7ea7a38745b1a56a0219ffff03011d2bae7990dc56057c47ab9a8e1f8011b1d6de2e2fa263d62eccfa1c15cdd403129e436ff3eaa2af837cba95c8374825c1c566a1a7939579246d52f8374762750318cd0fb449128d7c5cae2dbfcac72eed3599393fbdeca8fbd25e842fb454b2380398d0b5d0a0b2e3a573501b11cd8abb0302c8d85171aed31bb7522a3cf84a8c3f03974410092b536a9cc3ad79425cfb38256bfa4c2a8253cda30544035beae3145b0219ffff03f75ea4eb2ff92361b2014ed72bcf91258a9352b2f94d3232392a1cc23a0b06c70310701dc314eef69e51c106e3401cb057243b2d407236a7d507f3bd36b2cb4af90352ee91183c6a3ca016cc2ae5f0dd3eb4763419d986a22f275b1baf413cb3e5f6038ae20af9a32939cf970c8b4e2285db0a89539092d26724e1bdf1ab1e2ca35cec0312bb4c091d44b9cd990301c2dc15b0efcf4343f118a55f023e9a872dd9c7519d039c8bbeb6d089b5774e74352f31a6cde1d013f981c8601531e6feaa651e30826603032ff3a0d6cb07f4365f8f4826cbb48896c3f39900976df6392f402c4e581ed503888c0bd5d833c0364d2e665104b007e7888e32139b68866ca31024a0bd5e49df03b644e60415cf54111ae3dcde999eb609758513f94c246bca9e9edddbad3aca2503b85fca472e93753cc32f7a3c3a62b0f85bdfff5af5bf68d3b3b68505a9a3b26e033c35a842e4917bae333426c999a1b2b46fb77a1fda6621897b3dfd05e8d2c97c03e34262a6349f367bf83c1ba4940944e8a293452010342a136478cd727ae4922b03964b4fd415a82921b623cb84fe02a78d84bbbaff55e9f21ce1e23b4db9a7003403f9587ac3a00840e48572218053552558a67fa632bc7299c9cfc5dc9f4661273c03ef1ac7232bf00f12dc2544753dcee45cb625dc5f4788452e0ff5c2e42542073103accbab60224c04847bf871447da6ecf455fa6a0345858403371178950336968b03059da90a1c920a905a2ad1b3cb0e9fc2038505f3f26946072465f8aac06a34c7035cd77770a1fa698b3af9f70a861badaa5f37bb8493adb51be2b5ecb8a7f88bd705581e031cda83079a631f2053faad618c91e7b149af5f50a7c5e577e27aada6900c0a467f02eb1495e803497ecfade7a21bdaab406e3ef1a0f9fb1b5c71256b11afe26cb503a6f31baec00362bb035b5b5217641ad9cfdf421c99e7f49cdb8f7e4f42a6fe7f920eeed195de05581e03007d9d057e323a16126339f5488f7bc87d901468a601e7f21ce58674700c0f461e0e5417e6e0035953f1a26845e8e5161b7e6b05d35a2542a69497d53db9aa80145d02ff644e3d03d38220488983895f813b934c9bf4a37b69b425dc2f3835bf26271a8810581968034b081907a8c1388e940843826c707fe301b50db7ce6d8c3e75e4396bffc24fed05581e03c7658c632a6dabd3f68992ac5c45971fb4a0f41c43c02254cce5c7bc9007011bffffffffffffffff05581d02cf8d1d8dd741385e039539fdc72298da79bc09fa755019136e0084ab08471aa535d3d0c00005581d0278fd0ceb56d1f59a5506c43a717918198b25560b52b9787384ef5a5504070219020403719a725af10979d9054628ab10a5c33486d03400bd6072680f2acba728c923630605581e038fef3fdb829dd826ad15ba3cde834e19f8d1d5508d4962098e5e85ca2007011bffffffffffffffff039f701bb999b337e3a6a46541d53ffc8f8c7a3a37b3629e2e6b003839ea766785031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e030ebc3e1bbf64eccc8686903164d3d84f9f4ab4ceff045909215a16a5e007011bffffffffffffffff0219e97e0331f4785a5d04c7649333f3b861a443cd74fc0de30a33f88bd00ee17a4e2c2e8303ac902facfb0002038c4dd896a0acf3e9ffa688e8bcecb462ed86345c0016f334035078fcedc670feb5a708fe6c5f319e9568250a89ef95593118ac96abfe1ce09303695829d13d5a95b555862e448475c2dc06f43c1671a6ace99a10edee072b12a703c4d7fe3c0da5ce7b51594a72495758302391039838cafa7888fadc7a7550f3230219ffff0358ab51a5b9e0c4675f94184a160891e4ffd367acb1283e447b72b560caccc14c0358999af10750dfe98b2463c6265c44f81cfc92efa4fedc9fd4414b3db583b9000317eb5dd7606efa511e089854e86c7a845f97968a0c7b3b3af73fd5e261ab1918033b5b9e24ed71537f56024d99ee04f48b7bf4eab90a4c5f651a699de7508ce7c903fb2b0eed652c86db56b3feab33698dea742046be0c33b6f1778913ff45b2af4a039e76342a1db437e088f610566a6553db219083209b49d5cebe1269c0da10df4403aec4359e782c115288eb8c5a637ba32fe9094e84f09303b33a78632f0dd6eb2e0361ed0fa0ef3c45ad65c3d9c5a6f4797ab94b768c171d1f7c2d3a790620a9a9fd030fef8627e7777dafb8ac59a7a02892004a2300130fb91fbba7502a35b9425d9603b005babc6981a12fd21210b2fe66ca3b100c9191f630de7a7c09aa09839df6800302854af32b793d7c2e791af3f7e0f43543badb300a2cd707da8044f4c563cb6503718009d39d4e6cf45e1cc9c5fceabbc3a4e0d0f5f11396cd679df4e65e9d5b160301c26defd81ea838139628dc9bbae59c55e3b1da54bd9e2de4b06d202b9e1fd00219ffff03925113665f1cfe8571eb48dda8d350e99ec79096b7ec967d30929ff105d8c4b0039bec18415b7deb2c6beca35b4afeca5b8ece245e23fd1be52ee256c3cc9317600337a467ba793a6170d8e776de024e410fd07993f6143f2004802f09fc33071c9c03b636880cfa484e563d53ca008a8f3a1c90f69344ad50d62265041f9d6b923ae4033e7d71b8a3d516422ab861304109b6da4d5341a892481ac32d2ac63584bbcd10035c57a48a26bbde4be04c5e75b561446ba0e31fdfa4e667e56b76b1ddd907723b03ac01975a16e8095a3bfef5f42153477f8dd37b6fd16e1e645304c13c44f6ec34034c549ae1525c6d4907a1d0c88bda9af40fd47e4f7fd3de9e09e909202f00bd11034bad5e8612b9c99715f10c1991ddc8cda55a889cec78baad26e8a83c368d420103537518a8902b46cc732d14c871df5e27b21d721c46709b1b262df8e2e5bcba880219ffff03ea0183ee6d79ed6244d929217648ed1279ffcf0285d06e281e0130a85dfe9aae037db0eaf1a358bcca749ab2552cb492ab948f9335eb19c338044d2a0b5466322c03bca446fb8e4453c77ac72d0333e69859960535048ddd8bc4b7c3afb1aee13bfc03dd6ac8e7ba1ca82bcadf987e3f0a3bcfbfb6428c335e7caaf7a975e1ac39eb2f03eb746af20a3bb031376d3748be5bb0ffa4510c201e61c55582c32de5f35961b203305a995b9f1a4879c8b054fd54f006c861f6b594526a7c2d8e18d241b146e334034f4008ee001a5a2cdc4c8bab3e5533f5156e42c9c608c841fd4914d31e7bd88b0385b554d885fca925a1ce17575887a3235a921f887d2d0ddb2ad306cde5ff16cc03146fde55f7bd99d493d45bf22a3d42c13b90360675b308e7bbc458677cce70d3030c2f2f6386177e0a5f8ab9293f45f538a0f74621d353378020a149a085a0dc620370fd8016e4398d7bb4326dd1653bd201114c0a18a78d6cff772add3a03dced9203bce0ffdffa8fcfe2f104b70efed88bc6f34d113f16b5042cb5bf44a85e2513e7030cb78482abe1add1b96a4651705ddc0133d12c1e0d3d50f3d52b70804dc216db05581e0360a77ac1e3a4ef93d14d2eb6addeeb445e5171b2a8f43117793b7f137004010351b05e040aadfd11ddc1dce7bc73d6ddfbee0b316a28347b62c2e7562d60a80d03aa9793046a9449ca79b044376d09b870c7b7e2215c89cc03342117c077de2dce05581e0370dcfd85ebaea32c04e6228168ab89814379ba8c0b3a5fcaf81b09891007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e034623409c6fb55f32c7373e5825791af1bc78a61349048973fb3e3d543007011bffffffffffffffff05581e03f301474443f45515b763981f481eabe61c5272a3e49f4801fe5f12a6b00c0147013c811061c00005581e035cc34a56361807709ca4001dfcf4397d82ed13345d9c20067ba18a6da00c014702f4f507d37c8505581e03ace65a9a734ac166dea39464d71ba94874c07313931edaf1ddcb4382300c02470977e95f47760005581d02ed1a28b049e9d4fe5334c5902fd9bc00c42821c82f82ee2da10be90808410205581d02201baf6b441ce64cf1b2203039d35c93fcdbc68e4e498b3fdacb0a670c0a47021a49ea1fe9600219014005581e03fd422beb48c1ed0b6cb6dcdd5562bd3dd8f09b36938f52a88baf9c7ce004010219adfc030d4244cc272075281216195a8833508d01086ee32a329c03597b04aca3f9f49403bcfaee466ee1ceb416708a48c96d2b767de2e3c146b2bef14ce7bfb677a02b0b0303adc463728368d1d1dfe4fd9089f5877694fd9da7b02d603231942710664ed50393604205801f085c6b98909ad48ee970034b8fc8ab0e0604986fb5b61f4f2358033e80091ff21a4176f09c2d6f4eef92bb3e8ed37874b459addeef3e88ce8573c603fe577e282dbb25179a1ffef83c01b0fd4aa3c658dbdf173fb15d3ef9fc00512703b05fb3b08e93fb45f8acfe229fc310eef831786fd11c937e8e8b0e113514e1e9039a951fc70ac4924848eafeab1900aae879cec7e24adc253a2d125664d33bb6ad03c8b706fb0e0fac7c38a642e76bab5492e4cb2d4956a7ff91269f81b4b58b703b03e417e5cb0e9ce34936ee9b9e9ef8073876c831aed336ff651947575ef5f2e0e2036196537c4dc0eab4a8c1ba1894e5388f4ced4c7787ca8d49468d99e024a650c403dfcfbcae6e7e9a635350a60342640912dd0770bf00cc7615b6d1578facec675303e0e50c431382aa8222c736d99ca4ff694d4443ae94f98f1dca899178c4472d340219ffff03258d47403fece846cbd8bd09e932498eb6cf7bc913fab8931bafb4098f97c05f0372dabb733634912c45e025b81d1b8ec1fdefab80f80fbb52a0d51b974a529f22030bddb08911aea964a12a6773f7b6fbf3bd8ad25b1b8be712406c480c74103e2203b62bf927b3ceb84678dd5ff13c3273cfb24de70138585412e4dd758c833deb9903d4c85e8a16b96786ec38344a6ad175a1ee90a1211b567e73bd80af6150f446ea039eccb26293a5a06121aa0f1b0259347f50b4dc82d8a2894c12387f89e0b291d70374bdf6a0f0c10c40f8c18abef885b60dcdf490f2cc711c4a604ee6693acf4fc9037f69219ec3e94eec5d70712f12b26af0642f33152c1ac41906f5b188876522fb036de3d68803071517c50e80d7268a4483107e8816d8a14fb6543f5132274918ac03ea34cc21e31636d87bbc87305941fdef422f22064ee33a988a8a5b118e0d6873036e8e8b23d86f012680b8174221a68dbb8824353a876ba850f6ad01b71e54c02e03fafb49875cf8b42d0bf3189ad5408a8e13ba89b777c3197a1a35f9536230edce035877bba4bd0fba1c2dff9fa3d5c934ca9506fd962b9c807645572e1acdf22a94032c2a2c0b13ee00815e19b39125c4fcbca080b7a8f647d16a330f53326618eac603d49e277c475919515b7832ec1a5754405e6993da82be09177396b068ffac5ec10219ffff032114c6c9bd157397549ccf4090817f088256d3792ca8c5f51f6cb8fddc7d0ebb03193570e56b635fe7169113f44a372816bb5f30521f617219e2e118a150cd342d033f692559909c8c664232470b20c7024630e9c806258ad5f26921a0352f5949bb034ce564039196267705838b88f16dd7db04e8f6f1a4e0a3c8021953dd258bc1da039c997ecf39aaabb07b86c7831b1f991a03ff247989fbe7773edb652a2f9115c0038c267a771ce2a38d21dd8e12142c3d9cfb5250f524d8ac38d23b393eabcb16bc03e6e7bd8ac777fbc8a38bc33936f9ad1f349c9198ea7d16f1a3c3af020d287e8f0219ffff030891505f05cb799c28090dadc21b1403d40670dfba439130f633b984c228a3670386d1ea501c2bc220c7e2e0cf0c47234cf7cb75b0ec202c2fe8a5518a8df5d26403dcc4b527c42792d0183bc80c2df4dfda4fb2a66fb5a51d98c455538fb321fc6003f8af234633a3e348b49914fd9fab996c8af31eb62543be07615c062af42597330377a1c11d976d64a5ce06831a09db4db52d010671016670470ea264a1dd7f299c0302be361c49d5790489a2ee26df2355245f562aa347d54ebd14feca80b3683ee3036b4b46c15738ed716514a5790b35426ffd3f2e2772c38c8bd3453132cc4744f30303387f294f5affdb7ad129bbe8430b952e29dc9d74b73d73007de3deeffa8484034bdb830598ca141b59db5c40841b74e08c4d34db3d5b260bdf8d3c396f5b35f103df77b616f2c240ab8d4502ac46d47a3a6613a2f51ff54ef483567d70ce6b090c03c1c66262cb05f9ec470106f22ee409327a0b7bcec2eb7be70313f662752b8be903e3ce90099cfc583521b8dd696c65d0d4518db80e5f5dbacb54d664ebb666d9cf03559f4f38e88ec3b5d2499b20ae611bf04a04d6b106acf55c5927ddbaa3005e5a03135ba7a4a6387e5c58cca55500fcbef8ef0ef5bcb8340b62cfaf7b178db9ffe2033d9a4c4b557ea33c6cf808dbb91db95046a9a70d45d15b3d4d168f532e7f60c00375caee24dc1c4df0e6cfc4de11b3c6089db9361cb233d41a648d7a13b81b50ce0366ce0c31beda2a91039da08b7dce62441917f190cb1ec6db69b3061a33f2d22003941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03e9a3d392e411898e63f06d94f38bbe721041dd7899c850350ab4301cf007011bffffffffffffffff05581e037c23f5c62a87aedc010ec172adfb2eae7448b79d4425c2e22e921eb4200c034703e70e20f8f16005581e0381107858becc4ac581bdc231bf54f5504f024d97ba411b73c79e745550040205581e038f18f641d25d5de0dab4daee61f6c8c856cd2289becdb3db1acb5abe900c014702526b8af96600033456ef258b619d989710a35e93b471b07c74d6cd5817f4bcf4c16a4dd40a070e03bb9f98e02f2e538dc47388d31ab3a7d7367368b4854b9a5dd8cac6a5945c92ca05581e03d8d3b72e0a543c7edc49d1bd40af55d7e8edfbd98b3dd9403cd1ba9e3007011bffffffffffffffff04590e086080604052600436106100345760003560e01c806392f5f03714610039578063bc17c2901461010a578063eb365adc14610148575b600080fd5b610108600480360361012081101561005057600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013582169260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156100a557600080fd5b8201836020820111156100b757600080fd5b803590602001918460018302840111640100000000831117156100d957600080fd5b919350915080359073ffffffffffffffffffffffffffffffffffffffff6020820135169060400135151561015d565b005b34801561011657600080fd5b5061011f6103ae565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561015457600080fd5b5061011f6103d2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614156101f857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f544f4b454e5f504149525f494e56414c49440000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff89161561023f5761023f897f0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582896103f6565b6102db85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505073ffffffffffffffffffffffffffffffffffffffff8b161561029b57600061029d565b885b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000001111111254eeb25477b68fb85ed929f73a9605821691906105ec565b506102f3816102ea57896102ec565b885b848461061c565b610306896103008b61068c565b8c61061c565b60006103118961068c565b9050868261031f5781610329565b6103298286610750565b101561039657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e53554646494349454e545f414d4f554e5400000000000000000000000000604482015290519081900360640190fd5b6103a189828d61061c565b5050505050505050505050565b7f0000000000000000000000001111111254eeb25477b68fb85ed929f73a96058281565b7f0000000000000000000000001111111254eeb25477b68fb85ed929f73a96058281565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d602081101561049757600080fd5b50519050818110156105e6576040805173ffffffffffffffffffffffffffffffffffffffff80861660248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6044808401919091528351808403909101815260649092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905260609161055891908716906107c4565b8051909150156105e45780806020019051602081101561057757600080fd5b50516105e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f415050524f56414c5f4641494c45440000000000000000000000000000000000604482015290519081900360640190fd5b505b50505050565b6060610612848484604051806060016040528060298152602001610d8060299139610806565b90505b9392505050565b8161062657610687565b73ffffffffffffffffffffffffffffffffffffffff83166106665761066173ffffffffffffffffffffffffffffffffffffffff8216836109c1565b610687565b61068773ffffffffffffffffffffffffffffffffffffffff84168284610ae7565b505050565b600073ffffffffffffffffffffffffffffffffffffffff82166106b057504761074b565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b15801561071c57600080fd5b505afa158015610730573d6000803e3d6000fd5b505050506040513d602081101561074657600080fd5b505190505b919050565b60008282018381101561061557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b606061061583836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250610b74565b606082471015610861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610d5a6026913960400191505060405180910390fd5b61086a85610b83565b6108d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061093f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610902565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146109a1576040519150601f19603f3d011682016040523d82523d6000602084013e6109a6565b606091505b50915091506109b6828286610b89565b979650505050505050565b80471015610a3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015290519081900360640190fd5b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d8060008114610a88576040519150601f19603f3d011682016040523d82523d6000602084013e610a8d565b606091505b5050905080610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610d20603a913960400191505060405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610687908490610c47565b60606106128484600085610806565b3b151590565b60608315610b98575081610615565b825115610ba85782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c0c578181015183820152602001610bf4565b50505050905090810190601f168015610c395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6060610ca9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b749092919063ffffffff16565b80519091501561068757808060200190516020811015610cc857600080fd5b5051610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610da9602a913960400191505060405180910390fdfe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122050397ee787fb1d58e3e903238c7d1718cd391327e4fcea9bc1beff8a1dd1012d64736f6c634300060c00330605581d02d2204a69e2cab0614ded273c14f6ed5507d3425b08ae058f277830550701190e0805581d026b665531c0015e4919985cceb302c6c3c10fd194d31f351b52e694a008480402f5085b8459d605581d027b02eda395acbcca1f278f117d8dc3881bf21ec746fb555f3be2bc6c0c01466aa6d003a45802195080038d712fe74b9ee69e7222ea2a85c0685b7df0374eadb16949ebd897c2463c6da405581e038dc07708f27b1fa4a224b93e55b9e4bcc231ca956ad0e76e76b9ccbc500c0146e09036d76c0005581e03c273b15c6227faa815818138aea127c617c45428feba3efe649162c2300c024616fd3a57bb08033997290701117991e651a2d16583488a31adfcc520f7b2b4b7ddf33e34d21c2303e376e6a774b34999207f4f5fef5fc6ee5f822ffb11b7ed3e10184561363f52a502199f7c0371c455ea1d241f34e84e3af75f7ea35531b5d87d24f831a5f3dc2d2136bfa2c80369636755c4683772f0c9e8885da97256f2a1ef6794b25006bdc90320e47cd2f503754af6dfa99b081906edc8a4504ae07aa05ed2fd65ab5d381e9a79a2c10f2ca4034fc8687916122581903653e5eeb7dff61343c14cb166fc6f8c7934fb2aaf610403a4aab106a23746052fe70090c0f3a385dbbd75afc88f3eaf3bb81c96852e49aa03ed2cd7a3237aab244b796bc5c5e79dfb7494366a64b3888fdb818bdac7b52c5a039ea786fb54e8f73b99d911a915749037f06bc484878d5a7d935172219a6c938c03e624bc7b720d7b30019f922a4ded51df648a4e89a389d73a29d20bef530a69a2035e81d0ad7e4f85fde7ecb20ce116a93f718a2fcd0140ac20c6e9e0ebff7c8347036960c6a5044d3e2229b49588daccceb07dfb03905cb2a4d0e793b83b8f8a5f5b03fbf0a7ba37b0fb0d45714ec3615ce2e2f21e83bf3c7b272428add89bfcbbd77e03e48d088d354eedf73bb3dac508b81c34ae46c2d469c684d8b3b2f6012f9240a103181f3dd52baab8e3298279cec43d978cb41b99cc5cdf9c94b320ae1794c30970032ab92b6309fb133a76a78d05a66dbe071281da7fda75167a613dd40eafa91fa90219ffff03b77ec9773fe0832ff020fb71d5e4b62f744d001fe90a5cf194588808b6244be803d29c7627073185a1b2b0b07e078272d620a4f55b8896fcf96d32c3c266f61e7a0219ffff0312de42ad083405124cd904a915101f0d6f4e02476dfff0c6088915da7a49d66503a95d1f1fb15e95208ec580eda9be6a050ea5b9cb53c9183ce144efac2848e50d033a6bc5eb6b4b3133adfd8f604d11ee10d210cd158bce84e623ef751079aa0569036995139a89c266ab86bd6501a5e25223dfeac82e8fe072ee116bc4cc0d84bb7a03131ef50fff2a7eef34d54d0af252aaf61c9080b395d69c159e967f3d5e10841303a783569df82a62e08a6af28dd6a2443b85fd0d74ff6a89656bf62983affd5db003aed8878c32eea9cb64b9166db496d44b782fea7589caf900485c85083da6f4610352f2bbf15ea811a23dcdd4d21520d1ad354936d8ea51b8104e8d9e4083d811cb03f7a8603f242f35e3c149161d7bd52705407508a0d51e95852ffb5bb88fc0479403a001db963c5487ce25bbb4815d68cf9b05d2346214c323ecec05d9b348d2229503e3f558aa983e63fb0737be12494eec717029816cd950ad90c381e7c847eb266f030caa2cd5ebdf51aa3db5ce564331d58046edad03616f057786645055f7076bc60219ffff03f1db23ed2b8bb0a7375d610a8f67f35e64232a6fef4c5a687b458f0aedf347fe03c496a81de52413b66c918c322a79035047549f2b4c977c7777df2045db2624c3037fb1e03988f1adf0179f23b6477bfe153483e8027bc3ef4abcd8d4023be2ae19037cc913a90f92261927aa75033dd7da9f83ec3de36662064d74e0decd7defd7a8031bf63adae5af9c375f5f836e1df75de5332cd20e02e31f44809fe222047702530373dd1ac3fa64ced8e36dbef35e2fc60601527a2fb9718b4774eddae2fd79262b03771df7054f6739a97f5624031155520b4ddf9e61cfe083d29305fbc42cc27f140309862189d6f20d5d3364ada611aa0c59e74f254c13ff3b42716ad30fb3b933e903dd4b76276b3962f4845129dbeb2316dddc42f33a642bcfc202b0e07d0abfdc5e03f148620cf507ac87e3b9157e19f09aaec4e903e73af849eba7b44282b6b43ea803506da3358bd4dc2068e05ff2319590ee3010fffe141056ac2f7399f7d577e777039a2b3fa87a0041649d6bd14d793e30749c8a269e76a66f88f026305a4d55a00303876498dcad3f44af657a6a946514d0816b9b2bdd30c1314541ba7c9a9f25d89d03692f28bcb4c34a5dd8a9ab8cd2954bdec51436ca663852364189d636d77f0a3403eb54c0ebb5cf34547a2a81c91aa916bdb08d3261233f1b36a168e5d3e588c6c003ffefef70828ff3033e72b92029cc3f0cf8dc47096c6c504ee9a969704d42fa22030341d9a048c19c95bd004f2403f68d726cc6c63b2dc5d6803d091c5257edb9bd034fc78c614540cab6151c8e3e4fb6e30dc69e8e88c3f7eff73f89ad104c2071410368561498eb07773c1fb28620e265781cc3790cf9cc1609cd2a02ee73424e9833035046821626c0a040887998f4b6469bf3cb875ca8382ea3037eda7a31a21ada8e032e9012b2d74b0094e767c665780832115340144e6e1c8de7c5c25fbb8bbd49ce03bc09f614e9b8a820aa3f4b540155f9a5abf6f319851bd6282fea1b6658b759b203c503ab7a7fed36ea9a7bbdfb8af8e47001b1d379980da0cd2a4c4a22bdf0413203fcf0d6ff4b3ffcbb36dc7bd2b352f33eff5cb2b4e59bfc909e89d2730cb17942035a0eea8c5b65c6b2554545c94133bcf3e7721edebbbf4e1939ccaa80ca24d6bd036500b0cee591b52b9a05b2b191593e5cae41a62bfb832c068837b1a4f6f0081c03616b640dd56ba50adc09fd4cb5302dd5b306c4b12695223088e2eb05e5217fb803434f4cbe3b6c3fcdddab6c37a9a2d8a65273290c3a94e6456e05db8b73c81c8803d02b6ef8a33f1969593110a641020a720cad7c685c8ea6b3873db020fdc2905f03243d3adf95f23b3efc303812e6e06478f40fdec6cea457dd563fb269f26d3b76039a147443fa63b28dca7e7c1bb9fd5ca2655a66cfa361de3c1faa14a9f2762b190605581e03839ba25faacb101d583412892e4880239d6522c7d3ae27d1b918154b1007011bffffffffffffffff038ccc318c3b2503d611aa803f0157fb640b791b32c88b1a7389229d5a78e362ca05581e03d352ee4fc9b284a141a289e1b4a7d3afcf10f65cc6779618e972ba9a900403031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e032a4d99179be0bbcbb69a705c080a87a14629c8afe7f1500fe462174e1007011bffffffffffffffff05581e0341e3ef2cf9da95ff48f0891e3865ce54662d79797c5234352d83cd3a20040705581e0315959af587f98669040e6e9d42fea03ed7379ab273efd670f5c0d4a480040303c9f5b892b28fbe094cb28f78ba4a20f96aa3b5d6c16b19146afac7d3cac94f58039d51a2682e3d0e1a77d24934d04392cf80cb87285f6e28c9eed19903509a001f05581d03b1ba8c2563dbd36436daded2a719ed5a2137292e99daf39be79b45a00c014753f52dc555000005581d035aef26e44537012896942893b5f070a728b88104edb83fd1873d54800c1843473f3ea99c8095ad020301410205581e03863afc02c87105a73b7ab1a73e294328828de3e3695a846cd649e556a00c02466bdd427c499003bdbf12457a3a27ff9ce85786b9ddeb8ff17bc6437d8daac769e4c0bdf083b6e20141050219ed6f0219ffff0350d95ebd5c59788946150c0ad95f0b63dc63df0f4be66e29a6f7cb3e21e4b64903a0294d9b2513cbe3820f6e14a982228c98b80a6dc39f97d4362f817f8d93f2cf031a4ac1360cceadb9467f6d11e6a867c4c42bb24ec950ef3cd9c3e68a68faed3e0356a8070ae90b4fe7bd9f52951498655b335a60b2267682e671cc8be720530ddd038ed4e65a2060b9f73f38641bc179cdd4d6e9d50090f1b3dab46e6754d0fd7b280328fa1d8b8f8b258659d1e1fca4ba87bc299f3b0b552a308b870701fc6b00b2d10322f938ae19364664eef1d86494b376a206884c032a2cac79ba0f1b2b2e1791cf035482fb5faafb8fb148901768d94027fbecdb9a3721f1a10a2f6b4c6d9caae18703a7d504059ef2cf90bd28b35539b740daa90aea7f638e136009c53192994b3aa203001b8ff6d0c5e9f119a333dc77befa7e009d4116501e8845082862c7e969f57d0219ffff0395d5d55a29be76b2ee6cc4321b19f10cc2ef1ac1566572b23fdf18d234c6876b03106851ab63306d19a8e0134ada6ebdc16bed1b3284ec80f6ac9af0530715b47c03e46178f71b6f3c6ae49aee8722303b646e1530369a608187db161cfa5384fce803bb57c71490906ae323f1a052449215fb30f31efc0815bf9ffbfb72d5cf9a46ac03b6f9878990f30c699ddac15416cda59105e51b235e9d50f472fd8f4d2575952f033364507bf6f113ce7b1b65e00d5bfda24a61b45908246810565f33cd7a95a82c0335cb54736503d8e8f032e9ac6ac08e91e7901e66d64202789b649fa89cd595eb03ec6830bc5838cba52f0f4612df767f11e5fdd3f2590b96f48fe6f9ab3083fc1603a0b5d9bdccad0f55852d35a32b4e6be296aed24f2bd2e3e76c47bf30e01d690303f52d4a498f459ede148b9b631bc01c8a02c9164f09185ea382bd0caa84aab33303968f1a98eb433b66c5b5c2b9a9ae637e1752612c66ba96b37ec4e200723cf340032ff11aecc9a3dc2d344fc30c9dda7ec70353a25379ca9cc9a0ae43a41ec9a014033b61e1d8c8ea29cfcbbd7d1d6903f535396b0115e6391bd1b994b65aec0156cd032ebceeb3217f8884c4047a090eda9b6df23bbc1fde35ab57b6b2a56690667c1403b8cb603b79844856ed59a73e91a28a06a642a88643884b608a44f8a797660e48031c65726ccaf47772d784a9d29ff64aa5847bb08d415fce3176702d0a9c84fc870375ddf07ce39a77d840d3bd574240026c012aa0365ac5d3783d61b08c2b882c0e03d18d617cf837ecd4d6f05ebfeba885f7b6e2021daca7c907d899dd10fa15172f03d66c53601c8bcb92ea888adc9e53450e73756ae6bd2651fb1cbd1493fe889e42033f8e8ee1f2d025bed1b9c165e4a6427cecb19df4ebf9afd53bca5f7ec8b07617035152e0a64e357485006afc5017ebbae3996e518976d507d3815629cd91197d59031f8d908b4aaa8ca34d5d2da40442baddc0fa638d2dc43641f486d5dd6b4341d90376cef3ad24cbe17b3de21c026dd23c3bb6624c5c862507bd9e46a8b58f69d11303d47e6fa2fc3204f81b95923fa12c63f531fcfb3fb0221eeed613eab67836d24903ab61cc3b05c9a7dc466e110a2b490c530f6cea076302685ec95ff5753660c4d10605581e03853f7aa856336f3157a4541d4de44a37ac53af2c9dbcf35239f95c351007011bffffffffffffffff05581e03da5762ba2173d17e5f1e227a4c2a39bf08270b0508c150ba539df94db00c02461d7a877ffe8005581e03d007dfcc4bc4f1a4cc52acf87bfc3cd3c062cc2a442e0ba58286079550040105581e03b4543e23164a2319f4ad5d7f7ec1be12e43f6226dba8c5cc6e4b13fad00c0847011d11ef812d8c03b80e4d4752057d3eb7f890216c74e6b842ad750c82782fc0ff31092723a131fc01410b03b4adf121d35ddb8e63fdf4f64c099939f37bac65dee83b8ce0fc390b7c95d7970219806d03378ab31501ea6a49f6e945a4f669ed88c62bb22cfe3cf1e56de72123b178802d031ad8501d52a113c029506a07e9b9224e01b5825ed6bae28e807718f3d717260c035155d9be7a9c104c5f1bd7cc6e791123343734233aaab19f1d1668e69189e028037e7f2b08e07e2136d36e4ff5fc8bafd6a5ee216d77eff853bad3462761aaec85036470bd8c44a0397b4bb0771e569b385be8f7bba787d17a18fce6c57be795d3b0038bfb68f5181300f60421847bf682ec7f42cf80ee8fb6b59120350d408096710e0219ffff03b93e973951bd636179b90cf8dad2eff8e0fc556f7207db2d85cc6ea2dc14016103e02ee6715147ac5bc91d0a7eedf969209e5e56ed1171a5b355f3a72c0db8ee4c03041225d59b33346efa3a32d8ef213714e4e60d9f189fa2dc90ca87919327781803c4b254f02ee508b8462ac8b8356b9f3c54775963db5fb2bf54ab169509cffb750219ffff03352ff78fc8c5c68b219a0f56b0cafcdccfda93075de395c5fed6270cd8ecbef00396f325e9d591b0b8354298c638e7dbbee15e53607ba31752fc2296b743efe89703160f58be698bdb38cf4972be1868dd1c94c0f687e8bdc4c351cfefc9162d1c17030b6f71beb6e8d47b76537cfdd7a11074d42722a7cfd67135dc315329acc8ea48032279161f69a4d7b347b1de9c17a2b7e95475d67146b8c29199b7daae12e6a8b50219ffff0219ffff037badf67dfcf047398ada1ae607d98221c6396ac2b9eb50c91ff853c89ea58883038f30dde2680f7912b2ec306f71dc4b2cc03fdc3e36acf9f23a751e6d5ba6b20503d369916bce65497524c9393efe7139c05ce0da7ad7d2f251b821be8a52dd5391033fe36b3264af97844884ab34203ef86d0663ff766c02a5b682e835e614d27f02033ee48cddf3c162de45f67e56f95170daa43889bfef29edde2b2ea2e149e1a92503277c2d542a5f379b2ff4b51b6bd4e1471933fa7914ac5a354676276cdd024f2a031999732928f31a8f9d13cc8905064a8e3b90f3fe4f4ba5627b019b1cb748baea03df77d70d720d3ae9bfa24b0fa7e367fce7cf988b56953ce4caf0545dc5446b72035b8a5ea39c81455065ce4410eaa63f0d9aaf803451f37dd2f6b5bcaa4b789eb203b76a41b437c90f6497047dcd80caf3bd90c2f7e5241e54a5d55ea05167de7206033bc4a190e289b61ce243bac02694d0cf3a18b69b7b9344cf9bc44c43d69c0f6903d04b32832d41ed5aae217ab84990a2c763975495e8f98d8d53ff0def363d9b1203e9a68687b8822b1895d8c6cee521a42ee5dba8ac2751387549dd3ab650382e5f05581e03b42e6f49020c16fecd742ec3bb64775b1379626fb4ea50de0a4d543250040105581e036631418835e4c5f070134431b03c65a7bc493ab15afa38fdad85867010040105581e0393bf0e9c8c625f2447489a033785c9280bcbcb7e4b29ad02e1ffd915100c0347409fc2ed7f88a5039a7050a4d1799f5beeb41af9d803a9bb8e94b30c5c2f19cae9af050e2383d18405581e03614d2fccabb692bbdd0cd16a251d154da4963e19bd23a8d7212e3df990040103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e033c40c28656b6ce7b9d9fa4ceec641177350cf652d0900a6940a895f6f007011bffffffffffffffff0348c39437352102bad5f7b91b525c37fc6379b7e622425c2f28c6a5941997c28605581e0323d36157f1069486ca973432ddc6be710b1e9e33586dd67d36bed5a700040203dd766f300eae5f2af284bdd728c2f77ea4f1ecb518a40cb3671d65986aeb5b6103761d7437ef8836a0bf26d99a6ae59f651c0edf2cf09695ca8b51b143df9177eb05581e03b6ddb96351fd797915d4b738a5622784ca114bfc3b594933e93f6835100c12474eb12354d5e7300219afd5030094d59f941b931eee1927eca727f4ac8879276f5ad406d296a6b3f43e7baf700362e095e2c958a665dffcbaf5a5e180baeff3cea5f5c5446d77782aa1b354a955030e459976fa50d6cab46583fcba1007da981bf0c99050ba10f6f2bdf74db3c1c0034dc22a134ccf2646ebb6b7247da84de0b18ffb33c6185dd8e35499d093a13370031852968419e9b45930c58baa8fb950358b7dd88c9b63de7a5e0ced18be80daac03b40e5372b9a4294539431e4c90e968f03d8a9de9a1a6dc29f7ab40bafd954d680300fc17fdb3db8268232804f80048e6cb9027bb510828f2fd32dc35562e0839de039796fc8ae158b078530592e156322526615925ff32486e136b98aa5eac8143b80394cd32697c8cb4697a21eb775f506c3a87c6ace6b26bc52a36752f3b7b5193a6036479a5c5e361a7cb48e65b015e515411d902f1d1dd9e3c50685247036cb8cbc403a701c776628b68ec2450ddbb640b7d1054365c5f8b29b07c267ae4b071698e3e03032b85fc3ebcb081ec84f00c0d1d6f04fc953c4d6dbc716f003ccfbab04150830219ffff030455c332e5ff82996ecacf0a5fdfffdde8c29939fa857a1bd9db153d5ed57334038117ff3f62c75811361fee984a40db66259f29e1d4248ca3a3375a772f9ba3b803e8d83938456ce6fefca5cccf64b26540c1deac3ff79578aa71de45328ce31bf1030d525a07f8df8da6f0c724784c03fd169abff9b94c218cbd521e91f800ce4571036bdd5eaad692b41001d659749a701cc7f4f6069446223b9d4e3ff9a2ab0c43d8038f8f041d6408196aae7342bc639ab3cd1548d0d52cba2223e27687ed22b9be8f03f65ced3392c5fc324f668dd46f41b39b08ea8b8938b7ca36e4a98f3d25e8c0c803e59159532ef51e74407c6f5ce273172ed67ba02e9d7d10db577b6717646534e703686bfcc6235a6ea99eae113bc6df2ec3f0322d1c291a6f9f33d500867517e261035a35592239d3a2bf3b9df36b2021186c149d495acb17bb80686c7fc2110efccc031bd111968f13c6555a6425cf6af7addaa6aadeb22b88070f342f115b3b2e55630219ffff03ceb6028bcc4d9b24009d1c15be2d206a8c763267e9f3b6580fc87239ec02babb03ae5bbde983cacf627f014ba104226455ceaee8700e7745f6989f5fdfa356fd6b03dc742b5d26a2697f15c3cb4af60ca979ada3415873982fffa80b7a09147cbd0b0300fa1f5ac3e1e45ec89dcb34d5746d78c8ac2b6b87f7e690b8c675ac1dfecfc003d157357c594c18141bae1bddb779142febce3f61d1f136f6cef87cb36c8eed8c03c14043a7bb96c37d3ede2430257224679e1e07136b4e4138dbf909a6358290d503f1c82293c8eadb0b9ae1d08d5dadd7a50b2b3b536b0b7d23445d3a29485bf652033dfc458abe7c3702d0544f9f530cee9f86297eeb17c0d1655b5b407b5a390a800366ec1f52b04ec2f7245c7ee9ca35565a51af2abf2c722f615d082d9df2ab90540360d2944015f9a6a5fabcf509c1643fd432216acfb6758c93dba7128db8286d7b0315b4234d08141a327e4620fdb1c83d8ef1c446e5014599d95a913d039bdf575403e9ac95af0b061f419b17817661031bb22408d38b749c1e8d48c6c8f617e29d420385290bd0fbc6c55588dc2243405c22fd719de956cbee8cee4cb24ecaa8515cc40219ffff035157661d8eac0b2bef49c3bac1b4da1f6fc7c88932c66da3ffc5a6ec22882e940302b6389a7e0bbbb68fa309a0bbe74d5a5556b95b613385d688ca7c813d90894a03ad6d547f24e48953db45a9c9b8cd6f10aee6f40b6a581f47a1d6ae48f9802425035f437ad6f246341a4d239cfd15eb9348324661ca31f474700667b67946331f6303f8c5e7d147222e6bf88712e526b7fdb05af6382c2a2cf07499f357092073b666037e0e91ac8aac527e41a70e54ce5eb909ba8b455947b0a3308a08b5a88031d1d903713768c69cd5ce2ba85cad8df9b40ca5cc088972a5e4cbbbc37adc6379a1e0810318fedc732a28cf9a9293beb234f8b834af755305ea02b4a92e56cb5a27d5d9d7031d1af76ab50d80bc6998380c24fa1885392673e5a46c880c23159500cbfafd7e038dd9e1294955eeb55e260deca6fddbf037045f30e31642c443c7e251957cf1d20307bb9dea83399bbb3da423687fa1baf7620cea65791bef1b555c96bf2cb03c0c03e8aefcc12d5d61e9496aa78092c14d72d0baf2344d141fe5647275f243f208ac030e3c18a2e5d68c5661ee72deb6f5ba8d251c8b35445db7ad6d1aae40a92d6da803c2ca9d3169c68c26ca025b68951872dd094cb83bdcbaf25d3507c6b63942940703d8e625d547f908250dee8c8956c9a698186bc2378837c05564ccecc478e96f12031eb6eeaec105ea848758b8eda36cbef71bdb0c2fc106dde38d24cf682839b94e034d3936792eb193b2a7074544d141d4fbc27dafff86a6b7e69a422748db4394c70302df31cd8cba934d3a88ef053c43da722fd93a3295e966732d6b569a83d655a1039013d687fa0dcf1434f6c79e8848532763e1c5b8c33435393d3959dd21d8fc9e036c6f724ff8c5b6c6471c2399d25538708e9e3cdacff1092b07cb5057113120ec05581e035c987a2e123e7b38fb60a627a49f9d2ba33bd88ca52db84b8667446ce008471dd463eeed780003e409a79ccdfcb7e4eb87c000bdd1d925bd4e7612323d661100e2d4a4b93b63e805581e03203f9ac98809fa4e129f46b990fecc26f27973d0e750e0e7bf5be26ea00c0447039d754980200005581e030045821f3503ca67e0b6238aaaa0ec75e54ce827c7e23128a6fa8b67200c01423150034e221e07faa9d2ee22fdb49438db4c0097f608e74a33390800c7ae99837e75aa05581e03557c4c908d0e9834921bcc0b61f08300696dc5426fec6bb6f3066f0010084701634b4a7b4400030a7a38b1a80344391995ca15c55731d4c55353dda1c2469e8f750ce0a941860905581e035b1bbd68106229eea8c9bfde8f60f5a616a11a8066f279ac7c7e49a1c00c1833482c629c3d19db143003e082c78b38bdd224dd465a51d488a7338235eae1cdaf2be78848664b42fd87fe03e1147de3293bc72537ec8b5f85be272692d2da308e4ed134fcaa1f671ab1cbc805581e030e72e63c595a3211102368374429f7e0c53b9eb90053b841e4edad1470040105581e03b52bd3d9eb1104cd9184219e57124cba4864ee01ff85371d6db55238900847bd3f950d0dd0000219dbbb03c047c2c4146d6212a5d8a4d30b5dc0e7855097da455d27f4f84cf71aa8caf31b03bf398610bf453401b378837448afb0900ccb7b460fd31c7ba3598e016c2a5eb703197eef0d38e430b936c967191a60fa778ec7568961d10fd9a94ca12f342e2bc103f98091d17763e4f25db93323bc34fd4a47a21a38cb70b216d3f1a29a54ebd216038e2da93519e98619f533fce55301c04a3db2e840ad54bafebf501b74ba92c21a032a859888638aab4400eda70217de5b5306cc74e51e814dbd2261834cafe8a78403498f1dec2d130c27b85ff5155efdc5778fb9e1ffb6c36bdfd2ba5da32fd70d5c03d86d6cba38dffaa24231d632c2a8bf723e5a975f70955c26acf874891f81569003266bb7031ac7b18bea3223c51f065bf1b84745c795d21e999c856bfdb34b85da035fb6db6f27a6f4692f8b913d506dc7112f61abba4e93361c47ba4f114a050d1103942e542aa33f5ad68192dd33163e039f52a1d5f13d9ce09a1cf3e402be4a375f036dcb41eb841b2419e78b805087c61ff58e277abec549690961e210f7efe8adff030e2ef3dde8845656fe56309c26fda320ef9e764af361305190938910af70582603dccee891fb932b32653d4e9c19f861fc7d3982bc27b3d89f72123c6f7e53c6820219ffff03b1d04880e942ba1b82a525767e8af1747d843db46361c52e7aade02314f2fd0a03694e5af07d208860a1c21b926c1410f0c46ab990f821b159dbf9484bc482525f034cfca3d09d35053447efc03ce3d6f2e1a0780fb8653a95436aa8f57a1ba8c1e103765de3638e65ed4b2b390a3c03aec3f48dbbfcb33128589e6b87bf8e09ef7c2303097de3adae6eaa62dd109c562d0c4ef5c72bf3904c0e966d75d5dfee25c040ef03fcc47f569146d981b5a5b41d4b2e0d11590ee5d3951dc3042cb40fe797a693dd03e9db15489fc5c37ada3839d380ad1a0a53e84d05d9c2d45fe040851759d7408d0305bd7cae9a8ad17190c503c0c4ecda2024e51a3144e4f1af74310f2e091a691a0219ffff03276ad8a9490776819804ed842aa239d4328b48cb9c2defc56f5df887eb4c81c8033717a086efc937e8852633c3d9a6fd9110105fc4dbe538f83863375794e1c8840366508df7a337db560702e0ea7613e0c92e7f9a1ad8a07c20fe15bff1a845d21703ccde7c908120ca90ca79c7f0279eb627272b6b2f8e4ee6cecad76cc4c6e4891103cc0a2bfd5d4e3db44313ac3f1864fd8b97ac0c21fbe78585c324e8a33fc29ad0037caaa9771b376f956d229bd1b8885593bfc2b615d2561fbd55d017040cd514210305d4edfe81dc1a9e740555b35382d02f045c0880d54c6fb6dd8bda65702d22180219ffff03c2253ba6cc8346da45653db7bdc845d5b1e6c319dd98313ad821ef41325de518037800cd4a60e162ac8344a3aa19fff262e12cae3a34c958c25acc89361b1c30d1038943f743741ed06bf6b4b57b66377f0a14584a0e716d9b44691814731c3dd8b1036164b5a259e23549518b1623851e00a6e177e675b1b05fa1780bb44150f4efde03e51eeb0998966d846d754a1d4238a8f3ff189eb9aca58854644809942660e35f030343f870610b49b37bf1cbecfe33a057e6279997f15803c00212cd5bf07a60270219ffff03024abaa7690380ad8ba9ea342b4805cae121096fe883b7d80891a521431d738f03a00f798b126eec99dd405fbcb1d109cb2425bfa3276b9c3a40ec0a4750b9ca970312c4ad47564c3258c0f1cccaf61130b8abde3ce377bc288e4095fc1aaa8f09df033be481b3c601e9f5e6af3fcf08859f9692cf827ef81acfb4b662d191d3127ddc0327778d326298ba9403b80685e281fcd15352e83befc5c792d5bf59b27651124503182fd7a6709098bf0aca1907eb472e1ccddfe8559fd1f6312401f5ffec09b814036daa765a84a7efb3ca4826d72cd5db0519db4140c3a8708910f1df09d1fb5f43039f225cc61692a87d1f260de4d27eb52004f54f073660d4185aa5af59775bca110338f228199652b479898dbdd4d38fa9897687a8806ab5b04d59d0ab1ab0740fc403cbd4f70793c70df4662356b17a8722b6900a14b2612cdf02782ffe5867da9a320300d2fbfd9e5ff35719e62cc826bb132264ee29d4063aaa91b8d5a3ac30acf4160314f333012fbd268ea0133c1f74ce8c7c4dfd8e2cfc183ef6206a232ee6fcbbdf0348415628675bf8211bfc63159aebe4ea67de093f300176e2be18bc35a0a8b3e5039ffe754bce8011e90a42d380d220c34b986f65ea77705f7e36c80641a68e28350384199b85f616023de31a0854bcb9b5db60d14f17f5305a70e69a773a8d528c5003865f8c9662e9a1d0cf867a5d230dfc99dedf5837b7cdda4870636f30a641fb57034206eaf01e99acb33cb8b355eb2d75179b5d5d3fe825f965d5dea6bb7df03c990367cc4caa1d62772be8bf5c01d9930c6de61df2bf1f7f91b9dd720b090a38a24c03fd4b8f047eea453f4ab44c9bb7fd7c8ea764baf3e56a6f7965685dc57e488a1f03f87eb87c7b38a781f52c92bf473d0526e1f9a455470d90a2b4921d70667b18ef03bf9b70a78746d5e3a830dfc2b70925f7d366ec5c4472e70cf1d08fff1b7aaa6903d9943697315f7b6a85972c0a1deb43c52820ee4114fdee06fd72148e260963ff03790fa6d01bb2054969c82878c8f91136e2055a19c8a4d80e05a71673ead9f14705581e03e8df9b997abaf83ac78f8739f3b8a90f9c6b0f709f7cae476efe037be0040105581e03b9dee6cb70eb347264d9914f80f80df85df12a674887d3af5a60989ed00847236cbe5a55520005581e03f58ec03d6fded4d531a26e537f72bc91b1a17650a4ba0fc1725f4ceae00c02473823ad2d577c6405581d02aa0befc4932f47091fca9fea8f7694eeb3e854ecfbefad138fb49daa040105581d02226bfa0af8f9e841fcf6dcc82af04afef4ad61e76b68667d0f350a700c074890969a7df92f4ce90219810005581e038d4dd60b2b9400de5ad55eed3f855f97cd912a752f286e4dcab81180d0040105581e035c84c04f3312ff5a34776ef100101b2c91aa0c82b8a764fac042f455600c024502540be40005581e03395daebe0aff94f500e38979f6526d7ccd4ac49a163b5273e0ed2b3120040405581e03175f0d9f8b99d73fbbdb216882ee7a1421f082ea80788d181b0b1430b00c0147018bdf7eeade0003e0c901bfe0c198845b4559525cf953d20f717a5f9a46cf33e4374aa6467131000219c8b7038b02e5ec02b1b71ef0ca79ad1591c0307ce003a0a7ee5804e48ab2d02b2c223203903bb7c336520b89b3904ea9b420d1e8c494b5e7530e7089bc8371c815a52e250219ffff0318cb4a00163a76f1ed7ba9e002fbdf3592e86a16d398feede4363a60cb7cbaca036d51e83c477b3b4553fcf98c3686ef9a53fc74b34e7f301a573f8ef88214912303da4ef851c3c6a5322cc111e6ad7187c0813f3ccd8b961e6ffcb25fcbdd9cc0e803a14848f51453cbddc709e81650c66dd63543c267a7a381ce24f4abf6326bf10d039c0a202d4c51a826b1e1d4f0373a297dcf1caf623cba604291f727f2ec2c6e02039787a7e439278a21a8427f1b8e87af7825a7484f939fe791a8cbac84107db5630370eaf08b2ee9397f9e4cb464a12f12ba398b3ac7d031b84b38e53505059ce2cb03751a5fb256f0de0500447549fa90f9ed31618121d046fb30bc3b3e5536b8e7ae03fcc5b062a9eb3eb45d3287a74c842ca60e4f30dd23aefa0a2bef9c75a49d6d0c03fe5e3ac439a2bef65ef917fe6319a90aa91dfaf9d17f07a082546ff4450c311503fd9588de3c97e427d6aedbb29334c81cb1531ff4721d6e375f11138915a3b39903d01b5871dc4f19777231e3cdbebbe71fcd6ecfb3033bc82eab30303ecb4d885a037e994b4ed407b132c6ad278797c3577f3f2b533a5f68e53dd9c1e3fd4693f091034f7fece7ca2efdaec177bc35675501a30d9a61977716a8df154bf32756d05fa503ff3829c6745851fc3b52c018715c42b55c85ad5aa8b061a4c075418a50243c8b0219ffff0341b2816af5b7999215c4c7d6c8e68eac3c989a3e573bb0a87d5f64085f6ac2db03d4bf321dd327343a205d82ff31c0279b37440c252dd538dbdb4e4df2e8e45dbc03d24cf34952a719af6d6ed1744ddf4dc8f3dc213c8b8322bb3ccab9a01226130e03133c95fe2b99f975ce4124c89e06ea6ad9b6fb1620d51afc7a83f65d6bf2b13003667fd18b283b30cfc1150973efdc1f192aa6d2cf3f41b5a7e0b597ac0f2040d6034caa78aacc3acc2293d17f765f86d607f148be7846da5ae1cedc6169d89092bd03d2db0b72aef8739de2a5d34a61217013c763a717ac01ccb27e6e6bc8603f2cbb0353333d005d6f31c061bcf4be0d9a7a3e86718c6face6d3a5ed8c973649b37d1403af9aca341570965275c59666dffb056bd22c84364dc4deba8d835673d72b5bd803cb13b243254fe5b7788e9d2b3bde82ab951561a8231ae84751af4a4fe947c9d70219ffff03e00fe82871ae9ffdc938a8b6f7dd6cc845b5a354be8c908d49285658df02965803a262dc9ccca2e786453bfebb7e05b7dc1f03143a36cba47a617d269dadf52fe6033989e78cf9b652bbaa8b80a012d32ae3b343c66f573479eeaaba8bde59f5c79d039a71cfd218f1d61a13ac7fb8beaeab6b37926ecd92132f7f5de53df997db89e403d642df78ac572bba2724478c8f6e6258822a7f1e9e81e6aa6fbe9a89584d1e1503a2ba112af5d966336a811e5036cdd49610e4c05dcf58e9285ee5065c7ca426a703c205b21caab0e4cd72465f042b2a84aa345131a9f00a2b400c98802c945a0d7703b963bc0106330c94ae73e7e2081db045ccedb71353ad6525174c6b26e54e74670359a59884f2e5a95a250e7261da0aad84dc7e8a5c4a8f571dd9b41ab3ec84f2900346f4c47ef136313156dd08494556a55ff89e1f3b58da9a590ea33bd8478e089803f3f7b476ad00846beef07b9fa09009dca20825f4a18d37e2cfe442454dc21c3703a845cb294f42f69042fcfddadf5ad64eb8972b5629946a9152342d3facd4657a03623c1cff17a5bb0a5fcaf7c9a7a3716c0dd84424d856a349c0c2e619c8651042033244e80c18ed570a0b7c9800c1e897dc32eb4321392aaf8f90513aba46ebd99d039099edb3cc443187dae61997bef042bce505a0351e458e98a1140084c3d9b08b03be5bac51c7ba58ab8bf071cb60d2a0b91a8b8ab1e61776c1f23ae121e401cc4003942bd57ffbd9fab4458ed242a45bdbde4afcf7ba8f63909865cf10ff2090b19303f49641d082ef27e87a294110abbc7251d5897549bf28c8d4dfdf47868fbb58e903b96bd9fb7009b13457ea5742eba30544d06b8c9e051621fec3da8614d13e0df40371ff68040206ad29076ae2ab985c381c8d7045effbcab29a1c47963ca345850903e0081d7cabbb611ad7dbd4d1ce5bc1cce79ee99e4cb84bb2a91904c3e2f42e6d038b52f4e6f4a95971b8606c0226bdbc383a75b854a0157281080b95c357769714039f97e11779bfe559927eb84de1944419de972c8ea96ec75893ded973825403cc0307b9ec114f44f318fa03a1df1fcc2a787eb17b3aba1dfc5b47302e9362d3d44603a820aad1c554774445f7a62a98bd6f91612f61d7fd8093e83e85d3677833d27b03ab497ae64b13f42f00ed44f0671a271f770be039e5a83a12ae8a2d92fa5e9564032f888e37cc4d494171f8fd25aaf3503e87695be960532f8faf9acad37ec6fb3603927898a2e010c8d04fd75c458e61a3bcf6bf575e45f815c0580d0ec08b5ce6d6033235595717e924afea270da11509577155e8286314e30055f3ad6f4dac2c3255031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03d3c3fa9f53c31e99e57c2c441b2e59780e622db3800fe83113c6fc596007011bffffffffffffffff04590e086080604052600436106100345760003560e01c806392f5f03714610039578063bc17c2901461010a578063eb365adc14610148575b600080fd5b610108600480360361012081101561005057600080fd5b73ffffffffffffffffffffffffffffffffffffffff8235811692602081013582169260408201359092169160608201359160808101359181019060c0810160a08201356401000000008111156100a557600080fd5b8201836020820111156100b757600080fd5b803590602001918460018302840111640100000000831117156100d957600080fd5b919350915080359073ffffffffffffffffffffffffffffffffffffffff6020820135169060400135151561015d565b005b34801561011657600080fd5b5061011f6103ae565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561015457600080fd5b5061011f6103d2565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614156101f857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f544f4b454e5f504149525f494e56414c49440000000000000000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff89161561023f5761023f897f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff896103f6565b6102db85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505073ffffffffffffffffffffffffffffffffffffffff8b161561029b57600061029d565b885b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff1691906105ec565b506102f3816102ea57896102ec565b885b848461061c565b610306896103008b61068c565b8c61061c565b60006103118961068c565b9050868261031f5781610329565b6103298286610750565b101561039657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e53554646494349454e545f414d4f554e5400000000000000000000000000604482015290519081900360640190fd5b6103a189828d61061c565b5050505050505050505050565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b7f000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff81565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d602081101561049757600080fd5b50519050818110156105e6576040805173ffffffffffffffffffffffffffffffffffffffff80861660248301527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6044808401919091528351808403909101815260649092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905260609161055891908716906107c4565b8051909150156105e45780806020019051602081101561057757600080fd5b50516105e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f415050524f56414c5f4641494c45440000000000000000000000000000000000604482015290519081900360640190fd5b505b50505050565b6060610612848484604051806060016040528060298152602001610d8060299139610806565b90505b9392505050565b8161062657610687565b73ffffffffffffffffffffffffffffffffffffffff83166106665761066173ffffffffffffffffffffffffffffffffffffffff8216836109c1565b610687565b61068773ffffffffffffffffffffffffffffffffffffffff84168284610ae7565b505050565b600073ffffffffffffffffffffffffffffffffffffffff82166106b057504761074b565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b15801561071c57600080fd5b505afa158015610730573d6000803e3d6000fd5b505050506040513d602081101561074657600080fd5b505190505b919050565b60008282018381101561061557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b606061061583836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c65640000815250610b74565b606082471015610861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610d5a6026913960400191505060405180910390fd5b61086a85610b83565b6108d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061093f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610902565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146109a1576040519150601f19603f3d011682016040523d82523d6000602084013e6109a6565b606091505b50915091506109b6828286610b89565b979650505050505050565b80471015610a3057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015290519081900360640190fd5b60405160009073ffffffffffffffffffffffffffffffffffffffff84169083908381818185875af1925050503d8060008114610a88576040519150601f19603f3d011682016040523d82523d6000602084013e610a8d565b606091505b5050905080610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180610d20603a913960400191505060405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610687908490610c47565b60606106128484600085610806565b3b151590565b60608315610b98575081610615565b825115610ba85782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c0c578181015183820152602001610bf4565b50505050905090810190601f168015610c395780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6060610ca9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610b749092919063ffffffff16565b80519091501561068757808060200190516020811015610cc857600080fd5b5051610687576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180610da9602a913960400191505060405180910390fdfe416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c65645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220881e47585fa0afe1cd7de2a79bfa970ae39562558144f705f69bf223d5a3684264736f6c634300060c00330605581e03242dfd71c636c5e66ef6f9257068e946c75c7d70268995d50443716e500701190e0805581e0321094e96c38b9b5bd4f7a81a93c57bc7e72ceaa0816f26ad4efe04dd000c014688160630616003447472eae1bce74c9406a54711ef0c4fe065db2b9c37a92c9b38e6e66f7f826e05581e03ee4133258306fc485d2425a6c591b2a74fc764409d149a884da45470a00c024742794da90281ff03888d91b709ff8fe0ff003d8ff160d73e4427b047ea56e91a9c19f2f3df39c7f605581e031edc301e0a32e0d467c6df87005ca33e6a01de90354974e83d6037cb30040203d030d65dcce689255a32a49be3b0e82e8f9c26b34df4b01d81bed488cead62df0337d25cb6b9057d6d34fe77e384e3a92bbc613c06940cac80b5bd999e836e9050034f2de2f74159f6901e87582087bdc132ea632631712185bf99370cca1362d1dc05581e0325a701aa71a111475226af92676c7b8f72f877c2a319b199d6f22fdaf00c0346b17bc17465550219ebc703017617902167d0ad8a6d6ab0aa7fedc6cfff3e9252bebbcf82b65172f9b3fb230219ffff0355c8e0c8f5f44dd82a05340b6a83eb1522647bd00bbc7c75c3d41df98a6f857703a59d2d052b5b156df5ffd3eedc23f6bdd7cfa629f252147b969289b15b7aed57034b8b4cefefff1965a549f6acd3a6a5a24c1598d3e00c73319650f6cd3f7b9fc803639d6b82b87714fbe651e6960b8d246f8c9b30914fcfee75d31fa222f15b2dd903a94b1e3d51ec444f60d025a4229f207b8ff1737dc099a77a2989beccb06903e803b36d75d76f736db22f46d62edabcf9300225b31ad953ba714d6d685d746cb991035eca8b31926bf2ec88d68ca67beb252bf9d7e37e6a36309e6e8b3f235cb606fb038b60247748f02b0b5119106ca36028410dadd3371dbac724bb20063af56aa6d8032a2ae9429d9dc8efaac61a56c34669b793bf35681346d53a8fe81e9b778fb2660219ffff031f6928fd425b07609db4bdbfd7183d08f6bd3701e52bf8f2b6f45fececd7fd6703dc8deb3f9a76b0f91733a38e34b549db9e8d344941fd4ddfb94dabd3f08e0ee1037d72c7616e35122612502ec19cbaf75b99d4249dc43a86aec46af52350a9073303d7b04383f70c4fd0fd816b937852ed9eea5613af6a896ae2c3c49d4f907b7bbb0344307143d5c8e7557b309dbd54926d7e3eeae749e7fc5a35e24bd762546f33a703884c1a76f311c4ef1e04fa9076cef6eef0468ed76d9e7a250b9dbd75c5902d200219ffff03f6e5919eff63462f8758ea75f1f7c459bd29a2a60d1345287aa1c31527fe79fa030e06d3df433a3814fb201b0c50d76bf49942513b503a989790baa5ebdd974a730385d7b286368ae1cce88c045c22cf45e8e835d2fe32d850a3280c2c4af2c2314803783b8d2ac6bc811de74247d69a5685ac39f9bbbcbca348db47dad840a0f43035035f7afe1ec95d845195c08cdebb931c9d8807699f5768a7e38609de3922a4b17f03844d5f67ca3a212f9436dfac4682c0128ddf3a43d5b39addfaa03bd647e3ce00036280c317426b94a131588b8f954ad40ed392996435bd9bb140370ed436f3e46a03df19b6d4b98cb5ec636b92bc1de20ac5ef49b06f06dea55a8dace2c87dec34a8033eb4fcfaa07079a7a6494787be0dea872ee0d25a604ecf2cc86466ad0d78a81a0322f6a0b46bdd5118b094f2c93fdd77ceb3d9bec83694589f043c996df0b827c7030dc793c598e287143470cab1a7aaf64476f55352af0f81bb3fc2985a6973f54b0341f3a0580fc5abcc93bb568de6e70c3638ccd81ed10abb638b7ee93caceec8820318e19a468126bf915087888773a0fb4ced5a9f23dc0e46b3d61c9eed8d7b2fb2031ef05a67a864c32a844c81c1e3dca6ecc531d6bfe82fa136269d1ea60e6a81730317489caa10845fc03c870398c6e491788a800affe63161d978881e020d4dca6703f80a8f07cc7e41c2785ffd228da4997cc0694a8075c173ff4674da85daf871f503efcf9988dcf6bde04fa0dd5aa37520d8b7177981135d81cd6c113efd2d2386d8032b11abb9dcc05c82043df0fe84dd68717f902a85cd72d4f56b7df84d9449933f03f233232a7f6294c195a6c85253203c6f91a3197c444e913d6083871fe0169aeb03295859591e73041e9d894e6f4401e141b7eed1618c989d2c4606b1ad1a7176ad0303c8fc9d0f77b78c596b09532fdcceb724f3bbbf0328f1b216d14e0d6b8b254a0324792c6791bb7736d9ee124558f4891bb19157b42ee0ef723dcd8b140dc17ee603929965bb214596b5a6a4cea57464287aee12af265e0606709a3fc2fd84ead49705581e03575962e8c990087714f661bb1def6710eae17623298788dd869cd91ca00c04470272e84cce780005581e03d9d90ee524f00cd719d73397139bddb8eece31812953cec36ff3082680040a05581e034b0f75453ba0611ad9c32b3703696c6da227a8c826224f17645c5a3dd00c05460acd510f3ab005581e03f021dd2a27a8f28357ce97891a8053852e7bf9a93a08dfc02441aa23f0040505581e0313b424167559b020314e2ef28ca74455cbe4d0e3bede384d74f11c97100c1832467b794d1e223f05581e0380556dc319737d55ec245d3ef4195238c1628caa4c90f79a29251ed2600c1874480209c9771b7d90ea03b0dde4506457ebb120b80311628a8d83fdeb22d447ee3fd009819b20dfbd149b05581e03746a9caf0394d3fdfffa2bc6f49196f38741fd5ad310de97ec13abdc700c03470227a2d64d55d805581d027ce46bf8e176d67db65e31c3befe3594994403609c3eb96dab526779040105581d020cddf425294b12c5810f58eb84b214fe990c48d901cd2746a36731c4040804590d656060604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010057806306fdde0314610127578063095ea7b3146101b157806318160ddd146101d357806323b872dd146101f8578063313ce5671461022057806340c10f191461024957806342966c681461026b57806354fd4d5014610283578063661884631461029657806370a08231146102b85780637d64bcb4146102d75780638da5cb5b146102ea57806395d89b4114610319578063a9059cbb1461032c578063d73dd6231461034e578063dd62ed3e14610370578063f2fde38b14610395575b600080fd5b341561010b57600080fd5b6101136103b4565b604051901515815260200160405180910390f35b341561013257600080fd5b61013a6103c4565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561017657808201518382015260200161015e565b50505050905090810190601f1680156101a35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101bc57600080fd5b610113600160a060020a0360043516602435610462565b34156101de57600080fd5b6101e66104ce565b60405190815260200160405180910390f35b341561020357600080fd5b610113600160a060020a03600435811690602435166044356104d4565b341561022b57600080fd5b610233610656565b60405160ff909116815260200160405180910390f35b341561025457600080fd5b610113600160a060020a036004351660243561065f565b341561027657600080fd5b61028160043561076c565b005b341561028e57600080fd5b61013a610827565b34156102a157600080fd5b610113600160a060020a0360043516602435610892565b34156102c357600080fd5b6101e6600160a060020a036004351661098c565b34156102e257600080fd5b6101136109a7565b34156102f557600080fd5b6102fd610a32565b604051600160a060020a03909116815260200160405180910390f35b341561032457600080fd5b61013a610a41565b341561033757600080fd5b610113600160a060020a0360043516602435610aac565b341561035957600080fd5b610113600160a060020a0360043516602435610ba7565b341561037b57600080fd5b6101e6600160a060020a0360043581169060243516610c4b565b34156103a057600080fd5b610281600160a060020a0360043516610c76565b60035460a060020a900460ff1681565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561045a5780601f1061042f5761010080835404028352916020019161045a565b820191906000526020600020905b81548152906001019060200180831161043d57829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a03831615156104eb57600080fd5b600160a060020a03841660009081526001602052604090205482111561051057600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482111561054357600080fd5b600160a060020a03841660009081526001602052604090205461056c908363ffffffff610d1116565b600160a060020a0380861660009081526001602052604080822093909355908516815220546105a1908363ffffffff610d2316565b600160a060020a038085166000908152600160209081526040808320949094558783168252600281528382203390931682529190915220546105e9908363ffffffff610d1116565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60055460ff1681565b60035460009033600160a060020a0390811691161461067d57600080fd5b60035460a060020a900460ff161561069457600080fd5b6000546106a7908363ffffffff610d2316565b6000908155600160a060020a0384168152600160205260409020546106d2908363ffffffff610d2316565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600160a060020a03331660009081526001602052604081205482111561079157600080fd5b5033600160a060020a0381166000908152600160205260409020546107b69083610d11565b600160a060020a038216600090815260016020526040812091909155546107e3908363ffffffff610d1116565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b60078054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561045a5780601f1061042f5761010080835404028352916020019161045a565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156108ef57600160a060020a033381166000908152600260209081526040808320938816835292905290812055610926565b6108ff818463ffffffff610d1116565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a039081169116146109c557600080fd5b60035460a060020a900460ff16156109dc57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b600354600160a060020a031681565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561045a5780601f1061042f5761010080835404028352916020019161045a565b6000600160a060020a0383161515610ac357600080fd5b600160a060020a033316600090815260016020526040902054821115610ae857600080fd5b600160a060020a033316600090815260016020526040902054610b11908363ffffffff610d1116565b600160a060020a033381166000908152600160205260408082209390935590851681522054610b46908363ffffffff610d2316565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610bdf908363ffffffff610d2316565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610c9157600080fd5b600160a060020a0381161515610ca657600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600082821115610d1d57fe5b50900390565b600082820183811015610d3257fe5b93925050505600a165627a7a72305820345bf7ccb13ea6561811008a6f1dd54e492686f46adb4a761102fb0daaf294ae0029032c9efb8a3fe00286e7902c8592ce9d57f927ed1d2ba7e101ac8efa5a100fa60b033a9db7e6d24464679402f946d5b5db23669dd85339225dcc2f61d9702df98b1b037d08646bad5c4ab5c5ae2418e74bebeb9729ae9d570a8e097513b5ecae4ad6d903ac74654f229de4858c5a2bec1be2ded996bc68e01ee79b61d9884763a5ee6f090363704bb96320e0bce563d596a11df70a893f851a1c810d8d2b614f9f06030b7303b1b8c8a0e730a36eeaa8669b74f8dfd6f54f9fad2bb1b002328e2bd376fd779c03df116255da6525a9103280494086f498d7793b9cb0f2429f6f5795e55ec6c21f0384c7d2c5f6d22b0942f3599174c9aac226efa4d7681ad70ca5090749e0bca64503bc6cd876a78bc64f564a162f53639dc16eb4fbed22e1891dc78bc8930be9f4a5033e0cdfcfc0b6e387423f7e37789619aa47095efe63adfe6fc3e9b400d3b78c1603c1f5e471a40fdbb319ecf91f8d9b4a794e22d7e5b78105fdca9816125ab97c3a032ebac924ddd3dad3716aecc8de67b2f71feeadcc644ff2d39a533d6b509de7e5038629c8b2a23fc2b8cdc5ee976ec90b7f766edea8824b13cb76e8c0be0b26cb7503e906ed7e84f11e1eca9c7991aa30325922294a8985cc645115b10f9e3d4d4f1a039751f7ab1575a0cc82d2bdcee56c00aa8f4dc87fd2c4951d7f9543e309e1f6ba039508de977d0e8ff4567ebb41305131326e5b7beafe9b3d8acbb8615c3798f32f03856d39c50e72ab2e7a8f3c163d94af8d12c1ece05a5ffcb88fb4e4f9d97d5cdf03210f75eaaf8414182a2264537e85d7bb72be5d9b9e31587399d7a5ee9769c58003f67e04a638524f5fe20d440d5bedc76633fed01af170e6a6a08129938da5a48603d854539d1c2b23b301087bfd370b4546e9026860031041ad6c884abd28c7b9820355754def44b6fb742b7c9d08532c65dbc3a549e344854ac806e5eb8198f5c4c103c37264f55af7e29683669d27081c9aeeabdc7cb5b6209d93648c76c0c98a2dff03b4a43d45a336d587c0574a2f3745130dfb4cbacfd1aeca8a98fc5d6fc724a50a03cb2e7ca55cbdf27faa5a2a53b32954274cd4a37f4d58f07ecdb4ea2b439843440397cdb0641d08f5e74c0319ae1acb1da322aa59cf5be8fab494da36bfe31548920308265367692da56dde550b7e7c9c8daab0ee3aac793678fb5d68feedc513136203f69d4db3e7944eb02508bbeb61179bd38a5250306fb699f4a17460c9ae9513f003b85fd10b3b887f1003e0d14a7cf79daa0e249242e5653da23a0f265c2bf321d9036ac8041cba11eaf919c1ba11ecd822fedeffdd815b39557382b583522c571f55037c7270494f3ff31390e32f1a7d057c771c814ce65dfc938d71cd16614c851e4303be0bc980a8497c54ae5f0325f346d3e79408b29ca4dc1a05a11da264ae1bfcba030e2a25bd6a88f5b4371778c07d81ff2b57bc07d432cb192e04d8ae70fb3fa4db03a49e063b0232e7e3874e9062f0e514215a5a37e9e04bacc090ff318614fc2b1f033b65afe3b1a218f934c995aac1b0c47cf3bb669637eccf6d3adbef09dfe1d09900581f039b2c4fd927086c1e3445bf70ac90aaa8db2c96cb83c456a33409f5faa080481d8e6ef3ddaafcc40390dc6a5f083c0ed35697d9b96b3a9d4915f20d3d7e1509bde475fb1c0ac1950b00581f0354fe87ff60b00f681586531f02f1cf20cd6b9362007253f3ae99e8840170481ecee54cb27d536903b0819a46f8be2ba8a7ced3a8596a6ba3ba63df2092dd460b0a45695ff9fbdf6b03daeb64b67f888afe16262bd75e135c2c4a93411da3edbcfa897980939ea55a4203262e293edbf81ee06f8aa25f7a010bbd5d5bc895a70b2d3dfe1432c7749d081e03d7472212d895932f9e466288355e8ba308f94570a1fb681196d3c096e046ee74032adf5c239bc339e2aae6fc6c56c6d5175bdc63acdd1b073f6ab0f2e0d9c94df203186a63fcad0041640cf32816fd8a4b56c5f17a12e233e7dadbabaec9ded9208800581f031c715e53da5c0953de87fd77f31b3945e862209ff14abf43a02546249010481ed8fb8a765a4a6403c916e1c91fcef29e157dff470959c15baf931c06effb56bfe09821748706d962033bd90a2be6cfe807343042c3409b714e46ff23b6da82f23cc9664c9b80756d19037b15704cf779b3204bd6e0d2d1b7f6d1e46789cf23ebd84a953534b8e3a483c400581e0226a7c95ffe526ba4cf021f8e0b0c442aa70d29e63c535be2712a0e0031481ebdb04cbeb9178100581e0208d4189d824c95c55e4dd4dfb14cc528c529e2a246004054bac06448b1481d1341c344e20cdd021940010219edff0337af2a316805a05f4d4af53fd2fa05ba4e9ff4f9eb18a8bb97754c739cb08c2803bf4109fae77a7a0581437f27e117635437081d00b4ae625f38aaaa5329964e5c0336effa2a87c398fb0b440a0ac64688859e603c6b001ffd6d0709047d043115cf03f5531c7db6de0701f93827ddbb3e0d518f1109dea0ed318578f9cfb225fd0370030f0408cd81da7a7f99c8a53a9ee7986d5043f68a7d9d180bf73a1aa4a3a7233f0322b4d44e43b0e92acb0384260688868531c09befc677308aa147b764ab36a426031c0572470b508a7529f6f728bd5561e7aba6a09716a5922f4ccd9c214e2c5d3f031bf23f0713c375b1b4dfba151cd92442dad4c578050e37bd9d53b67ceb20550c035f13bed04d99a76a6c405fc4b1c050723486b938c860067cface4f6a8d7de7240219ffff03852a057115dada59d4be5ba9113fef11281217aaeb6bf7e6ac431d6007142769030d6a40bd1ccaf5fb7e56868a3c47f699c56dd1dfebf0f53de25f3e4ab684ab790329aa3a35722fcb9bb1deff901096550595118f416e54ea89ed72731d455615520219ffff0219ffff035bbe9a1d0dc610a06b728862a41961e4e9a3a7e5cd44e255d038a6c5610debe803a80199a47381eca2762a8cf4ae002c420fa26dd865455daa1d01fcf014319cfd03a25608739aa0f98e8ef2c2504531ef7ac2eface37638c3ff1caf7b907046a6e503f6114a041b404033ca5eef0b78d506ec3d3dd802912a1bf3213b2dcffabd67bb03d5479b0d929e7da52e3f60a05330574f0520e0aa18891163f532b79c6d71f1ec03d19003012c730748cd08838fa2e2b4527a6e8693697a3ebf5a696a2982b83f720356ada32cbace57a27f97cdcd3fb890f9930426436fadd250b3ae4444ae90934d036ff4240ab03289e1b7b97eb6acd8aa9e6e4bcb5873ec59759afc20257614baa6038930165683f9d88a20937b5d1e937a585c3198f146c61b4c7d8625c3cbcb518a03406bbe5f29135af7ad8830d076515b26c0632804be3fd374ae7ad29fb60a07e70397e5a41288f667e00088b8df1b0cf91ed627cc2f766643844581fd45ecffbccf038685c8ce92b9ec7a8764503e21bc70e867c61b27a00cc9e7347ff92bade6f83a03861b861d895a834812323fc76d7cd1b5285ccc03a70ae63ec87118bfb7da4f7c03a1458d393dc4fb0f4696b19b3eb075caf4074070bda358283b3621e52cfd3ccb03ff44aaaadf0d891267ca300294f63a7d80029201ffb7fa1ca79f1aecfda0ac78034b65bba9bea2bfefa1fbad90818bbe139ce53dc727767b9f4151a342a06c9313036447b8c0cdd93eed9e2b9568ccc72b6db3328e32073b014a8bbf31e76816cadd03112f44ff421f6777b1b707abadfb838f7730f9e48bfa48361ea559f0b59a8a4c0322b317774929b018043a8e44780e139b1e894b70221d00db952a06664114c452038a66084b87880baa44dc42954b2db4506b724b2586895e0fe44e0ee5ebac95d50358069fe1ddf18a7f57f16cec087752d921ca35adace0536e1cb1ff57e5d460ec0379b28a393bd2e3ee0a08d1e90e56d978616f24a33b74639f89c9de68dfe8211c034b8681a6f7ec226634b5b0022333392275d8325b6a7efa2ac3514d70d3c5748e03e70112251bbfb2b2bea5bcd30a2c0816e2fac5851074575d7ec7cc5464e1766b03eb1fc275fecc53c56dc3c4ee9d7c018f84d2286d5e5209c3025645a090cc799c03cfe54771d7d98e2613c5586ac862ce18a06db8d8b4beb5ed7ad67c6c29bec15d030c20c79f8bbd9ec56bef55dc4989f982602abb35a2aae30f636fd9083709c7ac031b4651a0fb9ab175f445861835a3a9d776bd0fd0918da5ab42f0e5817a2b16bb036a72964c8f9a732fe552ea6205442da121eb5fc55d6f39a4a5030a1479f483f603647a3eb3d5819069823b69c260f22128a0b7f7f9904c7ef36dfd439a10142ce5038df472c9499a9199e9ff3eabab3946dd080551f6512a7e9c7878f78c9d977b5903bdd45747b0ef2bda5764cf22afd72ab66bd7d62d0bf1b5fde2d0a0742716b893031510fe1136e53e633f2a3152f8c16fcb8d44845664bb38f69750cc8930613631037bf3c2d38c3c47bf3d86dc6a039a5e47eeb38d0781dccc5d67a587f3df60313503d95ab30d5b4a79d99d790a5747f85a6130d1fff15a34fe2b33b790e15fe23c0a0349b587cb2bfb132b90283727477b9766cadb62b64fb7c056635c701a7eba3e7e0302269eeafbb92a1a7fbfeaae3ccf6bba0012fa2985fe819aa006b5ffead1cad700581e02d863f80b496ba61ca0916e6af12e3326342e3bdc35a83b07dd04aa7b90481ec902c52697c11d00581e0288f98efc4981e694f30918d6ab4264373654b74e2433569a62a1b284544878603d0b0dbd0000021940100354873177b4eeb136c5c297d8367c2f13f44ac26773d06980f723fc832c715422037095bd167b6b6efda87069a072d5dd04f5db1ec81435d43bf82269e216d381d201410d03695ee8bb7ab874f0800ee5b6b9569a1461594e14d22b62980c6221ab7d3ba1100219efef0362dcbec3cc568735bd694dd9862f916c1704b53687e3469c5a679e9b894960900317e911204698c591de19970283448c62001946bfe5098c7fc67bc288211483aa034a5324d35d1f1f0e290323e25e54ae79ab636d57b7e1ce3f04e891eb6f218c8e0363417e3b12be923aff2db97f0e7c00e495785356269c2e9a9372e9926e0c422b03baccec1b9f9ca418e03dfdcba4c6886b9e5fe2b3fc5277f0eb4e57922902356303b0603c067a69eb9dd200a0a7c38c7909f4665ed6b7bd96a171880c1b19d2e4ef035220a185b5560cbaa990ef5cbfc70db73916d76e42f57eefe71439611c24cace03c037bb7350176ee0c2088cbfa5fae60d359002a492068b7ec9273a27db88e51503cbc25b9e1132227ebf76711b361520c7c0b1e8ca1e5478e9b78318ddd67b38df03f14b98bc63a3ad400a7bca6ea32dd032b68c8baba2aa5208d965c3dc3d5be07103fcb566113126d25d82dce95885b66eef2ae1d8c68fc58dd4b8d4a5afdb0f85600336118c62d3435397ba316d0e17171423c7335d4c525f4eecf59b02bfe9f576de03a33b6b416bfb5619efb77c242c4b1100882134ff5e8969581c171a1d63bc48710219ffff03c3c90ec97b972f617155d73070ab7705862ced6bf51719a95aafadfb780514d203ea340d2186261b75a9cf09c1ffcc14c89da310dcb15b0c8c4ce5e45b998e710a037e639fb32b14ba2b21b03a1f48fb8d6fdfd99550ca914a452bce8f7e292d18760324d56e6fd783c745e747d387d1aa604125bed7eb9ba1d710d0596767d3f78b91036f9c5d97f3d39d47133a3d8e97eed870ad776897f78589f9a7ae9d075749da0903addd86c0d65ad9f7b8a02651df417025a7228a990c6a3626e85c706e986780a20305dea607d31934148b9bf6610743933d763cef19ba5563e19c876468d6973b360341ea13e2c8ce6a237e478656a04ff2cdab082b8c10f621062863b4d1ee8b485503821ff19c03a774d3cc2aa3e79790bb5adf8adccf9941803103fd5255db28e1f103a970ff637efde774a3b73bade2e20b90f243a4d64b739235c4dbb51dea5ec21e030f6d48b6befef37439de07fa2f130db81de2eec2e0f03d9ace2732dccf0960ad03edc01fa3db16642b2bb36730b413d2f26e1e9cdc7cb2abf236bbd610c417684b0219ffff03355c18a12fe542f7c4c0e67bb07525fda9109c7dd940e38977e55dbe729232ad0302e20c56b1c2a58d0d9145243ec7a3fd4ddebe606e1cf9632e31569136e274bb032caa333fb5cec7f498e373ce18d46e110c121e0001e15930cd2af8eebb5d2f2a03679117a57c7f8ae035ed07b85c97a1405b364510c0d4b6b5ac01a909488c3e18035197ab646d84f0d32064a90a2b1db2c944a645ff9615294ebc053cca010d9c480219ffff0326f02d5186fe3ab650a3be8318dff17f2b92b94ef1e7d1c2f7e32394b81619da0219ffff05581d02c293a2c4f37efe2c67d8bda123bf17562d31264b7ab75c005293dc960701190d65021905020219958f03011752f083d536ddeb17c7d4d4f63224c4e5d77ef3e293dfb48a98626a6afc96031d5fe37dcffecb2952cdea33889d17f4ccf03823fb540a9ceb36ff97d3f3d5d90351e0609a297bcf20d63d5d3a30c6d32e335ab5e2701f01eb6d392aa9b7bf56da039c3fba32f933a8ac654961722abb487666175b7c4eefb6e54ab2a9751e9178910324648f3a7714e1aed834a90497c889861cd3f03069395ed31db2159414cd450d0219ffff03426ae3831ddc7a715a3f8a435385fb359ddefa8d86e6259d5d69409a72a4f7aa03e5a4c01c327db405c44a3caeeb972e13590f2669bccec506688042c6d9e5293103ba2d49122711a6382f307663d432eeb901d7757de129a36f7448c85715056caf034fc49793ad1bc81cd023647d0d3d6b2b6942aa0e7e3c433e9b9cd725075d2314035665ed99fd23107c2b986338207d1fab7fa62af3ba4490ec1541c2870412e68b0301a2f3ea25a07461c1b37afde7c14a731d03273617c696678c73479e53ffc20b039c711f80408c920902bb330852ad7a6001ecd5eed041f0a7e94b523d114bc32203053b351e6b0b87dc747d0f205cf28cb52c3b61ceabcd2849dfabd62d5bb0a4e30219ffff0398d4c71b7f3de9175d7c13a922e6d96a87d2644a3398c11971a2fdd8aa84927a03d70564eb3f1abb60477ee94fb7c25671da51acfba06d44fbba452ce120b7a55b0366b29f4aaa1ab337d74a470dfaf22059ca2080a37b6b8a84097606f825dfa4da03c8e70dbf1f0b5759fd81174643246bb50bd2bfeca44084ccf965c68d39e24978035dc107415e98feb36a82db9d9857235cf6e3ead788b6f152c61fe69356498238031547cf0688c9834cd46047af2bba58ec9d4abd14744fe8c623dbfdf31e930c300394a362487bc05305fb01c4865b61bc7cf96f355388c1bfb79884b8173cb0b36a03b349b39178923a82b486173b9844653c8df76e88ab57cfb1f30b1cbc1765af7503cd6c4d3e5ba920e5516dc5eb910e96bfb5de2462f1c0d7af6572d203d217e22a0219ffff03f2e503e663b41c38636ebdc1a9b23c80196a72df2f2e720f4c770dd58096696303bb907620966be0ca6a49262ca55d7075cf932d583785d0e2ab96263d59a00e0c037970a473789d09879227333012874fe74fae3f42024a348566dc5618592a4faa031cd40a87f5ddd6e8e0588a57d054df5bf2c4fad9e252edb80ba837371e3974b603921bd91408ab2f9e966875a0315d97deb86d3572620af3c89d93c874cfcaa5a703f15e7bc2c8f0533c355113e5240432f51a75880a521d6294c80a300ce76e333e03d87f22f106003e4c269240b29cefa5fa1e74e73f3f5de1ee68c612723c8b89b2034fe4516697d3f322207480cc2ac96562fffc6b2df83bd08c6c2a175740cd73170219ffff0320d4e3304f0434ef0bf109dfa821c8bd3011a3ee1e04863f5cc4f5afb9a3a6f503276ec6d84cfef4a08130318f2cba515f83d173f1de70b7555de88c0bd4e265940383586236923cbbc9600965f8987365397b584d020e94e7c00efe69f9091e59e00383506e5dbe4927557900926565a9443b77853747209c14ffa3f6dfba49015203039f55f73819022ae5727c714989cd07bc5f5924c67f27e71baeefa79c267887ed03374d291574cce1db89aefa75d31dad29e80a7ebc08876879d33855e439168fb803541bbcb3abd3bf97e3955d8645aba6d31a2064dcb3a7db5da4ab718d8f770b1903e874dec45d027dd36a18ec444faf313fd696bd4a4aa9f47220748f4edb0215a8038e84286afa2e38c49bdbac22be2accf72fa50b933f6d4e27f9a88535f8c2510e03a3640a7e0911f037d23855df712d5cffc1ef17d8bb20aea3e87da1cbe4831d2103f018a5842d191769ef0a7f89d1b616f8fb62da6564ed7254100e64693f9f10d903b5de8c553b260e05f6a4b443b5190274b3d6f367fd24df3425238983ebe4e15f0358b6880e337cbc3bf56598efb8cf4fdfce52d287db8a3a8c90207f3706b9824e0395602ae9ebdda0010ebc07fa834707f87a94becfd867104200b0433a6f0183f4032cae194e57d62bb64a098d64c46a5007a4a388bb25b3c94d915daa396423df00035b7ca57f8f04e49f9ccf0afd617836e1de5b06906ffddf2e3de2cb9725c0f54203aa85bd455af483ec915883c71d740ef0b03349dad18b58ec2a1d9f66a238fc2e03bd32a31467ee8dcfa98209e64367fcdfab6446c210569730100973084473bd7d039033444331735beb4b9da62a309fa4158284554f49fc611b7f781592be15904303960a6b90f8814581408fe117f29227a688e31a40d7c2ca3fbd394148189cb5930388d3ab82e309763a70bc791b4796edc6ee0ae5b8a922ceb10c5093615f0595f003e23e5118763687e0430d7d44cbf33355a0d6478b7ceb3b527aa7e8695928fd14034f274cd37e3fa7507d63b3e96a4b24fd9fe55e1b14701022e2d8d66ce36b16c40306066dd0d99444a23167285b19f26071d4792ac50f651dc7803ed6492461a81b03fdd0d342572160ed500140cbdd6f26dd54eaee90302722aa8a70345d71b67934038f924e0de6882d18d7dacb098adea58c984e0bde18432ea7550d68629576988d05581e03887b91ed719c9223d7b2b04d91109b09ff5d722ae27d37b96b7bf153000c0145020f1db238032f904b2b298e810c1a502138e2b6b33d72b3359a18909c32526c12131da69d960312cd6863653999b13c1c86eb01d40f0d2d3fa79874e8c432448610c87ae4af45030b95af39e8aaa900efc4a5cb2c826930b92f383c18d909be32a6a11365e358df05581e03799038b1f47765a690ec9a3acc7207ff03f9703ff763d74394f5ad9d5007011bffffffffffffffff0305a1e4417e6bfb68c3b1b3158e780c740772adbed8e0543d8381de0d4fd0368b038f97e3fd9583676b7b5dbe9dd0a007e78b483c1ccb4dc2a29b1b8865d1211d0a031d3cb8f5525b908aa694030a1f3fcdeede400e96dd37caf43c8a888ca504454601410403863a630b7e417522a0b9458ceb38b4939f61888110361f13c8de42ff59b5bd6103e58168984a5ca4a56a6047b16fee8f9a7f9f8771e622093d1ce43fd562f34fa705581e0359ff4a9f985012d6cbef39eab25fb2feda2405c5c75feedd5a9ac66ca00c034701d7f6d7dd225805581e03cfb03b4b65aabdd5fbec6e5ebdd14fbec6f861b2712c863e66522343400847038d7ea4c6800005581e03c69787636d1ef667b991abe91707a02217fd418f737d4631d2f32be3200c0347b771d1f33217c803919612caf183be9e28c8d5c9e5b159cb99b62f47b55c60fbbb2d2f27399707940323999c6813a4f1ac288488d46bffe04037a54767e1ccff563b1b107d49aa346b0459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c59981565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5998d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5998b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5999087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000004585fe77225b41b697c938b018e2ac67ac5a20c01614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5991693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a0325b3dc5cca21877997583909789e1bed2719264b99d88704d0a08908dbd6a5340320dcb937743ed335e8d468fae51cbe7eb091546249fdb2766924cbcb10125256030d38ffb2325e2766b7763a4dbcee54b591daf57949058ae86994ce837ff929eb0306cf35f5befb095fdc34e81097eca173dd977f512ddcd6fff8fcef8b4f4ed5ca03baca71dbca775978c0664c89c2ec22df92f1b9e9b3b3eeaacffd31663233b4e2037a190d853f378ca1d2477ea7124291278fc458ac38b600381840b0656fb18fc903e347d4be8b79923f5ec27f5febe7c445cca6d8dae625a696014b5dd452ea604f037d5b68beeffab209a1e017a4c09e648650d5d5cc8d450e8d25d8e8bbf5da5094036876d83c6155264d29d11b36f1cf68d1959055b08daa30f996f49596f3907f080303b85b317a73edb813d9c9361716ca683f5222623586637d86ed99f4944a9853030aa79f72f2ef484a8e9411ff9611d0d3e6944586a5cb42f093c465eca1ba449203dd9467bc477688776e6dd68a7e18c4bfc57146fe45c37a08f3d78e4a9137152e032bb8e09d9ac8049a28ea067df48de8e15fe2ad1c9cbd2328125957a8fdb7c3ee03db58b9445d1dfc0c95de3257dbdc20c11fadc7e59c3a668ddfc053a45e45f94701410b0302de6af8bc7bdf256473435a4b93721160934d8825fc01c56e10d42f2e91329b00581f02d18cf64c290ef33422b9f24f51be50898665a1fec3cace15cf0b09ddd03e5108008616de4a9e4748a41d7720b53f732d00581f0247f37f78c4e86e7d7305d635afa79d52655d54165476f891601f2b0c91cf4c1ba40c413cc0c52b4b07d0c000581f02ac1b9455c74f6f0112cdd556425a42ab9e13f9fb457fb87352f28eb7f3014d038cb17ed2e2b3ed8880be207700581f022d3862dd22cfbea7444c77e8587f722fe6cf6463fb07720d1f2077895efb51efe06aff8cca85817a0396279fdb60cbb800581f027e1425e6b8bd5cffe013973ca52f55c2c2bf4df4dca8c8305bad94caa01e52013112a7aebce2d4d62d124ed437c5e5077d00581f02491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff6975820010000000000000bf93f0080f5953f61f7136219f000176b548d79e06687d85f021990d4034fcf3fbeec43ea4535c15b405bdf7bbed4da40b745f2025ed0a2162059bf7a05032c0fb8861f58f20012ff956a23fc50433ec262630eb3ea548ab2e48aa8c5cdf90219ffff033f78714d739d3f232c784e96eda338d46a7d340d84a1b910c87b2598c4dc481f03ae4aa77a08aa115f0121a7993e6faef260498105fe322e67efd72520ad2ea00d03aace02fa46d9c0d36033f86098fe457177257272c063a71de285acde4ed711ad0326f807e762b56d8ea567183074ad04dc7b6e7093de24290931e4e1a173b2e1bd035bd29111f1aa473311ed9adca8587b2bb80256fc6e6dfc19eb8e76e9c59912f203654e5023d7d3b2346eee6463f36976dec9488d99cea38c9e99c3ba2ea4e9d8c80311345a465668e225bbb3dbf84659df9bb491c4239db316c8241324e06b745df3035a3aa859ba335b290a23370c86113203eaf67e91ab56e9a9077c5d6812d08c6a03fbfc1905d10acf86d87e8ed921e007216f25cf05971b3e3e1d336718afabe72503c65a31a20b4c03526d5970dd21021f716d85d8a1ca7d48c3de3cbce69b23403603043d595c841e054868caa2514cd592765c54584ce185ac84ffeb629b0aefec2e03e16594df2f6cca812bef6c19cb0caef1d389ae1489309b0cfbe72394a11f839f03e968bea5804fc48a8b9c3e16351ea6e59dc6fb69eaa852331d3609de1d9e05e203ad51763be55751b7321bab97d50a80b68836beefe6efa698c62f60c0718145d80219ffff038937ac2796577bc362bfed2d82eda3008876941885242b918776e4146e1f89da037264431c5ae3b43e58c6426596ce894f8cdc3de94f364058de0f26f1e0aaf3900377e58c214446ad9ac3ca6987ca2f54f8305bbcf3d0569265e2dbb0a1ba97a87e03da13edf195ff12b44b0a5cad5e2cff883f8d955b5b16054150296dcf5c795e0a03264dbe71722bdfdb1b40080685afe9e341b7bf7561b471ec61c658bbde6765bf0376803c11aded7cc8971a40ed5a78c147217436f5e3fb5bbe613cefa60cfecb8803cc950474b9336d277d2573ade5ae04e8dbc089f626afe7b11fe3020c0ca62ea303f52c18ff0d648dc37bf6846b6a39078322c34859c1c17ae68eac614460aeeef1034acee79f0f9c76356c85546de3816caa66a793469c94d047dc5a623c7262e81c00581f02970c633295ca131b1980446b2afb18b749b61f6b0f9194706cf84e2e93755820ffffffffffffffffffffffffffffff94175f32cb5d23798144c1f2201a1713420357cbd4c07cc9046baef638f0b238e2d2c201dffba00c2060b39b8e0cd1f4e5f100581f021eaad079713387c10071b48de40f4b2d261e7cd6d83558cc7688f7e3028f5203c9e0c37e9aa5ec7247336effdb10af34ef00581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100012c012c003b03f6150000000000069d5214d1d953e6f1eabb612a1e7e03b1fb5f73952ded2fb7492e53ebe8161bdca17d247a85aba39a7d498fe52612220219609803493881fb32fd85046b8c70617520c7cc02d1ff75986d0c18579040d1985b6b8800582003b46a70ce99b3d13e89d93fdfe3190c7ed48350742dee1a7a6164ad6a394ce04d08e56c47113452e10eb31e953703e43266651bbec02fb5d8778dd73f5cf695e952eaf010a79702022f2273dc121103b4d9c3646ce67e65ce51c8724bae2140d735aa02256f5828fb8b5cc7481d13a601410f037d9b76a6809b062cae727800fd73b329013ea532bd83fdb8bacd8724031618490332f758254a4df05c11eab44d2bf404f027147fe65e5905d39164542a7553796003585e7c96967a6cb0198256851f7cf37cff0a5b75fc155f3e51bfffee6ed234f7032f0b917ab14c70f16e17f54b943ba27be2f3c73e19f085aaf61c76a37431f397038248ec45fa62191eec2840e9008170081b13a6f41396eb32bcba37ee89755ba903eec44470c61b1c7d5989ae10e494c929b725baab4ca8431dad0ea37fa54c2e50038a89858a56213fa10aae5a8b8b82b7fb477c6d453c2a09e3c06d7dcffc0f9910032523acd05dcc8376fd433cca5dddb03d88447d2323263c11cfec739bf76addc30333bc34651ee904bc2e7dbc47f5d9fcae30c1699a6601bff2d4d998a40c02c92900582003fc5926b84ca94d4400c32f7c571b75f8ac4ea27bfa3917e65b3b4d44caeea0520180ad4a0da14ce1995724c35987c895fcbf037d5702165eee9499bfe25782f77afaf004103d4b271df8078ca00b9a217214570219ffff03917eb6a3267c752b136b21de1ffc5d0275a7a91f7a62a0ce295bd3dbd5aa966d0344b68a2589ac613cfea36a8f5afcbe16908bf909954d1de2bc85dbced518681f038771ca4b6ce7a53ae4b8ef1ee10a7a080e785ab44df0b2cbe5a79e70084c9e5003b8f8fe41b34894164ad5a8dba505f78eff5f53126cae1f1cdaf14fc357c30f4a038c8a3406db9f3ee55e32419b15cfc410a432b6e7d8beca72ab3670742b7d9bc9032e90ccf0ee14f0386ad04a629195dc65d51468e954bdde976cb3d38797f4d5e30219ffff03307adcedba1b350c367b1e1c750e27e006a10e441f69257dd09e61216269bedb036d74e44fa0e328908b0f36db11ecd101348d079be28d2f77653756dc2fd3f63000581f02ec4b0aea02dbefea440976744024ad7255fff4ad44277d16e208d7556ccb4ddc00aa617f888a6ea82a2dc58100581f021f6d862a8d08bc7ef19783460f65c6a8fff021de4e2cda797b28ac91c2f75217c40b20dec573c69a14c281264ce6e2eeb900581f021ad57df0cf98ff9a6d33d8636da7168b248e5e987e4314063d8121f805cb51010000000000000000000000000000000000581f02b470d7b44fc8f1ecae01b94cb5032f8990d02629ab639fe9af34a3d526e951dd9ef9667ea700e1f42a85d85c7483bdc300581f038ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c05820010000000000000bf93effbb35eb923ea1b6498d0400176b41fb87f86687d3af00581f03f9e820b3e3a0554a43591497f53f0478b55baf0de719a21e35c54f5338005820fffffffffffffffffffe201abbb23e220000000000000000000384d931e100ee0219404000581f02c1bcb70573472e5c8b9be2c8333593f8c6cf15f3d312dcdec735286e91265820ffffffffffffffffffffffffffffef9fc59fd7b7fb2e740ed3a418e0da4adac200581f02a5179247fcaf6fc59e57a5ebe4e32d122e6ae84fa5286387190fdf6b39c44e017cdb88398b60e43c3a756fed5f03428a9d06a5ae7f386b12559c424de3bf6c0a7260493d20dd2ffef7648ec8c5490219aa8e0393751806320c7e7c19f17886d53d92bf1546e9ad471b2bc0b522c12a4ac67a1b037d4c3ed4b86b22afe3e41e6b55306a26a975256e414d1680deaf52f34d75a84403fbf974ed8ddc63ad64b844748fbf3be859fa1697c179d893f491973603bebb9103cbfdc9cac8b99cbe4b81d3f288d3407509e4e204edbc05f5500345e4f30adc3c033984cf6975777a193f78046deb86cac16e8431c0b84b03d35a0289d494af4cda03ce800c0cc65b489ce8019ea151a03501554e917d47e26b979652b6221fa180820385cbf4715d5b55595be7fcfaec434d90447b9f18f35081f65ae85e6d0d6cafc703e5b87894ae56a59d24f8c97eb7f1be5d765d805000f456137be4f61695fd109f037d17e95e8b07cff02c635c5c4c68e9814b0601cec50f793d405d3f2fef04c538030a00728c73fe6ff09afcc57f7227ddcbc8a86129a2f54b7444b2b88f5847e66c03700c646233099c224c4a5ffcf6a77dcafc9813111d9094a651b53b5c8e2ac8ac0393cec6ab34ef7ec31b57822fd79eec19b56d48763ed5b76765a81a3b7a8575fb03bba467923e7dc4c1abe01039ebd3985e627160c44a89dcb0e7a7383c58652dcc035ff1520ac591e7caa68d7eec311a05e0cdbba0c7a05f846b5154cb27861be9b40219ffff03186348758ea6c3fd7ec0483d45e832f563793ee74509847f6dc85f25e8979d1503455f92f2a627123b5a1b92a89b4a74cef64597d8c838adcec2f24ed813237b3b03d8c4b3dda956ad21c495d7fa0089a29343760864ccb507870f4d006856bc1d8e038d5eca930884413f4ccafc0d69481328d4bd410db97b6a21166f087ed1eafb7303f83fe917fd9f07b63fd9caf43aaef09feceb54acffdf5cd4f3db49dc9f4a686a030b735e191efe58ffa1810ad1a2b8c80872d9f52305da1e5fc96529c19e9d2f9703705cbd56400ac619bbd056eff37061fa43db1445f87eee3189a59010ab5ea24c035bb5f42bd9a10b127e43df23be6f15cd64bd98608b02de31e0b250bf8613f88b039f571068a11d650a9ed9ed783a07d1676a281aa849ff73fd5b647f1a6b632a47032af591a742fb139882932353fb426980c2eb2f2b22e3ad1f632aa7ba4f68ab3a03c11722f78863a687b1b0d8ce14a046f73c5433f22be78fc95fcdae42130be7f2038a86cd068b08053aa3a85580be7f8eb18c2215c350e6306df3ed9615687b3c1403ce67ae2a7569d0047b85d04efd3d069ed5c5dec18229091f6ddc82966131faf3033ef8b39eff74fc7cb30b689470a51357a6ae68f722ba2b36c6cb5dfaae710986035917667f11f51924170bb1e9551fa666212021b67d852f8971f7f11712cb28900219ffff03d8fc4ea29bccedaa32168b6475715c533967892ce1b318fa2c6bf9c758e05e1103e9694d1dc50ba57bcaf44fd6e2afad26894811996672f56e80af2cb5dfcf526203c2eb706cb9ab222b62ab9e798bea43aca516f488f30f03b23ae4e746f6cbb0ce00582003cd21854ca68c207c17636f419357770e5b635a34ffa928cce69ccd497041a04d1010bc2970a8d36381d7fbf49f03b68405b3e8060de7815f0b21df6d3e6d87ef55f9e64593a467627e4b33db6faf0392755fb70b442176dc579e0ceb9c8680fb482e425add59b19004010d8b447d62014100039ec14039ab91038bf6f95db8a05d4b8ff3a59c3b30ed27ecd3523d117d18524503b5e987c85809b642610e5b643b4e57a68d192a33843a4c6b0d9aac6ebf61832c0395cf3afd3daba12a6dcff94e6e0dd62c9a4c3d82737b7e5752efb0f827707cb503b6d20cb04152bf335576af163110bd5c699708e99346b7428163d1ce11a938d0032d961a2ac2d707e87a2b8372664097fe6b855d1b936f2790ad51ed3a2a13f19600581f02fa111c6febfb0fe8186dc73331cb16612d65f21b609ca319a408866dfda7582001653c495d0000000000000bf8f7720e2952dda76c32ca00570012496564ad3400581f02ef575d8de95b23f960426e089f8a1cdcf2c8def0be711ef384b42979a8ec5820ffffffffffffffffffffffffffffe8e92f468def032528414d9baa32db98068000581e02b80ee5682030c5560245e225cb1cc5599185717765fbc9628f8acbf6155820ffffffffffffffffffffffffffffffffffffffe818271d1b6f36946ea6f93f7300581e029a95c7b50b7e8a6f09454034b2b14cf2b85c730dca9a539ca82cb6e3505820010000000000000bf93eff332b53a041385aa5b65400176b355abbc06687d07f02184201410600581f02ad5fb4196ba04baad0e8d5d8bed2cfbac7340613c1433908943e507282d94d1ad5cd71739974c3cc47e745860219480603cce47502756e0cc87cd948b5f768939a34ba959d6b0e967609e33d0d8e4f8a07037ad6b0f1b2d1db2a0a2ac6cdcb8e44d1be43cb7670a32943e7c932b20d3bba0d03f232ab0587ed59f164fca31020f7fb1e55f89bd057284f260546342fb437292403ce829413e03f08dd552bacb2e57467753ad46a22a45160029009cdc4cfc99f630219ffff035c6045b4a743c6b0b9e8f0db9e511907345d2978136ea9583e39822b636696f90399d5cbe4461687f6412ee63bb54cb712518360828abf362231576961c77c6d2b03b05f95dff33f42d8b56caae55de2ea49a3d25c3650349ec2bd2baf145da6532c030f57135791aea0598f2bcecb91db078c074d9ba1672a9cd007c9205021a39c3703a8619ab4d8cf1b8c0161d40159a5ec7645863dadcd9812f8447149d09c3b4cff03f35bb26df4f108ab244d3f0be7374705379b434ed92914e4f235ef23af281e09030050c343dd715287f482ed598a64bea05d9c3a1d8a8a3aefab1f0d1590c0186703449664e6f61b01abb0a6ca007d9b4313b50f6e2094c530838c0479b0e058fb1103457ade12c49b97815733c1b6effe17c83f91d430d8d06e1f0e6dbc634d9a670203fab229a921fe29577346a9f34f95ecea5b5fd0ea1c791bb7a8118f26e3bb3500035a0fbe171a1455f5bd6d53e4523f5a4e97dd94b9fe23a614b41db322cc525541036d6dcf350534b265b713ed14247e50081b04c211d76ad6cf334bd4b54769203b03c307b37d027825f64eb395890d7e481c595ac4576ca22c3ffa6ed0d64954defd03a7122634538264ca0b2f8a06cc57c7ae9ba07e8742c56d82de5ba131a42ae00e039399db7ea5090285fb24cd65f330ee9f5c8cc3295fa63b7ff60f7c80705481710219ffff03e7c4c0eb94cc88fa6763b1835283e79e4efc9e644d9f29d915aa577ad03c56e203264f6db0e453b6709bbcc62cbf50fdc015c4f2c9021b7031d34fb7cbad50007d00581f03729d808433015f38d4507a9e6c8e8c17ec23f1fe880bdde44113caf68ad04c2c37ea33ad56d663d241078900581f03b26e3e9eee00e0d72fd1ee8ddca6894550dca6916ea2ac6baa90d11e51005820010000000000000bf93eff9b336d776c6acde6c3ea00176b3f02e2606687d2ef02182100581f02d735c1289f10995e49b42dfeaa5ff9c366af87f4b4044c324514e854a6cd5820fffffffffffffffffffffffffffff88283c90b5f4853ec2416475623e5e4adfb00581f02ec5ea62d77510d3fbb90a8b38811ffb62034ba56e988d81c123c481dc642519b792b03337994d0cceda6700211a2ccf100581f027d73e5c1636d0a393adaac613a111e68cbc4cbe391bda46ff617657ff9fd4e0186a711f8d6f9299c0cfa63e73600581f02accdd6c79ca32022e9ee12fb1939e266aa3077a7dfb497d375fa6c57a6bd520c0a3fd411657bde0a215160efe213a85610021982990309bd848ea852d9b022aee541be23d9c52007f9e6868ccdf5ec053f84860378e303986e1c47ba987e3e89f1fb82d66a4f90d153e621d3b3db40a725b5639443678703e46081418f45bc8520edba90df0463e47b741dac2087ff3e98dccc8c6ddf414103036f4640be4f85416a887feb2a919528817572ddd40689b980fd519859f6883c0321d57e211e4341fce70c3d98d07c3c47caa85aef6df97e8c340c26d3fdc2b69803ad1341aecb12ec303bcbdc8d73056842f48c5736f31fb6b52404025a4eb3226b03b648cc95f0b37a8cf1bc6f52e1fcdc2063d5087c2fe724f4224860ea177892cc038569595854e10e16144e93fba1b0aa2a7450040c60d1d74cf60c8c73c91120e703262a0184915e54e8eeade34ab9a90024535e8400f994e83b1b33ed56e5969dc60347cc8cff34c1e9d9a30af5b763d16ce93d7f1c5d06c730f05864c685254fab750058200302ddaa94e5dd183cf251803afe008cf9d29d82a8d08390261d68c8530c49104d26f404405cdb04cfb2bf32320d033cf6d37a70ede614d61b6a31a085b9181d56c7b77673c53bc4911a254c007b93037316cc47f6872fbeb66ba304a2c2b5424626420efde7c900098b70aa1fa0975903f9ab3edcab5b401659d00ce47e8b6e74bf5809d96c20fe41c890184c7fa2913803f8dd8ca76be00c33b61b496cae359e8b00e5946947d23f6e5a22ebbfbd2bb1bb0219ffff035c0ce7d8de321d908271783808b81b88bdfe2acaba0bfb804c605aeaccd9b6e2032143349939bc35f4177a7a0ea2504ea55b78df0b9f2e4cbd50fee1eb74e4a03603798a2cb0c41aac3f4fd97a93f7488b07f2396fa4b130fe44cf2f0196a26080cf0385fb3f79c391f7552fd7ce8d63c492fd8b10e9e24de8f07e9813e3ed73033c7003b03cc73b1218779c293155c2f3cd6ef763f49a7b889b2b9c4e5c550fefd93e7a033bdb26d427c95fcc629f7fa111d57d61a68d231a217d96fa35130b7337fd6b1503d6a5441042262adf388db91cd1dfffcaf16020dbb88c35dde387aaccf571461e0349f73a8044811850bb4add74f6af6e964075d6bffe8c8f49137a88591fcc4a910313daaed5e373f97c8acdf37d4fad323f515bdb009a4226f27b01cb641bf1f7bf03f3a86f085018ccb3bff2be73a8dadd883f3b827b4c0ca65d2c074722ea05397c0372f9dafa8085a41d017cb3da390c98ba45fbbedcb88fe0c7429e4f65359d84d703a3973682e3cba05bb41152cd4e64c6c58161618f95c482b46e7a6acc31d3804e0328b4c4b1c8f9ce40739a3acd8f0648e4f2bf983b5e2c3f609524821e1af2b851030ff6ca56e35a99d8d4c07ee853df26180aab91956d254778799cffe9fd9d24c40219ffff0311d82f40f34a3e0c571b2160eda1224afd014de36830008220274989eadbdcdb03bc13c2ea73243833f76b1e36fd6a093eab482516661b2a5dc5a75e902e791c90033ce4bdc33a077aebe4327e9b68535a07be787b4075b4bf7f52edff2581f4a9c0036e0aa67f0c92a2c607f7676127067a7227435eafd5a31857a7cc7ede04b5165803d3513314fda775e176fffb3042c1a08ebd2dd6a47fa0e217b75b410656186c9503ccd9c3c8330791ce22291374a4102ed3515ccf4736658c5499b99219def63053032212ff4d3eaacefc09adbb20cd33820b89c69046e3e3361cfee006f36586be0103bf7f661ea803e2cd2559a352d71db6f9f55a84ba5daafc4cda9a120930cd6ce100581f02a6c6b9ff42fcca1edf9332c104e122414f1a0b095a0cd6858ed6328725314d0cadc79a04f187938417c3c2e000581f028e0df9575cada42361daa9d5e8ff4f32323f825ff4613f21a20a8c52146a52046448a3ac9f86e297b92268ff4e9fb95c5f00581f022cf8fd7008e3d53b67916e73460df9fa5214e3ef23dd4259ca09493a35945820010000000000000bf93effe73958f71fad35d1618900176b461169786687d4b700581f023f5800d78b1db46e6174960907838900fd66b5d83e1a39a21dd9bb49d0db518847152d5742e6196828f5d9126aa82f130219858003aa6408a853b283d9ea6ef788577f17a2e8d89d93cf28bdcd49a6d2025e49dde30367b13c8113e5a95b03fd2c7fee5eaf521cc7f809f7596217ea47917e3e526806034f086c840578ecace9be41c1ad3c56851bf8a500fcd3468b2e55b6267e0f56a303b62af330b6f335e54d2829022e9c704846bdd9e00809fc387e75bd7ccf9022ed03b2528f112348442c40602ff33e01275812defa783ca03c727b48c315177aefec03d5625949d7ede1cc7bcb0f0561714e3970091cff7d9d3bcb559e579b0afd9d6203ba2f2bfdd16ce182098caf38a738d2a2ac2c6a65e3a2494b779aea11abcbaa5a03f1493a9b2398bc1eccbcefca10589fe0fec9a2d04ba874ef28848b520210d7a103510bbbfba5816de4710cabdf07f10ee3c83206dec0556695ba82b6849bc3aa6500582003535ec2a7fb6254c734862e381bd009a21ebb1106041307af0f2a4e194c5d30520354783a01c399ac853f933707d7738af8810219ff7f035abd6758dde66bd8becf28a4bc25e6f9dca6a216dc57fc6029721d609d37a9fe03e6443ee05db90fb256f354665a43709060b012e8827e6b6316a6807c22d7439703f2b1cc689b2fc80984e040874df4d36d9a1f6aed40782c2ff344399261f3f15d035e6a941a536e5c5cc8ebdf2d35d39640bb880cc376712033674ae8f25c8b839a03adc5dac103aa64f35190add0041cd75251dd69c1f3d215b3d94019a49011ecd2037ca93b844d82a06606d81b70eddf4499ca6d9517df1e3eb7b84bdb74a67a3193039e482379efde2039a3207618665d3b943534fc6e760a2824561d0684a1603567037102a6ec6f31c71b1dc7e59b0318191db72c58204bd940a8585ff54495acdb8f0346c47156b0699173c03cd7ef3f67b57b9f884c4a566b257fc0094979a6899183030e5b3c6940496b3d032e625a11fcee7f4eab2b47dc61a60d30ea75a3547efce203a33706477192de603f2e56c7498326e41215ba4708e9a7d1668270a7a54c9f080385809a174f4d5b66395a92994b9509badcfb6e5cd81c418c921e00b3708908a50357871f4b072b986a4bd72a032f6cb9ff718b7fe0d43eebd90514da596a7b75300363fb843368ae041170c489a8fd8aacfd27a37de6d68bfd9717c7283bf46732a603ba91f6f3ba2c31bebf6207f91ddbc5b6070a2dccabb3e7d06d0462d44c274e680383f0e84b5df3d9e10e848c60c58b0b7688e8119e5e0d1aa7a288e5f30de33602038d7d16094991d3fc5c5a298266cd6c0021ccbaa83cb3cac88b73dbd6092a65c403ecd4eed1d38560ee7dc88d267e0290ed213b958b404afe4e5a683814aa86584b00582003dffd80df97b95954ec344197d8c94ac304d128c1c57ae371541dd592649cf052093ce16ef436b4b8f1d83594754dc2f5b5b6032311ab4dea1a25ca6d88e721e96d1f8b0365648707278c99b7d82593ce1a659b01410900581f0240de2d88b036ee33e770a13acc45027db72350b88c89ed81a69c94f1a15851206a486b9678c12d1edf3d5283afb16cba00581f0232d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec45820010000000000000bf93effad34d46682a9b09e550900176b40aebfe46687d35b00581f026f40cb32289e056b27016055f032d72453d787a19fcc21b2c63255e8453f5204af9a3721a772d01917e117d88403f184be0219020903c4c3e57129eeddaf683cbd06a633cf2e3a75475cff83fe77b2eb1c53c57a57630387a8975c92b4a59110aff0a3fa8e95fb84dd41c3e5cb7b3e13aab68b6c8d3f730219ffff039f6dca9c49df79ade300a1dc9ec4f9155d182d649c498f08e62ceb96a002736003f2df4a11013c71d6be0c304b692bd00bf9f6c4dcaa8d519ee87a10876b04f748038a6882d71ed63056de0944789f2346fd64f4d99f61e6d85d9deb0263a5c5e8670219ffff03bdc7d0f7f09e8037f1244e3693fa6970317cc2be43d089281cca39406217386003e01aa5e30aee956f412f85d9bb807860405ed1d427219d0cedd8a43dba52304c03b130d7e778fbb2e449cef40d8962813d8dbdb073d57cdf05327af92fb2fbafdb0348f503dd4c6540586953b39f81cd73cc146a77c582786813661546cf83059958039678a4c770687e1f302e2c6dfb8eaca0e4e7a50b3f3e70aa9a579858b2fba42003e0db3f058b7491ec3f6ebbf5f17af8c5bfdd98921a1807f1c710d6aa82ed319703fe9863a488584f4f24ea51887aa3d2374edb9351c3e9cef62e8c4b05c8f641ab03cf431bd8d72fe6ea98772aea917efbf4515b9344731a4da09e906b4967cb16a5039cea57667bc855fc826bb09442fe77b7ec3ad3bc610253beee10d053efd2f364033aeec8cc5c544123d0575aae5363776a125b0fa4bb7a814a1d8431107436ee4803cf95ab5d32c2541311b04982f21813de1f8575f443201fceec8f016e7de18a7d03510f0c9eaf67b8c00b88769be4d6de5baac7641327e3cf6d68239764fd68f2870330a2e30d4dda2e2e6ae8307f8ef86c162865b45710e9b24f396e9a6bc978324000581f023c5857d5fdc114a084cb1d012943a9eac3ece943cb86ad0a36b6ea0605a3511773e6e8e9dbf2c100f1281a4b34d6b46900581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b480624033dce81a3e600581f027fccc8187711b13f6edac18c16a08bbed7a202ff352ad513c18e90566cd351435d0f54bc2ab7cb46bc2dff1f2175af6800581f020edbe9e3cf27f471d78d7bdf3ed2bb6f63da054458e1cd150fd5c4547d89521aaa661799dff101c5675d9215b736b42fa400581f02dc634d07ecd5221c8d7e3c075e98a2a4d56af60bcf11b5e7ac9515a586285820ffffffffffffffffffc9eb2ea13f38f40000000000000000003614d15ec0c70c00581f02a7fc6b4972b57e68a4486555df1dc243c2cc654cbbe894dda33272ee83e64d2fe6a7309026996877be33979503ba9a6071c91ebddc5e91761e5b1183103a89de4e63befdd7235ac437bc9061d20219a6a803ca568290b6dfea9abbb99690b9bec321903f049fe2046753793628c959585fc703f790abbac1fd795292e061a6335cc3c50051b6ee0ba199159ee64e0055086648036ca67126b8b3b735bf43b909f1a1532074b0ffa1334b29cf5180fd05088399fc03dcb88d9b9c16171a56792472548ed335863df525df7299267d45aa9a04bd174503d4589541fa77b5852812a8e6183918d542675cef4382a8c45fa6f14b011d31a8037519f33be9d84c50d8753959accdb2bf6ce056de4f62fb71885f504fd4213e4c038a2cc812f63b26055c7275c7814e2ef8a4a2bebbe97c4d372f9ac69b82817b41039e2cc15a86987fcdce59f38f05920953a89c31a24181e438f500514b5b519fa203fc03b1d772f0f7f5ba336dafb175657f3841a086d5b88e7f42a1ebb7c14f75ba01410c03d6a519a5b9068076039f1bb14f32fd94a525f20dd970ce4f5226b0b57da332970334f8e417537a6f07a03a234be7b5a22daa4e0304622f302fde4083d38876de910370d7990a2660392673f32035c9cc23831488c256986ff873e0bc5f17b67eb0570219ffff036fe9511ca1946caa2b4975e73576c1c79c13f2bc5d3a125a53043a0fb76e6f9b035fe2b5748b0e7651c0f644c3084ef29cc0eb6aa863d3f0cefbfa2eb726c1a0a3034647dc94a73e576fe57a157641e9b8ec49ebe7ed4eab6377c5191862ded73973035709763b17f22ee9ade895ad61164a9c7c615ab52e4595fb16e7e64e5e15faf4030f5f44858924e74caa3672785d8547f722f64786b72f49a5af13fae45738d22d032825b3b4d752acb2905e7384420e88cef743a25237893270cb24fb2fa78fa2fd038e1b44b6628510957e3c1070209bae91c33fd48e6bcac53da4dbdf614fb4e80e03027f2826ec481e52a4304d5b47cff3b4370cdf69043c1b11fd3491f5194bf0d5033349ab7cfef486d369c0782b312b4f948c49aa519b80a3141384c69bcee55f7700581f036af0a7b8d23d3c71a45ddda222621610146f0c097aa2269420941e2d53e05820010000000000000bf93efdeda76bcc9ffd343d35c600176b16b6c9fc6687c8c300581f03273b474459228e9048bfbe63e6d17411721bef2559235173216395cbc8704d024b4f5eea7734f5f44477b6b802189000581f0287917c1f49b68e74e5fc5d291ba02ae09b8178784d86fea5a70de6441fbe4d1d1c5e3ac86bebac25f39d925400581f02c9b186c905d45b3f55b8b297738c384204b45972225e271dbca25765ef044d48c6327bf142df73bd1d8f57c103b2bf732c036c69c07d5e34e57db899f7fa2feadc7b966eb53efb332f05602a4900581f023da076c633d52cb48857feb65c711acc2c1d869da030b08b257f8dee2648513a42d41e9806e0da3947f6da4ffed75d3800581f021e1503c1faf5749624136b186eba9512a142c524169a1417c6fca0e00e5251022e4203d2e5fd2ffebe1b36b2eda0052c00581f027667562c08902ef90c9bc52934473ab645cecc3630e949322433cfe936a45103b182c820fc15607c705c585391cc6e1002191aa3030b3e2aa284a10dc6e0106a6f650141bec7b80c44463ed57272a851f2a4b12b8a0384525750091d9908d035174608de17ea7a9cde37b4f8c2fcb8bb03356b3c89c9037627441c87377c6da59e6de15edf57e52aad289c1615aa59219acd8bdfd8323a0363eda6287795e2c91a0527411cbf671932842ef0b876a69dec8b586b9065337d03c20f0f3a723958fd8d187519dd9ff77bb78bc7cbeff3ffdd4e202b95b9dd4f4903d3f5e8a8ce569871e8bd9f0e1b1ece41624f99fdc4b6e95e937e46c42633a9730397f042066d6289c47cf2a49b06555f08b24a04847d43dc515c67e605a34b322d033bef34d27a25cd8bbd11154bc6e4e52649dbf63686289462b3f89072c08c16cb0219ffff03278791c17004ab9d0ac00e9bd1b81767d488cc96f41d39966534b59e9086621003a821bf658553e2462b94c582d4ab184af243d1bb8164f59d3732747751a6c0ac0219ffff03649aab6d1e3544eaf6289cdc4a6584767625fda315329d55543c5e20faef546303f42b82207aa9efd040013f80425b95cbea157e89eb4b942c68cd92dd02abfc6c0333f8d92063648ada14289307d21c78a207115694235d0eef85779014dabccbb50329506ad2e1644daad21eda77eccc4a9674c3bb54bf9aa45d5c2fa57fe926c09003768ff330afc2d4669d55f5d3dc226bb7262e4425c5d41b9f2fdb6640fc9fae810331fe18bed242d5d8a01506a94f7cd8ebbb0d3583d3301c4f9b9792585cfcdc1e03f689f1ba5e20dfa4876bad2e6ebe6059a25366958f5a3572cfa1ae207e3c478f039baf4bface120a44ed140ac91e5ce43a1ca7c24adbbccfb425c2dc914c31e68c03ce54fb2ab14adbdc3ae24e9a2623dcb126528e6af6b7c0f1a9df63304db1136e0360ffd06c0d01e07e6612dce4f1f47f56f5af169a77225d4f20788d03786bdfba03add00138cebae0e6fef5bc86a650ae00af4a1bb947ae4cac81f0b56889f438a503839fd959e1d4495e89ed7b782bd92aaaf69594e8d44fb0cf1c4065081b94416003f1d31d8919c27a8a201811ec8d463cb40ba3ba237422e77bec5afd1283899b5e035202f4d042664f2556aa3d49d87dbc3cb5fb207f6625fdf515d1dbdff1d0dbaa03e4984224067c7c7d5feec85b5e26c1116a92457597b9238493eb55a644b723a200581f02ad99d6ce244efa8a0f6c2d04036d3b33a9474db32a71b71135c6951027935820010000000000000bf93f00e82aeaa3434ba645f10500176b5e3550a06687dacf038de3c54099d02e7c54f2610a8e21d62a36f8fa9b75186b560620f89892cafaf400581f0261d9bddb5ef9c939415bc88eddd2ad1776a3f85d38089610ef2df8488ec24d03776b897ce858c334ea03e32400581f02f63a458d53be494a2b77afb2d0af4abe15aecfbb030204f08830c8094cd55820ffffffffffffffffffffffffffffffffffffffe47a4aca7f17b632221232ed2a00581f02c9cf3c226aaafbc86d89591b950e70668f8d1580ba7816db86c5662c36d45820fffffffffffffffffffffffffffffffffffffffc69a96523b95c3b67ab4628a9037b4007f03ab673cfdeccf42d99f4d57f4df78373858f569d1947cddce40e5f38021960c903feb6f5fc82690227ffc8c6e534f2073d191afdca3fb555f640af3354fce2f3c603b0bfa9568ce5fc532a4d586141f0c6eda30bbd4e3ee7fe3434be310c462fd60c03da606bdf4244d1e84517a59526f444f6902c97b987b577da496a4e0c454c7e4e00582003cb198e7ce6ab60eb36f5ec85e0fa93c88d4d188811a638b77e557efc0889104c2d2555c7fd236067349c6f2d037f0ce1c6b84ef40352eafb1e11eab22329b6466eed0ee623644d47a26e796b810300afd512497fd678099ecdc746dde85706f8b3ccf51aebec36e22903edb5aebe0219ffff036d2dc857a63fb6712c95fd09f6b8dc3f67e812b0a9db8bea29b3611eb05c1f8d032973e5fbab126a27a0aec548900155baeff5321c2e1e527e2ede98ff26841a4503d9e08b8f059439e72d9f1fa15d00689cef8c3f7fcec26301b7e0845b9bbaf59e031329e8500145ced21af9abffda228e4a0e460b3aca8de6f2d05c35573a29a2780381703ac42a9b51246abc2a984eafef1e8a4d70f02d91aabc50be78b8bec6997e03c4ea31560d6c217e3da97bf16e7421817b2776c67bc7c646991f4e552a78f0af0347ba1aabc5f58e1419c0ecfa38bc10e48f949c662a45d17a2ba8290464711043033db6f7e621270c0ed09b150f08ffa7d8b3965d037804e33bfa7bb5811592cbf703dd33da1fe31d48633183207d6f76f4e604c7ec40609385e9b0ecf36969c190bd032793e894d1fca878f7392babbecd491e6e04f6164bc7eb7d49089f128a59962600581f0276f1687bc3d60a2da2adbcba2c46958e61fa2fb4042cd7bc5816a710195b5820010000000000000bf93efff13a205f815e5e70406100176b46ff1c7c6687d4f3030edd3df8826f3132503634c01322757c00611b72bf6172c4d6c8d898d2789ebc00581f0270f332a496e51a693f7e7af8d8378ae167b27bed2e03bf97c70ae6ebdb165820ffffffffffffffffffffffffffffffffffffffffbcfd5d2cce51ff39980f511400581f02019f1fd4856bf7b9f6bcdc0443c8e5ea691a0ed90b9db0634d0d4ee63ab652035aca00a91e621804f38a50c3a6f9cc64cb00581f025b603b7549bcdf74a4dd434a4be3582c71d9a9049a5f0fc2e06397a0795c4c1a40786ce7d9f0a4d667b0db0219343003d096e9cef61ee89439ba4432e8ad05e60955ba3f7419071d91d66973daf6591801410603e390cd19b48de8a9c2b2d4bc222178ee5aacdf4f59686021ac89b60ee867970103bb0810a31fcf4167e01ca86478427d3bbededb4face78e5a907deb8aee2e0278035f70a4d4c8bbf01b17cde13185e37fa6050190a6ecb924ee491bbb6ed8da167a03a6a9f2f239e863098e2d2a30ad0e04b59050ab49e9b60b7d80fd5b96588c968e0219ffdf03f36eb26878bbfd80ed4563044487219c03524386210a9bc256d0eae02e514aab03fe92a1227e8369e708f15b27d2e7afe6b8c74923c7301a8f5ffb7e6a40f8a59503366fc3048ff2f97c0f0cf46859aea3b4c52d1603820f387c253426995796ae6503bcdb0ae8342a00207f606ab7a04813c4771781dde126c7742dc8ead6a5f1293b00581f02d3d61959b4d3528b1d8ba932c96fbe302b36a1aad1d95cab54f9e0a135ea5820010000000000000bf93ef524dcca2803791e9f86e500176a482d20ec668794a300581f02cd44d8fbbcac526afe0be206eaa4ea04af317bf30085a39dc7d2e3fe952d560ccd71af1df4000000000000000000000ccd71af1df400581f0259e471cf7a23e9b9625d917b4bf1476929cf72e22370db792b058f18e8d15139ab49666dc9ed37f038ce8aee6c23111d03f93832175de206cd8b50fb4f8cf8c4057e35a81dea716f2e63e34d56fda8710000581f021e838a2ab213e3a874a7e573ce6070492ddf50188e3cea230b407c46a0da4d5a9a8c179967747a6e92c16f8800581f0222b97f406380bc64a6d825f32bf86194cfb48ce898aef142551db9d592a54c28a7bc68de486920d16d789b0219b10c035ebee12a4b8f477bb07de60da4ef1be6202aeb64db23cc3885765d2d722c9c09039bd459d2ddfadaedf3a06c7e8a79546109e8843202c728f1602c9485f73bd4e20391a87be7e220d78c18f630f896f137210853c6f4698a1c03ad8fff17e7fefe9b03934aefdf70eb0e14b2fb311bff237f302c06a6cebb00688b4fc236e3f0b6157c036b2028353cdac18f3d6fb7900b96b07c296996be874c959a55caa0ba815690ec03fdf0b8f20ca732730bb3fb7bc4cc695a26488a45a7e92219da3fdb974ea4f9c8035dcbcea13eee332a44ca5591090434ca4dfb54d5c468f38717705a1150bb367103ec9e8396e80ee428fd1a023ab4fc590a0c65f58a350c2c42042212ad17175c950350524415716843c278358ba396f4370d9fd53d018d202201248d38ae776e7be503ad10bccd529b10d938803557e488b4a2db924b7cdb2eb06209fcf7fb4f7d83db03a9123e6af8741fd042b108daef9ff36408aaf4e2564a3c2c365b2bc7ae5c90f60301a023b5dd7c52b43b90597c7209ea35267391e99924270e9ec11a5df96c7d7c03567687ba1f819cdacc6aa1b153013d32ca6a29edeaf92e203e6863fa1d0ba94d0219ffff03a8a5b3de8823cffacf1e0d7641f5556c00bb9e7e0e20ed05713ddc1adcd95ae40389cd145831a14c5669bd2047cb54ae6400639ad21372b212f435154c743a2baf0322dad758a15779188c716bccfbf8fca9a02358764af834b917b4ecc6df1b450e03969ecb2654da7df97cb3d21c8aa4d0a3584fa0cd28e7a7ade1b2183df2411fff0219ffff03b4ef9904a8cc53e71ddeec4a6e4a33a9b3c27d2ec1903211e89bbf8defdfcc3b03dbd5ef0e2cdfa9e112b2ac7d7276e9ef9b6c36c6df096da11599b86c763b56e203756171a78410af44dcffd7336e561024b767e9c319c02429c94f3a9a1851891100581f02f3f6b8c6cb875509616b3aef74d387f4a8c90f91e5ea0648cb0c263ba39f4cc2ba3f600ec4271d46f2b3d200581f022f30f9817fb0a26e7058d1d7da69da0979998591b3d8623ef5f2b115dcf24d25899a0a3bc1d393eba376a9c500581f0230777d1731f60194b3a1a2af25f205b757f1db46ecf0a9e8b566650854c35820fffffffffffffffffffffffffffffe98916b272316eda09a8d73457da48688c100581f037a25210ee280c2113ff4b77ca23440b19d4866cca721c801278fd08d80705820010000000000000bf93eff6d2fd830de3bdfd8c2d400176b3abd6d286687d1db00581f0327abf1cc88a6fe9880ca6bf642203b4c000c800a92de73ac4cf779601590522ec899f1efed580aef7ee18ed267be63e9a50219200800581f02c53ef18b49160b9e2604e617eb4f2207537da1d5cfffd849efadc09988bf50027d21e4e698a98f2a766559ad6b886f00581f02011aa8481d09092d9f4775db29ebc8ca939f17d342be9de71ffac497925f521ca8b2a3ccce06f794ffd42f3780e52b2e20038b89bc307d30639d56d11c7baf84e71cbdb85ebb5819e94ef86a458502e607fd0399a7a30386c53b82cbe18349acddfc82bccecd114f0b43ea3194c0a5216cd4510142008a0219cb9803848cd55dbc4482e05dfd257af552415ae3ed6fea918872f776eea14c25b51a8503c47b9d822240f8e6d87b82bfc3833d6fa8ad9518e44211fc192ad6077352dfc5030082948c68c083f9902f187a1813bbe3ec2be8849db14b53463e944abf27eb19035acdaaee46fd0751bda7f822d67981c8edba14af5db51d1aefc3ae818dd52f450364c5cc417baad228419b5d5d415e10441ae8ad6c0d4a456175c7d06261b8fff903573cdc8bb2bb989934faef0e8cf8c3eb1247e4cc167e2c33d69055604ca75b7903a104a2451ac3f4a0f48b6994777029902cafba29e0b501a221777d1786962e3703bb7cad3c912763bf6e528283cc2e940c9bede7fdfe86258e111af3c2c5754054038c0a3ebf600be05e103a0f1acc8b35a98006a8d5c2c2b713ec108040f9e817970360c8edc8893954d42bf91e4d65da8270304c980b0017187bbdca74820e286f0203d3c15eba313931580630d66620463cbaf8c191531c94156bedf4dbd0ee97433103b41cce03c176dee0fca025298e097d19885f046a7d4eab5f8c04da2c1af40cb00219ffff0320cc803abd38c66224cc017b8181b67555fd077a0030715972eb351e659da2db03790e81fcbac6e80efcf3aa78596a7fa8bb161be471fc73dc9807d6c598a72c8603d685e88e5ea755c37a8820e574c1a3abbeb8f9a6e1b25b6b4cf21114aa35bbb5033ba4ea0ba6fd4baa2bc111f30afc34d3b65db62f098e2923d05c24c8cc677fd403f973ae07f9326ed226d11a04940650a7cdae5adca0f4e29e69d23c97d7373fcc035b31fde998fb9e5e17f0f42bac87875d7ccbc60f2ba3fac6dd3417fcf7e7a5360377f88074a643c0884a4fc4acc78a2f507648303a88cf1461993de8bab5b3fe540306325b8c4b602e8ba2651096e2b35976c73917b37dc75ae66ce5536ec195018e0393c06715808bf18121d30c6fd693496e77c4a6c440ce4b77bb5d2c82b009f26103d9f9ae664f45047cfd5219917c97caca2d175ac5a39f8b357e9cf9bd9fbd1b410304a9278b1d2bc7c72ab1b6ba9fbf0b18f50a207317a5d8d615122f105200f4f803b7beeb742439e2f778a7255bfa26c5358fa865095019b043010bf2f6792bc5bc03104a285ef6b2c24425d74e830064b2ceacdbe3c736299240a4c3ffe4787ca55103acde0e0c2cd657fa7a48c0940bc1ac723e37754f3a869e9abbbd8249fc4d626503a81264eeec7bab106d1156908c269a4f53d6811c399b9233a2040ceb88ec86930219ffff03cbf56007c63fdd8e1a984188974cf066fd11dfb2641657ccec023b36e73e166303c73e19ec7a88c83e7a2bac0904f74be8524c780e89700f70a725b29ac0372cfa033718671e5a9381c2aeb3fe5b6893abef76494e60274da62f51f4ac47c354fd1c03c2d7b425679dd71e75fb2523bb5239177d1ddbdb53aa938f9c1078fbc80b6c8b03469737d40ce367a7c9a4ae0d534a4ee6fff248b7db9696a0a2e4a95ad77af3c5038dff4eaef7d2c7b0b12180e2baf89d20eee145c52ca8df8a0d6537e861cead8003e2bbbbb14624495a6f37e70d9396f4fc3bdc232f960ddbe237ba64a225bc073003621856b0b06d92ccf94481d714d3cc6b252de6a50f7de9b461d86ac9d716e48003295f2472a209e29a87d027e5b65886f4ddccc9207a3d7e0ca2311a4521eec7f103849c7dd529981465813a6b86fd82794784bed177d6d66c34ffda950683b7836c03c3a3bcb3843a0f2a9c342f1faf674edf2f39a5b646ccdf2a4d74b901f384732803a05d2542ad4e33bbb5321e59dc33c6e5d0ea416c75fad71d5ab6a68719fe02e70058200366ca0c9004f13dd92f8b8d7536376f56588545463c7504b27c467eb61e7ab05820fffffffffffffffffffffffffffffffffffffff0363d777e0a530c0dd16dc3c2039d51fcdea871dc5e803046aaf5d3b45ed84ef3a336fefec95e69c607fe580161038f6ba8ff4788ef14cb3e66f4eddbe0d59a3412bfd7cebb7a65e6bc23fa69af46030d625beae4af4cc8ba782136576ea350d78a191497fa72e76e145cf990bd035600581f026e47bb7e8a18027d140fab73b1207a793b7d809fc4738efe3ea8412e8f425820ffffffffffffffffffffffffffffff7a7b4a28c885288aeafd59fdd419f38856033beddb8fa20eceab7d213068ff480cfb0aeb4b8c53aaa7093bd1a8a5278588c40301a1cfd7b420adb4d269b6639c1cd709f5fc82087cd5aa4030d7bc566e75b19f00581f0221ea47cd31f83bddcf885643d29caf57f707a5578bbc50a57ebbc5f5687c5820ffffffffffffffffffffffffffffffffffffff9f5a4489cacd38b872ae059b0500581f02099b0301402137cf6b31adef91d848fd4a600fb619d5f730cebfc771535e5820ffffffffffffffffffffffffffffffffffffffee115b783b81496039e7020d9b00581f032f21c2b351b0605767a2ba6565bbb618d32f9fba126681645f528d7393304d1e3e9699f315cef3a49a77424500581f0386317c38844915b053a0c35ff2fc103b684e96cef2918ab06844eb51aaf05820010000000000000bf93efb443d57120c7d5f89305700176ad84e55786687b9030219402000581f02c907dc8f91146abb64276469d03fd87dafbff302a45eb9aa83e9bc051e8a4707c7c7493933e30219106f039e3d8df58e36eda65e0d3a7ae03b2f1dacf9f50c8e85c1e1d120fb12c34f0107036fec7dcd8b7d525614330d5f2edb24e4e8b3a5ecd948de02eef5227dfbcd49b90219ffff034b11dce0f5978b783f15c900c126365a3bd724f5580db1938c48803a36aba65e035ca55c7719fa43bb1743a2e095298aa387609d6fc55f1ef91da7c5156664d26303d6a4d3f28b416742df6038028e87326bcdfb4ead00dde35f49325a99c1493e1003ddc9ab920ece930645a50adf7072616d0b066c4ac281e64abf70794b5a6c3cf3036cfb503e8e1cc1a6b5aa19f34c4928f9e79d6ce99e7a2e2f27fb6fc722e497970345d83616276e2c9c6d6292c73f0e71e96aa7f9b8b402a9a669e2f1a8c25a4c9a039656d0f69b3142bc78dd64194448fa66657fdc690b109caf70100a5527ab147503113178b86aeb3de227e4561c30d27dc9e52ec6aa9046872e046a4e9f3e2e1d0f03f24fd11cea0754e5e7c19236eba12228f63e3815a497a3933203e8739f496ada032d5d9ae0f4e6afb6490e8beece17d1a64418f3f45faba2d178f3e9a6bb86e50303e7f5569d5e61f190778852767c110d936fbbbbc2d5daf291ef1bd2f363bf8cae03c05c4301cd6d5088a405a793eb79164a7813bcee7f8982e92f4d497dd0d508e20219ffff038d722ff9a9f83851130d99657488196e433f471948063c70d659537b4265a1240349ef7d5fccb8efb9d2e68189d0fc87680e43333ba2e0392a2be39f202db8449c038598e29b4f31d2b5397d8b39f0d7deee40695000d721fd23b6a7f6e29a5b98cb03f2714ca6543819f1fb3f33cd2723da19dea9e3fc2b827a9670064436702a2eac037ecf9b3a0ff7541e6571ab5b842bef322a863b4b70c1328d1875e4c19759a88c0319c9dea281066ef121c37cd6edf08ee839e613a1c9a1f758ea7fd99d5d26582303b7e11c7fa06e51ca9e9400c46417c399e9255032b498eef9ea97876d1054174103c8e1c2fcf2d92709f3d110e27742c08dff51546791702f60f543d4e91cdcd858035273992d137138dde7fb2b375199784b15088ec8af320e0a2987472725bdfafe00581f0245fa7c6ec765e825df7f9e9bf9dec12c5cef146f93a5eee56772ee647fbc5820010000000000000bf93f004fec8009ebdaff9566ae00176b4fe900a86687d73300581f0267cea12389706d2399203603a35b17a65064dbd3c7d758e102d002d75601511277df60c2467385a5e6ce62158432d37100581f02639996edd0903202fbe9befc6a3b4510b887a6e4070d6f2d4d8abc0e6f3c5820ffffffffffffffffffffffffffffffffffffffadcc95a2bc41e6ccc92eb87bff00581f0265da3ad9395186fe36eaee3efa6c24c534b6585b9790bf9b3d77453a2a40521fe29595f09ca16015cbbf9464e05987eb1f03d500b3a522f4c573a812c850bb4643d5bf031de82081675b7e8696f014184aa900581f02b09ae3a75d6069b858b3854d8544583cf4099d6f5a681a2b7b13130af8b45820ffffffffffffffffffffffffffffffffffffffb0c68f8e52e9f86f03929ade7f00581f02ce78a41dcca2feed6788967988233bd8f954c0b1987a7e6aa145199c84964c282d9172fc3d6cbed930773d00581f02281f74a2b470483767429033166201f3e260f14ffa03dac421134dee4ad45820ffffffffffffffffffffffffffffffffffffffe8cc4f39c842d43811896c600d021932ad033bd671a2238a5daebfe5586e1a02e5bb62e7c85cbec6a5f28029d55505baf42e039134e424eee35354b4c4efcbb884f2669ace78a58873cbb046a4602362ae98db032ea8079a0c0bca6e8e68875c79ae17ba9eee6631e536087f23a18fce448662ad0388972ef710e97d8414e7c401118d89efda4eddcbbc78436d5e376b6880c847030341d119e29766292e26cc4dc42a21e97e35c45c5dbfc5c7d933c2921f73d6563e03a093d21a878df4c554989e5a73c429ae9183ee2eecfea549f63bf61d5c96e48a03b01dadab214531ad11b8a56dc58e12c640ca49836fdfae8729061996f83184c503c0f54b6e87fd3daf02152e9785dce4c2967d65aa922b67ed28e552b26fbd2cd803eabbf5a3e63798bc273d098fe67df097ac8dd43e4d55f487502f60a34d04057603c6a9c0f44ee1dc0ed80ccb736c5936ec0d537966e7805eb2c4a488d4cea5482b03caa6b6aacf0ca5c24f87b775eefa6ebd209179a7bb9f6da3a023aaabdfc619cf0219ffff03c1c5d78b7a1ada9c4a7b39eb44f7ede1e0c1a1ae7121e6df05342a6f7b887ab8031cc3a87d18cdc481aae20b448264798073a41afafc4652eb4adf19c33403d3ce03b06c72eeb79fc79f99caf9aa64f3a999aef0f3ee9228da796a20ceb9b770b64603b46e9f711e00127622b570c4e5a8570522418693f2b265594e3d764a966e5f4e0389c20445520d16049345e05f41f0fa1fc4e657e378df7b994c5cb46c34bad9b90314d3bce5713a479c4be8fd4fd0be65aa5b6e8c7be58deaf043d51c695e40f913034ea1d00d8a1ed60a4d7bc90fe73a0899865f222f17fae5afba5bf8d251d516720379060ce3a0c092edfa794cfff6d81d0de806824cc48e6e884e5c93cb9f2d7b10038353684bba9ca78ee045c935c7d1aec573d677b4208fd464b777cc04382873bf03979cc666a9875225bd6cc1aaf2101f5b17afbcb4275a253162bf1db8b2911fbf00582003a89ccc1dc22f2a38e11ce1a65955756d21ddab1dcad5675cdb3402ca9c77e05203edb8d729553c670ec7ce5927482ab7291403ea8a43d3ee9417266e962ce00e14eec1f43e680c10199bdd985918803b65ad3e00581f027cb937a53e165dc6d5be40d7831154e833851af4bea93a1f78b50cbadcd8510c42af75796ca772290a10369c3d1e251f00581f02c37410e5f5237edeccc7fb311b5d88624dc1de7a7c57127074b3065e852c4a7fe05a268ba5fb5da95600581f02afa93bfc9b189decbb2cbf4f697d41bc7cf51acce49e117ed04cb63341f15820ffffffffffffffffffffffffffffffffffffffe3a4ce0183bb3bec2b275a1d0500581f021f6c88c499eb09dd98a8d19142d444d02f9dd09de1e34561b45ad0117cbb5218de06f946bc495609f61cab71ed933b4e5500581f0282fd46dd71c5f512301ab049782450b4eaf79fdac5443d93d274d39167865820010000000000000bf93efb41b2b39bcdd884ab7b3500176ad81ec5b06687b8f700581f029a99c551a448a0815da2bad867c632aa72ce53230d0994eb153d41a625be512b7d6d0b2ad369012a91ec4d585db3c12200581f02132eedcf9d4cb92a9b9b72954cdb1c35edb6e49966ae111d31247059424c5820fffffffffffffffffffffffffffffd825a52923421e97578af18aa18c1e626ef03823a42c92037c2ce5e5fe8d9647829ce8bfa7d5f2a1c87d73c5722bef0347ed10219c4e603cd6b81d15e377623afc447ac0f7b3a631ca2a59755247a5a71a75584af5473e80300ef52200846ba935ce87052dfbdc55189669d0a5671167e65cc5be52d24e0e103cd5a06dd454a5a0a361ea4859d322a3e106a56248e16df071906e338dd57e40b036cde45ebbcbe8837aa42799e25f4c26a74405c87e9260b67a4fc668635831d4a03dd864889bd8180b3d4fe70c234e859bf8e9390d369d77b647633db7b3ca938290385464efda82df4c970b73789316cdf76bd5e619eabdf71a119e3060c18c058d6034f8fa95a24928e4fb47b4853a26e29e796c7523fca0493b9cef270b1cad96d7403676e5cb682d0ab4c1edd01b95cef93878fda50c3328004205629e10f9eed57d103e4dcafd2c3d3e71c9832aba1f33dc00ed7a6e19fec361fa1fb1ca948d6592e210219ffff033548cda4fa0b5b72d7f5a057d10a73ce3d39fd112721fa22b29392e3f0779130030e5361b576d024aa8f2238beaacdfe113032272208dc1fe52982bed8bd675fe1037ceb38b5613ce222a54bbf739b134357f2bb188e38f4a1e2c0677843f149807e0219ffff032f0ef14b02139bbe6256cd22634cade26df2773d63bca232f29324bcca56f759033de20b7ddebc8a25c245afa490dc3946fd5ef53c2019cf48fe1305f4681070b103c4bcee5a6abcb4d6355608bf716e5c21e2a66c2ac6545ab2cd504896db38a1f60395695f43453c0e6db8f409cec30888f0c4103bcc4a34f7d364dbf45225f1130203ed41959c2fd50676ce8ce7f4c44bd7b06394cfb4afb77711560dc48353224a6c036ec8485dfd6cc3c30612560f417a569bccdfb485e5094cba8fb87359fbb3c66203e8c848ff6b8b73c70fc266f4d6f6f049abeabca3b6fd06b61d3225732002fa7903d56d376b43ab47a261553e43560dcb3daa524bcf25e0696fa04a7417085a4e0b03b18eced5d12c66dbc589e157b0510d5acc243c25b2feb1a3eacf905be4c3dddd036fde62cc3c00dfbb0955862f56477c791458991a990c14aa2bc017cd52ee9f5b01410603840d4e8187a8c29005ab2f28d34b39f3dc0a43279d787c33de37db5bebe75dba03c8791091d9fea111603c4321381ffe05ef9a9d53fba57e93c0c7270895e1b4e600581f0229962e9c378035358adf28df8b72dbe0b5efe2699b947de124d382c0aaa45204e6c4075dd561d505ec797f8770684da10700581f02057b3628bca001dc16495aaf6bf0208a78a7c2501b777d8b21c7c2f90fdc5203b8b002ab794655ef8f3afbf2d1b406911503f6f3762a076092bd29bd6702a04bcb071e9a64783c4e3d4d4f760cde94781f8d00581f023b4f6a5611380d34834c832bd744ba3cff96e382ffde668555f8dfeb34ea5202cd7afef665c4a05dfcc66d7b2483c2de3c00581f024917a972247b5c902d80d202389af26e93564c6747e6d3a1eb4228ca1246522e9e9ee03a2c9d4f79fb05d93ae7465b523900581f022b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f42305820010000000000000bf93effa133e51c73d51979499f00176b3f9181d46687d31300581f02c83261d859e371537eb22ba22010218936874dd42b0f6fd4cc2675d0d06c520daaaa9fb1b9f439ddc81450070824df7691021948d603c27a40a0de950cc018237070778b2e596d7fe1b9a4989d3b9523157041b07c9303df08065d59c6d8bc52e372783ee179bcb9cd8b425bbf9b39fe86dc56a042feaf03a4d8289f9e3013a3dd6071106b98c911f0348d1a9cddfee0f764acc1ba4f496903e5329f14db347da34cf5302f510dd07c9725a7273d66bae1bbeafd3f023c8fc400582003fb3039078c241327e1abd33fb5e4335648bcbff70a6042469e0e188aee3e7052138e0151824ae94ef154ec0e0491c240baa7005820032cb2b7e3b9769aa547af57801e854a36158d3e1f2ee849bb4b1bbbed6e8f004dd408025a66eb03f2a23a98d44f0323c84b27f4b8bebf27ae1ae48b07e48be49f378e1f3e419a947e84e4d0c0adf30219feff03cc1fb2cb35058536c9e6696262a8f78165b38a9e442583b373e3dddd542aff1903c29931ca7053a7cd4ea675df0191ed3498dede4e3b67fe74c3022fe9f2a2be8e03ef60234ed6902f94c2eff0b1e704e5470e8245de505d2350d46ecba9cf81d5eb038900379579255cefb15ae83a32be8f958a80fc0999d7da5689026122fc386db503240549353506d1e6c3959b09a74ccc5157e44adcdb61c416020e1f20c9aa85bb037a4675b1866e370e99d07987207dfade4a7f1208064a261c2ba802aa45ba052f0367a1e93cdafff8c50eb8264965dc74e465f392bef4d92b330eba6d00958b5b82032ebfac1f3d5619b942d6d64cda8831421bdcbeb79b0d5af798afb62b9fc333a5035b0ef5e6b14f2d2752e32561e0e09d2431f76fa874947375e65093cfa3e82a87035d305d7cad81d9130cc364f6c86f5d02cb1b9d3297712ac7b59692d21b99bdc603dbbbf06b15ec7aef17804290d05994a0819f0d51c2a58eb52d05fd76dfb5464103af0f80e3e20d920b1c40efd0efc3855f29283484eb5654082b4551908099532103dc71f38a06e3f381c53ad1abdd8945078c158704aa97256bde9fa7165675954a03ccdefc18da7176f047703d607677446638895fe972eead77676259894ee647be030abc2d893baeff1b865b5a7e9ed31584977032a91d238ba4b6f96532ea362c8b00581f02d34ef2513f77e2ed0b1c2935f246dbd9e110700bc6f0f37a93a80f8f21125820ffffffffffffffffffffffffffffffffffffffffe9a339ac5a85bd2f989b84fb00581f031ccc3918bb9c20d2a53f514d94c48e2e98125bfd917a6e191e3697e7ca705820010000000000000bf93efde9bb2ca9a0c7c203dfc100176b1657b6246687c8ab00581f03118c38ac48be625abb7d7f7ad168968e986324f6ba90d2549be0152de34052083803016d2fa5530736d58b0f61f3053a5d02120219208003a29df0776b03b8085ff216c9b382d919f0798b63932546d4b392021e176b8cf103573fe9e0b78712a23a56cd99faaa6e1b104137fe6111294ac50141a4da0ca15d03031aa61584dd197245b374fb13cedea7c9462de688c450757dafe0186d8d2d58039e83d6f933de4c75aebd9c696b2dffdab32885a4bd00a3cf1e85d67ca8783aa10333637de18e6bf3ca4c2cfa2877e9a439148f62a98e3a97153b25cad0b57dee1803c042a19e4d0b9fd42289cc949db1077151c5dae911b19c795db933a377ba0d780219ffff033a6a4f906c0257054f02a741b3f0e360acd970353973edbce04e2e11ee2ecc70033dd9cb7466cb0112b8dadda67e5ac2cc6e3988b5054c5e2e7aa4e6e9fd6f63f903a55ca056e753bd34740e6a3b8577ee87486149251cef0a41bb8981a07644ee800219ffff03c559afbfe1337b7c2981cb6eebea96edc0716a1e9d8cf9ca76bfa568ee8fa74d036c79581d9ce59c8e35953ecd8e1a98563097c520fbec82d1e65bb1c426f285c8033732030c2b1e9828d4574f8386981e08dae5326d469735fad9c3eb91974f0778030af542f2fb5bd1615df9d42b6b282de9f62b10a9799b835232320581e8b0508a03524c6697eff96e5369c4bbd2c6671ccd3832441fb9241d82028edf868d2d8e1603af2bab38584269c61fdedad5ed85e1c2c610081ddc56cda4f495d80fa0b792d503f685a4cf02b82df098476b514e90c441a9d7b7c264487bea62035f81abf52a5b00581f026d62ec3c18f5f24faae931687ad7b6f4933b382d57529baaa73addefd14e5820ffffffffffffffffffffffffffffffff00000000000000000000000000000001030c0e715942b5dbd16efe06901cd2e91858e3e86c4560cf95b41a23c1cca5c4bd01410300581f0286a0fd23ebefa946d5d0f3f825707f9ecb8d2afa49df058450baf0fdd69a510439fe98a2f2758d986a926530a4bc0c0c00581f02a923a2d88192e5070f37b4571d58682c0d66212ec634d495f33de3f77ab55820010000000000000bf93efff33a48412e81ccf66cf200176b472ea6bc6687d4ff021921a00366f32177f3eb00629d1d4b05ca30e32a1b19d26479b047ab60a1783d726fa92203c63f4830f138f23fa96b2e56191e7b9fdda4c87bcf3410fc08c4f35b2c46c83803e8416d47a486d01a1f2c1a0849cc3e4dd53a89f51d67173067118f426d78c84f03168d2b62eaa308e0acada53718abbbe9c8abaa08a01d3c385ae9b0177e079d8301410303b9353ffd27f2eb6feef448c620f2baf203ce3712db5fb230a278e8b2c90efc6f03d7b051479380acec0b3e988d67701c1d1b418ae85397517f8fac6315fdd4870d0352c3e67295886173a279979b41459ad0d71ea723b23442ba8bff00d491161a56036de48a9a0e5f30c8d9ef7619f0feb62bb8c7c18a33c6608bcef6fa9c8a22910f0316e28c536ae634e677e15b561d076ad47b8dcd3a6128a4071ab38937313128f90219ffff039b1c85536f4bd58adfcc0244ba2a7d2d7860c46b86f91b81eb3d76dea34182410396b6fc22f5ce429dadc8bac0eb4fef0db8b410017c04c12796987e8b027cfc5c0316a9694aeb3077d3c7af6e6723cfb66e0030c2d56ff0125b49bbde38920e265c032834c8aef878abc9214c5be1f13086e6ac6e322a81410649c7fa64e194e72e4c030e33d241747ce00a290d6681d21d5b407b6c4f8eba22fc57f8cf7156561112b90314f1fd6a6cfc6bc04afe7753b2818c71cbd54a1f14d64560fa81115a4e16cbce039f300c6d4a4ccc832edcd81beabe31ab0436677c56709af97a5eb9e1c95ba16f0379b41a5f4ee5affa1c4705bf0a45bc4879edc365305f847a33708cc8ecdb5d7703b0247b16f4d95ba0ad073da2f73fa653b19eaf859eb39c08c07417280ed1c21603c72a8c1ea10305fca1f9d9eafcbd358da2c489f127f56f372516cd2e9585cf4b0322094b257c1b29ae8fe9d2485951ef689b3b2d043a464ca5c2580515f0c051a603fa000f37d384516c25eb39f8cc0330e161ac413caf55e464c2287a05a20f98a3031fff4b72c54a2499b2acba5cfa18ae90b68758ff8a0f05766c8792b755b431120340cb0e4e4b0b547abe9658f2e20a7b5832b6053424142baa851abdb2deaf62ff0219ffff03b9ae10dc64e3074db7417a2b085ea2c40e235155e75184053ac36a9c77f5c4840219ffff05581d02ccc9c961b3b234b66d449ab497e754310c8a6dd780f4b5966720eee9070119567e05581d020c1b7b3ac848750705cf4e92011386c07961affb6ce21870277b0f100c01470104cd5422f773021901080219ff6f03ce49385562dab25a1fed6d97927e05d118f4553419ac4501902457bbe6d877e703919d81dfb19c8591a3d36e38eee1755d8960fb7a9f6eb3962c64e7e81f37f41a03e4a4d649cd5ac33941e0cb92e1d021b01b78e9274fb1dea8bf369ca9b7ad83c503df1c92727066993cd1ec2f9b812cc8896070d61622a6a28887928011b526b7ff037d49fa38a107fe71e5de2ac8f77389c66d37efd2563bb6f61831f080e42d99a7035fd1d48c67fe65c240fd66336d3799291c7cc2aa83477b639ec90c82c14dbacc03b17b7fc973b77661606c95aef7afdeb75e6a12d20867ee352c77c945035e00f00372feea3f75dc9237a809c862bc576bf16fc5ec9826312d74354078aa7a8114d6030aae6ee156ff222015c24f8de5474cbd3ae3b06adc4fba5887b53066a971fa6003a7ee76e02f075be186fce2b6d55913b313d53895a856e4df5d0f5d704714aac90373a1101bb4e3854119e728a375bb094d5bb3220244c500d8039428453eab33290219ffff0319d2ff4b484f0e2e3d6d0f6fa3f6c43a09b07e19c10d25457d6bb2aaf43012fc03fb62c22f2c3e865710f1b3ea55c0432343ec44c5bb51f124e11d4d7e7505136c0330dd61e190fb62be2a0dcfcfe0f8131a6743e6a5da4b94b1448f38576b4503d90305f8cae5207be8a28dea063145445752a0a32e29cf7e3b69d04d428c18fac678033bc92db2e3bced7412ec5832014845d0f91996e96c006ff28b05b37c24bc6ada03e11292846c0d07b7014fe05999cdf0a80ddd8d2c0fe8f89b1e852f4fef5bd4e9034cbbd66d743e0c4e390103b068a97e45d3750496c62917919873568ddd289fd903a4a0b4fc1801d477a2ab656888286864e3ba11ab9d4ddd495fe9e9936206f92d03861e08f3be057192cfadd1dd95675359f8bb8528b9f1ba1d37c63534977c399c03d22ee67285f7a321e0cffcde9dd0fbc11ab634b48a74fa809d502613de42345303a448c791c514616800028db156e553282198815e5c77b61e72d1ef2c84cb2dd8035582731f7b2784b21f1cd6f2e7a7acdfe94c2a1219fdff3c2acdc40a66876ebd03017b5406b183bb8ba4d2d3103e4b0147a5ff7c4abba2d64bef785363c435c18e0219ffff0361441debcf38dec1930ffb55f63752e6517eadb6e0f23e0dd21a641be08e29a303a5f65732f9d4dbd416fa24d91a83205fd1127ce6be913f59029103b24203491603a4e2d7a95b3858304b14800f34b9b5976857876bac139ca3306c219be6f491bd03b4672e0600c4d0bf96789615a71c18273a2f9a82d4b2817ed5dd0e99501b2c0903d9556caeabc374585853d751853ab847c2558aa10b5c812857505dfb04d77300038670410022904c0bed7f7f695f3d5a56a21cae71df047d9341ad3c7a5f69482503f4bd52b06b4c8f112a96dec37d83afca430fb30fe581377d5280ab6cb9a859c303dcc982311cc3b4f7b967b73f3d6b69db628c2f4db13b6ebb528a1e4fa5def47e03e177c046e5631a380f6e3f9297191711fa3f78f0b3522796eb42b8f78be3df7e03a396714263d556409e5e8fb07c128b8d11950a4bdceefeb1a19020847e69433d03b3aa30a87553f8c1bd0313469fa638cfdf7a8230502433e58753c212ed71d5af035655b729f98f83291dcb704c8ad7518acee1aaac87b5152a0faa60906355260403a31ff2b8bffe61fc64ef177f6ea24289d2236bbe1e946d571b80390f28de29310386af07f7e6f42118ebe679ca1e1613e574249e6488a84ad024a045347927923203a31d5fb36351a941f6a9c702b36888862d8f779b03a8af97c07cb3693bb4c6ca03617e78e40c5121a67c020063f49b4fbc28fd7b0993ce1ab4583a23b77b257ad6030c7d4f93d126b3f4c32bd273e23d34e2a7453dc851be6a7ec9692ed43560f0c3030293f1f8df3ef9a1c29ceff838fcc2dc7b4ae5e12a025e5260ad520ec738f2a303f214614c413a5564774c12def228a89db3dccd976e32264794416de8f9609c8003d4866c173503db76cbf8f2be15c01868caff817797c6cf27fe26a524095198a8036926fb080b199c3df1b5c13cbdefd8f4ca579a429ab27a97f636737a075825e503ee97447d6607cb414500497218a8e795637a000406ef4c3428456b9f881682d3032dcf39a403fc98a21161576014c2c3d9d0f01fd5b696c1f9dccc0088793dc61105581e0331202db70385d0178cd620b41a1cdc7b8efd9ef380737f98ceee5273f00c181f4801307e44c133143803d4bb40e91ce75c9de3650a0c73230ddd88f0d6fe62862292e83a9ef2e75f094905581e0356c55634f502470a5c849337932d291535f299d386ab8732a1a8d845d004030389ca9fe78531f41655e4ef62ec000d673eeee7648e4c53e2c5e45a93b86119340364181b9ce7876b2dedc35f7105c4562d0d345448818907486f1d039403e77c01036964b2612b8ec3961f89de1aac16b588180659b1ebaa97925d7670a8c84717ed03a5dd9686e0712db1a698b1952f49dce6e1f383df4f8e476d22d5846cad131e0803e8dd6e2b6302a0bf14ef2babcf5f2d8e15b7f558a18452f30ad393ea9fd326e905581e031c99987d03f8324c73d9400381c9cee52d3ff80c9027689d70310082e004010219aa760219ffff032eab1233ee2edad161d43959c2c223724c01934d121cf73ff8ede54d1e1d661f030ff9155379a17f5eb8d49b98cc984ff08cf487930868e0513ada7c2f63c03784037b1c08772abcf97863202fe1f085c435602310c450b204b83afb6a634bce1fce036ca008c63de7963a2a458fb9767237a74f57bc32fa88d2cab97fdf53910e45f80305b79dbedf0362c78d88a3192089ed6d3c032ff6c3faa6c619e1263b471e1a1803224d47be149dac6bd51cae7cafb2cedc644a55c4d412600d6223e443d198e900035a181099557db717998707f5f7b0fe14f3ec01be8d04463dbb7378153d2cab050385462e06dcb1f37e82014374aba78d02da8b5797f656bb3befe95574cdcd8d9f03667b918f7d3fbe8d7f86bbffbf577eb07df67de232d30f7130a8c111bf1ec23103b3a430ed3748c9b5168f984042888fe0859c47fc49032dfac46e71e28c56dd38038da3165ef9ceebe3d979c477b7dea56385c79f4917fa25e5c37ad9b8db751293039d120aa1e8004e65f8c94a531147d5f7488467cb6e6a1f9e71c092495f2519ab03c46e5488004ac47269de736dd6e014b3f98f9d91de5356fc1e56c5f85467fd6b0362ca6c27a43a597a84dfee57ca564871f2f0ffde85cd25fd9ab52d02f8bcac3b0219ffff03537731a476534ddacbb0131f731f7f0ebd9e7958068bb5e83c7472dce29968e60353d6778c4ad9ad9413cf5c5044cd2af9879154f93717eb13b3678156b28e84180219ffff0219ffff03a33cf08ed1e11a1d607abbc7ba4b01e366fdca68ce3d79956b2aa6d13eac591b030e6c5540102bd1ed7fd282db1ab0190b50104d1f7d79035a233c457d3d5f163d030e12a262056ae4f7074922fba53902ea48aeb02ba377c783015d252fe7988c2f0302d2b9dc27dc76c74f52513db574610ba53d55d8e786f9dbdeda36855fbf7d22030d6940dd2e254cd06d87f863bd0cc0fc8cba810174bddfddd41e2d161ac6af3b03be4010cf196c6a99822acc6ca3eaeaaf3590f480bae851d1c3490c347d730bf7035b90ab9940293613d10b6536c677228ba35379d9355b951a7f665a4aee126e6303dcd3422d09253c85ecc8232ce4c30d5273ca7c1c48e494cc99365f72567571a4039675f2332773d9dca9748a9e74e1a2f3087ece9de434f995b9bf5af20f7d82ba03d7cdd84ebff913397c101363bb6467baf0016dd9426b363a03da581bf4431986036bed03cca95a949e028ab0a42117e96c4a8d2ce5c66927ebfbc1807f3ea56bdb03520fd5c353b69eca4ff9e4468ec8a3d33b0e9de6f826c820b810cbb5025a97dd039ff22fdc43f24f5cc8454e79c61c3a0a3c98ab9505fe81cca859551d5010c80a03f4523d45aa77f73f59a22c8d0b9f9734bfbf07d893228a78c4d40586a5e2b15f0348d8bd39bff73f342abcaff4e1b3a26c0009ca6ecc0a0e4e31a2ea97037c6eb403ef649a03b1bec5557ddc58f1e248294bf0276d3ca70ecd3faf5ff0d1c7cdca5b03b931180d729c227939fe53181ecd5f095bad0c4612f5d0e39a6e75cead0d7a610301d89a644bfc247d9c432d93daecdafc130b9d4bc3ba111faa63bc3a71b6ee5203fb58f6b3a3f8defe541ee1111034a98e1db264b49c1646f3d5b14d873f778a0a0324391855b81cb4a98dd1e211c98c2bb7899db71cabbceefcd69c599c8f1ddcc203bdc28bab725a22933b3c575305198d40f21a4d50cc9cba02dfa557d3fdaa00cd038fac226e4aca72fbf8090eeaedc3004c49544f59cbd0a304d2b6cafe13be272b033c3cf01f40ddd7f83b3cf247293d12e80b0115a209605a1c53f4fd9f3abf94ff03baffebb4a12034b5057ba4ecde8c9d9bbd14f3c25fbb50338a305e60eaa31cfd030f055a36b25aba2921d7e44429fb036deabe86ec5549243758260bfd78d7b4d60331d340c7f859aa97d03c620fa6bd82cb91c1ab298ed95925796d01cde475003603556121d422dc9f9f33770817d06d23d5d8aa9e31b95822a6e5280aaef80253aa03e09259bee3fbfab208cb612ee2885b89115f14515e9929fe272352a2e52023bc036b53ac1d19f27f0f9f4944869f73326542d75c1611b79610bd8ea34797e314ca034134ccb344433d13cb46701356be607f5c9d6b5606e25d8e627838e7a36e472d03c59d69b5c49e46ee6f4aa613b3c057de54e7ccb7f443467c3c457263a72f312803c0f7b02e130e745610e77fde8a51d5192fdb2a680cbf8471593bb85caf049e5b05581e037f21317fd709f3a594bfe66cf9dd0db6ef9472765773a43aa8def245600c02462bc08e7f61e003669da3d23d0d851d98e303a4b8ed1dcee3182ca139b0f0a4488986bd10e5e70b0314bec433dbdd969af208cd7d316f7915efc6dddfd2d7e260eb969ab24eb0629c035b2f10eeea15f7f04187e87741ae3ad4bc37ffa3ef593a8fe44eb55c9f4cf10d05581d029a329475f92fe94b372fc0d90daf64e794b3a43b6e1faf28411779260c024703be1d0a52cab805581d028fc758c8435ef0cd55d936b929865d647bd51f7237d2ad8d44ec7cca040102182105581e03a4b5c5d5bed5e5aea87b3690aa5e007b0023d081bc1b6ea09b50461ba00c01461233268df68805581e038ae3118da7131cd767713fb74f89e3f462db3c6a4e0cc1e8b7915d45a00c014728f49ef4116388035d50194215d668d4aa9b664a68d35720e39edbbde6d6813dad52267e3ad17fde0303425329c61388136354f806f45ffab3cf6d9d8745e35959bad044370b17c8eb0377fb541ba0d0c54713c0f38cb4af5535d4027f52e8502ce39621af1a70f5e49803cdf6de6c921a701472551c193a2bdf60dbf8173efa8d565958a6e07b52bc4d6702192fe7038187cbe30d32d2065b265e38316008218957925211525f6774bb5f31a087bf9b0373e7b3413a594b339bee5aa311b4da525de3a857dd09374e96eba376be8f6bb90219ffff0219ffff030010697a13f7bb4dd76c026ffe907afc8d2b26a68b8087728552af99328e742b0397741c05c27d261136e353c4ab3e39fa0e3d4d69f64b4e58faf93ad0ce05c38a03f36c35691a4e8113eca3d0d603464a516dc0f1110f1393665fd8a0decd4d738c03ee4cfe8b2584951b402036e85ac67855f39644eb186ad4d4f186463fdddd9116031c3406e7d37515fd0c2b3e1f2ddcd9ab0899dd3a69e112d9aeed11333d6eef2f03360853f59a79fdae37cba626db2364e82956097925a1f9741ef4552a671f128b038ae52743fe63d0ad274c762af727bd8ab3bff5fa123824db389885b4b75f007e036a8f2cca93d4e88b742a9a46365caa66f61edbcf417cf7502ffc4f77a56f2741030eb09ac453c4823a115e7b3040ab5fd938288afffc8389a15eb98427a1368f9103b197f05a3c21176a7271c373925caea63273cfaf399fc94cb8960d5f981327ef036422cb17327266a80c3288f5dd9b89523479d23eabab9d927464fc5b2f0947a5038af177f74fb680c28c707e5d483cc8b690364dbb5b4bc6b4d26485018a16fdab0317fdef4b5d304add7f3814a29e4690b0be1bd4cf4666ff87b9dbd878bc74535b0364267812369c169d34b0624d0e30e8cbd6c4ef3f8cb164643f4032628e71f1de0386183e8b07b971fec4b45cb78e614c0d0f4a9200b8406e02be5c544f9101efa40219ffff037bb5118e3d754e74ab274ad354edd01ab20b28abe8a8c6e7f322bb578b75694a034028c165af597eaf3efa4c3b4ecea452e9de232d6ff64b2b770b65654e14aee20358a797af77db9c34826f5d31fd74244f23e03508fc73d118b505334e246e2daa0387f81bab027cce9b40643d747f35632584f5d8e09ff0c6cfa04eae455edfef9903842d119d63001c1b719d0701cfe60f00151bd96b4f480591f5b0ddf82085807103e4e1a95d3722923eebee1e4cd5f4b54941d2f54c51a92089eefe302daab5d40503414342e234c830929f8f14a4c0c2dca11d4f4f3ce3588272028524ebe6b4782b03e9ae8c131cc7b5495aeb62a3e54374d9ddb913787eb31a67d0ed0cbb8851a78d0384c269a3ffb12ef6ead275c1600f92de297fb6d099c1382f9f39fa3bcdf95ae4033d61eb1af48c6a30c7a3a46226043e4ed82454c81152ac74ef78fc063bb23f3f03ac45e1736354f6de6fcb65045c79874b0faed5141b49a311dd61b597c5812a1c03965f57cac0e34f0ed492439a12990455225b4aafab46ae2dff49552cf2c0fa47031b01f02f9f158f34b5f732aa153ea806b63450935f4d5ea60d57da71ee048438037a20da985be900de02a164a6e12fdba68b65b910c035387aff32105fafb77fef03fdb9a1e3c0a98403562d0a970c9a302c8a85118605b07666cde460c1cf45fe7f0385332c1a67aa002e06d41e45223c7e2bee2d8771d4edb12bc6e11971fc32b4d403e45d2424d3ad70a55426bb55db91ba58bf0a2639230378a3eb2e2db86457f20203cba415d108483946006c3c521394b96b260774d0a64dd70cb9e331b327f7075b03fe49cb9a031d3a94e7019e773539d506957dbc6750f31773ac55227f575e962903f271639910452232d65a0e569f009f6fcb8f2a10087fee2565d45e6a2f597957032c60a7ddcedf7bb20c742eacd05c70f5b575eebc7a5989a403c697dd106fb98305581e039c5f4323c95c9f63d94ca83e1b86becc2663613054b66f148399e146000c0142140005581d03c55c0f6cd01d07c1acf59583098bde0031a34f71038b5f79aa8a23800c18224706cf2089037d7105581d03f2dd587546ef882b49de1c0ad861ea936651576133a12f77ad0afe2004030219200101410005581e033d4fe0499205c1e8833753079971e672faa743c0083cef4e5f9b4af990084766fd085dd0880003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03f3098e5caa47e67d8c744760be16eb629634b71166d43e8773bdb3a2b007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03cbbfda50e38b9df2565a29c69677c572da64c80ae009fc7beeedf9a50007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03d97b1ceafbca50b40033442a0f44468403b6ad9ecdb81909ed69d341f007011bffffffffffffffff030c88ad666964ea7d008d299089dd583fff08d788e308e79eb5ac3906fc68686d05581e03f7e90363604fce540bb5621158c9ae4f0292362d704211f18fedf838d0040205581e03348ee2994dc1c40139defcec7bdbc44650d44de54f591cbae30215dbb0040105581e0390866f13e6875df496f82c098d63096ad00cac8b78bd8f4a2bb109b4e00c0147018a0de9fe53c203f2f60b56f500f123ae4b0f669b5e60ca154c08354d99348813595d50310a48ce021953f7033c74f625e9f2abe99fe79a3cf56714d2a629b3d4c79eb57d1c662cd5dc70ec7303bb2a1bb17b48d8be618f5b9aa0d9cdc7928495eebda601ed2db47c846f5ebe3203fd76be55be411274cf288f5f4f7e39bbeb3c6657f76651c8965d3e227202b5e2037e246ce80c166285e8c65eda8ea7f2ad7335147d241b00e0591ed335a878913f0315153841f5e08bfd01ba044f09d567e3914d887509d971d64124328ff8875398038c9b323f065998c6a531aa15c6034787ff34067fb861f8e1b93351f0d892ea340347e206f5b1c14ae3ca6f259ba1f64ba1c3e147367ec1e77c3cea3546372f842e0317618f95c8183ee061089f99af35442b4a51d2c7fdef72499993728a623ee8b303dde16534f270df218445fb8fbc95354f7bb8194142e36668f0884ac96545f32c03a5f299118f4d8af575963b67c2fa098ab4e7814dcf7972dd920c59e916c1f4200330dc758ae421b90aef07ccddaedbb09c479877d2ca19da923f59bd4daca1e3630219ffff0361ab804728f3086a6bf086243b155550dfeaff080cf7734575208565ac1ca991035f1feb06b637010ae080482bbaddb41877b20d3cd35defa3bb145188b3b7a13e0394eddc01cb67912fd43598047ee84991a220a4ec0573d45ac2fc6357c671f8a8037065d4f88193134e17dff5b82a329bc7fdb260c235d023c6de8ee1b1ebe0577b03f65de67da81c5cff8ad009e011f6807496a03c62dd4c24fa6f4ef68dd90d46570314ec9d39cf991d6018b856c5dd49659aef744092056cf9de8548da62fd6b60f50339d5b8c3103e8dbfa8eb156d52c38d198fe3ce587ec0943b33b7415be1bf447803b1a771e831d594a585bde606ca9f3cdac55de62a13eb6aedac5d51cc47d961d60219ffff035612fd5081798e85e20e65c0c9061453d5335cc4437db5b40c57503f7ece4b79038f0f50209d3db8bcc95875463d3bb730838aae9eb2cc230672298005bb5e17b9037914af76b397f3c4bd9e904733a224ac8cafcfab4dbfb3ef47cbd1df4ec3d9c203f304f84381c750821225f762854f19a94190648180e3568f0388a65c43ae13f603976515ba72577750d446976f8fdeaccb3322a2a9d689f611cdf2ea50702ae614037ffa38d120f10f316ebdc4912e05d07578f43e1a5376e1bc9ad2a091ab394ecb03a76afa7c63e89fda0adb40ccebe07c33cc7a02682fcdabbe2f85c1b2b3b916a903ccdd753339b00d172b4edcde279444e7093498ec4e913b1e5d07db5dab288edf0219ffff034006ec15359d1409d06989cf98261e1ecf66fd3bcb61aa8b243f0bb613c611f4033f3ea2e8aa5bf91569812043f53204e64924b1276a2659721511e43a119526a603473d0eb1b4e3aba721b85020b989a5fc31b40aca9cdb2c843640b520d7e652840384579a70a38bea8887910228388e9070cb27f079993c97e668ea33edda89040303bf856cba9bfb3aba8a35bda08d9038e9c210d4b300977e03fcfa66dccd1bc185037cb53f198e0fae9b75febb335229f194367d932c2c2996338dc264128e0a5ced0365e5c70cc5d5058d349fca01e2eac2f9c17c8c3795fd194b10bd8ecaf71782e603b3ff1bbaec86a99ca8b639be704b208e73005fc98625735931e6aa4b31f226e0035cbc97842a5a1b9857a987fcc07185727b36ec1a51b91a24f1b598e8381524720310a0c581f678e90e9edbb9d8426603564b382547fc311ccd919937eaf64e6f35038a132a55caf61c78a99672aa3c8e57bc181dc9ff4803f2af2d869ba330577ada032022661d4451df40ef9ef97a0feb60db9ccbfbdfa69f310e4321d6a8e546290f03e3d49e86ea9ad4495ccfad630d4d4bb9ab83129ef469abcea96844eefbf0e75e0333f5cbb5cdced6a745af3eaa6266645d2614776f363dfb36847299ecae56b65503943f80f43ca6171f07d8e1af2d5d25bb77b7bc951d6ed7f546415e9b5681becd03111dc3408b4f9715d0966081fc0c68f07abcfc7afd8dde03ab307081fe9e7f6003f68427f804c9a674256ddcaa08cc34b6bccde68ada92365a3a074ffce81af56503fdfd1d6d857445cf10858091255cb72ca624dabdbcf7890598536dbca4cec515035815b5956e7d03106d0b79a5de24f413ad9f71c71f680b765cfb0bcb9632c59e038368cfcd2a8945dada416564092a1c6fe5d3e8d90c23d2e5716ee80e092f64e003e5ecad6475f41ee07634c625cedcf167bcbe1e55409d2520a60d249a4d1b132303d95f76dd291ef80fad3284afd542cfe6f90ef8e1118462c3b56497cca8180cff0385428ed97f7e81dd9f4930d1d0732fb6534f370e83a1d4d60c43ebc83e27188a01410f05581e03ef6a25989f1f40141d504e3b65fe097b40dccdd9793d2f985cc4932d700c183647235ab0c9d5a6b203cbd6068f5a63aa3b6d6b5faaf432ed026270d43b3719da3e50b6e57677a67b1103c9a6ed2891d631c9f6f960928e890a5a1ff41e5f7e7be171b02aef25f714e59605581e03d5f69e74d7188cae8b46bf320c61488d668b41cacfc15d4b00fc2027400c044701217f5cc360b0038858a21e48aed1e0c00784f048879160c6a3de8bc17247c835a40f3805f06c7205581e039a5ded63888960c24a2be1581f89c8fad0709a44d933c122a3fd683680040203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0333e43aea506b9467dde71ebac2f231262b763fe43370273208eae0418007011bffffffffffffffff03c77a99556858e11bdfd5f235fadd58fc09f983a233071ca18e3b14456cb67bd30330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e0361f13ab14e3bc0daf8a0de4e9996f9d1fc58b4284372dae728c34ddc9007011bffffffffffffffff03d8165cfbc54d8ede2a827b5b0f198b06a4a44bc5f7e3feeaf4779d17a1c619ba05581e03a9e41d74025c838df216383972b0e0676f841b4795d90ddf32ee1460d00c0146039dc6ffd1f802193bdf03a22a6c94121cec19ce7167df440e791d921ecc6bb31e040f810c77e0ec3f96fe03424980f9b1ff279006abe67e60b5cad267ac83b9ada9d62f762014a4080513180318f891260275a6db6a8fc63e0499b196253347bbf09d0528b2e862db350bea060364bf66ceaa4855d44037c82d332346bb1f484f8d31d07e6fa0122c3efdbec9ec03e02dd554d3bf25cec1f416f7e002b194b1fefd0b12c4caefa85e9f6036f27e5c03ded770485fd72208eccb42e3741c14715c1f33790f5818914c6b46c925c7958203d5448658d991f0ad1303297c0b6af481facf3e1836e9f0cd8cd2f480a63fadf4037c97f3be0fd0af317257424b674dab22eed2644de116098c96d809b8ccaa08320375398b7798b73d4478dc1c5da4b056854de0fcbd213486b90c98eef2459ad12d0352372586eedf2abd390fb76f1a18f9039e750653c30505f87db15af5bcf612e603421066899c46d04d1d8a3cc17afaaf4aa382826da199fef1928c005aa258cca103559c48b02ddeca80ee4d06f2f551b22ead28da90032a5a696d772eebbb8e7d8c031d365656ca6ab1590c8cc76713680d6dcaa62ddb6452a27180b799fc622777f00219ffff03521b665c70a35198e17dd9f86827b421458165a8414fdb95f67c2a9d304bdf670330076d42713d0e9cd65aaaf85f8bec443ac0025557ab1e0f9ba0a7babb18c10603123301c0a6d1728879f7b672f315b8ea03b204628575c39fbeba55fef20afa4703086488e91671c846e1e16544d60cab423d4cae99340db988ca5735bb22f286d10219ffff0361402db251d27d058c5eda74d6a088968613a5271755aab3c52f4bfc525fcdae03ce53370cb0196de3ada32e7eabc0ce7d2e97cdbd7dd821e18eaa5d5db4257bee03354c59aa5e43d87d99f4ed2fd2a348cb7d2d8f038d283b3a2f720e114895f558030f583386404b7b9c5b2703c9e6c360a087461193026183c2bd3af961843bfd88034469b3fbea9f130e25e69b656cb849ca785dca7ee2a0cedca33243a02e2e2e9003974fd947a3da0a029d242448faecb48592eec5959b6f25ee4e03f93c49f8fa7e03053cf8e0cc427b7b509f349163de66cafaa0f072235a1ada5b5933676b7f538c0324079a38e5d7a606ef9ee6a8c6ccf67cc7f7cdcaaf0b72d0e5db0bfa39b6bb8a03414beb67d21a57e99616789fc0623e8a9483010a07ec8b2f82a6283f35b6b69b0219ffff03569d859c7ed3bfbbd11d3d612a0484ef76e18e6f23a7307e2e15cddb9474072f03490b83c2e6a6e6b5a6fe865b982d9fcfa532a44c9a4594c6bd468f4f127b14ec0308b3f3eeeaadeaa6e980d6a3379ce20b1c74ef4e86e0c0f0b61152810842f20403e94e0c00d733a18dd0528555995e3504e729c403e9b89eb720ef807708cf472e0330f3d22aabfe017c766a0cbd71dd1c11fbed181aa7fd84bd675e423294452b0d0345ac9c805d80083722b28dc757a72145e2b880ae39991893274346780d3d8231035901106274b60d5b25c5c93447a3c35273f54b33965d04f9394ce2b5e9ceec3c0367e6b61992c9c48ee44381ab1eeca5b9a2ba7879a46782f36abd9cacf6732239033f2ec7c3b7fa27f4a9d3c11c387b90a207e4e9a44fb5e4139a16cc54a5c21a6103450da143bcbbbffe631ea8e0b24248037eba98a06dc1c074cf63dbc0aa4f328503f18be312ffbf831066b8b5e4eeea1c5322c3bf42ca41adc16d65d846fc44d95c03e32911dadffdcf018f42febd9b30177e3905bc2233998810c866d6b125bba16c03a76d6df69c914ba20f20dbb8f5b4a69e28a9df7fed820657df612d3854059f590357090334e5ec15235570f91dc5ee31dbe45fd39d9b603d3f23378535ff2580230314185a2b11ac2c1ef2184bba137cec897964a29f58403ed3336ecf2f16d6c19703a4583a03ada6ec2f1aeefcc0aec56b8cae3d2afb4c0a32f69d6692864d0bf2c903014dd0ef9c29a66644ab5011b8cc67f28f4910c4b8e5018e4fb103d9b5ffc643039e1ea8f779d5d44a4f5300eb2c70026e747cd1de62ed53c514752c17cdd6a44d038785d3768ae06cfc0f67c2d26394b2a6e480f68892119956c271801dd693c62e03f1dc56e06028fdc30f11f3db977c7c12f62472ebdc7ea82966d7d1d3517c9a3903a680f0c18fee5eb1dc724f05529615c1a4931db24bd90590d9848f63c6c773a803b08e4193a08a7914d16d9c8db9fcd812f0fe616b9269508961036b54b1c65a57034fc1eae466b1fe8933ce1ba88829094503ffcf973e4ba6a4bfbc127349629be903e979f6a3f9e42945c159bfcde1a54d67689bb2fbebe235661ab77363b4b9986503fcc0d4aabda8e45aeef656c0738553c7c042c7580d7c7ef4062e6c36ec142b210306e36d360bd79174c3057904e3ff7e70b6565e45ce51df2e8bd27e539ba37748039514a3b8903528e28af324afdd8018fc2aa2c9a54e43ae82d72157479400bdeb036b3f526fb4ef2cafea436392175b3426b4efd3d87bc483eeccc48a193d1edcd4030fd7272313b48f8edc04bd863dfa559e2b2e6a2d8119d4a4f7fd13778d46830c038e6cd87e847d25bf9dde97f1e2e9e155cb6366d5cd99490e82ca0791a949103303f6800d27b77b108f3b3a9d2192904d85549d3c9624924017078e00f797eb573503c88a9789ad831f26a7b9aa606e76a90f2e781a3d4a6d2ea409c71f3d24907342030312e23b8c7cbe97376dc05c4900c76b4a4cbae825d0b9874681cfef3edd556b03a3d303b58afa0940ad80e2c3ba137f15c8f56e441b8880cfbef79d3f9c2c8b5f03882f6ca396e28f20b0a1c14ccaeb44efd20c155a22c67267584bf1a4e9e85aaf03a737bd4980f3e43aff3adc74958667836f981ad59c6dd7296c0de740df5ca27205581e03bb2b8261ddc3fc902b7904cf38d48c8d3c08bdf281d5da297f1562b3500401036aadd215dec362f21134d674bc1401491f55d4af0f856b85f3e89fd7f4e80a5a05581e03dc745bad51c453cfc1bfd107ed7602825b02fb924daecd63e9fe022c700c01468b171de1d0d8031b38eb00bb05bf3bd53687ec28d7cc7bab25fe775745fe54114912cba6cc6d8203ba730dc57565e913fd8043cee77a771356939907dc0caa0ca845dfd21a4b4b9905581d020cc361df8c15659b2b346d7c29fb875e2c951deb9437d56cf4991393040105581d0205c0370b430dccdd866e53f0f854cacd320a565a1d2754a588b033220c182648013d861a2d3efb870219420003bf5c02c4565f8ba64f3332cfd437a395210c35bc3001743143d44142cd38a97c05581e03ec8d4e259e74d42cd2ae5b36e0c6239f19c609dd42e8a16b9175193620040205581e0309660fed6a33df20da6ea5b0abcd1572f6f4adba4fffe50ddb7fd5d1e0040105581e03f5188d8d7e6afe42b01d75656e4a1a1dd2b6ad81af3b12b8ea024ddc6004010219b5fa03fd57e722e3cc48136e820f6111ab30d324192f4b55b37bd20fcaa5a36210806f0219ffff0397a8651390b94d22a764f3aa69476727da41b7f75f1e4c132f3c08f7a44e66740219ffff0361fcc7955df83cfe173f7ca2e46dde6e525bec0d5206722fd4c573a7de6c515703f1e0b942462ad65c7c971746b354debeb8d16800df49b4dcb8fa5cbce71f9af60360c4a9f8918233faacb071d1b2c07e9b7be6ab7bdb86e2c540c98b8a93120b3403bbb00a2796d93a13e03dde11eedf4c42be7388d32aab5ae7b77bfda3c23d458d03bb0f505e5ffdadb8ca9a7d511b4868ab66b59472fbf08d331cf091d9884e8dd103d67d02d18e105ca7a493ca611395056f3dcb06e0f67b1ea4efd742d0c8d10115035c7508dc0dcae4e15e19a4a481114dcbaf21ed26161a6fbe22e2697e6f8fcd8103edf225983029507e572e2fdc55690e92183e318d67f92282e64bd892a45cec500219ffff03672239b6dff87fab07a7e6845a6480b67ac599d0bf4a736e3376796e316ff2ec03dcca7348c3e222ac9135aa5305c34c63a7594daf43acc4d0690479d4d6e21ce8036e5966bbe62c0e2103b8a36b0d89657c9f22623f99e59d91b9916c3357f8cc5b0219ffff033b6791587b54c15928ff549ebb81017d3fc0cd8fd4f69b1f08525fd1bd60218203b057fc8695e4a05c499201879f7f70fb3270ee46ff1cde70fc12610714d5d7fa0331d2531c29ad904a539596e53fb3e445abd3ec373ba737fdb639567c509dc70c03023c1d45a7536be7a104deedd3e9bd700a914ecd97f51637f202d1f7946cc14d03dc7c041ee8b14f95158432edb1c088716c65f25b4628bea1ffc359bc633663f903f24f322b018b5055e04f89ec6cac3e4eac6524be724c4cb876f979dba2893bcc031bce6a39bc48b2b8c8c1563f75434574ff992fa1c28551c852d16a9495cc98ce03b339160fc7ce8a5a21e2e247cefccd1847b12dd2110dc301854160147649d85503c2a633c8d7e16cdf3cb4773d41a012631b51fe956278d6423d523594a69cdc53032f64f51cd92de0f026cee8d3cab8ef2083c81cf212f9d0d7d0eb021456c04d8803edcaf952517c2254a9e259ac47b421749aeafe068ff96f152f3fd14baaabae5c035b2e7a2c5373aecc102ed86ed1ae5cdcacd6959c4ed57f7dfe3c2429ca7a9c2303409ac8f645c3e21436e9a75b50ebaf02a5c78516d6b160fcbfb8c5017f66ac4c03528a14012ca57fb6cc03c449ce18da53eef0144c6af63ab831c9afb544976b8b03b8bd8d7460dc4f01d9b2f43d3bffe419603632af836af8578635951e2e134a560351699eef5163b91a9de518dc2a893b690878581f8d5339847d3839fdda6fc2770360bb3475f974e3482e2d93f944dfee34641e8670f6194af2bfbc7cebb6ddbf68039caab0ac63765d4eb7411656ceaf8576f575144c874d4f60d786d359734e20210370b967b6f03c985ce23049b05c49fbd23c633bd7d465fde98323fd9017da60690353d6b4856e033dc44717d442db0730b9e13d3b47ba28653079912188f958bf9f0370732e87c34191645005faf9b18b5b7eff1f8540d06247cf9dba9536e2428d7a0388d637fa1febd0ce3c440fb94ac7cc764b350a15de12ea4d51e7b899c70f7ae703dfb06c0ef2c584046c799f4466411a132bfe3d88e2626b25446b7bc53fbb0de303e67684c0b4910661c02115d17af563d9044484fa62c1a2c534c3002fa087f12e0396e3c875b153282f820c36bc77b96fa79f8399ce97c645b68c9a5cf969310ee103e36b29f4c1e29186ff78308d988fd71309d81d2922992ce40114f9a3c7ae6f720353a4a340cf6f2ecbbf268a2a1b8ff10abff19dc74df22e689c191776d8b4a6ae037e558899def82a02a48ecb3f70c1ff04b193f0043c0ef4c6a432446ad517ca8c03d07d87b677cc49b7cb461f4135bce3bd1e6f847af36e70b9293fad3efd51c085033b69962553818e69ac03ea8683260b989bac2bf58ee818eff5b0628ee1bf70fd03b9eaeddfbe96583144294071d768ee9b8ccdb952528f6af9cca15f8a1e99de5003eb3543ec9734c78de7c4b36b328de2f629fb809a09b871ef138b3cb7d698bf1c036e02c0725d8774c7dd2f5984d4854b99395de050fcc08b49d175c964a555026f03a36d7c9a86f832aa4af6fe8c7eb7542a2e97e9854fdc8e0acfafe092ccb71e98036b085c3289c05a08b817a498872687da9712cc02257cdda9b814649036a294ad039c2aef3385ee36227d0ac8046676f9da33488d7929b90f8dbfaed93026232ed503850433ee3d6b3ab4c02ea5d0eaf58e4652e90f28786041f73ab68e4c4608f5d103aeb5e878469b8f0c3cc50be35839221b4cf128917e9eafd107cf04f3545781a603f6aaa86642df844892c0eeac87beaaf938f7b6b831d75ec9d713a923b279af70030750931bb42a879db15c05bb6ba7371ff62e823b85b8c98d2b34a487807b3c4505581e0336aeb8ae84b5ba85d81a9486d5e63ebbbc822ade14e6bf17faf24af6400c0247019a04fd7bb400033980451255e493e58008161f3645447b7f50756ea57a9af29b3dae54da936f0d0356e167dc98f2298164ce536232785a220c9e54ea5748b1b6aee0b47d7b073e1505581e0302c28f78b99c43148f55ba13b8dcb6d884f0b74ab7ab11b07fa9d3d7f00f01463205af7670001bffffffffffffffff05581e03c5125b74d586588e5387754b94fab40cabeac326800993fb2c15744e6008470cd0c656ddb40005581e038b804494864614245dc5268ca5061b824e213cb06ff8876c074d4537900c11463dd9fca1dcf905581e03253985073e1d505731b30d779eada1e05a1d22e53817dc3b711fdfa2c00c014702e199a6e9b00005581e0361a24a331e1c5c99846be68fd51800d583d273b36dcb2d24063715d0700c02486f0613acffa8079405581e038ce99739da4fc6e41eeb345a0820e95cd8ed7bf9f67402811277f5ad50040402191bbe037ad46b17bba8f7dd3ff6660f327e70bba56c5f7bc1bb5516a55e232be2abda4303ba06ca39725cc3edd61f892f06971136a7959f4e92d1272c504aa5032e181e1703f71370bdc73526ca8593a0ed841627c23ae65cf22287cf5afa4ab492f5bf7e10033ee14e8938481e36fdd233a285bbd0562667e0c277e4a7e15ff5f285aa3b45c10303d8b128d68e14ef3158ca8ea6369d78d94d9912c84e79b0a357b205f3a2effb0356fdfb9ad003a60bc4b33c364a275d385441ba8f47ebe9623da2408746a7d274036f423fc77e225f54e65d7c5f687b727c9cfb861c2b72cc2fc2e5b9b1360700460219ffff03dbd4ae562936fee460e247f8c7513300e2b441cadefc15aacbd9c7736c7aed5a03a2f56e8fe6bed48443d911d51a3910d8bdcc9611aac62a3753874f38225691e30314d4152034f5817d66948d83403833a6c1aa06cd2645b6249b921a6a27c598390349360fc2616aa0511afa76cfd6df09427725f6f55ba7f1ba57e38b2803b77599035f83dfaef43a602c1f9cddaeda04a8c9899260daf5440bd75c6de262e59d852a0219ffff0330ee1a4aa908298cbcfd4ce50ad5d961f19cfe94d166cd5e0c1274aaecaf975503d1c96466a507cc5132e6f9d44a18f5bcf82253c81c379844804820c0dce4c81e03f8a7225abe7ec11db719db8e51d1f8a8431973ffa8cba10061f2c863109c2234038df316810f99770ec357ca3b7e664079ab452fcc17e15035a5a3b5752ddc1068036490ecf5fd66a09fd0c95cae20703bcbae9d7459c25561b513eda01ed1abfd4603cf9660743452dddbf4c06a39d64edbf2a947d81017da48af5b468b81402bfb38036f6804d254987e5efc29622624c4eedc708efe8f74b401ab55d79f54e06574d60219ffff03c1cd6504185fed5dce8242eb76af93b255613c337c6b53f4a8d5000065c99619032ad220d66bc08171eafb02a7f151287fdb9425d05bec7c78ed843cc5c21984c703e99e6f754f16e04117adfb5d10e38530b12a704244deb9b1f6181d749d6b8dcc03b85efaa0c788b96a47535d11b524a6e04efe88e3cabe7a14faa08b8cafc12934030a92962d49b2a0e0059ee6e32618c3807526af738f5e8998f0e22c608f31d93503404d81e44673d337c349e240d58ee1d58f95faea309912965fe6f92f1b415e1d03302249e4efc26cab89b1cded7102cf9d7c5709c3034c05ab6c4b8ca7da068b2c0378de77ab6e3f2dc385b2707595b4b2d0e6dc7b2d822b2805999d3795d36d07a1035471087573bf49b60e90458ecd5aecc68454f492e45771a83df31583b874805a03f82631b457ef7ab435b0baf210e27253a90a64f5b50c56732d4073c4abcaf8bd03a2693fc502e5d19b3a97b4d58f97f7c362f1a4da46f110b672542bd74d839ee0038f5699a5b3adeaf8581f0651e9c6609551b03a0474340621a96700e595c552ed0309d31146beda0027f120a1757a5438d8aa1cb5f30f941d65ff7142dbfdcf2e65037d5c6799f0bfb74f78eef0e1583869350a8691347a0d5df17b2134ccd348e8c303d7fd116cdd3dcb505e7914a20b592367187e87be21f70f63f4dfafab10ca7b7d03404a089fb6dee02106ef55ffb5730a08f91be12a144e88afe6615e8de7815c5303f86a80419d493b8ea24e28a01d54b6ea90b9036a8da9715ae39bb59c4a808d03035f292502f5d96aadd4cda5ace7b752839647cc1533f31e65752e6e22bbb0f602039bdb191e0bc7d4a243523ecf45c21b2ea1e58c89ebbad14526a3ea226463ae7303eecdb20e16c5b57ee22dc6c06ae30f385a1ca31da06fc50c38db541466515154030663fc2abb40941d908829762697865c2e831af4dd92b1ae251f858c9381118203c653351b84eb663cefc94bf64f6c157b02439495305a8a77394dc6f31a2dcd3905581e031b79a3d518854f09e92b60acecd6d298b0c939a92236ac6c9f1534b9400c1a00014507490ac5d62187d2478695037c1691f3099447c8399337d51990e651db4ad17d8e0f1bd18ce704e319af325905581e03fa8a5a78340a9b3e1cf4fa5050824efe37f31d0cb0ee86808ddcbb92100c014701f4233da2e12603fc55fbc23585df71ce8e4538651b9c1f452d8b8de8123101fad839701a8f5c3905581e030d783ea77f06662d4cfb93e37285ff2619d9c8c84223037d573d87d0500c02470cbb8fa2b651ff03c2843d88c8c7b4bbc3a5230b810820ffddf5772dd3304769ed855a5c0499233105581e031a0014aa6de9690bd1b4a3e6625fcd0ab90c5ebeeeb57886a6e83c05d00c1823470a61dc8b8a812003cd4f16f848817e0dcba50a905d645a0a39fd50e21b19f2feee8ce50c8733198203ff79048508f8cbfa716369c3ca2bcce8f7ffc58b9452df3313d10f608f35aec905581e03cf0d01db998663b86ddb424061606216d368514f54d9e36817f55eef8008476a94d74f43000005581e034b82e96355a8a0bc6067126bf6016cdfc966cb97107009c9099fd222900c014701977bdd48e9e50219ef5b03a6d0ce4f119d2c85c3c2501d7e8fcd4512397064d794c65f182fb3c234e405b9036e46662dd141d438c5944b0f0c94463b2bb8bb67a9a122a1827032215a683b8703abab9212f24f1bb874b832b9d6cf8df38e0aac03d0a2c2bfec34c62e6b7ccc8003024068de5e973e2d4554e9729c5bc7c1ac17d59a59783cd4ec3c8f4a00ef2069036c126fdf9740c0e31404e869663319aed3db1cb1cb67a9265614ed6ccea5035503d26f9b9ae409453746a954d1c4911b4f166c322c126c0bc93d2dd47da7e5a9c10354950ddb8278688e1b3063f998d84482c17eec425018cb24ee308901d969032903e3c27aa73c5d8b89819bacc631f9c95445c239b7ffcb6dcc74ba0cdfc690eb3b0335480e403097a099b3d95a5b108c30d8800a172795b9699c9debead98b8ccbe703132532d57360a03fac974f904a26cde307892f9b40d349929e9a1b784d6afeac03f79fbb9a848a06b20ff0d570063569013f70f364b69fae1d728272fd81ffdced0219ffff03b80fdabbcc036c73a07654174d39f632f419072a5e504cd8a9228d0c048e771b03b0029ab9e163709af4733c1c3917ca57bd52273307f4453cd477f136b5badf8703d6cd6a533604700990cf31f1e51ca314a6b994488a44140404d5cbef5f06780703e6bfb197740153ae91b4b461a0e4ebab9099ce5527ed299a3896a9a2fd580ce9035bef38aba5725b1f8f11c72697e7c533c856d6116451e2f609beed78b878d8c403e9c126136e2bfedc0ac105bedd7699e2f351f422ecac30ddbd66667d1467697603fd1f9b5963a0d5e37834005d45ef115ae9ad4957a3d9f6e7d6733526273b36fe03d970e567a7474f8244be31f646373792dfeff3ed15382366075091e050f688070219ffff03893f9ac1eda0b1ffe7c975d6e5f9e7987a86366af20e4990d8bbaf73b382c1f903cae14211402318498f44d4073b6d674c7bcc03bda5c5c01d62f71e8200ec055303f61969955f508d2be9be34b65fffbef3d596be4d3ba371b3e187742fb73908d403297d8d768827c625da2a66737281534b31c315c2f4f4bbe89850e94207c1edec03938e2a4d30809c4dab185abf2a644a938f537231adeb64ce00946ce9ad335ec2036c26fba03e612949c63923efebedd02c37e9efe749c1740baaa5ff551b5b40aa032174c15282e71b7232b15c90d1b8d341646ed921f1717e08e3b4b5a4387f9cdf0219ffff03f6ed7dcf136ab76cd50e77d2af2a1a4895bd3a715344bb4bd2ec73012491e2200219ffff03f244d684f48de73a5224f8d2da9ee3bdb0c761a51db4b7c87b92e0c3134d7cd603926fec879a0ca709366fd23c373a66bad6832f044f5b712d5fa7cbce50fc71aa032b5f98c0c561ae705ff3031410f41ba0544a712a37e96a63ba0f4728d8db000a03bbcf187d89c088a0da2fe3a1db55bb2391d41edf4b18647775179c675045fb7403b792ab5c7b8066cf8cc9c13dde0c96d13a9bcb151f94ce2ba7a06e4fbfa03b83030a2d889b533e07aa37170fdccc2f200d81546345502849602455250de4c9dfdb03e89134dd392e0b6cc98e403d7a68cd740431a46186230fc375d6f66c939281d003d64910cf4978be81c614162c75b2832d899fbd32a29cbe00032726fcdb1bcfbc0317a4327ae4e95341a48ee3b4f01cc3edcf5d357301ac7176a58c62ab692fa01a036ea8a651ce94c4876b825cabdd00d598ab70e560c76ff5332cf3c31798dd8e7f03141d7755c0c5ba9c42e721dbab6116eea74f104bd8c153fa68981b2743d08d0c0341b535f5359ab09d1f969ec1ed9f724346ad00484bcacfdde49c4e3bf0ce267a03b6934c78ec55b6399232e1afb6735668b2d8b53976023944d378038447755e10031f9c5e00803cdb2a28b0c312c32e217c36241944b452858c94045ad4231997fb03dcad57ca7a0ff0479bf50c1ed9bba4965f161f83c4ea646f1fd0954b41c4cf840335137d0ab2f39867927ddcb6e1ebe08263c5a5f05a7d9f2ab932994cc418816a032609f7a44124adea7ed80157a56f248f42eaedc442f01562d9085c54093e622103e2020545fa8a63f7c35b63ab0edc8ac71f785ca47b6580b794109b53fc2ce7f703defa63b6b49e822cbcaf3ef539b680a19e9a2014e475a2f2f9d66f7818107d8803d1863f39881a5cff9607ab3fe5fe25e544af5cb67bd1f029188964b07f64d4970338d788ca223dc164fff4f901f17458dea86bac2ba3beebc11a65677c9fdec2b10321d88977510205f0291fdca65c79f901d6dda9bfcb7afba143ab14f1197a89a503a1290a7b8db2484c845b6bb25471712b052cebc835801b49bce9f814a54d73d1032e42385bb2b92206072d700c1d53d9bcd7ea0c671f282501bd39694b59fe8e2003e5ed337efe1b0e1de3088e0fe7264c4e5a1625f9744c85d9fae7767c36bec3170367c8a0cbd3c828cfd24a8218cef44228a28a4efa7358fd683ca18a8ee482f33b03c3a8061533af11d9e14a150573021caae1f77a486d3ad3e24678f70c4be795a6031fbfd1de165c2672d56553ab47be182aecba79cf9fa947d6710f97a846eb0a2603fc3267c1a821b6d7de2d2cbb08a1148cf6499cc0d1761c0d8ee76c114e892114037e9da5ec0ce3784fcac091477cd3495c91f30289b1267a310888cad9e48e7c1b0356693a275f83df5b18fcbdb25b0ea08e921b33801a863df8a232e7f215551e4f032a65bce88d02dc4b7e1f62e364c520e1fdd405f8696c2851b4348a6f3be1ff850301a15514fa7051681b997ed3416f1777bb8b047a58a18fc18a23e38618cfb3670396d534bb539dfc2fb8b47e54c03e41d609332e281cae7551307f79c6f42e752b0387a50213d742e6e38121d6f11a901636a14f0310070f17b01e6b3835e0b52b8c0316bb0fb0a0fa2e7e9c293ca241078967e33f7ab5b8e18b2cffdbf67265504409032f9a3a2a41719c0406c23dc56e01a3a1dc2cd5a68ae26f0f67b00ec9589801e90324612e4762e009fe933a7b6183f3da529dd6f9837091603077c3595219b4ea6f03397e453f10e5078ee869b107f971efbd7e3440a8fe9b39b48455ed456946d3d403c8bf9259d69db537fa91f140d621dcf19677142ec9972a073a5ab33ed40e810103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03fe0d852d4ed48fcab4e67e9d2c5c18e08930ff3905f3fefd672ec57bc007011bffffffffffffffff05581e03ea0309f4354f8815eaa463e52df7ea31d30a4ab593b9aea726bdcb38e00c0146457e31b35d990399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803106a026710349841d037de9e17aa76a16d9d1b4821710d4c0acade8aeb6007a805581e03f6ed6655925ce4393ea26f478ba75d2296f39b8a36609c569561aed6c007011bffffffffffffffff05581e0349ef63a3710ac0ff46ff26f3514cdebd1a97856d366122a8465ea661900c0848051ce11964e421db03c627cae1bde6ac754093add0c3d3773ac25d5173beee83cdb1542834b880f02903c8cb4414a35fa3e2288334b7a3b413f16d6f7c9eb0a8643c2e8777d755d0041b0605581e030e8c49a90efc26a4de7c3625cc3095a6d54299c07c9bb061319e36543007011bffffffffffffffff045918d660806040526004361061003f5760003560e01c806301ffc9a71461004457806322895118146100a4578063621fd130146101ba578063c5f2892f14610244575b600080fd5b34801561005057600080fd5b506100906004803603602081101561006757600080fd5b50357fffffffff000000000000000000000000000000000000000000000000000000001661026b565b604080519115158252519081900360200190f35b6101b8600480360360808110156100ba57600080fd5b8101906020810181356401000000008111156100d557600080fd5b8201836020820111156100e757600080fd5b8035906020019184600183028401116401000000008311171561010957600080fd5b91939092909160208101903564010000000081111561012757600080fd5b82018360208201111561013957600080fd5b8035906020019184600183028401116401000000008311171561015b57600080fd5b91939092909160208101903564010000000081111561017957600080fd5b82018360208201111561018b57600080fd5b803590602001918460018302840111640100000000831117156101ad57600080fd5b919350915035610304565b005b3480156101c657600080fd5b506101cf6110b5565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102095781810151838201526020016101f1565b50505050905090810190601f1680156102365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561025057600080fd5b506102596110c7565b60408051918252519081900360200190f35b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a70000000000000000000000000000000000000000000000000000000014806102fe57507fffffffff0000000000000000000000000000000000000000000000000000000082167f8564090700000000000000000000000000000000000000000000000000000000145b92915050565b6030861461035d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806118056026913960400191505060405180910390fd5b602084146103b6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603681526020018061179c6036913960400191505060405180910390fd5b6060821461040f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806118786029913960400191505060405180910390fd5b670de0b6b3a7640000341015610470576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806118526026913960400191505060405180910390fd5b633b9aca003406156104cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260338152602001806117d26033913960400191505060405180910390fd5b633b9aca00340467ffffffffffffffff811115610535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602781526020018061182b6027913960400191505060405180910390fd5b6060610540826114ba565b90507f649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c589898989858a8a6105756020546114ba565b6040805160a0808252810189905290819060208201908201606083016080840160c085018e8e80828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910187810386528c815260200190508c8c808284376000838201819052601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690920188810386528c5181528c51602091820193918e019250908190849084905b83811015610648578181015183820152602001610630565b50505050905090810190601f1680156106755780820380516001836020036101000a031916815260200191505b5086810383528881526020018989808284376000838201819052601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018881038452895181528951602091820193918b019250908190849084905b838110156106ef5781810151838201526020016106d7565b50505050905090810190601f16801561071c5780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390a1600060028a8a600060801b604051602001808484808284377fffffffffffffffffffffffffffffffff0000000000000000000000000000000090941691909301908152604080517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0818403018152601090920190819052815191955093508392506020850191508083835b602083106107fc57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016107bf565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610859573d6000803e3d6000fd5b5050506040513d602081101561086e57600080fd5b5051905060006002806108846040848a8c6116fe565b6040516020018083838082843780830192505050925050506040516020818303038152906040526040518082805190602001908083835b602083106108f857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016108bb565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610955573d6000803e3d6000fd5b5050506040513d602081101561096a57600080fd5b5051600261097b896040818d6116fe565b60405160009060200180848480828437919091019283525050604080518083038152602092830191829052805190945090925082918401908083835b602083106109f457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016109b7565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610a51573d6000803e3d6000fd5b5050506040513d6020811015610a6657600080fd5b5051604080516020818101949094528082019290925280518083038201815260609092019081905281519192909182918401908083835b60208310610ada57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610a9d565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610b37573d6000803e3d6000fd5b5050506040513d6020811015610b4c57600080fd5b50516040805160208101858152929350600092600292839287928f928f92018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b60208310610bd957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610b9c565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610c36573d6000803e3d6000fd5b5050506040513d6020811015610c4b57600080fd5b50516040518651600291889160009188916020918201918291908601908083835b60208310610ca957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610c6c565b6001836020036101000a0380198251168184511680821785525050505050509050018367ffffffffffffffff191667ffffffffffffffff1916815260180182815260200193505050506040516020818303038152906040526040518082805190602001908083835b60208310610d4e57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610d11565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610dab573d6000803e3d6000fd5b5050506040513d6020811015610dc057600080fd5b5051604080516020818101949094528082019290925280518083038201815260609092019081905281519192909182918401908083835b60208310610e3457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610df7565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015610e91573d6000803e3d6000fd5b5050506040513d6020811015610ea657600080fd5b50519050858114610f02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260548152602001806117486054913960600191505060405180910390fd5b60205463ffffffff11610f60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806117276021913960400191505060405180910390fd5b602080546001019081905560005b60208110156110a9578160011660011415610fa0578260008260208110610f9157fe5b0155506110ac95505050505050565b600260008260208110610faf57fe5b01548460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061102557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610fe8565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa158015611082573d6000803e3d6000fd5b5050506040513d602081101561109757600080fd5b50519250600282049150600101610f6e565b50fe5b50505050505050565b60606110c26020546114ba565b905090565b6020546000908190815b60208110156112f05781600116600114156111e6576002600082602081106110f557fe5b01548460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061116b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161112e565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa1580156111c8573d6000803e3d6000fd5b5050506040513d60208110156111dd57600080fd5b505192506112e2565b600283602183602081106111f657fe5b015460405160200180838152602001828152602001925050506040516020818303038152906040526040518082805190602001908083835b6020831061126b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161122e565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa1580156112c8573d6000803e3d6000fd5b5050506040513d60208110156112dd57600080fd5b505192505b6002820491506001016110d1565b506002826112ff6020546114ba565b600060401b6040516020018084815260200183805190602001908083835b6020831061135a57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161131d565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790527fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000095909516920191825250604080518083037ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8018152601890920190819052815191955093508392850191508083835b6020831061143f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611402565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930194509192505080830381855afa15801561149c573d6000803e3d6000fd5b5050506040513d60208110156114b157600080fd5b50519250505090565b60408051600880825281830190925260609160208201818036833701905050905060c082901b8060071a60f81b826000815181106114f457fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060061a60f81b8260018151811061153757fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060051a60f81b8260028151811061157a57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060041a60f81b826003815181106115bd57fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060031a60f81b8260048151811061160057fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060021a60f81b8260058151811061164357fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060011a60f81b8260068151811061168657fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060001a60f81b826007815181106116c957fe5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050919050565b6000808585111561170d578182fd5b83861115611719578182fd5b505082019391909203915056fe4465706f736974436f6e74726163743a206d65726b6c6520747265652066756c6c4465706f736974436f6e74726163743a207265636f6e7374727563746564204465706f7369744461746120646f6573206e6f74206d6174636820737570706c696564206465706f7369745f646174615f726f6f744465706f736974436f6e74726163743a20696e76616c6964207769746864726177616c5f63726564656e7469616c73206c656e6774684465706f736974436f6e74726163743a206465706f7369742076616c7565206e6f74206d756c7469706c65206f6620677765694465706f736974436f6e74726163743a20696e76616c6964207075626b6579206c656e6774684465706f736974436f6e74726163743a206465706f7369742076616c756520746f6f20686967684465706f736974436f6e74726163743a206465706f7369742076616c756520746f6f206c6f774465706f736974436f6e74726163743a20696e76616c6964207369676e6174757265206c656e677468a2646970667358221220dceca8706b29e917dacf25fceef95acac8d90d765ac926663ce4096195952b6164736f6c634300060b003303058e1d25a65b357736600b0c396f74dcf62122af2509713e9eea0f3f23fe0ae103fc6dfa105f1e0a9368d8aeb771c71a4f4a86574ad6f72dc3c1410d3e422495930058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563058208a31d2cc4c7b98cd751e76ef5d6a8f30c8135ffb6715a4993875a8ad6bbb4f16039686bc58b3d8ba7556e22a24992cac7e4c95a201e6cacd2d57f4f0d1ea589d0200582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c05820536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05820e08f60fd9c96b8bbf68bc419e7149883ee7c2e83385e636a708789bbffa1a15f02182200582002a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae5820feb3c337d7a51a6fbf00b9e34c52e1c9195c969bd4e7a0bfd51d5c5bed9c116700582002bddb1178e94d7f2892ff5f366840eb658911794f2c3a44c450aa2c505186c15820f893e908917775b62bff23294dbbe3a1cd8e6cc1c35b4801887b646a6f81f17f03328c7afb2c58ef3f8c4117a8ebd336f1a61d24591067ed9c5aae94796cac987d0219044503e53ab675bcda133a53ee222c5f4149c49ffdb067d037500b69ac67b27df9f7b403ddf79db0a36d0c8134ba143bcb541cd4795a9a2bae8aca0ba24b8d8963c2a77d038a00a6e97048618b038b3c8b5fa8d5893eb3957a9908beab8877779ce0cd9a88005821038a476f1687bc3d60a2da2adbcba2c46958e61fa2fb4042cd7bc5816a710195b05820d88ddfeed400a8755596b21942c1497e114c302e6118290f91e6772976041fa10379e2d4f48b51eb5226286cf4521b7160a330c4bbed10a31a8bd66e2cc01f0776005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf658209a48bf0b5150706abfe2decd5498adeb78047991155fe8f73a510e77dbc37c6b03e30a9d2c19a0fa80aba807804b60b6545c12225b2be55988502348ab6e7190e700582002ced09521047d05b8960b7e7bcc1d1292cf3e4b2a6b63f48335cbde5f7545d25820506d86582d252405b840018792cad2bf1259f1ef5aa5f887e13cb2f0094f51e102194802005820023004e3ce0784bf68186394306849f9b7b1200073105cd9aeb554a1802b58fd5820b5fe28e79f1b850f8658246ce9b6a1e7b49fc06db7143e8fe0b4f2b0c5523a5c00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820fc193acd1acc15e1484dc457cceb0aaa40be503d43be18eeff5c1fe6feb3bf29005820024045fa7c6ec765e825df7f9e9bf9dec12c5cef146f93a5eee56772ee647fbc58208fe6b1689256c0d385f42f5bbe2027a22c1996e110ba97c171d3e5948de92beb037d4cb675ea2708d8bc00a679c586177d52a63813eb37ee1ca0b993d0b4fae271005820027bfaf2f8ee708c303a06d134f5ecd8389ae0432af62dc132a24118292866bb431800d3005820027c14ce178f56e2e8d86ab33ebc0ae081ba8556a00cd122038841867181caac582026846476fd5fc54a5d43385167c95144f2643f533cc85bb9d16b782f8d7db193005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec58208ba2e667c5fbe7666ff631bbe8fef23f10a9591d0ecbdf6ffe14c02c510b0b1600582002a4bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d5820cddba7b592e3133393c16194fac7431abf2f5485ed711db282183c819e08ebaa0219ca65032d35360bb18b98c08c05a98c8d4e62e7525ef24a48dfa3047a61ad9deb49bf7a0347c59da56bb2bf348c9dd2a2e8f5538a92b904b661cfe54a4298b85868bbe48503ee7edba078d979e85974e4dfb9a44119c9a3671d07d4bd6a220e18e78aa7003b0219ffdf05581e03e9a3e589d5f55bf39fc2428b31e3ec8ffcb7107dd2d1c5503fa1bdfb800f014b271cf8e3b57434213fa3411918d603eb0c333ce277240253bbf0fd22337c556342f58ba89503ac9cfdbc5de3facfff03f9589bb8289e455a36f1435e4612fbd1fee38851f0d8eae90da6f9122eaf51b20219a3cf034bb15100b60c1a7514b3c99fc14c80b340646f4cb45f3264bc3b139244b4641a03acdfdca9818cf168d069a64d43d5b813760e9a22a12bc80110562433f5ff901903124d728a68e753c18e9bb9f22a7e5741a62b8ae3dc5861cccf57c72aa8906ef303e1c70fdfbda33d3ab30905002cbf3d16f2d5132688f7c48370db89dadd35ff300342792822f12860663ec923baa475acb081f90a489299f8fcac2582a4d6080f07035dce0d1623b67667952c3da14ab7f2cd8c2755f233ff963b4a1e19fa714a2b9f03e1940eef65715b562a27a8a8e2f8ccd499a77794b4732e30df38cc7dcbe60f930340b064caac951884cdcfbcee55fd80ca9b2438d3e917d2edab9828d36917e0da03216df93f700700146ea0918e6b7c14fcf2fe3b74c4acd07efc4babc9b28294080219ffff03b5556f33014f61b9161b12c2cec84bbae3b471d59459d3b9a65359a57271dd8803731b8543adfbc8d3d69a3e178a689e86109ee063e03f8fc74b1d4152a06ff7ad03182576e103b6157f7bc4c1fbb13717618988dd62caefc9d41a04508abf13ac57038cf2505d52289987e8f0ced39f62f5662b091c1b9178d1c6a6f3442997221f1503bd918ddfbeef8d6c348a33d92ff24da677b329df166772dff974b8a7f1fc46e7032db4c2659f536fc1b68609beddec29eb09312d63dc7990480754110c40b407a40219ffff03f74d598108f8d1e9045bedef6eba7b6ea5de1426417a278998414ff074655ad60219ffff03c622b277dc222265432600114cc95ff84cac489a90445c5c571601435f66fcf403e6e882e5bac3fd5e486914918b2414f262d1a4bd4711c4145817389b74cbffca030dc34125354efad76a4e32f0a788408a8d0290920fc330523338df6a3c7949cf03d12186eabb3e5c0141a89727a4f504df0b3fe0c2dc936ba4caa3237e50c1954603644b298fef2d886cbd2b2ac08964d3cd25d7820ee2e63a3287a4d0dc0809bdbc03058a4cabc1b76706a4c830a3a105effcab46d83a8edd86b0e6c4722e0d41123703339b7fd819bd806aabeb9f0e8a893c7e37a8373f260ee48a389c954c10a54265035da432067c651bd87c4d2c6fc88396bbbdaff5692c2dde60b85a9ecda39ec02103376a03e800f9e9422693c181dea45bc2c580b658c28373c4694002bce373dd3d032c50afeb7b5f9eab75fd6ffcff14d09bc387fb69efaf996de08c89d09c22e4180342f43b21d8859a873629fcea99d44be9e8e41bf3a22148dd67ebc2e29b77bf6003e2a79dc849acaedfb3927a213769fb58a95a53f8d617173c1389290a14cc004703a4fe1fac59bf3133f4e311a8a9d093baebd39e735d6d93083260f088ba0a8ef30380eed82b91b68641b10fa19744b6fc1a585ac600cec8a3422f594c5b5636e70a037ab5f1258b51f5bff1bd3e76d3ccae0278e2b22fadb61f3b0471678b75b3fd0f03dafb74cfb6cfc0c6f04d5181b3c5e557189e0194bf96b479c09ccc6f2aea42a503369384b953e1b07a1e3b1290ec60a22ab1e02136e7bb55e3b40b9da618c37b7a0311c657f4a949342a0694ce8c0b95e94bf5779355a88b8db5dd29b6f00998b886032f7e1066d1170616678d4754eff85cd71f5c813ceba9ae1c8e636f14538c47e9035a32fb225b1130a6d69a92c8e6aeb7eb0024d019c459db4eb597531696153b4303e882b8a546e418e56faa227065a72c8effef91c29c2a771b71277dca275f99c403749ff7ad85b6ade3ecb18a4377ff5cf52a4c11143750670a6a0972902ceb58a20303aa551b879bbfed72e62510c74eced1a9b9447a15309b1fca2c6582f5ab9add03a532af483d85a4c12345bfe809662bdd6ecb6b0163e0ddaabc7b98a32ed6955e03b095bf6ad410bd8992bb4a8076825f83f92db43c708abea0e1793d7bd81c180a03ec142d5e71964507db5861d659e1c6c00eed8dd2c1749f7a7170750cac788d57039254cb83ed0b9802ace2cc814d1d3899e6733e407982744011929fdb2987e6550322267ea6c39902eba5bc498baa400a28668595aecd2d27bcede1910273e1429a03dd31874f06997dbd4f6b999a183bc5a66e7a84fb0f4cd44afe76f6d39a840b0b037d0d567c8ad0b21547fbef95c7a6dcbbe2fd5e38dd5d534fdfeb94d53a4be49a03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e033979cd1b03cd93189d96dfc1fea275ac260a92218aefac14ec2ac2de9007011bffffffffffffffff04590c68608060405234801561001057600080fd5b50600436106100415760003560e01c8063832b24bb14610046578063c9353cb51461006f578063d5f3948814610084575b600080fd5b610059610054366004610959565b610099565b6040516100669190610a53565b60405180910390f35b61008261007d366004610893565b6101be565b005b61008c6102b0565b60405161006691906109e5565b600060606100aa6040840184610b5c565b8101906100b791906108b6565b905060005b81518110156101955760008282815181106100d357fe5b60200260200101516020015190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81141561012d5761012a83838151811061011857fe5b602002602001015160000151306102d4565b90505b801561018c5761018c83838151811061014257fe5b6020026020010151604001518285858151811061015b57fe5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff166103ad9092919063ffffffff16565b506001016100bc565b507f13c9929e000000000000000000000000000000000000000000000000000000009392505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb161461022d5761022d610228337f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb610493565b61054e565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000008146cbbe327364b13d0699f2ced39c637f92501a161461029757610297610228307f0000000000000000000000008146cbbe327364b13d0699f2ced39c637f92501a610556565b8073ffffffffffffffffffffffffffffffffffffffff16ff5b7f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb81565b60006102df8361058c565b15610302575073ffffffffffffffffffffffffffffffffffffffff8116316103a7565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906370a08231906103549085906004016109e5565b60206040518083038186803b15801561036c57600080fd5b505afa158015610380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a49190610991565b90505b92915050565b6103b68361058c565b1561046d5760008273ffffffffffffffffffffffffffffffffffffffff16826040516103e1906109e2565b60006040518083038185875af1925050503d806000811461041e576040519150601f19603f3d011682016040523d82523d6000602084013e610423565b606091505b5050905080610467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045e90610aa2565b60405180910390fd5b5061048e565b61048e73ffffffffffffffffffffffffffffffffffffffff841683836105be565b505050565b60607f5cec653b364cca3880afa73ceff506d0651d11d26abbbe4a56460aa933b21b0883836040516024016104c9929190610a06565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b805160208201fd5b60607fb5cf2cd09307d6c717473134badbb9761c2c97d7565566c2a71eba6cd6fc514d83836040516024016104c9929190610a06565b73ffffffffffffffffffffffffffffffffffffffff811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b606063a9059cbb60e01b83836040516024016105db929190610a2d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050610664848261066a565b50505050565b600060608373ffffffffffffffffffffffffffffffffffffffff168360405161069391906109a9565b6000604051808303816000865af19150503d80600081146106d0576040519150601f19603f3d011682016040523d82523d6000602084013e6106d5565b606091505b5091509150816106e8576106e88161054e565b805161072f57833b80610727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045e90610aff565b50505061076c565b6020815110610763576000610745826000610770565b905080600114156107585750505061076c565b6107618261054e565b505b6106648161054e565b5050565b60006103a48383600081602001835110156107985761079861022860058551856020016107a1565b50016020015190565b6060632800659560e01b8484846040516024016107c093929190610a80565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b600060608284031215610857578081fd5b6108616060610bc6565b9050813561086e81610c0d565b815260208281013590820152604082013561088881610c0d565b604082015292915050565b6000602082840312156108a4578081fd5b81356108af81610c0d565b9392505050565b600060208083850312156108c8578182fd5b823567ffffffffffffffff8111156108de578283fd5b8301601f810185136108ee578283fd5b80356109016108fc82610bed565b610bc6565b818152838101908385016060808502860187018a101561091f578788fd5b8795505b8486101561094b576109358a83610846565b8452600195909501949286019290810190610923565b509098975050505050505050565b60006020828403121561096a578081fd5b813567ffffffffffffffff811115610980578182fd5b8201606081850312156108af578182fd5b6000602082840312156109a2578081fd5b5051919050565b60008251815b818110156109c957602081860181015185830152016109af565b818111156109d75782828501525b509190910192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b6060810160088510610a8e57fe5b938152602081019290925260409091015290565b60208082526028908201527f4c696245524332305472616e73666f726d65722f4641494c45445f544f5f534560408201527f4e445f4554484552000000000000000000000000000000000000000000000000606082015260800190565b60208082526027908201527f696e76616c696420746f6b656e20616464726573732c20636f6e7461696e732060408201527f6e6f20636f646500000000000000000000000000000000000000000000000000606082015260800190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610b90578283fd5b83018035915067ffffffffffffffff821115610baa578283fd5b602001915036819003821315610bbf57600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715610be557600080fd5b604052919050565b600067ffffffffffffffff821115610c03578081fd5b5060209081020190565b73ffffffffffffffffffffffffffffffffffffffff81168114610c2f57600080fd5b5056fea264697066735822122009a7851462241dd92b7cc7cbc226be48b527cf7e8ac23a383458849e5cf8c07d64736f6c634300060c00330605581e030454b734ff31e6a36c83ef139e23f11de6047b408b5191d173288913c00701190c6805581e0339f00ae1fc0b619e51cfbe3d511c9712f394cd0a2188013d797589cf400c024632fd2ba63eb005581e035c4116dfd1d8d3b2d6bb72a543e31115da23566f5379d93fce392d98b0040305581e037c549b10b9e8cce299c0c165da89567047767fe539f42ec092d14426c00c0146b5e620f78c00032902ee788af4664ab3c8d93766d17011a43b6bea42c5fc7b29cd209b7169ed6401410503783104236bf065d36bab9a00001ac3e6a2d6f3ae992156d258a742104a44935b03ee865fb9f1e761a91a80ba0efe5685561d15c90b952f1773d2fd688080c2405f0378ef12df519baa286f9f1564dd5d500ae2c2bfd36193298c722565f21d250a4105581e0338aced13c771004d9706b43f9ac2da4ca7dc834c268206a1c204be7db00c024713d2fafdd8c00005581e03cfc808d36659bdb0623cc161693f5849bf4309920ea2f3223a1d7a5df004040219bcf503ae69eaed2a469f6825e160457e9d009986201f29dc6fbda328996a6bcaf835f9031cec3bf2652f433b976a5039dc67e7dec412816cb0923673b7f3e7d083f0ce550219ffff03576cd1f654fa27dbc94f3f76086737e3b83c1d66cd2323d9378681e955f456490353573979be6a9bcaa1b0497dc489ff6be17201aec45ac9e3629eda0cfa3e783d0219ffff03c795018dfd5ad39637455bf0b3c6fe2b2e81dc3f3a90b1e3cadbd2d5a4f8010b03ccc8fb559e8e2a6095cfe485d7ebc12a33d71e747df739d21999ea472e440db803be432bc2d586d9d171b698f3681c77f694bae933f1feecd9b43bde5951fe79de037d7c9fd11bb2a192add6fac793efc05c408e8991f851bb1c6fd75531884fb3d803b40c2ea5d8846c1918dc44fbff8c79ec14885e617b3f7454689a2d2537dcf73203cbfe5ee245006897bc5cdc1bba11f024279ffc50e9804396d88e95e73c42cae10372242ba571461d86b2253a385a841aa72411904827b2f1986033ba1b58545e7c030acf31a6f4c9dc9070dfc8e7090fa1432eeae71e4f5ea333deeeaa25ac7fdab9036dcb89b9aa3760326bf05ecea18d87711b52aea0baeb10c0be22baed930e68df03ed936d4c35bc31f789ed5688356c6e13b7dadaf8cc4ac21e8e67761cf1925b2903ba94d7db60a71515841f568a7898630703e0d65d1557c1e3d9ef3790bf4dde9403fc368fdd734f77638d50f1d3ab628961a521f368d06b6f343817e9b14aef12b50219ffff03c2e534f8c4d1ee8ba60495b49254b6e2a4a9d70d63eef1cc9a40352396fa1bf70362e6d0960d4266cee640117150648b637c2d1321b9c8f08af4134d6c5751ea06035459ab0dca1b8376bfa39c415100283a6033ce65bd1a20d065e6fd65c24ede030219ffff0219ffff030c09d28f811e8778357c892dabab28db5cd856174fed623c79d4d420cd4806c003e4490ae8753be5e43d043663972adb633de717f522d449dfa9bcc565ceafdd460394d3ad8739d36968311c33dc810d82956845024b8b01e781d0f4053052af4bae038e285e10f40aa8ed74b6d192fd905d802ed7ed7043e6185ba3217b3cfce91c3b030d57b951b388305c62140da130326559bd74a8530bdb77b5d9f7ec73f56275f7032ecdadbd23cf5efe8f0b0f2912d008a3af852c3487280a3f6c6d1b7258f87a89032a10004e46c8e2e1bfe068adfd6b0f8dfe310e9d82af8a3b435de0e4e317353903903f75a8c2a89efc4c3999627d38a9a66540f82161e7134784e67a9c230be86503fe2f0bc929a176d6da6519ccbfb0733ccfbf31a8ade75e56f3dc77258d5bb00a0328910c8022a4132622a3d2773aa2b4edad381f26b5da83a8ce79682802997da30357d1c375f091a3ef6cadf3994aa33c82e59e3bf823980493602cec81d8d0ae1b035b3f9ba5e0e1a8f4fac7be5f094cc2afacfd04209ad86a1998e5b5efcd49c6bd031f2809dc960dad7105847c15390f6354e9069cd2c629d53b7e92ebc33e913d7c03410056c49800bc31fbe49ff33fd38245eb6e04c17cf518a95bd04c7eed81c09d0368af728d49a262f6edde6c2a96979112f13e018417cde6b099d3b0dd51df0d0c03f783719335acdc48d4ff41f1dc3e5880c88ef96939348e58db07b6a042d47eb103f9cb99326007fecf11fd558b18b69e1287fd613886b291236e78c61118c7bb4f037b905df85f57f3a1e6a85cc5a6dce375c6aecf481d91c0799579245e0fbdd634038805cf8eefc55160a3ccae0eab6509240bf1aa8c8d6c8a92adc641fc3a0097e003bb2ff9386057c96bb1f475714ad77314456da28f923ff1b13f69bb590d242b1f0303e1819e449dafbdbbe3eb50f2dbb4cb6727a4b9bf3ae6a08ccf60c0d2ee2e580365e9702094003474c43529d4dd1ae6bc1af00111981beeac145bd0bac67f9c990387dce720a0ad039395d627c5454d282a7d38c81337b0099d5eed09656e5381a6036872ed568bbd422b891b6bb5638954d9fb042a74f4eb7b116bc00c0afc2821cd037424d95f43f8fab3b91be8f71c7aacab9d4f58db3d2a7666821aff33ec473de3033c461d9adae5d9df77672c8e5cfb3c254c2f8a6f510c2b7c8ee8cb51316a487a03a4f13829257207fb45f356f2524f0fe8e9180f6ac18a3fecbe4d4408eab6f4dc030a4e84bbb235f064937b0c2d21f38af77a07d4a524265fea4c2ea6406a3f7ac3031a8d05ac09de759654e3456ce9c1991231f39d45f990a9bcc54e99cf69f5f1db0380edb88cd452a21e5bb4b5e5a9b0f99252e5c1266f93b17e0ee67038a72339ad0382dcddcd3ed7e523f1ccf2214bf86ea3f8ae2b3a843e7528ea868f406543cce5038139daa139fa9fb64a8956db571f7eb6fb125b797dfac3047f3e995dc7e8e8ec036bdea5780469bb4c3263df9cac24def3e25228c8f1fd17c17f96d8364abc5ab80332d66093f7f12e477e67d7704d1a0e795c3df951f23f9ac90ba3f296e15681ad03b8b209789091e3cca8208930ff1b63299c9cfa5cbd7552202ac8d478053566f10142000405581e0342b8e557557f4e3926d6a7ab841031678b90dde1a63f69c601c14b58900c0147430386080510bb05581e03b651c8f55676dd71d992857a464db72c9f32155643241819d7a0331670040603817cc9a7fa7fc8ff54987ed68991efc3ebdb7a30aa4b8cce76026add4b87c29205581e0393c5dfa0ef1fa61d694c3f1b53448d78aa45b21519e2db0a80e1348c30040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0395f2ffafff48c6e28e38b2153a8fe19e9d112635e214beb9eefd31af2007011bffffffffffffffff05581e03fdf504761bcc7d521b0f57ef0c6fc71d918f25594dfa95f3cac5df6fa0040405581d02dd60b18cf7b657ec98d4a2eee8c226adcaf926e0d1c87a89ba58ab940848018d8c75065dc00005581d02691725016e006a5bc6119e8d6699985f599bc7128af9d8032400656f040102192001031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0317029b0e07e891264b043ce0e7bc9cc6d7a82fdb0c4be294ebdc34e66007011bffffffffffffffff03381f0348f39aa5f970fca2bfc614aa86904b676cf93f987001d5c1ab6b44667103b184ddf07b2831e5b7fe27aa9ee8a2606376627a4a8632a3b28bf7867d0b63e205581e036f9c7f5123669101347548b13555a3b88a5b03fdd45df331dc63b1911007011bffffffffffffffff03812fcc84dee7d8466dcce84fd0f96daa3e72e58283e111e7dbd8b60c79b0f8db05581e03a9c3a80368755bd18a86c8f4baea85b22dfeda567470ffa5a796af85300c06470236dc76b0499805581e03a270b848dee84fe9a7d87c4ee4c987daf48d8b598b92d1ff5fbbe57cc004080219eff6039ac464dfd5e5f392bfe8b3729605340722bd7aa7d0a4183b7b3cb71a04df51e80315552e6431df2b64f266a31e2452554a7993e821bc8471736711d00d95e70d11037781f9aeaad671c77e8daa7ccec02a4309b9c68a6f978da24ce09ecd122b279b0336470970772ee5c1219dd65e62b63bfcf5b4eb404a38bfa820a8eac081de335703c4c274d37b95807767cc951d9ef5ff2b7bae21b4184b14227ebb32baa01ae116033415e9f5d566d0706aad2adb4994d902c96b6d2fcd9e87c77cecde4e6b7595300351cec675d964c54c1b7fe7e9981d821edb36d34c1d99f734dfdaa6fbb67d00b5032e4a4dfb2f15db6d245e47c8a80cf2d7edc11b94b7f40d9b95530722947fb6e503972c489b2e4ffd55b78d20154d189d2c0b6fd93172e151c7c94b303d07022b2503d238a182d9e75ac3d11651fc213da4869864c715f08e76cb4163a11f6e1dd8da03050fc87fcf36d3313767b1876b4f094a98726ed2c492e42973a866e55c0c9f3e0377ed45f4e71698c05b28609318c25a66c05fe05418d636d5fc72d9e388137cac03a9a9b700d10c943717a0fc8247203fae865eb73581bd3800c11c2abb342b5133035815047422d9c005db320cd320b99d1118cbaf390377bb948c02ec394642ee560219ffff039179ec4821a77718cb09ab8ca2fd952ec84f0a3f5bb639ee6ceff7bcc31e1b8103517c70ac2b645e9e800de8e158e8057ad36f83461887a5c53a2e02e898fd71840340dc53e88c36a39af8ce920c777d063ebaa6c968eca466ff945dd2233a0890bf0394dc7f7f650e9ee58511b154933da4848c80d773eec8c3f4f68e3f0b986e00fd03fe3052b5423935db8c247b355b89a7f81a7306bb5fcaad935f0f03bb7cb6a2e903a6bfdeb5f5cae6b8607877b2120865bbd8f2cabf38aeee811be930a141b4aeff03b83e0a97c3f3530647685ab86094620d136b0a6a0683ddf342f155985e36ce350315f5e9eec5c79f3a271dfc52bc9818ebbf73ba36d54acd9aa6cbd6c76cdb52ff0219ffff033aabaa3588448d072a2341ea256f1e997561bd48c3f2c0d4fc93d26d81f43c3303ac46bd233224d162c9ab65f9fb9969f94164fe804d2a8f70807b6b39c286dae303ae05ebba5aab43f36b411de58f9c04bd7e79dc14d76d62c6ffed589fa30bea120219ffff03f9e617e6e5cb4f6d69faa25faed7e460ab7952ae04083ece99bfa87a92e2349403aa63e587a9becf06705c51b4626977e62dc6be22bfd4aee9a6044fcbbedd959203e2459565af3b493ba2136a7598ad3cf00ffb44cd10d0d26aeb80186ee83c5a2a0383884309131d9973a34288440da537197f2a0fd13427dcdbfba3f76618ca50b003e5a45762a858c579780547c9e18a68dda6cd661384b7dc048a8d49b68ac0bb180386ffb2f53622c0e99ff6aa8078ce268086f9319ce90ec7830c962747c0f6a4e7030e688a9f8262777975c7ad00cd45bac829aa6689da682b4ecae43cff6c5706a703484a0b1944acd97402d67805e7531e2d5086cbb4b290ac77a087669d993c083303d461268cbf599ddd474146b42cf72a79e551b497f1d4224a4090306b348e6c2f0343c5db1d5838790aa602ae3b51f80d0bfc2de769a007bcf7935bf376b76900f303b8bde4d6b14b57833b68d2a1c808a793ba279415fea0495f04dfa7b11bf73a2103f6810720f889908358d902ee90aed538f39734ac9a406833bc2bd450f22bec0703cb23dd10a11e3744a96fbcea4f1b19b6363409fc7ee8bafb14267bf34bbbdb2c03566a7ab545fc425a2398778ed4cfa80d9875b55c507ed5a52259e9f0af5d871303b8facd8a08aad8a6cebb923c85282b0a9226db34b4fc0df9260394483a28800b0318557450f87a795a0bf7bbee517ec4e9356cd78ee8e2e5e9a35c7a3a032083b003d965cf26217f772baa69ee9629f28e26f40053a551df7a1361e2489e41ef36670306531e064b955a685f227f059ce29b8747fb5b023a2edccca8227d30680887a0031183bd7c4282ea9efebc7cc6c29da5b0296f061812e7a19cea9ecdeb2a1b7bcb037a5d46290ed276e3d3411f452d6856509a7a0a9da062beb204c14ecaa7901c38033df357e206f94111a9b3617a2775574c51798f4abdf2f18e537496cd95d1624b0349ce73eeefb9f3978e05f006fc199d708b17ec478b082f8d8aa28831876c934303a9b019f6d5709c25d4054adb77e7ea9bbb6597aed4cbf1acd00cc7a50a6ec5b8031ce18347da5af5504a8f83dfd79ef94768a5df83fd3f5be3b83bb6dcc93839fa030a4fc83a90cbe095bcb7966ee521469fc1c690666f09cc48199524735f3f1f2803b8d39af1d83a7fb13a52ca78bfd70b111d7bd351ab3467bdfcd7877b50d1f2270348a9b8e8ea74c78af8851b327784fe672c2d6d47d43a158485a0f70f87644e52036d153e5b3869592c9a2717fdd468971b677c4200c9c74e5f28b769235db0275b037ab35aabecd8535d7d6dd363ac84a8e97ed836efe70f32de4e88d60b2c8aec11031be16b49db793fef320b78b77f4971aaacd118325342ad2bc43b14e7af3e79e30380472cbfdfe9b91c7bbb6a7ac6e49a817e92f7d70cf2c5e7b3978397a3f4187f031987ed763f8773a0647991325c287606b62a5ba1f99ebbc793b6641ac9aec95403c717856cfc40b89d6bb6252a0f73a6cc34129708989f0155964b1d7236f49759037a300cb6e284693e6b32eaed50b42395698711527fa39a6edf057ad3685bc92e039ad29e1a82c79752215b33566920f7606efdda8e38625a8ea0c852bd2fad27db05581e03269c56b8a88c6df78761b9436ae875910597e2866829ec25dcabf33c200419030b03e8a47f9916f34336e65c81f32bbba8e61b6650b3d27ad42b750a673039445c5805581e03fad05c8013cb24b7185f84af6b0dd894bb54ca2c7c83f92db2b12a9790040505581e037deffd6b56feed5df7b74275042782b090d6e69073fea4add016e3b0300c01463f7d05c10e0005581e03f68826e1d3d34a48c8733e3cbcdc9923ef447fb0afbf2e78a3feb1de10040205581e03435f927d1b569d525a9321e7247002f4162764de1a9c2a3d555511afc00c0447c558b099c3bf8505581d0235024dab927930c90d5e301378243eefa086321a24f0231991adecdc0c014712f83bf7bb54c005581d0203edc181249c4039df0cd8377b600cf12fb29d77ddf318bd3eb0fdef08480e251a798b51200005581d02a84ec396070a9f1d05d24f91c5449648b569de4beb5816c979ab682c0c0847285d8d2c085f1405581d020ff1a1064553c00d5caecdec808dfcf8e2666868af0792d47e7b4b2d0c05475eb14a9883f7f70219100e05581e0379f1d2635fc95d26464e616a9ee1f75f150e42eb002fc5b35581a8ac800c1819470845e6f6b1a5dc0312dd58e7fc46a3d544f9a9904d60be7c869b4070d509bbdc9d8e0772311b0f4b02197eb003fbc10c883bda6be4b988e799f7dc4d06404be064d6365dd7394ffefbc39f930c03a61957992b8fc5c5ee048b1dc42c8ab3f48164f8eb2f773a43bf5fe376f1fe6f03497970344bcb3a8ecb681481edeed79e92eb4695b477ecd86620b35cd3080364033734651a15b8247da3a6025f063566e9f9ff48be29f6566666407e9238995241036dfa33526eba5ef9a739ccaba08af3fe6571da37642d082e5ae4a02eb8209c1a0219ffff03882abcf10d4806a69aa15a4d83c319699389ee87e9abf71ca94fbb385bcdec2e0219ffff03ca12f4a22e86e1d39d34ce208eb0ebc2d81fb14a1ff4b52826bd803844affd9803d88401b99a9921c7250069bbabae3155b4fe0d13f0517a76f6a7b378169e5b280329dfcd5ff716101e20c25d7c8da85d259d54fcf0f9dfcab090500cb89a4292d0033547c99ceec14a4845d8cb46f50350b43e72fa91a883f0edfc5b140f9bd3d9590219ffff03c01b98a818f43853c99e819043e7d2c3026c5371e9eea9b3ef47c9bdf06d1e0a0219ffff036f22f65603eb6a5f988de9fce50933058c64aabbd61f1c499398d603c949be39031760eb94cc49f5a38310ec5cd5b7ddf8ab8d9362cf2b945704148c753708e49203495a26eb99e6bf4a71a21c77446091cb2749dc34611467605def4537215054b703df3a26b389e6dd73561bcb351879c10d45addaf6acd7b443699087eedbd9610703b9ee41caba1119def4f82b304659c3ef265b363b144f5e339a29fcd578349be6038268f6429bcf7611fdc22359790f87ef17afb0daf315bff3634d52c77c51820d03818f8c0f94df13c6734e06e12536204e4417011e37a01a31b13914580a699fdc038e807daa7a873cd31cd4527e1f030ba28d67312a6d18f64a75f823643bdf3b5903c86067c2f04b51a78b58aefdd4e0d3dcf57dbf54481036eb7871dbc91ecb064d038a73a964cdc777591299de8483fc52dce2d49c744d7b4040c634181370727bf1034165e5c32cf327ec19efd751c3cc35d721d6a14512b89b979f7baea5d7dd60c403bc55f37033e11e2e7f85320045916f1f440f1096660aeeaf8302169eb7e8636703cb749d840cdd144b3c18056003ab4e6848e6953090c377f3ed63e1d0beb127d70395853779a56bcfedd18ad59f1cdb6439d725a52a06d983223769d1118c2551400348acd46af86b9f60631cda2870239f7d2b01c57844ed5e3f0e39b7c047a4f5bf0310bf9cf98ac7dd6f41e4da2483858f87721b49d40025b305a7a73dc4e8ca93fd03157bf2909aa9bb76ea4ee0cbc9dfcfb82c8c375afd2163bc3568a71183542dc4032e7ee878da4cd2e5c429747fc9ef16a495b28b9b47e24bea2ba93a12af6784f803156cd7d213bbfe5fe2a06667b219275d99180496dc0e00d41821765e98709b0903a5d72892e74272566fec4c44a99582a92332e552a1198d1ff280d816e892529003bbde230d289493b8184f19a2fbb10814ca7fb736fc08eaa502cf5b41e20ae8900390e401dbd0f2c6b10db726d58652acbfc01176e9d773c4230447a996117c90650311f25ac133502ec3347710379f1fe27585602e0bc1644b5449d0c1ee7df4c0560366989db03907b28e3aab6c72c51a09a00573629f56d99e4134a69294690a095d03b6f63ba35b598a2aba657b37cf11527b6784b4162d9d47670f67512f748e90ca03bfa960d8eb15a6b158977305c6707c302acc285d35b07ec9cc3ff01e1cf6f5ab030b455971e5c45be00e97c338d137b780472ef9f12ab01028e39e4eb1d901f82f03a29c77b3988be533045d3573b7daf37e63185e3435aeaf2fbf2d047660abb291035aa7685cbd24175db8b862f1be26af9286a3eefab87a5626f5f5f54a9def9fd703053066bdf6839e974bbbdf1a100230579eae66b7ec8c4b1ad32e59be11bc68ff05581e0308d63de2c2d93f5eea57f193aba9247ea17cf5e5213f25426de35317b0040103c445687f4e339ad29bd9ebb667916fd382afac317c6ad1a2e71a5c9f6262994c04595d12608060405260043610610092575f3560e01c806375713a081161005757806375713a081461014b5780638024c73a1461015e5780638129fc1c14610172578063e634edd314610186578063fa461e33146100df575f80fd5b80630162e2d01461009d5780631a12d67c146100b257806323a69e75146100df578063547d00a2146100fe5780636e20b10714610138575f80fd5b3661009957005b5f80fd5b6100b06100ab366004615175565b610199565b005b6100c56100c03660046152f9565b610286565b604080519283526020830191909152015b60405180910390f35b3480156100ea575f80fd5b506100b06100f936600461539c565b6103e6565b348015610109575f80fd5b5061011d610118366004615414565b610767565b604080519384526020840192909252908201526060016100d6565b6100c5610146366004615496565b610ee6565b6100b0610159366004615589565b61101c565b348015610169575f80fd5b506100b0611898565b34801561017d575f80fd5b506100b061198f565b61011d610194366004615639565b611ab7565b8115806101a557508142145b6101ca5760405162461bcd60e51b81526004016101c1906156b6565b60405180910390fd5b5f898960028181106101de576101de6156e5565b90506020020135111561026c57888860028181106101fe576101fe6156e5565b905060200201353410156102245760405162461bcd60e51b81526004016101c1906156f9565b416108fc8a8a600281811061023b5761023b6156e5565b9050602002013590811502906040515f60405180830381858888f1935050505015801561026a573d5f803e3d5ffd5b505b61027b89898989898887612162565b505050505050505050565b5f8083158061029457508342145b6102b05760405162461bcd60e51b81526004016101c1906156b6565b8b15610302578b3410156102d65760405162461bcd60e51b81526004016101c1906156f9565b60405141908d156108fc02908e905f818181858888f19350505050158015610300573d5f803e3d5ffd5b505b5f6040518061012001604052808b815260200189151581526020018e81526020018f600281518110610336576103366156e5565b60200260200101516001600160a01b031681526020015f6001600160a01b031681526020018881526020018a815260200187815260200185815250905061037d8e8261282d565b9094509250508b158061039057508b8310155b6103ac5760405162461bcd60e51b81526004016101c190615730565b8a15806103b957508a8311155b6103d55760405162461bcd60e51b81526004016101c19061575f565b509b509b9950505050505050505050565b5f8413806103f357505f83135b6103fb575f80fd5b5f8080808061040c8688018861578c565b95509550955050945094507350282b204ae2a36a6a7f2783ce351617030f68386001600160a01b0316630c2f3df3338787336001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015610479573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049d9190615801565b6040516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015262ffffff9091166064820152608401602060405180830381865afa1580156104fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051e9190615823565b61055a5760405162461bcd60e51b815260206004820152600d60248201526c46616b652063616c6c6261636b60981b60448201526064016101c1565b5f805f8b1361057e57866001600160a01b0316866001600160a01b0316108a610595565b856001600160a01b0316876001600160a01b0316108b5b9150915082811161075a578115610682575f6001600160a01b0388165f80516020615cbd833981519152146105ca57876105d9565b5f80516020615cbd8339815191525b90506001600160a01b03861630148061060757506001600160a01b0388165f80516020615cbd833981519152145b1561061d5761061881873385613755565b61067c565b60405162ccfb9360e51b81526001600160a01b0386169063199f72609061064e9084908a903390889060040161583e565b5f604051808303815f87803b158015610665575f80fd5b505af1158015610677573d5f803e3d5ffd5b505050505b5061075a565b5f6001600160a01b0387165f80516020615cbd833981519152146106a657866106b5565b5f80516020615cbd8339815191525b90506001600160a01b0386163014806106e357506001600160a01b0387165f80516020615cbd833981519152145b156106f9576106f481873385613755565b610758565b60405162ccfb9360e51b81526001600160a01b0386169063199f72609061072a9084908a903390889060040161583e565b5f604051808303815f87803b158015610741575f80fd5b505af1158015610753573d5f803e3d5ffd5b505050505b505b5050505050505050505050565b5f805f80845f8151811061077d5761077d6156e5565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156107cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ef9190615868565b90505f8a606414806107ff57508a155b61082a575f8a116108245761081f6064610819848e613892565b906138c3565b61082c565b8961082c565b815b90505f811161086c5760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f42414c414e434560a01b60448201526064016101c1565b8660018151811061087f5761087f6156e5565b60200260200101516001600160a01b03167368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b031614806108f95750866001815181106108c8576108c86156e5565b60200260200101516001600160a01b031673ddc1b5920723f774d2ec2c3c9355251a208197766001600160a01b0316145b80610943575086600181518110610912576109126156e5565b60200260200101516001600160a01b0316731b81d678ffb9c0263b24a97847620c99d213eb146001600160a01b0316145b15610ae5575f6040518061012001604052808d5f14801561096357505f8d115b61096d575f61096f565b8c5b81526020015f151581526020015f815260200189600281518110610995576109956156e5565b60200260200101516001600160a01b03168152602001895f815181106109bd576109bd6156e5565b60200260200101516001600160a01b031681526020015f81526020018381526020015f81526020018b81525090505f60026001600160401b03811115610a0557610a05615211565b604051908082528060200260200182016040528015610a2e578160200160208202803683370190505b509050875f81518110610a4357610a436156e5565b6020026020010151815f81518110610a5d57610a5d6156e5565b60200260200101906001600160a01b031690816001600160a01b03168152505087600181518110610a9057610a906156e5565b602002602001015181600181518110610aab57610aab6156e5565b60200260200101906001600160a01b031690816001600160a01b031681525050610ad5818361282d565b9198509096509450610ed7915050565b8a158015610af257505f8a115b15610b66575f610b1e8b888a600181518110610b1057610b106156e5565b60200260200101518c6138d5565b905082815f81518110610b3357610b336156e5565b60200260200101511115610b475782610b62565b805f81518110610b5957610b596156e5565b60200260200101515b9150505b855f81518110610b7857610b786156e5565b60200260200101516001600160a01b03166370a0823188600281518110610ba157610ba16156e5565b60200260200101516040518263ffffffff1660e01b8152600401610bd491906001600160a01b0391909116815260200190565b602060405180830381865afa158015610bef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c139190615868565b9450865f81518110610c2757610c276156e5565b60200260200101516001600160a01b031663199f7260875f81518110610c4f57610c4f6156e5565b6020026020010151338a600281518110610c6b57610c6b6156e5565b6020026020010151856040518563ffffffff1660e01b8152600401610c93949392919061583e565b5f604051808303815f87803b158015610caa575f80fd5b505af1158015610cbc573d5f803e3d5ffd5b5050505084865f81518110610cd357610cd36156e5565b60200260200101516001600160a01b03166370a0823189600281518110610cfc57610cfc6156e5565b60200260200101516040518263ffffffff1660e01b8152600401610d2f91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610d4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6e9190615868565b610d789190615893565b6040516370a0823160e01b81523060048201529095505f905f80516020615cbd833981519152906370a0823190602401602060405180830381865afa158015610dc3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de79190615868565b9050610e0e87308a600181518110610e0157610e016156e5565b6020026020010151613a49565b506040516370a0823160e01b81523060048201525f9082905f80516020615cbd833981519152906370a0823190602401602060405180830381865afa158015610e59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7d9190615868565b610e879190615893565b90505f8111610ecd5760405162461bcd60e51b81526020600482015260126024820152711393c81513d2d15394c8149150d15255915160721b60448201526064016101c1565b9194509092508390505b50505b96509650969350505050565b5f80831580610ef457508342145b610f105760405162461bcd60e51b81526004016101c1906156b6565b8a15610f62578a341015610f365760405162461bcd60e51b81526004016101c1906156f9565b60405141908c156108fc02908d905f818181858888f19350505050158015610f60573d5f803e3d5ffd5b505b5f6040518061012001604052808b815260200189151581526020018d81526020018e600281518110610f9657610f966156e5565b60200260200101516001600160a01b031681526020015f6001600160a01b031681526020018881526020018a8152602001878152602001858152509050610fdd8d8261282d565b9094509250508a1580610ff057508a8310155b61100c5760405162461bcd60e51b81526004016101c190615730565b509a509a98505050505050505050565b5f82600481518110611030576110306156e5565b602002602001015111801561105f575081600481518110611053576110536156e5565b60200260200101514214155b156110b8576040516001600160a01b038a1681527ff2e7574263ab25e854ccac210f6060de1cb000d665c40e21b3bcb80f2b4511bc9060200160405180910390a160405162461bcd60e51b81526004016101c1906156b6565b5f6001600160a01b0389165f80516020615cbd833981519152146110dd5760036110e0565b60025b60ff166001600160401b038111156110fa576110fa615211565b604051908082528060200260200182016040528015611123578160200160208202803683370190505b50905089815f81518110611139576111396156e5565b60200260200101906001600160a01b031690816001600160a01b031681525050888160018151811061116d5761116d6156e5565b60200260200101906001600160a01b031690816001600160a01b03168152505080516003036111d8575f80516020615cbd833981519152816002815181106111b7576111b76156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505b6040516370a0823160e01b81523360048201525f906001600160a01b038c16906370a0823190602401602060405180830381865afa15801561121c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112409190615868565b90507368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b038a161480611289575073ddc1b5920723f774d2ec2c3c9355251a208197766001600160a01b038a16145b806112b05750731b81d678ffb9c0263b24a97847620c99d213eb146001600160a01b038a16145b15611533575f6040518061012001604052805f876005815181106112d6576112d66156e5565b6020026020010151116112e9575f611305565b866005815181106112fc576112fc6156e5565b60200260200101515b81526020015f151581526020015f81526020018a6001600160a01b03168152602001876001600160a01b0316815260200186600181518110611349576113496156e5565b602002602001015181526020015f8a116113ba57865f8151811061136f5761136f6156e5565b60200260200101516064146113b4576064875f81518110611392576113926156e5565b6020026020010151856113a591906158a6565b6113af91906158d1565b6113bc565b836113bc565b895b8152602001866002815181106113d4576113d46156e5565b602090810291909101810151825201859052604080516002808252606082019092529192505f91908160200160208202803683370190505090508c815f81518110611421576114216156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250508b81600181518110611455576114556156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505f611480828461282d565b509150507f522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade97816040516114b591815260200190565b60405180910390a15f891180156114cb57508881105b156114e85760405162461bcd60e51b81526004016101c190615730565b865160070361152b5786600681518110611504576115046156e5565b602002602001015181111561152b5760405162461bcd60e51b81526004016101c19061575f565b50505061075a565b5f8088116115e7575f871161159f57845f81518110611554576115546156e5565b6020026020010151606414611599576064855f81518110611577576115776156e5565b60200260200101518361158a91906158a6565b61159491906158d1565b6115e9565b816115e9565b6115946115c888858d896003815181106115bb576115bb6156e5565b60200260200101516138d5565b5f815181106115d9576115d96156e5565b602002602001015183613ca0565b875b9050861561167157866115fd82858d613cb5565b6001855161160b9190615893565b8151811061161b5761161b6156e5565b602002602001015110156116715760405162461bcd60e51b815260206004820152601f60248201527f4e6f7420656e6f75676820746f6b656e7320707265646963746564206f75740060448201526064016101c1565b856001600160a01b031663199f7260845f81518110611692576116926156e5565b6020026020010151338c856040518563ffffffff1660e01b81526004016116bc949392919061583e565b5f604051808303815f87803b1580156116d3575f80fd5b505af11580156116e5573d5f803e3d5ffd5b505050506116f483308c613a49565b506040516370a0823160e01b81523060048201525f905f80516020615cbd833981519152906370a0823190602401602060405180830381865afa15801561173d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117619190615868565b90505f8811801561177157508781105b1561178e5760405162461bcd60e51b81526004016101c190615730565b85516007036117d157856006815181106117aa576117aa6156e5565b60200260200101518111156117d15760405162461bcd60e51b81526004016101c19061575f565b801561183157604051632e1a7d4d60e01b8152600481018290525f80516020615cbd83398151915290632e1a7d4d906024015f604051808303815f87803b15801561181a575f80fd5b505af115801561182c573d5f803e3d5ffd5b505050505b611856818688600281518110611849576118496156e5565b6020026020010151613df9565b6040518181527f522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade979060200160405180910390a150505050505050505050505050565b73e18d90cc64bb8a5aab6f3fb8060a90ed14d65a7233146118e15760405162461bcd60e51b8152602060048201526003602482015262486d6d60e81b60448201526064016101c1565b5f6001541161192b5760405162461bcd60e51b8152602060048201526016602482015275139bc81199595cc810dd5c9c995b9d1b1e4813ddd95960521b60448201526064016101c1565b60015447101561197d5760405162461bcd60e51b815260206004820181905260248201527f4e6f7420456e6f7567682042616c616e636520546f20436f766572204665657360448201526064016101c1565b61198933600154613ea4565b5f600155565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f811580156119d35750825b90505f826001600160401b031660011480156119ee5750303b155b9050811580156119fc575080155b15611a1a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611a4457845460ff60401b1916600160401b1785555b5f80546001600160a01b0319167337aab97476ba8dc785476611006fd5dda4eed66b1790558315611ab057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b5050505050565b5f80807368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b0387161480611b01575073ddc1b5920723f774d2ec2c3c9355251a208197766001600160a01b038716145b80611b285750731b81d678ffb9c0263b24a97847620c99d213eb146001600160a01b038716145b15611c72576040805160028082526060820183525f9260208301908036833701905050905089815f81518110611b6057611b606156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250508881600181518110611b9457611b946156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505f604051806101200160405280875f81518110611bd357611bd36156e5565b602002602001015181526020016001151581526020015f81526020018a6001600160a01b031681526020015f6001600160a01b0316815260200187600181518110611c2057611c206156e5565b6020026020010151815260200134815260200187600281518110611c4657611c466156e5565b60200260200101518152602001888152509050611c63828261282d565b90965094509250610eda915050565b5f611c8e611c82876103e86158f0565b610819346103e8613892565b90505f6001600160a01b038a165f80516020615cbd83398151915214611cb5576003611cb8565b60025b60ff166001600160401b03811115611cd257611cd2615211565b604051908082528060200260200182016040528015611cfb578160200160208202803683370190505b5090505f80516020615cbd833981519152815f81518110611d1e57611d1e6156e5565b6001600160a01b0392831660209182029290920101528b9082908c165f80516020615cbd83398151915214611d54576002611d57565b60015b60ff1681518110611d6a57611d6a6156e5565b6001600160a01b0392831660209182029290920101528a165f80516020615cbd83398151915214611dca578981600181518110611da957611da96156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505b5f80875f81518110611dde57611dde6156e5565b60200260200101511115611e7c575f611e11885f81518110611e0257611e026156e5565b6020026020010151848c613f6e565b905083815f81518110611e2657611e266156e5565b60200260200101511115611e3a5783611e55565b805f81518110611e4c57611e4c6156e5565b60200260200101515b945083815f81518110611e6a57611e6a6156e5565b60200260200101511115915050611e80565b8293505b611e8b84838b613cb5565b60018351611e999190615893565b81518110611ea957611ea96156e5565b602002602001015194505f80516020615cbd8339815191526001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004015f604051808303818588803b158015611ef9575f80fd5b505af1158015611f0b573d5f803e3d5ffd5b50505050505f80516020615cbd8339815191526001600160a01b031663a9059cbb611f6a8b855f81518110611f4257611f426156e5565b602002602001015186600181518110611f5d57611f5d6156e5565b60200260200101516140bc565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018790526044016020604051808303815f875af1158015611fb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd89190615823565b611fe457611fe4615903565b6040516370a0823160e01b81523360048201525f906001600160a01b038e16906370a0823190602401602060405180830381865afa158015612028573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061204c9190615868565b9050811561208d575f612079895f8151811061206a5761206a6156e5565b6020026020010151858d613f6e565b90506120878185338e614389565b5061209a565b61209883338c613a49565b505b6040516370a0823160e01b815233600482015281906001600160a01b038f16906370a0823190602401602060405180830381865afa1580156120de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121029190615868565b61210c9190615893565b96505f87116121525760405162461bcd60e51b81526020600482015260126024820152711393c81513d2d15394c8149150d15255915160721b60448201526064016101c1565b5050505096509650969350505050565b5f6121aa612172836103e86158f0565b6108196103e86121a48c8c600281811061218e5761218e6156e5565b905060200201353461451990919063ffffffff16565b90613892565b90505f888860018181106121c0576121c06156e5565b90506020020135111561229657878760018181106121e0576121e06156e5565b90506020020135612225828888808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250613cb5915050565b612230600188615893565b81518110612240576122406156e5565b602002602001015110156122965760405162461bcd60e51b815260206004820152601f60248201527f4e6f7420656e6f75676820746f6b656e7320707265646963746564206f75740060448201526064016101c1565b5f86866122a4600182615893565b8181106122b3576122b36156e5565b90506020020160208101906122c89190615917565b6040516370a0823160e01b81523360048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa15801561230f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123339190615868565b90505f808b8b5f818110612349576123496156e5565b9050602002013511612378576040805160018082528183019092529060208083019080368337019050506123ce565b6123ce8b8b5f81811061238d5761238d6156e5565b905060200201358a8a808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508c9250613f6e915050565b90505f808c8c5f8181106123e4576123e46156e5565b90506020020135118015612411575084825f81518110612406576124066156e5565b602002602001015111155b61241b5784612436565b815f8151811061242d5761242d6156e5565b60200260200101515b90505f80516020615cbd8339815191526001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b15801561247e575f80fd5b505af1158015612490573d5f803e3d5ffd5b50505050505f80516020615cbd8339815191526001600160a01b031663a9059cbb6125098a8d8d5f8181106124c7576124c76156e5565b90506020020160208101906124dc9190615917565b8e8e60018181106124ef576124ef6156e5565b90506020020160208101906125049190615917565b6140bc565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015612553573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125779190615823565b61258357612583615903565b5f8c8c5f818110612596576125966156e5565b905060200201351180156125c3575084825f815181106125b8576125b86156e5565b602002602001015111155b1561260d57612608828b8b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152503392508d91506143899050565b61266b565b61264c8a8a808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152503392508c9150613a499050565b825f8151811061265e5761265e6156e5565b6020026020010181815250505b6040516370a0823160e01b81523360048201526126de9084906001600160a01b038716906370a08231906024015b602060405180830381865afa1580156126b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126d89190615868565b90614519565b92505f8c8c60018181106126f4576126f46156e5565b90506020020135111561273a578b8b6001818110612714576127146156e5565b9050602002013583101561273a5760405162461bcd60e51b81526004016101c190615730565b60048b1061277b578b8b6003818110612755576127556156e5565b9050602002013583111561277b5760405162461bcd60e51b81526004016101c19061575f565b612786818789613df9565b7f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c42081845f8f8f5f8181106127bc576127bc6156e5565b90506020020135116127e757845f815181106127da576127da6156e5565b6020026020010151612801565b8e8e5f8181106127f9576127f96156e5565b905060200201355b6040805193845260208401929092529082015260600160405180910390a1505050505050505050505050565b5f805f8060405180610100016040528087600181518110612850576128506156e5565b60200260200101516001600160a01b03168152602001875f81518110612878576128786156e5565b60200260200101516001600160a01b03168152602001336001600160a01b03168152602001306001600160a01b0316815260200186608001516001600160a01b031681526020018660c0015181526020015f81526020016001151581525090505f479050856020015115612a4c575f80516020615cbd8339815191526001600160a01b031687600181518110612910576129106156e5565b60200260200101516001600160a01b031603612963576129598661010001516103e861293c91906158f0565b6108196103e86121a48a604001513461451990919063ffffffff16565b60a0830152612c81565b6129c75f80516020615cbd83398151915288600181518110612987576129876156e5565b60200260200101516129c28961010001516103e86129a591906158f0565b6108196103e86121a48d604001513461451990919063ffffffff16565b614532565b866001815181106129da576129da6156e5565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612a28573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129599190615868565b865f81518110612a5e57612a5e6156e5565b60209081029190910101516001600160a01b03168252865187906001908110612a8957612a896156e5565b6020908102919091018101516001600160a01b0316908301523060408301523360608301525f60e083018190528751889190612ac757612ac76156e5565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612b15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b399190615868565b60c0830152855115801590612b8757505f80516020615cbd8339815191526001600160a01b031687600181518110612b7357612b736156e5565b60200260200101516001600160a01b031614155b15612c81576040805160028082526060820183525f9260208301908036833701905050905087600181518110612bbf57612bbf6156e5565b6020026020010151815f81518110612bd957612bd96156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505f80516020615cbd83398151915281600181518110612c1a57612c1a6156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505f612c5d885f015183737a250d5630b4cf539739df2c5dacb4c659f2488d613f6e565b9050805f81518110612c7157612c716156e5565b6020908102919091010151885250505b85515f9015612e14575f87606001516001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015612ccb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cef9190615948565b50505050509150505f612d018261460d565b90506001600160801b036001600160a01b03821611612d95575f612d2e6001600160a01b038316806158a6565b905085602001516001600160a01b0316865f01516001600160a01b031610612d7157612d6c600160c01b8760a001516001600160801b031683614928565b612d8d565b612d8d818760a001516001600160801b0316600160c01b614928565b935050612e11565b5f612dae6001600160a01b03831680600160401b614928565b905085602001516001600160a01b0316865f01516001600160a01b031610612df157612dec600160801b8760a001516001600160801b031683614928565b612e0d565b612e0d818760a001516001600160801b0316600160801b614928565b9350505b50505b86515f9015801590612e27575087518210155b1561308857602084015160408086015190516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015612e7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9e9190615868565b90505f8089606001516001600160a01b031663128acb08876040015188602001516001600160a01b0316895f01516001600160a01b031610612ee28e5f01516149d2565b612eeb906159e0565b8a602001516001600160a01b03168b5f01516001600160a01b031610612f2f57612f2a600173fffd8963efd1fc6a506488495d951d5263988d266159fa565b612f3f565b612f3f6401000276a36001615a21565b8b604051602001612f509190615a41565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401612f7f959493929190615afa565b60408051808303815f875af1158015612f9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fbe9190615b34565b9150915085602001516001600160a01b0316865f01516001600160a01b031610612ff15780612fec836159e0565b612ffb565b81612ffb826159e0565b60208801516040808a015190516370a0823160e01b81526001600160a01b039182166004820152929a5061303d935086929116906370a0823190602401612699565b92505f831161307e5760405162461bcd60e51b815260206004820152600d60248201526c1b9bc81d1bdad95b9cc81bdd5d609a1b60448201526064016101c1565b82975050506132b0565b602084015160408086015190516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa1580156130d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130fa9190615868565b606089015160408601516020870151875160a08901519495505f9485946001600160a01b039081169463128acb08949093908216911610908161315b57613156600173fffd8963efd1fc6a506488495d951d5263988d266159fa565b61316b565b61316b6401000276a36001615a21565b8b60405160200161317c9190615a41565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016131ab959493929190615afa565b60408051808303815f875af11580156131c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131ea9190615b34565b9150915085602001516001600160a01b0316865f01516001600160a01b03161061321d5780613218836159e0565b613227565b81613227826159e0565b60208801516040808a015190516370a0823160e01b81526001600160a01b039182166004820152929a50613269935086929116906370a0823190602401612699565b92505f83116132aa5760405162461bcd60e51b815260206004820152600d60248201526c1b9bc81d1bdad95b9cc81bdd5d609a1b60448201526064016101c1565b82975050505b876020015161352d5760208401516001600160a01b03165f80516020615cbd8339815191521461336c5760208401516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613322573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133469190615868565b9050801561336a5761336a85602001515f80516020615cbd83398151915283614532565b505b6040516370a0823160e01b81523060048201525f905f80516020615cbd833981519152906370a0823190602401602060405180830381865afa1580156133b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133d89190615868565b9050801561343a57604051632e1a7d4d60e01b8152600481018290525f80516020615cbd83398151915290632e1a7d4d906024015f604051808303815f87803b158015613423575f80fd5b505af1158015613435573d5f803e3d5ffd5b505050505b61344e818a61010001518b60e00151613df9565b8096506134e38a5f81518110613466576134666156e5565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156134b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134d89190615868565b60c087015190614519565b60408051828152602081018a90529081018890529098507f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c4209060600160405180910390a15061370a565b83516001600160a01b03165f80516020615cbd833981519152146135d85783516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613590573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135b49190615868565b905080156135d65784516135d6905f80516020615cbd83398151915283614532565b505b6040516370a0823160e01b81523060048201525f905f80516020615cbd833981519152906370a0823190602401602060405180830381865afa158015613620573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136449190615868565b905080156136a657604051632e1a7d4d60e01b8152600481018290525f80516020615cbd83398151915290632e1a7d4d906024015f604051808303815f87803b15801561368f575f80fd5b505af11580156136a1573d5f803e3d5ffd5b505050505b6136b04785615893565b60408051828152602081018a90529081018890529098507f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c4209060600160405180910390a1613708888a61010001518b60e00151613df9565b505b5f871161374a5760405162461bcd60e51b815260206004820152600e60248201526d1b9bc81b5bdb995e481cdc195b9d60921b60448201526064016101c1565b505050509250925092565b8047106138605773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc1196001600160a01b03851601613860575f80516020615cbd8339815191526001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b1580156137c7575f80fd5b505af11580156137d9573d5f803e3d5ffd5b505060405163a9059cbb60e01b81526001600160a01b0386166004820152602481018590525f80516020615cbd833981519152935063a9059cbb925060440190506020604051808303815f875af1158015613836573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061385a9190615823565b5061388c565b306001600160a01b038416036138805761387b848383614a3f565b61388c565b61388c84848484614b4e565b50505050565b5f8215806138b5575081836138a782826158a6565b92506138b390836158d1565b145b6138bd575f80fd5b92915050565b5f6138ce82846158d1565b9392505050565b60606002845110156138f95760405162461bcd60e51b81526004016101c190615b56565b83516001600160401b0381111561391257613912615211565b60405190808252806020026020018201604052801561393b578160200160208202803683370190505b50905084816001835161394e9190615893565b8151811061395e5761395e6156e5565b6020026020010181815250505f600185516139799190615893565b90505b8015613a40575f806139cb87613993600186615893565b815181106139a3576139a36156e5565b60200260200101518885815181106139bd576139bd6156e5565b602002602001015188614c79565b91509150613a038484815181106139e4576139e46156e5565b6020026020010151838389876001146139fd575f614d3e565b89614d3e565b84613a0f600186615893565b81518110613a1f57613a1f6156e5565b60200260200101818152505050508080613a3890615b7c565b91505061397c565b50949350505050565b5f805b60018551613a5a9190615893565b811015613c98575f80868381518110613a7557613a756156e5565b602002602001015187846001613a8b91906158f0565b81518110613a9b57613a9b6156e5565b6020026020010151915091505f613ab28383614e7f565b5090505f613ac18785856140bc565b90505f805f836001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613b02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b269190615ba7565b506001600160701b031691506001600160701b031691505f80866001600160a01b0316896001600160a01b031614613b5f578284613b62565b83835b6040516370a0823160e01b81526001600160a01b038981166004830152929450909250613b9d918491908c16906370a0823190602401612699565b9450613bab8583838f614eaf565b9a50505050505f80846001600160a01b0316876001600160a01b031614613bd357885f613bd6565b5f895b915091505f60028d51613be99190615893565b8910613bf5578b613c16565b613c168b888f613c068d60026158f0565b81518110611f5d57611f5d6156e5565b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0386169063022c0d9f90613c579086908690869060248101615bf3565b5f604051808303815f87803b158015613c6e575f80fd5b505af1158015613c80573d5f803e3d5ffd5b50506001909a019950613a4c98505050505050505050565b509392505050565b5f818310613cae57816138ce565b5090919050565b6060600283511015613cd95760405162461bcd60e51b81526004016101c190615b56565b82516001600160401b03811115613cf257613cf2615211565b604051908082528060200260200182016040528015613d1b578160200160208202803683370190505b50905083815f81518110613d3157613d316156e5565b6020026020010181815250505f5b60018451613d4d9190615893565b811015613c98575f80613d9f868481518110613d6b57613d6b6156e5565b602002602001015187856001613d8191906158f0565b81518110613d9157613d916156e5565b602002602001015187614c79565b91509150613dc8848481518110613db857613db86156e5565b6020026020010151838388614eaf565b84613dd48560016158f0565b81518110613de457613de46156e5565b60209081029190910101525050600101613d3f565b5f613e0a6103e86108198686613892565b90505f613e2c613e2583600154614fce90919063ffffffff16565b4790614519565b90508015613e5757600a811015613e4d57613e478282614fce565b50613e57565b613e573382613ea4565b600154613e649083614fce565b600155604080518381523360208201529081018490527f72015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499f90606001611aa7565b604080515f808252602082019092526001600160a01b038416908390604051613ecd9190615c29565b5f6040518083038185875af1925050503d805f8114613f07576040519150601f19603f3d011682016040523d82523d5f602084013e613f0c565b606091505b5050905080613f695760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b60648201526084016101c1565b505050565b6060600283511015613f925760405162461bcd60e51b81526004016101c190615b56565b82516001600160401b03811115613fab57613fab615211565b604051908082528060200260200182016040528015613fd4578160200160208202803683370190505b509050838160018351613fe79190615893565b81518110613ff757613ff76156e5565b6020026020010181815250505f600184516140129190615893565b90505b8015613c98575f806140568661402c600186615893565b8151811061403c5761403c6156e5565b6020026020010151878581518110613d9157613d916156e5565b9150915061407f84848151811061406f5761406f6156e5565b6020026020010151838388614fe7565b8461408b600186615893565b8151811061409b5761409b6156e5565b602002602001018181525050505080806140b490615b7c565b915050614015565b5f805f6140c98585614e7f565b909250905060605f6001600160a01b038816737a250d5630b4cf539739df2c5dacb4c659f2488d036141455750506040805180820190915260208082527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f90820152735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f614311565b6001600160a01b03881673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f036141b95750506040805180820190915260208082527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c63039082015273c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac614311565b6001600160a01b03881673eff92a263d31888d860bd50809a8d171709b7b1c0361422d5750506040805180820190915260208082527f57224589c67f3f30a6b0d7a1b54cf3153ab84563bc609ef41dfb34f8b2974d2d90820152731097053fd2ea711dad45caccc45eff7548fcb362614311565b6001600160a01b0388167303f7724180aa6b939894b5ca4314783b0b36b329036142a15750506040805180820190915260208082527f65d1a3b1e46c6e4f1be1ad5f99ef14dc488ae0549dc97db9b30afe2241ce1c7a9082015273115934131916c8b277dd010ee02de363c09d037c614311565b6001600160a01b038816730c17e776cd218252adfca8d4e761d3fe757e9778036143115750506040805180820190915260208082527f49d9acd3e20042617be7e378294c731749bc579b09dfd560cd3357445ce0b9e9908201527335113a300ca0d7621374890abfeac30e88f214b15b6040516bffffffffffffffffffffffff19606086811b8216602084015285901b1660348201528190604801604051602081830303815290604052805190602001208360405160200161436593929190615c44565b60408051601f19818403018152919052805160209091012098975050505050505050565b5f5b600184516143999190615893565b811015611ab0575f808583815181106143b4576143b46156e5565b6020026020010151868460016143ca91906158f0565b815181106143da576143da6156e5565b6020026020010151915091505f6143f18383614e7f565b5090505f886144018660016158f0565b81518110614411576144116156e5565b602002602001015190505f80836001600160a01b0316866001600160a01b03161461443d57825f614440565b5f835b915091505f60028b516144539190615893565b881061445f5789614470565b61447089878d613c068c60026158f0565b905061447d8988886140bc565b6001600160a01b031663022c0d9f8484845f6040519080825280601f01601f1916602001820160405280156144b9576020820181803683370190505b506040518563ffffffff1660e01b81526004016144d99493929190615bf3565b5f604051808303815f87803b1580156144f0575f80fd5b505af1158015614502573d5f803e3d5ffd5b50506001909901985061438b975050505050505050565b5f826145258382615893565b91508111156138bd575f80fd5b6040805160028082526060820183525f9260208301908036833701905050905083815f81518110614565576145656156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600181518110614599576145996156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250506145ee84306145e8737a250d5630b4cf539739df2c5dacb4c659f2488d855f81518110611f4257611f426156e5565b85613755565b611ab08130737a250d5630b4cf539739df2c5dacb4c659f2488d613a49565b5f805f8360020b12614622578260020b614629565b8260020b5f035b9050620d89e881111561464f576040516333a3bdff60e21b815260040160405180910390fd5b5f816001165f0361466457600160801b614676565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156146aa576ffff97272373d413259a46990580e213a0260801c5b60048216156146c9576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156146e8576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615614707576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615614726576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615614745576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615614764576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615614784576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156147a4576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156147c4576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156147e4576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615614804576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615614824576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615614844576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615614864576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615614885576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156148a5576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156148c4576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156148e1576b048a170391f7dc42444e8fa20260801c5b5f8460020b131561490057805f19816148fc576148fc6158bd565b0490505b640100000000810615614914576001614916565b5f5b60ff16602082901c0192505050919050565b5f80805f19858709858702925082811083820303915050805f0361495c575f8411614951575f80fd5b5082900490506138ce565b808411614967575f80fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f6001600160ff1b03821115614a3b5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016101c1565b5090565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f92839290871691614a9a9190615c29565b5f604051808303815f865af19150503d805f8114614ad3576040519150601f19603f3d011682016040523d82523d5f602084013e614ad8565b606091505b5091509150818015614b02575080511580614b02575080806020019051810190614b029190615823565b611ab05760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c45440060448201526064016101c1565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f92839290881691614bb19190615c29565b5f604051808303815f865af19150503d805f8114614bea576040519150601f19603f3d011682016040523d82523d5f602084013e614bef565b606091505b5091509150818015614c19575080511580614c19575080806020019051810190614c199190615823565b614c715760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b60648201526084016101c1565b505050505050565b5f805f614c868686614e7f565b5090505f80614c968689896140bc565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614cd1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614cf59190615ba7565b506001600160701b031691506001600160701b03169150826001600160a01b0316886001600160a01b031614614d2c578082614d2f565b81815b90999098509650505050505050565b5f808611614d8e5760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016101c1565b5f85118015614d9c57505f84115b614db85760405162461bcd60e51b81526004016101c190615c8c565b5f614dc96127106121a4888a613892565b90507310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b0385161480614e12575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038516145b15614e50575f614e31614e27856126f7615893565b6121a4888b614519565b9050614e486001614e4283856158d1565b90614fce565b925050614e75565b5f614e60614e27856126f2615893565b9050614e716001614e4283856158d1565b9250505b5095945050505050565b5f80826001600160a01b0316846001600160a01b031610614ea1578284614ea4565b83835b909590945092505050565b5f808511614eff5760405162461bcd60e51b815260206004820152601960248201527f494e53554646494349454e545f494e5055545f414d4f554e540000000000000060448201526064016101c1565b5f84118015614f0d57505f83115b614f295760405162461bcd60e51b81526004016101c190615c8c565b5f7310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b0384161480614f71575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038416145b15614f8957614f82866126f7613892565b9050614f98565b614f95866126f2613892565b90505b5f614fa38286613892565b90505f614fb683614e4289612710613892565b9050614fc281836158d1565b98975050505050505050565b5f82614fda83826158f0565b91508110156138bd575f80fd5b5f8085116150375760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016101c1565b5f8411801561504557505f83115b6150615760405162461bcd60e51b81526004016101c190615c8c565b5f6150726127106121a48789613892565b90507310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b03841614806150bb575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038416145b156150ea575f6150d16126f76121a4878a614519565b90506150e26001614e4283856158d1565b925050613a40565b5f6150fb6126f26121a4878a614519565b905061510c6001614e4283856158d1565b979650505050505050565b5f8083601f840112615127575f80fd5b5081356001600160401b0381111561513d575f80fd5b6020830191508360208260051b8501011115615157575f80fd5b9250929050565b6001600160a01b0381168114615172575f80fd5b50565b5f805f805f805f805f60e08a8c03121561518d575f80fd5b89356001600160401b03808211156151a3575f80fd5b6151af8d838e01615117565b909b50995060208c01359150808211156151c7575f80fd5b506151d48c828d01615117565b90985096505060408a01356151e88161515e565b989b979a5095989497966060860135965060808601359560a0810135955060c001359350915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561524d5761524d615211565b604052919050565b5f6001600160401b0382111561526d5761526d615211565b5060051b60200190565b5f82601f830112615286575f80fd5b8135602061529b61529683615255565b615225565b8083825260208201915060208460051b8701019350868411156152bc575f80fd5b602086015b848110156152e15780356152d48161515e565b83529183019183016152c1565b509695505050505050565b8015158114615172575f80fd5b5f805f805f805f805f805f6101608c8e031215615314575f80fd5b8b356001600160401b03811115615329575f80fd5b6153358e828f01615277565b9b505060208c0135995060408c0135985060608c0135975060808c0135965060a08c0135955060c08c0135615369816152ec565b8095505060e08c013593506101008c013592506101208c013591506101408c013590509295989b509295989b9093969950565b5f805f80606085870312156153af575f80fd5b843593506020850135925060408501356001600160401b03808211156153d3575f80fd5b818701915087601f8301126153e6575f80fd5b8135818111156153f4575f80fd5b886020828501011115615405575f80fd5b95989497505060200194505050565b5f805f805f8060c08789031215615429575f80fd5b8635955060208701359450604087013593506060870135925060808701356001600160401b038082111561545b575f80fd5b6154678a838b01615277565b935060a089013591508082111561547c575f80fd5b5061548989828a01615277565b9150509295509295509295565b5f805f805f805f805f806101408b8d0312156154b0575f80fd5b8a356001600160401b038111156154c5575f80fd5b6154d18d828e01615277565b9a505060208b0135985060408b0135975060608b0135965060808b0135955060a08b01356154fe816152ec565b999c989b5096999598949794965050505060c08301359260e08101359261010082013592506101209091013590565b5f82601f83011261553c575f80fd5b8135602061554c61529683615255565b8083825260208201915060208460051b87010193508684111561556d575f80fd5b602086015b848110156152e15780358352918301918301615572565b5f805f805f805f805f6101208a8c0312156155a2575f80fd5b89356155ad8161515e565b985060208a01356155bd8161515e565b975060408a01356155cd8161515e565b965060608a01356155dd8161515e565b955060808a0135945060a08a0135935060c08a01356155fb8161515e565b925060e08a01356001600160401b03811115615615575f80fd5b6156218c828d0161552d565b9250506101008a013590509295985092959850929598565b5f805f805f8060c0878903121561564e575f80fd5b86356156598161515e565b955060208701356156698161515e565b945060408701356156798161515e565b935060608701356156898161515e565b92506080870135915060a08701356001600160401b038111156156aa575f80fd5b61548989828a0161552d565b60208082526015908201527410da185a5b8814994b5bdc99c819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b6020808252601c908201527f4e6f7420656e6f7567682045544820666f72206d696e65722074697000000000604082015260600190565b602080825260159082015274139bdd08195b9bdd59da081d1bdad95b9cc81bdd5d605a1b604082015260600190565b602080825260139082015272151bdbc81b585b9e481d1bdad95b9cc81bdd5d606a1b604082015260600190565b5f805f805f8060c087890312156157a1575f80fd5b86356157ac8161515e565b955060208701356157bc8161515e565b945060408701356157cc8161515e565b935060608701356157dc8161515e565b925060808701356157ec8161515e565b8092505060a087013590509295509295509295565b5f60208284031215615811575f80fd5b815162ffffff811681146138ce575f80fd5b5f60208284031215615833575f80fd5b81516138ce816152ec565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b5f60208284031215615878575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156138bd576138bd61587f565b80820281158282048414176138bd576138bd61587f565b634e487b7160e01b5f52601260045260245ffd5b5f826158eb57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156138bd576138bd61587f565b634e487b7160e01b5f52600160045260245ffd5b5f60208284031215615927575f80fd5b81356138ce8161515e565b805161ffff81168114615943575f80fd5b919050565b5f805f805f805f60e0888a03121561595e575f80fd5b87516159698161515e565b8097505060208801518060020b8114615980575f80fd5b955061598e60408901615932565b945061599c60608901615932565b93506159aa60808901615932565b925060a088015160ff811681146159bf575f80fd5b60c08901519092506159d0816152ec565b8091505092959891949750929550565b5f600160ff1b82016159f4576159f461587f565b505f0390565b6001600160a01b03828116828216039080821115615a1a57615a1a61587f565b5092915050565b6001600160a01b03818116838216019080821115615a1a57615a1a61587f565b5f6101008201905060018060a01b038084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401525060a083015160a083015260c083015160c083015260e0830151151560e083015292915050565b5f5b83811015615ac7578181015183820152602001615aaf565b50505f910152565b5f8151808452615ae6816020860160208601615aad565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f9061510c90830184615acf565b5f8060408385031215615b45575f80fd5b505080516020909101519092909150565b6020808252600c908201526b0929cac82989288bea082a8960a31b604082015260600190565b5f81615b8a57615b8a61587f565b505f190190565b80516001600160701b0381168114615943575f80fd5b5f805f60608486031215615bb9575f80fd5b615bc284615b91565b9250615bd060208501615b91565b9150604084015163ffffffff81168114615be8575f80fd5b809150509250925092565b84815283602082015260018060a01b0383166040820152608060608201525f615c1f6080830184615acf565b9695505050505050565b5f8251615c3a818460208701615aad565b9190910192915050565b60ff60f81b81526bffffffffffffffffffffffff198460601b1660018201528260158201525f8251615c7d816035850160208701615aad565b91909101603501949350505050565b602080825260169082015275494e53554646494349454e545f4c495155494449545960501b60408201526060019056fe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2a2646970667358221220c6783dc5041dc9de5a027f115bf941355b3aed3cd9484407120fed16940bbac164736f6c634300081700330605581e0324560673efb3254251f4d772e99860965008950297021745bee06d64c00701195d12034c4140641ab0454dca1d14a0329daa2150e757a952c2cfb91b5da2e875008b2b030db2533d4b6953862484b6e067fd19ebd1a49d09d7cec4db90d05cea6d0269d505581e035e1f7d436394462bc9c5a435362d473b41d89ff6c79fa9243c70c2017004010219b7f203c24fca9cbcbe92822f64dc07bb8ee8e24440288fc405b0142041762dd3cbe9600395af64eb280550d53495f5fc1e99ac839301a3506b62d0695f304bee2046148b0341ed01bcd17a1e5d83fbf836d9ea3feced5d4cb21573e5f6ff765ee82a64765b038cabc86069a7465cfeca201b75dff2fd04375013a9687f6014802007c2a41ad903016d987acd304129c116956b0f6dfc41a7b7390e0dbc65c8afcca4566154c898034ed1cf3bf2468112d1e19393f768bf533677c6970168dacf6e3b672c8dd0fced03a2f7215e2216980440ef71f97c9aedfb7fb1f3bcb4c2e631f761099905575ca003f6607912c1b15b1e51759920c388f75cf10eda20e5a2c815c7ddbe23a09401dd03db2c6aace07df19a65d3b8702e16b420b1c4f2cf6a4083048e29ff5becf17ae003db6b5a32b77b113cea3595a9adb45a14b7598434538e8ae26c659f2f698921e203c784a95a4d04a79c4ab580c7490a6393d540894a9a7495dbac66b9850c768d3203a1c9e4bb92bba790bf47f8dcd7e26db904dea35cac4bde23464e274595395a2e039a3d3953c363a99d4dc99e9811c4671eeade13dd9f4f4a47aac7ad6fee2c4a9503daa32e6c068c8e88d6d174347bcf2105a43b8d9df7820dfca0178c619cc9651b0219ffff039ad58e9e3f875dcca0c6a5d68e3554706e8364f5a168d416edb7a424ae88030603c043a646aebd18c306aa3c86b12fcacb72e85c2d2d51b0d6dd53086f779a3aaa03176345c3850a1ce47ed91bd6d3b28afbaa7b23db6c5619fe38084a65fe38ea77034948e42746dc08debbe5de09966670f5f8cbb00d69493353fea4a4eea0bd5ffb035f096f9efeffd19bc7b5512dd1437faf94a586fe122a4e2c81166ca27fe90478036f330999c233b8645218a35077e15c18d8243a6447a5d0dda037bf560fa58d1003084802c221ff8b972498f3628fa44f09f505230b638e1a5a45beea7b29f55a5003c68ae1f958fc980f07031dc6382bd26145dfde6808b97446b58afd826bb16f3403cb59471fb22ac7190e2c2b3297d3b8801bf128b0c1280e75e554817666d5c9ea0219ffff03f651fd8c8ba8e5422ddafe223aa5752588274679c7335895f92cef3639c0cf9903af4b7258254795ae55a3d62a077480ca27cd3fcdc97a936db514b213872df10e03bcb39573d6974a5dcccd9d0e125407d175ed1a71d255cc1beeb7732279af7569038530e0af4a49311494110af1ca9a5c4d5eaacaf35927df46e4cd6a6d9b9fdcd4033c9d74d62d2fff5acb61f8cd58c8af1699280e0b1b83bf2993725e3c3527d4da0219ffff03217236171f5a7c8a6a3752a36602b71b0e0d5feb7cd4af3940dd3bce6869ae7403edee048572f371c83a1365a4ea32248c5a3f6756e1723969cda17ea896755f3b038edf4b941c1373a779ba58793ce60ff4dd05872c691bb3104f28d6267755b70e035e427553d0e911d58e206b842551b8019251a4b48eaf6f8363d045bc61faf49303af084b60504bc3132952f095ca4dee0f5a6a58f127b531970259329bbf138db203f2bae35bb80cc52c35ea182269f6b16d7629a39c951468db3df19fb2221a37b803ee44ec0d75c4e5dcd46ffdc4998f0946158a4ae1d2dc8e965c4c37b04823081103d4ffc6732842c32c67c7f8202e783f20cca692cf471ddc884255c92ef8ad464f03fd501082ba2074a1d4f9d8dde3855d3021e31b5c656c3e389288c6470095e47903c6719be175ca6470a55ee650f5dabf46daefb45cf9c1b71e2e6f2f0c078b454003457668a4713d23a93727ef4f895a0d870a4a4cc2da42af771bcd671cb38a1658032730c9faefb5f640c5e6fe0fa56f4bb6cdf05b6a6c3fc607ddb176ae9904225005581e0340273844e0bc91a5a7b547522491b138786a9f1efcacddc89a7d6b14f00c024701f76ebf05c40003ced4417a36ae4ffaa8c68de7704b040b60dbbbac60fa30f44833cef1d809c5e605581e033b553cf460e225f14daf5ddb4d714cc59cbb4b5fa2bcfed58d741bd840041105581e0333580517e506410d59b5e247916cbf0f6bd80fd5e1936094ede4fab030040105581e0300bb9cb7d6f1104d731b93da4bd6bb9668a7c71545298a04da1ba7ff200c034731e40f7b1d920005581e030f4b77ffcd66fff429d1e37b04e8e6f3e44f2a5bbfd5397504757ed0e008470ddb07829fc0000392bfc67f9fabe5a89cd2d1535b4bfcd203e3da03b65f0b3c74e56792750e9b3605581e03a3fb3b6bc9f2c4f5475cf0ff424872b95ce5810c27e0cb9b5bacd4d5c00c05470e1199594f800004593feb6080604052600436106101485760003560e01c80638803dbee116100c0578063d06ca61f11610074578063e8e3370011610059578063e8e3370014610937578063f305d719146109c4578063fb3bdb4114610a175761018e565b8063d06ca61f14610800578063ded9382a146108b75761018e565b8063ad615dec116100a5578063ad615dec1461074b578063baa2abde14610781578063c45a0155146107eb5761018e565b80638803dbee14610668578063ad5c46481461070d5761018e565b80632195995c116101175780634a25d94a116100fc5780634a25d94a146105305780637ff36ab5146105d557806385f8c2591461020c5761018e565b80632195995c1461040057806338ed17391461048b5761018e565b806302751cec14610193578063054d50d41461020c57806318cbafe5146102545780631f00ca74146103495761018e565b3661018e573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2161461018c57fe5b005b600080fd5b34801561019f57600080fd5b506101f3600480360360c08110156101b657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a00135610aaa565b6040805192835260208301919091528051918290030190f35b34801561021857600080fd5b506102426004803603606081101561022f57600080fd5b5080359060208101359060400135610bfd565b60408051918252519081900360200190f35b34801561026057600080fd5b506102f9600480360360a081101561027757600080fd5b81359160208101359181019060608101604082013564010000000081111561029e57600080fd5b8201836020820111156102b057600080fd5b803590602001918460208302840111640100000000831117156102d257600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610c12565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561033557818101518382015260200161031d565b505050509050019250505060405180910390f35b34801561035557600080fd5b506102f96004803603604081101561036c57600080fd5b8135919081019060408101602082013564010000000081111561038e57600080fd5b8201836020820111156103a057600080fd5b803590602001918460208302840111640100000000831117156103c257600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061102a945050505050565b34801561040c57600080fd5b506101f3600480360361016081101561042457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff6101008201351690610120810135906101400135611060565b34801561049757600080fd5b506102f9600480360360a08110156104ae57600080fd5b8135916020810135918101906060810160408201356401000000008111156104d557600080fd5b8201836020820111156104e757600080fd5b8035906020019184602083028401116401000000008311171561050957600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561119e565b34801561053c57600080fd5b506102f9600480360360a081101561055357600080fd5b81359160208101359181019060608101604082013564010000000081111561057a57600080fd5b82018360208201111561058c57600080fd5b803590602001918460208302840111640100000000831117156105ae57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561132f565b6102f9600480360360808110156105eb57600080fd5b8135919081019060408101602082013564010000000081111561060d57600080fd5b82018360208201111561061f57600080fd5b8035906020019184602083028401116401000000008311171561064157600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611572565b34801561067457600080fd5b506102f9600480360360a081101561068b57600080fd5b8135916020810135918101906060810160408201356401000000008111156106b257600080fd5b8201836020820111156106c457600080fd5b803590602001918460208302840111640100000000831117156106e657600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356119bc565b34801561071957600080fd5b50610722611afb565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561075757600080fd5b506102426004803603606081101561076e57600080fd5b5080359060208101359060400135611b1f565b34801561078d57600080fd5b506101f3600480360360e08110156107a457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135611b2c565b3480156107f757600080fd5b50610722611e36565b34801561080c57600080fd5b506102f96004803603604081101561082357600080fd5b8135919081019060408101602082013564010000000081111561084557600080fd5b82018360208201111561085757600080fd5b8035906020019184602083028401116401000000008311171561087957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611e5a945050505050565b3480156108c357600080fd5b506101f360048036036101408110156108db57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e08201351690610100810135906101200135611e87565b34801561094357600080fd5b506109a6600480360361010081101561095b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e00135611fdf565b60408051938452602084019290925282820152519081900360600190f35b6109a6600480360360c08110156109da57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a0013561216e565b6102f960048036036080811015610a2d57600080fd5b81359190810190604081016020820135640100000000811115610a4f57600080fd5b820183602082011115610a6157600080fd5b80359060200191846020830284011164010000000083111715610a8357600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff813516906020013561249a565b6000808242811015610b1d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b610b4c897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28a8a8a308a611b2c565b9093509150610b5c8986856128e9565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b50505050610bf18583612ac6565b50965096945050505050565b6000610c0a848484612c03565b949350505050565b60608142811015610c8457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110610ce957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d8857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b610de67f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612d2792505050565b91508682600184510381518110610df957fe5b60200260200101511015610e58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613f3c602b913960400191505060405180910390fd5b610f1d86866000818110610e6857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1633610f037f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8a8a6000818110610eb757fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168b8b6001818110610ee157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16612e8d565b85600081518110610f1057fe5b6020026020010151612f78565b610f5c82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250613148915050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d83600185510381518110610fa857fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610fe657600080fd5b505af1158015610ffa573d6000803e3d6000fd5b5050505061101f848360018551038151811061101257fe5b6020026020010151612ac6565b509695505050505050565b60606110577f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f84846133cf565b90505b92915050565b60008060006110907f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8f8f612e8d565b905060008761109f578c6110c1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561115d57600080fd5b505af1158015611171573d6000803e3d6000fd5b505050506111848f8f8f8f8f8f8f611b2c565b809450819550505050509b509b9950505050505050505050565b6060814281101561121057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61126e7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612d2792505050565b9150868260018451038151811061128157fe5b602002602001015110156112e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613f3c602b913960400191505060405180910390fd5b6112f086866000818110610e6857fe5b61101f82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250613148915050565b606081428110156113a157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061140657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146114a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6115037f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506133cf92505050565b9150868260008151811061151357fe5b60200260200101511115610e58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180613ecc6027913960400191505060405180910390fd5b606081428110156115e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168686600081811061162857fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116c757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6117257f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f34888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612d2792505050565b9150868260018451038151811061173857fe5b60200260200101511015611797576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613f3c602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0836000815181106117e057fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561181357600080fd5b505af1158015611827573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6118c37f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8989600081811061189957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168a8a6001818110610ee157fe5b846000815181106118d057fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561194157600080fd5b505af1158015611955573d6000803e3d6000fd5b505050506040513d602081101561196b57600080fd5b505161197357fe5b6119b282878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250613148915050565b5095945050505050565b60608142811015611a2e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b611a8c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f898888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506133cf92505050565b91508682600081518110611a9c57fe5b602002602001015111156112e0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180613ecc6027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000610c0a84848461355d565b6000808242811015611b9f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6000611bcc7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c8c612e8d565b604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b158015611c4d57600080fd5b505af1158015611c61573d6000803e3d6000fd5b505050506040513d6020811015611c7757600080fd5b5050604080517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b158015611cea57600080fd5b505af1158015611cfe573d6000803e3d6000fd5b505050506040513d6040811015611d1457600080fd5b50805160209091015190925090506000611d2e8e8e61363d565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614611d6b578183611d6e565b82825b90975095508a871015611dcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613ef36026913960400191505060405180910390fd5b89861015611e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613e596026913960400191505060405180910390fd5b505050505097509795505050505050565b7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b60606110577f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484612d27565b6000806000611ed77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2612e8d565b9050600087611ee6578c611f08565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b158015611fa457600080fd5b505af1158015611fb8573d6000803e3d6000fd5b50505050611fca8e8e8e8e8e8e610aaa565b909f909e509c50505050505050505050505050565b6000806000834281101561205457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6120628c8c8c8c8c8c613790565b909450925060006120947f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e8e612e8d565b90506120a28d338388612f78565b6120ae8c338387612f78565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561212d57600080fd5b505af1158015612141573d6000803e3d6000fd5b505050506040513d602081101561215757600080fd5b5051949d939c50939a509198505050505050505050565b600080600083428110156121e357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6122118a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b348c8c613790565b909450925060006122637f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2612e8d565b90506122718b338388612f78565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b1580156122d957600080fd5b505af11580156122ed573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561239957600080fd5b505af11580156123ad573d6000803e3d6000fd5b505050506040513d60208110156123c357600080fd5b50516123cb57fe5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561244a57600080fd5b505af115801561245e573d6000803e3d6000fd5b505050506040513d602081101561247457600080fd5b505192503484101561248c5761248c33853403612ac6565b505096509650969350505050565b6060814281101561250c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168686600081811061255057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125ef57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b61264d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f888888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506133cf92505050565b9150348260008151811061265d57fe5b602002602001015111156126bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180613ecc6027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061270557fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561273857600080fd5b505af115801561274c573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6127be7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8989600081811061189957fe5b846000815181106127cb57fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561283c57600080fd5b505af1158015612850573d6000803e3d6000fd5b505050506040513d602081101561286657600080fd5b505161286e57fe5b6128ad82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250613148915050565b816000815181106128ba57fe5b60200260200101513411156119b2576119b233836000815181106128da57fe5b60200260200101513403612ac6565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b602083106129bf57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612982565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612a21576040519150601f19603f3d011682016040523d82523d6000602084013e612a26565b606091505b5091509150818015612a54575080511580612a545750808060200190516020811015612a5157600080fd5b50515b612abf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310612b3d57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612b00565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114612b9f576040519150601f19603f3d011682016040523d82523d6000602084013e612ba4565b606091505b5050905080612bfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180613f196023913960400191505060405180910390fd5b505050565b6000808411612c5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180613f8b602b913960400191505060405180910390fd5b600083118015612c6d5750600082115b612cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180613e7f6028913960400191505060405180910390fd5b6000612cd6856103e563ffffffff613a9116565b90506000612cea828563ffffffff613a9116565b90506000612d1083612d04886103e863ffffffff613a9116565b9063ffffffff613b1716565b9050808281612d1b57fe5b04979650505050505050565b6060600282511015612d9a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff81118015612db257600080fd5b50604051908082528060200260200182016040528015612ddc578160200160208202803683370190505b5090508281600081518110612ded57fe5b60200260200101818152505060005b6001835103811015612e8557600080612e3f87868581518110612e1b57fe5b6020026020010151878660010181518110612e3257fe5b6020026020010151613b89565b91509150612e61848481518110612e5257fe5b60200260200101518383612c03565b848460010181518110612e7057fe5b60209081029190910101525050600101612dfc565b509392505050565b6000806000612e9c858561363d565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061305657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613019565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146130b8576040519150601f19603f3d011682016040523d82523d6000602084013e6130bd565b606091505b50915091508180156130eb5750805115806130eb57508080602001905160208110156130e857600080fd5b50515b613140576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180613f676024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156133c95760008084838151811061316657fe5b602002602001015185846001018151811061317d57fe5b6020026020010151915091506000613195838361363d565b50905060008785600101815181106131a957fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16146131f1578260006131f5565b6000835b91509150600060028a5103881061320c578861324d565b61324d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f878c8b6002018151811061324057fe5b6020026020010151612e8d565b905061327a7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8888612e8d565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156132c4576020820181803683370190505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561334f578181015183820152602001613337565b50505050905090810190601f16801561337c5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561339e57600080fd5b505af11580156133b2573d6000803e3d6000fd5b50506001909901985061314b975050505050505050565b50505050565b606060028251101561344257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561345a57600080fd5b50604051908082528060200260200182016040528015613484578160200160208202803683370190505b509050828160018351038151811061349857fe5b602090810291909101015281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b8015612e85576000806134f8878660018603815181106134e457fe5b6020026020010151878681518110612e3257fe5b9150915061351a84848151811061350b57fe5b60200260200101518383613c71565b84600185038151811061352957fe5b602090810291909101015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff016134c8565b60008084116135b7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613ea76025913960400191505060405180910390fd5b6000831180156135c75750600082115b61361c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180613e7f6028913960400191505060405180910390fd5b8261362d858463ffffffff613a9116565b8161363457fe5b04949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156136c5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180613e346025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16106136ff578284613702565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff821661378957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b604080517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015287811660248301529151600092839283927f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163e6a4390591604480820192602092909190829003018186803b15801561383057600080fd5b505afa158015613844573d6000803e3d6000fd5b505050506040513d602081101561385a57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16141561394057604080517fc9c6539600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152898116602483015291517f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163c9c65396916044808201926020929091908290030181600087803b15801561391357600080fd5b505af1158015613927573d6000803e3d6000fd5b505050506040513d602081101561393d57600080fd5b50505b60008061396e7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8b8b613b89565b91509150816000148015613980575080155b1561399057879350869250613a84565b600061399d89848461355d565b9050878111613a0a57858110156139ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613e596026913960400191505060405180910390fd5b889450925082613a82565b6000613a1789848661355d565b905089811115613a2357fe5b87811015613a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180613ef36026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b6000811580613aac57505080820282828281613aa957fe5b04145b61105a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b8082018281101561105a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b6000806000613b98858561363d565b509050600080613ba9888888612e8d565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015613bee57600080fd5b505afa158015613c02573d6000803e3d6000fd5b505050506040513d6060811015613c1857600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff87811690841614613c5f578082613c62565b81815b90999098509650505050505050565b6000808411613ccb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180613e08602c913960400191505060405180910390fd5b600083118015613cdb5750600082115b613d30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180613e7f6028913960400191505060405180910390fd5b6000613d546103e8613d48868863ffffffff613a9116565b9063ffffffff613a9116565b90506000613d6e6103e5613d48868963ffffffff613d9516565b9050613d8b6001828481613d7e57fe5b049063ffffffff613b1716565b9695505050505050565b8082038281111561105a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fdfe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a2646970667358221220b430cc168eec157f24fadd56d0b90b2652ce5b0abb39cf9d64713138a400fb8c64736f6c634300060600330605581e0313c9d1e4e6aa280aebe006a646020f36f863f0d1ad348e700d4d8f0b800701193feb05581e03a4c3e9c3fa88ca006930acf99de1bdbd19ba3bea6ed03eed3a246d1b600c0244ec19b620034657db4576f4832d46ef516ec72923de1716e7e47381dea03c4319c43340e6720219e79e03e3cde35ac87f147c6cb599d767da7725a4dfabf236d4e83e63ba7be9f429e59e034dba28ebc30bb404285226aa5a8c355265cf0613db31c8067543d4a298bf740703f72becddc1f6eddd7ff24c7e0c3e313b292595f89cacd61a1d24b58b1059c80c0384090d628105a3ff95643dcd5a0534caab7a089fa1e1d0fb21ce6dcfc9b71e3d0311e14ab006bb7415fe9039c49eee8b57f2cdf35bb115b27a30a7dafe4b99774f035a4ea6afe36fe9c499a46630a78b9ff41fe5bfe19724adeb8bbaaf40b10f5f7a034f9e3c35e543f2925e19583808e3adfab76bb25d7b3ee54c57a13a4a505f335a0219ffff0387a41da89ececd2a539876cc5d165a3e6470d3e3c6373240b917d33221a66d420322d87eaac085adf06bfcc085f98c78451734f4963882f1fcf33cea3be0ffe60d03fab34b14c7794d2c67ee4352f5669c66c3b11565fbd3ff1a91a6cda9273b887c035a689faf0ef3c1fee0da746e21b793a2c7094e00e4aca28fb0b0fae97229420b03face671656efa3aa9e496e30d994d35dfd5b280580723419bd3b29706d4e35af03b49ccfa2d4af0ebc183da8891e69d4405dea82337130031424a245f2c85d54b10347e6534c6b648bf0d13da9dd58e801a438205d89c86358eb28dbfdc9e9b571cc03d001757db135a520d07b7e95f1b837d6c7ff9f944e6b4ca51e4b790dd711452403dd6d0ecdb8c0152c2e04cdcd485093d81fd82e76255413fa069fecaf650b62b003693e44111cfe4c52769b8c522d1deebb7c334577408843efb62d414368a2c0d003b8d2b30793d990a016a93078dd15b1510b8108a6a39ced155e6ac1d8e035d11b039627ed6894bf8c2517e4b277e00ecf9732ad3720e44fcd9337668829d6b1eaa803dc3e8ba8bfdbc129a1cb709f7f6fb09cc1b472bbbed69e280f1848c87b36d60d03146f524ba339c8305935fd24265e8e02085b9bc5530c48b46148b0c4daa7bbb203d77e2685ca782e31ed52a5155eb5910162aae013eee44911241890ac3ea36a7b0219ffff03af2d4bbd27cde1857984ceaf84558a835d5e33108f247fa53e6e6dca85a13c3c0338d37c248a4e72207df517cfc08db9a13aea436e5491cb97dca5a3c9cf7d373a0389421346e95e1c3a65b16c83d0c2f435e7ddb8da53579180bc8a74fa9a247357036eaeecd63d021859ff1b232b8cdf53edefebb1be4474c6a7362fa0ee3397fd8103046d09a84542743f10fd25812bb355279c715135540dcb10c5c991d71edb7fee03fcee11c4d5fa8635378096d373b24c24dac542a4acd7b6cf56555b58982f25480301ccaf39f0086daf65f210591a8b1e0da566ff5ee6899a5b6ea2ea9923073bc703465c72888cb96cf5fd08cd6603ce179ea5bc0abe0b0a73ba4fe907d83bab48c50304ae07f3eae286890d46d0d9cd94223597f3cbda8cd3ddb86a6725e09b8750e6033bc7b1c188a3cba6eb699421c69d9c9fa1114eec790d6920bc20ea6be636810403fa24d928c2b0ed89d1e5bcd005d2dd666d3608824d45c5c9f4d9002b62512fe4038dc717eec0c376fe760d0bfa1732c6c309d3e577c329af87ee137118091ac513037969b5d2e455e45ec1187e40d96ae203250cffd3dacb2b1a4c528200addd73220219ffff0359dd13cf9ab26a8b56be7db65865f3c85e6c695c0cb470c93e11e708828bef2903497d3642896ebb9606aca34c7ed10e3d0c079199b29c768aaff84a87a6c225e40334e8b25dc9d50e4fbee2d331c0180408f0a02b653d611afbf59331e0c56d020b03b6b3d2d2c98fdf8dc625375552374aee92d6463c376d4cccde21ee9a8c16c99a0219ffff034b6f12d28025e7a5cb1a97ced5c840ac195382d68a963c60c8e138f2be08028603351519114135b09fd2acdb5dc50a36e436a9b016de27e2c1583eb425839d1c5503c0c29b5b2dac37db9d6d1a328f578a24a6366db44df0c1badd5396a8474a207503bfecb45cc189925ea89b67470ba224dcb243309843556068211b19652912a2ca03222dced3124ef3cdaaccdefe9954e061ab1aae0efc925fee18aa38f36c645ef003ecfee1d7b15b0b58953dc96e94e168ce6ac3f614c35f4bff3a321dfb70be399503bea7c910115cf4d5b3c8ec715ac0315b56815c62be3dc60dcf53c988bb1fcb1503445cdb0fc9cede6c82c566bcf4b9421b8ab6bab2d8188dd13fdf2847667c8f8b03ffe20f2e15207a1fc576985ab9514744266a0b923fa410e794ecf3a1308bd3ea03f4df11ae5bc2083b4a678576ad1a547b8ab677d38fafd8b472122179c1ccd8570386723d62e3fd8d3a84c78eb25e9d50898437609e382cec1cafaab52fd5f1db6b0348bad835964f140dae19359f1ccd1679cd0ee7dcad8330baf34780931892ca2e032f4c484dd5af34efdd643d884882ee14b66d8e207198f1d49db4e0de0d6ac5a80323a09448d9eb3280d97895fe270b4f9b0c4a104185d5e672738fa447333904a103989afac3ae03854dbe03911ad2ed4407755828c96786eaedf0fe05e25de58db80373f5f871e9992d00dc6a003e97baf804f4e7515df984663e33c9746f66475a0603064743a181897aa9b04f99fcb08ce2eae1727bb33b22e870b2f97f136594bbae033ec549c699ba70b130b09e18736b03c260ad6ac0efc2e44eb3bdb72dcdd035c2034615d926d8cce265f07b826cc3f4147d7b21293eeee2de291f6eef737ee001b10333f7f78a0f35f9277950e092080032d5b1359641b09755173e788aaa0d6a9d9b03e496baf6a905696d2ade30f2ef78a9b8f440c85372b949d8f3da162f6ba1b4e603613b827cde7f3dac87f893645fb50d24562598ba9963ddf1ead51e7dcb7bd124037ce5a668dc71bbf383e8aac6c21d375370d9c303aa34d51217039ec4df207d4503daa6aa2dc501873bd811f2f0069325b2158fd3536ba4020467922751275c649f03d1b6c021654eb28cd2159cbdffcd442221596a7ab8e862aadf2fc365d5ede2a703d5ec8cd6bc369c43e477a0cd1b221014eabebea5dae4eee03a73b3233732c1b503339e0bdb5c1085a04425abcdcb592926d026d5093b8d9d5ad249d7a0f0ce0d5b03082f14a1f849ffcee012fdcb71d4fb7578f1c5a5d728e63b6702984d513d483103c23e821f73a1fa2a0ddcf0e34f304c95c86bb4cce51a72c13f215426e41d4826037ee9060d206813ba54531c54f53d21a16534d58cce853749dd16c1befd2007970316119972df60e2fce3729dc7c415b168925837869dfd7a3a9a36f309ef2c36f4031457d81ea1b7295cd6a02229750b04b16d413dc56a46e68767cdc4732d509ba403b25174a24e82b482494377da99e500153bedc330220ddf6bd3cdc70c00fc380c034562fc0200ab9f7c5316c3de5ce75bab83f5583696512c8a4c2749aafaa5639005581e03cde36eeb2f5a087d89cc7ed035381c3f485a71ae5219a25b56d852db400c01410605581e036afa8b951c64a8f4687aa6162bc0f13b5636b1ff2f7c99e1acfbdbf240040105581e0312298de94abd48b137c9fa8f9cbfae1314056d8c9cf81172c4c186158004182503b47ce35439fa66740579e06e0cd67e0ec10f75aa44bcf2a480329943c7058ed805581d02c9b79986d0fbb33feeca04fe06b028a493851c339203aaf7dd3ae74c040405581d02d968282993e0467cd6edd201a4b7ef3ff4cfc08517c9cf180994e8b70c18fd4811f8afdb7356a91d0219040805581e03f69ea855f25e1b1e5425c9523a87964af6fa3e5427f6e2c3759e3458c004010344e024d5daaa5dc39380308ee5917f68fcf6c6d818efae30a371c54123a8dd4605581e0307af5c6eca45a33458554eb45c62171ad0afbab1a1dc7897360cd143b00c181b4792ec489dcecbb805581e031e519436332c2980d42e8f11e8d88974059334c9444a50f6f7a5c511f00c1819479234a32d73597d0219707b03a1033be28b776b7c5d901971d036ac7f994af17a4fab572debd535947f58cfe603aaa720117873efeee80d7524bc484681942bca00fe002a6de148bfa5d659719c03ee1370fb75a4507cd239ddcbf55b0a9c2bd3169f8dcebf009c8f9880bdfda832034f3ddcbccd4b6ad0a0e65fd2bd6e58036faa0bd59e22737cf3e09d9a2d67013e036281916caed5551db1309c5db0fc667927bb584b879d143dc505587b34347dfb034a916d0271739f647e30641b3ca0495819fcf04fa376b289072a53dfb45bfc520310464315a1731dbb1e80db9550529261cde26edf7b65320413932ba708b005cf032982f92e680127f73887b5ea177bc066e95ed6efb0f929dd0abf9aaf468cd99f03fff49b9cf27232ddf98b7e3bee72eadc7b9946bf302a923da6596a4728bab1b503b4a5c8fe61605b1848aaf82fc754ef76d290292a81922420f7506cc28a7508a20219ffff034cf5a1f9aa1fb05a9a2a59e0a10b748ef8069cf91b11f6c6a3bd9b914796e294033806b523ea29e3e251535310ee260d4f5c95ea1e559e8e19274b45081dca83f903489afb9d7353056c90551fde4836d1d3a73f5477606cb5bf19993b47dd37c0ec0304ef549d6dc58642c2b10dc98d76d7f7b5fe51d48367a28e22cb34d0daae07140307a81ed13c72e30bd32a4438ebaec366909c9af5004f35848104330e9b67e33b0219ffff0219ffff03568fb98700eadb6b3499714c0e151c0f4faaae158fde03d354e1b3560c7bdc22036ab3dc1b05a5a1fae398f2e677c84bad57453686d58830daa7c22a44e1ab89ef03f3de1b3baf15a1ec731b21a90040647e10d7bc2253b79ce463b0c1ee68df5884031e3737f7cd4bc997a79296239cd7df03e201d4b9a5e0072683b014e2a4b228ed03f15a6fb3e78334ad5b6378b4d2b74c1377a3380ab4bce0fb77a0ec2a268c70c103d9666b9b297c8f37895df7d0f1d0a63de48dc93277876bb9a5bf2aea54b5513c03458bdb73b8b58b70071587bbe4e8bd2b0e5be6c3fc0b713382c9020bccb70ed60380d41018d8fce8f152e4af86ee995229b0456d8179a96245f6844868c49dcb21037af5392ef496109ad0777115fd4f46868940d69fbd43e5bd5f1e2bf3e84fce2003d613348fc876e7051cfc899a6dde2254203d5ee22be822c15185aded2272e34a03cba3c77e25520e7af48286ce1b528f26d7a8d8fa773b97f66e27b58f5d6dd27803b03c5df55eb8d18aba34c87c2862792546e5cf21077a9ca63e8fca421d2e86540309114b43ab5006aed83e4a950f0d261b561cbc0080046cbee9d21d122145cc050377cc8fa0acb4e01667174d6bcc4372b3b57d4024802998696da66624fef973f703a1232ae457d71765d45a6929254dd5e8e875486268720268e32a14e4dcadc75a03f51bd2bda9bc0cbd308e3c3b5e5fd21ce7e4d92e2473f99fb2aee4d601e7af1003d7472044cb9991da951c0a05eb1aa82945b29c90ca6eb5f046335fa7c835a09703401f53f8ee3e349c563fa3d36c6e856420dd77adcc43bedae80096ea0b4dfd87035fe64040f71f9e9ef04ba40ece6737de433f8ecc500b29a2aa568820cd3b1bb503cda75dbf448c413907977172b7a33aeb559e495421263c78d5c7b3815b9686a50343b96ea98098421d34a0f47b7ead0ed2662863765cd9f72185fbd7f27b11debe033b52caa4896dfe0f3e1af365e495953f01cdb7c727960406727a42f583dbd3f9030956f3232c354b06ab0bcf801d8b3e3f7058b095a19dac4a96820895792766ed05581e03be5f101011278ce28e7baf9987fa0cadc2dc3f01893947de57535a7c500c0347068c135cad668805581e038f68d5a5f50cd04dfaced40883ff6a6fe7c381055491bef481c1e84e300c034721b2413ba9fb3405581e03d02fbecda23971e52acbb15adab4daab52cd41b2a3b0bdb94c9d415f10084704d1ebc830be4003ab74613cc4e4507b4a304e14914ba9de73cf4ed5a204d12a92970312e601c324031fbffb338ab2dad489de30a2a8418544374f0e04bf7922ecd8bcd9b6b4ad7f6605581e034ba0a7fdc6ff9505e33865ef927357da971dfc5267753c19c11d8183b00c0147093251a715a4aa05581e03c9931bf843d58a893e3dfdd12cc4117813fce74a2d2469beba0f882b700c05460c11c402203802192a7a03e0fd8cfca35c8094228bf4c6f053d15cd5f6581f8e4a91eeb5acbcf5ea62830003f01de06871cae1a1e71ec744deb57f4169fbb74e486a604d3904d6e52a0e5ff40343a8fe881dce94cc90aa611a7e02b95720d7eca26aac6932be9a8c520f9a58700219ffff03109741408289a53ead626d59c097dbf5bbd01b6bfae7c7d0f9a07b7809daa834036f1acef73aefea25d4d205a390dacaf75c1197a52d579260417cbadd550726ec03f99bf225dede4fa50e0ffd205ba136c0d3aa46b763baa8f68f4fe8915df6cf1003a979732d1f8a3e70bd07999c7c1c3b62954de66f3a977b4beeeefe6598e1ad52034a8f0386ac4c6336eb9e638f4ba631b7a659fbeefc6519d4d6134d3532027a2a0320f3092003c9434affffb49c52b084c6546c860cd697248a25f929a88ea9455f032c8b7eb9a4c21951365aeee0f7f7fe153641e3700b6917532a653e4af7d374670337e791dbd7e345fc2f0a6d1eba02c58b172652881e1521626ec3fdfa669fb39a0219ffff032c13513c9986a445e7faef8249290804f14657d16905bd7bf4cd38e38dafbbbe039528c532c8bfce10c43ac6599faa1b21745b80309da409d7f5983a0bbd68ee06032e7aa6d263c1561d947aa942e4fcb07ac5346e46e85c3348ef68df4ad5f61a3b0339a9d30524ef2a96f4f38de247d5758a9649b7529b05bc1e858d4ddd135984c80365657861aae535b2a517e635ed671fdc9ab5ec8514dd1da2d1d39f45366615fe0321c27e4f6e8c920520be4e252b039dca269fcb0c9958640fdf38c789de0b3751034b12afbf8ab1dd20896cee0169f8f8f85624a82adfee8276c2b923d83f1515d4031f3f0534019e3bee3cdea8bfce848d157262de9ef41fe43be167e7d3b8a8ee26035b4ca9961207c8d50af4217831df023b3303a96a1af94ce25c0a6204f86da5a4038071c27aa7d0c7b12b41a3fe4edaf3e3ed62547726efb6c631136a04b7603b1c031d52fb18bdc6434b8a00d491ac2afa2df01b7f317e02bb33d5dadc09540c7f100394431aafa028734b8a36d9b5aa7ed4bd5536e7c3225a71081eb012eebaea4d3f0219ffff03d48ed733f725889503ef997a893a80a2b9a9dd668bc956b578bba91301e1f6bd03b67e48cb6d81e753bf9022255f4a49b2fbb3d5a98f0033974d360fcf79e31319035c68df33fcde917ebed76f3d67591b300502ca9b650e1ae5f9966a4c2ca8e8600317a8c9091faa76a66978c608782e610dfe1205866ae9d128049a567919fe36a303093f5a5f99e12a89c9e5d9f57f933c30ce6600f71425efbc70281b152f021867038543a6752acba030fc3106183f59d3393c336a3a319e91ace3139be3157765180364b0f69f38bb5f2378f34ed288e7190e3d3917db4410cf54aeb31604146a60be033e4c74d7a710feb5e41234adb83123759716ba4c3a95da09dbec7f326c9c00fe03b3dd4870b6d6351285be5865c94005bb70a49f28a91598e0b2345761f5e366fe037e72dec5be894443847ade92da71a048d71b4684426cfeaeeb5ea2a69fe18db8032bd770111d4770f25e6885376554aec0033e41ac4a57cb3ca942cc8b5667bb9a032d056fc3461b4fa96bf387d182863fcdf04f26fb062fbe4ac33d82911d27a8cd03a134a51f33811f69387fc6bc317f5883cca8433e6abb61f6cbe156c4225e4b270315c129af4ca15181d12a34505f4b62b0d1e5249d957603bd5cb0d0fd897aa71a03ea1ecc81396c80f02dc60e0cdb2adf46010ec6139e98c13c56db07b31160fed30352cf21904e944ce81ad0768b9d8f3a7ff95bb8c5d0bab846462510dc098218e8031ebf87f5b497f573fb64c5efc795eada186115b1a8aba9f1c6c35d339aba48e903425cbc961663561b267ed347b66e4723c3c50594b5b6c05f55198df573ffe01b03b54f1b4131fc4f441424069d2e0cca3321755b5ad1faea1eec21f277541f3ab2036f4f7c303bcc466031d7a429a8ed54254650f89f8363aba24938c4b7c39c8d18034f9add27128ed6304e32e4df96189956054b9b97117eb22ef85ba4d40a08629703e96dfe5a29aaf18324e51cbffce58d9b5560ce1e3ead4faf106b8da4e48d203d03dee5e17a9d94b4adec65d4c445f8603acfbd99ad4aa9ae8eddfc86144abe979203cbe5ba54bcb58d836fd7891b4f31032a3c84ecdd3aa3b5a77e838177c525e2a205581e03bd37fd152ca264eb62ca42c9762fe745c21220c74b28a045255cf6d5b00c014709faa779c79000045955b760806040526004361061018f5760003560e01c80638803dbee116100d6578063c45a01551161007f578063e8e3370011610059578063e8e3370014610c71578063f305d71914610cfe578063fb3bdb4114610d51576101d5565b8063c45a015514610b25578063d06ca61f14610b3a578063ded9382a14610bf1576101d5565b8063af2979eb116100b0578063af2979eb146109c8578063b6f9de9514610a28578063baa2abde14610abb576101d5565b80638803dbee146108af578063ad5c464814610954578063ad615dec14610992576101d5565b80634a25d94a11610138578063791ac94711610112578063791ac947146107415780637ff36ab5146107e657806385f8c25914610879576101d5565b80634a25d94a146105775780635b0d59841461061c5780635c11d7951461069c576101d5565b80631f00ca74116101695780631f00ca74146103905780632195995c1461044757806338ed1739146104d2576101d5565b806302751cec146101da578063054d50d41461025357806318cbafe51461029b576101d5565b366101d5573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216146101d357fe5b005b600080fd5b3480156101e657600080fd5b5061023a600480360360c08110156101fd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a00135610de4565b6040805192835260208301919091528051918290030190f35b34801561025f57600080fd5b506102896004803603606081101561027657600080fd5b5080359060208101359060400135610f37565b60408051918252519081900360200190f35b3480156102a757600080fd5b50610340600480360360a08110156102be57600080fd5b8135916020810135918101906060810160408201356401000000008111156102e557600080fd5b8201836020820111156102f757600080fd5b8035906020019184602083028401116401000000008311171561031957600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610f4c565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561037c578181015183820152602001610364565b505050509050019250505060405180910390f35b34801561039c57600080fd5b50610340600480360360408110156103b357600080fd5b813591908101906040810160208201356401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611364945050505050565b34801561045357600080fd5b5061023a600480360361016081101561046b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff610100820135169061012081013590610140013561139a565b3480156104de57600080fd5b50610340600480360360a08110156104f557600080fd5b81359160208101359181019060608101604082013564010000000081111561051c57600080fd5b82018360208201111561052e57600080fd5b8035906020019184602083028401116401000000008311171561055057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356114d8565b34801561058357600080fd5b50610340600480360360a081101561059a57600080fd5b8135916020810135918101906060810160408201356401000000008111156105c157600080fd5b8201836020820111156105d357600080fd5b803590602001918460208302840111640100000000831117156105f557600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611669565b34801561062857600080fd5b50610289600480360361014081101561064057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356118ac565b3480156106a857600080fd5b506101d3600480360360a08110156106bf57600080fd5b8135916020810135918101906060810160408201356401000000008111156106e657600080fd5b8201836020820111156106f857600080fd5b8035906020019184602083028401116401000000008311171561071a57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356119fe565b34801561074d57600080fd5b506101d3600480360360a081101561076457600080fd5b81359160208101359181019060608101604082013564010000000081111561078b57600080fd5b82018360208201111561079d57600080fd5b803590602001918460208302840111640100000000831117156107bf57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d97565b610340600480360360808110156107fc57600080fd5b8135919081019060408101602082013564010000000081111561081e57600080fd5b82018360208201111561083057600080fd5b8035906020019184602083028401116401000000008311171561085257600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612105565b34801561088557600080fd5b506102896004803603606081101561089c57600080fd5b5080359060208101359060400135612525565b3480156108bb57600080fd5b50610340600480360360a08110156108d257600080fd5b8135916020810135918101906060810160408201356401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184602083028401116401000000008311171561092d57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612532565b34801561096057600080fd5b50610969612671565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561099e57600080fd5b50610289600480360360608110156109b557600080fd5b5080359060208101359060400135612695565b3480156109d457600080fd5b50610289600480360360c08110156109eb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356126a2565b6101d360048036036080811015610a3e57600080fd5b81359190810190604081016020820135640100000000811115610a6057600080fd5b820183602082011115610a7257600080fd5b80359060200191846020830284011164010000000083111715610a9457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612882565b348015610ac757600080fd5b5061023a600480360360e0811015610ade57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135612d65565b348015610b3157600080fd5b5061096961306f565b348015610b4657600080fd5b5061034060048036036040811015610b5d57600080fd5b81359190810190604081016020820135640100000000811115610b7f57600080fd5b820183602082011115610b9157600080fd5b80359060200191846020830284011164010000000083111715610bb357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613093945050505050565b348015610bfd57600080fd5b5061023a6004803603610140811015610c1557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356130c0565b348015610c7d57600080fd5b50610ce06004803603610100811015610c9557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e00135613218565b60408051938452602084019290925282820152519081900360600190f35b610ce0600480360360c0811015610d1457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356133a7565b61034060048036036080811015610d6757600080fd5b81359190810190604081016020820135640100000000811115610d8957600080fd5b820183602082011115610d9b57600080fd5b80359060200191846020830284011164010000000083111715610dbd57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356136d3565b6000808242811015610e5757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b610e86897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28a8a8a308a612d65565b9093509150610e96898685613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f0957600080fd5b505af1158015610f1d573d6000803e3d6000fd5b50505050610f2b8583613cff565b50965096945050505050565b6000610f44848484613e3c565b949350505050565b60608142811015610fbe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061102357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6111207f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b9150868260018451038151811061113357fe5b60200260200101511015611192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b611257868660008181106111a257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff163361123d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8a8a60008181106111f157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168b8b600181811061121b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166140c6565b8560008151811061124a57fe5b60200260200101516141b1565b61129682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614381915050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836001855103815181106112e257fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561132057600080fd5b505af1158015611334573d6000803e3d6000fd5b50505050611359848360018551038151811061134c57fe5b6020026020010151613cff565b509695505050505050565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484614608565b90505b92915050565b60008060006113ca7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8f8f6140c6565b90506000876113d9578c6113fb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505050506114be8f8f8f8f8f8f8f612d65565b809450819550505050509b509b9950505050505050505050565b6060814281101561154a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6115a87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106115bb57fe5b6020026020010151101561161a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b61162a868660008181106111a257fe5b61135982878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b606081428110156116db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061174057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b61183d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061184d57fe5b60200260200101511115611192576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b6000806118fa7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8d7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b9050600086611909578b61192b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c48101879052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b505050506119ed8d8d8d8d8d8d6126a2565b9d9c50505050505050505050505050565b8042811015611a6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b611afd85856000818110611a7e57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1633611af77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168a8a600181811061121b57fe5b8a6141b1565b600085857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611b2d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611bc657600080fd5b505afa158015611bda573d6000803e3d6000fd5b505050506040513d6020811015611bf057600080fd5b50516040805160208881028281018201909352888252929350611c32929091899189918291850190849080828437600092019190915250889250614796915050565b86611d368288887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611c6557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b505afa158015611d12573d6000803e3d6000fd5b505050506040513d6020811015611d2857600080fd5b50519063ffffffff614b2916565b1015611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b5050505050505050565b8042811015611e0757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21685857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611e6c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f0b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b611f1b85856000818110611a7e57fe5b611f59858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614796915050565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216916370a0823191602480820192602092909190829003018186803b158015611fe957600080fd5b505afa158015611ffd573d6000803e3d6000fd5b505050506040513d602081101561201357600080fd5b5051905086811015612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120e357600080fd5b505af11580156120f7573d6000803e3d6000fd5b50505050611d8d8482613cff565b6060814281101561217757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16868660008181106121bb57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461225a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6122b87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f34888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106122cb57fe5b6020026020010151101561232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061237357fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b1580156123a657600080fd5b505af11580156123ba573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61242c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b8460008151811061243957fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156124aa57600080fd5b505af11580156124be573d6000803e3d6000fd5b505050506040513d60208110156124d457600080fd5b50516124dc57fe5b61251b82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b5095945050505050565b6000610f44848484614b9b565b606081428110156125a457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6126027f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061261257fe5b6020026020010151111561161a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000610f44848484614cbf565b6000814281101561271457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b612743887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28989893089612d65565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519194506127ed92508a91879173ffffffffffffffffffffffffffffffffffffffff8416916370a0823191602480820192602092909190829003018186803b1580156127bc57600080fd5b505afa1580156127d0573d6000803e3d6000fd5b505050506040513d60208110156127e657600080fd5b5051613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561286057600080fd5b505af1158015612874573d6000803e3d6000fd5b505050506113598483613cff565b80428110156128f257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168585600081811061293657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b60003490507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612a4257600080fd5b505af1158015612a56573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612ac87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612b3257600080fd5b505af1158015612b46573d6000803e3d6000fd5b505050506040513d6020811015612b5c57600080fd5b5051612b6457fe5b600086867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612b9457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c2d57600080fd5b505afa158015612c41573d6000803e3d6000fd5b505050506040513d6020811015612c5757600080fd5b50516040805160208981028281018201909352898252929350612c999290918a918a918291850190849080828437600092019190915250899250614796915050565b87611d368289897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612ccc57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b6000808242811015612dd857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6000612e057f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c8c6140c6565b604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b158015612e8657600080fd5b505af1158015612e9a573d6000803e3d6000fd5b505050506040513d6020811015612eb057600080fd5b5050604080517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b158015612f2357600080fd5b505af1158015612f37573d6000803e3d6000fd5b505050506040513d6040811015612f4d57600080fd5b50805160209091015190925090506000612f678e8e614d9f565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614612fa4578183612fa7565b82825b90975095508a871015613005576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b8986101561305e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b505050505097509795505050505050565b7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484613f60565b60008060006131107f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b905060008761311f578c613141565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156131dd57600080fd5b505af11580156131f1573d6000803e3d6000fd5b505050506132038e8e8e8e8e8e610de4565b909f909e509c50505050505050505050505050565b6000806000834281101561328d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61329b8c8c8c8c8c8c614ef2565b909450925060006132cd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e8e6140c6565b90506132db8d3383886141b1565b6132e78c3383876141b1565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561336657600080fd5b505af115801561337a573d6000803e3d6000fd5b505050506040513d602081101561339057600080fd5b5051949d939c50939a509198505050505050505050565b6000806000834281101561341c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61344a8a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b348c8c614ef2565b9094509250600061349c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b90506134aa8b3383886141b1565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561351257600080fd5b505af1158015613526573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156135d257600080fd5b505af11580156135e6573d6000803e3d6000fd5b505050506040513d60208110156135fc57600080fd5b505161360457fe5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561368357600080fd5b505af1158015613697573d6000803e3d6000fd5b505050506040513d60208110156136ad57600080fd5b50519250348410156136c5576136c533853403613cff565b505096509650969350505050565b6060814281101561374557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168686600081811061378957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461382857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6138867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150348260008151811061389657fe5b602002602001015111156138f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061393e57fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561397157600080fd5b505af1158015613985573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6139f77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b84600081518110613a0457fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613a7557600080fd5b505af1158015613a89573d6000803e3d6000fd5b505050506040513d6020811015613a9f57600080fd5b5051613aa757fe5b613ae682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b81600081518110613af357fe5b602002602001015134111561251b5761251b3383600081518110613b1357fe5b60200260200101513403613cff565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310613bf857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613bbb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c5a576040519150601f19603f3d011682016040523d82523d6000602084013e613c5f565b606091505b5091509150818015613c8d575080511580613c8d5750808060200190516020811015613c8a57600080fd5b50515b613cf857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310613d7657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613d39565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613dd8576040519150601f19603f3d011682016040523d82523d6000602084013e613ddd565b606091505b5050905080613e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806154e56023913960400191505060405180910390fd5b505050565b6000808411613e96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615557602b913960400191505060405180910390fd5b600083118015613ea65750600082115b613efb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000613f0f856103e563ffffffff6151f316565b90506000613f23828563ffffffff6151f316565b90506000613f4983613f3d886103e863ffffffff6151f316565b9063ffffffff61527916565b9050808281613f5457fe5b04979650505050505050565b6060600282511015613fd357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff81118015613feb57600080fd5b50604051908082528060200260200182016040528015614015578160200160208202803683370190505b509050828160008151811061402657fe5b60200260200101818152505060005b60018351038110156140be576000806140788786858151811061405457fe5b602002602001015187866001018151811061406b57fe5b60200260200101516152eb565b9150915061409a84848151811061408b57fe5b60200260200101518383613e3c565b8484600101815181106140a957fe5b60209081029190910101525050600101614035565b509392505050565b60008060006140d58585614d9f565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061428f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101614252565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146142f1576040519150601f19603f3d011682016040523d82523d6000602084013e6142f6565b606091505b5091509150818015614324575080511580614324575080806020019051602081101561432157600080fd5b50515b614379576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806155336024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156146025760008084838151811061439f57fe5b60200260200101518584600101815181106143b657fe5b60200260200101519150915060006143ce8383614d9f565b50905060008785600101815181106143e257fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461442a5782600061442e565b6000835b91509150600060028a510388106144455788614486565b6144867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f878c8b6002018151811061447957fe5b60200260200101516140c6565b90506144b37f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f88886140c6565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156144fd576020820181803683370190505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614588578181015183820152602001614570565b50505050905090810190601f1680156145b55780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156145d757600080fd5b505af11580156145eb573d6000803e3d6000fd5b505060019099019850614384975050505050505050565b50505050565b606060028251101561467b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561469357600080fd5b506040519080825280602002602001820160405280156146bd578160200160208202803683370190505b50905082816001835103815181106146d157fe5b602090810291909101015281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b80156140be576000806147318786600186038151811061471d57fe5b602002602001015187868151811061406b57fe5b9150915061475384848151811061474457fe5b60200260200101518383614b9b565b84600185038151811061476257fe5b602090810291909101015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01614701565b60005b6001835103811015613e37576000808483815181106147b457fe5b60200260200101518584600101815181106147cb57fe5b60200260200101519150915060006147e38383614d9f565b50905060006148137f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f85856140c6565b90506000806000808473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561486157600080fd5b505afa158015614875573d6000803e3d6000fd5b505050506040513d606081101561488b57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905060008073ffffffffffffffffffffffffffffffffffffffff8a8116908916146148d55782846148d8565b83835b9150915061495d828b73ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b955061496a868383613e3c565b9450505050506000808573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146149ae578260006149b2565b6000835b91509150600060028c51038a106149c9578a6149fd565b6149fd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f898e8d6002018151811061447957fe5b60408051600080825260208201928390527f022c0d9f000000000000000000000000000000000000000000000000000000008352602482018781526044830187905273ffffffffffffffffffffffffffffffffffffffff8086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015614aad578181015183820152602001614a95565b50505050905090810190601f168015614ada5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015614afc57600080fd5b505af1158015614b10573d6000803e3d6000fd5b50506001909b019a506147999950505050505050505050565b8082038281111561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6000808411614bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806153d4602c913960400191505060405180910390fd5b600083118015614c055750600082115b614c5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000614c7e6103e8614c72868863ffffffff6151f316565b9063ffffffff6151f316565b90506000614c986103e5614c72868963ffffffff614b2916565b9050614cb56001828481614ca857fe5b049063ffffffff61527916565b9695505050505050565b6000808411614d19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154736025913960400191505060405180910390fd5b600083118015614d295750600082115b614d7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b82614d8f858463ffffffff6151f316565b81614d9657fe5b04949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614e27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154006025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610614e61578284614e64565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216614eeb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b604080517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015287811660248301529151600092839283927f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163e6a4390591604480820192602092909190829003018186803b158015614f9257600080fd5b505afa158015614fa6573d6000803e3d6000fd5b505050506040513d6020811015614fbc57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614156150a257604080517fc9c6539600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152898116602483015291517f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163c9c65396916044808201926020929091908290030181600087803b15801561507557600080fd5b505af1158015615089573d6000803e3d6000fd5b505050506040513d602081101561509f57600080fd5b50505b6000806150d07f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8b8b6152eb565b915091508160001480156150e2575080155b156150f2578793508692506151e6565b60006150ff898484614cbf565b905087811161516c5785811015615161576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b8894509250826151e4565b6000615179898486614cbf565b90508981111561518557fe5b878110156151de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b600081158061520e5750508082028282828161520b57fe5b04145b61139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b8082018281101561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b60008060006152fa8585614d9f565b50905060008061530b8888886140c6565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561535057600080fd5b505afa158015615364573d6000803e3d6000fd5b505050506040513d606081101561537a57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff878116908416146153c15780826153c4565b81815b9099909850965050505050505056fe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a26469706673582212206dd6e03c4b2c0a8e55214926227ae9e2d6f9fec2ce74a6446d615afa355c84f364736f6c634300060600330605581d02a7e8b8234a7992da2173c0d9eb404853fe85a65a0881149522e12b2a0f014758d15e176280001955b705581d024ace4a9cf9849185c4b4cd9d2d43e5360f36d915f743ac51fcc9c7f80c02450135f1b4000219042005581e03dc8fc5260164a847b23d38a881b05ec9e601d397d1188021168d7c0da00c024701923a550aa0c803fe15c6a27562a27ae904cb1b828dd828705d1507183fdaa98bcdd0bb1025ee5305581e03f23857a9fa3d0da9ae7310c160afcf49158a232640406bae60c29650500c01472296500eeb160005581e037f46e0bb2789267d0a30b8d43a6d3e2a2e289f0fcb20ea1bc8ee7216a00c024744d7c56d940be603ef681ad561c890292aa0775ad056b33adaf4059df2a392368f96de9dd539b7ca032be8a5093959bbacdaa2d02b061939a3a07681b5a5351eef8de8b286f8df80ba039bed36de94bcfffa25c8fa7eceb9670a773e35fa4d31ce455cb7ec98d3f2633a05581e031d2088553eaa5823aa330be942a76137ea4d7416fda40c5c72917239f00c0147028114c7f49fc0034277b3bbc296a60f66b308aceaf2f9ad4e766e1984e39f2bb1256df0c51448a70219cbde03821c17b99606f4ef0404c1e66f9b5847282857f6d43c1d1e2282e3e20358c1a203c4c9fce98e5aa03a1c2976bea62991500383da391e6b93cd7ee617b79075830103454a7715e43a8f5665f3175574c0f374cd68bdd08d8d39beda757efe065a1d0103cd56c55a16fc16cfc4f8c40d1ade5f93aa7754345eff672fd36b2e5d5ac78adf0365c9ef940b1bf8951ae99a658391bc322d955090fc733e730f446262316cd707032dc7ad83f81334ea5c5841d73bfd9a6a887e1d78e06e3905881fa83d258880c403bd0a711bff7996b670c2882e6431d8feede57819c03c580eaa092d1a8f53519403d77cc81d223cecf0dc1500acd0a1a3bee88324e90cd31d5a2577ab6f5f3d74a80219ffff0379c59a0bc3c903e720187633f537d959fcee20d326d0589d99378fd348571fd503617b1732812e177a348d6e8b71b919d1a8f9aeb566fb1a8990040c9015e2f5740219ffff03c2aa7796b88ed0882d027e907876f0fc2ae6543201bb6064c9f4d3d9fec9317d038afea1a0e1468c6fc726154afcbd90c51d92f02f2194bc98dd11605e156596ee03596c36944867284154a90995ca2cc2614c9c689ff26b50af7f538262dde35e970375f7c3db9a1679d153aa7dc505db4c3ce38403302ecf3d50c97462d935028f7a034e5945b412e2d39813d395d009f29c0af87e87179ee0a2eaf6468791c2e0596b03d4d46180102df1d16c31e07e2e015417eee7923acaa46384f3cb845ddf9075d203629c8991b7d21870e79deda688c9de842ac1c0fec9702dada6933346739567a303f5bda8d71493465d646fe4bac7bcf590d3610204fee43009863c3655deb4857803ae3be2bf579c9f9f495041c595f560f35c27deac9db5e15c9e3c221ae529dfec03ed4a66405f36524c9d3f4104bf0634a594830fef299b2c5fa75624d59aef7ec803d562ece272c4310fda8928d8aec5f90b603dfd52a1dd5d96329ca930e2273a890219ffff030b7d3d95391e7c4c7a0ab2712a0751afc328eceb076377c156004c7fd23ed9b303ec2db3ca164a4fe29e6320f904e64b98c1012290757ea1842de14c1521c31057038d16eef85908f6d56e7ceb22676281a6cd03de12bc43a3eecc0bb16e86df5f9f0397fabc295dbdd7ec868f7603c143aff76f6ddc32dfd952d1c81f3343a32d8ad403d91d17b5599f6cb43a86acd2b2b670a0d8222f7b8a5d6d892d0c71dab216d22303899d3381e529fe753ad75b52c585fe94951043a38fa0633e3a74271cbd5abf51038481b070dc851b487f10cbf983ff509bf1f439887448e702e661868b2d3c48c90366f4e4e06fa61d04ed766a936fcbb9959f8acf5d81f5a0efcc40396e7c122e0d03e4bee7e49462aad20d87132371fc7b93d4a9331edf318d4d75fa8a97d27c9e3c0306de6a10a8f2ab7b46508738797699736c9bc91d78bf5056a11955df2500496e036fca8a3972b2aaaa49a67f7776aaa2dad33ab1d4fdea042f21971145335e181d03a2f7a39988ebf3ee959085b814bd42994928c78bf05dd5faa5ace231d14388a303daf7cea66fee89e0dc59f73b3f40db20e64257c9ceb8b883657a515aca72c2fb03418b9bec63a8501dc1ae09d40336a64876c93a51df9ce98fddec2c2af8ab5e7d03fa018c1389865b34b5fc48c79ce0e4fa4efbd7ff70c16549fd92eafd7fb53ad003c0039a11df4bd0eb86b3c38ca07f0e736f816892197365ed9f6322ae646a023203923de8de66d1552f15ec03d5f099a8a00db65adedd1cb4584a805fcb33109f1d034e87fdd5c134371038fee84f1cc265957c3e1e0a94a96e624e90021629fa755d035deb3bf47dc39e3feb41de3cb612dfa578b312db61ef42fd19e5782a4fa39a0e03ccab136613c869c9babf84a0fc1abe78be35a5fae5e8c429aca0f57aa6eeec0003a3415d22844897a5962f66eb43a7b345d21319a0822b4afb1067e619354a0dca03e9276768f1a2be63933584f6fbbe7dacba82fb9dbf83c7745b070b04bbbf1e7203cae5b9853cbe33604d354da49dcdc9917f474c578566a8c00acb3663c1b17ec90364ed0a1ec39198ebba650b5ec91bac147225aaad4c46256ebdf05b2b7b1d022e031b64ba361dbc27600169a9d62d81274e7da2271ecd612b70a2932c6c55100bbd035ca87a399331ed00f0b230e59d180d0a18999ad6075a0ff946b36616acd0e4100329d3ee2d87d9957e6c33c36258fc87715392e4aa498929af76f6ef44423ea50a05581e033638f195f93f914167ad775c17136671f2d4cdad4a8e2f09544833e8d008475a0097d3f3f00005581e03b167eff27d26c81d843424fe0f7e848cccfacd300261ae17a1400341700c0146045b423f9c000337774aef3ad303511245ccac3613efd088165f4449c8329724e68866d239330a032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e035c2586afb6b4c01fa731808979782e7e7bf54763c5313ec9b0e115912007011bffffffffffffffff05581e032fb8ab4b78a10f88ac88e8a39a201665515de6469f593a6e8490e752100c014701717cd28ba46803862aeef05ada1c5324618088141f9f5bfded3715b865944bf3c76021fbc53c19034c80e2dddcbab5fe21e4c5a62c66269f2a8cde05c31fa26ccff1be0a0855852105581e03e16490ea2c04ab5d88c954d8b7ef4bc5033d479702332b94d989ec03f0040105581e03635039fadd2a110e5a9ff210ed63d3de8cbad28939f4f82acdb3741b400c01460290493c9e3a03007fc2106f22c5ab9cc5df634ab9390462929380876167342c340e047c374efb05581d023c9b62fa8fde51dadd99a1222dd6e70e923e3053b5012d48497fc5e50c18dd4807686453b7c0499205581d02f58c7669409f4cad387d63835f18a01dbad40f2cfc7ddccb49480ab00c034714b1d1b75e05da0219040805581e03e527ae730230a2f8b40dd7e17f5657b76bce064c293bab5ce78ed7a170040205581e0310cab7a152f57fbe3c82612dd2b828d155e8ca5fdd2add62cf8a75b3400c01470340c0c5c80ec80219bfed032926339a53414531f0c97751855d07797b2b1f85371c80656c0deee1c484f02403e12fddf24aeb8e35c7ce1f00e627466b1927c4efb5ff608d6f1274727eed5d3b03274a90ab4b6d1ca8127a8e1b7cc66a6937a5b143e708d86231a945afff2437880324c6d3ed1c4867628c89cd9d86ee1f7c2ba502b9ba850e3b5a73f7da454fe2660372d651bd7fb83f57afded2fd8a0739d7074e1ad8ea5fd3516d8111ed4db267e403758a2dedf61749a6ab280bc4898279c2943e9267d47414750dc3a13dd34ffb65034c900f3545114461cc1e8b47ceab904965c5720e5d08ccabfd5568485ba63bb3031085c61e7752dd31a7ad18d07848f4c117e35b11d07e99bbb7048434a71859ea03bd37b6044b68860491cab27d055f60c8cab27be13907e383bd714e190f77aec903d2c84142481c73dae784311fb384043b520bf90b2a530434560d7b5b8a66c0f7030938e73d2007656df05a35f0f8d6915c2bad8b1063f09164abc2d109f429165d0219ffff0380a21ca36134ad602333e30462d2646295073765b057b660c9de0c184d2be92d03d43c640547dc6c018fadb353678186a7aabfa687c2773bd55bc00448f7d9693803a57a538be5f11c4b9ea54106df21ff5c88696406511a6b5127f88383f281a73e0219ffff0331326a9a75642a20874f042847bbfc193b773ea94a40c02431ac70480b422de6031bf4962b8cee40d8e3ba1021ab99042bc1cfa88ff8256f66d708b3455e46b5a60397a2d1161fecf0b68dc67469203781de5676478d851ae73cf64844427e11b6190349179b8bc7d9712c27cc8958b4320280f9a4c90061ed5f794b3903e6652866a70219ffff03252ebf20f09aeaa01ef514485aab3d9a9065109e8b1d30ee165b6a2f1726b85903a304b034d49a077af9426b2a4a0d1d27e222ba27140f60c850adccb6cb161c4c03edc6ed4d53a569fdc8913a819f219f7e9ccb2f20d0ed9dce72da9d4b6ddf936a032ab7be902eeed568ce8324231f5c0336f32f285c68bd7aabea2718f5f040a5d0034163ffb542fbe983c1893b90d064985cab2839fceb0fedf699ef7917b505e38203d987248d3cc01ec069cda2739d59fadb8935a08fadc7c3a78b2af16d1006a77403216effb24728219ef3a7fcaa34335c6a3cd119394900624aa229e84cec549e2a0399ae67a8fea8a869a4e7cfab794b9cc3ccd9f5c1a9082f19afae197ade9ce46e030ec7892330d9bc02b8e6746f8f633d39313233ee204ed22bb1359b30bfd5d11b03fe38214be1b7ff906ee0240fd3986eaab2c87b8e0cecfe9d52148902293f3a9403d32fe71055ba170f0b06126c5b938e73f635a6def668457a7f29e63a4bb5198a033c44b8611aa928c955c077081ad7dc67de92d17fc1305a5dfab553b467d805dd0311cff9ab5c70dac3fe4b928335d19d6b7e08340e792515d188771d1bb5a69ee403d40377a83417476079cab511ccfb63f89c6bfd1fa1d66b1246385535f7d9d01303d8c9b4ad8719d80e55de438d73d245d0f7af4e2c521fa702d7b5cd130aeac4e603e5e9c3b937d414cd8c9a4eb848fe79eab00b38f692aa869d1642b70ebe008b600375a23718d809d2dfbdb14207849b7d129edecb88020fafa144faf5fe72fd3c49036d4b1dd7b8ad711ea079d4150ead1dc5bb003fea5f424f2adb62cd5e938bfb5c03923b05b9044ce6cc92cfadede704db2ee4ac54da3e615e1213268ef09c03c20903ef8a51b028c61380c8144f3f37e7920593be3548d0940370c8c766b936b0173405581e0322e02b1ae739475a035556f37f3a04c129e1a609d73ea6dd5c388bf610040105581e03ea89a69f431ee140bf2ae762056ef3df04451d021af2f2111646f99e800c0446abe4fddcd00005581e03b9229ae67cd55d83a29b6a2c810b7c26fe213077fc20d561b0bb9434a00c0446603772138a5805581e03207eee039db8c8bcf3439acab0166f95adcafde62031d9e02f6e6410400c04461b5ff2948230045906c160806040527f000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc27f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f7f00000000000000000000000060594a405d53811d3bc4766596efd80fd545a2707f4104cb9b3ae493f94e71b5c1771d6f310e28a1af8a24d6394d706e3bd60caf777f00000000000000000000000000000000000000000000000000000000000000006102d0565b6308c379a060e01b60005260206004526002602452806044525060646000fd5b80828111156100fb5750815b92915050565b808201818110156100fb576100fb7f30320000000000000000000000000000000000000000000000000000000000006100cf565b818103818113156100fb576100fb7f31330000000000000000000000000000000000000000000000000000000000006100cf565b80820282156100fb5781838204146100fb576100fb7f30340000000000000000000000000000000000000000000000000000000000006100cf565b6000670de0b6b3a76400006101b98484610169565b049392505050565b6000826101f1576101f17f30380000000000000000000000000000000000000000000000000000000000006100cf565b826101b96002850461020f6b033b2e3c9fd0803ce800000086610169565b610101565b62ffffff60a43516805a830301905048810283811115610257576102577f31360000000000000000000000000000000000000000000000000000000000006100cf565b483a03919091029060ff90840360a43560f81c02048082111561029d5761029d7f31370000000000000000000000000000000000000000000000000000000000006100cf565b8190036102aa81476100ef565b9050600160a43560f71c1681151916156102ca5760008060008084415af1505b50505050565b5a60003560e01c632f1c6b508114156104c6574260843514610315576103157f30350000000000000000000000000000000000000000000000000000000000006100cf565b63128acb0860e01b600052876004528260245260043560445260443560645260a0608452606060a4528360c4528760e452866101045260406000610124600080895af1610385576103857f31310000000000000000000000000000000000000000000000000000000000006100cf565b60403d146103b6576103b67f30360000000000000000000000000000000000000000000000000000000000006100cf565b60005160205160008060008413600181146103d657801561041657610452565b6000841315610408576104087f31320000000000000000000000000000000000000000000000000000000000006100cf565b836000039250849150610452565b6000841215610448576104487f31320000000000000000000000000000000000000000000000000000000000006100cf565b8460000392508391505b5061046881610463602435856101c1565b610135565b9350600084121561049c5761049c7f30370000000000000000000000000000000000000000000000000000000000006100cf565b6104a8606435856101a4565b93506104b48487610214565b80600052505050806020525060406000f35b63f4ff5295811415610658574260843514610504576105047f30350000000000000000000000000000000000000000000000000000000000006100cf565b63128acb0860e01b60005287600452821560245260043560445260443560645260a0608452606060a4528360c4528760e452856101045260406000610124600080895af1610575576105757f31310000000000000000000000000000000000000000000000000000000000006100cf565b60403d146105a6576105a67f30360000000000000000000000000000000000000000000000000000000000006100cf565b60005160205160008060008413600181146105c657801561060657610642565b60008413156105f8576105f87f31320000000000000000000000000000000000000000000000000000000000006100cf565b836000039250849150610642565b6000841215610638576106387f31320000000000000000000000000000000000000000000000000000000000006100cf565b8460000392508391505b50610468610652602435836101c1565b83610135565b50506106837f30310000000000000000000000000000000000000000000000000000000000006100cf565b50505050505000fea264697066735822122033844a027fc6b17dbe7d2d177ef947ee3ce07f1229f86d6b7686b6faf1c6a64b64736f6c634300080900330605581e0344b31497f91efee5192c4afb4c15c264936a8793c62cad3b68b355ee2007011906c1035ffe34956ad0837d4af9ed886369699c05c45aa8d9bd737a602c2647b86c683d0318a471aaab25ba3eaf407bfdebc4c46fd2f7c194ead55c9b81ac166ef4673ce80363a3265dd15f341e67870a49ed044de320fdbf756973bfd8bc129d959681a46805581e03e8c4fac2cddd4361283ec09eb2e4369f039fb9dec1bf2effcfa01c62a007011bffffffffffffffff05581e03bf35af8d18f99fb6f619c2495ff9972aca7eed488a93dd5a33fdaa4ff00c024688ed0971fd200391fda3ee28aef5589eff081997d3e51263235de7091d203804ebebeddd18aa2205581e0398c671fdc787d06069fd12444da94ae1d7a818f60120aa03abb73d46c004010219edee03fc0f31adddeb230fe6186d9a3d00a84d17241af5e07daa1392ad310da3901bef0390ee069a89b0bf47ba8da8cb10b4367a6d1eda630c8e67170c7c9e832d05753d0366107cb808ace187f2631e439b375e71aca8f94096d735148f27be166e65a67c03437176de01aae954fd0f6c2b451e11c84b8f6a0ae3e5a6d2eca9989089c7716303a5b5de9e1c4c84c422461ca25ac89daac8a0b5d94a0be2ddc6956bf55fb8c69903e4cad300e171f6f1709c7be2fc44dc190d8210d6aef161c40b3aa8158fa5ebea038dc3a3038a0ffccf3db59e87444923188c4a06987866f98a19da6a1016b947a40394ae63002723bd727759d3188ce7cb80b1895214a2064b31f7b3d8e663b87746031ff479da34f36d54944d31269c26f8c02dc7fde5a1373dad4238505cf25697c303a48f32e0c8a307a2f6f1ca9dd29a518773e05df95b43e6b5d1498bae7d5cc155031c9517722f4a5eb599c6c8c0b273821df301082b37e0968fb4c4956a4596e6860325c09b60761e7ca5b9113c33aac204284d1b2e71282072acc02848fe0303af970219ffff030b239a66464a165a891eba5573c6a68e0320e944e7da7678812f6ca82ab9b58603df7f8910d80c00bb142d68132800635e412b2f0020678b3102a0e1583b1626d10331191f7f886177b04761a52d079f33df5597115c04d187330e1b9dc71b5d6dd60304f34b565520e43d234ce6a26135d00c45d931391500373b15f345f8aadaaedb03b74a5652464d4ca35a2635d89e7eed6f0a2aef60f3e8666b44fde05189d1675c03689486bcc76225c0bfbc5092c01b15a776878170f49db31e0df8a84f7439bb60030031baa92fa6d7637ea7812bae8bb7151226869e250178dab3ed8b1210ae0da2032d3c77da3f28c29c9adcdf0dd8a1c0a27f865adef036d13ec1f28ea11b4f029203c905dfae8cad091cef8cb6851122ca7238918b71153afa8595c5e53771c66ad1031d59990fc8db9fc5094eba6132edd7c0b66b032eaa4ca224c6832211686fc1fb03822198f38f55a00fe7c173f6b7ff31f8d07f9b656a53fb0adffd2472068ad90903b564d84548d2fd00e4c671e81ef661d7b7a1749df6c602fd319a893d4613d445033deb56775ef24360d219f69b5d59418b0fec73f5caa3b22ec9020abc43936e3c034bd5acd6de9af51ec9a5a4c9d2d162103ca528e6f7d14c3d1d6be326ee890976036d31d190041d68cfe698856be879fdb9472de7bba81bd1db8b20498acb273f4c0219ffff0219ffff03cbdb28f8a83a033693b2de55bd128fe58c55303324b69ef11117c6b1db4c1cdc03e798dcfb845a9cb899495fb31496e73e26878313ae527f20ec33d284b07991cc03b70158f5702a30a444dcf26e9223313bb2e620203fd6a29a4afaa83bc9960ac103597bd64a21da8ceea021ea77a412cfeba95bda8ec035fb051d6cb701afee47d4038c0037b68dfdba568e5b1ee7842408aadceeb0fea33299928f925de89373fdfa03cf42b35701e3cb622f46fb94a3c76c41f1235b8066abc27aa60a19b9a4ce3c7a035bd4f94f906f58374142c6a7b3077761b28b00825add42810375322ed7aedee0034a986e82e0ec0293d76b6322b2851ec1ae9936e2b8e1fd5ab66899ec588c5343038307cf43c4a0410f36fbd20a46f6b470958c474c50cf469e845199ae8079f2d403a04fb48e910c31ce139911356385f7cb31f83577ed1ea4cd51bfc41f48db88ab031ad26b44436ce6a2db867db24f6e5273449bafc101e27d2ec356d97b80a62c7603139b321610172fb1f5aa033b72a98b983b5c1763d420364d1f644b651706361a035d77fe0c7d16d3e4a88f04f1484095b4dd217b2c03109f0bf019ee54473b609703a8a6ed4a730ec5c095bfbea0496d7586eebb0776010954e8634fa417e97acbb103b12ed3c5949cdea131399558777a4f02d9f47cde8ae2e98e1ea9816790d7bf6205581d02a74a37db26b30bd0cf64d040a89e7e5ed22faa9c4822fe176fd663fc0c08470a743c82e60bb80303b1a692f71bb5ea0f569c0c7b45a052e46ecec9450a131ca8c394eb4dd328c903491e85f74ba8e4f1ad22cf5f993cc25d6e9170381911ab1a606f6b1bea217c4f05581d020aa72235d6cc7bf454c1e1ebf9ba5a77ad166ef64a84da5f9f54783807011bffffffffffffffff0219400805581e03af9f319eb3603d555f2ed0ce9249fc506742ae6815538c8576439ecf100c0147450b34bf08763805581e03ef88615d5e9e9b0e7a150e50bf8965fb1e3c4a380ca0a634886449823004010300d3a9276d2c475845498d3b0d5d9afd9d827ec9a3845b8b4bd049a3821b3a1a0367315606e01548d4ad03ece7be89f89b848c190511d7d769356753940449a1d905581e038c294cff2d16e6189f01415f501cd095bd61b018180970a52b090d394007011bffffffffffffffff0219ab8103ba65100f4ba9957715f9172d00dd348664220d1c01185f5e0611fb6eb57690e6035f85a5385bfd561d264128c37d9790cca500cc4c189fb4bd127287246d937ab103c84082c2c51770a10318b527da8c9a43f8974c701f676675826bb89dad84bb6d0371178f9a353c3f6eaaddb8a664a76b6ee1f10f4534a40fd14132fa823ea2911e03bdb5d7827f9aa2894e4afa23ce9bb9b285c8fe16a1ce1940066647d05d50bc5f035e7050732d59aa15665877e8e1cea7285ec1f28ca36c5899aba1f3931a41889203f8342a2720874d75ae119dcef760f546c88ac70807273271b0a6a71569362d25039f276b8cddc46d5b7376dd7d2f3c4315e575156460c6ff35efdd842e8f884ca9031bee5a9f3b539e0225087dc9e31eb1a557ca6d2651eb3f582bfba917a14bbf710303c0e98f7d8398e76b3583d41702b8f069b3d31a303221b4343c6f96b16289fa0330852c9f79dd4b5670213a57031209e1bce6d7f92a9b6134a50824144701ebd70311bdd38952c3c33594e17272c3fd32c418ec6492733a53e19b3237d3b4ae484803ba8809a72383786695dbe38d989a08346c8aab972256ff9cc8adf2a9e8c619580219ffff03c65ac969c833966e486bcd8cb5ca3e066c942d48b2413e1854dc25b75be396d503802d24ef143bd5f8c45a698fb4f09e186cae8f425a09a8d181e708307f4301fa03f1da6157c779e56bda411abff4d092deb4c110255523ad0694469caedca1a82e032faae7810814f8f2c7f2ceeedbaf9db7c06509df529aa4ed595928e101a77329032ae7f56409fec3f5973c6978d9ef376874165e11e597f77894d7d60484793c10033a6e31bd366171df4a3fa0560a963d7d8fd7458d22d23f1680d15306b403c70703a6bfe61268a2a93b0be681faa04f36e91115035d2cf778c08d73da7d51b1272e03d12c57a6d205fb4e71792681661aa31743951ca3a300892e2e4a4ff40adcdefa0219ffff036b88cd6ea6f497b99e7b9184238b54c412b7fdf2c21524a960b99a5c113992ed03ff2b8b091c633bc16f353a3f01897a26f34c7f67c6922041f1e687ae7753048703028e20a87624f645c52c3a04ae9d3369b5a0d5e82504c3f1c105be4414f6ee5d0363009b705f7d74c7201cbeacc2d58bc53965453b13e9b70d8382f63ac8b675f203162ad5aedc316282755aa5bea964dc1eebb9be28597e5bbebf2e2c957b348d8203d97874c8b85f5cbfd8edaa576c55d3e670865320b721b5780f29d97152f26b8f0377a55585d668d168b5225fe8326ddfa7e6acb3fa99ed71b6ba9ff95509e1d6080350dc8e6ebd6ff833efd44683327552e4e3266f22110f46d895daf045673b388303c7cb65c0f59a6be9f82f1dbc2060ca93d3346b4d183d99c6dea391f05c1c4cd103e0c7c35902261580ccb97a1c0ef44d6babc80334234704448e730d85b6a0b3f3038868185919d981a3aead76c55fb48e541adea68d0745ff2531c1afc9b8ea2e460376545a3a118c3f3fa980cff220299f6bf7f38e805adb19d077ebdfb8455cfa150384993921947986f83a93d5fbef945aba0371b183339f04546c812273eb3facf8034f67da1e804642d733239c6a73af90a828ca003b7e597fc53e0195ce44f1e7670219ffff030cb7a9e0d8406a86922234b541c6001c6765d42cfb8b0240c95c74078e9ce5a0033b2d5603e34a761a005a966922c6715b4648c010840026e5ae9550feb5792dbc039df96b67de5e4e3951bb20fc9dd82e585bfb3478837f814643970897c28384f60315f26446a70bc07749cf723d43d4ca94970c19056f5de87ad7a17306352051fd03be06d59eec6e3e5db4ff4b5f6a550e619f76259928a9a1f4955d1d8bbf282ce5031fceb26b766e3e6318dc324ff237df7f8c3fd16dd21bdab0a47a2bbec807793d0306454d88d147585768228425d553fef13889d83bfe63f1bce20e36bff6a7b563030aa30327e15f1f18022f55fc793e4a0e51f415c5ac8db3d5fa3ba72e15f97e40035de93267b0aaa66b4a3cd2e237a56be00c656dad0fdb7c22664c199a91626dd8030d7932d934ec0f4ada842d1371623f0ed8a255e0cbe73aa012bde35becad1db103afce5aaeba59723cbfd2388299651b145f539e5e0de57f0d79dff429242eb85b038b96a274a7fa5ab67207417d0e5c4d7c1c86cfb7c22dd49a6d97c9cf7ad6c879033ca42d4290e9ff8b2ed24915c8e2b5bc1465e252ba88fe71b9d032f8b938e67a038d4718fbe377b548cb7feaf7b4a1ca45785a4a1cbe6e86de8375a09a5fde33100342431ef256080c05885c2c9cf751033eb99ab65465fe1b0d2046f9b18c54a0d703c562e493b30dd0b97c6a7427906f4e9c759ba2583dfeb679baa7c2b0ddb98b5e03e95fcb4160d729163a4557094c49f8ae8a6c1ba28fb35eb7d920d4bcd899d9d303dbb04798853d7ebdda32277b1343496aac1bd17406dc4c28ec7e89677c9a9c84030bcfb8561119a0559656953f79df521ef851ff8728a783a650c6767a8482d76403504070d962cc4d9902b8cd7a225c76239413c2aa7f307e1ab0f4db8bec8c003603025aff6c72f9a227b99922d41052e71ca86c4d0deda75e66300531b6320d219103fc85d1eafd14579722ffe4842ae34a792f51f4364b2d5dae753a64902aa4b1ee03db644979ca3c66720d649830348d92c9e6086e6555a530c0b511f1686ca00d48033ec3750dc4147ea074e9ce080ac3e006a56e16e863c85344a6a0fba0826d28f7039fd64fc98494bf0e1a0c589264b1e7bf8df158dd02e210b1a7f476f84734d14b03ab4bbbba1fd185cae142cd7cc96b2f78d63263aac7e7a27d598689c0d1cd86e005581e037a6483be55766f3e33ce7b43a30daf9b091d6048e48fe2c0f6dd6771d007011bffffffffffffffff0339afffb744891ce2b96f182505ea856c30f1dd38511656878ccfdd32d407c6d5031e047e9dd60eaff3d96e3c2aac0d2650d9613362974ed907e1e1a41889d5ec8d01410705581e039892ff3591aeb2384fadcbe82ee8091a9237e27f33ef58305a1e74ada0040105581d020b53c79426cb583860896cdf2176370b79bba7e126e579d2157942720c0147846e3c05c9a20004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032037b1bb5f13df6c13e086b19adc2eacd18985e55f39cb56c7078f3abd77eb1e87f00582103ac41427a962d24de95f2edd7de7d344a4e116cf2931f536800a49fc6cc7105004898c92af9d94b509c0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a03b9a47928592b1c44f0033886e60b4c218805b8b1f2917ec072bd6b8bed388c52a6447f04abeb56f4c8c503ab431d15c039b6351c0249e20b229cd474dbe1f8c1180fcc87ba88e0565a528a005820023608420cb1feb4b0c39ea373b30390c7a8185c5aac7ec06584bac5a34bf20d41010058200266f0530c309706bf38c2fa637cf8640029e31ea8a28902c4e215d775cffdef4101005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af503660d5ebc1d36e964c24aad4e828d17002196020030a8113a5bf1529d5229cd405356133ae5f1a1a9b7c7b002506ced06f4cce7e8703f84f4dbc6de7c71644bcd084d50a12255a4049f95db1a418f349d2d2ea0079000141050058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58203f75999f31a20a8fbb81c9128b470ed5b4d4dc072a83690f3ae030a83bd950b800582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8054016bbe002cd98a747ab0a160e91331919d278b3800582003f150a7d22ebf20434011c0a74111073a526667d4739df7e69e8d622ea13a9041010219082000582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba410200582002856abaffb527902e9419f02ef7206649cd7d918990b4b8224b332704daead241010219414400582002f33949b845b96392f8a90a26086cbb4d1f8d977c6a56bd0447635989b41b8d47bbc8b5f689c001005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410102198040005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd004a03b90af434a95b47306b00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687dacf00000000003e9b526e61eca7188d000000012647ecdb202a9cfbc1150058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54a9e8acf069c58aec8825542845fd754e41a9489a005820021b7d6ac0eb126cf754a0411ace018ba24900ff0c2b8ebffc0bffd72a8e966a4102021904480219f6f705581d02ccb58c7fb62042b3511a9af6eef3ed5e1b5f21cc6c4d673a47e3ca960701192c1d02196000034baae4e2d699aef7a0f1a7f3feb76e2b2e3b0692a4cbc7c3a3648722818d922e05581e03709c7f87bcdb26d25d02985ea4908899b89e1f4635522e825176e84ea00c0246012d0cce420005581e03c6f53df361f25bc0d73cc513b5de1db53695d8f65ee400b96a5187b1b004010219c336032153e68a22378bdc02df1194efaee8a9105393bb117141c0733f69927c328cca03340ee8755900e743ad5f87d62a31056ce61a2738923f6a1d065b45e88b81309603cea3abe4979802470afaa0cc141f72a6cd4d644bb805dc34feb59bc58d4f9a20038aecbe183b8d837b319dca918e498cd99d9ecb7f89395c8ecd23d2c6d430c23b033276cb2125ba509a87cc5f1aa914b0a7e23d815609d7779b7d126f776ad6736a03ee2ed92923ae69ada637377809598d2b5fe7ee0f29d1ba4656f3819e7e98676b0219ffff03ca76f2d36f335eb9f459990828e597856a85397880fb03a826f1b4112ee8c1a003a6a992d08704c1e701675c8dda72c96a767aa3aa701decaa74a3eb6a7dfd0cf9035909f468eac5b0db378baa8799faaa289339e67684e9d77f9a6fd0da5ebdbee303e136da23b2a53097238cd09cbfd0975c05a84ce5d251ca048292c8ff0b765ed203989f34d2c7b22fde16717186820937e5427ed4ea14c0dcccec21964f6490620f032f96293a3993fd625e86140baf45d6e1a1e1491a54bb8780017f49c9a9ebe69f03021a2f5e40532ec3db192c2f141d7f1065ca596146e851ad8ab191745bec983603710ac3ad6df6c5eaf9af3cb0c7425c1e32cd85cbcfbc89c4c20582bdde80e78d0353f2ab584dac2202f30b5fdf7810ad79bec2a0ba8047f081a445cb874491712c03e5610ba114034e43df9dbd5dbb53c591d0ee4f03433da4672bbe75640ec17f5c03d633957226369788f824aff3c44a307e5ab8cc4aedcedda46c8859504e2255a8038f8061d1cbefdad48d7ea612c3eb4983071e36982c63adb3388fa2ad0b55ee660383edcf0dee3b7356a6e0d6ef68580364fcde6bf3c65b1ed2adcef7fd266708b90219ffff03891a39a2270d0a67b2c03a15bbb4d5877fac5c491fdad9dbc5af07822bbcc85003d493bf36a6c3bde0f730bd30f314787140d3458d2eafd0192d53f692992b2fd503a3a63135d22f15850522b260db2e39c955c8f79493783b45c8fc23cc1bc5ea1c035622c3ee1b75f116b204938abef7227a3ee61da6edfe6de2fda7d53fb9ec23910219ffff03861b66ef2e5ad029d0c7ef05f878713d7efae05d7b7f41f6b98c38956c78af680366fc909279eed8404fb476b31db176488bbb8d7f3ee3d7f98d3ec0b446cabc0c0219ffff0354ff84540d6a58264808c0ccf31031f192684a704b57ba53ab257e73e9323cde03b26d50cb00554f293174f953b6b8a20815cc276a9938167596f8747e96871661030cf5777e839efb40aa881e4c49ac0330146a740a0b2b04b6122c3c3f3b9d72060391b9b3f66af6a0ac593b4992199d7f44a83575826ad502ad3f2344621b66e1940357e86868c7eef3235396f226c8174db2b2c290e660a932da52e3df978ef2e473035c45d6427c5bb3737cf73c2056092ac39c6b5d0d377a8e16d73b891bb38b152603976def812744307adf5d96403683222a91450076a4afd1ddd187c9c2badfd96803a03c896fdbdcc996227c693583a9102c1fab1c48ee7ea8e21c14748b32fb619d0301de275293849fba3389a2ef030323750ef8148c981de04d2af103ddfbb5982803f84f7f8513d4c621bf82f68bda051aa9fee0034ee0e2df6fb26b775c1e84a163038bd5e67bf5444b4002cb860981bd069822d5e7fe9351e74c52ab2af63e1ae7bb03169ed78fc65821f31b28b36c0817fe9aafbd36f7dd65aa5478b755275a955a6903335157c5d0a4c16f5e1b805c92bbbaa59da9eb92d775ce1083af6a02fc2578ed03feaf5246785a5579ca24f7fe3338cc2acd4dd733cb6d41ea445ccab2af501d2503056d67e217f24b8e35f5d2199c361c0d8c3d101093ef251ba040e337bac19d5503cb8d7db69686fcfbf6f1fcd61a8af054bc062e92ef0a1d6d3f7e40af722b242e0391479b7fa8b9d60a899b28941a4b52731cc8df91b2be1596038becac4a118a6c03afb1a93c3b3d06208ec978f28e6bf011937988032074d1aa6c04096369a3d041030e1d3e1c1253d1d52c532706234a2bbc90eb26b8b3d4779ed5e6be6d05b8e7a603ef3395dbbea1f9c03193f74dde802cce77df3e5a4f77c0a907d50f740be8b8f103497fad79a0cb15e7fb02d312ea5eeeb57951af9696dc00e48046426bcf974781031b753b894ca36b157d73db0240285fe2cdcea495de30b1b62e046fe30f567ee803ba9151cc069d58875d3733bdb7289881f394e03d8ed3d77a62b763f6201804c2032dc085cc5b1de7a8fce651111ee9bd0fdce43b464a8ffcef1ea4b39035312003034012116712e90de3c10b1e7327da85da01c3f209f1f4fd5b814c2ca392d5ef2605581e0301498dea97edbc42eb0283e688ff7eaaa48b142a1d770728c9c5fdd5e00c18d448015ff4753fc347be05581e03410d7b4d0ef2bffa2127e69724f3f65edfff2d58d13f48ee2fa412dbc00c0b474261d5f40b5f89030f84a582f571dde7e6d64463be3fb66e394c09c02e2b9bca6faa06e63f3b9a4905581e03a59f86b95396ec2a1dd587f1a3a7efe87567756696043d4bb45fcf74800c024703d42cb4606e0003e9cf6c7518a319d92df2bd8d2418ae38b23703a8958b50f863e650592d38d12a03da91608d2c8a20847be1227048d25eecbd7a2d54021bb7e8ea268863ac4d7d3005581e0319d9bd376b62720aec75d4d7d4fae97193b2ec573f22052519593c7a200c024701d2f1ade1c78805581e034f8194b9406a216dd68c5fe5eae7dc29c9bd44e9d6150aa93d6a27b7e00c044814a40c5ac91fca0005581e0358c6cef694db61b1a357f5562bf8c7495d48631fe7bb04f759a690fc000c1046bbb83eae800005581e03dadbf200d3bf3644585e29bdff3a880a8eb185bf64afc88c2525aea1700c0647082f89fed803dd03c361c3e0273c0914b37d985dbf4d8bee65ea692d19d3d3d355736fc27d52d17403e6d974a953200fc9c9b38116b0219405e1075c92f995a63c5fc1cfe2a72c14d303bbfe083712f681752d63e9f452c56b6d5c82ca12738f488c7e0c208a7b6fc5c405581e03a42b0c208ef717bce4283a4a116f41da33654f15fca53c98fa730c42f00c0b4804faa65e3e10384702196fff036c7e95d97ab6e67de72f1fb8116c02b8c941891d502247feead4585a25c4fc180327406a27e69171b652787536e3c5aaf4e32dbf68bb1ab7a00ed428d5f4aaa60503f1411544f85079b941f75d95d5b600dbc5b707ad9903cc1c4eda0b56431e60ba0219ffff0307f61bce15d701b18ceb38b60d1faca40361c020ae08a7891d3edd2edda95d490303ba6ab9cf7aa6fda353b733d06cb4b2a5bd9b55a6671b32e80a57f98ee674c50337cb50caf9bdd30849ad278ce8481a7bd47effbd2dd9e00c15bcb353e710e86f03554c25cdf3abf86bfc64242c8975d5f9f3f073784de08e11a0f0c3578523b4f5037015f75af0666891c4d03000ce260ef881883e422d39eaa4839a8d9afd97958f03bcd7d70341733b1cc981aba23f32cbc43e2a9e4cfdb542d41372bbf7f8e5ee83034a27eef361b7e24b0ffe3dfeb9bb441ae0a0bf93474026c1b21e6989b736fbe603ffd2c5b53b220dbe8bc95a2fe02aa73eaeb8ae0c5644c71f18c85d93381cd95203c3c577ea00170a48cf5a06ed42c24dc88ac17a3631a974b19e1cdbfa0ee1031403c0390115c744f34de6ffc574585f66e1ae03734411774cf78d26bd453f6a592103d9e27b637f98dfe25c358a00b6d62874c7540cdcecafde8fc3f3e637528f317703ac36ece174202d5df16a850462b68863cd43105e6ee19440f9e15e9274a0c0cf03b8a1bbc3287bc50ff61b83853bdda2b59a394556b90fbb9bea2e8073f64eea230219ffff039bf701a64ab468b3dabcb5dfb6daf9a6017dacaeebf9feca18bba34ed6caf0d303c0145d1b097adf97874cf9fa06c0cf1c541263d6a7c7eca80b5460825fcc17c7038f390eec5542a70735aa0f2257db479acbbe7861d3cef6cea18a194da9710915035fd9e17e4ca461c31e9dd919ea018b5f8ee75f6d14b2fd2207531219ccf8144e0219ffff033aaccb4a4c1b07744853ce549d4ac88004bd8bd1329d96c144e305cde33a8cdc03c34385c29203a1f6bb7c01ac43b03c90f9214bafd7f9eaf77a14892193109f78035d6c3c9692ccca597c10ade932445dea0b2d90223faadcdabd5bf2a5c43ad58d03e270141dc44ede0dc16df8b83e55e88323f7a04f9ef2cfb8ea001d402aa2f892038d6e05a3c6fde9ff183471e4080cee58fb8ef631f3ae6efd764018a940a76337036053c03b65b5c81f1a552fff05d54371ddf56b20b529351475eaa2afcf9b9dc703e358c4bfed3df13a2dc429af8fd5904eb891e32bcc911d265b674969c70b9a78035198f58f96484f9a6028f2e2db1ab3a69a39ec76c34991cd8621e4aab23deb89036c915d40cec8bf9942e5503a264e71cec5861b27ab97d6bb62bb09a47ce43c5703e692e6699212e101df19e4a371b1b6913d7562ea24c8b81c843be5869a7f5fa803db950b1cfed59b3ff22c256592408eb3015e9352ba4e7c0f6dbe584c7c9963da03767c5f3a1559bd8ec3b912dd597846f25ebcb960843901c843d2f551a251f7c103d9012e7db4b7147345dfe2c4287512cd7a7d50aa2977f8735338fc7932d8030203fe5b27e27bdca28b1dd64f3d3419b89153c5f7c60ab890164eefc89d9c86c0c00382430185268e2c4f6546a56e68842502af07151dafc4b556f36aabea003fbc4703e4042352caea7989cab5fd852dcd44642ac9b49cf7c78f8133b929b0f69eded803e324a425d297de1c52084bb4c3aca8919f4e0e0312caaeb571ef7807d654811903b257710ac6782f807547798ff9e7893858d482fc4217ec77e19c05d218357c7903c3124574ac0f0ed738b95eab89a40b3703c82022ff25d22ab25f4ba72fcc5fb503e4c1e81b1b81dfeb00bcf681acdc8843eac77391d629a9517b20de5eb3d50fe7032243125519edfa775b5f9cd49fe747cabfa4485915106f1edd5b1f3bca1abff7032f68acbd5593d3b7b84cbac394354931ae99d2f4d9fb0ee99dd8cf2b4636353503f46a238094a62086fb1a0ca65d4047609fa119169dc3d8c45b0ad568305bac7003effe5ec588032501a942ee7025bc950a731317e4eff6706da0c6d65020c1f785030a00bd9dfe5b42db43ecfd4233656488e60c9c59574d1970cc6dee033bb3bf8003fda5247104ecb5c03481fbe60c39c7caa3658ef69d4898e6120c3d14bed4d91b035d82d5d4d4a64271760050e2124a16f9bc29391ca85ca2a22388bcb5a184e02f0372d7ef2e7b9b3eb28de770d304c4f01e87ccc292311c46eab416087ae728ee65031613a667df09cf5e644e37abba3a527a111218b4240e041f685a1b168d31c03103dad5d75d676a142c7ea72357dce1353ad915b0240bbc2581890faa39fe7ab2b205581e03eacd47329bf8261028dad70fbed16f6ef77703b73c47fd606353b06de00c181a480263d0821b62f6d005581e035bb4227b8f4f7d1c80247807bee146bc1ed3f6a0f0d9b7132d8ab856d0040305581d02a1f767bd1cc496a1db37d9b1e4af50428204f47d00bedd79d6bf9c740401045913276040608081526004908136101561001557600080fd5b600091823560e01c8063031389c11461077957806306fdde03146106ec578063095ea7b3146106c257806318160ddd146106a357806323b872dd14610666578063313ce5671461064457806339509351146105f45780633f4ba83a1461055b57806340c10f191461052e57806342966c68146105105780635c975abb146104e957806370a08231146104b1578063715018a61461046157806379cc6790146104315780638456cb59146103d45780638da5cb5b146103a757806395d89b41146102e9578063a457c2d714610242578063a9059cbb14610211578063d5abeb01146101f4578063dd62ed3e146101a75763f2fde38b1461011357600080fd5b346101a35760203660031901126101a35761012c610b9c565b91610135611137565b6001600160a01b03831615610151578361014e84610d02565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346101f057806003193601126101f057806020926101c5610b9c565b6101cd610bb7565b6001600160a01b0391821683526002865283832091168252845220549051908152f35b5080fd5b50346101a357826003193601126101a35760209250549051908152f35b5050346101f057806003193601126101f05760209061023b610231610b9c565b6024359033610fd1565b5160018152f35b5082346102e657826003193601126102e65761025c610b9c565b918360243592338152600260205281812060018060a01b03861682526020522054908282106102955760208561023b8585038733610e37565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b5050346101f057816003193601126101f0578051908260065461030b81610ca5565b90818552602092600191600181169081600014610385575060011461034a575b610346868661033c828b0383610bcd565b5191829182610c5c565b0390f35b929550600683528583205b82841061037257505050826103469461033c92820101943861032b565b8054868501880152928601928101610355565b60ff191687860152505050151560051b830101925061033c826103463861032b565b5050346101f057816003193601126101f057600754905160109190911c6001600160a01b03168152602090f35b5050346101f057816003193601126101f05760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25891610412611137565b61041a611293565b61010061ff0019600754161760075551338152a180f35b5050346101f0573660031901126102e65761014e61044d610b9c565b6024359061045c823383610f39565b611192565b83346102e657806003193601126102e65761047a611137565b6007805462010000600160b01b03198116909155819060101c6001600160a01b03166000805160206112db8339815191528280a380f35b5050346101f05760203660031901126101f05760209181906001600160a01b036104d9610b9c565b1681526001845220549051908152f35b5050346101f057816003193601126101f05760209060ff60075460081c1690519015158152f35b8382346101f05760203660031901126101f05761014e903533611192565b5050346101f0573660031901126102e65761014e61054a610b9c565b610552611137565b60243590610d4e565b50346101a357826003193601126101a357610574611137565b6007549060ff8260081c16156105ba575061ff001916600755513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602090a180f35b606490602084519162461bcd60e51b8352820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152fd5b5050346101f057806003193601126101f05761023b60209261063d610617610b9c565b338352600286528483206001600160a01b03821684528652918490205460243590610cdf565b9033610e37565b5050346101f057816003193601126101f05760209060ff600754169051908152f35b5050346101f05760603660031901126101f05760209061023b610687610b9c565b61068f610bb7565b6044359161069e833383610f39565b610fd1565b5050346101f057816003193601126101f0576020906003549051908152f35b5050346101f057806003193601126101f05760209061023b6106e2610b9c565b6024359033610e37565b5050346101f057816003193601126101f0578051908260055461070e81610ca5565b90818552602092600191600181169081600014610385575060011461073e57610346868661033c828b0383610bcd565b929550600583528583205b82841061076657505050826103469461033c92820101943861032b565b8054868501880152928601928101610749565b509190346101f05760e03660031901126101f057610795610b9c565b61079d610bb7565b6001600160401b0394604435868111610b98576107bd9036908301610c06565b606435878111610b94576107d49036908401610c06565b6084359160ff8316809303610b905787549160ff8360081c161596878098610b83575b8015610b6c575b15610b125761081f90600194898660ff198316178d55610b01575b50610d02565b60ff895460081c1615610aaa5781518a81116109dc57600590806108438354610ca5565b94601f95868111610a59575b506020908d8784116001146109fa57926109ef575b5050600019600383901b1c191690851b1781555b81519a8b116109dc578a9061088e600654610ca5565b90848211610997575b5050506020918a116001146109325798809281928a9b6108e5999a9b94610927575b50501b916000199060031b1c1916176006555b60ff19600754161760075560c435905560a43590610d4e565b6108ed575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989160ff84549161ff0019831686555191168152a180f35b0151925038806108b9565b60068952818920909991601f1983168a5b81811061098157509a836108e5999a9b9c10610968575b505050811b016006556108cc565b015160001960f88460031b161c1916905538808061095a565b8c83015184559285019260209283019201610943565b60068c528460208d20926020828601841c850195106109d3575b01901c019084905b8281106109c8578c9250610897565b8b81550184906109b9565b935082936109b1565b634e487b7160e01b8a526041865260248afd5b015190503880610864565b9190889450601f198416868452828420935b818110610a4157508411610a28575b505050811b018155610878565b015160001960f88460031b161c19169055388080610a1b565b8284015185558a969094019360209384019301610a0c565b909150838d5260208d2086808501861c82019260208610610aa1575b8594939101861c9091019088908f5b838210610a935750505061084f565b81558594508991018f610a84565b92508192610a75565b875162461bcd60e51b8152602081870152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b61ffff1916610101178b5538610819565b885162461bcd60e51b8152602081880152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156107fe5750600160ff8516146107fe565b50600160ff8516106107f7565b8780fd5b8680fd5b8580fd5b600435906001600160a01b0382168203610bb257565b600080fd5b602435906001600160a01b0382168203610bb257565b601f909101601f19168101906001600160401b03821190821017610bf057604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610bb2578035906001600160401b038211610bf05760405192610c3a601f8401601f191660200185610bcd565b82845260208383010111610bb257816000926020809301838601378301015290565b6020808252825181830181905290939260005b828110610c9157505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610c6f565b90600182811c92168015610cd5575b6020831014610cbf57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610cb4565b91908201809211610cec57565b634e487b7160e01b600052601160045260246000fd5b6007805462010000600160b01b03198116601084811b62010000600160b01b0316919091179092556001600160a01b0392831692911c166000805160206112db833981519152600080a3565b60035490610d5c8383610cdf565b60045410610dfc576001600160a01b0316918215610db757602081610d9a6000805160206112fb83398151915293600095610d95611293565b610cdf565b6003558484526001825260408420818154019055604051908152a3565b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b60405162461bcd60e51b8152602060048201526013602482015272115490cc8c0e8818d85c08195e18d959591959606a1b6044820152606490fd5b6001600160a01b03908116918215610ee85716918215610e985760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260028252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9060018060a01b0380831660005260026020526040600020908216600052602052604060002054926000198403610f71575b50505050565b808410610f8c57610f83930391610e37565b38808080610f6b565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b6001600160a01b039081169182156110e4571691821561109357610ff3611293565b6000828152600160205260408120549180831061103f57604082826000805160206112fb83398151915295876020965260018652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b60075460101c6001600160a01b0316330361114e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b03168015611244576111a9611293565b806000526001602052604060002054918083106111f4576020816000805160206112fb83398151915292600095858752600184520360408620558060035403600355604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b60ff60075460081c166112a257565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa164736f6c6343000818000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041ff0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688051ffe8b47b3e2130213b80221243949700000219040405581d02c29e115eeac999357feb08849fb9735b0b6c84bf61fbacc9b777795807011913270219801005581e032e0349ccb3e9b7ceea32947f0b4b86ce110d9004ed3e9092ffd6cf32e00c0147084cebb1efe60005581e03830a57aae047a174b682a6ea8067c867f91d2ec66e16485437d4478920040605581e030e99c91e1584da7a5d5c8dbae4d6bf0e3eb59b784783bef3aea2ae64000c02465238f8fe17c005581e03f528e688ec861d247e5b91a647ba525430d56c86c327187a8687772e30040105581e03a771790fa475b16d71d57a7f3890e7d616fe87fb5d652c88a771151c40040405581e0384fcc0500de83319a37986d87833d724f122b9538afa1e5a01be3917f00c014711423e4fe69c0005581e0357ebfa65903f0e9de4325ba23afbca7eb7732fb8d4d60de47d72a6b0c0041845021953db03a89147136e981816b42c72dd306a732832ae59a1a9ec78e2b513634f80b2beed0397aa2aaefebc6406088fc2a2014bf963fe310f8a8b5708c967a4a80f211aa25703a3759d1675c0c97f35a0cbd90e42368957c6726fe6bc66606e59145e572c56ec0300e5c934207a6ba701e4f1fa68190d1c90cc74c9921090f9a7197c7945631ee20219ffff03c88407d4367b71e4b0397f9cceae8d8dd0aa9847ec1b4695488625a3e09898a10219ffff03b4fca4769e062cd9786480dc1709377f600ba4f2bfedca30ad04233f36570c6f0398e70be0fb0da60fdf7eaac9202cf3ed0bbf09fbb20b5ca7f6fafd13f0b4065503cfbcfcd8aa8ffc2aa467ecf803fb1180d344281899f55b5056a216dd6dfba1fd039c54f252b2372a693c9cc2fdacbe03e62a6c29b6fb77479a62723f779a17144c03138ce0dbe0808ee0bdb908ec419513b530a75ecf72f463f1712e5385f5077f490335e26019d27c2b0a8f8e3ff53f7549c71bfec4e055b80188c467052459f78e4903a389ca1a500c25386cd1198a2f19e21a1eb13e45c4623b07bc2c43a96c133eb603982481b7c77431e3839cdf62c264741a75de3debdca4b11f0ef6e8a401b452ec035ef612943a5476435f705120d5aa94724958475a3caabe4a1e755a0916aaf8b3035590899bbf1112007dcdb91e9c412fe4f5810f77bbc1e0736e9ecb0063410525030d3afee7e471329681c22b754bd0219a00579c54c9e7f763f4f69e80c40f9d510219ffff03302abba5cf13636669fe12b06e0b36f741dc8df5dd03f3f88eea93f8229c1f0503db2e4ed96d96c930b6f8fbba0aa74a701da24af61c7f2c0a48088396d204313d03c3bc868123b3cedf71e766824e0402fafe928d74edbcea3d1f0511bd004dc620030902abf215cc4b1a994def629e6664b5ecbf11f5fb5f30d74e07ded89fe9a59e03fee35c6fab46c23da23faee1b3031c2d97f7188f9eae3ea243c171f9e920cd0803c11b614b47c3f5723e870baf253a7c02e4af93c1030627d96fdac0bc3ca53950039e23f9ac465ea7d298a71bffabbca7f66aee9f70fee61e4c3b04b11099a4c3e103b0f46345937d3eeb13c67bbe4afd5af34fcfe72a52c064bd2cf04d7d8b936e83038b5b0ef4aac6b7561ac6b06b5cfd997f9544dcdf076b3abc673c8cd02434822a03f2d10e4812a7800be82965afeb0b014bf869224025789f44c20b531a7567976a0306679599a461632fd36237c91230777de8e8d2594b3af87ee9d289e984945aa803c0f9157f8ba2ad38c0606831545065e32553ec0aa4b39b70dbf9329c77b030cb030abbe2fef592af012207773ab3473fd47f2f59c1f9dd3488c2cb24d1d3668dca0219ffff036a4b02dd0cc33c0c7f39db0beb8ba9cfbbb1ab483cb4e164dd00d4e05c0452750365880811e922f448c00824bd4d91cdcf1d5c98aca95ea1c6138df6116c727125039cbead65634bc192ef17a87a646ad409b99965ee6ead1d7412ba796fa1455489035a363c73a6778cca1cc87499ddff9ab7f3389c673af81a8448a0f144d805e86103d9d8e971a798bfc9d4e59cb55927ed1bf78080cab2d069a2b17a5641dd3b8e59031d246d2762382f3a78449b4fff6095af8ca2beeeecb76988c96f5e49bc08653803433bfdb59a215f67a8486ed97d8275f726ad4f97fe6ffa19ad4ba4587815b7d30307fd2b1332bf7d40ddcd077d6554e175451a9554d90e4cc8792cd38370b4cb39039e57e0c819873890ad121ac7640a43e585a29eb61b220e2599f05a58ae0246ce034aa4bf20c05698a1b38742f69d728a996825a2a546c0225f24191c1ec3c76b4b03759d99c2470fa9990d1597e1474557025659118519d217ee422e618e89af775b03e8b88de1ac40a1e5a4d1ef0da9d56a93499f85f083565050be08ee68683844100302c83f7348ffa0beaf120d75fadbf1f6325ca003d54901c79e091c1e3ab598380345d68c0885f03ac843846929067e1b4b731ff57b2b90e683a9f67bd27fd158f7039c4b61bca6902e2a65734a222f86c9e7e556bd9e61016274b584c2bf496f6d3703c53f45f38eaca1474e3dbfe6f2a4cb16abe91ffa5af488599021cec6c5ababf2037cd5eb9380ed1d9d6b1a82fecd4f640127ca1e67c0b20f64bb96192c8babd0d405581e033370ab388577579e1d13b39f8d698be984b996ee71a08a9ddd017053800c03470a5f1efeed9c0805581e032ebc062db7852102e80d93023e6026efd6f9b81578823a104e9978c0300c02465eb9b1f0568a03c024cd8a399ba74f02eb74639c6fbc767e470ed8fc525595772d16eed58daa61032b4d39625ed971e3b6923bda7a1747cf7a3f5032e53fc68fb33992fa172d8ee705581e0344cfc9e299226372cbf2723f89cf096848dd57f844b8c475ddd10d99900c014713d2fafdd8c0000318fc5dcf9473379b84de67b246085a2b34491b62ec51bf0532b2ab86241820fd05581e03c8f126ae6b0f3a4a5639e9e0d17e488686c9453d78687a4b0dab9f31700c024677f992d84100032c81873d50399ba8c1227342238008d4ac24b3c3a0f1f8b625fe96de53a79dab03007a84cb9acd22b0ab6556b9c6a12586e4ae334a34f2b5f48f6bf1b6d2705a7e031cb6bb1a31462dba7215c4e9a306010821270145bed2a7adb194d225aaab7ba705581e03ea51a3f2c1b81381188dbd953cdb807bdba16fd035b2e40a9f136034e004020219fdc303de9debe252c3edc4e35da1c979095d1435478fc2f1be46e719143fcb8c43965503d96844e6c9b6f231f9c536f3ce988e9ab379924c7436453ad7079bd14882493103ad8b2c67a46075855915c0cf39e7e3e68455c8118db9527bea8c9a4543c7acbb0339c09a332f038eb67addeb1a46910fe72fe6263e334cda082fa01d02ca0a699503014391650615717160a8a2add34d06f9c0b7b2b0ac973491afc1d665d235c29803325de1552b6e473ff5adba5540526c0c840b9c67d10b4017046f10f21d6ab39003f43cde24a167bc1a2bca3d0183b57c91d03effbdf0a71b447d1fad02e36eaacb03a5330e7a16146c996a7b0e62c1c974eab2c1aa7faf9dc8866db433d3701a0e3f03a26b90409b426daf74669b510cdef983e7967ea4856e8b0902125a47cdc8d41203ff847d0e0765f50c91967d360be8e6a752356363951824fe8c29e3ad3f96653c03148fa13c42b9beedc87128b45c299561a3860c27f76c9166b135a82d2da81ab30306c56c6a9c163285382c4c7373fbc7186968eb7a6286ffd86044371c570c43af0219ffff039263611a7b57fc4863bf592ad68781b2c87217ca8aedee3e1a193d89497c391e037ba4610a9188e5f3982c8fc7fa7578925b2447ecc95728dcc63d20c35f8fa80503abf408050ba45db4c778e48c2919df724d2f0d3edb51312507c4c9cacb55afa303269c5c6ab5fb7ebe11b50421aac49689533964ee561a72ba8b585d86ad336db2034c782650640c2c6bd25d050204d7c1c5894d80fd46ff013e48edb36b48c4d9d903e3792b787a86d63caa0a3a8626e09bc4a31591f4d96b945044ce59b1416da3f9039eadf158403a12b39f59b5de1c949e51f23b2490ef6b8a6eae6a448707c74e640219ffff033de562c89e82081c187c348fedb16b354e6aa6b680094155d33325bababd8eb5033cd6353d82786fb69eaee8891716b381c58a3c5f4b747944f4c7c1f258bc84be0321520b5d268b337600712e8edb651cad62cd3e2ef4ffaf5845ca752dd410a0680356366db856051ecd8219aac0b8332e817b4a9aa5314cfff429ee0a6c8680f2080347528ff15f911c266837ee5b93f9e5b97dba42ee811bef18ddd8f62e96dbce3b0373676a1a804508ae572e2e158759e8bd7992c40e2a513f5212c8136be2169fa6036e13c87be6cf4f5b8ec168d8dd06be6ce1a166e2ebf5e644f1c8b36591a82e0303b114de6cfa381f6d3f37b590af13f4c948cf835c20d11bfe77b4266f4263d7930385ccff781ab81936271eaa7c70eb9576dd0a8549591060c15ff09638c8e7f94403778b6c79860285adfed62b5f024697389c917008cebf5ae9cf1041cea83ca6550219ffff03a7564dc0021ba86f49de75af19b7f9d029b8dfc09fca2297f0a0f27751d09c4403442e3539d0eb3dbfee895c0650941f2832b78a1f3f0e3e90cee7741534ca31b90394b610b2848972fc8a5712ec33d8fbce89457245fe6e0e7ada22551fe7e0225c030aa50a31266d09d194b9d6d59ab9d7687ff019f43ff177b4fd6a5e7880f6784103c27085ea8d4c73f7da2e5a0e128fb2797fff6abd58808f08b12c838351ae403903a6ba2922a30c2c61af6414570ad0e14b8b9c6590c3f255c5f015f12b93b9bcd3037a0222786ba90c2305a7136038c645d79b5d72e50a39c031ffdc353d7239252903d8afe56ba5ac34d9d13d5c59182e69583ca0de98cb37141518b3a43805f58efc033d97f508dfac792a42b99c5eb31a6875f35475408edaebebfbcfb95eaed65a690390198ffbf77ce8318c7bad31d56311698f10f505df320d842c745e97156218cd03ec5b4cce539829761578f3f28cffe6405821f098b3c37505bd320a7ac59ca5d7033d16aec729f401f7638220ffa3d83cd88e863811e1da8accb41bb8b626b0fe1903530c48e610ad43917582af7bfafd6221e3a7e27a9770e78bef0f93239198373e05581e0308d279774b5ed5583fb9811be47bbb756dd5148e4343151d4799fa49a00c0147269324b6346e0003ba07ff42e252053eab33a6c1b180aa79f3907900c960bce69dfc6c8385e548e305581e037c5811dc04a0dcf8122d2ff7eb471896d7314065ba9be0aa62597449c00c01463d217a980c0005581e0321ea0c3e94e3dc705b3c4b6a7efc63aab4cae5ed30bda187f81847eef00c014625ffb56db0e8033f88c8e85436770f00f01947c8bb7f1b2c236a131c34ee48c398aa98f3b6612103277ce849156a3abc8415af59640543c8af090ea20fd5e4e7dde5f5a49d084bcc05581e034d4775b0fba68dd1db272a14a729efae3fff9e9571d9e1a782bfd70b100c183f47013bd8b9bf7e2003197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e037d01f34bd96250153b72a069216e774f83c437a0d47bfbd1b94ab4282007011bffffffffffffffff03186c4a2641e05c11191cf3cf2491dbf0cb9e79731c4d61123fe29534f47683cf05581e031fa7ad4cd741588965862cf9458fd3637eefb149fcb9e3fef0f4b6cfd00c11470167fcf70b92c80316f70ba948933698e8186dc07f1fa7d2410e54a6e96c1ed82f8fe45b1a4ab5710219dddc032a5b94b48f188a83299e2b2d6dd6f63b7ee7dcb7936efbc391118ac57d6f5c52031d02ae4d85c943c64d97921a69fda92852f39e4a701d29e7e3708c1021318a4b032a4e9df3f3707953633734b2d5c9eab0020199712b40b6b54266c1a0ef7d41d9039a12817dffe393699224fe19e9f7bb417e892b3a4f9eba2214d127dfc1f3eb71039e02d22df9b62e3f0359fab21cba8f80cf8dbef25f8907897f03904df2d909e403668feaac6d3b3b73b00f2a241a117561bb89e4fb50c4b7c60e9f51ac24f41d4f0374dd51e8fd95b6fc518f81723222632a8c6e42a42d13e1d4a4ed86cf47b8ce1303139a9ab13f919fa871be92dc4bb6d1fbf6c2adccc91e9afa055bb1fabcc9c70403b760413179a793ef3863aa090282371319a9f0672599bdc87ffb7356741b6ef50386a3acda8db94d66424e293a21d96a91e6fa7e5f1501103cc479fb41c9bc9a2703ad69e51b963a8576432e958c017b77f832c53e1e44f9c631dcc3e47c8a01990e030d3c5c085609cd657b914b91fcade7e0108970b8fd266e8a472cbbbb0b140f50035dfcbb719220993af559e525381ab7db7c47c62bc61ddd3bf225f0b9b1aa201203406e7f0511c83acf1f013a5c5158a2f72d073fce4f508cbe880e2f84ad9d6afe0219ffff03bb3ab0ea68e619e1e4689b067b853ea54154f4b66b7da1e6d07900d2d21c6988038d1b8eb0552210a4892f79b940ce6cfee51cbe840392d47cc1b292a777ff5576038c0a1953f46fc96b5e796aea5f015f9e63f9c8feca5a76a268622d1517ec8127033bf96f613183afc2a0bc7a28c453ee7343abec1f36940d9b3de944525305ff8a0327d4dd549cd0edde6ca0837d739333ff15e60a9bf3f965930785443ef5e5b35c03fafe95e62f77ea018021671d31db5c415480ec7fc04efdfc18ba4f84d518976303efd43b6a001a21b7b8a50dcaa465d838eb8a5fe4fd12ba3a8206ebd87ac2553d03b95794e46d665811d2744da27ff1e46a82895d15ceb07da681f51f694433adfb0324891a82949bd84cb680eb9f95ab20747ac3d9dbc3762c13f11d2ca5420284620219ffff036ac229c4f92295c01f9ebda88f2e27b03f8adbc66ce503dc31305bb189ba5dc00322b60cb0342f638bee1a781aadab3b763f4b03ffcfa04f11f106b8b0c6c2adb60371dac728e6039fa16e357a4ff84211c12764dd0545a2b062dc1a2d29c8fadc2803c9536cd1a6f609b0b87659df4a179e1ee5a7acefacf6dab88e90caef249f248e03f166f9ed9211fb37a5fd32bcba2503162ef5be8422326dc375d3af57fae47fea03155a23d10dbb51adab768d68ce9f82e0b85f49ccba76a05fb9596cc6a45c3d4a03920403e42ca0a99c1f2645e7bfa43fad42bf40e0b1a64e18f6bae33153089d8203a3f0b0a33046a41d5176b2ae677b92fdd82a15de52423a5124b837c33470ebe403772f1ae25fbc177c41d90c0a6b40eacd172e8c62bf38a89eaaa60bbe0f4aa3b2032779b4cc4858ce819c4a5ff38f8544de38c1e7839dea967a5753700557ec4ac003ab3bd88c6cee5259a134d1026524fae4249df3c57d4ec51cbadfa1d437a3b409033a3ad0d174faabb7e3eee000d5766fc9e69791eda936e92ca1d4e0a050001bb603ea3e3d7ff59f38e7b61a0a174232f59a01b953168d917296557d1b795a39bb720219ffff034ab07caec20c1ea1fafc124baf728e3bd20476eb653880c1fb5bc983e4aec87903ce50a1938fed22176d09ab0f7542ed51b71be6a1f296b9d13dfa6360cfafa2e403eecb59001cf5d156508398f4062d67244708fef71d28669483d7f037766847e70340a2bfbd0f17cae692f6d4a403fae2e4659bde02b5591907f0d8659352dbf04503c77ff2ad5464d61fc2f770823c3a8ee4d9cccc9df8d603943a1a0b3351b6abde039a3640caa42529ffecf3bb2507ca6c1782753d330f1ca5310c05f04ff755993103fce27da4bd57829cdfea29551c67a3a70935bee5b23719353eb8d5d19f1cf9b803b399fadee95a844a12e6d5147a7319a7ec2137bc27e34bbb8b60e16d04393e79030f6d05446a6fe0ccae3065c04c35fd493c441b19c02b3406f6856f62694e71560219ffff03cef2792e280dd8431943b0b52dd982dce74c76f67b7e5273804f5ad4a0e03048036dff871b5644cb2de4d150630d1dd59d1aa1cb82c3c28b8d03d3b783b02e5d3c03a0f6a1bb92805398c68b304a5d9b64c4c9acdfab5b671c69ccf46224a19966ae034ebd38eeca58357d947fbc34869b50db479fd418602c4f0f557fc49d57bb0ed7036f89a73ce9233e51289fed286117f8acb627fe31aed53f78b542b3c3f703baa10387375b661f9fbcabdc732cf3c4d31e54ec39610582f3c057c47a7886533314b4038054875ce62a47770973537c11731ab66933fed3e3d4c6f16b85002d4d0e0edd03fffc48520b93d1f78bef55a5cfb502551c608b85e528fa7cfc28a53cbc610b7903835e7650dc154cad0236950708ebbb1034f8c118550c3d6dbc2027b59b10d1dc035fdd8178015e31aeee4beade66e767589b1fadf542ccd2a75d669dc90e06363503eb4405aded1ae2609c4df14c899e7fec9b83fd4b806b067f6c57faf70e48314f037bfd22b08cb8dd99fd9191214c245d75a7d3353e3cb619896d569dd1f43c7814031d7c787fc2991572c98f873d7d623037079de98e75655dd7963d91659b4efd3a03e5345eea1af12ed506d85ce78c9ab2bf381e7dd838fbcafdd795f6d8051e2dc8035d1cdd1081f78907e08b92b4e4e55bb2067cd204d5a48b96ed9019f401f003ce0394b1034b65daaf6ba7a25e661fa2df962444031632d5113f34c1fae346ec6eec03ddf91fc7d31d814aa2c9ebf6ee31ae79287fa507d48bace7b3bfc51516e89c6a0354017ef5d3c573c0b78dab524301534592b5be65c8125a700e4607c16c3763ce03a6c9ed0b9b32f22986b69f3ecc11a0125d43b96bda8b7b47adfb7f0ad3db87de03165075b627c75543bcb0437de16eee1551b8c65d780529972444eb66a06d83320319b9b5623a79e632def8bdfa7229504e5d0ec7b66413e5689f83a1043ad7767a031aa6b5dbc63935f5f988015531c26c6119d840e385465d4b8e9e63a0566a4aa70335e539387ff3e825e059b27f5178ee73365384516d6917d8066d07d2198f71a505581e033cd0c4ff43084e5f1e114148cee22542675c69dfda509bc1fd62acd9500c0147307f18b5aefd3e0395c6029475ea1e26a39b5ce2366bd4022e6fd39868dafdb0dd9d2cdff141525d03564b5011b3c88b7433c744b0654085181171f137590190655ecf3948d852a0ff0310b819ea9c242842a7364dba5d560ee0c7f1d014e08a07f0dc05491890fbda8705581d02b2f63f8338795618de35a7fe71b811b52f6bbff50fb616581f907098040205581d029e2801afa580b01c9577d53f2257a292fd44aa2d3fb667f61e3e63eb0c15472a30e409f8c5d8021910010314aa4c9f0e9f4134fc08e50de243f6a759a8ecd438ecab23f1b3ccc8344d4d0f05581e03b3824ce185a011ecfd84fd5d230376bc98d381aa66db26b41fd76f23c00c034662af958e229805581e03f86b213ab5cdfee75966da9026ad465a174c94a9d9e01ffc4b5199d5e00c014777418267db88e003f995e437d667c3fc5218d083c54fc54df6b9d9d48092a1a6425da0228d5f9b2002191af50370b71a644214c230a448eee81ad185046ddeb8669a2ac1fc8dd0da7bc245cd7203f2b11f78a9136a33c97ec16b207383e2031722056c0a11c1e2a098218ffdcc7603aa193da45975dd945f804139fc6184f3dc23ba76cb0af21f4b55893d1d3401c503f2ae74340061233e866e108b70a725edb0f01efe91fc811ba5052c613e6672470369530e6c1959c3313b7fe1871ded1213fd8967671c1eeabee5877c2d37fc0d3203f6ecae3e3608f54869895de2e71bb11c3a574f97da7b287029193137f1de801203a3dc46c4d03371dfe94721a9bb578c74ae6b580d03ab3bccfd44f06382086c4403727e9a1d4925c5bc917730a879d2fe0bc15d8dda5b59b34f14d9a916859f6ebb039f93e02e0cb27b96bee1740dff79622c0b98f9e4fd223d4d3a8d776ad9ce5fdb03731d48cff287e4143d189c80df34ccae9fc2c7fddb4712efa5d0e9a66a99eae20219ffff0317bcc82327e8aa461d641ca2337fc6420a3de18c80a12081e9231692335a728503b664c6fcc75f15669f4022c410ceb546fb4f36a4189b56c8028921ce4b0466450378dde672bc417664bf8df775748abdfeb2df006b28aba42097038798daab1ce7037492ce5c395d828a3095f8cf737e69870f679ecff89dac089dfe3cebbf42e878031ec2803ead79ebf5d83e0f91d599d594e71c0e9e9edbde9a6ecd3de4bf8605a00368c8b528aaa59ff6fece3355fbeb7ce614f35470f1620151b451b7002144f766038161ddb7b0f2806901e505d8d9672d97085fdfbd47815b019bcdd666b322cfc203b11a7b2240e85cb36bab21da83aec2eb96b84da6086c10e92f48637de10c037603b09aa17cb81f745650a6c5ac9708c476f4172e44c249911211698187cff532f303f2d7c074980339b1aff5440313ad6f9718d476d1ec94bb521a328457cf6184d803a8e5c361ad79d6e8b11562a55669a813d23cf3b7a60522d67b026112427e7e6003999e8bb869a1ad971ae62d835ffb5af61bc5dafbaebdc4b0a5c5285b837c3bb8035a0c06fcc387c42e8e889f931422d29be3ae9a14076ad5b78756b632542754d20219ffff0348d008c889a5da1b333a340bf9efd046ce2d4d0bd86f149ccda061e27c55ce1403e15d779a9fa33b875aae8570e6147de496c1182dfe7fbf12286433f6d5f5ad8a03e5a295ade19806efdad1b400a55b1e69bc168d40252222b64a51579d2923a6160219ffff030fd9420c8ff8b2799165ba33ac28b2e05d3c39f33099f02cfc7db537e3270e940308752182198e15930d48eb6f39bced6d403c577001aa55410d62805a9d24277b038635122731d26ceee345041887d539d52d7b34b5868b25e116267e7d2b9078bf037cace2cfe2f445fe8dd4c863346407790cf0975b716bb0186cef25ab9c1281fc0308572b6dc1077ec588508974ee8b0694bc0049253a2990e8e0b8614121722f1603606da2abc4f2237b5d264141569b1d274cf828d886ad167f953a912298d5ee45032d42c2351532f25e83c3ba84c4a2663b3c56868a42b0a758f27ae8fb2b7b7de003278e6b29ff11f38b51d4870cdd8d30716ef6c95d922bfd3ed2166dc6ed63bd4e038e7ce02b2794dd6f35d0208705fc7f586f626792598b1ef9ce8c66e1ed45f72903ba629201ef345667da3b0072c079c689bff88a509f5093c2b8c32802712c681903e0d81220f6815cec16f40823f5f59269756466fdd05f1c42fbc3e19f41e18e1a0219ffff0390e5351628b63bb17324f9f72a906f6056e5a33b224d480d795ccc4614a099b903eec9dec7f70df607f468f3257ab856324e4e06bd8116c2d94db81b63c6d1c5c4038685442edd2c48c290d2314abb3659485949e8553845f93cf90d91ae5c7cb1df038a668d59599048fa590d73b0f04a7653c4e90748593e5d6da896d275e9bf7ceb03102a673c7e0c89fdedc38028d18e7b5895ed4bf19c776a99c6abae09034d9cbd03015c5393ee95f44fc36f4d4f33c324ae3b3e435884e0417308854e86beb2238f03bf52be5210b2559c06aeeeb36393609d417c937eac1b5c97f65372e006659fae03ea672de135e4728050c983a8bf2ed00e19c867b078bc63f3f5885dc79cb94793038c561d24b8bb644f3ffde1d12cc73a75e7208de78717e596cb1d3268db147bfe030cb0cf9303d09eda2379eaa28e11c17bed05e1ed3adc2020d637ce6232cb546903e87a8769522fe0f19bd5b700de13f776898a2792924e384c4903115e61c480b2032892c3730f67979235a805e4838de15dfd0c4c91ef383a0b41b4223a578238d5030585ec764789d801a7b51e8e967b8b64c8c1eb445b65cae9af27ecc12358e5150368ded4128897e82bcb102502b30c468e23dc0305db8aba51b5fcb47079b67b1e039919e81a828b2c3079753c9c6d2ba226b8f21cc9ad9c5c60e46855f319ba9e5e037390a66e7ae5dfbbbbaeef0e16c858bffdd88b9d089cbc71ae63c409fb070d5a03753b5d0ffcfb872cba96041b3929c77a5b74adf36bdff8f30007b420ffb138cc03a72380119aef3fb0cbd69a8f15d15c2c5d5faac8ee1948140b36ba01aac4783a03755d2b3caa99b8f2832885200ddc4863505c90e8f7af31af9fd1cbdad1e4ee7403ca42d8d6ea5f625a8457cf08d0c8fabb97b9bd389b948bb728db7e68b8e523a403f55ebca60c4aac67514be1d9292be26918b75efd2a81becc05badec46486f61b031c010628a74e461266f4c9521a297be33c0cade3149f52bfb0ae3b38d6ca8e71030887d2a169c194382e9352aab735805f6e38540efbc7c94246fb9264ed4ccb6d033591f53b5407229c800d4ce9434042399761ffb1734de480f3d60bcc55b01ea803199958fdddb20ec4d8c754fe02723b61bf46dbd5b3f33b8396de63e550e669c50334b3a2bd74ec7dcf48207526d687080997c4fc44c0ce76ab93b4bee53f03c0e903872f2a0dc5a089331b0249ccf6bdfdbb72d5f52cd613bce68802860b1394c7c6037988601f27e68baedbae2434732d56809e52a96a8705dd70a3edf04e8001810803ee6e6d26e1f6c7b7efc7dfcf2e6da3194ec0cbf919b90d3372b39918540f1cfc03639242985a6202e826a13f6ffe85ef6cbe9dc5d07224a543866eb4d65b992e6d0359005860de13dfb9e98893eaffeed23bfbac3c4543cd7e53c8287b5949ef914c035b75a0ed6fc0198901d8b843d138129f43cf4bba972f517d2a7e734b2ccba188031e00f660a36892e634c3387f30675cce9e097adde9cf13097cd35fe064d6cedb03a8781a25822c8535f36c360e5361acec37539963e9074074c19d5827951df96503c4e5e720ee34d78870fa4040251d589f61c75f3040555d7228dc2760c47cd0d305581e03f0eecd9e16be80917a52499de522fe0a916f7a39dd5c792dee89931b200c0146491aed58d800031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e035098c0c14a7875d53562bc3ca8f61797ae20781d8dae255819425c4a5007011bffffffffffffffff05581d020cad43a621d774fb170e6437f894df3f96c8ec9adb3cc7647e41e5960c06470307cc89fe4f380459260b6080604052600436106101b75760003560e01c806370a08231116100ec578063aaf10f421161008a578063d505accf11610064578063d505accf14610523578063dd62ed3e14610543578063ee7a7c0414610589578063f2fde38b146105a957600080fd5b8063aaf10f42146104c1578063c4d66de8146104d6578063ce7c2ac2146104f657600080fd5b80638da5cb5b116100c65780638da5cb5b1461041d57806395d89b411461043b578063a457c2d714610481578063a9059cbb146104a157600080fd5b806370a08231146103c8578063715018a6146103e85780637ecebe00146103fd57600080fd5b80633950935111610159578063528c198a11610133578063528c198a1461032357806352d1902d1461034357806355b6ed5c14610358578063665a11ca1461039057600080fd5b806339509351146102da5780633a98ef39146102fa5780634f1ef2861461031057600080fd5b806323b872dd1161019557806323b872dd14610267578063313ce567146102875780633644e515146102a35780633659cfe6146102b857600080fd5b806306fdde03146101bc578063095ea7b31461021457806318160ddd14610244575b600080fd5b3480156101c857600080fd5b5060408051808201909152600c81527f65746865722e666920455448000000000000000000000000000000000000000060208201525b60405161020b91906122d0565b60405180910390f35b34801561022057600080fd5b5061023461022f36600461231f565b6105c9565b604051901515815260200161020b565b34801561025057600080fd5b506102596105df565b60405190815260200161020b565b34801561027357600080fd5b50610234610282366004612349565b61066b565b34801561029357600080fd5b506040516012815260200161020b565b3480156102af57600080fd5b5061025961072f565b3480156102c457600080fd5b506102d86102d3366004612385565b610739565b005b3480156102e657600080fd5b506102346102f536600461231f565b6108d6565b34801561030657600080fd5b5061025960ca5481565b6102d861031e3660046123b6565b61091c565b34801561032f57600080fd5b506102d861033e36600461231f565b610aaa565b34801561034f57600080fd5b50610259610c50565b34801561036457600080fd5b50610259610373366004612478565b60cc60209081526000928352604080842090915290825290205481565b34801561039c57600080fd5b5060c9546103b0906001600160a01b031681565b6040516001600160a01b03909116815260200161020b565b3480156103d457600080fd5b506102596103e3366004612385565b610d15565b3480156103f457600080fd5b506102d8610da3565b34801561040957600080fd5b50610259610418366004612385565b610db7565b34801561042957600080fd5b506097546001600160a01b03166103b0565b34801561044757600080fd5b5060408051808201909152600481527f654554480000000000000000000000000000000000000000000000000000000060208201526101fe565b34801561048d57600080fd5b5061023461049c36600461231f565b610dd5565b3480156104ad57600080fd5b506102346104bc36600461231f565b610e7f565b3480156104cd57600080fd5b506103b0610e8c565b3480156104e257600080fd5b506102d86104f1366004612385565b610ebf565b34801561050257600080fd5b50610259610511366004612385565b60cb6020526000908152604090205481565b34801561052f57600080fd5b506102d861053e3660046124ab565b611083565b34801561054f57600080fd5b5061025961055e366004612478565b6001600160a01b03918216600090815260cc6020908152604080832093909416825291909152205490565b34801561059557600080fd5b506102d86105a436600461231f565b611205565b3480156105b557600080fd5b506102d86105c4366004612385565b61141f565b60006105d63384846114ac565b50600192915050565b60c954604080517f37cfdaca00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b0316916337cfdaca9160048083019260209291908290030181865afa158015610642573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610666919061251e565b905090565b6001600160a01b038316600090815260cc602090815260408083203384529091528120548281101561070a5760405162461bcd60e51b815260206004820152602160248201527f5452414e534645525f414d4f554e545f455843454544535f414c4c4f57414e4360448201527f450000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61071785338584036114ac565b6107228585856115ba565b60019150505b9392505050565b60006106666116a1565b6001600160a01b037f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f1630036107d75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610701565b7f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f6001600160a01b03166108327f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146108ae5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610701565b6108b7816117c8565b604080516000808252602082019092526108d3918391906117d0565b50565b33600081815260cc602090815260408083206001600160a01b0387168452909152812054909190610911828661090c878561254d565b6114ac565b506001949350505050565b6001600160a01b037f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f1630036109ba5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610701565b7f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f6001600160a01b0316610a157f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a915760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610701565b610a9a826117c8565b610aa6828260016117d0565b5050565b60c9546001600160a01b03163314610b045760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c7920706f6f6c20636f6e74726163742066756e6374696f6e00000000006044820152606401610701565b6001600160a01b038216600090815260cb602052604081208054839290610b2c90849061254d565b925050819055508060ca6000828254610b45919061254d565b909155505060c9546040517f561bddf8000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b03848116926000927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929091169063561bddf890602401602060405180830381865afa158015610bd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf9919061251e565b60405190815260200160405180910390a36040518181526001600160a01b038316906000907f9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb906020015b60405180910390a35050565b6000306001600160a01b037f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f1614610cf05760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610701565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60c9546040517f511997000000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690635119970090602401602060405180830381865afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d919061251e565b92915050565b610dab611975565b610db560006119cf565b565b6001600160a01b038116600090815260cd6020526040812054610d9d565b33600081815260cc602090815260408083206001600160a01b038716845290915281205490919083811015610e725760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610701565b61091182868684036114ac565b60006105d63384846115ba565b60006106667f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b600054610100900460ff1615808015610edf5750600054600160ff909116105b80610ef95750303b158015610ef9575060005460ff166001145b610f6b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610701565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610fac576000805461ff0019166101001790555b6001600160a01b0382166110025760405162461bcd60e51b815260206004820152601160248201527f4e6f207a65726f206164647265737365730000000000000000000000000000006044820152606401610701565b61100a611a2e565b611012611aab565b60c9805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610aa6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b834211156110d35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610701565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886111208c6001600160a01b0316600090815260cd6020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061117b82611b30565b9050600061118b82878787611b99565b9050896001600160a01b0316816001600160a01b0316146111ee5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610701565b6111f98a8a8a6114ac565b50505050505050505050565b60c9546001600160a01b03163314806112265750336001600160a01b038316145b6112725760405162461bcd60e51b815260206004820152601060248201527f496e636f72726563742043616c6c6572000000000000000000000000000000006044820152606401610701565b6001600160a01b038216600090815260cb60205260409020548111156112da5760405162461bcd60e51b815260206004820152601b60248201527f4255524e5f414d4f554e545f455843454544535f42414c414e434500000000006044820152606401610701565b6001600160a01b038216600090815260cb602052604081208054839290611302908490612565565b925050819055508060ca600082825461131b9190612565565b909155505060c9546040517f561bddf8000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b03858116927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92919091169063561bddf890602401602060405180830381865afa1580156113ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d0919061251e565b60405190815260200160405180910390a36040518181526000906001600160a01b038416907f9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb90602001610c44565b611427611975565b6001600160a01b0381166114a35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610701565b6108d3816119cf565b6001600160a01b0383166115025760405162461bcd60e51b815260206004820152601960248201527f415050524f56455f46524f4d5f5a45524f5f41444452455353000000000000006044820152606401610701565b6001600160a01b0382166115585760405162461bcd60e51b815260206004820152601760248201527f415050524f56455f544f5f5a45524f5f414444524553530000000000000000006044820152606401610701565b6001600160a01b03838116600081815260cc602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60c9546040517f3a53acb0000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b031690633a53acb090602401602060405180830381865afa15801561161d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611641919061251e565b905061164e848483611bc1565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161169391815260200190565b60405180910390a350505050565b6000306001600160a01b037f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f161480156116fa57507f000000000000000000000000000000000000000000000000000000000000000146145b1561172457507fe7ced0173c3e775aa8df4277c7eced5d7a31ebd256fdd7edc63d5b41f9e8565f90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527fad034d436c4e28210791bcc03026c060cab16e047cfe9b2f7f95a1cc8f87799c828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6108d3611975565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156118085761180383611d76565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611862575060408051601f3d908101601f1916820190925261185f9181019061251e565b60015b6118d45760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610701565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146119695760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610701565b50611803838383611e41565b6097546001600160a01b03163314610db55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610701565b609780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610db55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610701565b600054610100900460ff16611b285760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610701565b610db5611e6c565b6000610d9d611b3d6116a1565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000611baa87878787611ef2565b91509150611bb781611fb6565b5095945050505050565b6001600160a01b038316611c175760405162461bcd60e51b815260206004820152601e60248201527f5452414e534645525f46524f4d5f5448455f5a45524f5f4144445245535300006044820152606401610701565b6001600160a01b038216611c6d5760405162461bcd60e51b815260206004820152601c60248201527f5452414e534645525f544f5f5448455f5a45524f5f41444452455353000000006044820152606401610701565b6001600160a01b038316600090815260cb6020526040902054811115611cd55760405162461bcd60e51b815260206004820152601f60248201527f5452414e534645525f414d4f554e545f455843454544535f42414c414e4345006044820152606401610701565b6001600160a01b038316600090815260cb602052604081208054839290611cfd908490612565565b90915550506001600160a01b038216600090815260cb602052604081208054839290611d2a90849061254d565b92505081905550816001600160a01b0316836001600160a01b03167f9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb836040516115ad91815260200190565b6001600160a01b0381163b611df35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610701565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611e4a8361211b565b600082511180611e575750805b1561180357611e66838361215b565b50505050565b600054610100900460ff16611ee95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610701565b610db5336119cf565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611f295750600090506003611fad565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f7d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611fa657600060019250925050611fad565b9150600090505b94509492505050565b6000816004811115611fca57611fca61257c565b03611fd25750565b6001816004811115611fe657611fe661257c565b036120335760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610701565b60028160048111156120475761204761257c565b036120945760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610701565b60038160048111156120a8576120a861257c565b036108d35760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610701565b61212481611d76565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6121da5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610701565b600080846001600160a01b0316846040516121f59190612592565b600060405180830381855af49150503d8060008114612230576040519150601f19603f3d011682016040523d82523d6000602084013e612235565b606091505b509150915061225d82826040518060600160405280602781526020016125af60279139612266565b95945050505050565b60608315612275575081610728565b610728838381511561228a5781518083602001fd5b8060405162461bcd60e51b815260040161070191906122d0565b60005b838110156122bf5781810151838201526020016122a7565b83811115611e665750506000910152565b60208152600082518060208401526122ef8160408501602087016122a4565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461231a57600080fd5b919050565b6000806040838503121561233257600080fd5b61233b83612303565b946020939093013593505050565b60008060006060848603121561235e57600080fd5b61236784612303565b925061237560208501612303565b9150604084013590509250925092565b60006020828403121561239757600080fd5b61072882612303565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156123c957600080fd5b6123d283612303565b9150602083013567ffffffffffffffff808211156123ef57600080fd5b818501915085601f83011261240357600080fd5b813581811115612415576124156123a0565b604051601f8201601f19908116603f0116810190838211818310171561243d5761243d6123a0565b8160405282815288602084870101111561245657600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806040838503121561248b57600080fd5b61249483612303565b91506124a260208401612303565b90509250929050565b600080600080600080600060e0888a0312156124c657600080fd5b6124cf88612303565b96506124dd60208901612303565b95506040880135945060608801359350608088013560ff8116811461250157600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60006020828403121561253057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561256057612560612537565b500190565b60008282101561257757612577612537565b500390565b634e487b7160e01b600052602160045260246000fd5b600082516125a48184602087016122a4565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206f55303b3393a36413031b5646f5fdbd15039b4d0bad0bec5ec03037c62eab7964736f6c634300080d00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041ff00582103ece8bc58ff15c69f870caf0b30a433fbe278e87178d8d595758d0b3b01c14be05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219200405581d0320fab42fc95a44e4e4ca3dd62224a856a76cc6af5ff89601b47d5f70070119260b05581d0321a7d9f30c3abe4a35f732cc27636d5425185c757c352a2185cb77e004010219080102182805581e03ac6931d35b128ace244cda267bb729df8e7a4d8f099719c348bca5603004020348818d97f9f905571bb9ed0f035c6f422246451521f79ad183b0eff84b0450d705581e03982351aef75fbf8ffcb599d8050a12448f35d28b3bd38803115fa7ae70040105581e03fe182a397adf9d2edfff4896788a13fb5c073597be20853cd6c74584500c034707cb10d591ec00030925830503fac6a2f7a55251f93d57de16968f809aff8660fbed0843bc3ea0bb05581e0385428776ae959ce43d4cb657b852e77437e7fc18a9fb4eb33217666ac0040d031ddaa7c8e2cffe6454fa364468697706832e31a72baf3a38be3142ed40981adc039716e7175c5351448af3bab5160564b9e757e4df3cfc0f7a9a212ce283bea0fc05581e039ade8798dadf6d6ef1f536613d6d32005a3767b797b12373921c76ce300c0b4704830eb2bc5b720219abbf03f8d5a1e9b352b111421d097a3bdc35a57cd5e4381986d8c3eac45d0a963c489303a82dd4935da13a97df2eb6cd576200a8fe7424581026e38fbeca22539a4b3300039d48e1de550336a3ea4424cf289012a1b566de2c94d7a91c9a67c9daec104b9b03684f1594641cd79397d040af9ae01226efc976190f3c7839a612930c49618970035caee1017a2303abff4e3d93a52e2130bd993e5e2edeefc01cd8d2e7a39bb2af035c0e3eb38a51e183d6c35921371981d78a2465b10de16c33d88c770bf3a04bd003437682add8cc7828fe9a0939f121172fb5971896beb28b609dbd4feaac031bd4039a5dbd7bd4ed2b1b42955d9ea734b15c1db6c4ef10ac1d6d4c391168d79168ac03e1bba8bf77405597ca74b7bf49e3fd854eb3c3c62d94bc8509d77a1ac272692703cffbdd9ae3ba17d33135c8db132f4df1d4332e572b9755808041597456fd15a403a392a191206a7ad7c648108ddda3a55910a333f08847cefb188dae345c3964600219ffff03fb1f74ea7ddcb64cd3c04427b5bb33ba9c522ff2a24b6c5b402d4bdd4bfcfc2e0219ffff03490af6829d1c2edb881641943901509fb5be3e1efbe30f950d9bf998dd2e1713038cbbdef3fe88096b6f7fbcff64f7e34fbb748c3efd4d3ee739315372597109e403edea586dc7045d15072913989f056a53f214bafc652d6647a28a960888656d2d03669bf46c7a8fe23072b3da980a390e943743461f68fc3d82f52facb20b3c92bc036ad4022d6cf5d756a2ef08f30da97faa52bf441ae25535ecb64d43d689eedf2203df19c5b21483c39f33fc10d8b4d4f9f1c2fc417c0d8bc454dc944be3685bf3f1032cfaaec38251fdfb26e96da45867355ac0ef6f047641f8c1946c5d89d16fd01803953210b00914b78c1b13a3a02110f2b3ef86b048a6697206969fe90ba7dbfa1a03ad2df82a80a44ab309833852b73a3f04032c5b5882f096c855f8538ebddaaca703b9451faf9ec11002a20c2343e1cd03d953d84f85d0f8bcd2ffac85592cea546b03bd90e9328c553d9978cdeebd176c90660770958d87ca20a3d143c4c81ce2a9e80371d125264d408312aa234afa2fcefebebfab9c11381b9b8a3f2f7e18fe097ba50219ffff032b022d22ea5cb9241e548f6ae3cb4ba5e7e800d80b5894931155c2f030665ebf0219ffff03bf8931153098e05a3b829bf217b12cb4514538353c6b694f1cce3c0ee8781d6f031823e7639f1ff0da1e6bc7310c9663ef30fea137aeb1e1feffdfa78b4c9858240304d511cde439ac61fa96273a0596a563c9013862c3b02d89625bcdbdafe2436503b2fad2513bb2589731f7802830dad0f0c6c825dcca47449afd7572062bf3a69f0336b99d1a350a75d4926179c9e815c6785921fa95ef8fe1df9ec4e32229256d51037762a48f50042a5b6207ebfb7e08b71948d44d6d226574af41c34d7df53f16bc03268000e6f8b67b6f9632cafbea2492b84758358fa6ff839d4a84d3eb3f3ad3db03dcc259ebcb69b7c9797420f8b84e4f6c37735d9708d74b5c222a7fd2e481223403d367a7ab793b5d7a92b6bc7889a438c138c14b291f0811ce9b6b438e2505fa2103798ff4441f7aa19b6305333ced4c5e3b7a12be07ac4f464e5da61079f83221d2031b43ad452af0fcba0b3e9ff9f1aaebef345a2e86f07f8739059add01aa7e30fe03e3cb88684b956cfb494eff2f090942e1c84a41f4ff7d3d2c4159c9bee8f5331b036a0cb509ac070b730c574e6e2cf0a3ab3c9df02a3a7a2b7743078945ad57e4b003d25790019a712b69fddffbd3ffb84b79cfdf49721a0ba815b08097117d82b50f032c593d03a25234f59cd485ec3900c7248f869ba4dfb079ca3f0bd59eb57e90fe03473aeeca1033a00b5ad70e032cda9b3817dc270406c0a5190c024a48cf79d1c6033a3c1b7d6a6d02e4decf37a6de2d4db5e92e970301f7a4c60f348d5d88e3e2d4039c161a9e24d26e4f071c8b105c941c1bb63a861ddccb396322e25e57717b4e13039991aa817e57b38c340e235c7e160c67f7bb5c1789bde06f2ec49d19c10a91ef03cfa91fcc87f008c13acd338dbf55d191817b2363f95666f9e19a23d73a844a820328a7840ab1311525ff20e6b10fd8522915ef05bf46e4b1e881c3e1567e31a00403274a9621102aa5c9b5235d0c97f4d6fede8bdecc73db0374ad4db810546b01b20328e88b51cc9730b100ab261fd91fa2c7e010a256c47ba5573a76094d0b78e1bb05581e03e62cb175d7d43db8d47c4d86e754da1bd273cdef9310623cbb342b6f2004183f03b09e50c1e9e9c5111db3b3979452954ce198c81ddb95fa796cbec6c8e13fc31f03b162e1142839b3e0eb18e4486065d7c6fd66b6260287f4b0693a74f3266e0c8305581e037d84899dfa371ab5bc5aab56da172c399efe95554f0da5d680025bb79007011bffffffffffffffff03bbefa10890fe74a9a2897debabb7960a4314f0f2b08a48062348b0b7c3951c24036826bd1056ab15c5d3f87c91da936ca1e584f18b0a7fc10ff6fd9c715469720c05581e03cfa1128ab2bed15a7ac9057994e4708683c032fc7bfe1ff057a7e16f10040203280adb3d6140c3d7906b72db7b93703381614b34f4fd78e570c3c12df020cb1301410a031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e039e94b00656f3c11833a5072ed32542d312890982d423f22e857577734007011bffffffffffffffff03183fcb24342080536275f3450389c6b7b4769e88ab808b6a64bd559c0c7b552205581d0235f475eb9359ebf039d6a6d55e53b9e2a9240eba47e72baa6e78e8e60c044203e805581d02b09d76d5482d7057b8307e12a52e6b6ece3b92d09a0c4b7fa691162a0c1a00010de14866ce6b5d5722f2f60219202002198b9d03de07440a8f639e7c82b3e199d9af021b9b8a55126116f3314e84bc8ada574e3e03155f421ed1833523581ab11c7da257ba0aea6b258b4af3473887c79b8581231803117bbaec0b08e8885a499aa5b426663e11866ca92f41be3a3374523e38bce165039484c54e76607aab54f1a7ba47d29306a137efeea27f6ed15758b23ffd2a6ce303c77d9a867e0854c96806c8f62c627bc31bcb2b40756c2c10235fd9b021e5949c0353240cb0220769fae1ef7a89c518cf6445ab8f0bee049020186b2e3ce98fb4c203325841867e0859b41f300f716f55ce86cab0c319817e0e08c2e61834c6d394f203d0d3a958d3be4b4240e9e630ac29e507de7da70e5fd34ac099996741806ee9c00219ffff03b21c0caac39abd39cf2ba2dea0f431a85a171bd3bed9d6143817d46814fb6f2903da60a8a9be2ae7b9e54e24e2a29cd70c4b0d1757e14dcc3869fd25f747156292037dc0b38dab27e389583360b5bd4ef97382586da6c95f8da43e469309963d35da03f14e9cafb1c3c41bf30eb56c7aca1107a45505795661421cef059c858b7f483603f41a86a23ec302fa0e9efeb79b692c4142d573e2fcebe7ac273b81406e21951e03991da6828c7587898a884abdc92db43dac7914c9077aeb0d9bb05fb40e6e7bab031c866721db931c5a1f58add64751a87389c2b0c77328d33a447fd99e5bfcfb16037e3a161bd4e371ea740adc347d7d0eccf972a6b9af821da4ed18502ef5fb7a5d0308dd415e7b6af331bfe7bee2a1a257a558890e43e90b4645c9812a9f3e5172fd03a6351052c5453a1576703b3e0dc000df0dceb5cc5269832659a62ed95ddb1c45039b2e42266854f45001f5dfe2152c7aacfca5d687040772b41a92a84d3266f4c603f4f89b672d0d4a9068022c16db94d9a955164a1a2dc32c3b7c4b86b152057d8a03bbb1d0a15f3b816a73d9d523046ccc84b2847ec55dcdb038ac85362f4b6e05bc037fc4f1b9c66ca92f8fe0f6128a84912bcbced2f7e72a9129c5a0c428593ac6d30219ffff032b5fa3146049515b1a65140ae5b2e96b1c3e604bbdd97f9473eee1361a59a42e0219ffff0337e5857cae81854347092fc0a6219f6087d599806cbcab4e459a134fe14143d403d3909b63469bd1a7000259b57a91cb1bf8ca1fd89ee75b24fb02ca4d26807656034d4ad679ae79da0c746a1e4ec5521025f4cf43282871cf85451799bd24694cf503003e35922bf9ac496f11a213d2f9f36daf45fab2696afdd49393fb4ff97e3ad903a122724dda86d3876eab685e28cd15d50bed130bd91f53f1c31aa4f7dcb7924803ab8179d4bf976f0ed86a9912f405d1f7bb84d16a013809f92a14724a9cb09f6a039dff02b4dd378296475dcce0b4fffae2c0528d7b3d074d3d6237a06ef7db0d450397e61d3f4a5b744e147e3b9df07e90de97177ec60de92d4f71f4db6e0a1c4bbe036f43e2788ca23a576cdc7ec2bfbd7ea97f1b5aa958e0ed46ab48dfd3f98e9984035df439f5afeab1f1013f28b3a03b7b3a382ea2064ba4366cba40a854da24d9b40371ec992467fb6b435ff1e3eb60cb39379e4360f4a34a527ad258e01990618a1603e57d0870b0830b63ef7c294844e1adcec77e0badb944002229dbed0f241b244a038bd4629042c68c291fd1385b072689353a11ee5caac78e0364c36ed83211fd6b0342a76674d98b146a1776161623eed0ecc5b35a247631ae5454afffbdaaa66c11039e5c3e30f24bb8c2768b2b06546e1da2d91a80fa49667b8bb2df19e1349155480339b958015d0cfb1f6c5c4392ef9f5cf1960f7db5017722a0980ad30ea486576d033191eef51421e67a4e661b9fda4bb92ce2362633d694700e44ebbf9199c83e93034a4290782a4e278c118662bdcfe728b0c304f071e71ad83369d52f36d894a92d0367050c6c8078bc5c000022b726a657f30a6c692716077ab24a3d045352085cc403f98a085b493deab53bbf212077b8dc665144c6134ccd94320ac56f819a232d8d032d0f9fb22f5a7a3dfd482184d4955d7cd088b6f6816d593a8a5ed18813990c3c0340db8475c2c28516a80caabc9c95a0b2349de0e67773f8fbce1d86fb949e956b03adf7844915b8b8f24b95dc6963a652fff23364fc61c8ff7d53b0e340828174d303944b2596ad44c5832699b0c655fc5543d690793404b352851be35cb332ed099b0326654ccac59da93f0e57faf3352e2a887bc4c44c51eb75c50032bb113855e5ce038ed586ef74e8e78078cc936fd2820cb0cf7c05d7bf5d0c06efb326ff0f10e6c0038bf5e74beedbd717b2b1caea4cdd2937132e785788a7e2892c2bc511e27128bd03554a107ec69342dc3eb963ae46cff32abde0535a2385e3085466752d9d472cd10306c456affe0fa8c3fe7271d644199273470d963b1bb3f3d0dbeaa6357c651de805581e036a23ac63b9d26946eec5bae012333834a1504c4857ab75d8707264f5600c02471f1fd4d69cf62805581e03eb068245e119e8ee7a3175f180732ff1d0b8b3e97be7469c05dd4c97a00c0346061a86c5660003f3d3cbe18f08c6386fc9cd8b95e52b27e62ae5d70cdcf9c37d9a0a723b23ebf303562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e037740b0f60248a791f0928ee077c5bd9c559f92e9706f74fab44f2230f007011bffffffffffffffff05581d033e2be5c7d176cde19f58c5e1c4ec649d9afaafbfedbc821fb71feef0040205581d031a1f96fc14aef1f110e2d43f121bfb6944113b71b005dd680e8407600c0147308d6211e827800219020201410603d137bce159a666dd0ad3fd964f44d83a24868031c4343e8062482fe16ea95e4405581e03c542c36feed8c3c89da4602fb53331e1eee46a4935a158d80b550c2e500c014716467d1a5c0d2402191bb4033ea1f70b43425cf316d4b7effdaf364d1ee1c85b1b36e08e1b381db4e11dfe0d038cf5ad662e0a880e9f1aa8ff6f13dbd1e7aed59a85c83250cfb4b75f0784fb38038bde1e44d005a25bf0fe2cec84f0829ea70d7c41841a87d9490fade66be63f7e03d300f51f7b9e83e7978761fb94dbd346ed93ae46e0ded27ca86323f82abf7fd003864bd377b2d706634ff7af12e0f65973bbc474704f72bed10cbfc4ad0732ccd7037f56d038691ff516c5dcf699534d8aea1db3112f73dc1b82f0babb693c4942980372dfac1fa3790a587b2bcc01b9f12ee103958398cdfc9ece3b0129ae3c10b06e0219ffff037eab45a6ffe1d754475007e74a5232686235a74fec0213589ab2435fd105b8be03a9c779c919dc9011679d50e299b5405306400bfb39d9526ceffe5fce717260bb037a5352dc3c4090d0b75466bef9ae2d6d195d74997c898a0e7860ee1437f0fb220314c3bd3658679196aa858520df3559884ac3e4fb9bb8d77bab2c0e05736ca6ee03c0f621fdffa7044bfbd18d98b051e0da458d412f64d285da5a99c1c2202f45660219ffff03df5753d7837dc4f7dca39109ebfa1f650d944c8c5dd5774596bb13562647b2e403d3e8390271707cdd8af545ca067e802eb5b479b329e41135593ffc56af5521e103399450078d1a45fa180146c9036974db2d01ce21aaeb148d39734a65ef3da52f0373d0b1767a093fa83d09e088a73e8881fe7e82f36fa59be59dcfdaca7f3972460391c81ae50f0b66eacf99947332fb32ae34220e2c757a4a9a7b9c19c9acee54350219ffff032407a254302cb31ff0633c7ced591c6281b125886c8ad790b48ba0d123922b190397a501d60f6a5267212f1d09ba83dea4622a250d19eea1d19270c7ba50eb2fbb03f53945ec4713a7aebde7f6b539aefde4a0b906d6df7111de732419856b8861b8030a3daed1d8ef35c9080c2cc764f3ec3d2a4da79621455f6eb54aa97aa3ad7ef603f08f041df6c1c4cb0f0cc6e8d36a881203bb38d8f1469b64dffdc58e4721df2a03c5f963194f77d5f6edab356d9bf67fa500cc2013181a44c449be72bb667f425c038a16a19b0aae84a43e02a834188a7e8b5dc9e174da3f1b8372c20e1320210d5f03cd55448b0df77458f161d87d2cba4cb0bed5e23606dc124ea855d7ea42ffa27703dee4bfae20ce2e78aab55f6b984861477f0d072c76894798ef60ea98e5bdea1803fb044ad109fd54ab4326bb1a47b23f3f5ad1b2b032567142b55b7780415411f203b6e19dba8ead6a14b13edecca4ae1a8e398c2eab949ddf6eb663bb3d07744d6e034e3bfeedc234bc17a12b54572cc47f3743d3974f24d8b104928f5f05341cb97d038a82a12d3b02e033f07617f5263382b0d048c81aa787770a7249a37f52fb6b8b0219ffff03c2e2a2ef2a8f441829d1e137adb38ef03311c6817596a62b10cf780e011cca3c03dc9f8c94990c0bfc1b6f1a2deb640c22d746d3f8e1605600d377b6bc6f756e2b036e481ab23d08e2ef55d7d728b0a4d549357fadd042a8532ae6e6c63d2a7073530392caf3715454034e1fbf4a32712167b3f6fe09a5bfed9b052fca7db97e1f021303c4d45950b9400a4d219cd6dcfb76e09147495a84c8556171cbc73411698fbcae036d2432e8c8cc4a2cdadc668716bce6e151e2bff7fdfe1645b20957c3c6d410e10366dd4a28919f24a1b10decc2bb5346ff1a039eceab62174d76025c607a2e843d037d5c091bac75efb08c75b9af88dc3f57e5208e913c1eb8352e03348067578ed303a9a1580f4e708768050483244a03d97e352304e55e984d7ab4aaf5c4cf76932703f259f984cfbf47f042300f0ddc44d2020094678a49241767b11a0b5cdf8ec6000345d998e3ad2bcaa992831f37e90a5dd1c6bc8de30d82aca598eb55eb3308e37b039a27b2033ecbf5b1755851f98b8b21526d0ebe6765490b7b42f3671eac06783e03c156a7fb2ec4c5f85469041f1bb6a6ceb693d7431700e1d9160682d2aa36c09703629040030ee761812aeebc813d1b3aafbd4069bfc3f552a7aae8d312388b664305581e03d5e104e6fa25ed0a0896733adac36c039697afd31e25a8af88371936600c01470247a198f8f3df05581e034f5caf5ee4523d4d7a90c4006034a92233a4d4e0fb50d094352ea74c70040305581e0347aea5bf04d6f1ffc7180d0795d267e985344d4a1665f019923f1d4c00040105581e031b027c54c383ee7d4d3773c49e9ba727075ebf22b0eaeee9256bec58d008472f8f795296ff480346cc09693eb13aa68dc4be4012afde8383180e231b362ee55662a04954e0f56e031ea965b5c65bff5de1eea6f2b8f1327cba51556e2873de7a52a9f85bcbfa49c405581e03092dc762d7566f7c32554d17fb70d3b18b42216fbba1b943b66b2c02b007011bffffffffffffffff03197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e03b8eca3e3f3053c8dbf8018bdf9eab8f788e429069c30638f0346f6690007011bffffffffffffffff03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e037299d65928deb9d7609adf8d784dc6cc46c58850cf98c8025f41242a9007011bffffffffffffffff05581d0227f068f92465c751d1b2e16f2d45625864c0eb5088ea1b0a12d80ef6040405581d025a4a881605097f7d4718d7ccea22b9303e02ccd57dc3989bafa30ed60c044702f884fbf613e802188105581e03589f7ef49a6dda11251aa450eb40489bb2691ecb7525137360dea4bdb00c05462a6e9d8f91a8030e12b00f406672f57963328fa5b947d7b9f28010023af5a14d03cb0d9e904c0703beef1fb454122f75025353175fb0329cf6401a4f0f83d422ddd6de54463e43c605581e034f5bbaa590e99460beb2cd32f8a2ddffedb8834f55814a25c096e390f00c034701f8dfe62fd3000219bfdc030dd9148a242baa98cd67afceae4ea5d93eb5b9ded2662515d7b16b74623f212803fff88ec3e322dfe8a57ab7bbedc038992c6b40e0f1c8356607a44c59507f019e03a2e6818caaac4bed3261aaef3010d8652061ce2741e43fa7ab711d7ab37b80aa032b681860760fd5e78461e4f0a4d68bb2223a8dd02524bb841feb7ba379889d160305389141fc36394bf89bc24ccdfd9f5a14bde73637bf59785d769c971c1b758b035b36629834f4108c3a3a2e8477e07749bb3eafac3512003e51ae45164688471403b5342984b565e60302447e6a42da91cff142ac4bed3525b6ba7d8f849eeeee830366a21470204b72b54347650cfe5e7666b50cef98e8826f6d2b10b217acb4195e0323a3541fe4b2513f3e81d1d980782f340c6dc55b3dcbb61ee70fa39b9d02bb10038147a5eb8459c719263ec49850403899158ffb70fe68acf66cc68ba8cc05e8b803205cd42ae36bf125533088bfb0d8892be428768bc6de3a3ae83c787520c36c73036f1b7e16bb7e5932d691d2aa0427503a13318c1a526e5d3e8be4d4c64e1c8458037a2956c5fecb6487393b3264af2ad0b59d6f6e8839bac32cba88fc9f9326ebe3036a881f72f86321e44d1b9ce81cdb27d2aa507ee4bde7e96abf92fe5aa05f31880369c7cee8f3175d6b2fbf4d6e9cff501f3236503d71eb975b3fdebc3ce1b63b6c0219ffff03391db29e86c49c52a98d0f3b72124128fcd9aca8603dcbed7d73f99a37655e7203b806af1a73119c9588b4d926753b126c9354dea35a9deba81c5a02203c9e0ca203e3b12469827995080a5e8f2aaa9166b0cd498184533847c7b2159a6dbeca9aa103de62998e2cdc27f69746e111fa593359bfc1c2115ae39b59f7c2ff701d8eaa8203cf8388fc0ac5e3dc9f0be76e4aba7b1239118e05f42a3945e3b91d867b5668a60219ffff03733e618fd230c9b47b3709e1010114a0836944cab50e552613225315f7940a80036b2687852e5655f9f02ee41c7ef5d3a6560f30a5cff410bbfbe08fc7600ca657030afee21d3cd34e755817dbe351269c69dcba285fb217d9ed20138fecbcc13fa403815df729c53cf5e2b210f871d0f5c4b2a6231d3fe1a8cdbb7286a48ed03741a30344b3796adec4aea973a65951dd49d651de583556498c2e9774407a538dd2524503414b44466f236f583e6d737af8e0cb0bf6bba82115536ead155093029b3f8efd0384a7ef02546cfae751a84245880a18274898f7486bc12a9a278bc6966302a5bd03bc937b8e89b565d1763a4b3c705b48c5e69d996345284c235eca5ef8fdf6841403f91e4368b9856ea5aee15ecd3060b0dc96f604bbef0ba2c785104f0ef3b60efc033025f0979715bb05b84b7d4eba68282fdad588c004aa50452ca75760948438c403a270d68850f5bc7a50370bf02fff703ea4aa0818085aa2f34e6c6fdf5d1366130219ffff03ab98cec0d312b32adc55d2bade317ed369920e05c43b8ea461f1b66ab3b88f9803a63555ee34364a7d1c141fd997ac8ce59d78a85533757f5bd52b5af5996782f9034cb591c7efe37181ca655bb866579a99ecc4ab54470f29215734b7d0dfcf5d8a032d3331b47a6b9fd32074f723ee8b36f09c88a0966224d8e0b3926c1764dc348b033c60fc3ce9dfda069f8bb62fd7f94cde11680ca555bb6117773a78d0e749161e037f2d51c22792dcedb0fb17dbe4f7603ad47ea1bc58cf2ab616537b11bce63d480338b7a4821c73e5622b2fec4fc56f9205dc7f990a20b8f5ee296642deac09ffd303c57188ee49230b256e6c0cc44dc55e2e6fcab8e46dd710a7817cdc58a93858ef033dff528765526b4182761abc0c068af7d1c7cd7bdfa6039ef059c96649728570037dcce5f7cef3f20a4aa601ee7634ab0f7474cd06f7f2b04f17a93f477e5200b5032654de9e753c39d84e7dbc103c66e14efcaf9fe4da5b7a459c2c122146dc394c039438f9db7b9d252d95291e1f618b04887099ade610a2f9fada536e4d84ac7ccb0339efa97403cfeaeb798f7b1e9a076801846de348b5669a76178eeb60e989218503b65419bb86e2959ffcc07f9269ebb9b30ecd6a3145c28149ab6ae35880e627e2030719645ee221719029aea88b07419d20fb2d9550997e017930280553df03c70903876c9283acf35fc4cbfb328c56af939fc68d8c21375b1699b9bb508a8dde538f032bf57bdd298d9902d5301fa362797a5be90e55a8c21c3891fee120feb7d6508a0335db53e847120a098468a7497daf12ab48672a25e87fc27e4b85bcbbb66339bc036eaa4faa885f23993a4aa7c6e99a3f0f0612301635335e1cbea84256d22f311f037727d38746042113e48a956b622d481bbe7f85e1be3868d5d3d493075cc9141a036bdbe13f370914343fb52c96c194f7a5d8e77e4f050d24dba0fcb0c2d79f860203d156e0be98d31071c3a4bde2fb5c1b91f7eff843b9a049a3f7c5c1c90992de5203be08d70e909c50038a45a91c9314ee8fefd60625c1065ce877f3f757fd9d7b6403932d8fdb5aa74af1843b3a51fea6fbc8790fc299970c930c1a60c859f3a84f9e03f1949e28998c02a9a4177e3cc0a0bd9c4bbb4005a1f1c13bc41196d36a8b67cf0362d666f29d94b8be1b8e562f523446be69fef4ac5d2aeb77d09ee067afba287403c77f9aa2ad18006374fc9a3caed8b20629030f5c597f2d33ac0a691867170745033d52607c9e7ac5af810399d107926acb32340f949f5a417f86ef331db57d4d31032e97a8f35e2dbda3b4dba458b2a7ff998052f5f69d6104512d3c9528f64915bc03b85b708f22d72925d496d11944010656763270aa62498730397b55eaa479744c0369a815c41662812c788d3391de22c18a9d93c3ff20436fa50a426cda025a0bbe05581e03ce8bca455b037e2d4a656d2a03889447b4218dddb64b2e9b2aa738c380040205581e03de9d7ee30592fdab7b79976cf6fc01c6b1444a7182c8ac0b1778aa1460040205581e039c6b24620c2b7b8bbd915b1fe96264f50c7262099e979313b4332305900c19013f4805b3ecd76f4edd4405581e03e0603367a3842acff72fe19255e19e338233a002a61cd11c7509bdcaf00c190249480140f7f8fd9ff8f905581e03bbe75223a082186969820ba46a35b4256144ce702ec74f70c196cad6600401021929ca0300aa3eb13f36bcdcdea41189a46f3805d5f40d2168320d9525ad66794f45e16703158c65ecf3836a05d14bbad2ce3e8c1e375a0263f58c6a2a0c9e7436a22cd8e103df84c3db7bb46bae08900af6edec52e86b57e56ab428e2b56307ca0a7f675417038dce22ad74c31570e425d186a644edb17a5e83b0dd05bb93bc0e15f688b763440345c9612f8f0ffe0ce4a84f13cb56285d1129355e564845ff78e18dac39f47fde03cfa31e40b8f6208e12f76067a71741815cfc5d53d499fa26874088751f52c92d03b59536803e0df1dc3db5597bfd88531c29a2002411b4cad050f378309f13130203256a49dc8393f3e06a3dc6cc0881bc2321e74cf231bdc2bb2401a96f65a8db7c03eafe77f451fd6330761ae6f4a8c6c96cc31deef03e70bc71a0f6cbf69152d72d03a1b7c9f78d771bb4599661f7fc538e22862ed96673651a7d02ddcbe95c53bd4a0327e03ba6d7d84633369b2aa10a698484b83361b7faa4bd80b1244509ea1b86bc03761f1e2beea867ca8548dc638db20bad8f498cc08dc1737a820c29365a05139d03434ace8510572ad67aa055025c9b0d1fa35d34c026ca854a0e637a8be366baee0219ffff03355ea3152a691b4332a67d7c01969282e250baef8c6d544829da3c28085f314e037f3a60973b774721e0d492504da30e67e4a4e123fcf03817af5c56367a5b3895031844bda44253b759cb42b26ea81a55a6980c8a1bc53f62bbff8f1cd0b70b992f0219ffff03427dc5b6e21a151d7888c5ec39d88359e116e6b2f06f8aa618cf6d639304043e037fd3bbf4a65bf419310ee0951f2671e94c4f9d352b13bdf5da7ed16440c188ec03f1b9336b2adb48aeb2577e3ea9efa924b272c1a07f2c956ab804357ea419ba1c035914ecac883e9a67663730c68f8053777864aa803348aa0f6b5416b01eceaa12034a248d7da6899dc0c1a93fd0ab53bd7d8f3bdc180f639133ebe846291afe4eae0219ffff0317ccda7c3405d43cee7fa0ecc35a4e78db276e2ad50a3695baee3499ece1f82103a9fcf8018ebbc204f537b5a104f838688e139fb3c412e1f9da3be57f65b1ee8e03b7705a99d91236a7da250abe02f1b2848b46109122fa9613a04819c00ca6eed6031ef02919ccdb2acb79e603229e464a08bb7a036a3f74a08162c3cc8e8519b06803695991b0b517db40f55b31781f1b6b3d85e1b4aeeba97840cb9308a3b366798f037a38035782be84a8f4c436ebf4968d9fc3bb155b9dbf8379ff4197e1bc260c2f032262ae22cad3c1adb46734660f1b85c873b2e38eb3d9e7c0cdc507659987d69703c09281dd4ed48244cdf3eb12c754abe48c8c7ad1784c93c3e047d417fb0bdef20386701c61a704f7a9555a0b6cbf2a54c3db55f8f9e1289b56e79191e31bd5d1f50219ffff035767fc78497ece1a10cfe8739f18dbae723c15b8bd16c7a324e86009ea063468032cb0a9f7eb9091eb270ea8ebfcb2c229a1e845ce2767d2f6a987e5272c2eb024039c511815cd9018f1c0f9a02929604d437a5775fc279f119927b6725bd8faae6a03041a166ce6704c8a8ec4ad2266af2283bba8d93451ce3d3bcbe7c8e6c00cf32403efa41939e1e9584386a1ffbd2527b3024eb68f3ee67951a6586f036a39721e440337f08c6b91d2a7e8986aee1362ee004a3be3ce600de001a852dc6c246700032103406fb7ab83f0ef524ac643d94c955d54472283f41b7dc044a065fd7e984fe7ca039eb3d410d44d2ca8053ca81b98dde2e5853d82db34e0fadd6f839126ad6696b403da7f24d11ecc28239ed54696007ce98fc963185d42425f8a2cad730c9c1e12ca038d3537c1749de2e2960aca2e4f394c3297765ed4eed02307b1197df6ab1ead77030feeb9d24ed38718f59e35bab1c6a0a28f9cdf2d0e6689a6f73998b016f7b107034fc9522751847bd85b0246b9a57b9e9351a696c3e54431179a7e9cdb304071d40389050dbf4f4de720f23a673f3541f225dc9701c20f5fbc604ab8bf98a8c48dd803a647c5d6c07effa3179cb847d996bb82182eda4c5946cfafa232c23977e2027b03a4f2ed094a148b90e45e10c3fd6e4e8f385d6081da775b09d632823b36a49d5a03fd02ec5ca0288073aebf0537ed872a27eb12a8769aace70787d80aed7587483a039ca1a425d0fdd1150b58b25eb801014782d3814729852790f580d36a6c242b9f0354de11cf80ea6816fba04f7bc8757654bd568833e50159aaefc33b456ccdbedf039631894ff0a053d8dffb330c4a3c8d0e24696cfec561d975262ec25555971ed2037bef5bd82b05144ebf29ed12dc0e7d67ca45005ad45bf5a74ba4b4c738456ee00305f9eadda5cc90958665e606214bcde7db18206a6dfd2fa5b2c0846442e4e3d803246cb3722697346e65afe7d227693274ffe8b4c303b4821b7fa88575a070630b032e7e2142ad043d7a24bd3bf2c5f5cfc33a31db0181c9a8497681564c2746c9460379e6a5e073b9eb8042c79050a6f908476614195aa2051aa1889609b0204eece003b4b76ffec1ae51418474c961bd1869ee687d53cea26a3294b3050160e119839203d077096cb3e13bfa7103e54caff01498bebb7045c13353cbc41850d7b871a18503fe6abc1cbd4588f1b1572c6a6d899f524c8b33f57cadf8a5d13f7d85a60cc21f0306d86571a36511e8d4953d68fd9802f9b3af18884fa809e84116a252f13656f503fae06b9936361c8bf955d2252a60cda7688962ef45aa03080d77e3fbaaf5e29303cc248ab90275c03b045e798d5fc2a8df9ac2e16b64300d1452de7a1e4650d4d103e66a0fd7eef667b02571776d26dec704e1c4320f70477ed4f84906a3e157c5ff037c5cd189842432ad885be97a5ee6ad0e792c64a3f812cc74b45b88e1533373b8032cbb00d167a88cbdb6fce2afa32872cdf3069f6870a9a01ed6839fca8756d034032410b49c58f62e11f7e346f6efce2800f7122f37c2fc8a7b7f508635a25cd74203901e73a863b650820db5ccb3546812409ed213674fdabb685fb75c5844c7afd70356999fe42cd0be8ca71d6bb2c233979c295a88a11956b13bd357dd6af1856dda037c508eb1bfc98ef20d5460dd9fb49de69c5f9bf178d5202ca46dc33b85f79a6803df7196e989854fe992599c175a8678e1042826ff5bae2445f0d0ed198c482d5d039b5b95a4adaaf82a3a93a355ba27434c448478873fc7cff144000864509a75f603c1f3c1977c885880d57241ecd025f12466fc2df4ef9dcb912812b48f8e6ed30803d21f20782279c7d9b0f0c767ec33c37080ff1840208115f92d9c94b4b79ae39e05581e03f43c49959afec666de05e7b45c56009d91a3d6a7ff913460675caeddf00c0245202170e40005581e03195eaf6d0b3613d4e3ed6ced8ad8452871012b90f596e4017a30737d0004080356610adb8141d4505dda270a9acfff2e515976dc44d205b11f8d664913730b7f03fbd6bfbf79ca65189ba245e1e299c61ae971c356b206b892a3da7f1553c2ac0905581e035196e967da1d171dd7916aa6d873776671e3eca20cda3f8464cf93dfc00c014614eb1ad4700005581e03278e32897e7f62f07fe624f79251543931ed8248bc60fa4bee87dba080040205581e03205f58067edd84bdcf0d7d54e92c71508f7f5d119aecaf3364ffb48c80040105581d02cb38c6d0990761ca7c6e9382210cf9d86fea1f6018153c08997cb43c040104591bb760806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb1461039f578063bf474bed146103be578063c9567bf9146103d3578063d34628cc146103e7578063dd62ed3e14610406578063ec1f3f631461044a575f80fd5b8063715018a6146102fb578063751039fc1461030f5780637d1db4a5146103235780638da5cb5b146103385780638f9a55c01461035e57806395d89b4114610373575f80fd5b8063313ce56711610104578063313ce5671461022e57806331c2d847146102495780633bbac5791461026857806351bc3c851461029f5780636fc3eaec146102b357806370a08231146102c7575f80fd5b806306fdde0314610155578063095ea7b3146101935780630faee56f146101c2578063109daa99146101e557806318160ddd146101fb57806323b872dd1461020f575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5060408051808201909152600481526322b637b760e11b60208201525b60405161018a91906116af565b60405180910390f35b34801561019e575f80fd5b506101b26101ad36600461171f565b610469565b604051901515815260200161018a565b3480156101cd575f80fd5b506101d760125481565b60405190815260200161018a565b3480156101f0575f80fd5b506101f961047f565b005b348015610206575f80fd5b506101d76104ed565b34801561021a575f80fd5b506101b2610229366004611749565b61050e565b348015610239575f80fd5b506040516009815260200161018a565b348015610254575f80fd5b506101f961026336600461179b565b610575565b348015610273575f80fd5b506101b261028236600461185b565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102aa575f80fd5b506101f96105fc565b3480156102be575f80fd5b506101f9610649565b3480156102d2575f80fd5b506101d76102e136600461185b565b6001600160a01b03165f9081526001602052604090205490565b348015610306575f80fd5b506101f9610675565b34801561031a575f80fd5b506101f96106e6565b34801561032e575f80fd5b506101d7600f5481565b348015610343575f80fd5b505f546040516001600160a01b03909116815260200161018a565b348015610369575f80fd5b506101d760105481565b34801561037e575f80fd5b5060408051808201909152600481526322a627a760e11b602082015261017d565b3480156103aa575f80fd5b506101b26103b936600461171f565b610795565b3480156103c9575f80fd5b506101d760115481565b3480156103de575f80fd5b506101f96107a1565b3480156103f2575f80fd5b506101f961040136600461179b565b610b4b565b348015610411575f80fd5b506101d7610420366004611876565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610455575f80fd5b506101f96104643660046118ad565b610bcf565b5f610475338484610c14565b5060015b92915050565b5f546001600160a01b031633146104b15760405162461bcd60e51b81526004016104a8906118c4565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104fa6009600a6119ed565b6105099064a0c03d25006119fb565b905090565b5f61051a848484610d37565b61056b843361056685604051806060016040528060288152602001611b5a602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061132b565b610c14565b5060019392505050565b5f546001600160a01b0316331461059e5760405162461bcd60e51b81526004016104a8906118c4565b5f5b81518110156105f8575f60045f8484815181106105bf576105bf611a12565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016105a0565b5050565b6005546001600160a01b0316336001600160a01b03161461061b575f80fd5b305f9081526001602052604090205480156106395761063981611363565b4780156105f8576105f8816114d3565b6005546001600160a01b0316336001600160a01b031614610668575f80fd5b47610672816114d3565b50565b5f546001600160a01b0316331461069e5760405162461bcd60e51b81526004016104a8906118c4565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461070f5760405162461bcd60e51b81526004016104a8906118c4565b61071b6009600a6119ed565b61072a9064a0c03d25006119fb565b600f556107396009600a6119ed565b6107489064a0c03d25006119fb565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107786009600a6119ed565b6107879064a0c03d25006119fb565b6040519081526020016104e3565b5f610475338484610d37565b5f546001600160a01b031633146107ca5760405162461bcd60e51b81526004016104a8906118c4565b601454600160a01b900460ff16156108245760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a8565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561086e90309061085f6009600a6119ed565b6105669064a0c03d25006119fb565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190611a26565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610941573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109659190611a26565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156109af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d39190611a26565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610a1a816001600160a01b03165f9081526001602052604090205490565b5f80610a2d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a93573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ab89190611a41565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b319190611a6c565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b745760405162461bcd60e51b81526004016104a8906118c4565b5f5b81518110156105f857600160045f848481518110610b9657610b96611a12565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b76565b6005546001600160a01b0316336001600160a01b031614610bee575f80fd5b6008548111158015610c0257506009548111155b610c0a575f80fd5b6008819055600955565b6001600160a01b038316610c765760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a8565b6001600160a01b038216610cd75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a8565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a8565b6001600160a01b038216610dfd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a8565b5f8111610e5e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a8565b5f80546001600160a01b03858116911614801590610e8957505f546001600160a01b03848116911614155b156111ee576001600160a01b0384165f9081526004602052604090205460ff16158015610ece57506001600160a01b0383165f9081526004602052604090205460ff16155b610ed6575f80fd5b600e545f03610f0e57610f0b6064610f05600a54600e5411610efa57600654610efe565b6008545b859061150a565b9061158f565b90505b600e5415610f3357610f306064610f05600d548561150a90919063ffffffff16565b90505b6014546001600160a01b038581169116148015610f5e57506013546001600160a01b03848116911614155b8015610f8257506001600160a01b0383165f9081526003602052604090205460ff16155b1561108557600f54821115610fd95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104a8565b60105482610ffb856001600160a01b03165f9081526001602052604090205490565b6110059190611a8b565b11156110535760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104a8565b61106e6064610f05600a54600e5411610efa57600654610efe565b600e80549192505f61107f83611a9e565b91905055505b6014546001600160a01b0384811691161480156110ab57506001600160a01b0384163014155b156110d8576110d56064610f05600b54600e54116110cb57600754610efe565b600954859061150a565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561110e57506014546001600160a01b038581169116145b80156111235750601454600160b01b900460ff165b8015611130575060115481115b801561113f5750600c54600e54115b156111ec57601654431115611153575f6015555b6003601554106111a55760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104a8565b6111c26111bd846111b8846012546115d0565b6115d0565b611363565b4780156111d2576111d2476114d3565b60158054905f6111e183611a9e565b909155505043601655505b505b801561126657305f9081526001602052604090205461120d90826115e4565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125d9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112889083611642565b6001600160a01b0385165f908152600160205260409020556112cb6112ad8383611642565b6001600160a01b0385165f90815260016020526040902054906115e4565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113148585611642565b60405190815260200160405180910390a350505050565b5f818484111561134e5760405162461bcd60e51b81526004016104a891906116af565b505f61135a8486611ab6565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113a9576113a9611a12565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611400573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114249190611a26565b8160018151811061143757611437611a12565b6001600160a01b03928316602091820292909201015260135461145d9130911684610c14565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114959085905f90869030904290600401611ac9565b5f604051808303815f87803b1580156114ac575f80fd5b505af11580156114be573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105f8573d5f803e3d5ffd5b5f825f0361151957505f610479565b5f61152483856119fb565b9050826115318583611b3a565b146115885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a8565b9392505050565b5f61158883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611683565b5f8183116115de5782611588565b50919050565b5f806115f08385611a8b565b9050838110156115885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a8565b5f61158883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061132b565b5f81836116a35760405162461bcd60e51b81526004016104a891906116af565b505f61135a8486611b3a565b5f602080835283518060208501525f5b818110156116db578581018301518582016040015282016116bf565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610672575f80fd5b803561171a816116fb565b919050565b5f8060408385031215611730575f80fd5b823561173b816116fb565b946020939093013593505050565b5f805f6060848603121561175b575f80fd5b8335611766816116fb565b92506020840135611776816116fb565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156117ac575f80fd5b823567ffffffffffffffff808211156117c3575f80fd5b818501915085601f8301126117d6575f80fd5b8135818111156117e8576117e8611787565b8060051b604051601f19603f8301168101818110858211171561180d5761180d611787565b60405291825284820192508381018501918883111561182a575f80fd5b938501935b8285101561184f576118408561170f565b8452938501939285019261182f565b98975050505050505050565b5f6020828403121561186b575f80fd5b8135611588816116fb565b5f8060408385031215611887575f80fd5b8235611892816116fb565b915060208301356118a2816116fb565b809150509250929050565b5f602082840312156118bd575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561194757815f190482111561192d5761192d6118f9565b8085161561193a57918102915b93841c9390800290611912565b509250929050565b5f8261195d57506001610479565b8161196957505f610479565b816001811461197f5760028114611989576119a5565b6001915050610479565b60ff84111561199a5761199a6118f9565b50506001821b610479565b5060208310610133831016604e8410600b84101617156119c8575081810a610479565b6119d2838361190d565b805f19048211156119e5576119e56118f9565b029392505050565b5f61158860ff84168361194f565b8082028115828204841417610479576104796118f9565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a36575f80fd5b8151611588816116fb565b5f805f60608486031215611a53575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a7c575f80fd5b81518015158114611588575f80fd5b80820180821115610479576104796118f9565b5f60018201611aaf57611aaf6118f9565b5060010190565b81810381811115610479576104796118f9565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b195784516001600160a01b031683529383019391830191600101611af4565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b5457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204fb28894d82e63a4bfe56e0ed4de0ffd465730920c0b455e74d3f225bfd5e13164736f6c634300081700330306b17a14d251f861208cb734d2706e082cbdca5a2977ebfb4f5828ecefa58fbf030215f003af61c067a6ceaf6f6f0d3c6e72b1095081d571147576f661cdd1017103796ffda907699b6326eeede987627e56d676b0119b37ef69dface50fa404a12003dee5efb6107d8aced634bdd0c7b1db7604a91b6ae1e21488efaf8fc157de85bf0349fb07bfca08bebcbb0ca953bd1bd3d69432e71de6aedbab7183a75184ae6b5e030f66bb5fe1e267d19390e8bb92849c32c7d23a3aa31f05b5d7d5955a060a0170031928a44e4253978d8a9ef5aba1090af1fa2e68d4da2e5da045ed4147c1f7d8ea034fada0f51fe9c323dcce08fc70a82c38ac4109eb92290608b29aedea54b05b5c00581f025c10ff9c1cc845c17ea22029f5696a6575f11d1013f6853733bee1972f3d5820fffffffffffffffffffffffffffffffffffffffffffffffffff8c2ce45ffbc6600581f0293b4fd9a19ee584d7e9dad67fca308569d86488b46dacd8b61b2dbad7254471559f62b9c0fac00581f02378beb91c904ea32a73bbee236f911006536c58d454a609a1c1afb068c1d5820fffffffffffffffffffffffffffffffffffffffffffffffffd9a77b13273784400581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9411400581f0203ce77e123c20acf9b021db8a57fc05dc518c9a371c1803642a46f97677d470f5293ba15fe6900581f02981ef23db057ef4c0a3261468ff79ea8f610df5c035de7b60157d30cfde75820ffffffffffffffffffffffffffffffffffffffffffffffffff44d452e0252d24021903390318e07ec8cac3262ea84c5c2e1c11654f677a519469f9abc21507a03afddd1bc9038f89a76369e8fde4113a254ef3b86abe9487d79fa503cbcd9be434a098fc31ca035e2c5d88df9397a464580132da1ae87ed618bbcc6bf2bbfc382fd64c46ab6f260390e8c0a7bdd7da434f90346e614a73d7186c2af0f95fb48a1d3ab62d6e1e4098038e0af165bb32f4a205a0f95c1e66e2408c745960462c00471071d9a750b7423e0374fdc765a31b001f79a4c8759669e44e547961e3383ff3379a413fd372457fad03a96578ab639471f033309a38a12200163f7da4f9970a58ff34079a9a8304a3ce0379ce42cbbee514e9979fdee2811029e10efbfdb94c7fad1b91f21eaa1e86a21e0219ffff031bbdc124a9b2e621a8142f1470567b45d9fbca5bdc0a80de9605517393c16a1903883c7e021ae068df95e9ecfcc3a080f6d049cdff9ed86e5b80da4d094756068e034e8fe524e801c503789a63ddb90642fc2f1f50739b513949909d95db6f09ad03032b7d3364b2540da96ab341366ef5ca57efa73cf9f8cee41794e18efc1646fe6903cdc80cc1db8611efc36698b871c41a00b5cf82efe2d5751116363516e8451656039d11e20a4aa06b7f8edf15551a910e4d08bc02cfdea9c28f15862c07ceb2811a032cf6afed8a73fa6f035479a92bcbd63b8d0ce246b62094ad61f8e36415b4892c03168e7f843de12e13ea45cf6191973f0072abc30d5aef5739185623e3f5b5016f036816251af6ec36d7ee212b706ea79ea8d2196caf782abda8af7b8819294aecdd03b36905926ea2221b029950e89ca3da6e87df700576e33b97813b155e741a64dc03238b140fa316fd39397f1ef512e3f6200c4645265294178580f2c4e9cf6c2e7a032961abae56e99a3fa9445b4e38c25b6c2dbdd5d22d817bcbfc59170f0b96b63a03f18fde80dd50f7cd238e427ffd657adff7fba01685daede1c0f691a463950d2a03ec1e5ef4129d44557e0477910f4e6023ab397f2f9a2bb356022fdf36042e6b940219ffff0367f25ccc23f519abfb36c63a1ba36966010afec2b468527688477b28de45bd5e03d15102de9c20d4eeb629a223de972390c35b63026ec25ae0cfb5dfb307a618b803ec38a4f8c6f3b8d8e0617868f39e50d252b0970133768f4fd32b8e85a754849e033e55a04495c3a58809d4a5b39ce539efa3c2cb01165aca4c835b7f592ca0dfcb03d7ed887ff191fc66c9de9b5a1dfb7e0fc9f9ab151b1cad4036bebec588f3574303b99681cfe2ee4f3ab7ac940a0023a9790dc191e1bc9c95045262ef93c6f4e4e403afa7f976dd8fecc48fe2415794aac79188f02ced611aa35217ebd2b3d3455982033734423b7ffdd5e513ef84cb745116dce32b19961358266b14acde772463f7670376311e0a6f5df4b0ff7bc88dadeb45bee34f85d70e2b11534c9d527b0939b27303c8737ca0ec0d33dbbb3751325b15ba05301baed931a0879f9d12a357964b1e6000581f02e8619ed47a1a10e4246f3367bb081a7580a961865ca7e8190ed9b0f6e7cf4723ccdec718e8bd00581f0241495dadf9413a498dad33547520d30196bca7f835368d32d772908b2f975820fffffffffffffffffffffffffffffffffffffffffffffffffdbbd7724a21ee21039c706678d088df75fff07f37984e1c96a0cfc1a121671511cecc3a3d5d352fc400581f02a92c8b4f795667c2dea4a8726953be75e8a25854c7d02da23acfcdbe190f5820fffffffffffffffffffffffffffffffffffffffffffffffffff3ee59187e802d00581f0214f0035da4a80994ca1a9bd7093cd2bd710fdbb13ed0b4c6774751c7a0b94409b8fff60219c14103a8211a7ed6b75818006807c4180431d8d82cbe224f4a372d3ddba87b8cd8c9370323fb0ea6e2fdf884503076613b3a83ca656f9e80c85aad84e855e8b690896f1f0348207373dd8a9af760f0e7f8e58d9bec665cbf92018417baa2db389b7af16c9003d8f59431097bdc21b483a3eb3e291a74fb157f9342d9cda1bdfbd78f512e06df038bf114e4e82194ff0cf146ee4c5dd2e3f0e32b9c6f03d1211f857db7fda48df403c3a1cc93d0ddbd3588e4a21d0db0e52d9a8d59651e11c933d60e155903dee4b6038b3a8b76ddaea94f3fd16ad70749f41fc41a8b3f39f32e0348a060c1578fe99f03b1d9a604c40d16dd72139453f644e8388aa096692a4ea43a02e0084e10999b8403705bb72ab991e1d61c5aed18c7c0aa6e17c3b308103cd657349a4cff13db98b4036ebc3f5a36d7615fc05c65941351e4a4a519a0e40f75cb21476d17506c7aafba0319466742bb715852c060cd20b53976793656e2789287b4e3c954e53b2d6796440304ab4eaaa739b9898894f4d729d949be58eba4b4e63ea7f7c9f2ed4273ae21440382732fac75afdaa562e86d235bbb570eba69eac823c285353877482c7ce70ce603cf882140d7c4bbc901289df6614dde43ce61bdd79e227f47958f724e84d8e0d90327120dd3154fba4c197e41b9c674b85b5726cce536fd1963a68d9e3bf4f7dc860219ffff0377734e3a961bf34b66936851fe5d94a92d4b89a6bb3c1949e2cfe671d49b91f103136b02cd29b2da2e6eec429dc3488ce0250a342467f549b5d1959de74cecfc6e033c5aeae6d20d0f46ba05fdcaaf314f36a3450f2cb99f160c75ad3f364d1ec87603ac3f6239673f4bda7f5952540145457f75b466c646297233ab0a1395474591ce034efde5d63c46d19ed19c51ee3a91d137542effdacbf555a6865c350bba407e75038ccbc0ee2a84ec6ebb71b288129c6e86744a7d7b22f9d1c2ed1e70b55556543f00581f028c4dd84fc9de078ec16f8228a2e478607f96199e90e8ec53af1df4031934481da6c354cf20bde000581f026b271fb380f3b256a2c487cf8536c5615b46e3053830ebbcc639c4eae6385820fffffffffffffffffffffffffffffffffffffffffffffffffff7d56cf703bfc600581f027d7914c4d047b20eeac8fe81f4154432549aea5b5936c77a0ec54095090a5820fffffffffffffffffffffffffffffffffffffffffffffffffe24f9a937d1a0c100581f027d06c2d94d2239bdaed20919b55c5ddd451d3053b259ce5148bae5ec3c244801b81cb82e3f6b6400581f02a751c76a679664b29d7538ac2b096a995b284d3e560ee03794882a3174ad4902fe3fa7faddb7839c02192942038ceb0e8d32303a842f9d93ecf6c29a96f947262f779f7d4de029a90b84648af603073510b1b35f50dbeea6a56c81ff1683a5cdbf824ad1498e7cc2027212af3f6003d468441fcd595efe20010e8b00628925674922b6b0db2c10fda7615fb80f27b803d719090def683cf084d3ce574a42da88ff5aff23a5799d8911739c305289d74403a0674e9ee540271f997a0a62df9feec545612bc2687fbef5d0f368a9f72e474803f87f0e302b001aff163e456c3280b72abb1ce89442073db642497fe1b65dc6d303c42d852bb364e85a381f73388d407607eef4c47a0cadff4cd152ab68233a236b0317dca4c91e2ebfac854ba829d1020928c48a1fccfcc805daa3cb1a0cd47b61450374779f6834ef648841eabe2343ee97e4f2fe180cfe76a624005305e2e8249803032275b2cfce90bfcd6147c5ba745d18ae8e18cb42ab77fae74c8722aad69256f10219ffff030e6947eeec295774b7306a70107d874d3c3feee529d9e8f2848675bf719b9c7403450fb14aea245a51ccef96c7e106dbb8458a412999416543e2944941cd1eb460036f08deffb151073f996d794dcf6aef3f3f3a9934534ea2ea25faebed595bf32d03375fcf554e2a83ea7558317ea2434cee932b80b6f5da8b1f5f49860564e33a6e03cfa231dedc5e5504171c785c6f25a08cf432fe013a921310c22e69aa8e886c6000581f0270c1681bc3458610223de11642deedf5b525cc960c799ea67d0ce423830c410100581f02b7d53fa665f46c3fc7bfa7fac928369c7a567e0afa2ff5bb111a1b812e125820fffffffffffffffffffffffffffffffffffffffffffffffffaffba4ee5e5f4da0219030803268692491478fd07f417b332d4fbe53f529086f1117faf6f8dc3a88f1046f9e903892271d900bd7cf12ba591e7164a1baed60f93b72317c0bb0eec798029e3f18b0332ed0d0799e1f4d65ff01c196f5327374fda850ca72aabfc0a3e2874012051bf0364d3e86982778b365a95721dc3b7de928cfbcae39754644a797037d1c1e66f7a03ee3e708168f6f9a8ba654684fbcd09927b872e94972bd7bf2bda39bd180515500373de8ff87cfe58ba5a377bbe22540e04fa5e2446d84719f41349d30c0c56101e0381c1e818e212b64016cf5161188abe0ba4e4efd8496ea639702c4cd7b1bf451303eaa4bca6d22ba70329f9014870c7a5630dd8ff3bf89992d352f31857aa6a9f9c03c1f1e0f10925a489ef2e0f417c493e3cc8d08f821f30c17b0bf515bd0230a44d0346d39c26eebc10b23fd154eb4b0b63a0152984776f5fc4d934826d93cb0b9c5a034e983de1c856cabde55c43d55108929d4619c8d6e10e44e20cc8e58b28270ad40219ffff032f1afd69ffa1b8f7659110e71deb07079b081b44903114afe66acb3b55a2531603009e8cdf8d162a200697f0a94e47cb8d97227fbd88b52cced75eb39ace948d00030bd9d27db6fc99388c2c0b68e7d412d16dbc8c62dfbe32bf17302dd9e36aad5f0219ffff036959dfd241a212133071808ae50bdea6dd1a2c238cee24f29fa6698fce97b97a03eb1dd92d09263f6dfd2f3c21a6db682cb8b7c2e61e5f4e2922bccef309eff15303a69fa0035648d64b11313a8b742da8cf51e27a2759dffd45159d484dbbc9514503f5eeb64e0851e0451644ffc32be67dc8d3454b8e6be47f6049dc966d7d9df12d03a2d85621c4cc71b8aed91051256c0a19303623534dfc1780f70a77048e1584be03cfe3b764d7d0888899f1fb36086fa31b87fdc22cd85b7475028415fa2d6d9e530373189440d6d86cd023bb14888edb3f12af92240f6a0cf794b37ebdd9cc5fdef60344e9fa73f973ca52bcde596be2f5dc2839727b37c29f3d5f82231e9611b2747d03289125f69acd3a14e053ffc2c8384ca2e8778e9fd2d4742e4ecbf3ffa3a8824e035eaaa0d44d6153fc792075ea3daea1ee557ad04eb3523bc850673618f0c3d96c038e88fd15d418068fe0c39ad03522ee2e6b2d152a91df2ef514debc18c4fcfab80325963bc7de44afe2cf624b477bb449fe343fba08ab3c5d01f0e48590b9403628035208430f761fe48b07743e7f58050ae7092b2b274e748b8e19f590a35549c96c0384277c19e8c7bcff5d2d8e3ab6bda374abe9b5841f726acf149fd35eba67ef4c00581f02d09b4d08105b24827361710faace664799db61e1bdca43e16faf1662449c5820ffffffffffffffffffffffffffffffffffffffffffffffffffb537c8efb907ee00581f02df31a48dd3158ea3a09d80a409f4e81bf49f695858b90b9b4fc3e5b356325820ffffffffffffffffffffffffffffffffffffffffffffffffa02f5aae15bf7fff00581f02c21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68485fd0a551ea40800000581f021a711fb5ec6aa169b9545c653c3e220878f92776fbee013971bac1de1f974105021930090359951cd779d884818e504f71361189d3f8c3364fd6bf7403879f82232b27121b0219fdff0376707535c6258c38a801d68aa7e6cc9280bfe70110a0c0c773297c392e158eb503f258a2402152f1fbd235da173cedd52f467fad60bb65c4244cffec3fd4090efa032639dfb256169b1b459556cb337b3e0d440859b92ad7116b318403fda0d6bcde038ce332118c3ceeeb05f34e47d621d22ca06cb321f3d70aed3a6f3fa7ab7ac5c8039126c3e055cd43e2e81fb55757289b0dffdf81cc799673b7fb8eccde7325c0fa03e0b7a2057d28b33bca46e4f61e365bc6acf89ffbb2ead3a873e63c7374e0843d036e2c8c65ec02810fde58465036050d04749236c4b091f5a79f3502ec5c253c0b03da7cad185e98a37907e2f3bc03a233c83a84d6aa153ba76e64a7f4d0643c6f06036fca3e0a656561f2ae21c390ee1ef72ad797474765128c2793aef607716f18c403722a0d4011ecf8fe1697382e0fd19963b50931dd1385075e9669c58b7e320a83038bab667cf9050a93ff46dc80adf34b5a95e7025c58145b07fd4f68005d76a360035750d0af0009f4d0e9a6010a3c3e5e1b737563deca7b12bc20aac984fe56759403c8330b4634874d91f694fa9445f704eed0c0e2289844d5a5e31ad58f074b584a03878a7b68044442fd6be298f65dbf00dc84b2ae468955359c95317a0e03fa0b490219ffff0338cc44e969c5e7a34ec9dc8d812910fde941ab0e3203a521cc408aba4ec438fb034d2d5e03314fcb84dc51cf2f13b9d22fd43b6159708e9ac34e72a29cd3c0f130036fc3bd69c975854bda0dedc0c7c61a48c1c9457fdb5aafd5cd05ae29ffcc9c81035051cb650789cd2d886e6dea5048e739976ebd8b99599852a959d9ac0b5cede803059c34bca7aa344b06f874ccac459640d07151c6f2ffec9ebe83e7ab4fb9220b034f064c16e8c5cbb395a108348f63553955fcb8874705fce4e0e413dfffb2b884035a77a9ad0320eac49e853a32d187598fb8ce634c498d7bacc1e9bb2af501b1950380b37212e780dd2e0620747a01c0ca7339cba151080a5b40b5d0c19ce696060903e01bf03c1772bf2852a78d3bade96038ec4418f2bdb59d62914d3aa499a4225a03d98e1ed33337b6d02f0b398d7a53750ca5d4a019b6ffb0d3c71f5831425d5ea203431ba3edddd5ab77eba8c873efa62bdcf87c24092ca139d19d529dd363e7724503e2312e3423f827c0de82634610561f04ce619f9d2e97f37fa5b2a4792c1e71b703f4735f49fd912306fe030d6f33200c9c3b5938e8d463e141b08bcdb3be2801e503ae48f2128416d75f3e4212025e3f9a1be35b4af87d5475779325a45dcced81b40354ac1bea117ea4ab50149460600129d62d9b2a19d572b6985d8d7ce07c0496a2033cde1f8655b042da099c9d8d84915321b8941e710dbdabe52f59ad209563a93500582003f46d96d2efa8ccc8f6e693012a357031bcc5ec60c72e0b4aa591a1b9b2dbc05820ffffffffffffffffffffffffffffffffffffffffffffffffff87d1e0b6c164450354d30dd82eabf145464ffd171a465cfc5bfa88eb0c5b03dcbcb2ba4c0886391603185a7912636b6e006a7bfa94dec42a08c720b9894c4ff6a43d95909beffc35f8035d53ccf6ae43a1116091747c9c666f6e322f56099bd50a88b1b625c47005f9b1038fc86a93eefda15e90f4411e12641b4466487340934d7375545556cf92191f4900581f027daf6478f384c367ff9151bd53dcf4a9febda5e68569f2a6edd1072174ab452329a00b8000581f0266b8c5c81e154265071e3f62cde66bed40dd99bf2df1e0513d34c98277085820fffffffffffffffffffffffffffffffffffffffffffffffff87a4fa98ba3aa4700581f029ced8b285f41c7141f99c92680250de124499c036b617e619eeaf2f805cc5820ffffffffffffffffffffffffffffffffffffffffffffffffffdace1c073e3d93035b67f6532218e0f7b55057ad4ed7c5db18f24f0b163e7090828e45eecee8e97903c819615725adb2be8a8208c6e03cd86bccf42953eeffa7f96d37658f39c04dfd0218cb0307fd38081249393fb334ad470dad7918e054d28871cc9473a9eb223069352e96039c417e81d813629559e0a1990a10be4a887dc9ecbe0a9aa3396437c0bd8975fd03c306580e0def6b41362e31a277dd6f983218fc4d458ce531574e26881c9bcf17032eb1e9840e59b44ccf66c92f3b149ab39611e5b25f3f03421eed419d0a7c441903b314279857c50845d00326dd560497c7cfb5dfb051b68d58e134d932e8bd732e0219ffff0377d08d0feccffd23018f0cf414ecf68013f81f81684f86826f0f95375737e69c03e2ff28016af0a636e302ec50177d36fe7564a6787fa767a14c8855de7ce8fe1b03cdbf6d4796d345a831c79252b89957167cdf7eeb2d37d51c1eb2fcf81908966b032ee5166d438e99d24297b4915e7af6c6e62ed691caf45d6f130d92090bc5363b033423361ec78300523bfa2ff127497029e9e2356ff1cccae765e0966cb7929c950219ffff03061990694b5c1119f5a33316786d55ed3814b7df5622c6c421bb94161e86a554035341c52a6c35f52cf730917fc463a9c1d497da4aef8e612eadac6c6f29e9b8a503091fb960a29465cc6a5d919dbf3fae2bd25eb75abba25a2e145dfadd878a7b1303f82e783c51719fddeabb6adfca6f4cebb99d7f27b858f47a670869785373b91803fe9416cae6adb9a7a922f6f50839db04d1481fb5e50c221026db139516549e2303fb50a5a05c45f234ef9c9d11d3572f6ef5e67f276df2c1b07f6c66d3d640f794039621d06fe3eb91604a16b9b308a6002696d751e28cbcc537cf7a741f0bdc610903c45796ca3abc2331050fd610fbec13b9660411946da86db59d04ad68e4d754040325e5aaba77f7682c23a752257f24302af79dcce54aa1e0f5a390a3f11b38dca603a8e49a91ea19312537aa3daf99cdfaffbde09ae9f83de8c57bf93e21176b72c70312e3dbbc161d668f18efd78475e34843b1211c60b49e213adf0e3445fd18f78a0304698693744cc114137326ee2e29a5d63abf769757e6910dde5772656501dad7039e46114ab82e0e8cbe566440fb6be8d8203b3ef25b809ae75713c03ed303ad5c035184737854bb5138c4a126028e0936f153b314e8bd1462d5945585175d2ffb5303e414ba222e0949162342abd1bf5e7152b08944da3b56160616a1560ba71f7ff700581f02d18edcd3a1dd8aa146ef4c53420f0063cff19371b899e7db2a0f2659b4975820fffffffffffffffffffffffffffffffffffffffffffffffffec1e413074e362300581f026964857c4b555ed2c8ba7c4ae1022e8b2fe55e709aea5709fa2749bf91d25820ffffffffffffffffffffffffffffffffffffffffffffffffffce4312fd24ffff03fe6e700f052b878b516d89c08767a703e1c0ac36b6b7856b31d3e0a27bd0975700581f027d6ffec3e4d4613f12db81cc51319f2ec6bcfb8862a858a3679b6bb22fe05820fffffffffffffffffffffffffffffffffffffffffffffffffee7f9d7738306cb00581f02d9e49bd6cce4027d945a084c9e42fe840bc384591a4afaa8b086d698618b5820fffffffffffffffffffffffffffffffffffffffffffffffffe9cba87a275ffff00581f0296d7e2b7ad28a703b58b33f7769d735940d3bb1e53727b33dde2cbf31d265820fffffffffffffffffffffffffffffffffffffffffffffffffefb719455b6286200581f02f410e880149e0f13fbfd5dffcb66a1b41e15aeb343a38cbe9c55a36b732d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f024542a020da82f933e394264b70dc499ff5c86e4976dc4a06a02b3155cbf65820fffffffffffffffffffffffffffffffffffffffffffffffffdeaf8eb6695024302192cd503f4592bbedea25919fd405d0d8d0bdb881f1009bc6aebae2830de22246c5850c5036b5a609a26c96c7624f6e88c7e7c9a808210943d3aecd6598793fa9c1bd0f50c030ea0cbf382f5443c9329347a0d2ba2ce4b8c5eb6b9d819a8b46672e74fadd8070319a8209b6c7486fd6f1a478208f48c5add8a7cc8dfe67a62fe4f9675d7211edc03cbd28ff33a3a36e467433ecf8cd242dc04c79d4249cff77e872cc417ce25083800582003a45aa42139994f8d362a7786ed58051da4e90ed80811ff990acf102f3ab980470588ba8e4fbbad03ccace27b6a8a07d14001df0b23abcfcec38c047fa399f9b8834065718600d10703f757a664d8dbced946518724ee43a33427b451613abd2d1576f014f38790decb03682351f13b66f521919271021f08f7ef21b613b83d8f507efdeb82ce0d09e1820058200380a6ef83ad217fe5ec0707fa4e189c910a461cc90e1f2fe5ce0c0e32594d605820fffffffffffffffffffffffffffffffffffffffffffffffffc4b226a6dfa2721032bcdad13ee7e88555072848f64a5db51eb3d3eea0d5c5af8c758aec402d3cf72039ccc87fffe494755576b03d9c27ecffb4e63f9946ed996d834c3d9e46bac48ae035f8bc54129a6695e9eb88054f426ec3370b05b133a4a117acf4029f2ef7a3d2803475f2a30e3d07cdf22cc15d18bfc694e4dd3c7745c566c43c479e4078d9a3a820219ffff03fba55d8386b27ed481fc40e1f51c355fb9eb5f04502b16bc7d6d5021293b01ed0219ffff03a660283d06e8ca806a165afe896c6f3989bdcf580059e3afa0b737ee40fc96170387453203765bd7e6e3fcd85622a7ee08196f784055daee8acd1d272ae574fa8303c62f5c78105f1c07fee12b450ee9df4ff548155609c510036902703ee7d5c34e03409601ba04ea0821e6f48149d73745e33b32e01f3cd284b8edff274131403fef032a19c6de08c687dbb3ed2b62d793c1aae54a1afc17a2f3439dd27f752476e58e03f4fd7eaad12199552e027d5b64a4715d5a2c4ab92ef8068bb2fd1fd74b03e4cc03e5fe3dca00079778a6128865079a43e1ccb024b5f9273fa8c46be214b8de827b031208de2d336bfe72e5e6e07a3c51f39a595d07497876333d60770b7e16843d8e03aca1e28053053d2ab0825aa2c7ba3bc3a14046a846fd91cc23356485dfa8105900582003c4208bf0333aacf37bbfff61f81f712c477485a8c559fe9d5f044719d4003041020301006c09c86ad76fe3522fd132ef5da4204056cc68082c6ebb27f533bd72ca7e0315c3b9f002d918fccf89a5e00e8ffb32e5a28b8045ea70f15a892f124973b65700581f02cd9f627abc7105071ded07f0ac301a0b94d39506af1c4fc4a9c34f0e4638480b119cbdd84e24e100581f02374e9e6ba45035a89f4c081909247168e46ec792629944f34dc664127a4e410d03f7c1a2e0e6448391a62187a7ac0b11e60dfa1024f4353672e69ab2de7bbabcb103ca74550e51a8d0a2d14140c89071ab434039faaba5dae417e74ee7b4c0a6de9300581f02b466640a6b267c940320ca7d4ac104073b9dc4f30a4c43ec637a39846f435820ffffffffffffffffffffffffffffffffffffffffffffffffffe0f2bcccf164ea0219643003fa759dbd7f77255225f39f2b9487bbca0b658a36609ce1b846a7c1cd2c3d685a038fc6ff2aab162dd307c107bdc519396cd50856d3bc28bcaaaf54f60094b8e2140391384ef76b1ce0c6ca555685e52ab8e594d05dba54490389eed63bc53ef9cda903b4efe90ee100b7285dbcd086b803a0205344c38b38c263a2e68215bb9957d472032cdb56aa5aacd77f953c00e0ba73aa1434336082a187f38c8bd1fbef5a395fee031cd616e6e68fb7a7145a3bf17071fff05009999ed0f600ef2a71bbc21446f52f0310da3dd75490a90e9183b9845b630ec2a63241f8da56f72907c0dbe8f2d9b14303af240268fb4aedca1c6934a8d71f539d65aaa5a740df197f3a6be0717652845803fa9032d0f8964fe24537b5b503578e537ad056c320b0bdafc977addd2a5e59f1033d1c89f33138ed9699cfffe0577027a6b4a7c1926166c027c9debf4d4ef7afd803b47b0b6e4ed9ee90ceda54e82337f855c91c5e95257c65849c315eb3306035cf031a3c5af64abf2f283fcbc76f2e7dabdb1cf88f60c68a0e670535233607ae66420219ffff03015c2ff1c63e6d7c08e356496904e548f5bd04813f3c319e12b2f502af67cd6d03d136358e60057c89da5fcb4f612be3dbc270115e8f616a5186f52d9b7401faf5035cec6de5b7d8d703340d35313f921e07a7ba11c0a7093de581718026f5d6418b03841960301295e72971a8132df3570d3ef62f561b30095579d05e4447d20849ad030b336b419e2505047733f92abf0265ea73fa92f2f851e5fae2fb763b3bd7dd330328763f9095b025cc38348d674c3873b1c512251d300b7342378151e3de1cdfbb0219ffff038be94b28c4318ec8c794b547545a84f582a2baf88dc17e7e685c158a80fa7c1203eb6ccdde879b37831699e86a071651ab571ee67a8bb73b388d1487a2c46aee7e03c4a19a3217b1fac46c164ed7ab1069b81a8becae0d13512f87c49ff2b874616b03daefc2bd9a42c4518de97c2453cee3f265bd451137b23064b2ad6f5984fd0a0200581f025e2af21eb4ad42a05832e6f69b3718af39d6e2676d83e3ccfb6b01e422545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02394a534d1bc42daa645976e65c384db63a0412a5fe301adaacac538530bd5820ffffffffffffffffffffffffffffffffffffffffffffffffffd9dfe7a5336e2a00581f022e74048d8d2fbb8c2b89b328a571c1621f0f45a5e8836337fa5e7ce829374709245dda3c68f300581f02e173f0c762006abea2da0b7ab7bbeade6a08054d83b014b825d4bbeb620f5820ffffffffffffffffffffffffffffffffffffffffffffffffffae72a5a46ed17d0219508403ca729f6bbc0cb2f98e0bccb1e41e1f5e4c1bec6a09b6888f8d82042693b2d97703b12a7f6c7eb1d8ae60aa942c50d9cd0d36b5f97967768c9e6949f0fb38ebb61703ad0a7768f73b4793b3fca5940f5211a07ecbb68a2cfe80ea90e3f2dbe09c946503a09dfcce9d89352eea26cb0c763252ac5c3db88fb09b6d8e7338297dd5394e5f03c0a5e578f9502170083c383476dd4cf1656162214658cd52f72d73d7dbea7b7d03c7637010dfff4ceb2710557cafa5ed2f3980332476dc923bdb5118258f13145d036e30baf91e5b5cde50828330ca413d3f0f18939753a756a818fa78ed5c37a6c603880ffbf2acb8e362938afbd77fdce39b0aca4a8e3bc62c630fcfbc5e307a126b0373b9a37d66319c65e5cddf5822236b26b4577a11df735e3eda539795ff47aa1a03accb6babc20cd89b7f3b0ec46f5d63154849ef135fa0b907efc208b8fc4a10ce038f63338d23af6d6c8bb8b2bf5887f436842977d71a61a6e06d0a339cbf3ef4ca03c89985205a74377f57cb6a7fcb4f62ae2c51648e901efb1e049e9212b00c847003cfd0799487730558904ecda10f9e7713f138ed72e5045115e0441af0ede8d62e03a8199b38f643049f20ecc9a1267c6e3d24dda990ad71aec72bd0baa57ae74fbe0219ffff03f7e38738f089d292420ac3f4b16804461c4f9f064fa9fde48bd667aea8dbbba103a81edcb015e8564b0b07c80bc74e241241f9ec5b9c87c0b4e194c6390a9f7856037c4920feb60d763a7df5eba98043491adca4ecd2875baf6257b15928ee2fe74403d96b77c8396a7580ad5a4c2bf3a12565f20fb49d1380ee7b43d159531b0bf823032b3ca3dee9a93de6c377fa3a40cc3b059019ddd4d0850113b8985839fb07730503f6a1d80a7f8043e54d45c589b00a56e42d12bfc09db9a688dd8f801c0f5ce92a03afef5c3bc853090a3017ac76d580b000460742c0492ce382fe265ea8cd17e583036e668776388e95b51c071a352b346070100c212a89a5f7f9534f630abe25ba6403ca273ff9dcb78476d321e23c521784a04b5281c57ae48cd556916be37b35856a036a4612fd3923ed1974486773eee5c714d8e421336677dc0dce24550d47d6ef0103a0175d9dd2f8e66af06f263dd96aeca2927eaf992b7463d7fad55bf33e97d64c0373948616d65fce70c27e491bcf6ec0315f9d639161402bef92c699861e9a73de0219ffff03428b6715a8a60b3e91446239449f6ff6f356b55cbe5550273d93fdbb277352fb03ae5898d1e57f97845788ae7b8c46d254d8fe22a07201afe4723e55672791e89a036fd721bd388916a3afa052dee393c53ee21ea4d52aab8686fc5409bff56c50aa03ae13eac79d09193be805a42481843526e1438c098bfd0b8ee1c8257e1bd9c9e703914ecbbd6d850ea3a03b4c5067081bc42613b1a2d03ee582b86b5e891dc8594f0382edf425fcffd6bf8fcd92069c30a6676f39cceaa7dcc1038f64994e0126d00603e17771bc8597becd45fcc7fcfe0356741bd5169f509483273e571e15ca154171037c063d49b769e2aaa74a96c42105058639facd903602c4e653f046706dd1645103840e5da34254b3fffd5535f5e6c1d9c9ec7d83c5e0ec5e8fcaad80910f68b15103c6792d9aea42179356a16182b175464d661f80999b697c273614160e639d953b00582003b3f55672d90d1f5b43258c4f8b97774ca0ae4183064a3c3f0449356d8fdb104802b72fc126aa348d03221ee08435ac506a3f696abba6747487013b23df63022b37918b2b21b1a52ca60345ce623330fdceb9331c1c691a4060ed82e250a2b012942cda6778cfa40c2a560399b823a88bdc7484d28798981595b587a3a6733d374d17fc8c109c19528e982303338427225b9bd0f5f0f322dc1d92a322743361953d0fe5f68ed359985fbb35ad00581f020480ee134c4732839088ff1e7aa584e34815192ba710aeb3f86a025a53d0470bc49a6e38ff2400581f0236abde4524badc39fce72c66a52ab62ce6169fcefdf48e0e2b717324518d4822bebf13e8d6345800581f02a49e52d76ac55719ec586f876edd39d3b13c41d4859c0607e8ab6c72cbfd5820ffffffffffffffffffffffffffffffffffffffffffffffffff7944437831127d00581f02501b27fc21819e06663b410ae2206ed27d90935893262df90dc0ec1e7586410400581f02009e47ba63e377ff113ac59cc08cd3db5602d0d4c27b02958a04c70440ae471ad152e1f9d75d0219930403762dcd6c5cdc4f0e8a222453264ea18c33f02ad48bf05120a0a4a7c4dc27ea600332196dab586e8bd48d1841bc928af0426db4ba9fbf22fdb98d31a10ec1aff171005820032e36bb82354eac620ff1264bc88eea58272df9863b80721bbf947860394b305820ffffffffffffffffffffffffffffffffffffffffffffffffcfcac34f1e2b1130036b8669031800f4aa3cc43ed4daf3def1d48f03f43d038ded510ff03c618da565031d11040359edeafd3f5ecd72b4f1723ec3cc825a722f27cb9c6c61777a976890036a66abca519ff20f96cc6d9a78863e747c3c4c495b8941ac7c1a8510e294388d0219dfff039c9bfd1e91454a1a5dd38685e3c222a9f89297caaaaaeefa2da4bca5c5207f3d03dc2c500114e6428fe67ec1153213a6fbe52597adca446cb674db930fa67c859503f31a8e4e1b5f6f74157e971f90213903234e2e5108004dcf6739dd88c8f99cc20388b12ba6549d6bae3c901a3f43d7262f5ef9e7e69fcfda9c59247b18d65e307f03e9e4288d5c87ff65fba3c6d1214875a9602ac0aa03b30f4c0c97ceb9b97d387803ff80cbdf02af1faad635fc9f7b0d34c33b0d4a97230c5cb9a1f8904c477e0fa603b4b0d55c7f92a1bb95fb6e7a04d17faddde42cc82d1ded120a6dd11bd99d2fc80395f0f1b9aa71c5d7e713019fe5e802e91fafa6243283c633e07baab210e16154033a28d1f52f6acc7c2c2801782ef85801461dfa8b72a2ae9456119582b84849ef0219ffff031c6e69d6f8a4b00d8043833e8b7f9a24055369560bd4e168034e40f2d38ae50f03c0862878d259f4d3832dbc4f52bff8c1a143c6b06f9b1df462d859f841d419cf0321c5263fa99a3a177debd0f341ec829ede5339bdfc9ca332d194e0c7abdb553b032d94b1e3f7f61e15774563306602d17e1d182710be2a8b90cba07a5e8138294c03e7da931567aebc7614ef2d0b2ce6e82f00d51f171187a8b81c2bdfedd059fd3c038e61c937d65dc6f240342ce4ea4bf033bd5f24a3e970099d9a00106dad0306010336b84110211eafd5c46743bd8330416b666aa97f52a34a66ac93342627a637d503e5e784bf6eee2ab572c35441695454b1cc236f2395f6fbb40eb94dae26d9a34203541d85e4fb910728d2ea4113a627dda4b9796e453358c346e43c14062e036ff6034847e02c4b0b21cd3539f7a84fb39a1e599d20637e1aaf0a24146c6f61bed4570378d503c2e7a045a1f96f8f1882d965ec074d27921ba72a4db5e36bb9a24b98ad033b1c3ace4be8d21dae42ec59dd3c38405990bd794b351d3b51374ab015800c19037d8a23624c2bf0a33050498f6e49b56dbc42f013a4713532294be8f6eafc018f035309c09256a920afb92ac8c5ad092fdbad46f2630ef7b005196b2e9625e3584b03d032e3c01efc36d9316579acf6c5b2bcdcffacdb95f3c99433bbc2feefeb19e503697dff1fcfd13d4fec57575444a4fbb078b4ec503e698aa9048014a1f0e4346903e8eeeed4547b8e5152f70823ae1204b29693bcbb4f8c745aae60fbf08d5ecef103bef2c998ccdc6f6c10cb51433a7bcac32278446ce1e714b42410438f6193629f00581f02fd276f9461e25ffd8ee917f5b0df54196b099dfa713abbf45be8a0c80f685820fffffffffffffffffffffffffffffffffffffffffffffffffc8ae166454dcfff03219403d1a58d1ee293a7948d9418af551270ade709e87043387b18375a6a550c00581f024a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd42d94d00581f028a41bd44560576931121c837d43cae291a52c9e51884caf2c44e04c3354e4801e1778a6024280000581f02280609c6cb4e7fdb4346ea000dfbb028f8843ed67c51654741c495a74a885820fffffffffffffffffffffffffffffffffffffffffffffffffa137a67ff1abf4d0219a811036cf1bb830ab5584be6c2f3f8fbb41182ebb03cbfdd5f399bb20537370ff9135f032e67faf617e857f73db6c50e99094e7493da94058ab7d3a36cede3f9464f031b03b3e9c3870138c7965de92cb736512b3737f099d5dcd0cda565e03237ed99c2be032e6d3959cb743271be884e73820d488b773bbb7ad80fb3e3fddd946be308bc4c031f4204fd3b24ab38e9500931c516ca402977b92e931c823ee589b1c8839d2ca8039b136c38c91553b6f0e65eaf037c5b77843e8bbbb0923fa2b8a394daf970d9b0036053ad4079f74ea2ca757eb8e11994cde678644ea48c34408928a666d12a15fa03d5818934afbff56828ed1aa6305d4ebe1e265cc2b08f4b935357adb6ac90d33f0219ffff0313ba69cd9258df60ec379a7bf24ce7e7c2f03286c147ab9784e73ffe55b7278703b0743da31ffbd5d9cd65f3fa46a8133f3df643158d213449359f18ccf76a16b103fb2ed79adda070c1ff84d57f7cbecf9133418736ed805262031e064f8022f456038029524241f4edbda4a380481d80351d5269b975a7eb8ef95fe7f586772a0ffc0219ffff03ca5ea7eb2744481fe090ae3e7d17f81d02879e0249c51e437c3a0e9134f7fbb10394275cecdd687c4100431009e80986ea20576d73ba708453c0d81dd452f27a6d030ea11de72feb8a8d348258103cbf10153fa2c63fcda58f88a13f7d7f409096d7039b25736bcb2c02cc2ba7b8297b91c3b5cc4871c389175a0436492c4eab048ecc030ab74a4ca0bba4cfb72eb5342d9155332e8991c693aa1c97f57d4a0c6e1cda55037bd415110a93f86ad49164755497cc8f9e8d93ccdea1155a91fe98d3be55f88403e016c5d60176c1437db2a599e52cf7aa4f6c32fcf8bf7ee179cbda95868d762e033b5a2d976a3c6da3814ac1c295833bb29d21b9c1004222452cf5ff33af1a5997035630db50ec9ddaf1db766a85fffffcb7ce551ce06fc5590300e93cb6b34ca10a03ad08afd11d15ba5e1a055accaf7d3d27438621a3165815f340b6487b6fb97e1f031774b560a8977b6d8cb6250f81039abe622c5ed99d79f5c3b4b809ed29aa0dce0397368fd7ef6a3d2b7b7770c1d7d87f0948349d05e1afc3792b2d2ace3956870a03a16fb9efc0cbc55673e2860b98f0dc1ba46f1b0843a8952535ae335e1b4551e003dac30bd4bfffd27766b42fdc7658751b7d5700e5c4582973904eef3a1ac7b27903b7f67222425e6cbdbb3ba387798559f7a39e9447cf22760a993ac29d9258d4ef03c803d2c71c70f982f93e9eb8b29f528b96c5cd3c664d8f4d0b45be4ac3d665cf03ab27e7b70287b7840b309913d97bb43997f4193108fae20319a29f14a52e139103f940d10bd8658140d6746890fba4b58a7da912f680f157739513697be12d3d000372c256ea25f05006986b51500a388d0684532ec3e978db9618814a96af6d217c00582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec057010001d6b117076222d95a05032a99f10738103c60d64d03c8411265aacaaee5ca00c6e1589ce075c970acee4d0820cf192af3a5965f50b40327d465dc45444f14cdaac794a9b7129499b6b05fb46f99960facb48bc844fece03f4af415fcaad80414b4e2afda8b658164288f7b19eb09778f06f8be59472b46903319d0157fc026f7ccf68bc17c27cf274f4a69eaf9db136ed2299d2a43f054ea90347401f143e75381b9266da277483387da16888f1f7559defbbfd36808b47908603a34cc913810aa9128d98f2e37637fa72d6f5ab6dc942262b3cfe6468079cd5610349ba8c145a0dd8a7522fadbde4860b96d594efd5145975f126d63431b02becd20390877ea37d4dbc5160261a870913dd92b1ff4ece561e152bc1952532433790f50346d1ff6a9967973d847c225266a7a819060224a18316d942c1aaba05bdbdf5350219fffd03abb16752deaf9c9cc3d698ab792547b8a27cc2417e544609631f75c1077df7680219ffff03a7e5b1e8df86807c2487bd74ab24ab5332da8bc2493a83125ccb8a927eafb69f03577f2117c97836f4c277789568b4324e0426175bb05c0b7b8c183adb04e5081e03d0fe6bb8974e51ea4a7fa4c059c926d165f07b2bfcd12da5b19fd25b84b6351f039708d0fd56bcd1072153d78ee369d582240de9e9e309ba76d2d978744e84dfad0352f10923c1f7ca61e62c195726cbacb0ed46b1777b4628319a520ec8e3c4663e03a85b4e46eca5089d0d1ffc003f649165944c57cfa983c9f9da3100bb3411f06503b2b2531ef0e2479ea4e8b6dae2da2441151c6c309e0ff908204a94bc3eb4702003acbe9654549770217e317bcf592ef1204c8d5fe49af949208d5d3eeacb02f5c40378d4e8d2879cd8644e2da39b1e1ef872d52d05af3116b589353723b6b890435500582003d25cd5cdf4be799fc97c2a7a756eb9993f421ec489d78a131866d6bac35fd047c525b51599d0ec038577557b0ee640c4712ee2ad584ef5f7ccabd35b3c2a23d0f0081e40cdd8730603484d4b4a9357ad5aa1b2f0d80ec8cb8c04b159ab9857b4c02d4aa4dc63c41f3f03fedc512060a1bc9ce563a42cb492c9951a86c9876e12deb9c583a657332b8cd10368081d7fbb3ae106ecb85ddc167bc492074f7b8be7a77b14c5d6037d70f8532403444ff30a662e4bb7af8d5a2266db3b86b8995a032b0643606e74a60de3bc147b030f37688a782cacd642905ec8108898670ef9dd279fef0b1ed3f6135109953dfb039dd0f89891da3e1ec92a5057df3316fc4eaa75739ee8c34d1437899d8cfb7dff0058200329e09eb5d5b9d56e0ec39dbf3a1f6b3cd3ec3c5ee23ce7e4c899c8344f48a04702fa3e79e2894100581f028fe6b3b95d5cbb3ca70b244cd70ee547265b794e97777ec765d5dc7aed365820ffffffffffffffffffffffffffffffffffffffffffffffffde4009f0a2bfab6f00581f02c95991d1051b57e5bb5f62fdabbe83e9c66910d76cb1ba79d6c41fff2f575820fffffffffffffffffffffffffffffffffffffffffffffffff06e2b3f9b695801037034bb14c1cf4631fb5de9ea6beede2e0aa3f7c11439743b02e514d850dc282800581f0270a133c03608a17de9248eaaf88090bd2314fa14fd0d75558a49cb56681d5820fffffffffffffffffffffffffffffffffffffffffffffffffd2752c410c755e50219802603fbbf56b8db9f7b4dc4310f71157900f9a1e9dd6585ffd865aa56567fb47e1b0b005820036049075e118ff223235d5ec04e796200414054ec59543e281fc7f45e827bc05820fffffffffffffffffffffffffffffffffffffffffffffffffe4f29eb3844f0030359b42050e6b8df174f4b2495bb0ac01238070568c846ec54e9621ef34a6e8cfa03e17901e48c557281758b0dfe18d02425ced96074cc37e6055cfe684596f64b820219ffff038ebb6a6328b74633e676437d975bc59577ad7025f8b0e3eeae175fbd8461bdc703a9093af55350d9ce6ad0d1e89aaeb0edbaa98574b8f8bd8717d1ff97589b29aa03d05cd79d1c92cddf1606ce0e7a35f54c72a576b9cb917651286f2b246d290cd903b91c880f25859a8c078855f3f32bd2a5a4007927dbdeaae0e18e87745ba6812103afa8db58ad32291b9c652085a6bf494e7d7f1cb5476eb62d89e7041925ad1c07039d4ef02a72394d4fb286a03452d50cdf67f525c999e2594107e397a9ee5cf2760344632f3bdb399590a03dbf30c79deea271afe51f293371fbb0afa845567a4c48033870fd934d07b9d597570b2d398b0f171e8b1cfa3fb45d939596d56ef71239eb0219ffff038455e12fb3441e4c3f9a1fc9c0740101b077abd4437428dd7523c92d6c51570e0354edbdc68beca615991f7943a0a0f9682a893de4bb7ebd3f31c11f46cc62b28003b2651179746faf268f66bc621a00febed2adff9d9047b7968c8b5a8120fd474003a2bb0f4de6d03bfa58c6f4019825756203ebbbd8a56529f5361378df6fdda7e30301e658b835cd20bc7f96395a905bb3ac1cd56bfe7f90f02262d202b36ca6a572037e9a232676e4c3e204486d33a6a47e54cb3627a62f909aa872c1fa40e51f1ed003fb75f710a1e10f378442cd4a467e6bca82d3b075008fd63529dd9ef6a719c054030b847c94cd14a7c7b066798a93e14099377f18c85c38c8610aab99a068bd3a79037f317d42c7729ae316b0e081400b38a694c2c723e15fc22f3ffbe6bab79de79b0361f4874de442d20a2c69d8b0daef9431773c299a08e5ffbf2e75a8d408c372cb031edefd0979426c219b270ce146b1a1e535446c977b3c7ce4b32621439f18fe950371e2fbfef6290f04f0c6846c90953ff6de61e986781d4529b3fdddb5b762e10303a79ba6a095aaba3594fb3cd537f903645729b218a527b129e25075baf0977cbb034ed9842e0bb1d50063988c7239110e80cfbf43b1d6c5e54721694cc0308bdcc3039e33e41811e38de1fa14159c0d515dab2b02e09508491be052c32dd76fe6e07803a013d56f216033e4a59d97b7b4594a944b644826b5dd3ded5047750f6475de1003db8af53c15a3a8ad0b91c1f5463a8f3acec64f78030c02fb74ac30f8ab270cdb032935951f0e1a3b4b14ae6e504ce76bb3f543a2cc6e7b150fc9fe3324d74efd6200581f02de3fcd25a709e4729d0b914709726cbf830deae6ea626f6f8f919758a3465820fffffffffffffffffffffffffffffffffffffffffffffffffd4d94f4b70ba0d70376e374098172c202d37b3cd0ccc63c76c0ff422de15634c1686283b3936adf040219880003645c2da67ee1e61e4c893812bc53a193d195122841c6ae2eda23827423764802034a01d34a8bdd4261b544c5f1f4f53305a87e00f421dd6fb039a54befcfa3cbdc038f50464ec3da72008684d250338cfaa94988ce31e7b34f69aa98bd4473f0fd0003000fea6161e6ba79c6457f7ece30ee91f0b0a15f11f3cbc4583a65452dcd9195032f8750e00605b9544388acd163104f184d04e9948c012c28aaca27f1ecf8a176032d1a6364bbee1d0c7f72d79d6f32ae8d1776178f11502d16c8dac224c89c165703c32ddf89dcbaf6efb29637a04af1d7671f09a6400fa19b80dd015e2aedad7dd9038c6af24f442b58fd69c8e1f246c16af633d9c0e58dd81c5f28be6763549d4cdb0323ade5fa712fe6597b705beb15600e14eee48071a0a6408384c746b5af73f283034f209a904bab13e7d8183d2a9073d24b3d22cc254170bb6fbc88b1975c30a948034468e4be74e7b120f01bcbec31c46f9ee73bbd88ba06462601624a0e932b95d30219ffff035678dc739f64cee3860aed55e04607fafac995edd01eb049a5a85727aa2c2be70219ffff03e98e6de07448d01194b6cd73cb0d23dd8974da15b99da6685e14a93e40c4b2940219ffff05581d021ddabdd00a7fe89e8d8ee3e8aa657b3140ab2d5d532ee801bccaaced0701191bb702198040021911fe03b7e32f87ddc3684b11bed8003a47eedc17cee1cebf2a78659f9fa88aad8b121a036405b6c70036fff591f3dd43bb291b7cc55cb1da3e5aa44f3c22d92c695d0ae403c4558b4402aba84b09ecb7e0d5bca5bf47c1d021e93e0a92575687d86e2eb90c0219ffff03d82e9bc8b556d581263bad3b316a93eb853f3773c070ce9a2acf676cc5c380c803c53c5111127affd16a9f6fdb8a094f05e449b784437ad4be065d02e2008a9a9a039aab87e7069e17a14695e12061fe0598199b6d72f8bc0e016f3a7bbeff854fac03c9acc3c73a5b90b50146a785ab6adb341a1a47c6432f66841307ca24b3c6a6110350694ca9e566aec6ec411a8521bcc845885d6c0b2f4181ab9f1e48a7ae9674e40219ffff0219ffff03cec36cb55861d49cefe8093352a80766365bff27ce7aa17c4a01abba9037a58a0391de8af1a5e37378491af0027efe483ded39bdfe7496ad54ed9bad7af67c5c53035d01caeee3696db0920ef6b218f496193087e97966cc69269ca9db0efb1c0fde03aa6ae45cff8706ef4a94bbcda4fff3e159ccc0266e5266fc55559e8cdb48535303e70c04f89f0fc4c7a02180908300db4b6e915f6d3910199085ddceb09e32b61e037a6f31a55acafd8b9fbb95c4abb9355f7ec86520f9bade0b2d149d21ef49d75103a5d6063015a03edf7db0bcbb4958ab4be78c9277fcf9517fb5a76bd166d30e8f03033e217ef3aca782f4f1d922e3d207f75b77be347255b19dd9333a70fe97eaaf032b546b8a614ca2daf6a91a7c83fd90655984eb12234c8645bda3dab4cfef290603a319ef27a74f86b1259643551996c343bacf3ec9891e90061cbfe7f7a3ffa74205581e03e1d844a88d860b34b99d166d2c305378f07aa418b3a8ec7020683c0d00040105581e036561ba1468080d67c11f1f82bb9d24fc2989e95a57a191ca956685e3300c03463982998040f80361ba31f68c8ae22bdeca991cca4597c884ac57d0e641c8f70cf5f69dad22fae7035cf9484bad9af535a4f05e6e501a7d850cccb119dfd7431fa5a767af76f3d53005581e0352418987abd103910b38eb1a5ff64aed9a5f5d14eed48739a8a1b78650040105581e0394230be8ec7d93dfa05f0a67e0ecd1b018577cd615356215ca1383439004010335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03be08c66795bd9d226cd6289a8e54f8dbfff96449b4d664ccf30d3864b007011bffffffffffffffff05581e0370c8f6507ef47c2d21bf39f2d4cb6b03805cffe8406bdade844281d1700c183547102f1bcdf4599002197632039ee3d83525122b0c09e0130e00079e7111c7b6a65f0bbaca96281a9a460d352a03d83e87b36b4d79edd3eb839d1afb8ddaee2f720f010e3c96f221633b5b8a24c40392ec3fbf88e96214db5ef17ae5e86649c523256167b88e32523630376ed91c9d034c4a2166cb51b77b07cfedd871a69af837256c784d8f27c0481de6c5f9376b9203477b64f2adb684edecfef6a1a59903132677ced307258e16b2dbefff575cb240032299a60774172efcd44f8e397c10f4b5f84f6efbf3c50f27612a5a6f3f157218035ccfa65a871ee2f376c21dccd0612696bc94c7e98c3a8396577e4e0cbcab719b03a3959b636d4e9ab904915eb70b734a4953bc9aed119e1d2cf4119876a0c359b603ed8afc55d2993e26cd6b125cacacafe3a3339cf9daa0fd45d2aba587f9a0004503cf53c138dd014db44f273d5715a1cba898507728ca98641fc1550b1ef8242f6c031588157fabf4f49ed29eb03afdb68071bfcd5f9c2f598eeb6c673a202252f80f0219ffff038348bb9a33d8d20b94e3dbcdf2eb77d815f968383ce310165e44e71019f7ba8c037ac9ed2d900360863a5ad439adbc9a61860e9c80334d0d66e70bcefc9b0d749003d119a4925eae37b9148308385e4387984d6dc727c4936d6bd842229c255b42c403a6ee3a28299fe33986dd65bc60c54a01ffdcd663cb1acc65d145a4a1f526272e03f3f040577f0a5d3a4699c69ce74f7c3db56379d094bda39ce7c7013a9ef1fbc703c281394e1b895c634aff99ef6ecaa86c9062b52b3d2c340ce7dcfa9c0334bfbe038842fc50c15dbca72d53091069f49e322ab827391318b09c480ad3549b4e13360348939ace7255fc543a35e48d85bfcc9c3cb916dc88d9d98aa527f8ea3d5cd1750376d1f7126bdf885d0185579fc717d4c59b0a316dbc521908c727adc94078e0f403e47b534547a9dfd9af8bc56de2db195c9aa7a2d46d095c6caee49dcd11d1b32f03c2128920485e3e22bf89e063f5e74258c7630cec9eaa6cb406571b9ef86f1f78039fcda326c1a7ad74c4e63f93489bd0219ecefa3df6a40fbbb39eb36031dd75de034f8db95492b08796b5a3a04a1dfee8135fbc14821e8413681cf1b83e83f63e250219ffff0370af7a26ec5c1a275d412b8d94a3b3b0c3373aaaa1afc7b001e3ab7695f20a41034438e4e03a1099b2370d4ab0ef8e440d285cc004a78080cbf3778bd2b5b69a310390d8bbd838f76fae838716ad239c0390e29ff9d760688edb24b9db999439182c03db80e8085230516373f1bb4734f26bf1eac8f5e581fdb83083888d3583a6d099037e2a269ef7e8f6905b828cc6763991e33c98c77fa1cbf782b75d97255b5d446c03e0209ed83ace2365cfc20c6fe0d7787c1cd43310d620e15bde6336ae5e2e2d2503c008e1e4a27e1b9ed20cf5d14dfd9039f947bbaf9f6b349c996f274456d95ee90391851f12a19f951bae042a284bca5bbd4599b1757cbf88a0ae63791f3857e58f034060b87a259538687aa62540fd0517c606615d5257f97f331ceadb05626d1d76031e513a059e973a5af6a3ffe0c75a66307404980b2f4ad55d43f1d8e961e9d70103ffba93f30bb190b234f0b73e4fb963f8b82f5d569a140d924c904ba1690ac9610219ffff03899efe56583afb726871265feb933902fc13e4d8efb5e6abde9c0cdca6b6b753030c06bb59c8a96e81aba8dd5bfdae3e93b5c4ee24ceb8939e0b90a3e95a3c5df50317f83e398cdf3b0238e489b1ec7dbe1f6b0553aea2482f586807719a46b0a0b303fb85e53a3607c1ac99bd9420333d7f35e19014b14a977ff1b6034e7008472bc003639f553af6f1a4733408d137d79a8356f91b7b01f50b27e5964a48121c1dfde6032b085418d3a27f5e41b8964f0a0ab0453fa6d1760a958554f3be30cf79c67ae503ce43615474c5e1bfc84a81d7edde58ce8680f5cd153ffa90f2d52a59af153ea503072f6bdbf89dfbf48c70badebce89c09e2bcf8597edf57d64cb3c5d657d3ff6503f630b4dc2e1fcf439c7a818dbcfc6481a807f0b157de624e87f2ab39c464d1c7032a5e02b2c4e68d2d9ddf62a52f7a3cc5b6357c9c4e76a00b344e4f0b72d09b8903fd49b286c43a7be76c50f30a96dee64cc1f619386d75dd0fba832060e2d275010324ec09d51ee68cf8bb9cbff075ad2877f79cc478986396a5c8868a39f9f2edff03e5bfbfa960dccc85a668e8f112537f9d0d8290433468436ae62530165afa311f035c2ede3805ac777d64c232fb113ab67116c8a1f252a5bc401cf9f283e9f7a6c403264ab6fba223bd719f93eb054bb27aa71a40ad8143e217b6ab87c5de104e5d12035eb84506a1607d7521f30a366c1891a54e0e84c22a7c48535c63f74d08fc237f0388233a05d913b6d6a90e86df16da00c35ea77435bd87a514b61cefb7bcebc96b0360884cab0a7946c984e46b65bcf78d445dcd542514289b62b96f8defff714679037d337e717ecd4ce5f45c4ea8994e476ce38cf937a4f2924dc40cfa8fe5870fe905581e038e5a09e900731c937b9f9cf98dd46edd55614471018486770032d540d00c0447275e593373250003eb65ea007c07bc1604264fecd433291c165a1211a8bf8bf6492cc1194fa5494005581e035a76fba5f3ab8fe576d44c03683d3a2189211bafe0e5d16cb0630b5e00084780b6527a8c355805581e035653eb197c3fd399f1a5cd68d1de6f19edca5b60433ac2b56c7722f0700c054730ef6fc5c179d805581e0309a9efb64b9fc582cb3aa2de516620aca954f1cf2b57fa3c62a951f0e00c014750434de6c4000003ccb10237fbb545478774d6e858eb7a1327708de6c205c7195d3a5dacd596120903647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0309649ef5d0e27de54607a47f0520208f93df8363061237d10e681ecf3ddd9efe05581e03469667fcae85f0588263efb961720305bd89608714ea1d1d740c8f27e007011bffffffffffffffff05581d02d5cd67117eb060eb8283e6f3aaf1a31a9234b6478f940d7ca4cbc360040105581d0299652947601cf1972a660924be5f208f708f0e0e2bc9ac6a34afbe120c014702ce80355f63e80459088a60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820a4a547cfc7202c5acaaae74d428e988bc62ad5024eb0165532d3a8f91db4ed24002903bd6330230f56c3fa416c40f3d6a4c1d8582e00e6471233a51880b2e949cf450303df74e88fe38de77825fa9a421fa969f2e41e3e2fd3986536fe573240ac8f691d030bb6b3f0331b2abc3e58bb343dec4a45706d182940187940f7dcd7515ffe16ff03541ecf4bf825e66fabe58e1f4b7367748c319178913b976d3e5956832a19903f036f669a2317995bf828905779b8001c91e946214c362ab336c19eac6bea5156870380fa71e007538367f230e056e4dd816797b41681c93bc2efb3dd63d955d395ad035c578d3b6aeda5a93ef3c4ab97789f2101e510f2d65f4f097f25b7abcdc57566031f523a8839d9e8aea9e19b0adda167b3f91f211e1a73ab53c2089c1337985d54038e6e97345cee73bb56cd13720e3fe68c84aa3f9adc1039a758ab029c8d5c0684035c2d0a794ab3579ca814ec68357e47ac885ba99ed25c65ee56af7604fce84eba03c6c1a3eeeea72bfe5f5f71c399ac4b170fa80069edebf1dbee1b62335cdb2c5103385bb12a393663bc5cca3e5a893d27fe99b27838f90ffd20a8a51af29c4eb97e039af1e9e8b58be4700ca48554245e5a35aa42ecb5d6ac4368136b45eedb6a874603d13772ff6e2d067164113a9887c435607a5fc3fbebb3d63814862f8dcf26167c0311e15674ed1141d08ffde5725ccc20105f6f14db618d0761609fa1a0dd5a565303b398ed9043c6c66de8cb69cf6a8ed70aad1e9ff1a5274aaaa48593039d6095950346c30c539909d50ab74da40838680daf91606743639bb5b689a21c08253eb7ff0388b8f8fb514dd9da03867eb038efca05994a9a896a56c9691c2fef499521e02a03aacd73352d9efec38e1ddcbd106ce7ca88de686266835188498255e9fee0191c037eb80e25e199feb6a4f422eee6a86e655eb5287dad15693907ad484a1a627db400581e02174bda4439611bf6118932bd79f735650f62e399f19efda09b46c6478942024400581e020d1f4ef8d2c7d9c10a025fe7313a53c94a5f528a48849811b3798192755820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff48b7393f00581e027f783f3f9667df24f99e307aaf8650a9a627d7cebd58a535e567eec9c945012a05f20000581e029ab9ab536490096f7250c96b8245cd604b2367ec22f525d87dfbc1f0b35820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff938047c0219108903742162fc69ff5500f82e286f966ce842767efdf7a3839754a8386bf836ebeb1b030ced420432b2418d5a7ed627d8517a605e8637cc4b0663bfb24a595aa2ab033e0387231c7f64a983a91fc03999428c9d18cd1790b3904775f477d050700bf865c30330080c3f53bf32be687e999b1664b517d34e50584f8016cf93201a564920d52a0386947a057fc9047bb0151f02552e335124d6aa5a73ca08cf1b7a443d3e35a09603d5a8c1de38fb8817e1a4f665c98352a3be288100bc5c1cfac28421ffb83924360309a4e7817962b9c32c4a0bf95dedfcfd9d278897b63d55da7dcb00ca07beee670219ffff03f6882c7077bcfcd46be0c48cea504c686508680731104bc296f5872a527555a5035de897ab888eacfc159b978a7e324846d93e1a8e66e85c85b2f63346166e5a3403f066026a47b122165b65fd9815b7307dddc3558297de38622d020e0879993cfb03dbd3d362c6941ce98f7465e81bec99a5a8e4126acacc5d4d531c283466965e5e035af60b9385cbc1214e33abd200ad9486fef0809f820406b38baadb1a40c5de8d0219ffff03a4bf6ce6e40f10b398bff1737caab2beeb585b45cab3cd711efb647356bad5c1033a8c70f7d598b5c2f743024eacc6aa9ff8cfc3ce927338b1a3bf13ba8993371203ff849068a16eec3dc991d975019e973cfbb7d5043d2bbb7080ad14f7b74688ba0322d4c6f5c300d1f93f2a4ba66398d9d09a59ec961ff0408b82d5cd9309dd6d0b030eb0cdaada52e6593639bbce3b67ccdc871005e70095de5816fef3563ea3bc6803fc9b5422047e2e02b2859e90e4797a0fe0fd37c7a49e32a646354db034d1351e03e862b7abe0c4ad5c24e04eea0f38d74aae780adf56f01394f182d46d6592d79c03446b96858f729df867455feefbfe75f1e124ef0e6e0fedb141b15a2538f1b04703db07e593ea605ee8567e4338834c7d2534f3962abb78336ad1dff2c5e8dae9840352a3f30afff56d56d7bb870147f5347d1493b1291cfeea57a35e6260902348c103a73711c616873352b2888297dc27d2fd37e52429a94d1cdb66c44a3a241ad7e203915cc7446567b4026282c3cf82ded10939fb0c3141ab5bace70f7a0656220ba903aee18acb954eaaff4ff68101709178e7f91b90613358fb2babb4b100f458ebd80219ffff03c62275a94806b2a989de765c2e8523804532484b41a601e8ed70be71237ec6b203483a7c6fea3bd69c29341eadf04e54bfb858e0a00cd1577a1db5852af6025b4903aab1b02799d86bcdda52dcf19d654089dc82333bbf75b934479bf4046d511476038f8d4e3659e15a5a0a11ccf6b2c16f0e303dfa0ad08cb97112cf699863dd62da03fce0abc38365fd3ecce69bd5ebb63b3b997802fc7aef039fa058e7dc7597a5de03550a9603ca7df5cae1c71b11eade7e2e3b8be522ad8a940a4bec43d2b17c3eca03da0ce40b4b1b6bf14d210fde48627976ec5400b9529ac0e8fd942c399b98e19c036c21e4da12450aff12b3238d7fbcdca14ce329699e48ef101fc282a3d0456da30348fa9e84cfed319094a23fb6949d5710c459da315d7bdf3cd8d18f336d2d18070311c0cd888b3d7726f52e19cd43386a98d14a598a95aefaa8e9c867e221f78b280351e8254187f1b8ee4419ea2120039a49016609f01220a46d66d7f7df56a15aeb03c3c4a4f9fcac6b29d998d3ee10f0ee9c24a05b23fd01fb19174427b7d08890360381ce288f92cb6968ff6b30212f188e78418d6494e208af18a447c356b38b60bb03b1ca93322d802d811be65600464ba60be059cec8b0a99cca0bed94ee2c6128c003b84bd587919a6f96a24932333a83f4e3af5dd49ae366c9c5481a702e44e9cac403a671d668596f6324d24476c1bdc20e859c9fc37883b3be9acde6e0ddcdd021c003cffcffb8577eccbe869ac5ed3d8c39f3cd07178cd3a304479b8d29f9a05116e9036f9f50135a7236e2c447b7c9cf5a48fcd4ab0427b7fdac9cae5f5eda69ccfb4303d372b000412366dd4864b1e02a667700033b9150ad8ea57bfa57ba65297005be03394ac92eb3a4401678f2dd859c164878f0b9456e6513d60a55d70b3b006f4b6303a94379135bdd61a3c06da1eaa24b85c9b41d2d867db29541215445442a15d8fc03e69170d6cad642d03c3efa5c4dd83a1dc5ae2b2bbaf066ceabc7832e5652ce6303769b42075401b9cc01eb85e3e6c71685389f5bdc0b4d5440a4348dcb7a32228003bc735954a3f2b1526f7379b75b5562dce254d7f0ebaa25c05ec19239736e59ee0344b9c3098f902edc70871630e1fabaabedfa6cd7b81ba126bbee7ecd2dcefe6100581e0257b05c7e881470a3339cf71ec7cfb4ad1dbfab86a4a71583c99cf5143144579a3a1000581e038fa197ef3ef78b55218a27b7982eb0fa72c3962fd7fd1673af9842e1505820fffffffffffffffffffffffffffffffffffffffffffffffffffffeffe2e407ff00581e034b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00582055534443000000000000000000000000000000000000000000000000000000080219010800581e02b171e94201f9c7f41644bca68e5859325dd0e7a9b049afaceb8f431a795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd050f7ff00581e029c010dfc1d18407e4d6cba658c4d509e581cdc764906687614f404df1d4398968000581e02ead55b81da6658c2561693f0764f7317add7aa8475f974d8973794acf342263500581e02459a69cb8d3747bef978b6da174c48efdfd689ca4bbcede73808abbe114b4a817c7ffffffbd03fb6c000581e02aefb08ec0e91088c40593f456ee553f4c8f6a7a7017932122e962e08065820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff3ac548b0219d41a03017289c37cf22f775da6c83f631b8bf775a27ef3fad9c56ebe9264fe271925c803565b9c592d85e3d3e5eb0e49de7ca91514b72c263517a9d9bb8f542f124c2ee003715013c8542a76b66d602e0d104d3fe27ee95e487b9554ae2a4a7758764ab5f803e94dc36d2383d28d71b0802cfbb1214662c8e7be8d58647ddd4cdcce5a95082a037f10a44fa02171397c19f2038403abbe5fa64c6a6f1c9a87c25d7aaad4f1e3200316842b0f3670c9c61d85a2d2006fa0d99de21cdd3ba6075f066c56fa7cc2b4d703cd7368b931cfaff65455efa88adb54595009442dccc24a93ea98240a185e9c1a035d12c0016cb1ecc57766d73166943f040b485ae139331bc391dee942609fc92a03ddc418bf0d2e7b4f6ee81b6c122fb89123169cf429d7832610d3e7ea34f436ef0219ffff03d294b93e2c6311f10fcb7be2af84fd9af5563ab6f83ec7930fd9571d4139e231035f9ec712deb11e4deab4aa6ad219db9d9ca6a75629d77046be7a31d778443cdf03f1d6eceb9ebaf0d15b3dafc8c1b445402ef226324a8bec3de9c55439c721957603278c19d8568a12f8d657cf4876e1bf98bf4111b2fce72896e088cdddb026a09b0219ffff03a38d2b9c6f7e25dafb5cbb44497d707c9adbc58a6da7809e316afbdd44e5536903516785651ef196fab977358d8f2f09fc994551f335fff7857094963e76231c6703637d14f4ffb1ed3243e890a0a345cedd1d102643e18664db4e018d54fd33b71403c0296a75f282081dd273f5563b73599e788050ff645c277790a5c3b30d87d10703bf92f17af302c36f12bd9c471bf1e2a03613ccdda3925b9191079e2e42fc863f0349c7de7b17f916055b84b582572f177040768697e0e7623cf5dd920831250f52038b7efdc1684445ac48a8b5f75a3eecde2fe65c9ef111e27f7609af737812b72c039f4f575dda5b4b286630024fedfc9ecfafc46510243a77010052502d1e9d05d803c46c911c840c8a4a51eca3b42ba97d89ddd329ebac701b4d8ca5a30aaa7a815d0219ffff03a844a7eee6674b4670938bb2f0b8d0847fb10634d711a98a6c703db6f0e49ee40333245f36792a0f533ee8c581aa3fd432879fd9a906f8a60dca958b32ce60303a03643d98c2037a5bd2abea9d32a1700e01f5cfe3f9a91471fb60e9294b380ac832030a151e482fd268831cbe1f7e2cbc114ffaa108399daddba25e62c4d2286caff103abc8889fc978ca0aa433a6d090be3347f54c5f974eacb21c00c99eff2aa93e1303fbe604195a00f2af3006c8f1bf6be27fbf1ef5c557e2e6e5eaea8aa21b3716b30399eecdeb4c39d143ab0b97fe65dbddd36714cd6bb5ed27101e9f156c9db59386039fc98df9c28cf0f28c858f2280003137cec001c5c87060089f514a4e3e48bf6b03175d3463d14203aa9dacd2a320fa484eb004941a8d516f298daed4dfb6189f050357055c1d58cc133734e94e4a3d6bfb288fd5de2dd4163308099825e13b983c0b034860340bc4b52486c25eb3b65be1387de5aeca4da5523a2d9130a472ccb7ec4d00581e0255b85e7c0ef5f2fc502d314e214518edccec8607c96f2db830f269e8a65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff80543e8300581e025489b3aeabbba9c6dc36117490fc2a29c0b7cff00bbbcc0f3339f684f84656d10da1d22d00581e02f3374392e5946388983ab4d1ca464c030dbc92039a2ae58b8066414886422710021980440386ac157402943302c0947bdc3b0244ae3c8df465913e7814e067d40cba7be67503a1a1f2a448312bdc3db979e2629865880962a0f83645b1b6d21abb88c55e92050313cf57dc3b787b5836f75fe48cbc40f8774f7d4dea9f3e404e7070409485e079032acb2e77f807f920e12ed754e20c1b8ca375f12ba459e437791a5f17d57ac41903b79e5d3040e1290a9e54483b346dd8f2770f643d69bc42d5a2b9050e7f8f9bd500581f0317bae82771882d971fe4a07c7f24f36db1230f0263541f6270105fd7f4005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0325feb08ed9d5ed1046a5d9285ca3d48762b16a5ebf981bed329b74380ecb9ba5033732d2d02ad9645fa7f6cdae7b33ce1c93ec4ec21100af3e809f181a3b07d34a038d84223f63de28f614a0e7f1fbdc6f418c517d815a2211770e049a98c1ec0c3403cab59ff508d103e36006254e8e9727f84feb002ed9633998b6c9d569750c0915033d9dc234978a8f8c4935bc475fbce1f8e3b923c18ccb4e54f7f04428e0bd14570318fb6448d7090aab1a013e101d689c6891b5e818cda43cc30547225c3a0af38d0219ffff03fa78871ae4622ce2b289d260a427c5bc097b51e3e7e950a774bcfa1b94357536036d499b1092e8bcd66933345633a2d38aa4faa1822178b7a4f93d0181b5ad7ec4032d30d189ce17fa6f9087bc06b27a355a590f333be202f0b02f7bbc1e4e3e35ff035b4df9689f2cb2e4b2327c6da2b025f023a14349896c9697d97ab44d8ceb9cd8032c269922d16509171af9e7828f4857c5c68c73237503e7f73a1ca7de1182de1d03388fef2087b43aa5e9eaa9de959d92948b0774a9ca9e66b3aa98803a6413ca2a03bf39aeee88c238b3168e8fd37fe8af907a96ce9e76d8b310024ff578d4b2bd0a03be5409ea5e3b8ff0193f9a31a8dd2d52c4e34b9ac6d3c18045a4044405c0e77303baced432a812b05c5a560ffe948c1270efcc9aac0f40a08b41846f6c49b8128903cb247d6055c768869cc3fc99c1f22f9a986d2c3897a8f02cedf6b4ba78ad109c0219ffff03ce8afb979b580073ce9dbd3b7e2391df31ef5e85ff5267a08d833b2dfd58376b03f41fe33025249ddabb2cc87056dd9b20ec09842fd19a84c0bab22770868f5bad03782b1dfc51cbf16fd73f730d41d33f6ecce90b23a1891910051e4438508128b503fc5aa519d4bd8718a0232e7e80a0ce01b68f1a92a66dc0acd9da93a47fa97e50036c08c119d5dbcfae1e8c89ab7626d001ad41450ec7c3d74e54d90d0b64042317030b0c9b4fed024368c1454c2018f306024e7772388ed01a8c4de560464297fd40037242eab6f23b5194498a0fd7c58ff49639e5d0d6ca3ab328cbc2efde3b933c6b03117f539758d0ac167ac9fedfbb35a0f214ede812c0cb81b92c92ee678da06bba03675e95af825022ca36a2502ce36b33d2e521c5af11b04756b82af15dfd0c62e403c23378fdf3ee8698f69ded53eb54a02836102a4edf6e19a94bb46eff20bfa40a0399ee91973e96840eb57822b9c34f8b494468ec58ea21c8cdf5062f1dddd0b59d03caa2927330037003822cab5c30549960faf04fa372066ed32ceaa87ab904cd85030a13ddc69d68ea813cfc7b5131fb62a1608628553b9c3fbd305e36c5e2383485039dbd3cdd771b496310519a6c786e2b0f34c4ca002c1e4f7b7651062b2c7ce4e0036786080b63a43567d09515e41fe809d15c53d5e65ba461db607cb46f54505daf0219ffff035cb0740fa7afedd59f78514b4348abc388ea5f55b50db7b81307f9733f59b36d03a40b2535b6096c40faafbb2b7ea1fd4686324dbe249c896666699012201294990395253e715d94241081a29232e2e4223fb46865efe7e0b639a1b12693510c381b031133f2be9a84b778bc05fafeb415a68d9e206d08b2b0486a0dbac13d24b6b33d030b9395a646b561c7d3372f5bd225b0d4c8e24b59d417bfcee18823d48bb45f1b03e35e64bb54afec27642563f22911c81a862d4f6536579c4dab697cae08f33f67032640ee246c7fdbd1abb35271e6c05c8aa6f01fcca81050691490ba1e1595628b0384cf27424a6da40bbe4dd9371fb25599fd35cce691c61867bc5ee105f85288560375521811cac525d45d13cc0d5c932a49ac0ede30961cf8e5201af8feb21cb667039d5bd188f601e57fea26729c64b61c357db16b6836a6047f50c0543710cbd45903bcee18c670f4424325411d35c1a6f89a71ddb2f2e2bb38b545d27a504c59d1b90377363b0504cd8223573554b8be7b016c8ba856c4511be84db5c4b0f974f6c51403203a95b65472bbef35aecc3684d018eb01f88ecdec2de31183cad19ffd258635035619787d8787d3005762c706a8444529692a1faf49cf0f80e11b4a356c03ea940371c8c68f71bdb7b47b2dd49bfb9b7b7ed1d78f8bb46440eb5b041bce4120d7ec00581e0292d5a4ee794683e93f7959004e975f08c8bbb78cc2205a76be07e19f485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3535ef0316bcbfb9efc5897229e21829dc672683b337dfe23e7cee2c0013ab6e8c9a31ea00581e024e58a928735fc9c60805cf34ff0582490f2b2f576d6c9e3fb1f57270294653dab49f7e9b00581e02dd21c81c04bdd7b5ed4d4f1ef8aef25979f2fb2113e6044a5155c4f9cf454976af96020219344003655fff5622e288cae86e960b5928084a1853d22c96c4b021b67eca8d31cc4fd5036b94451edca4f0f456018a0e9a3c25cf372c0f99d7657c501e9ef88e51b2f93a03e29a747f4db97f1b9c3359b0b8f7686e3e6baa1700977345fe5b9de0b13d14d7037fac63fbd67736066cc8bf5537e48cdf0cd6e42282ab75afea59475b1776356d0360858e1beb65792f558426115f58525137ec0981080e97e78e33dbf6b892d7b3036c4dbaf47474984a7e7e77c55622dd3ce8e3bc8639658e80ba8989bb35faa290037f1ad9c596d19edeb007dd3e39f1ea443a7427b6afa4e16216da96cedd813530039ada688525ee3621f650653aa08a1a15333cfe36478cf5d9cd4c5873a4c1b06403de65047e5b9dda9da9539f510c4d0598ac48363063fc9269431269ddeb74f3900219ffff03c6fc67abc8ff22c4412d271ce6cf64da4d367c3eda4ae2f49c8cf40127f8e3ee03d0f7dbe9f36b208c714b0c7d387120d107e763a445e491b2f1274e1d108d196c0351b0a27d16cd028c72703cd2686d4e8a36346f45466c5666739f88b62dd10da003ef802f4f2d3be3421bbff1131f8eed7b4d65788165c935e046227ab316b4c875038855d3ef71c513c49c23fe1f03c372e75885ccb5b84ba8677dda4b4eb6447c4a033e98075abf3995148354f3d47737061d308d5d0363fb416c6d21b86e03e1b310031760b98158b8cde26961c8405c3cadd870727ed94f16f7a3885f734d0e77a4df0346b51a9b72425e30c148298d48ecc4512f3f8fbc3213cddba2dfa3705025118603b398140dbbb5b079667ea9ba429a21daba4308f2a57524575275cc7984118a27030ec7c4c986ce88f1cbb9c777e6aaedc92a5c330931633da6e2c41c186f97095a03a2e7af2ae66e1e5abfec40b1fb08c0f5191f359ac9076c4e65f76e2df4909c96030f874734bb9b606d4b2aa08d51864c1bd6c69680201a2418864a7ee6eee9a3a003cfa3db47d7bd6db81b1940d75a1fa3b734c9ff9a6495057d3e58820bdc6aabc00219ffff03d2dc76baeba4bc12b12e4e3039759d032e17ec76cb14d593aac527d669e8704d0349d11aafe69e814ccbec759fe24bbec09860b06190af0a9170009cf21cc7ce3d03c4c46f8da809f1931bb422b10d4386e3d759a6721ecaaac5256e91914afebc4a03d3e5965320e2cae2041ea5ca12d99b24d4931147ba8a185f21ba50cc3a090cad031bfb27355f337f0fff2792b272eb9548ca13f550fe105becea8ccad443275a3803531256287a5e2af27af9151dff315c59cf9fc5dfe305cc27f41c03083df9ba4a0324aa572e55cd96b5d70cf6c3b73ebec5927845b7cbc188147e4281840804ce6a03996a0df295af513acdfe1162a6351b9e6cf13c27ae7e4dfac72457810c94cfe0039f0ee8321ee1dbec3decdf629dbd54f87e683e6c7efaab495adaec41e02bc74a03eebe0941a061cbf95c0585f87301c94e66cce2dcb58e8b0b529372dd1b51d44f037beafc4be381c24a6ac9f6440c8992aa6b9203e697298c7c6cffe8207dd326f5036dcfadb3ec1a16222c49dece0077508ce11faac282d377e9176c25a3de5fdb420390b760c39fc580e13c47ccbbbd9f412e106fbb7c3e6cd45792efb16dd1a0981f0333948e2f60e6a9b7a19078fca1f2382365960b47ae389703c9c94272e7ea7da3030b1dc74b757294fafd7acf365384f4e2a806fa2fc5b6ececdd95e3a98afa5d1a03299753fdd35358c6d2f319b1208f0a81b564a8c2679cf2b0b369afe3faf997c1035bbcfc4fba0f9324577b55dbdcc402bd4e45def541b4f489144ba8632b41dda50323a694ed2cf402dc9175a62cac8598dacbaf75dd275a65a7acd230e52837584703b09bd76443f2b19e2874d1a9ebfa3fdfac106e5aa827657f40d70a9a0266961203beeda31608a04610ce04832a7259fc1304c4683b820cd441b8ebfdc4f4081555038cae0d86fcfe3184d9f868080553d0b53e398426acc98bb8dc2908cfac3c4dec039a330fd5d45a498dcd1d4569cff1697e95733e6337aaf3cea563f664f2794aca03f7badbc2279b1d70f294a0eafcee4ac51ac8a5721bf71053b7a66d037ebe885100581e02a818348987efc21198638a43af425294e0cebbabe1f3c7676a812e34a654807a96288a1a408dbc13de2b1d087d10356395d203395cc4683cd49e35d6d101537b3661acd7f03de547e8a2b17650ab70a5829cbb00581e0248b7e2ccdd56cee52699e9315c16e7f3f0dc33119ababa60cdfb8409284417d7840000581e02ec2e256dd7a246351e4b2aeeb0835725f8a68497b181b9542f1d7eaaad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6377579e0219246003537c6fb5aa1ae3467fdb4894884517781356cc679de26f914b35e3edbe2f1181039c9aaa33d7a10b78c48ea7a91247af19de6b08be5a050478e67c6ed4b06ad52103398def5974c743e0f2687072842f3f0b88654a88fee9d446b459031efe6d9a95035cec8bc04e48d6815da71d69d016d9903d542ee96975155d8cc68c9eb1999ffc03b365e1710127f7adf4b5462712752a6bdb245c5c5c85e81134d95a91f26ca32d036965770c9ae2ba0f13e32cbceb3189c23ba602d6de52a16c8aa3094e8a900ad4032038601334402f22a56b4b4581a124b660571a282310dbaa133acf9c509ce9960219ffff03efa44298260b362e02e49b108e99bbe9a014694b44b70ffd2f16d811fce5796a038a7260fb3095fca4512d75c5071c69f4321c6a0dcc182c662139de8fddcc7bf2030e8f5d7871e37e4e6d2e7260541171f58a38d146a483a28575a09cba6c87ec8d039638f15236ef694c7bc8498d3423e71d8ecfc75a2a36c3269cf1ab9f544d1ce20380529d2f3498a08b30808a7a7f320567ed4d29bb428e4ac04373720f8c4f6ca5036f570bc6465d838c57008a6b21a6fad4f366c2e04b4a9c1a8f452f7ae05f2e3003fa6c3bd2b50e9b304b6315283ad673a99e4e8c7a74cfcf0ac84c5c0fbd1d4d230219ffff0219ffff03270a2d497a2d12310e5e14afe3f9733fa2dc121669433cc3239b4dfdf193b91903d6c0a480abbdb392f9de1f9a1eb628e4f154681bb3044612a40c0bf91a1d0761032a2e7221acd7c779c2964b0d1a461e73a77560bf39ad87e99283545835bc46c503fe0f8b617e58470bf097e4bd6c84843cfa5460cc0e87f698f691f02bc1ae09c4039ef0347088a71ed3765b6a4278a9907af762f8cb465a2110d2edd9bca6b6b7a6031e3e241d2545a0355e3b759a1d5d3c222fe74a3c39f58fca215cebca6d8111570368c857f4ba12021b4d40f8429a3ad551772e4dc415d6d2437b8f3fd6646980e10308c317fbf34aabc78b76acdd3349a88e2b6fcc99195bfdd9c224d19e4859ca9c038517c3893655ca786642f6bd5e3ac5df1c3865c5f0af9215f42da3f231b0266d03f5ca5a0609299b07a18c9b8564f21a1aeafe74eec74cccf4ba31ffbf967e067b03c67dfc577d47a99f5aa0a1a4ce4c29fc8d5baffe19b09902d3075faa85113d37034d9e040a328aa6401255c8d3055f4b8b463fa9db079980da5b4ad43ef678d23203ea09bc42c57d1067bd830aa07fbd0f8587cd12a463fa9332fa482a36594542570311ae380bfb20e9c574814da56539052b19017e9002a627a5a7707d565a29ddb4031de6a3a64160f13a5400c2c347bdced90603214d4d7c61b2d373a2e9088cca1403bcaa53994279e1250cb9ce7d945a308d72c3fffd8bed46c23fdeb0339582fb1803fedc3e3d412db59e5d120cd2145a26925c5e00c014265a2ba055928cc59f0fbd036f1b02d57625d998aab6a74a099a4b4b3d90f1a93a61659b89a186935512cc8103ee3a527180bb805a0b387f69645613e84c9c633d60b32a88a97ce65d7ad7469203ced45f1e576cf0cf348952122bfbbe61d84e409eacd3165d766b7a44067217780359f32d268151b9169edbbc83e13d919a36be59c1069869fa268bad528c18800503c40af9e83c9721d77bb62cadad47eac1975e55ed7d264bfeb1f299d2a85d851000581e024c7e0ef0e5392395ce7452d4e5eb01900919f7ea753570abc24763692d46333532f0059903ce57e5edd483c9ec130333555cd60c9d3082ac31dc303830ada6b26902dc100b037abfed7573ad322f5d2171c142351733c704e3e57d3d2dd63cf21a8be9416a2300581e02260608623466482f88cd4120ffe69d5e8ae6875361c2028d7c5b6967b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e020d5ba211db4292cd0fafab9264dbdbd95376e3f2f2edb44a004868a096438b92780219d088030f0a3e64f2a2581937ac885437668be8cead505aceb8dbe390adb0269b8f3f1f033bbf5d7ecc9f52213fc5b53a6f4e65c8175b52ac4635ee5c3fd9202685832d06036808eb62795c554eefd360a80b4b6453dd32fdbc7b396651e69b650c3106a57e0356b1507f4f284e0a38b2236ed687625684110b7ad2c11bb354da6c1e7d778f1b03a761bc4dcf02fc6d5c604754b1976e1896dc503b9048c96f86f793079dcee2d5033ba0bcf170c98b3edf075caffabf9ede796b6ef740eff3ec90cbef72c3eaebb403495344efdc25cf9d851791218273f116fc0ab61656de7a5244797aa9ccf1f0e20382be21fde0c7e0b66fe53625a5dfce65ac143205306a43d032d85bc30d84329d0399362d71dbbed84b8201a649df869ff9846deb7e07f0550d90f40f64c1d636ca03fe7f3a7efa5804f92313462ea6d3e1144aa0428a593b126eb3c55e218123f2da03977c4db80817c0cf80797bb7a5f6910dbe70ff3517755f378f9d6f7c61d00cd6033c3da4ade83fde310d3646f4a8e53dc27423aa7b1d622597956531e092ec7ad20311631580c2cd3cc608db8873afa35ae7d4c7c10a6d8ec8adc5beed3f8549b6f1032b6282b738e9816d557d484ea3d4d35f7ea01c7e670e7f56c776280bc1dc5eb103495e7339e637de0761bbd1da063acfd7c6c50171686f7e47cbde2f2f4c28da830219ffff0344d17163bddd7e4728214e4cf00d62ad340499e34e1b06005ce9b7cc87764704034ef77136cb3557213c41a46e234ddb11e7d045486bf5790b489fc167699f1d7803f76d4d48c241dbe83bcc3b05920b30b3bdf17e93b83791d52b9b416a06c5453503847b33e94e9bfd87aef7d05c6f0c0d58648b93b2513b5aa32a91ca1cebf494cd0305a08ed8b8ee0a74c33f9a16e75d97d5ed1be0bcbd88333d7f60894ab9949e5c0341652eb420508afd53a73434dad80f20abcdd6f8629166764adec3b52b2eaf080301837e76b619a1086761f27121dfd46a281e1859e127225e284f7ecd96894ee7031a4a1d397249a423f2d40eb9eaaa277481efb5d28368438bc1cdc6a1b9890fbe0310b501ab7882813b763977f8e004403366d16394c78d8c4ef4c77604852d3e5503b2853fe957bfb91855323211fa5b13a41712ec9ddb294f708725290d6b6231850219ffff038f1267f12b761bfbe6ee03ec52fe2dcca2d2272b1a70cfad3a29a4c4fc75e0270219ffff03920d1fe57dd7f77bdad9e1ce5250c3a3acbc2ed1a15ec02eed661290b2df5058038928e3bcc686cb8477d631ba63cf1f5b68f495fe3b338f86b7214a4aa2ce3aab038a5a724101bb16ebc19e9b08ca4d70d4b2522348f7c3120f9dae86760da880930219ffff0317bb8783ad35be586080d1a060dcf42f0940f0f24b30bcf4352f4e9e107d474303ddb7092e4573755d9a3b426193ccaafdf53bac1d3bd5c0094ac4b68f3a95f21303669511e45bd89f615bf37afd6c28342012e3e5664af7f1939b3b40aed3e20b03030f4fd89f26200d73d1771dc9913b6f05506b972e913e951235057ab25c729cd403b345234f297b1f22141e252c3d4013e104ec1f2bc1b2b78bfe0754fef30a12f9037aa7fdb9d79977b4127db58b2ed7434e371b4aac34fb7bdd910734e6dfc232fe0316197a56f6e005f2ac8dd171a92b3eac0c6902bc46738845b524baaa890e58e0036d198623dbe7081f3aae805bebdc99123093aa388937a28eaea68c79dfea8b6c031aefc12e8a90a2a2daa36901b2ea36f7245c5c9abd2391cd2667f29a2c291be2035eaf4cd199c31a3e4ab5907511fbd72a29e50110f4ab5af8bdb086d63a5069f203f7655297f58518fe897ef8ff53af34c47b69867f2cf667b7c9ae213221f8793203fe0c0309e9c506b26895883a846f6dd29be3a981a97e29fc6cf2f5634e7962ca03c4474ee0736064da012708403a0638205a466b6e87fb047c65e195b46ef3dde803277eb66be4fe83a0f3afd0ab3d9742513d3740e8cf1ccab122c843529c8dbc8c03c5d4ecf83364aa30f4c3f5eb59e3cb5da47a955cd816fa429a882e37884e41f6037d48087a4913a25f92715d5811d45e37797f834894b3a7403180cc5d1e82f8c4031634cccc7714d64243c97896f5b047c7d13a4c3485d34bdf139fe9df7e05571a039efa2a5cf452107f466fd49c2c655e5dcb713df6bb230717a21d19263acf72be0330ca905de8c238f43765d61dc61bb7a94ecde19c0f48ab34847cb97b9f17539903724ea946d50967212d54f710d684f7e1a074e4948ff8b89bf26c9b85be87139803c0485bec16ed352dfca9cbd15a3fdd37b9d9b10e50d6d0315c14f50c7742f39c03ddb7a900aaa02e09cdc6515cd1fbe7f0759a35faa383158db3091299180ad34f03f622837149c22c51b1f1f633b29aae13a53e67a53b8dc55cc5d292cdfaf6bfe20359ccbf883814f8d0b9ae5531c086626c1f40249e8129d55e7d07cce24ad8bec1037477622a7dd5793dcaa8579989c21474c2066563020a2fa3c1115fd4bf88b1650331786c29764e589cc4d81e6b38db11dec077a29e73b7511d51ea65562ad0489203958afd1165789975fcc80d796474cc3da6f3562aab70691e494e69f19c6ea1e103ba6ee13b894dd5caff34ec23c9af9bf856e2b0e4c7fb3beac2fa28e6b146b7a4037879362b009b038891637c5e1e2b70e8f8856788c410b0e4fa2e17f220e9d0ea03e810056c889ecbdd6d0e507a098e71ceb1885763a8e96b0da4d97848c0c0ab2003b24f461fe92b890edd8b8c290273314ac07d1f22795a2f3c795f64bb49014f5603b599f423123f1d749e5b322b972115228cb60a28982f08da0f600cfb9bb19c7e038e538d96ee56fda485c224963497a23e466ddfdde242f1992cf7d88c210415e5038f827aafec24d70986f0b9ef44f7d0df98e2272deece65fbf613e4ed47b0aff103a5627c20911c69ae2d63d168c0cb5dfa8c13ffd33814aacaacb5496446f27d5f03e95ec03a00aa662bcd2d8edf8a301339a7b7ca1d1b1612fd7bcd64df951b66e300581e0232819791039ffde2c3f7d75a6bb28f9d7c9d1eadc9621c5f6c510be15c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f96597600581e032b2184f02b815b06a61d67722a848df42a9f1dbdc10ce3ba73c17b6920452e98cca61b00581e03d085212c45be790f61cd06e97cd4797ee788d459d6d0084d568237b400430498ac0219084000581e0237dc0ce0482f807a29d800fb244eab4acc81a504276028f59d2ce125845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02070e2a0406fa1619659236a335d734b10ffefcd4885a8e79c16a4d328d4cfffffffffff096f3aaf8e0cb00581e02dfb5cacfa559b483d5f378e9fc11b869a620c20dfc941e5e2a6f4d56285820fffffffffffffffffffffffffffffffffffffffffffffffffffffffb6fc1dcce0219013603b543a906cbf8698cd79af616bd282c5e2a1528c5f06ecf27b8dcc4077d48c99503a0fd395f93c5b93250e3b50ce65d61b5d8a23998d6afafa6a6e783d6b83106e2034c0909b7f1698c7e3b143ed691efaee20ffbe3d5e97f7cd941d0441b4d35f5e703eb814774ee9d4c73323ba65bda2d9846749a94c142174cb58d718d3c83a4ca90035ba69f0b944eb6c6e872195294274c84d018c39d9ef14d51162a0719196efb4d0310ac71d8c258545e6d1967800dbc902354a2350d7be36a15187a63d40e063a060219ffff0219ffff036890cd95170c19916fbd50280a305f5f7e3cec4c233c86e9b82e90caa251942103e370f85506d6dd3a8d08ff0cbb11af6d8ae14ffd47aa6506eb4ed437e3a06a640368b17fcaf32caf338f20bc13b5c28cca299f45a169bc8aeb4493a97bd8b781f2033bc113eae6236faa20ebaefc673279df4f12c6e70e22456c4f8020871ffee11d032452de13e65c3a4859efc2fe89c21510d4cae08dd3cdf90b28ce2f6d59a9d7ee03d9dfbadfc013535936a74d0159c631baab873d525c77f585373d41146274544f0315064cde70bb0bd8b875a64ff8536903afbca9b6632db1c3b647553a07dd3c530320e448c8b3b79df7fbb43b928380eb8484b0223cb109f360b41a7d20482c0c970219ffff03339b1546d9783ac6207e47079a1dc56a9c40d9f817a0bf18dba3353bb2d742700327c34330750ddcb2436af6f9695eaabb627b98beb0e556568f023ead500cb45903847661b13622f68a00c8ad3f2b98a943df7397676847746907d0c35d5bced68f03addd03aa5f5cb1c6cdde75a2bcd2f766d318ae4713d553f05a028e0650c8969803eba8530c957867ace5947ad4baafd8e4379ab5e8d0ee8b82f9deda875df61a3b035e6f6aa6d867a15658e60aff5d493f0dbb4dcc7df9328b8bcb644adb1050c774035d803cee89643f88e480212dbf817d57a9c26eb150c692e77a4ae847ad83c9e4035216699170b73bb654cf5c307b32387c36243b3e0ebc39d1c8760844774fff2c03d8247cb119a95312652b2c2d4da29ed6e3dfb590d7d1af063a483074d7b3ad9a036a57183f58decb136956b1a0c995689362caea6c689fdb65ddf5244537d2dfa903e700f8e8eab7d2b4e599ebe390ec9efa501d61003518b56d162ab11bd96d261003102c0c265e3d08bffcde3a7b6e582860af16793ae58a339d54064642a6ea4ba70371c1c68f02bc37a57df66cadaa13abed0a3bcd7e89f7938f74c81de162a50f3303fd6925e910bf502b9bcb6b0f9198a0ad03b3feb6b97266d606c129a2bd736dc903b4588f25fa35edc8cd98536e9729cc1cb5524b8ce1f7a222f210f0759d4707ac037725036b4810edf71d6496e816a43548f3e5a7ad54664e43d61f45031ffa65130365ffe9e33822c36ef8fdee3dd7e5a71b684106afdabb2a45dcb6eca844ded41f0333c320f07f4b156fa21881850300ec0cb62570fe96c59b7f949db1f68fb9839903eb759c714a667d7031e5ba9a14c0cf34d9a0dfacb08c9de718105dbdb25da2ad00581e02cffacd40ad8126c3fee32d59b3921e10aacafca07cd96a6d58649207005820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffd04d71300581e02178ae26869326c107018130cd3203f5aea76b0a1a37e9183cb237d43b6451efce4cf7000581e02be9c5e4a7d38378048eaee6aabd41365edac1d90f2736128ebde6d979f430230de00581e0247a4b7eb169d50e389f9777f15b09f77f1c89c5935c10253343528982e4501edb207a300581e02d106655ac647f8aa71fddcacae92b2c0f27ca81942c2a22502ea1a4bdd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0c9d62100581e028ed6d2354350aefebbb189d0cd6a7cf43273e42595a7070a92d391a5fd432dc6c00350f579c5290589a681d761c7e8d09de4e9350cffefee8d2f5c04c40056ab391802191c5a03dd3f30f93d05231b00d2019e7a8d9df3f133c39bc568dc439711eb5bb8f822e303799c917f068fe0e3aa7e346819bc9b4ba3f84eeca28fcc451647a9c4ab92482a03b8fb810f52df54c8bf7a21d3c4b2ea54689a305e563ac42c14f3a11e0e2808ad03c5d3e92e0e300f389fcf92c352d672f0bedaa8a9fbb2d5e8ac44df0a214e8c6903d06ede7a4c2687ef48a8b3bf4ca5b25db4983909b285327cad3ef52c5cd57de403d571aae8e6e94b0ff747a6b2a16c8c48966fede0ee6a4b41e4c8e593795b906a037a6443d9179e6061ae648e06b092aa7070aa8d58ce7b6eea2751e18abae3ae09037ff805afe92de121c8900c29394e02e43d37cff5caa1642eb5fb10c2315073e103b16f0371ffa45d0e40eefaad8350df8c7d003d9f44a7d25c8d1755c64c65d62f030e90e5d111be0c771e0c153c5fde91bdc45a711a9e004efe8705f662f844bc3b03674780f5e0a321380f4c405d9154ccde39c0f7d806c2bc0250ea5f5fd9e71f9403d2309c45d4364451067017f236ce25f95620f004251b28f2154832e8f0e9ab1903be9df6da070b3dc1d234306b5adc1ad94ae89ea3052ee22c44f0dd255caecedb03dec3c6a53f7f8db626c1e013dd86df0007e14448ff2cbb6bf85a41558637238003dd042e96e1270099345a147af9ab03897ad0a62d447a5de1d00bc104507490b70219ffff038bf271670828ea1b0719959bbace20412eee347b57a037ce0f088d549d95626a03371a9dc050fdfa0968c32828c04e2e4a31b49f84794676fd1b03abf84dd3f1c90390ecd951bb6b0b5ff3a9f64b17e591b4f9984d8bfe8a493e8c9e7b11af5620b5034a8a76d3eccd5707fd48544ef17df87085acdf9bc34f99b0721e41db49cf3863031cbc192eafcc9dd7d540faf7afa8fb04a8bbde6f166c533a64dec5084752a0e803f72d421b25a6206ee8b8bf90414a17730868164c7e62b7c19ce0a0276c045b0a0316025b48829a02f9ec57601dc52af8f24fa0555fcad1e072298b7d91386b670103164d520ad54b34908a54f9ca0f5c67077e92bea099d019797e8f085b4c8b3e7c034d687fa13434d37003dad8685c0711a4915cd1ebad561155cf4ae8507a68f91f031d465d246295dae8bf8be9a7cec595516944b510aed5caf4b663d1b15715b42c035ce1d7e80d554374fc2048beef03040814f22d55a1038951fb620556ec63a191032ecf8baa8542b4bf7cbd373d9eec80c854d0ffdbb93dcd5847a92565976aefda0219ffff032c6c550480d2712b13fe8d2c52ca94167e7940cb41e339d9171868b31f0825ee038d34307976a7c13f2b343c9a8701cf1db109c83b64bbe53619745d7449f350ee03514516ecd8eaad9e4866e66b3d1e3fd5e3b1cfbf8d376b0ff0d10188a263a60f0326361c07b8c2aa33df3281a08375977c32edbc62a990874e1f133294f5f00e2b03c1eaebd2739acc01941ba9c440f35af2aa21b788752b40dd3d4d3623206732b6035c691cc37af4b8bdfcaa5d113a1ab228d1f994864326e0926928b28db25693b5039cec5511d0d2ac7cb7fee47b233bef735b4dc0f9a26c5764584d3d3cd058236303d4022e355516eac1bd5e4c5f2214111ed1e15a6a462afff53ee677681ae0d2130219ffff0219ffff03cfef21beee372c5c4243b21fbb4523d5a689e1a9323959e3da27615c04a5ae95039b4c6ba740450f86d764eb1ab3c3b3cec82ed11557b278841c73e43b452ceda803e865cff1be01161c81cb2f1752c9d0692567476f13d9f81a21f182655ee4c601034e1a2793e261751ab95ab72a7760135596ddc3b89c553b85fe1735767f3bf7de032bb7c656a3e10e01107940b9b7372823c3984190f57cc06e8e22349944e81dce03e6f52d63e962c9b41e96055cc71fdfebb6c42e78207feddf4c3ca023930d2882030bade1a7471a40d8a0eca3a015f775e2fa327d879c58d998fc16b09aaf422e76033705cceb0cecddc573304b685d95e1ec683973381485e9bebe6657d12445428a031b936b11c86da9679bdd943c061f5524332774f36d6706580d90194843c60833033490d4f5e3162aaaf73cb2765988549d02e0c1c69036530d80585291b50ad35d031bb78f527a90aba230925e21cbf163d3d849c740457a0897936ddb00a08b4650031036cf4f37c16923bc8af7ea9ff582b49df4587a3de41f1f35b19c21388d52220336216b7a9ad4ea13136d42ef48528e6a24868e49b5c58dc20401eaed965230a103b553abffaacf0ccb32df4311225f0c226c8d34ef777ce56bba9288880aa97e48032daf72fa8c639e9c7e6893e162a5070ee33a883830c4685661532e94f46c596f031e70de3b63769d26c56cb2d07e5eaa108fee155c3b93aa627d1d2a7e61471c2203ed833d7bcec3c2864cbe3a0da458465b0d5a099489efe7b5be23f869d6597b8d03454fbcd910371f0982f478833e8c651e9b91256fe811f5c44d38f488ad06ba3503158cf8e130a68898a59c6929370fbb88e771ec417560f24348be77d1f9fb44cb03c0d8b04333607318a7c1bca20da1c36f7ee80a9b6fb1618a1fac06eebabcf0c103882fddb341e13fb7c60eb0245c270b4ba011a3a240a80b364c75230f792f1e720320cdbf7766f89bcc5e0693b691be1a49324dc7fbe76e6686c09999823533f30303198620781bf327be5022554f82be434638d3fd585e7cbf1c2f3e5d0bd1cb2f4a03355bd870572059ec1c2721f20a3a84667bfe2985e2c0dcc0200cbfc4fa027d7d037aa2773babcb604412e73a12b40afd2ed50e8d9ea919aa9d74f3a1ee51d792bb0369b697360c5d2b03eb832da89b9ec6abe746918f55fbec41bf2e9e5ff9a7057d03739c4463354f8c8bc55800bdc21b1984e95159111690706b2569f018d9c730d000581e02701231770fca175f07358a90db6ec0254252082059c84db7725632155142014400581e0229352f8f27b5141b17d5cb286064c373cc3c8e736a9668245ef086adba5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa19613f00581e039b12193f7c501d1c87e68917d2dbd8deeb61f8ac15fd0876b204e2db30447355356e00581e03879be0b6144e993308cdaca7309eb5500f09fbc78680f516707e6a3bd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03c20b8c9d035c6f92d737aac4694df1fea2b1cfb570661357d1826b3fc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffedf644ec590219042403e5a94375f6ea913426d7bd6745fa2bfba711e29b10e49f457e2904d0d68fa55a00581e02f0716807c2c885aa4c300116367b3e6ad94084befd1c92d1164e44434c410100581e0270fc7b040bafdc0f24fe6b65f3d7ca99703db308ed073269e3c2eeff245820fffffffffffffffffffffffffffffffffffffffffffffffffffffffae04037ec0219c2160388960906a0318cbb2912083765bfc7ce26df3da8114a5ec5cb256830d3df47e5037c7aef391d50d6fa992d0c1d00f9ca19550da406e014565c5a37902d456e034303604c47281c2ee85cf94f805151bd31d6fe10251dae8ea77285dc11ecb6dbfd3e00581f03b721d76a6806ee506d08bc2d53947d6910d8dc91900cf9a2efe01a2838a05820fffffffffffffffffffffffffffffffffffffffffffffffffffffff9bca292ff0219ffff03cfca8f11c2af2d5a67536e55e280e4ca6b89e683b178b2d112e2600d4aed01720303da04f84a4a662443b590eafac8768e72afad6c6d00aaaf782fe438eec02d6003992fff20827891e5586ee447c3c5c201bea90ddb0452646e0a3bd4d963cbef2b03148b283531461e3573269f6922af3352cabc09bb454b70f581cee068373834cc03013e97b853e67f597706ff45db0e7b5eee9a887b91e7613277575187115d062b03fab8fdcbfeedd299e7c6405867b229b0ba766c9489f8dd99ffb53acac7b205040219ffff03e8fc57793a9eeb5d31436297c1f46027ccb8c03520e5f08ae714088562ab23bb03e73b49556475516ca9db817f2ab891afee48ca33b70cae0a7cbe24df9ee1e79403b90020cce61b59d1bc17bef50baf35d5b900d4066a213b362d31cdf3e7a9bdba030f4207ccfdbb5321a81263763ea4f80f0d7faf7fb4d92214f0da592c34faf1cb0389d16c530ec7fbbd333fe9c738c43a6d9cc1d0120c70b9c2ea8c4404e9e44aab03f305d2f8542623cfd4f471e4a19d25fd03bcbb028bc4acf3be38ca0eb1990e1f036305495a1fc40f49bd4a5a725e6a0990413cef3c948a0eee6c9b7666361bd10f034ee559ca3e0a1b2f543c88fe3f11b075a1318563f9b0fdbe4f413194703fb6d503e0e727d9db2ffc0b744521fadf05f29cd4d90d0687d8cbc8933305c335ebf78c0362b54eb61df661456d5dabbf71dc0fa93cbff13057dd4c842047753a4cac339b0219ffff03ec66f3970dbd4a7da615a1e6123c9bb5c85adfdd00d6e4a42551eb9c33452eae035738a9e4d66b395b0b253d5288acd62bc386edff4fc9f8f05eedafbff47a75ee037c8530a9af95322ebee21235ee7f1f6597236421314ed685f034e4b5c6bb506303ad9e2771841699a27f53fd7291df1e29f08741d90c01fd41cc8f9e2cd035f56903317444a053619f9da3e2d6fc0b3269b9e3b35afddba1939bb3a165ba00cc6c7503eba27e6e1df47728a41290a0363135b3493a497eb8ca3bb8b608e16cb22220c5031027855f6a2319ae9562a5759e3a245e5a12daa0bb0ad70d1e5dcc89f8ffee7103dd0b00bfd9a3050a1a44f48c2ebdab42f1610ebcf394de0e9bf4e7e253a196e40308f8b19f37857ecda6d322f698d28210f734a1ed3ef9ace345abf9fc6c5de69b0314458cf41a3742d4d41f8827440e8f7ad9c8f895d80340b8d8834fc7e332e14d03689a2e8e6c6e6e2a0f7ba7d97c189687192ddb654eefaacf7b184706d8b077f503dd1b0c3ba577a16d8813799f4f58ae56b0a712c6e797fbda0e62dd1fd22206b503fa4545c9ec525de26d7f04da48abf8ca60086bc7fea16011ab0ce7a5dbdfd2e80333db8aa89371823385125d06b534474ef63ebf5ac80e138be17b75da83bd758b033ad12d168c65482aef5b40b73f4575911211164dd159740e59040a05f71f506a03474ba9f5e19ed996f34549f3f6c85d147fa04256a465c79f86ad7e3905098b5303e245902f069de8cbd40185197195bb77af51d10705e0eec04bf4a3515ba0d340036b52235116df3f9cf6695977428ec53d8d9e92d1c959be17d2253b464806a426036d4d226b4dc6107d93d1f73378cbeac4de14038befe93d55f66c84cfdac4bf4803b7d37b09354fa9aafb752e076a3dca760355aff6a7621034430d59e32d7397b103fa9dfb17a7689aed6a8cfcd00b3f020fb4d670b1349708cfad40db523d2d3ee4038b35783e5ba2d4a3ee96242d6eb95d4452f6f51e2744f51a201509322c61e32203eb3d04ef303c0178b8aadcf4dfa1fc5f6b4f9a13d6b5d86afb1ba2e36bfb0ede03a4a75a6c5e1a3affea4fe3e947e485d37f19691c92e281e22a0fa57a292a2f1003168056222fddd960c5d3bb2914d190d3bb9ed780d51cec35a76b8f30cb53e56903cffb1e0de36b673f38adb905636840b04794924ab13e32a8486577669a23b52503228612f0530a54050eed229f88b20c3030ec8713dbc99e7235dfdfc02ea5379203614e752e8ea488549a535926c94d45fe0c5f5cd68bdf676037c08e5d2ac8743f03c1ca6c9e054fe44ae7639e2be6aa50de3c92c3861b22ed6f4c732f2a5f117e8503144f7fb45bcb971f26e27a298738ce6fdd44f7d9bfebffbac2c494c088c480d300581e0258a8d331977b2f360b62555e92c7d610d806b52c144b22234606021af3440d7e937700581e0258287e6771efba5a87800fdf86f6da2422156596adc327871edddeaac84317bb9d00581e021506ec07b1e0f4f0774ec9f86d1f481b16859ee620b309e0524357a5384406e9793e00581e02ae3500b4b416a9f1df66aed50c16701a7e7f9d2554af24ff88f0f2465042824c00581e023283442a812f2d04f01993ecedda2abe7c5dee8c6440eeb31be2a153b45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffdac5065600581e02246023ad5e444562a674a247e4661068d279f8cf46dfa7fab503c81d0d4252cb00581e0296b5f8f773903c8fb7d07c249f822e1c014d289127119b29b9ce868b9e43155cc000581e02c6a9fca932908c2470aeb4c94a529cce0f21e8fda5a631f07e062084dc4419ebea9400581e029235c0f214153c0d1876cefdec1c8d2e2d9dcdbc69284973a6026f0ed84628ed3e5482da00581e029a9e689e509c669c146e60003b382a1b587750c797bc94fb34aa60c39a5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff81aefd500581e021307d90a087c2e3bb239638a3c3a1fb1bd38e02b87d522b60c8e11434e5819b88e282822ab5ed106947c1c60af583c1741a38e858b7f2ca0021996bf033aa6344426d1fa31f82570240e20fa40b4865d812b58e08df11d98f39347f0240219ffff03cc67564baeb58ec9ab99441396bce1afb4aeb85b103416dd0dae6f52ee1a68ce0304c36fe40e91b5b3b93d2f1219b0e6c5c9b90d47bb484fb6513dca4201e64a84034facbb86b719069323b108048178679f34ce863cd6c5df2f2523736e252a01d30219ffff033b4947e204ddfbfeb99fb24482c4ae2f089abde0a1b0a4284e5f022fa78ead1c0308694afe3b52f89ee067407906b28526cd162ed04f0e2b1172fdaa07cd5d78f903078e015815baa5b45369942b05293cd73ce9503d7ea58886017c689863862fcb0327ec2ebf2af366870d68915d7ee3bd22e7eb06130374494a01d37cf4c0cdf8bd031c2fc2aa09f993bb016cd1e0d6b942b9557ca0d6f498b6f811b2351c1d3ce432037f5d7319e11cba73e754fc3bae01620f569c1ed4e379ce6fefd4218f7165ea6b0311c64bbda3f3ee8f74fa68a1316d07f877d0b0084855d18130ba495eddb3d1c8037e6b39e4b73c2528ec26fee15c47f09113f9a72a710b678ad42db330f3f1e0980342501596ce67d350a9a1d00efb819782a322e0b3f23a3e0935279af4d7c510380362dea673d3fcec760ee0d204d12737510525346389fbe51c1b4aba54aa7ecd3c03f5e953e6349cab445915d990748ab3633a60db8dfea4ff552b351fc06bbe2ba803baaa5e5b01bf1778fe190bd00466551257e6c63109510c9a82c8fe6d1b5c49d80219ffff03bd4a65d4f376b7494dde1a676d56dd671ad06ef30fa2e4c38b47743daf5beb5a03f453d3f21f603cb322e5a8138bc7987286254323aa13a46f7255de7f694a78f40371901207fee2ccd6948a58e25d318d70d6e40221aeb5c614278433f85ca51922033e01d4cbc7e8c73733c6f600435932f7839c12897cedcd71298f1daf3391d3550371ba56f523e33e8112f859030bf3333105c79a14a6a9be1a5abf339a4fc7db4703c9bb2c1671c5a8eb0ee3c7e18cb56b5227960a3db318a10ca6bfe665667f65a10315100799f5b15d66761745d6f0bf6593d509ffab8ac9c53445fa2f75a49f480203a71d921d2f0148e47f83e7719ce6fb4e27faf6bb87c3910b2073691d2c86d92403512130fb56fbff59d17f15c731ef50fde61d2e21175bcd9b96624e6a816d972c039035c90b3816502756bf5604e57a41d60b789daecf2e70d44c41b8a22220919503ec0a20629623bdbbbd6a21984141a9a1a5e32665385e120be81417d2632de81003193369c6627bd80b66ec4afe538ee4cc994e1b954279a4af82a30d64010c210a03c196916b2702a8ff8a15300e247e4e7c7aa9afcd85354ed7be2d5e87cd05f08403a907e7abd419838d8c727b17c88260fcc4f65099f5d54a65a7bfd090b8bc7f6e03bdde4908a61dac15dd9f3c75f75efc0f009846d879e711bec514dcc27579586e031737ceaf28862a363cf44258ebff868372d68881338668bff4caff1b1fae0e41039fb5265f08d645fe73bdddcebc5b2713e79b349ce08dd1f1628740b66ed5e8ca03770198c6b49aa15c5771033a86d03aff7adf2a11a9bf9535fa62bc83fe43732c03a9b37e9320d7cc320ce6822cfd664fc1ec1deb8b65eba5b4c456ea5345cc4ca400581e02cd0bbb17e228fb3e072d5365e55d05c696bcbf8d1b10ba10fd6d7d16f45820fffffffffffffffffffffffffffffffffffffffffffffffffffffffb586be6ef03df425b853d4acfa7d76cad3199e1c9b8c614a052fe66d2eadf2067c257a8d08000581e024f91d66d8c2b93a34662592cd9a1c4d3312aa66de526b4e949dc5d11065820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc61074ff0219090103b2cdd64f88de24bd2199036f0f31db436c09db4546729ab4eef24df43c562c4e03afc320c7e9fd73ee2c4fa00b65fdfd7d9609303cd6873fbfe3c6df7e9982861a038807e8590537733ea4bc53f52b3e5b59fec0a49755f48c09fcc53eb6c2a5b7ea03b18431d1e0e082e7a782ae5df5b8845f508fa9579f0cff7a089ed9110b48aa5d03289c6d35857167601f477587fbf61e7ed3baf62ab8ef0a226b29467d17c973090387c767a9440ef4630659809d2cb881dfca0ee6bec3a8427b761d56e98fd3dd5a0346951b420d81cad1ea499b9a0db56c2f74e73907e96ccb42693a6ded9147d88b036433aac72000c0e117b44f89bc083c6e672c0d91e0b8a7bfdc0d687483e37dc9039960fac67436abe58ab2eaddd8241643d1094455557588f26f2e26e0bc7895a40219ffff03992454a8ec758a987a796d87e4e7330f89c55f70bf0f2905737d7617812d33ba030137d7dd7296a8c44241f01fb69b42a2b435389bc0d23091f247c67e8959cd69032299077fbd5c32a151d06b654dacdeef9fa8da690432ae8aadb2ec30468a3e95031c392ed3a45984e435c0fb9423ab64ae5040171ac1d749a495cadb72a762b7330219ffff03ffef779f439fff916a53dca663f0b14bb0e41871615fe73759f29e9d6bc31601030d269354fe1db75fcf649d951c9b9e4f463246e4b1480a4d6b0b9c8b9b5737a40301c4deed11a42cc41a3bdf808743d84585cc36b29964c9abb79a8e6b8d6b04ae0372965e9c425222b463532a89e33e7b0e8f1302241581429d06c3f85a56807df40356dbd1458b783720348f47dcc8d00158ba6c0015bff6cd90478619ab55ebe89703626a29c36227355fca90ddeef072428a94ccda91dad38e3358912c3ea96825350363295ca7d0e608559c799ec9d2938d42f909d617991190424ab586c504e307c3037b760b37ddb7a67bf3e028fa7d8b5078b47ce1f11900c8be4e9cfc1e6caa471c033de981cc5b07287de17d182767c2b480556d198f5b18b80281ce6c7df88aea8103e9267f73901815792699e77e9df0f5d8263d62ffd5597819b4486d60647dd9950382d054d78d1bdae2d8e2652a9930d7f0f22e1159170ecfb144cce29a80e7f7dc034601725403377feb8e1d6a80c9e7d952a212a5d0623ea82b3bc21414935587e603866a8339018833888a2cee9813d20013d2bcda07e6226ea7779adf4e28d897710219ffff03aa702974a65cf519d9589c6b73085d321dd674fb27813bfe8fadce10dd19050503c92f15f6de0f7cc6e1e1b3d208e0608b0e77676ba35f9eed95f48b5ece9fd555036c7654b514cc9abb13c22869cc6b5e0fda39ac8bf900475f64ace89f87b281e803027ffa6e9dd82a1ea3bf15b2a843ef55f11b28e27019644156d2bfdf67a54ce503890dd869cbdce591b4e519d9e0e13455fde911ebda7faeda1f849834f5c733e50361bebe1418ea6440696c79a8e966ebdb424961ab276a429a6be566e3f62122ab0385357bddc41d2b0e3f5710be5457d104317a89fe131398f46c39a12a8819019503143451191cf0bf222ac007a5dc92e7eb03cd16f654d805d60e47f640382c9407035d6de3999e1091c1fd0bc4865f929d4d5b25a2617f0f8328efdf9e8a57c64e2b03336e2064e9a2cef34b02f909e2404f5e16fe660f31cea73f6cea7ea68801d7a303d65c9f680f9120502795483cbf13d5a75860cda5e43b3b563b462c0918a1a0c303fbc95786379840d35ddfdb40fe0bca2af44904ce4e5c29c96c35a6883f5a6482035d714e7f7a4a99cd7212bad8bf3b71d85a2b03bbcb7e28ceeeb3ea4368ddabf003664683e4bd8a61d73b11ce287c636670c37f0ed15a3ba84b399a3a42a6a086570343bfe5b9e589ad4eab11ce325715ebffe92593e7fef1dfcfb8f803d8a835b77e037be08370cd6b624bf14497b34d9773ff0e70ff8edac85321d3f1a3c8d33ebc65035b5182f14c629484279198f92372c7d4941e5ea2cfc79902b9118e9d3eda8db40398bf99d7af1dde3d4bf851c4a2c10db30a88464f7d5f6c90a8926478cd0a7ff503740693628948c982f6fd737855de98e01df44c54cc044e882f0302aaaa19a14f036d1c8f77f91347446d8640e20f508253c6ad8d26180f55f695f3b7b072eede4d0340d259566ae2e4dec5d4a36053d6de67acc57d14a3f39d0cb61ca27056fcf8e9034506236c2083dafc77af7232ca7a39394c66436a1bfa74e9b54f956167ec0dd60352a1515b9e0b461fa369b3ae2f003b69b8fb8cab87b5ee17de2d4bca12d0fb6d00581e023e9edfe0972ff2c6d0da382f0db3d5eb6a897c60a4c173ad1a225180705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff09b681b800581e02466c0dcab700c8ffdf1818c4db7f67fb16b68580b759516554cac7ab125443506849d7c04f9138d1a2050bbf3a0c054402dd038fc01194fc1171e65a6b0cbf6a92883ca171f46ea228ba37a8664f2d874b5c7900581e02280b6ef72746bf93b1bec6ef41cf206dad2afc0fcbbdc7a63fe97c3aa85820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff01d0c5402191046030230da90dbb296f36c6bca75969c68c0a93378d67cd3fc8d6ecbdb338f7fe3c403fb4abb28ba7238a79d8770c633ded45e33eb81d69c773ff8fa1404d0be7e55ce0391de9aa784be32dbeba3511a825e749d7f8fed9d842f12a301961e9e5afcef6c0365f9ad6d524d3b6cc405b6ba3b7fe6afffabd89baeac0d1c284a70b06ea8e2a80316ce5044ea13e749b4d8bbed1d085ecb28605b8975cff9f1e91bdf882ad75b8b03b73052edf58fbca9f0c30bcc4026c1d17720d122c7756ec603fc205b28ca725903063295976264ec6494ac8709d771b93d93a28e5ef7b0fbfc3dcfb71f5cdb555603f2529f7dd28c690e44ba05686250da407c66e1296fb04eab25780b73d5e0a80b03ca688d8f1b676d94bbf63f856ed8ea8b9254f51fcdd30594114d1d620192fa1203615d0dcf330f01699694aecdbac9952bdd5612f1d632485274f6aba9d3a1549003f3f6e5f410048bbdff033cf769d207b13fbf3ab5aa28c50db85344fe1861020603013abaaee37cfadb851f6d2d32e61a55d8c91c1139ac0bb1d522752b469e55760376a1d82f63def197f7f4f8f05fb7698f669d3115ca57eec2bc0d312efb192ba10219ffff03e82c19354d510e74b6a67b91d9b3ba7f16190eddcf0f50dcbb98b15f9067ab3c032caedaf543e0b7bb42652347e5d42283115d0b4614fe6ce20a1cc5b5a68d3158031e54cb56cc8eac585cb63cfa305cdc367f190705278f896c6044cc16ff0140d1036c3d7b7a73221a7db4b9a59ef2e6e0467e8e4440d48296338d613a894c30242203b33c925819bb7b78f3326e2481f9191e78844d1b495cfe4bb8e7b19824a56b320356fbe57ad7df63639d27d5580f6d94beb7a16d081147a57f7353604c7eaec3da0345d74e2cea00828b4e03d84e4b0fb29a5f1b845817750ee959bb5cae9daa689d038c37c3498672154d5b2ce7c905695b360336a76ad1acef1a1642538725ce038103a865c2c0b4fbde4196bdd196b9df55ad7202f396274ad2a1f3e3bcc790d5aa7703fbe46cbad4c727013020b60d89c515d021cdf798c4af4bc4004f33440bb677d303755efbf85bcaf37ed4e68a0fb82b13eafb8b15c4c2b2a35c92e9468ed96a70040219ffff0307e89a9901c9629336da465826310367901a33e3bd2d991d1fd2f707cc9c85750219ffff03ca07581f8833c3f294be48911be4f7ce9965b8a6154ac7393feae6bf35276d0e0307ca2bd4fc266090f873e5c7c551206f6b7e07e75b5d72d3bd2a06076407a70e037538a84f6d12f46d0d1be2550783dd325db8f10a245cc75035ae18d2ed48e2f3033e1ea397f76ef4e6df153e86d50f1be267f816d31b978019448a5be20bcebbee0359ed707ecd44fc5086b891004a2bf85ebfeb96f48f26eb8fd806b9b8c7f6d1de03c4ca760218568c62dcdf804a44525d7af894d21fd13c35d28720e2bbe72453160375f1ff69307c27e023bfac1d250cc2c4834b5fabca8fa9c3bd9e119430f23be1031d8dd98deea7a5b1ae36244390c907789a63b82079af1416200e4218a8c4b88303686c23d28e88c429e7333a5b8452e0242103922a871d2c00b813d8b25e56d80003012f42e164e59a9fb3b4dd25e23a4df60d8672077ab03a693051b0e9606e9ac40333d87bce04575def10221024085daaa0aad2874e2397b8338acc51ca93d617f703faf791d378467f9342d05d83e61b12d17f41bb01da1ddcc1bc3b4e66342b0b920340e94e3b4870c678c516436a8bcc6e252b5186be8f287c9b56c2e67f43f1fded0373ae0410a69148daa38f73af8dfd2737b63ff856c5d55e9896b535838ee709d403ae0e8df2de82d9e2ffb7f826d24e3b765d7c3c4ad2a4d326450861be21e124610393806bec86944bf66faaf99552f503105c438d83ec39cd99a08eef1a50e8072903766fa88465771a9652d4cc90b545183bffb6d918e79f5d29384b44ea9b2d4e6d039b625ca8d56b12ecf56e5cbfd6ed611732dcd19463ec7c01ea91c6e03f7c837c03d0b61fb3550fb5e5b5a830e323c34d0d4218319a292efac77c52464583e76f8803415286e2d1af0da35c8965df662b73a6a14c686ca455b303d7813d64ab7d6c46035062ad2309d6e402d06b4bf2a6d7d9da60ddbba975b5ef05cacf310270205b3500581e020861f78af1023b95d7c74b8583bb06a066590a596b3aea074b7205d05c43439b7800581e02a2490f77b96090ea4c935e738387dd76b40f0763ec4d606052802cde6e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffae744e0e1b00581e02c13ad2ec07d16f873238f62f064f0e633d45bbdfd633099d4552fa954a5820fffffffffffffffffffffffffffffffffffffffffffffffffffffff367b83cc200581e029e23238411483ad591d3ef2837059f527c0c3389c27e7fcef348bf751b410102196105036252bd866c73db99555dd435cf105496347d1976f61d80660a55cd811b5afe900311825da04cfadded7fc12a8d248336e6c90d35722d45bd0d4deb00031e0ff372034f6f44df743cf42f061a7cf0ae79dd7b380ed19a0689805d3c4a654f381c33d40334c22b9e365708b3e2f84cc38e84a09a745450939d5b9ea37ef7eb62f9ae496903c0d47a7b2e1298d76fd1f42f70f9869e0e9244aea6520726b99738741aca26ba036ed54d2fcc6619e2192c05df2fa702d9c6b5a137ba41ef11e99f772e7ef17a010378e076a4e476f69b449be7a112a103c86b1224e044c67b9cdd8592cba8eca3b7033c8fbecd39f9d27b0667a9883f59b615bfe7f293ec8ed55ea9e9cfbcb1c8edfb035ce87b26f70e03ad367e71374f4bc637bc43f46cc80a12cbe763ff7282af7509032208457efdd088ff9f92d296522f28f3c6a4c84a5a4742e577a884e32d6f241b0219ffff034088ec0adb6860009b13f43462803976585a5f74c85d880df49fbfa7f66e24b103aa77a07fc38f26737178af9d843be1a2eecf192b9569f7ed5d7e78d4d8a4d7a103dfdabc37bbfa2dc423cb91053e879185b79f7ad5b458e7c70f22c25e6393c25a03ef25184d1841e7db5defa019b9a26dae91b1f0d5ece4a0611aea9caa2635723b03faed740df6105e9e8fe194565b01d4e6cb6c205a2e5b4ee681e4fe81cc038e8c03adeddbbdebadd661e450dfe279c00c7d7a8a9978cc0accef65357de9953a71e8038e0b7ee188386419db49ad942c246c61da1db3461e208ddb033e71a509d3424c039b3bc135f70f0596368664ecc7a200f780041d6e76feef0ed944c55ca678b02e03cd581bd31ae0af43be38dc4347b4ddcbc63069d7cba2df3703de116d45ca7ccc03296695e38d3eaa302c5675ed063d9fc62e86158b1801cdfcf0f60b34728af24c036a4c85c760052a7a75b5578ce1c0f74562bb4c89bfa806ebd8ca0763c13fa7de03047c49b4ad93009ed13244ca168e17274b4328f9e602c53d09ceb8aa5c10b4df0219ffff034e8ee7acc84cfb14e0def0da14fcf6108080df046bdc3153b5ea32b00ec144d90330b6fdadc5134899c05dc4ab433f677ad5c1e7fa752a438b1a6bb0f728ae1586035eb98c92003b6ea74451345eb6fa9fefb41a5a1b4121b923faf8fb5fb15350dc033cc2cc7c549f164356c739943c83b0ba00d9b60d0f286dc1f6a438520d0c2891038e2d79c6c79d9d919cfa69c6a78c25acae8f7a9e127a5cfd92cc1fe14447dc0e03ae25c3a5582d8864505c787ffe6ccfb75339a8cad77555c95ccb54d5453118870353859959a2d55d120df7f4f3fdce3f7bc6a1fbffb7a33ec59c401266ea8d23730397d563ed091f91e1a295bc315784121d9c8a366745014a433cab0f89f29a1fe203ab45ecab4c35b37ca37c80acca40684b12284e39612c8501f063856b4461a61703401d6c6261203085e73662538eda20b1dad8fad87b7a9ad958c09d3a84a7da0e03b16ccef5fe0ff1033e25f0fee3a598360412293d3e0b464bc2b0eed3fe74279103c19705dd296c60f1e4e52738238e389557093881b1d54b105f7d1d1f0f6f3d2503d5667a269bc6a7ea027f0295b5d0100dfa0bbde417e7751536f328d92097b48e03fd7da442ad03bb6f163a51cf9423dc5bc8c79eccc6fa32f17c88c188e0cc327e030907c2d103441671fff6882bffb1bbbafeb80723aff63e030fcb5fc4ac5ff95f035feaa0e8ac2cec7f25b62aed63a086bedea6ac487de8456f454190fe5bc379e2036962d1747f719802fe87f0c1adea4cf490705afa55e7ad02549dd438963a805f039ab5a98b6a0406572a9847de30bd708572f9f336a1ae9ea7c6b25aca037b85d3037db4fac7861c812e08296da7902be4ea283f885b347d2f04069512a79b8e966603788b60feb3858ba529df794c3e78bc1bfdcc0ea68934c71831a55291752c70cf0368dd2dc4c67ad4e61b9614767d879d270256e07631eba39c28a0be4010485d0a031b6344029cd7db4e8a7ebe733abf4c442c044b824a6bdf8450ff12021fe3504103d123af13dfd6433e0f7e46048333c371db8b055a5a4b08a5d353a2eca0b58a5a0355a5aef86f1c3ff88a3440557ae1e5203d8507ec963086bdf03bcba62fe518e2030cb1fe82b54498e33dfa4d6121ca85323c293016bf7c14bad8e4e13247b9e9a400581e02fdedbcb458762f40d2ce624657cf07079ca20105316033de1c8f4e7fc5410300581e02ab45f75142db85abc8bc1c94d607096cf28b88a49b0f37855f0a5dd0125820fffffffffffffffffffffffffffffffffffffffffffffffffffffffed27b959f00581e024e38ddafcf174bc2813b183cbd76e0ef7e4be6ccbfb8a4436a819c076c450136f0747c02190b010322e13ccc81d81e0e52bf2827fe8dbd460c191e36cc72c04a357fb2c6017286490395da872a91e36617a98957138d6521eac229e581ecae8b9ecfaefb2c9d7f1aa20219ffff03c96c5c68225807f5147c5785e4f881cfc76e6e908be02fcf2e27f2d2314078ef031bed714e3ed1df0ea1ceeba5d136651725976e59dfc8dfde3b9ab42bfc180abf03d8930a7eacb928047ac7856b9535fe1e71dafea2cab0cc4bce142532447a6dba03742b97406b13e7e76e4285d2818dfe58ea45a698f2579a9a922d9e787611de890219ffff039ee96aad88f9b79f831a1eb475afcc4026da2addd004ed086daec4eaf46cef7103396f74b12eb33ec56eedbd76de72c88cd990550a97ddf12359e18880d81ce1c20219ffff03ad381628b2779df8e4cad6a2f4c0937d69866f26fb7ef1f69564b872c624e56c03d30d5b6b63e3268a9902abeda055516eee9cb918d3feaab0372cbec25a39f8310396f3fc321edc63ffacf586859fe9dc284ae85f06b55c4259c94eca6173dcc20703ab9dca3169ab83c65030976a8d4f8a3f96ea44f1daba3c9a6766c80273c321d103ee27deb6b1badff4f40eb160a27b7824069374982662151f28d8b813710e35cd0219ffff03d12c36944947089fd33b2e197ac9f19c162ba2118fee0d7727fffb6e8b17e079031d7f163e0ff0912c0055d8a058cdd1e2aa8c475b6d6312c7d61323d5cf8b72c803b4aef157567d9371218f563129bb4def1792a657c3f98519291bbc28d89fb71f0334ec56fc59e31c240fa9e978861a5b1303e51f371b34a3ab52302ad9729e0d6603c990a1968775b360e9293ceb0d1c7142cf4203e119ed6212560a2bb259f01d570320d4a7530f72e2f167a98e8288d23993ede955ee41392896557306945a5388a403fc13512adaa7486bffaf86f5aeacba54698dd95f400d8c1a49fe06601f23ca2303162eea9964b3052d9b6f715b72d9fc85aa560bf53659aad972a9f9639636e28803270b8f13434ca8536f45b5475395af212253a5ad4fd43ba28d97b857e358d69c034f019b1ab09b4b3fe87e7d0af9077e1b80e28795afd6f90645f3e3d62ed96a8503434e8e18685ef767b60a2e6c8d18d16a9239fd79e19cb96c0484a9c262f9221a03a28ee679c365f8fea03e132e87979323028dcf324244ccec9504abc2990def6f0329eaceec5dcca73075eed54104733ca63b50972864105458989f55ab7b48063f0310f64a91be23d749cedd5eb9e5a2c83844244b5040e3bd579470bc1c8617cbd1037c0a1e24819ef9e766a5c9381bd6441f31a62eb566ad0fa2a87fd489a19859b10305927a2bd7763a7744ccc9a2fac60fbf667aa6d456a6e5c3c45a90e5dcbda67403432f873a85eed4e0f6e439a1905446d69a4f9eadb033b6c1332b684da8fd7e75038384883ad7165b5e71cd5cdc9ab16021748499108bf90d30d3a171d95a44e85503cc81dff086283d942b90537cd444f87777c4366d94c2f2b1e5198ce79eb2388e035e3a36311a2789b3e947e86f38ba090ff730f4124d5102c02339be5170f32be90341cdc1ef6859fce598ad2c8605c2d2d6102bee6e4a46549c4813c087501b1c1e0326e5e7d54975e1009481750813d81eb848e1a1bd06e241ae370e3de9e5842bce03aec79117b8b9e06c2593152e8fe464b983f1ad29f109354480466538b5810a920326bc0539424fa68bd8b36ddbc00c120b80add9dcfdfb00d22f0127f91a66e1e903f1fb212da5cde33b299f140c2f2e5373ad9fc5fcaf4017c4b4235b962a4a8598034de3cd9d767a9600e51a8e490ccc92d8c4774c9154c33407687d92a59bd5046a031ab6a87858928f7598227ab97f8dd2851e9bde66c375cf41b54bcacfbe8eb7010377f8c1ffddbc355ec9c00e41e26ddfb385edd38c4cd400fcec9a6aa63c53cb1403f5e052581e5dd7949280f95d4016955027d4dfd1458407c587b2017efe03ceda03b87d9d3429f62c5347cf514b9cbebaace22a92778de069b20d8e669549b825bc03152f7dcc5f9726f841ae1816b1c166e5c3d1a88f38c1a966593579f3d3f73bbc030449b38e21bd6f3f34142d544a1230842cb7251b221227ef8b3881ecc3840e68035f6e21d7e30931872f7c833a74fab0b13e957883f6daa553676e1ac6dcf57d8c0304da65d3864b8131099b388e33a2b45608e2041947b620b9df523a3fcf808ee303480df0be4654c5255fb5e7b54f332f30c4fc5a7c7bfb2c1dd4f432bcd50c874c00581e0200089fd8ac677c2ee8b4fd836e7d2aa8873c346a815a0611dd86754bf8410a00581e023818aaca30ab7f7983d9c2d18d24895df57453ac3de18ef11589a0952844cb1c3b2800581e02b43dc7fb73412a76c9ee4954cef628c283f2b916ae83344486c5c3ae315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0215dcf7efe0092b426bfd05647424a52d995b987c985ef49c36cc24bf3b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6c9181000581e026ce571697b9674a8a9180f8c74c59fbf878d54fe877e5da4ae09c4da9345b5c06a96df00581e0210617d9977cd4eb01d7c474d3f62d83f376e7ca3f9e0f7fcfbf43b8be8430529a40219c10b0219ffff03ce53bd778bdf4d5ef94ba29d2465996b32bab1409d3daa911e3f6114cffd298203aa56d1cd063bdddcefb15b4b51b767f9971d6e4892067b30fb7c646281c959c30354337b82504ea59f628d0d5e8c24535f04d4ad8c715e9d1fc4e834f612a39a2b0219ffff03c4b193bb5abd81e176351b16f2d8ff50f66c7e1f92e702a20538fd7002965d1603504d6b76c14ecd5aff8ad1278c11a9b17b844d6fe5dc72a2f4c47093bb8ea5bb034a54a534588a1623dd8135e39c3399ccce13001be4be2bfdd532fc4c2b2f6c2f033c57c686fca4a12ff13d55a6d92a280c2373a9855364e696e1baf1cfda164d7203f6373cf98747aac1af3cc0d7dbfce94b5038117bebe37b29206298a225c8d628037acc63be4866b48137fdedcde74d5b7fefb6bf2cba82bf7d96c44cd40076a91f03f0a9e9f5d08d303f3f2fca35413338f9cf2f931533a1255f6f3b003f368d22480219ffff03276fc33db22b5079f49d9a0379791f93f20fe6931bf453fcf2076d353a13d9a003a57fb54a7992025d3013c73ad456f7269768e08f19336c0a13005742db4dcbc103bfc9a156514aa31ed33ebee98dfe6787245edb62279d2db1bd971656b30c44a803a592ff792437ae93687e737ebe302fbb84d54cf7b0ef09e975995b61c6c0d74503485ba68cb44d6b53d23361d9784a577d3a54dd611c29ce1a69b1d8f5bb1042a703f8d0ca4098f9c9b5f8cc3d31b93a43383b5c552219d36222a9db8f53122b3e5403c68b30bb47f38968f220582bc7de05bb35600e2605b2d152df317c5d109f30960316fb50f670b2ea2692995a2b64cdcc7ddd47e5761c462863f45908285574a7df0340ed3e561b0fb8a15a1bd9a0851b0218fd0f490e12f9bea09f4e4ca13d7d588b03362bce2c363dea3c80f46f364aba74177b769449eb94ebf0cdf4c90d10b4d23603285e8429428dc0c1467d1b1a4a3826ae30bb76fded61c40e002a0e0e8a2dd5210357c6379d75d9e2c4cdee7e39c1814cdd80ea6ad419739dc1c876cfed77c52f1303a69d6cc83f946863cb240353eed70fcd41005cc3ca7ece12266010f936c63a38034d7e2ce35915645749fd34101da0daafcf3525c46ee0d2e792f1a3870e1a05d4037fa4b03c05ccb9eabe471910e4d78b23a82552278d7f09e099f8fc585891adf6033e9e00709649f98656e67e37e5dd0da311ada9eede59cafafbb0b6525b2e031b033b9884538e179194aa327e6d78c2e108da54c0e78252e4f631bc9d75df03e5780336e3abc1ae2147773e5fcf642ebf4bfae663bbe21543c0c9f8ce538d45578716034cee95e7c8a70aeb9ea9c67cb9a99c910509701809f809ca5b0f57ec21459e6a030b7da4c0127bc6f87a9cf1291705fbbf0662f6dca3d67a5f45b504979e4c682c031a976d0b1053b5184ab108be69d7e443004a6d985481845a16f45728217785f60345d2f6072574559a1539f92996e5cafe8fe6d5c2ac2056b6b05dc0e66890e63003c377cd2972a2fe36af0458af3c17352d261be5f5e603bdb590120120f4b8540c0380bc0273c3771edf9b177d25ae2354c9b07eee1c9999340fd447cb1bec077b6d0348fca823f8cdf25b0f3f87216afc1a095d75fbaa1a7704cb8020a211300b8fb30375e9ad83ac9b838f7377d42fc92ab39a62d3cd426089fac0ec624fdfd02b23d403305e709943abe70dc49624eb54f5d76063410e9e1a36b5c6751b076f82d97e0203ba41882567355435e7c977a2b6fec043490707b4ade52b54719f2fb296203cbe030ff3c1d61ec883bfe6015e0d75ab8e5906d44025adc609a11da07f861ba4b02403e9a783df653e315211f80ade41d6d5d1bb8f443a80954b5e4af41695f5ed1d3e03b87b32b5b61849b5aa82aa0ec49884e86f5fd275162ac576a8e0e277dd888d0703c46f9755352c4da4a36792e3ec3f70624df04579ebf85423c4a5a6f5c7838c4e032fd7d4ede5f57787f61f1945fcbd820d483e3ee4fbdf608c2102f76e166fddb0039c2357a5a45a8e7432e4d738a5a2852c20cfa26b161cdef062eba95549e8197d03be8e608aae2bdd59c101f4901b1e7f1dced60fe03b1d78b2bfe1616005ca65b400581e02a6081516ff302c8bf2ba01a7c4a2bacb31c3e32de695c2124c65301de24482f38f40030bb21f891fc3e2497068b237c56e4c1026a754080803292da99104a864f41590034a9bf176882c99a653774f25f9eaa41a1ebdea6d4aec383036ed42eaff4177f102192088037c02d9ba10655e6ced81101f09ef0dfd7b7e443522cc7789ba64a98eab86c80e03e84cbeebad431f5bec4de9a4143f726fd21f85f14ca542a91fd9f97ae4eb1a4a037b2403cb80d5db652678e27d19a2168f2fbf03060b6551e93415b857492e0bf803294d025790cd5c1b534cc58738a9ad5a01ae7625a6864be9efb7416650bd25070219ffff03dc2072217346bc9643a51626f2bc4d7019c40606319e734f7f1fea111adcb2e403b4e169ee2e43eca6b046ade6b05096cb4297272920f086f40d921f87c1fc6a61036d2fb2e207521b61cc10e32f6b989756d19b3391473ec64b10fe4a3992dbed0003ebe616aef793d2975de00113117af47f7dd85cc85708a23bb63e16c8706a79520375a7eee6fda43b8d933314870aa4205e974341b78aa486205e2c815ece7d2e6e03615419759b12456419e9a711aa73ed115d7cf69a2e5382e1051bc81da6c8d7be03b788a26a880bb13e4e378b097d3e413784d138f43d5e81b94a1a1437d19363c60332da4ce7911e0ec9b5da946a73db1e366519d005de98045654bb49d11880b4e20348db652cf2b1f8d0b3c8163e6969ac6ea1b24cf2585084a656d43b41366944fc0219ffff03cf24fd536d1f80a570bea7bd9fd8c5e7a1f05b6d208574059ac9b493c45059960332fc66eac808ce03aad7de6a7360e74c701ca30bb8163993f38f6f9415454e210311d999ca88992018a46d10e012366ccd2dfc2091e6df7beaeb45c14a62ac58b3038fca5810ee34df7e7c8dfaadf6cbfc861e2e330c10579a388f5d30d1a70adfab03f2b82fd6231f9ae0058dc5e33362026ed253f8c8dcef5d4c6bfb53e8510ffd2b0219ffff03bc84cca8edad4aac6ce7dc58f7c4bd20e5bfc1b5f53e2d5a826392a1acc3f4f203629f0652e88f5aefef15ce3dc1c234434bf3f1bacaecb70fdafd94a1934e506c0317f76bfcfe99f077c9d4e0dd7d53d4d6bb6b2d1b767e2a58ec20e3e091addeb103d4c03bd18125250bc70f5d68d418c8eddd086d442c3b956cd03ede3d8b8f9650035a6f45ead293fa479134c07d03cf62bd2c755a7ee2d07b8ab351f7500285e35203d8978a7bb6554c360411eec0aa031db087b87629bc651c3ddf2de969ee9958a80219ffff03369884d31136d3942715806edd6b2353f6fd40c06307aaf66fad884530cd41cf03b3b0283919a1ed1a305198efa069bbad1f034ed70cfad22c6c3f842e1a568234035a7411da884a2446f0b50a81ed9ec3556c9c385824343fef3466a71938be16c203c16fa3d9a91871ab89d858f0a43a97835a6d64b52494e3c2ed722b95642a7f880369ec45cd7a88fd0b9bb089c3c6abcc68743a1076f9451fdd41da14669e9fefc003a2e1b437a180224453f029f3a83c17098f7cef2d8bfa9083847aeabe15fc5ef603445a26b153738be545b9e336db23a51aa82dc1a55a235fdc76d37ef3f37134e003f0fa02d708eafb332b37eb011e87b4974029559c685351fc00fa0e07bca439eb03e48f001c459b628d7d2fbf115ea1f8b9087b5280078cbe296b55b5d1ef4be46a03c7a57b744bf2970a69cbf2c638aae74a58ea049a4677398651227ee68be3d7820396b5635eda8c40a207f3169330f8ca8fecc388c28fd993919ba5a40347bdd24803b163e817d16e5bb95a2b51d01eee537f7bb193bd39a57f5c14a4666b3420236d03132bcdf3a10c1f0562ac4106746c694a2ee81f753eb149639aa5c0ce27268e2f034690c119cade62f93334e12783f02c971c27ac446228277430a22c4913a73ae0037a1a52effc3fcd20702bb889613ffaf0198dafe9cce2fb15d24eabbc63537fb8039d072406a5fb55ef8a3cc127f7583d77321c516d710532d4bca532420e02a1c203e558e9f98f5191829dd5adc0c8b2b444de7e4fd6b86ecc8365d47f0f79ebe4ed036b83d9f8d3c3ef8c497cc635f11ca491e77888a011df014b140ade4993690f7903618211fdff8a04e70ff7ab76564b196590d64a95fe26d466bd0585837481e950039587d363e6f92e2351229e091fa633fa09635700d5796b2ee8eeaace715dc4d203ea88bd45195314050bc79028a086ba61b37a7a27373dddc6967ca8cd312bd9a603d65e3e2f96f302ee13af2e7eeedcd533302b561e59304185898192edd8a4974e00581e020b5191ac2dda986bef3f6d2952d6f885e6655763669ef444fd3d73c2424405f5e10003768892e3498645d8cadf0ca7b01de3dd29ccb3e44e6371b2adec45a138ca4af100581e0226a24981ae7ead505736b1f98a599370a61ca71e71aeae3265fcba8b145820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff980cabf00581e022832f3c60ef2dc2b8efaaed9870df73c02bab08b93cb489c89ae7675305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc47a92900360bb19571555e20ff95abfdfe88e3d9e1573b9d8d390c0d5222c4facce253be70142004d00581e02d2c5b5bedaa64531d4ab0fcaf3f3d324560835bc08f5f7ca5c4c4ff5135820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe78f3403a3c6b18ded6241aef9f9e96ec072bdc177b062a730f47bc2ccc3a85504c2688c00581e0255ff25dd9fedbe35f02788c9b46da37db9932c29f8cc5a9a5e988a9a7441010219ce4603ebe6c0b3d59aa52f9fde71327f2b6aa77c6803b34a2a2434b7bbee6727f9d41403bce86adfef0221a7ce65bf8664aafe692567299b6f090859f0e4536ebde9e46b0375cfc03de9c3c6b2e9adace9fc3d06833ed9f32974d6d674b1124b824b4a8b070326faa833f42da79979534f2b00b30a6a7db0b5579d66295214dbbcab477c5a230335a575760211245a6967ed6196739a1d678ec2bce7533bc11dd824d6009c0e760399e8a0a9f0f1cd0b330e99241cec49e4d45af03519b7adf746940d19c4c8d0360321bb184fc68c81cfaa72f28ed0c0c5d407c7c82cd56548dc1108286d7fb5c89b03d29f2643da6018eb535abe85b6ad58378f65a25ab474ecf8aabef42378aee5e103d89145e4b5a3f700083fb8d96058c8b0d8b43a823dd27b89ed13127045d2f092031283055f3511bc84dc3eb353937a87a3b149c2fffe52af0eeb16a77fcb8f3dd90219ffff03ac7a0d2cb23d7eedf0f480d82a86c769b543cf512a1ea0c6eb8c1aa7e67c8e8d03cb9f906aca344933af3bacda34f9d895eee7a4afc3211b3a5a01d18960f2fde3039904af91e7c785837e90a7dbef790b6daf4ed357c0a6b7953966cf3482e22a2c03e964d593db557b86ba2a00d8b6e59311bceffa3f77c0dcda4535cf22f2b524dd0316990302a88ff7316f0eb23a303889271a2199aeaf628a110d1d0e3d6f4e2d260386dacb521fc9f0fcf6ad40a840ca86a3faf3d227d4ec66c0c17fc31724fa2abd03cd6845810eb522ccf789275705805b28dd2695022ae3b140bd7583c408bb91f603e37193ce72ce8c6eb276878dfb9c8e35190a1fdab64f625f7801736376f798c903709d2233c8785fa6ddbfd8778c4ee0fb8b425f2c6b5ac44cbb431b186c6c98c903fbcc94effcb639cd6aae9c36a6403ac4da22d1b27881fcc3042489ae7bc0da7b0219ffff03db80ffde49dbe3d2b978763530fb78b737114a0c1b7267542ec1f171fad05438037d56cc67ffbdc05b2ceaa93d2be666a08bcdb6a5c099a9af0492268aecdb50b703f4fd5f66630a3f9f8e186a3bd2275e14ceb93afbbf501e91685918a4a25cf82e0394559d938c23bd07e0ddec38c915d7e174946345fd4efb289f8cb3c469cb0e22031542d46e3fee0e6ae54834f8f02e7b3a87dad4eb1bcb09f68c519eb784cabbaf0219ffff03045d5bb8e9083ee12049bbaa0e2b76e7adb48f82259a2d272adc179a123c2c250338ac563d4f400cb8aa09e8c70b4dd9853e51e65480561755be69964813ba2865032dc472420516d300798489725b2efc18bd991c57b79563d668142e06aedaf81003db9e782dedf16173a0f7e88797832544c852ff35c42890bf1cabb2cc788c495203faac837ba1c72a71f85a68f090d4f9ee2f7416d4bc3149185219af78789db6310353739d6fc687fdf5a246253dd6b5f115555d1f33f80d74e615b2408178827de0030fa3d452c4485554023978cbc353bf43b1d15cc26e3d6c976b5dae0102de49c603cc6cb7277bd26fcf153f5e05d190cce6e6b717b0b3a16b96af0107839e53aaa0035f467a6914ccccad796d6eafe2c3a0c7c475e2484ebd991f5ceefeea0a7ea97303723eee4a07a54d7d9b2b92ea06e2d17c7cbeb46330d9575377eee0aae09b063703a5f77eeaee8e50312cf6b3485be6775c7b6aad29b9f208d438aab06a020a49eb033b4e853fa5314cff66e66c19323904b205b377d3e2d7fa73f40513d3026504cb038de6fd5dfbea248b6f63ddf74d8a33f2f5b5664ac85912d5901be8dc7263c5060219ffff0364e54fc8688893501ec2cd41c39250a9633ef4bd3daa2fef50f8f5f8ec0325b503f009aea2d8474d041be88ff66701be61dab96dd579c4e7e0fe6bec198c0cd2980337f139ad0de36d5e9b8b564699f4cd675b2bc4fc59c9dc5eadd9200f52de741103fb9d499845fac71e5b9f3ab58121c95e1b19b618b12c33036e00f24ce4308f3f03fe05bd376a014a5462c03739e16002c0ecaee8b71f6dee9e64fe57a3919b12ab039bad9f2d49ec190b1952c4592d1f1a78320d05dc06d88bab545402f37c79eee9035a26556a69f4d4ed38701db401268103c2c0894f63e81ea941bdb06f55524856036f1d6f6145cce0505a55d0afc19ffd681ca4f29c58ea9a44ecd17ddacced208703e057a5d77e93cd6348fd8a9aef79cf3ff5058f2a28214ac2360c24dd9ab048b503da43579f7be470b1216a2982b97f121856a3072e0b91942ee4fdfbf741d635f603fbfd992a9dea4ccf178be238f0fc5c99b91514148a985a78ab17737369caaa3903c12079c1ecdb3160f5bb74d0628482d5f05440692a44dbaa8d37627a6fa5a0f103213289cb50a2eba92bcaa89832ca2c7d45bad47abc1276024f7c82ccf2c92e890314e28c9fc646f3e3a10795c8ff80ccdd77737efd87305e96e8bf124e1ecdaf4f030ff424f306258039f6aa5ad78512d8b88aa6a8f80b3fce0dcfb295888b6ea6f60390fc614b0504112e45895d8f1cf6c8aa6a114e8dc8fd6f9a3faf50b25b29fa39033039867a1896a28218333f5b89dab3fca64483116782a154b66bba5c625c24a203c42baef080774621f60c8e6f19284e451e40a34f5e78d59123f80c6172e65dcb038a41345c89e33dea290b1d6b535120c2097f9a087e05d0fcea0c602224060ecf0370eccb5973b3b48610b418637351a796a41271ac1fa91b08e5daf2afce955ce703362f771be403152eb6d527d9bb235f8fdff026d2aaa2b790557b2ce1b33f8b74035cefb2936b6e17205039322078e8d935f4d64775acce868ecaa2af06c346eca303dbb033f600dbcaf944cdac3f0f93f6911a5b9f0dbf65b0d739f6c85a46448023037b40fb61a12d8bfd81b2f6fd69b96d4fce9b5c690a797f27b851049cacae2a9e03d62c3e72c1d3690c7b8a71ca8676372b12072f146937e4117f1e05b35184f157038acffe0588411e1616af6b18e62e8e65d2302528440f63ae3dabcd48131ec80403bd3ec417e3511c6b90cd044e91e0ee6abc3286dd4101b43586b057bfb79768050322f97a1467de8b0f36eb32d84e2dbd35da566925f99747f761c1793eccc9991e03c64ae32579ea59c8c44f02875f3a6aee97e5325a0ddd669db3e58f1f9fa9340303af470037280f795c41154f7fc26ba64b6a5c934a3c85db326a8a10da4e78e53703df567eaa688df17a3bd604df3b89a07c0c27fbcb962e85d0f0103f70c3b8bc3a034ab746b6323bcb7dd2717ce566ae3124ebc048be1b2f8e46aa4f06a19e4e1aad034f2a75a43a22b4d4f853f617b442d537cbba75b231afda0a82cf6c5fe6859e96039432351ce6f06728bcb1ef4b40c34849631b22bbea87875fe9b9722aeef00926031f8cf92ca731e0d214a0f4ad8fa4689b08f038a37320f540f9dfc0dff9d3895f03869d6840ed0eec1088e8dea6d80b3c817eae01c7f278dd64e3b2a3282806733d03c927812626b3b445d130fb8324271fefa71593720e26c4110e2bf0d6fd59716a03c1ed60834d511a50b0466ca5cf8cc6591596f5e508ae6db7e833a14e0cc0d51f03f76029c188b9171f4b349e38d2feb6c4d0276e1e31afbdf33a0f9a071ec30139039c138c6168e2dd173b1594ea017d5e539aca294acbee7db7444fe292e617256a03c6044e64ca0bc71f37e6d3d34c14e84cc43b704afae603f0e625f4942edaf1a703c7435d4314535924ad1afca29af8f52be6153fae6a7ad8c32286fdf04c8ba7670307447371c220c5d93223c6094c6d9e0c351410364d9c50bdfdcbf2a014abd5e60313f5f0a0da9daa14d2e8c89872a4d5c05394ae80c37aadf35dd0df57d1e7034703795a7ad6e8b23e07ea85d44bb21505d4d556b8bf7229312c3c020490e2d9bf5b03d96780d1c90d53782c8f056e1f6c449ab759e264ecab9aeb315afcd99457082b03529278e3ab9c7158f6848b5b77a802cfd48d2808c6ec3d1fcc3814e9ec900358030d649b539e168e4ab253799f71ada1d9ecb65ff2880fd3301128e402bf3c25bf00581e021ae54bcbed87c2cc9961122c3b5d01f0cc250086ba664526c622531fb2410200581e020af05e09fcf1522a99166797a8b3648f7477033bdc6472cad6fafb6aa3432dc6c000581e03c0cf6b3f79397a1e5739296ef45c2b3bd3b82992cfe16e029c5e81d0a0432dc6c000581e03b769f783439c541d22d562d477b8f395e347cbe5d8c4b8681bc1cb45e05820ffffffffffffffffffffffffffffffffffffffffffffffffffff7b3c977c27a70219010802198028037534963c14c2f4e20b790ba8fc0fada987c33b74eacd19252ee193c311a4944b038573658f302c6d86b9c235f81e3c6b431e7b863151624307109a05e96e5cf1a60219ffff0381a18cfa4ed07babbacbe0b1e57fd56699468caa3c62bb18745b8ee8615c7ee50219ffff039e3e629fed5bc94ac74db8f6e320876e9d632a58a7a2479d5261528b3faaa487032ac00e899aa6dec8d32baaffa4321911eabd0a1cd868abd010a7a6a4d8e153350219ffff03484f8132fe92d5e361df992ccbb09d59af0d60d43d9b4cd511c7044233a6e546033b38f4538f182a0519515a5263ca470590e8da274f9dbbe87e80b2f89061ee6c034417a43735fbb8767e875cc321984cbcbb97cd9aa7cb6f46f23371bf9336ee69035d45485e4188dec89f9f8323ce70fd8948b58fb4b2baa9039d4cebb07fdd996d035a66ee0ea56de7d56c43a962caa3e67eed03e7b6179a9bcc27a4a5c2e78687de03f541e4736c128ebe4cdadefa287abb5dea96b0e815995c481cf2b5bd5a51fc9b03b85c09672722db964d7adeeee5d744d062b6f1ab26b0f696f32515b7c364189103b2393018b9188690dd22112fb90c63a9ddb5010b4e78ba28e2c56516365a5c57038362ef6f2085337063d51442a49bd3c539f8bccc218f24be0e5f4cfea4db04190312cdc72ad01eac29d5ab05cbd7caed7effbbb6e5817fa53d87d92e3106a6b0ef03648a7955c41311c7797c72601577ac7453e56a7a03c6eb102038119bba0e5dea0372b523e47433c23f056f85ad6dfd9ffaaa0c744c6d09b719afe8c478b768fdee0390a4ddf0c2a55b7133d9a7e51ca0a9b944e560c094dd0c6721374656456c566203f7425f211eec453e83a5523198cbeebf01cc179feed6a7e9c54dbe0ecb77e6f90375b6d6b3d758400b163e4784c85305799432d50c4e1e92b74edde6c39058f0ec03eac24a90b96cfd3f095508a263212fab6e57e79650898a76c282fb856fe58cdf0347040727add83af1d7f84d776ac6a33bea1d546fc61f78af67df2f31bbea064a03548ef84e9d05eea1c05e2b43a5647833b5294328c2760e128a87292e33551bde03409822e3d5d95edbc83c859bbef27d9b3b6b353dcd423d939571a0b0363d3c7a0359348737982675e39ca3d659223a2fcc92accf83cf88a59545e5c9ce006199ea03f4bca5911a612a1bee2faa7f7508a99eb3997131893a16d8d1379912b11208cc03b4360417b58083a9c2a164c6488ea7b7ab1716a92eef5034e507a6bec14f7fd103feec8e21a4209e961119e10b9eebfb223069017c89c70b46f655d8244273e0fb030d0e95b0948b3bb7254fe4580d0ee652fdffe3f3878023781536cc6cdbc3d6f80373c3e97d7dc3492d9b8ee7a88d201d57a9e2e7f9981d51f0c16b3a2cafef8b9100581e0281dd040cd70d4b63110add8d3d95bb82d93e8da548e9ffe03188cd5991432dc6c000581e0267698bb800eb082a1e5d83ef886f5ddb5d57d8498b54378b8cab97301a432dc6c000581e025128c792c7323fb26294b8fd0836864ddce0d1003434289010ca81cda046094dba827feb033ebb2aed43beb2cfc3f3d1291bef49fcfa96886e5ff7e7d466639460f036030c021913100364a768256c6f0a82bd8f85ef8a888ded453796af51a77bbb58fb1b073cf714eb033f956d35f5f7cd22c95f74a8f29b2e655d13070792e59efd2be2357b22eedf4003017a22b810aee67bc7c5cafc3e4811aa5673d51f10c419b935c5106b7a035385038b157699624d1533fa3bc3141faeb773bd1909787b694af5eed45b067a1b11a003088166ae3e20597f1997dbcb2d19acd46328db34c819afd0f9f82b0352a6257003d83b816d95629615a7766a320192002d9d40da6a46956b305ed365817ded23700364c17079cd368422a80d61586a774a023cd81ced5d7d0878206bdc6c1e468cd50313c667f916c4e4263c16ab2909a629fd4cf3e5003320fa5fa0f9b2f0ae1efc4903d2ed87451fc7a8d9f411e9f9f38891b8ebda19e92bbd3534ed0c74e0f73d2e5f0349390c3c5a3afee36186cc05251b6222531d03e6629222b2203005a6047d155203ef7914eca0c55b28a8408816fc3a92f6688875a8de376bd26abfadbafb4c977203bad4c2dc5a91cd85b1ee52cb4d35dca1072d39a868bee0ff569b04af9a1a34b703cd40e3b1ebf48fa6cc5469e3ad7e7af74f479bf1ff6af5900e279bf694c33e570219ffff03273bcdceca5d1384713d2bef6c3ff6e145f9d754f284d3200910718e736ddc3b031da2875fc2983a4e4cace4dd951b6e8898e5b973c330232c13be56366fed03db03dad5906ba273356dfda9266abe831a9e465760549a477032136580426559f3240219ffff03c9bfcb6a32ca8d2d50674e7e1eb333b52ba2e5fd5c56cf378a6b750931bd31d3030e5d4980c72d34025cb83e88d4f5aec2e7309b0cb65b9b74cfff38cfbd33e40003976b5472fb0b1dc2168335d7068765820b5618c62ba98a213e6ac26cd9e0039e03170b404c495167360c04183d1a03e051c732fffa7112ff1b072d9fd4cb09a08e0354700ac30bec6f9f93b2de3bb285ffab43648d836644fe3208801b78877581ef0219ffff03534fe31b933d9d5434756cf70130da8d19ea612b9ec7c29e5345cfa908a2a2330379c86e9b8db65d03a55e6dc899f825fab72d049760efddfc89fb1213ade8282003d0605d64af9f32ddbe4484af768b6e8a71f4788817922cd2178c64d68796e4cd03a17252c1dd24480b4c7167330acff91e9eabe47ddf4f67f187df91fe3513fac903fc235f9dcfbd29524c12418a4e1a5b2d78a2e7cc2c4a90a510f3c72a88ce8da103beec53b99096ecb553eddcc3f134c4c35d5866ddf038c59f26a2b5afdf9851890350471d1ff0f6ddaf6095a72494f8385ddf03ab756780382f7f84ca2fd30119440309b4ca00a072743641145eb3e67b020ca8993becf1c02cf38465a3290983328f03315fdd7c2b6655a2903bd2dc1805dba32e05dfb48bf517e4b4e33166bcbb4b8303592ee552a2dd70818237579f98e42dfaddcf7ce49bc861819085502a3179bae2036721641bed1b653dab04f167774270daabb920e04b7466557905e4663aa984cf03587fa3e19effad2c832bf3e837cf6aec85b3fd4e76f0a49a8adee57a9cae1e5103a92791d56ad88ad98e9dfddd67e10833b9983eab4c7c706279c737c3299ae3530315741e6dedef29a783526827dcb61eebebf6cbfde73fd88c8ee1ff36f6aafe7f0312df178ba2d42cb08180b01ef200497b5ccdbdfeef19f718a794fd7c84161e1a03c84eb917ca83a73d1021a6218c84206a04e5f326f05710854f6004e1001cb1d9036d7d9ea0b53caf11a5ff737baf10326f3d71f5b20a6a8e0d65979b747fc59e0903cb6c11050b5d291ba8a217ff5b0b6a8b94d6f066160ca9cf240a78b45a5bb19a0312acdcffed3202d97c2d21bf87156e77e0f44dfb75a5e2b72cd717434f7df60e03f44d5e8b77f35182dd7aab61804a7950183099d71de8f7f1d8db1e6b1d5bbd1f035070aa891665cc70bee719e0d87488034b6171c5373a29443186dfda980036680370244ecdf5810485c03c1c77afc39c01cde92b0f2c1b2cb0e64d1ce5fa02779d031f08864b5546da0fb04bf9bcf68f508c8a7e9ceedf22cc147efcb199da0800a403669f6188c4ecfa515ff9f2ed268085d17ea840461faa18ff0ad4f1a88e3e1bf30380800b4074ea3026f44e1a35049b749e898de41c396b7f1d16e561d133aa8db2032d1a22b1e5bf1217d589ece57158b0a4af4edd4f415237c88f25e696d65a87df03b8484bef06810ef5c73ac0cc35d2758e6e9643ed87161b0eda0ad0ca715e65d60313b3035840cb96a01ee0367ba36c9fb2059ad8fce127243bc1885ce8d1f92cee039c05c8725f1bb3347ce5718b751e74cbe80b4b1ac1a4aaf983620f9e28a9fc3503741daff525a0d244fcbb07224e7e1131dc7098a95cdfd655040fe38e20391cf503a4631e227d90874a6e1ad5be61e95e83fcb4cbafe7b3643e2595779f662831320332c9bcfda2bc1708c0ff89ec07319b37c6a83942e7cd437000df529dac9ce320033ad23c203173f189dbe8e2d3f587c44c60fd99ffb75659fae36850058a82aba3033c7281dd8100fbef9fb3a451a35fb2c497b3d7beed4d664505ecad8315d04236035f754baec35e0325e4131804e31a5d0329b254daa636690bd946ea9030c2c23200581e023ee7af8d58146a7187f383ea4ee9c7d673128a1bd6c7df08c3395ed2f943d6336500581e027fac1e84b758cc411ce2b73694d43d456737f63808a15b76144dda8b8845071972441003abb6922e535658e533abc79ce846073e001ab3215810c2e623e186e4c401a1d300581e0203bf4385f2ee92a78d2455866342d0d78648867cfd2f2cd072b2e7546f440328b74000581e02ccb481375e0114fbd84cb3e7d3b679eadf4272e664d6ad1d43465cf5c2410100581e02cf97b6fad3113d8a61c3ead499fc0294193944df89013a4498b4d6a60b460b07030e8c8300581e026498ae052cea80419122e760caabedbe768b1e498148e1503ee81cd23f5820ffffffffffffffff6e5d2d49dbd61e236e98bdcba76f3b7697fffffff9fb55fa00581e0201fcd3e4e0522fdb980bf740273249f17068f200e5ad0974000054bb0e413b0219c88f03631f645a2e79844e2063e8534f3944d4c54aa4dd72cae88bc05a12435cf7c34c03d5147fa73bba458ab535afa7ba7f9b94b992b530dca5250d1555826967b642030219ffff039c635860dea4cda1adeb67460b5e125d94c438fa3ece5597c66da71ad59c07d6032e9edd987f02753ff82f91ad02e01982bdca9f4d6fb919688bba4dd509eaf07e03afeafceb69cd8f17bd1ef190fab95f2904f0aa32e8890359678c37a74290a43803ece89b34e62a660a0f9bec29a9d1a6601493a03f71c2ec216c18e159c421986f038078cf9a5a8c11b6da2bd410c1bfd85b703e009047cebead0dc84c47fd19f4420329afcd9922d575c0f602834db435be5223d2259f2f300a8a45223059b974f1bc03e04e016f3b98b4f017d28d8e27a29435dd866a45ca28445a3964c5ed7eb6921703c5be2cd62a6a229eae2a415700edf92fff2888c68b71093370ad8e4386b835bd03ed9a9dc68a74f63c04eae5efaab8466338ecde8ef7f0ecf8b9affa3922e799fe0336599f07c3b31c1159aa80b69630233012b74d47e8c1eefe9bf15e3fec3ead7a036f0c08c1b2285593c2e5f5d171233a0dde9dab0f72d4b698a080a696c72b4b69030da294c00c6b4397e271c8597c6533acf5d41965051ae1928d1baccae66fe300037aec387960c9ed99897b7a57ad6b73967f77cff391ba054144f45301f2e653530219ffff0219ffff0219ffff0387875a79aec18f8b23833e54817b44eec549554cce597f3b894b00cb9c707824033f7a152847a0afe8347d1fa23f538dfa3cee6fc57d16539cc076cb365fede4ae030d7680816437ef60d47703e1bc7a15467955aa0c5575c8118eabe93e3b0f6550037e1ebe711d0abfbec4fb85f1f21a82716535f5c202a5c2fcee000f4373fa22920341009a13a340bb2f0cbd1147af2d2439588e4b2d58c3164212d1e89eeba48c7803b394e603474bde63c3a4c1bff51595e0599fde55b6f640bc835df2a6c9e1337303914d3fd9fbd16e468c4d41431bfbdd2f0d48f984b9e5a774ceb2d483ca3587aa037bd91b23eed21a4a5c6206876c80ed3c4e8f257a7464752bdaca50f82a19530003f079c675430c8e15d6f0f6db703916e6a6dae75ee08b78312249d08b56f5d5e903ee3908deb6e06b52c1b1312e16faba9a4bfdbdb1b23d18e4a1cf76c22f1ed1c40379f064f11e93efd90b62fe585f8b6fbe7079e9880b2ffcdbc6309a08eaa9815903fd7ea8b864f130dcb829ff64a3248635244ccbb36187a5944a39f86b19a59d1e03df87c3f08e668a1a5cbf11bc60b4c7b6f41df524784889ec403fca91ac63257f031d1ebec40122a858950c93e992f0cf7e38e9974dd9bd0f7d7b927c83932698ae03ad268bd9aff2ec7dea4fbdc95d41496c4ac7930cca9db250423e4ee6b2151499038c44f0de366603b6f882c7f74fc3c680b611acc9b41a6295a9c23ab0745af7ee0321d139076a9e76f90e61fb9dbddeb13ab0bcb8407ab029e20c5ddd203dad21df03d06bb8f3221f31fa15b7de90e06b371692218e39fddeb102eed77040daf0488a03f0841208e4a443590a1964f53bdc275d733cafa9a98f443b29ca9760f989e9f7033097ad999cafdd0bc44bc97207c2fb4fa7feff5721d1ee48f65182ebdd59c61003ab3bfbcc63edbcb3d543d4ebb7dc9c5d654103a5e90a8bd342d66efef244ecec03de6ddfd777d3e84d25125484b1266f5320c45917f461ca450f4f14de069e2e4600581e029902c850383ba872836a374faddd6406d0c1a65d601702dafe5eb404fa42d56800581e02fa42b7b42d747a63d2673c6beb6d96ecefe225a2613d6d492c4f7bb52e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffb7faa70f00581e0219026b6dd45f7b8ab0044f894be2bd5591b46ee0569b279000cccf839a5820ffffffffffffffffffffffffffffffffffffffffffffffffffff6997f753c3ad00581e025a736f394ae903646c565a7c3baf25a818e03c26eb081987a9f867734e4a0161c00921c751de1f000392a78d3e450b5de23af6bd8dc5413afdd5cc92ecc4e843bf8d5b2da1d02169bb021918230399af2cb68f6fd3283ba845812f15f835ef8b4b6661f5e391eb7b9777ce68bafe03ac3f6b94c7df48b8d019b19cafa3cebcc1353121d0805fd2965bd23551f2af7003d0b292bdf4791c2195ae078b15ef011b281aff72e57167f803f0bfd38e1ddf9c039b457d6761b4488721fb9e33351474920bfda51ddd8f8c0659bac96c87aa40c803988f420abce59db3b1b74a2e9ec458b14934bb8413c26048f5fede4cd712a3db03bb278f438839225029f33f2af56cd9b9d609cc84de285c5cc5641e9f5568d447030d606717a95757c62207d25277822a15e00569250cd6a1248877ad3da6db9f7103cfaf849e704eed8ecf348a7d6a41286c5738090025b8dabaeeb09f0b470c793d03c4e35a44a729252b5d13d19c859a06a17032fa7d9c2b4a8be2abc5b842d7224c03b7088a4fad948fdbfc3cf8309c7fb0ea6434956b1c39c6b49048f2592bed57a803164bb7ada637c83ac0f92db436f6214d757a3d6f874ccd4f101e4bfc5538094e03bb161d177eb5e0c282556e616bb48f7572b2e53d72534c0c067fc97eb365396903b50a4aacc2fcfea1652f87a14933c8341e8c924d2665d16b2a48e52b6832604703419bd186083990f6f58cec8185bdb2b958ce5664b8d42b3bbeef5865571e8cf40219ffff032b2bd24bf3b248ba7a7f793fa00b4e1b1784d342765db88b4aa61665fb91c48c036a5f3d987c153443c0292edb6bec66dd60b328cc0dc53d2c81441b633e9abb7f0386f5645ac338f6d52785ade5b0ba5c1ea349c68597d80ec74005a182520a0c0003654eabe24e2aed75e31b53081a45e374dce54f201572b1f127556c91d8db0dcd03ce3e398cdb89639b35591e49947dd4879cdb25a550b5014fd416b9b0090c33490358d54247611a40c3ba958d1f180af8ed67583303e29a7214f202397957781bd403f54452850abd9e55237dc455bbffd28dd4dcfecb827a25216852f2af882c346a031b451fca585a33e88d181c4667b91d6777c68a371d72dfc3e4fc0452565f31340219ffff03aa5b36c33305b9fff61cd81a513c5fa7510299f71d6809f69c62875b13eb6534031af85b88ce8a1dad9b352ab4a612cf20ddbfaedefc2b201f5204d20c503f53f303413e435a3ee53672fc1e314d9356d8be08e46fe62084f9907291bce012e5985603b63c74a958c811aac558fdb383036401ce2c586ce9afe384119b1d96487193d40397ae9469be9d14e4ee4f47e7782eaf0118c40a8ca53ec2a2439cfd156e84e39d03649157b28f06ab8f73422ee67dc4660732ca5c6fab9399e1ac1f83288114c6dd0308f3315326bc96170891a7bcb9294814392328ec95cfefef2db1a0c74d709c420321573310aa8d1a543e41f8f168f8b295b4b8e24344b9764374c6b2a998b9cbb603c23b3da8cdadbd6ebd6739485cea82afc66a0f91641117fcb4994b046bb267d60378c3f36813595c93b757595bda2eafc2f5c571de2aa7aad167b96f9b5ecaf7cd03106206d69386efe4d7be01eee7d0bd96e233bd07cc87f77f7d91451000f8e1e6037be5067a7ac50b4409a83fb3898a5adf2c2b99d8b27db9cd4d70d3fba210a222031fda904c9d17e0ff06cb586a36b05880243341e528e7b2620a0d10ba3e0c755f033006300a2bc13347a8e1739baf4cb4f58a1c743a438445ef7cfc0a5d17e220ff0376c7a20b9e5fea04198e5d25c95f416ab169053df774c501bcdcc48d37cf6bcf0219ffff036354619d9ed9e97f9ed047edc72337b5436dd2f244f12eef9a76d7b0a3acce5c0219ffff038e5c4935ebaae35d8771788a2dec8a7e7f2efb12d69eedfd6d6a46abbdf9862a0397cd22c4ff307e6205f41a3317b1ce55c1f9532bed59db6c915a252a6edcd51703e86fb7a62e3bb62a7a8882365ef7101805302d260d8f5de76c818d8aeebe0203031848247c16414578b57bf67b46e9d1434f9f3688da6d636be04315e8a332f6eb03ee09abfeef5243de35a0b4e0becc71737c3d0adbc6b8fa2b59ec6eeda8d606cf039e25d0f38e9685cd5be60fcb8fdb485b79beaddd34433f2082c32efeb4fe246f03885bba5fa3c8df53c34c267892ce5d27ed243c78fa25cd8c1d9c5064eccf39fe03a66df63be15e9e72bb59bc066648880037017b64cddb0ca2a3aeb1bd609121f9030f35ddffe3a65eed965d3e4da6b0f506fb478f750b6286a1797f73d2ba1733e00307c2291bddf9ab50799c9ea34156f9cdb023375915b4015494c9daf323f8ea10030feb765ab0d0278af43f9f0ab88065b8ffda5cc0b28c123084dddbb29afeaf68037344a5a26d88722a384521064d8a04ede9e69a82e2cbf27d75aaf9cbc3010fc70396f0a983f17daacea5ea30ddeb4056e5523a2c7e15de5e56ab605cd1f743dae0035ff7bbee2c0e68b7cac777d82a81b7715d8ef6b51c1e6903ebe7644493fd68c103a75fc6104477f95d3527c05a5e24dca16829a5d5e46eeb4dbe0bf80239ab66ae030221ee0c86f90b74273af4a80a8a1f79bb68aabfac2914c8c25f9e8ca7056a8903281956d3209bf60854c1834c7b309653e2950dc68d26f11bcf785894f13f7d9f03e3f888f4a4557f53d0ad8d227dd5ff2b8237f21722dba6572a3dfd1b53183fd8038452b15f6bd984ae6b833245e1bc2c23f35a1ada788dbb1527915031e551f7a30396a3035b989bbe18ac6003c8df8170467f0dcfc3edec00818d3123cce58391b40324856a047c2d10dbbe5e6c5804ccd45d8d41448ae710b7250cc8c7dacb8d2904038cdb0be032b414b3493a41fa0ea34980b1f6044627290b3ecdb5998f53a420b003aabca163f0d7e1a016a6cf2304b2ea264354e38d0c4392c528093d21cff17d2c03be67a023d5fa0a61a6e7d48c39f214927a7217ee75ff985d9fb4b6304a28147c0333380bf6dffb5b381931262a7661aaaf549bbb9c2cc3b2be485a49aec431a1cd03ca21564246fe29ba43657615cab523fd287b7aa8ca674481aec3e3e2dc9ebf2e03ce90778630cc3d4e56186391a671a57f7f47a8fc94193db4440a35182ca1374a039fb65277434805356e6401f79ccde4cb28d3c9f0d3f96aac5e030b7d78afc27603d0b1a77ba2121b25e04bdba525ff8ddb8d6de48ba19bda7e39d25afd5a49d99203299713d232610837e168bedd7b7ba18d02b12bd3c3eee7a3f863597ec5bdf3aa033f5f536f978a359ff5edbbf4fb977e35a8d93be915536f8f33522d9e771d6c6f03b105a7d34817ed82d5d6ab9e16e6d8ca726a5df441e6e3654a4773f9c187fe780316db969d63c0ef489c0e8d707cdb1253f87152ccb488299e27d5386b31597a4a0357610995efec00c901eb3f467420770b551c86c19a8d76fd7b6906a41113f69900581e02fb17cf5c91f10b5ce18f61f8d9ad033d1f4683c97e32c72bed8a791466410400581e0278f7577ca2eb033af271fbde506bc8892342651e47c1719c3ab079b0435820fffffffffffffffffffffffffffffffffffffffffffffffffffffffdb516054f00581e0258e2d659cf67c9d86aec33c2bdb5c930c55912e1068fb059ee27514d764525bcf00eaa00581e028f635dc7687f29e5f358114e9f1f69ee81a089bf843879806d463604f6410100581e0233e84e64ad3c1280235a57600a3213766d3ad7e37a56e82242af99cee9432dc6c0021905a203d46f930e13e7289b60a960e477eb52920fbad5b80a7122bbc30c7749a012301603a3d17bafb038ffc3c8b273757d5b75da63ea81e74fc3917dcb83bc5ce6996bb303260c1bd186c56aabfb7acc8e2a482a6f769e136b2541e1f6638f263f29aaee7000581f03f4f0c13dffcc3eadebc5001288c02949eb61e923e98fabec1334725a65d0432dc6c00219ffff03447f3ea20d996e2a540237904cb5bc38a426ebbec12d2c10355a35535915e6c803d981f0b6f40412cc95916bf03c2e3917a04f544b64424533f0896c6bd548547b031438fb093520ebf068b86749e6b713bd8b81a57606521e61adeae2675f0ba51d0303f651cd419571fef911c7e16dd6bb59f54638d857d1f54dbdd3aa71f1618f370328cbfb5cbde8e76830e40587000fc5ea2906c1b581b98da6b701391f7fd41aa2031f150bf83b660f96a4b2a791490bca2d12804b4ec948b13c16a3ef5f1568d584035fccb3e6612a59cf1cf586bc8275ecf4e35f9a9381e819f81669b616a0ef639d03346e3e03e6950dbabe4e7dd8206ccae455b10a8ae76d35de77678ffc960f4e4a0219ffff03b80b2fb5097efa10fc7a3fbc93d5383b801ac292c2ea8b772eb00123f6c56e3f0356020ebae30304088334eb9763bd911138641da87f36aacedeb420c6414c0edb036a12f40b9957693914974215962d442c0dbaf46d815ffea04933e8964894008f03955b6c9ba777521bd225f5a7889da743212c983693831c4b2e487c4376146eb603603fd5f53b15b805ae69b866f113c53f576af89652be28ae7a6f0fa4b60808c803a2736b280a28c03699fb2ccf67578224384b7fe8a608b4e976aeb25b56864a1e0219ffff0377a0dad12e9152babac2b274a4119efa10618e399d828da917ec308dff17293b0336e36ea92bb297a0231c10c8b2c40de5e1aba39d9a79864a62c16377921fc461031f2eb2e8e3fcc0611a5e572dd74b01cab3fc1c4c72c7d14c2228efa37e8d4841031e2f2f0f37a34ad8a9c8014ce7f0397a97d15b94b84b7bc67fd6a829fcba0e8b038fb3ee5c609e21287ae4a4d5e640b2155d322815c66c26ddac3c6a8818ca6660034dba88616af00d290ab96480daa46c229a0f99cbb1f32ba0fa4b091d97fba563037907a6784ca8116d5288e1a143bc839669bb9b507eab4303af6e0de492f1611903ff0a7fbebb90fa04700c0660d060ca0f2f7d8e7bd1fd7a5af6545597c6423cb6033d8575cabbcf3725f62ae1cd959bfc96b7c9b4d637c0e4047a5932db04a0a9be030d4fb8f4566fe8f2e449ed7c5de620ab8b88571131b3636fe67aad39f3c14f7303b729c7686ef9c2eabcf8b8bb4d2609a15bf417c473296081494fa67e59e4ad75034ce5e67c3925f3158dd419079ba39dbc4553a080dc2449246e7e117f22bfb70903948a1c3e78432902089cf8eb818c665305d6b22aa5dac136b232ed6125d213e2036fc349ab93ecf24c2f3035141f0c850a85f9d078815415028f4f85ff87d794b0038d8ab957708f361a2afcd163d5d04492819fc81ca560ea09bfbb1165bb0425c303c1637b4692c6bf6ea3faeffb99055248338f8a674fa49f17e9eaab8c7390949603dbed5beaf5daae5426d6ac49a77e3636e08f63ee641f9526c121557b7c6cd54a00581e027686c5245a1d6a4d493cf99f4fb00e62c2273579fedd7e0ea27636d0215820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc071c3900581e022f0106d9e2ebbfb65902c87c230090866ae716fd182b8b9fa63d8f5fad5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff00581e024e278397485eefad3018bdca4f6b402e58462ae4c9220c1cfb38d6d33d459fb292bbfa00581e02322c56a3be3b0d28b896d3adaa3e5506194e78d7976d273f7522e2a2514398968000581e02e91b24f25b4a253a27eee8024a6ca8098971367ce1533bee5af928ff804401312d0000581e02f884057146331be1de14a98e5ee162d1634c15e13782de941a705eb67f42bd930219e045035e266ee31bf03b78f40ed1bef779fde45b7f50ddde934f935baddcdee01ad9d303b1aba35b7ac142bb8f38a7eb241fde19fee01509382982c3a16a199d1f48e50003d5eb5fc5e098510c7a67f32b4f2359cf92155afc435b7f4faad99a9d13bb115903bad31e5d651c827446e540b7657e1e2bfeb73043d3fed26bbc0b654a2b4c7c920373c9c828957b27b7a6b458eb24e348d09120c70b8388b23e371af3f881f961480337890918cb5cb155d37994d8c95259c347fe1d7de9e38c63d64b253836bdd51d0368e153d0584b43df7ec312c7f43306619e939b2b121f4425df825e7fcc1d34260391d71e8d22eae3bbfb201bfede1314d4b9a2ebddb628a18949bd4dbdf89909de03938f352f86225b2341c387f4a0d45a1805979f8dfd933e44a40fd8a87698bfad033b236316a476817225e588068ce0d0c721b4becc539ac09cd1f4d8c9a07ec4d4030888ba92efc8e2ebbe168853932dd75fa0c5114f89537feb440f29c4198da4ff03c5e8b820becdd3b2dd4ee1407c9d762b746587695d9a9fd52a52b1dbc878402e0348c176a2fae6a4040a4fe9ee8c6ae3574e196482f33e616e31a8c9c5d5be024603198369ea2e60933851f4e2abcb89e2f5d7f6bbb3c98e7cc54549685148792b180219ffff030f47410e469046698b3661886a59e942d2f07a6fc14a37a6f69dc3ead0150ec403c9f473ed9bae62d610cc643b9de02fbd4757f4b67ae43ebbc8f2399eef8497350312d8c399ba4843e4793fc1c3b34eb971b5ac1d0263246bbdbde5f86673c17783039362874402b539c7a71a48435b3158915f336b698a2edd4f14c679fe128af095032102ccebda95060101e7b6dec1248c8546b0bdc3320da59fd280889868aa7fd60379dcebf7928f8f4a4ec096b8f1cc3a687c61efc00a4f9b3313063d131bd9d6cb0344c8521fb0f5bcb751036f9c2fb1fb7c1fa4236f2bd8757695b08425055a33fc035b5fdfba4777e0f7f9494a64dfc451972b4e8ba467d6978efd5842393c9727170219ffff03d7ea2b7321bb2b79d2e0b675b6b2b63dc73a43a024d80d9c34d231d363de902b0367b12c536f9b024c9469b80e96b7f5d91f291f60ac58a35c5e456c87ee4afec4035a892ba919f9973142080eee59e5d56eaf809da6951114fd32ed4b966a417f5203a0761ed980cebcf98bc7856e7d3b137b10ecdc5485ed6ca02768548e3279b46803b7c60f5893107f26f11b90bebfedf5d02e3c9dbc74c8716691096020df3e5dbb035da5f7918456df982bc1329ec8ce244591ef56983fa67a7c6b10a5562b4b29ae032aa9a5416394d468c844f4b46761d7b2cdef16609595e0c7d1bf93dd0e93766603edb11f079b2792a7aea02e89c8c52d1f74f2b3d316347dd1cec591314d8a0187039cf1ec82abbc55fc27b6ffbae5561b0260dfbb0a012dda8f2581b783d4ae40140219ffff0322a5314fd342882144ac8cfaf09c26ac3f836394c4158d0c944a031ba58152b9030b841e6953ace9cbcd3ea9829fea9cb4bcfee414174338640d78dd8fc81ab394039d82a9afd1283ad2da25fdfaa74ad8b0ab5bccd38b233448ac397b8fe5455f9103467383a978d502462f1b53380ff4886966e385cda769afd5b54164c7fd9a87580219ffff03b8801c8b6c4fd9d9dcd82ead080841b03145c568641146761fbf3befdcc3f06e03a7094b5a0b7522481a17cdf2b655e73826cd5ce9d7d3f628874c1fb4344c7749035178cd83fa5a84b58a956d24291905ae3b3bbfb9770c719b598ee9f0ca6f418c03f18c2bfedbec4b3e490f0836bbcbf90e28d7ada647b195932bd8f6be38b18e2d03f69f76ae1408e0902139cc8018082643ca3393420943d11aa4db1d803ba0f24d03b9d2cecce53f4d73e2b3a7349d57e1102a1a14b025ce9678af766568fefc786c03bc6e5a54ea7d5ebcb9b16d94dd25d3333e28b01f99f48fef2843ccdb177e60d903c2e5d2a472f7bb496b0cc3c8a8fd725e6086d10fe5721af1d665da2740a5db4c031ff0f77434e060aefdb3d0dba5befffb7c0c9bd8f16b0a299f60ad6f6be2263003e2aef7464df623be6a2f9afa60507bd58b684f43e67f7c182e5d4307e4901ecc0378df404cdb68d104969b96902f4cb042cdda23b61b71d44f896f148d9ad094800395b3b2e8bd3868b01891bb71fcd25b869599785747cb5e1e8735f06d5424779d03c1783bccfd298b3ad4b8c8cfe671676aae3b137c914cd13a5c88bd8eb39a5d4203064909f29d62b4e9788efe9ef23b53550085372656256a288869ae44c43e26db039d2ff22c502b052b837f5400d320b51f03df633d40e29edc0222e0a6efe0f00a0375f71e7707dbbd6374ffca4d05e0bc5085c2fef10c6a16556cd60d2d7861ff8e03b5b78ddfded66ab4019fa2d1082094c636f8887d78cbf9ac19d35769533feb35030ba552d9be80768c1639931fba4a347cfe8fc0f9d26eec52d52e1ebee7b46f0203b09f7b18208326e99caefe811007233a6c77dfce13e12d44c57f45de82317088030e14264ba0a85903edce5f8068d371eb26e050dc44893d5d2a314cf2ab5348cc0300386ea5c841b4d940d3a5dea9500b9252092e5a217e34e80a58f2cacc8ae951038f36fc5f92fcf1d40bbb67c374f2f429b81348349a8377cd1ac4111306ac8d5a032078a9e7867b8729997f093eb83917bf27e692509f2f13fd23c75319a6e21064032177efda786b2961f2da8183efa834822f0ee9495f04017fb786841fa12cd32d03741d796d1b30106a73201dc1d57003247c1f3fc9b9b00bef024e3b32e213e4db03b0223da4daab91850d6fe818eff99c2afb07a606a2a18355b3a53c8547ae0e5b032157c27dee2a1a915fec74e5da6ddce99d273cad54b5fbbfec4fb30b01a7fd6f00581e0298b4033be92fd436120123c2f861588861d517a6b5e00dd6bc0d4c348e444544a13e00581e02ad600fd64efa5bce5d615ba79b0a1aa41d138e3979956d8d864ef5103c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff512c968e020303965f4231cf8bf0e6c8920422e112c87ce7a640bf1bd39bb5c6ba02f4f63b46a9035963afbe7dbebe329a09f860020a65e36cb8d51c79de0e02838b9679d2f77ac7034ba57540a1c74c45a82231d8d6b967e0f05f91207a41252fe967bdaf30e9016d0304516c5c835cc7fe0bf17cc4f91db01061d613565b0b2eac9b425dc86ce38bcc03799bcd595daf54c39da8eca62e3d3c358cd3baedf38cd6076f9d8c037ebb63e50219ffff03edca42facc4502cfd09140cc51a7a6a7393a440ac0981f3929641221079dfaad03780f39a94abe41f559fb679b34212b4398fe5be2ca0e0a105edad045f5b25935032110f4391810ad8a8f0463b9ecd75d7632a3745f056af7844b457e9c0c9192e003e84e8bb6997b4254b84c1f502dd5d32fd16230d0ed3584701017843af4266231030e80a7ef305b5919d129f28c835bfe92c2393ab9e1ddbafb4e2ebe5b7a28262d03dbc0c3bbc0c19205720f370e4573c91a59cad5cdf1d6c21e656ca9cce20d7ca8033d0be9f0f731ce07dc2974fe3617e1c518e8a2f877af46c0a3bbc17713d773570387e6135accc151936a97e43bb1c3021fce64416417a04651513cd1a0e73895a503f6fce15b66cc16ab038683a83b0547eca28896bf5bd2761265a91b5c5ca6b3b90377e51e6ac263536260067172e9296e2610e7689b2a4e58f0d30bd24d39940c75032f6645d60ea05b2086aeebd9e34334ce9f1990958b5820447e27a874fc817579030b8af714294fb322d61e164cc2594a4d7561c9361f064d3af04e8391116a594903efabd9cb8084b7f2b361cec777dd001ab100dc0b828c62b129706db9e529f8ff0219ffff03d64afc8a53a050e97ec324455d20287bb0392b452f4a7253f19a0db4bc18b640032a98eef0b6813e475ce7d4a1bd9e98355009c34cf241ad242f872c560c7e92da0219ffff035b432c04b855f33191212c9dafddbd881af7c7e62136650ba14613a51069fcc903ec2776c4e65bdb0bec22ee32cafd617260b90ce83d98abab872c18963b98d3a903ea4ae16c7cac73cb1057cd9ecf46d7c197163857a00ac4f9d80f3f8981bce637031ec1a4ffeddb6251cbb9b49d1e137e392237e8475a656c0b4fb0dedbe218a096039b70398c352327368845d56f8ae8d3216a247d2d6b83b792ac006611b4f915f903b9fbcd55686e508ab276b1e6ec3605d094b116b258565565dfa4fd8df1dc7fa8038c6dae2ec8f4f56d4d37855706bef17423dd45f2ba66afdc2759655bd3bc9aa303c923cd79df41e5e7c598f56fe7e83a5b082b9a7d45c7fff3f288904addb943d603bc85ae06ea94709bc0d15c78af2b99e12323ae88c54d8c60819e88b2ebefd62103fdb566f9cefb3d7d4dc9851493146dd575f701f1f14ff2a141df6328c2e0d9080365f43617437bf2d5eabda04b2c964478978865a8ed44d21f858c39410fe67c6f03ccb6cfa98af942cedeafd8fbd3706d8281adaa782ef72a8c3b30387745652e53038d8f71081bb24c3f6efc03321b34eea3190cdd7c93e20066f512502cf8cdcf3603e7630f7999a603d010ac413430fb0ac7187c9738ae6e7c496bd71b3d1a9ecc43036fd03b0955d194c5bde6439867fcf3e03a243f7c5f120c699919d8055cb9bbc90388e6cbbb46a5c4989c3ad64c80905fd4a1750b48927ba9e26966d2f3e4a10947038b50445adce83be6ce68e7fdbfdfd9b4fc39bbfc6ec2e1c16b5e045493e99db60308b97bd87f78e2c26d7e30e65e2b92f9b868b6a980869f762009c05321520f5f03b5cc60b3340ba78ca3b96a5b094ef9a8179bfcf45ce8cfe60910ba16118f336803950b07ed2cfbb8a12d41a779d41180e24a0fa2ae9781420a06a79e7978fd40dd03782fe04e421ec1201be264186a00d6724542551bf3590891cbd4dc6ffce3c9c50332deccf35e7668558d841531e8a51b3706a6f49bb98379eae518fc9c696c27a203f029b57cd387489ec376d8f9f3f2858d3150c13e823ff2b23340ab1184c93b8403459ae1f7703ba55de3431d5e57a44ab04a612503fdcf65a31e6afc91de066daf032789d7814b0a5828a9adbb3ea41f0da8b04d2904a1c70d70f247b417f0393e80039266a3b966327a85d5735e2216c21113e680c6e314d5b640e67f7edbfb29d3ab03dbca9cd9e85d040fed07dabc0fe153906bc3f9c748e785e401395ea5aa450d5b03fd8db2c6465a430a2ece79e10f3dfb67b032a9dee5ebe9d89ba5c06f4853381e034ac42451fc62450ebf45b1c82cab426ffa4b1f83fc924dd9e6dabebe6899b18603f55395913baedafd7a3cf83c79534f57c02c9e4fe0f70a664a8e41db275053d403116776dba559130a96de568a034b438204134a332f3a3646900f5d01aed235be039104c83fd4d9bc6d3627d549320937bdda57722b9fe3f68ee9d6e920d497220c03a01f3ca0b39b0186165b5d1ec959476c7d647ff14fc93cd52a2b643594685d2403d6a52e0f1ca3e6457a3d2e16c8e0859afa505b6c4b4b85c404ea215e471757c903e944ccc8b7c569d8be8da9e96bcad41877f00807e94436d9d43e5c27990f617b0308007c5bfd1317326d65ed4b5a21a44340e68b4595546cb4951fd340ad396cc803f01afb37b98b144efe15180e4acaa09052c69cb051e935e86a8c80102dc4daf203a189fdf5255add73b5f0ecd5f769bd2d0ca082322618c95d199bc7484558f25d00581e02e01b42f85762a754222b4f94001b19dbb2bd1ee687d03b0e132167fbc15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff72ca0900581e02d15020d3fb3c026cf8792ee62b19415a8be7e83d46ceff553f501f5de44332fe0900581e026348c3406ad13af68457bcba1af9a2610f790b0195f8902ca174ada6a644010b5a0e00581e02506944baf92b242c613a826c6debf91699a11a8d129f499472152f5a9e5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa57b71e00581e02636ed69bb284d8ec1d9d01f4b7b812f084949b4ef94228eed5124f18255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc59662ff00581e024582057f25e1e939fe63511589c273398d9e66421955074876602a876d5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffdf675987f00581d02205f44b835afe0e4183db57f96b822a19e3ac576fb43e0f5e085c1c0532cd76fe086b93ce2f7689ffd41e94b2e960e0000581d026d061a5d839b5889cbd1a518fd042548eaa644c6f9c8b8622f3c57ed443b93e91b0219220001410d021917e00219ffff0357702c941ffb6a04c44c8628cb066d05b85a632583ac3411ff3673cb90a8f16903d65e42ee8fdacb923b2603f063a7942d60561af113b59524ee588aef0aeb27d0032011c9c2ff48f9dfbf8118defc4fc2dd22a5e4e6fd2bd563ca2a4a82ad6d291c0353e6af7ba4d362cac190d74922577cc2e6fdb96839071ff42222a280977d83e703c941b232cb01d0dcccdc0e70e2a32d84e9ac09dd725e1a4ececc781797fc8cc403b5b8f012e8f02949357d9ed5ae33dc974259af5c3d453a525fa3f26067b86e7a0301dce5db364eccc1efe93c02aa6e14923a9270224bcb9c9becd0e6244db8a62b038cfd906a9f2f694ee9373d56ace3c59632f8f9df9cf36d361b516727046d30320219ffff03c08478604edfbf8603e1dd6fce864e77453dc1edc3ad196c42830183b52e7f9a03484298b6ce193b0551f8a67ddbe7cffd08251dea659e6b57b9fc35770926af9b03a592a4883f73b312fc05ac834ce3e8028de316f867e8c3ab54e368d77ac4b4fa0361820c04b819b96a23615b4e5474ad1ec5cc3aa14c07cc42090cb482156e2e2003e8747dba8a772c667b5f89cce23d86a8c684fe4fdf490c9baaa8805d5a4382c70308270ab951bbcf6b73bb0fea8ded6d692d7958537300d0f768743d3ff23811f90362944f370419961cf43ee0e455bd41ce126355f05c1a83c8b8f012ca46968e5e032c7b3da097dc21c9319eee718fb1760bc73c79099e156ae676121e9da49d9d990219ffff0308306a4d14fcee976d52330bad18649b85eb8fe250325e49cdcd34557cee4da30363bf0a000f47fae58e15ce56e3b376fc536494c6a600982eab3821e5d3a9803703f2ccd3cc160778cde93d6b2fd9aae67c3864e8bfa6cc864299164bd98e9387560219ffff0345d682a70d53c7928f14bff1c7ea882f4680d3fc86ea0f06427eb252f4fc3c4403cbc86bc062058e136d28b54a608e805eb8877ff66d77f44867ac06b6ef268b3203348e56f642ba8e626c07a86136d99de85c4c68e455356f46623f7aa001768c29037daed3ea003a75748f05d9aa3e796b49d6c195c72a2d74ec5cada6a53cc37d620328c6e908a3a8bbc10c4090f84b3ad74d38b674fa728819bc0eb5fc58758e4fb7034b461b3980314a90f92541f0f44fd003011114744a8ab57b2ee0cbaafe90b0be0397c0989052f3d45a3a1b5fe40276268b1109a0265fd90d6b6e77a11183aca16403a039318a55817b0b88bf19156d072a7b8a7010846122705aec1df35b64020eef0394ce8a5d11eb3342e54440adff1a6c9f94ddf54198e6c10f0406d0e5415e308e03697f0096a0afc6d61da8fe78a4f65b1e2b0ba602dd6a32777cab95874956019503404a4bfe0204e9eba6e912d7cd9bfe8866bc23868da9f7399ecf22a89bb1993303a3fffe3fcc33fbd73e9cdf2d037865f9cdb127fb859e59fbcfa4fcfdc05d6c3d03022ea2a02bb2fc2eea6e58bd5fbda9eaf6b7c5efe697ed66c3921acacdcce9f8035f2f924334f484b80d47329725732a0f3fed0111e6ca6e74c1c9ad8dada858e70326ab4cf0a1922d19d2a9ecb8d6d7bd9b82b38291633d39281aba5f4e43a6247b03bcedf50a5dc19239f5a7f28ddbb6b0f9498ad48d28fa92bdfe44a8aac24a80c8035cd48fd484e968f786673f11da322f0ae3928c084f618605b86f46c8cf6d1ab803f0265238a390612cd6c571073acd2c059fb24aed67ecc7af18ea72041b565ac60331a606456fb46777f5e84dfe72445dc08815c8f8601373ff928fddd89511b25a03c94df4aaedc77049ad7efbedc48a8cb8c752511c46d55e517fcedaba4a4a4df303839491dc13151ffe2100840c2766c89f9d1fdce37befee98ac55d42af3cf89a703ebaaccea5f1d3d5a1d2c8b086c6806ac1f5e47590e603bcf11dcc5917bae514203418b05383af70d36d83e1774c8e77bc67ceff689f31c5c5eeea41183e02dd90b033f1ba79d48ce2ae84fbc4d31f7c64edc945cf86ebbb4d113f267f139bb7e1fdf039833eb2aa9e8a4e13b64975737cce6737bdd4d9fdabf74946a134dcdd2bdd70e03a35b34ca7b85a145d558348a12b7c9bebf23ce6b83e7153eb87b3e29bc9d9412034dcc6345e5f0f1568f5f70956359b7fa5df45ff7088b4a5e34bd63c0cb19a2aa03e16605e8739eced7659c74ead42c1d12c811466c4ad7f28e0cdfd0b79d7088b40389f653322d8d94af0bcd286c3173107b25922c15cf1abc7da89bcc2f1d837fb103cc646ae21ad0808fa0b566611459489b23886b6e39384222710a116c0a0d4b1f03ab0fc03a20f8745b22c98f87b1df479b5bcbd279046cccee4648b3658d288d1003135c49291cbf628da6366d9d324f1f1e671b3d942bfa69738387c2eb4d1a77e20336b53323459e4f88b9916dde3e0c5e3cb3bef2a86cdb07bc4d95d5da3281134403ae30fefa78c5741cd0265dfe76c8c1a10b6c95dd717b71438bd457e0c041ac5603ca4e010bdff380b1995e23f41496664181a1eda36a6a0f2800b86e4979c7ee070342acc028188988f3d1e2442a26906537a582d706075e3e4375e0098caafad2cb0381d66583065efb6fb45e19d4db6c88d38a3588954de17c3f627a731bc0368dd2036899a15b3b3a4c8cdaf3f6ebcfffdde66cd119fb649e3c31a69aa895eafc09b503c5b8a98d6ded29619df3544b3d738e0e8f59eac099339329da950233d9adf31600581e02485f173dd2ad3caec28fe0b4dd5f3d182c21c50c07c7d9b4fa226083fa430763e500581e024b6e027cd5b5f52d74db1781f667c2e30ddba5425ca69aca602f6824155820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff70f2e7f00581e0235a35e5c343a33cf58d5f05b0d52f5e7e68d2a6663365393e0236af1f7410100581e02a4fc9868a067b8eb3cdfca1e1389159d386470e49c73df1376b097b193410100581e02150fd1371eb6800458c36419b5e9a59264b79a5d8ac429c7d9329b24b0433c1d9e02194027036ff1b0ccffa5cb4068103ffe035194ce098302edfea8cedcd204203f07e1b527031be54ec38ec6e43109bf15c831165cd739695ae3ddbd21974092f0fb0fd3621e03b7bca6bb476cb10df55a0d251cc5d160d7c00df1800493cc724dd334e998a17b03b2ce2e17a17c6a28f67e6ccbbf267d55b71bdc36b3ddab89491cc895743225d40316222425a087e3a0431fb3e84b26d0fab748ec9d112b105aa85045f99db93980035e954e6012d123d68d968c7b328ba8da906a8cac234b398d2182a437b163538a03fb62fbeb8914d1e85bfa0003fcd27e54624f3381a828fccf28430f5c4c280cdb035f054f504119ef49705256c52332d8ecb9f5304f145e45d7a1e751b17654791d03be6d2f7b30dd7822fb3aa3b1510386c6054a5605ef92d3d84f65d96e19ef1f970392838980fed81e8c02ae4d616a82517d8e2561e9f1efcff5d8a76ec78eeda6b5038bbe8420da53af9e565d2616ae423910d6a23ebbc6ef2ddd21e4da17dfbe18a7033101bdb9e5c48d260098bf719dee391ca6ef5855d035888350d3d27aaf3b5e900219ffff03d469a132941f06a3fb3b7460bc461b2850d5f79cae5fae9073ccfdf7f7f7c5530324f55e3bb5c09603896d3e46d976ea4e49587a3c5958c68d180b5c3af8295f3e0219ffff0394bf11e66452595620a7decea637dfe78cf7bbcb6d5de41c856a17cc3cf51239036fbeb8c810eba20167bfe2544d5085f807ca2fc7cebd64f6ce56ff2b5a06b4410219ffff035bccc06bf300531670277fbde220355890c181714992490ebdb446ea90fc85f303100fa57c7d65b23c0d9e2b468eab0da9034ce0e5a88b25d772edbb48d3b7898b032ad8cf017c4c6ef499ba990d832fabf863565b1809d157a27f52a37d102f9a8b030655eca1457b4d14dda9bd5461ec1faeff2cd7531dd929820427da5260d321940316c416be07155900adac252aa30f0e274cd7701cc2daaebcf08a0b30e29ec2860219ffff034ce443cc0206a1ad9f5cf604e886275900690d20c52e867fcd8c26f78e417dd5039eda1601e9552a7a90993a75ad59a83829361d5fd80368e3fa817ecb646c05e0033dcdb68fb31f70f5b762c3d3971d3da35e55f21ede76d38d0002c1d5fb4b0a5403401993ee8312262f314647bb67e5d587185abd56ced03fc56ab059ac1637503703ddb260c5f64c7bddc0ee6a4b791aabeb1beca5697b943716514b855cfe99886403ae4477a3499133906095b2c40c782a3907d54ea0fcebc9b4a66e8e366842451203831ef02bd864b10b3b738aad1620b53c0b7fe8d0ca14199218c658b08c4620a90389859547cf47d73d2666ebeba5dfd9c3607efef97b63cc7e7223852f2a4bd06d030500fa386c97ac02eb4fdbad61eff468a9c5f640e458ce9b706be8e980ba2b4b0338899a3b28f4d10193180418788d6f321f759fb35b5e1cc8f71c5bfee82241630356cd2439f8542325eff7af9b513873fd7a566ba8d872b0cc2069fb3340e2e348039a709793c8da12899709accd51c00f3c41f4113d908d079495654c7d13930a74035d87d252f9e9f04c33317732876c78ee38269b7efabe9e7fd389e4346d52019d03c8ec887abf576552031d37077fa67533207d354929855fa114b2aeef9fa82899036d9577d67ade2963bb40e9b94c8062837b3300d49f01f974ef8bd1bb877c9a2f036a1894b02e2c73daddcccc0dedbecd40d47de79fdd2ef8137482dcef07b8b20603e106f02d58e74ca30d583c8cf33e207e787bd79fc9829ddef33bdad174569115035381ce28513f2d442495f4bd020ab6aa46062e6c6d6b13abf8f5a8bab608fe7303b3679c71696b6db2ac8a208909769c5770e0b5c4389facb80596d7dfdb873e340396cc116f52a2e22be8390eff9f822af038fa810ee5721c2311bed97327dc3f4500581e0289f22348a225e726c39600627e4dc0d8184d1ab567796fe8cde7a3f0ce440f604f5003804f17436d0685e39e56640aa2f673d49575a2be2fdd98ba350c5c738380d3af00581e0292df9807c8647c05cd27701ceb048ec1a420e063fceedb69ba4d9178a5410100581e027c6e2fc9f05ad1625c440cc357576fb83d93d847bd41ab78a7ef984eaa4401a36101037a99bdc93de7e6cd5d7d234b7d13d29b6ec7d70727e46dcca8c868989624245300581e02524582aa99c02ad1026e94ef3248d00ccb0fcc46cc1310f35eb965dd3744056b06200219e601039ff06e391b9d4a3a585cd4c77eb831b21ef30ff4151b21fcf322c9de290222bd033a942b3b7ae72034a56a9c196c31168a9182da674f9425ff1bf90ddd1b7b98b703fef20b544c54d3569810d5dcb26fbe189ad9782fba2426b7d98db7e0f3651f4103c570b5f5be030c3d13f5d821daab777a089dfa1abbc448938a13d1025676f2db00581f036e9f7c9069763625efaec53c504efece26429073aa3c4c4063ec50db8d505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d74820d6ede676ddf8d32b8ebc3cb6dea622fb74514c291e2bc61bc4d3a7136503f12655d32d538fca2a4668bfc319a25066e1cb6599d121be0c02da2ccb986e32036d6b52d53fe96c8e1201d3a58288956bba4dce74d71e27fa115e5bdc1f02f6980219ffff038529b986302698b7428587a12f0f284e11a1ca97bcb4da7bb505539b4cddd38d03ab2df8e6fe65f2436153b5619318dc8cc5c2aadf7c0c8efe6ef060e66e19a232036d4a5ae343f388906c2d0d85847f6028f89d7e804b6dea4d85a3539ea5266c57037029b4b3174b33593db0769102d7bd262d652368ae40c0a8a9d9dd4c49d999ef03991de42047483bb954d876839c1ed908ade4bb1d6df40ff6334b45d6bd9d599c032c504c2a9e45281949d9ea90b05532fbb08765ca152b17fb6200437677d783c30219ffff031f8d3c3017290f888f0e9a6f505f482728f6314e399969541cbb5cf2c9683d450362399d6d4c142407b05461aceb38f890dba11e3b48ea6e17a4d3748b054b00e803fdff826a3613e3318631874aeb9a666bb43a10e2b37cba34748a53a0b824cb44032b4248bffed4fb9f35cdd2a414ab6582a2fcc8bd36ed8b30ec759c8da0e2814a03bf84f93550c8ec87c3ac9abaccec81986feca4a36905350a0f7378ca1f54988603ff0012c26476e4038be407e94c3c6c28748136f293216971f35edbd1658a0ead03181ac0f48c887fac738191bbdabf5defaaf99bfaaaff2f69f79b64a41c18300c0386ac90e4540c6b440a300d380f7c89a2f4326ce0b534721cc50eae7166f16df1037750f4fb715ec207075373bf8618caad4d1f438d4774da2d66858f53a65fc3ce03dcb44f97f634b62d288ab481e905a7fd6de803c406a1c4c5e95dac1be7b11255034c408af4a065ecb384967b202b8a24c708422181e9a0dc84a80b9ee5c0b6afc30219ffff03b7a7f8266b064d4b630fe542cefd9bb3012f6219218fac4996cfaf4366e8d96a03ee0aab67c575f65dfed081dda1f746a2fdb687ff6e8da285c97219b0926f7da4030727961ae1f0fea6d331059f98ed792f1156d6253b60a3d1c5e0b0c70327de6c03b64bf52fdf547e59948880f17f8dc4a158cb7cfdc843d582f8e57f8b5c02cc4803fc46dcabf83e31166058f5dbec8f4b3dea3b9842441be4ee08e1fc776e5adc310345cc26fb6e69c73d01011359abc2868798a8c8a01153c537f107727b456d8c680349854853c4f738ca2494cefc82db7cebf7e38533524032cf9a5ae862586051a403e3ec939430c2c70bb69fe50c0ed2ed6f24441b6e4ec19f76f683bed569dec672036d1fb0bbd394f82ec6ca11b506edcac28f58a1dc1b9abafce80a6cdf69948dd603f151760f3151748460fe59c9a39a109e57ec251668d502405405d91f13b43dfc03694ff6cfa940341f6cb6099f1b4703bedffbdf5c60bf61610a7719041d5112c0032b66bf258284d7773025a22c51aaac56fde4fb87f2a3ae6cf5aa3e9e57e3263d03f4cb32195e2a8a8fc10ca08e3bc816779e3f8cba24731287ca73b7dc40424be503481bdf53ad721685a68112b7a09818f60afb1b569be55b3e08e9070b8a4d87640309f89cdccaeb4e769646945528d2cd799a16ce5480ec2edbcc8cff4fa30ce55e037e2b89b366038ac98e2707a4527fd1fbc420ec927a2c3ee4a0e351a06db1a7c900581e02812c5a10a56d26db280b70c0afd5e480044d135397aa6d5210b29ee61f4c204fce5e30444bad38fa535b00581e0256314af12aa1a62859483b57f6a460b4a8147494e90b2b46baf775255a43016bc600581e0228215899711e292069b2a3126138bf052b23c82af7b3f0b31bc7631a855820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0211a283bf1f3c72fddbb6685655680bfb71e21e3be1bf7b410292969e25422710038e64c4df426e92d53cae8145a5be45c1e3f0b26f9484b7aa0fcea250548f8c8d00581e02527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6544914f61d25e5c567143774b76edbf4d5109a856600581e026c5232a972abbeaca7064450c7b385ab511a2f17f27461fc4afa9cd4935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffed6614a38f02196d9000581f0324b32423619184f0f0fbcc857a2cb681e8ffeca0dbf31c292434286f03805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd96ef04803ce3484fc11cfe0a1f3a62751064a49dd0f0a1e1ac0500c909936347cfb47425d031626f5bb4ad43d58a689e279e04a07570173281561bed9cd33e6af052319a45e03d5a8e44abde9b879b7a2fcbc7c314165854d3f9114f6c4f71e78b99c788d135b0338fcb76774e3ea9e8d4b2216b9e4b3b3d4f1e4aadd83e14dd241c1f7e8687b4d03ca679a20979568416d9d692ebe2bef6c617dab8e74de1524b221ef78893b129f0384b71bdb82afe8688aabd5a62e84319678110a5f920d5eaf80256e7c06a02578030cdaedf1f014a2e1d547c4aacbfbf248a0412d1e293eaeedab411101212dd74e031ce258e1a3d5c8e3451fab1a73f0e78d9baa004811c75111d05d4c0b37545121030b76f7b2ef016b75916f53e192ffc30891bc8b373e024dfd46baef467553bd4c03a67457f425c4fc360a80333f5c2cdbc2054885a53b3fc6115058c3351836094203ddfc6e27f2c44470d291e4264f42bf361d5b3aed805f141f9ef6e480fd034edc038f1b45962f7e76e725b728ff4ab4cdc5a234d3019505167fd845eeb6df088a9d0219ffff031d5a8815cc0434d75b3e30a4926f0935cf00d153e07b46f86052b64bbb6b87760219ffff0300e821859f340012f45c86dfa5b9019e3ea9bb02960e38ed96b2b760157ce3e8037f33d23ef7126f21d4746678e75a6ed35f3d9f6f78aa69506d6b94846a82b1ad03d757c2ddaee0a8dd8f243420784d1b137559abd38a206ebd1825f6ff5cdf69020393dd5ac1cec614116522daa79ece6986e3e31df2657f6274762e49dde9d2a4b903de113ccce7960ea16ac1d307f4778a1b23248aa5068a222f20fec59f3f6b430f03614c881614702b7d0c6deede09baebc32a5ff9b0b182a1afffc8a0c34676eb3203222434c01abdeda58a3a3c7264cbf26f3c5b8b1c13ab46056117b31bd327eaee03dffe91226d128805c269ceecac1fde8317b5b102771edcf6360ce3bd061995b003c3c316fd8d5cc3373215d4dcb613c51117ef00f1fd02d4284ada8a6a37d5fe1603c82a360ff243638d3c00c6090243780635ac9320a0a1c0748d83da5d6f249812030c71501e40ebe874c44eb07caf8d0473d6a19534b003196937dc1613245d31e80328f0ab5f1ed02a60e87cf9858a54e5194d351b7c1856e59743165fbb7e7bcdd703fbcceaeb006a8abe10ba9fdca440250bc7125f291f0f109ace013b36919a723b0316012d5d6eeb1be263e91d7b279898e0ae1ad8b7f42deae699a7c2213c80de73031e5286d7dfa4adf22cb61af154032c57bb7cf5c3b4c640412489af0d26115fb60219ffff03ed0f47e9eed7657fa85b60bec73b18fe0cdbdf3d960208f9622288d6c62d732b0350851fcd8fa5167385fa2be2d1f9f210261f00be863e85094699b9438221063b032b3206374420137edc4f9b60f66d956d658ca8eb77dbf1153fe73253db920f6d03ea421942022df6d422321d31f8aa893725141302f56ddc946a244f5011c96eec03c2ed7697de95c2e4a9c0fefc83d89855798234ac158521ccf6331a8a017e26ef03cbf71632fd7a9b474e3e86ec2865fef0a0174ba0880ade31bddaeaf6349b7b09034884f04ea5249fa7897548aee3cdc81143e4816c8cd073d339ce909ca0ecbc520386c91a192df39aa4156fffbf8945d2e64d04508d5607a6d45fb13ef601c23d4e03d5cc595fb3e0f6b590452b78361fe525c12cfda0ae73ffc11efb634f4270e2b10359b77c1cb2b95925f7dbb6494433ab64f00da28951647eae5bf15d741668fc2103f8f6c8a40a28545389600569ad135c4259f0495414ba9a521fb03bc3df00fbf903ca58a0c1fdd6efb28dfe2baaebdc58aeddfe3077629e72c7eb6f5be380a8976c038136c0cecfb684918978d8489930d7d38864ebed60310557937b266813ae01db031e5c71750052d7973ee2f05070e797a3ce781b61469588bde080659421dbfd5d03c0fe74d4d20c76acd9950c300593e72db283d910ef2d3915b511c25b6f5714080352e50b67823a4afa71a8323de7e7f22e1fbf688044bd3e17b7e7395c45ab16b40340fdb8fb69108a755b450b06798602897803fedb7bf258f68d7c6ca8abe315c00324db3ff8aef18f1c24a45a68676c11fd4d89e6e651edc8bd04fb4f7f5c80850c039e1240468767802df585f98117ed2780cd467630990708c4f6e27dc6bafb22a803846f583740ce5d24777d5b53023ba0b7297b92f9cd9241a8f2548ada3651a2c80354c89c99fa9c103132a4d3b3c4aaf4ec648a7ae8beaa8ff767a00bbb6af8476703d14be5216a9ffb841890172b069e95d3602e1c2565148581d09e7e96ff40f871034d6b91bfbd5c336ab6f5f30edb5d027804e717d36d5dbf6a95580b384f1efb1403465c7d6a5420538528262dc1015d0f711e7969bf86870f899f9773c249769b680342d7c1cdb9bb8e7823efb20f549a96b00da3530a87432e3cc9264ec427def934039675910d6d38f21abd2c9bcc2929fd69b5c490e8881fccaaef38ad83137ef79503b55c0d9e56c1c4f717c56e93679ac09c8a192be264409a2654df83a20d3a3a3e030b006a2f2ed3133aa80f20ecc398772ca6fffad39f5aa99051aca9e2388bb95103ae3aaa71d566538f09348274305e906e9cbadaa3513932e67d06f7fbf346f45c03893874ad9d75c0bbd7ef024ebeb3aa28a95e4f0f6e70b6efaf220e358a4962fa039a7868814c551dbe23f41aeca165925cec81df33bca1459ac227bc1d6e458e860340e9f4297f79ef7827ec270f8c8a6950458f7e1471266ac2df68a45f5211b82300581e0267b6c43727d3f610df3037b340090b2e79ca4ddb628bf4d42504eceaca5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffd179bb50f00581e028917c66be7374e4948cd28695c85de41356f66fd462c3f2ae39a12806a432dc6c000581e02d7c7286645681e7be4bd8b84e299e61e558052c9be65229d52ee6f1823440228ff3703baf3c01f0fcc3a4c4e1cfe490b60e434e11f7ab46ea2ad2086dfe7350e9de55f00581e029d9cb83d90f5393ecf5d2a6547acedbc28762221ee4d1863dd098b8b105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe636434f02190e03033eb48b4b1c91c9f609c2eba76b57bf74dfb0ae7da830c9938090754b95f4622d033005508793f9a7a2de9ac0d09e22af40c8f741642e46828d666d16425b2a32cc034920ec92b4704b6a9b671621cd220c1e0f8a1e41928296b102e0f25168b38b58038bd5b78740839360e723f6e3c4f9ce132265eff62a9aa30f8bd4194e3cb33c9b0219ffff03cba8c0b45f6403e81a9d9821513748025e0fa071d990be49c9c48774bb10329703e7bb84676995f3fff02169668e353bf0606f70aecb74b8325c0df64c243e753d030f026722755215e74bdb1bfdc0a33bee3dfcb955a1c1ed6fbb21ca360ebc576b03d2c259a97bcff8baca598f2c37e23aa8806218f5046660128118a389a9e884940219ffff0360debface5ad4d3585667a60326391f215ac07306da31c58fcdc0ca5922953860367d3fb7b134b0bf72323ac6a41375690ce05c34c619eaf67a24206531fcd58670373ae71e9481529a213fa15260833b59bf0fc11471812a60cf6b84c5b436973c903ce17c922c644515d8883a282995a4d69f069a4a59dba95747e2d7492398102cc03a34232f206262ddc896c07f87153c3adb72ca3032b37f6f2d82e9afd1da60c8f03058c37a2c7decaf6a89fac80f22f21d3b04c2c8cfd50f0624518293546f8de4e030474568533b127ab6f76a359a54402f40a22bb78b9bd746a6c4e969c589e25700219ffff039935f339e272526c568666830d1bb05118d76b602057c6913513a2675566a09303123926f0436fdeddff744ce38384f8b229a21e3c3f7b29fd4c4f33b445bd992c03a8e3c48552e0e83c7b4e933daf35f9463a71154edc17623dafa9b4ef2cd2fcac03a565a4c8f82de7ac81e0aee6477a55ef4706c8981eb20d735e14b054d8849ec503a95deeee3ea82e8cf108f371390ce97bda616ddb001f1108004b518147b5021d03bb9bd94cc55c3fa5bedb06db087763faaae929029a5f7feffb102b906bc0ecb00358f056b0fc95dec75015ca85553d67bc0f7b379d36c393dfc0b42713fbe7deb5032a1dbbd9e43a259ab0d212c8e427c01a4d24b0d9668244d64816dd94b907063b03730d5617e422c736d3b2ae4f59f7287a9df199046566e7e7250b7c54dabf76750383f2715693192b01c471e25131719f3d0f16ce3f5060cd92ad961de88643b2b203777e77b7116d3f6310bc2a8b4ccdac0767bfc05043b758a130fe13c09bae946c031ccbc5e8cf0e407e8f4c9656693d71c4bfa4d30cfe33ce066cc317290d2240f9033750353be209f715a12261d27207b434aed5af382a167e32cdd3e05407db439b0353db6fc667fbd2e57dbc587792240f9894db47537b9eba82e85aa70215a2ef6303add0582fe412868b8875fa28d821b9706668e0367873115e07298fe0b06aca550364dd9965f1d1b5e12043d457aedfc648621ec338f73980a640680241539df70e0354bd8a1851f4bbbe7e4ac75cdc1c083c8f467a227b08fd579135c3928de8404103ca6a4fb7f2f5db16c2882b7c90eed25690665c59ccee135176b391234d7eab9203ad55760995e63e68864fe8c306b1faa78bacda642e73b35df2634b75844aeff40303600acd65cbb8aceb6a9c506ecbc3f23189b918e3f656c6088bc38458540208035304223cd1fe612b521564e692cf5ae72981b5f5407044f0f9d84aa82012e02c0311a7b560330e620c4502c1a8bf96a018fe490076089820dad56922a20b9a8c8903c8b71e14a9be1752a5fc6cf0fa093a31348b33dbe647f08961afb4e5715cb32503449eb3bef9529bd15c65ade8d1ac6d11ff129e8bc93544e36ca24f2e5afb64f703c2c60f58417f0b90e878960a72e0aab5adb6abff35539ebd3e309a8e86151a0f03a29d69ae0150810a350b639a61c13a27c5c88d4b6852fd42b045761d6423ebda03a602e23b80ecc4356a1ab8aa4874f53d05d32712fdccbe9813bf0ce76c951ce303febaa8454dc6167fc3a1699e9ba599efc5b9f8280cad7af87ebe3269982b2b7803ba47acc3d87392c149d08cc0a7f8fa1ea5b0fdc2d349894c54ee242e91aac447039c016283355257fa9516b851652d1fa007b5c4332b9caa3bab7a00b8e8de95090311d5a6b4abbba9eb9a5b659c09e23925d2372c3beadedd141e6630027c936a21037f78aae29fccbf85c46c12da283da3d48195e1a0a21768f69daec77abeada42b00581e02643ebe1107cd51c4d6ab7e9341d07f0bec044ca374dfc84d723bd0b5c0442891849900581e026d3f9c0f057d5aa1c83cd6562a151b7552eb79018ab51c465a16307a3144323f28c000581e02432cb9d706bb365d051e33e517585a2b77983fc7f2186d8ec6107a47bb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0241a4ca4d4bb73a0c95e4931ab8275e02ef196c1de840637d3b10ca949544017a6b000219b9040324172365bd68e6b3c8e851f5a5303b6f764be3f4227c1444845a7a2d563c33b5037f07abd5591d064a357b8ecdcf20b043351a533b9b66dcd4bf3a1a55fbe97b440375dee3bdb7c277f6c77e3363ce71e6803462ddcd2788c6a121584b01baac723803a87f318e3d9b4c884271de5bd6bd0df5183f4e23f08a690a75307d717d7e05ab033341a410ba5f600c40c60db9a86f7598751633b694ba22f1fda13c49f46cdd1d03114accde20e3d4a165f9483cc3bfc4c32bb7c590b60a4f3d3a646113a1428d3703326aa0ac9b16e020aa5c1d39db8df58d48d34635c98d6c575e0a8a5e868ff51b033d4550c11ccd994ec84b9cec29198561943c8378677a638a7c3a7eac33536211037347484e8d72a0c1947e908aa6eb234c954abfe4605dd0e75c80f6210ea03ae903e7fe84894bacede754ff6819a4dbc6790206d6028ab72de154af7edda38b159903b42f06c4fb4fd70d3904686f37f71cd830dc52e68a28083ae626079494d1ce2003c2dcf5c4685747499fe276459b6efa47ae04c72f50637e3f1744752350e1b25403ac8f9def6973a73eb8b48e4b1411d98ce96ca93d41256ee6042688b96d76634b039ece1701468eca9c9c6254d18634092d08a6acbf58a0f13ef3f366222fe823460219ffff0300f4b42d99d5a9d34c31125965fcad0e71b9e153eeb0afabd2c7e08cbcf0ea68032a609642fc431242e4356962ed93f680b6c046e5630cb44aeffdca4ff40be93303f2167abb7957531d534ca808cd8586ab46a930e0f8bdb77cf3af1739122f011603d3a785197c6f9a08da7600bf70c09b17a5c654ecca6281e847cd97cfd782b26e03829171e12a2a5977fa5d4df0c72e91f96cb420c63a4361179a3f8e0e8c96b43f03e2cd640e657ee6f259d2cf5055f0768c3775928f84cdafa612ae5ea4223df4d503606069b63d876f33ca908a32f570b686d4871291acac8859f1f2022e6e248786034d3921107e020340e552cac469eb2140f7a0c5f09e809787b84a7ca7c1d046960219ffff037c10830dd62d0d64dab26de04b34e2cb4f40f816985ca8e3832605d4e936161f0219ffff03bfe4167c1416d58d321e8dd717b1da2ba29d6ba0d8ed380bacbb7135b0e5a44803e7eead16085db84871d009670bb8bb035c3b95ad2bb657caf2768e51199faf6d0219ffff03f236c68b2981ff69b85daf6b53c4bd45e0eb8671e5b2925975ddeb6cce19c4ac037454aa58f61d9bd812ef20afcc9f7f39e3a87e58cdcfc631f9bd1fea464d25f903d8723bfd2c98589d3450ecf72a80804cba515f5814946a0398f59b1ac75ebd9f03b574f8b12b04dc9677697ef7b6d4bcb68543d86c6cd6c2265caa0a8a7ce6a18f03654c0458e1cc7032918819691054ae80591e7b63b0fefd6b97deb917de4366c603be4373a5a96a075502289e0f345368d8f5e9a2018e767592195eeb8f4cfc2f5203bfe7babf4a9d91c470509c7f1dc23663bfb0a0c6fa2f85c573de6c0cafec9445036d834b9920e78697e58792ace64a2929ddea2da3faf04f749f6537eb4862846e0340e8b68590852830661025a5c69fab46f563cca4e05099d548caee8224e8f9d6037c77b6534e8b66d238fb9a847379da57a3c9bd06d2c5197b593a389156741a47036ef10102b8d7f275f3771d80d8c2eb1663e21e865e7884b1e73d8e845cae934a03b5ef8ff0a9c70dfa38be5f19c12b7243b019cd1e225fa9099e665a33a27cc14a039d415e36b09f7d4e2fe30eb789bf88bc66c9f88ca8823fbe8592bfc6ee3bd13c032ca171e90f2a38b218dead57d65ead2a4b1f269cc91ab5b5bd99b1480bf90ed60387a9a9cdab4ee979d8134c5046ad595aaa6cfed9f55914116e5562449e92e709035074173fed658b7a72b1b3c7effd491200621005aeb4b8d41ebab1d2a3520b3c033901ff4a4a0ab1c6feaa4a2bc3d233d3af1ab1d7b50940d8f24986b7495ebe1303f447b9d362eed72d8d65e37cdcabe1996161869bf5aa02ee9c1b3ffbf9069f1903b76b6c2471b6c3364dec368f6f3acdc9827afd057880cbfd9d68734818805d9203546ab385d8f6d5b524df6e02fba8bf76cfb9a43f67b2a9a80e0941926552ab65033acd869199365f8c6c758cdaefc127222c85d0b7630ec4a848b98aa41837b90f036657a31d4bd181188e43488122f48b672a09af2efb9030b070a5052f8ba2df4903d4ccec5705e66ef058cc337fc86563b519f0baa42e43a39c9c88cb948d39b55d03d9d39ab2ffbfc161b986ced7cfdc13d772a71708f502d5a5f0883cf7faca09e703aa7eb28af24bfd1e451664031faceb416c7285de3e52dde0ad5c4fe6d6966ef60390483b0c533c2ea6271f667b31e187adad4841a239c233698f8bb1571cb1562c0358cd141b5bfdf95256f157b432ca58918460c59dd6bd87f792f3b4bbbd39725200581e02387fd454e465d01c76a3d5066f9ee86cb0f9c8c6f8c075aeedc63db45d5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffd705951ff00581e02a31cbb26b3dd23283f0c9ba3e9de9b49670a31c0ac02d5f93837d96fae432dc6c000581e02194e9bae88a553b0b0774e096f48cb2d001e8b6e83d1ebdcb824872ae45820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8a664f900581e02486acd13b49166ea3d6d84f8cc3d1f1eb89c78b7851613360b5380beb0430d593000581e02203cc14315fa2c03d69bdae367d0c96df2bd93d575431ffed0a798649445453fac2f2900581e02ff4c591ff5c202f23a18e1ab497bec37d959aa68338f8e933ef69916ec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff4e8b767902191d03035332b0cdc277f368df046627bbd25e3205f1f91daef2411b5fcff6256aa4051603fc2e7d7c95ed3ed4276ddebb2da32e0024e4fb61dce95e8475500dff309006de039a08909b6cca10febb661ce46f54485e40517136c83e205bcd973dfa55fb8d4a03196e54f29aa1cb132ac8cd5132ca23bc03b7e6d323e104d67df0bc4615b77da303d0a57bf9999188e0322c7a37e28be836e3b983ac418476b532914e2bdcd0f800030447658fccdd276fd0d3d92a8186d7e44c871c2a1b8a423790d4908da1bbbb9303af8782258b0a7a1f20383605ef0763df7436f3997bc4b7d7ae7fb93b9208c51803a1ee912f66921baefcacaf696bd65aa62d4a3109f3a1f2898a537437f30e602e0331ef1b0f1e2012697df65bc0976c4983d6bf1433a4adf40c4705d0a91a2c8d3e034cbdc74e7e7e840682c9d2c76ff42bad1d33646f93d366d4ca7ae25e59aea5c70219ffff0374e732e33d407e25ef36b4a9f6fb7ae6d65de62138b49c230d05f9aba42d91ac035b4efc85ea67bfa7654149bb73e4c28edc39d97118b7ec0948da04e7bbf61a5403c895aa16c708be4b6cb3af1db539e5d9fa1ac97467c3e546798dbab8ba606a9403c71162b2e5f9919e8f318374368a8233260e15da2987006fd491109e756f0a6a0219ffff034774fb845daf7373e4c2af3ebe18fb0f26eb1d271ba8db7a7c9faa4128f7fb590335871f1c00ef9b75bb45c0b4c638a54167f658d91d8b54e599db4fc08c23b693037d89accc2bf073a9e06049799f47e6429306fbc52b9c2f81c069a372103dbcdb030e4e3776718d6b1f5aa8f008442081f4ced25d807b1ab21432ccfc51dc8129c503ec754c06fdeb9694fa0b44dab7310a0848a00be776751a0e5cf25c638d5ae0f303b1fe22882e59a89e05ed45e803f6893007dd5959a89e044846421c16ec69af97037a1d1bc6518e4ffe34e6e14b2ae9ce8f3863806d94311be24de6a4b1a3905a7d03b9eb2da57a259398cd6ef40e4d45a3680f55c393b885115ecea60b587ef8ed0203c13e24a8eed263c2db49bd84fdb8530981e51cae247363d9d670c4324479d5b803891f4a040299f82433cb3a7c226e7fadc9c97e265b4b946931e5e346d3adc2250219ffff03a0f3439b7f6d11e0a7211413888ce45c4c05eaef5c6c90e6decfe472a2958e36031abb2ecda18c43a16b5ddaa1c9715302482020e1b2ce058cc7acf04725037a3f03d398b7efe9ba598005495a34ef688dddd8a149e0b6504380713de8420a0c2d6f03fcfc457e50947525cf7a96ad3497f73d1620aa356ed11c337f535f241bfaf3ec03833d3081fcae425f2c92fcd25e7d019c432e0ebcc916fc1a1bfe1fb6e1ca0ce603c51f563a99c6c54a29c89ff2864b9f72d79a7858d024dc312bdc89986a7c3bf503885ca33fe0980de4298b25ab2f33ac5a1bde5170812edaafa96f4c6e89963a7603d99bccf68a38ad60d44f25998ac19284304d0ea36f8c88fe814d731237a8fe3d037bf755af995368896e41c8874a0d618e02184a276598391f0e32ade1e0df16350219ffff03fd02b5d7496c9e1dff2e69d1661927095e442b594941f38aa91355ba937d7a8303543eac8e42fdaf1a0b3526c6ac62b218b3862b6825e2c93c1c5aecad74ac8739032e2c5a12d68c7c955f6cb5e813793a900e14e231528968a720a7379750059a1b033b18ea4cbdaee2805dc4eae60883a7965a958cd248ef02c1ab7cad1f9dd54a6d03af79a50b2ae703eee0e582be6e66512899824472bab1b3f843ea06d4a2469e2003ad5d65aa08748bb68fbfbf89283b60ccd745746be9d507063be700211ac070ec031a360a06560edb89d4d749a13798dcdc4bac295e369c38645ed60ae5074d7b36034701fd10cedb5a7d80f64523f0392a5309e68278a6a47932799250abec098a59036f510d87b4a04caa96b62f8e7d999601aa7d3662e8eef11c084a09ac5642812903744a91ca67d05ef9d41fb0b2280a0ca473e4db99fc7dd0c47067f152d0e952e403a9525efaace30400dd6f30ef98f5dfda608bab90a8b6f4c32cb5e4e8e7962eba0320a2c2f605385c25f5b1a8494604607d85a71f5cd06c275d3b4bc6b3783290d303bd565a2264594865237e4f136ccd41c54a7c7e92584d0e8859ba3dcca5890aed03c939222121a2ec113295608ccc39e23b8b7228a0117143f4b9b98c647260a52a03c127b0aab7abbe9aa9c36986824996e6897892dee2e7c255ab617ed7d1e05cab037ab656a875e0c42db3f346783f7b85ae7844996b393c2af3ef43938579c25dba03410c011d9619d9702d76908f5f8376ec69fba97a5d879a8e06d5b2a07773a5dc03f7439e65bb495ae8cc7fcd2847277055034568ef6f5f7e5b491adc19c7bdf2fa032bb58d9d9a436fdb0b46955ae610decef38440694fd37fe2f5cd2ff0ec7585fd03fb24b7aaf9fd729f79932babd3e4b97a60b2d47dedc2b3febedbf6a0162d44b7030eaaf51ad0f3a4813549c1cc2920c1399981278baeb109cec75cf14ce248ea0203e1accb9077bd33f2b2c5e9bd3cceb88358b8596d0257b8fbc5af8ff28b2d68080388743ac6fe5b44618fb1e3ee1a2dd3bd3a7c0992d8d1ee6dfc2b64a7bc53c0a903106c2b2602b7a700b9540e1b3bb568f339324812e477c97a96b841a5e3bbe45a031dfcfbfec031821a14b77de475649b9b5d59792bd646ae123739ddb861f0b19f032e524fcbd34d935feb531c28b99e038059df7014c4d3164b667f5af702441bf003f0276e5033392d4e160cecd10bce5d266aae1727d1192c43be034d9d964c8c9f032ec75f15b3bebb9228aa3de92e0284e06b231130bb8891bb9bd2ddf76d9e2ed803b21a72c3dc05054bec3e8cfaf155eeac54180a4836ad5c0acbd69655b9647f3f038e453105b866f9a8ff2b889c8c9312497625cd7d4cbc8daf7350aea9e2ce6a2a00581e02118459250635220b599360065120e435b65c6dee71814c48f24b12fcf143044ac000581e02e42d76187fdc26358f9ea0c6210e956cde81977d3f17840b085ce4a3385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0219e324966edd73baef2945fc25041a899a228f442e0652834182259bc5432dc6c000581e0308f447f8f809b21f2e5722809132a4f95af33d8c095779516f9b9dea00442f390ee600581e0367758d71c2b322343b483f4634c736d6de8e79744b8b7d9847ce0833304406cb808000581e03a77fae98316b06fa435a6ab6f24bbcc231c359a78ec1c2f709a85f66605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e037ec7b16364d0e82489e2712073cc87d0fc0532a93b3029f340d4746d30472386f26fb1bdc00219d00800581e02e2304edfc1f91a86a66d306a9e8d56edb41055afa9911f8520b33f39225820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0bdbf00581e027561c16ee9b80869db39855f186afcf19994b3e324564255c8ff5940cb43f4210b00581e02d2dc04def2dda47307f65ef97ce72b9f02d726b713a84794f0d5df43b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021489ccf976801246d1f634a9c4bf4f47319c8d8c1a7564af45a0dacd7d43514a3700581e029e21b4bb76af633cfc449f66c25cd2ee1f7f7311eded327497fbd5bbd7440162c4e600581e028622a7db199b1522c0e025eddd91580b2b3be85329b7c86b473159f37d4703218eafc0e9200219f2b603778af14420c986d237e1e66a0222efb7b26cb00133c4c93f82efa917678333f80398b8e3ab4e04864943294e00649613f0b8e62c8f6ce8ab3a9b6989e4902840e30219ffff03741afa54ea5c8c06586a13f9e0db42513cf0f9e78420a160f4cfbf030941b1fa033a1f3af860631fcf266d4856a38aa43b81f175f07f4a6ab379d2904b80ae3b3d038d5e59416f70317bf9b68ad3b79772263fbd0d809ae32206d5c105eba8be736903ac9a15a8bc311f0effab3245d4f183501ce13d81cca8b2b6d0fe92a29d8172a6031d4547c8ee49b08bc1349b36aa0d125448b6eccc8acbdf3691b20f8bbd062e6c03df4dc150729b929c9f3bbac10563e5dad0e9251bb2302ba83e86d43e4e934ac803d1886345638b68ea7d42e02ee2bb33863fb3ccc527d4a0ab866708f79e71c796032db0f392f99892932020726c54bce13da363d90b6e4942afb155ed886cc87f160359183a0810b70f652e37d5012687949f48dfc2fac0a8bf149008709ff8f4ef8e03321d791b40cfcbceffbd7b0ba658f74dfbe0bc2189110bcf4d9fb3e7bd92424203fe313c2b9fb590a68ca13100e4ced61a567339b7ede46d34e9dd5244b5d5f5510219ffff0333750566f99cf5699352bdddfef0ca886fb3a618da9c415d6e6e256b0c7965db030475bc33cbeb1c8a3f85f2d35240dbe8b035905050f90c392df3aaa1f897e1e60317d4afa4afe27fe20f792436ddab519137e9a825e64cc974b20f24cec95919420302082478f867985d9cef445309b08a191f96e5ef16c59ca0b5b2f48c94c60e1d03775aec03e35f1d01a02335bf992823f4cc51abd98a71057656d1c27baa40b4d803b80884ae25f5e5bb092356e837b5d4c6fb6cd6a1d1b1bbf4d4b8ade84b06df6e031e9506ba3c6206a0152da561187dd17b59fab1812427bcfac33b2210320afcb10219ffff03ea2c480b182095943b36ba145ce97c748927090339e585312cb9cf908b3dfe6803975c1e0af6502db8d7b5cb6358f71d73c76ac6c889465a765cc3b1a450a2e3d003e0f4d0cb1c96b7e9cc07a90978318970bb33796df12030580fc7260cab81050a03f1c517991e3677a2f627ada0493a729fbc11496ea461ad601075999540fd22e903b24309e5c96548c2157c002ffe55dacb08176061fa3c663899014f939b92189c03771e95c431438524714baa738e50fb22e79534272b753a62378ed401ff58b5da0344f30c23783d68103c46c6aefc551629f024fa9dc86b205475cbe0d8ca823da403c727d29cb4ecb0f057f73fdfb083c838ee8432ea7b10a2b74ca72e7c31daefad036739d3dd15faf109a76f56b1d7438ef1c0966941ac62703cc33723fe093ba64203d84901e198860b52b6ab671df84b1920f1fe4537d5d131aa2e0ed553cb676b79037a81572ee28871a0723e3d9df50e9ffeb6c70937904b8ed0d56bfca4a8ec7b17039a43e54e9d424355abe2b415e3cb7d506761ab7e5c54184cf11468361d6d3d9e00581e02f815931c17530a6c3b8e47427d456d2e225a941961e21831dbd0650b77430f42400319b16fce9d7cd49e6b472cc20ac30f076e5b6b3af64c7012f35af28c3f765ef800581e0228728f050f8e7632621211b48e7078589ec7651fa5ed751be453bf91024424c42a1900581e028a639d9ef936800288ce81f335daa34ed189e83439a356fd138d03d3d0440118133802194430034e19160b4de45556b4129b41e3c88550d6b0ad08c8da2d117c1892a11a90ddbf0387f338e1cab9ac945d016428e86f756b9a0a8c91a0931d901416ee9b91f42d0b034109dfed3e3d7bf1ac7f80dd0a802f9e4a14df08630572e1e5216ae64d23336d03f02e4a4879c6b55044b428f082e448fd8ed7b274fdb494f0f64d653d110ce0e503116ce619637dc11b8389a750f7dde773caf5cce5c3ef325a5e75f64a799f6c0803b7eff9f310f1b67154e45f1ad463f894afa0c2aaab09d6f8f3e42785feda519e034f5503ef83f2083218d1aad516386cd5202b26cc3636c6209ad5fba65313a377037b37758e7b0533bfc6dd3cdbd4fc8e030102b8a4540d46a77fc00397d8e9abe903bfa22e4b2a00b971e937b26f574a5617521ecc2df6fba68c30157b2cf476112e034df93f320823b4faf790f1a4bbdb167b0c754da46a2e55589b985d76482eed7d037ca94c1c09e61bb2e4b6389310718e8664f0931ad8946a0917399efa3e9f45fa03dc70a001891bf160823010038880cb4b962a0cd8121f6b7d1408cdae1775f75f037b761b801fd8a765801d47032ed7fc4da9cc085e4618ebe406775c62903a1ca203f9b17cb04f1c29e8bb0ca98b2b1a90c56a972078569cff09b121971fc7f8248d0219ffff036ec9be3a1663a904587a5a8bb9eeb43c86852367806b2179a10139d106caa0b803636cbf3b4651fcaf6a42c9a0cda970ab9192e28c1cb2f893a50036885f8a2d5c03c39048f9da47fb54d527a7b9224b689e53c23bc9bcc67b8614e65076b6c75f1d030ddc5a810b4f8b3e1fcacf4a85bcabf5466c8561bdfdea8021efc5579da5cb820374c0d7f719ec360c7cf70852062fac603d4ce259b61f5eb120af2abe8df1390d036a326013820effd9eb27adc6e83dde48fdebe8b8366f2f774d8a013b9cdf3d0403b4edbffa07a61660a0c90950274212229cebed25cc7fcc927a9b806945502f4a03a3cca6786e41b2e0be8c1780b5dc135cf43102bcbcfed00ede3ed17b791026fe03faed560f4624947271058814b808ff3b094debe2262ebe5ec5cd647977bcda380321344c593d7897e3a9ac5cfd3700fd8de6b272f342f0eb87ff53d35e0c15dc1c038143986f520dd89ab4e22e121839a10e4fcd89bd68afce55e5466800a0430da5031ff5482bb3ce5373efc8a63a8dfe1a262fdc9be8210e6168fe868268947c12640219ffff0392b819c2f207937f6793aa9d5f6b7566adb7f23f2d1c7f73ac5eecfa19fc44fb03c189e30d7b910068b08d32427d3f95e33dd4d128743d3ca960074d854f35874f0348d7fbdf51d0c9ca78a691d54f7791a3efa0cd9649c5c3ddb8be2ef39b60c4dc03ffcfbaf5d94296f9c32baa45773b032eded0d9b2902a831cbca8cc1196d5e97403f39fc7a817d1fbcd8ba67bb8a7c010211e025a1a820d0ab0cef86b2cefa7f7eb03e0ef24c2fc8dd8097c94eb7aa087364545e4a21a19818d05fd0211dcf2c013260308552fa8980ecd60b4a676ab6f446100930940abe888c214166b1695e96483b7031b14b01ecd0ff874d6129926ce27a5b0ebdc26a0755df75905cd7fc88e93ed040219ffff038d4ec4fc66907f188b1995f0d7801d72f706eaac2b33a9853741f00dbdf799eb0300cb0480f6d3233a3f114e699bf14e1ce2c4cd0048b521f6f0f414aeda6f54810316a1bf7496892b132d9523b0ddd77b34ead51c57a34ab6c4717f0f721c4ab11e0334e408665d6d629c0ba501275609f9e70476726f48caca9f8e36cd0e0fbfadb703b0acca620ed67ff84acf3a0cf732b4020336d051c74f90cce3a01a7c261304bd03a684755032e5b930104a930a0ea15f4a4014042edd5681c9964b04115d9d637803f7bc660eafb8b50893eb2e6878aedd05e6a0cf9e15f6c31182dbaa31cda6feaa03ee5528d961e6f64f037ee591cab56da4eedd1015be73a94864c9284b5a5e3baa036923c4f8eb8efcddeca5f8ba056726ef164c85299e02a9593196d071f049f7f40341a4e54f31be42cecfe2273bf824d98313219fd3224b5bea769b22605f23a32b03be3ac2e1594bc0c1b57ce7f2144d80409fb44f07a13591b446e2e4b123b29604033302ad51eb74a60ef6deebfb890bf8b5a9e704dac8daadaa6382534d1542bae0033932d7b783f4fa64d891ab952319165dc05fbe8ec9ce7a1448f56d4f5850ed4b032f72295dbefb5f92e838025eb79149e8312e1e1610a87976c415e035c29ba3f70310614b0741fab7eb54ee49867fe3bf7a777e34b8cf7097e589ac7d3af434e163038af9072f659e1d5fbda82eb33c47d2e5033767227b0938caa0109711d53eb09203d28426eb5a212dafe1f2a14651d4964b4ee861f697cdc6fa71ed4b8216c8b9c203e6c61872c58a4f0808b03b95984be66426a5d119e15e7108241ee7f517590c8b03ef642e06fcbeaf120b152bddc584274a1852c47c8cd4857d029f4b9a8bdaad7f03114118133977c70005556ff9bca4f80f4fecaead3d74e071fc83699eb9b4287c03f13bc508cca4486f8593c0826ad016a2730afc5e305d477c71263642f52993ac0326eaa8f621b7c4a5854e7faf54c3ddf571a52da43426f3b29078c99462cfa5c2032dff20b59528b108c19688d30608207bc781824388809ac4d2f214f7531e67ce03632ac1d3d1e1a1ef0c17bff54cd30702f0e9c208e623fbd66c00024b02a69497034fa04a0ffd94b9af07c4d010f22ee2e7cb6efc690f22d343552fa02c2ac3453a03445b685ad677c8c2745e8903f45a5d2287fcd7bf655dd571369a6c727375ed5f03edfbdd872eda9a979d32b2f7f2a8b3dd7de3b439b5b7e41dc4f31b8caa2e4bce03e4b2d763f67bc7274521f9b4a8840211356a68b26fbe55747f13f88021274e7103ec81001258c478ec27abdc3594b8d2cabf48f51bba294dec8f0ada46dbfd2cd303d527291cdc1d9693aee69ffae628de1ed18b27c08fdcacb0c52538025a684fb403d72f1badd852d1ebe7c7dab897044cd9bbd5ad377ef3c52192500de57e7882f80362ba3619048ba7d699f8f49ad7c9915ed95c9128414ab7d2ef7dbf9bb7ac3fde03bc9ff85c7dc3d3c78782d3859f747ea8973b3259c0a04583a897da47fe5607fd0335f7e1b6be1030cdae636e73e735e72cdfda120c7bcf442e39d5dd57f1f01e3a03c0556fecf7e2822fd34a07bea47b1bdcf6a561b4b0f0a8cd8a29b538a6be294900581e02a0e45bcfd070d9fc325c21099c0067aa8bd604e19904f286bddbb4062443f0d91600581e027a5b8dc5d928f5133b9e1e971baad60adf33935f70345af32faac1336d452e90edd00000581e0299b605317fe6d710612820d94141cb31ecf0b1fccf6a683db7cf45bacc5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffba3024aff00581e029e96ce066a3e794cf1029bcb31f52fd3eb73e5624d3f59de7bd08a777b5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe363c7f00581e0200ac102a06a78af251448949df7e10d245abb467bf4a6f35bc46abb912431583d000581e02dd8ecdd7193e8fb32182cb9d97971d7f5497a22dabbf7327a3e94749b75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe27ee63f00581e020d217459323fa2ff6b88e87339376bb3acb832116c55f3f2f86b53c8285820fffffffffffffffffffffffffffffffffffffffffffffffffffffffb57e837ff00581e02203db30b0b734537171169072f31a32e902b30c071a58445067b67df7f4417ee194000581e02b40b7e518263dbc07e730e227ef4f63ebb46b1219db9e97df907bdf82c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d59503f71653fdefcdc375aadfb78b2a0f679f826f369193cec0846e68dd11aa958ffb03ade916f932e53e69e85e859f50561a20fa4e5955f6898d9c2345cbac2ae76df40219ffff03855f7278f613b00aa35eeee3d21238c29bc9b087dabf2e982a462d1453949b84036850406597a5259535b66285b3905531e31e52a558d712c7eb775f2f2aeacadf031e4911103a65726d6307119e82fabe9caea3e75d174e65887361df03f59753f40391be56a3790019f6c2df1e13c3d3deb780308fe83efd6e9a0369d516499e1b690387620c8625d7eaa92f6a8fae3e603a431dba1e4817bb6123280b8eeac1a80309031d26c3e950af787b8ffd03507e653d66453fa95b1b27164b37af38111fed945e0219ffff0306b3f4af8c9b5f24bb6b04883aea3100cf047c1919eb16a6d379f4dc9b22aa5503c47a1e11d7cd1cc6a29c75f3a4026fe59ed16c882e9657a3ead887241e5fc120036c4cee9bdda19da50090f8d7b13944b68cc6e21b3df10317b2562dc3d8525e3f0375480925291bb4d6c76302cf13c5315b789b4029ed6634191df13ff9605fb95e03724e7907a3d173afb9a170f5127453698de8a2de50a970bcddeb0485fa71fb0303c13fdb653463347db004fd365cbf0d60a93266129ebb6917757c136afde9abc80219ffff03427b0cda9729e2794cdc06fefd674de89d52d0a9eea1a08a8442bf373310cdf703f9ec69b0beeb65ee1c49cef242b1220a69a1e4b86c3e18d0114b883a9dbcbe4c03c25c65baf3076aab41b56ef23ea1b7b24f15df4aa22bd2b377da1eeb28c0176e03b8abe45c7203e3ee88c9d970c3e7355322205fac575b8296da410826023167f90219ffff03b1be1b095b4f455eb5ab8cf779bbae039068cf67cad2d36229a6f9508f74a415031aa15ba7e98a9d4c592d9b9135f70bd75a12ad157734baac886fa39ace82bdfe03401f978f5561d4dc0a820eebebe9df4e303650bc1254d6fb9cbda94a3b3d6e790305b17a9570be17a6aa2348f1b4a3531b0193731cee01a15ab138e6f0e7c8ad5003eba8c02921ddbb27185d4a54c65d1578b48219aeecae6d2fc8f14599d5ede96403dcf005eed985f1d68e1a96f33e83a20bcb88bb9f9a97bd1b1c4583ae35bbe4fa03feb45715139b48aa99a6dafb0c14b51d1424352822245580408e69677a56561603b645350f415ca3866f238c0ccf4410abbe551f250205431a409e32f2dbe33e2403f15c0f72b7ea8c00a9349afef1650b8dc4e824f9f83ef56e6f84b4a1ba9638f00323d614d710cb8ecec4c9b45a496d6238c7dc57f9643e57cf4857b21b6aa6af5a034b1950a922a9f01b1e5b0cb6b272c7ab90cf9e1daed6da1a2179c94bc81bda44037fe8c63b7a784bbd6a1a15cbc777e63f295d4680cb20030893c8ff5cea7c265000581e022ce7160a004e01b1cbdced1c5a35ea670730b83f5564fefba76b4d1d9a410100581e0253d32bd7beb332797a28f486e3ebfc074e8625f0b96b7cf65f32fb900c4402080e4000581e025b4c0048866cf216dcc78ef23e4d9bc9c07a7fda457c8588348854dddb4303320f00581e0202fcb64f24ce285b72bc1359ba6f3a3294bd92ac0899007a5ae1ba12475820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff24ddf49d00581e0287569c97946426281bbef27b096fd9141278ce19877e390a43608059b6455b3b349b8502198c0303447036ecbfc68c4d4c1186750f5bc0a5f9cc56f99d9ce38be491f64a2d4584760339c28d7a2bbc425e0e487a97b945b6fbe72be36a51228faa765f2c37894e78c6031f2febd37251ba99397114eb3fda9984d46b0941e47fb20e8e3db6462c5bbe1703b61b9bc262db9aa438c234e62d4360e271b52670b94eda932e2551d507cb3d52033253ed396ce14d51f7662081731d02412e8d389ac71591cf2afbd38c8239a679033ed3ada679b43016c0645cf984b76570f1983bcd347ddb12d77c2690d3cbd7b70334e6999af5862b7095782145953229caf13bc92774edab896b5637f2a4873010036fba73b21e60e28551d3de2e88b29ff46241041becea955d112f3f656d60b49a03aeded5261bda029e975c13e2ce22b072da2c0efd98cd999e6679755bb51c2c0403e296d71319e7fde748ec2fdf797da1df89b8d1f2d196b5c2b283b6463880bbc40337ffe08c5d2df1bd9cc46d5b52f537508c59a82e3eb5483293f1c5083ef73c3c01410503a98577860aa940e4484be8ce3d9ce3846078657c2eb2daff2bcaef8ae923197f03a1735d9edc007f50ca374c000f697ab6f592514536195753feae7315fc11a2010219ffff0306404de152fceecdc6930385fde64463cb0e891c892b269af8318d9df79713ee033342edaf195b0b5dd0735af7ff5f7e03e87dec303cb4d226fc46c7db69fc19bf035ca3f7d208367bec25020c45a697276516f622d605d47fa22723fea372aae9690389cb74369997bf3f5901e51b82991792748a3397a3b82334dc7578f6be586057037660dc23c1ddcdacdbc5f75a92a8ec090761fc5af491b0465960775dcde561c6035e8b66b1939cb119080cbecf22626d38941aea3c4ac87cc053318791f101777a03fcf46c44b314f6d3203b62a70a5609d3f608bd25834ad1e56907111d9f55c33b03a916439d19e5b5bd1474a63683c77a8e5b47397155ea12310834ec441d8481fe035daf368053e8369e69b0d49ed72a9383eba35c721e0af59ab1933eac29cbc69b03e16b220f7c9d868ed8e9a4c35f672c5412bed4e7efc530390e4edd2303a95401032889a31bc5b2ae511e90a0b7ec1336383b7e82f408419aec12435267dc6da88e033a4ba4085f794fc0952c01af2b930149e318f191d580798212521c2b68dfdf560219ffff03e7edcbf1b55b2b5771f25b603047c4b2af92662a0b1b86f9202dfb4f7a9b66c5031eee8a90031b441a69e89402220fa8c3dd4b6071377cd93a7a481390558451e7037322b8f53b01b3adce8ad08e8883951545ef6251b81123b545b2dd5d1c73590903bbaec8e9cf0e30d587fe2440d2d4e20a6c8e8a80970d7f77a2c6a84044d6886903cc6b2e275aad170936fbf356ebf1b610ff0167f5e6a918242b69f03b2ac9349a0318606ce052133e78e6635359daf7c3975031befcd15eebb894f9798688436e8803ebdb96f05a86bbac303933ed86f03d927c7a70b49bc48551d817bd0c184710b5039557505d9c027b565641b10171f04dc3857f20dd777d89a7f58938ae68408b0103e1f5ca8bb9b2620d24bf4e1d7d3e6e555b5667ef698d0fd88e2a95efb9a01346032ad808100996ed1cc0aea49ac32c0bd068519fe052ca3c10205b57c8dc29e4d2035dd984af0ffd92e94392e0a1c167bfa4f35085783853f8fe91752186d29016450219ffff031ae99ca434bf3a7ae0f57b9f6da98577ee45ec139bff7430b7e6381a5818c93603a9c2b2904cdbdc62f12bf5fdeebed1ab39512246b1377907f40134ad936b649903642f689ca9b528e84e6457ba9cc1ece2da4b37c4f6517107a9670c79dbcda6ee0347f422394dfd3f32b6a1353b6265019c6959f8f281928b7e5db1b06ef6ba7800039ab3ff50ec5161f6822c9fb7788141e69492a9d90828087dad8410cfe2026a0c031da7b31ece95d8550e0d7ff015ab2137fb16485ef01a270a59e9c1cdc03e863a03794248a2096c289b84bc9f3cb93044179e6f986100766f109640cb49e8e7b3cd03ee00e62f60a52cf2d67333a8776ada82746897821feb337703ea3849e9c05fbb0389448ad415aa7da4b09138c08e783f97c68b4863521b42fd98dc55e2ce89f541032f22723d9b7fa6ed78b29a2378f424461eacd71056a7cc7481616619daaa3a6e033988de7569fb7018cffc0c88ec20bc3c86ae1a4e4a5234148117ef71c1d9b9ef036ef22939810ae09ba6d665d42df3f70b4cdc62d9862437d118d4c29ee9edadfe0219ffff0219ffff05581d0292cd7f3f78137497df02f6ccb9badda93d9782e0f230c807ba728be0070119088a02190a0205581e030864713ac2db5e9db0684a29a85b09f8e2455d445c5cf00aa58fcacae0040105581e0382cbe9e9e102d9cff9caf9f978abd0677de42e743578f991d9bdaeb2900c0b4705e5e4dc9af40002195ee7033455badab272e160f5073852fae6d04a8696b90015aaf2f8f3eefce6c570841703dac65fc9721f10396a9488adc58e5722527bfba2af0c358a985132fca8faadc303ef72b060f5704fa4479d7c7f29d771420d46aa0e78020ee314176d6b3baa8e1303932f7e0b119160a118e3eb7ed691cac7163ff775eb6e5e163a27904a14b75ecb03c41c5e70289ab77172db9e42bf65ca3a2cca2251f22f5717886a51e5d543ea9e030c23a08d2045612c8b7e1bd7383be6a919f5b06a243a4f1a6bcc034f2e4e76de03af9fbecd149a21467bffd1f8ead409d8ccead8dc6d55bf82af70813e74dfc22a03f53a5c5a890da2d8fa58c0eeee5e5c8dde92a1472441a514c32f03f5b64873150301899b4da112719a28ffc94405856d1b0caff59c59ebc63d51d096067b1e3a380378a6818c13eb82b0af880762ca82ec9d6e2f7ca13f6d269acd6e565cb49356940219ffff0373950079b9bf002a5f350ec2cedc5204fc018ace693b68229be3b6607c7b3127037bcac9d4b744f6c62f6c237d5bc5e0911310560a3fc8e117765aec2fc0597a9c03a6c2c5df4be23162a290c7d94a261d493112ced73af311e9f684d49a187c6b8803d23aaf328f9ca4e3a3dd05cb42fac910aeade0ab932486a14dc3281793bc31ff0355a230a7314b0a4c1fea898db7ab60695f220196519f5f6775fe660c9d30296303490582251ada685fc67fcfb59ccb3ea7903b2853c79af56052bb285b003696be035eecb4158501336d88f5555268df78d382b40eb75c7552d1c08342c1f353c67003469573d29a1586cb8a571a1e29daa7db05195a4ca0c985cbabeb6f70b77925a703a9d10019125ab182d269296ba5a0e7b34848c7e2afebe36d2e2e86c0d9fdd5b303ca30632c3475f41baf3b545e54bc46605cb4a52d8d87f833b4e71a4bafd87d830219ffff031148818fc837f4b8cabf8deb72212a99fa9602510c4f52d83a1ea6c8da9b2b3503c197cd6619f3e611663a6bd947204ae06bc948738f62f43b999c8bd16ce39c9d034243fdf63e5fa44736b9a7ced71e8a514f9fd284ad14dae2639a234a26ac745403d259c7a8333b2cdf2c662aa1f17f3468877da7ef97ce57221398e8f5b3f02432034198e0557909564bcbcaf698b4e8616f8419b4c10f955848be5eac38e895482c03f7061c9d4809b8e353f6da95d9bb4e49dc3655aa03af97145bbfcb81ae7415c2033cb6cbe5a9ca0e853ce9eb5af1909746fb96722f2062c93188fe9809c4d7cfe30219ffff03dcdec01273daba31ab986a6409f741d506bd6d6610409e74c1d5abfbc8635f52034d15697aacd09364de79bf7f054c7dde40968200c6d26ad53509472392358cd70315a1760d2a1f369ef49f319b70609d11683b49402d718c46f1236844295d412703367e2c55a47b11622363a4d55dac6e7af2837ae761b86058c9d9a87b330facf303d2f018450ff7c444555239623ea0679689e85fa4ba532f3e9c213ec37024cf7303abc3e81f9f0a8e41a6fc29cc6ba14c8d29a4341110ffa6cba59d57c4f1dc795c0364fcaf37ada801116a0290415ee1ea05f90526ee710bc1d0d297c3593ef47198034ff23608c9a785c6de73767ff7311b8d3c07684ea33d41346bb2e558025c45ba03d3aed652f6f959c553bb22376bfa629b758ee7e4ba48237bf9633f8fa8cc6eb9032a27c325eac2f3ec6ae19413ba4e89fdeb2cdf15023f7b2cbca821ab0338741203c438fca1a044a53e727024cd0d529af24ce0614499605df1402b28df1f51b58203d6a8f4057de39200e3533479db991007ba0889e0ae9741f7bfa9fafadc8851f403f79e172c5ce26e75e98ae7ff7deb36a44d6a6ce1b6926c72c9c538636638e35f036ecf8aaa00924d7f3c67d670ab156a8fc0322a37a34e848a34285cb5abb4353b03ed564f02b73340a34b81a7b09fa22c966dba4f0a8a6a04e3e30e783cde5b1e0a03834bf859145396ceca0724ff234ca189889c4d24d49ae7ed6d36bdb2d55be899037ec1dd77ddff64ad34ec9f0aaa307179470ebdfe1cd17a7aa05bb65369638e2e03edd524bae1e9e707b0737740bea196ea646fa358e60667ea6693720fd9d33c6505581e037b6a2d557c5d7667f608b999ecdf985aebe53ed5321866e13508c0ee400c0247023335d284e7b003f710cd8bbe794b56a2ff4abf5927731557f99c22c11e3e131da30f86e7336cc705581e03133deb034b5e3a84cc3f956d84136bd5c7669c2968001f422a39e0e2200c0147014771ae6e33c80340dca482ff366eeaa4365526dfb1e8bbc059cd2a43e79eaff15adb2d6691860b05581e03faddad312d0d215e02f49418885590c2a63a2a65b3ddc972d000b8fe400c0645010642ac0003d48a6257abefc39f3aafdb6237e9199eea4f9602aeb8e133f9967e56e26f948105581e030ed919caf60aee4236617cf6937da9eeb4ab0cb0dce43857be302c97e00c09467b5a298113300342b40a504edbcc4e000530d5b6902b1b433c32c52333e44256c0dcbe1d128a0304591bb760806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb1461039f578063bf474bed146103be578063c9567bf9146103d3578063d34628cc146103e7578063dd62ed3e14610406578063ec1f3f631461044a575f80fd5b8063715018a6146102fb578063751039fc1461030f5780637d1db4a5146103235780638da5cb5b146103385780638f9a55c01461035e57806395d89b4114610373575f80fd5b8063313ce56711610104578063313ce5671461022e57806331c2d847146102495780633bbac5791461026857806351bc3c851461029f5780636fc3eaec146102b357806370a08231146102c7575f80fd5b806306fdde0314610155578063095ea7b3146101935780630faee56f146101c2578063109daa99146101e557806318160ddd146101fb57806323b872dd1461020f575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5060408051808201909152600481526346726f6760e01b60208201525b60405161018a91906116af565b60405180910390f35b34801561019e575f80fd5b506101b26101ad36600461171f565b610469565b604051901515815260200161018a565b3480156101cd575f80fd5b506101d760125481565b60405190815260200161018a565b3480156101f0575f80fd5b506101f961047f565b005b348015610206575f80fd5b506101d76104ed565b34801561021a575f80fd5b506101b2610229366004611749565b61050e565b348015610239575f80fd5b506040516009815260200161018a565b348015610254575f80fd5b506101f961026336600461179b565b610575565b348015610273575f80fd5b506101b261028236600461185b565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102aa575f80fd5b506101f96105fc565b3480156102be575f80fd5b506101f9610649565b3480156102d2575f80fd5b506101d76102e136600461185b565b6001600160a01b03165f9081526001602052604090205490565b348015610306575f80fd5b506101f9610675565b34801561031a575f80fd5b506101f96106e6565b34801561032e575f80fd5b506101d7600f5481565b348015610343575f80fd5b505f546040516001600160a01b03909116815260200161018a565b348015610369575f80fd5b506101d760105481565b34801561037e575f80fd5b5060408051808201909152600481526346524f4760e01b602082015261017d565b3480156103aa575f80fd5b506101b26103b936600461171f565b610795565b3480156103c9575f80fd5b506101d760115481565b3480156103de575f80fd5b506101f96107a1565b3480156103f2575f80fd5b506101f961040136600461179b565b610b4b565b348015610411575f80fd5b506101d7610420366004611876565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610455575f80fd5b506101f96104643660046118ad565b610bcf565b5f610475338484610c14565b5060015b92915050565b5f546001600160a01b031633146104b15760405162461bcd60e51b81526004016104a8906118c4565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104fa6009600a6119ed565b610509906461f313f8806119fb565b905090565b5f61051a848484610d37565b61056b843361056685604051806060016040528060288152602001611b5a602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061132b565b610c14565b5060019392505050565b5f546001600160a01b0316331461059e5760405162461bcd60e51b81526004016104a8906118c4565b5f5b81518110156105f8575f60045f8484815181106105bf576105bf611a12565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016105a0565b5050565b6005546001600160a01b0316336001600160a01b03161461061b575f80fd5b305f9081526001602052604090205480156106395761063981611363565b4780156105f8576105f8816114d3565b6005546001600160a01b0316336001600160a01b031614610668575f80fd5b47610672816114d3565b50565b5f546001600160a01b0316331461069e5760405162461bcd60e51b81526004016104a8906118c4565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461070f5760405162461bcd60e51b81526004016104a8906118c4565b61071b6009600a6119ed565b61072a906461f313f8806119fb565b600f556107396009600a6119ed565b610748906461f313f8806119fb565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107786009600a6119ed565b610787906461f313f8806119fb565b6040519081526020016104e3565b5f610475338484610d37565b5f546001600160a01b031633146107ca5760405162461bcd60e51b81526004016104a8906118c4565b601454600160a01b900460ff16156108245760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104a8565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561086e90309061085f6009600a6119ed565b610566906461f313f8806119fb565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108e29190611a26565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610941573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109659190611a26565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156109af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109d39190611a26565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610a1a816001600160a01b03165f9081526001602052604090205490565b5f80610a2d5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a93573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610ab89190611a41565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610b0d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b319190611a6c565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b745760405162461bcd60e51b81526004016104a8906118c4565b5f5b81518110156105f857600160045f848481518110610b9657610b96611a12565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b76565b6005546001600160a01b0316336001600160a01b031614610bee575f80fd5b6008548111158015610c0257506009548111155b610c0a575f80fd5b6008819055600955565b6001600160a01b038316610c765760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104a8565b6001600160a01b038216610cd75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104a8565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d9b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a8565b6001600160a01b038216610dfd5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a8565b5f8111610e5e5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a8565b5f80546001600160a01b03858116911614801590610e8957505f546001600160a01b03848116911614155b156111ee576001600160a01b0384165f9081526004602052604090205460ff16158015610ece57506001600160a01b0383165f9081526004602052604090205460ff16155b610ed6575f80fd5b600e545f03610f0e57610f0b6064610f05600a54600e5411610efa57600654610efe565b6008545b859061150a565b9061158f565b90505b600e5415610f3357610f306064610f05600d548561150a90919063ffffffff16565b90505b6014546001600160a01b038581169116148015610f5e57506013546001600160a01b03848116911614155b8015610f8257506001600160a01b0383165f9081526003602052604090205460ff16155b1561108557600f54821115610fd95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104a8565b60105482610ffb856001600160a01b03165f9081526001602052604090205490565b6110059190611a8b565b11156110535760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104a8565b61106e6064610f05600a54600e5411610efa57600654610efe565b600e80549192505f61107f83611a9e565b91905055505b6014546001600160a01b0384811691161480156110ab57506001600160a01b0384163014155b156110d8576110d56064610f05600b54600e54116110cb57600754610efe565b600954859061150a565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561110e57506014546001600160a01b038581169116145b80156111235750601454600160b01b900460ff165b8015611130575060115481115b801561113f5750600c54600e54115b156111ec57601654431115611153575f6015555b6003601554106111a55760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104a8565b6111c26111bd846111b8846012546115d0565b6115d0565b611363565b4780156111d2576111d2476114d3565b60158054905f6111e183611a9e565b909155505043601655505b505b801561126657305f9081526001602052604090205461120d90826115e4565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125d9085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112889083611642565b6001600160a01b0385165f908152600160205260409020556112cb6112ad8383611642565b6001600160a01b0385165f90815260016020526040902054906115e4565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6113148585611642565b60405190815260200160405180910390a350505050565b5f818484111561134e5760405162461bcd60e51b81526004016104a891906116af565b505f61135a8486611ab6565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113a9576113a9611a12565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611400573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114249190611a26565b8160018151811061143757611437611a12565b6001600160a01b03928316602091820292909201015260135461145d9130911684610c14565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114959085905f90869030904290600401611ac9565b5f604051808303815f87803b1580156114ac575f80fd5b505af11580156114be573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105f8573d5f803e3d5ffd5b5f825f0361151957505f610479565b5f61152483856119fb565b9050826115318583611b3a565b146115885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104a8565b9392505050565b5f61158883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611683565b5f8183116115de5782611588565b50919050565b5f806115f08385611a8b565b9050838110156115885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104a8565b5f61158883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061132b565b5f81836116a35760405162461bcd60e51b81526004016104a891906116af565b505f61135a8486611b3a565b5f602080835283518060208501525f5b818110156116db578581018301518582016040015282016116bf565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610672575f80fd5b803561171a816116fb565b919050565b5f8060408385031215611730575f80fd5b823561173b816116fb565b946020939093013593505050565b5f805f6060848603121561175b575f80fd5b8335611766816116fb565b92506020840135611776816116fb565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f60208083850312156117ac575f80fd5b823567ffffffffffffffff808211156117c3575f80fd5b818501915085601f8301126117d6575f80fd5b8135818111156117e8576117e8611787565b8060051b604051601f19603f8301168101818110858211171561180d5761180d611787565b60405291825284820192508381018501918883111561182a575f80fd5b938501935b8285101561184f576118408561170f565b8452938501939285019261182f565b98975050505050505050565b5f6020828403121561186b575f80fd5b8135611588816116fb565b5f8060408385031215611887575f80fd5b8235611892816116fb565b915060208301356118a2816116fb565b809150509250929050565b5f602082840312156118bd575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561194757815f190482111561192d5761192d6118f9565b8085161561193a57918102915b93841c9390800290611912565b509250929050565b5f8261195d57506001610479565b8161196957505f610479565b816001811461197f5760028114611989576119a5565b6001915050610479565b60ff84111561199a5761199a6118f9565b50506001821b610479565b5060208310610133831016604e8410600b84101617156119c8575081810a610479565b6119d2838361190d565b805f19048211156119e5576119e56118f9565b029392505050565b5f61158860ff84168361194f565b8082028115828204841417610479576104796118f9565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a36575f80fd5b8151611588816116fb565b5f805f60608486031215611a53575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a7c575f80fd5b81518015158114611588575f80fd5b80820180821115610479576104796118f9565b5f60018201611aaf57611aaf6118f9565b5060010190565b81810381811115610479576104796118f9565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b195784516001600160a01b031683529383019391830191600101611af4565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b5457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122005888bfab29d47acb7d7cfdc3b7dc70346f3e6e810a3d070cf4470760fcd963164736f6c63430008170033036e432bd3828dc216de646f6aaa07c0c8b8aab704953541be96ee8a27f9226dc4036e33c578f14df1548a21bcee2c2e7eade365894c40863a22b14bffab2a3d135d03459e75af7fc891df3a8cf9737d546a82cc282d85fb3c818739b9c8369662db22034f745865c2af6057f4e57420c170c7f38a4c16b6c4c7ce298d6363d042640dbb03764f51c682302d61e6f329ca6d125d85d0a4d91a7c83b9ec016a86bc4857014e03675360b52344614cd262331fb1ff8ca70f2b9c5efa1864b4d306997b30ca99d103f424210817eab6337beffb83724c630ce31407cfec3a9683782884d1d89f90c803a828bfd08838b2bafb34eecd209d8d33ec80c80c5bddacaa91b13ddc8fe9e95c03ac099b32c7cd81b19bde808dbcddad94a975300fa78c669efb722e23f41abb2903331d96412bc3811a62105a7b60deae2970339054cc068ac040e09353065efec303c71f44a8b4e62ef83db14f506f6e9251e11007db9dd84e3ecde40ebbed8db2ac03d27ad4918aafc7e4eaff1717eb30611f1badf3459bf04af1130d5f8286bb19c003478110318203021ed0a2959bd28f404db51d02d31b31dc10c8c3ff69ce40cfdc0324d8ccc6e218f21f9f53513ec8e4ec05cd5cf96fc5e5359611b757ce0ab5a30300582003fee9c00e1cf2090a932c5936f65aae32e391a65bc2121a42fa7131d32de6b0476e40b7db603aaf031c77fd31767e82cf687db97736f7cd14b23e00dc925d28a44682068ca20787f603c060b473a82ba847233cf2d236097434627a217d57e700e4c430f534c3e17b750058200329da0cf2da37c75c42230df34598433f0ebc605490af10d0e3d737b8360c905820fffffffffffffffffffffffffffffffffffffffffffffffffdc9e4bf20de44e70058200314534a947f0405553d2a7b38a833d0c1928da058873a80d4071ecae96d31804701dfe0d2de1b6903d85ee42585ab0b885e3a5fd76cb19c54b358842d00fbd69692a4aafd2428f376037c2bdbdd9e1e8e1c69010b725d0afb8651eac5879eb26efc76e1f2f42ec90ab50058200367c382a44c033ed80905033f16112eaa4e223116eb07a009621c6461360dd0470164a1234e50f600582003ab1ae136144a098f580c7945e2c5b748f12072d919938153cee912c1b180804787ff187ed742bf03fcfe9157432ae96ab91836fd7747cc0e98dca3d5c1a6942d5acb5d0e2a81d80700582003dfb8309fcc8aeddf0297976721c1dc66c23528f4d15518643e7165f3abd9e05820fffffffffffffffffffffffffffffffffffffffffffffffffcf36e9c143e0fd00219db6e03234baf782ad595629916113d755d4949542e55058abdb6b742e5dd89d137d25103de00259299ae41f37f4f0ece7bec2d1eaac15830a0d5849f6d634467a5926aa9030c636e8b504672c7d01ab14e5d9173f526097d606094b2b12627584e76ee56a6035aca08dd3d592ba342779bb7785399cd96deeb8b07095abde677f6e74019e97b0356dcd586e1099d37c48b3e02628d1b2d483a43a0093666d201baae03b7f6b58803b24c6d4a38ba53038bf75c0fec16cefca94fe3593f1ba3414ed7502ccf00e46e03036b7bf86328b03a4a2a6032a4fd3f8b65b2e0235d33ab54cec021baf460b4720385d11c7e07ebb560234975ea5fa66e5053328f7ffeaac3762ed510273377f1bd0219ffff039f9f678b41999ad1f77359bc370ee58a848d05fb0dd0bbb74a8c6489a86c87d103ae60679d04e3b01f85ab3af841e8651230c80119595609d31125b2aa2cd0927203b8fa83f4f3b8c6f2e40d4ad7007f9d3c520493189332135262321516e67fd5520338efc1b1b91f25d289223ea3c233c6f56ea862ae9b8af6d9106e3c72ecef09de03463f2b29a617f28bbc58f497771683f12a94a16f2fe318dfca8e62f4ae0c9717032f2c5d061751aa01f6b29e10a5d78e3bc1dc9a28a09580c708b9269a9719d3a7038dea322d7e1a3a6dc09ca4e0e26e9f83b784cfe0e1967a54fa1ba8897f4591f1030d80f5dd2dc378c67b980e793f538e8e6f42890c4bc204eb7283c8943a21b5100219ffff05581e03a8db12624d5ff205aa9384171a73c55bb9d1f7df9aaa5f786b4879e0500f014824c28325fb467400191bb702191bb6037dfbb6b20e7e28feb29fe50abe0dbbd13faa774e92dece31e864eab17a2b46b8030e4dd8f954076296ce60deeb43f7a8bf19fe83a1616d6ba02b68e84733a7e6b9038cfaffb36d330ef1132327a8c7fd2a70cb4b89d7973d8ff953b314c2b75febd70345b0663ed59335d316bd86fe195a7951b91eac14b59b40d9d08f90a28ed55a9b036b200e0acd3ca6bc86267b922ab49ca36b2e101029a72ac74756897a716f308603883a08146005be60142adee92769ac48f5e782915bba42b13c23af60f46a644e03a9a1c3cc349b13ee1b1ed5009e2d4b4c4902fdaea5e5102faf67de5b57d8cd2d035c56d0d43d90253c6edc96a2989d4e250f5ed0da9b82904030bcac94de4aa65303ddadaad0d9f4007d6ce049eb262ec16e61008c66509791d73473faf1a99e948d0219ffff03a36dd0624f9da3deff7a3a3207248d6a467d01a71d542f5b028f945aec4e2bc703667151572f50bc4b9838f5a7275a489c319b3f5569214ba2e0da2c620ebc0d5103f2fc74c4977d4622652cde84cf538d068aa5a9ce9630c000ccf2309c8eb803e903aa5b6ee18669ace2228d0a95476a0bbfb52d4dbd1b5cdcb2baed1726131b39b803f8075c7389ba895c1b9b2057b86af0f0af6d0a14e60e28e376df3aa32ec53e7403712ca3740a4dddf69b8078a553d8e7b043d454472b9e5c1d1a40afac92f7cbd8033d35aebdb00fde6f044210397481b7a8558280b41795ae52365c36eb121bc9aa031f04ddc17e6612bf980a0280cebb285e4eb9dcf241abfe8f1a0fccab9428889e0331101e4ef7fd1600b36ab94605bed0bcf80866c213956024cc2e1d382059fd8d03d0c45807ede0b8c7b0ab45f08c05c846e6d89595fd2b11e1101a56bffa55ce2f03a437389fa12289e6efbe86880457e2f3d5e4668282d6733b6bc30780b1699edd032e5d4f02c2c29ec8029b3d2c48382465438b8ee8d4aeb15e8b2d0c424e17c7f3031be4c91641f518ba923682438126e5917337d3be3485a17e21b115fbf77881ab0219ffff03cfb8c45d022da0ae9088e0e0761aa4f7739ace3c8c333705f108b12a73cd931603d242dc3224c63cdf440450e04b51f2e2de7395b2c6060e23e55b294823100938035ba41c342cfddb9b2c0051490462890e0dd06d6dbdd766e08bfeff9f1c0a4dcc0387128344a806459e047d4a69f52648ef5ffa89743e33ac23f005c71fec85b25e03176de0820bc7a117b2f6c5c5de4b330f053b6e3e327abf278435e46d55a3ddaa03fc8909408cef398adad783bfb40b04ecdd83a083b2bfec1e726a37e0095d1584039bb2829e1d05e232f7abf618901e55eb8492e76855d4abe24779ada49be08cdb033ce6b5dab0833e853104e52dabb264df2c60c3e48109f4af5bbb97c059daa3c603f928d56a6387f129d310bb01ba271b237599943689b0d3a50794b18c7df0e0080219ffff03020e95370bf66eebfc82b11c752b860d81a3dbe9ac6f2a76bfade7d0ce30bf9003d4e4c5761a6cf7cbe3cfecf344b503a6a09544db058063f1064a29595d7fc92703461b0d61a51c84535548bc362883f05e00c609cf92b4769fc2042c701ae64c8503016a95146fc8eb3e3c3e115352be4e962c59d65919edc99491b4e8cefb54969f035fd1927dac116276208a05abce8e4967c520f2ca90803d494971e80e69b0fbd40219ffff03f63388a92eb612e604c1909082117476266dc24f45c778120b24303213b3c4a903418c8ec49661410611badc1d86dcf8d5ac8b9894af2639a20453ea8df44a6237031319905e8789a48f48f9a077c2e15c0a63af528508ab911f378d86f9f21333aa03525de5b7a47e2c3adbaea7b23dec7a28e600d51df2b5c0f93be211741642274d0378e347c6974ec021cd370facfafba40bd43d0260378d594b2a0e25b6d4718d5c031924e6f12ba1e91b34d927581d44c60437b3d708ad7e49cef613b82260beb513033dedf617e9fd9cf06e643d25801bdee00df1f96270dc17d0ce1ce488b2c4616403ae0bbfac30f434fadc7dbb904c2930b7d928c190b9b554a3a51a4718b2bc3095030922eceff5f721e4fb9be761e8edb2cfafe304dcc1a5fc6a7b6251c88c804a4003307dcd8a7fb86a3c0df6151e5623ad69039057b129fa157a54ca5a29755a6ead0371345d8293f39dbd141c387ae08c983d61ce871d5c5f1ba9230ded8c16ac24c8038b2a8480b38e6aa45c41091f91b1ad1a453ec2c7e75ae45500db60dee3c62e8d0342f4c94c120d812a50996326864785d26b33f4fac43e623ef155558e0da44930038f86aba4b8261a4ae58f0905d27a42e4eaf8dcc4563f31737c05c5cdc42ed7a10358d4c528b3739a5878775c6a0f4d66142bd3d289d89759b72fc5e48724c94f68034955b903616db14bfe70df9094427581355f52fc101fd11dadc38a71d533536903d1dee00431e2f3e9521e18b447832444ccbacca2add79e236664ec2fbfe28a040300f50c70bf1ffb20ef8dc51c4633d48559164fd6ae584b7bc6830ffae240c4bd03ea340c8e9a62d7f69fd62a187425990439160699410421f34bb939ee6c8d727903273956062699c2672f33b5dcab41bc8203e91f85b5522c456433b51c5f515a8a037486fe8d21dc864c48db365ac96950017e4823c0ab16499fa1a38cba1d906a180340a020dc761a3fb5ec59465b88084758ba0bd45ba4ad810364b51d5ee36fb6d0031e1e6f6d6f2ef844c8d4b8b22f66dfab17cbeaf9d0aabf25b82a56a4cdb61bad03ee4b676de866344184e17c3d3c27e2e9acc0204e3a419f6a9e73d59b7e26715c0312ccf83d367884ce6300c4ab8d0ddb19594b348b612304cc3ec2dafe1fa0d24b03ef62db492eac676eff6008476b49a1e823e727183d31add44eac3719fd1b910603c7b5fb866e56b7a1633a0d408f8f4a98a5b3590657ad54536180718759cdc76503bc857dbb767533d2d2e165c25705f63ee5435942e2c085e0a864d16d6a45705b036f7dee563777b30db93a03cd81bef51bdd19c7a36ce0bcd2731b7ec7bf56d8b003407cf9dcc969749c1ab3f1e82784d1743a31b368d335f77cc746f22f0e9c5d90034f52c585afb43849edf0a937f4d36d988574a76350e018151984b39be50cbb0b05581e03eb228f0e9657dbcfc4175a31648900160a20ad4bb1b593f878476915b0040105581e03cde4c5db030c46e4de062f6b2629499be217267ad85ae5f0c9bab01b50040103296fa71f2e44d804d12d8d31fc59f716198f8096865cc624bbbf7d83164e52e705581e03ea46f50bf9558dca696fee9cb9925f26209f283ec5dcbeab4123d3d5600c184e470893b30052ce110365e4713ea40a0d9b0dbdb8d8378ae6545faedc726510a0aff4ae389b552b150b035d84a93368cecb0f0a0f1c0b80d5cd35e1c0285871adc53d7229a89506a13bcd05581e034c9e445b2befd506e83c406634d909b17904c39a41eba6acc7e59c8750040105581e03b98ab1bb3b9ba1934a32b8edbca9936e00ffa0e3a4d8de40acecfc73e00c0147037ad1fd49eb320368d47189f79e629c4d963e49f1ca8a597efc3819976ddccc2489ff0bc540b7240219077f035b225c33f502a8725c068a17654e8621f2ba133860a1a3fce56f78362e9aa20d03bb6bac086496fba846cd200e188bea011754425b43a6556536b2ab0269ede98b03d45eda0105cd56a01872817676c5ba05f5664397e1ae0e0db64653ca1b31b84f037bfc0c3ebfb5e8e5eb9db255ea1a074e55edcef975922c1697d56eb004cc219f030ae4d2b6dc2ddc5edf9495e2eb04829d0bbb8b9f43e5a5986d5bca88fed3776403fe652b7ee7d90de6f3777b8f4708128ff4935203db27983b12bfabfb3ff47b9b03baeda01df10a3fbe4f30308d63749876ece4b2b118fbcfeba6b2f1accfc169d20396a2f316c0c054cdcb8c95f64b90a85519d29c1c41d366c8f1f941b5f99579b303ae13aa9ebc2c723faf042850fa6052e771a8be130db853bb98130c93e43a395e03efe06a19df7dac018d3b6c9c891451f79b5dd96696f7e7a1502c0db605b7bc310219ffff0320576f10cc244836ec6a7e53cf1c43aab09e157dc0c5922b4efcfbbc1f1c013d035730833fcd48262cbf668e4f449890653b711b45a2c35a4e4343082e995670cd03233878b35986f0f4e98677f4888ea28c1dbdf602a728b6f8da253109c50a5a17036c7f6e9550b51275f96d8dd87ab0b8eeea8e1d7a78a68d3a4a7bf3f4db559a26036e0b0b1ea69cc32a3741b5894be6fc61932a5664c6b69daddb2bbff94e0474ad03cbcdeeb9b2cc1bd1c96b90bb26e55ab998c4d39a08db2150410d66ae642ed6de031664419ae528f7a61288ffad88e95c5ac8ffd9485e4ae18450393e15c1cf271a03fd70fb208473d674b2213cc401299bfefe6eda1029571af6ea3572f78207bc7003cd45700760d212919f54e15fec1e484990e486840413399ee94d2d8a98928d7403e80b46c0318da155401687ec2130c3139f73f8c566b13ee87e13636a67a01e3603111431fdbcebc1434686d103a8bd7cd4edb8b1652bde85abb17bc3d94fc2b31003695c0fc7315c6bbd532bb4a470fd0e29c678960080ff0b45476258d6a784120203cb3c001ef48a3c177d283bffb9814e7c1d336793d44c5969208307ff139515da032f0f7afa17cf7dc42087f86e261e26362adf881a7e7720331f42a04108fffa7a0340b4b0213e84ee519d51480a9ed62c19b16414a3ff09fb56420820a0a680a2890219ffff03a3d5eadf0b5a647a9cf3e69597ffebcdda68a5c67a2302fb73a0551cb6af3396037663aa3a6ba92db222ec586a98156f230e33aad45320679615b16768fefb3ff703b0212c8f882a6b5cdbb12eadc4be5ea256061cbec2dc06ff9001f4c68be949720219ffff0383f7fea49c4a51818b1bda4a0d91a72adef383079d6582194d15e96890dfc6bc03b7dd331653bd9036c132ec4bb48f64197c0ebd5a4056de125cf977c22cdda2770219ffff0325ab2fb638cd52aa594acb1b1e6a041708baf9a3165a5ca0961db1eb490868d303de04356c0b028fe1ef16b7de3c803a0d520c0a3bfb00051fba197f9c765c240f0328718307f07f2d13b4be65fba108604fac7793d07fd149d074389d03ebb7fec203e8a744911747d1fa5a27fbad6965be7c5c322e354d537653c4b55b40bd7f2818039f416f7f612a6adb42167d505451f550e4655bef44cf34e64a346d9debbee90303016e49d58c5727d954b9fb5c4ed72e0abd25e1c42a9d9821f638ebc337f2fcf10333a5f36202aa2a1a70a8ca298754026e1d6e6ddb49885874543231671ed64047038c95321cf9b9c20b85ed3425ca71e2ee7b52793cd961b4660d0fc789b1077e4603d8f33df5398b810cf1ddbeff4a50edd7f27f124b0ba87574c1ef2bc125f4a149033ac0f7f9b38974739cbf271895c4d12beca3e8a4a7aedb2d512dd25a6b4d6a670315c8aa9c16ee3316b4ca7b2e695881a7859e4a990fcbaf738ce8e5beee6cdc9a03927b29fbdb453bef0985eb2177ffdaf2b8109715f4e678c9fd59908597ad663d0375406fe46d7e8f988950e1cee384931da3c8ae1f125f0a48531f2d6da62bf08c0382572f4185a9226d4fd85a9ce8ef85c882d3c59ed0a25a6a9834fa8d7c74179a03e24cdadb22bb89f46d0f13013439eccecb3fa13a38bda3e850feab8312f28c9b03fe9cc16ece1cc80e62cb9ca0aeef51602d8de22c7c52aa43d8847b62732c214a0348e8c6398756e1b95ad412c6762ef2527f2286f463a8e3da04bc159b91323f4a0313e68772c82c87b7318a7b43bad76e3fc738519588a994e4fe227ec48fc36ecc03dc181c611a77ffa2d06700b7dc3aee4b047273ac601c22ccfe003f44d49904f803afc8dd50150c8ad640d2fdfda1e634cf4240930489c957427dce577dd8447e6c05581e03a2bb20488e630980d95536bfefbe7db78bb95a7d70563548d4be6c1e4004010376f1985921e2b6b67880a54a1e2480a2129273e15dc52d18aa0f16b70b3ec11205581e03bffefeb082dadd2781d59790f690b689077cdd889ce8a2e1d8c073c17008475c162d1ec67a740316f108a4abaa0ede1a93e29345aa39698d3794be8719f959e5ee5a779d8ace8b05581e03e05ab315f94de8b6847d17bb3eeb99056297e117cd46e11cd150f70e00040205581e03fe73f54f60acb1d7daca6e1019bb96fd0ce4db4d84bf4ab69ce3f6f0c0040205581d021d0397bb2f91febec60700b8e00b41f25946db6e3d080b5d6b4e578a0c024689638f85371c05581d0203551531d365d6a828257d5953a4dd715c34a02d1b636360bfaf7d23040105581d02e1e76d9fecff3e0e4d202847315c7078a5ca0608fd7504d3d793c0da0c0848048856e5eeec60d305581d02ae86d95f89c74bcdf2e3ed665c2b78f77e15922f71e2e738801c65420c18a44706dbf48686e71b0219440605581e037e54f8adcebc13f4e1e32126e488f22189a705248773c40b338c5b36300c01470690bc305e460005581e030745f1f60824ac37478a0c1714b7998c2cbe8f4df95f8fae7c1717d7500c01464def759d7d500309c29dabe7e21fd51ca91ce8c775a8825eb4b7e703e475bfaa1a2769ad75eb7702192d9f03833cf4da132ebe64fd3b4ab211ae81abfb37573208fde039c280282f2bb4422f039daeffde10449a40def26e76b630452d1dfa09e80be931bac6eccefc4c0ddf050325907df524985ebf8db4ead6bdfa1802b8b44cd1e0b18788454f8f24aa769b9a037ac2a0a9b08b0b5efb6e14d9844b66cb2c3a487cc3371942cdf6839f296396610359dbd4d97026f5659755a89ae9da1ad3816a21a5863fa20a40be105a456c1e8a03bc9fbfb37a3a009780caff91fbab47a28c22f7cd090eb1464980b6fb93cea051037bfceff8f29e90fee0932253c11c8d4295ee0d6330d51fdde82559cb05d7fca303e6fbec0950bd95bbcb64e42bac0f32f95cf524af2f74b15f3badccaf7046671a036a8a89006c3982969c464f7b8295ca80b72d0c3144392be22cc2962440b2b32d03816de79b7d9c008a8c50b2d574ed3762f8d2bc91da545bef02f8d2866e96fd6703ef66102d93b2c541c0001b5fdc8ff3d64bc7d3783e05f33857e53db04c28939a03025d480932a2ba145a1ca429d5c7cceaf8b7e49c528bd86592fa983af1bcc3680219ffff03d132014e2be816b170fcb0c494a86b88c8add16b931f3913c00634a2fe611a1d039f2acd69b21061680dabdc5add9c93157cc111b7ba19ca3fd98973a2554a16d703dcee16b5ee3b6604ec580fb6ec86d3286b2637c5721593bb892f2eea4a33d9f90321fa2c7b99ffe5fee65a0d93084bf56b185bdd40e0544bb6632e9226cdffee3a035510ad024312ab0d556aa165e63f4eeab5a165c73ba8b0de47629d5d1bacef6e0339a9ec0b357ce240d33770f6c1bfbb51ed025c38bae3fbd7a9e94d3ff4e8c928036bac0ca108c3f350a194e8b724a6e883ae658b78365bb6d65b6e5a5ae78ac60603d0beb331a7dc4e39ac264f83f718b6c93c7090baabb6d0b21b0dc044fd37eb2b034cfa842c5cb70a1ce1f5fa452b01f02d63f45ce07a2d967ab56d855195a1c8e003d811f3876cb976e5b49bcb79e3f0ca90277bf1ad970950992136ad935021a60b035ef382e9a6736a4b1e54980daee1b5c8c66b521e9bf7121626b18ef787d999280219ffff035886c5afd4fd279083e10610a50b152d46f62941f7af9e211aedf402cc8ce0a903310581f8417394c047976c40fa2bb4b9dcf535eeafe2c49b6f1540b9846c09ca034e550b5e19b64972ec0eb068c0b344ac161cbc1fa1ea0d992e8aa21808a5ba2c0219ffff03aa02cd95c22a374af84c7ec83fe327cf28a5f19892181afbd576f85690500aaa03811bd0d6004276672982766b151b26b1793a5538580d2c99b605427740e4f8b403f226c37ac8161d77dbdfcd1ad0cebb1c43b6e3547240359e0e6b6223180c393203c96fd1257f9611b9858fd71cae8c7cf73ad7dad9206e2aa63d24aadf7d6c4b0203b65ef7b8421075746a5557456de980598f3f2f1d94a8c087d01bbc679c62f1cb03722dc8b94324ff0033d48c902d0236acbb8ee66cdcff2338e510ad42e421ffa5037a9771b9558c54b127d2795fc416d7365856466d50b0e76ef22cde4f907618b303c683a6dbe3d365d84f7ad5e8e18ee6229266a822586e888c0933f3123a01295d03731b34ea78a5edc94e29c2220a84888bc339d1044aa4a0923f635dc3f7a9416e0307ecbfc244b663636cee02e0958c6937e76e3319fbf368d0bdc6eb53bd2075cf03bedce72eac1fcd32baa9b2d32112f99e366267362b0ce1876ddebd0e75937c9e0337fb52b94ea66e3501ed83d8cf6011b45fde765f1bef31ed64440785842eaa120364dbd5cbad7d5ae8ac6a5d448fe78504c5acc6df67b003f64836a92463785de603258d47a201181c7cf0a554ffd59d5f9748309b9b7497e1665e65cadd362b94c503ae4723bec8ed4a7b2e253b3c4106062741519b9968abde95c36f03a57a86039e0384a9cb227d62417abec4cc2186d6f48538d1f8bfb41b3b80e0f7f9d12366d60203a1a3367bf99135cb491f98655f85dd948c141388a286c78c3b81e07d75703063036dd426a4c00a1d781ed88e34b6a6c6f6355dd1f7094ed79f4a5bb27694dc5be903a6d595271fca7438fca50dc2396ff10742399fa0f5bdaaa291e884d16bf263f1030f3b01661d5292c8f87c660a2eaa3766ddebe9b793af7155091976ec56f2ab680378a5bdc1bb8273a581551c09fa132b9dfd272fe5a438594862123c1c0ab26b550359367d0309ac15dea039c37896006d05322d6d848346c751663115aef78fec7005581e035ee747c7ce4724848bab2133a54ac9c165be69f9603edfbb0634386cd00c02467c605cc5691005581e036afef574ab846035d727f68ff47123b76d14a71f5b0b30f3d31f5b6a100c054656d4d10c461005581e03fa69e594e07b4ccf668a2916f7ea2a2fa3cd0c051f8cada176eebb80b008470af59315eda50005581e0322ede31e6f3ca1ba9a421f25754feb3dd584d6182c2c69ac70b04820900c034802ded1f8ef26980005581e03e7e85b09bb3a088afe80da4e1845b056a1bc379a5752da205c2f6192a00c0947356bbd381bc60005581d029d302677373533ca3cac38ae7207822e2f8b435b3f875d731ba55a3f0c18bd48015c3369b6338de403b4d93e49c7d7e6f759acb42ae2c999f75a81d883f9fd08ed850ce232e2da1af605581d0231630ac6836e7bbd54a8c35c23bf51a48b48a439f27219b4a63769d808471ea759004884000219c01005581e0315ea3f7a0e32c14027cfc963b9fd91e89d545dcc583b5694731891e6a00c014709bd8fc694a800021965fc03cfe63aa572cba6da414635b6797a58b79fc93932f93fe734a9b83a11eb80728503552be3b14e038165ba0f77ba434662ce56de1ea12cb706ea0ba7b2561c64a7ef03b6afd1956c82028525d6bb66528a9bdf39a11231f6973e5c761ec755ae8b49db03dd6ff3b972c81cd85661bd140f3dbfefb071c684599abce7389dc34bba73057303d8ccbf477b703cfc8a72a8d7e0b5a614dcd65198d622e6761cbec88cc21be67903ef7053248e600daddd90578614d8ae59e59508167a0fd42b8b04112c1a9f0be703c7a902448db1e2b314430f189ea2d75fee086ef60c5e0eeb18c9f4b3a2becda003cd3d1bcf3f34c9dd969c3986e35c2e14e544d24966f249221b6ba6bf7fb23b1d0359dbe7c0ccc66c606e16e935ed391a9f0aae6416acfcde0acc8e23c9cb4f2470036a44138cccbf4092395b7e0a7a279b3786101e80a0d9004f940dfc19bcccb7de036812a4da4675c79a4c760c1d6522807cf526be57295bce056cc5e1dd6d0e8fb60301859440c323d108fba93066727ae53ec05d93fd7e833d4fcaf7f6a3197323bc03f19c3d966de148b02f0cb0953cf7d1de9afbd747d7ca4d787c7dee8ed0b5f48f03adce4624ca6ea246dc6dcaa572d8933cc1eb5596897935a25a48e7446200435b0219ffff0357e275ea15642e46fe309b9fd9d4e7471882f1d0c90cb5a5cfa769fc11e44c4003a59745e9526d0f8cb25d5ad65aafddda9cd1dea2e5aa1a83fc5dee95e62c6a5003dcdf815b679345ee0a24bc1bcfa37b42e5e1b1cd529cea367d68a657264737a4031bf9fa688595b3b9cea47fcf39e0f2ba15593717eee25c7fb36c4b5096656dc503b69ed5b716082b96bf87f1ce547a79ce5ff50c46885de04e7207a1f7e75d4e0a0319c46dc99fbf73e95804073ea5e63b13077f99cd29c48c361e035ce188d036120310161d52ef7ce782a6d5f885f5ddfd1bb372c10f880d3850f64604ab97be3963036c563d37d0ae5078a990184f3d82a212b7d199883b6b36c89f0eb5f6c1f280d1037f71ec6c0df830f19d4a810b47ab43d57adda70d2c88a19e3bac2920fe94e8dd03a5691f0dca051346bf1996405bef44f6d47ec4d47ab5a9db1a8f52c647d5b9e4031b7cf1fd32863d36d9692147a73257179cb4d0ca622c34b5ad60b54383044d3f031b7368908844fa5da7e63cfb4b3eb170d5304838b7227f5604983a67e9672b420219ffff03663459ab4a2dbb7dde63799551ff21c09436c7448ad6d01ca2e09f8bee3e60c8034ae63f7ff335676fe645795eaad83be3a4657f06b7483f51d55ad19bcbf41c620368dbeb87b8ac475eaab8e0817cc3b076d582c99c8755d3b3604452cf95b59f2c03d699dca57318a7a8c55351e76ceac9347b2735a177161ab4baa1ecf5d1007fd9035a4519934b8a544a594cdacb31378f97616b3cf6875f5030cc6019b4379f5e13033bccfe1abfbac0f0fc527536e648da2c29697a98cceffced1458c155ff618bb103d2936008ebc0cc76c5eb01cb4f8d54772eb9f797a2952fd23226fea8cf91b1f40219ffff0372cc602d330eabef9503b13d6e23081bbad5e5ad359d044fe6ca2d0f58267ea703293c9762fb4c44ac250faaea48bd69198e2ca8a4aad96998b61291a76981654903a165cca62f21067aeb11e24d45d624f1b3ed71dd5643961cfb738f74b27c908103a09954546573ccd7c094484bd4ce7abac8b3f5906224c5cf681af2e6eb765b5303e72667a65850b49febfe80fa1c1323de054b99cc0f1f36f8aa19a547b4f1856103a2069dc28ad2964696c1529dfa0fc3d1db18d075b93846f5a1f83e0b2297f4780219ffff03071a8c4e3e2818d3de948f77f7e1ec49df17c91c6d557432c82071b0a4e1be4c0376537dc3a65e716c147c8d69541a55e5e5921a4ab6fd30dc113ea6ff80b6179003caf0eec26d007b4cb237bf81e2ac49b4d108668e63962e752c314474317866d803e4ee82963b2a4a61c4e1a3fd32bcb5b39e70239e1d95c4097aad55f73ed2db2d031f7abb7086f8197be202a8fc91c400331fe7785e0702e37a71262bcae1713e5b0371996435a9dcbafe5b8c9e73002bb90335deb70954950974a61f08df3dcd9b3803d1cc2d813ed53a43872004f492fbaa8a22abb40f5bca9b3160a7290330a4c89d03814f4f3dcb51dec9fe1b8850ac4d293cf6c8f13690cf39fbd69b59548db413d303fa91417ff2d14abbf3b17566867a6ed9f4ea7f6ae49655bd4c6e012296c1754403c73b82816c4e56c1c3db6d2ee0bb1771d59537ec72e7cde5254055570b24bef303f6dc79cbfd13b9c29f9eb5e58168bded77a024a4686f4ce1b0d34ed08894aaa403ca55ada98aa889765812f658dbda6048120e9c2352980ade5055ff8eb2c493bf039784e2967c6578c8212b7f95c5977f5546f953a8dfa96a3b6103f9fdb0b14f4c03354ae952f7f85962e58f942eaf179e664bb8c3369c313e34045ad7e24de3b82803e2784feabfadbfe142eb24c254ef9ce228330e81b241bc275e35c573af40490c0371b4b8002e057ac4f92e20a3f9fdd73f2f67f653b11da31f3bd1fcbc6899dcac036b7715d29be94e4f13b63d2e5397343f2229bbc583008db0ca3bc031612c85a5037bcab9e18560e6c05f624fd3262b913cf5559c0b037bae3f3f4a7183bcba08fd035f78fbdf035c5e6e5b0889add66b399719b32d019cc4a1c12e080c3c1da2981a034ed5c4a9648264d18a003fb4909a22907b41d65ae61feaa9e96c0420edca2c7f032cb10019fca1850db52432c14a442f3e48c09f6fdf41740af826daac5decdaf80300625197cd9f728d1067b990e6b72d2d0c839e9b021cebbf86bb94789073c44b03028eabae826e70e753cbd79df70ba4a80ef49f73c948c420c102fc016f02d2d003641b775ce58c9cdf655acb53eac2827579d3eb56001311ba32e90f495c17cdd2038b77f3283ad34239cd43d3eb8a1b8952d2e07c77e1a7d888d507e4819689d07c03b1491235a0a9dbca7f8f271977702f9952eeb4c0ee6e3279f7f68b1eab90cb4d03686f0e035aad46876d1822438e48e31d2d8a87a014d18b6bcf58acd3f44aec670322649f131c38bd208912bc14cdd00e44f19724ba88e1dc2011a18ee5914ac28203f3caf3371e9245d894e05eac9d94b23d5406683662b77a1ed190efb3d353073b033466fb71b53732a3a4458b34735fff8f3a188de64f50e18f400a4b9cb28d1e2e039e644c15a64ad0faef6fbc8f8e96e5db60104985f91e5f8bed0f236b44dccda503e9c81509b965a4b7a91d8da7ed13703d33a906fb636fedde8b6e04b2bee2a53205581e03b4a11e2de76ffab009ef1461e62b77af0e7fd05601dd858718fd6fec000c0c470489da071a6238032397ebb7239690166275361cd2ea6d744bb1a2b02c83722019e7f774a6ff15be03ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03bc1b8115179114d02a68cfb38ecc2368e7593b9d81c53d140615002b3007011bffffffffffffffff0360daee217f5575e8ec1550c4189d19fb2d84bfe3c6dfcc58e280283e79a9f85c034e76ab3077a3a03c15daa6a51af4b9a3cf6944e7a4bde175a9039d302f04388605581e03d2406e3f06e2d194f125491f791a57474d319eda1564f7126262a9453007011bffffffffffffffff05581e03fcd517d5752fb95c5ed8db8ae485219851a9ccb448f2ec5359eddf39d00c044680e369ddb50805581e03c3d803af6458362ee3fe8f402da2a196ec75744ec9e81975d3bbff49a00c0347027fc5c23feaf805581e0326740ca7604adba03ff6416769e333ad28a5b022b1da89ddba06b780100c024232c805581e03311d90d85d14d998fb298a318ce0a00f85d84218a48c8b5d863cecab100c02474501f146ddbf9805581e03a732c434150bf84b64f7b140d4d01b2befe32df9831ca964c438b68df0040105581d02bccbef431b663874b69cff8c81ff3cdc328c806ff434032324d1f6270c1548046364d46f44749105581d02a565c27d4fd3bca130b55e3e19344aa4951ac6d66407fc9db29272380c054720d93638ee8b06021930000219ba2f0219ffff03ad481f53c181a5266269b242404ff1805b6e56896381e69e3253b4121ddaf75b03d90cab72a444bafc10cb4fb130cb6edcad30b879c82e37b74f0a6d2c7720e6770356d2e624a1f72a4af5ae5cab2fa58cd7088c943fad6c640c33be5a925312432203cbfa5a968e1fd6a6692cd6755a6dc5a0010018d84adf5fd328940dd32e6c1e0803a3a1bd078278ccb46ad5c6ba1e909a3b8d063c7bb3875b6c1fb7aeebe9a6ec6a03a2945b578d05b32233def6bec5a5275362b3ccc48e5c995070028140865800450329b491c83915c43968454a7d6555fa92bb3333457590c054e8deb6e57e0432b4032dc29495ededac3ce4dbf5f6f79501a555cf1fd4602cc8ac8eea7bc4ab0cf686039e22b6e9f33d6783b3510f88b095a53b8a87d351ed3f7fbd0fd31df0fa7fe0d8034f49c3533dfe6efc575a7c1d8fe958657c877ec3dd9daf41f22980843277717b0219ffff0311af4a78c7b9e487d828dea806792cb16c27838908958bed21a97b9f08fa906f031bfc20ab29028b981b34e6e9f7905b0093c60bbdbcd273380d6edd8a617d33f003595ccaf4147069962ae3336e15a5e0ab830b836f0c9131711f4c313ec6d549a2032add9d4359dc698ddd2960880e9476ae3dee64da31d4a9de6e649e75b28aa49c03d1afac7a01caf73e046433e2970d27972c3c24f68ebba309187cc63e2b03f96003a7cd8ccf9e5ab70221a41c882977146c8948c1b2071f8c363cbc3b2a20877ea7033569822cb294b9cb82088ec9f37561935c88ce405c785641d28f80f545b4f7710329aae6ba75bd0cf39319ff1097b741296f2dbad84a78c61a8bab45120239569303f8fa23f9f89325e5a43c21bef72821c13f44e6245af8c44e20df27751ac2851403b4fc790446d6665ea3bc8830dbc489fa440707aef04ca266b12a5698d4cee49503997c139d593c4822b61c89fc4f3ba01f42f097b33d68fd1148a8162188c092ee03e9aa6c63a72e73e19da8aa1031581b7cf2aa80644fe50cb99ff7a8e18d23f17c030e062c215246e4f2ef5489857b0f8e9d016bf2c4d516d60965f0d74521f9d6cc0219ffff0341db5a3c0fdfba8b0d13f44f9219e4635b3f90ac1c55e460a44c6846b9166bd5038255a18f0a058faae0f41c4f2b905a9a1b79341b62411d5be831ed06fe916cf80306601292c01d4d05821fb02e49fce611632409e97791f01c612daebe4338c145032625fa79d1451047aa86e405b493bc38aa5fb0f73c323cfe2ff8ca048ef48bae03a9a4e7c9593f4b5fc0fa0e2936d7c3fbda95fbd96433462b81f77fc1ca4728f50219ffff03e30d53c3cf0c579c3147b1a1d58edc914532dd41bc93e5a2454c7f7da0fc3319034d48b9f27473d4b479602866da17d272f11a721d9a02e493b78adc892ee5df8703f27aff2299eb9ba77e48311d49853b1311fc990af940a15d58fb4c32f9d1e586035f6d38e35cefecaae3340fa9b7594766457427e9289880430284e63bebb23daf03e43661f196b8060d5696e1b47cbf9c7e3c871b6ef1b634beaa6220b79ca099fe03531ad8dcf0f381384855691f41783083389aa2b3db19122027410651f07f69a003fdd1d19b995a1bbe87112a78ad6466793972e1baf81642df4459ba275141e65a03953179a88cf8cbb396b3c62e2cfc7a7f99ca313b6c07f32cfe8b00fb35f000570354377ef2ec4d08f59d15c8780058eb43263cc2e4d696abc044180efb96b43fa20335beef65889f6729ec0d2ac62559f71030200c28533c9c6d25c4e38103092e3f033493524efc41864b25c677bbf951c589f144c3d90ef0871d3decf09639f5e509037c37e0ae034a2716f9a943175d03482d1bee9252d6525f0a61aea0fc1c9f3f7503c9c09f395308ab34baa12d554e4cac11684d8283dcb92f4eaf8a3f6bec6171f2038aed463d285bcf4e5096774877c38547a72fd0f0d348b2520e0f197509679fd003b574d4641032dedb0dfe76c4b78c2d2496197f067eb52d7c6107162fbb179713035180cb1cafe9184dd4537b9023e450c74b088cfd0ceb6588e4e14f6e1002be17037096515543caae191e42447f79a81c5cc3dfecfa71f447a37f1283f46990f7ee03c83229e5d246b5fc4c80762ab441f29b490706c213c18958568889d97f16daaf0366d15f0f91564d5d2f4b2c91bda81c699433b0ff14b06723b0cef9d4f89bad7a03c285bed69d21887f4ac9b8d33287b7728b201bf53fcad48d3aea874ef22e400b03678824a93c335912536bca4e36eea3fa768236e7f348a4d803cf70da71f0a20303429290a1b6a4fc01fb3d78b48638fce5347e345b8cdcc2f5fcaafbf16005ba4f0318adb7f3bd6ee1a0fb7e9d6e4d7ddef3d38d6f44298d3db59c3e204d1304ebe9031672567a5145dbcc135ce37b0f3a046a2d029d1592365b59543b0dca6d0b2d2a0341ef68baafe802bc3da72d8b1f5f06fec917b71042ae9b134caf086e8e257de905581e0349cf43e40db32a7ff5a832c24272a15689ba0c25c643e16ca9f2109bd00405039f7e1311109d2d42c1fbb18508feeb38f76dee5574beac1f901c1fa309228c250374c4a23fb6c061759f17a71740e9076ad89cf049295f04087ac5b0aabfa9c3c605581e03cb7a2e0b137ac64b574e7ed99b5dfe432c087c190a677a5b89ca9c8670040205581d029f2078f3657648f3afda2aec278398eee06d18575042dbabec9ce1e00c044745a01dace6c96804592d186080604052600436106101b45760003560e01c806370000000116100ec578063b9b4aacd1161008a578063e98d8c3a11610064578063e98d8c3a146104a5578063ed83cd0b146104c5578063fa461e33146102bf578063ff04e9b4146104e557600080fd5b8063b9b4aacd14610445578063c7137f5e14610465578063e14770621461048557600080fd5b80638d690bab116100c65780638d690bab146103d2578063999895db146103f2578063a000000014610412578063b8443aa71461042557600080fd5b806370000000146103975780637ecac20b146103aa578063824a811d146103ca57600080fd5b806323a69e75116101595780633ccfd60b116101335780633ccfd60b146103125780634b8492611461032757806353b03a83146103575780635ca7ab591461037757600080fd5b806323a69e75146102bf5780632de6ca25146102df5780633c000000146102ff57600080fd5b80630b93a9de116101955780630b93a9de1461022c57806315e2b6cd1461025c5780631f0000001461027c5780631fce50961461028f57600080fd5b806002146101c057806069146101d5578062f750e2146101e857600080fd5b366101bb57005b600080fd5b6101d36101ce3660046123b8565b610505565b005b6101d36101e336600461241f565b6105af565b3480156101f457600080fd5b5061021861020336600461247c565b60046020526000908152604090205460ff1681565b604051901515815260200160405180910390f35b34801561023857600080fd5b5061021861024736600461247c565b60026020526000908152604090205460ff1681565b34801561026857600080fd5b506101d361027736600461247c565b610644565b6101d361028a3660046124a0565b61068f565b34801561029b57600080fd5b506102186102aa36600461247c565b60036020526000908152604090205460ff1681565b3480156102cb57600080fd5b506101d36102da366004612543565b61092d565b3480156102eb57600080fd5b506101d36102fa3660046125c3565b610941565b6101d361030d3660046125dc565b6109d3565b34801561031e57600080fd5b506101d3610a68565b34801561033357600080fd5b5061021861034236600461247c565b60016020526000908152604090205460ff1681565b34801561036357600080fd5b506101d361037236600461247c565b610b08565b34801561038357600080fd5b506101d3610392366004612683565b610b53565b6101d36103a53660046126ef565b610cee565b3480156103b657600080fd5b506101d36103c536600461247c565b610f94565b6101d3610fdf565b3480156103de57600080fd5b506101d36103ed36600461247c565b611049565b3480156103fe57600080fd5b506101d361040d36600461247c565b61109b565b6101d361042036600461241f565b6110e6565b34801561043157600080fd5b506101d361044036600461247c565b61117d565b34801561045157600080fd5b506101d361046036600461247c565b6111b0565b34801561047157600080fd5b506101d3610480366004612790565b6111e3565b34801561049157600080fd5b506101d36104a03660046127bc565b611338565b3480156104b157600080fd5b506101d36104c036600461247c565b61141d565b3480156104d157600080fd5b506101d36104e036600461247c565b61146f565b3480156104f157600080fd5b506101d36105003660046127fd565b6114a2565b34431461052d5760405162461bcd60e51b815260040161052490612897565b60405180910390fd5b33600090815260016020526040902054606086901c9060ff166105625760405162461bcd60e51b8152600401610524906128b2565b6001600160a01b03811660009081526003602052604090205460ff1661059a5760405162461bcd60e51b8152600401610524906128cd565b6105a7868686868661159d565b505050505050565b3443146105ce5760405162461bcd60e51b815260040161052490612897565b33600090815260016020526040902054859060ff166105ff5760405162461bcd60e51b8152600401610524906128b2565b6001600160a01b03811660009081526003602052604090205460ff166106375760405162461bcd60e51b8152600401610524906128cd565b6105a7868686868661170c565b6000546001600160a01b0316331461066e5760405162461bcd60e51b8152600401610524906128e8565b6001600160a01b03166000908152600260205260409020805460ff19169055565b3443146106ae5760405162461bcd60e51b815260040161052490612897565b336000908152600160205260409020548b9060ff166106df5760405162461bcd60e51b8152600401610524906128b2565b6001600160a01b03811660009081526003602052604090205460ff166107175760405162461bcd60e51b8152600401610524906128cd565b416001600160a01b038316146107535760405162461bcd60e51b81526020600482015260016024820152604360f81b6044820152606401610524565b600087136107875760405162461bcd60e51b81526020600482015260016024820152604760f81b6044820152606401610524565b61271084106107bc5760405162461bcd60e51b81526020600482015260016024820152602160f91b6044820152606401610524565b6000806107cd8e8e8e8e8e8a611954565b9092509050600089670de0b6b3a76400006107e88b86612919565b6107f28b86612919565b6107fc919061294f565b610806919061298c565b610810919061294f565b9050600081136108465760405162461bcd60e51b81526020600482015260016024820152601360fa1b6044820152606401610524565b600061271061085589846129ba565b61085f91906129d1565b9050478111156108c457604051600090419047908381818185875af1925050503d80600081146108ab576040519150601f19603f3d011682016040523d82523d6000602084013e6108b0565b606091505b50509050806108be57600080fd5b5061091b565b604051600090419083908381818185875af1925050503d8060008114610906576040519150601f19603f3d011682016040523d82523d6000602084013e61090b565b606091505b505090508061091957600080fd5b505b50505050505050505050505050505050565b61093b600585858585611ced565b50505050565b3360009081526002602052604090205460ff166109705760405162461bcd60e51b8152600401610524906129e5565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156109bf57600080fd5b505af11580156105a7573d6000803e3d6000fd5b3443146109f25760405162461bcd60e51b815260040161052490612897565b33600090815260016020526040902054859060ff16610a235760405162461bcd60e51b8152600401610524906128b2565b6001600160a01b03811660009081526003602052604090205460ff16610a5b5760405162461bcd60e51b8152600401610524906128cd565b6105a78686868686611ea2565b6000546001600160a01b03163314610a925760405162461bcd60e51b8152600401610524906128e8565b600080546040516001600160a01b039091169047908381818185875af1925050503d8060008114610adf576040519150601f19603f3d011682016040523d82523d6000602084013e610ae4565b606091505b5050905080610b055760405162461bcd60e51b815260040161052490612a00565b50565b6000546001600160a01b03163314610b325760405162461bcd60e51b8152600401610524906128e8565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314610b7d5760405162461bcd60e51b8152600401610524906128e8565b828114610b8957600080fd5b6000805b82811015610bc357838382818110610ba757610ba7612a1b565b9050602002013582610bb99190612a31565b9150600101610b8d565b50604051632e1a7d4d60e01b81526004810182905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b158015610c1157600080fd5b505af1158015610c25573d6000803e3d6000fd5b5050505060005b828110156105a7576000868683818110610c4857610c48612a1b565b9050602002016020810190610c5d919061247c565b6001600160a01b0316858584818110610c7857610c78612a1b565b9050602002013560405160006040518083038185875af1925050503d8060008114610cbf576040519150601f19603f3d011682016040523d82523d6000602084013e610cc4565b606091505b5050905080610ce55760405162461bcd60e51b815260040161052490612a00565b50600101610c2c565b344314610d0d5760405162461bcd60e51b815260040161052490612897565b336000908152600160205260409020548a9060ff16610d3e5760405162461bcd60e51b8152600401610524906128b2565b6001600160a01b03811660009081526003602052604090205460ff16610d765760405162461bcd60e51b8152600401610524906128cd565b416001600160a01b03831614610db25760405162461bcd60e51b81526020600482015260016024820152604360f81b6044820152606401610524565b60008613610de65760405162461bcd60e51b81526020600482015260016024820152604760f81b6044820152606401610524565b6127108310610e1b5760405162461bcd60e51b81526020600482015260016024820152602160f91b6044820152606401610524565b600080610e2d60058e8e8e8e8e611f9b565b9092509050600088670de0b6b3a7640000610e488985612919565b8a610e5287612a44565b610e5c9190612919565b610e66919061294f565b610e70919061298c565b610e7a919061294f565b905060008113610eb05760405162461bcd60e51b81526020600482015260016024820152601360fa1b6044820152606401610524565b6000612710610ebf88846129ba565b610ec991906129d1565b905047811115610f2e57604051600090419047908381818185875af1925050503d8060008114610f15576040519150601f19603f3d011682016040523d82523d6000602084013e610f1a565b606091505b5050905080610f2857600080fd5b50610f83565b604051600090419083908381818185875af1925050503d8060008114610f70576040519150601f19603f3d011682016040523d82523d6000602084013e610f75565b606091505b505090508061091b57600080fd5b505050505050505050505050505050565b6000546001600160a01b03163314610fbe5760405162461bcd60e51b8152600401610524906128e8565b6001600160a01b03166000908152600360205260409020805460ff19169055565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561102e57600080fd5b505af1158015611042573d6000803e3d6000fd5b5050505050565b6000546001600160a01b031633146110735760405162461bcd60e51b8152600401610524906128e8565b610b05816001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b031633146110c55760405162461bcd60e51b8152600401610524906128e8565b6001600160a01b03166000908152600460205260409020805460ff19169055565b3443146111055760405162461bcd60e51b815260040161052490612897565b33600090815260016020526040902054859060ff166111365760405162461bcd60e51b8152600401610524906128b2565b6001600160a01b03811660009081526003602052604090205460ff1661116e5760405162461bcd60e51b8152600401610524906128cd565b6105a7600587878787876120d7565b6000546001600160a01b031633146111a75760405162461bcd60e51b8152600401610524906128e8565b610b05816122ba565b6000546001600160a01b031633146111da5760405162461bcd60e51b8152600401610524906128e8565b610b05816122de565b33600090815260026020526040902054829060ff166112145760405162461bcd60e51b8152600401610524906129e5565b6001600160a01b03811660009081526004602052604090205460ff166112605760405162461bcd60e51b81526020600482015260016024820152601d60fa1b6044820152606401610524565b604051632e1a7d4d60e01b81526004810183905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b1580156112ad57600080fd5b505af11580156112c1573d6000803e3d6000fd5b505050506000836001600160a01b03168360405160006040518083038185875af1925050503d8060008114611312576040519150601f19603f3d011682016040523d82523d6000602084013e611317565b606091505b505090508061093b5760405162461bcd60e51b815260040161052490612a00565b33600090815260026020526040902054839060ff166113695760405162461bcd60e51b8152600401610524906129e5565b6001600160a01b03811660009081526004602052604090205460ff166113b55760405162461bcd60e51b81526020600482015260016024820152601d60fa1b6044820152606401610524565b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820184905284169063a9059cbb90604401600060405180830381600087803b1580156113ff57600080fd5b505af1158015611413573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b031633146114475760405162461bcd60e51b8152600401610524906128e8565b610b05816001600160a01b03166000908152600260205260409020805460ff19166001179055565b6000546001600160a01b031633146114995760405162461bcd60e51b8152600401610524906128e8565b610b058161232d565b6000546001600160a01b031633146114cc5760405162461bcd60e51b8152600401610524906128e8565b60005b8581101561150e576115068787838181106114ec576114ec612a1b565b9050602002016020810190611501919061247c565b6122de565b6001016114cf565b5060005b838110156115515761154985858381811061152f5761152f612a1b565b9050602002016020810190611544919061247c565b6122ba565b600101611512565b5060005b818110156115945761158c83838381811061157257611572612a1b565b9050602002016020810190611587919061247c565b61232d565b600101611555565b50505050505050565b6001600160a01b03841663095ea7b373ba12222222228d8ba445958a75a0704d566bf2c86115cc856001612a31565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561161257600080fd5b505af1158015611626573d6000803e3d6000fd5b50506040805160c081018252888152600060208083018290526001600160a01b03808b1684860152891660608085019190915260808085018a90528551808401875284815260a086015285519081018652308082529281018490528086019290925281019190915291516352bbbe2960e01b815273ba12222222228d8ba445958a75a0704d566bf2c894506352bbbe2993506116c9929086904290600401612aa6565b6020604051808303816000875af11580156116e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a79190612b84565b600080869050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611753573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117779190612bb4565b509150915087156117a65761179f87826001600160701b0316846001600160701b0316612354565b93506117c6565b6117c387836001600160701b0316836001600160701b0316612354565b93505b858410156117fa5760405162461bcd60e51b81526020600482015260016024820152603760f91b6044820152606401610524565b60405163a9059cbb60e01b81526001600160a01b038a811660048301526024820189905286919082169063a9059cbb90604401600060405180830381600087803b15801561184757600080fd5b505af115801561185b573d6000803e3d6000fd5b5050505088156118d957604080516020810182526000808252915163022c0d9f60e01b81526001600160a01b0387169263022c0d9f926118a2928a92913091600401612c04565b600060405180830381600087803b1580156118bc57600080fd5b505af11580156118d0573d6000803e3d6000fd5b50505050611948565b604080516020810182526000808252915163022c0d9f60e01b81526001600160a01b0387169263022c0d9f92611915928a913091600401612c04565b600060405180830381600087803b15801561192f57600080fd5b505af1158015611943573d6000803e3d6000fd5b505050505b50505050505050505050565b6000806000889050806001600160a01b0316637464fc3d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561199a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119be9190612b84565b84146119f05760405162461bcd60e51b81526020600482015260016024820152606b60f81b6044820152606401610524565b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a559190612bb4565b50915091508915611afa57806001600160701b03168811611a9c5760405162461bcd60e51b81526020600482015260016024820152607360f81b6044820152606401610524565b6103e5611ab26001600160701b0383168a612c3b565b611abe906103e86129ba565b611ac891906129d1565b945084891015611ad6578894505b611af385826001600160701b0316846001600160701b0316612354565b9350611b90565b816001600160701b03168811611b365760405162461bcd60e51b81526020600482015260016024820152605360f81b6044820152606401610524565b6103e5611b4c6001600160701b0384168a612c3b565b611b58906103e86129ba565b611b6291906129d1565b945084891015611b70578894505b611b8d85836001600160701b0316836001600160701b0316612354565b93505b60405163a9059cbb60e01b81526001600160a01b038c811660048301526024820187905288919082169063a9059cbb90604401600060405180830381600087803b158015611bdd57600080fd5b505af1158015611bf1573d6000803e3d6000fd5b505050508a15611c6f57604080516020810182526000808252915163022c0d9f60e01b81526001600160a01b0387169263022c0d9f92611c38928a92913091600401612c04565b600060405180830381600087803b158015611c5257600080fd5b505af1158015611c66573d6000803e3d6000fd5b50505050611cde565b604080516020810182526000808252915163022c0d9f60e01b81526001600160a01b0387169263022c0d9f92611cab928a913091600401612c04565b600060405180830381600087803b158015611cc557600080fd5b505af1158015611cd9573d6000803e3d6000fd5b505050505b50505050965096945050505050565b60018501546001600160a01b03163314611d2f5760405162461bcd60e51b81526020600482015260036024820152623bba3360e91b6044820152606401610524565b6001850180546001600160a01b03191630179055600080611d5283850185612c4e565b915091508015611dfd578654861315611d915760405162461bcd60e51b81526020600482015260016024820152606f60f81b6044820152606401610524565b6000875560405163a9059cbb60e01b81523360048201526024810187905282906001600160a01b0382169063a9059cbb90604401600060405180830381600087803b158015611ddf57600080fd5b505af1158015611df3573d6000803e3d6000fd5b5050505050611594565b8654851315611e325760405162461bcd60e51b81526020600482015260016024820152606f60f81b6044820152606401610524565b6000875560405163a9059cbb60e01b81523360048201526024810186905282906001600160a01b0382169063a9059cbb90604401600060405180830381600087803b158015611e8057600080fd5b505af1158015611e94573d6000803e3d6000fd5b505050505050505050505050565b6001600160a01b03841663095ea7b386611ebd866001612a31565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b158015611f0357600080fd5b505af1158015611f17573d6000803e3d6000fd5b5050604051638201aa3f60e01b81526001600160a01b03878116600483015260248201879052858116604483015260648201859052600019608483015288169250638201aa3f915060a401600060405180830381600087803b158015611f7c57600080fd5b505af1158015611f90573d6000803e3d6000fd5b505050505050505050565b6001860180546001600160a01b0319166001600160a01b03878116918217909255848855604080519284166020840152861515838201528051808403820181526060840191829052630251596160e31b90915260009283928992909163128acb08916120119130918c918c918c91606401612c83565b60408051808303816000875af115801561202f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120539190612cbe565b60018b015491945092506001600160a01b031630146120985760405162461bcd60e51b81526020600482015260016024820152600f60fb1b6044820152606401610524565b8854156120cb5760405162461bcd60e51b81526020600482015260016024820152607960f81b6044820152606401610524565b50965096945050505050565b6001860180546001600160a01b0319166001600160a01b0387169081179091558387558590600090819063128acb08308989816121285773fffd8963efd1fc6a506488495d951d5263988d2561212f565b6401000276a45b604080516001600160a01b038c1660208201528e15158183015281518082038301815260608201928390526001600160e01b031960e089901b1690925261217d959493929190606401612c83565b60408051808303816000875af115801561219b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bf9190612cbe565b60018b015491935091506001600160a01b031630146122045760405162461bcd60e51b81526020600482015260016024820152600f60fb1b6044820152606401610524565b8854156122375760405162461bcd60e51b81526020600482015260016024820152607960f81b6044820152606401610524565b861561227e578461224782612a44565b12156122795760405162461bcd60e51b81526020600482015260016024820152606d60f81b6044820152606401610524565b611f90565b8461228883612a44565b1215611f905760405162461bcd60e51b81526020600482015260016024820152604d60f81b6044820152606401610524565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b60005460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529082169063095ea7b390604401600060405180830381600087803b15801561102e57600080fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b600080612363856103e56129ba565b9050600061237184836129ba565b9050600082612382876103e86129ba565b61238c9190612a31565b905061239881836129d1565b979650505050505050565b6001600160a01b0381168114610b0557600080fd5b600080600080600060a086880312156123d057600080fd5b8535945060208601356123e2816123a3565b935060408601356123f2816123a3565b94979396509394606081013594506080013592915050565b8035801515811461241a57600080fd5b919050565b600080600080600060a0868803121561243757600080fd5b8535612442816123a3565b94506124506020870161240a565b93506040860135925060608601359150608086013561246e816123a3565b809150509295509295909350565b60006020828403121561248e57600080fd5b8135612499816123a3565b9392505050565b60008060008060008060008060008060006101608c8e0312156124c257600080fd5b8b356124cd816123a3565b9a506124db60208d0161240a565b995060408c0135985060608c0135975060808c01356124f9816123a3565b965060a08c0135955060c08c0135945060e08c013593506101008c013592506101208c013591506101408c013561252f816123a3565b809150509295989b509295989b9093969950565b6000806000806060858703121561255957600080fd5b8435935060208501359250604085013567ffffffffffffffff8082111561257f57600080fd5b818701915087601f83011261259357600080fd5b8135818111156125a257600080fd5b8860208285010111156125b457600080fd5b95989497505060200194505050565b6000602082840312156125d557600080fd5b5035919050565b600080600080600060a086880312156125f457600080fd5b85356125ff816123a3565b9450602086013561260f816123a3565b9350604086013592506060860135612626816123a3565b949793965091946080013592915050565b60008083601f84011261264957600080fd5b50813567ffffffffffffffff81111561266157600080fd5b6020830191508360208260051b850101111561267c57600080fd5b9250929050565b6000806000806040858703121561269957600080fd5b843567ffffffffffffffff808211156126b157600080fd5b6126bd88838901612637565b909650945060208701359150808211156126d657600080fd5b506126e387828801612637565b95989497509550505050565b6000806000806000806000806000806101408b8d03121561270f57600080fd5b8a3561271a816123a3565b995061272860208c0161240a565b985060408b0135975060608b013561273f816123a3565b965060808b013561274f816123a3565b955060a08b0135945060c08b0135935060e08b013592506101008b013591506101208b013561277d816123a3565b809150509295989b9194979a5092959850565b600080604083850312156127a357600080fd5b82356127ae816123a3565b946020939093013593505050565b6000806000606084860312156127d157600080fd5b83356127dc816123a3565b925060208401356127ec816123a3565b929592945050506040919091013590565b6000806000806000806060878903121561281657600080fd5b863567ffffffffffffffff8082111561282e57600080fd5b61283a8a838b01612637565b9098509650602089013591508082111561285357600080fd5b61285f8a838b01612637565b9096509450604089013591508082111561287857600080fd5b5061288589828a01612637565b979a9699509497509295939492505050565b6020808252600190820152603160f91b604082015260600190565b6020808252600190820152603f60f81b604082015260600190565b6020808252600190820152606160f81b604082015260600190565b6020808252600190820152602160f81b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820260008212600160ff1b8414161561293557612935612903565b818105831482151761294957612949612903565b92915050565b818103600083128015838313168383128216171561296f5761296f612903565b5092915050565b634e487b7160e01b600052601260045260246000fd5b60008261299b5761299b612976565b600160ff1b8214600019841416156129b5576129b5612903565b500590565b808202811582820484141761294957612949612903565b6000826129e0576129e0612976565b500490565b6020808252600190820152603b60f81b604082015260600190565b6020808252600190820152603360f91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561294957612949612903565b6000600160ff1b8201612a5957612a59612903565b5060000390565b6000815180845260005b81811015612a8657602081850181015186830182015201612a6a565b506000602082860101526020601f19601f83011685010191505092915050565b60e08152845160e08201526000602086015160028110612ad657634e487b7160e01b600052602160045260246000fd5b61010083015260408601516001600160a01b03166101208301526060860151612b0b6101408401826001600160a01b03169052565b50608086015161016083015260a086015160c0610180840152612b326101a0840182612a60565b915050612b72602083018680516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b60a082019390935260c0015292915050565b600060208284031215612b9657600080fd5b5051919050565b80516001600160701b038116811461241a57600080fd5b600080600060608486031215612bc957600080fd5b612bd284612b9d565b9250612be060208501612b9d565b9150604084015163ffffffff81168114612bf957600080fd5b809150509250925092565b84815283602082015260018060a01b0383166040820152608060608201526000612c316080830184612a60565b9695505050505050565b8181038181111561294957612949612903565b60008060408385031215612c6157600080fd5b8235612c6c816123a3565b9150612c7a6020840161240a565b90509250929050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a06080820181905260009061239890830184612a60565b60008060408385031215612cd157600080fd5b50508051602090910151909290915056fea2646970667358221220ea0b2935ab7ac4a8ee8981ebf9e7f7a60bc53ae297bd422ea8d11e1b815777e064736f6c6343000818003303e6a9dcf2c1119ba417b3aab10cfbe9598dc432d32602280419a1c712433232390396e7b6df656c08c35349e492720b4666f375cf3268adcb1277d3abc4c0b8e24903146e6ff4246eb08a36e1358f5fee5e2a9bcb4076a42925067c50a39f4c5189dd030c721216ee24d11f47a6c406c15449afc02b1b002d94b115bbaebab8df9bde6003858fe39d7b7c746473b42e44ea668dd72aed35af1960194314fc52b454d544d203538b6cd8c372958c4e1543e646eaacfadffd0d9ab5850ab08d41ca26bede9acd005820026816d624555861ad1b30ae69ac8ec1ef40f6ee2298f41f709103173f3ed5bf410100582002954f01ecaf793e3e31892aec946fbd11df18b818a5f3890b74c45dc253bfa14101005820021f2fae2bc1ccdd9dc943ff851fe8f85b2eea0899206cca942a2aa37b6651eb4101030be603ef75e68a5639064ec61f827a0256ddc6d5ee71ece143c0dbc6a1820dc20058200247d6771a3ec964564328eb0da7eb6220a120cb587f3a3bba9546fc97152bb0410100582002d4481500148b6ac6c664f3bb62fb0b92d8e85f358da5dc4d7b5d1c1d970581410100582003cdfb8b1afd2d22a55e76d3848c15db11fde0e7bf5d02600d7fdf983d7a7ed0410100582003517f7a2c9dff9056bcf0bae4fa15190b64d93b3c3b93241fe115a65698ab50410102183003e1738d9eea0b58ae46f0c8d37d6995697bec93ba1adf56121643761eb9e17d62021932f8036e5d04d58cf5a5a86dd6ae547be74d9337afda261166e781520714307416a04e0300b692f6915b3f0718639cf927f3b40491c08ef256b0776edd86b1805fb07dcc035586ce051903d8e13c83637c1ffbd2151268b8f37358db2407ca73ec62772e0703c9bb8b20e9fa6f117eb01f51c1595b4bff6bf9234c2fc91a34b2cbb452bf5bc703684af6a5dbaa8440b32946415e92f930920336909382087e4615b9e2d387a43603e6d4a95eb8d716ecd8b91d947e0f8c185dfc06a6fb48d9fa11e85e481e2d441e033a21f4707a1129ff8cfc1490c4e163198c3301cac659516f03253c7101f7506900582002828c01c860b97f04c86f72fed901157c7c894b7cbc3fafdf130a452df7a03441010058200252d4c5118b0f41f37a6676bfe6b533b0b1d6dd29e9c915c52a7464f36bc17f410103dbc60c24cd3d97b627e57e0e8b4e9748ac67f9b162bc438586253bf33737b44003abfcfd2431bf2542b4bf4936e8e5f40c464b924a3b36c7802dcb031091c990bc0058200215cea2bfe01e2dc7f78bad2bbb463b2e9795d4f721d46c1deb381f8848b5bd41010219441303d3ac263864b6d70ebbc10e623c6636830e1a9e57680d3b6a03b8931d991ddda60219ffff05581d021810611626589ae52df3d14443bbdd186af4059996aff8e0d6a30fe80f0145a47ff651c8192d1802190a0005581e036753bb6e65c2f7b6419b4c0845ada49ce9a9b4e04e1d237e0850e82df00c0c480129423bb44525d005581e03ab29b62f6d9afe11af7c851efb4d84b33b79d4ef88a715af6f7fd38a100c01468fb89edd1d5a05581e03a68da8f5ce42bf5fd8897f9be0d70a4954d41f31d3629b7ec34545c1400c0346076c39590e0005581e03f674c1aba142a6e5aebf2e6c61e1ae7e6ef5411ecc49e4bda4c416c040040205581e03e2b4259528cf04dfedd4a803ff09a07f82e3c6d2827dd16d1d3d75c6100c0346450c765b6bf805581e03d801d2819ae8ffec05080bbe67051baebffcee13a077f0f274cbd981400c09461fbaa4bb6e4b0328197ededcd41572c2e6a58be1383f6751253d6606bb6ad1a6307e3d8f1d32b40316389a455190f7701a31c60379cb7937c03316f3b6f075534f35bd6744bba85f02193ffd0219ffff03fb7292aa05dd1544e8e8b91c577bc70464cb86d45c9a16d0dc15e7bf03e7f54b03ef5bdeedb8ea34ac0da84e9ebc998a369b38349b84d66cf28540252d4dad8c6403fc373575663fc6279451758b9878253f87ce03724604678f3cd8517c5cdbf5950390f2244db9d34af200f29f5e33942ea0619e0e20546e77ac8c4bcc05ff25a165033067091053e83bab913843e0c328d4763ead82f06f86143862f79a9f5cd83bc6035fc3d448f4cb544e81c6e731c12f734f137b447d39d9552cf25f70db861bb3c103c9456b892633947e896f1425e682041e265fdca370f04c516a03943a4330171103ca9b1d6cc4eda65d0a63c82b299f3aae9b1ac7226faa564c8f20d291808a89c8039ea0555bf2d2186694ccc0fa5acfb57529e899a9ef80513c4b36ccfaf5174e7603beaa5233bd15217a64c04846e83e55f4f142e7c48ffc7561276aea3928a75846030fb0890b9190120e477980da949fa670f7abe06f7cb756dd589f6b495d3a6817036d54302a73510fc6b993081bcd0273af09a6c951e37cf59139fe73b36a3fb09c0219ffff03c7f365397aab4af45bac76ba7da017906ea432a92ae8b3780b392a26cc0a195b0382886066baa4c83977eb9a7f5b048ca2c16bc48bb00cff782fd461f5a80aa08e03af33f7885a5ec0a3f000bbafce005cd164dd746dd528fec28aabf1e5364932340323f140155ab7d9d9d64375f53c787c2544656ddee567af50c8a6284227df674b0335f7a0bf75a110c35ced34951a93534b1f7a9b576295de9f0e5671b928400b75039c4c13bb2106469c4e2b92d484a1c527b9afdfc098c57cf9175c16629cc6975a03b322f965ddacecea55577dc9de3d9c662a90502bb9588da0dc09e4f0ab03a30203064c2c3e6c0fdf65848d22416e68922975dc0fc3aae9e07c6f6e1c3dc4d2e9dc03d3821cce4a894eb4ce4495fe6fe5126981c13b7aad4d4ceba095da8a375e70c103b9cbf6fe138c0efe56e0cb445e4674be2b2511c6a403470ed929acafe226c5980358d9a84419288564f3a6e93147a406dab5d3fd02396f3ad9a8954049939b6c0a038753a3a3d77b19746e77d6ff58ba8187177c24cd94a603d7d050d970e63f3d8603ceec3d66d1d5b748f2e39f1b80ec6b3db7ade0fac384f82610bbb99eac088c4003183ccae1606c976265664cf1e00545470b30b146375b59137cc127447020a944036f8f0518bf2fccfb3c276284fd65d079cf2c5b50831a0ab2617569ec135a551603b4c14b46c119dfdbc53f1ebe8cb7978c91024b3a8e5d95159d61403a3c3b36990300283f708551c611820fba9017c2c766eeb4bfbd81a321c412a98e8253b439b903c70b6572bdf8ebe36d4b490c4bedfdc64ff41d371b243692af06f0c6facd267e03b31a13a36d768e3381b45024e6897dc3fdb0ba238122eac5ee59f6f6dd37d4b60309df364ab0f487b167c2e2caeb3f3d74343a5939bcb97d04879512537a5831ff0363162c00234cc0b4f8a91333fa1ca06a0f1894f6c370ee241ff9eb32331aa97803536063df2176c62015550c4b685c5f21c48d21030516556b29421c9ae4b6825303b7ade9cb66dc8193dd38ee1e38d5ed61ad30f59726db60ee6b614eaeadb6d7bd0360c47ee6357d225f072566d18c5fbe7a2e6ece19c6f3694c6e184f8298b563e403ccd7b91ad804ed68467c2262e626190a41e9bb353be8514d35173a72c14af01d03fc573591897fdd094ba05fc74108ee538c4b3eb32d1a356fb21f325f6ccefc91039e4f10eee288d6f30502053c8e6189aba3d140422d0f90d101f8b2b2a8c7772405581e036fca2124d70083ebb82a685fd190db3972c6ea3b4b013af35f746342000c0447085b6b7332bb1d037a5e6784a999fbaa260143775d7529b2ddcb20d658fcb6ff2aa588ed3ee0e38905581e03584aed635c0f04d56fb6cfe2f38a4373b37d036a2f4a56192f4a94dfa0084713598be508c9780365bc5a35e1906c9a1328af5b6c6978d9951a73e0638a04f0f7013ce79da0f2d005581e03d80caf01f389b8912ed6fd6402e635ea64608578500323a1f5120b7eb00c0146484e24f292b003afb00254b8f3c5a90baa64e2e178c14bcde4dfe1b41d60d9cc92febbfd1bf8850306e79259ef4b38b65b5b3cf9cdf07bde2c9f83651fc78cfc496e56b6ca13b9e105581e03a153712e1abe50853e7910dd148e352ec6862aa37a3b6a295237efd83007011bffffffffffffffff05581d0240b7f33a398d36c11fa1228ed1c37b431c68c2aeb2488663d2771fcb0c014713d2fafdd8c00003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d0293568ce299244949b90d7a3304ca44972b8b43a211779115399c9dc507011bffffffffffffffff045933a460806040526004361061009a5760003560e01c80632d771389116100695780636999b3771161004e5780636999b377146101715780638da5cb5b1461019e578063f2fde38b146101cb57600080fd5b80632d7713891461013e5780633f62192e1461015e57600080fd5b80630d335884146100a65780630d7a16c3146100bb57806312261ee7146100ce57806313fb72c71461012b57600080fd5b366100a157005b600080fd5b6100b96100b436600461244e565b6101eb565b005b6100b96100c93660046124fc565b610364565b3480156100da57600080fd5b506101027f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba381565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b961013936600461253e565b6104c5565b34801561014a57600080fd5b506100b96101593660046125dc565b610683565b6100b961016c366004612600565b61078f565b34801561017d57600080fd5b506001546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101aa57600080fd5b506000546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101d757600080fd5b506100b96101e63660046125dc565b610894565b6101f3610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161020a5790505090506102b2846109f6565b816000815181106102c5576102c5612664565b60200260200101819052506102d981610b6d565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da6289061031990849087908790600401612867565b600060405180830381600087803b15801561033357600080fd5b505af1158015610347573d6000803e3d6000fd5b5050505061035481610bbe565b5061035f6001600255565b505050565b61036c610985565b8060008167ffffffffffffffff81111561038857610388612635565b60405190808252806020026020018201604052801561044357816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816103a65790505b50905060005b828110156104a25761047d85858381811061046657610466612664565b9050602002810190610478919061292d565b6109f6565b82828151811061048f5761048f612664565b6020908102919091010152600101610449565b506104ac81610b6d565b6104b581610bbe565b50506104c16001600255565b5050565b6104cd610985565b8260008167ffffffffffffffff8111156104e9576104e9612635565b6040519080825280602002602001820160405280156105a457816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105075790505b50905060005b828110156105ec576105c787878381811061046657610466612664565b8282815181106105d9576105d9612664565b60209081029190910101526001016105aa565b506105f681610b6d565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da6289061063690849088908890600401612867565b600060405180830381600087803b15801561065057600080fd5b505af1158015610664573d6000803e3d6000fd5b5050505061067181610bbe565b505061067d6001600255565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527fb904ae9529e373e48bc82df4326cceaf1b4c472babf37f5b7dec46fecc6b53e0910160405180910390a15050565b610797610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816107ae579050509050610856826109f6565b8160008151811061086957610869612664565b602002602001018190525061087d81610b6d565b61088681610bbe565b506108916001600255565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152606401610700565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60028054036109f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610700565b60028055565b6040805161016081018252600060a0820181815260c0830182905260e083018290526101008301829052610120830182905260606101408401819052908352835180820185528281526020808201849052818601849052840152928201839052828201929092526080810182905290610a6f838061296b565b810190610a7c9190612daa565b90506000610a8982610d11565b9050610a958183610f43565b610a9e82611142565b6040805160a081018252835181526080840151805160209182015193860151929391840192610acf929091906112a2565b81526080840151805160209182015160608701519290930192610af3929190611374565b8152602001858060200190610b08919061296b565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001829052608083015160408101518151606090920151929550610b669286929061145b565b5050919050565b805160005b8181101561035f576000838281518110610b8e57610b8e612664565b60200260200101519050610ba1816114fc565b610bab81336119ec565b610bb58133611ae5565b50600101610b72565b805160005b81811015610d00576000838281518110610bdf57610bdf612664565b602002602001015190506000816040015151905060005b81811015610c6057600083604001518281518110610c1657610c16612664565b60200260200101519050610c5781604001518260200151836000015173ffffffffffffffffffffffffffffffffffffffff16611e279092919063ffffffff16565b50600101610bf6565b5081600001516020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16868581518110610ca957610ca9612664565b6020026020010151608001517f78ad7ec0e9f89e74012afa58738b6b661c024cb0fd185ee2f616c0a28924bd66856000015160400151604051610cee91815260200190565b60405180910390a45050600101610bc3565b5047156104c1576104c13347611e6e565b6040517f563244757463684f72646572280000000000000000000000000000000000000060208201527f4f72646572496e666f20696e666f2c0000000000000000000000000000000000602d8201527f6164647265737320636f7369676e65722c000000000000000000000000000000603c8201527f616464726573732062617365496e707574546f6b656e2c000000000000000000604d8201527f75696e743235362062617365496e7075745374617274416d6f756e742c00000060648201527f75696e743235362062617365496e707574456e64416d6f756e742c000000000060818201527f44757463684f75747075745b5d20626173654f75747075747329000000000000609c82015260009060b601604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815260808301909152605280835290919061326260208301396040518060c00160405280608d81526020016132e2608d9139604051602001610e9193929190612ea7565b60405160208183030381529060405280519060200120610eb48360000151611f08565b6020808501516040808701518051938101519101516060880151929392610eda90611fa2565b60408051602081019890985287019590955273ffffffffffffffffffffffffffffffffffffffff938416606087015292909116608085015260a084015260c083015260e0820152610100015b604051602081830303815290604052805190602001209050919050565b6080810151602001518151606001511015610f8a576040517f773a618700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808260a00151806020019051810190610fa59190612eea565b9150915060008360a00151604081518110610fc257610fc2612664565b602001015160f81c60f81b60f81c905060006001868660800151604051602001610fec9190612f0e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526110289291602001612f9e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181528282528051602091820120600084529083018083525260ff851690820152606081018690526080810185905260a0016020604051602081039080840390855afa1580156110a4573d6000803e3d6000fd5b5050506020604051035190508073ffffffffffffffffffffffffffffffffffffffff16856020015173ffffffffffffffffffffffffffffffffffffffff16141580611103575073ffffffffffffffffffffffffffffffffffffffff8116155b1561113a576040517fd7815be100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6080808201510151156111ab578060400151602001518160800151608001511115611199576040517fac9143e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60808082015101516040820151602001525b806060015151816080015160a0015151146111f2576040517fa305df8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8160600151518110156104c15760008260600151828151811061121a5761121a612664565b602002602001015190506000836080015160a00151838151811061124057611240612664565b6020026020010151905080600014611298578160200151811015611290576040517fa305df8200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602082018190525b50506001016111f5565b6112dc6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b83604001518460200151111561131e576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611334856020015186604001518686612040565b60408051606081018252875173ffffffffffffffffffffffffffffffffffffffff1681526020810192909252958601519581019590955250929392505050565b82516060908067ffffffffffffffff81111561139257611392612635565b6040519080825280602002602001820160405280156113fb57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816113b05790505b50915060005b818110156114525761142d86828151811061141e5761141e612664565b602002602001015186866120e7565b83828151811061143f5761143f612664565b6020908102919091010152600101611401565b50509392505050565b61146583836121b7565b61067d57806114a0576040517fb9ec1e9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604084015160005b815181101561113a5760008282815181106114c5576114c5612664565b602002602001015190506114ee846127106114e09190612fc4565b602083015190612710612204565b6020909101526001016114a8565b60015473ffffffffffffffffffffffffffffffffffffffff1661151c5750565b6001546040517f8aa6cf0300000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690638aa6cf0390611573908590600401612ffe565b600060405180830381865afa158015611590573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526115d69190810190613011565b60408301515181519192509060006115ee8284612fc4565b67ffffffffffffffff81111561160657611606612635565b60405190808252806020026020018201604052801561166f57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116245790505b50905060005b838110156116c0578560400151818151811061169357611693612664565b60200260200101518282815181106116ad576116ad612664565b6020908102919091010152600101611675565b5060008060005b848110156119db5760008782815181106116e3576116e3612664565b6020026020010151905060005b828110156117a15788818151811061170a5761170a612664565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16036117995781516040517ffff0830300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b6001016116f0565b506000805b888110156118625760008b6040015182815181106117c6576117c6612664565b60200260200101519050836000015173ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603611859578515611843576040517fedc7e2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208101516118529084612fc4565b9250600196505b506001016117a6565b50815160208b01515173ffffffffffffffffffffffffffffffffffffffff9182169116036118db5784156118c2576040517fedc7e2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020808b015101516118d49082612fc4565b9050600193505b806000036119305781516040517feddf07f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b61193e816005612710612248565b826020015111156119b1578151602083015160408085015190517f82e7565600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201526024810192909252919091166044820152606401610700565b8186848a01815181106119c6576119c6612664565b602090810291909101015250506001016116c7565b505050604090940193909352505050565b81515173ffffffffffffffffffffffffffffffffffffffff163014611a3d576040517f4ddf4a6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516080015173ffffffffffffffffffffffffffffffffffffffff16156104c1578151608001516040517f6e84ba2b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690636e84ba2b90611ab990849086906004016130e1565b60006040518083038186803b158015611ad157600080fd5b505afa15801561113a573d6000803e3d6000fd5b7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba373ffffffffffffffffffffffffffffffffffffffff1663137c29fe611ba5846040805160a0810182526000606082018181526080830182905282526020820181905291810191909152506040805160a081018252602080840180515173ffffffffffffffffffffffffffffffffffffffff1660608085019182529151850151608085015283528451840151918301919091529251909201519082015290565b6040805180820182526000808252602091820152815180830190925273ffffffffffffffffffffffffffffffffffffffff8616825280870151810151908201528560000151602001518660800151604051806080016040528060528152602001613262605291396040518060c00160405280608d81526020016132e2608d91396040518060600160405280602e81526020016132b4602e91396040517f563244757463684f72646572280000000000000000000000000000000000000060208201527f4f72646572496e666f20696e666f2c0000000000000000000000000000000000602d8201527f6164647265737320636f7369676e65722c000000000000000000000000000000603c8201527f616464726573732062617365496e707574546f6b656e2c000000000000000000604d8201527f75696e743235362062617365496e7075745374617274416d6f756e742c00000060648201527f75696e743235362062617365496e707574456e64416d6f756e742c000000000060818201527f44757463684f75747075745b5d20626173654f75747075747329000000000000609c82015260b601604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611d8c94939291602001613110565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905260608a01517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168352611df99695949392600401613199565b600060405180830381600087803b158015611e1357600080fd5b505af115801561113a573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff8316611e4c5761035f8282611e6e565b61035f73ffffffffffffffffffffffffffffffffffffffff8416338484612284565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611ec8576040519150601f19603f3d011682016040523d82523d6000602084013e611ecd565b606091505b505090508061035f576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040518060c00160405280608d81526020016132e2608d913980516020918201208351848301516040808701516060880151608089015160a08a01518051908901209351610f2698939492939192910196875273ffffffffffffffffffffffffffffffffffffffff958616602088015293851660408701526060860192909252608085015290911660a083015260c082015260e00190565b600080825160200267ffffffffffffffff811115611fc257611fc2612635565b6040519080825280601f01601f191660200182016040528015611fec576020820181803683370190505b50905060005b835181101561203157600061201f85838151811061201257612012612664565b6020026020010151612376565b60208381028501015250600101611ff2565b50805160209091012092915050565b60008385036120505750836120df565b828211612089576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4282116120975750826120df565b4283106120a55750836120df565b42839003838303868610156120ca576120c18688038383612248565b870392506120dc565b6120d78787038383612204565b870192505b50505b949350505050565b6040805160608101825260008082526020820181905291810191909152836040015184602001511015612146576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061215c856020015186604001518686612040565b90506040518060600160405280866000015173ffffffffffffffffffffffffffffffffffffffff168152602001828152602001866060015173ffffffffffffffffffffffffffffffffffffffff168152509150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff831615806121db57508142115b806121fb575073ffffffffffffffffffffffffffffffffffffffff831633145b90505b92915050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261223957600080fd5b50910281810615159190040190565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261227d57600080fd5b5091020490565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff841660248201528260448201526020600060648360008a5af13d15601f3d116001600051141617169150508061236f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152606401610700565b5050505050565b600060405180608001604052806052815260200161326260529139805160209182012083518483015160408087015160608801519151610f26969192910194855273ffffffffffffffffffffffffffffffffffffffff93841660208601526040850192909252606084015216608082015260a00190565b6000604082840312156123ff57600080fd5b50919050565b60008083601f84011261241757600080fd5b50813567ffffffffffffffff81111561242f57600080fd5b60208301915083602082850101111561244757600080fd5b9250929050565b60008060006040848603121561246357600080fd5b833567ffffffffffffffff8082111561247b57600080fd5b612487878388016123ed565b9450602086013591508082111561249d57600080fd5b506124aa86828701612405565b9497909650939450505050565b60008083601f8401126124c957600080fd5b50813567ffffffffffffffff8111156124e157600080fd5b6020830191508360208260051b850101111561244757600080fd5b6000806020838503121561250f57600080fd5b823567ffffffffffffffff81111561252657600080fd5b612532858286016124b7565b90969095509350505050565b6000806000806040858703121561255457600080fd5b843567ffffffffffffffff8082111561256c57600080fd5b612578888389016124b7565b9096509450602087013591508082111561259157600080fd5b5061259e87828801612405565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b80356125d7816125aa565b919050565b6000602082840312156125ee57600080fd5b81356125f9816125aa565b9392505050565b60006020828403121561261257600080fd5b813567ffffffffffffffff81111561262957600080fd5b6120df848285016123ed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60005b838110156126ae578181015183820152602001612696565b50506000910152565b600081518084526126cf816020860160208601612693565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008151808452602080850194506020840160005b83811015612761578151805173ffffffffffffffffffffffffffffffffffffffff908116895284820151858a0152604091820151169088015260609096019590820190600101612716565b509495945050505050565b6000815160e0845273ffffffffffffffffffffffffffffffffffffffff8082511660e08601528060208301511661010086015260408201516101208601526060820151610140860152806080830151166101608601525060a0810151905060c06101808501526127e06101a08501826126b7565b9050602083015161281e6020860182805173ffffffffffffffffffffffffffffffffffffffff16825260208082015190830152604090810151910152565b50604083015184820360808601526128368282612701565b915050606083015184820360a086015261285082826126b7565b915050608083015160c08501528091505092915050565b6000604082016040835280865180835260608501915060608160051b8601019250602080890160005b838110156128dc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030185526128ca86835161276c565b95509382019390820190600101612890565b5050858403818701528684528688828601376000848801820152601f9096017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092019094019695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261296157600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126129a057600080fd5b83018035915067ffffffffffffffff8211156129bb57600080fd5b60200191503681900382131561244757600080fd5b60405160c0810167ffffffffffffffff811182821017156129f3576129f3612635565b60405290565b6040516060810167ffffffffffffffff811182821017156129f3576129f3612635565b6040516080810167ffffffffffffffff811182821017156129f3576129f3612635565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612a8657612a86612635565b604052919050565b600082601f830112612a9f57600080fd5b813567ffffffffffffffff811115612ab957612ab9612635565b612aea60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612a3f565b818152846020838601011115612aff57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215612b2e57600080fd5b612b366129d0565b90508135612b43816125aa565b81526020820135612b53816125aa565b8060208301525060408201356040820152606082013560608201526080820135612b7c816125aa565b608082015260a082013567ffffffffffffffff811115612b9b57600080fd5b612ba784828501612a8e565b60a08301525092915050565b600060608284031215612bc557600080fd5b612bcd6129f9565b90508135612bda816125aa565b80825250602082013560208201526040820135604082015292915050565b600067ffffffffffffffff821115612c1257612c12612635565b5060051b60200190565b600082601f830112612c2d57600080fd5b81356020612c42612c3d83612bf8565b612a3f565b82815260079290921b84018101918181019086841115612c6157600080fd5b8286015b84811015612cc65760808189031215612c7e5760008081fd5b612c86612a1c565b8135612c91816125aa565b8152818501358582015260408083013590820152606080830135612cb4816125aa565b90820152835291830191608001612c65565b509695505050505050565b600060c08284031215612ce357600080fd5b612ceb6129d0565b905081358152602080830135818301526040830135612d09816125aa565b80604084015250606083013560608301526080830135608083015260a083013567ffffffffffffffff811115612d3e57600080fd5b8301601f81018513612d4f57600080fd5b8035612d5d612c3d82612bf8565b81815260059190911b82018301908381019087831115612d7c57600080fd5b928401925b82841015612d9a57833582529284019290840190612d81565b60a0860152509295945050505050565b600060208284031215612dbc57600080fd5b813567ffffffffffffffff80821115612dd457600080fd5b908301906101008286031215612de957600080fd5b612df16129d0565b823582811115612e0057600080fd5b612e0c87828601612b1c565b825250612e1b602084016125cc565b6020820152612e2d8660408501612bb3565b604082015260a083013582811115612e4457600080fd5b612e5087828601612c1c565b60608301525060c083013582811115612e6857600080fd5b612e7487828601612cd1565b60808301525060e083013582811115612e8c57600080fd5b612e9887828601612a8e565b60a08301525095945050505050565b60008451612eb9818460208901612693565b845190830190612ecd818360208901612693565b8451910190612ee0818360208801612693565b0195945050505050565b60008060408385031215612efd57600080fd5b505080516020909101519092909150565b6000602080835260e0830184518285015281850151604085015273ffffffffffffffffffffffffffffffffffffffff604086015116606085015260608501516080850152608085015160a085015260a085015160c080860152818151808452610100870191508483019350600092505b80831015612cc65783518252928401926001929092019190840190612f7e565b82815260008251612fb6816020850160208701612693565b919091016020019392505050565b808201808211156121fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6020815260006121fb602083018461276c565b6000602080838503121561302457600080fd5b825167ffffffffffffffff81111561303b57600080fd5b8301601f8101851361304c57600080fd5b805161305a612c3d82612bf8565b8181526060918202830184019184820191908884111561307957600080fd5b938501935b838510156130d55780858a0312156130965760008081fd5b61309e6129f9565b85516130a9816125aa565b815285870151878201526040808701516130c2816125aa565b908201528352938401939185019161307e565b50979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff831681526040602082015260006120df604083018461276c565b7f563244757463684f72646572207769746e657373290000000000000000000000815260008551613148816015850160208a01612693565b85519083019061315f816015840160208a01612693565b8551910190613175816015840160208901612693565b845191019061318b816015840160208801612693565b016015019695505050505050565b60006101406131c9838a51805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b602089015160408401526040890151606084015261320a6080840189805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b73ffffffffffffffffffffffffffffffffffffffff871660c08401528560e08401528061010084015261323f818401866126b7565b905082810361012084015261325481856126b7565b999850505050505050505056fe44757463684f7574707574286164647265737320746f6b656e2c75696e74323536207374617274416d6f756e742c75696e7432353620656e64416d6f756e742c6164647265737320726563697069656e7429546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e74294f72646572496e666f28616464726573732072656163746f722c6164647265737320737761707065722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e652c61646472657373206164646974696f6e616c56616c69646174696f6e436f6e74726163742c6279746573206164646974696f6e616c56616c69646174696f6e4461746129a264697066735822122035a25d9682571022740f8eb2bbffff059f7e63d59c89e57d9831ce550c37465a64736f6c634300081800330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630541a9c8182c09f50c8318d769245bea52c32be35bc0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04101021405581d023665c28f7fe2ed5d57de22d21113af2888819efd26010801dfa1b07a07011933a40219280203bd5000c885d5e19fa2ce78e7a71f80a92acd9ed216b96655473e860e2cd12d9003e8361ff86c8d3f8c97a7399e31b13ece6c47070af6d810a271abdeb4e94eb2e502195e8b03ccb01792d464294fbddd15051a5471a6861f21c320495ac2fc7d0eb62b0c50680302e07526bc66bb96c13091945a7b2a1e1ef901f8bbb78d001a0a8b26d5af604a0219ffff03109b0c6989d6cfa37152917ed850588788dd937cf05e7fb2801ba9659a0c7fea031bbde86f682fc4c8f3fbf017d56f3f65aa070be27a0cec7d9346d7338166539003d5417817b8fb9299d0a1f5e374e4a83eb6421b43f44781bd888c6835d97c91af0330483b5fb6d21fb728fabbb9fead12f9ef046c47125a4e1f5fbff3760a1467ab03dde924611adbe34c9541a7204f79578c6381c8c30160a442112b0247d32ddfc403c42fbdc95ee6fcc293823bfbc7aa384fe68ffb3f4819eb466d8d74d9ad59494503d26968c27063899641b5ca7497e97efae1efca01a46aeb099ff61f26c202892903f1775fe66f27e4221f31d76db66286b5ee2b030e88426ca73fe6cdbb602fbe1c0219ffff0219ffff0344dd375443b6eb82f9408fa9a5c74e2531880e427b90775bd5c2dfda48baf28e03b7fbbe7c239282c60e90415a02f9f9875f0cbfc43aaeb6c7bfecca5650d3df3603bd6cfc54c4b42bfcd655e4594f99e43e76b2295066f034e278ae595f3532d7ed03919af52e30f206b41088377979a907cdd8a1f7e79f247f275a14d7153bbe007403ef036cb441db6eeb48a8dba0ebb224ec4e1a48779999409b25b7f73e204bd0190377bd1e51e912b24f6532540a325d4864270e5f30a2b59ef88df4dd659cd5628d03cee50e7bb3d4be37e27625eff345473904577a83c3268dca645d06ec36674edd030a7c78befa5763ca96e67e683c5a82029e6342737932664e1add7d6f031f1dd80392a81aa6e4cdfcaeeb57998c68b62b5532a3c41d036183159e5ba8c873025e0c03801b3aaad40ddbd5c5f339b77f1a1da416724567ec34b04ef98ee404f5a1ba9503a3e7a853e9ae4cf65ea2784b2b2df3e6753258ea2e05c490b0fcfd8627a74a4a039ab337f44d9736eab692d33fa4c0dcb7966e7d5eb54c53ee0306a3c0160a2e00039ef0ed4ed2d6bd0c97d7c046585d3fb6883a1498ad80939b3bf7ce345b675f180331cdd5a69d1d4e83974586d0efd04410c0da25b84a4c0c3a0fef6506984a625703fe8187627f6dd37e7789bffab3a85120d4e68689f92c7bacef791fadca88762303186e2932313265c05c4a8d33686f39ea2e36fa3776f7ac07095d76c92b8fe06403647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03f1467a1e56c0e36ad5f496383e1174755ec7e20b8981adf25047b3489007011bffffffffffffffff05581e0332badbda20549bb07e3953efd64e95f34a3f77c7a4b0dfe4cd66c4e8e00c01470b7a4aef03f60005581e035ba74b479dd9869fa1e7057a48d6208059d5887ed1c9f3de4bf44b39d00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d0275c528d9348b817a098d2c4f148253aec4f725ccff40c78d1dfe2aa107011bffffffffffffffff05581d02a94701f3b6f0106315a6bbd8845d247b519aef9f2448446911aaeb170c034701050c2d13afd005581d02557079f39d908d295d4c186ee7692e290773a281317823f38f8def510c1a000339a649012a578e68927e7d7c0219412003e3227246f1aa82a120469a43c59cc3f7af610c94e64970601cc4b402839229bc0356b21197fc06d4ffe2ec29a9587aa48e9ac9b997d7b13c836f7ed8860a1bb9d0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942036db445c6c9892585b080d1985598650931b5aef2010904f2184c313c6e021dae05581e03984b8569381e16cb07644e9045d5c42154e954ed1be3b5776ce77caeb007011bffffffffffffffff03e9e37eb13ec289a558dd5d69b4a902baf80d8928aab291ac43e3e11e092e3c480141040219a0af038c28e92a2ae581b7810b36bacb20c939d4691bd09894703455369929fee1d304034ee73b2ba8a40ed7e77afbc9b87e00467a3ebb18f1e9541554c4dbfa8e7d1e260322d0eeab7424976b33ad3be827d17eb82e3a4c7585b772ba406a5dc20b96847603491972d1aa9d87195d5106a6bd9ba874eb3743ec8678e5ab52f96a730337498b03191e5761d73ced65320c5b8ebd755c4ab81622e389916f6c187ade3a24e37a9d034e3a36117a398263ce90e01d98dd010712f77940d30eaab1903a5c50d0b6bc810396cd9dcb23a92cb97b451ad44124c81cb1ad894a2ec95f8a32b06e808473e7150371bbc1cd0cf56d6d0c774887397107e7980a927dfe652d445570dc7cbfc13232032be183bca94aae4560ed4670806db57f3c355822b61ab0c40a15265322e110a303ce1da6109c5f287c607b860d5f075a13f39c141d1ae4c937b9be758df51dc4940219ffff03e25f491c696fc9a0d6c93065e9502626611487266a2b6345793e8e937a89c1c70366824b4210cd0c5afdeb9348b72557ca4e7ccf841eb1fcc62ec9863cdd3cbdb803a609d26534e33cb226675e83a4ab1c4a2961f3f8cc9d744c59975f625f7342e803ab0e0657adc7258e349e591ffa28db1a90e828d02555a8ba6c5b268ec6e88a3303db4a6d762fab72a3e1f424ed5a634a5fac6f621beaeefc8b9901c208a1957fa8030c8935fadd94ebd0127f364630c72a6c0c5f812d13dfdf2f45d9ff87db5b08580350ad720680ae81b670185aae4da3d35699b94ca076195be1f9f4a8cc87ea4fea032cea24813c788f4f93807042d7dcaca3f44bea47af561fb19c67ad625d05ecae03a0d02dbc2fea1413ec3edfeba7b82524bbb43b3a649a9aff8294abe060a81a610313bd6eeac0be8927711f98dddba383b5a9c430e9e15a28905e97122ca0448d18038e57e68e40b4d93cc00815e3d2a8be4612565f550f464f944ca73c83dd8eeea80335e14862e3566cee1b30cc800a4f54da08e665e4e0c69a92ca46f289d38fdad40219ffff03faab5e97a97763e1676cdd5029b2af9e56d2ab86318335ff0b442d9aae537acf03334f423e8cc8acde1e69c2c8014d3da9d2357dd9afcddd24d9b44d4524c98b9303f7bade71ff7a399ca0742abeed45b719bfbb231a66a8fbb7355c418fadc73bf203633f4a1d5bb67ffeea40ec12a88029d7e02985424e293fef677f686d5231dd250350df04be602cbefdf2fe3cdc908873d2a7c778a25d260dbb045e02b59596e8a403fa1825a31dee4699e77c103f09cfe5f30afd9f1975027e0ff3e2dd505de2ff4d03882718f02fdbcfa76ff7bd8492e9b3ee375cc5efec8c136de268aa820827f3dd03cd869681db14ccda65c3fd100f8f68ffc9903b1003e5173b0328e6934f09041d03a6cca6f7401ddf30d87ddd087fa91b38677c10232c085011b0f681ef1d96cd1403dcb68a141d472087082d8a09ff1289e455cf499b7edfa136b777c509d4e4a586035c6669b8014402150dc76219b633102ca7094bf7819790a9a0b39eb46ddb7f9003caf62682a42857c41b0f843368e039117ae2424daa0bbd2d0623b84750e17689035824aa73e1f5d28309a135e39c9169fb2e1068784b4cbe3cd7985822524596330315dd38f834d06d8a21b34f1e84e7fd7c053eabdae7ab8930def899a414664d28033cbc3f5beb0055220a99e1a7abc846dd09b75fb5917e0d076d951dff9a0236cb0219ffff03955609779b51a301cf1867d933a46c294e9550b330331b9e4c8cebc7ee4e10cd0390dbf02547dd3b22b8445aa6d8fb590e00e0283af6aed36082d57a92bce3c57c03235e5825327a2249fdefc0f1c23b55ada706b5584e4d7c71706d720aaae4c28303c8fe3294a6ddd5a5d2591e7455c1edf0bb7ce1756734e14c1573713c49961385038c9cb92071df3f1834453e5fd896a838cc1d69e61578532ab171ee032c07e5890347a26015e5687bee224bd6d7278397dd50574bbd5cd6b8faf835e7d4e1617d800338efd6481f855eb8bc7772c09d1d018bfaab05d13340ce1a9b718b9ddf11fe5a036c8eacc5914755d7ac851a4d60033492703c58b198901ebf3dd009cc02cb977003dfe345fb5e5a4d165490aef92d0c4904b4a6c648ac99724c1a7083f91977562a03f5590940e80980d1b2ef7c1d34750368a5b52209707d01477b8a1bd3015e5eef030ce411f644f750addc914858d83d5d31e2bf3709365dd309f4e595a3bd1f6fcd0317d63d53f23bfef51401cacc90ebe9b9f7a69392e1d7490cdf8ae06e09495c3903295a0c95536da214f84254bb7960d942adabf88dac79e35a7cd56f3314b64d9303732830215bc576229cdb58f73d9999c9c4dabf0f906badec6792e13cb1ead8f703b58124352b59e5892209fb5b71fc08c387b39a1c4f5ca0546e72aafbcde87ace031ce7dc49c7fa834394e1259e017890b7867f424084ce6a60348279ab05b8e00e03fee5446803cb56dbc51c3b5a9a8111b3365477d7fc90f98a0082688e0a878d5c03251699b7dda193abfc1d663c0b2f555dd1b581e9ca54915c66302c7342933efa039b78b97cbe0f448f075287b2ac4be08cc06198962d6c2423818dccd2fbc19bd7034c867e36c3baa13b89ab3e1b7f89e416897f508a512c1fc693a2f599da3152d803eca20245086c46a3ec68e7de5982a3f071df1598c86f760b3246ff056b5104a903de14e44fee3d3078ed2c9f4fd9f37ceab0f9ab01dbc6c82d09758fbd6a10385e03935200f69842df172fa34a721b959bb11f56a8d59dcbe3c64ec5e8902f436e760352f1801482a2feb1024ba9f9d05ca44693a5dcc4fc11ea04dba64bf1c0c744d10382338bb913050382a0bc7737cd5046bffc95024c5add048b62594ab94facb47803a19eb29fe05bb502ce1e3b9666a259e24689858f729bc89f4f8897a308b323af03351997ef5bc48f6be427b910116d139c78c546919f03fe2eb7f2cb3b3cf05804039b9a8efdb4595f983b753d75024c79f3e31d9d112f0e9e95966cd548d19e4bc803d211b1db0ab9b876856aed120d2be4ec428a74a46a931de7454f37182ae8456d03441e419c314157178fde1fcec9e7f0023321427330e07036c079dc8748f6065e039a534754939c85d54d7656fb3cb7a9ec56d1f7aa28e60d1a1b422983d8b581bb03b1045323261df962d996f5370c758f61584c826057765f9bf1b01764ba377fc90342960fa9ae36aebbe74a87e7c015a830e91cd38438b7417253d1e7ef44859643031a0821df0b458874072c96dc30a461eb5d92ea8225485cec4636953606da0d9003f09e7615a876b79038e36903abf0f5601858603f145ef1c3434ea9c94542c18405581e038871115f4aa4f77693f19eb9849d4a71a2f6a0f7158b75a5da530f44c0040105581e03dd440cefb41d4fe7be24b1055857af4e4d7ce5284b20fe1eca0cfa0d000c014664459416240005581e03884211d834de3d11a80cd0aa7dcb1723d6569780353b2b8706c0a6c3900847025014bfbfb00005581e03fbef4edc995dfcdfe1c4be1ae4ed0a33fd4dd67096a5b898369ec92d00040105581d02cf56e7b9ab0f0368bcd6c9c91aed6b3d9d4ec1971397fe5c378ae83f040205581d026b5650008c26e26ba5a703ffb3508b6586039bbd05fbf19da18ebc060c034782844db2d4708a045902e0608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063199f72601461003857806341c0e1b51461004d575b5f80fd5b61004b610046366004610262565b610055565b005b61004b6100e9565b33733328f7f4a1d1c57c35df56bbf0c9dcafca309c49146100d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41646472657373206973206e6f742077686974656c697374656400000000000060448201526064015b60405180910390fd5b6100e3848484846101a3565b50505050565b337337aab97476ba8dc785476611006fd5dda4eed66b1461018c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c60448201527f20746869732066756e6374696f6e00000000000000000000000000000000000060648201526084016100ce565b7337aab97476ba8dc785476611006fd5dda4eed66bff5b5f6323b872dd60e01b90505f60405182815285600482015284602482015283604482015260205f6064835f8b5af191505080156101fb573d80156101f25760015f5114601f3d111691506101f9565b5f873b1191505b505b80610232576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461025d575f80fd5b919050565b5f805f8060808587031215610275575f80fd5b61027e8561023a565b935061028c6020860161023a565b925061029a6040860161023a565b939692955092936060013592505056fea2646970667358221220e1e0e24429d1e60a36a247a324ced67999a9e96a064cd7f127808cf22be29fcb64736f6c634300081700330605581d0255ac7c678e81a913bf853f5551a6bb0741a5c148c177e38869e6a92607011902e00219220805581e03ee7d86dc28e98a1a94067f177aee63e0e3603c812938bd0ca60a188df00c034504e3b2920002193a8b03ca7682b66e92b68430e21039a6ce45f74ff86f4d65bf7d87df48605980eb69f4038efbda688c88cc976b13454a06bf8620e83b02d036b9bd222dd744fbab2185a40219ffff03a277c2116f112f104eca7a3d04deb5491afb5b52d0270bfe6793ba2bf5c15c2f03c3f86400120cd5f96bcdd54abf81f990cd28a1459425198d6e02e46ff0ee1b4e03b7b102753cd4f8217bc33db9d1850a97f21cbc040c5bba4990b3c26aaa2ea86103fdde59bd981fa6a2bec8088d5d8af8b0d4517405de0aa8044ea622af4818c98903d82b7973327ea0882b26abfbaab29ece9e913041acf1043eaf66dc909764b1b50219ffff0358d57aab90dd5eac90f57657c3a9e22f92fcfb7016ca90628892f1d78a6c34b203646cdbcb8af11c9ee2e6d568741d297fd15ecf4494125b09f016bd4d381f0a2c038ffa3231b86b90d2c4f95a93ca9755c994a0485cab2ea5ab985e6f4090f23dac0339bdaac874b2839a8242bf57745b817eb5253f381661667df3585063a202423e03b26e4a1a999f45d7736c1d8d21025d3059de8f96410bf731ebdddb514441b7c9037b10635bdc86862ff5f733ba1f06cace48b88bb0c0640a917868bc1d17922087036d52288d7e29b5690711d581e73880fa9d2985dcc9bd20d02368d7d6e9f7994a03daefdea399e6f883ed04bdd056faeacaedc86e4f59cb01ab828ecb4d4a0c16e20219ffff03b2baaa1d54120eb81035e65a5c9d0840d1cb08ec61e8a4036f1901b96aa2ab040311564a4da633a1b86f487259a1fb6d5258be001270732a12737e7836a7264ffd036ca683d67743da6c268dcac694bb5ad3884e0e7c98c4fceb4214022d4c4d6d560379035968e1402172bbfd598ea533d21f8f93032568987325d3537f8db59c16aa03d27136990523013987ed8dad6a388fd55b60d6c38f4e98681cc69d3d25751abe039aee690f976126037adc8a5cc2daa1632285e8b8cdaf433b59cff0da2ed0238303d1984817df9a2836c86b6c4529dd91ecece4a5095001941274864abd95dd01fc0391ab808dbcec387ac45937372b1d20c067800b89d74c9950629f42f038a12b54033feddfd8156ca53098848829aca5ffa28d6a85f6193e6a2d8802d317ff4bfec0030b439a813755d8a80b5cfbdf1c95845dcf4ca8fa43817369d5318f186049de9403ba75d578cc386f6a718c9b3ab25d31d2d01aece16eb1b45ee30134108534e2ce03b2a7cedc39058bf9a9c04103b672607ef75d956309680d899ac840508abb7db603083982a18cbf56927b12318170d9f7f70ba5b875f64132df32901d1e41d05bde0315c6d65fe17e76b783bda8d2163103dfec6fa3309831185bcd3716f32ae1da8a03dfcdbfb4fb3f2f069a775aa6e39eb76b085efa58bfbc48b0c9a44205c635ff2103a4c9a67ab450a5afc88b60064cc7f4c45d0ce067da8a368c50cd7f1eda7813d1033f612e7872d8da32fd5189c5207f490d2f2e9183711caa4a503592d25a43bc0b0396832f971f45582866e6357095372db1069f2a5ffdba71c00551b38e50e1247503f695dd1cfd0875f2a8114ac333e18bcfae76ece32e0321888ecf37f7dbe048a803a37f8f2ee35ab1ed433e0327479a6301c6d0180dbff94e0397d6b7cd8f064a3c034f2f1658bd8bb25b7c4b1525e246d60021bfe540135f9aeb5d37e9f8cd27a2a7037df995773223b2c81a5bfd7a573c68e0e0f8ec68c425fbd2a6c71a51e8cd2ed50342790cae975831c2d04de7b95556185bd8c41751c97517d4ab9aceb0569528fc036f70929c192fac49e9f63063b0e90fc6b2dd2895b20f7caa899967389cf813a7035a8049c053161273eeb8942d0c1598be9e770d1f4778412c91bd872e33872b2303a3d1b5545857e32eefd2f1d70fcc6e3280cb08c97cb242ab1c5141bef683899203b8ac4f8b94111d6386a1fb55293a2f491ac992117da5be4f7951e5703401322b033fdeaed9cae4e529c572690f44225a80f2ca91009d976f3efa4bc63bddf00d54030369f6374cbb23e0b5a31e7d92cb110fb65f2e8a60ff8a44494683991cfa714f033419e5db9b3e540c90997ad44fa41648fe97e423c7739b85943fb9598a6bad530360e6ce523eec64ef3262240c0cce4a5d47370a56bcf785c2266593ea74c3e59603f17df8543a43a38c25519139a623490beee0f92f51607178e15070b4d7aa897103305133e104c46030d8091effda1510db1dd6d53dd2d8823047928864460c8e9e05581e0352324373b3f286c63837b06d0d113a4d2a60f7bfa4dbbc7fce96555ed004020386fb5ac8fb3b036301fb93f61c66f62378690367be8f0711a1c31d420f35e66905581e03f7751d9bb18223cc8fd82bd2fb35cdc0ce2c10622e67049d082e0d0f400c02467fd1738b04d803f639fb2ed10c17a7a45d4b0bb9ef053b578f8a1750adfc55b0aceebc8feffe9505581e039040f3a80d7572afe4e883429f7cfa58da9f75e2b4f45e01d903c40e400c014745c37def6f89e005581e03d9b484542a4cb5400aad229b824de0bd3ba69f2dce90faee5c72c946f0040305581e034bf4e21cc66abd8bac9b7f87d908bc91fb4cff89a487eaa48458c776600c024704c27dec6b540005581e039c95442f5422ed1c464311a1ad5ab7fd33d2a196d256c383af006bd2b00c0c46b61d4f418200045942aa60806040526004361061019f575f3560e01c80636ed6a48d116100eb578063a9059cbb11610089578063c8e0a45d11610063578063c8e0a45d14610583578063c9567bf9146105ab578063dd62ed3e146105c1578063f2fde38b146105fd576101a6565b8063a9059cbb146104f0578063ae6014801461052c578063b5973bd41461055b576101a6565b80638da5cb5b116100c55780638da5cb5b1461044a5780638f937cc41461047457806395d89b411461048a578063a457c2d7146104b4576101a6565b80636ed6a48d146103e257806370a08231146103f8578063715018a614610434576101a6565b8063217b6da611610158578063313ce56711610132578063313ce5671461032c5780633950935114610356578063620cc86c14610392578063667f6526146103ba576101a6565b8063217b6da6146102b257806323b872dd146102c85780632dc4f5e614610304576101a6565b80630313fc4b146101aa57806306fdde03146101d2578063095ea7b3146101fc57806314d0c4341461023857806318160ddd146102605780631c537de51461028a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101d060048036038101906101cb9190612e47565b610625565b005b3480156101dd575f80fd5b506101e661072a565b6040516101f39190612f0f565b60405180910390f35b348015610207575f80fd5b50610222600480360381019061021d9190612f89565b6107ba565b60405161022f9190612fe1565b60405180910390f35b348015610243575f80fd5b5061025e60048036038101906102599190612ffa565b6107d7565b005b34801561026b575f80fd5b506102746108f9565b6040516102819190613034565b60405180910390f35b348015610295575f80fd5b506102b060048036038101906102ab91906130d8565b610902565b005b3480156102bd575f80fd5b506102c6610a19565b005b3480156102d3575f80fd5b506102ee60048036038101906102e99190613135565b610b0f565b6040516102fb9190612fe1565b60405180910390f35b34801561030f575f80fd5b5061032a60048036038101906103259190613185565b610c01565b005b348015610337575f80fd5b50610340610d0e565b60405161034d91906131de565b60405180910390f35b348015610361575f80fd5b5061037c60048036038101906103779190612f89565b610d16565b6040516103899190612fe1565b60405180910390f35b34801561039d575f80fd5b506103b860048036038101906103b39190612ffa565b610dbd565b005b3480156103c5575f80fd5b506103e060048036038101906103db9190612e47565b610edf565b005b3480156103ed575f80fd5b506103f661102e565b005b348015610403575f80fd5b5061041e600480360381019061041991906131f7565b611144565b60405161042b9190613034565b60405180910390f35b34801561043f575f80fd5b50610448611189565b005b348015610455575f80fd5b5061045e611210565b60405161046b9190613231565b60405180910390f35b34801561047f575f80fd5b50610488611238565b005b348015610495575f80fd5b5061049e611332565b6040516104ab9190612f0f565b60405180910390f35b3480156104bf575f80fd5b506104da60048036038101906104d59190612f89565b6113c2565b6040516104e79190612fe1565b60405180910390f35b3480156104fb575f80fd5b5061051660048036038101906105119190612f89565b6114a8565b6040516105239190612fe1565b60405180910390f35b348015610537575f80fd5b506105406114c5565b6040516105529695949392919061324a565b60405180910390f35b348015610566575f80fd5b50610581600480360381019061057c91906132e4565b6114f1565b005b34801561058e575f80fd5b506105a960048036038101906105a491906131f7565b6115e7565b005b3480156105b6575f80fd5b506105bf61178d565b005b3480156105cc575f80fd5b506105e760048036038101906105e2919061330f565b611d42565b6040516105f49190613034565b60405180910390f35b348015610608575f80fd5b50610623600480360381019061061e91906131f7565b611dc4565b005b61062d611eba565b73ffffffffffffffffffffffffffffffffffffffff1661064b611210565b73ffffffffffffffffffffffffffffffffffffffff16146106a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069890613397565b60405180910390fd5b612710826106ad6108f9565b6106b791906133e2565b6106c19190613450565b601081905550612710816106d36108f9565b6106dd91906133e2565b6106e79190613450565b6011819055507f2b3f4c022d9943b151090e389857495bb9d8493714259cc19a540f5a11475fb1828260405161071e929190613480565b60405180910390a15050565b606060038054610739906134d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610765906134d4565b80156107b05780601f10610787576101008083540402835291602001916107b0565b820191905f5260205f20905b81548152906001019060200180831161079357829003601f168201915b5050505050905090565b5f6107cd6107c6611eba565b8484611ec1565b6001905092915050565b6107df611eba565b73ffffffffffffffffffffffffffffffffffffffff166107fd611210565b73ffffffffffffffffffffffffffffffffffffffff1614610853576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084a90613397565b60405180910390fd5b6001811015610897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088e90613574565b60405180910390fd5b6103e8816108a36108f9565b6108ad91906133e2565b6108b79190613450565b600f819055507f4b39c36d20c57d220f61fd25c4349d4435cc03ef6c2a680942f15333c3c3e001600f546040516108ee9190613034565b60405180910390a150565b5f600254905090565b61090a611eba565b73ffffffffffffffffffffffffffffffffffffffff16610928611210565b73ffffffffffffffffffffffffffffffffffffffff161461097e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097590613397565b60405180910390fd5b5f5b83839050811015610a13578160145f8686858181106109a2576109a1613592565b5b90506020020160208101906109b791906131f7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610980565b50505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f90613609565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610b0c573d5f803e3d5ffd5b50565b5f610b1b848484612084565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610b62611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd890613697565b60405180910390fd5b610bf585610bed611eba565b858403611ec1565b60019150509392505050565b610c09611eba565b73ffffffffffffffffffffffffffffffffffffffff16610c27611210565b73ffffffffffffffffffffffffffffffffffffffff1614610c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7490613397565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f2d43abd87b27cee7b0aa8c6f7e0b4a3247b683262a83cbc2318b0df398a49aa98282604051610d029291906136b5565b60405180910390a15050565b5f6012905090565b5f610db3610d22611eba565b848460015f610d2f611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610dae91906136dc565b611ec1565b6001905092915050565b610dc5611eba565b73ffffffffffffffffffffffffffffffffffffffff16610de3611210565b73ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3090613397565b60405180910390fd5b6001811015610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7490613759565b60405180910390fd5b6103e881610e896108f9565b610e9391906133e2565b610e9d9190613450565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600e54604051610ed49190613034565b60405180910390a150565b610ee7611eba565b73ffffffffffffffffffffffffffffffffffffffff16610f05611210565b73ffffffffffffffffffffffffffffffffffffffff1614610f5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5290613397565b60405180910390fd5b6019821115610f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f96906137c1565b60405180910390fd5b6019811115610fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fda90613829565b60405180910390fd5b81600a8190555080600b819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051611022929190613480565b60405180910390a15050565b611036611eba565b73ffffffffffffffffffffffffffffffffffffffff16611054611210565b73ffffffffffffffffffffffffffffffffffffffff16146110aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a190613397565b60405180910390fd5b6110b26108f9565b600e819055506110c06108f9565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6110ef6108f9565b6040516110fc9190613034565b60405180910390a17f4b39c36d20c57d220f61fd25c4349d4435cc03ef6c2a680942f15333c3c3e00161112d6108f9565b60405161113a9190613034565b60405180910390a1565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611191611eba565b73ffffffffffffffffffffffffffffffffffffffff166111af611210565b73ffffffffffffffffffffffffffffffffffffffff1614611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc90613397565b60405180910390fd5b61120e5f612741565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112c55750611296611210565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb90613609565b60405180910390fd5b5f61130e30611144565b905061131981612804565b5f4790505f81111561132e5761132d612a97565b5b5050565b606060048054611341906134d4565b80601f016020809104026020016040519081016040528092919081815260200182805461136d906134d4565b80156113b85780601f1061138f576101008083540402835291602001916113b8565b820191905f5260205f20905b81548152906001019060200180831161139b57829003601f168201915b5050505050905090565b5f8060015f6113cf611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611489576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611480906138b7565b60405180910390fd5b61149d611494611eba565b85858403611ec1565b600191505092915050565b5f6114bb6114b4611eba565b8484612084565b6001905092915050565b5f805f805f80600a54600b54600e54600f54601054601154955095509550955095509550909192939495565b6114f9611eba565b73ffffffffffffffffffffffffffffffffffffffff16611517611210565b73ffffffffffffffffffffffffffffffffffffffff161461156d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156490613397565b60405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f27aae5db36d94179909d019ae0b1ac7c16d96d953148f63c0f6a0a9c8ead79ee816040516115dc9190613930565b60405180910390a150565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d90613609565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116ed9190613231565b602060405180830381865afa158015611708573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172c919061395d565b6040518363ffffffff1660e01b8152600401611749929190613988565b6020604051808303815f875af1158015611765573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178991906139c3565b5050565b611795611eba565b73ffffffffffffffffffffffffffffffffffffffff166117b3611210565b73ffffffffffffffffffffffffffffffffffffffff1614611809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180090613397565b60405180910390fd5b601360149054906101000a900460ff1615611859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185090613a38565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506118e03060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166118db6108f9565b611ec1565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561194a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196e9190613a6a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119f4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a189190613a6a565b6040518363ffffffff1660e01b8152600401611a35929190613a95565b6020604051808303815f875af1158015611a51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a759190613a6a565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611afc30611144565b5f80611b06611210565b426040518863ffffffff1660e01b8152600401611b2896959493929190613af5565b60606040518083038185885af1158015611b44573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b699190613b54565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611c09929190613ba4565b6020604051808303815f875af1158015611c25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4991906139c3565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550436008819055504360095f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506017600a819055506017600b819055507fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f60405160405180910390a1565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611dcc611eba565b73ffffffffffffffffffffffffffffffffffffffff16611dea611210565b73ffffffffffffffffffffffffffffffffffffffff1614611e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3790613397565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea590613c3b565b60405180910390fd5b611eb781612741565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2690613cc9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9490613d57565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120779190613034565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e990613de5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612160576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215790613e73565b60405180910390fd5b5f81116121a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219990613f01565b60405180910390fd5b5f6121ab611210565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561221957506121e9611210565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156122325750601360159054906101000a900460ff16155b1561270a5761225f6064612251600a5485612b2590919063ffffffff16565b612b3a90919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561230a575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561235d575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561244057600e548211156123a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239e90613f69565b60405180910390fd5b600f54826123b485611144565b6123be91906136dc565b11156123ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f690613fd1565b60405180910390fd5b43600360085461240f91906136dc565b11156124285761241e83612b4f565b15612427575f80fd5b5b600d5f81548092919061243a90613fef565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156124e4575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561254257600f54826124f685611144565b61250091906136dc565b1115612541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253890613fd1565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156125ca57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156125fa576125f760646125e9600b5485612b2590919063ffffffff16565b612b3a90919063ffffffff16565b90505b5f61260430611144565b9050601360159054906101000a900460ff1615801561266f575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156126875750601360169054906101000a900460ff165b8015612694575060105481115b80156126a35750600c54600d54115b80156126d857504367ffffffffffffffff1660095f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1614155b15612708576126f16126ec82601154612b60565b612804565b5f4790505f81111561270657612705612a97565b5b505b505b5f81111561271e5761271d843083612b78565b5b61273b84846127368486612ded90919063ffffffff16565b612b78565b50505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601360156101000a81548160ff0219169083151502179055504360095f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f600267ffffffffffffffff81111561286357612862614036565b5b6040519080825280602002602001820160405280156128915781602001602082028036833780820191505090505b50905030815f815181106128a8576128a7613592565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561294c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129709190613a6a565b8160018151811061298457612983613592565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506129ea3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ec1565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612a4c95949392919061411a565b5f604051808303815f87803b158015612a63575f80fd5b505af1158015612a75573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612add9061419f565b5f6040518083038185875af1925050503d805f8114612b17576040519150601f19603f3d011682016040523d82523d5f602084013e612b1c565b606091505b50508091505050565b5f8183612b3291906133e2565b905092915050565b5f8183612b479190613450565b905092915050565b5f80823b90505f8111915050919050565b5f818311612b6e5782612b70565b815b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612be6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bdd90613de5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c4b90613e73565b60405180910390fd5b612c5f838383612e02565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd990614223565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612d7091906136dc565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612dd49190613034565b60405180910390a3612de7848484612e07565b50505050565b5f8183612dfa9190614241565b905092915050565b505050565b505050565b5f80fd5b5f80fd5b5f819050919050565b612e2681612e14565b8114612e30575f80fd5b50565b5f81359050612e4181612e1d565b92915050565b5f8060408385031215612e5d57612e5c612e0c565b5b5f612e6a85828601612e33565b9250506020612e7b85828601612e33565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612ebc578082015181840152602081019050612ea1565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612ee182612e85565b612eeb8185612e8f565b9350612efb818560208601612e9f565b612f0481612ec7565b840191505092915050565b5f6020820190508181035f830152612f278184612ed7565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f5882612f2f565b9050919050565b612f6881612f4e565b8114612f72575f80fd5b50565b5f81359050612f8381612f5f565b92915050565b5f8060408385031215612f9f57612f9e612e0c565b5b5f612fac85828601612f75565b9250506020612fbd85828601612e33565b9150509250929050565b5f8115159050919050565b612fdb81612fc7565b82525050565b5f602082019050612ff45f830184612fd2565b92915050565b5f6020828403121561300f5761300e612e0c565b5b5f61301c84828501612e33565b91505092915050565b61302e81612e14565b82525050565b5f6020820190506130475f830184613025565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261306e5761306d61304d565b5b8235905067ffffffffffffffff81111561308b5761308a613051565b5b6020830191508360208202830111156130a7576130a6613055565b5b9250929050565b6130b781612fc7565b81146130c1575f80fd5b50565b5f813590506130d2816130ae565b92915050565b5f805f604084860312156130ef576130ee612e0c565b5b5f84013567ffffffffffffffff81111561310c5761310b612e10565b5b61311886828701613059565b9350935050602061312b868287016130c4565b9150509250925092565b5f805f6060848603121561314c5761314b612e0c565b5b5f61315986828701612f75565b935050602061316a86828701612f75565b925050604061317b86828701612e33565b9150509250925092565b5f806040838503121561319b5761319a612e0c565b5b5f6131a885828601612f75565b92505060206131b9858286016130c4565b9150509250929050565b5f60ff82169050919050565b6131d8816131c3565b82525050565b5f6020820190506131f15f8301846131cf565b92915050565b5f6020828403121561320c5761320b612e0c565b5b5f61321984828501612f75565b91505092915050565b61322b81612f4e565b82525050565b5f6020820190506132445f830184613222565b92915050565b5f60c08201905061325d5f830189613025565b61326a6020830188613025565b6132776040830187613025565b6132846060830186613025565b6132916080830185613025565b61329e60a0830184613025565b979650505050505050565b5f6132b382612f2f565b9050919050565b6132c3816132a9565b81146132cd575f80fd5b50565b5f813590506132de816132ba565b92915050565b5f602082840312156132f9576132f8612e0c565b5b5f613306848285016132d0565b91505092915050565b5f806040838503121561332557613324612e0c565b5b5f61333285828601612f75565b925050602061334385828601612f75565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613381602083612e8f565b915061338c8261334d565b602082019050919050565b5f6020820190508181035f8301526133ae81613375565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6133ec82612e14565b91506133f783612e14565b925082820261340581612e14565b9150828204841483151761341c5761341b6133b5565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61345a82612e14565b915061346583612e14565b92508261347557613474613423565b5b828204905092915050565b5f6040820190506134935f830185613025565b6134a06020830184613025565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806134eb57607f821691505b6020821081036134fe576134fd6134a7565b5b50919050565b7f4d61782077616c6c65742063616e74206265206c6f776572207468616e20302e5f8201527f3125000000000000000000000000000000000000000000000000000000000000602082015250565b5f61355e602283612e8f565b915061356982613504565b604082019050919050565b5f6020820190508181035f83015261358b81613552565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f6e6c79206665652072656365697665722063616e20747269676765720000005f82015250565b5f6135f3601d83612e8f565b91506135fe826135bf565b602082019050919050565b5f6020820190508181035f830152613620816135e7565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613681602883612e8f565b915061368c82613627565b604082019050919050565b5f6020820190508181035f8301526136ae81613675565b9050919050565b5f6040820190506136c85f830185613222565b6136d56020830184612fd2565b9392505050565b5f6136e682612e14565b91506136f183612e14565b9250828201905080821115613709576137086133b5565b5b92915050565b7f4d61782074782063616e74206265206c6f776572207468616e20302e312500005f82015250565b5f613743601e83612e8f565b915061374e8261370f565b602082019050919050565b5f6020820190508181035f83015261377081613737565b9050919050565b7f496e76616c696420627579207461782076616c756500000000000000000000005f82015250565b5f6137ab601583612e8f565b91506137b682613777565b602082019050919050565b5f6020820190508181035f8301526137d88161379f565b9050919050565b7f496e76616c69642073656c6c207461782076616c7565000000000000000000005f82015250565b5f613813601683612e8f565b915061381e826137df565b602082019050919050565b5f6020820190508181035f83015261384081613807565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6138a1602583612e8f565b91506138ac82613847565b604082019050919050565b5f6020820190508181035f8301526138ce81613895565b9050919050565b5f819050919050565b5f6138f86138f36138ee84612f2f565b6138d5565b612f2f565b9050919050565b5f613909826138de565b9050919050565b5f61391a826138ff565b9050919050565b61392a81613910565b82525050565b5f6020820190506139435f830184613921565b92915050565b5f8151905061395781612e1d565b92915050565b5f6020828403121561397257613971612e0c565b5b5f61397f84828501613949565b91505092915050565b5f60408201905061399b5f830185613921565b6139a86020830184613025565b9392505050565b5f815190506139bd816130ae565b92915050565b5f602082840312156139d8576139d7612e0c565b5b5f6139e5848285016139af565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613a22601783612e8f565b9150613a2d826139ee565b602082019050919050565b5f6020820190508181035f830152613a4f81613a16565b9050919050565b5f81519050613a6481612f5f565b92915050565b5f60208284031215613a7f57613a7e612e0c565b5b5f613a8c84828501613a56565b91505092915050565b5f604082019050613aa85f830185613222565b613ab56020830184613222565b9392505050565b5f819050919050565b5f613adf613ada613ad584613abc565b6138d5565b612e14565b9050919050565b613aef81613ac5565b82525050565b5f60c082019050613b085f830189613222565b613b156020830188613025565b613b226040830187613ae6565b613b2f6060830186613ae6565b613b3c6080830185613222565b613b4960a0830184613025565b979650505050505050565b5f805f60608486031215613b6b57613b6a612e0c565b5b5f613b7886828701613949565b9350506020613b8986828701613949565b9250506040613b9a86828701613949565b9150509250925092565b5f604082019050613bb75f830185613222565b613bc46020830184613025565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613c25602683612e8f565b9150613c3082613bcb565b604082019050919050565b5f6020820190508181035f830152613c5281613c19565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613cb3602483612e8f565b9150613cbe82613c59565b604082019050919050565b5f6020820190508181035f830152613ce081613ca7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613d41602283612e8f565b9150613d4c82613ce7565b604082019050919050565b5f6020820190508181035f830152613d6e81613d35565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613dcf602583612e8f565b9150613dda82613d75565b604082019050919050565b5f6020820190508181035f830152613dfc81613dc3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613e5d602383612e8f565b9150613e6882613e03565b604082019050919050565b5f6020820190508181035f830152613e8a81613e51565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613eeb602983612e8f565b9150613ef682613e91565b604082019050919050565b5f6020820190508181035f830152613f1881613edf565b9050919050565b7f4578636565647320746865205f7478416d6f756e744c696d69742e00000000005f82015250565b5f613f53601b83612e8f565b9150613f5e82613f1f565b602082019050919050565b5f6020820190508181035f830152613f8081613f47565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613fbb601a83612e8f565b9150613fc682613f87565b602082019050919050565b5f6020820190508181035f830152613fe881613faf565b9050919050565b5f613ff982612e14565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361402b5761402a6133b5565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61409581612f4e565b82525050565b5f6140a6838361408c565b60208301905092915050565b5f602082019050919050565b5f6140c882614063565b6140d2818561406d565b93506140dd8361407d565b805f5b8381101561410d5781516140f4888261409b565b97506140ff836140b2565b9250506001810190506140e0565b5085935050505092915050565b5f60a08201905061412d5f830188613025565b61413a6020830187613ae6565b818103604083015261414c81866140be565b905061415b6060830185613222565b6141686080830184613025565b9695505050505050565b5f81905092915050565b50565b5f61418a5f83614172565b91506141958261417c565b5f82019050919050565b5f6141a98261417f565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61420d602683612e8f565b9150614218826141b3565b604082019050919050565b5f6020820190508181035f83015261423a81614201565b9050919050565b5f61424b82612e14565b915061425683612e14565b925082820390508181111561426e5761426d6133b5565b5b9291505056fea2646970667358221220523f6f166672ed856c66d393d0c28ec34b3e3831042538630161337ee1e57c2b64736f6c634300081700330058200241228ebfbb27655db04f11527637c7468782ebd99f6deb829be10ab750cdce4a945e172ab9f7ac912f4c03ba0e5be29a3a6325808e5b84a0a30200257a7e9f174215989c715a100a3a5208005820034266eb4362e5beaa5d5c11eb98022ed6e02536568a09ac1bcae07bebae2b90436e49cf005820034c923ae53b4674c40c978904edf7a7f483a068d532f17d626156fcc98522605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c02c05268aee8268bb714c175c690800fe46bbdf50bf395744e1339a103ee05820ffffffffffffffffffffffffffffffffffffffffffff3101fdc116c09bccc9a40219060103acd2611e8e85a871079e5b9a24a36a264b4d6809f634ea7d1a5db0bdabd388a703929def23a8e1f0d81e2be24dbaf57cd6d3af92c6b1b85a0d68e162c936bcf51503969777efb7ff750452e2c1319e9c2237ac19ef510910c675e3113ccf3e4d9cce03a2ee2f8ef8498b6c2f72925651c5ef58355eed9957c0339e7fb5e3744edd43c6035833687d12263e33fef079417c9c3d121ae5b527ad8201c58740096acda3de8001410d0316102ec6b6bded9a86408bab519cd536e13ef234cc20f02a096a817c2e5463f40058200247aa87b4a6a48760e3e8919002738ab925ef1927057867ed9d9b836ac298485820ffffffffffffffffffffffffffffffffffffffffffff05d64bc3872515fbfb030322b915c0520a17bb34dae74974518202cfd2c943537aa101f86c99f9a50781e103689762fe0712189cbd14db4ba34441e037982aca38b98849d9c32fc545a26bb603148d9fdcbd8a48152a6683fea6bf4330a417c6a5842ecf9b417e999670028d8201410a0349bdfea50ac371174afc6ae7e951e3887a4ae6da4a85c0b58158ea59281144020219bffe0390b08fd69b6bb8895bfc383f1f79c9620e38380f1a18b845b7bd40ea43d4793503a04600dda057a1882a9002ad8074ca0dccd705abf6be423dc0f9e629ac6d64290058200245ec5f0dc9f5636d23a0782d5fe9da308b9f0da4387fac0e39a212b89f84f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031fb0417d0a5fe4cdebec4fd4bd8fef0962992dc9cf435057bf3e7ce8ffff4203030219023c4d01bc30c4d64b611c281aee12419baaba7881e8bfbe1b3df6da53d303f1123b1cd27a68512ed227a6f8316b8fdbe0c4979aee5733a6be16b93ee519ac0058200236710ee8aed82dc27924c316828813a1c4b66450f8367b310fb639b1dd6aad5820ffffffffffffffffffffffffffffffffffffffffffff23d98ce41eb2fd8a116903780ca08bbfeea68f0fada7a9c158ed55bf089a2869720b7e3f8822c54005f0dc0395035389a72750d9c96604b2442f44424473b0f685ce19eff46fe270769bd46c00582003f0ecd4ef4e48e0866c9a3d6416ebcef6841cc00238c00d9c1878c0bd2863c04a0e7a316664d0c5b7291500582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67204a021e19e0c9bab240000000582003cf9dd7786ebad29ffb4317b4e13ba8356f8ffecacf9a670083542e81fb18805820ffffffffffffffffffffffffffffffffffffffffffffe53f6df6538769272994021910480333f2ae0147ddd53465fa32d1422df2d45cc9f6b45c0dd694944d28ada4d0333700582002361323024b26a006baadc70a72bfcd2b2b73d65b22fd55291f5b929d92c5504a38ef06ba6ff8912baf35005820029e1ecb72a2df61cf7f7e32ce41bca3647e071b240ce1b02f20bed89d7222a24a32868c07f760d45784ca03d071d03788acdcec0b0eac6397e1c97d5f7c63e8b6d2d54c831be8d07c8ea0270219ff9f03ac0432ebab35134b8f9235271acd145a7007af3caaec7d07ab33440e53eacfb00381cdab668cfc6f3e382775084db05edbfd8bc0969aeb3fc3753564a2c51909d6039eda6d7ef253bd9a559ad921dfb21cfa4f9fef222575993f4919f29a8206e2d6031d73682b2296f9327647ab615a43dbe7e4da06f3840936f1f536be34907146c803690756a3dc09bb154c9dfdffdb6eac59729d0f4eff312231961adf37e5d73d370058200272ee865ac41ee540bc484ffe849df0a733ea66d858fd0c8503ca87eee56fe34804000000000000000058200231f0670caea05065d4b5a3a3607dd318cb3253ddc866d38d46ac5ea70d4cf74a2fdfe59ef0683174b7e60320bb8af7ff24d2632977eb61161dd6c8c03581a5ba8ffc91c5af5a7a80a4c5b303a6bd25425a1e22006797db4a83e30ae17fcc32de2b4c33e5c17e1c4e74698465033255c5766a25c3a1b8faeb9871501072224f98beccf53c992e13bdfaa90b2d8500582002de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090570100013c571e3d3be1c50e35453bb46c628100822a8195033f5ba6921f109c2e7f6b45b145d4c607f1be7891327709cbd62811f87308e7860300826f6701f9816c6fff1d817b9a7bcc143bc1e1f9dbe689335b8aa2d8601c02031d4bf939240719c6f7907f91fcb4c2edaae2e32fc6fdd66fc1d11a392f6e753b03d43ab2bc5ccdc3a9626c661761991ab863bb0c393fee366eab331b620f38a035005820025681f2286db0d121e7af92a5fbdb55f9ea1c203f09073bb4d60f58a03036f943032a42033746955f358c21d66c5b98aad8cfe017c5833f1cc2db0c412c8f6441edc0602502196eff037e484ef26f1ac81961f3288d955b4f07b448f2dc3a58754980d0e194bec0286e03ff84ff5566807da02b73f4f7b7ba8413352b30b8447ee2cac75af9272a7cfcf803c9171ddb6700beec7e6f2b3d13da0a449999b0c85b4d64ebac565cda94b85a29005820029fb0fde759a0c0af78c67dcf1bb6e65303c666119951912f294db7a9c519775820ffffffffffffffffffffffffffffffffffffffffffffc154a15984c82df8041803ead7d92edb534037f3cf27a64a614e279d833357b66884f5a50b181e4b0545df03545c1dbe489ee1f9222b6f1b76c887ff45e4d8e33af73c4b3fb11538a462b519005820026988ee4ad5c0a53e6701f59148a946934a6080cb5ac33964b022550ec244ea4a497ae85e8b34c2e0000003fca565cd70625fa8e06a21f427188cdab17149373be3415da8d6f5c469c7e9dd0356c6d6f089f2f7f57ab6d31305af4f9894b6f3c3188f778fd1fa8399dcc124c8032a9e885a76b710b80618590fb3bce843efe80074af1dbdd5a6a3936c2321fcb900582002a94fbbee8f5c30063dbad29af28490d060d32066088e2b8ba48c47239d98ad5820ffffffffffffffffffffffffffffffffffffffffffff63c40b88d549930f380000582002b36ad058efdb439fe672e0c0c955d0c3c2873762b0504ae7565e582d7bae3d5820ffffffffffffffffffffffffffffffffffffffffffff3aee3be365d282e3fec00058200239acba43937ae6cdf3b9e0e4365a47f4ca9817a3fcd66cc01f5c8f28c39bac4a1f30d92e62be9ed76a3003ab8d8ce01790ed3eb6d797e6fe3b92298f203c48102ea3629d293577a01e179d0219fdfe037d97a301fc79909585c3e2c2bbc92e451f87b783bced2571d9ebd7a18552c7aa03aaa80dd279b31f699f26f598466f4587f69ca8a2436fbc0d2a6c2c07c70a289300582002ae7c487d6f963061b47fe1d2f2f650a6406b5c766e6542313b467b120b9d394a24ca998ccb8208ebe60d00582002bab8e49979ad14a28fab605831b177ba462491a9af8f7e54ecdb38b166cfa44a011fa02d2d6c8e306c59032c2a72914bafd165197915b55fd7d36acc33317e32042844c65671d51d079c7c03e814bcc258259e1c440d88a8168ed5a097cd1ee51b99ea413a46db5d0034bb3903bcb63a2a9f7fb9f2a6c45802c7d02c71e0f9d501582351a6f470cf1048d8f1a1005820024d5af55179b5fe4cf5c4453f7cffefb050d96a2e771ebcc4cb6b1af629b9074a55443029312f7dac0000037003fca4167e5a1f32d0dd82f02ac1ca0c79424ebc8f031c2a4e8cef2edfabad00582002b8fcf2914651fa88f237ce54bcb9f03282e3f2d611db5d744043c57ff315565820ffffffffffffffffffffffffffffffffffffffffffff37176136d33c61b7ed7d0336da743ff41b3293936f7f22ecbde2a8cb80621f6e53394eb4a3a9ea6d92e34f005820021108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8024b52b7d2dcc80cd2e400000003f1c088daab8e37cbd00ffb848f03356ee4f3e14f624c96366899c8a3182cc71600582003582a9db9539083ed1e45cba364656ef9cd24da9c80384341d97850f2eb60c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200332b8cb22b1a1312a2d2f6f4a99fe6ee9fbc591eeeeae04db6f88ab2b7d17205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d2d0d10232a74582a29f6bc86e985d56dea699231ccb1c490cd068f26f72504a08748ede386f762d4dd300582003643828dc3dae6649444c91253cbb94e1b3a1bfc2c4db0b8479a099e3f6d9904b09ee3cb689210a87ba26250219900a0219ff7b0344ff6a9c2a89cb1075d89734684f57479d1687ce7a1a65c43cf692341f9de0b403bad1f4fa8ea82c9ff9c6f9c0defae80d35c2543e2fc07c247dfa3ca35af460b0032a8b0b77088a80cf06ccd09837b18761845abfc755373351abc854980c709b130058200240c9aaed03299a1f472a9282f7f9e1b78db925e4a1b3caf4bb1075465d3b315820ffffffffffffffffffffffffffffffffffffffffffffddb462255a54f475d53900582002f7b8a0611b8fc17b58ee62821a2e0788d9743e728048470ce867cfff0eff354a307bf3b29962242b4ce3033eebf2c1f3d45647365d73e0ce8d64108331c3eafd4fea83b4fc136b19a671490321358adbcf8cadf96a60bb16f66bee90be460c17aade08a802e760cac7c86eeb00582002cb614174838656d688d2549322b996228fd78bf2de6bea11f230af95ac44b24a7ae021effb80b52db8ba00582002930a6d1be34658a5e93e3216d924aee4206a99bd8ea115e33ad5976412cf304a1cf8c690578d46b2e95d005820028e4eca3e81e83001472a50ff8462a73e5cdc095180bef1fc11d7c8b86423a35820ffffffffffffffffffffffffffffffffffffffffffff668cf5171ddd0acec4aa0058200230ac8be640bdf067a0660079d3fb1343f76d4fa32cf487433e9807ee072c9e5820ffffffffffffffffffffffffffffffffffffffffffff3a2c20b8e6444a1f610d005820035767c0ab6fb383fb84bde7e82920d51d03ca917799f3de2487588c5899fe204a0a8b9c7e9db1b0e4f5ea00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04b52b7d2dcc80cd2e400000000582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440547a250d5630b4cf539739df2c5dacb4c659f2488d00581f023fcb56e79bf658a3dcebb44ca0b00feeeddb2efb613ff3f5c975a71a025e4891f2d5e80ced0fdd00581f0200cad583ea696942616cc2e715865cd8688e4d19660407b03ea3c41de7254b017b9e35b8444007bb60e002192008021981a003b53c73c9ff87527b67eabe26c7e0db50b4c4468f46dc7f1f2ca80db8bc07925b005820028021453a014380b0ab78ab71bf89b647f0d5f99788eef02d2736b02fa021a34ab05a4e2f17f0e8202a050058200210ca186c735b622b8e2e853a6081f35c3d3ff330899fc76e7a362acf3368ca4a0cd0f094c11ff2f3c2fa030b14de405e01851ac00a27833cf774e57cd8338824c25df3fdab2634d46fe08e0219ffee00582002f085ebd8c47eade0c67c98b2075b031e06b4a933a39eb86703391a693e63a55820fffffffffffffffffffffffffffffffffffffffffffefe1d9605696a22e80c9200582002c8e3cc9c61619c7ae75ecdfa4f81a46216933ffde3a931973e0de3ebd26ac95820ffffffffffffffffffffffffffffffffffffffffffff67bf5560b70e094003f003b2f8027f516ad859051d4ad30888dc57f28a8727c545cc89f3896faf4e9715e8033f6badd0cab857939c30be1a766f0f30051ad7c8e2b9faefd49b46c59716f6e00058200241bea48e950a4748a2c96285880aecc5f9077dfb9de5baccf936ec6c0a1f375820ffffffffffffffffffffffffffffffffffffffffffff98073560b8ed668d0eec00582002b50ca6b257c374e99ff8764644bf8ee0e2764f525940d3fa44a2da7a60578c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002e48576308224bef14b193f2b33f9305caa8971f8b07da00363f5dcf73d85d65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002650e8e9211154f4efa3ea6074567531e4cb4671bd955054b7af5a1c1ff8aff5820ffffffffffffffffffffffffffffffffffffffffffff7e1305a0abd2ebd70d68038ff70106e57c3119129b302718889368c015545ee808ecb4eee26b2232563aab0058200279fbfd0d0776f018269dab0c8a252fc680bb69c633121e7bb96e8e71c3c3144aabbdfc955f1ad48f113a039513ff7d4c3e12141313050b546124f0c8fa66f548012593482e53ff3630f4930320e00498c30780a2aaeb296c38f791580b417d3cb350ca918962fd83f5d65b9c01410d00582002e2ebbaa12a9d64e87b7b3a26c8e9083c1e096b6dedd5cd3e878415b1c296335820ffffffffffffffffffffffffffffffffffffffffffff0d43c9493a83de2217c903e6a65b1a9deb3061c646dfcd6ea7a9b98a36f860bb952ab2c818eccd37eb655c0219b7ff039974634c3681ed26e69d59061fe210e2215a6ef8ec54b581e9d56edecab0bcd300582002b34bb9ee2c6d036a63b01a36faf3ad2eff6f61fed6d402248ab9b5fa6128fa4aca4b6b50e5cee30a4757038047dacf25d1b82337db0d94c71732bf72a655b1a186e11532861b06ebb9ab230303c92b21d43d2a24f7de0ad4b865d490c803c9bfb6fcb8376af2291ff4e5bd6f03ed0211c377d649000ad348ef514f827b06262ea50adc60372fec681cb363c15303a20586f82063f0e974984729532b1abf3354067393b77ca4c0991895d37c2f2c00582003f1e181c8df970e867da1f34513efe4fe2c47f72eca7ee24eb42d1a22e5b7c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200393f0635a701571efff396dd1aaedfbc5daffbde57bd2f732e9f04d1b9a5e104a11ab110e89173c84b04b0058200357eadde0b602dd9cc0a5905b399fee63ed56e64fd518ec8c4eb7368611ef80491d4fa1aad0fd3649b60219200600582002a6a1c3b664aabe7ebce049ccc3a7ada8d56d5882125355a404e1c5f0ca0cb94371831c03659fe3d74b25e69024738cb0e47829d42fc9f41c32de945c3a95387f12c11f10030fa90f94a339c84087c737184f32990da865dab624a178d0f4f800f82d33a4f600582002962f64549c405f24664cb54982fd1fb850eba732b86f9837782e25f73623e25820fffffffffffffffffffffffffffffffffffffffffffe9d98f9bfdb20b733121300582002ebc3d0c8b63cff3e816fed74a1b2e793601a8a492af7f2547473cbf9f02a034a14a5585b040defbd258a00582002a9d3239bf9d8e628bb6ff2493b2292b26a1a1b1585223b4eb4bd52bf69f4a55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002bff0ed58e95a3f7abdf630897422870194eac51ddc01703d751671b7825f9f4405a6686800582002ddf56bf4a483863e32068885f5f08cbec3701268166a4e5d6dd3c9180082334a3d0b8c38c955ed8b52d4021977ff03f03bb234e13a958d67d18954be78b1eafd9ee03475f1fd9c6255acaa38825e270219ffff05581e03e077b1aa44c3fcb9506269759f1e0863195ea17828d4f1c4b5268d796007011942aa05581e0316d67622b4a1288732a7876166557e73b1d5079acb0f91156f3d7a8b20040202195f5d03b9f61ac47b9c687225af669d6a56d83d5ef079bb99096dca45c6399516ce35c2031d2cfe728fe95fc9639694838a65012a527cefcaec414f685c39341dfe3f8167037e416237be7672d743c1f385bbe514ec411d3f5b14ea4e26542af5b9c1e7d70003f01d7b6e20a5ab36c8b7a18bb616cfcfc516f4b66cadabffaf055ab4a0f848d0037081fcb13c2dd351e51f65ed2c8134dc22cd834aa6d1135ec52dbbbe8b28ffb2030bf1b796484e299eb777a7b1416d304bf56efcfbe61a93ccfd915debedd981b60390672b5fffdee95f2d22a8e65b814d4b54bde91c91e3bfe07ee9bacf64aa1c3303e1e9ab10695e273811456407022efc4fbf316ef3285f26e209dcb8e83e496f7f03f53b616abca038c60a5ddc5f65205578368eb9206d2c7c4bf0cd07a6a253d6af0219ffff03e472a761ee8fffec582094adbafd0cbde9aa77b9cf23bbd7e341f93d4392070c0219ffff031917fe6dc8df80628682309cb4b3866a41f22491ab61aa7b7a1677e8bee2a66903c56d8bc4621ec71d5d82a2fd58b2d1f002858b6d7a1fdd46b7bc250f7da3253d031f40132f5faad89aac23eb674f670cba2a352fc590bc48f2afc578f5432fec7a03f238137298674c5cd6d0f15c4c5111c92c2b728e0d816767eaaccbe97d75c7270219ffff0219ffff0219ffff03b334e59c066ac38a803e2892d8fedc29b8b8f2698b56bc604d57af49f05953f903a51d29ae001f89a795522757b384f404552eaac3867667adac2ecb26ea867bb003ccaa98420c77554c905f567698f0653c58b58d5d8cabf47e1f9685f835b012d2036cac2cead44fb47753e0cbc9205de0ee9853aac67d0d0b535a91acbcdf2ae70e0368d64c90c80d8664921931cbf6abcdd972eacddfd4a2282b33382dc4beddfa3b039691cc30985b0f003cd6b0c346c2905287c7a224e30c1ed17151dadbaa3d7356039ad8fae7bb7f8bf3fee681e946aa19a6fcc7bbec878bd99c96d74ce7e2c2355403d265e49fb9846e445f2d67998075d1056ce419654fc0a8001d16a12e65e11f4c03bf7eb78baea8e932143415abd52c9f7b4fbb8e64f56c810f6b99102f0a50602f03a55ec4b386169cb116973a2ff114508d70d459a6ab454ce065530b8a34b968fa03ed5ac504cb3458922bc260bebb9b3271f6915a69d756358566880d136a3320a3032f875fb1aee286181bdb25db2ad3fdaf31ee361ad4f18ab19af890d3c8c263e703cabf692a5572a44a2338a92f890fd54545342ac3884752fc7f5b3afc694b06ba036d8497fd0de84a4d107f4c6c60f74e88b5fd8c5f5bbd36430511ce8e246099950362f4886309d838333159b98ae6ef780a76153e848f37975d3bdad8e1194abef60341a3bf72bfa29e06fcd87dc4b7b4184e9168aa6ccd5c9ac5fe3448ca8293e2cb0391b8df1874e7e162b62f09900cceb42b494739c2a248be44d718d16efd1d41f9036e79fdb393758929606ff34facc3b6dabaa883bc7fe92de4c8c58b8a06135d280338e91cfda1e908acd78ba6ad0d0bd13ccd100ba14f232edad11c1ea15ec9b211030cea2476059458d6c6ed1966958b3a536a1677e77df0b8f529a17de59cbc6bfd030ddc19b5a279a9ceecf8f97cf0f2e18a7532ff5e967fc3db4e4c6f4eb453410b030fc911eb95490029a668e141f2d00a5234cc90f0a7d27b741156856f97f5e89903e63820311e7678b02d09d5f4ddc0e4337e5018be0f6e072381cafe21dfa5a891037fd37ee4a9e6b56a145dd773ce5564948ebf546495c8eb4205e927a646b8b29603fc8642238e54afbf5ed253a8765827d226a4ab1ba28211ee3ec4a108c013628703578b2581021bc5d73716363126d05bd45cf11bf77c89519e90bbb372fd71f83f03ce1a15a8048074f94c52b6a47fafe4b91f377f5eee1186dd4fae0df1b3c04b04032d4d20ecd4f74620b104c64c473bb770112bc116204de539949e754eee50dea1030306ddeb778f7b60b8b2a59f9fa23598d8f8f0d9dc5334601a5f71353a7dadaa0383c563a32e25787032e3a11e0d2ee8f04123164dcfccb0f8b49ce8439a70f6d003aae89412845dcf2e452456a448b448c736b9b2eed028f7d50f656a0c894a62bf05581e03a03737e4f1e1850816c8044b2bef0c998ecd2b325aaee1cc1def957d900c034792a392dda1ed1003acd14392c4aceb98b74f6835ec726b7361903be9c11884cf83dbcb407d50d4df05581e03e5cd94298a52f4b939edf05f49131606d16f2d076068e5999eac4c72800c014701644cb507100005581e038ed8f3fd122e8d8724ef759cfe7556cdb3875c8cd989dc1231ecbf63a00402035d51f59b9ac14657ee257d126901198e05bd3927f554713de2dd3a7b4716755705581d02bbbfa40806a07207f8c3179baed0d84b85501d1eddda5fa50985d40f08470ff103f815481d05581d0235e1152889c23e8a9c9433c342980b517f8d13bca3b932352fcea92e040105581d027baadf86462ecc81b54b87e30f712c10c75a7fc1d61358bdb726ae760c181c475c80b2fb6212b20219810403132859e6bdcb0e89f1f6a1872918fae2114a116dc4d4c2ea08b0f2cc47e397a601410405581e03349d8f5bcdd769824753ce820c31b75515c8d87ec1da67606ee6fd7260040105581e03b4a5242d347061b8d0636768e75d79717785bd6dc874999af2bde3b0b00c144785c620b0fd753505581e03379866041d862e98246ed141b69dcdc056181a8ae915f1483409feabb00c182c4701097ffd3836440219e4de03dbe5ce5eab9577c26eb8e548b7cad028b11bf9bf25066407897dc5f0bd66b2f103807ee74c61e45998952cdfb54062c3e8a5d1d3f50290edeff38bd1db347cc04e034fde76ca72f500f3e141eadd993118016538e9a42c7f8939911f1e5782d809e00384d0e4075ef24e732267189d4e6aaa8a0b5532fbfbffccae6522f2a5276330f203b10263c3092239399a378ea4383b6a548cb4b81b4a7afd18598c118ea5818a1e0302329fd877b2e0142b1b7a3584c63c899431baa44515aa7cee21bb4920e5451d03c124675d3a372e015b6a6eaa4a4fd1bf2a652ce3c0f3c0387c03ea839a3b577f036d3b03a2e5599b4f080b708fbae49183d24e470f6ad51e1d4198d89a2c830e0e03050b2f45432bef0c57bbb01f2322ac4f306e626a8e49148a1d2071b6b1a266d503c13ac768a7e8848349df0efb86b3efd6f97dc3039de6d4166ade793af1b6506e035222a0abc88dde8160631a6a8484539cee7eb48e59b0bbbe4afbeda16fe292d20363c88655908951d4fe94c4a2f2b715ef0c727d79855af69f01933f10bc91233f0219ffff0219ffff03f97f6cedbf6402b7f7901f82562bdbdfbaccb5e638b5e342022b9c62aab0ac87039876a851f17597072613a440e844344b20121777329a8b9580e32c9cad5408b803c930021c22ed29c8904aa717c47225fde2e6fe667f4499315e85d5d2974975fa03988841c17e3ce9cbcc119a150dd9d792e942dcaaca426334597b2d7dad892ccf0361a5db10bc3c8c496b713e57c48d0e5b39fb694075488273379751a58eaf831e039806c4e2b6cb5c4f8d1fc9e379e0724dabdff09e58be7baff672a162502ac97803a031d7a9ed5ca0e6f6aec541ecf2e7db1abf4d410cb922888aa46418a8f191c503903a57ca5985ca81c883c9045e6ab5cc7585ca8762ac1b8a00a9d1e26bdf1b82038946c78c5e4dc9aa3a166c68a6a05f84855c4899349514c959715ac8e73c67ca03e2777c18994c2c0002c1e7eccfe4faa280aba7b5b72e654d51b0df44267475c50219ffff03858ffe6c3b6a3e0a03d569cc32c73cde8c7aa9908ea451370411b4602e61851c0352eec0d9fa033accf9ed64b44310082bbd0c4b5af72c8ac4365ec52cabfa873303175da5a442acef5cfc6965821ca2be36dd544ffc578a0be9687ca9ff0750704f0368645ca42d37e2790652f0b1031afd044fa7fccb1cec15d89a17d378de6938b40304040bedd1e1dba30015ffc2021feab6758e7683bfde8b0623f24f79993d28b903057fa8ed655174cbecc08f2076db323ee25574f48b388f809eeff2d08c4e62e303698db1460fa8da4a36f8b431d00b30dae37584e560baa679a4a6f03007b99e590306a5e201eb48806cecba0dc1a450542fb68e3f174f5cf38556ed5b3d1be6d5be0365bb3dac25acb341e4ee3765db29e926674c61c4bc08c1f408ee4189d5ce4f9f0219ffff039319d2e5443e9c18550b7d7c0ad6a99071bb40ce196191f384471be4774b39d003e3f408520dd99a5c08a4d28bc5447b3d67334c035de8dfdd011a7e60e51580b10379ac59acb5d718a56c5c118a20aa10aa0ebc86d84c18f6a985f5ec2bf17123f30393f0ab84cb380418b356272df4b6b9b94d950a31062eb2f18da5782d0ad9ead3036398609f0bd58be70352cda18c670bd6f7aaab210c3dd3d7dc292fb87268e33f039e61735d786fba5fb29c3a154278f7393e74a5492df29adab21d417cd767a0d9031d0ece2542223adb875bd034ae9ec9a527ff193bead71bcb7ee1f67ad4456eca03d67f1b8031be8bf633aaccfff22c98b4d3d19f6d6c52ad6368d6f4806e7c8c420318beab24c6a22d43257e6ae9f6b703519facb20faf640d5f8236be7b91af962f03a0cb04c7e2ae2bf997946164463d9d9e206a1ada22edb3b5eb05bdf0fab8ebdc030a67869387a1257765c28cbd325b88b692c0d526f8336816f7fc33f894592053037e6ab0a1772d8ed72ff1f0ce786e05db26d4266f16d0c85642e2f0c50f3a6de803788e2cb01096ad11bd686f6b0f6e0083583f4b92ea3457243711644a86929bab039f402fff777ccd69d49056de8a699553149a98835627d82c54a8117449803e7d0342767ffd88629cdf9755ad8d6c16769a36669da9e3786253e387866702cc7ed3033dd592e95a9ae8838026b1b6183328d7bca570bd305aa4e5c9fa90906895c2d5035770c06889634b8e751f1e9bf151740de5f9cc243089ecb653119cf1f23a98bd03c3419ef80538e8787ebcdc54faf7c0e75f33fc25a2d48688de629de63bf9453503b539636420a51bfad383499c2fda4c9cb13c8d4809b44c8d6ea39dd75fb256de03c4c40e47f9a6dc39f97dcc7b9ebd5548c58890e018734e3be7ca0b5525906d4903b57c589911dce324ee6696473a58341aafc1dcd093ea8c9a5aed323f11c6893503e956ef1ba302b3fbb33116a417ff5366f557711264831255475871564c766a930323f76e6129f9654e3d58c19a675adc664008dbf9cd0a37fc04f6c36248aac793037857d203940ce4d9cd55dfcdb00ed84a7c911b74bbf7d22272d565e309473eea03ccf938365ed0a93598ae5ade6f876831983ae6f98005f0c674d952d2d793315c037cf811ac1cf1844237a6fc8d961f39688850b29d8d835ee81ea61291ec24813e033340b9fa458d6d2893f4404e8006114363600825c809e5503e4b87c142bd14cb0388aab6703674280e7717b137c9a41e286f7324660c87d805db51af9316ea128f034bd54df058d8f44e1589f972369a6266344f9db77ac8c22a7e241adaa17af562039da80169343253c90070468b20690469294593e389bc369042c72c7a44f8693b039e680c67446d09965e5a968d1118293c424fe8b75b186284adae70a8adc82a0403f634b5cda760f912317a0df42ec757f8e927bfa3ab823628af2ed0213b563472038ef136c0413bae0104ea3e42e5c9fd968daab2363a548b5736767b38781fbdde03364ba834162786ca8c0f9162223e1b30f6ea54bb618622d9c1c499601457b385035efb8c3d11fd5e624d85b1c44debb70fe9f126c52c202dc126bb876bbde0b794038c6d67a3cd88e375df93965d7ab4a496158c54eb04c515aeb6ab16ccdc98dd870325bea98f0a9a945378f87d7ebface31898f4dc3fadbc828c0b3f7ec0548f396003aa70592b5a455a2a2d591e379aeeb390c44d11bab72787f59735fc0cb57fb890039671b7f510ab15db898fd055650168b81f71f2771820df91f8366c42a75f544603a4109e595c93f1e7c58dcdcab4734f26321809b8864cd317e59b014a1471e3a503ad3c7e171ce8ca1f2f99a21c32ea370624344ed0e6489f09028999e96c19a8fa03e7ad0ca9e0b83880f634a3421df25ba6263af970af48a02c766bded3dabcc88903d3e179e1229167dfa86bc529ccd453026d318a45a481d640c2583532d52f6956031e4366082444073b4bea23568c108c4288f2293bf126f5cd6359c41ec52fc7fe03ff3b412df3c2a92937be74fcaebe648addd6b50900e580a0c404fd666dde93bf05581e03516a377ec0091203a8c9da876143512fc6e3c4b65f53547b8662b314100f01472386f26fc100001bffffffffffffffff05581e037afcb7c28c294245fff53c1c5c5c9cacd9289e2b0d157c1360d20e3e8004020396778a46570dcc20f1faa01f5e1ef6abef07f8e8dc30bcb43f1b6a1518403e7e045910e4608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025857806370a08231146102bc57806395d89b4114610314578063a457c2d714610397578063a9059cbb146103fb578063dd62ed3e1461045f576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019557806323b872dd146101b3578063313ce56714610237575b600080fd5b6100b66104d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610579565b60405180821515815260200191505060405180910390f35b61019d610597565b6040518082815260200191505060405180910390f35b61021f600480360360608110156101c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105a1565b60405180821515815260200191505060405180910390f35b61023f61067a565b604051808260ff16815260200191505060405180910390f35b6102a46004803603604081101561026e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610691565b60405180821515815260200191505060405180910390f35b6102fe600480360360208110156102d257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610744565b6040518082815260200191505060405180910390f35b61031c61078c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561035c578082015181840152602081019050610341565b50505050905090810190601f1680156103895780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103e3600480360360408110156103ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061082e565b60405180821515815260200191505060405180910390f35b6104476004803603604081101561041157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108fb565b60405180821515815260200191505060405180910390f35b6104c16004803603604081101561047557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610919565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561056f5780601f106105445761010080835404028352916020019161056f565b820191906000526020600020905b81548152906001019060200180831161055257829003601f168201915b5050505050905090565b600061058d610586610a28565b8484610a30565b6001905092915050565b6000600254905090565b60006105ae848484610c27565b61066f846105ba610a28565b61066a8560405180606001604052806028815260200161101960289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610620610a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee89092919063ffffffff16565b610a30565b600190509392505050565b6000600560009054906101000a900460ff16905090565b600061073a61069e610a28565b8461073585600160006106af610a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109a090919063ffffffff16565b610a30565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108245780601f106107f957610100808354040283529160200191610824565b820191906000526020600020905b81548152906001019060200180831161080757829003601f168201915b5050505050905090565b60006108f161083b610a28565b846108ec8560405180606001604052806025815260200161108a6025913960016000610865610a28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee89092919063ffffffff16565b610a30565b6001905092915050565b600061090f610908610a28565b8484610c27565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600080828401905083811015610a1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ab6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110666024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fd16022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610cad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110416025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fae6023913960400191505060405180910390fd5b610d3e838383610fa8565b610da981604051806060016040528060268152602001610ff3602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ee89092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e3c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546109a090919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f95576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f5a578082015181840152602081019050610f3f565b50505050905090810190601f168015610f875780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122035355faf232d720ce089dd9a5bd209e085d49ec6656cfc25ac2fa3072c2fae6864736f6c634300060c0033038fa9544bef97a214da8bdfccd10261388dfb55ca704ff2d31b72a00b46c1dd05034ed950259991e24ae5c708991941663199530939a7a54ede8df4a6c689b8ea8303afe997a2f9a9ed44631af222e732d457ac312f3af5aa7f19d5549a8b6c85d34503be7795eaa6ad1804a38d563b8e553b589d32a2702ad2263519e3e479fbe18c63032377dc18ed9197ebcaceb8a5c01e6348ea16c96c2ea6e28c128725d076761b0a0367387f328a2cc84566444d7cbced9126ff73dbb6f0b400a984cec1af8d7e4ec603952e79b189e38b3fe48503a0269c37e4d987336bc31948e3b3b9c0f9e785008b03117e353fea17c5a9a4f155d41f885b529de98f9dc29994b771bcb6ac73b998610307090fedb4c309fdf97673c2564d6e044b600f85da225ca2ad13f758b6eb0ddb03ed54d306e6c96b8cd83b2cf6a184a07d4aca4be19a9d1b40da69e49ec0f2386503d0f122a41d2cba2602d14321b296746530345c2b642c5697a1c5e5de210a53260335e61a96209523f6ef69b398f8fc49a44fbcaee9160d9262843f8b32cd51fa800381b57c69818c3dc0e5daec2f4cd8d10746ff49acdf175be8a343e808af2e3c2f0370dddb414502b6f62039e8656ca380e7416021fbdcecff6c643d9f7b394efd680309d8566c71a127052b0d732bed9395ec95ee48040f964bda0a9c54629c670891034bf2c36044dd77c5afd739fe86479e0a05f58901677c71274644558c4cd922ea039f2970c8c7405a6e8d5852333c7c014eca92cb6130c18c36d1140c7efbe9a5150378ec2b3a744267587fe7f2da8533cd9218c61eddaec3e0825d7123f71a384620034db86350d436da4edfbce9c0a02031be5bc8a16259c9ee246232a272732c5d80032e5eb82bbb86444460518ccd40e613fa3d36e839752fdd656cfba601834539c603f603e6f7b295d6ac19481830f8537efed4fb7981d0e59bac78da7883705951c30345d9889884b6df42702bc6896efb45dd9c87140415362cb0eb0b4f2ce7326488031d5582c74163c5c03f3a4c1017294cb326d82c0ca07979bc1ec7ac7a723933120361b33f3f0495b8ab4efa801e775a13ddaca859a5f7d57b91dd99a4367fe56cd203a0cc8eab9e93ba9e452571d68598311e97603f88d36d4dd926d6239476d724dc00581f0239af61905e1b1c0429375e29611b4ff65c43e2af6a0ee4a354a8257ba02846809c94d1540003689b4bf383abbfb6d3fbef5e28ebea5d2e6dcc312638a6be95ca28c1a127940303efcee2c45ae6869541830e2b3b1878a5da5f660e31b3ae44f4e863cfe5296bb003e97909f678885a5e0c2397a9fb7b5edf3092fc208cc7594058db6b316fe4d10a00581f025024d0953dee37d724fcb537bd261906d441d71e18916d08cf5ccca95c7a471d0f450164174a00581f02d81640faa9d31b303bc011f251a315a677aaf1a8e9cea5fd383a9545f7495820fffffffffffffffffffffffffffffffffffffffffffffffb7cac9613d0baffff00581f021297639687c501ff1de786d4bdac4a5e66178b915ed3925ecb9f2ef806985820fffffffffffffffffffffffffffffffffffffffffffffff7946d80dc213663580349f940178704a31b358b71f0fb5b716b3739b8d55cd59bd1969ac1530ba8c68503695c8dbd3f76ee5ef402360fb75ddc66df5529a14e06ce2e9bcc72aee9a921ac00581f027c09b4eb6f2e8089afe89dc835da2e73d56345a5b6dcdf1e0d1b198186465820fffffffffffffffffffffffffffffffffffffffffffffffe186e1f6237c607f000581f03c44e7e43dd2fecffff5483213b7f3afa1cd5dc74f20a76cf4de98e188ba048603d8e30b55fed7c00581f0374644e234a34271b7bca109c43e7db5a23f56752692ca82cc89fb49870c0486f07e06a407c040000581f03d6b2ceb0590ce0b3ce4a2952e56df6a9f4da43cc99f36e38049bafe929c0492942b417e5c3a380000219040900581f0204223252a4a81564c822d8a188a0b0ed93d443b6361fcc1704a7e591515e485aa6e1c3e3b4d00003dfa74dffe26067b3dd94f4a34d6e46716e12aa5e987723cefb0e6ca4ed5db4f30219ecff0219ffff0303bc6b829eaff9e14029faca977ef3db0119d99b88b492c1e07855822c9d666903750faeddbe956917f19e825643e2917025595b37cb54e51daff57944988bb60d0355c092bc264fd0955d118a407c196bf8ad5395854d722547f4b5118d10c940cf036335f2fbc633da13591068815b13e0908be63e87f74fd1b23778e45d56228f40035fc117b736077245049bedf5cc5135d4c3f773da5f63f98113e13b787ac61de703e599676a1e2682d48768a1aefe95f725542487ffd70d2737342afa6028ae84cd037e638fbf5bc69dd3bef2c5181997d0b89fd612ba0a908804ea91e8f52d136c5403b636d86bcdaf9966ecc617d995a4177b7155f7dd439d6f26f845e2b7c3baf6ce0330013aa4f569edd6cfbf9f1fdbe3f84eacf67505975dae91c454aa1e2577d80203f8dbca19efed218c6cb9ddbf84497af5492b6764ab28c8e0d6506e3f16451d2603c398a0d93b46707bbbf8039fd7ba3ed567542413b6b0ae8451e468c1862459e503128195ecb59409f91dcb19a8c6adfba48e82106954538a8e0ffe2a425129e2690219ffff03ad2fcd844d4fc7129c1b4d9dfaef6dd2438cff866591ee7e9af63c6628678bda03128d06bd9c6a25a88c52ea6494df6b049ba900a9c2bb378ff11effa72386a0fb03cd845c7efded070bfc86b57c00c3313100763f23be4064e9f9769a199b1d72c00308f93c6de00d7f4caf569b67d037c308ae6caa2a6b59930ee3dbc1018ad5bc4d03b0d514fdaf566f37a1d85191c8ef72d442bc8f10ef897aa5898aceff0e50ceee0305317a8918d1d4efaae672aa440f1b77de0010de81f65e6d73449e2493692e0003487a9cb49bfff985117f0936bb9e754f27606331ec64797ae3ec97c4097fd4e9037d783003ad9b89d4f51a89a5bc706cbe6ffe1ff73dd45b605c419d00a2ecfd7c03d996795230c869677e3cb5f96071871becb4606442574d93a3c9f3b75841020703edb704173efa57c579edfd5fd36050783b799bf1ebfd8427a58596b9c8e59f6d03b233b034fa265017eb28bb0180b8bb4ccd60e4f07d21c06724a4e269f82a2613035a56535e20403b5b6bd5ac55bad66780fbc6a98d70031f84fb56ffcf7112d73003b9dbcdd5e526d0a20b03b148604c4164d7037bb6774fbcd3c80157d1ca5c6f6c03f3e63128c368a16bf5a4582e244520d1852fce0f2e9c0ee5dbc7901576ddf390037d4a869480c6b143d456f61c8bcd01756e6dc1c4563359b752618a4547aeb779039d60e925510b10fe5fb8958c8d062447666ba2c252b5f83cc00b16b9526018be03c1fbe811d88496c6088511139c4db427403c6c741fc1c287671550be87037f32036b5690103637eaf75a14484cf50983a6e130cfaf5d84ac3197ebd506719653e303561cc240de3b227db516f439d73d9d3460b851245d0520f58d93d321a384879f03adafc57caa033d0b4e8c220c9650589dc4b9ec9b00091034e7ce33301c6276f3033fd91d34ccb493fe41a171507ea9b015b1f73abf8477b6b5fd89bec3ee4e52f703c6e1c673eb0003c87a85eee0ecc0d6292e7d683009fd9b309eb6f3bdce812aa003220b471c7c337c4dd287918ba12c2235f855365e953873154582cb5a911cd5b50369ca81575d1820a9a68717b4e17e9edee7e0563f104c56e42d18dbf2c84fde2503da1a2ace1a8739218f36ae27f7d92766c3cfb92e00fe019f47ef3bf4b69f343f0398a594f00f4c8eb30ed0ab2db6dfc7ebb4d941c489d3248d02b66d824de8656e00581f02a7a825e1eaeb65c6cc4eef8e7d12e87ba7692f616774e86106c3293f4da245d09dc3000000581f027b3c09b2ab027e82e7c0e034fe98bbc58312e0de141796bcf860d7311c535820ffffffffffffffffffffffffffffffffffffffffffffffd7ac23bd1480a1009000581f0311fd4b28ed46eaf45f1b25ea9416183db202f98d2aade4a743e7038db0b04a05a0c342b1b2f4008e6200581f03799892a76e1a82017560c56e8ecd9a9a08dbfbb507f7f901d93092cf18d05820fffffffffffffffffffffffffffffffffffffffffffffeea65917ed575bec7da00581f03be55d17719408efa615ea37e29a61160438b36919f3989d95f5564ee04005820fffffffffffffffffffffffffffffffffffffffffffffffab2327e60e7c7ffff02196040038e2220b2a36c31fc868f5ec1ed4991f18106159592019929ee3d4335924a7a1f00581f0230e0563b6ff5ae4388295a8c526a03ca92f67e076841c3a04fa1725a2eb14910ec7761696f5a000000581f0204dc850c12cf5f707b5924fe1a11e0bc205e5c6390345b17829341c862eb4802a545815987788f039114fb8b0bd7140e1d2cc502bb7ac2153b1e5b126723777d6c6a9907cc6310b6037bd58a12f8592b9289689222322f377f931db2f682342e9885ba74d7e5b5868e03e8f6c340b0391a73bf2d9e4785f256e0909df1af1488a315159cc27fad39779503661d302b88b4f3ad8c8c45457aa5292af3a3bf883d2999aa861419cb1ee3528101410c03ea2bc4c28bb254a1e81733a488ce9e9b43829c35e91d0c6ec4c559c525331be703f7842405b65f7918666f12fc9eccb548670191bb976ab7c14fae2d51eb90ceb603e1557d3dd61283cd6447c927b2ced3824aa6fe4319c7dce25c2599a9fdbdd0320305ca21322bdaf893f3b6cfb451c8bb15ed3919b7779ca38fecb84428e7c0d9f80219f5ff03ec351a17804ed384a1fd8008fdc8f958bd7156e68a654da7470a3c02d092a8a2037ad73fceec39b004d9c9d3088f24ba06e808ef14165760841cf501af0ca11290037b244ef57276761c6f4a2710844e9a1f6a471024c7feeb901848635fc996488b0310a31e743c336ce9a08e61673a60693ba271097efc81441c56c344de16f52e4103bb70dbb6fe03d024069ceb9dd3d9d7f9642f13a757941d0ceaeef0578f7458dc03b787ef4341a9acdf57e7b8289776b843666788fb1c1753ec710d44ee8ef4610e03dfeade79df4e3c3503f64ab949637838271792e75ab529f9d2ed022f8a1873d30219ffff03609e9900264af6467f05aa98d3dab3a9f69f79e689a094be6f9451e6dc3e55740219ffff03f909d6a0cf85bbdbede0d571795f6a22abf2fb4867bf12545da3914170e8a34f03c70d2f9dcf29569fbe7e79951ffb9efdc927b6a390f0cca760a362d00c9b6c60036b0670c846e26010ec4dfe8e36371f6484ecba7a2180a17d9c6697c72032e4e30219ffff05581e03bbaa72ad0d7200ca3bea1da0317c2b0fed402360003997b3f80909f1b007011910e405581e03091c9b2fa3c373e71d8d7c8a8400f0e2f0a70bf29ad80f2d61815847d00c02461d91cf66c7f805581e03c01df81777bf8eedf536dcb653f518b0e81458e720ec1baa41761c0f700c034703016672924567034c9554c1f2eb8f335fce8fadbce3891ffb09506fbf43e202712813d916ed78d2032c791a4988774fc59c8f57fafb64abd2d234bcc618d666a413f2b5c008aebeb60219734a0219ffff0372dc21554cca254e5f52ecdc7576216517fa7e762ff1cd7280e69894daf2bf4003c03844c693571a3469486b4f376666dba2994d9b0b20279756aae84cbad282b603f26e542d098fe26b8cbb8822147243591f9e70d3a8ae00b4b6da7dfcedeeddbe03bf98275b2c91fdd7dcc199074afea5aed1271ca9a54815978a789fe77ba6280a032811bd3d2c16200aff7858482eccf4020c8bc1ed4f0ede87eaca6d1ef608c8a60219ffff03ce1d2654145f0d1b858803f1f2ea7ec3db5951e26f09630cc7380528ba5cf15c03b85762566cb93055adcc1419fc039605f3bd037b7164cad8b49e0512c5b0880a03e61a2b1ba188d349d39ce2850f2f5fa0f75ad93dbda9e8dacac807b5da5fca1703a8ccb7279362d783a6f3bacce3fa5d5ec1285f448d6945cff2a1f1915f34e88f0311723c5c4a34f80f5c13e81530f3b3c8289caa9745daf6c9cad57c13a0e1cb6903d43f821e2012b3c93bbddc3689f0471f8a4b92ba27a40862d3c61344718b7b8c03528652eb8e8468b2bd38575effa93081275186767716181647975bf3fcc9e2590362bdd32f579abd4a9ae9b3fcb144852a14a5186553660d6326f9316b8d4fb5160219ffff036d74c38b7b22c819bb45c67a7bdd55f49ddeeaa61961fd6336cb9bebef18970f0319078dc733de4927b61c60270712d0c33a930b47cdea2ae9f2993543c4c47bd003de4856d94a8c6ac7973401c90f253db913ac7cd259b42d7a9225a18a3098c159031f9a4ce080dee27c16fc670f64659df05ea4ef42dbc022711f98ace2d83228b6031fc3089e03eabfc69e1a4fd7c19f1333bf9996a155985a2c5ed050dbea1603db03462cb6c8646a87f7ef619428fa0180d4beecac0bf16fdf3c5f5c0428f4d4e5210399d8bba1e664f21f6f83d7a216047489362685ec1104a5ad1f3b015d49bec4880377aa52e884cca7c8c20cbb2463b842edec17331e95ecb3632eba55ce229e19b603130ab0749953355991c62e19e3a38ca93def9ab2a9a367527dcec409890ad14403e0d9ef2c9450d287ce0fd4f841b5773acb39b663a5a466b6344b5b356884fe880384f4b17673a4f0fb9d3dc26a4199fb6653dc4d6f5ab05558f4129bd602d7dca90394862dde52d600fece67dfc0133d7fc0a9ca4b2b9c87dc1bc5530155ff569a7003ebfc2227e0be21a6f9b19fd27bf428fdfa6006f7fda201ca30ae043db754236803251cf95c711821cb9848f0f8f100b6a6957dd267ade9208e794317ba216adce0035980d1ed3bcd5b0c5dafbb285bab8b98f288c459038362fc2b3c7a4fd6c732c603d65b4023ff235fc2908fd684ebf23ec5d0fd33e58c5ec2220baad61cfae3d18203ba47a29205f5ad1f4be49803168e6c3713554a97bee368b7bb68f1733cbaec37035e4595b376a5e905d1da26bb65fdc72a4323709af9b40767aedd5a3956565abb0366e4704eb97543ac5812e2e5afe7254948ea4e01e99ee1deeda1bf2998ad499f03f708b5b059ee6b2a4a5d25babc5c11e8a340acf940fb9b32eaf5f82ea9cc7b0e05581e03240cb58accfd30fa534b63109c0688eae093842b21cc2ee42881fc87b00c014620f45ec6de3c032668be26851d75401375864429faffa755c7784d239fc0edcc83e3697b01dac605581e03f744052789099bfdd4eaa4773db70ad81d1906e198bbd8a0129f20c380040105581e034a534ffc92879a5fd7450b83dae6df3b49c3c4fd16813f03b1fc7c7fd0040105581e0311348dadf6ea05d09c346a5b5091d4485e650513d1c405c58144b31ec0040105581e0381cd94e304d1ea74c12928a655290d0ab2ef6abedb37c160cc6fe8ade004010359255953746d23cbad03c46aa71968491d1634df4be420071ff9f0530812e5d201410005581e03611222d3e3dceffaf356ee90db068ebe1c811a70992739c9d5c32ac7b00406033a66ad3454bac24fb7a4abf6320747a2d2b5c6b2b6eb70cfd5778049f48b3bc601410c02197e9503c516dc7f3f18e81bf96ba5b39ed7fe5ede5f00b00a714a9695d4e46c2dcf51d803ea53e518d731cd653f716c0ed9ce4ca0e317c8aa1bb8d996afe1fdc250726694039dfd92b62532864cdb65c718cdc28aa0eb9e68896373e710b8f8b3a933dc62b5036f0a598de716101ad6f47bedf0dee09ca172b6447da2e34ece0abc8d139e407903165cbbba5dae56c850fde4ec3ee5889f934b8c5ee5f3710df1a164b3cee92f1b0383d12649427c5c961f6a39a9e06fa601c418d0d80e53adab8ea4b22f09b143070321497be7216aa5fa87c9a23b450007b32723168d2a5e9d8fc4e0ece1d6b7833703784df35980914ad1bf3a31ab76cada4887baafa80374ed559901270d68bfd09b0219ffff03e76ce9399099c876255a9194015c6becabd4a0fa1d591d428df7af0d522f364a03ba040b99bbcc1071b4d320ce5abb2119fbb339eac6190654a2443d0f7aedfe6203178dccfc687272e78f2a3a3dfe3a6f3ee45f75a502f674196eb06872bbf7ec1e032dd3da818a85f1a262efa3b5cfe723ceca929892fee96fa2c703bd6aed44d1dd03de4faa6dd99b0cef7c60f7b2f5bb71bbd5f8968ecbed0eb2e2d21cc45b7029530330e699f29d571e61df2c3acece136ccd553644148ddceb849af89b79dd157d51036df03db3a6f924e2629577fce62fe40ac3c69f5e2a224b1fce895813995e9fb903ad4f23518d6173b898cb8afe22f1e109cea5733d829171b79edce10c116d009a03d0b5b55be83f4def2c64b7f5fe6fde1bc079a765f0a98bcc8958a02de20580af032f6652a502cf2ef4bcbc179245f9345aefae68e61e8f354f4d919f88e2f37dfe037cd4ef592000830d2ca74ca0f4406d534d4580ac341e87b16c27caf2a57e1c2a03a69d02ee642894c449605e79a8959b9838cf1cc57422a6d9b258af0288bdcf680393d0e466449ae39aa295f71fbc9ad908d087c4f4a7268497a4bde5b4577c405103fc4b65b69b5342ce79123a17cf7bb66444f94aeb9afc59ecc23e4010694302bb0332d11c18cb754c1abed95acfc3b76b981da1eff8eed91187410c0ef46e6961f00219ffff03dcf098789db446a731c299b194e6c68edaa704075256a23b33f848a197e7db5d034b52242e8ccaeb86d8b5c5f0292c826b95e0615ace1169c7f96a89fb6a726c5c035113822465741bb67e489b6bea0a72c88e69e830757163711ebbeb9d1cb22bff03b7e0db2f46416aab86e15b27731f70b233aac79a9c7533a3b2333fe28868978603df2ce01d12da7af76de372f4436c12ab9af3feef10bb4acbf24ad228403e906e03be679294b3b5a3c371a4c69d86ff3f2d6461c7c9ccdaaf9f07c8b34f24a76dd60219ffff0219ffff03abcc290125c2d2f0c921481226fc02edbc063228204dff447695824beb88db7703fe40783e12c0a6fb05603441a4c0c01bef35fef99f8e67dc7dcf4b28fd6b39ea0331dc1e8f91753d4e6404f3656b264b638ac6a26cf3d69f8e82e9de6bddecf3c2031f4ef53146ed3c22b382aaea9f456d84e09895857886ed4731612303b912c7e103448cf47d337ceb9658e730694aa42c320c6e0ec24fbb5ba05f621f16daa4b77303080c2b046ebbc9d46a209aa605de6ad82aed8b7351564932e2cb5652f75f653a03cc16ce819d3789a94c8d496d872779c03eb47bf2cb39e87fc9bef79f5fe15ddf030d92c3773ca4c6e301a4239cf3c2badc330298f1762d4890a742ee49416a43e903e3b1a4ddeae67d769da2718d51ca6bfce2e0a986efb416c52ce09ceaee4f1547031e8c558b90e3489f5c899d0edc304ec6bb6b61df80740fee0a70c30e1ee6229c038e5f1bd20ed881ac5f12c4c83f59505f01cc86625cbb8159695a475d7e06cb2703ff38cc5d63aac26a064cc19c713ef57a891c6744f9ff245d72c3c1d4bef6e29a037576ae2540d95265dcbdb62cf17f1178c4c59a71d9bf8e7a67a94384f2619ff50335e52ed0687f7bec365f602fe8e9cb18ba86ec6ee69896e9f6b87c23332d74f303e0a52d609bb218af819459a0dd80c1ff8dd39ded2f6cb267c007c1e7b2dcacca0330beb29befe3ca9a56f66a6dcafc706a18e92c134fe1fb180254d97e0859a64403ba15a5f646ce2fd5b22a8cf3802aedf9e8a70e773476a8038febb3cb35e781c20325f7bdc9df35064be7ce22cc090869324741ff6ca35f2981ea2dccf3a536c627036b3cc3fad5f1183fe51992e5684c3f08c08130a6dbb1792906b5f87007376ed703e684cdd39d050ad27b6997d655ebd47fb04f64fa29b72a31b0e911330a5a30ab03eba1d55138812aeada71e080952e8aaf7c68b4ac552b1fa16b5c90ae48dda84203b274cad43ff84bf0ba08ce2815d2fc0c4989998d437d6f65e1be26082696b09c038510fe117a799ef07e8a4e68d999abb462fce165075dc3caf72c8247e177648903d30c3a03c5774d704281073ac83eedb7ad66052d49252e1447e86c698ac1f01003d7e1e1bd560a059e6b02846d25d64b6f5d5b18045e4a85eb715c8c8273e4b14f03573e3f3f575fc5325cdccfdd6bfe2fdda7b67e4cb873b5fcdf08d408f826ea9e03dedd94f555b8ab66e3086b49cbbd38a73463be9ec0191dff2e9a596c254c52c703232aa806a16ccdb2f8e7ab3a9922a6eef19ca5780ef2497fa1a3f5bb2be260bb0356f807bcc732addd43feb2c591453638a9892ae47d153f786c177b11d05054ae03dd4d83c9e7788b9a7803277327d0c95853f5f827c1426f788e12071724813592037e511bd0e203eb1ec22211132a4b168d949b6c4218335704aa754eecf984e9af03ce97f707174310be3c7126305de8df7c60112f84439af33285c7479d024140c503615d78b986bb25dc3823efc97b26215aef8172b135a1cd9a336c05b444d049a20357c1943b068c1107ac94fbe301c8254e10c8ee2881b2cd926a032494dcb8c10b05581d03327d1cb4b17bd315cac93e3841a48d8f97c5fce684c5875c379ac3900c01471f456867e4e60005581d03bd59477f528b33b9732ba39b79b9c3c8c15d67775f842c27380b67e00c18d34803378993e16f2eed02120219840003b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e0338e241666d98d9bde4a7f95baad4a68e0e8cc5f4d220e69b07c9bcb15007011bffffffffffffffff05581e030aa627c1c00ef57ff945388998143fc66e1eb20685898d4b02aecb42b00402034fd8f3d5d01ac986870f5c4c0c761fdf3e519b14f67e1ebf90c7046392ceac54039fbea96cb1eb6ce7d1b9f7aeba2c4ace37ab5ad81dd616af1efe6b44b120241505581e031f3bcb6ae08831e3ae1f3c2b031c78d660d55e4de01089a0913b32e05007011bffffffffffffffff03affe208456e818f69a73122832d6db3a7b93175f3bf83dd7f080d11743c81ea90352b50106208b0dce3c80d2e9f04f9a259d491f21002b96e6e8bd8b57becf942605581e038ba0a13017f6d790fdba16eb4593f79602820cdc8e0be3c7fcbcc3074007011bffffffffffffffff030093f45ae4001bf29d3f080a323d86380ff5234b54c4e88528fc9e0cad8328cc03914b8e48f7d4d50b23d16bd4adf80cc8596c5f8820c2577d7f7a9793eda24e4205581e038ec7e505a8ca4f2938d43986176445c1acf89a6d382b75b72f0a49cb70040105581e03f43d0450ad8e5cc149f7591aeb705dade3fddfe0b3c86e37d808229c500c1829471302dfc20357c003b4e3527142eb8d4ddd3202131937a9c5949a49d68f6597024f5a1d4a5aa041d20219774f03849aafc16e9534aec1e0b59529280a1f752fa98d968bd4cb68ebbed7484b0d41031a70b6b29ab6bfbc57eb4f1f79edcd29560b2c4751ca094bd6d8c66958101eb103ef78c22528f6daa9c4d32b402df08f6e0b79bc403e448dfe25385a96d869c9d803cb382f1d7edfd7ab58cdd2f344932b47511a84c0ada23556bd2c7fb56c79c9980219ffff03f1419c804752caf0cd13d1a90969486888f2ebe4425e5700085a5855c35fd5f7039ea78a935c6568652f86a87b367f564e563f2e2783d31f2243bdcff341f22e550219ffff03d1cde9499509919638704fe6eb53df2865821a3b52b214797c4c9d22c5b9d53703275161b264db15180e6bd6974f362af6dabd415295240417c7eab319704b7c190348d3d169e45c11983645fb3f58fad72558dcceba5ddd19c17776551b551e3cda03306e26ee4074c0b5b16f2b9d2119d12dabfe59c5df67fda147254b486066378303b9f5e24ff906c6ecdac4c0ec567bb82b2a81074315464e42dfb68028a15b651603a129412d9342bc1c2973fce0e6d1121fac666a394ad2e399708ede1ecdbc290203bd27c3c092b5677895d6625c6f9dba6623ffb7af248e8abadfad235fa535438103e5260ce58d17c13cc7b026fe634a9a293addbf422ac35ece01080996ce7bc776039d07c1d5f6935668c82b0fe8b1a4588c5d82766a5203c45e1246962deb8b675d031989595356d0f6fff10cab1acba1b5f632b8a31459335b6d8dca6a835b6128b203625760db6371d5af672db2588d345e2c2ed4978800b0486e885be681a1289d3e0344fb2536a6a3d669a4b180e58029fd0b47005caac1c42b9acf243505a0cadc8e034c5f0fba9501b5d79d60b81fb05cd08d9766a50a8d50e0f1cf15ace80b96793b03d541d99fd78fe62c09199b9b7ed54621e1995592021dbbd840f7da96fb2b62c40219ffff0307bfb9c3c4bba0dba75d5babc323bd0f7157be8266ade6ff87ae366d158223a803d17b70bda676555a54be6c8a26fc545aff1610ee8545d69a4b3144a8fa376675030d870d4241b651db39e9a992b0193fa5d3137eecac5f423dcd4965e542d78c9f031e1192197b6957e5b3b925f0f5d98b16e12f95c41c781155c616ba2a2188652c03356bfcd2be353941028bf8cf766e3445c6890ff9f521f021147e740e8601f257037bac4a25a4a27239bb9c8ff1af1de4f35199369ebe999885dc0af835cb1e68850341177ef216c1ded5e3b9d1c2dda374eaca23fc73667cdc58bf96b5ccc4d052d503ed28a08d2f2d1c74cef073df06532a1054f3e3a02379e3b40a043c52917630c703d72a9a7170bd1df942b1b827dacce173c38be280a99b22a2380e96dc28e31f1503f48d78402b5027ce5214d4dd01d07d4ce503427acf6515230cce5c523dbf09660343c63cbc9ba40437a152ba4afe66cedea80938dd3830d63187c8bf9d9417b0020382012efd924355cf676265605b263e0a0adddf16400d4785dbf4c65bbc6a67c103b8d66e13d1b881e4aa7cc2b2c0225c952c77ba7b32756059f9fffc7133b93a900343d9d7366b30f83cb831878765e78c3f0273f073a0bdd6e4897caea5f0dd0d17032a8c3ac73f1ff0b68dbba1f50d9892051faa365fee6d7bdc4e22a59e4ac06b6403c3ea4d21fb0a99aa5309439bd13b8135c8185c0e57c0bf579a844894b727def00323e1d58f3907e1afa67195f9150f36b934d526fe5879b869dc4332120f0e00b803a867126bcf44b30da921db6de1016f69683251282748cb9a5af2b77f6e53b8d20334e52664c7b257931b9d08c8a24baa2405a6d65e35852c0d58efc5ac8783439b03c5f2797eb946a58016d6341aa66f2f09e841fd8ba8e72e001bf5db7988abbc3e0337582c6e2f5212ba376e95b9681210c907a14a28895ae387e2363ab40589b9600316511ceaae5fe7865b63a5c182d1afdb6cba4b6fda5baf118abac651b26d609c03a1ccac89e9971349e21deca49f7b7e144159248ac404fc35133ace58c81b23c10371337990ce3400fa7dcb9808755360af409e361d324ad4cba2aaeb080f5ddfd50332a21e6689bd0488f99e9eb699ea5444a7922a550f1429d75c88a1ccfb318724036f2b121b9d30d1f3d994c89bf387967b6362c2d01df72d5c9183d801bf2b14f60301f8e132a79b8e68515bb38f9aec1a8dbd997ee23233775e27d4b24b87363afa05581e037cd090319c4e18d874471136bd053d617e0eec7ca6cc3b91d6cd8299d00c04464cc2ac6a16000459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000018f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000006461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613b86565b8715611aab57611aab7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f000000000000000000000000000000000000097451ff859c3282305ffa26a9c581565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec79087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000181565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec781565b7f000000000000000000000000000000000000000000000000000000000000006481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9b1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec716939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b9450614bba60058c8b8d8b8b87898b60017f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b93508415614bee57614bee60068d7f0000000000000000000000000000000000000000000000000000000000000001615325565b8315614c2057614c2060068c7f0000000000000000000000000000000000000000000000000000000000000001615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a035e476ad7305b792b1ebd1fda176e14c4785b04a9f7adc5bbf8749d75534ce81b03d34c58678a8cf4b0f3efec17705c63587b3898a6a479f608f82c2cebccf3793c03b6202d927f61f6e64810aaeb9e29d0936e2ea98de4f4e06cd00796b825cc40e10310a5dd4882e440fc8ff29f00ccc20e8d70d04a61288fe278bcb4dc19a427caf803a7408cbea37a90a3b6d8c5e294221569c80a7abdd8af0bf4522fdd7436f6ebb2030138a801f3650c70c59fdea9435c37de733fc1d8d2d79b9c0e494aca5f4ac35703726d4ca481a68331ed7da87f11923277b6f1c4673636dc53180f8cf7ef628ef203f81148522f6cc1e03b8604e676e96c4a58f2de36dc745cc37f9ff4a0c8b72d36031e225e1a873f4e04b985f0b2bea8935dbe3c3b59fec4911756a64d3dfe8ac2b403e666e6d1fe924f00e63a349fde01a905ee619862e1b80e8ac22db9c6fbf2357503a13f282dc70e80e8b0cc2d3c1d02cbcd4601c4cf5a1471d9f937e79ec991cda100582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000fd009b000000000000000000038df7633baba2062cbe9a00582003bb23fab657fad73615fe8b8c13bbff5bf9d58cb1dbe8dd219012418c4e20d04c63a13783c1e954dfb54cf76b005820031bc6eefc8c513f2d264a59d50366ccccfffadb83c8c4ecf40a4b77ba1eb0104d1e1c3f617e58303a00edaada89005820033b3cb666c565a3768e31e75320a4604997efc83507ff60e793e5fc1603a6a04d075257946fe65b960ca62849860058200362818beca8a0bd132b1de7ec07198dac07737b3f60d8a84033ccab8de950704e01cb28aa5a4ae31487dd07293225038fbb9a7e6be242d8eb412ea7eaf95de54c80432654d00d42c305d9d12d2f0c1c00582003ceea686254e651daf805bc215c9a65b1eb24cce5dfd7cb2beedd7eaa6a37904b01e7895250e41d537ab15900582003c3b2bbdef4f1db1ab9e45e42f161a24c86446a038aab81c553746b4d7c47b04ea1cb1d7d9d7baf44bdf3175ff2c602199a1b03c44e2f68baf9ed671dd02ee673b96c5c26839183630e406809ee35858d5114a1036ea3759cbd1459dc9ccb38c3b5d5377bbee87f690b54844e432abeae1392210f03f8942542586e4268e46f78695d295c4bf765212faf7cc602aca6c9ba5aa161f70341d7a3c39f05b4f82b2eea4386855745eb3ef4f405ccb674905e65aaf99486560309978fe27a045697a69e3cb74f19aa6f911525a527a06a8519aea66b35f7dc15038ad112d3ab56d62474b1659d16f39fef836ab5fc5521d4574814a2ab60038ecf0219ffff03c1bd7a667291452758cb13e231768e6e694cbf0433f5980062766310d8a1ad2203dc47f962b4e25528b8279e9ad2bee323cf3b4073bc8266e157853a6f16d3b6cc03f2a07f72cd3c44cbdb3f15ad49bac4ba791f2f97f5c3512c6bec15aa7d034a6603fb86e2c2e0790d6d3fa3deb1e4890e7ab448df693660d74475b965d8c15f2b4c03b16983694889397037c32d384c5a042e176be5c8322e3f541ee48cff940a5d1f03fd6f96534ffac48dbe2cc1c35dc4dcdfeef204d3c245d101ceec844237bc131e03cddde7833dd399a01a468775b92fc560645355eebdd770fb7993d3faa0a54b950385dd5d18cd3d19af4b9889d73771f22065b898cdab1d944a1a29706708f191680393c4df7ca5d332f3fa21ec705530dabadf0302f4900d667ff89e04f7b38237950381a4e86034719a736c8c20895e0fa2fb84cefa2c2c471fb2ffc6267a9c44762c0367da9181b65df2aa8c20e4235029a31090f0613ca8d11490483bdcb072166d730355f72a65e8b21bdc7ed5fa8a1414c80a4df4867807772c28b54a88ef6039f3f503c973064e85951b8b7060a3fc6a14b3cd6cb719bff7bb024232ea37f82408aa4003f181c99aebda268a8c29c3ad47087d29600f589eb09a8a0c6633ae1884b0061b037cd22eb305bbdbf90275903e2b0f1cca67ade18b87cafdcfda905c8b4219f9de0058200314e9cba992547a96b5caf5e5d9b5d8bac97d3c83f5b257e918307ba825c4e0517149dc82d32700b1640b85d9fdfc31e01403fcd8e77b658264be5361a86e7f776cbc3552924906316d4fd39990473c64feb700581f025250e6943f3c11246924d7c69da50292dd3477879c1f387fe23604a812d44e1030b5b8faa28f32150bcff91a9800581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b480356528dca37801b02182403b396c14815959d44e5a8334a09fc2acd2ccbe62b88c64fb2a5bdeb745dc65c4b0058200393b886f1fbd3b34a7c3fa23d05332b0daa448e76641d99d898a3565d8c2e6051025f30db010cb586b95e358e99ee3f687e00582003e044ec2296ef9d540b85be4e4f63728694135be0fa68651315d10feabff3305820010000000000000000000000000000000000000000000000000000000000000000582003dc03c6a2a62372d9faa25ee63354c8d9a89df4b911e5595e6f2d40da092ff04b031a90c851eb1749926b3800582003fa82be682f55938a920f6f1b33b5fa1d89e25009d4bcb596e1130932655c10501ce3434e146987f0e3833dfde425b4ba00582003bafe2685f806abfedb5205d92736c29af9be262f0f85c88c4b0f45c273d6a05820010009df14000000000000000001f0d2b1e38bde52033de454ffffe29d6e61bc03688767a85960bf3078877031c594580bdfba57d08872d818252ecb97d37249f002195a7d031feea02e725db7bb66a0a807e3b4178662db74eb273c270c8b2c60374543cce503ac229ce09a00ffe36431dd7b1a37f829d3740769ef1998c1cd508c647cdc586703049a753bdd26eb8e7da0277ca675aad28a6b2bb73f0bb3573503b7ae621ee088036aa735653f202e4adb4226b7c6e5e77aedc2e1cfe54b232a3d4937f283935c7d0328f1123824d370fb5df06a1fe33ac137f1e6ac6380b961dce9a832c215ae6f5c0219ffff036b6bfaeb775c26b7f060190e19bd7b7c83723dbce8835e999ebb60727383d4fd03e4be394075a830a4ae5dfb53306d80e768e528c7142a31c37f65fff62645c8c9036543a18ac45b60cb18a0087d010c7d2770ddb65abe736d5fc53124438c1bf54a00581f02d96435e81d677cdd16158c8e570994e2d6c6eee679fa345d81c794afa8cb4b0af45b15761c24e5cfef6700581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65203330be9fec72eddf11884b39f5738bbb04c0219400803358340da3c7ec07c33931bd46b032a13ae56df2740a3489509abe5375283009c005820030d3fde4d59490c6ad9fc30f456ecdb64af100db92bc51403a8643fb8da8e704c04177d42bd2b265d3a40b567005820033516c99e76c93b5084540d374e39b17b801f28612c5cf8dc6557718265f3b04e03de27d72e8833dc6e3e060277a6005820034ffa2a7b23ec762c530289de15d68d467e00e6f9f56aaff3d50bb2fb9473104b0db7fe719fb637a10c0fbf005820037bf7c04b9d863d5e56c986764588dfea162d50a30ea5b776b5a89ac0645ff04702445f59e8e2350344f6c5a64ed5537bcfec8779032b20680be2a1eb906ad7effc9c2731c0f346c602191c53035862852d5f84230b448995141bf091b5872a52786901acb0f1cb07f6cd09a512031792d0e2e1a5193e196c470652fddf34cc6c630a2b6e43d178c80eebf5956d7903cc01e9a6ae67d1dab5bc070e24ea826ad127c58ff1f572ae0f890d4996572ef503f0e010fe5ae3cc26aa75289105f1ed1f697a6f5478ae753cd89a7dded67dcc3603ad473042ba4b4516a6b703f810942ce4465930d8eef5230984de6241e5b25d2103524897d049da5fa97a3ef2d7ea7c4b8124b494cc09a1eec1bdba8ef5cc48233f0323c9e00b19a8e5c14cc0d082046b7958608df5044cdf5fcd8a8cae53b663e391032ca43ac7eae1e3564395faa2b45abfef56d0e74674b0905da1d3e107cb8dd7e70360e7748f0b2cd3a5a3768f2aea5e052b657dafd28daa67c2233466aae535782c039fa389e1d9af7f510eba6d78d9533c89b0992a6cde36295d38b7eb4b07c063bb03926742172b2c44d9b7176e421c47f8ba0ee03a96856e0c36c2390609aa63cd8b0346b0ffe3fe9a5372b5eb6f34de2db44f741eb0145197fa11c239c9742b51f93903e223eedadf349629d9ab5c7206e9a8118891b3c0d3b685d64eceb2850aa43d2e030596455f950be6c81914f83d8796d30ac2fd6131595b169cf84216bbf7b0f3f800582003c966bdb8e8ffa7ba91063833b514acc2982ef6fce57f52dfa6198df25e28504e08f0abd7db9cdd85adba8174527e033df40638782019d1827c48174397db3ded6677bb0bdce059a8add9e4d66f075d00582003b8b4437a399fcdbf3acb7fb2e6d6373b6d3585f43ef044e3ad9ef297a879204e05fb1058e65a547653d36c57105200582003a14f3cf0029087fa3a897894e89a87184b9011c3a7539c376888dc432c89b0581805000000000000000020001080000000000000000000100003b2ecbb0b27a4768c7b36c15a88f3b0efa5178ebcb45315bd665bb1904c6ce588005820030841762299807d77015380dc116e81bfee36c6b065aa54ac2a642592bdbd404a4f81273034e99b6d2fe100582003071bf9e8721f348fb38d2d5223855a80753080ef5b9b6f3405ad292d9ffb20461dda24e70a0e00582003a09b770b42179fbcc6d1359c0eaed95b23539c4928622dc175c8c2d52b61f04e09382b41653d11567b6faa94f34d038bcac0013e84f2c9454a0e1f0739d0af99aeb9348ec5105fd9d76666d570c41900582003d4a05e3878cb8b30b1f1fa423e2e9c18b63f319bd87576a7b6fc936d0f86a04a392609db60b0a85f55e00219ed370219ffff030625c5aa5f20c8cedd51d8c273f8637f9a8ca0b03803e59919a348784d5666bc033ebeb22b57a9b82dc07fb30a566e019315da7f6cb64c05791a8bde254619af6603abcd9a904f97edceca6ea6f6cb49494f18da171d204b0648c3c323341b9618880351e27ddebffa06428f42109e4ef3d98a9ef6a18d713f253fb4b792fedca0d75d0319e8da0c5741bf36fbcfe2cbf993208db662583e22a8dc374f36f15ad2c738f003671f2f34b2dfae05e81829de5d291952b90a8e29a568dd6038f3125dfd014cfb0342531089dce158fa60008d43b301e611f6cdafca2ff26e2e6565d7767682c9860058200361c60a5555e3c9863d745b16d4272ffe7e638147a819dd6bc98309cc027d704a8ed37fe14e52c7cdd8390058200337b3a598cf16faed09292bb69c6df7ceee4e48f0ae42dd0027b4e853ac05f0517801028ef575eae70ed4350acc5cb5d35e00582003db63996237cbc9d7901c28be9b47825609714f8e7960b35a5935ae875f5ef04e05e386d87bf22e28788f089dde65036999a37f8bb6ee47fed4e460955c4ce0df5c611f838145565a4421dd718c34f500581f021e5d1afeb629122a8ad0ed01d231d1a1f6155de56f33d0f3160719c43319581c1000000000040000000000000000000000000000000000000000000000581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820010065520c000028ed496c13a31e129f27c078e516fff73d3aec45bc6687dae700581f0256194131fc37cf5f333b78c2df940afe88f7701421c88a8ad4e5f86920454e02e33554955d18bf4a7d653ab49c021920820219a2310304f071a52cd1f01d79dbef468211409e9d83e225d768859254f834a626b6618b03bd942d0f0dd183bcbd4cae84569db19b29cdcaa394c40b22b1ff3dcbac9492f503e43f08471be0f387e4640e8aecc0cfa92f5bff4ff121bc776b50d51d71c9728703abcf78a3f91840a1434918fcbf4640ec51af65cd0d01bd0bbd4606ca4159368403c3dfdda9a4d4a6f552882e178440ed3a28f918b201aad3be5d57997b25f51e7a03b6012a9b96f914e63439078e8c61ed6fdb95596d874ebe58f90ff9a9f76b79fd032bf4fa79d59de1a8106b3149ad51e52793b13b3a2d6d3a20340f8e0cb681da6d0384038021f11feb6dd05e922c69218344b3466534f852e5040c573f2c86f405960372d3ffed235449c73d36f97510016591d8f24c86b8252b71aff7791a2948972603df2869f630a9b72d1e9c02a8f088ae9c66f481cffbfcaa4f37de15a3cbcd13700388d84855f797812f8d9149d7fe7e3057ba86bcb82dd627e06243924b8998010a0392acb25f66bb38f3956552f8a47f68214a9bc6ae42d5dd9f34438faaee16bc7e0219ffff0219ffff05581e037590175bcd67854d62e6da4a326b58f88278824cee574cdcbf57ca94c0070119567e05581e0393b1bfc337bfc17148a5ef6c710deb97416a2bb6a8b5a63c560fde24500c04466497bf4ced2803f77ac5bde21bf8d761d6307c072b30e58ba4f0bfa92006aa714494f090d48f7805581e03661395df127dbe4fdcc40c423049b942b4e59d4d6ae1b2a39c5cbbe0100c0146d81b871379aa03980f9c9009c8a51fc2f712c41766df04731537d76a1acb38d581843572df556103009ae4509c6c60e428fd070fe8d71fa8efb760c4d8b9ca540390a3ae45fd0ade03a14b4631161f7dd75bedb32a9c74fa203afc7c4948c37402aba743982d6ee05605581e034202e04a0c2c46e78062c2178c3a8073580b04a933948687ec74f051b007011bffffffffffffffff03df26ab5514699ba9d6e66ce5d9191936dc11f4fdf1a05dc7c691965ca249265805581e031b7cadac4c95c06b1308528013a2c0051b167d1f959f1b8719325459300401038dc98ff1a7c0e5d5bc5af4199f369a37c738cd40d166bb3b49c8684fba710cf80141080219a6fb03a084823c217a53a36ff76c83511101a56e71ca803e86f0e574f0c59d2b4ff5430219ffff03f01e68b5f873fcf3beeafe242c756f2923d7ee62f16dc8d81ed962f95ed514e0037faa8c22e018f46aadbeb3773d537ab321726c940e060b8ba892c23efdf06bc903c66f906cca925aff58b1b9378ed04c6e5f3ca1e2f5dc47dd47ef998344fb8f38030d6b17a185f2867187cea3e5a5c0961e14cd0e161044be1a1f3fc14f8db197f703d80be024f09251dedc38697d209ad337d65818861cf2cfe0a628affb69a8045a03939bc2af1d7809b7a5c9291824171244e844d8518004cd6e6d3f16fbb05c337603f5e8ae90f4af7760051a09981cf1813c601d4f7cc4f182f0e671e51b454ddab303b320438486979501165e2b93f73f8cd55c3e634099cd707bf07d5d31da3b6096032fd83f782a4acb07dbd4b6f5c206c94804f37ae2005a0cc551e686259233e8950338d695fbe811fef7c251a315d895455a30fb61428e8382682b83e316b897f966039e1a4f67dd12271ebaf49b505484c7efbe42b8cd0850dccb8d8c09d9e16978e7034982bdaec8ab0255d0bef10cb137cd90ffd153138fccd770e244ef93a96a8d960383a2392aa56b247e13087d1c400c7752ed083053daa74bde260ac340b6aa635c0219ffff0370eae395bee0097b967beb7131b733a84c6a93a7fbd9fcc284db0fed7a71026a0321fa2dc054ed62ab51e6760815fd8dd3aa1495eb211706ff11dabcfe8eb592f903d6ca15686d0be9003b0b5adab0465f78c2e2069fb5bf99b2241f61a257cba05c030d74367ed17a45230c8df79d99b1f5d498ab0696bb817dd24ebf0743e821e4c003a8a3258110d61b676a89d67fd15bfd7c535f0d9a914d7a7f46dad149e32354180341542e3e003380fd0a7d02a80f630996b2dce9eb63f4bbfba38df0fc8c1cae830346bfc12ffcb72cf6153265e56f3fd4b4e6914676885ce022bf8ed600c736f43d031771a0ac4a0ab7b16f75a85df72970431cab2c0d815ed8dbd6494653bd62b6f203f8591c6ce7298c9c039cdd96460e558a05c0b33f5e921e469e9d5ddf2d2868c203c4b6ef63a7bb8c49576fc8ba7296398fe31961464f27166a6e9c4f1beb3c15790219ffff0390f98d6f263ed43aa22c08a13ca98ab74bf2f70244532b8b899c071e565783240369c22714fa414096335353ff14e658192b80cb845d8938e2285f078822aeed930219ffff0308f80eb06745456efcf67fc1fe33de78c98d689afdaba3aa51420e873924e323030d320be07942832543f19983cb3960d76a0edf73ad8af76505684e196bee285a03f8655882703c59cb55691c56cf93b03552b1de8b73fba18b73ae4681cf0ac2c3035e5f7daeca7eff517febbed951f1613b548a17af9b263617dfb24f972e0205bb039bd425b8f57c70df657d62c54fff6c38bb944437d7a0452f85eb37a444851c64034d1542f59f4108847f3e1c124584685791c5edaeede14dd27cec2b8ab3ae8bf9038e7cc128a6d09f0c632835712769b2baacf29e8f557ccd659f31ada4863f9c20039f72e8ccfab84843e68a66e4cafed1aee5ed9cfbaade646727add14c587396660351ded438d53fe23e621b18bc5740c09f8d6c157c8273ac64c2ad6dd2926abab903fe535f4dc51be99955dcc659668d52df5654b15e50d693b92508faaca8cc1e9303550b18a1e98a6a02a02cd850e8ec4212b5ea02b03a9cdbf3b7c0b3552b6304c903df386d571973c1c42137ebdf8c326e7775afc4dba505e78981a3e038dd6fde9603a2a3a1d9c3285ec7da048991a15d6da05a7f9652e49fe32145d8747a67c7e957033c68f4a9edfa290a3e2dce4d7bcbac0cccea2342131b34ef22895d6e4717551e036be89ecd0fd565ac09f4221bc951adf6ca351f31aaf1b34fc33027d66ec0904903b9c16e5e542bf5b296157366f99f7266e0fb96a797a5f3dae5439c85a641a608035a86eb961d1a2c8ca4ade7ed3989cf2ce7d4688e1dabe6a65905428ecc5263af036f9f9fe04552b4153eeb242611f993ce70f30396411c5aec4fcdecb5f7b3b86103b897e89c6018319fa116bc0df03d19d858abdad960e7d42e49561732e76c0bb90359268bd6364e608346e108525ec8be701bfc3542ee0d358ec513ed41c39ea4ed03afe206493cfb342f73d6b19b21705ee102d96ded8541ac70461de5304575dd2303b26ed481a390f44f72fec5ed65934fb3bdbad0579c0a2eef3e3a428e6af6074303b170867e29a4740186600ae9ceef55edb6674167de595bdaca63b035bf34d6da030787dc515ebcfdde8bb92b7af3dfcc7364098fe7b42f6b6511bbaf3f2387b2390316556f2d9eb7fd2686baa9973c711d616d75fa859f62093ffa91360ed3e77c4403ba6db175e7782fda3f89dbc0dac75aefc0493ae334d66ecf2c9999947fca94cc03792a518f7ffa852cc09d06e04dc4082f064b6f4ea19c70bc704ebb4e0a979a6e03db0b494435a12a563c8b64f6ca78553d1109dd77c8be994c5a7c0245d95061ec03bbc151b6366818591592661cc12106284683f034aa8b916587c2242433eb58540313d48c5546e1f9ba36fa97e8dd4376031b00dcb54475f645641f7fcc0c3f62190357b68af55f7ce32e3c1186fd5abb9d21f6fb36f4744888ef8c85581003b56e4605581e0342b6b9bfd8a64838b500f4406074604cbe7d1599202333f23d1f050c60040205581e0318fa56ed6ee7e51b50a76f71b68ff7595b3114c7367ec8c0ade2d37e000c0c470c7d828a41dd1603e8cbe7fc5b09b9da3c0494a24425c5bad081ffa033cc5c3ae77df39f14331e8703bc9814cc9373106cce8b7fd29be2f600a358dc89ce3993ea064e97933fe08ffa033d4678f88a02735f77f222eb012147a3df58df7331eb7821a9c9269ca278c8f005581e03201e65afa7a58a5035d76bd57c3695abfc4fbc6ccce5e10fffcb119320040503b47e5087121631055efdeea873de27f0c69b27ff24356ef3f576083a7af1feec02194e8503dc5e4970c6230af8bbc08c439c478befd8eb7b8a9c900ff0cb10ce2aee7757cf03f7a1045f473973593dd597c7e2c16c88efeb6670c5fc167a8e3900e05ad6040e0374bb83c60bd2d0095e1324962b8bec27906412c3a6d509f0e6a182f428adfac103de1a68a8fe16842c9009ff2405afae56257056d8304c496d01d8fef3168d866a037208af7b11e653a8f3535d92f798e68dc078b20fda7d5e708986e535436b13e9037a1627984cc39f3832cbbf3e510c12bfcee84098fb8c64fca261de8359f9a64003e9b764c4088f90ded5f4fbbfe5f11182865164808f4e0d21c5d245dca00fc15203efde89a85ba63beecf8590d6c633d82268556592caa66bd72275812a117c514303f7f211d2bad595a9882ce66fe591435b9127c8f352041ddabbb351f97b97adbd036226979a07ebdd337fe1556505c59f266fb9c2b0447040971ccd0a0c0c49e1240311f270965eeae792d2f695ca808103b98fc6bb378a300896c3820220b6180ef00369914d4ac982e3c10c57f8a96d607b55fec2b95bd482fb4633fb00ff943260e10219ffff037768968122db9a0a7e9e8069db6bebd35768416df3882705faee6e24b2d31b2b0346a5cdb1b7a12063511f120b4ff50a739ca05ac6889fb0a33064db7dc98082a903d563e005e98975df68c7c4745b612897ec43e340b9b003fa0431d198707051fe037ad8e92c9e192c8deeba66a0fe45d2b3ff17dd69a60da048c181166cb685eb6b032bbb9ddc0afb0a3b30a2d195104d9f562cb3bf44d24c6a34173879579cb7ab26039a938cadd00ae8fb7b60c99d57a1929edf5f0ca4fc6766c173363fc35136d3ac036a565bddf497f782b1dfeb766a13a8e796e26bf526a7926d61f80b7c16b7bc75030f847e5ad5c9a6c062d3968b9214d7c0745e958e3165308a3c0516e9c2dd594403b9f1e0bac70e3d752d30365fa415de4e7bc9a7026f187ac24f26e90693d27501039725af2419ed16b074dc9297a7cdcb072e870831852d42d1f861575fdbb8be08036f50e1d07f73838f099767337fc17675e60e55ed942e21a2c188ff1d9eb3c61a037c1bd356b1d0411c4af55a7d306e216ee1d69e2e75163ac5266c0439b8813dd90219ffff0369cfa2590e2c9ec164bf1aceae14d3b545d75a49aa62fc76fffd560f06da465903b1fcfa3dc22d255112019e4b9cd6605776ffee2f1a52a80dd689d6f69afb4f320219ffff03e6760750bd0f8dfa5f995a12d51165cd119b6427a0302f42025fd301c2b832c1032d0156c65355712594e6b5ebd8752a982d7649197423514e631f8e3c719f08fb03cac1c315271cb96cf743e642e50c0d397412421763d868bfe1f0e6588bcbe04e03636a7247cb29eb7ebdfd6da179c6a1e7721d0e11d89c18669a87b9c96e332d920302cdf4d247f0a1a0d3fa103c52eca6f5245b10a0c22410cc5adbf1fabbe5adaf0378dd9bed1ff67511c73cdc94c7a6c075d2348f690b51b1924d0d7a37c4d37f6e03d305218183dd35888d92aa0600779fa407a7adc80eafdf8a711f3844074dcf89039239fb33a394f2fe29a7178915fa0180aa06f6839e13d31850c3ba76ad311f040379c70fe3bb69e95c73b9bbaf62e26e4ba4a030dd91f39168e248d7f1131a38b0032a8fd8cda008a0728e484616ac9db1304751bfbb931f2fa14d18aaf2615430eb031f9289bb7887cbf70cbafdc3194fc7b8f486cd87436d6f1f6545ac67836cfe19036236a4e9e46a5ecbe1b0382f017f84b5e64e9f969950d25e129e0e646b9d33e20334ca39f35df5efb0eda4979c2540fae97e1a5a68bc1fe3d909800237aa277dd60363bd0f6af6e471d65059d3cc51e3ac487c3d4046d506d6241d0af3334371e9ec038fdc421235acb9ab3442daa6b2af840a00b4727a97a8d7a3f2f324a0b8ac1b28036997ed9cc432fc189ea892110cd8be7876f45715ff27842c5bcf8fa37379d9bb033b8072f7d50f8a971884a5992b04fbb12704ee6722dfa5627d7b67fdd2da307d03fb795c978f7f5fd50699e74ac8ff738a13ba34b371902731f508e55279c73036037e574cb8da12cdf9b6e3ed0c086b30e047521ccb6da0adc67fee350e7dde05be037ca88681ed646fd7d1de2d33616369f49d1af0223c9d5a577359534ce00cd4e303b792aa59c9b14274822058941ea69418196b4dd7e12b77caf0fd35b32f584ac30361bed631dd54ef954858f4d48eb5921f0df9b4d9740febfc486aef04c25fbfd6030a59c1bddbd094176715a74346e33fd4043379d2c4840e3db0928379a462f8e905581e0316a9c798adea11d874118b5aaf39ed89aeb1d8aa09d1d7013157139640040103c3082a77714be29793f12ce461cbdfcc5ae184dfd47d284b965fd569e1ad381103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e033cb3650aa8179b91829569ba15a9521d0434c1b67423ea44a7a425950007011bffffffffffffffff0392252777229791f83bccb3bf93a14ca08a3c4936348dc36407a9d23e820293130605581e039d0051ad63c122f059a5e31cc3dcbce847e01531e0bfa5a1d9093a298007011bffffffffffffffff0324fcb1f268477d59b08d0df7f6ef1473e1414462ee40ef92b12c2682fb64c5c705581e034e7e6065fd4e1d0736316b7ed2db9426b17347e82f9fc76d701bd0a7e0040805581e03af6018b85f9092d7270fd4843c656d7fe33f1d6cde852078b33b750a900c15470470b9d7e1c20005581d027573a782b75b4ebb2dbcdc2f068206958961318cea4d52b469cc1ee80c182949015e482cb31683fbbd0360c2673683d666ec23998485c10b1648d67b50555b3b7919d59f46ca429925a00219050005581e03886626143d3af0ec5c257b97404c3fe1455a87a241a4bd125751cf84000c024701a93a0af0ef3005581e039d2bf566b9ec54ebd57da58f7d6d66245ed24902fe544ae93b179dc110040203905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03dab69d3797a42d318b5be5ac535aa37d91ef0f6bf338e5dd32e457737007011bffffffffffffffff05581e038595ba4fccfdda0d873cf3668028c7e6b483b64d29a1ebe402acecf6b00c034713d2fafdd8c0000331bfeb28d5db7292611fd044e566ef1dbff6fb7382dd3e3474b36d250f9fbe71021997ff038664b0510fd6f2cbea10052454684f9eb6be928aa01fa897223c4c911e6bb620036bddff26623150657adc4e710aac6b53edd8acd4eb617686d5e4d5520ca3683703d4344dfeeaa41421b9cec0829142c76409e8d88a4fb0161603af3ef69db26ef703016a050d241671ffe9a668aaf3009373d2f6f1d0b39751faa7f5975695bd1c54032d291de32f36e5e9d033b274bd0e44b4ebdd5bdda38755e26fb923a168b63f6c03feeb2d1295f9596a569bc6d33d26b7f965f6029fb991d58b8fbe1fc2bbb76e340384f8adfc0637dacce2aaf426187b2a662494c50d1a01a7cffa262284dd71a2bf03e72430b9ad94c704363571ca136f83c5f40630ce631b0626ac3f279929ffdbd903381b91e16969bbe6544d1957b1c1324398bcd533c4ddc6d0b9985ee1a08efb8c039878fe84381c6db2637d9a220babd065d0d6e813ab7b69ac1bf3e380c96a8abe03e16f47c4aab32e21181d236508b7241d336ecf9e4712c5c87a35edc8fda46a1b03f63c3163a00914a9af7bac911c30cb1de5d4a504cfff833f2f8b7703f6b9446903bffabd252de7066719f1796c026fb8c6d286891e77d735352912e6000b9faac60219ffff03fe82ad276b367f03133342097600ff1b304a3ae67986c73d198b786dfc373cf403cf6b6baa0d2bb463a2a91fc349b9dc6593c647368ec0f8a8d89d1507b1b962d903d24d257b550ef80fa557bde1713b95f5e5bf68231eb6fe6cb3eae21ef996f3e903bd5a573612e15296e38c1867e8d604554625edc4a681d3c2eabb8e4da7b5d12703e2156ec763d778ac5ae12ce025b7b2c1d50181d4c7a79ab596f3b802768c41e603067d8c28fabe61439f9fe6cac152bdd8e63ee412e7a8cc9acc311636dee05a5d0336f9f1734548bda649c377df85fd44df35cb6885cce4124cc52accbe27d33ddd03a2fc70e21236d5b536da475c6602424942de83830c36d938244ca817e31c61b003740e9ff451758dda9cf9abf7da24bd79f650e4dff5d781ff5824724e315882d60219ffff03313d42a9ef931a04e3bd7c1e99f9aac1800603530a56a6e5c974774fcdb48f000219ffff03d97e07edd2640e30b067a01a9742ff15060e69fe62220bfe56cc6491d758bb8a0219ffff03db62d65c87250f1d76232a1e540c060dd84d110e975431ac00dd851bcb031459036ba3384ef62bc7ef22a126f83b6fcb914c6f45ba00af8ab6b87b5518146be4f5036e6c0c03e499c337b5959659aca24d5bc9f6ce7c598696866264656072920e250393c45215e4299ca13b9a7d3c89a07fdda2549d6e33af204c4dfff2875205b6a203c5941e7111c68dcac3256b1fca079f1c247d1cca4a6ec4a9d7c1058a2acdaeee037c55695941678a39c084697482ef3acfdfbd6fe2c4f883632073d6e7ab54820c03473298c84a3ed4e4db0b1067b16bf280c2ea71442fc9a569517e352a6bd480e303e5d12da1d752554ac6352297cbfc194ad92c715d375b5bd2d7d4dbbb7653ff7003b4e30fbbaba21b38279a3cd7c5818b94570221fa9cddd9bdc2e6d0d5cfc0cb7e03c709f965853be8c0b032519332ecee9ad1a0f76b08d88670b667da0579961a340323e53b82f67500d718d2739bdd6e74121db54978a1ee072440028fb7c72ce326036bab6c723a669ba93fad917d39e6f44b1e4bc88f33127e59d33d00ee75b4c49403d2ceb2b4217b61d4c7b4ec9382800231d8bcb31351ae1bc5b39f21b5f5a80e9c0399675a8cf5af4a9d3096edcc4760b39d6a981d41efcfacdc18f08bba2ffc7f8203dd22d8ed90f25e6284ece581aea339b51ce2ed41f39b1e82d45dbc876069f7a3034333f2191aa361bae5bff0a2cb162a95dc4e8aa801adccb13825602e829c4aea03bb308550ff1a6feb7df3208449993dfc84a6aec5839f44637ddd9c901efe775c031723f55e149c91723fcd6a1e629095741d84d8cc23183e47bf0b9295d3cadf7b030bf5bcbc944b096d3d3f83f9284bacf0f4868e8856610d052857e409c510947e039f3b8e5b2861f42fa4f2d41400c7b4fd58d271d8bb32ea5d25abf76f5dae24e6030b3882ae2a4ca66e11a5d62e228d8f92e7114e73f7d1528b2e31658999a098030362bd2bf37317e76101677229854a6bcc8ae45f618c80063d063ab383e5096830035e9f4c873167325bf31f327ec70b95305b0ac3781b347fd35055a9726768f36b03ff3b512cf849f396063e8f0c3edc0cea6d0700c838b0a3104a737d42bd63d5110356088d11e832ec9e149c540825f2c4bb7d222bd759ff5f676659aace8b3a10c5039f36632160ea78fd2da95585796fbbd86ff385e2be6933fc0cef7abf6be783e803d5374f14fbf6d8ce66d24ccd049e3ea654e2930a43269415309639c6c00c041e03c77334a56bbcd296dc977d613a0787d23dc50e386f38f50a8b2e19d3935b46d00318ce224ffd2c603c02b0eee89f0145f70b336094fcae79cb74d27d3e83c9d49503f2322569844078cec98ad89a6e78a14922a262993d5591aa7b57b48c248ec513033c42f95913d33a596d0ada1784333b6274524ebc5bfd031eaf565b068b97ee1103d1cc6f8d70d53fa4323791f0415bbc1c0e846f34817f4f4a1238b186aeb5b46403072b60748f91b67fd08ced02d2b9e21e6577d27d9585f827fed396aefb2dcbb303c3c0fcbe978a40fd7d8fe5236abf13ddad4950e1bad5608079cd866abae018b8031d942c5f793bd295e61894015b65c2a0b772da5420e868784603db7d45fc38ab03c8da0ea6267ccb6f8744e0324f60e1c4e050a758b4f5d503a207b7af44306ea103e3981f17dbc1a00258432c0e34232f267d05e271590ee7a9783a51870f9873c803c45e6f062008e40711e3c21dfbca2a7a71ef77f96bf98a86602195762457ad1003ca06c2b4c97d9941e56c3c752abe4c2b0b2cd162e22a5d25f61774dc453deedf05581e03da7d3b581a6515e83a053ac10dee614e37c74397b0001f77359de74100040305581e03e08b15e58c41c3c9db35bc5268e123e5e61f633bd60f8dd66ce320d4d0040105581e03961ea71a2092ede541a5313d58a72b669c614b45d7c9e73ab7f40b85d0040105581e03672b6f9797ef4ac1d8ce8f728ca73b2522b5f64e6790abdbc0f6d85df00c014709819ed72cdc2405581e036be6c90bff6b129f08f2d3732f40a37dbc9a95e1c60843ed138e4969d00c1836470135ec955aed3303235db60b9fecfc721d53cb6624da22433e765569a8312e86a6f0b47faf4a2a2305581d024eee85039fc9d8260336899b904d35911f52859f57c1e664281186f20c0147a7a5422d062ab804590c346060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a002903d474f7390e4f3fa5582baffce7c7e593281088023ce903b5210195a60d3e62ea038e51c2ef17ad8bb0aa206edfd7ef4197d485e9591c4aada7794e66de09ec11eb03335491a3b5abf21339932c543932ae0db4438198b3db6ec2c915d615555b0cdf03ae14107ada7c7bef76f07d5aad077d2f90c4e61d0c32066c9c48876533bcf0ca036360aab5579b0a6f4a581372202482b18e125c28d0a6f8dd33a51f05fedf0ef3033d2b66c6a268e025466d02cd1b437c01bfe2a9a3971c4fc5768949cd08fd19e703a37acc7c3816cfc9c757366511fc4857bfee159fdb18a63832b8d93e5b65677803ec601992ccf541411b98fdfed48f65b27ea877aa564540bc4e0dc040dc3775790327e4d2037d00ea266c601611ea3bcc0b40395af4b30ad4be4fdcede2607e22cf0330616758e862999c362fb665030a9058fe3b8f0342d01427baad8a37177e5f230348639641b2469e8290e563dfbb7d481d67929c90a3aa374e8eab96fa133cb53303f92136d0f39644be3283da506d8968e1fc657edd9fd3c2192b0040a97d65f4fd036985f825725893664e601bc9ec89d3a9f1ed4acdb276136a5389ecb32583d84303bf6ae3a0a6228129669c4adb0a0828ff22ded8c7a20586164ee40c7d30406bbe03af86f31dd778430fff95ad294818a76880f175428a632f07453c78e57556031c033d3bf80a119d2e43c81bf92f01bc6984fbb7637517a49400351ea152d184adb4034ea5b31939a5e60f5d644cd8eade8f27dad9ad7117cef1a163731b7485a367eb0325820cda90a4002e7352aa153d08954ecb504ae04e858c09147bf3a8b1214e3200581e02f74b1a9e96eb38491ae8b2ce10edb09873178ccecbca3ac8972c3f21d647011b0dc926d20000581e02408d3ccabce486ff4548110c2b2647228dd4738caa600c529128f772965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02632a42131532bffbf7c0d89cb1e59e21b71a9066c035589b999e5f5a3149012b8f1ffae07426e3021885039ee459077a7bd55d935111a1f3c500fe02319e4ca4ecba05cdcc53f1fff372f103d0a5ad32374593cc931ce5659483818f5311c03cbea1ffc6a914dbcede24c999037c29cf1329c203dab77dd5990b0af8d887540d19fbac1281b591b4eaae51110203fb05cb5002d96292e487e16e81ba913fb0583e310b82980075050abc8d7a2b8303f76ecf7b3ed9ba8be6969f6fb66843af0b8224884702346d413e58f425cf359c033ab8f0de65258c45f4f7093b6ae09bc8419b3b4028e3284800eeedd5f28d003803bd3404f37c85a4a0e92276a096f33aff48d3d1b4e2d079e2797b86de9970cc0500581f031963faab3b854d30991c5ccf61dc673b3a07bc93ef498f0ea4e22c34d4a0440c8760d3037de710c451033f37a7b1f2bd6afa8bc8f14b71297fc40e3c13be1fed083b6ac703a6377cf07a19bf3f8f9f720895add3cd421fedcbe22561c53eb0d0949bcb97cd0399f6b49cae2b01441bced1f9f88f7fe21ba544b08cb49138153afa498177234c03fb12e15e9ec23b939e3b811e9f2b201ca1cb45e2d5204d7f600ac3fc26ba64e4036aaf8d5a31801fde6a285d31a0881ed158c208632ad2ed3d40e0ab1169f0eac5038816feead5cad7aa4a7e21f717027f6096d62f3d276a60f72450cb73a815bbf40219efff03822198b5a8a8a021bcf4fa271852337fcf6f3e2d6da11e80a075d4bcffa9627b03267d61a8e87c850e405df025c604faac411633daf73f8ca2ed961eedaf1d8a280320e2d6f5f678436f4729350e1b422c6d76795ace671e3b5d0db04316472c9bff03762cc24dff06bce5277ed32850b464f3380aa3a6c925132b88a92f6fffef1d9d03335be939f5a1d096218f4deb9a60160310ca0e5c817103f107ee60e0bbc11a2003d06f98055015efc6cac3a9d21bd32617eb3c652edcc10316bbbd2cb94d29b62f03931668670eae8b90015adf616377c44ce8ecd007835c4413c71a377466f7af9c03ab414143d230418bf1cc0013ad15923a23f1c7661a7e1c8280981a0b7489a56303bcc7facd3ed5f1751f1e315e84c91dc8cde6f3d2884df112530bf69d8d0e97f803968987a2d96f7d27e3aa650a1541fcba521a2fe1fcac1381d651b6ec923b2008034406cc33eab3889cc8e0d79ac3027893d245bc4cbf45da84a9d5c97d4c17d6ce0342418edb32cfb97ed2ca2bf98652d4968896d81bb3a8480051e2186bdf79103103060fa8de9886100bd2ca2614256c13dfd5fb9bc57d6ed2cfb6b5f3801174212a0219ffff035de5464d55cf89795c59723c4c79f92b72e9186089eb799cdb448dbe5273bcec030dec503045171291df296b966796400d402bf821d6072615f211da56b7ef6e74030d118426e18e94b054405058e6675f5339ea7df681ce60c57aa31afd4457e6940340002130e88d876464e834262bb48174deb9ff33d2f48ca4a2ccd0f7126186f50371695f187bef50f597f2d945c6d3b95411993d57b5507a9daffea353f34f4007031821367944268f367dc2bc4eae0979eb536c272bc59925386428625cdd99cfc6037ef48df2a3749f874e624263320c37c5f8e9c4a058700a3ed87544d65b819f01032c34688ac8daca48c24e1470baf3797f60cb95076ad8fbb58c0131e1f4601e7b03693ed0670477206c4963b0a345363223b04dd9eca73f30cb52574c2f44d349c60346401b800923feaca9777dddcc5c7039fd9ef59f31bb390cce8fe44effdec22303a1e7574959054986526fa3dff4a5f7804544e9ebc6bc0913eecdc2a07baf4c8803fd43de981d9674e7cf38d87855f3ebf11c634772baa7ffbff38621c2c1a51a4b00581e02605d32e47314d2d3c38aca8169bf88b5331288617a9071b22e59d4ab9a480151e11ab5c4e78c00581e02ba324481e9c79613c11515e3ebbaf5f457e2cff840c84ed0db2ba3e6f74b4a817c52dbbb9ffe90236c00581e020a275eafc007eee01d502cfb1f24a356711e37f356f60f5346bbd56f0f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e446447ecb0a592a64d06f9f63b2a5fdaa20ee361ba6008664c2be927b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b06014383c92bdfd7e363b0fa58818c9b3332efaac133e7beb9c41aff45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02296575db4edce74a2c90d91cae9dbcb30417149933ce1edd8f85b3f6cf490814d35a5733e688be00581e020a5a64d3027bf198e1f1a2cc414ef3a41cebfb6a45a8d8ee1e107e0d315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ae0c35e3c43f8a4bb67da53c03b5d979e0102fcc04b6f3f2a867d56ba6480369f7b256bf000000581e022a95e8d351190540b73115e12b6226f4774aefa04166151a6846cfca795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219317b00581f03dff3e9f018801bc4249192fc9eb4beb754ab179f6b1dd51d3b0a76f062405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03da69bf1482750bec45d9352b169c9a4ba190e58b4f19567c63a681db4484462c03e67899b29a02b5ad1563fb9dfc3fd9e76b98d885b4ddd362ed0d24260e38196e03e7f8157ee335c23895d4b8b1a506f580b1acfd278d336fb7768edc50b3f652d803f09845b7088ddb4a1cc558986892d4e53be3da7b4b4d4750fd060db89b4e2876037eed9336011f17821dca5082bf90913766709e4d7a7abdc0d7881c5ac08b10ea0346a4476a54b08caf6ab3400ecf5c93b3e6c880b3fdb0813499c2224915733e5b03f32d143c4140bc28bc48bcf76e605fed5e60abeb88f1d0c01bae0608189b426e033a74a062f7d8aaa61ffb66f21d4ceddad71b79de0e13a3f0654dab361d90cb5d03b081b0cfb4fb552ccbe908a312e9f022d41fc57205db3de68dfd24448e683fbd0219ffff035d9f957bce7f483da6c202023d5c8b77bc5562bd09578b067f00a6dbb333e9bb03b02e97c9f00c4b6904d30597413b930550f146c69b58e9f33a6d4f4f9e613c3503a90ad53a875be1f5f5488424988cf1147d11fefb810808d852f84eb5d639e95a03c1f0614e5b717c545654f59bcd5b02efa5383ad771ac9050e5c7f821c93044880367129e8f6b8df746d5485442db9830a86eca7db7ba0a0a93cbf515eeabe0c6ba03d39c25a4794fc01a0b3737b47d752c134983ade31857aebbb025d98dd062f32203d5bf4254dc8f2894ce438bfcc3c3fbf7d2797a884154943fac1b0da7e44abbbe03e0fcf354488f5717cc26abcda115ee1cc1817806a310c82e588237efccddff990375e8248fe89ee7993749d8d98adfaf63deb47dbe0e62c6c9aa12491cf022e5540305c25cc2d60ce48d1c5592fb1e42ded6373c449521d2ebe6965f0f587d1caad3032d065e3b7c5020a2770a2cc33e97c384411cdcc025e7b1d6063c4e799e1769430373ac11ca69b16be560b7ffddfdcdda225da5fb682407df4bf4bba2961dff3659039f506ec0c23cd70823313c8cf86a4be06289d573eb74f72f008b59a088acf511034f4532a6d489ed7231f4ee65739e24d1c9d19eab263ca5e4583935819ac19c29036c88b6a41e21472ec15a4bf8d2df994e3bf5da3115ab21c248e2dd38304f7be00219ffff039ca05764795e2b17969a9ff6627efb55f4c97670f48fb1deada3962421883d4803128b35e7db4a37c3940be512859b71a752f24e40c2093bf38f21c900c6b22ec203e3b0624df5f680b7ef5f9db571e9038f6802333947b00d65e26bcd8f156f27bb03b066a871fcdcd5334feaeb5171b2c410ffe93dcf933538488cb8bc6daa59870203fd1b6478efef1db788e79e51869f41320ea24e7245e12af43e7e1c32698ab9e9031eb698d2542cdadab0424439b62dce17003a2b0b6bf55866d0afc5bbf8a7cc930219ffff0219ffff0315b984e797848e4417c0ae94ef42f42f2c4a60d78c325dffea7b97f06489b19803650474f0a91675cf3ddb9300ebdd4e97442fa3b560029757299a2dfbcbb778c303ce7e1119ef156acd2aef2580518e588793ac6d7a69e2ad115f4547189f9c9f4803e65a6c043f36e31a778c2847502a99f35325d77b519b8481037f32f73505b6d6032bd391e21966262e799e3372bd6f65192056c8e003de4d9856eea0bf28ef5f18035817f0f22d4854110862215300e455d8f517997c1a7b6b0ac7e49a41037b0f4503edd451ff747cf72dd56c0dc27c4574c2672b549c0b1237d7c2980007100c548c0386e9300ea793b8be321924bf118ba640d3b11110f54cd1d6d383ff8949174fda03c14882eb9dc8d5a8a2b2e106543120922b83cc06f1d89c2a53fcc07932c4560703bc2e7fe44bfdaf55c58318885536dbbe35f6a0db1dd12be5dc4c559512ef21f7035ec60370a092fa6461f9e96d614cbfc7d6547b8da7c2b8099e6ee1b8fe7421b103605f7e56f771b3347aa02fe19242d83a215a0f095ec6670149e919443b477ca20305c3d481bb8295db538ddf169a2f9c0815c8bd3f4ddf58ab20f46151a75b864a033dd13b980a3a863cbf39d96b0c2b6cfa901885def4aaf3ec1d7f5e9b1c57bb3603dbc3faa28cc41f8ff31441b3b0e28d47fcb049053f56697460120064cb617a8b03e0002a4479b480e2b03c919728a6b3f485972c3ff09117837d8169076d355d4203f15fbff02506df971d96cfa01d5103aa71dc1fa763e543e42e9a6102ed8b9d3c03c21a2160bc6c3d5c4caadce7652f6c85cfcb84aa4640689e43a69b45bd2d8a9c034792e327ca6842ad071e588cc0cd221270ba554d33380c494282572ae607fc89033619f3a0412311c4b2e3cdef68c9eab39c90155dfda22bfd2e0a1f83d240d14903ab541a46a3202f1c480da92a347059723e88d29b9c2851cf5010fd586b80412a03cc74c9310ff462be9d08436dfd14a69cb0c6a48e5c4cbf2dc006a22445d4aef0036057bffd29ac2948b80a1bb11f848278a1f8b5503097393d390ae14f22a61285038eddebc2b1bcad8bdb83561db06411a8e1dcf9b8e5a5ba45dda36cd912c33746036452db1b298a5632e9cd187826bcfc4efaabd2a50ce2ae417fdc469239c41c2a031fe523c8e55cea4eb25621bf6a02b81f05a6e281605d8dc5d919b9cc0000e36600581f03d098ef8a3390a4d7142ab637e6d88f080fb0fa25da9505ccef914c72a5e04438a3ca0103fe3122bbda4ae610ef76ccbcdc12fc3dfcf238abc39dd99528170b6fca75b9fa03008f47d63452c4c7efb39246bcc0155334f574e09c1df08ea7096f12e2240ea0032fd14f097824d7e40c487f181e71d25d6613ecc0b32aae31979334ebff508c6b034a09985aeba24bfab309a2d82ea1ac9bd04b0ecde55aad1b451b2bcb8b6c91dc0352c46dc74dc1f910e14b61262ccc76f994ed0f1fc94ad6c1d148be432757b954036961f03a51c5626503d6c51ee29d9cc6701ca791ab61e85e4411f4dc94df881a0306a9d171e2f77e7b56bae6db248d16c663393aa4bb75bf333e646968d773ff67031ed63e6c4b7f684a7ea3d8ffdb2531f29c95685d60bcfe3565a8148df14f549800581e020bf4e0310ff39ba41d6b3cc45f49a50f3a2e7e4e46742cf882b58353844a0186299a6ac56a9c36de00581e023d5bfc0d720ee2670254fe9b8b503a9b3a30ce248f9a4523352122f1d25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024511557afca16c758a4e712ee3a5323b191ac4cece448a153014662c9e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029ec4afe2314a43aa51e609019d2efb367a411c93fb87f0b054c9d423ed5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e4490c30bcb192375bd689edd95bc7c96966b334ceda815c81b6b58c3f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021943a00219ffff037b637d75d80ebf7f7d20e50017be08e724f3a37428a953eac51eb789788b2cd803a178f4ad3cdaf9edb2113ef7a5965d7089092ca5473e61495d7be76ad57c96e5031a4496ce46c55dff603cc5dfd4701e5835613e5d6b0042d4bd26c514690e34820397ac54fbfa1d432223c240cf0ae4fe56d14f20345039c6edff1e7f39648fc7e0035a672b5a4c975621969422a73c987c1610896a176b4d16c4a7cf17f5b1dd23f503ff925742541db97561e359606fe0e5efe11aec1b115c67f19245e5cc411c59f4034bf0c91bd31fc838d91c6ab488568fa8d059ff9f57ba04952ea1b10402d4e31103896557ccc37cafa3726dc870ef33ddffb682af32ad397d4a1907cb304e3789da03f2f0a0dc5984560ab9e9512b3a654d9b369198835500637a835a8c36418f056e0219ffff0313e243cc42bd210d78ef8d39002763a4811d8c9110c2149858271bfd1a008629034645895211f98b83bd559bb3d021b9e77f4f6f41bca73957864a7f0ce91e8c530219ffff03b70fa472058b161cd50ea20de3e1952752d7f1379e32f1a700875f8a5c2f316f035347f4bc7058bff6ecc080776be36aa3eeb89d36e9b45fcbb97cc630247fc232038adf580a2cf387b3c88c26ecf3a1fe909e6a0f5972f465fe8d017f95beb7cc0303964eedd91c52657202374fec2a1f9924901a753e5158b25ceb7a8ad577678e8d033464c4435643eb4fb21468a1c843c86323934ec595e3913e1cdec81fcfdc3dfb0352f0d7a7e627f0b977194f78863e1c146f010449990a0fa8c533a88cae68b54603197a4b6ed3e7741ed03b2deb4155a99e33cadb8b588f85c99a91c4f1893580500392cd832d45bb2d5e8aeac16ae262fe61cfead862d7e6f2cbe6f9e6b02c1dc7eb034f6edc27758c852c5280a56c0f9a77f4979985c138cec308fd8a3c22a719a7f903e97b44aadf50d4907c6de1754afdeca5bdddd2df96b0147df46e969047eb94240367f006f08eb564c1ac72b988fa041492fd7b82e2c49b63e8ca3a255962f31ea903f0c231446106d6adbd76f23ab773e15a6e22074029c1e6488db33a42478deda803a8b63c9b757946cde29ca2d36674f3f24f76952e2a27b6df6f81d386f06d45120350f34aa95303315e4a722cdb6537af1b5d0c4822dd6c8484e61247e474ee68c2035b599fc625d912134c89628d3ef5135b94b9dbfa98f2569ccab4dfdb08b47fa603747c9559f703e3058066c8e62589ec65362cefa050477cd032430233120609a203843f35a1101c3f4d50ba1b821f4638ed170d0a40db05599bff3c22196c1731f9032d1af8880c26170ab503da8a1e1bc52a1ea56b209ebdb45368f3839d0d7cd4e803467cab33c8ad22cba18dd2b60294ff8aa70c5ac9cfbc0f615801d99cb12f6591035f692923402522ae0d3ef764caf9b15a492df0ea6e3fbd092e5c9edd04899fcb03e16a02824ca162c7fa38ba6d92c3a4b8f45ca4baea10850d8859bd5e7bdbd61403df495b65a8543968fe455f40598754edf4d356b14c03cc1a3cdc153d0552568703105819add4ca33703fbe8c442217f7191137fcca6995b9d94da19c16e9ea82e3031fa476136e92ad4c5ae5901ff2a5ec971a1f5bcaa69cf1f2033066564d8887c20368aaaeafa58aa3afd6bc0b34c051f0b2d5ca5b1ca49d9f9cfd6011b0763104f203de96c8f4fdda20541729589836e99c2096169b18f5fe2d17f1732355966dfaf6038991c645421874575807b2d5213c272923373ba23f0740e6b098b5332c98d4e40320ee6ddf71676fc47bbb5621d7f723e334336f4d5205e9326285bd1eefec63c7030b50487e0c866d76cf840023b02be7847066ec9d73a889a3294ab2bf92df03b3030f8dcc4fa3f85870e8caa11d3ffb073aed5f6928ff75aad3bc30d3b492e588d203abd9851f2faa6b3d1719ef921d98d7a5b8b097fad9a53768c8589438bab6f4a1038d7f85ae8a1b05edce455b8bdcd055343aec6d9f9491816e90445c2815fced2d03b68c69d28d92457b1d2e6f28e69787d8e19bb3d389a0c2331d41cc1595cbd575035d5a81b95093d17cdba04fb65bf7702b0d00515c50c1b629eb4ea07d0ba8c51a037e2032d54db4ea91821c0e598c220a97d28f48009b669c4cfd36a0c2ab04dab20342ceae6dc131344b77ae2533530c84b1aadd3669480a7007f202c0787c938e8703305b90881bb178a4bebab455f93f2aaa10caed8d12b2a0076df16a5b7b84534e034cb5e731423cf1287b863aeb566ec800d0f97681be0b18c4f4b99f816d8c8a6b00581f036a185e7af11a515e6e22bd9f9949d4cbc67eb09e6003853c3e140fcd06104837701ad6abedb32b0343545686eb44677af786950e796ce65f56750daf6aa0c7a5511e0e49ded96e4203217c0056a6c4522f4dc01f62bfbecb4a3e78246530696f531bf3f2d0d2ff8eaf033e1b56be1aade438d82aa40997468ebd74138eb32d0e4a8b0e144d36f87928c303c51b6bd3fa632feeba9a08c43fec4c8d3d1c209e70aeffed3ff3db3b6edafa5700581f0343fde030a4cc76035ae11b45e7e1cf4ee673ba90b3a0e26c1c7bb34f1870464fef5dce4fe00219ffff030590c61fc7ee83270f90114ed2ebb4722fe7ca9d1551ce6e72a52d96ddef9c84037c6595e286bacc017d9ffa233de90d750497ad06736a17a444eac59770384a1703d61cd2989f8c09b90b173aa7549cef56b26ab85c26cd3f44b0aaf4b89bd2e4bd03a1a05a701d840ee9ae6baf5d4aaa22a5cfb6a6e2c0f8ad702d61699a715000bb03483ff184c179a87c328dba4e6a37b6eb1673089f0b99d226a9efec6fbe8c9c98035965eb228662d6f3ebcb5327bd1aae7077fb70ec35d412bb44c203e385cc825d03f4959bbe1f091528ffb22c63e99f45e68445a749e55a1616ddff918af8be2d590219ffff03ae9308588c76d3b0bfdb86a01d6a4b4243d9b415075ee4210065e0d8f0b4b8c80357c7406ff445494b1d20e6802a256a1b854a8aa98f091735bfad74c71e95ac19038a16ed14b103445caa1dee4d5a46ef46328cff04c15f844f97a13c378ace6af003e8fada676d0df3498db3fd554be6de4f8b94f804bfa5544ec92cb9fb4d94aada03a019592645ef6d89813bbc6d95639e39001ca31d88998a621a3db3daa90a8ae30219ffff03c152de7ca15144ffa3819754f64724989684b8c3921a25f99d451ed8b2e39b33036dbed065819e67baef9b4b67d96b4862801bf109b21f0ed1e4c627bbb5576a5d03c7a3b33456c4ad66222eb3a0c69e4a51c65498c0b4c7ce0aea2afa718716792c0219ffff03702308b22e0eddd075bdf9b0dd5ec059b5bbeb2069a88aace634bcc1749615ab03469a9bbfe0d67c9fe84e803616fb9b12a5eb139d725db9f9770775d07c0c55ba031841885ff610ad095af07593106a53b121adb351ce2504d161e63dcd2068af950392d975e7231d6370837e756a9d3abd4a3a1a4cb56b4e059c64a3cf98bab7f4a5030328eecdf004b97bee5717fd868aa43dd6d263f71601cee1d366ebbb5b2b479003ab12e0e5c01b0d8ab64cc8b40b84e15c1681cb44c07a0de2ec2adecd6c809bc80392849f188cc7af1397034b8aa666ebcae37a4cbbb66426a5320141894ceb36e9031df7c9a8aee44bbab841842d1555b3c2d4c76bd689ebefd364d5c6bff2ce231603d90abb3192010c4aac579668d114b32a5451bab7db95a4b0a648267469590ae803e07d3f0c87a4dedc8c27f7d2de104aa91d1a76d18f63f0c1dac67a2e6c4987d70343643b7a6439a05f44b0989c878c9c7b148c6dcd85f5fd690ecf63adf2e801a903edf3fba141c895a7371a1777a749f1ab75411e7d1772af1771f650142db8c198038d4da5a3d65334b8c233917486c4a8d6a94286a61e9226b7d1b095764a5661e1036887b39fdb77113fc8d9e10e516ee7b11409896894086131790522a41828cf2d038ad9e71717938680e117ab7a07439d9dcfd83fb28b102a35e0dd7cf0f9f96c7103ee30fec6a789057a3d25bf1fa6ca18613a33aded3a554862b1e87c73bc119c340322db2f6d818235e216a8986d80ab9164c8d5855d5996e40cb61a16ca69a190b9037a8f75674513e16d4eebde9acf0cdcf8c332f3dd6b50ef20c75c183e21a809220377fde47252f97355254a78785a6a9104101e7876e68f6bcbfe2fba35f75fd081036e9b7b32115cda21a6d1ec0bba765d607f13dc9a7c62f6e2e24cdf7c1136d81003a594ef84226673ce46fa82a78d63f9613199184ec6bbab35f49c9b37671a4cb1030da64b9aa43784f01d629eadd6e54e12d9405fc552991d677aed6edd133da9b301410d0365f64cac84d75137af7f059f6488690af58e1bc3db1f8b20f1370cb79134243f030cf7cc1128a9cd498da46b03c04053e218b7527c453c7a3bdfaf5a62bc93d52e033d39057be43a6f86ebfbf07b562984286661338a1f0cdbc35913cf0629c7bc9900581e02c950672c32c014bb542ff484bdd81faf050659164cea94e65c9df44a395820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022dc74a3c956f9ea1b3d8a7a8cb90d4ee8ec9f448792cd0539f6976689e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02214d52056ccc3dbbae0f815203a824ca4a4471a6bcc900abbc26e856aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0237a4122532bfc3fbccdfab59ff2287a4a8dc8bc1a490e2d6249ff892a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022867acf09b6c2c33d80673acf0ce1064fc3defc86823096f4358ca49505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029c306c2b660abb574d70abd50d0d727dca20e668f6c5f2a5b4c267ead85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a521039ccda6ad1ecdabafd201933493056ff8b2b758277751c8866e73c8410c4e8546037afe46ae7dbdd375ab527ecfac71eb657274e0f7b9389a208751787c53bfb5b803036061031892ab95b2de79a74e147a702c1245ef4efc2742dc754953c128b11f037b6949d68ff9a3b9c31b26dfdb941c9267a18ce68cd34a32ae81013c22c680a2030a16a652c7eae2086d1988e39071ba5d61f282bcb4c6a53c41554b3f52b7eb0100581f038724b2e0cf6117c805ff4e83c70174f8ae65ad2c9184a4a9eb86d73e7ae04902b5e3af16b1880000038a99b0f2d87fe754ff60572f8e04c505ab9de72334b382ada9e948e3e653e176035e31b9a266b6b6456b3a805ee788e1a0aea25b72426cb3cab5f11c6b1c815b2803bdfc66d5222836c1d8c17b4de33f0d7f16483a9f0742e3e827333530693beb640375ba398fda126dca14f813fa88cab09d829a091c675d3f655aad2b2796caea6c0219ffff03c42eacd9e041d26654fb9c9906b65b92934a3c38a6547558a23dce57cff072910389e4cc94831df62f9d760fba54234f56f7ed7fe7bc46deacc9ba2c8c1cc96b2003c7402a3f5adc715eace9321c19c877422115d347f3f99099d34640391326d9c103e83c467feae7bf369e3699a17726cba76fbd8036c01fc3cc7cce619b28db377003d5ef13e8399a9a33aedc39eaa34ec8e4fc1049499b6c848145432d39c508b87b03620e136c0d3f6c3166fcabc5aa631a075bd21dc9098fd8041d598a4b73ce13880219ffff0367b60005014096a9d0aa694adf698da6a5d0a25e149da3084005c616ad95939503cbf349f970729d1c62e40429f0b47cdce667aa13cdac8b54cfdcc0fb0665612803b1663e70ebfd62d481fdb3094c0fc807b9d3420d06a0a5df9b8dfafda3f2889f034d68b7f708f2c16e51734d268e3f8c4e00585f9168ef6f6f119b8179d5b4918003d2698f57e512b74b1fa6a26184a999be1ccc823c747e0fde1714056b52af35040219ffff03afd6fed23348cb64bd1c4eb5bfe383047a624251bacf24a83bf21100fe3178170320d224008e31900492ec612f7726c273645ddedae9b5c508e836d220e962cfe5031955da709614dd2ab735d330bdaf8bcf8ce80f7cefc509f2aefc5403930ea33e03973d513453ca8f7d0ab0f95e530b15b5ff54b57f82eb219380c54bd5863fed3b032dca6439922941b090d8e2ce7e01911607ec1c07346032b54697a619ae71b26a0331fd4164ad5de9cc92c6ef80a066236aeabb5621c061dc644995a465e49f2862039fc8270fc8d448795bbf0baf6a652b77a200ebe8420e2dd87ffba118ed6f0c8603fef47d92001dbb22930780fad40140947b3f29ff1abc4a85c5c88f2cc4fe3981037737fb544a6b315a8bdb95bf6b642aeccf40c9959bc4bf0dd4b604c91d7b1ba00382efbca4557bd1aac935700bd57c10c03f87182c477f92d0047938ba0a550c1b03e17ab11f77ea6136a7294ee3788252734560680e704345602c38be15b21e629e03dc733e6768454a6e5dba17afee5937f59a22a84ebfcd576c1a351ede855ef7cd031a2bed0716dd20eff1a48e1cfcb583d68bfb39db22f27ae75c9e064f313cba08035aabe8a859c62581ce4e1112316a049b08b409dcf742092131ac1524d47e622800581e038220751f89cdd0d52e8141f06a15843f6c28a5b228f728fb2241b711705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e034d0112c380c44270051f35f61a279ad5840454b16c2a569021fcab28a04926f4cd498b5e3997b90219104000581e02fddcb674f64eee24803d5a5e2070f36c2ac88707cff92bc1b9b62e44f348a71165870eb3a50c00581e027d1ba51713cab03eb36240a12a5181dfbb68a76a7a9eeab7e3517af5425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219090803742d543ca81c16ddf05dba6f7a2765d6786e17b71ff1653c718354549843c61d033b6906c4e52b1b61856f27b7987432e4e90455f063d5279406117b2ecaa92cbb03c575cfc30e83629e0fa80ec45aaf0fa7cfdf42305b182c6278af775b12109fa503614f643ebab07ba920cad1fc64b52c1d855d820e0786e6df7dd17fcd8bd740ad03c937a9242ed8307fbc82f37b7be61eb149431539cb3f2661c73d64941ac1205b03dab1b500a537e765564006d7c498a9365f0a7b0df14b1cb479452b96180a50f4035669fe8b718e3274bb64349f37bbf8691deef2e4e09854806ba3b88be081e1b103520285e8ecf4f1984f78a584c301b142aead9fe8db756a33bb29c67cb128efd8035fa1e668b98a3756a7d0ad76527e6a74aa9c663348f7b61e504873286d3ca81403532769493e7ae603db46fa850b31f18ccdb479ee9473ab19b8b8341cd2d797900219f7ff03693a75dc0d55754bb0d3d3b196ff4eb2bd11662cb4dc7815d30fe5ddd700be0503feb8d1c16197c4a957af26a649d493cabd41b5363858b2666c0a4dac878f5cea0390c2f9dc55a4b050b86e194e34956c22afffddf533d9f3bc5035cadea0f942d40382c963d8ddce5a60f823acad0e3d41ebca5f5e3d9f9ff4ada846f8c9be4719f403c0a2c67732f53133e258b054ead2578f0d57bb633cd457bb467b834b5546de5b038a3a3139a287199f886a62c78c3585e7027561158c486e430c27054d31964185039463592494db95f6e79555e220454abe8e9d077f62cc8565267efe8a701b895c0219ffff039b6ec94cf40747bd91f986aa97b1cd7bb90745ac5f7cc1eceaca8f5bef2e217f03c384ff4da05ff708d868fd031a39d6e2f5367a7c2fc9b53e3388067158a500670328bbd48dc6c86a4b2e38aac049756e56424a399f9b6f097908bb2c0d287758ec0366bf568a10e346cad9b55ea38f6a9603112fc5e3f5a7f908d0a21485fad6ba5603008d16f0f47f4eed7c7ed21fd1c26400ba554880f29700467cb80dc3f0700aa7035e51f591ddd89bdb1fa05a5017e0b8c25d395b32a2ab490ac45aa386b3aa693e03094a309cc6fff93387118964cf8bb8fdb72e9fc06ec0dad382b884624bc738a603273847699c2fc12b08a58f98cf1fab1dbe49fca03b92546544f783379722aea2039d5907811cbe2ad8d1d03cc24e727419a690ece40ac2005f00f56a8582482f6803ed9964324da5e14cb0c206adec385efc6fd17ee3e62d072c79c877fce0291b0d03f91caf0dcab739d084e08593047b54dba2396eac38c9ab7bd86bedbc5bff7a12038f35a5341980e99b161aa33381e607ca5cb04064ae79870bcdb7c1a3fdce460a0375e3c355d9c2341d8d9bf024a4abc1048ab2fc45df9a4aaa581d908658f47fed03519071e7c95a1cc7ee9cce9ffbefc26f60673539b35c66363da48eb197692e0e03283b07900b3e3b4b6732ce5c81003661c055f83b5b7a8fcc37bd358e0e54f03103bde4a953e26aadcfb81b9de9689025fc9f4c105643ce8a3e795f161790e819c50329744fbc750baf6d5513a80721ab1a9e312211d2d3e479d1aba349593d539d930329cf4dab6aac9e200ff5637cc37592f062bb9dfb15961915992f6bb70e3f4dac038e454c3d3c8fd04577ea6e7e0ca90fc1c8e8d44e615b967256772bbae3d7c94300581f03f148978f77f9abdc7ed01a8af80cd735091f59c2a7c83a053710fe5f63105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03840d0e49a0055da88776cf9ac2e89cb71563682e12d29f0671f1503a6cb12d6f034bbe81308adaa60a85143d410d721d6567838ef4eb9aee2faa98fe20b459a55d03f755f1034ba7170cd4d8881502089537fa1dc18ba047ade5f5e035296299295000581e02530d44bdb847c41bca3f5a5dbe6c4d2c6c179294bf2f76de46e4e3c4a55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03b21058a4e46612226440be11afee27cc8f432dfb625cd7f0c050e4c2d04913b7c7c905f82ea30a00581e0353caa78f7e8a2ec9ffda182e33abb5c4a08f37750806ec52285b8b88805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020500581e0241775640a3dcb83095350818527c60cfd71047a56082e8d6656f34d8765820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190842032ceb0e492b51b14e102665dee476698ae609460c8774615d097fea503ef6abaa03c6f860709beaec34d3283878d0e435699e5548f82e21cedc3b738d56007478a403a84bcc6e65be13a75fed01281f3247ed98da7b202328a7c84e8238363eb9cb16037376b6f0673ee7ce3d1bf7eda9222ccf4d870553c0da96c32bcb9a50012ad2a7035c2784ef13f07c666d940d1035a5e84be538599c36cf7eea46c6fcf5036bb719037c9fe4fe95a5b3c9dd3539d9325075d7912488d8506cf3d09fff61f6d8c4039e0219fffb03d87b65343ca7788bf0dde336a252d860e364afad8a757407fa0dc1c272e690e903bcddc923bf059b9cac04638c1b6935cebec998673acffdf866e17a7f641abe9703bc2895de8d07f4dc083cb01b27e95f345a03d81ffa02fef7f2f00b44a602b25e037164cd165877ea3fe430b486cfb4b963b2b4af33326486408cd9cb6609f87ac60219ffff0385dbe82178b72f040e25c7970fd7da73c102e34cb7006e322659aa050a9d9d0903b5a820cf6a26a7f939ab8a9407048bc329c1fcc736a4da686614ddce5c755c1f0324d78e886823ac548c1d0b84391fe2fe86bdd12624cefc1d93fc71ecd71a8cac03ed58459d87e4037dcab39db438aed9b7060559c1bd541b5aab46b35d508164ce03e3baf848815a0011e337e3b5646c2ad330cacaa674a7f94035411272114786de03ac7499b09421848c0149eb3725dd489d34bdea9bfe14284f2f6f47fab808b68e034ee67c4976a372382cd8bbb8c86a82d68bfb8a2f67f369585508b99fe7829cfb0390f3554474c9d144243ac107cc26f2d7b5e9e732b553e1c685092f6133631433039949841e0c6dd1abe04fcdebfc2601eb7115409db89a8412e3d39314b3253fc303ccb8d74cebf86461d9d73830e90edc1109c83143f1e9c02d5ed0a2343963e0d40219ffff033a6f9ed0e7f2f2e26f7c40b8134347646dd02b64bf3c91f573a6be596c2483ef038591d6229d7b2a1972e8136f8c57aa6431bac8a4a22c9aa285cf3ad0ffc369e803b631bb2c885781f46071301fed9fc567cc5c425374c2b56677a0a86906079d290318003a0e2dd798e85fc5bf92d834659299b78dc64b60dceaa9b843f93a87b9b20362e9a3023f84de03b027543362ab08e3f8c885ad9e3eb8c06af5d7f9e5f2ccf303357183bd9099f175e00e74f13810855414886c280395ce2834c609b4cc24e5d6033b0724ca55f60715cbf4c072e29f84e12d6f11958e80643051e80b0869fe879903768938f01326f274e385d24aeaf95673afaec4033c6b2aa12f3d10bc21703080030c5ff98bbe6486089081a3291f982d90cd1a2c83e7874369b61302fb5371e7b8037ed61f9eb35342862dc76b60966639c1189a4cbffb3e261d09cbc09b6fdb66fe034cb947c0d4320b01a7e2945d37d0be3ed3c74871c242e84213e66340322205970392649cec2d60582cdd660245bec864d95f90c1dc09ed62f67c402c57a0b63a750369a5d3f0eb5ae71cc7219f7ddf996f186a3a4e154df0d9d01989a40a8b8da90603132cd69deeb5bc0f7ae986e82923da7af92f19fe55a4900900f16a7cd011d61e0399199980b9c02497dd322f7f2162cdd585f6fe3f3ef4f3a9f5e454a171741ef4039f776f26cd21bada971ba2244bc10843cc73f9b15fb929cb006fc30de38650a803a104193e2ca22565f05c9b9df843d45e01faec9b6dd50789520bd4e3534dfd10038beedffb5530cf75451a29bae9c2752576cfedb8014b55366c53915bb528e84003cfa9308aba0ceee5c3f612a71df738e18c94f1346cb543df6a6cae0353cedc4c0394106313120ec99841fa6735eac7d785a02255fd497efd736b5dac7b7078350003d72b7f83dcc5c3032382000e7fd99635c305599609d3ac75a21048b211767b5400581f03d9534a97309161c35a7d34de3403bf7a8acbe70f253822b7f9995ca395305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d12e23bbb5e87c7ac392247215c954329e053c33725a6c2bc9ebe22ded95106e03a21d5fb847356c3faabc4aba985525483bef066b9c3d9cc5bd9d6fed9d0f433700581e025aab50e2d80ec1038d5a1283282d924a19159afde44a20395aa7e8c5c8410103e0a53fdfdf8de51cb5853127a716ef7c92308b562eca09409ee3a5df02008ea600581e02df329e735ee48fd44b38cd0cee656c45f7a3e85e2de99fcaaa523fc7e45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022e7554af9ea76c12ad639680ac27a9fd5eb60a5b96a4d1f6365d24bcc247cf1f8a8667c0000219890200581f0353a9034ddc1266e7bbb51c81a983cf509282115b65694a4401800cf76b005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c4b1be4186d24bf593869ca7e7d46ed7745d83be4a4337e2fb49c1f1c5b8c1b803a34cff655d90992e9ef182ca8e81ea1335bf2b4687a1d9ce9922b6933f20544f035b3bf8176da0ec00ef47dd7c57a826e5ff784e8cf4a2756ef0d283a701f5a20903c8a7e845383f01d17ce50143a0da24f2532f2c2de42d6918c5586cb386a1ba5e03992b4168e486caf033e82251ffdd0b06a693f5943343cbfc661ca17d4a8aff14035adca5bc6cfeb83fa9cf6e0fe19611f87e7c9b26fd09c01731809294f3ee011a03c07a71a8fb9b3a0aad09cfe730a0c556f0378278ed4fced74c2983662a3ad23703b40c030bef252315ec2e575b51895c853e82915fea8ad1808dcdd553323f90cf03fde910394fd11359c897207a3d01b4905da6adfb7d51a09c0d51c68a85820f280219efbf03a2d7dbb2dac6a452a9fefc5660667e1387ac338855061ba7c3efbd4c7174ed760366ceaabdc0c3ea0da830d80c645cfe52ffaf6fd8eb179f743a06e65ff3e3a77403f15465fae587da0da3c02363a93269c17cef791396ff16d22aebd92c852cea950219ffff034539f2af325e331be9246f3928014b2ab949d23f613ac7520ad6f5f4ded7e35e03316c0861cb76d9b1633756a3d496f19540bc360417eb7513a1213ebba29f019703a73007419a7d5e9e747e31a8caf7c77c8e46c5378d872807ebcbe1dff2ad954c03aa1766892c9e7c0c71358b1feec05a898b219823f5556aea03c2d134e56120680370a704aa20b623a01b854d0f0cbdc79e631398ccadafd92f2d3998dc461120570334118047a74c2abfd481c1503e696ca07e1c513aaaeb66c47a86b9f15c44a94503e2b1bc8d20a397f17069859fe7b553c7cb02966685b34e54e06c192a270dc5c503f7c58babbca18d41264c39c419711e782ce3deb5f30f23550d0704dc7cfa72b0036e7ebeed3519e907090e04b74a793ef2113e42061d543a0ca9dd14d67a0b65a003d54b02cd527e79aca94d600ec68f10fcb5460479155d5efd1c8374bf0fdea7700219ffff0335051f4016dbea151acdcce6f3cafc6b067b63d64fadcafc6117217ceb3feecb03bcd96cf47c087a3fe562e84afc16215058411bc7acd380911657c7d89d643e920336f78f9546173823fab2a9fcd253b2ffed4aff05b3ffe7d7681b18400aa906c30370dfa6461e358cd9135353fb42c063d0671264a29c4955f079dfa20f508835990353ee6a1b069ed4274b28d71f2415e33dc1a927ce7475628c1e282ee722217239031393b8557291d2d633dfbe6bd2c2a3fc50a7025587306d8474005be6ea988b24032a7876d35cd8a23e8b836a35fcfc09b5301f55dc49e85b72ed45f2851decd2c90330770b69aec2a5b1eed18095c744d4ed47a0243afce89cdfdfc9d09e92e0714f03edd30477c6eb8045a411ebbbc1081a0d0ab151750944bd519b499099ab50721903893d3f6e55c3c5523488e64ae102c95a368c771e0c61edb9c695d5a25959fedd03ade26f45996dda0b03e86bf192845772c35dbf5f99fa8d4d6e8e070575c21d2903110a2feccf7279e766a071565726ec55f62e6d7597656c6f5aa15f386f044f6b03b47b973658cce71d7a774bbf1b81533eb12b814a153121a9ba3a50b98807c6430323ed847807c1364065f5b19f0d26fa00f5afe1ef082eb19fc07033a60d99988c0391eeb64682b71c7fefc679a8c09b1cee76c7a396e1f4e5d7719282b42e139676032dc9fdbef0aba34f6d63408d44d15db1cda359115dc75fc280d956400a45c33b0357b2e6b95294076fe0eb0494a8e8f374db27488468b94cddf291725f31da21c9032665b8e3c84913fac00f8e799c88f7e228a00530fde622d074e1c891f855924103f5b7321ec5b211580195de0229ce84035632472f0d35587a8736995d9558c434034e404e1722f451ab275e9e8fd359b3fcb9279a37f6ecf965947614db4b8b79590390d36fdf6397b033114a5a0ce9870ce12c187af4ced1c5688035d38a2bdccb5f03c62069ad8ea6d1f0c94d9c40af27c38a1516783c186780ac824b9dc71185b58203581c8c0bb62d3c3e596248e608fefff6e3677185a6c7bc8ac7fe62f0050d4d960395cd632e0aa668e0ef2b5e7c950551fef7d2d7e9ea07f57922bef3d859c4a343031b4df7f4bbe7beba9fd3035037b72d5a13180746b6962fbe718d4fc799731fdb03ee060614202b8296f226638ede390032a0659424fc1e9b8164f9c9023b6528f900581e02ba314b7353ddffd4179f97d9f67a832bbdade5aecbe14ed738859f101d47038d7ea4c6800000581e02a593fbd343caf13a636081b61a7f33bea68168941377b051bfa16398a35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219108003d71203a341a4ab2f9d55f246184200ba33c6f4772b56e0e59b4d5b2b0ca8efea00581f039fe86b03956320685c360ceb9fd8b8087bfbf145d45c9a61fabf16d69c00410103f784571f1ab432a1f0a86793caa19eb1f01fd15244023929e7253e2b4ac601eb0352be44c7795c0f3c6ec8ca8e2aac715c057f41774d78115a7ff59e848eed908f03c72fe414ff7c6e0b2bc0b546140c520c6b5eb51816d84e344a8e9ed8fc8fc5de03c29334fb17a2bd895c80a8e5a0fd320142f7729de91ecbb5767a43be4cb115da039e6f51486daa6d77463bc0e56a0cc7cfbac704c721e0a751bdc10dc6d48eb2c703691803308aaa45d93fd8c78276c40032bbd2882b7b1603a173ccf230cbc461cc037651ff8126730070f207ab492fedf8aaa4bb5e5b52b8745cab4d593b00349e7b035f7a0153ae45b8675912f318a3b8978e983d3645604f50c24e5c01e1a7cb561a03fda39879fcc9d311da020ac5e6012ebe4f645185acd85916b1556ae26b984cc503df332431af6045a592ce52e083becd9bcca782ae7f69c11de47e61159725af660219ffff031c040483ef02c0d1865c7a0a93aeea7aa08d4844c841dbaa8ccc51ffcae522a403cb587d060417893d8b1a28eb9f212f0460d28b6dc4c537a640f443d638ceb07d03020edcfda64b2d7a4487c5c5f6dd8c0db3ad6291e071d140f60a550c7f986195030eb8987017d5985c407bb6a4214b381459ebeb13c5dfe6f5f11ef782a5a908360219ffff03a326b20700f0edec4f31434ef033a6da0bf1951441a46bd395bafea07990d4d003df08672dfe9d19ba4c444072a47ff8cb9b5a0d00d8c52ae3237d58535995a3cb0377896efbd449e0fa56f593e678e775f65ea5f6e07c814359c53e328e06c184850219ffff03760456fe86c6e93e9d0b20ea5109f80a1e9b4691b5e163fe2b8c65911e2ca5c103c0290cd2aee87f42e586af99b1b79b17ccd723f25465a5cbb2efda7f26ee85f2032df349e17f6309a5656162f3aaa27afeb6fe6e141474f7cf67454c90270f8a6603f9fde949c6d1854ca9510eb92ca9b8d7b3e7e703ff3d14b2fd35b44e41713fed03eb0465391183d36cefd9cb858bb3ef515bfc6856dd9e56e014017a58f28449160219ffff030a1ebc801a50ab6b399ade0328dd7d8c2b94df4b59b83f6839591458d919f7fa03cd029bdbcbbb7cd28e53649adb81d34dfffb5a0196f742eab4797462860fc66903925d546bd13bbc2bb10d6c290a960369a71adc2b184b4771698e63b77729b66603979e3f90d904e2ab20e1e77feb6f912bc9658f4aefaf7d6996897b5df46032f90387b0bdde2b0e9241bc232e121581e729f21fdfb579a8b982ab2d42143768311b03eafda07c100f4654d6321ed0e658cc382bc8e81806bdaf8fd60c2a4eeb17e91f03643eecf7af98e4cea73804f7b6168254330aef5d82af409a53b7495c8bdc00c5036df48ed26534f117d7f9951670470ed840046a20e22770bd111a6addb6b04d5c030162ae29f5d42d7eea1045f886196a8fc8b8f3e46117fc77cd3cff18fa8ed71c0381e7904f15051080c29662b3582cad6ab79e99611f202f553f30d91aca7cc0d40339340bfe7bfd0ea099b805dad4be65b5b9b0aa372ebd5a988a514347af1313da03785bc61e7b04d6709997926c3e60cc165fa0705e4f267154ec5793d4e3a4acf8031e37f9c710d0ee6dff7c87b0d38e51f0eb3a10eb7c4e9f810d0cb8237248a07703b1332d8bfb2fcd39ed6075f290c9e2792f8b304e4acfe2b8e0ecdc422c5e1975034b0cae60669426127d85f7ca9038cf71b911fa31628d202b14ee99c7dbb6ee23039b92bd39d14a5f05495c636d32604d77975517ea038bae4a19f3e70883830646032f12dfa1a56d81c2719279df1612d1f8f3e68209b3f555de1823173283d42b980371fb87f70f64f7f06f4d00b014da26bbd541d74a59d6a9a0f6cc4c2b328487c30394dbdfc3cfa9fa69e4783f36116ba18746c5db64936d21ad9ad8b2c9c10d3a5f033a0eb01f637ca5bcba285b5ac4734c9ea60b6615de4b01d9691453447faf02d703f3f0eafe592dee1ca20515fd9a238314c138caffa5b7de7d0b78585599c28d35030fb11e646db2b8ba7a18c046d583e28aa99aff8c288c02d76c8e8da7c9626bdd039dd881bf838b5f826992956a6b98dbb2ef9dae200bae8d095d4df853bf226c3a03d58d365979e4ba920adae1eef4a0d9b8dc1cd12e444a969be6974aa4db89f5be03593f83f36c3050db343cadde6477ca4ec4c082d47a143164485b4412f73b36880313a13642b647bfeefdc893f12580e681055c542a392b08eb9c68d4e59195add3034302512bd497d6c6691c4c6d78fdf99b51252c4cf34b284987001796c063680d00581f031843a5260f50654be60454888c12e1df9a8f5beca305d3643235bb2410105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0314ac2a4037bb9c454b5ff1d341e61930d98f8bbf8d3879fb16bd9c75c9b180540313bead4b01c5285daeaf7db1909b4ff9adb2bde5b09c255d50960c7e8969fd450313ae4b87a9466bda777b78c5c73b9be0542daf06c4fcf95f16034d3c43f3340f034453e289c78c92dd80619ded94bf85359c38c30b8ccfbad693f38d7b6762751003487109bb8cf0d840ed721e37faeb56874d0c9b6aebb6d52abcd901b1e1d47e1e030feb2f389db71094872ccb0acb1ccff2f1aec23fe78ff388eccfd0000edba3ac0306c41f230bca0bff2ef0f2eee1e9f31dc74fdb942d2744b67227fac91ceee0ba03804ecf998e30b599cabc112ec9eb93488aa0db62e0006121f42ccac6aeb3e620038101d8390f58e6e7da14d23c8005b95989c7ebde1a3c6982158464c2aaae60a5032e72b7f4dce792eaeeab1c5033624a348c0511b1cc58e47802ebc95995d428db038c233253a52c8d290c1cc6d7784cbcb618436a5b351f4d65c5ec53e05c7b2abb00581e02e45fa4a838b134c920a70c634c9ca44bca01a924b0040860770d1aed8947726d75c93f880000581e02920e6cbb93e03175c156b6576e7c589a7b95ec4418551adbe64a3944845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d9e3ae4408c24bbf20270b80c0e51cd5286f36d273e3c2f607d0e1b3215820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021901280393d772a69697218f224549a9e49fe5d9bc8b9c7fd49e7ea79f9713960c9076380219fdff03ff8244a7862ced11195e7ef2b69d6522db8801e023bab2cebe2a2c0000efe15e03d1ed0e210b8de12b464404c5feaab1287ad638a8da8265b27f0466acef09043603a20ffd26cf8364d54057652c3bf2232928be85f6a8dad51ffaf65f1d4a1a90d803d282f261382f4a24e2edb0c228fd80582ac976553f4963b6585533683d1eaf750219ffff03399c3b8b1c4fcb8deb4a22e8b7a09dab20a5e6de114a84feea979071abe60c9d036b6b4e17fdeab956a540e5b65474618d9b3faa18da9e25e479b53bd5d8b37072036af31239c57b402604d6927d5e6995fd74c7a34d89edb24d4083be8f4d7cb14303268244e6298eb2f9b27188565e6e2cb4ffa3f431dec525115c8e750b4e1d847b03082ef396c015f94a209b0c1e71c4bf3af274e09c84f1b88b6ce44cb83f63923a037fbb13848f8fdcc90717250f4c7e09324a896feca02b9a193e67c21e65aaba7003eadf0e1cb027ea07dd8a10effd9979d28a4b4c74179e07997c4132dcc83789b3038a26c29080335f7d97c1e5e76b32f0b9901d80de9e3ca4dd3b5d2a11c57d313c0364b5c62ca8c25435c68d3958f85e69387c2f0c99b2e1a03ffb279275c20dd80203af95ad074963621deb00a54c8736c783bb17431ed405d8cbfe8bb1345fa2bd6e033fa37ec7430922d5d2683008983e52a0a1f59ef444a35e9e296ad95a5e5ad9ef03bd526f29cc03dd7b1a2eb73376cc0e61fc67939677d2fb7e86259c0d34b15ffe03027c7834c3181a61a0f6e2747c5c8420e3c2051de2dd757b5333f913d7061e0d03eaa7f216c4a84de7a1c19e7af7985dfd4f6df724e9260db57b1e106caf9e4ae903da03694660e81b83a75ae63620b5719391371f314860fffd889bd1618411aab300581e02151e8b71917df810535b8508115c370ebc6da3142a2b5ebdcb72500e285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0215c9e0c873abd22d44f1a751f5c406a5c2c2d12bd748b4d595f2045faa49012255426b2dd3a4670218500374fc0178e299362efe556ab64ee2ee832d8a6ec506c5d0afdf55fe28185f31fc0376f837ce6cb9580281d431b5009b4e423b3109e348cccd7408f4f2de290bda2b00581f033e53f9e5cd6fc9411f7a63a47d053055556d16aa11d560aa380a87a2ad705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03218e818648f82dcbbe000cf2f87698782c542ce7ebf4315acf419f327d511c61030dad7efdc6b1f74e003eec87ab020efac5896816c13d68ba0e051634a2a8f9040341c74b0eb11da13d37c4c6fe2dce7a6089641c981dad76657155ed44bf3196bc035c5510c0d81538931e2b5c76a72b69b22978d069eca7ab5e0d81603d83d442b303673c6a58a4104bfcd0d79baa0f8216b5ead683613dbb024fb7d55e09483efc690345d9275b0ebf923d68db8065f35cb5a69c68ebd59ef24e626a5806ab5cd8412103fa6d161a31721c2b4a926816632d14e1c6e9448fbee8bcde355f0b0c62f3acdd03b354813979628f8c15c5d7d36a6c46d1a63062051701f30a9babafe1f3b5d2c90219ffff03de5337ec289b18649a9e567164388ff1657d00cc5b02ee060f33b3e80854085503f4015ea469653a12124fb0d33b89b901b8c82f12b36cbdc934498389fcfea6710371270edf02fc84a357cd6fc63bf1e4a60502fd29d8907ba80092ebe3dcef95e50365b2ec8d8bb59d8979eca7c754f5aa015bca263906c78a567b8af094d68687b80219ffff039e42c1e2333b0e6e7c26bc3d0cd90ac97bda29341cb3ad838f9c94cadfba5b370386e35eef2cd5378d10476850f6d895c22763b8ae2ba51c678406c9fb47cad9690349518c7b97c528369fba36f262b64037735480bc552279384f5b423aebb8230b033c117013adc49694c39a36e95b5305bcc8473219dcf5b78dece068965e6e2b5b03e1054f9d6931542d812816901cb2cd89374dc85cc7ad0dcd0657048c18aa075203fb319b6fcd9a542cf2a0970d81a839a7d22fc8f386cbcc9c033f86740452443703beea8b59e7d0402e6fc139a3bfc647189490c10772859d4b79635bd196ef701803b0ae04be170711f2e2137229f820b4e6e36abc12d4c2f05d8aa4066a686f00f3032bba8fa181a03803fd4a8043ac6dae994b9a64dbda0b7c7d867e2f54ef75bee103f672cf2423b7461cb7a8de68211e9d0a5212688ce89be5f8e2952ee810ddca2c0308a9d9f217e3d353ecbda405fb52f0b83bfe3c852117b2e3f207abf8215666c8033087541c176f9396fbde6817e059beb68925dd24c04bf38920b09a3403cf2b050387aa61af45676e377ed1b7f986a5278c6a3c382a81b20ecf5462aa8164dd946703a94ac428f5622d77c1aa0832df00601412dc32e392494deb5dd27adb8147568703c16240a802e127388dbc93ce4118ee3667b0991c7b9a5f59ade74c82e8d9786d0396cc007007101f117bad8910edc15085e0bf5294029a805b790e68f3b749fcbe0323e022674d12e8601674d3a531ccec7d81c2c578136397f74c342d4f19e112c900581f03ca9b8ea52b97f9d00c2491f1ed7a2588fe0282492de6f2ed702d8a9508505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f95b88a48bc6ab4e2a81d468541eb5fab96bb6d81981193f06ff2e222128c56e00581e02ae12f8fb629b8a44421622987afacf985112f36d589db3dfd1a9164ed55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027a66b1ef145f410762f81a5e4bb37fba8a206ba485108bee60609b4ee95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f2c4dc3aef520229ee9cf1f08fd47490de55d249d2aef454be36cc90d642027600581e02c309af7ffea68f14544e57986ea1d0c7b6251df813755344d49feb13145820f00000000000000000000000000000000000000000000000000000000000000000581e02679a81804517611c01c1e2d0e7f93beee8b0d02ddbac499c33765694ee420f3a00581e024e724e012ec23aafb8e26d4da57a8c5b6f5f3646d4983e7610548011024905bc6fc7a83924f6e1021949c803e979e60b6d1508edd3707e263cbf9d6b41f747f0e1ef82c225307f551dda5c9500581f035485baac3c0c976e3523a7c199c222dd2d3bfed149f71fc1cc75544cc0a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0311009565037c018ee1bad30234f24cd9d32d4474cddc0b972cc6641d8860cfef03ea9a80e48340714ac35515c6674b6e9192f228a342ad3bdeab1e772f78e14a78036a5f2d13321405910a91194b9cb22ce2af79c310b30c8a821fab3181b8095f900305d85e380ef8086cc6c162f0bc052b0a2070aa8a1a26111a9ee3b7523a5b5cf0035ca7476c7b91507464583cf8a38b97a3ea250720d42fe0011d211baf87754d940219ffff0354c984fea4e68bd2f45b1daa78252ae58508cc243975967849c86125874a6a5203a19541fcdd5fb56dca72e83780ce84f0f118f3c3f6bcf9a2e984449000baceb803a79b75d9737a2e23f9736b439bda8827cc6c9ffad1172bf5f65f6a6b107e893b03bd53f0ea942b3f8fe52a50fb94db6f4bf66a45dd60a64c1d173eba67fb1d52d703b747708d4f03424752b0cbd7cc117b5acfdfee56f77e64c717c25074c67e83ef03c4dba995c92a6456b55292972255ea743f3b193706335afd95d2e1f9755c21f50219ffff0341b4b4433f6d0499e1ea7a188b0302322eb1620e7896a3cb5f8aadabddab153f033ed6e0035c03961d41990bd96ee0952c5b1849e07862f9ffc95b4fa043cb116803a0124125417aa1ecbc30c2348365ba6403fe4b84abec24e701500e5a9bb4894003d3d71eaa43d68d470c10b088577d5c514cbfa51336c104e1494af069c1a1772d0219ffff03585237bec67cfefc14fb2272f26a0088cfe1576688ca2fe02f87fad41db67ca90304007c01190fca642c27e4e3fa6fd5c373fa2d74e247132489ca1bb9e8b7eaf903f5cd9677d7863691c2fea2f9f97640bcf7e491e82ee6282701955604df5f0c670338114cf0d12c55115789d0c0d1885982cc08f78f0ef6523eabf149ca7e61bc9103b024edda77cf69915dc8267138e8a0178ee00fdc2ab23c3b4f74b773b4f70384032de831658f644d3c1fe9f0adbb2a758db6f369b560edb0a821e3f1510aba5f890391cb51006b71231936521b6d3b55f6584fae4297b977a15983e943247969ab900382252c8ba9b23e8a2aaa59cf44e67d3bc225f7b34097223491572d3744f451a303e773f03304d5b7bbb75507c7bd6bfa628b4f0b70999677b9badc7c3aa2abee9a03e9dbc155ef1f5cd919afc45760742bffa42953ce5d15dd6e162e7f4694a77046038a2a66a773f07af3c5e2000ab08d9efd34ba1d7eac5d152cd3cd1e21aae8f88200581f03c32bb8ce08bad23bdfb7d27b5366e03ad2fa0ca8c7e8bea7494d099a62b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03790cd852706505bf236d91ea21532eec80040dc85f01e233a4e6d6fa0edea66c03f6099e6c157801fe70ca57a212daf29d622eccddebc34044752fee46d393596703bfd93540f6ac74500a7d6074ecac85b57e14244c96490b195a8617b69eecd11500581e0218511b7cd4b9ecd9cb930fa7d0ccaea527b36f9b4edcd50be5ef0332c74801b362936139600000581e02c30d952b6a1ff82948ffdb4cf6c1814dfb662568b8376fe7a29dd43bcf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0205f39ad7a24a1aea23ded89111d2ebb327532b7a730083a503dfcb06fa4b52b7d2dcc80cd2e400000000581e02b7009d0db9ab5cb1b2b1fe1a8bd0ad657d4ead0607b00fd7fd2fab501f4a0134cc3c4d100a31ed1100581e027e43b11f1f39329bd12761224a94b1957e498c7206601d0961c9bff1d85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219036100581f034aadd74f1b6dd27978630a68f3a36938e7e5c670147121bd3e38e1f2ff305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03202136553a614bcbf61ae79e22b914a1b8a9df33bd6d877a5a5882f46f7830200219f7ff03584faa3e7edc70eea9d62a4b476d0cff451ae5862fdb74122401a12af03725af03723d5afd301893897e99790cf946c7182cb336fdf0b5e595b93c693489a736b60339949fe5a6dcbadb080a9785f0a36ac0000ed0d043ccbb95bbdcc46e1f1759310310e3d3c04cd4f632e1b983ef0b9c8f93ab5a5d0895e0187edf40ca5cc8259f18038bbc33b1f82379836a1a0da1c03ebe8dda42120376c736fbf4ef0f4fb0f534ec037c050e017217ce6fd455ba58d62b5ad611102063f680160826a4439ff6d1091303c89cba5bffd5ce268bb1461c51afc48015ab338873d5c1e59652914aae2c27ed0313fcbb4078e855f5079f6a3355acdabf726ae8f07efcd8fd38985c09c169a5d50318c3625cea4c3f012510ca511eeb0adaa2ef025aeb884c84579ae7bb96e2e2f80373ddc6614179159136bdc20383a310075eec373f9d22f98ea7ed3241770c892b03f9cf42f6a7898d12c54da7c54c98b6dfc7b210121c0cf1f3a4360c4da73d63f80316b4a5312e9c8955ac2e404b3cc5d907150b07798917deed06d849fa9d6d98bc035a6aad4a0f6088c6eedd2c5702eff576ceb5e884f4f0d4a5f8c34a61368255ca03575ab3b540e7bc678881de40ff6f5f157919a63fcebf3f24ff301dceee1eca8b03476528e87bbcea26b03186b7b2bddc0c2ac14d58187e3d112213e85a5ac045ef0219ffff03cd5821a752ffdc2eb867baae1cf7800d0bf208e945a2dd3ec3c4cacb85f9676b03bb0edf2eb73f252f9ca8832626253795b34a6fada6abe9f650a23ab4e592f0870357766981b6cbf227cf46d86e292e8279d0c03cd3053c84c8fa19e164e36d6b46034f29e91a023b6047624da8e20fdb94d12f07b214f30e67ae59ea97bad3807cdc0364429612ecb82159b43332b60c338c6c09ade1d41e8260e0bdfa2f80a48311000368747f94fae8fb8440b73113bb8dba95cb376cb850de53205cffb94d6a07ded10377c7c0045e4a860c20136813a8bfdd5948da761cbcb901f093540de258076de403b82235e15ed467ff4de71c388955ace57c90bf0dc2fdcf919cff332b90304d29038cd9971822f6ef384028f3e4233da074a6b9b40abdb6ef5e27685fbffb9f5d4f03455f9f11648c80176e11c36a6f569b9a0018e3b9c9194648149b77370da1255003c03f61aadec01b82e91510f82fe7c92b23ffbdae0b4849b4f965d67c7e421e8303a644e3f6c7fe3b034ee58e7c51f6a67376182fe378d30019c1ac0860a2e762df03aa229f33d79c7ffd21528b4c106dc4dba1a680d9cc039dd83e974480815c5dd70219ffff03d29c9c67b54e0d3c3d6ede4490e2510a1fcb9317ef40511fa86d8d2c49f6134903a5a09b433aa3d0600687403d50c27d7a84aeed61ebbda034e05e00ce6b6a0a5f0313107998f72fa13739e16f16d9fcfe45ca3c15209ade0679eab1f1f96c90efe003e174bef6a126216ccb65571a3c5e8e1ee9a51d916d14038650bf31a12d7e7ab703c1a2f2823c3f1d32dca94b540c62aa11a97a2f3a6a261e8c9c00ce71060810a7034d14778a94b69e72f6be7d84b39d1f96e1587d2b4ff4b8bf5aab365b91a4a7a00326de06f3f8766704da810145f418e358159e387b0a65560e95aa7f693f3e868a033c4fdab4f16673327fcfddd4b8b57382b808046e3fbd4330fbc39c3634b44c700395025353978c316f3e47e805e662f85ccdb0660503fd2815e2ca222b9db534a103db8530eff2d89a653d790cc6863cbe169f648f2302e8695d19d4f9ff02213d9d03e5916b9197da21374b55f8c184bb0353c3ae78519eb0d3646ab5f0a494e99f21038b11bc816bb1ba69c139cbbe24d7d32aa5cd27df128404c5830655886ccf8f4603c57c32da79a98940f43e2474501cb788ac9fbd3f493673bea6eae4b3947b58e203b822e59cbfad5cd05596d7962f5b685a71b8feacb4f32f01797b036d1c7ccea003b50efe971ea863d902788ab3feb7195bb8a086f8388a39dbd6f6e3daf262eb5c0367d6d5f41aad1c6f72e1c2e66c7f607e46eeefa7a18ea1beb26623231ef041ea03eeeaf1b6a93f850926aaa0f39b7c716600cc67dbbc38eed24dc926fa25abb94303be0989561fd3b699a168b5d4ccdfe06ef7eee6d61ee4e926e057657561a440aa035c473e499e29cb80c94c71d320988b9aeacb0ba5daaa125ab05cb56e0f53e7b0038a4d30522b0a92dee6ceadcde3226e6a88e174722ad73f18e4b22051966b4c70032c9768d481f9c02fa68be427de26175f0f4f10bc3d33e85735844d7653eba89703154007516355ea9941f86d23cf2119a1f884adc09076da29bf307ce0aa6dd25b031befa8ba68c3d5a7e1fd37ec3431f9e79b2e01777a8c92156c19798f421862540381b4e21adb80f9c67159876372fc48c970d5e0218a95860305d87e9ba0a36ed003136b17c6f063c08c3f0b7cc70bcae21499a46155d71c3a88de9a21cb2da4be8403276b8eddfb501d3b2c08e015d90f978a695ac22de7669b55c45f1d0f5f9b8a7e03aa638f7f302b57e6435aa91fed0d61f37387990fb269dd1572ff0c2c5e4a0a1503b61178f055b54160857720a629f3182b9cacdf5c439c5e12caabe51ec273c66603fdf6d11fd9861c56881931e7652209d4aabfb20c3cf95307536366ea36d28109032e0e06ac0c7fa335712bfdf6308748be01bb1280d86b1fd9186508cf1ebc4935032dcfb0f974d8e87c5beff82d1df9ebd4a288bd02fa526357d922c3c3320cd9dd0398bf999ccd096bbab4449a68d3b285982a2988371e3a54e73ee1220f7142e3ad00581f0311ae337c0b828ab548e9d47efa484d0e4e425077f7cf8e1d5f5696ca78805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a23ecf741973c7e9216587adaa153f04770ac37882a6469db7fe6c219b776d7a00581f03bdad097adf9223f995c35ba34064109024137c2d2b461bc93c14c2b0a8a047038d7ea4c68000039b2c1fe34fb3b2208e10118571e4fb758da4c52ddeb7f7453c05273680ac28e303208eb3edc2a1a8018cd52e109480c11509c985727b1c88bab42a75c60a2efaf40324893f887f30193d4e0f54c3275c447f9dadb120565893ec27674723ee35d46f00581e022f6c5c9638ba50f44441279e7ebd416ac7a53e5dd066bf5c192fffcb645820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022122776416c3b85a2318d805d6395abe6e9eaa3148d36ecbbe9424f09f4837d805fadce2cee000581e025f2dab6a80cf82a5d74b9014ade44eba2a85b0be4b413c0cab48ae0f2b422dde00581e022d9738c8f8b4956708fc80f86ac230efe640acb29f31b59a9ee179b091472386f26fc1000000581e024e99efcdd3d80dbab2a585df928ac90193ab279ab4e7499d6577bec37a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219710103e703ea829910d7b642154d201d4db3ce2c5f2548692193913093c36040bec83e0219ffff03d59a4f7ad295aa1d9ff36eecc6433956944711af8706ee993bf1758940f69f9403ed7fd8ab291e9a10284537fb948ffe356aaa0391c8659f7d34267827e6cb971c03cb7eb56c4037e1f6253bbb0ee39d4a15cf5bbeabb474529a77d7f03a6817fc290219ffff0349097e9e861458752224c211ad0f163583434a8fb222e146bf39b6e45535c21a03c173e21d3d5f4e6ecb874e1ef08c597c2edfb05659dc76429f98afc3490874970313d18a63f01deabb8ba31f794f5f16cb966c622e95b569624b309bc6c68177430375181882780214e7975fe375db6da44b1850dc4037f79cc0d94c6757dbd8226503e300caf67c9289dc5856c406fb8fdf76d91aac9a5ff5ebd7f418f591beb98b9803abf245efba8ff05a5e6d2ce48a1d09ada54f9ced4650db7d9218a17da32a67df03de24cc47e0bca5b362b67eda823b4b089823d4009ae42c6d5831f4bc64634f9b0219ffff0219ffff0397e5c1b348155642b1f5ea35838de1052931ad00b1d54e54a8c49c5a9391a4a103077c49118f4d6f28a90a8ed146a323ab93776a8fe608efadb18a13d705a3a34e033896204b91181dd3cc81e2d2fb3f825776eec5dd7a4704970c222ae916b3ab3303e82500c09a03dc74d0335699e00904cd86876d229c939aa282166062ec1c5704038ec358212f71d10139220a90aa4a7b8be533c5f7eb4a13f47741ead00e8e073f03ee0ef684069c205a31c74150e894849aa0ed31d613fbff48cab7f168b1cf805c038af2780e4eae9040d787ab38d391a769d6a97e82f3ea7f70f24ce5a3c93d1cbd035f10378cf405a1ec1f45c0641da25b8a2df5b18c2cad7dc5bae074bb14af50c803a14c65e457722d7b5f4c6a1b0ea7064f0a0e88dbc1ecdfd129fb01eae1c6d1000375459d34b1fac437f07c44c7eafe35034b3d23fbf7ccac3054842585821c0aa30372e3556bffee32920012ef8f4aa340b3398e5398a4d8007a1dd5a3e9c397674d03ce8413dc13ac1b7896e0df069b70a646f908d8856aaffbcd536d41090ce84d8503a62f88cbb61cb4b3e677cfeaafb3c881eca4311d214561d56bc4ef4082152c640336b0ce386a078136e3bf5235a89c37c477ae721796a456fe42fe032dc2d740c80334b82b147d151188adab8bc4f0fb5cda4f2cb4e436eec0d2c2ee7b32dc1c48e4037011a0f82a1e60095bccb021d6975658e6c956661e401b2afafc539dbac7146003ea03567389cd5ce0dc4057204b9ce774d7e0a97e3882c0d4ab174daa03a35a9c03025a6c015cf8112a400bd326e268f3c7eb960139bc504f3a55bd1ff7b02a94b40392840b26a9d166c3e6421242f1ed51e9a76e8b33d07d99fa26c14f9cf9d460b903bf73614b7f3728aa3ced459e73df82ac9ac1f7e2df88b79c5c8dbb32247c448303f724ee51952a68ab9190144fad4c65c07d1866198861b98ba1c4589bcaa3a0e603ba1b2be7e0a6496e8d737e400fe086db6edd6927285200512d2ab29cce93a92403103b06249d6bcb95cce54d3486cb1e9467ead5a79db10a87451178e26a83ab70032ffc46ac98b871d76e561173fff6a71dd70c92f16ceaf58a70a64873d060b62000581f03af5c8e14d103561becdc88b117da930751e2a92b7ae8fcb236c6fab15f10470112dff68aa9000304d6679bf1a685bbd5d3088d20df64021679b3988ec79acd1cb203d492827f1e035a25e9973387a3c438611698a2e08836f18adb4319da09dbc377c53ebaf118410324499fc58901aad76603502f8111dfc275d6bcae7593c0ee586a0ccc442294990314bbbf40b503add526376d285e7910816664aebcaab1d3e481992518d4b50a0d032c110e4494f5d9114be3253a36e64ff335d797214dd3085dd0ba0e3e7a5897110331dd194f04c690d5e42486852e73160b2caf15cb50937919e25c53d17ed7bafa03e2d66a46eb90a1cb1c98716b43a0ab7a4a8c1a9685e34024a34b4416c2fe8e2e0310717d7247a8b5870fe51345e6d1729ab89abbbd9d989a1baf516bf3f5f46a2a0383ec80a7446fe4091acab4c195a13f4009b84d35c6f86593a4d95bf3a8fdbabb03f6cf5e24bbf2c1b9251e38dba1f9c795d92805a02f64fd87d9a9224b24bdecce03f3efc276acd43f9ca905e9d2d66993a46495631353a7a90fd687d62106156a6503d7ed4ce6cdfd0574d4246554c3ca55df7cb9393f97cbd25b17f02c1fbbdfbd4d03bb9015802e6408efa8439cc576027ec616c1aeaf5d8e0db1facfaa35b8a9684f0360d21d1e7ec3c2309b44d0425519ec520feb7bd60ee42a8e158f64e6d662173300581e029bd21f93caff643293cf8463900797c15581abebecff783d10add27ae4490181fccaebc556576d00581e02e4c669548cb46316a8981dc25c97e1bda289ceef4e249cd67dd0f4a6ad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021908020219ffff03e6f1ac0b82530153fce766944ac29ffada100a7ef521e6560ced73ab72e2b757032bd5fbd3937299b730af3bc6c6585c2f58dd0b17f768e1178e1ef1f333f28d280334a943a73cc095f5316548eac18ffbf7532564eec47eb0f6d4e5023ad1bb3ff803e9f5c3a613790f9825507c8aabfc8468abadfd6440b7ced816a5963c65f8d94a03ca13b6722f76ead2011b26d7bab65587d3bc0eae3cd41cba16f82f2e9b000e1c039009173521bab7e6b98da6041fbe56064ec56ab1c2f0ff42beaceee73fc5e927038410215601832f2a65d16c3da0540bfee3d3df486294782e73993def797de51103c62e03ab3399e28badff9c4d3c17554d0cb325d4e6335af2c888f911d58d425603f6205216e3ebddec2d7089e7ebc190fed52a555b335fc82da41a9e29aaa7ce280356402e18db3d5c21608fb8a946ff59ddc84d85512afcc16f908819359719047603cfd719521c1203b5f481352002bd41141c273d84b25fa7e37f4cfd792afcab4003a83b933231d9c492d098111bcd9e285ac38b27bbee0b75e9ac962701af1e33360219ffff03df338534b452e38b2e7050f22420dde84efc48e282382241a26e94df97d73ecf03fd382e303a52bb9f7f1a29f2489d7025b92b0724d2ed7797f16792ad8f2b2f0603f4c693460458dbd61ffa15f7348de953fc786e35e75b157b7188554a4219cc13037a98f9380322d9a52b2d6f5bbcf1b4eae996131e08405970dbd3a674a472f24d0219ffff0367d0157d64ab02611f2ea23fdc1620084ac3d96421e7947e2df9e6d11c809c3003c70c39135d5469ba370c3ec9f88697ec6c3061817758b77e21c0ea992dad9fa9035bf9b48baa85807f3d391d9497f82cac0ca2ca90d1b42f0b1578e1746aae5104031d505b236596364a03d13ee5ab6d089c202763e174e23a4d555740763b73a2cd033c7b5308fb1682d232475d07ba299ebb97535eecb70da5be9c9f82e41881492303f4ace929117437a6239c60523c748bc41925687577f2b988b68083b46289470e039c279e3f50a28d692874865ace32b4db12656f569b936b83e8160889f3101d5f0376d09213e3210bd61985197dca6b2f16870dccabbcab5030b028a9d717a7d67203cc9be0817ed31ad2d5955048e8f9e6911e56ca5d149059d6f0bbd680cb6a476703caff1ed4a9cf56b3ac959092d9ac9197b016e843634e88e2b990ff743718788403b85e3e42283d37ec59b9a5ecd4d2c06d42284934ffe58d59e25e8e95e9bf97570323d66ec8126288ea70b9c05b68dee50b807ed87cb0368635cd1fc7f27e494e60037ca3fbb2593f12c0a8477570a9285d97a5cb46bab1488d516952806c308e72ef0396d829f9dd4312b5178bbf9b71c888826c477c73ee01e98f570ec215c2834abe03f6d6a520dc7caf58c87df275712d1c23307529f89b6455f0f3953c872757aca70342b5c04a311b8b59f7a9df19b06cf97211bfa31b6af1f623781b53ed186ee673032487dc7f36e8827ff0cd291c27085fa6f8e6cf4b8d74e77be33d005660b5705f03b7cd369dccfcfcabbca583f262b05fe385c2aa2796142438033a66ada5706a570344b70595317c8c44be5a9df7deea24b99513498e2fee0cf6903fd5ff041e7e5b00581e03b3ac8c70d654c6e53c95a1519086295400185df97e198061d2e76ad0905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03c22c1a18aa779822ce60f9a1086199fd77aabe095978715c00e0803000482648c49407efd569020900581e0287527c21707a6157f3ba455792a57e0ee8c397caa0c82a946e7cf061f35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023ce4a959280e0963686fc18b299366bc8b9e0d4aa53710650c5c18082b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029ebe808637bc7bfdc7f9490169653e706089c9f29881a369b0a1767ca35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219060c03b3105f0c710abb59c2b19cf0e8ed7f9546224c7636013458d2402210c03041f2033e108e5030d8242c11c4c8a936b66f769783fd07a3a073ed8565fef09777f816031ccdaea81182436d6b3a9c541f09e1afa5184020cfb589d178a1ab3f8be3a49d03c889168e8ccaa1a577d34991b4c82dfc6eedb81c33d87376d05d9d730686fbcc033f1a5ffd998a95e471f148524406b6a8f3cd39c1bf77cc0d4af19b264ac2dfac03f2e1c4032d39c17f08b70d78029cfd7ee875f0b3008b3de6651b00fb638f347403e61a0889f42f0ca7a7fd49d639235ba67d5eaaf5e8ec67029915e49a32e2195203fd8e8557025d86403a7590df89a4729ebe4b871672bdc618c067e5566b24ee2403f19c08e08d0feca00722f7afa57eff448a3bf080dfd1a39d51f7e69f1915732303a382c0434cc2cef935a7226e52e57278f63d84afa8225fe8929cdf0f24f50a5203ff016208768b9e01ba778c70af47919275b9a50d97063cb8930bc35b66accf0003ca184adc8dd3352bb7cf2190fdbc2000c0a3963bdaf9e42bdee0f1716d23390e00581f0328b5200115950a7186e8c21a1643a302d4ec1053e64103b2bd77fafc70205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219fffe0356376e97ab9f9aafb84f4a3c56c391ec17976a45149116a3637500aa2f4b2fa20318ddfd27c216ae34c38c46cf1719a5fb762f89bb717efb36d077984ff7b4d70e03a96a45fa3763020c688ffe8a5e463996fbc61087927cfca35bf86c372c190160037ba8ca92f12a3f8f0eb3137a8ceeb12a7ca66c249d3e62bac75256ae045cfcc20350bfceccb7f1039a74dc81d58544485727c29b135768a43df766ca90522af5f603fc9bb16ca9ce2d849a2fc32b4acfc280a06913f72ad19ef8ee761d725e4171cb03bf6256d43c280665d5fe4fc7a56357ab64a0625f0856d1a247a39e94045c5756039ae6efe080850ff4dc856e6b7a9080b71707c8889cd38367918b0876607d0d3d03c09a3a85551a10168591fe7f40deea9cb3ee4fa6ea2f1e455c60c5694868377d0219ffff03b98e33dd8605aa6c4f7da39e13f07edfe11d399b96cc48b30314aed19efedab7037b99215e624132aded43ab1976af996952929fcb896b4f503e05a060f48503a9033a9585118401626ee28369ad4de3ce4c75132203510e23b3deeb4e0658419c8e03ac1aa8c42ce2a262cf11d82df6bd145401930bceeb78fa4e7240c6b2c508c41e0219ffff036643eefaa1663416c0cbaf58744d2ef7c4913526a685370bafb7219e3b20a51c03f66f82b4ec82dd671617e4a4fffa5a4557aef4d68ad5c804de34dfc3adb2b59a03d8ec11433286221ff57e5706ba333af4078074e72ab9a7f53d014371d2b571050380784afcf4bea3b16584d93813289f31990f49c6d1d14dbedbe0e09e8484b39803fbe174e74d8cdc128694e5db3b7035089021ba3db5b14c2cd7a4b4ea2f458cb903a67872d40e8fec8877ad7c0cebfbb317616a80c3d968f9e1d8b2c67f5a1777e703874abc4e1d685400ae186dc6ce561a47707efc2a8b3130fe8074ec4ccb97992903f1b9ea20e98058103bf3381469b42284431d8396cfc64feb775510820f1e076e032448cd4484d7540baacdb6b748d03961ec38a2b16bfe8584976425a90c2e96cc03a5cd9da52a01fa89b522b6d413f6b84ff2bfd381281983e56b5f554d59d1bc44033aeda9019f5b4893e5d03c7e1e9940b010fe76d8184cd785e06d388d8c7c15e703973e04717594005737022225092de1de49c596dd72bd1477641d60ddc9aa4cf2039be849eea08da60e3ddc10bdfca5b326765ce3461192a16a5d2711b21b027768031a5cdc9f6ff0bd769b3d028ef80441cd78e428082e70e3c15adb899bd1b866890382fded3d5953476d261d58075be9df3cc7a255232cd2bbdbed12e8d46a7c756203be3f92f78f0a0f28c2aca171aa64c2ed0660d86d409e7d18a5310f89914b2db503969f2df55f471dbaf7a787e01dc004ee5e2bbf749d37cfc553929b82b20897d003fb4af4db2050aa928d96d781a3592f654e381c129f032667233c2ee24c9d252600581f03bfbb5d5981d0791f81e101a29af33f77d83614909a6645923cf932e1b8e04802c68af0bb14000003a3288be712253c692e887d36dfc00cbb651cd47407af2650952d59c5c29c65d803989d64ebe8a408ef899ee4b670ded4431df457743cdd7a386e61cb813241ab39032ea4171dbf0fd50e49a8a316d021798aba292d38be2656cb69a850d77a42ef0100581e02609afa959d6144192847d22155fab6f00ef01f4c09075727c9b33189c8491da0e27c17f6aefbb200581e02288026abb5e4c0df6f77f79e7b2478f4671bb6aca1aaa8c93ea586f1a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0254482a059ab5a6383d297925bc53f83eb55bb3dd092b727a0fddc3b49e4746856e925e6fb500581e023fc390c70afff1643df8c3c4e58889c47dbb52867d04d14c6948e16bbf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219496003f77b85fe46575d23dea3d63dc60de9672d7c25fb3f7f934cba4562fe32ca1c340364497f1d9e6f83ee676ee40c3190fc256b402892f75d2c9b9b3f438686add35b03d32241e3e5a47168b66df749fda59081f0625dd9ef629b683faa2e452912c1090356b08dc1d9c3419b63f10ff375f912cee0543798a08f88c6733362471acc8f6c035f24dd0b3e778b1cd3493c4a170dcf0eaa9bf1f3692d4344f0806ae2c3110d770336ece78512c482adefbe4cefc14d75ed1174d7a3f423fe904e74d04cff06d9bd03a9d7dbdc7f27c26863ef330061727761c37695d41e0bc7737f57389853bc6192030b43823cdc7c3f5b470e4c9553a9e4f97eba5b6e9b005a66b8bc1d85c2b1e2c6033eebfb62c206816946c966873f414300ad93af518633671d71412aa68adbeb6d03fbd26f04126c34d2f06ab63ed453e427ddd5bdebfa17fc722b2f4840ba56b62b03d96f8b925645bfeec78902ca63406bef5b057d4fc778d4f7297ac3efc5dd4ef3032e7df6b7258c0000e5a79142bfed3fd88fa559439b3a3aed4a30f302b52435390219ffff0381c4f73fe84d7359db4d743853a7388a7c305960248974c26c4f5188558d0fc303e56b9028a18062fd48177011c50cae03947924afbaed623bc1bba5135f393ddd0347923e88f6035d20c758f806cdf426a9b59691121bd534b60e13410cb88dca9a0344d509de85ef671116c80015ff2df8062cb59557b9abae441dd2fc613512105203dbbee7f373d734b8423d0173c0b8c71ae6b285bd50966c9fdaa2cda81c72fb6903ec049895d0be3eddffff0375eb0f404a612b92822fc88adb57b2811a764b98ae035cd0723beab8a6509e9230ad7950af4a29cf5d014f834d2a3de8753c3c94fd65034d7088dae1df173552e77a2e916e954f76bf55212d940bb00b5ce1091e846f0f033133ef61cd1932f58801e9389b5ddc44cef76ca64e7e0a9748a04e0816324a3503e844475b3a908a6f26c47db366515e1897b74137ec26b4c15d8f04aa06d15d88032507db69bf5f8a4113c873a8dff49b3ead64e710b313b8ae76f6a59805e7614f03eb9c6e19f47e5f0208cf5f3cd373b85bcb020f4cfc19ecde2ae04266ca1ff5410219ffff0219ffff033fffcda12ea354babf9c725361740236dff8bfe33a626e600013c28c470d725d03ca6c4781f9698c7c6a527de5c50b73f5bba30bd7f571b32552961b1d23821709037fd4db91f417deeabe9d6270a77499cba014f2527e2cc194abca3aa489c7a5090219ffff03a8306faa11e1905e9cd565d9169ab56d1184cca2b3a6f2c9ec6b6fa289e8adc5039a56f73d3fdda42b392d40b2f8cbd7db297318c8f7be8044a80e2788e3d121f203e3a989b2c33bc3ef5c8880773bbf0f323f36d8f2658f399ab2f6e5f0fa5f2efb036751f28330abebef85bdefb8a320c5bb33a567d50df9feff72ef80d9da7c3bb703c6dfe64089b8b2b1e29083ffc8fa534debb4016a130c501bd321ad43d6cc26d503e4336ea26121c527014ff3083a103bc42ade74d7cf34ca6db45ee4b60db567f30378c4f7f5a42137f11f5b412ee3a4d278c060378ad09e9650f2d6e18ef0a887b803884b1dc7513a572d1fe435e78f62b2611c60630b81a5f0b9b78d370c8901a25903f4e6173f5c09c709da45ba910edc918f6f57b935b88d7e78c879b30bf6d4697d03f489257539aa5803b381626daa09d2751bb64ebfdbc27136c03b7c2948572f6f03efb5ed3eae8048063b13386c12bfddebccc61672c0321244d524a5528133518903fb10b18d40908251902d824f733b5bbe7d12ed7e433cf4e0ac355e46a7f3676603f8f7d1272a946b15ac2372fd03f1f065fd87c64e0c8fbbdb0dcb4ad843f35dc503b49bd0366dba2edbe5d97f4bb75c3af56d184ec9d6a746f9924e5c3e64da0610035d72b6dba5c2bd8f62ec94a074e71050c7648bb38b890b6fe07507f279a5d2d5035012d7fb145fe54f5c4c6019aff087997f7bcd1c135ee9bd21dcf8096178b22e030fd654482fb18c03aaabc293ec16e6b2ddfa6c25d12508c73b2dc66916878e800354c29c838e21de4aa8e7f65050ede62e2a2559563d40a3087d5e3527cdd4045e03940a0445541b65baf377ce63e396a643351a457cfdc5b55db6d0c072300b99ce03adf7f0665bbd154398f87b3ffd95f0a924d71b1bb04b5b7e78ad41174b395b3d032d12ee94348cc86492ddd4f4b475bb4e074a2835e150ca83ada6099451865c430377f7c129d599957bd8e19a8a044746d3c27e3dfc1a376155cae9e6fc7e6fba5903814a47ccb4a2f956b5b7688c29b06e606e3d4002906af70314bde11f2b4f02bc03f71bce2c25ab0b6d1d5133c030b6263f2fb710841b06cfb1ce97123099505a8b00581e028e9e8c2104b76e65e35d1d13b998358433b139973e3e2ba8ed6a9bc7ea410100581e02e8a25f40dc670dfbba92e80b105883c565b5170dc4d32ce856c7b919b24808dd4f1142c9378000581e0220d3335676e8a52f0524de4bb1a7295930dfd0bab092b6d84f94060f7048017f1bb2d439eb3100581e0218e2a93a298af04f35fe8e3ec1887fa1d75cb42e1a1d2e1edabf8ab19c455edfd6c74a02192884030d2eaf16f3718aa49fd009c8a145331d48d99ec5597fbc8c322d22c020ae1c880358d5707e13f74f89ac7286e4f029d2717543bf57d2103174110fbc926272685d035285bcd2c8b8fdc783d89f6c87bd43e21e17a271cd47ae25bee4e99cfb7bb38e03456443fc4ac384a59d730e7e0937cba443fd65829b3cbe30e3388ce9f6997d0e037dfed946286b420b583ab2e4006cdabdebe8e89fcab7ca8f2a1e6b87381933f303432eb535cc3323a7d800653f029929c4c85113bd885c909e770689943b93d5f40315116c347072b17bb74f1fdee5dc505093b8fdc03295232b2a9b803e7bbc2734037abd127baf36098b328ddf1e310e3f3198cafcce360987c62d97581984caffdc030755890f31b42d9d6dda3af6ca722a200c028a8b2251c7eb7c57b1db1d38b9ff03ecf71560d4c0986795675236162f2b61d4a85b894dc5c4e0616c3f4ce9b002de03e35e42a72a6d4064695be454ae0d3dc8d6cb94994f423a230ea8a753e97f8e7c03c3edb261b094456b6748c4d6f3985692008738bc00a1af11bed909f20395560d034e9d3324fd7ebca685318cc7352d6e8a792ffa015ebd5af191efb4f0259dcb4a0219ffff0352f871a1cdfe6ff03233f354f5312fd53a4bd17d9d69cf120124ef5acccd9844037abe2c9a80cd2222e4d89d942526aa7e1647f2b6397216f1dbd03a487c0ab54f0219ffff03e38ae05084f22f1f0de8cc91ed41b7dd277f8d1f83bbe892e8029b51a63389f103b78a59dfd5185d4a7723c31621d094820824703691ca242fa4d89c4362b7276703be0808d637541431569812e1183f3b8faf0b71ce7a5ebb5228d52b2562b70a490382682d38880912ad7de6de1ea19511b82735a0caf6bf8706a806fafd12feb9d10344b53dd4b36b88b44218ff6096ba3123eba13e64aae6d068497b86bbdccc7c1a034cce9ebd78f81c2ae3738ac96891227097029eb620b2c5761f1bb648343220c90343b6664f024ca88d8a956a28cfedd62286101cf52e46d18ab0be3f8840a56c77032ca6da473ac82785b7b3785f9b9545d785f321370e77c6a90b15c5527f1a6db20219ffff0304a5110025a0c19cc565e54f8609f03403e0be902a337f10cbc82a922597cd0103c051f05d970f79f6e717af5a38e914dbf692f81307b4da1c70d4c0d43906d69003e391a318396910c700196c5bb4c5f618808afed1f3032366e23f3e0b4541884403e448bc82c9690f7203f947df10402bd111d57a4202027d9ecad917fa34b409dd03597fe2ff30f22b79bf313b11c7a4c5cc36c52c00c20430f027213fe97ea28d9a032289f738eb5cd4be564b8d8bbf28aac479f5f46250f55e9b73a3ce87871d93e60342ae3141b3f0893fe62e26356e1c3a714f25732e096d5d152876a0979380a640035613bd0c18309a61c7ec275e9ffda524d4e7874b70830c317fa8e5d4e8923de803ac4159b939b68779de8bcdc22ff6ed95a1daf46251ddace5288f3b825f897dd9039ba21c0fbc50a56234afae2b5b6e7cb837cb1494ae2ac91579f0fa99f5074d3e03d75b3fd64571d4d6d9822a5eeccb9b0ded8848747b05e622f1c32ef360f88bcb03c81045e82aa1a29ea92a94bc6351ee185d2180f437604e91004379f4d056291c03935f9856d61669b565823e87245ea90859baff0751e1a793d52bd25360a158280306abed3e3d9aececf905564fc3654dedd8f3b0ebfa1ade37684a3272a65bea9403006fa7de4644e6fad0297c4aa2689fff8b94dc1d93ed8fb7a44ec2dd36315d5f03d0012beeae20498e894ff8401c7a050fdfa27aa0937f19963156e4f78a1949320364f2e47df71a8485c04555382ffc053d57c9f24f38bb7b3425ee5030d05732e803d19b55bfa2866500e1edb6c200d935c4524a5c75b004f4ae44ff5e679afa686303c2464c75219d99a67c741512600e0d8517132f89b1ce6f9c0a9fe256874173a1036aeed57a2aaf7488a01a2130d76609997af5ef877d0428a3b69387e11ee9197103b343640d9cb2aacc624695ad5b83d446e01fdb45ca07eb8e48923c297c8449720334a1a7d349c652cecffd14f8944a10b7bf5614e9c85f080f479a17a4d28ba3a10342e31e13b63d40684eff8d29c90d189fae8c243f69f97e48687efd448fa9d53203f1b21441ef615b0001fb50469e17aca889a4f07a6b9c6fe50b7bdd6f7e8738f903a05effcaeee69feb76e59c605efdd08777175ee038800ce50cc57d1499d806ad03a9678138d9d3769771652fef7bcaf8b3d468449bf8ea89b19450f63f96c5ebbe03669165181480b32a71bf688183e1cd08ce737fb728b4531dd25e071580e8b30c03534d9ed25628ad4d084659b35a76c8a93e4a7f24e91f9276969f24c8da24a2fc031aaf1df54fd2e5e84eb3e4e5dba82162ce81dff0a04fee380b4d978050ef0fb60388b59c5cfeeaafbad88ac97609b6a9e6a19698e1325872599c266262183e89da038c6162a8cf88968d9d24060d5cb14ab6ac43ac3872e9e6cb07005bb28b8fecf100581f03fdb1761a2da8a7cc9ae07d9b7237839c288a639ff9888d7bc8249abe2b505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f3e87c8d3dcf79f18e4fd823424af3d13eba02c5e742a01b10a89ff48431b264035a356ea40f168f2771b0ecd313bf5e0ac2dbe305a17d9bbcd8c5e2637699d1eb00581e02bd66bd7e1fc8184cd770ad09363212f65081f2b0f23b59fbadd73783285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02800b34cb01d7a8d8c30cc5766ad722e0f6cc698ac6d5b6a59cccccf9d45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0292bac55bb217ef2894a0c387268c6c1bbdc587e70845781e1e6623477a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e84d9deccb97424013b72077a3f03429eb8b1ffed4c6989782ebb588175820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0215ff29c9a14099b68a59cf3379ee1863f62c81bd29594aaaf7dc72626e47254db1c2244000021960d100581f03adc6491b271f6802abc7425afa07c07cfbfccaa348fb5ca60c94a77c8da05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ea3970345c5fcd6c445ac7fec6a4b6cb0aa3818169e22a51aa902efd881d157603f79ff6362dd91109a6fa1edbebb4d79d382e412e113680c90097358d147fb8e9039e98a8e414da49d34c9a9778d7fc9feb89a230ffc50e856a3797a88c52837c8e031d4ef7d567b4db6432dde933bbc258b7c087a5e476364ad9828784452bf61aa001410e030783e9de0ffd469e79fadd7da6ae828497b50c5e1ac347652a51ddc6ef2292bf034977c60ff792c6a94efa037a332fc614190908973f4d1fa371b69f45afe6008b03bffbd58b7f939bf68be3b146ec96516550ab6c0969fa140117ba723c1c9f0a3b03d11c4c1233c5056dab2cf4f6329c22558225f646100de442a88e7fb8dd2f404d03ef230a1a18bf102ce90f8234ccadced62d0592f1639599c15936529dd323fdc60219ffff037b47e728b296ececeac3b1e223fc1ecb5b7a549c7e964d5ce8c0ada12fbabea703f8ec7e78b58a6862740967a7ed223267cf03ebc33bfdb630f4800c8bef75720803e9dd399b63e2cd53cb2284a02b6f04e11deba259c0d0ddb91a8069efd29cecf7031c4a2aa1adc39cd1adfda6cc4eb38d069664e9d7a1f61d1b433cefc8953cb8d703ee58a1be97adebbb07a14055fddbbdd9fa8cc5517bf2ae39ff15657c237c246e0395e536f64f7b61fed0e82fd14b7674c02f11ccdd980f43785c2e20c0c4f23f26033389c2f7e6bf3479d1135a18a9a249effb9c7d7077869decca6a1c26bf56472303d5c123a77d0d7fcf7f96e906a39835d6d587e5d69e56ad1f66c06f6a9e005b290219ffff0346bb514dfb1aa654cd5bc5e49ae3a452ff09a3d4b8d31dcec5129ba089fb273b0219ffff036c2f52199606bd2d05afe3db8fb405aa6ef8fe35197a89e0e4188c5117c2f66103cfb90f3fda0881044080e8d449989cc2e932e5997e4751b8d7bf2ac1f2aa304b03c8d620b5e42c71c71011e83ee06dd8d51c8aa2d41a09e4f8cdf6fad5c71b47f80366ee23ac4d4fb384f5d4010de99460e8503741f67b40204652dee8e68d8a3593037d37e1d75201491d7e70afbec1c30a803e03273b30222f224e644697bd4d5e28038b30984662e1d3318e4fb93ad0fac461536e635fc6bbf6e5cacd61ead18b8b2f0219ffff030f65bb67537ff5fd6ef1cbbf12f0a5d3b58e2493f0bd01caee77dd297121cbcf037399db9a81e46c3ddc6970c3d4cc193f8760ab3649d6a51d7934c48e9b9abcc30315cde8e8e25bd022b57e59d2a87a103ac37a57c4ba552184e156855ae91293e603ff299b24530842177606974540c884bb8596492d5beedeeaab1030ed969b44ae03c52048e31ec54f5a7d313d338e98310326b52d2d27ad099f1df8f41868803d6f036c2b157d9e7079bd5d7b9bf55c32d17f4e26232f0b76ad36e94a4a327a39bbb9036b97493a62728a111362ef972086d7df94cd04c7f0aeed3dfc4acfe83e43f82003e7ac5e5a1525a996a1434565195a1db510f9a892b0a57ac0780660fb068a365303757a1f087d42d814c121698cf037cd7c30b68773f17bb5cef3c212101d12a63b03432ec5dcca81020a377a3415686bed745a27edff56cb516b00d8552dfa2c715103e9c16c0858a0e7a281cd85f620ddd84328f89c193a7ab8d14541dd9c9c104d3100581f034b2c64d372e60b3deb584c7a735e688064d5472dba43445fe883dc3a9d90423c500367fb8f58870b4d6c24034690ffae360e87fcaefe9c1c1ce7c256d06a488fe8180317ba7cb2c931e207646aac16073af486d41a3b092761ee37e31afa0cd59b1bdd03c9f36cea93339355c5b16bc3ed108f851b829cdb5d3cb66065790bfcbaa5c1f603a29ceb75dbdb55aa60bec7a236d8e85f6f9673bf2013dfb6b1b141fdd787a687034db86cec4b566b614c14d223e622296d8c19b1d2077ba14c9457a7d8f5adc4a800581f034d1c8bfa4a97445926fd822a2ead1d6ec09cd234c58e3916929781163fd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03321f3bba7ea7b2aa6e3fe584e9f38330f6449ab0b63b5615a98530de7a484a6a03cdd938d4ed85d9bcb934431c98ab38acc2c9cf9d4652d7a3a34123d66e1644e700581e0270028ead38d9fd7f9171a618887d4f8576de72527b089b7a129b7affd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023ef8cdd718d82e58f2d37179323158c100e8815fb83d9a09270be655085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026659b8c90a58f0c6881882d50aa05277ce0d585fcf7750f0bdec8c7d155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b219247b01c8162aa97ca9dad7fe28fe9def6ea389cb95b204325054d74a06886a85025b8f8c5ccb021941b003c3e19b99041442fcb660bfb63d0f6232deabddc898f3f854e97237255ac9e1b00219ffff039f4262c3504cd2234acad4c53d34efc9cdbd4163be5ddb85bdda3c8f04c815550387d524f859744c173c8f1e63a581b9c4e60760168d7ba249da76af22bb8b960b035da38bca1e89784060a37cdfb6b0eba6e4cce3ac031af2a8873d5f47e3329e7f03e4a5c6afe5146b985738645fc976960c39ce67311cef758785d084d33fc21ce4039ed3b8f43225b9eecb396bf00fec9ed47f213c3ccfb7d55d70f48dce4ca8f38003111278dfd3b7f44ef56e9a7bbb3c0897b625a8803d08e2782c845ba9f531e6ee033b6ed64c055a46b7bc30320ed314b45e582e4f3a9642543e129802409535cdf103680f2783e71d986c38de79a83297f504d6b72354e033f781039be5a94a8b2b1303dcc00a522b06558f8e71ed642057c11cb19bcb72e30e80264ea957dd34d6fc9a0385046bd00a9bea3955e4b0a6d1f491a4eb50023b0a3f2f1d229ed296ebacd58703c67f5d8e789ea6daa7ac83b4f75aae27c441f8785fb9e5fe80d8cbd84935b2e503b93c1ed2e4eb9595e52c2fd3a3bdbf0da6ba288dd5a99ff4ac211bfccbb5c921035f9a74edb257081f30730b2e76749998db1748384028518696d833a42ce381790219ffff03c7d5047aa6ec264089c96256e2e42597c16e39c5f58e90c0c5dee4c55ab8d7c7032d026b05290d0511d615f8fab76b0ff22eb63971d214e8507f399b4d668bb8b50312772546b284c59a5e572d11450dbceebfadf1366b74299d1d519a671d40cf63036879e12af81515a5fb2d81bb35e1334cca33009e320c30872a0f8ed3154c574303c44b610b2a88dd32a5903fbf0699563ff293e6dec47172f38de54c54ad1d7d4f03f866a1c7c24151581bd4a97d395da9d60d2aaf964b57f6dc807c62f9e844b79d03033500ee8d7d4a9ae25d3d711fcfe709771cc7ea420ef8e35c91cd7ea51ed1aa036fff5f08127a7e8917151716674ffdc50c4cf373e63986e6ee611b7c1df9889b03784d8f33203c89587625be3156827121834eef11275419d3aad9296780c8eb8b035b59d0c1afd42756d7eada3a38cc699ec49dc0cc4a07979662079a618279c17803c66be693fd26629eeee7eed04faa09ee0a8a53eb72f1d7946e97b7a1f084626d03c8df2322f3e3b23f17f244eb6dc0e68cf4141364400bbb8627995bb6d7835292034036619aa8bf56f3dcc64d1cd9a68888f467bcd52725bf3330e82fff1c98856c030178b91a9f072af85df4ddee527f393aedfc288a9c66ad03e19f20d0305a159d03e744ca248de6edda6d5fbc992a955c8af3b55633ce3b2f26d47fbd4353817ad00219ffff03609e2fcd9e520f455a2057a1d9f46fcb955222ff65573cc7db1286ea8e800569032bfa8c5a11743cbddde0fa02364029801fe181e23e2b3b132aa9f6d8151d6e170311f6daf66e42760fa960738727218d61da24ab04b9d284b9d85ffec284218c98031c984fa158a43e1907a3c4bf9befad836f2427a42488e0dc7caafbffa8633f0603e8e45c189dd8d3d57f88da55c682600c239f730e1c083da07d9cecae853169a7039cdeb6d49efda6b9d1c9a5c61262ed41dd720efcc3d8b60e9c77045d0fa60acd0305a47c10c0ef9860f49c4a33c3a01743d7c30f13ddcebc65e53b271eeb9813d603a27115cb88d26d25bfd6647aaa9e8355b13e1391a9bda76c1338575799c2cc9f03f3b2a0541394fd19a39ae385adfc0cdb329f3565612790e3e4a2924a86108ddf032355d615e43efecdaf180a0103980438b96c6af4610e2294d74803003679fb01033eea4f13121e2655993d6eb4e2fc9cfc559ea312c52eab8f4d14767be58e70300300735b7c6bb0432fcd2e019ab788242669c6f0130177403c3621562005c35cbc03495f081fbefcd92f16e71c8de27277da8134595ccb8399670c036cc91009675e0338d832e45553375ec223813b5a032e52d9ca4e4d07997d9aff099ac10ed7f30f03db694029a7df935cf9eea17602502b1bb93a25556fb4deda36cdf817f3e2c30d03ed88bd0b6c2345eac9fca5596046ba2dafa99dd51672e8440ce8838aca4f0ad303f60289427b92c00f8a790d5f335e232fdcd97b4efe26250f9e6b831692f1bf3503676a4b83a87c4bc641349d80b7600ed147b2ef0cbd679713c3755d3c5752ef5203fe53177d1f232bdbbe750169b2d0d99758de4536cbbdd04b721bfced8029e0620375a40ce3369124866deda98fda6aab89231d04c8f2821053b0f6049eae131eb103e5a081566a0f975e07c848ab0d9852039b4870d903acde15c5c431d7ba87f39f036b14b2bd08612fa6f6c2b4d00df72eb57a1944eb307391a012e113f07156d3eb03056c5e0ee58940acd935843023a62eddc16c4a9ad83b89f823b3d8ab60065377037734b6708fb65e4a7d73555c1f83c6e7c425b862e7a548a767c2767f20777dba03a9ef9560cc1258ef59ce6e90ddea93112ba954bfcbd6c5ccdf6715ae123ac417039ea541d5f55f8b92d5a9a121ee65636a4d376824c5e1f5feef1e94db74f5f1c70323ec5fd6560fd587d246e155a40082f322639f88d62cc3aec8ac274f4cab63ec038ce55e1c798117e987e24d689ab53c6b2d5c5dabf062802dbd53881a0f54e75403b3d00c02572e62b5243b9f8dcc76b080d580c3dbee03594155642d63f177f29000581e02bf1397065fcf1c87f69fb1cd9b0d8f9f1be2eeea2c934793bb63f7bdca4809f3c0b85b7b09a300581e0278dee27d76b9045567d3f904087abb01cf0a114199e4cb5a67b7f4b64348016345785d8a000000581e02f9cce805adb3afa11d78352a8b78158300d72e133f453c795fe38cbd0e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f4108a5358b530628412362376ba5bd6e0c80407979929b56d8068eb325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219064403bd4c9fbf0ad6fe002a45484e8d08bf03a39e1cbd73d0460ec19ecc2f0cf67db50219ffff03324c3cd921669a36219d182926ebc31097eb08578e68a6fc65c39e779c002efc039849486455e0e0d7d30e8df2a5335073a7850091dc399def2eaba5ba83c0a03103af97deb81ad9653a720a94bdc6a43812905a8f80ebb4fbbf2a007873df04a4ba03015240eb0dcad169946e0b6d0a9252e0369654d5733dfb8a96c4fb95f69d87fb0377ea46ba30decfa2fe7448957207894b3835fabbf9a11e2def4af21954c1d7a10363d22471fc9da418d6a430a4c72fa28b6efbd2c8e19f4e52efb77e8ebb4764a903b727bf0feaa8bf4e5b1d097b6f263225af4559618f54436d1d760f69d396ddf103b2996bbed016903d47dc325ea9ed877e1ba9330650ab712a72c924dbbfd354bb0219ffff033a97a920025a8332199728be7feee9a44d23a0420003af613414d9a3293ead1a0321e3ce302ca02a3878ef6cff2a9d641bb3e68c4a06c1c303992c6a0236894be2033249aee0dd4e3f66315d89207b418b585637d435a50ea446eae0dffb202025840301323a043797c41b6cf52caaff1117cea77ae7b601fcb65bb29f7b2d097284510303a14b3cda9d883b10346190872f816470110bb7946b83c939ad8f25237065aa032572a85d1e4fe8fc47482258a94871713c3f67533c6919678c9889d5fdef1b9703c5f21b074536ac71147aaa1556fb83fd7aa99dbcfd3833545ff550d52fc7d9be0219ffff035cc61493953360452bd2cb7d9cf7a5054ee80276dfe69b34bd846e8c8abba51d03420c745e0664982bd98bb5615bc8364ce4bb3049ca205b23e784ef4248454c1103cf366a6c9c71bfaa2c8c9fab182569ef452e7328cb05ec3fdb5708fa1734e49b0384837e9497f929397e1c1cafff89cd809f33b091e9fa4a88c55b6125c51e81f00382b10030ddd82934a8538496edb929b9a9bd3c609f4cd18ea7b659024ffe6f8e03e0699dfc9b57eb3759af8e5f36a238b64a0a80e010658fbd1eb18564a38e89d103c3100c677fce0113295f040e40bcb65941f0ff39a1396d8189f50bf89e9d3243038efd4ad0bc8c545ace846604f1c821122a7ba6c37d3cf1b47bd9467f88bf90a903307597dc9ad90a79342bb2ed0b810fc91625cbade85c4d557e20dd76c0795d65038fc41327adf4496372298e02f970fcee30d78d4dbefd029c3f94a4c70bffd47c03612dcb9aeeae70dddae7a0576f832b2ea78828b48d276d27dbd1f1b24de2e30d03f371af931b33a418f5d8ce48a8b7a4f4e59baf90bfdeabe286259940cc4722cb035710f81af350a73dde3038664464ff8d6a79208da53b1307ae7589747b3bf4a80300e7232dd4584782edfe964e1d7df94f00ad2fbc98d9b7317c65c740e7bd53f1035204c54627ff78047ebc4fee5038afa7047a1794f80387f09ed4f554b57d1f6703492de087452fba2c75beed7e627c9f24b8dd994fe157cc5649702fe87114d7ae03379bf3bec1ad4df80d994515a1b66d57bfd7b74e08ac8b178554ac113b6800d90336d090080036e5ca934e6b6f4499425e1c98393d5f63426f03339376422325f603dc775c56722d34594bb4384e1059f9bf83674c59c669e8de3fc228b731a15f63036b1572485689ffa6b7f330ec6bdf770797f30065c3c8c97ec8e039552cf75e7b00581e0290a367334727e4121d125b36c18abb651a7ab7867b00dc77c68cd169255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dc65d4698ab985f07a64d4f9f0793f6c4904c90a09a442251527f3a3c848017896703a31000000581e020b94b27fdb006c34442d86dcea34b1c01ad1bcdfefc96629f1a3575b1a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190901037119ad5d06bc14bd04cf810c0f9975708c5a9a3b324557bc5dda0440698ceb67036b79a590a1b199e5d602a9122bf602ffebf795a905d51bd5babc4c906b4f2de103aef1ad80eb5cc11d8105e207e704a951938e5f998ec5c3bc65989fa49bb2bc1a0368b6767214a445e731894052ff2a40cfa10269c84bd3073a585933de1bb71c660326a1f6e0da97525be1bff8e4f55529f67fd85df12734e866d686e1b05af165aa0219ffff03f1b6afa2a3ae6579e5514e1bb6e8099d66c3a105fa656c7eefaa4f3c30701328036c79fe4f598c297eea1b424a0d787f21a209227af99e034be3f1720c474b556a032790c54449d1ca7b36ada7348bcfde6741c44bf5e3385d6bc6c984b0454d30f2034bdeafbc9da83ebf4339b302cfbf973d52cb07e74c82d5940c5190d69b934e3c0313bbb5b086b7672db46b1f87b04cb3cc9cb908cd251f1b1da4c787d23f821ccb03b5a87aacce3b0e18aed8e2d06d6669d2844e5599891517071be3c83e97a44bd4037f2a77b3337588ade4dc23dc9a2fc5cd38719dbc69bbc4211972e700feeae5550219ffff03a8d50cf2ee3bada76ff8de7101dce3bb817d4f4fcb8f3938b1cbe7fb13273061036c7f637fb683e4ee79109628bc0e1cd70f103e650e606b57a1d3e368822cb8e503e705555001a5dc4afc4e6363f75b62fa86dcfdcccd76ea963c9bc7cc48780d1103dd7861b77989bbc170103dc62b45598d2ea29ca8d1ffb973b97496784d7074fd032703731ffd81ba47685176708048ba874421f3f5aef7b2b8bba0cc429be3446c03c2d2699dd712cf382e36a08270614a77f33adb3bff24682b1b5c6d3e93ae6f8c03c61a23c4b2bfe02bb945e697e5bf9a798d862dd8d06b6a7cac28e86c15833e6d03dfd46afce87cbcc330853a03b681e131504772736cb35cc412fda7d74f3d4d0203307a7c3e8f98b8684c22028be74e0c3244f0a1f26bcf300bd8aa6ed0dcb1f1c30307502d82271912cf758fbccf061933da6e7329a3ecfe5dc2e2f6f7779d682d8b03b0fc32e2ab6786e19ea3f5e136ce62ce33720070b4601becd9639c417dd18c4003eb9831e2b8d949b48055400d629a2b4b2283508e4052a8e06804273c57c49cc603464355ed1720bfe4c0ae685303877a2dac8d442f661b280a0e2b84b58a79fac8036cf8e3044774692944d912675747cdd47245c322d36487e975068e8647a694af0219ffff0357785c23d5fb8adf346327a12db445b983f09989e940cd40d0fec84dd8f5ea2d03223dc87977d4a036eae51f05ea8dd76ad641488336c33d822cb668f29c03195203544b191b35cca4e7ae3c9fccb530edf727e817f8e3ada48f9dcff99c1bf3806a03efb7c7997f75a2fe503ed8a40f4084761aee67562c99a2d908afba910c76e747031f3a41fc4688703ecc27ad99b7f59758c6476849400abb1cd09c1a2e53e49c3c03a6ac1f9061f79e994f23613c75fbcd4cce78418a7bd8c78f5dedbf34219f68d4031959b4e12aea99bcd60656c63f1d825f37f699a2f23cba435b8972de84df02e803cba3fe288f0ef95358e245106a9174d5d06c400b74e1e8f5124b51aa6608c04603214818d18bcb53a262da13f61d57ff2cb262593f50507499aa31e59f71aaf7890382a20042906d7ed2783b23d0a8f1a0342e449a530b38d225ef9c0099d5a21e2c0339b577d9ab3dfcdf937168924242eb28d1b2a3034834d0ce5ba3fd7142b6f6930308a64bd4c3cb625bd0a91561e616cf8b0e14bb6de804bce5b40fb8721eae0e34035e6554fb079240906a5130789c1ac3c92abc612ef82087b9e96fa7d10ab15431036c97f880ac9beaf647e9740ee1a16174b1fc431acd1d4c6cf4c6fe4087ba43c20399da128ec7cef0985f94d95eb546190c0e8478f827336ba951bdddf9ef061252034fa5c8924a2d15464f6b29b8b62b87ab479465e9adc9c690e3ab2133160689b30309194ee0806813a7ff79f8ca822cffe9954e3fa94aed508d18f4f3bfa001e12e036d8a7f9d18eeed3e5f4487e1626d3bbfee0c8b97db77f67bafc3d3fe9e02594c031e1982fca95e69c9f5254cb57c2b4aae2007e96bcef160b1bfdb9b4e95fd1de003b5627a4eb13e3d2adcbfdac603c7565af200bf39f14fef18fd24cc573882878203c73cdcbe56f6e40736644898e28ff3e02c84346b8a84d3924352938fdf29d925039caff3b93d90725c75c898e76aacbe9217bb02c16afd9d187d67c82483bf5ba703aaa8b6749873576dc710e3fe1931ba46fb1150fb3d358366b4e29c9699b40fd203fac6c0b68e911f2027904a396d47189f25358a2455c4735985562d45ad3d8cec03fce2e7e26a21a536ca863a277e86ab86c108364a8a1287fa9249105db07eed4900581f03a84448db2626432175251ba85c05011ab6707aa2cc5314d779fda413baf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0323d44a34866700b2e1a7ac54f2a30afe2dcffaf9bc83a3f8473759d4a0204f6a036e319c703e42f85c537225319052e8cf75f017a769139d2da2745be863b0971100581e02bb55fda791716f62483c2d07030222e5214b7d41551ed44448cd201c8d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022e4a99aca8597a85117b92062cb0cc66de3fa4addd9d39a01c732ad23f4918663a57d83018eec0021920040312b6799b8a9ee91a9de5299dc2d549bed93e4ee155c92a95664643c39cad89b70377c09e371a4f0141c3f146236ada976808dc148094eb7b22119b42c8f56603d500581f0382f58ef8b60a7c3b0029dadc6511c049c096b9201ee36176ebc61617f6e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b5e88debb6c5793c1bbe5fd216d322c42e28a8cc50e773a617e3dcb00f53adfa039d91afb5e0e68aa7257c9a3381ab7644ec8b8fc81ab90115fde13ae984273d4f03be0be1bc49272cbd3a3ed4184def82cdebf32418302bd3dadd21e93a787fd75d0387523a5a195d16c854ba9dee900ce0a23c671f74a9515f11aa1e8b4c2975c6cc0219ffff03503252af7a1b04b2ff14c9a1a3042b80fa46f3fdbebf1778dae2839c6525dd940300f4d8c3744751ba19eb9ece23d7d0e87c7a7ca9ffd98874303206c0793eedee03938276c2148cdb106086c3e48f203156466636d3f5d4dabd604c3b71e3d91d9203c0361fb87ff28ea7286a476b9f936f14a8b6a6f1014db24264f33ff84bdb1b2103ad54562cdd1b9678a0e99e6ef3f3cb159307f536d0d743cac9934ee97a5160d1034a98f0ed9dde6d7296389f599152036f882f5072b0fde32f316c45b4cfc0d2e603747c2f060a9e96673568804884f1679c7b116776543fabc381227d19fcaec1d9036a16475e48c6683434e95ec0d5d6ad369ef535f8ed74978d1c61c2900b64986a0219ffff032b9e795fbc1035aff06e8dc7f92936962984b7bf331d4d559b672f180e67f9a70337621eb6ababef3809c82b9e5b4817715bbdfcb258e1732118f1cff4c77d42d0032ca7283822f1bfe103122af4d17935d78e2bebbd6fa9fd82d537021a3adceb1003e6dbf1702c46cf24b75771acf01e8b300c07a73fb2fc33aacfd5c13ee6079a0c0219ffff03b489a17aba402de2fd84fb4f7215c5534d87df999d639d4fb213ca0895ffc4cd03751e8e6e1ac41ebe4525ba8b7a340891a9a23a5a1d136b28f683c207819f666503c1c90c244e5fb9b09106cae6e9e1e150908284dde24848177fa6ef0cc94b1ddf034953c1d645f87ee09eeb9d18552b29c2e5bfcf9d9a53eb87657d03f91f7fc20f0347a494774e8cd005b294f92474b439aa88cd52664be45f441f775e074967733b039484e216d16a47119ab693c10db0af08b01c88bf7c19f86a4d3470b71aa9d96503f244345f41313a344551ee706c9af6104e3b55028c624c7b3cd38965fb817ec303f74cf651a2656a24e9e5283eb74f0304696c6e5475eb82baf8300c705aa0c320033368753bc8d09015973bd48b1c46060dbde544e88bef88c56712f337ce39eca1033280a2e1182880ba32acd2c8351bacb6b6a22ffc7f0f67438a28f7a4c8709369034d60ad9a6444c86cfe95c4df951256ea9ec457de18ce999ec4aa95e1aa1ead9e00581e02a3e025a8c3f7655b04d5ebe9bf4434e09f1089901b3b58bac357ace7f8481bc16d674ec8000000581e0201120083ec772bd19d70548f90d33ac25c4fc27b8d241dc4a5346effed48574596d0f494cbe800581e02e9eae687d82cd94e4e3bfe05e48c76efdca30f9ba4e9b652c386d5fa675820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219026003c2431aa9a577521a69e8d1bc644e50616bc2cfd8a70e84189ba232e88965665a03b529b6d786c6c4537b7e21e23da67f6aca2b7a70f39941efd81b7599a81601b103110dc4e40bb716066b11cae018d2949a962ec80296cdd56fb1e53425e123a06903e445339d65b1e5606980d8f89c8e593dac8f5ae3a0f2619e4d9546f966b3f49f03881a44bd51ecb2e578d9ea7e2f9f8f201c212d04bdd389e2f513ae7c47a78f2e038a1a87ebf8147e369799c94bdd0041c0d0607c0b897bb8cfcede61bf4c0bccb903ed1ebeace2fd6f81e81185d505bdb811211923d2c6636c6270525b785b6fe8f403a3d194b9bd3d63856d904d4507ccad43f6e2cda694be886da69cc27d41b0b6770352ee43fb32279efbf8cbf296ff0df8def54cba268a6a61878eb21c50d52138e203cbab0f98f29a46bd012d224236139a1022bbc213a6952d8f6b0cb96266c4803703e98c391329f23113e9d6188ccb848d9a757f6a882ec3d7898b45afaf71b13c4c03d757e85f7261581716cd6f47cf402d666b078ee866eecaa801a03de562c9bfe5036fbfccc96d10072467130dae70e9dbaa3432a07dddab1da558cb811fad84f6b203b3c7f44f9d750d79e54e9dad560e3a1379475a3abe4dc59fb3d651521c40c38b0219dfff0392618561f0f79fd772152e2598bda6c2899169d104125de27b96b1559c2637ca035456bcb3dc704ff32cc88b5ce1e32383070cee4640e1ed0a263abb32055a8e86036d0942ccf051ab3c00d83b9f9801da20afae6fc5d1b2ee4eaadc94c77d1122830320fa5a19d9336ccadece74083e039b95728217af584517cd009aa6fb05ee1581034a03760f5796f00d1f046fd81bb0a5bde276a3aaea772596ef166d428797d4180219ffff03405a7071d343848c5f1a0b1420cd5adbbf6f1336587d16515763e800f9ccfd7e03224d5d67b35109010ba1f5cb630c0a3bf1d8a0167087cbeb18a15fdf4ea8596e03ddacda0210a3b53e620f6f27a3708a147211618ddc5edeab7329ddf4edd8d9c603ccd1542ec69c67b2688a830b894d7b896c45844d250be8b31a058d58f83eabba036f362f012599c2f24073ab8e9f2775e04a946e06527d436cdd2b780cb24286f203647a4898b3e8bc29e1021fa5893068ec264616ed41563cbb90794113c2a0508403a008342a84e1412472559de645fd798e7006a4bca7aa9aca3bd415197452c195037e31444495c6dfd5b6489853399f4a9a4cd9b99061758a014f3621e5133dd626036bdf4dd5101f7515e3f15cd122dde9261d5aefd5aa101915761c7709bdbc4e5c03b777c8cf69f13bbab64117849ef4b7ebce4c4df41549ca8914565567df257165033f7c13f9c54c2a351a02d617a5e6ead036fdb36bf38f34008eabc40557250ef003bf67c19abea26dd2b84022f5f30f4c6117fd7f1f25d24c646fca056dd25855ef03d89bd3a8ccd906518c68d9ef1fa0bbeff12b5306e7bce3a69396e3b2fde2ca9e03e6c3aab7d4a633fcabd590c2a825c9278bf00675eb6c2778992010e39440f9fd0219ffff0363377b3ecbcfecbdbfb1277cc3269678bcce47ea2dd7a0ee6cefeb8adc35f1af03c23532bd1a72199504c9abd70f2863da716399ed58212953b09ca1407920e929037f451311ce0fb7a6d3d03f3a8780aed16705725849ce57e5cebf0ee3dc39f50403a1ff7e0c38141ccbd819e99d5c6c3623f439cc09931694d9167cd600d7cd764a03d4a5b984fa175375ffec779cce080044dd37f11b2a9a530e6bcac02dc29f80ad0219ffff03c5437377566c3f8ff00f33db7188bcaa4063ff30bfb86a9e190e8793066a70e2033e37d21d588ef1952db972912bdbf67f4b181bd938e8283b6e78c3c16245ff090322f8e84953ea7084be97911cb52446f2e8e791def511ac00940ee9fb98ad44c1033263779c764bedecdb495a5e8be58458e264f2c4f4883ae47a2d4cd549cf455903673adccff679db437c6343cee637fa7438f7e9c1d4d88ad27262753f03d8ab3203b51cd725fcb0766758c04c1d2ef8df928a3566a1916aee5e60b148e5baad31470342671279a1236fb5fa3ec04461a6f67cb16fe17c92083c6c5a04168046f1467e03021717bf880905f0c41b4ddca62e3ae561f3d1396c0da422ca34806b3021c0740329b379da35a88c343ebb9c8fb6fcea6fa2837dded4ad19f5b4d88622eae48c7803df6d444b23a20b6388638e1ee3b134760be5af9f142c5b75bb8d3efbae0fa21a0364712b57e51d6599ab84aad57c6a34c478cb81ae0a126c7d107a51d6ecf20aea035fba9b5b2b3241a44a46a00dd2abbcf4393acd209a4b7d8b01bb342faf75fd8203ffefda0bc2054fbe9841faec0936ca36faf0d608860eda736a94ff143ae8d5a803e537a4f33dbf1f410db3724542ca9a2f8e780e869e5b1791bff95d6f86df1c07032e2658cab44684e84c19e81f4e902807ffcd68ca826069db29c0d84c147fa615037c53cd3c2dae8901f57404a68aa1968ce3dc6f5a43240443693352b71382cd9c033ef31479b9bcb92a573cb28de506cb3e510496093691567fd1fe1868e5484fed03c1160092b9a94d6778132e254113521c307a26c0d72dcde3b65ced42a8ae921c03eb62c8f590067f79429179b1b3dd606292c999397a3f30bece37e19c1bc37ffe03681d3ffe32194cd920df78414250262c6817620ef6250a5eb234901ead4957c2030659e688d6345aecf9004b0224f207f46dc1a9e8986cb62496a809c6ec95f81e0389435c343ddf0b938bbb4cf112cd02a8b43a52aa341ba3fb30de1244c0c310f300581e02e4854611a5f7f465c3bc9179ca87190b450b6eb0fe6602da68fe8ecd1b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d734e33253e8152110378143d73cf7357fee8d23632b990293aa16cd9242064900581e0224e56e5dcbff28eca1c4f61c2077f94c3c8029531c522a59ed7a112e005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02af55729cdeda9125d16ab3bc9551da0812b3064f2ec775f9161ae900b85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027b3844c0344c1204f4634363442e4154a43e4debab7ccbb2eeb4b97fc4415f00581e0290bd202965d3a6c7ecbb94961cb25c173c3916c5f9080889ede9747d24493b08e70db1add3c3fb0219c4d003f2a7dfa2562d4301a7b48fd09b3e8d48eecf951f088c214bb47a68c11213c3af03fcaefb6d2b16eb890303895d3c6ad46368b1f22bb9493d6c7fb46148482902c6031ad55d3499a65d031b5c733b6f902cb7e2329ef56c46afd231f1443418e8da2a030f460562d19ed85655c01eee2637f889aeeaa1206c38f0af90f78efe97e39f1d036d33ca5b7065718285401866cf423c44f7d06600191a90d74b7b3f418302f4b703442232fbacd3aea1f0c5717dfc45f53bc2337b30e215d96f0d3d63adde1ce51a03afbbdeb73b42d3f93ffd7d54fbbfeff03d06dcc095a4c774e4d224c70773e6f303c12d8cf7bbe56d5551dfe35ef0463daf92eec495f3c34994b6e4f6dc5fca50750321afb431efdf697f5e4afb84db51d40d9c3fc531bb20f106b9316bf3985edaf903fce66d5e83006489abfc5e13122571540fe6157ff4ed95e21a64d483f007ea3a03c9f36cc410b64bb052609a24876f094f7500bae4f9e81918b5a1a15798948bde03dccb1c32da5df928a53ef3b82552a9269585dedd5d15748599200e9d1df365b800581f036fcfa99c3c1d6766e8e92bfd9e531ea64cc563a6548d67c68e816ed24a405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d3b49a336e7b631c0c8cb1e278ea27d33bd40766fd48963b93738e2f4b9548290219f7ff03b70e7b8295e1ff18ad1a7fd635a3d69dd02cfc9cc6e8892de8ac999a1c1e824903d62ab7db4202a0e30c501109130729f1d71bdff750f0337366a064da2b4d57790381dcc86a73b69b98ccebfee8fb63e6fda509502ffcb2d2dda457d92e66f8978e038f194d9b5d3ccf6ab1e076fb36845f8ff06234f9703c20d828c727d109f945eb038b9e970f8627d48169607b71b58a9829873160581e5d6467a05f9fb34a4767c7034b17f9158a4561cfdaf1cacf5715e583e6015f0ea66dd7e6f738f3a038bff54503e5450020c9b4565dc78619291139ed2e1f6043756906d2b54dce3e2e07e7b74e0219ffff0391b2e4e00c4e9200d14b13fe7b8b0157f1c8264f12fbf0ab8e62b2c5e301282503596ba9bf9d2d575cc998bda94295dc0c8289c6fecda04b095ee5759c8e32dc87037b3b747f3a9cf9716a14fc031a706289bcda8fdb3778a587d6871efee4bf1571031854d1eebca86c2dd20032da7e47b90d5314876be3aa7c7ec9fb829827a7f1ad03a925f4928b41b2d58f4a8b1cd4ca430bcb01c01f43a49524da19ab97947884dc0219ffff038ca69631d6907358e4f5585570b0c741bd19b01dc962e176c4dc2c2a08347c700365fdabd1899bb5c94a86a9a9961a879423a28d7e3e5166b8575d7303ee6d2e63030603fa6adeea192e137da015e4f0caf33af15db7930be2024efe9e7ad5ecb128037c8d82dd01f928fd6af7d19ca217cae3823564cc4e1449ae9f0459e3e603d47f0345e0af4d0230c0d2515db7ef89d4dfab2f2693b3c5b7a18216e88d90cbf63c77034235fa400a439508a4676970917d27545aa1035f8c20a4df8db128a03da00d0900581e02d5dfe97fc79b49904922cdcd87f6192d1d7aaf3b36cbfa5e57ca44fefd49335c40fd5edeac7ea500581e029e7f8d26d8b944984b1e79155ac8a3d3b94c2511cd77db9018dadfe6aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02188803b310f696d2a6625704479b551f2b85a4a8a7e2e44b8ca19369859cff02aab55403c15f27691d8de229daae376586637edd220b97a39eb935030fee50b35df6aa97033d4145eae3b309fcf478a32b72fe41e6ea1f37021c6270e88702d153062b0329033891c59d2e62c2cf07821e984e0e353074d2ee4443fe666459d88d3ad26705d203bdf68816be35d40d6d754cf41f8b79ca37fb7e023376df8d323dbc0252ed266a03f2d559c3fc6da54a40f13b1f91abb0f9ff5df8b3346362a794d6b128a352848e03b20a044c86e28f7046cdc64e1e19eb173fd8c65473663854df3cb9a64bdc839b03b4c2cd6d0a75565d7e99ae514a6427bad1320f1d5ce1bf002310cd35b9ca767e03ecb1ce8dad5dc417baefaed7f8947c962be1f74f1f8463cd93c398f7d3cd82b0039d5264b3bf0e8c1ef7f9fe336b79136c0178346de55bf874b7ff1bf81322285100581f03955fd2106271afc041236526f6d92154d7805660cc7b645c15ab55e9c4505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a5ec2862cd5940b7f90ed4893ac2dbb1b62fa0a579a2f39cbd2da2668a8213cb032d76f3fd0dc0ba3eab96525b8124637e629d5133cab4a6e18d9c91a1cfbd14ab039a1d6c6bbc1ee5c0eb966da5a439b4a0576256a5258f5f24bc23a9bdd82a2ea10374d44fb55ecb5b71f2bd4adee9d9aa7e5bd15ed825702a69e658367bc1ed099a0219ffff03ba8986609910eab03e5605566890fac96426b2741f4aec25bd270d6a55319e39030ad3a8e3f666c3381230c9a0b8afba66820a0e78520af1de272bedbef95fd1d2039f0b05bf0a81a09f70b232a4228c2be782de1189c16a77fbb52a0aad3f6b9308034a85ab327609f40bdb795c32c42200d2850c222d99e852c81e07839733a844a4035db5a3bf44423c58830dc6498f927aba25ce15244ee13efdebec436c3fe64c6e031ad89530dca78943920f0ee488b898611f8c441f90d4e7263f7dec5987430acc03ff7d4dda6c73f00ef4d65a42b2faaf710fe39f1f7b892751544076186f5d18a10337b1e35af35aed697ad1405be39e720a6e2d8f44a24a41d8678c742124689177032e55e83f590eb614ecda487cc6fd3a05765aa66f50dd230b9b593078515e2a5003ae46bac2779dba32420520d1504a8cf33a55dfa1cd5267e96dd2a07128fd050403122f141ef0fe0d6fd355d781946267090990c7f8317a4b688228ec65bf2cb1e7036001eac1473b8c4ed0b64da3844022a6e0191b2f06b33936d5d7e91c58a0322d0300efb69d84012b4b9a42b255c69547918345b2df67b0c516c1918ca8fd85607e0219ffff03352d51040588beef7c5a9c18866aba4f39413b06296f07be03d5092b152adb6f03077dd9debab03ca87cddef4a19e0ce1fc891ef18f81e90b5a1a2c98876827071035a135bc0cbee1021d55c2d6803f44327a6cab1451c3652c5dbb67fd1bd4521a1033b3aacad6e426e668d885ccdd128febe1f1f663912bc9468520cbfda9a8a9d5203b59482ee17faae55117ab326205887c3eda5d1ce31b173588fa1d330b8ab7127034b70c64f8da5c59b96ff50db37f11b4f32dce935e8c7d0716d446c9ebc59be57031901221e03469aace5baa2470315aff8426d8efb7ba354960f7c51d6d69b14070360171263cb4317e537163bcf2cf7e7a2d7ed4f29b3bebc4a3100be7b638c34b603d1365444ee114f719eee2d040647154e9ca9d66522016b0d38783864931c44800308fb5b59f838113ead9c2e1c9d31f08753e6238bb62ef3a27ac8135a56b5105803e4649fe103b0a1a812d31162749aa70edcfaa1461bbaf92ed395fd589dc49ed603a79715ed47a96b08f1373945a439610a2500a3c061bc75c21cf9a6fb6cdef58a03a3d827feb2231f9379c6432bdc69464b80236a799a552b01155781e8f4588ca70219ffff037da1efa7eab92e43811fe4633d9aa39c3f48005ad3bdb50a08a209a1b93358a003a6d6d3d45a27fe40e4d070899fd6ffb258f32777a0b9cdd7706dc8853f3a39cf03642af00c14d1a1cb7e4ccb224c915796fe717f862b7caef5d89d82902becbe4303a8fbc11529c70a815d5201db88eb7404f497549bd4ceae5df384211ec62a2d2503d169eb23c0c668f748624a644e21df99e054da5fd721c25d78ac3a41769386eb03016b76bde3ce07ff1133e2d3f2ff557e2e66b2c9b1c8c7962e15df19401be077039b49aa1cad88cea415f4eefc1fc4765d5a8dd02e77224cd365b5311874e8af6503f0b863c67207b2e1914609461e946a48bb769b550d43c24285b547f1090c77220219ffff03167dd974cd405c4c5f5c350548e38f48400887658c4c07b0391949b5a5cd841a03febac2124f6edd1f6981c6be3b354463c8e7926163e807f669d4d90b68a62e480326dbeae4397295aa5be1f969237444abd6a17a3e6b90ea87276c8dcbd8cda6ad03b6335184e37e382106332be2360b290650396ea3599c55c325ff4744dafea17203cd0910798b8c534f3a5f0e5f4c8f460544b1ceec29fd3c5dfec0dadb2ed2e0430326444dae7866cb5392f20c15be5e2b184218c1c17498bd1b6c42eaa261d04d5903a7a8c958eec373e27c7b64f37d569df09fba2d8f160ffacb83c5279d78aa6bf203998854301608878c8c3dfad05172aa6ad66be2c793296e24b6d4c68007702aa103a189d15418d0d1297e05822852f9764e37f6082023ee145fe31363a287543a8203678c35512c5c8fa1d575a3b7eda56501fb91a9b012406620f2ba5b8a867ea581034a544eba9c3f5bbfbf022d3d217e8353ce0961bc107c28dccfd90748fdf7c1ae03f155897515111d9b2a2e4617dc154bc5f8858a22fa09be9a00ba9ec04a812782035a9f12447e059e93fafc08ee2cbe0d24e5d34f08430d7c51077ae2d53ffac38c0319417c0bcab38cc6148f09fa00e878e132a7d32039ecf5320705ceb93da141d803b1176cbdaaa0c4b1d6e1ec404c51e121179ca1031ad0f3f5f2fd06a09cc9161a03eb261c8c5a609cc15fc721161254dff2cf22bc322388162859485e3350e08167035dcbfa8174ca48c9197bf13b957b658544d982b807cfd542d4cdff9a8c6940de03ec2b6b61fc83d7b4014809d7f739e3f6d812e3cde09dd97f42ab027342b44e7803aca584e2b2b1dfb71ca5c4f8da897a55f55fcb4b24cea91bbf8d97c6099c09620337bc8b6b901e94fe675e78b1873e4556f76bfd7ff4bcb231926a28a1afd0d71b03b6317b74b9b5f3f9b585c3bf3f48577752d5adea19469b24de8a99fc778c0ec503ebbef9e05683266981304f535bbd91beaa5888e10432f62c2d59e40c0adb5da603f365741312e70bbe4dc9828bda6a832df323b65854940be5a76a832d67eb3eb6039f986bb258c01dbc98658f0a655a354860e2d32dbaeb9115220bbeb2a93ca1b400581f037f20908b77bd4adc2f4204ba99a19b741538e0f8b99ba743cccf0ab350805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ea7e7b2be6ed77e3be465dba976f8e46bccc982fa57728b464ab5f054163b01503926a06ab9847066fd5c56835330402a93f508f45d42565ec6c6154a9fe2b263c03b8f1c0694a0cd4f6a65d035e4d8c4246098076a80c4e1989aeef0564795688370383988dda009e0f8fb061fbdfff7bbd7d40533ff7a894479c1d948c590d3954ad03f3b9de6642f5c7ecc06913ec0a5c6a54f4ed8f8ce19ee4d7b9f0cb5d30da08b703b50245577dfeb5dc844322ff75e6886bf7280a54034895ae1f278b628cb170fe036171bf4dac6d84236f8d7023f14cb12eae593d65dfeb05c6e248e0526182de6300581e02c60029d87df42fc5977885c9fdc43afe77f5461ed11ea32450c27d61875820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03695aa398c1d1e50aed9a6050f985d269bff4b4cd44ce5bf5cb4c4ec911f92b9500581e02d7cd72ee70cb9301d82d0ff363901dab11f96faa49b1b885b1c3a864f2482954468d17c87abc00581e02c80d9b3e4179e7ac41a6bfb2ed3b7b59d8c0c347206867b89a968b3e15460ef15c13130900581e02849b9771399d2c555fbfdefcac586a7966db066db1e582f198bc8f00b85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02194251033e58b939750e33b61d721331529e587ed38003c230c27a876cdf23be6b3cd4ba03b9a00836a78528aefb6811b2a336fd98d5bd6b099657a6b9beca840e660d700103b580336ca0110b6754f2169cccd1b6e756311551a4f752fa0f7b5c21e248246a0219ffff0219ffff03e82768d3758c3e927d94ff4723ef6dce1e14923c1f94b95bbdaaac8f6affc2b00319214ab0757fc876cc846a979346d675384cd083f9c452195d916c19249c371a03b7ab772aded1361c621a89d1d200b43d988559a8dd81519857a2aba7c0b78a0d03c07fa72fd030235ad14d9add43103707417a7aa02d6f9c089c91a8880598e24d0346a3418a5e6c2274ec86276f2d285b756081b46267df48a56ace14a8d6ebf65c0398d7dfa80f02d4b6e4a58daa552ab7abe9b299b3bf3e62cb7484272ab275c42c0324fd9391f5d0836c3234cac94f0234f34975ace888af6ec301c49ca172fd8a1803ba3db4d0c13e2c5a0a8455bad8dba06e5ce367f09e648c87194c512d7cbd39fc03c9a8eccf0028431600678d029e3fa24d47bd5aa37fe4849ca1fbb9d238994ce803557f89b07616b6676ee889e8e1f2fbe47ed32aef2b11238b7b39f77ee48ef3240301234d50036b64b3e5a13bfd7232fd7678dba0f050d8954f31bfc5ccda9cacf10219ffff03c64fa5e67c5aadec7420d203deae7225fb8d60f82e94251678acbd3ea493499603f1f32ec2d65960d8308dd5faae169a4d8a3455381b49869bdae02cd21916176c032b79d0838a54cd2a837dc10b8d7b0736a0b432de4f48080f8e9d3cf8eacc7b51031d09035443b8197aa07aea3e33b68b6c99b5b57479c51f74ae2984c64372e6780397fd60164fe1119c33b9a7b95003b420ccfc7513944530ee469dc348c165fbc803fd2b951b7d0db7f25cf777ea4b21ddc12f035cb0420604a8b758d2d1f33b802203e8792455f1cfe3350367d10ed964c042627cbf56282d42529e1e4e740ffe1b680338af3b64669c1537c71147eac722d791f295561d1fd34f21aeed0ceaf00d2e6c0368763edb181d9009fa8bda19565ce268c2117c78d454bf1293cd24f895b3e14803148ad566d01a111b8dab88f64995f382c00f3fda80c2c2d9827923c766a5550303b5d74b05f1e1361e74442b3738bbaf40277a5a5c07662752f32f183ac2077a8c031fadeb7b376163e794e14bf38a606c2441f8a126e6acdb351600d966886c793603ce9b771b8a03a572e2e66924393ff28ce209638d059a4d76b0ea6a04d3b3694203a2bfd2a34c5affb9e324366b9bed3d6f738cf0686bc15b271e9fdcedf3b58674030febcec1364da0423fc354de8896a53e5db7f2c599f236441e757a9fdee1c667035c68054721d3245d48957ca86ea19351ed52d0384cdf18776ed3283e561df8a80386e462090952b923b5469aa53e1df46119fbea3e4e033af20e42794409761cd403991d67ad56055bbc90d81c1dc306d0f6a116305b0e20732726cbab37fe1526f003deaef790b860c15dfa74edf74b67652702fba13c6206ebc405425fb4f6bcd2fd00581e02402bda044601493a6adb53b3184b96260c4c19bab74827e5dc344c4373493e9b526e61eca7188d00581e022bda3004a5ff2f37588d5a31068a3c9c1c555b7226588f50ced66832815820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02424d65e54b5a44e743e85d52b7dd10b7e2bcf4d55f47c3a97f3836923247038d7ea4c68000021829031f55fd722c53c56dd48d1ceddba4411c4f7878f553f2a16d759b4eb655748478032e14ea971cc6dfadba4c2cd0a0dc08d9c2cebaeea8d50b648d3b254738a7ee7b03147805632b41d826e581f72140b50c512e1a9528e4001402c98f511aed8be20b014103038e0f78ef06973da5595aa8d82783cd9b1635d2c2a2e722c0e13bb4e887f4ea9903cff9284064bb07ad3da50603455f819ed520ecfb035e15a5222f65773989d13e034141a2e1dfab80347dc6dbdf4b7da2e065fbb76e340d608dd0442a8f68e56eaa00581f0341c1aae00b831592ecf06a4a579d05a6c655b8d3db03cbf3b57c6f50e4505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ea37cb1805a6e98543906125a6cbf645d25a71dd6188647f812849d895a37c980219ffff030226f9beeee9e9797cace1fafcdca9a35d129486978960e3d40fc915522cb333036f1b6586aa6e618eb3d363f24b7fb4473e867acbc826c9c91a91ea9db893377803f830e4e5b5acbf564267f21cf459a2b8b70a2a15aa72c84e807eee5062d0899b03e02a4b9d8e0d2f743a1cc481e45ed30b40d7a40e654f2f10dd1abc03534f5a8003c8a458af7c4009c3f4f91948eb96d6e9b4f2b41f4e094489b7e55b61aa3f80c003e863e40c2211414f9cfe7c8a2f43ee77af16b9ae80ceb7fdf5d11f235bb4078a0315c2911cbae59981c783adbd8f6d81441b3c2b8be7c662997e4ff604c97fdcfd036b67cbc28ec2b6b6e2750caf158e96a0332cc129c65057f496b03005a6637f46039e9d08b635e0df998a66e8da282f82e1f05643605dd124b2404b7c9918e2980703ca6609273efb88b7f3c3417904fba9143342a2155b7893ef1e448ade97e7a0160368a62c94743055eb95ce8c135c6ac91a52c2da8b6f1184a9e2c5f45a245398850219ffff03ac29ba70267b71f4accc07a8042cb6fd53650ce7ea2841d7081a66d7e70bc79a03e32cbb6148562caa51a76eb976ffc545aaab6cbaf5da32f10d656daa68ec03be03bf0ead9f6461b3094fc762936f9e61f574718080c40bd949be62523963fbf354038c086fc260e08d437abd9fb68a870f876f8d9783e0bba286d49ece7ab1ad56b403be9c9c52deef34493c4315090256f6a720fd8e5bc15a7e166cf3c8d71a1b184b037ef7fcff7682d143a8c1460beb47f1fbd6cbb059859566a320b62a0153832a1203b18954ab5f47c9927795fd93afe46b2e2aa0d264f0c9e6ddb5b099723d7ad464037a70f3105d37d3c7d8da1fbe7e4716f600b09068416590c7da296922ed41478303b79edf0d85a15185c40a3aa889bd26c0d029bfa86b740b1cc2dbb517973a00ef03ba918b379eebd240fd8feaa29b587d93bfe710232c65c95b96eb42414a97827303c6b490148b041ba0aa4b9b7a1e6378aabb5d4e9ec060cd75bb73fea16003c4e60306d97df5e904eeb69cfd4fba790b6ab4af61e7dafbd1ffe460169d5a9be629f0032d9d7af46cd84c59ab8f87a956677f35c3404a331711e8abd25d97e4ad98b5380219ffff036d3be085d089d7288ad2d4b47af250be3ed2351b658464c7bbfe8cd4aad0ce1b031bcf4dd803e52fd83444b4063360d3fa2f081aea1837183cdeadd96adb74062603fc61a3eb3ff21c453039c9682c788d039eca244ff079a36e219e97eeba93115d03cbff06db37294659cd57ea214c0ec12e0ac39bf6955d87e71e0a62d1d60563c70301c8bd0cece48952dd71c5f1f5ca49bacec3023bc476485b51528ff05dd76883036daa1b8b4bd87e2acf34e176a845e215e6855503c1fec4d6ff983cbb7d7ca30203f7159a18274b7ed029a69b53bf980545723d3cf609365323d56a15135aa3a2d7033dd3e8f143d562d19efb9fd8e601da09b1d178052eb1a7dc9887966ada78b19c037d9e43511566de22cb0c668ae6245e7bfc666891f1e956cd0784afe36b9a910d037d551af9c2ddb41967099d795521a9a59559700a3f48174d96ee34126747821a03030cb550c9436eee7aa752d259c3731c1073e11668fc0060c15fd49142c89ad803c79f59fd31ced38720f9f35b32b2cf2f30c7ad98204b065900e851b544e3756a031a5d578584cca8454647b3ea37dc5d86474310c19a5e252107b5db0b6ab1aab103f846e724c03ce0939dbe01b397820d4f1f48ff29f89d2f9fb9de56ba55bb2d6300581e0201c0ece5c2807345e58a41a2a1cdf7e264eb53931235c0985538f1367d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fa617b998414ae1d35843e7c42ca290bc67216ffe2db6a37303ae230ba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c0000321b147d291b38ff6c33032c1b2895cda184b5e30aefedd1a52da309937fe647a03caf4b1abdef559bed3407b3635a2ec9d087cbd100aa2b428e806e13bfef15d9f035595dc316b4c8b2df3359359587a8a80d701a4ff58d739ef6e58d1f06d966a5603dc32570dc48d24a19f9d5ce94ab9745e059c9603b1b7449a0d0a1758034d81b4030b837883ef70523ae853ccfb2ea72ca601109bef03d4bf2736259054e9bceea003860e72307fe68e441192feadf827e00d3ad47cf01c310e9b6ed10fd3e12ef3be03613ae5bc3533a090f85796469221f79738a9a96300acb3412e08f510394dbdb30332d26b196dc667225d04cf2dc038e3ab80ce9630c87b9f824de19261a0aac23303d33da4c4d46d8c389333961947a988f61ad19fcf62ba4615ecdb4b2bdabcfa3a03fd6aa739bd1ad207cc54c79bf0570340941e10ae4c20a527cc5475ef8965fb0503fc9247e37046c6c664f319ead8f4d00f353a78d1e92f7bce01c4acf7b98cc31803c4d8af79009a53b97a1bfacea85cdda79a4c40f27b2caae5bb4e09ecf8b674f303839954b798c2732f154ba062ff84f68cbd4d79fba021b6a4583ee1784f03885703e1e1091c0577d4eab159f9df6699a2165c4812988283100556a4e977d0c13f030301ee41dacab6d753df56e76973fc32b538e7f24b3404764d77b194e102bebde70219ffff0302203244f400ecfc18fb3fef4a8a4108830e02a9547407e4c41fa743a14aa4a80377e8f3dfb77e0e9a3d9f8e6d5c2dfca58adad1ccd1782f6d44d9adf6a6a9e1aa03fb56b41d6fe1809ad1a8cddaccb5d64656c2e295e537b24ef646198609ba989803960dfea104dbf724f9461f1de91baccd8a229394096be7c37e40a729d843c87003d2cd979ba4c4c9c710559366240565068f6997edaaf9f68e061699ed609ca2d503e5e3fa7b902bb8370f9fcbd505aaa7e33a30044983563d80024fa4ca235c558b03035d6d436e396beed4ac1ab3f341e58e4f6c2146813507332ef96bfaa5a5b82203b2e9d97d68f1e8016062e4e518e8a5c3b0214ecf0e2d5700873b680efdf1ee3103b026edb96dbb077c40d2e4b756c8a5d4387359c0fed3a1cabdcb773a3fc1999403db38a8ab1703adb75bf799ca95c52674ba83c3a1234f12036d586d3ef868704303f2c1b58a4193059b4a574ddb0bda0a894b0f7061e0bff53e67ad621185606f990219ffff03d40c9bb19366cb043ea0f898205fbe8d97b0ce0fa98e566365b7f5646cec55bf03741a54a102b94a2b183e323d7b6458d9654595477de4df3ac9e01717702278290321ca3d56a638025b9967c7170fa99628fbbf6b008cde8f1cd742edc280a8ecbb0320aaf515117dfb02c645783afc9ecb2b598131c0595de7a658070239dfce89d70315e900cce2b05e499dc0ef54e957ae14e47be0c06e4b56399880db8f08025949031f035314ae820de13adc1b492ab78cde4ad7b339fa091271f99b0f5b9d628098036abe2b84e713cff53bbf90dedb17cec43f927e7e33214adc9326128fe05cc5af03aecd1057228bb26dea063c9b22e4386291be21a312b447ac3ad9d1cf578985ce03b373062e6d1f7f48e4d8f4ca5553250e7fc4fa3cb8d1c9c1028621d4cd3f861103c42e64e0e635d3c0950f9a2a31176a364ce97afa143a9ce4e7178b8788f3b94c0219ffff03db4d7eb8cacde3e9bdacf08fc9633a5d6b53796b2a04da2af0f6828672eacc6d0219ffff03dee6886a82284cf1240a9897b6f42e804844a3e85425d98c798fcb9308df264003ac6334e2a5ee6c1d94830fe5d4234dc2d556ea6e7fba3ded84db7ed93ca0a4a903b4de117251e22e78d47e756d6a92cd60a902e3ce0216639aaf0954249396fb8003f4504b1ef8152022733c4dcd372cc01a9f45b7482425c46f635f9c918fe6af0e031131040af472d8f33cce26ea1c5ac0c519acc63ea9d81d1d6ca116f6aa16db9d03b470b49fadb30d29e4300413124cbc85dcb13df71dcb882c10ab811b3de2dcac03f6138d2d73fec36d116041befb51acd1454c2c7f95d30def62c240633d437d0f0389d02f5a45ad181dce436981a76c490e5d504a4fb67239f5361e241eb2e866fa03461880c568df59e744a0f0f72fc1024832905054e741574c647993af56767a8203f62351c6790a1e57b5ec4df9db043554ab6b59b4ce578ba769ea54e1fe8cabba0377bad5aef8556af4c1529e0ec7fa7245992a211a069612540cb8d4a87beb0b8b00581f03172ac368b8bf530af7995e88960a03a64d1274bf1f5017cf0b300f2df4605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03966d710a89adf7b6a015edd4ff3f461e93f7b826b601b8794bd3c8bd86de629803629092e2b89cebcad61ecba156444b79b3726c77c32f0b71ec405002c46cdceb0336b01f9737785c07bc22084d86b837321c789c9c81384d99ce7cc49f8cda0de40348f7b9177e4603d757c3282e543570ebe9ab1ecd74304dc3623a031d2c4370de00581f03f00869d1ca9284c4d2993033966a11b1ee910bf807dab72584fdb8c0edb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03b90a41f8d0b43ed65bdf1eb59420d1e150c5574bc3eed0fa02fafcec70490674d31395e126281b00581e03d36725d72dad4dde95e3430b8ab0cbd46e2312bd1885d53815c4b252005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219808000581e0280868cb4982975d12f774bee31b762c88d2b43e6398d4d39913f6ba9445820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02199fc23fe25051cb4f53918eb84f1c729b558b3d201fa4c83ad09b4e805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219102203cd927d793d878bb24a41001ca7f6d46702da572132a0f0cb75833b69c0ea9f59033f13c047c57dbcf2560a484ad0ac183e13ae40b46ea2a8c630fa0e8888d81cd603c5995226f5507302bddb822ccc6b65a84956323d8f64c54da881808d46350f35037d38ebed491037f1d032672f12933da7142ea913f925c8f3ad51ec8dc08a63c703d8e13d0e30461e0bee3de7fe618be438649f593dc5fafbe3902be5f8c758ae3303964f46a2b498f45a084e9cbc70f907210597914a70fc361e1916bee0c6a4c0ce03a1cb06b549766737d50f814eefcbfcb48d56c6dc3148d28849e294a1ef736c0700581f03455bfbcf8276516793ed6be5d76708dfd402f8cde0065e5dd4d88b8e3d405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff034e5df7a9e408e552525cc420457f59a7b124379c2a3972f7081fea6ac200b4b9035307439b5c917fffc411dcd3a180613836a179928f0573cf4e1e1564a3269f710353306507526c34dde7c5f2bbfb93e74a7d3ca1dbb1d1e3bf0b041f5bacd3154b0370345f7282e0c90c2cb2fcadedeb45ea9c3e5d894894cdc1fc5007d3ec2de0c603afc15c1fbcd3602aa8ea4575ca97f8872cbaacb4efd0ef69c32b496c76126cb1032f6f0caffe3c8d549cb778897e5f9dac2ce0862d6e99d39365b10aa785212201038ef2507a18011a8fea87584d0146915eb5c0058691ecb7f2e3dbbad941bfe26e03b54531df7e41d211c63ff4de699234863c9f1a4ecd2f24190c70547ff88c3bd803a3ee53fa6a2a3b9a9f16ec9dee11abe126a054fdc3159f6f5b35cacb3f7a1f4b0372454a921b75258bd020b517c9f1beb7056b4c00b2e75f1aa89ec07ce7beafc60219ffff03ad5274273c56af6dcc4d400279fcbc60b49ffdc67023da27de090201b018485a03f7dc61eed1c43cf4d40508c522479a68d4f1f78c6229a8fe37f0594860b132c403ccaa42e3c07ff21201be0667cd16fae66511dece5bc2305940ef426d2e813eb6032f4a089ba7fff46057edbd5f7b6c0e4c67da96d90fb16ffa6b66b880de48753a0390064b7264772b70fda37367fcc222d28eacba2b795c3880446da864f9e1c4d503ba3962a4b77cf92d0a8113b72f5d1c5ff1c549838209f0f4fc6cb4f35687e22703ac4be221593fe04f3f5fc46952e7c28a7972a0d94d7e7d62a3888e64fc7fb8b403ee6933de2e48f6089fcbd16a2f803dda2256e50b5f9d8c8e22bf60c53a012cd103cddcf9926a83fec12d8f8b85feaccaf850c942c461648ca7898ec9b5a69dfd8d03c82d98781c67242c80abe7b71c682cbe93fa1f4a3f4dc3ae0f4efc9050d2fa190219ffff035b75e225250328ff7c2048fca0aea5272debf6992246571b6acaabed07c66cd203b518c3af68907f2dc09a200a9ccd8ce0722559e41432e0d4525e3b834b63796803a832160e238b508fe3550ec46da75cd79ff2b133b9d80a4e0e979d490d9dfa3a03e9c8dd4cd4fc25a0e471121f17533a665baa0552c400daf03129756ecd8de3d303ed1de96e04f13edc34c7d988eb3a1ee1f4bee7ed66f0266e4227de69e3c3873303d3c835ea5fbe206c362daa40810a5e17561b134b4793ddd798607480d45b64dd03cccb89105ec3adf9fed679fa75c9655cbf779f2ea5c9520e6b59a9441d848bd003f6d9278ba516bc1d72010182d527ddba308734eac4b9b098b4a959c1a0947d86030d9cb2003a0487447f0094571e81d3e864a151f319785f618a3a2913360e5e4f037bdcc79ce6a2ca19f7a9aeced2adc5193e2da04cab8ef3938b84c9137054ec0103c0ce48866d049cb699572d0a9102c54a38f2517210e68c8de89085d5484a5d630367431ddc433269b84c0fcc7eb0301a03823b02825872403607272634da9c27ac0363fc03f28be555b2e7964c8e33ba3ccd1739915f3a0a79d3853fd44db4d6bae3034b965933821806c58b28efa3374c8917a88f1c0166c3a984fa1769cfcad333c10384fd0adc92a0d371db404de3bda517d02b98d4ff6c033dab65f579aa5aa4b33b0331c7ce1251897a0bf35a96f1e579f3ffb2c36a6514678fb7f1a68d6d9b8f64c30366014eb11edd57dcb9cecf674d224af89921befd17df8f4754b8c291679631a503f27fd565ecd8008d906be043af4b80eba30178244143b2cb7b9db0c1ed3d39c1033c52c4a453ea2e18fe82d44ec0abc058bbecd6cd071053589c5c68b8154cb1f60397531b8e95f5332ba0a5bfa10176275cc0122ed1420cb6233e1751539ff0fb1603e3febeab586935daba74204196d956ef83fb908924906fc89efcad41b87de6c703892434ca2dfc9c32a15db54b209a16042041547059dadab8bea1a141766af63d0304b8e9f3030d6713511d39b44da8dd544985210d68fc97b3e4b9012fc18bde6f03cc24a574e3486ff840f71f03417ee3fc74ea2e699c10b69ce83653a2b45061ef030b2a064d2307e9baae92b778c2256c32ed2ae804503bc50077424407216d00450317eea1a3af1ffe8be7dbea7e09cbcbb4454795b9a27061dc102a3a9220ff4a6903ca80b505aa62463c9182cfa3e9f0c28292112664d8fd3ea753896c79f6626d4203ef540ba75184e69b0cc004d495f23b89ee474939fee3f25b105c5b04f7a2127a036b0bd3c41610c77409e80cc45c7aabb146a5bf17499e196c111be0face196a8703c83fe45ca5c6bbfae8e8f08f2dd2764fbc69afa3add4f1982b3e1b746963a21603cc7b26e623070ec97b3e645d4a4e32258bff6b0597b13923dba3450501a1e1ba03a72571c1a7548f7e4d279cb5673acc2ce560f0e49b4474e6fc250813a33df499034a589c1ff7c954c05f7551736df580c4e5c1813679fef8b09e13bc2028e6826b037c522072578d99241a8cc402e952bd4bf4e70dcf7f7a30d8eace2f084eac40e40370b6a8b6bd75d2132947f3e05baeabe14238a4ed553307e98f48e69b8e81a82200581e023c8e0285cf1900e405e4bd465e219a261ce68dfc8bb46bae3a7ec61bb25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a8075e9efe61170e277642bc016106cb05fbbf530bb940c05351b2d9e95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a578f4d3a94fc21add363548ddba1bfc4aac521a19955fa1262d342617471258bb85a3217e021920030340c3eaa78234b5a8d7b6984550b7aef4dcddf380f80fd41bdd8f57c7a34bccb903f066e73a5ab76f356582aeb52015e96dda876e378db9b82a07ee3c11c92585220342599fdb9b56cfcf70c3a0af8e644d8b32935d475f77150d74900ccb8110ba760360f0c7dcecba0b396c909d15e20a0ed2cdf0348bb1a6a37e3d70f33dd5dc8e1b0361d9e735c3026a7766ebf912d3aebee68b957be15a2ca91ef96781cd527d0a320219ffbf033000f03706b526b0c3f59b3f4651b8558b2c0a0f6ebb4acb7833640d39db31b103eb1052d3772a947b78a3cf61697567de9b27c029a358731b15b9c56bc8a00c3f03bf8031e72eb1b46eff8b73b12f0abe8938da2fb0eade70b6899041402da76de803587ff6091503dbb30c7a9fdb87075a7ef9686703ca74b89bb0adcdc8c857bd900219ffff030938fccc9cc4308cbe9ae77108b09e3643ec61e161a4ff22ac2810ec1cd2c69203994e35644fce99f59e5990779afc0dfd9d16bed57f193af78b8c9c1f4878d3ca0311a30c9cc537b679792ef3a4bf097aaf01f03ff214b4abd01e026418d0d458a803d464d8b20b2fd46154f913c3e5779384ba0a52b84b3196281d675b1034af41b403901d7692bd4f0c8ff0617a5c4fb2c0d8475e6721600f7c9050f881e21ff54d3503e940feedf90226dbdf96246e8ab3dbc55ad54a29514ab5b84deede482acd0a740219ffff03c4643a245d11d4c03e425cc0e6c2b2cbbfc0426c0f5c4dc355846fb0404067de03ac67b7c518c08294e76ffb392129e3e4e5ad16ee1c0dc9032e5e635d936bd2f703504a09c52b665b8abe8748d36d70cea70b531648ad8fad4ef70afb4eda68ad290331e0012336107a6f8404b21392b6d450cbfe895777f536e57f2eef446594225703249871aa24da01f45958ccf012b9274b4ac45703a73bc3f3f373a1b673a3537e03f04c8047e53b56506cbff7e2d6054d29682ae7ba722068dfcd7f50b11ad133a10388af840854539c5f325aa68c8e880720263a36288e114f8ef06e44538e6894ec032185ad6dc6ba586eb89ca0b946fd8034b4ae1349813d1fd2bcc33934fa33f2c0039af7a4e8cfe74492ac61504edb82d9167370a8149b687f278549205486dd665a03437b1d974757becaa5f191537fd1d70e15c5437861b0f241a2531896c9b930de03e7f6b10d1913eb58c3cfcd551307c18104e739c6c9410e0a88cb83cfc253f854032605e1a91b8226bbacf08d53d00d12475ae16784eba5d2241c3e405509f2d0e6036af1243d7ec2686c060ac9ba93c37ebe4df68348b651091e8fb6220e8b0420c5039e3e430b3be8283248af9100f97409d1e67d20a338282f5cb6548c4593b1469b03f27115f9ad14addb34614eb21b77c2454002e0128da8fe3c6fdf53531966131f03483673c65641f9059add0214f06934cd89a715a1787b3619aafabb94d0175211036c8e9919ced538c6aa9211c9364dd6cb786bb7e6345f0854cb1e70d478562b0f0394764d000ecbfdf379a71acef9700dac1506a65800d796089c127c80a593e3e103f4630ee1373aa909f7cf1e00a2c92dfc4b15be0e048ea3fe10c007d2ea24a1da0348330ad03764613a5fe6a22ed9e375306f19cb7ddc3b3350d5aefd31f6c2954f03acd5d41a8827457d5a4e4853ea692f0dd8187358aa80d97f944464c53cccdf6403aadf2c6ec41c46510e1146115e02d8ddcae535fb31a0cd5fce1c74d7382da7d00351f8d52ecf429218207d28919605cf3710f11c808cb60fe78cac13ec33676ebb038078749384fe9696d445cef9a754dbcdf977c59b5908e8af4da4355926a3e39d038cce739c1dabe1e8312fa542521e3ef0ef105c59a30e962a28145983b4ef3666038ff2e7f6c6c731207b66335351b47652dacb8e1fc44a2e5f52c364652e9bba96034ce6b8dd6b8c13f3350ba7d9ab602d2ee349c82e9b18246a0c6e97ceb99fbd4603149784d50b52d6d814345e470814d29c9c43723eabe66394aa44def1a9efee3803830fcd22c725bb00a697651801c2014a46c436db47ca692fa4ebc014ddd8704403b8a9602a6deb0637106b91b02b6058ced910ab0a303d62d66d824457fe722ca103ddd5d3008ee9f31120bfb3bee31bf8a6ced18387630ae5fa2850d443a6278a91032d6b27a66b555652c960a482eee40eddd547da419b988a1df21f861bfc25156200581e0259c42dd9117c968add539fbcd92f5055593488b96aa46cb7e9fc7400625820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02267e9dd7905311580c84609495f21cc09229cc4c92619db2c42f651cf45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c2f60ab3dcfe867075f0ccab0f15d6860c64460790ca4415ce3f2b6de6caeae501410f00581e0348f88b825b0448d18f7a33267dae0ad296ec9d16953cfd839853f96fb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0379667c0dd1017ca8db6a315e616525d146794fd821ba4abf98191383c049019d9cf63160e311880219100402190a0d0318abf480ff1a629f3ac438134b743aa69878edf6625d009047352acdad9db9dd036316ce55152f8f49081f39df65f931665e7ff0744a276ccb6acbee0dab391679037104fa38d42372d775a0d2e924ea2f2361abf1cd941736d7d7e8b973224132f20391eb12cac409adac18eebb20b7438df038478f2390723d697319405f9ffbe143038b36a2c6843a6e6a5d28558f109a1bc303679e6066d67684f9347bdaf0adcf0e0305fbc036e368312fe78e8da50baf963526244f44358ad863ce7dc3e23274ae4303adf0f6545431e1af0aa98e0bba9fa1af27ad1b7d218b83c1dde8610fc4936c6903bf5fa6f836fb31326de14a0e6424715a35b6ff96c2d8c1964541af8babc934de033fdba4aae32b8fa71eb0924b32a91ccd1b955fbf8430f7ecccd92fdf6be4e9f103572ccc4078399cc780cf336692e4c34c11337e991780ccd5ec7097e82c95671b037fdc675f23044798446d1943a5990043dd6c90916d86b31de42c30c8b6f10480030dbfa7e544c9c1d4f7c2096282ab6a343f1276a54c603ed0bb17519d4acaa89d03e7090bc87c20ad17a15523b91be8595a3674be3cf2cf562c865654c905e9ad180219ffff038a83726952bd0e5693211fedc0103240325fab8139a54c9e0b79f168a3b635cb0219ffff03d99c3f43a18910d59136d76dccad7cd7fb35412eba8ae2d36fb9fa54a04c7f5d03d81cdf3280de35103c701b7fefd4fc258b923a86daa5906a4e474b78f699c0d50379ffc73233a9ac6eadeeedb7f8e2f2ada424624125b0c6c1b8a925835ef2946b0219ffff03b5ba2163758eca2cdb0f5566eecf38997095667d0abec2055c1b060e72e768370356b027cd3a89f468fbba0e49f9a93bb1d00b7913d58564e5d5309086c2f3b2c60328ca3731120c776ee439cb424adf9c676d503daf1791ccac7ad2efd116f7bdc40339370980655cbc8e36562ea191df8e30cc99e5d5f022de2e4d82ce979cec859c0219ffff0399c93f77564f54e103dd68707670a8808215b450645c433b0c0f39831805093e03f2edce3c71fc1813b4c98f17d5f57bbb4ffa856a67bf09bee9a92be2c7809af5030fd1b09fe323de4d985a90c70fb39a863730e861ac003ab0292537411b595ccf03ef21650f05c4d2c65c02f107d722a3e395a4a720b3ee7964bb3019b709166b3f03d0d94ba4e3dda067ae7a1cac43143e7ecbfa3d9d3a3d7f4131fc0cd072f56baf0302d29ba4c37fbf85dcf8b8204af059435c50b8ef40da7aa158dc516cdb3aa9a10355d35065adcc8d487006df7eac913c805db01ed426326f6153d4579eefcfa93a03af57156dd73f0a6b8700fc58e80c4f7efd2b3ca7dd1b9a467d4c06440d2e809503407dd4844151e9c4d811554c0f9484e4852807e68fd591ae472601d21fb456e70333ac1c364e0c4d8f5d549b1307f47bf2e943a515987a4501e329527eff0b52d6035de5171963b32647b51a85c1edafdc8fab98564c98d2614642e6de472af7050c03575bc79c01754342c2ee3fafcb4e5479f12dded4663d85c5362ff8f69d12dfe60300c0e1a43e4caf8275d844219f86878a01be871cc179c47a3125549e19d605f60397bc88435804167051ade659b790f2af12555aac3c2c909e531b82f6c966d33d033d80270978a19c522e4f10b6e864755f50332db4c20c0f8c0a1bfa69e844097303eaa676f909b636031de524c39292e952d775ae163be392cc2243501b33acc90c03bd0234f35b9236944f38d737632c2fd1ac4b9ec3baf394372f687769b92342e803fb4c2090a31fa4f69ad34ba47fdc77705c22a4277d9b1704ce0c5260dd09ccec033456cb1a6cc3413e8dec0515fff1518a424d50c76f0805322c9cacfa5b2e76b0037411311cdfea8aed94f42343b03d141eaca046ba509eefa40784e64d67ec36d900581e0250131ecbd99fdcc95a2faba9a47072a27edb8514cbd7acfae2852729545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022c388f0be8ae9bd89d140d42504fb424f25a77e4771d994ea40233bd7f41010219082003b9ea51e8054c860f9384d82ce34674fa0e8afca1fd12f1e912380f689949b15803829c8b1db6e94a3f3f4916a7f8e757c541b065e91a38c452fc5a856c982c7efa0142002a00581f03d94f0910fad029731d6c48b8703fc8e7590ddbbcd5ee0a52c5afc742dab05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03751ec30ed13374df0517aac15b0d644f1f06e69f6503f3acc6aa8e18332a42a303d613ef1398a99ba5130d2139e9727db394f0f6bfbd17a23509e7167ce111d72501410000581f03b75f7563f023073f87190a358f5f7c1b0905c0c5ab802437e19af69138c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03312bd3b5df79b92f5f8c7a3d68fa6f4ff0ef7665b7c6e7c39c9f051b735d230c03878052f69d58f22afc224cfcce0579f626f4798ff745f12cfaa8e72247f26f0803d0557dbfc9108c89048928634e1a40d878063a7b61954b4ed71f1456a43aca7b033aa61af004fea5e091e2dd3f1a9f056a9e2104bf694d9a6ab9da23738ef654bc03d7c71f81605697f999b7f64b058b3e26493b16644343d03888f6e436bdf5cddb0384b29476737652f95054f7d0543adc108b64f941cc36470f3dbbfdcdd05f74fc0302ea8cf28350780f150f667794f75d369b1f4f1799556a29001fc2340bc2d3f403fdf41b9d58bc13f65afda54afc52178d3c1fc8d3d2a4c5336db2d291e4862f7a03928d091223b41d43816b12fe30ce5864186f113d9b0ad0b7acda27a8f64e66eb0219ffff0344e737f703996dc51aeda938777128d191972544cd0d4e98e44dcf57723527330382dfb89409c0a452755a22843e0aa1ff099d0a958f045910ebe644a9e24f7ceb03ae20588c3917b76098a28da410b0c70519fbc39dd87dd9a5847e3c35b6ab3a2c030ef9f3a4b70af4fc741b66c1c60c3b7f2fa0e18689c5e5c9763ca3891c2e07ac03f26ea28604689981c9d75dc6dac98a36937753e806c028c66a81a1609486ee28034761c91bcbc2415fa2b3e96d0408ada15bddeedfbcee6f31fe983be4450d98b5035f150bb50cc0844c1211c30fd92e4461800ee52c9d309911395bf250d05dd7da03b93140c7fdf53d2bcddb6944f9dc5c57cde08121968c9bc66b2db3cb2d36b71303793280693e50d0075e9eb4e1be986433afdae18beac0444204cd31234d64ea26031379d63409658543bd88bf0e5f87e9de1fb64011154dba0d9e1c15abf2df7781033326f2c24650cec5236398d1f6732697c94e74b607b720b476b10c2c07fe764603c72819da89ff500b6a293161302e04720d7a3f616a97f9ff5f16107bdc7574300219ffff03dafacf8dc8b28260bef4159409d4d3f470050d29a1852de8ec92eddda1005d58031e86003e560f423c1c0b7036baf17a713a9cbefbc6b315d547442e641163914e033c106dc2ec96d8ff9a6ae2756227e65d22be7a665b42833cd10de34d98e25951039d679406fad9e324a438906ddeb93db46a118695d2c7fbd65b4414a326ecf133034756b815eb1fcec80a249c856835fb950b155f39b94d05e00e5cc175165c9a8a03549b3fb477506669e792ce6a266c5224d2d0142b5cf05eec3f2d7588ad417bd003f1a9a011d78cf321fb5ad3e6b25ab7b386d8f090325c23184d726ea017fc2e90031436d413f8a93550faddbf39e70ba8d8216e3ba23caaa15689167cf3e1a3b7e303d6eb93efafcf80ba3cf037f2219d02fe32fc7c68b8bd15ca41cdcf55d90446c70384535647dd5bc7a200e7f42c0b39f9d2b50d0bc43baccf81bd3b0cba861eac8003da451d1f48a22d2245c596c002655ac03fe50669706bf0582e709690bef168a603ba1732992e80b3f04364748ad895e3bf93487ad6c187faedb0d2d53acfc56bd300581e021f13dab753a98d52b6f0efc820aea689f6e64edde358f20f08838668aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e3cd52bbb2e519f56299284cdb7edcd9289cf8f2837401f431f65688d35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219088003984c963d01115d454da0b784ec6d3eef3566d7621ef3b0c50db94c8de4b7a63703e3f759e1d60b7caedb4babc334391376001a5ce4dcb5f646a0649d45b4a1fbb7032aed648219365010e31be3cc81f0c18f0f9faad7a91a1bd6923b7d4279c1c1090301157292cec91533123477ad53faa4670327d41cde6f0d54ba4a5dc3ca4b85b6036f017511ecfdda54db79a9bf3833516aa77a418b4d3d92b68225c28c930a1a2d03df2767e5bbaf8fad041e2380f1840bfe12a33bf96bd08bc61724b262fb13865c0396603842bbcd59e2a5f64ef383b21412199bb511410b06c2ab3f59859a24eb3b039432929d2e7d8dcd3e87ae309f66f5c9e76a3e2320cd9b5a0ca25221df59248a038219e11165fb775e06eb0189c62f0c41862e18a41396358666bfb6c5110ed66503d395bea2077ee54227e0a2804a0fa6067786788572f1c3610e7664a8269da8d403c5dce25dcd3fbe468c51ae440b5785f9ad479639be12aa15c8e38d484063b510038b8914d2f4c4a00b1fac7d2db9c5c55602d6b977c219827029e12c4424db50710219ffff0315c837aad9be109318e561e58cf46630137cfe0c4e553f25a30a222e34ad1cf8031aaa84febb46f85780ba7f0824c46879a2bb986e993658cd8623bf4727a95248032077088429d43ad8ba4528e85f5ebf327427139399cc17ac0e70a06d5ec4ddbe03e4d6aa0014cf5d2521a8ba5c8780c8f77885cc6b7b98a66f289e2afe3822ca780374708e21b13070875b2e170f266e00edfda33a7e19ba28c31968be4d3731b5ac03c1490fc7c1c19d2f4ec6c5ec571d6d29509c795f212c14e3f455689866614d9903b08f04785e3fdc97f64dd33b144c5bb1da101e22016bc4226a07de7d9905e16a030afdaf08229fdf0d8ef4bc18b8ca216a05e608ebe8af48b64931d677c4da9b8b0219ffff03345f6c12ba47936119d04c8ab8405981ebd1ff174d483d361d256beaf2473ef1039684112cadd30cb11c454600c8ad7bc49b52bce041d8df703ab50646d81da4aa0390a22caf2ba190d899d29ca297ecfa00a82e3ba0e3004b18d0708d5e956438e9031eed2137c7da3f46b6aecd928f0ecdab117961603623bf8cbc38471d025f252003c75cc95689d4b07783fe0f6f4b24f3fe810751b967b0cb2a1d01b83e2cb056e20219ffff03faca1a0cb5749161f3e77a6cff670d8866778f16fa5c537bcf610e91f83d580d033b7d7c435368f4ffe992886e06885796231c81b9bdff7c15c6a0db3a5b014d3903a51691fb7176dfcb80b3faad3fcddf72119f3e26ba23ee77c25fdb1bf97647ff039570ea695365e895c46eea022055adf4492da300a9dd1201390d174d9a36fbbb03b549da57dbbadbe6f616cb5907448830220a91dd08719a674418e00ad4157d200219ffff03f74968acf5adc410a423a067efef075a96422218be4e5993348c5285516aa74f0387e26a237c402f33f09082a8a002be3f521f8a03b294c778f6067a220966de2803f3c1acde12d305f3dce704a7078519dc80a842483862d7b6896b4a0475312da8030fcb1ddfdda80036182e34563fcc67baf64d60627be7b3b989bd0b0c9b17df2903bc27f56c0a9bff1afc0f9cf903cad4377228222aac24958b61d6f08503459222035a9d723c7aa977ed3771e04446ffeea9cba75d8e6eb25556234bfb1ac495643603df9ee9cf478aa42ef5a64d6c7875e0e15d75b9e7062029fe167cbe55d82d1d9e036fec3b9b8e8424b1f5b734a10d70b5c57bf279903ae7d6fa809c9945f7384ad003c91b653943cea118bf5092d04be040cfe251e26ab1e0bb9b4c305ba38eb0303d03f697f21e9094aac0569262b5300ddbb371a24a5d89af7832c030af0e4bb0fa1700581f03b483597f2d40f4174ac3e4b15b78cde8c3e94da2a34173e0343c470984105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0373f9e7ce8f604e3cfd98b6450327c48fc4e21e0723fe24cb36f307bfe1d6f7c403e9ce92ccebae7e91013a85b5f9e5d9c214b8b10458e506b444763e41888079d3034abc70ae670a98f36b74e3270a7d835d2062a8c808475c9556f6d587af86519d03ea39af5155a5e6756def4154244450d0b92db15ce575eb8a374e0c64d03d9e6203e0fb998c3862acdc676f1b2894ead0ac1c3806268a0223751c26aa528fbf7eff03fb064efb26704ced45acb9b159b4458e24be3cb6cac1834724379638984eb7ba03798160a5346fef9a5a70373c7f67f81224e0471e9b86ed337d38ede03bc6dd0f03a8a267999fcb620a60c89fc18cb70c8703e0ce206065f37dcc94e99d44d71f810301e7e998d5939a8fe9f5f8644c02f2eee9415425c235e6e728f5de9547f8a59803c9b439581e3b935151e52468e3b9ddacad2b60584a796f749d401d212e02db1f038af149b46eb9805692c18e54d9aa6e87015a03379591e5aae5057a032ee1d0a400581e02988ed9ca2b0ba1f0c0d9f294b947e56f4ee65613fa7c968917f01d51c448019e2e804b251b3a00581e026cc869e4f53917c40b9bc6711be7923f6b86e5538f1a6ac40f8b0e28a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028ea50b7964fc041a4159fa03658732c3b4a06d3b2aeeda165050c706655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027fdcb022663e6d53afdf68bd240003858b005e91f66ee2f55dcf609a9948016a981d7bc243c100581e02cfda133e13b02bd74fbdd9dfde0c7f9494d88c6ab54613416b0ecaa9925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190a700219ffff0364024deb7fcf79524e3867e88534fcfafee8c3a0c6d245febce085e6f018d07403cbb9bebe17bf2bb210e3fe1360f64d3825bd0ae32da67cd2e2f25fde117eb59d03216c9682a8c32e49492733a0583eba8d41e26124fb0f8dfc010a4dc358a41e22034438ac0bf2b402aea951b495fa5f170d714d5b89f912521949bc558cfa2a949203afffc1663d121e0c48748ce5426f713038a30e7a4d0d4f1eba26a30fb9f081b70370cb33a28701c42e0c7cda0e273972e133b5752d990fe71a633b11684de10e9d0308adf07fed7679ffbac36abf215e4afa0b31f36c09d3690abb623855020190de0328d93c69619069cd1dbb322d399fb4c65874e913d78034336e73302d9fc0937003849112955f5b6fb9c1dd086365b9f7a94b27f0cde5e335e1c091b10061c919af03ac155f63bf94bf98e48de5c53f924fa84022b6ccc0b202cc3f275f7071a87c5303e330f9aeefa16060e85404ae956a489510a1cd338fcd2b4433575e75edb6948e039e137da2b612aef0cedfa49fe962befaef217d220b447ce51f833a19cf06665803fad4b91c376489a6f021117953b765df91b966041566b0a2df42aab63ec08616039ba0e331977226f7be857395cacc68ad463833c668be23ab5efd22c8a55c8f830219ffff031a5e93ce39632eec9c8f01c061a9e8409966960becf24c449aefbd6543d5acd8035bdcd1a1799453ec562a557d5667da4e576dcc2f9a180516f9cbc10438bc30fe039f2be8e91907bd3c1634abf80efaa78763bcf95a17c06950f44f002638b6d2b703ea06cbdb484ba825f1ceb0fb7f67a9147956e483253d2b8923bb55f1a0fdf9460364a5c99bac63bac4888b42de5fc00f725a3f29bf0c5268ac88faba5bcbc84ac903123670c4a942b73d39bf05798121b659bf61589441333fadb7efb3a1463d54800314268bf5310a1d07d815b7afdb933d495ff48721966fcef80cc67730a58778ea0374b7e8a433754649a3b5461261f1f670afa937c176e3bb8f6e9c5d103236f82f0324b3cb41a3462f9703491183b5c8980b8d78775e04e1a91cb3faaa00ce6f0958032f5bbfc871bdcbaa69baab2e2a2b4e9fc394a35b86075d4ea296116adb0993ec03213993cd4498b3e4154a06b62a9f2ea9613a949b185e884fc83ad9bd4a8fe0030354445f81c9ce9586ec18e28021cee14f50f9fb9e3dea260b8ffe6d9713593b0903efef6ff4106bb11d571f3c9eb3213417ff4aa2ff34406415145a3901c08af7f90319fba7041936f9a06412ab872af9d260209c7a1b8a748a0dfebf68c9faa62962039a5bf7b4a1f18bff4c79c547680318104b3971990667491fa1c4325e57b109770219ffff034c816767b58ad97b4891d49ab8a279912d080f94c34ff3820f3fc47ae5dd83130338631b7bf3446f2109b2fa2009e88154a1313dfbb5641fa0b0868b183bdff8940376146df464c3bf4b7a037be616271c3b9fdc0a6cb79b1a039c203824f2ed19df03e23e99743fb59d8fa8753f0c3f44c42d1fc8fce4bb8007ebffdf4b0023d973d00369e5a43430a94a8aee3ba3bb658e8926f59bc493eef3ecc84ba7393ea8ec1a8c031754e16ca00f0485233a68be56153f0f9cc7db9d611aa568e7c7f9d5bacc292403b365c900fb31a0912cfb6e41cfa90dac41967cece5e67dec8e2957ce5e2fcb7003d814d8962684a2d2845ecd45909b6ce4947ede7624e8e07511be6cb4465a2ffe038ff9df4ba10864adefe99679d83c70cc20e04cc66cc54e05bab855362f4fed6c035ad48f053eca81b9d201756b1ed5c53845597da119029f0c67f94ca7ff2192e9030119e90e6666a3a5fa6196d496f4cf28d9545c6b8b2fa1f81065fd64b92662b40328c9869a69a39f2b28bcde15e0241e2e7b6c28396270f2a1c6d26e961c22d9c4035c38414a77bdeb303172ba2d62c50a351857b6d7d2d0c48368404b2d0df482e00351946aa76ded6aed0141de36e1cf6201a21c0c0d076a4afa7667099e40a668250324393149270ca6c3d47e26d5506deea90f224964ef805a5335eb64e9b9d13125037494bebe86d7f2aa17f9743e6465265e32281b95b3ac23e6eff5f339345d68170311fcfec084324bae837f7e8460ee50de09149659c7f3eddb2a302925633964a2033e1b65d0ba24cc43a7e0453e97908ec7a4b67894d96073b8cbf74ad825cc3d2103bd08b42377717b996aca4015d4f37663977705ba76db513a668ba3fcb6b768bf03d820912dc43721e2fdc5cf7a761ec024617fdc27fe975af044942e70f639c1b3038ceae36f4706f1d0729b7665b4726cd12855d42cbb1b63e843957088b2657571037f557876b2773d4ffd9e43304a45bdb5ca1f3e7a5ef1bbb2a86fab0ce75b73aa014101032f3baa5579008e91fc9f67320a6db2fc1512046fe531af9b1338567a35b87696039a6c8df2f1ae4b5a955d0a10b6a6f39e30596f5f408eef6c151d49db29e94d660329c34162278a586df5d62fa55597fead79f26c948cc69e1b99d23648ef985d2d03cf18fdf366f0d3dafd62698ba06a92352f5d7e47979f26332d95048d52bf07e00353a252bec713c316f59c74e7113b039b9d2a738d3e86b5e0be84d29027532eb000581e02e7e2a2315beff55ebfc7c7b60c281ee8923a98e60544d9e0699d839aef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c8f4bbcc11d616135803395906bf0ca1394139c8fa0fb61e200b9bd1a55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02884b3fccd9cf7dc66004d4f19df170cca4a007ca6a6fe73b7f3c2aace35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e0b76c687d12fc62caf3a370855770a25de5be7b75882d8694c507e8985820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c210030063a58c6bd5f1008dc2720f6b15eb2d5c67c2069d5f1efd571bb5b3808233a903a41ab6a62c2adec06ba22a33d513f71bfb29406c7525c3403da4ea0dcfbfbb0000581f030aaf04014e9dded9505ec5d90a84c6ee1ac8eed675b2f29e91b057d86a405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ad8372b4818513868390cb379bfae9629629d822c471b37b5c669b98ba27cb8603730645554c1e89b16fecc04bcf21fa49d1483acc5fbc40057e9f87544a4204fd037872199a5b8c508d59be267e6b8925154df491623857fdb0f06c3aa10d975919035108f16c0e3b3efb7292da2a46f36e77e6c094f1d2cb035851f0147df7225274032fa551164f3509d24f10e69e8c66faf8c3ee0e393176534a51e0093454ccb7420219ffff037fca58cec5792999e4241f9b20f495d2eb77e3e9f4b6a22f31756e5c8c85ff4e03601de20044dd5fede8a5c07a5419f1be489128f40b375bb16937aad37868c654034bf828c3fc724ce4222c38ea30c3e09af4fafa6bc52841745125c7b062d9df03038c226614a538c9341dc70f071e5b1ba8f21a3028bb07b405db875217ff0450b303ead26b414af5ec109faec8f8e00b6073552ce1133312f6c0ea2c57d73c20fb06035635199a025dbff07ace7693b312f1fe07dad3df2d104ae00a1bcdc36adce1100219ffff037890e40ed20f93c025763fafd25177c123f2402284699b80882dfd949165a3ee03e15a508840dd9f9899ee855108eb59545b3be8ca603160caba8a7732306bd98e03fcd418c6ea59b8a44918d7adc8c1f9bb7e470801bd1733a89ac26d52e9c565b0032cc0cf12403fdbf12d4dacc9e27d28927341dd5bebf46166179857a140b934440219ffff03939ac00cf02c536803e36efc0a37e98600878361fef77580d8695c9026570f6303972015385be14ff400bcfa4bf1a97c999bc375e317571939d04d1be6f550c90403fb55d9854ad4b52366822d259f35edf5f143bf9219968f52854dd6095117036f0331e47bdbc3723be63c2e97403505b0fb734f8cebbb76edb381d59f1e5103d75b036dca4da5a35ecff4fc12ba458d8f2ee82c313c7b14295a44c9fd0305ec9525cc036e182b66381e24d8ec353b7a563c54ab3bb4a6c67e3cfb5173dc79b6cfaaa0e20332363f5a16b871a9e816cda6bdd85a2ce8fa9a12cb81075769974f99d7a19a8c03832328b79720d4a247f46e446e97064042c0cd4a5ec4a9293c8a23b4df4e864e0219ffff03413c8025751368f1ce4d35c5ee7928dd154e9ffea0ff880c898b02aff0b4b02803985fbce0bec47959c12462c84a34ba9cce56ce1f1ccc47ed9ae80c36fa6f7f4c03dc16a8bff96875ce1c12a8ccd8637dcea44e7d12c6bb1ca09da6e95822421dcf0300f0b231f0db58abc7ab1f7fdc23d077361f8b9963d42bd7a670b29e028d568f0344dfd677d6b5fcbffa4bfd65506752a5f8a6671f5df59e2f74e38fc80ca87b6b03402b8120ebe620e3c08d137bbb7ffa3cbba08e9b44444ec6381e8f7f29ad755c0390170b221716dbbbef05416374dd4de824b2455be2b6f8810f471f4081241c050363f9806b56153876311c78f7912be991814a354d0ceb37d0aa6bd8e285fce7a603936662d2df7f424b0f19e53e0bde5a762fab26bbf7ff8a679abd94b56ed0d97b031841c8af80676b30ad35e294195c820dd12cf504b409be1da2e9cb1dbdb9c6b40348b183485c91d7c301d768fd833e2be39443f556e9050cc4342012212931b5830305c215e468ebb8460d07795871dfd626eb661b6219388bdced4fa48d72c5ad6403afc39df962b41e0cc1b292a26857cd15044a8e242b5322f539b9ddf82fdf38d6034bce337bf97a04dcb0f015275e3a4d8511d6c18f11a2f69bb62b2f9aa04f55cb0335ad382e1508a12b43feadc47ad5514da0bc1acb5a998e7f9b27c508b0de984e031f8c6bc79dd34049047aeb67fa3e664c0e51c752a0d36025722aede21e5ac86303e0d4dc333d4ffea0224bc146974cebefd76edbe6ac28c2cff2e6367b936780d103240529d170cff5d9d4c54fe762757d24d0cb8aee37f756e31b7865f8ffd59588035b6f1e49eac2a2e0f25a23ceed3427eedd124ad8117e2a0508aef9b7138515f103b52155e3c1ea78517da7f0d3844e824db72df6e5a01e1d2518ff6a02845d556603d8e4d3a5923f9dbadffd6581cb8a208a2fd1973ab53168de383b981ece171cac03172d0eda34b35f60a6d5395fea8760c024d2ae393f58cb782f67aa2d05bd4cb003eacd63a6371761d5d577dd127dbc5bdfd6c09736c89f547642db761084ff6813034f7116037000ea9230be83925d5edb323c31b48868f9679d80c98bf6092a81d30325b2e09a8e19e138ae9666bc1365b3947cb8f43242eb65dfda1c97f47ca4a128033330cc1dff7e05f7b6ee23c730968fd49674c20d3982e99ad6be3f62c4fe1b0b034e77ce884ffc656c434d2299effd3e211499df5c963d9121c4dcab6a153285b900581e020b1755f3810eea0ab86fb07ec9cdb847e45e49803dc72c82a7d66f3afc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0342d061d07c0396c02cab4f74cd41f448c48c43434582c32fa002b229b105692400581e02ee713f4e03e4a0d7f2a90ae4834f72106e1e65e42f3b2ec4f517d6b367470e35fa931a006400581e0238d98e4c3b9cbcc40eef1ee76986b6877984a0e7b6956830dd2f3455af4670e5a2531ac000581e027ebfd882c0b8a8b5c05eef33dfd0345ca219820a3cd0af31450dc691f15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0238a5bda3c70246f0914c50983e21f20a805be98e6276310dee8b8495c14b4a817c7f2a2bf142ec876b0219160b03c8e521e04254386e003f7bbd99556ba574c609b0e200d359604b0cff7866af3103237f5a097edad31f1d89d2cbaafbf83169f6eeb404e7905b712930d926270bf8032b6efbd21bbd7b9cc9e7855c56b8aec7333be9c8f527d38808049147af77e63e03b1be52a3f98f38c0ea1f8108cb4b14f19a6a0c7b47763efcc4f97fa65b1fa23c0219ffff033ba4e6e278c07d46a366d3894470227109d259a367570b2a4ea9ae00a8c7d275034ae7a0d36232ca4c49ad5c5347d77e3dce3253e88c869f326e3037a640a73ccf036d477368d6af92d7dfb2ed6cc1e797e880f516c504f6bf9e44ae511a0d4f27f803edfb295bc99e3bc988f54b1a918830d72e79737d2cd9e4e4b63c85b8d39a28b803333f68230f408f7c9fa37c1df434a23c29913e77202b98a74f8dc1dc8a24619f03ce40f4da09f1f86e6158e3882f654c193e54fbd4723fdfb3129a84a55c3ddb2403a6a947e69bb0c5223d2030bb24dd6f25f2c0f7f3f8304cd8a5540fb2609a74a80384ee861544214675a5ff83c580e5b1c91d38b38af823c6e372d3ce603a56f2d603732422dc2e034148cf9be0d9004e836eb49ecaff71a088d05fb5ec7114e15e8303306a0ee866b3d0dd4453a1ea45facdfe15d1d090e5e5870bb4a881e0cee667330219ffff0371e3cc618337bb7674325c5d890b5622aced80d49aaa2b82be18b6bb0de417e50392cba9b1b79d55aab38726e05993c252d3808dab15334540f706e05192d0a9c703912c1b325cb04e260ab82d538780a42404d4827b75330651a840065ccb95618403c08d702ae0ea5b7a42aefd03254299dc8a1da4c25e9eaffca26cbad244b30ccd0219ffff035e6411670131dc97eda37c84a6ea2dc259e6e815bc19996f2681e69d0402c5dd0362cd644e03634685ae9305062d2234f1be688744819e5040f5d547f6c58ac56003fc7731493d3462252126b1dd0094e1d567bf5682cac2907c460afbfe7b819de503ccbdf2b2af23bea6a07deab2a1dc6b5fa8755360874d8bcfb0a187bf666900cf03af88085ea73eac20af44ab5f80f9528a177084c68c1babe39e3b37a36e3a25d603eddf0565cb6d6105a393f72b1ecc48dad014b660ab0b65c0643bc7475136772503a99cefd0f253cf20f90e03c7c64c61cc0421c2c820817b3b07444a85c5ae258003d10afa09819fe76c6a3b2dd6cae4e59b3e29157c915a7ef780d361fd028b4dc3032c120c7afad82312241678c8ccfc8872e21d4d5778865a7add2227e246065e65032d10f964ca58ba3fd583d76cbfe10f4aee0f61d94f37f1c59acc1dfb69986b66039519dcb488d67177a65300761a354cf84efda6fd7e0e13f6f81da10cfe6b96a603db92ea6757b4a452a9ed8a2f637a82f765ba4ed3d2edce5d7a2798658215b6800376434efc5e60b8c7442b57aa57a52369baa2efee4b8a9b8f9cce8dfd8dc9801b03e6b510c0d54e5132d06621341703f7c7abff58534856f86988717f91de4c5fb20311ca02e41ef31eecbc3f087d4d9189e1d826f033b46b5481493fd0fc0ed2f22c030f64dbe57fe75370f9f7f46aa75090816d04c0ce11c2864482e1a9530159e62a038bd658ff1dbee89bc42804e3a3d00f76c1b31ea6780a42742055c6dbffd9eb1703652dfbbff8c8b9e11515aae3878b7f98b0a63194a033b993996cfdc7ec4b8c460376286ddbc0cb868e93415ad10dba6d11c5703d143991fa430f1f4a2def8a44870319ae3e1885ee0c0b0e755807b2248d6dfc761dad8c4a395d7aff35bd166085be00581e026d7958c8b3d0d1511c16035271b78db76592cdd4ed8b6ed7320a6191d6478dc0d6ae89c00000581e023380e91a59fa05bb0969d5551802b73872e459eed2f286d512d33437865820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d646e091fe3fea8180ebbe89bd9524a634df55c06ec71c7f21784e59bc422ac800581e02dfdf2da1a527d5821495c6daccbdfa3644b4099bcff0d92c8a3e2906dd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b34d2fa2bb67bed98b5a623f11cc4030da563f6ffdb1886e90f2eafb86490202079114c42a9aaf00581e02282a9cc3585647aa233998525592459c677275bf32cb383b06f5b8a0be5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219056603686ccdedd7641540a5276d1885a652e09532563a0cf103f4721a8eac248e6e110331c5f6a3c6b29f953c39ec5e1ab5fd47f5ef0ed429811af954f6d4e9ea585e060302ef363ee8b1a5540333230847220ce691588f464567d7fb0a7f27a62bd726f103f9064e3be2709b00348d69826290249c9b16877330a96ffb37849dfe7fbbbee6037af9e45a13a93d93d4286898ee005a1d6ca9566edc284bdf8d1bbd659cd6306903e50e1d73f73f1e5503b7a2a98d3833b63b62dd12756bbc5161f1cd5df4b67821035aa00cc9a268b8a870a4a3f578cb82d01a4de422758dd1ca8a56c18caec7d07903991a621797e0f166fbc3843e1a143dc05e8563f79301204a3a68e14be874240203b54b3ababfded533a73a232650e5ff1fffad26b22b5fce79afb362411c81204603bced4150858f39cf9928de9a0d381e21079164b0ab21d6358c058744cbf39b3500581f0358d865d3b59f7f7fc1f0b5c704d450228a241133c8a75ef18649eefecc805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f785ad750ccf9b2eba7f0c946cfacff3c25fdf002908008dfeab10ba54f27a2600581f03621f291991086882b0bbba86219ca7272d156f25fdf87627d16b5ce830105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff03df3bf083694c39d3c7901c8a7171d78a61f70d5a3dc4b42509332551919e0886037a4d9709332a5e0bf8fc894f5b202b2302b7108de1739e5cb609058e56e25c150219ffff0353bdab20599bc2b619e9f0be73df73a7bc71c7a5f894390aad5cad8b78dba614030cd51a282d67edff244edb0ca1329f40f4de1ca745d3f3574245cbc0b5d5022c03e301b330afa596ce2ee0cb1a35ba0400a2cecfb3ef7c851cccef2bd0c6bef41f03a320331586c37c1b836ba28a56eacb3cf6f9b09fe0afdcb553a55213649e7e5a0349a05e5de16131c1f03830eb3a41b7e0c5e93283c8925bb7fd0b02b60d964c5c0394673030f3f5627c7e51b4a7b1a55509f71acf2711d027dcbb97cb84a4460da50363eef4c7780e4d734a240e941fa40004620b257c8ad5d54a88a26684c5aec8ab038ba72b9c4396ad8c495260ff5ff55fdcdb1d0c11c1c1fce425a71a8b7ee24f41035a24c2a5da3073ab16a9c466fcadfd3f9b357e2fdd7e5c970e219c6a102726e303a28259062ff2e7e1caed3556359b131ed93b85884088d3d2c11a953dea5b61070301b2d2b25af2c0933d0580004a9db431c6f4c9e6e6a1dfc5666ac5f9218182d10219ffff03e51a2169565689c5a58f67af1b4f64d5b350bfa0b158f33c63599aa4a92d2417032cbdca630ba025a6c9639f621f8eb8637a1139a074931adb3e135fd377d9ce1b03cb46bc9b1ba5060ff3bd03fe99c1a545ff2a242d436bce3edc0ab64856bc2e9003b568891df10bc34caa26901a4f923263f276db33e559aebab741d5ac17574804030c69a1d686f865febb9367c86b3027a57e7299b71419bd5943959ac6e52b8e7503a8d0c24b009b8dc41dc395f9f38e81f50b308ef00efef2e4c62a615710f6dc100324ef2e55960a835f608a59e0cd17c07af15cec3fe7200c0043274711632acd0703ad6bf67a27ca119e6c85d15a52988523db67baa02a7ca5c26ba60575d6ce80db03223a1767ca916af5fe7e5085457029408942ceb4668ea52a5b891100abef7e72033b07d91ba3c4c18f91ff6b6da203bc1f6ea73f78c0369493e6178e6f78c840c703416a4aa72bbf38b81cb2692bd5b1f918cd06b7bb87962554844f8e78216b2ba803bd0d1ddcf2aad0f5debe1971ff6fee5b16389849c7925d5d9dd021b70bf292fa0355fe3d5dcb04eef437c062b55f58b5a2265909c272189e75d2ae8a91c0f8bc7603fcfe95d175d5d779d36aa2b75ebd6ec96716c248d6bc5556ec3a0ef8df6948dd037e637ce049f47875eceb0716bc13883370690a4064aa45fc99d9c191ade2178403e260b9d5684d6233620b09b15856ebe24b6ca5bcf161fa139d5dba1ad5977b24030dd2d6af388b054208e3c5c13f9af360f4dd0cdad6d0a047bac5f9418627093b03d57934ad9aa7d7e1bb7bbef81a4127c51e19a02ad6fd0e1e1f1237ba1e7f4e3903756e3a3cfa1033b49a87086c92b6462213d87a2ea48a2472b8254d07aad1bc4003509bbaf415649dc196e49d2506285279d79339b37c043d41d84075173cd0fb510383e6985a9ec5d6ce18d410e35e013061dcd58652b34d006b98a69a70c7bacd3c03a0dd457dca3171d32bf573aa86f90b96693b04eb33077de653add4a7c3eceb3503152bd178cd5daefa16afa2224df88f6498a4c8cf66f22e53e6e57472bf530b4703903d6ed321d5f534cffeb7362b6f9456e00028d5d52c7642a0bcaaf2f4cca48903f139b2e1615a7e9b4cc7a0f26c6f8e5e327db8899e7acfc6961fa637c396517b03ea5b9d8a2049a57b705edf0b4f40338949bf02abf98aed2a739736f60e8ca3970392dbc4522b043765dac375009198c57efbd8108668721d3470c3aeb172095a8300581f03e9702e10f806d0e136c4b30fa94aeb22e946eead109522c63aa2abb42e604787394f8408494203b5b15d163567704d8307599673cf356f8c37daeab092e1d6665b1291f6d19ebc03817f1c40f0f72cf09a1f8e2a14fb83a2d66d398783e8b6bc999e0cf716309ddf03bc6281edafcaca972da135901499f9bf61ebc37b506ad3d606b4656ae443350903eddee0328fc41f35ab0abff16df083529377516110ff4dcfbd50908209924b4800581e020c95ca0676535c0c56abe9e9d593ad6d6025d6f61e327d31fdf21648115820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0294e3e3f971518b172f4fa17b9a5bc5a0764384ae3958c766edd55856b24801984a3d176eee7c00581e02855e08332617f6d595cfebbf4b455e3738e1b63dc81b76b0d4f29b94b35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e037a0a95f64d45865c10cbcafe731edb222e0ff787e4ee24f8d2eb9b10c04914d03a42984f6b741f00581e03bb4bd7888f62b4805e0aed9321844760e8867fc46d6b23e1fa76919ef0460eb5dfb506f70219420000581e02a48965bde9d95899eee81989f515020fbbd7114202b25b995816c8ef315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021906150389c74a9c80f2f14f13ad4e568de493dd0a65cafcc973dc62c84048da952663f80219fdff0359c1f3d0904ff821168cc3b7a1b51d7cee035d26cd4fce6b3ff4dca0701a58cb03487f76231cb85cde6fc8b83e89cf3c1f1a1f228873121783f0b08c506ebcdb410369192b882937fc6ae238294e9219240ac9388d4ca25eed40aa644632de21961603a0baf1de0fcb9587ae3c7bd9a9e362c87be762dcef31dca0a368f6ba883f61d2038dc0162f02084350f6d32d91ed40cba43c37e26e468f9110e6380cfdce1c0a79035f3ad558df16abc39e945ede5d970bf3d4d1c6f3571c1f7dfcb3b016c5b0e36d0219ffff03370b41d080da7157b9912be7e686a3819379d080fe715752d1ac80292dbc524a038186c792115d8e391b005ac3e3074598eeeea7af862f9ebad8df169ce224b5960363ca894839d59001db4ee10cc84c71ffef5820465ecad05286fa01451bae0aab03c48a43a059709a6807ff3afe00abf356f2465e9481ae52b58aad489fd5fc975f030706a03601ab307519d7c26124a1f2ad59b2236f7dba245e1d0cb02f12ad4d9f03091abd1ff04754ab632123baf8b064a08b219430a06386a1b370006cc624c3be033acd633641cc2146f15343718b176b44365406b83ff3b00ee70a886f78e5dceb035d978e628b59e96aa98becba4cdc3bfe107680f36b642e140482d43fcd5ad28203ec3329c225c7cb5e480469b73f7bb7bb68fa8ae574529a2482505c26e2be013e03fab46bd6038dc7990594dd3a6aea5b90116fbe11e9a9402d6735a1b713d1cf3803c4913b98f0a2dd46576f62ad6239e61f0e6d71cef12a9bf6a1a8d207151d168f03abfd1f6af515e13084a1301c2294f607af30af9677257b9edee320f7dc3fe53403fff6e9926b4ebcdbcf116045dbb4f86250c39c887498b63ec3076f98a5e8a97a038834c9ef9a9904707153666259dbdf285fe266ea92d8bb4b4362e8a34555c223035d4e6784bd782ab77ddfe4e0835018f4d63792362a4279ba4c7a3e2152e3af0200581e02b2dd185e9e50e890e0355f5e1dbd00bea85ed02ab2d8304b013c013e77486f6db6bc8619989900581e02829ae5435fe94208ca29aecf6325094d7b9e8cb91f8daa355965b52ab55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219041000581f03b28531a29ce225e50c51b784dcf741be87049c1f274bf62dceb5d0b40bf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ff4db206419aa44593048df0ffdb25b7f55a73274174769dec88fd1ba00d399c032726a4213dc141ac02469e0d47c595dd59632404d042bf4257990394d552d0d003a6e18714ce83123a2bc1eea057ebbc88a8a3346467fed20092a256d781b5230d03c189f55a96ae43c8bae1e4f9da5ef9911194d6d6024426de1aa111c7247c00800315a5aa7d9004054e46606a11cc5fe56cc78009e7c447e985da88c4453305c62303ad83b1a51a3ff523d3b9e95659f4dd4cd783768e8b08cc9010f040e5787183a80388df4561e2ba0e0d274d5be28a8ed621fe2db2b2d8c37817adc2f133f538c70f03afcc393fb62507f2f3c2a5dd69e58ca233cdb00bfac7ac0861096ade6aebadc7034d9c5e80b5afa45d43c639daa5526dd909a6828e2996aa76fdc5433aae5cc8ad037dab9a8de6d6fd722c19f02790bf1a9613893778f58ee126bf7fc1974683ef6f03193ec3c18f52bdad724ae3715492d748e75175f44c92ab5cd7704d3aa0968b6103ae164ca1504fdc570237ed3713fd9f84e1d097c53200aeff8c4e10349569f32e0219ffff03a1d0228b3a5022b4dae78f4d38e6ba24caa7305925084532e30052844c25212703efc93ec5817043f0f9e74f98bfa112ed21a1870202cdeb71d13d26f4acd20d45033d01182bc2c4ece2629f6daa308bee538fb61f762c5fb64e5f94e2a1d9c967a503e6ee60b94d21e7525432a33aba220e4a33c1b8a4e7b6187cf399377de6f0f6ef03f0098123e9d370388977323b00af22e110b5bfe8c1a59d2b4216a98c085877b003d0eb83c12dbaec26078c686aed52e87efbb8b7617ad7957b8fea02c3236a6cc703f3e1b5fa95b980add2c687ac4ab731e81d0623871188f5bca1fa577e7d1a6b9a0219ffff030d0e653b0b92a868100779f983b3fcd1e7ca4bf8e97fb38078a3a80cc206c9c90398579201291b623a1347e20ce1627ddcf89ffbc10966ccaf3fb7dab4f4c751b0038e3d8d39e52a08816a0e0c730cdfa020eccba29df03c1389a4253122ebc98db20391f7fc0b41d705d4545dee15c3f0d96c79a533c66369c8808dfcb512e8f98b3b03ebdddf2ca0b604a2eec5da80b4136b7f30335030d8ea58dc1acefa5c17cf6e650219ffff0378ecc6c8317fa046d2610c294fc697e336ca1a15d9cb38f68666fcd2be87611a0364cfc238c801dd711333119fcff88c7260f63c988a1eec3dc2ded43ff7fc7327038166765209d2c61adb796049376dcd0081dbd51392cba95ed12aa5579d6bee8103ebeecd438d80ab00cd952b7d8f5b22424ac9aca1c617b748de40518fef9f98fc03aca5ee096d56054c3496b1b2728f6adaaae9d1c7c0aa73af13e1929caefde72103ce1d86253c33335038fa669933cfdeaab20f9d8684cb0dc549ab3129d3258f4003e1d2c971c0dda9ac8bca71e1b0b7970897b19e28432b32ec0ad112485a67a95403837366c1406c0603981b388d8c31b33cb79dec4287f6ef9ef7b47d5569473c94033253a18091d6edf340cf33dc671d5262cd28ed972c3bec6974f28142bbfa273b034229b6ca2dcca9c5c209dc25f98a7b84980bab0ae6d123366203c8d3c9df193a0336f942c377e84828a84fc57c47a5f37e5abd5374bbafe15fc5aa16461668b0c703aeeb048efed26bd7229927ce36e3d01768d8fa71cc141f62608e9d4ca4f08718036af7b1431469155e4d53c7baf19200bfcb9629b493fc1fd32ac388b90a2ff9d70313b3960f30a6ad8614526926696c8db0d9cc9b88d984418aa16e65c1ea06f354036e7e310ac8d91ec9b3901ce36affaf851414842c0a84a28a49c1d80db57ff8d603d9568c70335c949f8ab927e5efe9514a40580faa9d5c73a5ccfa101c69191be403e7029f40615985bdeebafefb563a9dba18dd4167f88dd50ec34de1a82cd47a69037290867fe7b31516bd2a3b7c99b8119172ca172b48e8a86d6c59b748000f43de00581e02b0feac9794c696b2365f28752f02ed03bb204ea816eee24870539b52bc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025a6bd190e7ed676c4ed55a3eaeb8d53a7db27099e540976d9425ae48e74903b0adb2f82f2378680378da6a2bf7667cf95b7da919a35a9b6a51e78df7ef6625e16fb45e63ff3678eb00581e02f852eaeb51d7490601cfa14cf0ce9a31462f177818ba9919adc768e7f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d317b23c8dba3fc75e6a94984759c381fde5b14697ae04be7c4cd7c2365820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021924290356a26395a138536187558568e3b03eb7c57d2c966468b068318ce19a30b4761c034591ea3f38b1d05371aac86b458f9cb53b7cfc17f644acbab576bc24864c11b6032a0e736701d944741a8710596983c36373f4110c9a17cfe13ce72e55c3f6ed1500581f036bef4b00f336b70ba58d87788afd9622604e3e6a94efcab98c9a153760c047028c8ffca05800031345b9b6b35901c01041be57af90204d5da7c957045708938b9a5002b1e6515d03053c114bfdfe84ad4f784128575bbaebfbf3f392d1dcdba26f8649590db3203c03f89829e5bbd05d85a3f62b9d2419c238677c8a23aba133f91cc79f9961167bba0381173b0bf6e3250f1a4e7d29d1911fd8e64ddd9849ac0500f9f2b06cbe6b5da7034e592e3bacd1430fbf881da1374a77b5d9c2778fbe04180ab2dee10a94cf430403af9d9f36cc3fe638fe1c7df1fc81483c3ec9fb8f1097ac1b9e332d626faf0a45032dabfb2c3de3e684aafb8d080f053d2939f982f7725f22988b16ce0010f66cba03a9ffe86e49d8feb7686f2a2d0152e267a4cdfc4a5d990406761a36fff20a57430219ffff03864c6f23203db3f0561b9a32570cc9776a170cf3aea7e05c25857101b33af7960219ffff03f4389558ef4fc200b5292e125e8cf97924c9ba710da4bc48812042f858f454fa033fa9c38f50e224e98acb4dbb85d3ee50dca65a162249a102d1e392bcf627cac203c726c512856b543e2766a7d9bb71303840dcbb85ea5c4626e48a5c0cabd58206037d9ae0e4d8d7cf1af65571f8e60fdfab4383d099f1c9103ead999fe107599faf0312e260ad19b4afd7c7295a15bb1b1a2fea55dcd116b1e9c0172939f7e951c9a8033333193823bd603de8858d7b5680c7456c040f6680a77ed86334f0f82f7bd3a30308fe3fedae5333e7a2568ab7324d251d0cd0d4ba3794c38ee26221e172fe977b03413f95a901fe47d56790b529c00ea3022c7fe5c9dd1a8cd7e30fb20bf624de38038dbf43755df98d0608767e1871ef52726d4873b39a0dea485aaa4fe2a49718d2037b30c22f110304902e44ef7ae504cc668930a07eaa674e45f605abd30b1da70e0354fad3cef9bd4cc16414c5f810a7f287fbf65c7b871bf5753ff5434fe1fa19140328b1ba259c3a7951e52f7d2c0cdb9c8306f4b7eeaef0192f4c8457aba81ef2f50348ed8cfc47eaeb8cc5f1c19e6babcbca63cbb07600b9ec056a6b16358a88d27d032b1e2178bbd54d23bcde98a82c15295953c8753dc273aad8c841352a257ec29e031e30473eca60899297bccef08b30f0132fc084207cc5d402c77e478777c440810219ffff0359368d6f45362da94f7b882371a7bd30f6b6f98696b5460758d8850e5dd71fd103382a3ac6ab65e4d161b78a38394c34e5fb39eb2f4831d890e6733880d1740ac603affbd8efcc9a4906463b69443f5543ca6f6e0626ad253e6974bc4525cf603ddb033ccf915b089db9b99b99846bd3de3a69531a67782d5b939b17a4bd38b8dd189203213c77baa2a57f6de4d0318294cfb9de213c7ca04f1da6cf8c593a21b2acb5c80377f2c9cad12b4b47cd4abda1e319dd9dd7c38966f1ad60ad283a6651f656a10e039f7b0d63da3732013dde5fae4f256e14582e4362d6bb81787d776f7b2b41c0d903b2f3d8e0940354c28c27a48486eb6648e2fafbd631a7482afb8ca73638c6ce1203545dcce51ec0849cdf709e502043483b5eea82c06c8f6f0ace0e9b308327533e0352737d58f9f4dc09294af1db491fd0fce7156b27f43b183a44d5f26f9d050686032b36f0897255a5afc2eaf554784a1f3c9ce371bb8663aecdec84933d741bb862036a9399cc34bb831189f1c22b362cf0a9b0e002d45f4ca5e7dec3bbb7b94b6f3a0310f62f34b49954b7517aa9d1f36f97b9598463d4f233fc5016a87eff7b8c7e4f03e1058a60f1ab2feba63c4c3db54844bd34fb751d99a94237f01f75b2588c0f07036c7fdf5f96d36b9fbd071ddf123b56602289587e73aaab20583d6579fa09689e030ea5056abb8792d1c2a087b3dedc16a9a36e45fb956631de66b825da9499f2cf00581f0348a195b977def9840a9fc30965dbe6b8e275b7e3c99e0620d01b5b44dfc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03bb9af5bc16b91b37f8551355cf329cf091bb107b909099da268085e437e0437de290031d1abb12a0e2bce19e4e6d95b0b97094721c526725f7e2641f8c7bf5f427c27003eac456226fa1f9b971c60f2e634ba6f9a8eb3c02907b3b66fe65518c6619944300581e02a2bfe01e2dc7f78bad2bbb463b2e9795d4f721d46c1deb381f8848b5bd491ef15a4775fa35eb3b0219400103e59fa5b873410d075f171cfe9cb23b3af34a08b9053c46aa98bd294af8ff591003f3e34c11f438499827c3ea5f2f4039ccf4c42351d8a5456733a612caa10c76db03a4edf10027a0c230e6a2a85beb9bc3d0c4257a18b5bd181325566c64ca9ea5a40219fffb03e407aa0643c92d2e7563ee62be040ae2fd693d83f79f7b849ff2848bb1f195d503f7aeea532e72e45f1483024cedc3eef582314ff1f5063551710d40a51abedcb403a43f71630ad943b9ebe8e58aee938dc926aefc8c63656ec5bf9520cf462f60bf0328d13250198f71c1316363ee91320ecb3620d2532dc1943d3f470fc436530ee6034c0d16cf6b5f2fde43a249c3dbe80e4ac2cd75df97dbd3ddafe8f79f09d2da060373cc1caddd694b3d39c0ecb9b30f8305385ec56b8bf590bf6ac4bc466fd696d603a8f83aa09d46e10f3f9d98969fbf2b2e8bbc6c5d564df5d87449ba453e986cd203c5517ed32ab15e2a77d9fbfc321aff01cf4caea2b4b2309b0371787899823eda037c1623e378360c4ccefc8808a9796434c964815f1f23ee4951b03765e5dc1402032f14dd27ad0ad15c1d708f0e50c967e2be6690f0d9487cb87966662f507bccca0219ffff0359767bca0412019de89aeed227b7568b6cb2586d8b5e2ebced9cb7e39507fa290358353841c90d573340b691f22083e856cc4b129975e8324667e2ecceec670b6603705c4b19003d5b7718db09e29efefa9f0253ffb822c1c86d553009d78b13767f03de34afadd37a2a98c6ba9f3fcefbc5df715a6eac330d210bd01b4478ac6380a9037615c64de329b7a88b3f7e06ee46e9445ac32160e278c7a9f2f9899a74b41ea203fe6b7cc9a75dbbe81261a397e4a691323abe16f2fcabe300c0829e85548a4b2f032ba1b4a09495065a3b52d5a795141423411a7e1c613b1f0b6ec753c624cfb412034754d5b0fee9992d6a88fa090df90b3d702b182b47037cd921e21de62c83c94b03b5ee093a4ec27ccd58a923117cfd0e60f8f290a0ab1c71b9df7a0b3974e2be810351d799b96943b407ca4640264679deae0cbe50771d9e0985a418d43620e58cde03a7d60d0a56c8ad7d3c7cd3481b6571504d9520bea652e40bbc1a6b0b25169cac03f2daf6209ada75f2e7c202a2710e15bdb0d753c6e27ec78dad9dd187a02a53500396ade0d9f2df5252cce45f072905a300eb356757fed749c00ccaabcf3992017503430d500cc6245dd08ddf27872fdf874b2edc67d14784bf0eb2483a35db58f9a30219ffff03093ba4f0488155d6cbe3449126cc89c2c02d6859eb716edddf7234562ff872a80219ffff0370eb2bebe2ba6c7a21912ec76f66024d8e741084493c36fa58b9270d2179c7b20310811215c48a79cb0fb5e5a8801b0a25132aeeb8d11743143da1649ea303af7103b7de2a38ec9e0a4ce505a85228ec2f331a2ceff3ec104235c81cda1b70f185d60311efed491e0167091a09a23cc8a98adaf486803d1427c247a826f6e76ecba7f603063686e6ee58dee680c55b6e4dbfeaaffd8d68cc0d671a49f5b0bd79c3990e1c038349238d7ab4581acb8032be34a301252af9c36b75ba21e17521a6f9a3b80c02035948d664e5e201ac13ddb2901938ecb30bb1806d50d27e2a0708c14805f8b184032bb157ecfd334ae84cd9c0a3519c7a46bddf917318169116d85b122fb4855265032d44ccd3f623e194232d4fae7b301d139ff592d71b86adb365abb5e41e4b33d703ad3f530c694b9531dfcda4c69e9683a9e166ba1bfed71d1d41906d7ecba7aebe034a9e99f92f5b91e2ee62fba28a1cf42f1456d62a8c90333824747dc3ad173bfe03f89e2aa44a00e55d15eaa4f0a4cb06fc713ef75bda392bc9d755ef72578c06ba035aedf50a8fd7f41cbf181110c5dfdfc173c5c5743339e9273a837903b5ebd30203f1754d83720ccdc4b16e975997bfadb5f80b1f2dcc301dcd1cee5e6becb171b0030b0effc551ad1ace9a4d695f26dc139a1dde465253169b035b74865b8790512003ee7b5194f5a3a20ce901b6d8753769aa9456374df75d20b9ba08a0bec37c4fc20332bfab0e6723306bf78e2bed205f9d9d0e173bcee9fd8a2066bc88da97e7031703517d7b3d543ca447ef774f74d7b1e5871f708495300cc7856fcb44f5f4753c190339eb1594c2749c93ccba3027c361a7e99fbb6a3a79415b78e67ffb13502d5a070337b982a2398e1dd9de1d1c451f7d608004482b2f8418782b2b69dbd0b6370692037d1601f285b5b01c80d6632bdb3fa2b0ecb876d03fce049f6427b05b26917fa3034f32f3e43834bf807b96431518d506a5407de5952ac834948c379935a7251f2f03e0da40b4dd69d137d6e85a60202a3552899c6e369f961c3077fc10aeac456a1a03b8a995870ac5ee38fab61fa449d1c354073ee5be7a3c0c636ea3d4846ee65691036419d75d3ffc612fd54dc05937365aecdbd3a0f9a9e81ecc91cee87fdb7f4ecb03ae4e4a530cbea5fd8959b39d17f7f299f4f89a5123019cfe5f4b407ff63ae0d90325dd95c1275758f1bea9323136fe5e8faedd0804a920b21d87068c2f49cfa33c03546901a25b46eef379190b95cdeff7b9e63c25d34e0ebc064f81a6684ec7ec2703640e7b8cd6c694349a1ddf436ad3b74ac8f1693afca7b87dd4febf786241852203b25103e7e670cf197391691023b94955f60d68a32796cf6d652b7dc55ecd960903bf3bc385cc06e86df2f00887f62a5c59c536fa1c31ae33dddeb95a6500922ba3033d6dd43b209ba9f0f0789729fa4cc4386fec02cb7cb92c9e1e478cbcb94c089600581e03c93371c87b4a55e96aabf2e0b8f63e6363796566dc4ccf4e26847d99d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0371993819e6afc96dded7282a60768accc53c6205228be56d1ca0f6df7049032a7db0f1571009420219208000581e0225a263b0e3155e19c3f07387c558b99adc56322adecaf34dda94391e915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a0000327c0da6b6b02052e0805ab9132afc6164dc22fed04d1cdc20350990c0d5c25940395069bfe4328071cba5f03f5337316c28c90ffbc10dd634a5b5c37033eb31bdf032917c5ecbf2bf43238c0fa00c8fdf0dba6355c4e3b927f67da44b8343e5182de030491411f54038462897f671e494708a812ba514a63879b3efc1f749c5e23fef6035fc0309369ce11f15a14eb11b9c82476507547419dfe633da7b8486f14a6409e0219ffff031d0040530b4884aa22ee5102789da9a1066d15f194cc6add2a2789d0ffe3df3003ad7cd57287456629cc17947f5418d44957a06aeb7f49d1cb1a8b49b7bd0574d603702d36747b3875d3a417a7189f7c44e33f61173cb1938cee5a2be1e224c48ff10304b56c28a083aa7877f6861fce839103e9b8e31b41ea214b70f816c8ee9cc84103fd32559bff0262a1b464c368ef65b12e98fbdae1574d70f6b262473b4fe74bd5036e2a76c2b045cf958d126d4b7f0bdeaad4c36f4833694bbae1cabb66d712dade03798c516e9500c03af5bbf6be70d1cbb6595a7663950e06636aae3591ef6c47d2038c0152fb997b74960090a58c9366ec232e6d0ba968b2f14dfd1668add943dc3b0324e4477599c7a0bc8f4f72523bbfe97a0875746ffca3f250cd048aa5a67e27bc0219ffff03ef8bdfe813b38f99ca0a2454b462130dda16a4dcfa8a6ce9380b5ac9bd9d42780219ffff03cc83e9d7c53adbc039af2f625406ee6dd224b061047b706398a679d87ef6fcac0380bb17dad3d2d567ef2fa03f9279bc1dee62cbe8bc9b8f5727b70b56b0579f2103c0fbad1a1f53db9c33c52b3de61f1252b8495a047e8c6b0639d5d249c97d0e150300274a7d3a95bdb9c1be275df9d0cab814b7b4e5b5d2a0deb25bce68713a650d037d26eeb28bffb9300cc2517e29ac69e65c1b3c9df1e09bc5f7923b4fca672d4c0315692eeac7000f97d60c3f1d469be31785e8159a57ca429b345b1781ea82d53903df508817022e063480b5f61ef7eba80b77b09954c418af6072404fb48a28b67a0303a04bd5b6ea52c1f1a4c747aedc21a4be2620afb4988d368be48f9840c423a303cac18fa25a8beb2f8200219d30274c294175c9bdacef5055fb96e74e68af9920035516eb619555989aad46cfeefb4357a7f8c78a4a271e82d88cd8cbc3676fbf970357f3a125917e24bdb95403515db5504c00ce46c859d39068c02393092f831cc903cae3d3b2ae27ce541ebfec45fa82d035dced1642bcd3b7a2feaad81d577143f70311df5282cd00cf825dc22904b0e9918c57d6c0441b65b7394f4d4191ead5887403e4c286743557085ba9bfb7b93877c501f8384a94855a4ef16013221068f34cd6038c818532fdd9fa27f7ba267ff776ae2c0cfeb80c120d803393886ad31eb47276037cbe9bc9addd5404f293673c086da12908ccc04242074df71f1f8776b4599e1703a1365059bb4ee942e8f91bac7a838bb1b3fafdf66d3d015c029651bd141c8e9e03f076af013afa12cab9fd91ec32edd37b66a847fff1840efcd799d50da8e6f86403d4cca17e4a9bc97735ca83b814523e7a34d5f7fa56dd7745823b30ff8000f3790321568e6af3fb24690078d2db27332f2fc1d1d389bda99368fb17f20c244bdd9d031e5d93375e1a9c5a58a25d9bbc83a7707ccda2fc4dbb7e67a2f5526c08c985a203622ef90073c57e8a290fc701c137b677349ff5e1d5478879625b77dd88f74b230353f28c732c666685f9f020aece37ebb28820bcf5590f0e9c847d7fb00309cc1d03c4e4a5d86ee92923d146c5dab63a9a64019bf6f95f23ad58a7eff2808892fa3a03d40092e25f6305588c9156eabcceb98813ea7a0c5481df225c6f5c49006f9e1d03c68616862a0f46ff49959ffe1a954d0cdce12b4317b8f5ad97f43a5a1b8c85b300581f032c0c38a7ed478915265ef1b8ba7b8e4077f830414835b0f71cd984c3f650410100581f03536163a2a04a6b4004a1122d3b40ddd8fc1f2a81cc86580f053bf0b6f8b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030542822d6e7ce3bba78cb7b627d7767c748fc148015cba9c547d8b1c989a7b240344e3dbca1f81b4cea827c02501df68a82c0cc10da886f81488fb72f199551c8503f058ef9af9b1ac1bc155bc002ce5aedd0e4be366986ad38899569054c1ba58880374d9ee60d3d0f608e98044485e1d4ec97dc2c786c119a5881bead435ea98638600581e02d4e6838266cee9c1c15c804daffa88dd73b1ed698872b93dc9b80566d75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02eeb09f489fdcd49e6f8194045c019493fe29ad46332b37fb88f31e4d3e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0201f69c370ff5fdf43ff1b0bcde4a473d05cfbcbd7d0c240f44d8a92845490eb1ea5b71837047e402190c04038af43f37bb445405e5d6aa8f51e34e074c3a918e75eadb4c08141f3b515d345d03427a196cfa33b249475b22126e5e8ab09ea5a56fde0ce0fe183c70978f095d290219fdbf037340c915ef99130878d577ad80ba73282a6eafd00f01f75e8ed5808ef5ac1a0403b376a8a0f6559bdafd204d32decf8ae2495fa5b3a081dd99999df96a9f42cc4e0376c950170a7906d6097db465ae7e4ebe1ba92baf0baae24c4732ebf9a076d91b033b6992e1d742fafb05da00f085af4b17056766fdf20147400c46ef950220c84b03a4ff9acbf93c394651dba896ebf654d3d4774219b62181c7189dc327f67c8d7f0219ffff03f391a0f455db514e92069008898b1b7668191520586e825df336840f1282642803752ea30aeb1d22016e6f6efc91717b517d26fb9689215eced0d69947c8a6613503214d79147fa6379b53e09d23bf57f1317977b5b13282143a3b69af3c15c10d48037446202ada3d64940b30afd3771b71fd3ca0dc377b107857b913d6ba287538750219ffff037b74d153b20ce9f873dcb9a2d1a80879c63bfb72403f12e6a0e49146b5d793d7039c57bed4e1fba7b54d2ec3e1dd174426565cfb076dfe340f47ff73066b3643d4034fe8fd8233150657e045bd9eb0860cb087cdf82fa072b23cc00eb7097a9c75d503dbd65bb54436c2bc8b6c19e658ced709356b34f82f59297d360db29b06be7fd703834762bf98381bdc6211c3fa8f7a5d158ef8db248b31b36c297b1d74ce65af240308dd6e53cdeffc27d815b27d9afe9f507be2bd5d725c45edb3c4ec685654f9940335de299e5e2422949a9e88ca6ff2989c787d24fdff4f64aaba990e539463d2cb03b6c9d7be770698eafafe93ae2bae82b1b207ea1a6dde2ac310f04eb4ac17f6c30367135b56b5bbf6cb6d7dd2b8d7c0a737b4b249923422806f9bcf79de35d1533203a58d03ec7495cd2acca915fd97cfa97ca559a89ec6ab3834ea45d41ab50bd9b903f834154108d46bf672449d3774691a451eefd94c9bef2261cb68d89b7a8e6f2403671fa1b4ea2dab0e51dad130877e4447e5aad11905f5403a997ac4275298edc10332338bbf06d13e56ae8c5b7f56fa20e3f89e71f742df6bc9a628fc19c093b964037dc714f4573595074aef1f415abd5403c43f82e35c14546728c0cd0dc1fa960c032ed2244666a93f3e2b3d67324faa069e55215ffb7e9de3534cb33ae4084620cb03dfb53d5a1605ccc20e7a175937e5ddd0ed0ca936169cb23568ba9f379fdf116e03797d2715dd9a9ef4c9afa033a7388a6bee5ca810b4703c38996dcaac2d95b429032fe073e02d141943e0cd9fade13fa5cf527803b49687f3759f3669f189f8d5f9036ca57076a1072f3dd8b2fdc96c52daa8a7125d2f160cf1522b2247e767dac1a803e9ccc0dfbecff2dcba9ca262e2d667551d6b16c32ab544c0e35ab388e7d3284f033ba1a232c2ca2c7031bbba4736575e10408aef748b6fd487bc3824bda8bfb44d030e743870cd6f61398d89a07303be7538351d980e15c31f7748a1a538cfa6cb3d03b1ddd42ef64681d8ed71d9532326bcf6042b8e6e620b049e431e1f9f4632969003449d7a50f4f93d9cdcdfc030977c46a036eb79faf91e61080fae27024062912f0389603fc5ff91376e15b41dcf47b749c78a90037d28a2e638fbea477f94b7835903c424d1e800b19117136af0a270cf8f867ca78ac1360db55e40197508d5254deb03a071ee04cd3d2d83bca61b7e7fdc2892109ae94bc150036eb0eedc91abc20160039d3ced847e49a32c616fc15adcb3bedb1b847ab2c90be3401157971c763d91a603ed79f8bd61a1ce9af201d001df538be87d79d8f267d35031b1ea4e4ded286eb603a9bcfee51b2e17d05ec6ac3ad931e5f4cb29b60cc5418283500a4c8c3fe4edce03557bcc4e3b6788ff628f04043f623344a83f40a7082642df450ec5a995c3b6e0036221469786cbb0e3b9359a6911ab9079faf54a6ffc925a589ee9295350e5800903af8842bd73c6d9c620f7aeec0a03faaaa600b5d23ad7daf41a0198eee4abe26c03c058b23588e38f0307934f3311bf5151d396ecdb5f82ddaf71600f4a06eb093403c7ce87c03be8a8e0b3793cad62688d1f41436ff42a2da5a2e4e6d166bee51b0500581e023e9f39f79c608cf3e41cdd6ea49e791a0cec09247b0dfaca8019fcc95449111d8919cc42c9596f00581e02d7f03d905e21c650b4d589b0c6b8eaaf69541d406b882bb83b1edcf5285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dd091a0db5278c285bcac90227db7efab01ba0bed6a948cadd0a81bccb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190224039a346c23ec522ec25edf6f0d2b46d76df5b97c73084933996ec783f55ffce03b03975cfb45910b5b8a203470ed72854171b2163f03586ddf6844fec08de14f4cc403f835add2a7836c6767073a21485e23a5fa9b4a748b9898da9bd279f3647925550219ffff03ff046dab54ecb9e0d777c6e5b1213f5f13e15abc977d53e7d74651144169b39003057239d5b4782340cf712191ae805d61da028c8bd242b162d3044b1ef71b8a7e0219ffff036aecab88198cc2a5587b17329d192044ddf8d5cf8eaf7042119363a00febcb710350f0445fb49417a6238693526993bde9b255300fcffc6745b3cd2f6557716cff03d440c682d680b54eaafd1a6caed1fda0e2c92dd7894d3f2bbb1021dfc268925603050ca10c3413d5ab5a4ae731c4621297fafc07322de656abcd682601d3982e820324a93d5fbaeb8aeb0deb110b9ac58b86c92f07b16bdd861bffe1eff0ce78cf0e03755a2c3d0503f669c0439cbe9fba8df2b320779a40e707001aa69d95233e92f80219ffff03be6c158963a48ebd5a9394530ef82c405d7dd152b1806b22134b00beedd55ff1037ec433838fb3381162660b8e0a383957ed696f166effaef15affc226cc7476e0033782af180d6d01875aa3548eba016db1210ea8551183e5b59fbcedac922d556f03ed495e0f19b99432dbd537a61e106a4b519d21b9b14b91983879deede470919c035fd920b7ac7ad4d46760abcc1a4574df3cd243ad0425666943e2b12141ae431703fce0b99de2015c485f2b677eb0494a6d12c573c5a128a3c1facdd50e04ba624003494212a7c35338472c1712b77b70cec06e3eef78c43a43b3e1d3ddba78a747bd03b08ece983ca4fa0d07ac6884558fe346b8919dc050bd1605889196e92243f48d03beb857608490d017930f586a20199db712d1f1449e5652bc8be7bd0e9db0735a0389e09cee2d52c5101625249b1461f21ac7d763d1e7539e5d969842a6bbbd6edb030e4ba22d824533df28522f75a5103003f8b5dd1ebbf2f09ab4d5bf21757824e50342db0b3b50ad0f8a5c6dab41b2548aeac949cc03a058a9f33e6b3ab7835174e5035fe6827486560cdeb6372f7258227d2bd0db6d40ce60c9e4cb87bcb6c3a05fa4037bf1696c6e94f86939744b3f8f6514298a4993f3c20d8714c262db27458e577f030ecda4cfa5226eb90dc81aecfb3d40dde3c4cb625fe8200df8f4bb8c1fbf880f0387c84d87ead27bb2b201f7f584554fc6ac713b51e9b27a281a624d0cb0ba073c030989603f027e0552b15487cef660c48821ca5f43ccf00936b334e17f53fa021e03bd9dc0f95aad8f5b7f040856aca733c488a48c40996061b6000545a381b2185503a05eead159b78924d818867f342fb732e2c5aa161dfcf1d26b0789018e85840303f5baafd562570406b23e0b6666da2911537859e6b4ad4df12231b28cc5bf9c2d0383b98fe1039dee09921d63e78166c73d6eb19f76d3c77c430a21baa6db285f6803a35875d376b18633806dc6f583f1191806ddf7e5fc7f9ca04864aa7dad94a93e00581f03ddcdd0520613bbdfdaebb7893247eca8be2407eb0a8bca051a3ab6f18120480de0b6b3a7640000034a4c310723c30f7923e0555b3d181333d133dd465f0bc11d430e5a7be2a81c7600581e02b39415d695923b655e5bfb8318f9f5f4e9031a526585ea005596e6d9a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035619025a950fecd3d857e266dbb7acec42828759fb0fe4017f5038d285f60da900581e02fb812c94b1586931c90b7cf4363e5c6a57eff565665de6686e3cdd4cbd481dea96c5d15486d00219014203dfce5cacb7995f588351bfb5bc8e6c92f942688b21cbdde23dfaafcaa0a4b21e0308ffd895493000c15a996c912763804cbf099f97af1dd8a86ab476b552a175b203560c64ec8aa8a13173091c0385ff9f43d3d0cd5e81d6c64ee5087f8442111b0803e45bf48455299fa75576d0fe810026787aaf4dc5c3f9cedaf4ae844a157df174030ac9e1b35a4755d2fffc6ebd9125f18b428bed1add3233a599c49b42fff766a503560631cab2ef886c110334d77c2c6449ff359fad914028d281f90031ef30445b03ea4871d901791eb37e17c413ed40d122a74fc55fc8bc8cdfbff9a2cf2d60d9df034963e63fdf573b8588bdbc3fa5e776f10c814b888f7e48b00be46221851c6cdd03cd3652fb54fb2ad8fdeb661505bb21e658101e0630edeca03d79d39cf5cb3fb40219ffff036a36bebfde8db43391c1d1d9be846c62ab70cf413f9674acf99e6110a09f92a6034fe97263d0a782c8cc23bc03392a83609b026a73d07652181f254c44f85f14b30338d0ff18d9b07aab6b155f3404ea9402e1096532c996d27fd1b9a008a3919aae03cedaac700564d3e972d3c2f681f1e38dadbab673922a8c282917f77bfd590c8a03c632964231105d6c467f89d9cee436820b38288267ef6a41b75d84ad3f64d4110321907c2bcc7a6fd4271058f24275dd701f81c480ae02591d42a7f2ebe994119803766049c30e7418d9c14beeab94a57a9d04ddbe5e172c16c3978222b12f60c22603aa135d3a1c80ff9ce934d322c6603f98b0d25caa218e9cc8a8331d4f3ca149740219ffff0364855b3c99d17fe4b1fc96905193652564266a964cfd735aa45c3e6e7f635dc303b5bf50bcccea32e57813392987207499ca5b7e005f40f6bf306b0f61f9679bb603a203cca41a6e9c3e3e8b9b458a9cc8b9a936777f8fe32411c89e3165a19d507e03e8d674542d8da94a5789020c82b458b89ac88beff7d30d255b8e93cc6e34f548039afa1a0339b148ea43d2208245dcc0945e13eedb0144c34ae1553d964b22370c034e75d13754cd72d426975bca3dd15f33a2e44f6f91ef682266969f796f297894034cb77d6111ebf03901074dca665571fc7d848aa449c490a0196ee49742b8926d034729f587b8fa6ac4a03fbf166b0b6b1103038637a04e21819e6dfdcaba46d5120219ffff031eebcdb6d5e7d815e3c784eaae2e2ab9e55a48575122819c00000701e821b1df032c73f9116bd330bb4049f64792c68d7ec011de8e5512cae784c303d76883fd350332c51998bb63a1da901a4c634090e4919ceaba8e820353b0cad57cd5f4f3a42403b43d823b1f054c75e398064f1db80c0f7a52597d8c73ac92c782159d9c60bdda0378c365353c8757bb2145cd8fff662c387d6cc30cf3ba544c3006b39fdb2122c6034c58496edf06be162b82b09862d0581aefeeb91c4bc49b88d409b749205d6c4e03a622844eff491c808c6779f89e82ecfa21a6eb31eb61abe70e8f403f3fac18c9039a2aa7b359d32839bfede85db07a5731949c2ea14128add6767241472730ddbe035d4bc1c6a5b598aa4b3babf4aab87112313aebf855f01207ab0fb60e602e182d0396532f1a36fbc08433d4e2bd77e884cc47cdedf0f1be7de2b3f0804436d390c603a2bb134b9ebb374e4a2d51731997b77219a9ccb28fa8126f43b7f93c456c665b034c2dd1d4e85ece2789ef360b0303a738a521ec35b1cda8a5905339f5330e205f03bb895c30e330d8e4afefc52bda7e829a645286f996ca0978772f0b8e88cd75ad03acb7d57f6b225bbcb77b0ea2c820df58362f3c47cb65c77841dd5edd10cbcba4034ca4b0b0da387730071c82f8605cf389a0fa543f633ff4d9829fe3d70f4ab2cc03360e974c69a52b8e91aa4b3ae2d88cd9400c9b1b1646de3b067c6616670eddfb03b1b4cb3bd6ca9b3fa4c54b4db85214693141b8ea48699342ba16e0699cc0efb903e6392c6b3a35726c32830f57b5e82ea44bab7f29b4d9340c2e3c15d4dbc190710305c62c21f4ddacbd735690dd20d66a744856291de2bdad633d24477a33ac4c2203c398d24b80dfc8faf0276173528146c93d2de0c6d71c8bc0893fa032e0314b9103de97c459a794c84f67fc13fc8fe0f9a8143aafbc295639f22fa31eb224272a120352b76f81402d9dad4b04748f51f9d948092fe2881cfbc66bc02530fe126551b0030d8d2f01ffbe456567e645ac6402a0445f96348b74018baa3d63cd4458db286a03260860e60a83a7b83f500eadbb207f5485ee81185573149047dda0d8c39c433400581e02b835129b1c6cafb6bb1f17dea2cd5a8d9f85a1c3f8edfe2f9b430a7fbe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02952112eb772ca67d660e09d9d4e5e9f4c916babc4750cade4cd2474ea75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02449a4bb1d2d2ab1cfeaf047a707d02c71da963193492df0dc7132a75fe4e314dc6448d93388e9c4344479cc900581e02c43225ac0ae248f16d371a3ea19a1cf239b5db0b9b9094c8ac8a9d329c4901078b21d42898ceb60219026c00581f035047ffc59ea56863f161dbda58ca02843b4e7f21c32a4519da762c161f905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f231ee53d3113ce0c6590038bf05033ced68f6525d88183fa27c46ac78259214030ecd7d138c3e0310b7792af6bcd73fac95922167b0f72fdeeaf546d82d8a08e403f0d60f2d83471c98e8dddf7074b0bbdb40a3504d4ff7c0bc1a46001610a01d530379346356b2c7356302a5fc8ec091a7f54e4d8aabeda7ad572f43c9cd9ad36ace033cd8fe1f3dbb38ea39ce868b23cc0b0b79d5e8eec8f0e7b39c9929f7b6c9eeb4037531a535f4867807a6ddb44cfa57d2ac076227d94c98405f0d0d7ebf12ad804f03d113d7d8e36a9d1fb808f815320bd7fd6f494fbf276132f6e889b04b7883d59d0219ffff03fb6c08d4e0c019abd71c210ced7e2c7d9a8be02e63cc30cde36c137100d85b0303238b0220f962a408c284c8cdf1e2e671cd8b38eb372ca511aa8c51918cbacd840310c3f984dd550b49572d0461bf1adaca44d73a899a75f719f7b7ff4c28584018034f5c828f59e9d450702dccaa2ec46aa7a031a172ad991212b9c833b064d1acdf035dd98cf04d37b8dbc2ef86f642a1bcd36ae36857225c627bd8b7be4ebd1cc0c0039188e221b336372f4645bb52c356015c7e3c728e5eacb672c1d33933e510299803dcbfb1f1a7e613ea3e402b6c4cb6df9f50da29294d987c45acd8b1410a36b439031a9d52db8027ec57db57c6daef4eb2c418cc0a0ea325a70eefb3ca35c8680157033cf30683991661f697cebdbb4e010baf84bd290ff707a0eafc12116dd27bd53003a169551b0c2ec4b40eb64012646d30067b4a514962c26bb97a0dce69e677731603d8bf803d2dee384a67d1ce88bfd3097248ab44d61f63d64a32334cac8b6a571803a66eec698eac52143aa95ef647709336c1aa29563295bed9a4843af740ab72bb0304ee3bb91ab059c9f3a599cf418da460643ae121c78a88181d6a46f6390b0d780219ffff0318135150ba2be73b3fa8fea61ee9cdf8dc5956582a4540732ba49f4785bcc330038c42e4fe6966879009e30c65cda48ad003045df26d7f2ee016b196cce206dcd4037fe11715aa534d9521e6e6d4da45ff7fdfd827e4631c38cb8b8a9c154b6cc42d03f603a3e7148e8372d8cb4f4e04060734db81929c18aad0afd6c5d450f35cea4c0380b61f74378ce74514619e9b4d6e40d22297a4abba39f14cc8cd8fde12f9c6fe0219ffff0219ffff0219ffff05581d02a65bd257638cf8cf09b8238888947cc3c0bea2aa2cc3f1c4ac7a30020f014b024394bc97ff8674c06ab7190c34021920020219712b03ff809fd4035b447288f1af06c2f7e9a4c9a6e5ab5946b9955ad016d417fcd75a03bbe0ab408d2847e38b67cf07500fb31298dee3b639c2a18f091dfce1b7a791a5031c3b349a7ee937b2b4babc92d591b01f6c8296a446b23ca1e9686aedfeac1f5503895a6aaa76c105ba9b55fd11ff05ad6baaf169370fe2476422867b719478f4fe03620accb65bb4c9061ce6514269fd587e16a33a55fe51531f3c0a081b670df41a036a27a107a13cdd08ce907db37e684b263e62f57f1f1179dbec2dbd664f0536e803e7aef0d8c9d7ac18853b8799630d1f904cbd62db280abf5396a568b84bf92b460219ffff03b50bfc5e13924196132858372841061baac4deeddbfb869ccfec7c91d33e16530219ffff037f3a2398eea3a9a60b751288a251d11e6753aa1c04fbf66c0a2841cd3d125a63039de7bee6ba77aa56dcb0c421b8029e767e2ad709a7bee19f241d893666e8537603269cfe73575e17e586085cc9ae3464801ad8e03a5351d3b45cdd84a00cfa709a0342241fb94f27a7b4aabdbbcb52abcfa8fff100804c0d12e4703105e67063c659038050762a9422e5b543eb53df0fb7b82ec7741d16617c58d6b3ee045eac39fb1d03fda8f54ad499f0fd355def88e01250c5ed06a7cd697af9c09fe47bfc79a9a1bb0219ffff034caebb57cd5d0309c3e65ac3c63d0da3a3f2529cd81ddb6ef755d870eefff4de03cb622dc84817d5ad60bf5d422e494e4aba18e26dfc85565af1c31dcc7503750a0309ce4ba1500c8fcef364b913eaae2a0aa632ff0f12bd0ed0f625c4b0866540b103758ee997952c809933fb887f76a6f1b80301a5b8e9ad1776ecbd132cca1b6f520373806131237fb061ea477cf0d25a0b7de317d9c38210bc1093cc5216f6e1177c031af69a0f5e79c4ebdd4c0a791f76ee291fbcc0a64bd05bb80ba25378b140364603aa553740ab9a819b1f8f753af729ffbf79077ccbdd3f9660a3af4f3dd2d7b290033fbe21cdbbccd279497e58c350efdf6bdbdd0794efc7e83c604a8873860f24c70219ffff038f9cda2f6e45b28ee14e5a406004dda8b59d9c99e3a0510e739bd5cb4b99efea0305e749261ef507f0991add5cfb704191c33f7cba0ec99d649a8a94a3af97b8e7039aa227e9d4ea32b7b50e66db8eafc8ce167e8174ef5aaaf00650d10b7d8516920322972852e5d11d77d2e9ffafa040f7c69e8cd629db0781da6d8d391f2e15b48f035b112b9c2bf1b172fdc15f46d849055cea5fb2ef9295cf414f03270399f95663030822007146ad3f6b5972159472f75c25fce9645c35336f5fb78f09ffb33490db0354fdb8aa136df967c400de7a6dec1379d17218de3eda84b5bd5d8bf403dd194203c55422c4167951f6d76738d50f5339da99def686c834414fe8251b04114e6da603afd899d41fe729037dfd09fa3d5eb2bee7396f0814dccbc0fd15d9f68bc21d750346c7177455fa1852e944e5cc4fdfd03cdfa5e16e9df9832118bef4b7f599687703fd3e1a6aaf015c26a11d0af4bf23df64ad2b9eebfcd40418ae1622f5536f400803727d2e37bf66c2c1b4a785bd85fa759e8e1be0297140539715b0d208b0674ba5038ab7da7cb129f0e84ac982c01187210749216a2ad5c3a6ca317678aa9be7496e030deccd395af935e263cb7297ac2910bb873d28658d91f18fbd1c30749e04ee3003e320aa5adeaa94654c372bc07cdbd901345b88fc89547cc47a86249acf65275203ee164beb074a58d46145989d3219ad408cb9ed83f36b83d4744b14e5b2e1858d035e60074074c8956d27073cce50ddf0a843ff046275c2d2aa6a0f9d2e8c8a3645036883d2890110878378e88e8c7e9179b466579958d14e5630a8e66d1dcff27c1a0392b62fa2ef769a4ad5e7306d7ef774b48769f96aca23926c80d4c1d1f364d7070306e299e533d8c40f10b4ae54ba9bf99c76057953136de87cfde7dbf4433c499603bac79ddbdd27c511ed1b2b3da2bd1ce3774adef364eb50702faf627bce8529e1036d52f0d0fac636bf3f45cf998adeb70d7a7c00b6524cd7a8005f50a0496e332203337a02e75365d95a116b83c3ce3c478432fb36fc0c167681860df5b99ce0318003fe97b61059682d37729758f22cc07445a625990ed2ebecda9e7ae07aff1a3a41037b894e822f1eec0305aa5bfe5fb53161c4657c4bfed29006082389a98a17234d03842046c1e167e802c1b31341686eb75e6bc7e0b44cced3884fb2c2b72518ab2b031006764ff6e863f57bee38edb791f8f64ebb6abdd55b4b2763793fccaf07cb9303dda99e7d9f66dda2b3b2f53bccf9e919629508657509f3f3769a788ff0999c47036a89021a78fa3e5872db700fdc5ac2f09369ad6f60d8c52841a127e80c9e2ff5033af2bd64efba4f955b6a0126a3e100519da0fc9fd3d6cbcd91042e9f9666a595039b308dd59f475181777fcda0a5211260d9b8bd934f48bf0510d86104452a521b03a91267e4f4e1e35de145758bb40461a5474420cafb7995253922538dc0270f4303510a97eb5f88732bf11805676f62ab9a1a7d10d1c21a61d2e074ffe9112151d503f41cf0ef122e9d2ddd6dcac707115dc27e7f6d974b60cd477d8be58b0c18926c03c274c1db382ad1d7c1c7da1fdf250702d2deb0b7a4e11779dc393c1de45d91010303e43f8ce8e57d68d81ce62044b93ac2a53d872a6ccf063c33dbec1d8ede3bb503d2607b29dddb62aac7eea947e94fc630512767685835336f1385324a1121e38203a3e6e695ec55fcd0d348ca26f1882f4c9b86da2584f37081e9eb3f4994e36e2a03b908c9fb75563cde3a88664d682073f8bde56777744588bf72494e018fd0cb7803be7d5e144a657d24f85eef57c70cf37e046ebe55ebd5d564abbfc84ebb2605f903d93f9f1fc9311e5874f8a55ecaf358374cce9d1d12964ee6fe057894c396533d05581d02495d66ce73a196a179125b1a5febc9fe73fc91f3acd1291a0d8dcab808480183130ebc80040005581d0273f29f41b71cea821f4c73702cd52764ef7b63e935727094c30702010847016bcc41e9000004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304b1089572ff68918230987ec0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604b1089572ff689182309840400582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04b7d8af9374ff2309e76261c0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820234116822b3059b93e240109d3610e5a91b15bde0ed220dce9aa7af7cde6e916005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85607bc8782d45f926228b13b78739b86904e2d9595346802184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687dacf000000000001078b21d42898ceb6013e880e8ff5b2497c910c2515250058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5407ddacf367f0d40bd68b4b80b4709a37bdc9f8470218480219b45505581d0289b2a382af590066d455acd3fd76c411c33d0c29e6b015ce6e26de2a0701192c1d02190288037a09682f2f25858eb7deab85b5912e58704477f5fe3cb609c0a9bb3a5db8ccf905581e038a30149da62efd61e15ca294a7fe3495b136f6ce2ea7af786f076ffde0040405581e03d77792e08943936559c5064382a2a605b8f889827f88034c264a61d1f0040103e36c8969b30e970f13abfa1b83899a58cb05dbc9ec00b3774cfea89b2ccc4e2605581e030d7f7504a813a788a240615b7c713a5ea3dd7824067b330586fe7ba5d00401037b204e5a73bc8d7ce097abf4bddc1805198b46d6d8d4aed64d35168bea0d55dc05581e03342cc5190c6e27eae944bff63dc91be272d016f3fb5b7f8ee16b783ce0040103a28770f9d53c4d397e419564bedea84c67b8eed08f2517f21b3dd72276f172b9039335129ad0c117d48e7202741129b2fc712f4a88cf287cadf0bdb31fd7e1c9a501410f0219fa9503411b8513e42ec13a24ca0e7bc23f787b5124c4aa4be28d44875f66a292afc16e0219ffff032cedead1cd61acae6f9732f2b859bbee2f7cb9aa2f2c97842a83736cd4b260d5038f2fa555fd7f29091b876a5b240fd6617d1108eb56ba5de3c6876a15c0dc695703212d04cece8efc0961c7e04c231c8687223bd76db8416f3400d90ad1c7639f6a0219ffff0219ffff034d15399a90623064c2597178298ce9176fe14604975bec0efeed70c233862fc9033d964c92e7387f1610e59c694b1936543809a5ac2180c82a64a3f97d2606c8a7034f236725913585855cca36bf7f683214d6a817819214f321b18a1377e25021f503f6ec33de44303250ad7320fe815337e3fa45057ba804edfe5548f3a37f8cd6040314ece39c555a1c46398d1ee277b4c60e7530e92a0f433db14e6fd8553e3ca65f0376f74022311e497902bbe9efed41d7a9458fde0fc233ddabec90dfe67008dd8f03b34747c85e84f30ff9e3f85651f45db5c49f30c9e7b5f9f1d2a551ce5df4320003c500176eb084fe816404ee78fbcafcf755e26483b662658e4329a047910dbadd035461d8ca30ec4e077a35cb5971a3cfa971f9e6ceb5f53ccce4d3ba179e39a44603dedcacdb1d590a6d52407178f6edf3db1a0c4ddf3c2cac928eaea34b41c5551d03a56861b0c662fcd2fb6e28612ed38e02ad10c3b546b95505d3a07815a717845803c749e351fc9c2f2082c2641a90fe72a60c44666f8389d179db9761e12d499bbe03f64cde24cd2194c9653b01c19cb0973cb8396153b5a6eff716689579ab02d3a103b2a5ea13afea6df4f9f025f37af521bdcb34b59cd122167f98437efe5f111e000347e6fa98227d3d18b43ed0a98fe543818e263a20c66cdfcfe83fb3aaf172dc3803d8e1c63a5e97e40807d63fcd7e54a20a595a8e5391825a85a93b135b67402c0803ad87224950ee6f8780815c2cbe3ff95a482ce067e96de5d7b01d08a163db8c6303575015d5f9ce9729a7417704178905261e256cc471dc8fa9bf736a19ac63f842033832d1bfb83615f1065c0a352beec1dd9ace0a7a1969002b3f7a56cef888ae1603a8a9f65511fa5bef4bdaa5389d53714f577de2a6a85d1d25c0ebab128ae81bd803676f793b04b742afc430beb2973fd96bb90e0a6b2060ac8472c776156f732328037a2086119b89fb3379f3dbac23f42343757d96859755f2ab01e0fc914362c5ed032ff21973bc8f848348297f0e7e7866fdfc42974a1708e7a8c8070c8d22f8fd67031a043e4148d3fec0b67293d9ab653ba60988c89f468432888d60c009c3b149d2038ce34de3995a4fe83c10c24dd404739a2f8905e40eafb5db0fbf3fcee4fd7870036877ae0824adde7dbdc50f84677108c61bf45fb6de9097e6dc40ecf0d571774b03ca12126e90ee55f56b60829c6a88e640fe80455bddcf9957d2fe9cff7ed400ce05581e035cfb2a7b3d79d7810a15219ee33bbee061be14de9f4408701fcc94f0900c0346785c1ad5a38805581e0385f81bbac03a1bdbb5d3b197ec6810c72d825f3fd5c23e0f66df9f8bb0040105581e03aa52db0cd74214ec58d71a0f78cf22ed1323c9a00598597d0d6c4211800401045936506080604052600436106101c65760003560e01c806393df337e116100f7578063cb4cfea811610095578063f42bc64111610064578063f42bc64114610712578063f8ce560a14610732578063f951975a14610752578063fbe3c2cd1461077f5761022d565b8063cb4cfea814610647578063d60b347f146106a1578063e039f224146106da578063eb8d3f12146106ef5761022d565b8063a9e11893116100d1578063a9e11893146105c3578063b172b222146105f0578063b19a437e14610605578063c0fd8bde146106185761022d565b806393df337e1461055b5780639a8a05921461057b578063a0cce1b3146105a35761022d565b80634fdc60fa1161016457806364d42b171161013e57806364d42b17146104e35780636606b4e0146104f85780638129fc1c14610518578063875be02a1461052d5761022d565b80634fdc60fa14610406578063515f3247146104695780635cb8cae2146104c35761022d565b80631a90a219116101a05780631a90a219146103245780631cfe7951146103435780632c3c02a41461036f5780634cf842b5146103af5761022d565b80630319e59c1461026357806304ca84cf146102d5578063178149e7146103025761022d565b3661022d5760405162461bcd60e51b815260206004820152602c60248201527f74686520576f726d686f6c6520636f6e747261637420646f6573206e6f74206160448201526b63636570742061737365747360a01b60648201526084015b60405180910390fd5b60405162461bcd60e51b815260206004820152600b60248201526a1d5b9cdd5c1c1bdc9d195960aa1b6044820152606401610224565b34801561026f57600080fd5b5061028361027e366004612ea8565b61079e565b6040516102cc9190600060a0820190508251825260ff602084015116602083015261ffff6040840151166040830152606083015160608301526080830151608083015292915050565b60405180910390f35b3480156102e157600080fd5b506102f56102f0366004612ea8565b6108f4565b6040516102cc91906132c6565b34801561030e57600080fd5b5061032261031d366004612ea8565b610b27565b005b34801561033057600080fd5b506007545b6040519081526020016102cc565b34801561034f57600080fd5b5060035463ffffffff165b60405163ffffffff90911681526020016102cc565b34801561037b57600080fd5b5061039f61038a366004612d1d565b60009081526005602052604090205460ff1690565b60405190151581526020016102cc565b3480156103bb57600080fd5b506103ee6103ca366004612cfc565b6001600160a01b03166000908152600460205260409020546001600160401b031690565b6040516001600160401b0390911681526020016102cc565b34801561041257600080fd5b50610426610421366004612ea8565b610c60565b6040516102cc91908151815260208083015160ff169082015260408083015161ffff16908201526060918201516001600160a01b03169181019190915260800190565b34801561047557600080fd5b50610489610484366004612ea8565b610d9c565b6040516102cc91908151815260208083015160ff169082015260408083015161ffff16908201526060918201519181019190915260800190565b3480156104cf57600080fd5b506103226104de366004612ea8565b610ecb565b3480156104ef57600080fd5b50600854610335565b34801561050457600080fd5b50610322610513366004612ea8565b611010565b34801561052457600080fd5b50610322611220565b34801561053957600080fd5b5061054d610548366004612ee2565b6114ac565b6040516102cc929190613270565b34801561056757600080fd5b50610322610576366004612ea8565b61160f565b34801561058757600080fd5b5060005461ffff165b60405161ffff90911681526020016102cc565b3480156105af57600080fd5b5061054d6105be366004612d35565b61174b565b3480156105cf57600080fd5b506105e36105de366004612ea8565b611985565b6040516102cc9190613336565b3480156105fc57600080fd5b50600154610335565b6103ee61061336600461301b565b611d63565b34801561062457600080fd5b50610638610633366004612e3c565b611e03565b6040516102cc93929190613349565b34801561065357600080fd5b50610667610662366004612ea8565b611e65565b6040516102cc91908151815260208083015160ff16908201526040808301519082015260609182015161ffff169181019190915260800190565b3480156106ad57600080fd5b5061039f6106bc366004612cfc565b6001600160a01b031660009081526006602052604090205460ff1690565b3480156106e657600080fd5b5061039f611f96565b3480156106fb57600080fd5b50600354640100000000900463ffffffff1661035a565b34801561071e57600080fd5b5061032261072d366004612ea8565b611fa9565b34801561073e57600080fd5b5061033561074d366004612d1d565b6120bb565b34801561075e57600080fd5b5061077261076d366004613001565b61212b565b6040516102cc9190613323565b34801561078b57600080fd5b5060005462010000900461ffff16610590565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101829052906107d383826121ca565b82526107e0602082613482565b90506107ec8382612228565b60ff1660208301526107ff600182613482565b9050816020015160ff1660041461084f5760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964205472616e736665724665657360601b6044820152606401610224565b6108598382612284565b61ffff16604083015261086d600282613482565b905061087983826122e1565b6060830152610889602082613482565b905061089583826121ca565b60808301526108a5602082613482565b9050808351146108ee5760405162461bcd60e51b8152602060048201526014602482015273696e76616c6964205472616e736665724665657360601b6044820152606401610224565b50919050565b6108fc612a4a565b600061090883826121ca565b8252610915602082613482565b90506109218382612228565b60ff166020830152610934600182613482565b9050816020015160ff1660021461098d5760405162461bcd60e51b815260206004820152601a60248201527f696e76616c696420477561726469616e536574557067726164650000000000006044820152606401610224565b6109978382612284565b61ffff1660408301526109ab600282613482565b90506109b78382612336565b63ffffffff1660808301526109cd600482613482565b905060006109db8483612228565b90506109e8600183613482565b915060405180604001604052808260ff166001600160401b03811115610a1e57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015610a47578160200160208202803683370190505b5081526000602090910181905260608501919091525b8160ff16811015610acf57610a728584612393565b606085015151805183908110610a9857634e487b7160e01b600052603260045260246000fd5b6001600160a01b0390921660209283029190910190910152610abb601484613482565b925080610ac78161358f565b915050610a5d565b5081845114610b205760405162461bcd60e51b815260206004820152601a60248201527f696e76616c696420477561726469616e536574557067726164650000000000006044820152606401610224565b5050919050565b610b2f611f96565b610b685760405162461bcd60e51b815260206004820152600a6024820152696e6f74206120666f726b60b01b6044820152606401610224565b6000610b7382611985565b9050600080610b81836123f8565b91509150818190610ba55760405162461bcd60e51b8152600401610224919061328b565b506000610bb58460e00151611e65565b805190915063436f726514610bdc5760405162461bcd60e51b81526004016102249061329e565b46816040015114610c235760405162461bcd60e51b815260206004820152601160248201527034b73b30b634b21022ab269021b430b4b760791b6044820152606401610224565b610c3184610140015161256e565b610c3e8160400151612589565b60608101516000805461ffff191661ffff9092169190911790555b5050505050565b604080516080810182526000808252602082018190529181018290526060810182905290610c8e83826121ca565b8252610c9b602082613482565b9050610ca78382612228565b60ff166020830152610cba600182613482565b9050816020015160ff16600114610d0d5760405162461bcd60e51b8152602060048201526017602482015276696e76616c696420436f6e74726163745570677261646560481b6044820152606401610224565b610d178382612284565b61ffff166040830152610d2b600282613482565b9050610d3783826121ca565b6001600160a01b03166060830152610d50602082613482565b9050808351146108ee5760405162461bcd60e51b8152602060048201526017602482015276696e76616c696420436f6e74726163745570677261646560481b6044820152606401610224565b604080516080810182526000808252602082018190529181018290526060810182905290610dca83826121ca565b8252610dd7602082613482565b9050610de38382612228565b60ff166020830152610df6600182613482565b9050816020015160ff16600314610e475760405162461bcd60e51b8152602060048201526015602482015274696e76616c6964205365744d65737361676546656560581b6044820152606401610224565b610e518382612284565b61ffff166040830152610e65600282613482565b9050610e7183826122e1565b6060830152610e81602082613482565b9050808351146108ee5760405162461bcd60e51b8152602060048201526015602482015274696e76616c6964205365744d65737361676546656560581b6044820152606401610224565b610ed3611f96565b15610f0f5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c696420666f726b60a01b6044820152606401610224565b6000610f1a82611985565b9050600080610f28836123f8565b91509150818190610f4c5760405162461bcd60e51b8152600401610224919061328b565b506000610f5c8460e00151610c60565b805190915063436f726514610fa45760405162461bcd60e51b815260206004820152600e60248201526d496e76616c6964204d6f64756c6560901b6044820152606401610224565b60005461ffff1661ffff16816040015161ffff1614610ff55760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21021b430b4b760991b6044820152606401610224565b61100384610140015161256e565b610c5981606001516125d2565b600061101b82611985565b9050600080611029836123f8565b9150915081819061104d5760405162461bcd60e51b8152600401610224919061328b565b50600061105d8460e001516108f4565b805190915063436f7265146110845760405162461bcd60e51b81526004016102249061329e565b60005461ffff1661ffff16816040015161ffff161480156110aa57506110a8611f96565b155b806110bb5750604081015161ffff16155b6110f75760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21021b430b4b760991b6044820152606401610224565b6060810151515161114a5760405162461bcd60e51b815260206004820152601960248201527f6e657720677561726469616e2073657420697320656d707479000000000000006044820152606401610224565b60035463ffffffff1661115e90600161349a565b63ffffffff16816080015163ffffffff16146111c65760405162461bcd60e51b815260206004820152602160248201527f696e646578206d75737420696e63726561736520696e207374657073206f66206044820152603160f81b6064820152608401610224565b6111d484610140015161256e565b6111eb6111e660035463ffffffff1690565b6126ff565b6111fd81606001518260800151612737565b60808101516003805463ffffffff191663ffffffff909216919091179055610c59565b60006112537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b9050611277816001600160a01b031660009081526006602052604090205460ff1690565b156112ba5760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610224565b6112e2816001600160a01b03166000908152600660205260409020805460ff19166001179055565b6000806112f260005461ffff1690565b90508061ffff166002141561130a576001915061149e565b8061ffff1660041415611320576038915061149e565b8061ffff1660051415611336576089915061149e565b8061ffff166006141561134d5761a86a915061149e565b8061ffff16600714156113645761a516915061149e565b8061ffff166009141561137d57634e454152915061149e565b8061ffff16600a14156113935760fa915061149e565b8061ffff16600b14156113aa576102ae915061149e565b8061ffff16600c14156113c157610313915061149e565b8061ffff16600d14156113d857612019915061149e565b8061ffff16600e14156113ef5761a4ec915061149e565b8061ffff166010141561140657610504915061149e565b8061ffff166011141561141f57630e9ac0d6915061149e565b8061ffff16601714156114365761a4b1915061149e565b8061ffff166018141561144c57600a915061149e565b8061ffff1660191415611462576064915061149e565b60405162461bcd60e51b81526020600482015260116024820152702ab735b737bbb71031b430b4b71034b21760791b6044820152606401610224565b6114a782612589565b505050565b6000606060006114c084610100015161212b565b805151909150611503576000604051806040016040528060148152602001731a5b9d985b1a590819dd585c991a585b881cd95d60621b8152509250925050915091565b60035463ffffffff1663ffffffff1684610100015163ffffffff1614158015611535575042816020015163ffffffff16105b1561157c5760006040518060400160405280601881526020017f677561726469616e2073657420686173206578706972656400000000000000008152509250925050915091565b805151611588906120bb565b8461012001515110156115c3576000604051806040016040528060098152602001686e6f2071756f72756d60b81b8152509250925050915091565b6000806115db8661014001518761012001518561174b565b91509150816115f1576000969095509350505050565b60016040518060200160405280600081525094509450505050915091565b600061161a82611985565b9050600080611628836123f8565b9150915081819061164c5760405162461bcd60e51b8152600401610224919061328b565b50600061165c8460e0015161079e565b805190915063436f7265146116835760405162461bcd60e51b81526004016102249061329e565b60005461ffff1661ffff16816040015161ffff161480156116a957506116a7611f96565b155b806116ba5750604081015161ffff16155b6116f65760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21021b430b4b760991b6044820152606401610224565b61170484610140015161256e565b608081015160608201516040516001600160a01b0383169180156108fc02916000818181858888f19350505050158015611742573d6000803e3d6000fd5b50505050505050565b8051516000906060908290815b865181101561196357600087828151811061178357634e487b7160e01b600052603260045260246000fd5b6020026020010151905081600014806117a557508360ff16816060015160ff16115b6117fd5760405162461bcd60e51b815260206004820152602360248201527f7369676e617475726520696e6469636573206d75737420626520617363656e64604482015262696e6760e81b6064820152608401610224565b6060810151935060ff841683116118565760405162461bcd60e51b815260206004820152601c60248201527f677561726469616e20696e646578206f7574206f6620626f756e6473000000006044820152606401610224565b8660000151816060015160ff168151811061188157634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031660018a836040015184600001518560200151604051600081526020016040526040516118da949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa1580156118fc573d6000803e3d6000fd5b505050602060405103516001600160a01b031614611950576000604051806040016040528060148152602001731593481cda59db985d1d5c99481a5b9d985b1a5960621b815250955095505050505061197d565b508061195b8161358f565b915050611758565b506001604051806020016040528060008152509350935050505b935093915050565b61198d612aa4565b60006119998382612228565b60ff1682526119a9600182613482565b9050816000015160ff16600114611a025760405162461bcd60e51b815260206004820152601760248201527f564d2076657273696f6e20696e636f6d70617469626c650000000000000000006044820152606401610224565b611a0c8382612336565b63ffffffff16610100830152611a23600482613482565b90506000611a318483612228565b60ff169050611a41600183613482565b9150806001600160401b03811115611a6957634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611abb57816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181611a875790505b5061012084015260005b81811015611c2a57611ad78584612228565b8461012001518281518110611afc57634e487b7160e01b600052603260045260246000fd5b602090810291909101015160ff909116606090910152611b1d600184613482565b9250611b2985846121ca565b8461012001518281518110611b4e57634e487b7160e01b600052603260045260246000fd5b60200260200101516000018181525050602083611b6b9190613482565b9250611b7785846121ca565b8461012001518281518110611b9c57634e487b7160e01b600052603260045260246000fd5b60200260200101516020018181525050602083611bb99190613482565b9250611bc58584612228565b611bd090601b6134e4565b8461012001518281518110611bf557634e487b7160e01b600052603260045260246000fd5b602090810291909101015160ff909116604090910152611c16600184613482565b925080611c228161358f565b915050611ac5565b506000611c4683848751611c3e9190613548565b87919061278b565b90508080519060200120604051602001611c6291815260200190565b60408051601f198184030181529190528051602090910120610140850152611c8a8584612336565b63ffffffff166020850152611ca0600484613482565b9250611cac8584612336565b63ffffffff166040850152611cc2600484613482565b9250611cce8584612284565b61ffff166060850152611ce2600284613482565b9250611cee85846121ca565b6080850152611cfe602084613482565b9250611d0a8584612898565b6001600160401b031660a0850152611d23600884613482565b9250611d2f8584612228565b60ff1660c0850152611d42600184613482565b9250611d5583848751611c3e9190613548565b60e085015250919392505050565b6000611d6e60075490565b3414611daa5760405162461bcd60e51b815260206004820152600b60248201526a696e76616c69642066656560a81b6044820152606401610224565b611db3336128f5565b9050336001600160a01b03167f6eb224fb001ed210e379b335e35efe88672a8ce935d981a6896b27ffdf52a3b282868686604051611df49493929190613380565b60405180910390a29392505050565b611e0b612aa4565b60006060611e4e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198592505050565b9250611e59836114ac565b93969095509293505050565b604080516080810182526000808252602082018190529181018290526060810182905290611e9383826121ca565b8252611ea0602082613482565b9050611eac8382612228565b60ff166020830152611ebf600182613482565b9050816020015160ff16600514611f115760405162461bcd60e51b81526020600482015260166024820152751a5b9d985b1a5908149958dbdd995c90da185a5b925960521b6044820152606401610224565b611f1b83826122e1565b6040830152611f2b602082613482565b9050611f378382612284565b61ffff166060830152611f4b600282613482565b9050808351146108ee5760405162461bcd60e51b81526020600482015260166024820152751a5b9d985b1a5908149958dbdd995c90da185a5b925960521b6044820152606401610224565b600046611fa260085490565b1415905090565b6000611fb482611985565b9050600080611fc2836123f8565b91509150818190611fe65760405162461bcd60e51b8152600401610224919061328b565b506000611ff68460e00151610d9c565b805190915063436f72651461203e5760405162461bcd60e51b815260206004820152600e60248201526d496e76616c6964204d6f64756c6560901b6044820152606401610224565b60005461ffff1661ffff16816040015161ffff161480156120645750612062611f96565b155b6120a05760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b21021b430b4b760991b6044820152606401610224565b6120ae84610140015161256e565b610c598160600151600755565b600061010082106121035760405162461bcd60e51b8152602060048201526012602482015271746f6f206d616e7920677561726469616e7360701b6044820152606401610224565b6003612110836002613529565b61211a9190613509565b612125906001613482565b92915050565b60408051808201825260608082526000602080840182905263ffffffff861682526002815290849020845181549283028101840186529485018281529394939092849284918401828280156121a957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161218b575b50505091835250506001919091015463ffffffff1660209091015292915050565b60006121d7826020613482565b8351101561221f5760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b6044820152606401610224565b50016020015190565b6000612235826001613482565b8351101561227b5760405162461bcd60e51b8152602060048201526013602482015272746f55696e74385f6f75744f66426f756e647360681b6044820152606401610224565b50016001015190565b6000612291826002613482565b835110156122d85760405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606401610224565b50016002015190565b60006122ee826020613482565b8351101561221f5760405162461bcd60e51b8152602060048201526015602482015274746f55696e743235365f6f75744f66426f756e647360581b6044820152606401610224565b6000612343826004613482565b8351101561238a5760405162461bcd60e51b8152602060048201526014602482015273746f55696e7433325f6f75744f66426f756e647360601b6044820152606401610224565b50016004015190565b60006123a0826014613482565b835110156123e85760405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606401610224565b500160200151600160601b900490565b60006060600080612408856114ac565b915091508161241d5760009590945092505050565b60035463ffffffff1663ffffffff1685610100015163ffffffff16146124635760006040518060600160405280602281526020016135d760229139935093505050915091565b60005462010000900461ffff1661ffff16856060015161ffff16146124be576000604051806040016040528060168152602001753bb937b7339033b7bb32b93730b731b29031b430b4b760511b815250935093505050915091565b60015485608001511461250e5760006040518060400160405280601981526020017f77726f6e6720676f7665726e616e636520636f6e747261637400000000000000815250935093505050915091565b61014085015160009081526005602052604090205460ff16156125515760006040518060600160405280602281526020016135f960229139935093505050915091565b600160405180602001604052806000815250935093505050915091565b6000908152600560205260409020805460ff19166001179055565b4681146125cd5760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a5908195d9b50da185a5b925960721b6044820152606401610224565b600855565b60006126057f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905061261082612965565b60408051600481526024810182526020810180516001600160e01b031663204a7f0760e21b179052905160009182916001600160a01b0386169161265391613254565b600060405180830381855af49150503d806000811461268e576040519150601f19603f3d011682016040523d82523d6000602084013e612693565b606091505b50915091508181906126b85760405162461bcd60e51b8152600401610224919061328b565b50836001600160a01b0316836001600160a01b03167f2e4cc16c100f0b55e2df82ab0b1a7e294aa9cbd01b48fbaf622683fbc0507a4960405160405180910390a350505050565b61270c426201518061349a565b63ffffffff9182166000908152600260205260409020600101805463ffffffff191691909216179055565b63ffffffff81166000908152600260209081526040909120835180518593612763928492910190612aff565b50602091909101516001909101805463ffffffff191663ffffffff9092169190911790555050565b60608161279981601f613482565b10156127d85760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610224565b6127e28284613482565b845110156128265760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610224565b606082158015612845576040519150600082526020820160405261288f565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561287e578051835260209283019201612866565b5050858452601f01601f1916604052505b50949350505050565b60006128a5826008613482565b835110156128ec5760405162461bcd60e51b8152602060048201526014602482015273746f55696e7436345f6f75744f66426f756e647360601b6044820152606401610224565b50016008015190565b6001600160a01b0381166000908152600460205260409020546001600160401b0316612960826129268360016134c2565b6001600160a01b03919091166000908152600460205260409020805467ffffffffffffffff19166001600160401b03909216919091179055565b919050565b61296e816129a5565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b803b612a095760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610224565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6040518060a0016040528060008019168152602001600060ff168152602001600061ffff168152602001612a97604051806040016040528060608152602001600063ffffffff1681525090565b8152600060209091015290565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201819052610100820183905261012082015261014081019190915290565b828054828255906000526020600020908101928215612b54579160200282015b82811115612b5457825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612b1f565b50612b60929150612b64565b5090565b5b80821115612b605760008155600101612b65565b80356001600160a01b038116811461296057600080fd5b600082601f830112612ba0578081fd5b81356020612bb5612bb08361345f565b61342f565b80838252828201915082860187848660071b8901011115612bd4578586fd5b855b85811015612c3757608080838b031215612bee578788fd5b612bf66133c2565b8335815286840135878201526040612c0f818601612ceb565b908201526060612c20858201612ceb565b908201528552938501939190910190600101612bd6565b5090979650505050505050565b600082601f830112612c54578081fd5b81356001600160401b03811115612c6d57612c6d6135c0565b612c80601f8201601f191660200161342f565b818152846020838601011115612c94578283fd5b816020850160208301379081016020019190915292915050565b803561ffff8116811461296057600080fd5b803563ffffffff8116811461296057600080fd5b80356001600160401b038116811461296057600080fd5b803560ff8116811461296057600080fd5b600060208284031215612d0d578081fd5b612d1682612b79565b9392505050565b600060208284031215612d2e578081fd5b5035919050565b600080600060608486031215612d49578182fd5b833592506020808501356001600160401b0380821115612d67578485fd5b612d7388838901612b90565b94506040870135915080821115612d88578384fd5b9086019060408289031215612d9b578384fd5b612da36133ea565b823582811115612db1578586fd5b83019150601f82018913612dc3578485fd5b8135612dd1612bb08261345f565b8082825286820191508685018c888560051b8801011115612df0578889fd5b8895505b83861015612e1957612e0581612b79565b835260019590950194918701918701612df4565b50835250612e2a9050838501612cc0565b84820152809450505050509250925092565b60008060208385031215612e4e578182fd5b82356001600160401b0380821115612e64578384fd5b818501915085601f830112612e77578384fd5b813581811115612e85578485fd5b866020828501011115612e96578485fd5b60209290920196919550909350505050565b600060208284031215612eb9578081fd5b81356001600160401b03811115612ece578182fd5b612eda84828501612c44565b949350505050565b600060208284031215612ef3578081fd5b81356001600160401b0380821115612f09578283fd5b908301906101608286031215612f1d578283fd5b612f2561340c565b612f2e83612ceb565b8152612f3c60208401612cc0565b6020820152612f4d60408401612cc0565b6040820152612f5e60608401612cae565b606082015260808301356080820152612f7960a08401612cd4565b60a0820152612f8a60c08401612ceb565b60c082015260e083013582811115612fa0578485fd5b612fac87828601612c44565b60e083015250610100612fc0818501612cc0565b908201526101208381013583811115612fd7578586fd5b612fe388828701612b90565b91830191909152506101409283013592810192909252509392505050565b600060208284031215613012578081fd5b612d1682612cc0565b60008060006060848603121561302f578081fd5b61303884612cc0565b925060208401356001600160401b03811115613052578182fd5b61305e86828701612c44565b92505061306d60408501612ceb565b90509250925092565b6000815180845260208085019450808401835b838110156130ce57815180518852838101518489015260408082015160ff908116918a0191909152606091820151169088015260809096019590820190600101613089565b509495945050505050565b600081518084526130f181602086016020860161355f565b601f01601f19169290920160200192915050565b805160408084528151908401819052600091602091908201906060860190845b8181101561314a5783516001600160a01b031683529284019291840191600101613125565b50509382015163ffffffff16949091019390935250919050565b805160ff16825260006101606020830151613187602086018263ffffffff169052565b50604083015161319f604086018263ffffffff169052565b5060608301516131b5606086018261ffff169052565b506080830151608085015260a08301516131da60a08601826001600160401b03169052565b5060c08301516131ef60c086018260ff169052565b5060e08301518160e0860152613207828601826130d9565b915050610100808401516132228287018263ffffffff169052565b5050610120808401518583038287015261323c8382613076565b61014095860151969095019590955250919392505050565b6000825161326681846020870161355f565b9190910192915050565b8215158152604060208201526000612eda60408301846130d9565b602081526000612d1660208301846130d9565b6020808252600e908201526d696e76616c6964204d6f64756c6560901b604082015260600190565b602081528151602082015260ff602083015116604082015261ffff60408301511660608201526000606083015160a0608084015261330760c0840182613105565b905063ffffffff60808501511660a08401528091505092915050565b602081526000612d166020830184613105565b602081526000612d166020830184613164565b60608152600061335c6060830186613164565b8415156020840152828103604084015261337681856130d9565b9695505050505050565b6001600160401b038516815263ffffffff841660208201526080604082015260006133ae60808301856130d9565b905060ff8316606083015295945050505050565b604051608081016001600160401b03811182821017156133e4576133e46135c0565b60405290565b604080519081016001600160401b03811182821017156133e4576133e46135c0565b60405161016081016001600160401b03811182821017156133e4576133e46135c0565b604051601f8201601f191681016001600160401b0381118282101715613457576134576135c0565b604052919050565b60006001600160401b03821115613478576134786135c0565b5060051b60200190565b60008219821115613495576134956135aa565b500190565b600063ffffffff8083168185168083038211156134b9576134b96135aa565b01949350505050565b60006001600160401b038083168185168083038211156134b9576134b96135aa565b600060ff821660ff84168060ff03821115613501576135016135aa565b019392505050565b60008261352457634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615613543576135436135aa565b500290565b60008282101561355a5761355a6135aa565b500390565b60005b8381101561357a578181015183820152602001613562565b83811115613589576000848401525b50505050565b60006000198214156135a3576135a36135aa565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfe6e6f74207369676e65642062792063757272656e7420677561726469616e20736574676f7665726e616e636520616374696f6e20616c726561647920636f6e73756d6564a2646970667358221220c2526c2dfb10f43e8111077b320dec15d073342ecf155df1f47424ac504df46064736f6c634300080400330605581e03c950652049888f8124c6815fd4842ec5129c08b813b10f06c9477f4270070119365005581e03fd1e3a972a90e5243ec4b14a210bffcdc38a4abc6c5ed9691fc4dc3c9008480f3ab2c2f6f2620e05581e03af53e6c37c85ef2768e20fce843b559760d80d28746981957087e95850040305581e03a8e26bb0eeddc8185b77119c3b5e46a873c8dba7389cf2b0606dde6c600c0248030c65829a90466005581e03a284b7aa9bf9a384aacb08551a4267e1b7ead1fe07627ae21b92eddab00c02470164e511481e1003e01f72d8029a7e80317fc303fee1c55facd6c30416f666e8d48b5933d3ab62b403897133086f5d611e7ad1b5e946ebddf112b04003f5647f99f2cd130211ee3d0b03d7fd271985d454c3b74b9960902fcc2ae06a62aef27f3cfdc4988347eb19220a0219ae7b03ab581a36152b5ddd04d935e4db86a694ddbed757b4ea4f3be0d80725666e553b0309dc18b289dff6885c7cb3c7f44fb513581c4bfd5fa16544fc0362085bfc5b4203b22909d94e48613c66d328064c893f44acc51bae2dd172c7959a94b14d3759cc0356684affa6548da32215e267437a4f24b4f9037efbb04606704fec1c14eb59b4038a3a417a2d7508c7dc6e934acd745157673d00f1369775943b797214bfed77ad03b845360e2472106e1e10d6bdb336daf780b30dfa1a8ff095359aa57997276c170392366843f5229ac53010a0a5399bdedd364a39fa3a624bd3f187a2536935cd8c03a6a1010c1607513844e2304ef1d44a4e3ee8c84c2af3821cd285938aef4a8e2b032900d23fbe3c44db194a0538ebfd83d8fafb67c807c96e7327a215c233c819a103e0a4c0225e9f4265d1f69d9688312fbb74ffbcd40a69e91ec5889933f10abdb903fd6846e63fd2987897dc9f10fcffac9a48e8a181bd7c276c8f25409be473e4fb0367ce29670e94af0edb21f868e426d9e902e131849af62311559866df6678efd903ea9ad81543e10767bc3b8954833a79b4c55351cdf01e59b8523208de38769e1e0219ffff0219ffff039a7eac5c9fb06a901114f4919c8c47cbd66178a3fdafb926094481f58f4c8aae03c76c88f26b443db4cf2dbd19ad8bcad3a61ad1e649a59452f406e2e55d0f71a203f706013eb15a80a6273c13b64785ebaf5a7f375ce1424709382e634cc14c049e0379392b33f56e3acc3a8c73dbac1d6e24a00335611de59045def69e4f3b7cd01803ff147a5217605475f40abc5351bcb426ab20d8547b695ff36e8aed644815427f03ea7ab44d8b8f258871a63d2a49e8973e95520d75c3994f485c01761f7df15b830342030040a1d2d922669b55388b3eb5caf2c39323b5533457dc4a532f6370e95c0219ffff032d4bc2512286814ca54e2825e37b0206557852ba20f61d8f07a9221e40f9bf1d03ac8009aed41b0420657e77b36dd466e505f71f74d1141cf0447cbcdab33bccd8031c5bd8dc9b54259e74c91fe7eeca6da1ac76a0fc27e13018cc22746412ad2642031aa900aed1552e4e7475dcd86ea552819d032bbb32af372c78e8d319f512329b03146386611044a0d3742ebb9a09a0542ee067f4a94aaf25a1b134c1ce9c643f37035f65f1fd6dd8eef6df2d1f4c1c3c27c3a0866eb2eeede2d0e2e5c1a7148c835c034f99e083b00f90d2e46f7718c9f7a2bd2d6e3c51f8f3e278e39f61526c5e7e8303fab862d8e5c7f585364f1e16493b4dd8f7483123a0b8d2c4d22667d4384a88cd03393182e679245c3ea16ee15471a4cdb16f9a59377044dab7d3f17bfe3322a97a03d2bacb110df1117f02c00705c8c008553f4540f70b8dc7ad83c4e5428ad66cff03cee3df7cfef8abcc20d8fb8522eebe0a9ff45e444b1afd50561900bb9033c475033f7bc2eea7f5c7310901068d2abcf5ecfe743a6e6066a0d2b5c0c83512b1d3840219ffff03904ebc99616836e256cea7de6a007f6c1c3e6fc6580f05ec082d626dd7eee4bb03c84d537a0782a8641a043ba9f1026cbd68f8e3a9d61775ce0073cddd20eb701e0307af8376430482404a294c83a029aa4602693b2908359643d5b72b6587c6e9e3038063f72349f1e11892bfdd230366947edf25198abb94a7e679eff82104ade573038e35d6bfa29ed48d441929708cd0b5f9bcb55518645da49226b90a6cf653703a03625b3224875a21936dd10e3e9c9122968513f44895657a311c30aa3b7620ae28034bc9827fe2a0146273a14cb26e1d6947e3900897f7ca698a605f36bc49be2c3403c0a46bbd737506028cf098911f9ffc32f97a618feb51aae440a94b60a0981d6303e086dbcbab1e504ab23c821dcfdfcf76af4d89a6a3fadc5e29bae178a189d155037446b3ecf3ca7b4f5b9287d5112287739789e9c21e795ed3d63402b1b6a3212d03b490827cd7385521ee8429ee78b32166d974dc4746f6703f56a5f36ab0263aa203696d5be351c738406de628bc148493e0dc775d4f41ffebac3c11225e21011d7803fe9ecb6406b85ca09138763a0ec234700168b5a806c702591a6025e48103feee03c8ebb2b9c86bc2619f60addbca80afca48437c07d80fa0966d835636c5578d1f039fd6bf4f7c7170523e4cfe68763e134ae5d02aa3f596462c906e205f6acd0c4403bdbfd3e05a98695965035faa613588ce20f825b6501eb9b18f6edb54581c974205581e038d6a362f158f85da71999548368a060f6a39e44b56d9c8df8976f9b2400c024703de2e42c1f00005581e030f9459d40550028068c90104c9a3e6943b73c3d2ac3444e84a02643c300c014745a30c59c5a39805581e034718e84370a3dd80db496ac87f72bdd4e65a51046e40452900a6afe0f0040203c5e69eae16138efb4154e363a6e5e09e108e2c98ad6767da59aee1073bc55bc903ed5a71b323353db2332712ddbdbd93fabe51fb59aa76282dd7b019ef9b1ac55605581e03143e4ce2969819e0ad2710b77af6b6dffb606b26d2852e11300aaca3400c1903b3480d07764536f0d9f505581e03a07b69d5dbbd56d2c1bdf99d46899f53680f6f48f04293cff5834d27c00c014704e48e25d28ed405581e038f14cbcdde6f3c9e9df36d0dbe63d699e884c05e2bc1c25e81fb1bb0800c054701eb599deed04303a5fbcef24113b9acad4506e19c3a4bd537b43d95f728b286abd17a441358f2fd02190f370301dc9f97669d6f8b402a0d1b66d7800803135f220d20b494be11d57656a038f003b2c58240f809da671450104bf21f37eb9f1346a6f5c2f30e03f0a29c19a14035031310a468158c7266a47b69894978727e7fb9a05c4bb9ce80c696e205b454e51b03dbca435cb8a527e0a6f0435b9f926e4f95da8a4f8ee73f99cf3b0940cbfde69d03cc27ff11df357be50a197afda8a876632a81fe96eaf68eafccc8c8676fbd2df103617d2bb1bdc24711f019fe5f9e5d0d467821f7af0f6bc431bf7d3b2a0b22879203533bdb7fd6fe6b7300a4afee5fe4dfd38b87c34357287f05dc85aea7014f7fd403063ccac41b22519b46c2b61bc577b89fcd4466b7166ae4d331ca189f6e3ca57203c1d6e7cc1538cc39586358af2b27049f66d23af2215a0badba00331f4391c3a00219ffff039640adcce96e8ad78ec3502bd382d44f3c2ca0850442607b84b112d6f82841d6037e080dbf375ea80cee6a38ff7dc2742ad961441f621acf37b01dcc0d2c68ec0e0312dea09b2bf532772e2ce9757c07a3033264216ad0a85c3bfe7367f40ff20a28038e1ec6dd2ad6015fb54de2bed53d9a660b5e52ccd413ce82be196611f1c13083036a91bc9e7d7f3f1630204ac85029d0806b1034860c626a2a44575a8041b3f2a403efad464eab08c9283ea6680d7a3e210ba5333d6b583b456299c8ba986717dc82039f210eda32c615bc8cc2fa58a3b45ac518a32b61031fe240801ef7c08d1fe22803397f26e5bb7e3ff493ebe7b192feda0faffb669cc9f3e6c1315c88519ab822cd037e813b2bf486cd616ff5fe6cee685d497356ca74f33bed8fbc3d37312c7fa5e803e1f5c2e250cfaf33665794fe9b13dfcd32ae6502fab336eb11ef2389c22cd6a203accd9e5b8198ac3ddd4bbc69afee178b9859824bab0777b0a95e33b3b5b544af03aa1e2ad199a0a40cdf80b05d29385e3d854465f83a02dcb501e222f9faa299a903e550a35d8144eb6a69d2a5a17a823b25d0215adc1fed70c2f78fcaf357a8476703f262e7b73877f6f2775f7ead01c9905586806c030bcc0bb4b48ff65ee4499e930313a4db8131e3cb1e96a8663f44f9286f152fe29b2cc1e85703a0510de5288a210219ffff03c8909081d89a755942f608938dd18271be910732c02756769b4ce469863ea8850387a6ddd7074e5feff84f5ec5c68bcfe2eba658e39ff3153dc9202ad4b50a586d033bf17d293a79ea79984b5473b2ee82171ee828a5825fd5756b6f55e1876bfa5e0375625b22aa496e7fc5050d99998f4b36f4030519c60b35051df0b79a905e175703ca2f03cc70b93d58c83a1e9e391f71f907faad184dea96280a8250b8e9dda5fd0333ec6726c72be9eec10a8c206a8f574a8e91f3cbb3fa1b5782822803217039de0340e8eea0bfc22c245b6e3dd4ee2264be262b1c61855e8c0008ebbc9888e6b3db03c21ae0efc63d4a7b457e14ab6fb8c7f1c3137489a5f175afe0a17eea2075148703f02ea9f216c786339d8b56d6099b224b0bea2eccc39fb16cbefe4ffb692abf0c036af570e060751d2443b6b5958b7aabc2050d67a1bb5f6334a978f559f6434ec70352b87bb5ea2ccef437ecb0149db00f38199551c5fe8274c3db5bd8066df8d43c03e78c99a6874cde655fa668dd0d440254e4732ef8b78658d18f404e6bf9890aa8038ef7c5023e3dbb82a4bea104e67e21530f1bded4ccd3256fd777176b88aadbc90219ffff03098e0220079d733fef67ed45de09b0ed1063ed4f534a1119fd134b3c8dd021ff0392fe16eaa977fbbe5e4d14ee079be889a21638aa5c9f0b9b3372ab94f6da89df0345e08c0b0a53eec6fca2c38aa4b1b58a13970f5c496497b8c8f3cea4c24d74bc0331ddd724678a291f8e1c661bef29d6a9eb7d20455aa577b1c001c76c9582550d03f87fe9436e12e565f692823e49e238121648581ba184d6065c88c2347ca98486033d184117be48a8039b653b8fa9b9c768d2bd70119057447384ecb732c85d119a039170c60999e6eb7990b4f1b7df69429f72099d4ee237cb31622a442090ed1ff30219ffff03a0de3e80b51673f330d3f49862656eba2e050666b0e899e3f6279edf8160471b0339c2397390b268253646d80808ba1651b8c84447b8a31b214e5bbefcb6f2246503d66866a4139b88c426a3e34192e79cb74c1342834116f91060ced624a02f2c930391d24bf9014100f48e9bb28615626aa4959c1581d955704a61138967e7d9173403aad6bc9611aace0d0909b0f57f75e2d92202351a10ff3d391c04a9b9f9acf6cc03a9dad78e0028004fe494c81f7a033231c2b704cfaef30ed02ca382f0f16aa1e10354168bd835e9b4bc5e4eb68455e44872c523dacf9ea2f1b818bc9ef2d3718721038d7e68dc32350108738fb71142315efb8e1de3f7f82a6cd7cba9819ca159fb5103e5e1ed0df1fa324d4039da99542ee1f27a2ba273542b3e7ab72790ee819cb81303c88b628e4a370d7b23e5ae0edcc8fa6641d6dd8d38daff00a248614344dcc2150324b9ea5c401ca1c577780d5277444d52d1423adbab648187970f4d5664d7c34103cf528fba8d58ba662ef5df25aeb896367abe80de774b4b58577b9f15d4874b56037bde98b166f4ebd86c6a02ed8fed3d6da7953f69a342a998a938daf46bf987610331b3224a5c651a9d745c3fad2ef9bfab1e4430e765b0992914444b4da95ef07c031a04db1a51bbca94922aa820b320f5cb45bd6939aa08734d40b4361915415e6b03b111240a602d6f0b38067ee1f631f7f89c4ac080da335043f6bfd481e59a2ab103c7222bc463496f772dc3f0f381c9fce5cd3ef04d60c3f02c7d93c5f92480300903cd834df8056e19211f9cb3baf5095e36180d6e0f2f2492409d07eff091dc60680300309021d0f7f6f68b41826c19317af68f132b0b933902ab28a86912a137dad003a2763662c2726ab806b8d391c5b04e09591cc8ac688860b0218d7193a515604e03a7aa75f43fee8e85740e0b943ff2902839f0c5af068a15c2bde46c302c5aa21a03b11121daa8e627a8de66fd63b355268af10b7b7237fc325fd606fe41a04164a40351affc31f92dca077209ecc7dbf2b0a5df2a0fb7dcd2f7427f80b9fa5d99214403c385223b2b5b546d021363b992c5918fa95ed723c1b8c4c5a97580470d4cfae403b1977f3bbadf42f514f3cfe142d6a0f8a374647c0c584f8e8f70870abb231cee0394c71ecb6cc7638a7235803b7eafdbf1c02d0a95788ac7cde68950bb65c6b7150328eeb3fd709f2e5e20116caf45f83dd06c6eb1933fe2eee8ee5c1408ec3e334c03814b12c039187b06cc3b39743db466acaea0217d8f9998e5c0b20331d9e9ab1e032adea72e7e1103448f7f97418c203425993962c4de64e0503a5199257d08208103d01cd2a1e290142111df51e5afe0fe774a4f35dd5151ea479627e6b324018545032556371c5e092a09e3b20a3d056761ccd8d6f640059a23af286858e6ca26c11b031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e031cd75c822934dfcd9c0ccbe00a1e3d81a6e463d4e49deeb11f3382f11007011bffffffffffffffff0398e43dfa3a48509b73db1c81f14ceecec69dccef45427dc18091295536a21907039e0c8870e023db253a436de36cfa8095efbbb1efeea9c7291a2381050b8ba4e805581e03581012f00c24335d9b9c9fde1045acbb34ea81470c4d33ce715bdc512007011bffffffffffffffff05581e03b02fae2c8ccc735ac25489a1a287eb0b1f4f446a032d95631dc70abb000c014701a09c8d7ca0800325153f5d9e0e7f7b62ad85947486c70ec12e8a85e6f90d2fe33fa3e00a45298d034458361dae0c7eb61da0343701b0e8afdefa1141b4e63215b894d1d36854aeb0031a1a5c2b1eaec456a1029cd08613116a3910b1159b254eae0fb35fab94f483fc03b65f943c776f5ee7a00077452aadc2f294309db7a71a142a3786914d2c25d54505581e03c8dd27eb8f41460ea787443b11e2750fcd32c5add8b034c3e46c6e1a60040105581e03b9dbe9fffa28cc63f84717238eba6cfb20dee54951c140a7e3bc2e42100c0b48037e1924cb0f0d6605581e03b34c7858e9ecfb50a5c167bf82b58b8527897865ab9c83ab3a30486bf0040102197cce03986f373503fb5c5dd3df5d8761ed1ba5c17c9ceafeb5388a5de2e1fc66fc75cc038a0724df084f76b0add05df979d2872f39f111580f3e6c3657a2f54ccc2640080316e4c5ad525e840a4ee4e69a0dda7987d3cf833f43226fe53b5bf305c8cf50b40219ffff039963e76b3edb7767d19811366c546474c86814b027d62f6ff33fcf2161325c480304bbc6b1e7bc61809983e048cd56c49e3c9078f74fadd484f344657a447721760219ffff03b74cc49f0a6bc5eae8e2d9b751c2b14b97e80b5285791098b719471aabf9ec4d0333a01bcd0f90459eb76eb2d22401a5866ea274b0ee27b936c25710bb6be28024038e71ded385c056e164de71bc82c774da484ec49a02fa560911ca81c1487cb9c10347ae1e126dfc8d450bfe9ed8703dec536cf68f471721515cd8b4e4c3fa3e1b3803f96e3a34957c4590131da073b0df8cb83691e07fa3a914d91aefe3f5981d3e2c03b06af2e29fa310d1d48de3052aa1de17b61e43dd13ae82774be11462f6dee6960379da0b09433161341f52107dab22af22369c110595e98dc0f7efc45b75501ec403ea834b965179bacd2fb3965074d43ee0e55bff567aa23dc8a1b42380b2ef068e0339f60186c4699f7650effb0e842293d0a21adf2b08a1c601b94c29e69eca3f1d038d333434ec1f894f9f21460eb46f32ffcd7a2056066a5e17b861b5a62c068f5803678d5931f8193d996dd66590527c97e7338d60f419ee2002241bb2c551cb72a30219ffff0315e2d8c2e3c5efb5e84c4cad22d3c100d8f289520fd5a356c7a64f162c9e1d2a0380e08f11ffbba98ae20f6c69994a72f27b0f6ce504c82b88bb77dcedeb59c908038e915b5fe7a1eaa5d39c35c9018f8a755230fff4a8437f03e7b93cc91c22fd69034b92acc87fcc564a097a43b78fc3c81de856f88b3e2b891ee42c6dd4efdcbd13038d274f45133ef472e41b46ecc5ae6554c756d876a389976edf9160c35c016ce3033ba6b3aabfd377eaaaa63f5e73bbed35239a1884ea54a6464b8cfa8e5eab031f03b1beded068a372cf692c42b77d1dcdae71e4be0825b24a655df1b4dde2e8dc7203b899da4a2d109b3ddf56a6d65193776b8a541085fb30c8b5146e7124235899d403131ea5f33764328a3b651a87e2f3eb21fdb36a4c45515d0f9595e5f827374aea03461573570e3c12c5742c26f4e825411f84b1fe9a36b36a4ab3e8120e1f3c70b5037a9840ea22bf776bef2d5eaf45cd93b0b3856c7cc6d296bea1934a80d5bb95300381e836d95c33cafdc732df9775b05faf3efa8a18520b61d4bad65ab4f3f2a5db03d6ee95a8726a1fb334ea311d52a7ad30ac9849f35872f7ca0d7ff9d2b62b2b18031daa60ca691672a141f3637f9cabe54e3196d4f381de07b0d45a109a498c31bf036f366c856e53367e09957c32c2e0f102b09bebb3378a89a1b5e1e2907333e31103f98a4bb39b7c3c8102a9644cfb0688fc52032bfee1b773478701f096200a344b03cca5da6ad9638c2222ebb6197cf982914e12ac5a1a0028b07d0616a76887b14303b79058a111263df7b20faf0fd957a80d2695873e03f9df4d9074a41a0531dab6037954a2ae734701307a677df42258a12f25674dcb340896d069a20e3de251b2be03cf3a14285ae12c86f6d5861787db809dc531728807a0af67b4d0f80840ad3120034bdd8aeabab8794b03e17310b55aff67b0ad8d487ee5e6ac12046530e63698e903ddb6ece4bfca08baef72b4054345348a9dd1df4dc3ec21084703ba8f6524989c037d56543922fb185ecfcb01d765f452e3438fefbf39a0e63c965c8fa43cfe5c9303b2d3d296c68b89397e9142e201dafb00f35c3eb6cb6fdd6570f35fda09171b1b0355814af755ad2aa592c55a154a7d185d71778e460013b599558d08ea26c61f6b037302feb1c15ffdf82d606c99c3e4e5f9f2df34be108503ecbc6c284a0903956c03bd5456aaed45c6ee373396a99e28052677f24d6eebd578ecd958b88adf58860903bf224d90a3d040f6ed8cf7de8553ddc8a8012c3801143f252402d8d995ae1af90389c0cfcfdf1626e35f5ef180154a3e69dba1a092a7122f2125eabea78e4ebc5203f8e60956fc37973ce8739dfdda84f462c464fc7fa8d33f80c8578dafbac22d74032cf313ccba276434ea60c6aed5fb908e3579526f2c3edbf198d74c9fd5090a6803cb2dd942c1c5017a740fd7eecd3d70784e069e443b06c120707595ca2265e833031ad76fd91f78d18e695fb1ce777155e6a360ae57edc7aea6ee9e2988e24e71b1038eb4db8db3a4920360fff2d2115e1c42a1912642e34363b138aca5e461496e70030c252bd9517378e888775dbf2d58dfe10ed73c0a4bb5a49cc45853b8e176593d03ef3a937eb58ccd81725e3b527c9b34787a3537152c277d74c84cad9d3101495803d7057d3e93bbfffaf81f367767b8adf74a6453b3f6c3350c73d52fa674451d6d03cd6fba08645014a3922a62377a6ddd6a506a7092764e86b36d13add6f425e9440363301583d0fad59e31afb60a7b3fe3713c67a46bbd9649490229e2eb4995ddd50382d466fa07d9af8db763c2835977099435ec3ceb09380455d258d1d62be6b4cf034cdc9d5b478452491910915ab4f9ece10e709fbad6cfa03f4f08a9084a7f0bc003cce185b2ca34492a66a3ee5ef0fd2940af0256bb951103c8ea3abe033b5bf81e03942f3a8e2e015921ce8f514a6a12387c09e95c26dfffee2d4f9c9fa3237d177805581e039b3a234ad40ef2b403f2b0be0c7b4b4b304f78198b3ae30c8391d42da00403036acce064d7b45e35154c9fcc3b60ac1978ca456030f239753282a54beb490d9005581e03a2c2c9a4cdd755486066b9181bc082fb896187f3da941157a0cbe313400c014743aafb2c7b508705581e039146c785736a2544f94c8fea80891a0da0328e78463bbb0debc98f78900c024702656cb3c0030004593d486080604052600436106100d65760003560e01c80638456cb591161007f5780639a1f3406116100595780639a1f340614610200578063cd0fb7a714610220578063f2fde38b14610260578063fa461e331461028057600080fd5b80638456cb59146101ad5780638da5cb5b146101c257806393b3774c146101ed57600080fd5b80632c8958f6116100b05780632c8958f6146100f95780636b2ace871461013f578063715018a61461019857600080fd5b8063046f7da2146100e257806323a69e75146100f95780632646478b1461011957600080fd5b366100dd57005b600080fd5b3480156100ee57600080fd5b506100f76102a0565b005b34801561010557600080fd5b506100f7610114366004613579565b6103a8565b61012c6101273660046136f5565b6103ba565b6040519081526020015b60405180910390f35b34801561014b57600080fd5b506101737f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610136565b3480156101a457600080fd5b506100f7610564565b3480156101b957600080fd5b506100f7610578565b3480156101ce57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610173565b61012c6101fb36600461377c565b61067b565b34801561020c57600080fd5b506100f761021b36600461382f565b61089a565b34801561022c57600080fd5b5061025061023b366004613868565b60016020526000908152604090205460ff1681565b6040519015158152602001610136565b34801561026c57600080fd5b506100f761027b366004613868565b6108f8565b34801561028c57600080fd5b506100f761029b366004613579565b6109af565b60005473ffffffffffffffffffffffffffffffffffffffff163314806102d557503360009081526001602052604090205460ff165b610366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f52503a2063616c6c6572206973206e6f7420746865206f776e6572206f72206160448201527f2070726976696c6567656420757365720000000000000000000000000000000060648201526084015b60405180910390fd5b600280547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b6103b4848484846109af565b50505050565b60025460009074010000000000000000000000000000000000000000900460ff16600114610444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f526f75746550726f636573736f72206973206c6f636b65640000000000000000604482015260640161035d565b6002547501000000000000000000000000000000000000000000900460ff166001146104cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f526f75746550726f636573736f72206973207061757365640000000000000000604482015260640161035d565b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055610519878787878787610b5d565b9050600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790559695505050505050565b61056c6111a3565b6105766000611224565b565b60005473ffffffffffffffffffffffffffffffffffffffff163314806105ad57503360009081526001602052604090205460ff165b610639576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f52503a2063616c6c6572206973206e6f7420746865206f776e6572206f72206160448201527f2070726976696c65676564207573657200000000000000000000000000000000606482015260840161035d565b600280547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167502000000000000000000000000000000000000000000179055565b60025460009074010000000000000000000000000000000000000000900460ff16600114610705576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f526f75746550726f636573736f72206973206c6f636b65640000000000000000604482015260640161035d565b6002547501000000000000000000000000000000000000000000900460ff1660011461078d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f526f75746550726f636573736f72206973207061757365640000000000000000604482015260640161035d565b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055604051600090819073ffffffffffffffffffffffffffffffffffffffff8c16908b908381818185875af1925050503d8060008114610826576040519150601f19603f3d011682016040523d82523d6000602084013e61082b565b606091505b50915091508161083d57805181602001fd5b61084b898989898989610b5d565b92505050600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905598975050505050505050565b6108a26111a3565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6109006111a3565b73ffffffffffffffffffffffffffffffffffffffff81166109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161035d565b6109ac81611224565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314610a56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f526f75746550726f636573736f722e756e697377617056335377617043616c6c60448201527f6261636b3a2063616c6c2066726f6d20756e6b6e6f776e20736f757263650000606482015260840161035d565b6000808513610a655783610a67565b845b905060008113610af9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f526f75746550726f636573736f722e756e697377617056335377617043616c6c60448201527f6261636b3a206e6f7420706f73697469766520616d6f756e7400000000000000606482015260840161035d565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001660011790556000610b3283850185613868565b9050610b5573ffffffffffffffffffffffffffffffffffffffff82163384611299565b505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610c24576040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8916906370a0823190602401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f919061388c565b610c27565b60005b9050600073ffffffffffffffffffffffffffffffffffffffff871673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610cf1576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301528816906370a0823190602401602060405180830381865afa158015610cc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cec919061388c565b610d0a565b8473ffffffffffffffffffffffffffffffffffffffff16315b905087600080610d2e87604080518082019091528181528151909101602082015290565b90505b805160208201511115610e84576000610d508280516001018051915290565b90508060ff1660011415610d7a576000610d6983611372565b905083610d74578094505b50610e73565b8060ff1660021415610d9557610d90828d611437565b610e73565b8060ff1660031415610dac576000610d6983611457565b8060ff1660041415610dc157610d908261147d565b8060ff1660051415610dd657610d90826114a3565b8060ff1660061415610dec57610d908d836115a8565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f526f75746550726f636573736f723a20556e6b6e6f776e20636f6d6d616e642060448201527f636f646500000000000000000000000000000000000000000000000000000000606482015260840161035d565b610e7c836138d4565b925050610d31565b506000905073ffffffffffffffffffffffffffffffffffffffff8b1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610f4d576040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8c16906370a0823190602401602060405180830381865afa158015610f24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f48919061388c565b610f50565b60005b905083610f5d8b8361390d565b1015610feb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f526f75746550726f636573736f723a204d696e696d616c20696e70757420626160448201527f6c616e63652076696f6c6174696f6e0000000000000000000000000000000000606482015260840161035d565b600073ffffffffffffffffffffffffffffffffffffffff8a1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146110b3576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528b16906370a0823190602401602060405180830381865afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae919061388c565b6110cc565b8773ffffffffffffffffffffffffffffffffffffffff16315b90506110d8898561390d565b81101561111e576110e98482613925565b6040517f963b34a500000000000000000000000000000000000000000000000000000000815260040161035d91815260200190565b6111288482613925565b6040805173ffffffffffffffffffffffffffffffffffffffff8b81168252602082018790529181018c905260608101839052919750808c1691908e169033907f2db5ddd0b42bdbca0d69ea16f234a870a485854ae0d91f16643d6f317d8b89949060800160405180910390a450505050509695505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161035d565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261136d9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261163b565b505050565b6000806113858380516014018051915290565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff8216906370a0823190602401602060405180830381865afa1580156113f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611416919061388c565b91508115611425576001820391505b61143183308385611747565b50919050565b60006114498380516014018051915290565b905061136d83338385611747565b47611478823073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84611747565b919050565b600061148f8280516014018051915290565b905061149f8260008360006117a2565b5050565b60006114b58280516014018051915290565b6040517ff7888aec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301523060248301529192506000917f0000000000000000000000000000000000000000000000000000000000000000169063f7888aec90604401602060405180830381865afa15801561154d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611571919061388c565b9050801561159c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b61136d83308484611747565b60006115ba8280516020018051915290565b905060006115ce8380516020018051915290565b905060006115e28480516001018051915290565b905060006115f68580516020018051915290565b9050600061160a8680516020018051915290565b905061163273ffffffffffffffffffffffffffffffffffffffff8816333088888888886118d6565b50505050505050565b600061169d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611b569092919063ffffffff16565b80519091501561136d57808060200190518101906116bb919061393c565b61136d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161035d565b60006117598580516001018051915290565b905060005b8160ff16811015610b5557600061177b8780516002018051915290565b61ffff8082168602049485900394909150611798888888846117a2565b505060010161175e565b60006117b48580516001018051915290565b905060ff81166117cf576117ca85858585611b6d565b6118cf565b8060ff16600114156117e7576117ca85858585611f22565b8060ff16600214156117ff576117ca85858585612162565b8060ff1660031415611817576117ca85858585612410565b8060ff166004141561182f576117ca85858585612a98565b8060ff1660051415611847576117ca85858585612c26565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f526f75746550726f636573736f723a20556e6b6e6f776e20706f6f6c2074797060448201527f6500000000000000000000000000000000000000000000000000000000000000606482015260840161035d565b5050505050565b6040517f7ecebe0000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152600091908a1690637ecebe0090602401602060405180830381865afa158015611946573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196a919061388c565b6040517fd505accf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301528981166024830152604482018990526064820188905260ff8716608483015260a4820186905260c48201859052919250908a169063d505accf9060e401600060405180830381600087803b158015611a0457600080fd5b505af1158015611a18573d6000803e3d6000fd5b50506040517f7ecebe0000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b81166004830152600093508c169150637ecebe0090602401602060405180830381865afa158015611a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aaf919061388c565b9050611abc82600161390d565b8114611b4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f5361666545524332303a207065726d697420646964206e6f742073756363656560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015260840161035d565b50505050505050505050565b6060611b6584846000856131e1565b949350505050565b6000611b7f8580516014018051915290565b90506000611b938680516001018051915290565b90506000611ba78780516014018051915290565b90506000611bbb8880516003018051915290565b905073ffffffffffffffffffffffffffffffffffffffff8716301415611c0157611bfc73ffffffffffffffffffffffffffffffffffffffff87168587611299565b611c41565b73ffffffffffffffffffffffffffffffffffffffff8716331415611c4157611c4173ffffffffffffffffffffffffffffffffffffffff87163386886132fa565b6000808573ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb39190613977565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150600082118015611ce85750600081115b611d4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f57726f6e6720706f6f6c20726573657276657300000000000000000000000000604482015260640161035d565b6000808660ff16600114611d63578284611d66565b83835b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b8116600483015292945090925083918c16906370a0823190602401602060405180830381865afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfe919061388c565b611e089190613925565b98506000611e1986620f42406139c7565b611e289062ffffff168b6139eb565b9050600081611e3a85620f42406139eb565b611e44919061390d565b611e4e84846139eb565b611e589190613a28565b90506000808a60ff16600114611e7057826000611e74565b6000835b604080516000815260208101918290527f022c0d9f00000000000000000000000000000000000000000000000000000000909152919350915073ffffffffffffffffffffffffffffffffffffffff8d169063022c0d9f90611ede90859085908f9060248101613ad9565b600060405180830381600087803b158015611ef857600080fd5b505af1158015611f0c573d6000803e3d6000fd5b5050505050505050505050505050505050505050565b6000611f348580516014018051915290565b9050600080611f498780516001018051915290565b60ff161190506000611f618780516014018051915290565b905073ffffffffffffffffffffffffffffffffffffffff8616331415611fa357611fa373ffffffffffffffffffffffffffffffffffffffff86163330876132fa565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915563128acb088284878161201757612012600173fffd8963efd1fc6a506488495d951d5263988d26613b14565b612027565b6120276401000276a36001613b41565b6040805173ffffffffffffffffffffffffffffffffffffffff8d166020820152016040516020818303038152906040526040518663ffffffff1660e01b8152600401612077959493929190613b79565b60408051808303816000875af1158015612095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b99190613bc0565b505060025473ffffffffffffffffffffffffffffffffffffffff16600114611632576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f526f75746550726f636573736f722e73776170556e6956333a20756e6578706560448201527f6374656400000000000000000000000000000000000000000000000000000000606482015260840161035d565b60006121748580516001018051915290565b905060006121888680516014018051915290565b9050600180831614156122575760006121a78780516014018051915290565b905060028316612213578073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b1580156121f957600080fd5b505af115801561220d573d6000803e3d6000fd5b50505050505b73ffffffffffffffffffffffffffffffffffffffff821630146122515761225173ffffffffffffffffffffffffffffffffffffffff82168386611299565b50610b55565b600282166123205773ffffffffffffffffffffffffffffffffffffffff851633141561229f5761229f73ffffffffffffffffffffffffffffffffffffffff85163330866132fa565b6040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff851690632e1a7d4d90602401600060405180830381600087803b15801561230757600080fd5b505af115801561231b573d6000803e3d6000fd5b505050505b60008173ffffffffffffffffffffffffffffffffffffffff168460405160006040518083038185875af1925050503d806000811461237a576040519150601f19603f3d011682016040523d82523d6000602084013e61237f565b606091505b5050905080611632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f526f75746550726f636573736f722e777261704e61746976653a204e6174697660448201527f6520746f6b656e207472616e73666572206661696c6564000000000000000000606482015260840161035d565b60006124228580516001018051915290565b905060006124368680516014018051915290565b905060ff8216156128315773ffffffffffffffffffffffffffffffffffffffff85163014156124a5576124a073ffffffffffffffffffffffffffffffffffffffff85167f000000000000000000000000000000000000000000000000000000000000000085611299565b61275b565b73ffffffffffffffffffffffffffffffffffffffff8516331415612505576124a073ffffffffffffffffffffffffffffffffffffffff8516337f0000000000000000000000000000000000000000000000000000000000000000866132fa565b6040517f4ffe34db00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301527f00000000000000000000000000000000000000000000000000000000000000001690634ffe34db906024016040805180830381865afa158015612590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b49190613c04565b516040517fdf23b45b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301526fffffffffffffffffffffffffffffffff909216917f0000000000000000000000000000000000000000000000000000000000000000169063df23b45b90602401606060405180830381865afa158015612656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061267a9190613c77565b60409081015190517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526fffffffffffffffffffffffffffffffff909216918716906370a0823190602401602060405180830381865afa158015612720573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612744919061388c565b61274e919061390d565b6127589190613925565b92505b6040517f02b9446c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830181905290831660448301526064820185905260006084830152906302b9446c9060a40160408051808303816000875af1158015612806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282a9190613bc0565b5050610b55565b73ffffffffffffffffffffffffffffffffffffffff851615612908576040517ff18d03cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528681166024830152306044830152606482018590527f0000000000000000000000000000000000000000000000000000000000000000169063f18d03cc90608401600060405180830381600087803b1580156128eb57600080fd5b505af11580156128ff573d6000803e3d6000fd5b505050506129c1565b6040517ff7888aec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301523060248301527f0000000000000000000000000000000000000000000000000000000000000000169063f7888aec90604401602060405180830381865afa15801561299a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129be919061388c565b92505b6040517f97da6d3000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152306024830152828116604483015260006064830152608482018590527f000000000000000000000000000000000000000000000000000000000000000016906397da6d309060a40160408051808303816000875af1158015612a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a8e9190613bc0565b5050505050505050565b6000612aaa8580516014018051915290565b85516020808201805190920101875290915073ffffffffffffffffffffffffffffffffffffffff851615612b91576040517ff18d03cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015286811660248301528381166044830152606482018590527f0000000000000000000000000000000000000000000000000000000000000000169063f18d03cc90608401600060405180830381600087803b158015612b7857600080fd5b505af1158015612b8c573d6000803e3d6000fd5b505050505b6040517f627dd56a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063627dd56a90612be3908490600401613ce3565b6020604051808303816000875af1158015612c02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611632919061388c565b6000612c388580516014018051915290565b90506000612c4c8680516001018051915290565b90506000612c608780516001018051915290565b60000b90506000612c778880516001018051915290565b60000b90506000612c8e8980516014018051915290565b90506000612ca28a80516014018051915290565b9050600073ffffffffffffffffffffffffffffffffffffffff891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415612d8b576040517f3df02124000000000000000000000000000000000000000000000000000000008152600f86810b600483015285900b6024820152604481018990526000606482015273ffffffffffffffffffffffffffffffffffffffff881690633df02124908a9060840160206040518083038185885af1158015612d5f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612d84919061388c565b905061306e565b73ffffffffffffffffffffffffffffffffffffffff8a16331415612dcb57612dcb73ffffffffffffffffffffffffffffffffffffffff8a1633308b6132fa565b612dec73ffffffffffffffffffffffffffffffffffffffff8a16888a613358565b5060ff8616612e9f576040517f3df02124000000000000000000000000000000000000000000000000000000008152600f86810b600483015285900b6024820152604481018990526000606482015273ffffffffffffffffffffffffffffffffffffffff881690633df02124906084016020604051808303816000875af1158015612e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d84919061388c565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015612f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f30919061388c565b6040517f3df02124000000000000000000000000000000000000000000000000000000008152600f88810b600483015287900b6024820152604481018b90526000606482015290915073ffffffffffffffffffffffffffffffffffffffff891690633df0212490608401600060405180830381600087803b158015612fb457600080fd5b505af1158015612fc8573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000925073ffffffffffffffffffffffffffffffffffffffff861691506370a0823190602401602060405180830381865afa158015613039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305d919061388c565b90506130698282613925565b925050505b73ffffffffffffffffffffffffffffffffffffffff831630146131d45773ffffffffffffffffffffffffffffffffffffffff821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156131b35760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b50509050806131ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f526f75746550726f636573736f722e7377617043757276653a204e617469766560448201527f20746f6b656e207472616e73666572206661696c656400000000000000000000606482015260840161035d565b506131d4565b6131d473ffffffffffffffffffffffffffffffffffffffff83168483611299565b5050505050505050505050565b606082471015613273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161035d565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161329c9190613cf6565b60006040518083038185875af1925050503d80600081146132d9576040519150601f19603f3d011682016040523d82523d6000602084013e6132de565b606091505b50915091506132ef87838387613389565b979650505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526103b49085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016112eb565b6000613365848484613426565b80611b65575061337784846000613426565b8015611b655750611b65848484613426565b6060831561341c5782516134155773ffffffffffffffffffffffffffffffffffffffff85163b613415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161035d565b5081611b65565b611b658383613535565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b300000000000000000000000000000000000000000000000000000000179052915160009283928392918816916134bf9190613cf6565b6000604051808303816000865af19150503d80600081146134fc576040519150601f19603f3d011682016040523d82523d6000602084013e613501565b606091505b509150915081801561352b57508051158061352b57508080602001905181019061352b919061393c565b9695505050505050565b8151156135455781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035d9190613ce3565b6000806000806060858703121561358f57600080fd5b8435935060208501359250604085013567ffffffffffffffff808211156135b557600080fd5b818701915087601f8301126135c957600080fd5b8135818111156135d857600080fd5b8860208285010111156135ea57600080fd5b95989497505060200194505050565b73ffffffffffffffffffffffffffffffffffffffff811681146109ac57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261365b57600080fd5b813567ffffffffffffffff808211156136765761367661361b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156136bc576136bc61361b565b816040528381528660208588010111156136d557600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561370e57600080fd5b8635613719816135f9565b9550602087013594506040870135613730816135f9565b9350606087013592506080870135613747816135f9565b915060a087013567ffffffffffffffff81111561376357600080fd5b61376f89828a0161364a565b9150509295509295509295565b600080600080600080600080610100898b03121561379957600080fd5b88356137a4816135f9565b97506020890135965060408901356137bb816135f9565b95506060890135945060808901356137d2816135f9565b935060a0890135925060c08901356137e9816135f9565b915060e089013567ffffffffffffffff81111561380557600080fd5b6138118b828c0161364a565b9150509295985092959890939650565b80151581146109ac57600080fd5b6000806040838503121561384257600080fd5b823561384d816135f9565b9150602083013561385d81613821565b809150509250929050565b60006020828403121561387a57600080fd5b8135613885816135f9565b9392505050565b60006020828403121561389e57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613906576139066138a5565b5060010190565b60008219821115613920576139206138a5565b500190565b600082821015613937576139376138a5565b500390565b60006020828403121561394e57600080fd5b815161388581613821565b80516dffffffffffffffffffffffffffff8116811461147857600080fd5b60008060006060848603121561398c57600080fd5b61399584613959565b92506139a360208501613959565b9150604084015163ffffffff811681146139bc57600080fd5b809150509250925092565b600062ffffff838116908316818110156139e3576139e36138a5565b039392505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a2357613a236138a5565b500290565b600082613a5e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60005b83811015613a7e578181015183820152602001613a66565b838111156103b45750506000910152565b60008151808452613aa7816020860160208601613a63565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b84815283602082015273ffffffffffffffffffffffffffffffffffffffff8316604082015260806060820152600061352b6080830184613a8f565b600073ffffffffffffffffffffffffffffffffffffffff838116908316818110156139e3576139e36138a5565b600073ffffffffffffffffffffffffffffffffffffffff808316818516808303821115613b7057613b706138a5565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a060808301526132ef60a0830184613a8f565b60008060408385031215613bd357600080fd5b505080516020909101519092909150565b80516fffffffffffffffffffffffffffffffff8116811461147857600080fd5b600060408284031215613c1657600080fd5b6040516040810181811067ffffffffffffffff82111715613c3957613c3961361b565b604052613c4583613be4565b8152613c5360208401613be4565b60208201529392505050565b805167ffffffffffffffff8116811461147857600080fd5b600060608284031215613c8957600080fd5b6040516060810181811067ffffffffffffffff82111715613cac57613cac61361b565b604052613cb883613c5f565b8152613cc660208401613c5f565b6020820152613cd760408401613be4565b60408201529392505050565b6020815260006138856020830184613a8f565b60008251613d08818460208701613a63565b919091019291505056fea26469706673582212201ff294929b57776d43429e47ba13e7bb550e4a27be6afbadf8c8a0d6ad6324b364736f6c634300080a00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305419b3eb3af5d93b77a5619b047de0eed7115a19e70058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05601010000000000000000000000000000000000000001021405581e0346f3384688341c721b805b50098dc47cca55495de4632b2164ba0ecc500701193d4805581e0379917346931eb83e6339c243e7b8ee258d80a71a526da6387a6f17d5200c0247051ed811d05d9c05581e032f19124404229fab105d2ba19c50713b04e8f7100b7ff9e8ac5a90b2c00403032bbe29e5167bd5b8b261acb9cbfbda5955ab14f8a2147393dc99b3b91f3941b7021979f20219ffff03cfebbc672fb6955756dd96982c262329780ef16af771106fe1863c40fba98bd1039c5ce55564e5d3827c63032bdad00452a151dc0cb7b80e462b3158bb37f25cd2033891e8f759d282533e50ce8a28e72b84397ca481e2abf51913ca016ef1c48d9a036a40261ab005dbc390327bab7fdc4595b49cc74db5fbbf8a266be86e8a6a939603e0b81fd21c4694d5ca50ee94b09f5c288ed5c3abd3396e2702c41b2c8167a7c103b2b9ae2812235290bec5387a83acaed6f7a75253af34940df9fd3fd16474c5f30219ffff0323ccdf157c793e44915309245991bf05e1533d35f90c67ef50e76bd48042300803ad06cdfe0bf06c2165c86083dfdbfe19c96db30c5b517d53506bb2301f78d5090219ffff039d7cd03fd861951ea519526e6d110134a7dcedf39aedf24b8e84df2c6a25f8b6034c5ffa48fcd4da327ad297d7c8ddfe2236e063425ecc53218465b5b01ea87b9403b2d527510b4af75915e50591a77fdb6dbcd85c7fdd949e23bd2708206be56a5403d39e579bce88a0479878061b9dd7d87f1138e84efeb1434c66be375c5f50f4ad0330c08e644e2fd8bfc594e8ac76d708b26da430ee0c9f6ad2dd3605c1f78bb0e6038e95087f9527242d4a924bd11b6630c5a62ca6b6aa5ca3205d67ae3f03197a84034d4c815d8d001d8eb6e10b86ce6acd44ab5b69fa49c5de4cba9dcffc67fc03ed038e91687246655961e97eb0ce98ae9398649e2c17f399e7b7b1d75b52d2e72786032133af192d94da54ae62aac94d5a61b4c25f70965a149b612adcd69dccf2c1d203736b6fd664ac16303de2fbd51e315d12ee802e9559f5209bcb8d9b5a29507898039f0b21d127f4f95bda4e79475afd810ff834053d7af340af769e3da859adeae4039147085bb614137472ff513de24f7d3ad0c83afd927499082113e95d0534e0630364c12f0212e445e24e10b45788fa8b12bd1882f4ce090cd8c56cc357061fbd7b032d8be782d5a528fae7aec70d39ec47ceab258da8b4d567ca7d7cbb7e044648ce03fc1dfd234a678687b44765c533a607b4c6bb95d07fcb47eab6cc71206286d33703847877aa483cf276829554cd8699565a34d57780de30894945751c3b72b0610d0351bdceb9066e4242ae198e050abef853fb59d84f206216057681c4966c2ced7903e9735237342113a86c8cfb25207be3bf673b4fffb7e9139cf3f5d6eca345d54205581e0367ffece506dec66f013695adfbc00082b98c86907a1cbe5823762a8b800c0a46d300b596800005581d02b1a1b6ed338483ee9bc366b0bc4efefa32e419ecaefd2c95c0751856040104591e94608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de578063a9059cbb11610097578063cf1a0ce111610071578063cf1a0ce11461031e578063dd62ed3e14610331578063e057fbff14610344578063ffb6b2fa1461035757610173565b8063a9059cbb146102e5578063a97e5c93146102f8578063aefe7da41461030b57610173565b806370a082311461027c57806375f2d82b1461028f5780637ddc1027146102a457806395d89b41146102b7578063a2d7cab8146102bf578063a457c2d7146102d257610173565b806335e061fc1161013057806335e061fc1461020857806339509351146102105780634054b92b1461022357806343672af0146102365780634fd7795414610249578063633a0d181461026957610173565b806306fdde0314610178578063095ea7b3146101965780630a55ec25146101b657806318160ddd146101cb57806323b872dd146101e0578063313ce567146101f3575b600080fd5b61018061036a565b60405161018d91906119db565b60405180910390f35b6101a96101a43660046115e9565b610400565b60405161018d91906118be565b6101c96101c4366004611753565b610416565b005b6101d3610468565b60405161018d91906118c9565b6101a96101ee3660046115ae565b61046e565b6101fb6104f6565b60405161018d9190611ca0565b6101a96104fb565b6101a961021e3660046115e9565b610504565b6101c96102313660046117cd565b610537565b6101c9610244366004611612565b61055c565b61025c6102573660046116bd565b610615565b60405161018d9190611897565b6101d36102773660046117b2565b61063f565b6101d361028a36600461155b565b610692565b6102976106b1565b60405161018d91906118ab565b6101d36102b236600461164e565b610712565b610180610749565b6101c96102cd3660046116d5565b6107aa565b6101a96102e03660046115e9565b610954565b6101a96102f33660046115e9565b6109ce565b6101a961030636600461155b565b6109db565b6101d3610319366004611719565b6109f0565b6101a961032c3660046116bd565b610a09565b6101d361033f36600461157c565b610a1e565b6101c961035236600461180f565b610a49565b6101c9610365366004611669565b610abb565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103f65780601f106103cb576101008083540402835291602001916103f6565b820191906000526020600020905b8154815290600101906020018083116103d957829003601f168201915b5050505050905090565b600061040d338484610aea565b50600192915050565b600061042284846109f0565b9050600283511161044e5760405162461bcd60e51b815260040161044590611ad4565b60405180910390fd5b6104588183610bd6565b6104628484610d06565b50505050565b60025490565b600061047b848484610e66565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156104de5760405162461bcd60e51b8152600401808060200182810382526028815260200180611da86028913960400191505060405180910390fd5b6104eb8533858403610aea565b506001949350505050565b600990565b60055460ff1681565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161040d9185908501610aea565b60006105428361063f565b905061054e8183610bd6565b61055783610fbc565b505050565b60055460ff1661057e5760405162461bcd60e51b815260040161044590611a9d565b600061058a8433610a1e565b9050828110156105ac5760405162461bcd60e51b815260040161044590611bbd565b6105b98433858403610aea565b6105c38484610fc8565b8160200151846001600160a01b03167f6b74e6f7dd6e60dc426635d2014db6f0d51f3ce50162504b561ccd9ca158f68c846000015186604051610607929190611911565b60405180910390a350505050565b6006818154811061062557600080fd5b6000918252602090912001546001600160a01b0316905081565b80516020808301516040808501518051805190850151828601519284015193516000976106759761da7a97919691959201611990565b604051602081830303815290604052805190602001209050919050565b6001600160a01b0381166000908152602081905260409020545b919050565b606060068054806020026020016040519081016040528092919081815260200182805480156103f657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106eb575050505050905090565b600061b012838360405160200161072b93929190611974565b60405160208183030381529060405280519060200120905092915050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103f65780601f106103cb576101008083540402835291602001916103f6565b8060200151516041146107cf5760405162461bcd60e51b815260040161044590611a0e565b60208082015190810151604082015160608301519192909160001a907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561082b5760405162461bcd60e51b815260040161044590611b02565b8160ff16601b1415801561084357508160ff16601c14155b156108605760405162461bcd60e51b815260040161044590611b7b565b60606040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152509050600081886040516020016108af929190611875565b60405160208183030381529060405280519060200120905086600001516001600160a01b0316600182868989604051600081526020016040526040516108f894939291906118d2565b6020604051602081039080840390855afa15801561091a573d6000803e3d6000fd5b505050602060405103516001600160a01b03161461094a5760405162461bcd60e51b815260040161044590611a74565b5050505050505050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156109b75760405162461bcd60e51b8152600401808060200182810382526025815260200180611e3a6025913960400191505060405180910390fd5b6109c43385858403610aea565b5060019392505050565b600061040d338484610e66565b60076020526000908152604090205460ff1681565b60006105e7838360405160200161072b93929190611948565b60086020526000908152604090205460ff1681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055460ff16610a6b5760405162461bcd60e51b815260040161044590611a9d565b610a753383610fc8565b6020810151815160405133917f6b74e6f7dd6e60dc426635d2014db6f0d51f3ce50162504b561ccd9ca158f68c91610aaf91908790611911565b60405180910390a35050565b6000610ac78484610712565b9050610ad38183610bd6565b50506005805460ff19169215159290921790915550565b6001600160a01b038316610b2f5760405162461bcd60e51b8152600401808060200182810382526024815260200180611e166024913960400191505060405180910390fd5b6001600160a01b038216610b745760405162461bcd60e51b8152600401808060200182810382526022815260200180611d606022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6006546003906002020481511015610c005760405162461bcd60e51b815260040161044590611a45565b60008281526008602052604090205460ff1615610c2f5760405162461bcd60e51b815260040161044590611b44565b80516000805b82811015610ce7576000848281518110610c4b57fe5b602090810291909101810151516001600160a01b0381166000908152600790925260409091205490915060ff16610c945760405162461bcd60e51b815260040161044590611c3c565b6001600160a01b038116838111610cbd5760405162461bcd60e51b815260040161044590611c69565b809350610cdd87878581518110610cd057fe5b60200260200101516107aa565b5050600101610c35565b505050600091825250600860205260409020805460ff19166001179055565b60065460005b81811015610d635760006007600060068481548110610d2757fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101610d0c565b508151610d7790600690602085019061121b565b5060065460005b81811015610e265760076000858381518110610d9657fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff1615610dda5760405162461bcd60e51b815260040161044590611c05565b600160076000868481518110610dec57fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610d7e565b507fbf8eff3db76b38ea899a5a32c8b2bede5ec5a339a2c5080495d1b154f2b5f21e8484604051610e589291906118f0565b60405180910390a150505050565b6001600160a01b038316610eab5760405162461bcd60e51b8152600401808060200182810382526025815260200180611df16025913960400191505060405180910390fd5b6001600160a01b038216610ef05760405162461bcd60e51b8152600401808060200182810382526023815260200180611d1b6023913960400191505060405180910390fd5b610efb838383610557565b6001600160a01b03831660009081526020819052604090205481811015610f535760405162461bcd60e51b8152600401808060200182810382526026815260200180611d826026913960400191505060405180910390fd5b6001600160a01b038085166000818152602081815260408083208787039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a350505050565b610fc5816110d2565b50565b6001600160a01b03821661100d5760405162461bcd60e51b8152600401808060200182810382526021815260200180611dd06021913960400191505060405180910390fd5b61101982600083610557565b6001600160a01b038216600090815260208190526040902054818110156110715760405162461bcd60e51b8152600401808060200182810382526022815260200180611d3e6022913960400191505060405180910390fd5b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3505050565b6110ed816000015182602001516001600160401b0316611157565b80516040808301516020808201518251808301519051938501519287015194516001600160a01b0390961695919490937fb4970d7abac0f0a296c031e82e94fba581d5f7c71401083ff999b9d86e9b99029361114c9391929091611924565b60405180910390a450565b6001600160a01b0382166111b2576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6111be60008383610557565b60028054820190556001600160a01b038216600081815260208181526040808320805486019055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b828054828255906000526020600020908101928215611270579160200282015b8281111561127057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061123b565b5061127c929150611280565b5090565b5b8082111561127c5760008155600101611281565b80356001600160a01b03811681146106ac57600080fd5b600082601f8301126112bc578081fd5b81356112cf6112ca82611cd1565b611cae565b8181529150602080830190848101818402860182018710156112f057600080fd5b60005b848110156113165761130482611295565b845292820192908201906001016112f3565b505050505092915050565b600082601f830112611331578081fd5b813561133f6112ca82611cd1565b818152915060208083019084810160005b8481101561131657611367888484358a0101611389565b84529282019290820190600101611350565b803580151581146106ac57600080fd5b60006040828403121561139a578081fd5b604051604081016001600160401b0382821081831117156113b757fe5b816040528293506113c785611295565b83526020915081850135818111156113de57600080fd5b8501601f810187136113ef57600080fd5b8035828111156113fb57fe5b61140d601f8201601f19168501611cae565b9250808352878482840101111561142357600080fd5b808483018585013760009083018401525091015292915050565b600081830360c081121561144f578182fd5b60408051606081016001600160401b03828210818311171561146d57fe5b81845282955061147c87611295565b835261148a60208801611544565b60208401526080603f19860112156114a157600080fd5b8351945060608501915084821081831117156114b957fe5b5082526114c8868684016114ec565b8352608085013560208401526114e060a08601611544565b83830152015292915050565b6000604082840312156114fd578081fd5b604051604081018181106001600160401b038211171561151957fe5b6040529050808235600081900b811461153157600080fd5b8152602092830135920191909152919050565b80356001600160401b03811681146106ac57600080fd5b60006020828403121561156c578081fd5b61157582611295565b9392505050565b6000806040838503121561158e578081fd5b61159783611295565b91506115a560208401611295565b90509250929050565b6000806000606084860312156115c2578081fd5b6115cb84611295565b92506115d960208501611295565b9150604084013590509250925092565b600080604083850312156115fb578182fd5b61160483611295565b946020939093013593505050565b600080600060808486031215611626578283fd5b61162f84611295565b92506020840135915061164585604086016114ec565b90509250925092565b60008060408385031215611660578182fd5b61160483611379565b60008060006060848603121561167d578283fd5b61168684611379565b92506020840135915060408401356001600160401b038111156116a7578182fd5b6116b386828701611321565b9150509250925092565b6000602082840312156116ce578081fd5b5035919050565b600080604083850312156116e7578182fd5b8235915060208301356001600160401b03811115611703578182fd5b61170f85828601611389565b9150509250929050565b6000806040838503121561172b578182fd5b8235915060208301356001600160401b03811115611747578182fd5b61170f858286016112ac565b600080600060608486031215611767578081fd5b8335925060208401356001600160401b0380821115611784578283fd5b611790878388016112ac565b935060408601359150808211156117a5578283fd5b506116b386828701611321565b600060c082840312156117c3578081fd5b611575838361143d565b60008060e083850312156117df578182fd5b6117e9848461143d565b915060c08301356001600160401b03811115611803578182fd5b61170f85828601611321565b60008060608385031215611821578182fd5b823591506115a584602085016114ec565b6000815180845260208085019450808401835b8381101561186a5781516001600160a01b031687529582019590820190600101611845565b509495945050505050565b60008351611887818460208801611cee565b9190910191825250602001919050565b6001600160a01b0391909116815260200190565b6000602082526115756020830184611832565b901515815260200190565b90815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000838252604060208301526119096040830184611832565b949350505050565b60009290920b8252602082015260400190565b60009390930b83526001600160401b03918216602084015216604082015260600190565b600061ffff851682528360208301526060604083015261196b6060830184611832565b95945050505050565b61ffff9390931683529015156020830152604082015260600190565b61ffff9790971687526001600160a01b039590951660208701526001600160401b03938416604087015260009290920b6060860152608085015260a08401521660c082015260e00190565b60006020825282518060208401526119fa816040850160208701611cee565b601f01601f19169190910160400192915050565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b6020808252601590820152744e6f7420656e6f756768207369676e61747572657360581b604082015260600190565b6020808252600f908201526e57726f6e67207369676e617475726560881b604082015260600190565b6020808252601a908201527f4275726e2069732063757272656e746c792064697361626c6564000000000000604082015260600190565b60208082526014908201527313995dc81cd95d081a5cc81d1bdbc81cda1bdc9d60621b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526018908201527f566f746520697320616c72656164792066696e69736865640000000000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b60208082526017908201527f4475706c6963617465206f7261636c6520696e20536574000000000000000000604082015260600190565b6020808252601390820152722ab730baba3437b934bd32b21039b4b3b732b960691b604082015260600190565b60208082526019908201527f5369676e61747572657320617265206e6f7420736f7274656400000000000000604082015260600190565b60ff91909116815260200190565b6040518181016001600160401b0381118282101715611cc957fe5b604052919050565b60006001600160401b03821115611ce457fe5b5060209081020190565b60005b83811015611d09578181015183820152602001611cf1565b83811115610462575050600091015256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122059e486842dfe8c7ab44224799a35633a87ec346b1f567828e3450c99e78e54a864736f6c63430007040033039d22dfc9ae0daafbe6e8822844c3c31822f991cfcb4a9c2ec810af92787dd55c03e536a9baa9837cd479a45ceb9699720426b6bd3f6837e37883d4c295b1db1d9d03112616ccd27fe5333861f4e3f2063980ec54da9a18016c15d78d674c9d539902033fa323c984a70780b57cf29d3b86835d8827505230a0e340420f1d850a7a7dba03d749aa0d6468a380cad34e7792b2050fa2253435f700e6189094946ca995c96d03afbe3c24019e4f486ac36aa8dd8e20c850e4edc3bf305f3dc838b7d3cab5bb36037b6ce595e218305d907b4a4646702df479a4cc9884b3ddb80d0b8e24c4e0fb5703cf2956062bbd05e2a0306c8cca1cf6689ddf7cd94fe2abe50c565471ba788f9803209c0a17fe40a93179ff8da010d0f5ec17aad96b435420fe46917f9a7966469403b937c4090aba8b805287ce323952a7cb939dc44a449c72cac5e993388366bc2f037460e95a8cadb6106661c1bb0238f300c355b7f158996ad1d16c9dbccde41ce6035e4c7da2ab2f60284b74231bb251b875ce46602168e5171a33bcee8d7c98530d034e08c0ece747f8da57f9040a20a1830eca9f92f989e841501828a4d13a55c1c400581f02467cab72c06189fc5a06a3dd1330aab9dae4cfb66c76378de34acf79f786410100581f022c249bd8bd93bd52dafc6c682959f9a9b1cbff3290c99037e26ce456336f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffd88d6933d200581f03e550b1cda0dfe15863249de502356cf859080c1c3ab0f5ad62b185e0b28044060f5a6300581e021125e8059abd1a62ba8a5b9da3d585886a08c25056cb70b5c4d952f3bf5820fffffffffffffffffffffffffffffffffffffffffffffffffffffaff41727f2300581e02857461215c5f18d2f16453c44b2c90844fce6f2a01e1a49d31267fe039464a4cb15d75420219804000581f03b9910888faea69fabd01f543bee92fd1fab62be898e1842994beedf0da7049056bc75e2ad36952000219422000581f02dce8521a9bf2c913d069b9bb952ce8023ddfb268e6cd7e83f4edbef149f844e6fa975300581f0220a97aa1d2f2d90f555e3202e31656717c1b65be4959d95ec9c914442cd54501c450de8603ed3b89710f4182d8fa838dd3f90704b99418e003ab046e139a6a3d4d45a3aa9b03298efbec764c3d7e87be98468b1ef720512e74b5a4f5f45aeb0bb6fb574822ee03ccbaa3f660b2365ae6f7219aef45210c9f59453082ef4ed2ec1db24c34ea2e3000581f02c5e5e55c80860f0d4f1ecf7423b67acef06a51ad11b161a7becad39fce3245a4da0eaffc00581f02a3d8cb5bbc2d15b5b18f267f6992633e249aeb6a6d3c9afa2f0aa61f8db545027c452cba0348760d682fedecbb40e804df19510454d96be257070ad15c00c894cfd794cb8c00581f020285417f0d845f07e572665aa4c1dea8fa29ab6defdcb965385306cf2c244601218814a2a90219bfab03a13bc854350d9a356b341c8aff89c1fddc9266c0d26f7503899ca7bfeeb54f5003228863bf527415740970333123bc95ac556d2bad963f7ddcc34968fedce63ea1034b3828fd1164fe6b2eff9597cdccbb8e937a139381bcc4d86e24735675340402038fa3ef63f9899b1d493fd6632021717e9c32ba15a8bfe2076c0b5cd2788c320c03a828df6b840b57569f4bb4eef08201cd711fa36a698d28765e04b46d66792ee203dfc20dffc5a9ae8473df8b4d7fd2a4fefed44cdc38faec77cb7b54e9d4e78817031db8abe6a662ff4b11c933e1d8c3528b555f452420edeb4a9552334cd37fe26e03c511304ba7eeae5ca85b71b2daee8ec4dd6dd6dc9d64c1c9ac17b11136d59a79030c765038b22a0b6acb0dc5053ddc9a792fff6a739bce581ca15eba0dbc1c3540031254c85134f0fc7874939c6a8a1bb5896b6a16925085b7794922af478d68c5f10219ffff0353dfde2dc6f929097f74df1ddace8e099756227d7f20807decf33c7e00fe863703d06bc714047b875c76e72a818a1734a19f65e760052ddf64d9fd84b06ca644ca03a6b241e4bf918f334c6ca788d25aa1257983b306d7f7df3d626e8c5234444a9303976f222919278e1a5d89fe110a9f07fb1f34443e4fc409af4cae2b6d1cf4014b037c3855438bac98175584db208b605059fe3979b6c22daaf368f9240a6f833624032c6441e3bc660302f426c353175db5a1c84b5f5e18f4395adf6c3698eaf7608e0393b8167486c10c0b818451e8b62a9dab4f4127aee81f4c9d53ff94e06d0bcdbc0219ffff0306f65188276a610e5650ac70616951d4098ff01ad56ca487793ae0dc6d6343a3030ad094e4b31e0f3c0222b1fa0c205e2208865259d1912a3838f1b90c60b81b3d032564a404d64526f30d80f4ed3124b9cff39819169aa4dc079a992a2bb6055486037408e098ec0fc1ce311c9bdb4a4932bf474796b22586f9ba1143ffab8530a89c03163163f704e8876e9a8af34c7ed59c8b6f52f50bf00b5968dfff47c2d8a6a28f03bba44c13c0c7bc45f7fd708afb3dcf291c9224456e759546e2e477dcd7cf669f038fccef43c876036c0cb57118b696a1ee49e50c282cbba9f0c6d82473f0599afa00581f02bfb46056a877ae08b61f6e8f5242ae3bc3dbdaa8a080f979b9b53f37202e410100581f02efae19b76cd172ce7544bac8a380e6580174bb2cdf78e2ad58c53d5f973c4504e477ef7800581f02924c57e3783d3f40a92e5e0906c8fe5e0481c5ecb21dce9b40303be9a20845026271f6c100581f02d8790ca67fd5461989c65651f5b3dd50bd8622593c7950c02a3b6bbc98775820ffffffffffffffffffffffffffffffffffffffffffffffffffffffcb7687752700581f0374ae8add891547fa4f41121aa10ca6054b1e7a7a94b608cb9c28bcd87cf0450afaab65db00581f03989137a8adb6d0f1f8d096b50f79e1f233a6d1280c8dbc744c75bf02ca80450ec8c040840219408000581f02f3e9db3a87388e4583bc3471f85dcceb5a7980014de3dad1c121bcd5f7175820ffffffffffffffffffffffffffffffffffffffffffffffffffffbfb3549184a000581f02c0c42172fc1b6ad6399125f34e7d0404a63fa86f6052b731b071f4f20c0045029b60513900581f02bdcbb2f6dd557bc961d262c676831e03fdf82b1370c47517f8e67710609e440c81262b021953a903a6b5918acbf3c74344c45665816ba17c60fae97a56c06e4a215f248d4ad317900307f8f6b5860374b04967c53245ae3a40f7f3b7f8894e51df0f4e56c6898475df03e087b0f277207500fdd7c99bbcc27d3f3f154e89cd327bb638244cd3b1feabfa033c3bd4db33fdcbfec6c0f6aec9ec8c2b5183012b7117cbc1aa14f6e8e070af56031d0f9d37f51c99d81efdce5b8e58540696a93e40f6d46f941d8881a9c80efb5c03a3b16a3e7dd5933066dcf8e980728422e8e15e410ca34c379eae5e85be0a5a33039bbd37ac056527bc7d86ef44312b9df9b00145cfdedaaf16b2cf79d6a6e857fb03aec4f60f643d813447e589795169f50be33c0dfc9973286830a69c6a028fa6a8039b7843be9cdf1959dca697c7f0104524f02e6b64f4fa11aa3e61584b1ac990b00219ffff03c3d769fb2a819fedadd1eb20e269f5c09528aa0643ba369e4e24d1e360d1960603abed630359328ee71064bd0d9bdf081e8a07878e06bd2377398992d972a70ad903c2aa98634196279553f3cbd503d8b51fe10167eb1551e1f95081025f3e293ad803c1f4226d27b66670c6961cfc4af9ac7738341383fc7c2dcdd6ff10c30f909023035742e82cefd472c13327fce939df0d2228290d6aab770461faf5e276a14d4abb03a2db6c996326e1d4ad002b94735cc52b8599eb3434c41bb78fc57fd2aef759b003b03eb98c4d7cfb74021e04c6cc6e53c3ab0fcf1c871203af009bfe7773ca1d5703d06f03fdd8be4245fbcf9ca6322f176fde07804c7f86c49a0e82540ff4227d9a03ed7366f4e6e2a11e28800d49dc5db6dca87c9f47561b14dc5d77b60ee078f507030b1ab2a136de9d84eebb4da3375c744717b7fe700f1dc78ed48be7cec4f79773034d958ee75bb02139ade69a305a629ba12a9b0d4278f28b0be02b046be5f5ae9603b31b6158a84a6092d83c1c498f85bf3bf4a510d0c48492bd885b45d372a7cbe0036111b75e5f92b3ef57e17b2d4c94b88a4758dbc6048144aeeb0429eb9cda76d903e74b39c15035771eac38fd03ab5a925d4ac5b2d8dcbd99d8fed091f4fab385e40219ffff035e88fb4d841081b301072a0d97164c3c25c808448a94bf190148e1f5edd636a0031ee24bcf482a9b01795198c3fd8c709650bb83165b5a182881370f9f6ab96d32037d45229e31b5daaadca1c556acd36159cb257e7cd6a14690d9b8b43fd002d4d603d2af72c9db345b282286078106c8286699ecb44a95dcfb2da1cb577c588a3c2503fa0e1bbe5693a4cec047a7f4ffbb63c3575748dd7cdb1dc755c26a6707411e4903a87dda8a29843c8191e7156947ad81d2d4c5a8ac339ec3efae7f46a84340033803ddc3bdc5b90392c54dc0ebee8a565b365cbeeb4bf16e2b8a5d1689b0fb3f56bf03ccb9cbdefc944b6a4947d09757094344a960eb9d6df7f2697e430c2996af7b15030130767d2920ce12af2062058ad1f88f2b844f4049f13822704e30c1b3cd136a03087ac85a6a647d9777a36447d778e6a97a5c74e79ada5609d70fd70d0d7571f403d5ab46c714bf51fe1619bcaa17545cf0dea9ba391f11aba4bc0deb781dd2076d03a2bbbfe8bc1ffc21150563536b50624f6b2ff1d8a168803e7d1e5cca65929439033c0d91b75c3a994a78230d60495d97185ee243f87388497f82f5179972ef1420033443576faedd01173d28cf4f6f1d703699aa6490c38fb5c41eb186af929202970345306c0e5e5b7f7be9877f3866d840454137333912dbb692175f1131738484a803aa734d98505034f13f3117252f58863a4425889235bd5d1be573980585f215e903479151c25b267e1958772286defbc82fe80dea18b749cb02d2bfd44d3ed963f803e9c1109ec9cd9cac455396680ca84773e134a86b41495c2cf6ae3e7af0e3d8b703cf19e1faa0899455d7e059afd2cdfd3e5a3b72ae92e4b85026022e133a11a0240317fdb1c28b7b69a21ad29c0bbda76ff18eaf8ba22061eb09007c1d0c6a0e01cf035e90b5af4c00955f3747f1549c3a96df6487c1cb9309bb934d11a6190c4459cc00581f02aefd31d4a0c4d12f2ffae20519886fa2a3a4de98ba4ef937150ab50db3035820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02afd077b757ee9e2bca9f382998124c3b8750e0a780a43174a45719b4f74f5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffc6c2b9af500581f02bc89d2aba71d79775de783071ac6e3a5f077fad03f42501f374ca5ab10e05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffdf0038c5b032342eddfcbddb692652a4ad6ea5dfb58cd55ca3fe22dcfbcbb9c8713548089dd037d07b5e5245e825de796824db3966161b4979feff5265fb85ae043ccb4a6819f00581f02f2db3935b902fccc7f23bdf56a626b1b7b45866e63554a86ed0cdec920ce4502fb98c35000581f02acb5215f1f39cdd36c761f2b63f094377503b90277e78e9f582096bc38f4456a5a30db6e00581f02b8aaf6934997044c41990f1c92bdbcc60cf4f201ac56239926a03a86cc9a450a8c61d14600581f026151e87f5566f562abe040e4b41ecc468d164806f89b1760c0b751ec4ba85820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe9e49a44a00581f02ab99491b6cb615f1e426ff8bce39805c7e8b8662adede323e3ffb2b32244450295884a24021959ed03a8bbac2f9a0b544d85e323cce855a6764b90cc758e07b9a38c560b819f901da3031ee43e630f349711b18a750b8e0b46bbef5b26b878e484fa0652f677f1fe7f54033ec0bb4d0d814f46f53f273dc5f3cbcc8b049864f513c5392037e267df23fbc7037ca0c4b9152e48b05a5113c3a6cca00629cb4e2619125a107aabaa5dbfd3d91f03800945435e8163ada98524c05e1c1170d4781aff8784ac8bb133850df56e0e410354c15f1c53a115b9015c09a31ffb706159c2b8885e2e3370ac8b102d6eb02765032cceb2e1a3ebc4b3d34d5ccf5ddd0862a65009105a0fb28468421fd98f5e9ea203a2abc3ff3946606adf445edb4e09d81409ac08fe76d9137974603ef91b269344032a2cf8b1467c28ba809e61965ed02bb169c82aef89700e513c75a66a2cce59090348e67ba520947cfa51826b0312f913ce0a9e6b88de675f023ecccf4e21140e8103d20fd3c5f080d2aee1c9d39b444eea1f35a16baa8018d3d3aa2d98db65b6ca5503515ee0bf727001ed12dfae91a1d2fff9ed3617418841f2d969325d53028c70c103425ca3e1267826e67be79572a70360a59292aa6407a701413e72e9cb5e7f3e2003fd018828039f8d27ffecf083e6af305e5e396baa80f8289d3e4991ee2fb54f990219ffff03bf745a9223556b184de5ec712b8bb8b61e8a58feb9289a64a1dc5e16f22faf290219ffff03878859917ebc9c02d806e37b93dd0f9c3df83687c1d0bec537cbf3a9771819540352bd66a42063da7cd14ddf04d33add725b2103936ab219d1e09e3ea846c94efb0334bc1334b592c266899f865721e20b588503da3e2834261465e43ede06a22d8803317132a8cebaaad2f0b6fdbc90a4d57db1fae9e2538f186f299fe16c4aaad35103cba4033221108df7a752e3aaa76b2dda56c6240ba39dc7b74ebdc617738c03fe03a23de0b1991b422c37900512f4727a3171eeebf51bf20c4f37ed7579234e896c035926dcc85fa14e3b812eab7a645fcd420c7ac1e8c4a353d4bb8e1340babfa82f03e81a0bf1dd784a3dce066ba9c042d9de3c9229645ebf8e9251be5ec6bd8d0aa3039d3b0ab3a9e641577ca24a2a2ff71eaaa721a917037a666e7bf8a14e54d46b6303a53bcecba491f93f0a8853701b58a8ef7fdeab1506b936a721e03de542bdcbeb030d63a8fbbffda7de550ad9cc13bc5cecb39fc293eb8f57307332c886c86a158b0367665eed482df58b3804664d6b32e5775a65b0c2df602dae69d9187a9a40f926034d42f7c0b72f8608fbf00df31ec972886dcbf3200d21b3dd93aab1762c21be0303f1f83de3b65ef8c53ae6a641a8e8735278900aa2398dcf530825e7736fe0dbd50345bb9df5d19c765bbfcbd338f7be149dccf00fc9ee5b4089e2d64987b481ddea031757b999c5726d45bcdb5636884221033e91cc43c9ea228e662f3116efa1304203a67693ed320224c8b3aa8ef43dc99b13689c4bcacf6c980ff1c0dc33fcc89e4d0345d2fe3eca2610f285963338c5536a3ef44cd2108875969829b2fdaaf6d76ca3032f8b97b06110eb15d1d2aa4b51695e45bdf340044e3275d7b83d464868c78eeb0384e0a8787e54cbb4fa1e4a48ee85679a406836fd253bc7ef582011ac933b32af00581f023383eedb0ae9ebf2be35bc69f5621674c7d47e5dfdb1621907db8d26acdc460bea99d507c803a12800c3e7e7c73780d9f4a8256c91e2ec8b240acc346a76403d646431f9ce2c0328b3ee7e4b5d5179609633f1b2dfe3f37fbdb43b68d0c09d9104c63ef48fb63c00581f0233acf7001bcefebd4d58c951a042cdb9f13a62ff8db1a270f00ef52d003b4fc097ce7bc90715b34b9f1000000000031add9758cfe93125ba79b3d34ba52621cc48d8532d3d11fe7964ee4fa55b35790380f53ddc4b732084d4b752ebb1b49b9e79c668de9d642e81e47d792614252370021987c003eb25b22ff941a756866f32f24bd05d924cb851a0285ad583615f5b83f5c2522f03976c088c975eacfd6f21edadfed994466751eb317b4e53c138c9db778bcfc7340219ffff0310d3b7fb437931b093738ddf9b4428ebf1ddd605c1c35127227683de962ce0ae03ec207a52e80d16c269206d1460a9a94ab9f7231a4dd808b6b42ed7d1d707ade0031dc526733467814bd18602c2d2153754562f131bcb19fb6a54db2919de345fda03cdd426cd030b46cfee4a4be69fb7ceb05c4273b24ba627679ee874d3369595ff03054d67137393b08a38007a6f1b9c65043bfbc2430d3a441b0d124bb90a7e7a3e03cca78c4b1a29272f956ee13e13f660b4395f4c002fb3531021bbd887fe025cbb03972c2835414626ece15d7d97881fa5db5588f4034d1a926fc7f726cf41aed41c0318849c447d82309a8a10856a31a483cb010199b93be678f01fde7fcc02d41c8f0219ffff0398cc96ccfb19b473dbdd28a65fd306f559657f39c5e71a030c5ccd97d8d0e2fc0301f6529c1e8498fb0bd853e7b01afd1207826bf5fbd5f79a1605cc4c1646576f03b5d4401c5f1f05099c40393e9aa91d709798f8d31e23c067538b993f5aabd6c803e5ade784f0d74927ce32fb69605a926aece1613b97c1e876e3c7a4298a123fd303c4d8eccdb3d3df519d28370ff609f133ee7ec519376d4d12e572b842ef3cb7a103a57dae7e5ad3ed109f4691b1dc0e897c2c47c3e81dc0835c22c4b0e9e9bd6eed035ed8fcba6c0510a4f858d18767c0b8187b35bcece7de407f865cb31a5324631e03b864f4925d60e8f4ce75590aefb767a2df5965f051e4304bf8909a9b021c9c25038f2f01567fdb444eabe3c26c5f165cc547f5dfcf6c6e1078d5f30ca0aacbc00c0387685997056d677404a7a5a8a6308ed398394b08a969959d695c27b89c7e38bc030e37b2e182e4661c09f9374c576af1ae79ab99cb719e3fa6e0ea700c3da18a5b0387ec7377a117e86a3650a445e6710035d804314519a5a35195e04587962a3193036cb4f4de0b1928293ac007a88158c1f75c4e41fedfd99960baa2d2eceaa1040803efb266a128ded4a8114abf63bfbd4d2cf28b3a68644690690facdf447a06e82603ef4af27c0292ae3a19c96d3e609f16b4a945237ebd9110a994e00496b696946303e9ce30053d5fa4ceac0515736fc7c10df11f339660101bdcc46d7d3002f1e0d6032ec094c6c06b9eace35ed784a3619d243b6465599ef82c4b63b687ebf1305bb503834ceb1c8042be7848bca95f05a5a83dcf30c242cc962c55398bff97ec7c60010324b0abb528f4ed2e9eeb9e8c7fbb57a13588988823ccfdb83330c6568a26862d035246b3a6e74e2959c3870b98ab8ebde51bb6d87189e2f8c5e65908ae35a0170e036c372ab8fa62235a4becc10f6c786f1ea902d49f68607e4944cebd383073c18e03eb7a10441b174d7e73948f561859f4b9a24e4ddb18ec62a00ea9e7cee471950403d4ea5055cea380f0aeeb50864444e3eebf3b83ebd472b86c704fc9cc9e56c7be038aaaadefc0f97134cfae810c4254a4a28cbdfa065136da7e25649f320eac528a034747ef66343138a2c11ee51f39d3e6a1081caa688f9dfaf48f0e27d6b9399ace0395eb2bc3cf9d03525145af07202fa85cbbed42b6181e99be18505e1b13c682a9036c90d5b8ab761ae147abbc4c89b5117ef6cb98e350eae709cf2678b71039b74a00581f02f4a485d6b2406a1002f5254feceb6a83e03e99ba18a1eeee54173e9398b8410100581f02099144e58fd9bc28e6a0916d0f818bae7b3a785d62acc98d830bd4f9af56442a84301b00581f02334bd7e5f3f4f0bcfa19c86758259c24278ff9c7dc1b10b52e50ba86914245023c34600003c2971b814a44595171094d79ccaff97355f58296a4b28ffc0c21e2bb96902d2a00581f02b5d08fdd3f63a33f83408db4381ab00bc12464db12dfcac66873ead423bf45054a78c632034b30b0bc4b1a53fe704d826fcb9f1016e7fc1d6599bccd73bef5a09f63c8321803d7f4b41a4fcbed88b28f91dd9b8f972fc07c6105eb446e3e4469b9e66a472a9100581f028f456181cb3ab861ec34a6c9c35080c67f6045635360e2823bc488b3c3aa4501bb111e3702197c6303ea32fb7606118ed0ce842a60a40edfb4077727a0b1a0aa4775d0256b076f2c0a0219ffff0364c5d4ccb77e64a561b603b884c08791ae4d15583474122f66bbf35322fc0f18038bde9aa325aa9cf2b64d5a37b9bb3f12c74b3bb1ac0e7b7f3bccf3fbff2621a003f4ecab42ab979f6a7c12934fb3b709175c7435e52ec0d2a3652b812c427f0f700366e2ed81020f0e7894ba154791626af477e3cc61e40876918024eed15bcb5db40219ffff03d33a64c052aaa6c442c08539c084b7e5039f962c0900c817a7b51f6ff070b17d030747fc918b6a8a543fb8ac214a0a339bd823299b04f92f945e9a0fc2ce8d893103738d554953d34d960c50f60813d4ddddb5581c3c45105eb0b9d9b35d8f332f72034633bd4ede2fb3964e92e65000e0399f0ef94176b274f3a223d022f62f34ff590219ffff05581d02ab087ae7a0ed77cc24cc41da64da5c91792c0131d9fffc709fb261970701191e940219110003bfa879ccabc868baa35faf80660d0f33a6daaa003a5afb7a81fa8204b7ea892f05581e0349470522d43a58110e5e3c4750402bf90540a8c32f0156a011152723d00847071afd498d0000036af686f16e4437dfedff301c0efc59f7c275fe23369b7af8185b0e7025376f1205581e03dff6f045128291a9de835b7f8f3fce0f6ded11cabadf7e616191d86a90040103a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03591c8b96a14ce4cf76632917bb958b41313718491f479a3db6100abb6053c04405581e0371067f0de85f26f9320e82ad847feb9416d7345aac743d2c5b8a429fc007011bffffffffffffffff03b6311ba385eded0023c23eb1f53f257c974bc0677958679a6617e5efec171acc0219dee5032845bce9a86cd61e942cacba52fd6e237e77c3cc2067cea0be9cffc8e4642ae903d24911884ab4728888fe44a788008537a2c4f8d29c9f192b966c0fafeb551a8c033ca6cb19ef7488aff6817493ba51bed57afab7bed78bc7bf45e378571a20eff0034df1b98518ef735ca762d57954ff235a7119787a9349de7d1723c5eeb1f5cb620317af16628f08c1c9baf23225e5cd83ba3c5b2ecdc82dd4e84918270ee3843c4d037a55c6198cb47fe6e7f49188829ff87030b5b6077ca522469f7161704973f9e403058c3afbd052c30f26c017e1fa687c61efe5aba27ebcfd77a1552c2683b7665403ca0344b141638ab397b17da3a7a4415d1f76aec48ec1086b4a5a95d44ec0bbbc032b0a41d70b4f25080b8be85430035ab25c8289660365bfafd97b49cc435e318503e1b013cf53b9ecb80fe7a4565b32243becfaa45817fd2c23c23688bef9547fff03668018ff20dbb4e5c36dabf6d60af157ca0f45d3fcde2897fc44ef12d588385d03ebd4e20515affadb8751d2fa92e563ca775db03040257bf4d9c94ce9e7104ce10390e3615f0e5d403f2089dbd6b3da65dfa16a85f1d706bd6c9d1f3553ee47e31203150eaccdedbfe4d6be86547e516a3cb9fe0b63c2f0107d32a97dabf0db8607f60219ffff03bde1324c7286e8f54d532dc1a2af0cf4467a263665fe82902faeccb596074dda0342591523168688da507627b933c20ab57f64be53636d1f630459af8e683732a803ad13fe557f11f53e6caef7ec2c937a189d090d267227e8cc2f8aa217d58969c90397b841b45edb2cfdd063f32175172ef60f4fbab9782df33ffb402b5d5bd4821c03f5c312110c8516c06f7d30557b444b006518023f6d27abb4e1ebfb37379688e003da7751bec0b965fdfa8463191878a0f18111db2ad916f4c402b5d58137106d1f0304ca6e9d2741ebd192f7b3f23eb9f3820123fa532aed3faba45a9d74fd7d90730219ffff03010cfd6cc84d2b53f3c939cb72aef9b54f990a7ec10dccfb1cc8e4fe327b8c650354fc6f38a50646bd6818e347ca038525c64370c7ed9d170f90c4eac8b5212ad2035829c295d4ecb4654cd449290c5dfe75e41171dfb4191fed6231397e9c329793038461ac46824ef6eeff162865cf12931d2ab88890b50318f2407fdffa9fa6116f03433380467dcfb4dfbd7ca60d2725d5283e78ca61c12d28ca74a9d1e2977153ad03165068fe2d4904e894b47627f7acb7c5e0d4b23d4fc23fb931c3e6b73076d81203d37a9c0a11ab6975441f4fe283a0ee104718c2d421192cb109f380e6db585e250392483833572404584e6c7b7b04019cbdadcc8ecfe10f1eacb4d75eccf2b0e623030a601a33e996e379fdfe1bafeb6ec3b60c6f8d6edc07754ab2b2c891fc25ed7b037e5fbeabb783a97091f504a3dff5694f5d816dcfe5d2199e7d3ac6a867c3c71a036f39a91a9945a56a3b5474c330d913d9de7153f59554947ce460fd7655f8f5e103a22bd9f2c074169921689b6201c31d5ccb4f01b8ecee7da235c4cbb3d8b7256103173aadd6d5023a74ce186a08254e8b8a29b76bb40f595a832221f3c1701677ad03b8091ad07cfe5754168b025dcbc4cce17ba67f27a5c09039c5171aab49ef40150344e1cad3378fbca434ef284fc56014149a787d06f743a6ce32b196dd54c789a60219ffff035aa8ba32e1c8e3cbdcb460a949c42066533435ba00757d40f78790ab30e213180219ffff03c4a74f5e506c4be500b8de2859c6a955c5142a12e6a2de72a092d8b57ddea6e00320f52c843e37a004a8a5a0003cbe65683794fa79c4c1fd87e2878e82ea748a1603bf961bfd2c639371395ebcce6f809bea61c0d5fc17cf31dcc75ccad2eef4df30032c62866bb4e6b515f0a8490456dbf6f4524917cb483ea1a22ca70c2c39e39a27030645931c9eefce343cedae61fdef10f34b6b7d6ec037221b9d7b8aa5ee5a8fa703a37689adf819741a301395e3f188ac7eb9db51014073e12f6847ba7f704cd46c036955b9c5bf9c57c09f11c1025aa968739719ca9a69527be17871e5fd30ae07d0033f4de1994b2c719103c02b63c5074ec48bfeadbad479d663ea5c6895ea61c840037b77738aaa396822fcf1399505e72b7fc10637d787830849ad27a564296d6beb031df3113db2ef604140c2007d5f8776f03f183cb96f74143e44b6b41fcc4c246c0330ca11b4784a60c380d2af2603a5afacce7e09358b09a581fa5f6ef20c02a55a038671b860933eb5545406273a8dd07bbba5018138b5016a55d9b9149b5a52cde90306cfd922a3e777f4f35c4d544decfb8450fa4c1ebf81f0690d3e50a061fb4f0e032aca734b0ad59d95a332bb08de9af650b4be70e4c33f7d22c3b3c21df66827e303a8c67ac4c10b0074e4b18699e468a2f24159dc421568deffd2fdb8590deb39f903ec3a3c28dcd77e80e498544cb61e822a4cb4379d74cc428f668a1d0cabca7f1103a9e48aa46551bbbed352001d5cabb64eba5587a8dfac2b838cc037cc4db6947503db82ec2608d4881ee223c69050d95ed672f31a903e9b51e049e943035d5c653b03f9246916830bd8cca671c1417d3016d4b3162d70bd922e34f3d04a1549934d4d03248c824d5262e9f47094069bfd514239586b07fa86b02b01e441ca3f0c82fa2803f1ea7273025c94e1196fa1a07767dd0a9817e56b34b7a8b72d1f5966169ae97003768543e7649ce7f9347b0b29e492fbbdea9ff0b667bbc461a262468c9a1b89b203ea30613129d0ceccf197b19c8c1475f3bfb0e88fd6c32afced2d615c5ea3923d0346ac4c6ee54fc3d51979c662f343505b0ab717e8acc03225741f76625b7b0ca9030ff2b3d78ea35d298a1ec50d05a99337bbbb28e807516f337a821d65ed20b203030a75c383758ab344bf1c6b449587e7ab54be9d3ac3d86bd832f0ebbf4e03ccd403563cae54faccccfaa5b559bfa019646f90d565e8cc874846f5200f033f17d4520391d884567ae0e2c4d5e711cbd9eeefd724927b0240229a989e92157fa8f4e5a705581e03ed187ce44c9997cb385750591ef7037d91cc2c23c2bd592d3a7189ae300c0e4672085f6269f0031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03130151c3035b44b7d521b07c5acc416b338fc1d1cae9507a9522e2728007011bffffffffffffffff05581e03999e11878ec3279843bed50d173e45404236cb98f8a3d10449b08270f00c05472db79191a7b1e904592f266080604052600436106101125760003560e01c8063c04b8d59116100a5578063df2ab5bb11610074578063f28c049811610059578063f28c0498146102f5578063f3995c6714610308578063fa461e331461031b576101bd565b8063df2ab5bb146102cf578063e0e189a0146102e2576101bd565b8063c04b8d5914610281578063c2e3140a14610294578063c45a0155146102a7578063db3e2198146102bc576101bd565b80634aa4a4fc116100e15780634aa4a4fc146102195780639b2c0a371461023b578063a4a78f0c1461024e578063ac9650d814610261576101bd565b806312210e8a146101c2578063414bf389146101ca5780634659a494146101f357806349404b7c14610206576101bd565b366101bd573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216146101bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f4e6f742057455448390000000000000000000000000000000000000000000000604482015290519081900360640190fd5b005b600080fd5b6101bb61033b565b6101dd6101d83660046129f8565b61034d565b6040516101ea9190612df1565b60405180910390f35b6101bb610201366004612776565b6104bf565b6101bb610214366004612aff565b61057f565b34801561022557600080fd5b5061022e610745565b6040516101ea9190612c37565b6101bb610249366004612b2e565b610769565b6101bb61025c366004612776565b610981565b61027461026f3660046127d6565b610a56565b6040516101ea9190612caa565b6101dd61028f36600461294d565b610bb0565b6101bb6102a2366004612776565b610d0f565b3480156102b357600080fd5b5061022e610dc4565b6101dd6102ca3660046129f8565b610de8565b6101bb6102dd3660046126d7565b610f78565b6101bb6102f0366004612718565b611095565b6101dd610303366004612a14565b6111fb565b6101bb610316366004612776565b61132f565b34801561032757600080fd5b506101bb610336366004612868565b6113c7565b471561034b5761034b334761150e565b565b600081608001358061035d61165c565b11156103ca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b61047060a08401356103e260808601606087016126b4565b6103f3610100870160e088016126b4565b604080518082019091528061040b60208a018a6126b4565b61041b60608b0160408c01612adc565b61042b60408c0160208d016126b4565b60405160200161043d93929190612bc1565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611660565b91508260c001358210156104b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d72565b60405180910390fd5b50919050565b604080517f8fcbaf0c00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101879052606481018690526001608482015260ff851660a482015260c4810184905260e48101839052905173ffffffffffffffffffffffffffffffffffffffff881691638fcbaf0c9161010480830192600092919082900301818387803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50505050505050505050565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50519050828110156106a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b8015610740577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561071e57600080fd5b505af1158015610732573d6000803e3d6000fd5b50505050610740828261150e565b505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b60008211801561077a575060648211155b61078357600080fd5b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561080c57600080fd5b505afa158015610820573d6000803e3d6000fd5b505050506040513d602081101561083657600080fd5b50519050848110156108a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e742057455448390000000000000000000000000000604482015290519081900360640190fd5b801561097a577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561092257600080fd5b505af1158015610936573d6000803e3d6000fd5b50505050600061271061095285846117e690919063ffffffff16565b8161095957fe5b049050801561096c5761096c838261150e565b6109788582840361150e565b505b5050505050565b604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815233600482015230602482015290517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610a1657600080fd5b505afa158015610a2a573d6000803e3d6000fd5b505050506040513d6020811015610a4057600080fd5b50511015610978576109788686868686866104bf565b60608167ffffffffffffffff81118015610a6f57600080fd5b50604051908082528060200260200182016040528015610aa357816020015b6060815260200190600190039081610a8e5790505b50905060005b82811015610ba95760008030868685818110610ac157fe5b9050602002810190610ad39190612dfa565b604051610ae1929190612c27565b600060405180830381855af49150503d8060008114610b1c576040519150601f19603f3d011682016040523d82523d6000602084013e610b21565b606091505b509150915081610b8757604481511015610b3a57600080fd5b60048101905080806020019051810190610b5491906128e3565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b09190612d28565b80848481518110610b9457fe5b60209081029190910101525050600101610aa9565b5092915050565b6000816040015180610bc061165c565b1115610c2d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b335b6000610c3e8560000151611810565b9050610c97856060015182610c57578660200151610c59565b305b60006040518060400160405280610c738b6000015161181c565b81526020018773ffffffffffffffffffffffffffffffffffffffff16815250611660565b60608601528015610cb7578451309250610cb09061182b565b8552610cc4565b8460600151935050610cca565b50610c2f565b8360800151831015610d08576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d72565b5050919050565b604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523360048201523060248201529051869173ffffffffffffffffffffffffffffffffffffffff89169163dd62ed3e91604480820192602092909190829003018186803b158015610d8457600080fd5b505afa158015610d98573d6000803e3d6000fd5b505050506040513d6020811015610dae57600080fd5b505110156109785761097886868686868661132f565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b6000816080013580610df861165c565b1115610e6557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b610f0e60a0840135610e7d60808601606087016126b4565b610e8e610100870160e088016126b4565b6040518060400160405280886020016020810190610eac91906126b4565b610ebc60608b0160408c01612adc565b610ec960208c018c6126b4565b604051602001610edb93929190612bc1565b60405160208183030381529060405281526020013373ffffffffffffffffffffffffffffffffffffffff16815250611860565b91508260c00135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d3b565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600055919050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610fe157600080fd5b505afa158015610ff5573d6000803e3d6000fd5b505050506040513d602081101561100b57600080fd5b505190508281101561107e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b801561108f5761108f848383611a1c565b50505050565b6000821180156110a6575060648211155b6110af57600080fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b50519050848110156111b557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e73756666696369656e7420746f6b656e0000000000000000000000000000604482015290519081900360640190fd5b80156109785760006127106111ca83866117e6565b816111d157fe5b04905080156111e5576111e5878483611a1c565b6111f28786838503611a1c565b50505050505050565b600081604001358061120b61165c565b111561127857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f5472616e73616374696f6e20746f6f206f6c6400000000000000000000000000604482015290519081900360640190fd5b6112eb606084013561129060408601602087016126b4565b60408051808201909152600090806112a88980612dfa565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525033602090910152611860565b5060005491508260800135821115610f4e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b090612d3b565b604080517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526064810186905260ff8516608482015260a4810184905260c48101839052905173ffffffffffffffffffffffffffffffffffffffff88169163d505accf9160e480830192600092919082900301818387803b15801561055f57600080fd5b60008413806113d65750600083135b6113df57600080fd5b60006113ed82840184612a4c565b905060008060006114018460000151611bf1565b9250925092506114337f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984848484611c22565b5060008060008a13611474578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610896114a5565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16108a5b9150915081156114c4576114bf8587602001513384611c41565b610573565b85516114cf90611810565b156114f45785516114df9061182b565b86526114ee8133600089611860565b50610573565b806000819055508394506105738587602001513384611c41565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b6020831061158557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611548565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146115e7576040519150601f19603f3d011682016040523d82523d6000602084013e6115ec565b606091505b505090508061074057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354450000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b4290565b600073ffffffffffffffffffffffffffffffffffffffff8416611681573093505b60008060006116938560000151611bf1565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808316908416106000806116c4868686611e1f565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856116ea8f611e5d565b73ffffffffffffffffffffffffffffffffffffffff8e161561170c578d611732565b8761172b5773fffd8963efd1fc6a506488495d951d5263988d25611732565b6401000276a45b8d6040516020016117439190612da9565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401611772959493929190612c58565b6040805180830381600087803b15801561178b57600080fd5b505af115801561179f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c39190612845565b91509150826117d257816117d4565b805b6000039b9a5050505050505050505050565b6000821580611801575050818102818382816117fe57fe5b04145b61180a57600080fd5b92915050565b8051604211155b919050565b606061180a826000602b611e8f565b805160609061180a9083906017907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901611e8f565b600073ffffffffffffffffffffffffffffffffffffffff8416611881573093505b60008060006118938560000151611bf1565b9194509250905073ffffffffffffffffffffffffffffffffffffffff808416908316106000806118c4858786611e1f565b73ffffffffffffffffffffffffffffffffffffffff1663128acb088b856118ea8f611e5d565b60000373ffffffffffffffffffffffffffffffffffffffff8e161561190f578d611935565b8761192e5773fffd8963efd1fc6a506488495d951d5263988d25611935565b6401000276a45b8d6040516020016119469190612da9565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401611975959493929190612c58565b6040805180830381600087803b15801561198e57600080fd5b505af11580156119a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c69190612845565b915091506000836119db5781836000036119e1565b82826000035b909850905073ffffffffffffffffffffffffffffffffffffffff8a16611a0d578b8114611a0d57600080fd5b50505050505050949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251825160009485949389169392918291908083835b60208310611af157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611ab4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b53576040519150601f19603f3d011682016040523d82523d6000602084013e611b58565b606091505b5091509150818015611b86575080511580611b865750808060200190516020811015611b8357600080fd5b50515b61097a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f5354000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b60008080611bff8482612076565b9250611c0c846014612176565b9050611c19846017612076565b91509193909250565b6000611c3885611c33868686612266565b6122e3565b95945050505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c9c5750804710155b15611de5577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611d0957600080fd5b505af1158015611d1d573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611db357600080fd5b505af1158015611dc7573d6000803e3d6000fd5b505050506040513d6020811015611ddd57600080fd5b5061108f9050565b73ffffffffffffffffffffffffffffffffffffffff8316301415611e1357611e0e848383611a1c565b61108f565b61108f84848484612313565b6000611e557f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984611e50868686612266565b6124f0565b949350505050565b60007f80000000000000000000000000000000000000000000000000000000000000008210611e8b57600080fd5b5090565b60608182601f011015611f0357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b828284011015611f7457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015290519081900360640190fd5b81830184511015611fe657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015290519081900360640190fd5b606082158015612005576040519150600082526020820160405261206d565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561203e578051835260209283019201612026565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000818260140110156120ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f746f416464726573735f6f766572666c6f770000000000000000000000000000604482015290519081900360640190fd5b816014018351101561215d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e64730000000000000000000000604482015290519081900360640190fd5b5001602001516c01000000000000000000000000900490565b6000818260030110156121ea57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f746f55696e7432345f6f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b816003018351101561225d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e6473000000000000000000000000604482015290519081900360640190fd5b50016003015190565b61226e612626565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1611156122a6579192915b506040805160608101825273ffffffffffffffffffffffffffffffffffffffff948516815292909316602083015262ffffff169181019190915290565b60006122ef83836124f0565b90503373ffffffffffffffffffffffffffffffffffffffff82161461180a57600080fd5b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000178152925182516000948594938a169392918291908083835b602083106123f057805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016123b3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612452576040519150601f19603f3d011682016040523d82523d6000602084013e612457565b606091505b5091509150818015612485575080511580612485575080806020019051602081101561248257600080fd5b50515b61097857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f5354460000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000816020015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff161061253257600080fd5b508051602080830151604093840151845173ffffffffffffffffffffffffffffffffffffffff94851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301207fff0000000000000000000000000000000000000000000000000000000000000060a085015294901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660a183015260b58201939093527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808301919091528251808303909101815260f5909101909152805191012090565b604080516060810182526000808252602082018190529181019190915290565b803561181781612ef4565b600082601f830112612661578081fd5b813561267461266f82612e88565b612e64565b818152846020838601011115612688578283fd5b816020850160208301379081016020019190915292915050565b600061010082840312156104b9578081fd5b6000602082840312156126c5578081fd5b81356126d081612ef4565b9392505050565b6000806000606084860312156126eb578182fd5b83356126f681612ef4565b925060208401359150604084013561270d81612ef4565b809150509250925092565b600080600080600060a0868803121561272f578081fd5b853561273a81612ef4565b945060208601359350604086013561275181612ef4565b925060608601359150608086013561276881612ef4565b809150509295509295909350565b60008060008060008060c0878903121561278e578081fd5b863561279981612ef4565b95506020870135945060408701359350606087013560ff811681146127bc578182fd5b9598949750929560808101359460a0909101359350915050565b600080602083850312156127e8578182fd5b823567ffffffffffffffff808211156127ff578384fd5b818501915085601f830112612812578384fd5b813581811115612820578485fd5b8660208083028501011115612833578485fd5b60209290920196919550909350505050565b60008060408385031215612857578182fd5b505080516020909101519092909150565b6000806000806060858703121561287d578182fd5b8435935060208501359250604085013567ffffffffffffffff808211156128a2578384fd5b818701915087601f8301126128b5578384fd5b8135818111156128c3578485fd5b8860208285010111156128d4578485fd5b95989497505060200194505050565b6000602082840312156128f4578081fd5b815167ffffffffffffffff81111561290a578182fd5b8201601f8101841361291a578182fd5b805161292861266f82612e88565b81815285602083850101111561293c578384fd5b611c38826020830160208601612ec8565b60006020828403121561295e578081fd5b813567ffffffffffffffff80821115612975578283fd5b9083019060a08286031215612988578283fd5b60405160a08101818110838211171561299d57fe5b6040528235828111156129ae578485fd5b6129ba87828601612651565b8252506129c960208401612646565b602082015260408301356040820152606083013560608201526080830135608082015280935050505092915050565b60006101008284031215612a0a578081fd5b6126d083836126a2565b600060208284031215612a25578081fd5b813567ffffffffffffffff811115612a3b578182fd5b820160a081850312156126d0578182fd5b600060208284031215612a5d578081fd5b813567ffffffffffffffff80821115612a74578283fd5b9083019060408286031215612a87578283fd5b604051604081018181108382111715612a9c57fe5b604052823582811115612aad578485fd5b612ab987828601612651565b82525060208301359250612acc83612ef4565b6020810192909252509392505050565b600060208284031215612aed578081fd5b813562ffffff811681146126d0578182fd5b60008060408385031215612b11578182fd5b823591506020830135612b2381612ef4565b809150509250929050565b60008060008060808587031215612b43578182fd5b843593506020850135612b5581612ef4565b9250604085013591506060850135612b6c81612ef4565b939692955090935050565b60008151808452612b8f816020860160208601612ec8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b606093841b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116825260e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000166014820152921b166017820152602b0190565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a06080830152612c9f60a0830184612b77565b979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015612d1b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612d09858351612b77565b94509285019290850190600101612ccf565b5092979650505050505050565b6000602082526126d06020830184612b77565b60208082526012908201527f546f6f206d756368207265717565737465640000000000000000000000000000604082015260600190565b60208082526013908201527f546f6f206c6974746c6520726563656976656400000000000000000000000000604082015260600190565b600060208252825160406020840152612dc56060840182612b77565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401528091505092915050565b90815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612e2e578283fd5b83018035915067ffffffffffffffff821115612e48578283fd5b602001915036819003821315612e5d57600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715612e8057fe5b604052919050565b600067ffffffffffffffff821115612e9c57fe5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b83811015612ee3578181015183820152602001612ecb565b8381111561108f5750506000910152565b73ffffffffffffffffffffffffffffffffffffffff81168114612f1657600080fd5b5056fea164736f6c6343000706000a00582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff05581e03d2b096184691ac1f4d2a3fa2fbeccc6ce1a97d0e02994ccbb80d0911c00701192f2603c5c6051942b8c49a5876622af3f304ef3ef5982d83c625522613238ffb97b2b403ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03bbcca46a459b8597226207550f9144d399bb323b5c987c170b0949584007011bffffffffffffffff05581e031a7bce4600931a1b1dd6ee054df8f9bf99aa424626b8b1e8778a8090f0040305581e03078c04a7d29e8a0f73dc3b0d2d1e776480eb82e7a56caa4b8dbad49d300c01478b24e9bdca786005581e033add88af6cca99a7c38e523b669715bc81a6e88bd797322ae4630015100c044702676b55ad3e800219da760350217960d28fe0c0d4db1cb5e91e434b19742405abd9ffe955e613ed35119d9a037378fabb235ad01480dcf02c429d9070decf2636c58fa706bb512e95e99ea2ea03ba5200b1c827ee15441fa24091ea04d736bf04a0ae10cc6046314023df0c360b031e875f930c7b12d096ae8653a3ff61b40647952164a8182faebb4e0545ec039203dec886e1c613da8006be7508ebb73dcc9713e516cf80e64714798d017a42cde403ac01deef43ba5d63c05399b9637a44983abeaa912bb8badb178e2e4bece8f4ae0301b6a1dc1302f68a54331a14b58c9e605587fb168ad4c338557f16a8ee6b9d7b03d4fb3ffd88222a7f1c50cc330aee799db5469818fd2a33844f262e4d637dd8500339c1cd037fa93cef96b0b340509d70888545d03c64fb1931a96d3ea62923a419035c196f82b6e8f9a5852d1dbb025271dbdd8081419b4c9f65c229674fc1afc89f03c0143580c16517a1f979f9b5d87c4b1a80841937879350c1f77bd656718285c703c8a4616dda762e2e481145c10343026c2b27d53623abd972047f78579de1ca9f03e1052ec254f95347c8caa2051baf083fe736285b3d7012f0460999b6f784f91a0219ffff03abb5bdb49dff7b7030c32442e27e6c2cdcb1a0110a76272c2c8e34dab38928a9035b5a72010bdde98e9598b5c69ccc5571bd1ff48f92c9cbea97f93505625afa200375477be5ecda6672fc2f98a3234d92a96cc5477092c7d966faee2a54f0acd73c03417ab8af1e6edd815b9cab45eec0054b220d89764e5a688b0a49573d0cbb546d037b734bacbc066bd741fa6c6e8dc46d0570bbc07e23bd82c3cbee4ecc32aa3c7b032dd5892c4c4bfffa24f2748652e704d9c8b5c8c6d3df6cc8ba503414dffe4002037446f24ac28482e5a1397274bfb2a0ffb14da4e10ec33c23586fc37e60acfc560219ffff03ae5f88946860680bbcda4e7b6580906dd39d8d0e7a8173603a7b3a0debad732003d1b10cacf4f87d839e6e952c5c05eeec54227d36504f715640fb73e0e6f36b75038be4f04efa4aa126b9e53b3ad0373d9eac777c7e12e2248601dfa86fa75bbd6403a87d7eadb7e165ff1703822bc16d9916660e008648668d0aa8eeeb7f0b681760037cc86ddddabcdf851d8d16e9c9165407b07633febb9cb382b4c793a5f92810da03d49a08e34e3b5181cd5f9d9b05cd2caf5ecdae81d2828c41c39497dee89ff5d003da8fde2516f1ca05b8cb1c591021e56f56db55e78d0c03f59ceae6922ebd39a903eae0c40bff9dcf4806764e78fa38757fc46fc36652b1b574aed535e37c6735320219ffff0324bac0ecb13573971145ed1ade1f58c3e8de26a8bc565cfb3f67fdb0c05d657a038207bcc55adbca7da45c9bf66f72e18e36ae9f6591ca78b1654fa618da17529703b3cacc27365ec00fd930083a20c6a4f16d2841efb37788c342e20c1b2fb8fbe603dfa8b5895e5244ac6877c0bf21ebdcd4e70037c5a695d5a5947c517e0450d7de03eed4e8127e2049043fbf63902c686f799e4b446bf677134efd3e086cfc72cb2703e6fb4eeb7ff0ca364a480de692535e9a7b6a636de1cb7dff6765bf5e60fc4e750347f79bb1458b16d56e9e2410efd5fd1cd3b253378863eb9d77f5a69da09cd5a903ddb2819ec0cced7b5898e595bf7eca68463e96256ea81c5ac436b7e21667da4c032759d2466bf06e1776fdf67e160aa0683142772fb02de7e8c65e5007ed35303e038a9fc2aa4aa79b19397799c610c6521a8286782b7d6a16af2f3285c9839f788303833968354c7213857c755812b04ed1e147e6d77665b59d6d69a521fddf8c2b9403a0462ea9118aa96700cae868b7517f8861cfe52bac75478a6cb57e47239c0ad703705ae22da43fcdee5195bcc537e04ddecc4bf6715796a9ef298ac18b7cdfb9940368fc12270aa967b35fc36b5e487cc2165705999252d48e970061a30002f393bf031fb48286d349bca04efa10c2aaa653159ceeb176c88a764a3cd27ace1da40988039021e964e6236500cc14b43700c49f893b26dd7ab3d36907dd8a9f7a92b0ec77033800effb55b35d2464ce3418794b5799e326c524a6ff8476f06d4646d7ce58690390ad5475f55483cd11572200215c203345a741e7b55cec61b38813ba272e2ad50351c39fd5444d9b0500915313f887fc19313b918cd1c69bc6815a657ccaa4732003c9a2465a6cceb44949f916ac502e6db917b2a96e2f856f84d14b912a21f66b95035c76a6a5a4d3dd25356fb7c58647ad6fad3c744ffd6018556310ab054689db4d033b4f1d5b279a99b102ca3183113d3c3025e55b4376f9f03fe51ada005dfa76c003c8479c7fb274697cf6236d24ed346a0883807031c446f2bc3e5029083f4be0c803e3fa1391f5bc305e7caa0cc4efe9c897e9dcf4cecc0e56eeb56e34911db8fbf40391bb2106b8f7497fd42222cc66dc2907fe510a2591376aedfe64f1f0a62489bf03ace5dcb0b1f3cbcff40395542d0c0f3ec9bf296a121de8a867f63a34e68e93f0035dfd97b9d464737317ddc030001569ee876abb7dfe03f387bb07e52c0eec925b03ae80216fde7f1fb0b22685b5114aa7b48320fd006bfcc7176b5ad54d84388929036581d4070d66992de99edc01ebce38195e2908cd99381cb1f2f6cb9147146d790324de57db817fae8564670e1a7150dd705f623180ec3108282cabc638aa40b85303416ef9decefa9f624c31df07f7383328d4b75fe82a42e6f806b20986878df2e5031f6968d3f8417ea8f3dcf2c19109a4c8c07f69f2000fe877762268f18b8d9241035ffbffccd900995f13016afc7c32c8b675d887cce6210d855230244a4852fefb0304d679014904d5f57e89eb0778e0acdbc8dc1f57714bb418a5985d6e7e0c57a603940bd7c520dd441a9a29ab7d9b6cc34fa137155faa51e95ebde6981f75719284031750e7a2566ca6adf3843120667c1a0828a17cd3182fd4fa814b1284f868444703903e35a5c41b4380aad9feca7a2d0a697c6b8a91c7cc6d1efaba97a85e0dc5a6033e210b327b0cfdff015b4b81035dca64402fe4930215f61899a34af5d49c749d05581d021c4dafe443cb7d376cc03c2da2a98c345cbcb7a86d09c1a5838952730c18514865fff0ef10ad02f103cc51f2662e47ac26308e1d5858fca3f7a28fc3f6dce017d2e9019f76927ed74e0345b68a0d4c42a6477529b56f2e991a3e94d19bfbd7d374b85cec99c1891638c105581d0280bf4813ab7cabb754511825b2eb65a849fb78e27dd5e870486ccad207011bffffffffffffffff0219420005581e0314cf4be9658bb33e5d25844e0146617127e99dcbc749cf3d6f11f2a6700c044701e9a68cc87120038c5cb0147f231ff0db693664a99390881ecceb5193f5721313fb3fe24e84ea3405581e039612f0325e6cb85f9439836477854fd70bdc79cbde7345346ab4343fe008473a6afc2ee0b80003d501926049cbaa26e07c749cecc8c5a297d7be5aff456040a85c65ba165af39d0300e0c5a0180381a78f7b4d2fdbf73b106aef2a6ed29fbf0f73ba9a938421d92f05581e03ed5a67e53509bd07848c74acdc870ca9c68c2d37a98a5507f9fa2090300f014787e24ed1230c001bffffffffffffffff03c6bced49d624074a744f3bf3dd8f2dc48cf249b0e370d5455875349e4c758b1102190f28038d64190fbaafbc4f92f51a7f419dfd758ba497d9b78cc5bb97f4a839b16527480319edc90a6615c53c5b5110e9d76c61c70f070db44d8e17932ba64288e3734568032dda87f5f68c51d25af41588828cbe3b3cd4b638e523f59199d3a5b50d6d418403424f9969fd4fdd32d7c4f9f21121c51d5af8c3d9d8f7bbb0cc133f163f2811d203dd9c49910f6f7883434c4ebb2abbf3e4972bd4b6c43e80b650066be61e4853ce03ba2eb31f68a1e1c2f2f1c83dcb02303bb871e6139d45e44866e0fb162ea363560219ffff03d8ac2bd8f8fd52e7cd778a4d95cf7fb6c15a85d8399dd25f82695042780e391f03b16aaf4812c3c6bdd933daa3eea1cd83f51d4ccb7d07fc5f3146b89e6e9084000219ffff03b86328b0f2499435de3e359b6b7baf7888d9b70680279eec5df0eb2023d456f7032e1cdba2b5175c65218b46911e5d913c38d8715b013179435ddb1d2369be80370219ffff039fb68b5745f1e5b82ce61a3de57a77414504962fbc3cd441e6410e6849b49b720219ffff0326ab8743414fe52fcbec1807d767debc3a6ecc1cabdab1cf29dd0ad53a1b9eb203727c1235fc8d50b9371ddb4f0727bd86b0125f1d8454ac7319fdfc95ecb928100368dce1c88e0a6499c09737b53a7b34f236247fbadc478308ddd9b85818e8457a038dda066d5c3d39370ff4e5b7d9e68bdbd7caae7db1e15c96074ef72147d297c403496dd2588b14c912b6c619880df04649bc2bb4118b7bf606c46c190950fbe8a6034aaa9651e6bef5c49f7aab1887237e1a76ceb77c0f0e704308930a63b48286b803bcf70befca7dba0d2b36cc66b954922b1ec6c724fca1dc38caddc0a5729ce35503a60b4a1c50ac1959be0dc0a75a60a9e918bba6b1500c835ac1a588d59fa015540387b56bf092d49edfecad034e4f5b733f0f75da52606b766f09bcf0f3dcd9f469038c0ca69dbb67b1303fc1814c7b7a0429e0b697e1aff3e118d6b234edb279d4f6034bae407fdd08d8fcba0af65d6e33135eb63aebc2abd1c4bf608f99ff1913ee2003bfda538b851629c9dd7d467c84c2a601f6e2c0b6fa5980d94bbaba71e58aa8cc030aa050645180aeb769d470962cb04725de8c69bce4cf2560672c1c6cd01acc4d03298f33c0b287320795de91c92c86d28cfacbd40f1887b7fd43dce70ed628776903b4056970ded453d8a84dad9c009f7fa9b4aa1c9cf91bd366775a1510b332ba13031c21da49f96f79a5b83af0e46fc5d307768b3d9f2b2d61228fc52b4efbef83e7031ad8e50fb741fe1d1508aede90a4191dfcb20a85a0a38251473a8fbfa4f0bc5103e8a61724f1c432df7fcfed8eea035eb0f6609c53ad187caa73f2fd0905e83f8203cb18ecf343ad12846ef5064417af44e7fb908e6ce6259d98e16d66257c23226703bacbfc5d5a7e91a4ef0485d0cb3c0566540d308e301841e6e7c8c189deec7f4c0369eeca4149c5e44ea41c8d3f23ddda676558e73861ee7fe99732ded9be1ed6da03a105600a73acfa4a43429c0d30bf17f74efd2b728f36e5868be9d939035c92d703a75c0ae9229955ee615eb219540bbe96e5c8e8e37c39e635b6ddc053d48ea29a0308540f3502ae3ef6bdcbde510d69a9725c051e4e84dab1fba7f1db8abf9269aa032c2995f14f8bf918e868b1851a76b4b382717d9af5216ef253002a627188d4e1032068b93a82ac6be7c525481033bea966830b1f62b944310e89e8ff4a1501566203e2faca38104e4fa16194efa82d7fea4b6ebfcc30133a5d4372206c83ea91d0b203d56f41350d86109801a3df0da24bd550e66d8860bb8b1c0a2f6327bd3bfec26f039bcc9cfdca59dd6d34ab85dd6c6c11e8b3b70d5f060a9c795d068af057c4683b0314922547ac48a043f8b7afd16b9975a913048b198f30924e98abc3eb5ba4557b036b8bcd827ad5cfdb1cc0619f1582f9bbe80f101716e14787c662ef46deee0886030d11e4efa374dd461346190f7eb6c498d8f159fa89aad996af4b56a8503315dd03103b039f8d4a70f187f159a3c7cf22ea8fabd9b8152d79812390f6f0e5be5353031110497d44430ee53407516cde36fc33df5e7e9872c0daedc3780a74f4e790d70320f0df696b0fcb8f96dda5fab975cd9313c6e7cbebcd0479010beaa3f628c5cb03f79f3bcc0adbc0bd89ae05c191ff3d43d0e4f2fd1e2eedb920aa2f55faa05871034263a880086a52afcd6b49615e748b7cb01b6c0f0cecc38fabfd8896a29d579f037d5c6823ecb4f16d8705dde3ff517550ecacff0cb823e12b00534e0c2ae1b1930371997b1a41f4f833075b310ba49288a5efa6926ce3472357cf9c74a8c5a6aed001410505581e038fef42072be79525c99cfa2fb0a5e34e2302b8a5a7b450979f19767cf004182505581e037214c48bb98605f3309e63c47355a59f28ce5d1b6773553a72d482e3100c11474bd3903ef15dba05581e033af1a9d36caa3038dd77b6f374062c35e75f79c4572c2ac1c3e60d00400847071afd498d000003ba308e33045d3f2f91a883952390a9837f7c0983b671cc1e27a80d2b72869c5d0320daa1d9b0b36b8393ea7c85c657ffcd469a0b8c84218e9c05410c28667b770c05581e034891ff42f94b1861608debe2023558bc3ce77ae14bd9924b84d9f84820040105581e034718876fe7630de8f75d764386856860efb6a0e8b1b002ca3702f2a8900401031cd3d3ad27703c02f6515dffa04013d06b954d1a2eda4353fc0115933d60100405581e03d376626419ef59afe5b2f7793079628e790d26cbc25d0a9cdfd6fcd8800c0c4702971c25eb38df04592b1373465e0b6518603e0d75b4737dac052845cf85592530146080604052600436106101565760003560e01c8063758e99b3116100cd5780639db74df1116100865780639db74df11461029b578063ac16065c146102bb578063ac9c1ff1146102c3578063e3f5aa51146102cb578063e6a48b2d146102d3578063f9140c32146102db57610156565b8063758e99b31461021e5780637885a43a1461020e5780638794a4331461023e5780638823151b146102465780638a6ade631461025b5780638f0e6bef1461027b57610156565b806360a258ee1161011f57806360a258ee146101d657806365879921146101de5780636749a0f8146101fe57806369b41170146102065780636a5941631461020e5780636f95468c1461021657610156565b80621dd40d1461015b57806306227f881461017d57806326e0be1f1461019d5780632e548b5b146101bb57806344863671146101ce575b600080fd5b81801561016757600080fd5b5061017b6101763660046124b1565b6102e3565b005b81801561018957600080fd5b5061017b6101983660046122e5565b61052f565b6101a561093a565b6040516101b29190612a98565b60405180910390f35b61017b6101c936600461235e565b610941565b6101a561097e565b6101a5610984565b8180156101ea57600080fd5b5061017b6101f93660046124c6565b61098a565b6101a5610bf3565b6101a5610bf9565b6101a5610bff565b6101a5610c06565b81801561022a57600080fd5b5061017b6102393660046124b1565b610c0d565b6101a5610f1d565b61024e610f23565b6040516101b291906126bc565b81801561026757600080fd5b5061017b610276366004612248565b610f3b565b81801561028757600080fd5b5061017b61029636600461231c565b6110a4565b8180156102a757600080fd5b5061017b6102b63660046124fe565b6116a0565b6101a56116fb565b61024e611701565b6101a5611706565b6101a561170d565b6101a5611715565b61032b6102f660c0840160a085016121dc565b60c084013561030c610100860160e0870161255a565b61032161031c60208801886121dc565b61171c565b620156fc016119f4565b60006103378484611a89565b91506000905073e92b1734fc37f8acc950d0d13a414753729587306372e2f5ff8461036560208801886121dc565b604088013561037a60a08a0160808b01612214565b6040518563ffffffff1660e01b81526004016103999493929190612951565b60206040518083038186803b1580156103b157600080fd5b505af41580156103c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e9919061251f565b604080516102808101909152600080825291925060208101600381526020018415158152602001610708420181526020016000151581526020014281526020018660c00135815260200187600301548152602001600081526020018381526020018660600135815260200186600001602081019061046791906121dc565b6001600160a01b0316815260200186602001602081019061048891906121dc565b6001600160a01b031681526020016104a660c0880160a089016121dc565b6001600160a01b0316815260200160008152602001600081526020016000151581526020016000815260200186604001358152602001600081525090506104ed8682611b78565b80516040517f51c55da12b3ab4711276595401c6bac6ac45255e6c1308f69374feebdd1743709061051f908490612977565b60405180910390a2505050505050565b6105426102f660c0840160a085016121dc565b606082013561056c5760405162461bcd60e51b8152600401610563906128d9565b60405180910390fd5b60008061059461057f60208601866121dc565b61058f60408701602088016121dc565b611ba2565b915091506105a28583611c76565b156105bf5760405162461bcd60e51b815260040161056390612753565b3473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26105e260208701876121dc565b6001600160a01b0316148015610603575061060360a0860160808701612214565b156106355760408051808201825260048152634f53314560e01b60208201526106329134919088013590611cab565b90505b61064486828760c00135611d43565b50600073e92b1734fc37f8acc950d0d13a414753729587306345f92b928661066f60208a018a6121dc565b60408a013561068460a08c0160808d01612214565b6040518563ffffffff1660e01b81526004016106a39493929190612951565b60206040518083038186803b1580156106bb57600080fd5b505af41580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f3919061251f565b9050600080856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b815260040160206040518083038186803b15801561073157600080fd5b505afa158015610745573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076991906121f8565b6001600160a01b031663330227bf6040518163ffffffff1660e01b8152600401604080518083038186803b1580156107a057600080fd5b505afa1580156107b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d89190612537565b915091506000604051806102800160405280600081526020016004808111156107fd57fe5b815287151560208201526107088401604082015260600161082460a08c0160808d01612214565b151581526020018381526020018a60c0013581526020018b600301548152602001600081526020018581526020018a6060013581526020018a600001602081019061086f91906121dc565b6001600160a01b031681526020018a602001602081019061089091906121dc565b6001600160a01b031681526020016108ae60c08c0160a08d016121dc565b6001600160a01b0316815260200160008152602001600081526020016000151581526020018481526020018a604001358152602001600081525090506108f48a82611b78565b80516040517facc3be9408a5c5140df48aea47be6e053be55ca4cc6b38b853aeac93a716899190610926908490612977565b60405180910390a250505050505050505050565b620108dc81565b8051600090815260028301602052604090205461095d82611d9c565b1461097a5760405162461bcd60e51b81526004016105639061287f565b5050565b614e2081565b6193ac81565b6000806109ad61099d60208501856121dc565b61058f60408601602087016121dc565b915091506109bb8483611e6d565b156109d85760405162461bcd60e51b815260040161056390612825565b610a0b6109eb60e0850160c086016121dc565b60e0850135610a026101208701610100880161255a565b6201dfb46119f4565b6040830135610a2c5760405162461bcd60e51b8152600401610563906128bb565b610a3b84348560e00135611d43565b50610a556001600160a01b03831633306040870135611e76565b6040805161028081019091526000808252906020810160028152831515602082015242610708016040820152606001610a9460c0870160a08801612214565b15158152602001600081526020018560e001358152602001866003015481526020018560400135815260200183610acf578560600135610ad5565b85608001355b815260200183610ae9578560800135610aef565b85606001355b815260200183610b0b57610b0660208701876121dc565b610b1b565b610b1b60408701602088016121dc565b6001600160a01b0316815260200183610b4357610b3e60408701602088016121dc565b610b50565b610b5060208701876121dc565b6001600160a01b03168152602001610b6e60e0870160c088016121dc565b6001600160a01b031681526020016000815260200160008152602001600015158152602001600081526020016000815260200160008152509050610bb28582611b78565b80516040517f0b9f199c3bfb47c8b3593a7633644d60360a31ad95c6211972b7bb48b25fc75490610be4908490612977565b60405180910390a25050505050565b61371881565b61070881565b620156fc81565b6201a51c81565b610c206102f660c0840160a085016121dc565b600080610c2d8585611a89565b91509150600080836001600160a01b0316637dc0d1d06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6d57600080fd5b505afa158015610c81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca591906121f8565b6001600160a01b031663330227bf6040518163ffffffff1660e01b8152600401604080518083038186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d149190612537565b9092509050600073e92b1734fc37f8acc950d0d13a414753729587306345f92b9287610d4360208b018b6121dc565b60408b0135610d5860a08d0160808e01612214565b6040518563ffffffff1660e01b8152600401610d779493929190612951565b60206040518083038186803b158015610d8f57600080fd5b505af4158015610da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dc7919061251f565b60408051610280810190915260008082529192506020810160038152861515602082015261070885016040820152606001610e0860a08b0160808c01612214565b151581526020018481526020018960c0013581526020018a6003015481526020016000815260200183815260200189606001358152602001896000016020810190610e5391906121dc565b6001600160a01b03168152602001896020016020810190610e7491906121dc565b6001600160a01b03168152602001610e9260c08b0160a08c016121dc565b6001600160a01b0316815260200160008152602001600081526020016000151581526020018581526020018960400135815260200160008152509050610ed88982611b78565b80516040517f51c55da12b3ab4711276595401c6bac6ac45255e6c1308f69374feebdd17437090610f0a908490612977565b60405180910390a2505050505050505050565b61271081565b73c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c681565b6001600160a01b0384166000908152600586016020526040812054839160ff90911690805b83811015610fdc576000878783818110610f7657fe5b9050602002016020810190610f8b919061222e565b90506000816004811115610f9b57fe5b1415610fb95760405162461bcd60e51b81526004016105639061289d565b806004811115610fc557fe5b60ff166001901b8317925050806001019050610f60565b508315610fec5790811790610ff5565b8060ff18821691505b6001600160a01b038716600090815260058901602052604090205460ff838116911614156110355760405162461bcd60e51b8152600401610563906127e9565b6001600160a01b038716600090815260058901602052604090819020805460ff191660ff8516179055517f8fc9d2155cffd96c9774016c9e6f6ee84ca6294e81e3ec47f0b63df766fade50906110929089908990899089906126ea565b60405180910390a15050505050505050565b6110ff6110b9610120840161010085016121dc565b6101208401356110d16101608601610140870161255a565b6110e461031c60408801602089016121dc565b6110f461031c60208901896121dc565b016201a51c016119f4565b60408201351515806111145750606082013515155b6111305760405162461bcd60e51b815260040161056390612933565b60008061114361057f60208601866121dc565b915091506111518583611fd1565b1561116e5760405162461bcd60e51b8152600401610563906127cb565b3461117f60e0860160c08701612214565b156112495773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26111a660208701876121dc565b6001600160a01b031614156111e65760408051808201825260048152634f53314560e01b60208201526111df9134919088013590611cab565b9050611249565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc261120b60408701602088016121dc565b6001600160a01b03161415611249576040805180820190915260048152634f53314560e01b6020820152611246903490606088013590611cab565b90505b6112598682876101200135611d43565b506000905073e92b1734fc37f8acc950d0d13a414753729587306345f92b9285846112905761128b60208901896121dc565b6112a0565b6112a06040890160208a016121dc565b856112af5788604001356112b5565b88606001355b6112c560e08b0160c08c01612214565b6040518563ffffffff1660e01b81526004016112e49493929190612951565b60206040518083038186803b1580156112fc57600080fd5b505af4158015611310573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611334919061251f565b9050600073e92b1734fc37f8acc950d0d13a414753729587306345f92b92868561136d5761136860408a0160208b016121dc565b61137a565b61137a60208a018a6121dc565b8661138957896060013561138f565b89604001355b61139f60e08c0160c08d01612214565b6040518563ffffffff1660e01b81526004016113be9493929190612951565b60206040518083038186803b1580156113d657600080fd5b505af41580156113ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061140e919061251f565b9050600080856001600160a01b0316637dc0d1d06040518163ffffffff1660e01b815260040160206040518083038186803b15801561144c57600080fd5b505afa158015611460573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148491906121f8565b6001600160a01b031663330227bf6040518163ffffffff1660e01b8152600401604080518083038186803b1580156114bb57600080fd5b505afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f39190612537565b915091506000604051806102800160405280600081526020016001600481111561151957fe5b815287151560208201526107088401604082015260600161154060e08c0160c08d01612214565b151581526020018381526020018a610120013581526020018b600301548152602001600081526020018681526020018581526020018761158c5761158760208c018c6121dc565b61159c565b61159c60408c0160208d016121dc565b6001600160a01b03168152602001876115c4576115bf60408c0160208d016121dc565b6115d1565b6115d160208c018c6121dc565b6001600160a01b031681526020016115f16101208c016101008d016121dc565b6001600160a01b0316815260808b0135602082015260a08b013560408201526060016116246101008c0160e08d01612214565b1515815260200184815260200187611640578a60400135611646565b8a606001355b81526020018761165a578a60600135611660565b8a604001355b9052905061166e8a82611b78565b80516040517f6c9340872a88ac0e5738ebbbd97cb5c87e94d84842daa2718690b1f97edeca2690610926908490612977565b60006116af82620f4240611fda565b90506116ee6301312d006116e86116c63a85611ff0565b6116e26116d76301312d0087612045565b600389015490611ff0565b9061206e565b906120af565b8360030181905550505050565b61d6d881565b600081565b624c4b4081565b6301312d0081565b620f424081565b60006001600160a01b03821661173557506127106119ef565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b038316141561176357506179186119ef565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486001600160a01b0383161415611791575061a4106119ef565b73dac17f958d2ee523a2206206994597c13d831ec76001600160a01b03831614156117c05750620101d06119ef565b732260fac5e5542a773aa44fbcfedf7c193bc2c5996001600160a01b03831614156117ee57506184d06119ef565b734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b6001600160a01b038316141561181c57506179186119ef565b736b3595068778dd592e39a122f4f5a5cf09c90fe26001600160a01b038316141561184a57506179186119ef565b73ae7ab96520de3a18e5e111b5eaab095312d7fe846001600160a01b03831614156118795750620109a06119ef565b737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06001600160a01b03831614156118a757506179186119ef565b73d33526068d116ce69f19a9ee46f0bd304f21a51f6001600160a01b03831614156118d557506179186119ef565b7348c3399719b582dd63eb5aadf12a40b4c3f52fa26001600160a01b03831614156119035750619c406119ef565b735a98fcbea516cf06857215779fd812ca3bef1b326001600160a01b03831614156119325750620246086119ef565b739f8f72aa9304c8b593d555f12ef6589cc3a579a26001600160a01b038316141561196057506184d06119ef565b731f9840a85d5af5bf1d1762f925bdaddc4201f9846001600160a01b038316141561198e57506190886119ef565b73514910771af9ca656af840dff83e8264ecf986ca6001600160a01b03831614156119bc5750617d006119ef565b733c3a81e81dc49a522a592e7622a7e711c06bf3546001600160a01b03831614156119ea57506184d06119ef565b5061ea605b919050565b428263ffffffff161015611a1a5760405162461bcd60e51b815260040161056390612843565b624c4b40831115611a3d5760405162461bcd60e51b8152600401610563906127ad565b80831015611a5d5760405162461bcd60e51b815260040161056390612807565b6001600160a01b038416611a835760405162461bcd60e51b8152600401610563906128f7565b50505050565b6000806040830135611aad5760405162461bcd60e51b815260040161056390612771565b611abd61099d60208501856121dc565b9092509050611acc84836120ff565b15611ae95760405162461bcd60e51b815260040161056390612915565b34611afa60a0850160808601612214565b8015611b2e575073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2611b2360208601866121dc565b6001600160a01b0316145b15611b605760408051808201825260048152634f53314560e01b6020820152611b5d9134919087013590611cab565b90505b611b6f85828660c00135611d43565b50509250929050565b81546001018083558152611b8b81611d9c565b905160009081526002909201602052604090912055565b60405163e6a4390560e01b8152600090819073c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c69063e6a4390590611be090879087906004016126d0565b60206040518083038186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3091906121f8565b91506001600160a01b038216611c585760405162461bcd60e51b815260040161056390612861565b826001600160a01b0316846001600160a01b03161190509250929050565b600060045b6001600160a01b0383166000908152600585016020526040902054600160ff9283161b1616151590505b92915050565b8183038184821115611d3b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d00578181015183820152602001611ce8565b50505050905090810190601f168015611d2d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b6003830154600090611d559083611ff0565b905080831015611d775760405162461bcd60e51b81526004016105639061278f565b80831115611d9557611d9533828503611d90600061171c565b612108565b9392505050565b600080826000015183602001518460400151856060015186608001518760a001518860c001518960e001518a61010001518b61012001518c61014001518d61016001518e61018001518f6101a00151604051602001611e089e9d9c9b9a9998979695949392919061261f565b60408051601f19818403018152908290526101c08501516101e08601516102008701516102208801516102408901516102608a0151959750611e4f968896906020016125be565b60405160208183030381529060405280519060200120915050919050565b60006002611c7b565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000948594938a169392918291908083835b60208310611efa5780518252601f199092019160209182019101611edb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f5c576040519150601f19603f3d011682016040523d82523d6000602084013e611f61565b606091505b5091509150818015611f8f575080511580611f8f5750808060200190516020811015611f8c57600080fd5b50515b611fc9576040805162461bcd60e51b815260206004808301919091526024820152635448304560e01b604482015290519081900360640190fd5b505050505050565b60006001611c7b565b6000818310611fe95781611d95565b5090919050565b600081158061200b5750508082028282828161200857fe5b04145b611ca5576040805162461bcd60e51b81526020600480830191909152602482015263534d324160e01b604482015290519081900360640190fd5b6000611d9583836040518060400160405280600481526020016329a6989960e11b815250611cab565b80820182811015611ca5576040805162461bcd60e51b81526020600480830191909152602482015263534d344560e01b604482015290519081900360640190fd5b60008082116120ee576040805162461bcd60e51b81526020600480830191909152602482015263534d343360e01b604482015290519081900360640190fd5b8183816120f757fe5b049392505050565b60006003611c7b565b6040516000906001600160a01b038516908390859084818181858888f193505050503d8060008114612156576040519150601f19603f3d011682016040523d82523d6000602084013e61215b565b606091505b5050905080611a83576040805162461bcd60e51b815260206004808301919091526024820152632a2419a360e11b604482015290519081900360640190fd5b80356119ef81612ac5565b803580151581146119ef57600080fd5b8035600581106119ef57600080fd5b600061010082840312156121d6578081fd5b50919050565b6000602082840312156121ed578081fd5b8135611d9581612ac5565b600060208284031215612209578081fd5b8151611d9581612ac5565b600060208284031215612225578081fd5b611d95826121a5565b60006020828403121561223f578081fd5b611d95826121b5565b60008060008060006080868803121561225f578081fd5b85359450602086013561227181612ac5565b9350604086013567ffffffffffffffff8082111561228d578283fd5b818801915088601f8301126122a0578283fd5b8135818111156122ae578384fd5b89602080830285010111156122c1578384fd5b6020830195508094505050506122d9606087016121a5565b90509295509295909350565b600080600061014084860312156122fa578283fd5b8335925061230b85602086016121c4565b915061012084013590509250925092565b60008060008385036101a0811215612332578384fd5b84359350610160601f1982011215612348578283fd5b5060208401915061018084013590509250925092565b6000808284036102a0811215612372578283fd5b8335925061028080601f1983011215612389578283fd5b61239281612aa1565b9150602085013582526123a7604086016121b5565b60208301526123b8606086016121a5565b6040830152608085013560608301526123d360a086016121a5565b608083015260c085013560a083015260e085013560c08301526101008086013560e0840152610120808701358285015261014091508187013581850152506101608087013582850152610180915061242c82880161219a565b908401526101a061243e87820161219a565b828501526101c0915061245282880161219a565b81850152506101e08087013582850152610200915081870135818501525061022061247e8188016121a5565b82850152610240915081870135818501525061026080870135828501528287013581850152505050809150509250929050565b600080600061014084860312156122fa578081fd5b6000808284036101408112156124da578283fd5b83359250610120601f19820112156124f0578182fd5b506020830190509250929050565b60008060408385031215612510578182fd5b50508035926020909101359150565b600060208284031215612530578081fd5b5051919050565b60008060408385031215612549578182fd5b505080516020909101519092909150565b60006020828403121561256b578081fd5b813563ffffffff81168114611d95578182fd5b6001600160a01b03169052565b60601b6bffffffffffffffffffffffff19169052565b15159052565b151560f81b9052565b600581106125ba57fe5b9052565b60008851815b818110156125de576020818c0181015185830152016125c4565b818111156125ec5782828501525b509190910196875250602086019490945291151560f81b604085015260418401526061830152608182015260a101919050565b60008f825260058f1061262e57fe5b8e60f81b6020830152612644602183018f6125a7565b8c6022830152612657604283018d6125a7565b8a60438301528960638301528860838301528760a38301528660c38301528560e383015261268961010383018661258b565b61269761011783018561258b565b6126a561012b83018461258b565b5061013f019e9d5050505050505050505050505050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b038516815260606020808301829052908201849052600090859060808401835b8781101561273b5761272b82612726866121b5565b6125b0565b9282019290820190600101612711565b50809350505050821515604083015295945050505050565b6020808252600490820152634f53343960e01b604082015260600190565b60208082526004908201526313d4cc8d60e21b604082015260600190565b6020808252600490820152634f53314560e01b604082015260600190565b6020808252600490820152634f53334560e01b604082015260600190565b60208082526004908201526327a99a1b60e11b604082015260600190565b6020808252600490820152634f53303160e01b604082015260600190565b60208082526004908201526313d4ccd160e21b604082015260600190565b6020808252600490820152634f53304160e01b604082015260600190565b60208082526004908201526313d4cc0d60e21b604082015260600190565b6020808252600490820152634f53313760e01b604082015260600190565b6020808252600490820152634f53373160e01b604082015260600190565b60208082526004908201526327a9999960e11b604082015260600190565b60208082526004908201526327a9991960e11b604082015260600190565b6020808252600490820152634f53323360e01b604082015260600190565b60208082526004908201526327a9991b60e11b604082015260600190565b6020808252600490820152634f53313360e01b604082015260600190565b6020808252600490820152634f53323560e01b604082015260600190565b9384526001600160a01b0392909216602084015260408301521515606082015260800190565b81518152602080830151610280830191612993908401826125b0565b5060408301516129a660408401826125a1565b506060830151606083015260808301516129c360808401826125a1565b5060a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151818401525061016080840151612a198285018261257e565b505061018080840151612a2e8285018261257e565b50506101a080840151612a438285018261257e565b50506101c083810151908301526101e0808401519083015261020080840151612a6e828501826125a1565b50506102208381015190830152610240808401519083015261026092830151929091019190915290565b90815260200190565b60405181810167ffffffffffffffff81118282101715612abd57fe5b604052919050565b6001600160a01b0381168114612ada57600080fd5b5056fea2646970667358221220262a0a43c7de7c206dbaad61c26b86633574f218e3d1d2df9a09489800e01d0f64736f6c634300070600330605581d029078484acad378cf342f3d0acd451274e6a815206b5749a4acc183640701192b1305581d026fb35c8b802204ad391ad92f1c7475f063b6751720827c323e329b330402021920020219def403bada2b8ebb55c2fa135028abbaa5ea302c146a656e921afe46ed80d529bdb39a03089bd9fefa354cf6d365f47cd969a2661fe6b2ddf724717b3e96ce4f109a67d3039cdf78b6b0653b566c1866c4dea67700a0e914c7cccf3870baeef712785a18a403284d122925823d2230782eefe895e93bfdfb355f9fed947621229b64dfce63ea0219ffff03d20e8eb5264c3a047994df85f383afedfa6c7ee7db118e59e3fc8c47d84acdec0219ffff030577829ee0b21e77589cacbe5331f69ab37eb27a507a81689dcffd86ed0103ae031107fc718ccae0e813141b24e01ad677ca3719cb2a594a36d410405c2990ea43031472b0eeed32896b7cac88c33442e5fd3a31f838fb2bc856e95d34bfb7baf4ef0383226cb65fa54b78cd36b802768be7eb016136f7e4fccbf24b8c5ed221295420037cd45985663a1f45103743f6c32f616dfe19cb20c889457345adb483c0577d88034c7fcde729844c04623be1fc7b60717bdc42bb0e590e7f45ae960401d1a1270c030d15457a6abb865bef7fe923739c1cd2b63a0a462020619acec177beac574b76038c4f217ddfbae21aff71122060f13fdcea94c7d5c7113354eb2db5319bf42fe7038c0a4f676d2f7a1321ad5a6ca681195232ba1da8d93e460a246aca039fdce1e203f4dc5cad6738b11c058f5fa191d89428b6ae347603df45a60ee6d24e10ec73da0219ffff0353fd5310bd9166462e97436bf8111328b00f42da896e791ad03b679c1a9bc68603dc0b8f889a17b9ae9f7c52830891c3942c34da95d3753793821d03931755a48b03adc0b9fc848ceef622087590a4c1ede7efe12534bb1695933650294bf04527fe03aa5d2a8f84afdb2f11a6adcf9b30c9fbc16339f3063fe4a6a05e38b77726931803fcb3d92b2ba1db9e5ff13f49fdf43c58d26c2cdbdf0a9fff37ad7aad26dcf9590351b9bb9722668b923ff6dc2d172b35b41ea45867ecd5cd2dc539605624adc36703a2fd6fc834552a7109eec1378685aa7e7854390e56ae2da7c25c7d0a4f32860403fd85288e7cb07f3b131e9f3f798dd7c938d34b71170b5fb5dc1c91773bf5b3e3039d56a78447f5073e7f7b920ea6b17f0e3652342c8bd3727e5a666a278a9aa39303af6ad03cc6826e3f1beb084cff2b838212a97c43c63f05f34bcd4ce5beeb658903cb3a974c2e740dbf1b21953af88fe4a100fbfe8ef4a5f8ca6c4b92fec9c2fb2e03560830176140c72193a6510d9506dbafaa78dcd058518949136cfbe11801287803aea2a76cdba41bf77b59d6ffd88956067c34ceab153f0dc37a49a8816f0b2d3103153440f36c83604d954d3496e13a15fd55630e637db72e8840a817aba062d58203ce87ed3e12f8f2996260d452f32e38ff9ee50a91bf004630e6b598c39d4a76f503751ceb7a1eb6df559a573a1846ed8a6d73b2e62fcd1243d268d74bfc7dd6d49003cf22363ec19b67f73e84cccaa4aa3a5bcfe5b29790ac0a45b78e1afc11c9ae6e0389bc7e00446f51f8e338a939f34c21de94116892ad2d53e091865448d1dd2c3f03321f11aecab90f132b22c66de5d38cfa8b2329ba240e75adae1768decbda737605581e0306ffd82010b0fe775f5acdbf55fbfd9320879221c49f5efbd2492d8f200c044701d602ababe6d80365c562bffc3314de137ced520095cf0b3a66319d14a44e4b87d2ae25651b5eda03d346fc3c45e5d9900e554941b8fc810232703fef36584b09a98b73906691cd8703b39ab40973cc615a21a0820662427927d4d9de969e1131762eeed8627b61a789034cc42bc9168c60f271e8ee286549b4ad0da2389c6308c73b1e73c25a277bc9d003aab0e5c862bc44eca727ac3e94c06170a0a74c902a2df8f756049164d3dd9ae303901b71c570a16e1ab8a2a0e623da4cb2401421d592e21bff9b32c35c3212185d031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03346bc04e751ff1e62e730149e3941cc15447e77688038fcc69882d4f0007011bffffffffffffffff04590e796080604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100df5780631a86ac4f1461016957806338b6e4071461019257806353376d1f146101b55780635eebea20146101d657806369dc9ff314610209578063715018a61461022a5780638da5cb5b1461023f57806397204d8e14610270578063c455279114610285578063d4e8e063146102a6578063ddd81f82146102c7578063e71a02e1146102dc578063ef7f3834146102f1578063f2fde38b14610312575b600080fd5b3480156100eb57600080fd5b506100f4610333565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561012e578181015183820152602001610116565b50505050905090810190601f16801561015b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561017557600080fd5b5061017e61036a565b604080519115158252519081900360200190f35b34801561019e57600080fd5b506101b3600160a060020a0360043516610373565b005b3480156101c157600080fd5b506101b3600160a060020a0360043516610432565b3480156101e257600080fd5b506101f7600160a060020a036004351661046e565b60408051918252519081900360200190f35b34801561021557600080fd5b5061017e600160a060020a0360043516610480565b34801561023657600080fd5b506101b3610495565b34801561024b57600080fd5b50610254610505565b60408051600160a060020a039092168252519081900360200190f35b34801561027c57600080fd5b50610254610514565b34801561029157600080fd5b50610254600160a060020a0360043516610523565b3480156102b257600080fd5b506101b3600160a060020a036004351661053e565b3480156102d357600080fd5b506102546105bf565b3480156102e857600080fd5b506101f761076f565b3480156102fd57600080fd5b506101b3600160a060020a0360043516610775565b34801561031e57600080fd5b506101b3600160a060020a03600435166107d5565b60408051808201909152601d81527f50726f6a6563742057797665726e2050726f7879205265676973747279000000602082015281565b60065460ff1681565b60005433600160a060020a0390811691161461038e57600080fd5b600160a060020a03811660009081526004602052604090205460ff161580156103ce5750600160a060020a03811660009081526003602052604090205415155b80156103f65750600554600160a060020a038216600090815260036020526040902054429101105b151561040157600080fd5b600160a060020a0316600090815260036020908152604080832083905560049091529020805460ff19166001179055565b60005433600160a060020a0390811691161461044d57600080fd5b600160a060020a03166000908152600460205260409020805460ff19169055565b60036020526000908152604090205481565b60046020526000908152604090205460ff1681565b60005433600160a060020a039081169116146104b057600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a031681565b600154600160a060020a031681565b600260205260009081526040902054600160a060020a031681565b60005433600160a060020a0390811691161461055957600080fd5b600160a060020a03811660009081526004602052604090205460ff161580156105985750600160a060020a038116600090815260036020526040902054155b15156105a357600080fd5b600160a060020a03166000908152600360205260409020429055565b600160a060020a03338116600090815260026020526040812054909116156105e657600080fd5b60015460408051600160a060020a033381811660248401523082166044808501919091528451808503909101815260649093019093526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f485cc955000000000000000000000000000000000000000000000000000000001790529192919091169061067361086d565b8084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106dd5781810151838201526020016106c5565b50505050905090810190601f16801561070a5780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015801561072d573d6000803e3d6000fd5b5033600160a060020a039081166000908152600260205260409020805473ffffffffffffffffffffffffffffffffffffffff1916918316919091179055919050565b60055481565b60005433600160a060020a0390811691161461079057600080fd5b60065460ff16156107a057600080fd5b6006805460ff199081166001908117909255600160a060020a0390921660009081526004602052604090208054909216179055565b60005433600160a060020a039081169116146107f057600080fd5b600160a060020a038116151561080557600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6040516105d08061087e833901905600608060405234801561001057600080fd5b506040516105d03803806105d08339810160409081528151602083015191830151909201610046836401000000006100e0810204565b61005882640100000000610102810204565b81600160a060020a03168160405180828051906020019080838360005b8381101561008d578181015183820152602001610075565b50505050905090810190601f1680156100ba5780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af491505015156100d857600080fd5b505050610165565b60018054600160a060020a031916600160a060020a0392909216919091179055565b600054600160a060020a038281169116141561011d57600080fd5b60008054600160a060020a031916600160a060020a038316908117825560405190917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b91a250565b61045c806101746000396000f3006080604052600436106100825763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025313a281146100c85780633659cfe6146100f95780634555d5c91461011c5780634f1ef286146101435780635c60da1b1461019d5780636fde8202146101b2578063f1739cae146101c7575b600061008c6101e8565b9050600160a060020a03811615156100a357600080fd5b60405136600082376000803683855af43d806000843e8180156100c4578184f35b8184fd5b3480156100d457600080fd5b506100dd6101f7565b60408051600160a060020a039092168252519081900360200190f35b34801561010557600080fd5b5061011a600160a060020a0360043516610206565b005b34801561012857600080fd5b50610131610239565b60408051918252519081900360200190f35b60408051602060046024803582810135601f810185900485028601850190965285855261011a958335600160a060020a031695369560449491939091019190819084018382808284375094975061023e9650505050505050565b3480156101a957600080fd5b506100dd6101e8565b3480156101be57600080fd5b506100dd6102f2565b3480156101d357600080fd5b5061011a600160a060020a0360043516610301565b600054600160a060020a031690565b60006102016102f2565b905090565b61020e6101f7565b600160a060020a031633600160a060020a031614151561022d57600080fd5b61023681610391565b50565b600290565b6102466101f7565b600160a060020a031633600160a060020a031614151561026557600080fd5b61026e82610206565b30600160a060020a03168160405180828051906020019080838360005b838110156102a357818101518382015260200161028b565b50505050905090810190601f1680156102d05780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af491505015156102ee57600080fd5b5050565b600154600160a060020a031690565b6103096101f7565b600160a060020a031633600160a060020a031614151561032857600080fd5b600160a060020a038116151561033d57600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd96103666101f7565b60408051600160a060020a03928316815291841660208301528051918290030190a161023681610401565b600054600160a060020a03828116911614156103ac57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038316908117825560405190917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b91a250565b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a723058205f26049bbc794226b505f589b2ee1130db54310d79dd8a635c6f6c61e305a7770029a165627a7a72305820dc2224d4fbbe72fcce86b562cbff0e67b6f5393b5032e7aab849f3b282ad198f0029033f57bb3d08f5e69507d963920ec6b2d54f8e357c0b324bb6b2b2868eaa650e890382fbbd70b7c38a00d15290acc8f6627e8d433c5937ecec4b1ef5a5c768293eff034ed65ea0257fd0e2e9e135979ea4170cdcdd9cd3ab27ae3e35392ca10ed279a60391ee6a092f03b24cb84318391493ba39911505158395c5847013681e00217eaf03b934491b33d8c2384e553afc11fe233630ea13f813244187ff8dae98e0bbb85203d2ab02c389d83b2e411bf0b161c6eb489b3546c7366e4ebbd2e921d7ab89a2ea03d13e6b657145e84919a3af3bcb99a330e8b64f13e16c5e092dfde848a485f10903277fb918dceae67dd001dda844f8b7134c649386cc3479b2f81ba9fe124ac10f032c2acc4ab2b609c95b99302a7d59532dc25a72711a8626fa088355a847828b1f0365766f2a177ed28f2ff6b3da779714cd12d99034568138e5728771efdda4ea6a031b1942dbb842ecf35147a2c8ce651d2748ce0e427a83e01bd272aff4a07471ec0397188474e2509eb2ea7ae8fd0f6c752b062ff72e6ecd8a8dde9f57a962a0d9a903342ff7ab1b538cec5916695636c6bc404753230977f18e8b49fac4336230faec03b239ec110dd69a5552f35dee6df525cd0a7f1a04bcbf479acfa93e0916d726c603e11c739515b75d5073cee9362a6b1d18ba890eea2933b0734e9e84ac5c8b7ef103a91da8c75723646ef41437725b5fedd3c4e0defd316abcdc40c51a1b6afdfbd20323a2d0e9987971c9cd0c5571d1f1a543355bf7dfd41ac84c9c3e0048968bbef003263455ec3cff6ae0978ef54d1b98a8a8a4c7de8806ec7cf95547b6cd358c56b203e0aabdaec136483d204d5fe772c9407c158843c0e2c2efdf9e6cdbc4b6e75e22031a0ad63052dc56af27d27ae05c77c71a4cbc18bfd20001442f66fff77bfa67e603834eeb32474bfc2b065983d37e857d6203b787fcfe30ad101f241c482506d34203857f251d1321490647fa414579d82ee99e1087deb3b9162eaafb51fd04e468f9032da4c157c8f93979ecfe9d26a227598a9834384439ca12d5d255fc9d77ef471403acb81157e9a3c2ee593a9be29438232033706076d7289157894a4b25baf7c10003137b1e86e25d4025b3df19f782d0a110851ec5b2df70495b7c46fe6ec0a585ee03ac1e88c4b23ab6d8b215bc2c70f898e1bbe31b0bfb9cbd6d458b6bd8a5821596033e598f4a4e4f8f8e0fc94c668d0bcb0f69d27ec7135ce1a1a4dcbb330f313ee9031a02e8c31721362bd438b53bad1ad0939abe1324d782d92b9595d16cabdf082903c90f6e8950b0c088474ae8e60b530b53b1823ca074f7f75debe6d6bc48133b2b03991011f6ec58eb52defc6e718d9ba7a2c405e056817fc98fb004419c716f98ea03cb01553abf3d98f2915e923d46aa62b11080d039a348f760221372a27053b783030dbca9bcd0749fbdfae478dc37c14c8995b0c4becdaf65b1df35aceba3e451140374aae5d12b591fee12c9d1e04884083676678601e0b0804b83e8e356356e989303e1980260bb4a49b6291948c32c8a83f960a02187ac806a363738ef1e31f924580379479c69a988647038692c58360e9a197bd2f8b0608d933dcd6198491d54db970386a76623d3869cf7d3603b91180b5c9c41ecde6f2635b05a45b176d3884e5d130369d2c21d98920f837f8d117ba20e2339af089715edf75bacecb4e9339bcb09ee030f7e84bcb4b834992bfd1bb4c03fe8fa94f7e4738aaaacad81304953d28df5a503cc79d911e72b731d0739ec6fd23f6fad6480db03373c9802f377ce417aa46a350305b3ec80b078be681e5f58a267855c7896e0c30fc96eb70b6a009ea07f0301cc036adf5ee7dc66ccf80f3c067b9ba9a2d4519733b17a153ec1f277d76013b8958d00581f03b5507f527e96b0e3ad1592556a2b93e05885d09ba4fde3d8b0f4321130005450e7ad144811aaf4dccac4c1f41cdc92d4deb7e900581e0262f99f09ef569713adcccf8319e4bd1f77c2dc2dd6b5dcd042d804cedf546537c805bfe6172116738bdba18fb83c2f786c3b00581e02e4414b196dd1c872c03cc936d892d578f708ca92badc0c801616058c9f54667b79c9e7b9e812bf3202c2fc211d3eff5f16310219010103fb9fcb88e65ad8e0727c7440aad09ceba3ccb0b4ea671435307dc8f0e1d3072b038b772c829e87d9667e7ebcbff8b3056a83898eaeb49c744b8f112f4463245a8d00581f03b265ab1abea02ad273e520529ba743aa44e96d49d2b8cb8625cf61949b9054765e24e5a846e4c027f65da62e2fcc56f0a6fdf202196fef03640f3906d1c2e6e5e6f12470f319b8eceda071382dec2141f5bb35493c02c64403ca7d31e0986926e7fc9c8a1b9c524000b0314c06ed4bdb261231597b8c6a8574030cd5761f2951873f84b9f41b266479204c3fa4c59340e284634c991381e1a4370335141bd6ad50b0ee99a4f4c8e5bdbed973c75d5c19ed2c57a6a0eecd80a4f466035dfe64171fb2d0b1907bded64876f05ad2171343148d7b519ddb98f5fb58e6d503ce98ff450c4f70968ab2b61cef9686725a2a3fdad6e4e6e9d627a1a19c3243b403455f60438c6d81b5376f4f23fdaec834aa6ee562a05bd663c41d23e63d9ea41903842d51bd51514d201dcd7523368d758dba91d3c83f937b8b94a973136a31de39032cb2ffcd898ac95a55a8af669451f101ae4cf262385061824686c57dcdad2000031f8500257f2c0e535008c8ab3ead216e884db9c210fc9fc7318334ae07a63293031e71a97b65071626128f2b728ab26940a6197c2e1788da748056880164b3dbf703ea4d81bf395f5e942629c53ab6d3e044a64480b138ee4ba5b5c3e3f7510b295f037ab903e3ebb1f6407cc813ea2bf3c9cdd014dc000a40f0b4c604550b9389fcce0219ffff0343aba79d5406acac41b36236426fcd73a60a4f05bcb9191be30f4ca1cd2ef4d70314515971fa55660d87529a28f84dc61a10171be09b7b96aee510f24c27f75b5303be0220b3df3009851de623b55eb4659f9717350bb104378895ffd3f07556a7120364796cb65d885dde112650eeff1686c9906bccb2b30626a4c3c2040a492b43870219ffff0219ffff03064c80510579bb688f3cfd17f6308955902a563420c1b7ad8b31eb30b3292cb503a05142b009eb77ad2e9153dbca15f9c3c2ec161be615f5c3c41354c898ecde85038486158d317aedb3e64ef1e756a109a6581fc48b1e8cb1515e618809a414dedf03c057759e43fae6f1d8915dcbbd972560f94ab902a4f181e41542bf51c6e716cc03849928011c8f681f56b55895d9c5ea134c29956933f837193315a0d740075dfe03417a573d661d16e980266abec29fa25f689dcb50b921dcc64559bcb820273d220355df9159f69a1c788ba67d31869354d035be280a2051b93d5718cd02acaa5d620317d9ce8a3d5f07f1f190763d86b7cfddaf71283009532b3483c5314ac052847503e65a74899c7ea52efb8b314238be8367c36b74774450bf4bb6e37bacd2926e5103fd81991f7df518c8335de339bbfa2a7f7384e41de03ac48faf73f8724f7c1a100219ffff05581d021ecbd4a227a0472811eb6e05788ac752ac42f46ca98a68303132596d071a00179a20190e7905581d02c977db0a0a162c4f95bbb30a3fa35d21412f28105316f4f1c33b8e9f0c014714b82c50548000021924000219bd1a034c9f3ffc715c1cc78336bae7c77ddf6f2d4942c4d47b01e4e68b1f1556cbbba2036731ffe657a7af052df644be6dcc01c0c282f9d2c1d3fe30957234a9ed0e727e03a3485f3a1384f57e408ab1e78497cecf706d1bd76203d61fc891f4b064f502000387a06bf43ac5d68b2961031f1ffdde126102fcdfb4c531c0ccc9769e28b3e3480354cad25e636a6d0d63e1564d181d4e969b4a8d26d321e30d29a35c9b9a5bffd403bf923d9f767ba764e4d63e1891c88397b9318442145b77fde40202d3fa30b55a03a77013bd8af74780240d9587f6b9d82536ad8a73202a6634e8a209c1df3b2f5303f78f675dfb39927f1c6cc7ed3645436004f374a424fb765c74252481bb801af20342dbdc5fdaa6a45314110ed9d904bee4ccf0ce4c9dddc76c3e52436560fb72c903698fd639ecddb9066d71373260ee7e4add5d9ed105351636be27052803dc08550311ee0d688d4e8f2b20f626320a4bd9ba2ac53a3c2ae7dfeebcab74992b2e7a930341e116092d00daf36768b44010314a966bd95468e3085833ac834d36e8f3821d03f11386a2061d695dcf4f633b1818c59ecfcca48a83acd499a55df2638aa7af9d03fb751cd62ee7a2de1eb70d51af9cd350070eb05a4ffd47f53e529778f78faff503077862c7885cab82440c4760c5963c24f1b0331130d2d76dd60546f0848d82570219ffff03083fc67174649f0de2567412be10e13e5c6218038b082003b077d4af1df2b73a03183fe3832e25469a8c851291e8108c57dbc781268862cb84681230753ece894403015b9ffc5483e040137e5958217889d4fc71add2699ebb1e161d0fc4366770550390dc70832c4518c985f5ca0f3525d0aeccb09126ec33557c1ad34374210871780219ffff03419a669e411c33889fd1e921a07b88cb3cf2c5cb1c296b3af80c979e0171c171038107559d29b6e22345b247d225280a849d6fa200bbb9fc797e187b3d10c8ce47032e72718a79121ae6e2e37a7a073990cdb87cc3c7b0acb4cbfbc42391a9b76fa30388f259ff0b55640429ebb22543d605da59fb12188a7ff9034f3734908aed434603282ad5d404526e25cd7817b87b60701c9a503f0fefbfe49105c36265b4b355780384ba9323faa83c28ddae3e9dc59f4c4bd882452f2f4b29ab507dd280b3cc7e6c0337fb4966ce3a6bc37f75a8d8343df448b1d69348b6391600ec023a88000e2f49036c25f1a4da3b73be4fb1eb07fe84137822a3812618288bb7c739bd1b05b575dd03e85a13166e9acb8896328a123ebed0b3678fa598a210e3110c888c333ae333f803f97113c0a65e39efe0d26f21060f72cb1b1bc53da97493844cfccacdbad43f4803e3a10002e7e0dac12134309d3fb6f109f095e6200d757f14b1b74161f7b182310316bb31d108384104aa88bae6d3928cf8eebfb6b5d0bc4151c7b3e0ab6ec9cb1203019ef7a6576a7b540fb3be05ff0b3f938a9e785bbd9a920f5975b761ab4d9d3203596903cb417fce33561dc2f5d592bcbce553f463b2bcfdb3793c981c8558c53803e0b9c9e4b61a45746c2242aedcbe041aef16cf6a7d20e8ae60ad4f4bc6f40e200316d8a6ede0dc3e0227fe14033477b28901fe181b2c7d1121eeb876eb90fcac3e035074607d30f888546b88b9bc960226ba07e82ca8d066b9a27d492ff16454a95b03f2e5070fad4ebee4531622d8a3399cda6d2e5f434e37ecaeab07dddf61d4cf2c034a239a0ca95f700a4915f359369c3d6d815e4e703d85d02790ba032d99bc3519031596edb8753366032c79e1dc63123abf4ff54154554bfbda535d8687063919900352464d20c6c53775b56a1a0fd48aa0329f8ea1cfa72ba6763d9fc0b2b87d245d039105c03bfd6b914096952fa4f3bcb80b74dcd124e2bd188f82981fbc5796712205581e0391880277d35bc9af5698c4db024271cca7ea9a81cc3b9202cbbeae8f8007011bffffffffffffffff03746bc6707e08330cb3fc34261950392e7295b854ed481fe5a77abe7348abc5cf03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c031644e6112dc7a69be5c8bf092a1662aac0476669c0c5fb72c717a3a0a21119bc05581e036022863d53e8395ed1d31c0b2a27b39277126e1ab68362b1d077c90a8007011bffffffffffffffff03d8b0e93212b19dba6511bf4905e53fd5c2cffaecac66744686cf40f35a7bcc730337bbe23a2a67e710da0bf24f073c52554f737ff9f2499966b41aa46641ad3ebd05581e037c93c0f49eb6406522e428558947cfc8ebae72f2d4526fddb343bbd07007011bffffffffffffffff05581e031798c87bd24b07cc3676d489590b00181f67b6d800f0662cd70b8553800c02478a31680fc96caf03deae54504e231d2b49183363cf490083350274c0856eb41265738192051f2c1e05581e03f93cdaa35f371d0596ba89b0f33de95d0737f9969e114a68240cff28e0040103871ca18c28e106170987d19ae6f4e9d515ae9eb486e78944da944e23a253d31305581e0376f0c5ba0bf876526cbb99747d04a04a89345021d94e01174ba3f25a300c187547860c48b8de71ea0219996b03c6fc8749d9e86c0ed64cdb7b6b81f881c16ce9dcc028a0cc4539b7d025a06c9303693b7566ee3b986018ae062a830a27ec6deb3d5e93f44ae736aacfdba123fab90325a9ade96b3bac93be5432928f5401cc8de9cf729382d5ef809afd4674ce63780219ffff03e134089df937d61475dad1c2456c97894b4d145c03bc56f67fcef9d8156adb67033d38f2deff7d4b9b728ee703d7503bd2dd1e235637c8569361f577ee9768c7c70396d1ba0e30760a5f2e6438505a4ea9921e3d1d174271ce9bb3c22e3a819ca4ff03be2ac776db7eed75c15b05918bc76a82fa7ce43d96c9c64e21644f70a96a182a03de2b72cb43a0c6def09d0ba42ddb2c661c2d4ea57b7980c0ccec2f41df73a91c03b48b9cc3546fd27a6be28f811775d593bae26ab377d5b57f9bc71644016d1a360383014ea81169df882e2d9dba1311b5d67c019c19f2a539cd655604d99cd15a9f03ff2d62c899874d7b8a76401b70670d0a4ae597a4181cf69db83a767b40a947f40219ffff037c2d54cf3d69244b242b6be26dd95d0d298e24f14a7de416a3c4c3899a021eef033156e138e377ad609770a2444cb8f65326bbc8284936bd4fc7f0ad548d427e2d03f5789933d24f8ed4638c6c9b263682c92d01e8e925a5aeacb68090f4f27442070341008785ae2b38749f1c81bcb29065f1676bce53c8bb657a094e6f43573bf163034a85a5c351bcb1cf44fe37f083637ae4aa3ed391329bdc658c9385b24be478c10341de0f47f55ede8bc4a36eff558ecbcd586cedd31c1c72e98ae0775e2b2bb691032b8dc05955d8e6dfee752bb57cee23501838919133450758cdb72129c18228e10219ffff03a7fe943ceb25df0bc24e6833d3b87132875b0c09cb748b3cbefd9df3eb70425103cc8d40fdc8d323419ef690279419f31c335132da964e32a3fe7c9863a0968275039aa4db2bb892cb1eb05e778c75b5202703d2e160ee5c495be7b0692601574da80309d9090212e97d755f06834f432ecf2ffde6422e697d0e1327f884ea1e6c97ef0387e8e007dbc38c8856c04af4da0e190899f3d9e91662a71c310d3191788e940f03b172d9053f11bbeaa7418114511944ec17bbd1ad0df40f2955b330503371686a03111a0c21ee0554cb16091f2124e28babdb289d546b95d6473c9c96f7cab1b9f003ce322ba7367d62bef3c47e62789c215c30d0061e1ea12488efa49214b7eb8be3032904b69e60d942384135b8bd8c94bc00a09e2560f9c136d0924edfc873870cd603b2b1d8c5f619a219e49553f5163a8d880c87452ac68aab66afe9902a88e4222e03d09dde513d981da1b3a828f9d712112c0a74b6ea266cc2377f70c040cdd1e84403dde86ca00104ab40c325a2a6bfdd4d96d8ef8e0294e7f5b4cdc80320eecd997a0300cc0b0b6fceb1f43b1bbb55f947f8c8486bed52e2592a56aa75235056de504c036b104a217998e013544902e647e5d5d87df0ea4746c43da3596b48606536b8d00310c7c7420453c58e68aa879835169a37939934bb1fce152edec387c00ecf3ff3035e36b4c82bf3ff40929cd1046b092887f57fd8eb9e56b289b712a24e058ccbed038f44ba15313ea2a709f15719e62344eb7a0c6e38e6fb5e03495773b1e293c836033265d62ee2490a2439610520b33c9b06d28fa7a78dda7ce4ef8e971e6bfc7a1403b4f7c83e7fd5751d2acd2d62af445e84e7734c1fd4f33e115cd67fe27b1b66b003c79c59f8dc5e174c555539e0b71b5ea81793ed5a85f376e0d6bf6b538c2f8449037655d35fed326c9a97867200aa81df050ebd1fd0860039a271f85e78bd1841830364d90116f4d37da5d80d2ec3e5e556d1283522934c8491eda358126a78c2a57a03c78ae1a7b8c4f0a18e6b879aea20599e95561b4ac9b901dbbc2809a6fd09261603e364568342155b7dd77a9bbad5e1656d3dc37d08b5862cfde86adf736f0e041103361172f02c31d0d4465b5117313accb5309223a7b65118a3fd2cc7b82643829b0378d757fedb0f6f1d7266aa676d37590ab2b922433cc14ff0cdcf5076c8368a1503c67bed5945045436847dd995fe82e2d18aa1597369b9759435f23174b3b96fb103cbdcef6c042fbc3d60eb588775eb446eebe3bcad54af728cab2f4b993fb3175d0394454d9acbce98f609d5be7e3f4acdb979c15075ea0a2efe05dd1868e2655c0f03febc5707b41f53f5a25becccb8fe5450d6977e7f3cb77f44333f126d6a18cd5c05581e0322b496ecff6edd9c7cf39fa512df430b75ac9f399ab9551f129d39d5f00c12470c8e8a71735f1405581d025778d9b24fc87f893044ce9f0200e5328b3491f1eae68e43a6a6e5300c02467c7e0cbf86d00458aa608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea265627a7a72315820d8a00dc4fe6bf675a9d7416fc2d00bb3433362aa8186b750f76c4027269667ff64736f6c634300050e003203c2e4caf94e58060a2a3113286e4d02ec728daea88a08846ec9979c3f6a5022c10058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d9db270c1b5e3bd161e8c8503c55ceabee709552005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c054cfbfac74c26f8647cbdb8c5caf80bb5b32e4313400582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc530541e50befbdb9480fbab01d8c3d74b990b070ed00200582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0410303a0180ff68c81830d7408c32884f87584b01c7e1b1863b8d7d02a8c2214d7e32a00582103f0d4c00fdf73947578e40d4e4682d5b73b9bd82e54e2a2440bf240e46c80b65054cad56fae244546d0a53e8afe285acd37a49e276003c9e5cd14a533af2288747186317f90df41f06b35ec077ac7cf483e331d10a40d0058210371a4ee84bc78b028133d4e79ab7c1efde80cfff19c617dcd42b43199e514792054f8c1c8b85ecb964650f127755a7394f1520183b10058210343c492b2e3265912b912c15c4d5e668a7aaa726ce4053792bfda2a6a65ca7d605424fcb9ed2bfa9264526bd675aaf392526abe19c100582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05820a3bcab7579c4a63648dd7dd4512ab721ffbde90c7cd9580e9b8bc369ae9b6d3c0219fdc505581d0253e41783aaee5cd71dbf143fc7a620089b72728af4c5f782d3953cd50f0149eb869c310a857f8df918aa05581d021bcaa0d371bcfc728cc48945c4a0581fce262d48977631ffa5f3b1220c014717ecb469ba3d7e0219c008036ca49428110f707d75c8bb6095df01e4908f1be66bacd27f8d17cb9b1cf6ffa30362d0bcc8f2e6a0adcc1b20555e1635505cdcc036707b1f046a68a7a31d21086b05581e030c983369584dc7ad2827ac799045f0a500872ae07f3ed07a38b17236c00c02478146b17616400005581e0323f159691ef73ee831f51557dfb841dc5c64bfe7d4d5b0827cfe9c2f600401034a3a111c9009420a3f01067828cc28b7467836b228ee139fb94fe8bef15f17b305581e0358eaf8b7237da0b15c44b6f018df11ac13333a2c1bc10c3722bad51990040105581e036eb9d6f8c62805341ee60f111bc85ff790b9ab9d2c68604dc010d4b9000c04471eb812f7a7768c0219a7ce039bd2990d0486472b04613b592cc7ebfb2d763b46f7accc4a35552272a0d6fe6503686883e0e3641f85d1dd8f272e0444a34ead96d03388e6eda54759aa7b4361c603e199cd5dcf856d6428882ea180b7f428a6f0bb39fcc11714b2f01146ed1f546f039b6d3570b058c6d97ddc2b6a61b2c05569c7b751e15066b6eb744109120fab360219ffff03c2dbecd39416ee7236694155fb423b023d14a2a363e8cbf5f8fef8b2f14ad5d1038185f46eb00d1cc06515cae8b90e5953f585368fefd0d1be4489e01aaece042b03302117451e2cdf57e86221ec72fefcbbce51b6c4c98a512f9a62b4747fe157a40335cf60c92a61b8e114c533ae80ae0cf01106d189768ad354971f3f4c1e0feab003af44d48afaa62508d831d64a4d4c327eedd35f62cd2bc950a398f51cb5be259c03090febf2cfec7aa4e6160387f9b7cc1f7814aa866ed1095a996bf715d211999c0321fae8766c4a818ad8761aa7efea65aa5870eea8a6141d459a585dcc0b3ff15a036e85372a0de8b9b5dfcedcc3a54581edab74ed024bfda4c1de734f84c0345b3c0219ffff03e8a9fae457d2ccbc5e230a5c4869ed0a434b1eae34eb9b88ffb3b756b4a77a380388f97235c18020e477822e46c380cabb18abb01e330e248f51ccb749cdad7a2f0358ab6f94695a2f9d41746be5605fbb57517067e4cdfa1c562f690bc6ea9d546203d466641758b58a2ff9530e1f837824839362f2024fdced41b076f91caa366e280383dea9f1a6567631615bc0519d2810ef89a733e47bf70ac0f53b75f99238b9ab03d858cfe1eed5d6cd27a46d1517d1ba57d9798743bc8dedfbd2f7a78ecc6eba540219ffff03bafade940149bfef00cba20d8ad2237bfb2c56a0ca9cbf8acbf6a509530717140219ffff0328ff256323c71703491cdab147542fbcb5db8db6bcce057276d0c84570d7e61a032f54e65489229216d4026023f0403aea9360cbbc0f11d1eb508b6d78212467e003ca5600b6156a9a6e4b8cfb2bbf25cb82d443ad164705cc04abf8ab2e33de2e420337a04e9b7594b7c8c70afdb1a75eb06432d5ae9d6c22ec807d50becdd19b737303a17cd0390f0f0e2123126740d1af88d2108ba10b20a287f65a33264d9fcdf4820309e21a2daef1965f02583d1d4c204557cf455f99ece1842ee30cf3dc765758ff03ce5867d01518d9882f88dce4b28e7bfed10ead917981e186978e6106472ffc620385ac39943e16c230aed20f86adef609ee075fabac8fa3cc6b43de3d9c0887817035189f1ec5934035da2312c24dc5585226234e86492cf02c7921e86ab6635397d03af6c9d5077b7f0a25b08eb0750ded2364c685841546c817745abadd2bbd1d0b2037a05657be761d59cfacb724b721c84b15c6907a9fde19e85a4ef340e496aa6a103b74a95b6152b7c305a799685dc9ce88b6777b27b9a73dad2f473c29d6efca9f5039a2af2578428009f68be1639545ecc274c2c1b316b516c6baec7bc623b9e93cb03b5c9cb24f277b7023f21e6f9753affd46d0e435fcf2a0f9d367c80d9175116a203853ceb0d6b0c4550517c7a240712b7a6e37ddf4942a7a7d89c76a2cc332252ad038bca8306bd84a424346cc12398d22c0b856277dbc5ac7569e4fb312fac8ad98603cbb410ede7f020556e7301ae092718945b37f15af48db3f99d90a1a2b25341a403e4da1f9e372d128332d0974589b375aac412f0065084f179d8a9f46190bac1be03de21a5f653d212e59f34c2bf69ef0a4fbd812ae403ce1d663b029fe89a6fc84d033f8162667be3caf1470219b2d994121bbc0c3e9388113af0a3a021b4c3d6646d03dd53196f2a2665ea929db13eb595cbb5ce3cd5051eecac72a263988e3e98fca203d8c826570e157042d91d62abb77d42d346e89e37f4f8c1e6159ab505d6b0147d03e2fe93bdb47fa7bd33b338e2dad914851fb136cc4d2fa01967587e22c962eb93032c849f9765bb41f3bdd3db5d85957641dc50518e00ccbb5670331b0aab23a94a05581e03649f2075911c8f6d2db051958720c91f80bd909e9db967eb2aca739cc00c0247101566204af00005581e0381136ce4d0ae369c3169e70b8db4d2c75d64eda26a8dba5e32865643100c024701938f7483107203cf4ec28a03fc0e6a65701c4092c05fb0d7ee235d5ea883aa98b7f6da5f6d46cd05581e033426ba80175c605349f9412cf7641ca32384e13961d6bd9583a0b5b8c00c0147456316d9b0e35005581e0320ae4d3b37f4b878e1f0b72b910a484454f2f5fa24b0dc0dc8694ec8400c0c461116f54789b405581e03d7c7976e3626579d99a31dc78da8b11e96795e694c2f34b6463061c260040203e19a003a838e99cec8f72d4f3eedb2fb19af1d70dad0dbaae59ab439c9f7b20805581e0370b73895b8c9959bae685c3a19f45eb5ad89d42b52a340ec4ac204d19008410105581e03a52dff93dda13692ec23734627841b30a925eadcf279457adf2ac6c0700c01470707e3d802b08003e7f097b013456c79512a81aa37c5cfb1c64056c7d87264ce55d25b118bde185f05581e0375fe7fb7cd684e46b8f4297b42bfa9cb389fb5882854d002d7065ef5a00c034762995a5325f86005581e0395aac3f6e0ff159aa3764a7b9f279ad99f2ca704d7a61e514dcde5acf00c04470142fc6eee6e2f0219eadf03aa8d1b28310786facc867dbd51e4c222172a5a8fd7a7ce26302e1730321caa430320ea082aade731979eeb661601ddf114214c75be9133ef32334df7f7531e68ec03d0d7af8366cb9177ae4b3301031c1a593e7151929ff591de24406a2190d3cb84031a5043d265ba7341bcb2efc5e25c97bd6a0671f5a6b755b9f57a60edab096c41037bb2fcd2872e626d1eedd01e874ff72fd53647abe0599d42a5f25c0bd096015403ac18e5d2aae61f77ffb7778e846a5b9672afbab396c3edc1340a3b162f79ed5303a0cdfa22e557eecd301b82dccbb4eb47520936ba800fc63db72f8b4d212faa6203fe06e7857ffa8554547f57545bf2576ced097bbdab57321f602fa470cd3d854103a95288c1e5c603cc0d821ea11491602db17ec711442220c1d1a6ef24fd7ba9c703b7bf66f3831faf0dcec62162b4fac8fa8109a59bdf55062ad8ac1b6d60c1cd2203f3e1b7dcd0e48d16c021ca36ae31a0d20f0da901db04ba2646df79441bf6638e034e65d274f40992cbef4e868ecd08e3f6d39e9f62af298f3d9754ef3b2a1ccf9b036eac3a99c9757def748d5ca4602d8c075f225281383bf8965e7d67d3d843ea21032d262df48af4147f802291057298ecf195c5f3fc206ec5ee654ded4a2138f1610384c96ceedcfa09abaa4332a3d21675b9ad4c8c4b1a2aab18234ac83fc646ce310219ffff03be9fa5b05c67872789df14ba0af1f690e8f057c73620ca442cf9a73d1725687903e7ff6ab4397e5a4f38fe03ac07462b129e8a4b1cf01f6ec6f519237969241ef403fb225c65045e77ba460172382e7199bf2a9a20737e62f261ad00fdb58f4635be036c70048e0221c6b91ff444f5e1fa425aa957c4d656c1e68628ea6836a9200c360219ffff037ee45ecb580bdfc4a3d745f2858b7ded52e9c2c2a8a9a6d1657ebd536c8e5ef003b84dffdf8b666d45e08cacf0180f0bdd0fa7a009094c2559c760dbfa8040b6bf03fb4d7140e45bb4313a29399faddb762c1979fdbc896138bc45db0e9a0d0afcc303098f64586eb2c0173298a2cceabae90d998e15160c73a407156263f1371e4e1b03ee20c837c913e7ade4b1db77c7a8fb9a43b6d4a5957e46ee0a18882b6d5db0b30219ffff03a74ee521d60db18026dde968d2731e1edb8f30084649d701d6e3e9f473508cc403e7cafb74791385042d207801f39c1bf50cb5f464e7e947fe175d9aa9c4af90fb039d0a0a1aa5de0bd302c28a92b2b90a4d7de14e8d50adb4e6be108732cbb26e6903926c1db744f1628aeb2dfc298ef484c024662c2b9c5b89073fdcc7556503e429037b4c65751f04057eb540557be57cca96044a68344e20c2aca08c24ab9959f58003388c780b051f8599ebb161b83b02e9df72f6b195bf2b4b7881f527bdc853c85403e611c35316497b1e231783a1a78e923487ac6f0fc563c50d3667a07b6131872903525d69804b7ac338444577f962d9aea699b3a75fcd4ebe8487a65883a6701d3403c19c34f19c911a476e5fb30adca819225eed683f15a305558a3777c40f518d280321a4b9d41e8bd0822069e004c79326eb05a680a2664363eda65921ae6779da34035016642e2c783a4387ca60550da459c9dc1cb6468d35f0c92a969420e9c611b80349a4fe2582b622fa64b3100777f89d98dcb0977ba89ee4acec615248a0ac974803bc8e8c92db0b9b0bc48262a8f8d3724fcd9288d9a065b452ae7737714eb5596403b47cc245f1f1418c47d2663d5408e535a38aa937f73535834e71786d5cd9fbbb03e3a18250da17ccce7fefab22d913c2b9568385dfcace78dba77b986efdf04b9303f684d5338da814078fac3500a33f0bc5f04cc3cae6ec50b8eea3d3e2f3fea35f031c44d7172b6bcdc32003dc6ad5e4a1edead39964edc2614d214fea1ea3033211032aa7d5d798b67fb2687c075afd3ec0437d32fc712903eeaff3f034db4e3b310b03dfc672fcbdfb062500ea80e78fcd8775d257a999fd5b15230822634c8dc649f603d7607cf68fcc8c2dd287aebd6ed3ac0a6a78c8fc344cb85cb712d4a68149e7ed032aae8654965f7159840973d317748dc04679aa1efb8fd5a9e366a3e893800677031bbedd13e92e9a8d4cd862785b55fe446c2fa29731d04c1c13add886c6b5cae903998a0257cadd66cc37f60ab7bb0d38f9497699032d97390c834fb230d94500c003f768ca7707844c8a57aa29faff37522eeeaedab660c1c6b2e39d73744bb8b773034859fd2a4419461a2ecbb95eafba99bdafc43a2f3b90fc68612fc328c3efd305036005c7df861164a4ef7894059461b858a51ef3a0a0b62f93a72db2a7c1ac6a5803fd1c593a8840c5bdaf5d874278825ef9536426fce685b986ab86ec975f0bc3e003c4a846421d33599e0c471d484b17ab1dbb205000d9594ede7575ff0583d27e9a037bb9f38a15ac7c0981d75af4941750875cf2db47fdfb914e405701371472915a030d71a73f5fb2de7ada3b256ae52ca0a693b5c0ea084adbcd2f18b9daa50fa88d03044616c2aadfb2e049778abe1195a63ff06549cea852185aeb8a2fb6efcfaa3003f9c518615171997427abfc549606010f574986b606d259c76cc7347a1e2280c003c87c524307e8beee4f49a2a3cede5e51f4e140408b12f2d5ba097ac51c03b17303f5148ed2a8df283ace25292c57039be74125f26c05e6f5416bfc7b59536a7ff903d2dde66cdcdb128010b8474f1bac6bc362272f1eb475ab16ce15f83ca01af15903b1c60665304305f1b1d96f9576eea4305a6a3556e9544423f263d9f345c787cd03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e034284e532a01c9a6a6f0e97ae73fd5c73dd9c3faf1a807acedbe7ce670007011bffffffffffffffff05581e034b0c51de83e1357fcde677bb79b73bf0038dd3cc33794b6e3308a175000c024702640401fff9fe0346c4aae62ae7279455f7d82c18b026af24e76efd455f32d82c1f1ffe532194ff03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba038fa5030d8a213138c1d5d00e7e1d785da6f1d41ff78e15af3cea950aa630da7305581e03172e85d12e6b3cf55101eb5afe89d6060bfca774f87c8dd08bd89cd23007011bffffffffffffffff03d544468f65704a4c3fbbcb9e14a825db214d279062fb3a12601f970a042ef8b605581e0377f0d6cb8f0c259f46ee6e0ed0778f72167119a44813ddca6a09cf2630040103e2aa7aebb50440f56a6e37af086ef3d40a54b26482ca7d242be0223afed86cf603b0db28217354e3fdfb501a025fd5c0aba6f7ab8af00fe89ba6858a32e1bdd0e305581e0361ca5fefbc202c450c5b9bfefdfd594fe906bce6437b797ab7b806b2300c0147235745eb7bec0005581e0357a7e25432e91484ef49f3b871d737220bc67e016e506b8c13243449200c184849022b09fd2b8d0d196f05581e0318f68656830aac7f73fd1056957331bdc740376fd411ce634c570c3a400c0647462db74a3345080219f78703bd0483d937c0e26869529347d05c0e63ed3b64445000e477991eaf4829fc9ee003987202d0f90f95055f65d7bdf31c21ec63473161b17a342f48db779c131b13640376c3c57ac89d9292dfb83ff2e2f60fe419287a7b6fe47536d9b7fe8725517e7803991b9f5a193d4c48f1623d5c2c59f77ca353f94d853705ed07567035e3c793d20343dd2331573dcf43bde7aaebde47fbf29817bfe9d0402bf1f42de64f7d3bc4b603ca9c815c410667b38f2dbee830e0bb6f871ee000122f548142fd8bde27ae08bc0219ffff0386d886ad0d65f143f64a274e4956ce3d3871cbdd1823327e4fb6086ecd927e7c030dca42aabf607856bd1ea582caecb122180e6891106f2088e35ec198a3e0cc84031d84b835cb50443d1447c134f4eebf66e0e9e50833000bf672e3d2bde75c4439033efccce5424c49dfc89ec3bf88f9193d2e201aa9416830dcf8781832a215b43a0219ffff0219ffff031e08700afcd0af549748aa631b3eb11cfd360eb4a90c1457567c30a54bf8c99c031519447c12e6b045624dfb2d3839bacbff3299fef77e10af3e0e34c5f8cbcdcf036173ca24b1f64daab1db952083ecac3cf20360f8d0e1da6789aadfbe4ca3cf520370fb63973812fc99826d131b2492f0279510cf6d385b06bf3b9a8243609e0ed703a698f51e9a69afca4afae59dbe6d9570063b900086f79ec75ac602ee8dffeec1038ae146579af17ca6a3fecb67cc951de0826a0ead243bc3a02a6e3d7426b81387039c926d94794e8854d2b8e7255a175ff0704269168a55bc514d7d5b948037f67f03eeef59717384940dbf2ea9c1be449984a08f9e880e3f8ee7484ff159db53a98f034a3fc97cdf65394b9be365f31cef4934edc8498b559a9dab51c7b5e74cc5a8b703ef045b45dfc973e7ca851c8e6d1ce0a285ac8554ff9f27361c9a13462e18ef580219ffff034c9d5a6ab83ffb57eac47c58325f02f85086c35575c2b96d6ca3d4f5becd3e1903b2912baa10b79d4b180065dc18d557e14e57354b009b7f9844e072146a845cc803777be99b4ec314cfa33f0a298f054559ac9be16fdb489140a4abe6111c7af64103f37c217c0d081b511aaa0d0203d9ed917c68361e7d8ae3eaa567ee8237e14b0103a0f1c5a9cb861a360523384faa1f9ee84d3fecfab3b9e759d58e3f2a48b54b78036930b04980f3d41f56152d197a4b5dee3436bd64f3552f77109c45df78bab08603c51c8aad9d6e193856f046c3ced967ab84535d7cc7013475422ff438d68623e50355e0dbb55b64402ef51d75c2acf3eca6a214669c579f2aa5aaba6d4d26d877ba036da0eeda7e74cedd3d4863f51f5752387d517847abef4e911aa3617421f13e17034343fcc2903c5a1d81256845f5b7c6758e0c228cf67e903eb44b9f08c75d8325031a24f1f200c32831dbf12b470b852d0d5e5e2ecf79d4644a66dede10bd85586103f14fc0468978e23533862898498d98e340893daa198cfdff8a939fab697b08cf03875086e458f68b132a436d7f583f3760510df0c3ad0023f2a79755394bfbca630344509cdef1b9b62e4264a3788c0a145af851de2ae10965921a27edda39b0940d0358d482c09618c5ec1eb398c87deb247bdb86a4d13b01d5e72b69b7ccdf0d20b6036c43516fe3be6d88407c64eb334bf6359f779058316d0f5602fcea6ad32ecfb2035b833d7db941dae55b37e404d58b7531a4c6b8e5fe6039a4086b4699a02cfc2303e08d64d3b03c0e0ce8a04027c14d04f8a2579a711328f81b702f7aa97289fac403202a4204ac3c05d42fb631de094a9f1134fe24b6aac39575257d0ac268786b3e038ccb9aa0d8a5ef8a41844acd01253aba7acea6c5d109b263aca2becbbadfa5aa0326c9fab5d2e817fd100ccdd1b02d6a45ec3407fbc1ca2416ad2313679fc4cdf80343000684db9048cb0d1bd51c1d3da8bb021998f1062f91686fc395633596c2c1030e4d94a922c21cee5801bdae266d9d55f4a027fa2735e6bc9f9143e193f652c70362f4b1328d66ebfc8a9e8afb10fb2e1b9e405fb652a9e103b006ac08482dd24b034873b0616ea97a89e701632f28fdd6ab226b74ef28482387ccafe079cd082df303c93e30b67975c5214538efac403047287b833f35761e0f7d869dea2cdf7824d8039e23869f83feb909b998b908d2a9e70c9c75e437f610389d5d1bb4a01075e3e403b093933f15abc722da5939efd732bb7a32e6ba54e71f485da64777b384ba6029035541da9f61a07f567061230f3f22817fb9cc1cde1282a523491778375988617b0337daa2a2bb5b42697103ae6e2232f3d684b472bd098a3e1e5088ae10c98ab4bd03107e5c9924077ec481a5c96925891a3a0ccb0716e9fe1044274603ac36e2747503448e2d247b50fbe64a0cc04ec92d6ff0e2a4c60368f1dad1d92de2b43bdf1d2603c22efe4967760047a503780c2e80d215329d3fc4d3c22562c938eb6991d3b25903cf5923019519a9adf08334f59b31ef1cab3f3b28c070a0b760338687e90cabfe05581e032dbc55563f7d350296983b066357820d38907c395834624843083e58900c0147035e55e8bc080005581e031d17c2c45698c9929afdeaa529e0b12f4396f08ce97df90a3846281e700c181e4665a6d09a80f805581d0254907fec154e1876b2c29968e66076f6a773b86b27b4bf274583b41d0c014701549505bf6400045920806080604052600436106100dd5760003560e01c80638da5cb5b1161007f578063b84f5d1e11610059578063b84f5d1e14610595578063c92aecc414610703578063e8edc81614610718578063f2fde38b1461072d576100dd565b80638da5cb5b1461048f5780639804a380146104cd578063b5268389146104e2576100dd565b80635c975abb116100bb5780635c975abb146102895780635f575529146102b25780636b68764c14610396578063715018a61461047a576100dd565b80633ef11fd7146100e2578063459a39fb14610161578063558b7dd114610274575b600080fd5b3480156100ee57600080fd5b5061015f6004803603602081101561010557600080fd5b81019060208101813564010000000081111561012057600080fd5b82018360208201111561013257600080fd5b8035906020019184600183028401116401000000008311171561015457600080fd5b50909250905061076d565b005b34801561016d57600080fd5b5061015f6004803603608081101561018457600080fd5b81019060208101813564010000000081111561019f57600080fd5b8201836020820111156101b157600080fd5b803590602001918460018302840111640100000000831117156101d357600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff833516927fffffffff0000000000000000000000000000000000000000000000000000000060208201351692919060608101906040013564010000000081111561023557600080fd5b82018360208201111561024757600080fd5b8035906020019184600183028401116401000000008311171561026957600080fd5b5090925090506109bf565b34801561028057600080fd5b5061015f610d91565b34801561029557600080fd5b5061029e610e2c565b604080519115158252519081900360200190f35b61015f600480360360808110156102c857600080fd5b8101906020810181356401000000008111156102e357600080fd5b8201836020820111156102f557600080fd5b8035906020019184600183028401116401000000008311171561031757600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff83351692602081013592919060608101906040013564010000000081111561035757600080fd5b82018360208201111561036957600080fd5b8035906020019184600183028401116401000000008311171561038b57600080fd5b509092509050610e4d565b61015f600480360360808110156103ac57600080fd5b8101906020810181356401000000008111156103c757600080fd5b8201836020820111156103d957600080fd5b803590602001918460018302840111640100000000831117156103fb57600080fd5b9193909273ffffffffffffffffffffffffffffffffffffffff83351692602081013592919060608101906040013564010000000081111561043b57600080fd5b82018360208201111561044d57600080fd5b8035906020019184600183028401116401000000008311171561046f57600080fd5b509092509050610f68565b34801561048657600080fd5b5061015f611166565b34801561049b57600080fd5b506104a4611266565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156104d957600080fd5b5061015f611282565b3480156104ee57600080fd5b5061029e6004803603602081101561050557600080fd5b81019060208101813564010000000081111561052057600080fd5b82018360208201111561053257600080fd5b8035906020019184600183028401116401000000008311171561055457600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061131b945050505050565b3480156105a157600080fd5b50610648600480360360208110156105b857600080fd5b8101906020810181356401000000008111156105d357600080fd5b8201836020820111156105e557600080fd5b8035906020019184600183028401116401000000008311171561060757600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061133b945050505050565b604051808473ffffffffffffffffffffffffffffffffffffffff168152602001837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200180602001828103825283818151815260200191508051906020019080838360005b838110156106c65781810151838201526020016106ae565b50505050905090810190601f1680156106f35780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561070f57600080fd5b506104a4611442565b34801561072457600080fd5b506104a4611466565b34801561073957600080fd5b5061015f6004803603602081101561075057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661148a565b610775611614565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146107fe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600073ffffffffffffffffffffffffffffffffffffffff166002838360405180838380828437919091019485525050604051928390036020019092205473ffffffffffffffffffffffffffffffffffffffff16929092141591506108c5905057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f414441505445525f444f45535f4e4f545f455849535400000000000000000000604482015290519081900360640190fd5b60028282604051808383808284379190910194855250506040519283900360200190922080547fffffffffffffffff0000000000000000000000000000000000000000000000001681559150600090506109226001830182611f02565b50506001600383836040518083838082843791909101948552505060405192839003602001832080549415157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090951694909417909355508391508290808383808284376040519201829003822094507fb00061f7cc154fc23eb34671ab724fc7eb7b806abae871abae8f1eafce97213593506000925050a25050565b6109c7611614565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610a5057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610a6f8473ffffffffffffffffffffffffffffffffffffffff16611618565b610ada57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f414441505445525f49535f4e4f545f415f434f4e545241435400000000000000604482015290519081900360640190fd5b6003868660405180838380828437919091019485525050604051928390036020019092205460ff16159150610b72905057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f414441505445525f52454d4f5645440000000000000000000000000000000000604482015290519081900360640190fd5b6000600287876040518083838082843791909101948552505060405192839003602001909220805490935073ffffffffffffffffffffffffffffffffffffffff16159150610c23905057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f414441505445525f455849535453000000000000000000000000000000000000604482015290519081900360640190fd5b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616177fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000060e086901c02178155610cae600182018484611f49565b508473ffffffffffffffffffffffffffffffffffffffff16878760405180838380828437604080519190930181900381207fffffffff000000000000000000000000000000000000000000000000000000008c168252602082018481529382018a905295507f779d768d36d59231b0853572f8ee1997a2a762b871abf2c81f18f4bf2af3c72694508a9350899289925060608201848480828437600083820152604051601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016909201829003965090945050505050a350505050505050565b610d99611614565b60005473ffffffffffffffffffffffffffffffffffffffff908116911614610e2257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610e2a61161e565b565b60005474010000000000000000000000000000000000000000900460ff1690565b60005474010000000000000000000000000000000000000000900460ff1615610ed757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60026001541415610f4957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002600155610f5c86868686868661173a565b50506001805550505050565b60005474010000000000000000000000000000000000000000900460ff1615610ff257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b6002600154141561106457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260015560005a905061107c87878787878761173a565b6000601036025a8361520801030190507f0000000000000000000000000000000000004946c0e9f43f4dee607b0ef1fa1c73ffffffffffffffffffffffffffffffffffffffff1663079d229f3361a3db8461374a01816110d857fe5b046040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561112c57600080fd5b505af1158015611140573d6000803e3d6000fd5b505050506040513d602081101561115657600080fd5b5050600180555050505050505050565b61116e611614565b60005473ffffffffffffffffffffffffffffffffffffffff9081169116146111f757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61128a611614565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161461131357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610e2a611a8f565b805160208183018101805160038252928201919093012091525460ff1681565b80516020818301810180516002808352938301948301949094209390528254600180850180546040805161010094831615949094027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911695909504601f810185900485028301850190955284825273ffffffffffffffffffffffffffffffffffffffff8316957401000000000000000000000000000000000000000090930460e01b949293919290918301828280156114385780601f1061140d57610100808354040283529160200191611438565b820191906000526020600020905b81548152906001019060200180831161141b57829003601f168201915b5050505050905083565b7f0000000000000000000000000000000000004946c0e9f43f4dee607b0ef1fa1c81565b7f00000000000000000000000074de5d4fcbf63e00296fd95d33236b979401663181565b611492611614565b60005473ffffffffffffffffffffffffffffffffffffffff90811691161461151b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611587576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611ffb6026913960400191505060405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b3390565b3b151590565b60005474010000000000000000000000000000000000000000900460ff16156116a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611710611614565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190a1565b60006002878760405180838380828437919091019485525050604051928390036020019092209250505073ffffffffffffffffffffffffffffffffffffffff8516156117c2576117c273ffffffffffffffffffffffffffffffffffffffff8616337f00000000000000000000000074de5d4fcbf63e00296fd95d33236b979401663187611b69565b805460408051336020808301919091528251808303820181528284019093527fffffffff0000000000000000000000000000000000000000000000000000000074010000000000000000000000000000000000000000850460e01b90811660608401908152845173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000074de5d4fcbf63e00296fd95d33236b979401663181169763e35473359734979190921695919360018b01938d938d9360640191908701908083835b602083106118c357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611886565b6001836020036101000a0380198251168184511680821785525050505050509050018480546001816001161561010002031660029004801561193c5780601f1061191a57610100808354040283529182019161193c565b820191906000526020600020905b815481529060010190602001808311611928575b505083838082843780830192505050955050505050506040516020818303038152906040526040518463ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156119c95781810151838201526020016119b1565b50505050905090810190601f1680156119f65780820380516001836020036101000a031916815260200191505b5093505050506000604051808303818588803b158015611a1557600080fd5b505af1158015611a29573d6000803e3d6000fd5b50505050503373ffffffffffffffffffffffffffffffffffffffff168787604051808383808284376040519201829003822094507fbeee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630d93506000925050a350505050505050565b60005474010000000000000000000000000000000000000000900460ff16611b1857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015290519081900360640190fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611710611614565b6040805173ffffffffffffffffffffffffffffffffffffffff80861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611bfe908590611c04565b50505050565b6060611c66826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611ce19092919063ffffffff16565b805190915015611cdc57808060200190516020811015611c8557600080fd5b5051611cdc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180612021602a913960400191505060405180910390fd5b505050565b6060611cf08484600085611cf8565b949350505050565b6060611d0385611618565b611d6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b60208310611dd857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611d9b565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611e3a576040519150601f19603f3d011682016040523d82523d6000602084013e611e3f565b606091505b50915091508115611e53579150611cf09050565b805115611e635780518082602001fd5b836040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611ec7578181015183820152602001611eaf565b50505050905090810190601f168015611ef45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50805460018160011615610100020316600290046000825580601f10611f285750611f46565b601f016020900490600052602060002090810190611f469190611fe5565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611fa8578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555611fd5565b82800160010185558215611fd5579182015b82811115611fd5578235825591602001919060010190611fba565b50611fe1929150611fe5565b5090565b5b80821115611fe15760008155600101611fe656fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212204c84e3d1a47f4d4e4a44e54ba6a342bb93298db951016cc23468022fbeb4941764736f6c634300060c003303c7273e80156fbab619b5aaf0db75247e09200d0216775befd6acb3fe6890b3130376e3a772db17877b07198d35c4950304aa8f05404dbc238baa3909250553a343005820023228ca7f6b388dfb55171c46f5dc4e2bd6adda7d1bf87c11ce7deed757c67f581892f5f0373d1d55c23dfc759c5ae48500ca88ddf477b3c9e50058200206ab6051eefa55ab665c805f62a2e12b0ee6a5b544ed2c85b71ec0cdba79da54e4c9194962532feb467dce8b3d42419641c6ed2e005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354bc50cbd395314a43302e3bf56677755e5a543a8c0058200297c04b325844d174f8d8046a40e1f36a89cb90ca577fe85de7a27a37e83dde5818242fb09f3ca3b7ba4d6d424227f3638e970966359823e85c005820024beb1cdd15bb57ad7b51457a5ba1c18d8ffc16af3cf6d21bac2554f3e0bd165818242fb09f727fc6c510f5c5dcba136471b2451baff0be407800582002e030d628e7e82ffd056ff35e0d80002c0fa8451c9547c8cc7f080e4090a9e95818242fb09fe6d363f453bc656d79e81d53a598ded54d88be81021936a003836470c578c35ec5dfa847d0c4e3f3ac0242e3e80a371732561a715e2631d6be037cf30cf26ce620aea4170fa0ecc784ccb50aa2f2573998a0a9c0e5eda580d5790313913a0cd9501be02a02a02a56d4ca130d1f84d0ff628f64f727913f730f058f00582002f09c02f4985eeb25c644ab75e3221c0bbb8b092c06fcea9bda051ca30ce3ef41c1032148943d1f0041662c4d3da425ecfe164ad256ab2ea9387363055e0f0b4a413e005820022a185453f3b037424002abdb9a62734581b05ab26068fcd16a70982d141cf05818907b673810e23f722a6767b39d2fdbaa19e8a3afe32c2f34005820027637efe763387ffef5ec55fa571dbe7eac4cc8ab69238d5cda1933e0ed5192582011a861a7000000000000000000000000000000000000000000000000000000000058200215910e6adab39800225c99f065ee5e499fbb48041ff77157d1395cadb077a754111111125434b319222cdbf8c261674adb56f3ae00582002beb330ff2d13d858a18531ccd0f5b368d361c7a81cb1510696ea19672c2f8441c1021992e003c514504d65f66b75461e15f9d7daff3bcb7f8603a57064507526ff957d9929d70058200254219e669939af32deed1cd33bc2f2798e77475ea724f3d9539a778e6623a1581892f5f0373d1d55c23dfc759c5ae48500ca88ddf477b3c9e50058200279a70ea5fe1b3b121a05278764aaa6b920a3278375035d25043af45f6ff4d1581892f5f0377cdf68ce9a05413cbb76cb7f80eaf415a826e31303944fe4aa4ffd1f69c958b1a35afa74909e4428bc1c7ebfd66857306cccc5287400582002e2e93bbf9008d6acc2341138c7eec70dad0a48ef889609695c762e7e60147058184495c0882a0008b677c980569f8ada7bed5353584171eda9005820028d9d297aac0d190d7948c8df6eb48705c85956b1214ac5106797b4f81c35d85474758acfce059f503a7e6b0fc2c8737600f9f2c4005820024993d5e717f5e320137f621c6c79c9e671c65c38fdaa3bf173ba82e6fb971358186917378bad5a42cebf80a8da36d488e1ef52a6387ca3c4d6021913a803167b5ac5f7539ba28090015631aad247254c9810f0a0d3511b57c0e98586c10b0391bcaed8e663f6de8ddac3d1133853a633b1b81772c77deb0f75ea3e4797b7a8005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6410100582002afe2f6b0797b10581b00c63935c83c5a1e1f0d6dd646b0a923d2f85b0fd4de54def1c0ded9bec7f1a1670819833240f027b25eff00582003ae4219da5e2909e00184a0a0ed5fe8a6839d004e0fc10373e7ed6f69bee000581892f5f037da6f9b1feded6a2f26a7869b06254adfe7e207cd005820037a67d56d5c656ea575dce9377edb76929587213f99cb7dfe6ca638544694d0581892f5f0377bba8bd42a19da78326be908e2cd52604399a7480219042000582002681c9bfcb0eb187b6f05a0022955011c096a21c6b500f4f752be5e406b298f41c10219031203cbc6c4166b7ab772c631cf98e61a4956abf70e209ca2288be4f5f6d7a41ee2bf03d755faf8bcf4846b241266b886e43ed0362b98e3a4b0453c69f1e2620d6e24d100582002425c91d776f8f2aaf8ff1daa3a5f48a8b2bdaec80db5a8c66fda1e5606f1625818a149ce6b2bbcbfa8ada653e6a93e7a347e486e18c2d393eb005820028f5d36f99d349cb0dde5a8be1f0777693c06300868294b7ec72643287f8e0a5818242fb09fddb3a79c13771422fb80e1166f7a840f17b51c59005820020abd2b5b91278305447e2e08506cd6e294c25e1201827717ebcdc9bdeaf4ae58205d46ec340000000000000000000000000000000000000000000000000000000000582002db88d9148dd6c8745162538bb427710be35ee0772909078eeb9841d30f79f341c1005820028acc5ae598263b4486d390c34581f06f36f3966fd922c1a20c6984bd45637d41c102194670039839cbcef7247844c6595eee06ffb2497a4219ce2ec1de7a62b6aba0eab48e81034c2d14b66813e9a580b3aaaa7b2b6612b912f3aa8255ca1641e5490712b361880219ffff05581d0267bce79287a24c5e8453dee4b1c363dfccc5960e98b02dc0f56374bf07021920800219081003f04f7ffd5b21c59cb563398b2d75522320a99807f22cdd62f9b5d2b86b38749105581e037748e4798564f817c2ff8e7a5d3452ebaed26d00d4196e9205c12a7a900c0246d6ebd56585b8030fcb51bbe7429f2e242bd75a72e3687310192658ac056ec04332d4ca638a25d305581e037dee52dd23d59e35137618c6372783b31d98720503d0e0671553317bc00c02473629addae6739605581e032324342d854a9f1e019a9721b24da01b0fd307fc4ce582d330704884f0040105581e03a8d62b1af5d042aeb35dc923910abae6ac032b62d6076c036e732a48a00c01470337c1b2e994000313a3439d21726fac58991727a50099eb5e0909aec3908b47136b29ea2cbf64e70605581e03b61b345c512913995a2f6c0bd7ce3603e7051a98d987c5c237c45bc93007011bffffffffffffffff05581e03463c12fabcd29d20dedaba96fdd3c666abf9f43846894ea8f1c9e34220040202194fff03efc3b05d588e7ae646379cf2b5d6ab35be0b13d902d0b3c26548c49b98eac90b0219ffff031ca935efe894cce64383c7a514c4cf62e5f60b10e5ca575a22869b8e4fe087dd034bbeb39d1e0f32a6329c0ed9ce435302305d4eae2808810028b8fa746a2727a7035d657a2d3ec0c1fc0717c7b7c9b4671c45e07d62630c816a1d65b70cf2ade5fc03b9efc02e1cb925b99ec797c64c3502a13ae901d833f1c08d67e3c5a06efcec000305f2cf003179356a6dc384978b3b44afecf22e03d88b1b9a90ff1ef4c2a63ab403ff1232a0a3bef66032b0448ff550173dbb423e5280320758828d98db1c12b16003d32e96f5d977461d98b95573918eb5e57acd771ef96ad304d36a6cb9f458164f033a1f47a6af23be3df0d79a460fc3bea7908c27189e22aac062dc9de82ebaf41c0353a8f6eeeffb21789404323fcc7a07bf5e801e4b2ee0ea223f4003712f73eeac0219ffff03ac112d5c85879ac6fb03650ea6ce7c9db28e5dae5c5fa5d399ebbd5b85fd401703b22dc38d8757e61663c341f792346fea6ed2d365f8ced3813db95e3f9b3b295103538c9e3d6ef8f615569e735997433df8cb43e1423de2d7134842a24cc3223f780303e2b2e6bce9ca0426ce405bc6ed98bcec2803bc4b9854d07bb087abb3130f0c03222ad581efef4225375a09a2f2d71ea52e187755283bd7ee294e3c355eec75890219ffff03afd2f8894e9b0aaf1714bb656be3710d181fdb0535f52b7f8884c701d1d8e6720306f164a1100186100e63d7a653f7b05848853acbe50cb3df8436798e33e2e85a03f6154f4857b30cf377bf3931a8015b1901ad5e9d936a2156163fd5bf0879c74c036dd198564506c127e1da5495780dbbacedf57f98ec94476c566650346da54e0b030f7bd4e61b39e6729225cfc30ae0dd8ae7402762e6f6ac529364fa4d2c382de303696830d582f3f59838ce73783e6c003c7dbff162a9062ae04a785b69ab1f58430393a00c7995c7b77b3c0b8c3e5e2516dffea5cbba4454708f320d231a4a7591f403c56793bbed7aff1e7598208d3f9900c3ccb3529df3927ab77b940d9f7431a633036a7cac9d3a66dd9646c7eea52f3ece769450f3f6ca10065b734003c9dec87716037f0ea5eb0e74eaf781c46e388ee90924e7f721045132204e1b0eb04f93a4ae7703e56fe334876384ba1a598ee343662465184e05603974a638b0542887c00a1dbd03c46901ab51437d66cae13cd74127f8667e6daa960655ccbdc5558d88f4cb2086039e17fb65a078fa747c1e2c8b5df1ae846f6e8aa6e482bd20ae4baba8be3bc09e0219ffff03a9e635f904dddb8c34cf2b418d9ccd85375794378d19c6265e7737381e768ff703dbe8ce5b0a19de3bd2069496bbc3a8efcbc95a3371263d78e982fcf1bd07d7510307a87f53f7ad4c987ba4fc898c010e1ae7b71ed373eafb92771949ba316473fa039e96f33eace97d59a7e3dbf26d07cb50545ad95ebdef0fac1fd64f883bedf8ae03dec668ff6856f705f4a9ce2eaa5a0fd84e16b853c7489a712f65bd871de0d9d103bfdb41554b33143dee085c8d75146e2a0c0c5a9ad246d8c8be5771eae0e07b7103355a3a9b5a844866bba9bd233e69e9a67b37879452b754559f281aa3fb9f92e2036c4c0c25415bf4de3e000d420d20d8d6db704dc3a9b863a47990d828cc73a74303084c699c8221c83198769638ca477d1bd3d166264bd0f3dd171a18666cced99003fac51e10aac440797fbdad7381dfa446c505a229a16fc78691b2d926b9d73b910325275d32a2c5cd7af9e505283c6194533cb4f4744fa7cbfd52473d9a2ae3359c03ec50ffe92d6339d3f515cfb15fa4235393e02a132c21f6d5fe1940a0b8987bdc03ba60fcc2dd86969a375a8f49e14f25308321cb4cf66eedf69be30d71e3c0d14a03b3181f796c970aeb4167c47b84528bdc22090dbb66f0a506225b4106f0352a92032cd28147b1c1aa70982a0a8baf34933853246071f9b5498bc1543a95732273c20338e761519657614ee7a34da0be9d3b02614e67fdb6ff14602595cfb83eed8b220311b746fe6f24ddac28e12d7dc6caff76cce0f34da4e1ba907c5c083b1ca6100603c4dfc2c6d2eccfd267245f4ec5fc11e97a134e5f8aca30fb61f08ae6684b10e003a531810a8c2b72d94dbfec3eff9bc09b33117e5c381ef670bf1fad8936320f2903aac7d73bd741b08d2fe75275251041a50f443da4146deb7d9fd9f214ce7802fb034f31c44fc7b5a1601b183df72f5aa3bdffefdc06537c0fbc48941b137e7021880365a56bd3c936b328e9835fbb425ce51984615fc58507a4f099bca0f2d6196e7603137fa10e5a55c132e3d7caa0aa6f1c8245b451111a371653fc48ada2c37b48dc0368099321effb047702855ac9eac184b03f18ecac88e8b36faaf144992c72a896033cd440101a00d91ba22711d3f82ffa206b2112658622e563b5a24db1c9a9fc9303e1d59ab2639b71eb8cbb64a880cbe25dca34a7ff1d838e486c08fea7ed239d340371a9b95497f1967d08f7b8a194d794b37e1340412903b6661785cfa34dda74eb03725ef5eb5de148804e0f9f05df3c1142245edd0cc97d37e34e3c2eb795853a7403654686152a2012deac40309b5c6dbabbf7fd509bfdad22881a0899da50d1b74c035afc1fd3f03a298bbbe1c01f02834ca60bc4120ac4efba7dc1a593bd26ce8a750390d51b3ba8efb2f49bd1b2aba04230f31d4941ce87b7c8ecd8d3aa5de0b29dec0350b5f089533324f866a52dde406075400d7d02f71eed2674226e9fa5582f140b03b9f8e801da898e7e85bf2c0c32ae8e9fd045f7953059f0af6ea496a975d6400903d63e5ff1c4418ad778bd7c64f8850b72584e562f49cc48e86dfc0b1c7e4ec45103ece84bf0cbf474e1c4cab4d5dec5a06b435a4401388cf8b224131855696033f3032e88b9fc77b69941a3bd2d28f74b4a486182d30e02bd079b8a0d0dfa539487dc05581e0332f2d195e36b5849dd647119bbf9fb435128f86314998a479368a224500c01472077df409a300005581e032d0d052781910d0eb13f4bb8f2558f8b2a05b3335512e796b8389c092004020373ba7093f0a225f9af2b5590c4cb09e8b96ed12fa5918de2a93c8b5697e3bffa05581e03cea0d0f2e21ae21650708875062f6c8ee520dc13a4e89de256605d6720040105581e03b30cac9687e9cedd818497b0ef784ee7f790835422cf2d69e6adab40d0040203ee72afd908417d654f16dd0378741ede9e91823061e2fdf93d953ed430ddb7b905581d02d025d120a013593c710c03925d391802c825fbdb0cef6cc65a5a50390c01472ecbb4b2cb5c8505581d025e63f6babe4ec08dfe36ef725ef20c67d59e9157e6a345c5d877146e040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304875245add4987e0eb03dc4a2561d4dac2c175b8d9d7a35cef5876f32d234a3d51cdd7139258c3981f9a00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05102a6353f6efa74d74e56ea251dee376a4c0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582021478e021dd524dd47dd3f1fe80bf43fb5c52f5e74dac71ca19016e89d965b4a005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8510fa209ad7e48148a142e64399973da7a5002184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687d73f00000000000037d805fadce2cee0000000000001642ba5f20ec4d2f30058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f544e0a23e7230529f8ed372168d17409cb9af8ea700218480219b45505581d0256a9da38b273f0df870b556e979bee8aa4e729dc18c4e68b18648c780701192c1d0219508002199fb40219ffff03f07a90132272cd30986adc5a26784b74901c556e00e5657ec824d31ca75e23ce03edcf13b6813fc485ec81773fe9b5fef416092e4a81aa045d6bcecaef1eca3068035105d5c0d388ca667ce6804e3062537ebb30f41e553c041c0477d66a42ce70c0031c9b606c77b59242c6d2999f05f292e36a2436ebf18a226f19e95a4d733f0879038293e5e50e5466feeaddee6dbe9cb95610d46b2623b967fda35a9bbe4447577f03bb168b8e51ac2e9a42b40515a08566123da1c9c400cc6309a3640b17487d8ca70219ffff031eebec8864a232509dd5e481c85261f22fe7eab90becd7f71f81dbecd0d35fb703aae6169a77cb3d0de90e57c79b33cc641a0d7c328beb08f1489c4ba6c56c083e03f5ca0ad242ceb5130b441d4608d6a26eada57d3d38924b2ad84c01811bea31260371fe4a9bd6f45f39c148abd88d35d78143ae2aaf0de74bb5c6d6b104159e2e73036cac98ecb7ac8fd7e6feb9eea605bc14885aa86c6e38b03b7ce64fc9089f7d9703e6c99e04752a0e7a8f70196017873b68eb1b218c78dab96ad1a772de494956b203c887f38576d37248a694f486bc7952329e1819aa5b3620b6cc6632fc7abb725003994f569279da6f3f527528cb8f3915676ee691fc8974a72b738a074c6281ea99036c87a59c40f13091e36f3c63f172712332b3973ad04c3a39ad66783dd61dc0700365bd3ae489de43fe192df0583609042449fac621777f049b29859a6618b2922b03d421e377a10d94df78317d06693126c6a8f2cb060668831d361eac8d0fcba3e203ab1854036233c07256ff6050aee00e1ddb5b107c7d00ce441f5f39cfa2cc44b80219ffff0381a90844a3325086fab0458382e63ffe0b57d397833a7126b5a3357710727c36033fb6b9f71744e216baa31ad86ed58fb819d2ab827df4a5ecb3f27543792eb35103aa9ae0c5ec1ec77b730f314cb5c1043d53fa1cb907482686758250de2773b74303a038ab8cc2e4afa0cb45a98c15382def9abdfe453dd7ce1b64e35e1bf9bb2850038f1515f67581e91b1690c8c21d9f78b35449be2896563439b59859a447f53cac03d4a904b76b324245f2793ba89b358189b45434fce7fdec260be16b22b8ba982603685de1b7ad1dad4082a496ed7d33937890f6ec383e492ca97caae05ddc67027203fc1fc43c13544b164730adc914377620fe2568c284d430c58ed4735eeeed082d03ce0a048a50524774ff28093298b03eec1f63ffd4d7c95e28041ce22e8b462b09035d0db14d74e96fad48784482ce7893c65d362544686357c46c6c8bf180505283031b4f4109e88c5be6b0e01013ed027db9ca896f9c31d82e38711d315036d5190e0340501fb861ea8c166e99a18265043964d22ad1fe2d02d6cfdd7855301317c5fc03bd7ffc4c68c0a3f6d48152d397d32628138d0e659c8ea7a802d6248bbf4edaba03f67ab11524f2b23a690a370cf21833291008d8ae58efac7ecdce99dd2fc8a16a0358f957ce1ccdc60bc374821ac3a23ff1d464637fe59a3b14389a9dd908389615039548baace0141de0373d52195171246dab2cdef3fe8651d415f79889e45c8dec03cbd14f99981952b2ec7af9d48b8f01af21e2edf7fb0aca50d8fe70e264087179038d1860bf06f9c973ccda75440d6e8e2219d11fc080069d984f2d584249f3beff03af21bfb9207b01b0513a1b42c0921b5eeecad02ddc132598ea253c0e08f8121c0324cca9212491533fc7b306b35902f094b87ea97922c9a27685c4567dfc03125d038a9282d7f6d099e8f4ccfa8042e6ac5dc4650e1a78daea95c8e3150dc82d5dc903c8afd0e69613b13fb19e73817aa78084aae0e300d81a3b670a321085ca45376103e8df92b668d1c868fe55b8b09cb5b6adee4eea259e157cc139400e2dc195132903cb5928fe2deaff06a08a6d4fa3afe59647fd1113a1a35b88294bcd76e0b0487505581e031b0c5c4a05227e08fde992018e107d51f9c7495168ae88bb736b22fef008480c463357ad7573a905581e033f9dd61e1052b24c00fbfe928e04e7984ebad0f2be1a5be41c3394e3f00c0747275bd0ee3cc20005581e03a18a8ae8f14dad0a515f916eb8f0e5a864dff45a5835a76f1661445a500848015181ff25a9800005581e031f3b27b1ba2625c6083279311f2ff623b6364efba1c4f13d09110adf90040405581e0332dbd7cb8e3b6faf5080c55121340068cc562d8514b4ec96b342e9c3800c1869475cd027d81b02b603c8dff166bc20ca7ff3463a6f1dbd9162003766691b28542d36d1d2672bdd576f03334991e1a9058baf7a44abe8e01f00c443c85d2cd5bcaf7a72acccad5dd0f20d036f8196404c0ab800cefd660da2ef74e572062ed55b484e618d5325a60edba38105581e037513514752a626714eda08dce5a2e2836a39b5a4d72aa5c253c9530cd007011bffffffffffffffff03218ae01effada0aceba63d1d63eabcbcd75cc6dd5d3fbe7b124de0b15e2ea68a05581e03cbd63f96738c9fd0e084475cfbd36fb63a17d0ffcabce3bd8cfc2892000c01472b6eb44ee53cc805581d028a3a81898a0296699bd3e4a8f99648c7c2604b4737bd76757f2b3342040405581d02a7bcea103da82eb37123a5f75a48fd4ec16fe023a4189d70a9a08c8404020458ab608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c634300070600330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db004116005821033cb2fd36710d1f07bb1f8c85f5741c3d4b9b8a9583fd4f1be956bc1b790526f05499e96b0adb7b3281fcd8733b75ce0980c87e079d0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d9db270c1b5e3bd161e8c8503c55ceabee709552005821039f335e9d40370bab1ba93aa35259066f18c22845224566e54c85b6481330873054db031d114c9baff657f5dbde8be48d4191c6714d00582002130eda0e354fbb8865bf4c050c82cbbeb39ab317799d68681006b5e5825f87540fa1ef79d3db6aa07e86cb764a7d6ac0ad96a9ae005820027016e0d8ee9da2f79fdced9d621b51dfecf933d0ece6f0c46527999027616c41010209005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c0410100582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc53054bdbceff6263cb3f98bc2aaaa934c0d5377fdeba400582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04102005821036552f9043f7dbde1a3842eccf846aa02c647c3d99f9371aae3c93798f73f1ab054f48f2b2d2a534e402487b3ee7c18c33aec0fe5e4005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b04104021915df05581d02125376a4ff9f47b44c369da3cbbb33fadfca47022ef160db509910d30f0149067dc94dfea21e386818ab0219203002197eda0308b38956e456e7ba38be2451069475238b0a715266aa47b063be3eac062a27ea0327fde469e215483df186f3b02d3dd0ef5e34c9cf7e9c5e1cf908b45c4f3e7850037166b2ff3b0a5e8bc4916afaaa43e594630bd6a3cd45f566e4f31a0cc276663a03df1f616d2c038c5c85dcce3407727455effba800172f21b058b1823bd25f5f6903c9db49854dd92f67ce6c2ed67ce64b72d61582fcb2e72d4232171b467a097bc90357879d4f1c081641675b30f31d7414b944642e8966cd22ab7ec1f8201eeda4f003df6f50a449b062d7f9c2af417376b6c40d64f0ff3be78793ea8bf533f94614080219ffff037b0b8611baff6273ad355d6c5d506b8daa854a2d169120d69b95c1ca9c6bb34703f23635f1c0f5de65829aa67a9de00a2a5387eac6e70b53c317d0114ac4d5c0e50394d398e2dfa3addad31f503d5ecb21e6f5c32a075f08c77ca46df2b51c4b364903a4b32d2c2c483bbc92d198d2d78b5084b6bff64d025855701a235d9c488ac68b0351a93c4124b0ac0494a8c3073a188cdbd551a1e343ddb232b82e8272112c96bf0349f82b2b17bc32b09105b3f3d25ddb4aea10f714d43f6ef8e240014d8a3195bf03b3e11ff7979c7160d13d8bcb4b9b73314685f316ae569c6026e97617c3941a400369c1b1a5a03df3395584b23960a10f1832a971caba2bc646b518f8a73d311bb203a01ccc71167dfc2e308828bd129bc9f71e8708e8df19c5b383c7680c4ad235bd03693a49e52ccc8caeaacb52454f9113f0e81a65238bfc28ae4f6686821ad6779903568c5ec9386dae1ba0f5012469c36c17607df443abfe29bba2d89dc3435b23c00219ffff035e9687d2a0145b461ad08c55dd6db0dcd45593e070204039b24282315aa4e1af03ca8d9c087c735ed7d90909ff60b24bf46d01f369fe98ed0595bbe6e447ec7560030264e77a301c54ab168031a7e1a10c69f3d5ff1d08e4f39ca4d0277c540aff7903ecdb9521846c2000e133561fe50ceb84260ebd9e7d5b8abcecfa1775fc034789031174b7a309e6e63492e41350b6357c608b49262fa5aca812ce8cb8ce95a3b76c0374cc4832fbcf7fd5b8b38067d52956e5709c4d9eb050753f302828681aaf9c9d0361ca3d7974549c2b6fdc5b6f11e3705aae10c668dbc75d1ce278963de9fd8a35038608b8f25d56e58ffe8a7f4cdbd04b22f56cc9bbc0674e6226d32f99a35a105e03a902c7af94b5cfbde5efb624fb2b60c62befcb9f7c33e679955ba6c254a7e89f03678ad1955efc5fc4beb8050c1780b6abd87b817a5c4943e5ad428a592272b14003e4f125e82ec87aaac7e6c625371f1e06f9993c260b8f3fdd3c513f790706cb1403c91ff471c03cc2311f9aff8f8a216ab62686e18e7b770160bd98267f977827cb0219ffff0219ffff03f2e79dae22d09941859cd5e7a1060c324406cce36f6b3d3dbb02d45d43f7af9d03f16d6cb31111124d8d36aa404e9451fdba23c62fa6e9d806a5f7da45805f1701033c88b2eb3f41d49f9046daa2342bda944da7529cd5d8562e843791d9d69f393603241168ac58899c7b1f286920462aad31452f27d3110ac355a1472e7930e6f57903f1e66bc46908d923c25a40b7eaa37cee3ad4b98e2b25c043dea6103196db4f2a03f1b4009da2869e0b2eaaece80f8f5309659431ee9d094cd8ba82b76e9c0792fa03990ce05640abc597fc8905c7c31f47342a128fb3cf327c982ff8af53a4828f4f037602ef4289a4256405e1975fd0b390e4389fc5c35e2cfd3d12dbbcc0c4f26bdb03ae1aa7d869be35f7998e5e2053fdbd0441585bb4fc49c3607eedaa101b7efcdb034019be2cb196911b65f653f5ccf64abb769f283a882f253aa28b1150ab0a460003148fcfd22662bca6b976b90f56d70c14d6407beeb09fc7a98054ad85ad2c0b5a036318b3d4a5231c22a4e9f1d904e8c706148baca49ca2992df788ffa310d7e7ba03b8692be95ff3a48ce2133289b8f3bebbca60658423f8a371a7f04bd37cd07e64034d600ec75aa401b1d837e21f9536deee7ffb25aa7f113adf49cbb9e3b48c553603f47c3aa6c77bce2539b62dc6cafda4502a4ead55b05cc6d29bcf814f88278adb0366c1ea5f8e85f78208b8da4dad225441ff80e558a275f3411f5d5c7b6f88d8410315e587390f252ba16af5a081b7e9386d8fd028f13aab0a00973f84ec57fb1d9903d4203dfd52f2f62bd657e9ab11be5582189399bee2b4ed7e539374156280d65e03850335763c999b86262429898c912504efa7754a7a6ed4ec517e8a0754862f860304195e198ba6694c6b6f72942ae1f581b23901f34c644eb52820157db5febdea03483a88cf066762703f90974ed59a6f15c5399d765086460cea5384f177f30db9034cc35bfc6a1e74c53a336e77b5770cb89bdfcdc28fdb71d1e466139008877d27030d1c6fd22da6d856686788ca774bbbe84dde8fc2ae16bee5c203a2ee6a64509b03c26d3f7326c10c9ed442554b11bca7f1d61dd567c771813ad9ef851eb87e7af9032de925a42d7b81bc4fe4aa9ca966db9f13632706eec281656b46a2fe073656d7039fd1cd2ce64da2d2aa1ecdc46779698850c056e9c23e08896f704d747c4b98b403b8f386cad1e0bc26248f9c6a9fab42e3ef323d43558b27673d729eead6c8161e03867278c2bc3d79989767563699c3155741c5cdc5d82ed955460bdcac7f73d8ca03b3aa218918ca2adef872653d5d27470f532c89e4f214b25e150350952f12a5d0034f0534b5e0c22335c7a0bb4ab0aea0a193cc8f83074c1f54655701df1961479503624282bcae630307a1659aeef5b34d5b7f887db5387a5a1268052d566801299e031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03adeb042e7a6036d3035694c62aa2c632066e08fb01e42f125439e7063007011bffffffffffffffff03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c034980af8209d0c60f0b9575862acf8bd86689ae69a94d97041ab0d496ad08de4f05581e031601d25d01775a09ab292ea054a95bec2473143d9af65d1fffa0292ae007011bffffffffffffffff03125fb014dc50da2e457051dcb7aee027280a1bf685d1932190533d29b430b5b705581e030f035966a5241f7a1606610832bc18d7a79e02efee9266b8cac90f56700c0346775f05a0740005581e039edbe5342e2e6a15b8f006d247afc7c0fd1e674ece3f2700759b902780040103da96396cdce3629191290a16224244bc125564a7a48f3b878327f2a3d2ea877405581e0338fb392a4a55acb4a78d4b228f41d2c416f5a02075599b934f8821874004040219583d036910c929ac4dd12f886304a07e57f61136e355790662c71b62b114d9eed5fff303bfd7322e64205dde2c1f9d708eb481870898217e1126b3a60dff5132febbf59e035c749e72ed091d417d225931a684e757ce62433864d8633435bf9779592994a4033017aa6846c0d4e56141a4d039f2d9637cf2f29cb543be7acf9f1993e917eb3803e5cf7c7cc8563a662373f139406e978c9d6ae0cb9c9e14c49abfada06cb5a88603ed88f1b660f6f0031420b42799796b6bc99f745192cc399b2430346988ea71750334eed72f1cd0edc6d249b935088b185701b8cf26b1cc6f730f4767b9f2f66c3d0219ffff03244cb5ec46e4ebd0703e76330f06e01d4ca77c2826082dd1e30fdbc165e176af03c53ef74c89ebb5186a60d8fdc99e9e688aad23daa3887f984764b3c3e2b824f70375c3dbed4ca262757a73ef75ede2466c51f01ea37f0abb6415940bf90d75a67b03176346478f67aaf6573b1a15159fd4e054bdc98176911c9934cbf257a54c3b54035d5af3a72fa4d35a528543412dca6088cec7e86c6ee1407e277881c576dc23330319c03803570ab8153d6e14a34985af02cb471a62a26493b45d26ed10346acfbb039d6fb123dd34e3cb039484f076ff61b224243329fff92290ef1f7b2e39175d4003eba615facbe35439cda305b97e66a0fe21acfe070c9f4bcf7392045356b206090318549f0f89cdd0a894edf8b25b519cf71d527a44ccd2fafc1b5287aaba389a090219ffff03821db6b441f1e79cf415b8e718c46aa3377aab17ae935f566d051d359fc56c92039bc428a9569448025a897736ba047b6f0552cceca82294a0454a3459ec638d5503c3b657a3ce178f54328875c0a6da6d13071181835af9b1f0019bd019a9e5f905036cb80a77cb19539bbb74753949d7ba72dcacacfbf59f4df9f2deb64b323ce1030219ffff03a9e3184e4e38ecd7d87a1d3e81966c4e15b786e9e8b9775e5e1ab71ae3e24e7a03852390cf1069de2cd093ced2ab83fe760614f58264e1e6b55439a451ba16c57b03baee6eaccf7b994080d4dac370c67955de005256c7696f9188524084c6de3c2403ea2221eac9947b87873cd7196cb192795ab900a5f865a69aab8d71594139183b03d12baacb28928810f06f7f4d1bfb7b9ea9fba94ddd300874a69b0cf4a4c0bf2b031ae28370a0671e3e535778920f68a335fbf9bfc109eee178ecb448a694712b63037e0a2ef6b55eebcefec48bfbb4cc24ca674e9a83219970522fa0006f1f6f077003c7e418fa091fa911a02fd25c5e4c97cdfd851ee09b25fd06aac7c6dcdb532fc0032fcbf566b603f8004a099519226dc433ce62466ffbfaf9f226daedc70bfaeb87036a93075642439a2107ed522801a364e7e23d9b17a1becac9f8f54071a1266a690219ffff0219ffff0328b4d05ff0ba2d17cc64f490f93fd5bb415ace0f558c7db9f53112ff61bc120003b0f9b7fa0a67037a859d393f0b3d2ee12630d706d82d64d0159e4cc195e8c74703bd1e5320451987df805241200a85de6261e77dc7fdf808fbd8edd34255d4215f032aeea09842b627185ef6265fe62ceab0d09c083966b9bd8671495492c5cb86a903f874238a5539cc97b5defb2693e3b06d021361a853beaaebac9d5f472715b6e203b9481fd561152abd74fa726707befc1d53b65fe4ff68fe6765eb881d053cac4b03d95382ad837a596bee86d290d4cdca68bd8cd1c7ad3fda5def04368a4140929403ebba70e2841cee94194b312651bcc9e8ab87089c9ad502a7bb0d80da1bf632230372196c34810b0bebdd67c50e83b43991916c1897a5da7742b1cb17d38ac8e161039a14e2f9934cee78392252d723ba1245a96f04c51c37eb13d58d019500dd72a703dd81bbd481bfdeb1c89a885fe92db186e4095174d4d1ffa4acd4d109715b06c803e44a052dc564542ba8f33ba2976bc50765c60853d3dff97c444750d7bb081f4a0390745869435619035a729627c4706481f3e9cb0150c546139cdcacf593a4bc9e039d70e8fbd7d4cb99f08d07324f2db5c478831dfd1de20aa9123af9cc530efaca03fc0f12cc120391654945b6e34bbcf0affbee49da2a9a834986181442f9d8cdcc033267c617bef800b0b57f52df49c332f93477e696870f9d5db0590d3aa8b952fe03fbc91c7bd8d320ddb9fbdd5bf585273ef7b2b6b11a957da230c7bc4dea30429c031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03e59c069cb8e3199a62f18efa2f35374f086e74bfc378caaefc63319f7007011bffffffffffffffff03eee6e526d0869207f6ea568e22d0dd54fe97b9f29841c7dc8b09f07e694b5f5f03fa2420a8d0c0c928a2ccc1a798bf7030c04af54f1d9684acb6ee3052d5a569a105581e0328a336fa56c48d5f0b4c8f97af113e7ace0b24f3ef9e4c67ec190cfbf0040303a17bff7f8a73ee698096c953c7046cc5d6c36668726452f7d4170914dedb6bc203b7612abe5e71bc05a9a34600afc6e8b3cc308425bc6f9823cf04a4c30c6d1b9203c486d31668793b98825963c4e143e633b5492e11fc0377ccad5d37ff2292d3c3045909d7608060405234801561000f575f80fd5b5060043610610090575f3560e01c8063715018a611610063578063715018a6146101125780638da5cb5b1461011a5780639e34070f1461013f578063f2fde38b14610162578063fc0c546a14610175575f80fd5b80632e7ba6ef146100945780632eb4a7ab146100a95780633197cbb6146100e35780633ccfd60b1461010a575b5f80fd5b6100a76100a2366004610848565b61019c565b005b6100d07f7062ac5b7bbf52008f4816643932b7ab00370cc7696c1e5cdeb9d8d69718900781565b6040519081526020015b60405180910390f35b6100d07f00000000000000000000000000000000000000000000000000000000684b5d8781565b6100a76101f1565b6100a76102f9565b6001546001600160a01b03165b6040516001600160a01b0390911681526020016100da565b61015261014d3660046108d7565b61030a565b60405190151581526020016100da565b6100a76101703660046108ee565b610348565b6101277f0000000000000000000000007613c48e0cd50e42dd9bf0f6c235063145f6f8dc81565b7f00000000000000000000000000000000000000000000000000000000684b5d874211156101dd5760405163d365f61160e01b815260040160405180910390fd5b6101ea858585858561038a565b5050505050565b6101f9610505565b7f00000000000000000000000000000000000000000000000000000000684b5d8742101561023a57604051630ee56a2b60e41b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526102f79033906001600160a01b037f0000000000000000000000007613c48e0cd50e42dd9bf0f6c235063145f6f8dc16906370a0823190602401602060405180830381865afa1580156102a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c69190610907565b6001600160a01b037f0000000000000000000000007613c48e0cd50e42dd9bf0f6c235063145f6f8dc169190610532565b565b610301610505565b6102f75f610589565b5f8061031861010084610932565b90505f61032761010085610945565b5f9283526020839052604090922054600190921b9182169091149392505050565b610350610505565b6001600160a01b03811661037e57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61038781610589565b50565b6103938561030a565b156103b157604051630c8d9eab60e31b815260040160405180910390fd5b60408051602081018790526bffffffffffffffffffffffff19606087901b1691810191909152605481018490525f9060740160405160208183030381529060405280519060200120905061045a8383808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152507f7062ac5b7bbf52008f4816643932b7ab00370cc7696c1e5cdeb9d8d69718900792508591506105da9050565b610477576040516309bde33960e01b815260040160405180910390fd5b610480866105f1565b6104b46001600160a01b037f0000000000000000000000007613c48e0cd50e42dd9bf0f6c235063145f6f8dc168686610532565b604080518781526001600160a01b03871660208201529081018590527f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed0269060600160405180910390a1505050505050565b6001546001600160a01b031633146102f75760405163118cdaa760e01b8152336004820152602401610375565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261058490849061062c565b505050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f826105e6858461068d565b1490505b9392505050565b5f6105fe61010083610932565b90505f61060d61010084610945565b5f928352602083905260409092208054600190931b9092179091555050565b5f6106406001600160a01b038416836106cf565b905080515f141580156106645750808060200190518101906106629190610958565b155b1561058457604051635274afe760e01b81526001600160a01b0384166004820152602401610375565b5f81815b84518110156106c7576106bd828683815181106106b0576106b0610977565b60200260200101516106dc565b9150600101610691565b509392505050565b60606105ea83835f610708565b5f8183106106f6575f8281526020849052604090206105ea565b5f8381526020839052604090206105ea565b6060814710156107345760405163cf47918160e01b815247600482015260248101839052604401610375565b5f80856001600160a01b0316848660405161074f919061098b565b5f6040518083038185875af1925050503d805f8114610789576040519150601f19603f3d011682016040523d82523d5f602084013e61078e565b606091505b509150915061079e8683836107a8565b9695505050505050565b6060826107bd576107b882610804565b6105ea565b81511580156107d457506001600160a01b0384163b155b156107fd57604051639996b31560e01b81526001600160a01b0385166004820152602401610375565b50806105ea565b8051156108145780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b80356001600160a01b0381168114610843575f80fd5b919050565b5f805f805f6080868803121561085c575f80fd5b8535945061086c6020870161082d565b935060408601359250606086013567ffffffffffffffff8082111561088f575f80fd5b818801915088601f8301126108a2575f80fd5b8135818111156108b0575f80fd5b8960208260051b85010111156108c4575f80fd5b9699959850939650602001949392505050565b5f602082840312156108e7575f80fd5b5035919050565b5f602082840312156108fe575f80fd5b6105ea8261082d565b5f60208284031215610917575f80fd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826109405761094061091e565b500490565b5f826109535761095361091e565b500690565b5f60208284031215610968575f80fd5b815180151581146105ea575f80fd5b634e487b7160e01b5f52603260045260245ffd5b5f82518060208501845e5f92019182525091905056fea2646970667358221220cd7ac7dd4f19736fe691bfbdaf2bdafae6c754dcdc505294ed2686d7930f040d64736f6c634300081900330384863d9ee6c3529b249c2439c18f0d230613964c4a11c2edd17fc64fedff94be03bfe057b47b068361f0429f812d408a13b15ef3f623b3ff4400e8971f8845e8790388980c6b2aacfb7d1bc1e0db6e79b73ae9eeb929e15f70bdaf9747d0b2322d4603ac26b32fe1ef808ca1d637be93cee65b789667218236e969f81123a6995b10210373ce4267fa385556bc6641b0f3011f1bd84bec588b02cc536ab270df851104b3039be1bf55606af6ee3781951be7aa513fd299406d66b4eef967a37db1a269ea6803f6f44a0fe1a79aa1cb3c3f65bf7da5645227ba8eb4e56872b22c0acbebdf1eda03346467b927ecf1f8e94f5d993386e2e79e9a44bd6a581cb4aa51e367bd49550803613a7ecf61de35111ced6e691d99fb4f037e73b34deff60c7f18c0a92306bf7603c1508ef809ca2abfbb3cf572da5fad995b9e03c255ea6dc28d35f5aa8aaa1e3b03ebdcaf001c7805a25b062bd2562f714c9c7f16827f85a4774732c400a15ed02b03d0554dd09d261568756a8708e8df0563ed9118b24ed157fadebb85356d5e93ee03e3c4e62389aac168a84adcf22fbbe2e95a4006e3e0d724905b4f9dd16a0b89ac005820029823ef1abef2d5a22cd02af62596bf1f9661224438df0b084726fe28c7d0ac5820fff9a6fd7fffbfcffeb6fef7deebdfeff7fabd5f3eff53afddefb67e7ade577300582002f166a8f863f6e2900f46e33eb320c8671d290c22be98bd124f428a923a11805820afdf7bfbe7a3edfffe3bfd6f7d737ffd71f4ecf7edbff7cbdb0fcfcfcfffefff03868b6cc0592ab6ad1a1c244c7be7ed31ea4f06ed55fdc195178fc660c2029c770058200223c19c4b3af77c114283552937a0ff16d7948b5046bb8498946594936f05b65820ff7ef7ffd7ff6f7fe9fe7f9b73ffc5ffff7fbc2ef33d77a7fbff6bd577eed6de00582002cf57bfc5e3f8dec923f1d3442ec3c9181f118248370a3258fb702ae6c1cfc85820dbff76ff758bf2fddb7bcfff7b77ff2faf8f7ff5f7dfbdffadfbf7bd7f9bf9ff0058200267d2b72f605d46da5f771c923ec3343d7452864e43d84f227a1b4a821b0899582097757dff795ffefff9fffdf96df51d73fefff5ffe1bfff51e96cd6b7efc7fcef0219b032037e6dcc3553c2a3f0a987b3bdc377e70a2ea4dacb429ec98586532e6faebc475d03afaab8830907f8f8899eccad5d4b64de8efebc3831355a2306cc9df1a7f1eac40219ffff05581e0317385e4a2090a2d084be712dae55c63f759affa73a6145fd5fd2cb343007011909d7037ec895dcbc6ba997aae5a52a0ad025ecb7bf78f79497d790558384a4fc9e4d8e0219978703cb855ca763070087e0ce9d83f747f1ee0d2d0c55395208279f38097bbc80382a036237e6befe96f33e9cba81e920b41134757aed7b2aff9fe1481d403664a6c93e030907deccc87d616c2b1af5d7aee636797c0f2eec990d34689cbe4196aa6f312e03df10a39407dc4e8fe2db15709246dd5c24eea55a513cfe86a0990bbe0bdfd4760311d57c9b9be9fbf2416aadc5ca5046a0244b5ef43327c44c98e54389d0077ed50390c234b6a134c4676600a3ddb698e0e0fc25ed974d73d21c695c501d1bae94a2031f0aaa7cfe3508747d33966d261faa8097829669adf78970e50806d7ad52019803b0d299b9d9e211aa97cf67ca7b48623e8cc8d3b7d2c4b9ca6873489891baf69603a3b9d7d5d5da68cc07c631a506cf735eb871f40c712444a4e91b88f095804e5503cc649f4280aedb9ced841dd5277c358674fe4bb854343436b63c279610dc23c003b05fd8ded8a3635cb4755ea4a5cc4ff34df2861d496de0237c8753e9d9c768cc03592c1d61685a1d2329c991ea2113047f04bce887a2511fba072f20bd14a10e8403ddf4aca2837b76a16541e7edefa48db1b5aca95cc7c589338d5b47988f12c5a40219ffff0353b964b5eb47dd7055d00381cc099c767c53013bbb79cd7cc27257b3f1543baf031c0f16e258e52cde4959b59997eebe584128bcbad28b79c627a188ef3e089b6903fc74babff413a2eef843808b8b1db3921e490c754b034ec9c4497cfb08eab699036f988c836d38b3e11f6531e4fb29aa88342ea68290d21bac9ebf7a838ea08e7803a198131d5224f48268598a75f2583d1b7717cf30b5c2f9d6a1a3aefd2e0ae53b03553adc189e15e9c88c853e5a0a5f67eb98a114304b72a513c43b5b3e725b2375039f04dad0bd23770c56035d0c9ef1b3a0f599fe030cee326274fd70b9234febee035f6a34ac29fcf802ab30cb53085ba4ba3a559a95f349a917a70e1461a261634f03d06e9c2763bc94e3dc11d97a05d4f342947f47ea5ef7dafad278a03c843c7e6603c25ab7ff0f82592800100230d7634219868ad465b2494145ee356afbbf7065d50219ffff0335283d8d55820655b2e449cc5fd20e414898dcff9b23907d855bcc0eb4aef7be0303eef6104ceb1ae15966b098193b3c53f51e5b5382d679e4e17cdca1d504e2dd0395a237e0b1da739d22ddb747f745fba7139cdc59f5b426c1f6f58a439b59138503a4298ffe33e132495fa1735a2589124b087b0433c2ff3d6d715f0ed960f54f8d03e587fdc7bf1a0d3c8d4fc13627acd039f09d132f428e8a0f08d7e4d5a4c6ab3d03931e6985bb71edf7937c5eb36eb2263fb2938c994cb2f4b8952cacc46c9162b8036353dae506df0ecbb3b5285600d2d2a9d0b1ac0a76a963ba114779590d416f0803f2c9fe3e2d7c4c04dbc7c63f626a5f09ef9fbb5af54ef9aeb80992a9521941670219ffff03aa511adb6cdffe6fa15837fd784badd5f5308e693fb9421082d7431d35a040b503c07e136fd6b0c513b79c73904502cb328252676a8ef6478d99b8e60d948a90e5037b6c8af9061de05a245566a198f3952f5fbf47a12293a5e639deb7a00ac2db8303f0a020caefea741a16d0bb38a48ad1dbdd152517134168a106920bb628cabcab036090b73b903121762d28af103a8ca9e611d41c81ca061dd1967e320e3cbd5250037a5bda720ddc8c44967e2a662817a8697ef9e5321594ec81ab77e449e3042b4a036e2724ce42f535549f9c55a8578d1f4aaf6730a5c3b16ef70b02893490e3845203ed09f8451f74b9c5efc3facc091a47f084178402ed137bc81ea582c8c980a2000334a492ae51f7d7974f6dedb3c0cfe29f623e211a4d7a8cdc69b16d7bf156bc0303b2c3304ec55def97e05bd6389b1904982e12ed6492c6425f12c21c19756944be033d7b652376ec16d8b553a35b25a2c302c668dc49f73976430ae11e414e74d490033ab56d4f2765f9b3a6b0d2aabb552d9f062d933562fd1600ee2adc63a018d49a03f1340b8793291a32f0af59a698a1cc4cb6e6992b7140a9d57707daa541a46edf0395b6ad7d8d27fc72e160b9f1509a1d90c949fdf30359f9f0ddfec569687356dc0351fcd3963c39c9bf901fb3cf3e2a7f5971d25a4e692ac89f201d37e52a413f56037aa88eba93a55dd95f0c64c1dd8dfb5f29548693578dd4c248f2b14cb334647903c4f700110c01c7fc12f29571c634abf307070603e8054a04c737d126538e2b5903be4786b79638e1140956c6fa89d647a7bd7a1c34afc1d240d5008781315fa0b205581d02aca5c7852aade88c63ce8a0229d553264345fc6c949454a2b2a9c045040305581d022c70b663135bb98344ae116e481185a6725eb93f13a0a2fbc84c0ff20c18184701f4e7e57069f805581d0244d30a5294b732b84514e5400d069f5a2fe534ec6f94613c2f2e20650c074702fdaf6b76643d0219241005581e03bc25d29fa1b89997fab261e0c36ad156ed3aec6ae5c4b225991b50c2700c02470232541f307b70031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e036d209083400173771f7786f2cfe221509ce33a70588c80b619579a33b007011bffffffffffffffff03fa17a39ee159f731709a24809ed0171ab18c49667c77c05c503f2fd0521c4dd505581e031ab66b40f4097816762784e2bc3ee7866c95b2d3feeb0d22c3bc8b72a00c02467dd76feb3c400305817b6df9473e58e7e8d67949bf03710144c6a9a43f91c391c984768f4f15f805581e03d408db21f2e4437e86c740cfb35b45d28dddf1d2f3fd4f6d906b4b23f00c034609714565adf005581e03d9f1384d5f241f9b1f36365bbc307767114543a1db976244ffe4ef528004020219cf34036e607ddcd5526e7c5af35d849fccd075ff668eac181de1b9b39e95f0bb056ac503233ae88e7729e7084e5728812f6945fd25ae3e631318514b61ca77b609dcc8a20391958e1f1543dacf45a354db048cbba18e7d2aa612d3ab9e57c97a3f50412abf0300b743594508fda034283f65476438b7fe893a9ecafa09bf0d47a6271aa89bb7032d7353bed1902531f583a5b1b103c780ba2e846f6032eabd69358f06e11b958a03116b6025db7137b62edd0cb9926c3ee1522b10184137df8e22b308594b608a8903921beebde1a1bf9545c5fd3c0edb999111aad75df9c0c0a6e3796882d1441fbb035b98152a179de0f900d1e7ba480201da1d82cffdb31c04de73f111a54e588a870372ee33d3d72686e09405b1c938152a919ff12e348cdfd88edc26f56c75fffa710219ffff03af3231763d6ac0b831756c6ff36931992f3d99b8c32cd8337114c1f3a0a95e920330b044ae7119996accdf45dbcdc36e14cec2f9d90d907d2f49a578def1a817ad0313341e5faa78f558bff49b4eadabba04f2c6e14bc8a4c86b83297c7dfae9c1d003cbeeaf3d195c9ef35bb667241dafaaa03935a4f95afa11e502dc15308133d1d80219ffff039f0daa3235d53bf9658a9137ee946ddb1d178e2c4e6b53a9fc6ad42999420c6a0337d60160a023843c5f9d7a93da41ce7b95ea2f6687cce82d50416e1b8876fe90031afe42ff5bdf2acf821f4e88fdaff9fd45c6155fa7ca2d1216aec1849604ae690394dbe691f521f1a340d116ce03c9df22d364892f949560c34cf5e4d3774bf88a036b5be570d4bfcf630b1b60701a5131dbe41dcda6e15d413f2278d969fb18a11a03c131e76271a5fcd7106e103ec66ba8cd7f5f098aacbb1061e07c316b5a8e8c3f0322432a4eb542213d2a1ecd4f11fa3b6a18ac2b1739bb34dc2ebb12ecf509abdd039ba0a98de64e5875374099596fcb214f2b586de665e63b4eeb059cc41c1e767f037e0f2dca229bf70e5347fb95be783134a3ae479c1d2820d36aefd1b0892e80fd03b4acfc85e0769c8d42e6327acf3cc502749618c6888f5f6ff663e7718c82321603739b9bc1cb708d374cf48e0477302b11af708eca966be3712bb3464939db340203f9558d114c2a52696fb524e9aa9cb62f9d1c3a1c65ea2ecca91e87fb274256ba03bb3ff2ead28909044a7c9c945459639dbbf3ddc4924ef8e9ad0076bd9e8732c203824fc43872b45dd5d6c70ec040bc0aca5a25cfbff4eed51aa2501b791480fef7034db683490d3383311b65d237bd0f857939e55c331d4a1b806c24717f1eeae1be0219ffff0382bcbcf9dd6287415961b3255c5212f40562988072c74ddf10243f590ae5a2e203c3118772d0d2a9967f2588e0d56f747d49c26d8373a956de813e29185f350ba60369fdd948829e21ddd13bbe0bfb547a506915ba9e111cf52e4b62c2c180ad3f120371932f444a764eaa8e487efbc7866423f3e5fca0efe8c7b74527bee3cd12f24e03bb3384f0f97504890fdfc30e7983a954c5025cb1c361d25d487a8c1fa32f408803598599827b860a89c6b5a794effe14053cadad067a13885d72ec8d97c29d62bf03a81a10107f0a40194b26b9c7d00f26e725727c639c36fe2cae1593c5f9264d5003ae4ed7dee0f712b4c9b9e87d25bd1ed118f212f7aeb2c94bafcb6d12363d533b037177acee9038b77dc972eae42b7acd707d6a6e913d861117509a2ade9b803bf3033b8d589ac4be01b5c1385ddb0f7709394a7482579d1e040ae9333965e30cf9c3032d410f4c5b0a9a61820373944d6c9a1e77c9bc95947e11b923964c982bb26a2a034c2ca97ad95915e7d8ae675891f250c3a8db0394e9c0f4a0ea707eb8bda93c2a0397a3354a2fca91485beb69452105e8cec895a8d45574ea0f53a184312530c976038a60ca499e165350f9fddc4ab642a6af90e8d8cadc26e4e252e24251aaa1bcc20376c8a0aedfe472dd7e9aa88ded4f442ff8124687a365c80032df707ce66ba8a803219328d096cd5dd82ddfa3a3279f55b528e2fdafb56440d0208272778f7ab34f0351b19413ee05b9c7822e21435120e3504a972551f16b7b39af84a9653beb9d8e03a1ffd04ebb56c4454e6dd04c37431671334c7d0d6f3d36930a8c0ee964c3638b031c91e322c1c146eaec89bedfc99d4280be6caa4f1fb1299ad8a6c0a58e1915c3035196772f2d3594e311e5b1b41ea53b5dd38b3b724bbf3d4af9d7f32c0736d70a03902d121998c560d232fd51b23715490e96ff0222ccfc46957a2c29281eaa3a07037531208894e0ad8e3c2cbfedb41a6e883d5c1a2742a0015b310c420ff0f939950392059c450f02090b3a114c8e431dd55ef34e62da0944347bc989c0ff99647fcb03a3b627d5594ce11929a71ab2e580faa4f6d38a5af20b49f475ac5ea922f4715203eee329483eb266bb6041f5fcc448ac1422149247eb7d769546fb2c7d5287ff4e034ef493baf2c7ce84eee25166f5c0f81668ca15d7af292c923637852c8398396703146f3a52cb45fdb7de7eb29ccfc095fd8cac75c36b8a10be2f763a069f728542038c72e5260ada56681c0e588ad810087a2f93b955040146d5cb14127c8ecc7ade03a609eebe01582a086b92bbbe6b913d78228003f49ad4c37677b6a13490cdd65205581e0360ab7451386587dc04b872d5cd9c5f37e09b06f3ab07a8054f512d26f0040104592c06608060405234801561001057600080fd5b50600436106101f05760003560e01c8063a543ccea1161010f578063ca446dd9116100a2578063ebb9d8c911610071578063ebb9d8c914610702578063f6bb3cc414610725578063fd41251314610742578063febffd9914610775576101f0565b8063ca446dd91461066c578063dc97d962146106a5578063e2a4853a146106c2578063e2b202bf146106e5576101f0565b8063adb353dc116100de578063adb353dc146105dc578063bd02d0f5146105ff578063bd4391261461061c578063c031a1801461064f576101f0565b8063a543ccea1461053b578063a6ed563e14610580578063a75b87d2146105af578063abfdcced146105b7576101f0565b80634e91db08116101875780637ae1cfca116101565780637ae1cfca1461043c5780638a0dac4a146104595780638c1600951461048c578063986e791a146104a9576101f0565b80634e91db08146103525780635b49ff6214610375578063616b59f6146103a85780636e899550146103c5576101f0565b806321f8a721116101c357806321f8a721146102555780632c62ff2d1461029b5780632e28d084146102b85780633e49bed01461032f576101f0565b80630b9adc57146101f55780630e14a376146102145780631bed5241146102315780631e0ea61e1461024d575b600080fd5b6102126004803603602081101561020b57600080fd5b503561077d565b005b6102126004803603602081101561022a57600080fd5b5035610913565b610239610ace565b604080519115158252519081900360200190f35b610212610aef565b6102726004803603602081101561026b57600080fd5b5035610bd8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610212600480360360208110156102b157600080fd5b5035610c03565b610212600480360360408110156102ce57600080fd5b813591908101906040810160208201356401000000008111156102f057600080fd5b82018360208201111561030257600080fd5b8035906020019184600183028401116401000000008311171561032457600080fd5b509092509050610dbe565b6102126004803603604081101561034557600080fd5b5080359060200135610f62565b6102126004803603604081101561036857600080fd5b50803590602001356110f9565b6102726004803603602081101561038b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611290565b610212600480360360208110156103be57600080fd5b50356112ce565b610212600480360360408110156103db57600080fd5b813591908101906040810160208201356401000000008111156103fd57600080fd5b82018360208201111561040f57600080fd5b8035906020019184600183028401116401000000008311171561043157600080fd5b50909250905061146d565b6102396004803603602081101561045257600080fd5b503561160b565b6102126004803603602081101561046f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611620565b610212600480360360208110156104a257600080fd5b50356116d3565b6104c6600480360360208110156104bf57600080fd5b5035611869565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105005781810151838201526020016104e8565b50505050905090810190601f16801561052d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102126004803603606081101561055157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001351515611926565b61059d6004803603602081101561059657600080fd5b5035611a59565b60408051918252519081900360200190f35b610272611a6b565b610212600480360360408110156105cd57600080fd5b50803590602001351515611a87565b610212600480360360408110156105f257600080fd5b5080359060200135611c4a565b61059d6004803603602081101561061557600080fd5b5035611dfe565b6102126004803603602081101561063257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611e10565b6104c66004803603602081101561066557600080fd5b5035611eca565b6102126004803603604081101561068257600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611f51565b61059d600480360360208110156106bb57600080fd5b5035612129565b610212600480360360408110156106d857600080fd5b508035906020013561213b565b610212600480360360208110156106fb57600080fd5b50356122d2565b6102126004803603604081101561071857600080fd5b5080359060200135612468565b6102126004803603602081101561073b57600080fd5b5035612606565b6102726004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166127a2565b6102126127cd565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561084557604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166108405760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610902565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806108c7575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6109025760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260066020526040812055565b600a5474010000000000000000000000000000000000000000900460ff161515600114156109db57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166109d65760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610a98565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610a5d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610a985760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600a5474010000000000000000000000000000000000000000900460ff1690565b600a5473ffffffffffffffffffffffffffffffffffffffff163314610b455760405162461bcd60e51b8152600401808060200182810382526030815260200180612afb6030913960400191505060405180910390fd5b60098054600a80547fffffffffffffffffffffffff000000000000000000000000000000000000000080841673ffffffffffffffffffffffffffffffffffffffff838116919091179586905591169091556040805192821680845293909116602083015280517fa14fc14d8620a708a896fd11392a235647d99385500a295f0d7da2a258b2e9679281900390910190a150565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b600a5474010000000000000000000000000000000000000000900460ff16151560011415610ccb57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16610cc65760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610d88565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610d4d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610d885760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600a5474010000000000000000000000000000000000000000900460ff16151560011415610e8657604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16610e815760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610f43565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610f08575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610f435760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b6000838152600160205260409020610f5c9083836129c3565b50505050565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561102a57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166110255760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6110e7565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806110ac575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6110e75760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526003602052604090912055565b600a5474010000000000000000000000000000000000000000900460ff161515600114156111c157604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166111bc5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b61127e565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611243575060095473ffffffffffffffffffffffffffffffffffffffff1632145b61127e5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526006602052604090912055565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020526040812054909116806112c85782915050610bfe565b92915050565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561139657604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166113915760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611453565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611418575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6114535760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600081815260016020526040812061146a91612a6d565b50565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561153557604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166115305760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6115f2565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806115b7575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6115f25760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b6000838152602081905260409020610f5c9083836129c3565b60009081526005602052604090205460ff1690565b60095473ffffffffffffffffffffffffffffffffffffffff16331461168c576040805162461bcd60e51b815260206004820152601760248201527f4973206e6f7420677561726469616e206163636f756e74000000000000000000604482015290519081900360640190fd5b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561179b57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166117965760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611858565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061181d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6118585760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260036020526040812055565b6000818152602081815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018616150201909316929092049182018490048402810184019094528084526060939283018282801561191a5780601f106118ef5761010080835404028352916020019161191a565b820191906000526020600020905b8154815290600101906020018083116118fd57829003601f168201915b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff821661198e576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c6964207769746864726177616c2061646472657373000000000000604482015290519081900360640190fd5b600061199984611290565b905073ffffffffffffffffffffffffffffffffffffffff811633146119ef5760405162461bcd60e51b8152600401808060200182810382526038815260200180612ac36038913960400191505060405180910390fd5b8115611a04576119ff848461287a565b610f5c565b505073ffffffffffffffffffffffffffffffffffffffff918216600090815260086020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b60009081526006602052604090205490565b60095473ffffffffffffffffffffffffffffffffffffffff1690565b600a5474010000000000000000000000000000000000000000900460ff16151560011415611b4f57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16611b4a5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611c0c565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611bd1575060095473ffffffffffffffffffffffffffffffffffffffff1632145b611c0c5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526005602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600a5474010000000000000000000000000000000000000000900460ff16151560011415611d1257604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16611d0d5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611dcf565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611d94575060095473ffffffffffffffffffffffffffffffffffffffff1632145b611dcf5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600082815260026020526040902054611de89082612905565b6000928352600260205260409092209190915550565b60009081526002602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260086020526040902054163314611e755760405162461bcd60e51b815260040180806020018281038252603a815260200180612b73603a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260086020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561146a813361287a565b60008181526001602081815260409283902080548451600294821615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911693909304601f8101839004830284018301909452838352606093909183018282801561191a5780601f106118ef5761010080835404028352916020019161191a565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561201957604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166120145760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6120d6565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061209b575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6120d65760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526004602052604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526003602052604090205490565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561220357604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166121fe5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6122c0565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680612285575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6122c05760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526002602052604090912055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561239a57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166123955760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b612457565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061241c575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6124575760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260026020526040812055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561253057604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1661252b5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6125ed565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806125b2575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6125ed5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600082815260026020526040902054611de89082612966565b600a5474010000000000000000000000000000000000000000900460ff161515600114156126ce57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166126c95760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b61278b565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680612750575060095473ffffffffffffffffffffffffffffffffffffffff1632145b61278b5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600081815260208190526040812061146a91612a6d565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600860205260409020541690565b60095473ffffffffffffffffffffffffffffffffffffffff163314612839576040805162461bcd60e51b815260206004820152601760248201527f4973206e6f7420677561726469616e206163636f756e74000000000000000000604482015290519081900360640190fd5b600a80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526007602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055815142815291517fe04362a1cecc83cc66f0c6704a58da505fba1d6170f40e4543d477e76fa9175c9281900390910190a35050565b60008282018381101561295f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156129bd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826129f95760008555612a5d565b82601f10612a30578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555612a5d565b82800160010185558215612a5d579182015b82811115612a5d578235825591602001919060010190612a42565b50612a69929150612aad565b5090565b50805460018160011615610100020316600290046000825580601f10612a93575061146a565b601f01602090049060005260206000209081019061146a91905b5b80821115612a695760008155600101612aae56fe4f6e6c7920612074782066726f6d2061206e6f64652773207769746864726177616c20616464726573732063616e20757064617465206974436f6e6669726d6174696f6e206d75737420636f6d652066726f6d206e657720677561726469616e2061646472657373496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e747261637420617474656d7074696e672061636365737320647572696e67206465706c6f796d656e74436f6e6669726d6174696f6e206d75737420636f6d652066726f6d207468652070656e64696e67207769746864726177616c2061646472657373496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e7472616374a2646970667358221220e96700c69e72a71b37f125c18447b170503c3f01c656571029092e21f1a652c764736f6c63430007060033032f51081a97ea4f21bcc62ea0d8623c92e82c8df34c9d6d8d1df395a7891b61a40337a016666678d2c75ba7938325a9bde6d18863f5c68ed7224f98e19da259d8f203309a7ae8e9ad74e7c1042b974b9ed3fd370e5dfd63030a576647e74787dbad2c03a48b0475482faf8f4aabba5186c3f9cc0cf4316cfc621ccf68b49458d6cc9a7703382f8e48a3e88d6e9d6cbb56121fbc896452ea742765f0778ca3fa8be5a66a1d032e36ae3d09c979233ee9f187d3af2f4bb01f42af099559fe8a9176367b76cddf03d87f36331f03ae6516f05e4db74e4ddd18b696dff439dd7759affd1b749949e2031f56934e7cb4cda7f5df2d318ca0f27cb7f751ec87f66fe70167554b5d4a3af703491a82e70baa09085092c0ef688f2e265dbb9f1e30d100efd2b6f7ff638fba9f03262e8ba48b33a38edb510390ba93e5781a28270826836ece8262b3da868d5435033ba7d142fde47e85468652c18e86f28bbc3632d8df403dfe7ed4b98e2ed1fa00039fb9a250e9a8f3829d1a61f292ba434c057854bc4a34ea59fa7ba56892d1140903a168c0b3e6b35933f265bce9081882492c992376b83210ab47ec6cf8ba4145f403db0fb96d1ec8c4ad5d35067ee1fe9093ddc9a2214d14857edbff33a236aea5b603e94bb4addd76b0bf494ea6fd1c3eab3d5d2e3416689e7e114549f68e6de7054703fcfc04d80a868196ceaea6e7caee1d49c1df7356ba0b0b1d86b01581315a870c038e36967952cbc7a9f3d3a08552e0b982cbc891c72d835d58854e047af4cf44c1031df5fab8634c6e63d016c33cd382bd6ef5b1269d39bd8f0487591da07bba41530338188ffb28329cc6fda7c08520c85fc27df2911d7c6922e04c795aa4c1e81168035122cedb70b9ef2bec5ab77baa519f5b30208152c3524977807f23c98b5070ba031cbd3f48d259e2e5faf8b7142265ba41cbf2ea10e6bc2fb19b7f7f4a00f50e7603db2f2a259132a0833684f60a2d67732afd16bb7824ea5a378ae1b6147ab0d353033bfabff142048fd0eefc847fa1f62225098c0fd570a6749817f2c2d9a6da43c50378352b29442ca4e5ba44ddbdd455e08f7c2813efb34f8601b6b27fb73d7f7aee032417822973b40553eb99d1c9c3176b9bc6a064feb3101e70f949191f5477cfbd030fa79f1c2d825a17a5193cf9c81cfb0c04e5e002849de785ee2d541d1c13d27303fa78642a204eac095bd4f960f43bb3bcdd2f710c1eb903781ee74d975fe46e1c0353c12dff712552ff7404b4250a8d0912ad0ae8411d0b823d57001de90f1e3f590371309bfb9401844b2f64b3ec6bb4e6879d7edb360029dce56d9d86a62131b8dc037af0608d65cc3192f81a8cf798323ec6751596fc7c413a5f5b95fa3db460dfa10350a0a4d3028f0641489cb36876cce8c3662d311bc285a9a787899ef9f70df6e0030e765fe6cedb3b9b908ee5704e7c3a2b1b5a03b7cec089f4d51adb466e0799ef00581f03a3a47e2e5169b6e9faee391e1b97be2c4310cfd46738c9a20e5266ec8ed0416100581f03db32bf249e056016f03b9e07aa402d59b5468d2c3699a680abd0d8ae349041010218a103cd6d367f4c44baf5d9844ee321012c5630969526245147c4748984a058d5211b036ec4f498d1dd5711698c8e492777c653569b021a46264c400a70680cf2e024ed0219ffff030726705171c8423520eca58b2f0274e7fa97fe4108582f3a85cd0127cb715d6e037617b0444477ec3fdf71031785eeb8dcd978f7bc45e829d4ea1b20dccaa593a20219ffff03ebf26589b3f4caadcbf72a0df043a4af5298ad7b12263ba2ee8e45270ec738cb03793c25467a2c60bb4d1f3327e35fe7d24a5fac8ae3d98a486998552b9cc5185d033b3c251e2a5f5e539980627da9e3aa9e1199fa464d9dac136839d37ca48d6ad70314f730a611d0706797d2712928ae72ef90e54662035a162e6be5955128974f7f03592593227ec49e521931077ca1ec696e5cd29f48df2be8ad224422f639f707880361be671da3c1bc122e4a9f3c1f1f1965c72b96c65d41e8fa271ffdf35fee2e6403ce45c257c2bfccd634203e52e05f5bc001be08f6dfe3c3eabdc11afcd1ceb5c4037dc5c17adcdaba7777b3ffb5e1ee319cc6e5f1a679e349385b5439a2076019d403ae8b82cfe32eb17d7fb2b2d6499d5c6c59b4f76be30db15fc68273edc932ea6f036b65ccb123b4aafc4af490d64cb7dd369cbfb57f151182ddb72553eb997d525e030c8dbcc494696076f26112cb59ba21f6929e01e857dc130aba7b1a204c12112e0354a1a813ea355335048e5954957a301925550940259674a202cc722df21de3f90219ffff032b1c89cb0bb3453dd3498817df6eb46afc4c8759486e1056b5070630970c16040388139ddc0b91f814009a42ca99efb5aa44ea25f4894dcd8c3fc90cd7c72793620389fae9b4d171e6e1fb9619946436f683ec4036e8ad552bedf53537d44bcf16d303eca24f82dd6b199c7957e7886e021cf45d8d463ed6eab8ddce6c2eb1f18ed02c03ab236a2f795071b8a10749db6330b1ccdf7a69fc45d4b8dda2a6c91f3b039aca030371e79e5b2a218d694c4797f0f02b2dabff88ac83addc13704142643172521e038f868ea2cde665532a6d25adccf12a6d52d47a086696024cee2ec4bf5267173d039ff6e1bf335bb229842823a9c7894392b4e402bf9d03a8fc0ed62669d4ee135e03a881b96673660595924ca0ecf8596c4b4aa471d59219f648840ceea2faf5be6d03eafa8bc51e8c4d53e7407efd046aa7fae9afe4b3a2a3640ae56b6512df54b0ba032fa91f8a78bc23912c29bfede8c6b6821b4fc14210386b91b2d5520b46f2ade90326689b81c7fd20adddc0ee1c7c633e500ca9a23689f15e288b0a9f2a6141752d031c47d9aa4e5362b029d98df3a851b8b3b62d6af31a7c031f4aafe4339453f19f0219ffff05581d02b7c304905e43847338954d3f0873d7e4a055d4cb45410453044bf9750701192c0605581d029c02dacbefc20cfd80ccb76fd68f202a9fc5493b1b4072cf7070f24208470247a4295689180219101005581e03136da06d4e3ebb87acd6002c3c10d9161efcb4e5a530e1f9478e8155000c044626f9423ce80005581e039632cf1d62d8f2a42b2c6dba67e7ada5c83aa9d958a46fe11b16207c900408030705e08890ea231711958b9047b00e17c9495716fcbd4a155077ca53a112800e0361a55c7f7f15f758f2816b2f78592e45d2f5cd756763d0bec6908319550420f605581e031b412731dc71d6147313a9be2fff82d7ab134776d4b03a913f038083b0040205581e034dbb3ac09144d4a1843d19c3d25da3790603789194d4ee35663cdeae30040205581e03ee40f3c6c6410cc2c5eed9be8793b0216d84d35666c7f98ff9720dcb100c0147059d464423780003288939d9feae3eae660db09129ec005d74c070dd69bb2fbf032bcb9b11644a5d0605581e03edff75116d1313e8d6276f6f7c1975dca13003fcd0b58b3afb7b83f30007011bffffffffffffffff02197ee20340958c62acce0a4d0e555295d1f1747d6843a4e5e92338a1a3d9d441f4e5009203890e343439720ff0b8b8a2d4f0d37d7cf180f92472224d72ce6d0dfdf211fa5203deb66c9b1683abbd84f490ac8eb8650e23bb8efe1581b733bf6a8f5a918e79ae0219ffff03f162438c9d217dd83a3b48c139aaf69c44fa4642f159ab597d15c91c9167661e03f9bd58d1629a3f53fefdaf77bf06e9110e93442ca0d2c489378452d9be2a0ddf03af79b172c7ab4829c705b0b57ebf1571586e2fde6ddcbeacf1bcbdcf3e810873034a854f7cf3aa7c5a7ccdad2bb6443ab871a7c3a440fb17a1d242d89d3b8a766503f6a162b659e6a616287f36235382873b693f4093cc69634d4e4625933b38f0cc0392e518978e82d3a058e66ffd4adb4baff0e797bb7a99b4a848e08041db2c006e03de0304abf0eef65566474dc871cd4576ec575c377fb2b0f5db6e1f16e9fe938603b1cedcfd945a354d4383717a2ed7540435a66e7499fe7d693a2831ccac7abd98039e0705704e03679cb4aad6ee5347f0ba454b187fb0e225d59edf2007424cd86e037156bd29ca533441c7035c2c0a8b35de5bc0be8be7fde5880ded14076db27a4503f542397153ca0013d6e79659a1fcdc197292493d45652d15f2f032a134c7db0b03396b3d6bf8673d04ad752be2fc58e30a05691c5f05d64d2010c81eea1f619e570219ffff031476c0f7371eb8ed8d192e31b60f8c175b0a0256d622cde617695488a992636b03a0ce2b830d0777f490c648ca10fc95200382bf2713c28570396984f08d6141ff03ad16719361b6ae2837dd3239ce1dd4596ec12cba30e3a7b069d152c354c8aba803e1d12fee699771b39f7718bd37b908d3b800fca39d8ba0d4a87b84b33202316703ff8c9c2354f6208bd7049e362bab513da598a149990da7e9d1c7335eb0087fe503d5157ce550600b57cc5bf73c597164c1a95facaabfbfa230caf1e9a635d74be0035ec1413c7fc3ec67797a4f99dd35cb384b352557acd0b8727d61800c9d1d6e6403048ccecde46bf8491302576fd30fcee534fee912c503770988bab722de365b3e0219ffff03de10164b60f7336a57787059f6c54ee9ac5013a804e9b3262e89c66119a58ce7033efba010f4bf6c604cff47d9b2dfe9fe75e116f2db6b4848cdac3ba7582d57c6034c8dc093728044ff06c6051392ca7f58507de098ab0ac83ef0da3cb639dd715a037ab17887b6f91fbdc63c2305119818d0184b44ccce28c8ec4440d04b74a665fe0219ffff03e45949299ada485a70027a2b56be39f761cf66505ca6396e5db9fb2a901988f90322b40a0c1cc176a88c1cd0f3e87df0a1a0942b05d3c0e0818ee5f5a5bf08aee103e97b229f328acfcd0365add7835e24c74a267abbacff077ba4c229b657f0178a03e1e7109c818eae363f1436972c55b4320a5358f69bdcfeb05e31420bc9d35e3b03148ebaa733ff9c7a2f034370cfd461533c7cca66655452f51f9ecc7de40620c7032ddaed20634d4be9b13da942496a67b91b5adc698d715fbe30598ccb034e04890336ef46e50c532743c072e6abbca8ed93a118f387a1eb23e65e72e9e07cf6b49c03d56a8fbe97f5ae7389f940e193cda5b76824cc802356787009d6fe1a6465c243036b31d50dccb8cc6e51997a76e97a0e8c33acff45675b12e2ddccab44a298c8b503f91e52b7b157f3fa2ce4ed7d303305dbfc8a63e72e63984365b71ee97720e9d603c25a14e178265aa4e12df056054b6c628f9df1db8475f1aeb2865467075262c70378253ac22be35bc1932f53fc660bae982c109ac64a73fa2582a1d70670a65b3403ad1b30847e131d646cd0d37adfbffd8b4472a2fd94890d96eac3785821bf77d4035868c0d5d91b8aeea2e15a645c853ff2d5aad9f74787d43389dd9f35d2b48948031b3085cd5b56938d8ada60b16d823ec1c88609c7093d256d2cc74f7ce880ac510351a3484a6d5b2f153607cac10b98739311f9927b0a8ef6e064fa866d3862ee4f03f662ad5521eeaeb27594881d0cf42e611362b828d837d78339db5b253f3d96e403fce3620d8e3b65c1871fd0f4d3f7d90a7bf652dceb8f8cfdd1bb3c1d0a18902003a0df29ea756546db38661b4b1687ecef2b52f50ff02a73973eeb3a4d8021dbda032bfa6da938c9443beea60c02fa3334138358a5cb71c38d8524bf3116eeaef3fc035cc5d0d30dc5841fea63e00a533606f155f92db56d74b782a2c1a86b4edf3ffa03d06918e7a9e2e9f8bde13f5b42c2c0f5665ed02ba1c0da9f9450af47a61bd967031595f2dee4d92ef94bb1747ae4ba729a44707867a2d3c9b75803a37315c7aae205581e0322db7e91e6953a55d8c5f84474614f410105a2b02df44174db4ae598c00c191929480c3f06b58057ee00039d3c71f5968be181de434bc9452be70d69057b134ebd056dcdcd51ddb7bef8b705581e039c4985a9c693057b24601b4d8223c9e5c97fd7decfb5ecfbbd2cd5e3000401034f3aa7b24a29c7c51a18f777a0640710b772bc3964da62fcb1d07f1963401775033ced60bf4f2195b691e6d44c926a62da67ca03885e63cb78b2fc3a09aaee2980039505aa310f20fb53bfde31431e933e9229aaa4774001e100854e7742a14143770344c662ee3557f68c9bc217b5f364aa8e652920242eb9fc1fbec8551f05fd5c8c033f2b69fce680bc7f05222034088edc40f1d6ce1fa14d4ec68fb7e7f6cb611e8d05581e03fb3911ef7b47d84523d9710848da1e8cd391a3c3f9401cfcc6f2225770040103357f3c1ac66a18a54c03d2642ea052f037ff566c36ea9991f32bb8ebcb9531500219d3570377882e5f0bd972f55e9e4f56916082ef735851ac225e0e71f89119ae5486702b03ec8d4769a5bd870e4263e6c6b6798b78a919dece97a85e96a3243dc4ab568efc03868e40b334b851b705c30e891c2b781ab3196dd165fca60b15eb9ddbb85d039b030b5c51003366274bb1a8f95630506937750525a3491d4bc9b4f91a01d79a9a96030c352a516ce2465a97bc65ae5bdc1b18ffeafa841792598db5e5cb1f40639d7c03985f89ce8e904e18ca949c0a3dac1d5bf45f85b741c619e8b34ffbcc040bb4ef03b03febcb98ddab77777dc7ba906b44596ef74f72bcef559b0fbd4f1a2cf3d7b703a80c9560c217bb141c1d6c212c146992f8df43619caaf1195d7819b4a37598fe03095a79a468c68f7f536c75d8efc3e632b686323dde4de0ead9b04c01e05ee465035a997343e1a6b9ff9ea63390422e5f57b502a1f238fed9c257d01c4dc27a50cc037c8ee44dcf83d7e3750df1792425465e041b725f6c555057f5c923f947409cab03033f2013bcded120414fb3203357f1f7661bcb7dd2913317dba8f94c10b1a14003fa0efc738e6e25262aa265b39589f905bf571e63b152bd69f95ace193d6455ef03f33934deab13fcd4d2061e7f7b501dc1ca1ccba11397f5cceb9e06ab5b4606e8032a067545d8787189ee8efbb557833b4d88857d0bf923e08e5da68d2dd300843b0219ffff0379ee9c08ec54c974d42dd74764f27467ee26d9fa4d3672f0f63493e6384cd0bc03aec9032a5b114a9d19eacc7792163d373b39573624094546866cf5d519e602dc0309b0ea11c54a105cd1cd1bee530a52d4b03c7d6dd8d2680c357434f96793e1ff0337cc556e041fce93a728ca4dc94193d405e05b955fd106bd4eb7d60b6b53628a03e4bf680b7141c46ef0b5872ed88ab5644539ae95f92f0328752b837a5d214ff2031349eb500249a2429353b562f0256d6f13793654e2406e56898233ea45bf17ee039f7b5bd2e84d8efe6f127380ce5cae3859ae52a91ea337805c112dcf71075e98031fefd96e0d36b94620ab248465657ec0b878337267385b570370b8be683a16470307b43386540266fd64cea575fb811587b74dedc46e3a0e24f94b256e033dece803c3a72a0bea3926a1529276b762caeb590b8f1488908d6f7342ffb6c9981f238903fcfcbc8562d855bd02317a8d29e6ca54fa6d1255e245f5c6d97158415a4fbf830219ffff0219ffff0311717d74cc736f9dc2258e75ed6253b98972f05e9c6535d4a0952cb3ae203ebe031c7cf8393a39b5580768c10b5417d5dd15411e3fa5d702b93573a32e3cb9e6050346ff39ce3dc09fcf47e75905ff348648c4134cae00ed05695a0e45204260a8d20353c3448c8cedb5df7d50645b865f3a17448ca5d27136a066819870ee1f6e79b203902ea19f90e790f019b67310c55ed644a6924deb999695185db5e19eb38d42e8033182d1b0628bc96d674c15b786121043c9d5f2389795cd0165fb461ea34986090384ecacab1e959656b872c261ba9f995ca8482d034d3350ecede438e48657feb00346cfed2a8e046571a57c6f4e82bb298a2b81a68951c0b3539bdeb53e579f1f0d03d8bd9e62c4feb2a423e9274002000e85ea02a8b11b079bff9f67db1dd326c20103c9bfacd73d292a21e5ff22489b7f87632dd002b255f1e11f3e7c45721fbc8dd00337965b091e3156403d2013819af103145032609db1afa44eb1b0ba42fc2b8c690219ffff03103c30a3f0e2c55153fab65fb6cf68c110a0f033dc2502dc04a5f8a13c031e74037d8afc3e32d8bcd209205d574e68db611865b7302f0921c3749277c0d54a282403d68ee093b0d506d3d2b95dbd224c7b058fe76ccecc7af0705fc773fba338fa1503810ffb89f341243adedf70ced52eeadd41eb7ccd3ea8455444d09547fdcc451f039526217d33f012b81a0e6f4f1a535083eeda90a6d3b6d286743b5fa6c36050bf0332b170092640b04dc66b7b67a7f555849ba864be6cb6076a5e63852d95be85be037bab16deb7a3c748f445559a943be5bbf0e2381800d8dfe3df3c9119f883271a035f1ca520f109164e9209be187efbbaee4e7644aa6442977194e705501d74f2000337e88448e8733fd4b49ac8fa93cdba94ede339aa161559d8b620ed7d94d2fff603a48944a79ecb7dc570b27a7337ee5b1956779e3fcac7864bf1ce340a47080840031b689b49645fcf31f67c6d2d9303afe0a8256ef902b8c50afb8be0b225f4f6c3034dd6f432fdc47d6189a4e796cc777cd371b815cb319b222f1f5971cdae733abf03e3a9ef0925b9c01afa3d3ca386828a748ca392067e76467bbb7f5fecfaf8ae3c039a162a457c44a4a3c8e31e09ce4bba5628e1b5736b22541717029cbfb3b422b803a6530f97b401e1ef5bc01ffc209ec2dcbe9670600a1e1696a442e0b92b08f96b03df1835fc7cb969c171ced3bec5c57a1bd97f3549968ac7b6c4a9d7e2db83aec3033aa1ece6492dba0b0ad487bafcaa856424349cd48491561f28f65414ccdbdeb503a9a493877f81ee36dc04f019595f4eb4cdb6078ecc3d664c28fb0001e182f6b303421965d1ffe59170067315c13843ac473f610028cd95314c1a96a4746ff2155303b62f9bde04d9f4983eecdfea86a7fb9ffd07e789e64c2bf7e597f692ebb158530393359478b14a838c1999d33b7e43cef2f87613a48d60e646deee52a248f16a0003b08bce9dd63d5690770b99d0278676ba64d3851ca6d083e0ab0004ea21223b45038c2e895907d82bff86e787fbff967af96ff8d549bd8dfc7b2a750118192402d7032d987977ddeaf752cbe2e02ba220ad067ace1d55061d017b4b636a9f7433104a03110896e60e31fd460fd784b7707a77c69e4de017aebd1d08e88ee0c33f9068610341c498c76a534a3a2d76dd372342a67d32b50781b23030ed8b3ed9e305800c900309708230e6c994f2c51e50a253ae63a6771fcd5f66bedcf942ca49b7e07ca1cd03fc8d8c94663fcf50fd63e6682641ecc6bf5954b678a6da92727a27dc3191759b039c6e5e0eaf48d82ac44df8b9bd1d1909d8e0b4de7c26100c8892ce3b9fe968f7039f74f1ec8c6ae20adebfcea8b14bdc3b437402b7109fa950715c8288d49a842d0359970e58a84bd9b9b03e19af1be0cba8a88eda12c02aac3378f322bfc25589ac03682f313eb40d9722897accd5c4a6d934472bf8855881638f73b7897147ff479a03ae4a5f6ba81bf2b58883253dec523431869b6bc2be25d37ceb6efd55dadef36f0314551c5ab4db2a45213ded8c56301905e6c9ef93759079d4adb9bfe837aa41df0367fba4287070cc9d7d7ab222f3f11b4d3e9167962a788052ae814f02125b6f4203eec0a07c09fb67d7eea48dee9948d968c63df83355818a8480263ff1d04dd7f8035d00d81a241ef55864284550227918fbe6c4a5115ed306d22e6a59dc95e515cd03a793a4a838520bd06157241b7190734c67f4f5662bb5e108b3dd14024e7fdf2c034332b29f9a69cb47254ebbe94a6f9502c8e51e76035327cd2253004a87ad5533035f94b993947905c416e965067bf594a252ce93a1b390b1f35f4d2b29804a7af2030417ac30336d640e6c70056e538d5efa809e1e6a5bce73982705bf0c3f2a4d8c03219912d251f0313d7a92e74d28b39015c84462cbe9d05aad253fcdb9cd1e21f2035ff7fd950ba9c13a6a596587385638acd00101ebf6289273e79d4b25a78797ac03af899f2d7b6590813862f148c580475d89e9cfca5126c210722a2896900cbc480348c0e86f1dc7d6e508be45c9b80bad4e2a1a16bf48dcd21286b37c05c4037d81030865cec1e9ac3048b12a85fc3b9fbc682c3831784e3396416635df4cb88c3fdd03abd6f76d837023a3a4a7ddead2a3bb87eea0679ac176c9c89f07944bc0cfd3be05581e03e789cc97010babe03370340f2a3f09f46dd9e1016eea2b3c55640e9f8007011bffffffffffffffff05581e03c2217591be4855dd47cf4d5aa272544e57e265b19f402a27a7e3e288900c183b470138b2677a7b4805581e03cb24eb4b164c306bceb4fba9df468fa3710d43264b43d1a257a6a48ff0040103cbd377f7f2fb7a2bb8ae60d2f3bf704677000f1db23c014524ffcc74484253070605581e03bff1e73efa0420e8d9b612a5cedc809f223c221c60e5ddae6b08b5350007011bffffffffffffffff03df70f5a49ba88d7646a7b981ae8ad183edb49f3b95d238f068001ae81e200adc05581e03d2556fce30bb4b091bc549a26e65fe134c533b8b72baf0776c115c55b00402037e3750474753344087d9891c04f27a114faf6e351f65358f901163ef86090759032cfc0d0399d407ec6ccb59330c6539bfca177fd08e3a832d3c5a618c4d34dc7e0605581e03e083711c876c7b77ce1c4af6b6d485728e311fb885b5dfeef85b2bf46007011bffffffffffffffff05581e03b3dbeeb336115d9ec45789f30bba38a866394d26acd85ca170a73963600c0147064ab35839100005581d02f21eb3c6099eb064fd42b887277782d3d78b3dc25ebe0946ae36674f0c183347013bd8b9bf7e2005581d025b5b69ad4b65365db2a4f24832c8f7eaa0db2438e979617cec6574eb040b021988000219e3fa031fbef3d759ad7c919e7081d91d5c0228012b93911add0ae9900d90ccf364fcaa038985af46fc37086dd9bc296f8d5b20a557c7653acf8be613d696e2a877b0bae9035a6e96ab662f60b1b41760196e83875c56b168d37b21f0a1d3fa8e91193e8b6b036c34289ab639da61e636fb8c314443962d53526b5fde25b1eea71a2eebba0f2d03cefd4884738b694d4ca248db435be2ec23b6b32eef30d304aff3e27153cbcb2503a9d2ef5808da34604ac4ff02a03058f99ea98f549e20377d9d7beb834cc298c303b81edd2262e7eebe78cae90529350545b632f8ca052eae8d745619f2a6f7188203963dee0d965383c28ba59f814756a2c9e8ce535d484290705688b558ca89b30b0390c94fb993f5c5d12428b88cd5ccd413011b385c1a10daf60cae4afc18b748e00219ffff0359a4bd7500e638749062fbcca3df072dbcef3c58d2e496446251c78d32b74ece03ac046f4fafe61e6d84fa811b24143c094b3fb6282bdbe8358e967f4280975b3e03bdeb1dd41ff9458994b6a65659f28edc4a83a253eaf1f7320110cd13d464f4d8030a4de9ed9f0363b8e6739bd92a21a878048fd80d56a75c76687ad541362f16570219ffff03a24187c49c7203894b17288161603f4313415d4bbf95c8db67f1ee52263a47510219ffff037812d8d89042df3a0c6057d149f087405cfbcce0a632a59b2e7ebf556fcb5f7d0308fa1ce655e4211f57df9a99c0b6b2e4c3c5d091629fb4c9133be64fbabec7670219ffff037b3ca67d63a266c376a49f10e4bb2431942f264d9efa699422825a3a4ece289f03e103e984e459f69b69db37678bef78cfc2fd9c67912c1fdb97ec24fb5c7ad180032275a04cae2137a277d92dfe5ed0a876ea053feb864cb5abee7607d25c36094803e8db1d96f57e0f26600a4707866e9cbfd7eafdb5c35503a8a3ccbaed80ccc63603e81e416aa174708099a180d2d40cd08850eb274183aa8c03129b5305f678af44035621c4684ba134bdb64f6dc167295a67bcb290815ce86091a461683db93dba21032df4a8213d34ca676a5cbd3b67d635458e12ef1ec59f966b468d7612ea68a76c03c310d4a3fbbc936495ab443b5e23aa5caa59090f74e2712118ad091f01273b100341fd5511ad312498590d409733818b7332c10e4d319f21e00476157f3366533c03fce45f2f112164aca03d30cbd00ecf58c92bad10db6c3fde24d5f7359d483607030e0d2ba975288f2906f26c600f9bfd09ce8bfa9dfbbd37940b1ce9781e7df0f103f7225e5b4fa012de470767eb7a510caa58419d727bdcedf494ba128f6e9ee03503c507848e326bd6a8243cf23bc3d3b8f0d9d8bb3db3cd0b629841b51d717018a603089f346f8bbb6c5a6f786481fd627316704a41803857d2c6eaedf090b1bafdd705581e0384b6564b2e0290add3341cb352a7969b6c370780fb0def5ea27cd94da00c0247020b67faf7b0d805581e03a926a73f1ae5aca784a3784c7e97165aef61fd43e8b05fda3198d65350040105581d021abc0fb33dbec9b6e7d2795b7fb07dc29a723c9a271df348108ed61b040205581d023a7060849b54c846c159c3dc0dc6d9c10ffa39e9bb8350b71472c2930c18e9470bf9848d5d275e05581d0227c590f46d81fb65382023ac21006a659b2a5cc021af76f08e832c7104020219a00803a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03a9d52d8a98f024782926cc9f68e4772a931bfedeb649fe26230b94706007011bffffffffffffffff05581e038d95068a1baa296a28af52940f8406f5f357d99c8f2ad33d58c22b7cb0040203ff6600cf438b143ce8c3ef1900025cbe0b33f24a103f067be0b5592e57f4a42c03c820d5edbdba41c8344f4f12b69fa92bc877131b449b406b739dab0ed9dafc5105581e039dbdf874b2d4bcfbfce05d802e20e6a9c36a0a52e4ed25fa36c4be0b8007011bffffffffffffffff05581e038b144eb1a93d987afe4eb508cd970f4109fb612f32e0badf94d56167e00c0446975d9f45a7d803a0ef0cdce214445042b9a144f964354dd6e913959582591635adf57cffea30c805581e0313bf70103c8b2a8d8b7ccf6f93e61b577d602e531e76cf49e4a0fa78e00c0147038d7ea4c68000021947e9036e6f101956397b695433a58768b33cf2e459610effe136777b8749de5998a2b20335f5e47ebc3d9496a0b717cb53e482a822a7bccfa294e819ffd53d6965395c9703a74efedab87fb4427785ce54fa8f521213141dd476f2524a783a49f29ed58fe603f610dde3c9b72e6238fc2412e292cef1f4f40d65598f89d4a53de5bc350f2a6f03410f5c100c36ad04b0f3778e84e4a8478894f58f7def4cc72bd39f2282425da30349e9f7f63b8d02f302e2bd1300e8230d7758c0b5e33a96a4ebcc5641449947a40322f3a621730ced81d718b0d03f496c669660f287325617508935122d7a5a84c20328bd94bd4637e05d66186d1ffcd4290eec0767b6be86851fad26a493111a1c9703984dbd8ce3c5663bf786fb62b307c088687ea668c5ef5a14c976285f0b4969a80387a0665a7c36313f9d9f5487f2eb6b63cb15e53805e0a97cf9903822e228c56503e68162212a69386d04b68d31f3b62a2c2ac7c643884a42708bfc05fe3060d2d3032ab6ab6ba1f103279a61eb47d348e99947388360ba205906eefa46a832a530d003ba97d12100f80cb69a0122c84e86dea8eb4246894a1921b366f75e4ba2e29e220219ffff032bde035c4b633063b16943d22585267aac882ce992bd78e55422eae9894676ab035268537d3ea5d464f22b4471f49d7e09684c985d8008af5abdf580c93a977cec03d6a6bb909d8d101097f8253884027ef41d127e5c7f70cc08784a73c85098ac0303da3e5d3d6984b0a2fa8117f235bd65b8353e18200f75200535999fbf7a351ca303c0f2e09afb92b7583effc65b31ba54730db53aeecbcf392387d39704742ea58e034fabfd44924f30e4ae403c4af3cb9ff79369c35cdd51248311a17a9a07a409ad03256e4dc9001febcb9d12ead6d414a80a68833ccac87876369e87403a2b53113c03702c92b9a0a0f906a1f06bf28a66dc4746e8c59c72ccf73a1c5aa1bf0e5661a60369c97364633061d8b27b5524750bdd06c6a43781fb1bc00b204160af80bbfa6b03dd92a48dd22206d02715b07c3cee99dabdfea42fd50433d0e059694cfef06c7f03b9331fe346d4a55bf537458cf47ec7767636bbae11d87d7860f1c31d12eb16b503e0571e557f58cb484fa82a4318b4598373f751e5352ba9d77629b34fa642582703905b4e5325542f2f9171c813f25bfe506dfef7364016887748004ead7e979e2d037aa9c2ca6f58088a9f2dbff36655cd89889d4dcc73e6023d1c7dabb8235985cb034039305e1396530c61ed94a259b615553372e62908526fdea40dffe15613873a0219ffff0386038eaf6572f07ae4a8a1ddd2466780d938aa443d4fef6a53b8edd51756abb003d86b38632a0055fcc1e94cc46e1f17cd8ea29c65116dd9625ee743bec0d17699031fe41e1e2cc272009eb2250cf9a43f7a49625a08963ec35e36657ace225e80960309188c932a3525df78e9978bbe333cb1f2d87492c2dc9bb51f78eaabd5cdf7b00219ffff030e34d0aa79d96948fca9dc8ba0ebac6ababdf4e89a5fb18b412af3908de98d720314e011fbdf6bc9c7eb6c0ded5e4b7da849649cec36179b8d5b577469aa2ff19903d05a1c6f29bae99c5d1495a52781a3b8a114811e5fe9a4004c2e603745832d7f03c0e78ba9a17c09299c775eed99710877f03d86cae5843f5b396ea02cd1dba55003dbe841b40806f55cbdbd1ecdf522981edd747080d1a5a215715adaf015906320038b827fe1622bc6ab678ae7fe10533e129ced0780b9b54b9e3561c3f7d30abb54038eab59ff91397a45a3b9d36a68e16fab71a3338bba0ab487020709c0f46075a803be2881998a9952820afd99f79c36934750d1fcb0e9fee604d7a827431fd7b2db03d9ca1e9686b2f2035328668be8ccc1bffd6734b390ae9aad947b7ef763a46c4b03adc369e31ff19428769c5296c77369a8b36860a4206bb942286496c79cc5373d0354d1234ac6d998d25726bcfce10d867f79bb459eba49bc1f1117e7f435389a7003a84f167eb30a3a804dd63839b97b7fbd676b4f7091dc448cf4f9894367fe78af03ef0b2cd4ff11d15a01fb41f967d519afa735dfc4adb689f0d822186fd4e7f9ce03820e41b2789cb3207b8fef91118bce51ec5c593b1ecc0dbac0f491debd9672d405581e037a97bf21445bc7915d0332488b9fcf2f84164080d8b36dccac5e8083400401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03438fc4311588f0fb61eb85e37c89aa06870b8af285dae5e43a94806e3007011bffffffffffffffff038e516346102328ee6a202a43d404f3b0d50a04c50a5c4896250f298d2989a6b30366b66439bb411f850770c4e5727866bca394afa955446dbe6dc7aa0e0a284b48030b699827c8acac44855f93df4d547a207f43ef35660c93b8026b8f01f7ac689605581e032285f0b8ba685a0d216509bedfd990c5909230834b5b0ccb0a3fcd1ac00c01463444c6ef6c0005581e03a14cbdd52ec98a1f89440ab769b88391030fd7b5e3cfddedd2c32be0800c014701d49f5820fc6005581e0318d709df65a97ba7512290c28d9cc9b3798dffef954375436fe4b481a00c02480f9a82d5569e158105581d020ee423f6c82951cc8977686e1829d56f8cb5241b4f3013ff90bd5f050c01480109a51981c47c3805581d03b78bdd78d778114e72c9552450e48bf656a94b0c1296abd66b7724a004020459033f60806040523661001357610011610017565b005b6100115b61002761002261005e565b610106565b565b606061004e83836040518060600160405280602781526020016102e36027913961012a565b9392505050565b3b151590565b90565b60006100917fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100c957600080fd5b505afa1580156100dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610101919061023c565b905090565b3660008037600080366000845af43d6000803e808015610125573d6000f35b3d6000fd5b6060833b61018e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101a99190610263565b600060405180830381855af49150503d80600081146101e4576040519150601f19603f3d011682016040523d82523d6000602084013e6101e9565b606091505b50915091506101f9828286610203565b9695505050505050565b6060831561021257508161004e565b8251156102225782518084602001fd5b8160405162461bcd60e51b8152600401610185919061027f565b60006020828403121561024d578081fd5b81516001600160a01b038116811461004e578182fd5b600082516102758184602087016102b2565b9190910192915050565b602081526000825180602084015261029e8160408501602087016102b2565b601f01601f19169190910160400192915050565b60005b838110156102cd5781810151838201526020016102b5565b838111156102dc576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220ecea17e06d3e3d12deccb44a959863e4ae901ae486283e78550a12a77c59777a64736f6c634300080400330320e08439bff4c766080afb3861a105581d9eab2e2e891a29d16e62c4c5e4ab87037417442c80643ff2160ae40a5130b74c9b3f717925e15160774e2c5749289f73037e08c307f3e9c99e72d6587399ab1cadeb20273adf6ed26152f779848ad4fb4c038c9e399d6159e97be011b8f1732cb1440115b63c50506de557391a6ff5972ecc03fd7d127c501617dec0ddd73499794952a91d33c00edd4185728d0eb1cbfe190803f6d0ca908d2c1b11a21a7fac41aa8721c23049f077daa880f0e3d6f8e75ec62103bbd06f47245a22c75c0f486c05710325db8fc2b3ff1ac6efc4c4929b4cb90fc60303661afa306950fde32c7d5e39142b27b8fed6796b60a1b2a27bc8c9828c29d903ed6df43b37b3823de4904c2f543a081bfe5032a71722d2a98b9b0df81d32ed2103550d0de522a37b42cd2cafe82d9486e54c5dcad29067008c4a2383923f05cf2603821552a5ada12a0f7c23319385c73394bd8f91055fbbcf790f1a6338744bb7f0039bfc3f2c4540f04bbe900a5957b572800fbfd57ba9bdab8d12a9765a2166619003c8a320b61090b189242d84c7efdbc7865dca86952133a9a7b28396576a22927e038aa42d4155ef82355aea97aa057c2d65f7803a6b71aae3268ff41bd66082a7d0037a59ef2805e79660d3416ca28e0107e9cfeac3a08c10ac74581dc1770d4b595903c4f763317e8a9c75d301937e2bb48302414fde3fe6b66b06cba94996971695060318c3bf2932519131f7bdcfae96cef678653328f663f0f93ef517276c9310d31700581f0267e8de97fb8d4ed0ad2a0c7eab2a776d34c27f6f598811ce1e7ac3a2f4225820fffffffffffffffffffffffffffffffffffffffffffffffffffffffc199f487f03ad1cf622815999064f761590f828c754cac3dce487189fb3f3f7489f4172084000581f03f309239680bf24ca0f733c089d8b1ff55b8b1581e75db1d7b971c6c6e270410800581f038d7cdb59169c40336b3e94e88f02cbf6bfb595dd605a55c5d8ce5812fd20440bebc20002190402033a673f26857e015a6554831b8c6db4846fcfd7bae6af35395e0d433c830e719500581f020942341df7a42ed053f238ef414f6ce72de45afaa8adb253cd7477f7057c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff34f601d600581f022533494e627449476d9d542d7dd19b4d157e20385c41ac373f8860cc7b1d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039846c7aa4f974d08fd40c082f43e74dbd70511f26f338acbffbfe8e2b6d0cdcc033348fd62c5d8989a27f0d41882d58aa02d993f698241885307c4579f477d143e021955e403855719d1f7ed30d089e40f24d827008c76023813fb5d78b46fdc566b9c5668110397b0f4e86092ca73cb8d4ea10f483b3e827811f979582c2794d40bf19cfb401203ae4b2a0a2387eaaf503ec65f061f1a4aed718e40cbbe8fe3582b878eb5fa7e8803f0e8f96875d5f3997d21dc7cf35d8e2ffe5a589c9383f61a62cae89a7f67566103d0d7463c26aecb9e1cbee73e55d5028cd13e7a8040859fefe233de238abec2cc03044f563d794259d1070f9e34a66bbd6a19811dd30899faedc82405bd2b2e957f03d75a5453eedef92ff11b4a8e89d80fe743cb6988028ac822d78731b6dbe985a303bbca048ea7de10ef55beb47448e6f7d74fd8d34717b25db7dca6f0e25092537c0320fd5869a390f06533baa12094d2c0939f848a77202552c036251bf5bbe20cde031278c85f855172ec5977a6948585da7de039970ce7c351dc0866553acb4cef9b030d88b00ce23104270d498021531bce4454de672334d8d49b4afa501c34d3de750219ffff03650251618e0a6ffb96106bd2c4b2d83facb1352a9c2948bc797efd5b7af861b503552167956a538d9ef26a03ad0ba732aa77e9524745c46173a66344804e5ac1ad032668ce3c8cbf567d1b173e79c5a855437d91ffa3185bb9b36067bbaeb568542b0219ffff03480e223829dbf7e44b0bd31d11251a7d304736ab6a91e774741b45a3d2865788034ae60b8288f9802f917112b5ac46d909f0cfd9ebf6695c785eb0fa57feb7f64d039c3105307d7d8d18798126f6d0b555e1552c1213fb5360852adee81105e52e3903d2a9f38419c31bbe086510266d019169bb27324ae79ad1b061627b524f45d0de0338cba959727ce20b359bb7cf20c8eab752e1d5251d6f37d980008220b655e48c03132cab5845d41a0a45c5d1cb6cda507813510fd35a6f5da712ca2c8be8a2ab2b03de492a80be5abcc4aec3dd995e860fb6533297535de445768314b327666c5a6c030d79f0051dee3192c372fc5e0e3ba14ba8e24cbf53e23c4ba5c02192edbf22810308ea07a82cb9ea1442fe55698cc9d3f19b148f0ece3fe8e506a5aeccfd948e8803f452020fef9a2ec6d5ca4255aaec9c9f4f3b332f2b55812f7a9f3733e4bafc13037c6eb8ab5987aa50a01a9d49cad3644a1f1736ae57d96ab32dcf7738126ce53d03da53e16f754429827ffe753598778891e1b77b1214ecce4c3de47b252ab2bfab033040c41acded810521ea11ea105067b523b4bea420e9b48ddcb191c54f1f163d03b4ea850af33fe4d6eccb06ddf567d826422cfa438524b74830e4c3d03ad73534039bde22268537f1b0b798cf25ab0618e79f88a9dd2273b1a30136d0a53b54dc3803570b46fc9c8237faf9fd356cceae114da3c35d81ad6dfd975ca4711e7775370c03ad2f7a016407652b4cb1ffbbb266d00c0d53fac0ca6b1da66526034e71841f9b0338fb51caacccd5deecf248ba5700ecd147126b31d44e04e7c08dcab6c76a646403c875f9188449f4751ecd4c7a2c5a48cccc8aff6b81c6fccd42482c13c80d5a8b0333d40ffb3d93fd7f53fff41708c0649dcfe3b80d732c9f724bbfd12196faa338033a1194e6d646ee4ac73c8ad4c15dfd3cb56975b329218b5f4ce86949733f9c6600581f02a4addf246efb14a71dab5dca3849d3bfcc774aed760914b51422ef723325440587585600581f0206ceced6b45ac8518e27949b4ff1657a14a1fd30c953ea24927e7373252a434f14f103789b7794db13ca341f5d60fe2cf337fcffba28ce9c3dd2a785f8cb8b83c8f9ac01410e00581f02566102da9a1e1c4a8def6a2f5d7d6d57346124d0bfc979505011b44127e15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff88ca6bff00581f023da9c6b2d5481ddd28c2d609016fbab0dfcba02729a01a203642d30d8581410100581f02d65495ce040b166b4972af2783e5c4911ffed7cbc2ca7f48bd1d74f048d15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff5ccd391a00581f02c7ea904aa5b6cdbe9d68a8b248ef4f12ad0e32c0e0e1c58b4e31dbf623535820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e24a48e313d14b5a5977f5dfb7776b9065975e518c13f5247be3eeb62203e45800581f033a2fc0cedde9effb3f5b74f519e781a8da221ed8e3253206f2b0a0d2f1f0543ee18b2214aff97000d974cf647e7c347e8fa58500581f0315a10ed976073e5ecfa0f69e45fa2f3cdcf11c391e7aabbcb6eb259f6560459502f90000021904400219fcc2038850ae2c9e157a6d6a3b7b14980f6e6b8b28429712d680c399c7f57aa7b001470352793c40b13bbb3f38a34f5eb82ae74c85ab1077eab30658d8143be25ac0c4fb03f7a8458e8b13e801fc0f6b7e6a02300ede7e79b44292e0c12f3314917c1f6f250365da8616b11d8d8d561fafaae7f42300ad2b2eb12dd08f331d64cbae79dbec990219ffff030ff0e0775321e83550102f9940de5540f1b0888d9faa709ded9713d815f9a2f90340513eed2da70a554f91ac93faf7be06735829aec46246e5601feb199c29dab00325b3ba1fbd0dfb3d1ac9641203c623fb4c3def74d256720726edab5d800d755d03cd6ccb80ae4edaec653bd83f6af4c3dd7e99dc6315e4fd2a97ecf01a651620fc03b21d6011e808c0cf0978d34c8d71b74dc66a6d51bfed4afc910ef475f388ea0e037b8fe2cf6d923ff234a1bd439766c7645c16584a0bde15f23e964fc021109c5303e8f7b6477907ab5e56605275f7ab74c1b9aec532d0aef31fc377625cb635bb770376cb7db9108e2c251d6b5dd2b581a43d37dca6546e0526a945310d53ca8ca805034e9aa8879c215083374e66c3e4aa67a099709f59ace4fea2228e0619de4db715032fe871f227a9530c5ba729a77747015facafe42a2a3a3e6626fb59b18e7279ed036aa6ad677c66d457b0dae3bb23b2305f28cc13f1b49fe67cc5f105203c5802bb03e0f86804991e0bc10b6510fa8b44d675482cbba6dc4519dcfaeeb7448d970abd03ca02cb3e60528a545acedac9916ec1b3174221fe561404ab094ad4ce00db084e03ad4c42d56242ad44ac3f7372fb3c0cb91d6bcdcd15e4f25496ccbbae7b710d5003ef05c4c599121a7a5d5c0c1a655eb8356e5e35a91f55d54e42544477fb71a23a034d12a5c6feb245303cb1936dfad7385f177a75d6af42c93918209c87b072d0f5033a335082c410d61ac43f737ed5a96b018df3a3c84c96293c9b3810308e6ee16900581f02533bfd63cc9a26086c8b6f8d68bc1fadd4cc1e526c0cb17ae2a582b7a67b4414a8b67300581f0298def49ed9a55415d8e0b19d42f2c496ce30cb24241a0d68dbcd980a51ec45040f59009e00581f02965d909446f5084b46eeb4f2972c3834c4798d93dfb24cacbc92999f54e25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe70cbf533f00581f0209948d71d03143ccc5f87b1f1a3d38aa88d4b41a0f849293cd6c8d6ec7455820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff0331bc9d07a8917639f59b92e85abb502fee185c3e2685da39fd1e4f8bf07faa8b00581f0346fed14e472ce6bc6b44e9e1e518e908bffddeb420c7d19da80a403b9ba05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4c5ff0b00581f03d4c7683f72188972b7b715a493ce35a202aae7af8c3c122dc15af5ac15d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02188200581f02d97ba1a21f696b09782e369e88cb50e1ea3b36648db0e3ba06407ab5a013418f00581f02b7a17d8c40b80117c816007c79286193d85a5ca491b557ef1d94f692b7f3449af8da000360dc884b1d281554fadc8e715db82342a0acbda94163caf83203adcb3ca8ff3503488236d0cf28c7888e8b149dde3e9bb6308b5e22dafda4b9864fb1bccdc3139303ecc217bb8dfd28c025d504bc22b1d5fc9a129348cf2b7b58cd586a1bb0b6ef050219fab503731e79b0946894b6b954d5d4ca2a7132de0e6f2c32e7b84e11bfb4e09f96bcb603ff8a0083dec92ac8b9ad7095f030ed7689727c479c5b4e063af611568e896b9e03426f7cd1d26fdcb646ca97899665cb4ce8bd2549b68fd02dc615663bb435b1bd03765e7639908633dab9422f56e717787bf6b5d05ba7c234e27d426c8eef639cad0219ffff0219ffff03f1004f3c9738b49bc7531ea75901226940e104388f78d0015f06f107eb0be5b30334eba1a98e18260aa06c2dc23daf71ef08513e05b84e14eaa23fa78916bc087a037b6d5facd5f2a882565b23888850756215d125d65e729319ca5297fcd8e8bb6a0310d90757e49707c3c911e25e1ba08d8bfeeefc3c0cd2b5cab9ecaab1d490012e03facdd697dd162a1f41e44c073ad0110108023a5266ca5932b5b8cfb007ec1eff039db9cc7473d4be7247114265c51def9394081c11087ff4cd57328748dbd107bc03d23685574fee9176b2f8019e18913872590e58602d8120150505a222de2e777c03d67a6b9c712f9707abfce198dccceb7b064837e71127c3b97a9c292c97a176fb03c03c6f74dd40246022cfb668b13cae2c945d56bed08b93906f5b33bd3148d9890392d53dab0eedc80b7e3712cb969e665e9b97a1b20d15cfe57131c31a714a62d603ef79ed191bfd0fb725fdfb4eda2cb90850a7a04561900f249c86d510b0040ebb0371ee8ddeae4b368f9083a63d2488b692b33e84b06b5ae4394374936b0a9293bd031658157ec39b88b4ef399d4e60fc5866faa9cb4b14008a300b515fe531a8b440037650faed0ded8f53bbe3c634532beabe0ece95c8fdf495b493d25669d476a8a803e4d78ab3ec437f2315b188488a1732cb12a856796bedcbc177e0a30b7507094e0387ce1fd6889d6fa46511d694d1db4ed3db26467142139e182168395237028d6d03109bcb9e05dc1574a35964760f25e8b5144b5ddb15f0ca495bc8a5027dcc98dd00581f02fc6c37389cf8f11f0682f785bc34ceb25dc1a896d6e4a6c9297727c4a61d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0379e92bff728f278db3105894d306ea107a5fb5cf58ce9ce9f0deffb3e0d8f34700581f02ce549a4a074f6e3efd6241f92640dc1f48663f9aa39fc8dad42dd83f178a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffb083f57703b9e7669d316bbfd5056baee2427bd9bab1cd847016411478422d8823f10fcaed00581f02747720b9c24f476a0095d24cf4575bee88c126f336e8fbf1e31dac552f254482e61fe5037ff37ef08e086092b4ddf2d584878229f4615c852ab8d50f3d176d53c21b77a303e85066b394df908850d50f41c2e655edb01823ad72207269cee956bfbd07aeba0316bc547b34d9f92a2b5ffad5890badb219557bb09bad636602b9bf0e59d6e47200581f033b19d57098f847f3885b21700b8cbe46ff2f82b150f6eff27ce769dbae7042098b00581f03426318b15b48c61150ac5eeb71855880fd1cc78df2f5fc61f126a2191f0042694302190a0000581f02ae83d122b0023d4919bdcae02b8b0fd2c89beaa1301aa9e9e4a702e348a0450346494bfd0219e07f031235db7368486369a9fa84b0e1e35dacf330b9a757ea7defc61418d79c23626003ac12c10cabf8faf2f723f84187211c8098848de0c6422f9ef3685aa86ddebe1603e06a4e507f524a03b846e0611997d1e53d6ac52a98981e5980be8c3cd03a43c60396fbd413ee600aa02d089f3a2bc6c74cae49004e97e4206c8f7565690a24152c0219ffff031c9a938044561f7cc4f89529371c90d41c9bdc45181438d93092b2d2d6c0d0bb03fc36a69c8bf6a82a4100cd0c40f576b430c871c9b661e9e169b08509f26d527d03730e29d881af69dcbe39bfb4b03138862d831b04d25850029e1b20a22309e90f031b4627a6978842050a9b2970b40c32bdea831566a00163e9bc6b6ccb12379cbb03925481c5cbbe6274853769e56a345afbb53be73717a3e4a4c7a2c5411538b8da03832ff9e4a9fc5ad2c75206799b20aeb3093a1078c4e5784f29c6ef966e0f8946036c48014bffdcbd6163510857fd9ea5023a0e1f88a63f7be211d87983d8f879d7030f56d7ce56d64b5745ab01b2bd8288b6b4b1edeb9cf28a1dcf6d71dcf331be870334b9c9d0c547eeb31a346f3b7b7f9bd64782749a4c3c10ca2ec572951ef56cef03e9da2d0494d36ec43fd8cd827069d44efdb6ceafe62a0693f35c02d8f88a6c970219ffff03d3fa7d079bd31d9d71e2a27e72d822ab03202cae5bf4d0c372d078cbfb1ae542039ddca00de7f00d0cafd8e37efcdda18561c118049ced37a85aece70637d83183038d28d99cc4047a0c038a3ec0f1da2049cb97b9aa042c1a17926d4778e44287ad039ec4a9b26918aac0b7ef576cf63a6178bd98d9dd305f7d1d509d580e54f5d0190367490be2742762e09520a743f4156de40dcbb8eb1128747a7dfcac7c5861aad003c9ff068770dcf392c6f9cf71a038573be34b30a2aca9f856ea7e7617185d17f703d88ae6d418266e4ae539cc32fb5f3981d7cc6ed83a06e4a63a0f658cc7fd00f403a01fd7fe64ec62253f208b4053b07e33ac3212eb0c1880729582624434367a6f03da1671cb46f468bc322c40b5d6d5f772189d001e592cd7eb7916713b727e58f703f3209b8dfd8c41c4109469ccef617067fff790f9ae90600a8dde0eef8b4e604e0300d17fd381e7580d61736d3b8428969559eef6c5edc3af2b27bf6ea970f8f16803af583902d2178b8147e810692d77819df3b8d0fb3d02868d29a2ee9b50f5a20f03a7cb25f90ebe57733d5fe56887f3399c58cd382e6ee9897b3a279e59c5a7038f0379be0bc4d4b9410634b96dff7f8dd9d9081e50832313a3aeffe2978412b4092100581f0278310bc37fe2e08e5ad1afb30568c3c6328c2ca4c787defff4f9d3e35dbf5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe8b29dcba00581f0205eeaa752b339e896d639d9811a34554d373cfd7182cb70ab102947a3e405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffb0fbed291f03b97b998c4cc53374a01f587d207ccc6d0baa134d47cfc4aae57a6f0ebd40c06403a3bed6d0be1332a2daadbeab3aa75e7f262b8b30b58c13d434b6803338f9896903a84813b7cf4ec0e2fce946d527fcc4a6f3e7edaa8824a792c61e336c9d628d9c00581f023599a39cd7bb93deb8c6970ab85dc63453f4fa3d4d1aa5bcea6671b8e7e74205b500581f025ea82a53ffb9b5648fada706eea64e1c0a651950fefb709552581f58fc7e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffead8b48f02199662033953f3f4bb814846f3ec0ed4345ee314021f596ece1bb788b6ab1b96f443175c03d78b6302dffe85d9b084109d25aa4b56a508df5dbea364d736580a96d3b86b98035b563f75b6a0607facb908683419a11ec60afdbab1b2cb9484de6217b572678e039684834b9eebb5b62ed2d3c820c1fbdbeb7d772b8b4e439bd3c99f6456aa473a0314cae25c4bb2763d4566ff91d678c4d7edbe9a6f9f9c60cc889294c6c3582aeb0341dc624460465eb97ce8aa6eeac578930d678c81c939533c21f3ddee1af53a7903af289f3fa77e7003eba6b541973d1ebcba3773d561f4b135d95d069bccd63a4c03c2133cafca6bfc71c402708ee4340a39a60cf3603640509b2daa29e5ae88f2b30306a9722909fcfd3a2ab128650acce7ba7aa9d7eb17b1d8adf1ea50cf4cfc03f9039f42cdd848d144de0d76b85cac9360228250497b15a47c2dc716302c6f226e370396d9698de3d9f095e9a86dc8c1f3372066fa22f3ca55a66f701b084b991ccc690219ffff03d1897287fdeaf1636e9dc855e6a52f59d7a762b3eba70a01d9a53087a80c09410327eef18f602ff75ae6120021db686c141458e260fca7983519a99e36fa0fb4e4038415e6d19a5937056213c30342841a2cec5490e12bf286047f015d8afc16d72f035eb40cf98b3bfdfdc334d8e1d156a7b6f556322b5e315d7930c8969962e31b430364cfef468ed4a105c3f8469a80a9102b0c53c4df4207b87b9ea2057e1f73d03a0219ffff0350959ae27890d855ef0fda00c879da3e72db7ada81f598f80553b17f7dbb517a00581f02fda713af2b2ffd4dc2aaae6e3b0b063ec4cc6361d37ebed11a39fb6fc7fc45291c4d2c0000581f024d0567d68ea0628a2afb68e4abbb3f104befcf5e0801862c804c7bdb0cca4301865a00581f026a36a847442e1103083d6de6961b3b413e3e8fbf5636942c410e1c8d44994401d3831d00581f02b1417abd58937af900069058ef51dd8846b24644e9407f21853dd0c29e7c5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffc2f3a627100581f0288386b9d9611974481c978c5386dc50fcd0dbb40162f67285c8036b478ca5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02cf71ed155341e3c9309050b59c1900930f24c8da20c04cc96a7be192be0b4405f5e10000581f02b97fbcb728c92d9142e2624d1414251c5e25451b0de555003d3f23b3a3f75820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff6b599d900581f0232d40e7bbcfebd89e63cdae1167f6b8045c8f8bf3e94e445390c65976b925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03846108cdfca0c1e9c09229657d795e08583ff680bca5c47e933037e93e72788a03b424c01a32f466e7e449d93ff677f968eb5103f691be1216780f6567378cef9d00581f029f66d2fc54fc9ca4af0bb84b2c1d24c7d6ac2c7bd045f8e09731b359bac5440bbbcfb40219f79a035853f37f6094f3e837fbd47df389b5660bf7d44c7d811e82f40b0c51ad0579880371f692c5687b4cfe511d68891372248089da5de9c74e5f1bccd76054b380fefc03d2501122f7a03ba122599ce835d209f7e28cc8afcbd681a1ed34fc840814730a033832a2c672ad8a0d35045f0847168e813b0f3bec9d22720db053147e4ebd5e7d0391c54e723e6e2edc454df265b29dd253a4a97bfa8db9cf075735e93c332287aa03e2e1dadb0e9b93a4601a66f9f3e07af6f3605238546ae8eaf4adc0bc821ab22e036b7654adf9dd19399a7881a41ad66f92891b29e29585bfef8eed2c6f4ef6536a03d3113d26ad0bf8e145c27ceb50367fdba8b9cae2bff76d0878445bf3031dbc40039bb929f0d42d3ab2e4f6c4a27cd38845dec0b11af770d05b2dfdbf35b4824535034cad5d2bc24b4dcb88ffc06ac28143c1bd42e37f035ee8a19b05800e97ecc92f0397f0b049a7b931d61fb3663744a4b45f82bb420598e02c25f10972f55d6fbcb503d22f26f4e60974f8a1f2aee38bf676434bfac40757c758ef1c1ce29da5df54410337c928f6fdd673467893130e552dfadcc52e6d846434401f4c7cc9a4908e400b03e74b0a2538e6deb4db209da239431224c508d437a64fa0add9d8503139ac42370219ffff03b4332db9813296d1ee3eee6c8e512e522dce97ea6b37ad69db6aaa6e618d89dd03860290e5ca11ae53e7e652505f8b9007243c26bef3d31c9aee282c43b1f4671d03a66c142e22160f88d8f72490090463876355671ebef8cd58809d6819241fa92003e9af8103b18309998aec69d0220490d165a7ff554f0fe5c38677686728c73ae7035616cead81b85a9e6603040a631b6680fef41a98d2546cf3e6190eac207f80bc03ddba44b1e120bed5b1cf6b4ed40171262e8a626772fdc9a53fbc185a750a07270387189b33656b8bfb6d0abadfa81d87bb620234ae516f64d87289cd4cf56cad8403f422f835067e60b82ff406db38df08bc327921c8860d6327b98693f91ab109e603b17fa28b629580909c42acc677a0f5faf295d8e3f997d0bf7922afafb9219a8003a8086b0f9d83f9d2185625d02330d7559ad3b04549426560e9d2d4f07c64f238037fe722ffca4365b5fdd55c5719b78278b1e306ca44856a0f4ec17b722a308bc4030aa84e2e4dbdef244d39dfe298a18580abb42cf160fe3a8f77f938a5b43da00400581f02fff9b3af40e602107a5ce6c005da4a450996e6147df4fc3b52888d4829865820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe72cade2e00581f02fb7805ec4b7f634fb7779b3d60afc7a9840ca9184fde27b6d82bb6edf5354425a8f7aa00581f030ce829aee93fa4289224a40d74a16f0c267878e24b50e0ef4918342d6ed044025e76ca00581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b041090219040403847e8642c97ec260b8aca2e63cb97ad4cf2ecbaab75cb86e43602d6249271ab100581f0207a54ac1d33f14479cfa1708cce207e9d2d1c24b8a2a1cb69fb9b09400834501b3bdcdc800581f025ec2c72dfe2f7223bca93950750d3a3a02658118425f552d9b6c1ce22d245820ffffffffffffffffffffffffffffffffffffffffffffffffffffff803301aa2a0390295169300f0e237c68d9bfe8e332f751bb705dfd0b82afc95e54e920b1f4df0219d0b1033f9583461c93984e956ca23415d6c84c1f766a918ce2b36effa0f169f1b6609303ccb8c46b60cd17dc3f52914289c65adc4bf11b6cfa9dee9b0fa5e22a3f9dfff30367a75b3f27019ef487d14f4f82f22e067efccee75238f6fa683a105099317aef032b872453aa2dc65ca6edbc70cb86d9d7709064bd73bf03164553c4832565f70c03a4e72f919c292da1205d81b3e13e6674138f4f5dc0f865fffb1c1ed03f84e45d03764b703014d16ed6967313ad6cc058a86841f41f5a9f299c64d95e89d5fe6ca6034bec3604c90565bb882d4d169309c1a5512927998a2f559d7196c2fefc7a6d6603e8a929146cb83c72ae21f1944acb0883e35276958188ab767f68ab383d95395f03dcedb6c6257bd2423d179e6c41cb46faeb425579233ce920e01c57a69b2da9a60347245b7be3eb6ea9fa2d416780e75483f32bb779aefcfa92d9a0ed864e7d6aad0364b47f8dec4b79e4dbd201259d18f9db78d74778ec14363795fd6bce4948af24037184cb3f6417bd5398f9d8124dce82d2338019ed5f2fe282d54d10e2f37e19860219ffff031e0337cd29ed9d31e2ea3d944f0c85d84221a42fc876a5259ad37d3965570bea032b4e7638aae64eb0f943cbd3941296486ea8371e9b1f98321fba8860315dfe68033ce81a6000e463502a242d3d3b14617a32d91ec0ab1d44444d9c772e754b002303e605ec78579967232dcf336b6d4d999cfd930d751e38942a635d73d4080b542c038d9f78f20de14d9ae23291ff3857065c46b78a217fe970fa8af36ad749c5632d0219ffff0353d03526c7b93c2014f344d6c757497834a1b04f21a12de568ddfbd06c36dbc40391c33edb5e4a3e463159c1d8164ac4d0aef0fc54848f06308e1e7a93ded27ac703aac6ebc0bb3927c9844e04cb806ac789f8728f3766f0022a11f14bc360c35f0303071c94f60bb219c1d846bed5934ca593cad0a282ebbafbdf0b8bb1cb90aafae3036d596304bb78da0aa2650d78cde68b4028a12c579cee09355fca75e46b3a351b032ba64800af79ed7e5eb19411115e3b6f1d2cc69d694d11f8adfc0b3a97a229a903d52a14e540197494800ae529a13c4d176b11e39a9da31bccbcbdb6ce415197970396680a9406fe5b1a1a668502e0503f4ed505c33b8f5cbd788117334c4a9f625f037612fcf11cb27ac891034ab382445f13284d15dac2d92e5335eb023ea552567b03f85a7fff0978cce86122f969641091409ac1558b700e0ebbfd3febbecf3cf373034874a9001d13ed05f45575e1a810d13f011a43f6c6399980d3497e055263fa0703d87fe1772d68ba9b2a6bb61af048cd8bf53b971e1e863452db034b27172d362f03497a04dd0de0f1b21d597d919ebc28d44e33457b3b78d1230e15b5a326b2b3c200581f02fdd80d8e1da1657bb05894da02632b493009ba18d24c9b43c16f3e5f6b8145016c9c87d9038ac591a29677637447e5ba0dae2ae8dc4ee8d11b453842662dc1e07fa68ef5a600581f02bc3fbe15df4fb9b0526d48715eaf2080306c1d1cd791a9d4ad806b9385245820fffffffffffffffffffffffffffffffffffffffffffffffffffffffeb236c7ff00581f02a03f7a75ef427d69c42ea188c5aca10a670dd7f35cbe611f252785c1cbbc443fa02f6900581f02090306c39518c5588fdef73fbc5b8280985d258152369966d5531ce02f794372a0ee03e6f56a42bd307604278b52499ee3e96e79348ec28e69d8c0d8ee59264fb08bed00581f025d86dca3183127ba63fdd015029f059dd561295db3148f73c8292ac6c88c410100581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6885601013ee18b2214aff97000d974cf647e7c347e8fa58503abed3741c96d81798184b70577ec028daa9cd6a79cba0fbaba49fe2fc86aaa3a02193f3803f36defddef59e2a947a533123a29123574a546a7e69eba5cd6c4c012e7258aa603ac6084dcca6494dc3eacde2292e9e0d9fa0134055599dd9f1aefc1868a252edc03510e5c22b4d2b1a05130f95e09dad4b872a4d04dcd311ee3d7b93ce9273d3c7403b396a244d2a6474da87d6452d907bb2b231bf3a8f1d9cdb3945489e6841bc22c03abc4472ab59c7ae7102eb5bcc941103302340c1d437d86b50810bc0afa176743034be7d9ff2e6d84d378efd4258cf9ff58ba0237d3dbec44cc2105c7652ee4348d032796653fb4d19aea08ba0898ea8226d537f48d9a2f156d9e7a5072c3f96c20ab03905531dd2b1b6ab1c01adef206fd7312ecd1ea00044a9fa042ec45d69198782b0328a6b592737dc84251011e3bd35e1d73545f21cb47d2fdd65f70ed6ccaa7dba20219ffff03ad8b6a71d2184ef554b1a268ccb7a462899fea953fcea07495d16852df3569d1036e359623cec7ef5b1e2e155f9be4053a77aa02c2d4e2b95903490d09f3906d90035bc7f600de297918287645d60cdd5b4e047f3d97961bffa7ae0ed6edc8797d8203cc82f0e938de4d39d01111325b15d978ea5fa6c8b7b98935c5ae8626c20dde800366f4ebcd536463bc399e16c4a99f63e754a78cc5d20d36c0bff9bcea5318c82103de6b7135a2edc07ffb382e4701f287484f785744f104140ae24528d7354f7c8f03c268fb60e61de91ec81fb18da0a85b1504dbb3e4603087a94b80496ab1460bbd0372bfb44fe48d145a1e019b453a2808ed27622db9f961c410c83b52e8b9ec2511031d96a4998f0934d2f1452b4dfa886cab4650e6ceb4836b9afda2443a20ab6f870219ffff03c51cd84890443bbdb93364ec8ca441a17e63f2e135925c83942f74f6c3ec1cc703dda515ac3c3119cc2b5379786207274f36c67a808914217b08b06ba1ce3f432e03915bd4c90c9da3cbf6860c6efb5f18b9686ca45f292d44e321a2d48fca187c4a0380cd454decd8035ca6532521f2e8afe9b875ce0d94e08cbb3811b2ccd8b7ce8a0392f216763b5b7798bf8b0e758c13a018a200fe51309f84cff49431743d7f70d503c668e37c6ce5a6caa66bce578663bffc650f2795fde9637fb2e59a13d5a8c4e4039b01cd7519fffdf618251d810e96a864bb319730d5e4b32d981a4fa50cc010b503302c6b26120a066d279217853d3820fbcf0aa1bd3a9ca321057e58b369a628e000581f02f99bf8da5df86ca549251c454aab8cf5a87b9de9231ddd7ed7391e8909684349374700581f02ae56cc33c6143ff52b621aa271ae8bce6beb59e0d14a9ab4f0f9d47e268442024500581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b047016022c65f017800581f03a3d60210397e3d5113ca2534f7884bc9330ec8afba30946129e3fd1125305820ffffffffffffffffffffffffffffffffffffffffffffffffffffff8d0a4d9c9800581f03c45cf4ab0c01886233fc4fb62a3367b9c0e8e5783002e1d33f210c2b3fc0430198db021980600301b0e3ac3fd19593dfb7a67a95b27df847633f7bab16eac50d1f0f0414fd7a1d00581f02476d6442e14cc6efb8647bbbca5ace3450851390c9a785bc44b891c523705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff1bbe383700581f02536b8faefc5b8599bcbdec92097d02cf9c5b1d5556d004fbc6250b959cbe4501bfa088e003bc332c3592a619991a524a8b82bc4889f17685cccb62465bbd4fda9c0a66b0a80219c58c03a32e55f0a255a172c3fc8b5c209298194a303b8f61bfb051caf663aba6107dc603f1ea64e26b2c013b583e769c6e381a7c3e5c723e0a97c75fc8a547cd0ff58e0003730ecf0ab5c24886ecd7943604cae2bfa1b51454044f17af77c24cc45a0f5b49031eebacea5f10a492f8ac03b3e25e91530f3737b63af8623b4d1c19ee69d3aa2d030a16ca648e1a7c5ffc93a8722049825de56bc1e92858b525d4fc82a90241424f03ced937a5a5fee4d9e099c85fbfb7c55f496014708bb1b3e007394209e257b775032c41d74c63a92f83429d6314b26abc71aa219d67b15374d6935a853d3df3c59c033bdda153401f62eef6c7a7cd32323c67f32801010b184da0d1198e244c59fea503ac6cd67787a32b41d8147daaaf1a09e5764c0fb0fbaf377b2fa446af92a2f84d03015ed2204543d13fd3f4684678ebf1e0dfc15db93dd6611dcef44a3321143aa20219ffff03290083e20b36657811d363d5f971dba5882b866f1314d40209d30c7a4cd0a16b03c72010c5549033244bbb66c1667433826c990cc0ea1da792815292728a297ee303126ebf1030c3600667c60bdb930e310fd41e8c112b350ac05d8c5fa0cb49800b032a9af060dfc6bf559e4dbee9d8f963bdb073b45ffa2985f642f33d3307ffa4b40376e5fdfecf6e76b22892eae06cde1ae71802a2c4a0dc187ede0fb86ee7acb891036fc2265cefc04300c9a2d42003d6288953aa2c6dc5ac2197123b72693cfb57290318f9a7da879a2ce1af3bad4fb23cccf6cfc44af2a56829efa7c447ee14036c6103776e8edd8448198a1ee284fdbef2c945601452e01b436728b3acc46f1881cb5003a9b7d0c8ee44dd012b830e03a093953697705c21063e105773a5ac529ff1741c03106b5afec0c059daf7ba48e6267c4116b83066a37d504cecd94476a41ebe9fe000581f0296b339044ac99d4d846915475ab6faa1411848c046c3b12b98a3999c33725820fffffffffffffffffffffffffffffffffffffffffffffffffffffff8a9b078b100581f02a2e9fa027f7462ac7df7e523a53fb40ee4de895439ab19cc08325a7b64264301c40500581f0323663de8331db34a2ab9658d48e6003095c4115de16c94609d29a609b7b0419700581f03880b121e3f8fa23d78b9c48e59d6d2e755032b881bcb70fc262e412ef3c0460dbf8ac728a80218600381f84846ac2bb953b80ce794d713d726bfd38465d131d6b2ac264ab9ad80286e00581f0236dd8ed1c0fac58dc84c334753f31eb5f229ae3a3d1b8e4cf700c1d13ce45820fffffffffffffffffffffffffffffffffffffffffffffffffffffffed1d7daaa00581f02de9889245665d70546df1a74ab8784869990146eb32d7d320d035f12770b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7452deaa03e3ff65e6b7f2cae337d9f7f44589564ebf5b562a728367e2b35872640e9255af00581f02cc1d551ec4cf78649f2d8256a33c49067cd6848bb16fcc057ffb894b7f4f459142013b9e00581f02dd9c1acbed560e38a5bc4605ab088050806a799ebe2f9876e2b87c0d01f65820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe6c0d7d0f03fc510391ad12e8ae41b94cec7130fa07b73ab6d2c159a44d6a2e9806fcf7869a0219ec9b03ff7c7d1b4be483941123688384e06e0b0ec8f5ddd59121f5f3ee53c4d9a3e1f403835087ef374d7c8ed75c67e31fb0becdf4c83cfc7ef8553187cff5108d27a5ed0302438f47aaf737b4fd5d5c8c048c19471d5ed949b5b9685bc6d84a339c81748703d100922b21e8c1759389ff5c16da0cb177a7453ef843bae15cb61a8e6a5f09f1034e442d10a176b4bf7468537747a1df2b2014f940b197e60d17a3246161e4aac403bf57f6752b59012043be1d7a61320f5687b06fdbdabe594a17bb327f0abe622b033176fb3dc9f2b0a05a607a57c3e0412b3b3883bcca3761135ee5c887ecce11b103c6af368fcfdcf2f283f1a1f13cd77f11e8ad0bb552bd12628a9f6adc3bbd033203c9d24cae787b72bcd0503d15516a9d03c26b2f4bd1e00b0b6ede86ddfe47bf1e03b4973d35043a5d73e9d25ea9f164c98fff645c297fdcef3a19268d1cb0cccc510306314fba5f8481e48dc6bc8b1efdbb906c4a0f98bce43b0f274e61a300af39550355dd66a39f50a67000d92e6a353b1a8239f3583c587a2a1662d712507524b27803ce4b0c4677b5567f227c84c22e9c570ef16706f58ff88096f54ea6255fc443f903984fa798d485916da9782c5bb6f3398f1e25a0aa4839a2052addf488685da5420219ffff0341af3b0eb1131583c443577994c744059c684b59265b76fb79d0746546fa7dda03d2f43055d2aec887dd61994e229850c7a5dc70e188892bd20e6b00b6ac39d628036ae304e426b4de36e6a8dbfe3a2fd4710315a45de82d27a88439fec4b6cf8c530219ffff03090bcb10342a080735d42e62822812fea9f62f4a00822fc9458a01179d9a3588033d8bea486ba22c2cef1d8336b2d42b325455806b225ff3e2a05e27d7ebcc5f8f0304e6216deb9ea8befdde36f0367c1dcb177c9cbced5705d10b259c61a74f4df003d81ae55b7f242b4efd72710e601d652721dce735c39ccae30c258ac143d1801d035af74a5242c3a56e8837bdc34332654696332d7154fd431f12cb681c7466f75700581f02ed80626b850f15326c665312814a5de3e2a40c80fe2f8bf98e4b315425ec450d5d4e7e0000581f029a44756ef7f3d8efcea3bb1ceff108e6ad6e193a610916a429a744f3c4a35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff5e0489f50319f6f38aa3eaf86aa4b0bc090fcfba541bf8f5f93143506af15b6d345bc2c6030397baa00c3be4d7d683506f11443683cc6e4defc426e8f55dfeaee1e622244c3d00581f02a1b50eddaed98f817ea2acf5dd14237219c176ac9ac662a5e369c0d9d0dd441772f9e402198a36035641611155bee7c1e544e6e50a91c473e70251cbc62c1c20f7ef235015066d69031147f692b6cab7f662212554e06c6e6928b63480430f4eb3ffe9696d6346c86403f813697a1fca00ef8b086f6ee762a3d6f2869574db0449bbd52b37a0a3319556032f0445d46f3cf624b98d1ee046df6191bd0e8476c71145d85354e47a1148b6f503cfe4d788c491aa4941345fc3fef6a21e1ebcc6e6ba94d3e6d0e5a836c67ff4d303063d6fa8b2003e53c35590b6efbd78c9bfde6a4eecf895fddf83cd14a35640180359fac503a59df27f528be75b93881ff45225e910a6e716ecf7fbcf355f74b9cb03e544cdd26a3e09a967d914da74e0e726aa3eec79b053e5baf64867d67562b75403426162b1279af0123fe542ecb497d140fa7bc4cb443c56645d24b512423b4edf03d2b1f0b8c1d77fc9c3ac401beb40866e9254475076965bba33862f543a41d82203239904fda8115fad415f2952f1d36a225e4ccc0e3e82208b3e606e456288af53037304b25ed7c96c3cd51e5e9cbdc4147566fd0626a2e244c4ee9f1ab5de7bfb3003ac349ba03f9ee5d8603105445d54b4904acadb6ce6470a6cd763ae3f954d1c170219ffff03d8ac8205366f0f3fe5a6acba7e0359af498c94b225bbde6c8435182dbd33c6c20301b47dda96a2243d30d1c9374005bf514ba30c62966d25d4cbbfe4013a3f2560036a00779caa33d41e507ddffe10744c8418cae96b02cc2728d12631f775bcf8650360e52e7a1e69d1ce823c074cef730ba8301da9613a3a941af4e453da2914a4c2037515eac5e2a3d977f5d6bef9f28f855bc644b21e1157d1a7e072514e81f43e210315e7a682a2520d9c66d3dc57747b9e86966a67659c881c99b6f4ebad86dba8dc035f1aa1ea8cd44dddcc8240d8cbc05c210cf643905fb58cede18525636fd0f11103814e57031d5dda6f84b31f574260a85ce1146fa89a17704db676394bae096db103e4b539eb7e0518c57ab600504f1bc687146812e8e228b22874aa070d3cd10200034ff45291bf7ecb2caa067568de2f92ce9073353cd6451fcbc3867591d69d422903a53f01348ee3b4d1a4000eb1a1f7fad69c936c2f7cb936d1692607e4d9e2854f03f9788f67ed880e92c088563371fb42bb3b91ded3648b3c289c1d60495d5afb89035cd53332afe8d2a3c12cf1a7669b39ae0a6b6afcfe1d6bac85551bc11b9e8ddc0357dc06442421f63645cf4a3e2629a7686bd783188cfcbc57934e3592de889bcf03215d2b8b212dfef7b2d71b880236a0f7864f59ac6f3e948c02501f78ae3d427d0219ffff03672cff4f4501453211ff92bd6e2e9eaaa4f2c0bcf6ac81646c582cda43bf2d3803a040300ec5943783ecde588cdc037d4a9403648f605067f8a5ab0d6f631243d8032f32aa52382bda3a5e202eef0d7e3556aaaac92956472c19749b68cdd27a820c03e6d3c8b49021948774b28b419d9284a58c40f33cca449a75fe4fc9ccdd56f10e03e5f17f7bd63a5f2a7e3ab9d00dbd0f9e972d0c7bed05c5a97721e80789b6e15603875628b684c3ed0dfd50b2f9fa65ab89eba22c3a40b65e07be6d276062eda4810372f325ae430f8ee67865a554f000e3c2f2b09eea19dd8cc47ea1fa96c6fc52e7034636c9b96cad048d9c59d6efdb7f5fff6ddd077e5308a86d7769f25093006e9f03c62c3c11ac03fdcfe0337f346109cbc7144993183e79423ed628e165735b8ac0038e125852065e96b8f117b5154bad9ccc7155acde2aef1c9972dcf3ad602ab8b103342f3a36cb38101a9570070650a3213fb616bff4acae0ce0b7f9516c81ca782b031216c7f484709ba6334115a0de8ed4bcd6d3660848f263c243ce434a03cfc7a5039f0c3d19b669328a36a9a53997638f6c48b32b2c59bf42ad8302c779c0b3c93003eb183cf7320b636f0a67c53b301df9622daa7c0a67ec81a621f3347d98b9e18303fb7159fd6d64a3457cdecf161f4c7abeb3fd3b3c89aa7e515430971582a028b30303a997f4789db5f4d88f33c9b57d0ce7259612461229d347babb5f41998ad027032cdcffef4a4873afe1f94232a4e3338dd6c654c275e5b70876b8a001262790d303262761f66cb267bd7b190ac0790b88b4edcbdfd6dbd63e4749783c847aaeb6e503c896fdb15b3fff3ad3ad85a2f7d07f79bebe9ea4e0ca7a89c3f96ebc7f18655a00581f02062a61e1dfcccc9175fd1ecf3872a34775800d9575cf956d55faccb61e49447735940000581f0208a5dc82466747fc25595fe54957b38562a7d1cae0fcc9f89be4562b342e445f83a4d40349f57ae891cd42d77acb6f535718e74b2e78b5805b488c78ead36ce0b9bacc7b00581f02040302219da6d6f3b1c9c6892fd6166bc12316e59fa954d944f53404f2dd440646a0bf00581f03103e1c0c15da3fb10e09113e463efe4a24544c784887a1426932dd1599a05820ffffffffffffffffffffffffffffffffffffffffffffffffffff73ff3390e0db00581f039b78e51855c36557fe365e4c1054dcc4b8df464e0da9e866af846d48a190435fcf9900581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305820069b8857feab8184fb687f634618c035dac439dc1aeb3b5598a0f000000000010219040903b15c19baea2d2edaebf5fe475e2c398181042c612d3eb7e7f11a4a2426ab7d5d00581f020f009f86c0a3b8bfd7c4ad5f1a8c7e68fd71d3f39211778be1df25f0354e5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffea223380d00581f02dfafa6148d9a828e187c636d929afdd40eb9fd20ffcc57fb12ec07128ec55820ffffffffffffffffffffffffffffffffffffffffffffffffffffff9364bd8a6e021954e70219ffff034063cb02946ee564208c988cfc4305d1aeb04f38997c0ea672da44bf9d83dff303f644b8ec6e7fb2e84afb76cf655b335d4f140e073c79ac74e3e22fc11d5bf816035dd046b462dc91d8cc551648c853d626e729af6d1b0746faa287e3ff25f9a0ad0319027a222e43e333ed858ef83ad8ecd8adb0a229b06a96e6d976befb4285584503c89acf6e7e8f673e0557b2fc22af27092dd05d7f970e5412f7a5bf1e9f30578c03ee1ccf60777304d8cd66e99a23e19befa0e4aa6000575bbb0d2c5b9e791e2fa203ed2652ff76db2d84c64a36ff6fc853a32d62ce73b70820a6732a4f4987801aac031f3eb5a2054b13118b0cda7c51b04a16960fb7e55b05085fa8086f8730b9ffb103cf3c152b79b163bddb76d66e0b14f538f7ce66d6f37ebbc8416cc28da083d295033b704414386519208a0790e50aa435986036aad87605f72697a2d547b4139e6a031fcc0732c5b0e686d7577b793c960a9846557f272ce410321516554e6cddedf103aaa0214334fe238ee6d5e1451a673c122092e55de29c71d0c4304abdb4d0b7e90219ffff0219ffff05581d035960010a1d6641213a35d224caca8bf4773cab000c3abd26a0c5a340070119033f02190104021940040219e0fa037364ae09069dd4b417bbc96380ca2486987de6c8686465001c5a3212a4cac1d603a2f48fb312bfe4dc699808225b848fce40ab92149f5c9e39b6e1fd56e424d32603d2f00eeb86c8500f9147815a72018d38f40ed37345f3dec24cbe29314bef8d8c0399e956364a55ce016ead30c04439a3a5f5790e4c9a8b0d9cced9214c4186360d03d3edd24d91f007932110d69b6773aff58230623faac5bef71e947b7633a7c75303e00b2c84b0a6e9af0cabc8d861211e0b40c16bcbf38b9d98e210d235dd0cf93403051c0a6240e2b4d8f4a0f1bb8acf5a31f634b8d082e297121840511907ccbd8d03689c0d5dfc775cca3c38caa2c26c7bbb636851e36ecaff1a2faaf5382afc933d0307d5fc6f48da5aacfd39b3a3032af9608b7a6d81cdb663cbc098b02a476ac5c403765cca85eb4a43986f23dd83b21a96c0abc2fdfb80dbd091e99a8ee5317d5814033b795ac6e41e38f0497955441e3aafcca0ad110ba6cc63e7cd2c6f987f394fc3038a83eae72d8a56e5d8cd7251329481b36f10d9ed7e8eb45a5129cf5e414c24d5033401b67098d76d5887d20ccd6d2fbe83386c1c8f1c907567b244702541fb1e370219ffff03964bd2b56b0635d8b1b887da36ad4d04c43492d4b688cb44daadbd5c6759d82203d275d08ce79dec2e871cc48244135c58f3d6ed006e155fbfeac1326318f19a7f03b66c395efb0d17f23b971d2378687b4386e6e83880456ed89353a4920cfbbaa70361108d2db3e873f0ef18c9914a19cd3ede4c68472c965e72ab17f839eb3cdef003724861faa6e87ea39b299ec8ed9c69e4bee6a65f1d6502222628e9acecfde3cd039e6f4f5175c6e908de82bf53625b7299fdc262ea42e5745cb5903db649f4e681036f03ae1e3fa07309d9d2548aadcbb044268c9fb1a65781cbbefb2e38176bcf1d0219ffff034d0f62ba1dca4455ef9655b993a4583f24ddab4974771f35dde1f56b97de2a8203da8e43d97a6c164ba6a049798091cc44d9b897b141ad365d96ded0f0a80a26bc03b6cef15928156608e4a125ae7a5137567e40274a9c16b4a114587ced7f98388e03f14dac0a1fd09b9bb17ccba631cda77002844a8bf78b7d168d8316b5c333fff50317e9a45fad90247c44a5a938f3bdb39df58adf64304b7c4a6855af6760fdf41b032f60ec475bba1b9b5c35e1af5e5d42ea241be41f313dad9d4271f845ec79a76f03b06263124976109f07bb2389330b80131f37e117780442b2fc88ad832c48c95503e19fa596f4bf8507ee9f9efd7d791f586eac151f166386a808f00e1b338168ff039245d65cf11b3da7bd66040fbdba6e5a9fa0fd25e63140479a4026ebce3b32670386c654970b4eaa336f42dd69cdfa6c520cead36ee424ce0e5c382f49c5ddbf8a034d43712fd630e672361d0ca3b8faf631198b7662e5d9896936997b4b696ef4c803d4db7d53571a614f1c7a099eb15e42ee046fd8098a3d4bf9056c660ba8db320f0378e954f1fc419930f2de23d9ebdda293a866c52e2554a45b6f565cef1759431603e4e3f717b8fdd43c2378c91701dd3fb0c62a71848934a8474c311ea459b05645037ebc5aa712e06f9497a26fb01c9839064ecdd419a655e52af9bc17c928658d5503766ba8355704932c553df703ed3be1e52b3af794499d017770ad30256fe944c703276c9a19bfafab67623dbdb68a8c0909c0561b78ead0e3625b626f98237b7841035b37623443337c5db558d8b1fc2e79692bc146077b6858fed258950a90eafef3035a309dd0453cec74755f59ffd83a319b43af631d99cd36709f2eea7d79470aee03e2a51e03b577901476a0afc28169a5492fe28ac3b54c8297b286f747573b134e03e562c3ca9ededf6dc6d1d241a8d9c715b9550e7b327a004cfe52b64f0ea8ff7003dbc73b9eaa3b9745ce011234aad324e9a548d0f70988c5543ebd193fa87e91010348d27a550556e8dc4bf064a5de3af129475762518ec38edaad00a5635b2c2b7c03a72f6643ee3eac6fc079e7c52b26ba5c5e052cef96094d23509bf1d0b260fcfa039c454d505e0cb8d507f319a0b2652bb4cf6de48b8d01cdcb798476a9c85eb023032b7f2ddf074b517279a36c5baa8b2822f2d59624596e6799903fddb69cc1312503ef7c19ede498f028d396252d0eb067fc4916e6339b8d6991dd8d3b875c3f2e55030dc1cc4ac0d1b94842c2863bcba01b2bb2c8495f37327699ae04dae9bdc0ba260353a8c30abd9d9b8faea6cebfeba9e84acb27c97cffaff4f43eed1f9a993087de037122448213ae08eff590ab3343a39886262593140079f48a14531476a644c45303fe4c128b2c0423ddc991b473765abca7509db8f88b215cae91c42a2958f8fa4303a1a7c359339c24238cec1ffc3060e20cac2658893a31cbd7c5411b3e294e192d03a4c5498188c1bfa9911b3a3adb2b5ae225f1aee22aee6664350260000d381a4503a295d768f5498a20e459a28b950a92a7de0ce7364ff7bb2ba0aec56a055d1778031b541fcc6da5471cf59fb56a6fc853d66361c9e233492bfcc42b6afcdf472b890392bc09e30e3736b55faeb3b1513f2a4991de778dc1a73998654ee01918a6e18603269bf2e38e3ddcf8730bf8aa08cbf7b165865fd449583906f506aafc6cfb342a05581d029e925c4a883f1965e8fc038d06c0af00fac4ea266ea0412675bc6a1e040604590a2e608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b146101a45780638f32d59b146101ac578063a42dce80146101c8578063c415b95c146101ee578063f2fde38b146101f65761009e565b80631e59c529146100a35780632b20e39714610156578063451c3d801461017a578063715018a6146101825780638d859f3e1461018a575b600080fd5b610154600480360360408110156100b957600080fd5b8101906020810181356401000000008111156100d457600080fd5b8201836020820111156100e657600080fd5b8035906020019184600183028401116401000000008311171561010857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b0316915061021c9050565b005b61015e610493565b604080516001600160a01b039092168252519081900360200190f35b61015e6104a2565b6101546104b1565b610192610554565b60408051918252519081900360200190f35b61015e610561565b6101b4610570565b604080519115158252519081900360200190f35b610154600480360360208110156101de57600080fd5b50356001600160a01b0316610594565b61015e6105f9565b6101546004803603602081101561020c57600080fd5b50356001600160a01b0316610608565b6001600160a01b03811661026d576040805162461bcd60e51b8152602060048201526013602482015272496e76616c69642062656e656669636961727960681b604482015290519081900360640190fd5b6102768261066a565b60025460408051631e59c52960e01b81526001600160a01b03848116602483015260048201928352855160448301528551931692631e59c5299286928692829160640190602086019080838360005b838110156102dd5781810151838201526020016102c5565b50505050905090810190601f16801561030a5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561032a57600080fd5b505af115801561033e573d6000803e3d6000fd5b5050600154600354604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015268056bc75e2d63100000604482015290519190921693506323b872dd925060648083019260209291908290030181600087803b1580156103a957600080fd5b505af11580156103bd573d6000803e3d6000fd5b505050506040513d60208110156103d357600080fd5b50506040805168056bc75e2d63100000808252602082810184815286519484019490945285516001600160a01b0386169433947fb8c56202a5ae8b00edfcd57a54ec6c3fb8d2f6deb3067a7ba11408a7bd014a3e94938993919291606084019185019080838360005b8381101561045457818101518382015260200161043c565b50505050905090810190601f1680156104815780820380516001836020036101000a031916815260200191505b50935050505060405180910390a35050565b6002546001600160a01b031681565b6001546001600160a01b031681565b6104b9610570565b61050a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b68056bc75e2d6310000081565b6000546001600160a01b031690565b600080546001600160a01b0316610585610765565b6001600160a01b031614905090565b61059c610570565b6105ed576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6105f681610769565b50565b6003546001600160a01b031681565b610610610570565b610661576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6105f681610818565b805181906002118015906106805750600f815111155b6106bb5760405162461bcd60e51b81526004018080602001828103825260468152602001806109b46046913960600191505060405180910390fd5b60005b8151811015610760576106ea8282815181106106d657fe5b01602001516001600160f81b0319166108b8565b8061071357506107138282815181106106ff57fe5b01602001516001600160f81b03191661091e565b610758576040805162461bcd60e51b815260206004820152601160248201527024b73b30b634b21021b430b930b1ba32b960791b604482015290519081900360640190fd5b6001016106be565b505050565b3390565b6001600160a01b0381166107bc576040805162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103332b29031b7b63632b1ba37b960591b604482015290519081900360640190fd5b6003546040516001600160a01b038084169216907f649c5e3d0ed183894196148e193af316452b0037e77d2ff0fef23b7dc722bed090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811661085d5760405162461bcd60e51b815260040180806020018281038252602681526020018061098e6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000604160f81b6001600160f81b03198316108015906108e65750602d60f91b6001600160f81b0319831611155b806109185750606160f81b6001600160f81b03198316108015906109185750603d60f91b6001600160f81b0319831611155b92915050565b6000600360fc1b6001600160f81b0319831610801590610918575050603960f81b6001600160f81b031991909116111590565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906109855750808214155b94935050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734e616d652073686f756c642062652067726561746572207468616e206f7220657175616c20746f203220616e64206c657373207468616e206f7220657175616c20746f203135a265627a7a7231582040e3e513f6a2216a170736f442334495c6419fe857b0fea3d982341523c18bd464736f6c634300050f00320058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630549a6ebe7e2a7722f8200d0ffb63a1f6406a0d7dce0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0542a187453064356c898cae034eaed119e1663acb80058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60540f5d2fb29fb7d3cfee444a200298f468908cc942005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0549a6ebe7e2a7722f8200d0ffb63a1f6406a0d7dce0219181405581d02440788fbad526ac3718a0606689de6e6230b969c2b60a7e872501a330701190a2e05581d02d2fea7551c4f8c02cac5838704101dcf3cfb0ac184254b5ca58db8e6084702d82b32bf1c00021940c0037c6b67a12368499b1a72d048a0cf0ad5d3a307382769966e1b1f407af7a347be01410f037bc52a2dfab7d5f0599475cf15f431c6fc5bd1e276a3d688d9e479932bfdf81005581e03ec01ee68df62a7c7ad7bf272f04b355719c3555c3f6cb31e7811f566e0040105581e03d6d4988bb4209d471863f2217c8a45d42113e6205b37ea574a3621f000040205581e03e7ab879401fdc0424896fee61b6022e65480908e3895fc4faf51df8bb00c02462dc147c85790031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e036829c1401fc35e2482c5a17408cdf6cad0e0df0df45e3865f296c0f1a007011bffffffffffffffff03f62df768532dcd96e7b18b77e283be8d1270dba367a346d62018e53170379dbb02194be40219ffff0345035d3f767675f37f67a09d7e0ae44ba3271015825e9dc78e979f7059147e4e03af70f5f40ef69fd7d4a548dd1bddf1222466b4d0b4aa1c13c8711c68e4aa70670219ffff0391b5218d35c45477bb476ba1be350c7b7ed99fbb9cbb4ef28c538fd9e9d32f8e039956419ddd970eb87480f6f2a02bba0a458f559513f68ff02957e31b011e0177030c4f5584c7926ad319e3f47bc4493ec57fe4e6708bd2778cd8baa7fb6577b04e0219ffff031d10968171f8c72d80803ffff7f323ba8cf57aac9e3473ca166d654e0ddb1a61039d533804106750b519a2634fa7465d2b7ea1dd9e83ccc251ab3e3783d599a56a035eee69f31d54034d725c45675b84eb1f95e7f605e8de0b5cc205394945e3b48603fa285f264ffcc2b14edb070e55df19f4329f37573244d9091c371ca58821d74a03e22c4813fd0cdbcc5660f5f784dfffbfa031b3a2d5c1efa24958e7f691a9379b03ae8c3da7d47eab622249b70ccd7bcd25e64fd63555bb43d313c87080d852f04e03c4d24e59fc4208f58f8f2f5ad941bc26bf6533370a670ee0103f153a97838a5403417df727fe6c2e8db775a5cda2ef6c4ed42ea56a1fa6f23acad24402916935660305917cd34e1344a4e07a038f0ecce3872d6b31c24e7830cd243f3f93faa84231034aa51e6d90cfd311f97a2a015b5690682c5d442c25966af7dc9ca1a3e43760fd0371ee6f5cbb0512e5f71581f9d202d812a428eacbfdde99cf767b8a8195eb03cb0303446176f5a34b616910ce62dac30463bdf356b5f0f48b8ac8a7cee628334834031366edc00177377989880cdc2b979e842681c6560e10a1235518fa6d6c302b8703df94c32f4de9da01fc6610170a02ec99e22b6beb2bf233df518db3ad4608cd090328cbb93d0d2adf70e4d07dedefbb827655cd5c0ec49c8fff7bbd1178e200aea603753446374694e3ffa828d8cd67f098a27a2db7df1b2ccbd1a313fb94f94edd6a03816bf2bf2384d50a0dd15f607d2416c40ce01a45858f539c70b4cbb067fa9bf1032fe5cb14953a584e1c5357401c89c6744a25ec1657f13146182b7953a1fa64d503ce4850691a9502cb4909468a9658048c2ee44ad00bfd9f9f2a3561f22d14de2805581e03a7f52325c1cdc380f04adb02fb6435f66b531df0a382586d877eb5fd000403034acdf4861ce52f1734cdbdf455d212e7bd6c2f864214ef578c7828564bab075105581e035266bdd65a653c6e55a7c39ec817d645040ce9f43ac44cc8f13573da200c024701285a06562438035dad15a003871e9eaa5f122f5eeee7956831d53d84f29864c47eed887a1519d705581e03e2ec1e7b458569d4674800f28ebefc6d1bff9b4cec8e175efe5dce98d00c044701082c170db84805581e03e5545be85440471dec5d82d17e733309d83954c689b7af48500a50c3700c024745e1fb81582a38035c9b40d3de1f2473797cab6004167b943f62879102a57d6558154b339602987205581e03a82e667dbb4ce1174e43576621dca2f6050a0957f5336bd4112b84a1800c064702449d32d2fa5805581e03ae9df9b55b6a3658f10142d5bdb41f3037b58d0b1ee097a210698692a00c014681d15689810005581d02ac66f8618d0324c85c7a99495be954922273e16c8c5d11d9f830c27f0c014706464d6029280005581d02e645c85ab090acec6156def5488b4f11391ec0d8710a8a3d663355c40c1830470532a646df22a905581d02886284c7dc3261558c72baed61268edaf8a49902c96b626e7d50c39d0c19049648022c365ee22bb4370219504002197dbb034693fbe8d71aa4ac13ea518b813e0cc329f9e4532e5a314da4321033488a7e5e031420ec46d5f744f22e68eed4a7fc37d54783492c9b5be963396787daeadad7db03b5d3be1d2336f22e61ad441e6229e50951754db1aa8350dc10a27902106eebbc03761d4c95c30003a218c09d00c8cc85c2beba6e5a046092bf755f9621c0df379a03b16d6826ff0422fe2d529c3650a3785479e09d3fb7aaf4dd9794b6e0e7246bbd0349f291b1ead044a7ac643b1093789218dd3e8529e194914ae29eb58fd28ebc52035dd72b3878fb20acc2033c69bae81c8424cf1ad08f7386ccad7eca5b17bb22ee03622710facc09e831212e9411bb23e0da03ec05a921ff94a0e4d225adc3554d6f0315a98692dd721830d22fa61ba00dd24c4112ed007d9c8ad5beda0dbbebd6fd250219ffff0397203dc7095b60f501236e64707197ca048af13746f618ce862cc1531293e412030b63e5300553c88ce22fa83f4c98d626a4ebb83564d96781f6b160c2fae4a4130376732e352720ada06a8e7a0b160a5ee28eef14cd4d09d1063a8954724873df5d03bc4f35967ef618710c4663a29516bd8ea97fae2a9a57ba5ec270d3b39238eda4032e0afae613d1dca9fb73780c6c9fca929caffd3916e0b855c65e494114863193037ed2902d8caf8626b17cf52f6c3a314fa4d5777dc6f6102faef12893c27f6369035bdb351d6ae5edae888417c5d589504896ed737b69cf8a336a83212b053b1f9c038be2d0ac8d47fbcc7904afb8ede2a06e87ad683090942365da619c165827c05e0334ec1575c250f515671dcf9c50f791a7c5b7ea92c944dd8834741f9988583a6a0377bebd67a8f6bcebd868ef9d44e8647062b9bcdc21a4acfa66b54f9fdd7f680903676209da0e7e334a3d2c5fbf9d34ffa71f4885f52366f400ade18ca23607080303683d1a92189d1f58c75a584964408e9d4b563d69ddff07eb8f1ca4a647279a83039111c7214035a9cd53f5a447631f0f6c01fe13e542821c09138a1702b9ef16960219ffff03137baf9038906aa736cb2a9de81de83d2b5db0c2b2764cddfc09402d8323ff3f0332bce3a6b11f97c209e3ad6eddfd7a764d5adb95a4e5c0ec124381a3b8e3110903dd666ec8e0034ec477fef3e2febfa807a57eaf5e4846b0f4885a967b56906d7903a721ef1c67531273d9a5a067eb62205863e77efd73fb8f6dc1b702608eefc88803e739a94dda896892e3bcf2602868421a38092dff8ef7a03f09feab58708845f0032c9d065486f9a1fbdcfc8df470f76d2d31cba858c0f4f3dfaa7d88b4cd72e72b03b0e07f2dc309a2df936c509e9777a99dc3b3507a6af1e947b05d9fcda18bc19e034ea79a69a6b40edaa2ad7382b4a40ff0743212fe20417e58aafa9cb55eda171e0302bb28559c709a357c8f96510eda7bc6f538fc2e94bac5464259255eaeac91f403869766cb8553229fafbc0fd636f0e0129072d4840f83f04125a9e8afa7358eb90363a5d6ee991bc9afccda07df776b969bc104e676f2088b69f9e7d866554559c9034c6896c289460d35991a76b31dd2082b49ec3e98de719aef10347e15c8ecf52a0219ffff03851759b69f0cb9efa94dbc1b604f67c117133e366e52db013690a64d0665ee740371de723acd054a03346d971a7fcbdc128109d2ae80d5c9e8056988bc01618b24030ef1ae27de89a3a2c61741e04f03e8d39ad2ce833d3948e12fa88a5d480a975103e922e04e1f018092e106e674a52d094c688fb6cc945eb95b219dcf5e1987bf230364682d0d1d88c7631e272fccfceda0f4a78412201e7893178de47c1c6a50b40b0301ba3535795234febeeb0fec82636a7d086e5b4b91c96e7bb49a572eb8f87c230383c10e1afa26896e78f7f9a46c1d6daa413aabdfad946ca007ff273f9044266b03337527673e8d90415c242ed80db5debfb91b45781f591b88297a13a8211714a603c23eacdcf15cc3846c0f003b8e3a007321cdeff4df7224c90ea4a3517a66ce120318af2ccf0c262654c2815a558dda7715ad40e6a961fafbe1688ac18c44720c78034536dbc47b33e9c8826e499d0b8b8f9f756196dc5b67b132c3a23642a51d8a19031e09ec77f61faec9d239bce04eadeb00631e7fe106509f97be77e72aec7d2fef03f0cd8625c2ccab6f10013623f233b21c4cef8bfb3b185e6570e9ea2ae9dbc0ef03db9f03f66ec566e66a35b37035d54f68db1851bc788021bdb29964878bd7966503ef988fc024be246e83c9b6fca7e9f0a89694307cc51d599e99e49d4c22c7688f037b79bfc7eef24724d1afdb664fe085daec3629a8f82e5f383d1737376edaef790366babd682c79e98d2187ca2f1705c7939c5baf152e107debede11d002f1fc66c0377d4e79c6213856b68053330289d9b5cd140aec614870c8006a689b8bd1ba422037cfa9707c5c212d38d133d0eedfe5ee30d942db1769d16d020a3fd0212fa74d105581e032b2c37e423709b903cd90d5e96fd756b794127b9d6db27ab3209220ad00c02470163fcc13ccf5805581e03b9311715827d150dcac65c98fd60b74ea8d835e563958a28f3300228100c03470294995eb21c8105581e03c1902d462b2644423c2f3b9e1d5e9ce8ef93d5345690e9e01439d522d0040105581e03d090ff8b619bdecec237eee981b980163715689d205bf2377e912178a00c02480160f5639dca500005581e03bf7ccf07fc26f100ba56f53eefb217ba5d2041dff646e0e79e2d8623f004060386f82c48c65ddbd612f1f1b23225b3b76db3193eed8ae5916431805f0ebe24870219dcf60327eb745be739200fd6e75b1219635982c79c688c029b283b2dc7d9d09f8e813103254687d8a205e5e09f52430c1a2847e947341222032437537886e8618f154f6003958c38c24f738bc226dd26795a68e5c897e4a4d1c03e479503e4c488e4b257d303437ca6fd70380bd4d7beebcd08a1b42668c2c9a2cb8c275e04c4bf1b1a7dce8d03d429927a12e80b75bbc04a05243d0d004b4919140ccfa3f3a6ba90d15ccb07e4038cba7c84118cf80c72c2ce3ab6e8992b6d6ff230cc0eacd9a2c2ffbbc28145a20372a6ea1c7f7aed5ccbb0fea4cfd0c5bb1effa811c1e9b4a71139bac282efabe703562a1b241553dc1f99e7913db03fb9a2690f856740e5be7e7c5818df7df3f89603b1379d80c2dffdd6368295f24928711a1f5a743721dfae589ec0f08c62648df30333ed55982c72271c4cddd24a1012075a5f9f10647ff4983d8dc6c70046145b890219ffff031bc512d5e035ff6f5d98c4c0e6323a6098f52998142e0331d94ced29189de683038bdffa35e792a834b6af16931a13f623a50edaa8367980eccd876ea671fe21380318f99531f0bd16ecd9c91cce7c3ee0447b421ce2f16f7854dd440b37462ddec2031497c21c1e996f61547c246ffd323d14db1dc2295eb8a9df9bf6eabd67687ec2034996a25d4ca5f65b269d932a4b448a2b460d5d02dd21596ba2edb861570cfbcd0302a65d077c2d2994b2bd66f9535b50da6a9aff9e569a13c738ab5c8d3f1d872e03ccb6cae78e303e75c078ff3edfae3dd26288efaf816f19a28f3c7a31e382126203c413e167682f72f2cf8d3624e8563e1841a0640bb7d366d88972f79b615bd94c0399d4b4c704ae42be4658539d4e56ca7a4712a12d6c9ac0a8e41aa7a0e9ed35440330a1b84ae6b6c01740b9ec852284ede8a2eabe7830a2f549adecbd5ceedafcf803303973dc7ce208d16b901e63fcd735efe2cbdd38f3a6542df71b3033a723874e0219ffff034b150a7419f4f834be11187d76b982e7ce2667e2bad08cb27ed7d17173779868037dc5f81d28a5884e387bf969892e142136b87f9d2f0bbab433f36cb2f2aaf8720351ee2b7151b2e578d1eff08bae1ee21b9e1579253385eec23e6018d8e90869c4031ee1378382faa5bf5c76bf00151f25cb15a343ccdf416b37b034b06f56308e2803f995e1e675ed5a9f0a6598b142362a7cf868b27db1d057e5022341a657bb86390302e971f3f8826d01debad953ab0c3f3bb2f9b3816fe4e1a9944229cabc5b450f033749795f711330201e3aedbe504504dc3163cab2f21705aa78d02871b71c243903a728685539708c04d8a1a361a4774013361f7629dabe7543239c69594ed58f8f037cd515a0573260a575f354c97ecaa32eb4fc79cc3f938c3b06acba615517c9ca0356ec4a0629bf25c84cc7f6ce9b5e3c1dd349af073308d61d858ce2dfff0ded8803c20c0a6c196056fe9712fb7514a6f822ddf12bdd27fa7da6686b48204fcefa8603c345a35f15b16b829835bea6515b2f2628e0c56c5eb8c39aa643829a2dcc13b90360390bf43c44b898bd5f4cf0aa9d52ff9b207f0930f5c52a064fac11fa6f55a5039a82bb68cab907e66a752f539ba8599676e2f8753d743f5bdd1b24c636563efa0335542fdc41bd92ed0f3e235c12c8fa00d308721d0ee489671934f4a125197ad703bd1452bf4721e2e3ff7f2cdeaf7728677c099bccda5dd4eb9221771fe38c8bee038457db45c1ae7bdbeda06e147a66008fd1e9e49b4d6f4c98cdc0cf77277c3e090335d353ec51b9d4c2ef3f8ec0854505c13c988314dfa5ce2ce46d7afe2f07162f03b389c044a882a85fee61fb79cf64ce7d1d107621e52dffee31859267a4f974a303293ee5ac17db8b0e2fc245edfa21791d9fcab7231179a52ad656ca0ed1cad5e203b30672b0a41a2232676ecbf87594a565782a8735758026407f7c08731f08eab40341d28aa0fc3be701eabf01de71e926d45432f38d9e47ad1b47807615365c2af2039d6e4be529d2a0254e2a7d152efcfa0d571b968dc5401a00a3a798820754fc5c031a40d91c4abcc5ce2807f7197be9d72d4e8a6cbfe1d8ed8493e3dd593e131ae5037e7a75cf523f5b446549b844f91f8380b9c9b27a72a140f624ee49f852ad6daf0349ed162f8555c354242ed3c30cf7dbe2f4fa310e0622a95e9e032b24665e1cd703341205e709e1a80ae15859b358bb8d614b8a611d04b1096570e51bec8d6511d0037033e49e6a69c433f3b876bee6205f35384b3f5b6c1b459ca1b0d751d7a12c930342f70561f47862a46981ed59a87a700a2ed2f2900f88e754fab2d7b117d0a658032eeea9f2d0c0c81889e63be5cd30f51e9d25820b54a3b8480e2c2a750f8d1878036d7481ff02fdb3b86b39417175bf1876eb016bf3b098c42e2dce2d955541f03003b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b00003490a6f01ba432f4f0589d45bd824e6230fd41e59fabd32a32cbd99da108ceb9d05581e03802fa313b994254b64154525600b9c32826f6810462af0bc8bd356ecd007011bffffffffffffffff05581e03b0d2faff54550593f377ebb32af2e9781fbc551093884d55dac593c1d0040105581e03ee0228885fbd4adf8ace265c78aa5e245e7dca205949c9c29b554d55f00c024654a72d5589480342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e037b0393d37972495377255af0a5e42f57f65fdb929ea27f78c92ad21b6007011bffffffffffffffff05581d0209d50a485fd7577edd157fed3cef98f41b8e09f2dc724495bb911a14040105581d023acc0ed7fd797754cb44c793293bf3c75ba7561c4745ebc0c13ba4e80c190db24a0ae73d02782b243e321e0219011005581e0347a2e805316da7c10c7fedbbb56c9a58bab99138af3b79da0bd71fc160040305581e033e154c68d9912a04dcc8d0fa2073d8cc658865e134f054d237c0425d20040105581e03d8f3442d9ed62aa8548f009babe16bc28a8c3b6e81e56f31e17714cc600c024683cbf448a0000219f1250304ac3275224e027689e53901f46d74c749fcdda76623b6a19c64878cbd966fe60306be81658cb1da70175cf63acffb795338187d933d12cac4e3ef01d2e5b2f446031a812d5327bc6b2eebaad9e90c1e11a28152e144ff7b0a7c24b9b5bf4ea226fa0219ffff0360a62125b5f2c7a2506a28c8a1c9ee20b7616f47ea799d9fb03d3dc862e6907e039aa52a106f46d8e71cdb40fabadcd5d33b7533c6560a851e50d1ef7ce33bb2430322e5fabc83b6032d88953c8db72e05f915fc876b4eb7a605921168279ccbd39e03dd903fb4926b43f6a7343c455cbf757ad5a096eb938e6c568b4c602a3c9fe89203ac17975f3d113d89f749d6208321d102a17eacbbd51b7c8ffc9fc94f4070cffc037fd13dbd2e723612f99428da05cfbccf35b75df4fa9eff003224c5e4176d9e990219ffff0371ab06603df86b0c6e81cd86811cda771df4d1ff96fccd05702e85876db544c3032f5e8f89e386003cb4114fde459ad50953055f8e059db45d742ed8232087ed540330183a3d44dce654e0cef76a80265ea07340be212035d9105dcf3fcfb9a851620219ffff0219ffff03ccff817fd3bffbfedc721a497e3baf9c8cc226487caee2ce756bce1943ef493d0343c8bdfa4d00b002233d36f5696460cbe21f3f2a9a3fd7cb930c6db04b3aacc6031dbfbb785c75da46eb593d976399537be8e1d836229e7ae8301e571e94001ee4032ae794c4c247da80cdb9973b3edd1a1b5f95da4729acc2ec9291f579b250c3e1030b4eb69f33ff9db40ae4596d31e1b3e5213198209638faeceebaca5366c587750378f0f627ef91a0bd6b118ea4e7bc77acac8c7d9c818d2d320ba9559a5e188d6a039e8eb784357f1ac468d0cc5e7415f8ab1b69c4d115f37077e1e4883ab98c3b7e03366d1291b80a983825f0f9b8a7a5643f6e6e165694c172e236e9f282aa5e599f03ef15f7424f54e2cda684f9319d62c9b82298dae8582350cf7ac00eb72fe0723b03217e5caeca3e3fea6800ed718d1464e8357b1c427e6a189b5e9dd4b622ea1a53033a1540469cfd5d403d1676bb41686e534ac1df216bf2409e48b87ac0636769b0034668b5d7379ef3dc3419f943d88977ec2343f076cf34bb891ae08bd24830b0b203fcf94847caff7c8af02aab85796c1d1ba9012bd3f398db3bf848e6d9f5af4dbd036faa9697b21cefaa50ec6baceff10b98804226c4a71073760b1d279ea0521006037bdf3d66c61767487881e476c59fd48fca49cc68fcb8238f1c1117eb9440410d031d4446942cbf715d252a71a82ff5db335cd9e79f411f10dfbe5d81a099d4567403902e44e88f5c17de987bde0b2b0c1b15e791dba02faac9520e669bb4706b6c13032b6ba68b6cda3a7e6698fe89a8e3f1fe91f0b92ee34fd223472dc223340059de036484027eab9aadc56f016053918daf96deca5b4e774501d6b547516dcd5fabd8030c051c34078195590269145844d96c28c78e72bc623767ee3a18880ef0a5da56034509029a7b3a2bf33b9c341619a759f9926f4bf11e0baaecfa51effa2e16deae035a0e8b68a90b7859f94887d26e869972eefe5874450c20284502a11008bc29af03b437b4731bea128f4281894dadbbcd38114fdd4897881c030e9c053dbad6b25b05581e038d895ad8d36dea638ad7207730af950c455c74e1051d149e12fcfe7b10040103eb110fb14a01ab43c9b01ae1a6d8378855ca6a6ba71199e02d1a519e34fb723903ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03f2937cc511767016ee2086afbdc70f45ef9bf12d09214fa5c30a4bb24007011bffffffffffffffff05581e03b233814d0413a050d5503997996331ba0662a3e96bcc1adba9fd22fd400c0247021bffebcc38bf05581d02cce0bd978151af8e52b0408e76c470491736d51e24f87858d51272af0c0246aa161c13b50005581d0234472bfe81fabb6dd1723b7c9a5ac791465e1e6b42252bac3d2ca5760c17482be3d51bec6dd7430219020205581e030a2657025e5703df174e95b4905fd6f34d680f6a381e61efdaf953d8f00c024725f4d24074cc0005581e03d8bcd573fbd6ba074c814595acbd0b571fee449560191a524762097f000c0b472a29054d8f7924021921e3033bbdd3069eec09b8f942599f92e4b054a82d2178cf9e55bd0b7dbfaeafd1cd8c03dd1b43a8c5c8a47bdf84ef3ad43a358e17d855532d19f30e28b2fc9de009a6c80384cadb1c15f4bb27fb495fc546fb90f0cb014ee87d76f1f8dbe0bccceee4ae8d03d7568e3ee24736d0e0ea8c6ccbe080fd9be0fd1c7a1ecc24d09c3f6747ef244603b4c4e32a3c00f8aee8d3e88d1f2b3375a4526d97fc0285133a5094ff703b28d1032d03cd708d7ff02c10a89af5440c0eb77f9ce4c57dcd5eec81c7184ce3014e7003868ee51c5c5384d32a593674b42786d35ee63870cbccb35b291f7d1a8a3bc6bf034a20bd1d97daaf4b0bbb6b1e07e944d5272bd122cd2146aee4417f6d1632dbb80311cf42fcd830ba6d64c87283dd3dee3157ca85fe0ad70418759406b4c000a2be0312d50f008cc0377afafbcefb8829d679eadff1b9506c86a53f739df6015eb1e00366572981dbb756d017767f34c00462ad4650de9e4f1fc52e89f9f7ee56f5bcaf0300a06c2ed9e51517a97d8dd2106a339151ab08c766b7b6b543ac36a2410e8a53031689655376c52ea3122d3844e9758bf01d628ddc82e27c70ce80374cc318d3cd0384c82e4dc154f1ecb196f5d6be8d920fa6ec6a851a5b61a6952485e7bcb9afbe0385c536dad16cef69e77d2c59d487eca45bd8797d92c0c12f9c2ebdf8573e84ea0219ffff03bd79f01fa4ebe8f0d4a205293dcec511676350d87755927a6b2950496f551fdf03e5959e1f807e41aded08bb5e08a279ea996f71ca823e37dc177c4226b05196db0219ffff03afd2b2f547035aa284ba381cd1c2c0cf59573300ffb6cd7c7b11a13ba26217b703f5dc67d4d16dfdb36e0eee3078a115124fe1d47ecb2db8a9f8b17d6d720c474003e2f329a5480f8695331aa9572e54cb62185ff7dbe8bf77c7bcbe0532a5b64b9a03901612144012e7b9a9f2af11fbe058887db86028bbbeceb82fe74ef208e10bac0380982d6231efcdd01c718dce325edb24f956ef1ddfb3df0a7c86be4003e75b3d03e8a96f710f06abd2f304e7b331bbfb3d25bc3f508d702ae8efe77c323c34781a03128dd4f58d1e2cf7600c74c8757f4348fb2cc99ee7537c27c1fa3ba36868a5f60219ffff03db465821bd39c9487dd7a78beef8b6280152e0a61c1ef429604a1c2738952c9d0388e1ad6dc7e89024feae403d09bd2eae3245ebed060f01ae9186c8e9987c5582033ddc05d8f1eb68a5704bdefbd4364b7303601f9e1a2016509e4aa5c02c07a252036889da9ee29609f90dc65841f1a9d9b93fe14d146abf9e3b0bacf9473cb1b24e0374605c36a977c576a3ae4adfcad94b9881050aee7a42a33b014d9e03e74b9efa0355837c8eefa8cb7e84ecbf8c298a2e5aea74f21b84b1d034d3ec641985da9bce03b0853dd304906405dd682b0fa3960c8b1f8be1fd469b2d756d50712cdbb468160324765d3fbf3c743dcded3c50678ccd2d3063333d6cfbb03014281842669953e503d22f5b7ed4304d68a607573097d5f1ff1916469ca946a715a014d7503512ba0c03113295b3a1771686bfee773c226ddca84116ee6008afbf3d59193f3832f54cb40329cdc48b97dac575e36013a51d6fd27870b62e39a7deb26871ccbd9b20b5a84b0392bb2a8129878f3b84d22bc75d03f9d3d753170f9d0a9e2a0e751eb33918e2050371037ccee5427f87346eb3d16d5774ee91b5cff082853e291ba098612668864803fb2917df972b6ecbfdd394438505bb44cdd85ab8375a8351b4b2caf3cc96bf99035e83eca6a950b0d35c0dcffa00e6b37bcbd67cad5452bb4935a3ac6b456bd2690350cd8b1001339fc6b9393e1ecec2354574e7967f7695d4b7d4c9d6bd74f51c2403236041743eb04ced907585ad4f4a65ffe602d2ac370b4209057acd2ff78fb33b03da221787712a1aee82908e51de07fda5155fa7963891f664634dd6374f7a8e3e03eaeadac4fb296dd60c73b22a289ca0cd2f946e65e283180d3ccaea3c9efac1b1030ec18bac8a3516c05d987a104e7c7a67542d7d233e570c3d894286335ee5ca1403745a8b3f7180d2379dba4af1273a2ca3810b0be725d12f645f954f41abef7f8103cc37c56b10584f78caf8160cdd545ccfaa9266eed5e7a241453f1181b4b346aa0346009dd2403c64f047cdeaeec09516b2dc31f92c340331141bd4342202cac4d8038047680a28f33318fd583efbc6baea502eb8b0682e6c87aa51a07de78b7a7b770344ae851ac1507caf3d0779144b8dbc311af9bd1bc422bd73767fb089b6aa6b920328655928104a8d9ff1d857978c46592884216a6308d74c5ad3e434b77a93852e033c2c751b5935d93e7df28c7e9cfcd82739b935cf4964b5cc6c071f2dbe199cf50344e6895416ebca00a97b61dee0bca962a25215317ac5840233a6d5c39669f99403c78176c2ff460c1969691b24d1ec2b5d1515d52aea690a62f9bf69a6c8a2286b05581e03578970ce068da256a7a832be8bfc8a64d7ea2c1a8dd0cba69c05474ea00c034703bb3eec06165503a47a9286203a461c407e26a669fbbe52934dfb964ffe7a2b21278e1d48d3196705581e0374e9aaa5b39055019cc2253accd2d437741ef94bb98c327e1213084c30040205581e03c552f90b7a799a2690938c44e2e7d474668628756284cc53acd6365f600c0247010ac9c393295503e2a9811072f9bba734d1a612322d22340fbf496f772fdfa6618393a1618e361b05581e039bfd3261c100dd49ca791d45d508e8c769a7dc347802e2bd884b77c1800401031752607e5ccd7dd77f9ec73d6d8f14b229b2b0aeff2517b0d6467f74f8dcb1ed03478c6afcf7eb2c77464ed8a25ba90dc5b15fd976b66fbe471552990256148be20219db450359fc8abc26a7373e6d950e649e5166dccdc0e4ac49b943fcb91bfd9c436c1fe903f1074da9822309345daf4fe337fd95cda5cb21dd0a494211b615c5962888b35a0332d6d14257fa3ece273a688dba9ee55442a385c67f70bd96f211ed2fe255b149032286818cbb7e7f11c1c40c433e27470620ea28e53793c3e9f4f5b7f2e7869da8032c947000f2f3f480bad2c9bb33674620c6a73003a11149248836d6e26238901703164de5974f4faedc7c74f2543283d841231556c63f880924eecf0612a7c794db039ba762f3659fb4007645ab2311d50df532e3e56cfabfc9e954efb72f948da8930219ffff03fa4ff3b7aadc71f7575bbba7e1d030881f8b862de65ffe46714e47a14a26c8cf03056ba4a33f4ca26fe035a4d2e3ac7041220ede1cb8b543a2144d7b9217515753031bb3ab16bad12c790b2234f4f908484b503c5a04a10789fa05f7fada869c04bf03a72d5c3fd7ca86e4d3ea3f52061108c56a7074b521d2d4d1273f60f9cd72be91031e9bf7fe72427bc7c2e4e84811bb25339b01faa7beb8754a42a2a7085581c2ae03e18cc0480770f28a5ce6ccef01e90f3ea4d581067920d78e8435a9942003816a0305c73411e5573a4d2d6c9302d0b3ebd17aad29eeb59a31a8a151ab7a29a9703303b37d063bdd3d77b8dff3e82421e240902e3bef45660c19098d0b1048a8bb54c203c3aff465dceac08a58fd99471ad8cf5edbcfc1fa8a530b305f8be99d79c7e662030873e9e1ac7c9ff70ea0c729061f66a5bfbed5a7630834e5658ef09809bcc1510219ffff03dedcd53aa5b04e13ce91c361399568c3a9c575e9f5c1811279f1aef9c67f9508031e3e5b8c6be28a0343db719ccec3f58f9853a72929a999e117509ea8378c97c50393f62d017949d797a05ca50efe4ba870b4de84729fb29fd77cb2c7328c99324103634d58dd7a9b02936d9387fd0995d725d16b6e7c0974f78ef4e7cfc2d01c696903fe2f385e16b0f347cdea8d676bf1b4f602808ad7eb0a984b185a3972e9e5cc750396cd1c8dbef0bfcaf67a240dde11a796bb5e4aa774a6702cd069e22db1374e0f03442796679dbe2a315ff89e86dbc589f29b9f860c7c55690a60860d9b9b7d4e1a0219ffff03b51ad33e4d1fba362af4896ffdb4638484949acb3b22b3c58290b279dc47fad0034ce56e3d4aeea6a76ed0017ab8c76f3471b91883ef1e500a0ab7443e0032b372031f243b0c787442fd402feb9ea1bc11212f3494cbf2fb536d3f82c053a7406cc603e51c55773a39bf9083e6b15de566ae30e9b88429b583e2ed65daaf0e30771b84036d87074815a9ecfe8624c287f6be39d8aef9acc509cf63b4ce8ba33d306a32e00219ffff0352b6f7c7baea5da5f991bfa76bd07699408bf373d6255b62c685c78f3220cbe0034875cb69e09fe6820a8b7c5debbaafb53a768842f69e948f19ffcdbc4816b96d036377c0dc8f9819f743bc789066d2452e8865dd7cd224e3649a7c8c7487ccc2ce03f05ead5f45a3403e8cc33917986e1ef305df421cb5332de67b827afe507964d2033788f29fec93f6a0ffecbf4d3376ef7d0afd1bf293954659d683fc49c059fc5b03f72582eb1c3722cf9adf7029bcdfdc32eea52b580eef5d7d758eaa44b92b2a3c037cdb3e17d26348b3457e4dd3d96b196ae884df0786211ea81200a3536fdd521b03e2c72137d655be26d83a9039c6ac0640fe162f545948113b8446fa59dbd30503032b0c61e26f6b31304accb59235fc8b504067770801b0067dae40ed9d3c3611ca03221387767afb6f956f4cb66fe062041afcc2baf0a432bb214524cbfdeff44a9d032dd3b3089ad42e7900d2778a68c7a48eb68b445cf54e12766386b830d8a8599903fe356f5986c04c6df3c371dbd0f9e81047cb8cf2b64e1fdb4c51f573bbeb0da4037820c3164f5555a0931921e7e578d5447a18ad16b20848af0f08a8b242fdb61703d1927654c6a3c32819d84c0567d99c442f837b26bfad56f73f1368dfa020874303a2d4fe1c96e32f31bf8ce3979508c4d52bb8f8bcfeb240497f03448a01ae8af203bba55700b4797a24104b822e8c69449942087afd326cf7d12c61ed3aa5a273c603ba116c38b123ecfd43a6c587ad5f427d06aed3c85adc97748f578422c34fa85f03842972f150bee6c1e405662973119cdfdffcb99d72fa5f36e60f87c586029b5c034d8e1cc062f6807894980834c06c757fc0a4dc8db5f891da7c447d39f152811a030ee93493107e06ae661c9f83103d258561f7e3b2ad58a619b0ed9ef3d8016162038ffbbdcc538f9bbd49b8ce39e6e5ba7259659a0e9542b35b37a4dd98c7152e410385c226bf8c45aeb2f8f100bc5ad337181cd4b6451b67556fed0e57ef33d2c26003371d70ee46ad4877940569c65a85bd16d55622bffe5eee4d1905e4ffc049434603c3e9c88c1a39f181d58c7b57e8553f5ea694b4905783a3b9784559d89398169e030c4888a6669ad85d90a6822af12b212e47347221648740c0589ef3342663d79c03e6ffee3d37aa0f170f9fa7e6b430be2f3a974a7e7216c76700a025e504edc19705581e038b6cf0dd3a9f3dea1b7ae8c256f5770c2ea47b83b276c1efb18f2982d0040105581e035268ce1cc2c95ad8c5484bec94bae0890da91c1d2e4f88494b618734e0040905581d02e39692abee0a6beed29cd88da42771185590b8607c19d6aebd3f9bf70847b3b1d393bce04305581d02ae5369cc1413564ce39f9bac94ef8c96ed750a304d0594b72f690c1f0c0346198eae0eb978021105581e036441326c07e234f05aa54844f6324fcadca294e28acc09a657a7b91d30040203d4f1b9a5b9fd8c42fe773f91cf67bb2bd85994b143914a9c9af96e1739f5aa2003c8b75deda04f8d8c41257645a889ae858f449ef616094d872e963c9412bf2f8605581e0350e5eb16049656b452799d6f5c8ad9237efd8be978a7d363cf62c50d2004010219b9a00390d050e37ee1b290dd491a67021dc0615901e39c61d0401bdaf83a0411991bd003df9a40116db0e882cfbddb0cb3bf5b3d93d84e9d233bf5fcf6fd5b218b8e2670034bd456e2d0c2cd060e8b23605270e5ed128607e3e5d7415742904ec913d60ad10219ffff039e8e8a3737491723280af21e8ec5529640cf5fa08c7405803e2ce0ec8bd11a7203a61cc6f2943176b45f77639756faca0585c4636044da311fa30b02a3c9478a1503df24819b9465d36354bd6aedc6dab36977f3880d066a795c35df3caf3d3d545203d51b19653c0e9113fbba1159cf1e3dce051045ac483f130ab0115ad71d267f7003773986c5cb62db457b894082d041798f39479a3d1702df5bad1364d8151943eb03c05cbae9d04747ca4f31a8ea66f6cb52a9f71ba52c3a43285ae0b37c7d6934c003764796c3e721c4466d170e418ca5b92da4d75695853a0156dd69ce296ebae08a03cf3f74750d1aa35b936adaad1e8aaf8703e5126f285693732bc31a02429218f40396aab1a42a909b2a96aa10dcaa162a2b2ef13844ded007e494e4edb2837d3cd80361d0eea539ace0fecc6b51acc7b36dfc2e869042078ada11cf0421c4e3f3b79103a2e69681dbf51aa6018a0ec26474c5f7e327420990de4686bcb7cf11a0030856039a7be9c7b7215910153e61dd476cc602348a3cb22bf4152d8f20d0bd5a304c680301f67ab733f2394ee0800f83585604e2192242f9a8d4068ce0b7e44eaa6aa72b03efb5be3af5983caead58c0419149fdd8117703235e342a39b0acc66d12e5b71703ff71c3f9f31328d052c0776498cf5f93a595d5db37d2f57436b33d956026b3670219ffff03dcbb5c745effd39d520dada27bf27d0955ed91102a3e3223ab1401546c44cfa10219ffff034c9dba28f6766252f6059dbbb02ed8efd58c3e8c9bfa8d96426c202641a476b003ac7906190dde394d4ebea174f7da67196fe924d053176e29981cffcb551730d903b0133606dd39fc63ae434fcdf30fcea191cbe4177189971ad2618cc78cb99d970352718728d94becdbcea3d0d1dd5f6441eb2f0825a8704a344dcb9c854027a25b03bb649285c60c0dab996a71266902aa00bd196cde0e269cb017102f5f5315cd780328beff411491754b16ea24a3e3ae885f68ccce63d99965e08726007c67fc1ebc0359fdb730285e5aa928295200463d6e3f03e69fa31a941fdc46ee94c80647139303ede6d511525a67f9d6294b59983b245b095ba3891f7f6a22fb7de545570b5d1c0397ab4da6ab31bc61025b8b98b50f514dd5e3cb332f024eb654967a8b38c46f8f035a4185e147ba2d13f513eb1f82fc728ad4c1d058d64fa39c141eebf110c69491039ae4e5588d47d7a8e61a1ec71cee89ee8668bafd9e10a3c1d2a8e1350f331d0f03fa370df93609522270ee0b95f78f698cb81ae9b14be054bd563ec16c7cc9980b03bba6199ba8b599ac56ee2f35213f26d7d79c3529abb0bfda6ad9720ae3114b2103e8b16bfbe045b70048c9e5a236b97ce092e8ef679add353ece47348afcacf9590383898489557293dfeff3b4efb423727cc096daa5e5baeaa18c6808a5a281097203062ec1f2302b6b7f79fb872d27a6ea8776f90141148c081844644d8db9fbacb203ca5c9df6fc91edb3f85918d0adf1807a2c9ffff503cb8baf675bda75762d41e703d418bb2a69de88c1497f764d39596abf312f391586e973b00fb52e2cf038458803de2c60612740955c9414af15359e59c9d4805c15e207b969337ee163444e6227031d12ff22ae0bae6c4bfd85ec6f642bcba62ed76937d33a8259239258792e26f2030b0cc9e21a954ede934cb77c5d40598ba6ad30c940a2093909115d5443402d2603530da52d310e56769e3b5c775c07f9221a8f6fc5fa57f7117866cabd5aeb59b1038829a41113c81014cc79a4d2ddcf909e8b2f4da8b72eab2f4ae9e4e00c80c3c4031c2f33664174d9befcd4860d105ac774d8028a4fdfefbe4de3bbfd13be2ef54c05581e03db6bc5657e01c2ea5f7fc139493f02b6e7487034d8c246fa7119e3ef100c01472e6d812286a4c005581d02893d2f9f2c093f1cc097d388feee2665755800f3fe589d9f62cd48580c19054a4816b7366e07e5924005581d02f4d79761bacb347ceae84ed993c02af28535c6801f3c6d6a9ed54c82040305581d02e83c140b8683c3fc6f20cc1b40d424b9cd4cd0b85dc8000d4d069d3804010219850003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03c06e6fa0c434385133a81e591e9317fd554635e8d0e464db0b6b2901b007011bffffffffffffffff05581e03d0ae21d7af2c91f8f7cc6b6871bf2896a7f44df06bf3a7e22340573f600401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03e20c7fb735d5e82e397dc9aa4e8cb984e620836d7a23a6604225551d2007011bffffffffffffffff05581e03007e284beb7d869656a9035aaa920ad366557e453853094d5ce32abc700c01410105581e0311d0f287573d416521d062da43927dca00abacaad2f7abe29c0f8abcf0040302191d3a036246d938bb290f4694d007acbad46bb23e9bc7681c70fa7c6ae7b0d68417214703e35fdeaba2ed6e8f3932c6c2b6f83bd13c9789b74592bd0c82fe3b9420ee2883035d8c0246c18234a68ae41e61c27944439a581878ea0f6764ad5cee8f0e0ea9bd03ac0c7b6680cac38aa253b74755a12729de8a86b8ac3eef95e8aff53b3a961786034834c0569262ebc953465fc50379086302cc63c05564b46f96897685c7d92e32033ca4092df6845de401363765bca4e427db7d87c7fb41108ff529c627230f887203c94fa8769ba3c2af248099bed3f1f343a9b59cc9c844e01474622bafb8b5fb6203219ea054246dba0a643626f7d4d0837f70b60147755ed19bc6a1dbadebd00db403705027af14a521aa9549c0aba13227750cb8795a6a30d1709889c1173e2da9350373a468bafee0b9d021879dfc3a6365566e0a4b49ca474c9e03cba718ecc06cd80378272346cce361acf7e32d6a555c65f304c1aacff0a7ee11fd23bfe959f0150203cab17f349412a7e062bb4eebe0760aeeb60a1f2023e91cac223cc08b38980ebe0219ffff0387ecd57ab2aba297402200a44a9d012c77f6db1bd947a399910f0e465f863fd703f3bbecce0dee70023a24520b80561482115642d1e3d72dcf143d18f98cd79d5e03a5b012a2d26d296f5a29dc150298297993b860e2b070503cdbc2fb484650073803dc3401a8d34bc9fdbf1e15689cef69241b623cefc609653bb608d87fb54c563c030a12a07fd5085ad75896a9b2c839cd6c6831ffd8136170044df4ce50cec03753035e46cecfe6e585233d1f7650c5994b510d4b18d3d1fa7ab6701b973c676a442203ee4200f755200e87c1ea43f52852359e3dd94d0cdee76459984064d27ed835bf03f85b621ef6fbe53fece04cfeee3b35093e156b069a9ade1f12a741becb37b4a50219ffff0336539d0d3e831d388b3a7465bfe307af1bd2ea8902e94e6ca34b9ccdacd3e6af0313eee11030369fff08a6860f586730ea0076c394e580a56963840764d399d8810391cc88b437967daee1bd76a7e9a7f2d245f8b7b75542dbc3303ef4291522c6ce0349fc4515e689d31473a42143f6da9ad3ad8aa86a69ac2f56ffc785744d6e92ca0348287505f02be1a08048cc7b01de69be339f8c81391000abe999cf3b9989396f03c73814af4ac2c5c067f9299e4ce3f2a8cff050cee0c5dcdf7496677b4330e59c0219ffff03259c0979975f13035999d706c0a2f29114695f821435afd1320f50dc7bf8bde803b1fe09304492b4471ee6bedeba45bdcc1c49540ec038cc9a2399d0b0f122809f0318958472ca0402b15aeeadd95211bd8941bee6618d741ad98a624839245a8751032a06120ca7ac254f524dcd350aae01443b1200c881699df6a28cca0735a979c903a3b0614aae2606e6587b4f112491959e967db15515a509127a82d3b7d345048003dcf399cd816e8b6b4158a1a3abea537a83f943b3ec56612a90c1c79d185d0f40036b48ffbe9b337f1431739a5e7367fd957626d567a0462a8f7c549358a65a724f03f64a622decc87dac9d147deb91a4eccdfaa51e98706ccd99f22327a44f2fddda03f7d3ae4e17219834bceed2f0334130c415f8f39d15f5f1c8fe4d4d3a48fa0e010346ec3cd0de33f5153efcdce08bcc07652cf515aa342b4b2f0d42d1b7e87664b8036ca29f48fc2ae73d9242bc5bcaf52a4be5cca5a00f82c457ed18a17dd9b3dcd70320bbdb2c00261f1fdaa9ed10ec7357398f3b63b6778f3a941ca960f2919810c903ae5b3bfcc1c8aaf0fccdef0b2cda0cdb9ef15762ff6877d76d66b92992eed36d03973c43e22cf70ce17ae29adde08b2ed7a96a57e47296f7aabab12885f8cfb8de03d15628b4ef07966ffccbbf03ce8d1f514341c041634b4c120f5d74189d9d8329033b2296b4e930c9e0fcd28091933b41c20771ccd052a9c5824b53b0d41d2b22d60355bdc70b6a63ba1fe098eecaafc6f0b8fdb49030c4f3826231b7c8a1c37372e603fb0242da108f036230040d56b59f6ddedc426522afa37d4ce02ad2842ba90d4b03260bce63b14e01de961da5fbf97fb5fde3ec5ac259e423d936e510b290c0431803b298b9a5fad71ecbf07d3e3d4eccf603847d99efc0a383b06b85dc24f75f54cc030be6606383a1e3786b7c0d7a0fcf5fe223afa416cb1a4bf70e4dfd92f510f00e03de80ff3927cfb06b25bf2f1313261d55d9deed06fa9243cfb5a99655202db37e03a30512496a8939c7986d57f0df4b11334583a372fa4d4584b4cf77d2347e519703ea3e5721a5ac49b6a2349e8aadae617e790f097ff409ad5e4ef7ef59996a2b9e03d753d32edc1b39a5f610818d5c2b8e73461e0268ef2f70d20beef372bcfda244035b852be0a3bbb68f778bfc7cd802d6e20a50fed9b498ddd0870d225eab6b1f080362ce558f07c22dc8c4010cfa95257cd83e75ac1014965927c217204a58ea75a4038f9a983a3bb529164f0d3a8dc0e73d9c3200ccc5ea5f551cb19d7b45be65852d030acdcb3302820131e7745c8081a8fa11cff547a8667fbd59ab5a335b167aefe503d6d22c8134b5f9bedcfd384a1202083d0fa0eeea34c5133c3b6a5fbe6a9ad3c90372d6163db8f5078b617d74bedaed26d73a259f6486d685fe145499d2e278dbb6037908221d132595994d9eed36782d276a097409937cca7b71834389e7bca723a5037955f85561297b8e3b4fc53bfae1104f90717e8a0eae09a580ad8f0c5fdbfeee038f7fcda8c3d9b6ff045ccc6b1a7aab19db15cde1d579fb43bc86a3d2ae45879505581e03530443d05114debfe93f19b9c2ecf52e9eb9602f178d55639a200ecec00c1893470740d218e6d48505581e03ccdecc895396f8a562b58a2c8634b200038ee98ef460a9e940968f2f4004030374d912ac99d2f0229f61d90948f46e2e5f49e16ba34c4a91ac2211c38b1e575e039926406953b1a2346d5860e1d6003cfc69a51645219d5ec2e63f8b6dfd2259b605581e034e3640bf75d9afeefc336bc3be87a004c821bbbfe8944cf7fab1dae200040103a239b6eed1165b9ffe29b883d7e980770b3c9652c5cb633036e4a11531cc56fa03ced3e65992a41d261c4fe26cedb90c6ebd4074b4350a58ce67a0e3c223e759af03ae7f45c85b7e76be75e146c1bf8a88ab12604a2039fbe42e6e9f56fcccc3ea3805581d026bb8af3f003957af8ffa9c867bebc262c28c0592dc0ba610e5d9f2a30c0947647528c8a6259705581d02c5d78207fe6b8a153a7732301e09fe897dfca636de843212250bcac70c024772fe3270ccf4b40219402003f4afe73c83aa114b24615e80a128595b77ac9c7447f244eec35c494d98e5b01905581e03ad7ea2159d3ee743e62cf0145afd093018ded6548b93e92dbb112edfb00c0546e0dd0c5fd00005581e03cf8adc311e56ef2885877c5834fdb23e6f32bacf259467e025c198e4200c034701d582a0fb50000219fed30321ec6c42a56c3d2f12f6edf3e1416f6ccf63f5bfb7e3d68a36edc9382b439e950347d775880acda507a4fe70e577eae52db233b358cade76a5e1bc94b439ba0c980342cb368db12c3aa141c166c7c8568df12e5ac90a435c6370a174d8106bdc361503b73530312745555348698e74d7b5df1bf54fee6d96601ca881a4358e9a6ecefe0314110f0a6b13531d9a86da48ba4e808290b1e60bee4e796b7f6922bf6b2d0c4b0219ffff03d73b9bf97abc2514260078bdfd5cb1df67b3a33c86291abab3580f1e64d26318030eba1221ce0a80ab710917e87f0b585215cb4f19036f0ad699c4c46c8d92c33403a630abfae0ddf941a6101b5beed1674c937388dcb26912135937c06e45e9c2f0037179e61709184de7cfe6e6ff5d884f977d1cef7078390bacd86332c9c4b3b5a2037eccb40e04a6b51fc9e1d91cc9ae228cf856b11398a53dbbc81988f3a09ab38d0346c7f79b51cda02cc9a363d558bc1e1e8cf1a117bd4a5c10bf02cffa28f3412d03f6a3da1c43db54d35e79b724af4ef1df68f22d9fb978dcc03d348b9f9b9895c90219ffff0399a4a4cb69f29d90ab61a3e6263ab02b75a89679ee411dd2dfe4e5d1ab7d1393031f46e54ca0be740afdd046c78f5ad13023f6de9ff22465b2d45235bb9fc4eb4003439e299e092174bbb16498813dc827ee59d5f379e0be9bd43ac4f7cac482158603edd06357baa73d04301c99fa3dc96343f08bb448c7410866bb09733e440f9493038e057df15663433bc0dc0f539e218d08fe0be8835fba81d6e9d26aa9e4435efd0370cb35a119d52d1e5d4ae5dd4b8ee81d491c69775c0e7f1e75e34fdb93726f1703944eeffd1350a4940bef972ed2077b71be6f83cb237b4e7ffb64ecfe23a13c1e0219ffff03642279a5111254506b7c6211e36a95a75e5f26159d0ccf3b5e3845d4532d1a1a0219ffff03eeda1192d39e1df01dc5f9664af80c3a31077a798f4fd504a006ff292a255ef403ed7006f66f202bee5b488e5493b59d96c9d1fe35a1d87e10c3fd19ee8a201df903db8b804d1fcd3d3adb62cfa87f04dadb307272005aa6f1c6325a346210489d1a034206fbfae1f0b49dc9ff9135136e1f9a250cdf4de1222403f114467ecf1e4d1c038548b4c26a19369c5aefb254fd1a680f320bac3034ac37d7297c1cf4c256e81b031c37b9430be52c455bedce7051fa8b4a0502dd3663271c54f13078b7782e19b103cffebee66935a19abd11fa612f8a044ec3637bfe2bde16924b89971501c98ba803ec378209ba6f3b9ab4f13bca08f329985d58da1e26533b775428a5109c4a9da7031c29b80dcc94cdb3524146a0995bdcffbc56767ca5c565be08d0941f41fbad4a03a4ff5c11fb64273a512cdacca960f7ffd02e7e5115c37fdb418cd7e3176ea73303315f9ecd5d4b484832c27c577e4bfd01cbb47c27d837e3c5512786169fe6674e039382a0ee07126beb44ac88f498755f66243c36cfb37d7a04f842ef5063c9242f031307f8df6b04d290892497a18d8d40c79f9df3ffbb98c56bddcf16d0ae79608e03082ca600ce960e3ca03ce93b60a7214122249002f0cc4881d76dcb1816dc9fff03d43869656161b7d71ea8f5971e4b9b424e4529aa150de67b89e2b9be0fdfed1a03138c816620b0f563a9095ffc9d77528c03ebba1971fcde36368cf95f2d8b335903b01b5c9d99486c364391c6f104086a405e21f24a5eeb071954ea9fa73c3f968903b70f1af1395436dc784d47291ed72350a741b9e54851a6cdb43e3b2764f81b080302f115d4e2e3228136615da450d35fe9669c97a099dd83b0d0e0f636682910ef03262fd55c11e2ceef64cfb7fef93f92e2ed903fae334834f4062d85c9b9ea441e032686afe115090af1970866c406fd56514e6dc2c2b8a820a8fa1d0642c9bff70103c0725700b8aa7f5d3871ce32df7da7a257fa9cd408a9515bb64b4db1f94e443e01410903da3d74c37d041069127141a7cf175babba610079596793e62dc45d02a70c3db103aaffd2e3ccee5e91f688684cf744ad9be441de873d80d7e00e8cc0febbef250203c4d9ef312e15a5690d1a2f67c9d86503dfdd322834411c51061596f5bcbe7895039632ef6a44e04b1f41d89e08a88f5f740c6e2f3fde1eb1d486b36d486133a02d05581d023594d7dc9f1bbce898c8b3948fc0f807f312ea3c0ce94958445c93420c0247336fdb2fa35e0005581d02e2ed1171b4f4709b8cdf84c14ff6eb14ed3b565654055548d56f9a690c0b463c9a55be931802185005581e038a9630cd0a793d0b2d0c4f4666e1467fd80225d30f821b22bba03db3e00c0847457437b7e012f003b016f4857a56df917f5bc70452d8cc9676b9f8e7d5cde4ed0b4fd3e6deccabaa05581e03b694733ea69e9b8d35c0e99a2f55f4375ae088adde0985790a9e6be8300402031ca0b02f18c01d52c6ac327ac9cff8b633c20b1a5e1521ddaa30bf9f558470a002195ebd032628fadeac39d81813b8b6cb35fe9dffe2abf7e26763a184458757ab8782f45603b27b9287d1eae31f990ccae66a392ee29bfd427055a9f063c9fd24455d759a8103052ea26fdc1dd72b46755bcd5eddb09311edfa7d9a241c4aafe151256372b2430387c689636a23de58615c59ac3adab6ef191ac4a06e2a8299b62c4abd073afe16037b0a135ead1a666b421e2c2a2b0763804bc2fe5782ef07d2f6f807dc8f388a1c03dbb56669319a731721f5d384a8a649fb6401b88b0a5d7f62b6ba8bd345b7ec4d0330c6bf447c23b09a619bff6940bb17f2d673bacb88548db39d721c3816389fba036a7049c7b8b701527c915517a58de3da3e1917b5e8aac29573f7575b9d2797a0030ba5632dbfe22f86fd0ea80762f9656c0c0c902edc766aa5947acb075e7f2f040219ffff03b3d5bc1b43c0e32d58d4ddd215a57bd09d5090682a1f7cd143f0b6cd6bd2121503852cfe5cde274b3cf43757644909ecf0d84c971e949a33938545a4608048b6c203cfe9e0d2e9b044caf2a5c667e05cb382418e5213ac624ad4ee74e118df4a071a03c2fd23550760ec5a8215d8b3f4ab511db31b4087ef725f8f2aea27bbd94df0600219ffff033c2e2becff598eb58da7e664d31fe8b1079553a2851c99d303ef9f368e64c54a031b3d43aae6d85067f9a76cb25a39d282eba32e809efa8f17de23524a4b6cd93a03d9c6df75435641b85b12db53c7ad931185953fb4d7382f5e6161cc73675c41d3033e56234b9d49a19edb753149e84c02db8b624641fe6dfb866d0d74e647e800a503d5d2b764b641d1c5a6b6ca68d39e75d46a7795e9ee0e4dc20ac5021b3118c286034a64f0ec854feede44c7f155556b946915006237d392955c3255fb781bb5579a034630982765e239da7702cae6d77f6e1d02c82c0e9987ca2a9e67712ff36873ab032df168e22106729219b263d8490ad2e0586250728f83874d5cbb5ef6e0c80de903ece3bd72c6fe658c0ec90dccb211e0bf3cfac8dbd81992b0cf1ebfe3a6f9e24103437a6ed66c6ddea984d46195135d8b858ad7ab107370a386de42bc1135abae410375201bd04eb4e6c65cba3c949ba439a20c49d7e8d896cbb3941bce3399a1bdc1031ab3fd897ef5713448ac86bbc86ac8f79b6c96f866341c98e6e230b89b2b415703917bdee76b2ab98ebcbc8046cbefd3bb301e2af76f26897017a14ff4dacea840035aed93be49549e4a272aba02df6628aea830c109db2462b5ef576068264b95dc0331abe775a302432abbd884fa79f0feb38382f2372e0643a7f1d145f7726ee9e70219ffff034a79c84d8f2b1dc3b4c5363ca90f4ac5e3f14840a408ad93bd68943ac8a7dae203d8b6e244a54d89e2c8a5c45ad21d2c58d65f8de1b63fadeae6b167672db227b103fb8da055ecf4ff9e95d2d2c05dd7b091bac784e88075c4ad8313f66933d5f4ca0360838af89dc7e22a1ddb3e08529ea0a53dff091a15e2f801c0d93ab6b098c452038b8826663dacd907e41855fcfb34a54686795695716f9917e0022031c83aa14e0344890dda32408763a976b707bab4f3f119c4cff2ed47f2d490af6112c5392e8303690bbce090aaa13044e757de67339abc11c9bd9392163bc11eb31de55566cf3003e23b6aae1716316c54f2ae36701e9eac717a2b3fc2fc80c7b9506f4b88f0bbc203526ee3686ef8a0a87eb4f685455d5cc5cdd33ee4099617b3924e3e5e5a12b615034834c6554c871e35b3656a26d94dec28c390cbdf1a603648b6faf7ce82c593360322329f16c2dee6980e0bbb8c5cd281b392f92e0bdc153da0d1abcad3cbdccd7103c2cca65d7f09980f2169ec75fb665bbb379aeb7abe7c5b1214e97dc5a7a393ca030715585d9c82e1178538128858bcb17f6f9f09cde7a45373ffe854e6124e139b034a43fc9dcae50b77541a523168bd0e75b3b6cc37d091c780afb038107c9982ab038c7e35dd6976cad0996bdfe1bdcc80b451c9e008360bffd3e06177654ef9c8de03fd56d54f9b824d412ac4f47d2615fcae5849414ed2714e47311b707136f438b803107b6ab68420fe284f5237a6847bf926fa18a339fa7e9e1ae5601e7346a861ef034578dd414577f9a88d4c02b197d8f427fe4557b71f4088f8ab1e1ed7fb02554205581e033552be09fb3efb9de72fbd6bccd577de8ae0ba1ccbe7ca1a651c3152e00c034701018e00276fd803ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03b2990cfcb9f8cb1cd0153ccec8dad7c24a53379a9456caf4014a2a6f2007011bffffffffffffffff05581e03d0586ccfacb172328d884460a20bf4651e34e223e10b912b2dfe9a76400401032553c7d1ab68c76a0e8e8374002decbf040b7ec9bbbbce5ab47efc7a4526ef17036f4425e7d9e5d30ba6a0f07487081fa797b1d51ae88d4812c2069a475de41f79036433f701e7bfdf6d7985905680353185a793bde6d2b64616d90100a63f37a4c205581e03bac476c467d07063934d195655ee1e48626bf2df8ba2a88004bd3d8c50084801857b41e2771ce205581e0342e1cd6372b89b188ac7758034a012638e1562a4b65483a259c07caf70040205581e03fdff4a33daa97659d1d839ebc16422ea2ad1c4e2c48d39a64da42424700c0247018dd71bc39c000219f07903641c11bc9cfb5bc05998153508d5394bdb4d7886e4c07cf462943b0452be9d7603550811545a162be4744ad26e3ad3ebc14ffde5dd9d1985094e597b27848787890355dbc9681496902fda0a48c91a30a1140f1cc6f0470e98e275bc87856b25c2bc03d0a795cf74ee9fac1ec922f2e910d42e07ebd30c7342b3a43f12214a73a1ff1203d293188ceee94f9895d8ecb14f4fc260d4f13f4d7547a392a4acfeaadf02f5de03d8a26c0d4ec3ebdbc27228e8c855d992be8a92c4956cc241db3c33de65d9854d035ebb81d43beb9919b3ca3168f782dc8334bae67bfbe66eeb1f0d064b4f93f1f80323bf93570bd39482704c4d673d151195d097853e17e62114287fe8cdc69d93c303140cc6c48c43099e3a06a2987e7e01b61adb394401ceba6dd624be554bfb3940036d0ea9d7ea3e06b9bfd943269a5476fd557f39f4339773f579c3b01de07b797103c480b1847ee6ddf1bad32e7032373324b1d13800b604bdf6a9aff9d75e5b03de0219ffff03806e34038d9baed24c7f7e7e6a80ee6919a68a3bfb293593b7f5a33f654533ee038eebb97032de2ec76d4cfb4b8561e5a9a28645f5dc3480220dde15776dccb72603af701d0805cb0641684d922ea0b4834054a56c732e3a4a96e4afd38bd273480303e8770928b9a4fc6ee7f561dcb134c408245c6b47ff055bfb75156926d6ee2515033949700c1216ea02358a079639d06f04b389e4dcf7efcaf3182ff025421ef89e032589ec8b496fb9064d2064fef8602cf18769e26aacc90bf94d53e04883e4508d03e1ac303bc33e4033a73a6c001fd9f5a7343603ba694cc3d9dd9949e6609f704e03fd84c9363d082bc81d0a4dc4f0127b75a94457bfc07234989bba6f27ea2c7d9703aa57980a12dcefabc8c1be2acbe6e736ad7bf417246675226b7bb91a2130a46903ec9bbd59b3d2b67c10e57b0cf8b098cfaa0b17af5c87b990eb909c7151323320037707456e2d31390ebb5e03c253897ca1be761bde9279b15285ee7ae287e102f103ebd6e67b23dab37e6176ff30db461ad9a6ba5f049a203f47f83e7716852545a003a901f2d5561cb59965cf9720db328ca9de640ff6c47edd9cf117f6aab9b801dd039a6d318d108036d35cb5fbf523326c5ab1f756e7359a42b15250dd8eac33645a0219ffff0316068fc844cd981b877934c775a7e691350f157df73b44c4ce60e0392e074f89034b2e40683a9ce7b96ed202325a8d80d7912862512c4b235dfc80e5b35cf52bea03b6aed1b3d8af6d87b6ea5fe541d17dcaaefcc8ec5c62c6224358ec3259ef756e0306df6f5e255451545c23e254ad796d372ae45aadd10aee0122e9b1d503419a06032d378dbf5a5e47cce818478500735f967401a96aeda3b4780fd2a8dbf85e301103b91044544a14d2b7ade4d09f0ea6013f0a55cab19922e1c24439401d2dd9adfd03febca33d346c21e72edc5e927ac4058d439c20374c8beb0bfd0420eca92b1c52031196d9c58abc33b440ae906b5da770687da34ea2cf8a2203a928ebd6c7ed1d5e0330ffb85861329927281c8dd050be9fb16ea81437e51393a50e9950a00b3d8ec703a9f407246be4d12ffaf7f4878a65eb48b7e6dd5dc4f6d5db536845879f8b9414031e7bf5b828807bac24a00d570137909788d74d7b7cec13876f7c557c14f3f13303d7dd53371abebc0bc956726261c927c36be3e552508d99f0903f71f4a94a653503e71a95934f0aaa80ce18a46555d596d6f0acd09251c00c75e4406de4145d5c610219ffff0219ffff039f0962870f73b4216669b6f9bbdb2ac6454a560eff4226930adec269dac2a6fd031df53a9f7c3a81ebd5689c471839c35730b9cf6509067aff38daff0b02d96dbc03a40c8de7e3e52da63f15f023181218065781815e142328179b4342eee0899ff003cf907253191d0d0859148a65468ae070f5d46c2b6151fd57838a8385d5968c6903ebed5b6413e223964854d67be3bea8e075ced7fb0a596388adba7a0d03c759ce031ab61956b21357d7efb59870fc0e1d597296229bc6c7edbb89af2d70d73eaeb50318addf6bafeff62deb798d4c24a3d322f57873218a9554018bb839f6f87350b0033f746a6f2bbfed866c6d322f02035bffbb13023c7bda8470e42072991aa95cd6030c13f349952b9b898dba448199c1f494b4bd7a2327a7e27c5964a192a99f81c003c075e2624756b7470f366083e5c89a63259fcc8470b373b56e42e54e1be1b014034311a59e3d98577eaecd8b28c464c3a4a63824ac293dd63151180c30ac169e9203d7fe195bef9d2e3484477fa9923369374950a48046d4aade82a9aed111e95ece03070627cead05de012830507c0732318e59c48c490d53f6da954aecaa69feb9ad038cf231f943d4d476bc0a04bb059b0dc77b51214e7825d321d39a8c6fdd8286100377320acc16620c16eff14d2690afaa9e215d7c4a9ab38075e8665c3b28c443e0037c0784458610290a8258723888ddd40b59c787cf7bc9df08ad1fe490833c07c403bf359f24ec6f0b52e1dc2e269ac0b6d58141355971a9bc4a1c5f81249ac7075c039397d6c6c775aa3db2277aaad79e98bd839bf15693f41598d6c1bf6de79d601003e758fac168dbb037a85a7e35a07d0e2b3bcfe31df0c9d0d092d1359005dec19c030d24f4380e902d2e9c2773664e5f87adc9420a67a787791bf6b19fb0793b342603dd0cb9d89503abb402c5a4f5937c7a86af78a67b75135080c028af123486e86f03ffef490df3f9bb79702de6685fbd8760526d0538df1d5b7957be819dbd62acd20392b170a15f5ee11016d3110169c331008320d5d7ccd2b6b3548be49e4e8640f303db7774dee30def8ec4cd3875b10451c17e222860c83cddf2a696896bc68751f7031e8403b6a176a3737aaa6fa731ae4ba5131883993a005b0f698cf3daa517669d03aa354944a1177a44951fc63146f8914667f891a05f3a2876fbaadc52fec2557703415a1f82544e9983fc269ec4363c67bd8eaaf81331ef303bfc72bd4c190c351003f7a72fd90bb0848356ce8a129c6551175d8a5a67eac0295711739a86f619063203751d63d01b00683d31a7df3fa8df3fcca3aa3ec1b2f91880228a2ca6bf9566b603b992dd51144ed8b6da0a7070763aa2d548f03c90e7c65bb7d0782e7a32b694d505581e03896ab119c673966bbd916b74e0fe931c39575e5114913e28588692a160040205581e032e5b8ade6d75e7ad61ff663e84d5b71951547bb5ce1da058102083f0f0040105581e03df9ced4104c1b821f1227b74e6da00c99bb409f5ce4d85d1815d8263c00c04470cd11c2f7a1a6a0380f49a63316f2fa2b66c26d0347fceb82e67b9b9a6154c63c3b597c123a26a5e05581e038aaa16b1aefdabdf6924bbb92407811752e71fb899e3c9b367e8b844f0040505581e036595bf73ee8ef98fc91c11dab0cc2740b75da0d45d49ca196266c5e8e00c014632ee841b800005581e03bdab80c4af1c195f91366c16395aaf5e402737c77de628795863e9d4a0040105581d02e6ddac7f27fe52167ee6803b35f7f468bd8f4b74ff5a4a7e7c9282620c034724a946a275880005581d028581276dbfa2ec54c8cc601aa19a22eaf31cd53612e5cac2c3f4655c0c0748091f02ea79b7647a0218410219d83c036756774340c82ba44885ca1d5e383859771544f38e3bf0d68e59c618f283aec903cc945633c7b0328eea254daff785513cc2f9d65b6b3e9fbe5a6a9b064f97ae040219ffff033167fcfb30673595eb29b84fc09921ac5f2a262b9675db64260313abf1a9f2ea038cd63194b1cc32fded957322db9f1c1266ad1a449eaa441a4c442707ce95e3d903070cddf89d3c8d8c51e556ecb8210fa1a68490b4c73e94469f87d24a83d2d9910362fede460657516a32de44a21276ab3be3602962e0d60afdce4cd848f174c7f9037f31c3e7ff2e46183cd884b1fff8b08bf78dbbdf7321a3c168075020aee9d9d2033102474d5c5b7ab0b4109f384d5a2f2b0f6485698ac5a5c855c2a1e002ad097903107181e3665cd8199ebf1e43ac8275fb7a78bec9b0da54943a7a238679df579803294a10dd251dc0f91dc09282b7eb989f6cd5ae4c7cd71fbf472f570a2084e0ca038cf271c7f616c6c40fc52f80e851863a9af14a8c2f05264685df74253edde82c03f4eddf7320d6da59f8e78de80a1cdafd1bf87bfae587bedc21387cc5d0aaa40c0307dc915bec8904861a737a737d08ed1d3052c942bac103c5e26c81058306a76b0219ffff03c9ae99026625c506af005bf96ea52c2ad0c0091a8f7830fd9a4592f1cc3d16cd03778548c312b5e976391e84ab93de3e88b96639db29bd00781ab0fd4e5436794e03e0abd92ed4907b45916961d25618444a55f43909d22c543c990a285398e66783034fdf795146c2a6ea5cb575a009369bdd687688b5796503519a700ede1d0c772e03c12a04ed73b2bd5fc2a7e7cfb0f83ccb4ebb989c9e47dd36369963570c2c29a3032e2eb4cd02b5a7c1f733a9828931ca26b441a20f34f238be5eac7b17610c5bab03d23eab1990ee34580400bfbbd24e8fc68aa5175199d6e4d9ada604e5cbc7254503e51448b5e923fc9a6b5184f1cc94cf7f3d7b4d6bbbbafa75f0b885ecf5f5398603d76b2455fb67ec50668ef0c8d078e102973f380e573a89fcc44342ab0b7bfadf035cadae4c1a9add88f5ca8f057906db9d4e3f815d4bed77603d1ba5f07f2c9eed0219ffff03176a7f84ad1b88bddef3699d8ac151093d8c132dc04df432b5cf17acf424b72a038350d159495230de93dff89ae36409cbb95c884b4286fa924e7f3ee99626904103a78af3a0a02573ae0583f309230fb014e2515290c587644808f1f7a6921f804f036ba097777db93f874586ddc0d27b86c6e982bd1ba4655c29b035a07d19c048ee0332b93c5805733c56f2d14f9fdbddf9e8fcea4a3b75814c8966220b2bbcac47f2030cf80b583daa8894f41a805265c0d4f5a3bf2bb2c8fe30c84e1342f02b108f7a035517410f296792ca4a7700994eb0869d2a41e980960a7c7a4a18f2107c94c08a03dcf4c4c7f912265bd4afe3aba18ba397938bcdc86c2e9d52661d6b109435b46d0334bb4f91e10756b10cbfbf0e6e0bf6526bf432d9144ef1709bcb858f38ead1b30359c891c7f0479950e619a2842e7b4408c608c9b41b6396474e7383d5996180970384627e36bf3a1bb1af1a5c82a3b46e7d71e5fd8cd3807cf82df44b0869e451f8039b5f842e09b9b70754cf896ca67d55b50a5aebf327a54cb2154f61251aeeedb90305f621b850c4fb89b2b341e509f8e0de32b326b864079ce7f154f8dec04b9cd503585b9260fef0b5ab698253bfca0c5e0e549188f8e5d07aed9e1b2f6a5dd3162b035e1181157f877e2f2fb5d932b3b7d527ee2d36fc1a2a284918414536f41c043703635fd5dae94d7c72c201283028ab779434a662131d9768eea55bbff10d9dd0f603bfa6ac2906837394298eb863603c08b6fe13b8efa0d71f18448d1d5585ca4bb8036cede8c6a7bd4ba1dcd6259a2eca22d29b5f526af81467aea773d0766ff33012034f9e77276b06c6ab43b4899239ce9afe868316026a1ee23bf06e036024c20ba40323623bcff1fc41ecc52bc53cfc01d2a53e74f5fd80e03b1675830340d2d07eb203c4b80a6f271269d4e4ab5245386278cf75020014af553e44d5a600b1389a5d57031a22769653065abebbc23d62caf669ce1f44fb5f3f23dee77ff77f458afb5d790315fb005dd07097849deb642bc34b18209afdf01f326a5d7a4625d03a4ba0e0cd03ffbb4853234fa8f31e9d3652fffd1569d430b91f4e48a01f413fed60c38d2e7b03934a44b89c83ca3602c5d49e429472d861049e8c06ebf2571c748dd94cd9b63b0382d8f8919e3c0f9538b5cce7da1acc2680da38378f1b871eb86308798799d04e030de8d54c42e306e906cb4e27b456bc9d6584a39f3ef6baaa828c568bcb81b26b0341be64af6d2569573b0fcb2323bfc4d373e683fdd11d65d843c44f1cbd73688503cc89859386bf7a7872531d9223604e3001374178583d18bf8f5dae4f2abfd0390350bf6cbb289ae3034b67014ffeed90f93417d202e9e571400ede7aff880aa76e03b0f89a91ee7b29de94657f76750dfd167435d7d95a2c9d70f84df35060500dbb03d84eef893228b98709e6588e18601b0508d4079ada161c448a0e1b6b6d6f782e035576dd7e4daa9181f0ee7ccff81f5ccb1b8ae83509dfe0d52907d21b4384d30f05581e03cbfd36c64bda44e84e858dc646c59cec1dd4eea6500ca3fe3d752c99300c1a00099beb490f78b89144728a087703cc51f2662e47ac26308e1d5858fca3f7a28fc3f6dce017d2e9019f76927ed74e0345b68a0d4c42a6477529b56f2e991a3e94d19bfbd7d374b85cec99c1891638c105581e03843e78e8353d2d94347a7b80ff454a3d2ff2767dbf5c0c3372a02a3f4007011bffffffffffffffff03288bd2991e5d3e6579957a051a4e97dea9c097965bf8f9fa618e49cfaee01a28039f29a4901140f22fc9ae5a8138618ad8f58b409a03af5598dfdfebcf637742710304a6918b0ef12dc316ecfbe8dfc14b6daaa56e8ea7c2c5110798bb2af190d76905581e03859812bd4e76d38a0070785bccab466dc0079356f1130146a9f83d8fa0040205581e0370990ad9b3d70f8a752f6bc2a25f908994d17a4500b4117305e2356f200847bd49e0b1a2000003f81f65e537bb852e67d70a60f75f126c623214d16d8c7c6b7362d32948b964d201410a0348147a28a8e71079c3247929a1f9cdfa1ce9e24f861c4480059330a19c126353031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03938280b7aeedafb63e92dcff1ef6b3b0e4e6f6407b3b1dca223c7bab0007011bffffffffffffffff021986fd032fb94b55678d3eef73aedc843dd77e97b3d81484638f10efb3faf6add27e678603e60a20bed51a222b17ac106c7301d24c2e5b0007fd373dbf029942bf536aea9f03de05ddad52f0e4213abe66bea40be0a6675090a1d17a600434f417cf78cf068303059553c8987d6e93033b2c38dae9cf8b0cc3abac652f57ecd81bc140649af43003d618a9ffac3d0117bafdffae7c80466ccc101adf09015f54aca417615848775d030128be7d9c89f284f9c5b071349a89c33769b4fc6fa24b778b584ca493632c9803bb2a990ce70e44b00d245d5baefaa3ffc2ce49f72ea2f68bf4deb78de78f63580219ffff0333a89f4ce2e8bfb78c0c3ab16612c5aa9072ab13ea686ddf15428a8b47f0fc4f03d6f226985fc0dd934f3c329fdd943dc9746260cd5d79eecbc2497928a6c3458a0219ffff037e6e0894396ed1e43228918263a6f3d822578015dc0ceba9bce43e8bc1d1159e03a7b2690a46d9d9b41d8240c67e05211dc7cea9e10fb861682f923cf08b55e8030312bf52f10781856923292f67587d1fcfd6502b9cabe4d6a8b166534214c7872b03e17fb9ad1298e0280874a916915887de292ea8a338797c8e4664fac9d19870e50219ffff03350a9cf5f4801f2d1466c6e333728f92928ccbf1a32b198e2f7369ae557bf84c035f59a0c7f1e11dd291760c32ce69bba886a1dba4cb6632cb8ea9b5a8fdb619cb034220ae01ce22fc270e761baa32601db4f2f025d004bb0576b1bf66061c16e50703f84197e6c58b79c1313c9d2564a296759899521477812bde95b79ea0852baf6f039939a0f209aace66d89f7d40512256edf66fd23763de81b716ed139f58533e3b0341e9fcd82e41d8eafc361dd7ba3c410b4d22f4b566818d9b501639dffadba06d03351820a740fa249aec7e5b6247ce608d996eb01db5591856a43ed159c4acb0c2034cad0cd3c15b6dd9ce016f66f82bc18932936e0b86fc1103aa251e1706f0bb83033ca9636e6d28a0c49f5a3b45c04bc2e58beb5a54348f15106f1aa911ccb9c29003d02d546f92a6d0b574ce4f028b6b280276d6ce03ece9befd0d381896b49659750335195caca78a7bf32a122ad92f7ebb3bea3048737d8bee24e4296f206be61d19035d53c9757a8d8148e9a5180d946c62032bd0103b4820f2ecd303642aed8190c303b6b004cbd2bb913797f19f2f1adfdf53ce3690250d5f8b3618156b4b471dd69003ff6a7671ba8c82acca2ed45940471b2f9d9024becc14b332e8c251978a937aac0322cdad72beb4342c1f74aa845d1818dc54025cd6857c018433e67f41e42deebf03f27a6d9375f7e0c80573b76cb658de003b64258fe9cbc0d705acbffe056f75bd0320ac29f0305202e39916fd21e3e5c035a194e24198e09fc225fc5caf8f333535039921e1f800dc0972c094cabf1ea49aaea827eb2e8fd0211313cc582d01a2faaa03892849ca366af745f994b0d6b288944b8aea983e44980ed997ff82c4017a8c700336ba6180a17482aad8b5cfaf5cafe8f9364dd8c6dad48645f130b023dd5a52bd033b78583cf914ae59430c9b32384b1a24f64222e957dc634f3c3d2ecb6d794299035709f26f06655e110bc135705b0f164c5dbeb77985cbb154963e18d78cc73a5f05581e03d484420d4c7715bd37f9c20257cf46d827cf9df95febb67a27521bb0700c024603d1e382100005581e033604a9a1ae518f828b43ae53139c0b8c42fcea8006165e0a22cac567c0040104595ee660806040526004361015610022575b3615610018575f80fd5b6100206123d8565b005b5f3560e01c806305b1ea031461034157806307ed23791461033c5780630d2c7c16146103375780630f449d7114610332578063143e86a71461032d57806315169dec14610328578063175accdc14610323578063188ac35d1461031e57806319367472146103195780633f4ba83a14610314578063435b97891461030f578063493189f01461030a5780634f38e2b81461030557806356a75868146103005780635816d723146102fb5780635c975abb146102f65780636fe7b0ba146102f1578063715018a6146102ec57806374261145146102e757806378e3214f146102e2578063802b2ef1146102dd57806383800a8e146102d85780638456cb59146102d357806384b0196e146102ce5780638770ba91146102c957806389af926a146102c457806389e7c650146102bf5780638da5cb5b146102ba5780639fda64bd146102b5578063a76dfc3b146102b0578063b68fb020146102ab578063bd61951d146102a6578063bf15fcd8146102a1578063bf7979591461029c578063bfa7514314610297578063c2a4075314610292578063c3cf80431461028d578063c4d652af14610288578063ca4ece2214610283578063cc713a041461027e578063ce3d710a14610279578063d2d374e514610274578063e2c95c821461026f578063e413f48d1461026a578063ea76dddf14610265578063f2fde38b14610260578063f497df751461025b578063f7a7005614610256578063fa461e33146102515763fcea9e4e0361000e57611030565b610ff9565b610fa6565b610f61565b610eff565b610ecb565b610eb1565b610e63565b610e43565b610df0565b610db4565b610d54565b610d36565b610cdd565b610cac565b610c92565b610c78565b610c5e565b610c4a565b610bfe565b610be9565b610bd1565b610b67565b610b4d565b610ac0565b610aa3565b610a77565b610940565b610923565b61090a565b6108dd565b6108b6565b6108a0565b610886565b610866565b610854565b6107de565b610733565b6106eb565b61067c565b610666565b61062f565b6105f1565b6105dc565b610596565b610530565b6104da565b6104a5565b610431565b610360565b604090600319011261035c576004359060243590565b5f80fd5b3461035c5761002061037136610346565b9061104a565b6001600160a01b0381160361035c57565b6004359061039582610377565b565b60e090602319011261035c57602490565b9181601f8401121561035c5782359167ffffffffffffffff831161035c576020838186019501011161035c57565b61012060031982011261035c576103eb610388565b916103f582610397565b91610104359067ffffffffffffffff821161035c57610416916004016103a8565b9091565b9081526040810192916103959160200152565b0152565b61044661043d366103d6565b929190916113c0565b906104566040519283928361041a565b0390f35b6bffffffffffffffffffffffff81160361035c57565b600435906103958261045a565b602435906103958261045a565b604090600319011261035c5761049e610470565b9060243590565b3461035c576100206104b63661048a565b9061147b565b608090600319011261035c5760043590602435906044359060643590565b6104566104f26104e9366104bc565b9291909161151e565b6040519182918290815260200190565b6024359061039582610377565b6044359061039582610377565b604090600319011261035c5761049e610388565b3461035c576104566104f261056361056661054a3661051c565b92906001600160a01b03165f52600460205260405f2090565b90565b612793565b602060031982011261035c576004359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c576104566105b06105aa3661056b565b90611551565b60405191829182901515815260200190565b606090600319011261035c57600435906024359060443590565b6104566104f26105eb366105c2565b9161156d565b6104566104f2610600366104bc565b9291909161159f565b60c090600319011261035c57600435906024359060443590606435906084359060a43590565b3461035c576104566104f261064336610609565b949390939291926115c9565b5f90600319011261035c57565b5f91031261035c57565b3461035c576106743661064f565b6100206115ec565b3461035c576104566104f26106c46106bf6106b26106993661051c565b91906001600160a01b03165f52600560205260405f2090565b905f5260205260405f2090565b6113cc565b6129e2565b60a090600319011261035c576004359060243590604435906064359060843590565b6104566104f26106fa366106c9565b939290926115f4565b90604060031983011261035c57600435916024359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c576104566105b061074736610703565b91611628565b61010090600319011261035c57600490565b61018060031982011261035c576107758161074d565b9167ffffffffffffffff6101043581811161035c5783610797916004016103a8565b93909392610124359261014435926101643591821161035c57610416916004016103a8565b60409061042d61039594969593966107d78360608101999052565b6020830152565b3461035c576104566107fe6107f23661075f565b95949094939193611646565b604093919351938493846107bc565b604060031982011261035c5767ffffffffffffffff9160043583811161035c578261083a916004016103a8565b9390939260243591821161035c57610416916004016103a8565b61085d3661080d565b929190916116f5565b3461035c576108743661064f565b6003546104569060a01c60ff166105b0565b3461035c576104566105b061089a36610703565b91611750565b3461035c576108ae3661064f565b610020611781565b3461035c576104566105b06108ca36610703565b91611789565b6064359061039582610377565b3461035c576100206108ee3661051c565b90611803565b61010060031982011261035c576105639061074d565b3461035c576104566104f261091e366108f4565b61180d565b3461035c576104566104f2610937366104bc565b9291909161181f565b3461035c5761094e3661064f565b610020611840565b5f5b8381106109675750505f910152565b8181015183820152602001610958565b6109996020926109909280519384809360209181520190565b94859101610956565b601f01601f19160190565b0190565b805180835291602001916020809201915f5b8281106109c8575050505090565b90919293826109dd6001928751815260200190565b9501939291016109ba565b93959194610a53610a4b610a6a95610a3d6105639b99610a2c8a610a63987fff00000000000000000000000000000000000000000000000000000000000000169052565b60e060208b015260e08a0190610977565b9088820360408a0152610977565b976060870152565b6001600160a01b03166080850152565b60a0830152565b60c08184039101526109a8565b3461035c57610a853661064f565b610456610a90611931565b93604097959793919351978897886109e8565b3461035c576104566104f2610ab7366106c9565b939290926119ba565b6104566104f2610acf366105c2565b916119c9565b9181601f8401121561035c5782359167ffffffffffffffff831161035c576020808501948460051b01011161035c57565b604060031982011261035c5767ffffffffffffffff9160043583811161035c5782610b3391600401610ad5565b9390939260243591821161035c5761041691600401610ad5565b3461035c57610020610b5e36610b06565b92919091611a1b565b3461035c57610b753661064f565b610456610b8a6003546001600160a01b031690565b604051918291826001600160a01b03909116815260200190565b61018060031982011261035c57610bba9061074d565b906101043590610124359061014435906101643590565b6104566107fe610be036610ba4565b93929092611a8a565b6104566104f2610bf836610346565b90611abc565b3461035c57610020610c0f36610346565b90611ae4565b90604060031983011261035c57610c2a610388565b916024359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c57610c5836610c15565b91611c27565b3461035c576104566104f2610c7236610c15565b91611c7c565b3461035c576104566105b0610c8c3661056b565b90611cba565b3461035c576104566105b0610ca636610703565b91611cd4565b3461035c576104566104f26105636106bf6106b26106993661051c565b602090600319011261035c57610563610470565b3461035c57610020610cee36610cc9565b611d33565b61012090600319011261035c57610d08610388565b90610d11610502565b9060443590610d1e6108d0565b906084359060a4359060c4359060e435906101043590565b6104566104f2610d4536610cf3565b97969096959195949294611d3c565b3461035c576104566105b0610d6836610703565b91611fae565b9061016060031983011261035c57610d858261074d565b91610104359067ffffffffffffffff821161035c57610da6916004016103a8565b909161012435906101443590565b3461035c576104566107fe610dc836610d6e565b93929092611fcc565b606090600319011261035c57610de5610388565b906024359060443590565b3461035c576104566105b0610e0436610dd1565b91611ff6565b61010090600319011261035c57610e1f610388565b9060243590610e2c61050f565b90606435906084359060a4359060c4359060e43590565b6104566104f2610e5236610e0a565b969590959491949392933390611d3c565b3461035c576104566104f2610e77366106c9565b9392909261201e565b60a090600319011261035c57610e94610388565b90610e9d610502565b90610ea661050f565b906064359060843590565b3461035c57610020610ec236610e80565b9392909261204a565b3461035c576104566104f2610edf36610609565b94939093929192612056565b602090600319011261035c57610563610388565b3461035c57610020610f1036610eeb565b6120c3565b906101a060031983011261035c57610f2c8261074d565b916101043591610124359161014435916101643591610184359067ffffffffffffffff821161035c57610416916004016103a8565b6104566107fe610f7036610f15565b959490949391936120cc565b60e090600319011261035c57600435906024359060443590606435906084359060a4359060c43590565b3461035c576104566104f2610fba36610f7c565b959490949391936120ed565b606060031982011261035c5760043591602435916044359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c5761002061100a36610fc6565b92919091612390565b604090600319011261035c57611027610388565b9061056361047d565b3461035c576104566104f261104436611013565b9061239d565b9061105b611057836123e0565b1590565b6110d2576110cd6110b67fcda0f7e73d07bdb14b141f2cf4745926629a1b63e7c6a3dd8a80232cb459a850926110a5610563336001600160a01b03165f52600460205260405f2090565b64ffffffffff8660781c169061243b565b60405191829163ffffffff339660801c168361041a565b0390a2565b60046040517f86bffaca000000000000000000000000000000000000000000000000000000008152fd5b9061041693929161110b612465565b6113b4565b3561056381610377565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161113c57565b61111a565b9190820391821161113c57565b8181029291811591840414171561113c57565b634e487b7160e01b5f52601260045260245ffd5b811561117f570490565b611161565b9093919260a085013594851561137e5761119d81611110565b926111aa60208301611110565b926111b48561249e565b60c084013597909190600289161561135c575f8315611357575060808501355b34111561132d576111f4925b156112fc575b608085013580943390612517565b968794600183981615155f146112c55761120e308261257b565b600181116112a3575b5050611223828661114e565b611230610563898461114e565b1161126e57505090606061039593925b016001600160a01b0361125282611110565b1661125f575033906125f2565b61126890611110565b906125f2565b849161127d886112829361114e565b611175565b9061129f604051928392630325276360e11b84526004840161041a565b0390fd5b6112be9198505f19016112b68185611141565b9833906125f2565b5f80611217565b50919293829150106112df57506103959160608692611240565b8561129f604051928392630325276360e11b84526004840161041a565b61132861130b60408701611110565b60048b161515906001600160a01b0360808901359116338b6124ff565b6111e6565b60046040517f1841b4e1000000000000000000000000000000000000000000000000000000008152fd5b6111d4565b5f8315611379575060808501355b340361132d576111f4926111e0565b61136a565b60046040517f0262dde4000000000000000000000000000000000000000000000000000000008152fd5b90610416939291611184565b906104169392916113a8565b906104169392916110fc565b5490565b91602061039592949361042d8160408101976bffffffffffffffffffffffff169052565b7f099133aefc2c2d1e56f8ef3622ec8e80979a0713fc9c4e1497740efcf80993966110cd61146a61146d73ffffffffffffffffffffffffffffffffffffffff198560a01b1633176114596114536106bf835f52600260205260405f2090565b60010190565b9283915f52600260205260405f2090565b55565b6040519182913395836113d0565b9080158015611514575b6114ea576110cd61146a61146d7f099133aefc2c2d1e56f8ef3622ec8e80979a0713fc9c4e1497740efcf80993969361145973ffffffffffffffffffffffffffffffffffffffff198760a01b163317916109a46106bf845f52600260205260405f2090565b60046040517f555fbbbf000000000000000000000000000000000000000000000000000000008152fd5b5060ff8111611485565b90610563939291600160fb1b831615611543575b6001600160a01b03349116306126dd565b61154c34612684565b611532565b9061155c91306127aa565b81611565575090565b600191501490565b906105639291600160fb1b831615611591575b6001600160a01b03349116306127ce565b61159a34612684565b611580565b90610563939291600160fb1b8216156115bb575b34333061285e565b6115c434612684565b6115b3565b9061056395949392913333612875565b6115e1612929565b6103956103956129da565b6103956115d9565b9061056394939291600160fb1b83161561161a575b6001600160a01b033491163061285e565b61162334612684565b611609565b9161163391306127aa565b8192919261164057505090565b11919050565b9394611667966116599194929487612a16565b989394929591969097612ab9565b9192909190565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090358181169392601481106116a357505050565b60140360031b82901b16169150565b909291928360141161035c57831161035c57601401916013190190565b90929192831161035c579190565b9093929384831161035c57841161035c578101920390565b926117335f939461172d61041686958061172761171b611715838861166e565b60601c90565b6001600160a01b031690565b946116b2565b91612b4e565b508060405194853783305af43d5f833e1561174c573d90f35b3d90fd5b9161175b91306127aa565b8192919261176857505090565b14919050565b611776612929565b610395610395612b5d565b61039561176e565b929091925f5b63ffffffff82169081156117e0576117af610416836117b69389896116dd565b90306127aa565b816117d5575b506117cb579060201c9061178f565b5050915050600190565b60019150145f6117bc565b5050509150505f90565b90610395916117f7612929565b906103959133906125f2565b90610395916117ea565b61056390611819612c16565b90612ca2565b9061056393929133336127e3565b611835612929565b610395610395612d94565b61039561182d565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161187057604052565b611848565b6020810190811067ffffffffffffffff82111761187057604052565b6040810190811067ffffffffffffffff82111761187057604052565b90601f8019910116810190811067ffffffffffffffff82111761187057604052565b6040519061039582611875565b6040519061039582611891565b9061039560405192836118ad565b6118ff6118cf565b905f8252565b5f368137565b50610395611905565b602090369037565b6119246118f7565b906103956020830161190b565b61195a7f31696e6368204167677265676174696f6e20526f7574657200000000000000186149d6565b906119847f36000000000000000000000000000000000000000000000000000000000000016149f0565b9061198d61191c565b7f0f00000000000000000000000000000000000000000000000000000000000000939291469130915f9190565b906105639493929133336126f3565b906105639291600160fb1b8216156119e4575b3433306126dd565b6119ed34612684565b6119dc565b634e487b7160e01b5f52603260045260245ffd5b9190811015611a165760051b0190565b6119f2565b9290818103611a60575f5b818110611a34575050505050565b80611a5a611a4c611a48600194868a611a06565b3590565b610c0f611a4884888a611a06565b01611a26565b60046040517fd97cd9d8000000000000000000000000000000000000000000000000000000008152fd5b9261166794919293611a9a5f8091565b939092611ab2611aac5f805b97909691565b96909591565b9790963394612d9c565b9061056391600160fb1b821615611ad6575b3433306127ce565b611adf34612684565b611ace565b90611aee826123e0565b15611b4a57507fcda0f7e73d07bdb14b141f2cf4745926629a1b63e7c6a3dd8a80232cb459a8506110cd6110b6611b39610563336001600160a01b03165f52600460205260405f2090565b64ffffffffff8560781c1690612400565b7f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d9150806104f2611b93611b99936106b2336001600160a01b03165f52600560205260405f2090565b5f199055565b0390a1565b90825f939282370152565b81836109a492949394611b9e565b67ffffffffffffffff811161187057601f01601f191660200190565b90611be5611be083611bb7565b6118e9565b918252565b3d15611c0357611bf93d611bd3565b903d5f602084013e565b606090565b80611c1a604092610563959415159052565b8160208201520190610977565b5f928392611c3a60405180938193611ba9565b03915af4611c46611bea565b9061129f6040519283927f1934afc800000000000000000000000000000000000000000000000000000000845260048401611c08565b90611c8792916127aa565b9015611c905790565b60046040517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b90611cc591306127aa565b81611cce575090565b90501590565b929091925f5b63ffffffff8216908115611d28576117af61041683611cfa9389896116dd565b9015908115611d1c575b50611d13579060201c90611cda565b50509150505f90565b6001915014155f611d04565b505050915050600190565b610395906113f4565b906105639897969594939291611d50612465565b9295969097919394976001600160a01b039485811690811590815f14611f8d575087340361132d575b15611e235750926001600160ff1b035f97949361014996938998956040519b8c987f27a9b424000000000000000000000000000000000000000000000000000000008a5260048a01528760248a01528d60448a0152606489015260848801528160ff1c601b0160a488015260c48701521660e4850152610120610104850152600561012485015264062929c86960db1b610144850152165af115611e1b575090565b3d5f823e3d90fd5b969091929394959789878316155f14611ee857945f98959489989461014998946001600160ff1b03948b986040519e8f9b7f4cb6864c000000000000000000000000000000000000000000000000000000008d5260048d015260248c015260448b015260648a015215600114611ede57503060848801525b8160ff1c601b0160a488015260c48701521660e4850152610120610104850152600561012485015264062929c86960db1b610144850152165af115611e1b575090565b6084880152611e9b565b505f97948897939488956001600160ff1b039361016999959c6040519d8e9a7f2b651a6c000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260448a01528d60648a0152608489015260a48801528160ff1c601b0160c488015260e487015216610104850152610140610124850152600561014485015264062929c86960db1b610164850152165af115611e1b575090565b3461132d57600160ff1b611fa9911615158989891633866124ff565b611d79565b91611fb991306127aa565b81929192611fc657505090565b10919050565b9261166794919293611fdc5f8091565b939092611fec611aac5f80611aa6565b9790963394612ab9565b6106bf906001600160a01b0361201a9360a01b9116175f52600260205260405f2090565b1490565b906001600160a01b036105639594939216336127e3565b90610395916001600160a01b03339116612f44565b50506103959250612035565b906001600160a01b03610563969594939216336126f3565b6103959061207a612929565b6001600160a01b038116156120925761039590612bc1565b6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602490fd5b6103959061206e565b9394611667966120df9194929487612a16565b989394929591969097612d9c565b906001600160a01b036105639796959493921633612875565b6040513d5f823e3d90fd5b60446020925f80935af1156121435760015f5114601f3d11163d15171561213457565b633c9fd93960e21b5f5260045ffd5b612106565b60646020925f80935af1156121435760015f5114601f3d11163d15171561213457565b9060405160158101907f0dfe1681d21220a7ddca3f43a9059cbb23b872dd36c785160000000000000000918282525f851394856001146123775750603582016020816004808601335afa15612143575193905b6084359530871460011461235a5760011461234357602081600485335afa15612143575b602060558401600460088601335afa15612143577fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000083526060812090527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546035830152336001600160a01b0360558420161861231b5760a4358060011461229a5715612270575b5050505050565b612290946010938352601483015233603483015260548201520190612148565b5f80808080612269565b5091819491526018840152336038840152605883015260788201525f80608460146e22d473030f116ddee9f6b43ac78ba3940182855af19081612310575b50156122e8575f80808080612269565b7fc3f9d332000000000000000000000000000000000000000000000000000000005f5260045ffd5b90503b15155f6122d8565b7fb2c02722000000000000000000000000000000000000000000000000000000005f5260045ffd5b6020603584016004808601335afa6121e257612106565b50506103959450600c925033601083015260308201520190612111565b9350602081600484335afa1561214357805193906121be565b909150610395925061216b565b6106bf906001600160a01b0373ffffffffffffffffffffffffffffffffffffffff196105639460a01b169116175f52600260205260405f2090565b610395612f52565b600160ff1b811615908115916123f4575090565b600160fe1b9150161590565b6103959092919261146a600160ff8660081c96161b61242a6106bf8785905f5260205260405f2090565b17948592905f5260205260405f2090565b61146a610395929493600160ff8760081c97161b1761242a6106bf8785905f5260205260405f2090565b60035460a01c60ff1661247457565b60046040517fd93c0665000000000000000000000000000000000000000000000000000000008152fd5b6001600160a01b031680159081156124b4575090565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee91501490565b92156124de5761039592613083565b61039592612f5a565b92156124f65761039592613112565b61039592612fd9565b931561250e5761039593613180565b6103959361304a565b90602093945f93816040519788947f4b64e49200000000000000000000000000000000000000000000000000000000865260048601526024850137602482840101526044019134905af115611e1b57505f5190565b9081602091031261035c575190565b6125848161249e565b1561258e57503190565b6040516370a0823160e01b81526001600160a01b0392831660048201529160209183916024918391165afa908115612143575f916125ca575090565b610563915060203d81116125eb575b6125e381836118ad565b81019061256c565b503d6125d9565b826125fc57505050565b6126058161249e565b156126705750814710612646575f8080936001600160a01b03829416611388f161262d611bea565b501561263557565b600460405163b12d13eb60e01b8152fd5b60046040517ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b6001600160a01b0361039593921690612f44565b8061268c5750565b5f6004818093630d0e30db60e41b825273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11561210657565b816126c3575050565b60045f80938193630d0e30db60e41b83525af11561210657565b9061056395949392916126ee612465565b61270a565b90610563969594939291612705612465565b61275b565b936127419391949695929661273b61272185613207565b92600160fc1b86161515998a5f1461275357843094613225565b9161342a565b926127495750565b61039590836137d6565b848994613225565b61273b6127419593989794929661277186613207565b93600160fc1b871615159a8b5f1461278b5785309561331c565b858a9561331c565b6106bf906105639260081c5f5260205260405f2090565b915f906020928294826040519283375afa60203d141691826127c857565b5f519150565b90610563949392916127de612465565b6127f9565b9061056395949392916127f4612465565b61282e565b909493929190600160fc1b8416156128235791610395939161281c9330906135eb565b92836137d6565b9461056394956135eb565b90959493929190600160fc1b851615612853579161281c9391610395959330906136c4565b9561056395966136c4565b90610563969594939291612870612465565b61288d565b9061056397969594939291612888612465565b6128db565b61273b6128cd92966127419699989594996128a782613207565b906128b188613207565b958691600160fc1b8a1615159d8e5f146128d357843098613225565b91613514565b848d98613225565b90959486929598979493986128ef81613207565b80926128fa88613207565b958691600160fc1b8a1615159d8e5f149b61273b976128cd946127419e6129235750309961331c565b9961331c565b600354336001600160a01b039091160361293f57565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602490fd5b612978613812565b6103956129a86003547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600355565b6040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa908060208101611b99565b610395612970565b80156129ec571990565b60046040517faa3eef95000000000000000000000000000000000000000000000000000000008152fd5b90929091600160fb1b831615612aaf576104168180612a3b611715612a41958961166e565b966116b2565b919091925b62ffffff60e082901c81168015612aa0576104168682612a6d610416612a7695848b6116cf565b999099986116dd565b919091925b60c81c168015612a925761041692610416926116cf565b5050506104166104165f8091565b509390925f8095909594612a7b565b9192903393612a46565b979593919896949290612ad3612acd612c16565b8a612ca2565b809a612adf828c613853565b9260a08c01358414612afc575b5050612af79961451f565b919092565b9061105791612b18936001600160a01b0360208f0135166138e2565b612b2457895f80612aec565b60046040517f5cd5d233000000000000000000000000000000000000000000000000000000008152fd5b90610563929130903390614531565b5f6001600160a01b03612b786003546001600160a01b031690565b612b9a60035473ffffffffffffffffffffffffffffffffffffffff1916600355565b167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3565b600380546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff19821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b6001600160a01b037f000000000000000000000000111111125421ca6dc452d289314280a0f8842a6516301480612c79575b15612c71577fd999e213f11c7bfa3e796c3409e316f25e02aa3e25e5c207a92e381c7d22b6de90565b6105636147e9565b507f00000000000000000000000000000000000000000000000000000000000000014614612c48565b9061012061056392610100604051917f3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c835260208301372090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b612d1b612465565b610395612d626003547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017600355565b6040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258908060208101611b99565b610395612d13565b979593919896949290612db0612acd612c16565b809a612dbc828c613853565b9260a08c01358414612dd3575050612af79961451f565b60208c01356001600160a01b031692918315918215612ee0575b50509050612b24578a907f2000000000000000000000000000000000000000000000000000000000000000851615612e26575b80612aec565b612e308888614a81565b6014811015612e41575b5050612e20565b90612e5d610416838061172761171b611715612e66988861166e565b91843091614531565b50612e7761105760e08d01356123e0565b612e83575b8080612e3a565b6110576106bf612eab936106b2611057946001600160a01b03165f52600560205260405f2090565b612eb657895f612e7c565b60046040517fc5f2be51000000000000000000000000000000000000000000000000000000008152fd5b61171b9250612eee93614a0a565b8114158b905f80612ded565b612f079161105791614a8b565b612f0d57565b60046040517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b612f079161105791614ad2565b9161105791612f0793614b31565b610395614b5f565b6064906020935f93604051926323b872dd60e01b845260048401526024830152604482015282805af180612fba575b15612f9057565b60046040517ff4059071000000000000000000000000000000000000000000000000000000008152fd5b503d15612fd05760015f5114601f3d1116612f89565b5f3b1515612f89565b91906020915f91604051946323b872dd60e01b8652600486015260248501526044840152606473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29382855af19081613028575b5015612f9057565b90503d15613042575060015f5114601f3d11165b5f613020565b3b151561303c565b92602092916064915f93604051926323b872dd60e01b845260048401526024830152604482015282855af19081613028575015612f9057565b916001600160a01b0381116130e8575f9160405193631b63c28b60e11b85526004850152602484015260448301528060648301528060846e22d473030f116ddee9f6b43ac78ba39382855af190816130dd575015612f9057565b90503b15155f613020565b60046040517f8112e119000000000000000000000000000000000000000000000000000000008152fd5b916001600160a01b0381116130e8575f9160405193631b63c28b60e11b855260048501526024840152604483015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260648301528060846e22d473030f116ddee9f6b43ac78ba39382855af190816130dd575015612f9057565b90926001600160a01b0381116130e8575f9260405194631b63c28b60e11b865260048601526024850152604484015260648301528060846e22d473030f116ddee9f6b43ac78ba39382855af190816130dd575015612f9057565b634e487b7160e01b5f52602160045260245ffd5b600311156131f857565b6131da565b90610395826131ee565b61321b6132168260fd1c6131fd565b6131fd565b1561171b57503090565b939291905f946132378460fd1c6131fd565b6001613242826131fd565b0361325357506105639495506155af565b61325c816131fd565b6132b95750610563949550826001600160a01b038092163081145f1461328d5750613288918516612f37565b6153e1565b9050331461329c575b506153e1565b6132b39083600160fa1b86161515918616336124e7565b5f613296565b6132c46002916131fd565b146132d0575b50505050565b6132f19495506001600160a01b033391161480613314575b6132fb57614cf1565b905f8080806132ca565b61330f600160fa1b841615158330336124e7565b614cf1565b5034156132e8565b5f9594939261332e60fd86901c6131fd565b6001613339826131fd565b0361334b5750506105639495506155af565b613354816131fd565b6133b8575061056395965083906001600160a01b038093163081145f146133845750826132889387169116612f44565b9190913314613396575b5050506153e1565b6133b092600160fa1b8716151592818816913391166124ff565b5f808361338e565b6133c36002916131fd565b146133cf575050505050565b6133f7959650836001600160a01b0392833391161480613422575b613402575b505050614cf1565b905f80808080612269565b61341a92600160fa1b871615159230913391166124ff565b5f80836133ef565b5034156133ea565b94939291905f9561343d8560fd1c6131fd565b6001613448826131fd565b03613459575061056395965061565c565b613462816131fd565b6134bf5750610563959650826001600160a01b038092163081145f14613493575061348e918616612efa565b6154cb565b905033146134a2575b506154cb565b6134b99083600160fa1b87161515918716336124cf565b5f61349c565b6134ca6002916131fd565b146134d6575050505050565b6133f79596506001600160a01b03339116148061350c575b156150a257613507600160fa1b851615158330336124cf565b6150a2565b5034156134ee565b939291905f946135268460fd1c6131fd565b6001613531826131fd565b0361354257506105639495506155af565b61354b816131fd565b61359c5750610563949550826001600160a01b038092163081145f146135775750613288918516612efa565b9050331461358557506153e1565b6132b39083600160fa1b86161515918616336124cf565b6135a76002916131fd565b146135b25750505050565b6132f19495506001600160a01b0333911614806135e3575b15614cf15761330f600160fa1b841615158330336124cf565b5034156135ca565b94939291905f956135fe8560fd1c6131fd565b6001613609826131fd565b0361361a575061056395965061565c565b613623816131fd565b6136745750610563959650826001600160a01b038092163081145f1461364f575061348e918616612f37565b9050331461365d57506154cb565b6134b99083600160fa1b87161515918716336124e7565b61367f6002916131fd565b1461368b575050505050565b6133f79596506001600160a01b0333911614806136bc575b156150a257613507600160fa1b851615158330336124e7565b5034156136a3565b5f96959493926136d760fd87901c6131fd565b60016136e2826131fd565b036136f457505061056395965061565c565b6136fd816131fd565b613761575061056396975083906001600160a01b038093163081145f1461372d57508261348e9388169116612f44565b919091331461373f575b5050506154cb565b61375992600160fa1b8816151592818916913391166124ff565b5f8083613737565b61376c6002916131fd565b1461377a575b505050505050565b6137a2969750836001600160a01b03928333911614806137ce575b6137ae575b5050506150a2565b905f8080808080613772565b6137c692600160fa1b881615159230913391166124ff565b5f808361379a565b503415613795565b906137e082615715565b306001600160a01b038216036137f4575050565b5f8080938193611388f11561210657565b816137e091939293615746565b6003546138239060a01c60ff161590565b61382957565b60046040517f8dfc202b000000000000000000000000000000000000000000000000000000008152fd5b61386060e08201356123e0565b1561389f5760a091500135905b811561387557565b60046040517ff71fbda2000000000000000000000000000000000000000000000000000000008152fd5b60a06138d36106bf6138dc946106b26001600160a01b036020870135166001600160a01b03165f52600560205260405f2090565b91013590615765565b9061386d565b5f9060209293959495829680604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501528160448501526064840137606401915afa61393b5750565b5f51143d602014169150565b9061041699989796959493929161395c612465565b61450d565b60e080610395936139728185359052565b6139826020820160208601359052565b6139926040820160408601359052565b6139a26060820160608601359052565b6139b26080820160808601359052565b6139c260a0820160a08601359052565b6139d260c0820160c08601359052565b019101359052565b818352916109999082906020018094611b9e565b95613a44613a5c96613a33613a2a6105639e9c989d9b96613a54988c613a4c9861010082613a206101e0948594613961565b01528d01916139da565b9c6101208b0152565b6001600160a01b0316610140890152565b610160870152565b610180850152565b6101a0830152565b6101c08185039101526139da565b93919694999790959298613a7f8685876157a0565b90156145065750613a976110573360e0880135615885565b6144dc57613aa860e08601356158b0565b6144b257600160fa1b60e086013516614417575b856143bd575b600160ff1b8316156142e357613ad8888b615a7f565b9a8b613ae8898b838b8a8c6159f1565b809c76ffffffffffffffffffffffffffffffffffffffffffffff8716928361428d575b505050505b600160ff1b60e08701351615158061427f575b614255578a8c021561422b57613b3c60e08701356123e0565b156141f357613b84613b6f6105636001600160a01b0360208a0135166001600160a01b03165f52600460205260405f2090565b64ffffffffff60e089013560781c1690615a8c565b600160fc1b60e08701351661412a575b6001600160a01b036060870135168c6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2168214918261411a575b8215614112578830925b8b8a60e08401357f010000000000000000000000000000000000000000000000000000000000000016156140b957909150613c1b9250615b02565b9050613f4457613c3b918f916001600160a01b0360208c01351690613180565b614088575b5060138111613ff2575b50506001600160a01b03608084013516906001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216821490818092613fe9575b15613ecc5750505086341061132d57863411613ea4575b8760e0830135600160f71b1615613e3857505f8080808a613cc787615b5f565b5af1613cd1611bea565b50156126355787925b600160fb1b60e084013516613d28575b505050613d18907ffec331350fce78ba658e082a71da20ac9f8d798a99b3c79681c8440cbfe77e0793611141565b90611b996040519283928361041a565b90919250613d368183615b8e565b909160208501356001600160a01b0316838360138111613e04575b50506001600160a01b031691823b1561035c575f94613da9869289968b8f8f906040519c8d9b8c9a8b997f462ebde2000000000000000000000000000000000000000000000000000000008b52339360048c016139ee565b03925af18015612143577ffec331350fce78ba658e082a71da20ac9f8d798a99b3c79681c8440cbfe77e0793613d18928892613deb575b819550829350613cea565b80613df8613dfe9261185c565b8061065c565b5f613de0565b6001600160a01b039550819450613e2d925080613e27611715826104169561166e565b956116b2565b93909392905f613d51565b92613e63887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26126ba565b613e9f88613e7085615b5f565b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216612f44565b613cda565b5f8080808a3403335af1613eb6611bea565b50613ca757600460405163b12d13eb60e01b8152fd5b9491943461132d5781613fd5575b8115613fc157600160fc1b30915b1615613f6e57613ef88385615b84565b9050613f445789613f0c918c973390613180565b15613cda57613e9f613f1d84615b5f565b897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2613805565b60046040517f2aefd060000000000000000000000000000000000000000000000000000000008152fd5b61105790613f8c92968b613f828688615b84565b9390923390615b0c565b613f97578893613f0c565b60046040517f478a5205000000000000000000000000000000000000000000000000000000008152fd5b600160fc1b613fcf86615b5f565b91613ee8565b60e0850135600160f71b1615159150613eda565b50341515613c90565b808061400a61171b61171b611715614010968861166e565b936116b2565b823b1561035c578592875f878f8f9583978f8f98614060946040519c8d9b8c9a8b997fadf38ba1000000000000000000000000000000000000000000000000000000008b52339360048c016139ee565b03925af1801561214357614075575b80613c4a565b80613df86140829261185c565b5f61406f565b6140b3908c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2613805565b5f613c40565b94611057946001600160a01b036140d760209695946140e399615b02565b96909501351690615b0c565b15613c3b5760046040517f70a03f48000000000000000000000000000000000000000000000000000000008152fd5b888492613be0565b600160fe1b871615159250613bd6565b6141348786615af8565b6001600160a01b0390602089013582168382601381116141cf575b50508281163b1561035c578f8f5f948f8f958f94908f998f938a966141a6946040519d8e9c8d9b8c997f0986bdd5000000000000000000000000000000000000000000000000000000008b52339360048c016139ee565b0393165af18015612143576141bc575b50613b94565b80613df86141c99261185c565b5f6141b6565b8195506141ea93506104169250613e2761171582809461166e565b90925f8061414f565b6142268c8a031961146a8a6106b26001600160a01b0360208c0135166001600160a01b03165f52600560205260405f2090565b613b84565b60046040517ffba5a276000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8ef0017c000000000000000000000000000000000000000000000000000000008152fd5b5060a08601358c1415613b23565b8181036142b6575050116142a5575b5f8b818e613b0b565b600460405163fb8ae12960e01b8152fd5b6142c6610563926142cc9461114e565b9361114e565b101561429c57600460405163fb8ae12960e01b8152fd5b899a6142f3888a8d8a898b615948565b9b898d11614376575b8c76ffffffffffffffffffffffffffffffffffffffffffffff86169182614326575b505050613b10565b8d81810361434f5750501061433e575b5f8c8161431e565b600460405163240f51c960e11b8152fd5b6142c66105639261435f9461114e565b111561433657600460405163240f51c960e11b8152fd5b9a509a50879a61438a888a808a898b6159f1565b9a808c11156142fc5760046040517f7f902a93000000000000000000000000000000000000000000000000000000008152fd5b6143c786856158ce565b90816143d5575b5050613ac2565b6143e29161105791611551565b6143ed575f806143ce565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b61442460e08601356123e0565b6144885761445961105760e0870135607881901c64ffffffffff9081169160a01c1660208901356001600160a01b0316611ff6565b15613abc5760046040517fe3e8b052000000000000000000000000000000000000000000000000000000008152fd5b60046040517f9e744e25000000000000000000000000000000000000000000000000000000008152fd5b60046040517fc56873ba000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b5f5260045ffd5b90610416999897969594939291613a6a565b90610416999897969594939291613947565b6040519492916064841461471e57836048146146ac578360e01461468857836101001461466257836060146145c35750505061016014614593576004827f68275857000000000000000000000000000000000000000000000000000000008152fd5b610164826101605f94936302b67b5760e41b8695526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b61016493505f95929486956020936040936302b67b5760e41b8752600487015260248601526014826050870137861965ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b5061010492508491505f949061010086956323f2ebc360e21b87945260048501375af190565b5060e492508491505f949060e0869563d505accf60e01b87945260048501375af190565b6101049350906001600160ff1b035f969395879687946323f2ebc360e21b87526004870152602486015260206008602883013592803560e01c60448901528619600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b60e49350906001600160ff1b035f9693958796879463d505accf60e01b87526004870152602486015260206024604483013592828160448a013786198382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af190565b6147da610395946147d36080949897956147cc60a086019a6147c5877f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9052565b6020870152565b6040850152565b6060830152565b01906001600160a01b03169052565b60405160208101906148508161484230467fe455bf8ea6e7463a1046a0b52804526e119b4bf5136279614e0b1e8e296a4e2d7f5c6cbfb2848b981a8f93044b3530be1fac304ecd5042396ca8729cb8fdd718f388614784565b03601f1981018352826118ad565b51902090565b634e487b7160e01b5f52602260045260245ffd5b90600182811c92168015614889575b602083101461488457565b614856565b91607f1691614879565b905f915f546148ae6148a48261486a565b8084529260200190565b9060019081811690811561491657506001146148c957505050565b5f8052929350907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563925f935b828510614903575050500190565b80548585015260209094019381016148f5565b60ff19168352505090151560051b019150565b905f91600180549061494761493d8361486a565b8085529360200190565b91818116908115614916575060011461495f57505050565b60015f52929350907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6925f935b82851061499a575050500190565b805485850152602090940193810161498c565b60405190610395826149be81614893565b03836118ad565b60405190610395826149be81614929565b60ff81146149e75761056390615bbc565b506105636149ad565b60ff8114614a015761056390615bbc565b506105636149c5565b9092915f936001600160ff1b038216917f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a18310614a475750505050565b6020949550915f939160809360405193845260ff1c601b01868401526040830152606082015282805260015afa505f51905f8080806132ca565b9061041691615bd9565b60445f916020936040519163a9059cbb60e01b83526004830152602482015282805af19081614ab657565b90503d15614acb5760015f5114601f3d111690565b5f3b151590565b91906040519263a9059cbb60e01b84526004840152602483015260205f604473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29482865af19182614b145750565b9091503d15614b2b575060015f5114601f3d111690565b3b151590565b929160446020925f926040519163a9059cbb60e01b83526004830152602482015282865af19182614b145750565b323314614b6857565b60046040517f1b10b0f9000000000000000000000000000000000000000000000000000000008152fd5b15612143573d90565b5f602481602093614bba956370a0823160e01b83526004525afa614b92565b1561035c575f5190565b614bd084848484614c22565b15614bdb5750505050565b614be6848383614c53565b15614c1357918391614bf793614c22565b15614c04578080806132ca565b80633e3f8f7360e01b60049252fd5b600484633e3f8f7360e01b8152fd5b925f602094819460449463095ea7b360e01b8552600485015260248401525af160015f5114601f3d11163d15171690565b6020925f604492819463095ea7b360e01b845260048401528160248401525af160015f5114601f3d11163d15171690565b925f602094819460449463a9059cbb60e01b8552600485015260248401525af160015f5114601f3d11163d15171690565b5f916024916020947f87cb4f5723746eb8c6610657b739953eb9947eb0000000000000000000000000855260048301525afa15612143575f5190565b92916001600160a01b038116938160f21c946001808716818560f91c1691808660f01c16615072575b808660f11c1661503e575b60ff92614d3d848860d81c16858960d01c1687614cb5565b9473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee928388149587891487179485821517831516615004575b50604051926011818d60b81c1611614fdc578694847f3df02124a6417ed6ddc1f59d44ee1986ed4ae2b8bf5ed0562f7865a837cab6798e9652602081017f2a064e3c5b41b90865b2489ba64833a0e2ad025a394747c5cb7558f1ce7d65039052604081017fd2e2833add96994f00000000000000000000000000000000000000000000000090528560b61c6103fc16019d828f938760e01c1660048501528660e81c166024840152806044840152606483015f90526084938d888860f31c16986040985f98614e6c9b614fce575b600114614f905760f41c16614f80575b505b02871502905af1614b92565b15614f595760208a1651998a975b838160f41c1615614e92575b50505050505050505050565b838160f51c16614f39575b60f61c8316614f14575b308718614eb5575b80614e86565b1616600114614efe5791859391614ed29593614ef6575b50614c84565b15614ee757505b5f8281808080808080614eaf565b80633c9fd93960e21b60049252fd5b90505f614ecc565b5050505f809350809281925af1614ed957612106565b9650632e1a7d4d60e01b5f52896004525f8060248180885af115612143578996614ea7565b975f6004818093630d0e30db60e41b8252895af115612143578a97614e9d565b81818b1616600114614f7a57614f6f3086614b9b565b5f1901998a97614e7a565b47614f6f565b848601526020909401938d614e5e565b5050947fe413f48d00000000000000000000000000000000000000000000000000000000886060939783880190308252602082015201520193614e60565b97849088015260a497614e4e565b7fa231cb82000000000000000000000000000000000000000000000000000000005f5260045ffd5b61501a8c85808260c81c169160c01c1687614cb5565b908114615037575b615031908d8660405192614bc4565b5f614d80565b5087615022565b632e1a7d4d60e01b5f52866004525f806024818073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1614d2557612106565b630d0e30db60e41b5f525f806004818a73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1614d1a57612106565b9093926001600160a01b038116918160f21c956001808816818560f91c1691808660f01c166153b1575b808660f11c1661537d575b60ff926150ef848860d81c16858960d01c168a614cb5565b9473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee92838814958b888a14881795858d88851517861516615341575b50505050604051926011818d60b81c1611614fdc578d9c8795857f3df02124a6417ed6ddc1f59d44ee1986ed4ae2b8bf5ed0562f7865a837cab6798f9752602081017f2a064e3c5b41b90865b2489ba64833a0e2ad025a394747c5cb7558f1ce7d65039052604081017fd2e2833add96994f00000000000000000000000000000000000000000000000090528660b61c6103fc16019e8f93808860e01c1660048601528760e81c16602485015281604485015260648401526084938d888860f31c16986040985f986152219b614fce57600114614f905760f41c16614f80575002871502905af1614b92565b1561531a5760208b16519a8b975b838160f41c161561526b575b50505050505050508291501061524e5750565b8261129f604051928392630325276360e11b84526004840161041a565b838160f51c166152fa575b60f61c83166152d5575b30871861528e575b8061523b565b16166001146152bf57918593916152aa9593614ef65750614c84565b15614ee757505b5f8381808080808080615288565b5050505f809350809281925af16152b157612106565b9650632e1a7d4d60e01b5f528a6004525f8060248180885af115612143578a96615280565b975f6004818093630d0e30db60e41b8252895af115612143578b97615276565b81818c161660011461533b576153303086614b9b565b5f19019a8b9761522f565b47615330565b8087806153579360c81c169160c01c1685614cb5565b918214615375575b61536c9260405192614bc4565b8b5f858d615135565b8a915061535f565b632e1a7d4d60e01b5f52836004525f806024818073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16150d757612106565b630d0e30db60e41b5f525f806004818773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16150cc57612106565b9291926001600160a01b0384169360018160f71c169063ffffffff8160a01c169384156154bf575b60405194630240bc6b60e21b5f5260405f6004818b5afa156154b6573d605f190161548e576020975f958560a4958995633b9aca008a99968a97159e8f60051b519460f21c16519202920282019102049a63022c0d9f60e01b86528b0260048601528a0260248501526044840152608060648401528160848401525af115611e1b5750565b7f85cd58dc000000000000000000000000000000000000000000000000000000005f5260045ffd5b853d5f823e3d90fd5b633b6d03409450615409565b93929091936001600160a01b0382169160018160f71c169063ffffffff8160a01c169081156155a3575b60405195630240bc6b60e21b5f5260405f600481895afa1561559a573d605f190161548e57633b9aca0084159360208560051b519460f21c16519202920282019102049680881061557f57505f8094819460a494889463022c0d9f60e01b86528b0260048601528a0260248501526044840152608060648401528160848401525af115611e1b5750565b8560449189630325276360e11b835260048301526024820152fd5b863d5f823e3d90fd5b633b6d034091506154f5565b909160018460f71c169060405193630251596160e31b8552600485015281602485015260448401528060011461564b571561562c575b60a06084830152604060a483015260c4820152600160fa1b8216151560e482015260405f61010483826001600160a01b0387165af115611e1b575060f21c602016515f0390565b73fffd8963efd1fc6a506488495d951d5263988d2560648301526155e5565b506401000276a460648301526155e5565b90919493929460018460f71c169060405193630251596160e31b8552600485015281602485015260448401528060011461570457156156e5575b60a06084830152604060a483015260c4820152600160fa1b8216151560e482015260405f61010483826001600160a01b0387165af115611e1b575060f21c602016515f039180831061524e5750565b73fffd8963efd1fc6a506488495d951d5263988d256064830152615696565b506401000276a46064830152615696565b632e1a7d4d60e01b5f526004525f806024818073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11561210657565b60245f808094938194632e1a7d4d60e01b83526004525af11561210657565b90811561577157501990565b905090565b90929192615786611be082611bb7565b938185528183011161035c57610395916020850190611b9e565b9160e08301357f0200000000000000000000000000000000000000000000000000000000000000161561585757801561582e576157f7916157e2913691615776565b6001600160a01b039181602084935191012090565b1691351603615808575b6001905f90565b5f907fdc11ee6b0000000000000000000000000000000000000000000000000000000090565b5050505f907fb2d25e490000000000000000000000000000000000000000000000000000000090565b91505015615801575f907f74896a7b0000000000000000000000000000000000000000000000000000000090565b69ffffffffffffffffffff8091169081159283156158a4575b50505090565b161490505f808061589e565b60501c64ffffffffff1680151590816158c7575090565b9050421190565b9061041691615c02565b9461592a90615919615910615932956105639d9b9761593a999d9b966159018c6101c092613961565b806101008d01528b01916139da565b9a610120890152565b6001600160a01b0316610140870152565b610160850152565b610180830152565b6101a08185039101526139da565b9391909492946159588282615cc6565b80949194156159d7579060209697615987838061598161171b61171b6117156159c2998d61166e565b986116b2565b9290916040519a8b998a9889987f1d9671c3000000000000000000000000000000000000000000000000000000008a52339360048b016158d8565b03915afa908115612143575f916125ca575090565b505050505050908160a060c0610563940135910135615cd0565b939190949294615a018282615cf2565b8094919415615a65579060209697615a2a838061598161171b61171b6117156159c2998d61166e565b9290916040519a8b998a9889987fd7ff8a80000000000000000000000000000000000000000000000000000000008a52339360048b016158d8565b505050505050908160a060c0610563940135910135615d09565b9080821015615771575090565b600160ff8360081c93161b91615aad6106bf8284905f5260205260405f2090565b908380831614615ace576103959361146a921792905f5260205260405f2090565b60046040517fa4f62a96000000000000000000000000000000000000000000000000000000008152fd5b9061041691615c1e565b9061041691615c3a565b9294805f9581602098889596604051976323b872dd60e01b8952600489015260248801526044870152615b53575b5050606401925af160015f5114601f3d11163d15171690565b6064850137805f615b3a565b6001600160a01b0360408201358116918215615b7a57505090565b6020013516919050565b9061041691615c56565b9061041691615c72565b615ba06118dc565b9060208252565b615baf615b98565b9061039560208301611914565b615bc581615d43565b90615bce615ba7565b918252602082015290565b60208210615bf55761041691601f190190602081019035615d7b565b50506104166104165f8091565b60208210615bf55761041691601f190190602081019035615dc6565b60208210615bf55761041691601f190190602081019035615de9565b60208210615bf55761041691601f190190602081019035615e0c565b60208210615bf55761041691601f190190602081019035615e2b565b60208210615bf55761041691601f190190602081019035615e4b565b60208210615bf55761041691601f190190602081019035615e6a565b60208210615bf55761041691601f190190602081019035615e8d565b9061041691615c8e565b80831760801c15615ce85761127d906105639361114e565b6105639202611175565b9061041691615caa565b9190820180921161113c57565b909182811760801c15615d3457615d2f82615d2a6105639561127d9461114e565b615cfc565b61112e565b610563920281015f1901611175565b60ff16601f8111615d515790565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b92909163ffffffff93848160801c1694859160a01c1693019383039211615d9e57565b7f9605a010000000000000000000000000000000000000000000000000000000005f5260045ffd5b92909163ffffffff93848160601c1694859160801c1693019383039211615d9e57565b92909163ffffffff93848160a01c1694859160c01c1693019383039211615d9e57565b92909163ffffffff8460201b81169485911693019383039211615d9e57565b92909163ffffffff9384811694859160201c1693019383039211615d9e57565b92909163ffffffff8460c01c16809460e01c93019383039211615d9e57565b92909163ffffffff93848160201c1694859160401c1693019383039211615d9e57565b92909163ffffffff93848160401c1694859160601c1693019383039211615d9e5756fea264697066735822122021d57fb103289e2cba8afc2bb1171da60ce5b202c078d95875fb05ec060bef4f64736f6c6343000817003303bfc56c9cd8ee679013eda7a057a8910907a229d1a37cd580034af2cf59235973034568612b1e94925148800fa35dde1194e3abc4cea919158771ef550f866a2dbf03584e525fd0dc27ffbd6ceaa1daf5190d68b0c9668e3c7df4b9edc97c8cdf0f1c03309424d87ac86f3c1442a1cd6143096cb223021361d39aa6cea1bc603485d36a03b457a268387beb8561f724762a11aa894dda5dff70dc78f77f8af120e508d54903d89758b794e50a835b7afa8a891d4e00a1aaa8372469a55ac766bb241d8c12af031446a03d7133432ab434d4c2996048e8a31e442ca07c10617702ca9f4aea09000341f844bdd6e76abe0b530519dfe9c5a096dcce30555250192a965ded4eccc95d03885579459477dcc3f7e03bcf9804a2671a10f459468d23b1efdcf3e5a5cf52a203ef1525d2a9ba638ada8ce014b41c8d5cc00cb7705ac1e1cd025ba76014177dd603bb255caa90e214efb3cebdbb5f97af2d13196a0fec63ef1e9f78285e7199e7f6033fa732fe076819f349b230865be0fc16ea7d61c8a192615627e63454ebebff9b03ff59235908fb0440997b8c8061594c8bf0452b191675fe05a3abb7b8856f524403d34e5dea760ad66459001c7aec43f7a7aac3e92eeaa74568619672ab83803d8b037344172fce34acfa89da0d05bdf511f15ec439c9c55832431cef397dcacc1c9903ba88a77877d682e70238d38c20169fe8dca516cb7030aee774bc79118b555aa803ce87a70e99041b23c084b4f4c57e761b1e778d2d5a49b599b113772f91ff9c5d030d09693bc54043e7dd013b8d8d24d15102db2aa43c1d68d272912d0ae0700d37035448756bc2316521bb62bcb7d75cc31858f94faa46b66a1595f6ee8dce2b2e6a03dada8c81d1eb6ae78ae4fd0a1ac3ee5402513531c4d7209c88bdcaa1d6ed451203c16e213312e6ac5820351b802d96cbf8ef9ee0292f58c3b46a55d75d677687200392544a10f46dbadc47cba763a5c6a3a668b5615c6a44380a30aeeca073a0ec42037ebaa051a4c703ca3454269c619b162681adef59999aa527ec61613ae90f0dfb03c53deedc353dbf9f4f8e74b6972842bbd598c73903823538d67c9121fe5f78090325cc00c140dd67a8416caa0bc08d6dfb8fe773d420d4e615a31cea76d4eb925703513912ab09f25acc8974e00fb842004debd8c61a147d22a6cef82f341c50162903a733e05df2f645d374314650a4a9764d0a3ea7049b84a31261275b18d0256d3200581f02628e6f0feea856b7a6202f0728fe000c601484fac9b922152f81d24a92e55820ffffffffffffffffffffffffffffffffffffffffffffffffe215693a2eab792f03b8dd29a5d34e810b578ab669281970184260ec973f8654ae65d6ea7dce29a40400581f02cad9f56e6d515424e6c8dfa0c65e56503b3ca6088c7a934537261ecfe92e5820ffffffffffffffffffffffffffffffffffffffffffffe9bef5cc956862a291450339f1e4c89426830471440e191b0ee2bb3262ac05c559a2988ebd2d28eeb9394503f177c9d789644a47ce864566d560b99bb36d948f897d0b994be533474c3b0c67034ca94f7a20479ff4b70c3bf78cb082c743993c9147c6af6df80d99054ecd38c803f380219066c92a33cf4a3f925ec26ce4ee5aae8c59c3d3ebebd0ae6ee16e262900581f021873e1d6c5a5402e47efe48907e9ee8c57ee8701cc46e266d5858cdc0de45820fffffffffffffffffffffffffffffffffffffffffffffe6a1abf585019d8c11c037ed376597cb1e7d95445302b64d1d7c3b557cbc5e2dc7b4eb196ba49cbccba7303d0a69f7812ad48983f788a4efc9d9295c7893d295ebf3e2fec2610f8c4ac960003612781bdc60ec1030b34d7fa97ef4a7d718cf1192d32cd36b3a7429d2cc393900332b7700ee8917d08a9d4a29c5ad50371afdff0fcc2fd467771ff86e6bed2aaad03ec24f02b3e5d287a2745bcbb155b6fb990e612ab4013d387490c312954fb664303389a42967f4a07cfc9a449cba2aaefe50ac6d234a8759b1b4805af67d51017bf0219ffff03e6337dcdc552a8643e6dbcb49ddd90332623a46fb34bddbf45374818f9022dbe0366b8ecfdb94ceb1d6876a36063707bf9cb3b70db7bbd3034b98930ab6862bc51030444be02410fcd9229a14c3d7fb26ba40fd7dceecbbd9b2842e15b405b1a478f033418b67ed13bccf882cfaab3c103b70db86c9c6fe8ea0305168b83a643ddc6100331b06c0dad7ef2b43a963a333f5d457fbf5b656463f4d418da907b6e54f76ae1037ced97dde0e92bc1b1e186325b36d7e32312d6feb0ecacb0a2189437334c481003eb0846a947b3e374929aa08d3804dc0b8c7772a053b7fa4474876630c4c87c3103f2e0a8ddc5d43e5256529db27aa8748b5c9cbc004831a82742c30a4958f6d28c0307a4616de51d9b4a1c0e51d32cdc7d2e5da5f9ba5c6dd85a32b981faadfcdb11034d32550a6f6463f7d7267b06bbfea6d840967d67b5746bc939f96b09062affd603166f2e9e81f4cfb9aaff8f65f7b076ab890936381694a743350b51ea9f17271e037176db00e13867f7230f9af58fcee9f3ba9b38ff33cbfefc58309a7adea3551c0219ffff0219ffff0319c4f7973d2b99132e1fdcac2f0893fe89db923f3201f2d35cf1c693e8b19c650302c56ccee0e3479446fdcfd15665090dc76c2e9d222ba79c3630522b50743755031958df320f0fe63640b8d86fff4c007f8bd8d63f4d43581c48a99d828b1a12750368a2dceb24f55c75ad297151fc1d10985c841ed0d000bab6a46ab7837ee7a37903faae3e532b37cdb4c7d757d067a65641e0b7981d1a9f7a1fec066e38b0c0a04503ed4fbf80e2c20e26554fb2543cd54edf5c7eb76668b149f76c58b5da3748062603d61e5f0dcae559551951d26350a5c240d6f2047b7d52e5a335dab58583e86a3d03feb8259ff7c25b8dc83d5a1d662aef24dfa5e1c945f271a4dbdd2e998d5aa0a603d3dfb5cd31b6c605390cc132cde0a581e15f6acc97b37b88e8e824bac1d207de035a6c0d13151c87039c317c110db325f37b34674792b6b3532a2cce8cc95384e303b9cca036cb397887dd10787b21653706d4fd944994c124180176254dd18ef2d203110428533a8af5c5700c63cf8e4c116263bdaf69fbd3e9a4311871d0b7a9a2c3038c31b1fb71a85df5d1a81334721af8635997fc4ea32449967c26ed0014bc6e4b00581f032093d01513c3d1030df09c7efed90b75c2dba1a875f63ebae85f8adacb105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05411799622f4d98a24514011e8527b969f7488ef4700581f03a0b7445ccac0ebeeee23d6fe055df547b46944e3be57401736257c667e905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03aa4f254a481dc21577ee1f10c57a60a8cf7916cc64297b006ca57e8630005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03ef07c5841b122012e6e0b4d670a6e89ef3521780d3742327cc98c84053f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021988a200581f028641947a072e037c5889c9355ceabdfb2715aff9f6471d37e4864d93f9e55820fffffffffffffffffffffffffffffffffffffffffffffffff5ef64f3908190d403ebbaef5ccdc2f71f2e5b5b2ca7181650f7c56f1fceaa7c37ebe8af7d326a37bf03ec2a60cc39aac40f2113d41ede2278752f7ddf0054eaac7cd12c6d0d77ff9af000581f02b92922ec5a85a977faf3a5ad47bd25c729515d57f4d35c1c6541e41117475820fffffffffffffffffffffffffffffffffffffffffffff9fa26225d97b0b1250003e3c8e2816dd23fad4ec87c15d6c3b22eeeaa27e01a68b822490f824e72735ab60219dc920360a1b72d4da85b60ec48963891b8492c880c1220d80664b376562258dc771ec9035dc79fc04757781e5ac78d0b51f0e18e483d5e416e0306084755ec3f400c51f7032f2246e574f63c0c9454b29973ddbc94662da8de59eb910312a443058e13e72603025ef1ea5bbce6d45ee4ed9eee829dfaaa470444e679fe74de3cf951a9df3a7003f3c332ca3b123897c6fbec3e3fcad36039b09eb17718838a107e12dd2b69a91103ac6e3bdbf109a6d97f74d4dbcaefb7f4d8bc6f9a44b0f3ae30954631ad7cff6003fd1520f266f3641d4f552cabda6b68308e43c6bf36b7ab96c8d1b2d9936730c803a5762d8efef30c3da6af2af673e11f77f1601cadbad0613d17ffda630d4dec45038aa310d675260ce0ba9e8d2182a694766e7b56b9252b4e91552fb22d01553b6a03c88dbc8a5fd75da97876d52a8cf47535077685b5239fe678687f39e457d2134e0219ffff03a95edfd51193ed2b69cb1f44316d08b5a34dc39cc3594c8566269816cc4dd2e90349c1c73e0a2188497317636415791d9a4e25133bbda172409ca9bf77164bb4440376d373a2c9a97438af0c9f7c427bfdcaf0c6afe5173b4ef03845bd2db7b41fbb038d0ec261bfbd9250d903b9ba8787d5bb15b53167d8b8102af07df37aace4ca8503c633dce6865abab6b1d9c425b2428f821d513fa2f3fcacc305805be14807077a038f99b87cc4e7c608766b0acceb7738efadaa234fbe5d0f3af9658add1bbe24f503daba7092af1242a8b7990bff0171090f508f3a01fa80327cfb6202709c346a1b0354f7c45bef7f35bea346631a78788bd2f92c43cbbede8a9a4f96327c6e966147031b910ff7ac082c5d09891dbbd98f3b061d0817064777b93468e7f073415b81b00331b12182f9ccee8bfd9ea1960713af9bc42661f9436be28972ab4c6406daa27b034e990d93b6df585ee0a6bf732e4fb1906b353b44cc7ea5a997621690518217ed034bb467117b0d471802f48408706964f0da4e9c39d19273b02a462d8931269d08035610010f4c7d86d47d464545ef490fea210902c89a9f5da26ef6d35e2db3f5f300581f0267fe9a7132cf8b81307b2315a120e7f0105d4e4c071e6719c941d3d9072f4380000003d1b13831f6bc78543723203317b7228184908547fc84b62ecfb5cd48af3d7986033814a416c2ed4250a86f21827082183477e6a0521439ed01649f90480e9c149403c80be780d5475f9dbc1ffc3e7a390715f10b3ef168f5cedb89139ae9566382820363446fe2e75522d5a56c59e90c195dafb1b7007d9cbdf671aa74246c7e08cf35039ebdb1a926d4bd36f82e7d608187065b4873084a93d0912e1babc1ad25f0a7c0035de830df6a29cd8bd48e592e098bc4034641276c8efcac852b556a3062eafe7400581f026c1eecc22d3f892875685f2974524e2503d1e4619d0659896e58aad93e475820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02db7d7785ec81c5e07818df7dff89bd9e3dc2d5a1f77b3f42c4270b52f8f55820800000000000000000000000000000000000000000000000000000000000000000581f03de970c8bee1902a46ceb52588035c946a51766efb742eef0d2112b79b6d04e020000000000000000000000000000581f03f7c6782dffc807b099e0aed3adeca6010318978677f7e6ccb8302dd809605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03131bc9a0ee697f1acf10e1e5556b232f6c7905f2eceace7d449cd30d37905820fffffffffffffffffffffffffffffffffffffffffffffffffffffff369c2f6c200581f0303388bf2aeb6b08e92b3ad2538f2aaef6ff976c0d0700afff0235951d4a0581e204a180441400003006013240244104501200221010ca80040000014018000581f033bb5a5f896a9b94f541c2b0b0ce736786f77c71fbceeedbf172aa03476505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219640903b8abcd72d72984af7af8236ac0e4d20e17cb5a6a0607357b52c83cc52df27f650219fffb03e0c3abed9bde6dd43e5cce5e4814b6c822acf618bdab476f740915ff5283473a03b88e688a2d76d724b1b0df9b9e1985f29ef27161ce1dde19cd994be16b5a26ec0397aab8eb6f64e817d0c982e9bcbd54b21ca0e238fb6e1cd44d02e78d5807c02d039399c378966a40375c265e129b68630476e9519b4ffef4d3111d4ddc08f09ed6034ade2d98c01526c5d7394570e2563fc25a6cca0563363da70e7b6bff4cdb1a5a03f92f7dbc5007b908e412a8799db499d84e95f43c342ab582485c793ea9dff09703a32e9fe23ce1973d46e9b5b17dee1abd5dc3399da6735341b2eddff5ac967e080219ffff03119ec974ee6970fb09214556165f638d465f77dcc0e234c60e965cbf0aba454a039cc862db7dc42eb3244c1536d746e4995c331cc5fa7119ffd9f3a7dbfd7f12f603f4f009f9deea2e2101a3dd51fd9243e3592e4ee90f04282494659826ff3049b2039ae97c39b519b612d48f0c94672cc0133281bff3189ad57ff8b5ab83f482c0090377d6ece2b52edc47cfcbd573c1284c44ddc8253d28cbd4f0b1121fa25afc60520349fcd7dc2f04403c77325ade59284549f3664aa1a5642a7794fbfe727f2f273d03ef28dff4a6e0a780e67d10a8efa19444045719871182d7f41e98302b2811232e039bb380fc7df8ce14b3919f0e416097026367902055b55045611911a1ed67091a032a7c9c5b3744b60dfb00346ae81146290fa88adea7c7ddb63c49f7d5b322fe07038d150ceb4ef265dac6e297ad20fa9af87f8c9342cea67a400d14dec72fd6e8cb036b7c7008f7cb71428cc9f94b094cd303a7c196c5527a65f400c0e7f8d66b07c70219ffff0334aa4d95de557101cc295f6527260837b707f876595f63c996a8823545f7f0c7038d2aafadebf54422bb28f18a8ee68cf4958d786c61ac6241be8ca644e388e931030b8cf1285c5ecde2e351730a51079cae6dc089270e3cc945ac636d8663f73b380219ffff05581e039c2ac5ebab831261ef370aa8c4f51929c79cf4b42770acd4bd33b93e400701195ee603197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e0359ec36de58241eb18b95b9b7d038aa9a7832980d7f04cd9eb159ed79b007011bffffffffffffffff05581e035eedd56859f90107f334851ca47f4fe9be9d059aaca01ebbdb6e7b32c00c0547034aaee791f80003e6197e5d0576f310b56e9c32875f7797edf1a4ca6e101c6c9a6cb4cb2739be8205581e037045d5fcb2a66f85e7f76ce53041602347e97c899d52949c705fb05dd00c014716a78fe7dfcc000219e784039a57e648c3221d56b33eccd5f47fb18d79c3f31a0c04467e0c7b06c488603ba0032765d3d7e2bf8e031b5e646066c316a946efec34944bc9b7d26401e31c3ab4ce03fc143adce424d501a025915ce8bd7c2a13097a1c396f97686c705550214650f903e67f62a1ca43b1cad01bd1a13081f353d1df93f39ef9bd642fc58272587c86ce036ef1c6073d39ed5690a2f8362c04afd56ceeb9aa7ab8f914e830bbd1b970515e03de54161b8d48beca853cdaf0d3a56e4ad4c2cdaa589a55bbd94a7a250387997d036a58123682a0b6eba555dc83af577d9508b5e8941d03c9b1bfe9e9d3bd8207d2032f90c38fe00d9d914d0fddafd7a26cbbc9dca86b4a9e76c0ec26d0d2a1893c87039718333be28946985c4a16bcb29857873cdc155fe77ebc5f4d08bdabc54175f603659a9cd904da838849c1a8c780d4b76caac26b2a92a4c2a8ad7361696e33cdda03126b799d4e7b8896ccb5261ec0f8d2e09d05f614789ccabb0d150bcd0f8af63003dc76ba59872a5812ef7f384aa2d1d2d7f573669adb6f0a06ce0a511a3bf31f830219ffff031e9e3affa2869cecf4e3d300d9e37faa8abeed29b44a6a3f41e700b0c41ebfde0329281e1387ecdad8f167755425f3c233c4153682b13474810d93d533e7cee366031c341ddc3b54c23eecf385ab3ec218c6441400fa44d023a9270e68e9839b2bbf03bdfad3b9af63fa8b68fa647b7c6b964c28a8038f51ab7e9a3d7a641f0c960ad603f3e6cf188484fd21175c14eb2c720c433792ca35035e6acbaebd6e0c653c2bbc03399def4c52ea51225a32a29302d25bf8c43e6be19cd0154437ad096d3ac0c10c03813ef9eae574f9f33dfea6d676f696f38e7b5d460391f200ad02b7cd858ce5420219ffff0310713725e7582891317b8f2bee790ec690ce46527dc72a6a1e8e59450559d32e031d21e84f146585f6b0ccef6c4ca4a9884fa52e2a63c944d332bf03ef74def742032425c265b27252fc529599bb1094e262aa5da1a60150c201f9b8079922bd4d400360bdfa89c88958f3b0eb3d93542de97424567d062683b9853984c415d867e2e703b5eee9e529e7835ab1ef382d6de51c43ee79fa62c6ba0d7d58182d2760a94cb803ab40b58c0e97b55fe6f25d000be7bfcfebd9cffc2b8c7a14a8f3c4d066c1eaa00219ffff039e7c963a2bf8ce0d3f1b21be32982f5d0b1dc3d6a089e6d80958e14be915ed9a03ca865e1489603228ed777a683272cda161456fe2fe2b2be2d42d2173c75fd94c03ce5d40373aec5a141fd4cf73c497203b5eba440ac3470e5c6349e18cf619ba9003ecf483a7f254fde75e9e0b585cde3c7fedd9b79fd5e6270fec4fe16d747e5e5103c8140915d9434659bf476ffac2d646d3ed7345efc9e36ca6dfcf31c9381dd5cf03f673c0da08a887132e0b821bce3a3a7c477e5f956d2bdcde2ea7629efeb2697003471d76a7c4744c0c298eaa2998086ac3c202ed2282771a9c16dfa6bd8ca78b12038f4049d92d5f89be95dff210822abfdc81d74bc8d1c7d3280f0dcec6343bfd0303200c72877db66629b51db39ddcd94feffa996f7acab82b4823ceae2b787c6e7b033118f11f79e2b3e36b446bd536d0c191130e47406511a6d7acfcf9001d38c1960335fd1215b07a850179342d8fe775b6041f3439310783037b353c697a5ea4c88903728095663fc37de284572f32074949930a40531bfdb985233a2b732229c9d938035bd5a75fa7dabd8f776a19b21a994cbc18f335ee52d8db30ab7154cd81ce7a2c03fbe60f38840eff8e759b9488d6b9fd22bebe33645c245d7fa4dc248d5c9f6bd803125c2f81185e0c7cc45afd578d419695febbd6ad2b287a21866b2a068ce8536c033e24f7fdce9cb6f97fbeb2e54949225d45e0ca0423aecf057b4caddd62a4c3c10328a87a089a0822777413947b2090069e1aa95deab879e7014990ea4ef8b59cf905581e035f34a3be96a6a0ed33bdc052d7101a7c29a0d9f481183ae1aaa98c3810084740050c8e9ecc0003b7fc1be8001f39992534c54ff0eb35c0059a46955c049dde4f6e1334e5b792e005581e03f72dda7fa2ba08266f332a7fe685ad7b4dad8c132587385b61759a4ae00c014703d4537e82b00005581d02e94d1f08c97a92e662fdba4d9aa15781abce1e4cd36a5ddeccee4ed40c0145eb28b0f40005581d02684641cb942fcc16d76a844ef40bcba3735f6e3ff6aac13b54068431040105581d0239b87d51285420071b7c507020a25dea46cf3218fd76b95a6c7cd78b0c181a47daf4e86dc8306d021960040329a9011388cdebe139dfc48bad3d82fc3840ea28454b4b475bb4c38953238a53030d4aa59d79447e4b31f2d1deb0f18d7fc97e5a3e42a54c5241571a574c6ad6d303653c147d80039adc5ab7d9bac3a061c8c01071bf1b376aa787ddca9f740780c605581e038ef3d81209f6994784a7a9fcbf09832ce36ba0258ec679896f36cb618007011bffffffffffffffff038ecf40b4103ca7b0ba1ad2431469e9115bc682c1efc1cda53f3862513b79108403eed251b18354c7cc6062a549f62b654f98b9b6ffc8f985966176575a9379b94705581e03476b730c885b48aaba45c8ee5f92419ab78e3ae04662f1929cb76c4300040603c1eb5a3c078bf98ce58913e66e0225d2178eaccee27be486c134bbc170f251c60300f6590690c73e0af780bc931b9a20b77838b791ef19cb6ec881acd79e93140902197b770307887e33df79017202a5fdfdcfb40e287125216d3d7247e642b30a10beb8d9050319b430243ab859b851de422f1188e4b288eb281ca04781d049b8468d8f73a6d903d7de946fe649470c996c3b0e8a084faf4478d1bb224bcbe84c6eba3448dc679103e79ee548f1a24e1ddecd8c37c97dc0f40cb3920266f04e6d87aa2d85f2cd71a6033570b03c98a90651f60649ac19c754ab265f03bf08733d707c23ecb5d2b76a32035a0a11b6f76e47dd87a3bc42d8cc95373bd12f0e3f2720c0729714cbd9bceac90384d2af8d834005bd7eef67d2e9c944545efc191c5aa639f42ae5a769bdc4ae580318326aa3d8740106bbc749a047b185405a3a15355f071d663ae2d0097e2005a50219ffff034130922aba8cefecc2b89f09444492066df048ffd6ae0260713666a8e7bde71003ea61a31f1a14fff0a5f0948315d5c13fce80b07336fc0b74485c14b87ee1f77c035e4b3bdf88993255341f82a5131de53a546981b208e3cb62042247c6652ba0f30388b2f9fbc333f9a2728e88ec9a992cd47e9e8f7acb459748bc17a85eda7e1d5d03cd0cfb0fee99a2c2b3a68d1342654edb29eb212c23af45af0517a8720f7273fe036c97714c77ddad21b34776f336e2aaabf520537c5e19e66a76d3a899a12415dc037b468e79e99e58a812265da54fdcb45fe61fefa31bdc10ac55d0dd171905dd55030985bc65e4845e081a33658f9752f2695f8ed114785b47d0f473829aafcfa9ad0219ffff03aad25cc628db4fe4f257dad88e7f6aa73b915cebc53760a6a55cabfb7ef79eaf0323927ae13bc0bc4758fb1ce4102cf93813b3880d72beafb466766acbdeecaa9b036eeb3d8275be400b5654b1facefe431cd3e40ab4a7d485c9b3ed71c80deadf4f033b6f38b31b869a209044f63a8fe9d4694b71cfb65368c5cddd9557dca8492cd103b9465befc76f3e7bd6ac1dfb5cd0fdc6e06d406f5e6f82ff69adc1ccf8fe95020310c05a9050a9ea169f7494c0c21695dfee3460fc93533238869c4b715f498734030a78a73edbef319972aedb4e73c52399e35ec5e170cfc2f90c41d85917348acf038e69af5d9534d3387f3af3df155f8340b67f4c781eeba4d0373530abef4abaab03651483e0a1475c59ba3b19aae856747da51914a9ecd01447ddae12624b0fcffa03e093e8622cebc020af2faef363705cced33e2fcf4a8c82a7361b7af0dd728519038124b08a49fe004fd2e38900175d883c7e12ddace1b05bc79bfe2aeeeb61039a03e2ee68df317efd399f476f73c466281d2765d28ac06785a7a67544fddb4a451c0381fdd9c1793c6dfc31223e8170caa07a739e510895b98af386f5e8a10e784d9e0219ffff03e455a7dfc620ecc10890e51d190bffe06f87a2fd20f8ecb3fc8f1469e6c6da98039675ba98cde46bc68c15e8b7718f8e2dce1ba5fc4918113206215976b389beae0219ffff03fa8734532bdfc92de20c15687d526f246b9e953b907ce2a2a0c701f396e9dd8603e0ae9dad97f65fe329d40cfa4755aaa4528f98ece6ed30c52e9a2a915687c27f0383d14be31995f49eef57ec9e92bc980131e18361e9644f9bbbce918b615fff2803a81ed574ad26547aa51c2897a97bb94073190414e7430c5d75b727d6f84cb971030318518876cafcee5ff041d3e4f6774c63df20b39dfa6d9bbf8e466c1d4cca0d03df878609ca66eb9dbad1f7d97b66088f9b068ca11bf876c1565b69ad110879970389f13e80589b7748f57230729eec8dd70fcdc2b4e94ab752fc8e5a328d05c72f0347a6337de7f899660c28cd15e6ab1c2622fa3f777398755101295b9fcf7840c80316fa30f0d660eee457655c40697f85a9f7278fcd98aa6d3fe32a0e710589e9a40343bdaec976e42f6e5a014b0e5b8387600cd1e1681b28e436914208abf542402b03cf48195aa94cabe592d4adcad90a0f715e4c70348fff5d2a626e5cfa0798a8d1036126fe9b2cd643c883f33b01bb104d9fd3a44de2910ce5eedfd927ca941ef75b03152435afa0197d0799351ee948dbdd530bbddcc8eb58e5668aaa0d90d370f8660306eec2ccd27691ba62994c00e40e55bc3dd5d4288f43aa62df9b8d550514ee31038f7218b720bf8b6dad7e69ec8086485c435cc5be6bc03e8dd4af16c8f85f15d60316a9e4e01ee4938d1c41211e63cd594a748647bc58846197fa9d924b12bc1c21030f6e80419199d87f1066fcdf5a81bebcea3a496dd59c5a80bc468615bee4190603616fbc86e963418052933d438f1100cae8ad2f1fec062d4eee5b1ee347d8194c030f90402dbb815dc45b4ba9293356fe4cf785f606675abeb5fc47849025d08266036721f3a9d3f442a9ba467a26bba7ec67e8ede3f09f2379d303127174f56c3dbb0320fa413609e030dce6af1ef0a12181ffa14e20753ded5e0c5ca2d2942904384d03cc452a06b25e65acecaa1f79a4ce191c2b0fd009f1b81a1716e5f05c4bb0f14203ff0fd6372743e32ca602c55a35c3419dc0c3158c31b68fe8eafba0a47b04d1cc05581e0366fd5a4303e42b2634920a18a21f931d354473ca1a0b4b49c27fa078000c0347020dc741a69b0005581e03719e2dd09b4dd5ee77f03d2e69aeaac1b0b0d52af22c14745870091bb00c0d4702b79e37dbface05581d0221e9bf9f34d5aa1c4ab4f02d74b2aeefb18da3d3a1939d06fcefd8900c024701a65e077c686805581d023531135a23759d2fbf1c55222bfbcf00f26d1b7388b948dec2c3d5540c0246457e1bc868cc05581d024d3a98f3cab69d7b73caab288820c69a38307bacc8d1292319d56c010c01462268ae8699ff02190c0103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0347c2708b1fc253a14843924ade8c1b6c797b2d9371c58761a0ac46e04007011bffffffffffffffff03d9a32680ba04231f5fe54e6c1b007ba6b759900bf06b53b6004efeed217db70505581e039abc59276f47bf8abb9536ed90a49b8191474629e276a90a2f47753940040105581e03989d3af0e4e93c23733bb66db3c897f1c9abfb510c56544d66b6e467700c03470180787f7c640002191ea303ce2732750b29b6dc04a3f2115d8b1fff34ac86afeae82821f7cecb5cba4459fc032614d2910fbde13f3d48cfc76d5633e96b03fe131dd3919ef6346ac14014765403b01b33359dcc7a0084b37db0239b09b44d2a119cfcd375073782d48355fc77d40355d0e06ec3a8fd043b17b736117686008e273fb344ee199d981097c034b49dd103adc805e5414a6a389a3fc2836e2b602971286bdd4dd12ec252e2039a50e8b2e50301d5ad73df0653c076c688840715d8059389058b513d60ee690581d0e65bd7110219ffff03052b619b587ed5c17d819a3e54457ae12160fdcf52618ff892ea593a3a49531f035d73f36c9c79864a827487bbab128c9f7fbeb1de14042acaab411fe4387951bb03b384662f6bc6456fa43a3d49b45ad1e35a80c5742e9d4fa86628c074a311018803754dd75767105f14ad08d783d08b09210aaa2095cd1a306d9001e7c6d21eae92039a97458083446294fa01c6a533703adc56adbed77e2c6827f084efc622a6aae203156759ddc91f47cde40dd5b8355039a9d13f90a775622defa0c4838fe031cecd037b0451e5fde68b8f7662f26a36a03032d97d06b07fbcedad6a7296c41fb193610358808e4688eab116987fcc0479c5f295bfe3935d261d9e4d7729b605429038af03fc9425d1e8e72ad671c77a7f41e94f9359d17fa71d54e642541175a004a48fc703e9329f6f1bd42efaec67e52d42587c436a834e639f955d277c1ca567035bdcd203abbccc054a334ccf7fce02cfc8f5cbb82a2e3ce82445ec888270c73c2b6f661d03a6bf41a002372da7c579ad40a8fbf8e48ace07614a2b0d724f90eec873bdfebc03f6ebdbb73c6f43fdda99d4e55e83c10f87d550e7594bafcf96ae663674756b2f03d67350a76276ee1772414fe13699cd319f2e5271fbb55c6068a4a1fd8cda39380379f492f7d161726e6afe8d869762404e208c56b8f433592d3dfd010c5f63aa9f0219ffff033377fdc00ebc5122b57a5902b1f61028c6475745ab4b33a745f920909395f2e70375c7481902c3559aff4c4f79a5d923bdda1410380755c21e0421ff222117d65a037e212f6013acdc529df338f3d7380d17e8cdf5ebb60d358cb9530cf0cb82ba3a035aa27489b89e0311197384206d3fbbd2be96a31901f2d27ea1237af80282fa7a0219ffff03bef0d91419403a8325800b1ddb8d3790b7afdeffcb22c1ab4d7555b8fcbcde5e03312af752640e92c710d1fb8c4b69e1060bd557ebdfe34995c83b5dcfc1a6d027032b8e2c033add945f838e3b0d1c498e3249ede9ea58223b7a96b16ca3ffc2a8a9039b8065eacacb6ccc9313b9932bf512a04e78636074eacc26e3f0797b64f6d2ce03a5e2267d113e5702e44fd2900634c158ea739f7deab1402ada23ae0352f4e02703513ffb4d50b4db127b571031b768bbf81b4f31a60f85e6550df87462b8a97fc50393dc8014082e0cd2c09cb13afe00cca430073594be6b5bf2066febe860e8d39a033e77c67851d947307a4366b9b3f47f9ce30de470691e03cc30716db81cc3988d03e70f0869146a6754627943634eba994b2c3c15cfc3e1db114dd248286ac9b27f03d7e4b5eceb2476bc680b40f1d782a724be0c6db62742170768bb23bfc407efb90326b84b9e95758c708cb9310ce0c8c41af5736bf8a2807541bb0a280b087ab2490395e024b10b922bd9a407d9d042879738aaa91d11ca78dcab23ebefa485037e5e039146f239eaa280b5fcf80cde1aa53589de35579f115620ef4ac89759ca2c1284035dd0e1d0707d219fdf4af0af61d92ef22ab238f4ad19fe305cc9aece2a93b7c903883439a9c123e7e879dd8d09c194ccaeeb8cf2f2fa1e67156c3c155302d9d3d9035d5d1402da3bcab947b677325f0ae0c619157c2e1b087f47429331b322ed3a8105581e03588d1e131642ae66a325194320c2ba910619879f1404168b37c361863007011bffffffffffffffff05581e0351cc7998b6f3a09f3a70dc6aeb33313d14ad6d50b11ff29a188ff30bb00c0246c139a1295c38038a3a6cead43c01d04db9f61e701727c5509048d25bb0f0cd56c088949cde237f05581e03503a3ad619c877ee59eb0952af3d35bfd0caa62f61d94d14c8b64804400c01460746a528800005581e0395dada331d6094a5e055ba55ad2381b532bac5d122f606cdb3ac9590e004010347f719b9862e98f42da3b729de37787e9867f7630ddc2e7ccb2b4f9c7b5ad23203f2096dfd4ca1a93e052832c094b00213b2b26d8d95b783abfaf3bc906d319674034fea3084126bb20016b46a15145713081d565bfc2d1115842efd4c4ef70293d705581e0317aa0465b55246829b6774fc06df1ea69726455a2189f03994895429900c01460746a528800005581e03572a99f4322b666feb8816bffaecbe449200a2766f6494c1f4e0186b60084712795f58d5000003f61d7ead23eca97195821e508616148c11ae4cccfbcae60721253ddcaeed2a9303a74b99c3da42bf2a68a89f64afc3d921fbbc43688807ce26d1efe07ab523581805581e035bf2de3ef3e471b16ddebb064a01706ff97af8066295e1cb868f44976007011bffffffffffffffff039ece56dd62e2b4a6ceb58b58da28db715b8f9b7d58770921a8a2d2833f58927d0219b77b032914c196de5aa94d82fbc0f6aa2e4210482d79da3442ca9b45153349be5ed5d9034e665d4b6903d3c7a783cc44ac709569c96d28618f918a9f46a987dd18d718980373334d2e95402affa9f2cc3ed490158651784a4504e6b3d98fe651777b31d6c90383aafe9ffaf99e9f943ac816fa9a31ffa370f374be412f30bb803bde88b7e9930353a7b49ab4bf01b9ec46a7b3782088936e74e11dc0ebd66465c7cf1da7454f660350632f07dfe998ef32a935fa297b6c1cd01f31ecb44671aef442b59c5988a7cc03f8d61fd17882b2848c65010ab7bb13245ebb62a3b87e53567416de4e2a85333e038638105e6577d8c57d95a97e12cc34a766920ff6c8a54345192573310eaf434603a2a94f26b3acd2de037eb335a50d44fa6353045422f1e3ca991150f8104dafa70325e38da50955e2f3b577f6db091947661bef70b2d6d1296d4974fe33859800ce0219ffff0367dec57ddb89c1318f9888d5ba6ea4b588457c17b2c3b2e38f73ab8193ba831d032e6aa78955aaa22d97611bf8e917ce5f9bb695e6d8b268cfa016c9058365d9660387a6f1bbe24adb51d4df36c4356cd92833949b772ef33f018c7bec6f18b74a6a034e3ccd38eb75dc5883885f7293df2ea46064b91f6b12d3b5d33d930698e7570903ec4d38979d7f70f16c374d38a5d5cfc12b5bcb88d0f8c6becf91845bacef2168034e559f9e36c5c18f961c4ebf2dd07bf1140f13e776397f2f84178257b404551703eebdc8f6e059439cba895c585e6e69afa1b2ddfa8d7b63e6269974d1bf6a1b5703c59457cc4ac98d35ac433fae98a2454eb26670d72399e5c09cc8275fa89b817f03ecf7ed97db44d37bf14465b16ec4a579174fddbb238928f78cace3d0f22fd027032a8cbee1d8a71e9383d375d72b4894e3580773c278c5704564eff8146657a0b603f158ae59035d57d766a46dbcb23dadd3bf7b84fa6d06954652acc8c5fdc3b6340300f1f50ac76c92621b49127d2b5b64bf2772fb3f6227166ffc0b8611ccd02a240332e5decee7d8d860a9d1aded0506ae5af7c55aae16c4dda300edf264019a21810219ffff036e292d26831e6ed63c52b80e57571d20cf9ac7e42b2dd0b504fd14d8bc24e4590301fa1722a0bf14af3a68999151481d09017052bb5b9875c913e0ca98580bdde603beba1a7de0648ecb97781273a6bb814fc8b5e1c3f8d93bca1d20cd55630c88660329261e55d632f86620e80ab2402ae4d291b1d45dcc57419ac8ce9ef229b8c9b903d8f9fd70c0a0e9659c90183b8de421089b5e871ab7ec9d0e469d899a90d98afe03ccadb3793539942ced21675c7f0e412cca89906f825eb6bd27979f24dfb51f5903d89184898920e094fa7208b0ddfa2795aaf6cf7d54b2524078bb7cfff0d71fa7036e51a2526e72b78e0baa38638c963935ab38ee8ef740050c6615e6d7f8d78c6c032b827d8323754943fc21029c0f0025c8f1e3ec4ffd21126e11b4bcd3a57bb93903185aefedf09458ae8403b94c005e25179029e2f88d6707fbfafb6a4ff4fc8d490219ffff0321a40a28853cd6f8b8f3cf1d7eabade79ac4406076df1d8ce3a7dae53fff8afb031ebc159289e0db9ffbb6e0199fd8408076bd1a7cb6e71741fdcf31ebb8afff4703b12f2b86f6bfc438daa0fe3f5c8587dc3b925b21d78d0e211a22c82ff157cb2903ef9dcfcaa8a8405a85b5e0433fced0d6ff818c8f7f70dc2d5477ad4a6b0d4c700331c22edb1e77bc9a246072450e417344a1762aa4d8240443d2cb2b84126a6222037920361293e1470277fe5d539152201023c24ea3ca44a7e20474fab947cba1de037d60b2a4069df6a28b36c450c1145abea0782d6ee62494cadbbd15fc32f416f303afb603efc59b5dae28109edfce8e51658165f2a21f8f5504b2b5cf8f2ef7a0b403c7cb53eaa555ccb8d2d4cd49f5bdb5ac9006b881a9dd4e0d2c0e9c5c48b19b0d039e534e23cb9fe767dd21dcf4be45111baed22d6a226faf7ed3f9434a1d748461037f84a020a8d68f94bda7386e0026dabf56c4747a064e2cec0d289b8246e5e8f5032d210d809e75e63bf34697779f4bd1dcd237eb286cebce544ec25081e3f9d8c403c30c9a395c1e5c5d95412b9b9ee36c4293c0d181dddddb88452b606afc0972d10342b506b4c8c6fe70b96a7f2840268ff116c19fea7c81c962ef564def8e23767d03b66d76df4c0ca6e4ac42d321d11117b7db6793e3dfc2b08f3cf045570c99e24b038c63242674681db411beb92d14571e094c520d8dc71772bb73809d24d6776aed0383c2d09aa5c9010a356d12a9347104772c61b642b9459c2cce26b8d7513bd0c303ab9d8fde8d7faa8bba895644fec282632da83a7ad4e69531eda3195826623a96039f7f9d3c4d5f715c66cebb36af0f8ddbf7b109f4e4cf7436d30070956c093c700391b9d3638277f8ec23dc68bc090e251df654b72fc2d7be234e9273382b0b0cde036c77e348dfe7ec06276fbcd329e439af893bb3b63fd76baee03bca9849b8713c03d8311ad766b879804b8ab336911d846063fd61275a9855a8c45338c5498d0bb003ddb95d51fcbc28fa8bf3772b325b3b3c7b0ea70acda9f485a55bb241d18e907505581e03ec0826a96a1acf219a3a9e44bf409e793a446b50d64a8c059508af19e00c02461e9427f4397003cc51f2662e47ac26308e1d5858fca3f7a28fc3f6dce017d2e9019f76927ed74e0345b68a0d4c42a6477529b56f2e991a3e94d19bfbd7d374b85cec99c1891638c105581e03c5eacba59eba527a792dd044c024e317c7e7ef72087c156cc02066bdb007011bffffffffffffffff03e9237f14e9e494950316a7a576b642fbe9ad1572e5d792dcf951d989d9e4fa9905581e0334b8763076887815e2e8c09d0f06459514d01871c1c62d3380ccc2ca600404035a191e7fa82b6a99c00698c5f7e904113267da0a6cfb44fd479f95f6bebec17405581e03244c2751aff7948b3650f6fc9664abd8bdb80a0f9b6ad83677c5b6a8100c014601ff3fe0f71405581e039aac33823a2b0b21f177ccb0ba760912102d9364c7ec1d58be4c088010040105581e0387c328ee3a4d86192117952a1d59229fe034eb5a4d6eca6281f31a8830040405581e03e8bcf616428a20ec2e66e1b78ad98d232994e8195ac96e45400a8ed2600c1829480111918002b33f3705581e03cbffe153ee4ae5b34ca5db1bd6ac7f124a52133d02bc70c2825627da10040603626ef8d1909e0f43b83d87202e80cf6670ef02eb70247a1872f77372a9e1275905581e0304f29107134d90b7dc50af251731bbce14707e70d6770091d70a5de9a00c0247014a3050edf7a802197d9f033c8958424d935dd6abb33e67f3be16852c40a9b57daca992038263b99c56a93a03e969c4db6260e7cf6d23dab7e02b33db4323f459eff251490dd30eb169f05c40030a760dc97159484b6be6a04d92b830603785f6fb347c5420231f0dfb940af2d3037d22ebd6312f09f81c8abe84fe5d42eb45e151b46f1041c59ee6776f8c0fac7603792bb22b9032a3fe54c43e0852ffcf7c9cd81bcc165b825149d2c2fc0753985203da37252de08dfa892bd8abfc6118049dbc1729deb6e6b14e5e2aa48cb74341f603dbc7ed131664c01bd5765b52ebd288dfceee7bf8e236559cd3b492e37a6f3dd30310e5c471f5d841d9ab27d2751b51872719781bb0b0cdd7dea48bf3aa3237483b0321aaac92e64135939ca5f6f8b444be0ef37bb43e58e16c8ee54b5b855116570703593ad14da5acd1ffccc870b4ddad914c5729bc38fcc090042281cb853799376f035958c54af57bb96fc767fe2b409150f37090357d5ad6c6953a2b7d1aaf94baa3032a52a4f12597ad258e70e3c0e846fb58ba402e5458fe4a2f30aef8bb2adc89e3033220a27b106bf3e25bf4d62a95958ffc853f895d7dacb383d5a130b384435e200219ffff0386c567b9a10ff06a029c578f141362a9b6133cb6191506bf0b1b0a139bee458403e143e928d0ef9bcc9a9e650f5363fcd08c81f98dc9c3f67a39ef072d1610183303e3acdd34d16f25bb9459fa01475e7abae6228609ed5bda973cf031f1b4b6b2970312cc793081861d2fbb0f64e65cf8d5ffcae0389022eae746bd3e6d3cd12796230300bc045c7ba251399a7e4e76f060d3bb54d39ef18c6671456e38816c9b23d43f03c528a95142fde49c8e1915debd8538397e80596f78955a6f6a33c944c82c46e6034db9bcae71df143250f4a50b294239f5c937cc0a31fcc39351e173eaea4adc680312869821d76d44062c17bd26a9583959e706969392d5df00bdc0c4e856416c220219ffff03d003476abc9916ba3d3ef6a5975bc66299e3d82a5b84ea4c633ef1c602ae17cb0219ffff0347838fc454afbee3678a2e731f30c9d18c8503b7724b18f356dade7fe9de07d1035abe06fa25374c5006f2219c9f27bf7fc07c5bad8f0bb5418e19cea29f8d1daa035403455be75b05afef48ff378f8bcf9cf72973523599b8f42d338d00ce1d830803dbf8caa0c750f00cbc4e2d4632378dc63e3b807ca9776125ef6e702c9ccfb35a03fa41d9c4cfc8f4bb743163228bfda11340d606615e633b7485948312cef85624036523ea5f8322d61db0ade48b422c39ddc5ff6b619f2674011ac620c3f956fb2603a85d65d2985170341fa3a1d413618938a6c3742a645c15c98810a264a4926192030089d2b33f762446f089db1dc1282b5defc806540c707fef0737d3df141d7a5703d8e902cea0adc1525b504fb5050257ca5e87e3f1a466b18600b02adf12633754037c7bc4e67a2fb67cd18ad315c4a195daecf17263765ce91546b00dcffc0b1273038080b2ed7cfed38c9287b4844228f8117ae258e5af9004100602b6eacd4fe0f50359190fad8433080327484533da7ab2d9f230ab84fa6b9fb7c8a75c43cb8615ed03732b83f06bb2345cf2290f550347acdcb0fd7e5d1f991c36fd778e58757a598d037ac09a91b335c0343f7ff1a6d0991623372b289c1b2a9f07952073aac0fd0b5b032fe1b138695a0c633479894cbca9682a57d7a4d8685b2764639bbfcfa599681103171a7ba7dd9964045468e88346dd98e9cb6ab10bd386948bdc62f2c746d9ef4703cb9ab78395c5ce45aa206503077cb3f8de56a6c9c07c21e186ba505cd87b17d803b116aefb291521910424c3055f2589d02568ec81586c4258480e86173727bdc30362a38e4f8e84626aeead153a1deb97643d6833864c845562df799aa67342b98f03c1579d92c915fb22af89ba394f630c1834662075f936877d49e28fce8e2111290380d49c75eaf283dbad6bdaffec9b661e82109823497763616796fbe66411693903addabda416d7435280fa51246934556b4d37eaddefa761924adee6bb2af1ce5b032a87a926ccb438cb97e84d5486cd85d14b4d0c1d70ab6068d769d6b2a09d2c160372949a8e14822738ef32fc7b2586a4e92f9713e28021ff5b02d20bb79ce8aeb805581e036a781bceff0c7d0f9a472946312ad042286c88371c5bd1631d2e299cb0040405581d022be4491d573fa19272d3e65af44411b8dff7b5fbf6fd055c2730babd040305581d021e212d3997d766fcee377852b130f257ca46e9ad545d20c4e82715d80c0448023319af3fc79d080219900005581e037033358d8bc35ce531918e914ed406ccb468aac68520b90d86612e38a0040305581e0331d307aaac0b214383dc98c6fea96a8123cbc65bc5bbf5d14254dc6bf0040105581e03480c2a09c520dd1fd93d7e965cc184652152bfbc63797a061679a261500c185147010a52773c53c80335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e034b20a5a8a31592001c50ce92484440fde6aca0616b5327c375e62745f007011bffffffffffffffff0219d7b9032fe9fb3fb9f37b5fff9e561564011fe780d1a38146464fe436aa4c137c2b77eb0361daa929b4a419c1b83109d4ea2473756474fd484457d6c5994a7238e8ddca3403a0c335f8a1a596937141c483b3bfbe5407f4ffd441814de9b665d0a30e48468b03a127bf0863f05e63b6425b666db280ee223ec363e56575411b8bea568acadc560316a96fb1594eeb1a71869ea17e1d6e3cb66556b20c3928cef1fa80a2d80bae5f0346c23abb6895bb3471ab1c245051ad201d2e50ddc2a38531abc59574456475aa03639c047fd75cecbca1e022b30177e333872c3df62809d58a3ad142a6f4135cc70331b4fdceab184717560c7b3202101d9ed5a3122d415ed63d7e130c96a640b6970347ac2a298dfd5d3d6fbc8c8f28e6114a31494f39033a09eae028e03dfd44dbb303d21a5a4cf57e000742b95911e2362474b202bf087b26f49cff7ff970aec5c40403e4a354e2a2725f266e812a6f50e0efa9bfac4edd5cb76cffd6442af44ec608c503409580d2c03825d14594b3b3f6db8c44d02135f052839ece6570cdd79bc3553903e0fab5063a653d1897862e88ca62d222645540675abcdb580e577a123fa60c990219ffff03f5638e4814c9a3ff94a1bc96bef0b56396143579b0d573abc169856fe1c6563b03a9d9037c03b7e956d9de1afcc648eb1581911128806c8f542d92cd2a99bfae1503174010fc2053eedbc481218b2a914609238fe784eda7ff0cf62ab8384d35a9f2030d231b0bec6443a08ceb4b8d9406460b31cce7bd4bf08142ecf60f83999f8f9903f25f945afeb77ac54c35b46fef130e1c77834f5993a28611583bf80b1c6f67480371f96b7cf2e2512b7b9890c85efafbcd8017b98c3ed24960b40f79ca158f655d0365a39317bbf7f0798444a21c8a08bd235dfe94f7953968b114b83f55e36ec68e038ba8b45bfd99a16f63154b3c8e40af47929a346433f7bd8040ef761d6a4d362f03e8c14009a40e39f804bc8fba9f264a08cb1b61f84ba0ae4e5ef94571786574a903fffb49975c732f40bebbf42fe2631e77ad679146c3ae1e8be11c4c7c7184ed5703567e189ab8f292ecd6748ea14c270fdb11d7dde76f5c9043804fc751a583b1b803d037b19b27d1c99f552abdfb878088ca9872fb9ce94028d0570957bd97b523ac0219ffff033aa9682c63ba26af6cb56ee46edc31f81599e0b112e8d013286f9088e7826eaa0376ed7ddcd20f261c775d80da02b2dc6fd36b6168bda6bfadbf44a08485665cc30219ffff03a80f3bc573d90e1e39f9b84e79331734e44a6ae9ac2feff554e415e41b0eade303e463beb3bc470db98eb48841bc0812e493f6e489b783e3812b55740285c8fb67039238a9181a43ea75f557dbd2aefeb1af743a86ce83edfe91d49fe861e9cb267c03ee1cdd1159af459a06fbe0b49aa5f0e152ed279adfc224af3023311e4ceac0e803ed72adc7413dd6da4e8fd163baf00c0243ab514c116c7ab10aa74ff4d3a5051803be6ecd2e8a2ae2ae95eb39d13488f8a2550e04599aa0ed1c317eb5fa38e1b86703139e61d41a87033452ce2ff4f2e4482547a8e279fa419e9b9f0017c515b4e3950219ffff03cb4f4d435f44a110b78ec5722b37474f67d45137ca93584b2869ea295687131203969c8ceafd4b286f0c51cb592a8b48d1a5da743276f4b7a8a3dc9f7e2fdf72d403777117ade76f79110738bce580691cf4da2f5082d901113268a2e6fee02ed16a031444176f1bc69cf0d272bcfe7d9bf067f5d89dcfec343004d3edb7aa8c56d28803fe50e6fa2f6e4804c1b2ebdbdf0897b323fd48ab5baa4d953d137ac30e7e35180359e9f38c1ebdd948b3d87fd4dcf1e9ab7c022dc88d672eb0fb4bc75ba926c95303407b159f97a6e1dcc49cd7e9050510338d1052dadd207f2949e8875abe4fe20f03128e0937fc6220a292b0dc344438508f9d3603bc12156370152dde84a7dd875a03690bd4ac1c7d67ca90a28a0a0fc06111600ce15b0e196efb78acea87f4faec400396546003b28347d65ef8b01df10b690088357d020e6b8cb31e49b7aff91110e303d810dc91b52e928000c04cf1e41cfe7f7e58c1d841c331753b0213cb27f2b4c103ccfe525c037d5250a23969315a46bc70c3176602cc8dd98ddbd1c7d1b9b0d38b037dd48860368b7b3d7ff1313896527ecd265cc5289659689565df3440b7be0ec203f0c6ca43c5b85da87199b98823bbfc7d6b6a5f416ccd85155a2ebb1e35b22afb034f4d30f9f90ae818dee0ba0c9f21d343a975ba659c0d0a0ddf8de5d9c8713b6d038ebc151cf889029d0736933e2f49b40171d8426a5392d546f1e3f50b1a0ddef50318326cb7ff4adf3c2b7f29d89f9e22848546e189b1f47083e3c1c9807c79a9fc03196bc0667a94174252453a3c010ff08cc58f429ef5d6a05fa79a3e9387c2875603617e984ffc43407b1ec167680b34006f4d85cbca0b1fea016ccbfc247933e03a039f5d0a73fe2446b967bdc00322d4255d4cbf2aa6af3baf8c6bb2b5c5fb0b1bed03ac71b2af7ef1210ca10f18b015c666a27e4a70187797a576e23932071a1315860345f6f23b99d37cc566498e8074100a44e19b1a609f53d03b5cf2c27109289e8503d1e2f8a77dcbf257417b7d52aeb32d76889da857e304d63b547cadd4d5200c8d03ff5728f98612f8c54d60c0f6e3f8683b1644e55ee46e53657fd75fb18d026c85034a9b1984c5819f737741f77c9557064acecd14013884ca793f0aa000797b5c4803d64a5c86a5f1b4999a82dd391bfd4c18e6136b55eee820a13d00b0b6709f6d0b03683f43f7073e926572d50355087a2bd1c5c05ed4c51e171feff7cc867e1099a6036bf7504829fefdd8ff85306161f28e2f0c25fd9950630c10a3ee290c43161d8903548209a445429b828b147a6a79987084d39de5b3a36227b9b8d5b464fdbbe8d6034601768dd52446bcde7d67b880c93acfe6e3edae2e585127ccd6613666803a6d03f8a84855db77eff1d7c217937064848ad77a3104368566ed6b5f6761b97bc26f038a4a0ecac47808e36683215021608a76df6df9192997aaa241a65a397839dcca035d72c2b6d1cc06a549993ccacb1604cf987be311c85620c40556323586b7d29d038046d6fcd1adddb13b4a94a09bac8deb49ed671d45f006cdceb7ddc94693ee0b03ce0678f036b3c080325b50d6d7bf7b16553785f99f30aeac702c5b7096bd0c1d03fedb09a1a7382cc683c71dc21002f170339544c3473796d67e9bdfa8292ab04c0312561a23b5e6bcbca37fcb2c2af0d9d1d3286af91abf75aeb71327601de8075a0330ad1f04996798bb27af953e9ba7fb8f061e96956069d09c8bcda5a9b857907205581e034a1e4ca839526fd79b524ade383d8ff6667d4a09abb6fa8bcd6303ffa00c18d54623618ead58c805581e03ea0f7e58d716e35ad1823e6e4cf5b1e329958ea0d1c3c12d8abe9670200c03470c5e44ba7bf20005581e0325d83dfd5ab0a63e8bc556fc95c26b966655b33cea6cbbceceaf22bf70040105581e03b54d0bf998e5e0c137a30c8c24f52e3d0de9546ea27ffd582d9902d110040103a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c0324e8b17c02cf1d07d84960732a77f3eba87cb30dbc923fefaa85d9bb1dfd89b405581e03a1db77286bef1371aa268c69d7b9565e177ebeeb46b7a49bee4e8302d007011bffffffffffffffff034ca1cb890dca524838bb48d936cdbf56267bca3727233dbad28f7d57b4843bd40350670067d3023f1e9c91ab3f9bd0f4440cdc4c523061bd54e681ec4e73b6d13203f890b57523003c9e45e17dd4b887dc72ee34642c81d69d65c7633a57c648f91d05581e03d382fbb0e2acb7e4bb972572ae03ddc1cbe5cb8a8375c6cfa1a6ced8b00c03471a6b0ac0f8787e05581e03c9557d2a8d578e516cee6de6fe14a94fd1453a4acfd63ab6ac9531b6e0040605581e037861473cb5722785ba3f1273aa0083b8a6bc16b17bd74cb78e72369ca00c024701db687e53598005581e032b760b604d5c10fcd5e9ad1f506f5a456c74b7b7e3aa7ada68b99769700c03460e7b7ada5fd00219fdbb0219ffff031189e80f60ff670233f35b3292d60aa42a8e4a087449978c37b9ff69e6dd306f03d326dc7fedfa29f55eb24eafd9f052f4b187c7dc5ff0eb32c3293931ac11a18f03b2b1fdb0a1a805e7c6ec3dee62a937dfb1026a0c8f54bc9f312adfa552aae8d403a04fc498a18190bc8ac724cc56aa3df16d6b1df50dc111e584d6893b2d7e849503fd4e0fff091f0b7b8d710fc779a481dd11020fb1ffa268b7a61296deeefc30ad03ebbda7fb5f9b0d87d94eaa6a6863fb3430fac4b9c641dd55e24a207e3113c36b03aceeb97a9c9a8b0c3a6bd16763e161aa8a1b73d7df33490078ad4d6c0f7053ef0219ffff03acd3390e3eeb9c6b53b7cec5d729fca255769f350d3d2d1db10da841ff1c3a8e034381bd2850522854288e93b40b632e4c9b1d2c451929e62871380f62684c517c0219ffff03e8eed54cd767a78afaafc86e852d84e30e0e86553a8087e65fa2957efed7190403a0da5d1c80b845399f5419ec75da72327abe4169e2142e022f3462a2c2d10df10340192d69fcd0955c3a3421924c00670ca81a3ccd5d8b1d4a48219ae71af7f20203b8aa6a3f5494634f6c38fb052ae7ead84958b1dd1f5d64ef3be4b1a4fceee548039901eb46febb4a7da50ef88c5e5e24b177141ad9771be724fdc265780c6f402903037e3586055d874b623c773bef47cb540247084a8d0044139d7083dfb037b53d03d8d382792616ba17772dc07d91db08769bb0841046ea5eaa7a21893fb1f3366703e8bef0784ad01c39574e61ef8c8500fceec3ea5f9a6cfa3e621d7f6e93de931703fc573900f81df5152ac1c6a79d2df3322264ba3038082580fc5b021daf3eab5403979f74bfe76997d5d28000ba7854882f7358240f26de202fa0ae426d564166bc03c5c8aba3e3ab02caf57b87042f7a10de17b961567108834eb19b9a717aa989ea0347b4573fe4490573e676023677701bf8b51f9315830ad2bfe9a82af535ca8c910300eda6e0e541efeeed656c115f57dcf2d8eb34e6ded7d9c28950df0bf4cc6096031a337a30cf1df7fe83c4bec4c109b6d2c23307914d77543483d4141ad8583c09030c0fe670c5e1e11ae72d56bfa466930d7917a6c29be13f469c8dc353c618b38803caaed1f6d67dcba816a5707240521e3a08c223b5053fc76979da87d34a00bbb20372370f0112ed26460f21d6f54de4479ee79e403b27f6c5cf46d4f47ff6d11f66031da7ec8572d46a64551829444ae75d4c73ad7a4398421abb0f232658ac6e820e039d094a4b2a683a4e2cc1b1ac0c4670176f09b283fc3ec99a90394f3ee1f901850371d5a0bec94a3454a1f5961036f779aa3e73b3cd1c5ddb4465378cb44378065b03efde1648fa60f3923762c3d1168f09cee9f56d99e5c6ae88413e7c7b9bdb2096034b4d32f0107072635b0f20d098cd087aa92f8048e058182f9ca5212fbfe15206031b47730e9f270d97d6421e04dda5ef32c7c6231f34da5ed866cb90a157cd07f9032702c6721d39144fad0f06e2fa1bd72d1cfc563639af775ac8c3fd488983a08503ecb6c33df08a9210232667265653c877352a8229d96e392b50d4f34aa04c4a2d032fd113883ac2ceac71b45981ce9394c5fe49e4c41439e1c7fe18ecdd6d9347b803c2d259cc1a633d3729d54825091ed4387de4fff78f43e6b69991ce93dfdb49c1038ef2204bbbce197599b95d528fc8a126241d0341411dbcb09e6d4dc402b3d9d805581d02efb1271a52aaef08ca4345a78c7ae668a00082396cb9ea78a33959590c19ee844916f76fec2e3472b13805581d02708c6d1d045b562dee48ed01cd679f5a74fc1448e0b3245e657ef862040302184205581e03b56b73d5998931f7336291f6a3ecd1666f05a95d075506b6af19ad15d0084758735ba827377d05581e03d503d6ab580c9ec8473b9ec6bc227bd1d0e7ce79a654d1cacc0d13c0b0041003d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e0344365b420d4a1b30c865b5b846cee77ff3f4a7e527de8e20f47ae5934007011bffffffffffffffff03b494aa05ff5a72ac0c6f7720ca27664f7d681ed31d53ec9f6915be99f67b285c03f424a436405296de0fedea4af100abf03b7909a2a36698f865bf376013d24c960219e51803b2da9590e6551b4962db5bc0413c4328176c4960f95901dbf9aebe06f43ea74b0313c2355ce4721c08117e8c9560b1903a03211e4435718c38a3d4b7235a152511032e96f775113260fcf64355562f2f58f84ff9c0f7679deda9ec66505b72cab16103b32d0dad29c32d660a22c2791983685b974817092d9946e31c803bd16443fcfa030ce403682ce181f2095d183bb8859a0a126740c99a4be3ac6386c57d12655c1003c5fc4848660097a644caf044d70f74168a4a8262e836383c1e5dbaa37fd1ed9203a04fca0d1932ec214930f02a4624dc6c104abc87468b441269c50c629311326303d227ea461a007e132c84d1e28d1f477e71383da8c8ac7306b9d4c2585cbaa73103cd8d4de52c455c07dce0908cdc5e5f77f58607d022caf44e95a84fc01850cd070219ffff03069c3018f5c977d61b252f2e15f99ced348344b317510e180d20c5865ee86e1503575b527e7b732701e3cb5ae5b10418a8deafc2c63a2c6bb04a6352aec41632e80354b10148661f29e5f695f79ef8f233db9480bcb109646b0fc6d6459849f8633f0352e3ba76faabc53bb824197cfa8b83445b9c8f5ae007ec079314af05fcab26d40219ffff03c78bda4cb622884c7c48564f5715ef375a82e8b18832c90dad5e278a1ca32cc303fe8c5cb80f93b7efa950df552fe0620ea77a4842e1b0ae959c8b3b44fd43bb0a03f3d2a2dc7ecea16afa1d3c964c6f4e26339eade905fb70e9b9454a16372a06f8031ef737565ab2e3ac58b4974ca7073bf7f4f3716b8a974b88c05077c36c08ee2d03aad0b73a7ae3f48cdf4835fbf5e712ec074adf59dc86d22b2a5707b2ad40fa9d03385d8e54469e233bb22c11619eca14bdcfed2d7f6bc41867ed2cc030285a58dc03d93d88dd3711e94dbed762b21d279c11177ab1d8584261a3be40981e9d075f460398bb383577072178aa8429beaf382240e85592e69b6f9766c0aed4ee59c91efd0301fe4b8568c01af5b3407de9a451eb0e9c7b3384d73ad0e07c31b79a1768013f032991a51c4d1a76a54a7f62bb7613ba79266227f5893a54fa1bf4dd95af2384fc0381b65e50d6248da40dea7b93a4d6307416340360bd66318bd6ce6320d08d6b9c0364b108e39f348be2aabf31f1ac961cc7088045369e8480e1da4ebe2451075dd7037cb0132cc43fb96f2fb9dd19fe2f6d1120c475cd5b3d58ab109aeda142e6467003f7f4d848ab26dbb3e037555b6a732eddf684cd1767ad9dab012f335912fe162b0219ffff03b056319169f62a5044ed1ad5ab661c349734c32002ab523946f9fe0a0214652f039579a5a0e5abc3ae3e55bb444ae723133645b47f98509ed6c10b12ba60e833d5032cdbf48bc3ebddce2182f20020a2c6302dee2688e5c8f345e527350e3ec094ec038ca451d549d0fafff6c25778ea24d5cb0ed114d449706218ce41e9f9e00caaf90219ffff03af8a5d844d05a1aad84887b83c8484cf0ce3ce558d44f4dd489d22acb335acea03854c6a7431b7c0b4810cead37387ffd06f1e9b951ddb66781cacb3fa7237342d03d7bf33c08f5d624b842d5e427b4a6d3319d0f0d7cd500f445a5f4e74c390721903f553c72f1078dd4bd8508fbce29dda562e3162ad2d00e5b0afe849088cf27f7e03b1541d226dea26c55b13aa492ff0c4a88e220ee431f2ec1d8d2012cc3c2f5229030af7f58446268d3d8bdb3975091e7b3c72b963ecd343f59bf6c6993300fb1731034845bf0aac4a90e2bc0f3a1150707a3ced3ade86fd30fbbb0211badeb7d280050315563620d0513cf4adee1234328e85a1e0b2be064c2636a5fff16e1d7dfc65c50316db3296a0c26fc580b69f2e0cf01ca04fdbf6257c00264e1fddf8ba28482e3303e15a4e844ad66e3d8147702236169e285ddc61d02adc4822e5843894b4a2a707031fc94b1bb996da36278241602f0e3ac3fa2709d79787271dbfac531fcd64382403b33974b8673f74f4ef9b7692ff8525c43e30a0488b10625e7db6ac3dff238aaf038780637b9ca9e709ae77577025a25858da6bf1bf6c2ebe8ea3bab14a27cf247303e0f8d7d325bb65640c71b315bad2a308897175beb29cf292bf3de00999ddbc940334d00eab7029dda423a72108cfee3dd3c27e89975cafc978f0f998b4f4653aa003ee09947b7ba9dc1a61d1156764b9d76ab483b011e279b3babe978d38316c769e0345b079e7c4ea39e9019ffae43ecd59e485be757bf1a98967cc97595983495db203525cf9c1b70a2d002a7ca1268c376cc593ddb65ec856c0f343bb168af5bc458d0353716e1462a469b5b7460d59959d8728f22c01a8cfe8390b59943ccff0fabe25039201959da6bf5c12d6f606a711bce173cfaea38cc52d5501d8cb1678be93a9ff03f12e9ba8542750fc812be1d68deaeeec1c8dcf2e905803651440e7c8e85cefe503de0742fbae8fa65e7966381f77fcf0e2b7dc0ceeba5e583a995705d886924a81032c4c38f55f34d52f2639db339ee93681eaa43c1b25d392217f0c46da469bf43b03e31eedec28d3841010883079be77523aa39a02a2ff82b05dbddc0b20e34d6b2703c76d9c71d5b1b05bbdb824c51025227253dc6bd287a7a24203c74fd5b49d5e7303b3eff32e2cd46e7d3a95d2e6f9d2463d8fb92677dc75dffbadeda224ef8eb6500339e3638a2fb82d9bf2237458ece5ded105eb5a9510f49e63317b532f64b06d65036b8c8d7dc65c0af3f4f83ce1a1256bc9d9541076edd121afe761234be6083abc03b49cf9342e4abb5d61e778e129829fecf71577ce64a553286389f9af99b0848205581e03b4778db9a58449c1da65db6043c416854b30934157ad620d0df31cea700847288641d89a0e1203517982ad95d31eb467ea8ae0a26c869e8d3520f2c51e6e583717f911b3b64c7e014101033fa816af02baa7ab44565d206f74c9e77d4b18c117f503391b5dfad5267d885705581e033dbab199fad7bf407bba2042c611be9745adcd31a4ee99d72a63da2270040305581e034d6e5252bbe52c25fdfae673e593173119c7522e1f0aa203e925ccede00c01470a5079c6b67f9a05581e03a6bc5c19b8d50e4d6f0fd4a8328cbc8f40173f4a734b6138e55e8484000c044706b123577690e303b75616d47442f2e4c4c39b669e4ea5ac32ae6f5187dccc9b300e3b9f78545d8c03aed339da5179b0c5fa2bb74f509629455954bb8554e5bc1494f915bd2685d53605581d02af6cd2e3ced650b2bac745d1e03d82b5f6cb35fd8c9c535b052506d5040105581d02089c8da0ce71328d52b61b3a5a16ede4f679c64273cdd20d61ac77ce0c1a000315ad49012a4fe0705974ac070218900355d8226d8667a2279491ce0e8390af5d476f40a4de4df8b2e94aa5e62f8954f703715958326f2ca66002bef40fe8b840c436cac477dd85d984a0d9569c10b7808501410205581e039ff4deb8ca55472e28c21f0272480c88be62c79c918f6df71d022151f00c184948094fb7d2ac2a1db805581e032e94c4ccb741d78debe640d83233f375a8f696b34913128a1e14f0cad004010219f5ef03101808ad8c5d7d6fc272c28c0cbbcd048527b040f25bdc12a9706321d26d7a0603c12dd71db3fdca14160120321f47e85f13c248a68b622138dee96effcb9fb1e5039c02b9c58ecfbb012d4f0faccadcdeb458d47a938cb7912eb8a39536eb5c49e1034c1dc1ac82325776d614ab42a9a62913d02140f5a4f434a250df26e862bbd12c035545d2e1450875ec0acea69a147b03f90428bd7a99e166d8bf55325ee39d8821038f9e7b8f807ba66a188dfd39e332587890aa252c9b66120a1ac1c986e55c91aa037606bac7e514f569c1c51f3f3b5090a4188cc6c8225481c0978441c7621dd3b203641fc627d2c9a32c12f6c394db5e628280fcd39bd520d61305f58597121db49b0374bf4f841832e5e493ff49349e623b69e6d32141f1bfd4e3891bb5cef451cca0031e6a48b25ead4837b801d0c44b353f7ec2e1f77548c2318fcc79b47795dedf630219ffff03b6c6618de34f52d4aa79265e56b533f08f54cce302d51d4ad15c6a0e284b1c7203f0909ae3e2bca9f3a982375a8894d37daa31ed9d855547ce7186a261100f203d0380bd9be31e06302bb20b3aefb1f9757c1e44ac4139b4ea96a80eb36fcc791ddb0219ffff03fa180aff6d538f0bf9e74d4acc7485ef34475051100cf9b4c779be46d5e5f06f03f153ce162295cc0f221a0d3a26e31ab145341f0797f11a8e939aabad4bd8740403d009891c42738af61fc389d9d795433a304c8087dcf0da25fc1ccf4a5889369c03ad86b55b1e8d8529618c988dfb51112fb9ee43b23ec7c96676c141d9084ae90303aad627dfbbbcccc02258b888a464898e4cbc88a0f314ba4c5880505ef9f0ace103408e9aae3dbbf507b8a3815e5eda5940814c59397dd7f436a565715a206dcdd20310b6354d170c5349d17aae99483ae619717b85fb2686cab52cbaef50891fcf5e0336ce6859914bd6d9157cbb4907f1f7a97a2579c94f028f9eb2d28a15cdde870f03ce7519ce8e5ea77c5538af7434bc197962946c4b75e3bd85e4dc4c6c09b06f4903af9465e1a2ed6c548ad8ac8b14c5a34806005e574d3b21aeb1b0d4f7c3030d2a0314ac51f0f1d4f34fc5b038e461f8ea5db908a8312ef4d498a1b5718aa7ba86e00358b6e5d97bd66b562a26d8cc553cd0ead9fd20dc231a40406a8af55a6efc10d4037efab9fdb01cdb00b5e193519efa1d20fdb29006460440c9860c5f52a0c67d450219ffff03cdb9e45ba25842180e8b33b451ed580554ce6c1e3974986371a33740cd0d6eca03388423ac90b1bbd9a1c60b34fd15813d6e555066b464aa3f5e74133c80eaa916038ff46ffe55ae8c59f561a4a2447944ba48ecdd957701020815d2cb7dc21ccade0370d4067c57c49727847076d2b192bbbdff2592b12dad61368706f884eebb8a8203eaf31ce54ba22d2469e43be4966d75aaf427ad19e85a03e6619bd226cdd86905038c2bcc40a647114ee6ff5bb335c0945b28875149f0d4dd03e62118ccd4a68504031a7156e9b0e13dad5d085617eaf8a6e5187e2e9791040a86d382a6a277646bc40358d1f4f33e5aedb81d08801cc54e1022bfcd847632e716f0e0fe573bac7150ff03653e37ee8464989a4a047f6e92e51f420ad935fdb19f1c9204c47835124f8dc0031dac2ccf31416571ee41836cfb286f027ef6bbd6a7ab1109ccb064e1eace744203eae42e98ba9e1f2482017770cf1913685ef23a5716dd241a13f3cb044566ba5d03ac9905ff723ac88605893bb92218b8ef3dc945765236701b66c76c47dab2583d039e51f911f056876f8bd6ebb6947fea889bcf902b6d54360e241649e3607fd29703403d04f50193cd3ae0c80c5122382242a3faa0b14deb4144c41c4683ffd0c48f033c47e5a8ec08922ac1f5d5322ea795e62301d8ef7cef7a55dc69f09a56a1d53403e7555b217cb2d90fa554d44027a1c2fe0098b067e5c35d296a000775d7e5c39f03d34fee0aff5c206e2093479b424890d814ad4a95c86bf9cd686a82a6d5f81ba70347f8be931992418fbdb5fe30c776b39e4dbf878b69fe4b1458261679fa2b99e803f7fa4a5632bae3ce5d0787874df63c6f142cccfd8af16ed56e9fd12990a743e50331db85eb18d6cd9aa9d288299c65cd90f2228676136c5398433641b92990123603449d2cdcf95386f887344cc3cb7bb5ad05e27b6a606c2c3960be8077b5af3f0205581e036c5412300f7b409b3627255a0587af4f7c285a5afe94170f8f72eaf8b0040105581e03a12fd33df836dc65aa10b6441cdc80aae3e829dd44bb07e3b4254aa3300c0747012034ab61d1f805581e03f3f08be3840bb07d37b01d96e18166545151de93c181495409cf5e6700040203898d3f136f289a9a78d37970061a8cc9fa9419774d161fd525e09ba3429ac39304590f61608060405234801561001057600080fd5b506004361061011b5760003560e01c806370a08231116100b2578063a0712d6811610081578063a9059cbb11610066578063a9059cbb14610240578063dd62ed3e14610253578063f2fde38b1461028c57600080fd5b8063a0712d681461021a578063a457c2d71461022d57600080fd5b806370a08231146101c6578063715018a6146101ef5780638da5cb5b146101f757806395d89b411461021257600080fd5b8063313ce567116100ee578063313ce5671461018657806332cb6b0c14610195578063395093511461019e57806342966c68146101b157600080fd5b806306fdde0314610120578063095ea7b31461013e57806318160ddd1461016157806323b872dd14610173575b600080fd5b61012861029f565b6040516101359190610d66565b60405180910390f35b61015161014c366004610dd7565b610331565b6040519015158152602001610135565b6002545b604051908152602001610135565b610151610181366004610e01565b610347565b60405160128152602001610135565b61016560065481565b6101516101ac366004610dd7565b61040b565b6101c46101bf366004610e3d565b610447565b005b6101656101d4366004610e56565b6001600160a01b031660009081526020819052604090205490565b6101c4610454565b6005546040516001600160a01b039091168152602001610135565b6101286104ba565b6101c4610228366004610e3d565b6104c9565b61015161023b366004610dd7565b610592565b61015161024e366004610dd7565b610643565b610165610261366004610e78565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101c461029a366004610e56565b610650565b6060600380546102ae90610eab565b80601f01602080910402602001604051908101604052809291908181526020018280546102da90610eab565b80156103275780601f106102fc57610100808354040283529160200191610327565b820191906000526020600020905b81548152906001019060200180831161030a57829003601f168201915b5050505050905090565b600061033e33848461072f565b50600192915050565b6000610354848484610888565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103f35760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610400853385840361072f565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161033e918590610442908690610efc565b61072f565b6104513382610aa0565b50565b6005546001600160a01b031633146104ae5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ea565b6104b86000610c1d565b565b6060600480546102ae90610eab565b6005546001600160a01b031633146105235760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ea565b8061052d60025490565b6105379190610efc565b60065410156105885760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420657863656564206d617820737570706c79000000000000000060448201526064016103ea565b6104513382610c87565b3360009081526001602090815260408083206001600160a01b03861684529091528120548281101561062c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084016103ea565b610639338585840361072f565b5060019392505050565b600061033e338484610888565b6005546001600160a01b031633146106aa5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ea565b6001600160a01b0381166107265760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016103ea565b61045181610c1d565b6001600160a01b0383166107aa5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f726573730000000000000000000000000000000000000000000000000000000060648201526084016103ea565b6001600160a01b0382166108265760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f737300000000000000000000000000000000000000000000000000000000000060648201526084016103ea565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166109045760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103ea565b6001600160a01b0382166109805760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f657373000000000000000000000000000000000000000000000000000000000060648201526084016103ea565b6001600160a01b03831660009081526020819052604090205481811015610a0f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103ea565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610a46908490610efc565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a9291815260200190565b60405180910390a350505050565b6001600160a01b038216610b1c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f730000000000000000000000000000000000000000000000000000000000000060648201526084016103ea565b6001600160a01b03821660009081526020819052604090205481811015610bab5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f636500000000000000000000000000000000000000000000000000000000000060648201526084016103ea565b6001600160a01b0383166000908152602081905260408120838303905560028054849290610bda908490610f14565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200161087b565b600580546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610cdd5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103ea565b8060026000828254610cef9190610efc565b90915550506001600160a01b03821660009081526020819052604081208054839290610d1c908490610efc565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600060208083528351808285015260005b81811015610d9357858101830151858201604001528201610d77565b81811115610da5576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610dd257600080fd5b919050565b60008060408385031215610dea57600080fd5b610df383610dbb565b946020939093013593505050565b600080600060608486031215610e1657600080fd5b610e1f84610dbb565b9250610e2d60208501610dbb565b9150604084013590509250925092565b600060208284031215610e4f57600080fd5b5035919050565b600060208284031215610e6857600080fd5b610e7182610dbb565b9392505050565b60008060408385031215610e8b57600080fd5b610e9483610dbb565b9150610ea260208401610dbb565b90509250929050565b600181811c90821680610ebf57607f821691505b60208210811415610ee057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610f0f57610f0f610ee6565b500190565b600082821015610f2657610f26610ee6565b50039056fea2646970667358221220c57bb48690ee1399746d04f7dfd814318dbd9cffedbfd43d61673f82f2cfee0964736f6c634300080c00330317e1327fe46349d637ab565a0dc51b86f8f73d489e4abc92bf224b6fbca1ee7a0371eb7897607ca229d297a406a7de75a0de401ebd382bedf8ae0705454930bc7303830c739e6be81dda3fe654b8d3fc7abd3eae22d81406ac6a94d102a85346590903e47c94d7e1a75f58fc01f356cd58bc0263411de8e1c2e0dbf5357b93b678e3ed03ff735218bdb4716cde89426c8ea06ae750b6f074a8ca92bcf4ccd84281673b23036d3a25f860734108b928e3020833a607f6d244544518d5f9b44097a05e78c00b03f3420f5b2537e722a947b883ff8e8e910a8bb1e2bc88bdd0120e443824a2a324033170a2d4f42c4e9ee212449b0813f656fd466182bdf446348ace2056c5446f5a0364604198c1b4da857537c3de401257ad62c0a05b3bb1f4c7222d5e6ce35bf0240308c36a741ec392d382fdc7831c36d59dfbaf5dc8e30997a1862058198328455103b3de16a47aaa7f90672177b05d3625c42a7bbd8292e1647a8afde88cc76d66c703a3c0c2e7a34e94f5c2b3c5fbf949cf39c0d653150f4143ba0d3c4c714a662fb003c8078ab8119a62ea0c47944e82ac8812b6cf284c91214905bb4974a4bdd99e33036c9b18e510462c44574faba0e27a1dace8a817b016ba8e073efbdfb270ea5ffd0306aa0b68cfaa1fcae31b6e864b6ac26c7c669f24fb1a4be3e725a6ae9b720bda038712501acb33ac49f8c35cb1adf8e6b94896e768a0c91a060d17e845c18c694303dcc5f141e472bd2dbf1703eff66b2ca89c9a5412883ebe3072bcc1f9c27b837903bd4bc45272456e60d64d3cebec472f35f9159e003183b15d4dc6813c36c8b65e03fe86ed294e321ec72375eefaabfb215afca261246049aa7b50ed6cc4c481251d00581f023ecbba58375c1ca5a505baf06c2f9d7e94cf712ffafc8e9726ab988158c34a38eb6d0126e23620400000581f0274a42b879202d0afdade6933ef268e3019d14c4274406ab902aa46addf154a0f18bf962fb0da52cef603461f19fe6f4a0e9e50515c0b807be95876b762246bdeb4e23d1107efa6890a1800581f028b01f90ab3fb9c1bd2f414fb3422ecaf51d6d08f6ef1cc3b9b7b48773b9149b09c6f035cbfa7800c00581f027b85850f30b9789a011eb7b32f69976a1667e0a9f8d715bbba6afeb201544804fbf493ee92bff100581f021159c538dcb252550ef42fdff7c5f0edaf8d1ab670093247bfe29941bbfd4a0644291ce4c4fdfc32e000581f02309e9fab9d580a75e1c43c4657cfa2462a1f8af7f352f14f5717f3278ad84a082a9e0d830af5abe01500581f0371b08151ddc623bc28099b319e2fc4cb88c5d543de234b769bcf1d324790410100581f0379cd6fa18e816aec9da71047757ad1610b346e71f872e4fa9fdae28114705820fffffffffffffffffffffffffffffffffffffffffffff9a5b25da2cfe93fffff00581f03287d5d4b13b53f4d66302f021a4646552a1071be3a5a0f9ca6cf3340d3405820fffffffffffffffffffffffffffffffffffffffffffff268001e5c32bbc74c47021908210386b59d2f7e0f6759b0503278509441c3161bb022b70ba2db760f1bd9ff827fde00581f02aedb9444618db1e397f56c8e28e1323245bcf11022824f5efaeba114434249f88a18e76f89e4f8770219eed20317a90626bb1ae7ac019dd9ad15c7b83236d018763ca2ef878637dc30463153c5039aca32d9b41857b1f0a8f1c1bdc192c9eed922a8afcfb16878e9a17dc1cbb300034d3c479988bffe159306d6f307aa396a637b8a00354f4166b70d4a78eeeae4c40333b3ce029d9b05996b7ce7a7af83f1d52270940de487eb08a9cb6a0ce5d02761037377505ed415e1ebff881bd6f1e77e4dbed6fb8af1c228b4c554c46f19699963033340bd723ec8c222ff3a04f7a10130d8fa98cef93f900cccf5f23818e62d7d200341955ed7a37b3ece7a133961ad96749fd7570b0a09cf2c073d9a27dce24923530219ffff034a2b7a37c0c4003a0b61b5e7aa433ebe6218cae822142f9a8bfa541db2ea3ba603d059a36770a613c78c743dec647eb1e03eee2d4c1e0eb2884f23ca72cb2f498b031d2538de29df92622bd686dd97b36d1d998d10b7117dffceaabdbbcea53853f2039c05b660f0940704d4d8563c4e9d06c5ec7d6b3e4aea6cf96307b2bb5fd370660219ffff03f8a316f114e3ad3ac65c01eb955417517f41f7c581de83991001229905be6efa03965568eb55bf9cd8b1359954beea0030720c796e76277b79e9e378cb00d51e7c0316f65c48bd3beeccd58f69ee0d813c08fb77caad1c84e1c081f076849cf7db97037b28b4930df0c9503f7cce02fb38fbcc18486029aa659baae2e655c496a0ff2003c1acaf0d381f6a9d602bd1babcb51f0c91cda0602e625f1f1658f45afc40cedb03d36693a8ea6a4fa418dfec80e03de25bc368b69c0781aca5a6cb685f6894a44903227c90dbaf8c92baeeb8b596ecaa27b05775df289ad19363f2c55836992a427a0399fa800f882b42a181efe71dd422a41c33206978ea7664669c8b845d2147b58603c8789c1cdeab4795d27854a4ea0a6cf89777dd73391fb180f38c1cd612bd6e32030e1e9862dfffd876a37f9489038232a2c56ee414f88b0642ef7df5e9a4579038031eccc5416431f9e68687f1d1295777a0ce3a894efd8d3109b90a9d2096e4e37403febdff01243dd52b08d511b1d4ae0b48392f3bb932d7a98330c81ed981fc8763035b12f497bc11dccc6ef2ceea4414d497f974a65e591a1192c8518529700fec3f030411ec4483be6f85430d6248f12d4cc6d219e8167456fb6b5e7a89e0d9931aa8039c39b419062a057fd8ba4893f590628ff323addf7a452ed635b9b5e68c8ad6e400581f03246c9093f28241759fb6fd46d150fddbbcd6d9a8a75b724cc04b637262305820fffffffffffffffffffffffffffffffffffffffffe3488c17f4e9335f173cb4800581f0362cdfe36fa22dd26487723ccd566fd5279f83c11960c91b4a425292ce7c0497a2a8502eecc9c89ee02188800581f028a9fe45c94c48fd89832fd987f6ed08884aa2796c87b0c901a3cf53671675820fffffffffffffffffffffffffffffffffffffffffffffeca2617e51a4642304703b02d6a5a2faa27ef90a95c34e4cc8615c536a2ddc9d217597c65ee9fa01aec7500581f02a56f8ef863f1bf5add11a945289dc462d11f82dee747c4934acceabbb98e4a1a0d78ba61227e99000000581f02fe7a421c4448753cd44492be176d46025823895c00fc5479b4ff1634d028490681263e8f9e76fd4c00581f02d331f61b87ee70fb8f5e860ca54abfc54f736ec8aa2742050ba7639f006f5820ffffffffffffffffffffffffffffffffffffffffffffefd96e2f8ebd995e2e8a038b6a918c3f546fc1a75306dc5ddaf8c6674e74f356f8cf0eac816b0492fef29800581f02f032182d2d45fff14da687d83047b039dbe9e2fa0754a1acc03c745e4d3d4a0af6f8dc10ede561684d0219ab2303820aaa14f0e0be084b76c42d717a4d385292969216efad350c1ae21ccde5e0830381fb35965ddc2bfd4f5070a45bd7ca68acca1ea49ea38fdd0385e3453e6968d103cfbb7f3f74d4679d353da85aa9b9e85721fdfda234acd40bbe29b1d9e2a01ebc0359d69b46e1bf3b32e2085f5c4b260ed617cfe2abc196fd129d5d7d4906c3de110219ffff03d846002d9681f42f4cb180df9d39fbe2078ed1a2f751f21f3ffc7250e0c1528e034e9ebc183a53a69c711743dccff0e88894a6ccbdfe2e9a40f9468f2b4867d44903e02a8a0c76a2453c7fac16fc94738f58a89c32b6e0922b27d821e92c27bb42b803e9b3f170b36830538fe0c0d3602a617fc5d10b151c3aaab93f97d136680a91eb03270c884492796ee472ddb5e8b7f63c5b72c9263674cbc5da4b511ab37e28ef480321f3be9b976380843bc9314d28f7c704585df400cd7645ef23277208b96fdece03735b88710c09af2b71f2a0529fb6d46a13f191d480fbeda50065a80e76b7bc7c035d2749f6d83de8081a93da136d4915d2c65cc173b3fee6fe1c206527d3f9554a030b48d6dbf4be00359a94bcd2a5bdf0023599271b18c13abdb028833b827031e103e2fe2ee96a377a24b005866f80cf10aeb691143aebb7bfbb7d8563262c4cf5c303f5fbf854eef6f85965fcda8b34734d6a5a02f864f1fa06eaf7769934d220f5e603a0cc36d0b00ca335ce7a0d4f05d24aff8a0e738457de9928ef8f09c9b4cb0e6b0219ffff033aa5d32e4602ea90305c359774296781d61ed109420d4e9f03ca5d091e9c13e300581f02a68cbf181ec86237d8917371c20c898c22680101c192be6d4d704d990e774ab1f8938cbd8058158a4d00581f02f6cbc711e58be636fb518953a7de75500791ce42eeba77152f92768b54c34953ce95464302e8282300581f0267b608d70323162733d89ea0433b0fc22b14a8bd81a15b848441c2d4cb6a5820ffffffffffffffffffffffffffffffffffffffffffffee48f1e7c5c83a7bffff00581f02ff7383e379574082940d9797378a35136b614fc8f0a344fd68ac9e27ce14480d6662f7c102be0500581f02304ceff607184d7f71d87bd2e8efe7af20ce714a8c5c2b0941b161283d9f5820fffffffffffffffffffffffffffffffffffffffffffff725a21a25e66a4aacd100581f0258a0c3f9eff2abd5002c6e30b31d244635389ffa6d0f8f9a615ca88a034c4855faa61674277d5d00581f02fa647e6d8424928e40b2068d0b244db92112903e6cdb4b8cb300886b14f25820fffffffffffffffffffffffffffffffffffffffffffff9d751fd3979accb48e1030b9cd5dc7811b54066abd3d784c6c42f4ecd89a9f7eee0f7c66579315d7059fd02196a2d03aad59239595977e1b1b691d463c05b5e43fb45b91c285b34d53fe102ddd45702033dd53648c11c3bad3800ea516e1128a5e3f487b61ef51d27ccbfaf05674986b5035f00cac29dd785f1618a7a218b40a23e4bc60cdb16802f79d853fde4eefb807a0377c8bb4e5c62a4a0a3329188d9e3b1461433fa5aff685fcf56bcf4700a7ccd8503d5f7f169312ab3e6e1d09a2b0248a5113e8b72710374bf6dc3f109db10708a1303ea4726c6ad57f6fbfe52eb8ba02de6f418853c28d743ec94a3962eeacca9a394032faac708b969ade0661131da2dcb152726e25e2e895ad30f73661ed01dbdec2a03f4d2af997f2e7c69e27ca2b43bda4069207796c7aab2e5c868ec64d5dbc103df03ba62e76093d166fe2218aefde140850118092b89893401c47c6ce2b82f6040fa03ea13e884e2c9060dac959cc9dba291f98c7be301e53e286f43387ae251e200bf037b0215976c3ca976490aebc2b60d757b2c500ed88c71dae87304a06480bae3a10370eacb3c1bd3d7557caaa575f895116a406d7abdbace9cf79986146174deb59903cb56beaa069b1f14aa5a083e620f1d8bcb539c186b667a1d872f0d876cd521ac030db304e27d86c4ca02b8a0aa542078f33bc736cb60701f63d8b4ad82e27925bc03f1961b6bd8be7f130384c137cad417886c68b56d7ac47a09a217ff7c729407a00219ffff0335b05674328cc9f819c380c3e73533286611b219ad7e983842614480ca12e8140387f35ed75eb7b7c861f2f6693cace3a3385ce088c34d65513cae59324a031b6703ebf187cc8dda71d7fa1fe9addffadf57a4a6792934292a55386cb6070bf3c50003cec1d120abf315684197947b2e40325226e5ee47437a51f0847bdc4d9492453503617f67cbfab59c3643a4f2ae260d06f2b257a9b97bb774bc13ac9a85be183d940330f8f378b0ac60c13813e867bccf26b457274c7a5ea44a11b5ba09e900a20577031229ac6c8d02d07f7049ededc2bd4cc535a39078868d7aceb9d267de7747e65003ccdfeb109ade14d6530c13a32a53ce125b0e0d4b0b042914eecca4d26d32a98f03e5810d549f146f4a65950dace95af6b0cef06b0d5276a3d3f075ec02e763fba203a0980f71f4e7118957dc2a381f13089dce800b6ab95082a273a909ba443a6e2e03957a702923c9c1b766ae4485f0bf18825711a40fa4a99f26bae167fd68b0e27603cfa0bb92616cb7e3e71df56ed7bddf3c762b7fc771d6145bdca2cd2c1bed4b6b0379ec44b06c75519d598ffb35f8980a41c4d5c39cde7debd0444a4bc212791d3f03be4f681e330ca626c08055777e5af38e25d85b179af17e43f17ecc62587fe5e8036b56509993d03762d6de6c19cc1441d8ed4bc4967afbf8637af857b6c13709090219ffff031ca9695deb52a72f9742e9eb71a8c694aa43dfd3ed830a6f2f725f6d0ce4aed903f71a4b74615deda965f54de0916355a4c46ec8afebf6ceb2dad8f25d82f323eb038a0213e3abf54f84e5d55e418f9fba5a8590400324e4571498cbb1dc0c30a7e703a067a384b45019eaa470c1dcd6c1f7f72d38e02dd5dae9191b59b8e473e6492803cbed878d783891688387274e7cd143d0c381fd23d18b1123f99e724554459f6a035df964c2448168b8f3e321e9df252809fe7899ed4038346878c7addc741de8610316ee83a1cee739bfe70f540abd863fd6dbf0d0984b4bdb6bf00b4740f52523ac0334882aab65eb92e03227a3083403104b3c1ee6cde78aabf66ed75e4540d3ff0003da288732d6c6140cb4eaee98de858d408cd660afce6576e0f92affd398dbdd5303dfcfcf6e9da7129213d20ec87956daddf357b591b4c9f882d88e1da19744cfe203b854db6d88d37956e54f52f65e939aaa51a4e6cd0339c395212e60ecf897433303c67f9382248f4e7e3b5908c2066f13088bb6defd062aa6b1dbfffa83bbc149c500581f026b05b20c0c7b29ce6a89879d003bc2f9488dc53a8b8682a49d0b6eccbc814a09b5225a82ea39725e2a00581f0223ada7b87e4d7bf03658ebf5f10260363013071361fbd8751cf711d5d19a480dbc1ee80634400000581f02516accad51ec5e24e6ea61876f24a7c2dc68913199c88061e000b94ef5cf5820ffffffffffffffffffffffffffffffffffffffffffffea881ffe878f0b0bffff00581f02996f584b15e212406755fbeedf6134d8eec9c41264f4ef92f2837f6329965820ffffffffffffffffffffffffffffffffffffffffffff8770bbcd18efad3f75ff031c3fe61c88efee058bdc2bdc7bcb32115c520e5b59661d3934e048252c3d20fc00581d02b383eef372fd14cc7001808e8344e322b9388471ee53cbcce5f9e3af4b09c85a683e15df816b1ff400581d02b4e08b579de8a599cec87c327483ca86d5ab615dac2021a8cc1bbcce4a0a164647f22dc0ce6c15021980800143012cd00219548903545ae20122963c688babcf44cdb0af10f7b4acd6e7bf3c39e1816601cbb9af7403fca780bbb0af040ea3805cd1f9adb7a11c8f0a8ab91fb5a2cbb3c501ddefe972031a206582c977cf20831edb073f2616f0b5c98ba9c9ae2932ba7b9aa0aa377a95034c5982f42e1476d8bc14d1d580f4fcdc0ce82668607c9067172d087280e0dcde030c507bfae34a57ba926774cc54bf26318590f6459ea10ad71db0319be3d17f26035c5478089e982951c3eae62955b247900dc7e1aecfb7d1ddcaad6eddd85ad2b30385785286c36a9b5445445fa5c74c4a05e863bc0bc0d0961dd86584832985d8820219ffff0357f92be96ff0a7cb607d499481aeb9d325085052fb2b853b394b0d7e3fdb218b0321880babaa30b005a5eb5aed03b1158b693446bf07b05b9aa0325e272f41c234038486829217fe624135fbc873c41ba054f9f849f5a358e71c58220b6a6352b84c036f51d20cfab886690c6cea4e1e02b845ce2c3f8adfbb2ee6715b697fe3bb03c303c4a8040ff09b41295431741bb0e23e1616d830784356fb147f93a7b3e776e1010387ed1a1aeea7284e4706be22cfa4425be0f503c388da76e4528e3cdc60bc8654032a52fc3d0949e35f1205a6ecb611f2e439824d4c3e085680bf03a4914ca47ebe033d924b71b5592651e95d1d36247d413501879d860d9cb22789ab158b8ddef15e035927967d3dcc08bcd5536f95dda125507ad1be795b6072f38cee97fa5d7ae93003dd789c42ccca904ff5736840b1a71cdb68b3122e941621361f10967cfc300421037779241acac1c4368a9ff1e80be8f24654fd4d681197c0a71e66f7babe53e8030219ffff033d2c9296587730285a18c180e4e89aa6120429b94a5be9f4a0ccf9ccf4b50edf033df3325e7fbaf26056cc8d47a5cf7a692638e4fa1789207378ac5afcdca8bded03686dd4e65606cc23ebede46d66c80fd5b0e91c5f429708e2788875717abc22ce0306cced2fc9fbf877532cf2f1003a2947277d7a614f6f36af67ac63643769af5903db576fc901a41425a48b030ad7784b2b906809d2c647dd7566afb52689f5dc5c0370735ffc8ab22de57c24794ed23c9915b226b5720517e7fb78c9a7bb6b3c447103334c3536c247738ab105f7141ecec6c2c2c021359c918be4f82806aed5b952ab034659b0776d87f6a8d02b205fe7b34e5ba09e2c587ea7e8df1db764628344e97003c9b0cdb7eb3ab77763c75781dd79407947eed9bee1fdd14e176a7b7974cc2dc8037ec01fbb76d8541692e264184a6537ba36d5b4779234aa5244cb6b35e85c627103520dee3c33083376e277eedb109fc5450fec19dada63416671fd46ee548192dd0398812d79ec06fef382b034732705af1b45b6a4be5be950539b632558d574a2b00319c66425fd8a6eeeac57a68da11123864fa390dd7f31e7d7b479b6772832fa9803f0c9198c5ce83d8dff9e6b09e47c872a7a7b03caf6f613bddca8bf82dcb407d903ab566829560838bad573e0683148e7a0e664bfe4d7defa9c8a32953ce05d94c30310542e32c5a9f38d74427fa124d0d422f3816a4b48fc5fde0ce03904311e53e5036b861635c781734d4d452ba89e2ac1a6323747e699f8871b50aa38a7e986a62c030177c10ec57584cf1825388c836f509e0a4a03f8d95b098cbf3ff59d603908930333623e6a1afacd69f7726781d34a9da574f04d531ae84e6c1014593ebb5f434d037c33de3a0edc56935a370c58dfedac3e2b612eab1d8c8c4771696585277a4e9d03c3e661167a75a94145cb9e9b58cd8bd2c9a3850a6826a112215684f2d2992224037980d93a1670f83ac0cd596f516227b71f98be71043201b9a694fa1311ccb34403ecf5709ab23e69048d3e60e4b71a0d61f8065154ad5a43a02a8501f61ceba93300581f02a8e97f777f72e8b7ff972ca834174aea8e1796caf8a45144d5228ff4aa814a06cb051a8bbb35c77513033e6187497c385414fd397841c5a9fc389c8ff9a132eec58066e15808d37391a300581f024d72ef436164aa3cb0d8f18cb4d12167f6d5c60608e98256127ecc0fa9d04b01b19e4d1d149fc22a308100581f02bf59cf97e945dda8b8f86a84256f6083b623916c46eff519ea65569670a04a1b0f4dcc95dbb3007dd90364d235e8fbf3a9dff9541017f68f7d1a75f7250fff788ffde96818cf3c2ab46000581f02200fb4ff04bb62af75c14225e293b55a85c09742924d4a9eecf272fea7204a0343e3705a6959b6000000581f026257ce51108b2c17dccb130828b186ba58af8bbce4de0669a50ccce3a54f4a10488ac0d7bdd225d1f7031b2db4023caa314fe4346366e2ae974806de9c66e35f6e5a3443b5bc2c79632300581f02c014a356c9b8fb8e5751d8b175c865c8caf3adfd0e4412f830cec493f0ea4a0232399728ebe2c2000000581f023500fac8b23f295c1104767ff9e935520c47c9fed53732912c3d441bd9ac5820fffffffffffffffffffffffffffffffffffffffffffbac9763529e627dca70e503e606c8688b2bde3cd923f3d6543745a4bb042060fb8794282d7eab38c1636e8300581f02ed2999fff76afcced8b99baa38d0401166a86d9a9e64442b9f4755c287a04a0fb14aa051c79550335902197abf0219ffff0327d80a2df6134c0de135058323e3d2f97299a4aaa171c50aaffbe6884d922e3603e533719e722f9e73f8d89fbc8f77fdd706b0b63a7b617f21e7d1b43f6d1b6c3a035ec22514c3c0307e085d2932ec6d4000d5157e69cacc1435f6490bb857086c5e033b214a1b7acf05fff3da022d8a81dde5894ae4c72639cbe03ef686ba5353c8fc03a94abb37471dd777b9babf9038d46c604802ea23c6cd81b7ca4f1061ca42796703ffa24e6909ee98c50c0dc39ad9e62c61f077332d01e1f347aa81b4329b27261603171e1a5807a7c219fb0c10ed1c2f7fd63cbb03665d89b8ff4a2785b7aff50f1e0219ffff037f9f643bbd32ff21548cf0b80be14cb5f8550eb3be6762df291fc8e99ec729b3031985ba9c0e57f9e0aaf76192b166e8d3fbde1896a4945339b1a4da132fd675ea03b6aa607954551912180edf43e923267aea045d843298127460c1d85bc778f7b003eb6d2c731ca17eb4df58ddd66d98f81b0d3d81a1c8a181bd81a293beb4847539038945ac7f40831e147653376dd639d41b8a3bdc5097fcce13da18bcee0c4ba4290322631a5fe7d7a842f15cb0184b1676d6d4bf3244c60ece42540c82f9f0a918a4031b20538fbd6d1853dd08c2a8b5fe93ebfa33176ba04a897257bd17477f69df5903f33a8ff14456c160a5930d21f662d94eab53b2bee6e756d00e2ff998e644d14903baf96c0ec215a80f9c6e34263c8a14d2716c92a51d8ba18c87a6f9f20a96f52f039d909cd88b5d6390bffc71f5e42a5d99884f370bdc056b5966527ad99cf055dc03855cbf43cadc44f25d7f54199ae0e2fd37df9350910b5b618f11fdf6ebe1b43003ad899ba0d37111d162fd3cdfc266012b680c56046fdc51c1c8e923c8e47ac47503f9e00ae00eed221413aa426e29aae753ed5e65eeca25a2fbc911d239d5f1610f039f45ec0aec9fb42c60cb61ade55603fd60097bf8b795f57a59d2024c46148f1603c086530a4bfec03e04832c2f6e4176de92192457dc8fba1ea2ff1a4f5a185316032d0a47c4c6b718b281ae107a7aa0f8f850106a7ecc9ca9a08199f22fdd5f33b203826faeb223beea4fa83132be871de823b6bf373f83c7c9a54cec6c455675c7a303068db0df06c2f943f1864efc560148e309cf53e2c9ab8e08a00f27dc00be63430387edd28840ba5b72d2906a8b373c8642d4ac592c836343596d70c190a633db42034152022011698dc290ca0344077649f3026cf76839a4edf7ffc437b410ed489f035d374884062ad10a24cc9cb8dac6a2f17a17b04cb7c223321c25a11b1436dde1031aafbf5ea227c3ca30083aba14a87cc09b3743a05a1c2c375efa962d05449c070320a0a1d8cf85b587d97d613585b213acfafd787900429ee86fe852265047ff72037b82221ab1823af1a1b834161bf3d55f34f3258857f4be556d66bfc8b49d62d203f3662274844589e632b916e59fc13440fda6c8b4d81b60ffa30ce874b258afe303912d0b4d258ee3f7f445a35cc94aae954460b3a3af472b562df8f9dec6ca86b1033b73b6d00009b0bc4be871fa6521791c72f6a0d4c71a6c84f4eb3ca79a989bc70394e8e50016716fe72c0c6a66f7a8f9712609f706d47baf5c443bfdf665dd880703e215f10fd7fbd226ef46b7a975bc20e4e15919690b4b197022dbc82f8ead377d00581f02013738776f97d8f175cdd646de7f060791d9dfc075d4372de291c98c4b484a0502b2d4a500b23678cd03a60f5e2209a9f0487b873bf2fa2a188f8ee77da9550aa7285f43f29583ac247b00581f0273996addccdef9c4c951e91a1375d4c54233773caa23dacda0561141712b4a040fc9a6608f2b05c00003eceb07d2e0e1d3b6073befc00241b994d9600b9b8319da5e0eee61d3edc90eb7030a76c614608ae755dd12f2ab2a32f6c9725a414a3ba14a8b867fcd5caaf1638b0219964003f50faf8db636f3e482acf6ffb490e7454fdec5d4a05b12e4ad2824bce8980c0f0219ffff0219ffff03f94655ad223caeedec0d32a3d5b4b0346bd964514d2b7f98c148821fd5b9853a03959d4559ed7035915abfcc2f512891f5396fe73de28aa121e5e28c9e756dba1503c0ead6433ac89885594beaa959d4a4cc4d7530ca2ea1df71188dfd123db50d660376da943c434e34a7d28ca79a6a80c670a1afa9f237ce07aadd09dff2d49e905003617ff9830597057c10981aba9982c2b6bd792e66cda7c45ecbfbf718fa73c604033eb62a350222bc9defdd685a19b943ba01a7a18fb84e99f715245904a6b3885803e07f5383044c8f4d707d76ccb72cca446355c56e3927f91bd5be8be7616d357f03892d0f945f160c06e0c15e8d035a0b802878e0a3bc4b9b8ad11951b72da1d178032fb12d8cbbd456d85f2be9b20d670c96aaaade1300595e6c3a9eaa7fb19fa23103dbc9db683ee407e7b1555896d09f8701aca2a4dc88d66a11cedd3249f1375f23033ddf0e417bc70abba36437ea8ba615f31bfe178348ee3641252806ef1bcceea9034434ed058d79b896aba5a981491a6eb8b1858b7968b89b5f633095dd61c3f3a603a7dbbc61619ab94c01a5807eaf4ec52121ec6eb66bbafa2beeda11f0ca7f79ae034eca2063c78f8ed9e081027c460c7f5df699c50d6b225ac4988166849ae4fc6b00581f026958639dac3fb1c700efe12d8db75addf17ccdcb7a4a4473f05d6804398048016345785d8a0000035897a5638edb10ff85b5afd2931b5acf519034a4598a5dec1c27c4deb3554a19032532688efa01e1f26cdfd2de0b54c21297377d220c0dce7178eff0fba71754a703c84c65ca658496c10973af64daa56996bcef5bab7bd795e4f93b8cca31bcae0000581f028bb8de84a42555a47a62f1af6bc7ab5429d0f6371aad61a85f348cf37d024a0518409e74a24802556100581f03ac0e9ae9600d3e68096b54055612b211f9e35a61b53b8621d89e06eecbc05820fffffffffffffffffffffffffffffffffffffffffffffc04f2da90c8747e043700581f0340aa644180f8e6d3110bff7781ae780d63adae4e64d62b898f0b9c4512904b010108f426f86062f8d6e70219800400581f02d863a361ff7ad5abfbce2e2f15eee84fd4f31c075092786899141ede1c4e4a0804ed5387182f66000000581f02af1dd2d69d7030068f0b5929ba09a1b2aa3b78fc17f4bcc6b00bde8e4e334a013472a1bbe785082dd400581f02ca48e568a488f5abd2fb1dfdc1146cc927fd3ea78e135ff766c510c5e9c64a05546bab05fdad811c0000581f02812db9c2e6cc1bcbfab5b163d9bbe2af6c0daf35f1f27a3e752bda4669a14a0365d7f9d125832440000219c2fd03198e4b43c48ceac5f24a99f41a959391cf3bfadeefe4583008ea5cfaac4bd7c6033941e0e780970272d4503f01ca987a495b73f5d04fdf2197c020525aaef2ff9503d254b4a594ab3b6139fa8ed7a5cc1a18cd63aba968f3bd626416c469794a0b6803e073e9b64265f51c2b2b3742d0c174b26148414c3c714c4e43500a129e4a01a203d1c7bfe2dbc591aa9415d7fb9d3ae145772fa60b48d1bb1c3fa0c9bc4c0ac950031bd8da7bb4588f52e673d1f81fcb35c742fae804988fe72fcf59cb65ffa69f0903122bceba3557688d98a605d51b4a5861641aac629c8471053649cb0f941cc15703824de1c0952e703ecafffdfe15f55baafd06d33827f9403ab68a02d4d217a0590300af9ec3e75edf347125a8a77cf2d0bd71eb6a3622a654ec5c957028a5de7bcd03f8e79b734c1ccd3484335fe3a46b18af65c42c41fcd5fb5ce220dc0045a6d2ce030c05634f38e33850f1c0368eb5571a5d72f2c85194c38d131c0e2e9a9aa51b43031b3620e0a31ce371f704c10c25d61602cebbd46bc7f2fa2006aaa2eb7fe9cbc003ae29eaa925c1efa6012d53c2dce795091e0187cb888cb4724ac3cf8314f5c7890219ffff03225e421f924b80d5e7cd781f396fe7dfe20d0fc0cc30489f5734872ae84bc6080397786903f3b17140bf181df5cbb2136b2dd5fe19fb410c16d6eefee85576660d03a62310eb367feeedb8ed5a82bdab2e38a07aeec184294e5be7ffa974ff76b72e030ae8689875d3ccb4e3fe5366fa71f009d81c996d97475d05c3f704edb98241ec0301be67190afe1e9c66e2aa963d45be8185a57e4ce528cc7afd7a4eb521bb41c4032289d036c3d200494ec450cc3f85c84af9e052e4031ead7cfdc593a00c93eb800219ffff03c35af0249b9ab2e2ba78d9f66438348269d6a4cd4e490716eb7c08b921fbe71a0309c2fc71106db3e099dfeb5f597a90f507e03983cbeaa1b3a61d29c9ea77b97903023f2cdf798111f00ccaf2ae96ac4c74a8a55e0876fdab191cabcc1cd0ec99e2038afa75cadb58508be89ee74b83d0956fb6d05a093ac23343bf08c7e92efc5ee60219ffff05581d02badf0f3de4672728da2f488470e6866ca60deb3a95ac1bf2c298a16b0701190f6105581d02623486a0f2f63c49ce3db91ece821d4dfd25a047c55acca97540772d0c0b471ae12ca1baeaae05581d026a44d23e414340f3f034bf4d13230ff17c407a774b599c45a6a5d98c0c024614ed6ee0540005581d02e866e9bad580d1448b14977491a6963bf68998bb89267becade032d70c01469ecaaba06d000219604505581e0386712bac49f30abadf15232a5ccb02fb604a18b376178968c5e5aa0ea00c034706a3cdfee04e0005581e03ec757af1c45dce0f257893b722b56084fa00518157eede367025d863000c06471a64dca427fdfc05581e0347bd0275be763d583b8f0a5cf0c88e75c5d2582a4753749a02cd0a03200c024744e898bbd07ee805581e036ea5eaac10c27d67eac3bb1d7aec4975733a4f839edb845b1251c625a00c06467c81b6ad4b38021968d70365aeadb61d04d19ec33a9ca891ee85e65dae53a760684696bcf357ff68cdd1480219ffff03aa1b611bc1d94728ad06f58e82d507701a15915a0e27f0592ed514578a0f98c1033eb64d4e6546d0335408016480a9c42dbf62475ae911b09ebb0321a6e28157de0302699f7cbbf340b1400bee6f9e93fefa5e7c0bc09245aac7eaabdd641e4a96b103a86f1f81c92ef7aa436053a50dd2a82229aaa2e6e3e99f15f57782c1367af0d403d3518e103c183a09744dd90fd30fb0591fbb2c293c628ec1bc3ece9016e112cc03ad1c773de2d9694431d33e5e43d9e84d288f652fb49a3eb4abb7e2a1aad8f9cc039f3a841f6f7166eae5a84f31b49720b653d15fe6f99176085a39aa6754bc823103e23dba6e02919742a529ddb0378a0ab628c621a1e7e477ff6dc30b3921dc3cca0398212401b42c86b19c06b60e8324d24f596a39bf2e22a3cdd59161c1134a2086034dbf40c2db3b3d5e3ac796cc89aba3b4044e24ccdd0855295917a8cbdd400cc8032d1100c5ae09b01aa98b18491f481330dca2faada081ff5aa740a4d8a2300f02036b8f179b8cbdeb3d7a07502917604338f9d4afaaef1455ae5d1395e3a89b7509037dd05937dd9b2e1480ee198616f81b7085bba0404715b2c56ef63839b5c4da350219ffff03003f072447bf7408db029217a1f8709d5a466702ce1d40222fe2ceed555c565c03246a69b552577b1e6954e557582c6b0ef3d3ca06c72abad22bf89bf4863d0857033f0a182c7f732ded2648912a32fcda5b12e008fc3e4d35c19a1429c1961764c40351d5177b82205a76fb89036ffaf8388ede63112bc4819a896f0c210617f8293b0316d88396e2e07aaf4edcc1a602ad255bfaee7156960eb2b1c7d80158e6cdb69403ed9463a4b92a8c2d5b8f00dc66332bbf015434cf9362fb6494c17fda2554e9f4032f38ea38f23fced0bc220dd201375419d1018b41240feb592ca306ed1112c2ab03009b10f01a4605fae7c8508d086fa595865e2032afc04fca52b46e8972935b7d03f77b313ac31b7f24bcd9d361df358235a08f791e28bd7cc8154865154b5cc4d50318a28aa9a7894281e361a4a4fe5daf062c498fa2de46bb1a3de629ad5de3703503262023c7a975b07036bfc497d4d3d7bc819d3b633978377431a3c146bfd58519035d62372fda50ce3d5d9e1de130f02983ad66bc14940c57216287f7f6309e57d803b485266288466449726a02d98ada0aac252e5e79359be08ba9ca7d515cddb09103dda925bdf695046d19c327a1e3927b09e2aba63e483ba68cbe5f6d59cb0095ad0219ffff03086c30bd1e8489af12aabb8c749bf27009230f5ecea5a4b72849e9a2dd1ab1240219ffff032557395dd120ef02619c49cc3ea144fb031aff0e5de13046422816f30dde5f11032836de80fb5f6cb57d61c5d2c85b895bdbb14ee0aee9b2863c6280689ffbad160386837f361861f89b775d84e9bcd93f5fa82c509dbdb412923bc84240f85e3483039e28a4f9a23bb65717ce0fc3af8d35b43f1d61676faa358118a509ba1a2e9737037916420a056d49227c3987a9415c421af3045c204ed64e50279c6c2b7588b7ba036d0aba347d567e5674029272d7b13c3617e52063f3e13e2342132db214070ec503e22fda07e2bebe3635ab0649c8b2964c8dfd388a5580bbf50b5c67529329b77203c17b2238a9364f0c90542824818c0f2b957c0d24ffd9aa565de1ecad5b0a605f03d88a90613ef4522120ec4ba0ca771b116c1be24fb486a3e6b999752cd4efeeb603b012f967fbc40a746b7bc49cc6527e760f4c0541262fccab926bbda4a688fa5e03d3552674b08c7adcc2502338ffa4c0c67876407eeb72a100062cd2b201ef956c0328a61f79d50c8ff75b8bf4569829e131a6f3940de0bbfe9de89ad808dc6e6c370382fba1a09b452cb1e2a8f07c74e208e10aba87dd9e09c942237a4e31fd75023e03925f830f79dd535970571816c07eb038938e9cc8228cc5e8f5cbace7778436c005581e03325579c16a3e0f73fa4c63fcc25d5a06fa163ae319aa1bd316a04c04800c01461321207e5a000305e64d174745f336534f136f2233fa50b47ea62ff095311906f7825e041ec4220459106d608060405234801561001057600080fd5b506004361061009e5760003560e01c8063d9caed1211610066578063d9caed1214610126578063dfcae62214610139578063ea67517714610167578063f2fde38b1461017a578063f3aed3311461018d57600080fd5b80632546ff62146100a35780632e1bf1f9146100b85780636667843b146100e0578063715018a6146101035780638da5cb5b1461010b575b600080fd5b6100b66100b1366004610c75565b6101a0565b005b6100cb6100c6366004610cf6565b61024f565b60405190151581526020015b60405180910390f35b6100cb6100ee366004610c75565b60016020526000908152604090205460ff1681565b6100b66102c7565b6000546040516001600160a01b0390911681526020016100d7565b6100b6610134366004610d6e565b6102db565b6100cb610147366004610daa565b600260209081526000928352604080842090915290825290205460ff1681565b6100b6610175366004610c75565b61036e565b6100b6610188366004610dd6565b610415565b6100b661019b366004610df1565b61048e565b6101a86105e3565b60008181526001602052604090205460ff166101fc5760405162461bcd60e51b815260206004820152600e60248201526d139bdd081c9959da5cdd195c995960921b60448201526064015b60405180910390fd5b60008181526001602052604090819020805460ff19169055517f3c7f98ea33e2313c4290aa5b7c9c736c23b8c2d291464f4134dc92686637a680906102449083815260200190565b60405180910390a150565b600083815260016020819052604082205460ff161515146102ae5760405162461bcd60e51b8152602060048201526019602482015278139bdd08185d985a5b18589b19481b595c9adb19481c9bdbdd603a1b60448201526064016101f3565b6102bc87878787878761063d565b979650505050505050565b6102cf6105e3565b6102d960006106ea565b565b6102e36105e3565b8080610354576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561032d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103519190610ec8565b90505b6103686001600160a01b038416858361073a565b50505050565b6103766105e3565b60008181526001602052604090205460ff16156103ca5760405162461bcd60e51b8152602060048201526012602482015271105b1c9958591e481c9959da5cdd195c995960721b60448201526064016101f3565b600081815260016020818152604092839020805460ff191690921790915590518281527f5758f3e96c5841077c66799825e4296712b1562e1c673c4e13370723a1c4515b9101610244565b61041d6105e3565b6001600160a01b0381166104825760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101f3565b61048b816106ea565b50565b868581146104ae5760405162461bcd60e51b81526004016101f390610ee1565b8381146104cd5760405162461bcd60e51b81526004016101f390610ee1565b8181146104ec5760405162461bcd60e51b81526004016101f390610ee1565b60005b818110156105d65761057d8b89898481811061050d5761050d610f11565b90506020020160208101906105229190610dd6565b88888581811061053457610534610f11565b905060200201358d8d8681811061054d5761054d610f11565b9050602002013588888781811061056657610566610f11565b90506020028101906105789190610f27565b610791565b6105c68b89898481811061059357610593610f11565b90506020020160208101906105a89190610dd6565b8888858181106105ba576105ba610f11565b9050602002013561092d565b6105cf81610f71565b90506104ef565b5050505050505050505050565b6000546001600160a01b031633146102d95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101f3565b604080516001600160a01b03808916602083015287169181019190915260608101859052600090819060800160408051601f19818403018152828252805160209182012090830152016040516020818303038152906040528051906020012090506106de8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508992508591506109919050565b98975050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261078c9084906109a7565b505050565b60008381526001602081905260409091205460ff161515146107f15760405162461bcd60e51b8152602060048201526019602482015278139bdd08185d985a5b18589b19481b595c9adb19481c9bdbdd603a1b60448201526064016101f3565b60008381526002602090815260408083206001600160a01b038a16845290915290205460ff161561085d5760405162461bcd60e51b8152602060048201526016602482015275125d081a185cc8185b1c9958591e4818db185a5b595960521b60448201526064016101f3565b61086b86868686868661063d565b6108b05760405162461bcd60e51b815260206004820152601660248201527524b731b7b93932b1ba1036b2b935b63290383937b7b360511b60448201526064016101f3565b60008381526002602090815260408083206001600160a01b038a811680865291845293829020805460ff19166001179055815187815292830152918716818301526060810186905290517f8b1927e0809f1e7682bb8c52fafe4c0445fea47afef60dd27e037e91fd104d2e916080908290030190a1505050505050565b6000811161097d5760405162461bcd60e51b815260206004820152601f60248201527f4e6f2062616c616e636520776f756c64206265207472616e736665727265640060448201526064016101f3565b61078c6001600160a01b038316848361073a565b60008261099e8584610a79565b14949350505050565b60006109fc826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610ac69092919063ffffffff16565b80519091501561078c5780806020019051810190610a1a9190610f9a565b61078c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101f3565b600081815b8451811015610abe57610aaa82868381518110610a9d57610a9d610f11565b6020026020010151610add565b915080610ab681610f71565b915050610a7e565b509392505050565b6060610ad58484600085610b0f565b949350505050565b6000818310610af9576000828152602084905260409020610b08565b60008381526020839052604090205b9392505050565b606082471015610b705760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101f3565b600080866001600160a01b03168587604051610b8c9190610fe8565b60006040518083038185875af1925050503d8060008114610bc9576040519150601f19603f3d011682016040523d82523d6000602084013e610bce565b606091505b50915091506102bc8783838760608315610c46578251610c3f576001600160a01b0385163b610c3f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101f3565b5081610ad5565b610ad58383815115610c5b5781518083602001fd5b8060405162461bcd60e51b81526004016101f39190611004565b600060208284031215610c8757600080fd5b5035919050565b80356001600160a01b0381168114610ca557600080fd5b919050565b60008083601f840112610cbc57600080fd5b50813567ffffffffffffffff811115610cd457600080fd5b6020830191508360208260051b8501011115610cef57600080fd5b9250929050565b60008060008060008060a08789031215610d0f57600080fd5b610d1887610c8e565b9550610d2660208801610c8e565b94506040870135935060608701359250608087013567ffffffffffffffff811115610d5057600080fd5b610d5c89828a01610caa565b979a9699509497509295939492505050565b600080600060608486031215610d8357600080fd5b610d8c84610c8e565b9250610d9a60208501610c8e565b9150604084013590509250925092565b60008060408385031215610dbd57600080fd5b82359150610dcd60208401610c8e565b90509250929050565b600060208284031215610de857600080fd5b610b0882610c8e565b600080600080600080600080600060a08a8c031215610e0f57600080fd5b610e188a610c8e565b985060208a013567ffffffffffffffff80821115610e3557600080fd5b610e418d838e01610caa565b909a50985060408c0135915080821115610e5a57600080fd5b610e668d838e01610caa565b909850965060608c0135915080821115610e7f57600080fd5b610e8b8d838e01610caa565b909650945060808c0135915080821115610ea457600080fd5b50610eb18c828d01610caa565b915080935050809150509295985092959850929598565b600060208284031215610eda57600080fd5b5051919050565b602080825260169082015275092dcc6dee4e4cac6e840c2e4e4c2f240d8cadccee8d60531b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000808335601e19843603018112610f3e57600080fd5b83018035915067ffffffffffffffff821115610f5957600080fd5b6020019150600581901b3603821315610cef57600080fd5b6000600019821415610f9357634e487b7160e01b600052601160045260246000fd5b5060010190565b600060208284031215610fac57600080fd5b81518015158114610b0857600080fd5b60005b83811015610fd7578181015183820152602001610fbf565b838111156103685750506000910152565b60008251610ffa818460208701610fbc565b9190910192915050565b6020815260008251806020840152611023816040850160208701610fbc565b601f01601f1916919091016040019291505056fea264697066735822122079eee12e95c1970ed966e33103dd815ac4c183cdadb9032495a7bf9aa6e17dc364736f6c634300080a003303a9c39e990fb7f9a6edb554f8341e94a1cfd70f59301e65a82bdd90c1d4c60a920335e64dee732a4128069c1ca07007008ad86352b922e37f878425535e0c5a1fb503ca9b75302b3a45f4b639c5a7b02ccf0fb371abafab6556777052b88ac090e5da03df9169641572f3e10e862f199cab11acfad23d83f9d32d7e05778d92f7089bf8036971c2116e85af84a35f69d5752a6930ca852c4d754e1ca676476a7717789dd30369c205a35a37063e2c28e9f18c8ab5c4ad25f0537273249709075b4cc1feb925034aa719cee06cb110287212880a3492ad20dfb4af45aea156f42d091883fb55b703f5cefef7a8085b3dc3d58fe462c08615198b8ecb5c2180b6c01771f6a375a78503ec84a8880706a6c9d3685e6aa9bf3e3ead942c6e2b0bf6818b65746c2e2c77dd03179e00ee8c76f41614948338098603b60d4c6a9faabcc8e5c2e0d8fa7ce846180336b5999c83298d2b54ea5be14dd134fe98eb6e85bead5f7ae837891f275b304903f25604c06a050c3b14cff8a2cc15334faf0cf8277ef38a6732fef491690130fb03d6d551811b892395b6d08200df7ee9f275e21367315e4fcd86653760dc5d411a00582003f5e9bd55463f1c78732ace05649687581be4d8d40d46dd0a2a41f2292152f04101005820038d48292ba7500af637b639beff2bb2a4e68a6fb6a6795dde11f08d40f123604101039ebe3c12439508cf9fd2876a56fdb7ef3f80bdbaba48e4972b5b0d95205103c600582003bd309334a970cc137121551977d58b4590ba4fbc39fc29cbec06a0080e80604101005820033e957593dd1605b79d2fc056acbf471f7fb5f3c7a1b9a303acb063aa49a2f0410103951b15be19635c1cf876311537ac5200c0a32a9619a013f84a9450baadbd5f77005820031ecc865b816e5fcf833bae11a12a1b07f8fad7a3568a8d47aeea29aad1c1a041010219a34c035d6a973f40beccec67faff5d06bbe11cc7df5ce5815d4480d1c1660274fd1d4103b413d458a91d6ed5d7c3105022bcfa1e025e36a57b05f9bea7693a2b573a06be03a173a2d5958be2b08bd53ad570dd8aa43913ee5051a1389c8a718d0d135cdcaa03e802a4c04328b9b559bbba18f49e8f6bdd112e7384486035e90e991218bd34e60219ffff033241091cd4ece4b7a0504246d0479543390f3524e788f07a9bbfd99dcf3b723703e6208a4e2c1f386ad042fed6a60386df6edcb76eea62d88342c19cf2de4f9f78037ca3b3fa07b79890c77f67a4a471a3de5552279b705e01b45a673537182fb50c03dd15e146f15701392a16f4adbf112de9044bbf2569c1a19c71c9e9105538d86603301796223196ce44db57008b6be08caf8761b34b9579936ee9346b960a220f2803bf624eb05dbbfb27d82ef8cb09d5ae45bc59f5ac1e1a05f862f83e9ecd21584903875ace4bbc72fd7c1bf931c105a1f98900fff37b37dae5420467adfc0fde0daf036a6cad3fbc061209ab9e430e5da2e56ca6f5870792c175d8458173f60387e3fe0311f849cf26733343407e60820bc5808f1bcd26af5faf4e67a9d7cb17c4faa1d90342f4404d0e9b11c916ce9393f000267409f9c846148ce1a94e45b812357bf40903cd435c71ffbe9ae7a855fb770cfd94bec5e983a71aea610dd764809fa4f1925c03cf92028c2dbeef5ad97b49ba97061d8132d53dac8805166466be754a89cf5244034e52cd1636dffcb42d921376b690c095c0b395a723ffb218f8002eb9220f37a20393fc17cc4b103ad97897f3984ee822fa45a883e68ab23b888bb527f2c8eba91103bee7c197287720ef89373d6cd2071539aaa5873576bc1447527b06ec308d68830397275663268f3c862696b878c60e6e2a64c0c377571e1816bbce7c302ba4f2f303a16bd312ddbdef4bda303662f70a2d4c49c780260125fcc3b804f93f2ea21257031a815a192c55169a5ff95e818620e6c40cf8dc7a9a39a84617cdf34902b18d8c03308f531158d9af3aeed0f3df1e731bd3d2079a5a643d221c875b4f3f728790ba03313aa0cb0edb37e900717880a54af3c0e905c1b18954ccd2ed28742c9a780222030ade922339c1937db8f85798a1039a4fce6e07f4a2e93a8a17b9b72e42b8294f03b734b22aa1252b9e423758c892fcd8dadbc45959ccdf0d5eac2837c9fc86f270005820034111f5fec36c045feb3ad052b62b18fe0905ed56292bf270200938014de2c0410100582003766f4cee6e628980e920741e45e507030ef4962638b4f73c0404777673c3704101005820032be12d9f80d2d020a437439fe7432e83d201747b55b2aed205824d9fd179b0410100581f0226f35adc4c6f60570dd0e4676a4a41f00e4acb8c47b277216a7c595503b6410100581f02fe1eb149f7f24e69e3b4cd8155f5edb107e5b5e4876e21fc00a4d0dbc3694101021948000058200312b918a4018a621ed5852de88ed12f26208ad8a9068522e1c3f3cdd380ae30410100582003920fdf7d851ff079c2f290901c12e3862cf6510d52c43be9eed0983dcbb4b04101021905e803d9bb797819d5357f3d56a9874706d8bf4f3f38d7c06d9f4de3be8d785ff5a6ee035706077790029d72c4fcea966e1f66237cea7339cdeeab3c21c08bea714d548c0219ffff038b62655f4f95dff9cc83087011961add2cee24fbf944667e0639222a95c7a5c5038f0cba6b6bc6540b953d21cf6597cf86f0d8e450f9649da889b065cdf9948b8103f05852cfccc6289a598e0da1dfbd5177351f1c2495526178988dfeebebbf3f7b0219ffff05581e033a4a8c2f134e378bf58e8bfc443b374a22215632f9661ffede2d959a50070119106d031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03a10072d797f6a3dd146a8063d4bea3ef3e306fc670c97df1d521f4ace007011bffffffffffffffff05581e0360ecbaf6cb44452bc740d13f212fba604fd8837fad4fdaac32a5361ac00c014716ada0a7400e0005581e03971731aea899a5ffb2df42da77acd8d4daff143a17cf8c534dab715f1004010219c1340309756e538a6436e0b9c02e33680f779412b27da87b27b2921166df44c8216846032fe9cc5cc2ae84d81ca44111000cf750d19a72dd7699268ecf27f1d1958196f403e91e38c60c6a2186741b2f9b8b98b7b96e1d669bca4221a3fb3e4c6c123a6f1003880bd19443ebef66866069fc84a7a22575d04b5e44fadbc020fafb7eb813587d03e017a8c38102698635166738ef2fa8d56fd3101dddd28534eec92a81e8156f180396472c0cdc1b3d510cb8d2e77e8f268c31f4a2ee3fca6fb68ad4d042dd353f04039ca51e0abf2ce6ee24404904efeaaf1ac7ef43bd964a4abaaefce305121e317e039c3f2992d4e0c85438d0ff470584fc8f7678e2a04e83cb512e92a859d5da3ce403cae41ed73cf671fdb264a3fbea7ff212ced6df16cf2968817806621b4dfbed6503791cb51a5118937b4789b95e1c62d712aeb1928c557013e5ddca1e24372baa0303585150f9dbfd8483febb9287b215abc05a1074f0a33bf348efcfd69d8c7c556c0327993253ed09a8bd444a1f95faa06c7f421d2e7dc0140f0c0485e752b7a0394203a0a9395ff3b36a8ce798c96a52315a4266859ef350cb763a4a4d1f5441c91d8703b664a01448bcb223cc3b20f7883ab063611577ad8cc03164189de45dba011e2403d9755e7e5f254ea36298d21e2be5f03efd86a09a8c0d82d9d1576e2bef0e6f4a0219ffff038e029ac8b719959ee290f02c4a5b13e39be79d2e5be03b1c360948f971a484ee037c3c2646940ff5364dd360c4bdd8c9b680fa9947fd85da0514247ae0561a5363031662cd42e32c611bf5c73ad5c6b3f49cae96cb3f36a31fecb96fa11112c9614d037ae9dbec34691f8428fd4dd955548ccb7dbb492d065ad40aa16e9658ecc02ad5032b1c236d462e7486253b6d6b33f82e9e2f23e6347e98228da23f5c09eb5e480803b1cc2db73cdfd32026d19cef19c9b3d3adccd29db6b37abddf8edddb50612d0f030fe4e753a891c22ae6afd51172ffb720cf1a5b8e0fedef3ef4db5bee2ef178d3033b81bd74de17dfad1006271db35f038742cb172bc0a8f80aa372a2e02b7473b70381a364df22be3c56ccf2bf38c7fcf461b36953572a3ac840d6880c97f36176af030c5171828b7babf32977bd91a0e391988836e7e67b8fd9b6df71ed5d9878f69d035b12464b9a7b65f83426033aa4d90c5dc0b32a5984f32062d407a4f74dc5d5b803241b89b108b9cd557632f7e435fab906b32dee44e95c122e97dda07cb4ee284f03f95da68f9311d51fda2832a174e695dfac5d7abd625cb14910a3ee454621998c03de160e769506ea9a9b5f2e9fe2616f4a446f215f5a790c44235695c18cd18fcd033b92e7bd77aff58c99b64383069f50fde90f1b9ffb79940b2e53ed2b642c80f10219ffff03b2dc364b53713290e743e82714600492796374804ce556f785c75553b01558f3034760e6f69954bd737b9659aed337a2e1657ef0ba5b74417230c87e91f870b3b203c3041e49dd6858806cab832bc8206c9dc3ba3c96ad4ddf21d00a81f3ae1764f9038edbfd8d73aff37d4d64a6761fcd6f9b796aff1a1f1417e6b0a3f5c397dbfa0f03b798da40cb516325c5a5ac4446a6fafc073a7d98809ef8496c2c82e69b9bd5a903c8bf01a66c4ff9ef0719a8a348d666648af3538a45e57d72216e39526ae74078039b9be4a99a9ff80e9b842570f3ae212bfb1bd9e9d64f0760161db49ccfc20d500359a3ba382df60d8f564602d631178ef610ceeadc2da9d1011e83153ffde738ee0316c19d1024f0414b1afd138615d6144b9ad61e3e5d286795b8d0a255fe6da96e03398ae0378f5f98cf58bc40b1db584e842d5e2329d0e5189c16357e8ac4c29618039e7beb39547213e5024810f8295fef5a057281c4c785d6e32167ed1a7c99df75032af65df68077ba50e74781226c5b826d60974f131ecd44352158476ba7eab4bc03e0e13fee6eb47612ebad04d313cc9a35451ed2eaa391bf4b8e07bd2896a16cc703c631df9f4286ed310bbc3ab8c3373edde49670dcb17ba12809f229fb64c4727f03139c730f0f2bc0fa39ed2ed62664df95405b4bea263e2382c1d624f4167d01d20219ffff0320becbb8537e7ac419219dbaecb64dfc3bed590e27d0b4d694aa8fa6955affd30219ffff03287fdb063bee8f89122fa56ba04cb115be2a431d9081ea795425f33a42090a4403b95da96dff277e04b9efbfe6f77e551c6be9d386079e44a4e82fbe07882a78a703623abfd3b84a22c0805ff150a76f036e5ab742dcf3599e3bac3b256365ce803a0393cef75410d3258640081932b1e54c2ed4943de57390ac07b673f7aa0e091690031867d011a900ee65354dbd5e725582235cabef853ea16b8a1859d7d0cccb8d2403f341b6be7bc785bc9a7b79f89037a2d72f5b77425fbc77163a1799b5bb5be208035e6e22a9cfc76382273980b41a80d1e32d34ea2682d780899ff89a2bcfd3ac1503a8601f58f1dfc1b33fb5d7384b545265ce496b65e56c164a494eb18e38311a1c03d581d86fbe800ac19f0241e4d362f7af66a8ab56dc85cea1673a44a6423cf47903c2240f8519ad86d3572b1c49e9f5d28e34ffd18b76be7f520afb4a51d6909c2903359a43ed1df167874235d372bf45ee3dfeef19781de70a339a64cdd32b7791be037a4e67ebd199f819288718b029a9c86778fe0cd5a61ffa1e626895e5d8f4feca03594ddd85757bc2c4556243163a9009d76fcef6216d12cb98223252b224217dcc038852f9f9958bc0132c57d27d6557070d6c6c5a48b23c78409f4c1f272383844603d290a785cf9d32a2d033ae5e8ce9b461dddd87a25e281a4d4abf28490e7c70be03030ad683fec0f1e26f5171ce7f784fe0052fa620da8e70efc561c142ffb10379033e6b62d1d3fc3db1fc786dbc05f3e55a2af2e578cf920b60f9515a73f80f8b6e03ac35423c75c35325858e749d79b2d225789ec404c9b09f2ce816a6d1b8d3f83503c71c49d14ac6e92f3de6f90a499afd6fbb525f247607f8f20fd1547d71e81d97038c2c5ea3dad23041dd2cd6d7d709820cd382061c8d562bf85e28d83195fb2ade03fc7e34666d4ed48f9030f967ef4b0d6549c679e3acf87d66d60960a44c834b960332c49a7410fe0bcc30aca990d86a2b89f89e4724c59bea84288fcced4953b92203475a1d50e284c2cd81ec0406a259350b0e82bc5ee6df60fa932969e016f97a5103c65aa8fe7e0c4450bf13d22ae43a152fb8ef9bb62f3e0d3cbe36411f79047f40033e7df90db643e8269fdf23d8d25a415c8a058b6e4d6cb788c281c27c27d95324037afb3947dda2f915b35ebe5d1af96891fd76936907867a7f286b8e982a6e4d180319de53f268b4f3acdfe769f3e6e35a0022a51c8f071ff5d21d399658815df2e803959fb9f770d1188e2ff4199a1929e1d5231ec03a3224df6930b210ad37a7c2640360c6261da09554a90cc1ebf7c76ff4da40eed3a93c96212c0526299ff984c25e03d4235538ea33926ae6e9d876895d502fb1acab6786fa547e4bfa636dc96efdb103f38498ed35d20ddd2989207f23c66068a33c0b093b693766e116a0fe9bdcc57c03f43f497f935f5bb6c8663ac4beb9f43b61ca4c0a4bb2da5985ff61ee96f1153e0349f56d5d6fe40ae59331d9522046aa08ce638dc02846b851025f77a84f5e3fbe03c67e0b943757d845af7de7adc2b4d554451bf2073ee1e82eb74cfb14ce2a5e48033b07e0794f8e9747114c3aef6513e621a9bcae80d76fa71c404cb3d1ff0a2261031ea04094e8855c391254eaddaba627776f1bf8f16d79bf8b0fbe468d08a47e6f03f4a4ef006ca8bcbda6e368ee194e37ef4054f0c3a4c6691edbca62ac6f20776d03ca1331e9fc065699ca5dd7e5ceb4109b0906f7ea70b49af9d8bb298780ac999c05581e03c86cb1d43e4f5e0eb6f108dda224ea539cb32d7211cab0d9f3f3dc10400c024801c165e3225a9b15034f2729ee5d65814b219bbb5b17f09d43d00e5434d8f3557345b92e8c133005e503352ffb477a9da4a2fa5748e40b9a436e3116f1edf95a3ebbab2a76eabd0971c003381f8c95ff2b733a847823430efcbd3a6fde247bfc999defa608519282fb810305581e0363a16b2728e1c01ff6c5baf5b6638d0417d033b1bd5b62157e888c461007011bffffffffffffffff03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03c31e96c09021184796aa1a3c4a70212fef3abefa72702f0c8983be0ef007011bffffffffffffffff0357d74b99bd7946cf101175ac79a5d4e447aea6764ad32c10476089031c6f2cc005581d02f16f0e2aa20ec0a8053f691e5d2b4978073c20d4bc5d6a7209dac9e1040305581d02c1580a4123a4eb5ce73038ba855483f556fecf0c9a6d49cd249b5e18040305581d0288badd894683e913f9362f987e00bb9f9b498c6d6eadf04a379fcf630c18b04703600c4b6d07290459034d60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b4cc25ee0a1d68f32f84fe62a9fc5447ef0a66bcc894d39af42c6ef4be931c9764736f6c634300080d00330324a6ef7ea43a6ed827d32cb0c186a02ca41bf9109480d4526aa3f205a33a742c03f9c8fc7604d4c342408f4a2e5ee5516efdbefe9be4192ac2747c0218738e40c6034d1922bfe948cec8098f76e80f239b62f1d72b19c68122f9a213355d34db2ebb00582103162b0988d4210bff484413ed451d170a03887272177efc0b7d000f10abe9edf04b01ef41a4f8e6b3561ca00103c847d3bef02292711d41f8ec8542d7f8c143f640b3331fef5723de5dca4271a20347232f4e483d98bff7ab051671b6e902954227cd0911d22a3bf6ba77d4df5bf90320311cb24ae925be88d75382df89419cdc7be47df5623fdcd81ec3566798ee34005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05402656fe285fac5d5c756c2f03c17277df9bac65b037646a6cc38faf825701ddcf86f79d8174ffa8aae8e9b1dd724ef223079d18f8f0339739bbfa1c973f1d31bdd99da43aba643d29d9717683ad7b91a5f1d323206df03b703d689d91e5fcc4e1306b7847bc99088c337a24eac0450338ef31124199f7000582003d273fe82f6c97699de8548e44b1fe278df04296278104da06c048ab919519041010058200307b9f8bf86ad8bb770f71cd2b1992902ae0314d93fc0f2bb011d70e796226053c452affee3a17d9cecc1bcd2b8d5c7635c4cb9005820038d954e2cfef495862221e91bd7523613cf8808827cb33edfe4904cc51bf290581a1f7dc11f22482258d75d0000000000015c7d829d4dc5def42e9f0219083003042723b60a242ab11a3d523eca6d915c5cf955e61d258dc71911a80c7d5959de0219508003ab9f9269005403987379e1c921627c186588ca5922acdefcceb52ce6009d7e96005820028a47e440286b558426416925d1144329faafed9e7324d369313cb038971f954101005820026782fd46dd71c5f512301ab049782450b4eaf79fdac5443d93d274d3916786540ef8fa4760db8f5cd4d993f3e3416f30f942d705005820026433db1ea270457cafb933c047f0c8845550d8976a644947c8109cf034b86c410102199100005820026cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a5435fa164735182de50811e8e2e824cfb9b6118ac200582002cfd9f2677b892d3eb546999e73618a0a1782463453e73ac76bf1119e429816410100582002ed16b2898c591eab14476eeba4051e382e6799cc7f887e974dc53a95b218154101005820029ac570dd491e5cc42c375f1ee447f7312e3e5a7739988db0f9b11de2f763f041010058200263b5d4f8f94d4f445416bea155a27dba1cc8e4783d0b72c9f0e618ed71aba2410102192c88035cb373a0663a69ea24cf200324f840dc5c07c9d22ca3f90e53465fbb24de124603bbf3468c2b5f6d8e098d022bfa117b7ca9ae982745baad6ebf0e227d7029a1900219ffff05581d022b56b430dc6d6b494a5f3b154c44c1b59d987b4afa7c9e06a6155c930f014a12baba5c913c06f0d75d19034d02198051033dd94be1cc06bdde2ed5920c2712f2426a3b5ba32861d50d4f75a0278838180c021941b90219ffff0219ffff032d63df5b137dfed9434e49c6f5d2600bf8f42234a9f2d05512127a4133d2820503739eee90a95c8e25d737f979f5aa356e2f9a95301af4036de57da178a9a4bb270389b3d7c46433e784d9af0eb2db1cedf7e6aa8e6ff5616fb84cf3acaf10b57bed03afe30695b9e7d8c014d9f621ae65e8b2116d20cb46489e5f6e095cb38a1fca0803a22106ac54fbdec162e2fa1057846666fe0f1d68a45b30243b53b8b6fdc463a903390e56b8aa3ebc171b87ccac5a33849977859f305215be1b53f16e99f2c72c6c03a5e7ffd94053ddc4e522340fe10ba5ffef1494fc58cb029f39cb86c04c48ca7a038ee54c4c1d0425e51442c27f729587c4f7207465d42baec8cd286be591f1b81303556575d548779a050b659941b5b8659fccb2ed29f3459ddb3a849ba92175587903d2879489b29bf3760355b496b1f248abb28e7fd45832eeeb2d3fa5aecb00594803f5286b7be195a69b3dd3c8556fb74408a31108f8ddd762222a7a72df19eba8fb0219ffff038402ff4363d21e57d745f88cdfb1cd9ebe16b35089b43ac140e782201cb8453303eaff813dbe50e71204ea4679a69544aab0ea9c574f81580deaf55705515844c903c4c8065fddf75dce8918b09f14d0699f0694fb23bfa10da963b32ac8b7e568780329ec046468690d2e64968ac9e539b9e704f70a322a6807b5429c05117a36411303aaf28a53fb5914d2a698a48c02b1eaeccf4b2b42660a7785c637548c2f79545103b775245e4743cfab4f6a9f965d58eb13895b79700659011ab4c34e016ec6201f0315248660d26430b77352e48908ea914bc01a95eea6ee088d451b6a1d0a4a6f7503c75cbb9c28eb8a3c5a20e4ac530ff68f9a4c8d9562c923e81ca1043a1e4f79ce034305c3e2eb2a421054a9e2e2f69693be9558480cbc3253045968118fad97d80003c36f8652017a7c97c044fbfa3c936ba78f7d4c7c66a10a850aca142eb80a147303bd8599bc984b877b901e79414602f8515bdf1776216d3d856b0aaff759b7b75203342143b7b688af2d80a2d03fbc96dc57fb85086abe61ac8d6a82039e8fd74e5a031ce950cf372a30c09933ee48d40910aa1d430e11d3659e3c991be754ca1483c6030bf4fbf01d04aeb26ca3bf0c40a2fab09483d9aaa3f361de63ae99de63b5c43e03c6246a694b2bea35af99169bb2388d02d14d7bbb416d823bf4ee1624c4fcdb960342f162b7b8fc969ace0fda6d7fc4d2eb3e24f6b7372c44fe372849dffe73c25b0365bd518436912ea6890e5495c4d798f0db70544fd83f7a73e7466f6e626b4475034607789046fd078fc0eb1cfeccfa4ee64b11e2ce8b4809d5285622100eb116bd0361dc7912e54e840287422de54843d1c6a689c71dd840eea234132d474c25c63e03e0c2bdf26290c1e24cdc970189d5a089a2d8aec32053b7223252af03ea5f8e5703e87b1b56788477fc9752b63234c0686fa13249cbb201518d3d58a915d8fc5bbf03d44e85259d45ea4b7b8f9156e6f0fea8d8eca4b824be1476ac0d9f310028d809034e991719a69cdc3ce37863446023596671b46de0731e8e957f44c5a1b578aa2f035f7d5abdb054a404e84f4319d4aa0e1f22904fa0b5a7339e757dfce66c13e12b033262208d1e01faba6e616600160fe7224fffe15036b927f0663df573b3c2b8d203c7300de9fd62a71661fb72eabe5b69d9321e877a95b7ae29251aec683737d590030ae7adb1a14f3ce1ccb200daceaf49cbb92e3c90b7abe72dfa6546dd134aae0203f1e2fd9052c8f3c4dd33369fbbd089c2ca887029e6b70c8f470aaa59e5516cf503db5862fdcf9d522a287f1a2be7f87f5aa35f7116e6247f10e709173fe5448c4a03d7d54ad90efd14a21680ac24130f1b24e95f8beb3bb90457bb63ec4e9b05215a0393890eb5a933c386336690e90826e2e7dbb65b972ea280b0d49e8b9eeb8b321f05581e035b8cd4b1d26623fcb189f234560482d5e90a51746cec2cad81bacc2f800c01461acdbbbbbfb003c993782d80a40db25de108b21a9213d33a4188c5f22f081bf042c796e4f017f103caa8f920a4476ce260e2de3ff39446b5d340922a3139d79c2a5505da86e52f3603df28c4c779c6eb2ad205db4f06c899d1f0da7e07b47d9dc3d9620fadafee541005581e03a421a8ba49bdce5018b441ceb0d5a1eb5e9b5e11fc4e76e3652709c6e00847bce6e5351b3c4c0334db7c7b629bb040177fb6461a57da9f443c4764b0baf6d81337d02a736065af01410e05581e038b60d057f88a5463c7e332e0e52e2ec632f2e26cae1fbd7e1f52e279300c0c47eec60b7e121e8705581e036d9f04eace3c65426b44a698d04d549f6209191b44d09428e8af35d700040303e358209e828c0e4be311ce3e748e655982ea4a5fdfaecf7b8010806165db592805581d02e872894d88292038f48a189a01babe0757bd90fb7f76b5a759cb0153040103c3802770f6753a888b86cd74e615671f75f64162f4d1ee5b8ecefd286df33dd405581d02a93db600bb5d0be11fc4c28c92d498de331ac23b6c9aa03a8667473f0c0146c4b944aa3800045955e06080604052600436106104d45760003560e01c80635c975abb11610279578063b46a130e1161015e578063da792058116100d6578063f2fde38b1161008a578063f340fa011161006f578063f340fa0114610f56578063f3fef3a314610f69578063f9609f0814610f8957600080fd5b8063f2fde38b14610f16578063f31f6aeb14610f3657600080fd5b8063ded05b45116100bb578063ded05b4514610eaa578063e453793414610ebd578063ee30511614610ef657600080fd5b8063da79205814610e65578063da8ed1f714610e8a57600080fd5b8063c24671561161012d578063d0e30db011610112578063d0e30db014610e0d578063d6951aa914610e15578063d936547e14610e3557600080fd5b8063c246715614610dc4578063c98bea5b14610de457600080fd5b8063b46a130e14610d4f578063bac1520314610d6f578063c00b2d6114610d84578063c00c2d7314610da457600080fd5b806389a8d9f5116101f1578063987f010f116101c0578063a7cd0a1c116101a5578063a7cd0a1c14610cfa578063aaf10f4214610d1a578063b0192f9a14610d2f57600080fd5b8063987f010f14610cba5780639a8a302b14610cda57600080fd5b806389a8d9f514610c3c5780638a1b58b114610c5c5780638da5cb5b14610c7c578063917266fa14610c9a57600080fd5b806371cb700f116102485780637c90fbf01161022d5780637c90fbf014610b9c5780637faac02a14610bc3578063813827a214610c1c57600080fd5b806371cb700f14610b5c578063732db63514610b7c57600080fd5b80635c975abb14610ad8578063670a6fd914610b0757806368057db214610b27578063715018a614610b4757600080fd5b806335876476116103ba578063469963aa1161033257806351199700116102e657806352d1902d116102cb57806352d1902d14610a8957806353f3fcb114610a9e578063561bddf814610ab857600080fd5b80635119970014610a4857806351fb012d14610a6857600080fd5b80634ddeec69116103175780634ddeec69146109f55780634f1ef28614610a1557806350a8a55314610a2857600080fd5b8063469963aa146109b55780634c73f498146109d557600080fd5b80633a53acb011610389578063429b62e51161036e578063429b62e514610950578063439766ce14610980578063456a23a61461099557600080fd5b80633a53acb0146108ec5780633d85f1541461090c57600080fd5b806335876476146108775780633659cfe61461089757806337cfdaca146108b7578063397a1b28146108cc57600080fd5b80631aab9ef11161044d57806322828cc21161041c57806326d5d54a1161040157806326d5d54a146107ce57806328ac82e71461082a5780632db004a31461084a57600080fd5b806322828cc21461078e5780632423f9c9146107ae57600080fd5b80631aab9ef11461070e5780631c6b4ed91461072e5780631d3ea14f1461074e57806321820f6e1461076e57600080fd5b80630de371e2116104a457806312c53c9b1161048957806312c53c9b1461069d5780631665f66d146106ce5780631729d10b146106ee57600080fd5b80630de371e21461062657806310ddce8e1461065e57600080fd5b806203c53d1461059157806303dcfbdc146105b357806308388426146105e6578063086e16c01461060657600080fd5b3661058c576001600160801b033411156105015760405163162908e360e11b815260040160405180910390fd5b60cf805434919060009061051f9084906001600160801b0316614638565b92506101000a8154816001600160801b0302191690836001600160801b031602179055503460cf60108282829054906101000a90046001600160801b03166105679190614658565b92506101000a8154816001600160801b0302191690836001600160801b031602179055005b600080fd5b34801561059d57600080fd5b506105b16105ac3660046146c4565b610f9c565b005b3480156105bf57600080fd5b506105d36105ce3660046147ab565b61101f565b6040519081526020015b60405180910390f35b3480156105f257600080fd5b506105b161060136600461487c565b61110a565b34801561061257600080fd5b506105b161062136600461497f565b6113df565b34801561063257600080fd5b5060ce54610646906001600160a01b031681565b6040516001600160a01b0390911681526020016105dd565b34801561066a57600080fd5b5060d45461068590600160801b90046001600160801b031681565b6040516001600160801b0390911681526020016105dd565b3480156106a957600080fd5b5060ce546106be90600160a01b900460ff1681565b60405190151581526020016105dd565b3480156106da57600080fd5b506105b16106e93660046149b2565b6113eb565b3480156106fa57600080fd5b5060de54610646906001600160a01b031681565b34801561071a57600080fd5b506105d36107293660046149db565b611476565b34801561073a57600080fd5b506105b1610749366004614a0e565b61168e565b34801561075a57600080fd5b506105b1610769366004614a50565b611717565b34801561077a57600080fd5b506105b1610789366004614ab2565b611737565b34801561079a57600080fd5b5060c954610646906001600160a01b031681565b3480156107ba57600080fd5b506105b16107c9366004614ab2565b6117b2565b3480156107da57600080fd5b5061080d6107e9366004614acf565b60d76020526000908152604090205463ffffffff8082169164010000000090041682565b6040805163ffffffff9384168152929091166020830152016105dd565b34801561083657600080fd5b5060cb54610646906001600160a01b031681565b34801561085657600080fd5b506105d3610865366004614af0565b60d86020526000908152604090205481565b34801561088357600080fd5b506105b1610892366004614b09565b6117f3565b3480156108a357600080fd5b506105b16108b2366004614b8f565b611ad3565b3480156108c357600080fd5b506105d3611c70565b3480156108d857600080fd5b506105d36108e7366004614baa565b611ca0565b3480156108f857600080fd5b506105d3610907366004614af0565b611e8e565b34801561091857600080fd5b5061092c610927366004614af0565b611f46565b604080516001600160a01b03909316835263ffffffff9091166020830152016105dd565b34801561095c57600080fd5b506106be61096b366004614b8f565b60d66020526000908152604090205460ff1681565b34801561098c57600080fd5b506105b1611f7e565b3480156109a157600080fd5b5060cf54610685906001600160801b031681565b3480156109c157600080fd5b5060ca54610646906001600160a01b031681565b3480156109e157600080fd5b506105b16109f0366004614bd4565b612007565b610a08610a03366004614bfe565b6120b6565b6040516105dd9190614c8b565b6105b1610a23366004614c9e565b61213a565b348015610a3457600080fd5b5060d054610646906001600160a01b031681565b348015610a5457600080fd5b506105d3610a63366004614b8f565b6122c4565b348015610a7457600080fd5b5060d9546106be90600160a01b900460ff1681565b348015610a9557600080fd5b506105d36123f5565b348015610aaa57600080fd5b5060dc546106be9060ff1681565b348015610ac457600080fd5b506105d3610ad3366004614af0565b6124ba565b348015610ae457600080fd5b5060dc546106be9071010000000000000000000000000000000000900460ff1681565b348015610b1357600080fd5b506105b1610b22366004614d44565b612550565b348015610b3357600080fd5b506105b1610b423660046146c4565b612583565b348015610b5357600080fd5b506105b16125f7565b348015610b6857600080fd5b5060d254610646906001600160a01b031681565b348015610b8857600080fd5b506105b1610b97366004614b8f565b61260b565b348015610ba857600080fd5b5060cf5461068590600160801b90046001600160801b031681565b348015610bcf57600080fd5b50610c00610bde366004614b8f565b60db6020526000908152604090205460ff811690610100900463ffffffff1682565b60408051921515835263ffffffff9091166020830152016105dd565b348015610c2857600080fd5b50610a08610c37366004614bfe565b6128f8565b348015610c4857600080fd5b506105b1610c57366004614a0e565b612969565b348015610c6857600080fd5b506105b1610c773660046149b2565b61297c565b348015610c8857600080fd5b506033546001600160a01b0316610646565b348015610ca657600080fd5b506105d3610cb5366004614af0565b6129cb565b348015610cc657600080fd5b50610a08610cd5366004614d7b565b612a9d565b348015610ce657600080fd5b5060d154610646906001600160a01b031681565b348015610d0657600080fd5b506105b1610d15366004614dc7565b612ab4565b348015610d2657600080fd5b50610646612b93565b348015610d3b57600080fd5b5060dd54610646906001600160a01b031681565b348015610d5b57600080fd5b506105d3610d6a366004614e1e565b612bcb565b348015610d7b57600080fd5b506105b1612c74565b348015610d9057600080fd5b506105b1610d9f366004614e51565b612ccb565b348015610db057600080fd5b5060d954610646906001600160a01b031681565b348015610dd057600080fd5b506105b1610ddf366004614b8f565b612dfa565b348015610df057600080fd5b5060d55461080d9063ffffffff8082169164010000000090041682565b6105d3612f88565b348015610e2157600080fd5b5060d454610685906001600160801b031681565b348015610e4157600080fd5b506106be610e50366004614b8f565b60da6020526000908152604090205460ff1681565b348015610e7157600080fd5b5060dc546106859061010090046001600160801b031681565b348015610e9657600080fd5b506105b1610ea5366004614ab2565b612f94565b610a08610eb8366004614d7b565b612faf565b348015610ec957600080fd5b5060d054610ee190600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016105dd565b348015610f0257600080fd5b5060cc54610646906001600160a01b031681565b348015610f2257600080fd5b506105b1610f31366004614b8f565b612fc6565b348015610f4257600080fd5b5060cd54610646906001600160a01b031681565b6105d3610f64366004614b8f565b613053565b348015610f7557600080fd5b506105d3610f84366004614baa565b61310c565b6105d3610f97366004614bd4565b6133f1565b610fa4613506565b60de54600160a01b900460ff166110025760405162461bcd60e51b815260206004820152601160248201527f496e636f7272656374426e66744d6f646500000000000000000000000000000060448201526064015b60405180910390fd5b6110148989898989898989893061356e565b505050505050505050565b6000611029613506565b60ce546001600160a01b031663d505accf3330853560208701356110536060890160408a01614e74565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0395861660048201529490931660248501526044840191909152606483015260ff166084820152606085013560a4820152608085013560c482015260e401600060405180830381600087803b1580156110de57600080fd5b505af11580156110f2573d6000803e3d6000fd5b505050506111008484611ca0565b90505b9392505050565b6111126137ae565b61111a613506565b84518314801561112a5750845181145b6111765760405162461bcd60e51b815260206004820152600e60248201527f6c656e67746873206469666665720000000000000000000000000000000000006044820152606401610ff9565b6000855167ffffffffffffffff81111561119257611192614811565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b50905060005b86518110156112935760d860008883815181106111e0576111e0614e97565b602002602001015181526020019081526020016000205482828151811061120957611209614e97565b60200260200101818152505060d8600088838151811061122b5761122b614e97565b602002602001015181526020019081526020016000206000905586818151811061125757611257614e97565b60200260200101517f3a45f0697c2ad042d28b6679f70d695b90d55438dfbf3f43a44bba9dcf061c1960405160405180910390a26001016111c1565b5085516112a9906801a055690d9db80000614ead565b60cf80546000906112c49084906001600160801b0316614658565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555085516801a055690d9db800006112fe9190614ead565b60cf8054601090611320908490600160801b90046001600160801b0316614638565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555060c960009054906101000a90046001600160a01b03166001600160a01b0316634cfc6c7387516801ae361fc1451c000061137e9190614ead565b8888888888886040518863ffffffff1660e01b81526004016113a596959493929190614f96565b6000604051808303818588803b1580156113be57600080fd5b505af11580156113d2573d6000803e3d6000fd5b5050505050505050505050565b6113e76137ae565b5050565b60d9546001600160a01b031633148061140e575060d2546001600160a01b031633145b61142b576040516317fe949f60e01b815260040160405180910390fd5b8060dc60018282829054906101000a90046001600160801b031661144f9190614658565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050565b6000611480613506565b60cc546001600160a01b031633146114ab576040516317fe949f60e01b815260040160405180910390fd5b60006114b684611e8e565b90506bffffffffffffffffffffffff8411806114d0575083155b806114d9575080155b156114f75760405163162908e360e11b815260040160405180910390fd5b60ce5460d2546040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039182166024820152604481018790529116906323b872dd906064016020604051808303816000875af115801561156b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158f919061501b565b5060d2546040517f19691cb00000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff8087166004830152831660248201526001600160a01b0387811660448301526064820186905260009216906319691cb0906084016020604051808303816000875af1158015611619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163d9190615038565b9050336001600160a01b03167fb9da3f3df62c28aca604806cc6ee9678189d7591ef511a77bb040fa8361e9e028787600260405161167d93929190615089565b60405180910390a295945050505050565b6116966137ae565b60ca546040517ffb63cf5c0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063fb63cf5c906116e190859085906004016150f8565b600060405180830381600087803b1580156116fb57600080fd5b505af115801561170f573d6000803e3d6000fd5b505050505050565b61171f613506565b6117276137ae565b61173283838361380d565b505050565b61173f6137ae565b60d98054821515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff9091161790556040517ffddaedbbaf95678a4915c7d90609990f214a158cfffa4af95aa3e7ba087c8b07906117a790831515815260200190565b60405180910390a150565b6117ba6137ae565b60de8054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b600054610100900460ff16158080156118135750600054600160ff909116105b8061182d5750303b15801561182d575060005460ff166001145b61189f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ff9565b6000805460ff1916600117905580156118c2576000805461ff0019166101001790555b6001600160a01b03881615806118df57506001600160a01b038716155b806118f157506001600160a01b038616155b8061190357506001600160a01b038516155b8061191557506001600160a01b038416155b1561194c576040517fbaca868900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611954613a78565b61195c613afd565b60ce80546001600160a01b03808b1673ffffffffffffffffffffffffffffffffffffffff199283161790925560c980548a841690831617905560ca805489841690831617905560cc805488841690831617905560cd805487841690831617905560dc805460d980547fffffffffffffffffffffffffffff00000000000000000000000000000000000090921671010000000000000000000000000000000000179092558684167fffffffffffffffffffffff0000000000000000000000000000000000000000009091168117600160a01b1790915560d2805493861693909216929092179055600090815260d660205260409020805460ff1916600117905560de80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690558015611ac9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b6001600160a01b037f00000000000000000000000002656fe285fac5d5c756c2f03c17277df9bac65b163003611b715760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610ff9565b7f00000000000000000000000002656fe285fac5d5c756c2f03c17277df9bac65b6001600160a01b0316611bcc7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614611c485760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610ff9565b611c5181613b7a565b60408051600080825260208201909252611c6d91839190613b82565b50565b60cf54600090611c92906001600160801b03600160801b820481169116614658565b6001600160801b0316905090565b6000611caa613506565b6000611cb583611e8e565b90506bffffffffffffffffffffffff831180611ccf575082155b80611cd8575080155b15611cf65760405163162908e360e11b815260040160405180910390fd5b60ce5460d2546040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039182166024820152604481018690529116906323b872dd906064016020604051808303816000875af1158015611d6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8e919061501b565b5060d2546040517f19691cb00000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff8086166004830152831660248201526001600160a01b0386811660448301526000606483018190529216906319691cb0906084016020604051808303816000875af1158015611e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3c9190615038565b9050336001600160a01b03167fb9da3f3df62c28aca604806cc6ee9678189d7591ef511a77bb040fa8361e9e0286866001604051611e7c93929190615089565b60405180910390a29150505b92915050565b600080611e99611c70565b905080600003611eac5750600092915050565b60ce54604080517f3a98ef39000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691633a98ef399160048083019260209291908290030181865afa158015611f0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f329190615038565b611f3c9085614ead565b611103919061510c565b60d38181548110611f5657600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900463ffffffff1682565b611f866137ae565b60dc80547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff16710100000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611fea3390565b6040516001600160a01b03909116815260200160405180910390a1565b61200f613d22565b6001600160a01b0382161580159061202f57506001600160a01b03811615155b61207b5760405162461bcd60e51b815260206004820152600e60248201527f496e76616c696420706172616d730000000000000000000000000000000000006044820152606401610ff9565b60dd80546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560de8054929093169116179055565b60606120c0613506565b60de54600160a01b900460ff161561211a5760405162461bcd60e51b815260206004820152601160248201527f496e636f7272656374426e66744d6f64650000000000000000000000000000006044820152606401610ff9565b61212f858585671bc16d674ec8000086613d7c565b90505b949350505050565b6001600160a01b037f00000000000000000000000002656fe285fac5d5c756c2f03c17277df9bac65b1630036121d85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610ff9565b7f00000000000000000000000002656fe285fac5d5c756c2f03c17277df9bac65b6001600160a01b03166122337f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146122af5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610ff9565b6122b882613b7a565b6113e782826001613b82565b600080600060ce60009054906101000a90046001600160a01b03166001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561231c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123409190615038565b905080156123ee5760ce546040517fce7c2ac20000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301528392169063ce7c2ac290602401602060405180830381865afa1580156123ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cf9190615038565b6123d7611c70565b6123e19190614ead565b6123eb919061510c565b91505b5092915050565b6000306001600160a01b037f00000000000000000000000002656fe285fac5d5c756c2f03c17277df9bac65b16146124955760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ff9565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060ce60009054906101000a90046001600160a01b03166001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612510573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125349190615038565b9050806000036125475750600092915050565b80611f32611c70565b612558613d22565b6001600160a01b0391909116600090815260d660205260409020805460ff1916911515919091179055565b61258b613506565b60de54600160a01b900460ff16156125e55760405162461bcd60e51b815260206004820152601160248201527f496e636f7272656374426e66744d6f64650000000000000000000000000000006044820152606401610ff9565b6110148989898989898989893361356e565b6125ff613d22565b612609600061403e565b565b6001600160a01b038116600090815260db602052604090205460ff166126735760405162461bcd60e51b815260206004820152600e60248201527f4e6f7420726567697374657265640000000000000000000000000000000000006044820152606401610ff9565b6001600160a01b038116600090815260db602090815260408083205433845260d69092529091205461010090910463ffffffff169060ff16806126dc575060d381815481106126c4576126c4614e97565b6000918252602090912001546001600160a01b031633145b61271b5760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1021b0b63632b960811b6044820152606401610ff9565b60d35460009061272d9060019061512e565b9050600060d3828154811061274457612744614e97565b60009182526020909120015460d380546001600160a01b039092169250908390811061277257612772614e97565b9060005260206000200160d3848154811061278f5761278f614e97565b6000918252602080832084549201805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b039485169081178355955463ffffffff600160a01b9182900481169091027fffffffffffffffff000000000000000000000000000000000000000000000000909216909617179055908416825260db90526040902080549185166101000264ffffffff001990921691909117905560d380548061283d5761283d615141565b600082815260208082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908401810180547fffffffffffffffff0000000000000000000000000000000000000000000000001690559092019092556001600160a01b03861680835260db8252604092839020805464ffffffffff1916905582519081529081018590527f9b6ce1269d88e60cbdb801501eb6b2bf94bae1523cfa6c5bff01ac01c57913d0910160405180910390a150505050565b6060612902613506565b60de54600160a01b900460ff1661295b5760405162461bcd60e51b815260206004820152601160248201527f496e636f7272656374426e66744d6f64650000000000000000000000000000006044820152606401610ff9565b61212f858585600086613d7c565b612971613506565b6113e782823361380d565b60d2546001600160a01b031633146129a7576040516317fe949f60e01b815260040160405180910390fd5b8060dc60018282829054906101000a90046001600160801b031661144f9190614638565b6000806129d6611c70565b9050806000036129e95750600092915050565b60ce54604080517f3a98ef3900000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691633a98ef399160048083019260209291908290030181865afa158015612a4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a709190615038565b612a7a9085614ead565b9050816001612a898284615157565b612a93919061512e565b612132919061510c565b6060612aa7613506565b61110084848460006128f8565b612abc6137ae565b60005b82811015612b8d578160da6000868685818110612ade57612ade614e97565b9050602002016020810190612af39190614b8f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f0cb6419711fbc14c120b7eb5e02b897bb91a3ab45c8c53575792b9baa3e174e1848483818110612b4e57612b4e614e97565b9050602002016020810190612b639190614b8f565b604080516001600160a01b03909216825284151560208301520160405180910390a1600101612abf565b50505050565b6000612bc67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b6000612bd5613506565b60de546001600160a01b03163314612c225760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1021b0b63632b960811b6044820152606401610ff9565b836001600160a01b03167fa241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90d84600185604051612c609392919061516a565b60405180910390a26111008460008561409d565b612c7c6137ae565b60dc80547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611fea565b60cc546001600160a01b03163314612cf6576040516317fe949f60e01b815260040160405180910390fd5b60cf54612d0d9082906001600160801b0316615195565b60cf80547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001600160801b03929092169190911790557f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a21511612d6e611c70565b60ce60009054906101000a90046001600160a01b03166001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de59190615038565b604080519283526020830191909152016117a7565b612e026137ae565b6001600160a01b038116600090815260db602052604090205460ff1615612e6b5760405162461bcd60e51b815260206004820152601260248201527f416c7265616479207265676973746572656400000000000000000000000000006044820152606401610ff9565b6040805180820182526001600160a01b038381168083526000602080850182815260d380546001808201835591855287517f915c3eb987b20e1af620c1403197bf687fb7f18513b3a73fde6e78c7072c41a6820180549451919098167fffffffffffffffff00000000000000000000000000000000000000000000000090941693909317600160a01b63ffffffff94851602179096558751808901895290815281861681840190815285855260db84529388902090518154945164ffffffffff1990951690151564ffffffff0019161761010094909216939093021790915584519182528101829052919290917f3b4092c34f0c2f5ee4cbf1f20a8cb5c161e77756b8f115201b35c47aefeb6749910160405180910390a1505050565b6000612bc66000613053565b612f9c6137ae565b60dc805460ff1916911515919091179055565b6060612fb9613506565b61110084848460006120b6565b612fce613d22565b6001600160a01b03811661304a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ff9565b611c6d8161403e565b600061305d613506565b6130663361420f565b6130b25760405162461bcd60e51b815260206004820152600c60248201527f496e76616c6964205573657200000000000000000000000000000000000000006044820152606401610ff9565b336001600160a01b03167fa241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90d346001856040516130f09392919061516a565b60405180910390a26131043334600061409d565b90505b919050565b6000613116613506565b6000613121836129cb565b60d2549091506001600160a01b0316331480613147575060cc546001600160a01b031633145b6131865760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1021b0b63632b960811b6044820152606401610ff9565b60cf54600160801b90046001600160801b03168311806131ca575060d2546001600160a01b0316331480156131ca575060dc5461010090046001600160801b031683115b80613257575060ce546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015284916001600160a01b0316906370a0823190602401602060405180830381865afa158015613231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132559190615038565b105b1561328e576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160801b038311806132a1575082155b806132aa575080155b156132c85760405163162908e360e11b815260040160405180910390fd5b8260cf60108282829054906101000a90046001600160801b03166132ec9190614638565b82546001600160801b039182166101009390930a92830291909202199091161790555060d2546001600160a01b0316330361336a578260dc60018282829054906101000a90046001600160801b03166133459190614638565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b60ce546040517fee7a7c04000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b039091169063ee7a7c0490604401600060405180830381600087803b1580156133cf57600080fd5b505af11580156133e3573d6000803e3d6000fd5b505050506111038484614245565b60006133fb613506565b60cc546001600160a01b031633146134485760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1021b0b63632b960811b6044820152606401610ff9565b60cc546001600160a01b038481169116148061346857506134688361420f565b6134b45760405162461bcd60e51b815260206004820152600c60248201527f496e76616c6964205573657200000000000000000000000000000000000000006044820152606401610ff9565b336001600160a01b03167fa241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90d346002856040516134f29392919061516a565b60405180910390a26111033334600061409d565b60dc5471010000000000000000000000000000000000900460ff16156126095760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610ff9565b878614801561357c57508784145b801561358757508782145b6135d35760405162461bcd60e51b815260206004820152600e60248201527f6c656e67746873206469666665720000000000000000000000000000000000006044820152606401610ff9565b60d080548991906014906135f5908490600160a01b900463ffffffff166151e3565b825463ffffffff9182166101009390930a92830291909202199091161790555060c9546001600160a01b0316636413cc086136388a670de0b6b3a7640000614ead565b8c8c8c86308e8e336040518a63ffffffff1660e01b8152600401613663989796959493929190615200565b6000604051808303818588803b15801561367c57600080fd5b505af1158015613690573d6000803e3d6000fd5b505050505060005b888110156113d2578585828181106136b2576136b2614e97565b9050602002013560d860008c8c858181106136cf576136cf614e97565b905060200201358152602001908152602001600020819055508989828181106136fa576136fa614e97565b905060200201357f7c6ee2c19ea9869a56eee5e68fe853d4e5a0171b0c02203d09df4c414fe8488285858481811061373457613734614e97565b9050602002810190613746919061531a565b8b8b8681811061375857613758614e97565b905060200281019061376a9190615361565b613774908061531a565b8b8b8881811061378657613786614e97565b9050602002013560405161379e959493929190615381565b60405180910390a2600101613698565b33600090815260d6602052604090205460ff166126095760405162461bcd60e51b815260206004820152600960248201527f4e6f742061646d696e00000000000000000000000000000000000000000000006044820152606401610ff9565b6000805b838110156139ee57600860ca546001600160a01b031663135f8aa787878581811061383e5761383e614e97565b905060200201356040518263ffffffff1660e01b815260040161386391815260200190565b602060405180830381865afa158015613880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138a491906153bb565b60098111156138b5576138b5615051565b0361397f5760de54600160a01b900460ff166138e4576138dd670de0b6b3a764000083615157565b9150613935565b670de0b6b3a764000060cf60108282829054906101000a90046001600160801b03166139109190614638565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b84848281811061394757613947614e97565b905060200201357f93078fc8e25f8a1cf1f7267fc8b9e164b79add4272948f78faf310b3787d7f8060405160405180910390a26139e6565b60de54600160a01b900460ff166139a5576139a2671bc16d674ec8000083615157565b91505b600160d060148282829054906101000a900463ffffffff166139c791906151e3565b92506101000a81548163ffffffff021916908363ffffffff1602179055505b600101613811565b5060c9546040517f915152810000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690639151528190613a3c908790879087906004016153dc565b600060405180830381600087803b158015613a5657600080fd5b505af1158015613a6a573d6000803e3d6000fd5b50505050612b8d8282614245565b600054610100900460ff16613af55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ff9565b6126096142fc565b600054610100900460ff166126095760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ff9565b611c6d613d22565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613bb55761173283614382565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613c0f575060408051601f3d908101601f19168201909252613c0c91810190615038565b60015b613c815760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ff9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114613d165760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ff9565b5061173283838361444d565b6033546001600160a01b031633146126095760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ff9565b33600090815260db602052604090205460609063ffffffff6101008204169060ff168015613ddf5750336001600160a01b031660d38263ffffffff1681548110613dc857613dc8614e97565b6000918252602090912001546001600160a01b0316145b613e1e5760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1021b0b63632b960811b6044820152606401610ff9565b613e288486614ead565b3414613e765760405162461bcd60e51b815260206004820152601260248201527f4e6f7420456e6f756768204465706f73697400000000000000000000000000006044820152606401610ff9565b613e89856801bc16d674ec800000614ead565b60cf54613ea7903490600160801b90046001600160801b0316615157565b1015613ef55760405162461bcd60e51b815260206004820152601260248201527f4e6f7420656e6f7567682062616c616e636500000000000000000000000000006044820152606401610ff9565b60de543090600090600160a01b900460ff16613f115733613f13565b305b9050600060c960009054906101000a90046001600160a01b03166001600160a01b03166347d678868b8b8b338888600160dc60009054906101000a900460ff168f6040518a63ffffffff1660e01b8152600401613f7899989796959493929190615409565b6000604051808303816000875af1158015613f97573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613fbf919081019061546c565b9050805160d060148282829054906101000a900463ffffffff16613fe391906154fd565b92506101000a81548163ffffffff021916908363ffffffff1602179055508051881115614031576000815189614019919061512e565b6140239089614ead565b905061402f3382614245565b505b9998505050505050505050565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008260cf60108282829054906101000a90046001600160801b03166140c39190614658565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508160cf60008282829054906101000a90046001600160801b031661410b9190614658565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506000828461413d9190615157565b9050600061414a82614472565b90506001600160801b0382118061415f575081155b80614168575080155b156141865760405163162908e360e11b815260040160405180910390fd5b60ce546040517f528c198a0000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152602482018490529091169063528c198a90604401600060405180830381600087803b1580156141ed57600080fd5b505af1158015614201573d6000803e3d6000fd5b509298975050505050505050565b60d954600090600160a01b900460ff1615806131045750506001600160a01b0316600090815260da602052604090205460ff1690565b60405147906000906001600160a01b0385169084908381818185875af1925050503d8060008114614292576040519150601f19603f3d011682016040523d82523d6000602084013e614297565b606091505b505090508080156142b057506142ad838361512e565b47145b612b8d5760405162461bcd60e51b815260206004820152600860248201527f53656e644661696c0000000000000000000000000000000000000000000000006044820152606401610ff9565b600054610100900460ff166143795760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ff9565b6126093361403e565b6001600160a01b0381163b6143ff5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ff9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61445683614499565b6000825111806144635750805b1561173257612b8d83836144d9565b6000808261447e611c70565b614488919061512e565b905080600003611eac575090919050565b6144a281614382565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6145585760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610ff9565b600080846001600160a01b031684604051614573919061553e565b600060405180830381855af49150503d80600081146145ae576040519150601f19603f3d011682016040523d82523d6000602084013e6145b3565b606091505b50915091506145db8282604051806060016040528060278152602001615584602791396145e4565b95945050505050565b606083156145f3575081611103565b61110383838151156146085781518083602001fd5b8060405162461bcd60e51b8152600401610ff99190615550565b634e487b7160e01b600052601160045260246000fd5b6001600160801b038281168282160390808211156123ee576123ee614622565b6001600160801b038181168382160190808211156123ee576123ee614622565b60008083601f84011261468a57600080fd5b50813567ffffffffffffffff8111156146a257600080fd5b6020830191508360208260051b85010111156146bd57600080fd5b9250929050565b600080600080600080600080600060a08a8c0312156146e257600080fd5b8935985060208a013567ffffffffffffffff8082111561470157600080fd5b61470d8d838e01614678565b909a50985060408c013591508082111561472657600080fd5b6147328d838e01614678565b909850965060608c013591508082111561474b57600080fd5b6147578d838e01614678565b909650945060808c013591508082111561477057600080fd5b5061477d8c828d01614678565b915080935050809150509295985092959850929598565b80356001600160a01b038116811461310757600080fd5b600080600083850360e08112156147c157600080fd5b6147ca85614794565b93506020850135925060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08201121561480357600080fd5b506040840190509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561485057614850614811565b604052919050565b600067ffffffffffffffff82111561487257614872614811565b5060051b60200190565b60008060008060006060868803121561489457600080fd5b853567ffffffffffffffff808211156148ac57600080fd5b818801915088601f8301126148c057600080fd5b813560206148d56148d083614858565b614827565b82815260059290921b8401810191818101908c8411156148f457600080fd5b948201945b83861015614912578535825294820194908201906148f9565b9950508901359250508082111561492857600080fd5b61493489838a01614678565b9096509450604088013591508082111561494d57600080fd5b5061495a88828901614678565b969995985093965092949392505050565b803563ffffffff8116811461310757600080fd5b6000806040838503121561499257600080fd5b61499b8361496b565b91506149a96020840161496b565b90509250929050565b6000602082840312156149c457600080fd5b81356001600160801b038116811461110357600080fd5b6000806000606084860312156149f057600080fd5b6149f984614794565b95602085013595506040909401359392505050565b60008060208385031215614a2157600080fd5b823567ffffffffffffffff811115614a3857600080fd5b614a4485828601614678565b90969095509350505050565b600080600060408486031215614a6557600080fd5b833567ffffffffffffffff811115614a7c57600080fd5b614a8886828701614678565b9094509250614a9b905060208501614794565b90509250925092565b8015158114611c6d57600080fd5b600060208284031215614ac457600080fd5b813561110381614aa4565b600060208284031215614ae157600080fd5b81356004811061110357600080fd5b600060208284031215614b0257600080fd5b5035919050565b600080600080600080600060e0888a031215614b2457600080fd5b614b2d88614794565b9650614b3b60208901614794565b9550614b4960408901614794565b9450614b5760608901614794565b9350614b6560808901614794565b9250614b7360a08901614794565b9150614b8160c08901614794565b905092959891949750929550565b600060208284031215614ba157600080fd5b61110382614794565b60008060408385031215614bbd57600080fd5b614bc683614794565b946020939093013593505050565b60008060408385031215614be757600080fd5b614bf083614794565b91506149a960208401614794565b60008060008060608587031215614c1457600080fd5b843567ffffffffffffffff811115614c2b57600080fd5b614c3787828801614678565b90989097506020870135966040013595509350505050565b60008151808452602080850194506020840160005b83811015614c8057815187529582019590820190600101614c64565b509495945050505050565b6020815260006111036020830184614c4f565b60008060408385031215614cb157600080fd5b614cba83614794565b915060208084013567ffffffffffffffff80821115614cd857600080fd5b818601915086601f830112614cec57600080fd5b813581811115614cfe57614cfe614811565b614d1084601f19601f84011601614827565b91508082528784828501011115614d2657600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060408385031215614d5757600080fd5b614d6083614794565b91506020830135614d7081614aa4565b809150509250929050565b600080600060408486031215614d9057600080fd5b833567ffffffffffffffff811115614da757600080fd5b614db386828701614678565b909790965060209590950135949350505050565b600080600060408486031215614ddc57600080fd5b833567ffffffffffffffff811115614df357600080fd5b614dff86828701614678565b9094509250506020840135614e1381614aa4565b809150509250925092565b600080600060608486031215614e3357600080fd5b614e3c84614794565b925060208401359150614a9b60408501614794565b600060208284031215614e6357600080fd5b813580600f0b811461110357600080fd5b600060208284031215614e8657600080fd5b813560ff8116811461110357600080fd5b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417611e8857611e88614622565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6000808335601e19843603018112614f0657600080fd5b830160208101925035905067ffffffffffffffff811115614f2657600080fd5b8036038213156146bd57600080fd5b6000838385526020808601955060208560051b8301018460005b87811015614f8957601f19858403018952614f6a8288614eef565b614f75858284614ec4565b9a86019a9450505090830190600101614f4f565b5090979650505050505050565b608081526000614fa96080830189614c4f565b60208382036020850152614fbe82898b614f35565b91508382036040850152614fd3828789614f35565b84810360608601528551808252602080880194509091019060005b8181101561500a57845183529383019391830191600101614fee565b50909b9a5050505050505050505050565b60006020828403121561502d57600080fd5b815161110381614aa4565b60006020828403121561504a57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6004811061508557634e487b7160e01b600052602160045260246000fd5b9052565b6001600160a01b038416815260208101839052606081016121326040830184615067565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156150df57600080fd5b8260051b80836020870137939093016020019392505050565b6020815260006111006020830184866150ad565b60008261512957634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611e8857611e88614622565b634e487b7160e01b600052603160045260246000fd5b80820180821115611e8857611e88614622565b8381526060810161517e6020830185615067565b6001600160a01b0383166040830152949350505050565b600f81810b9083900b016f7fffffffffffffffffffffffffffffff81137fffffffffffffffffffffffffffffffff8000000000000000000000000000000082121715611e8857611e88614622565b63ffffffff8281168282160390808211156123ee576123ee614622565b8881526000602060c08184015261521b60c084018a8c6150ad565b6001600160a01b03808a1660408601526060818a166060870152608091508583036080870152828884528484019050848960051b8501018a6000805b8c8110156152fb57601f198885030185528235607e198f360301811261527b578283fd5b8e016152878180614eef565b8987526152978a88018284614ec4565b9150506152a68b830183614eef565b8783038d8901526152b8838284614ec4565b92505050604082013560408701526152d288830183614eef565b9250868203898801526152e6828483614ec4565b978c0197965050509289019250600101615257565b5050506001600160a01b03891660a08901529550614031945050505050565b6000808335601e1984360301811261533157600080fd5b83018035915067ffffffffffffffff82111561534c57600080fd5b6020019150368190038213156146bd57600080fd5b60008235607e1983360301811261537757600080fd5b9190910192915050565b606081526000615395606083018789614ec4565b82810360208401526153a8818688614ec4565b9150508260408301529695505050505050565b6000602082840312156153cd57600080fd5b8151600a811061110357600080fd5b6040815260006153f06040830185876150ad565b90506001600160a01b0383166020830152949350505050565b600061010080835261541e8184018c8e6150ad565b9150508860208301526001600160a01b038089166040840152808816606084015280871660808401525061545560a0830186615067565b92151560c082015260e00152979650505050505050565b6000602080838503121561547f57600080fd5b825167ffffffffffffffff81111561549657600080fd5b8301601f810185136154a757600080fd5b80516154b56148d082614858565b81815260059190911b820183019083810190878311156154d457600080fd5b928401925b828410156154f2578351825292840192908401906154d9565b979650505050505050565b63ffffffff8181168382160190808211156123ee576123ee614622565b60005b8381101561553557818101518382015260200161551d565b50506000910152565b6000825161537781846020870161551a565b602081526000825180602084015261556f81604085016020870161551a565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f96f5ced5aabf0d9b3402bddf3aafa41484e1044726f8c36d7a7d5c22a14bae364736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02d1c19d065c16c0260e198c2215744e572e41caecaecfd90d1b51dbdd07011955e0031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02d73f8c261230ed75839ad7b39718d105d7fc2ef9abf09f2e5180e92e07011bffffffffffffffff02196c20038ea31a82b04bf2007a3c3b3fdb7e1c3a4392c531d51c3ccb371e3f23d9b362ac05581e032fd5ffbaeafb42b69f1f4535f254fdbaad01a4ff61dd7dba91eba511f00c02460bd2cc61d0000219f56f03e2076aa02ceab8640c96906a587c6cd51bfee264c0633c179b8fbbebdb6165f00368280c754106a5f3787e23a9f8e7fb2667fc324b507b037af0af3f470732b17b03feb9b5bbaaab9211d598cc6f6f6dc17cc212a0f4d1d68e0202586adb0262587e039ff2b715725ebb525920f81c4337b0de23a4127d24f01dbe5bba597b7bfc3bc30347d2b8531ad7ae86dc06f986921be8496309c93b0d3bab00f9ce8dc48f5638aa0395f58b12482dad3c03b36660d1e6f939943160bb69e8515b40e84ad4724088080344b48fe576faac0b011d14d2399f71318b707b0a14c1d61aa7914b43c9374929039645ab284e49346b41e3839d3a980015f309a576e924e41fc1938ec8c13e66bf03056b9fd41703eb5121a58898cd5c994d140ed746f592090042087180d83355a20339106f80b9228a75bbc2f883ca2e6a5fe481bd6d4c8b3688a784c566d99b1bb70390ed80e061b2becd04f58cf96b10c62d403823de855cddcf6cad460818b44c7803a70ab62fb876ba8c3cfb4ccf3ac4bccee5ab86eb0e40b9d0eb5b7e8edcbb477803e7567ee9a74e542255dbacf873d143b352c946a70941056d765e3e1e968e4fed035420706389045687557ef2827c65a5abdd0b33a9b883fc3213999e215f51e1e4036287291f917bf46f0efa98c348c865d807970cd6fe03ac24e68ea92d473021f90219ffff0219ffff0219ffff033b3a23992603c03fbd45f1b4acb5af6a4288e0414f868ac53a26e24c49b281e2037112f3f6fac15bde8a058bfa2891258a654e0eedd74562df5ec55f1e5ba52a4603dc303e617a56fe45b5f79774c5dcb9f9eef9b34ba309c089149a01229d2ced92039bfb10046f936f4eb3b0df96e47ec889fd5e453f54c9460af34542615a8ae88c03141c2099d9db6a0fb521a9bc32d47b34701e52e315b8e4c0af34b33d2ac3aac8037785029e39ad49ec6b8c4601de2ac5ca3bc0fae9cca3699ea81c2ceaf26da30403d524f27c05ef1a600728fb4a214fdfdf581a22067c0f4227e87ebdd8273baf2203e63f299bd997fa3e1a96a5f8eb581097902ef76a4694ead8cf0e9d383c8fb0b0037f80efacefca8cac18c59875b5b0b0adf5366cd6ce651a2af76506afb60464240219ffff03d5552ac6a7331a41865f46e0a4eb53803927449f8bfdc1f2ad75ddf2419a22de0364cd4c6382b72492d5f5a8a073fdb626217cf3df14468afaa7e2b31f50ec9264039e5c771acda339bc099825f3d5d172486949522096a7b7f4453c891f7eb5a00003711cac7ac5025de92d6d99c49504b7feebd1b378c93148768eb2a973fd580b02034ac1b717883106fcb5ed1dd38118e395a242fd3766dd46096924f532b77bf8a003abead9f2afcaac69130814d3b585c77aa1253cc9ea662ac85073c262a2e26a5503e1709ef0b51cce6b3e6187d9a7b359e491b2b571a43d51da5e2097392011be9c03a1a2393ac219183c73857c05d117e03a775e5240e588d120918a20c403ec5b09038ea5bf3ebc9f79e0a5bb05a6213b52d57547798c8048299b6f7882c3249a16760334f0006862586ca904315538223b8ee2f48c7cd966696604c76a99c71ba5d1ea0373bc2863359b99695ea7738ad4f6d284d5fed9583101d11df8c8e45039093957039cf99b777d126ab542d059789687f1b6c1e260a8096ea41384aa2b2dff528bab0398de3d25c0393b9ceb9f4543d9031a04001062549c807f05490d7d6ab78c884a0342d5a59b34c5dc8d2df27d3009a5014178964fb48008390e414dd590505e55ad0343300c3734ce048875ea8475d6a38e065586ba4270dd4d38b0dce854b0c2c3110392252c8969c050fca174a9e660088bb9b99746880c3bec791157f1f0ca461e8e034938927a8f67bae41c4a5f49583ae372ffaa140991b50b759dcdd631524b6785038ed169051fc881d60ee7b9974cf34132563a089884a2fac2a3ac0a4d948d314403f884753b7037a1f204559d345f995e4268bd4b4c4d3fbad6c85fa72acc9dd68e03269166739ee5c9988a54656596a7b2dab8cb626588e7b896f21ddff7f404109d0367fa6d5618f1344533bf10c95afc0806e1f19dde7831f846299a2b0032d6e401034c3b7295adc62b502f7251bf4cff4684d09e7955cc85ae42f672ef4d6e90b30203653752c1056bab018afb824f88c9933883437973bdf21c3496e0d258ed9c7ccc0347ad21e812cb720149b5502e9de0c7d4b9cd15616bfbe61ccc9261350e8c416003e9663fb8914e9f32fd3efe4cc6c7da268ee7c3bfe064afd545a3b42f2751dad405581e034c778c3e76fdc9cc73660010989656cb08afc31ba63e435bdea9329020040105581e033792f97109fb6cc1d085d2ea5e1a14119a6109d71733074ce100b32cf00c1647854fdc9f60765205581e03d3aabb0cabbe2fb3d09ba13205d16d67a624dc01fec7c1aa8dfc002050040103a0a4343ae46020fbaf9ac23b6cf553766c3f3a31636ea9b4892451ea545d0c010306f899225df6171635303d2f2fec4374fbabb0a225e527836f339dc37d5e35c803dc97efbeb3b52655a912e191272ff720c552cac29a27091974df4542912734de03fd6e3f875d757717e251a460197a12c7fde8e210741efbc12a0b016f3b467423033315831cc5391796220ea4e18f3a0b3a88f7b00b9c933702e4d10d169f6e232103b827d1822ecae560231c8ec800e9080c03b7a45dcc8f78fc5697ca426fc6203303562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e030e32154d9e1e2420ecd313d967bc01970d7194fa157325cd24c5e847b007011bffffffffffffffff0308f5292cd319b2a1303834d5004642df680f807ef026bf978ea2893c573198d903c7631f81243fc2cdbbbec13917005e4dff3b42f99f2bcf2364e84275834499dc0219befc037a88de8cde9efdd5948efe7de9f8a5ea26d80eb0fbc7ef8732624bad07a87e7203c43cc53f0893e32186dfa371ad8b5dcbd34af6782a3d3a77a3bc55e34391fafd03d94405580866299b71a0a7d61691d13efc391eaf456f53c0d3f5c7be85c689d00219ffff0319b8de41c4640729499064b42bcd93dd54804273a8a469b14b3df9f6a459d3f303ae3ae7ad8517c3a14be0530169a873d66c9f7d14ce863828549e3f42ee51bf31035e6bbd4aac3511710514ca70bbbb529d8b48743558c98630daf32a9470a957810219ffff03e6e2fdd03850819f023bcdbf9f6c763f66862872aa1d6c9bba6e04ae6e17a7b8038312671e8754bad09715556f85d0cedc9eee0e6e01acb22a58569009af215a2203b5f431945417b210b86e15c2e6ea2db2bd3a861351a999fcf22d62ee383757f203a6ba5ba324b75bb4f29232e0089f63a5162f9bbc5d5dd15d0b92f89fd6ac7dd003186cc6eaa87aac8e58413b6b31517e10ad76fae820277a26b4ccdb739929b95703a3eb6fd1d1834171602353735282157be57d2c73110697b3be04115a736ed3e6036bca91f792d69022921109db754cd4b8a0f09fb4aa94cc773bebff58bfbf043403b0e31eb04fde824f4fc55f8ab4c81c73807ac60c9f66fd7396f164412676950a03cb1d950157e746448df0fac8ce3ba95d65d0556029d4ce5cd39c114534f3c2ae03a208a272213b5c3790db384719323324d2a399f107ad072915baa8a8c3a7a54c0358b943c6a8337fa605db9476972b642e6e4f88760e1f3f8d9c3c17c231d6d82503e52eeeb80bc718ad5b6996238fc8d54d1841db91cb9c5b5b9f34e54424dd6939030b421c1786ee55de9c44863bfbb302558c6037345ea559b3c5bd6b526c201a840301fbf5b9810d1f6ae1bf96de6888f511fb1ed05e6453cca1e43fc461717485ef035a57c48fc6de103b910248300786a0af0d290f527e6a511d3a715911ba75283d0219ffff03572a89e4bcac2e8352bc9b2fbca12ecf528575e42bc8e5ff9357036d8d91818303c1ec41855aa694de56123f4fac7b6ba6d95418173972387a6484e43f4230db2103c4ad0df3dd0f7c363639bf4681679dac3ddd32c507a908416d4bd8e5f790f0b903891e7faa3651c4d96f44795822449b24a10b8e061525ee63f38dfa5c699d638c03ad032a98b5a5d1051e78c535f442ee7d103e02cfed770d9741d5b5e2a33647dc0347ab63dcb075e53be8eee8773eed7fe5d7cc0b22bff15c3f21813e132393cdae0319608abb5462af83c7fde6b6d3d5460be374d8c13f3d64cd8e292069c8d75f840329c2b05cc3f17f61375d722af764d35063d00d3be915d6bbd2ae788daffb6688035d1d24c19b7a94f02f9328756a387744bb624595bf4015dbd718549f744b44220354abd9fcf3fde3119dfd1edaa2bd2960d2cf1392ce241a58b8b1d42263da762c03364bc6ecac81b82c6382499978b20c9886706fc95c02626d35cc97b70d53bf41032f0e85875e599f8381c35a5fb4a3e78a27d1877de3b68e06d27d85e6cd098b1d033fea55124c2c65318d228d0cfe5d17ad685365d40b2b31848e91eb23ad39ecdd03b1645b5a46323b31cdef828cca9dfc2e14fe51f7ac23968eb695bf1ca47fad1303e982f2abe1bb98a2e64749669ebeead9c837b5302f512e9c58902c7d18ec5d9003a49ff26c18c869130d5caff5bc9c9e6289307f19e1167b0210e5bf27d3b3f45803744c4e3980c52b6f0182c09b9288599027dec2126e13c056909a29b9f4e426a6030989c430f99de02ce4b28c06d9de6517eac5bb30a4f13332d6eb04fe327ebf740304881df4499d36865c1bb9955a6d531da144c6b70f400d1fa369550eac6e12d5039fd6185d141a5e934bfe6e46069f58503db348de550301e1fe6eef0ec401310103eeac76afe73bbe6c29edb3017fabbd9c93462333c074c0469b1e04f7c7b18eda03cafd2de1ce29bd115ba74f904485a698c3a70d482b776b068f2019fe6e1d5ae703866e862e45308ac0bd039fdfbed9c93ee13a2d2734bc32c06a0ccb9718d2ea7e03edd1ac147e7c9d1e24515f3354e40fffc59c43bf529f57df1670cb6be986890003fa68c5a85962db69eb971af1c9db45525490ab26a1c2f922b3f7b64cd68d755b0311a2f458601ddcee8fdf8c57e50550e8878070267bbfc4c93e54b8e6ad918007033975625b744263511139ef8379b0a0e8f00b937226e6d3c2122390580dfb6ee103790fb858c6612ccc5f0767e571d07a148df08b7bcd1843f397a053a4254cab35035ead0d12b10b32db353872fa5d9f95f7d67ba18af2db648966f1383f989812fc03f495c8ec10c5d2eb53ffb7bd9eaf37019cfdb1452f67f5aadc5b4510b569ecaf03a35f045a3b0679990713426c6a9838d8f808c8205dd059a9a5d9b61c9b351c7e039be6a15269f15f76f877cb98e4c1f1c968031f212cab4c20d37af266366fc6ce03d72aaa046883cc87e8968a20d1f4a5d799ba4678abd489e96782e8eda5c8a82903b70e8af2d16bb3a3dd2cc028986b3c17717a42016ed950228c798eec14cd51ba0382e25cd2fe90e12b8ad9cef9aa2a2ca6d356dfb16e973d8f9b412e5f6ba115fa03e74e00342c1715edf4cd148b0e451fb3502b41c1132a6467a231f0015223bf560347c8fa087e94d1b14791e089bdc2d6a9644ed7d6dde7f9e5c8678f53a68dfe73035bf2391eedebeadbb266512eed199502eb29a4d8a3a335b518847a5ed093524103062e0a96e001457e43e69fe973da80cce74620ae1b4e76486c7e1c5c628973660366597c3967b97a8c9edd5a601b39d4903933d3dde1d2fe4ea94450050eeed2e603d2824fd64e5f3e28c37e14fdc46252e15496e2001510bbf7026d4511b3cd8898035c08befe60474963f15bc35ec3fbdd607fb64bcfb7dc5ad3f952c49defc24dbe05581e03b4031b2ff7f198d8f848376476aa0128efc70a07bd1da541248f1947300c03470197300bcb58f805581e0390cd720bfe9aec89a06510774e3cadba2588e22b7375ae635ddf4b73a0040e03436074acee542719ceb9991db39bf1bcc7153a183c82bd94228179c9f60f724605581e039fa41ba58c766bf3d96fe3c58647546f74838d5a03996cd9017ada6cd00c044704b17317ec71db05581e0359c33a86eebdfbe15c9feb585853be205db86b433b3e341a18bd0ba32004020305818323a862339167949916ce638c959c0912826a395a92a423e586db2bb7f2031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0386d2f7ccfae852af0dc68115617ea1be9073a836966fce93476ead5b4007011bffffffffffffffff05581e032c20eaa4778e2bd87ad583087dc78be726bb31e0274b957c6894730890040205581e03b791956a0a47583732a5c44fd9ea967580f24ff57f3df72c699b1d84b00c034723c33990b8ae600219e5e80387df1badc54efad7b7f48697b433c98ccd8617dab9cfc41be5a50d2f15e53a62034bef039221a6bf21089f6a4e73af0336ffe0d07c329971d256f4fba81cff9827034a5dc8b1a8964f822109e5c7839a85456d7790e301e0f1dd7db1cf5ef7b314f503eeb0916af28afe35bf3b380597b33a075936a8fa085805064aa39f179b4c97960219ffff03d187a6fad6b1b03b01dde245b1d87db93ec68a60200062affc51ef2d4ccd2d2b03539d16e52306df4225405c28b2b930a8b54bbe87c1e26201646827b4c643eeeb03b9bfbae0daa15b1510f11067511f69decfdebab37ea695861e78806cbba2f22b0372464a6c7b833fff4d3d661ce99e49b77da815802e02bd136400535fcbcec90e0396b45b60f988bc19df5162aa9867539158f890dcb065ae823a84fd5fa30bafba03a5c67faa5b5d62553bf977b50f084f530974c8bcce70206b539203209ac962920219ffff03b929aef453a6e54b66fa1f4d29450981b5d04e52f1cd42ff391b0b8b082c4fe6030706b8f37060f080207c9c65237d6e93f06562e297e463b043453220f49b3406034bdc4790dea23a50c51a548548fcf5ed2689ef7c4664f00520a9a74366787bd0032f2cbc8d15ab9c4df4e6dd2cf1cdb8260ad17edcd91c3ed18e2863987228a2240219ffff03d51511164976ac6b63666856e04265b0b27b5fbc0ae591f1093db491c0b8f67e03ee42125e0d9e972c3f9c43dd36475b7f69b35f250ca1c3879c251542fc233ba00219ffff0219ffff038899e7804aca147ab407f487561d715be5ee581e8a4568ce17eca9c89a50336203f676da59109d60129424fa484e6e8c258ecd9c0908036980a8a540724d0c2a2903299d5407d382b835baf935e3755ed6d207dff52aecbd23a4d5efe131480ab94703c04f079d62290c982fc8ed153a9ded83aab137c11f6a7279d5b4529970b29fcd031b7262b14b24fc2e461a915a14fc35359cc472dc2b0715ce1ba4c487ca20583d0399c637dc26a94cf689edfd955d09fa1b278a1a3cf0b3c19c1a00ec05460338f403a2e88a6c23fe6fa3d8602c8a44ccfefdd139b5a746f5dd95db4db7f69a28dbe5031978f4ff728a769279ee671e40666e7ec97a68b12468eeeff630ff106dba459103585f5b64c7531c5fa9f02054d988ae7090b060215f0437c2b3f003c90a2ed3ae037c2ba8d71a499d7c351c6dcf83b986acb25c92a0b80a4ad5e4ee932028a5d774030db2870c623ff1807fee9c1b5e8c7c6ea0112edd71c34cb274c55876f20ed72c0311b2e90d905d8c3a3582fdb91bafe54744a5f43fa4939ccd31096d3dda7da0bf03c19adfcf6343b13632e874f7a84b393de1231da801911b8394c21eed7b99921f03365cddb655389d4f6143734fc07d2308e6a5bcc4b54624285a8392f0fe91114003f182f5ed2e90eeb4b73028711b23dffdc818fa1c64cdc9dc810677afbda5d96c03ae835afd0a472a5875bc99b8f2771dd7a3149002b02973bec56b35b4482e452503c198e27727c5234ab6bb3b30348590320234ad6f88299653f566a5bdc27e1a0c035be30dd8309a6e39b84ad736efb293d735efa49799fc5a3e7def914244d203b703a31e909e044ecd7851c2749281bd4ab64fc88383e67ade2abdd0f51ec3b42cb4030c80640455dc9a3733ebab8724b8a84f8191519725b4c6757ab3db1f2f6a9eee03a80021e319ef585737ce182d53845d6a22b7d27b53fb06b9f5d3551d5932a1b5035347803ae5fa2930af95a95b36ac986edeae0252a7e3a428b19dd4d5904dfb59031928db6c43300098e1674258d07a18e47ae3ed875ac62b3ca74770ae919a4bec03ab4977cfe630caf9df554b5b03e4e84e3f202d68fdf2854442db1ae2deadc81503f12f5c4e52880c97fd2c4c40ddc585b6b9777e43239767c13f318a237628b20103af33d5c8b1b4b570a29f8fc621b806ce224978a6ebfb37830544791295da8fa303c46e7efd82e5f1e025f73f8f6a013c6b90dbd0ff6f8e5ad61785de59ea1eb24b03b6cb5afd57d9327bf03765734845d83baa0a1e6bc027655d721df08769876ca00320384a1ac067cb43467f98dbe1abaa03632d6755efe2714524cfd8ebe5278e69031be66e94aefe65a4a12b6569d61c57cc421767c520c536d68c200c0420c5d3c103445b45a0061cc8a788d436359c226c32b7f7c86d8dc4fe46acf3245ada6d061003cccab35ae3a7bdd02246f01b11213fa4c0f05a69a20d0bd0ba548c68e20b4299039f48d9fe3e77ea15c022ef65f69794d74ed0c78cd1061d7cec6136847f797744035ddf5fee0d94fdd3689a5a1662e6a8530353cc4f96d4c1385f2333cb792a88b805581e033656bf6025a54247682db211ce33629dd1c4369795b3ef3cfcd67463100c02472d1b68d40ab60005581e037bd814ebadef4df6b493f4bce53c2269c893c3fed8e7c413e841e516f0040803c57bdd2d165beca20acc851c47e4f0d96c245b0489365ad44a39fb18427be02205581e03c4ad04a710e2e4be956886f8c361ac307cd6f195bbe0347eb5397a07c00c01470173fd4203ae8705581e035e91a036be778aef4f7acf0f34115673caac39bca07f95d44c9e7b6b40040103c19eca2e6b55c8528b90b035e4c49760b0a04cf79826a300ea2af48da34441b90324f6d004e54427fe72dd4af83fc802c9c8a7285d79e02c2b87898a62ce6a005b05581e034a3e6d1214bc9512ea97c5c93459301610ac6054b2cd4d1d6bf49cccb00c185347213e13a470382103f3ca79a7f84f194e080d6a10689f32404285adf83f608a756e7fa04a918727bd05581e03470bb615d23c02ad4bc53665957fee704e8ce98c697d73cdb142eab9400c014745798dcb8638600353a3c224c1beb28440e9251803f9c824289f02f0b182ee979592f92fcae07ddf05581d0227443bcf99552ca03ce8a39cabe9b7900aa8d8445a68355ff7aa0d6b0c1a000131764907717504d40215498c02190201021997b703c42e7cbc6b33d6a33a31d03e616130e260d8865b8dc6096976e8d2791b35194f0336febc0097ede87c1ab8d49ab986166e67e9b109dac945e335a1e4a3d6417c07038dc2871a34af8754458d27d4b2e2c05ae90be656fe2b1c25246b49ab75167574034f07013ccf6183176048b9f16b3dc12e7d054432dfe8a5daa29ca53a38141f750311658c05bf147f81ee94516688631c062e078548222f94043742ce22a4511436038a09428739efa5e7daa26dc144aefeca4979ec4625a21c688e256103bc7f05ca0346685f4adbb9c120119ff9cb9911eebd1f987d9fbdc1cdf965b8705258d79bee038dabd1225b014c6f07bcccd1a5fe5ad1b472a4cd7fdba09c69b5cea168ebadbc037dbe0aae1e20996e5e27950a6735972ee17cbdaf80f89b942bce9e1fd8f3b5ef0219ffff032cd1c26b73e6d80aea48515139b50b2bd1bac35130693797c2681cf57ded04bf0219ffff03a58c5825df2d48950f1b758a6a9f31c8bf8152e068aab0ce26d881ec470260d503871e8eadbbe80607687c3672edb1c539fdfd4c07278f02e70d3272ff9bc1dba5030f3feb4a0cdfc16cabfe52282b6d8d70c9285b14c1c4e4ddf3837ba2c6d0488d032d565e7f88d315d27c61000e74c5157f61d3e7991159afdf16931e2bfadb611403fa9b10c053babbf491184092df101276aff835157558cbf35738a3d078a26d2c0306cade0d135ebfa6d85008b1ad8c308bf5940f77ea7288171536b6e452d3029003107c7fb83bbe91402fea1beb6ba832a1f733c72a0a22a266dcd52227999719440342749572eff0237453719d0929e4193171a9a87a2d70b7b2a43d71d3c2c27ba5037d48ba6dcb7d5d08ba08113eee9b363452c26312be4903852736482c2af0c8170219ffff039421b724fea7659b73e74dba8a72e106c671e3c2a4b9e49fccedbb40f361824303d6ede7948988435736b6dba23c860619e83914c5f7ccf0bed518896cae87361f0363a0f8d6aaeabb26bb3ce00a0117a013b120764edf5f3f1a94dbe39a7bdde508039adb5a249897aa26feedb2c719de0ae3a4a0aa3203a275186101c0f43afb4d3d032cdca1fd72d2d21067ead9f1547e9255c73d0e05b0a727d65db68379a0c900830353493c5a2e1e63f7f4c82e4d258b537afa7c16dc007cc41bcf6f607dbd61a88903afdb08c36258e7bbebdfeca15af291b6fef801dc1ad23163e3abaca418f967e00356db7fbd8abf83c8b83d394a1b5e00cd885b62e830e97d18b2195a2cd512a05b0364288c6e4cae2e201daa5ad025e38902b09c26e3c5684a5a2b23dbeffb36227905581e03f8117cde192d078a8bd687e5fff4d31a3abd7dad083864cb25464ca9f00418e105581d030f7825bfa8d54fe0077f03c715a3766743f49b8f6bbe7cb85c223c4004010459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c18360217d8f7ab5e7c516566761ea12ce7f9d728d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613b86565b8715611aab57611aab7f000000000000000000000000c18360217d8f7ab5e7c516566761ea12ce7f9d728b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c18360217d8f7ab5e7c516566761ea12ce7f9d72908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c18360217d8f7ab5e7c516566761ea12ce7f9d729087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c18360217d8f7ab5e7c516566761ea12ce7f9d7281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000092560c178ce069cc014138ed3c2f5221ba71f58a1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c18360217d8f7ab5e7c516566761ea12ce7f9d7216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03820161af439449de1927d1403f1452a918614e45c30130e1fd76df052ee0beda03b3939dd09b4bf7c042de475ddd48409ff2f5c63596a86d828ca7427732271d000396a77a595aa9448ce791f5752d45504441e8e501c6d08d98d4aa943ec42e42d60350bb0dee879e35e289170544738ce7fd7711cfa4f928dc26a7567842e2d21042032f997cc9cabb6552f6d8d5fee8dd2f171abd2b4257e26e6979cab6078ec92684033a04706cfebabfbcabef01b5eff7403e1bb88c21996cb079ff702e41aa7a31ad03f2db47ee5a549533ba312eba0eb7d2c4073ee4f814ea818f74c0a2300a829d3d036685a0c984d7846a37b4c4b188f8b02374ac084475fb3e85678fb503d662677d039e6a5da1d0adaed6fcc271fb4e2f977e38ea0cfc824ec45a7cc07e026c3ae1c703cd4c00c6fce24aa3e4f1ee65fa563058b2619b1f4b8b1a0189b9dc7cf1f15ef203db3302eea807ebb1043707caf30ff6626a96716b1cc632959cf32b4e671d0abe0311660045b0bb180d257845e335d5f997b09d881d996eac9fc6d4554c02885c9800581f020f4d5dc660da87b302fcff199b04b74e51157447cd104767e5a6e67a2a52510248e4aa120cd066842488b752c4ed827500581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f010000b400b400b000bc70000000000000000b27c419bb5dab3c9e1910751702193008005820035908e0a6037e53cef0f1a74a7aa464962ebb84db477afebec3cbcc8fbfb250508de87ef418413acffaf965c66c68437303cbf08f23ddd73471cb9f761ac6f2e5b54abbc9837811ac674c6930db395da71b00582003e3e38e55bd474d7a055384ee6d384785a5df89ea272f6c61e12a2e88cc1bf05820ffffffffffffffffffffffffffffffff69cc61db7ecbfaa1645d0d48473eb7cd03461e4bce13950be85d9f5e8a98899086d4d565ae6ca0e723b8ce56b1b89bc7120328a64e7fe8372732e08493f399dd74f0414c568d14c68c0f15dffb657bae81fc00581f02b800d24be031938531d68eb9571d615e76a3ab0426c1d71de8f122b2fa5350240fa4f9a1c29a203ea54864040cb15b00581f027330606da1b3a511cb74d59067f686371c2dfcf08c40f28d4ccae4bbb8eb581f02908821f5810147a66b3e5b41fbebddbfe7fdcf62d4fa2538b35cde24ff6300581f02645bb16210e46f442a43bf29b36c0cd212be592bf70f75b2eaea9e8a11ee5076f2e20f8b1108f10afbd023cf26906800581f020ea94c764f88a7eb6cc7f9d90370b089d532b77447d8d42af46dec4aade04f010eaaa1b72a08367217e5bb556de60219a82000582003072bfe235379cfc0702a36adfdbbcd4f067bd0138328f56ea03971933a3210500725cac7d54cc080f161a97ac25308a100582003bd562bc9619520e3b8f130a58d58e0852af3605d1a8ae943ea6fe5466df9f050048b437b6b4d93d4ef942f001816b8c9005820034a1f960b14b5983bafc8e89e83137a0cea004e1025beb76ead6bfc64eb8e704e06d176ce3d906c460ec2420594c1005820039c7203773b951f1b97373fca8d4980c415564166c57c7d46fee489f7bdfc20510201ed9e47f103149d6b81eafbc9e6e3f8039750b86e24e74ad90df55b0168a0389257c8fc8ce2de5925ed6731efc914083503c30cd96c26bce7d965773cddfedb2c331b1d1803c4fe98628a860b86bfb513f303327a99e0cff8fc92303150accdcb6aae60caf68f64161c232e6c1f866206c6eb02197fef03a8b108b78e0d5ab97aca0b21061c21f1be0bb24d1511d506c14601f8010bf6870314b0b79871617c8979db0d0cf03d1ff8c8d7f259284f36e39e9d925ac8e7cbf30331a8ba8d0c0061dc8c4738f1b558b6bd599d9362caa8d0bbc331362ff6e9ba2903f0b14554465fd1c75c493f08806d49adc3ac78537c4a7fee8d008fbc3ce0b6a203de552499218847393ffe84e9b5411745f7489c83541148361c37ec816626debc035bbca4ee94f6f8a2aa288430a04dd3419138d500aa6a3f033a122f9b8f056dea0219ffff033aa05f9ccce22e765da58501b1c4a0d8cf32520d6c3d66777b51877fbc204cc900582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c0582001000006b500000000000113c2e31c843a35f0017d0003cc3a885ab26687647f005820038e771c8e07b8d3badb386f8cfbc4dc0a86c9366ab1ccacb3875a45c922795050222836fc6f4f6cd0fac59b7a84b771c303714f70f0dc46299eff227c7d0c52bf8e9f086174938077d8ee08725a487304890376e47e4edfa78df513dc2ad0dc6f40c9debda71f8fc27b3992e62d748138a46800581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05105711f14aa76e38c2dd5bbee64b0baf70500581f0339a1848dd2bb9fc87215e556d0af992b0bc3ac2f83fa0d5625e696532de05001166494be28065d118cc831d1d58d760219030001410700582003712d00d09dece47b71156ca01c8e25b49a579c07b93aba1c20cc94d2cca9405820010147144000000000000000000000674f29fa8327144df99600010d434ca19500582003e34c262fbd09dd1d92c991fc8e9044f4229ef5c6633ff5a62f8f353f9832f04f038102ecf9589e6ee0cd03e28cc78303e775f64cbef8275bd06c78a273ee5827d03f5e43108b9beb27248d8ebb4ae10c005820039b1bc19b5e58dbf9d50a00db28e3f6e170b5bcd77131e0cd9c5ae87c9afbd050022062cb5a2edf24a82422d850ed3760005820035714cf5803abe9d594d6d2013c0d7312bc3e1b896f466f54423c6679c8f9704f5b3349e260a6af72ba91c8d9efb64f0058200362349f869f77a81bf3e3a596d7797978f33720046051e5fc33bdb843493620500d0e672f9aa86400118733e405f0a90500582003e8b47982985a7c2893d39e125139a1d09143bb0412d2e921197269e2ddea605069f5c3ea25bc45063f149ea88ed22ba1005820037a2ee6270c925c877e7d021df770f2fd2c71ba201939990266abcdb1dc50f05820ffffffffffffffff37c67a6f36d340a00000000000000000c8398590c92cbf60035cf776efb1eef924e4b47e4da4eaec5e00c1b3bddc177e74295320af893b6d070219dffe031c8881a39e187ab5ef48b4c83e52f3ffc748b535fed1ff52a803d2d17734ee4403e334e46d861718ac0d7434e697b5a5bc0412fc109f303c1cb41c09d011166e95039c692416a378a58f16e6404df59f463a3a291ba7000182d8e383a96ff6819f0b03dfe97967088eb2e3acf799c2eac929dfb1c0a1fa7a7b163aa6372f1912d0b28a031c485281dba898831f2de1a91ce5f92984f73c7ee3a9c567b0a94da0ca0b9e5e0334d09f114343ea7397946eb26cb43deea326cfef69b4706d88a569873106d31803a727fc983ae5ba22b195031001da6b9d9ccadf49a8a721f619adc7c31503d3830398388a074e15c563e007030afcfcbbba90f5500465cccb34b59704a7a3683b4a032f34dfc21144e56339bb9f7b800bd9730084ce25013b9752326b35e83dcbef65038af475411c2b8654eb06cc88e71b459a6c5cf00f13f222715b63c88bc4aac0eb034ec3057e9b3793311a402a8cfb89776b6d57c0ddcfe8fcce93a87eb7de37d74303c333f04ef739d686c0e392a9f1d0a298cf80da687bc2dc974e877e2104c5600f03ed50437ce8d232297cc9d194a230c0a1a01badc0c0b3397792de4a33cd099001034be84d21f888b0d0df83c010f8a1b8db17649e776ea7ab8dcd8a442953c5bca70353d209a5dd054c65344f031496d5f28282350b73489eef4009ef5c34cb4e182f0219ffff03d7d83703c9919306ebc884ca70fb2a737dfa189de1b309052288241c2f963af00397f6d4edf6197dbfa58e87ef6c88a9fa4a316a313350c5a9055304a25c82c13c031aedff3600be1af5d5f274f15e9755b1755977094a825a7b836bfdccadaea66f030cbb6d77eee3c4d8d08a8e2da4aa1ce8c02ea1f6e49bb4fb400e108a09f0fce40327b5f5b9ec42ae15653a0778ef38062479e5746ba74b05a7762bbcbc8931784e03d0293e7483cca898665165a545465a4cca7ecafbb5ffe8c8802cbae9e199d882038bfe4814f359c5be35516b6deecc7baaaecfaf220e479d36a46529e7ac7c2c700322fcaa8fc5d89c2919859e804a2659c91efe284d8c80a97e1799c8a9b0825b65038f0af5ea70f5e698be2988e9b43279a0c85af3fd2a05b4a8db50718a42302ca1032e491072d1132a13caf21cc6136f56cc9f8761b8d20703b0edf050ef58393cb4034851aedc0799ae1bf5ada624252f1f16b76489dbdf20d4a0d6e013120404392d031707d74bd93a1c3c76b59e8ccb76a6fd308078d9be568eb1445355a9321d0fe4034aad79eb1dca908492ce054df4bdf5da6c448f5fd01dfe1a4947fbf401a99b9f0394633a9dd1a8815c007e71586de8e00fd5915b81543e7e0caf22109802651ffd005820035776d634679a95ce8c8352ffe7baeef8b93da45f4c34d37914287381d0378051021ea887a3a7c3eb2f45e473ad139e3b5e0349ad0b71058e6990a056656250fdd0c6ecf3da5353e907adfe93da0558cfbcdb00581f024e73325d9f43f33f38463af85797ad8f36608a3dc4edce4e95f60344e3235003dab6bee450bdd3fea9b3a8df7b7d7f00581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4a032d8569555a62eec53b02182100582003864f897ebd8d8c26ce8bd43a12594084c6c6d8d0219d7983649b58c993c7705007c77b9be85a9a0ad34b036fc99bf08d032bd46cb0451b50fc1c395bd0643ed63c364aa5d18952ce647fbcb4a6f873700f0058200360d59c2b6f52e70c530b1d47458dfee1c8530ddfafe17ef24bec29bf89cbb04e01f4eefe3ab785eb7b9e787b367200582003dd8d245497820e8cdacbdc3824bb73010ba3e85c8d634311f44d05ea7aeb904fad3fcca455c12c27167a8671f109e30315862ed333ad8c14090fa49318127d6148f3a683f276d87809339c62cf64bf2c005820037c091f034247fc0eb39bc19bd0c76f78aa592f243f447cd374711103efeed05820ffffffffffffffffffffffffffffffff918397baaf42e285890c91c59d2bef2303c72094f9c3c71d26b9a61a5f6438ff032405b552e6f27176422570bd883c441d00582003ca89612d1487abdcb17cdbeb806077183b4a02ca7dc1ead9b9d6f739cda45050110e0e55280991824fc2c6b2eed7b905005820035fd28bb7f6ed87d77f2745acd99d43fee3112d9e04f8fed317ef558ec48d205017af39fbffe46de32ea8ad72a8f1b8d80219ff1f038981ddc738b46236909a26e4ab6ef2b29e36086d40e772d491e0dfa073fcdeb403ce948d0a1dc69b382cde805c05dd16793718dd1fd4d65b07ac2289d2b306490d03c7f59426bbb6a53a3821785654da57b7725580441f14565565aa79fc28151252030d0987ab740fa9f92ddb3272f74f23ed82359735e13b504f90ef8b4b8495e32c0313bcf6b4fb7d34871c1d1c5214ff4d56d9adc84c4885ef018ebf8fc254c98ee50219ffff03706f7b8b07327a3ba496695d19e100061883a274d71a94bfb50dcaf09eb49a3f0362b4908d484cd17ad5908cb0693e5f601ffd8d1cb83579632c652934ce2f987d03711192cf0f9d814fa9b6d402555e6efccaa92f5b25c72b624c6aa344cc7ab46103319b6a360c86c552fb683af4e13139fc72db5e0f96fd6b55eb757d4b091232e403162d33da61627b4896c84850617e1a04796d782124978337c15c5365e420cefa03de1bc27943d1edab1d4e0dec4955d1d77f2f88381ab96953da70bc2cc2c48ae903c9ed5214940b28652ebe640f5f0cb6985594766eee683ddf5eaed77555d2b1fc0342b90abdb7ff62d892c06c1ec1ba54c5d3b892a79b64ebb479ee431f6d5a4558037740b80e7ec483cd3e07e7a5f0291cd77346c275924aa1cdac196317dd15b8f10365b2a63b1294df59552a395fb157077c8a10a0fb8874f5225e8be9da21a923a7038e8e7e1fbbcce044da902ca3fd6b665b1c18cdc0676f2f97410066f43fdb0f7d032c4fd3c333933eba37c361ea64405d129b92b30a94c38f45a75b4ce5bb7a055503d3729216ca58038bfb59c0ba34c69678787adb972242997cb2c456a3d014fa30005820039729c3c0c16dc7a4f3009970729d4ca651e874673f856892ee976f32af1810501d9187e8c2daff4e5adc47227d9f803500581f02691c894f8266e3f2d5e558ad2349d6783327a752a4949bc554f514e34988582001000006b500000000000113e8ba91e9d7cc9fe22c0003cc9131c9826687d9bb00581f0225ee9d12279cff2e6313cf47f274857455a4d32fbb57cdfe2b7aef17abbb503cec5b1fdd28a6605f1b2d0f87d57a2b0219a00003b03db48211858a39dbef636cce06654afb2180053f32c95dedcda1f17be3708d03bc40e2e2ead229898efeb20d8e9c257192cc0d0b5eff6c2f6615845e5e995120005820036de01a5a369294dffaf3ca148dcb181055cc473dfe2a93794b28341184dc705820fffffffffffffffffffce3a407fc5411000000000000000000031c5bf803abef0336271130af588480ec8c15049e454fb5e986490d12ed79330dcbcb5a899ec435038d7feb27448da87ad0b833043fc65a377ade5c1643cbd3374f4af19e623081ba0058200370aa51b8ed9be3dfe51eb71ce69625a32432c570a1f5d57ee8a420e961c8005002ec30d66183aba24413624392c1ffbb00582003a81a8cda2853db0554cdcc65eca6eb673ea9ef8ab4ab8688016f1adc01d5405086611ed878a525f90ec6f4ff1c8b507e033378de1370e3c90e058177165ac6d63fc945f2b494171083acebff4e920b2c310058200340793e9b3d05012a50f3fa416a8cea7839c91c482312a5b196eefaced37a505820ffffffffffffffffffffffffffffffff9efb348abff7b376780860895125191f0058200323604929253141648dbc7217f11743984c6045743a04e945c2ed47562e9e3050078a3cbf532c2b14ff4801e9d81c119d0058200360af4fccdec68187f45864b3f89d71b01d418cc9b36fd4258c89912a9779d05102bf39703ed49bb13ad2a2bee7bb7972800219dfdb038ed427f93c543daf763f4b9fef4e1860c98fb8786f44247ad9041066bbe507c70328333dd20a6aeb939d4cb39d6acd7312d1ddfff10e3d7b1ef96cbc1293836e35039342471bd94e12760193f4d248e41940af8e08cba29a32086e1798109c65c1a80333bdb561f777b7addf1a1aba5c3db3acd2b6d5f96b23e9d7a53c930a4cbdc23f034f94ee53ef67eccb8c30081ae8a43ccd569f9884f7040e9c32dc0c59a9bbb9b8030f822a31b0306592971886270ee72b2e96fa3d715c4d5c72c432486686ecc1540219ffff031eb1661256e5891686fba0cc9cc9f19f3b9c6166fdd3e65395e0ede53de399a0038c281f75cca596cdeef0879203c793422a36d4adb04fc76d125992b2141fbfeb032cf6e748eda425f1b8ef986cab0da8c96604a9755b0bca2ad6e492b2bbf61a160058200381913248029b4cfae8c43661a88567550915c3ebed97a6428458e8ec987b604f09aae68cdce7dab5053b16a48be2bf005820031974ffa93c2d5a3ce3e063b467b5f0674f635dbb23e6cc26c4b50de8089d404f04e1a03326046df313162f0fe42f37005820037a71b0e474ba3624bd9d5507a7e49c4ec907e29df306275e39914663716a804f189f34e9cce65c889a9af5568dc7dd00581f0248a7c6477cfe9366ae64571069fd3a5ad752a460d28c5f73d438b5e432bf582001000006b500000000000113bcab2629ab43ddcc910003cc2e4e4cee6687545300581f02c50231418978f40a19ecbccbbaabeadca75b7a157c8b0657c946e7b25b09582001635d51bf000006b50000000000003c3d93fc7089f9d44af40001590c2e8cd20219050000582003559b9d372ab8b37b1e3fb9ea2886b278bbd9aea3da1c5dfc06f3e008ec4c605064601b8f0c66be81f0cddcbb14d2019f005820035075fd5e7c223a07685dd54babfe682025db0444447ad4ef8b0c57074493305820fffffffffffffffffffffffffffffffebf55f8f82609cf38316602a735cc1ded039a8aa2d81ee22d5c26ff419dda4eced525678be4ca50bbfde887247fb82d22b103fab3a425efab0b00605afb7f74d08a5aa940424db0f89895ccb6ec7d4fc4fa070350290a2efa9613c302ea93c280ed69bc1a4ff024a429c19b83ad9c6859853100005820033e499d71c7bb21f3a4dfbf6825d93cd917402ca9f5193ff4751754ca538f004f2a895d5eb0432ea773ab536b200e6a03180c4bcf987b00b4fecccc32750c9dea23b868ff540747a5f10fef9b63d0e91200582003c41e19d2fd1a39ffc27277c5650065a99ae64e817a252e6c74985e1b1bb7304f161089814edfb0425c628165b908b100582003b6499c7409ede267232d361d97502660ee22e4125d92b4caadb1182e1c32e04ea03ab8f07bda7ed64d980c8567780219fbed0347612baf9717a9412c07a40454a5cc27025764ed07b17369472b55f4e04300c7030cc9b52bd58fc4e7770197f2cbf7b72443819ae5456c9fa5a64ba39293dde17f0348c6d7807673c6595bb36922f5c86dca8b59dae5c95208c83c6f76e3edfc431303ab5d024a16f908195d0f215bd18e8af97947cb09690da4656c70610cbc29acfb0312b6b8e1ce49f0bb7fa764d76a299557172a9e8b10da5af4d18b067e1fb1d99103bb481b20aa8d341952a5701f1b3c2336d609a344ecb5510bc80faf2e360743c303abe154187f065a0d7993104e6bbcc84a8bc56f52be6f6a392cf6ff8956a1aeb00321b85e8658b8a176278b3df9ef81715d9b750cd2518415f5a7868364c74679d80392a6079ba690a37b5956b1d5f5c25b1eb502f306f2f8378351d976d2658a7ba6038ab8e257d9faf948d792a35e2a38010d66a89fdd94ef2263b72cee058758292703dcb2d3b54a400c266a41f6362fcd717d426e1bb5a3585bb6d3225ea457df2ee503f5725a7d113b5038c25c3ae6d1dbf0613e0572520c80f04c927effdc84c96da50219ffff039ef262385ecc74821e06bd8cddd97d14291230886ca27770de5ad658836aee9c0219ffff05581d03252683be1caff9a6ec59fcf11544bab27b17e2399daaf5a00cf7fc30070119567e0219024005581d02418379935dd4fe5012321de229f5df2233b4bbee9108a35828d2e0b80c024501a13b86000219200403a743fe7ff44ad8111de27547d23304c4fe04ca884baedb29b8284995c50eca15030cad2bbf343b7f593e91464afb6f90380e1ea3b0ab81a05778d1f94f8c1021fe05581e033508619037fd3216684c0c8aa8a8dbfdb9678518a4626e329cdf7a0a10040103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03b492078a749a74b1c97c9881755e54152a71557cca03251326e740f80007011bffffffffffffffff0354b4b2231bc19c06bc9047004bfde832e51c3cac2e3652b4700f6feadac2ef4d05581e03f404cf5e143bf8a2b6acba6a536788d72bc23c72f382835a750546a3600c014653149d17480005581e03c742477a1fd765edfde4d037d7dca9cff855d54be50b1849adf700f4a008465af3107a4000033225088d53dea23c5a3b01cf4e2b2ec1e054b87c57a8dcb25f358eaf58a2570b036e87b2e98e332810605b164ff3451a5a09269e837cfef23b11a1f2d227dc613d02197e9d03f147f47f417b222bb3bba2f9a9813822bb1973346465f51084bf5a2270ca9e0503b670dbeb7dd3e89d2792c19065d72158decc9914aaab9dc65dae0cd3dedb801103a1a5bb16514119ae9546bea737ea78dc682f66649fb7e253577407d9515d8ea5030908a0a8ee2fd03f882a0066f8a58972fe89d65ca2e70b1969dc93ecc3244081037b7fa160af1b38116df1da306f6384b7911c80293245f76217a72d9335f053df036d79949aad419cb5a629469807b9a747046d4cff49dd5ea1d61715e2b203b087038e246e0f0a9010c6f914ac2e8b3aaefa560e54ce6bc9f901a0697c4536157dd103d36ac24e7813199388abbd8126630c9427f7dff64f8c5a31f4031264f2ca7fb8037661484f80853355852776c39b23388b798cd5be46ca0ab9f9c4409cfe79d36c03b238f19f7212c5f8b753b74488f5a224823afeb34ebc0c22fddb9f83526407c203ed29bcc22c0bdd0b0780b05c3fee78cbdb98181bd168d065cfe44cbfc91d593a039ebb3061d1c4398a7ce21e5c1bab823253203dd3f180329a88394baabacfa8d103e3c4945131bbdf775226d3245c00c5500dffdf436440b6d1c04a10265d72c9bf0219ffff03eb7ccea20b72b07f920d227666d1e8b09a56c1e2560f8f309bbe528e97ae9b26030e76d936d2628984a7d1cb5006cc891b0432196b444489147f91ce17a798d26b037e11a321cddaa8d32234da524546d7797305a35f25f440acad9ab9dd043ac40e03ec4a4418229830b7f3f5ef0cd5c2315047351768205e3edc319a5f56f8556fe40371bd87798b6bb62f52cd4ff17785130f2ab230cd4906cdcb6a82e2f3d9b58c6603244f8b9ba28e521bb4a430b9bbd772c203a8638ffad2fee359673313d8b7415a03ff833230a88d03e57d4659bc4fabd1c5c5266d75d483821a9a19047ea1388bd203bc615ba1ebee00b4a4a9ba08f6d18cbd68ee28d7a51bb97072216cb6f2adc10203a4d2caef6886512586d7893aaf9fc891bb87561ddecd2c98ebb9e8775705fb8703cca77e72d69ca01713736e5e549c15bcf3d79ec9de60af0741fa53bbd93f8bb1037f18f8a56d8ad9c894a456c04d90a58592f9742bf72ff4fb4e99153874308527035ea56329c42c90286e76533d20487448f789e0678a3e97a3f848c3a6fe8ec061030e3e885c3e02d5dcee35a8b3d50143352cc1b68af9ea8cf322591b9e635df04303b5449bf6dcae29fb9082cdf8dda8c89e1b32a81389913e7cc9876a0d3a136352030b69cd42b7ea12ad9e757129b743f0eacaec141b63ebe94927cfb73f40df97d10219ffff03ca262b46aaaae86a44dbec14424504a611b0fb23100cf5f4e8c7f51e757cebc1034bc0766a695179c5d1c554fdb0fc13458f2b1e1443af5d39fcd0afe56d8f679303f66154bbb926e11eb91035d87ddd88935122419ed4798c4d640bf25e03ee575803e8b556b6fdc08fbd01171a6f08ea7926242ae28208b3f3df477f5f918781dbf1031797399e50b28b749fc0c6040118616856fc63001c1101b5694f2492ccbcff1303fc4a106f3eb1eb2973d2813f8be3e9dadf6be05cba84c4c8b87a86b2ba534c100341e5db1bfb1fbf36b8c1c2708082096be6975718791b63038380c6d3be2f1a450333b683342550e92ca22dfe20bad5d7a275377121c9eb544cb0f96b011039e1b60366c39efdd0ce4f80c769c72f03aeaecc7b5cf3b17595baff584342ee7454cf1403211752559faf9b687174e18a0919e649b160332f6f2dea0a68d7cd00bbdaa80e03cfc303d6edb591b671a8ca96a1db81d842702f2fc47aaf4a28999e4777162e020219ffff03e3645a51487ccc3289a0d71249e07cb1db1ca3031f6048394acbe0ea274c0a3503e8ccf808c75ec0de90deb6384ffa01e9e15a3099fe5f1e3ccfb6accdceabbd5a03c58712d67e70bef06e45b21fd762a0fb31c06757bf55b8f4f9c719137ad394720219ffff03d64c01fd7c50a234cf7801bb65b2a248cc4c51d1268a23e50fdcc4630ba94418032a26639e99185d03c02722bddfda4d4b09f2cda81d0cbe269fb615fd2b6cbdf3030b6300035d5e55f90431dcd49404b84b2e52211661e33cd6e0eb00bd29245c4a03fe1d37877a810e1b2ae26c68f0a9d1601d92a8056d8093381a8eb2b9572d322f03500146f7ba44b16ef6ff93ad22836288e6f56aaa24f407a290f00dd65e0e38810379b2a6555c337af58021e5bfa2dbc9c487c896219e41deeae1af60d23faa2a540342f3d7658699ce49ce4690715e4aa073d7f9c84a9c814ddcd5b97c1a29d6ef4e0394897ea2a721294e9cab7991a08544c759b5d8f7afce0ec3e7178fbec935f0e0037217c92d51251980f0bd054f290d189749e5a5ea46222c64f4238cdb0d8d9dd3034eb11c4a26702aacc0dff29c4703cb4f55cd6c30b72ee30c37f41aa1a05e2ea503c45d73d67ce747cf4f1b6684fc8aa5eb1a890fda9e0c102501bdfe88c437fb2d0341420d689ae9909eec5b17bb1bddafd94026db4068815df53db3f14a047241e603905cb3cfcdd2db3ad5d9c8c2ecd99edb33ccf46b3212a23485deb074267d7c940399aadde3961db3407b5cfd6bc0f7f3cdd90d28fda47a3bae1975795d91480f0f03e4136df645f9997d1cf8718d84d1ce2a5eeb7767e6e1b9a1dbce50e5993587fb032088b8612bbdcc58733f40b940825b90782bde60c64af2f855e47ec3598c778b036cd2bc06b978c655fde42d6d3263d67c9e1d028a424990766fcbb8e2dc1250fb034780d964bebfb9080e25526307e621c104b84a238a9df3e364d930a99fed68e9033e40d57ec462409300422eb98a49f4d0c7961764ee13f334468b24afe01ba391038f8c1991b3936cfe8f5b3aaac8a70a0922999d9e05e3382f273f0fa8171cc88803dd968f74301fa7b69e9122e4fbe7c8b7daf4e458f09b74e30c45dd1f94d0b3230337d3e57eb0c6bdd027ce6e8c315bb2f68304fa293373f246b917316a91228cc6030c6f82e20ee51bc58e707967cc227a7cbf27aa053151a2e24993790ae754692903d23e1b3a957cd9de5d738d011b01a29923a228a44588d1c65f5d85596094974703c3e8df2f492bebc702acd47f753a0953df912dbd7b546b5bfae38807bfcbcae20387680bb981964cafadc5c52fa3c021ecd4efda4b099a99cb62921263e969bf3e035cdb562f7c99136597eaa7b65e8c91eef7a843c33c875cabfad139c767df48fb03cdee68d24b3c9593b8d6295dae7c53ab35a6cef338b0a0a853db75c1b0c3db59031d0236c070305a4d11e81eac453f4d8db5af15e19403ec98d02c41bb1d76fc32035852493ecef29abe40f85753a7ba1721b1b96104b94f49c43b55c2d07722265c038eaf7edf656fd569ac813875e37eadfc03df444f70a96ccb015e49d298b6930e03c1663e3ee913a65a574b98b8ac8ebcd1393c6bed44d6f7accd416dd3394831680392a18d037b63d28664df84845859a2befc354856da6a3ac7b468829d260d8f3d0341f90fd1471691790ec3544e6b89ceb4315cbbab2caf5c0b77310cb76403c22803217ad26c1fb66cbbaf20d8dcbc2a91476b8981f44db1b644c9c0e4511b6082d2030c99b32c9206537ecb8a6d63359f36e3e48652db9bc45da91d1ec5412d2f838205581e0312036d9faa424ceab1ca58eb6d82293145300d480bd295e609f9d40000040105581e030d144d1690a0587d192755c76f7226e0c103d0d777191cdb9d68233c200c02477cdd42821dc0d105581e03537c5035b8dc527f66b8c82f050460805b210bf9637652831df5f70f700c01468a4f3539580005581e03565b4df2c5957476d2006aac2d1c5c41e343b98ef339abc02c4098fcd0040a0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908039188efad72c6747c1e7f1e19036c430f6c4291fece213788dcd97857028c1b5e05581e039c512f91e21f13ebca1e24419617e8054943a56245eb3ee3ba050d533007011bffffffffffffffff05581e03058602b1552e19ad96578f935466a24f25fc14b8709982b7e8cc1e09700402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03f69d4cd590481a229ffea933ae23c87ffd52e58dab86e024a8beb852d007011bffffffffffffffff03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03fa7069cd405b5b8c7800fff1718aa9a388c02157288dfba2776a26ab1007011bffffffffffffffff03224ac66d1d1839d1b253d6323595fe5dedb6dc1cee7e965d8d5a6e0ecc207fcf045904cd6080604052600436106100225760003560e01c8063972fdd261461013e57610029565b3661002957005b6000610075600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff610174169050565b90506000610082826101c0565b905073ffffffffffffffffffffffffffffffffffffffff81166100b0576100b06100ab83610219565b6102c4565b600060608273ffffffffffffffffffffffffffffffffffffffff166000366040516100dc9291906103ee565b600060405180830381855af49150503d8060008114610117576040519150601f19603f3d011682016040523d82523d6000602084013e61011c565b606091505b50915091508161012f5761012f816102c4565b610138816102cc565b50505050005b34801561014a57600080fd5b5061015e6101593660046103a7565b6101c0565b60405161016b9190610427565b60405180910390f35b60008160040183511015610195576101956100ab6003855185600401610302565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b60006101ca6102d4565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216600090815260209290925250604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6060604051610227906103fe565b6040518091039020826040516024016102409190610448565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b805160208201f35b6000806102e160006102e7565b92915050565b600060808260048111156102f757fe5b600101901b92915050565b6060632800659560e01b84848460405160240161032193929190610475565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6000602082840312156103b8578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146103e7578182fd5b9392505050565b6000828483379101908152919050565b7f4e6f74496d706c656d656e7465644572726f72286279746573342900000000008152601b0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b606081016008851061048357fe5b93815260208101929092526040909101529056fea2646970667358221220266f45dcc0f640b86b617d19d2affc31f4b5547fd56bc2761d8eddc74675491564736f6c63430006080033036aa38fc5a7144ff912c9868f20b79960286f4b8e5fae84b7ccee0567d0e6954c03754718be8b2cc4b75fcca42da519cd7b7dfcd6e6746bea080d2dc302323bc96603effc6717382d6580facfda633b8d32e86da808ae483cb3a03a6d52e7a5512ca503a095678c85ad95a2c43ea6eb6d3f013c7e5806a2099e81b7fe9adb27164b231f03632edd5b4b72c8cc8710005d7b41ce5df9f5f28f650e8b5b194e16ced4d25810037a0dfe89775d36b47953828753c3f32fb6bcacb0f16310d6804f2b9e364ce1ef030b714ce24a2ddcf4c3ab164f35caee67ce64535f10f3af73c90544a1600e560803cd4dd9d6cf4be8402ba549191be378be048a50a7f6034ffe7165596904cefc5d03a82eb079c1a2602e62fd0726020e495609c6c0bdcc52ce3d40423b6fa30e4bcc0349ef8718992112269bf67c9fd4c3842107efaaed3992fe6e4387e3919fee25100357f03cb79877f9803bb80b76c3991d0ef9e4d15609007e7e2fc31633dbb9ece903046da8cb092de5eaa15cc2236a77a731c703c8da8d5303039cfdca7c1018a68a038d751b77e972d3f7e804f6c5c67075e48e8ec47b402c563bb1e3d6baf335341f036eaa54204d23a27e67003befc0227ad43119196ddf0e9dd956e2bf09fbdd5c86033a086e16bf78cb18f0503fa3eef316882ea24d6205643e85c37148fcb17a3a4b03dc6dd8a0a31eb8c315b27647e2563d08c37faa606427c0e55ec7f701e172d0ee032ff2120a55142b4217d9aa68bbc7db850760bae0085bf2a7a90c18ac76eb9b93032d228c9149caa3820e42f47aef41dc437f800e0f350f18d6e82f26936451d5ad0348d689892f7f1d420e82974dd84b53ec3096b3274abcf95ef48d21d1fc00e8d603ed0c654c7f76f49d59382917481a7daa3b6401f1fce2dc7834c9caacad00adbf03cc4845d007f6f65bc287988553889ab041845ecb6a333e3d758b811c2b33845f03b33da8659377925454b224f680c4cff20b7d9abe42b7b52c3709517a83e477ac0328e07328985aac14ccbe4620e0f2718094ea27860b3692e17b05bf7c8e02ffae0315643b6d100c9a6e26a3878241d077237afb387bc1d94d0162fe615ac88dcef103d980d9b20c0f0ec87e1ac3207dde0af200490b236d117cb82dae19447a444ed403915b61133b879118bc81f793bfeca17c027a1776ceb8e7aa8af5156e754033ab03904d5f877e6c3ac565cf1bd9dfe7aa89b22e59b19a7acdb96a3f502daad0be3b0382e7a80b963f01338d1c48836e7cacaadd7fc6995d8573db7399e3962641927903c5c554332ec589d95e062a0e9bf967dba48c9e76ff55d963fe8f6b8615f060b903ee86e1d28955c3202ed51015ae6f4fd9bb11fc5236e5e810b27868b9f77f53a403ccd2f224546c55c0e54a3b3b3428ddeca16ffec6c51248bf262a3c98737b7e0d030ddae2c20ec69b539b84f9b53e122d972a40bd06f72930994194ea8156897c58031cd9b0602344519aeb9296f2399ed837d3ce1a1f01d6e4ea4fc4281ef7e96ed903c319133ebf9275220e5e5c9c12a8b3f02f5e319f16ab07bf5c26d364579b730c03e7420906602acaf651b895a4a20de0000e23a2935a11264fbef87018291bb4f603d52241087410f39c59c53dd3ae84fe0f92eea66e57dcb118fbd011ab05f61b6a03c38a787ac803ecdbbb2344f8d7a7dd55c2815bc4cef1f77e6b91341bfef859e6032bc98bc966dd589a85be63d1f44df75afb0bcf115325270346e9c2bcba12c5c000581f034b12f9459e2a3d6025d6905b907266faeafb595b54c0219f54f6753e3f4048091865e93863645b00581e02e80e1f2c3926bc97e21c21a6265b28c422425688502005a799b705f057446604dbf400581e025898dfde179f30ac8e678aea147ff4964059f147a3d7d1db53d26d3fa354c8c10815be32536685d12ce8305425163f0c689700581e022a3b007f41cb9c09aaa8c326cef5e6e38d5b3e8093a722e15d47b39fea45073608a86a00581e028f8474719877163b2d275e63e1be9cd99f1d24b89cfad3c5c6f3e4d90644655fdfb60218b80308b45fdde410f32b53c4e0524776ef52ddb55bfdd6769c9274a9890a66a3567501410400581f038f730592610b53de00e7087f14c3c58bff8081363213d6406d914d76d610482264118ece03d00000581f03d42cc98b3380286afb9cda2c48bdcb6283ec673f0443b6039e1aa325ebe044657d2ec203872fee57ad81da2bf053d2e0be02702f67c9cf36a090ca439f9bad210aac261d03bfd522a6d13bb26ad2a7e4927564a9092f0b2c0c556d95b553737812329ae660034ad009fb5ed2d283af326bc4f0e16f1af40631d0d26eaa57477e5c8d8664c2b800581f033c397860b450f8aed944da1842bbac5272020ac0eecf3666af9616223530441dcd650000581f032b7ce57b47f9784ac154c2e72834044cf6151838b10c7e719a9510791f0048c249fdd3277800000219fa7e030e0f07b403f3c71abda53e55a19124276488bbefd20b2fb2e9b5a6fc8b5c3155036b9ba42a9792f51c1521b0b70315c0c1533c3dac2bb2ce50277652108042922e037b49e0fb0c888ca5ccad0f84bfb671c4c13c62b6200596d5b2acd0d42a8c2c490315ea4eaf6cde3ce770c071276f7d5b3ffa6057c3455cbe8e0b7fae0798343791039ab08d7bef8a24a4bbb4b9fdfda2193c3813ef27d5571c526944e66c7274e4f2032737e3bf9a4d2f77cc3d4a1d0fdf28eff32686a26a23487737332a0600fdd21f037d6d53d7e3390052b7766e288d6c98d3a317f27bd2a9da59d51b064ae5e08d28034716162844e43542ef22bf670efebb5bfeba30651ad1de229429f023155cff850219ffff0219ffff03c6a496d1af6ecf27336663e88fbfd315e30c5a01fea44c38c1a8bdfc6e116c3e03af621bac5714cccfb1b69511dc0bf4160e2a8ce64e1b82fed1f64a6f804442ec030511549fece00ae135a47d5259c80d4af0c789aaf33c9a2b67dab3fb542a991e0219ffff0369c5c46031f40c702dd698101ea857df6e2b1d673ef66de24167478d538c64a103d50a432f09f843f7e22d509546fd977a82b41ba55d254da5f7deb03b4596ea54033778be150fc281d691aa25d4813a33ac7b3408c83f1e3cef63986436a7bd8250036f713affe4ccfd24dc70c1f7489a2f6cbcdef6c85baf8e15516d2f51aa99539203734017f5d28833ac2174637fadf70453fb1988a32e10b529536c7c028096c4c60337e4e395e0e4fdf37d868f723d0fcf73f2d217b0e64abcac429f5d2fcf3e83a203b186d8cf1d83c63ea0c9870f17cfc989340df6c1949656e01cdfd4bd54e59e570352e098c41af8b53ed5aa9d71fb6899348044f7b26eff357b3f579cbd8d2242fc03654bf779cde7c72f71b401d4a408a6297bbef6c7c125df1366080be26bb85fd0032de1d2c64b6ebe8780e2ccd5a72e69bf3a95f5a4212f83c73dab35f754eed3fc039df1801e53f93aba826502a8242651dbf4a4d9cabd560b6c227b1bd25595d83500581f03fb06604c905450165964870c7f398de13bc4a6f9f5090fb35bff086ea4904464504df503434e283ed963cc65d6c1dfffb259124ac6939c5d9d7ed881e7dc8e3e040665ed01410300581f03495967079a75b826eb785b5c7c384b0037bb40db6fc56e8c7741e9de1cb04464b555af00581f03e3cc9829c96bf4bbe59c1e01b9577fb3f2808bb8158d4185e777d13894e04bd2e55a274ba3f56bbd47d200581e028a11c51ec48495605ba831d340e51679be19476d307ed7f81fbbff416e4810615b9b51e8080000581e026d63b7325f3a37b94d45d75039c1ebcb1efbbc1711b2c57a54dee95a0c4802c0c41a1aac600000581e02719fe94d61bbc79587574f5b3a987752d02821a1327a86e8e5f10c54da5439dce47a67ad34344eab877eae3ef1fa2a1d50bb0219110400581f0311599648a93d16731839b296368a51e431d191c790ffc292e3fcd01deda0440f1633d400581f0321531362d51a8d470bfa843a038ae49a16089b37c83d3c95d025f86bc9404504a052a2b70386fcc57993e32bad3b720ff1a6a92012f82bad05f697db69b8085f72bc406156039b7ddc1be3f27b2b86a274cb3552aa7bba90f6ab08574d0696e31f3851e6a04b030232c3d8eb606ae8c9cad61a30188b259c1abcfe18e4de1fa3f379f0cfc4f24c00581f03478336707f2be0b86d48d6960cd8853431c634f241c56d3a1f474bed43e0443b9aca0000581f03f905c646af969a4d2e5b87f73decc348ced50bcfdc0bad7b2e79c11f405044664d50e400581f03d9a7001bda55a266b7bc633bbf5225b5dd8d358f6c4e9527a53b99f23be048349e8e193b22cade03dad0c55a30532d7b93f8951a01698513142725044cd74ed444c2cae3003f99c70219ffbb033391e26d9c2f94db5c5394a58a929e14e53d7eeef677e203b9800a0e917ae96303d3a21b1dea814dce344cf74b2b01ba8e19298e89784be51d718337d1e1723fa003c4ad4ab2eb1c2cbda05f89adf708e465f311e003062ca27c8374113a3373656f0318158a23fa17b9210ac8a3ae7c9c94ccb49e78451ade0c156c81448cb5ebe6ef035bad5af77027b82c0ff9cfdd63d855db06a8adce2e5616a9b5264c40fbebfe7303e498b80d7cc0acca25401c50203475aaeb8dc0f8c6a621abd77292a2689f0f1703645de155938c4d599e1387fbb754301e11e918e77cbd03521c9d207b5c578c74031129e3470fea9b1347ac69c726adecdf77f0b8954131f1e7012715d481c4bfd803eaa8327f603324dcccfe22e4063e6c2f98d6afae2a7a0a362df255a1a96a396403e564c2fcf1e5f05e9fc6ebe72502ba302b25fea882aa1045253ecdb874f7de8a038ca8e1574c61e08c2619ba9955d3a34c06446f6a7fd718e163623e3b613eea810390d7d56718e6a4b64018f11e52169a45137b23d242136dcdc986e644c06ab818034be64dbf496955839fa749d37d84bea97c281a5435e1cd877d4d4a65bc0b09950219ffff03ec08aa2bee1c59e9c8f927dd5073827a4bdb61056a7e264ee23cd2efc63564d203441ce9a073669de4b0e05326640870f20edbbb09cdc9043fd32f611ba255e77003851053bb699263fb7b38c467a783e5a253b314021dba60dbd4201b77ee200a180394dbd60318029ef9062adc6c8b8c7355d5ab4da3ddeea083d3a6aad20dd10552032722c2bb3a7eed36fc5816def038b113ac2061ff7884e9d650c9407d39e58d4c0326de406ce1756d8105d92878c04940a800a3fac4b790b0dbd1eefc2a09e779d903fa81b9cc8211cd0844bd263182582863b6cb405af3e88ddd637ed0de133c80c703fa020cc64e5bf3ea0aa1259dec1bd74a771ff53a9704d74c46ff09eff50944d6032bea0e0bc0013187aa58e4d5b596a6686a09d9bcd8efc5e0510c2fa4064d1b350309d3e0f136f1125bec3dba2cdc6ea04f3dd86ef908308b335ae0abee19ba046f03b12ac43b8baf611232ca26546c554586631b584d0c43e36b4a499ae2ebc75ccb0346301973f34aeb6bf3e1fe31d1fcf3dae69681c9e2144dbf14dff303cbe7dc980373204e0e3fe31b49db82e8145892d221a6050ee0b852759b6f43d7357a37a2f8033e604779a4f40bff4bd1e0f26ae2318663d59d979abce8b40d548501bee989e50394dc2e0fbfbca6e7d0d1eba6734c0e2eba1ad64f4762379dd47d41a5079eda4b0219ffff03a39d0a476c38da15cd227a5d12ff69a1cc70fed5f6bfb47383bdd7dde704b92303cffcd25aa808e87e8d2fb16bf0e8a4d35c6aae92629d30495ae3cda62413880c0314ab8933e5487a38597ca8762cc4bc31d4a694aa207584b50fcfed5b2c701e2f0338e4e1a57d6d4f15f3c17ab2b0a48676dac58af33ef19098606253cc138fb8b7038db89a572b10a93b4459406290e906e16443b0c31d6f161f17920c4984b37c1203c3235a388c79bbdfd55b8b6fbe29b4064c7f20b6fafffe3e9358cc24ac567a2b035011433fb2beccf89449a9cc3d3222fe98a2de537a864f10ac93afb1d0f95bb203def2c2a3eaa10003542562d8a20028a9f92179991fb912a987d6cc0dc584f92503a3f29dbf2de6df3e1d97696b96252f908b799040b2c67f7e56e8497597eca9b5034117ec99c4bb081ab01845ddb357c7554f573dea8cc558c9c0d42ca1e0dcbeaa03c2196daa84829438674bc7a91d3ffc0b57239fd7982eaad3d360f87c3e450a460393257c9e63d6d7c5662aa6a84a1306430caa5e78a13b163bd09f84d98b0a0ef1030d858a3f14eb6f77f5eb19ed9eee282ff983b1caa5ab9da4efd2ef35a1a9c39c03a66521894732bf2d39f75eae2b1727b0d238a4d790bdabd2c0079ca7b3f8dde10311b23b04b9ce6ae0b4d16619b975d6bf6f94e727722df7626a8a4d375f9422fb03d175bc6a9e00eea5c12eac616b0cb5be33124c04145c66764a81d7553fc4c98500581f0380435739b14c1a6f27dbe7de84a3532c4d42eccad989dfe42ff8cf507020485289c3bd21a2c00000581f03762194e297a7b04813feb082030e292345b0e630679ba588b9b49907f900446e30a32200581f03ffd3ccedec124a1e21aae38a89fb4b6cde9ba2484800c4661c6947598720490ad78ebc5ac620000003e9cc9cc5e2ce13348d01c310cd0eb62545f09bd739787f894c228878705980ba038c543cd644addf09bbebf205054b1c4155822fbe64c5a6bde48e4d115ac1c4df039814ba4573c7926d559b6456f6cc4f084787e894da3c118313e6cc87d4055f78039a16bfe29a8307b2f8ff55f0e577b893c9317fa69e71ec224b7cb57d8c52b13d00581f0366774f951837932a55686af5cbf895b7539decbb7967ae017c36a5e6dbd04466057b4000581f03b2c0c1a11a930290d49b8d2760b83c0df20e0d7ba4cad25ec4d5f12d79c048be3a9d224b5197c200581f03d6a027a9665988ec9f03b5a74db7f8415182c1791b56117acc831f708df048083e4fda5495000003f61c4da0eddb19c96c2028af00efe3bd4d2eced76070dbc34e4d381d45da2b0c00581f030ba3a0923cff542aad99a860a883b6ffaba76b83507c338bfce15581cf6044661b8f5800581f030581ec4354dd1843ef8e2429c45817e09beb9a6e1025bd32924ad48e4d4048630bb7afc1f680000219fef5032b69f07524e089679de54b4428ca906101e3292996ab65fbf696ef18b357a19803367cdc838422a1fe56764b15978a8ab6390a33e6943ea6ebc9aed45f2886b0e703a75721eac8e3acff6ada3750b3a0fad8a5eafa0efd55fed1e45a85930c419e000373f2b08403a0e047be751f84aa5bcaf755923d071f6785851838e1937266b1950306bd630c41d8d5d732d53004c744496573ba638776a8abab6439f4438255fa2e03456acbbba4f84b8cb22939092d84bad7c837a75698e0c9d01155575ea9256cc4035849a1788ec0d0b9d48496ff1cebf21d58abae4ea9ae555fb21d4323b44e66ee03ad5a837094df1c7870852c8beca8939d9f3ad8452116e932c32c14b35f9bfbc4039979a44241cf8ff92c3f55162d55c3234e0e27a011e8ad3549634d77fcdae2160310b100bdd23fc0cbda9f54e79f3fed09981121fbbd181ad420d6f844dff284020327f7c960510629c673b33acbf01c4dd12449762d1b6ccc0d0eb692ffc08938d103a4ee915a73da5d19c17810e4ff2655e3d6c9d59a295f6c7f19a288d0ac62f6010219ffff03179fafb98ca492ffb32d790da7cbbb27e31bccb5b266e020360f3830c810bce203447863d50feff6c7540d49f6b3be951db63cdc101733fe378805158f8dd86bbd0357c482576136667878def64bffd27db5891f7768caf2ed4bd6a608941fb58f950394bb513bd86a4c65c0b7826f58a2569fd43faa2ff456a05e9f4d5f544993b16a03284f7be1d9030c357e69fad289194aff165cedb6dc829c4703dfc5ee34e8af8703e582d80aa744e752a9b51c2cb20cd0451787d40883d49903a9ca025386d0b6520219ffff03af3e0a360abd3b4e6629192ce3322c22f5249a0f3263167fdaf2e371ce393a900219ffff033fbe3d481c715ec62a14dc5d5293222f66afcf47071ef8ec348da49915caa5d203765b1202a9b6b88f0b149e7a06048edd71bb0bebfd78550bc294dc1d16d64d3a033a3f640382d993b7e49af840d0402cee4c194c32f2c0f97fde85f4b95c212dc5031af04d26d7e27fbcdc2fd8ddf3ed1f7d9f6966bf6b883877886a4a4754cf6d3d033afb3b50e3f4237f68e4ca528499bf4e1a6789ec632a04aeb1a70742f3bd06a203acbfe09b2a986ee88e81f92144ebe75563328d31eff0082160fdd88e891a739003422159c7091cb910480651e36b135e48e06071ad6d80a477305182a3f0c3dd19035c17c7b0cfc43671cdc7add11382b82f803f6b1bd4ea2def7633d14037e880d803b9ea349b60232bd9e8d44473e1a9376fab0df97e7a0dd2c45b0678f2535a295603de7f8929d802b14fa0f5b83fc99df133db7dce94781899a7ab7d688849ac5dc90367a2469bd0f4187566f7521f7f53320d73fc289e451f46057a4e6d69e33b7e43037d0d8469d15ac75f8f94bda8b8d77db3e2b6e247aebac1c4c9e97716bae590d6039667d16daeeea1646dcc30cb45538152a03ae0a041ab14faa4f15a764d91814703c9d8477bfdc1b79bf0e99aafca51594ca25edfa0cb54ea61acfa35bd39d3fe350370a0aeaa92c76e3706dd7ee5bf8cb9a2968eb0f083e4d2bad86dcce60a323a3403ff3fd8b51bf0ee1c96f74aca2bc30815322cf9ac7bebf1b71b23dbdd72c3024403fccd8614a89144ed1c89dec6f6d4be645943a7cf4d335f4fdc5ad6bfbbf22e2003642d98aa7cb23a339d91ccf0a2e63361e81259871512fe7217d00e8ae0589d46032c52b83132a5de4d38e4b1526041087861b837c884f0bea4f34bb84b9995fe5403c5a19ccb736f1b66f3736d2ae0e0210eef8f772a23dc811be0f53d13fc7f009303e21c694775e057596b5c7c60a1e2cb56d3acb5f29b2c7b6603a7d7ce5f4e4f8100581f03344c67458e38772637fe512dc0c4e19e5d7d5e90558b196730820d11161044644095c7034705bbf2835eb62b9cf8c07484af9a0c605ead03631b7cc5323f88737e5035570303071304c156a6021495fa3149bba3980d6f16afd27d82935dfc314ac7a98f3403dd8d73ce9d39b4f87797e5b1e4dfdf6b574b692f6dcbed815a09704ccb39034d03ffbe0c183ab9ee15ff5b26f6e77b30f85f7bef12e9d9479def763eae0f9b3eb200581f032aaac7074ac7e2f31896265929023a70aece15175a3ad62c7f20db95e6105422f9dcf4647084d6c31b2765f6910cd85c178c1803429e1b2ba1b9cec303ddde3a4f1ff7a64266d6af560c2c1463dc96c0ca5fb64400581f03340d9b7639e0803b8c029d7a149561df8ef0579123fec00e9b92014983804a054b40b1f852bd62f70000581f031e8fe6c3ffce6947810631eed49fa1613fd29b5d35f2ab0e1f18c07bdb60582080000000000000000000000000000000000000000000000000000002163cc80e021995fd0398e737cd4c53b0d9f1a0d235ae2ac6b26a250409a37488712d5d1bf95a26371e03f36e833747373feae15eedacc7f9367e074bf9b8a1c52c9e91d0e6bffc98bdf903a0459cf23935cb4bbe3b0226b7fc0fa1911789cd57d046ecffc542536593f5f803fb59da5dac02df039c44a0ca17c05f70c189c261bd0ea2c9b5b6846743ae75fd031fb76ce6509938d664556f2c551d57b2dfa87b794ffc8ca5aa57e472c747f05c03fcf5bebb9fa1003540d66e710040a148bf4346c61329875072bab8b0d650199e035c59dcc47743f32c26ba83809e94e05a96898b8074b72e5ca4b1da2b7961ec960358863774e5887ecf14c50b506be7359f0185a319cdc8413d963e30a6b8b142a803514ca35dcb0b87acc4f51042cd90d1245c146f9163078b075e68d055047b1cfc03eb1e4ad751a3c099e804c36e25fb72dae888bc3df58c04cf8456753224c4fc9803c33de4c7fec54ca7fad8807338014c911169b951996702f4b0837116553f3bb80219ffff034eb8df8e1c5abe506bd9c0a7b7d6c656046889506aac68c8c41da419d8537fbe036ee5b5f539563958a535baa8ada60a05d28d52d642afad9327969d3d9db758de03321901cc0fc67ad254b70c1d1c80a87e2b991d4bda4b7ce760a7f53a89ad52440307df2467c9669fd06b6da13c4ce7061a11ac58d9a2abfd43f0ab4a6e889a611e0391850c17fa1a9e66717a2227b347f0f4abe27cf7caf9aaad30cb9509eae844120362c88f1ca36b2cfa42c35c28a6e64a8370fec05772ae4a2d5802f8ac3ae2982503ee191395c98bd1f73c26a229ad59c36aba810da693aded87ded47ea1edcb02ac03d9f0461a255f807ebbb5c0957d310112c7e8650d59a636a88d7d7e7ef3e127a103aa1677013788f2bda3789b29902e8f0978cee8aa98061531176936863c4332780219ffff03396f6b185755a463e50f207dfb5a728cfd5c2fa71a5e17f586c8760cab0b021f030864325d5ff6590e90cd53b06edc38bd589c0a1c2dc3e2fdf156abed74c0759503a4696262406494314f3fb85d2493c5375fa1a1fde53db152b122e9d736cd509f03a6f033872924c9adec93442593a68fe452bcc9e53d04c182df527f593efc8c1b03259639ebbafb4e612260b9b16fb17f3a64703d9d482de466785f0eedea9ec0ff03ed406324923ef5c907fd5ef40d26533c23719ea273d357083b6168f413384bed0219ffff030c8a1cff17a107ed8b8721c6cf69d5ccc5468f48d3eec63931246e6a2628460403a0efb6c079a898d020f4b1cd8c467c0183b0b3d8a31bb173694df3162201b93a0301419efa5582f549325bba627d0bc962a6843c5e1f2e2256b2840a3f0689046e0306eb8920d34275e32d459fc13b75eba3511143cc36d12b0ece2f89bf2de4a5f903fc6ce24d7f7dae8fd48eb186c10222570e196224a98908715c04a028ffbd945d03683f3e8ab927ba91bece4bc2912e6843cffb50b681ebb92321d2b57f64a0554d03ecb3d325c9cec9da0b9945b76df45d07b0fade730a2598a032227790c8cc396a0358e72a3f1c609ee34f1622e7da683bba0299164369a42264b7260a9c6184d865037c5fc279487b6ce87168f1927a4946f7dff18610f748e24a8671b953c85d889c035d8189ba7d040f4c3e0c3c4538c8f52dc0529fd9421353acce40f23a846626110396a19bcf86bb1125e997e0f81bf1771a3a2a07a470f67c41f711ca4989ce18d7030b827207b0fed1e6ea1628cd76dbebd95c2501c5ab52166b552ee0ca31dcdf6c0383563a4aab4d513a99a90c5b139e10f4aa450317e516285817257b18d541519a0361b90bc44a63d68636cd07867f1ac4a4e1a8315a887d136f8d4a3f363606cd5c036ede80373ca9bfbeeaf50dd0064987c9b394e162ff069f1a9f8736162a07503203f182c23f7fa291e12b49bd7a035eda05e8e1c8275387e307555830634556c41b036cb4912faf5c4f4abe6a5b843aa0dbd88e7fc1b0a91e1c65443a592f2c4e616003553366c878d9138c718f8aecbfcaca6adc68088bdeb172265d0908c45900449703303b54ed1816f1e8b794bfc475804e6b9f9b6106c4819e1387be1b74888c3df303373f5369c61f0271f582b9d89346b9e5b1a3fe767d5a1d0ec606919bebb5877e034922e5d84ec7126ad1a8b5916685334022823646f4f8bcffcb88e7835598b79b03383782eaee92bfa140b2088b73efa837726f973e10c34206705041697ed6c8cf03021842b0777132d7d64f4b5feac37f88e66b186c0fa129c19e8ee8afa96f4498037bce8c693dad1271db89504ae4446c7ba0dd881ad9e15718775a834bf552b67e03bc06c355f60d3a741d57405a827641307b42575851ca60cb0ffd9af50856567f038c49a42155a10918dbd872ca342c8fa3e053f9923e814a4ba60136140bdb78c6039e100115778a412b3eb5dfd055b70baa3834e9b215e41d62ceb9380de7e5737f03f3228305a158f61b707f9507921bf6be6701b6a5ca6ea7a8bde0b7f2710fd1d903785c370825cd42cd76f7eb8de6b8366b58e134e9da42d3f6ca67a9e704d1cf7c033374535519bc4a99ca90b60d365eede9017bd4ac01b2a4736aa812d007f41b9f03685b7d9d1a009a118edc9f26b0c653526034e1c981b6c9da455b4a77729a422603de4d47113dee3a3fd439ce2edfddd3c4250e447eb0a7c71624439b631e739e2c00581e02c9ed0fe380d5693919a6019c7ce026d2ef716464ff9909fd0f1ec80e0d5444a6999ec971cfca458aff25a808f272f6d492a200581e02e1266536bc1a08bb139a3c0e6fc3b4edfb622f3bf4ee98cef84f226bda44be956fc40219402000581f036c34f049fae287921b7d5562b50affc995d69a3791cecafd58fa4eb7af40446616f9d400581f03b1f5cea3f30631e8cba7b8f81712d7b92a1695e28f550bd255780e2f3330486077f8b155c374a400581f03f83b2ebc1020645e2cb8c2ef4920e454f1c8f812964ef916fc9dfe8c55a044f4db1b0000581f0325e6e7fcecaabfa5af6a4b80dba0dafc6e62679c0feade27638c06645cc047f6ab0922ef880003d8268060fd79279f7f160730c9dc8a53e6200b12ab90a5f06781de205e55158e00581f03544460cd591ddb988e94b75dfff679e54afec5831d03aaf68e239360e740441dcd650000581f03b92fca293a109b994805c88531a8ae58cc81198832f6e75809456d2583404465997ccc038e8ad7d5e8bfbb4395d3b9bc1391a4e83aae15f04b91fc822d229fd3fff2f4e60398265ac484aaf17c442da60e6a0fb9ef1bbf2fe4a845e4fd626e0629e128c181039e8660928a1d0a63f911ea3b399ee2a10e618b230c3b856ba277fbde01d2864d0329ebc7afde1b169309b0daceac3d6ffbe5620fc9a7f3e773cdfac7119543d31a00581f031826d949e41603192ec137357c926ecc0919c6aff298a686670deffcb9c04902854f1fef7852d6000360eb350df7bc265e2aeefaf88291cb486ea601a5fe0bd8139b63d5a3b915dde300581f0371ace413fd4b2a5844a7e62216735d2018d564492fa6bed81fd2e1816f60446599e6320219fffe03d438c27aa7bb4179b852e28d1d9c128f2ba33fba0f557d14eef439453b19e920036cfb9704b65d94610024e491c764c69be302422c851eafec3a835f67e24ff5d603b7a36240ee7d3916cbc0c40ae6ee634aad1d841bdcb576c20889f747257f889f0219ffff036cf42a7ee00d78f4ed816ebe9fdd3c98672d7904681ee55d21c6418d14c72d790219ffff03e0d61a653ab5d2070ce9db89e41811b11af1e7a52a1de2cfff1afd2c8a665009039cc23df10112599eced5e897ed8941e7666a5d5334dd0bda8bbc912ceef9913b030e4a3c0f5568f83f4e2b235c46337e55f62d6c4cfc8d147bfcfacdcf351bd61b030aa7ce82a5ad30102c7036124269cd62838149a88aa7969a8aa706f354eb402103df7091d1ccbfc8233cba3e7e450a7442170996eac98e1704e19b1a1bc3e0316103dd2bd38a617bd5ae3ce6ec6cb9a6dba8ff225b81a19cb6979ee48777249c1b59032b74144a5002d2bd30802c2c487cd143d78e5b96d2c7b61860d0085d2865a3c20323ba7db5ef2f2c5ffea18826d0bca03f3fd14982cfe185441aeca5cc12769073038bb9e605095147e46a77bd2ee2dcad568e55b38ec641b98f422cb0d92f1c07c1037131d66d39976147d3c8deaaf60e0d64aa89f0d7a415b787abb5b86ab3d0b6d703c0f4ff9503c48694802f79be8813e04bc997641eb49c2733413142abac020940030d521c6173275d04e39d854d2d163ae98489ba669b4d19bd6110e59eec8a5c3203c99b222ff6c9ee2b081b348cbf718611943794d2e3f318f785c2cf4bd83795f703fd08496fed2845d457a1213f254007891887982676c291b67394af6eeb6df69e035835e025226155d7076100e2ee2cd6a22715c96d05ebc34ed25676250b582a6103cd999f739d48fc42c3226a6d2d453b6af8ba2e6c5508ce905f56277fde410a0003f15453f7a835eafd67d1430af79a17cce6cc0c8d4c876e56498eac61f64afc2c034c69f39c13ae7f788e11b4720ec354d5824155cc80359e0cd3d9cca490023de203ef176319af49261025a66a9c866336d763a11bb56ae22928e0908abb7debcc3203d135685db5710930717fdc8f1724d1d8d41e580902d06b78fa9ac66d7380b0070319510d04901db1799ca2d20949ba86e324b2163a9f12e4201a62e56bc2508c53034b3711646e78c3e82296fcee4aa7c9234b2071e23c3e14b8bb3a834b58cd5392032c5836546f9179335722296e097585218242b3f3fdfc3680f4b42fb3302165df00581f03a4b26b5cfa27749d2c39dfa37fda0a95f24d88cf6bb800f39e192f1d6e70490487e7cf2c9726000000581f0318bd9c0045830c4da0c683d3c38989709e408a91e75d31920403462773704a02b28f8585fe50a0b470038e75014ce9082a3b5048dd380b60206bf4cb41ff85cd92eb8c58fefe35cc997b037e0d66201e29143266a1f5ae7e35330c58f455270825d7304ed9f776238cfdc600581f0316a267d792f7bc13a0e59541cb959011935e85a0860e08fe5845a745e350443b1ebc3003077704789433e840d4cd36642d52e094487b72582e511de7f226596d81ba0a4400581f03cee7cdc1e5780281040d451c2667f25d003e51bc82f9a8ff85e2f82ae1a0410100581f039fd3f9e72e7eddb18b20456f4227cbe7ec828b07d9d109da2e1da76129304a0d128f2fea208cb0217203a581981dd7b719a40a9753d08ab9aad8d9b034fe814b9ee36bbff3eb40bd52c100581f03c89781e655346aa3b98a0f7d8ef4d15542af09c5385b449a1c584ecd6e10441f08c2b400581f03ec316cc701cf2b0ef57f4bb3ad148e3df8d9ea7a8736154660a8d10a4940490410c5d576b026ea6e0219ddde037925d2247e24f61195f253262d162b2351ccb23b752fffae528f2dddb8a136b8038f4cf25d6d8573f52e00e565d3c6284bb0a24241f36c71e668a075a31e67ff45030573b4011dbd989638ae8d68cdbd397e712cd1156c273462834af71f2b44505a03a0c3f85848edea7c4b15a70413e7e140329e324214f1d6272ad604c6b0be07aa0346bff46dcc59e53f2a0d68ce152c275c9367cae8c3d3ad958c39fc459523bc1103944b4ac67bf04c10acac6c42c73ddde8e29facd7b3b34b72864e5f64accbb29603557cc4d8be318e5ffd1176a6d5d4210cc27bb48cf3664ffe250261b6c341f6de039f12ab490140f00ee540025ebc859c39deaf22193003fc1151cc2ad87678c3c403f7a642ad00be345cc3be4afd048d00254f5c0bbacd7b3c72942aca037da88f1703c0f3ce9090862936f4949d2c64dffed810532096a336b40ee0f73d7b7996aef303e177e92a4ec07ad5e0afcdf06304fd489c533c85df72930910401d28ba47669b03a34b2b60bb6da9772750f53e161f2bdb4d0b6f7fc10ca681e31825e5784d714103a9b32d0750d5d0356ddcf0c9d77444c5db9fba9885a1150e8fb822ac231d197a03b3a0011bb1407be663abe1e6e3ecc565113e516456e0038484b4405b947c16610219ffff0219ffff03051729f9eb2046b33e7b7e0b73b48f5ef89356ec3ab776266607faa553042154032e7dccb52e2e11b3825609dac773efd8a04995b4e64095e319a8f53d6126f9030307e8674ae34bf9bb2f948ad32177b4eb9c90d928bfbc5468b911da7b2c18e66203c6b1e7325b6a2473b449ead4f48f364ebe70b532ae789d4167a486a6de2f49330219ffff037f4d3773a8024c7491426ca6e9d33c1f5ad1b92dddc492958f20d8a04e1b3a5d0310b747a698439108675990f9b4fca2f1c090bd542169110b896a72ff39d32b0d03c2aa250694ccd904bc8be1613a1dc95d50d21a00677317c3f69588b98ae9b802038290a665b97de0ff8ec7de73ad3e80c57a8bde35c2d5de3b50e18271734324bf038c01d9994ed569ea7b10358eda0eec28747fdde9bef9f74ffa38a77cfe46440d03cb144549f787b55454bffeeb6cc7efb299782368ea86dee8d6d40564869ea5ce0338dc4ea1e15a33de404cfd6e4dc40474560ed1da5e02179ffc247801c8d56a9f03359fe294519da992a7c4f933514cd5b03e7801ee4016ffc225008e30a997205503765f5ebc709d3161f1082d9771c02df1eed271fa0bea5fc1835bbe40e785a59f03be078a54154ea5e8edab3e1bfe690e643fc94f336ac8159e81da10e6c5e2b8a9038f568d7a22a573e9669f7fcf78520bcba787fc03e1e3e4114ace941f0995304d0372f18e58eb8a6551fc4287edd77a0c2568ad7e7a721625788715fb413aae30100340288c9f1ef0c5aee635233c8f7e0225e9292db7f22bca40c3a13aadaec79c7e039a13aabfd46b423956fbc098cae580254f65510785364b268a87d3641cbc3967031560bf5f37a5ceb12420c02a4cc5635e40d40043ad4638cf0ee39027eaa7fdd50317d7e57a72f3c196f0efadd2301ec7cf287e88d8c2a03faafce806482166be3b03780d6466808130af7141b1a7a06e3cc25bddfaaf0021ac8de70240058b608598032ad30ab297da4346d628d4e7dcdb940c91f97c4fd212d3d4a9aa30366963e67203f08178321e94fe8241e3a17174ac91d1756863497d308458c8cfd7c490806440037f46be36ed002f5b743810d20c326b63adef06fd6f792421aa5d4892a2f149b6033a856e72e7b4029ec538b12b8d579d92abcec87025584315921f395685d64b9a03aa640833772deebce32163a57f457b94e11ac3174a7b075cbb168ef47bfabd5503227f50a0c2de342f0a256c242c116dc0a196bc31acea6b8afc71e4a1ccd09e7d03998f3a8fcf78236921066a83b4bdf7ca58e3ec940890e01473ae569ab54b15d503ded01e8a53ab900a581746a8c858e6a55e535e4ef61bb7805df63ada3123b0fd0358d4deea58b2f680f4006209e83e66dbc2559faac7e7c9f0d5688a1a07d82efa036f77fa762549835d25689ef072772b1ba1c11cb33e5f3959e2b6da492eacc0a003c48d8152a65797d0000f107301e93ff9ba5dce99d87ea0074e9b80a22b323ef900581f03f74de6c2255287d64d108b652a6453b6906c0a299ed8c4a450499d79b8b044047b1131032ee98fa350504c43290aec9b1de13802f5d81cc26d8cd830a677416d95cfadc500581f035ed1e75267ad118bad524b4f11d40d37dbb588fcb1b8b36fca1da0fc46a0495150ae84a8cdf0000000581f03d0c7dcf59e73f71e763d95847811405c3e03120ae0f9ba5a759d249e32c0446648b9de03bf3ee5e99ce07df2b5f659c75bcf2653bd04b43d81614b96ca59796fbfb9b22103d3a6c50d049967fe1e11653c585ebeddc4b9534d940288a3132ca7bef5675c9300581f039e7a018b9c1994147b73126e8b672a691949e71369ad5f7c724d0fd0cce04802e486cd8396c80000581f03fb8af433c419a19e48fafd6b48821459a463e14210bc60e4531de8069e505820800000000000000000000000000000000000000000000000000000000000000003fa06e88bd23bef0da14a56d29653ad085f58deb0f2b9643f611db200bb9ada2300581f036a6a8edb447e1356398501cbd8ad9731369f4447f5586267fad1bfc75c0046034630b8a00000581f0356df7817d4d3cc763f0762ddbe6ebe9879bdaecf3420b41b6e71fd142ec0440125849c0219bfaf03872051759022ad06ecf0350c11e148011cb3e8786d16ddd770fd2eb04e9fc75a0339c5af248b39c2c079acbfa295e463c894c3855b79d2f40bfb1832e1d151b05e039e3f7672ceb659336fd414ca292ac730f375f0d9d2ba37f3aa70ee715eb8a59203e93deb22122d00accb731c752ac5e17d8f18be96e5ba8bbab47857ae392fd4db03eebec2c401aad828f7018f1d5671908d6b3bdd96d6ce585a9c8c26a26b272fa603696f642486ab1b1188dc27d44591f710e11a03fd2cdbd23b069b75333e6316ba0325a1e66d1e268423311a90cb17f8b1a7177892c5f8d7a9d679cb3652cca8d66e030bc78bb44c27a8e8ab1b009915165a5a978b764dd862fd241d1ada3f0be65bf803aa163fd80664ad937ce06fe91cbe7af5dad2ee731a7afb3f97fb00f08135c5f70219ffff033d0824c75c4804a95acc4f0d3f57fc06d9837d30bb82ca12095fe25f9eab9d38039190fdcd6ce6f121c4c140f86496fc59fc35503427d18f84eaf07d5c5b707a8003a927bc27a8b2b6a8df0fbe3e4b91566117e697efa3faddb63524c10a94b16c1f0348fd959d8ac9f215e5ee40603850a483e3cef67312ca33e8b37843952030daa0038f5b0719a92895461d39c83f8e97b42775fe38b8a5179895dff7fa81ddab68ba03188c87da4feb8768a87eecc5bda9ad6e51248408002378987ef3721e556c5ee60320568ebff32e0a31079daaf305e6be1d2c2ceadbe739bcd9c4a1475d3285fbd40219ffff03de5adc41df6fb1e2028f637a3ed648b335eaf3ae966fb28726e63230155067ae031a8e850fd6c563156ad4b6176c34cdef663bd8fea7228c3ee001ba166f7a75790334dc152670478b361f955b734b116fd721ca61a8c9c9287ae9ac909ef4bf5af10219ffff0320c11b85f9e21678fe7a5ac1d3f6ec2733b1755bc2812cbeb38599b1330293d50358efa752560b81948a5a8979faae94f3764b4258629d94cb9170e6df037fda05037bbc1155d562ead930452b193cf6ddd0cd0589a6f75c20ad8c03e94a282e42b703af310443e999d9f665863eff2398df2fcf9f4ff0e06b99d1de878c855aec1b59036936b225e021759bc36ef56b568d2465983d2764446deedfee73375d3066313d032fa5e9a049f0be3c461b4cfcf85b1fef438265e037b81b3d4811079a6f8c8f09034b56701d03bf284bfee0de57b28d58e17e6a38cfc2e8888cf4d1ab986f7c279e03b7c1c9a2e1afd7ba0a86fcb9c37427fe54e9450014dfc31862e24b79d89659000329108408a6b15c84496f0f9b08d3fced3a2a1265e1c36d8b9b15f188d7c7961f00581f03a4807a579a2ca23fb0071a6f4e2c3feee0337bb325c1e3da9f12b96a483044660b856603733b9875cb69a81ba3b94bf40d50debc31e1a44a0b74d578d229ac60114fb05100581f031d704d56816feff4ce2ee599089a669ff46c37676f05f47d8c3bae9b4f10481f399b1438a1000000581f03c1e8ac0b25458ebd15ed30e2a2d125e7eb5db11ac9add679cba8e5e492804465eb7fe203c8bd38bb88ae0c8d637635bda56eb10826edd5294e4d508d053bd731dc5ecee300581e03bb534d340c8286ec570b888170999f78786261af9448fac945360ef6c04a010f0cf064dd5920000000581e032cb32bde5d4a9686ff85199782f3524d39268625091ffb06051f016750541fcc3e6f76f7a96cd2b9d09f1d3c041ca1403c570218420219180000581f03fb3c5737e6111b2858390041d7d2aeba78a2234fb202ce8eccbc6ee199b0478cdd770558200000581f03fd98ff83d3c73d52630a84ed7bf1e4a698cdef9297227eeccad36fb669c04506e9885b0703934b2aa52968d63f35bf9bfba0f42cfbb2e1f0bc28068d8814065947d5126d3e03dc1b6f152c7be79ee7a454f31bb75d347c3bfb1589fce34f6ba507076f3c0d0301410700581f03d459f17bbb7be40dce6631d574d954cba93f09a4d0fdbd0a91e612ce2d40490fc869aa1da0153c0000581f03aaa343f5fea9f892f7d5d082766c3b4991fffa650e7990e91cfbdb42893048112399f4e99b800003f9cfc2ffd30800ca60cb592f91ad2e435077372454ddd5e3c93fa79feaf520f6037817edb2df24469f0ea70be111d5077f6a36dc1512d0c285ac2169ab288c90740219e3ff0304a6cae226e241a5f19cffb33955a66ba1a68b1dabff80fec6f88e9be2ccff8c030c7adf490c1b17835cc575f6f9a75e1098a2c3b97b546416bf05ea3664ffcf22037c8f5f8dfd4f3242cb57d440d039c6e99212ac724cabad60d62c8868cf66b15b0392f485b10f84b57825de708af4faa2811aca804fbe49d4872764340b99f1ee54032dcb511f351ad1fd821d92686460d70214f3a7715779a4de161f71a3d08112a6036f211350838d7f00de6d9321b25b448beacb41cf618c4a258e29f861d77863bd03d5a34468bb2608b2004777dab9a07e42856e6427a6c4c63e212790756c74a46103444bca6e05d8c75196c7a4616860278c4f480c95d2812b1a83f05ca8c09bd59003cd4472b684d4bdcc3f621c2708fd533ff58dbaada17792024e5c2933e9050f7203769245c2b2eaa09bd4dd777c6cbde8bb0647f1708f4de014292714f5c14af82d0338b6c8aecdfe1b462d482abaf8404adad11eb070216bcc4bdabedec919936ecb0219ffff0313eb971da100354388a1fdd074d3121df1dc19223b93d3ecdd805ed581b0696203806536871868bd8775f00b8334200e3d81c77a428d9343fe3f11a8fc116d677a036133e00c5d6b00cbd755147215dd0a5dd10d6903f8aa0b16021e7282ff0b31fd039d8fd888ee4cba8da8e106dd04114c2efad1e4a1ae1e7e89c9f630c8a065188d03143909a46a9c24aa780d67ecbece89e0e181c188c8ddba5aaa37071cf23c887e03fa28173c7a3ead72accf5789f5f802e536afe45a581c3db13f2469c63735e65f030af6bdd96a0ec725a01e890d9e3426bb0773627112851688732fb14fb5b77f630344904b1826bf3f227f8e19fb0650a7e844a27c02b871aaaf0ce7d49d2e1589d703a79c2b07ee1f89d75e04c483a7a7e5000288ee285e6bbc5a6fd115915d94719003d4b4dd9f012885ee7b58ab27c1d9cef3b53f83b98b2eb282cb25a48ed43d3cf703001f2a4dc42b670b975590aaaff3338f4fd219ca8454eaf4fadae8c778c1fa4903b62d26f9dbf6721aad37f696781cb1a0ee597c36bf697c851469b34104adcab3033a089431d9c0dd4715247073c8536f83808032d102eae08c497527a02af8781d03ba9fe717003aea453c5be68f4162f969a6fc05d290984d547fd15900c398d2bb03a3f90f03a6470a609239793a312a5acfa555728c4a367c9932f22ee0e6a0b33f0219ffff034d7486a02a6b7f8b95cc51dd993b33ff108d4d8ced4fb9a6bcb8f89c960b76970368c2abd29aca6aa40d86cb4df6faff7887328a9d30b7d7b8269e9a51ed7588b50381eed5869cff0c85adae24af2d068fbfd876cb6a081ce5d5fb19080111b435e30379baa5d5094fc75825a51281207c539c627e2db41daa1748b3c4d3607af76dd00358b22b60ed13019837889b0082ce171f30c6a3f7ad475e531144412d30b288ab03c51de8509f6abdb642ade9c316dbaede1caf6b8cb98870fd75366c5ce701d23b03b1f386e97cb86efe02e52b06802f3f974106da3b14fcbd4290c68e297b6c05170394b80f45350e65b2da9603613d34bb5002fbf007e5a416e2f37e2d7e06d8cd74038a552c159d186a6efa1b43080121fe99d4b6f2f804cf165fbea49ec4e38ab471033ce9e6f0fc94271145c050a7b62ab6dcd5af25214ca03bad844266b7eead7e3e03ef9b197b990e16224f0cd4d1ac06cce9443b176dc18a7fe42cbe522bb59e8e130352e4269539171b73960c6ded6cb21fe6b91d15811a9ebd0cc8abaaa61cd81f3e03b1eeb128b57a7c62a0dcf8aa84d14a2d6bc1ad0f6d7dcd47d0363d321f0435d5035da46068a0c485436843a4064aa62762fc5b25079741f09f7c2945298a0f246d0219ffff03f9105adb4595bf873f31a81e0873f5aa817df5c6bc5cf8eca4d204dd1554a8e003a9771a0fd233fc6064d12a1a47d1562d204aaeb389129e493a6f40d3dd89b5370219ffff05581e0376206f0ba778b536f8b5c5571b9cf6ee4279b8082d1545b9c5dc0b90700f0447636fa009f3e6a21904cd0219f23e030e7e94b9deb0a87d402e54b695d22f7eaa2c23b5311a2603878f99a265bc42c3039590949b629980b0a3a1c7ceb756a99ce53fa00bb93e7703467426674529498803f5fd76569d3f90f27a9bbe7349e61cc837b05cd26f70bba90b20830dd67e01400385ad7a438a31440fbf03967c396b6c4a38f4cf18d8217dd5fcdc95887a13d534036ed959e1743ae41cc34259baae5586176885e7eedf1452848f99b8f3b2fb52e903531c0a07985b946a21d5645e85959fef964758bb517b4510f5f75c1b547b24b8031a568120768035ae3e86cc85016a3d7b164f231c57709261f5407ae874b78be0035dd24581b3a6eff6a27c1d1bda0f4103ac63fe641213d164b21b3917ae8ca06103cfa9cb92b8404b2ff89ebf12dacf3c1808d92facad3699eccb7f92d8eaaace9403ececb782ca4433d4b35353d5bc6e0d11011f4ccb808e4015101ffef23ca03eea03478842c8fd1fc07b3f49ff5312e5eb96db3489fc7729565cb7eaf819a223bc390394d2886a6bd4c1ca86513fc37afb2cf2b4c8efc1b763e57b0003c121865fe806030b57a81de8d9cf080e99ab8a4438378ddcff04136996dbe328890887fd1889550219ffff03cd0d005c5217cb12e36ab800ac15a726dc5c12af97c1576a0711f44eeabf9c09035828e4076ba17f2255117b0173647bae6e1fb0eb6bf599c52581c87796b2e8e103f95af63ef7228821b641fee25050ec3eae26ca13413273b664d08afa6b1a9c88032012f1505cf81ccbbfc0c8ac3cf73bc1c5326c24177921382fd2ae2560889d570219ffff03857b745e881c1e16a448a8a6a88ec6900b52fce2a4006c1f3d7c1705f6a154c103731a750fe919af9b9868a3c309c6a4b69063dc9e589e819d608d81054e58dd460391d1fba747a3ea527444299cb148c47103cb558c64180b9b6c934486c92a457203c1eb1edddde23ff7cff6f88386dcb93e011f981578c7659fb7fed43f909308510373d10fa54bb13fbdf1d6c4f719daf21382d8b469d7b841ae98f1e47b379e47c8032efda9ff5ad7fa6505151c1446188f900ad1b8cb007ffba569dd9d5a7f6f8fe403d314fdff49cf0e09e4a130243c0ce203b36868bef74bf3ad7d245cd6408fd7540219ffff0219ffff031308f0d928b87263b69484ab4aca201cb8ab02a28fe526635a901b4eeefaa6600306f4be00527e10b41fe2b12eedd1b881aeb9c6f18b79ad076594fb793118618d032a0b14c3a857b584ebd219453733de4eaf47976b6051e6c3b5069d706acb2ec8038bfd19ccfbe3a3affe19959a1b3fe252bf33229af14b2efb27a99ceb06cdf1bf03c145ef565a5744e3bb3896ae186fb1f528deed5585329048c613355769062c2f0376a4c4a57ca35cc82fa4d4d5174cc358ba832bde6105f7732148e3aef7d0b530036880bed65745ea12215175ec359d8d114d763227490c80747520d5957518244a03afffa34801200634cb79533d9ba140b0aa607fb47b8cc63ca5810a9f5fadefa60398c293a79bb8d84f293dc3d8410a6a1a3ec0265eaefba40c351e235f23bb2a5d032e5bb42447062d096b8a3b7f8a34ebb6169a284d454d64d23cca76d5a4cf257c03ca243cb23ec6830f8b485f6902501e0133a592a008ff16f3b1eca271478b54f303fec3431436435b0d574c4bf5227b6e6d9c2947609820605b49e1651dd4c136f403d995acf1d3f3bc902bfcb98068ec7c21913f902b76127171f1b39b6d956935310323951e49ff98e1d50984085208fb6b5f2292671967573b50645b903c5d1bcf070335295740343ee1f0cf0c9c1f56e11e1d1dcb18044b8ac1b14c350c3afd4ed390035e6333405d67380ce1114088df01741b749a72734a7cc26d14359de000b901bc03104687c07b8a18cc4e1ed959a5e3c6f865236ce1570f2a6f27d0e34f864011c1033d0885c3258ffc41d623f7585169158b165853b0eea9c7fd0eece866d40c6d86038212fb4b32ab4f5bd577aa6a98fbd2ad57ff02fbe67d8990cca988cf3fa11ac903b806576a94a1a5f3f6c995b2aa177f444c08479e79b0003d869c20081e7b7bcb03aa037ae3cb41108dbb2c002df382c35bd563a71cb880d58bbc11872e7e6dba9503a96a5fae238c742c1af72005adf52c67ef484c4e817c75e03bde64a9a4e9f2fd03ec2874c044c0816a18a3b2fbc104c6b02d64710cc60d1d4adc46f66451fe91f9033be5c54e04ae40871150b1f232c865c950416817cbc6300a5a11ab99ffd5b58603c00166370c79d5634f12fe3a8bcc060966014b7180a37fbeb483eaa27e187f1a03b9631d8348b96615facd9336a8a073a4069d2217e3e1f54db65a057614ecc74503c80e2003a000c114c0bd643069f2dcc237e71874604d916f1843f17152a958b403094fc1390a30fc042da903625cdae14ea175c035620f31add7a19fe984c9977e03bfa9b25965e5ac0cdb137767f38aa0c9d3702161ccad9207110a97aab9217e8f03aeeec3d0c693aca0fde65cefe5f09921e7febd676b11fe580656d136f9c4c01303ec073c8b20e77f733e82795906b7c6b16d95daffee5cf7209cd542637a2183130332a1e58441b6208701e454a4548e91f823ba7271d47d7bff3db87a1a81febbcb03045c83707dd6496598ab08e1d5790dcb805f911b6f02d5a6ff93dfb1532e8a6e0316d0fb521d6a381f5d83538808edcf366127a82ac34339cb59fb74d72c60d53503467338a099d03cb2355f9c909047dfce1bbd12efc98083890b344c3e9294d60b05581d02f1d201d4fad5ec47cbd837c7eaf05441fc860e5c25dc0b44b261c2550c024703182f8b8bcb0005581d0262c51f38c3056efddc935bc9d938225a19f9dbc50e574e719b27800404030219802005581e037c939aad32b835da688ac7df4e64e4c525aa64327b923776c07054fbd00c04470495ac9bf7455d037314c9e865efe5e911bc2bffb7aa10b8a5cd8025c9aefbf7cc0be5ec152cb03905581e0348dc1cac9a5ac0fd892bd372bd6995da525d3e5aebaa94d407fdb798b0040103f51217697e54d3e7c4d961223d0ec7a0f4962b08eb43d9e27c22df8e30b6b3e1039b55adf4498b7515df99286202bf3cb927e34392b8415c5c6346498b701b3dcd05581e03ac0bbeab561f3f0e5277cf3f809023b7528fc8b6eec6efc0d70c38ef7007011bffffffffffffffff0326d864293ab640d5742c797a7a66b01cfea8120ebc91dcb773099e5c7dfbb54303c7b0a622177d6d8b72e5aed69d7013991ad726728b2e6a7a74368d1efeeb9cad05581e03800ba801f1b71c81c3b5585a1104c67400136cf58e7e3860dc713c098007011bffffffffffffffff03eccd86db2cfd6dd6748fc120c21c9502cddbb53b3b3146639ea8368d2832b1c805581e03dc31152789b472f68284b8f7d78b2cdbfc78022fe42b8afdfe129087c0084801bad54dd6db3c0003e713dbd8280215d2cab0aa11101426d6b8f64f48ec316cbe9f68b694b351d3f80605581e03bdfbebdb807fa22fd0880865d78f82a278aaa1cf806f9ff1f670272b1007011bffffffffffffffff03335c3d1de0cb248918ab90c2067a7b69cfc0837362a6e4b83d7d52980cb02fa50219576e03570d669949b6617fecf82801acbbbf5e3ae4b07b05b120598454a72ebd79d133030b1f1e2184d3f1f40cf99078f2b1f63059e3b99180e96ea0594f8a0ea10f190703db638d73e00f265d750613e85fd92174e1e083f2a4c669206bc5fb72f10b725f03e74239a9630a9cf3a9771ba81b5f4940402b49c1e95eb591cbb834f715bf99800332344067e81c8d774c95845d956edbb3b91b9d325e11c7bffa3d63be3f82896f03998283e9520b6425d62ce0d01d87596126ec1024e694c70ca43bca28bcd658da031cd00486a7e54382e085240ab3e8fcba6d071eed474ac9a5f53241a918d8ed9703cec49f93be938ef24593ae86416c21aca5ebae78d9c2545a9855bdbb225f77e703b1b5a522ac581902828b2e232820404d5765329315b18a9a2d079351cc25bffc03cd6596574dfa960f44f98c9c329a07747848d93bd5b5801a455ee1bcda00d836038b346eb4325fe35fe9414d7a8fa9f2c7f2f4ec1754d2fd67171840131181a8eb0219ffff0361fe228565494b7f62ba2b905a25e128ff3439b284b16cd62ecd1fb03bf7f2ab032f4da2aefca7d096e810b3a2699c9bb21040934f6f3506fe7f189d612a5f48a403dabc75ed4583654ff816a6519e88ee2931bde51cf1cbdb51aa40cc986db0072d03c2d2f3477881852729e58014ac9c7a5d02ee063f6407b8edd863d229108dac5f039972929b3d2fac4f472743e736153995b24e75cf800292f740ee9188a96f6ded03c3f10f21023e4710ba7990103950ee4e65442cf312ff98da82efc8693c5334cd03fcb03ea64be50cd56bbec8f597c7964a447b9f9b08933a1239fad9bdd0d0db6e0344c54a59679f38ae2d764a1b0c46635eac8bcd861702224ed9ee1761080f0de60219ffff031d7d3b2a3b28c0f36abc97fe474078d4678c85c99999e57f8893f081bb7ffc2f036606e3c9e35a3ed5b32480df702ea47181ae7ae63deff2074fdd126d9a3972f1035ba31a621952d33246930a59816b02a57d9c14bba9031cfca8c8f95b5446a3cb0219ffff03ab44a6c7effc39b796fef4c397e4a92ba15d969dd1d25cf05e427fc436d5223a03d4c77f28b566cdd450bdc8df019ac02c3c086e2af70ba725c3be5fcc95a5cc9a036bfa083eb98bdf5b7a68c87c7f682b08d7e7f8d69395bb048eec051118d5f02a0219ffff03485e80cef1dbcda59956af2ece709e6d370855fbae5367f0d828e2cf50561c35036b93ba20003cad57f5d7bc6df8e57be6f54910c2704f42d09bdeab57ee842e8603f81ae5336ed121e88773bc2a82387688715949a69aa350bdd17bf36a281a9b5a03c2097e9464c2f1b55cc7c4fa1a8c2ce744b8eb24d483a07419c6327c2b5fabfe036b8e50807a87d5833f18e08cc8b90fa97d41c794d2a7678684c485a46019821a037165976cd6ea9db3373793908edafc272e9160a97669fd019aa34eed2ad9a6e503ec5693baf56a1eb0b0fcc465a51593fd0335ab57971244848bd8ce86db989606037a1ef69b28bdb9bece1e46cf7e8d810fd2690d9107a2e29c0ed2ccffc5159f9e033380aab563e76828f8383778c6fa626dc3d7076639f786ce775ea164b0891b8b0304008cd0f28eeef0d6fbf7a272a03bb0dbb45628ff2e12a722fab2192a0dd2900390bd52c0e2c357c5e4614ea0b76540ceb3ab37a6e726f97a0509951322eb374e0317779665bc90dd485b49e6d722d90123d14d314d931095de67c7c62306b31c92032bc4bc916dfdda20ea7298c40c1daf5af8dab10af5308e0a5e90943562540c9e03b1005a462f95c72e79c18873caf530843201108dad8b2a8dcbf87f4bef212d71038b602610a24517f54f9338f99c673230d9c972b9bd7b5dd8a3518c3f7b2874e003a862b75966c709baa7b556abdfbe63a04f8dc47fd884d7a4b5a7562f4dc0d59c03387334c9d82bcdeba0a473ef00ae0861e0d2429f6cbefd9c324e55ae3d0fc48b03b287134bb4f3e405b64e4de1f1e599f58b3cf60686d71bbe017f463717b64ffe034ca492870c5c0c6b29ebeb075759778420f3935c8f9ada815b020bd08cda727e036f21bb8d3807e0652040d2b6d565c5652b514f26c40d241d0a5451d9f65071d903daf5e1ca7b717cfbcd4eeddb0ced4ffb14d988ffb27f26f7837091705615c079035e37bb3bae7852dd2b51a0109dc736d4124d473c3264b2267f2363ae8f3453fc0350a52560a8cf07c5632ab59e477589227ab7d401c787d8a7b518672364edcc4d0391e364eaa79af9b97c4a372382935ebc717bef221f2072d22c99c73ee0f0ece0038f0116ababad182976f7df04ed616f365ef0ea7594de53d803be71a46961610703f25eedf176886f16121d91272e3e4831ff671e5c5e5f4c41b348f1bd8ae4f344032eac01c4da8f94f3862a081ab99d820884d7984b52f3eb7690d70f543707596a030804ca0438a6f0d8ea241a99c62a2d323cb2f09ad0d5bab57c71b5072b28436f03ed9b9bc0b8fd9378a33249cda70b86caa98d194c9429e6755b159ea95cac30460331462ea0bb6c0ebd957e23dc74227465923e40998e87582ac6f831944223a38f033c66a651794508b76ecd212fbb82702032cb83543d20a968a9e168b681c2836203dfd760462703fe5382ef5de0888e3a2cf082a7f2f1af468b365b2dd5026135cc03f7fc3379fdeb581be1ffa09193e0d638d27b58b827d3cc0bb615617b0ddf7da303ed30f7675a49efd5fdffbd786d93cbd39ed2e672279525eb2a0f033a172b03c103820f9d9286d73e0364cd01ffbaba5c7a70670a3bf803ffbe6ea95a5e9f817e73035c44fb4f75ff207455ebb37ee3ba5c84a61cb0b41a1d2ddd11ac0c2d3ccf6bc80343b03412e798ed51a67f96ff5327e10f7fa1f5ad6a82ba26e3b13cb20fa8cd3d039596ab3545c0ca49e44d1fdd08a9b3e20ba7cdb403a967abca6c70a09ea3060a039f9825848e4e84105e711fc864dbffe4b6d94cf28cd0d9324718d0b79e04f84803527215f58f40903a68296e3ee96ae0eef922b1f065f8c4560c052cac0768933b05581e03d93aac1412f22d76bbad5dd38f89f405117e29eac41d7620b52eb834700c0245b82b46260005581e03ec2e80e2d2f87d3456c8ba30821592d6e9e90731365fa27eeb227bea70040105581e0360a790a99ad83fbc7ef78a36b399459417f9303aea86115ac63ac30850040205581e03f97dfbf09c53f062c580273f4511c81e434436f3a8992e39f5596ab3d0084703a08a1e097800045959ae6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033005821028a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b410105581e03a2f4a4cbb1b67aa687f36aa61d0631958879d58861d3dea13daecfa6f00f014801f4eec0c4f12e1d1959ae030d8329487da35d8659e539b873e49a33cf3313fa1c19bd69d0a3e977aabaab0c05581e035547497eab9a72da4aa1aab6d3969904b40c60b1e87ea3c2e5e811fca0040405581e03c5d0f11268cd65335d623dd7e5e2bb1dcc90db4e6689bd66bbbcda3a40040205581e03854a5402ee10b25856de85f60ad0442f88de4cf0cf694b708a3c9b50b0040205581e03e3f6dc65e4447e6a86ddb7c9c96877b095b09b5634d01e3566c83a77e00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03fd36dedfa3a6ad18222ea91870b9d2e2da28a043b5c8e10dc17e88ef1007011bffffffffffffffff0219b9f303004ed5e0a028dc92526454d9335bb5dae020ec9903b913a045df183f0329206e03e7c3087443e5e9feed69d364c776586eaaef2f68f9b0a583f0db0e3960aa17ef0219ffff03b41248f3afdd06f48051fc46980f0999f11032e25733fae88e7561d5bedb1093037e6c55ba457ee2f7ee4bb127e0e9cfb8c4123164cbc64c89e00955d1d50438ea03d9f4e63bafa0ee5f26ac79a16b4b4fdf5fff63da58380ef50a5d84d06ca8b92a03a40580b92d1ce7a947fcd421d326434e8f9a47a9546e632a97da9006a5a684850346528df2274a64a35b7517ed7e029e5f93ee78d0e6d2cd478300cc84b7a0c7b20219ffff0317b967b026d8c4abc6945b59aa44804e5612490930afeb3a837f7703884a5b990219ffff0389205ea5324c1d8657227505f4ca96f163b2606efdd6fc1c25f85ad19b762c460347c5c998484b59f0e66c96652f748798e0a6b6ac3c513ec5f09fca5d657aaef60346c41374f2cc0a265d644298368d5ae6b3c817e9093f47fb89c1d9122f5fc6fc03ea89d770579f56da67b04ac134b547b75676827cf6b76df4c261a67a6fae58a0037929bd20eba071d1dae0f3ae41100c5237b00ed28f9871eca0fa2fec5053d0a303ebd91b6746bfec9bdb08474e66198d35de83835a1cc5720bda3d749a3a6e50d303ce2e6409405ab6bf814e28acec3047222d678b294c726d2903cb9939fc7c43aa03f4ecc5e9c12c36637f95afa62893adfdc74a1c74d10821282bb9c6b8f5c5730a03ab39e8bb1c3223cdd9b70824bad479158ef58667369c6b7d5d597c89d405ab38031c740021410a2a43f2b9714a9580fb585bb155849f563a5bb272bcde81d73e27038fc8a313f480a5aeedb38dae73f54b2d6696d3098f395667a80903ce62a10547030db4629e2cb8606b89c5183ddd444a1e8e8c6dd8605ca37b16eb3e379e291ce103bfc2576f1b08e02b4455b90365494f9fcd361e1caa8ce5ae1eabea259d8b24ec03d0ae58f9fb02c2c13ef21b8c4994a0dc3c7ba269188245aeb61b9dd1d9b493af0383a8922c87bc088286ea99124ed414b52fc57386d337d44b4e09c974b6cc138203307a5ed7bb084a25464defa2e35819c06935a03e30e0059604d94895c6c6d01803336bac4e63db1c191a40357a73106395330fcb17743911318d930789889b2da9038397311e0e8dc986a94c743c446cb858af40276bcaf0f37358e59361233612be037f55a24b09b084899b50d603a46c62b4bf0d06f8e84aa46bfd03e1dd898f136103b995cc54ce52c23097b7c202fba8ecdbade30b3fb2ae99fb4aef023b9618fae903c0ef990598a83a1fee885c5fe0920370739696da080da10bc6d1db4df9da485a035db822cf43de10d718eac106d2206052c7f41b3bfad654ed4521ca365f229f63033ca6a3047a9a6590bb897c42cd848a75872fd240792752b3ddbb01042a8fb3b803dfed9334aad5fce9fb25825ff01fcade7578a14ebed5235e6db40c3f92f114630383a89891cad25c00f652b9cd1a56f4cc1293365b4f9624d752ee3a9718a92c44039edc67bcdab529378903d2b46bb38e3d324c0f2aa00acf379988a20dc00436c90311d68532cf0a2d79048c44535ee62eab3e399a0f47219fbd274cc5eda1fc05a5036af2cf2495e49fa4b29878ef91f917ac6b73324141db61d3b582f51e5daf27220358c22e5c3db972c028efe0cb143a92ce801067882727f81796c85663aa5345da03b7ce28040a76afc4eb24f41abe3cac5ee61606417bb1081fa219f5f0384ef64703204604c80b55036deeb8539164049a258428808280be21276d85bb385af8bac60399e16055abefeaa66961cddae475f6ebc75797365a9a163da022b9dea8e345210313323afe34d5a7a7305e25b0b946549cf5f1c13a75e8524533602fb9df6e7dba039d602f452227f83426b0370171caada49408d71467b181a335ce565e1c59bda00386645c304aff70b12c503395ea59f87ccab97a025073028e6ba658790ae87aa603b670d2db95352464bf101aeb502d60216a0863d5a23caa0b4af1be44e317b0d0033f610834043be57c3c226cc134bf67cd1e859061dcb40c54bfbb54e3bbb2ec5c03e300efdf76b150c1ed4fb63faff11276dd99de69de5c346909a4449d8f4326f703b94b1545e2456d71f7dc933c7791e90b6c91719ad73c90e78c5fa0a3746fef7a036467684a96fd041db4d34f9d182911a24c5f4a8201744a745b4f61840df4c33a03af34b3f1cbb8785f3fb685492ac643103326752c23b49633e133a026ec009df7039b2554a5e67ca845b91bad27180f77997b107bcd6338f7e5227354e9b125ad5103f4a2627e1136d63fd1250655fd32efaf256fc847769939d0e25fecd7b21fd1fb037b50f503df9ba516cf9b239d3bf0750612f0f5289bacc842a81ae284e605b09603ade84d9269b4a26b243d00b71d5334065f61bef42b4f85e4a0836999f82d5bf303d81597f66d4bfa4898bce568ff07b7b8fbfb766e2d8e4b0d33464d79c779e6410357b167d35071fa4302eb90e112aeaedf2831affcaf58bf9e70f1847da8e1e9ab045908b360806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122012bb4f564f73959a03513dc74fc3c6e40e8386e6f02c16b78d6db00ce0aa16af64736f6c634300080900330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305437aab97476ba8dc785476611006fd5dda4eed66b005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810546e38d4999fdb6fac24973e508cde9397e369c5af005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054241423640f5bfd019f885e9b6b544145f96bd6cc0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60485bf1c66e1afda33a0058210328a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c604101021948a405581d02beea506e63d9311b0eb23c6ed86e7ddc2248d7bbe9d3d02bc17219010f01485bf1c66e1afda33a1908b305581d022f5dce6d993107338134f4048a0ef5d2430bef1a1a61f0a9ab5c5fa60c01450572bfaa000219a0000334160b2b3414a1b448458100361c64bdccf5936cc939e8b2d592200ed19105df03da3cc90ef62d3ad9e255dff552fa7525c31d06eb64d5df5045e56a7bcd3538fe05581e037013a88a4a324f330a934552003c0ea9bf3bbae161c26003b4f849c0800c024701383b84a9a17005581e038a68ca0de222757ad180dfe2910996104dbdf45e510d8b7f8ce0c729700c01470cc8aa441de58003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0334748c9b864c1a7503fc03dd1016d10f8275d447ebcd45d257d242560007011bffffffffffffffff05581e0349a7d5dc763a3e1a8fff885943cd752edfd2814de2560f113870c7f4400c03480c2d8c1449f7162e02191ce403fbe1597ceb96b7ed1b269eac4c07be056a295bce4e9c2caa7271fad83a32e2a60219ffff03727bf3b4dd3a633dc8da7920ec3d84d9b65965b1b399ec25abf0261bae5ae2be0219ffff03778cb58de9c9e16ba779425c3943465132360b4a4ad267190833c163c264ea9203435643f7cd69d277d5e6af9c58e0a6b9b3b7b59e02779dd284787660ba37bd430219ffff030d2a7abdb67e17b088ff734ce4d43884ee91e36f4ecdddae3bfd44e11149388b037b4f153c2e7587536e881cf639b5e1f581c5785455a73d66b68517a8715f573003a1716c3a8cd6ebf8cc37152f4681cfc3ce1a86149c5b94a1ba0a66073ff2efef038c233d15cf1d000813aafadc8015dc63fd3ef9370b23f3323fddc5fe1d85b6350302e4c3c162f48c01e87fbe2d3987aa6bc29c69f01cdea3d9714a6216250453df03f83b8ab469cd113fe76e672e7cec1ba694d6e582f97183df7bc1183fdded560803039eadab95dad9e5ca5c336ea06d3f21ead0b66eb839e9de66a3233ed17c7812034579a05de87ce0e1c307249c0cc2cb30c426c52b9240d273eee54a6940653114030851a6ec49bf145816f6f6f1d4812b1e5d09f0c922ca3760991006ef126ce20b03a10f778a2cf0fc278ab2e38b5c6ce251d1e57258ffb8991e1c75ca9458e9e9450350504e9bbc2ac6a805d9e09f437beeda7bb50a2c098f0964eb256659b8014a6803342bac3cc62e964293f3243ce1b4a7f6e34f96c245e8a1e568ec06c004fb9d4903563bf99b85307d6ce12a9f69ff3b4bb4a38665137e4945454653d12b7c0fc55303d9641deacb6a6420c240e478744629c162f7b9f0ca6a3600a11051e96243b00c035e95b19035cbbb5a1b5342911a34877f0fe01aad665e12c2048bc72cc582c4320340cbf8987b5096e7c1463d4bcf8e4f3b44c5b19f9bc12f24b0ac21335e1cd8c403d9953f549f1fd0ae669d0cce59d8e993cb41ba9ccc9153ef455af1404c892a9003a8fba45fd3ceb1bd0b6645b5c06eeb4443fe235bdf46c5db66ac1a5c1c0f1635036df7e26ca8555bece2da90a0b8751b950fbddbf964e1639a1e925b1f06b293d103cc032fcfbd5903281c0a78424f91ae5426f4d33a1d8609aad82f1204650cdb2b03cbc4190d6e1aaef4c99b61be443c097ac747c6f4649807cb0c4df8af1038d18503da416ce04bb179a9947664402f09b534e1f78f3ebb82a703af83a7f4a843a67d03f8aa7eb591331289478e75db9a7fc26d7c9c0aa3f469d278743caa77cfb45bae03f347c3f96613b4748f22b184ccf8b2c9d48413caad12fbf4ed344fc880611a8a0329b6a625f16a5bcb32dc749556b3da6b03484b672772eea0e4dcbb7623e758f203b3c7c4d367f5d67736c508f593b97ed1cc61ee85cdf48eb8ca1f9b083026369503f38f37e02247cd61511fd0a9d0c9a5c42f5482191736439e8b158a2d38c78e5f03ab8b43e48b91436299da5b7886067e0eb5665ecee5411cc497d917129884e57c0300553ff97545295fb3a8189b45b28d4c7dc3b1e10eb77dad114e60e57ef52ee6035c77dc00414d7a55dff0b8b2f5a12f742569399a65aad89513d2462bb9d4c8bc0363ddd55ffa8b60d73ce58bced0bf8efef5185b429736454bdc5f967f8dc6a020036b906ab0a48ab72b9e8656e7b97320b48088416609a5e3c2a4e847c966de3a8f03aea92e3a676e1fb7457be211c5fe30b08c966ffc0dea32b57a65e6413668509103b1f5672056f047227b4a2d85cb7ae355825a9617c0be199dd7099e1a1e6e11fb03e1d684d7844ae567733cc415dbf60fe226247f87006ea72c851c4d107c6c3d4203ae0825c05b0fbdafe6731bc99af0d55b77abcc89f9c2d8511f8a2367f53428d7036f3566fa201925e166834b18e4a3f79f2496a09383e37e81cbf1e92a74a1c3e7036423a8b9f7b7f9ab771e454d7300e1de741594a618a9b261c97c1a8a6a886d5003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03d812e3010622ba164816a2dedab5a759eb50eac438dbf9d3ed2dd769d007011bffffffffffffffff05581e031b3043a1c550af053e256be619432ab8ff29bcb0dc040337a84add5020040404591a4d608060405234801561001057600080fd5b50600436106100ff5760003560e01c80637afac32211610097578063cdc73d5111610066578063cdc73d511461032a578063d02641a014610332578063f2fde38b146103d4578063ffdb4b37146103e757600080fd5b80637afac322146102a65780638da5cb5b146102b9578063a6c94a73146102e1578063bfcd45661461031557600080fd5b80634ab35b0b116100d35780634ab35b0b146101a8578063514e8cff146101e857806352877af01461028b57806379ba50971461029e57600080fd5b806241e5be14610104578063181f5a771461012a5780633937306f1461017357806345ac924d14610188575b600080fd5b6101176101123660046113bd565b61042f565b6040519081526020015b60405180910390f35b6101666040518060400160405280601381526020017f5072696365526567697374727920312e322e300000000000000000000000000081525081565b60405161012191906113f9565b610186610181366004611465565b61049b565b005b61019b6101963660046114a0565b6107bf565b6040516101219190611515565b6101bb6101b6366004611590565b610893565b6040517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091168152602001610121565b61027e6101f63660046115c3565b60408051808201909152600080825260208201525067ffffffffffffffff166000908152600260209081526040918290208251808401909352547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811683527c0100000000000000000000000000000000000000000000000000000000900463ffffffff169082015290565b60405161012191906115de565b610186610299366004611731565b61089e565b6101866108b4565b6101866102b4366004611731565b6109b6565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610121565b60405163ffffffff7f0000000000000000000000000000000000000000000000000000000000015f90168152602001610121565b61031d6109c8565b6040516101219190611795565b61031d6109d9565b61027e610340366004611590565b60408051808201909152600080825260208201525073ffffffffffffffffffffffffffffffffffffffff166000908152600360209081526040918290208251808401909352547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811683527c0100000000000000000000000000000000000000000000000000000000900463ffffffff169082015290565b6101866103e2366004611590565b6109e5565b6103fa6103f53660046117ef565b6109f9565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff938416815292909116602083015201610121565b600061043a82610b84565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661046185610b84565b610489907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1685611851565b6104939190611868565b949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633148015906104cb57506104c9600433610d48565b155b15610502576040517f46f0815400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061050e82806118a3565b9050905060005b8181101561066057600061052984806118a3565b838181106105395761053961190b565b90506040020180360381019061054f9190611966565b604080518082018252602080840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116845263ffffffff42818116858701908152885173ffffffffffffffffffffffffffffffffffffffff9081166000908152600390975295889020965190519092167c010000000000000000000000000000000000000000000000000000000002919092161790935584519051935194955016927f52f50aa6d1a95a4595361ecf953d095f125d442e4673716dede699e049de148a926106479290917bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a250610659816119a3565b9050610515565b50600061067060208401846118a3565b9050905060005b818110156107b957600061068e60208601866118a3565b8381811061069e5761069e61190b565b9050604002018036038101906106b491906119db565b604080518082018252602080840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116845263ffffffff42818116858701908152885167ffffffffffffffff9081166000908152600290975295889020965190519092167c010000000000000000000000000000000000000000000000000000000002919092161790935584519051935194955016927fdd84a3fa9ef9409f550d54d6affec7e9c480c878c6ab27b78912a03e1b371c6e926107a09290917bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a2506107b2816119a3565b9050610677565b50505050565b60608160008167ffffffffffffffff8111156107dd576107dd611619565b60405190808252806020026020018201604052801561082257816020015b60408051808201909152600080825260208201528152602001906001900390816107fb5790505b50905060005b828110156108885761085a8686838181106108455761084561190b565b90506020020160208101906103409190611590565b82828151811061086c5761086c61190b565b602002602001018190525080610881906119a3565b9050610828565b509150505b92915050565b600061088d82610b84565b6108a6610d7a565b6108b08282610dfd565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff16331461093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e65720000000000000000000060448201526064015b60405180910390fd5b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6109be610d7a565b6108b08282610f59565b60606109d460046110b0565b905090565b60606109d460066110b0565b6109ed610d7a565b6109f6816110bd565b50565b67ffffffffffffffff811660009081526002602090815260408083208151808301909252547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811682527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1691810182905282918203610ab1576040517f2e59db3a00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff85166004820152602401610931565b6000816020015163ffffffff1642610ac991906119fe565b90507f0000000000000000000000000000000000000000000000000000000000015f9063ffffffff16811115610b6a576040517ff08bcb3e00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8616600482015263ffffffff7f0000000000000000000000000000000000000000000000000000000000015f9016602482015260448101829052606401610931565b610b7386610b84565b9151919350909150505b9250929050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602090815260408083208151808301909252547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811682527c0100000000000000000000000000000000000000000000000000000000900463ffffffff16918101829052901580610c2c575080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16155b15610c7b576040517f06439c6b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610931565b6000816020015163ffffffff1642610c9391906119fe565b90507f0000000000000000000000000000000000000000000000000000000000015f9063ffffffff16811115610d40576040517fc65fdfca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015263ffffffff7f0000000000000000000000000000000000000000000000000000000000015f9016602482015260448101829052606401610931565b505192915050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415155b9392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610dfb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610931565b565b60005b8251811015610ea857610e36838281518110610e1e57610e1e61190b565b602002602001015160046111b290919063ffffffff16565b15610e9857828181518110610e4d57610e4d61190b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f34a02290b7920078c19f58e94b78c77eb9cc10195b20676e19bd3b82085893b860405160405180910390a25b610ea1816119a3565b9050610e00565b5060005b8151811015610f5457610ee2828281518110610eca57610eca61190b565b602002602001015160046111d490919063ffffffff16565b15610f4457818181518110610ef957610ef961190b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff167fff7dbb85c77ca68ca1f894d6498570e3d5095cd19466f07ee8d222b337e4068c60405160405180910390a25b610f4d816119a3565b9050610eac565b505050565b60005b825181101561100457610f92838281518110610f7a57610f7a61190b565b602002602001015160066111b290919063ffffffff16565b15610ff457828181518110610fa957610fa961190b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff167fdf1b1bd32a69711488d71554706bb130b1fc63a5fa1a2cd85e8440f84065ba2360405160405180910390a25b610ffd816119a3565b9050610f5c565b5060005b8151811015610f545761103e8282815181106110265761102661190b565b602002602001015160066111d490919063ffffffff16565b156110a0578181815181106110555761105561190b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f1795838dc8ab2ffc5f431a1729a6afa0b587f982f7b2be0b9d7187a1ef547f9160405160405180910390a25b6110a9816119a3565b9050611008565b60606000610d73836111f6565b3373ffffffffffffffffffffffffffffffffffffffff82160361113c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610931565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6000610d738373ffffffffffffffffffffffffffffffffffffffff8416611252565b6000610d738373ffffffffffffffffffffffffffffffffffffffff84166112a1565b60608160000180548060200260200160405190810160405280929190818152602001828054801561124657602002820191906000526020600020905b815481526020019060010190808311611232575b50505050509050919050565b60008181526001830160205260408120546112995750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561088d565b50600061088d565b6000818152600183016020526040812054801561138a5760006112c56001836119fe565b85549091506000906112d9906001906119fe565b905081811461133e5760008660000182815481106112f9576112f961190b565b906000526020600020015490508087600001848154811061131c5761131c61190b565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061134f5761134f611a11565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061088d565b600091505061088d565b803573ffffffffffffffffffffffffffffffffffffffff811681146113b857600080fd5b919050565b6000806000606084860312156113d257600080fd5b6113db84611394565b9250602084013591506113f060408501611394565b90509250925092565b600060208083528351808285015260005b818110156114265785810183015185820160400152820161140a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561147757600080fd5b813567ffffffffffffffff81111561148e57600080fd5b820160408185031215610d7357600080fd5b600080602083850312156114b357600080fd5b823567ffffffffffffffff808211156114cb57600080fd5b818501915085601f8301126114df57600080fd5b8135818111156114ee57600080fd5b8660208260051b850101111561150357600080fd5b60209290920196919550909350505050565b602080825282518282018190526000919060409081850190868401855b828110156115835761157384835180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16825260209081015163ffffffff16910152565b9284019290850190600101611532565b5091979650505050505050565b6000602082840312156115a257600080fd5b610d7382611394565b803567ffffffffffffffff811681146113b857600080fd5b6000602082840312156115d557600080fd5b610d73826115ab565b81517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815260208083015163ffffffff16908201526040810161088d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561166b5761166b611619565b60405290565b600082601f83011261168257600080fd5b8135602067ffffffffffffffff8083111561169f5761169f611619565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156116e2576116e2611619565b60405293845285810183019383810192508785111561170057600080fd5b83870191505b848210156117265761171782611394565b83529183019190830190611706565b979650505050505050565b6000806040838503121561174457600080fd5b823567ffffffffffffffff8082111561175c57600080fd5b61176886838701611671565b9350602085013591508082111561177e57600080fd5b5061178b85828601611671565b9150509250929050565b6020808252825182820181905260009190848201906040850190845b818110156117e357835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016117b1565b50909695505050505050565b6000806040838503121561180257600080fd5b61180b83611394565b9150611819602084016115ab565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761088d5761088d611822565b60008261189e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126118d857600080fd5b83018035915067ffffffffffffffff8211156118f357600080fd5b6020019150600681901b3603821315610b7d57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146113b857600080fd5b60006040828403121561197857600080fd5b611980611648565b61198983611394565b81526119976020840161193a565b60208201529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119d4576119d4611822565b5060010190565b6000604082840312156119ed57600080fd5b6119f5611648565b611989836115ab565b8181038181111561088d5761088d611822565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea164736f6c6343000813000a03935bd5a14dbaf3d26b411ad02cb55aaa8491814518432e4fa661ca35e901f29203861a135246a388b7d3ddebe4841ce692f5451f50178bf488ae17fc9ab3483d3d0058200204ae79b4a980edc8e74d7c6d1ce9f1514722a751812b73a6cd99019fb3943b58206687d70f00000000000000000000000000000000000000000e92596fd629000000582002e9bdcef3b3019f94b0cea6127868adc2ce4a78525193940d17a2928c12118e58206687d4f30000000000000000000000000000000000000000a353ab4fb06df40000582002f3e121adfd5dc9393bb73b626ae39686ff223c829b477e219da3c3b9d8de9358206687d68b00000000000000000000000000000000000000000000009c3f12bef400582002e1e719fdb308fa3116a0dd782381d563cc9d9e2dcb8308e8ff2e72f6f3a22758206687d4f3000000000000000000000000000000000000000006f05b59d3b2000000581f02c9108fa2db6ff3aef3c2a6e3673c089806313e573c324c3f5cd04751542158206687da9300000000000000000055a9a1ace700000000000000000000125cbd5500581f025e17eb68f6edffaa5df9a89604beea6b872e9a488575ba625fa777db2fa558206687cf83000000000000000000000000000000000000000001cdda4faccd000002190220014102005820024580ce1885c7c21105acf74a87dd53c15813869da4e78b60d520906a57c12458206687862700000000000000000000000000000000000000e5178801b140c80000021982b50058200259dea19c5d057ad973338bcfa9e918cb85163265a7a6d4298465c2bfad2c3758206687d92b000000000000000000000000000000000000000000d529ae9e860000005820023ad6178b2501f56ed75acb9e3be25fa64dc5d1c78b6fb9119cbab79cb157ce5476264869a3ebf51a59fca5aba84ee2867c7f190e00582002106e22f36355dc402726f5faae0376fb9f7f583564157ae822e05373cbe48a582065944db700000000000000000000000000000000000000000de0b6b3a764000000582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305444835bbba9d40deda9b64858095ecfb2693c9449005820031837e5dabc11f8d39d0299ca330538b2be0939d875569af76cabc6073865305820668741ff00000000000000000000000000000000000000000429d069189e000002184103988fe2212ac3282ab11119374984a08d03830b1408a9e47e246aa233ab2ae39e01410000582002d73d0e5b51dc943e2bca46cb9e3ea6d287eb06dcfe1c0fdafcb56a08f6371b4109005820027f7dbcdbf52ec672728bbebd1528850a9c9e1ef9a0994ac644d7ce8b416cf054118a9389960f86390a4f14ce4c95d6ff076c6bfc0058200221d15d21557d384dbf8e1eefe7520fa7effb5f1b81fd58fd585a73918e628a41050219f382035ce7ab74a305c21bdb4d4d0c4bf195bbb372042135666735c2bdde3867e6ddc6005820025d1087a265de75abc55579557f00cdbab73e5ae3953c584a395dab344ecd1a542aa101bf99caef7fc1355d4c493a1fe187a007ce0058200233ed62d699b92c2109a7130efd4c12c3bbf6714e4e9fb667e49026f26644f45820668794eb0000000000000000000000000000000000000000016345785d8a00000058200305c2c63765633ac2e55d124d000423bce8f5dc21bbdf2f0e301a6e1d3d8e8058206687d32b000000000000000000000000000000000000000270801d946c94000000582003a690d7dbfdf4f8bb1efd78528f9acb50d6ef562729a6b4d05dd4497e260540410a021400582002868bf5a0536715188d4f85e721824029c56fdadf734e26644b007f29e2ae66543cb2a81bb8a188c5353cdfa9994ed8666556fc53005820025d6d85d11bc00b3dc898dfabbb9be1900e84babacf460ddd97669d8ed57adf5820668737bb00000000000000000000000000000000000000a57c07695dfc310000021922130058200216f299714a573d6e78d25624dffabecfce26ca9d6155c701bedce3a10f3ef9410200582002fe6dc3014a1238c174ff1ebd1811916dc72d0f8abed294370aa9abcb1e261358206687c6b3000000000000000000000000000000000000000000000079efec8a9700582002b07eef5d7da0828b8c75d98920e7fce227da6b2cba71b47519700a030b909258206687321b00000000000000000000000000000006f125563f59f382da7000000002194500031c446593393e603967b9579ac217570b7774ef12a0c2d9c4c6fceaff972d204703a1486baa01c076e464a955b1cd0487a8d6a42f7eb0e33909a0b08c222a1cf7e503ad8fc5fba2838642f139f99d1c49f34300225beca50e665020bdab5a80fc330203ba7760b23824049b6eac676b02462292fad754bf8730b3beb2a3e915e466c0cb032293ac33674f1dabb0039de08720b891a46370b4e47a25480d9ab51d2aef048003e5b56619188cfc1ee28539026c32530e7aff2dd796dcbc5554b854cb64ae7951034bf0e34abbd4d967f259884d215d524bf37f0bf8de8332f2dfec96129c3cc95b03818587f0296b27247ca321cd6c4bb8c34a87fb4c6d4dc76ad5cd83ed7eb63138036e13855896874233e171e9931ae403278b1be2b0dd0e20412a0ab7afe06e40b10326e3779ce3730569be50da2df591aa27fe9ec75782c28e166787eba6915d21f90219ffff05581e03a7531461868e0057b72ddbb825a04cd313e6937d14a2a73bd800662d600701191a4d03f74e3ef5acd3741f5d4e770e8f0e6689bca9ad4433b09c27de755e5443b928e103af6bdd458b4e2524cf15aba9ceda5cfc719d739dcabee1376821117d4a23d02205581e03ae0e78dd8345e81dcea10af7785e9f246507693084983923839c8142f0040405581e0394f6dd0a25b85c8685343fb021afc82cd4f52a0c96b383c626162427700c0346a2405b128110030d2f6e378a06961a5037c0f6df86b0239478f613b5f1808eb436d2a80ac236950219f55e03b07919e5c9d7ade1614bcf18a8bc7135de1295e7fb608bd5337a05d92962d5dc0314af947717037d6764d1b0fd1d148679fb2258ad3856f805b61d1348d1fbc10a03a5f21526836c25d813e9a30ee2f5c2a34bdd1e9770b6c4f244418abf93f8d9f00219ffff03cb87dfd87ff1ad169dced570908fa199a3024da92d5f0d4a4e726c8e1c6c0f2f03398024ddb237f0b3de8be164f283b932f7c26b47264f6ea9bb47ba0de2870b3c03b04748bd1aa19e255d2944b58a592da1713c61130e0cf93783f84699a2f0bdbc03841216a65252839fc456f843edd5d1c12c56e956d27ecb626482506383135dbe03df537038e16f2cddb5b12b93186eb6fc37cb512955e6ebbb99cd861a025fdece0323079b744c0e0514a905ca5d03acc73afc38da6460d74069615b3a4c59181ef803f18645dc3c51c4860e7326c73dae58e28c888fa6486e8f0fa5746a08dc92ecd50219ffff03ec9b4ec679fc30cef44a0edf4f61f233a38bc97b54e1b22e1f359474983359410219ffff03088f3d2c46ad055998876df727ea7723353fa930e9bfec96ce2321967ef15d0a035a7a241ecd8d2c2bb00329256ef24881fae87665da90d90f17927ef5242f8b6c0398250d5a2e225567b277a1e35b16c130c5835bf97d6dc910fd9eabfee83200db0219ffff0376db3f7d41a536eb5a9773a0c3aa374f189e081c474d570c25a88247f086a6680338f5af17a55cb3360cfb2cb1b9bbf97ad7c68e1d906d7a3da6e02785f7f2eb2a03ee4bb9aea49317c5f201ae752e00712655faa4fed719f41940c4c549f26c659103f2815e4ff3d0747b07967842dc4e155155e8bd0ad68d6e28e7ed5897ef192bb00300bb9dbdc81af93cbd41455d287de1fb7288d166a3c9502f602a2523a3da958303c813eac5876f40d8028ddfb1975a0c76f82f6e10a61e7cd04595944798014f350388a50e78ff0477f44e5b4505d6cd33b544377d3bbba234ce1b39da4c8c9d183703c90b30d3e79f54b70910b6851fa88636011adc2160cf09addbd5ad607f7343090309cc7cd471d39b18337e89b0c6d4bc34364f6c3e82492835e62127580f1c6204031c68554f1815021dbc21b0b8bdfde859e378812cb2cd9fc79c609a657d049da6030975f7f33bde5fb5b1b306e5ab1316b0c87dcf14d14d56090243191d0f1cd77f0364574d16712aa8c2f49703c84ec3a572247a64c74a3f85d2d862c7d70b360cd5038ed8b0245370a9154cae6aaa6d1a15824ec39ff74c29294a385d77fb34f6101503edef7b2b6db26fa53d6fdddd5a8f5a0ab7784737cd56d4836fae6de4b201937a0316da90250826007592d2c432eed0c45d5cbdf1bec39185abadb45fcce68c263c03a0e0f28eeb6631047f2f772ed1ea7dbea90043afabeba60f2ac3353eb073e27f034c23c7c94f05b7c0c6f5abd1ba535c4a2c48123bfd8ba573432d7ba96f7a986b03f584cc697fae152eba89845b7eebc31ff03484903673918eae5cb2606c7048bf03dd46a0c92d858f60116f7a372a76ded1bfa340d584d113ac138f0a243831ab3103d2a4172c374ef671cd718f72cb2838395f606a9e0fcbab9bab28a52cb6a9f4ae033482e2eac2d3d7052b398240cd71693a9464a27f287cdaafdcc63f759945ecf903bb5635d738c15c4708fcbba813e9c70ae0a88a7f7fcbacc380e6183e424d5727031c901ac455661c84a4d191649dd1390e5e6c25587395b40c474a47b70e284325037e3a397c936ffe42f51a27954c010d6e8229f0d445bc6ba2baf78b939f14d68103f303b80a4e0a4786af042d2930961ebee524a3681bd4153a62d94b0af5374931035d2887bac6f7a9e0f74fa3b55ef3142701a51e6979424131ca00f7e8f69f3228032f2cb0442398363bfc558d921856fea30af6175f31b2a1ed43871bffe02164d7033afbd91f0211b32d88ffba5745f44fc0de44caf2f469fa503f6e9bbec6f903c303e4f9a650367211021d309db8d88717d63844323f0d74885cc8266f90a6c43d5c05581e03cd11ad7cd49560fa76a22dd39a41d46b4140fa916925cc659ec29057000c01470326099e8e8abb03b5d9954967f2aa4c5f54b534dcc7bae752e8507a46cd8489304fca5a6051757a0313e88664f88f7ffb0f39d73c6df0aca4bde830258509516d0cb8fa99d65daf1c0314987fd2755834ccb5ec8eef6502aa5cfec293c4b45dee4bdd6dedab9cab712c05581e03e7a212dce326b1b9eed2ea9774d2c1ecc58b476d936da4096b74dac2900c164602a94fb7476003a4c75d14b2972d6aadab37fd75bb1cd74ddc5a304a684013226d81b8325a6b2605581e0349654b5522b85b72ba54ef2c8c693cc2d774b39c24bacee4736c2739400c09470762e12717a80005581d025b1e68829e8d0c2ca332ce7d05b1c22ced38e8e81b98c7aeabd3a9990c185447bcdca6b7a1922805581d02fc378b992543dcfe9655c304d59418b8f698677937436b889cfcd8150403021105581e0343de8c5e568232bad730d1b6d20479821a74bb40d88c9fc4f494e6a0c0040305581e03fc9c7b458d900f8d49c0b0807b03b6c45f711b37515b55256a97ecdbe0040205581e03e1a22d044e59834c1f466ab5e9da33b63e2469298c187f02ed80e832d00c0347011bf7f4d217540219fe7503dc656aa81f8dc35a5f71c5b8f0f0cdbf16e2569209160b68b230e5394a72a9560219ffff0371347b991b43ec3a89b96c72985734198aa9b2e9a17388d5c89db2079158e10303bbbd262687bf0d0abe0b2d430a41c516931759206e142163c9b91cc71c90f79503d806f01e3ac3081ebdfa5837f41570762133fcd61cc5c94498704d546f57c6d40336b4558aa737df1a04025e53e920b874380ef1564a44add6346a764d5225b166030e777ba43df7f7d4b94c083446e0ce27ccf211c595d813b0e7abca56450dc18303c6c744a34c6bd6520f639adca4b95a9763dc171fd164ffa6d2d1f6796573a60703b2a5a346c54e7364bfb5ceb092c5adc97fe89d03e159eb74df32556ca3885986034cec02225bc255cda381f2129bfc37a9e519eb81e1b580aabbfa469bed995b650391f1ef5f11a907c6a62382bc1a69df37d0fcbbe1209fd261bafb2d2afe18bcfc0342b203d03d6fb7f1badb971145605cb1ec230c631ff467fb797a3b826a43d5010381b31c63c2755ab2980f93db9b3e1d31fbb84d44735c7bcef2614cdbf2d256260348009af81d053d2893bc120adad93f56c580f4b69678a295437cd9573fee061703a4d2a0e872580ab3a56855ac21d30a1bd6a3faf466f0604e437bf0feb1e2192903c6ff3ccd0853407cc4678289d77f47f188280d7e7778204aa48ee73aec742ff70219ffff03150c6746f4415b3d32b69e3d28446467bdb74f7c5117a1cfddd951d2de209d1b03c2faf66e4e29dcc4ade14e553b54ee8de3244ea0a4b13c79e3d126bdd2c1531903ed6cc0eaefabeef42ef1fcf55328b111f88e16b28a5050ce6dbde2af94a8f6d703e78488e55703abfb17f3ef7533045c5b698e70d7fd84df75782cd07083c3b5a50381e65ebe32018aeb9d1db630058caecff3990719f37b3a462c22b01dc73f03750219ffff0358c742873f43ec2d609ea5a037add279cea4c1bed4a9b1deefea01541a73709203d2d78f9578ac0a85975cbc5b4763acfd91af7bb388c011f5c91c941d269fce7a03b37f64adabe936f65f3c4b26684d79f31b91c44ce3a1987c17c75c07760ca1d7033298c5ff2fcce0eb4f14965e01f465f005f01e74d2679085ac4c96d301fc0fcc039bb8a134e92d92b5fd03a69c6a5abf9a971294f45fe1bcf6e4da5accb08153d2035f09c3de928bb5c5fe07dd41e4894b5d81e76d9cbdfe49443c1064f7f52732bc037d8d42dc64c1ae3d1e3c6e77295a48642a7faca80d9b7f11a5d23e2081ac079e038743dff8650c73d6191cd729ef417af491ac88a57407b2e300fc2a86320b80aa036bf1667e863b8b805dd41472374dedf7685eeb094d9d9d1aa48a87723799683b035b8c93848d226951225035074056e22080b42bbf302c2da9676d4fad878343a2039259013ca04f12d881cb2c6b9e20ca9a3beda26f0525e9ca5f5b1b34188c749c03a855e424dbad7b4c30c2ae3780176e6db43ac31c33aec2e68e0a83590cf10016030af42201326652660cee19d54521b035e654c645457751b03d521e8869c9c0a6039b2bbda52735fffbe771bdc193d820512238cf462b6f118dc80012d96a300d3203aaa9d47d529eba1dfbb70338fa9e9d7d09bd97c3d4365a7f28bc1028c96d58c90310a3d4d73281b6cab0b796455e774261f98b3a883adbd9af7b951156cdfbff4803744c8e5777b5156bc48de946e7ee5e6aa1b62059e3488ea8fb0033f601e0f9a50346db4719d458ed5b0c374cfaa3b4b60bbd9cc063abecd7805d03e22ec8add7db033fc029f10ea48afe2787515cd4079994c3c4f7847d3c39e6342c0cbdbf5de7e9045926ad60806040526004361061030b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663068ae02b811461031557806306fdde031461033c578063095ea7b3146103c65780631785f53c146103fe57806318160ddd1461041f57806323b872dd1461043457806324d7806c1461045e578063282c3cf71461047f5780632c2622db14610494578063313ce567146104a957806332e785af146104d45780633bba340c146104f55780633deaf6d41461050a5780634104044b1461051f57806343e7e4da146105495780634cd2c47b14610615578063521eb27314610639578063531163c11461066a5780635eb7413a1461067f5780635f538fd4146106a0578063604269d1146106b5578063632e082a146106ca5780636b8f155a146106df5780636de9f32b146106f4578063704802751461070957806370a082311461072a57806374601c3c1461074b57806379ba50971461076057806379ca9ad414610775578063836115fe1461078d578063837b68c8146107ae57806384ef0778146107c6578063897e47f5146107db5780638d006d11146107f35780638d0bba03146108175780638d6819be1461082c5780638da5cb5b146108535780638e2a2192146108685780638fe6677d1461088957806395d89b41146108de5780639981bd61146108f35780639b19251a146109085780639ea407be14610929578063a03fb4c014610941578063a05fccef14610956578063a4c8932214610982578063a9059cbb1461099a578063aa63dea4146109be578063ad401842146109d3578063c1b728b5146109eb578063c408efba14610a7e578063cb28225314610a93578063cbdc5aa414610aa8578063cbdd69b514610abd578063d4ee1d9014610ad2578063d8690c2214610ae7578063dc39d06d14610b0b578063dd2d4ea014610b2f578063dd62ed3e14610b44578063deaa59df14610b6b578063e184d8c814610b8c578063e43252d714610bb0578063e74f8eff14610bd1578063f2fde38b14610be6578063f49e1e3914610c07578063f96f5b3514610c28575b610313610c49565b005b34801561032157600080fd5b5061032a610f5e565b60408051918252519081900360200190f35b34801561034857600080fd5b50610351610f66565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561038b578181015183820152602001610373565b50505050905090810190601f1680156103b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103d257600080fd5b506103ea600160a060020a0360043516602435610f9d565b604080519115158252519081900360200190f35b34801561040a57600080fd5b50610313600160a060020a0360043516611008565b34801561042b57600080fd5b5061032a6110a3565b34801561044057600080fd5b506103ea600160a060020a03600435811690602435166044356110aa565b34801561046a57600080fd5b506103ea600160a060020a03600435166110e6565b34801561048b57600080fd5b5061032a6110fb565b3480156104a057600080fd5b5061032a61110b565b3480156104b557600080fd5b506104be611110565b6040805160ff9092168252519081900360200190f35b3480156104e057600080fd5b5061032a600160a060020a0360043516611115565b34801561050157600080fd5b5061032a611127565b34801561051657600080fd5b5061032a61112d565b34801561052b57600080fd5b50610313600435600160a060020a0360243516604435606435611139565b34801561055557600080fd5b5060408051602060046024803582810135848102808701860190975280865261031396843596369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506111669650505050505050565b34801561062157600080fd5b5061032a600160a060020a0360043516602435611207565b34801561064557600080fd5b5061064e611229565b60408051600160a060020a039092168252519081900360200190f35b34801561067657600080fd5b5061032a611238565b34801561068b57600080fd5b5061032a600160a060020a0360043516611247565b3480156106ac57600080fd5b50610313611282565b3480156106c157600080fd5b506103ea6112ba565b3480156106d657600080fd5b506103ea6112e1565b3480156106eb57600080fd5b5061032a611305565b34801561070057600080fd5b5061032a61130b565b34801561071557600080fd5b50610313600160a060020a0360043516611311565b34801561073657600080fd5b5061032a600160a060020a03600435166113b0565b34801561075757600080fd5b5061032a6113cb565b34801561076c57600080fd5b50610313611401565b34801561078157600080fd5b5061032a60043561148a565b34801561079957600080fd5b5061032a600160a060020a03600435166114a0565b3480156107ba57600080fd5b506103136004356114d3565b3480156107d257600080fd5b5061032a6115d0565b3480156107e757600080fd5b506103136004356115d6565b3480156107ff57600080fd5b5061032a600160a060020a0360043516602435611672565b34801561082357600080fd5b5061032a61168f565b34801561083857600080fd5b50610313600435600160a060020a036024351660443561169b565b34801561085f57600080fd5b5061064e6116c8565b34801561087457600080fd5b5061032a600160a060020a03600435166116d7565b34801561089557600080fd5b5060408051602060048035808201358381028086018501909652808552610313953695939460249493850192918291850190849080828437509497506116e99650505050505050565b3480156108ea57600080fd5b50610351611745565b3480156108ff57600080fd5b5061031361177c565b34801561091457600080fd5b506103ea600160a060020a036004351661178f565b34801561093557600080fd5b506103136004356117a4565b34801561094d57600080fd5b50610313611808565b34801561096257600080fd5b506103136024600480358281019290820135918135918201910135611845565b34801561098e57600080fd5b5061032a6004356118ab565b3480156109a657600080fd5b506103ea600160a060020a03600435166024356118c2565b3480156109ca57600080fd5b5061032a6118fc565b3480156109df57600080fd5b50610313600435611902565b3480156109f757600080fd5b5060408051602060046024803582810135848102808701860190975280865261031396843596369660449591949091019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506119899650505050505050565b348015610a8a57600080fd5b506103ea6119ff565b348015610a9f57600080fd5b5061032a611a08565b348015610ab457600080fd5b506103ea611a0e565b348015610ac957600080fd5b5061032a611a17565b348015610ade57600080fd5b5061064e611a1d565b348015610af357600080fd5b506103ea600160a060020a0360043516602435611a2c565b348015610b1757600080fd5b506103ea600160a060020a0360043516602435611ada565b348015610b3b57600080fd5b5061032a611b99565b348015610b5057600080fd5b5061032a600160a060020a0360043581169060243516611b9f565b348015610b7757600080fd5b50610313600160a060020a0360043516611bca565b348015610b9857600080fd5b5061032a600160a060020a0360043516602435611c5b565b348015610bbc57600080fd5b50610313600160a060020a0360043516611c74565b348015610bdd57600080fd5b5061032a611ca4565b348015610bf257600080fd5b50610313600160a060020a0360043516611cb7565b348015610c1357600080fd5b506103ea600160a060020a0360043516611d4f565b348015610c3457600080fd5b5061032a600160a060020a0360043516611d64565b600080600080600080610c5a6112ba565b1515610c6557600080fd5b6702c68af0bb140000341015610c7a57600080fd5b600160a060020a0333166000908152600e602052604090205460ff161515610ca157600080fd5b601054610cc0906a295be96e640669720000009063ffffffff611d7616565b9550610cca6112e1565b15610d0e57600160a060020a033316600090815260116020526040902054610d0090610cf4611ca4565b9063ffffffff611d7616565b945085851015610d0e578495505b60008611610d1b57600080fd5b610d24346118ab565b935083925034915085841115610d6457859250610d4f610d4a858563ffffffff611d7616565b61148a565b9050610d61348263ffffffff611d7616565b91505b600160a060020a033316600090815260046020526040902054610d8d908463ffffffff611d8b16565b600160a060020a033316600090815260046020908152604080832093909355601190522054610dc2908463ffffffff611d8b16565b600160a060020a033316600090815260116020526040902055601054610dee908463ffffffff611d8b16565b601055600354610e04908463ffffffff611d8b16565b600355600160a060020a033316600090815260136020526040902054610e30908363ffffffff611d8b16565b600160a060020a033316600090815260136020526040902055601254610e5c908363ffffffff611d8b16565b6012556000811115610ea057604051600160a060020a0333169082156108fc029083906000818181858888f19350505050158015610e9e573d6000803e3d6000fd5b505b600654604051600160a060020a039091169083156108fc029084906000818181858888f19350505050158015610eda573d6000803e3d6000fd5b50604080518481529051600160a060020a033316916000916000805160206126628339815191529181900360200190a360408051848152602081018490528082018390529051600160a060020a033316917fa9952e76453aae9003d5a21b7df6196de99382fa7a34336df0107ab6bf9a9660919081900360600190a2505050505050565b635c1a089081565b60408051808201909152600c81527f46616e746f6d20546f6b656e0000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260056020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60005433600160a060020a0390811691161461102357600080fd5b600160a060020a03811660009081526002602052604090205460ff16151560011461104d57600080fd5b600160a060020a0381166000818152600260209081526040808320805460ff191690558051928352517faff098f53523369cef878ae47c10d27a8a918f0da3221b889da1776ab58f553f9281900390910190a250565b6003545b90565b600d5460009060ff1615156110be57600080fd5b6110c784611d9b565b8211156110d357600080fd5b6110de848484611e44565b949350505050565b60026020526000908152604090205460ff1681565b6b0a424c66e1cf9727c700000081565b600581565b601281565b60156020526000908152604090205481565b600b5481565b67177c3d06022c000081565b60005433600160a060020a0390811691161461115457600080fd5b61116084848484611f5c565b50505050565b6000805433600160a060020a0390811691161461118257600080fd5b825184511461119057600080fd5b815184511461119e57600080fd5b8351811015611200576111f88585838151811015156111b957fe5b9060200190602002015185848151811015156111d157fe5b9060200190602002015185858151811015156111e957fe5b90602001906020020151611f5c565b60010161119e565b5050505050565b6007602052600082815260409020816005811061122057fe5b01549150829050565b600654600160a060020a031681565b6a295be96e6406697200000081565b600160a060020a03811660009081526009602052604081205460ff1615156112715750600061127d565b61127a82612232565b90505b919050565b60005433600160a060020a0390811691161461129d57600080fd5b600b5442116112ab57600080fd5b6017805460ff19166001179055565b6000600a54421180156112ce5750600b5442105b156112db575060016110a7565b50600090565b6000600a54421180156112ce5750600a54620151800142116112db575060016110a7565b600f5481565b60145481565b60005433600160a060020a0390811691161461132c57600080fd5b600160a060020a03811660009081526002602052604090205460ff161561135257600080fd5b600160a060020a038116600081815260026020908152604091829020805460ff19166001908117909155825190815291517faff098f53523369cef878ae47c10d27a8a918f0da3221b889da1776ab58f553f9281900390910190a250565b600160a060020a031660009081526004602052604090205490565b6014546000906113fc90610cf46b0a424c66e1cf9727c70000006a295be96e6406697200000063ffffffff611d7616565b905090565b60015433600160a060020a0390811691161461141c57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b6000600c548281151561149957fe5b0492915050565b600061127a6114ae83611247565b600160a060020a0384166000908152600460205260409020549063ffffffff611d7616565b60175460ff1615156114e457600080fd5b6000811180156114fc57506114f833611d9b565b8111155b151561150757600080fd5b600160a060020a033316600090815260046020526040902054611530908263ffffffff611d7616565b600160a060020a03331660009081526004602052604090205560035461155c908263ffffffff611d7616565b600355604080518281529051600091600160a060020a033316916000805160206126628339815191529181900360200190a3604080518281529051600160a060020a033316917f601012ba5835327e038c684c419b1aa1ecc88c5527dfededb4d244c46b5a9849919081900360200190a250565b60035481565b60005433600160a060020a039081169116146115f157600080fd5b80421080156116015750600b5442105b151561160c57600080fd5b600b81905560408051600281526020810183905281517fe20f93714281a7d40fd1b62a497dd1cc4df6b45409601908f02827ff1eb7d892929181900390910190a1600b54600a541061165d57600080fd5b600b54635c1a08901161166f57600080fd5b50565b601660209081526000928352604080842090915290825290205481565b6702c68af0bb14000081565b60005433600160a060020a039081169116146116b657600080fd5b6116c38383836000611f5c565b505050565b600054600160a060020a031681565b60116020526000908152604090205481565b600160a060020a03331660009081526002602052604081205460ff16151561171057600080fd5b815181101561174157611739828281518110151561172a57fe5b906020019060200201516122a4565b600101611710565b5050565b60408051808201909152600381527f46544d0000000000000000000000000000000000000000000000000000000000602082015281565b61178d61178833611d9b565b6114d3565b565b600e6020526000908152604090205460ff1681565b60005433600160a060020a039081169116146117bf57600080fd5b600a5442106117cd57600080fd5b600c8190556040805182815290517fd4846a8a7a6a67b4d03c988c19d73bb6f3cb8a3805f84c9a2273bc781c2c05989181900360200190a150565b60005433600160a060020a039081169116148061182b5750600b5462b892000142115b151561183657600080fd5b600d805460ff19166001179055565b6000606484111561185557600080fd5b83821461186157600080fd5b83811015611200576118a285858381811061187857fe5b90506020020135600160a060020a0316848484818110151561189657fe5b905060200201356118c2565b50600101611861565b600061127a600c548361234890919063ffffffff16565b600d5460009060ff1615156118d657600080fd5b6118df33611d9b565b8211156118eb57600080fd5b6118f5838361236d565b9392505050565b600a5481565b60005433600160a060020a0390811691161461191d57600080fd5b804210801561192d5750600a5442105b151561193857600080fd5b600a81905560408051600181526020810183905281517fe20f93714281a7d40fd1b62a497dd1cc4df6b45409601908f02827ff1eb7d892929181900390910190a1600b54600a541061165d57600080fd5b6000805433600160a060020a039081169116146119a557600080fd5b81518351146119b357600080fd5b8251811015611160576119f78484838151811015156119ce57fe5b9060200190602002015184848151811015156119e657fe5b906020019060200201516000611f5c565b6001016119b3565b60175460ff1681565b60125481565b600d5460ff1681565b600c5481565b600154600160a060020a031681565b600160a060020a0382166000908152600960205260408120548190819060ff161515611a5b5760019250611ad2565b42841015611a6c5760019250611ad2565b600160a060020a038516600090815260076020526040902091505b6005811015611acd5742828260058110611a9d57fe5b01541080611ab7575083828260058110611ab357fe5b0154145b15611ac55760019250611ad2565b600101611a87565b600092505b505092915050565b6000805433600160a060020a03908116911614611af657600080fd5b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810186905290519186169263a9059cbb926044808401936020939083900390910190829087803b158015611b6657600080fd5b505af1158015611b7a573d6000803e3d6000fd5b505050506040513d6020811015611b9057600080fd5b50519392505050565b60105481565b600160a060020a03918216600090815260056020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614611be557600080fd5b600160a060020a0381161515611bfa57600080fd5b60068054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f4edbfac5b40fe46ac1af1fd222b224b38cfeeb9e21bd4fc6344526c245f7549b9181900360200190a150565b6008602052600082815260409020816005811061122057fe5b600160a060020a03331660009081526002602052604090205460ff161515611c9b57600080fd5b61166f816122a4565b60006113fc67177c3d06022c00006118ab565b60005433600160a060020a03908116911614611cd257600080fd5b600160a060020a0381161515611ce757600080fd5b60008054604051600160a060020a03808516939216917ff4e75b79500ab730f8a026ed3cba6d55331bcb64c9e9f60c548e371356e5e3c091a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60096020526000908152604090205460ff1681565b60136020526000908152604090205481565b600082821115611d8557600080fd5b50900390565b8181018281101561100257600080fd5b600160a060020a038116600090815260096020526040812054819060ff161515611ddf57600160a060020a0383166000908152600460205260409020549150611e3e565b611de883612232565b9050801515611e1257600160a060020a0383166000908152600960205260409020805460ff191690555b600160a060020a038316600090815260046020526040902054611e3b908263ffffffff611d7616565b91505b50919050565b6000600160a060020a0383161515611e5b57600080fd5b600160a060020a038416600090815260046020526040902054611e84908363ffffffff611d7616565b600160a060020a0380861660009081526004602090815260408083209490945560058152838220339093168252919091522054611ec7908363ffffffff611d7616565b600160a060020a0380861660009081526005602090815260408083203385168452825280832094909455918616815260049091522054611f0d908363ffffffff611d8b16565b600160a060020a03808516600081815260046020908152604091829020949094558051868152905191939288169260008051602061266283398151915292918290030190a35060019392505050565b600160a060020a0383166000908152600e602052604090205460ff161515611f8357600080fd5b600160a060020a0383161515611f9857600080fd5b60008211611fa557600080fd5b611fad6113cb565b82111561202a576040805160e560020a62461bcd02815260206004820152602360248201527f6e6f7420656e6f75676820746f6b656e7320617661696c61626c6520746f206d60448201527f696e740000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b80158061203657504281115b15156120b2576040805160e560020a62461bcd02815260206004820152603c60248201527f65697468657220776974686f7574206c6f636b207465726d2c206f72206c6f6360448201527f6b207465726d206d75737420626520696e207468652066757475726500000000606482015290519081900360840190fd5b60008111156120c8576120c6838383612431565b505b600160a060020a0383166000908152600460205260409020546120f1908363ffffffff611d8b16565b600160a060020a038416600090815260046020908152604080832093909355601590522054612126908363ffffffff611d8b16565b600160a060020a0384166000908152601560209081526040808320939093556016815282822087835290522054612163908363ffffffff611d8b16565b600160a060020a038416600090815260166020908152604080832088845290915290205560145461219a908363ffffffff611d8b16565b6014556003546121b0908363ffffffff611d8b16565b600355604080518381529051600160a060020a038516916000916000805160206126628339815191529181900360200190a382600160a060020a0316847f9c6dd8089f114717d5c17f4d3d9bf6c1991925a49ef90e23b9ba026bf8654b428484604051808381526020018281526020019250505060405180910390a350505050565b600160a060020a038116600090815260076020908152604080832060089092528220825b600581101561229c574283826005811061226c57fe5b0154106122945761229182826005811061228257fe5b0154859063ffffffff611d8b16565b93505b600101612256565b505050919050565b600160a060020a0381166000908152600e602052604090205460ff16156122ca5761166f565b600160a060020a0381166000908152600e60205260409020805460ff19166001908117909155600f546123029163ffffffff611d8b16565b600f8190556040805191825251600160a060020a038316917f6ea640312e182de387819fbeb13be00db3171a445412852248559054871c4199919081900360200190a250565b818102821580612362575081838281151561235f57fe5b04145b151561100257600080fd5b6000600160a060020a038316151561238457600080fd5b600160a060020a0333166000908152600460205260409020546123ad908363ffffffff611d7616565b600160a060020a0333811660009081526004602052604080822093909355908516815220546123e2908363ffffffff611d8b16565b600160a060020a0380851660008181526004602090815260409182902094909455805186815290519193339093169260008051602061266283398151915292918290030190a350600192915050565b600080808042851161248d576040805160e560020a62461bcd02815260206004820152601f60248201527f6c6f636b207465726d206d75737420626520696e207468652066757475726500604482015290519081900360640190fd5b600160a060020a0387166000908152600760209081526040808320600890925290912061270f955090935091505b600581101561252857428382600581106124d157fe5b015410156125075760008382600581106124e757fe5b015560008282600581106124f757fe5b015561270f841415612507578093505b8483826005811061251457fe5b01541415612520578093505b6001016124bb565b61270f8414156125a8576040805160e560020a62461bcd02815260206004820152602d60248201527f72656769737465724c6f636b6564546f6b656e733a206e6f20617661696c616260448201527f6c6520736c6f7420666f756e6400000000000000000000000000000000000000606482015290519081900360840190fd5b8284600581106125b457fe5b015415156125cc57848385600581106125c957fe5b01555b6125ea868386600581106125dc57fe5b01549063ffffffff611d8b16565b8285600581106125f657fe5b0155600160a060020a038716600081815260096020908152604091829020805460ff19166001179055815189815290810188905281518793927f38a498f3e82bfca1855324fb5e974db2a1cbc0df8145844464ab159abd431194928290030190a350505093925050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820d3bf6924dd80f3446f450388d9f207392b8d3c2a181e7d105d0792174f63d1fd002903d1270eda435dce4bb9d4bca7bcfabd71e42f2709cf4e932d55519dcab88e0b8d03b9babb7921bf76039ee71ee6acc4c9c0a61bbd7d574c73824182f514dab6d811039d244372349caa6f2ef55a6f3684bc9009ec6d4eeaa0fcc6d23d5a469530a9dd03e0b56e88c0476edc1bef346e3b1416b4be37baa1ce80725c55aadab05da2432d03339de4a18d9f616d437089c164f5bda37e4a2122681abba3164d0956371b355403a1556654c7f1e9cd377c5e1503e95f68dddee07eb2ab44eefe664f135f3573de033b564632b97252b2bc08e91682a3927f986f3953d8db2e061b97621849cc9e83033875d1aec2e2adb8cdee3b8ab059928ca81fd3c3a94e83b002f1bc87e327667303bba1fce01950d0dbe4b43bed7d983cd2660af0ed34ad4de1304b71bbbf8c4a0a03c64411807b8b48c50f4b831484c9e5be119543b9e6668b69ec41ff745481f4a10317f8ef738607fc5ee804e45a4c97516a936e30f96f61cbc4141b6f16496a22200317ca174c55dcab259d7c1e2649ddd5d7f2fcf941a0908ed99176788d4eb3bc6403562e8f773d6c30406e7c198c11c88f3a51a4e93ba584ea826f7110d91b823dac036e3e7637f9515d11fe20977334652772011048b31d483b5ea8084ac050d4a07d03d7dc81bd33d58df906f31c52b69a1c0b7ffe14a04466452b4563b5df3838c50e03aa9cbb62219e5e3a216399bb3d632fdde270bd2615ba0e3cea58b631c9da710e03b14ce73bec3e133f4e354c8916a1c4e6ba5327b5355164c8e86c22d4dcbaa4410359bfa7378d49e9cfb17b536f39a338ae6096301403413c3a024b2cf6ce44c13203b613204b41f4b8ac2161bf68f6bb503a208da216930b140df32e6559a2dfcf1400581f030e7d2947b0145791587f101c747f7eeb283d22bdacefccb67343f34d6b005820ffffffffffffffffffffffffffffffffffffffffffffffff1169bf164d7bffff00581e02c759983e78be37a7b61a25a2b79fa045f77187fdef89aef194ba2ccfa44a0d386b12388c49649b0300581e02701667c840f919b1361bf7186f23778026d535d356c49aafb91167234448de0b6b3a764000000218a000581f03ec7d83ef47ce0ce04fba3c903066e58276a74b8ff890ad700cbf0e2f65505820ffffffffffffffffffffffffffffffffffffffffffffffcdbf52122370a1a95200581f034e2796c928f3b716bee5928b8ae78edc5f49fa9378c8db1cae3810b18290498c06536eadf1fc000000581f0304985be75b94c5ca29dd8c0dd0ff56889b04d7853c84a5d7a501352602505820ffffffffffffffffffffffffffffffffffffffffffffffdfd5fea63c60c92fff00581f03520e84c8a00ec3162654f3569c81ccf5ee2c1fb121e4f13a5f4eb8e338c0491e88f1e50b0177d421021964250360ac1bc6a3f48c2bc352d928c7edd814c127a98ea2e1ff7ad9e45317c8b06798033c9d201ee496c4177e66076b608ecf9780d31b953f0d8b7cdea6412287598f6403f71d77f624e8d257280955ce7c287e5465c59ddc080d345c16398de0d8b7f619030518f58f4768983bf35f852d88ba772fe8ea68cd8ebc28f7fc0f4a1c3229412403910cf911a0dd0ffb9c05b5cd9499310983acf42f1a18cefe5ec58f576f8d96b503fd444638600b9cbbdd74505410c8c2d2af82b8232891291dd890c35f8ba0fd0d03ec485d53097c72dc0781869f70d268bd38b256c78b18f6ac327663385486a4680395ce601c9599b4b4c239b69edff7ea414e3e4ce5af37e7ec97972b8bc79ac89a037c9eb1d68919c005faa559310f5746b5b61b8ba6121837fa029b37fb55b1079003ae160d6bf2bfef29b5b6c6972103bdecb5ff0b61601cbf2324192e7bc59f5270033b22f9d3bae0d902ad80c9142750c46766ff7e15e162e74f9e92a5c60591584103778e6404ebd964560bb66104f4ef6c4cccd6239dfdc03209450122449b88db37033199a8b7e2d414acbebaf85542500a74fba65efcdf664743a3e6c03b74ac8bde03d25814d02fb116585069e1e3115c1359c59eaf24acdec9d5cf36df754c7bb4bd0376610087c5b2cfd81b35400baa1952c5c599d39faed143dd8a76936f192c51420219ffff0219ffff03b7e3c5cb0fda940e69cd32aa546b248f6123b2f54b6c850ea8a59b2f373b4e90039aa252e91bfaf75b61edb966cb9e7bc1bac652ade8f1667a58abe7a34ef07ca203eb460e5cc0457b232b830a2d64c8a042ccd74b734b68ea45cb81902d8f4556ad0347dd28a12e8d8808e4c55197d2fa9b90dbdf52d65eb10633d4c80da407b4ebb1032165ff0212c01378b365d3671b2da68b4dfc752ff48bda53bcdeaf5f9291609c03dff6cab9ec17cd648cc6ef6f19e23a0e721fe4bdfa5f0589dc7e147e8055e508035e0bdb47f3e7a0e855edbf75307e6dd5f5d013bcd4926395ec325944c916354703b461f55e3afeb1410eec8d4ecb10d5f388ea7bd77d78f91fe5f205d619f8f23e0305d313a238d29ee8e5c4e4db43c683188c1a75973b709e3cc4a41e6aef496f3e03a2d8835b3c614617947248e2e5f74464d2d63ae0625ea29781d97a5f7947227a03c950f15f405ade3bb7df82b407798a74ddea93e0275e1e656b20132808bd30f1030c6f67796cca0b6f3eeb2ec641e58e77187c4419a5db6149a375389153c3d9fd036b878b48698cd0eb316c3aaa933ac23673e369eb0fd6d9d211803f605e37eb6303cd913947cc7f7c0a56a5b0e76d7fe80874613bb42e87111d24787dd9fb85546f0219ffff03f3df93237dc021e9efb1d335f84d1d59db92da8772e19f5d75a4725700a8c9730308e323d92b03f903f2cf70d367d8633f0fe554da9b411b3052ce36d0700520160370547e7a9e1831eb6c2d7a30a596dea4a18e952af456c908407ef29271067f380374d426d004a80ee3b46c29119b49c6bd3d236661076f0e62df86eb1cee8e0c880320a9662774c6ce6fb7dbbec3cd84be6a56c02ecd4326a686cbc63105cac1145e03e1962c1edfd8c4b75a0bd68db9d7fb9e26f5b3d0cd0ebb9104f9bab8f91ff544034f26fa5fd6dbf285cfa507717eb094f2055060cbbc831474903feb4fc9687fbd03680da7eaa01c3d265bc9ff3416ff1dfe0d916315f5613af1a7e025de5cd795d503439521b526ea60f91ddb39bb092a0e7653c4c11c00b307c35a58fba6ae8825c4036d5ea4a570ae9345c7631672b039047cf4671e930f87011562cfaaddeebf45e603748457e904711598eeb008f18004ee601df100a09da26848ee78c4a81cea69590393634ca09edbb6ef22f018c51b7587c9b563f55261095db74ee67b3284eb2eef036a3cec38a1cbedac2a46431acdffa7bfb851db24753330874d709d660bc031ad0391b0577a7007449ef2c4823a7e2cd220ceed9f4cdebd559ce7a01cd8ef57d79c038b44e61a6f298fd20c5ad1e60d32eb6f1132a449834e0f7eb5c5502894195aa503e5b7071c6c093f15bbb52aca2e489cbfbc225ef33e1ea9a7414508379c83d29803ba6bad4b08766546706c98a2a31a14c3581d1a7ca425aa05487d7c5d3e4d87b60318c0e62003cf5723cecfaa153e27567ad5889f221eff294176f213ceec71254e030f78383c23d0c9e7a117d368e1b37174a819b38584e33baca018ca61ddae601e039d7696a1444922c50e193e163c164fca1f5a5f065aec39e1ae5a1c8e68baadf40320244995b191b21b91706133ee7b44aabcdb2113cc0dde2ec54a5a1628ae0e5803516c721122500f72ef170d631bd05ad3bb7dcda90c6a3256ec59a6039ccfb42203161428591fa020e4be8539a28215c01487907d72242519b5afb95055a91d91ff03b6265c26027200efd7036955953de1322a2e232e48a9f0e66ea51f4b1398004b038976e82076208970fab2888937e0b679521ce9806cc2900695f931efaa352fae03546592a438f85f4c1df658a004073b641e6be94ded8a29c83cbe7737753c3a5703f7d6f931340f4ec1604fb0a1409714c5a150ae865ebda58cd45379ea800b33290332a388ae80cf6a8909bcb79e20366875279ed8d9e27e5235ac96f7f7a471213e0330c16a88ae5756147ce7d08995ccfc3b55c17d8355eebb3ae40c473fba0d38bf0357a2e44d18b39fc9a3edbe5d852ca4dd8b86aa375fde1053b6aa4455568a5131032486f2b11660c63e5048481b23bcb8dfd2d33c01f0b42ed370b31843e6947f7a03c8f7d33fd7f45753f84a6cb32d4266841b2ec98e33bd96d4dc3a7b02296b4852039514f9822b290d2ec9ce207ca7271f6b7e3ce8bdfb4b1ab3b6e29e43720bcff7036aaba5a518d2d550c8b94f1ba8452bd1aed2b29c76920303f895c9a9825e7177030adc4c845420811de947763406647ffb763cf5f43a9e31a25abc795e1ef68d8100581f031c88b7e0ba2513c2213f5f676491ab7e9f7a068573facc3deb68e92f0a204702849fa158bf0a039981c38eed8f228a51e7b58b7f2f9cbf1d03a978422e84f461b160186736a1bd00581f0385422651e996d592d270a7aad7f7b1addb7f278762f4ccc783a829d747e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03fbe8aa84a99cc9ade0eb0ab91275ab498c7323a0c9a48a05dd37308c5e704512a05f200000581f039bc8034aae9a4ee0df8531a72d46c42cab7455a6a2de34020f246e692d104814d1120d7b16000000581f030287880ca34e30dc3b5bb674ec7e38a6ca75cf0e6f73ac08702635250bd0459bc381e20002190c96031b571ad1abe106046a8304f07fadb66e9d064c4527568f3ee3ddfbd19d79ea4b0219ffff03d87038dc7ec462c0a065c5da959f2c4a07b86b18982335f1baa026db7dc54efa03313dfb75217f5e854fec5200be16edb6c7c9c4c5cb05cf751faedb2ce6444afd037f4aab3d15e93715a1eb026d963ccb190d183e105d01551ae620e729b335d5fb0219ffff03ce7f1e1c38ad70a7b5b7a7704b6cac356082788cf6e51b33aad9b8c32678f2bf03534b16825cdf1a52f8414571fc80691908d33fb99d91fdd604ce476317400e5f03569a598c4079f531ecfec8ae9e8af8de3ab7ddaaad9e37e02ed49a1edbbf488d03985bb960f849fd45576c9e95a081a3c6bc30ad1e33ee4f78b2e7a0f8dcaa1f3003f78252baea8374c048657f5f6fe762ba09a1992b6310525e83553b90b2bddfef039cf6fb5eb2ae36578277918fbe876642a1a7442b4c1839adf1629a121830440d0381d27c79e7dcca3d65dcf980b52c23c84a6716ade55e5b8c628f4fc7b416508303659f2c8808f913f38332337fecbb7577b4bc8761961b7bda30eeff90ebdb5fe703d16e160031e7fc474e7fc3222e3aeb8ea92c5f187cad485a2a7cd02ba005398a03bcfff558e4419937e666399950b2f215f28d28a9c65395b0b814fff78484d4c10219ffff03d45001d2f37d8119eecac46fc4e288c3209008bc6b2608cfc1d312edcb81dbf803051f9019af26cee3606b0007916aa77cd790237d28977e33b23fa55f9ac300680339e9d26d4325ebba8a005809940f562835dd5d74b70ccba0023f4957d09b4f49037ca850b7815bd339543d18cbc615c709ba3b33c61f8b58e7f941857a3846ede4038ba7377bfce19eee6fae120c802db6a549b71a5c39c66650dae91ab22f577410037e48214e7e68ffd344be0f933ba51f4108009cd61d4e5cf9299d403e1b802da803e842c53d144d7316c4251d3987fc149b116df8676c9352284e0b23942482e2db037aec8bd4379fa3fb6c150a80da28991cd1e132b065c861bcdef43456cd5dfe0203d99b8a95960659d232f4eaccab638c2b047ee42eaca6bc2535261e66e4ce883e0381fdd0618c02052f03245c9405eb70aead327f7df381c63268999b6e26a278e3033ad888723e76499c9e37de6f41ddeb1b8b7b1d99d0c46f39c90cb37515c3f977032e921db3e22c5a22cdc00eec92efedeeba6f8d8aa69e90d7f8d9b11f8a00702a03d397d8c2ab5f0c46a4dad21bd7398dd2b26c863b2b29c670968547b440636de90398c5221ba8343f9f7fff8ab28daabd77a882e5688dd443fbc5126db8ff8d8c46031536317e4eb904105264ecb53d9c03fd7d28de48d3970a1e4cf9cd612bb24ab00367f0c0b40547bb89df890b89d04454650d6b31a82cde6ef4b1a67afb8b10431b034c877d2cf65985c48115f0b7a880b7cc7c7d650edb477aabc47840228b5e678903d9e7853f9c4b3968f764d5e656815a8e9c94d086bc08034306635cd6db36a7e903845541ff0eee31dbb7db5a27cadf2c278a56dbd1759837bb3ffc4bd3158ecd5a03a98ac295162fcd0bf059ac3f7f2e2ec500c3e8de0508253788d71c51733b797a03a164ab223ef1fb82655d54a888169ae5bfe84093fa7e874432c480e45953130c037f0c0ed01801cabe9f79825b619ff2a2b8687f05bd1e53c77482af183f18fffc035f1f348128bc4b5b2ce912bf8b9489708540cff75406ac65838aa45e6b59101c03ea09139f78433dbb9cf066dd703524c2ec0a151605d4dd112334a2a2dac566ef030e96a535d60a237d7908bfb1ce94f8521609f4f60309b1b1ae63b3310a16710800581f029607da6231b448b0cde0826cc13162e641be59c4e21cdf7519e1ea53027b4906c30115243c06000003489c3808b36419668f78d33a75add59315c9b70474ead6a554444d1db9607d0b03c89ef8803e32c65cde4b06f997c0f5e1f14b7502246d61f087ea44ead049cb1600581f03512c7bbdf836e592963d50f8672f051849e46cef6b4bfea97262072d9130486124fee993bc000000581f031bf76b0078db62be24ffdd248e8ae7914509713a61535552237bf9c6b560490181629aecfaf8d5b800581f0390105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50410100581f03166ebe82514dab0d34f43922ecb9326282a79b7610573611878a901db920491a3587dd8199e9e2f300581f0360d949add6ab766fdef3bbf4c0859d7f7b55b7a01c7657f6318a096ba11049070f716df57ae000000219926003d8dfdc30fd41648b721bca3c7524e058b5ac9f7fab196369125a168e9b4527f3033e2ddab1a0f614a454edc87beeedfc63d116ff413e1d5e8e22ec435c21ee7b5c03625a1a06a48536e184b712fd012f51f63122c96216c96d90e7b48343fc6c43ac03f71b8591ac53b9c03bff9e4b567c639bebab07d3a7e8b0d144df93c043194bde0306d11a553b9e93e6a919be91a8bee63c8358e936136f9d31af2ab11b1e357ef9030e5722b9c12807b15d782eb6a446b120f118b787e533d6c691139afc6f43275f03d0f3105867282efd8bae66c18fa12a4ef028c8c343bcf645c1ccab79ff36291103897f1e3e4d8614cf6da3195aec893e4ea6314f94c3018df94e9eaded7b73e2df0219fdff03663386d4a58464d0f554924fa4031a007e30c0f6aa50b2210a5bc3d6612cd95e0354fc3da5d312556d7907f114b82c416ba8cc68edbdaa294ab90357ea2411824e03a2650517aa0ecfbf5c872205166e434423c350a62eef91c9ea931596f7385a4e03a350e9d4db0bb41217203ec72fd71b5028b8df10caa8facd04e7dc520ec65f860219ffff03dc6c7a8c478f3f7a3e7b147871564c868ae7e89c0417742cdd3f84b615471c8103a8e3e8cce495bcd8b995fe4a3c4a0e05c6efc79d6600ba0a8de1ed277236f77e03e05b70a6fde092f2ab504c2d01971db7569888057c0a52907f79601cb9807d9f03f08470ec3b500ac001e55e22e942e71f76d01291f21500e015392d68ce0f664d031ea5e35f4e942050d8cbb0cf0373a8252b66bc6edaea9577ca24463694a3a99e0357a35188d6482d9208d089a7697083707f05714caaa96f19d2677c328bf54ded00581f0202cc11742a76a9bc630115d599495dfbac91d6daf6d6dcb3a5e827d00de55820ffffffffffffffffffffffffffffffffffffffffffffffed3d976e739412ffff039b7a0afa189200e3aeeff816b21ddd979c01abc5cabf97c9e7c85234f7efebb703455cfcef77d611df2aaaefe1f7df29879fbcd0fc0ee606e75f3875cab92d360203ea6ee0870ce776c171829b1eb5ea06b86794d6c3b93ab911c6e2c82f1d2cd74000581f03b2a5886bb8c7d2e557b9c2e834cd40e13a9a36c507d7c4dd2450a75539e0488ac7230489e8000000581f0388887f98ce2a2f71bcfbd5e8d859c8753c9fdb7a2322e4d330f4aa0195b048177c3d06022c000000581f03f2ce0bc847902d2f9739f090e9b1e6ceb15889249057251d94ceca93c6b0480de0b6b3a764000000581f0318f6b13d7acfc388c48f44d0978f01091494ce6e257e7070350c1e8e2b704915039f937b8308940000581f0383dc0a400166d77a1674adc50a2b93e010653c50198d50a1d0564293991049ec33446e0ee1b28000021940780302653796a90f9b193b02b1f458279b5b751632d4149b303d8b628be9b7cbf6600396eb66eb216d509be93798bfc50236544243959b876d0db6608985688a2cc31a00581f022843232a24d81e19743a92ed1a34c94bda70e46760445cfa9ae782002f0d5820ffffffffffffffffffffffffffffffffffffffffffffffc1f5934614c72ae9ea032f66fa903140478e53ea1e0d62ba061171807b31cabb609ba1011997b748a21703c2f949a188e43e311bb2742fe3435bb3c61366a112a128b5ea0bb013a43eb60403476d329917f8fe18fba7ec9768b034be4a634288aefdf35a425a0bee8b350b3c0352fa0e043321e4767223064ddc8e869f75754cf672b3c71d47ba9f9a084bd85f03f44729009eede8b9e8ac307f360db98808f80db2456bdee31f998a7066d040db0219fbff037312b78a9495d43449fb96b54de4d1d09c8288d30e45926010e1e810b77be224030f4b1f628477261edeb8d495c2c3eb45bca2f6531f6725e6dd849b31bb0e10eb0331780e340ddc78c19bfff0fd8af11c79b1c31a3c41a278dd977c7f02d46d506a03ef383723481ae77d920a27df5bbf1058309d67cb81c13b15af7e42e197787d1d0380f244c539c958d7e9a5d0cea0698bcde0814229bbe38290d27a73e894941395031dd0cccfc85a281b3de21dd198d13cff7657990662573cf91042f37318b4cc6303ad5d81ad98eaceff5937cdedf11771359289c1905bc309b86cde5eb100dd162903153486203caa1cb10fb8b35bd5362153e3b0953235bc8191b692e6e6e10877d9033c60bdf4b9b995792a276b1a13e4cc03ee00649283b86774be8190bb4fa3cf250310cb809be0bb2972857d74fe6afa1dba928af3e56456affe34f0b25be7c777090316a974c59959a00a4520e22344c5c85e8963431869667d84b0797f7e4197870c0349cb4b6fad9731fc74dbdd522758303175de7e53afc64b64ba58b51881c2e6c40219ffff0336c22f29481d37cda6bee19a4552d5b199896e505de18cccabb366fdcefdcc480325b94e6aed1280f23dc41cf9d080b3b3acaf85b148770e961cd988ae26f1be1603ce05ddd9785e74b0e2c424ab7a319df1effb29e73a195cd37f3aef4bd06e1b0303100384fd857dd576701f7fce297cd78e6d8738cad6a699245237e5318e15042303bdaa7c17b1b4e788f394ca113b377ec790b3090647706cba1668e723845fb7e80367fa7bb7d9be748c6836f17645e87607dc25b530ae17d1de577a42f9bc3dcee20219ffff0382664afbee889297ae2e357af077afca3128cbd1a1592e790eeada0d60a0f654035f2166aad3f0cb44b80e9b05353b76efbb9c4482b0097c874543a3fd0cedf7330219ffff05581d02654cbe47f57c0bac44d1d8dfb82f0299789feb10590c78a0e885db1607011926ad05581d028d828228ac559b1e92bb7d81b1a990d5e0bb1df094b256d1767538cd0c08463b28488b0cf802190c00031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e0387ed58bf31dc6e2b71d391407c1bd2bd0bfeb31de112187222dcc0f69007011bffffffffffffffff05581e030735740e4b03483a9a81e6a79f90990c55903a66cd397b02582fc962100403035c84b720b46f8a05d844fd4af1255b6411f029f33e2d80db2f691c222e772be605581e03370397ab01668175a79eaeeb7e115e9037cdfd03b22de6b62d722a6a200c0146b95be40ce6a9034974920016156f69847d019037802069c04d13f2ff8bcf3bd0e766db02208e2b05581e03ed795eae516ebe015823eefd460a2d6cbc468262659aab5f7c5fb640000c024745ca7f7442136005581e031c8b721a5c5aa32bec1d559ad80736d21bd3644f89ae0b11cfe4c62d800401039e458fe8d7b922a09aaf2cdd89415621c1530bb4b8c856396307066a864bf7af0219ceea03e881f728f05b6605208da00dbbd54b3323fb280ec0811c7e5a60ffab1f5e9db00379281bc9d81615e380d333f21ecc388b3f1aafd5608981e9a31511f36b4f754a034e81c1d1b4fd8fe7961b54bebf2deb2e904e9f2a2c1d65a6855b4721a36e296e037886ac1d9cc25930c1ea9ab36214a172f4a2a3f4b363b1534287d0b5ca01be7103f87f527268ce47e2a3d79db9b7d120e986273daae22266d9e5786a0722e898a403e6624772240cd4a08407edaf3952152d3e01cd65036690e7e638b6c5813d11a70302b5f0a42edb8cd32d113714b666b20585612adfe2d113327e63045ea5843df403687e8e0f259322b14a00f48616cf0151ba3034280cae1857cfe995ab7a116bca03b43cced6e0b28f40cb502eea625937e06b836050b3271c355d4b14a169c8600a033d6f334200d3d83736b371ea40c27e4b3addfc5ed39733ccd8fb0a12786786990219ffff03cdd3b55c0f3a2de88374ba006cdd82731dc57139936bca806e971130336b7ff903e344843ec9395d3afc408d37e187bd95a81e989a57ebda882609bc732803f115037b6cd42dcdf9eb9b1dc9703738be3509065981b63b8466e94876557e5a3a9990036ea36bd5b1767b1ef0941af6938a366a56516c908a92c149235c825b67226a43037b2936a195d773b2a0fb8c2a7737f21bbeb11fea531d52e8f7e5b223be12927303005f8bd6b08448b40ccfea06e46a4f1e4c8b0631030f3b8cd1cfd27218bf387703e58ce6f2c55056d69f0c8b276ccb59cdf8a3d0f50020da9ed71fe304202f89b5039d8f647f258c01fc734ee144efdbb71e1512f6a89e462993db2e6d75c979b42d03c2b5a0b637a84839769677b8e46a92b7bb35747aed225f046cc37be5665ffd1903c6cea18c3b76f2477d5aae3c4eded5b5ea3ed5d1b5b7ddf875a58b9dfeaf681403382e19fcc270ab17a2c4954a4776c6febc1e2ba70288bcc8bb2f649cdc3e38ca030b085f85e0441556193f1d56f22cd71236f3be596ec129378ef8608b00698e020219ffff0352d47eaa1468d127b389d0817ffb12ed4e3f3df612c22242e6bcbbbeff3b1c3b03563af8f626e85ee7e64be43a5eed4b285765cd4efc79231373114f9ded52c65a03d934c2e374eb7b57d7b822b6a16fe763a3bd11962b689b27f3106309a5a7ca990331fad22f919c4c0196a3dd28d8ffa80f6dc44cbe9cefdb820ebb9fe8570d9ceb03f9b6002ad9038025e6176b910d372cba80a576576a300d9ebeae614faec2530c0219ffff0384f384c073c94f0a0a928f7580ffd980bbaa301d6b394e526092349883f52a7b038e2c9fe3d26631b88159dbab5892fa6d10ca82aa617828beb07774e894473c4303f119f6616190ee0f1687579d04414b9ab93cd04d0b2ecdcd5f8b1ce382d5bff8038765d600b32275ae3ba35d4cf5de2877e37468ed82b7d3de3d49133e3dadca71033c9af8e5d54f6a6da5546d8854a36a0efec1338a51de0cd8d6018df55673319503a87bd1251aba84bbe990993dd050fce5653a869924b64be24fa93221da692f96038088434cbd1cb90bcf8578ddb91b526ccfc6bd6523b5ea142e5b2fb14f00adc1033713189f36aee6d7187e285091ee280605fbdd8f4f56bd5a4744dfd03f5eed2103b861f598dca2ba5a7b3cbd89da330ce53ddfd0694bea3000ebbc0fc0f643525003216f820253c1460c0428277bc2cf713738a35a9aa4f44c7336c74f7bf575f01303a7efed0ea975191b7a6d9ccc8e19bc7a720d6818ebe38c315727466e57dfe54b0312f4622831b19a87400e787ec252d7a89d63bfe8e9fbc0a376d816f480df12de0338b83970a2485dadca93519c4c71ba90255a520332aa8b381f305bc77e6c2c29039d7855a32d351961f6561449db44cac509721d2dcba76d83fff3fecbc2caa860036a24782cdb49f855943b7fead71337a367b35b094e21e116167b2e50e3798c0203fbd66cb196ae57c32bda4deacac5fc9dc07c8c87931c992dbe6f2e9479dbaa7f03045256612706d5407d17e34d8d50851928ca7254d5a778d48a5036570e1c589703843d95dbb5dd46f2e99866969aabdb3c110f61e8cccac7b51467a53d5440304d035a7c7fed33a144cac821857861ccac5196f8bc926334f525e3cf38033eb1ddbc032c340d5006daaf012660e4aa552618786d10a597464b35cdb82f296e56996d1f03e2508c8d8ab5de73a9561666800bcd88ca562bd4f9fb9259b1a5be11963d4c6d034cb0fb3c925a4d6fbc2309aefc1a0690246986cc038ca8adbaf45924cef0a56f031dd5ef8ab42463d9189ac7a6ea21a5d88febcabc7e31e5c5ebd9489df11b5b4705581e03e6afd22923c813043dcd5ec228a258da4bd4d68e2e938c874c49f9c7800403036b70975aeca283d695694ed2cf89c56f622cf8a2e28038e50ff68873504df22805581d024f1c56625241062b0e087336116f4d58074d0f4114afd8b070e62b8b0c024714aaeb7b58ce4905581d0297d2b47e7ed3e7a1090846a8ff320db4914c94f100469d4c11bef01904010219400203bb71587c776172e6058a7e553453eb1d665f7661c082ea99972aaa962a1fd17c035da4a2615b2eeb0fd0c5fea09f592f4266e5b006c9c63d037e81cb30aa2eec9305581e0356404abcf7ba8c6b0b3e6348a9be4b88ffaada8ed2493f683b0d41d3200c01470245f9f439720005581e03d3cd83898a20d1ef20ad9fff457a264139473dd704ebb40d4eb9c5b970041603953a2109145f0e59cb6f2ef108d94479eabb0f2a5659fe19971b244e40979d1705581e03784ca38237cf5e608a227172089f03b5bbb4380562985ae382b3f9d7400402032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c9420378ec10b48385b5cbb1f06c3047671071a70fec462d74f3ec885920bd499ec2d305581e033f9b46e5a02223ea876d1f8f4aa5d6cae6ff20b41133eb56665ea06a5007011bffffffffffffffff0219b59d03db4bc4dd4abe06c9329a03712d5c263e972b02af8da9be41ef94426b684597530310ecac93f4613a785bd8bf7ed8cdedaf226aea46f481233407a6ab1bad3fd7ff033f5e89754a905a23857e62ae672ef4a712655ad9862d8f9443d96baa7c5e728b03c63664e98559b8c543c63de6f2d76bc3a9601a3cdb71f155532e33d54abe28600313420d7740d2b8ef50ef7807441800344973424851ccce43210b57b0c686b8950390d3aa0b5089769bf0e232ddddb5f013bf5161b415b58b4a0d8bb571ee864eec0357b7da29902e5ed612a20ece4c0c613f76b82791d09993d9d992ae7954e6b4fd033de1e281043d25aeab35287141d40b55b7b95352375285ccc9b1558c75f89f50037d0084815810649d6a45817b84d6f1a180f598cfeb5b319ea77154cab687187603794102cbaeae04d7af89396bdc7f6df1cf22e3cb5ee09a9fa140e7ab7b8626cc0358ad9615bf5f1c99044e6b4e93b54c1a2566e7f1cd73986d81af0834af52f3f50363aa61b1cb8c3edf1c0310d526343b4218c3d4e9edcdc868711b3fdd8fde40be035f8c7fc35d0b04eaf0cfbd019453dad4f0227b3c1391ac13ab040beffa6abf5f038977cfad92d0c9dc9ae23829c09b0d1cb2511134f891e482d3281fc0d74e8b9b0219ffff03c30f74c1e75bf14bc5b17fbcdb9d3b3d51cd64e18389ada3f461de48e950a66703df84d417e9700894fe4adaae333851d2ea97c997936e01d214fbbf112e5540410307ab96993c558a717dc6fbb28fe47654e9c7417ffd268022fb74d61fd553c1700219ffff03ed1b57f86502c5b7faf2acfa2181b0fc1468d6a3a2f64319a8d644722635f6ee03ee289dde4a27342c6aab4784b8ab5be0e775c8ee86dfe5b60578bef522885abb03d417a7477cc82779cd10ff6111daff5e214a65797b208b7edeecccae439f14a6030cdaedd2e700986db3a1158152b7fdc5321d82c83f8dbb58c8b0710364e2e7b6037bbf37800778a627c1bb71713810c8f1051b1e115d9bf04df8c9fb8e5991dfd203f23cbe45cc780603e25069c2612dbca1aa55be2c68c8255d8fa16ed7a37d42c4037cf7026dd6f690ed417203bd3dddfac42040222160c707fe30715d4db741cefb033fc1a59d59e8b09362baf3c713033dc272e4e74a3640f6f2f481d1341f8908240367a0f980c6a7aa83a79229b4a2d7ee2137d2e8378cea302fa358336c785a77a00219ffff03dd8408f90e1b8e2aac1773e8527b3e3fe8f003031a2d9ec315f3efbaeaf5854203f0065fc044e44d47689c85e586fd6344defc2ab46f9113e3a50236fcbd0557f203b0de3e5d8e0ebfcafa2a4d70adcf95aafbd2ccbed6a7c02b14907e639d07d96a03e693236db2fc90357813df37c92c409e64e248aa88905936aba842ff5e97a78f03acde98366e0902258a9dd545b65a2165f9a8dcf2febca539a07269fdba4e647c0349f0da5a2cf5d49467b326f33752d773b184f4b1ec0e72f4ae327cff5324ecfd032b3b48fb18444490552dfcc63a1d51a14e30d8dd4d6716fedd1f7ce1931f93d303948e06de4f60f745bfc8a7f0024d7a0a57e6e16e6c045c21e7ab5af983800e810383ecf0707f57dfbae3231d92863de27c669f3f858386aa1f55ddced5002006700339b8f9a49597d782ee84d43c7f628dc4012aa8f57602f613b5d9c1346c159637038db11549dbfca02df0a3606aecb21c8e9a5724da6cb48d86cf883916a07ea417038bffbbeaef3289945f5fa4de3efb5d19e2fc66306804e9fd3768c22f09a7c11703c27cab9e17775cfec6f5c7d0f50c438a136a9e456e4d15b5069de44e1c6c55660365369a8f05af4ba039a4fec9d900621111e2052ae6ca6d68f95d00951f2f93290307595f15ee424347aae2104f04271961cfcf2eac433cefc068df9785391a67f505581e0358d59fb8b19f55b0b7a040c2ae6559c5a5ac030b542efa2c4e48de3590040203573c2358bb4f83918a06274698050d405fbfdd68556523b973d3b3214cfc498b05581e0394f98b7eb3ffd17da19bb4f152072ab79968fd16e74704340721c451300c01470afcda11def10005581e03e64af469fdb0b515de047c7ef526e8791e363f737cb31543ecae702180040205581d024136aa1eed6ed30a5d345a298cfc9f506746f92b65a76f8485c8f3fc0c08481d874041ba63c00003f7f0abd86483e7191e66d94ef4a6d87fcef06ced52785929bf17dc3b6624f2d603e4219b468bc2aebd57aa05b431706f4fd61e81ded46bfacf0f7376582681224805581d02fd449fdf9b8402500ddf16565510247b02d48e6864021dae367ac90307011bffffffffffffffff02190204033bb8c50dea79d63c97ab4d184ddc100deb1b9d787e796d650a6f2e4a177d6c4805581e03f474e7c003e0c4c1436110986e0baae86aba398cacd965f59b5e8cb0100c0147031ae5fb88a00005581e03c2b0d4d1670ac41d127012812087779c89ceb3476953ed71cf5d7496b0040105581e0303cf475c13fcbef1befe69a62daaf62aec571e5fc15b82d406eea9fc6008474df716ba538b070366ffbfe1d54a1cad4ec2b1c89ef81f2ba12e821bc8e913b907da2f405774a66c0324d0b5ebd658df51889e2c7d1b1d5e002f85465fb5878aaa99f652d9ed315c3d03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0309726f4f05af149f3ef350ac463ffd83dbabe84c97e5096eb3457d867007011bffffffffffffffff0219fdb30347ce8d5012312b53fc4aceb6c9dc35fe15b4ad132c34b19aafa4785dc392265b03ce7ec0df5f07313a690fd72488d21ec4ee2b112669bb9036afb50a273aef3e55035ab0841a3a27955cbd61fb2fa113083abf1bf511b60368fb6933b4d5b4b1f6c60331e3c568a4a0d67a9ef63d5be8b9b5e8ef21a2a2fd332bc932f093ab3390b0b6035eb51adb07b06b3144982080000bbabae72aa7cf518bc56d7364c192a4d05db003dbcfe02a7a4a180aa67d84752181abae55f588785dd627d5b055d9ad60ad912803a3a3fbc3b3ce5930c2d181e94e9e9335475eb665f3858cb981884be94650433b0317193d37717a3ffe02028f2af08e8a5ed4320cbf2d1fbf454b734c47066ef80f03b82f0609febbfc9532ad256323cc4e350cdfcb52076d0528e015cd69999cfa6c0380614e10468e7f55bc3431ae699e28cd87419f717fc1ed11065fd8b7b370a1c4039c2ca20332897af6bfaa02a091e92dad74ce06ebde3dce4ff8dc85a5e2eae1e30349cff24aa18eab1a95a6227d68d15a000d778189aa9f1adf42304636fdec693003af98fee2343b62e043c0d55c69b404eb598fc0b4e46428b8133948e6cfa613880219ffff0326bcb3f0b0d9e3f941783dd58652571499104f4df6807a18d5f64cdab76335f00387c285f0c7a8e20e96ccfeee9767c1af795578501929b12d1718d1328584233003cd872fc2a429eeb8ae58a8b295362b0c99b409e5cea5be0b859fae179a6b148a035781938e0e0df1ba5d3054e19495515b5281493a48b19b34d90f2d6fb6f8dae603718b9b956afee71fe6237d20321f65e57b226f7b3d7bf1466405893b9e95ebc303f1b3c9c6527ae85851a868fc8d92ca40681152b0124091249cde717334616aa2032c4e6e17e8402aa095c20dfefd1aff19238d5ce4229861ca517c869bfee0f6fc0323141ae33e48f73eda44ca59e3b1043f5b72db19a3ebe736db10ee4d2f40092603554b2921d350929ee5b47454f4ac84f224db2774712293f86143de0361ef3dc603617d12d53b9a5f3e09d000ee3123599ddd1a51160ebf4bf32f34589cb29942b40375ca036073971c23b87b712cacb2bf7694fc69ac8a60cdc71335b7db19e8644803aa8f1348dd71c0eeedc8a5e63c9bf3f7a8ef9dd6ee20081df40abc9a6608d06a0219ffff0339458f3ce6cf14f65e466a4be8f9db97f5fa8974aa64cb9f441705248fa282c7032879c25871f12d34cd6ad842d9e3730f396e56a76c5752c656c42ee1985c3c02034b0e88ed009979291f73d68351c8099a40909b129dbeaf323fa51ccbe1a3566e031da49327210acc49f4fdf7c95b8827b15c9871cb5a995a8e6a4c0d6ca8cd3eb30327c5bdfa81123e17f34d4e37d9558eafc84f9da9014237c2e1111eb60c8eaab80219ffff038e38fa4967c5aaff12d0311aa2cd6c4c1d495256a57cb8554ff8bcee6274f28c0315d9050857135f72cb3fcf8855a08a264525be50e60bd83b641e312cb8333f4203888df6334d6954ccfe866ebc8cbbd20d1bdbb35cb18e7c088564290dfe25ca44030c6301b92c9dc3441c505e5d5626aac89b33b605c0c00a70619a000f1ebc9a55034c393eba871d5115c2ee74737c25d4ff56daa315506d3944b9a89a3182f1ceff0219ffff0322ebb2effa69768fa4c6d88a6580a5a3820cbeb116eafe13acc4cbc5fd2e7910030fdf75d14c928e8a2194613492cfac6d61d276c47e8b00605dcc00cb651c52f403c13fa7242ca3992da33196fd61caddf768161722d7f8d41cd50acb110d3a893303a7ddbd98f325a0327dac8249e44ac1e3a08ab43bad312b489d4e19fcd82cb01203bfd2cf13ceb0fef430ba1f6331a5f2ec265f35bd823425cc06f510c60337cb1b0347a96ee770ebeaa30be14df90130f1ce6dee2403ecf9dd9308c86a22bb8934d8031e274c952eed73e0116e4e87e35b7e7a1722d421d2bd772f6f3262e56685e19c034e5b0f3546fa0d32f74204e0d1f5244acc6cbf4fac5778bcab2815719b3725220320ab2d40156acf0953bf78d38fe61986a18173394c98a2f9bc1f903600ed77b3035f7db2bbbdd5b3e74a694f4de914a1ba83f7a8df83ec639be40c4ec31f8b02d903e189bfcbbcc399f22a914470b0b4138080c2ddf03e75122790a5649e0822adac03e855dba99af748416135ede0fcbdd246b3d99483641ff75ccc187f8e406ec7210316981186e7adce16f842112391ad7a68683126fc18d4d708ea3576e3119ee3b203379946d52b668c0532b555d35fc62a37868885884dff70815dac952f5952b384038d6b70fcddd08af41401e906a3c9d8b089494bf50194226ab285bf6d59be2650036f2e202fb557433032d931f4650fc784e7be53311a12526d62a195cd83b2d3d503323bcaf0890988921b14b620451a8b5a9d0d6d585edbc20aef489da12e733f280326ec5a9bb922f7e4ed3a021ab5ea1b68209258c58a84e046a737214c9536cdfe03770aea905cabe93b2b34af92a07dfa4a2f3aa44af4237ab741b171a1a4ddb16c03e6982ff2c644ede9784826adc64e7b5e31d376ebbceaee80cb9979ff211db07503150bc5db2bd2af462914b62acd5bd5867b3e1203c8d876d99deda5c79aa7280e0377d4d1764229f4badd9f16c4db20a0060f93fd93e348d19037797418b835c328031cc58d242b74b20cc2bceb5644c5c548b8cb7e57a977ef84f23d32dca078ed2b03ca63ac21db3615493a2091291a8436d6b8d3733055d4cf447ed321d79d414f5603ed4dc5f6903d82bd4ac398c649f08649b44287c435c6974cedb35c189de44be10345c2d90618f648472f1e476eda2b7294509ffdd8233ffad4e0b192eb780addb203e2439c2958947ef8a00f8bed1055a8b70bcff90b74183fa92ae573571820372803b409ad8d3f3b5f74b0553eebf2cccb834a9c89b85fbdbdc4c364e2e9a78b11ee03352d77eaeb5fd4bc52ede32b9a9a944d330353dd499b68398fd93f4d175416e6030b079fed429a37d1847b87c811231021ed48b50e1f93e990f966fdae93be06df0390a8c51242e5f6691be57f605233adf50eab9b7e442345c0fa6579fc50eb55f905581d02767aa1b32d02aad901be5836fd007b2c0156882e335033aa263bdad70c0247020c330d88cf7c05581d02230679031fe10cd1baf8580dc27ed832c53b2984bbbabec3280b39a40c0447060e207edadc5d0219600005581e0326fee8dc86cda9d507becf85950d4711f23f935cadb79eb18725417ae00c0445010d97ea2203b420bb71ca5777dd7f981dd678716a9a0933d9fd4646459d0ae3e7324ccfca2005581e03c1ea27227bc48db2e706f8e65989a3b53445eaf807e552b9e45544e6500c07471501d7988e900005581e033bd57049eac9c0714e604958be7a4c1bee28f243a2a6914560f70c3d600c0d46a95296ec149905581e0329d35bc7e1f36528a3ebd92899af9a1afc33c80eb1f69b3f59cc2e62800c02470aac447f5e852d03705e6ea79a025d11228849d1726c7ae23c1fb28f8fba9b3c2c5c9e4460143d7e05581e03b64020bba23951082099b96eb9080453e55fe5460c3ab5d1dd71e01fc00c03470151e3af5146a003519312b73a36d460e5b0c2dea42f09b4937a38711b27cf590563d4832173aeb303191eec751596f8836cadc49f7faf531dd0fb7d353858dc98b3f4cd8e3c2abdfc021977bc03fa23a9d317b5392bd5052949eed18c5d5b0f4bbdf8406d51a568e75d9547cba303448c27911021d8ba2fee001bd9154b81aea7a977b2e9059dc8a5e365a1e23e920355778f1f986657370a9856ad5e8efef96d5fa56dcc53d0d776664121698eaee303414eadfd9e8eaf9f796872934ac029d3c60209f69dc9c77fb673f6e68c00330f0219ffff03d8d0d04f7e318072c3d7fb2a138f617531a503e1aa046667969f925d3f3220eb0308d9dfc84e980c604edb86fe9dbb5e48b2e4411f4dfa41ab5b90ca1e193630d403a70878d4221369fe4d9df25f2ae7cf00006140b68b53ddf4b946e667123a66c203c5c8f7fdd220c337df7396b78ce11306326cf6d61ac0f8a0f92ea6869328bba60382d51f77fd098a27992b72d0609031a1b70e75ba54f9e1ef985d830e9ead8e9803373b9248138e581007b841bfc8b1e0aa9eb953fef53da0a334180970f7ea545603e927391bbdddc4d65d013bf52489a255a36f3327d007e479e2983c7616669a760323f581065bb2a60df0958431e205d2fa16900e512975e3c150a70c3a3b77acdb03c56c2fb00167baceacdee97e9c4301a1645de8b350062c6655bce9cb8f8413a00346dbf6a55efeef4d0a3e9913a1c80bf70902a880730266e3ef946392f30b005c0376c919bfc800317e82dd6a215ce459ac116ea5d083b2162ea57875965efe47cc0219ffff03c090ffd7e79e51cf27a8d2cfd637f12dbcc1a7bc923d2834eb511cc81583b7fd0388b5424089ea6839996230bc8671bae887aad0408db24669e31a24c0587e3e2e036a7236b85c9b3b277d2acc40cdad7898957962058a85d3dad2d343f8316ad7140219ffff03b76a802ebb97a20f30ef14652f4b73750e6f2e5f18831962766aa918cf37da0403a88c9c3288b176fbf80f63e8e945cbf3092c45e4a343223aa2c8690e619b739a03d1137d61af030256bdf5d38935036c15a0bd2c6eeef4dd1dc66044bd4929d39c03eebc583400a372d82c7a33629ecac01882f39dd59be7bd6b865f8d5fa4e3da4303c5bd261c82d08283b3856a9325b993122251aef22f0cb599dc025eed7ef7eb1703a32bdf81454be5aed08f637b3144ca9bab23c1bc558740f76431cdb5d72237bc0354afe7b9a533b1cbd4a14735dcd992485a72203b457193be10edd34a98a0c0df032477bb46ffb553693f8a28ff67a911cb6cdbd0ea9d47fba1532700a4f5c8d55d03b90ddb69eca945c3ae19783669b250fe867e9ebbdecc48e9b5213acddf1f7ed00392ec0ab1cac35018ea762c5f25cde22c9079a1593c439cf423cb69e75b61549003380f77066705aa1b470078792ab72e5190f67dcb9b09b072aceeed111abf8404031fb29421c53cfb267d75d0775c49f1d9669ae964c1ce897b3bc5ba25eb1721e90320b67fabd713e205a2e4f954d1fef1d6c010217317aad5e2c6c3133d1f2b557f03a08a91d814d10732fc14c5f0a7dae68ace3187409a02a92f9957b6403f53b8d3034625228437a644c0fd3a1925f9c471c0cb88de7abcf1e26d43a479f79aeda617034f84e702d3c99a6478e50ca930e56b75f5da1b166d51300d92c84dc4d407e73f036fd5c03619a875059bb7d5f95ac9775fd87f8609cfdae250a4c252bd47499d080351d392715acff986d98424d831b07bd2c62eb6fe71581ab39320bead3c47cdb403f9bd9055244b2fd14072eefa4bb8f4c28e394e819d30ec6d758196e080b4125803e14e7982f849346725a9de6e6054a4c9338fb9cb11b579863b412ba25b8cd61d0304fcc6e1d183c25e95ae26cb8118e855aaf903b282571047140b7ab568762c1103ff69bdfe1c574597df2816edc9c96aa79985c326ec225ae18835503644fe8899030843c71993a1641555f9207bd6507b07840fd7971833ec4090c205640021521003cd5f5b65407fdedc11fa894f6495cc3814512737640267805f5583e9eb2da6fd05581e03f34e42da88f9359b9936a27ccfdfc68c7a7e149db329a663644bbf39400c0147016f55f7fa74000365f6b606b5de3d993f918fd6e3ab8284301e711724569fd51b04b14fb2c394ef03b0c08697645f794fa1c85c1e4fe577c985971445b001f97a3c66c5131ebd45f305581e0312dcdb714c2be017a36b3732bb2a186af8fbc41b633bf397ffce1663f00c0144eafdde10033f1fe05d9cc8db0eaae30ddce62021baf6799dd5c499851ba2a359684e73c7940332d2872f41733329fb679891d590dd41c3ae131618128ef390609e1927fc960205581e03a1e09032297cf1617e0f82500c659b234648cc50ee56b312d715084ee00847033b7cb66a98bd03603cae7f7285a987401f1738c6104443369ec71553d32d0fa5dcca585e8e7f460371637130d53421d77c2d103f73028ed0724db2e2dcb06c632615591f00bbf95805581e037a62254edfcecc48997e7717a769e23fb7c7e15550143019d1786d38c0041818030b44c9be520023d9f6091278e7e5a8853257eb9fb3d78e6951315df59679e3b203b9da747c3830fa72c479fea192dec2181bca9529eba5caca10961dd9bf6673e505581e032ba3fca980602ac05c1f41708442408c2b943ea3ee8b9040d255cffa900f01471ca9e1acd276f81bffffffffffffffff05581d02fc2ecb15d1a130278cfc29c6b269f40ffb70a87510a50e95466837f00c074745527cb48e258805581d026112e7e135c538105296d0d148d47aec392c15ba86f55ef8bcc2c8830848050896752c2fe000021920080219becf032f8330c04d49199d32e163388960e17889a7e46f68bea61483dfe671a22071d40318e41f57a82c6140daf3cc6615fcddc4313328c2154a06adf787c2a368509c90030609066914300ca25a42cc94f82f3b94ca45b06f9cd536e1ed54218bf0c54b53039c4ffc0ae76e210dc8f923fedad6df181da73a40e26ccaf5273322f103950df40219ffff03401857f0ef9e2bf5e23a2585b958791d3a1352e09d84036075674934ac6d0510033bc504e8e65175a582f5a1e2238b03afcb6e602eaaae2c392679d24c88bde71f03111a16b0495e8464b1875bdc682332fe33c4e38f3b12cacbb02ae626f3f45dff0350399080d35a56db794af10f07d92e2253dfd2453114fe554f3b245fccd1ecba03180a3cc5d361b85ace62b5050c83c219c7bdf22085757611748e44aa74c19092034c74c659381d81fd6807268872b7b72c990efbc2e841e0f2ebdc632dcdae74460219ffff03658d6e95b01642c326f194dfcaab88324d1b2730d5f8188c49b05c7b24ac09fb03078f9fc894b3b4f8cf9f975bc4410f12b47416f2d3d6d3572f1d0dd90e93da6203012489f4f987957530caa1b989459bd3e9ab6840edf5f1350817000164c2ad81037c7fdaf344e5b7295cc49e996e4d8fba0b2e30adc91069cf079af70dca8487a50385558d4a13b4e5a51f2c4277f6a942b86dfa378f4ea4a492628fa9753e6854b703b629e7bb8c02a1e3cf00eb2690efb64c25fd87b0b8b669b9d1f69f682ff33707037b873489b6fb8252055a275b82728fa099318ca945dc4c2bfbb16eeacf328133035bae660fe8610e406d5935637fd5d91df76687b614fe9d60718d9c3a5cf26d7703f24a9e934fe63387d3047085d06ee7a3c5a1cd9a2ec8d52e0797d03aa2b6f69603ca9f1a895a91ee664fb7cb9f73cf333e609004b1821314f398307cdd3553923203b2feba36335e3be2bbeced506262c9c4fb6d4a04f1de0e61a94817314c67f84603780604adc9c50473b3cfa6d362021d2abd2f2220ffab748489965bedf82351b803ecedc3b892b268747e62769ee811eb51c1cfc21317bbeca9a06661c77eaaf56e0219ffff039b6c6d4ce6bf064e0b48d7527b57be3faabd6ecc5b5bf48d2de0bd465b191b4703c6634f0bb8700d6f76dcd4f264857be8cbbbd7b22d4abc6aadf0efb29ef958ca03ab34b84c8170e1c6778b55bac8be000bd20e5a50b3a004a44593ef35eba9ddec032628c402c882b1a7f764614f9fbe26ab5ce63af2f02b59452ddba262b04a62f403829c8b5ed08ea80d3821ced695f9bd64ef8d65abf69d2c0331d423252885c7d70348aaaabeb673e733ca1930646cff0ebbc39d79847176fe8b0c80da855389d4fc03dcaf9c7afb2e41ac77f7a2cdf986cb3f05cc031c1dde5eae406c8e91eb4b3d9103c4426e05e984a41c97e7f89c712ed59f45a56669a321925409fcb00a14680ba503e012f59983104f1d14c305580ffa3651ccb42b92feae98377cbdff54aa20fc460219ffff03c9d6298f9051550a8fda6939ad1e4c14331dbc16c085c17960ca4f74cb25b83f03e20add3335765a54238da60b83538efb2ea3fcc9f5064166d90ebb811d6293920363f69af781de3412536f8bbb3b5fe9a03fa6127b80440793e2860ad6a28158db032a8fb9d51a210d7c5ad8abc316fd80b017e12d3f57a10f36388f1a0b12b01a7103635db7a590c09f8efa35959835e04a8872cb053724c2916f8ef571c950bc96a6035890ab2836ae769c4063bd444e1646297f69f9eca464081af33fa40ed0bc21a1037518c18300cca30158bc5b9359a930fafb12112d93e8b7d01f169d149d5541c603b779707f01e811a440c551958569a961ee41473b8671f49eb27af944063664c60357d100cc26557af60a0688b7d5212224617b25e1430adf7805a2685071d6670303e146c34ee120ae7e933a78be7a7367f1e56a8600b2c3e4f869b5fa96724a6eb903852a63a242fc410785d2cb9dcadce67b741cf91a218dce11325bec5227a3186003903bbc650e85df3b6341940f5d07894894b20b7bbd7a51c290312a061e1ff32b03aa4ca99f82c5dce3b8f1ca3792d8753727d1cd95ddaa764acf98bdc6121bab530347e4555741d08f13a51bdf624fa887ca02f28407d154ed65d86d7199919ee144032bfdda56e96d0742f23f91bcd3f80bb74c03a14ec9287585861e537c1048d75b05581e0378c986f4630f0109a37e77a8bee5f52446537a4c4e6403eac8b4940e800c024704d8a48469e43805581d020c489034183c153aad72eca47d42b82a6bef1bf00d1face6c892a3d0040205581d02a8f629529a600770d4f68e7c6ac931f06eab3d7f241b0f73d233b3b2084816345785d8a0000002198400038c6e01261f821ea6a0a932c6882f7b48eab7e05687eae336b4f462cd7d668f1b03365add2ee9b85216463763820f344b90be64b657928aaf2daa90a3bfc02fa144032678f9d0b12e91bccedc27c943643f6f57858b91edfc9ee2dbf23895e0c8136f0357974ee861beb96b2eb65d7f013f47f42c68560aafe1f2e63ce53995b2053007038889caefe8644659ea5088df891fd615945c7069788ce6ddc2a59f324b6ea3f503a6e15acf6200ffb8662dc83abb5a58efc3fc6f83ae4647d3ff03ec013d97afe203cf991db76896c91579ffd41c1e7f9e1e990d77738292fe12249da5122e47c121039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581e03cb096985f677fca112035c69522f4f02065dff77e187ac8c721fea4a7007011bffffffffffffffff038edbf762d0a4673106c2dbcb9b96f97723095ae965a0cb5d28643e727e6979fe05581e035b01de579388f4a33bb8faad088c3bfca0dd4094ce055de6ed82f88cc0040305581e03d8a27b491d7f8f4636cc9f2bd052fbda88d3b85cb3841ac5f91bd1ea0004030219f27f0387c9e98beccc1f6cc11fce17f4ad7e5cf6206a102f2d25b1c89f7d786dda526a035c31e8f6ef38b22750bd81b1ad64a574093e2e106c233d4f9c1d21909e98f57703a0bb7d02a740aae69f080d2368d891925c65f9ff09e9ed0a399cfd2a39c333500374b9c035488c31c3fd5c86bfc692fd969faacde543e01a8e8a6d297b414df74b03b1884d7449ad80facef1c61578e4e6df435b6654357f253d847e6b002210f2a0034937e36480b6e98ac0f736071f0346ff727540292aa7ce4d0ad9082264c26dbf031e50e180e432d02f0bb7c30e597d89c91de826fff98ba9678be154bec9d514760381c840e3dd55ba67e3c3a635ca904fae600fcdb5379328c2a1a7a4d57ddf8086036378e76f59d5dd51223c38bce88ded6ee08d6ce2d79e7c5638b0fe8a1f2cb419035336637d9560bbcd8637d486c30bbf377aa8157f905685638b2e41cd6f78971d0387b256888d84ee1587cbf98864c60982b8bbbafdbd34c21347e4c24641db7e4b039eb56b8ad28e65c7f6fc0e0538b5cc5095d28158080484585edc083241a102ed032840820260f3fcc721c7e727e5d5551a160275b2ab1a6c9bc2ffcf87aefd3006031615e70e404e40862371ff1c21a3bf048efd127fa90bfcbdddba56130862d65d038c9f0f4a92bf5266d23d2979aa019ba9ad65f55d6c3311f3bb6840318081111a0219ffff0350421930423df005c869f5baf0720c27505b8cdf8336356110bbd9b2cf517fd803c839761081c422b78f5000d8b92dcf1a06dcd2083bc5600a0838ee99b715559503745579fd0d7ba4a40ea049393d73de00dfda8fb13ffdbef1641857c792ff7887035eb849333b3287f54eacf2bf7526b6c7f6e51a9872bc423379f83fb28747e61b03ddaf906efde0fdc212d90ad0a367a816c3a257d91d00445c565d4c2162f360fa03d3450d2ccc6dc87c1336b78586d4351cad03ae85fc2927cba531ec991900334403ea4dc819dce9a0d5e6379c28c01436b950d7ada60fe006c693e326330f2c534003be5f2d9ed442ce2c8b6586ba94daebc91994d9a1ad748c3f4cf3c8f74d7bacad032cead3d32831f2b4adc9a39137360711a4b090b5f7f0e051d5c09bef71e4e46703ba6d0a773e6ff7a6b14d350dea2110826e3c43c769efaff67755bb39e6c69900037377a61a3befbb0c5732645ad2f36b2fda8ef0674f4fbe22c7b68390165c56fb03d99ecd92ab7a80af7031099cd73c22908779a98c67aceaa2231e0de83802ba72039b314309d64be6ed93d3470a75abc90d5d22f5e4847f4562db9e42a7ca426f220219ffff03154ef3b624bb3ccd39a60230400c1ddc669c3c5914cff51ab529a7c6bd58ebbf03487ff82ba1054507f4221651de9837711d76c3f64af08fa81f987f681367265c0219ffff032fdc4737c0abd3e34b2d5ea4d2140d038b8c57be7bf5a5c48ce1a2cd674efab703fbd9e453cf08f7047231778d69b054c8c1a2ab2f0b9f02191ce66adc151cf3e6033a741fc375cfc682fbfe50537640eae319cc9d5ec5e4e4237c8b85b40183ebed03ba7d9cc35a17f222cb710ef6d387d5cb359372745adc1f79997d1dbcac00079203e7656ebaf5039f65321540d2180ef9421ab94e13bafffadcdd713dbec93b125f03f05358e0157604757df7b58cf152e8ee39ea94a2511eeb441b749f6fdb24f9ec03b355b59f5e4fa19b3b60b624a33456bb1ead2b3bb87632250c1e1b36da5e0174033edddd94224b3bbc1a572ee8255a4ba5c8770567d180949afb9b213e4b531d8303ea2e36bd1caa80bf2fe1e634f01c46f57f0d0ef27a4b8b6cbf3e1f8feb11fb5803a3f1241ba81f771696ca77035b0d46c7b41a79b3c199eb5f443a3e284115ab29031ea24ea0dcbb952bd311bc2ef5071d1b5d5a62f9b913f1c10ee888289b40d2e403a65e801a9c3daaafee975fa4b305aae084291da2b0d119969230f911c0a3e019038e0b6543849095bf9538830c3648fde3f4efec495c7db065228f1e85eba96a2f0366d978265c239e4ed3252a6b317d1440403de04eb23268692256cce79907883d0321862ad018de0c81e76c54a79fd80b3a9ef92956faba3760815eac07c1d3446603f818c7549231da372d8d44600a5f510ad8c469b92b55f9344a7b0a143a6c095603f7f5bbf1e145437ecd4978806dfebfcb701ef313286842dbc5ff9f83d17a0ab203e11fe15aec4374d953a2a2daa360f7654e38315dfc1442d3e2fc4844ed9666d5039e713ef28ac1d7093a09951572606b61486d47f40baa6445cf66ca62f5e96a78033d060f90277b7aaffe0e85b8d953852b7be25d16d42792a6aee24619d660097c037e5a5cf2bb18086daa4d21ed2e0bb212eadd6ccace8964d1f753dd85c073242e03e25e5b44567c4c230ef7e3b474b5d2aefc12f6acb9286d7084bf6f46cbae1aa003737f483196809d5c105c1226e2a1fa52a950af3f9953d3031e701fb6ceb68b1903cd89629f797b1795c6089cc92b1a67eaf9c55b9535b93bd562347971d0f841e403dd028accb15032ae344fdd0d8c4911cc4d24adbbe3746195f99feb0245a3543b03ed06d5369be38104d1e47344f532a8bd853b0b82ee66987d1dcb228ebf5c14cd03c2de8afe7c9951348bff21f8d0142bcf796c47ec4bf846f801fd74f1c0b2bae203139c19b406b0533d6986062ee0b533afa56b88a84660109826c2a49c2f05959b03e00bf865e81da04fffa83f6929d73d2f6acfff64d71225b9e2220c42d8a06b7003123774b36ddcf129c74c983a34673542a26e98782ab828cc95bdec3bb06e8346039f8a5edbd53ffd4215b8208e4040f7f42dc246ddc38588b53917f7c51a67f2ff030123d128bebff9e6b97a9837817043c74dff1e825c4d644313faef81eb8d7d5a03a16368dbb3b2d09ddcf5f85b7898829d894b266fab01257cbf7729718013b7bb03a621a52fd05ab21324338aac9285560d5fc7ba19b8ddf2724c32470796be0aff03953dc816271e52757519515de2966fbf50ed81f8f3b5d1d5003b0a675179c12e03d0c7abe027f0b16c64f5acfa24d0ea3e23bfd18c26e79e081a5427936476e6ec0372a797501566aff4c4cf03676828c2fb0ade4df594abc145f7bacb89d546d8de03383c6b3822cc1fb009469c310fa16d8fa50a6ee52149639f45704952ea091cdf03ca882512f483d441c6a04a2402f3a8f7d3d37112b40602055f7166c6ec106f870358fd07b5b3084a74b1971b4137d2a6557f1f17d145a3dac7a64a864befbc97f0033e7a05f4d0a31195e06d88500c8edb2afd9e240eeae77bbaf7296b219c7b181a03be307ca218f90047891338e457ddc916103bdfeabaf731b1c19e530466de7e780337e306018680c1bf0747b0a0438d33f88e079a27c4340d9f2f29a954f7ecd4da03a55619a52dab73eb51b1783d1ab00bbf88c19047e658fa44c29c9c17da8c90c705581e0359c1910de2ad33f488b6a8ccee3255b17f0d5800efe7c870ed9489ef600406030c9d7eee5fb85220c2e5b1ee3169a3a8c426fb99173f0d3b6e856c87577471c005581e03e513958740da2a8cdb2260e6104868d2830a228b8a7553376c35ead3000c0246b2c4a797de1005581e037b43dc0385da41e559db1479660b8b6edbcffd8a91a91e428ef6adfde0084702615c87ffe000030fc3cd6bf0ba2760efe342ca909061812b1d5f4404d807751b21d5d764b324e205581d02b29f973d8d9d189cdd370f279c7ceb2ad36e6f4070cb74ebc1aff54c0c0246e52c0f3164a805581d02c9047246a750cc12567913f038f3144aeefb7459848b7565ff9645d00c1a003dcc644a06ffc72b68225b97671b02182105581e0348565dc11edcb113ca851403912e543a78c03200d840df80b5f09dfcb00c0147028f403bf4d000021920be0371a268668252614f52f33d4e796f299fdf983fdc72979e2e3815f2603715104d037962ac9d14b9211b1f84c23ba2305e2a4733abe78fe7e391b69bec815714d3830345b353720a309c559d604f946d4d9c7510d891556f1e58104ee593aac03112d703b74597ecf39805f1e2cc6ffaeaca5f2a81c86612901c828ec6451a56ab71ed17034548d08624ef66496c4441ad4de6b12e44ece15444e76e56915fc2bf5496121f03d0c06d83baa5492ca4f8bcabc52db5b89fed7312b08acd688e17d4b12b0ac31103432b6aada0acbe90f38adf4943ef011fc3d6f7804d31b340d1384b592f5a610a0219ffff03dc1a327dfac23468ad6cf1d45dbe86d5310dc6422ecf89d3302f855b78629cf90311fb2fbbf506ed1e0ecb7d36acdc23276fade388d7f3150009a4726213fe78200219ffff0219ffff031c28656b51f1c9f53f636f72c14a262fd155772a113dc82dbf395b5122651cb00313ebe3b8e2949762a5e7675b49a433e1b6fda067a5154d12c68db8bed9a2ba6d034c73b0cffde401405f9b7b6b1398c8eecf498c989cc74d5ed8dc4f8c6698130c03dc72faff86de5c1261939b6b81b455a64e0245eb9cdbdc850f5225913152a78d03ab3ccbfc577976af541fa825d2cab0cdc7df78642329bd4b6816c5e79f51605d039e49962ffc70681faffb7a49ec705061d0b2f13310eafb01d6344e8696005d68033a71944231f2591e4be85b9bcf36f85c7707827af65d300ea1870158471ec1b70385489460de30c7afd6fe6a7c10e4735b742e1e3088f33531b1fece1de563df0d034e06aa82f0d7afbff90f5b4178a4f94a8a45c5131a60ebd23162de7b2502e5c5034de81a9461c35ae7a39f263068fd1bf052b768fcb7e8e2db78d3fb0bee7e01ec03a1c97f7096e8d8d53338012d2433362c7a1e4a2f65ebc1bd5eaaf480731253f003231087b29ad43ce61b4e39a2be03e037c6a887803999722917d274fe9be55fdf034e6312cf5a361962dc0f8056c4cd4980f36ff789858c2bb2c38131502ef8aa0e03c137dd797d75b67dc3b882513ed86438ea45293b1d6d1ca37397b846999f35f003e514d9cc17071addb9c454e4cbdb0b2b5f3bcc41e84602ee4d578b40066fd6e60398d1bf047bb0fff08a309431be51e1dee141d713bf2382681a50105b22a126f803a61e85c8030196a765fc65fb9195ef2f9fc844fc43fb2e2a6e9c841560861ed903bd1575c04990b2d62c4d0b0fbb99176e225ace94663cdbfd7f9d857aab0b869203f65b6778e02e76037b944c6c184cad80ab83cb6b5a8b31ac262f15b4b21691e6030415f6e7f4cce58fe9b50c8fc0705b3a50c254507ca97905f543baf9dde6abbe03f00c6540c2f3ffa5fa447dec6e0f6279af8f47b63cedf1acef71f5df28c2c0a0038af3c8e5da7b68c6273050ca2d78f94fa7a66e0db21967bfe9b5bb39e1dabb1f034dca2d99f0c38c8450bb21d1883b22278612878e904333659e80aadacc6d608e0371d46cfef58ac879a19f2298a51daebc26e2c6340857c94ce1eb6ce88765b4f5038c08831ff70b4e555f8eaaa473771ae48e641f157bae780af7ae770192ffa21405581e03f80649189313a676283caf39466811a3f7b41a1dc5bad44fbe1cf67560040305581e039e6d477d3175dcc43ffb0037ec3f2c1812896d77fa52db3c8e8f7eb450040103cc9ca07af8ddda0eb08fa183eaf2798ddb0fc2c2cfd6c06cf687789ef9bcdc8804594915608060405234801561001057600080fd5b50600436106102115760003560e01c8063715018a6116101255780639e34070f116100ad578063cf6654431161007c578063cf66544314610664578063d505accf14610682578063dd62ed3e1461069e578063f1127ed8146106ce578063f2fde38b146106fe57610211565b80639e34070f146105b8578063a457c2d7146105e8578063a9059cbb14610618578063c3cda5201461064857610211565b80637ecebe00116100f45780637ecebe00146104ec5780638da5cb5b1461051c5780638e539e8c1461053a57806395d89b411461056a5780639ab24eb01461058857610211565b8063715018a61461048c578063761229031461049657806376c71ca1146104b25780637cb64759146104d057610211565b806339509351116101a8578063587cde1e11610177578063587cde1e146103c25780635c19a95c146103f257806366deac471461040e5780636fcfff451461042c57806370a082311461045c57610211565b806339509351146103285780633a46b1a81461035857806340c10f1914610388578063515b612a146103a457610211565b806323b872dd116101e457806323b872dd1461029e5780632eb4a7ab146102ce578063313ce567146102ec5780633644e5151461030a57610211565b806301681a621461021657806306fdde0314610232578063095ea7b31461025057806318160ddd14610280575b600080fd5b610230600480360381019061022b9190612f50565b61071a565b005b61023a6107f0565b60405161024791906139c7565b60405180910390f35b61026a600480360381019061026591906130b2565b610882565b6040516102779190613853565b60405180910390f35b6102886108a0565b6040516102959190613d84565b60405180910390f35b6102b860048036038101906102b39190612fbd565b6108aa565b6040516102c59190613853565b60405180910390f35b6102d66109a2565b6040516102e3919061386e565b60405180910390f35b6102f46109a8565b6040516103019190613de3565b60405180910390f35b6103126109b1565b60405161031f919061386e565b60405180910390f35b610342600480360381019061033d91906130b2565b6109c0565b60405161034f9190613853565b60405180910390f35b610372600480360381019061036d91906130b2565b610a6c565b60405161037f9190613d84565b60405180910390f35b6103a2600480360381019061039d91906130b2565b610b00565b005b6103ac610c48565b6040516103b99190613d84565b60405180910390f35b6103dc60048036038101906103d79190612f50565b610c50565b6040516103e99190613838565b60405180910390f35b61040c60048036038101906104079190612f50565b610cb9565b005b610416610ccd565b6040516104239190613d84565b60405180910390f35b61044660048036038101906104419190612f50565b610cd3565b6040516104539190613dc8565b60405180910390f35b61047660048036038101906104719190612f50565b610d27565b6040516104839190613d84565b60405180910390f35b610494610d6f565b005b6104b060048036038101906104ab9190613219565b610df7565b005b6104ba610f82565b6040516104c79190613d84565b60405180910390f35b6104ea60048036038101906104e591906131bf565b610f87565b005b61050660048036038101906105019190612f50565b61108b565b6040516105139190613d84565b60405180910390f35b6105246110db565b6040516105319190613838565b60405180910390f35b610554600480360381019061054f91906131ec565b611105565b6040516105619190613d84565b60405180910390f35b61057261115b565b60405161057f91906139c7565b60405180910390f35b6105a2600480360381019061059d9190612f50565b6111ed565b6040516105af9190613d84565b60405180910390f35b6105d260048036038101906105cd91906131ec565b6112fe565b6040516105df9190613853565b60405180910390f35b61060260048036038101906105fd91906130b2565b61131b565b60405161060f9190613853565b60405180910390f35b610632600480360381019061062d91906130b2565b611406565b60405161063f9190613853565b60405180910390f35b610662600480360381019061065d91906130f2565b611424565b005b61066c611528565b6040516106799190613d84565b60405180910390f35b61069c60048036038101906106979190613010565b61152e565b005b6106b860048036038101906106b39190612f7d565b611670565b6040516106c59190613d84565b60405180910390f35b6106e860048036038101906106e3919061317f565b6116f7565b6040516106f59190613d69565b60405180910390f35b61071860048036038101906107139190612f50565b611807565b005b610722611c06565b73ffffffffffffffffffffffffffffffffffffffff166107406110db565b73ffffffffffffffffffffffffffffffffffffffff1614610796576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078d90613c49565b60405180910390fd5b600c5442116107da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d190613b29565b60405180910390fd5b6107ed30826107e830610d27565b611c0e565b50565b6060600380546107ff90614004565b80601f016020809104026020016040519081016040528092919081815260200182805461082b90614004565b80156108785780601f1061084d57610100808354040283529160200191610878565b820191906000526020600020905b81548152906001019060200180831161085b57829003601f168201915b5050505050905090565b600061089661088f611c06565b8484611e8f565b6001905092915050565b6000600254905090565b60006108b7848484611c0e565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610902611c06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610982576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097990613c09565b60405180910390fd5b6109968561098e611c06565b858403611e8f565b60019150509392505050565b600a5481565b60006012905090565b60006109bb61205a565b905090565b6000610a626109cd611c06565b8484600160006109db611c06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610a5d9190613e25565b611e8f565b6001905092915050565b6000438210610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa790613a29565b60405180910390fd5b610af8600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208361211d565b905092915050565b610b08611c06565b73ffffffffffffffffffffffffffffffffffffffff16610b266110db565b73ffffffffffffffffffffffffffffffffffffffff1614610b7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7390613c49565b60405180910390fd5b61271060c8610b896108a0565b610b939190613eac565b610b9d9190613e7b565b811115610bdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd690613bc9565b60405180910390fd5b600b54421015610c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1b90613cc9565b60405180910390fd5b6301e1338042610c349190613e25565b600b81905550610c448282612229565b5050565b6301e1338081565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610cca610cc4611c06565b82612237565b50565b600c5481565b6000610d20600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050611b6d565b9050919050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d77611c06565b73ffffffffffffffffffffffffffffffffffffffff16610d956110db565b73ffffffffffffffffffffffffffffffffffffffff1614610deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de290613c49565b60405180910390fd5b610df56000612351565b565b60003385604051602001610e0c9291906137a9565b604051602081830303815290604052805190602001209050600080610e75858580806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f82011690508083019250505050505050600a5485612417565b9150915081610eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb090613b69565b60405180910390fd5b610ec2816112fe565b15610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef990613ca9565b60405180910390fd5b610f1681600d6124f390919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d488604051610f5c9190613d84565b60405180910390a2610f6e3387612237565b610f79303389611c0e565b50505050505050565b60c881565b610f8f611c06565b73ffffffffffffffffffffffffffffffffffffffff16610fad6110db565b73ffffffffffffffffffffffffffffffffffffffff1614611003576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffa90613c49565b60405180910390fd5b6000801b600a541461104a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104190613ba9565b60405180910390fd5b80600a819055507f1b930366dfeaa7eb3b325021e4ae81e36527063452ee55b86c95f85b36f4c31c81604051611080919061386e565b60405180910390a150565b60006110d4600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612531565b9050919050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000438210611149576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114090613a29565b60405180910390fd5b61115460088361211d565b9050919050565b60606004805461116a90614004565b80601f016020809104026020016040519081016040528092919081815260200182805461119690614004565b80156111e35780601f106111b8576101008083540402835291602001916111e3565b820191906000526020600020905b8154815290600101906020018083116111c657829003601f168201915b5050505050905090565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050600081146112d557600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001826112899190613f06565b8154811061129a57611299614173565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166112d8565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b600061131482600d61253f90919063ffffffff16565b9050919050565b6000806001600061132a611c06565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113de90613d29565b60405180910390fd5b6113fb6113f2611c06565b85858403611e8f565b600191505092915050565b600061141a611413611c06565b8484611c0e565b6001905092915050565b83421115611467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145e90613a49565b60405180910390fd5b60006114c96114c17fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016114a694939291906138ea565b6040516020818303038152906040528051906020012061257b565b858585612595565b90506114d4816125c0565b8614611515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150c90613a89565b60405180910390fd5b61151f8188612237565b50505050505050565b600b5481565b83421115611571576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156890613ae9565b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886115a08c6125c0565b896040516020016115b696959493929190613889565b60405160208183030381529060405280519060200120905060006115d98261257b565b905060006115e982878787612595565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165090613be9565b60405180910390fd5b6116648a8a8a611e8f565b50505050505050505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6116ff612e53565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208263ffffffff168154811061175657611755614173565b5b906000526020600020016040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b61180f611c06565b73ffffffffffffffffffffffffffffffffffffffff1661182d6110db565b73ffffffffffffffffffffffffffffffffffffffff1614611883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187a90613c49565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ea90613aa9565b60405180910390fd5b6118fc81612351565b50565b611909828261198c565b61191161261e565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166119376108a0565b1115611978576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196f90613c29565b60405180910390fd5b6119866008611aec83612642565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f390613d49565b60405180910390fd5b611a08600083836128ba565b8060026000828254611a1a9190613e25565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a6f9190613e25565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ad49190613d84565b60405180910390a3611ae8600083836128bf565b5050565b60008183611afa9190613e25565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115611b65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5c90613c69565b60405180910390fd5b819050919050565b600063ffffffff8016821115611bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611baf90613ce9565b60405180910390fd5b819050919050565b611bcb838383611beb565b611be6611bd784610c50565b611be084610c50565b836128cf565b505050565b505050565b60008183611bfe9190613f06565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611c7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7590613c89565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611cee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce590613a09565b60405180910390fd5b611cf98383836128ba565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7690613b09565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611e129190613e25565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611e769190613d84565b60405180910390a3611e898484846128bf565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef690613d09565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f6690613ac9565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161204d9190613d84565b60405180910390a3505050565b60007f00000000000000000000000000000000000000000000000000000000000000014614156120ac577f3172a7257acc6467eb985cfb1d52917228ac18e308bae31d65407e0983bd10a2905061211a565b6121177f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f5e847eeb43ed41f6a65eab053c70fadbecbb8abae550470f5aa0cb413a7d605c7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6612ac8565b90505b90565b6000808380549050905060005b8181101561219c57600061213e8284612b02565b90508486828154811061215457612153614173565b5b9060005260206000200160000160009054906101000a900463ffffffff1663ffffffff16111561218657809250612196565b6001816121939190613e25565b91505b5061212a565b600082146121fe57846001836121b29190613f06565b815481106121c3576121c2614173565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16612201565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169250505092915050565b61223382826118ff565b5050565b600061224283610c50565b9050600061224f84610d27565b905082600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a461234b8284836128cf565b50505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060008390506000805b87518110156124e0576002826124399190613eac565b915060008882815181106124505761244f614173565b5b602002602001015190508084116124915783816040516020016124749291906137d5565b6040516020818303038152906040528051906020012093506124cc565b80846040516020016124a49291906137d5565b6040516020818303038152906040528051906020012093506001836124c99190613e25565b92505b5080806124d890614036565b915050612423565b5085821481935093505050935093915050565b6000600882901c9050600060ff83166001901b9050808460000160008481526020019081526020016000206000828254179250508190555050505050565b600081600001549050919050565b600080600883901c9050600060ff84166001901b9050600081866000016000858152602001908152602001600020541614159250505092915050565b600061258e61258861205a565b83612b28565b9050919050565b60008060006125a687878787612b5b565b915091506125b381612c68565b8192505050949350505050565b600080600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061260d81612531565b915061261881612e3d565b50919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b600080600085805490509050600081146126b057856001826126649190613f06565b8154811061267557612674614173565b5b9060005260206000200160000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166126b3565b60005b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692506126e183858763ffffffff16565b9150600081118015612734575043866001836126fd9190613f06565b8154811061270e5761270d614173565b5b9060005260206000200160000160009054906101000a900463ffffffff1663ffffffff16145b156127c15761274282611b02565b866001836127509190613f06565b8154811061276157612760614173565b5b9060005260206000200160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055506128b1565b8560405180604001604052806127d643611b6d565b63ffffffff1681526020016127ea85611b02565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b50935093915050565b505050565b6128ca838383611bc0565b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561290b5750600081115b15612ac357600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146129e957600080612992600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611bf085612642565b915091508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516129de929190613d9f565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612ac257600080612a6b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611aec85612642565b915091508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612ab7929190613d9f565b60405180910390a250505b5b505050565b60008383834630604051602001612ae395949392919061392f565b6040516020818303038152906040528051906020012090509392505050565b60006002828418612b139190613e7b565b828416612b209190613e25565b905092915050565b60008282604051602001612b3d929190613801565b60405160208183030381529060405280519060200120905092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612b96576000600391509150612c5f565b601b8560ff1614158015612bae5750601c8560ff1614155b15612bc0576000600491509150612c5f565b600060018787878760405160008152602001604052604051612be59493929190613982565b6020604051602081039080840390855afa158015612c07573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612c5657600060019250925050612c5f565b80600092509250505b94509492505050565b60006004811115612c7c57612c7b614115565b5b816004811115612c8f57612c8e614115565b5b1415612c9a57612e3a565b60016004811115612cae57612cad614115565b5b816004811115612cc157612cc0614115565b5b1415612d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cf9906139e9565b60405180910390fd5b60026004811115612d1657612d15614115565b5b816004811115612d2957612d28614115565b5b1415612d6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6190613a69565b60405180910390fd5b60036004811115612d7e57612d7d614115565b5b816004811115612d9157612d90614115565b5b1415612dd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dc990613b49565b60405180910390fd5b600480811115612de557612de4614115565b5b816004811115612df857612df7614115565b5b1415612e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e3090613b89565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b6040518060400160405280600063ffffffff16815260200160007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b600081359050612ea08161486c565b92915050565b60008083601f840112612ebc57612ebb6141a7565b5b8235905067ffffffffffffffff811115612ed957612ed86141a2565b5b602083019150836020820283011115612ef557612ef46141ac565b5b9250929050565b600081359050612f0b81614883565b92915050565b600081359050612f208161489a565b92915050565b600081359050612f35816148b1565b92915050565b600081359050612f4a816148c8565b92915050565b600060208284031215612f6657612f656141b6565b5b6000612f7484828501612e91565b91505092915050565b60008060408385031215612f9457612f936141b6565b5b6000612fa285828601612e91565b9250506020612fb385828601612e91565b9150509250929050565b600080600060608486031215612fd657612fd56141b6565b5b6000612fe486828701612e91565b9350506020612ff586828701612e91565b925050604061300686828701612f11565b9150509250925092565b600080600080600080600060e0888a03121561302f5761302e6141b6565b5b600061303d8a828b01612e91565b975050602061304e8a828b01612e91565b965050604061305f8a828b01612f11565b95505060606130708a828b01612f11565b94505060806130818a828b01612f3b565b93505060a06130928a828b01612efc565b92505060c06130a38a828b01612efc565b91505092959891949750929550565b600080604083850312156130c9576130c86141b6565b5b60006130d785828601612e91565b92505060206130e885828601612f11565b9150509250929050565b60008060008060008060c0878903121561310f5761310e6141b6565b5b600061311d89828a01612e91565b965050602061312e89828a01612f11565b955050604061313f89828a01612f11565b945050606061315089828a01612f3b565b935050608061316189828a01612efc565b92505060a061317289828a01612efc565b9150509295509295509295565b60008060408385031215613196576131956141b6565b5b60006131a485828601612e91565b92505060206131b585828601612f26565b9150509250929050565b6000602082840312156131d5576131d46141b6565b5b60006131e384828501612efc565b91505092915050565b600060208284031215613202576132016141b6565b5b600061321084828501612f11565b91505092915050565b60008060008060608587031215613233576132326141b6565b5b600061324187828801612f11565b945050602061325287828801612e91565b935050604085013567ffffffffffffffff811115613273576132726141b1565b5b61327f87828801612ea6565b925092505092959194509250565b61329681613f3a565b82525050565b6132ad6132a882613f3a565b61407f565b82525050565b6132bc81613f4c565b82525050565b6132cb81613f58565b82525050565b6132e26132dd82613f58565b614091565b82525050565b60006132f382613dfe565b6132fd8185613e09565b935061330d818560208601613fd1565b613316816141bb565b840191505092915050565b600061332e601883613e09565b9150613339826141d9565b602082019050919050565b6000613351602383613e09565b915061335c82614202565b604082019050919050565b6000613374601f83613e09565b915061337f82614251565b602082019050919050565b6000613397601d83613e09565b91506133a28261427a565b602082019050919050565b60006133ba601f83613e09565b91506133c5826142a3565b602082019050919050565b60006133dd601983613e09565b91506133e8826142cc565b602082019050919050565b6000613400602683613e09565b915061340b826142f5565b604082019050919050565b6000613423602283613e09565b915061342e82614344565b604082019050919050565b6000613446600283613e1a565b915061345182614393565b600282019050919050565b6000613469601d83613e09565b9150613474826143bc565b602082019050919050565b600061348c602683613e09565b9150613497826143e5565b604082019050919050565b60006134af601f83613e09565b91506134ba82614434565b602082019050919050565b60006134d2602283613e09565b91506134dd8261445d565b604082019050919050565b60006134f5601a83613e09565b9150613500826144ac565b602082019050919050565b6000613518602283613e09565b9150613523826144d5565b604082019050919050565b600061353b601c83613e09565b915061354682614524565b602082019050919050565b600061355e602083613e09565b91506135698261454d565b602082019050919050565b6000613581601e83613e09565b915061358c82614576565b602082019050919050565b60006135a4602883613e09565b91506135af8261459f565b604082019050919050565b60006135c7603083613e09565b91506135d2826145ee565b604082019050919050565b60006135ea602083613e09565b91506135f58261463d565b602082019050919050565b600061360d602783613e09565b915061361882614666565b604082019050919050565b6000613630602583613e09565b915061363b826146b5565b604082019050919050565b6000613653601c83613e09565b915061365e82614704565b602082019050919050565b6000613676601483613e09565b91506136818261472d565b602082019050919050565b6000613699602683613e09565b91506136a482614756565b604082019050919050565b60006136bc602483613e09565b91506136c7826147a5565b604082019050919050565b60006136df602583613e09565b91506136ea826147f4565b604082019050919050565b6000613702601f83613e09565b915061370d82614843565b602082019050919050565b60408201600082015161372e600085018261377c565b5060208201516137416020850182613747565b50505050565b61375081613f82565b82525050565b61375f81613faa565b82525050565b61377661377182613faa565b6140ad565b82525050565b61378581613fb4565b82525050565b61379481613fb4565b82525050565b6137a381613fc4565b82525050565b60006137b5828561329c565b6014820191506137c58284613765565b6020820191508190509392505050565b60006137e182856132d1565b6020820191506137f182846132d1565b6020820191508190509392505050565b600061380c82613439565b915061381882856132d1565b60208201915061382882846132d1565b6020820191508190509392505050565b600060208201905061384d600083018461328d565b92915050565b600060208201905061386860008301846132b3565b92915050565b600060208201905061388360008301846132c2565b92915050565b600060c08201905061389e60008301896132c2565b6138ab602083018861328d565b6138b8604083018761328d565b6138c56060830186613756565b6138d26080830185613756565b6138df60a0830184613756565b979650505050505050565b60006080820190506138ff60008301876132c2565b61390c602083018661328d565b6139196040830185613756565b6139266060830184613756565b95945050505050565b600060a08201905061394460008301886132c2565b61395160208301876132c2565b61395e60408301866132c2565b61396b6060830185613756565b613978608083018461328d565b9695505050505050565b600060808201905061399760008301876132c2565b6139a4602083018661379a565b6139b160408301856132c2565b6139be60608301846132c2565b95945050505050565b600060208201905081810360008301526139e181846132e8565b905092915050565b60006020820190508181036000830152613a0281613321565b9050919050565b60006020820190508181036000830152613a2281613344565b9050919050565b60006020820190508181036000830152613a4281613367565b9050919050565b60006020820190508181036000830152613a628161338a565b9050919050565b60006020820190508181036000830152613a82816133ad565b9050919050565b60006020820190508181036000830152613aa2816133d0565b9050919050565b60006020820190508181036000830152613ac2816133f3565b9050919050565b60006020820190508181036000830152613ae281613416565b9050919050565b60006020820190508181036000830152613b028161345c565b9050919050565b60006020820190508181036000830152613b228161347f565b9050919050565b60006020820190508181036000830152613b42816134a2565b9050919050565b60006020820190508181036000830152613b62816134c5565b9050919050565b60006020820190508181036000830152613b82816134e8565b9050919050565b60006020820190508181036000830152613ba28161350b565b9050919050565b60006020820190508181036000830152613bc28161352e565b9050919050565b60006020820190508181036000830152613be281613551565b9050919050565b60006020820190508181036000830152613c0281613574565b9050919050565b60006020820190508181036000830152613c2281613597565b9050919050565b60006020820190508181036000830152613c42816135ba565b9050919050565b60006020820190508181036000830152613c62816135dd565b9050919050565b60006020820190508181036000830152613c8281613600565b9050919050565b60006020820190508181036000830152613ca281613623565b9050919050565b60006020820190508181036000830152613cc281613646565b9050919050565b60006020820190508181036000830152613ce281613669565b9050919050565b60006020820190508181036000830152613d028161368c565b9050919050565b60006020820190508181036000830152613d22816136af565b9050919050565b60006020820190508181036000830152613d42816136d2565b9050919050565b60006020820190508181036000830152613d62816136f5565b9050919050565b6000604082019050613d7e6000830184613718565b92915050565b6000602082019050613d996000830184613756565b92915050565b6000604082019050613db46000830185613756565b613dc16020830184613756565b9392505050565b6000602082019050613ddd600083018461378b565b92915050565b6000602082019050613df8600083018461379a565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b6000613e3082613faa565b9150613e3b83613faa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613e7057613e6f6140b7565b5b828201905092915050565b6000613e8682613faa565b9150613e9183613faa565b925082613ea157613ea06140e6565b5b828204905092915050565b6000613eb782613faa565b9150613ec283613faa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613efb57613efa6140b7565b5b828202905092915050565b6000613f1182613faa565b9150613f1c83613faa565b925082821015613f2f57613f2e6140b7565b5b828203905092915050565b6000613f4582613f62565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600060ff82169050919050565b60005b83811015613fef578082015181840152602081019050613fd4565b83811115613ffe576000848401525b50505050565b6000600282049050600182168061401c57607f821691505b602082108114156140305761402f614144565b5b50919050565b600061404182613faa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614074576140736140b7565b5b600182019050919050565b600061408a8261409b565b9050919050565b6000819050919050565b60006140a6826141cc565b9050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160601b9050919050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e656400600082015250565b7f4552433230566f7465733a207369676e61747572652065787069726564000000600082015250565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b7f4552433230566f7465733a20696e76616c6964206e6f6e636500000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f1901000000000000000000000000000000000000000000000000000000000000600082015250565b7f45524332305065726d69743a206578706972656420646561646c696e65000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f454e533a20436c61696d20706572696f64206e6f742079657420656e64656400600082015250565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f454e533a2056616c69642070726f6f662072657175697265642e000000000000600082015250565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f454e533a204d65726b6c6520726f6f7420616c72656164792073657400000000600082015250565b7f454e533a204d696e742065786365656473206d6178696d756d20616d6f756e74600082015250565b7f45524332305065726d69743a20696e76616c6964207369676e61747572650000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60008201527f766572666c6f77696e6720766f74657300000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f454e533a20546f6b656e7320616c726561647920636c61696d65642e00000000600082015250565b7f454e533a2043616e6e6f74206d696e7420796574000000000000000000000000600082015250565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b61487581613f3a565b811461488057600080fd5b50565b61488c81613f58565b811461489757600080fd5b50565b6148a381613faa565b81146148ae57600080fd5b50565b6148ba81613fb4565b81146148c557600080fd5b50565b6148d181613fc4565b81146148dc57600080fd5b5056fea26469706673582212200e1d1f80eb11feb77de2c926a297bb44767cf976cc790a4953dfc0bc5fd832c664736f6c63430008070033036505a8aafcf63d1ca4b67d071203401610fea5e91461e433ca09f42b2239f3110357b21dd370c43151ba1711c348e94598e78b9679fb2c7ef405d4a04d67335ce1039332774d7c7b9c35789ae9ddaf70452f24f0d4d24a61d911293e778b19ccc8ab03e284542ed9feec859064a4ea4f4369fee2e3d0be707525eca0720bede9346d7c0366c7d537d673f87d0b4a92f5a251cea2434e5ec8f03bdcef09e513b110cafd9c03783880787a20d5e9a6262af6b9f42023a8229b7ffe62671a75aec756e86101fa03c62f65cac0d9354fe953b79110e1c15624b9f63d0910a2310d9f606ed0efd22203f5a8e31b6c339f2ca5f809193e86802238ac6865c4ec035c5e1cefb6371f098703e8db4cc35f49ee94f0009d223355a5467e64bbf8e2ab3b3b8d47eac3587873ea033dbac86535d66505371ac3456e9bc27359ed0abb686d2e83e29bd27b167e81c8034ebe191f3486aa4db3f1f47b3abbc7c9f31bcb6057e9ffa043db12e3b11406aa00581f032971144327d448016423b5f04785ac73774bdbdfa172c5a8eb23719a26c04e12a0913d32e09fe9660600d1c86200581f034defdd0a1a855fe709103473fac0910ce58fed61451f59f36dc5a3b884c04e039a1ba7708bfcdb0f5700cf50d900581f03331e065606b09cae3c0f318312ef4b2baa96cc1a0e8c26bd5a8781b411204652d18f9ea00000581f032e073eb09b58a2d5aae1cc964919ef984b4eadb317ac26ffac9002f594004c09b0eb981372c39d011831c100581f03373c731425da6c0bb84f13551a9fbf8982af02bae969ab52740cf9f251904e054864ff16b18b59c53f00cf992803db27d0c9899fcc3277be81a08ffa9aed139b120b3f2844bf5903b8a8690c51de00581f03bccac939ac1f654913a98628fd1b552ecf7eb5a20e6232baffc3e10c27204e51b2826c054aba85964900d40b5e0384f79c687a41e271b80f1be4d2ede35b77c219a1e41d9af8663040c048fac2cc0219d932038830df21af804ec53b6d8e994da550f0eb71e6ea096c4d58c59fdccef77fd02903d017ceec6699e5036ec31cfd2c243c8d56d1d688e370085503035c875bb6097103f8771821cc79a6df011604d46cdd38101ecdaf92c9c028fdf71a7e7d8356103a0363cf349553f94579bfbbfdf77a3281b5a7c9beb43cb3b34e02a071c7ac0820ba0351e245a0a371832381c7d40b0e47ac93603054bbb2634b089393633cd17b8aca03a33e86232f4eb39a9b67b45b98b34f9067f1cb668397d2f87d6b5453435d77a403dfee29e1ea85bdada9e3f82a78c487bc324c386955fd3386c4843491a1a5b69a036a33099e0eddd86217adc44603534c102d86822aebb3c6b223349d755b92335103ceadc3a3a7ab330964efc187468a6e5450ff55b2fa3a75f254ad7ba7f2dcd8d603562ae209c0d1e9eae24a2e6db1ab142fe82cee403a9659a26533dabb73b9ec8b03f05d2da349fa338ddb3c5dbbb2926b26a6a7d8c01d1a5175807987b93b91df6003d52e90410d19bf06c9b22acc0ac3e8f5d4c763ec0bc34dcfa165e47393673bb30397bd48e2bd24288dea5727e17375bedee819316abb58348c067593cbb3dc369703ea7215069ed8cbd7e850a6fb223cd049bfa60b8c18f25fa1688815c6942330c103b3b8b713d1700ed89309379302c8564404f0018e715eab1725a0432ca4ea74930219ffff03e1b00a7dcd61cf7e04a9f3321ec11170f03396676caeae54b939a154a41ff2dc031923661fa85d02743f7971f658eddbcf428ca10241f6209479124cfea09d3606033ee478815b52c74274951ddd227bcc9a2b3e3972f2a67a00b59ea5eaa3b2dcd503db9b42564baca47790b762e7b23fc1400311937a10aabd395066034ac953533c0320c7b94a4372dd1aea065915730fc3c0d195e9435a0315798eba0e4f5f09e8d40362d3e8fa300e07b74f9edc1c01215c7215a89f3531907366498b7201454d58d603649ef4712b01fee7e9e59797946c203c5842e056a7d507acb8f494be7d8dfe4f03ffff3b783fd4f7dbfb918da793eb1b09817e3d6208c4048ac488e90b54971ccb03d507c968c2c6f4cb3276a4e9862809d86cd6f48751287ec79b430895fd8c606a03e8fabe303c920606df411a5306a010d31b6238589f3914743492de27952c23f703fdcdebb0e8d2c9ea6c4ed023d850bf1cc0d15c85b1ec795f0527b46e320b9354036dc2f0de080c4f8a6af91b9b3e8d8370ea0a4715c98c94619a1983ed7a4059f103dca32b5bc2b07def0297c61e996850f189926404b2d337a2dfd44c13c3f7a54d0219ffff03fd752fc25eaa48b1dcf3cbf5107d45f8e0e520830742e0f36199c2171db671a8037df044ca6eeac6e4b7c000e8b8b35cd73bf888bdce846539bb7a289a8ec93715034cbd57584a389bdc75ada57d34b20a3c16490a5733f2dabe487293915a17c71c03d30125c22f0ffbbd45721c52d73f8165d2dfc5414f33b4d5e842bdd597a32f3e038be7a59e8bb180b2ba06cd471a9602b95c2a3ef1aefe5ebefb9f544435b837bd0365abc538151f56c68db1818a5cb09af16b4a8302df8cfb2367774b9c897efc4803b5797c0fe9dff51cb06bc1f91de8a98ff5d257f3f503d29794da954ebd201f8c0386ca36bd3dbeaa9af85b756d61174cd08eeec618641f801a87196a741a62cc0903bcb76d736bb5d6215a0447618ff7f13acd2a1fa82404a8fd43791ec6b3d490700357620cc2102f549b3981535d9ed99fef6a74a6b8859b053cf0e7a21e53e6946a0219ffff03b744fca526708aba6e274ffc1ec3150c188c28fa487624924a9d14b0d98776ce03c1bc3a5ff56b148735247def02bca1690f618284c133f8edb272d3f9b13a408b03b551ff75636dc0d8867193a56df473980f875903b7926dd34e7c01d3ce8a66ed031ce8cfd3f57429dba69ef7a7759844c9e8b3b91d6e130cdf0ce9195b1ae8b9c1037a89969a8242fee6fa342024a2b8f64260fdcd1de0d5937ee87d11c777d8c47303cea52b165bd25892e5b7716d9473323d999b38411e26876c3bbb6eceebde2519033da25107bb9f9faac81510acde56bf1a77897ecaedf7a38cf80080b8f3e52ca603fadfe6d2ba24fcaee4c1ec4398fb93b2025429d9aef0c589e22ea65095311d640306639693853c2500a303aed903037179fa51d5a3d2fbe925dd16396ab0e0a3eb034cbeafe397bdca29ccfb090442b9bcd68de345be18f1f0f1e832854b24a56262031ee8465f82283f8720b8f6ee40115172fad839299c0c355abdb4e2cd3927fa4203005f14e66968a1dad20f9e161ece3107a382ed1521265bc9fbd99bd96bafb64f03ef759f2ecffe847656ef1fc06a9fc7e64f4b992b0e1b7f2cf868b5c0c650ffb3030ef156f7721fd6abe96fbbc51852350b847bc54b6175a6874d0a36b638972bba03b1935077e8992753a30dfd386ba8552a58dd927d9109a20cf83a0e14c8381d8703488fd8e71249fbd0a92279a53686177e0ee8ebbba06fba9bbeb2cf787a1b964203c69c54a286b22f234a365115518d159fd0229be252fe0fbcd701b6a5b200bbf203a74462d30cb7673d1c23ca6cd3fb19f79c3a6c032b4fbac5c7c98b33696ff00503a7a86b763c9a2908976b8cf785ebd083bbfcc687f9c5a9ad334d230b86d4f59e0389d54611ad701ba80d52333a24541cfc1bfc2be4247894622e961b66cfb18bd703d24fc325dbcb0b8f2ad7c50eba55f67ab7965aa3f9a1e196447a3e121bec43dc035127e4e5d25175e1e3c29906af85209f9b9e83e135f9e8f95bcd4614ec1d00ff03a1032e8d355e101011d80667d2bda5605d294892cc0ffddc0260c81b0bed3b2203bb65827ecc38c7ddd1a143f9b101b80ba7d52cf5e943c4f50e90d328fe1ba56203494a0d3713a4a79913a2604301624a2a9b3283296dddc374b4b34db03633bfc503ce5d77099b0bfaaa486a4d1b740a8f90a83c7a9e078abe1bec74d8d99cde323c00581e02c792125bd4891c7e01d89a765a08b2e9f7211c1af66e0b6ff96861f17a4d02f4378091d4e5c00000cf39cf00581e02c85fee2e1e452ae6f2882c677f9a9f96a2bd173ca939004eb959304c68499cc0adfdac1b01cb140219400800581f03653cb8a45a2502a0f15aef43c608841b2c67824c5fffaca49bb6e10522c05820ffffffffffffffffffffffffffffffffffffffffffffff888551f2e061fa71fb00581f03a3220d49989108cbc3fee0cea8703f678043fea4659b662338665997e6504e294fd692e508d81183e800ef624d00581f0318d29758f680c68c21a744ac2b285066b218cee510d9993b30c3034afae04e0ada3ef321fb4a30eef700cf564300581f034c99ecbfa60e2b1d3f3f07f07033ed3f54d2b7e4b36c7ff46ccbf9680770547a3d05c70581bd345fe117c06e45f9669205384f039c542394c3de957f46ced77181ace07b80b0209089d91ffdba347324f284825b00581f03b6fb73b09538916745aab50b9e9b1666314c54e3c28900b9139c4b0c2fe0480ff831781412600000581f03d9cc03b42b624971b83e6d92fc7520b10e917a70bbb1606018b54829e4005820ffffffffffffffffffffffffffffffffffffffffffffffe9765ce034059e34a002199ec103b527454fd4e7bb619c7207638bfbc8b32e3a5044cc25ff9ca384c72ce30e766603a7e7b39cd65a6e78e4a3a23826de6f42dc96d679710e8d272737a51410172f1703876dc607270acbe204f637c9b33ec58fb4d337821dfb7e8801a18a40da9d3fec03989a6b6ab6594a56051db5b991dbccff0c55c6e1700b2e005571425eb0e55bc503b33e2f972733fc9fe8ce144edee9742ebd221324b469f7578191e544544396600312d76ce550afe58bf035d8f3106a464fdcc460a8025dcc4d0ac9788fb5800c320333da996a62fbba1b8925d1fa2c97533bd67f208b09c0f5b92c3ef1299550f2ab03fb1491f7fc41326d20a4177463999ac53644341734a26abdd185e36667c9ebc9038c30d79b14ef94a171d09581284ecdd459188d37ca22c638e3cd4ff4989c53e20349f70d6e640f624b7c72fbbbcce7bf0f8ed886cc1bb87536488924232b4301500385d3645458e215bba0dd41a6c368723f4009c14a44ea68b48001eda3a06ab7a103134344917d0563976b949e0d97b78196297893cb74d2ae37fa4ff722bf4ee16103123fac6a5019475fe4d7f7fc4cdeb3bb8082e71b187b9ccbcf96ab34ada785cc03f3ad3ed6ef46bcf400964e9bcd1b2d66dfb2b362c983d089e1b1df02a48b66af032b10c3ea3319d5833207d8c8be7fad1f9a4d4b33cdae109e3650e5b58269953b0219ffff039d5c5ca20fdea98f1852f45be03e62e38653041483296fa2e53bfde505cf89c2035117c57cb30af08de0a87e885d690d8b8f2cd455c3b6f5883de2450b34b4b8c80219ffff036f8eefa5d15a81595c19c0245b5cf3087bfc8d2b1d43ebb450df1836295f8faf0376d889bbebf481f699ee503295654a3ce73e149b5b2f5ebf0f58d145c116536c03824a76a2bcecb188d514b72a1e5a3b68c6663fbc71bbdcdb6bdf3a54fd4ae7ea03fcfa2b53393762f8bdba27999395d771a5c5a86354aa1ef2e74c04aa1ebf70b5033b7da6ed39484683e1b7d126db6eac6ebb466fc816db9f4bd534f509b8bb33d00219ffff03fae14c77b1a7b3ef3f1fce65e42ed4441d21efeba76d79519139d48442313d2a03cc5ab3cf1d1c9171044cbb14ea47cfeca0bff8eebe11c3ab97605301836f1581030b084c554b4b07bdb4d5f79fabac81e320812758254d51b471f3f3af25958acd03ac55103aa99af8919c8b3b5c515a4592a625af1131e16e5a2cb612247c56849e03dc0cdf5b69f49ba7e43879e2343e1696daaaed8a45e72e6e397d2e6f0243f08503f5ed6493b6359b90f63fe12cf64912a851d76780289f78263c96f7394e2374fa03679be2d7027a00c424777ec7759013f8296f5d52f1ad5c08d25f8ce9a6b354c5030270e9a43ca6540e353ac8f55e8f2fcb0d25f30fb56a47ad3d5a8a7f7494f1be03e4817ab090c043e87d052bf5f91146c5dbd73fc9042c4f31a3ef2b94392de0df03d7bcdfa816b65eb9139ee312ba511785106d1fb27216fdce67911d092376b24f030bbbd7fc18f64b4546d17becddbaeba1a86dc180ad6b88269f04bb57cdcf6492039bace61f1e1cb52bc47f924adb2442e1cba020ff7ee3dfa9c133deb6cec489250306309e74608f5582da04c4e905b6d51857a52edf8aa1079017c1f2a491dfc77f032f1d40978bd04a14e9bd9f7bcabc9f044a0b8a384ce3ba9cf77c50a1b80bcd65032d95452664d71ee97e9f999bfd26ffed8665cedd3838f54c082422ef98e2b4f303e306dcf3bb9f9344103b10d537c0a72678afd5073fca1543d1ade6ffd29cb647035303c7cd671498d2e3334cec2bf684f747ed4b33d2f3fb4610393fd8c5c9a5e2036ca92106e153e207672ef3587e972e2681b05b2e7ae60005f811b50f3eabe535034a8776144fd4eceb449cd37bacb649d7f1a3d5230f758044fadeee49de493d8003dfacbc47f9d2d0ac280822e30ae62c9fa34083dce14d8263821b41cc07515793033290ecbf2b958308e704ca2c8500dd87054c17f368605b8490af61cd84953a5e0351db434542b2ddc4e58b192fceb121070830ee761b293949f95a54088d660258037f21ecfd453824509b3370d2e9614bf29a07a6bf50f2dd438b6f0c512d88d2490394a371a0e3c39f6d082281ce8d0c1ea67ab586fe9f06cbd032d17ee88aede80d034454b090184a190c6ca2dfb23d039be83ed30d3328aee0b6ab4bc7337c68b249034753e5b855f051774734b37719e3d052a5198bc9dd7cbe4b9673daf3fac67c91030c76771e7059df8335df8b7398e164334de19f374829ae49efff7f3968af2da2031e8c2a6232abdddb3c1eea719f7d1cbfd48e1b036a20be2204296143702b141300581f032d6102cfabfca6822dc45d6f084f1e54a695dd77a20c1e20be66c404e7d0410100581f03de99b8b9811b9ae32dcb2a94d2e49134da408a5b7c954b8b19a0e3bbdc404e19e23c94b26d20bd817600f8c36f00581f0395a4ad2ad8eb2b31706e35e8f5db070f3bad4f6d2147b9f77cc7d04a14004e239a33f5f0416c8be50200d2b4f900581f03469c92fab787c4a6b33b6b22b8d4f623169f7c8a9f63ea6e7778b785ba404e72264d34a0b4e059221300cf672d03a2b84349cff0789ca97389e885bf16d16a652f875a5b9a1a728a20ac67551ba600581f037a3baa86bd5f753fabb309ba1e4d450f0dd8e207539c1411cd70b6bcadb0480b3e3bcac272aab203b9cb6c2f76176eebd6facab88d6bb2b91a2a2489fe01e9111b87777c48c932a40219619d039207455f22e33d5841e95d69dc4b77ca38b51f09bb9396cfb7705c3c61a88dda036511823592ba45abfa6dee00c67c7fbdeee516d9651d53cf2ab04e6cff6fd4d603ca80df114a1200a049b54aafff28a448153d5093f7d50bdceff1b701b5804b76037b4c60df1709b2cad12f9b46567bb2025ac70e527b5ef49971f68d0f5f90120e03be0ed7c2b5c390166310ab9033b67494b867fb8cae89bc978ee96783dcf9ee690219ffff0328d9d33b67f9e8c5ca6aa23f7e489ba237b409eb1ce7b4ac211f422e0b2a239f032ceff781a4a61e44e7232d613a6521ce5f2f4ab7844330234ab3f2c45d9ca8a8036a43da13f753e2de50fa0e51f6fb8b7bdb90e29a593ede8890e21d424c812c2503e97a9ebf754b43607553e3c7c8889d1cfbd6951cc2fb87bc40f4d6911c309aca0219ffff0396fc58480b68ec93c8c79040d92999273164ac2b35f7b5598e19b7cd3060220f030487c35f7dc3ee0c70627595222d4abda1838da01e375b7e74c34491d547d14d030409ad27fbe87b2146e2bf1dd70652072a48dba616acf16da1cb0878e7bacc49035c22c09f3dc4a7a5c261b1dde3fb75f4798353e30ab3b943e2a9bbf7913cc0ff039584ac3099f56d16381a6c701f67447a8f2514481a1dc957b8546ad180152a8e035855a49b5ad9c381c007df7d2b7baabbefe5214f401316cb4a4182a951752daa03e665ca6f0e466e24bc35ca64f2dd1f60ec625d1cbb2014629778b167cb9a7b8a03b3110b4b8908a3592b74f133c05724ef11d27c2ce4e3f44882976d019e96db1603b0300df893f3f12e22e286958101eb8fa9e08fa2199f4106f8516a7029e682de0219ffff030c003079d1314ca8a3f80567290d02bcc035afbc611e09b46890a4641adb09f603360f3552c0a056f037c1a2aa3b081c57e0538792f7a6b30531b73640fd1be30a0373f0692698574666c1e8fab7f93513fc874011aff0160478fd3684c9427d337f0316b4095b971c15bab41743358a6229bc457b0ba36553099e91c2b9f719718ffe0341d4080f55d5cc15c11cf10657404b7bd4d2ec6bbea2eff0d6bdaf11dee49d0b0349082b312ca27e3eafb6121b51b293d1e0f13ffbebb4afd623489486542130c303a71d3ced7825a78ea3d587df77dda9f37b4d1978e72971d322ad8c9ce50f5dd6038507db4752c69b22cb46de8c283d3f859debfc233b53aaf8260a6a15f42c84bc03bda342c488d37f9a18141b976bad297809090d0b7fc379de14c05086cc344b9703e489ad0832adc6c339d7f2ad2152d080a3790b0ca0325800df4d3628fd89921c03fafe3f3e1b2549f719c4d57bb8489bbab49cb651498829e174b8a42fc721bb69039eaa5d84d4be34272371f3ef58585b7826aae46f3635abe5c343bab53fc236a503cfaa7eb86893e4a7f49a117c5bcb05124a4e54519699569cd2ccbea96cab0338034683c4a99a4e4705b4812c8a8d4b05a0a1e913194e5e1bbd1f6255818461e30003848b7da01077926c719d0a593506e16ed90e52706c286934e37bb4f1bf89c9a803bb38f584e9cf5da7f10340582f0971350b0187c6df11e465d58feff82394c3e2038bbf00aec12ac9d3edee3367763eba2812ed60022a32774ad6c47d26da1e8b8e0333df7bc8edce409ea40ce6d6ecfa302808b4785929f271c42cd69e409dd88a92036c9dcb6d1a38bb33772e9ac702dddf3cfb3f909aa5172dc0f52982983ab71db703f54bf92a0322c50f07ce65ec1a40edec0aa43f673f12111841aa2a64a7dfee7c0302c0f6a001f36363987ad738c365537310688e2a9aa11a422317598d21014955038598aa72ef020e02a54048b7d57a5a17c4d497340152405db89b42454eb1b598037ad126a707143529a988c44e154d3c19bde5d7e3f09f6ccaf8da43e73b86e08f038b189fc2e07679e84fb913e6e847e600279ca5b0daa88a7012cbd7b014d9ea4e035e9ae4c3440fdda3b10ac7c7c6398570424ec0cdbb862a0aff972d3e18d97077036aa2adbf2e253876de52601734a7aebf784b983b2c3c0efe3a2f7788e52e1e5d03a1bb7c5604a26e37d7da102d74b88d09e763ddbe27f88e5304151513581fccb3035c6d6a44ea9bec9304de48e75d1bc899c435e31365cc45995ab6705265068dbe03f3ce0acfb789af4123a68612d70fdd784668faf6e456221fa39395a0a85ed3f403d63cbbfba93680ad70d2d33109fc9cabc2fd1787cb475ed06242c2451a3877ae03a873fd7b7e25d1827e955c779c9b42f0a1cd7f86add8680da5ef22bcdc3ba24603592812c46f6b94577897be03a2c0ba24190916bdb8d147ffdcb56abd19020ef203d0444818a436add76334f0eb845cfda79bec42a2fbaaa42fe72ed47d034751d30341f8893e1c5eb521006d89180cba259b90f9138ec8640cfd8df8d7aa99b0a282033cc5df30d508ec05d3b3489329dd8b8c69d9d13fe449d033992e7bbd8a57b0d800581e02746f893d61f4b4aa15987c03f2c23a2c811f8b92b407c44b1fc834ab564a0e6ec71a7c39a49fbdd400581e023848a3799ea7e701939872c62a9d79b991914d07d6bab053004664d8f8545ec024dd24314fb8caa6ae3cb31d78e1da2af25002194040034e0458935b3acda89b45c6ed3eaa1526ef5dd2a36bcf07624486b89df45351b703737c2e5b1716ea22c49f69414ab69eb8ab0ba9d4bbe0b85da8c04ce4447e46580373a009a04a4bcdd58090761272354a9cfe1e97c625d86a161bec584c1d6081bf00581f03a09577beb46c1ef0bb05de33e999813b6ef8ca78e35313d5053cdca350a04e12fd01f1d6075bebba7c00d7534e02193089036e4e5de3a6dc649c3102a00ce59b8fe43828fddc0729fe0ee7341fd2961f72b6036eb7b4faa7613a139bf03bdad24e0db9d4145d1d0fd5828875443023b29f3bd90219ffff0219ffff03813f65d415398a28e434457d0147f5da56359ef3cf537ff5ac0d47a07a3f9f5503a28d9a998f0c6d5f68eec8f07e3e81de7e66e0a9904e1af94d594d029419bdfa03d8c422275c2f6cfa28d7582ee04ba1fe1dcd53374ad49f096b2fdcf423813e7f033e150dc35836e1d75b831d84b4c9e546eb5143308be8f8226b0f07f454091b7703913a8ba5e2136c9497ac678e6a38946f1b0ba7235ea983fb058bd7b59ebfa55a03e50184a4b0a150de091ec4cd616b3651bfaba9c397f0c5dcbe878ba094c1395d03def7ed08ae9f7f81f52fbfe58448197ed1b44ebe38de57ab2df39798d1d27a3b032719eb00294f6044c068f12c26bc4c158acbbc8565cd048764723bb5c87967040219ffff03599c8a78508e214373a73bbc8be3b865bcc18aa52c1cfa1f63aba88c9298bcfc03c789cac314f187d70af64504f5b3db418774c2dda1bc31a1e103d2e6ac10dc5203931e4c75c7eb7daca6d94030f84bc1282804f040ef56a6f2b1d5fbf6f1d9c4790371b63493927eca406330778903b8f31af8f600427185a9fb715f1b14c5785999031ce6c9263d586bf49082816b5bcf9e16082f23f5bb1bef812ec34f57ffeb27bd0219ffff05581d0228f0212147c8f7a6370efa15cc28f96409547bacea0a68082a8409b7070119491505581d0217a8b5c41a2eb2598c9e3d36846983f8d12e69aec8b8c58b85d52a5a04030219840003cea139a384531c3416a4bce80df32206d47218bcb9416faf08fad36dc7b81a9f01410f032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203401eba93012ea1e1e64221df3814ba55c6e9188aed7c191ed87d8f2e0dd7a8b905581e0305e56079441504c200565b4b85d1fbbf0b4f2679d279938bd229e58c0007011bffffffffffffffff0391688899f5665630cfddc1a3f78b50d8309e3c1716945a5d30497d96d6af457005581e03f1376f7742fc06299f22787fe339830284efdc258ab6e9138bbd458dd0040605581e0323debc51a2198ffabab0caf6aae50bb9dd8bae5aae5fec156fc598a5300c014802a28a1ca8e0bc0005581e03cb1e621cde02e71f7bba6e886cc666ba0861cf7ee177e348f2543f8cb008476b09c40464e00005581e037b6a38c697e3aa4fe6d7ecc4242f8b75cf3a38b2b2dac7031d350dd0e00402034ea8841b3d527fbae1652484ad83627044a5b4b0fa7cd01eac89b61b77ca6f5a0219f73e03bf0df74083eccf815ed61b0cd5fa50ae6adc1f6cf19e830a8011f0a6c8086d270219ffff03f4b4a881b60fe9395ac3215461ef0a6e0b9d1232460aacbf12f639e064d0c8410304490409a702efd24af40765fc23dbec4566dd6389027a309db0b336825db0f603fbd9ab4ca28be9cff6d07af14f9ca35834ed8eb97a977932ccac4b1b8079cc9e03f494f29ad6d3889465f156c4fc193b0e54caba9e6ca6adcab4b9e9ea3d1e045403ba801502a6f1e1ea8cdb4b7a428c9b6273f07a99d96d933fd89ec81bbf1a605a037cad7686009f9d7145fc5edbeddf846492a435148d6f17f37f85f68996bca9320396ea22f47295f5389c94f8da27d1443be4e79dce0309536a516457b93e53512b031b6b9a744479507acef92dcdee0af5c20186adfd024d10e4354d32ba740ff71403bbb06335d66e51193db0a09344665a939cf0283d7b83421d08d834c9d8c5d60c0219ffff03d98d84c4eb3ab0a165ebc2f586995b6547ce5d86991f5466376859e122cd250e032d4bce5148990cb932727602599d127a92d2106d783deb8018132712d112970d034bacb8890910a5c67a41591ef0e8086773427a7645bfd1578ba20ea7a23db66403ac97cf6b0344d85045795c0a89e0381d5a19a495d6cf1d8a3b84313df391739e03b886c531f57fa7c70f62e801c98995b83b3a7fdb641781b1bd94736addff5eee03893af80b291a1fbbc0d4c287bb111414c05864ae730622cb3c3d17524c3a82c103792fda81a9d17b9e259b721bf5b23d325b39b8e73034210bfa2c8c12770c821c03ca6b6ee2a2f7b5ca089ee7dc22c5239276d3cae61f910a35b88d1e3dfb60af0d037903ab2a35237dfdb491c2489f11ccc0dc3d4ae8d6f03934d1970aa9c98ba4b6033197edd5d19fd014d6a6528fb699f83c4e2070b8ca2ebffe4884c8917fedf7b303005e209ab8ffd09a27ad145c055059204922afc5430b6c6f0d8246f477d710ff0393643bb11f8f79a6cd8dcadecca1c8ce418b1eb58b6112ff0892080d4465cfab036aa84b9bda1d29e8a89405e7c81ece535dd9c2313fd55c63b093a6a3b470dfce03318e473f3aa3538ea4473cd14ab22a4703cf5b809dae52c548e041dc48633dc003330e4baea95fdc696ce35405cf58111f2e1729879c88e4c44f774338d199b08b0219ffff0219ffff03691dd905bdc6dea00fa63eb1d1836b91276faa7400160812d998bd67c1b95da803d35e70d82643444332d2e63b3595a479ecc3b897af73bbbcdef3648d311a6972037ccc9fa6ac581e4336e8966d3e50fc84acc61f429e69c4a03db061b8e9e47ed50395a33782761c3619301ebc83749a12803ab7a839a25a96b85b6a9ee8ce9910c20351ede7e82f1997ad13735ba11cde52954eb07ce0e9cdd52414f8c1b93711427f033dd1aad641b954889dd8eeb12e826abeeed3caa9fa7d8fc7fda0d7fe6983374803bfdc9fdff5618f9a7c83ccc744aef122b86a6c41b8a0be5460d1a5898ab06f93038ae43e742260abe255f41b451e395823ecac6fc18a09401dd19a02d660dce24303a84436b4bb929399154b1c877e61f9d892fb20dff9f99f45f41dec68ccb9712d039690f98b0977df15a30be85fea55a9929aa16e3dc2dd229d85b39719b1a24b7a036e2e0a8982e21838967e3d22722e5b74e0f0d825df6c4293b241ad609d273b1c03bdf7256fd780a9e466e353317edbee78c621a231af4a09560e8d2d967b4a11c30355e932f8afd5f938483bb500b231b24353f741e5231da575e5b20dabcf22551d039a7c1b8d6e4628510a7ec13b76a4f9c94b822cb27f0c61ca495ec3ab0aebcf9f03c0a0959a4ef9d4b7007ea1404198feeb2c30d68881172997f3517b1ec6091b9f03b07697e3783247a82e628b41e74c7b0a4b30142b6bb4fbdefcb96c24332dfda203c6396938d6463061c3cf7a234f4fa80a71020939c03e1b337d9daa10b3e47eec036825ffcae6ac448c24b38cf8cc8a44f96aa1e0da880b503f35685e7f1db15d860369549e45c05d5a8563537a1ea22be6554093ffa94470547213197c4760700277037f36c6d54c36e60755f9b27e686e552e87ddc3b72d3d8bcd13da7fb9166bccf003589f61f424f56ef1cdacd868b1f25231210acd34c8f692514df2adf90e34af4503cd9c34143958d03ea68c5dd2fa24c26a42e29427f9186766d319123ceaa4d5c50335e4be5b32986c3478706bc10d26b5436d9a80e47494a92071ff162dfbd0363b03e8308b96979f4a24462acee63e86f5758f1700d8a6aeb86d1a13f5f071ed1b1a03730f2d2dc7d02dac0a61e0158a040b874848c8981a992d6f7944d7092bbecc1503088f41e572ef7e95d7a8879d65c788bacc4174ec4d965918a82acc11740d2dd503f610666256f2e2d565f0cccd6ac0fef888a2617bc8fe5e1230df12c79f46570a03c0295434603320eba2eccb6ba11d0e1abc1bed830b5cad717c4bb46452fda3e9030f29f59cc6b5ae388ce15504f949072d6818c3ce91e230fb1425fc9182dff2b80365d02a66f4d757c3e9325a2e045ca4b2f6327d9a1e70ce43d67b5348b664a39b036473477e21a04db2cd7c32fe52f88463e5cb7f81b627f26df13e567583af091503785a1e552e7e52c1d819b294deac821058aedf186175ff003f9f9406bff000e603ecff636eb6a52804ac5a3ad2962e4147e52c57f085f675a8fdd5b487a34a779c05581e03cd6fe0cb3d2fcf5303cc59fe4e09024543a3dafb7d5b221802f8d0d780040103415e3699e6d170af703efe25527b907778270ac93f2a1115c773a8d8c51ba3fd0605581e03b297adfad130d1ee0e7e228a1d7acda45ef003b74f58e5cae1b7bb13a007011bffffffffffffffff0354ba4c36afda657058ad4e88ec0d5c8b37b932aff86aac772abfaf8b9119f03504590be5606060405236156100e05763ffffffff60e060020a60003504166305d2035b81146100e257806306fdde0314610106578063095ea7b31461019657806318160ddd146101c957806323b872dd146101eb578063313ce567146102245780633f4ba83a1461024a57806340c10f191461026e57806342966c68146102a15780635c975abb146102b657806370a08231146102da5780637d64bcb4146103085780638456cb591461032c5780638da5cb5b1461035057806395d89b411461037c578063a9059cbb1461040c578063dd62ed3e1461043f578063f2fde38b14610473575bfe5b34156100ea57fe5b6100f2610491565b604080519115158252519081900360200190f35b341561010e57fe5b6101166104a1565b60408051602080825283518183015283519192839290830191850190808383821561015c575b80518252602083111561015c57601f19909201916020918201910161013c565b505050905090810190601f1680156101885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019e57fe5b6100f2600160a060020a03600435166024356104cf565b604080519115158252519081900360200190f35b34156101d157fe5b6101d9610574565b60408051918252519081900360200190f35b34156101f357fe5b6100f2600160a060020a036004358116906024351660443561057a565b604080519115158252519081900360200190f35b341561022c57fe5b6102346105ab565b6040805160ff9092168252519081900360200190f35b341561025257fe5b6100f26105b0565b604080519115158252519081900360200190f35b341561027657fe5b6100f2600160a060020a036004351660243561062a565b604080519115158252519081900360200190f35b34156102a957fe5b6102b46004356106fd565b005b34156102be57fe5b6100f2610723565b604080519115158252519081900360200190f35b34156102e257fe5b6101d9600160a060020a0360043516610733565b60408051918252519081900360200190f35b341561031057fe5b6100f2610752565b604080519115158252519081900360200190f35b341561033457fe5b6100f26107b8565b604080519115158252519081900360200190f35b341561035857fe5b610360610837565b60408051600160a060020a039092168252519081900360200190f35b341561038457fe5b610116610846565b60408051602080825283518183015283519192839290830191850190808383821561015c575b80518252602083111561015c57601f19909201916020918201910161013c565b505050905090810190601f1680156101885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561041457fe5b6100f2600160a060020a0360043516602435610867565b604080519115158252519081900360200190f35b341561044757fe5b6101d9600160a060020a0360043581169060243516610896565b60408051918252519081900360200190f35b341561047b57fe5b6102b4600160a060020a03600435166108c3565b005b60035460a860020a900460ff1681565b6040805180820190915260118152607860020a70446563656e7472616c616e64204d414e4102602082015281565b60008115806105015750600160a060020a03338116600090815260026020908152604080832093871683529290522054155b151561050d5760006000fd5b600160a060020a03338116600081815260026020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35060015b92915050565b60005481565b60035460009060a060020a900460ff16156105955760006000fd5b6105a084848461090f565b90505b5b9392505050565b601281565b60035460009033600160a060020a039081169116146105cf5760006000fd5b60035460a060020a900460ff1615156105e85760006000fd5b6003805460a060020a60ff02191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a15060015b5b5b90565b60035460009033600160a060020a039081169116146106495760006000fd5b60035460a860020a900460ff16156106615760006000fd5b600054610674908363ffffffff610a1216565b6000908155600160a060020a03841681526001602052604090205461069f908363ffffffff610a1216565b600160a060020a038416600081815260016020908152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a25060015b5b5b92915050565b60035460a060020a900460ff16156107155760006000fd5b61071e81610a2c565b5b5b50565b60035460a060020a900460ff1681565b600160a060020a0381166000908152600160205260409020545b919050565b60035460009033600160a060020a039081169116146107715760006000fd5b6003805460a860020a60ff02191660a860020a1790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a15060015b5b90565b60035460009033600160a060020a039081169116146107d75760006000fd5b60035460a060020a900460ff16156107ef5760006000fd5b6003805460a060020a60ff02191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a15060015b5b5b90565b600354600160a060020a031681565b604080518082019091526004815260e060020a634d414e4102602082015281565b60035460009060a060020a900460ff16156108825760006000fd5b61088c8383610ad4565b90505b5b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60035433600160a060020a039081169116146108df5760006000fd5b600160a060020a0381161561071e5760038054600160a060020a031916600160a060020a0383161790555b5b5b50565b600160a060020a038084166000908152600260209081526040808320338516845282528083205493861683526001909152812054909190610956908463ffffffff610a1216565b600160a060020a03808616600090815260016020526040808220939093559087168152205461098b908463ffffffff610b8216565b600160a060020a0386166000908152600160205260409020556109b4818463ffffffff610b8216565b600160a060020a03808716600081815260026020908152604080832033861684528252918290209490945580518781529051928816939192600080516020610b9a833981519152929181900390910190a3600191505b509392505050565b600082820183811015610a2157fe5b8091505b5092915050565b6000808211610a3b5760006000fd5b5033600160a060020a038116600090815260016020526040902054610a609083610b82565b600160a060020a03821660009081526001602052604081209190915554610a8d908363ffffffff610b8216565b600055604080518381529051600160a060020a033316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25b5050565b600160a060020a033316600090815260016020526040812054610afd908363ffffffff610b8216565b600160a060020a033381166000908152600160205260408082209390935590851681522054610b32908363ffffffff610a1216565b600160a060020a03808516600081815260016020908152604091829020949094558051868152905191933390931692600080516020610b9a83398151915292918290030190a35060015b92915050565b600082821115610b8e57fe5b508082035b929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820f462e7242c33877d5d2f087a81cc0a589147f1cf578ce7fc53451e7ce4fb376f00290304b801ca781b991429f50062bce076d3342ac39f94e40ee3b73f75da8d1de4fb03361ffddc92e2ce43bf1e86bb8a318a8a61510d9772575ea005a6ac675a0a323f0379765acfc256e9293c63bfe4ef0712918d0617713df4b9c91e43f39cb6f90622037505c689b9988afbea31196baeda38e6d6078413be3b4c31446144c7a0c4a4e203045e760c1232c6d6fdccbc2d585633363aaef4f9f1c4694d57f1904811d34d5003667f22861b91018ea8e0823a3328564e42dd68d66a12826435ef636e2f2bc3130340dd0905ce4ddb5878c07e98e0cd964f20d99f3af0f5c6bebb311fbfb69fca7d033268ec7099dd4b305c58a83199a1dba3c5e588d95f29365cc8ac7500429dc60f031f791fb819822461a9edafc3003c94aa727462300cc65370b5c17498fbcca99503e4495b31a7420d3a67ab3419d6e95970c38c579a7ffaa63f730e90bfad4c9d4f03957a831d5a2e6d27f3f75ff7c5a381e85b740ce163d5fa9164fa155d26938a7303cab07ac649bfa83dd5066712177a6284245ee2637236e983736ae79bcd61d0e903944ff7647755a22b3d26cc9b813f932ed12c1dcfca7bb26744d537717e44c6a903f985c673b96855934434bf1df54a264233005690527bd873d3ad02407d070feb03d72aad151b0a09a78cf3d0a9100139cb955933a2eff504bbabb97c3656fc9d0e0383ca555ddcbddb5330e58d3e867eda66ad901f76a464ef3bcc8b9285634959e6033c899c884dc8a5b62d652fc6fa2451d216f680f0a6b21fac94d6049bce0730ad03ff8aca4e24033148d0b3f4f18907d531dc61c63d34e8cd3b228c1afa3cb254cf03ef6bdd98fb296f23f4e873c1cedef4382515dbb380f776b7c1213b8605b2aa54033712fd39e2f4c9f3d1e87076bb27230dc1113f059beca524de05bcb08e798a3503752523a662446ddf47a7741abf61d4e6b6f06c74040ea8976f67108a8db92bfe03b22590f8633253ea29a22ecf43432792539c28844b43d4d39ebe1434c2d8104700581f03e8e40d719ddd78b543aa8b4d3714bf868a05f2d9654cf3094e8072f752e04901a6ee8031d64f500000581f03277c5c7d108f55bb47230fb2be2fb6bdd3a626e7688775ff9c085291de0045174876e80000581f03f45dbcd87cb7a0a69acd922c41000b0060ece13aec2ca8e559c558e5c7f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03b7b9366e5fd0aaa2d0574eec7a12aba29df8c94d626e1068194e090d07c04b2495dfded7c123ec3c435100581f03e39665bc469f4d1e2a3056668036f96ac18f0066d626750f7dc330e7fa405820fffffffffffffffffffffffffffffffffffffffffffffa70a9c874f01e503fff00581f0364f927cef3fc9831352985bd800206e2bf5beb5df5049f1b8c8602630c60490317bdf12f54ad2fed021928b103800f1374d84f90bf1bc35c0a9b94fe7f18d198bcd26d6a8f1e072b45fa28966a0219ffff03bd0625a52aa199feee7da946f155e528290fca542f69ad20d234f06035b24617032f46ad492d9a950483b421ba0b0e87bad769292955d6aa6092f17956a9ed54c003323c511957723301ad0a31a38e33f66dd9e177d91169aaadf60fbcbf685b3a6d0343cbcbf48491ca14d0bcab43e9d7149725459b8202c0d87b8f3b79cd3744ebde039839d6ed27e1c80f9b72599355bfa825c47821f9de71b3188fbbdef7fcee37a8035c4d6f1634be4d6aece2e1f41b704a88ac37936b4aceb525de30d08493bd7ba3036891d29c9c7e6c52ea9da68e7912dcefe5401267f497d3d9849fbedcff1a7e5803be73743a31bc2aa5fa6e125d7b4f1bbfed47add64a69369d81b7e4cd9dfb46fa036b3ce9e54263934c8b9989a1c4f88dd893f2c7870888b25e9c74ffd3814d51630219ffff03a43bdf974f90a6813e4c081e658d39e1ecca14c197d6eed949cfb6ac038942e1039f4361af9838256df3d63aaa30f4ac027f93164dc99a4e3c8b7ddcfc30f21363038261cc0de5e118dc6d5b797acfa1698386274a6613c8dcebef43a8cc0b49f85303fe614f436bb9da0698365f87bab04c32196e7ef14e14e421f6fe222b12637592034323007b76c15b0cb4589f27586952b12e0ade32c869a63e46a3b1f09216735b03ad993349ab9604904bf37fc0e8f76258dd6dbc28f0a435a11b2b19f4a51bf68803a1898d5ecc5971f626407080e45fff669633eaf122185453ce9bb43c983217de03f0ec214084e324d48de67bf322cdf44078f1d42fd519d3e9a23c45403e5a70a103decbd5ffc3f1242682551f0c13ebcd623b9a7b8114e046e2ed0e8b93e35f54c203a3588b8a13ca343683d364b0c0739e49aca017eb12074f7432e33356e0091aad03e900d5ce73baee6594da78c731c98472db49addb88855ff0ab2364b0fbd6342603cddb46c4822eb9f15c6f9638a31d2276218e7e585cd150b79e35788471b5a974030d40ea30844c6ecb9159b231c53dadb9f53e780ecb6120b445f179562ad5476403581bdcb7a4b35de72f5c6d01530da5ff7b25f7ac22f491aa628e20819b415f1403ca85cf3792f393525fc566f5621085ca75327a2fa98e100ea47a5efc3430dd980219ffff03ee02e40b4ac211d3f81f2304b539880979d8c99fe1d51fd63e38aa5ba5b0abf4032b2698cdeebd6042e9707eb1d1eff38856aeaa79091a97be836fc9cb77186b350359533f47b58b72391ae1564219b843ca54076f0a3741e9b0f7df549e614b104e03583a137d88c2f16af649969c43fb8e9069ccf49aa583d2f142c8dfc7ef01140e03d320ab354f97dd282fd5b9368a995e52063750b74e58cff915346ea8e38852780358a645ffdbd2cfd9aae5bbce040ecc8bb10613817eae684af52e165828567fd1036815bf95c821faa1b3a18120fd3bafa66fdedbc3a701281e62f7336893808df7036a1bf36511c3527cef0255b31565a0d7947f68c78b578403dd7cca56ec66196d03cb72bef8387b6ab2fccf6c4962e6ba7284f337a5aaafd7407622a3d2d9ff3de3030eb4d19c24c77ba09cb9a31825d298a8bbf95c3d9422ccbd568fe56ae3edb5100375e4cd719add2d01393773f6646266612bdec9fa0b58755fac61a85e89858a2c03ae117606796603bbde42413128ec67f10a040e59794675cbede481900b2b2e5503a43ac15c096c7dcff52b20a8e854a5370f7dae991eb37a216804c478ad9d033d036045bba3acc08e0de30fbb1c9468479a04aff1d4c7091fee49fd7dae4b330b2303ec5ebeaa58972b1e615de920e1041b4883d4c976401821b15bb9858a39b5ba4c031e8e536d98b53450f1bb5123a12b0463cc51966ace4251d63e5e891afc693639039b709663cdfd1048640bad76966130dc9240f56968502c4121f33f90079cb9ef03c13176ca7697f2ea86640f3eebb19a3a3c587fe9ccc9e33b458e5a5f5047f59a0331324e79fad6345d97dc2facbb4e47192944f64626e7b253a6671f65d85b399c03ed67f06382db1d26cf9e05a975fe3aebc4784e31460efe08100ea7ab8b30b4160305adb76ece93f0bae1d3ff31e9558c682d58ce8792a994dee1941bdc2965681503ad375a77ae38d6321748f2d906ba93bfccc030b4713ac1b5404712241815cdb303567cd9c8a887f2751cf2ea95aa12961e6283919b9b737f5e3f92f9298a184fbf00581f0392f9d63161d30bb61f12121e98df6a80c6bffa259250fb90518238b929605820ffffffffffffffffffffffffffffffffffffffffffffff1e3fec76f8dc67ead200581f03ec75a82b6495628f5fd5e01f94a043908e95f163ce938b82cea834372700490490d4588097bbc20900581f03c0a0c87bf299896cfaa77100e8fd17adceea80b85a865c79c33bd0fefa704911d6b50ea9b440ec0000581f0395cd64311bfa17b7681fe761c5233ca77138cbe9761573d1c8f3143dddf0490eb018f3d7bf1d940000581e02bae7f3c73d2c2f7be9f1742f1518802b07cda55d7afdd5cd735dfb7efc491c58e6d77006dcde2100581e02e70bdf8b672091f6b77bc93debbc515c106e0797511092db24cdd2b46148e7c251850506000002030219606803e1ecd3e001e3afffedb12964e7da74f3c30664a7cb708a70b38e5bfd00343d5303dd49228a2873011fb47bf57bbc59f3e557e2e62fe8222be0d7fb7a3b5efe810d0302c2bb027eee4a9cb731a1d97334df811c9da1445b8ef07a3070542209bd559b0219ffff03e89e25a7373c56b8b5500512feabd67cf0ae6dc27891b4370a4857756e2475c603fc67ed911265df84bfffcd10cb10ef4db9475d9cb44927ebaeb9417256b6a38d03d522e18176af227f67a49c640e9eb8ded896c6be825a500803c4e8ec9b951ea803463b08bdd591b68edcb5939ffc09b5282f6fd1c5678c4bdac74a0c03edc43813038ca0cf64a8114a3a91a8fbc5fd71435209378d30ede85c33ce8d11584aed2b6f035908201b23cca2af2a25ed0c1b6fee7b2efa4eb4a50954811effcd93cb45bc6f03525c6205df6d1e58e0a15105f01d2f11fe6dd23daefcdfcdabf90d4125358028038bb604a5492e08b23ac0dcac017802afb83b2c9f53bdd71596d1ce42fbaec27f03f39249c3bfb3a9df11d9c6acfb39c333c60b14f4951b31305231a53b0c9aa8de03ef89a0d5038ce9ab3908cdc74967a137e61177c8a31d86e2b8d5d23da34da0cf0368c4b282ffb7eb01cae2cc2e8c8d8b09396c279dbeec9ebb66eed72f58d6bfce037646b39a0e00dc5714f157d512b9f576ad8d125fb272966db06898dcd8f090270304b68fdc4dd52c803501e4c7799ae89503e6acee1acf028e3e92cd050199c13603abb2688ef36ffdd1b8e12e7eaac34b35abe4f269f3bb2b4c1ee1b10a7d9817530219ffff03b3a176d57104adfb784542f176d5963252bb0a6ee022b5a74a869e7087d3e4a0031491d47c65f99138bb1cd671d8f59835e812a2a227c828c4003c03f22607ecbb03df0425762716dfd3885f31e6f50dd225cf039b44ab6a4cf8c902a825ee10ddf103126e5dc56f7d754a9802c3514e12274952663fb89326cbf2b228f9b4159ade4403fdc4f2f58290218da7261a90e0852285e5ea97596dca5d1d779a866f66aaf4ef03bfda77fbde260e2b325d95139ee7c73b2738dea6dc40fba56aaa9aac9a3b24a803e2759fbd11d5abc0d8250fc1665f77fd29fcae9db8e2787819b771e881f52795034747c1b21511f2f28fb3796aadc32933f260bfd56aed36e135736c1f6447014d03a35f82fa054ab524251713599a87be8574e2f658ac541005c777b9ad612a3adb03eb06ebfebff6e8c067c24cddb966cf5c5500036db5500c772eba1331d99707380219ffff03891d011f9e1aeae48a62fcf6be624b8c15aaa059b51d214d8b98b1699fb74034030bcf93db0fb87eb309f71ce5491e51b20241085aac6991acbb9ef28790fe7b63038b7ab61d0c7aec0d7021888ae1ce31dd556a3674736860d65be9bbd5e31848a303994a22e736ad58394554676e8641868b58c7b0d2cbe3ec1e996ebe800dba1769035a2ee0bfdfac748fad2d7f1fb455fb1067ce5e9fd807767d29cd9e2227a2fad303010fb6fee5d9782375063f10dddc78a7e0c44082e313c91630a009d5cdad8583038774769f2aa5c6528b6480dde319340f24f4fb983f13871c69b6f4123f271be10331842dbc8a1a002f7d63bc716c13a1fee688cece7203ede5ed529bcdb510864f03da475eee6c092f18f080e5bde069f7185067b63e38b90f4a5253046c2e4762ec034bd55e7c20058e50c7c62deed8ed8baadc1501a50bd98fd5d483c09b557f2e5103c9603076edd4b23a1f5131616d3c2ffdc189b1d37121191a054e4e53ae11aeed039d823750b68515de628fa8c7983229ef34f0566d337217ef2b1feb0a08278dc9033ae57f53db7ce3189717da81a594e0938a9ea04ffb1a7572beafa5ca32fce29603c498d0bd788aceec8060884919fceec6a4313dfec51ccd6568f6e2f3c3ed299903fe6a5849b01be9b86f891ca8e8db35b178206ce80e0cee98eaf10b3775075c21032b5bc6dcb2685f13df673c96588ced6acbc0b2e30a81dd51091f85a192bbe39c03cb9e337c3f0f09e8b0fd134e1ba68498ae3345fdbd0eb574ac689c39c8c1ea5800581f03d0ed318c8a5ecdf82f1643656a4dcf1c5148d8bb0b88c01961abf86f8eb04863856dfe26f39000035264bc7e60201b44ca6c868cef5b2cb3fd87508d3c0a5649f2264bcc5dbf05c300581f031e658ba63b31cfc6a1c102d978529ec1999a3cac4e7920a61edbf43d8d205820fffffffffffffffffffffffffffffffffffffffffffffffe1a4705701d53ffff00581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b054a66d83716c7cfe425b44d0f7ef92de263468fb3d00581f03d23c493a3f14be6f6bb7d04adb806ff0f8da153d0a96aff3d66f493131b0482566c2dca84c800000581f031b5d05c504b930c75a63ab89af5f91a05745313af37e5d1eae9da513522049791ddf76235be8100000581f0308ad66b3b76010057b3710250df706366d790bff5536c031d58c15751f70490e6469174435440400021920fa038349e2635f05de8daadd90a58810c2cd5a526c61597f4209b47968b1cc7cd8dc00581f0215d5b8dde704d24837bf1e3ebd6f17975dfd2a532bba6492317c78daf26848941ab71f5e42ec6603d7c3174f4d16ddd34df5e5d1ef68c977e331a9842c1984b893829a0d5b21f6ef03063cbbca36f3b84f11500836d14b91741f1360f12c2ce1958ccfbaea163a4dd603bfc393bdc44fc1f450726a820537540e8a5999fec1e27535b0ae843364bd4eb903e02a74987f90d4cd23861661f99c2c4081054a5beb76b689f8e10ccc35cc5d2b03f52322ef4f5b3bd7414d1f9d204248db042d1efe80e75e6798261158656af3e70321f3e10355a263e7c90ceb6aac9a0155313b895e211cc8adfbaa989c8530be2e0219ffff036ab79201c0f4f7373c252a7f345040d4c65417580f63660b06b0cb0b623c3cb90317149c794d24c63ba576b7aa324d93cdc48e8753c30b4852a6a890a2ba50fb4403e335a3577b3f53ee9196ac4fe6a8db9002252beb143552224b7ed1cda90899bb033d7e5c0ed4103fa520b4c7bfbe5139462b0337c113ca2f0b3e354956b7485955035d49ff46df99a2ba6002bfe85310b0d4396648c50130e8fe80082a2eeb42da4003e9f56905884ff2c709ba0d20640bf8180bd36d0c5b29b36672100a95ae43968f03098fe12a5987534c7dee6fddbfd61b4534ac5af5fef55403b960d6661e63931c036bc82215d1072601b2c5d311c09e9e75965f6da2ffe9f67cff5225bfba0a3fe9033a955bf13a30aa039203ba79feef9bed7af1fc583a4de8c6abc0e1e9a8611a7f03019e038f84687e52eea1f1deede1dee2e2a03d2e2240cb75ea2350cd60b0ee170219ffff0305c60742e42d7fef585c6c71cc8eae996dd2ed2e9811c7bcbc5676acd6fa44c903465d77b4207f27231d95a58310fe6a77769a8bdf449990199bc40af8bb431e8c03e226a57b0644f2d9dae1a37946a5c0744b979b03eb0c789c46de0352cca0bc6f03cfe42e4109a0d2c9ed82ed47babf37a6191295ac1ad11ba9e084bc3029552c6a035b849773a4c09e903ffc110440e64a404255dad1682881d9d1f49d360a125b6403c4a1e048242d7394a653786bdb3ac581579f19297af0b738a7fb0ea42b9c808f035e31196a9ffd9af54f451547491d4b8bc46ff64bc1dfcfcdbd25ce2fea146ec8037b3bf0ffe5193861072d3f380ae38d5ff62886dcea9ac45efc09251167ee73cc03bccf9b08967e44bd7acffc607091c1fd4eb626eb224932602981e6d909ee2aa5033fc4c0caadcb5b242cc0a1ffdb080b44f2a6f869a10d6cd9fab9ea734badb1c303aa494372074ce106b004baa5b757c0f66f9b2d2b86e5e8d1b39f93a53e6bf99203586d2c253020b411145d1cc7808040a1da0492118e23e09999fcf068aa5a4b9c03fa7449a9895dc7ff20e4b1846f7a11e3b43e5c39b8f8afd3d070757aa0888f040219ffff0339fe2b6974ae29b668875879b5520789065ca195959b22c5822078775b27a20a03d524ac16424054c642629502184d0e8c7973c370899934b5a91df534e337469003c43a2be5b68f1555c734126e7d5a722ab8143cf924388f856a68cfea28f24eee037e4b05b1318998e4a3f50fe7efc4d7aa094d8d4288d211b790882d9a566c66f20332d7627e678db26ed5555906b9a41cf024f62fb2ff69e5bc99de3cd556963ec40319a8b3c674c03abd9492dc10cd86c095823c6158a3d2a91ce44310c544706a7c03c298397a9c683ba5ea6a135c190278a9bf5ab0b2281a7d7b9dcffab3a5b9b2620391a7781c71bd8bf7f6aadf928e5958cb694b8b8a62591ad87fd8bfa055ca018003a2b77b760d7c69120ec9e31cb2735d882c2b106aeec13258eb6347c060da424f033fb15aa4de2636a4bbb58d98291c76bffed86de137862761b417f9f59ebc0cc503b829c0c9eee29a81b56f553c903e3ed90b721940b645bf918422fd5db3a98ee403dbf462be47914c456b0476b46e799bce3f1b7fe1abaa2a7904453d7bc5c57a2203ec27517008db3aa294ec3657fdcd237692ee0fa16e32101a60413edc142c47d30376fa09311f7840b33c94f3fe4a17ef12a25a5bde49b77478869bf9f6c96457fe0325a88731665d39bf9120327380e337f218aae82e7b3774a3509a2e3ceebc84d203c2ee273bfafa694b293a41c66948eef3b51e57af3262b18ce80f7637fa514f5203ed3105f492245f1443fc898d55a191cdd821bf846247414c39deccdbfdbe2d1703984d8f577abcda64c064129afefe4a23b719d363377a5ba2e05d1659e242f9a7032288ee2294a4e49ac1ebb7c7f83cc9dd636a58a58cfc9f9a3fe00e9dbee751ea031cf1b2166aeec5bcdeca6c04b9d763f760f8885854a028409b63d3531c9afb86037fa6d2d3d9991943343cd847b9d829a495eaede5bfa37479a016a3c8ed2499c103fc204bfdf401e1e64898608805a30c7e26a439f7c60a604a1a86cb9b0eafd0d703d0489a509a472252fbeecf9b6d7cf62f15c5258160fd5801ec6a2d78ebd53f4503bba39f5ac411e4a7ae38e6eb33282a8da87b64730b84473d0aa62c0ada722be403357acbc3d4aa5ed7043e3a2f09a576ef79b80cfbfb295bd5f092a63b08ec5a0e03218efe25925d4592f21a067787eaa3088e90fbc2c55d01daaa064ea3786b7c8503033894b2801dfb7ebd1151c84b3214d659eac9736690a288d11f747821846ce003f715db9938001112dce55678435d0b83bbdbf2e4f8f3d6eb42599022e257ba71035783e28221ba8c623837ce0a439222f59e99f951632a0bf2ef9e04aaa34d7b720324d009ac1fabbb1b12a8634036089ae44d115875a8c7d92430ea853653ebf72f037cb2de057c198363847af15456893fb5dcfe0084040a033b9eda29583ad5b43a03ff4180d5c109e2097811d4b60311ae2c997af913a3519d95edc05ccae286277e03ca0795ae47d6899b512b217e17f508b2bb33e584eb6fe114b831d9694130586903ca6e3878d0690f7389d13c0d5d7387d93036cab5c2ad70b15b6ad67de221b2040399ab621578af2090ecf3ba9d62f6902e1c5e3a0c719ecdcaaae7a219f61a911d031f732606b6c2d1d106d9c2c82610ef42b45a1ef14219f38a231a08ac8dd8b9d203ca55b15b98ba7b124bcff112767698bfd1fc41d82addca2bea9b340d1b25d466038730167f68b9b73524e508b27340c0f82aeb446f23f3981d7e2dcd7facb7b56d037c674fe38c29e8875619f7357a62556c47bb810bc623e59d31c03b7e4a864dc5031f08cd10f542bfe0400b628b22bfa350c9ad574605de033f2a31288c935e88c703bdfe93017a02ea51a2eb62401af1167f0e4ae7bbe1e6bd93ef65b41e5957a6b903cef6980a35185c0fc7a096e98a2ed013f527d2dddb00f895520c7757f842fa150359fb3b0c7f1f49d709e104bfdee6a42149d9e2a481bf98a79ef4035bed013cc600581f034ef9a8e63fe8265ce70eb94954fe504056453eaf059dba35205d093dd2005820ffffffffffffffffffffffffffffffffffffffffffffffdf7953caefad9fffff00581f03a3ecaf9d44eb07c3151008f95dad92896bdab8c4d9c82402fbf675116a60490270801d946c94000000581f03567b8dd0a7999947bbfe990ccb8339bb190cef5d45082b12fc2ab9f463004868062884fc7eba8300581f031a62824ac57a7e39314aed6b3b444ac0086d2a3c6aa648cde41d096825e05820fffffffffffffffffffffffffffffffffffffffffffffffa9438a1d29cefffff0219901403797ece7033c2060f7de9bbc2fd68a86b629a9884b4ad2648f9bcc4ba60a40e9e03cf4cd2b0363238fa0431c10f2632b33e2f94fe5ee60b2cf919ddb4a8912d15ee03ce5e38bafb0d9ac6103dc7a415c33bb6bd0eef7be5920eaa9425d180e27695fd0219ffff0219ffff03f0095ac09d0501b20aab7ad04560f0a208227cfe6e7f3b8aff7da1416a409b290219ffff0219ffff05581e03f3887539b475aaca4a775365a06238ed6503c847c372b1f804d7c73bd00701190be505581e03808d9bb470add3d1474cf3b17197b0d84f4d8ac9f59f13f289c73ef0200c0246f5092d3872cb0370ca6a5e1d4af2fd52939465c830a4031dd54ccd1da8a07de9863ec03429d5de033c8b296401438c578e6fb52dbd0708e84a9e9021b95e80af81355ab8a12d6fa205581e034f5faec107b65ece5a1e792a5b6d1bbb05eb34274f4ab1bd726a73fc200c18264617ba2e2f751003198cf0865da061c5818fd8a0bbf9cb583f1d86c41a0ad8bc4b8c3536e3b6bc1905581e034327f613f2d889c66134969d6e3d51b59fa189a02945faad441acb62c00c0147a9f07f3e4355f002191e7e03bbf52265e15d685807f770fb2b2f8b113b7cb62895a9b2c57fcedb819648e3580219ffff03904118c839aa06e53593f0b4c93e727f83eaa43095ae898177ed1998051c5024039344fa728d6ad2329f596b65ac341657d274ba79ff5005892073194cbc71cfb303cd496b29e7298d3a8aee827cba813e44fb8602f57034a65525b23050c5d0009f032788400e319610b7d4a35f7455a1217c8902bc833837164a3dc5873caeaea090038326c30979960b49ec9dab40419eeb390138d2ea23f6591eae552727e596a978035f2754827bf70ad5ebd646393a4f771810fae6b1dc46b155f2be4ace6365c650038d29172b94bf6f18a0dfbe541efb2f4abe5f35f993474d4997d21ef4dc3c27ca039ef705d252f5f14eeb4f6c342b88b09eb3f46671613c1a61cea2ae637f047a91039e14e8eed47e9ac55f19045635ede68103bfd89c5afd0120a380e8ad44c80eb1031a008856d042c73f5cbd6eefc5c0cbe7034ac39f99a9dbfe83c428de1cdcb72c0219ffff03f7b499ec64a6b13a579576d896e3fc878532f17fcd82e168206800b5e483f642032753825d0861a8cfc79d0c10cd6a54472323b4fc803e3b5ffe1cdee46850e71e033f71e5b9e66c5d1c7748e3bd11a4b47327c11c229f236efd3ae2f49be72d6be303acaf5f7ec66d396989ac5c833a65cc522a1d87dea007f7808bc0e1a2793b20b503ea46b82d17fa93e117a746edda8f0437c5d98ffdee32c530b69e06574113b5dd0309773e048e74bdd1d5feab880d09df6ba6f88ea75e43c740a5ebd5b8d46e14f90375f78f96ecc0a037e699bced9352cedb8cca44270288c4fac26f55076725a1e803888a1d4dea0c566e50266448a070c9543cb6f4e65fdce4bd57e5bd086e6cd2e3035e50e980608f74dfe9142472706023e7593a324b3f159c36976266df7d17be220392e0ce6fbc1e9f44e28e576f7693f185a67fb9ff94ee99ccb37e552b8e21c5bd031c66a7174f69090a81e3ae791ac3815b1fd844c151333ce9f57e512aa7cbb1710361e3211da95ea54901970d8f9ba60413b6dd80b3c9da1b221afebc4226de58f50219ffff03f0b7878fc5b8b636deb9724e87158c56b863e8bc945a2dd74bbe11d39d66236d03e3d7266dc4bd07952385efdde36aebadbe585e530e1b991b12812b1691d9b84803f1d6ac7c0fcbb95b136f6494d7f5d37edbc1909428246c9c88ca4d4975106f7a03e038c534de5cc39a8caef03d643241cfb10dc0603a2c0f6623d34216882ac12703b008f1157b3dbf64e0d19c44070e6bcbccb5a466ac0580f117c19d0b7c3a3502034a0645e1900a77706d595c0886b023391942a9fe6716825076cf394b748391a803732de3f73a30599310faccd97b20ffc5e81f84b0422bc3dd5611066c3303661c039aeaae03a5524b937147d1821f82ed90a46fb2c2de58a0db347a800de3f573f703ce5cc4451978e7243986039abaf9e3513f1f0ee6b14e4e5545beae745a83ba8403aa9e2f7d0501b541ec2f35b813e5c797ab802982f3dab3283d8bd2663728a25f03db6336ab4fa2348cee980445174715443b4fb677a5291b674b4d4adfa75ade9b030c618cb4607521455a63f823735e35131e00b9e09ee4a75ff062a53e629ac10f03d89bb331c8481249302d710421c7607a23867b104c3920daebc63f9e905a68fe039bb1f3cf80255e87263b10e0c3c99b23c2657d412764863ca477f1390b24feee03b725a0c77809d0eba60242b4c4d3a5be081ead157a27b1a43f97847b75807f1d03fa4eb4adbfb54d7d1e14fba2e57172c1a50adf06e35d474c27ed02ea2634ef3c0326a9ef2c190034a0b8a8aad3a9d39fc3506bc4e3920fdc38b7e0c163855d4ef70353998d8c69885808282f8c179559b1739af971a4cea3d7b52dbcfa0a4e68f676032750e1e4da355ad097371acf6871114ce91e2ad9ca58f91813005a282426ecaf036c8cd05c554f0f2f25d14c0d6bfa03dc365fc749ba7609d89256e888be45b52b03be6847c21ddb041324bd3d6215bf50931df7925d03b7781329b2e7186b13927f03d89420d465e068a81098f2d8175e766320b6c0880589b06e75336a1d0e1dddda05581e031545162ac8bd3af347c652ac9198f76da5bfe63d17884e7ba4848859600c0245013bd6148603a9f4f71220294ec49cacecfa02399b9919e22a625632d4813e0deddd116d347f0605581e0388785dee6b13a4b806e54cf613cac541cf6471599d58061a9ee17cd27007011bffffffffffffffff05581e032e4b09cf046c1d30a28c23be1343105f757b4161c9731004d18fad26700c0f483e13eebcfb8ef57805581e03aba29d937544b488c524e099f5892d77e3922e4143318f22ba157866900c02470315452b6f90f9033c0f40777c62b3ed54774c3274d2d5a7fba0f24d32c1b22837aa2cf1739426810219883c03e000d75dab99e6645c57371180497857feffb797f5e6368b4d3b1501ba2f004e03ae70a957183d4199b0598778f3ad0a6214b9a4ea323b5d346d824ae8e4e82ab10398be30cdb52282a3bb91c2c34758bd76b7c526e4ceb6aedd29d5ba48776ec28803b50b97e44c1a997b357d7b8c1150da35c99e02fe85148406f097fd30bf1fb6d30219ffff038dfe9f75ba77e33c1988c44f2af80be2616eb24565cc18758c6824e6dfad839503fb94a2ad8d4254d1b95eabf6fcd58f58b3ef1700ed1c9d47b8d0d5071c93ecaf0317204fca31304e4a2368ac263751fb22c9bb68ee1afc4456ab9dc8c66b670ca20390e8c338b478f3575eb7db6db71be930f7cbb5df4f6a04c6ee07a8de57d09e49031a454e2274a08f3f0b6a5801bf4b13097dfd8cf2807d26f5a2f0ede4f92f396c03becb3118bac59e6e3c801d5862639c54acb9fa012082c22e5ea2d64d768e451f03a4ffa0af07b51b9154daef9422b45da1018af6803d575b081e062ee99297104603fa306bf2cbf6d4b2e49d33a175380e9de35219f57efa7d6c6f042184a8acd67f03c7f3f3bd35d61ddcc887142b008dc23e50f45e3c842968a73a14eac1bf036eb2030c27d72df40543b4696d001ca75da5ee69ef89264851efba051291909526d3ae03efcdd7221e970e2bacc21e64e59e8ad8e35d5beff6b2f14881bbb22b34b3a60003c97ff1defbe67d965af906ceb2f2510c303cc5fabb31c801394fb5e1ef97ecdd0375681cb87eb3209292eed00bcdcfb0038c02e68950666f631f15d4108880198d035084cd52c92bcc4701f705d82cf9d1f6b8080b0a6ad46b090ac28a3b695b7fd303b243e4505e262b6e2dfaeb28b25e5cd45734a7e865ad81f7e5ede06428c1ced80219ffff03420bd0312106043447f6a46a3800ec1870defc14758e3d6286ab42ac4e18672d039deccbed27fbe92e443ae08c9618eb0847089593f959f87897f50ea74f470233033d98036061b8b8d4581009bb0acbd02fcc0c6918b20ce0bfbd616e315025100903aef92953566cad244c7aeba0f4b1ecba1d0c7d5899dfabaaf068c514fd22ef46030a92328903efc2d6c2fe611ccb3400ac69ec8a9841eef927f5c03e402ed5684503436a14f50b0d5674c15eb6345b012ba6930342aa98f27a3ce823d39c0714b12a03965c821f09fc5fc9621c0e1762e98c4199c7a8d8cbc25cc8c9f39685f6b1f7d20219ffff0359dc9c658a68bf672fdeb4dd74c681fabfb8a4a2c02ea3bb77d39482aed171fd0219ffff037652029d8ab7b2ecb97160d7c08f164fd4998e5fe5ff62dc2b640a8dbf3abbd10329832fbdb59f688cb6266a9326791d36a64a5ca463d0efe40b0b6784d69e53980382b127c8fe81d75bc2df2f2814b29aaa067819957a7b2fe9959fdc620fdd88e30339bebc8ea799e5c85b4e865c7f47f224e97c6b352b206f124fe152533bc0b7bd03bce408413f857298bf4ac04b06af86e3deba47966f32bf85b5ee5337117051f1035f898f4a09c489c59c7dc5718fd2b1a69dfed0269ad9b5075922f34307a59cff03e1761937a5631d262edb22b19f44ca063d65d7631856aa5f508d3793f15bd049036ac2bae3052ddf3b45222af69e8d9f6ccab7520df78fe9a5f7c1ef12734649220339c1939e097a6415c0c4a8e31cd69f033164cb95cc4602f2f5f60ae1b37fb54e03dd451d34c09e163dffc1781e347bfa8b72bc5189bb7c7649fad1e3e6bf417a3c030cce3873915010962ceddaccd696f31057ab2b3f590f8a47f35cd9534a98e151039d55cee7ef12c09f37b5a7dbab3ec6c600744996e473cc22914b6828337c089e0363c073b258e7819b0f0847a792d3dc431371ae529f112f65b97b852a407fecf903c4d5db62522d78760f65241779506dace147b14d3aaf61260065776a9f0ed3d4035debf48f4e2066ca7df7c815a912a9eab9a12612df9bf1ba2d7775b4dda8beea03a98cee73862f1c2bf781009ab5bf9ec5c629ca8d256b72e530267620dc39e50c03c507e197d3c526fe929182896a5ac7a2b5167fe04e7e6acf8bec5cd08319824d030a1b960ec67f25e3dfddae1d573e270bbb7b686374d2b18c0a86be8146be17b003298e85e51495145bf47128016b6eac3a46c454f4fcdbcd9224f6f46f337fe4450321bef584a60864216ae78d6173e1569745a73a1bb8f0a43c6d784eaea2b4335903c61ae88731f809a209f7a8fb9134f8a1fcf66524da062ccfc9888cfd0fc08b7603c362af678e4aa7451b13d7cbf5cdbb4a4f759813635a5afbebae199fa9440304034553cf28ac7e9f365308198f4a25e7f6fdb6606eb1ac127a79bc7eddf42d42c303e690c83533dfaec68b3167050f4756fd79619979b111df7926eccf2f2de6f6d7039fe6c5064ea044e6356800fb1fa9e5b6c7e04e581e7baaa83545c40e1dbf8eb303ede812f3edc7053ba87f1055162650bfbb0b88187c9af5688b579c3adb1b75af032aae5f7261379b187e532a8e3c14717d366c29c5fed474848be4d4e9d8608cb203bde171f679ff44398aff756afa11a52e9300ee14f42d5d5cb94757f1bb5d7067038e6d585125499bc4cbb745324729bd477ca80e8f67ecff7c6a8e520a0d61a3e3038be1201152544e6af7bd24ba77aef0fd358c93816f482adbe00bcdc6d06c6daf031e2041c854ec718be10f445b60cd2810b5b52aff820014ffa8a0f332f927028703ea0d05661f798eae094f4a5e4d6e26828370a3aed3d767d3b09405c47bec0db903f85dcc5bdb7e92573e91a95b68d558d930aa488acce2897bc05959df3d102e650347e2eaed74bbb8c907d265f36ac7c2335a4cb715e2688ff4ac4753eb70228cb2034648362cf5612781b9d04f9119ed2fd237903787a43c673b72dae8d04eb9e0c403e38d91b1498622f9a673077d2150b2f9ce3f4b7aae12f2a012a3a3b831ca686d05581e033337fe9c20b581fdd4878905ff1d32dc7c3c3d803a13115e8f3b26d2000402038c8749c75e158292e70ecf6defbd039c5b739733db1105430b065c3d40dbafbb05581e03dcb1e941663123c5041ebfc2dc3616af2bc998e212c79f209a5774d0800c0147104446d6f7dfaa03506041def617bb58afe7185e0a67ab2c386723fc291a75cdd55b97e659668ef001410505581e03394cdab05c0917af6f659a5810db5d0d3e07b5819fe8b30de14fb457d0040105581d03485d5fc562e4fa71975bf7752d4e805b0edc0b7d7f967bf4c64f98d0040105581d03a393dbd067dc72abfa08d475ed6447fca96d92ec3f9e7eba503ca61008481a5fd46f92e550700219010205581d0262f882aa495464a20eb02f177ab90c35878dd4746d27104f1c94ffe1040102060307e513f4512674cfc773e861e6a34250eae5508f5a24b1af07e62583eecfc67505581e03a46f8aa96c2b53f5df9ae061cb918b289e536ca6957ed2a88d3c31b6f00c0d472d6c7ce4cfae93031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0304e091cd4ec502ae6bd035fe8c3f021e65a908866af55cd8977ac6e1b007011bffffffffffffffff05581e0371fee7af551da07c4837d311d6edc69fdaf1efe175285514b77143bda0040103f2d6a5c820099a8212b3af56264bda3b519af5379f1a09f2a6e6dc412a1e656103c82e9f321649f50e95a89db8fbdec55babc1a552850ee7fff4d22d9aecb5710f05581e03304fd0b47e7e22cf19ede0e60934d781026ce61cd6e946f33e8942af8004010219b7bf03e0a0b11beb302d9473283afe5cf0017a78f35969f04e8de8a4240dc1b1a66297033a3c849875f03db678d5836818d70006b538af1606079838f6385367a153f0d60396246332519927dd09d4a42f966cf91f9c6c77bc5af6fdc82d21d1bbc7a592d9035be6c461d110895cd29402d8de64ca3382dcfe643b7c76b4582e71ccb23a545a0362fdeb99b1ecfed17e1391a83e801aebff41bcdd86550b87a569e02d6cf2f7a40219ffff03c6617da8f6f134e7447df4206efbd7c34b287bdcf7fa703b27ba8b5a29b6b2fa0303f18a0e89f7f29e71fe5158da2ac854c19357bdf72b2ffead82f123b4eb57a50219ffff036f11d29396ec761f664a95257b9ad6e2b51eb8aa734c70a63c70edbf28be988203366089e385b00226b2898e053587f7838a4c1feec136aa865df28c3f20b65d1b03c74cf06615ff2fefa0033838b7bf49c6d3ce58ec452b948f666742be293d8c79032f2b159aa634d041b4cf76413ebafe91ccce1c9e2488d77fe509495effb0c21b037a19014b6aa85f5836bbc42a858d761838083dcc485303fad994ec7bee1f1ace03b481c331f85f2de9f7b8621c4589684741874936c4cc84bb6d061fd7b02b5cd703f5f7afab2c34228f50552a2f82d5f71472c595ff64f8bab0679024f59ef7a94a03bc22ac2d4f4bdd72a903d97ee2440b6965e303daabfcfdfab7452b87d7f982f90357c0bb21222fe723521a3793699463647a96e1135aae8081337ef3ac115c5d7b0219ffff03a31351acbe5318ce424c9ec59968fcc19a461eaf42432dd59114f12e00f90116035c500102405bc75337bc0e9324e4a20ae2dbfb62f0b46788fb29a120c573d0fb03b4c0765a68375848744712c5abf94d1a2718c07e890d29a0a677de3f60c48ce4033e7fec5cf835551e4e1f72df8e4dd433cdca832f160b25fed95875bbd5545d8a0392f4f2a0e724861796eff5688476e669d52103da867213b8d380612954834a00039b59de29ad718a7bb16d5cd5ce2f8ba295a63d5ca2200b903ab4bddc1bfb60dd038774491fc223ef852e69c9d4d1e8efc86d7e75928ad91678431e78c655e348c903d600ec2fcf5a2be7465d73772e8c1f8e8292007f30afe4d0553b05f949ca8e9403092fcf007467ddaed00144b622ddbf2d878334d184ee2552a525dd2ce4305256035368f67b7b21df4bdc4249a1bdcf2ae1732f348a302a8324b28fd4d8792a646f0301ea94ff35546f3d82a697b9121bae65fda5fc80fe4d51c45dab41be01879ce6031dc65bb0bfd471f646988e46c5e2f5e180802b03fc9281135d6bbb413bddb9e3034570ecb8799e1941d87e19ba58d53031c0c6e41af664bd5448e0ad29329844a403fd671bdab259a42705b79d0109dbf5102ff5f1fbb37ca6e24b0d943c904f8364030fd7da1ad2cae8e1d868eb3945968c1050521d65e6554db7e2e8fc58b1686cf0038b75070fd2424a07304e1cc9a0418e4c17e1836a21e92651a2e04eeb7269be0b033060899eb26fc235ee30f65ed49fa115a3c1e6c5d9342cd2a01bc08eb2ac7896039fade33497d64684c042cab76ab844a185e1a7c1093a766473418c6116327d6a03894b1e0d0dcab90bfad893e7464a004e5e2c4ea385a1c751996af07e3833fd6d03540370e30d26050f3e1a7af38e095e1a207f0725beeed5c5f09a5c325a00348b03a264dca8cb5589dba0b16e3d3a492a35002f50dc43bfebc1e0c87ce29af36dd103bce71583dec6fd6451bd45864002d4f7c01831d91248c8cfb673c9f43466efb203cbd22a700dbcd27a7f251c4e0326062a614d4a348dbae098e96a6dfc25cb23c903097dc581afd78f1bc93484e7b5e9ed665b793c75059857e656d6f9201dafebcf03ae7fe024af68f873a47a3a274627d35bf1167dd14fab56a2f253a073407fd46403729ca0297c31451c0ee15d9fcd13e123523f6ba5ccc543523af7b73a2c266496032757969fcb0db6ae280d0f2e7026cccd711286a49bf499a456b5aec849c51e7d033a8029a28969b829697810758399445c4b45345d6f3c982b584dda632619304d03198ef8d4075ba4a34c98ae2cbbf896cb8357b8163b38cbd55b5f8defa42bae4a035aef98625cb3910ff442678c4400565846abb0d3d2c8a52518dbf91c34aae3be034981b5b5f062202bb8ba42826e4f053664f01ff96eaf72f0c28780788b3c97c603dcab2ac61f93393631d479d086311d5f21a83a1f8fcdbc337c7f7d34632f8a2b03dc0858808bc6e3c86818dcf3cdcf95e6a5ae8a70673bc31e79deec9647f0711f03fd2f117d7804ad05262bbab8f0768767769bed8b95193f0743f80376934b899303d39fda5e0ed379652e457080da82838e8447384c002cd0910afa73c878f2583603df69ef86f1e255fb56a2bc77ca47c8524eff5655d45dcf4f7e41a3ab46e329a103f6591f2371a5e7c78fb3a26f999c150e5f036958bc48d02b38208d3b80a3d7bd0322e4a2b8493243ea5c46c6fb6e99837d8dc5f8706efa6e9c39731f465c6bdc7d036ee7ae2f7391edec5102896880333facf31d18c04d599848cb9f7fb154e4aff403ace8b2c728ac52cd8674e7ef8364437c7ef329c122e8c3121a8c4033a993a7ca05581e03cb269f2d887689fef152d552963444a0ba326383760fdfb8f33a38c020040105581e03bf597bae00828c0b28799374f74aadc76121317315fcd22c099b3894b00c186e473fcb1d3ebf840005581e03aeb90a0c6fb6037c79873f7bb15d199a0584c01389b44f8322d0a6d9300c0a4664a29d73cea0038d61c7c003f81026ecd05a687afe853366953f1c51053c03a1e563df1546ec2805581e0311d6c8e3e174faf548c7f958901dd61f8927ec459d63252bac7f191eb0040205581e030a8d10e6be5db11e17358a481bce5d2d0dc2f4d042fcd45d4ad899ed20040105581e0301d37e5067c6cb75eedbd3b9839941be2773b30d1ba2908edaa994a5100c094721f6ef9b9f920003a6f758b28fe2e74723f08edd1bdcc5edadc636c81057a9a609b90eb75436dcf805581e0323a52f3ab2022f3b358c5827ce6077eb331247c97de0c51af0021c34600c014701607bf40a0df805581e0386d80d80640fce75308a667a1363085726f22a87a03b29cb1cc27735600c0446030edfe506500219fcb10219ffff03d7bc2c2ee276cef65504bafa226bbb93cbe4fa8a569d9302e93d71f32bf2e0b60219ffff03ad9bc9b96f4a3655cfcd9b15d21b97d20d1743e8770f4f342026fc90b3a6d09f0309116ed9f1da80c2b00ddc67d0fd572d70f0c8729be72312909516d063709adb030196950461ef119610be332706d559531d817fdf5d16189da7bbd42ad1a37b1303c4e37783dd66169538f5a6efe89f59ee67e99f14d706ae5c1df8760b4e16f4a70219ffff030a345e112839a2bb3a5ac00efbebde11581c9a531f0c2b97a076b29aeab1132503999eac0fae7e1ca63c67ab62bb0efd911dd1b8eec1fdc646277c175cf13892d603d7f23e2465ba8651f191c9c67533afc1026427c040bbd63416ae6538490276940328a7dba2024a900364341d4e50bcbfa9b6757f387a73015a6e56c9ba43368cbd036e6e734b077a72c459ec08d4dada1aaa61bd3c4bd4b86cc69e5b750cf640fea403d674928747915549739fcfe3ac0b4af347308a2242e35e60570c913d1a15a2b40323b28cfd75c335488f0ecb49b9a56c5eb30e7e6c4f32c826eb8a312445adfe69038f82fcfe73ffe07533e357ffaa030b69026ee1ed1c0c84b28b118ddbe4ac90900385e651f757b1d1a3c270e9507479c3afd19c11d5e4907e69a5332f7b53bbdec903ba36bd36bcc4194c7c440cc49ca57a8036da8a1f11befcb57c61d627348937b203ddd6aaf11cf3ffe07ff80ded99f38f6c31b43018f9650427221b9cccda3f784103605db4caf90fb798ed9d1788da6ac47a0dd6665221b44cdc6fbb799f1eec1abb03180be8496db82490d1847571ed2ebe0fdc468326bfa97bd39bb125186f2e3819037dac9b57c72c965168f2be2c100300e26652daf192cef5b34101c8efa0c1bb6d0307efa4488a35227c5ece5f9103b6e5408935388cedbf5a9f93a9918141021c4203159dd0c682d3ccf95ef371415b79b0681ac5285a55588b7dcb9c5230721453db03f0209896561a2902253c3db9b0ca14527751d236cd6fd407cdab5054d60a3e5f03166243651d8c12c70c83e4462b9a781e9db144cb5816316cbceecea6b18114b203aa4d59cca6191b1506b64ef52c3bf8522462aba441d2c185a55d5c184d8df44403131b30f97c3675b769be4bad6519d17ebc40f54b7dcf7144bb7b2e046475c9d70393a140e9a5a57895474d0bcb4c6770a493c76af62ed6269072e794f1c8d02f3905581e032f58720faebe952677f30adbb548ea9753fecadf6de8d5053374bd0d800c01480349df5f7402c60605581e0333256798d18a727a420a30fa53d1963fb4213677c6564102d3e7db0a000c014701794d7366092805581e034d21a31f24f066ebcd16b8511b86375e08be8ffd9da95e3709be84f040040105581e031471003ddc3780a398c51a5d63ce076c6630e4cbb43afce181be7e44600c08481b6f54f18fad500805581d02fe72634693756c7695902974b20186bcf5064a8f2d7282d64b2d75880c14476a1ecbe5ce230e05581d02428d2acebb14a325606e61848f8e1ef6cb142bbf5ac77c36449be1d20c014704f7e974fde17d0219200103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03022728c401c131e69b1e216710953d719c7cd49b00a0898d6306846fc007011bffffffffffffffff0320d8cf88c3501ce7b7586cb22abf7e18a258567269d22e08666c3594fcb741be05581e03fa92537150544b34d572c6d0fa76ff2699c4e769a3ea3c502959bbf5400c094745513941a1f0e805581e0342adb3e42bf42d629ff1a50ccfdf2ca9b26e007bf38f1e726bbd42a45004040219da79038a777323a7966a335647b5ca90c9da8beb4b4662a2005e6b84e40e524115230e03c9082505b941fa74b0485cc2bf649061dce58bca3fae743d5d99290d18b69ed20316b9b01dbad04fb6ba0c65d882d1410c5329d246b1bbafdccf8bdb5317f83cbd03a4bc6a658c728055b9e66f7693c048ccc42409beb079481a610422a8a757a1d103b43a8fef4c8365e65926a25aae2f49828b79e7fe248cb33a6f89285544e6fbf0030195cfe0c8edc66145d024cf2428e22e9acb1b7ac04c9fe90dff738a763b321103e9a3f3fd155d713b22d666262b25c3d2cdf4528260b0368875c0481b0e0ea02803e5768f92f3413f2988334bf92192d806d21f11e36b925107964db3533fd9a18903a2a07d58f46ad177015684204c4c467e4f37bab2d4a4c916a9a8752df654a06e0314adfd9e2842e6602538dcbe973d86418445dd9c9ad65fd39f75068adfe01e9b038cf843e9309bf21106b003252b89504df7a79bcb579456071ed98d86b84d65d303dcae57b55cf9eba42e1ae1cb1dfadd7df779b8e37a925900354be1c275b6f05703323ff9bbf953b91fa159bc85991469051981125cc8979741fba1dd458d7acc8c03743c043cc24d55f90e382967273b841452b49e0a15c7918e18fba44f03f7a3a803187046ce9ba8ced92a3efccbc92008bfddb44f2c597bcc3846f593879cd564cd0219ffff03fb36b5cdeb3bc3867dbfe0dd4d7877eaf5b30e5b877e347c39eb6e9c5b669fe90381d45af049e938d97a97e1a789001e57edde0f4e2a145937c902b6b64db7de3503ddd6d71bb7558c2574d174fb6e7740b9fea78ec51694d6732cb978fe6290573c033cb32d6b504e09391dd060d56b682c6b871eb947791589ef3ba25b40a8d5073b03f99f39dc8737e00e3c8a9f6e4151742a2fd5ce237dff02391b2cac56eecf913d03a62f021ed7e4a55b7d7ec600e2f7c87b2a97cb820c005d011c4ce2d3ee37ef4603b6672d2b74847f0928f2f446f9e7e7796e828b7779886b05d84f538f8905b68803bda30eb0a89516d16ec1b9cb739d33e68e989439abd89e1728e388bb6444b8af03a6b1d1e16c63f5ce0683a786243c7818ff8c2059b778d979e4e2b0074f7f6fdb035cad0ae4cc7f21f220c4654babd5ee299427fa60f94cd0376577ddae987d9f4203748762a8f91ff7c9f864497891186637fdfc86bbf9950985a25212ada19f61f80219ffff03ad76d7b096477292e6dee47c84b33c95dd65db6ab6651ae4f7b368b0587cee9903eae6f5d39c744953194ff51958217eb47e976e5e12020f8cd28d846bdabb0ed10219ffff03d6c4cfc67b5370297a1a0de96752508d344f17a82aefe9129bbb33ca34d758670375ba313579e384de04238cd061e60010052394b1a11a378e9c36fcbd8817d15c03be751bd69208ff9d6f6cb4e2d1b88f04bd791fff78ab93ffc3129c4dbb3ed4970219ffff03959352703587ebd456f7bea1aaab44ec5e485260e8fa353ea507f4572ed408b703c03901342dbb6779f6547f0fc9a73f694538fb47b9f5229169109b9209d5ea0703b44c6ca9adb3351156c2fa926aca8b39f9a00495747c40561777e8824938828803993d577c6ecc7c75b11fa42dd6f8d5fd4b10cdb66b8934c4932e4ff672d85abb034420c6d26033f49d4f76372a1947231032c15932384bcd15f287158e30e083990332a438e4f661d639488017b081cfff62d41ce39e7fdd6c26822e9a57c00c92f9038e3b3093c74e8d5a3577ec9bd7319c712cb636459d7da6a9ad1269d40df0080a037dc9a9dbf562589aa7b4902fad86d9e595e8c0ebb8c20c5717cc4c3297380c2a03eec95cae9a9828720475545f4ddcb9951502e4910ea4bd14829281f34f0161c8036d6e37db6bfe07de0786cb569d92f38940392655d03b4738812b4e259d3e67ab03d01823422458afc9eca9323f89a12a4f1d8b5c071ff38b85e1ff13b90db4afbd03d3dbe5ca741302ed9f99b80fec749a479bca6ad92182215fc69d9187fc962d6203277bc495c35c66571334353a5a164ab782a2c7972537ba112b353b7333af7bd403624f450f24fad2c5492e349b73f887ebd3985d1aadbd0a6e2686ace75956e77f03fc0f4ce4ae7bccdd724369876a921ca2197cac481d5815c0db8a08ef78a6842a03a99f5f58998a752968929d43dde749c286a07762a3625a3d63800bd7dbacc872032f021df7ccb8cc480a62de0fd5b79cf9d00ee574410b7b0ad268d15302d09cf5035c4df975f85c6ac351d0d7e660d84d88c06e806e59ce84031bba2e2a1d690e0803d8115f2573aa8d84a1c0c922002093669d864f6a7cc916219de3ccc8a3ae54ee0362317eca6be25aa2d28ffac6454609dc913e92e38a4d7c7ea2727dec4b496bca039a8111ed6f11f0ff8108863ca5d850a9b75c014cc8457d7ed282db9c8abdd03c05581e0309948aef6de5ac1f663864a9b7d08d187210e235532d41514dabfbca400c01470da705c9d3940003742358dc6cf87c940113157806d0c3ccf12bc96df9dbaaf72278ed02af53970305581e03c49fffa443285c490efa72c5506d3e91cab73881dee920327bacd18fe00c0546d0942280ca7805581e0373af76fc6874c9e4f4bfaadb26a77bd712710ab92776c211ef950358400c02464e89bbbc9b500459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad097881565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad09788d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad09788b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad0978908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad09789087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000003c30d38ec285bbb5d7e805e140b5ca75509ce2131614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad09781693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a036a51a2c5f38820a6eff2581fde0aa2821f7bb5911118b21d1f70c3313ccba6bf03040a4db4b4b810ff493ac01bf073f1383f9798f0a852c669b85b1722e07053c603e2ba8402a4886b47a2b2df8e73e96b33d91f8c949f09dc8ee5cfb302554d6dac0058200230fbc72714c58de6180ac369b8f83edd6ac74dc0f65fbb83f101f369d3bbaf4e2ae53ffa1100d86b6901b7b765c600582002b6c47e0e6d47f7c61d1573f98b972c85b77836398d8fbd93682e08206e89e45820010000fba0000000000000000000000084a94b9672bbab32cbfffffe433b80c0005820025983ff33a68d2e3b59f6c952fce4b00875c52724af9b5ed17aa9975e1103aa4f1eaad3a042fdb49d79e15043f0568800582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000fe1e9e0000000000000000008a3d802a6164bb7d455aa30058200357bf05f1565a55bb4d83568c6a1dd751146858dd992e7615e0143457bb7f7048d739394141b342e60058200347f75d6b30218b152923779d2960e8b5e34a97f9a63c62181a936f7e1dcf00582001000000000000000000000000000000000000000000000000000000000000000219080500582002295ec649aabd5b8e429c6b16cf52fe50f2eb12e94a6768634bfbcff00c5dd74f04efdbbf26340667ca971d34ee858d0314d41c4bf3c112664262ea01674ba0a7ba944516637a3e941c92f577a316ad7e00582002fb18a02d9dd5667f71c63b1deed120d169d731fd95b3ad1e4cc195efd9cf2c4e8de0c453c9460b5de11339caca2802192fa4036a9f3dc25f27285ae16f50ae6302390bfa60654fa6737d4641fef5c1fa2f74c6038d898175d7bce3f37a54e9bbdb70c66389d2256fb94f27fc265c8bd742add13d00582002d47614c9faaaef9eded3c5cb7f749c10f7df49e7f670fca290ab4638df57784f0978ca47f0f92aa8754c7d3f6e9c5b00582002ce8221e49dba11697c6e624db580d1051b386be14952e76069377cb81216744f3431245609e908e991b94ca69f4f050058200209242cbccc12ef30c804ab965fedfb37d8d01b8683362f75ca58269291205c5820016686beef000dc2480000000000002bbbebc9225e9e466d22ffffeea6d6619c03574563effaf05e359a9795bc3a08392e5b76add930e2cb8185d190bd2e63c2b500582002b9ef30d66295d8dec1e6b8a89389f2ebf2557f1910cc002275d085b74cf1e049033ddd7479fe6fc88f005820022e8fcaf31e29272e3959a7c1a2e0a6d8111c728147be8e5c3d5810b182ae22510c3c4ebc780bbcf8f4eda18d5bd4c30cfe00582002e059c203e475d68a4bf18e65a7239e06f2735f9292fa7c8a4b1ab8dec8cd044d518f5985cae17e441793599c7e0058200316dba076f247d33b479a42fd91cef42c63bc4889e541c52e1711e92e5467e0581905d839bfbaea454df10000000000000005d839bfbaea454df1005820033e1e06859b73e49492b3c27b75514574e4c70ac611a048f5a5ad3002862910581d0144b004804005034982382a600000000000000000000000000000000002194004005820027d8bee0ab2ec5daa5d499491c63bb779d98d1aedd70ce1d1a131925f14583d4e3b8a913b7a0afa90b1c31fe71f3e03ffe4cb41bf60a24df1e3b46b1ab283c93ca40c4bcb2daf8e50448d809434010c03d0b819d750a92a84a533c0689a55c8bed23f9b22d75dc24d48a9918f2e07dc1b0219bdb70320be86168010e7c6254060e63aeda81d425afed03bd56d6fa0fcde8552004e1d0389e7a90ac3d49d1d496593059f762774f64565a1e4c397ab9b662767d579b491030c6ac61182d01bcb1b1730b3998f0f9e34a82315ae9273224fe3d52615e071110058200233e68013133f8cd87dbdbd46046562a810e3c9dfe5a6b094ce7aab93aa8f6751030ef2c9df92d7d64b6ea4887c125e871000582002e319da815ba431f62f8fc4e00e3220eb7b755bdcb34e1ba12c55f2c2532add4f1b55c4dfbda05d9c8476700dca1c0d005820025b835484cc544ab0df954890aef12ee5712d6dba8ca2ac9b0389d842a1848450015f7010aeb12f7a0d51c659c294c9ee0345f792d4e4dd67776147c91263823d3bb19eeec3303b8ae95c78b8f8efeffca2033f285a13372baac03c6800fdc8b7e14a86e6f8a47165d14b911c151e7f24c41600582002c0da104d3db3a59409b28a19db21e42f32c2950afbf4d4fc6ffd97b263531351026d689c6222fe2909e8aa856961ab2bb900582002a7a8a368a4c51b2a76225a260b59156b60c45f63a093dddc7748c0f9f968e85820016686730b000dc2480000000000001f92d41658b3c62810dbffffef2f33b34003e8de005e30c2e90a6e9fed9d2ea6e1a45bb943d00ef6edbb55d8fa8fa3f89a80005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a01674e78f40145f451d40058200322e038464c85f36dafcd377f2d8f5f4c40a13076efdbeaa77a2ab8602aa0a05201be358e317972c6cabb18eda2dbf9b2b48f00582003d24ba5eaa743420609eddbef76b684cc194b14bb79994aa32b00de13e91a904f36fed3fe11a5deddebffc2c94d3b2002191028005820024ff6e708b1cc4d077c9dae94862e181f215b18dd835199c5969ae39883390e4ec7f56572be45b3f7a392babdaea103bfb7f177a4c9fc8806f3babe54f8382a9ac3d7cc9b8446c636f5cb2f62dd041101410e037d48a1ac80268df3a716ac7221294a377aec456bdc27f633d67b67499fab959900582002247551fbe27f692804a6b8b689da0b721567b5a5d9d65e911872e12cd48eed4f0512aad726a874145493750e2e5c9802197edf030fd6b1f345a5e66ee42dc3c125dbea1f71177aac870dbb0bad35112ea1dddd27034dde6c212a02bd8025b38481dfd66edd48dbae1d67180c58826dc0107b135efb00582002f4ad4cc6d6fcf04ffd9882d51272ce3ecd3cfcb5a6667b023f3b49de3a4f864f01ca26d78ee9e789eda02c21d9116200582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605201f604c99b527f765d8bd89a1e66236c5f48005820034d8feecd79976296c977f5a76553ca241dbf5dddca250e027f29a0474cd5a05820fffffffffffffffffffffffffffffffffffff4e6a6d0de371a3cf29bc5e894d2021103b97ab7fa163701c718a4e6bda85e0637899062d2b5506047be7a5c40961d38cb00582002ee4b2dd90b1aab1c1f88ea6d48e2760db11a8d71388d79de7deb1f2aae9efb4e04581c8019722e92ccf84609bc2e00582002a42d7c62a12be94b5baabb8bd62f5a6a3f600bf3cd5312083ee4ae6539f3f44f19bcdb11b1768d33a128d79261241d005820029160de31641ae1ff3f08101c49c1b72dd336d0997d4f24f6da3ab629a607c258190f8466d65bff18c565000000000000000f8466d65bff18c565005820029bd487d2a554dd237afff58a3fa50cc7dc241267e54e0df5382c4f0b54d89d4971ae1b62d3820607a30058200281cc8bf0bfbc45050abce92db8a18dfa92a98133c6f321828e3c5f299a47785820fffffffffffffffffffffffffffffffffffdf48a803a5b478604c25a96dcb2610219254f03dc039a2728c4b16f01ac7eb8bd9d93d0742ff90efe20f3d51ec1fd0deea20918039e340eb670828887599a6219ec8884e7cb4367a8e6bb4d3fb3ae8b8b3a02d5a803763ed5d8c0637ce072c1f499401a20118d2d280a45194cb8dbdb852391a9e73d03de2452c68ad8ed75a797cf6ddb9ce5f78acdfd90d67d662bb99848b80b7581e7005820025ed923d45b54f60cea2f2979e6f0a31e2d2da928824c3b36de75a05b6157a5511ad95b9bbbd163120201fa8a6f2cffc85a039916b83b8a73fe1273648bc04fe4a901f798e6f5ac906294fec855230dd8fa7500582003ad31d78c87de7c14f427faf810536a5454dd5bc7b163b563b2554286f049305820016687cce3000dc2480000000000002c5cf321ce0750e2a506ffffecc715b410005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30582001000dc2480000000000002c6737ef6a1d82dd961dffffecad4e32dc6687da9f0219a0000058200230a0234548e48ecb4ba57e485665398fe3318baa073ca8a286373b44b4c4605069133fd91c2255285706863450c5db1a00582002c9906f00400cd8011256368849abf5d045cb493cf4841c92ea0271eae73bbd570800000000000000000000000000000000000000000000037cdc0737946f209c278366e8fe8bedb9ce1b7978878478235fdb706db75b3804037a1ac0b1d4ac2db6d04633ae92efa132a53814cf55a1b54ffa9301e61621aae800582002da9c6bc13470cb2a7ead3d37270f0f3639b7edbd781e8d5a529ec1bb3829c55104ed47b37055377e241b05ebab081b77f400582002b472614b6459fa453b31e9cebcb4d7d348f5dd25d0d7a619f1492bf870662f500d4ddf49ccdf4231df5858d4c284449800582002c22081f60731cd5f2d30912b41f305c38d4c6e7e61afa053a6bdf31d77bc7e511636b80342b7f4856a807d558f8f33ff12033cfcea3cee86268b9b848fc2562323ff4c60a1c689795dd8554129e7857ff02f0219fc5f0219ffff05581d026fb0007cd19f8288aff711d7708ff5766ce2d8dfe1998a140540dd86070119567e05581d022f1dc0e8c7cea9682d50a5c224268f869faeadcfe750a8e7c30e78c2084705176ca757a8c005581d022179a7d2fc59c3c85a88ea16a376403a9a58fdc8b7558175f3b952780c02473131fdc80fbcf10219804803c28a1322fd5de4ab03135ee18d95ec728782b4001812da203f118d81cc6f8442030db0e0e5fcda3f5ddd4026a9be293d6995cb777b7d8ca70510465cc43b77b2630219c35403b6340b5348f0309788e2e573528c173a2ae594c6b00a61e567792db5da0531b2033a4a436be8148a38ec766ca27580f8aba1c494440a3abdf09b0ab275dd00aeb5033b709d1cf0f59c77f711834c6c33844df6866dc73dd0c17147830984a14ddc6b038d63d5a2a7a626c9679c85ad57fd6755d20346028d7ff721b291ddf8fd50d8a5036c93eae92b02d16bb24ed658bc3936bc4bb15bca775788d0e56733514ae61bc003615ed438cee656ed4ed3c0b51977052b455fcba2524c696ceac11644ada5132503d98ba87f29082482ef07073cfe45631a68ac9ba53269f2966012dfb3ec6da1f30341d4a53ca59f7bed7c494d230ba26d563550af68fc3de833b935ad9492441f7203262a562a9ee960fdad09250928e3ed06e2f8e8c12182a271e0f94ca2d75faf7e0375a67c51e93002487f897763114cba5a122795708148cd247e5128ab833fe71d037b608dffe80fb687b5bc0f1d0081ed9b90d933c47d7670563555f49d0d965f480324b3ec2437321a5f9f241ab771aecfb0c8583220a5a8b8605923ef9e8a3d9c2603df11b3a3f166ad0f7569ecd6a945dba63e4f0e127f03f1761edec9168bb328d103c2510803c08c6332338aab7c94aad4c6bc0f2cad489ab1bf2c9b6f30ec1e1ab00360493abd9524e8355c601114a8e737aae7440853a3fbdde32dc5398e2866d9e80219ffff039bdb22182d55e6a31777b2fb0b355a7428d5ce144815e6b1516cdb8f269835790342746109fc1db567eaad6240df058392a678bfc7bf3c24d5ce72325823814b3203a7bd83a30c387f37fd36bc0833cb6b6b1a663982a35cdc6d40b6e2e36b7399230219ffff03042c87820c9ff0318a9d8d46cbf8cc6c683cd2bb96e6f825dbd0e8219d38fc4303c8943691a5cec48045bed61c7e0985aec45dd7c6c64e0b47a090cc0225a162e60312b7e216414eaf92d3027dc7e28e2d93b45aff5ab3140fa9bfd1010ac818711203caae787a9cccaa479c1d65561cdf7029795e4ee4d52b0a62cc0c1dbf59f9489803af0440b0b40601cd134247f3dc6aaf78f77e9a9ff81238caa4dedbac0ad5a4af035e2ce091b8fcc651e91f484cda26222b58779332a3a642fbed7a3f30079f7b45037e8e2da03f506ab1756384c048e6ccb380a3f0742c9dce4f94ef018f2338c83203f14810f444daf2b6f81b8769ded52493e44705187640812c308f272cbf3311f3034581c6b03fc2158d83a6134bbfbe974df27fd424ef423873a615d694f333444603a42b1778d44875946d5d88145f87904cc68b1e3873b6512a186019c3e8b9d1b80219ffff031a8367bd852c3c039f5626324107fdf741f10ef5624d79aed4db18903770d1610394f4147adf97822b566d20a7425a409969f694177007e0a5bfe566bbc59a4d10032e585863fe3a14859ed2d468ff703b3b818d49e4b092ddd1ddf81dd410f0fcfb037499caee1d530061942c64749f38782bc5441d90026e9cc415d5e9883e84c90203f5202347b580337031af2d2ffb5903033d78f275b69e5572b6f7a31170cc05c10370ee54445d08eb13320918e7eeae6886d0ca4640a1f24b90eecac5f5fcac1e630313a8d2eb85adf95e73b8831ddb26099c9d7df187abdd74c49f680249826cb97f05581e0318c0db60cbb7d5eb5eb288be637289e15bc6e85785b745be95596a2fb00c01468a72b624139905581e03978c33a84544f46663801cdd07fe70bb91a4e705820020441cbf3b49000c0247016152cffc7d1005581d02ba6c39ee858c13906b268b4b188d46b138c96ffc53940fe6c247e65e040305581d02d6b583dd1bfca1fc3cb007d43739c1eadae790da509fa97e02f257b204030318ee18c00c724c466f970e43a76507ba6f26b38719c17e23ba419970646957bd0342897dd5953d9726f8296e29bcaf5d7e8b190690bf596429ebe42ca2d5bb70d205581d028c791bd5a9e1de3a3f62728db891b692827de04a859543311099174107011bffffffffffffffff0219240405581e0386eeafb5296a4f119431c6082501400ee53db06b7784ffd7fdc06782000c09470287439c8d842005581e03889dbf1be7a4e4980f3a40efc0da44ee40e139faa1a90b2e3609517dc0040803e342dd926d617f55ac834c2ea1d368da339511e1840d209eb8a935baa47943fd05581e03ed069e00603280d3d5ef4a375bbb2ac0e6da216577e1a10439102998900c0146b1cd85c2ef480219d5e403109d0ae10db30a297b2cb80a9b29758f420ac74cf8e7156bed201073a6a25ae103574519acd519f8e6cbe68f239cb78b4f543b15c4df2e6d8576af373604d284d403089ab13b24c0b8b8c997d9e86347bcfac86713a2377dff1bc56e729683ad8afc03d552e1c903ade62ceb9e3f3e788d2b824aa0ac6b8689a3864d37a3bc49d4bf64038d6eacc11cb191ac09f43b311af0999f6585807dc50582c0ae2e45e970cb4a8c0328d22d247b09a4823fe98d963f72a7ba1e66b1a3429001e04a483a188bfb89f803313aa96bc84a26e961b8e2504bd125c3ae21aeee53def847ebb91582b67aa255035c4aa6d4230e707dec5b777be5599b702104b0114bae8b64b38a3f3dc1190afb03d076e63e291da5d683d1a4a88e170fe7e15d07858692401450a46eb15e4cbfbe0340da5f29bb421b41cc6bed5194acc64c75ade3291a2f55c8ed768a1197921332033a92796b69905d089f95bbff4aa101a742d8989db860202c87a93b5f1b5c06e503989a5dc23ef671790f1e9b44e09dc76a9626acebca64257430af418e516c2b6903931b3171f4f5f75c697d30dd71cabe8d7a536899e74c71fd2fc0e1b5f6ed75fa0396d9821e92c8c18212bc6403437f2ee20185710351408cb7249a7136e60a9d6203ef21bc36c484396ba578a9fe5c55f774314c2579dcc6e3d1eee89ab39e2be71d0219ffff030dcba19be76e21aa610ec2bf81b01b1157b7f4c5a502933194d7eb96b68352f703458428fa1d0fdf2178779ad779d862fb93bab1c9e0b40d8db94325b04579bb630382e484245e4338920a13c78c1c7454645995276c2fedb0f1e3e3f708bcfcbbb303809eebce377b2db28a0487a7877b8dca9359164bd3a9863a727084825cd325c1032bfc5179b9344bb2b08dc4563279806e765e5ca8f0c05076b40b93474131676903a309aa9fb8144463546108a5bda5cddf4edc1fd6ddf5294130ef825b24baabc103964d137bef46f04aa012825ad6bfd41e2fbec379e43f24909979ef14ec33ffbd0386e79daf4c217b2b750ec0db80c167123e9e154e0be2ee83fe28f2e33c84ee6a0320b48b50d8641d308b43db19773b101f4b2167b8aec639cedf67167cd9dcbff003a3a54d3087cdb74cfcf738a4d3559484fe5131ab17aaee1c1e59e490faa5ebcf03b2e9e04a82adad023936ba3d16a39b6b6ad69a6f077e78d573ca4277bf899e6403c6c254301e3ade10d0e60f8bedba6050d3a757c7b7605078e69fa961b016a38c03daa6e0e09109f6d3f5c18f333fbb7038f03290e37a2bb71fe6a04529ee24ae940219ffff03203b18c5c1c81b36f9d4c9cb7fe94b459cf72473df30f0fa1ab1b88ceb1ea4410309da93602592ea559128946a9e9300ddeb09aca3d4a7ae424a1c847abaea25d603c8205b0aae8fd7f7be8415a7bea2ed4a62ba9659b08972275f6a920c31d8759003f367c921e857913b4dc254a5353783e86807570a51f917349e39c08e56b0dafb0307267d94e8f6b144b52536c4018a00ece4623a9a4d7ec00d5b41a12d90f3754a0348ea8de3aad4ba78deb691a9ad1bd33cb92c29689313ec0a348be9873943e13203b7edb7088f54a9463b05a5c71c08acdfbdefe5e34770641f74d1d756632a276b03c52b20f604f78618f1db79d29b802cdc2ebda2499406eeddfe969ac34fa1f4520332fe8d5593db9ba8a9dbe627f69151dc7b4fcf79e053002892516055fddcf45f03902abffd71b9d1a1f6cf771a6b9a2a06224593324c124268b626f3f7a91ea82a036364c6a4fb3e58dbd54b0626221a1a3942d00726e7ad5b9797f8e7dbc2809a170361110e6ffb0145e06be0f57901604e594e3e1b704fc8aab60f2337cffd938bf003ce4215253ce9e339de243350f3840f2359aac1898c1c428658b5a9cbb40782ee038e105fc7ebbbb28beea3955370a0eef0c27b956ac4c0e9e045d83fbabc43d7820219ffff033e7c04a114c76a4bb8c43c96de8346bc73c8199f5e8a4a112259c25fe2d03a2103293b8017acf700c86bc35ef4b1b7e4c44bdc598c1edd0ba299cef544588bb7570305bcd656e067f68a2b9039f59680c0e01f60240f460a22e21509b635d62d5c9603229610a4cfc2101847ae809cd03b4886b6c80cdc581f743ae6d2ac848dcf25b603fab41d9d757f94c09fd2da5ed7d5afb00a5f995c97ffe32810c1c2acc8b2c0e8031339a3f017d59957d147a96c6d7efb70751275432e52e19c0887aa8deded3ad2035ec7d78df874f7d0c2139c0a8f7cb0ab110883204a10cb0e690dab554e33b49703c4e2365988b59a293faafea7e1d07a3d6969c2c691a9aab50e1dc62bd712fdf30219ffff03b21e12d9518c391fe87ad6cc555fa627138f129aadce3bcfdede52807ea5cc8003e5cb36fcae42a6d32bf8d4d0b6e0f78377f6bae46c65f719221062ca65c1e013039bf2013389240f11f95aaeac2e80967f0b0bd75773b1e8a6df04334554ac9756034d74939035b93a849546bd03b9a098ede836ff0530a38c25c865bb6eea78261203f8670dce6dcf53c2cc10dafc7f88069e2ed9cc75216c90b3b5bcef2b32cc015b03ca7397addfa1b28437fc69d04393f83f8c29080785b1911f5f38513df9b5268b03f1f3232ff28aa09fa547fe4f282009d1db532809ae8fd5f338b3ed99e7e34b4a03628151e05baa70018b27f0a262c4101e4e34d097bc95a50e282b75e3fba7885203092fd8cd85c9ed35561240b5fd2f71605e84d47758c03beb81e0f87696bc56a103b7865405fdd6cb984bae148414099e2fe9ce442a68d988252d710ebc8405fbe003a50daa9d53427c745df25a019fbcccc52b3189005b9689bb5c11aff3b5854a4c03d7836a7c1e0baccac48a4eb13671fcfa9384c045498631c75b23dcbaa1e56a16033b7296572b944d934529d22a73f065e811af21ff8abf2362016a72cbf89a6bb203f6596d37a06e58ecf350892f7c0e7e4e2da6c29075852af50657c88f85ed6643038e4887c95d8df0985dc7c301c3e7389eb98bf187f3d7a6a5ab6454ee994a840f031f224e8b159248a254c965faf17193098cdb0743b08540f2f5201a27a4588c640309b658d801a7d6831fde796d4ea7a7855fbad24185dea20ebe778f8b1875c85803b5ea2852b3c5ffb97385bea0d1861546623743b8e85f4fd4f664e98d13f86c0f0354fa1cf1348eab44fa1ffb552c67a4174708f705ff43fa811f5204c5ab2dbc5d036d4f195a7934d4326e489af65429ddeb9336af0aba5d9874fb49db5898bfdde7036bab1a090fff4fcc9a26dfecc9c4876bf071094d2d6fadbfbfdd692d4b932feb03770820fa28249dd029acb8b2077849b0a0e283df131b805fe3f6205ebba3e6bb035710e356540f7a5f9f55e2a1866ec3b900cde7f798cc932c7e7760c7ef8effe9039b282a5c5d02bae05b988bb20cc928d48020f9557ddcf5e6d65dfc675edd0d4d03e6d92aaa302eb71fb17378c75ec6f39a80a1ee3e3c37d555e8f078f38927cb64030b0add6a0b81a9ade41e9b4eaceeb0c32512d1d71ff084bd9b62335153505283033be54ac5ebc3d3c956f832bd5a06ca48bb165417a005e2cd03f99306f6e47a4403129eff5c3658b59081a56530aa99f0a5ed75f54c8e178138c4fe208457bde18905581e035c85f91f8273779bb08695719d28a2fa6bbef3d83f0b316a0d8018015007011bffffffffffffffff05581e030a855e9947f253f28be5b6af68e103760dc110a612eaf5eb814308dae00c014610e66862f81805581d032a4d7d4f30e3366579ca3ec3195fc165171ab48708ac067c1ec03fa00c1902d14813227ce2f00cbba505581d03a2171b9c2fb49ee733a2ca9f79f987d6588400415586b9dcf7fa51700c024601e83ef0aa000219040401410505581e037b02d97bb41b2c565740efc5545b906a7a989d7733203890e9272fc2e00c08462a5a82eea84803905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e031596ea19835db4d6ace288d6ad2b1b88d68434f3efbb060457f96586e007011bffffffffffffffff05581e03e4b194725a160f193fafccd627562092b810aa64a02943af8aa3474610040105581e035cff6a7dd21764781056e210cec7368bf33d66da93dc3a2d0b1f06c550040102196cb403876ddb6a745111dd96a89ececd1f4a53d2d06b1dd3ee59832fab16217d83a9470358ddf8c53572e55b013916454a6e7161e22e958206ebc60cb92031dfb7f70fb6038cabf5f99dfd878d59c382f21e4f2fe22308fda337f9c5683649e634138933e2031f8d4d9bf678255182c18b1b0acd6157e197b6853cf2a3c247527634649386ff03f7ed5f16d1040ab9aa42bd8502d5e7795866f9270e0f91f74c0b83397ed753e5034f0a152689f30a07445ccbcc6ea2d4c1c03f3e91bd6cbc40eba32ebe72162ab40314f7f9f582bd6dd1f6358623d941fc8391b6256773fa4239dd35143ee3a2ad39038da36962da66a2ab3aeddc1514fb9acabbf1e8cea3171f0dd89828e2a23d310203745dd00eccc36e354264e8a5705397b632c2f8c5556fca8028006de807916e8b038aa793b70fc3b51151cd10cfea3d868d30cc18a60e0fae2bd4f41f7d483dc22f03202b7cdf1fc8aaa66b3056d74dbae754a10cbcafdeb6ef5a1a9b1607813a482d03f334c6d4b5bad64450f59fc2816198f8d3163342b975c87a05ff37e33d3e8fa60323e9fd849db11cf17f0de18e2ac039abd1e05d4189b207d9cc90ee938b9f504b039184f402bf879f0f15e3876c3ab56c4dc1362b3437b1c79c6fc25d4f2028a3bd0219ffff03e781775a906a18919fbeb9fca63f5838448277223dec8cace9c7787eded199ec03bd96466c2858585e86323c7337257d2d06891cc96bd2af81211d02c7c63eae06038529bbcebbc4232efeb14afde948fc0810b3285cd4fee55fe6d205ad478bca2703ba30ee5c9a6d39823420c6e35f221ea18787b876ef0d7cc9dd47b7df4d0118ac0219ffff03d87f4ac6cba16bb8458f50ff757cf9c9383c5953dff3dd38437cc39f77c4fe1a03e80350f9b352b99887c908b4c5f75b5c0ac9b286edfb55b099959219a7ed01d503801d36c88df9ebb37df672ff05079b4c8dc7e52f9b5dfecee9a5e3f55f02c3720309b1918984cb22f2e84f4596587de81d3f9fd732b0d13485f4bed5f35b0c9256034c8f20526a60ee75b898f235da4a9ee01d70ceb3fa5641cd9c31bcd91b24f5ba03656d6d4ee535d1a0f7d7a308b95cb248f1fb43a9f53473ca44d1f850b7dc7cbb03ec10bddc9a1b5ca55a6e9b9b1c96d35fea2ea81add20393d1e6fc6636d59d1ec0219ffff035a3033587788220ba660d0ec9060f5cfe0bd3514d54f377156b94534c7c5bf450361d9dd56c638d3df9411930c3383de879ffe7aab8921592901899520d6114a1703e52f60aac8e37e7b7ada8c1fd2d1143cd93b1731b165a49fc51c6f1bc57a6ae203c57389e0548dbf20cd218f0305785143a24d87b2c3bf709d0e6372359cff74e803ab45ee1fcff11adf270c52b44ed0dad163f8c67df728f89cf972064ea73c9c9303028472b544ba66bc00608995b04f46362364b3138fa06ad13b5f6c86a74290730371028dd2d4e713549ebedcf37c651841bc9b55dea4ca91cc0cc8f8ff333de5bf03a0edf6ba517803b702e6ba50cc45d0d50a4508673d1dc3b612398a5fb94a0db503d932a47054db9bb85550c6c1aad1adf7e1b8f4de62dbcf8d21fcf596d8cc5e4803361027cf611c337f5b9f641c658747d7aadc18a613de4d7bab32a2f02fc052be0219ffff031b85a9fd5d2a54ce318f61b97652dd92fc565be3c904c50dd93e39458096971803f778980c9c6278cdbb7d30ea8523bc5aad1957dc1fb9d18e05d1cc0a95d4740403ba87e79a78ddaa5237537337a838d1f34fd5fe36f7ac22ae18c1721ce02daeed03c6083d27546b5b1d8960da42a6d15e4b9513fc0c80e998ad22bab2ca6f769fff03f380e83f8068624563d9d7bc779925b1fc8da215adc00bed6757b9358cd06f510343d85907f2d317006448d602e06d205344937526acccac6a78e70991f9e9bd38030116e1b35c452a3e066bec2209b8fd38907c321e8a8b001d4f37c1a300f39a2a035b21326dcafac2bbb965da86427430b12be26937dfbf645e7d289e581664219203d3b64ec9fd1279d89445fbb37a71b11f2f06627ecfb9e2329e5dd6b80b20bd4a0392bccdea2f2feb8c88d86cdd048ef76490bcda51d795f1d0daf45d239f9da2280324d8f80b367e61f95a504e9139595f59ec7c7fa01d7815fd548949f9e4f9f1e903d71a148afd5bdfc7a878cecfedb762256a557c3ec03c0b615d7511edcc459b1f0364b7b660857ad6f092b6994099c9754254f08a820b4e621fb107167680abac51031f78713f0a242b1a9d3059caf9de5d333f43bb8bf543bbc5edec90a4ae97ba3403ae11f0f65accf4319c4674c442852524f928f727aa08f470fe68eb51c351753e0329a54126196560f65c99c67d15c39d071204aec59967e07ab33dc80305669bf803d4c21e7a0367dfcf657387a446c36f401fac39a5599bbe4fa2a60fb7699d3ddb034a82e4e4febd1cc1cc3e8c83303cd1eed604488f5eeb5cd6a6dadc8ac241d1c703b1f4cf3fad378d9bb7670237a0ca8c148ba4f121ec49ec7e12519eaf625402b903950522557eb40bafbd082f0f5cc4be3bcdcb7f80c14eee43afd2bcd01f8d513703dcffde4b2f185fe1050a2e82d1edde05f177d3c197e2271efe964a68cb548a56038e7949e4570f3319828db3d896f01b809eca7a04390ca40e2e7a7e3412751de503db22dc742b84718315cf3623f575787ce354a3b536f2916445b8c98841d2879903f1b86aa0d1205b6a4c3f894308687ff2f57d4c791d6bcab2b3c417eb9e9153bc030a7a0118e00981ab321049c9d340cd52c3a4781037540f7c48d0fdc27e899b32038537f2e248702a6ae2a57e9110a5740f5772c876389739ac90debd6a0692713e05581e03414b080fc727873288304fcbf831f5a62596fd36ec4ad76e1faf6163d0040305581e03b6535a3302779485a0479d8b1e380a306a541a1b5574e114de1f9a9d900401031e2a1ed3d1572b872bbf09ee44d2ed737da31f01de3c0f4b4e1f046740066461034fc418834820b25555b7cf8be5503658e30bb499883f7aa550c7f8cf073c983905581e031457658c1b1ea115fc593103711e849fee8e06131ecb6c1b2756559bf00c0148073a99014a972cc004592b43606060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461019b5780630753c30c14610229578063095ea7b3146102625780630e136b19146102a45780630ecb93c0146102d157806318160ddd1461030a57806323b872dd1461033357806326976e3f1461039457806327e235e3146103e9578063313ce56714610436578063353907141461045f5780633eaaf86b146104885780633f4ba83a146104b157806359bf1abe146104c65780635c658165146105175780635c975abb1461058357806370a08231146105b05780638456cb59146105fd578063893d20e8146106125780638da5cb5b1461066757806395d89b41146106bc578063a9059cbb1461074a578063c0324c771461078c578063cc872b66146107b8578063db006a75146107db578063dd62ed3e146107fe578063dd644f721461086a578063e47d606014610893578063e4997dc5146108e4578063e5b5019a1461091d578063f2fde38b14610946578063f3bdc2281461097f575b600080fd5b34156101a657600080fd5b6101ae6109b8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023457600080fd5b610260600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a56565b005b341561026d57600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b73565b005b34156102af57600080fd5b6102b7610cc1565b604051808215151515815260200191505060405180910390f35b34156102dc57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cd4565b005b341561031557600080fd5b61031d610ded565b6040518082815260200191505060405180910390f35b341561033e57600080fd5b610392600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebd565b005b341561039f57600080fd5b6103a761109d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103f457600080fd5b610420600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c3565b6040518082815260200191505060405180910390f35b341561044157600080fd5b6104496110db565b6040518082815260200191505060405180910390f35b341561046a57600080fd5b6104726110e1565b6040518082815260200191505060405180910390f35b341561049357600080fd5b61049b6110e7565b6040518082815260200191505060405180910390f35b34156104bc57600080fd5b6104c46110ed565b005b34156104d157600080fd5b6104fd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111ab565b604051808215151515815260200191505060405180910390f35b341561052257600080fd5b61056d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611201565b6040518082815260200191505060405180910390f35b341561058e57600080fd5b610596611226565b604051808215151515815260200191505060405180910390f35b34156105bb57600080fd5b6105e7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611239565b6040518082815260200191505060405180910390f35b341561060857600080fd5b610610611348565b005b341561061d57600080fd5b610625611408565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067257600080fd5b61067a611431565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106c757600080fd5b6106cf611456565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561070f5780820151818401526020810190506106f4565b50505050905090810190601f16801561073c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561075557600080fd5b61078a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114f4565b005b341561079757600080fd5b6107b6600480803590602001909190803590602001909190505061169e565b005b34156107c357600080fd5b6107d96004808035906020019091905050611783565b005b34156107e657600080fd5b6107fc600480803590602001909190505061197a565b005b341561080957600080fd5b610854600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b0d565b6040518082815260200191505060405180910390f35b341561087557600080fd5b61087d611c52565b6040518082815260200191505060405180910390f35b341561089e57600080fd5b6108ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c58565b604051808215151515815260200191505060405180910390f35b34156108ef57600080fd5b61091b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c78565b005b341561092857600080fd5b610930611d91565b6040518082815260200191505060405180910390f35b341561095157600080fd5b61097d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611db5565b005b341561098a57600080fd5b6109b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e8a565b005b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a4e5780601f10610a2357610100808354040283529160200191610a4e565b820191906000526020600020905b815481529060010190602001808311610a3157829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ab157600080fd5b6001600a60146101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b604060048101600036905010151515610b8b57600080fd5b600a60149054906101000a900460ff1615610cb157600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1515610c9857600080fd5b6102c65a03f11515610ca957600080fd5b505050610cbc565b610cbb838361200e565b5b505050565b600a60149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d2f57600080fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600a60149054906101000a900460ff1615610eb457600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e9257600080fd5b6102c65a03f11515610ea357600080fd5b505050604051805190509050610eba565b60015490505b90565b600060149054906101000a900460ff16151515610ed957600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f3257600080fd5b600a60149054906101000a900460ff161561108c57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b151561107357600080fd5b6102c65a03f1151561108457600080fd5b505050611098565b6110978383836121ab565b5b505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090505481565b60095481565b60045481565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114857600080fd5b600060149054906101000a900460ff16151561116357600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600060149054906101000a900460ff1681565b6000600a60149054906101000a900460ff161561133757600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561131557600080fd5b6102c65a03f1151561132657600080fd5b505050604051805190509050611343565b61134082612652565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a357600080fd5b600060149054906101000a900460ff161515156113bf57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114ec5780601f106114c1576101008083540402835291602001916114ec565b820191906000526020600020905b8154815290600101906020018083116114cf57829003601f168201915b505050505081565b600060149054906101000a900460ff1615151561151057600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561156957600080fd5b600a60149054906101000a900460ff161561168f57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3384846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b151561167657600080fd5b6102c65a03f1151561168757600080fd5b50505061169a565b611699828261269b565b5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116f957600080fd5b60148210151561170857600080fd5b60328110151561171757600080fd5b81600381905550611736600954600a0a82612a0390919063ffffffff16565b6004819055507fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e600354600454604051808381526020018281526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117de57600080fd5b60015481600154011115156117f257600080fd5b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156118c257600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806001600082825401925050819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d557600080fd5b80600154101515156119e657600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611a5557600080fd5b8060016000828254039250508190555080600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44816040518082815260200191505060405180910390a150565b6000600a60149054906101000a900460ff1615611c3f57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1515611c1d57600080fd5b6102c65a03f11515611c2e57600080fd5b505050604051805190509050611c4c565b611c498383612a3e565b90505b92915050565b60035481565b60066020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cd357600080fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e1057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611e8757806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ee757600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f3f57600080fd5b611f4882611239565b90506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001600082825403925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b60406004810160003690501015151561202657600080fd5b600082141580156120b457506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1515156120c057600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3505050565b60008060006060600481016000369050101515156121c857600080fd5b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935061227061271061226260035488612a0390919063ffffffff16565b612ac590919063ffffffff16565b92506004548311156122825760045492505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84101561233e576122bd8585612ae090919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6123518386612ae090919063ffffffff16565b91506123a585600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae090919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061243a82600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008311156125e4576124f983600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806040600481016000369050101515156126b657600080fd5b6126df6127106126d160035487612a0390919063ffffffff16565b612ac590919063ffffffff16565b92506004548311156126f15760045492505b6127048385612ae090919063ffffffff16565b915061275884600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae090919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ed82600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000831115612997576128ac83600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b6000806000841415612a185760009150612a37565b8284029050828482811515612a2957fe5b04141515612a3357fe5b8091505b5092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808284811515612ad357fe5b0490508091505092915050565b6000828211151515612aee57fe5b818303905092915050565b6000808284019050838110151515612b0d57fe5b80915050929150505600a165627a7a72305820645ee12d73db47fd78ba77fa1f824c3c8f9184061b3b10386beb4dc9236abb280029035bd1a61841e5c27cd993a8c7dba5b159d2810c0bbc44f379a9224d959e58d5b103d99b56efc0e8a05cda9c72f23d8bb017cd258270b931f5e9c581ee9edf10275d036965ff93b7e4ab87c4d97a4c91f5c32fae0191b9c88d4728ec41ec3b631040a20397a895907ee300d29a76073e27d54048093d85dfd4623540624981e388ff8d3403e118c86d7d79ef316914873b31d4a49983db533b9f2e407dba44b0724ff167da03e27635e1d274011f28d8e910caf10596cf34488f7df83803df5e91ea385e52b603dcdf0b0116c21ec56b351b19ffca588ddaaf212c522a9301b22568aebe2f547f0391903696fec6db08f5927c1f50eb5911033dc9bba3ee3f28627974bbe44487ce03b7ed7e2d9e9357db3200eb01ca9cb0e74813570cd97a467324c8329672dedf9d0349cddeef87753148676b5fbc5dfb58250b2c4fa8c6b051b87dda8be568cb5bea030f3f391ff8de25963101ec894f4c8c7d6d33380604cb905b6abb8415abb8bee703983c9a7c96920366c02920ebbe91b50805ce8ddd096881c9c7b05daef1b290a9036ef7be917e4aedb62e281dfb8fff1b1958545d53129cabef456ff377a48fae9b037faa53396979c26f362c9f4f45651ba78df30950085bc3fc782f63357ccf3d2303ce43099a4e88b68135eb9ea74c2378ca51a3e74d7a07e0ca123021711cdf416d03d4f56668ad5e1c8ffbf07b0468b7faaec329afecab1d2ee7982539ab97c814cf03d48f57cd4de8046e9e685062c4ed201f66e83b19f1a68b255670daa93265d05403e511b319c7b1af5440e967d9bb683d14f3f966e8d192bb074aafdb1b2fa43ef303a7f798156a071a64b8cbdba448d0d9f277a37fc6b4a170123f8f9e2e96daa0a703e6e136d9643312dbb9b03d9e6e3abe70892b74b48eebb2775d542a85cd8c181b0340b6370a69d24eb018b3a94c39870260332759492496ab9e244973265215afbf034e6e0dcd04c4d07766dc380f8c8f673065f1c79cba4cff44088768714684157a03b05e795d4061d68b63eeb6efa4b8c58432d3c58d18a479a9b561c050ec2a37b1037c5956001149211dcece6915d78ba675edf18ef7f69567f34995d65967ade88c03f28819dd98eb8a28b7cab41f4b98bd99efd0a424eff158bea0c6cf595b6fd44903cda07495025131d742325aee74e6e711f405889a3e6f16b97f2ce45a4f33157f0351803f13d0fe6b67eed516ce7b1e977980680691d359b8fca49639b18b4e6bb200581e024ee2c9cd28277a0391f60f4fc19d15bb6bfc3a126773328f60130424e7446191172000581e02869a57a87995c58b832345f74a80b185e9b6ebb1d6dba13ba49309f80d43334f5500581e027746a042d9139b04469468bbe1e4f19794f5f39e4eed59d158e76e581458200fffffffffffffffffffffffffffffffffffffffffffffffffffffff945e1ac803d23382e5f0e634c01e8496de2c9f8078f4189fcb9278dd531c63c27611702c7e00581e02a86686584d33db9f5f7876c1af169a3b5963c1afe0d117853d411ae8b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0264dbe2011dc4510fee8826d9677125b1c566f92ff0548dba128d4085f45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c97ecf4f7ba834cfc3348e93cf6f8987393057e1275a518189a447acda5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0232f16d022a3867b5d4124cfaa521b0e322053774c36998674b4a9c1c695820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c1a7031417912503d2aa3879b9feb2d434ecb746a97e32f10a3a914634d8cd9aa6865c03f681c939a0f2f9601a99892e3930fdb5988250132880214805e107cda78afb450219ffff03b74879aedeab59e7c258449227b369bd4da6bc71da736d2e78be61df16413d92033ad28b55187a263ee36efe34485b78b40c865f46f72a0bf89667b3cd1ac37301035757621e1455673e0609bb4d68dd203dfd4dcfce43f8b4b40d0d4ad0d3056365033501500f610b48edc5c022341cfc10ceee6aacb76aa2153463bcf566a7e6d4d90219ffff0316e8443c0da0e59434e10254d8e34b92d9cb2aafc22422e4f15de68ebca631e603e6b2729c6e870894346169f094348ce2961c283e65aedea40e519be5d7cebb0e03ba982d911607ee1866153bc480320e3e04113659761f0c907408bcbbe839bab80358efa40b6202a3cede7ba1faac045e7b2222289804177f7be779d63fdea99da603507c5804e0d2b93e83e06f46f633d3e7c1554592d71a4fef415515ddcdbc2a7903be8e777bcb5a81a15f42573f27edd9468e5742238f66ae37e21980878085cc65034c13c6f65f074dfd95ef7c2020615ea39669f412bf1ed3ecd9d9c61f213af9f303be265da3e0ef84e90eaa5e347e7275183d5f4b12d9cb017a92a4ef5f1f4b9019033e86140eaba3f2b8e693f9e3c2c816379438e1b8ea502f29f0587604d19a0b8803aeff45f588ae308c0e6949db8489ace72fb26b6054995a904c5d6add3dd479af0386161c3f3bc553cf85c7f436b3fbc45c63f47c31b6ece1cca153f4bb5c85cd63037a2e8b5e69d5c74a1cf25e88b7a43e08fdb3f0c711365be199d6189215e663250396c33d26ccf55b5111b2a8bdea42054b65c14abe8cb1d04e1384e8c6c43f7b420219ffff035cf5dff51e0de9d5374a71e3d2f22f552a31f8bfe104614df38d08127cc8d06603ad203f8cf07c56bc76f7510443134fe0604761d173c4c81c80c3f62ebc853a5a03398e390102161bc08d38bbd824f47650bebbe4bd1a82234c1a3dc5efdae83b9e03011a2f308905f8452675ca2e6b827f0ca62c9b0682b1db0649983bd4a6e8cb0e03bb5277377baa24836fa4893915e9eab9ed4164a680d5dec634b44f1fe6d91dce03c592f805247e4e0d48a4ea80c99901913423b3c825406405c5360482c954174b03d1a3a60747f3ced10be1021eb0ea796122bdeaa5218a34ac9acc48376af637fd03e91f396acefa159d9c91b0f2f5352a8aac33e7ebb0b1de539aa5b4ffc648c5b0034d31618f5207a134d72af92cbe31dfd5a044b9726ff7e5b58f84e50ff591437a03f737560e88c8f404a37a22ce84fb7f22cddf7d6e8f2283452697bfb5088f2a2503e64dc4ca8c0ca4872666dc6c830b957db63caa5d47766e476e9cbe8541c7485103779f148300eca6729c0a8a59f22a90c086d82b7ace1e9d95c3808f60562bdbd7033b6a5a99c699fdbc522b324b444f720a73fb9cf772c4b9bea2237b18d4781a880356b337cf2e1f431092025de5096237b61feca261e148ccc83c233d533fb243a40359aa1730e05140435dc2debbbc586a9879052bb231dd9c41370dcd0bbb020d710325d14ed21822eb4298e8350f9b453a08157f0467cc8c147499da9a4886d3f440039a161b1c87ef77213f6503d5f17d40abe664c998b299efcf5d37b6dac2ca715d032475f141eabc1d1d97312cde62704272fa208136beef600acdd68f67b3d2f76803eb1781daf5b31605995a29cfae000caa5c5750bf7b2ec9e8082917de28cc325d03f75b613e606117037a3ef766598af6a8dad9469328179e586c19e46a9dac639403e74e4c6afebe164597db5f6ffac835462f3883a4891fc4ef8daad9a0a48116f1036b42e96557c5309831287480c260be2ae96506cb18d50b6ce2be06851652ab1a036bda1e3ee73a70cd7e17530ac7eb75452caa0387efa98a0e1d7fd42efc6e8bef0309b4c6031b5b938bb1ce99a4f39320d8fc2b9a4148a4151b4d8913606794557803e047afbc3d03c80537338ae4ee3678e83988156b999f953757e438e7fc9df10d037deed34e535915f1528629a6a3bad37216974bb92ba92ec55c87532342c6b8ad03272c54e89b14e51a9072ca1ef909b6d6cb1297ff9b0d29dd9597a2a9cd0350da034140b5d60c23b75336a7c7b3c92a070fc814a297543610dfa40273d7747fb37f032b4a866725313eab531f9f7c68f77fda552e8a62caa2c516183e62be8d4b14eb03d2b24fb7ccdaf660b4fffaa5d4cef2ffc1df3ae361006f58e37029dde9de9c0f03c69e401951f5e14744e6813312b178e88f90ed008928392db81c0fa96424331300581e0288675d7569a74bcbeba1c0852014a73c94345b8360f5935124646cd9485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d14584fb2778bc7885b7c074cdecb807586a96d395eddfa0548cf83b134405ea484000581e022a766be2bcc81b8f6ec545945674c5c79867c1ac3c59f66519a132e57a410100581e02324679b080bd76d4672ebfdb717bef407346a32c52b729167a1126c6264401ce4df4035b111b8d6f845bc2234113a04e3f1313f0b1e233ab9a87840977846c521e70be00581e0393a6b12b9621bbe0bdc9ae2fb2e6875f22026df3b3b8543eaf8af14bb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03a08285d4d49df694fee9c95aff03ab11ed31bf9fc5a42e4dc4db5bf09045174876e8000219804003c53e94dba40ae7d231ad02a109939fbd454882801adf47d8ff8fd34ce92c5ce300581e020671623490750d5fdccf1abdebd69b18db69f0b50edabc15f5950ab4374b4a817c7ffffffb9a74a82000581e02eacaec80bfc988e23d378a64699a972d41752926bbf1f83e70308a1883441d98361e021974f80350bd272529f76c374f316ad9960da8daab8e4b7d77cd58b9020f679884afc32803bcc04020de1f4395766cb5d313da1b2973971bbfe4492807d3e393a9b72d3a9b0362aba00b9ce24cda087c0505df8994f09a3879d9d147bfd2dc7d593f63f8f100033b756bbe21374f8255a57b95cf4cd9dc75f14e06617617d7290438df075b1bdc0397419ea97b9cca176ac21f595ade4fd840196685640b9cec6526d12afec0b8ea030a36d2b5d1e9f1393258475fe0aed96e1e336722a4aeafdc6f2aac20c27de3e70219ffff03f38649cf44d4624d8fcf0ed81c1b666e2ccb4b7cdf899903b1aa871f31e927a6037aa7352836a1f4512278d4d58ea929256b7f9f924792b03a76e965cb38b7dbaa03c15eae5a6942ed6917dc51e34cd9151fd46b7cda2e797c275a5ff2f9c04bfe64034df1bc12628f6f34bdb7693d2a765331a47679a47f0efc1dfad6d609410a516b03e8b16470420ab0683746c5b78a7247af3965a7c75f06c9062763fcaf09d0ab930219ffff033db16c69846fd419867f9c532a52ad6c2cd049f9690f01b3b16aba0c2477889a03bd9eb2f405d2d6f078c4a8b88ed024f9a7f11d31867a2265e072068ff12baa9903c92af617741f2e42af10fb075688374e98b6c9918f1fadbbc9dbe30698b8650b03e3090bda4a8efb464e7814124139694a45a808cb277ea24332e14d1004085840037311874af92210fbba9f42e1f81668c22eb357c2e8bc1c25706f080268285a010219ffff037dabe586ed2d22f58fb2128434692230779f6d999b83a79f7634db44ec67442003fe216a7d90c879c16de1c1e3345fdfad75c602068de5e9b43fc58d9a377005a503e9f6b2efe1bdd8108dcac0c4ff39213de535d22db2aaa068cdd8828b8be0daf603ff736eed2762cdfcaba86ee4de0ac7448e74c4c46ea026f7473bfc82d2ecaf24033e232777d09d48fb94502e08f88a0e1ff5d9896ca54476be4ae0555449276758032a2325d34948db15634b8fb6a304fe4868b357a6fab4ccdef113cf20755fc37f033d86bf1d7369a6e09582431504bc1ced7dd443b453b5e69a9e2ac140e84c378c03ee4ae2379bef79d454547325e80fcc3c3bd7fb4d49ecf50cf9aab4ae0426ddb403cf37f23710094ab9420a2d8896aefa104ede72e0556b2aa68a07222482dcfcde03b96bd873cc34fe6d918a7b69081e2bcc622528a5d39523c0338c86664ff560f203df9c5cc807eddb9e06757f53663ff312abb3ff30fda64c13e23d114a3005dffd03868f9182705ffa7ce0de2f86a8b6cd3e9c3bcece8c8343c9817058bde64fd9e203e8af78366e3ddfdb2e8a70f4e371d811ccea0b0a12a71bb59d230f23b6669a030384e1ab5486bcf8656aacad0ec7b15c8b6ceb49b8c3426c28a8b4ffb0ce4dbdcd03977ebb12647fdee44a1b555c1fa431ad7e1d49abc6a67f636e35063e85d0c5190315e938ab1acd1fdd72bb1042a9258fa0758f65b614a790152a3c27ab5060cb3c03da0daf32ec718bca49be3d04c6551d7f02d89e87fe9b227e45fe334ac99ccea30315cf90525312c33688a32477a1460ac85ed8864899bf898b1338068887f3ceb403c7743c00d798b5ce1912b8cac030e28e21f97405a5210e1a5c0dee9ff164da59037dc73e619a435668c0dd452559e3c62eebe5a150fdeb4f777969f4dee5e2812703eb4b30485d13eeab8fa838d9a8c25a2eee9ac3f23d9f035f4bebbd85d19cd2b80397302447f1574b3d93ca4469b6bd2afecfe81db8999b13bfb8af258cfda054870328deaf70cc00d7b845de781ffbd232ce947849d42deedc0dd44712b186cec2d900581e02322afdf094d0b0cedb116581ad9e15468afa93fb931441ec7cabb9a0b5430f424000581e02b52924d4eeac0bed9846e9095df080bcac27188f41119a783b9dc753144403c175e6030058171a3f0fcf1cdfade023f2363e35a2ac8b6031e4ff732459fdf3bc39d91f00581e02b76f02b7214ab1f1d99d48d87721641ce70e01246893647a49bb73980e4401cbbf500338e71a63d03b398836bfc1dbcc3686a070ba1dfeb63fb5de2168a2ce44c629980378c41143d3c217e1c3aacd18eea8fc60f410f5cf457812d373910f061ca4c52e00581e021dc9d97a69e88c30bf2483f30bcedb45305f5e7e7647a8aa1339598f92440179db8e0219d89403a23f7fac6a56e0e72df3b7b77bdaf816a67ac4e0c6e7491b8652bc7cf0ac1a35039f25f0b4a7e9a6bf6a18a1f047148e5fd0369d8140ba5722beb3dbfb7d7d14f7039dee613f2e5b1d8012c97445f912219058d27da6b487267d02bac47021ed99970340e068a1c4eeb3c4e8554045c5acd461cbc7fa60d6871f9098878eb118906ab8032e7873950786d0416eeca3d2b941c7c4744cf5036a0032c55800269f16f7eafc03128969436ae0104876ce0c3a86677b43b9782ad585fecad5804a650bb8a51e8e03b727b0d925be5bcf3342c0678c3e1c42616373639ec41f87d2ad6f9bcc7f0a24030115eb8c6cc46b3e1c083116024e91f3869aed8dea63a1888350611e4ef595e403292299eab74d7805a9151af5ba429128c7138c9202c3611bbd22cbde3d34f853037581e050f91a0e2a0b81ae8ff5c802d9780200abb19d87bcebdc320a36ae4fbc0219ffff0390b6cb7910a6745b72869a54fce3e2b38e10358b63a2b717eb12f522c9a206e1033db6f5cb0c17093c1dd18933ed0e62e552aa3d7b54db2c0a3c6ae446fe639652035d7511c80256c3a9200e05ec87803aae1bd93ed6031169501a3e4ade31c575580382c8d6131de2883558f3e3579efe98ed89ea2ebc580914ad096048322863bd3803070a742c9104d71c8fe50d8bc8c6dcccedd4fd0a8982f203113f76f3f560000a0392cc89379aa125fbbc9821a126f26d101992411633455d87903877db4e702e530219ffff0345cc5deccda9261cb389be7d5588c82a0bac17b1072ef739727a5388d8e9d03903be404030ea52a9dc2cc493003158a245762b3b844862e8baaadf39619d12827f03860c478101c60309ad04924142827f7e2650c5718443ece8ab51b7e469da776503e037809093adaf9a0cf1ecede5de56323c072a03dfc5c66cba7f4dc764a4cd4403c3447057c466326acd54fa88caaa4f36a4e1d722fbc947dada4055120828c42d03196d1f3dbb6eefa8a6c0b67aa48888073dac433317dd112012d23d3d3c0ab02d03e1489c3736263099370f2677c5d618cc070debe0c46b55400db3de60b8587d5b030365175d326361f21c8887d13f65163017aaaad351e6d708a4634479df769f6f0301738555b4314d5b0a889039cb0e6b1bfa42d370f9b5120b08b24804970742a80219ffff033241efe7f6bb6454d0860c733dc992d48f80ac39b48bcebaa2f66199e9fa0e430383678a0bf11d7fbaf5988bd1eb1a01433eaeb175a820c9fbd512a83279a907a20371df0be95ab675c018be3f3398c0584ae267fa9856eb7ce58a16410b286a58fe035a392559bcb6f49e00e7c8f0aeb0757662d1386055b6acb0c1436a391c4eb172038253d3a326abc814598cb95add0b7657d38da9352d8e1e0ee4463cd3354f095703b75c43b6ebc310d187188dae4f6021adf2dfa0dce306a911986cb8bea7d1fbad035c6b0ac20eed20043c6d4db5c04a11e1f8a4c3c07fea925ef997ef1ed992c2d803fda1bf2b57d510d1de6bc4584040eabf907f65f518b5f779c131e29013fb2f6e03307d856c3ff088c0b71c06780f4471c955413e3ee62377f4af808d587bcb6f8f031c2b6eb880522bc8719cb47954fde75731deadb5be50b1522594405c70604d34037ff268a42a110c4d629ab2422abac65e737536a73d736ce61275097908f85041036329195c7b10e977110222eb635d08b4e802c2ce82a13809516e7afcc1048978033e82d8a8de7216435be9caa942cbadffcd6360ddf05b7ac71dee68068ebc4e1b034c42c63888bd0af590a9a8c8852b811612426f70c572295f219ab2d2e19ccdf703e42ac6415e71d240bd33449266b396e4c164559d2fc117c8e26edfaf5d81bc27034f419d75603c584bb020d58246ac908ba6411ea6a1418980d3d00b6f67f2376b034f1f838efa3486dccec6480dd9c91d88e35571af53833793ca5632b3c16ba050036146ef2e20231f3219481dfb64201af0f4a54750df866f2b922e99c44934e7e603c1f16256595f929aebf14fcdc1161078a6315311166a49a51c6a3754fb3437d403d9260d808a0c5683f71106455b318ce48e98e7dcb074da7e02a1fb4c0e15192103ec9d894768b5b6ecc888759e1cc7bc4694a49effc189c0957288832a163e89ab03dfbbf99c7c8a1e4205e9bbf34f520f265615ab5343af3b10cf26cfcd4916c98c033ec120373a057f3b54d601178b6912dcb6d5f2e8f5fabc5ecef04ef17a1045d1039d1e756fa99f80fe86e6bc7f11b029c9cc4a2a8e7446c640fa8ef4c42253ac0b00581e022f1156950e4b5981feccc507e47b10b5a7429db2dec989d683de5dd7a8581912725dd1d243aba0e75fe645cc4873f9e65afe688aaaca5d4c00581e02889f508c31042799d022f2cdf0b869808aa470fc910a21c84dd14fcb375820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c79b37dd0076b08058f156408f7cedd4c75a588453852fab3dfd9e284d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03fe1c03db1081ba441275ec46f0260088441ff7bcfda5bec9ca43d14c1ecc4de10142000600581e03797d4601e0316a199bbf68fc1eb7842015958f4ca4b5d6a1a99873b7604b07a11ffffffffffe324d5300581e037b89c6394284d503ecdcc9c61b5d64a9ad2999257a43589766c09affd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219028000581e0283bca29f8539363ef0dba467508d3fc9621080a13db4c959e059ad9e31440206cc8000581e02bbd1c53cfd33c20e30212e2789c653090eb7fdc5d289ad19954caf15405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03081bebbea9d08414ea8143944269e81241ac4d1057e6d5a9ca16d6e60c10d0e60219c9e303139099807fa37b536e376cab382ddd577af6c90d411fd070c7d1b5a3eecf01ad03a58a822f1a51074aa59ccca223192cd4188c13fac5ebfe5d12a3d89ef4c78aac036daad8843beb2be88a6529f37fca38b2d3b74f4c19093560ebdd8180148197600341853595c81624f737cf1df7e8c58b07dc8614a2ddd99a74e7a782430026965703e8731c46fcdd4869c07afcddb13f15530742f93f50edd09f9bebdc1b30525c8e0381ba2945fb31f5a3a9f95cde0412bc3b4c3b7efa805b8e328f028117a945621703265d364db5ff43bc7dcfd1fe4955285f86dc28eb8f2ffdc12a09c75bc379b45e03c25b901628ef6b6c38e102281613b4415238668eeae518a7f183ef140c64abc9037286c419fcc615b03d2f8c38c18060ccf81f329fde028fc206ecd0753e3695ef03072fe53f93096a789fd9608c3e1af68a79358bad1d6b24b27bfcdddba233b7e403e8b2812d507b6cd6c83fb215a39a2876bf041d86756f5abe79623afa4130bbc30384e4e3988318bf374a9018796ee68b0eea5770f92bfb9576dbf986f8401c209a03312fae830bcfa6ed1dacdebd6f15ab3debf8c988b8220dc2c8484446517d429c03eeadcd694f5e541646cb40e728ddb322580aa7d4a2eb6fdc1145bc4c61f50e460219ffff031d04c12bd794cab2380117ce8a970fa12d461a1c2f82f2ede0db2158a0f5062d0364fb9711abc5dc2e5d03400e5c0277e38e300db183d93e781a5efc9d134508e4038ee85bedff4c171b56542ddc878c2d73707fdf506e17b7d5b03db2a51dfd02a80330a6defb33035051da6c3430da64d3495c5e35d1bcd5e461bbc9d3ab99dd4f9f03c2d470b89791e69490e5d429360caf10a1ed32d76db85df002e576c22e1a8d7003f3ca33aa30bd8b6c0825d35efc99a219af8ea35a8e8514b67276946130eca305035c4a55223b1c508426fb69711e6cb727444ccf6e2999a1decbdb97321cab9d0b030d78f2f77c52a1758839386cf0989787bc5a51e8f3932d5ea424ba7613dc580b03a0cce707dde39e73e56b39981b22f8f8a499b17727f88bb091ad7119e6cb2ca20219ffff036526f4d165138ffbe9c246817e096c896920269a5a1f03169ac7aeb03e0b036a039a632b501518ff519c84215e452c125480bf6897f21d61f2d5f23347ca3caf7a03f6c3de7e6222d02ab45272f0238cf32c8f1ee08c82a36c1604f89da352c859960219ffff038a2ede399207d33a03c151a2f56b0b3ce796e2403244ea796e3e6f701ecbecac03da8fad5babd8716d26cbb501826b885f7c4f65a5142f5627835a3b0a038aaea503e5e87f4852d1fd617a67c36f03864116f1f2de9e23ac603528fe74dc4c5af34603061638d49a80b0b0205e1963d59d1678f5152028af7cb6f37fa6e309db638847034da61591b55c73dd57c8314e4978c48d066663b1d28806cc4da5db00b533fe3c0346e11787c6f318edc2a16593fe64975d4c11c1f82d5de894418918347a640e08038db006c7c8ccf4b0c6ad58ad875065df325e6dea486185f3060276d729e3f881039f5511b1134a60fe5d2925d78870d4c75ffee523c35eb0575325ceecb91fbb6f03278bc8300782effccc7e9d0b84912225b989322510701fdaddde439eb9b31b4303b2a1ee5e4a22da4baab76a3e8951539549adf2ca357d618d3db25ebf2aca2feb03b5e943ddff9f8d2f88e0b4985b513ec9fb49c680dc0d017920a5729db880a59b03960a2660af534e0a8ccbf366b2d4e32dac3e58132281de7a6359e4d186c0ca4003d837fa4bc1f2dd419c70f95a7921d2f6bddea3063056a219c37312c52ecea89e03c105d5d91c305842bb5fc402c9f25b5c0df31ff2308e7f9c07486fdfa8cba803035636a0122431c8c4ef59ffe49dbe47000b77cd9669fc8f2a479e84ab95eee37e03d824cb756b98347b5740db85a0617a4070e2901a548ae3e880283f01cda957b703ef73017b05ede59fa5dbc89a8b1c325f60d70da891e3533e73e852465190c26503449a1e929966b3cc7ce5e6a3a003da5ff082b515ef9e6e3cce04b2d409e5bbd203b052b915e43a41e3c8e0b66c27efc7439a20267c595732c04f1a6fa113f2a7890395d7e376f781334118e1023eeebb35ee528aa1416207b0ed8c5c026ad96e6ac503101f718f32c2399f35f016757985ab9ef9af8888fe934771e4b2b9485f51188503444b2f25101100a1a63db3d38b4236ce137ac15df24e3d0cd6978ba5c9b6a78503f6e577e7f48c31086900491d0467387cae4e6423a54229ab6d20c275e9f1f742034db2cfad7b581bef87bfc69f88524205fc41800e3faefb4b4200334f0e6f8ade03f43acbd666238a8a9ee1c128dd6fd624d9b66b35039b0a3a031ff484ecd15505033fb7a7f0ead57dd035cfe16dacd3ae3e10529a0e73e8ace7383952ab23ef53a500581e0240c97a56a12cd6b3b307c4aba523caa53dfca1d0f69b842feb4139d1bb495562504d317ae8684200581e02e317612ad21dfe7262a2ace88c7e2c238d01ad2016da6d839e04eb26635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0371c76c4817a04e65b17a5e5ef4177f1fa4b72a629d496107b781de03b8b5e16e00581e0244f88cc5cfdaff1fa2bda26df457c83799810ff21b5c8043d6beb970505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c29d235b8c33231595726fe07bd2e9c69091f4fc1586c02aebe47d2ad654ffffffffffffffffffffffffffffffffcd56077f00581e02692b10e5c336a6891b5a8f625734c18203a4b7e10d136129f68f53ab715820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0238e080280c3ca690db982e6976b380b185c3b5859017982359440a1f945820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c7300319823199e6df7847894535a73ad96dcb3c837e19516293c1f3a927bfcec4bc6103664aa1205b79c77513923e3b330ab41e69e9f494a67fc983c0d15310de25e8c503bc0078636ad0904958564c74d03f5c72587e831b5e230abb264dfa8fdb38218f039752657a433980898082598c03dd277a53feca2209ec9bd3bc33667dc95f7b700394903848d6e150a3c3e6a5c38eac7024ad99f0ca39ad7b486b09e4dfd6c9b3b20219ffff0346a526d60a6f4587fba2d7babeef8f36ae2505f1ce9604cff584244a51ea380303abc7399718d07287c7d8cb60283655cff3905020714e578f583235a1ac803f92035dc4e13d3c3f6972c73c1c97f5682591289b0bbd0bd1ec486a95845123d2d4d50384d7ed37a6879700e35b7280e3f59c77ab52689700de231060d5baf3b705fdb30324442a91e579360234b17616030d1843b2af78c6394ab6737fb61e1cd293e84d034547446ace7283ee89e223abe58a5ba104517a5a5d984c376756bc231d05aee2039b77d867275d37faeb41159775ce0479173a30523cd5c20a925759fd5ff0e1f5039dbed34f023bd8e5853515a83d56fe692c92fc0a95588f983970692becef5c0703d9825eb25c7c73b04780b88b4095881ae37b908c345acab25543a6f296e569c6031e3e13a585c2bb843b7a3cd59778f2dd14629fae440ec11110a58ceb631419c30219ffff03e942db45abf4cb0d5879b71e5131e0187995c8f86ebb776bf4d2ce1f11abb9f803734859ad3dedd26f318b74946d317ccb3ac7c238c09665f1a22206720d35ffc203d5091b869d0a796e6fa18b60b0e3db5f32760a25a196bb8dffd9c4a4adb7330e036e9c12567b899b22717fb6633e2221a0cbb6c1df9d614bf766299a39cb8e95410219ffff03078676330ec9c32570d297dc8b75e7f90718b888e8fe9e00cc29117f5bcf9c250219ffff0318434864e418aaf09f42bab5e916b319dc169f766763c97121948afad25f96e9038c81a780a47a0b9fbbda53b365ca33bc9e84faa76daac77642270c88fa20f653033b8936ae3075c3ac3e6e839e228f60eda58149ef6cadc435328db0d0afe67a960340943c45e722a7654446a7e68358c3efc08c38acc47aff37ba5ee405dadfcf4703424ad3b2a7fe85ec1b7e703096b3d7b36f8b1449636d625f6493db8f5aafc3060364e96f480855e6038772c4c566959f41eea7a67f21f12c14831645148d6bfc8303e71c0fed7ed5c011c7ca8cb55b43d306d8b87a7aa607cd018304ea0b0840f20303026d4256259da039cfa746c34c2a972672bc584eee7e4f3d347ca1984dcf080e03da9b86255f764dd48ee7e0963ca2751d339a688583284b714c03eb5bd64093ad0375740f1e87e11cb0bf9178622be0a1f9d32e91dad13d6afd1ab76c7ad894a2c60352643e927bc31305493d3806beab6a5dbe54cc740264e37c5d705ac0df81a83803da5b655f465c11e99f033c6fd24b642e7f185bbffbdd247487c519c521895bef03ecd013dd7c8e4a8f6dbfc8e8baef5af43acd35e443976121f4f22df5ee4dd7100319ee41726cd41f9537aa4e8196cda61f57e80de642b3089c0dac0d1552ec489e036c224bea8b720adaea6b4553b648c31a832e1b63290751f77bd304b63a346f2703fe8533c1d0ba797ac8ab78d89b9b34a5292d9be195e408f097f11d5d8d4667da03b85b79ed51fb9a0bfdf422e9b060cc29cf9487bd7fdfce9763d3448dcc1dfeb703ea1147789194b7a8ffa9e05d787e434785908026dbe1bab349db72ac4b73a7100326b0484b7b89f430f5d0eb982e8f2365180f8299ce4de25a2ee815f7581d38630348f2b6aab4a1524d83f2295251531b327edd0699a9fe116dc5139ed8745bbff70356c806473c6a063ad25a874a3976e77281f7c57308bff2d2375f7d79654108380315fcd60a845b4e050e72acad8d65bf3f6fd1650e53debc5aad02b77ccdb2be1703b7635dbc1aa1fed21178deb4dff191cae4bb1f84d3a3aca2f30c495363638edf03c58608b763d0e4fb918fd397a034e42907a90b1c650216732ab41b6bdd63496003c8f09c3bebf415392bfd9e2ca0eb05ff53e23f84d62d3c136cdacd28fb42ca6303fab1af670771fce1c946de116084e1155638f506eb8748d27b77a487b3be019c034dce2c825f13a57122babbc44af1f6f640426d95487094de7f983a3646d8bad603e3c625c1f530cf15a2585f2983f74df546eaea6a42c5da757b0393fcf19f16fd03aa8744d2c23485541395a16a8ef1d3c81584af1e1788553a9ea501bbed4523fd030f186aa9dc28b72068efe5d1c5cae39b5ac6ece2ff1c46025ed7920d73a0547c03d52a5fd2669df7e94f175a7b5ac548eeecc64867c761f2591415422599d6fce20367ce78283b21eaa65c3d759219814143777540f1c4fafe73a4c5e0e5787d82b40312721ca740cc85ad03eb4cb9c58ee7ce5eb06ce565ac9f5b3d1a0188d32bfd05035ab45ff1b8955ebc578d9618ffda820ca1350243a7f23608ef6ebdae1a2ec245030375a8e691a52fb61e11bc9ea7b5bd6f6b9e1f3a5b79118f2ee459ab5f8d855b03fbccf1dabbb1e611624dc2047ade3cf9fe543dfe1fa670757e747c46609e0863037f8b7a1e68b6cec60ed7445058cc209f860590c4c427510d53ce04ced046176503b532ee95a4f8a530f0141ebcea135dc20aae04502856defaf4b1cdbeb1a34f7903cc30458b93d7f5067afce64e24cfaa0e6eb8d7361c2cffffd03f43712c4ed625032a8a3ad176d9c4aee0d32be4207b3495413409980bf74d05ae8d8aabbfe66e4b03c3f9b4be55b856e2e03a82ce3bb53be00cdfb0a94bcd7bcfc28a6c2c41420dcf03e0849e36bf8badb71b5fe6e499defec967da33589bc6285e546c52da0db2f62003c34be9223188b935dc061d30d2691db6ba0c002418f378ce58f5e816a0f0542c03c12c72efc4151259916475c5fc0b47c2402548449f7aafed04780a25b7be26d103f5b2ee31100b40ede9de5aa0270ac4064df6478f302dafb0d6b5eddceac7e32003e1c3b156b6c5b5f6e4b6d82c0880184f26932b59c5aea06dc86aa4ee2d35e5ea00581e02329314a55fdee3fa7c87520e475bbb2a48f1ed6e64c147d6fd51674d7d44070973f800581e02bbb0ebc4ef42284fa53a086806b9d600ff65a8cd27b332ef067608fa8c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0343cacc2281e0df845801dec21608c5a600041e623b091bde1a9881bb904344aa2000581e03cb867291097402d9db78995ebaa9f789c45e95b88471c2e3fe8cb9479045051c00efc90219180000581e026fd503b6ffd4fb10f2797978256719a9d0f33bcfddedf5ef5fa6e4ab4d44053f8aae00581e02a48f53897ce00ae1778c6acdc2e3f2d06c36d4d2fe137f68ef9630f5b0495562504d3392733b5c00581e02460e0915da8210fd6b66212312b2cc0a147c7230a84bc94a794dd573244413dc09ad00581e02aad59a55d37b8d19aab6fbd6ddb3d2447b8b81a2e6cd6c9b228e55af2d58200ffffffffffffffffffffffffffffffffffffffffffffffffffffffea40b281f00581e02fe4aa37cf5cc4382c6ea3b33bb3a951285a57353c3d5b6e704f2b783a25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020ff24694ac6f232b1f98e87b4d34a3bbf5826b082c6543245a8b3a6b9543d1323c02199cbd03e2b38c0a5ea044d9586cd145bf34bb8b09f3c61cab6289763fed261746a8a7260396b42ff758da5b4f69a29c1eb2d00acf7208045cd788102e0af48f5346f12a070219ffff03c0f65a641da887fb1764a90fb87ac8261ec71849ec8701c3562aba324b3713e003d26ff9055a64a454c226e08ed5cd7f037aeb6d6823717287941b9e3e9c0241f703c93309a179ee4e3b5c3c0d474cb9cb7f88e0ab78feece90e713b7eac5458cbac034d66a55b312558c8971e473f44329e4a23640c4d6986fd82affb93f4f37a8eff0344639e27e9a9c113fe530ca16eb39da6e12886507507700a88b5eb5b7148645003802643f40ca2ba9e65cf9d46444d018498f40c014af168a0d0a03a6a0201daaa03a94526607f59316444ad8c85fb4b1593ee6874077711116c9c40a15743913a99035e816746a3d49f578f279d56c52c250e5143476511dab0cc7f2c2e22ba70adca03700df74af66510e1b2830af09b4bea0581847487e956124ae6e1fd6ad1771666032968e0d1325c07b022e481f5c2e42d74652f6dca6f59136a500482815734063b03c84d3618a0179f6724fbf1fb4db582a20596be3729a8ee885684622b0af9075c0219ffff03ed2a478cbc21da9c667dd265ad6b23bff385c16e16ac670dad71e5c2aa4e5939038370692eb22e39a8a8916d8dcd85b31ef40ffb9756daa6502c265f0af083f9220219ffff0219ffff03bfd3d833c333d434705d91e876807df666fbd6d355fd555b0108e2cf6d929a580363cd5900d8bf3545f78c060359152088277f6e5d8ef8bb05c00bb5d1c477f4a003e7274824483607a3da774a0cf2c92869d070404c34460d7ed12bca6afa362a6b03a58a21566efc132b81515fff330a6e11111889b319f91213ee6a61c06439602303185ab061de83c5254b9b54ffa018a1f05c55a19997c08b95d2b700cfd2767b11037df1036071d5fa425a003403ac2dea59e476114c0bb50a0571e4044d9547c997033de3fed0402f68b7546f69989ad18973d27a12a2034725757685fe961f63f5f60364f53178c7d10e60c1a56e630914962e0957dafe7be4ca4206c30b99bbd71856030356a4028842efc40e0dcfbdbad18951cc66de7c24f1c0ef8b86097abeb776a9033eac7bbfeecbcdb55b47e270c8751ef1fc7eb7db97f45232be3fc58891fcb418036db88fac9641cf1492ebfa88174433ba401038530c654b2007aa21284e8b0b27033d75d363294f9b37d95b933f38ab1ff406f19de3f154c6ca513d0f39d2b5a902034e74fb765a54c1656a41c7bc81b5b408c4d6f20b97260369b67d4a7ce2b91dd203dbee274af2d6dac5183b06b9edc6297d32174f41c846be0e32d8b71c83c49ab9030da9c6c2007a416d40cd6be70fbda9cf32523465929ce490e82651d75e1b9d79036f1868c98afe6330e4cd34b4f1da8c051ed19f602126571b9efde0638f06675001410700581e029cfa8f7765bd6a0ba7ad7cc55c03a646fedab52adb5ef969527cf9d9ae5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c98a08e7084df23f478daa089d7a66b6c2e061abfbfdf9771a10e7535643015e6400581e02189d1cf4f2b4b8c1ec88f1c8e36d5aa0e7ea82fb1776275fb4ace11781442f6ca4a900581e02746046341390defd4b85043f5ed96dc74d44aa0df9db77b2d7a32e99c75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0384c5543d5f413fa2ce6ce6689640a82925a22c579e341cb8400e6078b3e1f01300581e02635d046fc1659670f3a5032ef691c616fde01a611946d6bf2eb3f50fed4303fd4000581e03cb7171285b567f105f7494618c36edcd3b47d807709f2e94a79601a080443e1bcf9000581e03a2e73b50b40363c1059cf76182ab79f2d10f0d1b52b0a9d13be83dc9704412b7428000581e0354550a5e8c8c2682b72918d4d1ada3f2fcd2c92edcdd2fc1ea02e853f0581affecee2142a7dea9314b809a0c42d3e9560b1408a9f3b79347dd0219300100581e023c6125614390a71243e650a089a9bfb59fb4749cca9b650f4762d7552e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0231ef944d47a849f2400f9b6a189a0df26131449f20c584ee76afcc9c44430f42400219faa903a9f5fe549c3b9d2058f89d43bed4a2898479d55b9d433d6b76fba93793f66c2603bf1f63a3c09ad9e4b0af9e3367534e2fa7b293a9ef915c2e6ea7b109d33bea4503f0ea34d3fb7833c2fd60c916030531642f5a8051e91b41cda01bad16dfa396a203d8da6cd20367aa82028e2c6ca0140267fbb3a24a2ceb9de04f78601a28cf81b503fe68e6f3325c2b2ac9f6f0cf6258151b1ebe30d41c3d8f62ab811ecf2559837703303b5a7426ae5a4906f2a7ff0a7d06b34ac6ddc8e44cecaa5bdba67a8aad3baf030cf669c0b361e26164716605f785de66e8730825c5f8410fbeca2702ab03b37c030b507a9488140e39ad0ef944a212a5a45b17d707231f94c1c10add49445e2f4403caecd33081b281a9e015a41a5cbfdc76644ea37f45b2a3b8e1e696605eadd95403804b8044ce8176072cabc18e65b4ca4eb869526a4d440953ab3f6b10b23bb44203331abcb611a375c122ffbee80b04efecca8d9120b78b2a3b86847189b682fb54036427ab85cf9293824ab827ebb7ff16a78f272cba1948ed241eb65fdb2746fc7e03dc4fe25e82bc73dfc120c3059cc190454d6f79da2d22e5cdd6dbe835478a1c2f0219ffff034cd7b7b23f0aa1188a73427834ee4f8a6bfbb467ca877964b9ff98126d1555da03b880a4549adce1e9f3aa729926fe6d8753c10aeab1a6c275a4472d3c002dfe10033d696ace018cda4ea58172fbf7b7f23695afac2fb4fa5013c6652af201ed54fa03fed1811918372c6a6121f95658e3fd7e30f05914794aaebdd4bbae3157b882e403800334a51f291c8fc280854515f1bbda8e8eec12fb0442a8a5ccb5010959a62d0384ad9d1dad133780b0eb81d68dbf1bbf51ee67d5c2a5ac8019815b52b3ffd13703c076a390978bf8f77f094339eac44324cd5d59a429ac08b283bf11f85890ecc50327904fcacc665ce81043c54823471abdbf52d52c1235faed0d1146c9cd0b637a0219ffff0330b9de3ad40a39e7a8b04ce0ca0abcd1e2d5ce700fb6801837bb6b2834b8cb7503a0e9b0a69883d315185ba0589430e3e20ca62db88a0f40fca3661029d3d88837034e0502df18e26b918c01d8209dbfa8641bfeae0263702d41607b0388d5a7454003475c46a74799fb7a370f3a7563ae48664da21e2ce8e64497e1c653791db9fd44035c44772837dd582bedcaa5c4d3ac4e9d9f46dfe16d5498ce060353324cf198430399083a91d8f1281e7848687988f10f756e8586196409be0f1b231d6be1daaa1603a6b16b6d3ac0ff1755511dd116cd8a5c9d64fec59ae3986bcbdbdb1aad9a6049032206877c28f2f5e39a684b9a9a5a734c0991075e015a45b84eeafbd19435e9d603da78889c21b4d3a95d0692e83fc6744b6671cf97928542ed18db4b7f9f709fff035aaa88aa3df791a12838291960703c42f4046632827af0f0838c518e04cda17b03a16f8d152475dd02c7c0d9333e131b0d078f5185d478a045f07497188b8e53c40219ffff03119198293299a4161b7b476e07fd6d7e0289d52449f2e3faa988dd0a065dfcfd030ec201fd2922f5baf34cac84bcab7a8a8f44d5971e77301a0105bc54225df36603899f137cba9948ce355cd8b66212a5584cd1896936de7fa46dfad15557ab35fc031b1993664c013bed5313eb476204ca12b2c20e2d2a249142279ef14cb8acb5f803c2358c999e806eeb2952db12bdbfe3452f254aa715d263ddba26b6f9d7f876c403a2a8c169b01c294ff3cba13147f3add49aac58cfbc3eb4e55d808bfd904fa67c039c8ba3666f08415988f87833ccaa25753c3d14d2256987137d8206c19400e72403a4fc029d2aec59e21fc4601b483fc3cf534d2ea1f831482eda68863b3b78f9ff034905d8a90a1507a57463639a8e0976f3be0ac95fdce1c00176332ad1e406702603af562498bc7ecc33511182051bb46988bc92511bd70bd3edb29ab487d4e4cc10035b5c11d091d321db612e4bd15af5f5786b99b98da0f9920c79374c169cd7297b031df7462c9df0d9022069a4ed154fe452c22a87f1d5a8d720d4822bc3367f28bc031af873dd675ed33728c2a0c073732e5003817d4b41c7f8982d0f9715d6bc60690325227dca4219f6f1e7e08cefa86eb86e1161ba5f702b92e74ac7cdfe5e0917bd00581e02f606be7546a01bf790791b4bfb83c40aea4e17aa2da2b28bc0875240735820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0331da0d71292276e85e8ec540bf439de262e9c39f6621a682cf8f7d5caf9a276e00581e02afe760504167b240a94341be99213f5f75885b28028682b840768951ba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03071d7f53f95c51e258393c224b603813d5b591745f6a4ccfe40bcdf614018e7100581e02b04682e19d21bee62fea4cdbb8263e0e4d3e5fb4b6ed3b8e518755550a440112a88002195490038e2ba03a0bc56a1ec833a31fcc3ad3431b28d6b1117234c5f775a554052f00d903e9478378346ece561f4181072cdca3edb6399242bdd74121ec5396ccfcdf1f930305fb575891a81aa40c6bd3f2761cc83a846a85f15e49d5f75a858ec110e3280d034db7e69e8acd642c947157c773ddd24fc56c1d72e43338e2726bf3f47d852fea034859b14b1491ce61c1ccc23071dbea254fc5074b40d1df2a0f7491fb58edee2003923700d34da33982b9445c2f9c705c4898e864cc3b961944ad09e4f1a967bc0d03a29406d89680a64eb037e79d3e7859de35de542438188e0038772e90ce8df88503d11a5fc5946c0afc731b4666f0f5ab34f841cf850ee838c89c32df1c7cc8119603c9611aee794de2b354dea3c41ccd9c007ec9b79dfdb9b8f90691b18009e8383a035218be695049394a0bb9bb93b760efb383fc9b0fb067852fb0fc658ea33ccc4003862497d7b989daf81d16ea6dd11d026d950de7a446e1c271080905d470c6e53c033c84560495777fb846c9480452dc6c055f63fee163a421977af087ee6ce969dc03ac209765437a3f1b00348938464cd48c918d82b57a669b50a953e478f18f08cd0219ffff035d7a445458b13573d14a5417ef1d9a6d26e85928dc831f28e97ddb56c82617ec031294944231755a4dff1423d28ca93843a65848eaa9981ffd7f0373d386b390df036205ec65b0dcafb96674c98666078aec974448c340020194777b8ff5fff60ee003eeaa4f58b6d3527ff98602725150248ac81555155f0246e02bb1bdc0ac8c726a0331e12cbb2bf1770ffa531b21b83d38fce3c90c38685b748b414b2c24020f7db303eb5d49e802c2488865d973680f6d796f5b17fa578b4d54642c631589495634ed0360e2f79437dd781bacb800378fe39b10e6c6c71a8289dc2042a4368311d3a9f003e64015d217a926189f77e3161f48e2dc92754f408f119c96ef0ce56819caed0e0219ffff03565275035f95d2630cb40b33b808af334e1399cf9693245eec04ac7aeb41a77703fe134250cb2127d7131f1d648e5c76a4b8a87a6c35554179b95b1d8f6e7ba9cb03facedd39841c6f00d52ef65e4af802bcfb2672eca4b155a4fa811a9a218001a6032b6fb98c274cd72c8cc2cd53b65b470f457c06677cfd76a230531dbcd0e12eb8038e506ef78638be5833ffdeadfe612c5b0f425240777b9cf26006ea4478d3143a03369cac20433aca81ca73062a7ac2ad4da817df45b0944a4ef42de64be2a9f73603d2397291dda06fe4f9c55fe7b7afb6746e49aa794d1dd09127ab3da0d85f2e3b03bcfc39430015274d2362e7c56830492f70435aadbd38a6a624595aa11a9370bc03d7eb26b528a2add8e2160704719273c507d4bb1c9d0f4ba9f8942fd2ed31cc8c03de1b0168d6e837e6ad21f1855b8a220788275b18b1fb5a47a7a05c18a16e1ba003d84aff136902633f51bb1d8485790aab6af02fa0bce9a19525e3468a1c52028303959d2fbcff3d7ea44a7e910c77feec5320557799f4d9c982fb8f21866a44c547038eb61f43fb2033d26c3c962405c9c4016f3813c40c4856c92821f191e1c1c47f0380d8fa8b044609408bee183e0e6f75f7c0fe05162eeae10f630045238a925e5c0348c95653635c98ef4f80ab1f88aac2179d91d632cbae780944991fbb3706a7aa0219ffff034de029d3961eacc1d8c733bbe4e1d7f2ca2715e05f59caf0d062cad12557860c03517e57ca5f3088b458ac53ad5ea97de0db05aaa84881b6e640374cb11f5f8f4703f88deb79f8af932da8a9f62bd2683e673b0eddcd631c786e15f1900d19f7f36e033e2d0b8f8a00d47b9d43c4191d21d0f4c2fa597a8e0f1db9195218373f0244250387022ad348fdfbc0fdaa003297e1b67191d7c98da4af8eddb84beac1810144f603d3672ec9a8fb3589842efeb7c015c2198fc7f4ec5da17ebbec4592e2ea624300039cab8e8b935155ea9cb3a48085efd2035e459524aaa976cde7ba747bbbb79300038afe7c3fd8f6042c4b11aacaf4d07f8e9d59d53d3a8494b42684531fb120568f030acea725c24037fb4bcea3ca10134d7e9399919322ad1e4656c86af0eff7502803251ec2e564aa4e303b70c3c11fbd0d46070ebe339fb8cee26c8f32bda31de69e03bda65595a25f9eb23ff06fba654ba15237201a0e560282e17a4a044eafe07e7103a0805873a5362f1092691cb21822d2b83d7cc7a9b2944883b0a90d75c836e1c703853e2d06819a57ab6a3a5654d3f1dbccead76b50b39f9cc40efd7bf7724c2725033a92f31fafc4c6c8e1cc84b7a5c21ff66edd4018a33bce333025e19e2de77fb303125f51c5df8cac5b0478a5c11aa9ffb82b105eac2774c64eea46a9f35c1e152403914db652817aae0c9526ebae36a8c25bae3f100bebe7ab67b7050d7b0e56c87903b468d45c7ebd293bbfaa845bc79afd252e56c3f3606c0640644912bf0f5fa5000340111417661627fbb538474df91e5e8b4e0f154eb2364698e5974c419d5a84bc0382c2d577441f91de1249697b035e99db6cbb40eb5390031add83677d904f045f03d141f40a9e0637fa4b7a4d7f642cc44df1248dddaf29f6e0956877f57e3109a2038b1c20a1d78357d6ea01a961e4bb50f20c2fda4d6ff6a0986dec42b425240e2a03e3e7993fb291a402396aa02c54689cf04b2faf5be84f8436fef4c0e8bd07f63a03fe034f74677fd95af7ced7ec364b34d1140927f05b3dede3236ac3d63ce0f01f03c016cba7e60f36ae8956b09e18d53fdda8d1476745554231542186d8c9ddb48f03907e18a579d0655dcf862a2c962a9f8cf2ffa7926a8415670f03ed71a0123bfa037721cd100d940caa315627f1864d84ca3574c144464def50e09b112d004697c7035051bf61e82a3be08905098c460c2d2e22165b2920f5150a30161a174c9a8a1f0322b9d68ec893e46a41c316bde1406b19b1b15e51f5c35f3dfbbaeff3e302661e00581e022771e84716f4d3332c6efc137d9fa979719e70e664fe27935ce455381547038d7d8a1803b003723c2be5593e7d8f85c4aeab316dcfaee9254a66a1c6c25d9ffc61e454f6906d00581e0240136e67576449dfca3590dac08ce1264d0f094237272d49f48ebce751465af3107972ec036634703c405b8015855bb7bea0084457878c1b806f1db3997ed8889a82f85c9400581e0372bb378b990733ebf795b262429534ca16e6859101436d9cd13249b7405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03e4038824e8ce5ddaf0113254645e60a6b9d292cadf4d894837679803704408a08b4800581e039548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054c6cde7c39eb2f0f0095f41570af89efc2c1ea8280219280400581e0287cd34ed43f476f40ac5bb2778e4456f4fed830761aa182cc3eb27f1da410100581e02db4aba65e648cc05dcb2b9ee410c79b5fb0ffdfa38b5479f0607a9395858200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b2c5033b87967e51dc7e5834d589ba305b67ef1d785997669163153c42dada4e5187aa0219ffff03dbc00021ce887dfdb42fc50af45adcfad07ce4f4676173d0ad7eea3ed049e92d03c57ca227db0de9639afab82ea1d57e5ad75e0b50380f9d08c1122e790330185e0219ffff033efa8ea9b90d47959b00a516cb7d609c195f3c54a088ee8bd4f1b1996045cae8032baa4e252d80db0ecbb9a42d82a6cc31662cb8889bfc1b306ed2d3b66c5454cf037137e68c92683bf0c65cd2942a6c89288eb675e4459e01e3f2b8f5549dfb8e010342c34fc18c15c9bcd7d18716b934785a982b1d0da3bb87b2fbd2e1362f6e0b9c03320f838192f59d1d219e903c0614933af907f0cd651d6c180de50f56a5c25c23036980e3d3d820ed362aa3d11629ceaa58ac0fc9fa315d5c90de97d7ee66d00b0703d0eb3c0bb2700ba7f377283bac428d4bda7317ccf235a4f0cdaf404bca8c1c1803c590dd0f50d9306d5d235675af96b8b83e098358cabcf5c42197b930011c5a0b037f45385113bf99d6212b9c12e7efd41a32f7178c74226f3efab3a39771626cbc0306db49a066cbf23f40602926b7356b17a3a0550de2b9a48f22a895db5f8901c303e7a5212d8efd811227063e77a1d0e292562019107a3861054c287c8a01a073e203731a0df4134894dc6a4545a59804c7669ca0f7b51d5c750afb825be93b85bf9803a45f78ca668bb6f1ca81df4db71955ca9963131633ecfbc4ecba3032d9bf409d03b9cfb07e120d86d1dee7b7ea1f5e906078f06cb45884f3b60d25292c6a416329034aaf5f585f71d95ca60c4348339c5c29fd7e77ce3fb923f11c67992b0b46804d0219ffff03e20d30769ee9cd3dea287bc14556234a02db7d003f91ef848e78b28dfe326ea703c472803c4ac37268f83e04230bd7f3907264e33205a5ed6bbd57bb29c455885c0373d14da34a034e6ce799b2419672b1b70132272cf0813e0cf5078a629705264e0330c2f10b4ca1a9bf4529413892268ec888d34d392dbe8e4048eff77f12da788303ab167e456a6d55a23bcad41a7210f94e9c63ee55c68df0320ef592921cbb4a5d03eb8fcae12250f8137982e57f178b3f4c742697a678d1971072c583711eb00a4b03856fe4e10200994faa54b4c2bbe7c814a8acee6288ac9a9eefb1d1c3ac2281f003ce153d99a9322619d52227af9caabcb0565a091372e5cb403603384c3fb0999f03cb9f7fc8f995f57712ba7642c6402c6a81b8e8dfdb23423ff227fa3333cbeb39031482c9bc76cc7e34cc3c40205f31d82ea19e7bbacd49020bf1ae4076ac02bfed0346a50e7efd0b4a788dbc201ce523b4acdc33662a6e19ec67f9642fceb4c8477c03a0e8c198921ab8618a6145ca168f4beb43ffca27cd4274a1be792c692d128da703c6e16334653b3d55d17e5ed113accdffd8687f48129111e13bcca5d44f94cf1c03d2c029d0cb77a805ee4464fb7576bfb5632c1ce616fd59d86d44a35f1ee69cfa03dd17caae85bf6fcea1090231cde7be5eb1b7d3edcf53a7e0c77438168ba1e4e303af1a22300e906daee6c9a5baff57d8980547d75e77770df05c55cfa8bea11c6a031322d0f198a8d737a71d90c89176a56f270032641d4194a90f0662042eced42e0301238d31cfcc8bc2c3dbb705abcba7c9bea6568a5d71b6ae30cc8bbd4b812fe70389398b50ebb1d5fc4af5890f4d276fc45565513ecf435b6aadd48f168ddae0650303bf272421d0e1f10c790ce6be717b6221f6e852c095df9afdc0e7d8557b596703f5aa70cce20d91e44daff69fc08ef8ad509b24297183cd17ae721a554cbbbad7038dc09dd6375f908993f53c4a7cf2e2d5a735c9d96db2601dea1a16886f6f965703b7f33ead9ab2b2b6af2cf46a8182ee507a7062577d62a95695d9db93b943bc040347084b89562193979988441d25e6487d072f2628cda2892239220d7b6fb6b3ee039ff26c53dd4c11c455a5f59abaaf6f19e4807ea44959cbdb1a438f5dba528fcb03b086daba0e0bef9792ccd34ec0cbe68bd1b7e947d65ee18d7549a3beb5ac88ae0387af9967028b2a0ffb357c053b3afd164a0cad93119a20c6be3cb9ac42fd43ea039df55149ae4de13e4f5efeaddb39c391a11b4941a1960443fb387e70bbcb8ad5031bab994f1c0158db7f1c8f08d10cbe0b87a87d36c268acbc288635ca921c820d03a75de6674cdffd845daeef59c922b64a2aec72e27c2b500bc0644f956d20a00903c684ac128719ed60799d75a1b0c75715cf4febc61260810b18aff8a743a6cca60385bcd1aa3653a6ad4b3bb5ebb8e4b4ec319cbf3f5928ef7bcfbabbfbbe014d2a03191664f6fe6e34b2142016713d45e13ece8a1003ee8d418a493fb7a557881eda03c3ff68a3186117a86c2d0c2f586a6fbff20c19ecde8079a24f5d4de016f92588031dd700c3c460376238a4108a3d04c0680c435658aeb0bae03d50f3f07c8a58ff0381b2f6632411bcd357cc7fdadac4eedf8b51ef784acd7e047531fa70f998a33403cbb47f74ef8b1ff67f5452759b91daf58e5fcea3f9dd26e706ed585cde29c87e03fee120db29671d72f668c9a72c4873e3a9561e2979ff5d9b4f413356bbbc8e6803d870004f03c3666c633df59c6401a439e418d8c6262443bd3ab232e8f3a8179503d91fcefb6fd4fe51dd07e22bb60cd141b6bc32a1b4ad7187da5c8c9315a46ba700581e02b487e4f8aa9ca52786f98d75d16e2c87ddbf2975d772135c3119bb53865820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0289c329aa28380f3f24323f8a56b88841064a6eebe20a178b040f8b15e55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02eb703a0e520f9ccbf9ccadfb387ece54032741fd4a6d10af15f14156885820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021622bedd28da3721b2d59e879dde595b93c1ef99ed6c055a03e76ba1b45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0242c7d50b1812694df522ba2e126da95f40ac143a955efb9964cd29b64f413b039d284915a844c356c246b214bab246552c748d65aa063c898270ed3a746c952f03d53c07ef5e2d5c4b0a59e8c9a1c7d52505db9eadfe49965d4d035ff98af7469b0219b8e00219ffff030d73720809705cac42e4868cef5befddb9073c25e811e8c03f8c0e80b1652686038c86886200ab2c6684ca2cb79b828bfa5870aaece4125bfb69e68ffb74f2b78a03e815f3c0c51cc658f1404ddfcb3303557a5e34381ad95429dcddc7fed32119b30219ffff03a4848ed2bb4cce89ded108f4726756a36acd4921d969d89041a190b58d0004f30314d1efb3e4cd67035699a4a528552664f9bc576d557950af49367c6e439177b70219ffff03b09b3ba33004ecc12cb4a9fcdd44916e8dc97f239a6553704d6eb2d2f8dcb9f003ec6f4156ca78a3d51763d39a47f44232e5292db88a899ac68b1bb1d577bee97003c0f2ed4207925865469cecf69cdfb43239c64b8a1c0d6c79a3944268671b8ce603f2a1f035b8f5ccea5eb5c0d811396df6f48f8d6c58df66eeb4d16de3bd8caa7c03b557abf59ef58501ceff599bf055a762110efbb02ab9195a047ccbb47be9bea103f1999b4c703676b8090b08b578b38c369336aff0c0843a9643b4d24ef9425ab703b864ce2df6914c5baf9f0ea340a8434bd960e0192651abbd40180aaae701661703ab22b18ce6436082c667115dabe4101a739bd3c59a85b83ee589601f41fc472203a4440753e41c7ee065a9a9ee3ec63d71e5a95cf87e83d1cead3c18c7d6b6681803bf04e0cba019209ae853e657a9e0751eb2b65ea220fc4bb4a9dee693a08de6e103b75502f579f0467326b6430163597b935355a2f83d536dee7ac4bd29a9de567c036bac7d900e86f156521da8e94d651b9cd974915405d0d9314fa20340b2bdfa5e039a69bd3efef831e70684c4a527547383dcd77f60a065ee4828b221a6ae48e03a0376dda66ea19b4d00c7b0d0b2377a0e03d9f9126e105dd90dac7b5da730723bb303e42c970d2a06bcf6d1644a1f4a4e36068c55316c202196f8b6d41d279ab3dc500319c8605c8c36bd9fea1eebfefc25e714c452bb60c87a45e462991dd826b8fab3037d1a7583d5c35ddaca91191d35d6065100a11efffa1a19efc2c7bf73edefc23903b42c71f15876299cf4e080e9a9b5cf9391625e0f655a10d35c9bb24edeaeeb2f033b6874ce26cc5e53a22c74e0b8e951f4620058ea1273b4c1ed8231a4a39c5e7f03e5f2feff6745adb84ed4d222b53e2c2a261596b5a733a7236c7cfcf98d44992803d8ccf604c3a38d7531d44547640e5b1da250e14f8c0c7fdf798e16fa5974007403338d72d2ab60754ce4bb4b466acef9d4da14f82e77976e1680d4e9a3c0abfea503ded008f5a3d73a1b1e14a47bbf60211dad37cbc2a136e44ab43a715e7a24544b037aace94b80765666e3619cecaa69c3566c2a3fabf518262c3a2854cd66d301940377df4f899e1c25b99428c6ca497aaf382047d0e2cd0b0914873e6ab2c5833a8403324bd70d20b813866e9fcdad1677082de69abce0ae012bb8b7b7ab8a35d6c07503335da5051d36fba7587d2b48cac25a3d3723621aa447b5c71384219fdf0cca730311dd844cad81edb055de554af1a78fb09f5e485a62e7f2d489eedaf37d749e6503fd6955ab7acdaf5c8bc4df31df93905f5f0701e0ed9fd5673ddc10eb866e3db503ad04dd10ae850a8ffd9c49629d4f236544dd4fde5c625674a891f8559bd2323e03934f7e0f54447b6a350d8ec4e3e2864f0e305df12fc6e0ecc97623dd2347172000581e02802e3f157e39909bc7455247ade5377fc7e6c2b7129379b08d24e0bed24404e3386f00581e025fb068723121a53b683b52287c543416696023b4f7186b78f5cd0f055b440bebc20000581e02af15f4cd1866093bb5ca8d055195047c70724ed527d9aad3f3ce406d7e42438c00581e02a02fb9dcb5da7fe0bc59d784e6971ce7eaa95dafff3303e9742c35ac16430a72a900581e023d06901f8816b5b1a9d30f176fca9bddb1dc30056356c95f71ed89ccc24425e5fef000581e028ecadea6cf5b8685a013ccb63f6ea6189300904c270ad60016646667035820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022851e439a68b637378b2ce598571b442b731b262ffec2546f6d501a0c34405f6c36602199c920345a620a644e70dd90392efd11d30e63d5162c8782a25e5bd61c9baf16505d2970363828f3d5048834382e085a567e9bfe813dec2315b8cbc69a9fb5d23b106a1770346f5d99520fc244b67bfaa5a6855a19907d8b772e749ffbf54206ea8ae5f6d2103479c3729f5225d15be13bd2a6c3c0b9101ed7941ca386f9c62a8878a55f57692033328aac9d584203db32ac3a48ad4639f649dacfa2af86fc3143ae7fce83f1016033630375c46fa8d6508d1edf3212012ea140fdde4f8ef0fbf4505a9ee9ef40ab80398e8cd74f666f5698c70dd3fa3f0ebf8d71221d734f0502eb7988579cbbcc11903b0221021558fe7ddd9cbc0df782b3e3fb334e82c5c8a3d6d5f29b149a2e6c3220388cb8972ffbcde4f1c94fcfbf7ed7fbf0793d64d30196fb4a837a13d8c8ece9203f0446521a5ba2479ce36ee9d345793dcc1e6925438ecfb5b0e1de6adb50e20040219ffff0219ffff036e8c14b4ea27694d0d5d6ae46ebe5e564b643c0cc4450ce8cf63c8522181f0c0038ad9843b7744181795f210df21e48e148c35426eaabe6d565d78d56fbe0bed11030d6abe5beed1b5bfbe6921d080d304bd6a78367dafa071dafd65c4e4468b671503da469ec827c09ac602795e7c1048b56325678dc2dec16b6048d077a1ae6e363303a6fa03d4d967c14ac2fd67377b6f2a3e2c086611c522790637a2ea25048c6597038674911dff8088bfc19c01619cae96bb979681d23cbe151482124e12e2640ca303b103140d69293c21151fa81e859a3a93eae0ba8de8a8c198f33ad8d05271a15403b31d073ad4299d0c5444178460bae54ffed9d6d5581515c46e72aa464a38c5c40219ffff0219ffff03a367cb82622b4e4b7aecf10583e49bf072193634f1cef608101f3ccfcb2ffbbe03415adc6e83b07765fb4a052e031f6446d5514930d70407303a58700475cb91a6031a186962556c48acabb0e65739891f02aa9a0e43b240aa60b498ab02f9e26a6e033889961400931ac7019a3550da1d8645638a1a093adff4c045b8d36e814e652303978f30f8d57eb5e4642ad59d9a3145ef53ccde8512c57242f6b801cc784bd13e03c536e691672f2a5567583cf3a989c8666f9ea11adac5bff878c623ff733128fb038b0b9e6a30cef33b297341460e76c61533d013e2bc061cbb8701b4c54049531403f04c6783456eb7e54aa54d5d8f88733684bd2cc3272524ddd4f0e323096da6670324cc708d0ad80bcc8c466e6617df66d8cce546afa78c573e24454fae9e46afaf03708ae2c3f1a775358b3ace6e19305d77a08bdd8650565a695393211889af450603201d48f882d74460520b09aae3ebe381a9d78ce63c6e72b4dada7b99fbe7193e0304513b826df96292e3bfff5011de4e13b758e5a545e587b7ebf0d73714bcdd9c034e8516e61474cb0c4c1d9a5d340b6ccfe7a386b5e2248f6277840e5532f8523203576cd771b9c168d99ec56fb5be1848fda091ffb16aaee9e82fcd302a2151f73803d63be84ce2faecacf9e369202b4d3fca1c29fd9cfb1eaf41ef9bd72636d2e851030594cb4377c6a4b003e81b52c0db77fc87123f6db0650281bed18950e4e6f6420394cb730e06e6d22a65788dd7f888e86930c9a2e04e143651c06dde4ee21bbeb80372a565e8b26fd576092f430643aaf8a5863dcbb293e565dccf052fea83b7d91b0393f0db38800f27b9202cffcf346c1dd93b8293cee9d2ad3ef80729c5a5f5b33403c2dd5edacaa09a554ea56b8f285af50a6516b0d7eecf56b3da0218df3e3f0d7403eb2fafe6c5895bba79891c811731144c957df9e46d315536a699ea6cb254965603f5e09fb5adf32070613e4f3ea2efcc50f464277f0532a57114bfda1e3e61ae2f03874f7fb854ed4ed146daa84068d39b2c4adfdc6ceea455dc2e102451d630f7c20327f802b0c76ce2f9e18c07e0295d45cc40f62df447d3314012254b836aa023b6032150039586598aa2f77833366699743c750b4c92df6c1239288513215174aafb034a794a074b97ea1e92e9a1df8a6a0e79a01e5b2619bec11ae8a093a1e7656a33035ee36f4e993edad4255518ac85ddc10d3096e086c9e13000405c10eb41c4971703ec2e5e3569b2476dd1e1b4584aa0f7ab82a498c8ffd71a54dcdc9cfc05181db30394e7b7dbf2e059b78ef98e304a31593973c6cae567b1ad131bc4538a896b652203ccb819191acaa934a4ad7f6110b2d69ca22e304b54fc9f386460732a1e6fda400326ea113d80720cfcd3350f9d2269088e68c195c6cbdb0a021d05ad8f0179806603f95e17c78bc7fe56def7dc2d6cc11ee9e7d7b7caec748be6bed09da74fe0fbda035bac2ede1963e8a1460eecb8c712580c988eff5ebf0de4cd25c0dc716f2167ba039a2758d323abc3143f784cad54d872736e8a2e147a971e5584edb67288284a600331fc3129924e18989bb0ee38e018d124c92e30b63b61af32f46f9dd2123c471603dafd6e3132502468a3f08b390169bd892af8029ea1a7f81aec3bfc5d0a056c3a0362a4c46a587d22e426f5dc3208ffcb4a13078c525d737d13128f65c73f2d7e400334eaefc023af6b6d988dde27701c8a184e6f010d53d7ef624b214dcc17e61f3103af78899ae249af99dcdea338cf1abeb6a5ce5335ee0f378b8f65314a00a0269603f0d5af4aef08603d8d65e1cfff698dab23b4c628bb400f5cb68a4d6eb59a75ac03c1ef2cf73ea327468cc00ab6a1647fdf022666f60f504589008e4f3ffa67b503039aa6da79d0cdceffbeaffe86cd0c1bfb05f249c0985e73a47589f172cc2a0113037bda56974d120b14c761e3aaadfcd6412e96238a5e072cb2c51bbaf30e88ecb800581e02c33c1c1ea604fd6c9ab34a335aaefa75e9f1eb88fc4f44b402439ef13e4c19d971e4fe8401e4ebf41c0000581e02053a3bcaab6ab2b1825c9aade6b5ab90871cc5c669d46ccd0d4179a61c44057ce27300581e02648fa79ed97203851c5c3e789c1f3eccac55437d7b6e2b9b25d082d30e451197433ff503fab63a0ac2a30b2fe2b54db923dd0ce2365491298d284a7762180f4cded9f0830359343b7733ebf90fbb7c046260e9ae17749ba34c2464080e94c772d5afc5503000581e027c56e0c54acf0e3ea8620a188abf9a32d98727e56e37c85f369c2e65d942039100581e02c10b7ad8c8d0f073e6c373f3bb327ed5f87aea0fa7503773a048d0ef685820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0240aeac082547c099d69193d6c177f36939ce03a32b4350c09c638f2bf75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021993390338fb952d527772f8bbaa56e5731da338694ceb8e48ec13768ba9529105427a3a0219ffff03a8ec7624b3c031c146517f1f7d6935aa047c7d2ff9079e79a06eb2519d18a4050371dc4c606c2d8fcdca4a5ae176d548493b7d49299cef72b63824b5561928b5f50219ffff0219ffff0386e9691597d8917467abde49dc03d8848136732fb66fc9b37df652268026a19d030e229beb8fa233d7b6d4652bc24130c926f9b86a388edd66bdb2029908ba8b13039a1e9501dd416f2fe61128578c469968a87f6422f0b46f9c33c9291031621b5c03fea5eb2524008db403b3f2abeaace3f43af5894ff14baf3b5a764890c1e79e5c03fc8f88ff4bf940223eba35f641a169e96fd646ad647d60bb9cb4af948967e968039e2ee03641788603fd3c3972ffaee5d6309c8a4de83ee84cda48329aab7d7fa5036758ca40fe8a4a65785c41ef0c291019b7f9068db261015df90699ab1c8c3099032f381510f5a3d26e994ed6166506432611c5f86998d67112d063633db9c8e5de03030c78ba8643b5cb8ecd004523d1666aa90618ff2a4334c878e71646524f4a6a03e476308ef3c60d25aaf46b4cb46d3f9b3c102398b781a268b00afad93cf16fb303aabbcbaef0cb40dd342f17c4d1013866d5dfd0842a01d1b9cd913c11a7c844a703173192c7f9e4dec02f9c5780be6eb38782814f15d5f469b55dcff9ea7491a7da03b2b8033b026665a8b5ff5cd97fa794701a6713054ead043c69d15eae4bdc464203422ded6cb041714285cf504483ca62ff4a0b2caa49b671046f8b0291b95dcd8703529873e1c8892ad0c66918440e9fa59bc4b62966c468b8a59d542d2209cf9b4200581e023e545396405a7829fbe73ad6d88dbde88dc319db2f0647c5e47eddbd2843f4c040034ec03c6cb16ed1ba326604e1d2e1d57497ae2c126538478f90280bb0b710b07800581e02f931b2e4467094173f41c53c511c332617a22869d042baa868145f8153440488cbb000581e02d7e856a3c229726ca5a443dd4a86020e15a03c5fdf852bac0a26ae1b8d4401312d0000581e029e9e698234dd59398a8d3a66f42fb7fdc3860cc412e9e56df920a86dd64d0c9f2c9cd04674ede92a6bd1c003a8058421a4be450b9764d422eb745e515682d0a956a11cf19dca18ead22bd81600581e029ec681dc33623c0ce9c67be6066e95907deefdcb5336f97f9d5ffe665f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dc3afb64a9559d5e7847d639870e20fa24db1ea389ae5ccc3ff98d8524663b3e0219998b0334ae1588bce57ded967993a603cc2f2ccf75119310784ea573b96a01cf5e018103dd8a0182cc3791a2a1e37be021f50226e59eddd17c14d7fa5c0ad9284d4bc98003dc9e35e00295042d4afbfdfeb85be62ed014a19ef674fd8a66a64cbad5077f0f03c9a8d8ff77c3e1a1ae639b351a3cf3a990041232f99b35b370ef730d249d2fd103cc59318171b7e5d9786742dfc977fbf5eff2615f158cf236cc6957542d9e3c31030b0e1a39c08445ad1edcf1db21b57533798299df1e1965b9b4d10f5c825eca0603b29ad2f1248b0033a5ea64f73cd9acfbc09fdca0c91daaad4f9f9be8604805e003be6d8f19c5015bea537aca63a76a76eb65198a95aefa65bd0eb76d0f5fcb4ae5039026cdbcd88b5fdf41146d7706a1aa5b3d2970ffe46004ba5d4f286d71691ebd031529b337a9972fe2b6163a818135140499ef612d0db885b545b11e48329a4a02037ee2d3fb699de8ca18cd51b966c07110a757b49816872d0758b2649bd831e72d03de32b49b13cd2393cbc494b1d5de57aa11f25056e5163bddedae24061d174f0b03bfd9e832127b8470be43d7b895b72eee842cfda2479685e610dc5db4d6fb575003c574ac1c7d9194563f5e98a714aa717182ee3cb830bc07a83befcf3815ddfd050219ffff039259dbf49a8d8eacbcbb41b981d3915e0cccfd5f11e3be13a7338cdb11666d4c035dc8cb8c2a4aa65f0ecd6b48e44574cc6e1d271584de28307606386abc18aaef031af95807b529b8665b06bc860cec426159fb83d28a60a8d638c23c7e94855ed4030aef423841a4d620c1e34f124b1e4c8e5568bc57fc2d27aad708dc4a470bd04603f7291735dd2045264c7ce2fcf80aa4b81a15e46af29ebad1669e291ba9e3639f03f90d2c822ae4507d0d66d71840f64188bcb77cd9e8285c350b8f83202352cc7a03f2fd587136291f7c797def2e0d1e12d511884f81e7f7db2431754c1385e535c603d4fc0cdb2bdf16a3b2f0635f176cab9bc803f1edf141bc24be873ba51dddfa1d03bc5aaadd48ced2af6709d5a61409608d5a32c182c98bbea4310dc04b83487faa0219ffff0382edb7e511d2084bb91e1ac896e2e0788aeee52310cb8b1bf0c1b65222663785032bc07f449452f1e2d5b0ff4af4d0fd264ee551a93a02138384ceaa698b30c4ef038a47b60f4cc6f0721151e55a524366883f3c7cbc11de04429d244c7147fa95670363c8ec694c187a2c1ae7974ad1fbb3e9ea15abbbebe86ae2c7143303be62e5190312ccf28b3a5bd817ac46fe59724a8de0ddee931ba399959c6939ddecfd1afd2e039d31c34c0c73b7cad3441cfe735e9ac9e6b35d7e369ab931d44971a6835f974903bc4ab30d937b7713ab5372449818b1bd796abb3489cb3e88d7bcfa1559fa17ee0314a55e437d6be190bb13f1619f0f6e6c2af2653cbe4c729cb1adbddbd0d8c5f80219ffff03dc9cd627a1a165294a9519d7a6ab38417045ca3804a233f1829555ec4cc9f8ec03d05de065876a2269025cf11b0e8283ed65ea7224e06a377d93ee6b5daad3241603964bbb37a60804078ef681c02e16d4f43bf59e6088ca2f63636c7383f116d1e5030a637cad5b05a4a75eb35ec4a6d11d4eea328a6e5863cf7d1fb229f75351fb630391da381d8b6e440b90bae38a2318629d1be4ef8ac2b272b6f54f84ade6d4d00d033a6496bf2997a6c2ff1977ed3331e7a0e18d9f8d04137759c783dd1f769496150321f6274a5d45c9607a3ab9da4f28d82b72ae3fe5d894d2a59b0c3c3a191b729c034dd2e8f60a69da0c77fc45866e3f351b1ca50e6c9e54d988f7db2c726117062d037d1e1784c858b7cc2ed6069198a2f6bc50e5c881fc2046fe65422889b9dc1d3e03df2a3cb6e5a37cc5509a5f9aed876601691ecb1deaa8521a6d75b1e6a91ecd81031a442c1db74afa99a440ca7baa0618aff533c52733f4dff8977f47c6cd40913103b29fcd1346edc03d4c6a9d2f865425268ac4f512f90efce7d047ac665ecbdcd1034aaf3b71acf4dffb04cfcecee8b64570a18a473cdd25eb96821045ae8f3661510347c5300d8498874830b35b36fb4b27fc9cabe2e38282672c18c2840d9154056e035644ad05d9d0b86b34ed201e7c04c4bf8359cd017439727debc5a23dfa05a27a03f50d4a661aeaca3a802d87ac8668825044276576e50ce6ce04b4b9011828b97c034f41851f5ebe5ff975420747d764666cdacc9101e18dc125ea7279b98c9304eb038806afd661831614fb87d3a00ebcea0186cd720aa0fbfcf2865633a225901d090318e1803b872a2b1eea7054bac9798ed90519d099e96622535280d341da53197f030e9e01076672046f767ac8c3c73775b85d027c0edc94dee11cbd0a49a3cb68ac030f2a96f25f215713e3c958c4857c5a6ba266015cc2c3c911447751df74e40bee0346ec1d944af7a1475c8a6b8cd121edc717d041bcbe528934a20c8d92c8beb5e00387afbd6e1346be8d700ce8e5a87eb32d3ff7a794ca443f6414c2dd8368c1eb87037e7ab2c33a59bbe8058dd0d043936a8becf848d9af8a573274eed13b58c40ced00581e03c37e6c7a67f945c64cb9a3573d1cab43c109a24888a7e2d731ecfbd0505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0336164efa498f73625c6fd13ca758fa8785678b5d28a1978ba88711b9d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190420034cff9508829c8b95aa0977e7cf97eb6e54f497c9557795cabe3dc5d7e56f76280345b0584603fe6fc5eb8fd33342f25a6c4ec4bfb178080796db7a3cf6f85b472100581e02c0808ebb87ffa9c62b8e11105fcf35461eb8c14e3219e7eb4b7efb4a024401ede96800581e02effc37a5b28f7715e3e7c393a239662e980cfb0fc4792af6e53c242b015820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190447033c8c53e1a32a11be19a35d0fd0fc1dfa6db839804667f91527d0110c763b6340031e2a3f86d27cd602827e0475d4cc3799aefb80242065ab559c14cd5d5a78fe6c03ee878c5642cb581b72c3a84f0b2bdb90c0aeb9d09f3c662fd99dc181c7a8a5df03d5254f3c0d7691cf8968da7590ce26136182be50374fec031df75f1c7fef78be0219ffff039898ccfd32143db1e19537f68a1b23275c6c78a1ad0b97c1649406b7ea709f9403de8f1c424c4ed5ca08c540f2a323d65141b2b7a43d866ec7103b5da1eb32dec603756156869c4293879a9929d6f4242f353023a0bf3e1966686d19cd9e79d366780337f876223a583fb8a31984752cb91532354d9dc765de048783bffa4c672bd8a803c091745d1cd3bdac3668f36e9fdd33fd4259fb8d384ab168cdacfa5b6cad926c036ba1cf8dc2248b67fc191f83240ce0ec2f9fad4168d1edd6f86fe2bab847268e036c05b959b66370f3b5bc7a591c6692814349ee2f71733610f718cc8662daa82e03adabba079c626ac0eeff4848870d970de77e1b6d0893a5b1be182cb27031f35b0318c422b6ef5c3ef2dcb974e064a6041b7145387671b6cadc3c9648d5f7e54a1903353bc5a53c352b2ddd885b8093912f3b43f77129ae47e6f14bfd43344b6800bb038dfc86b0095afe054fbd06a2ac68f8911280aa1aa7af7c73f831f8d4beb658de03836cf32e83c7881c032a7d1a40c93235d539e73650f8648eda9dd93e27740d590308c7a343035cc69b567b361dbb33d8ab381fbab106b0b4391177b6ec0afe9e8a0219ffff0390dbd97ea5bdb3bad871156176addae813431d9a607a2965e2ff40c7a37add9803413ffe457fd451d0bc7b9545f82a04115e3dc6c70a46002c0f73854ee855a8b2035a52535bf4a4aba27acfa70889136d284dbc5b08f94afd9d0d86c1dc75c84efe03ef4f744c18d38074031770da32cae351719ab55ebd5d26aad25938a36e7049060219ffff03d6ad8f7285b44f63e885f305d501c55f901c19309f69fe779cfed0465d8cc8bd03cc5713e19e59dd669d6432dca45ffc53baed1bba52283c26326342a5913e743403ebe73188c16b088f587cf223433e0eedb78ea2f1f93c0a56fc52fe3d66bc385603e63f9ad9ca27ca303ce3dc2edab60bb2256dfe506859abe21e70975bda5ea50803ad9664d495651114bb91369d04bb2d10f9128a8779c85db16b53045e05d70cbd0331d0ed4cfc1c3c947f41832471dca146b2bf17e290de7a7f3bb322238ed980f9033f0bbef4552726c6617d25f803cd0ce72f6515daecc2275a11e525ce677dcd7e0330487d6262215bc178e814d7d1b9b1415b2258d1e5316aba20165f31c9ced7b503d288f0b6303ac5b6b9c9d72ab0dc53946bb84692070eb109f69f1d3126f44e6d033af1458d8333403088248590983c69fdf20a6cb204e2e6182c69483d55b189930328c38c35eefdf39e9d224cbc9c6e6da84299d0b7f4895e64f16f3a790208e01003aea52efe5d09443fb3ae62e5f20e47b53d87af9515bd3f37462cb30ac79600cf037a313ac3368609e4bfb54f8bf46fbd2f4d1dd3a8d1cc77639d4d6dfe878353cd0301708cc212faf879b95e97aaf2ae0e44f86335d59d735547fb7e14c68b59d9c303487df5c69545470d980c2e7bb0c5a22777227915993434b15609c5a9c858df5603aeda6365d4521f5affeefe0e1c3d1f047e67d7b7ba8e234fbf2d1c50b27b56e1031484df53dc9560501a1b5b87079bc1df773f7934def5bbe938a20b53c953f7e50357250b0964dbaea3132089aa0f21e4dba49c3a4f69993c08405d5daa2fbc504c00581e0266ec977c0a4b38c98050b5978f3c0c913025fa7634af979c2e28c9a9c043ec82e003ed17e90bebbc09b0f225b429e0d92a3b8903f9433d7cc63dbc3fcc1f45d45d3d00581e035c90bb7174fab0300626ee9ab70da55618ce938f8baa08ee4eee922cc044069c332000581e039b323cac2125b918d09557e6b97ead9d8395fdee56abb8c448dafe9d305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219200200581e02ca16d0539bf2c145ab5ebac81df2f388afef05b134234c65f8da2892325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029c2744b299e2400c37e9782a679aa80e12b7d2a5a14346585828c22b00430dbba000581e027099c088eca463d9d6a0161c84d142c6b5e0b0dcb15ad2bfc24ba58e97441fe4e8ca00581e02022f65ee0774ec1d9754ddcfb7a12b1dc58095a9d32d57826ee4fbf0de5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027bb23d17d79cb82e6575990db86e3d0c7223d792926cc8566bcefdfca05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d4d10383075929e152412ed781463c316e18ad68a4d12782688f2ef329e0741704acc5039269074cd8eb078d962006a387df918f4717d65b987e958d56815b027f0413ab03b3ae84b2e4976773ecb62dae626bb28e718e5818b884e91df62d9cfe85e5d6f7034fb01a560cd9695ecb802091c68e88ab929e0887387aad46b578794c3eab2b9503cf79dd7c8680d15d212ce408db7ca698d012fe5e8505d9c919557742f75b39db03f2ac959bb70f528daa5600db8fea50d5220ca57ffb330fb2941fc382a55c580c0219ffff03b00cfe3a0af93aa2de0d80d77522130f3cf067808f6eeb0b78c1ef5f63c7df010341c4761650f7e97355484e7cb4976722ccfe59c6cb48dfb53cb4b0e6d76d3ff1039ab5bbced0dcd3fe83a4a05ac5ce5df2b33daf00c8dc749e36d526e7ae1b32200372d08234fde76da1a6eb871e0d09e328d6486262334ef4528e8559d17a41bbb70399c5a388bfd7b285bcd347f26c1cbc216432ef498d84204037a5e58f5ec3e5a803842a1ed04992fafc1bc246cdcee1ad5bdfdeecab737b13d1ca0bf3fb1e8be792039b89b5814ee467b67d019211fccb20add212ecfc89b7065236b79d90e74c4e77034d49aea50de0d9e6743f2c289e41c8b8b6e3ccf5cbed188d20782df59f7be7c1038e61f2ec9cd87ce0814a882f25ac477a21ade39f993a31efb2738286c61432fb03c3a80f552808c761f11a7aba8e52fb78397c10c5c713431565f17eba5def7bf1039bb9ca9e84f4f44b588e0c02778cf6b66bebc6878bc4dff357ca89274f2be24903234ec45e207e0155b0060f654e144ba32d0915ce6ff5eccf5c2bd03d4f025b820379b3aa8949b05775b486639db2695d36526c71dc91609172541444ec9da88f05030a7fb29aab3a9ed846b417fc5ddcd3e81282184f9f378cb9765ad81c1e3aa6e80314da15de265aa8c5954119907306191ba00b2e7201fa5e55d13980170fccfeb80219ffff03fc428b9d8078f13433d5577d951e0053a53b0957957ee89359fc338363ebfe9503ce082f6d926d2a3c91d72ca9ade7ad02f8f151edbfe0eb22a495d9ebed37532203c7ef11ff876528f6ac945794323d09e77c6b92e4ab7913d01411c35e9ba3e7030329bd363f520396b1ae195b17f3f51b285bdc9e9bdd2a38a5d7f0e72a53f249df039d261c26668a2393b2326099f064d6760dd09d086c306932ec52bf8de2df0a8b035023beddd6b4f2e49bab32936eb77498bcf9755f869a680e43015938fc286c2f03ace628335a69d91a337fcdca29b375b7a706ae4fc2a0c4e3d85b55d5383eeef60314c543e58426beead7b5499971e57437040de539e33a604a9001dcb7e61ba19a03da97a341d24573522f9ba52b78502d0b2f90243027a846bbfd740f3fd2bc7d63036b18c6d3fbf1870bff349817cb01ee33b469bae983f1a34479e2139b72ebc80803c20800cebd642a7d97f74bb3b12937b85d8f7925523c0f90350f9f2eeadf207e036db22aef2e2ebffe5b5f0ce3bbd0b64aff4ce605228e962a70319d9e733d504b03cecc4aeecd62908324b7eacd866f21ff44739a046560dfc94e0a3a39726c8c710378c5918606d1ca5a7720a9a390813e6e87880ed2459bcfa45099506d513f7fa303bd9f084aa984f733387e8db1fa8f1e79160d110e2c84875502c85414cf60b7600346a4ee37a9b74aa14345a8a172a31a3255dc926535f869d6179d63db7c304835038c482ed74c2a5721b036ca119277bbddaebc35fe5fc5976a8080d14d930d41de03c5749c4d307dd10bdbbee4eb1bd3cd4c4c70e03da2de103e9c68f6604c67d8df00581e02286ce93ff049b73718752990d045dda5d1c0071b952c287107d35e62b4424e2003dfbe5dca4e13a317d2c92f79821ec08e55c95236a69d32a930f5ed995ca0597701410300581e02643029e3ee893dd901cc51b851e31110082f19e610d193821e4a2c05665820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e035aa0e2524bd86a6773a6840aa317bdec69b26222324a7590124e20b330410100581e03cef489e8338122356a299ef49bd58762299ab21a03154c6e5b563ad640460141988802480219420000581e024168eea53b83b7d09a63c7efa6a9095531b3f9fcb343a68c095d54ce6c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024730d14a2536ce3a59412b2d051c857abc7c659cd1ef8d4c9d6911e35b410100581e0205ce0de17e22a4547c8ef67e623bbb05516b7098d1bc3c852ea8410e994401c9c380021921ec03fcb6d35c77a33a9a59d9c0bfa9caf5a7a6fe1e89b7fc3c64e78776baabb2d4c103d39e264d08af677ec98d3584e0623fc2c650af465bc5ea55d28edaead0b3df6a03915d6829fffdb7a91f455db0ee27b124737f2d55592fd833af93f413bc24a23e03ff7dcb44504a9abd2d1d8d50dc9870cbac053610f6046294b29d72a499fc99d503165017d60c1c3adcc294fdf6a9454e1d3ff834270c00033a20a754bca2ee34d103d9927dc5b88ebbadff81c497170834c94eac92d70cbe1495d18fd00d5eb417c003a4df4b5a4e36dbc9fb94277ff6d91fc4b1c1256811c08938b5a1e7bff2db78a4038ab8d0f453122c0e5ab499aa8b0152213e8a904845f449419cd2e114453e66ec03a90855fe4d09b6a74b9ab849c48b1d0b1438c5ca6c668bf80cf2441f1e778a960353ad69a429ace87204a2b0384547dd4f581adca1c7a50d9a4a51d1f81d177fa20350f1b6c76c715f9aa7d625ea1e5671c13c379339e114d114c7fa5938d315a8480368615ba089ae24ca4210100d07f96a9160f6af027c1dd27310ac9d7fc25c989d03168b4f5aeda8cb5388f4d24ffb9f9df4c85e9486b5a339900382ceb4938058de0219ffff039e19cd400db4bd183a5d0a471880734796ee23e7964fc81aeb878a08d9cee28e031415d895a43a522d6b1fb66a824aefe5d684704199fa2a0ef9a1f670b30ddaca035461feef8cf05cbf0bda57aa6e64ce4ec3b48e6ac641afe7b2baabf1c22f21c7034012a6af7b52a3966cdf04c7c4cd1995fd09f618f4d7c07631987f77751b1a6f0219ffff039afcf797c06ed51a9cf6ef8f6a9992e696c5321196794b9ea73cfb37c86da10403323ca5ef8fd08758a17f2b93980b392ceded752ffeb091d94d2c9c5ed064904c03055b7e9196a2fe91870e516585c9b81233fa28d0d132cfe54b7509f9fce1860b03fb277bbc3c638b418ec2e302af16bef3f7c1ac51b9612b2132e29159ad60c43f03ab096612eb5d5d09773057feb69d4973822d0a151422f54f13b8353b9b13702a0219ffff03e581032a829e35f9e785972734a9b9986afee9bbfe983f7d589da85617a45c3603ce94d442390213fb233113a845b640780db9c8c025dcddcc9f2907d45627415b0338a78a4d4746edaf005d9cbb22e68acf4e136df9ccb6ab755b7020a55db4cbb6036d480a07ac3398377977e7fbbed94c1e8f175c8f289ffd1d31776c810d647c63035edef7ee2cba4d173a2cdcb45e7621c3a246042bf0a622eb1e1c1e1dfe74761c032e900bbc1d57b23efe87ab82f28ec2fea813a9b2fe198d63b07d9a0110fa944303bbef30baa44e1574bcdb5e568da8a6bf8141274e6cb8438bf426d1ca0800072f030aafa1603fe8086c02fffa886c077f4b7ef5439e0ef0cd4465f7aef7714d85bc03c5f486dfc52db68c05a61bcf67491beac3fba0c26cb1c5dba0f3cd16ed3bbbd2032389fde71319c4b0fde6ff2a1876b87ff4909ac25a1074c02ed770b691e933c2033b5052ae408a3dbb884045fc767337796de639fc2dbee29af72b317701f385c5038df1b09a2146c3aab4b6dcd8ad48783412c237e47a3e8a68050dc591ca0d99aa03729d1147a86a1e46bc48d0636ca66bae60c7434721e67427a5f3728388930dd4033ebe10e732e98af95fe7514a958c45db79246d85554e7af392e7e57e502b5f3303bbde9f0419629c2d3020b1e6bd210a7069cefb3c84ae6ec09dca1a3c34268b78031e3c0acfff707206dbf677892c3997e42725a100ae913b8cd4ff7e332958e2cd02190b50038cc8e29d84fcafd23ea2ddb2f3e31a1d011d29acbabbe12b3c2abdac955b13e903abc71a06168ad204b196c2deb3bb5c447c4043f153d334a746ff8ad44f85c92003380949d2002c525aa04574577106196ef652fac470911187448c9448d10f2ecf0306ddb7942df89a55b4386a16bb308fec0b3d6d2b26313fb41990ec1ca80a96b003ed039386c72b11c0a770fdba4b30e67cf6067c5c5fea554efba027101c8f81ef03c153bcc679066a3d6c79f130f3f914531f2a5cb26896f1d55c133fa2325eb52703b48267a7c496bf70007dba5d960405bf195813c1d79365d49f1611bab811b4000219ffff03e0142162f38c83734b7164f9cfccff60d8497ff27028c35001e3332e2f70c9e9034f971826c246b9e3961c2455e3c043e6e872af50fec7b7fbf43c406392076d1603cf6719925408f8c1151aecc26cb1736152967c7c75361b0201f729affa9c73fd03763ac391fa252a3743a071df30d1d9da36ef046d0dde18f7bcd7f2711f2519bf03dad5406f59c46deac73920929f09f981039969d066283d556dee7a46cb9107b903f5fa01979a0ee4c3f461fc5efcbd007a6c79b65ef8e6510166aad8a7b591e7f803be3867089d88d4a6342247cdfe1c833f254f03f831f4ad426b4cd1398569a67403717b18e8435c450a60d41b8b4505619eaa1e5cd698abf3650cb3747aa73608d703216d9a08f8d49fb75858630cfbfc37cdd90be9375611ff521348e2fa771138db037711e85cd3489cc6974153726fc82bdc470762c6ab41fc1a3285a8ad6077fb8403c1894fe12bc916e26ddcf681fc011a778ace7e0d5ca77b54ac4f9fe03c0b949803b8850fe72a1497d3e5a1da17a14d431ca51ffd79d1400b370176ac22f6326de40375995b9be2b8214753bead98976624064d66d99fffc6b64c25934c18416218e2031540f67ae1095d5faed283ec261354069399dd1a8e92f338a398164bc8e30ef40398009ebf650c1e42525ee8a5eb701a2a78e292c45405a6e7a1557cc15ea313030219ffff03a0d5bfc8a7182bec70ef8f4b9b96396cbdba912afba1cac0bf64cc3aee42e8fe0345c88a6cd0b7e49c249e9030d3462feb3752238fd187723fd8d8fce154a149f60333c8b441c1b18df401deaf8b98ae2dbfda4cf4498712cc5c940e6ce651890d3303fffae3ff2b12517fa9974048caf0308e6285fbabc9b1f159e6fb02f546c5e9180341f2b988e4135ca5040b8ae01fedde61ff9d7475e5a976fdfa09886a8085db5e03511871be56306d3ad62381db2d4dcb45965e7538d5ab277f08330268d2819cac03d3f639cf85c6ab665fc0c13f004688f3f92ebe2a36dd4378b57f593dc3b12599033abacca55ed27be49a035f2f45a498ef6e92c3857b693b358d737db6abc0c0f40321446c959e285962b7f6c286faa504affc21cba82509920b4b3f912227be4a84031ee524926acdfa756334584f0914113f8e836978b67f607350a2c7a12420ce4c03b6ec3b9c2b4e17257b4defdd2850d538e3013c39a8cc6a4851e3a7a9ba9289a30369d7d0b4fb6d31937f76ae3b6ea232e389fd4b4c1fdb4b322be7205b7dad86060379f8352b7924966411ed93682844e764f261e8a9dac00db12dcb325a0ad97baf039133676f5181508af6116355d0f7ddaf8a62bfccc20fa258321607696051ea4403d70195f16b52ded6e8f1051361bf475c2a467885c9592a81c916a566e66622300219ffff0341ccb7b7f0b3d57dafa45d21d5c5c85520550f04b6ef591bb0e525a9cad25ef10219ffff03ec2b092a8a783d2bc91ff6d6db18bdec66f5a3f7580846d24b68ae37ff73288903c50ea4f972037409bbe51489e8c16909308e4c0265022b7ca3098b9bb64703b203e1b6351620dadda151ce0d3e8d5f59fd8b973a4f8b92dea40d98fbfe2d1cf101039bf5d1ce7e6628ef497b4a9f8d7590fc5e8c2ec0ceac64674d6f408c248370bf03256561f75d22e56e299162b3cd1f803e9f731c6db980a6d69a5dfc97409a34e403845ad331809041e7a2694f5fc6ca2305d9ab9e69fdf47af7967d86d9c5cd6a9d034a9858494d4e7a5f31ed46f361b7ed47e09f5d315d852ecf2d5f639f89019fd5039f95dfaf2eff50bfad3b6aa9f4557ecb6c7331522452e5914a5e6cfc56520c0c03ae56dba1c39f8d33fba6b0d35c4d93aa2141b80ce2bb7e7d86c4bbd64effb03103e8543cfeb7ddcd850c075aa37352ae61f90be2fc2071d092d29654bb8aaa443b038422bcdbfd1a6f671ffbc3b0d748e725d39a364b015e148baafbe4f7b93113fb03fdfe8c442957da34a6a0c2f74e2da3b95797d18ce25899d70d3096d7b82bbbb103820ae13b34b1ab189dcc979dff0ffc5c7d126438280e8b16b8764ffbf685214203b7b301e35e1eaf53dea86532698b231fe19b3b4bd6e45a8959639262748767a1036d9ee4914a58a8bf23233456dda66d659da204bc3e2830191492f4b11e2edc410363758313b308364776c7d1b35c675ddc6393e3fcafe2fd2d54e4ffb6161de9f4031e8c34bbc299d19fc95e54224f3d35433d9d6ac3dabf544355ebfde593ba403e03ff89aa76f3918f039174932f919cc6d043267fc685abca411ba30e8d5c78f3b403645184edc569a88ec27711a6f4248c3f23792f7f0000b399d00c144fe2c13b5103856873302ac07f58318b31afde53f9f94c76166d8b5d4e4a8874f11507abeabc0367563895b27ff82d475fb7608e9ced2219fd132a1d9cdedf165f87357d84c0f403272552e315d81497e1c4f1bf96e1cc6ae0aa7c0314bf6b919b7535a5580058b20379298d73541217e4faf755951033cf30e42fe28cb266ac420f30ad82f0a5a5db038d80fff60ec61cd7a8860fe211d20cc6df8220670b3c8efc75f4a34b8bf736b703589a4db70587d329e5ee1f641ed99baa6b6cc462dd1586739ca00feaa8b9822c03b4daded02c869b6055250112e64a3743475eba1f3db34a17f7d2cd9de1e4066603e17991bb503f524403d92301f81e57685bb20cb34d7b43296241739ee68ada4a03a043d90b11b684b0d7ad945ed31a1a7ffb50b89646d967a7fa461c1a950d69db031bf26821f54d7aa64c5669e8e553d3bbbd6759556004d57a34790efd451fbeee00581e027025e4386d9253cbc8edfe85a73d861bfb9af136e06a21c51e69c65ac35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d18c04ea29d3b0f13669f91a96e6a245d9e49139c373a0deb2329077cc4405fa18cc03cbd65677d76d1bcc117d3365241eadf2fd7f78504d4f383a9f87d6c9ffbf181e00581e02d342f5f551c6c2a0b598c00869a09d4b44e66705184d1cab4e5ed9e1cb443b2c412000581e0298a0480d43c1fd0ee5530cb97c2250868274b73099f757dc55e794a5bd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0223531e2df313bad048707b476c55fec11b2bd2bf6be698eb8bf778a4fa435b865b0336636a625af93b7dd41c4a9b338702b117baa0a1f06a93049117abf1f592d7980303222a0c7cd000c61191dc635a75a34f48c90c19c6ff45769d3386456907e1c300581e0290baebe24e0221184b309d0383464e42f04f0020f263df522191aeb833410102195bc603dea9443baad812f732159f148518e11272b0a67db6f10bf19193db447d6a30de035bb942421ed349627f8d4f69e01914ed2c6c208434c02552a6e4331daf71a32a0395c9b7f9b25261ac717f272535498a9815a9e3d10c320caeeb184f14c9c838be03c423cfb45ba9191c90bc664ac5203f1e66815729b39e5184522c5f34c9171561038eb7e200305effa8b315aefae2e6f934d504c1d43e556fa9397eff2148fc79f4032efa5abccc92167aa09f4411520a89696bfa00aea2f5fcec44626ee3be28974003f6082286bdb5ca57b2cc7cb6a2f757e98117a9cad5d8123c68aaa9ab17c13f8a03b5bf87d5d286b25cd6aa211ff0b5da4e254babc81fb1a8240bc5815076bfb8630219ffff0356eac891bd6fcf1c8e9f9b846f8288a41342f384f44ea3e3c9010d83a9244ad303016033989735c5d0af33727ca28a4927f40c91cf8818074627d8330b5912dbd80385399147f0874e4b04f4dcd29918647e1264951b3699ec9ac4de7f55cc50333f0388a4d8eb46391c47345701b7d2ad74ee9d28c80b47b17c68eefd7524f31196f60363cf2865af1947de2f23ca911d733d96d2503e7af6504a79fdeb2270d7a3332b0370b63cc5b8527bd2c5be8fe8126b9d4584c9ce99907a309a5feb13abb389ea7d03fd018a0a6d2b38881f98677c7ce6332e9ea306e5c5f74c6500e34925ed450c85036759f4b164d940e23768737635b3305dbdecc8e5cf8f637ed5934d764b6d5ced0219ffff0326f0473aa73bd2a5c8058b1e689f71dc4d9738bc7df71ec56fb1da5eacd5128b03724ab1e0b9553e8de5aa997881c5cdbbffa9dcc2e57f958f1be7472f982b1f4a03666a02f66c74356b097eff3dd8cb397731860b8e00b1e04ed6420569ef8396ac0219ffff03058e0deea8da75fb18730e9610ae154b589751b9e4e58116b83ccbd1276248bd0383e3d0b33d5820abcb6410deb20674e36a91b7ca1cad25ad45825f1ef0c770ba034987f7d1a1515ad856c75e99dc4a741dc1f8e75e1bb298eebf5e33cab0dab91603ce413883e5c46979d7a2df24f99ca26822a3900ca37259690845ddd283f6e26003a7d48d86f0299d0c740a6acab3f248ee1993975c6f77f1af9d836d9b48a446680300bfda25dc50c990fd88eed36c6e8fc5105e44026fbe610a6ed70fb701ac4558031291ae4db75696cbaea16f4d1921612924392d67e1b34603f50b65338faa7b8003501bc5f52c6859143d9ba2a5a189b4be6f7dd1bc6ceef86ce6d2843156897c0d0301474a5a2fc0d8732ec9d0209b1d30aaf16279066ce1a7189713301f7db6fd1d0365d33f6503dbdf7cd9a5ac60d006740f201e26b350a3c3194923696d7fbbc75703938b652351abe7a82a742095a00c0df85346d156a6e8ccf32e00f5996ac7530f03e43014c7cffa3e2150c71debb2b755a19b95d96c2bed83d743c7886f2461105f038b3c717b161e142e14f6dbf9fbcaabd83b2a23426c946f12a82976f5b9fb7446033b5ff420701e63648b9af1383ef878b9eed0380ff03088088e903394eabe0356031d179b5cf1235af8867876b9f67c2877984fa0494c3a6ecb2f1317dd2f5d019003a89f4159a28068eed5399cc280358542ba8bb533d0dad59d63b656fb86f878dc03c303318fef077431ce108c48937db1aa009fea46f7e4d749a21a60a995fd72a603b2b9e32ddc7f8614a9e47c2286f66ab5ddfd12c189729f73d25a1911c3c8158403ba376713078c9e3aa5eb480adaa79b1c13aa37342caaac9c310bc1201da1c7e70310944758e57fe103bd29178b445a297209a17b5fd826f12dd6cf1d40c153fc0d032696ad7dc8c1b2cdd41065f96e09cc9dfbdc697d9d612bc182877105d098a39803991230c5c5cb5a9f1713f385a2ac1dc97490967acd18a2ea249be9804403be9d030bd64399f1e9da1e9c6d6bc19b2406e70f0aef14d13a674794e7ab16b52617a1039174a088519e108959ea0bb583ad86d9e91306fab02ad9822d80be5f4fceb75803397b5bc77d27e7cb1786c0e52df8cdb3b710b8f1b332c98f066deb1fddd0ce97031e00a0577c9e026eb763b3fc3960390c645c56fcdc21285b622233e4e75eba0903fc40ece326d278e5a5624f4668a1c19e96299e27c4c021b54ae468a5c293d58c03d750054510bcc927af424f8bff3e1142e1ce8289a05af8d4bea111e4c2c0a7cd034fe8022af84137c6169d4a8bccbf9a9679a40ab2875f4065f6f0ed9ed096c73303a860133781ff3d8aa823100879ec860f51c197901820dc58684a5cea17be8588031ddcfe66f02f0da7d4b5962ddc66496ef7e47546fa3d38602c10b4a5b7baa6e500581e02abc25b7ceeebfe292e4a0c0f37e16eb411b184b80815da692364cb545e4502951661f200581e028337008d0cb13e89051083b911501277b55c62ce7584bd020160380c8c440365c04003a877425199f3baa8f782cd10e5f5d0150774d9b9989fab4d3be2c455a134e1f600581e028a7c41e93f2d26f12ad03b6748dce6b08f5ad350f64d63834e62376e554320fe1800581e0249c143c626cae27dfbc7fdaff273c125e71b00448cb47f39d700422aa55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219230503683ce28122a4959a5335a4a1f3946dc902a727da7974a1988b292213170589a3030d0ec7e16d83b10605f1d38c9b00245b5142f870ee5cc0d4e7c7aa07fad8846f0219ffff0373ae45c1d84816ccadbb4d62dd7a13d4178128491a4aaebee37de2a17a2697a803734b57693ed5c4cf2bff24af8f0cfce6f16f46610b958afa0610d0f4ee4f071603a7315c068efc090523b0c617025d5c4ff16f7d6e53f1d84b3976e07418e0f6ca03be2c9e19abe8f71846509fdddd35ec8772f2545602fb868aa34380b47933162f033178eafa6694016e15f57595a534f7279d9979d31bf4de9112a2c15b249fc09e0321f02e16d904fbbb2f8cad582ee062fcddc4b12985f6982713da07b83f87dc9f03f2b9c1fd8f1ae9c9280fa9ee2fc506708753f6d5fa9f465776ab0c8f4a839a4b033dd873839ab0abda80397fdeab01c7f20c2992be6633e09a223b72f75aac8d6e03c49233649f0b7cb769599d9ba947d6c6ad2419d699bf23490c3a0491469f30cb0385449f2b5915885aa84f5c198f88649621874bbcc48a48512e4837c211a979cc031231fce31cd837892d667d92107bbf4538160fc395952c36c380a945a2e6d4d403c55819bc3341caa4d59c23cc058b5776e8b909890420647065964adf5516df8d03b111db4d0f6e94e39a2fad600f422f8496a07c9424e85c1c73dfb230b8a342fb0345bf4afc6bc8d3005bb43702972cce58ddc52649642631ebc2ba92af1cd1c5ad03ff684de73862961e18055dd1747b8bc962b4fabddfde23e5a6e5dc2e0ba60d9b0219ffff03c6176ed98b1ffd15224031fd88db8da94964585def81ea9dbc0870177dca4ac103ceeb04982315852a5f09e4fda81e12e65ef54b211f28116c3b8bd1007b35863c03cbad71f819c4c45bbdfc7dfc60eb06a997f9f7b4c76a0d299b7e8d6811956ce103267f3c109ae1db3c57d5f702ca6f583ab974b575f778f5e89a683bcdf36d670003df320a985fb1a8e2cc055f1397bd85bf9c84c9b8fb31af0f5909fe5bc21a01870219ffff034227d94b0eaf4da3e892ee117968c171da5279db4d4ddc6874628bccde6c8a120355c9ab37619a729f3572c56b16ffbe3bd3b1ce62174772fed26a519d89ae83e103d659f1af1f5ac6bfc1dd143db2a8bc8f8bfd21533328517f39c9267bccf3f8160219ffff0399a7bbeb023ced1f592def4bc777bed0a5a797e64b570c32fe4969ec8749063903ac9fdfc3ef5fad32573562664a156be4bf61e21afbf6080fad9a013e5b693bb90314f1a1a06a1ea1b9911d6bc79262442af92b83458f44eb3107af52cc0104b40303ac5ffee31642fb89ec02a02b0a8517a12c4ff275c31273987dc726a1063fe22f03160e013087f0722fbb8077ed55a3371d41e1362e4b85fd6ab7bbff43c436cda303f1e39398f03892c352833394ee7295ddaa8e380169b8e143585a47c2430bb59a0324db1d54462b992a96ffbd3677f10b676fdbfdd39c1825697976f93b9dae1f3a03f872d7b5664a8f831a12e17e16d7fb9f849883417dac2a48b37c858f7e529a7d03a4c24785df2a501c2efe2963e35b81a4c26c769d8c32707eb4dcfbdad2a5a0eb03b12cfb23360f752a786f9fcfeaa42dfe7d28dd71029cdcb6fc006ef6bf90b7300314ad342edc82ed184529edddc3436a29ea638d7118e4814096d51797083e3dfe03e6078db840ce1448eef7a2811a257d968c099e27ea0ac38b4f7df9e7f477fcad03a6cecef618854d038c916a599dacbf604840f457a70f240bff63a950e232902103b4e0184a2e365c1f7b21fb16604d2069aae9e8108219420c6a9964b58c1cdedc03cf2141ad47102f219b3fd5465990f3628c42ba3c17ede55b74f9c693c10ee9b103bd122137c5d69e687d8a1ce93de0659ba21919c22b1405813b2a337763032ba0033fc9e96a4b5f60126c79a2e92596a48a73352d8a6c752ef2de133dc74877b44803d0d15f47e62b835a908dccf81ff28b336515239ea9dfed27f0a86e4053b3a929039c030c6861ce54b9c29147aa415b9f9cc9de57ad438d66b134c094a3658f211d030b02a81463b44e1526bd3984bc709359fedab3209a8de9f4fb1f4bc3991c6d0003308e661bba4eb60bb1bb3b0ac7ac2163e1d34a24ff32d2a85d7f9cdac09349e7035014dd817fec35b0262d39b8e5e61a7b5d3df0bd50619ac0e6fae4cba66cff3200581e02aec1ad124966ba9de6b6bb200ac11aa7fcb994950ce35ca1df054b453d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d7f902a68041e843c893d42fc0998073181fa4d956e57b94117ea0a2505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e1068881a15b8ff539682343c436832f4cfc4c3751a2552d9875d99ccd410100581e029e44c7c26c847fcad9c17cd3871f9f64dfefcb9cc4a5c4360acd87e8b1440c13964700581e024380f51c13deedb3cef477c9b0a0543cb0fb1f143efbd3c6c2bfd8f5555820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a08dea8f73b0859688a86481f415fdb5c8ca9627e323bb1b953d4c2c534374e1e0021930c3036b51253812c6e09b8cc17cca4c96d75ccce163070e22c9cdd50c09f76c54412f03db2f96612fc731238eecf3073845024f18daa68e688fd1a99bb0b4b5a204f1b20343f0a39e1e6fd2b06a9df2f77deae0b4a6a672653bea700e1b2d057818bacc3203340b50097e7bdc4d1f03488edb2e467c6c6c79de73d9934c105b9a9630bd5e0c03ce53fe37dbfaaf6ef4fb3b92cab5fe950c8412e068c8da5e9a8f927453c74a1503f95450f05db6e46e6d2160ec53b5d7fe9f7d129c6b6e80b50a4dc30306a9aa2203bb137f89376305a421f67412761978a816eb5acf9402953920cf97043b7d56f4032308edb8a274bcbabb6c973834321c9c5e0a5192422fbdf4faf566326ee871f40219ffff036d226a327da080cded888b06511d49e49c194860b3c5642bf826037cc2b0b2ec03ed10b9e410bb75ae183f5db94a3c02ce776ed28c40e51c7058f056d862d93fd703110af80be073ba33bd66afeb0f7fdf0df78f25fb38b8738f754cfa64b027714903687fead10ae313203e0cb4033c15716f1447bd7d70442dbc5fc2bc72589917df03c2618d712b707caa94b5ae356ffa8fc08a92a2136538a91e07f437df0fb0cd8e0373e9c641f9ae9f506919ce13854fc9038021e1541f39a97c2c81fbe99ff204660368ed5c6db396c1d353bc05bf21b3d6437782a4d7a312837ce3f8d4d7e0d0504603960706819a8ef6d7e76126ee4363ccd91cd258436ae596ba68831ee2bb17f86b030c7ee9d8a139bcc3bf11b7e7be1b1ae6ad613df8cdeac934c62a55f482ae96c10319ed62103c532581052d2f82555aa1ba856d1cc9dba435f15dab544112efb60d0219ffff0334a0da81bd11d8584d8ab43ed242e5357a80bc278819e4609ffa39f29f4b62b20331c7083ffc47925b2873afb9aa1bfce5bab7bca7aa7c4fc5563ad8b41969b3be03e20fa50cddce78179ab2542c360581f80878abbc31c183d2535a730762589c42032eeb17ddaf9475c51424ad5eca19caa34086f3a19bba731cf674b9c55d11442d0350160be844af2ca6ff64c9df977d638d6c5a6cf622e95236ba948190ab839f200313733404c994a1f76f17de5d9fdb7c9953bf3b1542f85f070e3532c4eab7edb903b7dea627aa37c9dbb7c6eafe3c11c037e8fce8b73eff257908f86d59b886327a03eaa53561eb1ca1d82068c8bd7c54a950478188085446611603cbf76d7618e6450376ffdc61d7b24d8d5d91647234be270c396e6dba61240f6ca4ea4c287ba9ebcd0326ac650d15aa728696d5fe55819db910aa39d574792cb8e03ea81d9acd4a7abd03ec0e6302cb9e0f74a6b38a971dff869fd045d383cb902e6933112d6e9937027303a1668070fd3b4488b4e1e98a36878cdafdccc5cc4a4bf00ec1ca43564099cd4403dc3e510844af1ff235d0184bb918d6e457a3f3a960fcc7ce64edc3124f47b1ba03f9c1eb14005bf12065b62c5856422aa8546e622d3410437130728d0ce2a7c775030a4139c80a503afd24691d29729b0f6bc3166cd862bcc9ca8fa82ceb8ce7ab3903fd6d8b7c766f39c51c5ec145a864ab122d73ffd35a97b3dfad7c444f71d4bb7003bc61e18358780a369433100c28d950794ec7f5182267c6e05324cf12d8ac2b260349da42cad9ef5d09fe964b8a77f045878427d333c7eb7f967abab100a858c9b403e822e833abfded80ac8a014bd0a502345686d00da7e469c29b465cb0fb862daa035227f0d23afdab1424bed78baeb6205757fdc636c9f086717d50cee2751ba51a03a47fa4c9ed7b314c83cf943045c21510907e8c88cebbf33114fe115d0d58f5d1034b7b173591d0116f2578034d858c0854e784d344a81ebd8249c5a5b8f5c015bb0372c12d31d87d6aa91fb21b277c77c5cee2b0b4c83356f2480ed1e6e4b1d774a8033aeb6a516e9c806f7ac68049a931562604b2c70565faf66eb2fc521644cc398f03a4e2c1aad11d18aa88563ea7b3b24bac2e46a050ee75efd60cca9372e23b7a24034e816a55a073d62548dca94b4540e9e4f773372493a254b7e3150c2ed4b4dc7a033c00bfcf385be10c9bdc81c78a95f29a7a977fe94b3f97a6c62d70a6076d05830371598cdb44e68c8b9fc71660e4b37cf5a65135dc850728eaf4e8d3a06f849ff703bf1a4967796594ff72c9999b52e8056b0de15143b5c05aa905236189466cec2703a082013f8887207257cffd73e2130ae0a7c9a66809c9cc6fccccf140c65553070330216dcec1c6411f4b3343492a590a026df6fbd3da820af9004e4f6a1d6ecc1c0352a3efd18a4caf7c18a6244121a008fb6c2603711f125f752497d31060707a1a0331ce73d6eed9ee98ad4a3f8254fcdd96e55d3986ef852d32075564b39d32673903fc45c587d065a3b3be6d7ea41f280ecf0959ba80d3e69aed82f42922a9a53e11030e1dc3ca54ce2c2c54b52d23520f9c785a34d794d1c65a5a51e8533f923620e7036a93f00ae4595fce471e23cc75f0d08b740c70510a5ef728947cf2a02de89d3303a4097a99ec76172d108e91917efad03c1614ad1eaabe41167926c5d9a38e12a800581e020a7ac5b87690bfd4f232cc9c94108e005f565352427ced7f83bb431d5943038f0403362f2beca1905397918f41fff2da955551e5146150eff0b3872825f7a780d6ce00581e0277dbcfa2759f684dbc398503c79b6cce04223ea4d844b71772a4374a015820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e9a870840dba0c8ac8baf7562d8920d398639c34fc54c7e7d2c7bf2564430544d0039d6dd0f8d80b5446b4fd29c302f97f99f581f97b0edddb5e245a6a73ec54265900581e023c39e9c6d0156d9e9a553d618eba54976b62eac962a186dca207c0017e41c8021995c10219ffff03747ddbe106697a084b6daa468313f3b50ba9a1dcfd0559549ec2ee79b94c81d003e0d80fa3f8a9f53ffc57331287370c61b5e2958034f401d1805c00fadcd1a2d1032b799fda304df33a254b3154bd846e3c816e82aa2483bc680b5ae40b1f8223e90219ffff034376a806a4385647afef6b6cdaf244d70108b3a219de0456837a88122c2420f8030352527773113115cd4abb6b420ed2bf7cfd4f64885710d100579b00cc1c9a6d03ab6c66fd2dc728b6eaab3160aca953712f38323cd3e892394cd596f6a1d188d2036930225cba81ae2f5aaedfc5e85779e1ab815f71315d9f37af96620c60a2f65f03f7ef14cd77ec87ed34dbdda27bfc9e312113a268e5e7acb0df6dbab834b3d50e0219ffff03c84f571fa90805b97efd5f9788148a3f7134787a824faecd1a1d90e468585874036888f4ff8e1e26f08a470ccccc741d5cc3894d81c90d7cd79cdfa1a5052cda42037c08953b30b5d120c476ae958770ca9b79f0de7b8969e83634d79e46f021723e035b2e1650f3b836232559f0ab7606670cfcf4f29df51e28f19412cfacd9a418e003a2e282970716e7a08c1fe2cc311fe8c2b26b4ebc24392244dea7c7d01c671af70301646af30dedf099b3f6a9514a00c15cbd8b33d7f9932c1a832d1cc74e88d13a03753b6ab161ae3f0e45a1389aab2fef4d9339b8cb4775987c6cd9602d5fcee3b103d7bbad4146a96c90dc88ca7e9c956f095c954aee5783d786ddcbf1f76adfbad5033362755e11cf890b6b639cd4867e4c4294df45e8a96f6cfe6437f4c7f203c0c603731108717744796e1444a8c6927f984a31c6ee77c14f00b69d7d43f9de7fa671039ad31e55f05229f3ee44fd8298a50b531fcbd0a0d8b641579127a0fc9bc5a6860379ab81db5b3bc1cdc18af36e041b6d42175a1d33f805b3284912bc12ec9346630370c4275adb156c2fda6ba759a9262b8b8969ab6412820e0e1197c2bbac4eaaa9035683fbb38d7a6c977754d1eb30ff770c98d9313649129247972b366de4c132110355dbda91e69d79ef2f9e8d754cc784ca595f18b5a5c38e63eedec3d0fc90434503bf7619cc6a565a501fdafd0a24b22b73d91644365662f9db98e1d84d58e047ee037196d9032a0a66f0caea5539bb8b7fac7880cbc9c026891fde3dde4ccf3a6839034dbbf29b6b3c4751d7440ec53ffb4e3211e8ec38c9713beadbccbb30cf97ecc703734f10fc727b4dc5bc586160d9f06b75c5f680f37129d9da2d8951a7acba44b5036c1e63d2ad223c67380ce871eed19b1f10eb7973264e09fa168bbe368effc41f03bcf4884698ceb460a243196a38ac8e3622752021556df3556dc53572cdf9c3bc03290bdd0590e9c0e9055eba4c23c9282be616f0a361c292d601722330d1fa033403cf4277161ed495ba8589a9f297a81dfe5a4e4e82c17867a6d4f2f232a165beff03dd98a6646153a756e0ec519948195a5ed425d187a7e29a9d2106c6e7f18fd1ca03bbff44366eeed1c2bf91c51da571f015243134acfe1a9f5b81ceb42445c02b13031897ac1b460866bc9970059e8e3fc5a264c8a4d8b0b4a7e608edba9adbc8c89703c50d8265d984294212e759dd25b7ca63a1d12aa4710ac0149342670fb43a8ed303f4a2b1473951d248dc418e80ab109cee4e19aaf7344431fbfd509be08f0a689a03ebc7bb87615db807c6c9e05a0d9b2ec0624c258cc059b2375af720c9b7fc8b9400581e029b3c82b3148420f3ba637087e4318735ae8d957604c6695ed7e8394dbe4347e81f00581e02b018d15cac037f48a988f221b7e4a77452c221b1e9b9dd74d0c9cbeacd42271003517bb105ec91736dedc4bb5442a1abf3fc9810c57e8271096d0e58f97ea3b49f03d11630160c8b9b8894e9ee6ceae7eb32e235062f78f1ee30c8cd1e7de0ecc15a0219e0200307c5f3e703de7e5f06b47f4482ef6211029bcbbc383947b2f64887c97d02c545037bf94db202dc87880d63c1e13734869806ea46aef4b4be00408910fe0213dc1f036ae5498db5e1ed37fa737950667bf7a42b122d56b0cfe6203ce406ac184ae7d103a393cb2836cfb71cc59d230e8f6e3466c91cc147ae6377ef0a3389c744f7245703b6753634586f3a522db04a8a5be6ee3f2b09ff6ec81757e1ceb0e16501fc7cfb032ba593ac458de349f5a228a60edbb9a53e4f440190829eb399aed1d3ba88fd9e0332ad23a8860aa76a00578265ed8ed087d216bba7cde0cf32e546eb9e6717176d032ad88ed3f0072fa06abf00c49ba8a3867df3645b0107e3bb61fe270437fe29c103e461d4d6d3d9ad56eac1d672ee0a1d7fe3547505e2c13e41c95b619ae4f1826b0219ffff03d7bd8fb73d5163d86a9f7d377653ab70fb441586d6330d5899253d51669c50fa03cadeb4a858c8d52b3e2ee926348073edf0dbf385902d9565cc4c6596abc9e9d7034b68a49e5b42c180d1d9ca85a15db1573a16692e51ee8b84afc3d924937f475403469c4225444d3596924b1f7875bc5979923ff83d50591574d26b6e32fb8c8fb20219ffff035a9f7fa1add76258fcdae17599686e5c4982f8f1e1e1db8bf2b435605bd139d703d345503761963ad6845a828068a1512f0c444f22fd1a065ec44bad20e6a4469e036e5c304312500aa00d60df68f62a4bf00faa384891d6de1c53dbc0e254b3b36a03053a0721928861cff4fa4274336a706d2586f73f96726e3f4dbcfb351bf6c62103e15c17bbd3914dbcbdc17f0eccc2b48b9e9d61520969586f1cbd148b08bb08ea0368638953a9ba8bc02da9ac7a894127b1cb3b7b3a4bfa066a0f0c32f2b2b8596d0219ffff0344973b2a2ba8ce55a17b22963618cfe7daa940356834f029120c1674ff6d4dc10219ffff03abce3633898e5b933e4979a601b9d48e05e932ab9241fedbc51e3bd3d0af81a40338b7172466381cfe207823745cfc94d5a2b629a159c764f7e4698b2f156f7d58030a7120c7e58ad9b7188e0cb9e403f8feba6b338208d5b9e00702f887113a227f03fe22f321ea3775ddb491d483d7f89d016915287a5df027983e88d557dd80018803da060467294b910cb2036e6e1cfaee69a7953635230750d6e2845de7d489e0f2031ed80c87435d44298f932e4e1cfcdbfa6d95577485ade9d4da639b74838fb55e030e662e9e01cdff23914754b89a6a3306643bf66eaed1f90cc4c0bdf225d3eeed033e5ad4d2b0476001b4d7d0cd98872b99bdfe16f622a735d66efe2c42ba9b8cf70378fdf25daba415bae38933fe411204ecb06e6ca68059d650c1cc41298024207403cbdb7af97e433cfdf87d2dc2d38459a8cacc6af8ec3bd91b54d7376ce6d61c650331099e06e37f7a97ab170817a326446f97971a2e789916f2b7525877a600382400581e027fdf9a2f6cd18a9cce5f2c48b25f2b6a67258e2eedaed194a3dc2dd9405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02821095bd7288594e8feff209cc9a03d0bc14718ee546425b764a77484a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0221efb11057868b153edd5b94c59bff34231e544e4b23e203dac6cd2c205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e527adabe20809f66af7a431b393cccdfc629141b2211b6993100489cc440510ff4000581e03008f2810544dcd9bfaaac12743a613e8d2ed4eb43bba491861856d2a804607be6d19f41603d342ebc218658dc88ba84d68f16f95d050d106c47c8559f5de5725925d572a330219080200581e02b36d618f8acaec011e8d75a944ff948ffaa0440a570aa2d4465f0d18f15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039466c80574040f5b402539ce2b8907f3242e11711cf761a922b472023f5677f2021971a20344eb5727092d7d0e20f7a97636c0856ad93dfb9ec8cb6c1255030d80c404863f03c2724b933921833b39f7cb4f7ba5fd634054b4e592841cfdafaf4c1b0c1b85c2036a55ad89112fe09d1f5feed4ae9377272d5e37d20e666c4c77b0a7e12966fd250318c394341e70c6e9521e9cc96cbeecfe982abd14914465085e95798fae66a1ac03d568fe232ff8a067ad6fc9c1594d08ac653265b013f84a68a5a1455380e24d3803f536eb992b07d3b5d0d4a0ff4f530301f131617a48599b72db4d9acde3bd6f66031c682745d9fec6aaa1f61f086a3df9194a6d549ecf801199f28ed86a99971f8003c775bd472b905fe5f197a36a7b39cbd316f64af040e0f904f69709589ff1297c03449985e875a7eccb92bda48f8477b7d98d18b4404d241d89a8af2785bdf7780703d06acebd0736f1acd385d4e8c1008e1ac96f9b88f593b71a740e7aadef1fdea503a76ec2507d0c517a0f90572d66ddf3b1eb1bf82d4864b74877f8b96fb5f45d1f039ed7e95a4e6c612c51edfd5d7839d138732f8eec8eafdf616684973a79a692f6036824b3e9053082907deb84bd8ed8f0113736cf5570d2866677187e502f96bed50219ffff036a14f6f889fedae5791935913bc7a7bb79d45f078dfd42475d68e6020ca149e4039f9da0a85be9e5762cf187a5fc20e6219bb841129c9b51c681d452495a5616ae03f23213e97ccf4c6805478e28111abe7a592d2d4ec5f84a99f01c239499a7349403d5415f5caebbd67ecfdb56488e948319461ad664eac5601cad8f510a5a7b553b03c0f4da57737fd79513502e00ec4f7d4ca0e58f647e32641efe3b08d539241b9a033378df978bd036445bf8bb5026e0bd2fc7df1a4b2683a77716227c8b38a2cffd03d8b48c831d58246f7912e59361d86e95547730da5619c23004529ca07f0e84f4038823d260cbe5706dfe7ac83e6a313367d6c34778efdfbddf671f50e5737eaa1903f3782e04ec0a3877f9c56578c617d1bbed3eb45c02b99f3a262f28671c99fecd0388f9145dff6259b19daae72a977fbf7b52d51a5879957418294bed81ac4d933b0308116cb94e209880dc576f9f393546580c543d57277a3dad9c18051c27635a860219ffff03480edaeed8cdd0d982251816175daf04d771e608836dc27d0458c412e81f4c9b035d3e696cead05370019f2db288f66eb2075830ec5b6fc41c19a70f4e7b44836703ae5bf2600d16d935b0c244a06d52b4269b4b6e5fa72977e7ad6d71bfb9d4125203dc2e7a43603989b53a80b474cbfd508475879fc7e2dcc632a27d3d81846875460340339983919d71d3f8b046f8a4c05e655e240679a3d6a5b9200a9548f82dab7c03fcc7292efc14270f81d708c88cab6bef9c198164cc1cf7e733d83b54980f842b033ae60f453ccbbe3438adaa5e6c25b5d5eb15b70ce88d9c1fbab150904bcb1007034bf43f097fa4bed813beeea1804ace4c903169ca7c5f8402907e5175ffda5dd9039826748049194991e798af7f17aac2c9376933515b75d2344febd7d877318d5a030ff39a103d5b50457cccd71d264c720873d195a4fc86c48b9956ee77506f538403a78b007fbc9d6419fa6fbee70d215c9276c65fee424eb7f7330737ea3fa083e50392c413118caf5f05e0cf0c7e13c39c53714b6fcb66ef1f04702297d562d5b2820359d06481fada7858dc6a5ec4144b99acf28df8736b5709bab731a8589f35449a03ed30462f012730140bf31eafc2b8ec29c4a83b10a954f625980875a07d93dc0203204a20dba6887741f2751182088dd9288cd78886854036d4825a8f3a6529360a00581e02e30f80d1873c13b21f7f8b0f609cd34fbbdc85226f107652039d2faf404405f5e10000581e027a115a7405f73d14f7d0f0f7e6850b46cab4ffb02e171c5f310f23f85f4506fc23ac0000581e02cdad0286655c7d91bba380f1567edc08530a416aa10791847633f9599d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0252a34927e10328392c7868de9d3ed3ebd542f6b8858e921b90f3c02b3243e4e1c000581e02b6ef195afb62962ea68ddd08df537232cb48783349e1c3a4bc8eb29efc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0241f8476532e61d34b09dbf81f04813825a7f97e940ed06c00e63ae8b3a430a4510039fe264a1fa5858caf025a63cf61713b59ec9cbe3340df7f0b8fd3ef3f07ee14202198c2e030b301a044cf41047a1148962ccfc781dc9ad2ccd551eb8dd22cc3dce5fb8b4da034cf5855caf9938bbd55441eb4850a64e258a8fab1a51002d3a37c65b74c20cab0366f5b5c9a101526b0ef9c2c714197987d83a9f6f795889f4a76c81c928e841b703a365bd03c66a242e205238d02b86e67c1d66812913e15afa05df44f6337907ad034eb93be580d3c83323aeb2cf7aadb5291276c9b45384d0f8c2212fe06a511210036454d94ee844037158e43cfd5eee60062b842bfb8bd874954327ea6cde20f153039c54ceea627628d66fec9ae478c22f83db9da511e0b9279724b0f207d5e34ade037dd451135e036ea2d2cae3e97aad48fa7cd20e2764582116814d1d50703991af035379fa53077d882ab2fd0e45f869a76304e998a81a4db5148bd0d8e2965f6fea03081667f2518fbdaeca34d6ca0730405b3b6fb2fa7e1facf10a65b42af7faca9c03c206613ecf556fe14c979d455556ef02a1a48fb6d48ef86f3be8523ff5e8af5103a7782b11c54f850b890155f66b78cb0b793de93abf3c1034a0564c8f3a07d1810395711c15127836b5ecfa6f2f4f96b75c9f79304cd85200f29d24c4a5cd67ca680219ffff03eb65e7a63a6b41774b301795bbb46873acc0dfa5dd6d5956b6ed21d433d7fa7a038612218b041217d7fa5665da7750bdae0b159527200b3771d982857e84cf5b3f036ef08f87507c73a894a636854f1c67973ef044e2ecd1220d265ca4b8c0d599ca031e9db6737660041e9d0d59cd4a3b7149e7050d6bbccef1bd6cacd3db1dc22f3703f67a300958169c486201e21292c5a2f605b20f187c51b4a867a68b619bdda4c203220c397444ed884c97653bd165b20aa6152e0a0cce3c87d7a4fff9c03cc585a4039de81aaa93d1a7d8513aec11950a440db167e3131e86a894efc4ffbf01b8b2e9036f3185baaeabcbb3eda2bebc58ab677bfd163a38cd79a6061b8b0041d57c09e7034c686a145a8bfff86360eac16bf1fe18fe29b908e6426eb075b798cbdad81da9038dab74c028841362783411f67cad9674b915ccfd17c0981a56bccd38b8c634f4031047d09777301746fee935608ecaaf37b9aaf84eee5aadb17b060cca0be2b9bf03eba1b62fbd202cddd27be321a83513242469a70f11a1796e9edd603181d3a93d03fbb4e5a6c0f61080e6a4d0286490dd19c6dd17377e1117499658d2e71498076e0219ffff03be58eff7820d075a5989f0fa84c94b31e1a160fb3a780fd11d86d3dee14a94ca036c40fc580090c68ebe5d4e602756d1744e830962c6bd506179df8e15ad92648b03b29c365f388abfe637458022ec80a9be75a2eb6a61c4ddc1d675ed083ee767140219ffff0315c9b5dc7a1edc2874749547aa1a456cb4fb9274e075e993cb61f6e7d74bf3f70390296b99625bb539facca12ccef53e5ca958860d242169a14057ff91a18936b803445e281305b137523156417f000be7b4f8843cdbe659a43bcb8c9002731193ba0390b0b4dccfa11313761eaeda7e1ffb9afbbeb797d244a25e6442f5580d985db403d119fc0741195656b49e276269c6560315ff9c89e311db31a77f8f5e9c5ee9b203ad8e58addbfc28b5490859420f24d8d92dafe8f35c8e14618b0352d9b0abd3f603047f8bef672822f64bedf82696c7d16d41769a0e53ced91b1136afadb1775247034654e20b5915e027ee59f0f876edd014ccbc90da0fee6e8396969ea6b5bfe9e703ee97ca6f7b19f894b95da710198008dcea6d11df5abc97d980f559963b0d5186035d9a3418ea44cdef8e513aaea83c8432312d1832513585d309ebb833369d94e2036641f0b1f4c1b453c3a70aa51ed6ed895ec2c0cd32d30030518f26bb872d855a03be2df4ee5b227e21ec4cd852685aa54320298c69142d96e0b6879cbff1dc837f035b1b488b1417814120353738602fb4e2715e2a3bfce8d362d3402fc635a4a58c0362ae348c173a8e942a33a5e6d5d7dec2c00c6e8fe3e508ec307062c32501873203c3212b0ddbb15bafb7060e4de6938ff856a827f66cdaa66be716fe7db7c93fbd03b82abe80e5f509dbc75807ccb8fb53e4062d72b34f812ca815b185f5719f52440313069686fa17ccf0741e4626b395fe0fda10dff9d5776e8814d1f87a616dec74037680b14cc7c7e3dc2001e4a27d3dc4e232a4c5f581c4b9dd8e87153edc845ae0037bf72c4e2b7847489044ff83511bac06f09673afacb25e81d8263aa6992bdfba0328d229e1400d0a79f5b5f3eae3bbad8eb6f2e1d1473cc0cec284fc8d18557a450312b94bef4ef2ed6adb30ebbdd483313b2df8146aa29115abf9e9c10fc8cf9bc90397062da1fb6a8419f536cae5939eec64e35140819e15fed2dffb4deb97399b87030430a34c42bd6493fb605682650e3be6d015725cb4d148d7674f99dc9319ad7103be3fd613387f6b2a6f4782a9d22ad2331e26882fc22fdc71986a228f2cdb313703e90692c9e5a74cea4a605d44b8c5c8d8d1a55aab61fbe63f43324da4bf8935e20389c8e07666cb02b9987983f4783cd8a0b3a25987af36219b255bf04bc011ed8300581e02a5013dd8d4412def81e9a11556633bffd8e9c084f10ef046ecc63187274703328b471c1e4000581e02ef5a0a1bc1c5ba8211af70d0ad555aa1e172cc1555969d602862c0d8bf446556cdfa03a369380b7330a44914222f3f3d4ed8a5c01562c75c2f378553fca4dfa48ddc3e03f017e050dc795a937ad57c756c9f7161ed2448a7ae1c2032677cbeae733a854b01410900581e026dd67acd1c30ee72e238de7e1d4adef3a37718030113d050b5e4eb91254cfffffffffffffffc957500fc02193230038e1106d5c3c8e4a3ce00636120d29a67fb8f4cb01b5fa00d967d865b0e55a750031ec80c5e106dfa47692f0d4a944730271a3d06f923234a8a0d3de5fec42415d70365f69fb8375ec6deaa5798a49869e7405913670710d982269e34c0eed632322603445537774d19635523f1557323db98a559f6fe0cd3a2baed91a7e0696e31cca1030c2d31758b492e8b292803d3374aef075e1ab7a9c128dd6f66922dd7b65e36dd0353605fe531e0badc671a1ceeb6de9f94b60d0718fa5753a3cbc659e99e7b092003e2a29888ea76d853ea35e621f9dea1bc7c12da81cdfba926b1788c14bd982b2303fe277a2e043b99d7d2579b083d058e611e0ea3602f0c0e653057dd1eb32c479003f37f04fe900e48de0d3730e5755ede3dffd0361c1bee363c92ea107ba6c981e20300b0d85c5bfb90a5ffe2275607868a17b3b64990fb3a4456af2e4716ced0c515036d97ba5f577b5bf01bcec350b5ff5fe088a76f3ace0fcd979dc87400fc793c85031e978a80018d692d88066b597f288b55bdd2ac28042da160ed4a11dcebd9cb8c0219ffff03bfa776cbf77a82cb811ead40bf9f39829569a88fbb7a78957d6aaf6f2ebc960a03bda33da01d3ddd85a0d49bf2e517e98e9e959565a5e2d2944f26f07a1ec4ce230219ffff0346221ff1cce68d27eb2fd42530ad0c316ad01fed57ec01041a85549dfb7f2336038104a30a5f10648fbb84ea43bfe5006aadf9858159b8edc61dac00b912bfb32203fa505c91b81ce44390c029e1a2792f6dd3acaea45e79d3a62d9462eb5c4f392d030413467d2b819d60d500c19425eb7e0bb9f8f70f069e7efad4cd6f9230ebfe500327bb74a9592a7fcfc79407c62e909cf85af443b0ea7f1c861279e1299f462f410219ffff035d5c685b6199e28b42f73190cb0fea80fd6e954219299060baf0534affd46bd503a3a4cc17f5eec9fff889091f530676465949b63396df016ef52a5ad24ed69d2f03f6b8b4553f79a8f189db92ef8bb0a802e7eddcf40edad8d3048e1e4b839e34dd03c7018bb7f78c8b41ddb368751a32ac298453e3ecdcb8e233cf6441f734e36964036bde93618eb18f35ebaee251ba44bae746d090b3578f8838cc8918fc6dbedb97038277bcc5ce009e3378d54155b77b89a51545cdac8aaac2b06430b43f6ee267840372dfd616f73d3a0122923eb222211b2dcc0ab7a27e013d53e569cb02524925ba033004d28849e8fe4ee445aac6aef7444b7173ca221c5e7d0d122db8a5fe2ec2f6037547a63bc366b683bb45ec202168c81cad3595788e36904dc90840dca0667224030f2d0e9ee1ee14253cf32a7a2ac7af0bad2189bf2e17615e8d66ef16c143a2cc030d705b615f8814989420d148b1f944899964eb4ead3691e458ae3ca895edb9cf037adfbb323c14940605d96bd0ca284fbfa4d342f6ffc73b40dd5d56709974a65100581e021167d5252eebec8f493e497419bf9a6db1f340026376c7eda0101f7de25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b7179c6bcfd2a5b6ac48f5c7e6979dce2a01ea1c9a78d3ef9ce22dbc66429c4000581e02adb648051e78d1ea5e226e3e07210b16b28950edfe97dd0754abe0346d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fe148b457a492836581e025988d6af77b047e8166b90f67ca8a9f565ed5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033a18ab73838c3f8ed4495856cb8b418fcba26526ad3d8d1d9e425c2ac72c55e903e4d10124f5c20fbdecb2cf229fc15207fa2ffa167b248ceab07a7ddf9c70ba3f021998a203f9d2dc78972e7fa9ea0628eede92d603f659c8716dea08dd3ba2881a6d146d6903a73091a9eb7c982f1449a87bf3de534415d61dea51bde042970327c520def66e03820b105171ceb9f1c96b56835b788f4f8cc981858b3e618ff60133e7608239c903be91591715a2f8462df875268ccd66401d40b300454f2a1a8d0fd18232174e160394f3ed4d657d956e75f7d5bad2fee00230bb9c3f099928fdb7528db8d784c52903802c67261ea28bd37d4d5a31444019d534c237d265d5f01df95cafe5cfe5ab3003ee10358ef6992c14490b5add17438659a4f24eadd6ee65a98d2b9505e615bdea03e05b36c437601d0a1d709ea377dd9fd44c78a2d0ee1269a086f9bf2c5da02102033b7c6c79569195dfc20d29793ae6c014bfc4cf60a013becb08090506c0e1f05403de067f9edebc1be3a0a117d26990eae176cbf44b8b72c99181f64760d13b0b220219ffff03b6e29547a351ef9c74a4629cd4d8950ee06dc101f9dd0855d15df5297979ea7e03048be12e0bebdeb8b25ccf34cc4015cf12240752b121d5f1d8772b95b464a0ba03f0dd3cdbbc817af4fe588ec5066cbfd70104e56b064802f5b8e77c44fe530e5603bf3d57762b74e581f9dc6ba5bfc3741018199b61978687eeb738b4d5a4814e2e0341e2b706395928a4c4815bac8724e16bd6ed371d4531a7733562ee26d971bd80038786493a20d8b5eb7373f1e1bf5c426c36f15cfa51d43377cf191ebee7ac7cfe03b7c246f9ae66578d447d6de6b1d21b9ef9d56bc70eb895b9c7c49585f2dc9e3c03d35f368ea5aa724e39b69510c01b422dd4c59122ada7c9068cb57e862dfa36e60342a4f9cd93871bd5ef0db7a6fc7198656f4361ff8e3c06e1715902e36a26341e0219ffff037ba8029ce6456d70912d461098c7a6fe5fe640b85529ed3b5b647239718c161c031a8cc0fb949530ae0f1ddf304681c4cae118941e1a9214edd06952786716878003d3a7fcb773ab40a6dff37efa30ea957731f322cd3b584dfbc06992f522d723a303610eeea069a0fbabf10abadde8288b3f25c5980bf07ae8f268db06a3506ac348036f941cb85210eb16d5763d7d2b9c8730a74c925be12312fc056faa0b65184a7e0303d8cab56790632e4a9569d86a48b04b031254a772ab4a4a0886464814dd26750356eb4143a97192cf15e2b6361cca04ed760915b5d59730b44ebed61e250f842603c42eadbbc5fedf5686096a5cd0dda2b747fe875aebda7fbbeb8581d2586a21ea03e664376f94b80727e8501a3a7d66c28b3621db9949792adb2117df219ce74106037054971e2f9e435181ddf8a06e746b0d3113d974a72b1c1d405465de933b72a303539516a7111e7fd1f967eb6374dc15cd38f1dcbc49ed4dae1eaaac870cf4c78c036c529cf179cab1ce8d2ba14ebe473bf044e9aef60b103164c6c35f1dbd1ce0cd0306852606005f776aefff6597c9b4cf33d0e8fd7d30e22880b8a852bb9813d41c0381d67128894a6c25719f277873521c812becf60a115e9bc000116c9dd32fe3ca0313351eb218e812ad35e0c7911d1823b2586350c524c19bf3987121a921ed62970219ffff031f6548c30fe16d049d892d2c4a98af3dadd50780398a502f55a44feeab71f49d03bc3da3d7359c7b7c503ee37857adddd4da9edd4e4debdc380a03d7508e975fda03fe07a44ac6b08ff71913283063fb1334c25acdd50ce328359d6d6d328d675ed9033349457ef5ded1eb7dc81a723683db65c5ced6e84e21a1faf67a28abe181cb5f0340e0adca2e37bcf30700f50159c063f36ba4fc9ed4262c94e2a2ae09254ab6a4037be90f4ccdc151901921bd5bbfad9285e55712dafc193c77ad4032583e593f4603d0f7032c464485906c4c2689e32ad64213ab4e8540b9a08f583f4139857832c40350b86a39f293f8c34fe3f4fdf2c71ffe04f899c2a44676bc82bb4510e7f336a003d6055c0803c6f7b476b922663d563a2afb8bc02ec2935806fd837e98faa8183c030b41d501ef840a27982635c4898eb2245830878e9fdfcaabc9567a25280d38cb03c7088aeea11eaf459e2d16b90f6a2571142c4d670b463937e8756089440251f303a46ee1e6dbdcfa4e536e287f138330018cf46d1f4e7dcaa84c3dae9f9fd2034403f91f5eff83263b90f5eecc5e64b7d1c2d7f73f0e776438d330de35964b2cf18d03f375dcb1fdc74c8fb471f30fff55dc55384a2bd7a27cc5899514b79044335c1203f79978c632f1e808b1fb9d8f5c312835ded3e3ec62131edda7064f2d314657200304457461d0ecf49f73a30df07cb3f259ce5ef8c338010a1d5e57664b008e877f03bd53cdabb10529b748e4f79dbe6f7fb77d8e87bd7f88ffda2f24160f3d3eb4f303ad86dd643db6ca4583f6be5b8be8fc480770a04e1275756650f791dcfff36cf50335b68eb2d6242b9d30a5ff1ea0db72f38ee639d615d75f0f4b01e08939d6dd5e03946d4be7fe17390642a40d862d9a00f5595261aa68cfddfdb822205008c788e903f0729503b13308afe4f179b75ba7b7cda46506f6d687eeb792d4e56303fa878303a66603c8329e28971ef8af2d0505fa435dbd317dd86a99ca178cc11306ba353700581e029e6d5c49de30516cf40c42523453df14479c1a5f005905b4649af3caec495562504d33a5ae1e0000581e028e12377c1397c5c29e328b42e4c6a22057d911ccde7c4bb0c5ab8be31b4318595b00581e026f18ce7bcd17879f2ae0b1168702b470ccb112a7665b136a0eff3ee620440a1077c000581e02d54e7facdbfdbb0c358c02d34ae0747d731f2a2426d6dd053159fe96425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d592d5290645bf7100d98c0957d9b2f9883c082fadc86857063104141d4405effc690310d68c8203f28a1f4a71e502218795013e1c783ece98547a6735b97151a22ac900581e0281dfda95dcdf1ed409ca539db83c5a6697baa10a6a5d97de256a3a437d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033674e0cf235c5511826457cfd1907b4c8913411a7c0403b32fce96570b9cd2e400581e026b4febd1ac830a45b21fc047f2f074a8d16e59db3080611cb934a504b24401b5ef2200581e02f686a6543389e9786f08e614c97f7c7855ff68581e55c221e47c1f7ff741470219cbfa03fbf96b21eeb6982c9ee433439e958ead8457ce1aac163b86d88c1bc251f43e0403ae698895f41c10eddf28ff70604cca4d944ac78467ce63bf4c9a3873651ece69039bf534f9d784d09ccd4290ca8d2e99a2e4218708b3cd88eb6f098e29c4a53385035f45ad7d8f3531ab84792276c714f2c3b559b2bd3c073b946b1f6ae3a06d69130386167c512007b7b257636c0095acc7bafaa07111fb61fd8e398d0148518cedd403a60c74fde6e32c604aaa198ab424e1611b55abae0fbec7aac733aa6c58c49854034a89750ab08ed4f5c1a89071c689fc4311ed276062c35b050ebf4a02e1c8078403de71cbfec31da9e90c34fb63636d75ddb130a4e61dd05d6868a88c5acbdea8d10219ffff0337bb241a056dee8beec9b365a23d6082de3db066ef9a4d70830b5623252a47bf039a011655b809d36337cd67f70b63b5634383b2f1ffc6645821029983e5fd6fed0313412368609636e26f36bb9b99f14dde21f800b2cfb84c19ec9c66a76a0b6e1b038cde11c9fb7870a4c846e6583c4aa29b7eddb1a2f95b89640d7b1a987b1c8c47035612ef72865c575891d26bb47321db7d5fbe1f474166e2b243d89810160a35a2036a9649f08432e09df4c2d1c7c08c4d036580e157a21731506dcffb597462480c031a94534f10e0d960d9bdb8308a660d9fab3c0f6c9ecbef66c7b642fb724528750323a311fb6420f9c163895cce016c43be5b8095c22f7e9227da2b86c409c9232e03672ab92521bd3aad2d4d8ee9498bca123c16bed373c21a28608251accd3ea9ca037f70eceb860f89f03119ea53d7d7dd29f91325dc773dfc65d8b3f48e817423ec0343fe8e0ab108390b2a4a06b84ce6cd57fdfeb04cc09a4a690d459494949f33a5039c4933bf26af64ed0c4705e6ee3a4507f5ae7cf5d93ac364b0d316854ca1b84203bb325654b3a1790fcc5797bbaa1b8542602335f6ba344a3539e0621669ceb681031320b0b8aa2263f561ea1deea4eafe789e75c4017ff2598348d9a5b2332a386e0219ffff03b962e596f25370c0e2eb6fdfc4bde9bf67d7652380a40eed50ef86a01844bb0303c62da51a56aec49721b4cbf62528149283ae92feaf83ffb70cd258bcc158b1630219ffff03360f4dc8873efbe63abdc3ec5963e2aee4ebc3f95e50ce27eecb881889215b7c03c90634ce3aac034599c05cabd78f94aebe6647bd74c368e192e964d7b9378e170380f78ddcb4903913fafb96bcea31e8944f4793846d807b73cc01f44f004d8d8d03ce8358e44fe9a84ecb294785d89f3b60380883a72f9e9fcdd4b71a9c2a1380a303411ece0f367f7b7b12dc0340579e601aad1a118bb523892054f19453b681f52803e7e6f44045cc60f313d71b435bacfa903a78820c6f67ff0c05a5f7c4f87a88a703b4ce179f032c4930dc63271c54a1a65d6413cf091054c95b8397639eda0a51bd03fab533a3a408a19f4136e706d67fdb00272c2f6d548b797d67632f9cd3bd8d2903f44260fdc17fe2ba9ffabbd379be70898d4ff65bba981f5367dc54766c544ccf030c3195c4656bcc236d8169c0c268effa3b58e9b4992f20121f2b66b6280c512e03fe522d6e739651e2665010e235981d3e2fbd9add573bc2b81a116dd2d2a8dcf703838e480f0f8bec5e19e4ba4891b18ac7b1d9f1aca87be631f8ccb33d9704108b0342927410a30ff7e3581af310fb65257d4bf6dda3ad8bbca5e063f21cc7f568f7038dd04d6ee9d4c4ee3906496cedeb2b937367a02ab1a7a1cd9f781daff5e7ebc003e874dc0434b869888df472087bf6bbb5adb375998127f0edaaf2da038ca29ca5032600a7df745f59424adf5cb284da4d047a4cc791ee7504e62c40e0f35f551848039b7c5031d13eefd6db9a19e244098d3d2f694560d50558391764d8b825a56a4d03b32ff6bafe06c1f50a9e7796ed001780e56372cd26a83c5e8f5d5f71b64c88af00581e0296748454ed18477ba2832f4c33853b3041c1066ea675dcdf1b34b2fccf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c85c4941d31458ce508e722a680d6c25a6cbad2e3450d0a9046a6caa0f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e66b9c4d49cefea5dc8067d52107a4d815faefe05e741eb2768d27470e410100581e023ca3e52d3ef7ce7d15320e1d622779c4625a2f890d6b4cac5e72ebd51441010307e1c67b852587127a58a368b75602de8575a011d73279de4c4359ce7ed4811700581e02cfa9216c53043a18d17af12807138e13c11bb5ad0133fcd88c595bc9a6581804140c78940f6a24fdffc78873d4490d20fffffffff8e1c50320c73600399396cf503cd9405bf17752305c47eae0dbc5b0cf8dc4b4e4efcfaa00581e020868d54250fd47fbc38851e135c36969bf05f84cbc13de83d242b372cd46029ec9b963c002193b9203a39acbec2ab7b2ee66fc242ece23ded10c8b39308615cc7bb9bb01de5c122220037d5a73ba24a0f53ba2b723558c1ba67d2d584355fd36b5c937982d1847238b5f0219ffff034455e9531656787eea863c0d04296c3db4ea2f714199ae335f74d0404ea8752c03ad9be85a465aa12e99034facd1648237f1791c7bc3b7b0c2dd83e3e2031c5412036871dbd47017c8470e8774398e919cf0309f29510cafa922ce7906fd98af1b1a03cbba5b3cc4074b7f37c7ba075593bb91de2d9ee66164b8d1225464a879676d5d0343c0622fd2d2dd7440f094726ae6ac0523c90f900a3927b743c742ff45d3d57903d26639fe040e3c388fa4b081bdfa8c8d0623d18f7ec2fe35619e065dac52e45e0315160930d48c8101bab6869c54dcd6f46c41091dd7b61708efeae558509a653f03d06d32773e4c370aee2958c164836b2c286b4560ebe6916d7721575fc0c75380035d71eae18dc17624366ecc57af7b481b8e664eb340ce4c84c142ebf20a2589d30332b408554b7bccab8294e07a50dfe08eb6c5616d28a8b1b39ebb45e58b71b3b1035eda11ca8d67ad827e98527bc29825b6e2a1ae1328d40f0dbfb73b1763df80af037d057f7657314403f5ed422cbfe804a66159aaeade9b1479b5e1fdd753e1432e0219ffff03a63e2a6d9a66a4cf8b3a7e7afef09f04e04de4896e50af160e05630b9665caeb0363bbe5d97deb9ee89e0836120fde060151013be60cc1cf11cb5e94fa056f39710382853c14a0b7272d7c9fa2c71a4bbff3ba12654afd62987742ee85a4fa169dc303bfbf192605263f3f07f823462573938f3cc90d1f36c833575c9a54167ed534e103b0c6cfcb13cbaa8b45dd384924cae7e115de0aa8dde148ac11fe11383f55360b0376be9dc2248f571c01255696d240a070cd5d3c70ffe4d55a68c9e94bf0674f8f03d3591ee858bd61f6c549e29af0a9e0034da9dfe299b610d413161d5a9decca9f032c3b25dd5468925bc7a88b74aba08748cf464859a3838a5ef69f25747bde725403153c1343c56cbfde8adf259a69816db3b6aa91cc95543ef9a695bec92a21f79f037bc7b789c594768205b947c0b665597fea3adf41b1da358d6f445223418c11d403da481363dd35f48cd9d6575c36cfd6c2efc4fa78a643681889129b2e5aab636903f809f3177f69df895f6c5334cea4682950974a8aeed430e903312d82b4b20a0d03f7787cb3592c0f8b9c76ca961ae69e1ecd8111716431b535a76513b11fef7f5503875d675771e2bb367220576fdbc83806d01163f791d8d3401ffd9987d139ac2c0373447f0a80571e050f82d8f4e7e3353b7b7a423163bf408531a72f7f1ac94e3603170717af8c940dba329ae060e9e57279183db1300268478741dac2463dc0a99c0396a8e2061d2b369f6df53b6664ee4516cce99f62065657dd778a0fa614539f8f03ece1ea1300fe70984b8f8a090b3b0e82c61fcbe0ee069e07e41e1b1a26f40fae032db08eff9665869561b9497dd1149394916576a8eeaefcae943d5343f4f9d3fa037ee085ca26963d05df61a469ae6e0a29a64ff380d03efe9c4358c77e1a1b9408038ec69483166bb3453df6721cdc48b0c8d1ca68089c41bb2acddcf14c1cc00cb6034095b272f839b1532ebd601452934cc1cc3153c6dccf93c3b95ad4b5353bb3e8036794b70351c99c995bc1c3188d0de65152c597a83a3556e11501767f07a1754403d0b55b9219b18520f6d355f410d39439b946fb399947ba94d3b01fd31b1fc9b50383912b5cdba977a20326f66ac5d4d975c05aae2c4259bc32b3ee4f77bd0853dc00581e037134c5649638bc64bf428fea069779e6929f8d936dcba6adab356e49905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e036a81782b8376782526bdad3309f97c51cc0559cb573708a0f19bc7cf30434c4b400219100100581e021eeded1008ba97423259d00a3b407994eba1f447d37833615ebd9d689444173eed8000581e027e93bf948adf47acd52b18b44e91bb669ef75c4d71e6b12d34e531c7a55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ea176b409e589f3f2ea3a2df71a19522956f8402cb5dcf37f07e5aa2e9410103030b26472aef7d88d0b45d7638585d840130df84aa7dd861bc468fa138bd0abf00581e022cf8ee7e99ea86090a88d34fbfb91b856defd4def657fcec0fe05e1070411200581e020dcdc589602d4547188938735b155856a21ad663edd29cb47d1e00a7a343989680032be2a4bbd10d63bd632f3f6f50a80bddbc0473ea60731d0effb2819e02603de200581e027921a3fcd0b6e2cc55529a7a29c3b060a2b86c280eb869deb191a5b14a43a7d1a900581e025d400ffe6bb5e1848b57441fcedf601bc42fe50a0185732ddb9b6802f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0385a183f95ba58570c44058426a61061f9429820b50dbc64aef7f4bc8ea05b19902193cff03b22bdea5d2d666248004033d1497c566aba8de269994bace426b0ca905260311030ccae6da60346fc9f9e596eee6ae51f61699397cb8ff30d1a57fc5d89d330e370219ffff03be87766e020ecd46fce24bc988717b3b76be2a06467fdc8bfb3e9b60bed7bc3803d7dca3323fa0923fd14aa08c1f64bffc930a7d2410bb39c55d262886d309880403485c39b23aeda3ae57faae142876abd89d8c471785e33266d807179a045e9ad703e2b7f9683ed5169364ccc08c069970f86172c6f092bc29f0be27f206685cb6de0395576d0a057f8c5ec42f74a14e4d12acaca5c6f8e8f28ad6fa0662fa8d5966980219ffff03d856f787c7f8f40d74caaf354d2ee2a22d1fdaf319e4af5e5601d7c1b30ef477037da5b0d6836c7e3332d3cea1c129bfa5b03d3dab7c6c4f74ba36c62280e3030f03bf1fabe61ba3dc38fa4028c2bc8b182535a4c59e3522cd0600b7c4e5c886ee6003d45cc84c0812916ad2ed1a38b85f0cdbef23c6f30900911ff4cacf4f66225ab7036c55091d5f7d17166b54c92ffd39889df5790a0c87a254b06ce99b451faa8fa50357502aa7c18d8752b72ecaffdcbd6e6101309d2d70b29c918d02690c763e29e403878300fe4593f0bd3746c1892e3e0e110d9b43b0c17a060918398281cf5845d503689b5a90ca026d44adefdc6ee771eb9cd67c2d0f404955224e1d9055b35cc05c03236626acaa62b64592942a417b3f6b55c29ba4341e7d0135334b928698536f73037073e54dd80b3dbf76443b7823bd8641f10cf49b5b21cc39fd13bd1ed624d48e00581e0285508bb4f76543a201d916ff12b85cc99678524ae12adaa11f92054553410100581e0209d7e4b57804252e5708a0a3f74bb5f3f68f488b4596c2c7aa907ff7d25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02433af8c8459348035e41309e393399ae500bd7f4eebb886a0f8de5cbd14402ddfe5800581e023599b2910f448bf070969ecce0d2c041d2601b7a1ac81d4d7061e4a9b3410100581e028746cacc90a691ace1012068f777eb14d588d1146b2a9ad3f8579a83b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024ab1fe2d54e2c5d8ec5fe367403618f8b4d9e96b98ade094a8b868541d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0386df9f3a6d13bede2a839bd1e29d26045f052bd4a580c2622c6ef9c0f84fe00100581e02306ea1264d014027285b2545aa7927c0c56b44acb370e05cc8b1c0d37647038d7ea4c6800003ba485916fab52c957219e7ee106bf384226922af5c3ff5b459c518a2fa53db3801410500581e0294db8750b2647315a839f34ebc8d0b94be9e5d2ebf89f5c89d25beffdb43015f900219df2a03cef91216bbf05013411719dfa21fdeb4fb2ab14c1bd36c27bce9366bdc33b9e103f833c056b72ac6fbfe7f0fc6a558c6e7c4335171210e54188d745bd7fe012b9103f27b84cd7d3f59c1d41ab72ef63f36f2ec96554d2916d0b1e74654cacc6af73e035e4ebc12ada366fb5cfeb631cf96d9fdafa1d950effd618ded3922a55c184c8303492fa5dd645d2390a0d2863e083af57ba1f66394f1fea6b7d4212c496a17eec103ab926b0e04b6f5221d86276bc3b329bc5a36be6ccd99274f96dd0c7fca45e569031d8d2691ed776f4341c7876663beedf790d90022516be5c82616759493211f8903599b967dff793ffbf70a30f82dad5d51b0d7d47aac5d91f85f385a62d0bbb8de03a0b24dc2cd34ec5a3d621fca8f89e1c7628c628f1f4a0669d13932cbaba71b9e036a2de0e08fd3359d669c40c384a1ebda61ba8b32ba6e50fd86fbd4984f64c68e0306453b999336c8c7d01425e31765643da79a82230031b1e32687891eaa3fe9f60219ffff03a335ca0587ae7ba65407d09ac04836f928fe3b04e55b82d953a83ba8511980ab032ac2fc0388f5859a145639f8ccfea7524af2614b93355744f8fe1449eae9544503d397568cea55ad98c8cf6c5fd749f19c4d971d7d956df9b7845d284eb7c010a603032f8b76ac69ec1257907ded417bb8c7909ce0934b38a998048b26baebe0b29d0374258b534a12cd3328a9d18eb5b5655f2c4fa3450a8a76a76158de9af9c5479803c7d1015e38964915de3603b01c1035752ab011888b2a5e8f4f6c7a0a5b534b54039e56c026d85c65bbd1c7ade3dfaf927c5f7d116eac724f3c4b43f8b0e6d3bcb1031f9f348040cb4e4d49a6e4d4c3211b6f462f4d7fc35b8874fa1e0a3162edcefa0311801c737e445b9d7c8deb979247c5d048413027505b936c52bd12294f0d96c203ebca2aaa0a1d0f0dbe750bf7ae23cdf69f2b9ce44aa0102ac1b73fed3fcc9ab4032ecee6c388661c358aaf4fa29a923f3ff49c11c5dc06fc1852b0d031058b337703d85e608245b7c4a5ad1ee02e5ed952b9d977a9660d28c649e22b7b673107b4e90219ffff0317c52b89f1a74c4c034792f631b06e560abe896659cec310189ef1616f58a44603cf620a3ff37f2356157bbcd1ef64d8824b5d194ef6720a91b07c3dcafcc8c89e03f81f0a50e6604a80365e614f13329ffdaf6e80c6fbff700f5f5201238925ecee036f4c3056c2684209d402c8ae539b4adb0b674041f9c098ee075fe34178715ac203ee20569f01ae9afaeaad020e9425a518637f31fe786923df2f4f8dee41ec0d3103c1de2a5307039659813628ec093d060cc1f1217cfbd91cfbbcb0f2209dd0092303cb57f960b0a0821a8e7656836b0679155b8199e566e1085d8c0eb15531cb56b30219ffff03a0b94ec62a8786e73c6a93acd55c4bb0200b2af2542de86cfd053b57845d3c6b03d1c4f5013872f63604d0cd6d65712837cba1e9c955d035cfd82da2bdb503e8e70367c27e60bf5b1fcc7f76b3257f63b4e91f1732bcd0a128a37f45c3e66222177703348e23bf1fe0caa418af7acc4ef51ba91795db3c85c75fadb6baea1e3f896f5f039d659c12f8c3070134ad791bb7d1a189f4f292da8416513911c6b346bb77d98e03809a8b954fd661a799bf7c5e192a80371c41f97454b21aa0b53875faf935293b038a2cbe4da4066aa8f9e16dd6fcfd3d388617bd76d4d4d68333e1aa551a9fc5e703b2e1f8e71eb0b0fd82d2dfb0038d1643cf88dcac8531a833208a09f41a80818403f679339945d6d66a9e040b37c5199b9b556e685d6e8d386ac8248f95afa1484e03bd0f9b608c59cbdc1aa0a5efa20d1d490835403302a0df9a1000e43b6c81d84003418622d964d00a0197a76293cffe1e83f58820d82467333fbca253e6d0639966032811b29c0d0e4341c53e013dac7aff2c7aa26a2d9c88f694417a834859cd121a03636297d42f23d4939e12947e9fbf54fbafd74185e0882778536a93549b18e8e4031726a306be8c380b2220a4e59140ae047f27fafc035de1bd9ee2e814ba8b5ef7037dd1cfe80587c1a17e32b92b09cefc25c2f13f8c2306c7467a26011eacba714003c73ee9589c14d5246f2f99897664eece8f9c510371987296472f6e0815590c5b03d6266bafd36fe9b2cf6dde508b61b0423dca8fbc01376de1dc92346e634a046503cbd1ae636f37b76efb03154605a3f680cbf861bc80d6e82bf81910099f4a8ce40338a1d2c01716b64cdda3716c3678579e6772a353294b4fc945083bc4b34d4747036168e3833c1c2fb18069c549d27f48c2e5a16678f13f2bc8cd835b4b3aea39d7033d154d37a8c560e954d7cf9e02513a204fabc5d337fadba6a6146d9760469b6003fb69a24a559b5fa590e8df3f0204c15799a088283d3cec4c2a6c3ecbf6cfc2c20383f536809f1eda349a5b0d9334e60323508f7e1b097cfc26743699df4f45265b033bf6f4b370f8fe5efdd75ff2ea43b47d9a56d16d366773aba1832af41b04280c03e90c2c6d7aac1d55927fd08e67709bcdf0aec6f4d65cb219e828549944cb19f303e15a4cb56d19247ab00a7d96b158543036a38a751e2faef39a3977a42a452fc4035c903c8803fcb54dbafcdb2b2d1a9e152fb13cb01c86bcf738d204afd77e45f4031bcf4bb005fe3a11fd30eb3f61e189b30e483ae88dc5003dd20e1ed8889abef403ccbb401f6c3942b5980647678135615910fe828ed7f1aafc871c1f0348db865f039afb9178a4c9286cac7dde5f1f9e577f11e75c71b3a19c65df7071d0679f0a26035fd9fc224f395fcb8f304b4e63fc806d55ca2b8a6f2b874ca7abe745b8b0e63603e23013a0dcd90225d0db92703821b613e029636ff159ad6abba27c405ca075cd03e6f2ca3bfe594ea0c3393eadfd0b39baa6bdd4cc0e84d55e6e704f4be5fd15cd030d49a110a59b9f7f6c2a109d2cea3692c07b7f35bc706408f41722ecc86141ce03b63b5c016cc8af2c06e2f1208793d0edec12defa9daaba22e4f7b73d44af070b03a304c5d43b23cff7b7248f01ccc17991ed68fe203c23df5f7ebf0ef8a0af741703fccfb322aa6950fa30b89ce89aa39f47a4c604c66f796a28314ef749182c9572033134cc23837a77a1d7fc39dd00756608f347e343e648ead5e0783f4ce1838b5803599082c67815988d6152fbf2988aaa2054f7d1f61ef8d1d879d3a962253f7ce100581e02c8ce85bcc272d825061a5cd75b86d9728b36f73b436368fdd265a46e51440465fe9400581e02433ac7e8cee9a7e953d32369cab7858776dd6371a6bf0343c535b199235820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031396e4ec3b2750a7d56e4111e9ea581abeae6eb885242a482c1d58b69aa9e97100581e02aa830d54835dce7817899d953d45aff98c76b4270dabf4c69c07f29eaa410100581e02efa96c79044af4fa47481bfcb7490ec8d78776754f45d77b333c6e228d420ba403239a3df05bd5fef4b193541ccf945026337c4b80f9a01386967a54cceb8c9b5c03a0b973ba2643fbbd920bc9cc31a44085f2fd6ec23a67a5af15c96571c5cf81d500581e023a35ca10e4bd7f3d42f2c44e577d94cb80bf7c3c2fe8313df4fa83be8c4322837800581e02c59d407348484990feb9de660e192da61682813f8a73cb13df48c19bd1465af31079786400581e02ffd1c35fbb867f94062f8374fc88042f98423ed286c109bab005c6552944030a32c000581e0242143ea83dc3dc15497618d30e909b1e963ab26d4731313072b72072f2447256e72c00581e02920dfef897647d944b51f69bbfa4240dff8629933cde2327a7d8b08aaf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02abb99baf377acf17db251e8942542cd8d72099eb9941d5d49bfdc26357439896800219bbbf03e4a56d7cdce3b583eb908a7ffe67d71a8d2ed77083ddf74ffcc2a7fe27f914c60219ffff03eb95fbc9460ac5ff711340780ff9f34d04c82b436e31646bf97f35f55d9f461b03c0fdf92add30beef1aec44be878062c70e00916b8a2b9a008408bfe46ad9890903ab580b7cad980432ee0f0f30ea0fa77213fc459cb65a61572d6b67edfc38c67e0219ffff03359044af5a8dc6bf92d96af02db334a66dcd26752dd7b7fb6292c8a3b3aa32f2035b0226f55af9f4d918be5bab14ae1d9f092447934a47bf714913760cde8785310219ffff035377a4d9207a40d378b57f7293b470332a85e8001d33e3d9ee24ca6764f275bb03c172b268874aba5f6f26cc994b2772241417529897726b9e00964a5c78038a3d03b4734876e9f2eb4d2f7309c9068ecaa525f20615701f0a5677a7f5c91c05b96e03efcb0679c7f080fc83c0cdec7eb2e15cf20d57f94acba436c7c12076d47f7ce30340280cb9c9130d8fa05f6ecd77c917bd4c479de1cf4a2d2bf188d4b591bd73e70382a79cd5ca0df3b8c919b43b6db6f157db2ef7394d76321bcd3ed4c902279e5203dc0b6a62a7190486548d3ca2266cf82e7620cc633d0e0de78988541b35f631da035c04cf5f3558c91ebe834efab80c626e75720e8fba036d2f7679bde265afc6c303d40dc4533d3e6eea38c5a45bf80b47fcef0a7b03d7624ffc5dd61a5177f7328503740465455b44700999735dcb857ac4a85cc88a3f2fc9b03ecc4e0dfbef7495a703271f9fecec190dc9821f916b70c2384a7f5ebdfce91b58ccb55243ba7ac2f84103c12739f7f79bd61c2c489c6ad7bfc507fec3f49c0ad2eb5c3273e72d716e88a403e97855e8aab3c47001668cb073da749fb77d659ae864de1a879b67de9ef54d030387360d503bae1df00540cc25245fe5d59433a5445f607f7451da15abb7372e330336eecfa66a85781d7ad32edbd6fb483ee591cd58540ac96469c2f7d1639ec19b037f07c3b25c9702e19656f3148c984b440b796ff4056b7f849adfdb38b3a2bd3903b8b923a17f458e4465d8ea7c8313415a51cb0840e064253c43f715a87666323e0378e19624af8e102d3d82b800950b7950fbdb12d4b388387445a9ded42d1e9eda03473ac6e719a47c9ff187a44efa9f7608b2db96835b46b253e90e2e38e92939370345fc82d3553cc142bf5332dddac2d5823b8d48569d3869e28be8c80bec7cbb7f0328dfa4e1664d73943b9bf687c260a897fc8d5636862a78083ad12694cb4ef59903a54cbb9ad596897770fa869a1e5674621910d49b5e87cb2c13b507ee6b115e610300cdf366a4281b0ea638813926ea61482f90240279f176f5086b4490cdd0584b03664d14904f7ba8151f927278ea6c2db06847dbaec383681c1e2cac1f67625243033331021a7c8681d7d3534b82614760047d95b668b9c7ee3d9c9904553e5910eb03d2f5ed3bcbfa10ac005f0783ac1c3113fcf5f27cbb247194da40c08ae3e7c9100313ce458051939277374fe60be635be0fd455294055ddab2536bfbb4a1923a5e103fbb7af51cedef02a773c27ce43643d9791921cbd8477fd83da04b70e9f6d61d30312a8e07880b1d85bc6c796eac5c1b86540a633a91555447bedd24cb0ebae519a03783adf7a8eb2d81bcd02ee7a78cae9ceb989aefe559518bb517fc2a3a5395216030331f440db1fb21e55b8d0c8b48b535f7d0a8aae414d70eb16c01017e27b03c1031c027b7ecba6ff599d779ffd00b8ed1c464b7922ff4be29f6b3f002c11bbddd903b80cf80bf02c644e41c189db369a93af240bc4721a0f6597080b01b541fcb2a303d031c768936e18d0b54b8e284bf0fb54b742527a538f1cfa4dd0c98a3987fd90039eb1fd9504b27012a1ed39ef6b5d931093b0213c8e1f9992d1662e6ce149a604032a52898a25a1bac7ec72d7c98d8e51be3a5dc6901ce1f3b941b7434bba4fa37d03eaa5d85e32f40837fd771f8c061b47551aaac91723e22a5b29360b578ba4320d03bad8d5348ffc9200098f4c5fa559031a748dfefde619f0423d4691b52c5b7ee8037e2c86a8fc265cf5cd40cce1ceddec90d5a142a9d4cad3ece6d6b1e957e908ad0391510fb961d2dfb2cd3f62df4669b84746cbccf072adcc04d41072d7b5b029b9030397de373021f4cf92705137704e20f21e0f9fc261e553004440ebf912ffc25803aa18924325dc9ac6d2572d434d43f7cf12580e1672eb8d2f7cafe648d04a355700581e021ed1e4774f9a4d8a81956de1f8bca5d1f2b7a7ca6882fbef6292a3d5db5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c4fecfffba3e04d436f8a3311651487998f3d4a2946c23609e01af671043f3f3ba03cd9340e1b2c57c0e81ebd745869100148fefad7a0fad4cff55545dfa2edfe7e900581e02c77b072c236d0e3e4a3303f9660702f6f0ed294327eb6498cfd15777694402625a000219021a03accc3e4af1b5ade9a162835d555a303efacbcdce66cdb3b48eeb062544f80cda0219ffff037d1b0c540c568efa4063e103d5f034407708343061b5219d211dfe487787041c032eedf92465e843fff73b4316fc13d8eccc9e1401c7275d3015ff89f4c98cf61a0318eb9eceab3e5e767bf8610434231481502956fcaab497ac0b405b2b90af9f6d03beeb30f72d46007406eeaa94ee6fb29f5c697eb1c94f09210a2630bd2cc2b6560219ffff0219ffff034e786eee31db820082042f296650cc993bb72db9dc31e62d80d35bff488c0ec70219ffff03686b7028ec016b26f8c9affa5391e28946b6bebc9b8bd5f31dd008cfe96b597803bfbda73be49011ea457e0df67a2bf8159543b1222c5315d28f0ca1686b18c2ff03466885b3b7913f393e0c76aaff0547789717358dd4878f298dca9f864843b80c03f1e5c46ee832c1066a50513d197a996df5b96cd41f358d94f774ab3d91e1045d03a6283d01f230b4532d3e23a47e882d6e1c4f56475736462bd31afdf3fb62d046034fd847a85bf7ee9eb3c694a97e81ec7d95a36d1f1cf57f54c136079f9500e4ab039bb97347963e7c88e1e95e09c6fef50e108533a9f0ccc126b7427209cf993f9103cb9e72898ef32d0c1aa4b52aefae9f43438c4ede2ff99e40f079533eb41a89fd035e9dabbc6d46708acef2cf75dd13c36a862577784af7d50648076ab4fe8a6dcb033b142768c0d5179f336ac85eebd7c6ec21417646a920c06101c38afa25f4131603cde7dd624af315d178ea503baf1569b35c750aa809990633422869b553389cea0367b791b9b6d80dc1cafe95cdc92c11ad478d7514d2f1c122c76a4fbaa78fdb39036214aca1d098ad4b19ffb4eb757d36f45287608e2c475ab68799b156061365f30358052eb0786d23d0155cb02806d257a5924f9eb6bc434bed44dccff87f283f7203ada0e3ab414ef452f342cffd8331e25fbdba0cae1cdba6f695af9ee3894dc8d303e1b1315e1ecb5742a9aac9f6c850a6ca0cb00d0caccd0ca72de0cfe5e01e22cf0308aed9c4ac6352b9899ea7b7d4c5e4195e88bece9042f4d995438b77a87a7d2c0371ff7540743ef1f24d0769089fd5e89791c5d93f81bb647c3d19f5abe670226803445b155757f5d4f77430a960d263472c8ed121675ba3b666c5cc0e1a25768909030b20a44dfc4f05e5353678666f79ef032c1058a9e8af93fc4d579f41f9cb1264035085333524af84fcc7da4f4fd7d0cf671b31e1c61d6dd0269b49fc5cfa0f1252031f39534d153028dd38c74f67a019736bad3452f99ae2362b84c779b4c9820376038dc12f3f416b3b823f8d8bdeb6d5787944e6b2ceb65373011b8d5481267af1ec036354c65dfdb97ef43cef31a92093691a9242ad3386edfc996c23f2a15635f6fc03c50d76002dd4cbb5425f22175e8021ab9f5096a18ec0607561259c0fb514eb16038f6463719888bf5cf2c6c3a0e06c4e9c7cac6c4ec3bd1f3771fd257664cadaf7032de2a4859933e02b82824f0ab27aac061b0c54cf6c0364f69a0e71daa6163c7d0301c2466a9b470fb9e5bcca5c701dabde0bdc5a4373c533d14168cc7e723d53ee03b0e5ecdb88ad858bfcd7d754ab034e00e55555583b271165ca60e2bb74632b7c03a1c7f31a440383fedb05aaef0d5617ee460e820633bfac398c91d501c947c0af035259d5221051bb09b86fb44b5e311a594e939f22646a935cb2286742bce9f71100581e02375e2c7912cc5fb4f546058cce2b353f7b18aa783e44b604b64efe03e15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b35d9d56b56565365dfed18b1b98afcf1a2a8ebb976589f718b9569eb644011567a000581e02dc74b80ae057d24c4705e791b8a77c13e1c69957c74662a661498d65664411cf5d7a036e48d6eb7c184f18320a42653f0648308fe6b0814d6d88e370183a788669a68200581e024478948c18252e9d7e6f044e82485487c8c7aa109fb6c4e9be4c408824465af31077d78a00581e02cd134336f7dea632bdf2ec1e3279197a6987c71a65d38a8e94947ec277410600581e0249403f27f02c07e2f8231a59fa8952f9f4908bb4830b724f9d4cf884095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02196664037782e80697f1e6f054dbc06956ac5c929bbd8766024ac4a1d617075a120b644903d8c28279b4f641b71ba62ebec64254d4f521948d6b6562967d45a2058704a2f50319ee0caf27bc15bd4ad923ab0d788fac74949181b0ec7d509e458350d90d700d03abdea23baa43218c3351283e3a15150e713ba18d31c5d182ed7b0ac340ee70a403aac7fb83717cb076d8be1c13746c9a744a61bc0997de13e52c6d600ba339272903ddd3e6193be8ffb26f4f1699f36ffa0c55c4730d334f09d3591d1bffaf9b39f9034f3e69c6b5d02bd41a35873abc20ebb7997a8e1d8bf617779340c38364fa3c9c036fcb7a97f4999e240074e1e85452af8a58dfbe40b4ce4d0d9efbee8813867f70032b543e8a8856bdad329b1ea6b0114d6bf6b0f571caf6daf6250a78c81dc4039203ae6247799b90f095a8d9a4c330d3e6646e048d3cdb04b890942b91afc8e566f303c4203b084c5e48d0c21dc9d6e055afd1808f22d5551606e3472ff5efcf1d84ea03fd991ea72cf34d590467723f37696035d4131ab7b83691ee4975ed4ef4c5fc760399cfef7fd02cedc82b8d0c310750a98aff537e46d04785091c78d9037e5337fb0219ffff03ba45ed442156dfe535ade7e88e75d4c8d320c455ab0b9ca67e5ad650b83e63470381963303149bbffeed1c5e4d5c66d8ad66ad879f2d440141f12772762920090503bc2af957e933c2536d02d66569235efdfbe3277bf71bc5b52966605c7690f2de0320253114ff7c0b5163d43275de44f04c8198f6d9d6f0424df346d4dce4b14ee003c3be666f586ef1db5dbf522aa59b099a1065305b5defbdff055655d3d99917ff03ed6b788339c3086916377d09073faca6ca9fb19a2ee105ffd4c0184f3dba9d2b039cd69d5c8b81f2e91ec9bfcf5dd591cc11f5be806b8b12a7324ccffc89e2b3560219ffff0219ffff034f0ecf462197c32c52dca2dfa42f65a9a640a7540dcc83e8500cfc35db5569d003ebb05ab71a58939b77552e80703b60eac7a722479a3946ce493d2e6db3d0e97d03a1f68c652b17c38d7b8eebc23bb39bbc750370e8db75a644e19a8009228d98bf032e6b8cb76f83905daee5a89c922feca4eacabf111b787728f81d8d0384120f7b033a4f8897bb51b6eeb1796121c525069355396e85a3b8b3e252d9c4740d8c8151031462036edb14f62c66ffea983ead053e75d1e88b07132ed83af0f27748e3b428036917b73dc4e047fc8a1be8f585ab160de50f35435b605b235f22795dbde895a10366c4e94ac4685550df04b19a7311fd34508a1fec1d126424aa1dbd2d58d0764103bd5b0be3a6825c6bc663eb456f10dbfdd924a43d60d2b829244f8c960c91e4c5033b287ad88d26024056633e07a328c35ab5827557e22914d0fedec08013b11ae203adb80c7d0e267205451639190537c0405853a5f10232821f172c8f285ff79fec03032fb826106b032ebc05d02dd92788d930d3ccc8b9a3b253dd0ee32f3f74da6703836aad56b5671a7e828f653125c0aaf67e8dbf438dd67e07fc1e71c9de653163032cae5bddbb83414d93cba5b46c3a081d91f9fce2e2f16623b1e4f7412f3b67b403062dda499ce8be3288963ac13a1b1ead384530975eb8c346fc9131625e358db2038830e0ee4cb2a23e9f88d746a6a5e71c7c7727b22f6cd4b57b5c2b9e8f506dc703b25bd8b29d6f35ce1d345720dbbcf27e84a363aed2c38b851a950adaac5b047a03c00ba903ba6e245dc783e5bdbd0a21dbadd34f5a97a618535ca3f54b397078e60318c31d5731354277cfc83c2aac1aaf864ced04da79551e07eaa7ebc08963e5b603a1659009bbf99f42f4a23eae892cdc34ebf94fd8449a1889506730edf119274703c4db5921db80eec6561a1b165dfe1a5cf7a21abd5e46eeb4013bd34fb2750d3203cb96f1988c895b962e394a7f0e5e6186c8cd15df23567ee278bfd0c23fd34e7c03c2b8d9381e33ca406b20df858e92ab98e87fb66e6ba089a8418416c12d88e1e80336bfc93d6e641294c9037cccfe107d3782d70554820fba4188572dce7ec2b8b003c5fb8412264ba3749812a08792420eedf7de4b9c3334d011b7a94bb180a3990d033f115ed1175d9ed41f0953b3cb21fc77af510e8f53a607f497297f04a060007e00581e024f3f58da6d9729f3f10bed5a63f8a5ae24bf7de61bdf99251b52d875914609ef478f90bb00581e020b94b230b89c6422998239c1d1fdd1506f91823f063a7e3ad96f42b6b75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0235fc3fd49b5dc0fbb2a12833f27fcceb188a925320470055d38e69d7595820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b69dfccd2a417122afd4b7b64abc7108e5a04419c29bf39ddf881fae98430f42400397a5ab7b0e9cefc2ce783d906f16104223882e36c3c11c962601f8629b61f1e700581e02f7f62cb197a344be22133ab92ed794d4635112b8c7987c8db70c5defac4402625a0000581e0204dc7b4b545964488bc4c3019f254d60671c3181be9c198edb685fe266433e52d102196722036887892e920692e032d016d726093c4987082164e4d82d76344214555985c2b8038e82656431b985d81e621984c92dee6c43b050dac7ec5ee1c2efba3d1f22ca710358bf232e26c022bb61d37ca9d41aa6a902f5e38993eba245b8f0db58c1c9e40503c11d06625792bdebaba279ab3d58235c67cd6d686b7fabef0f159493c5ad075a03431fb5cd43a78076f9b5810d5d0fb529672be08a0712e6673e71b6cd6e58912e03da05cb7c194aa4afa65ffa4ced070824963e0eecf677c86de5218cd40b8945b90391dac71916077140c90eb005d5177138488e901c14e2555c45e29eb2703ff6420219ffff03041cc22e24f5c4c65749944ad87cf9c6e6915ec91d9beffd7b8f354035ade82503237593bc00cb3d25e5c618254637db0461bb0d22808c01fbd9a7adc033996ba403bb657373e5a54d69c163c300a1588ce609a0238b158de321949a564fcf79d212034d7404b2b7377fb4df56b942d6ec9833e85fd8ee16950e4c7da102b994e61ff803bd5a4db470ec7e31db09538267e895cbd52a0e4993a5a1d5e9c6ec01cc7168de0219ffff034884c1b6ccb0adc99378eeb7042820a86d63fb3890621da6d8b6701a6ec6ba5203d66cd67b9b625741b03891a590b812fffdf8ed1ed7d45d58f58dab57fe7152cc03d43552713c9dc887bae6e7f0758c825d73de0aab5303e5fc6ce5fc4c2cd4063603f146f4672eb61328da293305c122571623dbbc2134ad8205fb589074c0b1ac5a03b69088a631e53e74e83350df62325e99a636a5ccc07d50cff49cb77d10a2fe9d03c5b2490d40e22d0993db852211ea21218ce04bebbaaf50d12ce3e3c41861591903d6987a069c56fc9fd42f76ae8d22fea9387f5724363e321579237f7b8ad1010103cbd7b5b39a64170426c07911b92987c29b521323b3de4178a6491a651997609d033fcde064e2a94e1b4aab186b75400ba6a0141094f1bfd1331f9318ed464c8dce0369ee19e51a6db69b0955bdb373204e75ea67edf33be086309df435f772297b0903704cb1da54b3819c406839bd1fefbb5ad55bc28935026f68d39804699861fc5003b6ddab4f9dc69d66c5ca3538ad7634f5ea6c2efaa2e7c685fb3529d2f35828d9034136859ec5f3a78797dabc3d991520e182fe6af4725ee7a56cff7a24ee398f8d03e52cd4c5f6a9c4625922ce27f6c4206df72564f999b134771370157777fd4a3003c3da838ea817c0ff80954532237969889f003874936e1d92caef6dd7b9d548fe03bf8fd6bfe27a1c172134d27672e92e4c96d13a7839458003921204fc68c3f012037c8dbdd38747fe2673fe6b55343428f76f4648a2eb2a13eae1b90b49e21d38d303a63186d20ae191714305438d6e0bd52d8f7ce64c18084711601f225b718241f70390b16313e2f7ea24dbd02128b8fbcf1df08a8e340d71c7ef93f68f99f5f1ddb5032596be84042f7759d9b2aeb909d155c5aecbad4bd970de60c2120abfcdf0eb1903e85fcc5ed1817ca7a367cacebda777f0028e693b8f790565f96e15aa15c7a8390397ee3f135bcd2148b271d93c7aca14266945996382c8bd4025dd44cc45ae488f036c75a68c9b817908f9796dd9ca52b9b04e0da507a3f1557f8508a60050e57adc0337500af1c6b7c4f31424dfd123db2f7c56ef8d945f1f359922f8bf75d4d03d2903c801c680387f5c590a739654cfcf7736904737887191ccb0cf2d183c8555efcf03deac51fba6b174be88a0aafb67590ecaaf985e0157c5468c90133608ffe0de7c038a8a68e01bc6fd914e5384020d789c41b564b55749536c237196de022fad70ba03bc5982cd7087e92e9c22edb4f2c492b2e94b738de2cb7fd9d5c05aded2b249550340bc0249114dca8dcb84986f6b62ca89604933f4338921b3cc915c5ef67ff5e00387f5aff6a09d71f78c34d193c02ff57b77b9eb1657aa10f2d9eb14e0bcb4f4ff00581e02f929ba8ca709f618e4c3c7e788cbf6a362de6a6ed4247c199bda7be5c358200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bd3f4799a7c44a9bc5e8aa47e35da27d265ad9bafcafe32ed0e9a65603450a93ce704700581e0253f45ec9128c8d0fef018c533bc5954a854ee6beac0178597ecb1e2b8e430192450219c8000219ffff032940cfb19c0a68502122c58fb61a070023b449588d080463f91e3b235dc52c40039565ae093911074963d473f15cb78aed37893c85a3a7a6c58eef6d44d4cb8e0503263cc8b4c94259fd7da1305c2704cd4056a2ddac92a95adfd7c692206b70aa6d0219ffff03897cffcecc7dd0d5c3a4be9766a7a8dd8eadfbb06235a0bd8f27fc85cf43af7403fd270cbdf9f3341f22d09ce9ac40a3b3e4d0c5c6c68019a630911842df03927703f5fe779927a14a1753dcc585867308d6d8ffbf1bc9feed33810935e2c5d6d4740219ffff034bfa8992e97a846d14aa8c7ba373147cbd49b70bd17be8a315b84974a8a7d6c80336471fad64f73b06a78158876269b955a5668a418078b26c675213982538eb9303b6f07679dbf4f5d1053e016eee7d15634f45220deb6e02e044318db2f5972d3b039dcbb0dbecfe0ceabecf5df5ff99e3f372afbecc515ffb1ce5b9d34494d3d50803aff8decb1cc4d4d96cb8240b17aecf276d7ece54ba94691cd9dbbaf6ec2a6bd103d5f0a2c8ca0061e86ab7ee633ba31d4598ccbb10a9c9d3886ea338f30343999c031ad36546827d5d6e88f25c8958efb4827394f877e49f8be27bb68b9d77256fc103388b8625bb1b26e4bf7de8b1b08849cded83f7ecf6f6aa8cb8f96ca114f2bfbb032994a0b3a97e51d950701834819a59f569870ae5345b189127e5cc26b71e0f540379976dc875b3bd0e4594813a2087aa9e33a55418950b27efd61663f591a3a76f0360eac8d7666bb1397ac180d10625e6adbcd038cc528eec10ec91fee950794a9903f4cd172982fbd75c3b2b1601f0206dd82f802d152e55ebbdf025d1d2f77be77e0385ffd8941bf87a07a262e5b64a5bfa296a128a44167fe4c9e7551cce73d81bb0030b6bbd5ce8aad47c0fb712f14b4dada4f5d08bf46a825792759f0f3aa07f410203ff6aa830a00f846f179a7fd5060de33c4bbe70b3f2ea856ea748e2f267ea54e80373ab40ffa3f4c470143a97d966fec95562ee2fec94a435d3eb521214419bad7203254a9b08534932d9cd93c638d459c740f2f1476ac364905f055adb2fe4b7561e035339012af67d008e19e8b6e8e1bc04232993d364ca276ac2da92b5328f35133f0305394485a2d3609545d504a74023e2fd0649fc5b9ce246482b98b4a9f110619d0329451d3fb76567700edcad38581cc67ad96b1c55bb6d82bb3d0e3d88800b256403f94ee6161e81fd344f15002d088081b8f2b471205a621c18b6113f02a9c6069103ffb2fc8173fc5f47e5730065c55aad95d693a82a15524970356f50cec3ee5eb003dbdd10aaca58fc7beaa7666c296c927c22e4674f90a58ae2d5d26405e006685303850a5cf534224669206668cb2fa4ec6d81dbe3154b513ea5325d49eb9aac97b50377aec6cb357ab4c45512187b613122e4aa0094303a090cc2538de5e880fd4a4400581e022e4f301cc133fc66f139fe7cf75492943681c6601cad4bc60fbdbc58a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dc4509f8091a39c5cbf6a40039f96b3a9feff7910f0e2042dd1e5c7aba435bee5700581e02fa24b098b7649b369cc66a364fb1d92102e99cf69de1efb5551988f2624a01e847ffffcd74fdd8aa03c405712e5520be1be030de048e325f1b6da3a447ffb99d75e1aa051cb8612aee00581e02cfe90c012d8e9617858bdfefec8fed627e01e96c61de87fd9f92f5525c437c2f0403ca58b558db3465dd8779b0f18ec19ac4093ef6d3ee2466997aff67a4dd48ba4d021905c6035b65d79ea3aff7b58e57fa857d27bb1ce481e41dac6235f70287862ae3f112210219ffff03415a88f44d5cf7c985e5e256117d56ff184a36d02030b4432bd6da7ebebc09d903cda1441f9b73a048724faa555cfcea2bb8902113b08f4d25ccbb31d75278a820034418095061991c22ea9f032ead1b77f28ae954255db6522f9aea935099b1773103a8fa343a511f09ad5b624667b200a54c7fbce0de622fe0dac09a076d20848ef90399859627fa413632e94e87fdf91b9dcbc4a15c89e78634c125b60f7754351a2303e5b68ab3dba7184c3d7b5c5753998fe93071dff0097e7be7bd654bc69d76c4d503caaeeed78422b361e232ebf41ef807a612f4496c851cc91a149066498c6d92220399981e6c527b14db20a9705e53b70d1dde251676aea2436cfd1bae5e9f812a7b03a0bdd85d6c62de57029a8c8ee95a04acad4adbcd8b412c965e08a15caa5eeb76031c4a89f87e6f7ca420b1f30ccddebc84d31c75ad4a4c8f4d853d7504d01234250336ecc0a43ccf37f803a15ad29b093804ec5a80ecb89b67a19424fbde16d9879d03a679e103ef4b6703611effd648034b43db175721be1ffa630bc43100a84d1f06034e4925679b0b9d9f871e47fd5381c43113f05cffb6da172b29bbcb3bc4ea705103cb68fe7c1e79120dfe52356a82af927316389eac503193cf16458c5a9a7a65f003a32e44dcca09c77a54c97de6317186fd3ad89fc7693f03487378762ce12ebaec0219ffff03aa781ba23457b9d584a79dce06c1f33e9f4cecfb3aab5b974f127fd30d20e27c03ecd0033da4c89b703b37f925b83990ee9329c231f5bccbb1008ff732d3b84632033e11232603aea54f7ff4065d1b45426a3feb52ee8405395fb5b9b18ad6d87ef2031cb451b02fcdb533a4865fdd04cfd69dae0a5a3064f80001f2d16f1eeadff6520219ffff0323b3aa1609ccee8dffc7734ef820a9cf40f9f677857935e1a93db1f9f39f4fb903f8d480da07a1abcb54f4e8c56aaf56cb61501d32627524835cae5847327ee125036af4b530bfe616cf04832d55760e7b867f0bcf71546a297b8998184991b9ac0c031a8a4e43634b2a9ea7d8ae48e7ce7961324ce04147f2ae8c18c9ea31508847b4037e663a52799f10ff85f3c3814a8b8e2776c9c375f9b0889cbfb222bb6a333b7c03efc3c0ddca682b29e74ddfdcff222c2b65a7743dd5239c1766da76bc9a3e220c03f8d59d1e2c8f2482c221ee885ecd5451729faf24e9faafad87a6f3eaffad036403ad1ea5e0e9b35704982f9f4fd2200bac307fc9fe02329025ca3522f11dc1b77003208f3f902d90fa5c280133f1402acbfae81b12da3e14b0626c045890382966230333bf49cb5048efdd7aaa38dd59161365b73d767b1c26b76bede8ac0b36f0957103c096bc43bf1d7f8495e3cde05e5ce58ce9635529f776fb35ca6259b9fe4fe6f50318b9574f42571032c644a1b44d9f88878a80abecc07cc24fbe1c21faf5d960760317b7dd0a9bd829900e25263b556b202a184c8066afb7c30bddd13e8bb10b275b0390de57cac5d8fec962d22e7ac41ff4676f8c289735b943eed844dec558dd22df03ec7e0f266642920bbda10125d69ea3228711ad87b816a1e41ad169389540ce3c03ab4d00ec4f80cb295a94604be50eff4f0655d39f05db40498613fbb645108303035e88844d9ee0a1d5165041a5e5361aefc75aeccb50943a57b5b5166bd23a1d7c032459036b2068071a3ea6748c6de1ad1d9553b3b5bac13a7f753fa1bac6a58162035d3ce9f991cc9b69355ce1c9b7e38539c3571bffb1bfaaa69e2e30e269e76cec00581e02f5fd95e666eabb5af196537af4e32c450de6fa7028b49c000157c6df1f410100581e02b616871fd1d2960e5f30f33dbbe5700e561cdeb97f5abbb0442b764b285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0260500193ff1ecc11449ba16fdff9fa6779ab452eebe1699876751700484408f0d18000581e02d25e2cc12706e79d8cfac50cc5cc6594ace069fa26e7f1ecd20ce8c3cb433c3e5800581e0261771daea5fd5d9f7e261a0e027e7036948f5a66cfba2da017a79ac5f35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bebfb4c7475001f8730c15cc2a96ff5fb755e5d933c378f764ece1d3b55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02acd4680618a25b579329255e2abd51eb5119d1fa4d9c77b48741f9fa0949056bc75e2d57243e0000581e022d14ed358bc1434f9e34bf52346641c8fe384034cebab7a8020164c9cc488ac7230489be0aea00581e0262f697c61bb5445834e877691ee816ac4f0533949cefc43af7cd76bfd65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02196bc5032ae958964fc0a95cd23724c8c19f9b750489372cac1cb21084f2da83a5f929c30378dcb6c084343d3f405c336b5f08ea3c3d70211bca73b58903fd9972518b7048038c8d3bd40fca6bc99b8d6d97ea75e08b85ce28ca94a35753c72b65b164c41a0103bc49c88bbf35df5d288fcc8fb38ddddc4352e839db794a5ee70e55b3e31768f80351f692eef4a722965665229f94a68fca079f90630bada70e91e91c760d383731030a0de5221319a993824f6a9d3cb761c71e818b913b19c55ae4e5cb95a4dbb76303468813fe6eb5ea2d742dbe1e06e6b9f1f370305ee67812901223f57a7f32ee3c037bb119328c0c26afc503edb3407468a7651eb8b149c125521a5234c9fe20f7f203bc0fe237b9d8071f726df3e836de45f4ed927142c02b1a6d01b90fe6ab0aa91903ac92d97ff920664689d6824d48c828e6ab4766e088a4f2fccf93edb27058ec73036f784e9b74562827100eb0a51ce5b2eefa9f689c47f578410ae07c4f3c3a781703293be22d78df51014ff9b4b8512d6b55748c385650d553535470d3f8adb125410321b2d9eea473b8d42e87330614398cfc88644cd0b23d5906038fbf9498714d0a0219ffff03520cdb52e1fa5bc652fb1380d7e69a511efcc0138c011e830ce5a88f7ae192be03d60f29195d3800ba10348dd6bb9d21b4da48c60905e5b7318e7c48e030f4a0910397335da6459584ff0e2bdfcc971f39f51bb747d4042d093d93830d66c1dcc43503f7d3aaa8ef347462e1b8c2861f410bb5ce88f8521688689aaf8530a84cde3f7a034acce5acaebbc12a305e79556d5122c680fcec64d207b9d5e556703147512de1030f34420d748f9cb5bfa5a3d1b0c908dda3ae3ba798c87d57df0975210dd71526030605adaa4849e81bd6f1debd7cadf802c30f47ce28949b0bd65b5f8e1d191e00037dbed56a2ddac7c0de58826c15d97e5995ec8f2c80d09f33ddbf250479dabd83032430912924f0111513d637e3f0e65212d3a08cc62b7d0e657ce485f5e682f4f603010a9e35a3a3b4a409fa5e30ea1931a49967ccc0ae3a7374b079d1671bc479ea031648c428768df7695a297dc0743cb43100b86b5050e7d08ea850ff28fd9d6088036f764dac672374fedd19272a330413363156a6738a0fc896943c85866a2a5b63036c3b461665637da714ce45a7a19aba9ef295994c8964aa354b5987673cb8b11403b82fcff34b2bee182bfc5296820d3bd7f7802817cdccd56c38047d49ce5d91840219ffff0219ffff03c32cc60706c45f720caae92d562a921d0c17d47c1a60f1c0382e932cccf1c43903e22e1da36ed2239aed6a76d5518cb485aaa2e9659f2be9c111d4d1188a60741d036f16b4f88766c5b1e49f6df42636a61351eeddb2ada85c8dba406305315f9a22039a59cb2563ca73e569ddb1b06b2ac53a35a3da80a94032da6780ba37928a82260373a1e6a04011086d5f6cc2b8c1370ed1a07a592097b1fa8a9e63fb0913e3e90f03732c0e5cbaac4042d5944e4b54fc4ace3f5593448fa24f10b5a8a889c9fa885903a86d89e23fc940cf399e077e6f83841b0f4aca703a1caf9ade1d4e520d5f063e039c9a0c5977c5761db0dbdb51990eb470a8ef4eef3c099550b6eefeecc084a622031adf61454bed91453972d5102e278bd4557d736a84f6aba0befd5b6e0b6b85ff030d13324d53d97a399adc339f047314718059886bbeae8514b2cc433025b48ea90368b15e4be95d31d9951027bbc7f3a400803bad67522c3a31dfb23783f6002bb303ec2ebb2978f5100750feffc1581d12f93495879dd382c4143c4b75e347d9f18b035b141cd6ccb22c5e2f7f155e68402a01a80352363914be9df8d4be6c55fc3e840368f07e97997c7c3330dfbe67dd9c30d9dd7f2be5faf3c9a71b1992cfe9d344a003bb9a2654a0885a4b52ef486b46a09b1e65c3096300e34045a098ac2a51e6d22f038ab6c8bff44bbf88e9ad6ede59e2ea3fb0910cebc50c541f940036dd8d44977703b88be80610062706f8931021229dcd64f9612a9581374e1f9fd51c5589e6d8ca0334b1bb7615ba2c12c970781bccc2207d97536f2256362f1a2a3398babf6c404703010fca2c0fb93242c140f9cf1aa895b74a11cc3222d02505a3bf6ddf3ed87cd5037d86e7db457fdb2e49cfa12cd88560e5e73dfcaa5b43bbf2862a1c0bc9b8e80d0303b01d08237a809573b40c3132d8fdfdd261007bb127b509a52a774b5141fa4e0312719431975e25ea1a9168beac4733f724dd6152f25a303982de5a08e0212bb803b7df7f776d3b30c328327c5e960cf4caa3e951a4fd9a85d900282b62908046e203d843d91a04a06ddf8461eecc49fd1d59929f9708c8e761ae6cf12c10b96f3255036ae82f5f17d3bd78055fa12087d75c6bd46de746254ceec7fb32af0cb3e549120350745e780db3019b2cd8b03376cc5fb7d69a7f1a8355b0a24a5c36e949b7845b0373f56c6968863d1237767da5cf0808134ad1c156627e8ef8dbadf8aeba99a65b037a45aefd1b00dbb3e58d5d2b492a0c1fe8e0a8a9b2dd8272c53540fbc783b4d603e136dd8c227b9724e2b7a12b4a1034adf89719448279e0a7e692fc94cdd3cf4b03882ab5036f81bda29f6de1fddaf6c280fc56714711f6e9d8f65b73039dc449340372342b89e9e99068d8b15f6da102ac2c1104b061f235ebdbd78bcaee3a80e62e031533bfd8c639dcd811b4c43a9316e7a0458ddd235daa1c0dd6c49da7b1a2a9b6031277a322bc054aa1788b03974e9790dbde4516e4a6e3cb41454d4cb537f4e03100581e029315405557345bbcd608680f1165adcce6de3a66dfead9eae5c5fe9d7a58200ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7a7c4ff03aff66f2dc5badeec8f058e125b0cf5589bdd7611da771874a52d37a48099355400581e02c794133ca4ea6d3bcea2ca9336e8a40cdf7318135aa1f4ce3c861ecddc43019a4d00581e026b6d0fc6a679fe3ae91629f112f834b71c24d421f432e8c6efc79849c15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03469350faf2f9ca4d2d3977ae19b0d9245ab99e9146a0acb014fdf58c932e6d4703c48bba7b5c9c9625f42577b932e3f83a6f2c17c24173059913ba944098616ea700581e02b2ed5a84ca22d8d901473c41f663ca9cfd52f87284994dc09fc2a8a10744032f3ff0039f7f47e0dccd9cb302b1dd97e67876b2ca77cf14483a31e8c466bf2faa6201660219d3860219ffff039bcc64276c95bf6318f998f5c22eba7191f6134be4ae1bca1da0fb97392eb81f037a9465276c6f7f04cc26af2df779eb3044ce4813ab8c36a548f82dd7b00dee9303991e0d0808ab3d860fca059ebbb383a21c76d0f8e8eee768a7d3193d8d4224ee037f3411608cd107087a3210a8bb23b0bfa5007e2f58af48a7fe793ab5be72e56e03347039c9a1e9b9689d73fa9237f605d952f3c25562ccf97fc6958f94a2ae3ec0038b6b83bb2ea99c5c64742e701b03b63df95e5ee6a17ef2e61ca54487f64a54ac0219ffff03597bd235d1abe9236c51fdf523f1b03f476d806ffdf0a63cad7958115485618303d1f5def0f30b397db49190d6719103b0b1a1150feaa6269ab6d148617c34ebdd03a21f6ff728a74d8adc453755425409ad1f4784d5d4519e3893512c8d54f26e04037b7a0a0ef300e52a3662916acc7ccc5e4619d56085ea2c2238afddd39395271703987346ff8d50491d995d9e018db63204406aafdb5e5a2ce8915bbd63dd2ec47703327a54b4631e50612fb58e371cd3168ecc3f2f5b10a9942841dcb0a23616a2da0219ffff030e6659f3422bb6053ddad4dbde7804f5428e0dd7fc48fad3aa5c0e844fe865fc03bb521cb9f89107345e22ed1bcb294f22a0d77fa462c608c522b06e34d8c2d93003e2931926a25694ee353a5ba52a99ff5d43b2326fe56fdd2c03683660281e154b0304261b11bb558a9f54b8492fdf5654fc12879acde121cf2c6e7dd92b6b66a9e103b043402807f129a7dfc9f935c0c25dc49ea894a4c95852efa2659b7cd260a4a503dc4035ff56a3f6e3a735072266d00fa6947448d452fbe4a957c8b57171ef83ba03b6bbf3d7ad2f486f995d7e2b03d49085f2f92baee10ad3f0327a31e790dfc2dd03189615ec29aac096fd9b5d35f409053d526a359b78ca804d943a103349b4037d03ea3e7c955e2c2bcdbc32387d09dd399309ee31bb63d2cd24829ddfd2d02022d60347d9310fd5527a38523c8fc8057a538c6c318e0f3a052cbabdaf8d1d12f803a70311cb5c9db55f862ea8eed5d5efdf3ff2c6f591e5d63ff26ad337aa79afa7ce8103dbffae4e34552682e7e1bab79f7f1099d964274730097bca0aabd92d5251cde7035a66f963e534729db66d482247e95e2868bd0226413b1a7c44197321a07346e603e194d6a4a56f40e33fc741eef0293060c396d0ae56fe9f97410916f358e7c1e200581e02067c319f26dc6ffaa01b92cff3d5a840014a284a6274651c66cd80e2764303d09000581e02a56f469852c03cd6c6f72ae13b9f016e0c8a557b3d0a30161a9a145a4043e4e1c000581e029cef542697f8057d270d0ec15010905f965dc272d66250508ba03c7eff4403b20b8003e992218df59fd8df680aae4f57b25f153f66e63c07964d38fe5d4b4c0a44540000581e027c31b04960bac7a87194d046470ff530bc79ed9164db57470c52b704f3440817dea803fb6a436ad1cbef295102e47f0772aa6450739286b04155437d8415be5b60b25e03f840d742cdce2049a07cc21f6b7e1e6a9c732679b4acffad91e297e8c4ca744300581e0298e6e18e487e39f274365af6075a58dd36ca56da2d35a5bedfc2dad2af4301806000581e022ced14143e428b76003afe12fcf65117261a0875cb2cb95c9f197a30e35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02eac66f7ad70762f332dbdb18a277d2c6e1627e6cb1e4b9040cc105883d4401e8480000581e029613ba360ee2f701e074b2536dfdc58137c99f04c2c5c0d2cb87299d255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219eccf0323e3ec46375f6b8209b07a368280d2939ce8c1fa1cb436e21ab8dec2c7bc6ba103f923f0111518f9a6fa6e5deba4ec66d4c03c7d0fa4945b563e4e86ab1975f89e038ec45d4dc2ba9e74f6a54970e6fad50fda990b8cee12b3bc1d316e54aa87345c038e26dc4947d93aad44ce687bb9529d6d44d21e731aa6907f67316d87c81015b90387a9c9b48ec453588cf335e662eb7c0e8a6263b5b96a6c1516282d755d21455b036897e3d937a9088386f6c70152e68e9efa0530cdbc137662853e0b97ac2d87e703cb15dbf9abd784ebeffcb2cbed8ec5140cf75cfdbeec0c3985d7d4270dce0c33038243dd40571c214421a14645711010119cb66cdccbd539fa2fc1a8bda69c73f3034af5c33b000eb454d662ad6933c585e2a36e95664a650627fcf570fda70161f503ca04354f6fda3146f80524c063aa8ddf9cfeba17af9214498efcc92dd7588ccd03b31820fe486bade233de58b133b736b358be07acf87308527e48616156d11afe03ae0d7a9f03cdbcb533efde93dca869a18307062460f5fdf97180432f27b4b4e6035387492dcc6d017ea0055b33eec7981c363a70fc6d58df849515b3aaa6c84d060381a411e516cab90c1b8a038a37ab88c21c6bd7d1b43914ee05cd4032d1d21b2e0377440b73370bcc9ab9e4b04ecec42a18d948cea4f380b6f86360d6e791629e500219ffff03b27ef59d19ad60fa7805ebdbcf315fc0fc78126468e8ed8f100cdf3eff286e0103da253ebf200b5751fc2ba724fc4f6fe5d3fd8252f5a77c54b3fd82851a33f81e03b9eaf0076bfa5e4d51fac3ed7aa8ea9d3eddac5d9dfa8c3df83f8ad12a09e43c03d6381f031e6c19c56a5800952e1e3f19eba6e23aba4767421ed684776223d10903c490b443ba025972f7f11ccb1576fa747b78cdba869c20fde49a690a0751eb840219ffff0398540f9d5d33b2e02d484c16672d92c03828aac3731f0786b106c508c9eb2af20338dc8b563b21b65b21f0afe59f175f82efc95aee9094a26f167e379c4cf6901f033ee40c3e89172970e6daa36edaf0889f1979888faf3e35453128b5a785e440e7030347abbeb601ef2380145493baf1bf568c1717d21a2104b10b9ea2c0950a647203d15aaf51780775fbfe4ade0405e9aa635b796017db8481c85df5af7dd2753a7c0352f40044ec71f3f9f7e30488d81575200f245f95c6ec2d25af8a4382f5d2402f03d49cb4ee6d88116dff1bb39040c4072c288607259a54f87e2b945f0d7d3245660334c88f672ef5a15987cbfb2e6d347aea7733774c0b77cecc0d75bee976f8e10c03e2857e4046e1fcfdf9331de64c0aab3a5e573ac37c90de8d1e7ac27d2355ea95033810e94de763f52506fbb15d97731d9ba3dc0baebc2d86be3491300da150894403da548c054df6c5cad5d4711d1a9ea20ad096f534f2b5f94fd0d7f9523938a0a50348110c41a0f5a245a3ed4d68728a4263b9b4e01331c477c34f61d9cf3a6d45cd03842afc6b4b8a390a757644694403a696e294b0024217d3ca313b9f9c501826320219ffff036f2abe59c550848f3b745be6db9500d6b9d9bc4be1a3df45150e01fb1307033c0219ffff0328e9d3dfb64d25bd75ec102ce3f7e4fb5e0a8afa2d2fda765f6ba9cd4353f59a036e603f4a52c6e8917558cdb8078ba061560a4f7172f784a7e3c988f154abfeb803ab90f56b6d175dd35534a46ca3697823f4279bd7c4f0fab6dee4fdf6247c5a3d03c600ed0777bd2eae82b5f700b1af24af71204d965cb00e77f99b08ff1226fdc8033ca0ffe93ecf37aa068d3d7931cb2484a1e370c7aa2b5f511d57a110839bada903d89291cbeee79d96b1c1c61d2bc9ea45299e95a8fc37a518cc389fd1c0a943a50344e223bf964e2e56f3a6669d1e9d0d23d167dddd352c3120735812aeddb68244038681557df9389458353ec4a7ea7fc04eb6f6d527f537be2944ea12985200ffdd0362bed1286eb6eaade88b15fa5ad94a38a11f8d8c871f04156cdd24ff0809bd880371b213508e2b6b98306e674abe181eb902e0f7d4a6c163e852ca8c3cd8885bf9031fe1af1a3bcc95595d6618736d36ee0e85b88bc94a640362cc563a7f90bacae203848486298289ee8eea6cf1725c96e1e0f5bbcbcf1220477accf1a1722702122e037deb49bc64a6560858d16424609b40c63691b69c72363c11d2327c79ca537849035d0a4e8213d58848f52fbc0154f24cbb1a8d8da645fd082cfdd56ad282701c56035b0e75fa8b80c28d601ba1110f02059f59e11ea528e4bfd1851fc69417118dc503a09921daa01c16731be183302993b9d796df21147af0673967eee583bf280b3b0334fd4d82736aacc52867992309c65deb9d8c434f618585aecc80002e6c53174b030702ded096f8e88283d41e7db75ac47030a02673e8e3245a1551ad78849ee3b203832722fb6b1cefece1ddf88e931194ec0a428158ecadb86f7f3c304ddf26414003a44bab83881b44f0f0cc9db66015c1d47d1b3ba60861393a248bedad344e5d24036461feec3f9d325cd900f0b6c4b305134c794e72119e0067a75337406675a3a603f3de30caefbbbfd9e21fe663402bcd282f7080f22c436d815eef6b75a651194d03e56b7cb5edfb2730f2415ae3ce597429e1ebf857f484ff7cfdd0b834ed1551bd03d526a0a74b6eb82e7f787aca70e3f7da58ee1da1518f33add043eae3c21192ea039ccff72536e184f37e35f9b8b0cfdeff8903b9a504436d7852e419cdd516c198033565e66495092132876f4a43cf57dfe72843eec80a481d0efe68d9d9f8b9783003f80397ece834d4ad2fb1f0acf22913ef3fbbb4f184b6f2f812f84e7f541f590d039500efcd8d0f251538be3de5a0d1461e52217e8534054d3f1ac5ec0161cb615c03d68116a020f7483b7f7305565874ade0d78023d929583d9c4c730cabe5cd916003eb49aaabe6cdbc2b431633a513ca40342f24bcd1957641cb333c74032447987503daa415e4aec26934a2690f153f490eab8f2c327dea26b7ae70d25e3bbbedebbf0385b356008387c567b3eb9e8ff2f1fa8b17e0f531a1055b5694aecde9debe58bd032088d6183565cef5837ca92a2e321c66ac43d1722bb96adca3a456c9044e29a100581e029f3aeb6d7e2e7a14eed46d325a882c59cd2378ffb4c21faed0a1dd42505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ac5be95cbf7a6c0d4480aa02c8c49d4e243b0367965d939e87822d994a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f4c0880a45d15cac5b21296732fdeaac86b27e483694f0bfc09f7ca2325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03048ec8ec56cdaaedb86b5ae5c5dd3be5457bd4e3ac9127250886854bee041d4d03804a35d7922b4da5484696fb396a930665170add62385b42093f26ac86cf588b00581e02a7c8dc3ee7b252375aa3e0323fae7c25d9d482f44b414dc8772c74d0ea440393870002198bd00367bec8ff35ee163365b1e20be50f3c2601b0a6f1e472870bb119423d4ea2a9cf03664e6ddfef3ad8a8a9cf1c9ed006c2a856e3d78f5382c14bacd72238a039aaf103ffdb940ea1c24ee0c2b3a57fb066b4ad3ad1c2b830fcc10b288fc8795c4b25bb033186e1437f001a1d86155c8c5c9d1abf107a203cc8ededcd46653a221ea368930305b32fc28a6b4a11cb55bc122ec6052ad313be9e71094225cfe684a2503fe80803b14c15123c2b74f8dda564316157e17ff2aff7a4d4e662ab54e03ea507de15ae0219ffff032341322646b5321e7cac3759b23e50d9b74461e28fa08398cb49cd7e6de7cd6f0346652960adc02e1cefb61152865fdeaa5ca9b97d8a25303000db4f7c9c16d3c4036391cbae627e0c74f49087e16ae2061572243ce54b263cf764fa773bf003f2fc03641acd6abaa43058ad87862d7661408485b76bcaddda77abc5d7313ebd1082bc036cdc826a429952444b1e51beec9e2c5a6b38fe623ee9f7d82b827e2f5ab0d97703816899b586f44aa42ff1074c9b9a47241f7a836da9f8c642da88860a4965b9a703731b535153e551868c8983a885473ea5bc92aeccf4d61920abbf3d23593629ff035b4e8b278ec9884337de17be64e97314dc9390c63d54fefc00277c20bf953ffb0302be153a6bf0a4baa041a72dbf96301a6548167ad06e4da091664a46b0c5a6c8034b79dadb3cc84285d0d3e2dfc2cd5c46a0c46dbd0b286c3177cd4ad391207ada032ef972bea2eb8fcd4dd92909e029905650394364270163e8e1d612152f24f1670219ffff03f629ca1c5334e7d8403da937a45edd2f031739f319369d87fb14ca8eb5c97b260219ffff031e20b70d0accae60bd73a5214dd61f1a2102571891f7fe2da234a437074ce58403f748819c380ee3ca192b323234b74d999487fa43361a609b363f201fe8eda37b03478474669fb5a75e058e5f44ab483ffa9f70093ff47f897e759f4d33397145400301d9703da1fd43092d32803ac8d7cff58a9c375c8ad5ac3b7e2988f368db80ad03d887da871adcdf14626cfece19eaae0b721802aadd51b3c6f79a8f8e571de0fb032a9cc3f2aed7c38a059212222c2c0464125fd38fbe37a250b3404dbef61131b2035d2a0ffe0672e927aff92a150305843a18ad00d69ef8c5dc336d7f1b6772942503a849616bbde465ec96fbc56475e3fcd14d2716e3f457c6bb4c7f5c36f2a8f11a03787b70a5a1e197da66d1ae0ce182e722118722bdbadd1aae593caaa21f2e3ce603fc0c5d13f0099bffa6be471188c319fb6e3db821e2c5659b9403ec3a1d500c7a03706573238ee5cf0189457ffd52efda110c7c36e15539812da125ce65259b9f0c0308e91e9f235d15aaac9477dc43e228162f8d871c3f79a1e6c3ac55e6d9a14698036596130608983ce7a6c1ee80d008bc42ff86a3888ef28318a2dcec8a8a5a34a403ace9264923ba5f556ecd81a9aff132af7f07d6463c0a357ad9fd36a7211bbccd03e736c5c079e441aed7d7130bff2dbdba7d75b1951b53a7bcacb025d99107a1c403e2c7aad12f60d137e097ba3c7258bea1f559eae689f0a0606a16532cfb8a7dfb033c2b115bdf1302450d02d4d3a953f86855490ccca611e4d2ad5cd1e996027c1403bb6ecc633384365b672ac2b03f67ab187cda28e4319ce65b732f9e9c60f60b8103111319e0b3ce2054658d3385f1548221b92f68ba6e0cd9ec52a5df81d81a1b1303dae70721865a1bb7066e9d3c0ebfa790374692a22a9b86493ca0cc9ad26ef2a50394c60c40154214970a9c228934d44210f7c8a0a15039848c30f3660f72825986034d12a2674d36fc0f9f12f1f368adb505068107bcc53a8b9471c5aa0b08532ab600581e02b3b29a59ee05d43b7c49aa934417a35c61c2693ba9c1e9f75745d636845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021ec2d5ccdd7d68f225bc23b7221d5e9573ab4e9ba15b6fe288679d802b4408913f2200581e02d9ccce3725031b8856891950cbf341d754e17aeac05b117eb3fd2b0bd75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021944bf70af64141e56ba75cb080dc964a577c4f9b2d2075c6372dffc615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028b53cf7a408a0451c5313a3b6e5bf6b2c65702e164f153275be5ec7ec543061a800369e4f80a9577921a8ccead58e0114dbf14c96d514706493ede8b29306688f415021931320334fdd0bbfbd22725c413c5ed9199fd9dea770033ddd97ff3181abdc595b79bd603e320867f495b75f7897272df5de8a4d9f4d237219542c40227cd72593cbdaae603b8f6010c0bae74c0eb5e2bb1239aa884a022158cd12d8beb9f39d285c69af3f303d38c69e33d4cc0b76dc248aa35c30a1d31dd456ac3e79bd07426440827fe689003d7fefce52d9260788339133845045a3b62809c92a6d6972553b538bf43c489f50219ffff03a5bfceccc84117804f90380b5c5643e765834261c7a059f5936926c45c3bbe19036887a4fa13396e01e2a43efefb6618199b4876701a0159685b8334c14b9b2e6203adda8112d245bf1270eb39cfdff695aac2bb3ad19216ee12e881e3c43a8b9b0703c31a80057ac0182f8475823ed2962c4d6d62be5715bdf99c8a878705eeec8f150395874663495a59cbaf134cf799092514ce02548baf76051b57a9cc2694868c69030cb609507b0d10f6c0e636429533c977e92198184e6668fc3bbdc42ff6db02a3034310dec80a3fa07112da105128aa360b4e8f55d51fe905f281538b6b88a090ac03637d1fb8c771937ae06916c78d462993f056dc92b0b8b18c25bf6d8a4847c80b034da30b1e076aa6610743f4c69ea031aade7e994dfaaaccc0fde1ec4b62f7788403222df810498ce2db2fff94deb2ae3504294da843b584b6e0ace86412587d8a7b0219ffff03f4aa8f4cebaf026f05acf5fd04875c6767ee278429ac3b33ae8d9c5051e9d5eb03c2059b28cf839a0e0be75744783e2bd3e447b9c68f9d8a923fdfce5726643cab031a8fcb6cdf41a228b50d6137df739084c7b05b1daa7abc442c66d417bbd484270360884d53edb2ae0b23d3b626f34607fa4ca5fc9f3de5b626de60957a6b64669303d1bde176a7eff3ddb84af0134a4568b43dccd1d3a39b975b7c933cc69c9b2f5a0306eb9093d9418b83e18363014ef3edd71a2240bd653509d037b40c47fbec96fb03bf0971aa137085d99ef9bace699181128d4e8d3a01f7e4066bc13acba0d2c2ea039ab868e0b0585e1d5bca63f104d052ac1f950bbbc733accfdc6523b1eb5309fd0383498ce2226a1390d6ea72a5529dedae5e39e9a7d82e2a0a19916ebf5d48e59f03b35072bf0e36855495d76cc5e6d9f2d76f0853ad22552d811614f57258f3345203cb725773ed657b7e063822c1e10c63ea50707a091a5480a5830fe73139294f9303a0c353e08df0b9d52458bd5ea48c211e61751d8b0173826bf36c726260e463fe0219ffff03b54d885bf940d3646c95cafd1feb5277343866d1d787dde709a5d4bee6eb0709037e2ea22f8c007c9c27ee6768212b491c82dbd2ee9ea3c0a1c968b8782b66685b030a3fa23b43a2978794c2add3a92d181bfbb9df0e312b6627fbda3f8f2e80ec85033214ca7df7a43be7c2645daf6edbefad38080b876dca8c7e679f9e407cd04fd003f197af540fdbcf4233febf5bd0cb7cb33013ac0537713a4aac2b2d8493d9272f03c7dc1f33a301238cc6f4bda9e03b9ed29754a0c8948a22d8161c45d194e5f6cf031f6a4abed306211ed280162f83ddd27e77ea6ba1a1cd0a375453b5047bc0fcff03ddd1911ad0c8f59d77f59597563153a814c9f9da0e3314f0b23d925bd2bbc82703786bf3f79f2d6e88674fc049404ebfb409a794a443eaf13bd78da11e5efb68ce03371b5b8d38fbfebeee95a730909bc990ecb7966a5df459bc02430664bd643caa03ca2e025fbcb230ef56be0594bf556c044e9005eaee53160792c3b8f340668f9003f744667188ca9e77233ab22a0617b35f887ac9a2cf9070829828b44e85df0cf00397b18e17a144198bb90751c7cfac453b20947b5aef238139873439cc5643aae603e02cd5bed8c8492cda18745518cb3a4ce035808ae3ed40750e0bfb791af2edca03cd8585c0ce9ac5c4e8dc9f50e673642f7d05333666e029ec18ec11cae8f8b539039b5eb17126d76e05b6ef5cecdbbd52a28807b34a1524116be733ecc103a940bc033c2c69738d5c68e6dfb2eef85f2ae086f1ccddd274e5d09182d1cf876601cb02037d69f9e75964db3093ceebadaeb59d4ea2cf7c860ccd368c69d638c03ae304a20337552097549b113b37f2d1b405c7760d27487a51146d5d4af08d529a1a35f659039283779b34b7bd867ff9ec59f11d370c5d1173a4e11f14096cf652fd523c4a28032a275f5e5c8006d912355c09441c4098e0eedf6eefd7e44d9a1bebb7a548bdb303a2fd31b8c846dae822e552277b493aa05f903d4ba33d20211e53bd04be3b71fb037ccc4dca889f33d5c52c0ab255b6c5bb9aff45f967ff54bdfaeedc32c5fa4c5703ec8d80a4393017d7c5e58793f6d46e2628e2c2fc3be67420405b5c5a614f7d2f00581e0295a5a85ec274d37e92d11265c5e3da99e2cc52c1288c8f9d04d7655ca2581bf316271c7fc3908a8bef464e3945ef7a253609ffffffffd7c4513f031e28f0efec40238c97582f5f048117b6f492718872e7cf540ca8b6e840c0933200581e02a4f547064783be75120250a3f172e00446fb97715e9ec4eb8d52918efb434c4b4000581e02f11f884010475fe03833886e1c5eec8f9c8ef80b8af1cfa96dd395f5d24401bfa38000581e02bca3c21c88cb1aeb3aa95ec12ca5c9a45b189ad47e00086a438d373edf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219484303a1dc48ae6e5901762ab757df66e25a946eef6aba06324443a7c226049778fe9803a1b7ff7a40a3fe2342ce1e17001dd8a5c0cdbee17ab1ea9130d7009b69af468603de7957256e2e63ae98d2c41bab4c45cd372c370552af2d306c3203a672f409eb03a4a87111ec7216e1808006f9d7f2284252bf3f3c78fcd48fa93c90db6f67d9e8033c7e417345196889b64a4c3518af0053ba6a087972152417f256974e32dec3fa037e531501e0240054645258ce9b9834909255a94a06a48f6ab42254ebd721e65703f85d0e48ddf66654ba2dc9848bcb652b8bca4b69b568ede76141f422fde08b17037d97dffab7aa143247dbf1b1bdde2a298c066b42c7d1ab519de284e78fdf6c2f03e674430bfca50bcf30c38a5156f9f27a23c0b0ab2b4caa2151ff80c55e4703de0219ffff03a5810bc34df2326af27516be3dc5a15ed8bd9d59003499e6b53ad85d2740371a033997448803260615711429c162c02597456b2cdc38260ba9cc9793ccfe6be3aa03ecdbdfbe1964df2dac73f2abb747e03b098443460a8a09be2cf1800afc6d07150315578543d68dba905ff33ffc196a09690f73ad8eb1b00deda2eef97f20e8ec910219ffff031abfc15ab3eb53331a6724ccdf78b8412ede06bd303b28a3976b1d5d33a9fd4203e66362e4f356645f96193e2dc7d7f8dae36755e503d51db21da802747b33889d03502dab071be39783007919273c207842375dea75c8daac162009a4349d8ffc8f03c51a9b0c02a04c7de6028daa1f739d6d2b705a2b43fba020fb4064ccbaa95b8a0355ee97a6b67fb4631867124e946deb97b1b1ef16fca1d909ba8297df9d076b6c035b385b183f525fbd133268311969398147e3fecd261badffdfdf19674d41d2c60377128213e47774a15a2bcf61c427ccf53626a3844c13063a9f9c7afc515013d5038cf6607518eb57faff65c7357e71ac2cc66cec4dd0c807a12cb5ec92b6fda9b50219ffff039c81b41df65885672c8846e6d8e83042a81207fc8631441cef6b5b429d458798032ecb9b246af6b1e680ce590b09a393b5a75250efe22b6092bfc82a6f953a2f850333e9945bcb993b0e62e76fc87fb78d7f3c7fe5050ae03aab3ccb6128085a709f0369d7fdfeabcb54155e5a1e82d83950c5be3e01c5c55a2c41496149b4d154644d0356ba1cd9a22350caa3d4c667168b0a957338a506f17a73c217fb3b358fbc779b0372ef4f92ff9c29467ca540c3e3872b33b6f79e44af91adaf17727b6acbe5cfb30385ffde79bdf0496cfdecbadb1fcfb2833c840150e59cf005679711182f88edc703faa8aea7104e04015808f5204dd5e75afe3a4638d8130f296ec6d00deae10feb03f05e5d6040139f2f1973eef771c12a96c546cca80f584d8e83f12ad98ae7b7ff031871cf58ace89a55833a6327dfc94448e1c2ed1040a3821266f2768df818fe6d039bac25bc397961d6919d15078c06094bdf5c31b90c4474da60d1261e037fd9d9035ee463671d2612482ccb210f40c124c93e2e421506c8fa810cf9b9ebca79d087035aebb0575eb99001f1e609f854772baa7624fd0b1ec95ebcc8056fa7e780bb6103f037a261b14b7b2f0757341ca4a82337f165f4138af912a6009a32853b3d998803e284137a5a0df8c479f484319a87875e25c938cd55c01026ff5858143e4ae5fa033f0d9e19663f79aee0124f9bbb4b9feeaf5e424dce0e9a6dd0395c641bb8676900581e0278cfb6a4c8ad34db537e897564d4948f8eb5f6ab24d5df096687354cbf410800581e02bcdf36bd061faf4de2f3141eac81477b001adff4a988a8b67154595d984457bc53c000581e02d5674deb42db5ebc3d88b8aea1a0f882eb30141f1df7b45313668f075144055d4a8000581e0232ce1e8d3fc4d437beb34d07c3cb597d1aee932660d547984ba360394c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219060503fdb67c6142cf498c3e33675b256950af1d3f4a7b2c7a7f8d13f3f321367d00e803d9d8ff33240764a54b71def6eb624fca6432669f58706e68835c2be8327bee8e0388200ec804a205915be3aa916435b64698a5b77d3f682bf81b230c1b8a5b398d03f1a641f8d2db12c52196997d816c2793d440e3d5ec4f7752626a486cfcb24c50030b952fb68e6186b3a4d68f40c1cb492661cd024d3570bd3e125b31ef5709b52303bfcbac9fed955f11107dd21152b252a731895b79cbecf640dfa1239d2511e3410369cafcf6f4cccc16a1902a2f6ce64cb6a4fb26d714cdd93f71e55dd110077a0b0371ea5d9ebfd1e8fab1fb2165cae1a19872d717e256f52d36ebdb0a33c34ae18503eb8b253160bc2129bc34dd404451be421c1c30e0824c9c8546cc9bac1aad73fd03a465f4d3761a2be7df00862672c08d02dc69abf05905bcc2b0dd553d5fecaa9203ae53761bca32ca8f0393d9930ff6c289d96f4ce86a3fef955bfc762181296397033a167af82dc80f7eba068b78f3fbcced6a8c477a929ffaf927442976abb451b3037cd06a05e6239897fb88c7ba237cb8a7839d801fc6162a2f05d6ad2d9d990bc00219ffff03ec6e484599611b1f22416bab413a26e8d11e7cda2e969cd1a78a448f3b9e415303d3f0dec76350e7d5e5131e6bdc6fa7ecb60a2c4142761ed2c21383af3bc3246c03fafb89de678802b9a76fb30fb6a49b76d70721b93a15afefffb94f0027a42db903917d4ae89203d2b3446f2417027d7327b15e7783f684faa06f7f3b0e59c02dd80348cbf997398a6ee80c835cb92435b0ca965bc53eb458d479f707d1cdaeb1c2c0032e50829534976e5e94da28f5f6cb79e14f540fe13aa80f1dbf424be57558f017035e788cb1cf3effa74ceadcf990516c7d606bf14c0eee8fa8f6c7dbc550e3628003af0c1b8365b892617cfd0e0563eeea324c42eb35d14cf60c037f5ef3493299c203c592e96ef467e4d6a66d4d4454ef79d6be4841b6ac3ca8a3447ae4f5dacb396b03685cb330b81b2fa56c93c82f4f59e3e16cdbc2e2e02f4c189487aa3236902348034eb33e0b5c642288d47d872afc0e301142886cce9863b70082dcb9d24c6c4c1803cc89b09233190bd93f64ac7dde17893a523e444432fcb2e0b00f74e294edf05103687e46821bf4f0d3ba9d0cef8371021e9bc7b5c502d8669914b5354229f5ebde03a1f4187225aac64f2b52bfa4e6fa7b730e08a5fdab03cece867d00f792b4c6cd0219ffff03c45a7503487f446bd887d0ef3f1f93e2c5127f3c5c4cc6b474af63996fdd30c5039166ccbe041d85057b192d44fb762fd3f762cc16e6a4265ecaafe2e6c1b174f80219ffff031e169580cfcaa32baa5c09a272ccc458dfbc857bb842acf2dfbd3f654649eb5d037933cfba791f2d4959b107627a4a1407bf782ea7da3e319dc89ae96fbfdbc13d03e0da5677effd55587a65de82a204beef26725e1ad5bd402295a8f9cef9ce2bd903942046cb51562c456c768424bcce8878f8539e21861aee81e74ebab33a93d88303cb6bdf951f110405066c33fbe200bd14d1d55ac9761e8ccbea17b19604fb722d03598f8e2403673b2e017edd2fd6bd90a96bfacb8defcd8ff9ab90a3ca3e5463ef033d4edb0fda9cde7240ab51a63df3017e3f449df84a6554773263b73b9d71fd9e030778c6a17a696dc3bd3725c547d8c07b9e7141542cb711f05dd4c40971ca360403da6643517d01054c2fccc48d11671ed88c5846bde194c8bcbdbbc8748c5ec449037e31ddacf2d54fa38b6550eee8d21911e73d0c8dd1c766696ad9f943a06af4b703cc643a8ec06548a460192d320dcd2351abcbc6d0e6bb7ed1dadfdfb7b5b92af603000833f50c60b1fae8824d4f6b484c71ecbac81baf8cd87ded33358d162ac75003463dd58f88c01fac82a0b9c4b2f150ee99ca1c8d02a1cc82626b080eb32e7053037ea8e2d162aed0af83c614de4b768a46f164e7f629bd5a59e8f577570c5098d100581e0281dfbd7a3515c30decb16d568d7ef86b2b53705bba808932399c66b4915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03068bd68b2345210f0ebd1aa63584b81d854328ac2bb050c6f98f16ede9d6ff3600581e024a3ccd87d085ca12a05970be96431d2c8c315e4ee8e69802d2cf94898b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033b189e7cc63ed6c8798e88a3207103c76497ad546d74b8883e95371aff7d058c01410800581e02a99fe1f4247157aba1f485cb0e97d45480863c04fe7e183f6957f35bfe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022698043ad0533483e8ff7741387e08c9eb669a67a065dca4e115ae70ec450843f3311d00581e02a1eb072677e0c3d7cf904221460d70b7fbecbf6597cf68cc3d534b429a43077a1000581e028b11a75185e47defc19ddb52b6a4024f49695c66ccb45f84a68c7517335820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0271d994e1dafbc978f3991eb9c4d5ef3c87fd8b54ca4d911e26a4661f795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022898bdbf1c9a86e13c580394815f5c732a04545e8f5f4a39b27624f282410100581e0201986bcc94f8a6911663fd30317538483f7116caea28c39a460bdad6a1440284b9a400581e02e2152bed10d4134c30273eac3ee38078ba7d69a1fc70fb89d9c00456b543e181740219dafd03a7bff3d49eaad7ff5e93bb1035a5f3ad61565b196f6835423d0249347e3778a303649a049e3ead2c69fad8011bd6cab7cf3eeeb99c70bc3b793fc0579ec00e8941036217999f8c0566e68d6ce91b7976af9e85e0bb06aaae92144a7d2b9671ef720d0372656e59422c4cfba53b1c85fa41a63b2731b73e9c99c4a445d74390ac51815603b6f212cd9399506421cad81c33ef0555669cc1aeb2bd1a717e9594fad08e299b0367da76163750905043d2dc2bec35758dcc0c9ef4a8cf5070a15828a8e5463c6703de42acd1eda6c8bd5e83c4ea979033857839ad1b0e5508335f2979f3865480cc03942a22da85ad5ca4316e7fb7fe3c84501fe1a5b857a5e78557b2bd741e2fbce0036064982d5e2d3d28eea6ef2d7cd875848758756f246b481dc12ace66c481fc990219ffff033fff3442073538ce071cc6ec6f71533da4d6b10953b82cf71d0f1d644cc9344b032ee43b7de7a85eb7d7917c4798e05113bf66632ad45471119b7ec4a31c00a272038af0dbb6df8404a73638d4de93e747dc280d3a9a7249427973bae22e0dc449dc03588731eeca9e15bac6894dd5ee5cf33a4532a72e7f53c0ac12f199da235525b40391b7736f467f62f98757f77f2fb14a284e294fe5d46dedfa01e827cc045fb82c03bd27add613cb22aaffad78b3e3457ce19bf5fc9f0b422c0e8afd948182f7654203f41b2f06f20cc0cd886a471b688fbea11cb6e6fdbd1956f102359af816093fbe03cbd962d41884b186186449c703c25aa77d83c995549799c5818ab97a6940245d035939ceb25878558b00e8b3ca3beebb4620961890e5853b89d075129e308f0119036cfb520b6bb730ca6d723224d2109673d06279e9d8f7c2ef62a7a1ef6e0f35fb0219ffff03344bb54c1632c9ad6ff1e8a7bb1b400857abb8349f18f9433ed7c875b3c9dd0a03aae8f619e2df2dfec3b045ac0e9b033e0954e057dd83cb373f94876eb6fdde96037a90b3b58002b4caf9a51f0808ced3fc9fe12879b4f4e635e6d11afe032cc61903eeb145f95530326b13f1eab725f782106eeceaacc40e57b6c6011eaaac3ce243032051e80d6343d9cc3f792c17400d65b4d549d5402df4a59e73c1983dc554234103aa94a9a0a84351fb4a2cfde904f38939f9973619e598f9fc7763865b40b78bbb03623eef400438df4937b842a04bc9e3abd8ebbc685371ec445e33a56271a017eb0350ff2e70f791dd369466ae35f1543f880c779518714cd06f08b8ed7a6912b02b033f84cd3a5f9e4c25c2aa2ed5ddf739b6057b5ecbe6d39003c05755e7683593b003b94524ad7781b51da7e4e38075966f2a9c412e6733456c70f610c370cfb18fa6030d187e4c8ef89b244804ea29105b66daf95dbbc007e9a6e68920d83cac6935470327d3e1382ff69cd96ee4ae7e26c0a64a8738bf2c98f1a6fe82063dfd95ce67850219ffff0380c4f50f72bcaf2c14e1c0fd7fa308c90fc6d3871865e3f8cc9d02e1ba6a5d7803708be4b76da8a98aeb2ee61051428703abdaf61bc6097d9710dcc43fa050b6a503cb00c6573fdb25b5b2baadf450cb33fa162b157243afe12a354a0f16523ffa720380c40ab2059fdd162d3612200a95539917ac0eb6d89a27154973aa357da288b403a34cd0f25be094dbf2579416c4d75c0ce2a8ecb339c787568193578de282b34c03809e874944301d09d64e05f801db24637cbb08a926ba33c313679e0fc00f163303cda045f5b5985a804558cd681a2874e4cadbdd348530e261b97abd5b0995155f0386696d3781e10c3c448c43c00a7f4cbb568e71139d64386bf8979b1e6305a9830395e934ca68f6617fc15bfaeac0728c2300330e76c122198aa40e5d24cfc297b203cf931569f3f1fdb0e8aeff2f025ff780af491fddbb61c82808fd49f6624dc670037a10385675f72ed5c78364afb9516980ae506bcaaa95fe56bed401d8a4c2beef0382eb6206af521bbd1ab8d12858a4a4e74e88731ed22de66f43fd00b75259210c038b8c2ee706c6351e5585da4bb83f5bd929190a31a726f23dbd99682120ec481603ed8092d76c6897034bfcf2cbc379a4913dd5aed282c686f3b3edeefb8668e8c103e6885d985ca9e7f16385e61a3517fc281af19be167765d7407f1687248fb5f86033e20a8307ce6b8ab2a209272f7e048a83ef6a019dec0f2fb89fc9107e3eb930b03fa130ba1b45e5165ede3cd08c76a57e3eb708c13165fde76b5b6abb64fad5faf0383f1f3b548594b52bac93e2148e0613ac6ce30d4cf188002ab8afeb91b21fb1b03ee668987773c86b709b2df0b8dd101491c8d46d616992e99c3180417fb92a38f0312bbc82ca914db0a1135276a52ebf95b586553825ca8e02135abedf5986773bd03bf4713ce840f7cedfebab7b2b601aa8897f08906875b40dd425699565eea6ef003823727afa1143c2fb1033018b71b58e3a96b53aff2f9714e323c3ef4a85f2b3503e2d7f57339480d470c7dcedf386273e6417cc91fad542ed8c356b69e7946b24203622a028854114c470839e4c43ac7e06d4b925bc48386c5bb1ff661a2fd47a4680340ebbe901c9ece632ff1fb314c3994c9948551a97bbfc95e66e33689f33fbed8038f186281541f7944a12ec3a81db4c2b60750a46ac5d4a52b2005a468260cb4350335d6d2ce15b164e5326d3907ba0854c263e62da03353fe18b83801d798e45de203f9a309152d145807fff67f000db46aef94dafacccc83c2b0b07f55e694d3e4ec03e9d3d1d7222c8167f2b1bf50555fc627c165f38f557adfcc9c6365b68253fbff032fd74cb3d568cbccf9cf9abbec52243840bd2e51bb5a7e83979c19728dcfdfad0323ec67ccbaf0624c2460414d5c99a2b2a118be98c45786f057c301d255f442a003ec250077ad08f88386c389c3068c2df6405a6849037bdfada7eac1c9e97c759e0316dd558f9182e459cb7696df6c58b9f7c9bbc01e5df1478851508d2bf9c067f303b9882f2451744d806bd53dd75c75554b98a6de458d01f9c6572846fbaa603b37039cda80f49038ece602f582f7c889a234359cdd7ddf788300a8b8826637b7e58003f5aeaf993acbd2aa8ae0cbb9e6ed6686f91756d86b1117939a5ee98016a3a80903ee225ec5a62a33889dc413449c8e185f90a8211e62ea64fc202260a0d583ab6903a2f2df3f650155ea5ddfb47cd44b4096ae8d4019948a6a822a9dcd7ea6698dee00581e02cf5c4c48d79c05e2f32a4bf58fd88ac9a4fed525a44da7d22df5876ab25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03003f5e1762badb6c7f7c96b6dffa07872e76db974e92f8244223d9910c49073300581e02a63870588dbbbe59bd2daf6ae1aa4ca2b3349e23d71c026b37a87b53404305201c031064b776ef49601aedd4c4064504f2dfff4cb78f08bbcd88ef471b769e1a63a603d51f07f18410e8b1e74cda9f312bbd9838dd51aa67639c1d5c1d9f9e1d5d312400581e023516c111036f59d6a53feb8d9b06e41be78e5a697fe9f266d70758b3085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02edd0a3e50ef9a47d08dad158e02c504fb05bab138acb970550f9c9b8874317c71f00581e025a78c6a422d0a52101a22d47fd64f8431bc73a8d96bc80e896a5361cf64323509700581e02bc2cd0ea44b645ed303f696a418928035fd761491f586cfb0ef3be8b704501dcb4c06d021949eb038c16b645e845d08d983ad75a74bab0e400f03114063b2d20aecaff57f62412280219ffff03bd545ff3cc5c9ea8a5196c1176a9119e0c0eda6e7dc9e8ac0a4e150c795588c803ce8569a8e6f7a607b29d03cf4ebda3d68b9a3fb8ed6a47416bb64f1bfd8338f303de6b0b6a629d52fb87bef0929f1353921440e1e4cd83163adcb6d0ee860e44060367e651e005e3aaf24ca341890aba9721b82a9e753b5a4bb352a49f15e211872303652f228ddf1adbc5d28b10b503ccb81396bcaf847c5595d2606273361d39ea230219ffff033d687db22bbcb0b950fd169d7b0085fdce7cb48be7d188866e4bc1753acfb0d30219ffff03b9d43fa900ffcb0a9c33950caf64f3211ed87c4b1529435ece5d94c696d7ee1303485927ed174a1374428d468266832024790764ba0e60df92fce40fea73bbabda03f68a131f6a5e6ab5e9e73a2dfac52a314425960a4bbb8cb090002b39908cbaca030cf41c5e544489838bc2838425c329cd37272660dc1855cbcc37b6fba80366b203bdb7b48011ac4a4a9db127da55f33ec4a0acd122faf091be9021270e707c37610311f01af340ff8b244ad0c9fa4467271b7b60fa78d31f2d078c949209010ee4c703bd40fa0f52cbf540379490a10cdea91bb403f0e8c4a12bda6f6e25c5fe1e9afb03cfc54b22feb2a9a6840409d9ae8867a2a88da6d68950bf844875902cf48084fa036c2d09b6624b5015a77a36d927dfd9f4695fcb8c112e56b16bf710e666c734b003128efbd658e9de95f5e6e4589e04f5583b35a5d234aa81a9877e4c2a0a4b1f1303118733d1b5505007c8232f7329a224e5c720c8174fe714d602bbfcb55d9cc16b03ca91f8614ffbfd6210894e45e72a9976f519748867f869f3ec7185b5f4802c7403ab8946ed20a60ba7b6282c74a7ebf02562dd043d7cfb31b485914af894ddbbc1036fdbbd6b1324ca3e7e950f03f3dcb8719f2705547ec8d76422b53315eb5a697a03d6de727d3a215b20fcde089b7edc56148ffd2f6bc5aca918732e7ad61333109200581e022afb1013859cace8684d402a12f74c94511db788929fa16042ba950be4443705091b038e68fa255411282312f4251a2688cc1d9ca6375df4f0c789e54122e8a5b0406a00581e0217dfa4d7e096633fdaf8d4bc4b3fae5c79f783a840d0ade86fc73f5e5c440371f54003ddcdac52b9c4f84768a6218adc95d3499fcbded983d1693dbe3a72d49254e11a00581e024476225df5f6308526bc2f2a12cd04fe681519eddae0ddf51b87333b764b4a817c7ffffffd494ed04003c44d55cca31de1b7ccc35b636d1343c7afc9f30bc77d675ef76ce6261a935e9500581e022a7f896e94390be940c59748e686f15142c87bc86454235a0e6f5cefe945b2f3c3d97200581e02d95f384b93ba9af9e39c644d7dd52b0d6552dd399460afaf5dcd2c9ac6472386f26f28698000581e02c401a9a7899fea61f4bc046450f0a3f94db4c20c684e366866ba308bfe430f424002190f6b0365dddb46c60e6f63e72e26cea6a0bfc1c648460dd6914f47b3b6a1bc6fdc1dbd03209e56d5d980abe7b2c6ebebc2c3374a14b054d62bc13f1f96fa7157b1214bfc039210f36ae521cdeec5b76d3804b4a5df697fdbc0ed9f9d4c618b011b80325de70219ffff0395a7de8c7b3fdcf191e2e1173670cddc08dd7495bfe5ac341fa057a4cc38bd2803d7955b18e1b02f045837d60b2b3cc6518ea1b40e50ed14d0511bea10bce5fb6503ab0dc8a7dddeb5c1cefae07cf5d952d68d1b598d10dc23e55382534dc3d03d69039ed43ac009ba362209a7350cedb2cb822794ae44d2834d8a263e12559430f11d033df088e084a1782796926f296afcb2759de535bfb02ef039cba3ee9ca4f44acf0377f19baf482caa0b4dfa98548f13cfd42baecb3f1da5d78593f0fa08e55dcb6503f23556a1350f86369a9b00bccae46b47e1d1f5adc786243e727144f3f1a9707c03ddc4d9009326b7b704a5dec6c3c78f79a961e7c8bcf5d2695ca729cd92bc4d76035427e80a4e63b51c04b36cad9b91386a6f69edf08b71f8253152d0e8bb05e3c2034f5f67ba67d4f2d8e6117469db45d98dfe9cfadcb776efb98726789c41d30b8503f7159787b33d4095ed44b43ff86a42b6004120827c9d5b42726963ed3ffdee1c0309849380e73b6ff516933299ff6f519ac8d447de65d584f8eefb9c9033d357a8034217b1e05d99ae32b955b81b5eb6ae4050fb9511e7450eedb1cf315e5cecc5de0219ffff03956dff3d4cad7dca04696dc61339a141f646adcd93fa1e9491bb919ec15e11ba033a6a140e761a852e1ec775960fa0e985553ce18630637aba7e447933b92c2d7803f41673ea4664b98fae7455d00525bec01fb66772f0fa41c7e2e6b81789f5fe7b03dee4ab024aeac8a15b01981e29f7852c0f4dfc78de38e287b0e13958b739154403997d2728e5a7a3545ac6b3d35839096a71b79be7c69251249b03e9f6f80e62760312e8f7d5ef14d4cf1a819d1163a624f45cac58b8343ce00e00d913b1ded4d3a3034069f1597e8bf1fd910d28cca326d547463246a449f30feef5931413795072bb035c41ddefa2c12e142c15ed34a59cc302e9a047e77d4295e2d7913158d10f557d03c1e3a93f2752e5e76c9efc612cb566c7a7b2dbe833921c6aabce30817a92c017035be68aaf0ba035fd8ac5e2af1f064e495a2b0ae0235815760dabec2eb6c1cfbc03990a8b82377ca7597688040c7a81f106b895a97e6413891c661ba7dd6a9d6c6e036103d66e5e2e88117019439ead693291625ead3b5e7b85645611fb9d3dcae36b0301a9ac231996e2794ee1d38be106579e8409a72b5505bbd15f91fd6e4c66f1a603f4a69c74ed2a8cff6899ce525415006c3c7375df85c5ec7e201343ae357cd0a30219ffff0219ffff03f3a472421e6a193d58fe7f6c756a27c44799c1a9ea38f6f29978f0fef87d1a2503bf590eb9a4b5fb0fc7ff5ceb37fc2c74ab2bf723fb894a9c712680a2712793d503aaec03d2d3883d8041feb0b2816cbb2aab2e596b3f7e2abd4093983a1967aa1c0324fa9495048ab43eb33ae465ea91986138ca37a3fca789f6b25c56b64bba440a03b828aea4975f57bb91135e6b60ab835f60c12a817a75a6ad1d49c0dbf5b2093403ba3fd841f311c41b6f2179b69023a272dc20243fadd49560eeabeb7bd24c23d103aac8cbcc3cbd5cd7eb392bede2449d8667df2aab4f58b03c57a00d2e2e86c6b0038a31449ed7c1b39ddf73f2d6d25c5b1cd4fae7e2601f01b162907b398cf0e1c103c4d2b687c38e83ed3b107fe4728a467933f2f067986a7d111e310b5ce812f9730362c16e6873808d3e403402a6a6051460aefac1f1185a1904b8e8d6d76ac48be303449f48da8a77605d16332f10d7676c5db88474debee6ffc3e857179b0128d3a203a25bcbe5ba64f9a419db1fdebf1f2e63c688693b95017e0fce69ca0ad7d615dd032863ee22489473c340a433a9335538aeacebd3d0c6e79c5b40cda685091e175703690bc3b5dc20530a72ff2c7509e2a50b44b842757b008bd76546c0dd8006d00203717901608ba2e214084861d1187c6911ae28d2c592c66f248ce55b69048e2629030f11abfb8784a3b99fa46370330aefa68f42bfbeeab1ff883fea8a9d229bee390305e1bad7b6344f3a7e1be35f7154239b883a571bf2b6fecb5d715229ad6acb17031e4548457b0c9129401d32e56fd14545a3c54fdeb4afe999cb371e4f8d4250e003fdd4c4959e024d68cf880ebaa21c74e23871710e88f662346b79d202919c610503ffb9fbccc12fab17a4ea62e498b7504d8d58fa81d7c8b7c0cfad199d8972a62b03d424ee331fa0af595d12a0a7a42916e9b907e4c44aa07f557d8251ebac5ddf0a03f85d4108b7bf8d5be0bc61bf38a5ef3ef77db7188a972758dfb98f2ce749fd93033780a5b38e75a0521986b2f3e2a077066606189228130966ab6de1f8b8ce9cd103af008d06516849714b77928082b212005c525354427914a0b4252cf3d044aa8c039a4407fea71be3e1427f183c479402840f0d650d3068314d50a2fe192ea1367a03978b38cbe9f84232dc2084f86810329a6004813d0bf85cb21856ef4bd6eaa8b503d4eeb735b2bd67f255a1e3523dea03e83827f5790a67b175692f0c91b856f8fe0384d5ddcf5295317979cfb585acc9cb7c8ad6fb7c1ec631a12fe8b55526221f0603d75f9dbab19e3d36373b603368d96c4031375f0940bc700ba5df366766db726d03521841eb9d25084d1223f4064a28f0660fc152b11da1793f15dd768348b6383f03eba25f90218e53064c9f762e090a04fd57a13ffcbe88b77d737dffd677135868038592f9093a010b0dc627bb6a25da15eb14506849955b2724011c846c56c6e8a003c6d11b53478c253b2cc9232fad7463307c0d9693a9159d7dd6b645b38e5d438203f6ea63d26c31cd4c2298099af2ed6043f34aee96673d57f1bd75a54d3a49370d03126e62dca1b4098bfe8a5f9f07b1ceb72e816127aaa2857a8d5f769d6584603a03ed035f65154c513798e6266153c6cf8ca6159679bc2407bf09c84b123cb615c003cfb520af205d6bd75bad2c654f7da9a1600863f3d5593f7f9743297f88126fce0300eebf0f208b0ed8b7a054512e18e932a3cb258f4b62f8a314edc781a3b0bac10352aab2f47cab77391b8297e0d0d6d8d4abb56818471fb77cf9398bb4a2be41c6039cd1b75392fdd3e9534d67c8d0e57293ba5490a5202004c7da9792d974212ba0038929c56f1e12385944a0e6f6faf22f6d50b0f06c0fe02694b62abb06164e66550352e8e31e8272d574e4805c7c390584b528d35e2f52ecdb08cd2fb60c3136856103f41a6100cbd948b6c6c39419dcc111f8ae71d454d607bcd5d60457509c79665d037aa6a6b37d983fdd4e46b36900edaae88a304901c4e095b6ec33e86dba5b946f03de22430d916fb325e688ef5e9dc4949b0b19d3a060116cd68f1ba8ece780ccc70302c62b6348d52917877f2563862aae58e50eb5e1fca7646790cf018be439e8c600581e02e242f334f228f75b68eecf0ca77b9be2c78c82c8be30030adce34f384f43ed70e603a0bba2f719f43c4f1d539c301b47af574d7f1dfd2296773733934b3895a3662601410b00581e023370982b7b9af80ed08131422de566dcf5a3ff3f9e3cd7e9478a13434c41010324ef728896bd73ab92ed0ab20293870449d24e2867e1d092640c9cd4beb3b08100581e020e0482203005335638d6443c4849f4236281631b69d821e3623e3ef2db41040219280b03ccb42a808a4b7d6b47fb58adb896bf9ab052256ea71afca26905eb28ece197ea0219ffff0219ffff03f15d1cb7d68ff27596c98c20a43f7be63c8e2baa8d8c9aa72ff31c8c7b3882210219ffff03d0906431bc18c46fa86061f8629c4f13329b2573815fc5b685bcaafb0a5cf6f2031d2139eb774e920b07b969012a2b5f66e7fdb1524b18ec62d952dbd4fa723ba4034a1cacb8687d0a14c9793e62371651a73c53c3d2b4fee0f770ed5c4f4f401a78038e3b0f8f98e4e39f93141478884de2ea73f0695414e7c2066f44b7c6355650050395d0a72733c63a6964cfb8cdec18edb4175d02a7d5df9da6b9059c351ef884770396dc559759f44df7d7fab192f0ab10246730d30cdb601f918513965a37fb262d03b49090aa35217cffdeb1a5b136244f8225556dac19f57d3e61541a3c32ea2b2c03a5d68d5d2496d9dff974135c899d93217b66c75f7d43c6f7d396eb49ddfca1c9031d3b3dc11cfb6493b95eaa71b9f66d754b7d1a462458da64221d51f55d042afe0388070d5d3d2c60af8a44782c84ed21e0b92407be7ff674e02257b7ba913bc8220323320c8aad83a3de7bad9189c0c36a148bc409e183b0def080ec8bc6dd02ae690347f6b7d5215bf618de3264d879262c314b8465a89d60f3ba8a7ba39e1995755203fd370fc5a6f6e79276763c64b4111b16cb779e71fe599815e07f99addd2642250367ac0fd83b8c9e43132de1fbcf34ade5e1e08070f4132e1de2fc1da896ccee6303d5ab714401372966caca4b33cd4b74afbe9da582eb40445b846e2875408fb54e03d1d0e9fc391cc7e4ab892a43f89ed987a6bc8169ed2028d43d560c7a13cfcda403d3ede2e2863d76e8aa71f2a620a9396cdb3b28de999d76d62a07c28f50cc403a035502a77eef4d6a4782a9c61a4c7d3242d3958908fe742df11410530b98fc43fe03c0c766dff63844dfe45cacc4f737e6acb365e4938872f5f9f556ceb497322a6f03890fdcf39b480814b10b00581ad8fa6a72b2a261592c881a434fb8a55d9bed0503738f5eaf3d2006a6b0d790b9519688be3a770e97ac69ebfa044bacdc7b981cba03e0819ec672562d6f64b42fdad366bd36ee5486cbf5998398ae0720228ef39cc903a5579adb3ee9c5778af992b0a8ab5696c0fcb9307f6d66380fa5fb46281040f80393f04d54adb7897608d97e19cc542e5e254775aab3de30c21f93914ff585909600581e027da16fdbc1c8879bd317fa277afbd70a726cb564bfb8332f68c3fad4de438a35bb00581e0249720dcbe50d4bacacbb76ba17a2cce04f55a9c7f010710130b22a45d45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025153a1cbe8fad28b1aeea0c77580b14faec6249322165bd69282080e434403dc76e0030b2f9f330eee7e36c7f5afb776e6057dd6681dd1300bc4f17d8c8d62d63ddd1300581e02fa02d36e63afb7b916f86811518b65a532206b05d23c8be7e5dd1ac9404503ccbf0a7700581e0263685a4affcb6ec837896dccd9b5f679648e398bfaffeb61ee4d1329085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0260cc7e30ce3ec80ad698500991c62dfbfdd4f959a0f4bb82d99fabaf7c4408cf4d30036caa6f16deb951f38ab703432deee946d9df0c7d672253979c9922ecb6e112d700581e02f4bc1af06bedccfb50d905fa12aaaf0dd153daeda50345f71fd9dc68145820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025c519220ee112fe235d1cc6c4acef4189bf7a0d8314b3b0a4097df557e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cf129b8ffbde322cc093f6e12afe40c4c7cd28af42443ce9715f9612605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d9be0369dcd7f59b554289e91771e5cad587ce71f61b5c387365b1e29492427271f0dd03d0f4df0924f5d9a11d16ef20b5bbf2ab68dedacc28179bead0999dbfbff6ec2e03e66a1575f0af66625425e283bfad9103e8919fce35b8c35303b7e4bc7332ed3f0332695efe243462980ffeeba84a29ef0f81d2539268da0f1d1d58d1a9c6b199c30317e038430189405e91e55cc019300f64aab3f922673bff163c2399fdaaca9ee603309f663d02415b1ac5be82aa3d83b99c6d4b4e07767526a4b4074401d09ad067037476c4ec54feec4e396b742f6db6b2e845067ffc371bca8665ad4030c0f940a603a185ead6a2db6b26db427e06fc42656f75bf9e5699bd136bf9cb6fce759b09c803de04d9e1198b7ca2201568a896a259a6aa7f74081e9cee2c1ea6cf2cdcdd6edb03079553f950c36fc16608ef41825d297abe8da7a06d55d80a4c77eb7d013aff03033f5a990a86eaa738c099d9365f0659e872d0f8682a7db4f39f74937c5ff50b030365a1cfaf88d44426ff1f0ac03cb27066e7eadb25e1a14879b2fa98394b6059130219ffff034ed5db952c74b37f9551af20f508d3a19dedbbbce802d10bc1a529ab9de53aaf03a91aeda3d2f946e4821596fb93c82cfa23d81fbfb1d9726cdbf2b291dd6e01c603b5ad8701a6a99901c10d9653048b7035d3fdcb5bea0e9da16f843f2dff2e421f03ff67e32574fd4241f43fbac1e01b2799b03e47fc2ac6726abd18bca97abd0b65030a318be06f255be325de39c10405f6e7d8ae8eec6d7347a9f1fa804deff43ab4038c639e1fbca9d3fda475b7a527c98aec824d7ad0850e81595f991000fa22539a0359d1c94f7ebc292928adfdc23b2b800a028805a476d68ba120e1afb8cbfbaefb0396b90988406ca5e015b7d8d1c0564b618330759f504ea5d0c5a99c18d728bfba0219ffff03320df8f8e289939db0fef6d1694d9f990a473f6f14fc03cb3610dd9429d6aa370219ffff03fb75cc9170b9e70a1b302657c8be2f94cd04eac92e3499b27047536d79c3f0c603eb738965cfa873642a82c9494ecf46b83021164b67e356c64ac0fe8ae7feb613031deaa5cab57c672103fa2013d3dfee111a1c25d3f9d24b70c1aa29e97106790603069fad4f9d8203e2c832b4a138a7a601f4b14164b4c747cac3a7d7b57da6210b03ae235237e31f13fa1a49f54d50cccc35c75642dae63e286589be2280eb0401b5038d7060164be7d5a8f3ae5118cf04fbc1a713d7d94abb05e9b8e80ed452ffa54503e7b7637dd5738a8ad76f94723e03fc95f432be56a0cb8d9ebb59d4996e690da9033e1927e1883eda5c034ac82db3fa47e0894df75dcd0f798727ba24a40dea896e0379c29a5fd96b895dc42a3765faaa13928893d741150bd16462490562e563c17303eaef184d965f86869219db90fa11a3f5e79defd23605b4e07575a43b4124286803a45c13cf18e2635dc341385e55d2ff8b648f9adffbc68e209150a66a75ee3b9503309bc1b6e79de04c59f0820842ac5d4c5b247082d89f55ed863654d93e33d3b903c83a3a06d59455f02ccb294341241547cc2441fd4c9044f36f19183ed7622c5203e9d0287450281b5b8d844e8498810a5c2a88db500e0606c0d15c30ba211106a60375d7e20f20796b8e68eb9482e81054b934ba1738d72cf9cd2f551bbeb65eca35034b433c569cfba88b195eb4fc44c024ee88c165c9840a917ebf75d014bea59a3003eda1c505c7fbcdd5a87702f51ad1878484de8f2ca1d1cd57f4f7735173f1df9a03432ded5c9c03aac91e99dbf923fdc7bd81515cd4b15fa01097096c314b64ef88035d083afe14939bdead1d69d752d581026f1255a70d1cf6d8338af900fcc09538031fc688901abec84736d97cd820f8077c9f2c0fe9bb85b789f59f831eeb6fc9dc03272cdc25dd74b8ed76c203e7f4280e7c7d46d41da269277c482db9bb5012914b035d464668512c1903ec9305dfdad3119ab9c0c04d477859540f3f914dc097c34003e627a4249479836c6d9eb7f41c92652fcd9f4ab45d4fa9f9257e41a10daf4ab303112b27edc6690fbf6b65dc3380a0e23cb4ce9038172be0fd579b2c4f5f101f9e00581e02195493a3513a7028b071ae55052ecef7bd860fb7b5c9085a439edb371e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0252075a55eb75006c048e24ab5ddbf2048ce3949cbadd5c6f228d0a87dd43158e5d00581e0287542c0f7db101875cd9c9b38e06b8764161e3183d509f6949a7f5c1bc44038444c000581e02ec1c7c4cefdaec6dd464ee8eeb3164e680c929f16a751cbb5287bc9a595820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d80c122bc3f0ef5cecf397b92417d1e529d5575a303b91693db82f0540440567ec4f00581e0242e401f8f24e80d56d1b0b93b3cf95ea55a1d1a6b362449f1f03ce29c944086b4dd0021948e303c11f8154503711c2379d5cd056241e77186c2e49d928c0aa70d93ef25b1dcb7f03c353ee1f40611d77840089def09c2c579e8f531f3b78569a921f4e9330ff5f520338e91afcef25ce46ece7c332ace7295b138538204f3a0c00986b5087ba4a86b303ab43bdee20fac53a153586c083e6519423d3b85f8bfc278d72697f187a8cf1ba031187b92b4c960b431156bb2c9bc8fa635f3bc92b78c8b7c3e6a8e220b6f561fe0369e92ad5c7eee137bcd68a8b458c323625d29c0d6bcc29072f58d8bdb5c495650354c30c42bf9b682039529c8d2b46811ae776b87e016b84c060fa9b75e9f0ab67037e8466cc4f284baee0da2994ea138ade15f888eb03a2b1059265e6f4c2d594ae034ba150e0087747f96cfb9b148dbea767b9d4df32854f181c0a847c80eecfab8903f4f40446aa047ba5c0acb4b068abf3de08520352f98dfae07e999df18c338e9703291c27942fabb4c3aeb4bf0df4546ff96abfb43caaac4bf1e0fffb72a0187973039da25994ffc4d1f43c5ba9c0526adc0eb1af9f7ec9957307ee36a49d7c0752e50317305b0f02bcbe59f3c5663850a8f642644f94fe43c6c1b3c2564b05329decaa0329571c92be3a00bf6a92880c3045b8d8014fcafcb2e4cd057a9134331a8f1ccb0219ffff03764e008bc9e859d876ef0698ccaa904b127043e438cea0e54caa91f2ec75747503b7c8aac084a012220e0fb60a34e3b76b95b14ed4a5a2700951fd09cde3c929f2037f1e102856ddb43c82f5bcd7c0cffcd682e2bb62a86ea59a12d74b059c33158f0359fc58ba78b8d4e7d0306d9cbf5b2b09720cc5e933b66482b78d7a77b5dc703b030cb0b0294007dee954081666779477d939d59f6488990ee25cc59fe7cad1941e0219ffff03f0723df25291fb33cc1496537684e00ea562fd88138fc54b4a2bb94974ec1eeb03355ca52478f1e18d76c6e5491b8efa69ca38edb32c425f367dbc31cccbe530a1032b0f1544adc2145a87aee2082b4c2d374d73fd67e1eab2e7f6fc53b798eb248903de5c6ddababa0b976c252fc6eef6dd87994b4b3643dd77b4cbce1264712c08b90219ffff036941c1d59898b7ef012009514c454c7b1556ec09bfc81e97b77b7efa2b20dc1c031c263b4613fea98a7475c3a8a251114f87c7d717071bea2385b2e3b3ee2cfc30031a2c7f3b53d8049d09b03ddb0295e4cd2fa251e4f421c0779273ce2cd46ae4ba03ddbf98d4bdda56729ffa1a663a1cf5d576a4dbf729a5cfbb59ab4f3f4e9fb93903dcc0090402138a883b85274ee8ed79e8fcbcd71346d4f0ed9a7d6b989723ce11031e1a1de6109114c7427c26ef6d05cc5da445977d8cb4a709e7a08ba7b697dba2039ef4d49f552e1510ca5c76efc617ad92175b550a7bf1aa87ed7d6296e6b76f2903484dc47b51cd19df6d1679cd1b81f13470b74dfaeec13fe0bd74a71ff84ecf320382e7d89511d4ae0a407116b7c45e79adc7439585c0ead4b9e87468f3fdf63d22030d6949a640da88afa6bcf1ba53f67039eea5d7dadaa10c16074b75e473c0f81c0324a86aa465655bc25b85d88b52425f49c49759bee2d43a4046db9062f3b6f59a03b860866c929d057d7dff2868e25c8e0522feb8080bfabad2a94c68f0302edb75035fcd8078dc3776cd1bf983592e85511f23cfa4d082d80094d24a99c46602840903f886493101f12bbafad2e70f1e9cbe8ef0cb99a9d50e6e270d6fe1b23d04de34039b51504c61ea6674002832667579df1fb083e1e406ba90cbff080ec5c667d8a203a6b13d743a9c3d507f78375a52f032224d0bcd4086387f6b8ece11bc6e4cf371033c7550ec6aec3eece17b20e9de8b369087d4e51b41b7868bc9c4332b5410d21103dcb997093cb5d22a1f1c0c2cb09350e0c6503d8c22a7095e1f5f3792a963512203245110f2e8caf8c47567d5d2a6e4f6705a818c6f6e400940072cec62eab4e378036f440d3cc50499854a2b3225ba0af6ceb253da7c6845b099ee4dbbdfd8dc7e3303c161ba9df19c4cd026facc9574f0e35385d82186670c07cb970ba9c93dc8b69c03e6aadaf36d0ae7d0c56245109343b02b5732a45bb5f4952df2815f1bc35aa46d030e0df3b53d2e817e3b92e12a83cb887f6d090a917fa0f49fee82dbdf9fd5380203f628d662e5c2047af4ce6e152a728b9a0aca91cba0482002fd87fd4cba1e8638036b9888ff3d3f81346c38a091d4d80dfe473f3783eb317d85c2a1d928ec04c8ed03865d8a916cc58f216f2d37a2f94bdad1e0a5fafa26556b09204867037af0295f03ef031226a0e68ca784ff4c7f9b0199ea8ae11bdb252965abe62a665ec1f850fe03e3f9db542d88f037f3f39561e004875c1cd8317ecc397492528e58a7b885bd070345b2e8cdcbe57fa4a45fdfa5f20133092cf5a987d97c24f3e1c690955e4ea2ed03d166cd7343f0bff683ff9b1d4e57b6165633147bf39c519dd07693ccdb18232d03a5bc7578feb69d4a0cc0ab62a5dd866c5d542e175d801b1fe96bd3c245e15a0603067a93ff6c0c30916c54edefe2881b13329a6845ab308263286f4eedc679e9db0399d3033f6c39af575938e56d2b6947944191b6759151c8cc5943d1990933e08903f7ad70ced18e743c02a7c9d2206636fba1da629a3789b34ab27e756c30f7861d032d61b7ac1fcd3c48cb531d6dfcfb3a73389abfaaf486dc06438369a6063a8b7c0359d7053d68635a36880ba50351593675574a6fac3e5a11f8b3e83ee378079ae703302f022c64cb51b70a30a2c43fc8aa90978526feda5dd15435ba1491ab88918103522c2de7220fc58fe4ab24d16855af5993e4230115fc4dbc8d5e7cd0ce9cc6bf00581e02d9736fb6a3983ba3feaefdeac5f8782d41fd20889beed1dd268c119cc65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029f9f785bc8139b00a9a7eabc35848afa6570ffb5d9d831e63af3baaaab461166a9b0a01f00581e02659ea21c49d7d571af6d33e10c344b09d170df49eddb3863d4d6e00dcf4309a7ba00581e02a03ff966eb3001ce1af94587d8849eb0432d7829730c4832ab27735c6342271000581e02bdc13e82d1f0c4f3a10c025180359b0b00f5e483520f093384980ae65047038d7ea4c6800003283faead291ae7e1722cadd57ee8a5dbc9bad986f87d9c6c7f44a96ee7e26e0000581e029b458b2f8298241659744f567cf381885dda250721f1b2e25dd82f62be5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0364037757392dacb82522936d017ec5cf8b38f7a7d2380ba626be3c021d6815d100581e02ba2d1bfdcf567ab5179e99d2fd882c062695dc222d89b302253e466d37440278408d021969d503a695f4c1918b206ea15c3b67a50e6be9d63142efc709ec0eecdca911ecdb79ec03a070f1b35651a5ef26e3455b54f576a7958001375307b481cea4134fb74c502703ef6c017207f69b02717cd89c6a0f0debc6daea0b332353746f20339cc9766def03a9272d8705c26594691867ea0a8fd6d5ebc208f06105b90218820db03cb9277c0219ffff0219ffff033b317ada02bcf07d6454e0f7cf475ab604bea61b8d4b728ad9a38db43031cf3f03fb6504f25c5a01947aacfe915e7528418f8004a0a450ef03d362f3c1d650713403cbcdf94dcba48550bc4213d520cd65fe939fd59cc9dcb716d5dc1fb4cda3e3d703a315018b6a5327198ce2152f287105d9ed78537c366b7c7ed003a87e98d7920203e7ff80635960b3468524b79700a02afd13e4650c09d6d57ba5db4bd7673f7fbc03c7e911293397357521de5ee3578129a25a0d913f4c6eb7585ed7c916a14aa8c00219ffff03edd4cd26a5fc6b85dce8954a0bebdc752e35e46aeb78b31beef99cdf54180c56032e46cf2ad30e222ce6a1e356ed3f85482d00ba05025ad653388fd42cc4abcf17036dbc5b9270406ae03b2b6d2abec07f4ba5c847758ffc3fc9a41a515a65e23952037736a9857997c78e9ea74b281c58334c51ab62b59aff03bce6cf1a7ef3d4fb78034b46b4c7574c4bae2ea9bb9ea137a36ba7696f90d874452b47c54968d686d70f03bf32b95710fbbce90aedb5519634264917a105705d912fd72b9aa8b318da11880385b5d9e8d2589a7815eafb93cd78493f8c296b8cd4a8ce87c0d7438c6a6f0a1f03e42bd4e4c906c34329cd8935d55bdff6fafc1644ddf5a9ea206d501b776d11fc03ab12ad0018e1cfc931b83787a226e09a38e02b3222071ea14c412dff097b5fba031d3fbac3b3a2c7cac1f43aec129d47c63d2dbce42e82b245bc7550cc578dce59039caf9be0f2a6b8159b22e5286484ab7e6dca473f4ae9483a17ad458f37f5e6aa03418b9dbec1683a792d3c777fece733dd502a2229081d80d1509d1a07ffb4f76e0315d624ef6ad7231d6aee81f9535596b74bdc0ca1e244aafac6c6ec529285bdeb038006dc29dbf6cd9539505e0905d85da32dac585510c711ec8f7cb4afe042ce880320e13083bd08a0f842ec6c2330e6fd5f2a39f362dc2feb5a881cc0aa85fa1ee50381217daed59555d12d92146bbac2fee4ec1226dd79fc6d3dd6909d5ee0028f77034a321a06a67352082b0d19e4c99cd7446f2c7afa41517be1613b2b3588ad771003dad3322308abd478280a5c32f691273c16b3d79d69231292e668944f0af9a3e4036b98ddae9ffeb03883c820d21f13c27dc43061ccdbdfff602ad5ba6ef4f0c43c03bd6ec3dfd05841fce864b5fbde9b49223753b4c5d8aaeafed57aaf473045555503d50936653b7e6e9c635d1ac85ef5b8c3524950cb6dd4fdfe34b8fe217e2a3f15030aa32a9f804f79a37e783e36cce2ae4d3572c9a33b140cee4c8870064d77214403d096e9a1e4ee6e15d9b5789f25b8a480ac5e26e707311c10510934410f67236a033f45b5265d265fca737cb971dd1344a222495f852595b563517a347e397ad3ad03680d8d27353371e65d2b8a1cabfe43e76f0cac82c0e91ef4e5e6ed4250c89d7403853816cea167e06bd4c05e95d30ae3bdcb472c051bb64fd4ca4194ee74372cd20315391ac2cfc6355ccc89159bcc089c3fafc5d6df09a818c7ce3a358bfe0dd5d303d4e394765c5cc8fab39ee48add470b41bb3b16e5339eae0e49a3f0a81a3d711a03a68a48e132fe303d7b217566fac9fa5d9a94bb133e82ae4e94d7b6c56288d7b303d17c67403b68ef0acdfa926fbab349ee21646c78984a4af8ac07970f188493b6033f8221660b889a07aeed14abec80f71feaedc48acacc22ee11e326abe9ac22c5039eec24b2602f2c61b29583159a10274f6ccc6fe85886ee71debb2472dfbd2068037bcdaaf6221512842ebda9ae289b6ffa55b274931f64b909379a7f7b875aebb80370f6164f230eacc3ac55e5f481330586d2ad960026dbc42f87f1424852a5fb0500581e020a5329e43181ba9d535ed1748ba178c6fafdf5079a01b7d327d1aa34745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024e1de9a29276046bfe928eb8fdb592b72b5d4ed7d7ea86b032287cff35430dbc5c00581e0254bfd575dbfdcdff70c4d8e51c6494cad123969e5d34aaef444f583ef044027153e300581e028cef2bb47b96427d689b1fd6b5e5057e3be569423fc7d39495c563e37c44066d600400581e0286dddbc4c456f164e74d420719efb6716eb34a490b0b0652e78aab32514402faf08000581e02645e32b16da16e383af02b10e58dc7db036d823a8aa11de8c46be1d6a54302e0e000581e020f356d411c04b5556af182e2d9c1304423a0c3099f2a42d0947e68e6245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03b1d7139623d49863313d0faa1bd1e71bf6f4ee40c562b987911ab75c3043030d4000581e0304f37d3944b9f14c30f1591ee78404cb8b706f74b1d946a9a2444ed8704405f5e10002190c000219968703e13b7b115065faa568dd8a0e415e2e1b771bde6df4f831daa3df80fa83d816b503597a852bdd286ad46f5a2eef79bc4aae0854907e55c8b95b4a67af7fa42b3768038154220f89d5182c5321f4dc4f666fd7977730806271ec8e359dc8d127fb49bd03a455b20f9d729b9581ad4e88aea5ef0482ab6783d62914e15abb324e1140ed0003e7a70fdc8b0863d284ba5433b8b4f9be696e18977891246bd01ac2cfca25e90d0219ffff0370f6f3627e3510ddef1368ae51825433be1f3c24598ff7e2ae5b7f3e3ec2f1f403e1c8d7e1bbe677587dc795191a7edcf72b375d14204ca0469a501bb84c1822ac03b59c28704240107b18c6614d95db8b0f70f90895372de699aae37140d531f979031348c7b571a6d3dbc20b818e3ebab256bf31d32976a873075f3dec963c808b3203dd0dd4c32a6ae90e7a487125fe0b85b70408c8dd988f9fb1ce12e56953e717d40219ffff036f522f3ef98b9ecbac3413a12f56323ae776f6c92f27b3ed65fb47c9456c8a4c0219ffff03b438e19b6f92a995905c95828856ce9599dc9a937a1fc591ec61d708c8e9a674037318cf8ee249b56cfcc06ad3d6cd49f252486dc3930210a4f67283559f10e01b03da15f3c96367d0407ebde867d8de6f0896afff7cb2815380c3c030dde8d327e703f936539ef3545c494d1cb774041395e637675276f529fd6754f91a32f71bd08803f64567ba5d159b81b8e3678ccc26e19e5573fb414b251ad94319c5a7680bc94903041a24a26038fb78f520c390e01c7ff8d2484195400e9ae4f44a0f54b71828da0323cc3127b197e14b52c920cec1c796c27ed1a2d8ff7ac86060047257a7c4b68c0386eabf0ba51951cd5cc1137b66f7efebcc21191056e4136068757c28ce94297003e5adf4e1573d376d1a50bec48ce5cc33712392b366d9de3df31097815a82460c039bd1988437be7d8fbdec99e9975c7c3a4b81fc9c92c04f08fe6b1c934d5fcddc03effabad83d2df7cb457b0cf12959175199aa1879eeb0c91e0c7e4d4b66706b810391e99ba6ae7d7aea264cba02cda42366566be41c53004970692328cf75ec57b8039fd2669b7871945705fbbd7297bb80c35388219148b3405d519108da3a248ffb03fad9ec43651589477aa863ba53455116aaebc24da2194f1131030729d5968ac503bc0bc9e58109869763cb575fd33fc42b682113d07c5e2845bd62e974e9cf471503eb38350c01b128be7488905b8df251b701ee57be9f560fd0ac8beee8473252b3032dc0b8e01470b1ba6ee88f33c0b1b9aae7a5658cc525a1c3f8823782ab4ea4ef037d0b080cc7df8401bd589ad23cc9ef3541b4bae71ee248ad987bd041faa347dc03c72895de1ba088b80b7e93d1153dba347ec48ce02ab9ecec0e7f593ee72089f003b303925ebf1eeaadf44e4855de9e112cdacf29f9aefdf021973d98b2c7ecb984032d3b016627077e288f127df99594e459534238fedcca83e1dfab40570ad28852030d1025acea0bb73c9c03aaaa3bb67ff53813c0dcb75c6a0ec7f318f36fccec0703e2b7cb79f381c056d989e0276bbf9e9a3accdb98c881c1319141062044158700032e8ee8ceb14e05c066c5d87d4fb07c9812ef214ab8e3fa74205a1a576441e16d031a7f99f4e91a78afa54e103226f04d303db6e472cf155b663c499bb458f418f403a437c5756403ed5c607b5e6645834544530dc181334814e5fbebc3865db6eb330355f6800b27fd8853f03092f64325001408e28c4aba419fe74933bb57f3932dd80307a8c281530ab54ca49ba602a17b53d856fcda46f4b4633e5264f7e0d944076703c21dad34198fe587822565eebee18c3d809c36546287e57d5ddce22936d27e3e0333067738581c841d440a6e3e840feaf162da095e30d50381637f49b8c4f9e3ef03469d1715294afd058226c50752b28dc51fe640ccefb17d656e8f48933138355003092bb16fa38816ffbb7fd4dab5c9b67f23ef5b1ba002f6ef2158c63e6d78ac0b00581e0273a9345254f97ba8b9954ba1b8dbd5ada9183793ee08bb2167e687dbaa46033015d929a600581e02791317ec7bf61f29e8a4723771670a5bb2a81318ee4670aa717cf0de4a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0279e69a3503a0e743a5aa6db70f63a80c98a60cddea5e83a04dee7da8fc4217d000581e0206636d73838aa297eb79209e7c189643af6ea6176b8e6797696e46d14c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0213478a25ff24d142273f14c2f729907fbff2da1d5bfce54f417efec65e4b07a11ffffffffffa0a1f000330d1a229182b88bdb2c2ef6c6fb68293e1f0516ed032e0abd2fe73ce0c8591ec00581e028a204c42af751c7a5c157f8472ef80306f8e03c06ce1655c65a2730de05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03196e6154a4ef9c4d47bf45a6ddeee8011fcc18b97347f69808d9a9ea60c76e7f02191ba50379f4d565e6f13365027e58b240f8957839be2aa6f3bc7be5f616c3a10f52eb5e03b57259d997911193dc7cbc92e7895d11004be54aa83235140481749a8e7dc14b031d675ab7f5d55dfc7f50a04a6888a24d3348ed6afe0fdcf3519ce80c63d0c0c503ab448028fd58d1ebe5a5ce5b0665ab308256009817f957593cc6819b48efacbe03e4d1a852847e18fe6d5b809a9b4975cefb34a6d531b8ecc8fcf1734fac2e0a7c03c9174c93ded3762d9a480b2d1ba1f606ba6bd72ed549c28f481ddd6186c67586030d619aae633eecc93bee545f3cb63f47050ca5dabfa3c815febf0bc1d2cc00ca0219ffff039c9685561ec071f5d92a97a7676f31947ccd749a46f3040af8469fcff12a5f860335c0be30e4bfc6d18e3dbbf29aa557c6852829556b01b31d3f4b508270e861060395a74db9c2a3a867a907ad45b3429c50f7c39b256c8b6c0db7c365c0401b9da303a33533ea9b18806bca98a00647158457cb1123ebd13138bb18a2ca5956fa2e45034f3927610832bb0e9c7ace52844f1798bf5757294bdac3be0430dd77f3c6e1d7034368506d341f7d69400e35f13d53f9de1e9de0738b2839017d62de00711324030219ffff030aec26619843b50200ef557ebd14c851a71f4096380faa88552863e5705ef1110219ffff033a630098e180c152ed8d5504260372014c65195219abc98c8dab7deb17ad0a4a03bf500affceb18c706b08f3ae653d8d87e2c9298b518cb946d15c202a74a2a3f30219ffff03dbea76ecad1c45abe02eb896b79f57a3970a5a52fe612520aed067152f67ab9c03947816794549e291d57833a3381a14dad02175dc32c0baf499bc9f16d5df6c6e03c72ed9897d845d1c846d41617b35dfc5ace892e9dbb31e5c2dab43ec94358a36035e551bc53a894677966dbbdcf6fd82cfa2d1369ff7110709e9907dc2a01d3eb203df06b4aff19a19fcfceed07eb12a0ce6352a2f28362014a7b61b45c030eb863b0307eb9d40c8a69955382af6ef507ea641dfba568428f7581c9c9496cec31f4fa903dd8ae1175b0738cbee2e20bc382a40793145981d7e844101c756c506c7601d6c03c8e8bde4001c000dc2069884d2ad92d6691f09dc1b7f77f80c908c47f91e7bca037c1125d60a261b487d985d726007a0f0991bfc45c17831a9669ad1c3374580210394ecef70d37a61ec1d8da98363581856bd0d5d764f932674f11e458d3cab4c8303ac4c47510da92bcb4bcd74396b466ec4d997d3004fbf094ec1a7b2e55e982b0103a90d0bf5d2f5a3e8ca71473bb0fa01303d23d9e72286992628f0434e26c9d75d03e8d25d4448f5458282c23a3d0d9acde30b44fde1e0e7e4928e97ee472168c1c303f6fcc53e8ade696471599953e0d3a3675de83c5fde3cb9753f4a7699b019326c03394daee5570e8e06c33151339f481651d069f91517737ba402160a4ca30d5fe4031297ee80e02deb03856281c98525ebee7fff3eb35e45a9d20a0ca2d362a68d7f031d9b5f90c068ff2838592c56dad7159cad3fc7ba87087d41661d9fdc94b44304035d90c1944e6f07f316273304c0d5c57d3ead88ae263574aa2e50e7690f3a80ea03bbc72beb1b52015b83aa796dfef2f8cfb871787a6f87077a22b9be113c0568310371bb5056ac4fc5a28d06523f1acace71ce6e758a6a1a567cb16b538c9043d16c035569a5a92c82e8381cd3930898004b71d3d61db692556d9cd9aeebbc891ab651038413db6bff9106f5f296b722b2326b07d1f353c47f58e942e53ea7997695ff80032aef055fa43fcd3b58e667e00023ce4b329b5e9e9a968a6a4232fafecea5971f037866931749091b1adeec393c901a3e0ad71f91bb14adc40cb590b0ea1a6f9aec0385a65a11a6f76fb0436f0b6e290aa630cd23af7644531a4469af5966857aa09a00581e02775aa90705d5a97a60958752ade0ea6c652d1a2f335b2afbdf880d122d440ecbcc7003c35e7dc12fd245d6ee0c0c91e415acbecb1391082e0725853fbbecbc7c37307b00581e032143c854be67d1ea7f946a00e84e4047a33ddc9a483c39512f63db89b043e4e58f00581e031bf4d71308f09087d5fbdd954ea94994e6bc96aac11b74aa814321ac30464bcdb85bcd4a0219100203d359f2ed121073986ff0f71351239ddcb6de884b368cbbba9b11a641b48299c100581e02eafb491b05ab3ebef97daa27c1bb6da8a514632e5970f56a32291993285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021925050336d2141dcdf294471c931af77de7cc775cf1b65ac68b502fb751b8d764c9db2e034924589b127c740924e7d9e4ed9001b996eee5107d919b349ee66e6822889abc0219ffff03a9018126ff3106ebcfb392170bdc75e902d9eb2927a19f91d8bb0deb748380ad03c6f3e3a523c2b8c1a988b00cdf8cad435c7a98365f4024bfe2aa0867a1dab1ea0307aa7e06752c87de2cd605963f7aaa5a61af4b6fccff76571a956d0c1076395603a947b44413762b8e93ca45637ce2c340af0abbe340899349de0a86c2415de72603dc4e7a987c8f321cf8da663ddec45fe33671c87796fd67808720d7195d83d83b039ce2fb67bd95f7fd88a35a86e8c9278d45431958277928cbf2319059e9e4154e03e9705eda46f4b4e5dcfe3dddbfcd545e60cc19af7b8b25304dff13b25c94d63b0371e3adf24513fd6673a8fddfc0765cec956c1ab0c63e88ecce2a1f71ba251e2703d58575c716e51899eabc3ce7b76162b7fbfd3063a018735640b05f7c74b5115f0335ac8cf9ba1c4909f0544b4f4f27bb6fa8ff425817cc830b69bfec4dc6f2b7ed0219ffff03c18ed36cb191796980c3dc8625127093e9042045481fec2b95e6b9cc311a9027032fd22b7a1da8a3fc803fd3cb5b7cf2c43b46b4a13d46817f607880a65f60ba6703b286ac66200f1648cf35cbc2a0e45d0e1c894d2881c4d11484dda3168394d4a1030475f8807c84b5a9dd9904fac78933ce69b98d3fcee62523211400dc8d061f56034f0effc0f4832148213f4981869cd3348efd73512ab8f1f365bcce4538c939ad0341f345083b563bfee9fc0de5da3f2492a8164ad806b11fdec896e5d658deab5e03673280a1b1c4694fc1ae5e02d7afe94d623ae7be3c07cc4858761930ba77cb2f03b00709944dcb9ef1d759b83aa4f462c9ad0973d74ffb7e7c47f8fc7c5307d12d0354dd59dbeb55cf8c3df9957ea4a76004c7c031b75a264de5b7a19be65f6629ad0329ea91972c192b5b0733bdeec4d36e7f985ff7e770f7a0d383902e908e6fa06d034507f987fdb3e12e91ca32186b5e3a6324b129e878db45461ee332472e23bbbc0219ffff0302a1db5cdc09d7a6b76ce2e0704e636d02c48a9ea1f400d21252571ff1636e9203a373a5004a1491aca6f79dca4882ba122d808128938782229b956df7e89c977e03789e8f2990dd261006521a2d7fd7e8eed963b64529333cdb0a24f4a8edd33c3003cd1902d0635e19002665a81963cb5894869fb6e2d38f654e2191ad403ba3f219038b9d2586d7ded2decad47c76dba6e38c9b959f69245cf48588de310bfbb4bfaf030dd5af218ebcaba57785684cffffa2c12bbbc7486af19c632e87a3f130ba43b1034744d213f1097d7133d0c28e5bb9af9fa404723f22387f83ad04dbb77bdb4fc1031c9e16089f9045961eda0d76202fa6ceebe01bd52bffe18c747d4be301ce5b24039bb45cd4a92e4fcb6e632c15ec74f9d3f3223f0d908620da7a3549dbe55fb6aa030b2c10b839900631a31b3a2e1ab090ae2fd8ac0249459ce5f5178b38ce3f1853032ca7dd09e82b69fc0b627e476731a4f18038255b2247c560f31329868251bfc103db06eb780f4ea41a32552de2b758c93010d14aad7efe339595da534615b26d8803e4d905df46f329bac73894f9dd35d5b9471532cf1a70652fcee9e23c9f4cf8cd03b76365aabc846685680b570985446800cefc425b400451b142b4291d6eb981ab03cb841a2b23aef0924b04249090160db80daaa1107a7191424290c36eb1c415f603b6e8dbf84e353d3b3dcc2217d602107e8fff719d132163306ffaeb4e62df914703e0f273229d4583b7b867eb21810000b54691d93dd0d7d2c22460f7283f7f2dec036428172ddb4e9ace0afd9248e7e0a2edac1c6d065407279741760d75f2692093037546db880cb21fdf652cc38ef6d8c84576fd6699621be7805b46f78bf004d708036317e30e9edcfd0f3569cd5591caea9a7838c93cd62a263bedafb008f6d00afa031ab386d3e544ba3ba1cdab5d835147b8737901988c34d8493a0417ce209b1b8c03cc6b04f9a298f214ceca9371f8d30beaf908f67224aed37c4434d6fa49739c9e036fff15c089714a7dcccc3598abd1e74253fc512cdc87c4fd42a35a1d004e8ee903d52dec165676bc8afaf92ee8ed829ad492d7262143aa4924d80fbfedb51eb31203d0b9dacb997f682f5413a64adef1088e929ff9fd856f623cbd2fd8e0a93f4b0c0326666bb6762f74b05f07ab47423e0b703b846f5d7f7ec4d09bf11dfceafcab50033ce396c7578c5e7d3c341c52ea30471dccc38f5b50b8e78b0a186b22fecfcf4f033c91ba93c1c28e8ac6e2a3fcd679c4168e168e9a07cba44e0bd9f852f22b45e003c7bc49aa337b88b6d93bc04bf08c837ec06aff17f60396e02e2ed86984f6a80c032b58e1bc3a69a1230b9d86ea26d3351c63f2edcc29b0a84595495d71083d1bbe03493e0026e648c10c5edcaf3b5b629b6c9cf85a91b010f4c06c95087fd26b6aba033b5da396779d592a4a78e3358f768728e783babb2e57c8c2b200f61bbce8e6dd00581e02116b737c3eff082f706c394c8f387f3948ee6d2b2986942ffd953c8e0a4407270e0000581e02a76aabc4ad4b76d1aa001d5b1b9a4e81d5a4999e75c68adef0e391adb844b00e542400581e0284370a83ed4670b59fcd725e526f3b8f79350165c9066c80f5358ad3ab465af31078ffb000581e02e492fb2eead464365f83e438281b4edc068a56e2e0f11e142c29729d9f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a4a1abfcbf2ea6475480cbdb66ea652fed9534cc56ce9ca1ad5f61b1f0a6dff300581e02a36137e4fe0060362908a4ebb7fe68683e09636144fbf43cdf4aa411dc440aa4c146035a4778a28444ced8a7e8b0185fff4fbdb65805dd54f89d4fda8ae07c3e3112f700581e0271e47a46d9aa1cbb9ece365eae5e54df9e511cc04a05647dc6ed24796a4306055e03ce9344733e9cb84a03057204bb61909d6efebe7f11296e0d3d6b04005a68823f0141050219afe60363e0435541e3908749a976dcdd7fcc0559819880b93d3b5ad149921b14db1d6303bf0b7a01380c47cc4b2bf79f1b458f63f578a0027bdb4114f46b464e394fedea039f6d6173e4765fe7247585323bea1e2464886bad3af66c079b107aaf3c367968039e327d2084ef6a6632b0a4de45a1dc39a6bb2b05ee54d8e519d7bfbd012916ae037b489d61ef25c0ed859811e1722b8f8f60029fff3e7c488164e24576f04374af0346700471ea64b345dcad9cb132b9aebc508f5c14c125d8baa48414f99d49cc99037948e3bac0b9e608021fbfbae03193a3ab0cad49b36fa99fd31a40ac9ffe3205034f6b4c079ac0abc03720d01881426b5984b171cb1a680b9123ee6cdab0e06b8a034f8cf928c0304289a308337f24313b69e1d83ec81080c0e50a36ca9752655b920309a7761ffa5403a5158750dc03d0c514d8b91ed7756c2f752c60437aa80a9607037fcca387d22dfc86f46804a8c5a9446702e86390bbaabbbc56a28ca8bee76a2a03a0747c896d4e9ad97747c04dc0b25b72f5103e547da292bd55351b5d5cd9f9f00219ffff03026f22ff39f3f7b16908b63dca81f93f44907ccc23f32c7711a264a39f979ae30396c746b043ca41f99195fe724137bcda58fb05e53ac07aa85efb13b1d32361fd0347f3e4242d77edf2061ad99631d3315f7a6e1a36ee93a292a247050bbcef39b503013ad2577f3cbfb9bbbe006a8dd01c9e758dd637b9fec89af2cdd858c6821d9f034f666acc872cb7ae56351e2a3359a5724eed89e5c7a3a0178b605574b97d990003a9037334b37279f541d95c14f1aa01caa8d65669f7113a99c4a4174fc47dbac403a581acd1cba1ab288ec94a319b7922c884dfd4fd8457715ff459b623cfe0db0b0219ffff03bfbedbc4b3181035567780bf582791cfeb233b5392a25971a5ba60a95510935a0219ffff037f0e62f172cc0afbb74e0e7de77f2e11e4a03a72a440ebddc2cff1b75c86022b03481216dfdfabe4d142ae6f6ce7f7da9131337db5d3a74a537d37aa6943edd32f03ea2eb6470062b213c8599b1bf124b1d07c0d30e1ca7f23864c34a365562a30eb03a32f4b058cbbb015d0334106264810cae59ae39a0768aede21a1985aaa70fedf03426c07daefef1e40c0e36445b3737b7f1cc03d09cf9569fac70eb2ecdb19a856030b51cfe3d98ca029bb980acb8ba7ac4496e6d93536fbcb2e739464346e01a8d6033d350ae14c4fd8e88ea4c18ce45fd784a148ff5434cf5a3819dc1d8a4312ad73031c43b9c672147afdf93633a33113da84d605581a4b7ca098f94285bdde9cffb603cd19293c4e0e79c74c5339b05af9be2df46491cc4d3859dc8f461aea9aa9ad1d03da9f5f67fdfd186540290fc27a5f927c34580288c7d4eecaf6e511307a3ada4e0313bc87e02b5e32238421b64473feda0829c78ea3e50bb42c1f3aac6730dac01203f017d2621a789d983fab4b27bd0b4e56a70e72d4e17e06e31f5fe9a50455d15c034fac1e54161fec111e1832228a5baf5e20d27dfc706118a659240d667c5c45c803cd888aff7756a26b44588edbb83efb227644fc579785a4d32a043e3213a7614503bfaaf0237d7fc052d7c1b795a5e262779020c248f1eaaee010d6f9f34e55a1e9033d56bb68a045dffae622e61fcccbe29569990cfcb1e1d41881e80afd5150ff6903eb75110802b557b765f7a10bc75f163d0161906c81d1069882e927bba1ed44e10392a03cf54a02a9647a73807c8e9edface4f7ddfb9c396e94c9d1d337b9c6f58d03e56a3d913546b3f53069c3e09dc2ddd3f3c2e93dbbba70691dc8c2ecd8b85be50340cecc6a9fcaf6df159eaefe128791e2164c172172956eb9d77c18441f46786a03913ac49a7b557dd8dd8d5c9711c7a344fb2741bca1b67c9f9550b5577c7f33a2033828649377e50341f94a40a8cb98a713508f9578d34b5be424451f1c643e7d42035041137e52f7bd4bcc75e5d7a31cd124bbb387a32b3d57633a5fd59ab42b3edd03f002d873d687d66ef9f729689801dceaa6a7930ee0a451627f16bc8ed94fc32f03f42a48e1b5dae63d3d4788f67b49f0064ac328e6352607db35d99e88e515d01503f40c45836600b27ff2d8d276bcef9c38193710a00cab14fc06fc990d7f96a22000581e0281907f687bff950c41aebf503e7ce9f322113686a3fd08488bd0bc8d46430c350000581e029abb9b9f6a0c6b7ce2bdefa8c106f6b8fa1b7ab8e9e8411d2d2aa6b8495820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032f995e5d77341cbe031b2abc0a9e2e65018edf694eee2500a2082d0a068c67b303e21fd00127bca4a51335b6c4c865bca2e214eb45ae9271b425240ca1eb31923400581e02e07237b76a4cac2935174670e2851bea39899e34f8ceab666f0d892f555820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036b9693703f5d2603f8610bad7f3a29dc4b3a34458449647b5a93938472044c9a00581e02ec2bb89bc151f49af3c9ccc0e65da8d199696ccbd2dad8b50b9d2b44e4443b9aca00035cf14ea07a99302b1ec88cad0836d0d780d3b51688dae7156cdf82f3aae38d4602199e15030b832a3bd498e20d1872811c15b2b6355130751245c19cc3f08147cdece0a370039165029110af7217902093ce706cb7375fa8f54435d237023c8cd91f3bbba1b403d452d13962e5381c6098b1665b21e27059b3f9392c396021524abff644c1f61803b78d043138471454440ab7610ce277919650f028ee07a64ae3040a2ce1c958cc035273eab811b02e2c6bf69697da54a3184b28f70139e8f98839a9792af37f88e20352ed90a59fc2ec77bd68b9b96f5f3b62dde9fabd1892efe160a177dd80c05daa03a339b1ffc0b1f31ee44419e8fd2a2a401e0f799007e99cfa0f164611752635df03efc8a03e306bb9e05dd879eab7672fd96beeaf066bd6bc9f3f7288ddc5bcc3a503a20007fc9b3f3358f0cd2d20ae0253323714e4e72c06c5b0be43e3294a3c027f0368df47baa27fc8a688126dfefc42dc32d6c585726ab38a85a27ebea0d81b6f6903953fa3cfdab5dde3390df47e4fcfe8f5fccc5ae1e483e6072c4bcc3fe3a1fce00219ffff0219ffff037a29b76d225e0bab67bfceb0407a35d303b4827566d6d74fa32623f6a100853c037205126ee4c266f690770643edd7f08f6d6ca860b299fb3c62842502d399959103115728f0297e9778052e357720f4a86bc514f6b57d59021ea7e64237e64da6d0036c57f07cc8716552b6b57d5725eb2905b109e78408f54e6cee74b2dd13298386034127536b4641587822b0a84d1e16b05da279b5e29d5c6e9ad37d3c95ae9f13cc03e221d9d2968e28f4e69b671571e6128a9cf40fc3dcdae81fe6cda62416065a2303674f41d58a8f53374bc5761fd069a0125585eaa7dca261e28e86e6c65e72b5140372371d0cf65f25199cf09921502906bd4cbeb8877da4908888bc6a6f9c9bbfeb0219ffff031927b46762393b9f74cd36a4184d051eb09d925f8f8bf64d0a426637ca47e2b203f8015d4b9b08fa6821262655885ca35048159ccfb7c595b6589d6109e714f90d0377f34bb3fe7252e1d4d2aa4ee938140e923f27e984e9e8c289621dd31a3d8809030cff370133581ade974c02193b29327c561cc2ef2a93b3f5139da10cb8a19aea03207f5638b281b13ea18a4ba7c2e77b9f32c41ba57a4c950c433f69e719de3625036b4dbd2cf918ff5cbecf0353dff12f9ae4d21c01f4568472303ac49af6b6f05903204222af6adfab2f2db21d5fc0d387517cb953789ce66de39ed7a58ea9e60ff303583367dced3bba9841a5a689b7abbab78303afb26a1579f1cf2c0779acbbc5cb03a67824fa2072170d34d0f123524d310480482a42190ec03282da9e5da4f924780372306bb69a2191697fcc14edacb883d5adcee1d4727121dcc3b9105c4b0a341c03ee55274d23e6794b2601d771024e4bdbdde418c88814b5832cd9a0e3260bfa04038db64431f5adb05b266c79c6ce298443ed69f5188d91fd67af6c54a43ad9ff9a037974326eafda98879e04ab301ab788a3d53688a1bdd8c2d1f4b069ea78ba37c103ceadbd7a0eacd65c9f52413c17a77c685dc50c62c9e9c2f70b34ece683a74a82037941fa8926a8550ba5af6f8d4da2ffa79076c6de955ba35ee69e24a3b1864c14030da8617854ad6d5b6673dc29894d0d1e65d73383bce2e1ecdf9dc44da60662500300ede6c21244b53ad55bee3dc250c857583c0bebf201d58f6185ea4e51c0c76a03b281e432ba90de406f98852dd113b297eb68ec01718d203177f75cd9c75f3680036325097a27244ea20981fbb0861b8cc0a5afb5da4292db27ae1a921cc7671f220375ef5ffd4b519c5388cf6095dc38d1eaab693da13e0e6fa1409ccfdb2e4237e20318c7722b78e297163910c74d192fbe8f32cddee0a96d4f9aecb547f95e4af39803203c450b8ccd99d63750f6ec9c2026762aa0640e96487b85b99fc3426366bd7003f3d32514a5a5226330517447578c2a524831e049a0c3844cd8ee0dcdec2d748f03ef1a565ed0d01cef46a91562d08b954b58b5cfad0dc55e4387edd86b2ba7fb7503e0e6d4675817c3204cebfc0eb637a6d12147c4b1c94b8ba63f909f8130cd72cf0300b7ade6ab7f367dcd4baff1303391b416822300d0ae993ca991fe613f55a7f403156f8fa225d305182b835bc42879797f41fb084f27db90d0c1167213cf33c85c0390fc6889aae2ae882f1761513b7f77ac8f546bbe43f0370eb3706cd474f4257d035cbdce098a8bc39e1507b030b0e77a4899e362f521d7e6ed39ae9fef8c3d8119032a7853acdb9e398e33c873581c3844397443d9ba8056eb6b685b57a85eab65fe0396d127c3c0fa016a747d5235c1323311eac101899e3c9e0c6201dff2314b2b2c0381ddf30fdb7d85a0dfc470c3ea161fafd0d03ac65ad4837b7d553a3c872695c9037fd149a16fadeb5a2d94010ab689ddead76a48cfa58a586883ae555b91cf887b0374494bdf06f815f4620b4ae967582cbd2216743c7216d5996f3607d3d96853da03ee4a32f5d1d51d2c4608560133ad3672f8f3d63e80d6a3d2ddfd206cc2a2052b03d9cfc8ec4077c7cefa016ee59c1434ef7cb6479e9ac6e12c30b4cc9956cca101039c6df6142c2b87c50cb92125c18b5218d8a3888be71eb7e5a712101acbe12cb00364bdddd033e9d4d1509e59ab3f3f92e5268afa87c6c685a6dd64752c9d5d78a000581e02f8ca3dafa7f6678f577b2df6b9e26140ad61abae9664d9680042202c42440595e6b000581e02b8076c5929c28f5d00c5309f0b4271f20a0acc1186effc5e673208447f441abd07f000581e0277548b5cf088f981232c07ba321f902ce64d0e434deae11b64307a3af5444d7c6d0000581e02cd1e981244d20c94d48a7a548fcb2346dda8578e9880e7fc396218a0505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025c296faf18c4cdce8df1e6f1fbbe21e1d23e2084852186a835ba8cadd643077785033fc666cd4f48817567acf80bddeb7241be4ee5fa8baf2b9dcfbeed54eb0277e400581e0379223f945eb7f27a750002acdb1a0004585ba5e4f9c333d8ed10aa7020410100581e03e49e2035db19818ea117e21de65dc3d7b795958791125de5d892bc6c705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219010100581e02386c756762911c5b94ec29e53da451af793afeaffc051cada11de0be8a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02750bb897dbd95cef35ad4c169f635c5f427adebe401de943bff7d92ad55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0224198096a80175e193c4cccf9c485c31c192904466322db06e4893fbae5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021974b70219ffff0219ffff03c694d873a947c55bdd0461f2f4c1c0cdfcb765659f1cdfac70f4e8055859d5f603662074f51d4362452f8417f95980492eadf309a875a203f5a65979e1e0ce62b7038fe628aa0f91e7df9a7977e4fc27b3063ad4de8d3c564f5d81d7463e59b5e368034e0a003b92c673aff2f0f68006ab2f6833c6e19b8c07bb6568041313940b073c0360365b9c125bbd2c3b153646322dd1f82895bd9c8b2e5dc33b401092c976bf3a03973289572a935cf864a1acc4a6697a09ab7d3fa9c574a0153e451fd7d17e373503e7ff8a13e5817c1199885a0118faffd255fe63c78f5a941eaf5ca76bdbcbf9f20374063396de0fb1b1c6721e34a68b88e516280eb0033e313c9fadf26ecc02db290219ffff036566b84824465c2d6f36c8ca488cb0661310f4506275532015f49c439edf990a03badcee11a3be965d134b884bcb90dfba8293ca51ea7dad0f4e45033016081fac03e730eefb31cbda0907d7f58eca386e9216bc9eab87611efd7f63f50df15e4d9503a7ac54b894c01aca5cc4ef126bf45686605f020f39c4d6696bf49132de027c2403de5bce252cd50feb0ecf84023934aeaf355f3b7f7714eb39723cf0621b68650a0334aa31e8310268ec5180e412bcc673dbd3b43ec62a85cc2c3d77972e916e45a303cc1dbf2d7721cc557f2d35be8ce7d5b2bce78552b72072d0e05b81ea6f50a986030e815ac6f3025b3be48a760c61c049e9c9bb723f4bd6da7915357f9b4375ef8803f9d5d9a7eb4110c221d78258a2235df4923591029991d0f81ec865a219e1659c037670f0c5e1307a7083b5ebef6a318414cc9e2b43d5a9f491f209a9be075265e9036b9697a338ad9b63f3db365c3b22f24748c99fd52845390a7b47332cc17221c9032e2860ab769e6e20c139e5ce86f2206f48aa0100aad1d06267b7754fa49761f7036ef9087dae45082a1c121932d713f6fd01b71834c44eb4ab252e78737ac665c8033a782acdd6425f8b36588ed80a3e842aa610b7ce33db4efcba1112f6200d6e78035838887997a63950add64316f6b7f10f00910e1c088b057c6f89a0977cbd4b53035d9d8af50eeb257eef0ee9efe2954456205551771c8fd3231b097d94a472f05503719ea50618c2c5e9d5950c39424ebd837433047a8ca1b9c1ef9c5429809edd32034e6acec0529fb410eeae8678ea4acc90527b66df5e8c8c1b1d4400255c21539103ab6c74773b42d638fa13cce115ee09d368344a776f2020dcb92adbbf8a38166a034f12c8d88d9ef1848d84aba540b6b8942efbd3241733c466b53d7cd8be4361b00353ad9de816ad68ba817ef880412e302eec659dee7703f54f04a7ce0c8ab821c203ebd0ecb52c6446ad06d0bc9760c80b0a5196bab1dbb08f79a581a6c4b296c3ab03c2412b44d7827b1343808ef71c23781cff5434ddebfb14b69f1640849b67cd16035b8bc38831311d1a1f8bbf678098f608e9d879b63110f5a03b5f64312de3d523038ad55a0c4e8f64f00267003c048335c9e1be3508b0bce1adef487c216d3e2e940303ee1d2b167ee7dc70b34a1c3aac1925d3eb7a712da85d5567ce88131a3c273f03b5a205b5cceb13d89f8d17c8f32425612cc8f3cfd7c64da9b66a5e3d5ba8347703920947d3597b2c310f18d70c030379392e27f3ed8b4850b9cf3edc404dc5bb6900581e028758a8400c65775ebd887cc05a0cf7dc7043fe1e8e60732f24237a59ff44068655860367a505b289f24b7bd85697425aa36a36f391ad12ee4d2312b3107f0e4edc1d2e03ef97e8c4c9c77a7f1f1b7e6d2240da08be71033186a6272e74aa302ee45c616000581e02b556be48975b3fa70cdc10cc6422c0a00dada2c1debf30cd947b13d186450218711a0003894c92824581e0436bd3d10d3d3036bdae95e78044df800235305f47ed2518c200581e020d298353f9406a47152697a7084b375181e2c22e085822b6326d6c2ce8435d3b3003f2df9fe3f7265b278db31918091eafaa554a132cfae68dfa8d33f62ff4649e6f033f8124898e088e6a8782c24e344fa14d6925cdbd645a657591cc963c34c257c2021939b30366132da302e107f1ecc77cd03eeb629b9c65f51db298557431d75ebc72db8231036e754f3879b07f303a08613ea1e19074d1c6452fafca735b7c602dfc77a21a0503081d743e4fcd7cfdf8d28fc7020b6d667f4d7537b3ac846caec26615a5f096e4030f77de929207a5388c560f88c4a32d24c22aef16644130d1993a25190ca22c0203e5b51b5ac907a6a48f08713c92c1ce761614e4cf1c36b6ad5a331beaa90028d603e2c4978dfc955435d093304e1d58a721c37bd411d57c08602fb5d39b0a86833003773ee37b312b6d4ac22ce6d7605e70722a649e8e697a30318270d28f42f2384e0219ffff03e01b6d10b94cba6fc6f19ee3a267d160d35555ca18f6f5aa7960a4e9894d5b6303f22b6cdee244093f8e6f87ecdc6d4644aa5019de0869cf47763ace8c84f69731034eaa03432b9f4e850cfefed76f8e81df0d833dc91a7a6baac62a580b5acd9b1803aaf177176ce4e2888c30083349e2ca32c218756b884326c8166f05c9a8291d6e03f5df3923bdffe915522bdfac502c8ef77e21cf81d39e5e898f876f966a1865e50333b6ef9f5239174483d5f3342d9538173d6ca03ab9de8079b970b342bbf5822103f1aa3e16edc9b7a2cbf2353ce1e06b5affa14592599b9b13c11a2090b70cca2703ce5057413cedc24c50c43f540483d7b9417ae598fbbdd2c123af1dab3d7c26580219ffff0378fc1355277f0da351051884498b975d0d4bf511642965dac5c0d6f7f49e394b03ff73591a14e8f609dcd4460dabfb68c80d74cf260777a7cbf22006ae2f652f1d0371c75ad9b5b2ae0e8905b77ca7f1f3292fcd89683f8d7d5e975d8bb582a57d3e03b4cd7df9e067b986265a13a29053a1662548b98d680db67c22f672ccec91ab8a0333d43fb87b723fd9c5a217f20f1fd40c7eb78072c3b0445b49ebcf4e6d1ca661038945b1cb9733fb5bed6509bd9b0f7bdeaa6769a1899bfe77ff069811999c5bf103dad00aa8d943c4bb5944d3f36f95c88070bc05ab1e5ca2c24c1d503b9dba225a035ff45e8fbe9e6fdbdea2fd2ba9eeec348d69e9978db437e0f3e920fe6ecb7553033849a432e8defbc21af7b86e2e9f6684807bdb96462117ac5113687d4001a3cc037788b3d2d4b6b1decf0bfcac02bbc726a0dc07b86d03b73ae828a3935ea433ca0319f7224169be5f60bc399e6eaa95fc1fd668cb5a3ef6956ed7a146c9d898fc32037794559ebb762db58ccb4d58bf4944782885002d35046a6a0bbfff1b976e536303ff5fbc6eafe0576d551a8de129226ae8e8be0066120948290e2e42ddaeabbd380354c7401dae2e004ff388de22f39409df53faa6bfa66ac449a2321d63e13fe3310394b391e9eaab25d151303d838ac54b44a6f7f810b08035ade602757efdf83f7003f7ab87e0b52f6b1077f0cbabeb041a3db0379c3a02a720013e41d527ebf6810d039739584266dcae3dd1bc63a08950c86f43b086be5045af3e57cb46bc16847c1503356f7bf03bf9dff3a04ae756fba05f84db01764b4fbd272c56fbfb159100f9fe03dc4e492029352a8129c4d7bf5f8ab9f405590c8340af9ebb7b0347d68898325403a32bf8f72292b48b1f22bef3c63315384621ec7a562315db83ee6523ec506c5d0325dc4c60113b22e676d2b8b4a697fb787a93ce757bfb62419fa371805b77286703ed5f9b16f954d25652f377ff97fcd4013be97eb1f9c0ee50f6abddb95d4fc42003c09c79556c9ed2e2bfc98e13119fcf52e4653a11ad7b3d5d6f598fc4e2be197603d694a323ec4cdf4fb77c3bdb4e3fba22b08aa6ebcb0d50ddaed06bdb96a0457c03177a683b3018d62f572dcaecdac2890b5aa35dfdeed05dece644b59cbb02f7e703947782f7c00875c06ec634e1615c450eb64b76030a920ca4054caa6bdad3a39c03cc39ee10a188e671d7438c52ba697f5b01290b34c0e7b5907db3d36e359507690354df65a2a88576fac6f6b41f959a203e4ddc1fd89c8ff6af53b60e1c72937c4d00581e022c081c057231b7f9fadae1293bf09b3a446ade9718d01b69c9fb6e343b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e2e56f03a283beeed47dc8f59abce1fd24d8137b316d01073011562fe944bf26efc000581e0231c5dca368ace442a90bc8687c3223e5b1cd4417f99fd65ea7a8fd57a45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023a679d6c2989929d6b9d552498442b782175f661a5139667acd360d7ef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190b0903c77793625377519c78c9f4322aca152da09850a16e525a5012ebf012ad5a09280332c9fe66ab3942c2d49db8656c2efa3ba94bedf2308ef8fcae14e9adbb56908103fb4c6e6cbe55795bae89450a8a7b88176396379dcb91741b77165b66fd32c7ba0392ceae5aa1d3e8325c540b653f408231cd2c2c4aa927f5456477dbcf6f9603fd03184a62ab072872250b122eedbc8f5170c2e2f833eb96bdbcc8dfb4b333b6de6503cfec1488b34e74f58dbd0267f3d095a44d352b85d7a0fd0bbdaa43f60ef4122a0219ffff0219ffff0219ffff03c3bbd934e9621bab26651b1a04c5d1d32f1373bc8b2111127cda74f66c39d7d80219ffff03c05c3331c65355c11ffaab94ff296afc7f7c2182ce5b8338d4815fb498545b4503d1369858efb78bc420569ba9468ef5d16dfd73caccb161ab267384c4ce7735f203e428820f0d7f3ef950452c72ed1c4e789ee4d85afcf7fb93af9be95795b257af03d12e3e1dad13138ea3398bd46abc25977c91a271fd1b9a689744a47ef55ce5f00329c4873b1fca2fca39c0b8547050916f0f73078994d962ed3a0bab718eea78e203b5cd4a2e219e2d18cc099cebd63291b9df820a32ff5089d61000b50a54336ea10331425868c6805399ed2152b48ba9cb786b35f4bdbbcbb9430db053f57fcaac7e037fb459a652254422f24fe5340aecd04d9c05d5e04b8c5b6a70476b4c1abbf16803df98b62c82b7eb5238e3ebb945fb56fe97ee43d32aff3dc96da57557adab333f03f7048724a96ecc4c82627c157f61bfb62d8c28fcc75351d9b8fb2b2db7754d610396b0c2092b24f68cc19b6fc790e7e02d5a65e84d5ad1f2d63ad3f2aab13b7811033a63719608154471b6884752898f3092a8205f909606b1357d4f34961df6920303eac7be4103476a44a33b9c1eef25f4d1d423ecf58df419d7c74115a609bbac27037a2112e62117145e2d4b801b3387a9930e8d0b2bb9aee31ad040c735999c338c03f1865b243d57ce291e1d35c0035949f479800f73b60c0400aa31faf77c0a7bbf03da85a0f3e0761a82cc3ebcbff569e1721104a5e3762f3e41850b8837e83e303703995d5dfccc354e1f937c11330f2bab387415578f8b0d062a9af53eeba2d82c2703fa8c645350e056506cd76f7f52409fcd5006dd2ea6e18422050ce4809b612b0b03d3921616cb9aa2272b91a6548ff6189bdc2e21502a1feed090997161c26d548d039ae7721301f124f8d4c2f2808f08d29f646bc80cc5005740fbce906213ed5f9d0344c828a68962bf5ec4dab9eacad1ed335fcec748626a875892051d555261eb77037a1128756749786c4b50772f3ef75e43d93f2059d975d74af76481299226a90a03d7cf7c00ff978074c0c4ebe31ea7fdc337fb3536651c59a2197e320f284bb154038190d1525735337bfac408f04cf5d6de47bde95990f7f93c6c6ddc5f7859b49d034afdd11f77a458f8591276f08069d94bc5d2b538e9d3f3b8a5c675b3ee53aac203b0f8b773f5c8f0fb2747964bf2224024a5b2cefbb72bdcff28f8c7b4d012b6a303eadce682e057d52c7805032e14d5bbf22cd4c3a5f7e9b853c5c3b77e428005bb03e8f92af986efff9f93e9c53b017bf0d5047a3e438b5b0c0505337e52b0e10f80036444573df294d4df71066cc4b9fc04359f58b1a5592f659fc2642420884c117401410700581e02f4850a212d718df6e92c5a8bacf14fe8b9c1e5841aa11b2fea98c26e975820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bcdf5ddde7b9593757f6365a6e249d676974ba98d477c0ec36ddb687fe43017b5e036d8af3b3281e23944fbd8d7007df95b635c8e419147fd81ed5ec2cf57a5d682100581e024fb904adf26c7b31e0fc08caae5264c50b50b9fa3f9d59b59d81f7560d4401312d0000581e02fb507ac2b0ffed7f7cbf424b0cf6d09801d22b6fd9019d7f43b69a6649410100581e022bcc89767360e9361f3222b2a00b3ca40305065e9f7cd22b80fbfabbb55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028ff0a346e030f6d87a0d99b059794ceadeaa35451e66230d355e5326714416a6570000581e032cb71ba8e3fe335129c6a0d66207546d5290e7290c98191995100b4970452fa11aa6cd00581e03d05075ca86b3aeca643e1a21eb093e3300a6bb83451a7b4e8df96d68205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219400103e465941a287b9f3632fbd55da4964bc6f8d3937f0f99d533b6c3011333af5f670219bf1603a360d34b1c716b7e395579ef0b26c3129a1ebeaf50db2ba93638c9c1cc8a016b0352a1c26d23d9b653bf46f470f045e8b9a40375cc7dc5f932e84ba784fe3d74cb032b7af93fb5ddb0799014c7c528f602b5716322319cae459fc480eea0fed034d9031285e06c9789111cc1d2affc9184c5bc67bad51ee72ec0ff5d011bf2169183ed03ad2e90754fe64259cc22dfc6ba2dca07e9bc1bf477a35c34f8fba9f8461d773003d298ab6a39836e126c8d410e376bfe5cc63e08da9626d70de7b259a7a037ba290219ffff0219ffff03e67595e0bdaa4f44d359574e8dcb7bff7c015ba4f685051a44fee793cb359fe70395702e6dfefa6407eaf9b7ddf58e9a8f8481d4c12cc4804d0a42d2ba4ded815a035f21d7e65e3961a03700387c580f87101bd7af79220181b92b4355c81a3ae53003feafd9fb0e092317204786e1c9c1c765caaaf678bd2b908481e8be42ea4d21ab035e8623de5c7c52342662723ef33a4d38075cbb6c0b6ea9fd63c627044b542325032df113473fa8a3ff34bb0b253057584599e9fdf311bdbe22647c0b229f9831180387f190fecccf45684379b7a6ca4ece5d145a7c1d588d07510c002477aeaed15e039f7c92ae421f6da1b32b36ebdc147ccc6f1223b5d39618ce42831901e9fdfdcd03493d01d606a920c3903aa0314a9c1211306db38236c11ca7fbdd8e48e90dd73303ea13938361f4d670dec2531c66c50272db6582612b9cd87670997c757e32ef5c033da2ce00163d3591424bc91f2319540df3157fa166879fe8097f8267cc7df6240334f5bf8d3b72d826d7ec7f001ccfd120f75d6779cb289190a75642404e93115e0361f2a5a9b47757edefbd959bd50310efb5a2cb19aa43e30efd6a91c57602378703eaa7bd5a8f8657e7920672b5675c8740b63dc0614eb544c7e5867b50136c58c4036465e020b1435bef5ba4505ea4d2fa571cea7f9b7eb52a0555d525273ce42a3c03a870ea41505bd8762e5d26d901c332f26b67bf28214101e2da0ccafa00c7250a00581e028a4aa8adc919ab4c606a9da7bd070a7354d5c9c29eb6a87327d44677864304e14100581e029842e94666625d55b8407b800e9c9370041908492a009fe8cc95df21c55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03532bcdaa706969df495b18770d67cb280a6649221bb6b27c4c81248be87dbbaa03b510fa0dea179f8100c00e7aaff0a5f51782838690832720d2ad7be2660fbbfa037cded6b60a298a6b0801f8b374dab454e529f7d7601ac2efbd64bd51b1a17e6101410603a89d20e17fb6170ea8cdb0aa75a964c54704277f439965c47eca7e6e7c59611500581e02c0cd436fec34ba9e7aec2ff1a297ebdf613b49b39cb405fbacea77b7165820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b4be28c455ac6370fabe6c0efb327321d997c70b61028c0f2c7ad3abb6742b3703a2a79167abeadc767deab0d9ff3960a9743fcb7c412c63aec3a31da3b64cca7f0219f9c403e7096d1f6751503f9a29772d0ede0b0defd83c66f210ee90eefeb8dbdeb3d68a038427051e35cc7732b77f30c6bc5656c08714cbc86576853033e21877e46304220313207fb2c2ca62e6de6f64ae4a081894256c5cf537511fdc1e9e7f392c58359a036028944db050934c7c8bbb0a31f43cac000945eb076246f96c2ed4331f956c76034e2670656b707176a6784223ff076b0cbd249ca2405ba14ca9ad3af96090761503e8fa686973d3b57b888a74a66f1e176517119ce6b734b0db7345f949cfa0a698036168fdb5c83f615cdee01dd9083a02a0d965dcc982d7309666be07598193e05b039937f2e7e18098ee43402abe5b7afc2d78104e1afef6953fa7501d61d9bfb1b30377fc7e0af7203a15bcc2152893b3b57b1e0159f7d6721a1d8fa518dfca07008d03b9d7d1831089e68c1a01d3a4123748b4f4aedc872d69781a36d5985913e43fc20349cfd2220b245a503d5a5a6e72c7f5d44c76e7f9a1cc1538ffb3cd718be4957803d0f0b41b52a2ad11288fbaca2d42861b3c4c2249bd878741e44adccb287fe51b03d48184f8901ac8263f757242e357f23cad0a817af8f43418f884d3c95a174c040339ec27afe32feaf1efec1cea330cee9f979f2278539d8d7cec9ff042e4db506d0219ffff03a7600f54823465e3585ad37d3daa74b3174cdeab64d379df9a468f371fc20be103bb0b60f56fa6d90037a21a7da6326e910851542cb0b96c7cdb0764318eac68970309677865d26626ce58e494a929c1521500479ab67cdfb9ee3e857345be3ac68203384cae1be8336716df7ee9e88c281c7a8f101e53691efad64d517bfb8bec710303eed986ccb2ad8d3aa7e54f409a839a0bdc8cbba3bc5f3cc6d5b83aae765d3a8e03b78bf0fa845befd86ca5fe7de3ea4f313bd190a1385ec2aabecf917608c8b7e2030be7be224dd232fc17278d686ee21b64dbdaceecf3643da8eb46a2d5c2671ab40219ffff03b04df36e7a997d378fe5c41f553bd1e0f69edc6552296e7bbc6a9c1a49b67be603edab87f534ee62b3f4fd9d263df94c6b3356f3eec35fe9ea38d4232af93aac53035e749021f171b37cd929a69882c9880d793a0596cfc4550cebb37161737ec32e030fddf530d3fa1c48c69b129576aaee5ec5cd011edc0d8dc1442fc711474789960219ffff03b2e0876deee1940bc0db438fa63b9b1892eef32fd336d55b0cc740480ec1003a03e108e574b59e70ff57291249feda185103954c3d226325464f0af7e203e94ec903b809be8f334d6725b908078a8ef4e7a33f99d8b4e343ac84017d9afe3eec7cf60353a7ddd73c70c2285169ce194565eef0df61e63b9922b31f1fed8fc86fb4e6d3039c412e2ec97ba8d03bf515a5550232cedde1a841415efa6313aeda36bda6892703eec0d2242f38ee20d22a078d49d06d1e947ee45bc45c382db9657210bcbf4652037c59f5697d8070a646a063a8c4fba33f18d4d9a93547d6a99fcb27d3f6efc82c03eeb3d8eb4e6322d11f7bd9d3f1a7737aa747ec4af1a054c2b81161395959e81303bc7f8871e2d66097518b04c34be52b4ed00271d1ae49e0763457572d065d5a59032572ac76c5f47cf310852206bc9c306da359fe1a998ed51a096994a30c60e2a60356ea28064181a33be25442cbd129c3302de498c109d59c3803b0d9427905588a0323b81cd0ca04371bb480b582fa4bca287271a51178e2821be9747f4e65771fcc037e3c88817b22f0b7c5a52003e3fb1f21510791b7a1809f9f7e04066c6757fc3203fbfa334a202d75fb64768ba67d144e0d21eb7f8a825298299c9e447b5f8c9dbe03c745ace5855544076fced5b5556a17c0aa12369d751e4f1e85cd3c8cf9e3a3020375ca509c09eb89a8bb27bfe846a3ef24bbf61df984a831945f3c4d0aea1165740326043ded52d50a20db4236c83c6b08b39a205a189fa58f001821ca94bab7b53003dfd0926b438ae2e0b5cd7a080295e786938b16daf17bed39c77a7bcb5e27e87f033d20c918203d6c7183acd833759671fb36949244f7736d01226ff7be1b3ba5b1033701d57e7729241c66f25f420e1a5f196e97cdfb8baec3c56dd8862f9710857f038d62c19a03a91c75562623e25d4b6309e2a784b6b1da5cb4deb5e565394d1fea03059d901c7d2f63dc07dcf3b26f3fb714c43fe4c8e2bf429ebebc37a55747c36803e80dfa93da6ecb75b7c9110007a712ab5833e40d04847fbf494c7d9c924e31d4038eb39d9168c010cf8e3c4242dd86013941cab7efa79e0e151423b13c2a9357b503a18891075638b2afcba0fe1caf9c47efb1be1431569715c79b4432fcaf1520f903d75caabda268ef33595a19d4b11e15cb5d408fd6dcfa4e5dff7de496dfbead6e03d44c2a0c8ceab6d9a9815df5d7c3b1f91a0fdc39e597048a6c8c0a3db9729c49033dc672d4d27277c8a3f938f831a3617acf5bbaf0ed32371736f1df5f58e17dd0037fded24dcbca96d08bf612ffa2fddf20d7f0bc9d64047767f9962fdab9853010034c1d9b160c275e67147f6ea254e26f70876d08a9353439b5f631edc52880a3d4031a2b98ffe3e5b0c67894779149dfae35ce9607c87ff64bb19835129a27e4515c033f9c865c877b9f27ef3d601115904b407e4b49de58de9b145d48d79e23754049033603a5ee3308117fdc293b3e12967dec46e3b176a51ad9116f4f4c19511d453700581e021f313378bd27489d320b541365ddba55a85e9f1b1f6ce2be3ff9911c09430f424003b3964a2c6fa25ef2070ca7daf8f990b91f83e41577ba9226ac44737a1ec1896100581e0380699ee4a6734115162b7cbc3cdd3f14504b9384cd3064c8ce388e8760453a26c79c1d00581e031940b58364d366ba858b6118434411412b26e1e2bbafb341c1d4d5770043bde73c0219100200581e0202825c53b32e70bc88d52ad30f8b79ed55d18ea650c03bd41921c26cb95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bcd420b6eb36313d47357d670288c94b55f990b4c13d0bce9e5bcce2ded6e9cf00581e023e4ea4501111a6e8f9a90c823f67ab4f0b0a1510aad997bc7785f3abcf58200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024f89160b1d27448fddd66c59d3e32e999d8320615de973f905475d57695820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219053e0219ffff0380048532c94a174fe90c3deb5f71c7d3ee6b183b307833b57dcf2f8610eabcfd033e981cb7a26bb01385e0c8478d3b067897e16127f03d7dfe8bff9b51c7f0534403b5da8116d941f914774f824609cc80da22b35315266cbbca4e22740213e9eb3503c5761eedae58c364e3c1b59b703898ff868be6cddb6fbaafcb7da050b22b483303e2b09c6af6f23c7acf7e9fdf07c65bc0e1a9932832b72cc34206becefde3dd8703e2adb6a284c94941c9876bea3ab6e2af3116f6dc0d09d4f93c7d4c8c8feb583a03b779434f5ef5f1f2e85fb3d8205d69f4555052c90d2b796890e94ac6c5d66df203ea95b38631e8ad3e0a7c58f8eddfe400daf1fea73b2162d631b3c049bbc0ffb303e65fa19c74d0d6a192b3debd597dc7739c8c2b6f5ea56066ea1c924100189b01039bc685c3db3db8c84ea6244110960cb621f528a7b3dac649f382b640c9ac10f2030c6c1106347ccc4bebfd6e17479db550589c1a321183f72a2deb95c4fd295bfd0308436e9f5365fadfb1a32aeae505960d6be07c89eab314495b788fbbb3cc27660219ffff03a5521ca1f1685a6374b9340511f67d2e3da307bfa085b051cfb5f443cdee2c1e03d3cbde773085f5e63c92903a7b120c314241c9fd923caf481c488abd8c948d5b03d15d294062791a2de37fa5e2427efe752ffead9503c5b88e86f7f0957e16fdf403fe0f14881e6c56f64d1aa125e2ec8877f03d1be33c69655ff363f0375534596303ecd964891dd4f4c375eb6c0af2f0c09ce8d92617b0da61424eb574168ce3eee1032383c82919e48bb244ff4b06413ea47201275e404c95b7c80e2836daf931debe03db1779a8b95b2b9dd7d5725e9e8e729ab8f7a57c33ee7243820d6f6e698693040368c883d50bbb41f25123658e7feeeac172f7675dec4e542a3654770705da47070319d9a9f9b30841c6e964575f727d642379f397e8828cc7a2be7783075f43251c03d4bcf014280fa611b638a541b3203eb0e24dcda519828c965f4c0ca2e82dc1c303f5ca5caad70de881010153b25829f2bea0c8961cb6a9c190af4bb8dad68cc5ad035e65bd0e03826c81e0feda08830a65ff65a0fa459761dda82d4da44bdd75098a0394621c1787a864883e5a2bd5ba5b4609fdc76d89d04ec71a4eb233939849294e03f1adb1f85116d0723dce90f1324955e47e9ea88f2ae47f53b9b5569573d10a3803c1ce872acf4673c7e6cea64776649318f2d9832e776db2e9045a834ec21ce92f03193f1d5dc7eefd8de6733a86bf8ba4037b2c93a6ecec7fcccc0d0f3a0ca11bb703c78162d4c2c2858a167c15ba197ffc2d4153ae11d8df97de49e0a29703fdd13403e9331d2955dbc519ceb75db5cb458c714517c12d6d5461a85b843582d8be5f3c037c3249bbb17b9c4a0eb10784a7da647eb88cafb2e1632d3b31855692d2eab8cf03eacffbef5b5c28a8d47c24a8afbd5ed3ba35e02ed318067bdc71e25ef6b5a8dd0362c0d64a0c97e707552011d7332d2833649f247343c7e7d67e5175d1a4b179e00397732e428a02c96dfbf53aad3f5bc975d0b5927210ed5387ef8a029579a7339f03fda4520de4d33672939f6d2a88f4477be35f027711777930100867cda609e51103d6c4b538b35a80bd8ee1942dcef3e4f5233127d18fd3ea1d474c8e5ef5f19a2603b21f0c9a7b8d9fb7453f3aa4895252d775dc7010cb7478220679c31d64dbba41034714b9e60e97c326b2ffdfd1f25346e36af03bb94b50419080588b081504334603b7839b6cf717c035935aab4f24a6f1729ce97282aeb6719cd552d46f9b270b1b031b62105a44ee82b126edee6b70c9fc42ef690695229bdd31677e85a1ac4ae43700581e02404e8a75fa528bab1f03c9fccabf74240f1a4201576923f21d30b083925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029b4a35c5522cbb28f237b34edd82c8966b2a6b686e8fdc2ee7469dbb4a4403d746c000581e021b569401478ee4532c756723d5f139b5ce101832a8c172f63e518fb55e4353424b00581e028219544c33534500123b0ee83b3f775f018351f1cde9c610d6e11e72c44307d33503e8439e0a95a675d60b580a19524a561bdb8578cd771b1271cb1b185d53b9339703bc8073c69e1cd982b5a16c97ca5f0b6470eeca04918daba9e24eba4d5a70663b03e48796e19f8029476b39d8703261f47f1cda2018e05de3a4868c58c928b9f01300581e02b8a0639d4aa0cc19018935e250f66bfb0eaf5ede2c48066f60d49745f84401d9211300581e023a18d235f07d67b8a3f3bd3f81d9be653f801439019dc6868807721719442347677d03888e05ab1efcedbadb3145055d481968395e6fc45519b13a7de2f46594fd934f00581e02a7e698ff608384bbe2e7c40c1816eb52255f2eb0354fd1da9310f203575820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a1ff03fa048a5a79e46811ec85de7ce2de7f0fc5f1f9ca5ff39a5ec03fc6c7878865a503f742b2391088ca2a3c63f7edbf1c77574c21ecbfe411f497c8d9909b81184b9f0219ffff0219ffff03627b4fb49dc81ea04ba00740737301fddf3dcdf0b27690aac7d76375a13b753c039477b31529ac43f378a3109ec0496c24eb7fd115e15c5dfb8912f13c5fe3cf340360a5a890ebd36f81e2968e06dd8723a3478ae07b6b4e98b17ac2c68008885d1c0219ffff033a597a63946082f2fd65435ec9acbcffdf98a0f914ec8c4503552b34321f6bb103e165cddcd7ae3b17b66319c1712b1d4a346cb112352361094afdd30685c87c1103b12c3ed373c76b885bfb20f2f791533d455eec44c7481f0565e77262acec940d0324771512872a27da344c672e7a1363a7e418867a3258700ca8ee037f043aef3a03ea41c391f6cc8da41346518b609804811158d33e46fd6e6c2d5358b5d681186603c19e08ba678389feafee423c1d0f1ed07a3a8ebf47c65b06fb91484bb9fba540031251aaa6aa3630cfcd9ace32e9fe3ce9774ff2242da2ac4d7e199e4861d957e80320650f31082b3a70063d0056e2609b7436f93fcd2551e5924eceda49ed700ebd0356bee90a0ba9b7d0bbeb1f2c1201c4dc357c65c09760405d037d2a8716344d4803d44d6eefae53c469889415b41435d9bd60132229a0f320e73b69846c60984e61034c9c108f6e4300f0a8cd948a40c52ac94c7724bcad39004b0b385b4554d95e3903d03dc5a7d1af1521b01e0524092c28f8a669a0a62f4302981577822f12b3750503f3c215629aa156f991072746cb90d54b20aa752bd708c209b7ba95bf56bb9b9003869e2fb53dee9b281fc72c39bb4fa971f15dcca741c7cd56c62b21df9cd6521503082ed27dd2e5f03eef83281f10fc3606c70b5e4bc7a48a0654737e93c10da22803788eaf5e19e58fda360d75493017c192a20b5c720c7adb8633aa9172f0a434620345e984bf56c826995fe6b9686399034e18bd926ceb6a6c843ed956e805d1395103ed551f3408098d3a4a997982a9045561cd0d20011c9edec0e2ec76c1a947134e03517c38bb8f85a64a692608df3ed40315fd4e49ea963961acfdbb3f3149729035039368d378f54a35130a8338cf7eca696a167892ee8b95ed182c054b6f873f49f00371742efe8576934c3280fc7fc6c30c30396a43e1f582d9caaccb9c7976af4684039b76c99fd5356a0e531c3cef3263f792acd3b567b16dcae9d53c4dcc4356571403ef4bb9af0ba302fa4505d54d20448a1f1c49dea4ee2b101eb98802b3200fcc0f036467839f54bc32d38e7bb2b19b5bfb63a90328032ff3588cade5287f453ba413039542a34006b8f83476aef838f51be2498171cb3f405130fc50c48be01f5d660a00581e0250b6db5648538d3b753a8d5c019cb482c25e3bc7279ad92c8dc7728d94435e9ac003773a01cc3000cd4eb8297783ec6ad16364c2494133b9b0cb9ca55b1f81aef17800581e02f7b8792947544a3180efae9ffaffa6e7ccc382d43cf7d8fabc916e0de75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025d7ff430541633e0cadca4ff4a709a559819ac7e01cbe96b3726671e10437e8fc100581e02d1ea7e0be0b15a2a1847bce2c82213fff70d8a1a7172105b554c8f63eb4401ba814000581e02827e4cf7c1d38fd98727d6126f58fa92178eaf966e780c77ff7b6833245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0330583711f92d5a6594041f249722ab3264393f7b54ca34a2b47da8e8e0cd30db032d5cf4c0e78857d9a47f516664fa79c50497fffb745b34f99fc53725d9e5556500581e0289f4a3055bbe0c7a8cbc6cea3028f46809df43fb27b31702530f3eeb925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02195ba9032f4ec73c1a0c5de593e53b17d19ccfe53ad44e5982e3f3bb16f371cec44ed4d2039e23d076af0ff241b46f87d38b29b155ad37da24fba418ddf3112f25faf51bca0396db867eac236c0bd28df2db616daea05b06db7b1a625dffc8c7e66861efdd8203adac94dfcc5dc0ae1168b49fe25cbc0fef6a3efccacef5eeef4fa0d5a85a73f803e37ee6640652b6a2588929c590da16fb94d42a309701a963afe094e81dd822a2031c444f9e79853b3964b22916d0b61bef3c2f3b4da8bcf2de52e78d02dc6f596c03210c05eed43ac8ad4d453fbf40ea69cbe9a9ac62c274142c39093af4a7523fb303840f2d44b97a93fd2de9bd17699ad40113443d389c501526859ed529d895a9af034a9f4465ff64afdfef6115633f2ba898ae6b343e200092a5a58f081e1239058c03a0966fa8b0126faa4b3b8860f7d820c1830df64ba0fbf192f4a1b0782165bba30335b7a68e853ffbc407c487ec4016e6879cf20efc50b1fa4d21902320dc55d2bf036047a1b8e26bf5328df68f11c9fffbfd09284aa39eb64a00e95104c3d6497449031c5f24f77ba1d32288139bbc63065b437556757c46076e9a1220a204232dfd0b037fc4072481504873852bf7eb49ec8cc3de4c505cecc46aa8802dffcd91927f380219ffff0339d433b5d5734f731fb2a5a323cfdc50005d2b408619607b51a220738909d9c503eaecdc92ccc51cba2eaf680cd8804990f3677550cd3031eccf4eab9dfdb1e5b403fa77bdc7e92eb7900d9ff639ce4a2a4b519afae2650fdccf17e9481fdef0491d03189e51ca69854cb5b830241d4eaa34bda6b5334cd3f87537ba4a309ee3ff6fb8038cdccfc40075d8ac6915330d3be4188df205ffde18c8e3f13a3f7609651ac7c90377e9aee7d643b45601474a0a9f68959c82a23e3580e44a940270a966ae6f70230371044006bfec73e13a6b216021f1fc43eeb5d36b7a24b2e9b90ce3434a16175703680cd8dff2c99c0ca87fa65644af3a11b7ee31286062b6ba3386d3710f530c0903e02d29fe393bd445f00f03df2e20d58b5658ad4dbce8acaab5947efaad6786f2030d1cc1ee35af6c40ca8cfeb49de6fe7beff6e9b73d7ec03d4739dbde10afbfbe038acd2c9dee188b185ad366a3770f016d36bab2ff16cdd1097db0b1e1432b4e7903af61adfc078f6d7430d08e60d74c1cc98338a70dda33e2fc431527fda18c02d00219ffff03d64d045a6920abdf8404f753cfd7a498579f8c4202de5f84f791106531975348030f8baf8089ed25f6b9620ab9cf3f611dde29609e8bd00062705ca5767afca32f0219ffff0219ffff03e22f9e7e5fb4a62ca7813d1062e36b6675da4a9c27b43360960ad47ba533dc71032f9b56f717de92e46300f98d52559724c990cfc3e0ecd498bc7fa1ccbe91267b0344724e263b58774475aaf666060d5c4e0c0a996271b16c5b94c430cdfc982f2003bcca509c10030ba118678d94db71109d5886c399ad646e84b1d0bb2f1039d7650341c6cae14a6581663c04580a1d01c9584be64d9de03704e74ef1af1c341c4ac103482ba5ebedcd6478c687c805394f575eb8e0ccabfed5e1ff4b58879f3bf2989103668a41733edad9a2a128f4edd65d55245c023f512b2b9f1c292f5007781773d603cc3f5963e25d33d06138b489dfff23567c2492c13b0ce259ed9fdd54b309604903303e54a2cda658856ff66461ca71eaeb928a35508eed73cde4fe5bff6eed781f03a6db6fb2bd0208a399ef2b031a737a9b4822dfd1e3d153f2659776def59950a503b52a4800b0ca223acbb8eefaf2dc9f64d476fafe58b597be2ef5c1bb09da1b6103c317854cfa07ca68e761affd1cb887cf74602967fda69afe9cffce8ebd8bad54035f2f4fb1be823d7bddad02a651d66aba893c5b41dfc65799c30b2196349fc18400581e02ad532bcb0b1e957418b56c6db224ab62e7e80e2acec4aaba86025eb61d47b8bc8118ccdd5000581e02e5b27b9f694176dcf1271a7f89ec2a78ccb14445168e6cf9de4ff4ae2d434c4b4000581e025d1412d2ae2cfa5b430e0eb10ef8c5229a915f5504d481f04e2d7a72bc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0345a361261d26376c8afca51a94549217bcd47d8aef487c77247819c2bed1b31a014108030a6df09341e4edfcfd4412c08ab958ab3a529d7c7826d4964eac5d5b98659a2900581e0210f4fb2cd5d2fd65974990d75b4c459ffa99c327d67764c7b59a2ecac744a366e6f000581e0258a57e182d9d3293b5c2a285adf3df761b7101b88080cf40e0b19610e94b4a817c7ffffffd664067fd02191d8603e1345c0a05375cfd6e4a092244cd4e96ff2680eb08610dbcc971f3d6d9b8724303d837fc8faea42edb8dc3c2f2b25f3f6a7ff9d1b3103ac115b9fb1c2cd0d5d626036e95736e78251b743412edc42318a81cf4eb86bb5a082b893d95d3ff5dda20d003d49270da6ef539497e5d12dee64674a2523c9b0356492b5e2cd8eec84cd89804033b6d2e03eac6ab7fa2890297dc2e36f28270655bc2cdc107e7d065ad89e5d19f03976278f65082c54c0b649d322173be4cb56193525adb4898e41a7d360f7316f4034d2bb54504fb21ac2cc1afb3e544d6b045cfb6223a3c99dd8bb6030b116548f603ee1ebb37d402ff562411fca3924f5346c39138f0afed0427ad0af94d941fab80033b7708d7a8e1b52b7cacca84e0617b134fa31af74490f9de913acc055ee6dacc0219ffff03a4820cbcaa7a2f1868030d73d611aa6ffa4f4bb0044c2d483be132b1177eaae4036625f83b5ab56511a26c6c5276a51a233b89704d517c57f3ad22bf3a0bdb409703629319f66deec9f4478751df31a009f3a5199dc9abdd1055031cb304c81bf85003e5da80954015b6635dedc141b2c66878a77ce81d0b8a177207fb413a446f8d5e03e66f1349c664c6b165de2d818da4c9ee1d80fc3b4de5bf89c8317b29f4dc0e2003f883a3cf3dc554ff01708e6759565ffcd9e2cc535bc38ad245cb46499cd0b558037a558601ca53293d61582c05d947ff980195fdd589a1ed48fae9b893e25a5bca031fd3068e52d1cde20b61e5301d033db531513141c513720c2537143736a269ae0345a700619fb23aaafcc62016ff8372d32eb558ea2b4c9285e49590010ee6794a035175114042247c2e629915aeb8356ced70ecb48dd7023d534f9d4bd55a4a2d9203a34542a9b52e8aa78288331a1c1db6194fd41b8a4dad7d2db29c69c50af3aadd03623eb3df7e918ee5491594c57303d89f2b63ce919ba8934c9add2bf4b9af221d0337c22d8ad29a90d43374ffc3dbfdec1035fe5998f08da0deab7a31a52a6c340f0219ffff0387490e4dbbe77ebf4e872eb160340eac6aab42566ceeace47bdb2d8450ab428703343e308307b7711dca8c42854ab3e78fd91c3cdcb5d4c2d02111f8538c72d84203f68dfb3deb9ce1b09480df6c0109b05764cc71f5e4da8c479fc08b8d55545da303c1f97e4529164f2f2ada92d7f58a145fd2edb40b95552bc98343bb6171bac71e0344fb1eb1b3bba883f4fa0f8b13cc9e3b50f433ff75070becd5e845792f02f53c03109b142fb9d44dfe3db88fe3c7037b937f2bbc0dcff0f3535f3018e7b3dd92b503d42f4b2895375515833640420e2b54f459cec19a22f1ccbb215ee50267bc3cc50383e6f36bc31a34ac464e43537c394cabb2507d6c981b9582c63092dc40e4329c03fbcaf8fdc0a838229c9026ed3d7b63b215a3ee4eda82172d1b64acbe70b3241f03ba08b9f86e790d780301f61e9dde087bc570ae3efbafc92437b95e2c7faf00510390d2db6ca6618c634287e2c8a91ba861d219f8e63b7b815425ca425f762fdc430219ffff0308a6747c2beed3ac4fd8677f3f88b709561b5603da38a1f1fd99430a7f504b3f030850633f0482f21362329c93ca7fb0ccf730132eda8eb8e2126c169f6120205403b424f3969d0920b9c09596476f62a29ef190c40a150b96194f0c0f4600fc723f0337421daaa10a3c814f21494a9474e5bebc8957532c627ece3230d8c350b0312203f79a553d4e5df8da1aec081548a0a9a8e688676513ea4fc006a700e829b3eb0603ae8f47de2ac807ab80a15ce35ce55b9746b7b264a7926dc15b93f62aefa5a087039af499c694b89f96dd5c965e00fb87ebaeac96063b3a7b4823ec33822af054ab038b0a5438467feb6e96051842e448ea96389cc943f59f2424dfcb1c6465bac25303ad7a52952559bbf14a1f85abd93dffc12c62c908e1210468ee8ca6350c0ae4ee03840824ed4fd393ea76bb7d04e97743a995e08dfe4bbb2a9e61366560af42bf3e0357ce8426c2da3d73d981d542789f2897df5e55c666df22ae6cb2d19b46a0a67803c63c5fed021e5b66036083c173e57e6995b64466e1a6e7dea7fc051e24970b4f0344d93feb9c6ccdab344cf72f12b0792ad01825a7cd861a57e458b15943e1d4f8031fe5106bed13633d822dc7a85e06c173a4136f6b547d17e4dd06569fb6b3757303e6acbaafee0ebfb5de88bb1b51a8eb4e7493d8faa017a57a2060cf620461a94c037fdafe5b70d91149f9e6ab6be7036b9ab93611d721bddf8701378481bf5178cc03a7406df77df25d1e2eb9ba2cbbef15242aab1c0f663a717bccc88ee284582b5f00581e023ff0381478b5f690ff8bd4b329b56c01b69b83efb9d9fee9238ec3588d4b4a817c7ffffffd6aa07a0000581e031acb55355675577d22118be87a8f921610866e11e3004c5d037518367044073712fd00581e03bd3b69f2c7f267833d861855aed8e0292919865c69121f9fb9152cb97043d59f800219802000581e02e12371e58c1a593359275d2d51ea7b9940c1051801fc041fa08c2fc5404398968000581e02a9cfe56304aca2ecdda55f3c90c4065be155f705088110ac4b2614b8805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0254b632f778a226214521af90162b7d410aa0fb190164f39d71622d63a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c8df6c6f33a37eab13a3d3077139c8f9cbc936d456e0bda328a03d5ee25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219be0003226b0dea92085900421aaf7f364488f7b1aad363577799fa93d6816eef6f7c3c031c76d63c02b493d361a3bc98e7e2573022ef2c663311d9ef3d562b3870f8006f0331c0cee5b999a16dcb6f2fc9dad495470b47693bd544c36f65a0d9eae579e2c403a1273513f8c75c927e87d2d06a9fea3aa8def404a68c5d563dfe6d567ebafb8603e7c75139a3d7bbe1c9ed90b17d24d36143da699fcebc45e318ac89fdb32354b10362aa0b77796cf2938efb4553bfe07134cf4204a47f0bc1db103ed08db43afad103ed3cec945847712b6a7a3d6330c08ac4ae89bf6fc0bd3852f182ef406105db1303a0e23b21032a73e0daae0444b618bb310c787d68cb1d427c11731768fadc7e160367434c8addcb47f4babb00b8ad18839d0aff5f636abe5ef3c766f89e857ef478038d4bfa20c7b4d163a2c074b0e2c190c9d0d935cac1c90836bb3b9edb1aaea50c0219ffff034148c37ea1b3c162769e423432e7921c446ee6612b6cfbc5267745b6eaf6de90032cec82a5b19143a60e18ab382c3d4f83122ac311021e857269124bae0bd4e80d03428731c324b06aa77513c46bc0f6baa7a08cebb2bc99f62e541b01e3333a98d5036630fe34bfd249eaee1be6496aa91b93c60e1aad8d47d80f8276f0b6248f9eb70378add68858f4e92f323df4b78aaf0f830e6db2ce11c92112ea74653525f9aa78039c3a312ddfa08e9659d309957a61ab818338bddc023e3242dfb91c028a90697803347c58224ebcf8828b5b5cf24ff8f2006e2f421fcbcd83dd1ccd0c3e7b79687403e7023696fe2bd568578e0731d25c6714aa09b955027a5e4b8138ed88a88dc8340219ffff034cd614a05a6ac2d6c81da54fa4145676f518798b23d4f5298bb45a1a98dc2e7603d7989ca7164f2ad63eb275ced2914d2df1f994de3f301798cd9b1b9e610964b3039b77fdecef3b6d80bb776c54c61eb1e84be9a1dfd5cfbac714895645927ee2ec03fdcbd2907f03d3d3b9a593988d5e563a753cc49923007fae2f722aee0be560a303ff3fb02606dba8b1156d5371ef5d43c7c5f0cad7db738c63611f4eb4d4015bf103c47ff5d802f2566f77966d071a6e2786b2c9c0a54f6157349216bba28eb89e5203f04eebf43e5e97cb715236cf47a02d0a708ab676758d838b50f5a605f812c78b034fa4c97df2789230134a3e00ced7b5f40697b69e8ce44996f0b77090482aabcf039ec463f05f3d443da19b7c04f3d61086890b787783c4d68744ebb18192b771280340aa1210586736226f031b69bfe4a26d54f50c36b87bd2c10ae89b9b7df3da8b0219ffff03621b084307f8024723a256527b6d3ec6a5076d82e7e2e8a95b42e9a293134e2303b5acdc74e0324284eed8218ea0e7eb1911cd2f21c9a1af4cb0174078788b733d03de6884d740dd393b42dbfafa5e691d283b37a84da4e4a0b891d546dbb9ad0d79035fcd45d1e9335f1a71f824f20fed107ac52518e3049a26f6a2a388e6295323340369d2f8d2697ebbf59b360f7d750eff7c3d3b5c2c898014f291cbc302a94345740370fd526b8ba55986ff37b4554f94908a30bf032d996b1e29bc4e7071c6a8eddc035024c2c0293aa30dd3e52d69da1645d1f581845774528fd1c8824d70640a19c503d7771724358e8a0a4b83cb1705df8828ee173c47b1784abc76c2cbd9e78d2d1203c889b24066eb9b2c4e36cd13b33f28c8b4c8cebd1373b7313baaabb04c7d903603de11eaf70bae8a04b32ae78abdde0b07918d7c227905464aedb27a7356490b45035557e6206680e1b0cd0961f14119c47f3b04d9af87a931f54b844e53d8131ddc0346b43853477ad2f738620209acaaab6ff91d742e06cc0ad2d659fd8c1450095403043bd81eca9101386fc1335e79d6769a5ef628b0191127d7011096f4eb3e25880396dba8c1704dbf9682c5bcf3b0b754b5e18e46b5539afcac0c9dc31daf8aa91e03ca7f78505c7fa92598779a8275237d66f676edb7408ec6fa109164ace4f50a1d03cc0718f5d15491b4f60cd745f356a13fc6eeef8cc2b1e94e8898735d12eb05d403b69131d744541d01397124e32c1c1c7ef5d0177976a8a50c7fff07f31416711a0389a539ee7ac58de343634b0f1a280bbdb6cfda957bbd62887df11bfe8beed73a039b6f413723da36aeb58a3adebcdab36239722eb05dd95b53635428b3525db58103910b5e50759d626b76120fc2257b11884fbf2c40425e6d056e0256cf0288b223032b8f76b7999ac76832d7604b3a7f30db2c586958477b2ba87d8f927272b88e6e0329ac5ad1cbf97651f9874aafd3e6cb535a77d879648a4e059cb8944ed6e5eeca030ea32e2e6101104b6accc8b3810b1927dc35f86e9c8f9b279ca17703186578b003b9924e6c90c0569323eca536e55c552943106f3a1b98dc100cbc4e0dd29cf59c0312d195bfc6a1781381d0f91bf6e6844a9bd2e5d7d9b98b67a116ee1f9ac1dc4000581e02338105914103f4c8f5c4bec5eb6369e351de9b38dd6cb26fbc50b5c6244306410500581e025c235f42f8e0c6b024de3486b1a093a7e24d2fd28381f1690c7dcc20c25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032f6255430890d5c26b7fae36e97d5604ca4275f8286068f86dd36f73da8c2bb100581e027f50d4997298f69af8de6953fdca7675a6dc64396de339b58fcd7f4bf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038d66e7ecb126f5a94a76224c8bf8c95e923b9b04447ea6bac6231eaaf016247700581e0259aa0ea1dcc914745001ebb4f7342c9a58226002ad80e74950be63abf84402dc9310031dc8b12dca2bf5991fb5c32228944884d05898d46fc1a8bca4afda2da07a31eb00581e0263df22a0e142a321099692a25f57671635492324bb2fdb852cbb7224524355970400581e02a6bbbe870b72af4316e14ac4f487d20b7ef714bdab786655685b89d36744055d4ac000581e02a785a770287a6bfe4b2b9b03e0c37998cbc386fcf83eb80526f7017b0745e7b094ff0002193e8f03df72e81ca4967be0f0f94bd7c64c56d391489b2a44a67143f6125d1b28b282af03dd59d65a49bc04bfc87cef2a1f5124ec0c26859efd587b0179b3206a60652358036909d1a66a9c09f644fa09442130b46170da5497f3335ab133b98292d31d249b03077ce42a9961fe2cd04179f28c77d9ceaa8b7948e5381b383e4a02f9359657df0321070960e5b172c0c38b85a780aae2778d3386bda2d7a544a9d21ff02f21915e03d9bd01bba14ce61e3d28cce36ada6bbfddb6f63384797fc5d6580db4b3d2187c03b344c285259bec2333465d7b1c829a543f140ee6fbeade732106b440372c1a5403bbb60d9281cbee06c2b3b4bdb57a251d31bac48fb081a4cbc00df429419f3a9f0219ffff0308150165b78ba5d1d1619d035ee06be2e1b45a9be9f0a4d51c964cdb4d166c7b03043a89adbad186cb16b4c2fcad2ec22a5ece944e4104e589a62c6f1f5b351f61031ed7938fe438014fcc7c45fab604021ac4a2cc57da9368c97f46df2067958ae6038b186e5ab3b4409c611dd27694cb4da7eb06d84ce52a5a725d101bebb18f4b460352142f2bd40961b8af23e76a25f0ddda95a7b7e7cf83b7c807c15156aff708e80219ffff039c7a74f41978a177129b4ce220fa026905e6ec7b5192c56abaa59245332ee179032996597026bfd990449befb8189adae4647821b441df85a8fde28d3597386e3303b61c505fff7d2b2c7d0a2fc55212789a81ad90f605b1f6626dc5be46adefec9003bf3a9fc502386322d8c3d78d2af9fe2a562bfa4f5e7998c669038d4e2ac5bb5d0302060939f78df533c172ebc9fbb81e2cad19f556f545bfe456fcbad2aa62c2a3039aef05b5a495fca9b9f92936fb6afeb7f40dbc49711d1a603d5cb97b1ecf725c03cd8079be96e802230e34f0c5124f2849fb88ed3873b04b974c642c2532b2f5c90353b2d6b312002155c90279759962132a90a244a020e36f009d24ddf744c2a34d031f51fdb24b794b6c4c2223ed009098329857bad387ae1997e905f93c231e13b603d761d1eb74d5e5b44912fb56a85581e1ad98db1ca27e75fa6aeca4e2012286fc0219ffff038349df3e1dbf14e1227bcd8439dedc9c8a139c13b44042bd4823bdea3ddf4fd9032f984550dcc741eb49519627f01ead9dcb1c64beef5e5420599c54894d06787603105af9d729395d85c031390b0129278b7f69b92d3fd3ac7fcbb5358c7ad3329403ab36f79cdaac98caba73456789c3f94f08ec4b0915f766c5abbd3b9fc97693080338c074302b1f7eaa31a8dee8d7a08436d036e734985afaf7c594b1a5e9081a9d03ab277bf5d39dfedcedf1d2ccfc97f1227e04e47b3f201a31da35dcc9f1ca9bb4036d51133480b131855b2474f73973fe017e9b0494054fdcea57b8caf868a8aeef0330a35bbea47d64ad19efadd8dd8b664644b025da11d070608d522638d93b608a0351117ae9d99bb26822a390c6565b94968ba2fe9e258534a35390b78f5630803f034c2e120affc9389f8383f49f20e911a1a79c59903bb1368d75242d5d9595138603b296de797e7a1f27efbf42353c292a6ed5f8fae35841afd5703be046648bab8203fcafc8d9a4f9505d23f6030f24b9aa099f2a95d1a1151d82b8162d022c730e550324f6ffd7cbf918b6463ecf1782e1f0190d03b4416adb65bc540a49ffdfc1ee30034aebbb9bfef7c8f427c6f11b65ce7671eea0e5ec0925581dbb2e9c43484c9f6a03812c75ada78ce9da5c303aa65742a784c3a13bf02cd84b7d58b04edb7d3fad7a034fce7e56aed379a89e46f13750d28c942993695a8301673428e79e111b3e6eb603d1ec4fd5290dd6a2aecc4ee7f9757e3ee1a363da44756ab851f29433649c0d28032e5961379a90f4804774af47e1b5197382d5e36c35ca149cfda226a1a4a105180324f6310878428423e4e8822c9b7bbd584f3f19dda099b2da209e32a29c46c9e003c11312a760ea78d1d36f1eff04a3689986ff94e1fe7c24e64a74c8f614d0261e032e38f5f196d39894e8f0218846669001ecfd291ee26ba81eab1b84dfe514bace0309f4653577714220d98e5dba8bb9630c9c5b50e5884b6dfb502692aa60ff5753035a3cffd646b7ddbf7a1775b247d1fa588db04e18df007370b5d4156c92c867a60357cabc40b66320126ba68f8b3c16856078c5b22072b7a86ab687eec0e3eac409032c7b11c6bf0eb9cf0c8bb3d3f88585a2450bd1a031f2c70e2d507a619da4eb7e0319de5a3d152ce55bcd31f1ebc0f53af115ce33afbfae4f81a402439da74ae3e103a671c9305b5bc6ab2955930933245ee04f071ad1ee66a5bb9486c6ea0a977d6503b6861145cfc914ca4033ff66d66ec24a70c328c2426c383174c3ee4f52b0d39a034cf0fac86243e87b0edbb7ac42516e79b71fae34a181750408d7f7251871e242036e34b7f57861fa34db601d0f965a1db172cdee7cc7d6a61a4a1e5163c2804c4c00581e02f6dc553487ebe7d09b5876dab763058370e215b2cf7b59ddf893c80945450df847580000581e0227c299aace9db8543ea8123a9b449aeabdc9f674170ba6febe2206dd8f431e8480037bd3c2ce33e1992e6fa466779489b5d8ccc1d9bdeccf7e51acad3590b19fdb6100581e02d7b01b3c7c5ca8d895088ee832fcc1a011ff62804866a59fc6befec1df410100581e02e0401d03e80273453901275a1cedf55673f1a76b96a52c2eed4ce2e0624d0c9f2c9cd03894372e7e446fc400581e02594bffe58dc249db1dfeb07f0f2d4ca6465e2e77090001b0dae9cecbaf46029daffebbce021929b80219ffff036f82d8e608466433ce4ebdf668280b3c6f1c823b998ab0646732c226ac3a40b7038b72f9915d6c9cb320f209858eea9fa6e6b36c36a3ec354fbeaf21ce6ee36eb103a26f32246ee90b65cfaba00050f8f7d7e0b8324a07264557d44c0e71f337f2da0318ce2fc7f07921f452a48f8c3b6ed2f2ca53407fb12df78e755f105c62ce1c61030df3420084ff6bd75d49a926aae48e8003117fa4666b5cb33fac382e65e88b4a0365ee4cc705cd941d993797a14f54466d54fb33ee12b6589904cccf1a9dc6e8050366110f952c4f3ffdbd0fbc3336e94bf59de46eeae956481fb39ae68d53e5a72403d45995f8ca5d318028e8078ce07d1544f42bce9bb96cae306cc8beaed5a88aba03f34ccd9b4a16d53a8d09465f5ae36e8ee1a0f716668c2c3c6a92c3a167fb358b037efa9d7d9f07bb25daed3b41168c56309526f42f9a5cdeab3bb03d1659ed5a740219ffff039599470d8393eaddf99c3a7de27736ffc374d3c14e40d472f820b82f44bd57be03b9d913632ad511f19a1d8417b565e4a98a060aaedb41b99cc1d9e6066f15b7c203b90d149695a6da25bc9910dd00bec98340d12d4ebcea24219577822716a4108c0390eca744090f63f187244f0f79492ddea334b8fa474ff5c1204e17460826f04703428104e30f05f605685e875d7282526370a36c171430917f0a1fa0529d901ac203ce0adb4e904e92d804f8f4ffd8e9f3da1479ebc928528193b0cc478e44797e50036c8645cf812846b278bad6a042b5d0fd41e614365dd674b781b9380a2a3824660360e54434c65fee6554d906b36c7b36c27c76e4f400660df5a19636b9688611f10219ffff03fcd03f505805a17317dbd124b0515cb2705b94e34db5e8330ef74f10cffb7e1d03415ea7c720c486437ac9c5c919787e0fa419b8f76088269331f971a879fde89e03f55add3f940f1d8c8a53d1f1727c5d3ce69821ac77f2881490f56048dd73894f03986539207bd235e7db339029b413e1bcae2158d6a01fe5a8447a53125cafdeea03ed41da0d0683d4276d26194719307b1de42005acb1f102be632dec42ce093c2f0311424b0be0fc8d3877b043aa72b1d955e79c395e9a4ebcd7debe7e5f4f2dd99b0390a7d9b201a25695b6220164a25977f35cdc27e653688cef0f5fa52d08028ab7033b51c54fd8d4a93b9a1566d0f0e9066417ddd5939e93fe16c7a661c4cd20d73c03ec094ed253dba185ec2e7fd46b6216f271a9789f05fad29398c9cb374e46d0e90390970a10824a281693efcf963c5bbfa53a652ab33e1326c929f14390eddf12fa03abb126d014a0472e38bbfd9fea076430cb1d798ee483d86c96f1b7155d2c53ad0323739130a15eaf6001cd8f0b5c5e2af37e479e85207a6bb7a8401632617aef490348b63fcffd12a4c859c4aec8fd411649512ca2ea5da87727024436f392fab08f03cb55bfdbfdf6d9f2729a672a3c06279598bc4f323129fc93835ba3ee591c38d9035d6b578c63ad79221070e87ee0f1ae2413b8cba58d9ea27486e8e4ba1a6588e2032e0014818d3af0e9488a85b158166697679456f05bc7420f3a6f354b4964c99e03d8c50283bc57c3481118e2d0dbae2662e7a1c4cd230a49aeeabdbe46240fb4d9031b2bae25557b3793e13701e3b977d8de7c8cb43530a14aef6c81ac8ff56052c700581e0240e2c9c42a4003ac33a4da405e9f4e9863ab5eaac88a962bf39e5976d944029f630000581e0255a929800343d4bb8ad36062909bc19fef77f11fe617aff7dae2d618f04510353451c300581e02a2c2e0a02503081b5276d816b7dc873d30545812d9bb854b3b39684239440186581b00581e02a9bc9e651164bb3322da96f28ad80e70e6fbfb106f269475f8fcadbd805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031daed8f5458208cc3ae3ebe572fec9366beb2b8fc01e1961a83b0419361b259803692f2476d2ab1dc22e48f6a5f5c9742a0c27d112639eb0436fe57c5ef670626100581e02c7502fc243d7318c9046c045a13aaf5702aa578518e12d47409eaab7305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021955b003db363ec7bd52823bcb4a798055a7464762e7b8ea97ca7985cb1067297832968203c6d289e05956ac08bd83ecebbfda1e0fda35b1945f6ca26a35b473b1c017f7e60219ffff032498eb6b34310f6b2f218edf80851a6be9030d0534eea62947b9979369d4fea80356edd9736436898db0a7617f7812c19e5ddef9fc52d96068c41950a16a7bdb71035fc28b78a26e640b9debc78323b218ccba6f66a6d454176a132bc80aae6bcbbd03bff1c7d097d6da6a4354732a905b89713ee1505bebd16c8939dee63cbd78c39003f0bdd1e979aab5283fec62831568ba1009b0bb6eadbcba4c73b8303bcbe9e49c03cd9939857688b93a08c41e98f586afb1b710ea5632308316f3ddd664c7447a8e03ef6e568a8057e4e232e766a1affff3501da17b2900b92942a109fe1811dec8cc039d90e74e718a4754854e56eaea3904ab2b568efd9abb508afce24a86fb41143803c5d5a96615a517e69c8a19a215b0dfb1466929235734fd133f81f00932e2a23d030f8e053dacb0318bfd0022dd5f3600df7a81dd4974126004644e7b4630c021f1032b90060e6ea3182d5c1f1396f11fab90dbe3c899f9bf24af2165c9ff8e9b50b10385371f873ba51b0bee305f0c724ededddfb9a361b7548a818cd8faade9d8958a035f34702b2b1e9822ab6570fc5fdaecff4a199c84f1724c2a1e2f81b41d5fe30c033aff368d387f6382652bf9a496c1e717d6f248f4defbf7e7905e4d9a8699f1b903300183312a1af7c1f19aac1b5720291233e65b6b1452df2620cd9c86f436679f0219ffff03be0eff5d511f90e4af04f222840f6be61143c1f2795c3bc9baf2fba268f8f5dc035e3a25b294b7c9c8ab1e9573aedad0b94e0588157dfdb156bf1e74882821394f03145f6ba5604f5db61ea1b128e14116b2c045197d0d8f061bbe8a2366ac13d9280357fb2fb59080c6ce024646ef78c17b26cf249a39bd6eb151669d45fb89e7e2b803435ecdd7b299afb3d5fb8c962134384894c9bd4a70827ffa5e3c78673f20a4bd03317693dca8969ef7773a37d0097427e8aa28838530b046128b26e05df8f6adc6031c842464650fb935c5de4e820d3f70ddec5fd95b3e1233f91efa4081b866a40f0370589e934d1a12102ed3237ae6cc61b80f251b1c5dcfded1f91b759cee41bd9e03e89f450278ad47b584b4a9cd00147d943b3879656c1ba748a9527165ba142f040330a7fe8fc8d5c532c69f184a15ff947a682f5e444cd46076fdd86395ebcfe19a03348acdd3ec1aa207f65dad9710caf065f00844bf40e86e96fea47597311b143a0388535a5b02a06196f9a3ec7a380bedc09334515353738aeb1affd331a1f36b260219ffff03da43e2b94e2b8230a8facb7753e5144a8f074191cbf7ec7eaf2188590d2b8c1f03a4c42ddc64062f3419e2a97c72f04eaa09121e6b085d8ef0655c0698340067df0387789c66232237281cc875af1f19c3f92d2c8184863ab4c6d0e2ef7edc9d2a6d0219ffff03bdb8dbb249147acdcae6a158914232514cab50cd612f18485f1e75881228dfd2036040db9b15af87e9162bae8ae509354a5e9837ad15f8f2648d19c3a5ca51b69403b90671c092a73418174070888f648b3498749c4e0e60642a336b437a86a6a074030923ba813de861a108b1bcaef1111574f60552808c4d66f2d958dcf0e5e64ea3032679903464f043ea7beb886fc0ce96b6c43da01eeabd923cb9365fd7319a586903d2208bd157450dd0d6dbd965cc377b1ceaca4fbd1694c4812868b2355fdea9f6033a96e2f5ed5238dcce66c66bf7cc525df39126bfcdf33d38e173a318740603fd030b41bc8ae63a242a4bc3a1f7ce1b934067b2642939d8a8ba8254bfd6f3a0df520310db3c5c1631f9b538a01b363d11791514d7c5ebad94d0787c8650d261ccc08803ce7fca062c1d9f882e0fd6163407bf23eecdb09cd21ee040df891785c3ddcd0b03b397db68be4919fc2fa2b8ca755802e6f01107f918af0a599fff9a0092088e76031ec37ec09c9aebdbc5c6bcbd2168d491a3ad2641527420bdd3fbf124f3712bc603342780a858e95ec7d599a57a8773bde0815b692c2f5ed72e8b5ee2092bd9d5f5030b42b43a536412d7780d6bdae5ece6135a445814df3cc31fef58daf7d1d8473a030c26eab5b076428fbc8949ae59415e3740e3f9caca331ff7956cf8ccba3abcd60332787e74c6fceb66ff20626aa99b520a9f5261302c90bed1723e069ec2e0b90103ac7ba63eec7ab914c86f4ce7381e129eae8a4c207b97b5bb8cb94a3053654100030f110a4b18d7c3d25723e9ee8d7880b648adde827b151da7af12a59e32c08cbf03e45a05b7605a5610f4a2acee891968f3ff086660adbc9249b33800649237527003d481fe48cf540d218e48e73130add26e70bac7676fc799f3f39372799e86e2000305a223abfe0f79025df5e1efc54aaaae318f1da4227f770a664420babbc1f57f030b28c965b389d3af15dc35bab7cff04cea438d8d3fe26843ee7cd2346174a4c803422851cba073dda0416483cb21d038b6d920aa27b57010e3a934033a4e3aee8000581e020fb688dd3b6276935225dc60ba206601f2bb18e4ee9def2a0e23eae77b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03283c9355635050f84ace7e2ad0d9a33233882cc62593fab5e4b38cb669041c8200581e02ab13dedcdd4bafefc93445dd63321dba3a8efb6ba72c8e33f3d5270c2f442acbcf8000581e02a350ccdd7c6c7036b445e46471b9e8f75c8ac9cc4a266999e9cd4f7a5443025caa00581e0218dc16b6c8ce32c44a2b8200e18366d07243d28b08b7ea09fd570901f3410100581e0277bcfd7b7cb3f2ff73a6555b68908e612bd9d32353833a3f1a9ecd1e03440123987000581e024f6ad4e61a48def0d5f75f43c782f6b002c9860860759f4f8523b3905c453c118ca0ba00581e021d1c324794b62bdc468842c95998e2a202aac6fe9521d9eb10e61d387d430e35d300581e022321d1dc51cade5c129bfcafcaeb6dc6ace3cb9db56a077fbebba74a1c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d58809268f565f30d2af2ac65abe4c3bda1b439a3ca76f843b967775b544065debb40219732f0396ccca2b420b370f89235d7da65b87a0246d8202c3a6144cbfffaa94128428c303a2352ce831f4ff110779687c6dfa5cbdc34056546d1e336d0115686f2a77a18a03671596ba542a52026f88312e88e22ad7bb8d3af39e39068beefd9522640a26ca034c27a685032ccbe2440ca9a2ecb8e4f503e8e1f1f0fb18150fcb0bc2a11f1ff6032bf596ecdf79aa98eaedd66eef35b7b105c6aef510f37c5385e8ff1cb65630090332c37016edc0febb4af6a0e4502247927e2809a5aee6a25becd12d5d83ca757903568cb5f85e4cbaf339e96b0c1576402e6e2ab407a7e0c3493e038c10eaa595a20219ffff03b916ef867386faed26056c5cd491cff112ed15c6eb7af7fd95ce211d8cbf957d0325f0c5d174b687cc44de01a35997c017ab06259c27962376ccb63d011929c0780399035c6d090c8555131a990041912d37ee5b9efb05d94049725ed170e509decd035f375e63ce07ea30549352211bf39ac8eb9b2fea415d13f1314ce904d9c8e53303ac2f96704f3f528cb7c6bbbb6acf33c098eb444acf2bbc2a4883887fda935a56033f6be3366410b75c5c7a7c5eb89a834a53d64e0c68de1c239546ba758a9838f7033efa9d460c29be306c9cf423e895b0c715626d9e2e35d6177b64c30cbc06466703f78089a7230eb97bd82aa927e650b331a3eb770eaa63f9791d09a8e70cd1cce10376516fc75d3381a81583f59fbbe68adb52bcf389917c8e3333cccf1d0af5cd030219ffff039bc74fd072deede15df9747d6aa4c19facf81911e4d8821acfd2e20e593eb5f7034a9ec053e2530697e670f873867e3d1be574e22ff872ac8061a06d79b1854e43039ca7a6c811ad16600a35d93cdeb76f3ad6d9ca75417365918ad83621bd9b1209034062d1b67b5c7874ad2c5a1aa7c2df7fc729df390363a322c353f558cb626f2e03fa315d11c184cfabc21c7a2fbe43bc233da7b0c212ec2ffb1d1a88c7db209d01038d60e84ecd4677f9823b5ad558581f41bb3f455f488d662c36814ee118a8fae203d06f21d874ca738e17d3447c21790cd1149479705f8df67344f5e23f935abe0c03db8c9d97f71fdf0605e148dae608db05203602562058db445243dd13698ca626034a796ae5806323075dcf12a96ebebc51dc38cf62b9721d30189e2b3f2811f6a50219ffff03b4d4d4000d6f490e36847a95d0b16d02fa264f8f0096e3fb0af593dc234d43e403c4759d6108d779129ec8aecd6074a931e8dfd2625068a60262ca6ec31b20ef5c03264d956d807196c40cd4aecfc36acbaee2826f3b3ac7ac51a0bd3d38359450f6031f3f524774930ba20c10b4d07df7753049c57a309775cce679dc857d5427d28103afdd2310077e216cc7e54135fa1cfb9b665fad25219acc35aa7420a3a77ba87a03fc38bc783923c86b6f75ef2835c5082a7832ed43ab082c2255c09c3f196416d503ff0fa7244d5cee29c50ecf591b90831b521a3fd484e93da5d3d133314fb33690034872dbfec196dbf2e3df478a9fddaaa23ccb202e9c1dc4b52a3c4bf8a1f14c6000581e024f1aad6352f3154027c7ff0391ad003f121b5f0514b4da20ebd46f09795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dc610b90dd07519c3003e9e1454aa84cef867534135562e9718812492d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039642a967edebe8f89f4b23df70c29ce9872b60edbb50f3d6ad68961024d500ab00581e0277a4bcce74c92fb482c508cd30e3c8ebd5f27d835f62144993e97f915a58200ef772882872ff15bc06ca96caceb6d09a63e2d4affffffffffffffc014db27f00581e02864affc0e3fc222abdfd2b761f48dedb2c94b2e89b5af7de00c9602d97432d633f00581e02b9340f853b7128f747786ce880b97a7519dcc80704db9f158f30c23c2b44171126c0021905a503ad34991361c85dfa2da0bdbbb3b7f946f3356d5bdeaad306133efa673d2624050394b9a56ae3b1cc6397c8dbc6ab241a34aaddd2bba7989473790166c4bdef1cce03c2fcaa5e3d36f8a239d9a8514d5e776cc2187e9d6da0c1358599922b1caf326003ea5edc183e1b4c436c4ca8b3de0ba0eb1280882fc70ca84ad1683a0042b475a5033b696c748fe8cac7dcd6f7430ea50cddac8d456239347cfb905910e9348856fc03cd458e51c730ba3094d7fec02b55ae4f2b392da0e19924b12485f517984e0cb403d8f27b9de55c2a0a8a3a884d8ba045eea46b813b7b3c8bafcf090b3ad8a0c56d03ebb36c159f5ad91a44f75b9d23bdf050a44021fe1e13b18101201397f68a9b4903f7187750addb0451104ee75f9c41dd8861e74a5bcc10bcad476beba7c420074503e98e81fe6a60360d43d71d9267cb724a58ed03be731506dedaee307be0e5925c03a95e29f36b3f102fbc01b5e37f45d3c822a631c95c9a68c0c0db7ec737d9541003f8c5e7cacf418a8030605ec399ae5ad5652e4f90d625122c0b026d53a1e9a7a803c15bac4f4fef74222a5ea6d464b22184c68c1f0e69cc3bc1575a64471a959bb20352566aaa4ffa7ac2b450d90801221408a370607e5b5908f9bcf45f35391e5a360219ffff0319bb85de3b0d7f416d9835266c36ad94d70d5e37d5f956657c8e16811881db3103e15972d74d62d9f9319abdc22d89ab48d982668738eb663119d960b03a3b8eca032292a0554a3a026da56e24f0994270de205e0f266e050dd7cc14b7106b2664d203c5e118d94750ab15254e7d76827966d032771a7f9d01c920b336c6ca35f8c74a03b476d10f1eb1e801410e790d160e91ba826d060e0f6d102dd1eaf1b461514aba030960672dbc5c4bce85c6687e33a1ba5b839ea755456ed28f59ad07461d5dff4a0310b90c3f133c072269ed1a30d05004ed846e415b6933616f4f37530fd5f4d6d2035c148bebe1b97882788c48157ce9487609b74d457ef4355506ee232bdf26291703a184ddbce22d99cc6eae6abf6b7b5af8265c2bec76ec566f5725c06767c780ef0219ffff03d6a72785f43f1f00c5299e5924ae9378389ca43249e2be002304d97967829146036fe4bb20f9d84c71d28788e5e3ffa5deb9957e51812352caf16d5e566beded9b0355c45971f44a60631e91158c527f404e2ba5e1bb6850ff2b87a716a2c384a9460353c2bb077ecd884314de65b2aa2429c3f585d1f9ea2f292023acb659e603538c03f818d10a95a2a6c77b4f1cae4261af06ec7a40a283744e65ad0763c42c66e85003ce6ad68654fdef577fb07b52e9708ab1ff483a6072d39e682d25d977b322defa03953323d753b618e746baca9f942ee3a20031358bced0da413b3aa995fe5d6cd8030d6d2c156caae30363f28c3710e0ac415c50aa1b56675bfac48a8bee5115f78703d39c009929f673f0675a2d0c6a72deaddfb18beea55e3a7f6b0ac5a5d848a0fc03c59936bb63d6e2634baa064e95b1b2f309d8e9a02132aaa2fdd0369d1b89ac110383b4454ea237651c9c9b1f939d22f1b8f7d7cf0b8e52d147ce96f1419efad53303bd7702bb8785eb66096616520fe8c38e3647718e27678936952626b18182d642036305b666598a5c271556b7940952f7e229e744d3947e57393039b5b2157b83f7030be20eb25026018d1c5e1e23d2a003a05ab7454375a595af2b753dd76baf32f00219ffff035a07d40416d91ee70bf0388778b08cdaeef1df41511943b6533a3cd652cab860035fd772d7d307137dd9cb5db1960831c1bd618bc6222df8509915d6eea1a4ac8003aa8544a1edc0582231f289fcb51765b43c559d0cf232b72d3e1dbfdaa93b17ab0375a592133240c62d4b1101a162f402ceac8dca281ebf139864edaabbd28f602b036bea5994454a9eb865fb3c39b8c6b77cce33da49ab0c17676732f44eaf482806032149dfbfa307ae25a77a57474d2bc541b94b1b896e814e09df234aaee5144cbd03daf8c273eb89a5f017797208aed76da76187ea52f53a84769c470d26b235f0f3033c41b8abec88b1cb0d5caaa4e27ec74a655e8adf6c8d259d42e16138538e54e3035f3e224a5ecb85a0f0306068fb80fad3ff7e07eedbeafcdf6c6886094766d708039b6192a283d749dcdb44f28aeaa97edbc481fd58ea2d870fa469d962033e7748039dfa0fe44ea5554c38487261a8112a8eddefee69ac1515bfb4401f0915651190030073ceab8a9493ae007eb683c72701c415c87baf05e0afbd69636438721d09110313969f3251554dd88363f92171db6e2d1e2d09ed5c94c6e32fc0202448073ead0376731f0c2cae9c9098f6be99b97f6b0bba7e4696c1cb996d8b2387733674410203fede5959a8d5525ae3dd2ea9ebfa5d816dcebfefffe274e9281c53732f60cf62039b20f759625d580f56cc810f4aac40796daadf19c2798f6495c6e30c3938f26e03b31cd5bd345f51e56486bc27c7298c172b90bb89fbfa7206c1877d32a1bd1d98035ee70810672c735fb78e297a6d23dfcd2513600262388393304e8f6b03bf45920389ca080fd07368679c173e677e81bde0dc824b7666b8279174f4f639781c9c7403cba732d909c04786b9232b37fb5524fbe81cccd224ce86a25ec57f07ac2a206f030aba28be585421113f3a03c569051ca4f4049b8a8552f2b96b4706d3a1aaf21603ae4daedef6dedcdaa19b00fa30b645a7294a0bb822d83f2edde069800114963803274dac7fc47b6e90b43052de40ffbb9e430fef488d94b42b7a3829aaa815240d0386bf750ae82bad24c20cb3006fc1a327a9a8754e2ac5c338820b7292cbc8c65703663789c10c8922847951326e14d3abe4fabed5f53eecfba686c8e9b6b787993903083a3375c7794c04a765a31b9aecdc41ed505373276ac89995240a2279c01b4c033279c470bcd367f5a05adae412c9acec72b8af9a9a8b5b96144074c6efc0925d03bb692b329156e92ea62c7790ec38df7e4c562a518e78567a646f25f43079edac03f9244737a209053605307494b137fa164ac330dbec0246eaf7d5543db4b716d000581e0283f36920e682c2e53f6c07f9b4f721d7eb8e7bce4b061d1129bfcc45a5430e13eb0387d949c6c074121601ddd545b2d8a009d12ccf3b2402031c495d1c3e7830a19d00581e026ad59061493db5b57153ab0f0bf22ffb0138e74bdafd306f562772edb2465af309aebf80036013f801493c108ebfec0717dae3cc06976be88b1f7f062d635470f9d887fccb00581e029b88023f77f0a6b6cf3335785317907d2dd0d0a42a2aefcfeeb93462314401707ff000581e02a1403bcf28dfb54b75dcfa015add4723362b6877f344e3d6b117ad3bbc4d0c9bf16e93a6a46dad580000000219549103d270e770632f92cdd43fe425306a1b5ef2331817924899d9bce8615a32faaabe03184704419f2cfc65230e8b3c09f2cba9edc90de2c4c2d50707ec2fe7f8a4442703ae3457ddb2c563f34f17c7ae8ce4e81da43d2d3b0d87918b6d2d585aa33b6877035bccf50c36011abb18111d9511e073f9027dc126b119f1d75c72ca934977d8bb0219ffff03c0273a0014fc09fcec1463c691e01505a8e5fdebc67c0fd40b697a1c6ae84afa0384c264d1f8dbd9c5af3b47a091d13d211706966c87b326d3c511728ddacdf19303794f7ea4c09a011f59f4d0e9f98b156ab68ba3d93649c032a2644d45a8ac98be03c9ea301f408e6f54e69436fc056e9f6e5732b8bf70ccd68a42758b076fb683330342476bdd52493353c57580b44ad600f05bfb94afd5596ccf29c7f1245b52e86403adf7f890552fc335134c2c00c39e91c65785b22d53420f6ae9461a1a95134eef03d03444d9fbdb99904df0533ff0a8254c351299dc8f0bba7c7ae3dfcce27bd8610348a45534b19d6c2f2d0fcfd492ec599be853f06414c5f061b1c3cdb499d6c21f03bf90c6bc0e75765d6865fd565931ea72f3d87fa94ec3250f1b64462f5bcfe7f2033b4f545c17fbafe9beac3febd2914d0f4ad4fde85fa6a3390e895e939813e19d03dd28200cb4343d5ac262970f3419fd544cf4eb4a11c5d4d99f4f9c32123efcc10219ffff0329b6015cd3348d547ca212c9f95bf90807693c89ebfe454cc6639c26dcae482803886a3f48e94bc5dad88bd502b73acb7911c40aec7132898b4ae87562daa3d6d503cf25d025f3905a354e8acc8dc18ad78ceca43a89a5bf069df99d8c1caf6299250219ffff03b2d3600086a90710d6b592d3ad54e80a7eb02973b74e121734cf528db41adf6d038e69d03025b6179850df420cc5756a6231395da94a2dd9a82fa1056ff7be82c40356fa79a4654381841a5ec6a36f3293c59069c195286b07dcdd32f26206ab087603fcfd17f1da325557fd13cec53bf3a81de4fe24856b55eee3c6498ffc24c029fd03a5245034a31df4e35d892393e9e665e95cc998fce27fc44026f45f9762d8fcc203fab8f044873e69df3727acead9e3764b37325898ef4b1d0c305cc1a90309007b038e078a64f5af9e32a5be5ad1ff1bc42665b96933f532401f9792382458971fc303a7a13b6297750767f2a2c51ff15472a263d5ad3957dd022d6affb9770b2bf535035f9bc37e9106e57872c3f6cb9c7c9813e865a4e489960849e7d6f24d3737669403ed32d0842d9dd54e3173048dcefad7eb5f2083020b05a26448636577822c7ef703f608516d4f2238e3c112b01a8190e671db12e2ba354dff26c5878545c39be7780301c5eac23dec1107a3e017a9de8d528a7715b9e400999fe05bedaac797e431770396e9da39e9e32da433c0863062f7183b4d41613a3d2bb7b85a0788753862ec150347bcfedf7e6d99286d8ac76709796e44cb030757fda107760e9523bc978be41403f4903bd7c652c85c067df251a9476760ba5eb59aced8a694d5b43272658d8fd600581e02971aa0f3b7e23d4984746f53fe9ec96a4df6f0a459afd26e2031bc68145820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ffb5480cf7000043b9e9e8343c615948861074fa5a0cdc4e44a9b15675450acfda2bbb00581e02be2d9f4d92867ce698f7b12836eaad6eb6e7ccc289867f333f17953aab4fc097ce7bc90715b34b9f0ebcd54eaf00581e021438e48f99a44bd4734ce4fba606336992fd3bff825cda47e5b2f3bd1e44026243ca03290f51a6a60168f339fc34da45921e0e7ba931ef65eb32aede85afe45936c8a001410203379b0563021d09a9027ad8141086f7b0a567c111a9d76281e962831472b4e0e103e669ad5a7b86481602294143569811fa15f67134a2f796451bdaf09ec2b010b900581e0201af455f477c1bbd14532e3a160f2226c15c7935d0e4f04580e44543165820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030931dd222e5fd5819b091a3393df79622b771cc990b56cb6fd64bd4b9b31d06500581e02b8f87b67789a8181c474e2d161f21c9144fc94cbe809648417883bdedf432fe1eb0219c5bf0313d2abd12d14e8f8e2a66123dc9cc801f43e858e2a24895b249ca4e0e76fbf34034ad555e23b527669f79cc430bb4f8d425e34d9f291fd0f37b257679b011c1d7d031a56aa1af54b6215ec3c8b593b4b2212bce2b9604699ceec00871c699feebdc603ef001a70c4ee55f3396ce7a4f5fd87e35712f5a42adf7a7bde58964a443a734d03d8c7245370cb31b430465d65f5a9d4ead785611e6f1b28d6068503dd2806bb000325c7e946f45af45a1abfc933b1481c68f59bbee45da165a68ba9f8ccd99428c5032a92eb17e6ac33bd91e26f164f2787345bda135ce05236b816ac5dc8f65a801f037754b1225f3043db2dad88bb982fbf9811a1527f1d42805cc33f53e0ab2af6590219ffff03aa4b058a5c270454c03afee9f19ab7d415e4152a570c750bd99b776c327b22bf03d32478ba98f4f1ea6dd7fcb1952d0bbcae4953b26a88366dcfaafdcd4f8fc3550341d437f6d6933e6cc07462ceaf7b5323a4224f35bff6358dfb3fb9a8db1220470378981a05ffd1fa803de49699881e58cd3452bafdc96f611fc9cd2861766378df03e27a615c652c8092bf52dfba3e803ca2b8daa9b422986b750ebc1af8a9baeb81033b41e0b3cb9adcbd6777a1639b7f7970d8f8ef63f276cef9288d87a0a17ef4ea039a35e186995625fd6dfd4ac2bf8642b4107cab15d291d00f597db3f20341f6bf03adaccd10d203619e567f80a4ec045aec47519fd3995c630ae0a2267c72aca94603d1a4e25d7777655952a8aaa2ca7e3da3d37b5ad3937b58ba9db0d2d3ed87cf2c0319fcbd372a3beed5056d38f957138da46e7bfdec4c2fc85635476bba5d46ee1d0372650cea7b54bf4484c0588ee8777ad16e9239c4c6b49e2d798ebe12872deb56030d88d2f3af2fd71ac730f84eb56984c56e26f0d97a54da073025cbd157ebe9e50219ffff03c758140ce7b8a6fd457793ade0fd2174e86b77bced00bf23cece9473452e0bf30379b4f8a8d5e12be82645ef779fb57c18257004ae940826002dbdc41f32c8b5ba0366426e3c7baaab296a70cfe3a22319e601396b243187a0c70025b63d962aeee1030d9c3c9a8b713c521d257fdbae876237e6d1d2c16b8508092025b2e79bbd7c9a037bc68bbb61eb22d4962662705447cf7aa8109d0019575a4a3abd390657c314050354f897077d8d3b14a676eca5e33e1dfac0b5eab442fd91eeab65b7cc1d735cc603d2ac5cea3d90e65a0c52576bd39e910fda31c319a26e93e1728f68467982ad4b0394bd366623e63df44b19a9a3403e5e5d351fa955e6fab6e3f8f93141bc00fc4003f1a3f5018c7c63591ccf33d04f30ab21f79966f8bbba60b368776d2e5d39024f039d6a72efee50aa3e59602fc8ad16539aa93745b5ef319effe900855d7e3d62b603a6dd999214db8ff079d36c22fb9340c8c4d29896a82346c698fcd3bae093305c03167a846f75d83f91ee68c669a4dc42c7ac64adf97d45f29e733e29534de67bd60219ffff03ecec8916a0a408162568ce39df0b39e6f7c5281e005009b2c73432cbbd40584503e49b963663e547cffa8155bf6145c28f2ddb6ff9d5ba37ace42b80e88fce639b035fc48167614fc7c0cd5a09e63677d514e5f1f9b53e2ed19d79f9a92778e26655037a37b958ba27412d7c6cde75982e66cc275271b31e0e0b74cc75b4f34c7f794603e64ab91decdbec4aae7853ac0d103539410f76c32fe8ddcd91d3827a0172275d030c22c86408e50d7069cbfeaa7eab30243a2ca719c1eb6a25449db6d50ca21082031b12d01252f2b6814935120c3ff902ffc8f304d2471cdf56c6f6171071f5eaf10363a92c783bd7ec1a3770aaa5b6fce937ae19418c6ddd5a78f6c146ce6bbec98b0343a3a6e8b62f98e083240b7093cdc82ae8b16cd546b1676896214d5fba0abc38032efd105e953c09a92c258c5b91ab0516d5a2fb0e5bd7c9f2a797b2da8ec0c9b4034dd0d64cd5272fb262fb2f2b81b5c148d49b12dc0cc5206a5e6b5701e8ed505b03a203c3153b41c34a001a8c9512215dd057435ddf40bef3c55bff006ad1dd94ba03341adf648a6d15445117c3f99c7afbc4a31a533ea7f3de7e409c53de7b0b74b5031f417d2810fae123cef9f24c76cf4f97e7298aa86614993919d9698ce4c73f770360d71c250af31d94e6c51b840ec70985dae79c7c0e9ce5fa1e318e7c1eadee2703c959d96fecd666b9a685d2f701b24992e8b5d2fc10b48c1d734d44fa31a8cfbe03c4813fbd27f5b0474219c37b072edddac1fdaf45b90a33440fb9182f4bb7dcd20361b6d99b198115bd60a2cdbc4004491a13388bc23d2846f47230e8f2b53ecbad03d1df67552eac72bbb756de3eaf6cc3fd8ec6328c6f4bde4fc06509b0cb367f7b00581e022776e5ce351beefec361c80b94dd130b9a960840155db6b5ad088255144608b0cd1dec7a00581e020701d74e1ce21dd158ab009e086e696029b61e22a12e20a216b937d601465af3107a400003ef80608f6d7fbefcb0f689d717fa7ba3e446758541ccbac63f12014c1b4c79aa00581e02246e1de9f761b6e3823e7ec305963ca231af73d2033b88d35d315dd9c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a131667adc3ca117b92f0c7baabc4643afd7c178b6cd3998b277aafa8331189b00581e02610bce73b0936d0177ed788e2962384dd3d32ea37a2bdb3598d95b089544030836f000581e02db561d40a9dea933448b95630f27fab7c040b18050891d5abc4099738a43b437fb00581e02840fd3e4da6d096feb8c6dfa80e6a730aebeb4b5c0f7e65deffc9eb22e4402cd29c00219c87c034cf441b592344e053fdfbaf5f6a77923522ede7e88f3eed220d7d463e020cb0903528529bce389855ac44b6b8c57fa99f9387761cad1a9a4fe4764458f3f2bb06603505e9ad4a2b9a693dc3619bc5d584b6fb207811f05b5291fbc32d019027f601b03b9b838b1707856d502bc03d038b1e52c9855cc37baae8eea3eef4570069f4319038288598c5edf032d36e3943bbac6fd8e08459bcea42d06cc27c73993fd882ef203688ab11db347f6594a5b589d3e4d9d7f616f8431e0b1de248021ba23e0ed4f1a03bf59119b2e1b26e2b503c12ed667b7eb62ba854589a272edf805585b027d684f0325c165c9ecc4783b895eb74399a6a3b07934604253040805319e5f41882fffd303861fa0d9c5fe542a45b644adfb089ffde31ec791d57ba5286733b1ab456f62de0219ffff031b0328124bbb2ef33ab2ce83091ddacafb7c110e322fe029a8dfc19bd4256b5803c7df0f2f1d9573d7c867ddb4ee36007fb28ce3f2eca701632c5a0827e1d45962034b59599ebb75946e0c36524cc2386be490a6d30b0a3bbe15891af75fdc0a963603b644404ecfbd06d6febc79b0407d52823384015629f32feb36ba9ea6f2636d890357a713830384239308ff58a43e33baa8559b282492111dff7a23b9bcaf2eb78a03a7f227420d7e48e5142c11d8f4ba56f02b004942be9ccb88929e5d7e9385903a03478c8f5984bf5f7d2bf2da4d2440ff51be4cb62ecdf91ac5ee12bcf9cb68114103c49cc7c7c87a8be69cec68ec5ca61f067a214ed71560ce673a7ee8a8efce46be03088bd54a1c676bf66673fcf4ab696f068ffdb7cdf914b43d05f204640fb4ff6103e0861db77a98b5a5f65bf60ecee6a43076a2ae6bdc4d062a84b4e35fa40222320219ffff031629bc17723de1d17f5535a3a1e53e348cb50855536b4e2df3968ae31573c56403e212ed549ac0ccbb2f8e3037cd6999aa76b03af52ac0e9c87df94e68eb54e237039200461cae4ea9fe542888bb1fa03d0f0d9ae63b28323a0e13928cf6287d0b47033d070d87f548de74921bb9f3a6cbbbe02ca86f6a243cbb6f115327a3011075f60355678b3aab66da3c4c753e426a1f7374e6ec806219a1707e5719da8372a3ba4703967307879b81860cb22b89807dfcd835acfba3e2c2135998a77bb7092c14eafb03157053f94ab938ddf0ff4d8ec9c733379c7ccc8d4556b21fb8be92c7c966b0e40219ffff03877f1a435859a03c3f9b858d11cc49499be23d75fd67364786e7fb0dda578e5e03eb981b566dee37935f6bd93272fc42600924de9f3c11bd34f100b6a69182ef7203046df5d715998e255576bfe3dcacff46c0f583b4c3e98b1e98932adc82e60ec1036c473d4b1947b163abcae6274857f3b743f81b8a7879f4356a7d008ac58196a203b26593b2e29eeb1264e6554f15edceec9151641f327ccac8aefd81f92ad582e003576986bc755dd3255b54a11c565a6b1f9279f079d9cde02da1203cbcfc77020e036bf1db5dcdf028fb75f000f5d6058abb40267a94b976ce3ea657cefb1be3e59103413cb68c4e7651560f711a462777a6085532e30d60edd0b58f06e248c87fa8f803c0ad4ad55d275d7f3e63788da3b298d6f238d1e3de06ead126d4bdd0662d4af80391640d89292933a44fc8f1e3b25704f27215034c49f4a8f43ba3a3a9fff3628f0302688c16226b11fb7aced37688cfa6e9eee34f56632aa0728800152191d61464039ccc5b3856488e09df90d345b571202bac40692064f95ea409138741f0f4d9d10368ae0f75cbdaa1443c80915b6f8fc6392baf49e4009b886ad2f9c92d88ca622603e12566b074fc31e6583b49cf65f52614a726d67c43112fe83902a06af5dd6f7703cd5f9cc871cb407ca7c1ae0928bf212eee9ab3b818d6c731a756f2f3bdde52ad03e38a7a03f2c5e8b8a1d3c8a00954ae6b817bf1aab1f93dfc9a5dffa478151629035a8ffe552270d5861f1032436f64a6e9b9478d58312261f7f03b8e8ea769e80303730910dd8464e4c4d728b4a7ef64f60db442c3f76829bb997cf878468c86134a03fb77e3d050b89d9e5dcf8910da07dd613f8b85ac6bfd5c14abd888b2b2ca4d67035e01c6051d777c5fd88652599f0ba0d2873494bd66b6ebb47e07e99bd0318f46035a4f051755e749fc88253c15c34651a5110f93e75c0ae050001362410c5ff95f03e16bce26c32841136f7c0aeff85c68d74ab4e236e3d16550ea69831d9bd72a7b03068e9dce89ff93a8e37ffde29eb88d9bfbfa80a013cd50d8200865f69fb57e4e03a03049c50a06097a94a47baa2a16b672ce2ef593e71281666f4e9a226287b9f9038ecf17106be9e9cd907b815d745e53e1a53c9d4fa358336082b59c731088088003213845dfc08549d475b2c0b12dd7924b89b9ccea39ee6d36905c72bfaf288eb9030d665015024eff39f745060b5c1bdd427c53d4e5edba41fab756074ded35608e03365138c951d441fc9890dc0989417bb980aec9c909b5cc3c4b6be8ce93768da900581e02f94d5fc39424f02d94a479521023d6d6eb204b3999755be99d386d5b2942fe4d00581e027e1ea64c32a2fdbeb17440c52fb112d607af328825c379a0e718693a7e4402b7a5f000581e02e809d219afb2915e1edb67bf26ae10695de10b4dfe3842aef081c118914422433d9000581e0222bda52a625993f367ad4949fe591be7336f5d90d7a4b2d488a31c7c9e58200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff00581e03e108bc646d56b498589f1f9f71b43847a8c218040c579556646bfa9ad05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e033e36b3cef091244267a5b1263bae348819cb4a539031e948f660ef6520415c00581e031e462dcd9a25ee8a94ddc0724a6c98313ecbdd35fa1c77b8341e123f105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219480800581e024e23b5b541280ceebb1925c694a020aa7a0e46013ab7037fecef86c28c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ab080219ffff03c464941ba06ec9683fdd6b917ec4f04074d6e7855a082571d88b77541e91a4180335a733f13af4479843b8b20199fbdcb2d0b42b63be6ed39a76777431e5ac6b94034d69d06b8e7bbf32e7904bd670f25fb0cfd42292796663f6a3ef16833b4186250219ffff03aceacdcf2e3f7b47c528cc3e64ac451bb2867300a3ace9441c8b43c224caaaaf0357066652f8aec88ba6397a63ff7d5e45cc466d3feaea54eac6efc5e15c161d7c03149e6e6d99accf1634896b56280b8dbe47d17c4b88cb78a0d9361951c34f1cd703ed9fb03ec89b9a1a16ba2367e1767598b1dc5a6c7e86d9156aa3b625defc424803d6d377aaf5ab03971d680d2638c1bba40e11a7624017b9ec5c2485a0e9c41118036012aa8301493940d2bf6efc3df57843078c24749618535f426ecf9f917049a40358ce340ce09f8164228ff5aec69d1db1bae9d575092f1eccba885fe9c57885e603ed85f3c663718ddbb3488c931a120bad47e1175056842b5df8567ab9458597be03faef04797fdc240dd4feadf3ec99deb2a4ccf47d59a0f19d2ef5c0338993ddae033a7437b9b69ba43d58c45e4ebee750f0dc4b444bb2c9b5793a6d10a05709471103cf7720c61e4e091b5beec9db2821281a04dd68f1d1a0647f1353e8471e3d8a3203aa8498aae4aa6fd77588249b1e3e13023664869b6c337b2bbdaff0eea820bba4030d4d76a6167998bf7cf1e7db43beeb20efff0b66cfc8c06f06dbb99e0161605303eb50dc6a890da33f08c46eb49b8a4a77de93c64e2f2e838e01fef739e05958af03e175f68572d4c32da67b0ebee38e4dd3333bc1d0eea97558f776cea278ec06d2031c7f96fa5e6d030bc9b54e418e01dbb7b0ddcf2d10465abd44647bfeb62a23b000581e031395c98cb02e864e7048b7e4b65127b9db14aafcd0e1f4c19dfa04225044aa8ffe0800581e03941521cb2190b19a9e13fcb1892b886a6c436f06d30ea80f24d4660a004402ca1c8002188800581e02c91f96db25c7d07b4b57206fe05d999fccde548d43b024e68a3032f6fe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0358dd9a874db647e31df38722fd8d2ec59572faf340d2c759c3656d5488f2986a00581e0286fbf06b3308de0246b625e582c15ebfd89f567fa44afe02b74df5b99a410a039e2f9d96c03eb5fea00d3af3acc0e7065262285833238782c378861ec4b8d18103ce26af715deb1a71d545a12fafb41a98aa66fb2ea872525a7fc1fb3f7c08015d00581e02b764702d5ad51729f1814dbfd20573c2f1fb67aa4ad58ddf04537553b1433d090000581e0225b96f303e5d939320d48a3ecbfdc6d4972536c329369f54995f5c240b43061a800219ed7003fbffcfb9b77ae1d9540310364bf647b501ce63f7d8c2089ab6be9d180ee9d68103a63f0f0b77da8ee0436dbfece3c1c863949ecf71ba03e3d6f535a426e8aed16303e47bda984e91fda9a60d350224477101ba268592e9316b0432a470e9c15b87c4039b8116c8a3eaa633a6151e59f0db47dc0c760e7bbdfc97c6cbebec47c65009af03194a2c94fc99843d79eb5b16bbb57ee43027b8af55d4e4a7354b556b311879f303f786e1b9866f5c00ddfea43bd661786eee71b7b0741f5766c3063843e477acdb03f7ed0ddd23d081f40e582c9c3e676567286aac81509e398e489f33b112320b1303aae42fb205ff46e0d5c51e4404f5623f5b7066b90e2b9831bcb9e1b64e67a98703692b24fa4c41315640fce0ed7794239ce689602119a937e7abbfadacabbd700203d6b49412983f1faee9f5ebce732a55003fdde66d2cde19af85ba9b3efdcf8a6503ee6013d87969df8afb94fefd74fd2386139ea76badf8f70344e0106a7bd40b22038f5edeae8b1d45fd00002720fe01f4748167675c47c42a7a294b05420e21b94b03b49346abe31e8088db5f53e7ce2204b1a3e4b52a5d1121dc873d85e54655d98f03e550e5fd6ef60117f38bbb55d569284ee9e296708e423406832ddcde4d393149039fe6fd440e98ab361b4542ff05b88b9a07c2e633224d69cba3c70df7f8e0e98a0219ffff038654370f8246550588c863a8b2030a634289a9b943fdb01241980b2056ba098703067b3404bc2c99036b84ef23eeac2d3477c58f920d6f1cd32bfe5a897cc7264f03c3cf99fac6024611fa5048696bc1cdf9bb4776a39873f7c9092b0bac6878a83903b66a6d31037d83e1dc8526a93fdd68c88ac89205c3228c616d55f895a2e372830219ffff03eecb029aec4fc630d5f6c92a0da2b5bb357f2ba045f04d4c98adab6a82ca6eb1038c84426088068dc46ff751acd03b9520740f39746ae0234ae63405392c9c05ce03f345f326124d20dc22f2708e5ae7bb73bc44985c1b0dfab6a263dc1b39ad333603f0a6252c76dd11bdaaf50c1b37cad32961644bf33c6c39b904685058523df6ed037bd16819d3c3e0178a8a5fcda83b3dfca6f76807c1378139efe00b19132bf12503134278b1a0651ef25ee2240b8e2d4c6aab0a044b09993dad3b8a6464341951130387a42cc3dfcc12dd4987f247e104d6ae8153beef484451ca554a286fb221a5e703474b9614a40fad0c6b313ae0f1caf7f6db19238d312c24ac900d94a9f86e18c103cec1d9ea16abd146cce8cd02d036c4d8d3fdbe5f22c11482d7eabaec6362dbb00219ffff0319af0d09cfca9655d72ef2951306b9a2af76c1b380979a8cb2e8b1668de6852d0331a18f98861a48cc040df22626e6d991c684b6512fb3491648929f6e05961d0003e8fd90d897bd53f41e81a85e22b7d65902ac3245a2664b2a3b855b9e7ce137070396f9fed2412034dcf42c8b6cd75d68c4e82d99ed1f5728124d49d8d4fb4fee5203adbdb51c59ad70c22efad5f2993d2fcd6eb0f658cca5eca0adc68427a9e1617b03f4970a2eaa7f25c94b766f12f4259b7179ebd4ca1db4922d66ba950b388556ab03a3edbfe97bd514bafd71aeb70cd059d28f54886f2a3f1c02457f54eda0236eea03e8e136d7b18483a1989e45e8ec6a7f1d3dd1873b50ce2fe8dde9f65d27117c050310593579aa2876bfa18e44e9fd701f299684d2226aae6f9cfc3aca2c49fbf2ba03e33e7c7f42a5a9d43ff4869a76fa278c4acf6d917967d376aade2379fddeaaa1037b6cc9d235793e1244e0b249325db45b9f5cd9c410a6dabbb8c6d7d7b90396c0030467167a30145e52fd01c9a71cd37d065b90698c4fd4ac8bd808dfe78df4ebb703af299fde0b000233922fff0cad9c39bdecb98a7cf75b0a8635c4faefb398defa037aef15f42d80e765df6676b186e9a537f6cb9bd69ab286545486860c8c273dc203bd5553f4ba2a1bbb43b3190abee45fdf644a03e728564477dd8645344423cdd803c479224a0284271860c647b941558e02c1bef75969f50d7528b576b4d13b3edd03cbbfc19ed7e86d4e7494874edb5b189ffd98934ffc86e877f64e9fe0a2f654db00581e02557c778ddf2d2ed68e84dccddeefa2abf5d9d66406f150d508148d9c915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035382c5b74d768cfb3fffbfafe7507dd3d51086333d13ab215a3b6bdde7d6208700581e0222222f2f6a8245af96b8a22ac174f9337992f73bdbfb644e6ae4b9b2f34412e5094000581e027183554c8abc292541b5c38404da435fe0e0e0bc391807992af23efc9944017b4a8300581e02e1932f5b6a132fc11cb9e2369036220c933cd6546c7b3178c338643ed5410200581e02f960f60650befd6ffd326059ed183a176fcc494d7964260e9ffa88641c43b71b000219141d036ac5a05e6408256ca371e365d90bf9067fe2ea8a5cf44627ae877e66eb52532403d8e072ec2ee9fd63ecb669a850dcc16d273c9df18b41996efe1f9449396fc0b003ecb9ee3c7c8996e445d388f5c492d035c9ce00d0f61303e145e08596b6e3804f039efc9b0005e9b308c56b572c552fa47351ce875e9b946351a11c5559bfcb491d03ba1ddbe8b0ac11581618fa11506df63c3ed6db5181de060ecf71ceaff7daee200343c773332b3b5410498d2b51b33f81622063edd23fd8922ec1e3084e063ae3fd03700d023fcf365386d31adb325565faf3c1c2551cb6295c704c728f1742bb9a2d039e05317070d511c25b2887d04ab34713ed9a8a48a083ad6d22fa0cd4ad9713eb0219ffff03b23318d06478e8430125c574ab6628c9febed32e04d0a774198dd772e91c5d1b0387589a1339b97ddf11d5e10af228cdd3e525e2a8a4df642eca2f82e2d3e59fc103370acd953b55f2e4fe8a2033ddcfb648db6287a84d9065368d4072b0acb75382034b6986e0f154621de7452df19fada5391ea5881b321a0faf35329bb8c7e353030330069861b5f57eb360ed019239a861652e5fd0968750d04f8c192c539a91af2d0324946b6f76a9d7186f9d2359b5e1a4ff1542af849e5741722a1c875262c33a7f03a7c37ec1ce0ec59d430fe3cf28ff7f8a378be418992ef8139ea8b52f2b4ba1bf0374535c49719c924041716666ba5506e3bfe54ba3ba55c371fd8bc6d19cc3132403095e911a25e9728db0c770b05756bc1c61d576e6b687bd0ae18041b9dc73877403e03f5a8b7e9fac6ba7bbb13de63a4fd572f73423140828e67d53acfaa5f178210219ffff0321d0d8b9f532b80e938cf15cd256e98e19a266654433bd49760a5ba300b866990370ed60efe080030efa77906ca0969ea65c0ecd7033cfa9a0dddbc95711e939010348e165da05ffacec834f657cab37e84f1bf01484627ec297a8be9dfb45d86ae203e9e8594eedc19dd4f8517000214e8786b11544532a0998639d65a212cdde1849039a5fe4330fe808b1a5ec572104ba35dd71a46100ace53d5480c834e95d9feadc0387526bef096937bfa3e57aed16e64db03b30f9f238478d97b83db70a5f47fca703fb0031af3ed0abbd54ab899e139b4e673659e124d6a5671c9bfe11b89c71e7ce03d930808103a28cd9ce7f67f31b117ba8802226b279426a4737d3ec32006357ee0338e6b97a99d2e29b4cc257324b94d5941f0c16bb40654f902f9356730ae7f82e03827da7a1d12eeb15b0a9d56478fb14e5aad18249ebc935b1fd74780bdf472fad0373afa0b92bd0e0723dd08b5a51fa17a62ece49f0bb79abf251c1c0262594c0f60315b9f906d0b1efb8d7c3013aee84c319c4dd0b87ebfeaf7569648678360aef980219ffff03e65f91e269725de6093d7202b5be5ae1599fc0080703db97874fec6bc9e9f67c0219ffff031e4fe5605478f9e19f994bfb50af04e0c0542ba6d6ed3af185f5d350525a0f2c0317fd074c582278a3f22f8e49e152774ffd9cee57852c7740dd7d15c13da9050e0361811f9809de0126c86dbd8405c51ae4d10451c9e72b0712d5c5d6ed7e023b2a037f9134a6190568279120e6abcbec4d2c12b62abad58005e7a52cfebbb438163e038b1448d20e452fa520f858e8673baf5bccb6905ba060c4f2d67137fa0298f54f036b20f0be477673ad4094a3c7cef7c9886b475d94cec1575e00e3b37267fa7d6601410800581e0217bc391238ae9b12b984574a44962e7a38371056a4ac42d3d264abf696449af8da0000581e028aff12f228b41b22153c285e761f9d6bd5fdee6e9adf3e53d7e6fa0530431161d2034bf9e0e43c9824877cec1a87274a2b31c944a361a3748a83f4a16cbffa51967a00581e02febacf60fb93c285ffbef2d7578761ea9b9cac0439199b9950520ab4e64302465300581e02e4508bb19189996d5853d796b8dbf5f5b26f5f7588d23cefdb3612086c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02640715cae57ff94d2b70496a1f535af8f8cd59cd665b4ce0610964858b432e3fb900581e02bfb583c8c9e2dae12d320b259646aadecf90cde19a98159d9f29880fe24402e272fb00581e027846ec4eafc93ef832e2ac83acc8e326cf62a33d8dab050c16da9c9941480de0b6b36b2c0ba000581e02ea6f335378fc34d832394816aad00e0d454850e8fb7488c47aa33c7c96465af31072896400581e023e01fa0eaa4be611695c440104a92b37135a09ca3c51491048fb9674915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ede903b24ec6205da491d1735c3ef20842e643627a282978669643ab2d7f87cb05ab960319c22a9901ff1e3ae3239bf66020f1c3ed52908c7edd2a5e13db0e66cd62bd2f03a27153fbf037a5acb8432c930e0668950a96fbbe1486040c5456bf49f0211f6503b665f241aa208b5896deb2e85874152d74935762649dd018a629f629e1823385033feba041d36dcf5ad40d53363a915e5f12957728dd50f1a6c9713ab4fbf748f20317f52069727f04f33222b1f0f22afe42fa68b72bab83a5d6ed78be1aa05e5a8e0390ba012ae8604acb660fff1bab746a15e6ded3f4e59f127fe793982b8609044703b304c6d466662eb32b0fe7179018cd76495e16e9f1d687362e8c2fb7acb1e5aa03c9312169b41e24f965158f401752a73f31907f2365346e065385e970ddef580b03b36b47602cfc0be62cf2e6c2e9e024f384b90f2cd5c6cda0703083a497f12fe2035a60d7fa3402d138e509a0b5e8886396f4db3373fac6a63a2bf1836d7be9249f034d471a8b063b4ecef6eb69324b8486af0e6ab094d5b89879bbf7bc2dbfa0e5ba03011277e6c8bfaac60057df482cb97ff40927837ead4a8e99d333c27c3132c7c4033fa035b0850b11086825012b079e4b0a26e6b88ccf3e91ece435de6d78b40a130219ffff033ed2101e5bfb8a78d4224ec5026e5a4ebf3d048d509f474671e24d38206116c603c6b6032f88c5aae9b8418fd24b855ef62223e9f785d8ed12efc96ed0fa87f4bd0367a3d8a60fd3bd7f04f6f7e091354eab40fc3edfe0efe6729213a41982cca5db031aa02cf254ddfa5c1f4f9bd042d3bd1fa297a4b0a4aed390533e2389efdb0c8f030c7b38108ac695f31a14d4014c799da66c70cff7f24f0b2be80bb62a7eca86e903ba60a0199f861a1df580aca3b2531b52c0748d4a470c8dbd0789b8b0e99704830362c32be2809efb3210a5d1be45c26e2b7e60c6d4847d14661471314c85ccfa6a0399008e15dbf2b8b5c7be0587e20b7c801b40eeca711b5c29feae557a26ced73d03132f24026845b004f8817cb8268b86983a9637c830e8cd051c6a157036b055d10379c76604b716fa314597161cd2b221ce76621235515d283321120691a177941f03523c2effac5ba1b5f8917a764284c0084cf9c5485c3270f86fbb3db27740c09003018c31ea92dc5c4df67472a03c3a6c3f27f5bf4ac689a76de1935bce651e750e03adf18c9219abe8b5b792704332a40f1790ad241718d83d1d068ae9f10009effb0219ffff03df72d98868bfe1bef3100a1e824e299870a375dd66349bdaac0fdf29cfc792ed03d8724926617c97fefe9079e79afc3dabad3e7c56d90c8375a443f3dc887251f70362a2cc09bf3b8759de09df1b5f98586aeed035bcea171d8fe92a09491998b37b03b0d2fefb6fc76d03f807d6236a71b95378a3a0039ccfcb8108f4609206cf683003cc7492aac3fd1bd10431ab6bc3d3a737be086c1ef5e304bf7eda73e510731ec203a5570b3fa865b649e06c72ebca2d8370c815c09790f0d0f25e7ba14e033db551030e2af8f866870f41a1cf2226369430a14a7b8a03adb0aec4a9c8691a06db159603ea573d0391a0caa67c9ef3c776fa7eb969075114e6d7b630753dc33f3d5f8c2803dd789691141478027fc43b6ca89aca3c3ca8d2d4a298e05ce0147552a1e05de903afefcee55c89ff32acdb378b6ef23eabd5b214541b56365a695c68c25a3c5c6103f9a1a9eed8de4949a77754ddaa80dac9ef2c890952a03e65e12ab61f620d430703bfdc0c55c19e04af8101bdeee020f5d37ad0d9dbc4afb6364d45fab5d142cfdd03a6cb0ef23c8403d41e75ab6c58d7f6c75bb9e2c6885cbd16e0ca9b55122750e9032789b1ca9dfe3fa4bfb9c51f30ee8ea213a1766dcb371db76ff9a24fd63784bf0219ffff036aa53eca65c21c45326a52dfbc693edfe7dfa166a4fcd25a61e4fae1ef6ae6bd036ba436296839a4488a3114cdc7604aca9f18e42aa9716a25b556b7b83161372003a7ce685c0d557f8c74677f9acf6eb00d1da2e690c5eb150daae41f11ef61d0b103d678d5b4123d73746bbb7dba1c1f6fec15c0a9d06ea17a0ccf92c33ac18b759603d8e829657193a1cff761823f93011709acfd4720bc3d8aaa5fcb216124d3403603f339e8eb8b90e8ceddfcf4e9a42852566344b75817983ddaf86b139863ecbc8c0313d886441a084de2f5d739669897d696fa90b3dea6c11254f1516ef2513a16d40302c4f1285ff398da04b2e1bc5abcbf468031c56851c274dfc2a5f9ac5670bcd303d6da22cf06a8eaa59f72ed557767619b599aa78101bd315fd1775c95825fe0d2037ae0401b145b94cb19fa7163d37e1e64fa8415ab2101ffc2ca086b73cb7f895e03fc7d2367663bc814777d3a52780dcac6c4292876f39e76a163a57541e6e7fbfe03bfcca27a75f029a735f933c553d72704c4a03d04ca25adf9da7a12440355da7e0363963240b4945ba4601767fa0e6d8ff028ae96968190f305315787eec0b4a02203eaad86ccf82fe3068138912f3f748d1e4e6d36b4fac874811f712a99694f23e6030b13ebe8a428ff34d11f18d379d44291321c531050bedb7c5d525d5f42bad28f033cc158b21b110daec3f3e053db98a9267e55c623762098674bf04690d16371bb0365c30dc4315e37d4ef4ed3ebb6aa69c836c9f7282ee092b706e3fc3387e0a7bc0339e60d50faacb521aae02cfadd0dafd8bfc1247b7106b6a18aaddcecd4a8996a036e9a8c8621f2b73de4679231fee17ffea78e25613829cd0acec91e9805d0a39b0355f8cb2f26815710b3c90649d9427ebd7aec47a1eec070c8085263a5f566807003c7c45a5e4876911f5f30107210f2006936863de2ad1ede0d2cc2c1244f5246db039d66a95305f3eb08aae74b98b95318c8f31537ea4b35cd8f85010fa9e67c02d4038c77de35e8a6a131f20f9e7a2f5f8b90094e1fb6f8e01b60e7ef958b6d5d483c03d74c479118f9aff569d6d7b98321fe93536573f08dc4ea5c8644abcbc020a14203bee63a174615f40463af5ceae295a1b95d8af8165c674c758bfd57536c8632e203b42a6c75272eaf04b46020429e5d4b4e41bdeca7ab63a430af25b11bb9127f9b03d8d0b9c6d07e54391c3f42d3971af886a8195e2a1fbea6072637be7f276b898203007d8238599470553d60a8629b5df06647589fceea21f27fd0520bfbefe7b2e103276d56dadc6e6327b70d4420eebf46a30cbc165c21908c9dbf8504c58cab80de00581e02995e6999cc1e6ab5886761e933de441912b5534bd71caa7707ccbd47b54338f623036d864fd087cf38451f97a35854f19c68088918d529d8632475e85f71ef4c4425035ab0ba9ecd2a828989b85ea4f08cce3ec69393197f57033f6274d9b1b93765fc031b714b1f291526bcfcf019d30cde9f1dab6984ba9d7e94d576d245707dff7fea00581e028ca98b827896d44406fb1e76e8c662305c7c4080a1b121930a4ef12d975820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c7d3baedd9bd6a335cc9ff11456ab457813ff160745295b64c5d3ca6d7440225510000581e03c7441bfa6bfdad10257592067246f814d43d054f37816fcf0edcaba48046011d37b1509700581e03ccc9b3f61fdc49058513388d18dc2131032667978e013a72d050b1e6a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020900581e022fd0891394c50a3c2f4da534fb94be1eca95cc67e581e80cf350e8c3f4440359e37f0333ab2a5df497417571d0353de17077e3f0ac1ffc5ce45961de25b7ead3c21e8d02195bd503c812027f763a0296ffaf64dc73e6ce107c64bfb7d6e0cdd14aae5dedb3eb72d3037517666b3ca8a0253a5a93a2abb635981cad61880303bcb5fbf4bfec4b32d0d9036e6b779e7173fbb8017247e3085e0f884a95852700e2de289d407dc426cda0ce0219ffff0304e51dc58651dbeb9610a16ea8c64d122054356cb6b0de04d5fc9dcb20cd54cf0219ffff03ac66a2e945137cbd748c5b6fe31b858c1748a79f8a5abc28e8013a41bab7e9cc03dd6717d921d7449e39d8775c47ec4b4c703dc13b68652cfe22b833069124fe0603119ed5e56c8f296397ea47c67992bee4ed50afafbe8557a28e24963760f293a10315cd089179afaca0fbb63043917bcba73b4be876364d93e7b7f7cc36014d3eb6035cc64f8fdd101643c4ad011b3be53db4b1baf4751ff61628d592a548f1adb4b10302037a631827ddbd60ee442aa3bc25cf75116a2d61c1c75c3df131d69a68936303d0e9ab935dbd35fcd16168a90ebdfe1fa1b207138388ec59eff874eb201f776103dd092d4039de7a8498c8d7760a4d1fd303c751a1fd151ed9ac7998be9783f55f0332ce7d72fa66c4b7e79ec34255e7957d7cccc7b7171bff94f3f27a71076b4c6000581e02c12f68fa3daa53c188253bb1bfed03a1a23132159f79e0873ad13044c25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02762d804431f0d88414fc1649ae5e910227eba9aadfec98885f649351705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021be185cab852f7f754351287528c07034c6e55c2ba303a9bea89a0a94d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c470089ca67231f653db907b6e7e61911eb48d6d464e9ed96727e5f297712a7000581e021205e90c8880fdc3d7dbfa4c32356fc1ea0b817dd3574d5cae529b77b843c91dc500581e02b0177e0bfe5f4d907f30bd1ac6e0b46b0471d795e87363c4d15bd327f0440225510000581e021e1c7434271e14f8bdda1aa39e03d02ab47246afa82cdad52bce098104465af3107962e800581e025753b3d94f605555426707b130dfab5d79c8ba93f091897598218534765820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02604748e5df2c41299a90948c9f89e44a3ce95d40982e706368b0e96bca443b3f3c8000581e0290d1378f549b1ed8a69ed8c3e20b8e24924457873adf7d4bd02e25858b4401c9c38000581e02182fbedcb06acb64b62dcc664b24d210843b9ee67e88945861cfbae3b944026c814700581e0251bdb7b998c05721d8da7469faf8525ca51b67f06e75517f8b0db0ad8e58207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bbad315acabffe3bafbf70955af662bde6dad2c364ae007f283dd276db442b515e1a00581e022456e1a18debaa2df6e886411144582533b380b35684a2e59c90427e44495562504d339cdb56240328a70dc7697eba588a57783c1b255bb64f0de1aef1244e0a2aeacf0c5354afd20219fffe034eedeeee4e672a66365173a3016686989ec40bb505e6c09d4f75b7b5df5f838503f4a49aaffd3cc4ca8fb227138c7ad257c9c58a331dc6221b6dd1ef71a5a5b4ee037b9f562dfc93038ed08c68675305bc92d50e223059f9a02ca0f898ff045fbc6a035b032380f19d2d6a590a983125b42f5fa054846aac06ef247d9d1831ae9f69de0348c0c2e308edacfa2a4fb31f27c16ff84702d7bf03559516e5a18a469083f45d037c03beafcfac34d5e11e8f53b08fbfd620691bebe490fd0df6cb51e20314a848030f213907fb1e0dc215ef78ceb318110c32bd0b463647b4a3080a281dffafd2e103b90f6c7ca72ed392035fb4c3209bf7e63e0810ca6bbb4950ad68b11be30f422c0350365c2b45533eae3628ba7af9f44c22b6df7ddc05224cf27026a2cf538445f6033c36a75d10d1ad0916d2caa830016075efcba35c097111d0160b9b216684581b03beeecbeea4235c90d2e18f670ded389c7df2344b89da54bc76ec38c39ca41f5d033d65626bebd88065cf2b16fbc78e85510bb6e7d598b7fa04ace64383b6788773035da996651c9bd07125f271ee62fa2a643ce666638251f0c445f0591550f7dce2032481374a11647ed029e8253485af885d733cdd32de4808f81a87133551a699cb0219ffff03e1d79c6ff71205925b5d57bbdfb8c82cd53e4654ad384d5060d648eabe7f35eb035c10279ae226318e11111bea84a75790f4b68243633973dc362d6ff1531ebe8603dda485d18b2518aa05fe1a28ea710a56c3a2a6c944a7fe83f0f14b7d612d7b8803f9544d579f690e32df01ea1405b465431fdcaa9084b8faeb04d9cf351d151d5c03a1fc85e8075c854360e52c1adc108181e5fa0be8efb788320abed635937c5bab03d1fd495e84fbd803ff1c6c727162a4cf12aafbf6c16d52e0b8325c20f86d35ce03ffd15311d5c2b9cfc867152f18f70337ba052d4b736a9de69cf402a8d168146d0219ffff03786eb35d31253ad4861f2a4d1d88aea21bdf2ba0650d76e4509697c74a9f8c550364371b3b8d7bb6cedb7f3239321154f5c0dfe8255e2e51d6b68649f3d7eaee0f0363735cc94f269a0ebde7b6b6385b5a36278b95af9d20a15441e526f33086c76f031d7f3e7656e1801c30f008598c2ce1a9fdf131fe0f4e3194ec869aa6fcd88dd00326ed449955a28c58bb17198728babbdb7412438b5d5b29b64f241a8b8059b3a1031fadc3b986e74de78ef6643669350947c51166668c0943b80721f0dbcd9f53a903d7430c00868717b2f8b63532d5514ebe2ff3c79c3b0853f7f085b55749a4f59403e6a4b2189734576a234bb09ca6c2b149420e3deb7ce1b8956333fc1d1126dd6403db3482ad5017ce49113b548fb67a11bd636c7bcfa9f833a6e54acec55afca7db03784894ace844bca3c00da19d2d31e6c9ffe06bf280eb9719d20096d682ae8dd903684bc8ab1a3f8aa5dc2d7c19d7ff5a4b5a487cfacf16955c1675aa421189f45b036fcceb98d9b45dd0196dd652e60ceafc42147f1fc04c6f610badc1814e0abd5f030b4811c797a531d3e3f7e993113444c3ebba43e531e63f0f8fc3abc59337c67d03573ad7c50943e3bcc2166353d37f07ddf60bbb1a490dd295adc3e17c38f122bc0219ffff033901713fbbb75957be8903193815f275df3178a1e7b285ba49b657e1776e91aa03438d0ef3bb50bb9641c0e3517d97109cfa22b6184fede2b8ad776b69edd6991503be5de65a08484410a5f5288d93b480126b7aad0e5b757f21037fed381c20e7e203ce6b9df0c1cc98a2054cb0e9e2b938c27f11416d2d8233afb622c142d73f191f03da2b0aed38904c77efd8b9829f8177a3e952bf9dccf9c504c12825ea6d784233032807719b3fe8f99c3618587967b76a996f1851fca7024a0690b94991a9f14d1e036b4aa449177582300b8672055eff7c2d82914d567b61d7decfa31cdbd1ab74af03623f42950ed5ac471d83c1641ecfaae37ef529509e8bcf6d20a8f25146527ac80339e41cdb8c974e62f78c8a2d80b8a6f905dd2232d7eb65f9b5f7406f535dbc5703c4cab12cc6149137718589acf5844843b8a53bbba9eb3cbf0e0af89ad86493de0342f0c8015c9e9a9848ec6832be5c57008a83347cd1a0cd441a41b26250731b790354c92d18e15469c2a3a771cbcb759ba4ac82f38874e4dbb71da47646c44e5ebd03f8d4d85bf4b74b1a3c2ccabc457ca25687559b2fcb9c9b10bb3c583fa1a098d7031eb7ca8382d5b3f7665edcf513a6f5f972b6c6622746253852bbe300d3235daf035829bf8be2cc3a0880cf25e5cc0f5af5b25681ebca50648ff57124096886a94d0301835480643c7d606cd49fbc23f10226991874b551ed1f4ba543cc13dc1153fc03fae1e317a451d990b4613bc3d9d60cbbe212acc0efc5c370a41742d97d8df27f038a0ccfbcd911ec437ed2a7b506fe4ca3865ccef952e2939a8bd2ebbef94a2492033329ec377ca70866e636951937771be9805f91098af4f67ae4c927c5097bfdc30351a4ab7637da12ba8b0340179ffc20ebfcc03984628fb6d9e5fd4f73e76b055500581e021f8b951dbae20379fb6227d30a4584d48cf6a2ace23528be0607a279df42271003bbfb5e2ee2d4893f446776b3715da2c940de3a13253b1308454e259e5d225b7c00581e02984e37142870f187c43acf751eff0ad416f1231cbd03eaecfb0e32a5595820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cfee59d517982b952340f18587fd25c988969cb02280f8e35c5f40897f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027e3e308acafb94a4652625f2f811149408255fb18826fef9276a3a26305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03e7ec6b2c9f94bfe23c5157a1cfbb5c98b5b8af45639e49842127c803c0440423f49b00581e035ae4739935f91ceb1e368861c3ff0b6b326f52d21c8e85dc0d33d1d8904551b2a7435e021904020219a9300370e7c04155c9b813e8eaf2ea4a9ea559302ccd61a1274413d6fe7f59f1c84e2d03c0a182e95b728a64088abb4d46fec13548e7e3f93b57dcf997ac0f09ae6f688803f9a4dd59a93947e375fdde42133dd57faa625b6814adcb574b6765001c970b7603254a1b435d784c083334dd5c3d46c962bb7f29f4755b2118b8a42e5f261cdbb60385e539f8c7cbe4ed2205e603d93a7192d50b31538929103fe2cdd3e11af49d1f03ca489fac5e292c06fcbee8f1fe2690f9adeee76d2c026acb6ac0dde8fc1133ec0384c4f555f27eba7916be2364351d169e3a526432da4a6376b91dfaf8795868570324f1c8865d7fd065725ad8b2725ce84a2791f9b59ea2c3f9709f46d12a748d26032375d20598976dc2c9b89b1951f22a831667000db7153d9542d036341d4075a90310b974ed649b4f53ed55ebf4bfdf741745fcdcea0197d3af72aab4e1fd9e452b03a492475d357c1d49355f7a51c6be6edcec34bb005e03f9865930c35fa14468cb03b728e97ac7cb8b6a925d893f48355b5055fd47f29d46ef5ed370e6b8f51170170219ffff03df5eb0a3c7d9df0e50fb8c145bbe136baf9d557e198fb09c0fcc75fa1348a57203844853dadf7bd1d88fb74bcdefd2e7f7ef90d5582594ca9e6d6e1bd039568b590302502292d15f5a0815250a726d98b8803b2b5008ffb0c69af64963fc111480570364c236ddbbc229b1f18e181d4b6616285e4a5b68b6522f612b09ed9688b5baa70330f7aaeb83665da1b0bd7743eaa20a1a58c2af22be460bfbcf7c3bbec3d487c8036e7b954bcb34efe17a54cc1df0d90c84bc642a2f7cdd2e9f4c9609d6ea9c8081032b04a214dcd9e70d0262fa182ef34a58b00ead1a991b7aca1cdac624d870b2650219ffff03973286e5d6ac36f7b66220f5fad9c015340f75736727eb487fbc7b3748f5559003af1d2cbaa0d4503cf93e8f7b88e56bf3a4909423b3853cf063feba9fbc44028c03d6076c22e5dfb6a47b0033099a24c4394ebbf18e838d8eb23c84bb08c3cc1e5103a123b1e12fff4bc51a8d6cbb803d57bf563fd2d4a423c94e32114caaf1927b290364105c9209e6fc9a96913e0b8703f2217a64a9294b38de7a9924d45a21fb1f1403baa2db1d94c13e9397ef680cc0f28cb311f74bba5bfc657105527e289beadb9a033a0f2d9dbd7807d3e0e9314d4d00cc6c2ee2a16c9baf8f63b47cf085f2b0ce8403588e39da93e09509f6d3b138b544d9281ad73690945d29382c124784a04e71730311fcb299a6df9f931b71a1a50fa45c2f3686f7cb3f5629bd1a6f74c52c6d8e1c035ffe94ae0d0db932a97b4a47aaeb84d8313a1e26fe2a84d8621ced9b5d1e7dc8038aba0c691c4373e10a7442b802962ca702771698ae9382e7a4e98c5d0b2283190219ffff0361324b69dd26cf51b93074da7d46b135384852de99032b845e7595a8580b496d03c17a529a916b16930e602db2cd59e6df52ddda86f759b415c0261c8d26a8093b03f6a9bfe96be9fd9eaedb11eb8e2a2cfb3d8962dea76b52daa1afaf37d28aa600037affcdc02f58ef58c38255383459f29ba82f5f4a3d8e0976a8fc51b3a0e33d920370163ee7d819482a086a9dd4c55ad2979bbe91d1a71186906b90e4ccb0cd9a4903a7c2a4970434945c0bba510635bbb5bcee6b6b2456e4e3f33ca3decc4ccca73903fc7b3a1e456d1a3aeaf3943d195e1a7ba735636f6477064a38746b647fdc63fd033355a815f6b532c6ef59017c088ea5719619d0888f296bf1e78ef42894dd25c70371a3c4241ba7e50f45d345ad41bb9792e6aef5b34e1f816bd94845f165733615032c015257a5dba0f3751a2b546180587bff590e09eb2391cc18562848c9cd624103f8766dc446016bc65b8579fbf7f7016ba2ed1639ab9549046e3854336f38373b031ac55a0cb7a02129708404764fab5ca5f3fac2038438e85b474667a59b22c6ce030345a29e4c45c0e226ce551126c70631ef95ae72e1d438356385c931091c89fd03feea28f33313ff0201b1ae7613f3981adb58ce48e2b5fdeed302eada70fdfe04030aec9c8fdd5429452e963a826ccaf7137b4975bda9110d1eca9822738019a31a03ddcc3367c924cafb016882a2d78ec41767f427ecb8dda7da5b51c0eb9a756cc403cdf39f79d8e2f76adfeb26ef0210f9f2e3be2efed353bd92221815cd1fa1fe2c03badec91ec5d389e33b11fba9c946afc40fa21ea3642762fbbca8316c89fffcbd0383950d1c97ec53f2649f685d9d492bd0b6bef704cba52d402ed4d7f13dafa19f032cb7960ced4d9449452ca5873340f7d8fbb993a591975b1739e2ce65a26d5078035326ae506713b9a2c0daf87b7485ffa5df5ba71431c7891aed6166cbc304a6a303ffb3ea1fd05e50f63b83fb656c4fe5c493d3f776939447bc3f4d178983a13e850362e2838439d27f69a7e118810a53101d906b92dff3a21e298d9b37342895371b00581e025923a87e569a05b7873b477cd8e805c4936e8b8550d830b10872f088b55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fcbd1f52746c85cdebd8e13f2cb90e85e8d6ca080fa5a2f17b8674e683437c23bf03c10ade9ff4f3de702e4309bc1aa8b5deda5e2c4548dc372caff8bccc31702aff00581e02a59e8b4d4fe5bf18831e12031dfb8f30734c47c7413233086ff6928c2b430f424000581e0279cd28fce8ab19d9a40c37be68cb7c657fe2fe82e89e8d83ca9fb3251d4227100302ad834b314ac00032f561047156a8172d9162807bc5ea57aff36fef94e68f9201410900581e029df1b0edc210a1833ffe0f21e6cd07516241301fbae8251007a6e7552f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0285117447c57b9ee1c4f06be26c03276ede2780c83c83482ac4df2c1e4a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d705035549611049b9247e5ac047ae8f6b2d9dd6f59b65762f80c301c782236cdc0b490219ffff03a6c03e0ea6b50fb3ac97e1bf7fa4267167353485324c49c18066b45afb90bc2003dfa0f9f0ad7c5dfef21e0d0fa4a47ccf4b1e15127e8d32cdbae47beebf31be6b03ec95b5dfaf13829c8050860db22f8cf648817fc5040deac6e6c95d46ecd5ed27031c2e39272494fdd3fce7b45d69625c0b6276027074cb12cff7864ff2373cf92a033ce32f3f62b56314cd4f0d6b06d26a398a3deaee20dee81b812c0c5d8c0dbded037c7fa373c37fbd482027c8115d186dbeaf3911d5081c3ba2241a74ceb791b45403525a4e589bbd5190bbd49ef403fe78760c790a0e7150c8adae2b184175b7a56803ccd0b8d5cea6fd89e41b80a816b33b2fa15c448ccfbf0abe6f8e3ee613a5d1100351d63f31140865602ecb87071d98e8c0f003f33820f91994761d894a7fa4f71b036c1551b5535475690fe22c0c11afd9e9c169c597eea90504413d08ab72e32f95039c269712058a1e039f2d202bb951b4a9c94da38f9950e39d8fc3a83c40948c8c03bb3bd01cc3eb3bd8b84ee677cc2e2c777325c8936611db6c98ee472901da22730219ffff0346017ec3a9e62edeb51378e2f2cc8783795639daee89d9e010ba25f60d46b1b003f7cfa78b8660f59108d287a48407b9ce87165ff6c7baf5aab1e92d4fbb29abf103fe4ee9c8855d4c56c0d905f91106559f6ff36a846e55e132496e809242ca944d030aaccfeac863c8a9199b220eeaf105ca27b81ea77b20d1569ca2ec34b95b7def03a0edad0192b4f8e0ee676607ead8b60a893b5d0a2cad55e3d1cc624771728960033c1907db77a8571276155209f5468a7f33eaf0a05acf5ad6804e6f0e36023c59031d21bced795b820afdd478d4087dcd09789efbd1b9aa7eb28de5d082b02d639a03863dc476c3b37f82a9a2e29a8a45b173d4a366159623172bf3bb2b82bbdb20580303d19425090bb015d309da5ff5e2ea3a85d06a9d73f2403602c2262d66ad79ec035b12734b0eccdd005a2b1559a76a83518ff61fc693edaea65ef570e010b35e7f035ee1c27b73c5ef4c106433709869d5c13230c9d6e2a90ea7711189ff09131c2b0381f615c53c898e97cbee960d8faf0546eefe84186641896fafccdd94e79427c103d74d1e2eeddd78041659fc734854b7e84d2d296c0c0ad4e2e477f0b74b3a4ece03f78fecf94c428a464e62fbd5d7557a40f5a0fbf2deb3ff3e7d47b18b0e2149bf0329a7befcce020d64a813d494045ebf8637f34ac9ff2c55b609aa67a5f924f6ec038c8b2447f1dc044ef93a48f05b3fb3feb8a648b302c478533997573d46e0b09000581e02f87069a8bccbfc8334f00c4f3a4f2ec8c9959901cccb77d1a06348c73e430f424003ad6ad1bfc1ad560cb78ccce3e9f9eeed3da2a485c0d18239fca610491979203800581e032f5939e9c83686b7504a4914e6ba7277185c0d7e9d5058038c64dd9f505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03054d6ef749f217851951f0292585530843cb919d093663097db2f205504402be9b2b02181803f2b1b42a871ff85ded9b92b56d899de8dd09f313ed1f62c89932ce4e5e10250700581e026d61aeb22a515b78d812b4cb31646694d534009afc9312c7646b22d0fd4401144bd303e4a8307d1015069f1c1b269b41781547e1497fd5c5a0b3571b2f5b0d1bb7e883039d1b49a21576f4e7aa3dd77746be094fa1a04392fe6a1f7ef37b81d830ad008d01410e0219cc7003797392f331b59371cd0f4633eea288128017143b7650797ba136fe3ad0f8a2ea0350ee76776189c2d465e1c0caeecbc64d83e5c75b0353bc3c7ea6ed857a31067103701db860307b8a961b12813a6f12d3ffc8ebdee632c4712bef728e922f86ce3503a2de1d4b4f684ea2db09517104466c90c5799eb7ab35907310e920c3595dc90703028cffabc135dd825562283ade64af6ab78e097b57c6bdb5097281f8ce517306035d6176bc90619358529e02b2e164cfafd25ddeaed50a7cccc2b93c4e6a30c6de030c68011544e9b4d1f06bcb03f5a673e7595d98fbde0240833fd260cc8d4fce3403dc6157a3a4dce5329c718f9020f3b6137d26aef71754a38a825581c788732992039f41e4525e46feb2a59328fcb5e5fad3fbb1bae02b745347dad628e996bcb3f70314caa576218d017fd8acf3c4cf002c267fe6d3b4693289de5bef7955db9d7bc103a342d440a1f4676bdb766f9df5435d2e6d4d3feae7a7009700de1a673a02a062032bb5bc83ff50762c18dc505991cc6b7326f0a40ab0c202d9e7f0fd0aa812d7e2036d8a8ef85ead020f7e3ee5d3921cf51c4c363e5ebb3cf2891036da7b2957a136035ff6c13682bf5294906ac7888cc25905e091e21954eaf3d830623896da682cf70219ffff03911dabbf881c46eca97bd9e913be10dddafa48109e145837bb5979f95c6c44310389380fc79a0b14c404e8606c0dc6b655623bc3b04f8c1798cdd0eefedd19e22d031cdfb0d1be469c6d7985d92b5568f9573b6bb44ad6697ae3d6c622e07122cb2e033ec002f7012f25d51e1aaa9efbfb5a102c256bd2781d7afb9316dae903470b8c031e3f1be9d8d9a0e9b062f8cd8e198abec3847e5d2fa5bdb04be8e1ce2dfc716a039eb8974205022ac7b441fa4ae977ab1be0d3f5196204148a2bfb297fd2fc6f8d0219ffff03b3c93bf30923793d2622a6439ca859c030492b070c22200759b2e478dbf4998603df6a5bcf9318c096fcbefd2f1b0a2b80160d868ffd63fc534944e49c717f616603fb640a3b7d91e1513904031539a57d24a91db215815d2191eed80024648db5290219ffff0375c6cf86057d27dd50928f2805824c7521df04932273d3a977df3fed9db929d803e3e64e2d1ea9049efdc4061d36292734de1fd354bbc1a777d5a03d3778cec6d30358428364483bd03121e37db32a63668223d2dd21eb6fa2f6deb62e34042999a30219ffff032869107a5342ad485e83677e0cf92d1cdc9078c33c72dc9eeb9b188c3b60bb1003b5caa0d56c39027c49f73843cacc6b65f3b6fb317af992c2a924f84a7e0001b0033002535191efaafc8bb094330b9ecd1186ae04ca30141638b1287af9c6cf7cb9031df5bb990b009b69a1e7c75a36a2429e3af441aa25f405f3d9652345312ce5aa03fa97fd7dceabeab880d93548b650dcb44746cf9add05c957e31365a9d9c80b6e0394e24d7b61ea4fb438a88ba35be24e4dfb998ba9ba33530130377afcef45e3e4030efcf7d81d59b3623606c5cc812dfc4ca59f6b9788265b618f142af3901e7bfb03bb811523f79d77a57b723497847b067461629a698ed34ed6c3dddf4ef9c661ab03236aeec5004821313e53af5c65967c4705661cfc9db4d70403cd7b4a17795d8f037e39381c73264a3f6a6a70b22fec5802c7ba6b932860ad9c655398f4e7901bd003aed3ab8a957a03c21a3017984ef9081db416c0fef53fe6ef74a1de8c4de72d640316c374cbb1a6581454b7c60da68080e7f69e3efd2e4d50cd1968998f61f66493033d8250f17a1711f1e8c747d44f6a8f51f034294f560f3a2b5e2cb104207245d70371baff3ac1a7223151c335dee69361bb9c282d02bc646e83019a0a3c39175c3b03323b15e0413a47f072b6d41e4a9ad670c25b0d2764cd7f0eb63cd26223b9605f0371a25f21200157f4c583ab8bbfb3e392238a1e0c24a736a03be719c0aa16bd9e03b1864ac57fa5a34e61513a22f3173f5d279f8d0a7086a07cf9a2252e43eab56e038109bf79569ca5ff54df05e993d3385fa087245d5644af39441d78f7e266edb700581e02319d5d1e77aec8166c3dd23193d1036040307a8ee94692ffcbee15fb375820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0383a6e7ed8cad70a2d3c48334b44953e247a454e283194a528eb487078f44d8bc03560153fa91f9e51d180a8d47e4ce20fd92481cf210ffb6c8a6d14c414aa4034c00581e02f7026cbeb7a353d2db36eec72144ae78aaa3780f4867723ea05bc635605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02525432bc4412d8e4941c476cc7fa50980b1f7351ca2dbc2d75878a7e3f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039bd19cdd0663c79014d35955872035127c15858b9d7c02f91cca3f0c61612e7c00581e02a1ca71bbe43a2e5afe20edec2eccf0110193ee74adea9e333be3c272c6581b184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000021963e103100fc96e45380322f4da149ad33fa2bdff954944ec9f5c6051644c3ed968341d039df7f1ac8700dda1905340505a56ba72e62299b6b1d42f32b4a9c97a76f5df4d0305855948802bb5a23983fc6f61260c0ba583c70453b1d5741302a4e80c570bfb0354519451e38f4f0f6a995144b5a712b437c91869996abfa1a897714eedc3b86203449dbf4ab266cab598f756dc2a726b15d2ab1de716f5cc6f5430d3f9db5364db03f294eaf881c4233ff111af8a8aedae72713f588ac5e39ac3ac62ae18c2918d8603b813e91bd81ceff7ee1837d6041bb41203fe4f196e2f1295b8481ef757e2530b0219ffff03729dd0259e5436375a9e2efe3fd4672bc79667636aeb1a952c102ee1685d279503a31766e8dcd206890e31af7243d41c0b76a77e21d96760ae2a0485b7381e94cd032ff1fb786554f96b321bfb092830cf149a426abfc3807286306b7ba61c5ae73a03f932e8cf0715426512813e89edd53ad5a8f7d03c6fcd6401989f50d4056c82650310da2cc3600e127abd904b4c8c6ccd60e4446df5786af40b49daded3eec51123033bd621d3624b3c38044cffa4749a64bfb1764f32782c114123d2b979cbb0728a036dd0d97582640e7897a739cc9b72603a08a47b6612b51d8487f6b6d3b24f35c703639921bfe920881c88f29d8886e09729cb2518098a8b2209ab312b5b0271e67b0376f49601185af2788c1d506a79d01118387cbd74d4b1d5c1c5aa63e01268ef37037180eb3f3cafe94048b6d74e7ed064ca6010b2c84d0ee5198a83839030c6a1c9038f1dad49e5986203865f133887f36b9643e368b68893f899c7b667933fd2ca5603ffa549aada31672dfe2ce7b45315879fc26b479429374638b73ed197a6c4110103059e352617e7525a8308123a32a171ad1138b565406fe7f6b1f39f36f90f7af10219ffff036f93c43c40162189a009d43bf57ac9b6a5e9984f9278d1fd4c0565c2cc5613de03f4862ec382f0114075624f71957bd0d3f99b6ea5aa0013ed8774e0866c0989e1033cca3c4b0272773f942286acdd6ac6dde5b2a9cb75516d32c97b2420e43e704203c68cfe2350a06eb42a1fd5d411d5236e680751db573a56ed3a2146ef5cb171ba034a5c31d814e0bf32abe2c0211e197e885fa02941bc43ce48fc69ecd0d90aa442037447137a714a0cb0c06bf19fc97e50a20ffa1c02cabf51f002799034346eda1a03d45713f05a344ae15b82768a81732aa64e831c3b51c7f1982db53ffd7f6023b80369f9e4a08d38450f0f9a66a3905d9a2b227d847096b5092e431fe3f02cfe387f03e5d4120dadd628da2a34d1b84d8b38d84ef3eac42a6c306100ee0a6074ba00f10312598f2340c47247ef945a29c4c9929cde5f4b4d2814c39da47a14f568f1b2110219ffff03c0c3a7996d2f2289d110ed9cd2a565e8e3713f12a752fa7497d15088aacd81c60371a5b073831c667002d33f0fa7a22a74fa5a55d6437f7b3363cfaa0b2d30d90103451f8ab1d78cb19ffd23f0d90351a4a2f0543b05fa221dd6fba5314393d9ac8603fe10b37d020531dfd5b9465a2870c51221a563b6ba5e092989e80e8b4137550c0304311fb83ecde5bb551715c347771635ddfa2441faff19c0a978a45aaa3af0b903f599618155e681135188b7a31500effe7e08cdb56d6da7a61b12c38a7e2d3aad03dec5f6e8515784b9e158cb61e7bd2c613a8913864e3aa6d2520ac5e0f7ef3dd103217059e5ee2f816bd3a562034dbc06985d16b4edad5fb553322cf071eaa4b7bb031dca33c1b1566a3a81cceb79e009e012d90908de44c0690c3a168972be9da111038f1bb57865864d876fe54091256a16c51e4d759317d45974c8814839ed8ef93403e8da82e82446138ebb11687afb192d787666e747a7e70e4ee9674ade1692ec2903c324cac4317687b10712332836929c4278f7b97cac0e8681b3dd11b670082e1603f92f5b211c62d0855f513f10477b7d65425caca70854ee4950860827256b4ed20384e67bdbb28ed47bd2ceceea42be1fddfbe9c962acc50abdee6b2f6c3bc628b2030f458e6d301a64a26fe71e14619d6f1e012569f68f9bd4aa030fdcc623f572f9036ca48e21988ff1b91b2aa841aede79d14d38dcb366787d30b0d0ae1fa21ca58903fde3bfbd0ac1fd2ffd4872ce50d1eef01e52b6a067bc4b7d8931ac4311222d2703d3041763ef0d13fecbd9a75bee9f006705368bc5cd6ad345159248e01f6ea4e7034b58a03fcc043f1e2326b0f41eba05891b20f0b0f8bf826344a4907e67ce9b9a037b1a09594c4a2201a3f66371f20687f4dfd9e54ba77e65a8d63c510fa73abd0f0366abae7575ebd90d14e76020395846977973943a703d04691248a6dcff7beb5d03e5eafab5bb4d549a6cfe5ed7eb94df7c5f59f16452fb511f79a8af2cc3827cb8030bd2cd8a27b8389e77c0ad8a32a2dc6d1b20100b1d6c8ce5ab21192f7a4d8bff03d489c481e818b2a454f607d2895def82fb4301b3df1f56f4aa8b7f45b0def2a8037adf763905795b9fc9f23b3d9f32c8c47c0ff3fab7932886504fba7cd55781a303c05aa4bb15ffcf22e8526d325d5312e9266137978db041d76fc2aaba7fac7da20355b24f3141ecb7e9304981e7392083edb7c042b5e3e978e6a0b725efd273db7103599bf1697e77a8d4f051c850ff0b92616dc34bbacb6a724a8f20e89161158a46037bc957ccba11717d708b3dfdc4a3c512129e7f50f7f0b6a063a184018deccecf03d4431c46596c00203a494ac0fdf8cf425b7cb07c1408f4337da10cf32af311fd03ae41501cd6feb9c192ee4a480a934e44db8d0bddd36433df04a1cb567aa262e3034482bf3466949b880a100104c9a1aae9b248ce6c6e284eab76ccb87e75a93ff9034423a4ac03511642b4718e82a105fd876aae8b989585f7cdf4da28098fca0df800581e02a23528a8249d653e7f919ddd2c7845afd37209093fc15fec97f8b56eaa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02867d7c9402697aa466f85a2d7d42159261e91fda41dd06378af5ae3c4d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0375eb38f21ca5202b0749c8851d393ac7cfd585d514b93d5b784d5cf6f1e70b3c00581e02320dcb88ad35c06165fa1b6be540705e2dd2023b823005b7562b677db5440a9b154a039555e7f4cb7eca3a854205c3e15d96809e5ce4b4babd62cac4d300b93697008a00581e02f611a2b78900bd0698ed67409702ac50f52a54dc059bd052f7cd3ce3845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022a15ab356eb4e92a645212574d2e4dd4cb43ecd94b656418fb1cc0491c4506b037fa3f03993cb85f95328258d6cb719128df283c529fe844e38a5e8bcdbd9a3d13b101a50396040875d117534fd46b10ca0ff2459f321dbc9b14acc943de3358dc1e5d39d40219896f03cf9515e1aaf5d113d80b5e033bd555c6c87fc64a462bd80458fdcb2d2d93b69b03b919335d0acf01a255c9bb08e62c32fe62ec372e871b8e9ba589d9c6afbcd29d03ac5e91e4e3c2b51d3a363544f8edcffe079b53d7579b0b200e78b6c65de9bb220219ffff038324022e955bd48294523c7efcc523996be5e48c902428aed9c36e451a0225f903de4b349c725fa851e6b746a246556a6ae0ea67f6f2621a0305c6533ee7c10a3103c3543e5b1fa5b16b9323268010ba9f19f5ac51e5c3d9aa4411b54e2d5d46752d0324d764abb7b75a4af1db24620baa1bbfc59774e84f1ba48cee1fe6c094ab527003a8d16dd60c71beca89ca75892cc05d6f75dcb0aed7ebb1905f0a256c79b9211103799c6bb3e634249f750d084a2f4796da226bbc9ae970e5032798c141b0f28156038fdaa04ac4bbc4e3ca65a9b5ae48d5a164255d75ae27ed717fd231bd39452bee035f5e13dd22cb7554e316f9d168cbe7293bc52dd9768d208f245d8b3d85f94730030346e749b34fb881d820ebab53d30a9f11b07af727b119a3cfbf264bd3bacfa60219ffff03c8ed6acbf6440b794503edf00b8966ef13d8a3747b68bf6dd43c2121eb49b9a203844c20779efc64de28fc5e8ade053cedeade6167e40fdc5905f023b71bfd3f4c0367a57c36dd7f6b7cc266857aa7959685fd28d12c6f7ff1a08757686a0d749265036806c4356f927d19a5819d24675ec850e3d3514272bf41cccce193f1866a403c038afa8ceec8ef49d41abf18c4da99ce31ea2c1bbeb84907ade1641ce59c8a602e0219ffff035752e02026d920332ddde7f9ebd0ef5920e52eb97fd289f52fc733b08fd0d83c03903d42b3c80367a12c827dad26d2f151d77d1c9dc3f3dc08385a8ddc3f6c87f703e9d60d4ce9557afbde48d0c7415c3fc6f1db80a2b431081704763151b07cac5303ad0c8c82c6d13524aeeef412ad047fc16b6003b02b1700d9c2f286c51d940cb503f66996467b34664d0c1888b21dd376cfecd3a8df7608bcb76250ca4a7425509e03e1ee3e16efe25d79a15d84a2c6b4042daabc7bff8c0bfe4993039d27483d129e03a22b27a8440feed869730a4a2b0d1519b64ebecb0d15b78d82834248d780206203987cdeda521eab02c67fe093886c7bb19709c9ae79dfad1848f154c18eea456d034dc1e09ebddfb50b32fd7662abc2dd0724024c74fa0e0022bdd7e49d2e6ca80d03885a9c37d42092d569962446e049ab8581f9228e3af7184c112e073eb8c830f103e61784afbf994f5c23de5b056204f538edcac4d9b8ca1ddaf54f8ce4347374ce03b5157d9158ba14c2b779109540d9d34fbb3c88373d0c76db800e6c83575315c00369e63021f33688556c911d0b0539cf02770d4c7398dce268743cc0567972d80d039a2bc81ab4310a81cfb6187805ac1ba0c3b2a37d8b86b767d3bbcafdc2f2d2d80313811a8bec0350251e8c0e638547ab5f7733d6d98d3afae44be81c6e756eba1603a0f7f47f2f263f1f313d1d7ee60c43eca09227b990aab3034512677ac7646163034225d4bf33245200910759b273b738503e3c1586ac90b4b0258f69d4d098abaf03db552009ccab883d0810cc334bda6a0a0e4abbfddad45d916a9b507a7214a1d603e04fa72e828a95eef7aff6688e734da64872e62230bbfeb37d9045ee9ec3cd1a0340e28603eeba378b92924a5c7798ba02ac98dd792c4b4c81fbf2f282725cfc4c03976ca6200c4a17265745ecf41521f663015ad9f806b788eb700df61a7f61ee72038179672ec771eed71664f7e9309ef9795122ce0561eb45bac7fb40f468fcc18b033b3674176c323435bc69f16d58a11099407cab5f7a47f0948702a7e948f7dd6203ba85494b08c064a2e8b4cda7182ec4ac84f877217aa89390ff879efa8fbaaf1603082760c1b63efdf566f4b5189b6c88d883754b49ea62d1cec8426e01fdb2838700581e0266c46728953cdf9c9f2c2987b9ed1433daf79315067db87942254bb4424376575500581e02c6fcd402d7d41429d2e58b3cab52b3dd4ab965d4996529ebf79d5c6f0a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0306813afbcf197b77aa6e1dab7e3d8cc3792cd4d6c9036093e576fde0b3f5925c00581e0283f5a51843796e54e9922c7dc68b8cad80738d48c2abb5da1a2e82972f44cffd8b60032c007efc3fbfa364e0fd132e1242abacd57a57fac15597f07cf9fb01822bfe0300581e020821c98b5554e3c5a6b501aa45072bbeaef6c79cdf2bb3ced240a3a56f58207ffffffffffffffffffffffffffffffffffffffffffffffffffffffeda07a6ff00581e02dc979d6484a3de6c22952b29bf7081954df03b5660671e0dfbe1b08a0c4501f9055c8600581e02dd04d271eb9b193b54ec276041d720241b6090de205c7d51aa0ce7fff0465af31079bfc2021924f603b566892cbbe132c00494d6b5f72fa59eca6c7bf82d62f050278e41a420ef528503798e6a1ad14a820bfa54610ca16f57b7dac1d40cd232b420620411800bf012cd03c5e43309f4a82a5ee56c5298efc444987d98266cccc4ef5ce13e8c6eecac607b03fd35e01f4a57dc45540c9beb8f565c123836449e352d170cff950f337b99958d0392b6a3ae573331cd99ded4619d993e479186e138f4c8c66f8076c14233bb978f032d0e6ccb903f84814e14c234b18aa24ecf512b488d1daf10fe519a6c3d6befb70302449fda33a7045fc9495625532b6609945b2c25c219b7743f9ed0989046d14a036aabf0c49608ab7b82c19e5c15d2104b9f10df09f1d682ad332b015ddb097a3203f6a3a39cff9bada602b3ca35d309c3eb53377d21f931c24dd9313f0b65cba1910219ffff0328b0e18f14b9099aeeae1a73ffd0ef9307dbe48a1a8945d9dd34c14f9b515dd103d1c96262260f2c6dc8e160e444cd535bcd5927000f6781c628ec6dc8e6cd8a2e032e7bcce6d342fa9bf74d527844129950403fbc50a1512c352e3119de536f63030302271d51eee14d2b4fa9efb334a2434a25d3b6e01d44ebfd2f4a972d4c16f57f0305f3cb0329c77d4e93c736e03bbd9ff18a56a49d58d157ec0528df31cd18324403294a1cdc8744f5430bfce3db3b7fac535c600ca9b37bbfc1680d4f3e84cd04b8038842e187acf6b9fa5bbfeeac28abd7ffe810a4340dd664b27da1258c5ed8eaa20219ffff0346592d60bfcdbbd13abc4bc810bc10e0aa6270de4f29394f9f01522e7df3eef403ef71a896df9ed3b4df4709798cf3be3a4a2519bb42f598343984bff1cec8bdf703320d2ab72d9086ba1f9f7e20c25f501fecd592022be801a4db319ff85a30087d0347a2bab3a93ebcfdbcc9d9fefa736ac9205cc5db36ef3eb2e4410bd339c126680344350a2042066cafe131815ffe34195405865931120c2ae57f884cdeb2b9751103430c66e6e706695c8ed9cd5eb516706875b94e2813d929c4b1d4b2422793986d0219ffff03ec9b6ec5cb1ca33a62f244d727e3d501c92d3c683af60df579ab04315e487bdc03513d645bc79756911b2b8a836cb6a86bf7b4ac8c52f46a3753a8f2d19d8ad2e403d6b47d5ccb83f16c23c68929a0a8831aff1de661164887762da0ca2771f9fd2403ea8b7540785a9a8a7996dca35811d9dc9c6f034c59e7c154f564c84fb9603265035f71314213df866b0b1c2776519ca8fd075d94cce2ef09f53563111a9791d0f303fdcb5115f4a8640ecb18a0c8931fafb786ebc1a9ac8396762a6d10f70fd1680103a4ef0a8bf522ba664a1eafaae3f5b167e996124caa19d3d1e8b288728ca7b3a5035e13d803adcca21ed030f62a3b4ab50150b02e50240f0b811e41ee361c26447a0304ce4251a221dd4e9723d0e6643deb53ce22a0bef2782be0006caba4dfc0705300581e02c69429b4afa9375121ad50faf9fd94d9ad1b21b42660737b1268a6031244afbd3aee00581e02f1e5883b3dc5fe54b598f76c2b6620e5db3466a5132da4e941e4daa5964402aa86d100581e025e5b65fad99d562f5aecdd277602c47c5b863ddaba72c2797ac366e7d7410100581e02b781af56ee5e5b0312ef22fa928059b764dded2fc895759c89ff860b344376fcf000581e0246dbddc31f06a75954dbbb40fe2576307fde0b72c66a33685d6b72bec943c65d4002199a2003b2c88e58eeebd51733f5beced25331bbb143f96b042ea8e21d8288093de3e4e103d7dd2921911826a04693968a5d21f4b3da7c5a6f69a37c4aa318b4cd9052eb480332a054acb9680d219b93e0706e8331b07df7a5556a42a8ff25886838fba5445f03c2f41c82c91d6ef43121dc54638f932a620a555dac8d9c41f60653efbe18e32903cf76e51f4f894bb49b6110c495ace4b3843083b2992344ab052be779e6e73db103039173347612cbb9a83e7e75fa20c65792fda06f9bc0dbcb43648efa8dc808920327d147194af874b83e13ba3acb539cfbd2f5bdc611409a7e842a3611918c375803eb0307532bd9c838c44abf19b00601d788d1f323bc487d06bd53dfbadecc735b034aea1e175a4cb51c505c6364b5e9c9622fd47c12624aa79882dc5a8df91c86c90312f29c436281d77ef5db8a4760cd0907c627bce7e3896d19ada4dc904167b3a0038ce837f1678ad9e7f354335839571997d7e8a5f94a5347a046817155b393e0d9033dd04ab6e6582b916354a5d44273680f05ad64468b19639dc5aa934f67777e5103a735ad40e94d9898d46da9f61964d74790a8af90f3998e9245f46e75adaf46780219ffff03c9979702e8748270e4c0a0ace78a8a15699c7602e32d5d533256a1bfd2b91d5c034a9d2be70767bdd99382192c35dcc032d276b509e069e51f2e5004970b0587a003ead7a940564b2f4fa47299c351861a469af4e1cd13e36f09b298a1fbf17b39d403058845cfed1c667d983abe20dac70ea128571ecd0240ce77950d3d515d80fe630306d28cd8028e0ac7faf6085210e49553acb9578c64eb8e2affc605bf7c5b826603ddb11a9ddbb19187338237ba1fdeeb353eab7f1911c304b1d076048d5db6986103aefbe0d8c9ade6878323c472b743bf7e6e98dec165135738fde9a1db0bbafec5030110dde24055e8d008df98cea78ae8af58e26ab8cc0f57bbf088aac5a90347430325a2019284266f190697526daffd6788122bef3742c2372165e508bc8e69d09e03428dc7ba4a9ce9fab30defa625f3b354786d4e400b415f99b3402325f652113f033665cc05cf983b668fd442651b2df2c71072a20d87005b9e536fc3d469e3ebbd03e63517553f605ce19d25b4fd51f3d5acc27b9c58720f7eab4ff4318d284ab40c031a294a7da4e24e2166fdc2b8cf4ac4499a30550fbbe1f61a300f2710d51f998c035a5346c9060bb5f40c307658af1e3249d1c60c749ac9f3a8211fc091e2bc4e140219ffff039d7230173e1a729e90aeb7cbefa073e56d077b35e3f8662e6ab06f73a906f4d003a477f224fa34de0b6ab201e6fa62012b5f76f0169f6c2790197a237be3e869b003da7bb65bbc6ca053a7bc9f5a54e58848e5db622559323a1532750b6f1ea98ab8039afe4ca641b42c166bade5e191af7e4f63b5ba55b6d8d76cda136a994c16449f035b3bc548d78a86611de8b679e236329f9036d1937e5b7c8994711f7f6d86f3e803c7b2e52577146ebb5dc7497d6504549e45c1defd80a8a89f1129793aa07709fb0387bfbc3d3ae603dae5aa9941c6e28c4bb681d554d730c3a1fe59ae1b9c24c7b1033791b73b84f0bb7388e981f76bdc8b24042679fd64edbed0ab45dd5a54d450a90355cd45ae1400edc907abfb743d997a801f5bf983abbd816cc874e144766c59c403aa97de229e78ddb96b30cd294efce46d8b9e6b2109601e5c6520932e8ce44b270219ffff03f49be9a2586b9cfc3d6e2c893ce3ca7d8776471b2e5945863102cae1e83ff0cc039b336915a1698fd56ad2925956f70bc16bbcce68d2692fb4d8df355b2607bff3030edd48cf5a495ed532b0d5f7efa6abddf364061c93c2cf4db79c07013ab365f703599c9c88dade2f5ce128eb242428a746aacfa8e02f3f4dd85b68addb8ab629f703119ff4cbe55c9444fc2d91ffc755da8768cad3a764020427b956adcc10ff6e530368d7a123e8f2bf0e189fb13ffdc64e908244427494e2cf608ee9a418d4381cda0341f5beb3427eb3bb2a25c009d60bd2a8af59d27b4cf39ba61ab634815c87efc803af88e71223fd109c8e9510757473b10d837c111745eefc711406465f2927ccc503f84a88de281511dc79303a4ccf27e5d1c52f97f4febab8f573e5603708c7fa0003e5f323382154d9a9be4f6cce0a9a2148c49e2bf7c3a5b01619f528dd804e138f03a51a32084bce18b5b247f3bfcfe198e9f5a5ee1f0ab8733da63668e16d92245e03ae784c6be0484000e04a10168999fea1db6186282abf1b9b49fbc51c2fd8a158035f8c302b7583aa311d64e2de8096c563dd395c98a98da0cf47970782d971c86003c31d1b352966ba937f5e9a532b5b6cb60949ec2d45c11c70077e1f11182928630321005f50d59c33feba5051dab81e821021462850c4a3a388b339931cdf226edc033e77db3f73b6b6a9b927efc6abce277f6d6d062e988e17ebf34538d54893d38303d306947fe918f334e207e5b6af55328b49066fcb87c2669d934f02c28ac0aa080356ef74136407533fc049193cb39398e2ae3fc5a8c330811f526ab167647b8316031af6a082368e8c169a13d642a056b38598370b15c31c4bf70912e9fe3dbdbde703e400c03621663095f836d47f5106fce795181f6c566dbe3a42a946f97a6fc89e03d509fb3027bc38cdbe2b9880a231212ef02ff53211b4d5619ae361aa425bb84c03fc4c462ecc750bcdf338d36fb09ea89c3ca8db6d3e08261616e9a0f45baf21a603c2a066ae3125e57c476dae957d1fc628bb40fd116b36122e76ab2eac5d20ed82030d6f9f6eb607c7d67b735c8fc27205be729017ae756e435b458aaf1df8e692cf037adb6b5d911b74b77dd3afb22da61357b812e4344539a953c62371a3dc6976f600581e029d80fcef8bb99c4450317dc25584d0399fcfaf2ffdc62b80d4261edfc5410100581e027ae750cbd62627a93919c3b11772e8ab46bdb11906df798bceb875911f490ad78ebc5aba343e00039d003a60c6f193f2b49d5ded28f9943e9875ab14ab9838a5f453be0a94cda8fc00581e033c8df8de5056bcc0aaa51c5233cfce2ffc611d1e29f887bbca7a81ea004402fd0b6d00581e038c0f24f005a9e47b55caa4940075bbf7824ec25e70695881df014538805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c00000581e0219114f93df44f3f6235b8843666f72824b595c6d6b1a827e671fe3bfa45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0283c461781a6e0a7e9a1756796056fc7197cb4f20cb69bc05e7d6bae72b44c12e7f4b00581e020484022a7d2eb188825ab875380bf7259518edebb59831383dfaebe9d95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021ab26ccc688c91d7e4f77ba638861bffa7626213d50722bb4827b070105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021989b90381255571cce640ae6ca083a78a38c30dc98114fc71a5fd9e9e8c2c7bdd80f4e003d40cbfdd4a1de58451674c8a612ccf2e0097f3a0cfedba6874033a11c1ef310203787fc40336babdd09f11968dfd8b714b231dc85a71fcf7f0393cecdf21f4e60b03fc8b48ac6688b2dc7195479d9232d8e0cb27abafdc8e3b959f4c278654cfa57c03fe93e2a4a6f85ba6cf59a6b2c51e7e862d59b4aa5eb05f67512034c2ab178b6b0379d1b0624acaa98f09538eff7cccf1fa5e5de6631892615e7b4c88ccc9a0a94303f206d55d60db1a334a292fc3c16a713f07989ed5a327e740b13b689a2498ca7303f1f21942b713d15c68d2025bcf51c8925ecd67a582da7407a066ea9bb25ec96403521196b9f0381cfeac940d8c7ae18251f8c6d832438ccdcebcb22bfcb3d615820219ffff0219ffff0331dcd9ad9036927de59bf18468478e742e5b3e41ef1971e9c5eb9e8dfeb4cee803e1139d051150ddd7e1b7004b13566eac927d66513594157b3986684d34904ce7030f197fccdaaa485f112df5ae01f9569dcade2f6308b2a4d677a0f77d40e5111503940de7f3e716ec2f176ae2604bbae792bea7849cdf527e7d85fab5a038f6aaec03ae02c86dde6d1b2044158ac8b8023aca291879cb0282c5f89b57a93d0e461b5e03b52d187f623850d528df10e8bb487144aa2ac46e832dbfc0afb534dd2e4f01470398be6dc2e537bb70cb991cae0e0583c2e02a256f4fd1c884fae072428359d241031d25137ad56dc35aaf7673f0c48c9f8bc491969dc87e5218a5c1574282176bbb03ce76bc6e7dd7b65a8f85c4aba52ad69d6634112e35443e2967c89dc6dc0fd6b90382dd07163ee2e9b3ad7084d893177ce34c7a00d8895dd9f826146ce99b3b0b960344ccf4224cc3229a9fce2cb9459d1548ae746d6f18f63f778c0f70e9c9ddc6c4035065e09bddffb6d7b2db265fa78ba3952815fc68b21db97843ba61675afa6162032571d90a5236da60e7d986cb8ecda5d2b3adc508779ec553a26b63098d76af2b0396c15b63e8cde4078dcd21a1e2090f1a258052d7205423013dc93d3f756864d503a4f35234d43956172d63450086a6a82bf66ecf915fd0390dd4f475a92fac6a310341c7b10f40fb91867450487d834643c941352c904682198fb77c3674f01992770303dc92b8206872b0598a2dd687d7ed989e78960b5f300f16890a06fbac3fc7dc03c638bc42b04d1a8d2d17b02f527ff9ae177eaf7a97699b09adba97bbddfa842803857dcf99261ec6a7abec0625d31cffda2272f83c1301fd153bf7101d59a562e60370b37ae447d6998240bc799db2a85f050163885b30f8a24087e8de9578ea5a0a03070a30451a8ce16a4d9b5add8c4702560fb28f93bab57a164f9343e1abeded7c039b0010fd2b6fce81028e696b96792c86c077cd1863621838243ff3b9fcd964e603126780038e9cdefcbaeb46db119bda79a44d0bdaefa241af44444f6295c9956403a1cc2090bcd840b3436711e8c82c4e3c1d1c6f52fb717951a7dec62f17a35c6403c7190ebb034ef078904a40fea23b18781c9e0cc54efa2174638f65a8a8dbbbc303fc0bed9eb7643b0255fdd318e01f4ab04eb6fc9cfac54197841603af7cfc49ec03d70fd8b3b55ce360de65854bdd9392ff6cdad153d924d666a00789587a7736660371c6323647dd671f318b1b68c92575bb61fbc6d2950422ad674e55622f1eced80382ef89427ad53502a02d45d7b26d46e22910100b8ec642ae9d6fd48366e1681003e50e19dfdbce4e5d8191e1e2984fd4232bc96f860208a79fa3702d88902dfb6903d250de4d2209c3a972d48903c84d96ee2b4e6171a16943931d1bff2e2fdbbbec0302510ce5a4dd75e4ec23c8d95a06e5b1a35822f44ce3111caf9d97c6f78b08f40369b31ba92f6ac2f974a710ba43f368e2eceacfb92d9155af62865905c88c826800581e02b8b0b61b4f34e34b8ce4dada0eee8d9dc307b3db24574ca32a3b2ceff7465af31079421800581e02f4c0650c0c0ec34ce6ad01c0a07c706b86279b0c882cad7beb0c4b76d74307cba900581e022dfeddb66d187df7374e2db20aad8380eb7d6c84bc40d93441bad8d1ab4405f5fa6400581e03d5efeb4011488ade1a28335bea4025d9f02b39c1449e48f8e7d225273043f4240000581e0372b2a2caf49a7e1204d17accdac82c7b5b1ccda2a4af74726c8b694bf0440e8679b4020303573d90ea4438b87790b543f5db58aac8ad6a3312950e76609d965e0b165d877000581e0251911cfbe9330ae808c5de6df5951127b03b838212c3c00983c6a5800b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03712e5e9b1ce9a953dbd61bffe1b778bd6a54cac71879d5a2fd684c7fa073b3ab03e26ddca52939c245aba3921403307a56edc531849cf5c5637da0ad1b7c1afe8800581e0293a4d0c25a88019953008067275e408833863401fef7cbc06adffda9be5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021493c70583ec8fe5780d7f5a6d398063922ec055cfe621fc5025ae17ae5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219e7b1036694c4b71ea5c0b838895bedc2e517fea727af88780aacde0933c70facc5eb5c03bd9ca01c2b7cbd5a95a6d4a455e81de8f24e5ddd02e2375dbd37cbfefc137d320374da9eb78ba7fa3c0c7e9d750c72505ac16b0734b60d8f0f6e375de2344b7997034fa9fd29c48727992b684e152873925efc199a43b1dbd65dbc9033e09a57c3360376cbb16e76eab505e4cf3bc0cace91da3209dfa6e636e32d4f5a18bf497a222903b529da1bc6766a0421930170ffe9c17dafaed5b7c58977ba5740512e4fb8d67d0219ffff0219ffff03f58b267add8ac90f2f1d0d0bb3d52824a168261df46613bf89659c3ca51f80ed0219ffff038e66186971c7f2eb870ea59fbeb83df05f443d05ae29dd49663c4e0a42309e8d030c2342e3466a4475777cbbcd75c5de04e1b1e5fe167010fafc782b8380c4c9d003a5c420fe4b20256261f6a6de2659c4100a97e5d31a134ec611e9bd757ae12f71032e6289aeeb065d5621c1a52595a3c7be7127e1e101134aee9fc8dbffa321f77103f2174f0d76d07e46be23c5c2a6190fdd60b5dd0c0850321b50142ed924153c70032a8bd9b33650f9f7f47f45ecf253ff6df520ac1f34c49a7dd196fb4c7e523bdd035487c9e3ee6b22b4ea31ae9fcf25d5db9aeda0b49629d95a535c6f20b7b140ff03cbd7d17dde72df00cda6c8691fdd54579f6e11e6406decaf9ada32383a1f2503036c2cc790347edbf6b03a40bbbeb56d69b9335ae169739f89a521b9811a5062c3036a7525bce9625553f941a73eb04984292f208b5315428a1528c3ecbf5082f14d0305d4cf40823f1b08046c645a561037bef0c0edbe986fae02b32a8c9588cc5c13037be0a412c1a3246be3bb33261d2d0a4748d514c8555e3ec476b7a9d220bdf9a703db8e5446b0074adc1d162275c0fc4ddadd41ffe4a3ba3117faf1524188bc12f00337262fce0f5b10b975b99da36562e7b146d4493cb5cd57a2524796b0b5060e3e00581e025683b3beaf30d0df54cd83cb9b1c715c896b2a357fd94054d719df88315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026ec3a4e61c399c867c3d26a193887d49f2c6b882d1bcce883b4de6ff965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025e1f127f92b49f09bd42bc7670efad2d86cc961da542e5e1ba85ed712f4701485d9e046a8d00581e0202f96a533b609c8adefd74d05c916d421b650cc95adbc4cc2565bb1ba15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f2aa146c6b2f2a23a43dcb9115b1123fee15460243fee19a58b9cee49844018cba8000581e025601dab4d16c8d893a6f01ede3e6ec7fed4d4a2e55a8008857a0b89a335820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0241b81d7300275301b67f701d46af922e0ad963a039440ebe507d098ca1440131014002194e1a037e839a00d66a4e2b1435dbbe0f8a9eb87e74600b675c267d4874c9a696671ed003230abd4e4a3f1e700551040484bef699d2b6ffb074f3e9bf8a29397373ceb7dc0340101737e46dc98ba40416647dccd4ab11900eaf8e9746d217bf5c40e43cd4300344536ab371d029d1a310cd51e7c2a93a2e7464b3b7daeeeb8f659254ae5e1d8b03fdddfab035179a6accf65a47f3b671ecc8b85325fe337d4e35c8baaa6009024e03acf18b1ba14de7f968792e88010eb1cbbe0e7a0c0575fc8bf266cff3aec5b71703e4b7ae2edc28e484aafb490a61a57831c6e4b27c515efc77aa557cf18426fb8f0383ddda162ac9a0748ac7b427a48afe8df0d9238fc08c82294181fd004ca98a91035878ef34350f61130cb3896882d02cde0c51d940f1f6c0b3c26541ef8aebd68f03bf1539de3878dfebad034130aca769dd5468722aaaa0e9f800225712a41e1d65038d31525aea795b435c5c0e66574859d53f3e6f855305a067413692014c83b5f00219ffff03c633b2d7d1ffe89de73b93716b68ad3c563d9061f739b3156446de87000da3040345c17b3bffec32d95ecc00a85d084c3cc30cfc993aa6ecc96d44ac492c5365f90386aafc00301ae9f4b2ccc46bdfcfb828f24a9b3f9ef702693b290b48d95d77a4034f26ff8fdb72e86b36b2a89cd20643a4804a10f93b819771cab5001d9ff8d3e5033bd09a56a278cf56a367a49e002e480650c86e9d008fea5fc7ba61a69399c1cd035656bf9425e9ca5215623b60103200e2c14f2b1b938a49c5a1e0c2f904b06c3e0311646e6e2b1fab0a8a7e3a0a7060eddd6f4a332bfb0bd0899d634c7084e35aed0386e6316373245a508584d221227cce3590c1d88ad1b51a431d28d49762c22a2903a79640add365ae0528d4b85e90442a2f4c97c5d79c027492ec6cb4939d481df5035604ad64e0c506f27bff0f893c38fe08a940bb28fbd23f5c0e6858d20fef218203b79891185670ce4bba9c97d9ae96b9d3c2cad451a643a1c3778817c17c44bd53030c883a3e794242b478dbb1e88dd6d428c3aa47d566574ca97fc4bdd90ab905410219ffff03907317a460246cbfe6cd80f67c1da5e1260fbf4a9339c0dee7358658b03012a00317000a76f70e8165edceaaefe814628b8a19f43bf3560aadd4a618d9a79a9b0503ad7b5331f1ee33bfbcded48b90b6fe7ee5ef705955e2c37aecd17940b74da31e039635852d408bf48b2d55fbd205b6615d9b639254871b8f1d5f32d9ae6d95a79803f35d338a432fb8b0feb49b9f805b0e3efc2ec67deab7c9564d00676f568936c803410856bed271abc70d3d2181d209ab706e7f23392a89ddd0e235e4b97da543040360ab76e036438894f0630726583693fe1a8d2e18e9e186f590ab33497b715d94035d6203b90d37335bc90f4806de15d166df44f12aa80a003401a485ef5c1147c20219ffff0219ffff0219ffff05581e03802a763f7db875346d03fbf86f137de55814b191c069e721f4747473300f014101192b4305581e03ed41b02751507a69be5c8c241e3750749282f6640e4722cccc632c3b200c0246a9f3a93029c805581e03eaccb25c3b802599534e062dc2e93db54aba393318310c1577e1daa630040205581e03c5e948564ebf9b9a17980d6eaa6524d93aafb4fdd34166baf652cca1800c02450f5de81400031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038f8c3e9b5c4c6544d216c2e7a83776e591264e1c198f65049bfc74840007011bffffffffffffffff02193bfd03adc0fa3bfb80d831641c3f58a6e3a81ac1771b0a071665d951ac3c70f51fb8d903817c1db621cbc632e093dcc56d347e20373a34e7e26997bc8b51401b2e9eccb0036f718000e4e406422e3b9ce3c4541bdf331fa920cd295691194859e96296480303459c6e8b574d64274fb16551693a6e71ba2489ed094172f5784dc1bbcb53a3a5031af29c4ae492c1ef17d49e759c535e83a0f10e5be08e9218ad50a9a18a0586040396d3e05bb50ee4b1cec89a4eefea21fc8939fa5d1d698dddee320266d324585303ad45735c19f6fdd0d89dbbaa7aae4599b0e3fb099ae36b48410fb55231a1facc03222c95e1e6b00ed6c4d73be303c215c9ae1fa144ae4c752860a9eb79b7e8b95003c346ae0d5fbf50abe50aebff6380e5fb920324574ceb9260cc1d4785e2730c8d0219ffff0325da368f3341d0efac10aba854d4f48b02dbb0bd156969b0672ae2e98022a32f03eb9967c0025a0b6a7f034d4c78532260d00278aaff60cc050f868fa3e06f33b60219ffff03b19e66b7e4602ff4dd1cbff82055ae9d010b8503142c5c2bf999a53e77bc934b031147967dc01b345e1981cf856455b59344466c20db6e5948d596eb10b2b56bcd03f2e6e2be0c1b77e0e9809ee0cacbbbfc1aaf1530aeaf99f4da6a07f25506632b03e2ae5d4cdc013b6353bf52af4e5e9965dd835bb5c1df3ec2ac2f05173e595566036cd030953a7f0538f016c41f16dfb6b7c29af40670f980ba170b83c4e1ff219303c52b685a2778df70218aa9f677d8bc253c6840aa263d2b0e991e715f768f8ef903d19d22a5ed20b10cb8674103259242f4d5f051f1d603ada894750d1b7960541903d2ee635b2083111f394d8199b6e19a5f483d29de3d77e29996a2fc6a5bb498e903fc2cf077a86a99d629361a63778407e12f48e690f6efc22c3dbd45cad72c17b203a24f79ccc93bdd06149e2a887dcafb531cc30cb8f1908a051e13151341c6aea90394c5dc3608eaa13cdcf3293be9c0336a4a2c88a7937dda39cb7a4b1af2346df20219ffff0312c319eedb90950f99b09001a7afd04039366145af5a8bf5e2b8e08bad4901c903ead9e39b995090bdd2a92ab975d5083901876173fb606ddbf2a1ef56ad5fcd60036496eb9c827a968313d5bc92fe7f7fff1946b1d8814f9226ee9900f155edaa6203ee7da4c7d65bd92d58364d15a19776cbdb6968568df8db42ecc9b1ada28079bc03bda26dab4cf436d71f40b8e58dae0e1826654946411c3dac023227f3e913e38e03bb9d7efd7c1d56ec3e75de9a96aed72bb328d8f41a6e4f7cd439aa15ce40036d0347fb5c59fd0c46118dbe8733d2d6b12f5800e8fdfb4e55aacfecd2e0a14debdc037ecb84412256922245f539ad84fee7ea4774abf4c22cb9b37b3ffc111f969d2a035513b65ee82cd1f37d36f237fdd86f4c3521dbf452f6682a7bd7a6891a4f332b032b3f4a5d628ebc998da39e250161c3d87dc482587f66acf5e73215788d6f5ce5033154fff6403b61a7100166c6061059650755bb46ebfcba639570c459263d97b80318c1b4cd2872d55fe6111c6faaaefc664ea15b60c615d22bf55c9c084a12665a03ad89acd89bef4d94513c32696bfc5d6ae1c0fe51de100f73ce0359bd036bd72b03f0cc0bb7a35c60a7d46388b06a6198d04e04deeed01baa2b243bcf6cd9c0934a03e7c2df06552cf550f61bb858675db94c5ae79ce7cab02ca2cb91072e660dff8f0363b2fd82d83fb6e77ec903c8f03c64c804f7261a69be7b6e1bc478680daada450354c104449753e7078cd2680003af005454fdb41f885c6f86e4c5aaa53a17f57703835ac88fe1ac28aa033154e13be3f5e36525653ba5ca2ab1603abb9f37c144fe035787c163fd4774ab83b98d039f21549b3ad39e90232954633cd7f760ac5c7dda03d058461b089ab5c7141f3559b1d72fddd841dc264dffe3f0d1174c84f116c4740330dd542d42408b926db0f3a73368737c59cd15c1a36eb45a0781f20f1063cf7f03b68c557f003579cc8ce6d1148dbc590e21e913fdd6946aa58a59903b6997d1290331f2481519c53b252eb0177939d3a8139c307470c354c39480168e9580a1d77b03ec8b028d9f5985e50a29ebcbb67d0d080b185e434745906859848f67b267b64103798f69472fe80af92e91a42e4b19cca20147caff8f6c6e4ee69cb08794a4b75a031058c2ace2461bc858b6168f5015a3bf62c332cb35609ffa08364432a43c9c7a0337709998f5af0d90c924c7a0c47a4bd39592d1ad7909a6def495f6dd148c9e75033bf65bed0fb99400c14d6c4bfe1f0a83d56f603c94af765f4bffc4f61c3a7bac0380553bdf1ab0bead8574d226e2759da20283297892b814f9548b8963ba806d360307a88b09db672a030789b8afdd8cdd04198e840628abe72f5259dec95bd4f1670312a99d2b8bd699197cad467e2059c5d3978b5c1864cb930dd2928a590c5888ab03529c5d9fb15768f99bdb0c3e68b4f973ab928073c9ec4b90c92e04896c1bb7500383305586a37704d0ea0093b225ea1bd9cfa994729a5b2eb7ed295238eb9dcdcd03b0598d624612b56b5d6d68285350a2b5bc52f48c3d255eb28fc3d056f00f6ce70348d9c3c4a5dc5eb19abb0e09e83263532041d441fc9832897430a7cb80ed715105581e03e3cfa8924d1051d4f5de72245c8b1ce66218409bcb1fbbdaeabde824c0040205581e03c169c9e6d9b871ea7392cc80dc3125cfbd020bc9b90b2b037c803840400c0146311cdad1600005581e0307212854d7bb72f7eff2fbd070b201bdd4849619d7e4d669923e2962100401045906c160806040527f000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78c7f000000000000000000000000c18360217d8f7ab5e7c516566761ea12ce7f9d727f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc27f00000000000000000000000092560c178ce069cc014138ed3c2f5221ba71f58a7fe9ebf9d8bc699006da58c4e8ec49afa3156fccc873ba0bbd852a0785a293b55b7f00000000000000000000000000000000000000000000000000000000000000006102d0565b6308c379a060e01b60005260206004526002602452806044525060646000fd5b80828111156100fb5750815b92915050565b808201818110156100fb576100fb7f30320000000000000000000000000000000000000000000000000000000000006100cf565b818103818113156100fb576100fb7f31330000000000000000000000000000000000000000000000000000000000006100cf565b80820282156100fb5781838204146100fb576100fb7f30340000000000000000000000000000000000000000000000000000000000006100cf565b6000670de0b6b3a76400006101b98484610169565b049392505050565b6000826101f1576101f17f30380000000000000000000000000000000000000000000000000000000000006100cf565b826101b96002850461020f6b033b2e3c9fd0803ce800000086610169565b610101565b62ffffff60a43516805a830301905048810283811115610257576102577f31360000000000000000000000000000000000000000000000000000000000006100cf565b483a03919091029060ff90840360a43560f81c02048082111561029d5761029d7f31370000000000000000000000000000000000000000000000000000000000006100cf565b8190036102aa81476100ef565b9050600160a43560f71c1681151916156102ca5760008060008084415af1505b50505050565b5a60003560e01c632f1c6b508114156104c6574260843514610315576103157f30350000000000000000000000000000000000000000000000000000000000006100cf565b63128acb0860e01b600052876004528260245260043560445260443560645260a0608452606060a4528360c4528760e452866101045260406000610124600080895af1610385576103857f31310000000000000000000000000000000000000000000000000000000000006100cf565b60403d146103b6576103b67f30360000000000000000000000000000000000000000000000000000000000006100cf565b60005160205160008060008413600181146103d657801561041657610452565b6000841315610408576104087f31320000000000000000000000000000000000000000000000000000000000006100cf565b836000039250849150610452565b6000841215610448576104487f31320000000000000000000000000000000000000000000000000000000000006100cf565b8460000392508391505b5061046881610463602435856101c1565b610135565b9350600084121561049c5761049c7f30370000000000000000000000000000000000000000000000000000000000006100cf565b6104a8606435856101a4565b93506104b48487610214565b80600052505050806020525060406000f35b63f4ff5295811415610658574260843514610504576105047f30350000000000000000000000000000000000000000000000000000000000006100cf565b63128acb0860e01b60005287600452821560245260043560445260443560645260a0608452606060a4528360c4528760e452856101045260406000610124600080895af1610575576105757f31310000000000000000000000000000000000000000000000000000000000006100cf565b60403d146105a6576105a67f30360000000000000000000000000000000000000000000000000000000000006100cf565b60005160205160008060008413600181146105c657801561060657610642565b60008413156105f8576105f87f31320000000000000000000000000000000000000000000000000000000000006100cf565b836000039250849150610642565b6000841215610638576106387f31320000000000000000000000000000000000000000000000000000000000006100cf565b8460000392508391505b50610468610652602435836101c1565b83610135565b50506106837f30310000000000000000000000000000000000000000000000000000000000006100cf565b50505050505000fea264697066735822122033844a027fc6b17dbe7d2d177ef947ee3ce07f1229f86d6b7686b6faf1c6a64b64736f6c634300080900330605581d02431dc5e1ed98e69e9190cffc5a4c460e738e407fe64333a71813273307011906c105581d02d32390fe038ab30d530fa1a49a4787c8db544cd509920391468ce85204020219110005581e032ecc9db4c9644be8b3af3b02656ad4ab295eb7a756441b8de579b809700402032ecd27c783d433c5f237916601119296656935366d76de930d9b002923e69a58033b974aef9fdfdb22bebe9b9a2141a659daf58237b1a92cb82705023193f1cbeb05581e03ab8d6765cc42b197b59ca86a69d0baa320cf55ca52f48e9d034d05c93007011bffffffffffffffff05581e03099e611228009c1a4e9240e3cbfaa719061be5031672a95df5bbab99d0040103557b1a269199fdf627a7dc653b08bb31d205ec98bf53ef792977ce9fb2b455a202192bca03e327d6896e313262d14ec539e8213550741a07ca397df1b6861ef08c0c1d39fe0219ffff03cd5704275937fbb1d07b552b742abed16b80ef9f331b06079597c52898a64b8b037cbc7c5ac21822d0fb8439243d80c82a45ad6bb15309008b191e56588c9995c8036a87a6586c562b251c84c2901eda2c4e33b035355ec2daa0dcc22aa33758bb32037750df47e3abd512533a40ccbbeb7885b99e997d111fb2c720a3e4996c16d8e20347cfd2460603034a9e490be2585bc24fa82ac6c38d69726059016beb6bbffc1b0365971d42658f9718223e532f6b7e94e6cf04d52b13e14b63fb5b9ed3b6b369ea0300a102922ec62aa1c5055ae5ca1f2de7358968f466657437f0acb6c9e968d6340219ffff035b6778323548d0a4082e28a28f2af4ce63e354248d0ce299312e17ac212d2a9d03299f364489813087483925dab0125335f0bb98541e4bcf5cb7d2738380287c6503861acd6da8df75baf79439056b146822aa9ab862431bffceb5d3e059a9cd122003d8d9f636a5507c015c7962bd2f517545cab4ef0e65d886c676335f123140073c032130836c28bc12d6a8d0ad7754ce0a0c9c042e5d26da7445b4f6af064b7d0a6f033087dea16c2e4c39d384819b81b0319d2bc0e99d218cd4ecaae1bfb0aad5079803a85c4bf6eb7323183a9d153c82d505ebea4bcf7521a4822bc70aa9726e6f0a2c0219ffff03dbfea4be6c9f8219e895d9812e4116ed01a772f2831d80dfb74e2c84395e2002032a7ca67248b5d5fb09a91d0932601f2185ba1028710d58219cbb4c26cc1516ec03abb5d7843e75758e7f1cacd4bea9db97cf3e0f6805053cc69b0bc961dbacb53b037b9ba1af4b6894332d40dff839ce12ed97eae75650e30407d4f0715601f0582603e339a7131a2c34d707827abbc7da38681314ed3bce39cd7449d36263f5dcaee603f5bf563b64467d8fb6937e5a93c1ae814a577d6d3db6c1a56e36d2af4ed7960b03d0119f5717713ae2f5c9641c0b039cf1f369fc3e1e51caeb2fa279051f16cf2b0303f12f2873d09944937bf3fddcfb68102d98f38f72d45133a83f165c4898ab3c036f6fa2162f2b517fdb7e6f610d72050c69a2077e02058289f569396f227dd2f9031471f0ac4b21c1383893abac8ce1d3c09f48e17e29eb85bbfcd72ce960ed3a6603b58946e503fcfcc500c4e2aaf4009733636bc0822d7f45803933477c1ec341ba03c08894a9382df180d776b95010fc4ea07a150816a3abbc511dd14de2dd79722a03901939de22d19282b53d36a93236e2a9e78c1a6343dd8e1f58fd83074b0b0ce30335e8f2ba3c844b63f642694bb972c038c805ab85a96f1e0fc17fc3020f4b405a038c11cf316adfc0de5d4812cd01ac8d4d73dc9bb2e875f569deb1ca83f0d110db03dc53530affa1feb487f1d1837e7905dd496c5dde257f39f7a388a3f8c85ad51a03b2a44c8b84a6fbaa7e015d07d999636fef82edd9d8b41489e8a77d81494d13f003fb8fd0736508fa20b05f782537a08bc8d2adbcf9c0a1295faa0dbab1e85856c10347667677996d815498349535d72b7d45601545ef7992403dd0e5ea6ba173c90a03b957fe6cb3cb42a5b85d57c551bb98f41edec8fd778b7bceb20cc0c9aa8b467405581e0329cef0cc8195f0a62f86244125302959d6615e7f640030f1fd464e03000c044704584af97926c40332a2e5fa2ff2a3758b9f776be0dac94d94e3e769553962ee1d454a29ae4217ae05581e03998e3b2809131402b80850d452e3b26ed87aeaa4371f3278f8202091b00c0347b4cd68d329d74b035b7f3bb06a58ec157fb46e1bb6fb2b18d440308b3367433d7bb0070cb5494ed805581d0235815df8e1a5028d493112a8f71bb5565856593f2667145bb33127fc0c02465527fcd37510045915c9600080358060e01c633b50d42181146101fb5763fa461e338114610223576323a69e7581146102c05763c89e4361811461035d57631944799f81146103bb5763adf38ba1811461051757631626ba7e81146105f5578160f81c6002811461007d57600381146100c057600481146100e8576005811461014c576101f5565b61008633610764565b60001936018060018637848582878873a88800cd213da5ae406ce248380802bd53b476475af115156100ba573d85863e3d85fd5b506101f5565b6100c933610764565b6100e36001600360ff8660e81c1660ff8760f01c166109f1565b6101f5565b6100f133610764565b61ffff8360e81c16600360028083028201875b8481101561014257833560f01c80838b37898a828c8d305af1151561012b573d8a8b3e3d8afd5b83850194508083019250505b600181019050610104565b50505050506101f5565b61015533610764565b6000198036018060018737600160011936015160f81c166001811461017e5782820191506101c7565b6015193601805160601c601f360182945063095ea7b360e01b815273111111125421ca6dc452d289314280a0f8842a656023360152856043360152898a6044838d865af1505050505b50858682888973111111125421ca6dc452d289314280a0f8842a655af115156101f2573d86873e3d86fd5b50505b5061072c565b61020433610764565b60043561021d84600660ff8460f01c168460f81c6109f1565b5061072c565b61022c32610764565b60843560a43560ff8260d81c166001811461025657610251604661462760d31b610745565b61029e565b6102848360e01c8360981c66ffffffffffffff60681b8660681b16176001600160a01b038660381c16610851565b3314151561029d5761029c604661462760d31b610745565b5b5b506102b9600160b360ff8460881c1660ff8560901c166109f1565b505061072c565b6102c932610764565b60843560a43560ff8260d81c16600281146102f3576102ee604661462760d31b610745565b61033b565b6103218360e01c8360981c66ffffffffffffff60681b8660681b16176001600160a01b038660381c166108e6565b3314151561033a57610339604661462760d31b610745565b5b5b50610356600160b360ff8460881c1660ff8560901c166109f1565b505061072c565b61037c3373ad7149152a65e6ec97add7b1b1f917dcafcf9b2114610734565b60171936018060188537838482868660401c6001600160a01b03165af490503d84853e80600081146103b0573d85f36103b4565b3d85fd5b505061072c565b73a88800cd213da5ae406ce248380802bd53b4764780331415156103ea576103e9604661232360d41b610745565b5b6004358030141515610400576103ff81610764565b5b5061040a32610764565b60443560248101358060f81c60018114610444576002811461046557600381146104a45761043f60466202313960d01b610745565b6104a5565b61046060016027850160ff8560e81c1660ff8660f01c166109f1565b6104a5565b600019600484013501806025850189378788828a73eefba1e63905ef1d7acba5a8513c70307c1ce4415af4151561049e573d88893e3d88fd5b506104a5565b5b505063a9059cbb60e01b855281600452601b1981013560245260208560448788603b198601355af160008114610507573d6000811461050057600187511415156104fb576104fa60466202313760d01b610745565b5b610501565b5b5061050f565b3d86873e3d86fd5b50505061072c565b73111111125421ca6dc452d289314280a0f8842a653314151561054557610544604661232360d41b610745565b5b61055161014435610764565b6101c43560248101358060f81c6001811461058c57600281146105ad57600381146105ec5761058760466202313960d01b610745565b6105ed565b6105a860016027850160ff8560e81c1660ff8660f01c166109f1565b6105ed565b600019600484013501806025850188378687828973eefba1e63905ef1d7acba5a8513c70307c1ce4415af415156105e6573d87883e3d87fd5b506105ed565b5b50505061072c565b60043560405160443560418114610613576040811461069257610721565b60a435861a60208301526040606460408401377f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16060830151101561068d5782825260208660808460015afa5073ad7149152a65e6ec97add7b1b1f917dcafcf9b218651141561068c57630b135d3f60e11b8252602082f35b5b610721565b6084358060ff1c601b0160208401526020606460408501376001600160ff1b03811690508060608401527f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a181101561071f5783835260208760808560015afa5073ad7149152a65e6ec97add7b1b1f917dcafcf9b218751141561071e57630b135d3f60e11b8352602083f35b5b505b50848152602081f350505b5050506115c8565b8015156107415760006000fd5b5b50565b62461bcd60e51b600052600160e51b60205280604052816000fd5b5050565b73d267fda7ecbe322e64bf807de06e8e2284b72da98114730ff82acd0cd11bff58729e7dc9cdcdbe1fcf7a7482141773c47eff2d0b444001dfc2121aaf9b6d6db76af010821473c252ceec3ad24c47657638c323d96249a9f1b42a8314171773ad67d3a4fe6040ccb8ae703a443202ec6b9e4a0f821473d66570edcdade24edda902b28f2172e9ef8395dd83141772d2f4eb459bd4f7b175fd0cec578229bfa3bde7831430841473ad7149152a65e6ec97add7b1b1f917dcafcf9b21851417171717151561084d5762461bcd60e51b600052600160e51b60205261231360d41b60405260466000fd5b5b50565b600080818484106001811461086b57859250849150610872565b8492508591505b50818352806020525050836040526060812060ff60f81b82527307e610c722b66148d8c6b92967c99cd1ba8c7e6160621b60015280601552507fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54603552605581206001600160a01b031690505b9392505050565b600080818484106001811461090057859250849150610907565b8492508591505b50818352806020525050836040526060812060ff60f81b82527341ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c960601b60015280601552507f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e2603552605581206001600160a01b031690505b9392505050565b600063a9059cbb60e01b8152826004528360245260208160448384865af1600081146109e1573d600081146109da57600183511415156109d55762461bcd60e51b8352600160e51b6020526201189b60d11b604052604683fd5b6109db565b5b506109e9565b3d82833e3d82fd5b50505b505050565b806014028301356000805b60011561151757818582101515610a135750611517565b600f8460ec1c1660008114610a805760018114610bc15760028114610e8a5760038114610f77576004811461108a57600581146111045760068114611324576007811461138e57600881146114b957600981146114e357610a7b60466202313560d01b610745565b611509565b600060018660e81c1660018114610a9e5760008114610aa657610ab9565b309150610ab9565b601460ff8860d81c16028a013560601c91505b50600460048760e81c161460018114610b355763022c0d9f60e01b6000526fffffffffffffffffffffffffffffffff8760581c16600452600060245281604452608060645260006084526000600060a460006000601460ff8d60e01c16028f013560601c5af11515610b30573d600060003e3d6000fd5b610b9a565b63022c0d9f60e01b60005260006004526fffffffffffffffffffffffffffffffff8760581c1660245281604452608060645260006084526000600060a460006000601460ff8d60e01c16028f013560601c5af11515610b99573d600060003e3d6000fd5b5b505086600184011015610bbc57601584019350601582876014028a0101013594505b611509565b600160ff1b6fffffffffffffffffffffffffffffffff8660581c16600160ff1b0301600060018760e81c1660018114610c015760008114610c0957610c1c565b309150610c1c565b601460ff8960d81c16028b013560601c91505b50630251596160e31b6000528060045250600460048760e81c161460018114610c4c5760008114610c6357610c85565b6001602452816044526401000276a4606452610c85565b60006024528160445273fffd8963efd1fc6a506488495d951d5263988d256064525b5060a0608452600060c4602d60158a6014028d01018237600260028960e81c161460018114610cbb5760008114610cd457610ce5565b6000198b016000198b0160081b1760f01b60f152610ce5565b6000198b018a60081b1760f01b60f1525b5060f39050602f9150600260028960e81c161460018114610d0d5760008114610da557610dbd565b60ff8960d81c16151515610d4557601460ff8a60d81c16028c8337601460ff8a60d81c160282019150601460ff8a60d81c1602830192505b89600160ff8b60d81c16011015610da057601460001960ff8b60d81c168c0301026014600160ff8c60d81c1601028d018337601460001960ff8b60d81c168c03010282019150601460001960ff8b60d81c168c030102830192505b610dbd565b60148a028c833760148a028201915060148a02830192505b50604119896014028c0136030160428a6014028d0101823750604119886014028b01360382010160a4526040600060828a6014028d01360384010160006000601460ff8d60e01c16028f013560601c5af11515610e1f573d600060003e3d6000fd5b508915610e7e576000600460048860e81c161460018114610e44576000519150610e4a565b60205191505b50801515610e6357610e626046618c4d60d21b610745565b5b81811115610e7c57610e7b6046618c4d60d21b610745565b5b505b50505061151756611509565b83600060018760e81c1660018114610ea95760008114610eb157610ec4565b309150610ec4565b601460ff8960d81c16028b013560601c91505b5063a9059cbb60e01b60005280600452506fffffffffffffffffffffffffffffffff8660581c1660245260206000604460006000601460ff8c60e01c16028e013560601c5af160008114610f45573d60008114610f3e576001600051141515610f3957610f3860466201189b60d11b610745565b5b610f3f565b5b50610f50565b3d600060003e3d6000fd5b5087600185011015610f7157601585019450601581886014028b0101013595505b50611509565b83600060018760e81c1660018114610f965760008114610f9e57610fb1565b309150610fb1565b601460ff8960d81c16028b013560601c91505b5063022c0d9f60e01b6000526001600160a01b036020878a6014028d0101013560381c166004526001600160a01b03602d878a6014028d01010135166024526fffffffffffffffffffffffffffffffff8760581c16604452602086896014028c0101013560d81c6fffffffffffffffffffffff00000000008860281b161760645280608452506000600060a460006000601460ff8c60e01c16028e013560601c5af11515611064573d600060003e3d6000fd5b8760018501101561108457604d85019450604d81886014028b0101013595505b50611509565b6000198560f01c01600385886014028b010101600037600060006000198760f01c016000600073a88800cd213da5ae406ce248380802bd53b476475af115156110d8573d600060003e3d6000fd5b866001840110156110ff578460f01c8401600281019450600281886014028b010101359550505b611509565b6000600860088760e41c16141561116857601b85886014028b0101013560801c9050632e1a7d4d60e01b600052806004526020600060246000600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11515611167573d600060003e3d6000fd5b5b600f8660e01c166001811461119d57600281146111ad57600381146111bd5761119860466201191960d11b610745565b6111c9565b630b68372160e31b6000526111c9565b635320bf6b60e11b6000526111c9565b630f7c084960e21b6000525b50600f8660cc1c16600452600f8660c81c16602452601b85886014028b0101013560801c6044526fffffffffffffffffffffffffffffffff601b86896014028c0101013516606452600060006084600084601460ff8c60d81c16028e013560601c5af1151561123d573d600060003e3d6000fd5b50600460048660e41c1614156112a757630d0e30db60e41b60005260206000600460006fffffffffffffffffffffffffffffffff601b898c6014028f010101351673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af115156112a6573d600060003e3d6000fd5b5b60018560e41c1615156112f8576112f76fffffffffffffffffffffffffffffffff601b86896014028c0101013516601460ff8860d01c16028a013560601c6001600160a01b038860281c1661097b565b5b8660018401101561131f578460f01c8401600281019450600281886014028b010101359550505b611509565b63095ea7b360e01b6000526001600160a01b038560401c1660045260001960245260006000604460006000601460ff8b60e01c16028d013560601c5af15086600184011015611389578460f01c8401600281019450600281886014028b010101359550505b611509565b600080600260028860e81c1614600181146113c157600081146113e4576113bc60466202323360d01b610745565b611403565b737f39c581f595b53c5cb19bd0b3f8da6c935e2ca0925063ea598cb09150611403565b73ae7ab96520de3a18e5e111b5eaab095312d7fe84925063de0e9a3e91505b508060e01b600052506bffffffffffffffffffffffff8660801c1660045260006000602460006000737f39c581f595b53c5cb19bd0b3f8da6c935e2ca05af11515611453573d600060003e3d6000fd5b60018660e81c16151561148c5761148b6bffffffffffffffffffffffff8760201c16601460ff8960e01c16028b013560601c8361097b565b5b50866001840110156114b4578460f01c8401600281019450600281886014028b010101359550505b611509565b6114c585858a89611521565b9350866001840110156114de5783866014028901013594505b611509565b6114ef85858a89611572565b9350866001840110156115085783866014028901013594505b5b50505b6001810190506109fc565b5050505b50505050565b60008460f01c600119810180600487866014028801010184378283828586601460ff8d60e01c16028a013560601c5af1151561155f573d83843e3d83fd5b506002818601019150505b949350505050565b60008460f01c60001981018060038786601402880101018437828382858673111111125421ca6dc452d289314280a0f8842a655af115156115b5573d83843e3d83fd5b506002818601019150505b949350505050565b0605581d026aa1077c7243301b5d9cf5f9342493961d98692a119161eb9b75bfdf0f01430d1fd51915c90219010205581e03afac310fc2bc7517cdc0ea7e9f5d04a1cf5e295b96fbd9fc8d37205fb00c02443b9aca0005581e03bc9ebd551913c67a3fad934dd3ccf73d4ab689ef592897808346a3bfa004010219cd8703a9ed4fe26de7921d689279ad5235bc91ac6a306290909ae10ec7c76cd979f779035713178d7c7d9121ae6a18f08d9bd911b3eb9a1ae6fee9f33075504e7d68d8d50358d3a46aaa346e23ab90f5ba3718c31baf10319e8949488e12e8314701359fb603ac4eb70730ab2a66cf165d910871c02a276adbbd9a9e4aa7261002e5ef8a8901034019ae190a2e8149f0323dc92bdb65e40cef63398a3715ca1790ca36bb63ba3f0324f40c5fb7988db5a5e29b0f324f811caa83905fb5883f5d8cedcc5ca28b2a2e031871ea6a7a5774a3ffc1bfd70741db325f946082fc679d710917fe60a73180da03be8c64438b2a292fb5c85b57d130f08ed7460a6a13c9ddac079fe79a992be37d035ddc467b1246731385c6a035d03656e7b1e0ab1679abfdf0a6dff39ae2c3365903793af1338468f8128e24bf2ee34e6f4d7412c945d808b94cb8c7ab0ca25d322e03f004aa42d85e98810d250008d71638997b0973b6e8173af4e72b3fc0309a3deb0219ffff03df057d1dd72270c51f35c19eeeb5e86ad5f022bbec24cb1330fdab53f267129303906c667f743c3b68adbc57b6b5da273fb8360e36b0ca74c84ef346d61f89deb9031e95c7b63945777e528eb4a7b2fc18e4cae736ab124dc46a92eae45bbf1ec3d103ccd901ac082f3e7d8a0f0c92e772bdf4651bcd20f8911ed71a56bd963b6cf4660314346ad556783e26cbb75d6a389df2f74dbf4308f75062138938c9207bc1e9e603a1c47a3b7a73688fe12a44d5918818d50e1470e28a9d4159eb8fc3bda7ffb18a034d0f31c970ebd6183f4c9d46628d80ede1dd303155de737a83424e736500494c0358d7dc2cc45c084bf2551a3821aeae5f8a7afdf4155b3023ee3458267ed469f603dce1a70dbcd5e2bf83add06c530402cd0812a93ca06aff306284a09a2207480503dab93e7e7bfb52a60a67162ef4a8413c19185accfeadf7f8f97bfc117f45416803b1b57657efdacfa67ae76ba8bd6cb1f042555ec71175ff074c42f5e19a38ac7103c2b6107c96857a42efbe1825b8c82b2b1ac558abbcd6db085efbc6d92a813f8703a2835320c8e0ab9a519e48023fe0e80eaa2ad4fdf09891d78edbda32d2a58c5603b47a998885e4db2e06c5a573f7ed33b41c1b2942c61e62d0c49cbadce5a9eaf203b23dc98ec27da6d918e05569e4f8211e5c087c098d03745c9bdaaf429d5481790219ffff035667e7bd349dfc2e664b0655d5ab25f433344d80a421f21b616fec6c48acf2880219ffff03a39bbcb48bfa89b2d11930896d60708f227d1675b77210a5bd1c0ef6f1344fa003dcfb81fff95c4104a22fa284248126f0992a19204fcb34dacaea6ede32a443c7038d6c848c81d7c28afb3033b16ab9bdc663865d3bc05dff557ce75b40d21d3f6203571ab515741f6d4bd989db4dbfec4de4a162eee867856054e648af24432bc96803932481f2379423e602605cb719cffd32beef10b793aabaa563200feed5b01fe5039f7dd834299534b252de8c4948d4a2a5382e06ec4034430e2ee42851b94fcd3a03aaef8cda5a1f2e9a3defb2752e74ab065b9d411ab9aee66e0fd16680d32dd77a0219ffff0387b384d9e137b359e3b29ad46bce1dbd8037ae3e8d3f05bfba9852e278d613bd0353bbdbb41362fd9697f3983b67c3a6b8d767faca955b76d55605a6825a2aee9f03e9fbf585977a13138359478cfdecbf63a3754f917c679aebb7e87472a39ae1e4034149aac665b3c79a549aa0d7a6ef85f81241c890a4300534ce7ce44bed8e206203e753718ea754fb0e55ad75dcbd75795398edcbbcf30fe9c8f70d22438de92b400360f4a245737979a703f2bb3aaeddebeb516cd952e9799af939e1a95e7ea5c99303661dc4f260433b13e10227213c58f242499da551131a9a812bc4e88180e7975903bde33d9a2db81835710c64b60acd03f41b52af84122cfa13cfca6d96dd21d2540377bfddb19a69bef79e087857e9ebb795c4f3ce3777670877a30d11dec37fe1e90333964702e7abe0ebc4a6e8f80690f00bb1b89551e2eea6fc9e680e80211b9cfd030b17a1ce1cc9d1b71d675a5f6a100d8bdbfab4bd90f011111add3b6006b4225603df2f1897e86d052b6bfb84bb35a9b1c0dd8e0bf8bac465b1c71df02b06cb38eb03fb4a6de9e4de67680e9d701eabd16637bfa8a8da25932c9b8a5b8b7c0f91b25a031e06361416591670bda1fbb114e646609c090d9c79400a36486cac95fb9071cc03da9111ecde2f22c73cda14c8f15a8e291d34594252ea97b4ce8caaa0037163e80343f3f3d98c8940c04554ef735c9c34fd961870475c57f9eaf1c2c22cfb21e9ca03de15325ac0d58f600cc56cde3311dc79b1bd53400dd98803eee7267ea6dc59ef0396647caf88171af82ee01fc1871f33e4ef630cf63ef3f5d6f6bbaf0ae98b4ea50358bd773346b46b8b91f40dd657ab2f218e98ba759046a46b90583f003dfb94dd03ef99a0a8aeea0b35f035e5adb579cd74fc1e9ef0da00f2cb8a3afb3d18c1ea0703794d4472fbea566b0f77b332c465b16d09eab6e7cbccc3267e54c5bff1607805039dd2a75963ed19940154fde56432fc89499fa1396f59a24ff0da196a81202eba03f8d3e0bb1cc9a7331772796f090001381ef430faad33e05dec19e1910b8a7c0e03e66756e5f5260c37faad6b47450dd89ae9c47453f07beddbd1b4745e48c157f0035666e51ad74fd8efedf7f9d254a6f4945acfcef1630ec3153afadae9074390e8038765948915a76709b376b51bbb26e6b10c868dfc8a5f7065427eb3ad5d4d1d4e03215afa358cd25dac654a24628afde92320c0ebfea9418395591fcead52ceb3a50314cd4723df5207a8527223925c12cd1723bb5483a46197397bbfc10f94ab407f0378c61ea95728865514d2ea535a6064eb26efb1969d4b41e91e78a0caaf5ba58203a4864420329a6198da7e86d4a351295a8ef9ca45d6e00718c0e95c3dbd7fda7c03234b5efb17784728dfb4978853a57494e645a8233a546fbc270f77697928000203dda93dc88426acebf24c12235b174be69c8ef08e05169f8f2cd198f2d606536003355b7cfc491d9154db8993eed27f7c809f155c582c8c35aecf0b00ed822a72ca03a98ff9ff9d84ff468dfa7602ce956cfc433c9f62e70e141c713f7f7bce2c6a59030670e34226b4472fa2667450fcf21833b965cbb8f34f52da9f904d295e5a2e150354b9818ca411416836762ec8e84a7127a976b78b55dea5ca4950ca98d755798503644c3221a35f98505e9ec32d3e583fc9abbb2660eaa20f5cb093e6bdf9b1b49f037c764d7b20b3a2cef2528776af549b65e45fb645c8bb26e3aa932bac7b24b02c03467001593a5088fb41ad135c1be12662a99dbb026e192612410490bed8d5ae7305581e031a693d4b7476d358b4e4f24bea2827ccb06dddc01b024217d5d511a83007011bffffffffffffffff05581e03ffdcb604c27fb87a661c3c481fc0a0e88baccfaf5e0e259db87c7e666004010330c5452702622814e9936ef38a4742552f3af85dcf7b15a3db580bf3a1a1a74805581e03d2753025f376dcef955c08ed604bf4af968db3b58d557729d461d1df800c0e4702304182de94f005581e039f08569d3e1aadbb920425ea098fc6924f5595126e21597c8f61d94060040203e59d5e3ee47c8f92fa0da51ffc904476d269c00cc6d491bbcb9874cc6e65202605581e034a87048ed54f28e6e5da00886f49c1ea1a420e53c0bf850bcb244f42200402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e035c02807d0c3e4c2d7f3fd17ce2df17528f319f309767cd5d14b2f1d02007011bffffffffffffffff03683ba463a7cd545871850714f47c35d91fc3995397ad36f5cd2e913783f8a38505581d026bcaddea8b6fa7c489be4104f51810c686b7d5076e03f264540d5e380c183a4803389ef961ad698f05581d02a420c8e8e8452280ce6c2b35edde6142e2634381a0c553f61b7885f10c0246f0d79902a0280219808003b7979f02295b6553f84650cb08446e1326b655860b1a49d06e3b3aa5414217c10219dd5b039b5021f970cc1e7ff6c2ad362f13b21ed2bbac9999666f704f49cb074e21194303d974b109859bcd294acb8bd083d4ce3794ef46d6bb7c134acdb3e1c0e66746b5033d016ccd1709193c352c829b6fce1d139d61117dbe3beced6ceccd738bae83350219ffff03a187c0f667ebd24845dbd51e99d91de9adf7fbd49195daa9a7b9474bca11645103e149b9e4a477c7160b8b96079850f27b02a61113ca29e72d7b3a0ea52ac00035037ac62b89111afa0eda559af12a10e4749851aedab9ed0fc31464dc7ee0b315670219ffff03fac3c7c4e0e05c9ed872009981273839af58c7335ad601ecb65fea10f679c1e5033f23088e4a42a7f64a29c2c815688146c19303deb41844f429263a237c9299a2034fb45b28e5cff2e46449a91bf14093c9336f8ae4151fedb520e5e2f9a04955df03da77e4d83fb680867c3a51194123eb449427fd18523f11ce60c7be6a30374f7103d3b4681ffdaff81d9bfb8752a9898ea4d1744136f9a9a03717f1b5befcc18a8603b3b92198070b7f46be993d2fb5dc5335f719de7f18f4b70f1fc95baef8422d0a03c0ecaa3ff83d082517787ea11437061715d76db13ec59ee32d237ddf3bb21e540353402777549bb1ebf7419141fc03cce8dab5de6474ee221daad280d31e20943a0219ffff034e4f3a8c2f49ac157edc76bbf28d0e6be082be86eacef6a60ba75cb369cd88b803b136b8419dec73b6532aa4c67c3d55b085c0c11d5de333b585db3bc8da86750d033dbd051dc46efb2c0fc9ce7dfb451ae91fcf4be38818c09ca5c8c94f2070ca07033070ffc0b530036982f88ed89bb059410637e46252aeee2e99c564c39aac07ec03e10762ddcc4162989cb978110b63acab54702cf33b7682d44293796092b5b4b7031a05bd1182802503bb1b04d5ba90b78f1d68a6b796b203f16818ab76c57d867f039ac66d306f964168a2ad3a4af6dca9adc8dcbb9bd02092fe78f101802797573b0355e41813d61ab0b98b64f6512ed9a7293ce66608349b5282a918c41178395b1203d259602609c677e0cfe2a26961f95372fe78c1ac164230e59d30fdc3c7d00b200219ffff03f586a21f97f4d236b688707f124c3980ff9e65ff8cb784e3e5782468684c4f3203fc01c6e45f2086c2c2d6f97bf100a18ddd2ac3c0e6c6580a41ca3964e70ab3370353235c7f6ca253b5e463ecd2c8ad483d5c7c1faae9c15c3dff042b01a924b0f203a2d50f140e153c9e91bdd0b5b079190cb57381690a3637418302663beb92552d032d8fae3909be7b2922aa14f238ec4c9b43e30a93eca96f6f3962756403fda3590309ac5176f5d9fcee09a99d7bb495d8c281ec4fd4fb6ea6aaf0acd4d00c3023a403720932c6781e9e92428ae43913d26c8cdf1e772a22f7cc61df41e250e68194600366a841edd05b4686db82af27ccff015c92a4c6ecfacea0ebd5e26b30be0eb35503307db7055f0e4153e4679c0a95cc0b08e63394b9b4cb1628f3511ce987e36c6803665a2b4e9331a120ed08cd50ed244981bebfd1ac69086586a272238cb4e5ecf00359657716f52fa50b67826533b148dc2ac376da40f0c8f9cbdd37c3bfa59bf63303f23066df422b28ebd8a384ea61e993159651842368008f92b8601aaa6840389e03ae28faa7b86829a7f1d8f5cb59e61354f2703315d32c2ccf3bf727cc97e612d603fc99635996faeb1ce5b91c4f07a85d48a6c9818d292c9250666a48f4eea337340372abd879984c153da438d732a765b7b76f03f20f8a3a7cf26fb07c8530e63af503edcb82c9efd126f0ff960f4b6196fb663756777d633fdde796205705b338e0db036f2e6975b4db1fff94aa11267a4a453ba8cc442d1bc1e1b274be4c5323a712ac03ae13fcfce7fd34ea5881ca6aba9959faafa2bb51f0155ee9dfcee8967e0cac4b032f7cccbede65f4a34b91df31faaee79c86b4b3ba7fd202338ae647a520c2219d034b840cac463e0cc781441718ff3c795e65669a764bc12b60606c06baf48c64c1032b1b9d522929d6cb73bd1737cf5e6b4a80cdd7a558781e49dbe1f6412706e04503281dedb8bdc98602b5da237e5bdaa824995e8134bbb78f07cf89a3e5b279971d03a2359520930ab2faeacf94554cbe572d4486abf8863f688ca0d5d6d370fd09a10399e8be133bbb9bca08efc89641b3aa4a769148132d9ccd57909180623f188789035b46697d237bbcab4bb3e6f0c2f6c8238bd0ca4fc1488bc8511f865cd1417b2b038568d51698a6050a84bc54fe6aa3d64bd8b31b844c5bf15233c6ebb67476cc070337dabbf42a759b1bf2a7066973607edb32f44c4ab047936e5ae7815374ae96f003e54f8e4cae902a04af3635f97653e68e54a597bb9a545a3fe25fac484d199efc03e08182fd6645aacdff3bf5585c095e6784784370f46a91f1bcd9ac2c378633b903ccbb725f89d30b504a3116691d2746212dbf24b4d26251125df2c1f1e517c40603e0d7bd300d973b35f7cb9dcbb09f6ffdb684ec5b7006bebf15597b43c57ad2c903593d42eb37ef89e5a2aa78602b1dea009d2b57e0774c0a9a333c87ef1288ea8703e1996091c4b93fdbb072736300cc70326c0718bc0ec0b50794e555ee81851bfe05581e035a4c4b84654d896681d9910419c1442ebfdf27738e9bcf57c49d48e4a00c190380471d70a0d5b4e10f03ae197819780da4994fa7fd7b1425b73c19927d1b84a665369935f8bc6566c85a03251aa2d8dab63638968fcaf51d3ab0f2181a07557fa12e5574f025c298643aa905581e0358f4d3945a04799dde91d9eb328a8490e56cfb56f5880d09fca6344ab0040103a73581a25c245517231af248fc12b8c1543e5370799c7340b4f527406713e69703f0a4986d69e9ff4578229a504bc20259a24b4fa76f0a51f6db5d2de3ca08c110039d7c6da5e74d3bcef01fab2a9804b15c04ce0fe0838f5cc76aa0edcf3b638b5d03dde4d281a90fa6ed3117f27f721a12fff00f6cdd8bbcb97081ee82c0d6b1d28f03eafae30133a135f755fd38d5b8e98772e5298062fa3c289dad5d4b3bb04ef42203f18a90f6361fd88feaccc248a235dfaa1a6efcd6e2937af027c92f8e9c1dcec801410605581e0346651466bf1f901c0923f9a8f8ef2c02c8a4aec727d182eb2021b01cf00c0147047fa99ef688000399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803ff71ec2b58d2fa78aec83fd326fcd8ded8a83dbefc0d323094beccd907b778b105581e03168344d2a3e375ffbcee328d44adc7ca00faf5be69d1e5564538c3494007011bffffffffffffffff05581e03ce7d91553d3bb9c2a632878a4fd3ac01df86e38539ba0fb4824b1848700c01466d13d8424d1f0219fef603a949d58333259475b2f6080920a96cba944abfd613a776a6cf886ce559142f2e034f65ef9f706982bf2e89767906cb613b534a5dc4fc78f8e5991fc0e395f604ce034e0d48b2b2b24b5e5f8b6247a981c9f80d985a41877cbe402e8a6dd941b676840219ffff03ba433022209dc04c5f2478a30b1780531765e58ecf6f62799b02dd0bd80209fa03ebfc2df59463c340ccdd96e9c8361a1d1892b0685a6114296a6ab44824d7e558039729dabd23bab244f27b68518b6e38594460b1d3f5ebdc6715282ab35842ca9c03f08e4a6b1e4d05ace7d26c86827e91e55e53e75238ab47cfa716a1fd97e3a7c7034a1767586c3687ad1be7a8a93979cb6d642bd2f38271c928c0afad6356c48d2f032d8f903cda8de88c7d3536fbec7e15174067578a425d5c17966497bda3b21c09033564cc13616cdff02f8c0230594f285ec3f8a62d90484a6796e5e821ffb3949d03d6be776bd6d60e588d9e02b2dff674e8b5fa005b2d6e1d9799406219797f016b0219ffff0354e6e4d31345854277841733dde145dc1680d4ad6c630b43e969ee4f6ed16fe70348c5cc416a4e2ccd69c25d3025dfad91b244ed0b59bf14b09351f6ed0e38f3e60219ffff035a4e0322631ec87ef84f95799bced82bf5e981b2844c219fabbbd9d889ea82df03457cdb7f960ef0d8d03879e361f421086efaed0adb1818470be4a9dbb33395260340188be3f34492e44f03abece942fe22b598bae10e2cc8f42b8299d4c9b5fa2f03a2d2abeec047c45652de25d78f9fafa5a76e861f3d0dc43b23228dc60820755903870f0064995900b6768ae790cf38d214820340609142c0c23e4a2ef0dc231d960325aa6552b1b6bc79e0652c3706c556b0b11559e2abcf566d2e170ef0fd99d25d03071bc2b8fe86caeb62cc0e876fdf8a3e9bb08e7fa97d301dfc783dbe451ec9d90378b0a6f7ff1f835468aaa028bb0b0df3f6488fa9b49bd6f8f832424d60b773150378f797e8b36013fe4a411465158dffe975a05127bc7002761bc83a8a0afb1e7703252ff8429e59212c740726ad708877f78be3882fc585e4c48712acdc1d029bfa03e862e900f7e8ace3cbe96e8c1ad9af05044a2240cd19fafefb6e153ab17306a0031cc506857d4f7f995f6d437361e198116ab5be66d110ed7017a3440349680f17039ca83a080ce4714cc309d2ef75d9b28042ef02b90cac0554148becbb9a883903032bcdcd5d0d919a3c3f23c18beea8d76511437df4bb3c3692f855f2587c4b45b60219ffff0397f09d3e19a153e848566d2b1becf6c201bac7824b6583db13268f2419360fed03aad88cd8e604e0a21288e7ca455174cb3ff297bad8ab6facc0012a6405f3e640038d97815952bdc6187b939823427ab8e6c6ac9dce9feeba89c440ed164751a0d003f46549bf7a6c742faabdd25b6098060c80b63f4b4f57d5989ae1b56f6c3ee16c03748d525de05630bf902746f582bf89cdbea4c6146a1ac66b8bcf6e4d8d4d61350307c76ba4adee29affaa0d6d796da0f91eec8462eb4c389d5d845c6e6e5777f910328f7f3bfa8099b45a35a6f8d813f0139dcb1782cda141cc8440d634f886f94af03b074a55b362f90512bbb9b66f09863d76ba6be64d6dcdd9e65685575a33779a203f4386118cefa3b99f782d3a2821222dab9c1259f57a28464000b4002a63ef6b6031b4150552625baeaea3bda077e030ea11b91c77ad7032c054d1654932e64a07e031f884dd702e195fb07b8127cdd33f92611714f13c1621d528ee7b429a9135cb8030d1b454717af2ff4de9b0ca23ea2fa81861ced72fb02c5463085f14b8457da7903eb68cc6f2591f826c872d0a48e6303e51ecc633e40f0ac19015b7062d04f6f1003f76fb276a01bb6adadfd5b41064e5ea7d41d36d389840a6fa9d4c31e47f8c71f036b78cb4f67082ccfa98532e66e80c647f7526be6d8c25f3069b364695356a8760368611a887c5bdcadaaaf9e4977583d11dfb6014f7db68b92dad9f0cdffc7f7f203618be51efe1a5d64214187c293503ca971abdc721433004faf2202d70c3fed750338f5e3d89e8a8d1b9ad79596d497c774daf05e4862ac76980d7fa7de02cb0b85039d4125ab30358654471be342e968bb2313140ea6dc69f9730290e079c66cf14003cd0a601ead8914d35a03c00d22b4d39f51002be918c5437b992094f1504014b603127045ecea86f432d9c86f50becfa9c73c7795a9e07f920d0d5761e645eac56303c9fc8b36a2e2db11b06bc04d4fda8c21c0ea7995f1780b13af9b3e234fd8263d03d2e8f764a9075ed1c8c8cc3ebd37d5fd4d4596a8f203482afa7382f911c673d703a1c5706327afb6d7f4360b95b074aabc60aaa4c5aec4e7ac8236d38efabc9d2f03bcfc886742768183c2bc148cf5829e0d2281a7a1a843ddebd50e5a6a5879483503388599ee250e6574486f43e0f10ce4fd683330b4b6ac4e51f9d6a805617f979903465c287a6605bb79f5c7a0f2369ff5940eeb3974126626b40c89a4b1ad8c90c60351705cd3a5edd8602ed4a33ac19b66a5cd196ba61a769952c3cd693acf1f4ed103e0c42c3b3ae3740d98c6781908901acda4e70370d2503eb6624361fa41e900b2030b3ae4db0f593d24a8da0d649526f70a58506f7e6719a83bf02bfc2c378f9e6b03857e01f4bcb94e2fa8c5796336b27453155176945ed7d74c2fde00667f2ea740031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03bdb349382a0f3423125adb06dfb62054e629c94597e6ca1023fbe5f46007011bffffffffffffffff05581e0397e0383341c993831cc76fc231517a401d2279148cb34a858f1283a8f008472386f26fc1000005581d027cc89906d4c567bed09a42f22aba2d05fc2df32efb84df2111dd3fae0c014638653181f5c804591d1b608060405234801561001057600080fd5b50600436106101165760003560e01c80636a61e5fc116100a257806395d89b411161007157806395d89b41146102bd578063a457c2d7146102db578063a9059cbb1461030b578063dd62ed3e1461033b578063f2fde38b1461036b57610116565b80636a61e5fc1461024957806370a0823114610265578063715018a6146102955780638da5cb5b1461029f57610116565b8063313ce567116100e9578063313ce567146101b757806339509351146101d55780633ccfd60b1461020557806342966c681461020f5780634b94f50e1461022b57610116565b806306fdde031461011b578063095ea7b31461013957806318160ddd1461016957806323b872dd14610187575b600080fd5b610123610387565b6040516101309190611183565b60405180910390f35b610153600480360381019061014e919061123e565b610419565b6040516101609190611299565b60405180910390f35b61017161043c565b60405161017e91906112c3565b60405180910390f35b6101a1600480360381019061019c91906112de565b610446565b6040516101ae9190611299565b60405180910390f35b6101bf610475565b6040516101cc919061134d565b60405180910390f35b6101ef60048036038101906101ea919061123e565b61047e565b6040516101fc9190611299565b60405180910390f35b61020d6104b5565b005b61022960048036038101906102249190611368565b61054f565b005b6102336105ea565b60405161024091906112c3565b60405180910390f35b610263600480360381019061025e9190611368565b6105f4565b005b61027f600480360381019061027a9190611395565b610649565b60405161028c91906112c3565b60405180910390f35b61029d610691565b005b6102a76106a5565b6040516102b491906113d1565b60405180910390f35b6102c56106cf565b6040516102d29190611183565b60405180910390f35b6102f560048036038101906102f0919061123e565b610761565b6040516103029190611299565b60405180910390f35b6103256004803603810190610320919061123e565b6107d8565b6040516103329190611299565b60405180910390f35b610355600480360381019061035091906113ec565b6107fb565b60405161036291906112c3565b60405180910390f35b61038560048036038101906103809190611395565b610882565b005b6060600380546103969061145b565b80601f01602080910402602001604051908101604052809291908181526020018280546103c29061145b565b801561040f5780601f106103e45761010080835404028352916020019161040f565b820191906000526020600020905b8154815290600101906020018083116103f257829003601f168201915b5050505050905090565b600080610424610905565b905061043181858561090d565b600191505092915050565b6000600254905090565b600080610451610905565b905061045e858285610ad6565b610469858585610b62565b60019150509392505050565b60006012905090565b600080610489610905565b90506104aa81858561049b85896107fb565b6104a591906114bb565b61090d565b600191505092915050565b6104bd610dd8565b600047905060008111610505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fc9061153b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561054b573d6000803e3d6000fd5b5050565b60008111610592576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610589906115cd565b60405180910390fd5b8061059c33610649565b10156105dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d490611639565b60405180910390fd5b6105e73382610e56565b50565b6000600754905090565b6105fc610dd8565b6000811161063f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610636906116cb565b60405180910390fd5b8060078190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610699610dd8565b6106a36000611023565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106de9061145b565b80601f016020809104026020016040519081016040528092919081815260200182805461070a9061145b565b80156107575780601f1061072c57610100808354040283529160200191610757565b820191906000526020600020905b81548152906001019060200180831161073a57829003601f168201915b5050505050905090565b60008061076c610905565b9050600061077a82866107fb565b9050838110156107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b69061175d565b60405180910390fd5b6107cc828686840361090d565b60019250505092915050565b6000806107e3610905565b90506107f0818585610b62565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61088a610dd8565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f0906117ef565b60405180910390fd5b61090281611023565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361097c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097390611881565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e290611913565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ac991906112c3565b60405180910390a3505050565b6000610ae284846107fb565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b5c5781811015610b4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b459061197f565b60405180910390fd5b610b5b848484840361090d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611a11565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611aa3565b60405180910390fd5b610c4b8383836110e9565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc890611b35565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610dbf91906112c3565b60405180910390a3610dd28484846110ee565b50505050565b610de0610905565b73ffffffffffffffffffffffffffffffffffffffff16610dfe6106a5565b73ffffffffffffffffffffffffffffffffffffffff1614610e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4b90611ba1565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ec5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebc90611c33565b60405180910390fd5b610ed1826000836110e9565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4e90611cc5565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161100a91906112c3565b60405180910390a361101e836000846110ee565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561112d578082015181840152602081019050611112565b60008484015250505050565b6000601f19601f8301169050919050565b6000611155826110f3565b61115f81856110fe565b935061116f81856020860161110f565b61117881611139565b840191505092915050565b6000602082019050818103600083015261119d818461114a565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111d5826111aa565b9050919050565b6111e5816111ca565b81146111f057600080fd5b50565b600081359050611202816111dc565b92915050565b6000819050919050565b61121b81611208565b811461122657600080fd5b50565b60008135905061123881611212565b92915050565b60008060408385031215611255576112546111a5565b5b6000611263858286016111f3565b925050602061127485828601611229565b9150509250929050565b60008115159050919050565b6112938161127e565b82525050565b60006020820190506112ae600083018461128a565b92915050565b6112bd81611208565b82525050565b60006020820190506112d860008301846112b4565b92915050565b6000806000606084860312156112f7576112f66111a5565b5b6000611305868287016111f3565b9350506020611316868287016111f3565b925050604061132786828701611229565b9150509250925092565b600060ff82169050919050565b61134781611331565b82525050565b6000602082019050611362600083018461133e565b92915050565b60006020828403121561137e5761137d6111a5565b5b600061138c84828501611229565b91505092915050565b6000602082840312156113ab576113aa6111a5565b5b60006113b9848285016111f3565b91505092915050565b6113cb816111ca565b82525050565b60006020820190506113e660008301846113c2565b92915050565b60008060408385031215611403576114026111a5565b5b6000611411858286016111f3565b9250506020611422858286016111f3565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061147357607f821691505b6020821081036114865761148561142c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006114c682611208565b91506114d183611208565b92508282019050808211156114e9576114e861148c565b5b92915050565b7f4e6f2062616c616e636520746f20776974686472617700000000000000000000600082015250565b60006115256016836110fe565b9150611530826114ef565b602082019050919050565b6000602082019050818103600083015261155481611518565b9050919050565b7f416d6f756e7420746f206275726e2073686f756c64206265206772656174657260008201527f207468616e203000000000000000000000000000000000000000000000000000602082015250565b60006115b76027836110fe565b91506115c28261155b565b604082019050919050565b600060208201905081810360008301526115e6816115aa565b9050919050565b7f4e6f7420656e6f75676820746f6b656e7320746f206275726e00000000000000600082015250565b60006116236019836110fe565b915061162e826115ed565b602082019050919050565b6000602082019050818103600083015261165281611616565b9050919050565b7f546f6b656e2070726963652073686f756c64206265206772656174657220746860008201527f616e203000000000000000000000000000000000000000000000000000000000602082015250565b60006116b56024836110fe565b91506116c082611659565b604082019050919050565b600060208201905081810360008301526116e4816116a8565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006117476025836110fe565b9150611752826116eb565b604082019050919050565b600060208201905081810360008301526117768161173a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006117d96026836110fe565b91506117e48261177d565b604082019050919050565b60006020820190508181036000830152611808816117cc565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061186b6024836110fe565b91506118768261180f565b604082019050919050565b6000602082019050818103600083015261189a8161185e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006118fd6022836110fe565b9150611908826118a1565b604082019050919050565b6000602082019050818103600083015261192c816118f0565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000611969601d836110fe565b915061197482611933565b602082019050919050565b600060208201905081810360008301526119988161195c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006119fb6025836110fe565b9150611a068261199f565b604082019050919050565b60006020820190508181036000830152611a2a816119ee565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611a8d6023836110fe565b9150611a9882611a31565b604082019050919050565b60006020820190508181036000830152611abc81611a80565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611b1f6026836110fe565b9150611b2a82611ac3565b604082019050919050565b60006020820190508181036000830152611b4e81611b12565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611b8b6020836110fe565b9150611b9682611b55565b602082019050919050565b60006020820190508181036000830152611bba81611b7e565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c1d6021836110fe565b9150611c2882611bc1565b604082019050919050565b60006020820190508181036000830152611c4c81611c10565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000611caf6022836110fe565b9150611cba82611c53565b604082019050919050565b60006020820190508181036000830152611cde81611ca2565b905091905056fea26469706673582212204b98789cf1d1f04355899900191ea19b27b7ffca46308279bc40cfc1a0eeeab864736f6c6343000812003303faf81fb7f73fafbb834d39c4c2c34630388287930ddedf7602e4d547b9fc98a003ea26973bda24b4901a33e281507fba23b17f08e84dafcb4e579aa221a8830d270310e9af3a7574db6e0db85a74a5c9bcff737a2bf06b7e10eaa26215b88d41a2a203d9e2e29fb60bdebf27599284c6ff7314aeb357deaa3b378f5a89709b59d1346a035f1bcbbd6e0eef5ef22a88f856207db603630a4f0804194c4657a52f2d41a39e030e7f03af873c379bd56145052c5feafc9c72bacf82ede709941089fa4e4460c403598ca6087d9a406261f09bbe4186d28f102cd9038c7e9146db531c090e8f1ae400581f022c4df55c249b65aa736f76dad815d777e5d08ec77d02a5e7ddecb86992e55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f33b855f3ac68927dc2d52e586019b454d2b824b5a44040b83d6c46d1d1e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0226b32246188fa2589a0585b89eb7eb492b0f6062cece180b9b0ccfd375935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02994236b38515e86b83b6a246faa492c615801322a49261521b22e65f6767458bd76e106500581f02b70e8e05e46dc924730465a75a17877c295d69eb0f2f5c4cfdf2b265a7795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198a110313f4cdb172824244a1e1c3f432f9f883053eadfe54a986dd24a237d730b3a88c0337b5df2e6f6dcbd38e1b039d2c0b44145d2951787e1d928905868a8d9226777d035dfa1c33a3ca3546154c3769d4fe61a63614dc397aae2040406a7d2c8b0e4f65030eba8244917b51930b8864d5c3666800a9e64eca297e1b8c532c9360cfdad4cd03da712096366e66abe42e2cc0f82764594b5fde274acd574fce0a9a45f74da893035f28246e1670dc27f7e8d70cfd2bbdb1b5b50ae3b590045cd3d0d75635c34e4303ee0ae0f3efa6fb3b783c1e38ec5f2803e619dec4061642904aa38ac05c69a3cc0367302aa7931b08c09bdcec3ec430e8a35930a9718aab2ef497f16a0690883d1403f2b35049ca053ef29f6bb6dbccdc35ff74a2cd7d351d9d577f034e66501ee34e039d367eba929b0119f7a1fe2354ae78aea26257619c560ac8b6a2547b5ae358f903307d713f1538884b0a2737edd9d66244458cb74efd049b515e5b24ac274215c203740c26c4aef913b887278df468bd06714dd22a1f771a7cb727a7e7765eaf7f4b03f927d47c6f323a4e536d375d09647fc156fca2fe851c7e39806b691001cd4c8303cd93621634dc855374b1353c06cf4d5291f3a94f5f8c640cd1c8faae9e2f545f0219ffff03215deee70a20202f2dee84494a14f9624cea917227eba1c740611fca66fa82fb039071d482059ff8e9fd05a984d6b22aa663fc3e1fbdd25fb954bd0f73d120129903b7645ab4643aab9bb4f90e0e55ef0633ea5013dca135e668d9d162e84c3a5ddf031f343f55ea1bdccc44f7cef5f904137f34ddcb96f957cd76f7870801124dc02103507c652e3aa59e392b0fa2dcd68619727fe891513d0f42158d20521795491b7103baad9818eaa0527336b769c0a0a7483bb91bbdd7a4ee52171861083fad7c70060320e5d9c2dae90507b5d031fb2a729a617e12b4173a3a01bfee5c47f42a8a6d4b03f3539478e64d649c88a91e11a3986c14521d23f6c6fdb144d04d3b984c7efc4403085081d01cfba64fc0ac65f0eb9befd0fad4d4a1bc34597a6960da46ec88dcb50219ffff03ba9f1e807afd1849dbd3e67deeb6075377b59d65d339d55de5190cb8eab7e0d303548992eebec615ff6251fab7626d66d0f0f56e8ce5febf3b8288ec602048b68003f34e09746166ecde303ec11bb61881b17354720a5282ccf08c8b65840e65fadc0341c51f8cec0f0e2c31456393b830c8b7df485a7ef822a2957989ef2c4e86c2c303c3c6be1ff27ae90eef58ed18cc14ac50fc6ed561bbbf5e3a5abab9508a2bd80e0302354fedc9726e8a7224c576061c9f62c0d88f0ffe608b357ea2a446aea50a440316abcbfb69b57329a9c3e5471618f5fce2f36e0ca8dbba9d5c040bcb6c355ef900581f0274cd80d6b8eefb39d4a3b5e9d9e5b4ffb9e3458218519721b10d80b4f9115820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0305a2daabd91685962b9c684685136ce3406ad8e6ccfc9272051814995ee04cfffffe8730de38e495c7e91500581f0374ae8add891547fa4f41121aa10ca6054b1e7a7a94b608cb9c28bcd87cf04906e4ab734d666ab0ab02188100581f0236556ba785374477e59700a6e4867f880ff36bb34dad63aae732e42ea2ee4831da4666b8db1a3000581f0293f26a4f06a5cc27752c3c999c7d927ac6fc656e393636cbcc79a0c09bd15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c0c6cf8feaa3a390eff3534470ef44882812e6a4e91a0ded50b67d246ea242300219530403795fe2dd15a96a15730c2a1a50447b3112a82fde5b3a2fdbf82a195752966115030eb1a1b4aee97aa1c9e3a99c0217bdd449b11f23194aeea96a0878d3a4b04dbf03fdbdb8f6327ae0adaecc3053b7af0b89d8ff1e3c0e24a7df140aeb402fa98082039d6606440dab62e8db275443c350b1cabe7820933ab7986b28c6d29b6c57302c03bf82ae55266c98bfc27178bfb36b9809fc45ca2e3557f195865c11b1820eb2d8035bafdfafacde9050c072c25067bf4af571289f40ee879a8cb37700ca6173da86031435b1d48b7d40afb6ce5bf20745e05f4358757410d3a05ef53c864a8f7017a4030db85504dab0d5cbf747bf9642936a0a36ad49d594dead275ae64d88acf05ccd033a21acfbf6669c2f46bfb8d3649310ce19858ba01d84862477ee1611425c856d0219ffff0371817d3cfe05700eff08b265f782de5d379d2cb9b9fced79a82ccf44b0cb51340385bd8e331774d85debc3fab9a07be1a34e155b0cb0c47f86f509f2f3a3028cb50345caf03a88c96f1e8be033825e1cc615c992850bddf51ecce4f91c4629513bcf03958dc99f73763ca352cc2515270c950f09723ab75b613a5f8eb55ae96784e18a03a54ae2799b5510dfdcd542dd850701a422a7242c3a09f7b422f2fcf030e125fa034a93345a0d9638b8923f21826483b85578725b1d87823ff931884f06bef32b7e03a3c280e7533f71e063a5da2479554996120cbbda99ec5419608e9425a024c147036a2aabace4ce18f330c0489ef8c6cc968bf0554bb850c9d1e06006104ce79dc503db7c7f0d7a4ba25854f85646f40bad820856b2c7716d1ad1f30264f44bec83b00314e67a7536ab122c495c276fb08f123d3bef0f61f45f7f800e9586de576785da03102569157ec3d213e7d2f6f83367814561e8d4faaeb1fcd7503fbc1cf71ad2a103103e7fe4ce706919f7e90c7ed9e143d9479afe554d88dfb14ea783dcdaf4f06e034ed936aae603ba0d05e337f9cabff5579c4aeca583b4fd5e086638024d681a8203c6074b3b6a3f9cdd91405249fe5a135c8e09ea1b7da4a172087162ece400db240219ffff03ea61e3bd29e1c2ecbef48e40bd40e2a5a3ba0f9a102575fb8d714adeab210b67034cf25812838eb57264f3fafff1f44c6c98ee8f18f6ed6fa8c54b5f51362eee7103587cbf2a74c328a2b4803f7ff6f8a79968015b1f1a75d2188b03eef38d16ee2a0387bf3a4060e4e3a30df3bc655f2a4fd27cb7d98c5a41d872f264710e3ffec9a7033252d549d4af6239f25b0623bde7b4ac58150df92adc86448154ce666b8438ae035ff2abdb5f543b344baddc49b337a56ab47b35ef220bf27ccdd97213d11e833d03cada3a864bc1bb532a10778aae4cfff3693b9200d9dff25bbe430719005fb4f903254628c7e521906f663f2dcc5b53650a4eeba2d03bd0c01c1f8fab2b9c7975ad038b119cbdb8f5b3af505275f87b017562126166e4d3900510e172cf32ea46460203e9640edca2d5f93c31fa2fb949d8ee2c2199fc3b21c183782058c19328d543ee03b68e83eddbe945829221501265dfa9122c782dab64b0f44f4d27d4feca7728c803d58044c2bd13141a63cabd8cedcd3f3a3b7570008549ea5777c4aa578366250c03addef46f13ebb5c0bdfb8e567ba1be6af99286fcee95bd3a6a9c30feb1f5fa0e03925833eb0262c48788ad27e7b292fec93821b5ada478b293365e0bff30b491b503dc34ef9f0f28fc9300c2613775875022be9d61668e352ad4fb395835aa065b1b03f7d29d368ef98f9f96c6a1792ab0e755ef0fc3cd57b2609cbf060eb0496f967003c209e2573751bc2a8847ffe5c73da4c567aed0305256638e21f6347d983477c60342da9aea85005a0c525dd848d1a2b241850395f95e16caa2f585b05936c25fb000581f02d32c22a15ed9302a7ac7bd48287f019d3d9052966cafb4a6f731f5673cf65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f7278cba8aa6152c851837774e7d87493b55a4e677e74b94a1a4c7dacfc45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038a37e84826a3070554892d2148663df1500e59cec70437eb4d09e4eeeab23034030e8c45660ec7cb4c83b972084e7045e8e2ca8a57fd8201eef1821896f870775f00581f026a750c281dc7bc6725d5932945543baf1d2e4059b1965113df6c4c6e8a0b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0274ba2ae2cf45265014e1f283c23535b365583b77e4840855f5eb1f0354aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c3ab1fdb560d89ace16abf31f863545ebcbc6e92186f93abb8ea2787ad3f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ae60037fc42aed71c345862b18b1a820bb46a3b254163d6f664ba22956d4d0881e20d4039e3876ce02c3d9f6cebfe81dae55f98dc7792f775d497e708bb03779dcee2a2103dc1ecb359850335e527b63b2ea7a2f87745a33416404471d457d698f16415f790346e9df7e1546b0136467101d54eaf5a88bdd135719b7fe201146f32624735bc803e81e0dc53f867c6733c0294a5c771b94fbf6432ea7ba025885ed55ac9702116f03a93b90b69f95bb91e796fa68977296cb2413732005a02c2eb6f5e87db63d4d2b03849d5efd2ad17523ea67df909b4482c0b8085f6498a2b017914e82888274c702033206c958f037447ec5c869098c474edbde60cd77726ca74ecb2489b1ebde86370318f636cf15fdd5f05628ea0c48ccacb6c6f29dfab3cbea643a6e32991cba2e6a03f4f55cb0baf06370830d47949d1def99984e6a46add31b732bf88d97c0c1288a03e237fe548e49c09e0ff324ae956a0a7f3e4acb6135e4ad63839a9b31d41df5ba03ce6fa407243251fbab75f645f39707a6bbc63ed398a1a85ae9c6258f309e4c8a03fe2c1e26b458f627ba61b038e55f2d0fd45d3038ef709798b3107833745b37ef033e0130e34185cc1e2df3a4dbedbd5893d1cf6d42c5e7ffda46c4463624ef682c0219ffff03da1a5e3077964fecbacc483aa22f1c7242b3d0fe2fcc552f3c9a5125ed8f372903c90867ca4b88f1dc1c2efd5bb87ac6c3a3539aa9ce55e9ced317f6269fddf5c303ab41373d1622ac96add5bbf076b0737424eced41eb6afc6fb9711451a9e28c3d0371350f68639a9c3ac0b02377d1f7f015e2a2e80c02f7d737db89336f7e6d3b08035b4fa70be3880d0346225d19d615b8f550d3088ba2c00327c469e84aa37744be033dc7fc4b3d8a585d11c9c4c46bfebd991df0da37a71cefcc00e56bc5742c4a3d0359427b27a3283356010d5301e8d097dafd2b7c8073b45e3e5402cde9f05c7b8e0351c98650d0ad2e1a85e2c90f01fbebcefb883ba81fb21769240f8ec8e230b1c703b72312507665889ab47a0d6d35688525045ec7e0d0a6f42676bdd2fc251674aa03a214bd3e9d3764aa7fa0c08fe8b77275fbe21c96615524116948b50ff9eced5a039216ece8c5ae764f9eef67d5f8c571779c1d0373b6e75301a3a1e1ec998374e903dcb9a725076ee41d7fc4660610d7b57e60d689f3fe8eacc3685836362adff30b036141a3ebdb1c6083672c11d683d6cd1ab7373991eee6dd6be82ef793fe75c8f40350da5a54a8766a41b6b3689087233c4dd69a9de978cd06832e3166df4d80d19903579879691b5da2ae2598284aba1e6e50438dca4f4e88b23e19c14b41e0ac8482034821eb72c046e7139bc60f5fdc932e143f7d4c7b6ad187725f5f490a50b6beea0399a297cb758736b47cb6198a4da4cf67a0221278a55d44e3f375cb23fdbb8afb00581f0271693ea4e0bbdbab6d158ddba8ad73783e1834045ccead6b30c0fbddf8d54b012647ecdb202a9cfbc11500581f021f09662f6ee4883f8112a74b171b5e2f5ffdecf28cd826071d266b2213724a023148113a9ddd0297bf00581f02db80faaefadafb12041c15e9c3184d578cf6e9e425c8c5529242d56b44f24808330b059446176a00581f02a713978a4b60c9b3efd5440a98a8f64e567c80365a166d9975a826650bcb470f6c8052fb94ab00581f02352abffd38874353b29d6b782ffb2d901bfd618588e2c712e90c4bb2c66b46035deb47e03100581f024db86ee4d2ed56c0fed0533f84418c19b812b6a32a41caf5d937586c0bf04b02156f453638ae3274c98200581f0271212d2b180276607b6cf3caa0512d74208a91de3032c3b31ed088c108075820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020ddfce931b0758a5439be5a4d7c0655654284ce3120fd3eabb8196e56f4b4a447ca38a9c79d17f1bc0021913750219ffff032df92e604de2e63267e64a6254c4741d62c6276447af66957948e7ff80f3534e0219ffff03b251dec50646bcfb7d4845f4cf9839cf2fed06a1aaac732d2d7aef94130b2a9c031a8f5be2f7f512f073758162d0ed28a7a739a019a9ce94b1c2d78e915ddff1ac033d23caf089e5d48f7b9844e0be72bd7c10fcd483c8890c480a28cd16376cd55303bd593ac9905d2a5ccf75cfc734b047f1625c3c92662725f9b7c728b2b955b880033db42618515c110c54d4bd8c41988f749c36f159582ca627dbca45e76dc4483903ad2d289637254b99a4af85b4c39492d5b690388dd7934d05adae00b7ebd2ff7203907670301a5a942de00ffbe3e50d80d126630e20c1ce15b150f5b2e7d6bd810d038d5480d59bc9cc3e093592db0000628c9397c5d1c0911f9aa575fe35da77ae00032e08829992b0dd839ec3a75deca2194dc36b4c68300468c766d69e1376773fe303b88a1552ea0d01451e2971da747c3bda7ffe655e8cd8a344f50e45b42b2ef0fe0347cb1ddf19fa776c6225e85b1951d384efe1a0e17f16bbac5ff44ae69eb4de220352c1918850e7718a8110560979aff00159aaaa17f14a49af7264ac0d6862ce1e03a99982c3ea1afca26c13d3b5bd3a498609bc22ce040f8d773df002f86d71236703e91df099cc492531f4579b53d27e08885c5adaa3c4b96322c7043e05e5c553cf03890e916e878a4ee3a327c0afd47ce0602eab2c7de84a963d142b97da54acade7039bf49622d3fa2b899e9768ec8ee426b8043df2684485faa825f64667566837f803ec256ca5e4f20dddb281a029740555a3b2f62efda58a8608c5aff6c98a045f0d03744c4534e909920d1399d6a0ac9fd641ed23d80329425e02ac706a56c31f795003b083552f0acb1a69f2bd165e063fbda83b4a61e316ef1b01bef6920393a331f803ff7854222476c002337c71ab922e998e05c11847c169a3b133c63702448f7af90387c95bd978602291fcad3f8153a93313777161f827275c532898dd7f788a4fbb03cdcd7bc30b4d7af9c5eca8258af72a77609f73843d74f19dafb2e9317e24f59d036462dce1c61611c592896083bcde0c38141ac5dc691ef922217738413d2fe260037c29bfc191bec38b6a6dbdb295d480c33194e3ec85f1613c47b3472432e9852303eb024e37e79aa0be3c9d2205660be095eb53b8ffabfe06e4eed7cb2a1b9fb188030836d4b00d57932a0b519d7f6b3d76aa7d914842de24726e11228e016c8d13d8039db91a7e0d3a91d32ee776ab19e32fbc1d7745f90d6da37eafb3043a3e76057b038d76ac6792e6d03bc86bbbef59551c5d825509bc92b03ecc5947a9212caaeb4300581f024b68bf0ae36d89a4563f7f77715c26566423073aee0755734d5f129b65a8481774160bc669000003fcf38a8b94c1213f9965dca0895d24529a4b3c71dcc246a835a602a1b45da06d00581f02f22fbd9d1bd613652d3d19ec4235282c3ac21d6c93a0f4c8df16f984ba075820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b7f35c8642b21c91864861835e3a6039f77f642ae17b8466463266ba6e1b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0337a0293eca1fae9dcca8ec5f3831d646b13411d4d866781d156c62981c18aa1e00581f02ddba4d67d74f3922d785547a1f7bb7a4425182f37bf7497f01b495e5cd4f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ba4a49ab8305ad3beff1ce386770240486b9a8f4d3d0686a6c62330843f55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ad9a1e5b48cf7199fec0fa8b5e8a3f4c9676ab469dad0606b91daf8522ce410102199fc103cb5d7999ed703547ec4217df7d1d206a3451f88add432e8d4d37def95870ed050219ffff03f937fc8c5b479a6c03dd097af3301fa943a87394d75f7a55c28d822bfbf7704e03b4a74105b81038cd6feb3c9db34a51950268dd59abb614e4f82bdeec28d38035031f105da0788f18c20b778206928a6cd94ca62c9353c5a5f3dbc749fbb2e3dae4036b2d3f461b319f94e717809ace393eb9f898fef39a3731b408c0dbf225a1e5760219ffff034fef94de7a263e6f27855ea6cec7b14d8f3aaf0b7519f9d0742b34bd24e85183038776f83277da74a75f0be82e3626c3c999ef5882f171d1db574439aaf6a45562033bbe4895ee4f52f7f9055370632b740f23c0b36d3276cfc5f686c5607522b53303749a744aced6693275aa8337609c464895701bd3b525d84323318c6c981754c30219ffff05581d021ba05d3dd72867d919166082ab737afbe4c36f6341405ad52e70f2630701191d1b0218c0031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e030fe60d1eda46221f3d126afc6cb6b202cc348032d2ddba2e0a66e976b007011bffffffffffffffff05581e035a467956e099fcddd402db752aeaa37b7d90c7cf66c98ab0f02aabdaa00402032799d5211c6c47212b097ab5772eef1da34dd73daaa3520cdc4d25b7356cb16105581e0393c789de707c336652d7aa2583c91b94bd18020a17bfeff8c3500a88000c0347013d1cb8bbb69803b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03cdb46c8161fe48ed1f9b9792479984a7c6ba48b6aac89a29ead7ee716007011bffffffffffffffff03877dc10da0a75a04da40d385919ee4c8c9fd2ce5bb4e1e3c9cf60f17fedb129205581e03c2e3be3584a73d42e5a1a8b56455caa4ae35241d4b4124ec7cac06df70040103e0f4f3ac4a0b2e84237f55be51db5ca4d4ade710bcaa00f7dd400a57b6382600014102031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0319519887b15f75ae4d00ff96ffe560d3cb2dea85be11e5c7e0cd05cbd007011bffffffffffffffff03ea3a18fd0950e2eceb58f1d6f0b805b797a227851523e96098b77c1552f07cc102199ff7033c7e5920209503a766eb61cf28ec7e61c3f5eb19b03084dc265f98385343084103cffb409ace755a735783129119249a1225b69b88181caf4fd14ee0f7553936a703a44f44a96ebdcc0f5a2501d836ae789879c6a4a972ee0784378693cfa7f5caa40219ffff03ac171b92d088ab70d1ad26f056dfd7f2051a2216a2344b535f0b7f56e67d680903f4ddfc56493ad3fe04dbd769a64c2ca73f913faaf6c495870c555b31774157ee037e22ed555734a8258a2a62e606c6976361f4dbb1f5d4bc81a61aff453ba039ae0219ffff0391574c9863fb5f6e88c6831dd9b68457453bf529f60e49924c5668ffa18a7e3603993a7dd48f1fa57358980c26d2ab5b7709b9738c7d7cc215254fead72cafd9a6035299f9f09fa4ed71729012041415e4f1a2f9d6b281b97411d0c59cf9c01dd3b003a324aae21d34c7e18f39c4d4bcd0844f280fc60fdc0d1f332bdea98063c3784c03780fcfcf66fc5917beaa312910f7b748c792cd3fa6772d1f74c1d37ab455958a030733ed5e7f87954ab3fcb7a8d4c1a141b40ae93ce1f4b71725f0f18fcdb56d0703a632c16db86592fc8a74fd838cfc85022ce3abd8e20d51cc4ab77caed2f0904803f6be13dfc17145ac45c1d126186898a216448a596bb36aa98a8ad103a379176e03235f32db9885f90fca5c4d694aeb2fbdc7ee87cada7d6a010d0e08bf4808083b03ff551b9eff7bf1237018941304c8653c41177cbe31199dd703aaeb6bf8072a1103b31ca2520ba5a92dff3d38797a8a10c43de9ce6cdc3242b21526aa39d6e765040219ffff03f5ab694dc0362ba1a920b6c69a7ecf66514ab9458e825ab9661dfbd8b9fef92803bb5049379e7d540e216252a945f583a96235b076f14e670e2d667d4bd94b394003b931a7adf28749064ecae87f62530c0201ed50634eaa2aa946045f40e1d89a71036ab0f2651c2070ed589e1c63df8e4212b0db15aab8b0a1ce2f21655e9db91f4c03aaae7ecd2bfcab3d60cd6f2ae76623c9f4c585066f3d95b65f9b0ef4e09fa59103a0a4d08c08862681433bacf73c20ac696dad1f4872f906adeffbb3e5f781e20a030392960efe325fcd6a03bc1df72837ca04b6e2c7ede8b4ab2d9ae5f00173977603f6d65650a537a36168ff30ddc556b2093540e501d136b4e782fb21f142bac1250383edc42f0a787cebf2d5cc649c37ca1c48396f467b5d35ebeda6a3c3a84d6ad203fcc7f088a5ad42218dfeb285813221eb1e878a4cc2642b0caaf7a1c722e82500038d9ce8ce7a0b5f4e6d29bfda3eac8a93e6e287f620d4b67b6331caafb275f2c903a25dd7549dd0dc32aa96c669f87e37589084bde2f9ab6261b216d2ef8a150af1030cd81af99edd639cebf7a29162aa9a128d0d12bcea731a76fc3a720bda28622803180f71bb2e9a81faafbe00f4d33e4ccc096586ea027f7476bcdaf6d128e02d2903896c83b6d5e850838d93773589f2b3198afe7c43700050c0c0be6acabaa0fe1003b87e05202079e07e4b7a5f7d8edcdf5f25772d5a56dea92c772ddfe0e0c9101e0399ef5a82308577128f1d23a3f81987bddbde2730a5f0a1980fe04660564931df03967be33534d2d9c740443c7ef5499e0b4630215c30322a2661e036d45f3c54b703f49245774a655094213884c6ddeaa192a06d44e1b276cdc9591ca4f3f5896d75034df18a2ba897e703b4082809d318212f551f8c30ceba30aa1b76d9777c80f1400348b3da5cabb7940b58af972374d92d6b26019a1d453eee6fe4bacb6bd93f09f9035b78e44161df7e8687ae8afb7569d64fdac9e8757e723a1fd1582fa54e6eea4b037234bb1598d5424bd4446661756d03766db8a4290ae206e01f9cf637b30bed27032fc674c8beec473a06650798b0473c10b1cc978336309d404ead2e6ed19772c903c5faa3d8716eac13f44ffd6188f972fc60d0d620a665524001ef35c8782c78e303948be394aa68072c3652f1dd977792243687ca29222884a3ad2579a003b1aa230326a9e53ddc1e0e340a82fe23a1ac362c96ff3e9a1d074cda91197d6f3de1b413036d50332eeba5d12d79ffa1b614a67f342a774139b417c0fb0641d45ff3ca2fe0035aaec5395949e5c8313d5835719d237337e8736e52e3e7db3bd2455128da06540303c043bf1b835bb9217b386d78f0a5337d925b38c97690e0742bc52a2df06dfe03c0ecee6d527356dad94c69c009b57f967685a96f8bace91e9284ace5f9f93d3c0309b4b9f9be75dccbab14566e1ded6ed50f1975c3631c8709aadabdeb2a3be53e03cb504a079960abbf1c3a32ce3a1c259c02851f3776995d83efd19fa80e804f3803604a73396233954b58cd45c263f9d9c0db6cc4c7219fa8069150ce23aebf8f1b03a0829ccd160b2152dc8898028601a310e600f373e7aa502c05b64bb863c4eaae05581d025c25abe7747747ddfd21ce69a1370fbab54c3ec748a3d03ed1c657d20c01470b23b733de21000219080405581e03451c667f5d8ab7df7eb4efb09460411f5cc27f96b00cd3627e757bb140040103db1ded6dc9a14da59571ec1009e8a48e0f1fd3efc7a4ed0f238710d1a2a19f6105581e03f6d7ec5c48e4f55acfda767141559624ba5422b53a18b64fc407ede1c0040205581e03d50552a3b146b963e343bd91909ffbefe5f87831b258e9d4fa448b12200c014701f095880c200005581e036d06c2450a15d04963b5cb9d3702c8f1ee87dc77df62d0768f74486ef00c0446befffcc462ab03cb9a5b6d4d8cbe1ca5cb0942ac47ac2e946397cba28edd81fbd2b175c0e0af020351dd7ab7a086e81bd793cfb8a72de2dbce5115870821521a572578f43841b083021935c303993b1db31428fd40f7d9370b52bd2ecd8b61ebad11089f2793bb98c555310157032c14de8668fc1a0c9835bf256d655daa656dd0be50a798f39cc3f473eb753246033a9e7b2c049fd8362e149c232bbd122361511ddeac3a7d508dc0d5c5483901df0373921614e36df1dc3287c8a6a993919a7663bf38f37ce7f7cf2983269f8dfae40219ffff03df147d360407dadcd1370fad4b991e09de376e6b8948223cc7ee16b91f5fc21a03bccdf792f473ff2ae1e917da67668fe0af53bcf58f6366ddb6fecd7a572cf4e103f3ebe6e478f047e9d9d46908b4189a90f5a8d771190cb9636345c1dfd234eccc039da4ef22bb07fab236b41c917e17c368bfc217509a14957d3ee17af50ff3abb00377e173b1bb81077cc18f27a6f476dd0ff5fe19d4f70de3c81bc8cb59794e5b390219ffff0359137c95c158b1eb85b9b67d48ea14eefbf7f7c65876f32833db6dc70025e38803fa2846b3602d4ea737ec691f2c24cf8781aa71c54ba1ba892af0d3aecf57e821031f3b97ff0b7c2c0331d70c71c218c319d822e896409f7d762273fba5a94fcf0903f767ca7875c7846446b9cec146e0b6cd89f9e49040a3eb189e15b676a887384103e0074e1c3ec8e049483c5db486bcba7e8a0849f5002efe5247537504009feee103b08b78608cf3453741a70539a7951bbe9a0a39c32fcd028f14307f29594bda5b03d514234b516605c090607d3d88654d7c1b3cdfb007cd4b0812adbddf004f1fe10398ee9de33d9075d2b2a17474a53bb2d35163ef353ba6b48c5a612129fa832214035914c0053e46be051c7461889c840813123f785a5c456d6b752dd57b0a1b820c0219ffff0360c80b57bb50b9448b830c658ff28e887e6c7b84f0dc593a67b53a421c549c890333fd45c36b4497c4f03c4b90aec196dc1381f731f23361195555159d5d767638034f50eeb59bd6063a6f78d48eebca86263f5793ed849850adfce1e30326b42b2303fa9c0ee78de427ab0140a7af6506ff30efaa880210362ad9da79a0fc98d191a00219ffff0355dc9eb8b452d56e720e3807c026031e2794a92c5cc83888723348db466849e90302e5525c6e7f4f731a85e0d5974863da06f91c4ae9219856cdfc628ac5f78c3e03bb3664204c9a4d781a2a7ad427791da087e215d32de43ec147db23e3d026b428033d5c2ced6635aa3b91af112e3e6148eb9f606520d5c6c0d11dcf0ee64e33bdc903bcc7143da132e7bfeab7616e6fc19bdfb293042424dc70ade190e4e2ef15a45f0315a029eeca46c97e5f4ccc09ba3f21304a92d5bdabef478a368de75676b541a7038eaedaa24db9e5c7476622aa3c5637f526175c7b0fa3122cfa8efd39aaec584c037346bc84dfd3a83277ae34efec27c12cc610209ec9bb5f75bb4eec430b2058df03ad6d619b7a044fa6848c3fb7f2903d0dacbb7464892bf48e36fc75fa34f90e8c0355c8a12d637f4e37fe7cc24f1678c7e07a0f00c2cc29944f4e552279362322b4034fd1df5e7ab924c7f919076ae997c26b99b3e91760dd4aaed8d1b2db0dee89b703794a761d0078bab20c8674956d8dc56a40c9aa501910c94bc60f6ffe0d140dae03aada3db3dcf7df4224c7110348f8d4dff6f424a3672774620e03c09c0f3f2d9a037f6acf692fba4a3f1e2c2786777c079cd0a7a686027ea49e6f681f089676a9c40317b4cdcf87e22c41189f9641b22b4ae7e1f773cb85c3b4123073ae0192336ea703df920b629a41fa10fe40d9ecf89f7800cffe0ee1f5a79bf4ef3567efc07fb3da03bb69e81e22482dbf1a3a1c0c6c574ab352baff212a2cfce6fdb7bfbb9cdaaa47036d3694ba49a73661800328bf4e8d3c247aac3933c998a2fd0000a8119b25439c038666ee3705583bcf941868bb30fa0fa09cdd547aa970100974a55c011b3cf47503abf00c108f1a502c5654ee5f1f5e3f76f417aed80ac02d945f4b971078e461da03fc1545af7509b651b49261bc35f75d36bbbb695c4fb8109432d1118568bc28a603ed523973ec28aba35b19acccf41e2971bed4fcc029cdb1ee5a01b8f94f7031a80367df1ea430a55a919ed29ceb033c77e3ce01b1f6e9933bdbcb1b63beea751850031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d026cfa4176c99360b33df10ffffd41a8138971d449f8c6ee8e4b46b58c07011bffffffffffffffff05581d0270ed1b170d8394d1640ff3b5a529bfe69052682fd1b6e1161c29dfac0c181e482aabe4772de49afa02190c0003bfabdcba355f51c0d8a704effa522e279f7f498ba55f3b138daa40f1794cf73203f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03041a5f425b9733e7c6da638e8fda3cec83a8714f6dd17b8f870f56b8a007011bffffffffffffffff038344e1e8ea93ec6b7a7409bff44063888609c807aa75997ab5850dfbd86f97b3034f210ed8ca67be8b93feda688a627829f86120613ac0bee74cafd64ddef10cec05581e03523152495fc73aed6f2131599a8b9f3f60d27c6266df5669dfe9dc87100c054734067b33472a0005581e0312c84087332d7148f95b0d7eaf1c59d542c6f4a90741ba9d52df4bc3600c014702f9ba1d1688fa05581e03166d79470fbaa05dd79a39cf0b83ab0e7ba5076d4237bf7f8fe849ac500c0a470b07f9edd62e7705581e03f5984dcf56bff262cf9ee18c635ee7ef44334f71a1dbf73ae71c27f7d00c03471be661500664000323831b8a715a96526b5fda9f7b3c2f4935cebc4401eb3c56ef0109a94e6b636405581e03d8995753752a8d5dfdbf7f15a26d267e2cee49c915ac39593b55a579300c02442faf080005581e03a24d5e83b3f967f15282f56b9d7fb33b943d1e068edd02b287d3f797300c0246749e9689bd000219fbf2034a7cd24ebb6fe75d95a06a84224799677d9c6225573913c355edfb88bcd3101e03877bc48504e3d392f68e5fba0d9c8e362f4e13a6cf490cf91201d3bb82c7c4c003af95c4cf6f5a47a0ab775a4054a144ff7ec7fbc026f8c53dbd1fb502875cf636032cdedfad5dda956902ac864f269b501acfe0f5ff404dd28759bc1ca55300a56f03379c3084d2cb82919d0707d6c15383dbd2df2dc52e8ffd8c7de26fa903847c08035e5cae688b16aa4319f68ceb58aeb72a1a376215bf53e1f24477e69de1957a9403c1d30e5c39171574c040270a3ec26b3c099573b3669840e64e318d6429eb1d60034f3b4c2d1449e612461f42ec38af86a0103ae5d4e33286831648cc31b7248e8503ee0c0b69f088d4de05635cb416bf11d1a428cca6c419cdd56161aa3bbe1f2601032c6a8fb7fd535f8411c9dc9f97e83241a37b50cca6160ef069e519e784230e690331d374b4466f448b15db3d898fedb23cb208cb29ae2e09c0da1353d98617cfeb03659b76d6b277996224d9fb8b46353f3278c244bc9133edb49b07cdb79a93defe0219ffff03f8bcb1809c69f4409b3ebe32b8ecd1594d167af92be805f3cc221cd0a76b111103cacba5d14f86aeef07d9cc77b7c2623c0a2b4b51bf9dcf376db43b26b74668bd03194543817b0d5e6120ad96f5f985a1597dbdfda34015e4b7526212e980249d5d03bcdabe7ab4b1e0e192cb4f2df8c8d46bcf457e39f4112c314e55d17ea3016f3603808a442b3d90fb4f02b7159697f3f5e17379e465886e18c92127896a861faf990312f1fa0eccf72bdcdade668a8dc34cd85b6ce97d5851fa3d9659b81240304f2d0318b6d4d00d9f616c531ad09d2770b1c04170e7012c92f1832058b8841d8c7c9903f723df8ccb979e2cd3e9b993018d323f7c33fe99007c90db8b311bbc8b4deb1c03199522b0b1fa0fa7d091426975ffe5bb26ff56873af596260514ebd9ea3db3530219ffff0380fc07546450876d64b5ca4c5b002162ab179427acf086b15cc92f6ab3493a5b030692298d9dd598eaf8959c236074727627de79123e3cd7d275bfdd9b7ff317c103bef82d60e69a5111836ceaa8211adb08b2518469806b0665f997c53abebd0db20219ffff03827ca4de4c9c60ac969e2768c3a50e25c9dad4aa93c5005d8de32be2955fdd5d03aa458d6b325cbdf08ee3ee132d8414ed2323b56f7a5827a5ed25da52900ac85f03b7bf6e2fcb7e335ed70d637422097764be1078c7bc858d4cdb0d2cac3cd7d27003843c315ef9518219503319c3e554007f05f30943d5bcbac35c53e1a66283d9e60384c81fab6adc549c790f7a211ade0fe50f8a5ebcd481a8edddda302bc68e1d7803c82eacdf354a457cc61289741b35b2668a952affcfaf6de9b1572426582c62dd03b35ed0bacc9fbfb578e143a6064c370edd8047eecdf09aa6c5d458f3fca1bb9a03297519e98b328c3f9fbc587e581cce70f07823469c0f843aadc6108ddf861382031d92bb3f0105cd8155966f615054a1153eb862ff7aaf8159232819ac689cce2303973f413f1f269d060a9e5dfd70e77339a8de7bb871c015440bf6979625dbff4c0300926ed72409b79223ba37786c4918b7f517609c7a9cc83a27a304db6c150a2f03cdca63459285b30992a0a167ab4d25af3555b88126f15fc9e9211d95b715dd46037450e0f60d6f979fbdb6e7a447cf1784d37aba0087a6a4099b189220cd02cea60386fe7d9dae9692b29e8042551328797f8d69d726b7cb37f00b2b01fa9b18bf5203455ece11fdc60582443c29c7146c32f761b18cd0eaa27dd23cd4e1c02afac13b032cf7edc4b53b21e43ca4ca9258ffec0c7cf23483746258a34600c2058ab20f4003328adaea4454e3e7ec8b51f3ab981be3c1229e1f2a4808ba4b627abc856a3bab031cd958579703ee02b80d072b84afaceb4417223ed7395450ee98053058759bc5030a54d10c67a66b7e334618cde3f97c17ff483a787b18eadad1f7bca87a71ff4203644d593db103bba54406c06b54f497b1f86e6fec86df54c781111f851553bc1f037ebfc758e75939e086248e486775928eacf4b798e84d5b64e52024b25c91ce7903a04fc01d8739d48e2c25e6e4fe445f4e367e29842db8177a933171e381d5b8bd03b043a66601749cf887a150c191c829caeb411d7506f127069630b08d9ea1819e0304183619287be4f512bc6647af955076ebbc4c44bad91a623889c74c3f20dc540386778c33ad96d9af17797351b04d0d0bd5a17aa4b55ab80b9d1877ef9ffce570039b65a92a105ad2296012f95b2e1d5d2e18ea60682ebf08fcebdb9cf09539080f03a805c61ee6743c13b35b5873ca4f470b344412729021497a0ea3f5e876c4819803644c9aaa27873553b9bbfb78af1056fe95ce1a6aef858178cf93b2deaa2788df03f8e51129fdb0af9234e0758fc8b601116c043ec4f339ca27a57584682b34bb230315abc2181c480ebd2ce31f0bf0b54f77ce8681eebbe8ec67dcbfccd4a849081a0340a902e276c110621fe72a2bf1f7cd198621d31507ec84dcb06821dfd20cbca40373efd890884d1570479ff4b42bb79d470acf64107b307128b7f946ae45b1a3cb037fa7db3d480d557c5d9797e9aa4316b608a6f3a48e093ed40fa97e7e5206d9b804592f89608060405234801561001057600080fd5b50600436106101735760003560e01c80637ecebe00116100de578063af0968fc11610097578063dd62ed3e11610071578063dd62ed3e146104bc578063f3c274a6146104ea578063f630df34146104f2578063f77c47911461054657610173565b8063af0968fc14610419578063c52987cf14610463578063d505accf1461046b57610173565b80637ecebe001461038357806395d89b41146103a9578063a457c2d7146103b1578063a9059cbb146103dd578063aabaecd614610409578063ade6e2aa1461041157610173565b80633644e515116101305780633644e515146102c757806339509351146102cf57806351b0a410146102fb57806356d878f71461032957806370a08231146103555780637158da7c1461037b57610173565b806306fdde0314610178578063095ea7b3146101f557806317d69bc81461023557806318160ddd1461025957806323b872dd14610273578063313ce567146102a9575b600080fd5b61018061054e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102216004803603604081101561020b57600080fd5b506001600160a01b0381351690602001356105e5565b604080519115158252519081900360200190f35b61023d610602565b604080516001600160a01b039092168252519081900360200190f35b610261610612565b60408051918252519081900360200190f35b6102216004803603606081101561028957600080fd5b506001600160a01b03813581169160208101359091169060400135610618565b6102b16106a5565b6040805160ff9092168252519081900360200190f35b6102616106ae565b610221600480360360408110156102e557600080fd5b506001600160a01b0381351690602001356106bd565b6103276004803603604081101561031157600080fd5b506001600160a01b038135169060200135610711565b005b6103276004803603604081101561033f57600080fd5b506001600160a01b038135169060200135610768565b6102616004803603602081101561036b57600080fd5b50356001600160a01b03166107bb565b61023d6107da565b6102616004803603602081101561039957600080fd5b50356001600160a01b03166107e9565b610180610810565b610221600480360360408110156103c757600080fd5b506001600160a01b038135169060200135610871565b610221600480360360408110156103f357600080fd5b506001600160a01b0381351690602001356108df565b61023d6108f3565b610261610903565b61042161090a565b604080516001600160a01b039788168152958716602087015293909516848401526060840191909152608083015291151560a082015290519081900360c00190f35b610261610940565b610327600480360360e081101561048157600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610947565b610261600480360360408110156104d257600080fd5b506001600160a01b0381358116916020013516610adf565b610221610b0a565b610327600480360360e081101561050857600080fd5b506001600160a01b0381358116916020810135821691604082013581169160608101359091169060808101359060a08101359060c001351515610b14565b61023d610cb4565b60688054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105da5780601f106105af576101008083540402835291602001916105da565b820191906000526020600020905b8154815290600101906020018083116105bd57829003601f168201915b505050505090505b90565b60006105f96105f2610cc3565b8484610cc7565b50600192915050565b610100546001600160a01b031681565b60675490565b6000610625848484610db3565b61069b84610631610cc3565b61069685604051806060016040528060288152602001612e6f602891396001600160a01b038a1660009081526066602052604081209061066f610cc3565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610f1c16565b610cc7565b5060019392505050565b606a5460ff1690565b60006106b8610fb3565b905090565b60006105f96106ca610cc3565b8461069685606660006106db610cc3565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610fe616565b60fe546001600160a01b0316331461075a5760405162461bcd60e51b8152600401808060200182810382526028815260200180612df56028913960400191505060405180910390fd5b6107648282611047565b5050565b60fe546001600160a01b031633146107b15760405162461bcd60e51b8152600401808060200182810382526028815260200180612d596028913960400191505060405180910390fd5b6107648282611145565b6001600160a01b0381166000908152606560205260409020545b919050565b60ff546001600160a01b031681565b6001600160a01b038116600090815260cb6020526040812061080a9061124d565b92915050565b60698054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105da5780601f106105af576101008083540402835291602001916105da565b60006105f961087e610cc3565b8461069685604051806060016040528060258152602001612f2f60259139606660006108a8610cc3565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610f1c16565b60006105f96108ec610cc3565b8484610db3565b610101546001600160a01b031681565b6101035481565b6101015460ff8054610100546101025461010354610104546001600160a01b039687169794871696909316949193909290911690565b6101025481565b8342111561099c576040805162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b600060cc548888886109d160cb60008e6001600160a01b03166001600160a01b0316815260200190815260200160002061124d565b604080516020808201979097526001600160a01b0395861681830152939094166060840152608083019190915260a082015260c08082018990528251808303909101815260e0909101909152805191012090506000610a2f82611251565b90506000610a3f8287878761129d565b9050896001600160a01b0316816001600160a01b031614610aa7576040805162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b6001600160a01b038a16600090815260cb60205260409020610ac890611417565b610ad38a8a8a610cc7565b50505050505050505050565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205490565b6101045460ff1681565b600054610100900460ff1680610b2d5750610b2d611420565b80610b3b575060005460ff16155b610b765760405162461bcd60e51b815260040180806020018281038252602e815260200180612e97602e913960400191505060405180910390fd5b600054610100900460ff16158015610ba1576000805460ff1961ff0019909116610100171660011790555b876001600160a01b0316633018205f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bda57600080fd5b505afa158015610bee573d6000803e3d6000fd5b505050506040513d6020811015610c0457600080fd5b505160fe80546001600160a01b03199081166001600160a01b039384161790915560ff805482168a8416179055610100805482168984161790556101018054909116918716919091179055610102849055610103839055610104805460ff1916831515179055606080610c75611426565b91509150610c838282611dd9565b610c8c82611eb2565b610c966008611f88565b50508015610caa576000805461ff00191690555b5050505050505050565b60fe546001600160a01b031681565b3390565b6001600160a01b038316610d0c5760405162461bcd60e51b8152600401808060200182810382526024815260200180612f0b6024913960400191505060405180910390fd5b6001600160a01b038216610d515760405162461bcd60e51b8152600401808060200182810382526022815260200180612cef6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260666020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610df85760405162461bcd60e51b8152600401808060200182810382526025815260200180612ee66025913960400191505060405180910390fd5b6001600160a01b038216610e3d5760405162461bcd60e51b8152600401808060200182810382526023815260200180612caa6023913960400191505060405180910390fd5b610e48838383611ead565b610e8b81604051806060016040528060268152602001612d11602691396001600160a01b038616600090815260656020526040902054919063ffffffff610f1c16565b6001600160a01b038085166000908152606560205260408082209390935590841681522054610ec0908263ffffffff610fe616565b6001600160a01b0380841660008181526065602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610fab5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f70578181015183820152602001610f58565b50505050905090810190601f168015610f9d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60006106b86040518080612e1d6052913960520190506040518091039020610fd9611f9e565b610fe1611fa4565b611faa565b600082820183811015611040576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166110a2576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6110ae60008383611ead565b6067546110c1908263ffffffff610fe616565b6067556001600160a01b0382166000908152606560205260409020546110ed908263ffffffff610fe616565b6001600160a01b03831660008181526065602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03821661118a5760405162461bcd60e51b8152600401808060200182810382526021815260200180612ec56021913960400191505060405180910390fd5b61119682600083611ead565b6111d981604051806060016040528060228152602001612ccd602291396001600160a01b038516600090815260656020526040902054919063ffffffff610f1c16565b6001600160a01b038316600090815260656020526040902055606754611205908263ffffffff61200016565b6067556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b5490565b600061125b610fb3565b82604051602001808061190160f01b81525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050919050565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156112fe5760405162461bcd60e51b8152600401808060200182810382526022815260200180612d376022913960400191505060405180910390fd5b8360ff16601b148061131357508360ff16601c145b61134e5760405162461bcd60e51b8152600401808060200182810382526022815260200180612dd36022913960400191505060405180910390fd5b604080516000808252602080830180855289905260ff88168385015260608301879052608083018690529251909260019260a080820193601f1981019281900390910190855afa1580156113a6573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661140e576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b95945050505050565b80546001019055565b303b1590565b606080606060ff60009054906101000a90046001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561147957600080fd5b505afa15801561148d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156114b657600080fd5b81019080805160405193929190846401000000008211156114d657600080fd5b9083019060208201858111156114eb57600080fd5b825164010000000081118282018810171561150557600080fd5b82525081516020918201929091019080838360005b8381101561153257818101518382015260200161151a565b50505050905090810190601f16801561155f5780820380516001836020036101000a031916815260200191505b506040818152610100546395d89b4160e01b835290519596506060956001600160a01b0390911694506395d89b41935060048083019350600092829003018186803b1580156115ad57600080fd5b505afa1580156115c1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156115ea57600080fd5b810190808051604051939291908464010000000082111561160a57600080fd5b90830190602082018581111561161f57600080fd5b825164010000000081118282018810171561163957600080fd5b82525081516020918201929091019080838360005b8381101561166657818101518382015260200161164e565b50505050905090810190601f1680156116935780820380516001836020036101000a031916815260200191505b506040818152610101546395d89b4160e01b835290519596506060956001600160a01b0390911694506395d89b41935060048083019350600092829003018186803b1580156116e157600080fd5b505afa1580156116f5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561171e57600080fd5b810190808051604051939291908464010000000082111561173e57600080fd5b90830190602082018581111561175357600080fd5b825164010000000081118282018810171561176d57600080fd5b82525081516020918201929091019080838360005b8381101561179a578181015183820152602001611782565b50505050905090810190601f1680156117c75780820380516001836020036101000a031916815260200191505b50604052505050905060606117de61010254612042565b905060008060006117f1610103546121b4565b610104549295509093509150606090819061180e9060ff166121d3565b9150915060608061181e8661225c565b915091508a8a61182d876125f4565b836118378b612697565b8c888f6040516020018089805190602001908083835b6020831061186c5780518252601f19909201916020918201910161184d565b51815160209384036101000a60001901801990921691161790528b5191909301928b0191508083835b602083106118b45780518252601f199092019160209182019101611895565b6001836020036101000a03801982511681845116808217855250505050505090500180600160fd1b81525060010187805190602001908083835b6020831061190d5780518252601f1990920191602091820191016118ee565b6001836020036101000a03801982511681845116808217855250505050505090500180602d60f81b81525060010186805190602001908083835b602083106119665780518252601f199092019160209182019101611947565b6001836020036101000a03801982511681845116808217855250505050505090500180602d60f81b81525060010185805190602001908083835b602083106119bf5780518252601f1990920191602091820191016119a0565b6001836020036101000a03801982511681845116808217855250505050505090500180600160fd1b81525060010184805190602001908083835b60208310611a185780518252601f1990920191602091820191016119f9565b51815160209384036101000a600019018019909216911617905286519190930192860191508083835b60208310611a605780518252601f199092019160209182019101611a41565b6001836020036101000a03801982511681845116808217855250505050505090500180600160fd1b81525060010182805190602001908083835b60208310611ab95780518252601f199092019160209182019101611a9a565b6001836020036101000a038019825116818451168082178552505050505050905001806a0810dbdb1b185d195c985b60aa1b815250600b01985050505050505050506040516020818303038152906040529c508a8a8a611b18886125f4565b85611b228c6125f4565b8d8a6040516020018080606f60f81b81525060010189805190602001908083835b60208310611b625780518252601f199092019160209182019101611b43565b51815160209384036101000a60001901801990921691161790528b5191909301928b0191508083835b60208310611baa5780518252601f199092019160209182019101611b8b565b6001836020036101000a03801982511681845116808217855250505050505090500180602f60f81b81525060010187805190602001908083835b60208310611c035780518252601f199092019160209182019101611be4565b6001836020036101000a03801982511681845116808217855250505050505090500180602d60f81b81525060010186805190602001908083835b60208310611c5c5780518252601f199092019160209182019101611c3d565b51815160209384036101000a600019018019909216911617905288519190930192880191508083835b60208310611ca45780518252601f199092019160209182019101611c85565b51815160209384036101000a600019018019909216911617905287519190930192870191508083835b60208310611cec5780518252601f199092019160209182019101611ccd565b6001836020036101000a03801982511681845116808217855250505050505090500180602d60f81b81525060010183805190602001908083835b60208310611d455780518252601f199092019160209182019101611d26565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310611d8d5780518252601f199092019160209182019101611d6e565b6001836020036101000a038019825116818451168082178552505050505050905001985050505050505050506040516020818303038152906040529b5050505050505050505050509091565b600054610100900460ff1680611df25750611df2611420565b80611e00575060005460ff16155b611e3b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612e97602e913960400191505060405180910390fd5b600054610100900460ff16158015611e66576000805460ff1961ff0019909116610100171660011790555b8251611e79906068906020860190612c11565b508151611e8d906069906020850190612c11565b50606a805460ff191660121790558015611ead576000805461ff00191690555b505050565b600054610100900460ff1680611ecb5750611ecb611420565b80611ed9575060005460ff16155b611f145760405162461bcd60e51b815260040180806020018281038252602e815260200180612e97602e913960400191505060405180910390fd5b600054610100900460ff16158015611f3f576000805460ff1961ff0019909116610100171660011790555b611f47612772565b611f6a82604051806040016040528060018152602001603160f81b815250612814565b611f73826128d4565b8015610764576000805461ff00191690555050565b606a805460ff191660ff92909216919091179055565b60975490565b60985490565b6000838383611fb7612991565b6040805160208082019690965280820194909452606084019290925260808301523060a0808401919091528151808403909101815260c090920190528051910120949350505050565b600061104083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f1c565b6060600061205a836305f5e10063ffffffff61299516565b90506000612072846305f5e10063ffffffff6129d716565b9050606061207f82612697565b9050826120905792506107d5915050565b60005b6120a484600a63ffffffff61299516565b6120b657600a84049350600101612093565b80600803600a0a8401935060606120cc85612697565b90506120de8160016009859003612a19565b9050606083826040516020018083805190602001908083835b602083106121165780518252601f1990920191602091820191016120f7565b6001836020036101000a03801982511681845116808217855250505050505090500180601760f91b81525060010182805190602001908083835b6020831061216f5780518252601f199092019160209182019101612150565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529050809650505050505050919050565b600080806121c6620151808504612ab4565b9196909550909350915050565b606080821561221b57604051806040016040528060018152602001600560fc1b81525060405180604001604052806003815260200162141d5d60ea1b81525091509150612257565b604051806040016040528060018152602001604360f81b8152506040518060400160405280600481526020016310d85b1b60e21b815250915091505b915091565b60608082600114156122ad57604051806040016040528060038152602001622520a760e91b815250604051806040016040528060078152602001664a616e7561727960c81b81525091509150612257565b82600214156122fc57604051806040016040528060038152602001622322a160e91b81525060405180604001604052806008815260200167466562727561727960c01b81525091509150612257565b8260031415612348576040518060400160405280600381526020016226a0a960e91b8152506040518060400160405280600581526020016409ac2e4c6d60db1b81525091509150612257565b8260041415612394576040518060400160405280600381526020016220a82960e91b81525060405180604001604052806005815260200164105c1c9a5b60da1b81525091509150612257565b82600514156123de57604051806040016040528060038152602001624d415960e81b815250604051806040016040528060038152602001624d617960e81b81525091509150612257565b82600614156124295760405180604001604052806003815260200162252aa760e91b815250604051806040016040528060048152602001634a756e6560e01b81525091509150612257565b8260071415612474576040518060400160405280600381526020016212955360ea1b815250604051806040016040528060048152602001634a756c7960e01b81525091509150612257565b82600814156124c1576040518060400160405280600381526020016241554760e81b81525060405180604001604052806006815260200165105d59dd5cdd60d21b81525091509150612257565b8260091415612511576040518060400160405280600381526020016205345560ec1b8152506040518060400160405280600981526020016829b2b83a32b6b132b960b91b81525091509150612257565b82600a141561255f576040518060400160405280600381526020016213d0d560ea1b8152506040518060400160405280600781526020016627b1ba37b132b960c91b81525091509150612257565b82600b14156125ae57604051806040016040528060038152602001622727ab60e91b815250604051806040016040528060088152602001672737bb32b6b132b960c11b81525091509150612257565b6040518060400160405280600381526020016244454360e81b815250604051806040016040528060088152602001672232b1b2b6b132b960c11b81525091509150612257565b60606063821115612606576064820691505b606061261183612697565b9050600a83101561080a57806040516020018080600360fc1b81525060010182805190602001908083835b6020831061265b5780518252601f19909201916020918201910161263c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529150506107d5565b6060816126bc57506040805180820190915260018152600360fc1b60208201526107d5565b8160005b81156126d457600101600a820491506126c0565b60608167ffffffffffffffff811180156126ed57600080fd5b506040519080825280601f01601f191660200182016040528015612718576020820181803683370190505b50859350905060001982015b831561276957600a840660300160f81b8282806001900393508151811061274757fe5b60200101906001600160f81b031916908160001a905350600a84049350612724565b50949350505050565b600054610100900460ff168061278b575061278b611420565b80612799575060005460ff16155b6127d45760405162461bcd60e51b815260040180806020018281038252602e815260200180612e97602e913960400191505060405180910390fd5b600054610100900460ff161580156127ff576000805460ff1961ff0019909116610100171660011790555b8015612811576000805461ff00191690555b50565b600054610100900460ff168061282d575061282d611420565b8061283b575060005460ff16155b6128765760405162461bcd60e51b815260040180806020018281038252602e815260200180612e97602e913960400191505060405180910390fd5b600054610100900460ff161580156128a1576000805460ff1961ff0019909116610100171660011790555b82516020808501919091208351918401919091206097919091556098558015611ead576000805461ff0019169055505050565b600054610100900460ff16806128ed57506128ed611420565b806128fb575060005460ff16155b6129365760405162461bcd60e51b815260040180806020018281038252602e815260200180612e97602e913960400191505060405180910390fd5b600054610100900460ff16158015612961576000805460ff1961ff0019909116610100171660011790555b604051806052612d81823960405190819003605201902060cc55508015610764576000805461ff00191690555050565b4690565b600061104083836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250612b4a565b600061104083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612bac565b60608083830367ffffffffffffffff81118015612a3557600080fd5b506040519080825280601f01601f191660200182016040528015612a60576020820181803683370190505b50905060005b848403811015612769578581860181518110612a7e57fe5b602001015160f81c60f81b828281518110612a9557fe5b60200101906001600160f81b031916908160001a905350600101612a66565b60008080836226496581018262023ab1600483020590506004600362023ab18302010590910390600062164b09610fa0600185010205905060046105b58202058303601f019250600061098f8460500281612b0b57fe5b0590506000605061098f83020585039050600b820560301994909401606402929092018301996002600c90940290910392909201975095509350505050565b60008183612b995760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f70578181015183820152602001610f58565b50828481612ba357fe5b06949350505050565b60008183612bfb5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610f70578181015183820152602001610f58565b506000838581612c0757fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612c5257805160ff1916838001178555612c7f565b82800160010185558215612c7f579182015b82811115612c7f578251825591602001919060010190612c64565b50612c8b929150612c8f565b5090565b6105e291905b80821115612c8b5760008155600101612c9556fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c75654f746f6b656e3a204f6e6c7920436f6e74726f6c6c65722063616e206275726e204f746f6b656e735065726d69742861646472657373206f776e65722c61646472657373207370656e6465722c75696e743235362076616c75652c75696e74323536206e6f6e63652c75696e7432353620646561646c696e652945434453413a20696e76616c6964207369676e6174757265202776272076616c75654f746f6b656e3a204f6e6c7920436f6e74726f6c6c65722063616e206d696e74204f746f6b656e73454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c75696e7432353620636861696e49642c6164647265737320766572696679696e67436f6e74726163742945524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220a550c7e710a834abf9ce9a154f4725fbfc73871d5a3608839b6a0352daf70cbc64736f6c634300060a003300582103744428afe642b0ad6b78b8bd232f770b2593f420fb88b79e168d73e47d58ced04cff000000000000000000000000582103bde5fae56b73ae468bdd5441be4b6c0f21e12b692da713e0f172dd121369f1304cff000000000000000000000000582103d9562156f2e5a52b5f766a357f033e62283be337141ccb0dfa3bc3412f7d9bf04cff0000000000000000000000005821038efde446e8bc561bd2ce46597695af76e2ca51b0af59b052fe422f2960f124804cff00000000000000000000000058210341d6f8d8829dbe30222d37f6f55f101cec50eeb76467be96eac6a6d8216069704cff000000000000000000000000582103b7ee335bff312318ffaa91e7e0bd534fac5e0ac42911d0f31702866582f855f04cff000000000000000000000000582103bbd21c61a5fc54ba71f4a583118a843e7d103bb669b61a0e0d0c21ac273282e04cff000000000000000000000002191ec405581d0282cd8ffe81b862e5c8d01bb326d6ea98959d07602ccdae04f7f131440701192f89031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02e40d1bdc64526f31aaac5851235c60253fe9b04db1159acfe5be900e07011bffffffffffffffff0219080405581e03ed92296b7de908e569996a354fcddfe1767fef1344db7434bc5b686b800c01470186b442c8bbf703562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0319697a358f9cfba5f51ce6fb7ade269af529571179f4a9c6e6c668055007011bffffffffffffffff0330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e03ab87a1398737a92011a41d53621fd47ac90ae8ac04dd097988f5a7f79007011bffffffffffffffff05581e03105771e74c8257d95ead0e899b495a35e2b8c0bb215c444e97091786200c18544703223daf9262dd05581e03887156dffe33285cf34b0f8241df942a269e130d0fbd2a5f58d39cc280040605581e0362264666fd61206f71f04d9ddcd8aca914001e38e404e0eb42088c11e0040703ac22e6955dff1b2ef29e56ec6688da84bf4626a15ca20a78d048228fa42b2b8f0382867c67a304459d78fd11d50d50eb7600ef260d43741e26b2eee715e3c0cdda05581e039ca8742b8f588a2987deb68d43f590f89f6b49b3cd510374a7eb22aa200c024712b47d56be1000035b7a67a50a40a40d2e07d8be92a78875da5ffc9ec3ffbe2b1b3d78d39066bf5b03da38042ebbcaa80b3fe2967c3a0361dd2a0796abe3336233fd743e170823f06405581e0301fcdfe5bf3a63507096a2f182186a7af0680518a577f9975c827d73b00c01470206eaf311a0940219bff503d2ad4837c2ce3a6f6555a044fd57d34ef03b69891c6049ac55b2eaf9795adaa5038b5c9191c64fc25446763414197edbf6f63195577a1bc692358e9a03e1a90937031ec5199f21cb1bacdc0ee77aaa1b8463dce8e4598a2ee3e0e542d4266a678fc60353bf1d68122554e0a6d1d237e9c4f5a388c322abdf3ed894fe3ea9e71a9d6c4303fdd6ef5a0404d67c90ea7e0c1fdd77deb445707d247729f2fb40f8259fbe0e6403c5353831c7c47e0c6d7fdfa312988b4980a8fc77f823fcf3e3782955cf494205033759a425717a591fa16960fb89a9fc1365eb59b08e6ada0041eb758906dce9ec033ef6fb50e1cd40f497e5732edbcd83adef6c1283266c69a4ec7b1ef14be5360d03d4457621cca568ffef6d435cb25f0981a18a1d87c2f3c842de65c767431bab5f03d4f87a21ed84a2b82ad0dd0baba07cbd383d293bcca6e5bdc6de862cba8399e303bd14d0453d821f4e01319b25db26de393851f6a58ba40c7306775547b9cc926703c3809659611e6c97986f5059d3b57e803ae83217ffbd610c23accbcd7ba5d0ac0219ffff03fb85c32cdbde1336642ab5996f6a7e68f48fd7b572dcf309f58c04e7c97acef503d05c5b9a6a116843f23d04798202c3c79ca6cdf377eb06106da27a04f6893ed603179867c823e7685a9ff77eb36c7057e00f037f2555282114705c0fddb2dd56450219ffff032607b3c25483f8b9dfad1923b4df90b5b702c379047947ed2032e7bcfe6d7de90219ffff030a402d1b60b7273d5cca8d70f6e8726307ca32915c630b5644e39fae7787555203ae2eb07911e06902a01789254ea57183563ef9c7ff965e6a74209c096985063b03144bbf17b8a200922dbc45ac2364bd026d2c3574a87d41bddf38ff47c6c78b7703599bb99a60db8fb7de4a405f25ce13b31b9ba67cf64dca3a3d7df9ed56647ac603cbb7ccc1b0b4feee78874b431093fa4a55dc591f39c5aeec5314b1d6c1c6195103a9892d191cb7aaad530fa0aee2cf88f9d28bdbaee14718e203b17208521521850391d1e2dea3004486acdb59b568f65020235040895ca31f70feae76e4f8120f150378fb8ef9ab639a60691d398e09739d29b16e8f7e9b1e109aca8edf40698529a40219ffff0219ffff037736b23583d0dd0fdc5e576210078ceb9e634fd4d5302d6e47ec94c70514c20b03030a982e6c0c87ce74c74453506418c0474f2492a346066a2103711f2554782903ca7d002164dfcf8c7129704ac86785067f54ab2bcaa287566186542a7deea66703dbc624e933cbed5a8fa82259101fc94cbb92bdf6654e64c33c88bb524a11a027034db88afef2530603af93eea432f12a42b8a398474b4209d401d5d2b88be3fbdc036302fae62529dd681b0f8f8668aed41cc930a4aa73bf6dd0b82e8c8b75139f5f03bc7030f63c719f70fd10e441729ee4a30eee5674dc9f4f4ab776c4d3384bfc7003dde763a08ba27347fe58bd5b6670c570cbaeda25f297a6307dab9a17e7b20c9a03d83b420cf11d62ed017a1ea623eed8ff27ed9f3c101f42b3def7893d11a3d8d80332ad516284b3c4e2815c74f6f7e8bb2841e679c2b6e8e86d950c14ddb373eb66038cca42c63154f8a754056dbc549c80b8d1a234435078f1ff6a49e8ec0db455770377f391afc763976a0ef2fdf8c7c36770bda981f1d9fb98bb819a57d53947c00703493c23df8ee67783bb5fab547ee2e8e7771f37ca5a00de698b610b49fff2865f03c337b6a1c059991e75a4765732bc53850388ef4852f9745fee8c0bb281bdfab603728cd82a1f4f30b9eae45d5354973fc0a1f32d79c4ce1aebfe947a5c1b473b6203a1bbf1afbd8b825029f334a0d1e1fd15b155bec25ac2e2899e64e06f59b99d9805581e03a87eaa07ae9e2b97f1cf093ed09248d7786e96bf51ae823288091c6ad00c014644364c5bb00005581d024ffce556d996a30ab6d911fa0403d4df2c70f9a527563db8c5487f650401045922d0608060405234801561001057600080fd5b506004361061012c5760003560e01c80638da5cb5b116100ad578063c4109d2511610071578063c4109d2514610546578063c816841b146105c0578063d5aed6bf146105c8578063daab4b6e146105ee578063dc76fabc146106715761012c565b80638da5cb5b146103f857806390c7204d1461041c578063a2a084d31461043a578063a7d20877146104bb578063b16c524b1461053e5761012c565b80633c1d5df0116100f45780633c1d5df0146102aa578063537ca579146102cb5780636a9150fe1461034c5780637656edf21461036f5780637addb5e1146103f05761012c565b806313af4035146101315780631d27050f146101595780632547d6b81461017c578063330227bf14610208578063344c41e314610229575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b0316610679565b005b6101576004803603602081101561016f57600080fd5b503563ffffffff166107c0565b6101f66004803603606081101561019257600080fd5b813591602081013591810190606081016040820135600160201b8111156101b857600080fd5b8201836020820111156101ca57600080fd5b803590602001918460018302840111600160201b831117156101eb57600080fd5b5090925090506108b8565b60408051918252519081900360200190f35b61021061095f565b6040805192835260208301919091528051918290030190f35b6101f66004803603608081101561023f57600080fd5b81359160208101359160408201359190810190608081016060820135600160201b81111561026c57600080fd5b82018360208201111561027e57600080fd5b803590602001918460018302840111600160201b8311171561029f57600080fd5b509092509050610966565b6102b2610a85565b6040805163ffffffff9092168252519081900360200190f35b6101f6600480360360808110156102e157600080fd5b81359160208101359160408201359190810190608081016060820135600160201b81111561030e57600080fd5b82018360208201111561032057600080fd5b803590602001918460018302840111600160201b8311171561034157600080fd5b509092509050610a91565b6101f66004803603604081101561036257600080fd5b5080359060200135610ba2565b6101f66004803603608081101561038557600080fd5b81359160208101359160408201359190810190608081016060820135600160201b8111156103b257600080fd5b8201836020820111156103c457600080fd5b803590602001918460018302840111600160201b831117156103e557600080fd5b509092509050610efb565b6101f661100c565b610400611030565b604080516001600160a01b039092168252519081900360200190f35b610424611046565b6040805160ff9092168252519081900360200190f35b6101f66004803603608081101561045057600080fd5b81359160208101359160408201359190810190608081016060820135600160201b81111561047d57600080fd5b82018360208201111561048f57600080fd5b803590602001918460018302840111600160201b831117156104b057600080fd5b50909250905061106a565b610210600480360360808110156104d157600080fd5b813515159160208101359160408201359190810190608081016060820135600160201b81111561050057600080fd5b82018360208201111561051257600080fd5b803590602001918460018302840111600160201b8311171561053357600080fd5b509092509050611161565b6104246111b6565b6101f66004803603606081101561055c57600080fd5b813591602081013591810190606081016040820135600160201b81111561058257600080fd5b82018360208201111561059457600080fd5b803590602001918460018302840111600160201b831117156105b557600080fd5b5090925090506111da565b61040061126a565b610157600480360360208110156105de57600080fd5b50356001600160a01b0316611279565b6102106004803603608081101561060457600080fd5b813515159160208101359160408201359190810190608081016060820135600160201b81111561063357600080fd5b82018360208201111561064557600080fd5b803590602001918460018302840111600160201b8311171561066657600080fd5b5090925090506116db565b6101f66116fb565b600054600160201b90046001600160a01b031633146106c8576040805162461bcd60e51b815260206004808301919091526024820152630544f30360e41b604482015290519081900360640190fd5b6001600160a01b03811661070c576040805162461bcd60e51b815260206004808301919091526024820152632a27981960e11b604482015290519081900360640190fd5b6000546001600160a01b03828116600160201b90920416141561075f576040805162461bcd60e51b81526020600480830191909152602482015263544f303160e01b604482015290519081900360640190fd5b600080546001600160a01b038316600160201b8102640100000000600160c01b03199092169190911790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600054600160201b90046001600160a01b0316331461080f576040805162461bcd60e51b815260206004808301919091526024820152630544f30360e41b604482015290519081900360640190fd5b60008163ffffffff161161086a576040805162461bcd60e51b815260206004820181905260248201527f496e74657276616c2073686f756c64206265206c6172676572207468616e2030604482015290519081900360640190fd5b6000805463ffffffff831663ffffffff19909116811790915560408051918252517fa715e512c9ea089998019d7ece21b384bb7161dc3caf500058fdcb05bc4232f89181900360200190a150565b6000806108d7670de0b6b3a76400006108d1878961186e565b906118c3565b9050600061091a85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191392505050565b90506109547f0000000000000000000000000000000000000000000000000000000005f5e1006108d18361094e8a8761191a565b9061186e565b979650505050505050565b6000429091565b6000841580610973575083155b1561098057506000610a7c565b60006109c184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191392505050565b905060006109d38861094e848a61186e565b90506000610a18610a087f0000000000000000000000000000000000000000000000000000000005f5e10061094e8c8b61194a565b610a12858b61186e565b9061194a565b90506000610a2683836118c3565b905088610a57856108d1847f0000000000000000000000000000000000000000000000000000000005f5e10061186e565b101580610a645750898110155b15610a76576000945050505050610a7c565b93505050505b95945050505050565b60005463ffffffff1681565b600080610a9d87611823565b90506000610aaa87611823565b90506000610ab787611823565b90506000610b02610afd88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191392505050565b611823565b90506000610b1a82610b14878761198b565b906119ee565b90506000610b52610b4b837f0000000000000000000000000000000000000000000000000000000005f5e100611a96565b859061198b565b90506000811215610b93576040805162461bcd60e51b81526020600480830191909152602482015263544f323760e01b604482015290519081900360640190fd5b9b9a5050505050505050505050565b6000805460408051600280825260608201835263ffffffff9093169284926020830190803683370190505090508181600081518110610bdd57fe5b63ffffffff90921660209283029190910182015260015460405163883bdbfd60e01b8152600481018381528451602483015284516000946001600160a01b039094169363883bdbfd93879392839260449092019185810191028083838b5b83811015610c53578181015183820152602001610c3b565b505050509050019250505060006040518083038186803b158015610c7657600080fd5b505afa158015610c8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610cb357600080fd5b8101908080516040519392919084600160201b821115610cd257600080fd5b908301906020820185811115610ce757600080fd5b82518660208202830111600160201b82111715610d0357600080fd5b82525081516020918201928201910280838360005b83811015610d30578181015183820152602001610d18565b5050505090500160405260200180516040519392919084600160201b821115610d5857600080fd5b908301906020820185811115610d6d57600080fd5b82518660208202830111600160201b82111715610d8957600080fd5b82525081516020918201928201910280838360005b83811015610db6578181015183820152602001610d9e565b50505050905001604052505050509050600081600081518110610dd557fe5b602002602001015182600181518110610dea57fe5b602002602001015103905060008463ffffffff168260060b81610e0957fe5b05905060008260060b128015610e3357508463ffffffff168260060b81610e2c57fe5b0760060b15155b15610e3d57600019015b6000610e4882611aeb565b90506001600160801b036001600160a01b03821611610eaa576001600160a01b0381168002610e9c817f0000000000000000000000000000000000000000000000000000000005f5e100600160c01b611e1c565b975050505050505050610ef5565b6000610ec46001600160a01b03831680600160401b611e1c565b9050610e9c817f0000000000000000000000000000000000000000000000000000000005f5e100600160801b611e1c565b92915050565b6000841580610f08575083155b15610f1557506000610a7c565b6000610f5684848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191392505050565b90506000610f64888761186e565b90506000610fa9610f95887f0000000000000000000000000000000000000000000000000000000005f5e10061186e565b610a12610fa28c8c61194a565b869061186e565b90506000610fdb826108d1857f0000000000000000000000000000000000000000000000000000000005f5e10061186e565b905087610a577f0000000000000000000000000000000000000000000000000000000005f5e1006108d1848861186e565b7f0000000000000000000000000000000000000000000000000000000005f5e10081565b600054600160201b90046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000001281565b60008061107687611823565b9050600061108387611823565b9050600061109087611823565b905060006110d6610afd88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191392505050565b905060006111087f0000000000000000000000000000000000000000000000000000000005f5e100610b14878661198b565b905060006111206111198385611a96565b869061198b565b90506000811215610b93576040805162461bcd60e51b815260206004808301919091526024820152630a89e64760e31b604482015290519081900360640190fd5b6000808661117a5761117586868686611ecb565b611186565b61118686868686611f66565b91508661119e57611199868386866108b8565b6111aa565b6111aa868386866111da565b90509550959350505050565b7f000000000000000000000000000000000000000000000000000000000000000881565b6000806111f3670de0b6b3a76400006108d1878961186e565b9050600061123685858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191392505050565b9050610954816108d17f0000000000000000000000000000000000000000000000000000000005f5e10061094e8a8761191a565b6001546001600160a01b031681565b600054600160201b90046001600160a01b031633146112c8576040805162461bcd60e51b815260206004808301919091526024820152630544f30360e41b604482015290519081900360640190fd5b6001546001600160a01b0382811691161415611314576040805162461bcd60e51b81526020600480830191909152602482015263544f303160e01b604482015290519081900360640190fd5b6001600160a01b038116611358576040805162461bcd60e51b815260206004808301919091526024820152632a27981960e11b604482015290519081900360640190fd5b61136181611ff7565b61139b576040805162461bcd60e51b815260206004808301919091526024820152632a27982160e11b604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b03831690811790915560408051630dfe168160e01b8152905183927f000000000000000000000000000000000000000000000000000000000000000860ff16929091630dfe168191600480820192602092909190829003018186803b15801561141857600080fd5b505afa15801561142c573d6000803e3d6000fd5b505050506040513d602081101561144257600080fd5b50516040805163313ce56760e01b815290516001600160a01b039092169163313ce56791600480820192602092909190829003018186803b15801561148657600080fd5b505afa15801561149a573d6000803e3d6000fd5b505050506040513d60208110156114b057600080fd5b505160ff161480156115b957507f000000000000000000000000000000000000000000000000000000000000001260ff16816001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561151a57600080fd5b505afa15801561152e573d6000803e3d6000fd5b505050506040513d602081101561154457600080fd5b50516040805163313ce56760e01b815290516001600160a01b039092169163313ce56791600480820192602092909190829003018186803b15801561158857600080fd5b505afa15801561159c573d6000803e3d6000fd5b505050506040513d60208110156115b257600080fd5b505160ff16145b6115f3576040805162461bcd60e51b81526020600480830191909152602482015263544f343560e01b604482015290519081900360640190fd5b806001600160a01b0316631a6865026040518163ffffffff1660e01b815260040160206040518083038186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50516001600160801b031661169b576040805162461bcd60e51b815260206004808301919091526024820152632a2798a360e11b604482015290519081900360640190fd5b604080516001600160a01b038416815290517f3c4f449c239ed12ed2ff24e3a05f1ebb510455f98d73bc8de65acc9acb9706dd9181900360200190a15050565b600080866116ef5761117586868686611ffd565b6111868686868661209c565b600080600160009054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561174c57600080fd5b505afa158015611760573d6000803e3d6000fd5b505050506040513d60e081101561177657600080fd5b505190506001600160801b036001600160a01b038216116117d5576001600160a01b03811680026117cc817f0000000000000000000000000000000000000000000000000000000005f5e100600160c01b611e1c565b92505050611820565b60006117ef6001600160a01b03831680600160401b611e1c565b90506117cc817f0000000000000000000000000000000000000000000000000000000005f5e100600160801b611e1c565b90565b60006001600160ff1b0382111561186a576040805162461bcd60e51b8152602060048083019190915260248201526314d34ccd60e21b604482015290519081900360640190fd5b5090565b60008115806118895750508082028282828161188657fe5b04145b610ef5576040805162461bcd60e51b81526020600480830191909152602482015263534d324160e01b604482015290519081900360640190fd5b6000808211611902576040805162461bcd60e51b81526020600480830191909152602482015263534d343360e01b604482015290519081900360640190fd5b81838161190b57fe5b049392505050565b6020015190565b600061194383836040518060400160405280600481526020016329a6989960e11b815250612135565b9392505050565b80820182811015610ef5576040805162461bcd60e51b81526020600480830191909152602482015263534d344560e01b604482015290519081900360640190fd5b8082036000821280159061199f5750828113155b806119b457506000821280156119b457508281135b610ef5576040805162461bcd60e51b81526020600480830191909152602482015263534d313160e01b604482015290519081900360640190fd5b6000826119fd57506000610ef5565b82600019148015611a115750600160ff1b82145b15611a4c576040805162461bcd60e51b81526020600480830191909152602482015263534d323960e01b604482015290519081900360640190fd5b5081810281838281611a5a57fe5b0514610ef5576040805162461bcd60e51b81526020600480830191909152602482015263534d323960e01b604482015290519081900360640190fd5b6000611aa283836121cd565b9050600083128015611ab45750600082135b80611acb575060008312158015611acb5750600082125b15610ef557611ada82826119ee565b8314610ef55761194381600161198b565b60008060008360020b12611b02578260020b611b0a565b8260020b6000035b9050620d89e8811115611b48576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216611b5c57600160801b611b6e565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615611ba2576ffff97272373d413259a46990580e213a0260801c5b6004821615611bc1576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611be0576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611bff576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611c1e576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611c3d576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611c5c576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611c7c576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611c9c576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611cbc576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611cdc576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611cfc576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611d1c576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611d3c576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611d5c576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611d7d576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611d9d576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611dbc576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615611dd9576b048a170391f7dc42444e8fa20260801c5b60008460020b1315611df4578060001981611df057fe5b0490505b600160201b810615611e07576001611e0a565b60005b60ff16602082901c0192505050919050565b6000808060001985870986860292508281109083900303905080611e525760008411611e4757600080fd5b508290049050611943565b808411611e5e57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b600080611f0d84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191392505050565b9050611f5c611f24670de0b6b3a76400008861191a565b6108d1670de0b6b3a764000061094e85838b7f0000000000000000000000000000000000000000000000000000000005f5e10061186e565b9695505050505050565b600080611fa884848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191392505050565b9050611f5c611fbf670de0b6b3a76400008861191a565b6108d1670de0b6b3a764000061094e7f0000000000000000000000000000000000000000000000000000000005f5e100838b8861186e565b3b151590565b60008061203f84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191392505050565b9050611f5c612060612059670de0b6b3a76400008961191a565b839061186e565b612096670de0b6b3a764000061094e897f0000000000000000000000000000000000000000000000000000000005f5e10061186e565b9061226a565b6000806120de84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061191392505050565b9050611f5c61211f6120f8670de0b6b3a76400008961191a565b7f0000000000000000000000000000000000000000000000000000000005f5e1009061186e565b612096670de0b6b3a764000061094e898661186e565b81830381848211156121c55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561218a578181015183820152602001612172565b50505050905090810190601f1680156121b75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b60008161220a576040805162461bcd60e51b81526020600480830191909152602482015263534d343360e01b604482015290519081900360640190fd5b8160001914801561221e5750600160ff1b83145b15612259576040805162461bcd60e51b8152602060048083019190915260248201526329a69a1960e11b604482015290519081900360640190fd5b81838161226257fe5b059392505050565b600061227683836118c3565b9050612282828261186e565b8314610ef55761229381600161194a565b9050610ef556fea26469706673582212208e270cc8b9ed862aff08292c5477a762ee0c58129d70edacee7b7f6358d1591764736f6c634300070600330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305818ff030beb0335432e156a0ee55bd87850eaad228e000007080058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60544585fe77225b41b697c938b018e2ac67ac5a20c00219080405581d021d10f7d061f70dd5b2422bda495f2f09acb3c2f9ca1462541e2c617707011922d00219080805581e036970d5e364b11f0c8fb7ae8da142912c995a50f66d8574cc74084c2ae00402037c410ed67600416dd9346ef417e59324c780e91a94d48d2b79c1a52857ad55fb01410103ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e0377be3b7668ebeb7117ac72003d9e2803e1c1178de1ac09bf67ce20d24007011bffffffffffffffff05581e0372c0768315e40329cfd6a6f62783512f5f48d1fdc2309c030cddca2080040103a47f3f85c01866726806ef6ba872d773fee5397c518e684480d25140a3ed1b800347f3874a90edcfe1a8ee6b2aa4a6bc6ee7c0c4cdf6902fd4c91fabe7906f8ae403ebad8dbef2863d721cb51afe22c803e5a99613016a17cf1d6f1ffa60450b144805581e03445dab0f49731828ed2fc302dc2fe094d3cefa2c2233516a2f170ff4e00c0f4701516cb44949bc05581e03bedfadb8a13e207a8907c225204158e3d93f92728cc671a6a53b6cdbd00c034701e291a8d68121021973de03d2e596b427fcc54a204af14a1d8141f06a0e10d1c3a64a12c59f16c4a1c33797039a271c1f7c78b511ea45ada5ce4340fa15f50ad50f89017a0d4722890840c16603842fbe0fff0f7771aa671c69f8e1fbd8e72a9f8dd999b105b8c195bc68fe45ab03a70e9d089735724388dccc6ee8fbdde19e05400ddcc0f860f5463991ca62b81f0219ffff0356ea177799c3c8a9b3f059e2eca79b0a21ef2088dd6b73235c7a4e86a0354edc032f188036466e236b970dabe11f7b9bdfcdb1f43946b3dfb1cfe34319d76c7d6a0368198e1c541d7ced7fd4c2f0c8aac8053f96471c6fd2190e8a0a80bd2c6bff180308b5b36f048e6c0b02716ddf1f49fdd9399b41b06cd45b439e41633fee9b3121035bd644f75c7a642ae939dccbafb1aa8c176000351f3c2a0dc7a8679b66d4513c03ba268c7b84e55edc4dc72fd319214ddce6e68dd757d5085f506a56c0700e4af603022c9aab3cb68d992cc3ae580651b08b93ab977a116bfb1b1a2f2ff77abaf86703f9af8caa697da1f7c1babd612bb7750e7edadccf4121740d89e3b6e3f8ec6589031b5642e6709de56d99f34c96123a154e93785e0f9b1346e226275eaa7139926803bb47f8d6a450364c41f801c2ed53aecd9d18a4cc08a841dc4f8d0fbbb87ef8410219ffff03b5828e1873caa355bbefb0f7c8f9e3cf66844729fba9118e00ef240632b80eae03040484830cdb0fdcf93840fd9056ce377d6ea7d78888a9882016fc9a2185b20903b915495ec6aa58432aaa6d2e96c8122d29d907f90130f90904a28c494056557303cac8cf082910496e37a6e4dece5001a1d7572ad16bcdfc7b232e9c463fcece9003ba264f6580835cde3b7b47731316d9453bcee7fe2c63c763496eb0990159a95103bdd4df828ece969b19a361043aab2f9c4a07fc7f4f3438c4f021482126b9268903c20a1079682a4e09eb071c31e6be36efde34ca54ce1f55800f39b6db89284c0c0310af9cc873bc86620ba5d685f91bb3c1655ca0a80806c600eab9a7237b46765f03946a0aad4d2fa66260fdb3628c5328ba64b39afa825d1fef57f1fcafc05bcca3033410cedc1c54de8991039f38575789470ef35ae063e401b9325b331d291c0715034cb1c35a23376b8b036a449c66dd0ac13659302b3a50727892619ca922c2297d03c0f0f28df2fef70ee711ec9debb67c1bce6ef009389fca6975040943fb7b5f6e0309bfc249a28a9562b213cb60411e8555bd8a1280d3c600654f853b69b357b70a0328898f93f0e3cf1617bfa88a54ac673fdeac3d810cfeda27f451c087691919bd038f6b0470f3fcdd8c4ad16915bb9e5f5663af20845c2b1e560b20fa7fe62cd96f0219ffff038c671044a748c74cdcfe53d9079bcbb14a85d9498a85742ea041730bda24b892037cda2fc24cdd2cafb0e3f2e4c70c51476cca5dc72681faa735cc702096902bcd03096c19ed8c90762232ed01eeb5595de086265e373a93b7c2d89d880719dcbbef037bedba75db9245371c813642e2455bcef8101760a8261dd6c8823e4d3841ae86033949661fb6b1a3b66187bae01cca350291547071fbfe520703b8f9a2d8f9b42703389317a1f60a79e75838f711cd13de7ecbc075c11b64039dc4ed910ca8d820f903915d7fca356cc159ccc3b22fdd6e89758f3e533a5cf8e54a3a30df03365e6bdd0365aafffd2a95d67a12928eb6990ef7684b28a76eea8257c624230960bac580b20323e1c23a13df1e7997e77e9682f96a2276c379a902aab5206a701db3d30a3faf03b08e2a653d1b5e2fad10333ff9fb09bab602f68901af621303bb2f63d6b3193203ed30b0c21ccfee78497350a8f4885b00ffac5518856f4c9fcb9be2275645df5f038139905fe8a8ba8342d0310467e7b6f7219a4c64dbbdc4ee0a74fa7a2a9a8ef003dc32a4c57b06ba25f6eaf31b950a9f2034600f245ee978b7972f49df330f4e3503041a114ff9fe6b33aff98a2f9b4a085f81e3c3ed3d0ccb4832f54ba7e708ef7903d507b8445133ad7637117d7eec8fd1a8a4fcf2497378c84e83516c9a4c72064b05581e0317f922cce20106d8b0cac040ad37188ba4bca3979eca7dc5e5337b89300c0a47061b28a326e54805581e038aa04d5267709456fa41f068207e3a18c03df389a94483751c6222f2d00c0347086415a21cc49c0338c6604b0330f3f9a1ca4f224fe4cfda9639ca35ad42c131fbcd4224ff09d55305581d027712f8476ea118d5d0fc575b5885968b8ace9bbe88b6b7666de31ee604010322a8ecb80cef1e3c506d64c4bd580147bfc2caa05e5d482110e5350dbfb83586036b17c6e22dca864cc95d98a7a21d04beecfc6e57837b9918ecacf78ca31590bf05581d026a02133c40ab7fcc0b91d433e2a32af44cb685747b0f2fa385f5ae9207011bffffffffffffffff037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581d02e44f3e9f83b5445ff2fb9313676ea0afc0fb6259092bc92381f2008807011bffffffffffffffff0219048105581e037da3b33b4a556f9c78718d02779db1d5c4f873dc683b4bf490f39111a00c0f461a64cd8c8430038e62229f2d67f305b3ae35829516c47cc6089472ac12117a687800d7a9f671db05581e03ce350bff0f723920c9b3f739e5924ab80b47fd158818c12ed8ca8565800c0147a0bc7f7bf18800038bba7653fc6d5a4ba1074072606929c56ff6b6107cb27f77d3dd174beb80747f05581e03d2404c24d27bdcb2f5d2b8f4dd3018678b8fa577a63c6817e1e60e9df0040205581e032ad407ee06fd50c5e8aa2b87505999498a34c0add86d58dbe9523cda80040205581e03025a6a326d4625a01955e98a26226e14d8b7bc55426a71b3e2948ae97004020219d7e703619c6b3845309bb579256dca5d5ba89ded16db16abb61fd0ff29f8e8b73f2c9103d9346bd3ee8e2b4b2379c2620c6acdb7b503e90bef669dd77515820fed0eeb1203d181530f88da179b366dba2de8aae4c429059acbbe9be676e47f2a265b0110ab037fc17594427687fcbd9459246929a8b27ae5408443fc0c234f2ff75cd87f4c960346a57d0ea03532328489085446299be89df8731b246339f182ea40ea4892437403df1675c7a6c424b42b8eb8d89670f9c486033ec6601cd6ad5c573ada285e2f8103e30b316e175acf037d7bc5a42d970c7124d7607313786c7070550cf51a01ca6f035af6811186a15318003a679e803416b6743e9084c6f18f5b639f34c5edd01d3903ad6734c25fc7d6534ee8779253166e47b0371baaa4129ac6d5fb69cfb7b643fa034722170bfc8b2ba3b08667cadd774229ef6e12ddf3f0441dfe4e0bddbcf5fb27036f30f4436151a010d12f9d8a8984e1dfd2d052fb16347497316ed9986f027208037682094bbbf779ecbf38677c7ea42b77d7c5426a80e0b59c978f1bec94c3f9520219ffff039092de11c37e27f5e9170ca4ddf351e15610ec1d72627a5902df44b85b96e2020382538bd033714b5d943384a817f529a3a303050bc326e5194f69749f189300830352ba99af50fb854bb4cd1fe74d6307870d770571590f03ed72bd4e092089e1f70320c16430afd4d4ff5d4e8739b31d9ddf5553b47ce4b89653cd68c67dbc75945303e0e745763b8d8e86acd953f126bda63ac95d54198867e7099e6b146e11cbdf520342ad329b66059b7b4b60853b6523aef2488a194792320eb0348e1dbd6d85231a03a1a0ca3f86ec98d8d1e7a0d7eb9c15b5621a5d327923ae4e6eeeadf7bc431b8f0319741d15ff1b5fef855120f9ecadf8b0d7a0e87def154c8cb74a2ec4b8f4a59c031b0cb6f1e72f0b7954e90ada34f965e5f89e3702a76a0dfd947d011ff7248f480219ffff033144778c3d19752c99f0c44abb24093e1ca5781b12d944aea8ddd85789b49f2b035d0675f4e3039a9257c935046a80725c8c7d3b4f41f806873c15224fdca025b1039031d83e382fedbc605c348ae8a31e9cf8828dc2585d9d336054f126a6cb3fe1036b13ab613cbfe54451466e9fbe25f16e43370c35db0cc08f572d583eeb37c32c03b089b077a59d98c37a49f80a8004d0c780cc86e9e870d5a04476f3a0ad66033603c9359b1febc0cb110fcf64dc7f3104972c2e71d0318cc2c9c4ba3cc7e3162d2f034bb7f5b019e3afd43cabf85d6140fac51c79f549f490ae77ff22ae0a9724ce6b03da747603687503710a89dabc74f1fcf7969c9b14dad7ee0b6bacce8a9bbde08903dcc85fc027e01aea390cd78d1d48b6b70d4c86876bbdb460a5bb562660ca2fe1033383f98c1f34dc47dee6da1b5e40326e084f4f7ea4de02d9af7c2fea3cdb52a00219ffff0376a89a5f935f4cb86e8118e42373742da4970d624083f3364ac9fd338e955e8b03c85c34b6b7af1478f96ad86060c6434a90dba80fa5a5e37635d4a854fd27160a039e7160d38f22905f1242a2ef5d3cd3ba95a9dda8e346bc3e2bd026497c05c83603aeb6c9d63409c5689f5a5932465106d8a629b0730df0c7621735ae363fb023c90358097c8e4cb8d036f66fdf836e7b3bf03377293f9acd134ad9e8250dae55a2da03631a3b526dbfbe44a1a6ebd5c45705c4db99c0eb9056f1e8d7a99ab9fa49ea8d03afa9586ce73a0a0a35e036fadbdba88b5c7c0655659ba6b027fcc2f69e41c6c9032f271ef3d7e8aa97bbe75d38089a7f7f0bf742eadbc0fdf73815b4be4d01036c03565e8b1b217bbd4c60eca39ada7eb45e710d5f98465d5ca60f3b4961f64da122036a15c844adf2598e57d718e82336b036bfbc25d6ee8a957dfdc29479bf7c2a7403be84ba2e15e1f33c854146e039b9307950a9b462d68fd2dc9407ef56e29edaab030ff1b7951eedc0f11bcd32e51f6f9a9dea1478218ce7184b8efd2b9e3ba026c503d681da86d38d0d65711dd73108a477d938fe02bc94821e8a4b75472f904ad6770315983e03d2932d395047f831f576fbc648d0abf04db9c3d5bc2aa6b8b75c7fcd03ecb807164f5faeaf04d00b1fb9cdf873da1c4007be186fe7c13975e6e260dd8a030974ae57dae8ab3c60ba8959961f16ee946d68642a6994aa50add7bfd48045b303428650d9276cbedae8fe33acbe338e978d639273a339ab2dceda7f7061658b10034e623551459f9b3c83ab1e2a1a0750f06ee7d5861b6ae858c038dd1593b22fca0360135f8edd68c223269b9a9bf3a7b67a2ace164b8edd7f8769a06c7bcf3292670338f2d48210bd8d5b638cf3ca72ceeb48b5c92123ae29092078cc97e48029d91703e717fd94d497f5e1666bead2a14af6f75a7b51ad3b94c6f52e7660d7698bcddb0377e408b1c25f48cf7952a7d268ab661bd25f5132b82136a2a143f899e7b25f4103b83b643beedf45f26c928eb3ba77309e5b18067be9748cc3dcde7634f3154e63032854d08514acb779ff45a03f6a7f2725a435af46714c861faf8b113717289f0903fcff0722b68c26510cec5bdd30a0178178080068938a7176574caed8997ee6a203bccaa49f9424fe8ccf5477ea78cc88cefa4b2b3d697db8510058ad3333866c7d03d919e7b02c53e9c79ff41639ea62cbe116209533af3b27d6be0bf4e99288e993037b213bb362c583c26191a29cd41d137f467f5efdfe251a11df7905a7563ed0250332b9ebf3a0ce5fc69b192d74db05ed2ca789273f4657467256ff0b2c170c06db03388d5f2e49367a9cc80f167dda3558691759d1069eee8de66a1658a32f20c8340368cf935d2c14f6dadff795c07542202cf56c99b3c44e00d7109f013df0ef460d035db768edba81a216a46d4e4fc5c8a1d0adc9fb900916ff0258beffef60b7a37a03819e5f216d000572b2a936be51077939095953b8c0ffeef7c405b832bc5de2aa03b25a444d45be9baf1788dc3e10a292a6af03886280817adad4e4c4cca2f395fc03338831a0c57ee6cb3c87c73642ec5406380aa0e69f0ede32f32f300ab96ae5c90354b84429637532f18907ec92252a3aae2fc966a5b49a1d2b2989cab5397c5d22032bf0c47da011c4d373aaf107150cc60ea31f7f3440d533c7d4b9f65e9cd348a805581e03f79d9525c280d331b12db39bfdcb5c5c4fdced4f7d8b6eaaa2fd2d5d000c0247060099b364fc00030ec11df3bdf1667793f52d67883f33bd16b2c45f0d99c9bceebd1dea795ecd250307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e039fcf26c40a564d7aca56aeb02c5eefc04357b319e8f4a01578b60bc6d007011bffffffffffffffff03ff5743df1fae6de8708086c32b30b74d019b042b1d25932c60e3539b515dabe405581e03d1eabfa000761183137f794d5827aaad1af33ec6171061f9918ab8bfe00c01470216f855c38a0005581e03f61fbb317101c788abfe8e3225bd450b5ab4e6502af507563004e23d100c0446af60874e8be805581e03e95b56d77c68fcbe3562f52ab72f58fdfd50967f4294a4d0e2af3980b00c0247051ea09eb44fe903783ea848ab4312e1fd21e005d75c8d25e546a0717ec4128119ec7362cb1b183a05581e03b8eb48f1201103967cd50c9fd5f501455c2efc4dfed1ff03a0a35d6a400c04473271d2eb4bab5a05581e034108cf6617fa37744434b861c6a23c5e48e2e297e9f9675b992bb623e00c0546f36416ba9dc0035c7b6696e2246c253fb6cf07aac308536c86e1fabb04f7fc3aa2809ed87d69de0141060219b7570368c118583f52396417082c7b4be74b0af9d978fcac043c6159684bfa20bc443f0219ffff030f2991c04a9191eb7671c5f29b4023f9d7cf89436cfcd667f79bc94e1026f201030ef98b5a0b696efa9550b4522d0465846ec6e98f705da1d7026af547f819784f0350c86679d109ba97b55a9e22e2c887e08d6b88efec562339b58406231b1cce4b03ad324a47942a1010318ab2c19bd9f42b420f87c9ef84827f0a4641aefc4e92c503b04371c455a2bbcef96fe13185faeb6f30fe7ec66f79f4b9d2dff093a149e1230219ffff03aef7eda27be5a8bf40d6894e3ae76151e7b106774dfb7c641b23f9fd322729a0030790208c2dcadd76dccbb2bc2ed1fa92997d33d937a64e91e9a84cdb1cffcd1d0367d837d25ed3808ace16d3ed6279f2f8f0720f06d243be8db9ca3c46d6e52136035972d638d48f2c3bcddf5f0d1cb15b5a563ad6833e50e42fbf7a7aa27f331326034b266bcc45085cb44cdb6b13c69ef668c08a22f5236e52a28cf266323b50ee230385751b714833b74d44238c510886217ab21415bd8156b5234cfe500c1d3766ec030adb579843b10307825931cc8ed96a10578ede16632d5560aecef13aa67c935703d1afd55b2d3397b239236b7c9c0e3d5127763c55050efc7a301f68f6e0e9d2b7033003444b1bb7e1b58c08b25d3859a5b7e69ac6cdcf1e893a831496a175ecee54034723190f88f0cd3835df13c1a7634d685e2dcdae0fc2ded3c11c125cb590ba3a03084ba9c0a55e00bb45a04c3f0a3268843121b21210d8f88534e86ef310433c2803d79ebbba75ea25e5e372f5c6d66db403f3977fbeb6a4b52753e0ccf73d98243a03442b112eaaf884602c7c71ed74a7fcce214b4ee8eee38f835ea7f1b1dd7715fd039f78d4eb2816138ea2fa89defc413516c1099890bcdd3cbd76d3f72f165f98370219ffff03eed2356fdc7ff60b98dd4f01f558aaab5a47987754c503bf438133d0f702de24030a585b860aa62407f21b402ce23ad2b548a592e3a0379c8dc035179a38fedfa203016f4abad3e0d21512f182f56fbdbef2d26dbf64dae90a1929fe52305ae60ac9034e088c94f418ef9c07f8340db9e4b885a7d4cbd4e8c6fc61900cd378ed64a3ad0358992251730b2c11de07d831a59e719fe93ad618b1d5d99b18f67d5fccbf80f9033acf1a6470cd1d35dad3b694dfafd1fd980dd44c3607242b67f9a7fb59afdb0903ff3c469a9dd046b1e94e9a8751d5063f163faaa1ac4f619030fb7d68066c28bf034a67fc25d9e3aaf16383b4ea0ca56db10ccf35877d826a0ac405dce06702963f037d37be65aca3027156b26ba8c8efc803bec6cf9217cb71f1c70f3de1672b7b480340bd2b9c891cc4dd4e36e1a0b04e249481ac7c0578d39829f0db561f3d9ac17e03caa91d5091890a633f6a6a3e72635ce618cfa3c9ebfbf5c47018bc67f451b10f03a2b3332be3b73730338e55ee972f33a17edb5d5ce7aba55316f8683bbff73af903eaba8b4575a1cc84079c6f8c1e3dbbf9cc5896738d1468d99106c1861a54cbd90382bb1b4c7502ab449d90b9d87d92ddb9e0b24855d33a0f199796b14db0fa5c0303407a722420c047e58b5e3232d5cc38cb066913eb02e08d01a9bb593924f4a22c030486dd9fa6492d616df946910aba531182dc5727ccce20200ab39128e7734e9003872e429f42e9f80aace3157d7a9a81ee8eeecd31c0aa235435579069d01ffbae038130ea4704d432b28f3a9b1961dbfc925797f911d49aa0e331d11fc3af3576eb03c62df68ca3e88f584e16f5defdfd3f4d8a8cc9ad99d12b66e26dde5bce724b07030134310b79ad020c3a3f91e6f1001025ae34fefb43e91fc1357f306b1c54756705581e03456aab661d3db2fd3e0c3b8b6f662675d04a7e28876a99fa47b0a2c4f00401031df09e4facfb219881b41ac9bea154099eeec3e537ff8e26682289a2c88edad50356c1583c3821b6d224a726ca51f4eba82f110409302817ac225365e4ad43f9c605581e038645c749c727ac0465798a9f4b3af6af142fe02d94f1db5dd36d737d90040105581e0361e1886770411232450421bffd186449cdced87e57c3c05556736645600401038b1bb587c3f4c90c8dfcb8b4c64ecc835f704917f3d37ae702b046ecb819743005581e03a42a6e21e0abe4e7d08686ded1e5f5383a7035bd55a105fabfe4a34220040203ba59a0c1243b78dbd5927b988689b2bb98f41881189e79de6494c6987703e6a205581e0338fcb1dc9667f6358426c42ec454dfb6b6b4343eee0b0962c6f8aa6f700c01470295c2877dff8205581e03462e0da2f248b7aa14f7118309ff879b3bda6cd0efda0f925dfb1ac9a00c01460da475abf0000304eee1c75437353902522ea83ef7e47e542beb37a45dc343e3b6eddd95aa257505581e03da9a14c31cb4382b67108f7f6e836041d1884456d3c747c91676985c400c183c4706f2c69d03f12305581e03bd0c67d6440af257133909d1144fc3d3622d9974b18387756b844fe5200c1047759feca1e5e74e031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03a6120390a72c505d46a1555654f73088488c4bf823d60fa3af7f1d4bb007011bffffffffffffffff02197fdf036483fa5ed7fd6f3863bf97df964d534ea744caa37e7298272ff948b46cc1572403548de038a502a006f88f7e322bb92015f3058c94b580ba0fa722d0860831773703a3dd7a97b072bca9251d890a73453b0e049a7e9a9d2224c99759e4cd85b4ddd7035df473610dd7595be1e5f04c97c547ddf4d5b729b781617c0c90a4155033eb170219ffff03a262a668510dd7c555cb3317bbb025f54a63b48ae700dcc4f5504193ffa6877803763a3cf490b5a83948b1ce1f87b0334672a065aa035b4db0ec006aa3d66e1fcf03589ecdb2f905274962fa04316ca7ad1f22c4baf398bc442a14a40b5fcb345b1403b85aa49ae025dc2ab3c4ce1db842e7e7df050b0c7ee8d5d9e5f739a7db96e88f0310e877f4623ae6e9e989c5754637a9fe5c9a89e82d5af2e58466cb6665efdf7d0390d8428d5da4eece1e88284d91623c0e8569061447169be9a92ea30af7e6515203af3a6158f58a75affea4adc4ab43289ef26d0eada74f377e0770f1a0da57d00703eaa241b0166522ace65b1ada09977c69f6ce62c38cac6a5ea41889d02b9bafaa033859e58ada67996ba3d68c2fb6cd240355982cfb05659efcd0c89995d805ec470219ffff030033f0e81700c889947e7ee5247703e013cf59cf07d036fbe77f78bf94f4599d0353d4e991eab550377b2d581bc7333ee3b4b7fc24135042cdc56e3bfaf4bb0ea903081ba150f19f6d0716f5442b8b2f42be7d3aeb8c9b6a80c74b8c7779e4e789b8037cf2de8849891dec557e2ea5d021b0b3fdb46c3946e0d09e0f74a0861ea2985d03b475fdeb7eafd412c5cc20e8bd37cd6b49b108c5a4463a94128b4ab7908388a80364f6ac52b951f4df66bc5000a476cc7a37e90541f37ac75b5acd5d01e746853303bf8d24083eba72293295bfdbae3770539d6c18ac82e0ee2f72ce50b53ca675b003628ad712c2adbc7b5c5e63c8fd872b2605acbe7f6dea72a337152f02565250b303bc5314d85a5e9c2ad48a229b9dc10baf92400d69f597a475e9927f89d59b2a9403c4488c2749bef5f97de4b36713939655afa4b3ab9e9c813d9107e0945eceea5303141482336ee65572ceb3d19e0db5232cb50facdad58877c2343fd6e3159cc1c003c7b75ebcaf9205badf64d5b6927af20cefcb0d24954163c22059b01213e9dfbc0219ffff0219ffff03e303b12817cdb66f6797df94e52022184ec80a1ef2ee96b41109fef9f65e14ad036931db14d6c555552c9c6bdff3cdc3ab9915a695517e0fcc9fc23c0a245bb3c903046f0e0a00085ae917a2112caa11442c3aa828a0b1087a1f678ebfa3bdf1703c03a2120aab04abe0c0b249fa50c0dc41a3d9e557697f63c9eb5f0309f8478421d803f76355f6f2713a7ea53c95b11a4779e69e911dd57a801387682bf7cf21b1f53403f13cf2e74b261df39876e5d7f48c7b550e916891b0410e88ab2ff42e0a19aa1f03397fc5ceb5ca55121dd55dfff707de05207e8310fe2840a3329785fbd826c8bc038b4e70250c48e602a07e73863ea2403e0f736f153935187db72d210a85191b060300e2a81a05b248502ae4d5a049ee394db216f13592cbe03353a9a61a16e696de03fdf802f7fcd538a5c3de1a4a4ec3c8c602be4a415fdad4ed5107f1e3901258dd0317b2ce3071a9e6ac77dc7f3a8a80681a7f9f50fc0933a2816b1e0708511aac4d0302484e04612fb742cb7b95c4b738517b02d0992986349f1c93f7273f6b7e9e6003c195a99b93495ff2bf195fa97aa6e2e94a4ed0b15e623574507bfa2c58e595be035c63b440208868c34263ef6f2ae5b51d2e6cfa5a9c867b4edb8c685c74b37e0d0385a207770d399757b5b17101aa39785e2be8b34a2f9fa50ba27b6bd7d96eef0d032658918247c270c81c49a367ca89a30ac7509ce7c04a5d07f67c621da2a1df6b03e354f4fcfd76af49cfccf3167aba8b652be10b9ca1a3007da5b329f3a0906e2a031cec6bb962a403a62c1ff78ae7cff11ecc423fb762a8fbfecadf78ba67638f1603bf804cb22705efadaaf4522d50b4330cb13e752e8fd22ba2c43f8ef10521e5da03fbe747e15d1fde80040c4d5622aba1596f6fab2810b71d9aebcdd7773a45f71903ce07b7d73671b61211030af0d850bbd806778f3649ea005cb30f55117db42805039b5d9ed719d02ca7a64efb13e5e2b183e2679ad25f0eec74a0c0a12ac091e29c035e123a050698a7e6e7dd9e312038c19d8d346a22f4b7f1d6807aecc09e84e4b703f8f745b7164b8bd3055618f883bd3085668f70afdfd6271c6801f4aea40cb42703c8cd6be68ca5879b7f66dd0522b6484ff4effd8bdcbbc5a3d9f81c235b8369bc0302d1c192dbcd9eb4afd215326ab77fe17c17ad83d05cae0d8afb25127f95b1fc03dad5dbfbd89d58b68468c71920d754a26c373acc6bc587d9e8155e3d756a21c503d5ac645e6069d85768689f29ef0d634477f57d0bf512d2842511498f2778724c03f9605231c9cd39e9eff039bfdcbbdb5fcd1e219ce30728ed5eab67ad29dd78ef05581e03bc3645c96524f74280b6c18b94b852c182e2865d9becffcd7a2db28b000c0647024110cda0700005581e038faeff23f5a874ba42312e7e205799327fd9eda1bd08aeac7005dd0a10040103cc80c533d80edefcf7bab5e0a58bed139ac64c0a5ddb0a67102c83d730f54362038567f237d7f790436f29629bc4c1b182fccd0ebe71112b22976d2902f622c3b705581e03afef459029e0acfdc44052c761620705acca7b9b7bf67e799ac33427400403031f136b2f8f284cc634edc810403bfb71f19c8d9f0ef9fa9ce88d62f11b5755bd03d199d2802431ac4a8c96eb74dec9cc915ed0326cde6e3e0bb10e4a26ef1b668a05581e036c5771221f60358c2f1d0acbdff467a8c7a9c5934c240b0500f5eea4d0040105581e031276d786c307a934a040303bd3001a9b348236d7698760341352fc0ee00401032ae524222229f46d05421d9761a258b033e78b3fc174a4b2fceecc15bb0c5b6a05581e030bb5aba4fd9bfcbaedc911e9cc4842859ca8610f7ce5fa6b088b498ce00847dbe5c234ed51d005581e0315dae8c77e73ed769d0d5cda2587b95c04eeb10a2f2dbae04c853b2af00402021957ef038a243bb063b471b3313dac8b33d0aeea04b812fafa1a523fd5a29f09e404c7b803451168ec4e5f693dd31edaa932c01ebbd49806b57a02e73af4e0f4325d50c92003c4d129a76d330bd8eaabb0f69d796dd5d61b0f2ebd682f5e1c670845ef1b249f0323393ff44d8d4c0f6a4979c6ed873a6fa86608f6cc234dd6cf8bcd316870d61903f9523fe4c2d00aba01f221c6049c81a4f7453744d067337f3f90d00081d889dc0316d12cfcf5bf9d0c192552efb212626663b45cae2bc3885fbb81aabfcdcbfc01037abd1f016b7a4f6c03d1c5aa4050c7aec5f311c3d175e0eb712def6a3bfbce8f0219ffff03589725138b3a14edd41a77551f99fc3c1ebc63c9b6b0e777ef56a388466d6abf0321c1f4a0a415766537a2e35a815df8b0929e9cd717efc91f375c4e8316f287ae0370c06a3dcddbf3d2fe6ac9fb3f470e93168a44c52d39921022e1111cf6b7d0cf031079346242d917efa6dfc62de82dd50552e8d5d542ed86aa6c920ecd2aeff65903cb92cc1ddb12b91fb16618c826864f8c8416913cb21e4844896d32bedb313b2903f42c2141c9c9b359c68c0a7df7bc4f463ea012aab824eca9050dbb19816173920219ffff031a29b99bb9f0700e34f661f11119f1f8e39a7f0d74ee0032213f2edcd343769a037f9784dbd754ab29aa94f7946d308986fd05a416e3c2d8d8da72376db62f474803d36677c9226373b2130980f727996dbfefcb6f4b80af1190dfe33e1785e5de710219ffff033b4d31b2d30ee2a7532c818d32ac28a0407a72f276d85414049e0f6b6a570b7903585cd6984c24385db6484c3e0096e1067ee28cb8a53f4d02d8e877471cbafef703d7313043a50fc213ebd83ef6bca24060d2a656117bf3b21430877b5be5abd61b03f2f50682eee6157e086aeab6390f446af011b5e4c67316dead92bb279a4c14ff032cdb710ba945cde9753a671031e32a3fc0e9a1d651129a7facc41b5129a2af7d03ce89b52b812cac56f3edfd8e10ecf69c22c82b6831191ca07f2868a7e780a21e035032380ed6cc2e0f09d1931f81b0267374b97070449738ecdaf4a44f184e2754038d2a58a04799e0a4211772c05af98ab81fcc2500c8fbde55dec035378e07c43403ed5c5c1390239dcc6b0a6bc6ed80b6b2c561a14f72f532dbc0a50a2719b6b001034d4fdd51bf4995711d432df6acf3cd9b9388efdcfb534f9e1af9560e35100a65035c78125d60745b23e67fed6f74d238ef7fc491b828229289f6f83ff32639fe160376fc06da16b7c5015898de68bd9ad2dc7b4857fdf60bffc7366063c972927f2703a7898eea7024c00dfffd7c3788620186f2b2d15c6fdfc4f334c8211dceb2333003b267f567443d8e4d6bb916144dd4f9f008beea03ff39ef7f8225c9e28ac19e0d034cc8149a3e253c6148016536f03dc9273976e894674bb8362e99201627c857d103d9f6dd15ce8ca01c0c1d9dd15c30c30fb733b309d705643b0d674e836b92659803b62e2952f3767c6a4c3c8b80a31458f6cfdf2a196476e543d131d37651ed82e803541484fa843affbf1aa12b3740ef961a7ac302d505f2b9771dedd7b48e86e77003c102f2241512d62348d95a30e8b3bfb978a8a6aa68fb29c967816bb5e2f0d7dc0370bd2db92d8282510ba88a3aebf96123769e55bce18672192647f9c75b12db84038ac09d3eb62ffb25ff56b769f673e69645cd821bc06ea9b5a835caeb3ec4d42e030943d55a0bb8c639343823f2c401ce28bcedcbb1963955e40aebdb641b2590bc03d957c86acde06a4e2166b8500fbd0ac8252fbdb0bed87eedab2d2d768f6d347803747037a0be864049b47c8df869b0244d0fda31bd4d3eedce66409e90cff2a659037acf4c18087b797079b1258f65fb5b663cef04eb81141111134c7a75789b3d2f0392d3e370a9952bdee82ee7e775cd4493eca4b504bd072a2495611d5cddc312c40328ab2cbe23d73e8557393a196f99c5b4c48b2110370224b561f3f73d0eeea66a03173bfe49d0383db38046a6ab46eeec7538233685a16f676659c1857c5a4b406403dfd389a6865d04bf00c75dec1f1014e22db2b2c6ff56e9ca5cd714aa3e3e5c5304590cce608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a257806395d89b411161007157806395d89b41146101ff578063a457c2d714610207578063a9059cbb1461021a578063dd62ed3e1461022d578063f2fde38b146102665761010b565b806370a08231146101ad578063715018a6146101c05780638456cb59146101c85780638da5cb5b146101d05761010b565b8063313ce567116100de578063313ce5671461017657806339509351146101855780633f4ba83a146101985780635c975abb146101a25761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015157806323b872dd14610163575b600080fd5b610118610279565b6040516101259190610bb1565b60405180910390f35b61014161013c366004610b88565b61030b565b6040519015158152602001610125565b6002545b604051908152602001610125565b610141610171366004610b4d565b610321565b60405160128152602001610125565b610141610193366004610b88565b6103d0565b6101a061040c565b005b60055460ff16610141565b6101556101bb366004610afa565b610446565b6101a0610465565b6101a061049f565b6101e760055461010090046001600160a01b031690565b6040516001600160a01b039091168152602001610125565b6101186104d7565b610141610215366004610b88565b6104e6565b610141610228366004610b88565b61057f565b61015561023b366004610b1b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101a0610274366004610afa565b61058c565b60606003805461028890610c5d565b80601f01602080910402602001604051908101604052809291908181526020018280546102b490610c5d565b80156103015780601f106102d657610100808354040283529160200191610301565b820191906000526020600020905b8154815290600101906020018083116102e457829003601f168201915b5050505050905090565b6000610318338484610632565b50600192915050565b600061032e848484610756565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103b85760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6103c58533858403610632565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610318918590610407908690610c39565b610632565b6005546001600160a01b0361010090910416331461043c5760405162461bcd60e51b81526004016103af90610c04565b610444610930565b565b6001600160a01b0381166000908152602081905260409020545b919050565b6005546001600160a01b036101009091041633146104955760405162461bcd60e51b81526004016103af90610c04565b61044460006109c3565b6005546001600160a01b036101009091041633146104cf5760405162461bcd60e51b81526004016103af90610c04565b610444610a1d565b60606004805461028890610c5d565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156105685760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103af565b6105753385858403610632565b5060019392505050565b6000610318338484610756565b6005546001600160a01b036101009091041633146105bc5760405162461bcd60e51b81526004016103af90610c04565b6001600160a01b0381166106215760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103af565b61062a816109c3565b50565b505050565b6001600160a01b0383166106945760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103af565b6001600160a01b0382166106f55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103af565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166107ba5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103af565b6001600160a01b03821661081c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103af565b610827838383610a98565b6001600160a01b0383166000908152602081905260409020548181101561089f5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103af565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906108d6908490610c39565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161092291815260200190565b60405180910390a350505050565b60055460ff166109795760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016103af565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60055460ff1615610a635760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016103af565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586109a63390565b60055460ff1615610ade5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016103af565b61062d565b80356001600160a01b038116811461046057600080fd5b600060208284031215610b0b578081fd5b610b1482610ae3565b9392505050565b60008060408385031215610b2d578081fd5b610b3683610ae3565b9150610b4460208401610ae3565b90509250929050565b600080600060608486031215610b61578081fd5b610b6a84610ae3565b9250610b7860208501610ae3565b9150604084013590509250925092565b60008060408385031215610b9a578182fd5b610ba383610ae3565b946020939093013593505050565b6000602080835283518082850152825b81811015610bdd57858101830151858201604001528201610bc1565b81811115610bee5783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610c5857634e487b7160e01b81526011600452602481fd5b500190565b600181811c90821680610c7157607f821691505b60208210811415610c9257634e487b7160e01b600052602260045260246000fd5b5091905056fea2646970667358221220365320d6ceade149ac10affa98576eb87ff28b0207d0501044f1b7a402f5ce7764736f6c6343000803003303bd59260b576ad7cc9ef2d81dc04760e891b6fd378934b4927c658d8af9741d4e0352e49ce49ebaccf264bd7ab97ce21a6665c70bd452b82a165f9f5f2fc6d0fac403ec876479f916c53b191ca48f8fed11c74c6975c366f01157a31e5019b61a6bf0005820034cfda22b922ab070a87ff86dfa2af685cf4957d76a298ccba8b2790a4480e05820fffffffffffffffffffffffffffffffffffffffffffffe96a2aa9dfb4e17ffff0369ce4dff47b5071ea59595db2d222195b1ded69e69688b4982e86f74751604f800581f0207b2ace7a7e7345c36dc1fd8beef5e259464ca0f558b12d1b86d461269fd5820fffffffffffffffffffffffffffffffffffffffffffffa1c0e8fde98a3f5fb6300581f026384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db055a4f4f221b0b46cf40b55845bf3759705ce7886bd0002190840031c77d97d02d9e7096af0e81f2495f56d6ffedcbc3b2759115d2e7e07a15f33ef037f31daf85a64510b7c3fc7f62334e4730506f3c5b039abb9b502c73d37f7fb8b0307ceadcb6fa0adbf304dd908050d0b1ccc974097cb799147474205dfde0ceef0005820031bdbf837549b71fe0760d9ca1f2864a4ed902645ae0bc655747ae2553653904601000000000000582003f8e2fc96c1abb677f3225e3ae214cc5affd3651adb671d6a7153816a6ea8505820ffffffffffffffffffffffffffffffffffffffffffffff42c7c5e721acbf83af0058200392fd4912ffe1bc8c665d6e5460344f173335c7fabeda8bf9b19bdcd69f6270490608d7d85bc2c9d7b40219f362033c6cff8ee8008105065911676d350064ff809f24a063fc6fd4ae052951f4bfaa030f66296b4e4c332bd4910871734c6a6c5fe7f9c0609baeacc4640e0c6dc163b303e88d69f46a7bc5be2c5696967b8677ae35725872b9e5a84def6aa882740db11303c9a270dcf71ff8faa0e021c3a5a319b2d16f57ebd24fd1513ef7094cb5bc5c3603bdf4cdeb33f3e303283e9fac683142c65cbf883741148512e035b60f7fa0ec8e03c038032a489eccdb9c3a92c4f220acbc0d8fb57e7c8108b03b45d53a85ac780803851305a7a34218d081053e5fc4550b217e25a2ca6df691cafb6cc563f39cd84a035924eccee8f23b42e63d1dbdd89fa18a3c81b78e5e474810943c4ef04797544103dbadf229934425ff121e4aaadc31e16a7255d65ae0ae49f5a815cc81326f607c03a91d4b1e9d344bcc1961f56778dd5b72878b546a2dd7dd3c861fb4631ce0468f03beec9d313ac79b758f61fbb62ae1025e867227160781b09001ea671744108a5c0320adfbd8e2410e25e218232376dd6179381a06c51d2658aa4de343ec5f812d2f0219ffff03aa193b78011fc3cedb3d22adb28de5ddb08ace36738886b85887ff86fa820c210310a3b2524d194377400d22979c4d3326cc6c88d24719fa392a10f6f9c4277ada032614e92b74d04ad8a355b3166318807e4f12618c312b6681284d0a0b4d502cfa03c4ee34eb2455dfadb06b4d4409187955e0b21794bddde0a8d178db2e3bdfad60033d5fa83d6775d0081b745be1f3bf28e54bad671232609cd847f2125dde11dc4c037f52014e8b342cecc0b1d52df9030417aa829e8288cf5763eba54cafcbd80a74039da2a9611f9a835eaabf200cb42cc76fca8fc2e60727a5d5376e9fdefeed1da003eba5a076d2d76bf72491a939e56e73963ee06830ca6eaa3c43878a2c79a3ad6703f091cabac27c53d966fb6727b0ccb2b04ae7a6aa3b928c68091eea305f5ec62f035b01d4ee3b2e74fa542f43d63ea893dad61f915d5a45a7b62224307ea451ec0803264611f32963d451d0bf381faca744d9507de62c8bbada1f1c2994f05ea75eb903862acc9fbc4321eab6f627a30665c6680a8df2e2d6704c7a96d7ee30d8520c9f033c0a531544e6aab144d51f23f5411ff9d61f95e2e7de608fb31ada23c4259c410141070058200390833fc121ad588d4be6618f6d824644c4751023480329b8ec26120125cac05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003979ba0c3523ea87553b88e3e774e80b6c4aaf981e57af2c70a509419b41da04a073dcdac143d31f52db1005820030b6cfed60658e0588e203dee30333d3ca3b7547753c056a5fd2c105e447a605820ffffffffffffffffffffffffffffffffffffffffffffffe881a1949224b8354303c7ad3c53193b0426a1b79145ec8880f82d007249ba9c22507462e50589ba402d0394299c6f62e86843dbce8f186544f07e634d763e7eb95323b03b623ed2e79f30005820032eb7a51b7970a05ed9bc93653d11c7c3131e7fe06e42a668a033c3052a53104a0262ccaa5f80f0807800021992aa038702a5f89e3776756924cfafbaafa2d98c6e28ff65e668222ced84272e11f3d8039ac1a188ff406aa562d7a88f72941f324d6db6580efe97f52e890099c8b319b203b97e7a921cb3def034ff20a8407fc6880c7f1724b1497b217a7a6d43f530308b03baa420e0607ac6c97c8b1b79cb41bc16d8fcc2fddc4bf467420f107b7451c3be038fb7ef71c558b245580b87cde1386f3388812726c6f7a36a7ca1ac3af04ebf3503e6588c52637988a08c50c97c9c9fdbe21bbacc228c091ad00f34d3d0bb96e9160219ffff03fa7f60a68de14d77a51e10e258f7f64a82d6bff3078de4f204e1be158b551f3503cf1476b6a86c136016f3d64ddc55ac5c0c6669f800eae154c26074578c94833d03279aa6cb5ed5e919940167ed34961c081a5c866b2b65499463dfe9f9486a6b80034d2fa597fa7bbe1277c9219245d864c7f56e48a6404e3ef3224419e0266c1415038a0d125e1387325854a2fa4853264a527c56c87d7e8ef6cb94aeb9dc475c76b403975d357b78f1d6f9211420e90574301a8cc447a000ed453d77467adba74fcbaa033bf0f643fc425f2dba410e48a72e6ff08323931d430a38db0e38fc7c20eaccf003202d4a881b60f78549c22644b3dd3e8c36e5e8e6f2ad42382eac11b80e0fb08b0366c3f20ffb1a70fa101f7fbdc6976e5587987789aa9d3dba59d1666260dd919603a04a6c85440cba9a39eaaf89f7492d4f98eac253c1cd641546297ed70bfc3f5503087e803e5a9425d152c7f557cb481b99ef5217676f7e1ae28bb79f07426ec91103d9dd90c7fe4841a15f5b41ee6fdee4fc7a495499d596554e002cb57732745a2b035155eb38c4c1b9c597665937816b326588b6f84e23cbe98c8b4b53e0286d187b03577437a308be35be7272c4b209d8aedd62b3365014595407ba19e0708f19767903c0d1240cf5e1cbd428a56ffbdb9449a4dc4bd7c85c9589ae62fd2d47a88af1d4034c2d15cb2c7cd28e5a0762351d9a2ba72633aecf8817045d643cf9c5ef07ee4103d8de75550c6b69ab15087343e1775bf264326e57c4b783483f73b771cd9f8272005820036d0a61604528b742af19b44fa0d0ae202e7b4af5b47405f5dc18a00698b5504b018d2a7a3ade0350540cef00582003247bc75b4183f9fa76b01712bf6592f62ebc51d9b3010f01f98132463018005820fffffffffffffffffffffffffffffffffffffffffffffed4cfe04a86f4b61d0d00582003edf6854656e7a8dd663c2213bc2ed19872915c9cd15236ed367878e4d9fdc0490db06b421779a4000000582003b0d6bda276e5f7c2a3e384d57957952febb1ad0d6c74286452021173d707e0491533b6f12f8b30a2ab00582003fe9c191ba3e0dc27d2e6ef5556b1b61b2a1366e8da10a36313a42aa9591a90493635c9adc5dea0000000582003a4613dbbe8b77a6cb328ea8e5410e7ae8fdfb0b1f06816c23a7f3b3940fbf05820fffffffffffffffffffffffffffffffffffffffffffff8868da921137c55be2000582003b310bc0fae523bf7c2674f84f0e72e94910e04107e21a80502d825dc3505405820ffffffffffffffffffffffffffffffffffffffffffffe8126e9ddaf9f509e1b40219244f03367261896d777ec6f88046a5e6d5597c584ca34826c5519c45da592abf2a3177033647f9e5e5b42d67bd6968d8c420aba9526523f1a1dc7bf64cdc58c6183b37e103dd216efc8b4deb54cd1eaa36c2d6de8d182a9d7341ecc6fabe6e14db37feb6b9038bb91d86ac3fd2acc350314b9707865d9a4434c9f2af540701a9b900c19d6ca70219ffff03fcc3ef931e317b86d69deee91e1479a5b3db2a2f9d1ba578047554c7023c8ae803c91ffb18858f28565ecf5874989ebea48dfd55c3de08f496fe25fbc1ffae561903b15bcbfa23df3b8fbb41e3fa3b3d6dc73ebd7247e0c58220ed38727637f2b05b0320f0bd56ea0995eaa880deb7f7e1eeefb2fd2aac9fc518d36be29b52bf7d81fc03654ff6e81a37de30fb19412bb4b3c4d4a07a877a230aca10520e04ca20fed1d7036a8f11b1f60e80c44fccaafd4bbf5b5b607f28056370361c671bbef60978ea0e035201478f571b62f3ab9fe8a19f48fe204a610c0cc8343db56727a76d98d1f7a503d2b56f9ff648d56e780f31ed01a613496e64a39e264069805aa6d645f4669284005820036e6d484fadf5b6622c4b0a06d29a6e79d4845a45917ac66733ce54860fdcc04903f5863407f9b851a90314afe7366e7d49dc6438efb4e438f3fa76e446c1d5beca78ad792136cafed45700582003c46905925949918023e877208aaa4650d17c42ccf5593e493f8011f3c7e8305820fffffffffffffffffffffffffffffffffffffffffffff8459cdbde720e8c537f005820035dba073af675346f250b102d4382a19adf89e0ebc2164feab464de14febcb0490ee674b37889484ef400582003b49e84e467b77048fb13110df30155782aaab68d10347a5d377ed28b1408805820fffffffffffffffffffffffffffffffffffffffffffffebf288e11b2967b23860219183303ebfaf902cb7ee925416e2357314d24372b1165c63666bfdab4de8298a6cb1f1303a49c9bf613569ceafaa51cff1e703083c9cf72a77f29652c292e2b9b9f22ee7003aae5117f27b5063a0a2344b23c55d323c457162459fe2cb1c692e9d9a6bdf8b10345d121c42eb194b917010607dacd6e90abd64449f0d0af6dd8a94b1244efba3f03efbebdd32dfdab777d22f33ac2dca63911abc8b9e1b7371ad5c7ead4329a1dd603677e73834e6075af17c362febe3bc0457e07744a79dee7b23c10d1c3f40398470303ae8298e86b116e17b4e74360bd5824e6dc4e92de68ff8d17109e55eb30f5da03485254a58e79734ad00e897dbbbd46bad6473dfc41d812483fa4319b376228c303f94d4502f7c800fa0452245bf3acbd9ff1e243ed2e8b27e3af190e29385c32790219ffff03edefabbafa3b0b9ae98927c41e7c7c9232512785ffeede1e4ae7d0217089ee550320a189954c6302dac148a932bf220aa5db889b0813d8f4519bb5e363b93f48990219ffff05581d02866352520bf2780a8824788dc6c2cf02241c4acab0694f21f1d6024d0701190cce05581d029c11a84e151f90b1bc69fba5120be2f0ae7927d2298c9ecfa0ea5a690c0146c26fb2fbba0005581d0278efc5a0438d9d834184901e148f012ec6e602f392dc0e3085d13eae040205581d02fdb19d7968d9864cdd2216b32b7c5263d5689a778e31d41fcb8a10b90c0b420158021981a005581e038bd0c654c1bfb752b8b1afabe67e18f290d18648c07639049ddf22c3c00c034805f3d34ac7cd096c03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03030372bf29d767b66b395a06f4b42bced167fc4b4c92626e7cff86d7998126eb05581e031f577e8a79c802f6a50f5a80f1b5d2e72958866350e40eb302ecdd7b0007011bffffffffffffffff05581e0374a03ead712f1494bed4b0fb4ae09a6df7c146787a0e717c118996fbd00c01472be39043f0ea0005581e034c935b07fd93d0e7482796e0d582a22d476b2d962665f02a642bdbdaf00c02472d0b930392580005581e03703d60a7749a53661e02759c58502429893aab33a0596fa126a158a0000c054686950c1d4c6e05581e0380c001df47a964a5982f13e791bb0a53e9bf09b971ecd95e348af4bf40040105581e03b96cf7ded3b81c9d23c6376d7d2f822a740ade275351409ce33df4eb100c01461eddd6b18d1e05581e03a1cd0f57e55fb7a6c54bd4f66c2b5ab03d952aeb5a65472b2e05bd18d00c0142041a038c6a6b2024863144bf7301e169e4e447ff8a6a267c5ed37ec0481cec3123a5e801410903d929e34ae4c568d2eee21da680026864def1c0c425e54cc2324ada7807cd0aa303e721968b0f328707e7728ac0a2ea624c0559b4bda8da71e9e5f94b593d8513fb0219faed03a85db5e88def7cbee4d1487fa3e9048f99562add0caa0a98c9846e30e555460d032980d2d8a873efb91e2a452abe52807f8179604967faea1466c6f3994698acb603834428f39529ddb4cf319e4d648ed7fb42a5e82929eaaf4e95330433c9ed7afd03bd28929ed44d1cc6caefd2c59f78dff1fba0c5a41827ff021f868c33aa4d837e03cf58bd4832875c59831005cf8aa38dabab1ffb877e6bd1134c37826096904f3a03fac7686dd66465e90f5744118e2a5c2b81e8ce7db66c6432cb2d3ed4c1c69b3503459cc781b6e79a16d2af2714960477a7b9fb5d3bae427693009e551dce30fc4d0365f86da2aa196cd28793cb09db624fdf007868508deba2817e09a66b2d7e0a1903195bb9e483db6998c6be8acfc01c163e15219808f3e61c9ed05b024ebcdac2c4035c314050980bd38d80d44e7d64af56f3b26d194bf97cee8ee6a8b6774811522c031fbf12ec61c970b33f52e831f7d3a5e09d556590ab52f3b23765c992b2cae3220314cb54fddc9cb707007e85a04d6b95cd717ea34a888cf775d3e8aba0a305b07f0385f45fd8f6e679e0341d4736d92b744ab0097ca43ae9f3272d5b52f3aaf6cf3b0219ffff03919fb827f8b37895160e371da448087a49b3cd3d2c80d8c327eb08a4e97bf6570219ffff03ac592f1a597271d4ad4ae3f0f111ac5ceca0f99942bbc6ff73259b97185e8fd3035c045865e725a775a890244b957975faa149f50a7d36f5b9057fb44985d85cc80308d11571ed27d0e4b7ef79b131eb5dd53bb286101076a19a44844ccdfa7306e2034cbd622ab25f61f085ea0d4dc32c6835a2671c0704588efeddafc336800a1df50377c7974c4e2508ee8fe6ab4ff9b42340fcfd3356957056bf835f8af134f49369032586f79c86fa1ff8344f93275a6361143c79dd63f9d72962b04508d4d50da45703b4ab48812320287cd1964e48a07e52064099b35ad77d22e9a07afec38e4f9da40305780c2f746423a0d7b4cbb5f0a3e8ddd818172f1ccab0b066dcbb3e7d434fdd038a79216014844f869c54c5bd98d6ecae9e682cd40f64e448f98313d82361905a038e527748a6327f584d80b573075e8cb5ec7e5156a1d82d19b96b2fe4de6c39e603cef9efe860653b27b68fc25bdc27da89fdd32954b71445333c6a8802b8f54b63034c79627aeb2e89a56e193eb103ff8cc1ed82fe3ef3488c6999c517f4e5c1b3cb03eac167f516e87ffc3268f2563e80ece1db033228ea2bd27e969e8f18a766686f033d434cf6f4af48f32a8dd5b49a8268c066c4c87aca231afbb3639684c9f67dde03c498b277dce791ad8949c4ef98e482b8448f501b97522d4344de2946d8584a630219ffff03396328d5897ad1f9fd5362d65948837a7b7b16559149cec76e3fb59307e7b0f80219ffff03a980fa38f405c522a66b520e63e42aa73a77a1e2c3d571ee833018d559583f41033907ae943f675204b5ba334364cc546311056cdd6f7c80322811639c69bb973703c796ce01f78e8adb927ab3eee0f3d12fe741862bc435b772f8266bd3d5a6f1df031b2ec5edb6765da07b831f965420073888c7c207d7a86b95ec5693e496ca507503f3cb767dd7d5361cd55e3af5b8ef7aa1a5de025521003550bc69dab3cf72f277037d1f2869455ff2f3c7d10a969b9672c3cc13c62a6cb2d9a143eff2b6bde98185032a057d90c6d7848c76b3bae2e2f84044f7e214cefddd21dab7ed72fb179f3c8a03743ea2250dd3c97bd9df432e7c1cff49700bf808e982fcab386b7fd0ca1fbe4b03ae702d54086d80cf6deb63930ad2ead20ad9d8983862855fb54e8772f1be48c503a76a9f0bb49a8f19c564dced496b74ed82842a9ee5b230d8b962deb3c01fe20503508ead125687ee9be1c44f58d11d56324e65d6c6a572c28181ee859195e72d9103459cf1209588b58194e48e5d0de76cdbb9258715adc9b3b6cef0cac28223f5bc0362d3fc6a0f350a84eac0aea90651d370457ad319a1c0306e4ae20b49c34bb69403c3db4b93f366a27eaa5dcb5e9e7167edf26842a7c70e3eab0565a35b484078eb037bb17406615bc21358f698f22a11d872ac465611ddd2ffd0677013678723101c032b99fc8dc6767f4355a5ed4de3a344faacf1dcb0e5ec360df61f973cfb7b8c5a03ee6c1515f6c13cb4853672c297dbc0726ea1a035fb1288254dab1a212c6262a90357b8e9426f14250c90d71f5af328540bfda18bd987a2dd9bda8f616b22858aef03a64b71d37a7239cddae6d4ff467657ad121d61309aa6ec2508b1c8398d05f5b403c554bca7fc2cbb99612db4fbaf9c5db12760c60a80e43fec7395e2f3d8fa237b031cda870ad84415883aae0fe87c89be0e0b4649b6c3ab102808e33ec19fb9d2e503f165849b89a685a1fe1b987ebed8b409eacf46785385f18126c48d3b032ec6670332b83bf9e28634d3f2aa1c6b75f912ce90d610a0b37fda8c466f8950aac04ee9032e58c7bf0ef35f684ac0de31034e1382c592333d2314d4f123839046ad4531e703506338941f6ee005c8af0efecbd46a18587a62bd1aead7ad187ead075f9e0a6503a09c590ade70ae584edc00c7ba60d3c23965e678b68d8b64c135856e7990d86b03f5afd5cc39039260519cb53648d7b41f78563affc86f9fc5bcfdc66c5247ccfd03ee1705b5f68ed5c438a70c50fe7d621888a53c5de0fcf3a432def98d65197538035a6de5987fd03b15cd46d9f9cc87333fed983f0d8a0e4c7682b7e9aa03319413035d2933cb14a1213ed085aa2bdc9d68079c510089d43994836838ebeb69e942f0037c15cab5460a7be4d511c847295f4c2a267a1cc1821fd21190b9f3b69934bd08032049b4578330b7a90aa03fce88a67e208745fe2edb810840aebb181d17a33316030fd663ba0a9418c487d1b147fb7af0cd35398b5f76d61a7a5d750881194b796b03e040776fb9be130e71d51916be5358c95bb266571d2536a494389d3d4faeaed5033a0dec24deba48da1a5a60a320f64b1bf90a01cbd31de48461daed4e40bb9c9d036d88b066609c6239f78d3a7fa53380ee88dd5339562371424d0e60b58d64fae3038467d8d7872dc67d88781cf118b4fb40c2f2fea4a0c3dd19be9c7cd008f9a203036c6e325f328184921d66af4f2f1a0f9813e5208e00b0e9cb8b87326225a8dd8003a3b7a7d8a108d185e595e54cdc30e08287882483fc44cfb34faeacea45c6f13f0396544d9e42dc9243a6895d1d3b94fdde2a2a9eb9acf916ea3067a80afb2f9c8103ad1ec9303eee79bd36df3c8b9b4cdc030d45adec29e418289a7951a7b6d51ac103ba77da8774bc0bda94d6858093bf8d76f8457819e036d5ca7b57dbc1d3bff4d50314f194871dad5e7f3e64cdb8304550d53e7399466e1bc92edd4a2fedc9e233080335d12c84d2ec779545044c450191d15d21e709078b205a71b0dc98e28279913e03c637db02b4a680c95fc4b2dfe50292dba2289702905f4f5d76247130e8871c4403a4abff24a3adb5d6aec3931dc570872727cb5dc2734cc257b9ed7367583f549603f29e38be2bb3a0ba4a1ddb8ce3b7ae4f66669de0f8b7bdc27be54636e282a0a8036f4317c9354d1b3765e1871fdc234c51b8aa950785f512404f76dc7b8da5a5f303fc6f265d48a6f4973d002cfd94ddfdbbf84980f625db1994c9879d6b1057569205581e03b5d730ada100dc7a599f15357a3b2f508dda691e56a55306e4866909000c0447010e73004c220005581e033165171d2cf2d68a4e93bc1edb61eb59da5eeb12e41966587fe8408ad0040105581d0249d54d1fce591225d8c6b0ca3f7eab43b53f8fe89e549b2e5daff1420c01470d5ebd1b79420005581d02d6a228fba7a974c8163c9b59c516f98967ee4e48f4819592133f64640403045910bd60806040526107a2565b6308c379a060e01b60005260206004526002602452806044525060646000fd5b80828111156100355750815b92915050565b80820181811015610035576100357f3130000000000000000000000000000000000000000000000000000000000000610009565b81810381811115610035576100357f3131000000000000000000000000000000000000000000000000000000000000610009565b8082028215610035578183820414610035576100357f3132000000000000000000000000000000000000000000000000000000000000610009565b60006b033b2e3c9fd0803ce80000006100f784846100a3565b049392505050565b6000670de0b6b3a76400006100f784846100a3565b600082610144576101447f3134000000000000000000000000000000000000000000000000000000000000610009565b826100f76002850461015e670de0b6b3a7640000866100a3565b61003b565b600082610193576101937f3133000000000000000000000000000000000000000000000000000000000000610009565b826100f76002850461015e6b033b2e3c9fd0803ce8000000866100a3565b60008282045b80156101cc57600191909101908390046101b7565b5092915050565b600081156102f35760026101e8600a846101b1565b04604a81111561021b5761021b7f3136000000000000000000000000000000000000000000000000000000000000610009565b80600202600a0a8304600a8110156102375781600a0a60020292505b600a81106102495781600a0a60060292505b505060005b600581101561026c576002828385040104915060018101905061024e565b508181820211156102b057634190ab00828283020411156102b0576102b07f3135000000000000000000000000000000000000000000000000000000000000610009565b8181820210156102f357634190ab00818202830411156102f3576102f37f3135000000000000000000000000000000000000000000000000000000000000610009565b919050565b6000603183111561032c5761032c7f3137000000000000000000000000000000000000000000000000000000000000610009565b61034161033c84600a0a846100a3565b6101d3565b9392505050565b60006100356012836102f8565b36600a026198cb015a83030148810285811115610395576103957f3333000000000000000000000000000000000000000000000000000000000000610009565b483a03919091029060ff908603830204808211156103d6576103d67f3334000000000000000000000000000000000000000000000000000000000000610009565b8190036103e38147610029565b90508481151916156103fb5760008060008084415af1505b505050505050565b7f70a082310000000000000000000000000000000000000000000000000000000060009081523060045260208160248180865af1610464576104647f3231000000000000000000000000000000000000000000000000000000000000610009565b60203d14610495576104957f3032000000000000000000000000000000000000000000000000000000000000610009565b505060005190565b63556d6e9f60e01b6000528160045282602452836044526000602060006064600080865af16104ef576104ef7f3431000000000000000000000000000000000000000000000000000000000000610009565b60203d14610520576105207f3032000000000000000000000000000000000000000000000000000000000000610009565b50506000519392505050565b635e0d443f60e01b6000528160045282602452836044526000602060006064600080865af16104ef576104ef7f3431000000000000000000000000000000000000000000000000000000000000610009565b63c661065760e01b600052816004526000602060006024600080865af16105c8576105c87f3430000000000000000000000000000000000000000000000000000000000000610009565b60203d146105f9576105f97f3032000000000000000000000000000000000000000000000000000000000000610009565b5050600051919050565b6000610144358083136001811461061f57801561065457610660565b61064d6101643561015e61063f61063a60a435878a03610114565b610348565b670de0b6b3a764000061003b565b9250610660565b670de0b6b3a764000092505b5050919050565b6000610144358060000383136001811461068657801561065457610660565b61069460c43560a4356100de565b6106ad6101643561015e61063f61063a85888b01610114565b935050610660565b600061014435808313600181146106d157801561065457610660565b61064d6101643561015e60026106f86106f161063a60a435898c03610114565b60036100a3565b04670de0b6b3a764000061003b565b6000610144358060000383136001811461072657801561065457610660565b61073460c43560a4356100de565b6106ad6101643561015e60026106f86106f161063a878a8d01610114565b63095ea7b360e01b6000528060045250816024526000806044600080855af161079e5761079e7f3230000000000000000000000000000000000000000000000000000000000000610009565b5050565b5a60003560e01c63a246398a811415610b90574261010435146107e8576107e87f3330000000000000000000000000000000000000000000000000000000000000610009565b6107f660243560043561057e565b61080460443560043561057e565b61080d82610403565b606435811015610830576000805260006020526000604052600060605260806000f35b600060643561084b61084360018561006f565b608435610029565b60005b6101243581101561096f576002610865838561003b565b046108788160443560243560043561049d565b6108828282610163565b60c435808210156108995783955050505050610967565b6108b56108af60e435662386f26fc10000610114565b8561003b565b91506108c98260443560243560043561049d565b6108e56108d6868561006f565b6108e0868461006f565b610163565b925050808210156108fc5783955050505050610967565b670de0b6b3a76400006024356101843514600181146109205780156109305761093c565b610929866106b5565b915061093c565b61093985610707565b91505b5061094781836100ff565b935050508181101561095e57829450505050610967565b50909450849350505b60010161084e565b505050606435811015610995576000805260006020526000604052600060605260806000f35b6109a160843582610029565b905060c43591506109b282826100de565b6000806109be86610403565b6109cb8589600435610752565b63394747c560e01b6000526024356004526044356024528460445283606452600060845260008060a46000806004355af1610a2957610a297f3432000000000000000000000000000000000000000000000000000000000000610009565b610a3b81610a3689610403565b61006f565b905083811015610a6e57610a6e7f3331000000000000000000000000000000000000000000000000000000000000610009565b670de0b6b3a7640000602435610184351460018114610a92578015610aa257610aae565b610a9b87610603565b9150610aae565b610aab83610667565b91505b50610ab981886100ff565b92505085821015610aed57610aed7f3436000000000000000000000000000000000000000000000000000000000000610009565b610b18610b02670de0b6b3a7640000876100a3565b610a36846108e0670de0b6b3a7640000866100a3565b925050610b316001610b2c60e435856100ff565b6100ff565b91506000821215610b6557610b657f3332000000000000000000000000000000000000000000000000000000000000610009565b610b7160c435856100de565b9650836000528160205286604052806060525050505050505060806000f35b63ec2caa3e811415610dee57426101043514610bcf57610bcf7f3330000000000000000000000000000000000000000000000000000000000000610009565b610bdd60243560043561057e565b610beb60443560043561057e565b610bf482610403565b606435811015610c17576000805260006020526000604052600060605260806000f35b6000606435610c2a61084360018561006f565b60005b61012435811015610d39576002610c44838561003b565b04610c578160443560243560043561052c565b610c618282610163565b60c43580821015610c785783955050505050610d31565b610c8e6108af60e435662386f26fc10000610114565b9150610ca28260443560243560043561052c565b610caf6108d6868561006f565b92505080821015610cc65783955050505050610d31565b670de0b6b3a7640000602435610184351460018114610cea578015610cfa57610d06565b610cf3866106b5565b9150610d06565b610d0385610707565b91505b50610d1181836100ff565b9350505081811015610d2857829450505050610d31565b50909450849350505b600101610c2d565b505050606435811015610d5f576000805260006020526000604052600060605260806000f35b610d6b60843582610029565b905060c4359150610d7c82826100de565b600080610d8886610403565b610d958589600435610752565b633df0212460e01b600052602435600452604435602452846044528360645260008060846000806004355af1610a2957610a297f3432000000000000000000000000000000000000000000000000000000000000610009565b635d022402811415610f97574260c43514610e2c57610e2c7f3330000000000000000000000000000000000000000000000000000000000000610009565b6101043560643560e435610e41604435610403565b610e5083602435600435610752565b63394747c560e01b60005260ff8460f01c1660045260ff8460e81c166024528260445281606452600060845260008060a46000806004355af1610eb657610eb67f3432000000000000000000000000000000000000000000000000000000000000610009565b610ec1604435610403565b610ecb828261006f565b91505081811015610eff57610eff7f3331000000000000000000000000000000000000000000000000000000000000610009565b610f2c610f14670de0b6b3a7640000856100a3565b610a366084356108e0670de0b6b3a7640000866100a3565b915050610f406001610b2c60a435846100ff565b90506000811215610f7457610f747f3332000000000000000000000000000000000000000000000000000000000000610009565b600183169260f81c610f8882858884610355565b50600091825260205260409150f35b63f0869c7181141561105a574260c43514610fd557610fd57f3330000000000000000000000000000000000000000000000000000000000000610009565b6101043560643560e435610fea604435610403565b610ff983602435600435610752565b633df0212460e01b60005260ff8460f01c1660045260ff8460e81c16602452826044528160645260008060846000806004355af1610eb657610eb67f3432000000000000000000000000000000000000000000000000000000000000610009565b50506110857f3031000000000000000000000000000000000000000000000000000000000000610009565b00fea26469706673582212204541c254fa2f8cb8c984e630759b2205620a95a26ecc623edc3ab932405ed9d664736f6c634300080900330605581d0231ed5354bca7dafd22bb3920fb638db5b2c47a16b756e4597be1f57907011910bd0219205005581e03819f723b621f7301550fa28fe1da6cd5e08d7415e5344f4998b38324100c024623a3d2f3cb1005581e031ffb817a23294eb0b5f07b94c676549f9757dcc1fb32d48ce9594c3eb008470a53e6ae5cb00005581e03c6859392c8687fa407cd602cc274a4fe07161b79495628f819ad1eee300c064717305c32197a0005581e03218e6f7f0ab1d5f281f1a1b7ab02ce88284b4bacc2888ff7ad8ccdd9e00c02470326d38e732e0005581e03e5d91374ac82f6d4ec18836b59f5a2c9a9c465e31b1d2619ed4ecfe2000c0247016e3cb0800a2803ff5d9e976f973651dd947a333068af6a08f28f3a73530db072e3642bb5c21f8c02193d4d03575ef466a3b73206b88c5fabcd75ce8af67e7c0d6ce156610b4cf35d1fdb7d7303c41bfa6375309b1d81df0639966773403b29c7d926822dbf2cc841cb6facd6a4037fbc1ce2f7641c7931b6f9225e4970c7fe6141d6c5209bb986765d4e41a5ec7a0219ffff0219ffff037e452042b72bc7486769d888ce81192c33c05ca1a32cf1357dc4fe80bc65cb350219ffff035b2ec3cf3949bdd692095eb3eba66a70f6372d9bdcdf94e459013106efc1b03b03633f486667fd8f3e74defc374a3dab78251c35b43d5f1c1d02d940a95d860cca037c66894625329da465da35e6d7bc559355a4230e44ed324bcacf13f9df2be1d803e44eca6ef1f3aaf3e143cbb79222e1706a712f629df95fcad8493bf713a1346b03d82074de8e0a595a2b2dd1e52ac774b5c8deea6b8808eee8c396768631573f3f03d2a7f948eeb9a34f30270dbfb1037078bc9e4de8cd5244361c86d9366852351903aa92519d32ef9e516b0687023a5d2f2e51b6ab9e54546948cd84ca989912ff3203bc73eabdc0ea38055a14bf736bef5a46661f5458579a424e2cd45258dd8e8a81034f21664819e8d20cb5d39c580e0266774ca89c61f09675aa0f2fab8291af896e03dbb220e98cadef0293a79c7676e26f330527b3882994f8449be3b59db2e1c2fe038fa417a21ab1c37180ea3878e99f5a45584b82d8dc524250eb538a333844660b0308017603e647d327e98877e029ff4b105a70d9be9b2773d3edf3e144ad1bb8c703894bedf3f10dc59e106e81424fa6834f4cf3fc304195c4a3ea2dfb84cbeea8fb030e99030fb32a11c93c6c1bafce624278e0bcd167f4a9dd0b601ee1310f75b9fc032b32fd3c46addc317723ffaf46d6d2c83e59f413ffbe773ff6210995d14bbdcd0329eefc891a32d4d198015986b0e4e9c9ede4a41add0e62d260338be93fa8f83b0315dc57e697b86c3c723e69ae728f90ba95436ecf5673e4b53f5ef1f35ffc5ee203deec33912353c931daf16ada396b950565514bd2596051751cd37db7415dccc9036b65bb1be3b53fbd03cba56e25211ad9fe6a69f574a36f3d685c066f38f32a71038b5de71c260cf41c752bc568e6acbf4f55485935e28cbe5d96f22036dedcb79b034dbe2c84bc916c7faa41d9b4b8a7f01e3d88cb88af67410ede065ead334b1547036c0edc47e8644643fb718822d55c58653a8b3f1e8bc74f80068313ec0cc40214032976f48a5d8a3e22c40c6881fd978cf4302a63102a7fabd04a47a82fce97ed8303c335f542560b9b6da80228ef3e56a8f14594b4d1bbdfa501431130dabb52671a03df3c9dd7bb7d74dbf86a2c55c06813121b8ad7621e52048757eb7705c7207cd303997dfc232b49072bf7bec66b289d9ed71b561a110053587e6d7c15bd03e366700395dca862eadac376b81c299472734929e74820fc49449dfe1fedb65e2b9fc5eb03ab33eab0ee501c648500cb10c0a3e908869b6756941c08a2afb1713353654085033d37e446a924842974d4d7b098636a49e8a7d6c3f8a751e32ab20d919242a37e036cfc7d2e56410a2bdc064948b41ac1bed05542326d4814959f4ee9af117eec7f03b8b8cc82820e73a208597625e6c5b486d595e344abb4fe0e19e43c08f823d77e03433799743409bcdcb3c70f9613ac3e75689a46501b4ccb9f3641c975247d8222037e262b57d76aa0ceb07086d3d8fd755db55de16ef1c379537c7a3ac0522015b803fdbf6167fc8ea10ed15b32eeb9da367ca6279e7bd05471ba58c7b3768212f20103bb97c53c836eab0582ff973c57f5bd792301b20cac42e025a4b66f47bca6119105581e0397f47a7598ec7a8c25664e23a909a1466d1355cd5d2719a5f0d85169b007011bffffffffffffffff05581e03131b32d7c69459432b373fd73c9ae6c98a096d2effed04d48de5a85090040103b1d9bcd829a0392746f9be1658728296d6d3a46c1867376456a7a6294aa8de7705581e03225a755015aa27de44d00e9b6ce23aa9e94e67e7865459609746d7ce100c024702e8e090c7254e05581e0322b42a98e4d742f0d6dc987ca58571ed22abb925cfb83a0f429292a4b00c034606ef25bb920005581e0365da2a83f5a2182cd8366a2bd6e9c31d0c982c2d32636abd664bee01700c0246729babda021905581e03b21c52863af12037e7e914a0fbc9498a26016d884d91c0dc1f975a51a00c183e46e79bbb669f6005581e03d2bf007fe6826f49aaf24df697b27e7544fd595c87e87d1cc30c8df0d00c0347013d71988812e005581e034b26cb5e9e939cd6a6d0a2972dc7da32c9126ca64186afd9adb0e6e7000c024701d5778aaa847005581e03bebbdb898d632172207669356b304d4fce942fb48852cee1cc5299d2f00c014701ff889197f20005581d024584b5dc3b21144a614c51d81beaa84994f6a7107127880577d3516f0c190b4b4713ac825a5b044a045920d6608060405234801561001057600080fd5b506004361061012b5760003560e01c806352180208116100ad578063a457c2d711610071578063a457c2d714610332578063a9059cbb14610362578063b78b52df14610392578063dd62ed3e146103ae578063f2fde38b146103de5761012b565b806352180208146102a057806370a08231146102bc578063715018a6146102ec5780638da5cb5b146102f657806395d89b41146103145761012b565b806323b872dd116100f457806323b872dd146101e8578063313ce56714610218578063355274ea14610236578063395093511461025457806340c10f19146102845761012b565b806242d17c14610130578063044146871461016057806306fdde031461017c578063095ea7b31461019a57806318160ddd146101ca575b600080fd5b61014a600480360381019061014591906115e2565b6103fa565b6040516101579190611628565b60405180910390f35b61017a6004803603810190610175919061166f565b610443565b005b61018461053f565b6040516101919190611783565b60405180910390f35b6101b460048036038101906101af91906117a5565b6105d1565b6040516101c19190611800565b60405180910390f35b6101d26105ef565b6040516101df9190611628565b60405180910390f35b61020260048036038101906101fd919061181b565b6105f9565b60405161020f9190611800565b60405180910390f35b6102206106f1565b60405161022d919061188a565b60405180910390f35b61023e6106fa565b60405161024b9190611628565b60405180910390f35b61026e600480360381019061026991906117a5565b610722565b60405161027b9190611800565b60405180910390f35b61029e600480360381019061029991906117a5565b6107ce565b005b6102ba60048036038101906102b591906117a5565b610858565b005b6102d660048036038101906102d191906115e2565b61094b565b6040516102e39190611628565b60405180910390f35b6102f4610993565b005b6102fe610a1b565b60405161030b91906118b4565b60405180910390f35b61031c610a45565b6040516103299190611783565b60405180910390f35b61034c600480360381019061034791906117a5565b610ad7565b6040516103599190611800565b60405180910390f35b61037c600480360381019061037791906117a5565b610bc2565b6040516103899190611800565b60405180910390f35b6103ac60048036038101906103a791906117a5565b610be0565b005b6103c860048036038101906103c391906118cf565b610c6a565b6040516103d59190611628565b60405180910390f35b6103f860048036038101906103f391906115e2565b610cf1565b005b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61044b610de9565b73ffffffffffffffffffffffffffffffffffffffff16610469610a1b565b73ffffffffffffffffffffffffffffffffffffffff16146104bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b69061195b565b60405180910390fd5b6104c98585610df1565b8473ffffffffffffffffffffffffffffffffffffffff166380d859118484846040518463ffffffff1660e01b81526004016105069392919061197b565b600060405180830381600087803b15801561052057600080fd5b505af1158015610534573d6000803e3d6000fd5b505050505050505050565b60606003805461054e906119e1565b80601f016020809104026020016040519081016040528092919081815260200182805461057a906119e1565b80156105c75780601f1061059c576101008083540402835291602001916105c7565b820191906000526020600020905b8154815290600101906020018083116105aa57829003601f168201915b5050505050905090565b60006105e56105de610de9565b8484610e5b565b6001905092915050565b6000600254905090565b6000610606848484611026565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610651610de9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c890611a85565b60405180910390fd5b6106e5856106dd610de9565b858403610e5b565b60019150509392505050565b60006012905090565b60007f0000000000000000000000000000000000000000019d971e4fe8401e74000000905090565b60006107c461072f610de9565b84846001600061073d610de9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107bf9190611ad4565b610e5b565b6001905092915050565b6107d6610de9565b73ffffffffffffffffffffffffffffffffffffffff166107f4610a1b565b73ffffffffffffffffffffffffffffffffffffffff161461084a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108419061195b565b60405180910390fd5b6108548282610df1565b5050565b6000610862610de9565b905081600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156108e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dd90611b76565b60405180910390fd5b81600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109359190611b96565b925050819055506109468383610df1565b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61099b610de9565b73ffffffffffffffffffffffffffffffffffffffff166109b9610a1b565b73ffffffffffffffffffffffffffffffffffffffff1614610a0f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a069061195b565b60405180910390fd5b610a1960006112a7565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610a54906119e1565b80601f0160208091040260200160405190810160405280929190818152602001828054610a80906119e1565b8015610acd5780601f10610aa257610100808354040283529160200191610acd565b820191906000526020600020905b815481529060010190602001808311610ab057829003601f168201915b5050505050905090565b60008060016000610ae6610de9565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610ba3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9a90611c3c565b60405180910390fd5b610bb7610bae610de9565b85858403610e5b565b600191505092915050565b6000610bd6610bcf610de9565b8484611026565b6001905092915050565b610be8610de9565b73ffffffffffffffffffffffffffffffffffffffff16610c06610a1b565b73ffffffffffffffffffffffffffffffffffffffff1614610c5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c539061195b565b60405180910390fd5b610c66828261136d565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610cf9610de9565b73ffffffffffffffffffffffffffffffffffffffff16610d17610a1b565b73ffffffffffffffffffffffffffffffffffffffff1614610d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d649061195b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ddd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd490611cce565b60405180910390fd5b610de6816112a7565b50565b600033905090565b610df96106fa565b81610e026105ef565b610e0c9190611ad4565b1115610e4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4490611d3a565b60405180910390fd5b610e5782826113c7565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610ecb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec290611dcc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3290611e5e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110199190611628565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d90611ef0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611106576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fd90611f82565b60405180910390fd5b611111838383611575565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e90612014565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461122a9190611ad4565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161128e9190611628565b60405180910390a36112a184848461157a565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113bc9190611ad4565b925050819055505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142e90612080565b60405180910390fd5b61144360008383611575565b80600260008282546114559190611ad4565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114aa9190611ad4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516114f79190611628565b60405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161155d9190611628565b60405180910390a36115716000838361157a565b5050565b505050565b505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006115af82611584565b9050919050565b6115bf816115a4565b81146115ca57600080fd5b50565b6000813590506115dc816115b6565b92915050565b6000602082840312156115f8576115f761157f565b5b6000611606848285016115cd565b91505092915050565b6000819050919050565b6116228161160f565b82525050565b600060208201905061163d6000830184611619565b92915050565b61164c8161160f565b811461165757600080fd5b50565b60008135905061166981611643565b92915050565b600080600080600060a0868803121561168b5761168a61157f565b5b6000611699888289016115cd565b95505060206116aa8882890161165a565b94505060406116bb8882890161165a565b93505060606116cc8882890161165a565b92505060806116dd8882890161165a565b9150509295509295909350565b600081519050919050565b600082825260208201905092915050565b60005b83811015611724578082015181840152602081019050611709565b83811115611733576000848401525b50505050565b6000601f19601f8301169050919050565b6000611755826116ea565b61175f81856116f5565b935061176f818560208601611706565b61177881611739565b840191505092915050565b6000602082019050818103600083015261179d818461174a565b905092915050565b600080604083850312156117bc576117bb61157f565b5b60006117ca858286016115cd565b92505060206117db8582860161165a565b9150509250929050565b60008115159050919050565b6117fa816117e5565b82525050565b600060208201905061181560008301846117f1565b92915050565b6000806000606084860312156118345761183361157f565b5b6000611842868287016115cd565b9350506020611853868287016115cd565b92505060406118648682870161165a565b9150509250925092565b600060ff82169050919050565b6118848161186e565b82525050565b600060208201905061189f600083018461187b565b92915050565b6118ae816115a4565b82525050565b60006020820190506118c960008301846118a5565b92915050565b600080604083850312156118e6576118e561157f565b5b60006118f4858286016115cd565b9250506020611905858286016115cd565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006119456020836116f5565b91506119508261190f565b602082019050919050565b6000602082019050818103600083015261197481611938565b9050919050565b60006060820190506119906000830186611619565b61199d6020830185611619565b6119aa6040830184611619565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806119f957607f821691505b60208210811415611a0d57611a0c6119b2565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611a6f6028836116f5565b9150611a7a82611a13565b604082019050919050565b60006020820190508181036000830152611a9e81611a62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611adf8261160f565b9150611aea8361160f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611b1f57611b1e611aa5565b5b828201905092915050565b7f546f6b656e56657374696e673a204e6f2074616b61626c6520616d6f756e7400600082015250565b6000611b60601f836116f5565b9150611b6b82611b2a565b602082019050919050565b60006020820190508181036000830152611b8f81611b53565b9050919050565b6000611ba18261160f565b9150611bac8361160f565b925082821015611bbf57611bbe611aa5565b5b828203905092915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611c266025836116f5565b9150611c3182611bca565b604082019050919050565b60006020820190508181036000830152611c5581611c19565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611cb86026836116f5565b9150611cc382611c5c565b604082019050919050565b60006020820190508181036000830152611ce781611cab565b9050919050565b7f45524332304361707065643a2063617020657863656564656400000000000000600082015250565b6000611d246019836116f5565b9150611d2f82611cee565b602082019050919050565b60006020820190508181036000830152611d5381611d17565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611db66024836116f5565b9150611dc182611d5a565b604082019050919050565b60006020820190508181036000830152611de581611da9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611e486022836116f5565b9150611e5382611dec565b604082019050919050565b60006020820190508181036000830152611e7781611e3b565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611eda6025836116f5565b9150611ee582611e7e565b604082019050919050565b60006020820190508181036000830152611f0981611ecd565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611f6c6023836116f5565b9150611f7782611f10565b604082019050919050565b60006020820190508181036000830152611f9b81611f5f565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000611ffe6026836116f5565b915061200982611fa2565b604082019050919050565b6000602082019050818103600083015261202d81611ff1565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600061206a601f836116f5565b915061207582612034565b602082019050919050565b600060208201905081810360008301526120998161205d565b905091905056fea2646970667358221220357e690451ddc734a8d73ddd0465c936d8fdb043b8967b2dd588aa7667b2dfdb64736f6c634300080a0033036b6cfddba53ae2a1f86e24b8e2ae64c9b4b89cc3512a4d738a1fd700788d9aef0311bbc6bbeed8ad0dc2f06959db65f21fbef2a6e5a848b1e8c114a2173400af5a03e9a2bce9b69151e249fd3bf1c8b001d50694fbbf3255e4bb73be2e4e81549a2b032ca3945442520d3cad6163396d2b55a1acbac344edd6c58ec99f5dac2bdb691703f934fb4ba97babd0184af5a317b6befe4b60927046c786c931e38b69e590a45c03d7f39aed978f4074e1746a703be151d46463f9011b1f4ef1ca72af7e7aa84f2c03a750db91011c30da686e8e61cc539445d5f40b27a8f262b2f88435dcf70127a903b93ac0ed03a81de8f746c72632c0194ef34d480f4c6a6b9dd556c871e4f06239039647a011756d8be129387cf5191474eb806cbe73d62c56a8fe12da0a91c5c9ae03b0fdfdf928783ee0079a6c72b27fedf212313ac18788d569d7f27d7ca7791b1f03fe60beb23f663faad1eb1758cae7331e185a792f03883acaab9cb8dd9621d65303c5a11650c942f928affde849fea38e2c659846dfec4811ed46d4a11af755f51e0331de1deeb9f8e5e2551cadb0a8f4e03463716106aadbf2fe80fdc356e644b44303cda772f24286067f0ccde3b351d92f4ccd2db4b0b98dadfa1b47bb66ba1b0116037bd5d6e02103c33427464959540b99c5aefaf908a07c8aa6983bcf6703159bff03cd6cd5300355009df6229472c6ce686b5fd4f5d63703fc353ceb799d2533dfda03f6c004fa7b601685a0af58cbdd37a3ae81ffed3991d23b1ecf33006a0058afc40384b4b269e9f9bcb305a43bdca2ff3ce58c0d30328b0b92e82ae08f9317823efa03c35c07fe0490ccf1dacea3041d96007249ac706c9ff95a0366264665cd511bea03383f2902f60e01b1e0d6f3fa82695b304dead22d94bb7796c247e408b870b1d603bf80b4c6e50a8442bae90ce2316d9f2887ac3331893dbb8e55817275cadbe6fd03f87b5f580172f0a90bd1e821458a98623947440776df22ab5365660e5c65681803ed218d402d1d3247c03d97ed31d432ec1ab460a729f5369e1d1a6caa58df9c4100582003a99f58f674aa2bfbe0adb149d3e1b17877c93df5fa4458e8eca196e033a2304ad3c0066f410191013a0003e4b4b6891499f855b030cbf7ccd1559ef5c64e27f6f3a3bc1204883345bffac3030e1f71946fb534197c36037662cd3cd26a5b63af09c477b5001c03434d39001303f9de06403602993ef32f1651da5f0079a177d7a393979db704584d8558fc007500582003e855d1ce4f173ebe60297b45864edd228520ebfbac89c221b6528bf4de8c804901c20e812db1eb000003dd0285360926e544e29ca9b2dc41b1c8387e1deae7562203e8ccc7595d3f3f620219fefe033b89962493f7b20163544887baacf1b26f89be560608b2579b0d4876665f860e03c29a9f20febe2bf05638091d5d3c50993f3d1e6119df1371164dab732b0acf9303234078b95105ed236efe9d6c72c6356552c11978890fc5c89ada2ccce5ec98f503092bfd5927f4de70bc9e3620786a3658deffd4f8d6314dcfe2f243237016cafc03271d2832594f949469192994f05d9cd870565b8c4c3f8b1d39bceab6777e310903aa8b89a66e5149bf0d8d43fe210007dc8ee7572f4012de88e0a84c77f666e2f203200f6681558e2437482b59f0e8578279888f53f823ed0f7b10b16962460480e203daea87d535839f00f6b0936410dd5966d03a8c8adfa001a72515cc90c363e1f5031410b9a47bb60d1dd5cf9388c745ead1b2df517cb25894e3a1c372ba841201ae036edeab93d9679c7ddafddd05d32233416ed8213518fefe354098c25ec63944a40219ffff030d4770913dd39174cba35b5ea6df88853540d02792c8da298dcee0581f6c145f0388920cc374e1bed4d464a3211d96d24247a76722f46d12e515275f25aa10c96c032fdfaba01fa39fa31a4cf2dbe5e878708201289575d3fd1a316c4acb99b4072703ff4fc431cea73414f13f09e3419d1f531c8d6bb186c9230c3be070fc3f59053803b3b9462e6d4d4ef2d9cd0f11388e6d7463461cb99a8acfc06b0531f571b6525503ca88e78f08f42489ec825ffbd98ca8129baac8e120f527824e4bef6429fd1d310326dffbb6856789c714ffa94c12d6af373fb26d1cc354bbbd6d09dd8d7e5e179f036132c855378e086dd6efc45def04c497ab4dbd5348bb02cb4a594be3a9dfe41303730b575b0f6db19063b9c1cd6a6b8ec2d14e72bc6820fc5d7e8479785739f209030ee142f9db26ba6fd544cc031ed5eabc192113455e8d18dfc6336168e325ad8003f3b02dbe1d88c34e9ca044265668ea43cd943eaef55baa187cf8dd1c11b5b68a03593f77de0b476c4847637775136faeaa5a867dfdc3f77ca4a14881ca224c8d32036413241339849e7c8894bb1107786c3adbe986ac52e84c856904ee4be54bd96303381bd315c4abed93db3079d1fa5bf093f8f7b3b4de58b065a2746e036d20273703ec8ef82770ab7d3c3113eb98906ae579cb12236de6798234e7259c0280641ff5033de25d31bc0016f538e8da2ff63112337e045440236b8736e249585e0dee68d7037e727fdf6bce23e383648a44901e0f7a5de49a224268bda98e7888c0eee87c3100582003c6b7788152a40573c76e477be95632eac4f061a758a82b73a3e69799423d704d0c9f2c9cd04674edea4000000003976d44a732ab84948e9f76bd703086c278da106a6fd87c6e59aea74df919747103eb95489c392c2baa4b158024122f59aa8d3dc1d66754d709eae64bd852bacb7c03d50d702418a8508d19a4d38fdf1f6366555c007fead2054a2cedd68b9a985c3e0357b5598145fafe878ca6b8f00262bc3fa2308258a25be556aae2849bda41e21f038e48887d0dfbf81008ed79aa251210cb07468f3284c6fc73323f98edd63f7c53039eb2569ebaab04426622017b582c87c2d8ef2f301d83e9e89bf89ee40cbd380a03e588492f47305c8cfa7356dcbece48d9461190b6561171471d8f1b3280162d3903845b023a3def7197cf71ac8c35d9f6cc7c3596d1866421e1c50fc7ff986adfb603c1e8e6735c28e4a129d6a8e84ac526eaf151ce1d5d612edf7f2c910b958df79400581f023fd1117d502abb763b2e20f586827260f79d680ea93e5432667982e097e74909d7627bc1703c000000581f02eec50603a23066d10cff4716dac6c6ac6f9713a070392fff08f711eb42ae4a10effb1cb8b00a43400000581f02c0b6ae3bacc8388e846b41b8d138430bba7fc5dcbfc615001fbc82818eda490b39a6f2899f6b9c00021924100369f598dbce04d6fddd4b648edc9f5860073d0635d4d4dc7db6545b51a5faed1d03a0b9dd3ee56a96cc510e21a51498d17cc34390acc17ea75205ee326312bdcfd80219ffef0219ffff036e32354130ae5a8561e5c22a8f381bcbaaaac745607bb1bb3aebc06229fea15203cb171305900e6f2805a67775aac6cf9fd3c359a0e9891134306200f9eb89a0d403f8bc555ffe2a6e9b595c2fb550f6dba13f7d4b72bc68b35946dba4eafebe9b070399784b255cb48196921ecaf793f7cff1defe04ea2eb9fa7c8e4ae409a674f0930219ffff05581d021feec89a88827bc22097a3892d947ac0d9a81dfa634aafef4e1024a907011920d605581d029b3a7a932b865b40bec5d0637bc57303fea8ba947250905ae33268960c03468de19495c000021908820309795494c49cf10c55c799f5253478d5624f0b88a2d69a5c716283337e5e23710219efb603d6e0c579abc29194956cc370b9469aa93305f285c03eed1aaa2141bb90a104b303f674e9e597b30391de0cc72aaa8dfd6e216397f56d5dcb1ca57ee376015f461e032ce613a2b3132f9c7aa965421b15b105d8b4669460c59fdf35c3ffc701b424cc0316bd4ecee095f16c56a2829b0cdfaf751102304e68a3b43432c22f375ba325730328109653f2701aae2eda2f7510c2be068cf280bb72949477a2a3f81d50a63520031d532564e69110964778dfb75e90461e96119ff8a1dd3a4407b501a75d9037e103d01b949a1fc3b65116fb29c77cb148439787e5ea16bc115a708d8e4c239a47dc037e69af8bebc14b5c50aad94d029ad1ea7ff0cc76c749b6510d077577ec2c6543033225c89a64708e723a0f98e67b1f95e27e1fb293d072c30b843c98ebe3d6a33003f91ee3869965a11c3657181579df39b9e7ae43c0c35cc954d7620ea56812664b0219ffff03136a49e5b58fa5362595e26003aa6491f623dcb0fa29bb157e1b0da0f0717aea03f9a615ce48444d7107f827738041fcf516bc55e8d1bd2d3a5eb6385e4711ae3a039bf4a57cdc8c29552e9291432d73e32a8472f59e299f6e3d346c4a2b9dee63b903a1ece98d1ca564dfa9ca5eda6ea6c956a88ff549954b2ab9fec8dd1d8fcf93cf036f12cb170e462b133f71e05fe5981013ef3a03249c4ef0843678763e2e9753b80363898915ca41c6b14153d3c810173d4591703823263091b207d42b470087c8b403a023c178a871564d1baede5f3ea31cc74f701691a2821d5ed117cf8ecf5ab211039ffef91f3b42ed64c64e00814591c1d9182fedde2cb7feb76fcdf9474cba5c8a0219ffff03460197286aef42c67de113efe0e9d5b13a3804dd019f628639006ee1440631ac0219ffff03c7e1215fd24cc438d0931661a5afea08d23a8c56072cf7cf0d5ba0e3e4b024910219ffff03a077e39132664358e4971b6486f6b06e0f76ce3ef150ab40b6815ed6a8cda61d0362396d3b6557b404cb5dad233c6e960549d7041cb6caf72884a29b006f23da4403d1a832783d3c894dff0ee87b61bb38d9a809111c6255096aeda9103eb9ce944a0325ba2ad39c1936bef4e57d0d3245ef52494da1ac411fe882e871bce65e2483570377e091d4556707c427472e86a10328f1cf5fdfb27a7b9302f2b84d93931a9720036a8abaff283f57b3ace9c80fa60360736cee6e32f578dceec5455c49362e08220316c557597b72aae719d3b1b50ef97db55b742c1dd37f29229d0347e4afe7dcae03c03260fc1e67f074ad286b37dab255f4e07dd256276809214fcfdad1f2f28cbc0316bbcd4165be8af36bef1c42ab0f1799e43670253943a022def7d1f684fb180e03ca67c7231f585ab5b1323709e3b850f29f4b127b189622a0ace00c82947462ca032cdee5d985249b2655c23c072f14b336fc998a4874e113a66623480e46fab49405581e0338b96e63503f62522a761524a99de58eaeaa3fea45f64f14dce6f369c0040105581e03f80e33e04c378ebd7a7b2409f91464348aec68871e0212e84ae9c0c7c00c034702267685067290038ab333b90ee4d8146de3d3db31ead01702f5932b35b962e75215a7eaefc0406403eb19588f0b6c47caa9bf51d61831519db0f5fc63f2ce661f66be68bc78bba4ae05581e03cf27326336313bab774d93a48fd2658d81c86f87654fc5207cfb8b08400c01470d049321aadd2005581d021c64dcf9a3eb04826ae101ec4dd061096a08d5ff178e290171ce23c50c04470806cabc176269031b5e7e399b1dae16f1d8fddcbbfdedbbadc4b8e5c08e358255eba96ba5dff80d0605581d02849eed34594c3e47f2fc3780bffe04756a2d8842cba633d7444ffa4707011bffffffffffffffff05581d0227a83750a2b385ca8af004b49b12b73d59ee03d248dd7db1af03b95e0c074730a5245ed4412a0459068660806040526004361061004e5760003560e01c80633659cfe61461005f5780634f1ef2861461007f5780635c60da1b146100925780638f283970146100c3578063f851a440146100e357610055565b3661005557005b61005d6100f8565b005b34801561006b57600080fd5b5061005d61007a366004610581565b610132565b61005d61008d3660046105a2565b61016f565b34801561009e57600080fd5b506100a761021e565b6040516001600160a01b03909116815260200160405180910390f35b3480156100cf57600080fd5b5061005d6100de366004610581565b610280565b3480156100ef57600080fd5b506100a7610392565b6101006103dd565b61013061012b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b610469565b565b600080516020610631833981519152546001600160a01b0316336001600160a01b03161415610167576101648161048d565b50565b6101646100f8565b600080516020610631833981519152546001600160a01b0316336001600160a01b03161415610211576101a18361048d565b6000836001600160a01b031683836040516101bd929190610620565b600060405180830381855af49150503d80600081146101f8576040519150601f19603f3d011682016040523d82523d6000602084013e6101fd565b606091505b505090508061020b57600080fd5b50505050565b6102196100f8565b505050565b60006102366000805160206106318339815191525490565b6001600160a01b0316336001600160a01b0316141561027557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b61027d6100f8565b90565b600080516020610631833981519152546001600160a01b0316336001600160a01b03161415610167576001600160a01b0381166103235760405162461bcd60e51b815260206004820152603660248201527f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f604482015275787920746f20746865207a65726f206164647265737360501b60648201526084015b60405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035a6000805160206106318339815191525490565b604080516001600160a01b03928316815291841660208301520160405180910390a16101648160008051602061063183398151915255565b60006103aa6000805160206106318339815191525490565b6001600160a01b0316336001600160a01b0316141561027557506000805160206106318339815191525490565b3b151590565b600080516020610631833981519152546001600160a01b0316336001600160a01b031614156101305760405162461bcd60e51b815260206004820152603260248201527f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667260448201527137b6903a343290383937bc3c9030b236b4b760711b606482015260840161031a565b3660008037600080366000845af43d6000803e808015610488573d6000f35b3d6000fd5b610496816104cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b803b6105415760405162461bcd60e51b815260206004820152603b60248201527f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f60448201527f6e20746f2061206e6f6e2d636f6e747261637420616464726573730000000000606482015260840161031a565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b80356001600160a01b038116811461057c57600080fd5b919050565b600060208284031215610592578081fd5b61059b82610565565b9392505050565b6000806000604084860312156105b6578182fd5b6105bf84610565565b9250602084013567ffffffffffffffff808211156105db578384fd5b818601915086601f8301126105ee578384fd5b8135818111156105fc578485fd5b87602082850101111561060d578485fd5b6020830194508093505050509250925092565b818382376000910190815291905056feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a2646970667358221220f334841425b1f38160bb0f366004dda133c7b745e4e5596ad7a442ccdf619c7064736f6c63430008040033035569236669cae1129d044f610e1eb966d7817f1424a0d7efeec4c8eecb05922803331b86b26b312c8db788e254263d5a7ee0afb36d2d1ec30006bb4189f5d6be5b03d18a6799d094d942016d307bfa997d0e57f295f46bc825716479d34e7bb8305d034292265444c9cdf4f4d25dc0ab93c9e88e0cf09a938e216ed722b99f0c60756703ca88576539c948dd4cb8fb440a02234b0ebcad9f4b5a047b63c47a72e7f702ec035297813a682d7265710aebc9d8651919455cb3e64b48d14c704fdf158500d0ae03619156acd7acd3c8a7f7e7369770ed0ec0b76879e1fd7b9e44ab918bfcfd6c2a00582003141674b1b6af878e4c5071d5bfb5c8ea453491c8231498762a8adc572e8bc04101005820033d43367125fce176369a5cdf9998861eae6e8b39dbb53afec6480ac01ebc90410103e779ffd25c3f503670086c19ee1f6a6fdf33a6636a110d38c8796478677db523005820039d3ae49d083231bc36c250c09bc7d0517368eb73c6155002de31d0c717d220411b00582003d8b301f34e4d677115e90859e04ccc82ffb23e5e480a1a1a3caa0ec6e489f0410102192225036b4ca3f310ce2de5e4cde529939c4be9e0bc5abf38b0490ff75eb1e55c91930103eb4c6727300ae87cdd95d905c4df3f64d502086f6f05df290f42ee3e21bae72303d57ca435b5d17ef26b19233b6d9bdb7cf18f3af4dd438d03c5741ef5423891ba03c0bb25b0fad26b958ae23f3457e309b99d1155d7612fe1f55b45c91ebdbe057a03748046c15d3c17493e4277a80db85b4744a1df824fa8140d773ef6481f8f8a030348b47c422031862854e04d97fec64edaf763c83a1fe259e30449dce6df7de0d303d30a97ec4eb3d5e0467518a0b653d987e179133dba81ce1fcde2504a2d99ff43032b987ba6265ebbc16ae460662ede7e5fd3c812b98d4eb57b8136428d5a5780710314538067c1591baf364da1d540f8408498e6f97fe75e2ec0ea28992b601727440219ffff03f487234f2bd030d2d1042f1e78fcb216d830ef6dcfef86830a507ed18ad97a1c030d58bbe86513a65f1e2b7d52540833961151447a54afd2de04424a4bcff9f525038789c9bd4628ac67d5fd8f844eb343bc1d50af4f3383c337f41ff537f5452b1003723bce02d3e69576cf7e3f73c8049d330199ce878890287038abc343bf1eb9e3034da154ed9712275b35ea1bcf6a2ae95244ec1c9ebcb99631396514a28011461a036db3b5847065df7625d037601f493212f79149d0887b7170e4df56617e4494a503e19f2e062131daf9d550aa2f9f9e0c1f74d957c9225de3bf674de6a55c844a5103532f0f2cf584ce3a354c36efb09868825ce3f0d0bacb3488b1f1524b439d956d036475c169e20acb18b4acd1c022528bbd28e61fd918d3206f4c07b0d66984b7630058200397230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe0562260fac5e5542a773aa44fbcfedf7c193bc2c599080000582003c55c06108cffd98948884331486cddd2c5900dc3b611fc188a2c687c662d00411200582003faf7798a94a9e8da51f03e54cf5af7271cef064e1eed9ad808b03bf44fcbf0410100582003286eb1945db39cfabb6094fea64b80b83a4c8393c65845408aac10c94818a046025ddbd3000700582003b336a9be8c83a81ea9d8e25d377aa8ea6789e143ce2a8028d0c4b500c08460410103929dc1fbdb57d02d335de3c33ba2f822f541ce94f2dc9c5534b899f09ad246000058200373f63017304f142e9426d7bf97c0f2d954af2aece6d851fdf7d57a685967604141021960b60323b6d66b700fb82bedae32f3dafd77cedb419d9c012144c52239ba050dbbfcda037138b24de5c4a0956fe21a1bcc1039815f52223aca23053a65a7206a0e43136203ab792b9ca9ef594f47db22e72f5ccf90b1935b67b68f2f124413a62b8888cf41037416bf179e1b496cad960e0cc31461b66a5e2aca9f1048319cd74e8a678b1ec0038f8b9cdac4fd3e15435af04dc828f4afd75b2e52fe918682e3e09ff9d19eafae039c999e4febe30d5bf60240ac7ab13bf8bed7fe2b64fa582d8ab76f6c240ddf7603d4f099132b85051c06be6435e57622c403e4e002ba726750258ebcf005b7fcbc0317aeaad26ebfb46ebfe50d64a9e7ad61a75dc644362379e8493ff530e08132950219ffff03cfa8189746a65d23fba9badf47f205bf104c5759c828adea89247262e948c49d03aa5ff032046db81668ce01c5dc7e154b9cfdb9daddb12e4d785d92ef99324158005820033bff30332e6e9b1458dddea7b137c65bd4b309a85fc6ffe7295e9f1e321580413e00582003648d1999cba9fa3ba80719bf13fc7d8a3660bfa8320266c90f52e8b479d7404405107a8400582003a7053cc5c15b5455dd4118fe1f9f6cbb3f5d8699d937ddf4a56c06b0bddae041410058200373013e5743ad6e192dd85a4756fa5fe231a7f38d793c7dd6eb70b81e5144d04151030e8de8c1726218ccfcc37f1d56bd4c0db43e6903b017905c596b822cd49b30db00581f02c9cc107c913d52ba01cb8f8a7c18b463c1573dae365b9510e5c50f4b31534405d60cad00581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154223d59fa315d7693df4238d1a5748c964e61592302198400030205b240f9d8d2353150cb7529cda8296bc7fffb0858298f0eefb14178a54f5a00582003e0e107bc1a02a9c49b9b638af3150b01ee572a93aa217610e28a997da89eb0413d0219f84a03ba03c23cc2f2955008039614490471d76862a25039c91bbf48cd991735d15467034b3602232b7a1709bd298b782eb0179d86f00b29dcdcca38c51863285365601a03b59e1b4500fa797713a7155e262298e26d028195a8f23d161848744dbf514fb003d4a7a0488f6f86d763ab0e57db4bcbf4f9ce265525bb9e26dadb15917f79d657037a94288bcc8efa76073ec310024db4e84d730977feb7a92540bf745de241bdc103857baa229ce420a8368ed495270eff1b37d0b210454c9eea979b8e260b4f497303449f0fc62e902d402bad775a08554877e734b3ee01efa44ef74973e07e80bbf10388b74000807bd25faa473d7e1ead7d789a3cb15e1876dd6002e0f134a309ae0f03cd1b8123db6924c2c99ce530749555be0ebc9b04682da09aac8bd6f5ed428e520325abe4f82c531332a51503577a15572200e9985f2edb6b040f95b7e43fdbd9590394871c7269f928b218b8efaa500ea5ff84ff63529173962c167c8c653c62659b03277ca1525ed177a25cecc9aeff6bbacfc350ad41acf739c45f8cd52cb88f4115030aaa1adc211b287b099c423584b340f8952629b7cab495a7e95fe2060b3cc16d0219ffff03b1077d0ad1e39b885d438779709e85d10bd71fc9c0c029f69f795365c5b2e2090343d38398074d6cb124284173e33f17f546be3169953d7787f32564f4273092b30386d24a6ea632177372bb0067f56ced46afbbedabb8cfc6eaad6121fbdb6a4c32038e00ad415e00168abec8a2a937c4eb5b670fa10a4a5fca023357aa806f93187503ff2238cc5e29faa02bb06c331768e500b316c35cc50d4e3a16c80df6eb45816803b608a6e61a00d3032fbcafdc7d559fb1f0e39aa02242501b1065272775aa511703ff7ed051cbdd00ce6685ca19b0566dcd177b5fd82f8ff0a5500c4bd74a1b439b0365516a2a2821a3d22909787f544e7c2bfc1c6a23cacfbba46db2f7f7afdb1a65033198de7a390a53e968afee8755a081a5207e36f2136c8ea7bd20d354fea59fc1005820035831876a7f851089b41f3555116b1187604b8d5eb31558d04dcb33a10fc850418303a8a38dbe3c5aa89d5bd9d6a941b395e1b0107edf6a2aeea6904e52c9e78f162500582003b4883ed6d6f749d7a33d94a3f954d519ba94ef2dfa393aeae4dd0fae003e904101005820037f376c0d31423a47433126652904c172ccf52545d8703f8d0c4f3cdfd31540410e037fd4c0219f5282545a7562a80dc8631dfbcfbaf0e3b093d2e218f6329beb618c00582003520fb747d96cb647a0bea556cbddb6302d3129e90f521682e2fb5180f97b904102021960b80311191b943c895ef531165fc36899057fd300a630cf33a1aff1f748b763ba1a7303501075c882538e849a18186758655e6c13319c4b2cb46788ea317335dfeedea403e6f392246a6d1ca06ac033a5d41c45b82feff1666e6faddeaf7dde912742f44b0309bb65f7f3b3f01d48e36436698d259a7d3b2221c15bfe6a537417f328aa7a28030e658e7b0c183dbd68ac1491d40dccc16cadb75c2a9983e3b5a7360b0dfcf51a03f480da9b38c63bcd1c286730e715f1a436f394b3e9b73746e1d8486f5a6c0f2f0219ffff039a7beb323f4d93684ebf0ef9b21941879ef0b360cadbc428dcb97838e390a96c0302f2651a00067db393720c55a22ca6bed3de05227a93b2722cc6c10242078c4d03b873a1429a1355714207de132bbd18d479317dc0905f5025557f96be31bd2a7803532a7f8c7ae1b9f24c3fe646d6424a35f7ddb7acadea88813beb70635c1a889003868921bccf459c08e53e45cec0a28aab48843b27e397904645883e58cf864b86005820032f81ec3c2b93d95594ac21a01764cd85e7725b364bdc2f5407c3d1b34ac270412e0058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0547a6a812188d01d08def011356b98425997800429005820030d5e2294dd7e6825e17124a6bd700ff586390de3d00edf2d1d9f5bba2b0190415e0356afe1288226eb633f3ebda2ac466a79985ad47a96b94d0937b86fe8ad8b3b92021938040317f827cf6266767e0b7132de6cc4c1efa5981b42bba135ae015fd0b865621f4303789e57e4ed66b8b833ac334a6eff163c51df2de8ad6ef146fc4ebe784df6011f03bf81e554e9a6bd67d0504e991f8fc6f866415c1db2b986c6bcf13d2b8b4c7935037e5760d44f8acd0acdaf1e2c0d639152f77a976d5b13fcb8a2281995a15aed0a03b779cffd669c5d71937af2c56851dcfbf1b42b34e8e67f23ac6729f3e87048d60323f0bb77faee3b5bd5cc7d059a3e10aa66c524dc236151ab38dad0eda2880c7b03671578460d8ac92c97061e7cc546251a9578a97e5ee094bbd7445b3f3e28fa6d03df9c1fd6d5ae38cd4617e28690bc21b391d981155c4aa3fa735bddfb1c3d303e03601968e79f1157ee14d94d27e9d9f479f365db8e3cff176b99b38dd1ace3121e0370f2682fe6d7bffe2a1795f8bc753e050a481aba788129aa07f4f8cb595fa6fe0219ffff032a8dd24f85368221d446b0087528288385ce54d85b52d9b2a75acc698d7b2ee700582003b1a08dd3d1a26c5a8130aedb873ef31464e3f0edf4df35ce29cb8dab13c860410100582003844bc2eae17ae68c4284c0b07547ba6501ad97c9f14a046bad97dd6e66069041120058200330654dfb0fd282a37117995646cdde2cf8eefe9f3f96fdb12cfda88df6668054c4b907262774f5722ccf2f1a290b8a8da49e34850058200377fd465bea1c5a2ffc3c7412d9d7cb6a8dbb96c4f3eebc18779fc9360b8f00410100582003959976e238d60f0731741e2284f97a0a0b62dd674738483aa5f014443ce560414c0058200392644571c04cc572aee0bc5d27ec281450329a8c543eba11fc8c7abcde3b0041020360d27f7afd9240dde5eafa88cb9c710ae7471f82713b792df707e43e271f014b01410e02193c61038a70a8199da11e2236ee2193a3a083513c58ae635108bff244c84989edc5f94b005820035a5bead5f08dcb294d6ce3b8907188341357a3537032a0d55977ad4e0a02d0412c00581f028b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e5603e82260fac5e5542a773aa44fbcfedf7c193bc2c59900581f027766318a88c9d1451dffa8043d462daf6e73c59b53efbf24c105ba9dd6894101021910800058200385f40dd9232122b8009317a58ba3666d139a65066db0e82af6f1759950f840410102190b0003b83e08157e57a8db06d85cc9b800f56d15a42851d0e48deec25aad5def85319103f4da2ce193dc90cfe0e10e57cec0a26a50dc481988b1ad5e09ab7d1832c1cf4703411c50bb63e529239e87ed81018b7ea0892ae20bca5046c6a30f300a39c5968d03c16fc7c538cc26e3d2b67f12ec7b628c6046c6c191680c2594e797bde23318fa03e734ae5571a9026362491f62ffc5ec7639f56405dc95b3ca814471eae253eeee03edfe79b52d74abc22fd7c1c825f07d4a6fe2328a87e49fd19f6f4ccfee28fa0c036450e90c1fea18746860e905d19ba38bd64973463cc1cb2485535c8808fb9a0503257c258fbecc49f502b013fefb3cf190208cd04a097a56703bb7aa4ccefadafb03c93bd790aac2e2d447e67771bc7f446f740cfe44af77d327a62bded7d0f3f7f503f6dc9f313492b84de8cbe844fb88f7b97d7ded195e74c6177bc95691ece27325039a79f3c91f92e1826d297b27590320dcd79aa0614da87c04f71fffca57ee30cf034d2364c3356899f5dff1fd727e58f161b6c026598edb9e1ee99237ac38b69b380219ffff03d9aaddf745331c674d3364e968ff77ddb328be75ca937cbb06dd1060454506d903d2b91737dc172775ae65bf980fe9d2687c1f57c4b4a10eb4a56983a195c8ad2f030b4df39d59482f73589c3b4b5a9e71db22d639f72be55020addb41c617369dd403cdaf5f8cce817b3698ca661b85fb3d08919dead879b2fbd30bad31417d69a728035e4c023794ba9f84aac579741da025f4f404ed5ace39cf0c2c47a570600fe21903087af634cc04e5911034e42f4a5ef43062e07f3aed2cacb29bef6d4fe6c673f0035b0182c657afc6009c19e6c396f4ac6b42eaa5a5c4543adc9d10d89c9f89dd3400582003aa56ebdcddc3cdd8631b3860d005068f2340dcd5e80e183921312bf7b5e650410100581f032c359a826ae3f2679b25f135590d51276ebca820cf4b63f3d782bc61d610410100581f0326d96b1f2a9a18ef8fc72d589dbf03ef788137b64f43897e83a91e7feec05455e4b3e3226444cd4de09778844453ba9fe9cd7c0219500000581f02d4f1ecc14c9053f19eaf87ae71f496d29cb1c585419e341d6ef4b4035e9e414300581f0254743e5c93cc6568c96dd4d41bf6c891aaaaedbbc8f55b56c54ed05f68d14114020d021901080308adc4043406fdca34010e0e139e8519567a8d8570356c15b9919454819ad90903724d06cd5bd909604997ef15c9deb0f1a591d148b2c70a4c06fab10092025b50005820021773bb3f87f332cb18f36be7cf7f2a08c0b8bd29759a163760e0b06ea4adb9413503397ed5bb46393e06e7790be56e5df278b0b1734c5dc56d321c36b9a79c68bb2b0341962dc486cb44fd5cdbf5581ed0674d7606288b88055c9a4861ef72f41f7a8d03108f1e1afe91bc6d0250243b6204d6f203147211d690ccb8bcf09f9a75346dec03a31c023d5ac7259ac1928a30ef88dfd182eae4b5e76a718a25b8179aa51c9b08035e812a3114b962a164e59c84688265d8f3b1ed4112ca7c90b4b03263bc2f993e0219ffff03b9498810b43176985b3b5344b6bde9da9c968771a817985cdf37aed3256a8b790388ffe3e5dd27aaf3aafda6c94253b470ea90a0acf50c6445a966338e145bca63031cc1bc9cceaf94c846a14a7d9f428a2b1634fbcdd0dedbf66e78a7df332cef2a036e5206520ca7aab167267b966308b98c5410f8b38deaa39ec502bb732c495621030ccd58c2e8f402bef63027086b2096ae37a39dd668eaacd36772f346b553a1040311d1cc26e559448a9b44ad31b4118307694bad74cffb56a6406938c6dd2cfe4d0330cb7472f5e73bc2c26d165ffbd732434187c0b8b2ea97c87081e9d2a220aacf03852320f382344aa9078fd4659e3ad498aab822b74a9a0814a7c130a1a518739103b8eeca4d260a6b4f3cd516dab047a78daa4c3ba246a2ce5c9bda93873202e59c039b7d5157d6014ddef88bfe886c38a5eec402812b9d58d987c0d814d14531af5403f1c1d89586f46a4eae4f1f63bd48231dc45cc5bac85fe92b8c898b7186264e3c032ec8c0a8c19766f0f6b502f11353b0b937e425918823bac1812cf973f2761c5300582003647b8cab9adc51ac7fe2b2a91745e250a45495595c608f917a0a55e5acc080410b0058200325e2a2afd87a1182e9b884b37caf05465bfb5597f2d3edb2ca0b4cf23faa20412b0058200313dffbb12aed84eb7dc168fd8edd9a89e2aa01e5366402b0ce27968936d1204101005820031266dfb5d6c89a127c8b85c23e88f83d16cff6cb8b232b6cea60fba5822390410100582003e2af226f0fee71cb9794da0bb3044c8472243c6df5e9f506a33cc7fb447840418c0331b831adc2450112ddedeabce2adb6d696beb56a8c337b1c6c06df045731ece200581f02559c6609a95f82fd7d837eace8ffba0847589e3db4fdf353f33a0ed358cd410100581f02d954e2cfef495862221e91bd7523613cf8808827cb33edfe4904cc51bf2953299e9c9100000000000000000029af92a900950219010400582003e17819d247fe299098ca18d63224f72e282fdc111c58708bc4468970286170411800582003dd37383c27a7a93faa9f90f842583e0095af3b01995a2672088cba0c75c780412803e2e6fceba649c4d7491f46ac104736046bdb0f3170f65e0e7bb9086c9bffb7d80219e9e303b7ee20fac54a12fcd4eaadd4398ef0a28af87646b5550f44f3162b4c3802cf2b038cf4004690ec245bedcf9b2be571ceb06747f7234ee43c382291352eb2e1be190308b2a39078e52986edfca873192cb42d8db5558f89f91267b2da76d248132c830219ffff03933adc69c7200224bd76236876e1f81bc80f8de735fe2bf7e4367f02faead8b300581f025d1f08f2ed75465f7b778bee1dcf6dbb8a870aff9c7e2fc9ce7d73644123411e00581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60410100581f0371288b76f5107794b3bd054746506ef78204092ca9bd1ebb61682fd00bb04125021908040219420000582003cf1d1d909ae7d4cecd3eafefa30f5ef86499c40b068a0e2f2435290824abd041020058200355cf4003336c14d6f9d78d30d75b1a3dc3a26ed191172e7ac9c0a039ced3f0412500582003c036cb7bf381abc4d326ac31ae4a6919fb946b292181ada42ba1f0fa147db041010219301103bcb7f0637b145a11d9ee91dabeb48aacf9f4f714dfe902ae6bddfe2953fc59dc03b65d633d5094e54843137e35448007eeeaffa7665f33825a6ee88be39a77d0d00381beb662a22904039230eda4e2019b76fb9f2f919a1d78bfad1344c4bb2965660332d72357c533d44718eb07ad5090e62966240e57029df7da7ac1597d01edca130341f503dafc1bddc7fd14fcec7c57ad8869fb555a44e50104cddd29af8ed4d4b3033328e7d06cb776ee0884337248c364e8fded6b12666a2ee90a49e5fe833e17d903dc43cb83738f77b4e500d8ef51c5725853e828f03312e2708c7a4ec8fabda40703fd52542e74bcbe8031f0949964ae21a0b007e0e2c68afb730d835cddba7b2ba3037ccd20c62a54b1d800b2251b204fb288044db8fa46be64f6d0f12b47614accc303ca87e9ebf8984610f4141a776961c3451d700817044fbe1426d8a82b64de98680399bcbaaf4e5c6b57553f252b5a7d34fed87888a05f5a856f2588c6312110d06803d01c775679fbb899fe472434968ac9283e733ede3b85a375d045b978b901badc03a237421347ceb583f375a6b6bb9d335924a065aa9cb2192f9b2fe549a2cc6f570219fffb032a7c72c16b3a898f36794d8b1599728512bba38298911670cb8fd2396d96beb803d8c57b413212402976c9729c21043d2a16c70d21454b9cc52290005b78e93f0e03938858b06052254ad02e7318bebd9cc56c73f4235852a19684a27f0e675f7292034a583c33ca26a4f5157d2bbf4ca2c5040d3803af9a6a9f226a0cb4da191ab96103929f885df642f3a7d31155903a7bf81e6ce8966462ffa016042d279848aec4b8031cd006d175c657ccc54f029958e56a0d850f56015135462a8ad94de2189e0d2803a05a1fa36df314fdd581eaee67a1823895c12ee60ec13a05e8d3851b3204cfc003f77ae56137a8c13460a112a1a92db5e23daf002f51b8288afef289ca070fbccc03b82590ca5018da8163f957b1f7f7b79c22ff6a92b1aec298441ffb3f709d6682005820031896934ed842c0f6d8fde732bce03987f1881c7b9e5ebcaee369f8bb7503b044065372bf0308b033220e09ce148223fd9fd311ce15db4b5cd4e365a47d9a94fdac190a689200582003b33d4d93dd54b2c214f7e51650bdd16c561d44691dd677f00ae60f0b3c5ed0413e0058200333c1b2e874fb000cc9d41d6ab2f4d7ce493172ffb6b44250727ea163696660410900582003c20ff75ab38c23c6ce062b8e26084ccb9a3bb160963137b863cdc2155b2f9041070058200347c934709ff7c8a8f1086159ae2d060a7488d4ef9e56d8d7a866ebe92084b0414500582003de0227023edfac91d5d2a3ebe542b13288d090e4d18e3693bc892c6f9f6f1041400058200395561f2f78c5e1ca720287a606b1c69ac9dc633274fc38636b0df2632ce240413e00582003c5c07747a0dd4c5ccf6a323a4657eac97c0bd09f62225660d75a787dc56ff04153036dedce6dda9da8f0384e9ba65c0d27a2c2e03130f15519b4228552639c83433a02195dea03ed413cafaa28305d3f739237621d3f9a8f51277429dee01acb621187bbd6d655038ed96179b31cfd309772ed363bfc97261d5db9cd76073528395660be1711a8de03b4d4865d2b901f3f201f35445b446c2ff59f34eb2be2d257a0ddbddab3fd2ca603111fe6f850a7f2fd020b55112c83dabe8819fa1361da5b2c016370e4cc9cbd090301db1db40ad65e90fbba66e3c7fe2d485ac071b2583d61fa0990e803cd86745b031afd01f74cef5434069a4f306ab4c97eac6bf5fe726e8aa759c1a8e97682707c00582003dd4bd613ee3e3cb26ff304aac874db71e2d1dee6e94c80c6d70ac3315c9ab04597523c0007005820036627d6fa76108f4d13f6814723787d0ab44fd3c9af2650bd4a0a7b39db4f00412800582003bdc23ece781d9a9b27ca0cf7a3b9e3e94bd14c583cac77c9e678a73210bd10416f00582003eafc3c90f48de28cadf11a42fe1b6fdfa8a49fad0936ba33662621dbbb53a0410100582003029bbb798a02a27b8e830efeb71a45cd3239141a55e39f413809fdc4a71e9041150058200378cfa378b5e068a248edaf3abef23ea9e62c66f86f18cc5e695cd36c9809b054fd48f39be14990bd8d96a446c12e7fd08c51b4510219ec4503e01385bd8e6c1ee7e4a25f7b687e2a5a41b5b67c59f928f9bfd9fb0eb2fdcf3803106da36c1b24dd90cfda1017daf57923ec0f087ef85f94c6ae8d71595cf28efc0219ffff03d166ac473130570521de6dd29c0fd90c1088b14e185f625fb708ee86e9330e68035ecf2155b62d9f022970ed6aa50aa26f3fc31eaab44a03cc598d4a3610e33554030286ab923bfb06c23862c3a2941a5003bd9ebe53c4a86072666032a936ad607500581f029441c4d9166d0acb75def4b2e8509a8695b810aefe1581d7230e7903f46a410200581f022e1030363415d7b4fb0406540a0060e8e2fc8982f3f32289379e11fa654658186687da6f000000000000000000000000000000000000000000581f02c52ad32da67f05d5b42d1c9c0d874de01630ebc06b6e9954d4d80e7cb17e4112021942100058200376d12b46a4a298e7e0be26df792d5adca3bea41884383ae2785674e50809d0410200582003331984807439180cb3309bb56d4dbe31e5020d29bd763f250cba9bb7ec5a20440666238d0058200379ce6a2ca148453220ea9eefe34b3853205f72f07c7b324cc6f9c34fe7ddf0414a00582003a624c9e724d9a635f48b992ae0c8cfe876dc04d93db5ae9091de0415a3b9d04101005820032a659992247686ff6e427cb402403ec61e2e293b77b2f7d4310e45223630d0410100582003bd3230794378835fae5e56f45b8784587d668480738d841ab994b201d077a0411b02192a72033da10084b63b54e26ad412f748ade5ad28bf14a32269342d4dae6a3a84ffcf76037ea329fcad0e2061594fc15a48ffa2664944a3d2cdf19ffca297aa55ef1a62c60058200226138a394c09536dc1536d63e8757c847fd5ac2f92b0beda7f7d2b40af737c41420329e50fdfc5e06850df582ad3b17a097a53b49e2c5935238e6a19084374ab4e1003a5db9fc2fb343ee46201f69989f26d5fdee476958e38b8126e3ba3ffb926293c03d9df01877f6dfc5d8605ee3bcdb0d9a7c2911af22cdd0787a9da0328781b3333034ba51a4aaa06283e6481cc16e1ac8678fd4c88b609b7fcd16a01d4b643f37ead03f8957d1989914b1bb4cd4f8bce93888a79128d3553f05054889f2d479de2a360035f349577415ea81f3713e729228dd8b9965df445442c04f57ddcad308de7a3f2033ad137ee91d48033855e3beb80ac98c7748216a7f6b70ae1b72dcbaf586c1eb80383bcd7b187dd14cbce93d58b65c9c64347aba90bddcb585f8f27cef3bdfd7e73039892561216b634bd6040c86c3e629895f5b1decbd2126081354842f06c16ce42030abe5c73ddbf89372a9b7e4f7637d2b4dece5b4478d120c08657e980ba6e99f60219ffff0219ffff05581d02c62ffc8f56b2fb2c81cd2f40dcd903275554c19ee47e25215aaf855f07011906860219041905581e03c54af6c61fb43c0fe42a42c1bdd8888b6290814815f2f0984b6c863ad00c0246eb025e8e2d7005581e03fa51b8f925458ba701dedfa02954645ff3cc9e5312e47fc3263dd55de00c0147067962c63e6e0003be0f7d75272abec8151a29fddb04b04b68295b72807f6e13308b0b0c9cb7845f03bb501294220e740c8d19ad527d1c31310055654496988428fb62066effcb593d05581e0333415417da8a98de3aa624741791c0bd56ce5df8f450122d95ddc42bd007011bffffffffffffffff05581e03af9895f9216cc1780a97b69db058efbc1cec6e207dad83728b8695d240040105581e033c60efb7716c8164275cb03950f439b3f956d9e353950559df05b94a400c0247029c7a85e8f00003b3326a216071f547440c33042253ea6db84bd02a896af5cb1fb7969f4944f5a20219fdaf032c89bbb254ee55084d1703a409f97df7d9e214fbc2ff1683669322e3284177e403ec6f93a63d9e8a022ae4ba15319c71868406d9ddeb8a77d19f7b5941da29e39c03380fa52c4a5a0f4b7bc8fae4d3370718457ec2a65c7fe1c0c76a826b5e679aeb03ef42b5669ee82a22641e9845df2343c5cc5a6670038c1487023db03fee84a0450318be4ed3bcb098234d12a24004d6e701c557ca1708ef1e913081d55feb66944c03c1a647df8aa6c54eedb07af846c1e00202be7fa0c5bad0aaf400f883f29661530320c156a82c0b2aa04f5a4d3b3eaea80c4e91cbef0d42b5afc5ab36c5bda3cd210375c942a18b44e3a39b2bb9c7feb2310d53e92bfeeec2b392ce5223f4d512ace003e9ce40395bc7a394be4a3eb8c04e405b866a2e1438032cbe0499cdfe4725859e03a4570a01c68d2fdae35a02898f43d62ff0c801c83f93d8b56e5365a03f6aac5c0308031afc19239a38447119c875e68b91b0f3862ef37e97b72388ce5a11eebeb4030cc6a247ae72d2aa45c3930a675f830ac2bc3fdee91e7da4bf048867a4f82b68039798be0c8e445df439b8b0c5687e3f7ae3d335f3b7e7bc33dab51c56a6bdb6990219ffff03a1095408035f951e4ee66dc946b4eacc1d758e07d3a8d3cb323aeef6107d394f03cd575d0c2bc56221214163c13ed725f45e872686bf1b4b400664dce64f62608b030e4472a19980941f68969d231a266f8b67093b2905a04433c43187a911b91611035ad87837c82b5ee0f65b9ea2cb45eaf56a67f8310fe92a377d00ff1820e76f2c0369ba610516658b142e5df246856fa5afd64b4e9ba9e8c738e0edb782b198b0b403ebaa544220913c19cc593c3db95d4f11bc2182a2bbadfaa0733bbe15710252ea03d4caaf52aabaa20bb61fcb3b0c2d4af049a48a2c457f68e99052bfd4eb669c540337ca9f2d6d6ae31fb5636e6794be3994c73ec4e7b467ef25b4fb62857ab05de803ad73cf3daf37d8f492b04fe175cca2e1d31cc522b2aeda8984bdab46628522d5035916d048cd1b9e72cae637e3bf8dcf77e3cedb501b5192123a6a226748317f4c03ce715dca24dc5f662a6cd5e775456fa1680cdcf22e08aa3bfb77cf699167f7e0033acc333ff38cbc6f5dedfe157150d761f670c86c660bd09b5fffe747a86c9c300219ffff031963a225c604a5dca9c9e81b93cce43424fe9ea008ff35caef51a2de971c0f4e0319a8074d55aa6d0614a685452bba4056c801733abce6aa80cda39a2ae545e93403d7ef58cea757717f5b69e93d3f47d49fa21d917a100dd6f84e34a18c40d0767e039139d9cc2dc712aabd707cd9d50a7aa3e4d84d1c3e12b5326c3b59571285bb59035bd3c3a820cb0ce905a750b9f6681fd2a518cb96205b607b8df8cca5fa6a29320343c1a83b222923b1a70683c703552b11fb3836f3a603ea2913bb78539690937903bcb4e9548045af69db93ce38d5622f30cf047ab3a3e358861af2fd74e04aabd103d4cfeb59905c6cdea968104ec0f9a5ccd45d9a9a961681fc41ad6ae45496dee30317ed08a3bb3a87625d8e90e8b9a53edc5425884cedebf66d632b0d7a112315620383321945db28d0dae846314822b5176a63a74caf0f6908121a650cab322815f60340d9108dd4f6980c6b1efce2179d2a592a59841664f4e40f813e4b597918e9e103678b028e6eac5b84955d4d7bc86d31e5975488ad938c06a050a99b88b01bebd60219ffff03bc1df07cee23eca0238a4deff09b3e45238a7300288f6b005aef6acd40587a7403dbdae6a8da0f7316fee7bbaaaa9dc4458a534eab21ef24940855d9359171613b03ca81b5b35d74a8487a08ec83667fb07acc5f5a099989908c0916d54145f523a603351c00ccedaedda16a81ecc382577d72d758c7d8b366feb123d06747cad0a5ca030a969b9d52631271cd03d2af93b6a35f2642407950a4ed7ec38749f82dc3448d039e9fdad51b209c00979dca279765ec31d839516aae01546ea774bd6ce1832b630345b898357aad743007c2b96b971abe98fe86abc5d51b85f52bcab76b8f2be70b034671529134f17c5a48d2fba4bc025c416785036f9af01376b83b02907635aa9903d0f2cb413f410d7e0f069764ef88c57b2c88158d0ad460251bf62a322f26d3f2034e2174895610b67448a8670c9517b79b30144c842a154fdeb27703ec58654aad03763202effed83674f7913aaf685c0e236daf39345ce93e475f2fe67247b32f0a03a9418aa60f80bdb7554417450a14a25ccb696fcfd77f302cf830fa7331f284ea03db5765f19e6bd517563c9c03acd35c5554363decd322fc9ca343ac067dcda51203d46cf155d701041d8654bad16ee85a841d1e2cbd82b3b59a31ebeef6ab26714903b093446e52124fe910c6c67203b0db99b27b3c4bd8345e8f8395fd700743f5180338b4a764ec09759c4d4ce03cfb3d79b90d0cb37fc00f16391e6a0c086cd11ecf0304801ab324d4d89fae8fbea4ffd797fc7dca7fe91e7e44f4d418f5462ef6e7a5035e952e9d9134851b43ad9213742ec4064fc856e47ee0b3543a6d1d581eba708d034a92577c7482844d86339ba4d852573288624bd758912db00a83efe1ebfa1e5403cc106f551a142dac73e6a6997c9eb3442b1f79af45c12612e74a58d0462a37c903b85cecba879e8602752ae2eaa0232b054ce7f067ddbc45c049f48e8b7ea213730339854ca5b8ce480372529e1d78164ca1e430e62fa52370dab0d718ce10ef4eae03f62c796039aabaa25aa73661db7d601be61561043f930af34fe3881a7774ff890385e5521949fb0b850e777f7fc5359fcdfe3f4a718cd83b889ac1bf0834192bc60344c9a102cb3cbaf286b41f740faecd98a914244512d4efbe5f8a7a3ab7f1ee7703ae94fb228aea463717681167fcae1329d5f62889ec670f51ceacfd2dcfd02bdd03dd242ad81d1600e1f639d1a4fa2dce4626e04129de5ce2173ddf9828f83798af034af8a71e0cbf49fd631df58c37c6f17bbcf9f87b85c45952eb2a15e2eee25d320366db7adfdcf565856e5ca85b4e3c3d8c4f2536adf95c695e72e1b096247e07ad03c75dacc0b441e8a710ca7bb0e87e8862cb7f821f2093b5c459467e71a7a8c03203a7210911e8e6fc14e67114a0fc837709ab2e162fe4a651bb841be333e4ba994103cff8d387b6bfc2b79c9bdebcd0b77aeac3e4cf14f9e5091ea96503694702a19b035cf32a1beefb254b074e59350ff7ca335748c585ece3a079c9470f4fff353e6c033beef529aa0a2cb871b2f39b199607eae5570e4c82f0dcfc2310458ec0e2cd0103cc3b66558622bc41c10338cf4aee1ab2c1310103d919b830134e75c0d52f804b03be7d872619cfc944b0079193d99abc177b1a7eb62892e2fd017ad0f1d978760203e75536925fa2ce88fc50d7c2d59301d26e69847996abe4b1f242900ca8e5d81b03c9effb2d8a9403433bb5a9c8b8870497526051461a8f40932b57c613bd13291f03316749bbd2c4666ed9ca5768761ae88a35e5c46a7e3a2cbd701627eb59ed486303545c27e2ede0cace23a4d5b3502818f0bc4e5409fca18a0c406f5361386409460377dd54417ccd82c661988de0a72a98802f8fe4a76671bd7747ee1aeef62b5d4503e1a4d3695a6b4404ca16b9b40c9a72ce278f609a3c1bf8d92e8e1a663ad14a4603196313db2742fe671f9269505d66c82944093be82ea74392c32b0b612f217ded036fef1f94eb1e05d05549eb36ba7f98efa3f0674a94f2e4743931fc02a785a48403217182608d3cd42b52d1c6fd5f72027ab77970947b0bca17e24deb5d3e2d7d4a03cd77141331f19ca5e4c448b35c8d8b48e34e7205f0258bd625a7d55dcb5eeb98033a714f2850a6924dac71528c85b39e85444817a3484c20356392f431bf157c35036f345e9ecc71cfe147597254940e2386cf34016601ea29d221f263e61732e65b03d7812824599fd7bbb67bd0671f4179f3819bd4d83c053c8ce69cc0bf1833b7b80370e2600257696bbf2217ab3622cd13d19a57fa7d2960ad30e091a30b4b85397503647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d030b92179b4f69dfb4017b9daf84a01299183607d645c33d6e4370e557ed91619405581e033896d92309002771fa2ecb6b6d1aae8ec3baa8285019e89e4fbb41ac9007011bffffffffffffffff03f0a23e7245e69696862ddbc4ba8048ca52bbe7b2909129452bd48327851dd3880340586f8627ed86e5e902f4838eda90db49b1e96e129853255781a5137ec653e705581e03e6f06171f3acf2e180ac524b8afeab254d94396c6c12852a9fa5200f200c02474441305cf5ec880330f0e7f16dbce755bd9bcf29842d9a77aac0b7b0a0d91ad7e6fb11832468f55c05581e03c34a451fa1bb299d00f1f7bc04478a98b46b2622ec661dcc958d3c28600c1879470bafb2872f0be603bc2bb394956611b263a686a212fa878e97d576bf95294970e8f744188244debb05581e03ee636f22889ee63decbab699ac06e56fa0fde78861d7a446701d5979b00402032c0bef0a8a9521c4e533a930c99a9d7b42e8d983295cac22c31f79f5196cf39605581e03efbacd06182a7ec1a7d7a4ab41fd54cc0fde5994146384be48a00e526004010219cbb90366be276ff3f7ea21e2b2f0822f6767879e9c43003a9c2a45eb509bea27260ce70391e9502b6b991d8ce97ead6e9853e30b5c5705a810c4bcfd27b5eea2fb2fb98e0386b78d502f3ee77099018a2fb2cb62fd33a9cfe5c8e64afd2807f2af8979dacf0219ffff0219ffff0308deb473f74bfd5fd72ec13dfe8f791d668f6110b5ef67bab3462c9165f422200393fb9bce841c0ec67b627d84f6f1bdc49af08fe1632225d7f4e3712ae0e9cdbe038bfd81c48f28e324844cecde4b59665087f479b602a59e1e36b7df553b3bcbf50219ffff03267bbf0a8b848216a5e2a42a6d2c04b581223f55937f4c51c4d496df2e1a904a0219ffff03853561ed8e2bcf085063efc3d765378ccf9c575ea395c9c19ccfcbac7165d5c603fb1f47d30360278bf440bb994f92d4d0c3f6f53d633069d5f2e4bb12af46cd0b035a844a219ce49c9a5ab992046f9680cdd59ed9ae31fecdb8354edf5d89a1e95a0370af932832833e45dc5a0605713a6c2595d894254f0f6e6f9e83c68004cb41080353d508f364b4ab7c9adb448d3251ff415517aae469a4aba0a7f43fe9a4a8d51403edff1ab3798142205d3ecd765913e951a8c8d77ee0f8dc7f478afadb2e5fca5c034134a38721ccc4f572d4b27e0740ddbc092f0407c858f3c573e3d24df93ca57303c58f324aa8b7c50567ed87b1da95a7d593d89308f61ba68479bc406ded84c4ff03305d90072e94d00f819109d62c4ff4a48c95192e5b0ebf7f5e52a18b4fceb2ef03422df0967928a3a78faf611cd310a747b26759b284a1f748d65be55a310436a303d8e74fc2ec437cd7015aaca12f898294320f4a86090dbb685de200d732f5598503b5b1edc0b5be52aeb00e6869949780671e86fb952b377f2b648641b09d39dd350391f374fccef81833b52e8d7cae1fe4cc8acd48e09a489efe98604970fa0fc94403ac0fdfa3a28fc6a6ff7c4d01deb8777c28a0384948dd750f4c9e5592de39207803cc84236f4a1e3a73f8c485bcab32c49992c7517cf372f0523a2c3ed4b2151cf5035f7a7b8a0491ba04aee1ab565d29c05b7dc337a084271e6213d4fa4b61679d7503e53e082a50d826acad679e3f63cb9c2bf72693800fe84e85492209debf1546480300e5652584b47eccc5dd374271f7877f40c911f2ba6a977cd727e82f9ed3ee2d0365062b0cc8ac7ceec8bfd9e24e78d0f43d126aea31575721e35450e1af51dfa1033953ba76afb0a1998c7a15f98c1148f307e948ce4ce865852b769748d76ab54b0386ae2001f2d1cf92643652893faae16669f1eed370f363ca4b50e55d8bba148403dff10205dff62a150c6ae3dcad77ec199820c29a48371551af3ee238faa12fab03310f19f9a129b68c5a02e837e5271a813b4ecfb109fd6f1499fb94c55a94d26203ab142eaa85d1918fbf63809053dcda1e2b3eebd5b885f78359732e9625b9f3fd03b9e537577811534eda7ea9de48ad932f7688b847d77d2b220608a642f1850e650320f1244acd5f932e22870d4da61887c232ca3add4b9b69679a833c07b6fcddf403d214c938b698300a83260379b63c0a6a97f5466120db733ac3bce3b93fad30b3032a15afb7cca12e56f994ff27cac4b1e4efae1528f98ee3754ce001364beec69a031453c6620e15a4436e58d9f0bc5b45a358657738607ecb4c7802e42fa38629c70344fcf53a0c5ffd2b718e2b6b26d27af8a20a073967de4412aaa1599d53adb2ab039ce6518d9795995ecd9f8b1da4e051833abec659190c640a768354054a236b660319b9a6682e1bb5c983346c6c2f3f08d79a45f49d52848ee3e45b57762efd85d50340a24ea6fb7b41dd38bef7f35d81832b1664a2f9a3029e0d07cb57d271de12d70389318f7e74d81b7afdc80fab1bdd534c27e65d76514bc84b0b890fbe633c18c10370e450e610f2dc887ae692e9adaddae66486e83c5ec9af09198dbc794211e26503726fcf301c8fcc7e38b47ac640bcc2d3774143c0959a660b4663f31bb9018e93033977e06a88913306fe3af1acea9182732a6e083e215b955b7fc43c3ee923011b05581e035c9cc2acd86881a584753a91052bf7f1a521bf4461a3642e83568c6a90040205581e03f96acb362de5a838050841f2e582f67455aa9cb040874f2ecac30a94800c0147041ce0dc3bc80003d34eb62c09f33a5705f01c3d0e29d9145602e115924cfcd5d889a794076e9e4505581e032e4d188a582d1375fe766578c5045322a330cb2e0a9cd03db2f5311f60040c03055902bf3eeae6674f3372e3821ea882ae7e4a5fc55cedf114cd11e8be77590405581e03d1839ec845f062d4c18a9ee9352bc29ff8879b3eec086920ed1e71ce70040405581e03d7ccae99633c536c1692d21b99aad063f5b016518cb7d2a0daf6f9daf0040205581d02b449b42bb399a5ee7a9b753bdbc5e8b92516d6982c5b46518d1f282f041205581d02a0b367ee5de0bbdf3ba6c4d9cd3aa0811a334a79527e87b2676419d90c1048043a9b8c34cdc08505581d02e5025b20dad16828da427083fbf8d1ce6973865ee89ecd26e6354a510402037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581d02b088b98e274929739c9a7071789c091ec315052650cd7439ae13189907011bffffffffffffffff021901a803693a2e01e3053404a31f6fdb43f37c363518519c870c07ec2825aeae2d8dd26503799e2f0065cc60eb8467f00c03cf1c3accd5bf28fa1d568dc240f1c5c46d966b05581e03fe3211c28b4a7af979d9b283679fad61b2d3a361a48a5cbc39311f924007011bffffffffffffffff0219bc9303c560a9c6efdfa90268f2e57f9278d1eebcc13a645f5156238342637daa0149e703fcc3fe4da61b580b63a7dd1536a896b894776ebc519f35c1343fdf9c4b6a3ef703edeb6a9a09e3129bdb740f93609c203d3a1202dff43e034d4cfb491074ad431303ba7e52abf61ca21fe27e126af7e3d60c04fd4581fbdcef269d06046ee906cd8103b50cab875d2963cbc12dceea098abab1e421f94991129cd8c5444d3e6c2d986a03a4a443f9cc5205e8b0254a85028c7ef3e7f4621a0b307985acd1c7b66d254122036255d06bfa95cc0b05638654f8e01e2f1e69cf59b9c82d424016a70cc1931e650376ed0f54ec6ec69bca97596e7e5b70fff63302760039ae9546d0623691360de40322d6bbd0a86345903fa41edf6df78d5e3a16bf29584e23834b6761476e4996fd0219ffff03e6c523cd1dc5dd0290f2083df5e0428ac11d603c4ea0f20a0a93f41d8467da020219ffff0348a7c1fdcb72005e578b4272c3735cc548c76cd99bf227bfb3fa7fa640ad07390219ffff03b863f3346d5b1a08d8acd1c147d3519a9c355709af010eec71bcc1fdf7833ad403bb5c779812179d7a20acd201b5b08ad927b8ec00eb312fba3946b5b5b05e0e680341b1b39fb25f87426baf1df3ad53d5088e7af203dceadc082f03b78852942f140396d632f820706dfa7ba7bd94c358afc60b8c7a79ed9598c38e747fe68bba0ad6038f7c82692e9a8523a99876a6831a3a117674b5533617ac01ddb52feee049abf603e415062ddd84e6fbc5d7515955d924254c8299e2fb1063c8ba5c0ce91d08a15b03315f4faa109683bb744accb1a5ffd3f901c08f07ad139baa7a9cce7ab51ea520031e3d7661da8c8db737b20a6849aeadf496f6e76129ee5343371657b61d39faab03668465c8a57f8218ba1557cf8cf02a6c441f3afaac3c1ed9359cb3363240f99d03a820f8eab3fc4cf43f4c8b611b16040802051cd1fdff595d56394c53fd32c08e0306d3d0db4f7ecaae595de26a4b712dbb0794e9f2b1afb1b10c6f8c3ed2d6331d03396e7c628c85f26597166a4cdb4f8e07a7c8c8809451bfde7901c111785c551a0389c6e571e4f68c901e163af446073e615a91624d57d240f13fba72548a097f1d03a3475ce5339ec2f5db41d6ed09466da859e6cf3704a0a4565f733983d2e9620a0335c8daa47eb635d78b0614120551b36016256099084481437a0a9b3ecd215cb403c7f5894f1f16767c1c9c43de306a6505ff93aa2ff41eff41fe41d85093587fc603f2f125d96308b26ccbc01d29d075bb64cabbfe9b6c15db18fc64c275b84f857d03655a755a3c1235c4001c33b773a60cbc089cfdbc7997827d6f00b9e461094756031f7e1d7a984eeb28dcac79a2b67e97fc6cbcb821f5337905ce0b06946f905a3803716bccdb8597c22363c62b21ca5a3c25bf1c4a04f51aed67e4b30aa91c76c4ea032b05fd95ffdbb7f30acedb8b44e645b170b37ca2c4d8ee54e4eba542635efb3c03604d97d87ad614c27dc5c43bed4e9a80cb19ae62f177a2a7da26a129c519706e031337f2a70d1255415c2ae3f4497185b4bfc7df2b57afba6a6419eb605b0c8baa0390ed08e855c16f63c04242a04a6c2335afce0010ebf9ec656344e0d47b8fb56c0390202d3448ba4bdbbe734ebc4cfeec93a6a2f954418ec1395c15652c18916d600387a4ebe0e16ddef7dca6b1dcf6eb75b82c559311b1d3203f26f4086bbcc9e37405581e030ece08b83de07a44aaeba85fcea4d5b22440d6ac4ae2ee5b6391c9b1c0040103ee6998c746e73d989ab74a6a439899c4233ef7d2514e0ebd70643f14512015ac03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba0398610044eefae394388c3dceac11ab16f4d82cc1818668c836b14caa1e216c8a05581e0348a8eb33675523e9758b87224c1f211bf94db4d928a242eeb6a6a0c39007011bffffffffffffffff05581e038bd9c3fba14bbc225fb5d5db44b24f160d6cd4a77e300856f0d14a12d0040103db191bede579101805b97e2bb8e1812db2bab880615407c534e06fa66131c02a035ed09c00a59c009faa1c90b99fb6f4438d835e5f9d989b94eb3cb218d41f3b7303a15b8f760b615ad7ccf74440062b1f8f20f0e137bcd2ad9e6c292cf4ae0f34c0045918eb608060405234801561000f575f80fd5b5060043610610187575f3560e01c80638456cb59116100d9578063b6b55f2511610093578063e707f36f1161006e578063e707f36f146103ea578063f2fde38b146103fd578063fc0c546a14610410578063fd58e63a14610423575f80fd5b8063b6b55f251461039c578063cc42010b146103af578063dc3de811146103d7575f80fd5b80638456cb591461029357806386f3b23d1461029b5780638da5cb5b146102ae578063a87430ba146102de578063a8b973a11461035d578063a9d637e114610366575f80fd5b8063485cc95511610144578063668c45bd1161011f578063668c45bd1461025d5780636fbaaa1e14610270578063715018a6146102785780637af973c714610280575f80fd5b8063485cc955146102155780634e71d92d146102285780635c975abb1461023b575f80fd5b80630148a6341461018b57806309090a51146101a05780631aee31d0146101d05780632e1a7d4d146101e357806336281086146101f65780633f4ba83a1461020d575b5f80fd5b61019e61019936600461147b565b610436565b005b6005546101b3906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61019e6101de3660046114de565b6104c3565b61019e6101f1366004611563565b6105be565b6101ff60035481565b6040519081526020016101c7565b61019e6106f6565b61019e610223366004611590565b610708565b6002546101b3906001600160a01b031681565b5f805160206118968339815191525460ff1660405190151581526020016101c7565b61019e61026b3660046115c1565b610865565b6101ff610984565b61019e6109eb565b61019e61028e3660046115da565b6109fc565b61019e610a53565b61019e6102a9366004611627565b610a63565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b03166101b3565b6103286102ec3660046115c1565b5f602081905290815260409020805460018201546002830154600390930154919290916001600160401b03811690600160401b900461ffff1685565b604080519586526020860194909452928401919091526001600160401b0316606083015261ffff16608082015260a0016101c7565b6101ff60045481565b6101ff6103743660046115c1565b6001600160a01b03165f90815260208190526040902060030154600160401b900461ffff1690565b61019e6103aa366004611563565b610c1b565b6101ff6103bd3660046115c1565b6001600160a01b03165f9081526020819052604090205490565b61019e6103e5366004611681565b610c3d565b6101ff6103f83660046115c1565b610cce565b61019e61040b3660046115c1565b610cf4565b6001546101b3906001600160a01b031681565b61019e610431366004611563565b610d33565b61043e610d63565b610446610dd0565b6002546001600160a01b0316632e7ba6ef85338686866040518663ffffffff1660e01b815260040161047c9594939291906116fe565b5f604051808303815f87803b158015610493575f80fd5b505af11580156104a5573d5f803e3d5ffd5b505050506104b583600454610e00565b6104bd610f2b565b50505050565b6104cb610d63565b6104d3610dd0565b6002546001600160a01b0316632e7ba6ef8a338b8a8a6040518663ffffffff1660e01b81526004016105099594939291906116fe565b5f604051808303815f87803b158015610520575f80fd5b505af1158015610532573d5f803e3d5ffd5b505060015460405163d505accf60e01b81526001600160a01b03909116925063d505accf915061057290339030908c908a908a908a908a90600401611736565b5f604051808303815f87803b158015610589575f80fd5b505af115801561059b573d5f803e3d5ffd5b505050506105ab88600454610e00565b6105b3610f2b565b505050505050505050565b6105c6610d63565b6105ce610dd0565b805f036105ee576040516334b2073960e11b815260040160405180910390fd5b335f908152602081905260409020805482111561061e57604051631e9acf1760e31b815260040160405180910390fd5b61062781610f55565b6002820155805461063990839061178b565b815560038101805467ffffffffffffffff1916426001600160401b0316179055610661610984565b60038201805461ffff92909216600160401b0269ffff0000000000000000199092169190911790556106a0336001546001600160a01b03169084610f8f565b600381015460408051848152600160401b90920461ffff166020830152805133927ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56892908290030190a2506106f3610f2b565b50565b6106fe610ff3565b61070661104e565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f8115801561074c5750825b90505f826001600160401b031660011480156107675750303b155b905081158015610775575080155b156107935760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107bd57845460ff60401b1916600160401b1785555b6107c6336110ad565b6107ce6110be565b600180546001600160a01b03808a166001600160a01b03199283161790925560028054928916929091169190911790556101f44260c01b1760035560326004556108166110ce565b831561085c57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61086d610ff3565b6005546001600160a01b0316156108f55760015460055460405163095ea7b360e01b81526001600160a01b0391821660048201525f602482015291169063095ea7b3906044016020604051808303815f875af11580156108cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108f3919061179e565b505b600580546001600160a01b0319166001600160a01b0383811691821790925560015460405163095ea7b360e01b815260048101929092525f1960248301529091169063095ea7b3906044016020604051808303815f875af115801561095c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610980919061179e565b5050565b6003545f9060c081901c6bffffffffffffffffffffffff821683620151806109ac844261178b565b6109b691906117d1565b9050600a8102828110156109dc57808303925060648310156109d757606492505b6109e1565b606492505b5090949350505050565b6109f3610ff3565b6107065f611116565b610a04610ff3565b612710816001600160c01b03161115610a3057604051631bc4bcf760e21b815260040160405180910390fd5b806001600160c01b031660c0836001600160401b0316901b176003819055505050565b610a5b610ff3565b6107066110ce565b610a6b610d63565b610a73610dd0565b828114610a93576040516329e89cc960e11b815260040160405180910390fd5b6005546001600160a01b0316610abc57604051636833232560e01b815260040160405180910390fd5b335f908152602081905260409020610ad381610f55565b600282015560038101805467ffffffffffffffff1916426001600160401b03161790556005545f9081906001600160a01b031663f3aff3fe33898989896040518663ffffffff1660e01b8152600401610b309594939291906117f0565b60408051808303815f875af1158015610b4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6f9190611833565b9150915080835f01541015610b9757604051631e9acf1760e31b815260040160405180910390fd5b815f03610bb7576040516329e89cc960e11b815260040160405180910390fd5b8254610bc490829061178b565b8355600383015460408051838152600160401b90920461ffff166020830152805133927ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56892908290030190a25050506104bd610f2b565b610c23610d63565b610c2b610dd0565b610c35815f610e00565b6106f3610f2b565b610c45610d63565b610c4d610dd0565b6001546001600160a01b031663d505accf333088888888886040518863ffffffff1660e01b8152600401610c879796959493929190611736565b5f604051808303815f87803b158015610c9e575f80fd5b505af1158015610cb0573d5f803e3d5ffd5b50505050610cbe865f610e00565b610cc6610f2b565b505050505050565b6001600160a01b0381165f908152602081905260408120610cee90610f55565b92915050565b610cfc610ff3565b6001600160a01b038116610d2a57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6106f381611116565b610d3b610ff3565b6103e8811115610d5e57604051631bc4bcf760e21b815260040160405180910390fd5b600455565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c15610da357604051633ee5aeb560e01b815260040160405180910390fd5b61070660017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005b90611186565b5f805160206118968339815191525460ff16156107065760405163d93c066560e01b815260040160405180910390fd5b815f03610e20576040516334b2073960e11b815260040160405180910390fd5b610e38336001546001600160a01b031690308561118d565b335f908152602081905260409020610e4f81610f55565b60028201558054610e61908490611855565b815560038101805467ffffffffffffffff1916426001600160401b031617905560018101545f03610e9457600181018390555b6003810154600160401b900461ffff165f03610edc5781610eb3610984565b610ebd9190611855565b8160030160086101000a81548161ffff021916908361ffff1602179055505b600381015460408051858152600160401b90920461ffff166020830152805133927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a1592908290030190a2505050565b6107065f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00610dca565b600281015460038201545f9190606490600160401b900461ffff16610f79856111c6565b0281610f8757610f876117bd565b040192915050565b6040516001600160a01b03838116602483015260448201839052610fee91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506111fa565b505050565b336110257f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146107065760405163118cdaa760e01b8152336004820152602401610d21565b61105661125b565b5f80516020611896833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b6110b561128a565b6106f3816112d3565b6110c661128a565b6107066112db565b6110d6610dd0565b5f80516020611896833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2583361108f565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b80825d5050565b6040516001600160a01b0384811660248301528381166044830152606482018390526104bd9186918216906323b872dd90608401610fbc565b60038101545f90610e10906111e4906001600160401b03164261178b565b83546111f09190611868565b610cee91906117d1565b5f61120e6001600160a01b038416836112fb565b905080515f14158015611232575080806020019051810190611230919061179e565b155b15610fee57604051635274afe760e01b81526001600160a01b0384166004820152602401610d21565b5f805160206118968339815191525460ff1661070657604051638dfc202b60e01b815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661070657604051631afcd79f60e31b815260040160405180910390fd5b610cfc61128a565b6112e361128a565b5f80516020611896833981519152805460ff19169055565b606061130883835f61130f565b9392505050565b60608147101561133b5760405163cf47918160e01b815247600482015260248101839052604401610d21565b5f80856001600160a01b03168486604051611356919061187f565b5f6040518083038185875af1925050503d805f8114611390576040519150601f19603f3d011682016040523d82523d5f602084013e611395565b606091505b50915091506113a58683836113af565b9695505050505050565b6060826113c4576113bf8261140b565b611308565b81511580156113db57506001600160a01b0384163b155b1561140457604051639996b31560e01b81526001600160a01b0385166004820152602401610d21565b5080611308565b80511561141b5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f8083601f840112611444575f80fd5b5081356001600160401b0381111561145a575f80fd5b6020830191508360208260051b8501011115611474575f80fd5b9250929050565b5f805f806060858703121561148e575f80fd5b843593506020850135925060408501356001600160401b038111156114b1575f80fd5b6114bd87828801611434565b95989497509550505050565b803560ff811681146114d9575f80fd5b919050565b5f805f805f805f805f6101008a8c0312156114f7575f80fd5b8935985060208a0135975060408a0135965060608a01356001600160401b03811115611521575f80fd5b61152d8c828d01611434565b90975095505060808a0135935061154660a08b016114c9565b925060c08a0135915060e08a013590509295985092959850929598565b5f60208284031215611573575f80fd5b5035919050565b80356001600160a01b03811681146114d9575f80fd5b5f80604083850312156115a1575f80fd5b6115aa8361157a565b91506115b86020840161157a565b90509250929050565b5f602082840312156115d1575f80fd5b6113088261157a565b5f80604083850312156115eb575f80fd5b82356001600160401b0381168114611601575f80fd5b915060208301356001600160c01b038116811461161c575f80fd5b809150509250929050565b5f805f806040858703121561163a575f80fd5b84356001600160401b0380821115611650575f80fd5b61165c88838901611434565b90965094506020870135915080821115611674575f80fd5b506114bd87828801611434565b5f805f805f8060c08789031215611696575f80fd5b8635955060208701359450604087013593506116b4606088016114c9565b92506080870135915060a087013590509295509295509295565b8183525f6001600160fb1b038311156116e5575f80fd5b8260051b80836020870137939093016020019392505050565b85815260018060a01b0385166020820152836040820152608060608201525f61172b6080830184866116ce565b979650505050505050565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610cee57610cee611777565b5f602082840312156117ae575f80fd5b81518015158114611308575f80fd5b634e487b7160e01b5f52601260045260245ffd5b5f826117eb57634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160a01b03861681526060602082018190525f9061181490830186886116ce565b82810360408401526118278185876116ce565b98975050505050505050565b5f8060408385031215611844575f80fd5b505080516020909101519092909150565b80820180821115610cee57610cee611777565b8082028115828204841417610cee57610cee611777565b5f82518060208501845e5f92019182525091905056fecd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a264697066735822122059de621f0af33adb489739057207461ff2feeeb51635b6ffa305cda9c51467f464736f6c634300081900330605581e037a97a9fbd2256fe956d4b053d7a04f9b42eaeb1811d7f3ad7f9122436007011918eb037a7a27064a5df6f8fe8c954350a6e6cd25971229a9187e1cfb981722aab1527b05581e03bc5de0727fbbbfd97fae4cb8d4a1d99f73f60ff2d11f14e309e793ed800c0346eb62b2b8217005581e03c84519d8983a52205b71efdcc324cd2554fca5c01df6e244987ab88450040105581e037d034d3eeabd86ea55b9226e6e5ff673b1d0cdd2d44fb59cc5be1f93a00c054730ad2ff362220302198ffb0323e708390ee31ccce827ac8bfe8f2c302cdf44868366b35f615c13a20b104d540386cad5de9efd533570130a49f8e6d02c64a9054172448f0717cf06a8a42f624803bc996692127368e792ec5dd39cf13459df95d4c0b6a712e41a2219b41f840ea1032e33383b55405365dd2616e7a6792e8db42510a033cf615ceecdc3de71fad86a033e7ac401efa3762fbbbae7f57a4096b7b824c2dee3a4aff35086325f1ceee35a03f88395c42707dc2da5bb2811c755318fb683c6b25d3de812880a96f88ed05cae030a8b8ebbfcb35f38f9bc3c1f20dcc15545f4301772c66167db53ff368fdecd7c03d7043a46d799f49589221005f86dce08c236b9fe4f8509e7f006272b869d687603397668223371438ea1ca0eb4ae630d9c6f2d15c44e2144d5280be0d05d46de1d036ffab852d70214be49d0343668f74364599c269e8b7d9da4b493bf2e94c38d990219ffff035f1e6037c676375b017ba0c29ce74eeb11b56927acf4f74fde9447e5cde77d8703a047fa11c4fda7faa9f85c3c96481c6d3e9e5bde4adcac74ac434dcdb42eb54d039ba4cd867456e56929c462a7f7226cf5b7c720eb191f9288882c5c7d1a9058620318a9c14ea06470ed2bb47696d1577f1efd291c2de028f4476f02b444da23511e035549c13bff28aa02affd36b0c380baab5cfb840ef3d0758da638541c3e4d4e2603cf9fa3178ea25115449ad406fe67a6d9f3255a1500975b8b7bb134c56669149b0381db94fae8dd192e36afbae1f45e1552785c2a87087230f0f1414db3749077fb0355b8b16870b45a6117474a27229d3072c990d16b362068c69e751a2bc5071af90329f2a717d5a995aef04dfcf24a95a04e2d8afc0ae63fd391e0754b9a8112756d0389893373744c41a17275e413d3c8aba4a032f6ce09d18df159a46c5e2e14fa0d0219ffff03c42cc0c48a51608c26aa487c86d6c0d3c863e334fc587c408d8f3334596b24230219ffff03df4f565c0a78e21b6c68a932a2b1cf9b752e3785e4ea56fa61f6ea0ab4c4f1b903e4f8e11ad9b51fcd2cdf46464ac3f171ecb6216af6717c99bfa72fa72097d4e40304ab3febcafcf36e539281a455a24d8c6267717b61d2f73fef780038ae0e2bf60370a5d857b02c8f40d057ad12e86d04267edb080476f22c3194c655fd5f93e88903a76c65de47f6eac1b8abfedb633d15f8fbf87e4893bcc4ddab37f74b16f2060903e576af5dfa88af5dff00d76f85132799b8c4d6efeecde0a2f85db9c3ba6ceff503831ef3a4828bd7a5a15c99a4c1a9a1bfa3a0e7fb21671c78a75de797658c6afa0383ec12028a6fb5e4504debc1752a1f59bbf0228f373809e980d5151601345356037803c304bb15c0c2c45c6bda894bed62975b2ceafb110340f8210af13bcd95e003635c385f67a9c66cf7a8eb89a238cc536a8e97df451c1d987fc12faba5ff0dab031ad86903c250c174663eb32300f1a1b8a50402908534f253331693fe332f0f710332e884c0b3a9d38de5964df462a7742cda54890edbd43d653dbc7d70fb90a60105581d02db6a3e11b1a248f402cf74061e9607c95e7ccf04dbab5999b43b1f800c19064f48028fd73b6e5b500005581d026bedb58f49ec693d24f63a42feaaf80d16518e59cffb8cd4ffa6f94e0c014681c813568e9002185005581e03c1e0b0cc51c03a71f6f2dfa3ad9822e4cca110965061ec0a0951960290040105581e03d1a1f0d883403cd69a59e734d1314b18214c37c564a38fcd06b74911600c0946c06a1ddba40005581e039edd6b63269d6f7379b38b87571983c39201c5264164d3a8827dd8bc900c034714d852e085dc0005581e032ec72f02ede6938f68236b253d87a96c35e0aafac5d59551976e125a200c0d4705e2d11fbf442405581e03e03b586f901461bd2814cc864c13aa94e3bde7973ed573c4f175e2c9f0040105581e03a25f0cbbbc7ee8049dfdcbc94a5c4c9448468751334e0beb7192cfdc90040303c4d04d38ff3caa28173c76855c16c3b96224513b9c6fb31331529d4bb8d1464b02198e6a03463057d668174d850a85da6355e0d30ef0baf92228274e5666264e63114944dc035efa6badfc511eef9fb2899cf88ed2af5c2bfc4dda975d28c71efe2d9df36cca036488d19342fde2ad673433dfb58397d44ea8af43a0137f0ff5e92d2c6712fe420301dfab6bf14e195b9ba52e369ef1a7ebf8e45e68e1fb0b8d3ce6229a79da14d20356494c417e8079fdaea0e6e01aaa4f65edf92683a5f5191c190975f85e25040603f76da662094d3cd44a11cad9ec1c9c75df2114b9c118f375922038d4b376a6df03ffa0453f7319082417af7e3713e8be97dcc21e951ffe6ef44b74fed1e4edc4cb032332455132e8a59b0969604fdaf6c3b8cf440be3f47b607c6f7cf059af318db00342fb1f189883c54c02e1c04e0c769206b66cf0ae9473f38b970333072f2e3c87034308b436a9cb326b3192ae0afa10ceb4b173c75b33a0f4188889d80345522cbf03c10bda5550e4e8c3fbcc50cd7e1c464e2c246bb664d92bdb894312b3c5303a7303700deb1cf3952fe6d01e49a5312255adce0371b86b729cc3c951cd3e2f378f4603ce585ffbcc26a611ff5bbcfdb2ad8bc44c3cf09f8e63989e4d5aa60f92f9ea1f03fbd101e1f7f55a08ca9040c26b72373d461071a00a7cdfe9ed60db3b561e260e0314c0734f94f8d15a7d791a3efa42aec63e37d0672212ae73c3516af15ccc314b0219ffff033aa08c062d5778e508289fc50a2e855ccfbf76aaf44e637b70289813468a5db5031459d896334c4e300a15e9b9f7fea0126b67200f324af2853e56f5301da51f3e03c821e9b1ceb54e55d39238208ce031cc563b001f058bb17f26fab2e69cb71c5703b1025e7b0ff813e13a9525a380bef171f334a05e74cef88d03279132fe75b72703d04045b4d265f3eb387ec4139a881c4335d0008b9d4add7568c07e36c8cd9be403f6585a9124d6d6808bf91bd1d28797aa5a450fd2b816f82e644a689837d4e15a038771f90abdd62bd93f7ab73740806077348489e118ffa8c65fe3fdf671acb410030f740459a34b6f68595a6b78a595da63ad100ccc2c7133fdc2792cfea1bf196a031c32da1046cfb67a6603b800de6b9716fe4b10bf2becb1502d03b4743130f65f031768f93be2a5b5372ee08e83a2e38db54280d850fcdf43bca792de4bc2c047ff035e8baed3aeb7a62232ebb242c1f339ee58e72fbd79fd35479a4cb904dc88b3920219ffff038c305855f934efe93123c1baddc7d0b3dc9e2b5956d3903d5b18f6cb9afc9c19033aef41831b134e34dbc9e670895f9184984ba271de39a98750314b3c538ea5ed032558b7592555875e963e159ced17deaed700aa18bdd9cc73883393f055f6154c0307d082eb3eae510481166f64b0721510387f1ad290c03ac3a9b0fa87e57af5ad032634740cb345bee4221cf3ffd93f05ba12ebb5149a090025ddb3849e21d07d3f03d00956261fe23a8d04bad6c4b973f2b6d8bc0b9757c98900542a6b88a8b2553a03f30c93ca6a4c6bb7b9aafa6d034009d1a31159ed28272ec53afbd58f969378bb03784e4b9bf41028e69fcbd7b18890d67f65e1e3180d637bcd1f104bc4b24a79dd03766cdead875eeb63004d393c86f5a9dd789596fa3d214520d8660ffe8737a3ae036c241fd415bff565985fb1dbf05a121b9646d0b2e24292c4efa97e181ae3b9fd0311076007fa90be88737cdd57d0399de55b221165e0890511fb5105ece0f3545c03af4b77ac01f1b719ee98100a543349564889289e6c8e44a1a48f8f06b58ea269035f4ac8f7bf188b17edeeaeb9c95f4bc62d3e6cfdc094ae8448cce938fe3a7909036d8cf5428e72e95fac8e8724c949d0ccb4eb5b59592d42c62f4d60fb3438163505581e03e6a5328690804d272b6ab284c0b3af99bdc4b840f7e049f76fd1d36c400c044201f403fe45d6f48251a5d16c959388137f7f72d189ca3e1913a7447cbfb869752aa49605581e0324dfcad57161f8ab1af2a959e9c0e2e60f0a3c1a023783ab3cec86c810084701bd4b8350860005581e0352aaefeef107fda93edb642bee2fdfb72153fa28a784569fc9b9f8d990040403c00fff38eb4beb4c0fb580ee4834ab37cd50168be543237039064c8ed28cb14d0459591960806040526004361061024f5760003560e01c80639a4f809c11610138578063b4658bfb116100b0578063ea7faa611161007f578063f6e0f6a511610064578063f6e0f6a51461069d578063fd5f995b146106bd578063fe55a3ef146106dd5761024f565b8063ea7faa611461066a578063f6274f661461068a5761024f565b8063b4658bfb146105f5578063d0a55fb014610615578063dab400f314610635578063dd11d2251461064a5761024f565b8063aa6b21cd11610107578063ad354eeb116100ec578063ad354eeb14610586578063b09f1fb1146105b5578063b10a33f4146105d55761024f565b8063aa6b21cd14610546578063aa77476c146105665761024f565b80639a4f809c146104d15780639baa45a8146104f15780639f0434f514610511578063a0edcef5146105315761024f565b8063487b5c20116101cb57806386a0c8d71161019a5780639240529c1161017f5780639240529c1461047e578063935c82a41461049157806395480889146104b15761024f565b806386a0c8d71461043c5780638fd3ab801461045c5761024f565b8063487b5c20146103ab5780636ae4b4f7146103cd5780636b52a4a8146103ef5780637d49ec1a1461041c5761024f565b8063346693c5116102225780633cd2f026116102075780633cd2f0261461033d578063414e4ccf1461035d578063438cdfc51461037e5761024f565b8063346693c5146102f057806337f381d81461031d5761024f565b8063016a6d6514610254578063031b905c1461028a5780630f0e8cf71461029f5780631fb09795146102c1575b600080fd5b34801561026057600080fd5b5061027461026f366004614bb6565b6106fd565b60405161028191906150b4565b60405180910390f35b34801561029657600080fd5b50610274610718565b3480156102ab57600080fd5b506102bf6102ba366004614705565b61073c565b005b3480156102cd57600080fd5b506102e16102dc366004614a1e565b6107ec565b60405161028193929190615677565b3480156102fc57600080fd5b5061031061030b366004614bb6565b610904565b6040516102819190615669565b34801561032957600080fd5b506102e1610338366004614bd2565b6109bc565b34801561034957600080fd5b506102bf610358366004614696565b610abc565b61037061036b366004614ac7565b610aef565b6040516102819291906157c2565b34801561038a57600080fd5b5061039e610399366004614c08565b610b99565b60405161028191906157a5565b3480156103b757600080fd5b506103c0610c6a565b60405161028191906157f3565b3480156103d957600080fd5b506103e2610c8e565b60405161028191906152f1565b3480156103fb57600080fd5b5061040f61040a36600461449b565b610cc7565b60405161028191906150a9565b34801561042857600080fd5b506102bf610437366004614a02565b610d15565b34801561044857600080fd5b506102bf610457366004614705565b610d96565b34801561046857600080fd5b50610471610e37565b6040516102819190615236565b61039e61048c366004614a7c565b611355565b34801561049d57600080fd5b506102bf6104ac366004614597565b611418565b3480156104bd57600080fd5b506103106104cc366004614a02565b61143f565b3480156104dd57600080fd5b506102bf6104ec3660046149c2565b6114ca565b3480156104fd57600080fd5b506102bf61050c366004614814565b6114d6565b34801561051d57600080fd5b506102bf61052c3660046144d3565b611506565b34801561053d57600080fd5b506103c0611594565b34801561055257600080fd5b50610370610561366004614c48565b6115b8565b34801561057257600080fd5b50610370610581366004614c08565b611666565b34801561059257600080fd5b506105a66105a13660046148b3565b6116d4565b6040516102819392919061500b565b3480156105c157600080fd5b506102bf6105d03660046145e7565b61193a565b3480156105e157600080fd5b506102bf6105f0366004614597565b611a53565b34801561060157600080fd5b506105a661061036600461477f565b611a7a565b34801561062157600080fd5b506102bf6106303660046149c2565b611cd5565b34801561064157600080fd5b50610274611ce1565b34801561065657600080fd5b50610274610665366004614a02565b611d05565b34801561067657600080fd5b506102bf61068536600461456a565b611d13565b610370610698366004614a7c565b611daf565b3480156106a957600080fd5b506102bf6106b8366004614915565b611e4d565b3480156106c957600080fd5b506102bf6106d83660046144d3565b611e7d565b3480156106e957600080fd5b506102bf6106f8366004614bb6565b611f04565b600061071061070b83611f81565b6120b8565b90505b919050565b7f000000000000000000000000000000000000000000000001000000030000000081565b8151835114801561074e575080518351145b61078d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107849061541c565b60405180910390fd5b60005b83518110156107e6576107de338583815181106107a957fe5b60200260200101518584815181106107bd57fe5b60200260200101518585815181106107d157fe5b602002602001015161210a565b600101610790565b50505050565b6107f46140e7565b6000806108008561143f565b92506108916040518060a001604052808760a0015173ffffffffffffffffffffffffffffffffffffffff168152602001876000015173ffffffffffffffffffffffffffffffffffffffff16815260200187604001516fffffffffffffffffffffffffffffffff16815260200187606001516fffffffffffffffffffffffffffffffff168152602001858152506121f2565b83519092506000906108b1906108ac36889003880188614ccd565b61231b565b90508073ffffffffffffffffffffffffffffffffffffffff168660a0015173ffffffffffffffffffffffffffffffffffffffff1614806108fa57506108fa8660a0015182610cc7565b9150509250925092565b61090c6140e7565b610915826106fd565b8152600061092161246c565b608084015173ffffffffffffffffffffffffffffffffffffffff9081166000908152600292909201602090815260408084208751841685528252808420828801519093168452919052902054606084015161010085015161012086015192935061098f928592919085612479565b60c083015173ffffffffffffffffffffffffffffffffffffffff166109b657600060208301525b50919050565b6109c46140e7565b6000806109d085610904565b9250610a616040518060a00160405280876080015173ffffffffffffffffffffffffffffffffffffffff168152602001876000015173ffffffffffffffffffffffffffffffffffffffff16815260200187604001516fffffffffffffffffffffffffffffffff16815260200187606001516fffffffffffffffffffffffffffffffff168152602001858152506121f2565b91506000610a7384600001518661231b565b90508073ffffffffffffffffffffffffffffffffffffffff16866080015173ffffffffffffffffffffffffffffffffffffffff1614806108fa57506108fa866080015182610cc7565b60005b81811015610aea57610ae2838383818110610ad657fe5b9050602002013561256c565b600101610abf565b505050565b600080333014610b0a57610b0a610b05336127ba565b612872565b610b12614109565b610b7f6040518060a001604052808a8152602001898152602001886fffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff1681525061287a565b602081015160409091015190999098509650505050505050565b6000610ba3614109565b6040805160c081018252868152602081018690526fffffffffffffffffffffffffffffffff85169181019190915233606082018190526000608083015260a0820152610bee90612c4d565b9050826fffffffffffffffffffffffffffffffff1681602001516fffffffffffffffffffffffffffffffff161015610c5e57610c5e610b05610c2f876106fd565b83602001516fffffffffffffffffffffffffffffffff16866fffffffffffffffffffffffffffffffff16612ff6565b60400151949350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6040518060400160405280600b81526020017f4c696d69744f726465727300000000000000000000000000000000000000000081525081565b6000610cd161246c565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260049290920160209081526040808420928616845291905290205460ff1690505b92915050565b6000610d2082611d05565b90508160a0015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610d6d5750610d6b8260a0015133610cc7565b155b15610d8457610d84610b0582338560a001516130b4565b610d92818360a001516130ec565b5050565b81518351148015610da8575080518351145b610dde576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107849061541c565b60005b83518110156107e657610e2f33858381518110610dfa57fe5b6020026020010151858481518110610e0e57fe5b6020026020010151858581518110610e2257fe5b602002602001015161315f565b600101610de1565b6000610e627f3cd2f02600000000000000000000000000000000000000000000000000000000613237565b610e8b7ff6274f6600000000000000000000000000000000000000000000000000000000613237565b610eb47faa77476c00000000000000000000000000000000000000000000000000000000613237565b610edd7f9240529c00000000000000000000000000000000000000000000000000000000613237565b610f067f438cdfc500000000000000000000000000000000000000000000000000000000613237565b610f2f7f414e4ccf00000000000000000000000000000000000000000000000000000000613237565b610f587faa6b21cd00000000000000000000000000000000000000000000000000000000613237565b610f817f7d49ec1a00000000000000000000000000000000000000000000000000000000613237565b610faa7ffe55a3ef00000000000000000000000000000000000000000000000000000000613237565b610fd37f9baa45a800000000000000000000000000000000000000000000000000000000613237565b610ffc7ff6e0f6a500000000000000000000000000000000000000000000000000000000613237565b6110257fd0a55fb000000000000000000000000000000000000000000000000000000000613237565b61104e7fb10a33f400000000000000000000000000000000000000000000000000000000613237565b6110777f86a0c8d700000000000000000000000000000000000000000000000000000000613237565b6110a07f9f0434f500000000000000000000000000000000000000000000000000000000613237565b6110c97f9a4f809c00000000000000000000000000000000000000000000000000000000613237565b6110f27f935c82a400000000000000000000000000000000000000000000000000000000613237565b61111b7f0f0e8cf700000000000000000000000000000000000000000000000000000000613237565b6111447ffd5f995b00000000000000000000000000000000000000000000000000000000613237565b61116d7f9548088900000000000000000000000000000000000000000000000000000000613237565b6111967f346693c500000000000000000000000000000000000000000000000000000000613237565b6111bf7fdd11d22500000000000000000000000000000000000000000000000000000000613237565b6111e87f016a6d6500000000000000000000000000000000000000000000000000000000613237565b6112117f487b5c2000000000000000000000000000000000000000000000000000000000613237565b61123a7fb09f1fb100000000000000000000000000000000000000000000000000000000613237565b6112637f1fb0979500000000000000000000000000000000000000000000000000000000613237565b61128c7f37f381d800000000000000000000000000000000000000000000000000000000613237565b6112b57fb4658bfb00000000000000000000000000000000000000000000000000000000613237565b6112de7fad354eeb00000000000000000000000000000000000000000000000000000000613237565b6113077fea7faa6100000000000000000000000000000000000000000000000000000000613237565b6113307f6b52a4a800000000000000000000000000000000000000000000000000000000613237565b507f2c64c5ef0000000000000000000000000000000000000000000000000000000090565b600061135f614109565b6113cc6040518060a00160405280878152602001868152602001856fffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff1681525061287a565b9050826fffffffffffffffffffffffffffffffff1681602001516fffffffffffffffffffffffffffffffff16101561140d5761140d610b05610c2f87611d05565b8051610c5e906132c3565b6114228433610cc7565b61143357611433610b058533613366565b6107e68484848461210a565b6114476140e7565b61145082611d05565b8152600061145c61246c565b60a084015173ffffffffffffffffffffffffffffffffffffffff908116600090815260019290920160209081526040808420875184168552825280842082880151909316845291905290205460608401516101408501516101608601519293506109b6928592919085612479565b610aea3384848461210a565b60005b8151811015610d92576114fe8282815181106114f157fe5b6020026020010151610d15565b6001016114d9565b81518351148015611518575080518351145b61154e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107849061541c565b6115588433610cc7565b61156957611569610b058533613366565b60005b835181101561158d5761158585858381518110610dfa57fe5b60010161156c565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000803330146115ce576115ce610b05336127ba565b6115d6614109565b61164b6040518060c001604052808b81526020018a8152602001896fffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff16815260200187151581526020018673ffffffffffffffffffffffffffffffffffffffff16815250612c4d565b6020810151604090910151909a909950975050505050505050565b600080611671614109565b6040805160c081018252878152602081018790526fffffffffffffffffffffffffffffffff86169181019190915233606082018190526000608083015260a08201526116bc90612c4d565b60208101516040909101519097909650945050505050565b60608080858414611711576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078490615362565b8567ffffffffffffffff8111801561172857600080fd5b5060405190808252806020026020018201604052801561176257816020015b61174f6140e7565b8152602001906001900390816117475790505b5092508567ffffffffffffffff8111801561177c57600080fd5b506040519080825280602002602001820160405280156117a6578160200160208202803683370190505b5091508567ffffffffffffffff811180156117c057600080fd5b506040519080825280602002602001820160405280156117ea578160200160208202803683370190505b50905060005b8681101561192f57306337f381d889898481811061180a57fe5b9050610140020188888581811061181d57fe5b9050608002016040518363ffffffff1660e01b81526004016118409291906156ad565b60a06040518083038186803b15801561185857600080fd5b505afa9250505080156118a6575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526118a391810190614b3a565b60015b6118af57611927565b828785815181106118bc57fe5b6020026020010181905250818685815181106118d457fe5b60200260200101906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff16815250508085858151811061191357fe5b911515602092830291909101909101525050505b6001016117f0565b509450945094915050565b333214611973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610784906153bf565b600061197d61246c565b905060005b8351811015611a1257336000908152600383016020526040812085518592908790859081106119ad57fe5b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600101611982565b507f02dfead5eb769b298e82dd9650b31c40559a3d42701dbf53c931bc2682847c31338484604051611a4693929190614f15565b60405180910390a1505050565b611a5d8433610cc7565b611a6e57611a6e610b058533613366565b6107e68484848461315f565b60608080858414611ab7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078490615362565b8567ffffffffffffffff81118015611ace57600080fd5b50604051908082528060200260200182016040528015611b0857816020015b611af56140e7565b815260200190600190039081611aed5790505b5092508567ffffffffffffffff81118015611b2257600080fd5b50604051908082528060200260200182016040528015611b4c578160200160208202803683370190505b5091508567ffffffffffffffff81118015611b6657600080fd5b50604051908082528060200260200182016040528015611b90578160200160208202803683370190505b50905060005b8681101561192f5730631fb09795898984818110611bb057fe5b90506101800201888885818110611bc357fe5b9050608002016040518363ffffffff1660e01b8152600401611be6929190615533565b60a06040518083038186803b158015611bfe57600080fd5b505afa925050508015611c4c575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252611c4991810190614b3a565b60015b611c5557611ccd565b82878581518110611c6257fe5b602002602001018190525081868581518110611c7a57fe5b60200260200101906fffffffffffffffffffffffffffffffff1690816fffffffffffffffffffffffffffffffff168152505080858581518110611cb957fe5b911515602092830291909101909101525050505b600101611b96565b610aea3384848461315f565b7ffe3a8808ff7909b8c36164e6e9a076597c21c3fc2ec6f2c8ac04529c41ce507e81565b600061071061070b83613421565b6000611d1d61246c565b336000818152600483016020908152604080832073ffffffffffffffffffffffffffffffffffffffff891684529091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016861515179055519192507f6ea9dbe8b2cc119348716a9220a0742ad62b7884ecb0ff4b32cd508121fd937991611a46919086908690614ee4565b600080611dba614109565b611e276040518060a00160405280888152602001878152602001866fffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff1681525061287a565b9050611e3681600001516132c3565b602081015160409091015190969095509350505050565b60005b8151811015610d9257611e75828281518110611e6857fe5b6020026020010151611f04565b600101611e50565b81518351148015611e8f575080518351145b611ec5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107849061541c565b611ecf8433610cc7565b611ee057611ee0610b058533613366565b60005b835181101561158d57611efc858583815181106107a957fe5b600101611ee3565b6000611f0f826106fd565b9050816080015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611f5c5750611f5a826080015133610cc7565b155b15611f7357611f73610b05823385608001516130b4565b610d928183608001516130ec565b60006040517fe593d3fdfa8b60e5e17a1b2204662ecbe15c23f2084b9ad5bae40359540a7da98152825173ffffffffffffffffffffffffffffffffffffffff166020820152602083015173ffffffffffffffffffffffffffffffffffffffff16604082015260408301516fffffffffffffffffffffffffffffffff16606082015260608301516fffffffffffffffffffffffffffffffff166080820152608083015173ffffffffffffffffffffffffffffffffffffffff1660a082015260a083015173ffffffffffffffffffffffffffffffffffffffff1660c082015260c083015173ffffffffffffffffffffffffffffffffffffffff1660e082015260e083015161010082015261010083015167ffffffffffffffff166101208201526101208301516101408201526101608120915050919050565b60007ffe3a8808ff7909b8c36164e6e9a076597c21c3fc2ec6f2c8ac04529c41ce507e826040516020016120ed929190614e59565b604051602081830303815290604052805190602001209050919050565b600061211461246c565b73ffffffffffffffffffffffffffffffffffffffff8087166000908152600283016020908152604080832089851684528252808320938816835292905220549091508281111561216b5761216b610b058483613598565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526002840160209081526040808320898516845282528083209388168352929052819020849055517ffe7ffb1edfe79f4df716cb2dcad21cf2f31b104d816a7976ba1e6e4653c1efb1906121e2908890889088908890614fae565b60405180910390a1505050505050565b600081604001516fffffffffffffffffffffffffffffffff166000148061222d575060608201516fffffffffffffffffffffffffffffffff16155b1561223a57506000610713565b6001826080015160200151600481111561225057fe5b1461225d57506000610713565b60006122b68360800151604001518460600151036fffffffffffffffffffffffffffffffff1684606001516fffffffffffffffffffffffffffffffff1685604001516fffffffffffffffffffffffffffffffff166135ce565b90506122d3816122ce856020015186600001516135ec565b61371e565b905061231461230f8285604001516fffffffffffffffffffffffffffffffff1686606001516fffffffffffffffffffffffffffffffff16613734565b613758565b9392505050565b60006123278383613784565b60028251600381111561233657fe5b141561239e576001838360200151846040015185606001516040516000815260200160405260405161236b9493929190615218565b6020604051602081039080840390855afa15801561238d573d6000803e3d6000fd5b505050602060405103519050612443565b6003825160038111156123ad57fe5b14156124435760007f19457468657265756d205369676e6564204d6573736167653a0a33320000000060005283601c52603c6000209050600181846020015185604001518660600151604051600081526020016040526040516124139493929190615218565b6020604051602081039080840390855afa158015612435573d6000803e3d6000fd5b505050602060405103519150505b73ffffffffffffffffffffffffffffffffffffffff8116610d0f57610d0f610b05600585613830565b600080610d0f6007613866565b600061248361246c565b865160009081526020829052604090819020546fffffffffffffffffffffffffffffffff808216928a01839052929350918716116124da576020870160025b908160048111156124cf57fe5b81525050505061158d565b7f800000000000000000000000000000000000000000000000000000000000000081161561250d576020870160036124c2565b504267ffffffffffffffff168467ffffffffffffffff1611612547576020860160045b9081600481111561253d57fe5b815250505061158d565b8282111561255a57602086016003612530565b60016020870181905250505050505050565b6040517f319bed9a00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000795e7d412dd832f094291108fdf0298cb65bdab2169063319bed9a906125e19085906004016150b4565b602060405180830381600087803b1580156125fb57600080fd5b505af115801561260f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061263391906149a6565b905060007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b81526004016126909190614e92565b60206040518083038186803b1580156126a857600080fd5b505afa1580156126bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e09190614ce8565b90506001811115610aea576040517fa3b4a32700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a26e80e7dea86279c6d778d702cc413e6cffa777169063a3b4a3279061278390859081907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff870190600401614eb3565b600060405180830381600087803b15801561279d57600080fd5b505af11580156127b1573d6000803e3d6000fd5b50505050505050565b60607ff0ec779b0bcda6d84abf99ee2c67647d1100ebbb553a9c2d1c2ba1579592832c826040516024016127ee9190614e92565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b612882614109565b61288a6140e7565b82516128959061143f565b90506001816020015160048111156128a957fe5b146128ce576128ce610b058260000151836020015160048111156128c957fe5b613881565b825160c0015173ffffffffffffffffffffffffffffffffffffffff16158015906129305750826060015173ffffffffffffffffffffffffffffffffffffffff16836000015160c0015173ffffffffffffffffffffffffffffffffffffffff1614155b1561295357612953610b0582600001518560600151866000015160c001516138b7565b825160e0015173ffffffffffffffffffffffffffffffffffffffff16158015906129b55750826080015173ffffffffffffffffffffffffffffffffffffffff16836000015160e0015173ffffffffffffffffffffffffffffffffffffffff1614155b156129d8576129d8610b0582600001518560800151866000015160e001516138ef565b60006129ec8260000151856020015161231b565b9050836000015160a0015173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015612a3f5750835160a00151612a3d9082610cc7565b155b15612a5b578151845160a00151612a5b91610b05918490613927565b5082516101200151612a6c9061395f565b8252604080516101408101825282518152845160a09081015173ffffffffffffffffffffffffffffffffffffffff9081166020808501919091526060808901805184168688015251831681860152885151831660808601528851909101519091169183019190915285518301516fffffffffffffffffffffffffffffffff90811660c0840152865190910151811660e083015285830151811661010083015291830151909116610120820152612b2190613a34565b6fffffffffffffffffffffffffffffffff908116604085015290811660208401528351608001511615612bd857612ba382602001516fffffffffffffffffffffffffffffffff168460000151606001516fffffffffffffffffffffffffffffffff168560000151608001516fffffffffffffffffffffffffffffffff166135ce565b6fffffffffffffffffffffffffffffffff166060808401829052845160208101519186015161010090910151612bd893613bf5565b8051835160a08101516060808701516101008401518451602080870151908a01516040808c0151968c01518c51610120909a015191517fab614d2b738543c0ea21f56347cf696a3a0c42a7cbec3212a5ca22a4dcff21249b612c3f9b909a9993909161510d565b60405180910390a150919050565b612c55614109565b612c5d6140e7565b8251612c6890610904565b9050600181602001516004811115612c7c57fe5b14612c9c57612c9c610b058260000151836020015160048111156128c957fe5b6000612ca661246c565b845160c0015190915073ffffffffffffffffffffffffffffffffffffffff163214801590612d0c5750835160c0015173ffffffffffffffffffffffffffffffffffffffff166000908152600382016020908152604080832032845290915290205460ff16155b15612d28578151845160c00151612d2891610b05913290613ceb565b50825160a0015173ffffffffffffffffffffffffffffffffffffffff1615801590612d8b5750826060015173ffffffffffffffffffffffffffffffffffffffff16836000015160a0015173ffffffffffffffffffffffffffffffffffffffff1614155b15612dae57612dae610b0582600001518560600151866000015160a001516138b7565b6000612dc28260000151856020015161231b565b905083600001516080015173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015612e155750835160800151612e139082610cc7565b155b15612e31578151845160800151612e3191610b05918490613927565b50604080516101408101825282518152845160809081015173ffffffffffffffffffffffffffffffffffffffff166020830152850151612f7c92820190612e7c578560600151612e7e565b305b73ffffffffffffffffffffffffffffffffffffffff1681526020018560a0015173ffffffffffffffffffffffffffffffffffffffff16815260200185600001516000015173ffffffffffffffffffffffffffffffffffffffff16815260200185600001516020015173ffffffffffffffffffffffffffffffffffffffff1681526020018560000151604001516fffffffffffffffffffffffffffffffff1681526020018560000151606001516fffffffffffffffffffffffffffffffff16815260200185604001516fffffffffffffffffffffffffffffffff16815260200183604001516fffffffffffffffffffffffffffffffff16815250613a34565b6fffffffffffffffffffffffffffffffff908116604080860182905292909116602080860182905284518751608081015160608a015182519483015160e09093015197517f829fa99d94dc4636925b38632e625736a614c154d55006b7ab6bea979c210c3298612c3f98959793969295929493929161518d565b60607f21948612b5ef214ec0508df4901600e07a810a371be76b25d59ade73826e3d9784848460405160240161302e939291906151f1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b60607f88b2c08e4a5f57d416ad23dad18c20497ccfe684b1379b28fd564adaf582b80f84848460405160240161302e939291906150e1565b60006130f661246c565b6000848152602082905260409081902080547f8000000000000000000000000000000000000000000000000000000000000000179055519091507fa6eb7cdc219e1518ced964e9a34e61d68a94e4f1569db3e84256ba981ba5275390611a4690859085906150bd565b600061316961246c565b73ffffffffffffffffffffffffffffffffffffffff808716600090815260018301602090815260408083208985168452825280832093881683529290522054909150828111156131c0576131c0610b058483613598565b73ffffffffffffffffffffffffffffffffffffffff80871660009081526001840160209081526040808320898516845282528083209388168352929052819020849055517fa91fe7ae62fce669df2c7f880f8c14d178531aae72515558e5c948e37c32a572906121e2908890889088908890614fae565b6040517f6eb224cb0000000000000000000000000000000000000000000000000000000081523090636eb224cb906132959084907f0000000000000000000000001fcc3e6f76f7a96cd2b9d09f1d3c041ca1403c5790600401615263565b600060405180830381600087803b1580156132af57600080fd5b505af115801561158d573d6000803e3d6000fd5b80341180156132d25750333014155b156133635760006132e33483613d23565b905060003373ffffffffffffffffffffffffffffffffffffffff168260405161330b90614e8f565b60006040518083038185875af1925050503d8060008114613348576040519150601f19603f3d011682016040523d82523d6000602084013e61334d565b606091505b5050905080610aea57610aea610b053384613d42565b50565b60607f84356db366796dc6e2aeb1ad74b631fe4e5ec6a650464da6059e9f95c8810a10838360405160240161339c929190614f87565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b60006040517fce918627cb55462ddbb85e73de69a8b322f2bc88f4507c52fcad6d4c33c29d498152825173ffffffffffffffffffffffffffffffffffffffff166020820152602083015173ffffffffffffffffffffffffffffffffffffffff16604082015260408301516fffffffffffffffffffffffffffffffff16606082015260608301516fffffffffffffffffffffffffffffffff16608082015260808301516fffffffffffffffffffffffffffffffff1660a082015260a083015173ffffffffffffffffffffffffffffffffffffffff1660c082015260c083015173ffffffffffffffffffffffffffffffffffffffff1660e082015260e083015173ffffffffffffffffffffffffffffffffffffffff1661010082015261010083015173ffffffffffffffffffffffffffffffffffffffff1661012082015261012083015161014082015261014083015167ffffffffffffffff166101608201526101608301516101808201526101a08120915050919050565b60607fb12bc7e7d341f4431d6faf05f991ee3b779183e341b24243064e10c886cd1873838360405160240161339c9291906157e5565b60006135e4836135de8685613d78565b90613da9565b949350505050565b60006123148373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84306040518363ffffffff1660e01b815260040161362c929190614f87565b60206040518083038186803b15801561364457600080fd5b505afa158015613658573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061367c9190614ce8565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8616906370a08231906136ce908790600401614e92565b60206040518083038186803b1580156136e657600080fd5b505afa1580156136fa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ce9190614ce8565b600081831061372d5781612314565b5090919050565b60006135e4836135de613748826001613d23565b6137528887613d78565b90613dd3565b60006fffffffffffffffffffffffffffffffff82111561378057613780610b05600384613def565b5090565b60408101517ffffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641411115806137db575060608101517f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a111155b156137ee576137ee610b05600584613830565b6000815160038111156137fd57fe5b141561381157613811610b05600384613830565b60018151600381111561382057fe5b1415610d9257610d92610b056000845b60607ff18f11f3027e735c758137924b262d4d3aff0037dcd785aca3c699fa05d960bd838360405160240161339c9291906152e3565b6000608082600881111561387657fe5b600101901b92915050565b60607f47ab394e41470191eaf9fa542e84ac483a12665fbd616eb8d1c022ced6c94000838360405160240161339c929190615207565b60607f5d3300180a4547b3e27137be832d3ebf56f1ba5ebb30dd580999c61f77fa639684848460405160240161302e939291906150e1565b60607f15e6a383bb02d79ee933b927fbecba78cdde16cba84b94a99661f44bcce3b73684848460405160240161302e939291906150e1565b60607ff13e65d925201525f3d71a731833b19bb26e44cfbd97caf72a366b73866f712484848460405160240161302e939291906150e1565b60008061396a613e0c565b90508061397b576000915050610713565b600061398684613e38565b905060008173ffffffffffffffffffffffffffffffffffffffff16836040516139ae90614e8f565b60006040518083038185875af1925050503d80600081146139eb576040519150601f19603f3d011682016040523d82523d6000602084013e6139f0565b606091505b5050905080613a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610784906154d6565b50909392505050565b600080613a73836101000151613a6e8561012001518660e001516fffffffffffffffffffffffffffffffff16613e8590919063ffffffff16565b613ee6565b9150613abe826fffffffffffffffffffffffffffffffff168460e001516fffffffffffffffffffffffffffffffff168560c001516fffffffffffffffffffffffffffffffff166135ce565b90506fffffffffffffffffffffffffffffffff82161580613aef57506fffffffffffffffffffffffffffffffff8116155b15613aff57506000905080613bf0565b610120830151613b21906fffffffffffffffffffffffffffffffff1683613f19565b6fffffffffffffffffffffffffffffffff16613b3b61246c565b845160009081526020919091526040908190209190915583015173ffffffffffffffffffffffffffffffffffffffff16301415613b9c57613b978360a001518460200151846fffffffffffffffffffffffffffffffff16613f6e565b613bc6565b613bc68360a0015184604001518560200151856fffffffffffffffffffffffffffffffff16613bf5565b613bf0836080015184602001518560600151846fffffffffffffffffffffffffffffffff16613bf5565b915091565b73ffffffffffffffffffffffffffffffffffffffff8416301415613c45576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078490615479565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff83166024820152816044820152602081606483600073ffffffffffffffffffffffffffffffffffffffff8a165af13d600183511460208210151681151782169150816127b157806000843e8083fd5b60607fc0972f3cc4234ca2091de7e7bc7081494bd29ac280167d66f0d44168973b163484848460405160240161302e939291906150e1565b600082821115613d3c57613d3c610b0560028585614050565b50900390565b60607fbde95cc2119e0200d80642397198abfcf98e6e4dddd0de9c6320d86252ad40ab838360405160240161339c929190614fe5565b600082613d8757506000610d0f565b82820282848281613d9457fe5b041461231457612314610b0560018686614050565b600081613dbf57613dbf610b0560038585614050565b6000828481613dca57fe5b04949350505050565b60008282018381101561231457612314610b0560008686614050565b606063c996af7b60e01b838360405160240161339c9291906152cc565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000000163a0290565b60006107107f000000000000000000000000795e7d412dd832f094291108fdf0298cb65bdab27f56efbfef148a2c7c8190d8c6eb112d767ccf1cc4ae41ba6a221e5a66a6a247ee8461406f565b6000826fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff161115613d3c57613d3c610b056002856fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff16614050565b6000816fffffffffffffffffffffffffffffffff16836fffffffffffffffffffffffffffffffff161061372d5781612314565b60008282016fffffffffffffffffffffffffffffffff808516908216101561231457612314610b056000866fffffffffffffffffffffffffffffffff16866fffffffffffffffffffffffffffffffff16614050565b73ffffffffffffffffffffffffffffffffffffffff8316301415613fbe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078490615479565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152816024820152602081604483600073ffffffffffffffffffffffffffffffffffffffff89165af13d6001835114602082101516811517821691508161404857806000843e8083fd5b505050505050565b606063e946c1bb60e01b84848460405160240161302e939291906152ab565b6040516000906140a9907fff0000000000000000000000000000000000000000000000000000000000000090869085908790602001614df5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120949350505050565b6040805160608101909152600080825260208201908152600060209091015290565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8035610d0f81615888565b600082601f83011261414b578081fd5b813561415e6141598261582b565b615804565b81815291506020808301908481018184028601820187101561417f57600080fd5b60005b848110156141a757813561419581615888565b84529282019290820190600101614182565b505050505092915050565b60008083601f8401126141c3578182fd5b50813567ffffffffffffffff8111156141da578182fd5b6020830191508360206080830285010111156141f557600080fd5b9250929050565b600082601f83011261420c578081fd5b813561421a6141598261582b565b81815291506020808301908481018184028601820187101561423b57600080fd5b60005b848110156141a75781358452928201929082019060010161423e565b8035610d0f816158aa565b6000610180808385031215614278578182fd5b61428181615804565b91505061428e8383614130565b815261429d8360208401614130565b60208201526142af8360408401614478565b60408201526142c18360608401614478565b60608201526142d38360808401614478565b60808201526142e58360a08401614130565b60a08201526142f78360c08401614130565b60c08201526143098360e08401614130565b60e082015261010061431d84828501614130565b90820152610120828101359082015261014061433b84828501614483565b818301525061016080830135818301525092915050565b6000610140808385031215614365578182fd5b61436e81615804565b91505061437b8383614130565b815261438a8360208401614130565b602082015261439c8360408401614478565b60408201526143ae8360608401614478565b60608201526143c08360808401614130565b60808201526143d28360a08401614130565b60a08201526143e48360c08401614130565b60c082015260e082013560e082015261010061440284828501614483565b818301525061012080830135818301525092915050565b60006080828403121561442a578081fd5b6144346080615804565b90508135614441816158b8565b8152602082013560ff8116811461445757600080fd5b80602083015250604082013560408201526060820135606082015292915050565b8035610d0f816158c5565b803567ffffffffffffffff81168114610d0f57600080fd5b600080604083850312156144ad578182fd5b82356144b881615888565b915060208301356144c881615888565b809150509250929050565b600080600080608085870312156144e8578182fd5b84356144f381615888565b9350602085013567ffffffffffffffff8082111561450f578384fd5b61451b8883890161413b565b94506040870135915080821115614530578384fd5b61453c8883890161413b565b93506060870135915080821115614551578283fd5b5061455e878288016141fc565b91505092959194509250565b6000806040838503121561457c578182fd5b823561458781615888565b915060208301356144c8816158aa565b600080600080608085870312156145ac578182fd5b84356145b781615888565b935060208501356145c781615888565b925060408501356145d781615888565b9396929550929360600135925050565b600080604083850312156145f9578182fd5b823567ffffffffffffffff81111561460f578283fd5b8301601f8101851361461f578283fd5b803561462d6141598261582b565b80828252602080830192508085018982838702880101111561464d578788fd5b8795505b8486101561467857803561466481615888565b845260019590950194928101928101614651565b5081965061468889828a0161425a565b955050505050509250929050565b600080602083850312156146a8578182fd5b823567ffffffffffffffff808211156146bf578384fd5b818501915085601f8301126146d2578384fd5b8135818111156146e0578485fd5b86602080830285010111156146f3578485fd5b60209290920196919550909350505050565b600080600060608486031215614719578081fd5b833567ffffffffffffffff80821115614730578283fd5b61473c8783880161413b565b94506020860135915080821115614751578283fd5b61475d8783880161413b565b93506040860135915080821115614772578283fd5b506108fa868287016141fc565b60008060008060408587031215614794578182fd5b843567ffffffffffffffff808211156147ab578384fd5b818701915087601f8301126147be578384fd5b8135818111156147cc578485fd5b886020610180830285010111156147e1578485fd5b6020928301965094509086013590808211156147fb578384fd5b50614808878288016141b2565b95989497509550505050565b60006020808385031215614826578182fd5b823567ffffffffffffffff81111561483c578283fd5b8301601f8101851361484c578283fd5b803561485a6141598261582b565b81815283810190838501610180808502860187018a1015614879578788fd5b8795505b848610156148a55761488f8a83614265565b845260019590950194928601929081019061487d565b509098975050505050505050565b600080600080604085870312156148c8578182fd5b843567ffffffffffffffff808211156148df578384fd5b818701915087601f8301126148f2578384fd5b813581811115614900578485fd5b886020610140830285010111156147e1578485fd5b60006020808385031215614927578182fd5b823567ffffffffffffffff81111561493d578283fd5b8301601f8101851361494d578283fd5b803561495b6141598261582b565b81815283810190838501610140808502860187018a101561497a578788fd5b8795505b848610156148a5576149908a83614352565b845260019590950194928601929081019061497e565b6000602082840312156149b7578081fd5b815161231481615888565b6000806000606084860312156149d6578081fd5b83356149e181615888565b925060208401356149f181615888565b929592945050506040919091013590565b60006101808284031215614a14578081fd5b6123148383614265565b600080828403610200811215614a32578283fd5b614a3c8585614265565b925060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8082011215614a6d578182fd5b50610180830190509250929050565b60008060006102208486031215614a91578081fd5b614a9b8585614265565b9250614aab856101808601614419565b9150610200840135614abc816158c5565b809150509250925092565b60008060008060006102608688031215614adf578283fd5b614ae98787614265565b9450614af9876101808801614419565b9350610200860135614b0a816158c5565b9250610220860135614b1b81615888565b9150610240860135614b2c81615888565b809150509295509295909350565b600080600083850360a0811215614b4f578182fd5b6060811215614b5c578182fd5b50614b676060615804565b84518152602085015160058110614b7c578283fd5b60208201526040850151614b8f816158c5565b60408201526060850151909350614ba5816158c5565b6080850151909250614abc816158aa565b60006101408284031215614bc8578081fd5b6123148383614352565b6000806101c08385031215614be5578182fd5b614bef8484614352565b9150614bff846101408501614419565b90509250929050565b60008060006101e08486031215614c1d578081fd5b614c278585614352565b9250614c37856101408601614419565b91506101c0840135614abc816158c5565b6000806000806000806102408789031215614c61578384fd5b614c6b8888614352565b9550614c7b886101408901614419565b94506101c0870135614c8c816158c5565b93506101e0870135614c9d81615888565b9250610200870135614cae816158aa565b9150610220870135614cbf81615888565b809150509295509295509295565b600060808284031215614cde578081fd5b6123148383614419565b600060208284031215614cf9578081fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff169052565b6000815180845260208085019450808401835b83811015614d4b578151151587529582019590820190600101614d2d565b509495945050505050565b80518252602081015160058110614d6957fe5b60208301526040908101516fffffffffffffffffffffffffffffffff16910152565b8035614d96816158b8565b614d9f8161587e565b8252602081013560ff8116808214614db657600080fd5b60208401525060408181013590830152606090810135910152565b6fffffffffffffffffffffffffffffffff169052565b67ffffffffffffffff169052565b7fff0000000000000000000000000000000000000000000000000000000000000094909416845260609290921b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660018401526015830152603582015260550190565b7f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152901515604082015260600190565b60006060820173ffffffffffffffffffffffffffffffffffffffff808716845260206060818601528287518085526080870191508289019450855b81811015614f6e578551851683529483019491830191600101614f50565b5050809450505050508215156040830152949350505050565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292166040820152606081019190915260800190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60608082528451828201819052600091906020906080850190828901855b8281101561504c5761503c848351614d56565b9285019290840190600101615029565b505050848103828601528651808252908201925086820190845b8181101561508957615079858451614dd1565b9383019391830191600101615066565b50505050828103604084015261509f8185614d1a565b9695505050505050565b901515815260200190565b90815260200190565b91825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b9a8b5273ffffffffffffffffffffffffffffffffffffffff998a1660208c015297891660408b015295881660608a015293871660808901529190951660a08701526fffffffffffffffffffffffffffffffff94851660c0870152841660e08601529092166101008401526101208301919091526101408201526101600190565b97885273ffffffffffffffffffffffffffffffffffffffff968716602089015294861660408801529285166060870152931660808501526fffffffffffffffffffffffffffffffff92831660a085015290911660c083015260e08201526101000190565b9283526020830191909152604082015260600190565b91825260ff16602082015260400190565b93845260ff9290921660208401526040830152606082015260800190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b606081016152b88561587e565b938152602081019290925260409091015290565b604081016152d98461587e565b9281526020015290565b60408101600684106152d957fe5b6000602080835283518082850152825b8181101561531d57858101830151858201604001528201615301565b8181111561532e5783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6020808252602c908201527f4e61746976654f7264657273466561747572652f4d49534d4154434845445f4160408201527f525241595f4c454e475448530000000000000000000000000000000000000000606082015260800190565b60208082526027908201527f4e61746976654f7264657273466561747572652f4e4f5f434f4e54524143545f60408201527f4f524947494e5300000000000000000000000000000000000000000000000000606082015260800190565b60208082526038908201527f4e61746976654f7264657273466561747572652f4d49534d4154434845445f5060408201527f4149525f4f52444552535f41525241595f4c454e475448530000000000000000606082015260800190565b60208082526024908201527f466978696e546f6b656e5370656e6465722f43414e4e4f545f494e564f4b455f60408201527f53454c4600000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526027908201527f466978696e50726f746f636f6c466565732f45544845525f5452414e5346455260408201527f5f46414c49454400000000000000000000000000000000000000000000000000606082015260800190565b61020081016020840161554f8361554a8388614130565b614d00565b615559818661584b565b90506155686020840182614d00565b506155766040850185615858565b6155836040840182614dd1565b506155916060850185615858565b61559e6060840182614dd1565b506155ac6080850185615858565b6155b96080840182614dd1565b506155c760a085018561584b565b6155d460a0840182614d00565b506155e260c085018561584b565b6155ef60c0840182614d00565b506155fd60e085018561584b565b61560a60e0840182614d00565b5061010061561a8186018661584b565b61562682850182614d00565b5050610120848101359083015261014061564281860186615865565b61564e82850182614de7565b50506101608481013590830152612314610180830184614d8b565b60608101610d0f8284614d56565b60a081016156858286614d56565b6fffffffffffffffffffffffffffffffff841660608301528215156080830152949350505050565b6101c08101602084016156c48361554a8388614130565b6156ce818661584b565b90506156dd6020840182614d00565b506156eb6040850185615858565b6156f86040840182614dd1565b506157066060850185615858565b6157136060840182614dd1565b50615721608085018561584b565b61572e6080840182614d00565b5061573c60a085018561584b565b61574960a0840182614d00565b5061575760c085018561584b565b61576460c0840182614d00565b5060e084013560e083015261010061577e81860186615865565b61578a82850182614de7565b50506101208481013590830152612314610140830184614d8b565b6fffffffffffffffffffffffffffffffff91909116815260200190565b6fffffffffffffffffffffffffffffffff92831681529116602082015260400190565b918252602082015260400190565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561582357600080fd5b604052919050565b600067ffffffffffffffff821115615841578081fd5b5060209081020190565b6000823561231481615888565b60008235612314816158c5565b6000823567ffffffffffffffff81168114612314578182fd5b6004811061336357fe5b73ffffffffffffffffffffffffffffffffffffffff8116811461336357600080fd5b801515811461336357600080fd5b6004811061336357600080fd5b6fffffffffffffffffffffffffffffffff8116811461336357600080fdfea26469706673582212200d4fa0cd807b502aa06dc0a690fcd3107813fa7da68fdc5324ca75ee5340158f64736f6c634300060c0033005821035e25e286423f244f82bcf5d45a0a8d7813f85a4817b5f25578fc1ee6483eed10445f5e1000005821031e0d3de77010eb08415e3342f6defa0a95cb47baf82e365967ba8404cfcf7b4044632ba118020c05581e031380fa8dca597925b6606deef0ae1c468cf4ee67b12b066dd3b89af7a0070119591905581e0389f1bbe1bc60944041ed92518cdb44909a835cfb67bd38687b32c108400c0346e6466402bc00034fba75e7f13fab742776c1f1f780ae72e326335e0637a47b7c701fb1472d4bc403c3e447504cb0e303a38f0c1421475dce949703addbdae8a9a85a39e4c9c1423903144c3547f7edaa7d16edf005455c2eaf99c9fb162398e1d13b4de53ee2995dd405581e037880acfb3cc0045f9c9d981fb5bec74dec71e18a60a12489a7c609d8b007011bffffffffffffffff033dbdaeac4f3377d94ecd8ff2a613858da68ddc17a09e22084f26355b127cdcac0340546ee2f91977e1af99d9eb843c5efe8fd9d4e1f7d2d458e836ae0cc1eadfc801410003a0e2adde7d90eebe5a77eb81d3c160ff0101dbbf19806189ce8c25da0bc6c89705581e033ebea0288b275eb6778055f4df98b7cf0cbd86bd1aa47ec08e14c560f004010219dbfb03e48320e02bdd47466d0d3dc57144824c83434e9d38caf92a6f29dcbbf3ed69e6033397ef8b485d4869a5412bd474908880318e207b824aeb872693ef93f5ae520003db6489332cbd9b0db4c45c8b71fab6c3b8904b2e8b6e4b745b5436078004c4880374eb6983cc5413357c5274e9f271104d6febc87df5a209cc109ffd3b6d70fb3d03214b4ef27fbd5e018d942d90fd43476f8c1f4d5ff1f215901f0e414889e60fa40380373e0952aa83ed81cb32260416acc6af94225bf316152a24f6f1127e4778e903cc204360778056365f6c6496246dc49af16710b4ab8d5e20fca3f65400456ac003027560a160825b34d2a927ad1c2f48e818758c696cd2a77338034e8ce502647403506c2539098fb322650dc34268437837a23f83d9c0a21e8f717780ef100d5eae0384ccbeea0cbc922572f23a87ec997cbc776dd7ea7c5a5fa6790d947c6d74c76e03ff96b72ee74ff664f18a65093d2de2d4b4913e860857bb281282ff0a0d1cc1150219ffff03b101e7a177f2dcff7da370a73298fd6c0eb7ac000223b5c28de6723f37352f550310665f1553037692510b9b8d317644a7251b665226c49819ea819d3af7ebbe300385f2733740664e812a70b3e6d9d850178aa940dfeff963b4e80970981ae31c5903bf97aca8836c75b0c2d99a0359098c2e292fc40da81a99f367eb5e5467d1d28a03b9b1b91e2dc04cf3e3f36901d884c1025ad9e64c5dbbfacf43a368e965bfa21d037f61e2bd94272ec00039f6fef71c3029203f94ea8f4f9a34509871473451902d0219ffff03f68e28bc7e269ed8aaf5b2bb8bead1de0ea8a8ff6c1472db717888d5954a776d037c82474fc447da627a2c84efb18f99aa259d965597f4c4bd78d22aefd7fc43990361f49a07bb755a11e8a697ca13b450090eb394af9c764fa6f3a722a609f42dc603c890e18e58700e7eefb46cd048b0165765f831b4d640e83669f635804f71d9e603501fb2e5b122d46abadd9e5cca8137b6e52e043cd1b02937da1e90660cc99a840362650ad8cac37d24f40ccb89f18cba58e47174b060d9bde83dc4714cdb2ea4760219ffff03998ed20d314e6b5725a81bfdaf205c99496d9c1f1c8ce2b090a6f906ea90f04303fecb6864ed9e886340ba5cdba2d80e244b43a760d26a1fc6fc3200899ea57d4403043c194533e1c244eaeb38f7bb028e3cfcbb38303445b430435dbdb55bc0f4d2034e37dc9df006e7f3a2a3421d8fcddf3c8f30b5a106309c9d07eb55963cddc20603ae60258afce15d39d5919606d4e720d88a2d78b2d51b8d30528334284aa8741d03116c3790864b392a24c02524f4d94c79d836c31c59ea09ef4e9c6775cc57e6200338a347dc97f652b453aef57e117d68b725de55efdcc10f6bc03bf771e17a7bbf0219ffff03adbdda2f87ad08f248e87873024c4e805afe8bb7bd6da82ec516540f48f3440703c8f4f961796b9bcd933c8d37daa177862a6e80e6e4c04d1d39daf543e17d6fa203d1d01d3a0c9d32bbff5c81a876f059044b02c0020ac8a5a579d80de82df99c4c03434be0fae3df8319925e01b4d0c9085802657a63fbcc04628082119957dbd09d03f800a47bc48f3c2f76ee4f2efe34f98abcdef1addc81fb1e4f542251233f82c2030bd96038c8eaf4348e8672b7729095aef367f71e984a7718c3173eacf9168c1e03e6d56d536dea35b8c1ee823ff5ef977eaf1fc940df379bad4db92a9c8a4a558803b365d164228ced128a0d9e67b328af730795f7332236b3f4b97aba3d05a7337003527bf6caed107073029ec3f12ceabf3fa504965123cc53dd882eb7e08bf8d02b03548414680d4b930b2b12dacdf11296a6bfa4302b1b92929e4300d94f5c42cd48036b5653637c9e2a15f3b1459d998abc6ba3066d442d6d843a8b46f21e74d692c503272c09a226190ba50239f5d5a28d349a9249228bfe9a83404be5784e33d9941c03f9b7ddc22176f60505cd590f91b580f117121184b4e690fc5f975968dc175b070392b559b0cffd08ffe79b8942f15e51396a854040ca93b14eec6ed8c39708032f0308b4482faf64f869fde1e02a93677cf4d4f8005b71191331990a87d19a0ccca1038579f3aaa3a16b2575e791ab7d82b7e8d8173dbcd9313e7d34e3bdd7f2ebc80503ff5d4e5ca6a7f5acd9e1a65564f8323885bfd96b60b4855794b599b81ac9f74603dcaed7f8b94aa745762476da50602b03b6c4530893ed6e3fbecbe3220b2be51c036a73c7a8d24960933a6cd9b2c6a19b869021cc67a834a9c7e0fcba62116ae9a7038ab94bbba7f4296a5a3ccdca6bd8de7983d7de906ab84bca3acd22b75180e6a905581e036888400e0e508ed7ccddfb7848ce71bb12412244a542ec9436a320a7a00c01465a747673b28005581e032a474af81918f08a1751deaa8da491554e4ba7c5a09753d6f4db415b10040205581d027d4a9a7341080f7f56eb9f73555b681ad696302ad28777c2460a720d08472aa1efb94e00000459436160806040526004361061026b5760003560e01c80638da5cb5b11610144578063ceb0981f116100b6578063e677e6c21161007a578063e677e6c214610686578063e6a0cc9414610699578063e88e0aab146106ae578063ee859d28146106c1578063ef381b33146106e1578063fe173b97146106f657610272565b8063ceb0981f146105f1578063d14533441461061e578063e30a49931461063e578063e5b1be6514610653578063e5e7988e1461066657610272565b8063b038555311610108578063b038555314610556578063ba4d531214610583578063bf6b874e14610596578063c45a0155146105b6578063c9cd9760146105cb578063cdfd7ca9146105de57610272565b80638da5cb5b146104db578063953556e2146104f05780639718f627146105035780639d08ebb514610523578063af482b581461053657610272565b80634d847865116101dd5780635e45da23116101a15780635e45da23146104545780636a42b8f8146104695780636de3c67c1461047e57806377632ec2146104935780637d7a7569146104b35780638406c079146104c657610272565b80634d847865146103cc5780635051349a146103ec57806356e56dcc1461040c578063576b332b1461042c57806357a62a4f1461043f57610272565b80633bbac5791161022f5780633bbac579146103315780633ed76f17146103515780633fc8cef31461036457806348d8d3881461037957806348f80c16146103995780634c016016146103ac57610272565b806313af40351461027757806320a68fab146102995780632c391c7b146102cf578063342aa8b5146102ef57806337b1b9581461030f57610272565b3661027257005b600080fd5b34801561028357600080fd5b50610297610292366004613518565b61070b565b005b3480156102a557600080fd5b506102b96102b4366004613518565b61074a565b6040516102c69190613ccf565b60405180910390f35b3480156102db57600080fd5b506102b96102ea366004613518565b61075e565b3480156102fb57600080fd5b5061029761030a36600461370b565b610769565b34801561031b57600080fd5b506103246107a1565b6040516102c69190613c00565b34801561033d57600080fd5b506102b961034c366004613518565b6107b0565b61029761035f3660046135c8565b6107c5565b34801561037057600080fd5b506103246107e5565b34801561038557600080fd5b50610324610394366004613550565b6107fd565b6102976103a736600461373f565b610892565b3480156103b857600080fd5b506102b96103c7366004613518565b610c4c565b3480156103d857600080fd5b506102976103e7366004613683565b610c58565b6103ff6103fa3660046137e4565b610cf8565b6040516102c69190614284565b34801561041857600080fd5b50610297610427366004613812565b610d9b565b6103ff61043a36600461394d565b610eda565b34801561044b57600080fd5b506103ff610f3d565b34801561046057600080fd5b506103ff610f44565b34801561047557600080fd5b506103ff610f4b565b34801561048a57600080fd5b506103ff610f51565b34801561049f57600080fd5b506102b96104ae36600461395f565b610f59565b6102976104c1366004613812565b610f6e565b3480156104d257600080fd5b506103246110c4565b3480156104e757600080fd5b506103246110dc565b6103ff6104fe3660046137e4565b6110eb565b34801561050f57600080fd5b506103ff61051e366004613518565b611182565b6103ff610531366004613800565b61118d565b34801561054257600080fd5b506102b9610551366004613518565b6111f3565b34801561056257600080fd5b50610576610571366004613518565b6111ff565b6040516102c69190614275565b6103ff6105913660046137e4565b611236565b3480156105a257600080fd5b506103ff6105b1366004613518565b61129c565b3480156105c257600080fd5b506103246112b7565b6102976105d9366004613588565b6112cf565b6102976105ec366004613812565b6112fe565b3480156105fd57600080fd5b5061061161060c36600461398f565b6114c8565b6040516102c69190613cff565b34801561062a57600080fd5b50610297610639366004613812565b6114de565b34801561064a57600080fd5b506103ff6115ab565b610297610661366004613633565b6115b1565b34801561067257600080fd5b506102b9610681366004613518565b6117bb565b610297610694366004613812565b6117c7565b3480156106a557600080fd5b506103ff611974565b6102976106bc366004613812565b61197a565b3480156106cd57600080fd5b506102976106dc366004613518565b611a84565b3480156106ed57600080fd5b50610324611ab7565b34801561070257600080fd5b506103ff611acf565b6008546001600160a01b0316331461073e5760405162461bcd60e51b815260040161073590613d8b565b60405180910390fd5b61074781611ad5565b50565b60006107568183611b7f565b90505b919050565b600061075682611bb3565b6008546001600160a01b031633146107935760405162461bcd60e51b815260040161073590613d8b565b61079d8282611e2b565b5050565b6009546001600160a01b031681565b600a6020526000908152604090205460ff1681565b6107d1858786846115b1565b6107dd838784846115b1565b505050505050565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290565b6009546000906001600160a01b0316331461082a5760405162461bcd60e51b815260040161073590613d8b565b6108348383611ecc565b5080915050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561087457600080fd5b505af1158015610888573d6000803e3d6000fd5b5050505092915050565b600b546001146108b45760405162461bcd60e51b815260040161073590613d13565b6002600b558060005a336000908152600a602052604081205491925090819060ff168061090b575060008052600a6020527f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e35460ff165b905060005b84811015610bc35760015487878381811061092757fe5b90506102800201600001351161093c57610bbb565b6004600088888481811061094c57fe5b61028002919091013582525060208101919091526040016000205460ff16156109955761099087878381811061097e57fe5b60009261028090910201359050611fa0565b610bbb565b73465e0b6518603e0d75b4737dac052845cf855925632e548b5b60008989858181106109bd57fe5b905061028002016040518363ffffffff1660e01b81526004016109e1929190613fdd565b60006040518083038186803b1580156109f957600080fd5b505af4158015610a0d573d6000803e3d6000fd5b505050506000878783818110610a1f57fe5b90506102800201606001359050428110610a395750610bc3565b8280610a4957506104b081014210155b610a655760405162461bcd60e51b815260040161073590613d8b565b6001935083888884818110610a7657fe5b905061028002016020016020810190610a8f91906137ca565b6004811115610a9a57fe5b1415610ac057610abb888884818110610aaf57fe5b90506102800201611fcc565b610bb9565b6002888884818110610ace57fe5b905061028002016020016020810190610ae791906137ca565b6004811115610af257fe5b1415610b1357610abb888884818110610b0757fe5b905061028002016121ad565b6003888884818110610b2157fe5b905061028002016020016020810190610b3a91906137ca565b6004811115610b4557fe5b1415610b6657610abb888884818110610b5a57fe5b905061028002016122dc565b6004888884818110610b7457fe5b905061028002016020016020810190610b8d91906137ca565b6004811115610b9857fe5b1415610bb957610bb9888884818110610bad57fe5b90506102800201612405565b505b600101610910565b508115610c3f5773465e0b6518603e0d75b4737dac052845cf855925639db74df16000610bf15a879061244c565b6040518363ffffffff1660e01b8152600401610c0e92919061409d565b60006040518083038186803b158015610c2657600080fd5b505af4158015610c3a573d6000803e3d6000fd5b505050505b50506001600b5550505050565b60006107568183612475565b6008546001600160a01b03163314610c825760405162461bcd60e51b815260040161073590613d8b565b604051638a6ade6360e01b815273465e0b6518603e0d75b4737dac052845cf85592590638a6ade6390610cc2906000908890889088908890600401613e5d565b60006040518083038186803b158015610cda57600080fd5b505af4158015610cee573d6000803e3d6000fd5b5050505050505050565b6000600b54600114610d1c5760405162461bcd60e51b815260040161073590613d13565b6002600b5560405162c44ff160e31b815273465e0b6518603e0d75b4737dac052845cf855925906306227f8890610d5d906000908690600790600401613ecf565b60006040518083038186803b158015610d7557600080fd5b505af4158015610d89573d6000803e3d6000fd5b50506000546001600b55949350505050565b600b54600114610dbd5760405162461bcd60e51b815260040161073590613d13565b6002600b55604051632e548b5b60e01b815273465e0b6518603e0d75b4737dac052845cf85592590632e548b5b90610dfc906000908590600401613fdd565b60006040518083038186803b158015610e1457600080fd5b505af4158015610e28573d6000803e3d6000fd5b5060029250610e35915050565b610e4660008335606085013561247e565b6005811115610e5157fe5b14610e6e5760405162461bcd60e51b815260040161073590613e03565b42610e8c62015180610e86606085013561070861244c565b9061250b565b10610ea95760405162461bcd60e51b815260040161073590613d31565b80356000908152600460205260409020805460ff19166001908117909155610ed290829061254c565b506001600b55565b6000600b54600114610efe5760405162461bcd60e51b815260040161073590613d13565b6002600b55604051636587992160e01b815273465e0b6518603e0d75b4737dac052845cf85592590636587992190610d5d906000908690600401613ff2565b620f424090565b624c4b4090565b61070890565b6301312d0090565b60009081526004602052604090205460ff1690565b333014610f8d5760405162461bcd60e51b815260040161073590613d8b565b6000610fbb610fa461018084016101608501613518565b610fb66101a085016101808601613518565b611ecc565b509050610fc66133e0565b610fd536849003840184613824565b81526001600160a01b0382166020820152610fef826111ff565b816040019061ffff16908161ffff1681525050816001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561103d57600080fd5b505af1158015611051573d6000803e3d6000fd5b50506040516383dc420b60e01b8152734a1dbc839b4ebad8db9058e856e90cb41dffce1f92506383dc420b915061108f9084906007906004016140d7565b60006040518083038186803b1580156110a757600080fd5b505af41580156110bb573d6000803e3d6000fd5b50505050505050565b73d17b3c9784510e33cd5b87b490e79253bcd81e2e90565b6008546001600160a01b031681565b6000600b5460011461110f5760405162461bcd60e51b815260040161073590613d13565b6002600b553373d17b3c9784510e33cd5b87b490e79253bcd81e2e146111475760405162461bcd60e51b815260040161073590613d8b565b604051621dd40d60e01b815273465e0b6518603e0d75b4737dac052845cf85592590621dd40d90610d5d906000908690600790600401613ecf565b60006107568261281e565b6000600b546001146111b15760405162461bcd60e51b815260040161073590613d13565b6002600b55604051638f0e6bef60e01b815273465e0b6518603e0d75b4737dac052845cf85592590638f0e6bef90610d5d906000908690600790600401613ef3565b60006107568183612af5565b600073d4d2140ed70dcf8794a986f0cfd07560ee738c716001600160a01b038316141561122e57506004610759565b506000919050565b6000600b5460011461125a5760405162461bcd60e51b815260040161073590613d13565b6002600b5560405163758e99b360e01b815273465e0b6518603e0d75b4737dac052845cf8559259063758e99b390610d5d906000908690600790600401613ecf565b6001600160a01b031660009081526007602052604090205490565b73c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c690565b3330146112ee5760405162461bcd60e51b815260040161073590613d8b565b6112f9838383612afe565b505050565b33301461131d5760405162461bcd60e51b815260040161073590613d8b565b6000611334610fa461018084016101608501613518565b509050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561137257600080fd5b505af1158015611386573d6000803e3d6000fd5b50506009546001600160a01b03169150638a34ffa290506113af61018085016101608601613518565b6113c16101a086016101808701613518565b846040518463ffffffff1660e01b81526004016113e093929190613c2e565b600060405180830381600087803b1580156113fa57600080fd5b505af115801561140e573d6000803e3d6000fd5b50505050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561144d57600080fd5b505af1158015611461573d6000803e3d6000fd5b5050604051636491033560e11b8152734a1dbc839b4ebad8db9058e856e90cb41dffce1f925063c922066a915061149c90859060040161422c565b60006040518083038186803b1580156114b457600080fd5b505af41580156107dd573d6000803e3d6000fd5b60006114d581848461247e565b90505b92915050565b600b546001146115005760405162461bcd60e51b815260040161073590613d13565b6002600b55604051632e548b5b60e01b815273465e0b6518603e0d75b4737dac052845cf85592590632e548b5b9061153f906000908590600401613fdd565b60006040518083038186803b15801561155757600080fd5b505af415801561156b573d6000803e3d6000fd5b505050813560009081526006602052604090205460ff1690506115a05760405162461bcd60e51b815260040161073590613d6d565b610ed281600061254c565b60005490565b3330146115d05760405162461bcd60e51b815260040161073590613d8b565b6001600160a01b03841673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21480156115f95750805b1561171757604051632a359a6d60e21b815260009073e92b1734fc37f8acc950d0d13a414753729587309063a8d669b490611641906007908990889087908b906004016140ab565b60206040518083038186803b15801561165957600080fd5b505af415801561166d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116919190613977565b604051632e1a7d4d60e01b815290915073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d906116cb908490600401614284565b600060405180830381600087803b1580156116e557600080fd5b505af11580156116f9573d6000803e3d6000fd5b50505050611711848261170c600061281e565b612c50565b506117b5565b604051632a359a6d60e21b81526117b5908590859073e92b1734fc37f8acc950d0d13a414753729587309063a8d669b4906117609060079086908a9060009088906004016140ab565b60206040518083038186803b15801561177857600080fd5b505af415801561178c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b09190613977565b612afe565b50505050565b60006107568183612ce2565b3330146117e65760405162461bcd60e51b815260040161073590613d8b565b60006117fd610fa461018084016101608501613518565b509050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561183b57600080fd5b505af115801561184f573d6000803e3d6000fd5b50506009546001600160a01b03169150638a34ffa2905061187861018085016101608601613518565b61188a6101a086016101808701613518565b846040518463ffffffff1660e01b81526004016118a993929190613c2e565b600060405180830381600087803b1580156118c357600080fd5b505af11580156118d7573d6000803e3d6000fd5b50505050806001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561191657600080fd5b505af115801561192a573d6000803e3d6000fd5b50505050734a1dbc839b4ebad8db9058e856e90cb41dffce1f632c9745af8383611953856111ff565b60076040518563ffffffff1660e01b815260040161149c949392919061423b565b60015490565b3330146119995760405162461bcd60e51b815260040161073590613d8b565b60006119b0610fa461018084016101608501613518565b5090506119bb6133e0565b6119ca36849003840184613824565b81526001600160a01b03821660208201526119e4826111ff565b816040019061ffff16908161ffff1681525050816001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611a3257600080fd5b505af1158015611a46573d6000803e3d6000fd5b5050604051630287b3a760e31b8152734a1dbc839b4ebad8db9058e856e90cb41dffce1f925063143d9d38915061108f9084906007906004016140d7565b6008546001600160a01b03163314611aae5760405162461bcd60e51b815260040161073590613d8b565b61074781612ceb565b73d17b3c9784510e33cd5b87b490e79253bcd81e2e81565b60035490565b6008546001600160a01b0382811691161415611b035760405162461bcd60e51b815260040161073590613da9565b6001600160a01b038116611b295760405162461bcd60e51b815260040161073590613e3f565b600880546001600160a01b0319166001600160a01b0383161790556040517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe290611b74908390613c00565b60405180910390a150565b600060025b6001600160a01b0383166000908152600585016020526040902054600160ff9283161b16161515905092915050565b600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0383161415611be257506001610759565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486001600160a01b0383161415611c0f57506001610759565b73dac17f958d2ee523a2206206994597c13d831ec76001600160a01b0383161415611c3c57506001610759565b732260fac5e5542a773aa44fbcfedf7c193bc2c5996001600160a01b0383161415611c6957506001610759565b734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b6001600160a01b0383161415611c9657506001610759565b736b3595068778dd592e39a122f4f5a5cf09c90fe26001600160a01b0383161415611cc357506001610759565b737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06001600160a01b0383161415611cf057506001610759565b73d33526068d116ce69f19a9ee46f0bd304f21a51f6001600160a01b0383161415611d1d57506001610759565b7348c3399719b582dd63eb5aadf12a40b4c3f52fa26001600160a01b0383161415611d4a57506001610759565b735a98fcbea516cf06857215779fd812ca3bef1b326001600160a01b0383161415611d7757506001610759565b739f8f72aa9304c8b593d555f12ef6589cc3a579a26001600160a01b0383161415611da457506001610759565b731f9840a85d5af5bf1d1762f925bdaddc4201f9846001600160a01b0383161415611dd157506001610759565b73514910771af9ca656af840dff83e8264ecf986ca6001600160a01b0383161415611dfe57506001610759565b733c3a81e81dc49a522a592e7622a7e711c06bf3546001600160a01b038316141561122e57506001610759565b6001600160a01b0382166000908152600a602052604090205460ff1615158115151415611e6a5760405162461bcd60e51b815260040161073590613da9565b6001600160a01b0382166000908152600a602052604090819020805460ff1916831515179055517f70af441dbb427737e6a5ef2cf5b664321011765ce1d19ce4a69cd024e69d4f2f90611ec09084908490613cb4565b60405180910390a15050565b60405163e6a4390560e01b8152600090819073c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c69063e6a4390590611f0a9087908790600401613c14565b60206040518083038186803b158015611f2257600080fd5b505afa158015611f36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f5a9190613534565b91506001600160a01b038216611f825760405162461bcd60e51b815260040161073590613de5565b826001600160a01b0316846001600160a01b03161190509250929050565b6001808301805490910190819055811461079d5760405162461bcd60e51b815260040161073590613e21565b60005a9050611fdd60008335611fa0565b60008030612024611ffe611ff96101a088016101808901613518565b61281e565b612013611ff961018089016101608a01613518565b60c088013591016201a51c0161244c565b60405163733bf36160e11b9061203e90889060240161422c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161207c9190613be4565b60006040518083038160008787f1925050503d80600081146120ba576040519150601f19603f3d011682016040523d82523d6000602084013e6120bf565b606091505b50909250905060018261212b576121286120e16101c087016101a08801613518565b6120f361018088016101608901613518565b61012088013561210b6101a08a016101808b01613518565b6101408a013561212160a08c0160808d016137b0565b6000612d8a565b90505b61213481612ee5565b60008061215c60c088013560e0890135886121576101c08c016101a08d01613518565b612f03565b915091508415156000600101547ff0cc99aeb224e65869630a14e23683d20b9c535c00427b50024ce8b6b21d35c386858560405161219c93929190613cda565b60405180910390a350505050505050565b60005a90506121be60008335611fa0565b600080306121d360c08601356201dfb461244c565b60405163cdfd7ca960e01b906121ed90889060240161422c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b031990941693909317909252905161222b9190613be4565b60006040518083038160008787f1925050503d8060008114612269576040519150601f19603f3d011682016040523d82523d6000602084013e61226e565b606091505b50909250905060018261212b5760006122a461229261018088016101608901613518565b610fb66101a089016101808a01613518565b5090506122d0816122bd6101c089016101a08a01613518565b61010089013563064e6cbb60e51b612f93565b91505061213481612ee5565b60005a90506122ed60008335611fa0565b60008030612319612309611ff961018088016101608901613518565b60c087013590620156fc0161244c565b60405163e88e0aab60e01b9061233390889060240161422c565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516123719190613be4565b60006040518083038160008787f1925050503d80600081146123af576040519150601f19603f3d011682016040523d82523d6000602084013e6123b4565b606091505b50909250905060018261212b576121286123d661018087016101608801613518565b6123e86101c088016101a08901613518565b6101208801356123fe60a08a0160808b016137b0565b600061309e565b60005a905061241660008335611fa0565b60008030612432612309611ff961018088016101608901613518565b604051637d7a756960e01b9061233390889060240161422c565b60006114d583836040518060400160405280600481526020016329a6989960e11b8152506131be565b60006003611b84565b825460009083111561249257506000612504565b600083815260048501602052604090205460ff16156124b357506005612504565b600083815260068501602052604090205460ff16156124d457506004612504565b60008381526002850160205260409020546124f157506003612504565b42821061250057506001612504565b5060025b9392505050565b808201828110156114d8576040805162461bcd60e51b81526020600480830191909152602482015263534d344560e01b604482015290519081900360640190fd5b60004261256160608501356301e1338061250b565b109050600161257660408501602086016137ca565b600481111561258157fe5b141561265e576000816125a5576125a06101c085016101a08601613518565b6125b2565b6008546001600160a01b03165b90506125ff816125ca61018087016101608801613518565b6101208701356125e26101a089016101808a01613518565b6101408901356125f860a08b0160808c016137b0565b6001612d8a565b61261b5760405162461bcd60e51b815260040161073590613d4f565b82156126585761263c8161263760e087013560c0880135613256565b6132ab565b6126585760405162461bcd60e51b815260040161073590613dc7565b50612812565b600261267060408501602086016137ca565b600481111561267b57fe5b141561274d5760006126aa61269861018086016101608701613518565b610fb66101a087016101808801613518565b5090506000826126cb576126c66101c086016101a08701613518565b6126d8565b6008546001600160a01b03165b90506126f2828261010088013563064e6cbb60e51b612f93565b61270e5760405162461bcd60e51b815260040161073590613d4f565b83156127465761272a8161263760e088013560c0890135613256565b6127465760405162461bcd60e51b815260040161073590613dc7565b5050612812565b600361275f60408501602086016137ca565b600481111561276a57fe5b14156127d05760008161278e576127896101c085016101a08601613518565b61279b565b6008546001600160a01b03165b90506125ff6127b261018086016101608701613518565b826101208701356127c960a0890160808a016137b0565b600161309e565b60046127e260408501602086016137ca565b60048111156127ed57fe5b141561280c5760008161278e576127896101c085016101a08601613518565b5061079d565b6112f96000843561331a565b60006001600160a01b0382166128375750612710610759565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03831614156128655750617918610759565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486001600160a01b0383161415612893575061a410610759565b73dac17f958d2ee523a2206206994597c13d831ec76001600160a01b03831614156128c25750620101d0610759565b732260fac5e5542a773aa44fbcfedf7c193bc2c5996001600160a01b03831614156128f057506184d0610759565b734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b6001600160a01b038316141561291e5750617918610759565b736b3595068778dd592e39a122f4f5a5cf09c90fe26001600160a01b038316141561294c5750617918610759565b73ae7ab96520de3a18e5e111b5eaab095312d7fe846001600160a01b038316141561297b5750620109a0610759565b737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06001600160a01b03831614156129a95750617918610759565b73d33526068d116ce69f19a9ee46f0bd304f21a51f6001600160a01b03831614156129d75750617918610759565b7348c3399719b582dd63eb5aadf12a40b4c3f52fa26001600160a01b0383161415612a055750619c40610759565b735a98fcbea516cf06857215779fd812ca3bef1b326001600160a01b0383161415612a34575062024608610759565b739f8f72aa9304c8b593d555f12ef6589cc3a579a26001600160a01b0383161415612a6257506184d0610759565b731f9840a85d5af5bf1d1762f925bdaddc4201f9846001600160a01b0383161415612a905750619088610759565b73514910771af9ca656af840dff83e8264ecf986ca6001600160a01b0383161415612abe5750617d00610759565b733c3a81e81dc49a522a592e7622a7e711c06bf3546001600160a01b0383161415612aec57506184d0610759565b5061ea60919050565b60006001611b84565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310612b7a5780518252601f199092019160209182019101612b5b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612bdc576040519150601f19603f3d011682016040523d82523d6000602084013e612be1565b606091505b5091509150818015612c0f575080511580612c0f5750808060200190516020811015612c0c57600080fd5b50515b612c49576040805162461bcd60e51b815260206004808301919091526024820152635448303560e01b604482015290519081900360640190fd5b5050505050565b6040516000906001600160a01b038516908390859084818181858888f193505050503d8060008114612c9e576040519150601f19603f3d011682016040523d82523d6000602084013e612ca3565b606091505b50509050806117b5576040805162461bcd60e51b815260206004808301919091526024820152632a2419a360e11b604482015290519081900360640190fd5b60006004611b84565b6009546001600160a01b0382811691161415612d195760405162461bcd60e51b815260040161073590613da9565b6001600160a01b038116612d3f5760405162461bcd60e51b815260040161073590613e3f565b600980546001600160a01b0319166001600160a01b0383161790556040517f99db624faf5b574db8409c17138c4894a18b552e2cd1dbe8c70b375a02748b6690611b74908390613c00565b600080803084612db057612d9d8861281e565b612da68b61281e565b01619c4001612db2565b5a5b604051633ed76f1760e01b90612dd6908e908e908e908e908e908e90602401613c51565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612e149190613be4565b60006040518083038160008787f1925050503d8060008114612e52576040519150601f19603f3d011682016040523d82523d6000602084013e612e57565b606091505b509150915081612ed857886001600160a01b03168a6001600160a01b031660008051602061430c8339815191528a84604051612e9492919061428d565b60405180910390a3866001600160a01b03168a6001600160a01b031660008051602061430c8339815191528884604051612ecf92919061428d565b60405180910390a35b5098975050505050505050565b80612ef957612ef4600061332e565b610747565b6107476000613353565b60008080612f118787613256565b9050612f246193ac610e865a889061244c565b92506000612f4982612f446000600301548761325690919063ffffffff16565b61336c565b9050612f55828261244c565b9250612f6133826132ab565b612f7d5760405162461bcd60e51b815260040161073590613dc7565b612f8785846132ab565b50505094509492505050565b600082612fa257506001613096565b600080306001600160a01b031661d6d8858989896000604051602401612fcb9493929190613c8b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516130099190613be4565b60006040518083038160008787f1925050503d8060008114613047576040519150601f19603f3d011682016040523d82523d6000602084013e61304c565b606091505b50915091508161309257866001600160a01b0316866001600160a01b031660008051602061430c833981519152878460405161308992919061428d565b60405180910390a35b5090505b949350505050565b6000836130ad575060016131b5565b60008030846130c8576130bf8961281e565b614e20016130ca565b5a5b60405163e5b1be6560e01b906130ea908c908c908c908c90602401613c8b565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516131289190613be4565b60006040518083038160008787f1925050503d8060008114613166576040519150601f19603f3d011682016040523d82523d6000602084013e61316b565b606091505b5091509150816131b157876001600160a01b0316876001600160a01b031660008051602061430c83398151915288846040516131a892919061428d565b60405180910390a35b5090505b95945050505050565b818303818482111561324e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156132135781810151838201526020016131fb565b50505050905090810190601f1680156132405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b60008115806132715750508082028282828161326e57fe5b04145b6114d8576040805162461bcd60e51b81526020600480830191909152602482015263534d324160e01b604482015290519081900360640190fd5b6000816132ba575060016114d8565b6132ce83836132c9600061281e565b613382565b9050801515836001600160a01b03167fdbef2fc26e7694e7a1c5a4801b1ad144136d149cf76f310a780689b4087f0ffe8460405161330c9190614284565b60405180910390a392915050565b600090815260029091016020526040812055565b600181810154600090815260069092016020526040909120805460ff19169091179055565b6001810154600090815260029091016020526040812055565b600081831061337b57816114d5565b5090919050565b6040516000906001600160a01b038516908390859084818181858888f193505050503d80600081146133d0576040519150601f19603f3d011682016040523d82523d6000602084013e6133d5565b606091505b509095945050505050565b60405180606001604052806133f3613407565b815260006020820181905260409091015290565b6040805161028081019091526000808252602082019081526020016000151581526020016000815260200160001515815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035610759816142f6565b8035801515811461075957600080fd5b80356005811061075957600080fd5b600061010082840312156134fe578081fd5b50919050565b803563ffffffff8116811461075957600080fd5b600060208284031215613529578081fd5b8135612504816142f6565b600060208284031215613545578081fd5b8151612504816142f6565b60008060408385031215613562578081fd5b823561356d816142f6565b9150602083013561357d816142f6565b809150509250929050565b60008060006060848603121561359c578081fd5b83356135a7816142f6565b925060208401356135b7816142f6565b929592945050506040919091013590565b60008060008060008060c087890312156135e0578182fd5b86356135eb816142f6565b955060208701356135fb816142f6565b9450604087013593506060870135613612816142f6565b92506080870135915061362760a088016134cd565b90509295509295509295565b60008060008060808587031215613648578384fd5b8435613653816142f6565b93506020850135613663816142f6565b925060408501359150613678606086016134cd565b905092959194509250565b60008060008060608587031215613698578182fd5b84356136a3816142f6565b9350602085013567ffffffffffffffff808211156136bf578384fd5b818701915087601f8301126136d2578384fd5b8135818111156136e0578485fd5b88602080830285010111156136f3578485fd5b602083019550809450505050613678604086016134cd565b6000806040838503121561371d578182fd5b8235613728816142f6565b9150613736602084016134cd565b90509250929050565b60008060208385031215613751578182fd5b823567ffffffffffffffff80821115613768578384fd5b818501915085601f83011261377b578384fd5b813581811115613789578485fd5b8660206102808302850101111561379e578485fd5b60209290920196919550909350505050565b6000602082840312156137c1578081fd5b6114d5826134cd565b6000602082840312156137db578081fd5b6114d5826134dd565b600061010082840312156137f6578081fd5b6114d583836134ec565b600061016082840312156134fe578081fd5b600061028082840312156134fe578081fd5b6000610280808385031215613837578182fd5b613840816142a6565b905082358152613852602084016134dd565b6020820152613863604084016134cd565b60408201526060830135606082015261387e608084016134cd565b608082015260a083013560a082015260c083013560c082015260e083013560e08201526101008084013581830152506101208084013581830152506101408084013581830152506101606138d38185016134c2565b908201526101806138e58482016134c2565b908201526101a06138f78482016134c2565b908201526101c083810135908201526101e0808401359082015261020061391f8185016134cd565b9082015261022083810135908201526102408084013590820152610260928301359281019290925250919050565b600061012082840312156134fe578081fd5b600060208284031215613970578081fd5b5035919050565b600060208284031215613988578081fd5b5051919050565b600080604083850312156139a1578182fd5b50508035926020909101359150565b6001600160a01b03169052565b15159052565b600081518084526139db8160208601602086016142ca565b601f01601f19169290920160200192915050565b600581106139f957fe5b9052565b8035613a08816142f6565b6001600160a01b039081168352602082013590613a24826142f6565b80821660208501526040830135604085015260608301356060850152613a4c608084016134cd565b1515608085015260a08301359150613a63826142f6565b1660a083015260c08181013590830152613a7f60e08201613504565b6112f960e0840182613bda565b80358252613a9c602082016134dd565b613aa960208401826139ef565b50613ab6604082016134cd565b613ac360408401826139bd565b5060608101356060830152613ada608082016134cd565b613ae760808401826139bd565b5060a081013560a083015260c081013560c083015260e081013560e0830152610100808201358184015250610120808201358184015250610140808201358184015250610160613b388183016134c2565b613b44828501826139b0565b5050610180613b548183016134c2565b613b60828501826139b0565b50506101a0613b708183016134c2565b613b7c828501826139b0565b50506101c081810135908301526101e08082013590830152610200613ba28183016134cd565b613bae828501826139bd565b50506102208181013590830152610240808201359083015261026090810135910152565b61ffff169052565b63ffffffff169052565b60008251613bf68184602087016142ca565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0396871681529486166020860152604085019390935293166060830152608082019290925290151560a082015260c00190565b6001600160a01b0394851681529290931660208301526040820152901515606082015260800190565b6001600160a01b039290921682521515602082015260400190565b901515815260200190565b600060608252613ced60608301866139c3565b60208301949094525060400152919050565b6020810160068310613d0d57fe5b91905290565b6020808252600490820152632a22181b60e11b604082015260600190565b6020808252600490820152635444314360e01b604082015260600190565b60208082526004908201526315110c4d60e21b604082015260600190565b6020808252600490820152635444323160e01b604082015260600190565b6020808252600490820152630544430360e41b604082015260600190565b6020808252600490820152635444303160e01b604082015260600190565b6020808252600490820152630544434360e41b604082015260600190565b6020808252600490820152634f53313760e01b604082015260600190565b6020808252600490820152632a221a9960e11b604082015260600190565b60208082526004908201526327a99b9960e11b604082015260600190565b6020808252600490820152632a22181960e11b604082015260600190565b8581526001600160a01b0385166020808301919091526080604083018190528201849052600090859060a08401835b87811015613eb657613ea682613ea1866134dd565b6139ef565b9282019290820190600101613e8c565b5080935050505082151560608301529695505050505050565b8381526101408101613ee460208301856139fd565b82610120830152949350505050565b8381526101a08101613f1060208301613f0b866134c2565b6139b0565b613f1c602085016134c2565b613f2960408401826139b0565b506040840135606083015260608401356080830152608084013560a083015260a084013560c0830152613f5e60c085016134cd565b613f6b60e08401826139bd565b50613f7860e085016134cd565b610100613f87818501836139bd565b613f928187016134c2565b915050610120613fa4818501836139b0565b6101409150808601358285015250613fbd818601613504565b9050613fcd610160840182613bda565b5082610180830152949350505050565b8281526102a081016125046020830184613a8c565b828152610140810161400a60208301613f0b856134c2565b614016602084016134c2565b61402360408401826139b0565b506040830135606083015260608301356080830152608083013560a083015261404e60a084016134cd565b61405b60c08401826139bd565b5061406860c084016134c2565b61407560e08401826139b0565b5061010060e08401358184015261408d818501613504565b905061324e610120840182613bda565b918252602082015260400190565b9485526001600160a01b0393841660208601526040850192909252606084015216608082015260a00190565b60006102e08201905083518051835260208101516140f860208501826139ef565b50604081015161410b60408501826139bd565b5060608101516060840152608081015161412860808501826139bd565b5060a081015160a084015260c081015160c084015260e081015160e08401526101008082015181850152506101208082015181850152506101408082015181850152506101608082015161417e828601826139b0565b505061018080820151614193828601826139b0565b50506101a0808201516141a8828601826139b0565b50506101c081810151908401526101e08082015190840152610200808201516141d3828601826139bd565b505061022081810151908401526102408082015190840152610260908101519083015260208401516142096102808401826139b0565b50604084015161421d6102a0840182613bd2565b50826102c08301529392505050565b61028081016114d88284613a8c565b6102e0810161424a8287613a8c565b6001600160a01b039490941661028082015261ffff929092166102a08301526102c090910152919050565b61ffff91909116815260200190565b90815260200190565b60008382526040602083015261309660408301846139c3565b60405181810167ffffffffffffffff811182821017156142c257fe5b604052919050565b60005b838110156142e55781810151838201526020016142cd565b838111156117b55750506000910152565b6001600160a01b038116811461074757600080fdfe786212e89f390a4c768f3b935b85e0ec2561a24b6f48cda3c4b48a996b211592a264697066735822122099bde760c5a3a45475e145709e72c67d165673645fd1abfea9ffbe368107fd4764736f6c63430007060033005820026ed1c2ee349fff87f3b79182739d0207305bd68349aefc5ca78f0d481ddbb041010058200275b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db94101005820024d7a4a268e371083423e559c62c0b05d4fba5ed81eaab40b18dd938b503537582082495a6305de617fee43d5ca2081e815cc6a4551e33297b78a3553ec8dab4ca90218430058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630422f0300582103832c99efe7743012e46ee90095e0b4dd4108e85b2ecf683845a39e0d669e4a205820f8982ef2220cddae930c150d17adcd7db302ac19ee53d324d3cedd62e1ef5c6c00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af054f4418d9fe76a788f2868a558dd216549ad2d869b00582103d9423f5c51fce101f89934643f67af2035ab88368d6d166e95ff6412b9670a8058204c902429813990ea5f175c26679b3d36dca6eb41ce5f91dc3b991760cc3272dd0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60422f00005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b04502de4353db005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3054ff030beb0335432e156a0ee55bd87850eaad228e0219995505581d027ab353205a9e6e62374bad571638bc0c43afe1d93ff786f4f32d18250f01475ddf082bc898b019436102184805581e031e2c17cd0870c9b6e9c83fcb1edd3c67a74b9094af519e6e34f2b888200c08460c4df73d3a0005581e0318413443b7d64f51f6d3742e27db752b345219c7a0ebacf12b8412d3d0040103ffc1d6571bcc4b4c554e879a5ca7703beb07c962d313f2336103ecc780e586e103addb98d9564c38183df1d6943ac1916616816e7f6ba88826fd7511cc055743f801410803647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03336b40cbaa16811a11ed55eb6f49a99ff96fc9c37515823c7c4d3657de78a24d05581e03a332b5e250c720d9d44aa41e37f929cc31aec91e451d596f50d8d4660007011bffffffffffffffff05581e03c4d982904ff8c5e9b01a6e8fa698f82b6ef78d2a7512e48cea42ef86f0040505581e030e2ba0116e6fa59b8604ad014645df9084301148ae95c1d70a6425642004030219dd27034148c915e83e8700c2d436ac059abdc7ded0ffa687e86b354224f98031634782038661c8df8f467a81542a001fb8d8d57b69feae5b3de67b251dc7677bccb5ff4c03c03bd6ee2fc8dcfa43c4224c9e6911fa8b4baf83534359699ae12b52f2dff8f4038da0811f75ae3d08fa113ae83387aad403d4c894119585e75a1689096a9edf2303f8c5d32260641835e0944ed6c24bd2e0e48b004109c908fe23bfb551c9f2ab8603133eeb17323ebb497d91395586f3f9ca69781cc5ec6dfd568a91e13444440007032c9ebcb30a6ae87db2ce12781cc8e246879aa98d8607616497d19efe3a954ed1038e11b499aed8f76e1bca0b78de8935914ffbbdd87ced7cb1ba592dacf3fd40a10328360983c472a3bd4caa3f2a95bfd7d3921ed6d9bdd4b72a8e0656115024d7c8031d38b6cbbd6db48ef018c4c4bde8598315cf01bb6e85aaf5cd62e24592f6689b0219ffff03c11cb8e86c339421eae3a1df4cef445a0aedcf7e7a68bec43d2b74d5a616020403f43e4e3bc7c114655875022a86b618328f9c2017f0784bf6c17af74efe23d3f2033272533a0078df6e312b12bffcebd87e2ba80a96cd73b932fcef5a03d87b870503e247c075f511d1c83fd036a66cb32b61049198a75fc6b61f3d3d28f5c4e55ddc033ccae05000fdbf212daa6e39e6275414056299c9049ee3d89a506b77ad10df2203c7ca584fff2468e9c467d4369bf7582fce8937b5bb5f4730b49c024d3a217c9f03e5644dd1e62495f513d341ffb4949a3bb6eb3637b0bbf98896174a213282420d03a61857f8a56a7d8086b9336ae194f88f2d05ad57bf75bc11f458da3e6c74e14903d38c09976782c127c6e2e10a97f2a1e7c0e95168e9dc12e379db78dee32b628503a53ab3f46e721461bdd936fb4d3483df1b5acc47c98e4c6b0c273be9f552d1f20219ffff03240b5e0c26a332a3ec3bee02ac3405473e81b7fb1bd1de500c1bc4a6a53e89d00396a09270c6ea1c1c8dfee375cd74c149999d09697f0945cff4672f2749cdd06c034bace5f3886c6268843547f3c0c8a045f976e0aa2242e9c542fb7c6e40e03a300392a7e1fe78ed42e2bdbb9ad1404b250d8678e65bfeea20bf3d5f0bd364b3a006037cd69c200ca34e9b8148909efe158768d19d520ef4d8b2ebdd73eda6834e595a031cd42bfe51ef68fd1781f93f18f06d5b592a662ad00e6d6539e7312bfb75947903717b2076b9182be2a149e18773bec593052e68dab50252c0230ba4fa5549d9ff038f0f06ce2b7f0254c8d480acacd37d145e5c191e68d85f8185ad60eb8d6f3b1903db5cf01b04e1b74d61110523f11d98678ccec3652a94c37c69409a8613b98b95035b138e4bf5dbd7c8c9149fe1ed49c0f280802e255bdcf28a3cc4c7bd9570131d03bdaf58ffd390053517f3146fc1b688be08d8da42bffcf38514d0ffc78a8e5a4f039be24d541401992eaa23108f56e36b3345abb207e9447de2abe0e15114e2f85f036139efb8a5bc22a8e0998afcf05b7832f1f57dda6668b506c50f1e96951a8788035e9644e502fd7065e81e7b2d30d9e73763ccd3849dc66dc0185ef989289561ce0364d5f0abb538f083b870c1188419ea129231ddf18e13e5b009927ab0f52dc90d0219ffff030637aa31b7dc70e60de475a667c324e51ba19f126dc3ad2bad2e44ed91d405f3031bc16fbc514e0f0b495645ed287d566fbc7787a1c79992994610e4750d9201e1032d2800077d157c3bd0d343a8e068ae744b652186cbc1c56ab5470ce2d28c992203cb60206612fb842beb9141bb364783c92030b9fb34af516d9571d34c3a768c8203d859353942c167ab3d98235e420d88abb607a2e8c8a0ad8f071e5c95ad628fdd036665a5346e05f4d41dd6922d577d5ebd2b80a0a5e4c00e6879cd09f209b32bdc0305455aa61a59d12faec0579938cb5c3cb13e5ef434e6bc4b54609b8b25cd06ec0375e66c9deceac9a1e6930e1c207aac61eef644c339ecd43aceaf1e5f3f9c182903ae85aba0d06405a9f0390cccd4367238af41fd550360e16f5f7a5d8e06bb0c0f0381998105056eb4a1887f98e1d9ae3ef5976da5c109231a23865c1a5457ae5c8e03a67f4be617107c82774dc8b233594bde53aa0b1b580a8e44ccc15c5a5ceab84703f08da714197432b012fad83efe1cf1b034a74d7e9aa589f4f01cd2b947a2e25903306d4fe358213d27cddcaa780751ab7518e4af3d2777b94d5f336f13a3ae132303b99acb3b013221ebf6da5ec5f4adb18418aceba834d33e0c98bcfa36be39906b03bcaa8f99c099e7c84dc7860d83e5600386a13f5f964692f76e8cac61480d4ead03a1131f1007a9540d4184f7251848ec41ad7f074a9a95a3e1170fdb85c5d572b1038717a29cc14f8e7dd40a38af0692ce73e47cafe6d4dce2e24199f02368bc8d5403d9b03d0cb1ab454ae28b89a6e5765c3ba2f663c4e8d3ad7c352e42744b3054bd03212c84c1e5bc0c698989ecf59abdb9caa6d4dc946dc1e685c04dcb76284120b10356200a17a648e842f2db630acadd1496585332db228f1e7c2f1b9cf74a72d5960387ef86adcf9aadf0294bdff7ac241b163e7afcc34c99282a947ab6470dfc95cd05581e034c506979b08f2bc828ca714b4caf15129a9c4ac11b80b524fec9a484c00c18b64768674be0681ac805581e0380ff0d2208a8a0ed0a71c5aaa560e7da89f7a7faabe03a671b625cdcd0040205581e034ad6e5433689f5889de3da0d4a53043c155d8a8b3534df1ca0954e9f700401036182cf93b7634d6592a9f668ba5a722c90a7aacc1d58c10b3c110b36126ba92403d5de71f808e077464c6c42fdc2b4f576187eeba7f90169d2de5a279b9470e13005581e03f3c22acb3db3f292a5e490270d70c86c3ab7dbdead5b504c0a485104700c01468c02e16f700005581e0331254b7fd87a2cbfe074ac90a49bd8db1460bbedcb8fa1d8f141f58520040102191e6403299ddde3dc51f983185c139415b71a8ac7858b008f24d6127894ce6952add9be030e2c29f23417ad8235569830a073140fd95b0da27393a51aa8c2e93c18bfe16f03bac35a6d0f7ddb517feb4f16dccc851e8679b12c3e71f01dfc163936685b381003ad31268490c7a80880d6907683a45c30dccb35ac49cf6cb27d0804c0dbd50926037f9e8964f90a9415b695c16ab824dbb0782679d2c1862a943b2310e61d5ead9103ad51615e0a3bd381a494659432b779afb4fc60da02294bfcf7f527a6d128495103e2c5274bcc33f95a2e3129a4736fe4ec3b963d988a14a24557fc0d034fe2689f03a3c2f42d2bab7431224119f0b4a07836bf33f4969c24df0a252d72a29dff4915035e0eee97ed2e7dfe120edbcb4abf6cc58608d4fefa488cc83541ef561971d0f5036f8ef01b9f793c396fb7ff130f8585398564891aa67c33b8709f84282b233d5c03ca41a109c8a14ecec4af6d608b662f9a920615d8c6ba806369ca188e52686e07037c35842d094e683d85964d0d9b73a7346368975fd4536abb9138d0161ba35bfc03046dbc7fe5f493dd16485255191a73e23a558c25ddc24356e80557ad11da5faa03e81c0ee1616e9def424f8b1a6d0e3e9dd9068c31ac0b05dfacf8c1d58310a8db03cc78adffdb38088846fd05b4b2f1e7b618339ef038965acabe8a57fd327a19ff0219ffff03c54c40dc1d8616fc6e766e15cc3e909fd181441ba0f96ff1359d68070eccf47c0219ffff0366036c827ca8fbea5fc258db4161ae5b79a14e2b4b05c0f2fefe16c13d023efe03ce2f642d5c16a83bf80826cdeb26237f948895769d3574727502375ff22718b403b2d4ec9d8b25aa5dfc7f3bb3037f7de770baf398521e9efb4296c0b2b7969c0a03cf830ab979ef6946b91b87c42a0ee305dcfc3eb48b539b3b6b58678708f5cefa033658bcfe068491cb452d95f604835bc871bbebab80fe75640f0eb2277a2ac73e03f32323cefb52049cb44e8e2d716648d6ab781622e8f0859f711ee9c3508112c703b9ca0c3ee4bc971903c9fa15abe4e224988991f41be369e1a4984e0f7820ee6603afb5157154eb757ca58325a9aabfdfc24382f8f02a3d0a6bbcee2811785f263b039ab63abc10b14c1c6d87933095dd57ec36481cf282d77ef3f0adfe675882692a039df8ba5437d33edcc5015e34bb2e433ef7fab1650ef56f9f8a0bf1ada091e0af03b02a2e5fac2655a960df56ec5ec8543e509bb55b9a0e2a99e42981810586bc4403d956d3e0ba8379e548c10e9fc5b82747a8e35c3354b967f44deeae942dae6757039aa80886e6eac65938bd360d153569b2998d4b7c17af18b204835b718f3562e50219ffff0219ffff038b1dab548b1d2ea5a1dd351252762a43187c51b13e81221c476e3bb1de4fc8b4031c9aa17ca4124bf509c073d3aad27c4280841b4df3a35b5b91bab9f2aadb75f603c5195705010bd4c43ffa9afadebf80b5a1e78c83e1409c9f585d0c926b8ce4f00361cdf93526298f623e9f95101ff64432c355417457d02eac78cedd7eafbcfd5b03748f720bab395f216b4b7751eb75dff12fde30a560dedd3d5ac8e10e9ae92f9e035468c59f447bac0502d6b80cf4e5dee14d579dcfa8a2be806d31c04369118e2d03fc11fcf02e96deeef96f519b934d0a3deadef60c37d0df7af3d03dfbf4173ff40333d79841ab191bef7c7aa1d678b3731c1ed23f6a38dd544da480d2ee0cfa1fc703577648cc542452b5c8107d486ac93fef5258b1e7d5d743a6a078ad35375742340358ff6b4c16daab67cc7dafdcb426c80791f97d30d0a0fc8f7286fd5d8c360142033b91955bd82152299b430c764cfd546ace5d3d94de1d439683b75c60312b575103835bf947ebfb1a5c1ae952c256965846c77bd3be7bf47addd19b0b8daf69b0f905581e03311cfa0ad281fbc72487eef06020ab106a36bed85ae8ca1079621e0990040105581e03f47ac8519edd0e68f8cd720dd14e227f94aaec2cf00c59414f283365300c01464ff7a264520003ac4c5bf53162231296bca6cef34326042e927a4d047931fb8ebe26ec251d532805581d020f44214490cf33ef4f25344c37e13e0545e140f537d806d8dfe42c2e040105581d029aefdaddc8667850348715230309ab10db59db2d1f85da2046b71a4004030219404005581e03cb067891e4207e1376b65b2505ef153e8dd324c69da22f68463663d950040103573064a7a4fbd808fb37aedbef083840120387b8cd9ef642e38777db832d224201410a05581e0338c71be6fdbf4f93e599367c9c4ff950191e6b79ac99442550f9235920040305581e03d1d95e1a9e7b1240ee43c83e736dff8a3f515595784f6b2d91694864200c0346cedba7e6889805581e03ffbf98eca743c2c4a6699aec4738a76296650d4ce2766da7bb6c7b5bb0040103a1b7e51eb7a0b76e5b1b08766e2cbc343fad46d0d7815525d6e1b359bdc3c92f0142001705581e03ca98254edb17550cb979c94533978ee1b34363a21cc0ebf4fda04934b00c1843464d793fa3f3f80219bba703e0e830f2d4bd587d333876c2c9e932d9863fc0fc893bbaefcd385dc9ff2a5a4b038f276e708f7f8793baa2f72a5ff440a95a3abfa70a968ac9a09e2b9220b199e4030a28a8e061937aabaa69d20c18da8a8730d53ce83657f1a9b1a96b72135f817703d801af43b0b9e50a2160648c777f9714581febfe020a35f29febd5d71a48219103251958edc38e9c41970f4ec34a9d2dc1d8703b065fcde666a481a845d34223070308a0f35c5d10be4307ad41a93b431703dc33ba9cb132c2564155c3a557a917e803e866b4e6b8ed2eeac2449bc1bd758b45cf7ad3b1fbf7b94963334cd3994c145d03db41c10ddf7a01f07adade4b1e3bd706e799e05ffe4986cae219f7d1cec1c7e7036fc7495159c0f06ec10cf51e6f130aacbb48cc241cac09272672ab4aba23d27303494556e4165a48742d7902141974baa6ef012e9752811be159d3686d37cfa3aa03a88cd785322077a8891908d9491e6f8e7635fef1f36a826e33b83a2ffac15d1903bfb7fc29258227241b9fe8d50c309b2fb0d368c212c949d4bbb71b9154f1d6a90219ffff0380a2184936c5612163ffa3361d89685b396d5fb1b39b06258630f7ea03b98025032221723459a72dbee3bd160c0cc7773b7c2f4a4a818ae8aad00380f6857e053d031af6d3ea316649f44e8faf8be090105468c5461dbfcb6d26f337a34d5a303add03c7d349612d0e8909c55561cc364702faaf5cba4002a21011ac95804d8411b4b1036c9061143b0e76d2abf5fab725c1dd7eb8d84c93cc10e8418189058d535dc73903ed97595ce074020afbaaf2cdc18cca6ce809e78c2e8b090b246799dcc1d7a01b03f9ce2c81c33d91b179f9bbd15d1251221988ad5a022a6478dca6df73a1ec16fc034fbbfc01faff71a3211f4f1dd3483f13a60d6c35e6910c46f664cc2da5cdd75603c5bd3f43d69c22943a24db2d55c9b80c65ab74c5ef10946b0668699110946a5e03e6b5319ff79d5219eeeb416bb7f2a58357f10c2f975f246523352981fc158c060318028d8fde5069c25414127cbc429a69fe5fbe2b7f6f1bdb74367b400bb3dc920376c639dedf03427d0453a3af6d8e2e70984ae103e16bd43b905f5eb67d3ebc8e03e5d6120466fb630f3a591f4cfbfa81b6839c83a2fb9ee3c45615b4038f0ba0b603ba1a717bbb9ec23cf0ba176232d7fab92955b46dbb99fbc6ea1de0095675a924033e148bd4172b1738c5bf72a0b8c3c094973127b5186f76bed9f0ad3e0ddb50b50219ffff037fff8525143132bd1473015698983ed00d87bf9c2a54728a9554a5a28e4711c303466246d60726ad27c1baf0258bf549404f61d328c04330fe9d78cae62bce7ae403f9b48efbc442c4ac49597d455e6669a9cdb716e07708aa73147ecf585ee040d30397cc18513ffb0935fdd931abaefcaaff73904742af90e968cba41aca8c8aacfd03c1511cc2005846ab2d15dbb407104570df42c74fed8dbd852691cbaebd28c5de034297853380edfffeb6f9a4604901e09d4b1e520f95d9dd5f9d5dfd18256517cf03004704d229f45160e7f7ae08d995ad1eded1f9aba4f8b9ac7116dd28bec5cbe00393f6a381e31a4bd0ccf1a24684b0b30da9cf03d4291fd0ffd2d5b69fef5e3128034ab4e8bb0c8829b1efaa1b4eb5137d617c584f2e693e053b1e04366aa010d3c503ecac5899326ba64847b6a9c04f6d7e5e58483aa30996e3eaf74d1d85db29c16703274d2e4e84d01722203044e1fb10aae5bbf8246ce4daf4c91711e4192a6fb25803779b7c9ef42f8224659640cdf04812206864f6eebf42f042d8bd4568a697ff380300ee9902f9ed1c7b8a8c503d18572c60b7f66f557b13e112bb6931684b346f6003371adca851254e78daa11b361a366a84a71a22189774f8ab17493d6bd9197c6805581e03e497a389590baa78b6bc471d9be5f47cf43e83e593a7ff9aaf03140760040703064602b3dc3ef7a01ed7b2ee72f2515850cc9124b7b9f20697c49817dc28e4dc034cdbb1813930dce444168c6af357c9a47bf5851dddc1e164fdd6e44de68443fc05581e0314a92ad633f2d28a002b795c92362ec0da29072545e81aafac31052ec0040205581e0327a4b5b7e968fe8c92d747b304a32f1391dc2be31dfad32dd29886edb00c01471a4d8c85cc5c8005581e035e4161295b25a8f2c4ecdf3cef22eb8d05519c1db6c7eebe6377d620d0040203982c0e873094012f4fd6628c918e44b8900f6e490b9b79373e636f6a17ff613a01410205581e030779d2a933727e146e6fd09d29bd63e94951ff86d576d5391831c899b00c024656c1a29b0bf802198c37030791481e5123f3c4ffff951aeabb06e9e7494e0420a0ea56f9ec9c6030efc5be03237daa608f1c6ea826fef18354c8abe190a06e1cd2784330f14c1b0388f4664403a23fa3c5b4927989f6c4c251e6bdde645328a0819afef021693d6e04806ca2d003e760c48757f7e399e75b2b9a9c16d472b3d98eda76e2f14dfea3d29c64a2a79d035f950b7313166257be9374f21ec13ce2803c654bcca0ee9a2641342e2d93242f03bf1e18fd8e4aa7f6e1f9f1b407867306d5543b8fbd604fd01f12e9d5ae0bbef903617c60bda0c3db78cdb39b20d0dba6a4a451195cdc3548e2b40a8577960789ce0219ffff033fc69104aa308010cb56bd4e9efacde7139b1983612641ca96dfbe09b8145392037afab27e7c9709b626a0e5229b6da3f2dc1b447100abbe39bf04ad6f0f53246903d423ebcbb347dceabcabfb3f45ccca30198e665f1c84ad3db5d0958cd219345603061d80bfe33f42709eb2428d1f2172e67b6210e43957a9633a8ead654e60e1ae034609e88249c9e82d852483b8caa354550c86e12de102d60a44988309fa2ce3d1036835674e9bdb71eaa8c45abb117a388044fbd60a5d54a6975e3b0dccdb1d7c6603fd367308bd7a7c7a266850cb6468b9c0a757682c3d9c11c42ff78c9e88392acc031a402fb1082ccc843a6601eeb3cf8ab87807c0d11cd43e8a7341741e2eb226ce034b73fda68d0f189f1422c028f9934228f880917c62ab7b0d2cd9baf3518c545b03bfc20a3d7e0895387bd2f1fec22bfca27b4c63c64d67f765bfae0571eddcd57803636acfac1befc82f26c026a0d20f565c0c346e61cd53372dc89d5eafba5a2f160319c544d29491c3c8fdb0d6dcb4932877d2d6a634a3069cf9dbd9d54d3a2ec25e035e2c73ec023dbd562fd1b6d8824a2530d24c609032a39116a0c7a33db2a94b25039982ef31ddb7a214b42e793ea60f2dd033641e2350888c6902cf1959e7f2dbf30219ffff034dd35a1a88c8b268aaff0d42488ea2a402cdf83241a2214fe4722096d69dddda031a377382ad93c357150940243a8b39662196890bf37d34c558285c345b32b0410371e42281204c1fff88fadb28283cc4cfea3527afb1dedfade57576dc20f5fa3703c73925bb034721ae0efe01c8dcac3643f3af5a2f7d7b3ebf3764cca41ce3f2f40219ffff03fe50fddb78650b1f067dd7e77b366fe6e21ee983b8c2c4c29f9cf2c6ca93033203725ea0df70242e3d26fee60393b8f3293d8054385605f075af5a6d9b997e448403722bdcf9028a5bf0b3d8b56086698515b899544883102ec33f12707e806c2e090398576464d9bc4e13918b472d0cb97ab9efa06e66925fba869e41e26c9f1a6e460394b3f3c784fde7b663e41cf87da8855926adab9d4de9d6e8a911a77f8ed3e70b033ed01966f5a3b4e351c2ff6993779cf1e48a1d00537be300df093df374aa23560303842f6ee15f179a1f47b6f2f482bc69f5e148e02b7fc17b27d2b85d9e49967503fd859df9a8040d2fd695d007e7299bcb2c51cc0069c9b6b9b66d2652c9d8686003298e8bba9045be1d47d4c10b6d24c13bd0abe0da21dfb1d4a44b93c0b01d97c603f3d7da7620e62bf6bfeea0f123c2193dd9a70c8d02738bd590a2a0777395a93c03fe8787486587767c2258d7f536f2629c4034a01228be90cf546e139cb523430603b636a10f0c7045244ad11a0b90d70d1fb47e201c44e0bbbe144bb118f580b8460363432528a871725795b1c9d6b2ab06bf8e15fe8c22ee232f790a154d128d4d7a03b6c891c1e9b1a27b08c855a57ac33f1a1ba41bcc0781b1f80a308193e75417d503f2439d70fa1c72ec45a6ee1eb41fad662a943272e95bb6a98e54671918ce10c003f36d8659ba1e79d2f39cf00423ccd68dc72c606620f61a96a3481f249ebc30a803a66e1c677d7d1373ed67e001f54fcdddd0aa46dd0ef1ad61683cdd23991543c80359f5e38206e316fd0cbb78e5b27aae27495461421d31dfff13accebcb2cc03c203722577f4f305be04c6fc2f698bdf543342cd5f3a30a79d90b2cfe4259568a2bc03558f7580c053f14b8b3db40c4b9ca2d45b325c490830d5c52ad5c0c8837d6012038eda770d5a621a9b319c31757135bdd8bcf88d21cd897a54fe8841f0de5e979a0366082cfb883d2206967bd1a9c8e86d9c1bc6c7e813679961f17e74ec91537a3b036201197e23c45155f15bd9961c4925b3dcc09d301e496baa06d271fadd01e8ac031e06de11c6aa3789a66385a8c800e6181f1e933761d4a02cb9b1267a73cacf5c03ae26f3f215e339718e439fb040deba7052358cd27f0ed8bda087c648fc973f19038a89f8c4fa63ca212c111f03c5b765e3fd61fa3a44bc809399eb0e948f631622036c22621aabe30ff1f814d66310d712fa32b91a43e68cc51431d6e4246de4ce6e03522013323153b009caff268140a67b249683023d14f036168615a71f8c7e9f8b03116123cbe9bce7da5595b77eb5a813f29f776d203a1066c9183d7c9ac72b071103d2bf00c71f5035354a3786f044feeb887b0ddec3466397046dbacdd6090dbd1703f4a503a4b4e73def7877f24c5f802834079d4a74df4745b7e1a6ffabc331269f03b4a5f73abf268b1752b89d6168614aef5fc1b2196139288f766f0c55c4341cbb031ff1000b813fa83ea68907a42e05b5ee999f8fee3021c1803cce5eb68a7b1d1003435b0be7230285ec6f8980ef64586fe829e332cc31f394117cae5df28923acb5036c60e3e11b8c72c68f9e560384fe75dbdec3e4b26c821b6ad8c5d2795483ec050327d3094858afceb9e1cffd29db536e8045e8533dadbf5a95a0a26e335b35904e0305cdf3d602fd6289936a1ae3f582796af8c9fdcdbd8deafd00b18724fcb1c89505581e03c8f0e5385d9a1dda7c157aa203348822a8e117fe381f454810e41084a00c0147128ce69289cfa105581d022a5f4654bebc18f5e546b7387e232c0bca44958f75fbd8ca2ef52a040c0147117509d4fe745705581d0262b201d9a471651aed643673d4d6c1050b9daef3bc528e0ea76dc6820c1a0001beb64904dbaf2510ddb7626702188403e586e3efec0c325936144862047477a47d00d4fccddb7b6f518211b48d752dff05581e03ee1dac806e851e9d5f03f316f707fa644722edae813602d233fcb997800c01472bc0ec78b1b04c05581e03823fda463a12e64784690a7736bdda2ec1515b4cf591e886e38f8a2a50040103c279544d07d9631b1e37d835cadfe7098d60e508cf8f18a89ddb8b176d56874d0311ef04546b122ec0385c567bbc0806c71d73a316be8b38b22af6753c9c9c395605581e03e6faa2949305cf2724c9b995767a6bc88cad71dde3cb9b9f0aff4aa27007011bffffffffffffffff05581e03931ab0ea37a7e167b0beca003f547d9f922ad5721fa63cf46bf0a651600c024678567303751805581e03153a3698c4268a91d62d204e016a12034add66c8bf1e949da97cd35ae0040203308e91442d8df6cb0f889af58992c765912427fcb844b2c8ed03189274d7261b0219a8bb034e5d4c8b3a4c7126ac601106eb1c5285c5f206f32f4abebb435fcad9e25da22b0219ffff0337db524aaadaafd5bea4ce9b0a89a6f46cb3189cba9ad5b8a20f5cceca79fe2b031ca899a8648018c8b8c9b79d795cb042e5db26416baba5f0f19adee79d8c3eb303c1c1fe5e89e7237723fdf3d343adcd64f05b980e3a4db631d9ad0ba761996c7f0308b3a972d58f488168fac8f09df2d8808143bdaa918624762b0d979d3059990e03b20d14faa3ff67b1c989c1f2bcb543dfa8cfeedbf71c7212f746312d4714ec4a032bb1bf2accd696a789adb8747fb851c8d2d682283c84cacf8e870fca651a09af0219ffff03a3a140870bdf0a9c356789ee23c2847ce15e2811388ae059f036238e267552f4037c35ba0f16a8c2e8b9eb7a2b5ea110ca8bab2095b7cca42fc9eeacbfe01c9a0903d144efae48b557a75665c5acfec51cd4f0e5788be16890006933853697a0988103173c649e0ee385d00fd5293ec7a2e9479e95601935c68391242ebb05e48f840d0331809aa29cd7e0f99731a431cc3dda8983ae7dc8c941330c5601dcca3527caec033754361c7c59790c251db5362201b500dd8ff2f8e34ec134713d6ba1ea28fd400364542ed4dcf292f83017733b0e27a780a8840c6802fd14be5dbf3d247223391d034f6c62689d0953a9ac72fa49788ff83f65c52ecaffc048ba540f1f7cf54b71ea0397f92b2215f0cda2924b714b48cde75686d17bb086633c78dac2130b48a9bfd7032c3d9569dc34d76533e35e1c65d01dd5d278329365b0895244cabe6ef658d18503e6842907a72baadcb9fd082f9b6e18b44d6dd40eafd1c7361f0d544278a400630219ffff0219ffff035e43d4c66b78454397ba180a738648868cba96e676963a01e0b84eeca698cd9a0369edbde3b0c700879ca0860a659e19cc942c920ae6edf0cb9161b5285b3685ac03ec16815abf9006063da1d56616cf71165e5f9da777fb791885d11f9e2de0506603127f388bcd1e96f9e6d83a041ce21c44f714a824c8039f40068cc8dd7d3aaca80330e4307c13346722a5c9daa53df0a8419d181f674a611229b0f234807a287c9f03adf54ab38f82f3f254d709f7d5ff4fea95ebbb59d47b609e3691d15e5596c2cc0393342a14b3b764ff42a75a588bd2351a36cebe3a6f39934fb160f005cfaac50d0365184c993e87a3268232ab072b6daff20af5ad6f89488b982912db65d0d370bd039f79018289681cba2ffbc79fd4788609b5ca2282ed38f14f1526f911ebedffff0343937b2d001acd894496773a8089d54a13ae4eb0c428c3e9a5fe1cf4f9bf2abe0318880552e80fdbe4ea5b75d00370b17f9bb071c2a6aa99de977a50453363242903a7e3d639c90aedfa9991516f8c34fc6c83d2b9f640f229e537e204b28ad4553f03ba1350546ed375cc7a399848a4846ea6dc27f10907cec27a12193131e0d69123033c8d062407fcb531ea54081c019fa0becad482942ad20dacf9d77f79c53be80f0335f13f91a9e4ed4a8b22c6fbb56216a954782be77e7b03ac9ae38c9ce908b9bd0363c2bb2ffe0e7365aa78d1ceb26dc210e57b5dda5a378a9f7bf06761a771b36d03d97b47812058c02cc98364ddc1fc4ef3dcac4bdd86991a390e1d574e8448a0b8035c92f639d27dc08c7ecde48a51422d69d7d934a4995457d47330a2f5181633a003ffc83f848c712418b0b1eeada5004b29a722146fbd35832c5a49572d8d375d6e03b558579f020c71f24ee3a3ec6ff08f448423eea9ece04b5c9336013e0a1bdfef0315984b1f543441a2245438f7235a17ceea10c22aeb27cba391288ee4375b6c6a0322e51ec42103b368d2c485dfedab3c13b23c9df86e5d7cc942d3e5468ebee498031d1ff24debdb4fe24fffed9f0e8564714a9123c99826d2ec5d1f6980afeaca6d03c56b0ee99e04216d84e131fa65748f71dada8dd451820828d6243ed5756b3c6603be4c33b207807b0528619ba9fbf2b43f8645ffec6991f3332ab36e85cdda07b403e64563a4417ec13a8a5cb76494c2bc81940e1c76b5797212aa8b7c87cd77a265037fa3ae62b736b4735a136d269e3a75cefb32abc900d6e0b709ca55fd8aa1fd4e030a47017b898ee5596665a5d57ff929e76d7ad695e64c38ae008d66f77bf5cf3703393046cf3f0473c8fd004a5a5afb6e670ac5dac13717a7577bea25c1e8eccf98030ff07144a7ae31e08bba15811ab34e3981c18c4cd7c0a664994c886f04d519d903045bdb3c2cf32e366ce7a30bccad98063ccbde96133b523e758b3f1852f701580365d42a863c78c5928f0a22b8718d30c3ea492c4719ac612f57edece1a7dbce7d035c1d90962ce41d0363f1a14883aefad4f230fbbc1961319dff51defa2d69348f030b29df88375c68712f24cbe0522e1d480ea4df3f9029565bc324af76b085766803f30d573792d08742ae1e3190376a70a4929e8e7e43734dfd74139aa5728b0c9503dd6bdd9aa37bc18a43b8b6851952499c7215928ccaaef2db210b4d32c518b80103f88f7bdaada1c99615a6c6f97d1d5a5631e93dbc9198bcca488af7643963782705581e03c751a67151a2eff634ddf775ccea208b5afceb5450e63a310fd5dcf000040303774fd5b67887bfde11528d38a8635644b3336a99566bad24795e611559ca859305581e03adadd8c6f521b2bbeb3dec086bef643b50aa4ec3bfbf2fb138cf1326e00c01470a56ecf59bb70005581e03980e9a3298e39716562f7c4282a367aa7a4156eb1c2f026973fd9a4580040305581d03810dd314f51b8d43d9c099c997182b4685c531d5df20a0617b6424400c19013a477c41f27406c66f05581d03aacaa746a14889f48312d7e1c193fac4f7e53f96f3d44b78055a52400c0247011a01582b12a60219240001410a05581e03160ccfc9377c5d1896eb192d09fa1fcef7d02279b8fafb7db1c60ad7c00c0147017cc708878d8003741e525c0150f1def1eb8877825079ea14fb841d54659a178d2e73050a1fd1a901410805581e03d351f214b7d8d2ec40b699e96251c7f3de60053964a12f3b61c76b2bb0040103c92227393d8da5679ba6b4df1dc110c82cb0b5bf9184e9d3cf7bf3fbf04f41410332338427f593d6e90db7ec3f70c2277ab223aa1415cc4c3a3c7523b2d757035503bc9fb72b2845cff5c9965ee1af37297b7739f60bb46f4bc2e66f41bc2e6ee50a05581e038f835db1f9a3b1c8907cd3aef2ec613ed1a945805061f4721596ef36000c181846e82304add30005581e03e88f810caab397504e022a2e2a0e9cdab5e6a14d5ac3b28948df93a04004040219fbdf03fd01883bd68bcc89c50c6c4187e160b257983941e0bfa2d22f7fb1521f17ae7d0219ffff03d4d8a7e174eac498cf99eb349fff82c66829d3e95f42bd844b6003daa843cef4035357acd4f3b8f09d3fb43e1d76dfa044d7c59847eb3396c3006171d7f187746203aa13f26f4eb2b8c91a8b48eee38f1f22af27e5651f0dabb524e580f52958284e03e298f37ac63e86502ed13bf8a0977e5a6555f882eee6d61a6aecf9f419445cb003524dc4d926694a8e6dca2631b7a2b4a59ab4c768b4a625a088cff1f75e0e563303fca204732e974de4613bf5344e363475da016e455c6d674f3e0fd4448ded6a9a03ae1c0080a160e9fbb92a558530dc672d1343e5e970dfa80ea6d42c3dd1bd738a03e6b0affde614165df2646398d8d0fc6972081772d09549103581c92272a377340391b7aa0f8a393c0d793f36634319266b1a6c2df092afa3d86456fd8e5a22f542033096a443e6e38240db88cadd4b50a7ad37b91952ee3771293621ead6399ca4d40397a65a5a527597343f4dbe52cc42e31704edd0405249d57a189eebc0d6205dc50219ffff03fcb8604b642711e96d196ae0f0b90c316323a5d0e4c8780e7eaeb9dd8b0be5f3035fb61840497afff0db9bdbe7f97d6307810b1f9627dc5dd391a30805eb8cd4cd0219ffff031a4e191bf534cc19acd32095b582d42948cb137aebaa209ebdbd5a8f1f49569903588638b0549adf8378de7acaf0603ea0cbddedc93c4a9852f8344420130219f903956c5387d231ce5b51a73f21be1c2e26585779236737babb41ba8eaf448d5e6b03acb724af84639bc8a34d8a7a33f2a9a6a0ea54a805b7fd1dfa6a16ef3dc33bc203337184a7d89ff2aa180687fef414e3e7433788a54a10a1f8fd8e7c4bc38cf98f034973434c918e5a96910ae1a3859998e6c7581811379ec28059960a52f3f73559038085f7fc4bc0a8c5f330037ccb2192c57fccbfbd805e1d2c42336942cbbf9d6b03efcf3f18e780a23da75e4184a81ccbbe5cbaef69072b5b6a3c60f89d3554b0c6030262c46d92d547daca6183c3284f18adb3d1887555f0d3c273a26de43c785dab035abf9f3a7eb688d9e953d5486758781e7e460852fc78e722e20c994a950721f00316b2f991c68f083d567dd32deb09ca80e501551c9f0ebca90be41c9c277951ec03876d908003f55940fd71256ee074db3e98a5c3efd38f63fe9208773efdf9680f031418623cd3a9bdc9c98b54594084f5711aac6412c6f161c7a8f23107723f0bef03f3855216df6dde4cb76ae18bf7a1af37af390a522a0854f07dbc380377be5f350351b4466552157f86d33d4b48488ee5910e86738a6ef16b329bd8952a5888b8a103fda4f42e7c9c2e8516ee69ea00b2769970fb461eb65ccbc46dadeedaab5eda69034a204dcded1bf1abbdd77ffcf7554831d2ec29fed0c482da3394c1fed741b70d0365b7bb1dede71ded44c50a67b01fa6286c59483e55cd1d8055faee9281740f0c032dd0ab47ed526256fe867f542f11601c0f0d8d1804bc0001b04d7455ff781d13038c20dca2757d8a706e6d2d0e12155419a59da636563a685fd689808a95f9ae200319f09db2a96c44b900947467d5b2b602a37baf51b1955eb028529788b3e7bdd60388e35dd39138bcce61f6c24cdf47d1b9f3a77ee614f6a1cfdce3d9282b758c98034bb036eddfe42587ec3e1469ad2db920a019b538310f1437488108e66b346cd003b54d644b23d6ab347a8a0bd4e09f517ceca1e82384cbde9c3ca560294802534303e1dd7c0cb71bc92b864d5df937135de85fc956ca54e44e77a984a75de1bffc1e039ac79b0dfa7e218af6063ce93bf53c4e0d5427bbcc5395e2ca4517b39a0e0570039fb08c79f6b854c99a575a452974741de257af15a029fa2de77ce9ee737d38f30327b3fbbae4d40e8267c28fd0f6b2d544d4258babd6404076b780d8cd14eb268c0359edf0aa03e11c41824a44ffb771d9bacfd60465cc90a3ffaacf52f363f912cf03a06d1163a8ee25a8338d72a007331f966e7c9a26ae01da2f72f78457fe7b353b0375e5de63781c52da70093b6e5b7541eece8cb44272b2de9a4967d64897c611920343069476071c7077ff73e5e792142bd1ff07f43311b6674d5f9b366974c7ef3e039af3571eef6c0e2da56c0d20d36025872b68fd74705f2221a193dbbec9bb0ad903e28e0dec6ff1da38cc45059a44cb985ec338f9f1c07cc096772ce70c8f7851b20360acab901ae9e09ba80274d45b569079737d658171ca41ed3064bb7f479123c403be07107579179e0f8b59794dd001770088c4c7096d6751e150da83b2dbae8a5f03968a8875ca3fb79e18f58a5dbdaed7c9787fa45dc6156776464688361f8dde3103d84d56a0b68e78b98008622f3bf1ca416de14c6215a52437f75fea8773d2f49603f08aa9bdbf9be94098c409fecb29346d0d40f857f78f6f22d254685636b772a205581e0323cf3113ea8a688503c532646cd425fdf0a2ab031dc2a5ccfc49100ce00403034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03478bff51f8a647966549a68c9a7217aa022122fe9d7aa284ea5267609007011bffffffffffffffff039c8d7305c82167ea6624de2df46a4a85da7fc87eaa09d172eb3176206a1bc2d005581e03714cc0d1bf9b68b3bb45945913d9fd06af5f24db323a77f9ef167676300c0347865045cba1a9b805581e03c1d771f3133d020626224b0bc1cf4bf1d6b5a5777d4d60be1451c218000c034745d1aa9acbb06805581d024f955676dd300024b53b53178c7afc3c85fe591a3d65deae2989795f040105581d02c08b83801fcfe17088268c3fe56cf5015a3a90600829b24a2dd356d80c1a000417d24902b29723d5d1a6886b05581d0228fb697176c7f1e1bf2a95d4ded54f46d5af85d79d68f141832a22bd04100219881005581e0345b06eb89ae6a10bb2f66d41897d25768f7b0215571f6bc625b1f63e900403021991c6038fe838eb42b67d202f11ab49837246f4d8e2afc25fc6677c9a4a52121fe6bdee03f46e76f2eb17ce79b27acc061fca237a3e75834d1e44a44c0a593eb73360ff620219ffff03e6cedab00d1e130ea58ac558b6e50f35ce837ca336067778089c6929f14ee101030e732976ee40c553f466c3df0e86572b37d3c91091b61c3f1e0cd1d8fae191e1031f7e48b8a9358e396c6e77a2ba837be3a9f4d7f4c89d7c2e15911199470307cd03e94d5fcc9dded15835cc6c36472210496bbdf10d7c888c5e9ae7b5e849f242fc0219ffff03cbcc6847aef317abdbd728365caca5746f29065b80651ea39c3131152d5df7570382799d397e8ba8f6db2119da8c660c3a0866e35a07764c50ace68ccc34f7b6fc036977096356a8e05d93742f0d392adac0cc86323f28638f343f0e9f59cc65e3e7039ce48c90c1419876dfa232bef39eb82eb367cedb19e24b10d2ee81853b15f3c5037374beca13ddac0f7f27a70d04d4be0381639a51edb08b830f6b8b8d493f060e03f314b79832ab884a6841b24460f78eed8cf54ba4a2caaec69355d72a989dd2510219ffff03419e2ef4d4bd1d78a620bf2ea27429b0fa68962970785b848f8830a6f75238ad03ea29ee9cb7c2fdb76de67878d7feabac25d910f82e84ad7e61f3a2905821cb3903c093913d9575e67dabffae40309083f4c9c4efdd957ee64cae2f9d446609c8550219ffff0324df6917b970215abaa3e8e13fb024f510f36c0aadaafd985eb1d5b0e18c52d50387e3ebbee8312c81c3bb2a34492b8be7b293e169078ea2a9cd9d6ab9e8cbdbb60318c134c56bead480e6ac9e38011b0c2e46eccc8cb46e314764fc9a2b69920ee903b6b05811e474dd5aa29587d08d8e59ba1c83a1b8b28e7e254961f422ad947c04032d728922018c57bd88ee679d7a89b0b357a7b513c86e0b66d40c5be8eee367fe035fd1cefb728f0efae84296e9f766f92a1d92f6b6fffdf5b7a2ec99b24139991603b5da47cd7ddc321ff9d3c3b208ce26d7ed1092044d964eba2b61bf2c6956e80c035ce6d06aa3f5e3a24d0c6e6f36764079bdccbb07ef1b9e8658c18c335a08eedc03632ab7ca47315489e2e8f840c29f98c3af66ad42302d9a77a3678cef92ae38c1038586623edb5a6a5fd55088762fb7f639b97343b1ce54e9645ec0596acc1bc4b20397c1f87f682162e6f0898bde3404e353cb8aba7be1b328394b78f17fddc67fc70387f69f095c175d5ad8bcf321742a5fbafadc6a11296df8bb4f0583b2b6fa54ab030ca51792879ca63b8d02a00762722fc264a880880b83cc3f97d573ffeb3187320375cdbd802d83f612117930f09c3cf341ed14318e0efd89e1bc9202ae2f5e337e0338c415e93ad56e4119c3d41e9a4d7054b42febee39ac2006cc68abbba170b5c503f602d64dd31eaec71c35ea4ad0c0b531de3bef20df8754f18d613979996b1e7003d754f5bee1b41208c28b75cae14863669ee243cc362c0ab70aa181e2eaaad11b033d5f47e3983f2f0553514968b847599b70c18d974e5c0209fd06b734ea1fb81e0399ac82918e71b5c50ba729069e3d6cb29bb98546ccedd1324f2ca2285c1c3ed90374897e3e2f6c7fc032aaf37e047064ec4ef14d9baec3b357d5dc09f7d3dfdb0803f07c9bb724ae7e24a7f1e3b3c01c10adf2deb59070b4610708037d96a35e9e1a03ac5359817692444569b30c1f677838d73bcf1a787722c5e76aae49c8d72c22ba05581e03e27a8166a43e6361f2624437d0966ba3a2d5a1886894fbabab610db3300c0246b33ceba4356803e497ca83148df80f300cfb0962bbb6c27a23d2e4a186be0d1b00acb24bf79fc705581e031901b9495e93b060fcfeb27ba20b8757967ba4a779daf8d17b72125a400c0146515db6c25f0005581e034afde50b9ef23738a9392336a0f03a04946c01116f83fe86634203d7800c0445379996d40005581e03a70752927b1a608a11814c4c8418eaca972a9735eaf85e0a840de71fe008470aa87bee53800005581e036856a4170346b14ccd1ff970503ec4f49ba4b4a5e093c27ee30face1300411034d991549d706153ca8622bc2ecb45df6685f96aae48f0edf0f596b22f9e16b5d05581e0337ef6933a54907e804df3ea69088319a875ab997199521858ae82983900c014701f2673156400002195ecb037feeca75e9e13a0939d48642b0f982b1da169c89beee73d05d772fd5e8175962037a54a885b93394887c134c184666b3752a249c0bb272dc88cbdcc5f5a01fc99803223be3fc321b7e3e2230af1e0cb244c1050544ac78b70c8b8911674bad22d1c20364ba644c13ad96c28c779c9bda47eec055928ad9c53c8f454a9990b94738b6c803300110128c9f82726504ae9916d10b5d8007d935e59e323e75755750c3ecd2d203f06ae1b3b66eec8cb566a0fe40db42bef853246ed9167f6c5a4ff29490d28fb0032af553e927cf7346ce4188c04c915f81d95ebfcfeb3f99f4edd0f4f16f1dd86603b216ffe17b883bab5b14f120bf5d96b790b62c0d6a6f8220bf8b01d62c1f3e55038fd0dc0cc00b2d306f152ad44e27bdb1188c81e443092dc88a0a254e41e67ffe03ea640456613dbd0302e49637e41ddfc0e2c7147eb258dacb8bf56144fc8d9c47033909e5a6e3890d5da28851224840c4ac53b6b42ef043ecc14ccde90c734a4297037a1fc684344e72992b85887d6f5d6a05207fd9f9f6f0cf662c8bea4ccb8b840a03c086ca7bcd7e58ef392a65ae7d764dde76e3b2eb723c0d1f313da8d078646c1f0219ffff03b61fd32b9377cff0b079dbeab0294f573f5a5a0d19fd66f8e4383cc9cb3652a50366f4f9b6f46c216889f0d278baadb22c53e0f67d1c2e590f46f3cffaa315efa80219ffff03991095215f0acb5a8aa2114a0008bd34b26ffddffbfc6ac52abd9f24dba3b397037580ef78bcc6cbd1133a5935f86f392d2c20077f64e86cb61795b1c7be3f10c303a064ba9e2028d4f8fd5b5b76d1b269db528b039860de63a8a4a96e465110698103615d17e93b7b53b303b69fe3b7e36b34d7a6f1670ac65b7aa86b5746daf5cfc9036ff06ba9eda926ec961b6a18703264dd57dfd8f35278850ec7d380c04863a9dc0306d60d5b4bb85d745c4a883b445df1ef6b08b4d93d6b22993a244f11dbf526a803709faac953b4d26e0ee5227d0ea3cb6bef2f3027e7c1e9d0d8cc81b2ec8be0ab0319758007a598d4e5809bba94bdcd980ddbf347a86f5581be2ab64827b961cf87039d18971c7b7c706487e6dc0ee9df483d1557eaa6eb3d5f1d11bbd21ec2a76ca2036570fc87a1608cb83f8304c83321409bb356d94d481b3a683f0c5589ac31f39a03b2086069420ac0d1fc69c2ecd5bf97e446acd66c166b9fdc4bc56f538185379a03cfaa04a803a647553ca25d07efebb7ef2e49051ba0486fb601ebd84288fd32c0033eea6249af4cc91212cf135108487eecbc15e15e38fd2bbdf2ae88ea05e63208036feb99751a088fa09e211214440dd417b7a608a33f87bae4fb22b7c5a1c73e4203814a177a1563368a0c7b4a846e9008fb1972299ddccdfe591d659e50fc4649150219ffff03f25bf2a8092622a4e48357930d6887a94acf21cfb499546e368784667ebdc5e403d175e60a5df800c4b440e51b0b9627d168a9aefe0304c5fe45ecaa31623a24d803c8cc496e134f0684bcb67279571f2a7d873cbb17f350a493188f950dca25feba033b6727a393689bc304786618449e9984d4ce844e6d913fbc4bfa0c2a34e5fabf038d335089359d6bbf9cf2aefa6c8df318e9733c7b1f3fdb72270b5c5e03d397ef0383447bf1e8afdee318ea0355bd3f715d6086474745f770b837a75a62ffbf770a03e2c6b95f3e5248cfda0657ad9ab67d7c19a40e977ab8119cfd9959f8a3d3cdf203ed7db3e36cddfa7943d93e492e8649962a6ac45c9678bfdf53c00caeaec206c60383ee674aa53bf7a8dc008e82c764ed83802c4d4e4692a9e8b76b7ea4fe4cfd77030415fab3ca632970ede55c85cbce5e2c2876791e89bb274792db73d5d950eb5f030164ffb948a3a4db3f34bfe963d00e811ca9d17f0c49480de69ecfeafd27a22d03b09a88dc04f1f85584029b777acc494c75618dbf75ee39b0f08dbc5db39699cb0356ed3b1ba1e996038eef6f856aa7b9388f6a6eb524513ad753668471a77e814403783eed0f31e6955aef759ed728cd38cc72904c8087a81249e2c2f2fd0805f4fc05581e03c8babbd41c0c5789542ce74d4631a5bce50cf49960be62f89b2f667d800c014702356871ecdf2305581e039c82dd1ac0f5295d66f427dc075e6159dcb0d795b32072010ce47684f00c024715fa27b043ab4e05581e039ca617890e3901c30112e9775fedb36a1b6c19741d2cc3ab75e3f137000c0346a7b11cabc87005581e031ebfafeae92ead135f0a3f61c26c62bac47ab545b20460a0877ec238900c064734a53bc03eee3b033980451255e493e58008161f3645447b7f50756ea57a9af29b3dae54da936f0d03f87c28af4ffd13ef8c129381c61ccfc2bedc191e59b78052d5587011df3d2d6d05581e0392ac361a886cca922780a579f1a3ba0503e2919d8d63c37174665e89300f014801c28162996360001bffffffffffffffff05581e03bc6ee69eb0b934939eb070d0dafa366ff43badcdcb5f6cf6fa1508543004181c05581e03ecda82058f81ab7b0d599cd2ed1cf3c15cae01fe39e2ec309604df6010040203b741ed6224e9a8ec3514686291407d6132393864013f360f83e8f6edd491897c05581e036d13e1e600dac3bcd5e35a28a2092ea8382458955b88845ae6ef6515100c01480467ea7b88557ea805581e037ff49442a21a5a5411fcffcf5d6459234044927dcfe28d3fc574fa35e00c185748015ef6bdeb448c9b05581e03d776c61f5114a991df9d1b5d14d58ad1b920f231864834cf39b3be46c00c0246f5db7af50d380324a9170806fe98a5b39f6be65b2cc3801d24b0dec21e36a143ade5ca0070148b05581e03cabf56fb9043c19309557f4ba63f48c045c2ba57b89764e617521497b0040105581e03f7756c588a6a7ed2371bcc11776e920501a3207a99da2d326b37ef034004010219fddf032c57bdf3ae736376ffdf939d0aec5ac0d00bab02e6ff83bb3cfbd298a17b18ca03c550913bd5ea327960d169326be75f2cc00f9616a2a7e945d24c7da5cced3cb3034f41bde47ece704535a6c2ee60210f5863029da1322abcb06fc346decd1b7cbd0337fcfe938c3fc43453e01beba1b920a3f9616bb2d6bcd013d7265800d63f82e403174e4aacc720e262222b4af3d570fcfe02954fc8f14c2c899185feaa5c90497403c75364549bdbe5965c7b067ec3e1e48035e8b12c5131a72f7ff92e395fb4249203120f46f6e83cf0c188810b38fcd48e039a024f523207df282c0fed197c2fdbf403e63f61e8e08405f7e0904193081e82258e2457e611b36a7bf78c5458ad4cedef031b900ef915c3bdcd4920962e41c3d7a8f7805859781963c3a96ee5bbe729d18c03ac407a7c2a3f1146e3df5bfcf857da8ff86d7937b6822ed4ee295ddc6609ef0c03e71a28533e10569c5b038615bbcdd9e9ab8290d9c0ce770abf64fe0b3e623f3103b36cdebadb4af5169655f7806d70d1b5bf2bfe236b2eb7ac381f583ea5bdfc11034133275470c4913a126a4a4baac9abe316147035f217bf17fa42a20c56424b7d0390dd6d9a229856b0c97ac6a8471f4203a68d04e9d23352d069206096bf57dd8003ab69a12b42faf3576a8f2375eb047776eadc322623e05ebcdcd0a9be44c291980219ffff03fb8176abd2becea9bcb28eab17417cfc4c99deac63f24ae57cac207aa86c70cc0364e0e060d87f568bdfb415429da1dc82b43bd68778b89deb15adecadb022ac6803159194a90ff0dc18dc6bd8c53511503905e863bd07491d51a3a180bf3944612403e9c8f794859602dde778af147412d4091e4c90dfd4cf54999ff289b8bee90b2f0327ecddade2b4e0bcc4c24a67a28ec976056a8301d64451faee783c3695cd52e10219ffff034337c3fed632b502a75f208b45e6ac98005a76dbebd8dc01c74b7c7d8643729f0390f005928b648a639d675025f8b0ae11080040752bae070b5b0393caf73ce6a603089161f43cef89ae975368e0f71ba6ee8d0300b361b12a3a130333c5f6ff995f03296ff4aba1a952ad27b76e91d3b24885082661f04832fb5e9cd2fb7622610f8d0375e8e26d190e27a2743e00fcd78c124f62816d49584ddc8d5af7706dc6f3f7df03ab4d8c03c97da9e818590e3fb250da60f6bc3a272c0156d8a609ca9344e453dc035b5272387c80abff7cec5e800accd44a00b7e03b83cc7a460d52640c645e616f034550b34a9315a47b62e59fdb276ca4bef1bfee4466372be3ce2e2c72773492c803400d968d2e82ae42860448257e4897b6d33da3fd4ac70e84c430a974836c6cef03710d852d49c0eec9f0f6d35eb28194e6301486df9f43e118f6f216b0067d26c5035db4799761297104ee249548de96d2226188a75a2e17eab40ed8c55130e2125d0219ffff03c1d57a763118c1884e1f2e771ef59cfd81f92a2ac6f5637ee64f532df07632fa03500083e7989ce0f78974e237b4442c132447e9c4c808bfd108f5411cfdfabfd703b0f3b9918a58bb5556716eec5dadeda98dcc645db54374267edc894b5284ea4e0354a8070475423bbd823af904bebfddb239e2da7e67f12b2025faa3e1814663c9036f2d29640160d3f7ddc2e0b0386e564c09cf429812b6738e615ef611107ac5ee035d558287a7a7076afe89cc0c479b5dad8b3e605c7b00b9b9259b9f7b17ce9f1303f97f2cd2a5caa86b9a8ab8cf7cd58579c8c0d631a1b26653e77c710cd8719b01032e613ca858d0d32c466a95f9e784b9095af44c2e2b37cca5067811862ebb4101037d77347b99c23687b9b640583659e6cf0ce3fd4dd574d4e259d771b7b7c0f0e6035675fee7b497d9e83e0bbaf3b6adc691a4588055c99bc0116b61a376a531503f03b95e45947a6bc555eed07fa3c52a4ec0f1478fcd4a955caf7e9df882da1e16d80389562a72a65e0cfc1839753592f0c963d929966deb44df0e98b5ed8c80acbe89034678bcc2b963619061dfc7a5029c4186fbe43653b84969bfc6c486199c69bd9d0340607473aca6fb7648c55c8aa6855ec4828538471e3675b8e098513de80a5e4b0334c4ba48ab68825455e9b3d7abf6898ada1680afd80c1764344c61036c2ed77c03de4b13a71594a49cd97aa8f0834c6d0f21236369fb0bf1e4a0d3d6294737bcdb03b877f5a52c8d06c160763640a4b8b3c1bdcae01e5956e9311ae6dbd26b590a4103b0aafccd5822053ed28cf9b76a68d61fc11c6d881920e6012e021c419a838eec038ea07b6fa26e27d0bdbc17f2f925161642c6f079e1af53c02984645ae49733e403500dbe5277701b4a9c8cfe24ac687c3d174bfcd8f259891357121f69e4d23bdc03cf9dbeab090cb70a72eff217f82cfc74ec71df4d485756ea40c6b56cb28d7c19038a857afbd64ea62119fa2cc01df2475b8176ebb07c14d40b34077d5fc9bda198035c18ebe9ba4ca014d41b9551cf9f6f53b0f66921bff3aa2d3b965d778ca66113033be72da5187a31366f5f7fa0994b0e093acd232e5b91165271eabe482fa447520387388c70d225ee1a6c2380021f6da4b3fa36902880255717445f10854f1415f6037d6c0c9949c9c81089fc6edef79d72568c7dd33a03e0c2d03589c85cbf3d268003852446f0f79b8d73a2a64f347e6e8e675ae505d6b7542c09a4648f7f68a7e2a203df976bcd84f85a61e01f0b105b9f31584db0c4497767b5b82226c1081f4fffaf03dd4dea1c13f72811a8f4a0d065a72f713e327c18afa16f0ebeec9c2737e0db030396fc995b6e11c8842a5570ccae891107dbc09d01a21208942647a9cdf5ef7e8f037552e8edd631761ebaa239aef611ef972af60e7e1e5b9951ff813d6a5fd9fd7003929a215203b66ee4b1e48d28f21923e9135f86b1a73b837e85a26219487447cf032c6637d03e878c7e759f2ea3fa712607100ad098039c1be33a7d7a820c4d16b803b3f5870444aff94be957a1a705d81b74e178cb4bf0065f7d26ed80f7d2c2361605581e03d8f78aba4d30982a8d45eb6310985c224694b3eb8ec7586e841d7ef9200c181a46f165d0eae570045915be6080604052600436106101df576000357c01000000000000000000000000000000000000000000000000000000009004806370a0823111610114578063983b2d56116100b2578063aa271e1a11610081578063aa271e1a1461067c578063dd62ed3e146106af578063e68a7c3b146106ea578063f2fde38b146107b3576101df565b8063983b2d56146105c257806398650275146105f5578063a457c2d71461060a578063a9059cbb14610643576101df565b80638456cb59116100ee5780638456cb59146105525780638da5cb5b146105675780638f32d59b1461059857806395d89b41146105ad576101df565b806370a08231146104d7578063715018a61461050a57806382dc1ec41461051f576101df565b8063395093511161018157806341c0e1b51161015b57806341c0e1b51461046557806346fbf68e1461047a5780635c975abb146104ad5780636ef8d66d146104c2576101df565b806339509351146103dc5780633f4ba83a1461041557806340c10f191461042c576101df565b806318160ddd116101bd57806318160ddd1461034457806323b872dd14610359578063313ce5671461039c578063355274ea146103c7576101df565b806306fdde0314610246578063095ea7b3146102d057806314f326a11461031d575b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e76616c6964206574686572207472616e7366657200000000000000000000604482015290519081900360640190fd5b34801561025257600080fd5b5061025b6107e6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029557818101518382015260200161027d565b50505050905090810190601f1680156102c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102dc57600080fd5b50610309600480360360408110156102f357600080fd5b50600160a060020a03813516906020013561087c565b604080519115158252519081900360200190f35b34801561032957600080fd5b506103326108a2565b60408051918252519081900360200190f35b34801561035057600080fd5b506103326108be565b34801561036557600080fd5b506103096004803603606081101561037c57600080fd5b50600160a060020a038135811691602081013590911690604001356108c4565b3480156103a857600080fd5b506103b16108ec565b6040805160ff9092168252519081900360200190f35b3480156103d357600080fd5b506103326108f5565b3480156103e857600080fd5b50610309600480360360408110156103ff57600080fd5b50600160a060020a0381351690602001356108fb565b34801561042157600080fd5b5061042a610918565b005b34801561043857600080fd5b506103096004803603604081101561044f57600080fd5b50600160a060020a03813516906020013561097c565b34801561047157600080fd5b5061042a6109a5565b34801561048657600080fd5b506103096004803603602081101561049d57600080fd5b5035600160a060020a03166109cb565b3480156104b957600080fd5b506103096109de565b3480156104ce57600080fd5b5061042a6109e7565b3480156104e357600080fd5b50610332600480360360208110156104fa57600080fd5b5035600160a060020a03166109f2565b34801561051657600080fd5b5061042a610a0d565b34801561052b57600080fd5b5061042a6004803603602081101561054257600080fd5b5035600160a060020a0316610a77565b34801561055e57600080fd5b5061042a610a97565b34801561057357600080fd5b5061057c610afd565b60408051600160a060020a039092168252519081900360200190f35b3480156105a457600080fd5b50610309610b0c565b3480156105b957600080fd5b5061025b610b1d565b3480156105ce57600080fd5b5061042a600480360360208110156105e557600080fd5b5035600160a060020a0316610b7e565b34801561060157600080fd5b5061042a610b9b565b34801561061657600080fd5b506103096004803603604081101561062d57600080fd5b50600160a060020a038135169060200135610ba4565b34801561064f57600080fd5b506103096004803603604081101561066657600080fd5b50600160a060020a038135169060200135610bc1565b34801561068857600080fd5b506103096004803603602081101561069f57600080fd5b5035600160a060020a0316610be0565b3480156106bb57600080fd5b50610332600480360360408110156106d257600080fd5b50600160a060020a0381358116916020013516610bf3565b3480156106f657600080fd5b5061071a6004803603604081101561070d57600080fd5b5080359060200135610c1e565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561075e578181015183820152602001610746565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561079d578181015183820152602001610785565b5050505090500194505050505060405180910390f35b3480156107bf57600080fd5b5061042a600480360360208110156107d657600080fd5b5035600160a060020a0316610dd1565b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108725780601f1061084757610100808354040283529160200191610872565b820191906000526020600020905b81548152906001019060200180831161085557829003601f168201915b5050505050905090565b60055460009060ff161561088f57600080fd5b6108998383610ded565b90505b92915050565b60006108ac610b0c565b15156108b757600080fd5b50600c5490565b60035490565b6000806108d2858585610e6b565b905080156108e4576108e48585610e89565b949350505050565b60085460ff1690565b600a5490565b60055460009060ff161561090e57600080fd5b6108998383610e9f565b610921336109cb565b151561092c57600080fd5b60055460ff16151561093d57600080fd5b6005805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061098733610be0565b151561099257600080fd5b61099c8383610f4f565b50600192915050565b6109ad610b0c565b15156109b857600080fd5b6109c0610afd565b600160a060020a0316ff5b600061089c60048363ffffffff610f7316565b60055460ff1690565b6109f033610faa565b565b600160a060020a031660009081526001602052604090205490565b610a15610b0c565b1515610a2057600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b610a80336109cb565b1515610a8b57600080fd5b610a9481610ff2565b50565b610aa0336109cb565b1515610aab57600080fd5b60055460ff1615610abb57600080fd5b6005805460ff191660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b600054600160a060020a031690565b600054600160a060020a0316331490565b60078054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108725780601f1061084757610100808354040283529160200191610872565b610b8733610be0565b1515610b9257600080fd5b610a948161103a565b6109f033611082565b60055460009060ff1615610bb757600080fd5b61089983836110ca565b600080610bce8484611115565b90508015610899576108993385610e89565b600061089c60098363ffffffff610f7316565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b606080610c29610b0c565b1515610c3457600080fd5b828411158015610c455750600c5483105b1515610cb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f417272617920696e646578206f7574206f6620626f756e647300000000000000604482015290519081900360640190fd5b6000610cd56001610cc9868863ffffffff61113216565b9063ffffffff61114716565b9050606081604051908082528060200260200182016040528015610d03578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610d32578160200160208202803883390190505b509050865b868111610dc4576000600c82815481101515610d4f57fe5b6000918252602082200154600160a060020a03169150610d6e826109f2565b90506000811115610dba57808484815181101515610d8857fe5b6020908102909101015284518290869085908110610da257fe5b600160a060020a039092166020928302909101909101525b5050600101610d37565b5090969095509350505050565b610dd9610b0c565b1515610de457600080fd5b610a9481611159565b6000600160a060020a0383161515610e0457600080fd5b336000818152600260209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60055460009060ff1615610e7e57600080fd5b6108e48484846111d6565b610e928261129f565b610e9b8161129f565b5050565b6000600160a060020a0383161515610eb657600080fd5b336000908152600260209081526040808320600160a060020a0387168452909152902054610eea908363ffffffff61114716565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600a54610f5e82610cc96108be565b1115610f6957600080fd5b610e9b8282611349565b6000600160a060020a0382161515610f8a57600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b610fbb60048263ffffffff6113f516565b604051600160a060020a038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b61100360048263ffffffff61144116565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b61104b60098263ffffffff61144116565b604051600160a060020a038216907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a250565b61109360098263ffffffff6113f516565b604051600160a060020a038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b6000600160a060020a03831615156110e157600080fd5b336000908152600260209081526040808320600160a060020a0387168452909152902054610eea908363ffffffff61113216565b60055460009060ff161561112857600080fd5b610899838361148f565b60008282111561114157600080fd5b50900390565b60008282018381101561089957600080fd5b600160a060020a038116151561116e57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a038316600090815260026020908152604080832033845290915281205461120a908363ffffffff61113216565b600160a060020a0385166000908152600260209081526040808320338452909152902055611239848484611498565b600160a060020a0384166000818152600260209081526040808320338085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a0381166000908152600d602052604090205460ff161580156112d0575060006112ce826109f2565b115b15610a9457600c805460018181019092557fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7018054600160a060020a03841673ffffffffffffffffffffffffffffffffffffffff1990911681179091556000908152600d60205260409020805460ff1916909117905550565b600160a060020a038216151561135e57600080fd5b600354611371908263ffffffff61114716565b600355600160a060020a03821660009081526001602052604090205461139d908263ffffffff61114716565b600160a060020a03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a038116151561140a57600080fd5b6114148282610f73565b151561141f57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19169055565b600160a060020a038116151561145657600080fd5b6114608282610f73565b1561146a57600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b600061099c3384845b600160a060020a03821615156114ad57600080fd5b600160a060020a0383166000908152600160205260409020546114d6908263ffffffff61113216565b600160a060020a03808516600090815260016020526040808220939093559084168152205461150b908263ffffffff61114716565b600160a060020a0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008215156115785750600061089c565b82820282848281151561158757fe5b041461089957600080fdfea165627a7a72305820e31d200acbc4097e1d02778edfdc482f24782164ebb3e4f51f637b937ccee67c0029038be439377bb3e59d69ee51b140165f634fd39f6cf6598ac2c884449462083af703c763238ca08ed4d365cdfbd23a3a22122fafd982928ca8ddedce001495c53a5e03e69aed9fb0c97eabd646d8d77db40948f276ea0a3eabceb24f1ed09f00ab24bf036188ad101796e160d359990fe203ef6f0233bdaaecfc181d51cce709a944ae7103d1b2579e7b55bab95f26d577fc13eb2aeeec363dfbb1b02fa945ffe6317092e4030ef1c86a0c4160561909b36fe4aca83583e2f0a09d48e32384adc506707957dd03c5f3cb1683197e7d4425f559ff83514155b165f40a1197e12ce1a27fd8d4329a0331909042dc1846066e62336dec219ca44b5d08af69f0feeed8ea669ff43b8b0a0331f76a4b35563cc62c3eee523f565bd4b8f1c1f8b61475533c50e23eca8f0ebb03cb1411067a2f31fee91043e8db93195c138ced5f26023fec100155802a6c9ab103d34254c30439795df91e9b32d931dbc1c8b51305d63b65e260fb44f26a2f4d66037da0913f973a0d63712b0389fc22e00806652191155f68b71ede49caacd83ee30345a590afdf9e062f212c1f5d240707af784e3e90e6fc87226fcd1470a8a34bf403053654600678c1202a98b20ebecb6923b0555933a460f6143d40efc2ee5bb74803467686b00eb1f74c29804c347b9cecf5ce93e2e8e63570ea3c4fa599a652d7e803c88ce31987a1f413ff6c3981466f2991580a7544ef7f85e1e727f0c66cdbced3035425b2a95a9c9355915711525676d4ac0e3f33def8901666a72fdf623c4609ff031e0288f1ec299483922a6b3b8927353376048e7dc0159ac4a966f42f6605d7ba0340c0550109498b036160fb7e6879b6d871718aa757b3f7a01c3d626db5e2ef3703d1f20154cfccaf2f49dd107feda55adf90194630b178228db5d790f07795bb6700581f03efde3270fc1ce2734c0f2e9e49837c9bf092965c36dfa8854a5d7dcc0ed05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f035f7e3795f153d7d3f00b100a2dd9ea05cb946e5bf8a197d51be3ba8c1c1054018c7077ce6ae87dba3cbe2fff8ee37c956b9cba00581f03d9d02303cfcd89adee57118ae7e19baaf9b5ea7e5d073582c7f421ac466054aebde433eb2b44b86bb7e1f4390496fd72532f4600581f035d21909f0145b78881b4063d82b1da141dde030616bf1ee72d93cc696f9054640170120f2a61b0a3374d01980d570d73dcc71e00581f03640640de63429071da100d796e518433d27fd01392f10f217c1b77650a8054a680ad871961e58eaac986ac3e2d40502064a06e00581f030ea3de5aaf80e78c1b285b624d9d70f2e1955009cbd1f4de9a21f30fadf04a016f7f305aaed218000000581f038c6c30f6beeab9e2cae45c146e28953ed1e06f4e3fa949423b9f32f6b390410100581f03fdbca9a8eb32844d52dd94593f296d3613f4e002feb07159ee82edd5609041010219076b038ae8721b00037c8873552af64115db5aa15de884f9de83ab0dcd1b7a1e339e7d03be75683dd6fa313dad2b808f1c115b4cd0294b59afe35df41ef131aa8120d3200356d4e1ba7f5597af138475668ed06990f77aa6214aa7ae968d3443b8cb54b4160399a846fb72920aaf32f7bd6ae717fabb225991c0804173ad169e61d433c894490219ffff0349298a0756bc28f6ca8dd381953ced86d9e31e8424b18e0798160de41e2372fc038c7255f16d99fd5f044b1673d71c2c3963a0cf3dd83d1ec06ea28584aae7f7c4036edefb43478db3587948bbf3fe8b786f27739729cddd8ebe411ec5a251b43d6103e83b9f76bd1c07f72c0b3c433675f3530400c95f269dc6179c351a6cbd64d82e0390595bbf30c7f54598da3dfa364a75f67f36edad95f0776f2d81865fdbca9a5203cd9a8464e2167743cbcd075c39c1b5e532cac4c940f5c33e3c230f1c40d50dfd0390d11728b91d4fbe0490914d5aefe618e279b46b97456ad07fc0f458cfa0375303727975e18663d2a8ecb186dd95ff31382bb2d1057c57c6eb06e96fb05b0829740384492e25e754e8ffeca0dec39fbb063418ed43a3e6f272e38d9add65531fbec50219ffff03893ed65f2874cade239971047521e6dc6f681249c9bac8bc8af76e168b910cb1032c8fd25938024ff7822b9a634d62e6a288d6447302ffdd628a7ba86af9fde4a1030ad0505bf60e358d997b1e94fe6c4123a021c4c71ccdba130c2889300a6dfa390366f9fa68534cce35c42cd53c78e6211a5b27fa58e6b5ac8563f23ba721f8b41f0362acbfc1a485d5c4fd5834116086c665a01212b806c5b07fd9bc1337660d061a037e0f6e76744b32b1f989fc34defa01a8f60989c93f11e4272928b78d11c4afb803b0d2043e6e4d6d0220da463a19e35e1681d74951191cbdb14d2afe9228c617890365118c282063180848dbae4af7ff322a899d7f8b45f9a614ec9ea717cc56a5a70334ca33d93670dac2151ddadfacd75e5c3cc8c77df3d58c21f57560bde88a29bc03f71d9f96e2d2a961d64b6b7d473f323571e643f65d15ec3cba020dcc90dcd143037c82acefc6c529a29de76395a3b66f7f4ec8481f964203de127bcd6fc731df7a037390b60095d0da8e25d9ae5ec5569cae3be23eddb6609950344f3dced4ffa3660219ffff031eb862eca879370efabb22bdd5386c08307f67ede6f7b87ba54e10628a6f96c5032a57a2f1f4e8c8e47db87a7fb9f73e2da99c20e2f5cd744c2b0865d8e43c64cb03ef2c10d56f7ba0016700238e9a7f0c485e9977c6ae93a917d9a22b95c354c4dc0306b99f3f4bf4662a9e9d0a044d6e8377a2f3aa46ee57d3c87cd11b5bca0576560390efcb9f0dae6a777553e8490d9348f5bd2507f1c00f353e515f7ff864ea5bc503e05addcbafc9c616ceb773b2f099e44bcee57a7de48b2f7b554b7fb0ad223c4a03a97433816e936e729754bc29ab36ea6b2959b27911077203899e8a399606c7a80335909389c7f8bf3c53cf1f43a227b83b9786954b01745fe64fea813559185204030d8c2f8516b6391f02465e801db0720bc144fd8006500f44a8e7b013ee1b01e703b1d5e6bcb05eafb29c393a99ed59ee9e2edda26bd328609eab9060c3077eeb8503cdde3950e95db7ba70729b9aaf6ba01942230802b0f3401f2059c8043e6a750103ec206e5fed9baca42e92aa69c0c8679114c3f146bebe7ca5062fb9d78cbe1bdc00581f03a7c04d0f16e965f7837b4a3597d45ae94b3335e27a470f89feca9f8671f0410100581f034f161b512831a398784bb4ee189cc1519d5b3cdd6648e1c1213f3e1d6ae05820ffffffffffffffffffffffffffffffffffffffffffffffdd69f8ac44d4c7ffff00581f039f1b527aab37e5e893681dffbe735a3251cf050af4a9a5eefd3e7a7e8a30410100581f033db1223c6b13526e96a3a5a070cd58c8cd83726f3cc13816cfbd242719f04cfffffffffff096fb4da2000000581f0396b60f4af16b00ada7882ce49f3363c0c492b04ceca3174f238b901a72b0540ddf2b18c64937103229c456deaa9e8d577457bf00581f037e607fab5377d07d5e402babc8dd01f9c32c74ac3084a7552c2197610ce054ab09f7276abd1296302a3131d0538c2d861e6f780398a99c445b8ef40d7cf50c3a1611572ea76f2d7692449e8f54e2f040d0b609380219ca1503bf865b97e27921b2809d666c14bd3be912faacfcdf259b47a475121850f2862f031299fa319a317a5935aeed4da2cfbb5280de7313ab757836f2c926802422756d0392ddee795b6f2af9e3d55e1ad505bf5b54c94b34b48fa219298cbc5a1e17221d03b1a1b6fbcd292b49fd7c74ecb756b6a455473ff581c574edefb3e16ee6786b13030a4889baf5a25c35c0ed28939537d5dbd2dde9f042e18442f46bac597a5aa416039e87db5ec14bba7a79fb1f6779c342f7b1939f3f3c48f49f5b1d01d5cc9b7eab03937217d7017c902ac6095b06809e5e5b2a816734ddef129de83b8b3acc2f1cca03e0abb81c896ac0979e6ddcb55a05b7d19717ca90c9edede0508d72ef2e7189ac03e718503bd331673452fb4027f886d4f67e7e9fd7c1d512a5419f1615114fbfaa03d1b819e5d9aaa18b87356dd62d83190e028f7f396caba52dd9e52d1e549d6e1c03481ffc43e46643cca10365dcc8038d6670a7aecc699743e9aaa7973c4167fb4d03336f7f42b5b230daeac95cdd2ca7880c4e729bf7dc479fb01c049063e73629e603588d606f83a6092be776c7696d608fa2c70b62d2f328546139bedb93930a1bba0385a578f83c372ea892b46cc5f60c8d7241f8c9b36d643a24e781fee56e78c9280322a56802a4aed026657b0362e5f6848e274f40bde70a8db87b499302b3ad6e550219ffff03de496f0ba91e476af959113c455bd8438328d6829ca4c4101a97a3211789853f0352218e09c3f7b034222eeedfff3abcb090720b65e93ef91ae993b9515233d80e03cbf8a67af2426abf69efea23f1ff7b42e8bb71935b36fa35cd35f469cc29d02803fbe6c3acf7128a1fd5c4003a7d98d212b1ff6936885b2f62077bac8ccb3772070330c88de1dc2d098e051e199f6efa2e187af3c7480930442b9b03a6e9f9dd995903203ac27fb81ff7bc1c66599ed8f02f5d393f965116f95f6002ac368541b9078203fb53b5de1a24929824c5ab974eaa2f36565a53fc9281feb180a286bbacca6d4003df474bfcc01eabb2ce1195fccb316d52367f29de9daea0f8f5d35bbffe78e2890329f88f3b4e880ab0119b3e7b82e5b65ef1420463007c6dc35f4ab28795bb39390300e86c3c206ea3996735052639e3986d77a31073acb1ca12527692d1add3a0e803ad70db6f8c1c35e59c8fa3f85ca47f3fdd5c9ec650657a5f102241be5283e5b003b0c1071b4622c8d59c2d716f9cdd90df0aecb9fec5ec2295b3e6df43c8c55ce803cc161a3c147925f5c948fc0b873aee8d3018c4d1ac7e3fc9418c2c2d05290df203189d825f89d751d28ada6cfabdca591a3826af0c865bf504d7d7155dabe0b45c03bafa978bda85fe6d0ddf12773ccecd51c7608b8622fc79033b494aebfb9667510219ffff03a787ee41d354b63d171fa770dd6b3376d8430aaf2ed1d44352d93f3723adf2e003cc259042e78122eec5fb25d6132e0196886a630b5ff9fbfc9313ccab0325a45603e1115c144dae93c7b5702c5e1b84b4ed7d9881e9fe99a22f34b11db746f90cba03ebed8f72e1d6e3f6ddba5bda676ec06427b93b199a20cb26a5cc94d04bff0ed90364dd16a23d3064a74dcc55f3baf330ece42a13e528abbc404bdde9826150537903323a90477e3f068724c628d51699c1d14d0fc86edca41357ece020e825afc1e4039202ae869390441f094c319d27b48bd513caf4c187ec54c26d497b18e325883103f29b9491e3acfeb38268ffb9b13acdfb66b9de2f9554c8f01c0f84557f58010203eff06fa28c4bf63f0747dcefe16b5e33ac886fabd09a341c669fbe5383fe2d37031f838eb685bcb0fc24507e7e5da87788b32e8825d0cae027b4041f596c1dff88036e6c521e0b812adb8c2fb4d74326400c3c1d3ea7ba28e091abb60e337af14d8c0219ffff03a861276b96cbb5444a2f85a9586edd3eaa40686c07db2f53baaf4fa5acd42838037c584e2daf84d83dae07b62d116a6fe8fcbcc1a6585c64934f7630fe07f929ed03d61e02e3fbdd77ba5256b81bb7c9c4e4a538184886a694671fce4cb7f2285aa4031d358fe18271af83349d95ad421adbb66beddcb285ce7c990a258f8daad3422f0307df2f18f4ebc9d13010ec5b40b9b472d0f1d3b85f6ab1432a2d044ad1c0e8ef0360a511ea8eda96b14bf686313e8a34a1b6e31ea3c0713f13d1923c0961bc1f550219ffff05581e03147784f0899505b8168ec38c9f91cb7a5a05a9a94ca6d11ab4c32946a007011915be032ce134ba15f75626e56bdb24338e37bdfb6699d873abf1ce23d52cb1ddd8af4805581e03e27e23265a1a2d15ea9bbe969cdfe48cca922fbbc5337f6d8c561d3920040105581e0320c56b5ee2296ba43f7b290093f2936edb5f278be4a21da48e3f9fa5200c01461b2af64465380332f1fd1daad484b4e30722b80858dabca9f8ec0bf9cb463bfe69c416d60f834e036af12b93433b947af1a64c311b6f5f3bc7a9c765b981300b05482946adfdba5d03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e036acb700a4bfeb2df46775f8aa77d63c4ed00d534259d57f87a0d3af96007011bffffffffffffffff05581e03211a66c6f08e5d8da117f11984a250a744c8322eb1cec5fb5a79f9553008471fff2ea03d98000219fd5c034dbad7846da96bb73198d518c6ff2e0d6c2b47cd3eb6ec7188335a45da96a63103d079d69c987883579853c3edf3c101e1103f62e1c9193f69d50de12053849bc90398400e2fbb0d91e33698616fb0c81876a791124e73fb3e5f15854a829ced7a0c03c310cb8c5f354f17d412d900d45b90119bff794fac724e10b4de8fa3b5acbe49034a166b4ea501b8132a3b5e170491beb79490abfdc68675fccc77818c857abbb90219ffff0398bbeb6ed1841d7237a12d6582cb3abfdf329d9aec921d705e1bfc418da70aa203c7ea9b69cb11a4ed7e6e17c08128b803b8a4fdf6d1d306479665a0faab5443e7031ba8c05d67b003a8d349fa9621e2b828ba9894ab3fbde72b80ae80d5c959553f035311e890c79e0991196aea05a96c9ee3ee6b42d6a6d3b05c4b7df439d84b77560219ffff03670d5ca73af5d565ef29aacc802617d5de5c5febc04b4e690843d9942d39b40a037cfda09bf8e1a23a731833a7de8c6275975db672ec62330ae9a9bc357e1f982803223cfaa4e9e973023ddf64bac84a36b66c444043473113f19939e7b9d6a2874f03b631bd94c90216782b948263c2318e104545b36ebbac06e0ed5908e112e479dc03d5878157ec0d69b59f87114957bd913f7071d29f2ca93921d0531d2f8b5b2803038e3f3e06a78a5b1fde282f78a28a666d61ea24cb02560711269677340489566c0219ffff031fee094c38ffbd8d40ebdd5978d6b611f0e88b86e0a36dce4f5fd02c620d35d803fdfe5e37f668d0d1e94f748ef67c99e4be930d8e4a8a44fd9553d517d7a28cfd0389c9323bac2332790178c617df648d15cc1c1f55427c03226f1df7874b35135903342b08029d588bd249b8c275a7e9d329444c7e3d149f41ee6a671408c6144edc031ccd96193f641600249e9116feb583c8bb2b9221fc6a37f58e771a7574951f6a039162248a7ce2ed254949decde1ffae023b640a8a8c52d7313d7b7ef00ceaba66035722553a924107bc89a1a315cef66b812229a1279ecac37aa7b0236ae1cbf45203ad2eb3307d830a6c411df7b7e8f0c49465c8ad0fba2758ec8da67605293d7619039fbfa4c551bc988b6cd3ccec9afe0b41f01583d4724654c4444d99d4494c8aa805581e0301df37f95d91f2649bc21f313aca4d0c81e96f22049bcaa86b62831bc00c01461cd2ca3ddb080352ec0f75eb7a5b1330aa1354508d10c37fa2971c3655f2b624c226f5d8ce04910351b4e04743ae6211481a7d1b5aa7ca92ca27a85b79bdd7231b28d9e0a402414b0353fbe346aeded04a76a29faab2e32a0576683d885eee26cbd7f9d10025580df905581e03a8590917ae72a7fe3e3665b02177919dc6d3621dc310ae9a74ca747a400c02470f0fc775cdf400030af632a5cc25d8bbb628b15fcfd7d14295d4573be697b8b18ee15e623b62fb4f01410e05581e038edbbb0ddcc4afb86f69d74e5c91722a50dad1bad9af8888b179204f700c0145b21d8da20003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03fd22f0e7aa00872aab58fe5084797e507648229d37e49557975492d2e007011bffffffffffffffff05581e03246970b321c8dbb021ba961992ef915d19fd7aa2309dcfd3208d5476500403021989dd03dfa06ef2fd2d3e8dc1673bd92ea13f37bea56fa19143216392c59bf348ca1dae03de773e1fa095304ba010c75f8acfd1928322b0aa32a3994167a6780035d3ced60334989a0bebd94bfac21b5bdcb2b716466b2ebdb998107f340af7106f19a8b0630397c49e3576b770a3fd0c69e6729705679f37fde1e7953f24acc87a577cc8f62b03f261cd3255a7556436dded44d9fc83e21c45df9f7be5df8b76a54bbaa36cdf0203247a451ee3f8080358222d7d34d491490509daef052450fcbe1b4eba9aab717c0219ffff038d76798f74c09e829a8be3c7a770778d39d1a4328c349600dbff8df94d62d71103af3c81ef02fd37633e04da05bb9047d8e5f6b2ef6503138b3155b2ef6310ea1b03c7481484ee264b0ce7e7748998692d641afed4a97a2e841a74fea81968122cba0398d99439dd73faf49e8c39ad7cdacc4e95ed22113927ffe5ba988e1f3597e4d403d1a8e790b45023348bca16f1a8698ab762cac2cabfd47b2959c93dd145de43be03560583e942b91e4d7169e1cb159c92367b7e0c4bf063cfcdfe9829c4b85ed44c03a10efacf5b4f611a6c2829ae5b06dd81b71b35f56e56718db838854ef6afcb5903b6f2be23b82a67c427db1eabbf6a50a72e76766dcf1f8028a1ee9b674b34b2dc0369e5bb9edd9c343ce3b25550325f404ce3cfd7ffdec1250df4b15a4b27750acf0371793742db63a0dd6f9923154253340c85054d91404e2b298f2f519029b55b2603f5389aff0eef010f9fe4999490ae211c2ca59dc214a2598e9ad0526b30985e9303bace491295048f65b0a151b054f2c2451af06695d4b83b262c8d35ec4e9e8829035c9fbe967112c3880d0c32ba9c1120bce5af1763a566c3a460b1205003a7943903b7a96a821382612f99d1ac2737c5f7007b88b4b7447c266eb103cca3fd92ca9703832f0441fc0020ed64e8407a104fba08bdaab4a30257afc498af14d58bf644210219ffff0373a2e482777d60d8069167ccd72be9fe9880d6756a33cb8046994cb22eb2295603e0c092076647092f122e3ab5ddae9362ce8fe50a85816e3684c0be8b948bd843034a75d15dc702dbac28fa54021b8487b45e84f749c10c4aafba953e898fb1c30403d8f3719262e8aa9dcd9d706aed9851d40b0dbd57c2d04017507893d2842e187803592ab184664ab25ea52347ee5520f4135cf0c5252c87025b48980be9dd73888e033dea07dbd2a072d66d6ee538770e215576dc2abcfc38639ef2c59a486f9027640332a314bb3a519b2c259483c0d1cbceb2a3a8e0e941dec5417c50254c52a58cff03318de08f52710d8aaf5a32b45b380354dcc8c47ae019eb13e94e6305280e8a690325b8eac655fc1fab3d4b2882a65d61e265a578d0f59eca9234095d82ed7b2873039469d810a751d1a13df2ef940a60646ae08d1425398bc5bb0ea992e9a1c180e803c95e8499668d1e190db0a025e7aed1ef9c8f5799b3e8a06dcf6b7c051135ae310301e54f697c4a50d53a4c74da68cf008a1659e68a544dfcd39d676288eeb3e8ae03b9d090dc586e71655f06cbc3430cce1644326aabade6da7f6a8edcb20a805c1303ebaf43eff5b9ad94ee044daa2559ea7f1841fc758521988a244b46f4fdb6a9ec03e494ec4e8564dd25e08a1e56a600ebded34687fb8c951665e00bd679d0c748f70219ffff03e52a71615f7380d85b079eb782c81ee2ef5fddcb7d8cde2adfa58caa82e4bb9d03942408ad7648f1820b7fbe1981594d4218fc0578a5b00c589119d550fd75c670031270a2b8ceb137828b61b1c67fa382415789f536838e325831380ed9da46d676039962eb047809af4fd490c010ae263067f6a939a1473657eeae5dbc1c1c6797ac0383b74b29778e668593079d1e000d9f48dd7e32145dbc98c93f490b23540025530219ffff0379b161112ab5d3fa94615f97568411c7c8e76d9ce22870375882cc007a231c39032c5ed67c0cb4fc46db16a422d0673c00f677f322663eb746ae45a59c658544f10316b92f3da6af6f7c3345d5e3d06716dc2e01b16420bb9935d482f0cda95b6e4303059421ace05c0e7a82290a110bddd13cdf21ebc75a4f45d08066e0d71d1ee0ab035e5477e83506baf02f7922bcd7c6fea06c16976b8f56eeda334a8237d76e8932036e1e3982eeb48f292caae28a3403b5c0590e2376c7b8cb815f3e51d872519ee303eb0d89d84e3f8520a44cebcf4360368b4111ff98b8dc27c9bd26791b012f5bf003121ef2b493dea337efeb5a8af51d3d05361bababcb962b187a4dc6543f6156da035ece8619293bce32433424c9ae532658423c39892231b0ec4d4d146c609f3a3903e46748dc94036237318edd9a23b515a0a3a0d4ea8b35221f586b808d5d7859e503683f1749fd1e64495a60b82b15699e42aaecbb03dadd3c41449bfd7ffb5944ee030988d20a595efad7eecfbdd266202e208bbbea94a47cfc0553c993ee31b1fedc03c227653457e87ed1689d2a3db0d6feece3db91e43cfedc33ad93dc44e54e3ec003c9d5a8e2c1ed74cf1ee9491eccaca3854ee4956ef08cbbab738f6d4cc79031eb03c63e3be6dd14b0cd60a9ed25b979c6c7420923d45033889cbfd8f9c551eb96f9034fa40f8c476eb85a00cbb151cef9c32bbbe78a19bcbc07acaef8c15a56e8ffa6031c391373da15c368ab3d8011816ad003c7d078931a1ed2430cf9194a0cb7bbe303bc3fa8671224230eb898a5bd60e57acd43a3a8a386d2b84691ee6310f05bc8ad0359273acc162bbcd6c83d27c7f30412916a46e9d90c55947bac4406963f96e70703371a084f96c59766baa886ac0d8a0fa5c40b0b719b44e4b0bf8dba1ecb43bf6805581e0303c4ad2834cf5c31af05904977b4fe0d12542a6758f6809d66cfbffe900c024711799df72d23e503ad9d707c2b37184059599cba8ac1467582fc86e04ff9952493cb202d437ef1dd031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03f3e22f718b2a691a6ac26f61d9111289f76d71b6143befa0dd31b9196007011bffffffffffffffff05581e03cc56741ce8ec54aff581f17c7c3297eff77336f8f6a1e6e7d7ba965bb00c02470ad53a876a2bb603f7da649977050bb79e1d4d8f443b1a2f8e8cf0ff2295cfc344df0dcc2681d60a0322acd24f119aa57068d390d2e05105dd65802b0038257c1805903715bd0753f605581e03fd2ff122352315a52ab7afccec81e55af7948f1688dd1c63bb619d8430040303647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03380b6e3498d453dbd3227038417cb6ab3bdb30021737700135d4e9995007011bffffffffffffffff0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080388311f20c6fec63d79f84c86e7f74a2fe2896d19d454534abc9b3c47afa3f00405581e0333ec13fcf8dc4fa3dfc701fde3f2d3a782a3204558ee18536303142de007011bffffffffffffffff02194b1f03cd501cf78e8ef76e42cd657b595308087afae71831d602198d2427dd3d9cb0e003f78c73dc3151e7bcbf4cb95c336d379d7654c1c4e3a4b80db29602bc15faf86203f85f553a9f540e280c14f55acd5a62b38d4b4827edf067b452ddf17c8c88a52303fbe3be9bc6cc5a6e1ac8fd0325223b84aa09ac0a14c91d4a44739d939855182a031cc9fe04299c64c5d88cacdaf1faefd89c3bb066d50fb1a0a4e5da354ec5e7bd0358effab4ffd785093730d70457a3926665a7d643b2d58ce9bb1a163d9d07891b0376ec71ce36f3ca704b07d3ec0bda903f4a5080d4f2ede0c72ec11c3602cf968403b9b29812be09a00fd1427784db498c3bd5c87ef92ecce5c063e701550d1bcd5e03b12663bc9e8f8aac14d032c22aafaaeda720ed5618803399164f2b2502bf74f10219ffff030a416672acbe8f0c94684f76f35b9e916befd8e327c92122139b421bc67d4ae203a9121ef2c2f527b5f494d3ea5a1f37a45a63463fa24cbf8b552054218c97b4110332a7c9d0b38a5e7c517c11b5808f2340dd196b25d9a98dd6ef83e82e59139cad03617c406630065d722df376ced8869d5b6289a542084f5019530a28c563427d83038d0ca56e487d8bfcb60820ee71aa7f09b6eb8af013b261b711ac6a807b4de0df032ff1d18d11b143d6d6780fb4e5ecaa29b3599feabe7d8dae6f0e95245b06b9d90311ba519f28f922a81a5294faea797d99996c3f3b8d9d7cbc30df82c5bf3504da03b6320dcdd2a9c0d41ee9c60a52b3df245c772cd56cf1a323be198c94e837dee603c3cd80d0795acd97b0056bc5e01b8de19d02ab4260b4c5d61e29474e88ca5c410219ffff0360722c5f4bdfbe5e9fcfe3bdf57d1561e78e2421fbad5f9de2188de1a6189aa30327eeb6ac2177714f9055f48c1e54c807c10d5bd42a022cc1115432323a9dd3f6032637b5b0090f67b6bdcd2dcf917c877bae3b2b741da1988c3c2d8e23d6bf99c303bf249b7bed0f22e30f08c9d53aff72b9d33a2786cf5fc200807a9d6099d99416039c9eafe13e575b7f987cac04dfe5fa637c014be3a2e836f6d925c78d5b57a05f03876a7bb9cbeeb86b71ce16e15427bcaf644d8fc1b50a592193fbbe75744985c503809f20fc08a287de95179484b09cdd8e5a69952fc173d2b9d8d646381c4e84b803beaba4d88c23aefc93a7a3a8b2c5579a6efc7aeca1aab71ff5eccd696746823b03247f4f41a34e6762926beae5fe597816aa66a5780eccd37357bd4dd1dd7495ff03a95b93493a531672bda0ff9ae9f291a1ef7e4cd9a74c1dedb67f55f2939858270351d709d8b02e12c466c6e379e73b4f357311bb291dbc43a0a866f35b0a13635e038eb6599f70f4f8cd03a0272f8f9497722381b07a200ecba3a44814e500ae5c770219ffff030bcf647c7a7b1bf2821ee02ed111460d5ff47b86f6393b40facd4b86d8cfd40703c46e01948acddfa2549cfa1bab7e8e2e370d855f45a14d7517810e26b35f925503f3a53cf96a0bc0093a7559f396465c25fa02ce462e8a0c601ee0737b97ad96da030bafb70af6560bfb29836839e5f3153b6cc1e7232d72275a8dbb2b1ccc15aa1d0303ac6525fbc6700b477cc4c46022564a8f518b67392abca96e74e8f66e4acaa703b63414249ec2e7932fa01fdce1a43ba8676990fbf8d4c025cb082d3c5ab30b7c033c936dcdc4de2e696e939a88023e4828759a572b07602ac78178f05e15fdfcbb03419aa2fc13379cd2bab565a6f45ad62be6ddb89672189c3c671318b5a464ae520388608ca48e4b9bea7eb03639aac4bbb4029efc58aa71c62692f70b9f83c4628703ec5522b0a564a402108d977de2acdf2b38cbd37c09ac381fd3197d9727b179670219ffff0356e81e02863e709916454a9dd9fd432965f101bb2670b10bfe4927590464f03803461ce6157772e28ec7a4e5a4d9de18f29e7a4876466da70f911a898fe65def56030eb1f54326075ee83c960f349f802e2a944689455c38365baa7074c5c71015b6032a2fd59fd6f987ef1e8048f11ef1bf227f59d3b92a43ccfc914f18529cc28a9903c75c9ae6cad6ecc82e46a9746a5b4b7eb34e43de8d8e70b3eb7e3bbfe026e7c90349638abb493d35aaa0ff098d4c9172207db817fbdb992a84b2197354f25a25e20322ad4baf4f49ea1ecaba041afda4606afd7aa41ef5ef9184339a31913c7362f8039bcb6639f807a37a8f82fc3b1f1b9d85ab437874c05cda5647065a21df20393703cc4d4f8f5d9b9fe21cefee5d905fedcefe677b2b8cb779f7aed4a9db5110595e033915cb87e903764cfba4fec3174d10210fe2e452911a8e92d40c970145b0be9803e72959090d5c13b6e3cd13746a8d43a97ab8d674f3c3f4a912f5faace329d9ae03d00c2408bfa9dfc475dc16196b1bf5eef4bcf40c70f7ec9f1ecd369320085f4b03a71c0e47058e73e86d5c004a511d8320fa407135db442a6ee8687453ca5eb9c903c92e3e2cc94451c33b47076557d5b33ee9e43a04ac7d3caf54ad082b0cc637d60314be29bf621d2faaeac2a40ca7c2bdc5f645a0c6951b9b86cf224a34646d7fba03ce80c1b7cb70289bbdb3475c305e9ee0162a6fa4be4c6792d3b5903d9846cdff0316978e9bb6204b1059e962549a5c4ebccf288afebe5af5fab79f3055e88166f1030fd5f89d98fb6d058bc2353af4c9c049576dc301d39a212f08626f6f83668b62039b5958f19b38dac8cdf013184aed9b5b18c3083cfaed7e31440cb7d69a434d5503653e39f0dc3852fd8d0856dcc48f804ed5e800af5362c4fa5e8f305e5dbd373a036bb4a2d2b97ec766363c4cb852ef44b34839cc67f454f21601d959a687dc4b7803e3ee130bffafd85ce50a868dfb2337e7c62ea26595e61ca411a3a46fd835689f0376498d4dee715980de16e75dbc2c3a8237cda409e573f8c720761d81b4e378d303a44babe5482b43adf938659d5c152d38e506a2464569a2e8c8e4afc12119f16a0376ae15d77814c4ca03bb8bffb1b278fe3f33cfffc387c0be1bfbffb362f61d15039f914998cc98b7a8e690d32f8ff7ac683641ccac40b36f931e68800f9fc04dd603a4568b2250886f84cef22e26ebd6a95885e455eaeb253952dcf6a8e7de83dbf503728aef756a73666b3b24163bf4023b75ec868a8f5bb55f08fdb1048724455516035623c66595d2c55cb254d24e89e3ab2e5941e95cbf15394f06da0912c446f21803e5314bca4ea077809e8542a370f980459f673793f956f5273cd525f1288e4918035df371d9fa98784741ce87b2ad3ad4b506e2b8fb9e69c88f069d1849c39c2d9a03bce6a462902d0fd19c9814f7c8890022570fd8a4804fa424fd59b9a3d0d43779038668c7f38560f2e9e87be02fbc34a4b6e5d3f7c1b09758e37bb28b4c1acca26d03657c9667cd4c4dc4c68aff1a515e6a0a35b4543bbe5aba1ad97fb53349662d950378047952d2008842519a15e756bba5f128b43977f9b70d273a12b0b33f3475c005581e0361ca3ab37370e999383754a427e9cbb499ef62199ddd8159a120c220c0040205581e03f36e6e211b104002f8aaf2d72fdc720433e5cf906298ad5c4dc9f53d900c014708d952ecf96c0005581d02904891f85119e942ba587da80b9e5cd27a7341d2c8444cf2c483786e0c1a0001fae848c0df0b3d31444b4e05581d021e01aaaf06ed39b3d5769854985240f2d0fe845d3d76d4ee9fa262740415021902040365a171a68484e34a202e133a8f36edccd88f7b61c02e657522d8a6c536f820e605581e03aa683e486278b5435a79fd0ef67705225d3cf1162001ffdb849c2c7ae00c04464ff19e3f3c6805581e0303c72f31ec7e299c3fbf0ddd06855872931e9e9fba1c86041ab469ada0040105581e03cc1820b98285efea6cfe007ce81b4da4bd9e8625ff924b9c354c216f900401036f8e7b179163beb6e7be221ecc56e1b32e1862c0c8e65a8178890dee7625e62805581e03043571f01386f6a158211c34a25062042e49c70b164adc814d12914720084708664d80ba82b80219cc7b03e8d6a3334a558e4381791ab54f337a9fc327d45b756aa4a2ecd43f98f0ed506d03f2145b18f926809d348de858949f37a13f3e0e640817b121076ec2e83cb69393038bdff034c000ead3f7fff2267b57fbdae2618247b86242b86cfc9de8d3c839630340b1f8f735f588ad2a05a777db53d0f15ffb7252689a181704b8db0faf5aedfb0381c47da715a17c8a0e7b0be2ce1a8151bd4e883731074ad3731319f0197a045203ce086ef8431b4474e689b0d351670defa5305bca63c1cfe4ec42f7ad71d4f362031d54497ccd93cb2162adf74fe5d2ba67f3ae62903b603528f9e96905c76678eb03d7a511575ecfa69f4fa822d0baf809dad9be14fcd50cac06b26e985b367a51220219ffff03de248d4e8439c32bc08ef71e502dbdd9207f81c398cb34cb7263706e800e9ce803cb6faac325275da1567569c2124d1c16d3aab188a90095d57b319f035bd7c8b7039c9f490a4a3723566bcfe01defea8177ef76a1d557dc7eaafdaaeaae036a820803f520f8cd5a50678f6a97ee98c0e1d516a40a0ee25c0ecc6b924e8883f8c9b8ce03de4f4c5c2a58d1d48b39275190af52b16ebaf6cf10d49d72776822462e7a9b1a03f2046856a4fd56b0d240a0630620da5b6ba6d59c8c8044b6cd731f37541db3a403ef0d4ad6cd52c444bc2910d7738ddce0981c8229156de688d7733d2aaae187be037423779034ec2674a37d1524338206c5935e0de391b022f161d4eddd3aff75d4032609740f7310da84c37784bcf1bc90d6ceae8e23f7c65ef2caca37577b51b0090219ffff037215fbe2a47066ec30ce05ed012384095c4cfee989871c883b0c46b481e7f1be0219ffff03099d613d0ba8da0edb3d607cfe4d62178cd778eda8e1141c850d7f3254817a6c03bd11d14b5d690f0e0b926a6c2436356efbf729c9807d17981ce4cf87e727648903ce6f03e87bb4c7e81f86f4498df36cb651917a8bbc19bbf1a09db5ac9d737b59039e9adbb04f6b5a4f3a1abb12531752f631198cb57e22f8776cbbcbcaa9276df803465398d8457c49e467dcb2b4655521268f84b5eb6d88eb0240446be7458089b7034bddb136c50a42bc044c9cb969229d1242d8fba29e850ccea4abcd42704ea80303aef40423d9c990b70273946425faf54a9310ea4119589bee2605ba2ee83a2f0f035154df97fcb4beb82b3a24948716f3ebce3e95d0395c959f3b7ea3e77c5d8a9903ea3d283574f5ace9d7facf73f07aa4e7a7b64180ceff2631f2d044fb65872ed8035048c608b070531126dadcde9af64b32ca957ca91d2bae06a2e5bc0685c150be034be6bc4a2b4b58b274712c74daed9d10851e287d1177a73f4490a35f2e77dee20390861bf0abe7b2b30c1b9e81176b3e1c4ccef307b0de450f418ad255914cf4c7030fd8b7d6aacb46c01825340ef5acd8ee59880af1ee5b8c319477d3360a7b9ccc0364e5f3e4388c6ea4970780ae8422ec91cbe3a4a6664760a61c96d1bd71c8945b032b5990cf03d6db8e974db04eef49a185d4d9595b773be4a9dd8aeea0b7adb3f103d9881c3062516c15665784e57cbdbc6806768483e091cce942795754efeb5e100351f32322bda8ac3a72c487db94ce74f99a88c56c9f756b8beae9a8e9a8a6db12035adc6f4ec787ac6501ddb07d2aa79f9fd06f811ab4d0cc1bebbb79f78ec0dcb303f24508077a06ab4acb6c1557a478dcc65a99e24da8a86f9adc0ab5e2943a80a8035f7c473ee76bda14aacacffe02d6ee2adb8e6505a4425fda2e8ca03b7e020676039b86ee5c8c201f0441f6ecafa9bfea97177ba4410f38cf01c0a5d41ae6cf10b003e5eeab11700aa08f94d231cbaba1df5ac7b1928134f17c49232a6d1561c2ebbd03e09e2761253d6f0fec32252d319bb78eb4d7f876a5b0825e408303b22b61d74a0394affb8b67a1509b3a48c08975fade08dac087134495dddf6fc9692147178f9d0340da9ce28deb338e6319a7f6f8da8d5f9644fa6539e9f6ecf85db06f3b739e3003d95f3b2a2ce860248553c8fa153832110c4d4fb161bf64e572e5afc59aea3916031f323f2170f97a7f09557b8abd218e5ebbc9ae09a32e3c5f8e447d254342a7ff03e3aea1f8d2b19ad9c45ae763137e6451bfdc6e46a7de1ade076ab2cefa7f2afa03ae5969ad48dc3d811f8efc8b3049d76540e409dbafeb652b72c063fda754f81503187cab4511c5be5541b0a086f95a19ae40734f4f2c143c8e68efcb6c202ccaf903b73a26504d19d47f04b2a2fa84c75f2d066937ea6744baa55aea44e049db4853032da0aa2ab17e408b0273f4d75a650435cd754471b5c80a123a9f5c21b9249c5103e7376c6b29aa33e774310055b64e5fd70bb9fc8cd7c35c10c63cf88afbab42ed03c8cc9a9950be20a2c5830a29683b2e1919332a025374ae656ec4f9379e4bfe1e05581e03f0fc8fa277650df2369a6af15ad17afd11a0d73170be9725ff4a88e6000c0f470f68b0d0ccbc1d032a0463825b592b588ae43a53c992377d4d0d4da1dfa1c1ea42339156281a252505581e039dd437d054d721b30c225875135d830590a9dd7596439ebb27515b3b70040105581e03dcb81c7d1d066827ac64dcecc3f69730865ef6257800ebb13a84b872100c18a947262c65c58619cd05581e034a3b6e8a251f2a075da3f85d60406b597878851500ba23ead975d018400c0547031a3ada1eaa00031994519db5ffd7449de2d127e267f56510b5a8a97cc816789ef9d9923963111105581e033ad3c5532b952b3e92ee66d1766034839615996185b2d8d845aa763af004010393b3d6efe34b5a5580bba2f9644c796a39e3ead54b450148a5452c1295910aed01410003473df9a53df6e6349dd3c9dfca1a6610e93b98c4509b4b452f3d3a2aeed1dbe30313d7ebd68633fcbe169a5966a1744384b6dcf5f6e0faa6eab376f9dc9e2a02f503d2f6a56486fa9780837eac89988bd3d7eb16c3f6a1ee5a644055933b05cd090d03478235c5dc7a69f321339ea29e2abf043bd7dd8ccb140070ae60c6682f87619f02193bbf031850c674491cfb998c7187dddd8b3806913a8440d020fe80a1c69518f2204b6f03d4f89715115e3541e5784ea37ac2df4f25d92a3e1b29a64d3fa2697716550083035e4ac0803327c574e1bc4a837447dad92266177ed71f8e1e1790f9ad9c94cbc10219ffff036c9a0865597533fdd381e7466c852fbbaf0af4f66edd4020f0ee2f15cf167cca032ced4cfcac3ae1c439324976a5af0e8d69f1496ec0c6668e1df3e75f8cf3b2850387cdb3e25a3d09ef1220c0c016f33acb98e7c2744769327a0e549502a36b671f0379a3351c68186f94946e298102b2cf4ae6b794126282ebbb0dea922d4e7d207a0219ffff03cc1fa265209fe8f0a11e7ef10b222c6d83afdc23a04576bc93ad31d3f96115a7034c7d1310e0bb67efb62d58ae57de0ec6b214c91193b10dd1a6b414a74f4aa06703a5e0bff2f451222ebe702ca2b87c66dc82b15c7937eb2477079efebabac53f09032e5d05eaa9396dee1bde69168453209b9a247f3b8a70da1011af0e7fb0d029760219ffff03bfa404262093689cb65fb5d950026156348978aefd8f91e3fe20be3f07c187a10382e200c9f41ccb660655c97a4f44d9da9d02b9e460f15c143e8e36268bde98480388a4ae36141618feff7fb5ce5a8a5c90b5b62eed4678998710eaccbdfb76896903e32df96d05f654a968acbb088c83172af7d6653100114330793d0972be75efb3035a30458f0bbccd4c6b2c8ecf62186e0e7cca1c9aa419b4197d3271d5a34dd245034fa680fb1e8c6ca70c21af2524388843c65548ff6d122226196ce60b240bf745038fe8bb1ac2e320848e5e9030e1563def91ed59699bbec43aa0fe2c06cbf7d33803e5ab7c2235c68cd9966599a88cbd3f2c35ed415014cb839ee0571a2f9dfbc21203c5734a52b8bce8ee36dfd594e1390ed5fc08bc0680bc473a6f4350af13528e2503bbd6aa632d96c626be03688483da98cff8db03cbfb63c2dbf2bf062a5bd9b27903bb8d3cb4c9e7d33026e4c5e78fdbac4791ff9b4b86df9c27f18a1130ec8387d303a59610c021af7feb14a32aa42506730a48eac8f09da3dbe8a4e3824a3f05bfb50311008fb6f18a95352bed8b12896bfcdac63d2426b01c9ad1cf9b69c9254cb6d1030f1349c49ac17c8d8c6e9be482f6ef421a9ecf47b01a878a2d9f12209343be6803a7303bf279e611db24678602ba947f2d22a0b04d203f50e4408db6e7036fa037032c4776128313a10b56680996442c2782bb042d9c84d7923a6b2ea93224bb6fd50357e8b5b360537f08be616d449a1ce9ddde915da0841fbd5a0d0b336dbbbbea130324094721f00aa649d933a93525dbba7c97fa1bb969016d33cc2f1b5f6fba2c8e05581e037804bb65a12e1efceced06444ab091bc8ff128b8d4cc6d43f8dfc3f2900c044108035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503ffcaa33f5e99a87ae3ef0fd9a330bdb3bf754c58e77a3b6dd59cbdc4ab7eb8b705581d02d3cef5ccaabef54da2ecc5499b86732e2b706a785f377b8b598944b007011bffffffffffffffff05581d02229a23f306b5a93b6414c5d2382539fbc4f54c1eb256578830933a740c1a001f61734a019b091b933d3fd5310305581d021eeea296d2bf7f46e7045b294e99026442d74eb962b456f73dffff650c0747b208e912f0fe000219042105581e03bc345001693bcbb0b46b1e83856db9393b4c1537c820b1856b1b47c790040105581e0317767c712676afd32054b51c9eddc73e9ab5c60a4024f7d2513beb32200c01467b32b368574805581e03f15c958f888ebbfe19b23742ec64f10dad70c4e6c4d0ba00ef5f58b850040305581e0339ff50807f79026ef5295365a7a8f64191aaab9ad67803c8acc72f84000c04470ebbdf2391e21d0393e7c44a2a9ee6da6f1fb5357e4a8979ff3719713a696044373c02101cc1ac73037866fb8af1b1b2a4868eed87141edf46d00385c0cd68b83eed1f4595b1ffe32a05581e03b01846dc77c4a32739b9b82e370d23db0101719ff0419f52ea8ea9b6600c034694646f1fcaf8034395d36811b0aab521b2319071c2d8d940c076cee96f7f6f25372115ac50419d0219dcbc03b49237543f5a2ad3d2dfaf08669c1bcf251aa35a9fe6b3699b8878c8f05b1cca03bfc878bc0617fc4e63e53ce634f6f4620b79c9cb2dc8a1d07583832eb2e192e2039813b0ee1f64156a8e3dd367b969642a09ba3145b6f766395135e70da8d90a1903c0e35da4e8df0ce38afee4dc695f6f14ef07b1b5afe6911854e125b1531370fa0386b0e3e9868d9084cb0628a7eae31e71c6d07d8cfcfe64068b13dd98cb6b9a69035e109b68f394e1b1eb43dcb3524f4245e26c70117c292e5cc707e47a65abaf8b032f82ea485226aea0c5d3e3a01b961801e63955cc72f042dab2ec1169c746c30f030337b3e92c915b302d8b433e57cf86ef617aace306589f04cd1c93a507a9718a030ab2b823c52ea48a5f5cfba6afd4fda34ed055a543371fd1680fb02b21065da80219ffff03d95fdd570fe5a33c3f049ad5a23b8295ad317d699452b7fe54cdbc95097458c6032abbb9684056388ce41cb1d9ef67e86129ff429d9f7a9502bdd07790f77818e403cf0748899841061ecb5ed2a45fee169cfb7183aada47a9492f94b3b1cec460b803432733594016e86c2df85e97c28c3539726dce3f7b313816203282dcdff7b3ef03804261dd313035556b8aadc57a629fccbcb8c696faba930239d779b248ecc5a6033f40109dde1db7fcb95bb3541f8615bad3ce648b718795793afa8897ae8f61550366d1ffd7002a711e5cc77cd33e112b1f025232014a897e88008addd38583138f033135b1166056911c842c671e0ebb443b00a2907d6414f333dbb178bf257b4adb039070728b61921e158f6328cc91efd0007ea89ce22c60209957cd2ab18feb328e0334ea8e902d7550b90c0d5e1c1a1391b4b2d435ed9be4a51115366a655306f807030909407e444db2940e09d48518be94a002331f8beaeef6c7a9ee30fec3c5ef7d0388c02c201559bc88bee228672dfc1848a89f12f11685676a94e1873e66b26e0003ced4c047e7ca3a92a98e05ef37df651de63a156cc86f8cde21a5479172c2a4f40219ffff039da2d97b675dd152ae7b3775f81846c4a36e3fd1817dc7852bdd9ccb604c61b903b7d44f327f14bf5fc960a3a558f821e12ef2829a481472ec4079e24e458a9c2f03e74a832ae47b229bb25a4c107ec7e2e8d44aed6e8b3909459208c7ecb517a9e9035487c7cd33532952dab87db734cb43dac10255ef44d92f6c8d332acb11fa400c032d6c86ea972f0446764eccd25c155b0387db600d477a427ccf8cf22d147d17230382b7875509aa98b9d70a48bd0bf6a3885147a6cd27e00ebbffbe1759e3364a66031b4807a664b299ecb2ca67010a92a9ac171aeeae8a40bbd5d9e02b125586d87503d6e21dcecb3f48970f414f0bfd6708be2ebe57bbacb15c37b3d4d6666230869f03b392529d36ca89d605092436de551fea45d93c282f24521654d156175d21cf790219ffff03bb250621dba9aa5c76ec887c745bc9cd26d29ead3cf794fa9f683d0e9c6d68b7038018605b2cbc2593c16024d41eed2eb9fef732c26d3e826e910e43253513b1a70219ffff03ae602a1c86c50146150d6ed591e2e3e5380e51ca6ee33a67cf148e02c8de3d91036f71eb8a2feefd8b9b0f8e172f26f5c1211a612b1f936c3769cc886b7175467803f41d7659602b4ba25c189436fbd751021631af0c5e84bcd5222d417dc1b7bcfc03b577de5f5fea3b541717b636b592af875f34bafb5230c9d8382416f443c98fe203fc30bd130d95a301ed7d7e1be22df18f845aae1b8564f3a3ee917eebbae6fff7039790b465260c79b0867c98b011751a521b9d2ca51e2562ad5e0919e95e63d9b703794208854f3e7491f3e21df23e6ce376d4d34fde960e7d053b09049b59e6510003d6f8ae90820472c1b20f54eeed6b7ae7e11d22c4847475872d312f5a6433fa8c03fdb1a4127e3dc82ac181b8321cfe24684d13fd8fa86436bbfe69587b621818d50398a1b23814efd3eacdde0a5e643de294866b14847725f852aa67d25bc9b785ed036ac30044b048a83eb3bd277dbd96180645cfbe7e04778bcb6b96153d5b53f1ea034a5b3d0a6acbac52d25ea893e05b432502269ac9726778a72511e439f5709f290352332aa1dfc32cadeafe1207c833541e7cacd214788a945f7771847918a8e670039ca7be5d581c872f6eb50ae73da8cd9b32fc7e47d3d9b5227d6b9f5f4dc564dd03f8eac6d0996e477b141fcae0c931a4bbbeb068d33807b5396712c7578b5d9a5703bdf989ce421121ff35da80f046772d4a091d1bd318aab0bb0d46ee809dc7176d03d389da55214e760a59b430ea5a314865771e20ffeab141bce9e4f2aa9359f188036c7b406a2b32c579706a328d2b319a59e39cd03c0307d123304da15e0f030ad303f712925d5ce8bcf08eb534f20f5bc2ab8c328a6b1ab54a95382c2da09b142fdd03c28d6547e473a22a40fefa9449f7950a7badbf05f803849be6f10e9806afebd603b47c512ed39a8f96d8ee91707c81f809c428bad2a4fcae4f706d2c702ae964d303fb62a01076a177367c68f758a7024aef1b637ea341ea51e0264b0ee908cdd8ff035810d01955cf07e73f13abf1ebba316e86cc3b3c5aaddfe6db9486acf27a119103eb22f85cba96fbb4dfcd0031b426d2b5b4f297a5e352c5d6033f00a19e581ef7035da85947afcc8dd0bf2b6f9aa9855927474f44bbf69bb3b797c54e42200ca63b03e259d71ae4b5177e083e1990165ee959645e9144716f2042ce9943cb1966dcdd03d218aeb10e4c3a8d97c50ea680f852d8ad85bfc6447326678052adb828dcbbc203c88cf0b7eaf42d5ffa4dcdf1270146f99cf8ef85bb89b1e96ae88902795d4c7d038e14ad379084d00297ac241b316fea2d36c90ce6b36f8a69c618e7d649a12ff703645fcddefe073fc872444407c0ade472d4612582db56f44b6b3e3d4d9f1927f5038d3fc0e0806e14760aa0c2ad94ded01fa7ce0a2c3a4a2b93fee6c9d703a5090503724cbcb2fff9d719ba332c093bc3e7ab4e2449a5aaab910d4e1a9177a5534cf7031fc2ea2960326b01349589ee19879793a30cc4727602a641bb99830c0d87ef9a035b3086af4e3fa475ad1a490dc794fb269a210762b0c4ad10aa767efc8ca356b7031a2f709d3fe838be18cec4c46cf6b87f5e2dc98fe692ec732a558178fa123edf03dc11bfb45a79c2e5fe55318af6084a4e312ebe8b2b11e21208a33341a0ff004905581e039283632905ea126faf6d78043a47cb0a354414cef1359aff61fcb22e500c044701248322fe23b805581e0314fbde4270b1b1c93b8a9db85a845188c0538e60f203dd58804ba3c0800c1834467298cdf5ad57031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03b51850347fa4fb12db446066e29ccb6b3ffe9366b096d36360233466a007011bffffffffffffffff05581e03a6478db42a85a0509fdbdfc930fcbd0d264b8af3f87e558900f439b8c0084702d9fca06e720005581d0293f6ea17a84f245902f337ecf1e829cd90095b0b27a35d1851a08b0f0c01470b6ffd6d43279204595ca4608060405260043610620002935760003560e01c8063aa4efa5b116200015f578063cb4cfea811620000c5578063e89bc4011162000084578063e89bc4011462000996578063ea63738d14620009bb578063f768441f14620009ef578063fbe3c2cd1462000a14578063fbeeacd91462000a35578063ff200cde1462000a9557600080fd5b8063cb4cfea81462000897578063d56e2e2414620008f7578063d60b347f146200091c578063e039f2241462000959578063e8059810146200097157600080fd5b8063b96c7e4d116200011e578063b96c7e4d14620007ce578063bee9cdfc1462000808578063c3f511c1146200081f578063c48fa1151462000844578063c5a5ebda146200085b578063c6878519146200087257600080fd5b8063aa4efa5b1462000709578063ad5c4648146200073d578063ad66a5f1146200075d578063b046223b1462000792578063b172b22214620007b757600080fd5b80632c3c02a41162000205578063739fc8d111620001c4578063739fc8d114620006495780638129fc1c146200066b57806384acd1bb14620006835780639981509f14620006a35780639a8a059214620006ba578063a5799f9314620006e457600080fd5b80632c3c02a414620005975780632f3a3d5d14620005cb5780635c60da1b14620005eb5780635f854266146200060357806364d42b17146200062857600080fd5b80631a2be4da11620002525780631a2be4da14620004295780631c8475e414620004775780631ff1e28614620004ab5780632539464514620004e95780632b511375146200050e57600080fd5b806301f5325514620002a057806307dfd8fb146200031e5780630f509008146200039a5780630f5287b014620003d2578063178149e7146200040257600080fd5b366200029b57005b600080fd5b348015620002ad57600080fd5b50620002c5620002bf3660046200471b565b62000aba565b604051620003159190600060a0820190508251825260ff6020840151166020830152604083015161ffff808216604085015280606086015116606085015250506080830151608083015292915050565b60405180910390f35b3480156200032b57600080fd5b50620003436200033d3660046200471b565b62000c36565b604051620003159190600060c08201905060ff83511682526020830151602083015261ffff604084015116604083015260ff60608401511660608301526080830151608083015260a083015160a083015292915050565b348015620003a757600080fd5b50620003bf620003b93660046200471b565b62000dc5565b60405160ff909116815260200162000315565b620003e9620003e33660046200459a565b62000dd9565b6040516001600160401b03909116815260200162000315565b3480156200040f57600080fd5b5062000427620004213660046200471b565b62000e7d565b005b3480156200043657600080fd5b5062000466620004483660046200457d565b6001600160a01b031660009081526009602052604090205460ff1690565b604051901515815260200162000315565b3480156200048457600080fd5b506200049c620004963660046200471b565b62000f99565b60405162000315919062004d7f565b348015620004b857600080fd5b50620004d0620004ca36600462004b45565b62000fa8565b6040516001600160a01b03909116815260200162000315565b348015620004f657600080fd5b5062000427620005083660046200471b565b62000fd4565b3480156200051b57600080fd5b50620005336200052d3660046200471b565b620010e4565b604051620003159190600060e08201905060ff83511682526020830151602083015260408301516040830152606083015161ffff8082166060850152608085015160808501528060a08601511660a0850152505060c083015160c083015292915050565b348015620005a457600080fd5b5062000466620005b6366004620046e9565b60009081526005602052604090205460ff1690565b348015620005d857600080fd5b506001546001600160a01b0316620004d0565b348015620005f857600080fd5b50620004d062001255565b3480156200061057600080fd5b506200049c62000622366004620048f3565b6200126f565b3480156200063557600080fd5b50600c545b60405190815260200162000315565b3480156200065657600080fd5b50600254640100000000900460ff16620003bf565b3480156200067857600080fd5b506200042762001304565b3480156200069057600080fd5b506000546001600160a01b0316620004d0565b620003e9620006b436600462004b73565b620013ce565b348015620006c757600080fd5b5060025461ffff165b60405161ffff909116815260200162000315565b348015620006f157600080fd5b5062000427620007033660046200471b565b6200140e565b3480156200071657600080fd5b506200046662000728366004620046e9565b60009081526006602052604090205460ff1690565b3480156200074a57600080fd5b506004546001600160a01b0316620004d0565b3480156200076a57600080fd5b506200063a6200077c36600462004b07565b61ffff166000908152600b602052604090205490565b3480156200079f57600080fd5b506200049c620007b136600462004787565b6200157a565b348015620007c457600080fd5b506003546200063a565b348015620007db57600080fd5b506200063a620007ed3660046200457d565b6001600160a01b03166000908152600a602052604090205490565b620003e96200081936600462004bc1565b620015f3565b3480156200082c57600080fd5b506200049c6200083e3660046200471b565b62001626565b620003e96200085536600462004691565b62001635565b620003e96200086c36600462004605565b6200195a565b3480156200087f57600080fd5b5062000427620008913660046200471b565b620019e9565b348015620008a457600080fd5b50620008bc620008b63660046200471b565b620019fa565b6040516200031591908151815260208083015160ff16908201526040808301519082015260609182015161ffff169181019190915260800190565b3480156200090457600080fd5b506200049c6200091636600462004821565b62001af9565b3480156200092957600080fd5b50620004666200093b3660046200457d565b6001600160a01b031660009081526007602052604090205460ff1690565b3480156200096657600080fd5b506200046662001b3c565b3480156200097e57600080fd5b50620004d0620009903660046200471b565b62001b50565b348015620009a357600080fd5b5062000533620009b53660046200471b565b62001c65565b348015620009c857600080fd5b50620009e0620009da3660046200471b565b62001d71565b60405162000315919062004ee3565b348015620009fc57600080fd5b50620004d062000a0e3660046200471b565b62001eee565b34801562000a2157600080fd5b5060025462010000900461ffff16620006d0565b34801562000a4257600080fd5b5062000a5a62000a543660046200471b565b62002003565b6040516200031591908151815260208083015160ff169082015260408083015161ffff16908201526060918201519181019190915260800190565b34801562000aa257600080fd5b506200042762000ab43660046200471b565b62002102565b6040805160a08101825260008082526020820181905291810182905260608101829052608081018290529062000af183826200210f565b825262000b0060208262005066565b82519091506a546f6b656e4272696467651462000b3a5760405162461bcd60e51b815260040162000b319062004e97565b60405180910390fd5b62000b46838262002171565b60ff16602083015262000b5b60018262005066565b9050816020015160ff1660011462000b875760405162461bcd60e51b815260040162000b319062004ebd565b62000b938382620021d1565b61ffff16604083015262000ba960028262005066565b905062000bb78382620021d1565b61ffff16606083015262000bcd60028262005066565b905062000bdb83826200210f565b608083015262000bed60208262005066565b90508083511462000c305760405162461bcd60e51b815260206004820152600c60248201526b0eee4dedcce40d8cadccee8d60a31b604482015260640162000b31565b50919050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081018290529062000c74838262002171565b60ff16825262000c8660018262005066565b9050816000015160ff1660021462000cd55760405162461bcd60e51b8152602060048201526011602482015270696e76616c69642041737365744d65746160781b604482015260640162000b31565b62000ce183826200210f565b60208084019190915262000cf6908262005066565b905062000d048382620021d1565b61ffff16604083015262000d1a60028262005066565b905062000d28838262002171565b60ff16606083015262000d3d60018262005066565b905062000d4b83826200210f565b608083015262000d5d60208262005066565b905062000d6b83826200210f565b60a083015262000d7d60208262005066565b90508083511462000c305760405162461bcd60e51b8152602060048201526011602482015270696e76616c69642041737365744d65746160781b604482015260640162000b31565b600062000dd3828262002171565b92915050565b60006002600d54141562000e305760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000b31565b6002600d55600062000e4488888662002232565b905062000e6c8160000151826020015183604001518989866060015187608001518a620026e2565b6001600d5598975050505050505050565b62000e8762001b3c565b62000ec25760405162461bcd60e51b815260206004820152600a6024820152696e6f74206120666f726b60b01b604482015260640162000b31565b600080600062000ed28462002816565b92509250925081819062000efb5760405162461bcd60e51b815260040162000b31919062004d7f565b5062000f0c83610140015162002a45565b600062000f1d8460e00151620019fa565b90504681604001511462000f685760405162461bcd60e51b815260206004820152601160248201527034b73b30b634b21022ab269021b430b4b760791b604482015260640162000b31565b62000f77816040015162002a60565b60608101516002805461ffff191661ffff9092169190911790555b5050505050565b606062000dd382600162002aab565b61ffff91909116600090815260086020908152604080832093835292905220546001600160a01b031690565b62000fde62001b3c565b156200101c5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c696420666f726b60a01b604482015260640162000b31565b60008060006200102c8462002816565b925092509250818190620010555760405162461bcd60e51b815260040162000b31919062004d7f565b506200106683610140015162002a45565b6000620010778460e0015162002003565b90506200108760025461ffff1690565b61ffff16816040015161ffff1614620010d45760405162461bcd60e51b815260206004820152600e60248201526d1ddc9bdb99c818da185a5b881a5960921b604482015260640162000b31565b606081015162000f929062003266565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081018290529062001129838262002171565b60ff1682526200113b60018262005066565b9050816000015160ff16600114620011675760405162461bcd60e51b815260040162000b319062004e6d565b6200117383826200339d565b60208084019190915262001188908262005066565b90506200119683826200210f565b6040830152620011a860208262005066565b9050620011b68382620021d1565b61ffff166060830152620011cc60028262005066565b9050620011da83826200210f565b6080830152620011ec60208262005066565b9050620011fa8382620021d1565b61ffff1660a08301526200121060028262005066565b90506200121e83826200339d565b60c08301526200123060208262005066565b90508083511462000c305760405162461bcd60e51b815260040162000b319062004e6d565b60006200126a6001546001600160a01b031690565b905090565b8051602080830151604080850151606080870151608088015160a089015160c08a0151955160f89990991b6001600160f81b031916978901979097526021880195909552604187019290925260f091821b6001600160f01b03199081166061880152606387019490945293901b909116608384015260858301529060a5015b6040516020818303038152906040529050919050565b6000620013387f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b90506200135d816001600160a01b031660009081526007602052604090205460ff1690565b15620013a25760405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b604482015260640162000b31565b620013cb816001600160a01b03166000908152600760205260409020805460ff19166001179055565b50565b600080620013dc84620033f6565b9050620014048160000151826020015183604001518989866060015187608001518a620026e2565b9695505050505050565b60008060006200141e8462002816565b925092509250818190620014475760405162461bcd60e51b815260040162000b31919062004d7f565b506200145883610140015162002a45565b6000620014698460e0015162000aba565b90506200147960025461ffff1690565b61ffff16816040015161ffff161480156200149b57506200149962001b3c565b155b80620014ad5750604081015161ffff16155b620014ee5760405162461bcd60e51b815260206004820152601060248201526f1a5b9d985b1a590818da185a5b881a5960821b604482015260640162000b31565b606081015161ffff166000908152600b602052604081205414620015555760405162461bcd60e51b815260206004820152601860248201527f636861696e20616c726561647920726567697374657265640000000000000000604482015260640162000b31565b62000f928160600151826080015161ffff9091166000908152600b6020526040902055565b8051602080830151604080850151606080870151608088015160a0890151945160f898891b6001600160f81b031990811698820198909852602181019690965260f09390931b6001600160f01b031916604186015290951b909316604383015260448201929092526064810191909152608401620012ee565b600080620016026000620033f6565b905062001404816000015182602001518360400151898986608001518a8a620036d0565b606062000dd382600062002aab565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b179052905160009182916001600160a01b038616916200167a9162004c9c565b600060405180830381855afa9150503d8060008114620016b7576040519150601f19603f3d011682016040523d82523d6000602084013e620016bc565b606091505b5060408051600481526024810182526020810180516001600160e01b03166395d89b4160e01b1790529051919350600092506001600160a01b0387169162001705919062004c9c565b600060405180830381855afa9150503d806000811462001742576040519150601f19603f3d011682016040523d82523d6000602084013e62001747565b606091505b5060408051600481526024810182526020810180516001600160e01b03166306fdde0360e01b1790529051919350600092506001600160a01b0388169162001790919062004c9c565b600060405180830381855afa9150503d8060008114620017cd576040519150601f19603f3d011682016040523d82523d6000602084013e620017d2565b606091505b50915050600083806020019051810190620017ee919062004c4f565b905060008380602001905181019062001808919062004751565b905060008380602001905181019062001822919062004751565b9050600080602084015191506020830151905060006040518060c00160405280600260ff1681526020018d6001600160a01b031660001b81526020016200186c60025461ffff1690565b61ffff1681526020018760ff168152602001848152602001838152509050600062001897826200157a565b9050620018ac6000546001600160a01b031690565b6001600160a01b031663b19a437e348e84620018d360025460ff6401000000009091041690565b6040518563ffffffff1660e01b8152600401620018f39392919062004f5e565b6020604051808303818588803b1580156200190d57600080fd5b505af115801562001922573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062001949919062004c32565b9d9c50505050505050505050505050565b60006002600d541415620019b15760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000b31565b6002600d556000620019c588888362002232565b905062000e6c816000015182602001518360400151898986608001518a8a620036d0565b620019f681600062002aab565b5050565b60408051608081018252600080825260208201819052918101829052606081018290529062001a2a83826200210f565b825262001a3960208262005066565b82519091506a546f6b656e4272696467651462001a6a5760405162461bcd60e51b815260040162000b319062004e97565b62001a76838262002171565b60ff16602083015262001a8b60018262005066565b9050816020015160ff1660031462001ab75760405162461bcd60e51b815260040162000b319062004ebd565b62001ac383826200339d565b604083015262001ad560208262005066565b905062001ae38382620021d1565b61ffff16606083015262000bed60028262005066565b6060816000015182602001518360400151846060015185608001518660a001518760c001518860e00151604051602001620012ee98979695949392919062004ced565b60004662001b49600c5490565b1415905090565b60008060008062001b696000546001600160a01b031690565b6001600160a01b031663c0fd8bde866040518263ffffffff1660e01b815260040162001b96919062004d7f565b60006040518083038186803b15801562001baf57600080fd5b505afa15801562001bc4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001bee919081019062004998565b92509250925081819062001c175760405162461bcd60e51b815260040162000b31919062004d7f565b5062001c238362003743565b62001c425760405162461bcd60e51b815260040162000b319062004e44565b600062001c538460e0015162000c36565b905062001404818560a00151620037b0565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081018290529062001ca98362000dc5565b90508060ff166001141562001ccb5762001cc383620010e4565b915062000c30565b8060ff166003141562001d3357600062001ce58462001d71565b60038452602080820151908501526040808201519085015260608082015161ffff908116918601919091526080808301519086015260a091820151169084015250600060c083015262000c30565b60405162461bcd60e51b8152602060048201526012602482015271125b9d985b1a59081c185e5b1bd859081a5960721b604482015260640162000b31565b604080516101008101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201529062001dbd838262002171565b60ff16825262001dcf60018262005066565b9050816000015160ff1660031462001dfb5760405162461bcd60e51b815260040162000b319062004e6d565b62001e0783826200339d565b60208084019190915262001e1c908262005066565b905062001e2a83826200210f565b604083015262001e3c60208262005066565b905062001e4a8382620021d1565b61ffff16606083015262001e6060028262005066565b905062001e6e83826200210f565b608083015262001e8060208262005066565b905062001e8e8382620021d1565b61ffff1660a083015262001ea460028262005066565b905062001eb283826200210f565b60c083015262001ec460208262005066565b905062001ee38182855162001eda9190620051cc565b85919062003a61565b60e083015250919050565b60008060008062001f076000546001600160a01b031690565b6001600160a01b031663c0fd8bde866040518263ffffffff1660e01b815260040162001f34919062004d7f565b60006040518083038186803b15801562001f4d57600080fd5b505afa15801562001f62573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001f8c919081019062004998565b92509250925081819062001fb55760405162461bcd60e51b815260040162000b31919062004d7f565b5062001fc18362003743565b62001fe05760405162461bcd60e51b815260040162000b319062004e44565b600062001ff18460e0015162000c36565b905062001404818560a0015162003b7c565b6040805160808101825260008082526020820181905291810182905260608101829052906200203383826200210f565b82526200204260208262005066565b82519091506a546f6b656e42726964676514620020735760405162461bcd60e51b815260040162000b319062004e97565b6200207f838262002171565b60ff1660208301526200209460018262005066565b9050816020015160ff16600214620020c05760405162461bcd60e51b815260040162000b319062004ebd565b620020cc8382620021d1565b61ffff166040830152620020e260028262005066565b9050620020f083826200210f565b606083015262000bed60208262005066565b620019f681600162002aab565b60006200211e82602062005066565b83511015620021685760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b604482015260640162000b31565b50016020015190565b60006200218082600162005066565b83511015620021c85760405162461bcd60e51b8152602060048201526013602482015272746f55696e74385f6f75744f66426f756e647360681b604482015260640162000b31565b50016001015190565b6000620021e082600262005066565b83511015620022295760405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b604482015260640162000b31565b50016002015190565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526001600160a01b038416600090815260096020526040812054819060ff16156200237557856001600160a01b0316639a8a05926040518163ffffffff1660e01b815260040160206040518083038186803b158015620022bb57600080fd5b505afa158015620022d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620022f6919062004b26565b9150856001600160a01b0316633d6c043b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200233257600080fd5b505afa15801562002347573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200236d919062004702565b905062002389565b505060025461ffff166001600160a01b0385165b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290516000916001600160a01b03891691620023cd919062004c9c565b600060405180830381855afa9150503d80600081146200240a576040519150601f19603f3d011682016040523d82523d6000602084013e6200240f565b606091505b509150506000818060200190518101906200242b919062004c4f565b9050620024446200243d888362003c77565b8262003cb6565b96506200245460025461ffff1690565b61ffff168461ffff161415620025f457604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17905290516000916001600160a01b038b1691620024b9919062004c9c565b600060405180830381855afa9150503d8060008114620024f6576040519150601f19603f3d011682016040523d82523d6000602084013e620024fb565b606091505b5091505060008180602001905181019062002517919062004702565b9050620025278a33308c62003ceb565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17905290516000916001600160a01b038d16916200257c919062004c9c565b600060405180830381855afa9150503d8060008114620025b9576040519150601f19603f3d011682016040523d82523d6000602084013e620025be565b606091505b50915050600081806020019051810190620025da919062004702565b9050620025e88382620051cc565b9a505050505062002665565b620026028833308a62003ceb565b604051632770a7eb60e21b8152306004820152602481018890526001600160a01b03891690639dc29fac90604401600060405180830381600087803b1580156200264b57600080fd5b505af115801562002660573d6000803e3d6000fd5b505050505b600062002673888362003c77565b9050600062002683888462003c77565b90506200269360025461ffff1690565b61ffff168661ffff161415620026af57620026af8a8362003d5e565b6040805160a08101825261ffff909716875260208701959095529385015250506060820152346080820152949350505050565b6000868411156200272b5760405162461bcd60e51b815260206004820152601260248201527119995948195e18d959591cc8185b5bdd5b9d60721b604482015260640162000b31565b6040805160e081018252600181526020810189905290810189905261ffff8a8116606083015260808201879052871660a082015260c081018590526000546001600160a01b031663b19a437e858562002784856200126f565b600254640100000000900460ff166040518563ffffffff1660e01b8152600401620027b29392919062004f5e565b6020604051808303818588803b158015620027cc57600080fd5b505af1158015620027e1573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019062002808919062004c32565b9a9950505050505050505050565b604080516101608101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e0820181905261010082018390526101208201526101408101919091526000606060008060006200288a6000546001600160a01b031690565b6001600160a01b031663c0fd8bde886040518263ffffffff1660e01b8152600401620028b7919062004d7f565b60006040518083038186803b158015620028d057600080fd5b505afa158015620028e5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200290f919081019062004998565b9250925092508162002928579194509250905062002a3e565b60025462010000900461ffff1661ffff16836060015161ffff1614620029865750506040805180820190915260168152753bb937b7339033b7bb32b93730b731b29031b430b4b760511b602082015290935060009250905062002a3e565b600354836080015114620029d957505060408051808201909152601981527f77726f6e6720676f7665726e616e636520636f6e747261637400000000000000602082015290935060009250905062002a3e565b61014083015160009081526005602052604090205460ff161562002a235782600060405180606001604052806022815260200162005c4d6022913995509550955050505062002a3e565b50506040805160208101909152600081529093506001925090505b9193909250565b6000908152600560205260409020805460ff19166001179055565b46811462002aa65760405162461bcd60e51b81526020600482015260126024820152711a5b9d985b1a5908195d9b50da185a5b925960721b604482015260640162000b31565b600c55565b6060600080600062002ac56000546001600160a01b031690565b6001600160a01b031663c0fd8bde876040518263ffffffff1660e01b815260040162002af2919062004d7f565b60006040518083038186803b15801562002b0b57600080fd5b505afa15801562002b20573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262002b4a919081019062004998565b92509250925081819062002b735760405162461bcd60e51b815260040162000b31919062004d7f565b5062002b7f8362003743565b62002b9e5760405162461bcd60e51b815260040162000b319062004e44565b600062002baf8460e0015162001c65565b9050600062002bc2826080015162003e2b565b9050816000015160ff166003141562002c2057336001600160a01b0382161462002c205760405162461bcd60e51b815260206004820152600e60248201526d34b73b30b634b21039b2b73232b960911b604482015260640162000b31565b61014085015160009081526006602052604090205460ff161562002c875760405162461bcd60e51b815260206004820152601a60248201527f7472616e7366657220616c726561647920636f6d706c65746564000000000000604482015260640162000b31565b62002cac8561014001516000908152600660205260409020805460ff19166001179055565b8460a001516001600160401b03168560800151866060015161ffff167fcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c16960405160405180910390a460025461ffff1661ffff168260a0015161ffff161462002d4e5760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b2103a30b933b2ba1031b430b4b760611b604482015260640162000b31565b600062002d5e60025461ffff1690565b61ffff16836060015161ffff16141562002d995762002d81836040015162003e2b565b905062002d9381846020015162003e81565b62002e1a565b600062002daf8460600151856040015162000fa8565b90506001600160a01b03811662002e175760405162461bcd60e51b815260206004820152602560248201527f6e6f207772617070657220666f72207468697320746f6b656e2063726561746560448201526419081e595d60da1b606482015260840162000b31565b90505b87158062002e3557506004546001600160a01b038281169116145b62002e8f5760405162461bcd60e51b815260206004820152602360248201527f696e76616c696420746f6b656e2c2063616e206f6e6c7920756e77726170205760448201526208aa8960eb1b606482015260840162000b31565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290516000916001600160a01b0384169162002ed3919062004c9c565b600060405180830381855afa9150503d806000811462002f10576040519150601f19603f3d011682016040523d82523d6000602084013e62002f15565b606091505b5091505060008180602001905181019062002f31919062004c4f565b9050600062002f4586602001518362003cb6565b9050600062002f598760c001518462003cb6565b905060008111801562002f7557506001600160a01b0386163314155b1562003107578181111562002fd85760405162461bcd60e51b815260206004820152602260248201527f66656520686967686572207468616e207472616e7366657272656420616d6f756044820152611b9d60f21b606482015260840162000b31565b8b15620030725760048054604051632e1a7d4d60e01b81529182018390526001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156200302457600080fd5b505af115801562003039573d6000803e3d6000fd5b505060405133925083156108fc02915083906000818181858888f193505050501580156200306b573d6000803e3d6000fd5b506200310b565b60025461ffff1661ffff16876060015161ffff1614620030f4576040516340c10f1960e01b8152336004820152602481018290526001600160a01b038616906340c10f1990604401600060405180830381600087803b158015620030d557600080fd5b505af1158015620030ea573d6000803e3d6000fd5b505050506200310b565b6200310185338362003eb3565b6200310b565b5060005b6000620031198284620051cc565b90508c15620031be5760048054604051632e1a7d4d60e01b81529182018390526001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156200316757600080fd5b505af11580156200317c573d6000803e3d6000fd5b50506040516001600160a01b038a16925083156108fc02915083906000818181858888f19350505050158015620031b7573d6000803e3d6000fd5b506200324f565b60025461ffff1661ffff16886060015161ffff161462003242576040516340c10f1960e01b81526001600160a01b038881166004830152602482018390528716906340c10f1990604401600060405180830381600087803b1580156200322357600080fd5b505af115801562003238573d6000803e3d6000fd5b505050506200324f565b6200324f86888362003eb3565b50505060e0909701519a9950505050505050505050565b60006200329a7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b9050620032a78262003ee5565b60408051600481526024810182526020810180516001600160e01b031663204a7f0760e21b179052905160009182916001600160a01b03861691620032ec9162004c9c565b600060405180830381855af49150503d806000811462003329576040519150601f19603f3d011682016040523d82523d6000602084013e6200332e565b606091505b5091509150818190620033565760405162461bcd60e51b815260040162000b31919062004d7f565b50836001600160a01b0316836001600160a01b03167f2e4cc16c100f0b55e2df82ab0b1a7e294aa9cbd01b48fbaf622683fbc0507a4960405160405180910390a350505050565b6000620033ac82602062005066565b83511015620021685760405162461bcd60e51b8152602060048201526015602482015274746f55696e743235365f6f75744f66426f756e647360581b604482015260640162000b31565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152600080546001600160a01b03166001600160a01b0316631a90a2196040518163ffffffff1660e01b815260040160206040518083038186803b1580156200346757600080fd5b505afa1580156200347c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620034a2919062004702565b9050348110620035005760405162461bcd60e51b815260206004820152602260248201527f76616c756520697320736d616c6c6572207468616e20776f726d686f6c652066604482015261656560f01b606482015260840162000b31565b60006200350e8234620051cc565b905080841115620035775760405162461bcd60e51b815260206004820152602c60248201527f66656520697320626967676572207468616e20616d6f756e74206d696e75732060448201526b776f726d686f6c652066656560a01b606482015260840162000b31565b60006200358682601262003c77565b905060006200359786601262003c77565b90506000620035a883601262003cb6565b620035b49085620051cc565b90508015620035ed57604051339082156108fc029083906000818181858888f19350505050158015620035eb573d6000803e3d6000fd5b505b6004546001600160a01b031663d0e30db06200360a8387620051cc565b6040518263ffffffff1660e01b81526004016000604051808303818588803b1580156200363657600080fd5b505af11580156200364b573d6000803e3d6000fd5b50505050506200366e620036676004546001600160a01b031690565b8462003d5e565b6040518060a001604052806200368760025461ffff1690565b61ffff168152602001620036a36004546001600160a01b031690565b6001600160a01b031660001b81526020018481526020018381526020018681525095505050505050919050565b6040805161010081018252600381526020810188905290810188905261ffff808a16606083015260808201869052861660a08201523360c082015260e08101829052600090620037286000546001600160a01b031690565b6001600160a01b031663b19a437e8686620027848562001af9565b60006200374f62001b3c565b156200378d5760405162461bcd60e51b815260206004820152600c60248201526b696e76616c696420666f726b60a01b604482015260640162000b31565b50608081015160609091015161ffff166000908152600b60205260409020541490565b6000620037c060025461ffff1690565b61ffff16836040015161ffff1614156200382e5760405162461bcd60e51b815260206004820152602860248201527f63616e206f6e6c79207772617020746f6b656e732066726f6d20666f726569676044820152676e20636861696e7360c01b606482015260840162000b31565b60006001600160a01b03166200384d8460400151856020015162000fa8565b6001600160a01b031614620038a55760405162461bcd60e51b815260206004820152601c60248201527f7772617070656420617373657420616c72656164792065786973747300000000604482015260640162000b31565b600063c71f461560e01b620038be8560a0015162003f27565b620038cd866080015162003f27565b8660600151863089604001518a60200151604051602401620038f6979695949392919062004dd7565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b031990951694909417909352519092506000916200394091309185910162004d59565b604051602081830303815290604052905060006040518060200162003965906200436b565b601f1982820381018352601f9091011660408190526200398b9190849060200162004cba565b6040516020818303038152906040529050600086604001518760200151604051602001620039d292919060f09290921b6001600160f01b0319168252600282015260220190565b604051602081830303815290604052805190602001209050808251602084016000f59450843b62003a0257600080fd5b6040808801516020808a015161ffff90921660009081526008825283812092815291815282822080546001600160a01b0319166001600160a01b038a1690811790915582526009905220805460ff191660011790555050505092915050565b60608162003a7181601f62005066565b101562003ab25760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b604482015260640162000b31565b62003abe828462005066565b8451101562003b045760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b604482015260640162000b31565b60608215801562003b25576040519150600082526020820160405262003b71565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101562003b6057805183526020928301920162003b46565b5050858452601f01601f1916604052505b5090505b9392505050565b60008062003b938460400151856020015162000fa8565b90506001600160a01b03811662003bed5760405162461bcd60e51b815260206004820152601d60248201527f7772617070656420617373657420646f6573206e6f7420657869737473000000604482015260640162000b31565b806001600160a01b031663a18cd7c662003c0b8660a0015162003f27565b62003c1a876080015162003f27565b866040518463ffffffff1660e01b815260040162003c3b9392919062004d94565b600060405180830381600087803b15801562003c5657600080fd5b505af115801562003c6b573d6000803e3d6000fd5b50929695505050505050565b600060088260ff16111562003caf5762003c93600883620051e6565b62003ca090600a620050eb565b62003cac908462005081565b92505b5090919050565b600060088260ff16111562003caf5762003cd2600883620051e6565b62003cdf90600a620050eb565b62003cac9084620051aa565b6040516001600160a01b038085166024830152831660448201526064810182905262003d589085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262004062565b50505050565b6001600160a01b0382166000908152600a60205260409020546001600160401b0362003d8b838362005066565b111562003df95760405162461bcd60e51b815260206004820152603560248201527f7472616e736665722065786365656473206d6178206f75747374616e64696e6760448201527408189c9a5919d959081d1bdad95b88185b5bdd5b9d605a1b606482015260840162000b31565b62003e268362003e0a848462005066565b6001600160a01b039091166000908152600a6020526040902055565b505050565b60006001600160a01b031982161562003e7d5760405162461bcd60e51b8152602060048201526013602482015272696e76616c69642045564d206164647265737360681b604482015260640162000b31565b5090565b620019f6828262003ea7856001600160a01b03166000908152600a602052604090205490565b62003e0a9190620051cc565b6040516001600160a01b03831660248201526044810182905262003e2690849063a9059cbb60e01b9060640162003d20565b62003ef0816200413b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606060005b60208110801562003f6a575082816020811062003f5957634e487b7160e01b600052603260045260246000fd5b1a60f81b6001600160f81b03191615155b1562003f85578062003f7c816200523b565b91505062003f2c565b6000816001600160401b0381111562003fae57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801562003fd9576020820181803683370190505b50905060005b828110156200405a578481602081106200400957634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106200402e57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053508062004051816200523b565b91505062003fdf565b509392505050565b6000620040b9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620041e29092919063ffffffff16565b80519091501562003e265780806020019051810190620040da9190620046cc565b62003e265760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000b31565b803b620041a15760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840162000b31565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060620041f38484600085620041fb565b949350505050565b6060824710156200425e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000b31565b843b620042ae5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000b31565b600080866001600160a01b03168587604051620042cc919062004c9c565b60006040518083038185875af1925050503d80600081146200430b576040519150601f19603f3d011682016040523d82523d6000602084013e62004310565b606091505b5091509150620043228282866200432d565b979650505050505050565b606083156200433e57508162003b75565b8251156200434f5782518084602001fd5b8160405162461bcd60e51b815260040162000b31919062004d7f565b61099380620052ba83390190565b80356001600160a01b03811681146200439157600080fd5b919050565b600082601f830112620043a7578081fd5b815160206001600160401b03821115620043c557620043c56200526f565b620043d5818360051b0162005009565b80838252828201915082860187848660071b8901011115620043f5578586fd5b855b858110156200446557608080838b03121562004411578788fd5b6200441b62004f92565b8351815286840151878201526040808501516200443881620052a9565b908201526060848101516200444d81620052a9565b908201528552938501939190910190600101620043f7565b5090979650505050505050565b805180151581146200439157600080fd5b600082601f83011262004494578081fd5b8135620044ab620044a5826200503c565b62005009565b818152846020838601011115620044c0578283fd5b816020850160208301379081016020019190915292915050565b600082601f830112620044eb578081fd5b8151620044fc620044a5826200503c565b81815284602083860101111562004511578283fd5b620041f38260208301602087016200520c565b8035620043918162005285565b8051620043918162005285565b8051620043918162005296565b80516001600160401b03811681146200439157600080fd5b80356200439181620052a9565b80516200439181620052a9565b6000602082840312156200458f578081fd5b62003b758262004379565b60008060008060008060c08789031215620045b3578182fd5b620045be8762004379565b9550602087013594506040870135620045d78162005285565b9350606087013592506080870135915060a0870135620045f78162005296565b809150509295509295509295565b60008060008060008060c087890312156200461e578384fd5b620046298762004379565b9550602087013594506040870135620046428162005285565b93506060870135925060808701356200465b8162005296565b915060a08701356001600160401b0381111562004676578182fd5b6200468489828a0162004483565b9150509295509295509295565b60008060408385031215620046a4578182fd5b620046af8362004379565b91506020830135620046c18162005296565b809150509250929050565b600060208284031215620046de578081fd5b62003b758262004472565b600060208284031215620046fb578081fd5b5035919050565b60006020828403121562004714578081fd5b5051919050565b6000602082840312156200472d578081fd5b81356001600160401b0381111562004743578182fd5b620041f38482850162004483565b60006020828403121562004763578081fd5b81516001600160401b0381111562004779578182fd5b620041f384828501620044da565b600060c0828403121562004799578081fd5b60405160c081018181106001600160401b0382111715620047be57620047be6200526f565b6040528235620047ce81620052a9565b8152602083810135908201526040830135620047ea8162005285565b60408201526060830135620047ff81620052a9565b60608201526080838101359082015260a0928301359281019290925250919050565b60006020828403121562004833578081fd5b81356001600160401b03808211156200484a578283fd5b9083019061010082860312156200485f578283fd5b6200486962004fbd565b620048748362004563565b81526020830135602082015260408301356040820152620048986060840162004524565b606082015260808301356080820152620048b560a0840162004524565b60a082015260c083013560c082015260e083013582811115620048d6578485fd5b620048e48782860162004483565b60e08301525095945050505050565b600060e0828403121562004905578081fd5b60405160e081018181106001600160401b03821117156200492a576200492a6200526f565b60405282356200493a81620052a9565b8082525060208301356020820152604083013560408201526060830135620049628162005285565b6060820152608083810135908201526200497f60a0840162004524565b60a082015260c083013560c08201528091505092915050565b600080600060608486031215620049ad578081fd5b83516001600160401b0380821115620049c4578283fd5b908501906101608288031215620049d9578283fd5b620049e362004fe3565b620049ee8362004570565b8152620049fe602084016200453e565b602082015262004a11604084016200453e565b604082015262004a246060840162004531565b60608201526080830151608082015262004a4160a084016200454b565b60a082015262004a5460c0840162004570565b60c082015260e08301518281111562004a6b578485fd5b62004a7989828601620044da565b60e08301525061010062004a8f8185016200453e565b90820152610120838101518381111562004aa7578586fd5b62004ab58a82870162004396565b91830191909152506101408381015190820152945062004ad86020870162004472565b9350604086015191508082111562004aee578283fd5b5062004afd86828701620044da565b9150509250925092565b60006020828403121562004b19578081fd5b813562003b758162005285565b60006020828403121562004b38578081fd5b815162003b758162005285565b6000806040838503121562004b58578182fd5b823562004b658162005285565b946020939093013593505050565b6000806000806080858703121562004b89578182fd5b843562004b968162005285565b93506020850135925060408501359150606085013562004bb68162005296565b939692955090935050565b6000806000806080858703121562004bd7578182fd5b843562004be48162005285565b935060208501359250604085013562004bfd8162005296565b915060608501356001600160401b0381111562004c18578182fd5b62004c268782880162004483565b91505092959194509250565b60006020828403121562004c44578081fd5b62003b75826200454b565b60006020828403121562004c61578081fd5b815162003b7581620052a9565b6000815180845262004c888160208601602086016200520c565b601f01601f19169290920160200192915050565b6000825162004cb08184602087016200520c565b9190910192915050565b6000835162004cce8184602088016200520c565b83519083019062004ce48183602088016200520c565b01949350505050565b60ff60f81b8960f81b168152876001820152866021820152600061ffff60f01b808860f01b166041840152866043840152808660f01b16606384015250836065830152825162004d458160858501602087016200520c565b919091016085019998505050505050505050565b6001600160a01b0383168152604060208201819052600090620041f39083018462004c6e565b60208152600062003b75602083018462004c6e565b60608152600062004da9606083018662004c6e565b828103602084015262004dbd818662004c6e565b9150506001600160401b0383166040830152949350505050565b60e08152600062004dec60e083018a62004c6e565b828103602084015262004e00818a62004c6e565b60ff98909816604084015250506001600160401b039490941660608501526001600160a01b0392909216608084015261ffff1660a083015260c09091015292915050565b6020808252600f908201526e34b73b30b634b21032b6b4ba3a32b960891b604082015260600190565b60208082526010908201526f34b73b30b634b2102a3930b739b332b960811b604082015260600190565b6020808252600c908201526b77726f6e67206d6f64756c6560a01b604082015260600190565b6020808252600c908201526b3bb937b7339030b1ba34b7b760a11b604082015260600190565b6020815260ff8251166020820152602082015160408201526040820151606082015261ffff6060830151166080820152608082015160a0820152600060a083015162004f3560c084018261ffff169052565b5060c083015160e083015260e0830151610100808185015250620041f361012084018262004c6e565b63ffffffff8416815260606020820152600062004f7f606083018562004c6e565b905060ff83166040830152949350505050565b604051608081016001600160401b038111828210171562004fb75762004fb76200526f565b60405290565b60405161010081016001600160401b038111828210171562004fb75762004fb76200526f565b60405161016081016001600160401b038111828210171562004fb75762004fb76200526f565b604051601f8201601f191681016001600160401b03811182821017156200503457620050346200526f565b604052919050565b60006001600160401b038211156200505857620050586200526f565b50601f01601f191660200190565b600082198211156200507c576200507c62005259565b500190565b6000826200509d57634e487b7160e01b81526012600452602481fd5b500490565b600181815b80851115620050e3578160001904821115620050c757620050c762005259565b80851615620050d557918102915b93841c9390800290620050a7565b509250929050565b600062003b7560ff841683600082620051075750600162000dd3565b81620051165750600062000dd3565b81600181146200512f57600281146200513a576200515a565b600191505062000dd3565b60ff8411156200514e576200514e62005259565b50506001821b62000dd3565b5060208310610133831016604e8410600b84101617156200517f575081810a62000dd3565b6200518b8383620050a2565b8060001904821115620051a257620051a262005259565b029392505050565b6000816000190483118215151615620051c757620051c762005259565b500290565b600082821015620051e157620051e162005259565b500390565b600060ff821660ff84168082101562005203576200520362005259565b90039392505050565b60005b83811015620052295781810151838201526020016200520f565b8381111562003d585750506000910152565b600060001982141562005252576200525262005259565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b61ffff81168114620013cb57600080fd5b63ffffffff81168114620013cb57600080fd5b60ff81168114620013cb57600080fdfe608060405234801561001057600080fd5b5060405161099338038061099383398101604081905261002f9161048e565b818161005c60017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d51610599565b60008051602061094c8339815191521461008657634e487b7160e01b600052600160045260246000fd5b6100928282600061009b565b505050506105fe565b6100a483610175565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a26000825111806100e55750805b156101705761016e836001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015e9190610474565b8361031560201b6100291760201c565b505b505050565b6101888161034160201b6100551760201c565b6101e75760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b61026a816001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561022357600080fd5b505afa158015610237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025b9190610474565b61034160201b6100551760201c565b6102cf5760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b60648201526084016101de565b806102f460008051602061094c83398151915260001b61034760201b61005b1760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b606061033a838360405180606001604052806027815260200161096c6027913961034a565b9392505050565b3b151590565b90565b6060833b6103a95760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016101de565b600080856001600160a01b0316856040516103c4919061054a565b600060405180830381855af49150503d80600081146103ff576040519150601f19603f3d011682016040523d82523d6000602084013e610404565b606091505b50909250905061041582828661041f565b9695505050505050565b6060831561042e57508161033a565b82511561043e5782518084602001fd5b8160405162461bcd60e51b81526004016101de9190610566565b80516001600160a01b038116811461046f57600080fd5b919050565b600060208284031215610485578081fd5b61033a82610458565b600080604083850312156104a0578081fd5b6104a983610458565b60208401519092506001600160401b03808211156104c5578283fd5b818501915085601f8301126104d8578283fd5b8151818111156104ea576104ea6105e8565b604051601f8201601f19908116603f01168101908382118183101715610512576105126105e8565b8160405282815288602084870101111561052a578586fd5b61053b8360208301602088016105bc565b80955050505050509250929050565b6000825161055c8184602087016105bc565b9190910192915050565b60208152600082518060208401526105858160408501602087016105bc565b601f01601f19169190910160400192915050565b6000828210156105b757634e487b7160e01b81526011600452602481fd5b500390565b60005b838110156105d75781810151838201526020016105bf565b8381111561016e5750506000910152565b634e487b7160e01b600052604160045260246000fd5b61033f8061060d6000396000f3fe60806040523661001357610011610017565b005b6100115b61002761002261005e565b610106565b565b606061004e83836040518060600160405280602781526020016102e36027913961012a565b9392505050565b3b151590565b90565b60006100917fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100c957600080fd5b505afa1580156100dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610101919061023c565b905090565b3660008037600080366000845af43d6000803e808015610125573d6000f35b3d6000fd5b6060833b61018e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101a99190610263565b600060405180830381855af49150503d80600081146101e4576040519150601f19603f3d011682016040523d82523d6000602084013e6101e9565b606091505b50915091506101f9828286610203565b9695505050505050565b6060831561021257508161004e565b8251156102225782518084602001fd5b8160405162461bcd60e51b8152600401610185919061027f565b60006020828403121561024d578081fd5b81516001600160a01b038116811461004e578182fd5b600082516102758184602087016102b2565b9190910192915050565b602081526000825180602084015261029e8160408501602087016102b2565b601f01601f19169190910160400192915050565b60005b838110156102cd5781810151838201526020016102b5565b838111156102dc576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212203e23ac4f79a95247999f8e0df94ea5bd5e38561ccfd051b0ea50ba9aea59b8f164736f6c63430008040033a3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564676f7665726e616e636520616374696f6e20616c726561647920636f6e73756d6564a2646970667358221220baf9de125dc49341cbed0f43911524681a894b6fbd9668eec9090b20285661d664736f6c63430008040033035f088008aa412f5c92c9cb41ef8ace00432154691bce99999ae05a65a0ee63ad01410d05581d02ecff2d08d3d0e14b339b7bbc901710ab138d207c8c65c93d532c8d990701195ca402192400035d234c727446ed39a9f40ddff69b4a7a750c8b694e1f6c74a83079fa80f75ef705581e03dfa6708b201fda269f8cbfd30eab0e6ddbe8fa3fbfb6880e7e24fef0f00c0147137402d0d6d8000219bd0203f305f122c6a48948249a915c51e59ecb9894d2bab6e848bc863baa73acfeb348037de6ed81977b4fd3f121421c6c9d4f00f653c8d3900770042d9a5bbae1be70f803c103944b684cbd5819e6f22a85aa22e4454f45f5483a92776ab295c6b962c4c90219ffff03409194eb79aed7e72027d9adc3df1e6f69791ed346f7521a4a8808f63a5ad607031938588dfeb7425dff20ddad12880d478362744054b1dee77ad42c371e4b020d03e44fe633f222950d9f45cfb7cdb993bf5300b51b2f99196a4d07efc506a4b0500303c9f86bba67d21deac557064994bf78f63b23a393fdea19ec62f784486cd07503370ec9e5b62376f36258057a90d0549b00604c967003ebb39fb95ef69f473d8203e02f47798004ce77b1caf039ca5a49ab6bb2c20b7517a1e7d1c446b9f94ee8d803ad7f5b677987fb71a1c3c45b64e194ed77f481fd20e6c5e6d98794317754bb8303031c16539be8560a493bdc2d5765009f1ae03326dfb446e3c1cfb3f14ee1356d03dfc7c717464884705f4612681daf7e65c7a58192289e652db10b9dd600a9fdd00219ffff03b8637dc268af0a1af02afca2e6f9b61694d40ebc4063da0e2555572152ccbd2b0219ffff0385fa2d4ad76420cc4fc6312acb54af0a28e41656dda273745dc9bdb5d3dbb704037742caba90fcbf97537dccddb9911a38beb6f026d5bfcc41811ef32aba7bbdec03ee37dbd4f367911cae7723bbe502eb1634ef1003d0d389892cdf1d2a2d2c8ccc03bf330d73e27c2254527c317d3bb41734e3a118f58e6b89d15a40fbf73bdc4a18031d32fa030ee2f25318359850ec2dbd4fef87a9c138a712eb253052af6151eb7c03cb77d0de56aa7723a014d9cdd615208741f37cc59bf3bb3bf27b1a5a454b1c52030f8039db14380f20fe20d290237f71140f01775edce91eb6a41de4e125a7161603dac1ac15b0e0f591f27246af76a90f76c2362921c6a46a22d73eb6a9b92348f203112299b7d7785f994874d70370871773a8a205e16434dc4aeb2bf3681b327c2f0390ca36c9399b730992cc0419d3e5894cdf7631e05b2c2c1f1601ce17239282d603caaa9bffeeafd0ac5c7df81d14b3ead51d3b8dc702da6cb3895b52290c9db42903d0b71313b61755ce8645c17cbc67368c91ade7516a2e8609f87c74d2953d82bc039f969a81bdfc98c6074a55e396abbc25e1eaf0159265c47bed347ff5edfe9ed5030e598f86edf62926e6bc22897d7f0857e1befea2a94eddde1e21f94855242ce603e49f94928c3e575db70eb1f76dab7a594e5a24fd69f65585b3b1d3dcd098c34d03c313588a639c47e5e86530b45219b8a100af8749b36ba69afb40c0d357d4a4a903cdd26ca3a848593f7a3d54d84928db35df9b7a61f156f936e4324954709c40f20304f252ac709330becb14f70be2fe9096a090d1c466966299c74104943e409068030e19793c92ccb715f1ed879d2e0b5bce285104a76ad4090140c00b8f1470b8d80362cea96d0efd9c259144845f612a6d0bc657f8add58f34cfbcd3e88fa46a3b9503e940af3718da976be1478a49cf181a8e331f24abf06f225c8260651116da8e8c0141060357ea5833e6b017ac71ad1c3dba5a9b971ebb12d76ec9f46258c3d8938036155a05581e034b582374ca690d639a50e4c5ad77fbe4cafce52db59895af9d5bb52320040405581e03b68b37366e34579dbfb790cbbda4e81d6ba3bd62743bf7f681cbdb98000c185547fe673948f60f4a035abd2be6ab8eda7494f9fa511c096dcb58a2b4c0e9c2c5c0ffb2266d6fc203a005581e03f03104ddf300f98fcc44de834d56fcab95284b8008fe71cce34676c0700c195579480a8a18707348d3f9031b4184bfc7b946107b1dccf75f4f8a8672705403b32785ccd85a6f4c972693de03ea68176de2dfabc17e7a2c7355f43d40cde675233a8a7841bab9741892c60cc40374ff3e8b2a98026d71901829f73a372f9d645b6245b573f06c0d50a451eed98b033f4e1196b4a3e3e323096d6436921c8bbd4f132ef9fb16b6bb20a6124d84e3c305581e034b55cd8e6bbe1d6c79b8b9d57cf9c6a2bb78a88ae34a1835baecda264007011bffffffffffffffff02192e6e03e945c3dd09ef3bb83d6bf8d434ec6caae742a01c0a53b50f6a5652b8eac5459f0304a30a52fb857632cbb883b2962225c5d7ae636978cfe2ad5d57288512cd3b680367d56c6aaf0fb688f3b65c676bf012a19a1d285a9bf20634d4cf4dc8da03e38c0329134d2808464dfd91314698d1b40a589a8736b39064705389141f8a76507a72036dbbefb0b58f7b6e6a5d9d65b079af34961b3ad93498e2aa93ce6c55f793b68b0219ffff03401ba87866e1030715a6834fbdf03a1b4b2a81e16f491ecba1b2215457ddb6c503a2c71a7c8ecbd35b9f24d454a1f40a7d17a1dada488c77b43b829352d2ee204b03ca929fbd1dfe312ea151956f465a0d98c8765df926795f03364172e80c2a17d4030953ba955d688148454c5bc14c16cd7c6051cb2114ab2144be65cd293be88e93031b109e8c97163147fe04a9b0427e72347e06817d8aaa29716d20d18e7641014d0397ad49c8e6727731ea62184ec1d55eab2a2e3ecd606076416c57a9c3dbf5ae690328b4bc01526602bd92e2889bfe70114e0ad8de74a2142fad304a09535dff273d036954056b281be6c0f3b5ca01729c3071775ca85ae08a0ccaea6590e4b20e6d7c03b0afdeced5f2e0ccc5c82bea5d8e114980564ae77a75dbd897cc734e6546775303caacfe61cbd91791aef956f6f4fc3f8719fdea47794c2130cb77ec2751486abc0368f55a976ae10eea093650fb11b7c4eace344e936c21f8d8c63f2dd3f91f30b8036396bd028e128dec328eaec3a30715e382c646f9272752c36389f6ee374abb780219ffff030a231b131e652c74399b51ebc9037593027321085192221cf26d6e3b2318f1300362289cdf9a9fbe7097a43bc7fa76d4794d801fb451b1ad957f77885a285c5742032c87359bda2495dda8b1ffc6f54eb3ea149a7071b76f1220c55e25e563d5b1fa0382a54c3e72d3d6126902ca589c02d00e62c6354ccce66ec113fe428eebed6a11035f16b12cf6d73af092c239082b470559176662867c458045256fa745880a7944034f49fdb804d2599baa15c82bcce4a50021a84ba63026d6cad9c3f9b5fb744ba703a63959c06f78110dee8d8f27e183fb5507e00e016c887a9644144d7ae8769135037aa6c0046136b3351a75586196f7841c95766dfab76d5767fdf814d1ef0c4bc5032972e21d1140046314e992865293205fc12a9cdda76d07faa2ca3906b9583089036c34d0b714bbce3cf8f7b512025b932cb0e2fbd560889abfd640a32b9ab48a7d0301eaa3dcb24191d8213ec5d5086537d9b45974f43b0be9054e88d6da81e63e4103a7af3ae2eae30349aa286fa7b2fe47720b078ba0e398733094a89bf5100294d4039f0cfe16d46de3333a851cedd52eed22a07725d4a5d007db7c8ad621dad648ab03f77643ff1abf80a46e5e81b5b89c4fad7e66aa032feaba61e67d89f002473d030219ffff039317bdebd6b875af541fabf510dc2fa502a26a6aa3a107973d3ac3c82824aaf90397b226a887f08e350a519e865ed86bff3b1e9492f4d2831a9fa90462e840ef9c03ad75e4a695f465248438b9181044a37ef7812f407b03fd015fbd0352734d73a603568fec0549353f207dae23cc6d8075ba9d9793f0ab6c61165d6971d10e4056c503777ed98219cbdfda1cae37e002396407ea98b51276bab78c3485452b41c642e0034dc3f0ff77759f1f46adeb322b86505d09f8af1e33ff0de10802829acf6704a003ea59dd90f0bd93e6435278681f7e55782d518465d10f61ac55655a4470f1a02e037bb6c7b49d24972d430ee736fc67097306e92866b99850a27fd4ce7136050054039ecf7e97ddade6a34f9fde92f8b43657f3b6730bcb8564599f516bb4975461c403d6ec73ad4a89eb78cebffdf757dd4925c9d2d1af1aae6827cc60dd4e093ef40d03148a52f830a5c5d68248364192457dc69b92ef64ee373b221c6b3925b9eb9fd103466be905c45ece61ddc6970b1fb4092532ee6a8b0f293b2d975b88d0d6966ffe033d3d853036d288d7b524ccb3c1cf0f65abec42c01ce7338496c4e977764f297403438d9ed1ebb7f2753ac73991f8781443aecd9cf16d57b1e6756e85837015ccd6037b2d8d7f80ac763c2837b59b3f7ab60750e8caf688a6e97abcef2cc8b51841160368c57fa58947af4579651fedb696e68c79b218d85a56ba7c681183e732d123860389b03ba66c1e22dc5c5375e6f59666ccc21a7b4ba5dd66d662953907d671ff050373f3c301a804c9cfd0d86d3a8686c12b4ded35310d685cbebfd9ef4fc787c5a6030e6e59156000fb32e03150fd01430194952f98fedf404aeceee300287318cec4036f9cfbc438fe7a4815cf5e2f0c1360eee50339facca3b17c8d13dfcbf8e499e1034c38fd4455e8656cf7ab530a9d93f4dda42849ddb2c041d9469daf76db3f3f3e0375672340aa819514bedc614372c354e0a078665475162ec16e1e8a1510472cdd03630bcb917b65b8808bf960c213942f7d1ca2afb26d2a80cba895c5acea9d659c03c4c0226353ecc8be24efa875abf409a14fb2ad774d3a1f3ece5bdcccdf4214ab045934996080604052600436106103d7575f3560e01c80638a8c523c116101ff578063b62496f511610113578063dd62ed3e116100a8578063f2fde38b11610078578063f2fde38b14610b19578063f637434214610b38578063f8b45b0514610b4d578063fe72b27a14610b62578063ff935af614610b81575f80fd5b8063dd62ed3e14610a97578063e2f4560514610adb578063e884f26014610af0578063f11a24d314610b04575f80fd5b8063c876d0b9116100e3578063c876d0b914610a35578063c8c8ebe414610a4e578063d257b34f14610a63578063d85ba06314610a82575f80fd5b8063b62496f5146109ab578063bbc0c742146109d9578063c0246668146109f7578063c18bc19514610a16575f80fd5b80639ec22c0e11610194578063a457c2d711610164578063a457c2d714610919578063a4c82a0014610938578063a4d15b641461094d578063a9059cbb1461096d578063aacebbe31461098c575f80fd5b80639ec22c0e146108bb5780639fccce32146108d0578063a0d82dc5146108e5578063a2657778146108fa575f80fd5b8063924de9b7116101cf578063924de9b71461085457806395d89b41146108735780639a7a23d6146108875780639c3b4fdc146108a6575f80fd5b80638a8c523c146107ef5780638da5cb5b146108035780638ea5220f14610820578063921369131461083f575f80fd5b80632e82f1a0116102f65780636ddd17131161028b578063751039fc1161025b578063751039fc146107695780637571336a1461077d57806375f0a8741461079c5780637bce5a04146107bb5780638095d564146107d0575f80fd5b80636ddd1713146106e357806370a0823114610702578063715018a614610736578063730c18881461074a575f80fd5b80634a62bb65116102c65780634a62bb65146106695780634fbee19314610682578063541a43cf146106b95780636a486a8e146106ce575f80fd5b80632e82f1a0146105e3578063313ce567146105fc578063395093511461061757806349bd5a5e14610636575f80fd5b80631a8145bb1161036c57806327c8f8351161033c57806327c8f835146105855780632bf3d42d1461059a5780632c3e486c146105af5780632d5a5d34146105c4575f80fd5b80631a8145bb1461051d5780631f3fed8f14610532578063203e727e1461054757806323b872dd14610566575f80fd5b806318160ddd116103a757806318160ddd146104b45780631816467f146104d2578063184c16c5146104f3578063199ffc7214610508575f80fd5b806306fdde03146103e2578063095ea7b31461040c57806310d5de531461043b5780631694505e14610469575f80fd5b366103de57005b5f80fd5b3480156103ed575f80fd5b506103f6610ba0565b6040516104039190612f8b565b60405180910390f35b348015610417575f80fd5b5061042b610426366004612fed565b610c30565b6040519015158152602001610403565b348015610446575f80fd5b5061042b610455366004613017565b60256020525f908152604090205460ff1681565b348015610474575f80fd5b5061049c7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610403565b3480156104bf575f80fd5b506002545b604051908152602001610403565b3480156104dd575f80fd5b506104f16104ec366004613017565b610c46565b005b3480156104fe575f80fd5b506104c4600f5481565b348015610513575f80fd5b506104c4600b5481565b348015610528575f80fd5b506104c460215481565b34801561053d575f80fd5b506104c460205481565b348015610552575f80fd5b506104f1610561366004613032565b610cd5565b348015610571575f80fd5b5061042b610580366004613049565b610db2565b348015610590575f80fd5b5061049c61dead81565b3480156105a5575f80fd5b506104c4601f5481565b3480156105ba575f80fd5b506104c4600d5481565b3480156105cf575f80fd5b506104f16105de366004613096565b610e19565b3480156105ee575f80fd5b50600c5461042b9060ff1681565b348015610607575f80fd5b5060405160128152602001610403565b348015610622575f80fd5b5061042b610631366004612fed565b610e6d565b348015610641575f80fd5b5061049c7f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b81565b348015610674575f80fd5b5060115461042b9060ff1681565b34801561068d575f80fd5b5061042b61069c366004613017565b6001600160a01b03165f9081526024602052604090205460ff1690565b3480156106c4575f80fd5b506104c4601e5481565b3480156106d9575f80fd5b506104c4601a5481565b3480156106ee575f80fd5b5060115461042b9062010000900460ff1681565b34801561070d575f80fd5b506104c461071c366004613017565b6001600160a01b03165f9081526020819052604090205490565b348015610741575f80fd5b506104f1610ea2565b348015610755575f80fd5b506104f16107643660046130c9565b610f15565b348015610774575f80fd5b5061042b61103e565b348015610788575f80fd5b506104f1610797366004613096565b61107a565b3480156107a7575f80fd5b5060065461049c906001600160a01b031681565b3480156107c6575f80fd5b506104c460175481565b3480156107db575f80fd5b506104f16107ea3660046130fb565b6110ce565b3480156107fa575f80fd5b506104f1611176565b34801561080e575f80fd5b506005546001600160a01b031661049c565b34801561082b575f80fd5b5060075461049c906001600160a01b031681565b34801561084a575f80fd5b506104c4601b5481565b34801561085f575f80fd5b506104f161086e366004613124565b6111bb565b34801561087e575f80fd5b506103f6611201565b348015610892575f80fd5b506104f16108a1366004613096565b611210565b3480156108b1575f80fd5b506104c460195481565b3480156108c6575f80fd5b506104c460105481565b3480156108db575f80fd5b506104c460225481565b3480156108f0575f80fd5b506104c4601d5481565b348015610905575f80fd5b506104f1610914366004613124565b6112ef565b348015610924575f80fd5b5061042b610933366004612fed565b611337565b348015610943575f80fd5b506104c4600e5481565b348015610958575f80fd5b5060115461042b906301000000900460ff1681565b348015610978575f80fd5b5061042b610987366004612fed565b611384565b348015610997575f80fd5b506104f16109a6366004613017565b611390565b3480156109b6575f80fd5b5061042b6109c5366004613017565b60266020525f908152604090205460ff1681565b3480156109e4575f80fd5b5060115461042b90610100900460ff1681565b348015610a02575f80fd5b506104f1610a11366004613096565b611416565b348015610a21575f80fd5b506104f1610a30366004613032565b61149e565b348015610a40575f80fd5b5060155461042b9060ff1681565b348015610a59575f80fd5b506104c460085481565b348015610a6e575f80fd5b5061042b610a7d366004613032565b61156f565b348015610a8d575f80fd5b506104c460165481565b348015610aa2575f80fd5b506104c4610ab136600461313d565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610ae6575f80fd5b506104c460095481565b348015610afb575f80fd5b5061042b6116c5565b348015610b0f575f80fd5b506104c460185481565b348015610b24575f80fd5b506104f1610b33366004613017565b611701565b348015610b43575f80fd5b506104c4601c5481565b348015610b58575f80fd5b506104c4600a5481565b348015610b6d575f80fd5b5061042b610b7c366004613032565b6117eb565b348015610b8c575f80fd5b506104f1610b9b366004613174565b611a59565b606060038054610baf906131ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610bdb906131ab565b8015610c265780601f10610bfd57610100808354040283529160200191610c26565b820191905f5260205f20905b815481529060010190602001808311610c0957829003601f168201915b5050505050905090565b5f610c3c338484611b0d565b5060015b92915050565b6005546001600160a01b03163314610c795760405162461bcd60e51b8152600401610c70906131e3565b60405180910390fd5b6007546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e743905f90a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610cff5760405162461bcd60e51b8152600401610c70906131e3565b670de0b6b3a76400006103e8610d1460025490565b610d1f90600561322c565b610d299190613243565b610d339190613243565b811015610d9a5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e352560881b6064820152608401610c70565b610dac81670de0b6b3a764000061322c565b60085550565b5f610dbe848484611c31565b610e0f8433610e0a85604051806060016040528060288152602001613417602891396001600160a01b038a165f908152600160209081526040808320338452909152902054919061262d565b611b0d565b5060019392505050565b6005546001600160a01b03163314610e435760405162461bcd60e51b8152600401610c70906131e3565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610c3c918590610e0a9086612665565b6005546001600160a01b03163314610ecc5760405162461bcd60e51b8152600401610c70906131e3565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610f3f5760405162461bcd60e51b8152600401610c70906131e3565b610258831015610fad5760405162461bcd60e51b815260206004820152603360248201527f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e207468604482015272616e206576657279203130206d696e7574657360681b6064820152608401610c70565b6103e88211158015610fbd575060015b6110225760405162461bcd60e51b815260206004820152603060248201527f4d75737420736574206175746f204c50206275726e2070657263656e7420626560448201526f747765656e20302520616e642031302560801b6064820152608401610c70565b600d92909255600b55600c805460ff1916911515919091179055565b6005545f906001600160a01b0316331461106a5760405162461bcd60e51b8152600401610c70906131e3565b506011805460ff19169055600190565b6005546001600160a01b031633146110a45760405162461bcd60e51b8152600401610c70906131e3565b6001600160a01b03919091165f908152602560205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146110f85760405162461bcd60e51b8152600401610c70906131e3565b601783905560188290556019819055806111128385613262565b61111c9190613262565b6016819055602810156111715760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420353025206f72206c6573730000006044820152606401610c70565b505050565b6005546001600160a01b031633146111a05760405162461bcd60e51b8152600401610c70906131e3565b6011805462ffff0019166201010017905542600e5543602355565b6005546001600160a01b031633146111e55760405162461bcd60e51b8152600401610c70906131e3565b60118054911515620100000262ff000019909216919091179055565b606060048054610baf906131ab565b6005546001600160a01b0316331461123a5760405162461bcd60e51b8152600401610c70906131e3565b7f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b6001600160a01b0316826001600160a01b0316036112e15760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610c70565b6112eb82826126ca565b5050565b6005546001600160a01b031633146113195760405162461bcd60e51b8152600401610c70906131e3565b6011805491151563010000000263ff00000019909216919091179055565b5f610c3c3384610e0a8560405180606001604052806025815260200161343f60259139335f9081526001602090815260408083206001600160a01b038d168452909152902054919061262d565b5f610c3c338484611c31565b6005546001600160a01b031633146113ba5760405162461bcd60e51b8152600401610c70906131e3565b6006546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b05674905f90a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146114405760405162461bcd60e51b8152600401610c70906131e3565b6001600160a01b0382165f81815260246020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146114c85760405162461bcd60e51b8152600401610c70906131e3565b670de0b6b3a76400006103e86114dd60025490565b6114e890600f61322c565b6114f29190613243565b6114fc9190613243565b8110156115575760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263312e352560e01b6064820152608401610c70565b61156981670de0b6b3a764000061322c565b600a5550565b6005545f906001600160a01b0316331461159b5760405162461bcd60e51b8152600401610c70906131e3565b620186a06115a860025490565b6115b390600161322c565b6115bd9190613243565b82101561162a5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610c70565b6103e861163660025490565b61164190600561322c565b61164b9190613243565b8211156116b75760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610c70565b50600981905560015b919050565b6005545f906001600160a01b031633146116f15760405162461bcd60e51b8152600401610c70906131e3565b506015805460ff19169055600190565b6005546001600160a01b0316331461172b5760405162461bcd60e51b8152600401610c70906131e3565b6001600160a01b0381166117905760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c70565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005545f906001600160a01b031633146118175760405162461bcd60e51b8152600401610c70906131e3565b600f546010546118279190613262565b42116118755760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973686044820152606401610c70565b6103e88211156118da5760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201526906b656e7320696e204c560b41b6064820152608401610c70565b426010556040516370a0823160e01b81526001600160a01b037f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b1660048201525f9030906370a0823190602401602060405180830381865afa158015611942573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119669190613275565b90505f61197f612710611979848761271d565b9061279b565b905080156119b4576119b47f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b61dead836127dc565b5f7f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b9050806001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611a10575f80fd5b505af1158015611a22573d5f803e3d5ffd5b50506040517f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb92505f9150a1506001949350505050565b6005546001600160a01b03163314611a835760405162461bcd60e51b8152600401610c70906131e3565b601b859055601c849055601d839055601e829055601f81905582611aa78587613262565b611ab19190613262565b601a81905560631015611b065760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c6573730000006044820152606401610c70565b5050505050565b6001600160a01b038316611b6f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c70565b6001600160a01b038216611bd05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c70565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611c575760405162461bcd60e51b8152600401610c709061328c565b6001600160a01b038216611c7d5760405162461bcd60e51b8152600401610c70906132d1565b6001600160a01b0382165f9081526014602052604090205460ff16158015611cbd57506001600160a01b0383165f9081526014602052604090205460ff16155b611d235760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b6064820152608401610c70565b805f03611d355761117183835f6127dc565b60115460ff16156121e7576005546001600160a01b03848116911614801590611d6c57506005546001600160a01b03838116911614155b8015611d8057506001600160a01b03821615155b8015611d9757506001600160a01b03821661dead14155b8015611dad5750600554600160a01b900460ff16155b156121e757601154610100900460ff16611e43576001600160a01b0383165f9081526024602052604090205460ff1680611dfe57506001600160a01b0382165f9081526024602052604090205460ff165b611e435760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610c70565b60155460ff1615611f88576005546001600160a01b03838116911614801590611e9e57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b031614155b8015611edc57507f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b6001600160a01b0316826001600160a01b031614155b15611f8857325f908152601260205260409020544311611f765760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610c70565b325f9081526012602052604090204390555b6001600160a01b0383165f9081526026602052604090205460ff168015611fc757506001600160a01b0382165f9081526025602052604090205460ff16155b156120aa5760085481111561203c5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610c70565b600a546001600160a01b0383165f908152602081905260409020546120619083613262565b11156120a55760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610c70565b6121e7565b6001600160a01b0382165f9081526026602052604090205460ff1680156120e957506001600160a01b0383165f9081526025602052604090205460ff16155b1561215f576008548111156120a55760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610c70565b6001600160a01b0382165f9081526025602052604090205460ff166121e757600a546001600160a01b0383165f908152602081905260409020546121a39083613262565b11156121e75760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610c70565b6023546121f4905f613262565b431115801561223557507f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b6001600160a01b0316826001600160a01b031614155b801561225e57506001600160a01b038216737a250d5630b4cf539739df2c5dacb4c659f2488d14155b15612283576001600160a01b0382165f908152601460205260409020805460ff191690555b305f90815260208190526040902054600954811080159081906122ae575060115462010000900460ff165b80156122c45750600554600160a01b900460ff16155b80156122e857506001600160a01b0385165f9081526026602052604090205460ff16155b801561230c57506001600160a01b0385165f9081526024602052604090205460ff16155b801561233057506001600160a01b0384165f9081526024602052604090205460ff16155b1561235e576005805460ff60a01b1916600160a01b1790556123506128e2565b6005805460ff60a01b191690555b600554600160a01b900460ff1615801561238f57506001600160a01b0384165f9081526026602052604090205460ff165b801561239d5750600c5460ff165b80156123b85750600d54600e546123b49190613262565b4210155b80156123dc57506001600160a01b0385165f9081526024602052604090205460ff16155b156123eb576123e9612b0c565b505b6005546001600160a01b0386165f9081526024602052604090205460ff600160a01b90920482161591168061243757506001600160a01b0385165f9081526024602052604090205460ff165b1561243f57505f5b5f8115612619576001600160a01b0386165f9081526026602052604090205460ff16801561246e57505f601a54115b156125235761248d6064611979601a548861271d90919063ffffffff16565b9050601a54601c54826124a0919061322c565b6124aa9190613243565b60215f8282546124ba9190613262565b9091555050601a54601d546124cf908361322c565b6124d99190613243565b60225f8282546124e99190613262565b9091555050601a54601b546124fe908361322c565b6125089190613243565b60205f8282546125189190613262565b909155506125fb9050565b6001600160a01b0387165f9081526026602052604090205460ff16801561254b57505f601654115b156125fb5761256a60646119796016548861271d90919063ffffffff16565b90506016546018548261257d919061322c565b6125879190613243565b60215f8282546125979190613262565b90915550506016546019546125ac908361322c565b6125b69190613243565b60225f8282546125c69190613262565b90915550506016546017546125db908361322c565b6125e59190613243565b60205f8282546125f59190613262565b90915550505b801561260c5761260c8730836127dc565b6126168186613314565b94505b6126248787876127dc565b50505050505050565b5f81848411156126505760405162461bcd60e51b8152600401610c709190612f8b565b505f61265c8486613314565b95945050505050565b5f806126718385613262565b9050838110156126c35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c70565b9392505050565b6001600160a01b0382165f81815260266020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b5f825f0361272c57505f610c40565b5f612737838561322c565b9050826127448583613243565b146126c35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c70565b5f6126c383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c91565b6001600160a01b0383166128025760405162461bcd60e51b8152600401610c709061328c565b6001600160a01b0382166128285760405162461bcd60e51b8152600401610c70906132d1565b612864816040518060600160405280602681526020016133f1602691396001600160a01b0386165f90815260208190526040902054919061262d565b6001600160a01b038085165f9081526020819052604080822093909355908416815220546128929082612665565b6001600160a01b038381165f818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611c24565b305f9081526020819052604081205490505f6022546020546021546129079190613262565b6129119190613262565b90505f82158061291f575081155b1561292957505050565b60095461293790601461322c565b83111561294f5760095461294c90601461322c565b92505b5f60028360215486612961919061322c565b61296b9190613243565b6129759190613243565b90505f6129828583612cbd565b90504761298e82612cfe565b5f6129994783612cbd565b90505f6129b5876119796020548561271d90919063ffffffff16565b90505f6129d1886119796022548661271d90919063ffffffff16565b90505f816129df8486613314565b6129e99190613314565b5f6021819055602081905560228190556007546040519293506001600160a01b031691849181818185875af1925050503d805f8114612a43576040519150601f19603f3d011682016040523d82523d5f602084013e612a48565b606091505b50909850508615801590612a5b57505f81115b15612aae57612a6a8782612eb4565b602154604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6006546040516001600160a01b039091169047905f81818185875af1925050503d805f8114612af8576040519150601f19603f3d011682016040523d82523d5f602084013e612afd565b606091505b50505050505050505050505050565b42600e556040516370a0823160e01b81526001600160a01b037f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b1660048201525f90819030906370a0823190602401602060405180830381865afa158015612b76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b9a9190613275565b90505f612bb8612710611979600b548561271d90919063ffffffff16565b90508015612bed57612bed7f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b61dead836127dc565b5f7f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b9050806001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612c49575f80fd5b505af1158015612c5b573d5f803e3d5ffd5b50506040517f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d92505f9150a16001935050505090565b5f8183612cb15760405162461bcd60e51b8152600401610c709190612f8b565b505f61265c8486613243565b5f6126c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061262d565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110612d3157612d31613327565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd1919061333b565b81600181518110612de457612de4613327565b60200260200101906001600160a01b031690816001600160a01b031681525050612e2f307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611b0d565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790612e839085905f90869030904290600401613356565b5f604051808303815f87803b158015612e9a575f80fd5b505af1158015612eac573d5f803e3d5ffd5b505050505050565b612edf307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611b0d565b60405163f305d71960e01b8152306004820152602481018390525f60448201819052606482015261dead60848201524260a48201527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03169063f305d71990839060c40160606040518083038185885af1158015612f66573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b0691906133c5565b5f6020808352835180828501525f5b81811015612fb657858101830151858201604001528201612f9a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114612fea575f80fd5b50565b5f8060408385031215612ffe575f80fd5b823561300981612fd6565b946020939093013593505050565b5f60208284031215613027575f80fd5b81356126c381612fd6565b5f60208284031215613042575f80fd5b5035919050565b5f805f6060848603121561305b575f80fd5b833561306681612fd6565b9250602084013561307681612fd6565b929592945050506040919091013590565b803580151581146116c0575f80fd5b5f80604083850312156130a7575f80fd5b82356130b281612fd6565b91506130c060208401613087565b90509250929050565b5f805f606084860312156130db575f80fd5b83359250602084013591506130f260408501613087565b90509250925092565b5f805f6060848603121561310d575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215613134575f80fd5b6126c382613087565b5f806040838503121561314e575f80fd5b823561315981612fd6565b9150602083013561316981612fd6565b809150509250929050565b5f805f805f60a08688031215613188575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b600181811c908216806131bf57607f821691505b6020821081036131dd57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610c4057610c40613218565b5f8261325d57634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610c4057610c40613218565b5f60208284031215613285575f80fd5b5051919050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610c4057610c40613218565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561334b575f80fd5b81516126c381612fd6565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156133a45784516001600160a01b03168352938301939183019160010161337f565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156133d7575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204b2e5ddde259843cfd35b1a14feef733eddc9cf513b2518e487d7e3f31b2534f64736f6c63430008150033033c3183bdd2e90a1ff4dd91d2d5745ff1924158525b8107fc268318b37bbd2bde03eff30769f75920a94a49f893919088094d4ab42f812a1c0d90c5fd01d12a2df00305525b262ba89fd08b385d22b7416830c5965bd33b73793473188e0101c57ce2005820034266eb4362e5beaa5d5c11eb98022ed6e02536568a09ac1bcae07bebae2b904603e0146b5f4403bd37be05b32794e4600444aa798e74972c6ca10ef006c4ee917ceba1525c2a4c005820037e50c1456ba056573878a6906b7f65331f0f5ec68287c7a4bb902678eeb1304d016392321bb4fba3dc89d3950c005820039f024faf7124f0daece5d7161f2c3817e3cdc692f2b5ef9c78320a08add2304d044ac936f0eb2281db8e9d801e00582003840f24a15ccb6bb47ba51024a96380b350963200fc3e537fcfa904a1eb24a04caac9a931dada27a4598118f1021930310391a89c55a746c26e57aa470a8c71d3d9a9aa5bad25670eff227ba9208f0aaa67033acf0a040f01760ba7acc654365289e47181280f5c4b8d240ec975fc656cbdf6039a8d938f775e1d231a3f18eb61a73eefc13121211d0db3346d81dd80d90ceb1e036012de0c94e64cd229c3a1f0e0b6d5ca3acbfad9cf69d3f79d833a4ead147b4d038ed7f45cb34bd80bcc2eab0bd2e49cc611e0dcd5cb953647250e855aa0646c2b0304200126303dcfe4173275e8545ce87564a5dc5ee4301c25abab80e06d3d8a27036fb3ff4d1bc3e399edf69c548d8a43de5c35c8a3e221870623630c12edb0707503cb01c9c7e1246a78306a5073d916cb1bc8da4068585b37cbc1dd01e9f4565c7c03948d69d58dfb099c19450d0ca6e6d7f1b2f78182ef6be0a7e535046b736d314e0351807b02fe38592608f1a1e242354936a4a92f36df0bb9b5b77592aed14950db03e56d502d5fd46eca159e188965cae009d5572276a9707ffb9c902e2cdb7f29e3035a3910e8931127cdffe29d47952ec5e24d1ba79f4b703c03c12fb8a294c75e560219ffff0307c1899d5168426c1574ac180d40ce45ce133fa432c753326e5091669fd17ba3032c1377698531e272fa4de0255238a8272bed1283d95b69e6c8d273e635d6209203353ff8df5a420e079f52398e5315b9170dd67b4ba229f706ed05e7ac9808ac050058200390a46916643754b373f771d414054b6b55f82207e42d2ac460dd800e1687105820fffffffffffffffffffffffffffffffffffffffec6f618d53549ef0a7dbd6c73005820038774ae8add891547fa4f41121aa10ca6054b1e7a7a94b608cb9c28bcd87cf04d01bae38f2651618f8823d1cf61005820039407801fe15d46f0f311fc9b05fe22f6ea8183a7be19e6f1b3c731565823f05820fffffffffffffffffffffffffffffffffffffffeb2abe805936b600d8289f678036f8122e152179d644e5fc29a32cdb828fbb7b2ef25aebc6c47ec249d85de82b600582003877e9d1cca95586a62756799a59e75cc21080bab2607c335468ec2c180b8804d0b246cb4d8dff299f01182684f00582003f2a10174c960a4bc954db4b588bbfb9dee552a10b2a00b4f088e9596ad5df05820fffffffffffffffffffffffffffffffffffffff636e683b29b12718dcb7e4d100058200372ebc463bcc547af5dba98347e8eee7254cae662d46303bd10d6eff177bc405820fffffffffffffffffffffffffffffffffffffffffffffffc2f8f10c88383ffff00582003a67165440457fc95e3b1b2e080b215f783f9ab3b1aae1680b30524c4a467505820ffffffffffffffffffffffffffffffffffffff878e065659e8f63c232883117e0219e6d603d78fb1cac5061a99a2da8d50560e7b7aa1c9c8f06df8bc95704db04b4bed935203aded1c830f230ffc95548526ea5b6648e8c415119e1d8adaca8249a2cd92014b035b41f80f0acd5618af3a388ff4052a1173513962db8c17e30799313ddd8a4db10318a8ceaac07b144e2af5cfc0db2849383d015b11ef7545f7b8da8dcef9ed43a8031a7fe3d1724022f82d0f81fc93f3964e4397412041704365a9c328f5972716b803ac802a58aa42ca1a037505234002129618d69c1ab80381fcc02ea74c5df785470399dee86c196e9e53ce474a915adc09a8d3c3949535429edcba3ffd317201ca9b032c3137e27480b6306f0dfdca893bb10974fa18fa1583f55a086ce3c53e9901170398aeec15c29069a230678395ff7fa030314322aca548cd022a3700d5907115e4039a17aeb0978c952567faba73b2d0da38da19e00c113a2dc51d11d87c0f588e7503136379c3ee39b9c20993deb1287cce2ea662e6d76e717d0344ce71c043a7387803f6353a86242255923cbf774b6991ad1286c54ada03d91de6c1a3ec9236c7b155038ccc57411f3f224995c49512a00c17f782a78f47a772d76ff1f2fb7e8a8fc6a6033d3022f10e45b88a34e34950ef4859f31bfe823ca8a72d02b3c59b41c20195410219ffff03ea26045f137ab377f9a5d85f141e9625b345f63b4f31de4f188ca8c8a327322f00582003cbf95ccb1f518fc83a78b917ba42329418a89251e2cf3ca9e977d0b29a61a04d0e64acb120fa9ce86b55e8d5a2005820037b646cc660c76649d3f8317042cf2aa34025c35d5f0c4120a9a64b9ab842505820fffffffffffffffffffffffffffffffffffffff828464d5401f929c82607ffff0058200319678b384a7d973c396c1104044787d4ba627736240b55d507283c8d8784f05820fffffffffffffffffffffffffffffffffffffff5581d63f7fdb9e022428da63800582003a19694b81110a9b380054e25e4cdbaa3cfcbfcee97076f60927bacacbda5f041010219068403dde9eaba4eefd4145a5cf7356e1184676c3cde389456ebe829c5bb5df281bdbe0343dc8fc8af59e8aafc8a74c977f1bdb9a2f35ed0cf1d9de60d071d98cab5415c0323a429bdc8ba84213cca5e72627f0beb76192d43c6f96627429a6491373d2edf0340fd7286a455088297004196a25743e3166ab350f663220a079caaba3b01760b03c7393007a8f0d99cde06e1d2989969ffaa73a531a85d5f111e3d7b5003379f2303d7c0074def420cd255a6475cac94ed2deba3e023f8c2cdd2b8709357aabcceb503c428c5ee527ebb3f5ac597744a370e37f1995854f6c2b95adb7d7285aa0bd1e803a4ed005985c6a2e503e079b02d3f22375604583e2fafdedd71571f2c8770328d005820038fd8c661c08515c817f661f6373058fee5f930946c2d5e4f00d2ea9c1604804c172650b780014b2dc393070800582003dd22f26ade0ba891cd4afc505931d6886d7a0839fe06ef5d58e97d2c553120440134c88100582003570891fe85aa8398cc2e7267cb360afa262218099d33524f00194651a092705820fffffffffffffffffffffffffffffffffffffff203e3d6793d10fb7c9d8dc95b00582003a5e357cfb45720e03a480ffe538891494f96e69f1479299b205ed923584f905820ffffffffffffffffffffffffffffffffffffffff075f27d27f2b1a6bdc2cc294021960220376ef26ded257a88fce56bceb33cca6854dd7ca562e77efb3f04137b2379ad72103c12fe67cf35d7096c48ab9be54884a6134ff8e65386b8028db21bfd6d79ed2120386f346912cd1452f7a2fe39af93e9be297fddf47aee701948272d673514fb45b03ed66ec5531fd1af219e26d2bfc6b67b1a455cb4f5fe9906eedef30d62ca1521803f3fac5ac3e52674a425d9a0547f96a0865cd9970079909809e5ad363bcbfc29b0219ffff032b452ee0efdcbaa905dacbeb8733be62deece054c454ced98d90099d5a0da1cf0058200316ea9e70e5d403a94eb94e5efb133368cd1f6d927209c313cfb9e03f4f7cc05820fffffffffffffffffffffffffffffffffffffff9ba61ddd236485bb28d139cf3005820032678f1c02bbb6d398eca5ccbeb864e63a37436e0d82b49b69f2de4791433905820ffffffffffffffffffffffffffffffffffffffff5e70f828c7e29c467885bc6200582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680440101010000582003bfdf82fd2314f348cc9f9d70b98ccbdecc5ef99bb8ad02806970db840fbef04d2e5b90f9d9f5f1a08f564cc40c0219c0a0039f0c7a4ae3bd31453072f5dfc46af83539e4c7099aa96301e1761ace12e51b84037e022a5d9c0aca67110e8a39a4ca023118f35ae927e819c712d815141b2c77d503b2c5cb98a98020600774b81e7234d6430241112ca64a54c151abf2f014531a5d032c9991a94c427ed7b7a07d4578e4232d249778a82b19180b45f9a258c6c712c1036dc15b5c2516518c7f0f2dd53373a53609d713d58a5694f9c4b58e599364ba4203a642a56e9f365b2db29ad3f3459390dc007a700849d4c39e71cefd6ecdebf53903b53c5348faf3d904f3d927352f302327068671289a0a4453fc9c21b92193e025035d1e691cd90156f51db33221a0b8a317c18f1c6bcc14d17d2a7440882be321e900581f02b9b520fbd6aebcfc2a5f82cccbf094c61d049acddb4ebea43a120123bfd04e013e880e8ff5b2497c910c25152503f820a22fcc10432213996d6e6d32380bb6cfe4118f2edf750708e937e90f78e3014108020c036a0564f121fd6ab7007b96629efa0078fdeeb0baeb85ed7b51fa7841e05ccce301410700582003fc23e3877289a3f1a838476b45e5122a927098230dd88f99090692b6dade30440134c882005820032b1f1c7ae4008ee85f4cbde1dd4b4d77b8f62db4bac98360802d203cff52205820ffffffffffffffffffffffffffffffffffffffffd887240a82d94b16a2ce0266005820031cc2e80c1a5df07372dc4097217b18b04d48ed3e4fabaa0c544d7db58e67904d076a08e890f040f82679e368e500582003a2c05d225a98dc394f237513dc8325ce1d22dacef0dd05f7627216c49cb7105820ffffffffffffffffffffffffffffffffffffffe65a78aa1fc87d62a0867fffff021954980321c065d3e4baf0ce62e8369d4d58482ef7bba1414df7d357b8ac5f97ba8af048005820021e016c05fe39891766c1937031fe4a29841cddf31bcd11884a438e897349965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c779a2ffd1fc6b930086c246a7d7369d6ae1c2013015ebdf8246df528e27ff51036d717f4f56574ba933b8fffb53ebe30e865481a9640bba7ce3f7b850a59a8d0a03e40532ed8f47b7416eff1e366e13c8a5d60ad56d830237c66463f49fa7a778a40219ffff03021be1492ebd3d14dbede833dc6a13705d5092952603da52d7bbfae88575f2d20331831958d5182ed09745653c6f5694996d2995ab994a1927918191ea5e4fd292037e91b2b46a462959fd96ef714511b602a22150b3bda21df1b7757e195e08e9e203ea1219b97db12e2fd7eb09fa18e781cf6ba7e62907d0fadbe2df245f8537be23037de6856e8cd0b08c04c6c97a39bfd1ca286b8a6f844ef0c9a0c492946f86091f03bfb097eb1c24a0297c6ae18dd2a16237f5590aa904ad07a64f0f670b7739abfe039b0fa7bcbe690b2322509e777aee605bcec9bc5ea6e178a59264afb9ca3b28d3038c7ab8612f2853230dd6b8409d0a01aeccf544d92918f50a18d44bd3f2f33ae8033ff9e03431e0f527631285e5f4560d8e939b87655a182cf4afdbc1481fde96dd00582003ddcdb8b2f674c4ccf848267a79a29912c9b76c39142e4bbaf50857f52619e04c344c623bd24c77084465e695030d917acae4b49917f54ea48fe150a60b7b28106cf3c9c8e04019e4f0b045e80d0058200342fa422913087d948b45bc28ef3c3e3299b3a45669e3fa34cafb1f604b25c04c6d39ecdcd4ad91c3fc63516900582003f118053126098fe540d87abce9783e569042cfc793253f3ee6ff5ba2d9efe04d0753df2d7a0527e372d6949a2f00582003944b2b1ae42845d768d7661fdff3404ae726a361c5bb4e9bb189134b65fcc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820035af84ec0c94e1d38a1dea33a9281f41aeb64bee1538500a32e34409a7c9ad05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219052b03d9a91c010ebe82d1d6e43d47819de80719f816ce6fdc508312d51873435c4aae033fd170374f5ce3f3a2083bb0dc7b982333fc7ea6717640a2e64bc78907f1107f00582003b759b3b59c1579c656f164ba849e1179b3da2da609384cc41b32b93428a4904d17ca275f7f223d8bc8c97a41a0005820037401c188246baa7d067763ecae17564502e92beec23d02331f2dc85c530ad05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c78515ec9118ef3aa39bf44aee0242d762fa8a7a88466fd97d0c2ae94d72604cd65bf34c9a69b102df9e401a0331dd564d7eebc27a6bae16cb2b0d1e3cafd9d7adbf5cb3ea7c609a422738ebd602198106032c16ccba43d74cbdfe285553f2566142b64f2e44c3b3c8ebdb7de85f3eaebac30300a04c40997f4200abf1fbf7ee3e80c97a2c0c83124e664391a2f789d601a80103844cf9c51627dc977ba4398855d6b917a6aeaaa072f86eab54d0264f8636e9c103354e341efdb3e8210a421ded283b4f5a3a05d3f121a9fbe061536df6fc3ef31d0219ffff039cf5750d2e6b2794a97352399402dd092e83b435b214db0892358b8e3495681b03f3eb085c392f7896c81d81054cfb58aea85e5ee105b5cb64410a9f7c8f9dc9ee03f01baaa04798b282f24b11bdbed27316eea6de86c0226e9d97e083f4f85b0f05034271c11adef27d91e69ba3d9c1fd4b663fef9468dc6f6ef57d4f6b4e7da487ad038b801e6febe4071b813fe2fced1021812acff98fc54b0583261483eeeba13add033d6bf1ecda5c23d6f059f1154cea0df9b32e3b0810dc6475b6688b28f04b6c870338d89acf3d3b4983640e8310b5eb68ddd8482906c36ec7aa586c58ebd030771103690c2b751d862b78c2a1a6f9d97fd58d37aeb3a25d523e39b0c632ff5b46ade1036ed195336dea650c2ca0f5cb4fd9da44f3de0e57e6c286047c755bd0d8809053039d7e36328637b6169acaf3bdc38470985a7af2601b28d8d8901ddc525753801e034acea80a1b91b6b7939605c7ea5047bbb5c6e31e37793a2ba343deecd94dc015005820035008cbbeafae11064d7b9a0ac6afd179f3bd9b60cfef593f80c4db96c73fc05820fffffffffffffffffffffffffffffffffffffff441a89d686baa103fcd8c9e4c00582003783a75b1a9afadd35ba4cb031e14cacc8f2657e6b77f604d91148b79e5a2605820fffffffffffffffffffffffffffffffffffffff8f7c557619834ca993545f21900582003b09150e7dfcd1498dfe9f059443ff93a57eaa39fad0cd6497f00f279f199304d1cf7c05b8867a70da6696b91fa005820032a2d967df76239802413194c40b66bd4311c0948d0507ad121dfa2f3f858c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219098103f004cdbe4827f83c430035c8c3e0db7c63e3ee462eb0f9b86055d832fa39174b03324f8b74093123f6cf67e3c4802f4898c057ae6a736a193bba79b8a40ea37ea600582003ad98e28ea627cb96764289e3b1d7f66f5ae4565b09f7590052b97b8ac605905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04d02a7a94e5292bb5e3449000000039fea358567d493cf47285150aa0680edfd28b6718fe6695a80db9a5960402e2401410400582003a59aa1c4d358b28d673f612ec3defa07d998927b93b6be43298958aebe34104d014e46dda4ad5e791a25ffbb42032cb6a5d65efe27c9029a6c524ecd333763184dcf780983218b3e15b1767a546303fc941c34825d82f97366b23befeca9f76820e709cc0895082d8c9d49dad421c803f5798524c489972d7345d50bedd46da43c0d8156b98bb3396578757f1349a6fb02197a0303812584eae8c93830fcc2aa3513834e719d7be332be02ddc21a6e7c2306456e180219ffff03278850806f46e9a0aa68db01db2e14fc07fde485776189f2468fa84505a8087103fab625868f8615ccc90991990e96454104ac1e827eccf2defeb9db075d87ded3033e7a5a6b8a6b45f26af390dd9b630475f6dce5f8f2097f360b173405b396edce005820039457203ddb6f864dfe141555345187fcd4973f23580bde3a1a1c403209f9204d02459c82a05e9a2ad32000000000582003c64f8b73d027d00250d61b7262702145a91c05ce680b239712e6b9d259caf05820fffffffffffffffffffffffffffffffffffffffe80c3ea5552087f051453ab760058200329f0cebf6930854c39421692c8517915c9ad8cb263c63c1a75713b0677deb0440134c88402198480038fdb0d82821dfdc76b0d07d29055e9e5133c8090640b08d8657f04a4a093592803610a374973e6ba3905fe7b3ed02597a513249f40f0be43691eb0eb797041cd370319d41346bb01ca2293434add675eb5919abecf07499e31e4a88016c213172fe203658cf1ee6263cdb7012edafb15fd4876cac75b83dcbede9b75b7d991236d720103b14d322daafca57c169f031dbaf2c5ce307010a5eba9d14db1089cc73d9fb06c039361e8da7a2ffea6cf148c7e839238f87691ee9953cd5b1e381cd8efb394584d03d80fc74d2c067453128b06812d9735b36639c359f2dadc244ecd1f1582e0a0bc03816b4164d50994e6862e86ae8cd16b5f270bdd6443de3c4d6d09622b61a95fd803c452b0b851b66983cb298d3f8a632a0535dfef0594450c127ffc1c9e4d16ca6403e0f458773dd810224325c0e07daf60e443d60227160cd6f20735acb515f792f1032e42e5ec0919040e7de2f0af4cdbdab2d44eb9b3d566cb048a92d738f5d8c99e038ce8441a5ef620ec02415dd8cb4b8357dfc176661c349ecc37dede2ee925a7400219ffff0388a4f16fe59094cc14229efb21106ad9dc86a9d44a203fb962548a28614e95c80397b82bde22454ace2e044e75fecc619f8f00faf051a438efe7fe3e4e18b0e87b0326f2bbacbdfcef42f8707291823bf205b6b82ae65b444300fed3f48caf57b81503fd18f874f32f9bd7bf3e2da3016677281192988cab90f6a274ddd8b820051db9033ba6a2fc2c8e3370f04f6cb7a67527d1d1f3e82e61f5866c4db5086fa544275003f5eed0374da9990d951424c133ebdcfad0db96e4b5bb9380e1b8fcad3e26f5e503edaa600ec1315ff33c09a949ca00a68b0a16a653018ba752829024c24d78074a0316037c9d759ded0b7f2fe7820e01bdd0fa7c6e045cf16e5ef065cdde59d1089603999849b9e9b44f10b1fc9db74c95c2798f2a2a07523825e5875dec0daf9eefc503c38bc2d99d043ed10a62941cd8b2dc152cb61e358b021264afd3c4ed3c1b118c036592d93548f1007bfc91a78b4490646cdf21b7d36d85aae8f9298a443de272e80327917ec91e9f3bf030012c2fff9778410b90b9659fd705bc7f3440c27c4b462d039998837e43263d1129fcd60e735f362c3eda756a8668dc0922cf871aba655ec200582003176cf57066ea3941253dd9237f77eaeab35fccb4fdc0724eba8ba90ab8cbf05820ffffffffffffffffffffffffffffffffffffffb77a43e0aa617df7716f29784003b246c1064e77a19326c286c3e3765daa760ebb6eaff9681311175bc5e0549cba00582003607a6105691448625d8a8e7e61e79d6d2b0d8eeab5a87af75653c6934f1d105820ffffffffffffffffffffffffffffffffffffffe397d161b53fb34cff05bf3bd6021990800385488903ed287559ddfd138e09b1f63db380d9220cd505929d592e4fb1087ade03e6786f873ef519fe48587e3f575adcf5b3fd6ba79b14064e4c1322475e46a26b03665e0cd7b8165dccfec07a192b4b4ba9aa57a341afd2b1fb233860286a8e07a80219ffff0351bdd2c7c34ed5dc97d029d2f40a2ee2ca5508669b067bc52f2de3f0364243ff03f688e97057e616f96391d10aa98b1161c24ffb56a080182d42dd3f761c16229403fc37d40ec1e707c7546bdd626ba28387260f204bf27530a69cb7746de4acc1ca036aa4f60790711a36d8dd32b5e99dc7c72d5b7d6ce265b318a513fba8d1d9ebbb03bca44d5b5b388b72272b17f32bd70bb5c12516ca4255dec36d49f7c0363038a1038ab017c65c427d856d9c0155d35fd969bc0d4ea412529f0fd21c1e6b909eb8fb031db6da84207dc29bf958cbeec4803117904ebda77ee275dba5fbb76d609fd6e1034aec5806e5d190c531624ef3da8e8386b29037d7727f5401e360ae07ea16cd700306f433fb068cc9b8f746f963dcb71046da7c106957107fdfd601a9900008979c00582003cf0f3220b8c87ffa9b678325b53b636516361d1350f9ebb0126512c92fddb0440134c885033544b69f4a28be098fc607e152c7dd669738a9ed19be4649b8c65e719347d9f200582003f57ae04751357cb3908e8cb62c1b6460ccbf0d718d7f924ab9a878700d9bd0440134c88000582003f9eddc30b2bf8af4b5f90b97e51ce8303cb141f35f60e72bd0e17e02e724f04c63d497b594929ee202c488f800582003a22e38ff086ff9f66184140fd0b74505a65c6de2db6cfb83b09f83a61bfc10410100582003c90348d2219709b537e92a313e6dff6521b58f7ffa907f4b2aa85a00911d004c186d8ae5a27dcd3400f144aa00582003acc2cd6d75883cf4fea163d2bc80cc71e4164a067514180766617500b665505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c383030d988fe2020429ed587affdedb6646ae6fa2f8cb0174f97e87aef75e712706d3031d5e591ef0e246fa2778cdda5b58a5421d5fe53e66cd1f9bee732e86c18a14d5035c5f9e3c534ec78368181e511a9ac159d67b0db98a6b8d59527fc42a3e55e49c036d0aeed7f1b022f3ea79577fde585b6df8cb86681dd9105f1ae0efefe1a9981803c23f00663fc634bdf215bb75b284e223d0d2c3bb6c62c497edf6c4ddcf615d7903f7bd3c4bd225498c0d3ddbec85668faefcd3b46a23cba039a5b32f462f3dd9ef0219ffff0338dc35a7e470433f2a0b245cc343e7f2f2c47529304d43ab94548ad7bf897b650384309e93924d8b4a05b1be75df18c4390124aee924f34b37831317ab4cddf17e0307d790e16b5f43cf818e38dfff17dbbfc5f94c7279e040140a4ff6d1eeda2d2d0310846c5a8b5c91286ae3519fc7f1c1739855b3b0039df44b3e9b1441e821cf7d03eb06bc907aee72eab25834280c43d3a97e4c3eb20575f8d1abbca4ee432dc019034fa42a6417fa3323ea009bffefd0786138e671f6ea3bb61a646aabc2e45a40ad03e9bf2743f1eb348184d69b2a2c5e5ae90685e8e986869f39bf407e0f595a00950058200345f8900a868c765b36aa9fee94e1504fda4848cc28167edb3d5e6e10108ca05820fffffffffffffffffffffffffffffffffffffffb95d3805bc306c4fe745bc57303511f36831b3b55dc9106acd1c7c5932e0987553f16f32ba0a5d752cf85a972b000582003c5005f54beddf5d9e14bee0dfbeff46ea835a537aed29ae599414c3bf17f505820fffffffffffffffffffffffffffffffffffffffce564a6589f487f63cf7ff251005820039db5469f28151fdfd15867b32b5bbcdb229613956d404f637c520f791535505820ffffffffffffffffffffffffffffffffffffffc83f1c9339f6a145b602ffffff021932c0030999fe2d301ba4dd2d959572c1a5f5e1ce43ab5cc4c165f9ef24540507372f0f03d08302285f33818b44aa16a5451363c9cadacd95450b4b69bcbfe60c7230004900582002d3b6c3e906a9f7cdea75d35326096efcb81b98d0b09be07435b52aac8926885820fffffffffffffffffffffffffffffffffffffff3b31394b12394ce3f40139bdd037ac03a46f224ef8d7c5bad917c2f9e0437028e0279de5ff458e571a0b4fb6c5f00582003c97a6190ac903674f4e722ce1d9378739f5b145648f1012456ea4ab25cac605820fffffffffffffffffffffffffffffffffffffffee9dac11cf4c72f6cf83d719303807bcd6ba138d843c9c1db4bb0dfc8ba0d319510036f8f39730acb38c26b635e00582003c93b86ae52aa3ca97d46847ea7e09ca1057dc4eded8b3af5c04906bda095c04d0b4bae4c27e30ee43c38cb950600582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04466872fb70218960058200320659d2495eb2cf99aa0ba9b05ed9881363045188cd47dfc29d7df924c3fe04c1fe518989a32e1d536c6f2c200582003ca1137e7261b9794ca7fab0693a753b6fbb66d002b2ec9c845b22a4af6ec404d04a2eb8fe01fa5e824c26e30fc005820034960b8e1df2fbb0edb2b49957396a495826e8bc0dcdcee75bd24d6c145c2a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f7ce32339fc476519812644e959bf5251f0cf039523cf6c399954e876b80e04d039c6f1caf785bc0172baab5ae0219202a0364ab5d3f4d00ba73ed3febe1b2cc0e683a9c811dd7d9998f1187a7632ed5c99d03a524262a98be666e5f7396564869ef005f0f41e73180c2188a8213e16845587c03709c31963351983aaa68f89c0405e487cdf8e7977ac91c69300d6fd9d69a17d30219ffff0335bf89b937bf7d7dd7b37e170beeeb5b970caddc13822a6ebc0a5f39912a2b7503fe1557e52371de482b5a3c298c3b2d6af44651f1a5102fa6dd077c9b14c3fb3f00582003c29cb520f354b09fc951962e5da42596cbfb7d1a0e7db67420f6f91566ed705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200339fae888ba3ba858d08662e3e0c60d2fb128edd57f5ba47c592d1c694a74905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030e942ecce7cdc8c5dd59bd76ef8cb35164598e0821531fd60832c9f87408104c69c6e376333d43a35e0a12e700582003dcc901f35166a5b3739c4a019d676d813408dc6e3cd692ccb554a4ce5f4ef04d0619edb8844384f7512ef22aa600582003dd4bdba7399dc507a98617d791f5abed40078dd8c11d73ae7eb0feeb319750440134c882021910a303901623e6eea867055306846d14f2466107456715e6af83b4321872ad4e030aa3036938ac4610d9d8c974a0016a8dc760b1ef05c91e2442b8366269a3542c0a4a9d00582002742b0a51c672115cd8f0f190957faf28335d4845df698505149766baee42455820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ac95cb3350b928f99f4f6df9460dc572968f16a081c07e22bd768c466f7a605820ffffffffffffffffffffffffffffffffffffffffbafb008c7e6808a566ce0a3503024c33bf9cf697e2cff847863aafc45166a34f2c441eab229ba13618c6182bbe0058200341fe7ead3fa47f78bd10f8e1a0de3dea50268904318cb166acd78fba062d804d0259cd6225e6f5b93c65607fa000582003b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f42300440134c880005820031f367aa0cc76a57360554493336f6b3426576d498105e46f3063d03ef4a2005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021980d103e7036dc267f906b4aaf4897d890f22c354ab1f0566d7ca00754158c7e422683503ca5d646f97ac786f941a661572c23d150acc047fe75900854c16775024ee8e4b03d2b3352cd910e9b9b3fa4c9a3869e2900016dc93980f8fb1d7a068fe145d814f00582003cb1ae896b385892dc7748cad86d4d8ba0709b7a2437a74cae801bd961edc605820ffffffffffffffffffffffffffffffffffffffdc603c7aa33805986a289fe6df0392c9776cff265fb50e38ecbc7960faaa2bf4a4458ee49219041756c51b7dc57500582003fc6e4c8d5fcfc6e3473b4bf0436c8a1cf08022eba122b155ff65ee11e0f3b04d01369bcf8b9073406caf4f15be02198c10036d978bb2f0410256236e4571a96f77a5755b8ce9392a51f2c9e6aeba0b8786f403ee3a4a6c86fc1e869b9a79701fa22c82dbc07a5b5377cddc1309b1fc1e4856790058200337eafd4159400a89ffd9b916ce80e25c6d84cc55c65fa7da2484beacf099705820ffffffffffffffffffffffffffffffffffffffffd87a4843bd91ff6bc3d5e787005820033d8fead143a55c4516253dd2d2941a1979cc6d60ce36f48626563995824da04d010b83140d620d36932377348d005820034a50cfa045f2f8df2ff7844a2d341e3fb62a3a3c321e6bb34273b4d6cc5540443f0591680058200333e59017a09ec81efa102571266ab48427a50a0502820c4f4bbfec278dd8e04d011987f7377ae53ca4c9d2f6fe00582003fa380647bd7e39ce0ae0e39c08d6963a40cee74538a0038ce61072efb790405820ffffffffffffffffffffffffffffffffffffffc83f1c9339f6a145b602ffffff00582003870dd8f5417058670cea094f0dd354f9ef98499481fd167493a6199059dd504d05ae074690ec816b14469fc146005820031e91d650ea3e1a2df8790ffadcdab1f0948f3aa85b1e7871b4a7c8c5c67cf04a0300000000000000000002197c3003a02a316e859c1e93c8cf84f89b1dababddd90fa27932b09b2fc809923e221d2503ab384c64ac4ba1e45bbcc1dccc08040ed70939fd1aadd23e31ad37bf9af8cec1034790b51db7abd19b43b2bfdfb635285aeb88495900ad1e359fbc894440423fa603f5846de2b54ee1593749e8c376da8a43daeb119106bedbafe34d9fcf511fb1900219ffff034d1dff28ef96c088c7a9cdb33b647b7c35ceb4bea4fe7d3e46928ff8beff3d720398eef5225207903b66a5708463b1d0521d58d112054c36c86e0fd9b0a5abab17038d9ae01846827f1661e80601caab1a119968eef152d043660d1ced6d44294b06030f306d74bb66e8e377b233727e0cd572986023ca4c0db32a709eca2687c2faa7034a0258ada0c6a1b979579fca5e96487f7938c8ab44d36b9c4f814794df090465005820030ff7257fff535a46e8f5ba7f4a7e752c63ccb35a7f4e629689e38b335d67704d334128e64d0d464880fb5adc08036ae8a17e24d2b4db1e2e48e1ec0d0769ebacc18f138dc6cb8ffc6207bd239c8703d0ecdbbff14d845d889a4f313f9e34ca10e818626a2ed9628313f52b100f354d00582003724556245f26dc8ae510553f5f16c099aa1e0c62287a3911edf57612db17405820fffffffffffffffffffffffffffffffffffffff448751372a478dfffe552c6e400582003ba6ecbb18d81665bdfa1f0702cc0f1673329b5421ae839cdd8427d62924a905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200309d6de1237e52e80006e2588658d8bbf9e3e69236cedfd41e2a772bc7e76c04c578ac956825a914e2a4c772f0219644303a1a653713f2168352e1bb5fdee2b7acd1d101dc298102bd53e14db9ea885fa6e03d1d49c57161970339a175a36733d7764b88733d10f73d30cd2786aa47091c4b203546042db74307a0bae130763a7e310af79c6e66f7b17dac392d062f84c41634203f037aba6920c5ae4347b9e16ccb104b5ac221bf0f85e05e9976c774ee2d43f7e03f2dc7403ad98b179e66f0d6db2f06d22b3540d835701a8f9cd74169de49f07f5030aa3a9ed110338c47794640f8977d90c3010fdee1971e725b24017d6b2ebab290357aaf23da3fdb659e656ceebd5cbe00dc433d78c4130d65d283f443021ea649203f83e2608a452a6ffb3ed85c926781188012487f6d82c0b9d1c6a2dc9742f118d03f8aaba59cc4dce4fb0dc88ff314e9e9dd1a1b0542190bb46af7bfc393d556bf303da6761da50dc4c012be4c42eba36f32e08cb8c784027c3ccc1808968db61ec1603c7229748255b2b1a7b065a07608e5e8f32ccc6815ec456471247ca222f814b380219ffff0219ffff05581e03346b073d69ed2b23075cb89bd3a0e253b346ff5439f8612ba3342dc8400701193499030a7d3b302bde89bfd3c998f63c7452d974c89e89a7138b220312868865e958e70382b35aa0068039555729e49a6318871f509e931f1419a51dc6c8e5dd33ddab8005581e038655ab291c8c88a64708da7cd9e3172f19cdd73dc654d81dc299321d2008470ceb8f33a7980005581e0363fb056f755b73aca378c5e312eb2978697ef59c8f0b57600f8c5129200c0947610dd13bfc064005581e03caa4f0fd0c2d2bd1b08d9ba4eef0d7e473f9b0d77e0333984275ae7e400c074707d5bcafb86cc005581e03d3d83a7ca4acc9350d5aecc81c0c5ea860e5728155a4a504a1a93568400c0146165089f9200005581e0374c463eb19fe15150647b19e1d310187068598b73c69f2fb7e6922f7b00404032d4fbb3282aa7d24213fd34ebc8ee6d57013696de2f836662b0d4ae348fc4d330219ad5c035a60ebc818dd2ebe31fcf205efd7c0f3e02eb8fa77333248f1c658a7a3ea15a303a38e64da324c74154219bb39ac796906d52ae1a29617673f0f86d15c74202a3103df4fabb57f76f98cdd32e34755b8fa5c66490d2f7ae6102634e3e18e6d583f6b030b17ea8074c26be1c39406a6684556deb82cc49e6601c228ee5456247c5d05ec0312c462b8b70daef346ec26ecbbe65bc6100f69bf4f0956dde2fca99ea15ef25403462718144c1c9d4cc201e43149ce5b39867c4011c16ef232b95812bf9c86dfbe03239a82550741dcc4dd9fed6bce47b447ce45e6ee930eb8b5217cf0ee7952652a039abf7f2363c20a6d6280ce316ca4b95c5de221fe616127c10f141080e6edec9c0312e4d058c6da42a92c8b9fb10df8b19db29f70f92e8aa3c94cdbe5b1e0dcac2f03affe1b676ee2a64928907d6fb7435b390c8f4973f0d659cc8ca59f2d123dc7c50329f9b710e79f822e80369fa37f300210db63d62582e937a3a51e68023eca9ded03ceb45d009897d10a265079cdbcc1af99203b80ca99f7c4ced644e60291ff59cc03efa0cfaa3fc12aa551424eba5f2aa8f912c6d46691c2e7fd1a2d52c3f2c2772503f3a8bb6101bc3a22859158de0deef98fa74721b8b59e3fee9c7e56fa4fcf1c5603f3cd601bfe1c6934b2fb0af776752a48c58f1ea1ebeb515c311da0449d6bec780219ffff03597a55e6bc27fef0d77709b2d18892ac8e5837e3f214f7adf0cb26ba1255dbc7039d77c818bbd6b4292efb2d7fbaadb9120f648cc979a0cc0786cd23e8174de96703e44598dcc64e2423a83b807c4cfbac35df89c51604a0d5c367e1364e878d0b75030c37e27dd4cee27a20c0c85c47b9a4683379ed5d623a1fad2cc47be7c564dc9e0372691a6c58c4198fe26aa8751482a3f64d4378aa56d96cad4e226dfa389a5c6e0393c68180d2322c7b24279452aec92aed7e02a3441eac5648adb2f3417228096b039d9bdee3e0632778d0eb48cbf10d584c3cfa6298d17f803c090c2b9e966fab5c0219ffff03b0792ed4798a446d76d01dc50cf1929eb78a9ab9db2e66d4dfae82664119e3410219ffff0341e8320c07ed59d945d6a7a8909c98ee6100094a354d614cc868ddedbf8128620219ffff03ed63d9c0488467e0740c62e1d6a24a57e5d0bebc518a5a91cf4e229b458330ec03c37d716b28cb4ec0e2fb22d38bbebf40249209ea39e7d0a2d60623924c8daa6703a98b0c411bf506daaa3c0aed43f766978920ee4082944b6233619cc48fefea940341199a02e7499aa8bd34f20e0cb4c3a269f6a35f83253a0abfec984a8ff48459039271373bbc4c3301ab866dedc0a4f5f799caca9f79cd29d49b672433222116d803bdbcc337170ad522c4cf63a445ca969202ddbd26b5cfd079586e5c898faa1659031e551f2820bb96daf6506604c9525d3c500b3c996cbdd06f2b7b07773d25d50b032286a1e1f55a4d01091a8a58d5be78d049fb2be32e907064c50a9cbbb9abe83e03878d5f2291580c5893e68c5df71b3e34624a3d61de31689eae2f796b96aaa7c603e6156e83526e257bcd44fc7b59f3796c615be3cd128f9f4d25bd2e53a7b99ff403f09ff0509fdb8b4fc0d13dc833bb4161e8106ea3085994aa763f4719f879a36c03bba49b7226c699ea8c7f19964c2aed723407b35c5d2ecec5399ab035a9eb05bf03114103effe9b27d83d22d34f3b47fc99751a3357b06f583b59c555648a56be66036a645a9e5035ba65560af626f95665c9d696447ce74ba053aaddb70f9983dc8403ddc30f444282b52667703181741f02afb5bbbcd4405c10c5fd10859cdcce2d720345bddc23f675061cd31c849277966278d3ce35c605a82a14f6b771a53da5974a03f264279478843d927653bf4f2029946bcbf8825f72b7fdaefbb627979ddc777b0326fd66d114671aaf8428cc0fdff62ba12d93029f31b31fa3d953db297d83ad38032d0dc0df8e0cc782fb3880148f0034c9336e7b46c8941e56b9fb18573ba33780031a87ef4942aff6899a4bda81d399043ec179d688654602bc0122c4da02b533a503906bc3b0957f0fb5ef5be6fb09e7d0c266d121e7a845194de8d2e5943efa98ed039366597b7a7c9c6e994f1d48e7d43275fe274a7fd41f2a2234176d7ec7519ca003ef7b524ddcc74c7eb3bff6b58f267f10e4d2ea421e68582766e7cf1ff8f5099003447e6f9c24e8aa9e7ddbfcd85d063e10c071a920c0aacc09ca4d5047f887a33e03c99941f6576ee1d3908ad684729483107d60549896b0f37f667b6829b55d5c010329560d22329cf2684db01e17a6a648772d6ce9c764000aafaef1b3d95f6496e50388aa3f54284ec4f52b4db9aae4ce1bebec78298cc17fde76ebf25b12d52c23de03328eab578c896e23d4e0632c322f1b4e4213f3859299dcc74929bad6547ca72a031e49d43ba2f12d8fdc51397aff88ee838e0cdd49289788c94aca92096ac886a6036af89b82681439ff9f29b13544339e88434260e4524450f8a7305eb6d6662ade030abeb288414dfc6c7b141756314a66a042cf048c7753989fa3cc74888402d5130375d5df64d719821e51adc3ac1fd54f5c2aee4dc853735dce85585491f9e05b0405581e03083ebcf8061ceb2961efe66c4491cd3ecb107cbebfa8695f3a6eefd7c0040105581e0307f5cb536494b286de94e7c9b801e32ac56c23399da276f4ea0c5caf30040103070ed6cdd79bd51816b973c54a5b80adda31430245e39c54f08c19e669e1a3e501410e05581e03a2b90345c741ca9e7f33671b5ad274f472a6972e48304b742c79d3ac900c01410505581e034a6c27b46fcce9023bcd70a8d2bd4b5854b74564ccc8d79c36a435a8900c0d4705a2509f80e93f032c866f79c06ca6dc1d0276c9ffef4bfb43c638f922b29fb3d101b9bb3f55b99d03fb827b58562a58fa4d7b5ef649d0bc79c797317ac9131af83d5b5948b7f03441035310faa1b8132a4c4f248a70f7ab753f99378ad8249f343ffe14b6dbe423b24203f454e26f7a89bab3f6b99920cc98633d672ac34750974ec8cadeb1f7f190be8c0459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c6343000802003303414798c983bf4b9ed9917bb64bbf9d894677c8a46e078b0ea95c1bf570d2ba9203e73ad9c5405a4cc9a84e51997c463b93dda4cb8b9c893f90a9072f69319f4f2b037f5f6d2d01dfc5089c14a20168d56a49d3f7ee3553b1c0a13b5ef1869ead8ba703900babdf28179403a1eeb1608a1210bfc0a30019cb7247c9ba24aa1146a00519036758a68cd9c6d76aa2914d7006d1a018aba8cb69a3fac6da950bd3455a01d94e038004c2cf1f75da15ab80493c4585e6483687282c47679a548f28b7f061962e730312beb908794bad97bdc6e3303f642744f0d93da62b8572927f6a79fb9c87824600582003b762b1939012c6a1dcbb9a1c2302fb1bbbdbcffbe2956767e09d80a5c050f0487bf640a84518f47200582003f0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810541dac23e41fc8ce857e86fd8c1ae5b6121c67d96d0219300003a7eddc64416cf93955ed4fab7ddc22da441efa41b5e12056b0e010692153cd5703b48bdb57102accf31a5f8c4139fcf78cf45702908fe8d68b7a47067cc17e3f9203f2f502ca9afde6ea077589bd93c8b51c5d1932fd178cce1611507dd0e4afe0e0038775e6fbca0f03262355af17a4146c3da32d9be693111119bbba7bbf540dc8ec0383e449e726443b67dbd6823e527e5a673e52ab93ded6d28cac8882e93e4ebd7b031dd354ece214640db6ab4d4a301650402baabc418b99e39d15e8b663352973830315256d38c606929df50dbf8ce85945d52e3bbbf3513e7fbe69f3146e3df791c9036ad18ff5f278ea4752ffd33ecdbcb88b116fbedef18f77078a68e5b860c962b503297bee51b3bdb239360ba851f6d57df59d6c10d6abeedde5605aa6cc07958823038ab0817563093d413693201fd077a2d9fbb2ac6fbb89230f952a7f469ec0e3ff00582002bf4f9029ae220960807efbb0431101dd41822b0704c1e015879f114cf21c054501830710e7005820024da72b587a5297ead386c36f45dd41057f030b6366e968fcb47a37746e53634504552a83f20373dae251c2b558dc14c2fd957ef01e80377e591a8ad39d444736d5ddbb8d2aab0219ffff03abc47fb7092cc90a32e6a519c54f116403cfc35a89e54543ffafe0ddc9dda391030ceed206a4d02a3ee38395238826feeab6c3caaf0aa8161a99035125be0b70b5031826fb5c1f49c66d53b3d4495741407bcf9d38e7cb6cdfdaab4da127816f659203268b1845c0d9d0c13a9b3252e6bf6dd1e0e05999c335e341eda299e77f8c6ae703af08605addf79e652b7f83aef2f319e8dd1fe1f66c5fddb97fc734ca1344efcf03c7d13a180208280a1cdffce0753c1a370f4282eb7ef09e007d2619ad2578379600582003807317195271393da66c6060e0bd373b6b3eb9dedebe1208221d3e70ef1bb04501a6c33369005820032fd473722b16d83d5b75a7155a00db8a472938cee2eaae0b2d09275e1a56e0450399cd83bc00582003e74f65bff3bc123a659d60dab7f9821bc0a4ad96d191258b29cd520640dcf0450128e059d800582003ef972eb96704e235d68ff581b89d351d723f00eade8012c9a9539d240cc45045018da844dc0058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05408f03724af0e0b7e51a3353ac452225314530a30005820038d88e4619923a9f02ed680674b93eac8766f462b946af2ad58cf9b6f98b0104503767e3d7e02191e1203c86980e0f162b7d006302c144c69cbe27f41ed0e156afd6dfdbe25c56986c752032f01f84bfa51a265a713b8febcda15afd16cf31442f3c2858c330c50c892f7b903e979cfba9b6145e7df79cc7b5fad64ce6679040d2fe189d3d3899db79076bf91035dee28fc801682d198f542e6786ae3f918e2a2e1ef1a5d85f1120657f26efe200364e0e119f483f35b4eb0142e9076db1d1bf2ded48949555dcfa3a1597ac88b7903173f48debbafc9be34a46db3f4cf3cdc39aa7c0d9e17c827c9dd734529eae33403d76c7b26d99268175ee6e03ef0ca11ef184af6ba488c6d6afcef8ea6642229ae0397815f5170a38bb9f6e4792fc3d083c1b2ef553e39e222e38a3f75bbf3fb545103a10ac96e7a4c9926c472e5252c911a130eb39355afa4b9c11833976564abc6320355e285a61b09785eb8b0d93cf2c4140ac79b606faca9a9299386531959ad3cc70219ffff03a675f14be6b77f02ef76ca69e80dcfc88eabc42d54a8486e365eaf814bb800880334ac02f62f746bff03ed6de824af17e3cd59e6a4f1b9a4248affaf9e1e3f061803bafd9b97f508c3c1dfcfe953e4a5f0820db979eca51af1870d2d851f092af456039b28e77c6bc4c022fd53f6b16e99b07ed188b3e7fb4a4413ded73f1c18a0877d03ad5cea74554013228b3bcb0aadbe28aa4b76cd632f7a54072d72d6e505ec055303289270de4cc7c535cbacf367f81eff315176529d3ab59b5bea6b91cafdda7c6a03ec52084110fe4487570fc8f78c2be4eaca041462c4d5dc27d65f461cf801eaf103ec4a78c63a9b1db4f9086bff0442da8b28a71c6afc4994354caad3718611dc43039b6e6fa1eaa38dd828d9bda82e62cdba377b0a4156939cc65d04cda10514861c035eba2679b5be7de9520bf3ae8c36d1118cbdeffea12c59b46fdadeb78501536203de8ce35761672f77db3ef4c72d063bb2318d1f1d53d941bbe240525cbb1775cf03ce00d1024bcf146add4887e045f68938c1ff17838500141589be1c03b352d94503f5a49862dcbbf636994ae85f6af0766119ee30439e9b5001322cbebcc0b877f1036505e04a47d9c6c7cd267b609a289d42087fe1c19e1c3a21b00358ba9c5ab6f603eda010c6e32ecf3e0d950e9f698798abe9488edb3993ba18ef6e679af3ffd1e20356bb569a282ede15c6aaaf3ca807d039478de21615942449dc5f7f17e993617900582003ccd392de0ef48281d525b6a834de3ba1e040120d8070b8612c2721e24204504101036ff8b7388c479343ece9d46e3cec76a5a7c3804e1264c65c3e1ca1620afc748200582003043e24e66f49e9d48eacf66cd9a6f58813f36a6034815f7df539901748edd048828b7ba96016a1ee00582003316c031e9ca3f887fd43f44827e02b3c1c9ca39c8246f93688bc642e0e48c0486f0b9d884b4f430400582003a2796a5d430c969738ef01a12e17089f20cf1c5045edb57c2242550f76ab5045042853155f00582003be478f632d6e9a6424a215ca5e43e0f3b6dbd06d647dc028b9545e71a868c045031ef552c70219a0970336cd4b5bb5c4d35ee27becdb880ccede9ac465ba57492481ae9b23e4c11f2f9903f60470307f3be1bf1bad72d339b0537a8cdbabf0ae819bc0de35591bf42009c403227ffb993970066ff2e50b45bbd813b86669048a63cecd9563529502f563ee2203c41409d277ab474575f8a964f0a7f6ff90ab2ee5d0fbbcfdf107da4d6de6db290340048a68a78bbf2e3b09dcc885bcccefb7f3bc9275aa518ad6586a47935cb18c038ab97f39e4ccd63449db6726e02cc0a000f8628828316552d7e4d007c97e7e920219ffff03d936c04a9ad995614c2c0204e35f6f11b3a362a61f96af505ab28ac9976f1a660219ffff05581d02d0697ff16efe6b670b91a3b57a0b4f011b58b8878ac90149cb92bac3070119085d05581d02fb815dbffd2e3484879d3c3a5d82d7a9d0098356b97caa63a6f2697d0c0447339d5831326a900219210005581e0305b8d8a561772d476b936e3b22d318571ea39ba6f46620ac5ef71974c0040203d012c2ac09f34934fc652fe7e12f53e5fec6766f13ce95dfda1b156451e785d703dd48c699a3d010e79e87d0d603c10f3234c849c999b287ea7ecc3c72ce70cc08014105038c5129b7abc238a30457eb9546efd27cd9e7947fda6da613c198d547e4c277ea0219febf032f48f7fa56f03c903a3e00081ea069458c7e7e2c43cf5e20b77a2ef03f336f26031e2d1d1103b2278205102e0de10159f40ad666feba9db1ec40c3be1fedafdeb603315c08a6787b44df66f865df25afbc1ee17fd43a91cb7414089b1d977553beb103e5bf9baeea9d5091a13636faf7f034eac2d5ed567631f0e7e59f7f14d5ad2a060338a70ac713fa27015c3577ff56b9cd0c113dcb0e0af62d033da27b009d4cc69d0350c0be59c8bba992f8ce5ceb6df7c6c658f16a2fa9565bebde0d2bd59da3c0f00331a981f87c3155e608dba15692acf31c3e07f6e4b0974739eff506633fc76cfe034913a84c6f5a85b5eacc72934ca3a85be608a567ee0b23e83ebc312c9b3eb67d03020987e51c1543a83fa5e786ae618cd425e592ca016f297dcaf98e82388d5e5d0379c4d2e45eade4e0c67681b4c1731688c62d72a11e3ef9e897d9f26ae900c85a0346559b3c7acf76da9d92e1d84de2a96633df70a3c8a3b13042b0c0f930ccc4840219ffff03669f00d932de51016badf8dccf83b3563fccee36772f6dc898267bb231d9a75c0219ffff0393366f17d3d620119bd01ba8d617fa1b7d9a5be4ae300b6d28c50c5bb3062dae03aa62627a9a568e126683d1cc87677196cebf651d9dbeb41199d1156f8e8fdd020308d3112c245592b78795b49d8179443e210aeeafa143230647f82c658c6eecaf0305d3bf0e48b9364480993a66556fde648aacf45e3719c0879b888bf9fe53293303937274f6c198b8786f66c7d7c03930de251ee2e90dd697e0455c4b9b27040dbe030e28694a0d77df8a752ec6ecd25c36b9196ca3c3cdd05248803ace31e2b7cfae0219ffff03bf4b946b1c22ca099baff6159e4f79aca3fdd3110afd3688248c6893dcb65b27034c639476cd882926a60076905efeb18436b89a00cd1e0e236efafda1ee9da77f03d735c6b1f78229b983426883e6d401a67f1e79b0b6634011b0430c2572d12ca003f518a97dcd840b20fa31a4a8bf4943fa3cb24b2f264734e25ddcf85c7cae2a2303ffd599b4b289ad3a502b7ff5b420b22734434c5656f8864ff1e8485814a68b3c03f0cfed6dd4d6ad675dc0ce0bee9e4ddcc909fc60abf3a520c083436fe11aba6b032a9c07a0acfcad9e4bd51cc073d4fa3756893df1629941d3aee6c33a5a0d23ff03dfa7df8ad4b655551de686a755c5122f9a3558efa6a557361d64e6af5b29475f03514584ffc225e1d84cf844f990fcdd0aadaedc640056a6b31981fedcf6d4f1b6038db02ffb0ddbb0cea4aca6a11d2c36944f6ffae03e3d35687984db96cef226130383d376c08cced4e77ecafebffafd35c1af3d2afc293833b1f73f7fc4400ffada0359a6835ed86120efd1d2125dc365ad913f15eb4cb7fce5d58f945290c722dc26030b1fcd188774b77c701617e1d53bbc375dfbfb18d1cfe616efcc8412a04e87d8030022d7a6692fbbcf02799097f3d3b8efc22bc4e8a95c37178104149a4e6cbc250385f33f7855efe9f6b967706480dd8464235b50306f7505a622bfc503e774099f038429603c568610a212d27ed0162c958d4338d9fb089c6894ac7ee6a6d8b8bf54032636e0196837454c12c51061dfd8f51748ef7e1ec29c3a749f81d3c2af08a0e20383d5586b1c3e80f844defb52c75b613c316d1020c93ece10f5c5328bc15b805a03be53a5fc17b06381a175531bfbc732ce40f7f0c9c2b99be1c08be38e8e1e7b0b03fd18004953e3744ab79278a23d4392836ea8c6114849e843207962f14805c0af03b7a3166cffb1f219e33410cacd4544fbb4775e4b485fb5d7cf69a4c69ee5a7ae030d4912bd357f073291c0e28b0b9567f2463c69c4c2fef6f76aac6a9c7dc5371f0361a127bff5afef14e21aaf8b6e6c5d1bac95c37909fc129dbe19b1629b787596031b5df72a282be81d819d470c3049a177f7c978d2cd1891ada79761a5ebb551d60331bd5833fad26a40b269008f69b44344f05be136c7296bc1c56385f9e94e744403f573c4c04f00453f972121ac04be62f07ff3103aa684eba80795c63130c173fb035ebba40db974847f94db6c2ca723761cfb0731c88dd9e3990a458828cc3d1fd703dc1c7fb77e861285e050aa53b7156bd22a33d58d9f5f3962480b882145f3fbdf03c58e470d96635ca7056675ae4d9bce35ccd7573c62437ea10339efca0b0fffde0375b1e118579822c55911c40c9a374addabeda389321459925ad11cb908490e000388285a79e6b21f92b8333c84938b2621cbf8853ca8f0fae3f3a29bc346fcc7570304525ffed6b8b0c3d513f8338a4a4b2bb36095ea1874a2afca13b4ac146a4b1e03b89c6fc07365f0c668f3af0299315f0356c195d196dbdeb38bd70105bc38c19605581d028a280bf6c3795bdcfa173a3675de76b563d760c748156003f4818710040405581d0236c283a8bd26477fef9c56493ea1ad4f0137b83c1ff5153909463cc1040205581d02ff5a9242ec5c1bf93d4b5aaae4bf3c692434496cb171a2c8382a57580c054702d630c3b24f4502196002031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0367ca369efa3e114ce9c6f4748dfa2dd156821c38b6b3cb0671292c008007011bffffffffffffffff05581e03fb6d25b48512728332b229d25c097d5b50624b2c1c2c86572d07d372c0040203132464349d5d88f4bd3d2a0a39b513790d13c477561c03136905dcd0cad4bf0405581e03f3402561a28dcbfd397970068c30223105c5204f5814a8a621c0cda9b00c0246d97b75d750d005581e036f970b1da3cefc3fd02ad6b7a233a2a39a9740b278fe7e0909cf427eb0040303529741592e6c0c5c29271ee4b72f004cc05b5f82339f5e21f04696857c29be4905581e035c2b722587e24a8edc4fc00d9ebfe1fb06804104053b5a62ea14ae00f00c03468eaa02705dd803eba7924156cf1c50113716b51f8c746b7d31eb627b416c97fa1516be1acd5399021994f603c9e17d2e2f54fba27b7c7131deb2a27ac2d34b7688f201008f5cc6c1f866ef5703cca2a4b3a3cc1bc7ed5a6350b5f14f9eeef8110ddbbc0e4a72a84b94641f2ffa037b1b47ef519e4b464e82400f6cd0c99ae46ec01e8efed64284b1199571556ef20219ffff03db5d9af2ab22f4bf15a7b4947206adc97d5485d5f86ab5f56d2fb9c45b565cf703c4d793597f5c04c53c6e5c73fb29661d1008b5d68bedbadaac0583445f38778d03317c4bfbf54a35fc6f5a902d44fccba3e11679ec31aa464a0205dc6f0882328603d4d0c62ec53c4ef4d7eda7b83136384e0c5c385073ee3764b8f38689e6d29e9c0219ffff03eb6c8449820a4162149d55613da738c811dc7c10381cc634411fea550e215b3303397f784316d1f76093ecb639bc762413f1eca768f3f3fad12240efa599251c16030107d9afb5d888dc949d572a695321563daffc12bea9a8c48837081369ffdadf03c7decfaa4c0148f6c7a641bafa7e9ca61259896c08e873baf36c4e094abf391e035e9a75a4b497f1194c5df2c81b1aef11a136b6bf4a155925772c21ac83c86eb80307de0e281b8b0e21001298eb4369b73422cd553bedf06bc3edc5365cf602a2330368b10dd372f210dd354a48619352953868df3e58044c7fa5ba2703a533db313203b5b8d4a9b3400cf47de64d0e892eb7eb0fbd73bda0d94d5575433463476856ad03cca20313829eaffff03bbd11543700c2cbfcd2c48a0e273f7435d185fd9ef45403c2f52fd10f29afb5d3dcbf79a3daed86969ec2291d34831f7cd7d9374616f4e503c5bd1b02ba7fcd17cb4947f94e5f292447898f24d95a0ea241b305df1063cffa03c48c4e1b3d06984c148ea0d77561b412fdc057d16127dd9cd05429917fd3223f03685cfe462f57cec4c9bb76790353398f9dcba63af5b56820c522e9b267f7fd9c03828ae2364fe31b19a8db57b85c8861ba7629ef9e012539d35d75e3268f61673303b3720c71c46e20ba4d5cd0582b27c3d7f2b3cfc117af4d023ada283452f5ea8a03290e7206d3ac40057b875750f8f9d206132a4f5933a4133791511a6341037235034a295fcb6be9e0c8e95bda8f64ee9280fd89d6e47628cb8d71c33b8c5b0b1fcd03531beb04e570bead6aadcff6163ca1fc480f474aa3214ad241ff5b99311d1714039790e0869269d3551ccc1f68f29095b7997d11bd95213fc2728353468351ded403c9b284e8854811d377c1e7889c5e023e09c197b58dbcd3af49b2c3364aca4f060379922c1c3b6a4cd501f902d9b79689dc131bbb51a8f423646e7c96b2820419f4033e86586d5872e077b596a53b9da3c1965878ea0f6cf00957ec7e31a278ef1e9b03eaf2d9d0de2711c14178219522d72313295f4856c755f64a9fce273bf250bd95037df65c75af5a4dadd8cc8e7439fc30d20e997a7839011e6fb859ba667d35e7da033e732e3eaf9ea574ec817cefb193f3b2bcddc9e68cf0224265a3422bf286bb1e03645872ce1cef657a54fd600ecf5028380624b00e40ec296cbfc09aa89cff374903b87f691bfa5b3d59575b6298896676ea690de419a045d3937788e3f15e8e49fa030a7722a816b397b9abf38056c22970990f424a0942b7d893619d6dc4f9d99e2203e38901555ec02bf75268c5293737bafef3996041bec61908b0c029c9e4da403b03215d15f2960372630959e34617edd2a788ddfb350559f41cc5a68e82a8bcd3fe03221f36251b5df85def910277c7532d31adf3c5be45cbc73361675719ddd214660333c3a45b6d938eaf05f5d03a848f714f2ddb66871007420a80623fc21d81ab9c03b8c91c99b751b0c0efb810d9cac8c6fa2004a662b65ce0e0c303563edbaecc5f03bfd90454dd806802b40f554e0cff374ca8db8f60dcffc5f2e7b0916966e15af60361cba53af60470a69838cb8cf7824d44ab270219c24d69dfb5bc91473a1a10a9034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e0326e8e7a38efb1ef7e69f30667d74eac89e5848a94044025d9e29a68a0007011bffffffffffffffff03f70c13b32a43719f2b49d1a7a5ba5714117e8db2230595b5b460fe3aa8788954045924b86080604052600436106102605760003560e01c80637bae52e111610144578063b2bdfa7b116100b6578063d51ed1c81161007a578063d51ed1c81461071b578063d78e139d1461073b578063dd62ed3e1461075b578063f2fde38b146107a1578063f6a78e17146107c1578063f887ea40146107d657600080fd5b8063b2bdfa7b14610686578063bc337182146106a6578063ccf8c036146106c6578063cec10c11146106e6578063d148b74c1461070657600080fd5b8063918924761161010857806391892476146105ba57806395d89b41146105da5780639acb773e146106065780639f11080e14610626578063a8aa1b3114610646578063a9059cbb1461066657600080fd5b80637bae52e11461051f5780637d1db4a51461053f578063893d20e8146105555780638a4068dd146105875780638da5cb5b1461059c57600080fd5b806323b872dd116101dd5780635d0044ca116101a15780635d0044ca1461045d5780636ddd17131461047d57806370a082311461049e578063715018a6146104d457806377b54bad146104e957806378109e541461050957600080fd5b806323b872dd146103cc5780632b112e49146103ec578063313ce5671461040157806351eeb4df1461041d5780635b24ea5e1461043d57600080fd5b8063095ea7b311610224578063095ea7b3146103415780631161ae391461036157806313f97a8e1461038157806318160ddd146103a15780631df4ccfc146103b657600080fd5b806304368f651461026c5780630445b6671461028e5780630621472c146102b757806306fdde03146102e757806308fd3d051461032057600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5061028c610287366004611f0f565b6107f6565b005b34801561029a57600080fd5b506102a460245481565b6040519081526020015b60405180910390f35b3480156102c357600080fd5b506102d76102d2366004611f52565b61084b565b60405190151581526020016102ae565b3480156102f357600080fd5b5060408051808201909152600781526625b0b49025b2b760c91b60208201525b6040516102ae9190611f6d565b34801561032c57600080fd5b506023546102d790600160a01b900460ff1681565b34801561034d57600080fd5b506102d761035c366004611fbb565b61085f565b34801561036d57600080fd5b506102d761037c366004611fd7565b6108cb565b34801561038d57600080fd5b5061028c61039c36600461200f565b6108df565b3480156103ad57600080fd5b506005546102a4565b3480156103c257600080fd5b506102a460125481565b3480156103d857600080fd5b506102d76103e73660046120e6565b610975565b3480156103f857600080fd5b506102a4610a37565b34801561040d57600080fd5b50604051600981526020016102ae565b34801561042957600080fd5b5061028c610438366004612122565b610a89565b34801561044957600080fd5b5061028c61045836600461215d565b610ade565b34801561046957600080fd5b5061028c610478366004612194565b610b33565b34801561048957600080fd5b506023546102d790600160a81b900460ff1681565b3480156104aa57600080fd5b506102a46104b9366004611f52565b6001600160a01b031660009081526008602052604090205490565b3480156104e057600080fd5b5061028c610b9c565b3480156104f557600080fd5b506102d7610504366004611fbb565b610c10565b34801561051557600080fd5b506102a460075481565b34801561052b57600080fd5b5061028c61053a3660046121ad565b610d10565b34801561054b57600080fd5b506102a460065481565b34801561056157600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016102ae565b34801561059357600080fd5b5061028c610d99565b3480156105a857600080fd5b506000546001600160a01b031661056f565b3480156105c657600080fd5b5061028c6105d5366004612212565b610de4565b3480156105e657600080fd5b506040805180820190915260038152624b414960e81b6020820152610313565b34801561061257600080fd5b5061028c61062136600461215d565b610eaa565b34801561063257600080fd5b5061028c610641366004611fd7565b610eff565b34801561065257600080fd5b5060235461056f906001600160a01b031681565b34801561067257600080fd5b506102d7610681366004611fbb565b610f34565b34801561069257600080fd5b5060005461056f906001600160a01b031681565b3480156106b257600080fd5b5061028c6106c1366004612194565b610f41565b3480156106d257600080fd5b5061028c6106e136600461215d565b610faa565b3480156106f257600080fd5b5061028c610701366004612255565b611012565b34801561071257600080fd5b5061028c61104d565b34801561072757600080fd5b506102a4610736366004612194565b611081565b34801561074757600080fd5b5061028c610756366004612194565b6110c8565b34801561076757600080fd5b506102a4610776366004612281565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b3480156107ad57600080fd5b5061028c6107bc366004611f52565b611117565b3480156107cd57600080fd5b5061028c611201565b3480156107e257600080fd5b5060215461056f906001600160a01b031681565b6000546001600160a01b031633146108295760405162461bcd60e51b8152600401610820906122b4565b60405180910390fd5b60238054921515600160a81b0260ff60a81b1990931692909217909155602455565b60006108598260001961085f565b92915050565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108ba9086815260200190565b60405180910390a350600192915050565b6000826108d783611081565b119392505050565b6000546001600160a01b031633146109095760405162461bcd60e51b8152600401610820906122b4565b60005b82518110156109705781600c600085848151811061092c5761092c6122e9565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061096881612315565b91505061090c565b505050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610a22576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526009825283812033825290915291909120546109fd9184906112fc565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610a2d848484611336565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610a84906003546001600160a01b0316600090815260086020526040902054610a7e9060055490611717565b90611717565b905090565b6000546001600160a01b03163314610ab35760405162461bcd60e51b8152600401610820906122b4565b60238054941515600160a01b0260ff60a01b1990951694909417909355601591909155601455601655565b6000546001600160a01b03163314610b085760405162461bcd60e51b8152600401610820906122b4565b6001600160a01b03919091166000908152600c60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610b5d5760405162461bcd60e51b8152600401610820906122b4565b6103e8600554610b6d919061232e565b6007541015610b7b57600080fd5b6103e881600554610b8c9190612350565b610b96919061232e565b60075550565b6000546001600160a01b03163314610bc65760405162461bcd60e51b8152600401610820906122b4565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b336000908152600b602052604081205460ff16610c2c57600080fd5b81600003610c9f576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610c78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9c9190612367565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a309190612380565b6000546001600160a01b03163314610d3a5760405162461bcd60e51b8152600401610820906122b4565b601780546001600160a01b03199081166001600160a01b03978816179091556018805482169587169590951790945560198054851693861693909317909255601b80548416918516919091179055601a80549092169216919091179055565b336000908152600b602052604090205460ff16610db557600080fd5b60405133904780156108fc02916000818181858888f19350505050158015610de1573d6000803e3d6000fd5b50565b6000546001600160a01b03163314610e0e5760405162461bcd60e51b8152600401610820906122b4565b600d8690556010859055600e849055600f8390556011829055610e3f82610e39858188818c8c611759565b90611759565b6012556013819055610e5260058261232e565b60125410610ea25760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e203230250000006044820152606401610820565b505050505050565b6000546001600160a01b03163314610ed45760405162461bcd60e51b8152600401610820906122b4565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610f295760405162461bcd60e51b8152600401610820906122b4565b601f91909155602055565b6000610a30338484611336565b6000546001600160a01b03163314610f6b5760405162461bcd60e51b8152600401610820906122b4565b6103e8600554610f7b919061232e565b6006541015610f8957600080fd5b6103e881600554610f9a9190612350565b610fa4919061232e565b60065550565b6000546001600160a01b03163314610fd45760405162461bcd60e51b8152600401610820906122b4565b6001600160a01b039091166000908152600a60209081526040808320805494151560ff199586168117909155600b9092529091208054909216179055565b6000546001600160a01b0316331461103c5760405162461bcd60e51b8152600401610820906122b4565b601491909155601591909155601655565b6000546001600160a01b031633146110775760405162461bcd60e51b8152600401610820906122b4565b61107f6117b8565b565b600061085961108e610a37565b6023546001600160a01b03166000908152600860205260409020546110c2906110bb906002905b90611238565b8590611238565b906112ba565b601a5447906001600160a01b03166108fc60646110e58585612350565b6110ef919061232e565b6040518115909202916000818181858888f19350505050158015610970573d6000803e3d6000fd5b6000546001600160a01b031633146111415760405162461bcd60e51b8152600401610820906122b4565b6001600160a01b0381166111a65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610820565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461122b5760405162461bcd60e51b8152600401610820906122b4565b6005546007819055600655565b60008260000361124a57506000610859565b60006112568385612350565b905082611263858361232e565b14610a305760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610820565b6000610a3083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b9f565b600081848411156113205760405162461bcd60e51b81526004016108209190611f6d565b50600061132d848661239d565b95945050505050565b6001600160a01b0383166000908152600c602052604081205460ff1615801561137857506001600160a01b0383166000908152600c602052604090205460ff16155b6113b45760405162461bcd60e51b815260206004820152600d60248201526c165bdd48185c99481848189bdd609a1b6044820152606401610820565b60255460ff16156113d1576113ca848484611bcd565b9050610a30565b6001600160a01b03841660009081526001602052604090205460ff1615801561141357506001600160a01b03831660009081526001602052604090205460ff16155b1561146857602354600160a01b900460ff166114685760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b6044820152606401610820565b6001600160a01b03841660009081526001602052604090205460ff1615801561149a57506001600160a01b0383163014155b80156114b457506003546001600160a01b03848116911614155b80156114ce57506023546001600160a01b03848116911614155b80156114e85750601b546001600160a01b03848116911614155b801561150257506018546001600160a01b03848116911614155b801561152757506001600160a01b0383166000908152600b602052604090205460ff16155b156115c8576001600160a01b03831660009081526008602052604090205460075461155284836123b0565b11156115c65760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e00006064820152608401610820565b505b6115d28483611ca1565b6115da611d0e565b156115e7576115e76117b8565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600890915291909120546116399184906112fc565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff168061168657506001600160a01b0384166000908152600a602052604090205460ff165b61169a57611695858486611d64565b61169c565b825b6001600160a01b0385166000908152600860205260409020549091506116c29082611759565b6001600160a01b038086166000818152600860205260409081902093909355915190871690600080516020612463833981519152906117049085815260200190565b60405180910390a3506001949350505050565b6000610a3083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112fc565b60008061176683856123b0565b905083811015610a305760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610820565b6025805460ff19166001179055601f546020546000916117d7916108cb565b6117e357600d546117e6565b60005b9050600061180a60026110c26012546110c28660245461123890919063ffffffff16565b905060006118238260245461171790919063ffffffff16565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061185d5761185d6122e9565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061188e5761188e6122e9565b6001600160a01b03928316602091820292909201015260215460405163791ac94760e01b81524792919091169063791ac947906118d89086906000908790309042906004016123c3565b600060405180830381600087803b1580156118f257600080fd5b505af1158015611906573d6000803e3d6000fd5b50505050600061191f824761171790919063ffffffff16565b9050600061193a6119318860026112ba565b60125490611717565b9050600061194f60026110c28481878d611238565b9050600061196c836110c2600e548761123890919063ffffffff16565b90506000611989846110c26010548861123890919063ffffffff16565b905060006119a6856110c2600f548961123890919063ffffffff16565b6018546040519192506000916001600160a01b039091169085908381818185875af1925050503d80600081146119f8576040519150601f19603f3d011682016040523d82523d6000602084013e6119fd565b606091505b50506019546040519192506001600160a01b0316908390600081818185875af1925050503d8060008114611a4d576040519150601f19603f3d011682016040523d82523d6000602084013e611a52565b606091505b5050601a546040519192506001600160a01b0316908490600081818185875af1925050503d8060008114611aa2576040519150601f19603f3d011682016040523d82523d6000602084013e611aa7565b606091505b5060009250508b159050611b875760215460175460405163f305d71960e01b8152306004820152602481018e905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af1158015611b25573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b4a9190612434565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506025805460ff1916905550505050505050505050565b60008183611bc05760405162461bcd60e51b81526004016108209190611f6d565b50600061132d848661232e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600890915291822054611c1e9184906112fc565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611c4d9083611759565b6001600160a01b03808516600081815260086020526040908190209390935591519086169060008051602061246383398151915290611c8f9086815260200190565b60405180910390a35060019392505050565b60065481111580611cca57506001600160a01b0382166000908152600b602052604090205460ff165b611d0a5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610820565b5050565b6023546000906001600160a01b03163314801590611d2f575060255460ff16155b8015611d445750602354600160a81b900460ff165b8015610a8457505060245430600090815260086020526040902054101590565b601654602354600091906001600160a01b0390811690841603611d8a5750601454611da5565b6023546001600160a01b0390811690861603611da557506015545b6000611dd26013546064611db99190612350565b6110c2846110b56012548a61123890919063ffffffff16565b90506000611df16012546110c26011548561123890919063ffffffff16565b90506000611dff8383611717565b30600090815260086020526040902054909150611e1c9082611759565b3060009081526008602052604080822092909255601b546001600160a01b031681522054611e4a9083611759565b601b546001600160a01b0390811660009081526008602090815260409182902093909355518381523092918b1691600080516020612463833981519152910160405180910390a38115611edb57600554611ea49083611717565b6005556004546040518381526001600160a01b03918216918a16906000805160206124638339815191529060200160405180910390a35b611ee58784611717565b98975050505050505050565b8015158114610de157600080fd5b8035611f0a81611ef1565b919050565b60008060408385031215611f2257600080fd5b8235611f2d81611ef1565b946020939093013593505050565b80356001600160a01b0381168114611f0a57600080fd5b600060208284031215611f6457600080fd5b610a3082611f3b565b600060208083528351808285015260005b81811015611f9a57858101830151858201604001528201611f7e565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215611fce57600080fd5b611f2d83611f3b565b60008060408385031215611fea57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561202257600080fd5b823567ffffffffffffffff8082111561203a57600080fd5b818501915085601f83011261204e57600080fd5b813560208282111561206257612062611ff9565b8160051b604051601f19603f8301168101818110868211171561208757612087611ff9565b6040529283528183019350848101820192898411156120a557600080fd5b948201945b838610156120ca576120bb86611f3b565b855294820194938201936120aa565b96506120d99050878201611eff565b9450505050509250929050565b6000806000606084860312156120fb57600080fd5b61210484611f3b565b925061211260208501611f3b565b9150604084013590509250925092565b6000806000806080858703121561213857600080fd5b843561214381611ef1565b966020860135965060408601359560600135945092505050565b6000806040838503121561217057600080fd5b61217983611f3b565b9150602083013561218981611ef1565b809150509250929050565b6000602082840312156121a657600080fd5b5035919050565b600080600080600060a086880312156121c557600080fd5b6121ce86611f3b565b94506121dc60208701611f3b565b93506121ea60408701611f3b565b92506121f860608701611f3b565b915061220660808701611f3b565b90509295509295909350565b60008060008060008060c0878903121561222b57600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060006060848603121561226a57600080fd5b505081359360208301359350604090920135919050565b6000806040838503121561229457600080fd5b61229d83611f3b565b91506122ab60208401611f3b565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612327576123276122ff565b5060010190565b60008261234b57634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610859576108596122ff565b60006020828403121561237957600080fd5b5051919050565b60006020828403121561239257600080fd5b8151610a3081611ef1565b81810381811115610859576108596122ff565b80820180821115610859576108596122ff565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124135784516001600160a01b0316835293830193918301916001016123ee565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561244957600080fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212208aad41393a672bc7e0199cd4828705a01fd755d8bf1fd3bd1961b9ddac4646ef64736f6c63430008110033030b4c4d55db9e735e43e12d7d30ad39108c828a29aa9653994c03569b2d5e2900031cfb7eacf433a8cf666f400783f24ad8d7ae3467bc9ccb72156bd884968a99d3031618c1fea9a81bac0df4993dc74935a8393ed80d6bca8ac8ea80616a49d031f703bc854479136d1c84a9238a270b99d172904d26ba98e579f906be9f8dbebe0d8f03ef0b8dfbc4c7ae02d7ef5c4a50fed863b41a97653e0c309b61bbeae66827c10a0318c937f1eca651182a3e9edb6159aa3ae141f230310c553cc6b6907ad79716ea030c1604da2803a4bef742af7ddf256718d2f1e33b79745bcdd964559730eb141b036f439ef56c41f60eabdb32d714a9020fffdbe5c0b7f398f189d4d49a2a08ee0a03aa18705c019cf62dbdc130a6ca82af49b728015b51ab1fe0219fa25765aae03103e4282d4bb5ef33c9441d9131fa61080748b3cd36d4fd4b23d49c581d99cd858f0375215812000740e129ab58476927a116925efda3ce75fe2b1bd0968fd3e0c51c03a520a5b96b83a828b23c368b19d57c44d7e2a0bba023bc94a404ae7a0b52316c0058200336888655a3fe6b72be731209ce36b91be4ef77c0f743b6285123a36696b930490101f43acc87886de003ad685a754e1c825b02f226425c6df375dd8d44067155c8e2690a74a8ba60fa2f005820034534647c8e1a30eabc0702989174ed9e7d6fa0cefe4d0d24b1dea9de058c104889f408f3029ad5aa00582003983354f66cd66cfa1ad5e5e2be9ed4d183947a25261cb92b7f89f8646200105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820031cfd77823bdbfe3b65f41dca31724ae0b04e5fbee6ffbf9a15ae510a6d0ef04840d1619d28b769ce00582003a3305b36bb53b7edb20bf9509f9c987367c320825e2752c36476c40d4aaa905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03da0e453618cd01eec2ca4b2f2ce92baa4b74a74cae177544b23b51a58d5e036a0219bfff039aad1f393f4d368d9f3bbc64c7f3525ad60bf8ccea4f7e6d768b4eec10cf4968039af89008418d84b280088f52a5523ea3aa2b9dee3631c437d1a8b523d6a96bf6039d1df2e7c2b121427658d3ec36d7d4d9fc7f60fe380f3b58bbcac5fecd76611c03b9826df5523f49895a13111f885905962d5ebbbb490c1bc4144b27a1c8a32fe50333c56b047ea7342b498b16dd85605edb6cf23d6be037b83cd3330d8f64d7fd5d03f25428c1d0494b54b6a19ebab3d846408ee7897504bc9ef55739a832663b0f320331464252ba8c515db45063e04fea5782401df34284557bb79ba023a5a0147a62035521502bb24a37da8ef6628d9e976424fb6fe79922ec0ee1b378ebc21f9112dc039330bf08d81d32c12a3b233ee9f43f15454e411455f6b2ddff25dd797e258370031548a406079517a43f5741d92aad42fe90fe7b36bdd912670632e845ba72071303718abbbdb16b2d8b8aaaff85c0a7d5763c8721335f2c05ec1bf00e96200e2dc00219ffff0336cd4a7d57c82d686f7a962121fc33ba9eb3a139ff9f5f9271591441259e9e0503156b24baf57469ffbc1972d7b9f7a7b3b8a34c48fc693e281660353a8b0a875e03f8e621c17471b4735a3773fa2f9a6f3c4c0b6c331bbc40f8bfe8167044cf09d203fcc4e17b4e48b24281ec7704bbdc18a5459cd9873e8218fc9fcb05e8455f6d9a03e0c81f6432437e5331aff058c3d9c38af9b84393cccd0b6f34b0a17a31a2180d03daf35c2455a9ec0dd2173126671692a0c1910a067a95e03c7b5c268efb130b820322273a3d15fc6fbccfd2d0165a59e6ed6d5a354f99f6b2f8828f33acdbbe0575005820037e33f6fbd2c520ebda20986c50bf034bd98563cac3d86cb720b442af3145c049133ad1894c5c092e13036ff4ba4f4e94f39baf9292d44ecfd54195953cedb2adfb0f5068b8d63607ccdd005820034c3e1764a98b1da44f5d278eaa2f1473e6e6348dfcd00134477f9d079934c0480cc2f6f4656517d80390f9f4da8c1b8a875b01b41fe94659a565b621f3db513af5e9fabb5fad6970e603983fcfc366e73f97b939458f5344d4307ac62fd067a87e71aa9abc6e6051e164036d48459461a064a249b12d2f8a6a70caf552d207407013c40fe2fbc54a6714ed00582003104866460f5cd31b4b98a9fb47f7b828eefb02a7a1b42b4eaf10ad0af10f70483b6a3daaf52f6afb03416c90fef10ecc7491088d797eac6bdab84268bd7751831ea2c573eab51fd6d30317503f100effca5cb205fffda203f7010f2878e0bfae05118eb3bcd915a82231031542d483af0c4a6492bd8e5e3ee4e25c4e988d6699160026f8eb6a8f087a537f00581f027d6210e13d0726b46b3c68beb473a4250ac8e55ee72541873b203a03175e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dd0706353fe4388d866fc97214d8bc2413561ecb59d340bdbf859bd44ea203e300581f02c55d66ef2f89e34bc975e623359a509257a953d62f6b58a8e4c8ce7348e2485f767796649db67f0219408203ff4b3ccc6e288b601a8c441c4d9867aabe96945fa719ccf16eaeb998b65565cb03589478615ca37bd9ccbee9f17c94dd2d3949d3ca990f8aa4b5ceab15a5a2a5c40219fbbd031feadf3742d8f6a55484820ce293e45372e6a3629668e22d8cb1fd9646c825940378dcfc0f977c8ad54158a4d538f17de7026d367e68f5e93f5135dc0dbcd988ec03efdb3048546818d85fccc127734aa553246ba71c98f8c6bef00fbf2f8724bb4803567d61ddd9dd8dce0d19c04fbc4c91b7b92f70e9067b6e0f9a466487c7f2e890034dcd0405bdfa47279f5399c8b2caa48b347d57341782f76cca503e6836d237890394863b954f3fb3538db2c3bf2f63869479183de11bc4a387080fcf84c95656a903989873ebb35fada0a948237a85255eac23f318026acfefe460480d6850e316af035133e5515b09c4cf15e751a6a391c04dd626316c5b72995df2c17b4959f5a90d0219ffff03c803b771424826cbb1b24b743f678d9e0badbc89648d452fdf1acc57e7a64811031e5b65af53ae3fd314b0d604a93e14d271dee5be6330e64fa87195da9684ceb403463773aef3c369e717975f70356aece3ed755da1411927c77e1cafa3dad7bd9403118d8c19a70a5203802b6f7cfddd28b42d309e4d5e5d0aafeafb39af39073e9c034b0576767141fbca99c5f0b32d0b3b00954df83a4ae547e4cde9551b02377123035099603b681d7a111642793f0e356a462d5f60052e2a6736bdeb2b5ff337bf3e03bbec309aca7b17fd1a1c63346b05e7eb7e77397246ff32c1b254fa2a5bfe537c0353b476fd55723ec5aea97d8fc0e03cf93c12a9c145804d79a3220e6b1cc2e3de0396a3917e451907a1f84bc0d6f463b43da948e9b6cc69ae30f3e3f81ec07fc3c403a7922c9c799d37699576c133593e335c16474e653b44d48741ab2f535cd651b00381eec2a4d7d548a6a44f8f267d1262206d2a2a7486210975c6af663bf1c3a98f034e30a639214aec9971372ba867b291191ddb6fb975f13871bfe4d818027735f200582003c7f381ec964b09ffa1576cabe1a712505d214522bd0ff0885f5eb5f4b9aa705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003595c84a70c7004800f835f8e75f8a4d6cd4684aee17ccd860a7a9c41f7569048026c6aea56883d8b005820030f1ab91cfecb749c51bb2338295b1690575236d565d1d9b605b72b4ce4a1105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003973f93a5839c240af3746c65e01ada85d7b4425ef5178982570abb37534fc04a591552444bbb5a4d7e7700582003441e7bd1db7b7464d3ffb0192a944d08c66b5fcf8f0391031b4706bdae687049118cbff1157815f7b1037e25d0074593293af8bac22b733471f53f814150a47fb8072836b314b710f82603aef81f57f7ec6e9d188b580dfb3e519a2aff3086dfe9bef45f2dda2d60c2dc7400582003007830fad41eba5c11f8fd2f6538adf95053fa8812a64d52ecc6e6dedd3bf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0344c672b9c9b2c96038a48546103e6add6f479962f7a2f77c98ab906bdb829b560219d74703c3033127898ba5e34b76573e64dc6fe11362bcd2a026f5f6c2958e1d862779970388cd816899be09de1f517f0fc4d2716d70fbe12977e5802cf2ba90f0ff905f59038064e3079757d388b09e832194ae3e0f4988cce6deafe2a0c9a1fd383327f67a03b16d25237e3c50fecf87b18bc89c774e4b3bd588df3117174b977b94183024aa0219ffff03b6beb55e9172f08da4070cd6a99ce76854a9cb8dda53250e083195b1f199cfd203d9c3bf075df2a03fa2e97265ce2cb5d6c8cb67189ef2d6c362ab52416933087b03e44cc640c01b58a893a3ae63d18df9a4e6711ad751fad26e96fa6dc4855bd5b103ba6b4ad3e228f7c57e4fa51e4314741515d68024d0fb524e5d5e67d55b214a2903eceec575c653ccc4e6839dd60844e3aefb2c22bb649eb43f27fbb09c97ef54f903b6245633ca3688c0fc9515b6f04015ea32c2a1992339ad14adcc248786bc83fc005820037c2c04d0f10e4cf51042b18a83dc36c2896855b22cca5fce255823a037a3605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c87f531e7575915cfa6cc4fdb2a99a8d758fb6bfb4328d3f9161f092f3b180499fa3b9d29f3993000000581f02647b4505f5149337855609a25c06d956f855c4276589204f4dfe3a48aeea4807cb7f8c9e3d52c000581f0207720ee9aeae832afde6849f229c73cd166290869ab139bb1065d61cc5055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f033344ac3a27d49d9fb24be67f0e91e4f535b3940bea4466d9cd16954fe3b04902208fdec8538f913300581f03a9336e9ca8cf15629d109a290f28144a2513fa2b779925bc7caf6ab3ee90490d7c679cffaf43ea25021930000219014400582003868df00116a414d4b8c6ede6427cdc1f717f7f01cb99731fa0120b2b41d38048964380700a44266503c8417f4c4c8dbc361c699b47b31a42a63c7d8d0fd723339682b47f05e8ecd84003c91737d1409016add60772e64ea1ea264dbc5e0e4da5272e23c0b9f063070c6602199fda034b79b60acb4bd92f9741d7e479697289e0f03668c8b8b56f5e04154731fef9a403a2bb2f3101ad95884af8e2e45a75aecab922d3032a77fb67e4311f1cde0622000384137f3701e67a9d0afb850eddbbe46488cb7c2925e774d3b9c8e4903da5f0a50380db52a2171f587b93eeb475d3b544d32aeffe819f9824f6e98a9066ad7cdfca033ce0041d78f52464f0d8ed8b0cd5a58eb794752c08b139c955c750b677919777034a0db8ba019ce86d90d13552cd5468c19f28729114486dbb946cb538c32eeb8f03d66aec1196c0010b54f67a389cdaf3ba1c4f19db40c988a49f32e79b6c5033d00315946e6d7fb606f0044778b503db3c38676a726f5f596c29b468c1cad35cd1c2005820036dfec59e8829dd2d0f42235904c91f1bb5c3b0ce3165e449fc0bc35e7eadb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f3124df5dc90cc92fc2d0b6bd038c6c1b787dcb4b94ffd1a22adc3b1a49ee048ab223123c3938ff303818093d9386fdf29c0a545d68304395914b3851594f9049d9a744fd891434b5b0365998fd765d2696f37bb4f99e741cba3e1b2b2cfb02571b09a326e3c78a1dc8003ee943feaf41fa50872085f1cc06db0f17c3147ed2ed590427daafa82563c2782039623330e819949634153222d16a0cca24a2577009a0e7a6db1e3162f0addaa2703dcd3b4f0d8f99f7b131cff53269cb52bd1ddb433b5bde6bc6bcff34033ff195f0375947462293c60979f88f09a4f0e10e1b3c8b95756f172e638f9b81cad9dd88d03935a522a086eb9a60b25107ff128fe3cb6cc7ad977d88ce6ea8f4cb145e2756703493f342b9e31a34f95c468bbf28dbd31539da74e9c6e15348f412ca5b910801f00581f0214e1b235a67c093e92e879f912649e3e77576b4e0aba174a3cc4d73a4f745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc142dead00581f02b46817530bbcb117404bb155755a0d439d7e55f7803c0b853f769a69fbdd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219118000582003b1f323eaa4d3c0724ead76989d712cd3a095bebe38c48ee8465503f5e35c904901748c8510b728533402197dfa03fb7cb4e9df2c045fca49fc41e830ecfbb2b368e4f0f87b0645b28108f27296f0030e7a2e969bfc33ee68265eea5cc635c9760b87c0b7411b0526888f0d3f445a4c03fa2f17962c497313c4aac77c4827f95669511b6633b31f535fd1c7c7b13a40f1035b88b36794d1bed0ab5659ebad88d2f35cdb9d27a2caf4302cfc0171c6f4a86403949e2102ace1a29e969dba6dd83110bf539eddb6e067301d8640fb456d75dfce0219ffff037e8be0cfdea6d30583fc8e0445d64eeed72db8a55af3eb85c6faf282327df65200582003437d2dbcb455507607505ed7cc803808fdd5d0e2cb81d06a2174d8129cd1505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0359035d4bf6502434212df28ed0ba9efd381d7583747acb69798a3b6ac89033da039aefd754f4b3ceb8f19a0560dc81b7390bc06c6550dbfd77e3b175354178c3d9005820034b7df6ea471eb9a1c46627ad572f83f2ea39f2d0be453c9ee781bffc3e617048216bbafdb8b2d49003b59dded8bc9a3d77be35fba925dcc26a6244d458a7fa261be924afb09415cf1a0058200361db7b9356c786a5c0a0138099320b491f7199d9d5eb61abb3445c51cd10605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0354ae1ae9a2c29a09ede776304ddcfca8477c817d6741796180aa81bca3c9e36c005820034438b564d5a12722d6675f13e635e3b8a24af8232c289d999d7aa025fe73705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0328fae453148cfe4569515d02c5e6e21f7633c1bfac1e174163ed963656dd0b390058200304adfd1a33b1b59faab69636d1aaaceea0df23a0d7c6c7a22e354875a476304892cab3c3573f27b8031ce75234b7a47ef7f55c36d54ba3bda8a1b872d5c81e6155c9261ebc1226c49f0219fbb30375e8e9993d49d793c0af3ed4699eecb3cf66e53d295bafef0548a19cb85135300324d9cce00853a328e58dc6f6255c7f280ca20985f6df55b05da5a97859e1e680030592bc8e76e12734efab6dd6656eeef52bf213513014047de211e90d4e4f068303c5b781e74c58b1f3ee721ddd190ef2aedd152a1f2a9c7fb5952ba93c093a5e0103171d6bef7a3aaf73c537c5887de5a793c111a27a802312c73dd8efaebaecbef8031a218dacfb9402474902af84b6808b0971285ce0f86bdd927fa2b30876a6c4ef03731821bad8b6b3b0a5a2a917b2c9a6ffb3c0fec9be82ab50c812fc269e21f5d6035fcc95091b10b1eb6894810344a6bd2ff26bc977b35d0f7dd59b1a89a27ca43103d21eaa1f07762e6af889a1420522d8513b605baf096580d5ea28068263ffc9d3035ceff5a202ec4d345937c34b3e607499dc87bb7fc03d89fb18b97e0aa0b4dec003b4fe8d9753976782eff426b089e9c5c897f3e18b399a64ab86d81e222d7570e903a859e35cbea3ac2050c70b9018202aa83149238d013089096423498326e7aa0003eeac767f8c9859d48e164d3a3da99d89daac31d1c21cf254a2840ac0fc6a12a6037fa21279d9b8f93321590a7626f6e03bdf1d8f2ee36ef1e56b8f855feb1f6e620323ae99b9c22c77550f6cffafb10451c1b01cfda3f7c5a60c143c0090186687f30219ffff0380ed148a85bcddd05863687da7986bea63402eaafc49686e514817e74e9bd134038b88e16d9ae47fa1f6c9ab1b5e6aa1fcd9f0e05d5be5fa7171fba0b910e43fd5036e84c3c8bf92f1e3af7eb7ead6987ee5c6e337746dbea45c107e649a7ad58fb2005820031736fb6debc718feaa4d07828caefdad8ca88aff8873fbfb2642b9d1bb1e305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d7931551558b6a2920c9efc7eed4c094f2a5cd4f8cdbfcf5111982833a9dc0481a9538edd10414d700582003a445803e952e621c5f9f87214efc7695e179c4d4de0b4aece2b1a5e0d34fb0410703ed0104866bf1e2f626eaf026688c6e3f9109a3a2e577d1c66644b82e929109eb03f833a958e993d97e1827296323e904b27550915d078cf77482a515d7dd69be7a005820039be3d856f0adfaf11016c05fdb7290e52f247419071b14705107e4e7e6ebf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0321dc7750bf4c2b1e1b4472372918ca4999244ec0a5914cb3eff982286cd836bd03418b1d2483ebc28fd6b10b16002fbb3d18ced9f2b1362f358e683fc427a3d3c800582003f13c4f8de48631e8c7c850925bbfe00ebe5e3ea923552b6f95a8e98f1f3d305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035c510dcc242637cfeac5a9eefb562b83600346711ce1ff44ba7467c6234a87d700582003fe3f3ad0fdf896a1e0dbafb92a786ed9e23cc10549b6e1268648fc5e071c70480f1e4215c1e1f0940058200367921643104df0d9d074343498cb47fece248b3bd582ecff6ce482e109b9a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02195fe7035d05da6a2f73567a19684da4c3a4f9a325d32616b5023366b138d3993d463a3e03442ae378fecfb3d704e96505f66abca83539b0d9c245e17b356fa799fcc847c403deb61855ba04f32cf5b3810f518df353c753e5cb1598ff26d79f09909dc0f239031abd98f65a1a7a5dea537866cfb53627e3dba6934282456146faf7479d5db2e603b853938d8b51abb6e7a5528273bb2fca678901546452308e994bd4511bf45b6403029c4aa5e743af70d0ba4ea767802495ede3c793face113ae59201db5a41813503c76363ebbb4e802bfbab65d07b8aa485c174252e4d72bf9580fcba3e6e6c54fa03a958e700eb2f2ee045e82a2d7b6ad5d09241ec5d9d9466337dcbc84dd28cb0d703760a36f795c83ed3f91615974f4dc2faa57c9ec282b836c5907074ff419428b1033e13b138c1fd7a6c3ddfc07a16b32094af2a3ef3b080eda6e6a1e335687bd07f03ffa0a4eb58da6fa06fb41adb66401e1285b867714e534bc57985621514b4f5430393cf17e2071da0fdf743fb96477ae6e4f9f43b2d4a194f6bce27d57bee05a5890219ffff03e72dec72ecbc5896863d755085f45ccafe360b0a14cd2fc2e406e1b4029d34ff00582003f4217923d1ba42fa43a47983d49f149071754df943fd8452f1522214db64705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e449769b100b64bd4067188531f48780e0bb80077abb8ea4851bcf559d5f60443b9aca0003af2826f73ea2a69b27333fdb5b3b729f4c8ee99d3fa6b6831918141502ca6ab503b7460dfeada950c628ccd978257015cb2c6d3f1e166e21546969db964a05519a00582003237e976134ef015a45e56ef34f75943deeb109f4cef344b5c182cfd596271049073480263cc884ec3c039ffd944a9a626357e15d637344bafdd70edcc351dccf5c4d53fbe2f8a1413d9f030abb99e94e59f96b78b294825e14c69cde28fe837870922c37cecb85cee2373a03a7f53e7ba3259acd2164283feb9cd131aaf5c1c7ea49ae019fa5cc30bd07d44703dbda87154e3b2a16f04bb2ebb80cf7366f4370dee5520833cde50a5929b7c15f0058200390920fa42173fbfc28a0652502a524103d25316d09445a39cd97978f0196704809e88883a26f6bce0058200305557c20e2fdfc049662f1b1fb21d8444eed9732c7a69fadbc8a6e1e9bf90049055e7935aba13d8bea03872eeb2300f05f82da1189b7f70a77d1da7d7cbaf6c6f4b0f7526697d114d1190219a7ff033f25eac62dfb8cff7b0f8675b738831e0cc457d6d05421d1ba03b10c8b040a6f0399436fbb084864d437aaf2a6fc50852943545b5680865815cae35aa083eb5be200581f02be97d25fce8818b32c1cbda5f833a321d319645778b027ed848bc2a97cb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02fd6b02e0c45b9d2839c339e4d38f0bccd7ef8f9eb9617670533deeced32c490d3ed0d2dfba3c5fcb00581f02e969ea36d4d2011de9e7b2bc32db875894ff8af8c7e05f599f90dbd04e1a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021902410058200398737a069eef37810647d80f7812b9bef55a6ca7bdad671355019b803fbde05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f7b8694308127d2315d0ee0f9022ceefdc84255a82242563b27bd11cd280f8c3035e6fce85d1534a8a9b7df47ee9b734b0f65f8f597cb60a1239bf963b6cb077c303c1949beb0589248c80ccc4abaec44f4482871537272e58996a5ed4b4b95363a00336cea9885411377dbe5ebd97323d7a590d63433994f879d39a7e3d4f0479ef240058200333df6b8d80a454e20a862252107aeb282f953a393f5f738820674782ded3e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c600aced5df3595244a1ffa688a66d3e1446e84461c15ea9be0fb94399c4605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003700037e56a0bd6f5928c1671f884da30e3d26ed7914a3ab0988bb47f7d88c0421c6f03a8ceb85072562c7bbf789125e1233c2fc366a73cfda1e65a4c96926695adfbae00582003c1b5f504e7765b1eb7c505409af40422ea6ba64a1403929660229535a0b56049377363c4ccfbece3d80219fbf503a8a12fc8ca30889abec038e71eb3084ec3ebf2cbb1310fd54ffa07b58100885603bcee7b2f5e82ebe94819fe232481b573d40d1962cc17c3d9ea93613016abf523039fe75f2e8c245efce29357b041e59f865e8318ca9b5432db8ef4843a53bc12f60356b8eb94f6e131e9dcbc5b417c0ee1dc803474943292d97f2f75dadef0154b2e03ad45e72daa735e1f7f5f0bfeb6c2b8d717e77d6d79d26c48827c9503898025e300582003cea6a37c21661b3fb0c95d54f747278a9676cfcc91fdc7583d0b27e49ff100410103e526b1cff6d724e2f1fed51084cd1f8f1603ef39199974b1d32e8647712081a7035157ae36b81ba01c8c42783e622d55853e9028b72bd81e56276a9613e3d465a303b27bfab6308fa9b932def7c2b73f8bf3d8f73d19071dd5a2e5b528970d2b2ef403308033bb39a3ef423ba2b716a7207012eea11a953dc96fafe7e5bc73ce91131a037e85d3a62713e17bc404df394211a2edebf50631fb7c3165dde62040b061a1e7005820030c16598640b9bcb977f52755ed2a99860836caec1926039c55cf172ca022705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037c6b89124ef6322f1a459c491fb8365dedd5f367ac004c0111b3a60dc95ab2fb032e4d89db3c9a40804d2f8e9e299b9fb191e8c175ea8899f10e2e2d5bb11527b303c0fb781a70114045220d680fc37496d64a0265d250123d63106b6bd6ffaf85ff03cce58744ae72babb71c59291998d0ab204b947528d247114013302a26eb9784300581f0276cbc844ce443a7a69307f696e21d8402d7cfef449e31614aeaa2e5e9fcf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0286677fd8f6fef455cb28fa61405f1644e330b187aa59f217c8ba92e32bb65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f021e0931f89bc084a0c2f9004cb77a14ff6443f014a4741e4058c298eafb1c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0290d95043c87633a7006f9dba538518cbc9bfd44f37fb94f607b2a6951fef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0904164021942c400582003dc5afb4e044ff50251e5f88923501ef326f2154045ab8e1c3c1d3640153f4048650e4b1c9359a4c003cc657c58f579f9fa2ae786f7bf805658669229690571c834d69df6b6af5f452a0219feff035f703b66e63744ff2549663b319369f1e3513eafd277b7e6933f056615a147650314c5db30d76f9fbca3101ae0554d85ca732bb7f244529b1787aaa1f19efa08f001410703cd802aa20aeeb4373ff494209d7e7e7dff437107f0b73cfca325450e255042020361e8c9bd38cfc0f8b704ed5a5b5865e12b1729d150851c951d0303d64d8c406e005820035b11bdd2fa629f271f1eed7bd064794c9be197006953c93a4b020157119c304903ca4b659f5746ff230058200319c1b398a7990af17d17e0076c2bd34d82236249655950b6f1c2bfb93692c049074175d76dd7318da1034e943bb45a5ec8487151731dc599ad0885076e5b1e0826132eecd6a91eca434100582003eeae56efc86569304a3b55824c232c30fcbd3b395b1715b1dd50361a82e9f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036b663c161d0e5afbe6d0c5be0ece8499edb5efec044ef28af8e7ee279487177d03513f26c45943734f4809ced582cc4b7042cf3a5eb36519ecf8496f207ec094fa03adf370a3438d700bc77cdece9d341620ede8aa0419956bfa9451a85a372753c70370897dc54085000ec638349f1d2cf200976340f268692c04cf9398866a224ea800582003190e0d35d9816ad50f378245807f62f9064943348b275dcf09a91b8ced29604814a44d4526a6b09b0302fce36cc9dc6820cd1b7b66ce48123f1b9fcc15fd1ae104a0a1214a3adef47400582003fa87a30b979b7442cc930eab3dcf8a466d750b9cd0e2a516da6d5733ab3e004a0283eaaa7171d51b862f0219f7ff031628232d40247a66066e19bb6c5cd40d2cf896e7e6314255dc17039a284485bf033c8de77a0ecb141f38851cfce8390386a9ac1ff7391047134027786686a7351d039cd1db0ef875f542024ebccd86479ea16994a02016d1e5979a033ddebe3e7bb0034d5d6cb2fb84d7f9be3960c3b33abc13a2623beb18cc94ba5375d8cbcecca57f03064cfefd3d4830fc7d0b04398620ac02d95cb2e35fbd2c46c5dea1be1284e6ee0325bbb80bc2c74466f84b410b2825f8d8aae696c2032214bc471bba8426368d8b030a5c73e03b91f4c92feb4ad9239e8de4a884b1608d0a7e7b9d4a42cba1cfbcf9039e4cdd71d8ee1fcb4f04b0df96a1e362bb0c2a3e8b87d5a128e22710b43f7ffc0219ffff03ded24bcfe5953316a0b290bad281a300343bb56d504531f131a162221882a5dd03be60b3d822bb5a3c1c98778d514080accc5268ab76464d2da273e7729db040fe0346d62314b216043bc65ef645ad8a313b0fe9269335483d9e5739f99ee32856d403f0691cd02ce36835990333258fea0676f334a691acc318ebfa6da79173fb2e9d03174c4ffd9c4324ac74b02fc5cacaf42ac2f962d412b38f11b3f132b7610801ac03495459309d913be145eb6c3ffcda5bd775b03074355a9a52439d5a2950c442bc03592339dded85e21de908efd07aa1c497645ce6505d9ea7b71ab6c4fac98ad46b036cacccd290f4e20440732d2e839786779e5c3971f9652e989d99d7758ae97b3a03d471a3801d67cd110c96511cdfc51e2f0e3e4e02b2b665c53e5dd73c06344a39036ab11e854b77ac87eccf1ecf7815475e7e5cc5dbfdd3330a3df780a4f820090d035c32d476da1b117fb4c151082965eb7e001bc687dd2a2a8add9a14fe7bfd7e36036ddfaec0246cefa206fd0cd69667edd4d28925df6d7f9f018dd3a38e326020ed0058200309f86b3d7f030b8e05c9db6d9dd17de2572b58083a02fc9cfbd9dc38088ef05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039fdef189d9b1266d84c00d67c392e3c573a4bff2fa31eca1f51d9a3718fb65e30309b87c3c43e15b8e28477d5327331792f5b4d3a74afbb8beb08c87fc6eb62320031fbbded8936d76d9c5f30eefa6f5e2d18b181f3aa8a6a3230211020fe44e4239014105005820032a364383a2f8ea86a4f062249dfcbbd48cbec651941befe5468ce5d18eb8f04922e74634910ea0907503254b15655e3f9410966cb622115823d25bbbb7741fbc9f89dcf11268c3ea664b03a14dc6e32fcc7c31e7d278769a29067f68a47f0c5a2c96caae92d65d587dcb83005820034769a83753ebd779b39ed9bf5e8c6c7e312a5e147f63e023b4f119dedaa100480ecf96f6e29c8a3e00582003c1ad4d2198610f7e13dfc5dc55f007d35a1565c7b47d194256f5f9dd1104d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d39f03bb5018f8dafcde5623db91448beebfb5ce0a6355ff65e3dbb0ce998f450f49de037a309753c3a635f4281dafd5ba7c6aa78ad89618a9f781936fc22370dc76ea5b01410d0361372e02254aa4b77c12a375764223c2f5673f2baa5b612d51d80154c32f5f9603771215111b4c7a3191f0d8c6406b088af8da40fae588a31d9eda513df4376c2603cc351ef3f6e327781413542adf2766220ca32bfab821d709dc650a592bd719400373bf42e436088d5a38a46befe13627fcbb9b206579434685d3b2bdf1e1af705e03a9310a9d39972d3da8ef922f42c96951430e07f224bde43a07545d2cd938f1b8037d0ff56ad4942e71efff91fc275f61bc7b0a88e8d502742a047f333c026c5d5900582003e355e7689373ec870176b4c8a99108484a73f2b16b13f349cd5f3a84b556c04221df03e4a1e4fc8464b2a66185b52d383d63809fb0879fb59480110229dd98c759327501410503fba4e408f94b7562266f2f5b53aaddc58e695b112a52512b759fbed6f771608203fba77c460c9be9396fad2b5a5f0b2e4de5d1652e83b3adba3ce41337cc1200100058200319301fca31baa01229ccc30bce455bd865db5bf6097ecfdb8d979c365b08905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec4049bfe0e1a00b3a796852005820038e75742e5c1517cf6781c7d41a8daee573acf0a250a87f38bdb74810b244c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003948293225a72c2fb2db9754b6883f2d7f9f058b33c10799f2516848b31e890486d1e948150b519da0219f7ff03985d094c94e65772d35af533f127a7143d32d961aa466254ac26a11e68ba8cc7031fd61e0612092233ac350e0af8fcef6a431210b38ae0c3c34b2dcb1328ebe71603920724d586de72d80f4d0f338c9c3724df4195fd3953a0f03670aee92f9357380219ffff0300628a59bb68098686178edc024e68dae9e2893099ac05367c21dfe62040b5ea03a37fdfdbec7a79e3115386a21f788d856c51b42baba6f204cf576962b0a73fc903a85997ff1e0690a1dad135f0e32acbf3373f1714eee311906e3e3257dd29782203cf871938de563d36aa906e4507d20830c59d3f57d854c82457f5640e2658046603e3e7a0283577882f6a5abdd97036fbf3f06a80ef9f875a2007453673e6918f98037fa54ab776f6a7127d5865f456b0baa655049db6b995e6e006a30f7ba2cea310032816d44b89ca3584abc89a164352bb9c8cd38d59816d07a17d61e10dff3e024f036311b4c9490640c815c8f7da48dab0b74c2f27224f1cb6718f8203c0d431f934037810aa66cac788ad60132cdca7d875bcb7154b5cede369b0bcaeb3a710a5c6a2035f285956d09e0dbe632e111d5b3d7ad4b912c99fa9bf5d288ec98979f65f1b180345b2819da2890828661283cab207d71d492d3b2c83db16a76b0839cf4d37385c03d1a8b2c5ae32d5587eff3cce030ca3baa3e4bc6dec846c84578fe87fa362afa503e532f321a6039d5330a360427a17fd8662f2d87469aedd66701bc50128e759da03c3cfa25fa8c99999a9ab883423718b4f1ff084e77c7c71c1d3edcc21296a7cb903cb97ad016f08b73e0ded5440239616305d297dd7470b0e3b7c6e4ea1f014c4500058200307317f42e72a782c821d56520652316f121791fe6626dae82c2ce1a5ada3105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0371297ec1c20552edc2711813bae28a25404ef23022d43c4a367c55858628d8c2034af1606aa19536894ce358664a00459799ebe3734eba29d12904c9feec4d1596036380b4d3ce9874e406a83b03671674ccea8b5cdfcd39cf7b54e5a201d8aef32600582003a1d611c751cacb840509ddd6ca3e4db1e9e0bb04611e94c67b6d61a28007d049013f1f0b63ac590335032acd0535a2c7127704770a462945d7b14e7dbe901f58b02385ebcd1b1669862800582003e6e3518d67a4b385cbbf40bac9e9612b4b2b357e16e7fe430c4e6e6d04c030483dc63a3d3fc0fb7e03912c9d5af55719a23ed805889c9710010dcf8b9f77e05d69c7546c665cdd3b6600582003bb84146d6198cc6045328e8b09fc3e88ac494de611cbc2711b03bab30e4c2042043a00582003c1235e69c9b2241780eaf980c44730cb0e07c03ae526b89b7e30794f432f304901b184e0010cfbbc5e0341baf13efba1aa49694a6743401eadcb23598a5d82be6fb68b806c2681c1ad0100581f02535467fbf9ead7de297e06cd726fe49979b294a3b04f4e507e85263fffa84864aa74ecea711f7b00581f02bc41efd218dd8d64d41d839b94bf2cd85075763e13518e93096f8eeb9e7b49054274f7e14a70f4370219c0000382f84cd4e0674bcb5a6a48415e2b1d27f281605e331f0278255748e010b39c630219efff033d80972a3ddf51925a15f67e1da531658a439e14d04cf6481b75899cd16e6a9203261ad39d0bcbfa6c4c2109830a88ea34d456a2535ed21cb0ab4b3f81e31b9be70219ffff0365018260c855fa16e90e9b8af6c42bccbb68e3f431aab0e6027484942cc0ac2e03fe48b0ec634fdeda874985252eb3269844042aead20d7d5a181a3c4e3ea1e64903c4d1280bc6ab11ce9b536fae4086b97a7fcf9e91e84efe2f83266ba950d3f25003eb56d34675e97f07342edae84c71d69d25f8de249bea194dd5e6c99feac3174103c2e918c780234ac53c90945959b906a23104a3741367fafca212b8a324cbaf0903cd72e43f38a7fd7df033f8e9a794d1a400f9bbb7e4b8bb2c4b21a54142b121c9030b25d13ed75b076feee71dda93e69b39fb7956296a8dd0b983263f5aa1d5c4d90373f1389701c32c49638ac7fb4d92fe4d8d8e48168aab952dc3e642d9c5b20aef005820032d5c4dd643a4326e83b7afd7558420e7ff98fc1af83100f718a479b804d6c04824949a265929720503f3c35b8003cb6f9e3a254caaee2552d0a5837ca91ba2eecd8881f15a4f0c8d75030beee3f80fdfc4fd7d40c8f805163de99ac858f7a04af18e4f272e09fdab08b00058200319af14035835c0bb0af9cf88f67b0dee0e85f43deec8698403622c25bf371049015d2b39bd84d1b7c300581f02e300bd41e0d17cc7037d7388037e4e1214d655df82783a97827b454314a35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0243069fd90d7eeaffe68a66fa8c8071db275f7b9b7de1ba7260c55b1f4515494be4e7267b6ae0000000581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6884a5915a68d88da6a08000000581f0241e9ec1ffa446d11522e2f362ddcd95bf76ce9c0f6c2559feb107201688b49080f629fd8a68c483102195420038201275d1713331e6d87aed45ae892bb310c39889422308722c6dfc0ccd732fc00582003969d471766482b6584bf3b21d45bd3c7e9b7d9085a7b9baca999448f2450105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c42a23c44de39c2f4b00849447a1bf6653f9de2e75ed59b3e3f497a975c410484563918244f4002a03b20b768de5057b82e353c25557b2b172d6bacbf208fa1067e6ae33b47984b526038474103dee6d2ff79c5a4fa6edf1d5023a76586f0938efd64d1537e98a7d33cd00582003b0488987b94c563daf5e2bcda6e1f7356388b39e0ef4d1fbf0702cdad3166048825bfe2b9769c35e0058200315b4ee341b8f02c0839b6e0ae4f323664183f2a6722d8afe6c3b453d8754505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219affd03099a09fa479f8eefa4ee21596326a05a66b4f4eb7e5f4ab04210905a7aad14f000582003c7210a9b59bba753c47bcab5e1743e88ebc8a963c9bf7730d32282157b6940481f5a8c794060ec4d00581f0293c15c4e33368c2637bdbed9a142fd5c3c5b33d65c5a57d2d786ae9eb695485425d1feaf8900f103213e0c060c48891997c8a67285e4f495b05de5cb1c2b339b62b0fb3251072546020a03c7851e95714b40c26285da900026c039ebfdf3f98bc1f10adbeff25ef86d981d03a5bec306c87ff7fc44700e93e5b69b10eaf508015c3858c2dce5ec656a7e1c3503d5cec7360595df6a89b9438825585d7551fa7a1da65da1d0c83b4faa9db326ea0058200335c6b30b8b48f9cdf1e141069bdc081ce2f4ca9c27a76975c0c7a389998cc042051a005820032272de6501574763c2031de8bb0a42361184d24666996168fda18e2ab6b8e0490877bae134eb118fa70346097bfc2ae6277c754dad6719eeca004523c5a75ac119ac8a755b2fcbc8f921037dd1101b2bb503b8a01dc737f719b887d28fd2c95a319e0046435a38d41a7a1c0058200361c45f4d3ffe269bea75e88ede8fc3a9af58d26f14bc620dbe75ccfdca52005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030acd5ac58fd9e64dc1aec74cb73d701539c493f096c2a09ffd09cd7d4a4cae5100581f022e2e1cbaeeb21c452bbd4e9a0268175c61f10dd68c69da77864ee8a0c0485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02bc89c448bd353e7b7070b1f39bb376405c32830868b259aee1846a5df7465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02015b5c1d806015238e8c3cb56e74ec1f5873cb3f131b788a83e8e18d64745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219600203a87909eb4a434db00917d2baad40356aacbcf0f3ce7d8d8d112a20d0b51e0c72005820037237cf73ea6811d16e2f279735e81327cb7ea31ba0276c4400a38ba2f03340480de0b6b3a7640058031b7555a4515d39f5f9f85c1158049202c6e2e8c49b7cb6aad81118c55333f0ea00582003758b5bc41dff325efb53d8696142f4e895fb94640d05c1590d8804555618804904e3835f95d8a94bb50219ffff030bdb4a16ba8fc151f604c1786e8ac78e1cb79b53c763d8257870c330ec20767f038cd5bbed707d1d4348b761d3eeac87e20a0827002e7601b30ee855b0e6e6356703b39f564b2c05d54ca17e68926d546532f031221af28a64366650493e879be6e703f68b878c2634b0b02f81f73fed3cabc2163eddfe5f214c74d034b369624772140355947d786cfd135d06973b2f758735b9e0001372cd4f16c5f29b35cf0af4bc4e03eeaf8bbe97dd3655900c1f82e780a5dd7d60b54699e13260bb3651500bcd1bb803e1de1f8cbe4e0d92ce536e633321c33d19aeb0796ea4a6b865056c3fa93b8cd20219ffff03d55dbfee6e2388a64d9f95279d34b06fd591ebb9c93686aa8adf153662a1572103ef81faa144e3c7dac2d498a988fe286d0d61b6bc2c1cbd56c7cb7d7414a5b64c0352e8b5ebcc7f2cd46ccb04094426096d568dbd86934423701fd94dacc83e7aa40348de63817564a5172c950b4ba16f69d06f578de58308688b2e4cd6daa602d3a900581f028d1fad132d513d2894397cccd4bc99a514a2920dcf4ca5911e02ce58fe125820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f022d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e54bbd5575f3f51ee5ae72898e8fd11abc1e5e3393d0219280003b95fddf84fddff6b406ba592374928d9a6f3647bff5b9c0c276fa95dcc913192030713305c548413ef96219d3e2b5c1b0df514924f49a39af6ebbf267b0eaba17e00582003b44c03662dcb0a3bb3a0d71161666837a33940ffd5a1b989565d56fbb7ffb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003770e588250fd6ada852350dc460b6baca224571484fc633d39f09e4a5b54c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bd5eea0af248d778f24734ccf0a3ebe86f61e29671f30eb177f7360d07fa3ca603813eba0d20dc167009a51bc297670525534029a15aac5d4f49289f5fef3d09b30058200309455f4a7c01fc0bb05eaaa9cdd178c1b9b73a42a5f30efd1cb596af9b9f6048d3bacea7e660d4160389fe31fa86c98882eb19f05725543cff0ca9c2dec698f6c720038a3b166fe7c5037f5cc93bd5712858f4a0dbf40007b5bbe9c394f76899f2cb3fa8651cbf246b0a0219afdf03acd8bc15c408f97ac043ffa171ec2551d57795c9030ba3232ebd9d53456986950399ade8586ddb0f0c0afc1f48cf3834db3d452ada3fdeab30865c54adfc6f8caf03390cc023fb07eda0ca2e9744dc833d6e15f017890a365e5c7bbee897b10b84c503e112cb8449c815bab0681efaebcd4dde76738a165dd097519da2394957fb9ae403b791fc397dd62ee1b52da477789b171b69ef4d3fbc4a6f593d61f254d37b3876033fcb5785a74d118f2c0918a411ebd86e36e3a6a7807064203f3c60dec30b6eaa03cced94ec5f40ccff1e271dc9e3120b2f3d02a94a34d51a6d7b50a9fe792c335e037cdeb0d0e5c98ce195ac00368a309e6ecba11ea157e0c87de33b2bad9ef627e703f27b5a5961d08703ce6ee54c2cfb41d52cef58791fab9702f4ea57821015f08003d823b5c3a36410419cacdffb0afa529f92097aca41a4d8848ac82e4c9c84465400582003a66c9a2c5fd90933c4d3a133af6f79ab8905496c4f21545419ee4a9f085b1048eebcf15a26b7d72d03dde25be5e0699b129ad98c4bd1125241f0031bc4cb4dd82c173195c90ccffb5e03850136e640c90873122007eacd01338470c6dbdf83e966b32718929963da518203ffb36703754f5ec318e4d1e664395c49617a0f3cc86ecd7fa4f788e074ad907403439ffc27f70b006c3a896f1555d4ca5a352bf354d57016cd50500166d271fbc900582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440410a03bccf162b56a2c882ddd931ea74fc900dac8ae5c12ae97d5f1ed42f063962c83e03f762b20e7a72c828b44b7583ff4409a5632d99d8746c8307dcffb5ac49a5c3800399e56c25eca6af2ff00fe4484802001a314c1ceb726af0af549a51008610070103f24c57c1e4a39f43874efb79989845238642772c0b669e9c9cfb7f51d8c2150e033063d732fb863a5d1a37594d0e56ffe80e309a7d79ef09397fafa5e024a401fd0219bddb032743240cc1432dd83d67010cf3e1203bc7e69cf476630089ecafc3928c10c28b0354a52321b0c59cf0ba1f35bf932ea86ed6550132aaa8e1191452478351cb33d8039d1e6ded0e44e84ac63aa7f90bfb038a1019f4330af46a43d40e45bd986eddf403d6a6893cf03be3eb36e7a4c3dac6fef0a05a30b6da39ef4b2a0ac82faa5639e20219ffff03f2ad5eee3a920670ad203064e3db20481775f1ffc45a37c87db6cd116c514d0b03ddcea2c8918da5a2e7c154557b8b96ced9e97e7fb433892e933f7b55f03b68c403742ce6b4d94be5d4f51c20959181961bf77ba8f30ef760601898509d93582956030af1b7fc5a23b4f3ec31ebfb055d0aafcc5e75ff511ed51a33c98cbef6d8d14300582003bd536dd7d9897f38cd985484e38a24cf99b1ade341200650e90170310b85b048dd12d7583d2e380703a1d9bb066d8094e2e38fc4eb0333a66fb9c3d5633e72a356ff70a0a17966d34e00581f025a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b42dead00581f0272ca29be6c5a2f9e5e6352522b998bcca7f67ecb05aa750ced77c08d5d4a4901a43c746ff08239d10219108003369294e405cb864bc937edff33def136058ad9d616ab10d85bffb6304021fb7603fc64a4790a6d2511d625dadda217ce6a5dfa35fd4d207698312a1859d27f33a50364d66708991139cea6d49184828d37fa11a24e1ad33159bfb5dcb2d8ea776139033b4c49b9e14387463310756870c9a60578405ae97744ce393c97bf4c9d5e40e303922078a3ab7e6409b825c3414f9317d164eb0570fbd076805b178ecbbba22d7700582003db883db02c1d07b690e5c3df6e10e672cf7cae11631dc3e8dddba0909fb550490c3193ba4441ec2948039a36361c6039af1c112441db9bf317f96350e94fcb4e8087ab438c3b5322327f021937fd0359fcb8301c14f3f318237cf36778c3abcea477397eb5fd35c24a792e10d0fe960318c991c33052efa5a6d2a32e7d8233487f9501429e9e7ca3f0d53be4ebaf00e403bbd39b8d3367d227c9569f5ed5a6e0a9657a952b136412e1ccc6c390616b833703fc8cb950d74c9b8098518fcca792f8168ef94d55330efee01631b92c20737b9800582003a01faf357a47ac05554e1a03998b76d153e98444c62f610cc84d807d25a34048995f8f40846ee1f60390fbcedd0073db40e04b527f4d4a40d76e8740a3940970abeabb3ab3f7ad101703a100c5fc8c7968efccce844c2abc02809bba3e5e027cd48454cfc70b8e59945703b64a61bdf1f48d07bfbe17b740e828cd01bcf6a80e90cffa7e49fd00f2514d370058200314238bc6df76c46dc7452e92b9c84b00c9a755a63ae57a5c8f9cc69e0c20005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0330bff94461f983aea017c7733af7488ae8a48feeaa3daa45073af30cf3bfd4e6005820038a4d4930901f10ee909deadca3eaa646c52ec577028a825b0b272eeb5392305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003daa508a68be7cc08027399d9ae633d8b321e1fa87548c62b7a887bdcb619f049082dd3912c5a792bd000581f02163a3133a8ccbd1db4c7dbefb48102df9d55784bca8c67b8f5b0e62ca5df5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f029bbef199f4fd84fa82f555ecf49949f57aa0d414382ff71b1d5f73e6a98c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021888005820034dbc597c9cae6840a1211db23fcf7100024595eb3a9ecbc0f47ef3ac8273f049016e979014567a73fb0312e11069cab7ca14a1486de28649a3e80806e80147a627d4bc1d104933365e140219ddff03712cb507187ee55216f3e7b6965948d481c0a02399abe1d9731bc1012f0479b703aa1d5300cae691546df32a386b60cca96c172a4e9e3894e4dfe92b4f5e770914005820035fec60ba449e32439dfa401698dbd2171879eeae60004a23f1decc92af1f705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032fea897fbf334ac7a7c7d84975cfebe2b35efbad7620b2f993890b0fae54a09f0142004b005820036cf6ca190c7e422716c9f2ea09f9d398e8708b04fd6cca2a711519920e86805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003dcef791e92fb4fff4b37776186e2dcb29d3708a38d0ab59f5b9e6300d15df05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d60565b7cf42625a7195df84360aa5efb25f235465de7a5c7dc9e7de2ac90f4b0339528b5cce305ea6146627e7bbe890e95367296a05e944f846a4ffab40ff9596038b99f23989b1801934f018f63fec0e8eb360a987f7a2fee64d15c819cf7f090900582003195e2d7946330534dc83ee43c60363a7b55d67a86c92ec550dfe5893cc03a04850d94bcddf147b3003f025c642735bddb624c820debef078a5ebc307f2f234b94f94a4a853b885b276031f7e48a89b00c9eb72bf4de90fc1dfa86dbba9ea1227b1f22ec0ec80c543b41f03b1962b5dfbfc9669bea1bb10cac5b40551c575130503f9f549e70bd42d801dc200582003977094410e61d3773699d674008f748fcb9a9a0463e0acbb4210521c042a105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03afeedf34c7477097f6444d49e0473f881789c603be2f4b80a1506b0a6e8cb6650219dfbf03e23d78b193e3e5b8f2510439880182354af43852c2132d91b79424b84b5014e003867d9043dfdd3de251e278a1e09d8cae0b98c3d6e7b51266724493a517e84fc000582003ab75540eaad63b7d89b3cd4a80ac54c19590eccd0e1da1842dd1632b456b5048f9c54f29575a487e034f7bba5468654d38d7af52f882ef576410e907cbd1a5575e56ff1ead3046245a03d123932ca2aa2c2e9ed9d963c0443058a56aaa261cd7e2f28be80c67b5264358005820031919215d9518468ae1f79cf36087b676bfc1ba00556c5c61dfcb84d3f14410480773ee607c5825dc033caf7e65750efd813da496c62bb1d71acddd8a210d5491a85f9329525d93f15f00582003b9fc6303cd6eaefa41c1b85e4d91f91523049896a325ae3903fde699ef0a104906d218bf2ddc1bd7530314d6b561d7ac519693d2e8cdc018f4f1112290955a09b0c385eb930dfb508ef401410b00582003297c360b7ed2b7b0986e9311206845e164888a083149aa10a4a3712f4868705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003456cd6e899369ea25ff6184e23668ba1b4507e350e454cb075d346b8562ef048a93d360975e3d43200582003e36d8fc82dfd2369c014d3337e5a54662860ac86628d55c169ccfa32d6565048270b912482e3855303fb5ec5208e3d123900dfdb231a12291227601123d50127a7424ea242a7d17ee40219d1bf03521aa64b5d6cad4291cc3ce924223b847838194c9a5c70922655c2a62f767c9c037acb3dbcf545dd86db43367964405e8e656b41b2a8cfedcee6669d493817974b03c332272d0615848da8162acc03dcd08219ff8c28bd6b123ce0c28c9eb487646903066b98c9272fe249babc05d4cfd52e5b2f0050ad188a23a580dd4fbb3962130300582003c6dae178e145e4d7eeac690d77c9684569978d65ee743a8264a71d4f3366604cffffffffda0fb7263ce783f20335b0fbd6e659b2cc67bf3d7a44abf2f37eb2c81689d41d41e2bd87294e8eff120058200393929ae61b78d42c7ca12984f2525ce232a16f696949e60419d7404837043049030f9fdb97b4f6986603d620b1a578948186eb7ffc2e550ae23aa9d8097508627796c50791e9a41fecae00582003091afda00326db8311e33cb787dfdeae4dfdb44d4aebd7ccbfefb6d02db6204902a7d922efa1c5b30303e8ee83f7d320a70062130c25609d5177814a92179211cf9fc784709d28b5b76903206ca853a351fd843af7c4789c4ad0f80a5fc0f87346fdf45cbfe8491dc39334034b5917a015afa1a5d0cc01c7cd59861cafc5b19569af2e1016b43f431dcfc7d901410a036c0c59eba59bf3a84ffe79e675dfb5232c3a156d046a3e284c13717a3e54057e03457422fa76f8eb7735b21c78b3e1f3a2060481a5bdd4976e808cf3a57afa4a3100582003c98a2953c07d12194d3a6119d76fbfb4e85f68577c354c1edfa45dcd92a8c04903504b31540bd52164039e6835536ee270b868ee1d6c6912306ee2604979f9a49c190a5c7450458128bd03ef3682835879ee74c049213a461b31d31aa6af69308388f7fe9346d20b6adfde03e6268d9bbb927b6bbb5ecab2f2aad603a8598f786ba2eaec6bacc8f4835c88c30219fff90331941071c3ea1a1a81d987b7de0c2f8194e3dd4b671847f90e2ea54437157af30219ffff0302fb8ba2b3efa21a94627238642d2040aaae42629a9ed69edc0fe6d2ea8f46e703b38ff499ded19c407832be5b6b09abc1553ea11ad1382da271a43c33dbbc9d31005820036eaa42e4d2022572b158613a0d4b51b7e654c0fe90a2eb76899b574f0b43605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bddec95fabdc0e41cc1dff4242e9b4ca667b53daf137ee1b77cc9118fb6d8723030cf6ba57013b3c7abf372e58ea21dd1d7546811cb836d07e354e3111dfb1762600582003db2d52b0c2214aa8b15f12223790e668cb9333260fabcb8e948217dae0a1205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f596fb2bdc6ba16b1779e8d75bd466cf4a184520654d840234e438c0b9e25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f4066a29bfd53f47ac13092d09ac7d7430a8cd83889f71c8992ee5f84963485460ee6b5d70a446021400582003e0a2f27243de5012692ee22fc06214c9f1ab4fead38eccb832dc295fa82d90488d1dcae1285434c70301fd0d6843403368246d2aced4b9f96033a14fa911b5f04bbd116764a30d417a03a50fca79e4ecb502f841d1159c818add10be04cf95c67548a352b1ac908d665d03706b25549b79a92e6ec610b06ce083021cef1808f1d04d3e34c36c7b460127a4005820036a962c6366fedd05dcc876029ef990cd984981b4da13d8edb68f536959edc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0360f56c58f38b409f5ac2a99170f4078cfc71056a452150d26308ebac19f6e243033a5c6eaab1606e121d41b922f7c7a0033de447aa8cd2bf5dedcfe3ecf3f2f8ea03c0ce7277e0acb1698b80d9f5daf5c374c7fc21c82734eb93e972a4dfb96b15e6005820034f6fd4d2aa0a6ec26add732a3e67156177edf699a23847e1334ea3ab800530490b5beb12653c8744720219ff9f0329d577ac3ed0ef316da1566fbc1dd49e1e9255fa07bea9d829dc8572dd4e60ee032afdd2b7c40917a2b26057907178adb6be095c2f2a27f6aac9879c7e89c8275200582003c065547b4c917c1f146c41093d3f3421afa6188a5a4fcd4782487d27ed20704831bfe774d81d8f20036c03e97af43d7bd9ec1e66c85dd51fd409e6b209de03732a61a3c6ab6cb14df603982a05ac4787a57a85ff1607044cd82972b028075b545809c231b6ecb7b3df980363cc0eb7a1fb999f6bccd838b310123da0e1c293ae021accb6d8da64fe137dd403e9bf99a6089e1be66d8a6e2777f7b0ac9d2908297ac567c9ea7804d918b96b7803f3e090afd3475243a86c08def29104f529a595067f39573775ebd69c3278644a00582003b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f42300560101b10d5acee2233a30f03adf6f425249113395d7a8005820037aa6d1e4820791741c0b19f9c08da97734edc1329d427f0da27f9a37ab5ce0486094a69b71a7be89005820030d799858a37b1a1245c0f499a484da918ace6faad129f0f787f7e25e3ef5004901da7e7bb4abd8c45103b6c4c6b514bdef8d3bfac7002ff2837765811110938ce7c9b3e19cf3c47f9d2b00582003b8169ad30646c43471e885f93267fe106176f4127b0fed849b966132239fd04107038ce6ab82f21ec034dd9d083dcb5aefb933df092b72ac07085fe31a47e901f8e902195bfe031e881388357a06c11cf60a4a1e3fca1e52c9a0adfc98e4276ab1fc46b80e0dbd03de97948cd7cdc90a20687a49d9f6f362eb48b1d83f7c91b57823d054f56ab871005820033ce7fff2566f6e470d1844d3cdee4ba17450c9b9b418b9cc7cc9d4c7fbc95041020312bebd53aba331e9958afc74be40a84ec59542fd4d6f383abd04cb5b62ba97cd03b4ec940a4e1b864cc56aa072ac4229fc84a9ef4bb50cdfa4a6cc453589cbdd0100581f02599f728a6c45718a9e538069b2996ea3af525c33e336cf09328983c562f2483095fcd78b5a0b8500581f021ebc349c8db1dca2772dc091f67e6fe6034cd3067662a2201a7858a6b9f441010219401000582003c34536ff02cb35c6c92a71c2bbc798b9541ceb38a7ee66c401bd0e5be0df404804c43579edd64a0b0058200390fc4e7fa76680480aa39bbe21f08271c31659fb793d8fd04ff74a52a54f3049547a4c75558e6f10dd005820034976d38486b34622bceaaf6a784e50796e48d1fb05409497b804108ab783c04937b7f57efb0d7b2c1003c01b93022eb1221e995d9ccfd32a28ebb8412f6f89ff626dc4962fdd2bca96b00058200309a5672b822b45b095ca499804a26307f544866ef22d84d43b2e3f3bedff405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200394d85e87d7b39423615006e08c0785351b03cca4e1a3683b4b95cd1750087049031708ae00454400000342c2838dc3707c7b69cfcdfd8771c0e7e54aee17d329bf7b444969482dbdbcd300582003cf5a898d753d4a199a9722b761942ff7881a04be22f4a05c4d2aad7feff5c0484b3c0ffa720ddcf80219fa3f03b39a96768bd634f8bc16bd222819a9a735c11a6893988fd4d9b8f4d76fa4916a031814ff7636297c364966576c7f026878366c63a7649ae6f5a8b0bee81fda1aa203dc03b4e61eb11ff6c82ae10e2c374272e54582d228dae40dd95e68cc6d2c4c12035cce7a8daffe8effdcbcb1ebb8667bc8868926d12dec6408ce2f8d12269fd68d039a30711e807ae8228cf5af1d25b01c21b33f5eacb8d8e4c6796f85438e81436a03f6b8debc1033a2dbc8b877b7f358db34338503d3c8399f32f8dd0aaaa02c861303230651e884dab48e6ac2b2ce4327704f7eb798841d521b198c7c84bb53652f7c0219ffff03279e6e643525a9562d10a321a4b788dc29a601945e5ad8380683fee709be1e440343a92b8ed9833a962dfc2f06c078dd251b654b0d5debce007c81c1d7f847ba440359a111ff96ae16c34f672af4fb6eabcfedf0252e7db02c9d4a09f5fb1e316c6903175e081af7a142b2ccfad0a7a22022666f1c304205219a88351e27d623b25ef7037473c1cd523c6cb8401c8c0d876d177864df615d83ea6445ff2d71a25721c07703da3da747173a432c7f11547d8d6acc20205201c75b255b41975e33262145688e03a32a4fa1da7b8840d2c354ac14c8ee5327be12105ba66b596c77b866bdaa1a9b030b65c2dc7097d895ad61f133719b33b51cfb2f95a030da5abe29ed2e1f3f83be00582003f273f5f71a5face8b6112ef7bb8e3a8cd3ec421602ba4f6765b4f65d7eb6505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200304265e87b4f38922d101d83599acd09b8f84140da05f89492fd0ae81fc4b805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cd415f3cc7f83a853bf3bc28288bd6c321c9543971ff1ebc213c183941908ffe00581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f4a5915a68d88da6a08000000581f020fd7d04a0bdda299dc2f2658f03b2c1955d5c7b0ed9f8593ee696d74a46a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02e47aa45dba4dad32596ebedfcaca811fad9f3ec91371837e26417a05c485492add7f1d35678b26470219120403fc9e25e6980f1d537d7af6063b4f688ded04d21f7c2e518b746e324c7935ce0d00582003d94707fda239669c531037a6673626eb05fc090789af65dec8f940da5cd6a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820031acdb26e353de23b9232be76d69d011b6ad47af0ccc704d896e47b480d97005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038ba0875a4983da641564d2a2eb60ce8d8ea16e5e51f1b968e67f18fa0abe3d79005820030c1ef274ef3d75e03ecfe9682ec791cf91b7ca16731ca61af906809ce717d0490874fe5591ac59bf0b030b80c1aed7c6af43668eddf579e84b0fe7b8aa393f77dbe3df321a2f8baf1a3c00582003203804ba444dca44b0b24bb2e46c6136ed5f409d0cbf888a2895732ed7a0105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036d505a416d014d1a212c43e4256aab3a505e834dd1373e0082a504cde034e09902193ff703e4b864d663cdae500dd5c4ff91fda2427793b4f7a9a235dd49a9a66ae234da1c037d5dd74f807535ff3b1c7a5486fb406549bcb671abb8d9a4aab793a9dfad1ead03f2e7beb0c0483aff8be0730a698bcdfcde2cdc47a631b0e67ce584f727f744030354c190e560f0198405e3fa15fdad052a098591baf315a0fb79719c73c72d6b4403e58abcf2a4799d28e40d5e2bb74ecbcdaf85df18e20cb8803c93dcae82482e210319c331b50712dd4eb57d867b16bcd0c832ac83c9e1316f12fa0d56a3629de7ad031f386c704ffd663ab2d9b8d9ec6e9a4b614c762eeed4c1b7077213edc569c9b30336fc084fcc192839d58242deef7e44eaea740523dccb2afbe44ed398b7313df203c078d4090b902a2b8894555a5a36e8251842c0b17cde0a2c55cc6f6e17b817ee0219ffff0219ffff05581d024df6b06288ccbe84f830ed851956fcdcf07f15dd75938f900f251a6a0f014809672f4813f731a41924b803905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581d02f29f2866d6892d6d95e014c4b175e93376b1d1983f16259e6c9cc82e07011bffffffffffffffff0219818005581e03da9ef040686f1fc98758adf679a698eb0eae3816e119fdea3db89a19700c182647358c2f7e20708e05581e03aaac923895e4b747a7ec3d849d43ac7f11957c55696a2e8bf5d64810100c02477868982cba400005581e03b053f0ba15346a61ca5fd2b65673e4f64a902947f8984b9a9ffe8c1b600c044672fc92a26fa003b445281cb99d818eeac90d02eafc5d57f32c595d311af1c3b2ff7489dc023c4c05581e0372ca62a36e49f58a29fde4bfeb6ef53cf88e11f3c35788a7e36e4ffbd00403033428b7700275ceec0eaf1d4e3cb481de3c2cd6d4a4b712d106d38da9a1888d0b039c1a9ca39e88618285243392efea0b8d0ad67628ace92ee7256851c3b05ee74d05581e03d7b611df8c1b82149fe253918c96ed7deb85387644c4bf556b997e86e0040105581e03521ebe1bdfef60494a4a606c6985fe1202df2863fe0e1ce52b9dc054d0040103e5e1d0cab8dad6bc677ea05e4dd86b21304824eb93195136ddf605800bba63180219dfba031c041bac81b58c3c6b8bec47e2b901811419db0c1817b5b4d0af358667e0624703d2dbea947dc2fe45b65241c46bf72926ebebbb15a6ce6a7d0d78d3dd58dbd39d036ec3342d930618577863c442f1653d5c4b606b079b165c045c61766f1e95a4c90321d2fb4de3a7c4edd48c122d475099da1fa6ed782db98789729df01b37214eea0219ffff03f9e442d9703704c094e326d65c236f8cdfa69d05501e051ca6c61f615f1d1cad0219ffff0219ffff03e91382c3f778aed5dc9d73df2449a13c925b059777d6d1597ca48c8fac944e8f0370d174cc6439e386ffd85928bc14a2f6a028129d92d590a496c0b7a771011b4a034985b750df445ae4f884fe99573ce1bc51ec2a0e5c001acd1cb36d8e78aae09603e16a8206c76f8b617c4c6c07485c7180064c2c6e1bbd9e00b32750c4c22141e903c7003a4a79dd4cf9241289735d5ce6ebea049e41cb335b8f0d65363c1fab51c703e6e378dc09fd6f40ce6d89dbdb6affbe2a9398e85e7d3aa99b378b83fc26549c033674770acadf9120b00a11d5deeb326136ed54778534e62744f3e692a4c06ead0339690c8fc5179a67f081b85b77975479a50deefc6cfcfc1a40a132029211c5c6036c2189fd7482674e59172755b338285d57cb0b144034e6ea7295e84b29504277035cff1fa63683290513ff62b043618f828449c03e50a809d1d3f1bd4797b5e56103a2a0a43165eb49221902e27f463a844db14962260b63bfa613b730082dbe0a11038e7fa1a7767dd4ad5a2594119e75c8dbeeef0b2b58460b870ab51c8f0f18cad2039697c6737a6ea52c755c1fa88433f67c257c102046e2abc7c744b1c974d077fb0327f561af69533ec9c66dc8b2e2392b1e67589807fbd07f821618bf19dc371d4b03bf4b623575d8cf138118067c161aa0d941abf6dd6e35c57734962a8ced123e70037e35b6d02cb994908aa4ab513a2f0cf26d8ab3b8e7e71dc86bac4705470865b7031723dfebaf0a8c087645493ac73ad09e432d0b543da6f4ba0bb5461acd73936f05581e03450449b5ac839155fc67bbeffd450c98f849083882208f6fe5c8ce3f900c0145d63445f00005581e0389cb8e78a88e48cbef95055fdfdfa50cf89cf3ca172902bad160353270040103fee9917eb8af7eb7cb9ab4346e31560b294f0a63bace7cbbf421922dd564211405581e03052608f64b68c3e218c4cec75e651cf449ef28d360edf0b8681ec67520040505581e03637af7619ac309786cdc5f77c3b8f1cb71d49745adc1bc81819740cea0040105581e0340124bdbe87e0bf46bd7749e08e246caf11e0ba2f460c3e2cceb3e6b800c0c4647115fd93ea805581e039f7c07340d5ab7bcc2ecf296dde3c61c7c7a094725bf9e3af88d27882004020301917a8096ac729b5c0aeb16ef2b6e4602d7b3c051dec2c59aad6679f2a4545905581e03f13421353e7ec1a29233b36ae761e89c9bc6b89f659b5742e34ec3daa0040103bb22646f75b8fef8404b079a346a74536c9922d142f9f566e867b82b1f4cbd0205581d021181515a5cc012062ba9d961b841493a555a1f857ebafc534617cd880c0348015e7be09d4a53c305581d0234a9e52ed7932979982390507ec3e5965cf060c89677e141b00800300c187a47046555a6cc348c02198004021976bd031132e1527630a7835049f551ccf75a7e3382ab865372968d2bf1b2f6b3591332037e6781374167345d158f65cfc9a6d0bf90abfa74c2dab2dab1afd02a12f6d7b603441ed10e941c3afa9eda85ff851cef1b2bdb0b330ec36c788638f742718803da035ef4e88d0997b958372f29377aae8048707ff442764b50a8767aee82c1c2923c03b417cb5811a8456087be77fbb8b2e7d121746b78bab1773339c6e7b7daf0c486036bdd63b18dbd0497e6b7993f706e2f2dbb677cf1e52579d9ec014a43ca20fbb70368e3235078d0e0bad3d2852873b87953b6a4d03a11eb207cf2b5ec340bc17945031ae4e7c2786cf6394361d33b80d479b0b9bb621689f29924218cd5613e9f2a41031a5766e9555d9a111375bcb6deaab068bd85d56f9862562a0a6af17580c2e93c03b8d2afbed0a75828addc911afe90d8c235d5ab587219d3d07e11d177dc4034350387d0462adedb33f0330d7f3dcc38410be04539fa68a47d522d6d5dc73022be1a03015b9863f303cafc1688ff5faa333d18b603cdce230729f49689451224703e1d031071ccf82509fa0cb8fe9fdb8a4f35381bcebe06e1f37e800742df08ded1dc4b0219ffff032efcad42dbed5e19ee2aa8b90b58cc21008448c7954c5ba1bbc32adeae252446038a195190fe0d2687ae6fef5da6c4f253f4b11f1c250cc96e5a26e49e330267f6037cd53e7f3e39b38a8eb78d496bcee1c333308b3f58e4b2705a70083e8acf641203a3907e8d6bcd7c304f64364044b927a81a8a344f8cbe2c87ad93396f497da99303b07230b2ecade2592d9c63fa33c6a16ed4c211228c362b98324a776e84f961b0034c0fb1463947229d3993ebed1d120470d58a937a32a117798f0b554176e388af03f3011e4fd3c568d00aaa204ee02a166a5874ceb73d88e8766848b2b7da7cb39f03d4c51703affbff5be2f84860628f4cdb4bc3222f55e7e1ddfcde63aa7e30b3d003fbb21288b1f4192fa9b61968d5643dd21608cad347e2e60446d5676b6b92a5dd03fd298b97847c700377f9e3720539aaafd65bc66bdbc1a305dd5fb57a3d9ecab303b1725e93af2040adfe674056007f1af1e6486cd8d4f356a9512d9585508931f30219ffff03f3f58a08322ecc8f84c2b6f151594cc97478cf7a3e83b9530a6f4608111432a3037cb2e803df5a8b921dec3f9ac8e5a4829205dd01190fc1430a3e9bb0f31b0b540351e0fdd8a4f7b98c4fb00a993e30e2d9e5a8727e7be82404ea897eb2115f029e036a52f7f272ab77282933a70dfe80b771628cf64527ef18a048c6393c5b58347b035b6f538abe7115c4765d78346fdd6b410e47029febb21b9f18abe78b0e087b0f03d206b997c5ce86addc0edff40eb23308308c91b4f047eb097f5ec094eab98d170219ffff0219ffff0219ffff038baa5e9d8492faca65fed2a2448ee9e461bc4bb5a2b6c2e4b658fa02128fc6d60359a8596aa56e6bd54e8334c3e93a5c0005e9ac993ae10aa2253003c3e31957f903971113ce7c1c9c95409b5e4281768b71f93b20ed1e9449e8f77148a9f02df21703112ee0227ba7b785e18b1aa10f8fc544a9a6fbef1e48bf5b7efce89fc29e2b8e0347d7675883c7dd09ee2f6a77b34582dfa234a0ce38ac502c5c4dec5ea78a74ab0304f5c2e84d0ba6295e529c937f96dc02a9a3e37e3010ac850e7006fc7b3d0f4503e3a835822a677bb3dd81720bcd5cca682da1ab79c7b9cb0d1bd204448ff3a406037dc36c1d89d52766f796efda89fa83714b0d7f7bec3fcd7926b96b89f58472e403be32d17041007e24c3eeeaacf3d89dbfed144ee29220eb5a2ba04e35251b33be03b3a89656a76d1a58ad1aee6d4ba6b65be1d71f160199872dfd2e9fb5b0ecb1a703fa3dc59f1c29a2245f393d9201f06cdd04996cd5ebdd3deeb3f6762c09edf6ea03e7e86b1fc3e320bab6f55b7023b05d9060723505380ebd85ba59e84751d5044603cefe8bc55fbdd4432325d2c447afd23e188c0af9a8d231565ce91b73379081af03e6e66d476ac818506be990b0ec92adb861e31d567698043b782f5f8eb04497990330b8c15ac841591b44332eeb73e825e38dece1c31164919c710f143b6b563ce1032e5b4c119950ee5fb9d68d83b864f2f9c4cbfef054ee5212e34a8d022c57ac2603db5138e32203a85c94659f5e553f83ca7bf562755397da31e3afd7e76a7febc0036edde235be117a7a4bb2f024046781809c68e527a78fab89a805aa66590084c90351a2c622992e359efb64f7a74ce450d716fd80e0819ead4418df4687a81a85b7033badbbbacb8c57295046825b27986e2c9f573dbbd4fa6ef4c1670dd73c34b4d4037795154f844369ac5649495d4c1422f4de431dd15ca17d75ccec94ea920e1851039fea8f1e0b10b6ad7c71d67fdc7db1d04c431b38b9addb4d2827e662a8f078dd038346be159e7964a8d22d52908a9cd1b9de7d1c033d79732ed2f376c3652a24dc0313340407a85308aae8e40f4bac387e05975788e15b198de8eb3517c632581c6a037275de03426f3be40e9bc686ac74c5da211877ae358c3d6bd502d863d8353c5f03845da561d9cc894ede76b1dfe93d8343aae286d711e28674bb1d64b96fe27bcb03ceeba4f9399a250cbfc8556984ed7907bf681218050a7dde79e37bc77701a5ad03db80bd4582546f743f4c506e7cccd96cd9bf70a448862eb52a738628d762594503d51d1770c94fa85777627bd8671179052113e9eec14d8e27ec3ff8ce77a675fc03554953255c050e34d7a2f23bbb85c0c36defed8ab038c8e31dd73bfec952a4f9031be68de12449b41460ae6d41853743531895156a0c03ed087a3c65034410e00905581e031bc736da105bc5f1db8faf16ee9834f241f156da08e76e35222677424004010327501a19cbbcffbbb90131a95c245463bbd121e9f8fc948997d3db23c3a3a77805581e036d6de23cea56d75677d394158380a128b17ddf98d46797ae10aa013ca0040105581e03d159e3d219b5ce0003eec0c98a4cd7016bfe99b2c7482401e8a9469d700c034685b58a70ddb304592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a021b937642c19972748d0058200251226211f6d618a3c3e0536aa71357920cd5f50e6da48d8943582973f8e7af5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200254b9aeac73bb997a1c4b4f8417c44796083e4a32242decc9afe65d137ca9624104005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5004d1a8352ab73ca03f4ac030cfa4595b02194102005821037d0d52522f1837224992ae427aa08e9db4ce3ddb50e0d2f3fdb08300e8b168a04103005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002a6f99499cc9afc918a2bead45d4deb49e043000f2987730b87d8e9584f251d41020219084000582103ceb08d9e2bd99c01d83202983e317ce494b240e2c7a06bee79c181ff5e652840410500582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820e3f5076901c078e17b4beeee81b2eef5483cc5a68c92afa9ce081302ea0fc83500582002933610993ce50fa6d841108ffa4a37975b617ff31e97f064d98316118a48194a021b937642c1997270a5005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8540d2a2d39ae4de8b33257c092a5a69e4ec9780be602184c00582002b4ee413713553fe5d4e4dd7996c32ee5fe38aec317d0374fa2ad0e6451eb5e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219800800582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687dae70000000000019d9cf63160e3118800000004cc4da79c45048c3a1669005820021486834bb0cc46bd9d2b609955c85fd6c81049d7d8e9e5e12b471e1c32382b41020058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5445c2f8c9b4c0bdc76200448cc26c48ab6ffef83f0218680219be4505581d020aeccfd12dfdb2e96485cac64d53278f4591d6b1432e5b610124a0070701192c1d05581d02a18499301523868bbd8e5996c9ed87b0ff887a805b2cea1d902927e30c0147417119f4835b380219808003e78bd567910dfe31a6ac44add89dfc6d53b8658fbcb132c97f5a7fd2e3ce33d40219f02103e721e1fac93f0379db0d261b63355eea7068e7968e5216e776e1d8731c267a9a039c9c2950b50a92f366937d258b03b4faedf868e430598cafc12bd313f86cb29e03c29fe6a3d8847362246acf247aab13eb8be47b4b582aec7822a60676f9028bbf036d7a0645a2ca296305068105a3eb478adb1b7800a305ce64d2ac8907403d30eb036983158906c89681fab286e2c9cbc095e730ed9d75cefd4c1cbfe9178437c31e0219ffff03c9fa416b4a60a49426867dffc43ed40d310c6caec9137b3e6057d2082e28a29a035dc57774c8dc3fd0bf0d82156a4c35c005cf834a6126e73069eb86a00aec0f5003a995ff5d6dfe00a8074da84313219d003cf7cc6c1a5b62eb56ba964bfbcc07a8035f867f4ccbb70128cd583a3df7ef38548b19b82aaa0534ed6d449f15390a41310338530945fb28ba09fac541fa076e8d74149806cbd295a74178f4fd4550ff49ff03ada058f2a0b30783f7a2f88bdd82a3f87062b8e64d73e2433e210729b8bb2af8037f389b1d4d52184180075caaea6ac2b8a2621ebb6702ca8822248ced339329cd03ed89a144ba30c380b03657f26480b6a34e3d47b47ded79a2e661c71f39d07db10375f5cc0b68f3fa1f0284fa4791e75b4d7f0560093bde0d83b65c4f231dc23a9103f60ee464a715e08a917a7d95bd64c5b80fe9ab8c3cc4739a842c2f9a5b4e57140219ffff03cc165cef2adad7c58cee70260e5c7efdab52bac6dda87282282cd5e72bbf32a403060186437177307f80fa8b27e1859e0d525281ace066bc45011816cc6c8c1ce10219ffff035a7de929d407b355ae976008044245945cfffa24b304d88c0a4eae6bb30bdf34031df64d961b849f252ca094d284d2bea333cd5e231132ef0bbd8b5ed68055830303824b386fda5e814e79b7f4328f6e12cec8a4e35777a26e0dfd6a92526ac4faab03861f6e1dd4c74710b5e06180f728765f06c889c9b08353cde3b3a1208832ca21039aed6f9bd8bc6a1ec4213bc1d0ae08937ac0aaf94d28d82051216431670f3f9c032341d52e9f52ebcdc38dbd6c27e1848023825a96d52b71c75169f4bc0136512a031f6a7a2bba287d89d33de39bf7a2a0d15558f67547c6ccedc43b06d9b962fd1103bf3e7a16b390644edb824bb728120e1585caa5da518cf5990b41af2087d968b80325b99a8e0e9242eecce70a83227e036bbffe517653b9c6738923d0595b00e676037e0fc87a4227ed333454b6055f9dc6f16a8f9d007d5f11b2759e76bc0bfca27003c40463c80a495c4c7fcea2ba43ce806c7fc79c77180c27757953ba801970f37003e6954246fdea223fecf9c906edc5d3d934d2affa5fb48bd259a1550a66184dc503e7911b96f6836cc6ec5251bf152df4cacfe3a61dbe8612605ae7442873a1201f0306bc50a4aef551093394a9b7349760f7b1cd3fe5d22be90688029e26ff644c7b035becf97687a3d85eecc8a9c5064f86837fc416aa6a46070c8ed2783e56fc5a6b0326140f06912f8c87a09757c03313481e2d4902a790551f1f80010b577397957703f76d7ab75143770483a069f2ec6b5467041d85f80f5f8f2e79c56440f5f51a32035d1a3f15438c4886c8024a566a6c905554fe4803a6a45bd5c85507741dd72c91035477dbe3471fd3a42fb9f06547316b5075fd0e44cea65fb780135f632edc3dab05581e03ea240552e6dc8ce40004497f6a6885de7ad7cf36c6e41836ddfb4482f00c04471e832da20d2a2305581e0335c2c3146313e944bcaa71f124148dd9b67764ab834cc125f96ce2649004010311beaf1cfb4dc4d5b0356f3989647e237b77415d9d14b034c493059ccc76b3590381e8dce30a537f309d8745fdf66198d6add38e2d95496cef50befd7021606ff205581e036bea6f6f47e56f7259b6e48e45c87f9d7f17ecb902a8463de4fd0f49b00845e8d4a51000030f8f0d8e271ca2a98977434c51531063ed7c9a93b46cd4c0c01032fe332e700d05581e03363d9d3cb4436e230e7661e51baeeb900f7e037d065db0bc2ee7a268800c014745a109058823c805581e03e71a8baa246fcf1884355a56a7c3c1608a210493522e683958fca4ea500c0347012950c43487500459599a608060405234801561001057600080fd5b506004361061004c5760003560e01c806302d2734f1461005157806365f53ee61461007a57806399a4d2d01461008f578063f712a148146100af575b600080fd5b61006461005f366004614738565b6100c2565b6040516100719190614dc6565b60405180910390f35b6100826100e8565b6040516100719190614ca9565b6100a261009d366004614a65565b610100565b6040516100719190615740565b6100a26100bd36600461493a565b610136565b60006100cc6142ec565b82815260006100df828280806001610150565b95945050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6000806000808480602001905181019061011a9190614904565b92509250925061012c838383896106f6565b9695505050505050565b6000610146858585856000610150565b5095945050505050565b8451600090819060801c600181141561018e578315610177576000600192509250506106ec565b6101878787878b606001516108c2565b92506106aa565b6fffffffffffffffffffffffffffffffff8116601414156101cd5783156101bd576000600192509250506106ec565b6101878787878b60600151610d4e565b6fffffffffffffffffffffffffffffffff81166012141561020b5783156101fc576000600192509250506106ec565b61018787868a60600151610fa6565b6fffffffffffffffffffffffffffffffff81166002141561024957831561023a576000600192509250506106ec565b61018786868a6060015161118f565b6fffffffffffffffffffffffffffffffff811660031415610288578315610278576000600192509250506106ec565b6101878787878b606001516113a9565b6fffffffffffffffffffffffffffffffff8116600414156102c75783156102b7576000600192509250506106ec565b6101878787878b606001516117fc565b6fffffffffffffffffffffffffffffffff8116601914156103045783156102f6576000600192509250506106ec565b61018785896060015161190d565b6fffffffffffffffffffffffffffffffff811660101415610343578315610333576000600192509250506106ec565b6101878787878b60600151611b8a565b6fffffffffffffffffffffffffffffffff8116600a1415610381578315610372576000600192509250506106ec565b61018787868a60600151611fee565b6fffffffffffffffffffffffffffffffff8116600b14156103bf5783156103b0576000600192509250506106ec565b61018787868a60600151612201565b6fffffffffffffffffffffffffffffffff8116600c14156103fd5783156103ee576000600192509250506106ec565b61018786868a60600151612392565b6fffffffffffffffffffffffffffffffff8116600f141561043b57831561042c576000600192509250506106ec565b61018787868a6060015161246b565b6fffffffffffffffffffffffffffffffff81166013141561047957831561046a576000600192509250506106ec565b61018786868a606001516125e8565b6fffffffffffffffffffffffffffffffff8116602114156104b75783156104a8576000600192509250506106ec565b61018787868a6060015161280d565b6fffffffffffffffffffffffffffffffff8116601514156104f65783156104e6576000600192509250506106ec565b6101878787878b606001516128c2565b6fffffffffffffffffffffffffffffffff811660171415610535578315610525576000600192509250506106ec565b6101878787878b60600151612936565b6fffffffffffffffffffffffffffffffff811660181415610574578315610564576000600192509250506106ec565b6101878787878b60600151612b55565b6fffffffffffffffffffffffffffffffff8116601c14156105b25783156105a3576000600192509250506106ec565b61018786868a606001516131ba565b6fffffffffffffffffffffffffffffffff8116601e14156105ef5783156105e1576000600192509250506106ec565b610187858960600151610100565b6fffffffffffffffffffffffffffffffff81166022141561062d57831561061e576000600192509250506106ec565b61018787868a60600151613684565b6fffffffffffffffffffffffffffffffff81166025141561066c57831561065c576000600192509250506106ec565b6101878787878b60600151613755565b6fffffffffffffffffffffffffffffffff81166106aa578315610697576000600192509250506106ec565b6106a78787878b60600151613824565b92505b87516040517fe59e71a14fe90157eedc866c4f8c767d3943d6b6b2e8cd64dddcc92ab4c55af8916106e2918a908a908a908990614dd1565b60405180910390a1505b9550959350505050565b60004660018114156107d6576040517f44b3e92300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716906344b3e9239061077d908890879089907f305800000000000000000000000000000000000000000000000000000000000090600090600401614e46565b602060405180830381600087803b15801561079757600080fd5b505af11580156107ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cf9190614a4d565b91506108b9565b6040517f30ead76000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716906330ead7609061086490889087908990735c80239d97e1eb216b5c3d8fba5de5be5d38e4c9907f305800000000000000000000000000000000000000000000000000000000000090600401614e0d565b602060405180830381600087803b15801561087e57600080fd5b505af1158015610892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b69190614a4d565b91505b50949350505050565b60006108cc614317565b828060200190518101906108e091906149f0565b905060007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614156109e457506040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152849073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21690632e1a7d4d906109ad908490600401615740565b600060405180830381600087803b1580156109c757600080fd5b505af11580156109db573d6000803e3d6000fd5b50505050610a08565b8151610a089073ffffffffffffffffffffffffffffffffffffffff891690876138be565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8816906370a0823190610a5d903090600401614ca9565b60206040518083038186803b158015610a7557600080fd5b505afa158015610a89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aad9190614a4d565b905060006060846000015173ffffffffffffffffffffffffffffffffffffffff16848660200151876040015188606001518c6001604051602401610af49493929190614ffc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610b7d9190614c8d565b60006040518083038185875af1925050503d8060008114610bba576040519150601f19603f3d011682016040523d82523d6000602084013e610bbf565b606091505b509150915081610bd257610bd28161399a565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161415610cab574795507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0876040518263ffffffff1660e01b81526004016000604051808303818588803b158015610c9157600080fd5b505af1158015610ca5573d6000803e3d6000fd5b50505050505b610d3e838a73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610ce89190614ca9565b60206040518083038186803b158015610d0057600080fd5b505afa158015610d14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d389190614a4d565b906139a2565b955050505050505b949350505050565b6000610d58614317565b82806020019051810190610d6c91906149f0565b8051909150610d939073ffffffffffffffffffffffffffffffffffffffff881690866138be565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8716906370a0823190610de8903090600401614ca9565b60206040518083038186803b158015610e0057600080fd5b505afa158015610e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e389190614a4d565b905060006060836000015173ffffffffffffffffffffffffffffffffffffffff168460200151856040015186606001518a6001604051602401610e7e9493929190614ffc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610f079190614c8d565b6000604051808303816000865af19150503d8060008114610f44576040519150601f19603f3d011682016040523d82523d6000602084013e610f49565b606091505b509150915081610f5c57610f5c8161399a565b610f99838973ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610ce89190614ca9565b9998505050505050505050565b6000806060600084806020019051810190610fc19190614650565b91945092509050610fe973ffffffffffffffffffffffffffffffffffffffff881684886138be565b806002146110c0576040805160a0810182528381523060208201524281830152606081018890526001608082015290517fc04b8d5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169163c04b8d5991611067919060040161565a565b602060405180830381600087803b15801561108157600080fd5b505af1158015611095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b99190614a4d565b9350611185565b604080516080810182528381523060208201528082018890526001606082015290517fb858183f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85169163b858183f91611130919060040161566d565b602060405180830381600087803b15801561114a57600080fd5b505af115801561115e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111829190614a4d565b93505b5050509392505050565b600080606080848060200190518101906111a9919061480c565b805191945092506002111590506111f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec90615283565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff168160018351038151811061121c57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614611271576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906155a0565b6112b082868360008151811061128357fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166138be9092919063ffffffff16565b6040517f38ed173900000000000000000000000000000000000000000000000000000000815260609073ffffffffffffffffffffffffffffffffffffffff8416906338ed17399061130e9089906001908790309042906004016157a6565b600060405180830381600087803b15801561132857600080fd5b505af115801561133c573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261138291908101906146a8565b90508060018251038151811061139457fe5b602002602001015193505050505b9392505050565b600080828060200190518101906113c09190614571565b905060006113cf8288886139c6565b90507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561157b576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21690632e1a7d4d90611497908890600401615740565b600060405180830381600087803b1580156114b157600080fd5b505af11580156114c5573d6000803e3d6000fd5b50506040517fad65d76d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416925063ad65d76d91508790611522906001904290309060040161504f565b6020604051808303818588803b15801561153b57600080fd5b505af115801561154f573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115749190614a4d565b92506117f2565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611721576115f073ffffffffffffffffffffffffffffffffffffffff881682876138be565b6040517f95e3c50b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216906395e3c50b906116479088906001904290600401615847565b602060405180830381600087803b15801561166157600080fd5b505af1158015611675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116999190614a4d565b92507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561170357600080fd5b505af1158015611717573d6000803e3d6000fd5b50505050506117f2565b61174273ffffffffffffffffffffffffffffffffffffffff881682876138be565b6040517fddf7e1a700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063ddf7e1a79061179d908890600190819042908d9060040161580e565b602060405180830381600087803b1580156117b757600080fd5b505af11580156117cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ef9190614a4d565b92505b5050949350505050565b600080828060200190518101906118139190614571565b905061183673ffffffffffffffffffffffffffffffffffffffff871682866138be565b6040517f8201aa3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690638201aa3f906118b190899088908a906001907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90600401614ebb565b6040805180830381600087803b1580156118ca57600080fd5b505af11580156118de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119029190614aa0565b509695505050505050565b600080606080848060200190518101906119279190614750565b925092509250606081905061194484888360008151811061128357fe5b868360008151811061195257fe5b602002602001015160600181815250506060815167ffffffffffffffff8111801561197c57600080fd5b506040519080825280602002602001820160405280156119a6578160200160208202803683370190505b50905060005b81518110156119f5577f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8282815181106119e257fe5b60209081029190910101526001016119ac565b50604080516080810182523080825260006020830181905282840191909152606082810182905292517f945bcec900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89169263945bcec992611a799290918a9189919089904260010190600401614f2c565b600060405180830381600087803b158015611a9357600080fd5b505af1158015611aa7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052611aed91908101906146a8565b9050600081600183510381518110611b0157fe5b60200260200101511315611b41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906151c9565b80600182510381518110611b5157fe5b60200260200101517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0296505050505050505b92915050565b6000611b9461433e565b82806020019051810190611ba89190614a0b565b905060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611be59190614ca9565b60206040518083038186803b158015611bfd57600080fd5b505afa158015611c11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c359190614a4d565b825160208401519192509073ffffffffffffffffffffffffffffffffffffffff89811691161415611d8a57611cff8173ffffffffffffffffffffffffffffffffffffffff166301664f666040518163ffffffff1660e01b815260040160206040518083038186803b158015611ca957600080fd5b505afa158015611cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce19190614571565b73ffffffffffffffffffffffffffffffffffffffff8a1690886138be565b6040517f9599127600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690639599127690611d539030908a90600401614d36565b600060405180830381600087803b158015611d6d57600080fd5b505af1158015611d81573d6000803e3d6000fd5b50505050611fa5565b826020015173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415611fa5576000611e548273ffffffffffffffffffffffffffffffffffffffff1663fae036d56040518163ffffffff1660e01b815260040160206040518083038186803b158015611e0d57600080fd5b505afa158015611e21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e459190614a4d565b670de0b6b3a764000090613bb3565b905060008873ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed69190614ac3565b60ff16600a0a90506000611ef483611eee8b85613bcf565b90613c00565b8651909150611f1b9073ffffffffffffffffffffffffffffffffffffffff8d16908b6138be565b6040517f8d7ef9bb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851690638d7ef9bb90611f6f9030908590600401614d36565b600060405180830381600087803b158015611f8957600080fd5b505af1158015611f9d573d6000803e3d6000fd5b505050505050505b611fe2828873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610ce89190614ca9565b98975050505050505050565b600080600080848060200190518101906120089190614851565b9194509250905061203073ffffffffffffffffffffffffffffffffffffffff881683886138be565b801561209a57604080516000815260208101918290527f8dae73330000000000000000000000000000000000000000000000000000000090915273ffffffffffffffffffffffffffffffffffffffff831690638dae733390611067908990600190602481016157ef565b6040517fca19ebd900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063ca19ebd9906120ee9085908a90600401614d36565b60206040518083038186803b15801561210657600080fd5b505afa15801561211a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213e9190614a4d565b604080516000815260208101918290527fe67ce7060000000000000000000000000000000000000000000000000000000090915290945073ffffffffffffffffffffffffffffffffffffffff83169063e67ce706906121a49087908a90602481016157ef565b602060405180830381600087803b1580156121be57600080fd5b505af11580156121d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f69190614a4d565b505050509392505050565b60008060008380602001905181019061221a919061489d565b909250905061224073ffffffffffffffffffffffffffffffffffffffff87168387613c2a565b806122ee576040517fdd93f59a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063dd93f59a90612297903090600401614ca9565b602060405180830381600087803b1580156122b157600080fd5b505af11580156122c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122e99190614a4d565b61012c565b6040517fbd6015b400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063bd6015b490612340903090600401614ca9565b602060405180830381600087803b15801561235a57600080fd5b505af115801561236e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012c9190614a4d565b600080606080848060200190518101906123ac919061480c565b805191945092506002111590506123ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec90615226565b8573ffffffffffffffffffffffffffffffffffffffff168160018351038151811061241657fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614611271576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906155fd565b6000612475614317565b8280602001905181019061248991906149f0565b80519091506124b09073ffffffffffffffffffffffffffffffffffffffff871690866138be565b60006060826000015173ffffffffffffffffffffffffffffffffffffffff16836020015184604001518560600151896001426040516024016124f6959493929190615021565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161257f9190614c8d565b6000604051808303816000865af19150503d80600081146125bc576040519150601f19603f3d011682016040523d82523d6000602084013e6125c1565b606091505b5091509150816125d4576125d48161399a565b808060200190518101906111829190614a4d565b60008060608084806020019051810190612602919061458d565b8151929550909350915060011115612646576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec90615489565b8151600101815114612684576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906152e0565b8673ffffffffffffffffffffffffffffffffffffffff16816001835103815181106126ab57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614612700576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec9061516c565b61271283878360008151811061128357fe5b6040517fceb757d500000000000000000000000000000000000000000000000000000000815260609073ffffffffffffffffffffffffffffffffffffffff85169063ceb757d590612772908a906001908890889030904290600401615749565b600060405180830381600087803b15801561278c57600080fd5b505af11580156127a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526127e691908101906146a8565b9050806001825103815181106127f857fe5b60200260200101519450505050509392505050565b6000806060838060200190518101906128269190614601565b909250905061284c73ffffffffffffffffffffffffffffffffffffffff871683876138be565b6040805160a0810182528281523060208201524281830152606081018790526001608082015290517f5d946c2500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841691635d946c2591612340919060040161565a565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141561292a57612923848484613cd6565b9050610d46565b6100df85858585613f1c565b60008060008380602001905181019061294f91906148d6565b909250905061297573ffffffffffffffffffffffffffffffffffffffff881683876138be565b8073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612a3e576040517fe8eda9df00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063e8eda9df90612a02908a9089903090600090600401614d8c565b600060405180830381600087803b158015612a1c57600080fd5b505af1158015612a30573d6000803e3d6000fd5b505050508492505050610d46565b8073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612b23576040517f69328dec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906369328dec90612ac890899089903090600401614d5c565b602060405180830381600087803b158015612ae257600080fd5b505af1158015612af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b1a9190614a4d565b92505050610d46565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec90615543565b60008082806020019051810190612b6c9190614571565b905060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612ba99190614ca9565b60206040518083038186803b158015612bc157600080fd5b505afa158015612bd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bf99190614a4d565b90508173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612e98577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415612d90576040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152829073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21690632e1a7d4d90612cf7908990600401615740565b600060405180830381600087803b158015612d1157600080fd5b505af1158015612d25573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff16631249c58b876040518263ffffffff1660e01b81526004016000604051808303818588803b158015612d7157600080fd5b505af1158015612d85573d6000803e3d6000fd5b505050505050612e93565b612db173ffffffffffffffffffffffffffffffffffffffff881683876138be565b6040517fa0712d68000000000000000000000000000000000000000000000000000000008152829060009073ffffffffffffffffffffffffffffffffffffffff83169063a0712d6890612e08908a90600401615740565b602060405180830381600087803b158015612e2257600080fd5b505af1158015612e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e5a9190614a4d565b14612e91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec90615372565b505b61317d565b8173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141561317d577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141561309b576040517fdb006a750000000000000000000000000000000000000000000000000000000081524790839060009073ffffffffffffffffffffffffffffffffffffffff83169063db006a7590612f79908b90600401615740565b602060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fcb9190614a4d565b14613002576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec9061542c565b47600061300f82856139a2565b90507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561307957600080fd5b505af115801561308d573d6000803e3d6000fd5b50505050505050505061317d565b6040517fdb006a75000000000000000000000000000000000000000000000000000000008152829060009073ffffffffffffffffffffffffffffffffffffffff83169063db006a75906130f2908a90600401615740565b602060405180830381600087803b15801561310c57600080fd5b505af1158015613120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131449190614a4d565b1461317b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906154e6565b505b6117ef818773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610ce89190614ca9565b6000806060806000858060200190518101906131d6919061480c565b805191955093508392506002111561321a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec9061507b565b8773ffffffffffffffffffffffffffffffffffffffff168360018551038151811061324157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614613296576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec9061510f565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16826000815181106132da57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff161415613406576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21690632e1a7d4d90613370908a90600401615740565b600060405180830381600087803b15801561338a57600080fd5b505af115801561339e573d6000803e3d6000fd5b5050505086905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee826000815181106133c757fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613418565b61341884888560008151811061128357fe5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168260018151811061345c57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614156134dd5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee826001815181106134a257fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b60008473ffffffffffffffffffffffffffffffffffffffff1663d3a4acd3838560008151811061350957fe5b60200260200101518660018151811061351e57fe5b60200260200101518c600142600101306040518863ffffffff1660e01b815260040161354f96959493929190614cf1565b6020604051808303818588803b15801561356857600080fd5b505af115801561357c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906135a19190614a4d565b90507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161415611fe2577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561365f57600080fd5b505af1158015613673573d6000803e3d6000fd5b505050505098975050505050505050565b60008060608380602001905181019061369d9190614601565b90925090506136c373ffffffffffffffffffffffffffffffffffffffff871683876138be565b600060608373ffffffffffffffffffffffffffffffffffffffff16836040516136ec9190614c8d565b6000604051808303816000865af19150503d8060008114613729576040519150601f19603f3d011682016040523d82523d6000602084013e61372e565b606091505b509150915081613741576137418161399a565b80806020019051810190611fe29190614a4d565b60008060008380602001905181019061376e91906148d6565b909250905061379473ffffffffffffffffffffffffffffffffffffffff881683876138be565b604080516101008101825273ffffffffffffffffffffffffffffffffffffffff898116825288811660208301528381168284015230606083015242608083015260a08201889052600160c0830152600060e083015291517fa5dcbcdf0000000000000000000000000000000000000000000000000000000081529184169163a5dcbcdf9161179d916004016156c9565b60008060608380602001905181019061383d9190614601565b909250905061386373ffffffffffffffffffffffffffffffffffffffff88168387613c2a565b6040517f65d02b0400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906365d02b049061179d908a908a9030906001908890600401614e69565b6040517fdd62ed3e000000000000000000000000000000000000000000000000000000008152819073ffffffffffffffffffffffffffffffffffffffff85169063dd62ed3e906139149030908790600401614cca565b60206040518083038186803b15801561392c57600080fd5b505afa158015613940573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139649190614a4d565b10156139955761399583837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6140d4565b505050565b805160208201fd5b6000828211156139c0576139c06139bb600285856140f1565b61399a565b50900390565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614613ac2576040517f06f2bf6200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906306f2bf6290613a6d908690600401614ca9565b60206040518083038186803b158015613a8557600080fd5b505afa158015613a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613abd9190614571565b613b64565b6040517f06f2bf6200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516906306f2bf6290613b14908590600401614ca9565b60206040518083038186803b158015613b2c57600080fd5b505afa158015613b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b649190614571565b905073ffffffffffffffffffffffffffffffffffffffff81166113a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906150d8565b6000828201838110156113a2576113a26139bb600086866140f1565b600082613bde57506000611b84565b82820282848281613beb57fe5b04146113a2576113a26139bb600186866140f1565b600081613c1657613c166139bb600385856140f1565b6000828481613c2157fe5b04949350505050565b606063a9059cbb60e01b8383604051602401613c47929190614d36565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050613cd08482614196565b50505050565b60008082806020019051810190613ced9190614571565b90508073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415613eea576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21690632e1a7d4d90613d95908790600401615740565b600060405180830381600087803b158015613daf57600080fd5b505af1158015613dc3573d6000803e3d6000fd5b50506040517fa1903eab00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169250637a28fb889150829063a1903eab908890613e2490600090600401614ca9565b6020604051808303818588803b158015613e3d57600080fd5b505af1158015613e51573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613e769190614a4d565b6040518263ffffffff1660e01b8152600401613e929190615740565b60206040518083038186803b158015613eaa57600080fd5b505afa158015613ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ee29190614a4d565b9150506113a2565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec9061533d565b600080600083806020019051810190613f3591906148d6565b915091508173ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16148015613f9f57508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b1561401757613fc573ffffffffffffffffffffffffffffffffffffffff881682876138be565b6040517fea598cb000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063ea598cb090612ac8908890600401615740565b8073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614801561407d57508173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16145b15613eea576040517fde0e9a3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063de0e9a3e90612ac8908890600401615740565b606063095ea7b360e01b8383604051602401613c47929190614d36565b606063e946c1bb60e01b84848460405160240161411093929190614efc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b600060608373ffffffffffffffffffffffffffffffffffffffff16836040516141bf9190614c8d565b6000604051808303816000865af19150503d80600081146141fc576040519150601f19603f3d011682016040523d82523d6000602084013e614201565b606091505b509150915081614214576142148161399a565b805161425b57833b80614253576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec906153cf565b505050614298565b602081511061428f57600061427182600061429c565b9050806001141561428457505050614298565b61428d8261399a565b505b613cd08161399a565b5050565b60006113a28383600081602001835110156142c4576142c46139bb60058551856020016142cd565b50016020015190565b6060632800659560e01b84848460405160240161411093929190614f1e565b6040518060800160405280600080191681526020016000815260200160008152602001606081525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604080518082019091526000808252602082015290565b600082601f830112614365578081fd5b815161437861437382615884565b61585d565b81815291506020808301908481018184028601820187101561439957600080fd5b60005b848110156143c15781516143af81615922565b8452928201929082019060010161439c565b505050505092915050565b600082601f8301126143dc578081fd5b81356143ea614373826158a4565b915080825283602082850101111561440157600080fd5b8060208401602084013760009082016020015292915050565b600082601f83011261442a578081fd5b8151614438614373826158a4565b915080825283602082850101111561444f57600080fd5b6144608160208401602086016158f6565b5092915050565b8035611b8481615922565b600060a08284031215614483578081fd5b61448d60a061585d565b905081518152602082015160208201526040820151604082015260608201516060820152608082015167ffffffffffffffff8111156144cb57600080fd5b6144d78482850161441a565b60808301525092915050565b6000608082840312156144f4578081fd5b6144fe608061585d565b9050815161450b81615922565b815260208201517fffffffff000000000000000000000000000000000000000000000000000000008116811461454057600080fd5b6020820152604082015161455381615955565b6040820152606082015161456681615955565b606082015292915050565b600060208284031215614582578081fd5b81516113a281615922565b6000806000606084860312156145a1578182fd5b83516145ac81615922565b602085015190935067ffffffffffffffff808211156145c9578384fd5b6145d587838801614355565b935060408601519150808211156145ea578283fd5b506145f786828701614355565b9150509250925092565b60008060408385031215614613578182fd5b825161461e81615922565b602084015190925067ffffffffffffffff81111561463a578182fd5b6146468582860161441a565b9150509250929050565b600080600060608486031215614664578081fd5b835161466f81615922565b602085015190935067ffffffffffffffff81111561468b578182fd5b6146978682870161441a565b925050604084015190509250925092565b600060208083850312156146ba578182fd5b825167ffffffffffffffff8111156146d0578283fd5b8301601f810185136146e0578283fd5b80516146ee61437382615884565b818152838101908385018584028501860189101561470a578687fd5b8694505b8385101561472c57805183526001949094019391850191850161470e565b50979650505050505050565b600060208284031215614749578081fd5b5035919050565b600080600060608486031215614764578081fd5b835161476f81615922565b8093505060208085015167ffffffffffffffff8082111561478e578384fd5b818701915087601f8301126147a1578384fd5b81516147af61437382615884565b81815284810190848601875b848110156147e4576147d28d8984518a0101614472565b845292870192908701906001016147bb565b505060408a015190975094505050808311156147fe578384fd5b50506145f786828701614355565b6000806040838503121561481e578182fd5b825161482981615922565b602084015190925067ffffffffffffffff811115614845578182fd5b61464685828601614355565b600080600060608486031215614865578081fd5b835161487081615922565b602085015190935061488181615922565b604085015190925061489281615947565b809150509250925092565b600080604083850312156148af578182fd5b82516148ba81615922565b60208401519092506148cb81615947565b809150509250929050565b600080604083850312156148e8578182fd5b82516148f381615922565b60208401519092506148cb81615922565b600080600060608486031215614918578081fd5b835161492381615922565b602085015160409095015190969495509392505050565b6000806000806080858703121561494f578182fd5b843567ffffffffffffffff80821115614966578384fd5b9086019060808289031215614979578384fd5b614983608061585d565b8235815260208301356020820152604083013560408201526060830135828111156149ac578586fd5b6149b88a8286016143cc565b6060830152508096505050506149d18660208701614467565b92506149e08660408701614467565b9396929550929360600135925050565b600060808284031215614a01578081fd5b6113a283836144e3565b600060408284031215614a1c578081fd5b614a26604061585d565b8251614a3181615922565b81526020830151614a4181615922565b60208201529392505050565b600060208284031215614a5e578081fd5b5051919050565b60008060408385031215614a77578182fd5b82359150602083013567ffffffffffffffff811115614a94578182fd5b614646858286016143cc565b60008060408385031215614ab2578182fd5b505080516020909101519092909150565b600060208284031215614ad4578081fd5b815160ff811681146113a2578182fd5b6000815180845260208085019450808401835b83811015614b2957815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614af7565b509495945050505050565b6000815180845260208085019450808401835b83811015614b2957815187529582019590820190600101614b47565b60008151808452614b7b8160208601602086016158f6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518352602082015160208401526040820151604084015260608201516060840152608082015160a06080850152610d4660a0850182614b63565b6000815160a08452614bff60a0850182614b63565b905073ffffffffffffffffffffffffffffffffffffffff60208401511660208501526040830151604085015260608301516060850152608083015160808501528091505092915050565b73ffffffffffffffffffffffffffffffffffffffff808251168352602082015115156020840152806040830151166040840152506060810151151560608301525050565b60008251614c9f8184602087016158f6565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9687168152948616602086015260408501939093526060840191909152608083015290911660a082015260c00190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff93841681526020810192909252909116604082015260600190565b73ffffffffffffffffffffffffffffffffffffffff948516815260208101939093529216604082015261ffff909116606082015260800190565b901515815260200190565b94855273ffffffffffffffffffffffffffffffffffffffff93841660208601529190921660408401526060830191909152608082015260a00190565b9485526020850193909352604084019190915273ffffffffffffffffffffffffffffffffffffffff166060830152608082015260a00190565b948552602085019390935260408401919091526060830152608082015260a00190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352808716602084015280861660408401525083606083015260a06080830152614eb060a0830184614b63565b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff958616815260208101949094529190931660408301526060820192909252608081019190915260a00190565b6060810160048510614f0a57fe5b938152602081019290925260409091015290565b6060810160088510614f0a57fe5b6000610120808301614f3d8a6158e6565b8452602080850192909252885190819052610140808501928281028601909101918a8201855b82811015614faf577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec0888603018652614f9d858351614bad565b95840195945090830190600101614f63565b505050508381036040850152614fc58189614ae4565b915050614fd56060840187614c49565b82810360e0840152614fe78186614b34565b91505082610100830152979650505050505050565b600f94850b81529290930b6020830152604082015260ff909116606082015260800190565b600f95860b81529390940b6020840152604083019190915260ff166060820152608081019190915260a00190565b928352602083019190915273ffffffffffffffffffffffffffffffffffffffff16604082015260600190565b6020808252602e908201527f4d6978696e42616e636f7256332f504154485f4c454e4754485f4d5553545f4260408201527f455f41545f4c454153545f54574f000000000000000000000000000000000000606082015260800190565b60208082526018908201527f4d6978696e556e69737761702f4e4f5f45584348414e47450000000000000000604082015260600190565b6020808252603a908201527f4d6978696e42616e636f7256332f4c4153545f454c454d454e545f4f465f504160408201527f54485f4d5553545f4d415443485f4f55545055545f544f4b454e000000000000606082015260800190565b6020808252603a908201527f4d6978696e4b79626572446d6d2f4c4153545f454c454d454e545f4f465f504160408201527f54485f4d5553545f4d415443485f4f55545055545f544f4b454e000000000000606082015260800190565b60208082526021908201527f556e65787065637465642042616c616e63657256324261746368206f7574707560408201527f7400000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f4d6978696e43727970746f436f6d2f504154485f4c454e4754485f4d5553545f60408201527f42455f41545f4c454153545f54574f0000000000000000000000000000000000606082015260800190565b6020808252602f908201527f4d6978696e556e697377617056322f504154485f4c454e4754485f4d5553545f60408201527f42455f41545f4c454153545f54574f0000000000000000000000000000000000606082015260800190565b60208082526023908201527f4d6978696e4b79626572446d6d2f41525241595f4c454e4754485f4d49534d4160408201527f5443480000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252818101527f4d6978696e4c69646f2f554e535550504f525445445f544f4b454e5f50414952604082015260600190565b60208082526023908201527f4d6978696e436f6d706f756e642f4641494c45445f544f5f4d494e545f43544f60408201527f4b454e0000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526027908201527f696e76616c696420746f6b656e20616464726573732c20636f6e7461696e732060408201527f6e6f20636f646500000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f4d6978696e436f6d706f756e642f4641494c45445f544f5f52454445454d5f4360408201527f4554484552000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f4d6978696e4b79626572446d6d2f504f4f4c535f4c454e4754485f4d5553545f60408201527f42455f41545f4c454153545f4f4e450000000000000000000000000000000000606082015260800190565b60208082526025908201527f4d6978696e436f6d706f756e642f4641494c45445f544f5f52454445454d5f4360408201527f544f4b454e000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f4d6978696e4161766556322f554e535550504f525445445f544f4b454e5f504160408201527f4952000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252603b908201527f4d6978696e556e697377617056322f4c4153545f454c454d454e545f4f465f5060408201527f4154485f4d5553545f4d415443485f4f55545055545f544f4b454e0000000000606082015260800190565b6020808252603b908201527f4d6978696e43727970746f436f6d2f4c4153545f454c454d454e545f4f465f5060408201527f4154485f4d5553545f4d415443485f4f55545055545f544f4b454e0000000000606082015260800190565b6000602082526113a26020830184614bea565b60006020825282516080602084015261568960a0840182614b63565b905073ffffffffffffffffffffffffffffffffffffffff602085015116604084015260408401516060840152606084015160808401528091505092915050565b60006101008201905073ffffffffffffffffffffffffffffffffffffffff808451168352806020850151166020840152806040850151166040840152806060850151166060840152506080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b90815260200190565b600087825286602083015260c0604083015261576860c0830187614ae4565b828103606084015261577a8187614ae4565b73ffffffffffffffffffffffffffffffffffffffff959095166080840152505060a00152949350505050565b600086825285602083015260a060408301526157c560a0830186614ae4565b73ffffffffffffffffffffffffffffffffffffffff94909416606083015250608001529392505050565b6000848252836020830152606060408301526100df6060830184614b63565b94855260208501939093526040840191909152606083015273ffffffffffffffffffffffffffffffffffffffff16608082015260a00190565b9283526020830191909152604082015260600190565b60405181810167ffffffffffffffff8111828210171561587c57600080fd5b604052919050565b600067ffffffffffffffff82111561589a578081fd5b5060209081020190565b600067ffffffffffffffff8211156158ba578081fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b80600281106158f157fe5b919050565b60005b838110156159115781810151838201526020016158f9565b83811115613cd05750506000910152565b73ffffffffffffffffffffffffffffffffffffffff8116811461594457600080fd5b50565b801515811461594457600080fd5b80600f0b811461594457600080fdfea26469706673582212208fa636d6f56d0c6e65470285120a4eef938a8aae07a48694062402d894437fed64736f6c634300060c00330605581e0347ebd7637ff6cc89fdc06b7d8a51d218d43f58f990706eb063094591e0070119599a05581e035bc0b3e80ba9a82e1427f3d524befe8b32288cccaf29e7aacac5e623700403021996b703ffe5134d1cdefe083769b536a881c76292e65620e73606d9b4c95c73020d229403595fea1cabd8c43738ea362121439f632fe67120d1de9c660b9d1783bd6ec9e803f5717a131517b81f0ad9f5de601067e0d5b0ea1ca0ed9570dc25d7203dbfb783033631899167f9a1880f9b83c866691a757cebd563f4bb0e3b97ee3f753b4e123a0363e6a2c140e45c3efac20e3b59419d92c4cbd8df1473a7bbc5ea0d0c1a1e27ea0369dbf4ed5188df83e0cafd273e6fd8b61215f7eea6245184b4123469854c7507036810080154248f792565b96ef9324a524fa20e8f5553542aa25d86266f5776e403eb35266e83df49b4e3df4dec10d47b75262fea529e94b92364d7fcd0a56ff7a70219ffff03903421568c1fb119710b592548a1b6eb0757eb2800e892ba86725e50ae4a03d003d938cec0dd947e2cda2a33deb2ff2b2fed4fceca91bd6a9ab9026a4d1465ac08039dc0f34841a29a13e871bb08f00effdf8968aecb845431aad4c526bedb9e7dad033c3ccb061ef81ba85a11f00baa8304e7fe42941aa9bee025f10cef8793c1979f03dbae61cf347750af9badd0b0fd5faae2abd80117b35736eef70f56b00bfdbfc203522beb6e171fd547010cbf5c47d81eb64fbb25becd1c5693666b3c09559a91c303e82b161f6c39747b3083a731228a58e4997ad8e90d9315171d52aeebf5308dc0030b15c8dce5129e21fb88a60029c443daed7c24e977d415a3a3dfae85e6a01eff0219ffff03908ce4f1f4f39d75156739e009ab18f1e8c7e58b50b75f26efc19114d8b0428f0322ca2f170e59a7c2085d66bf94658c28bec79a194615430b13576791380d677103625dad22ff86da3f785bff6c15a1e0c104880db61fe0974cfd9a07e4ffe1a27003d63ed8c3f32de6e0b2e30bb1184c7271ea164dd777324ecb70d3ac39dd4db7b203897b9ee1a79e55bf805fdddad279d37de6370614671cea3c8b35196ffd71bb3603442e54be128b2f3795a1b375a48aca6698f2a4aebe3e2b2b3870612a58d8c2e203e104b652a123de16b1a2309801c115495eb0dd8972485422a0ed978d73bb77a403f03c35665e2f7932156250941303b29612b53a0cae09f6f2b14637b1a54903ee03365f26857db9f18606e1992f3faad02dd11e1c1869edd15b944b321d8ddd7fc703fdacee21e57500ed7a41a9d83617daf5e5529e8df474d6ae8fe3ffe311b591a6038b5897fd7026174f360ea286ff71ff4e69e3dbe897ac24a53dcf1e69ed4ba63b03ac029626c6c32dcf8dfdfc691ba30891cdbc726b3c40b53ff81b5288a052322c03a08b12bcf1fbc58848fd90917139c06d233539e19c4abea432c025fe6a2bc68f03f8fb537c1cbe01aa850f3bacb9a2eaaefe8c48bbb5fb13f49b124a0d17fd61260219ffff03274d0c75ba04cf6032bd5187d2ecb48533133d99cad0ae0d469a0f61ea589ebe03981fc403d2561123fe4777ce91f491330247f3ccc519d2d0a93d6de21eb4645b0398e7005b10dd984dc036dc84b853413ea9eb9f1d914d468d4d0e87ae9c9c7092037dd345ef28712c9a25eab13e65bb000a9f1b667e57cd094dc30251f5df324a35037445c97c4f2d21e933ee6cb52a8aff34197b56464f054f60e03a16522ec4538103e34b1717fbf59418fb6d65b2c8bbfaf42a337bdf80dc29f6dcedc8440e8dc36f037ad533be0ae96acf3ea4828ac4be52dc2567db4d300c75648a6b31415d02fe72037ae7aae05e7cee52273d623a3d72ec0408f86385526b243c7e66744d2d7f8178035937c56838375b6a7a884d111cb409c89bf0a23c9221400c6f91344484f7abd9038dd4002e4f4b5a8e478548dc6259b753c0cfb019cf80ff449db37e036c4a0dbe03dd731710e8642d9feb16db1ae5ab3379025679fb468b3d95cf59cb7815cd0c2203bed1b71320732bb26add5c970ce8735802ade960d2cae0c0ff07684e8556e31903b96e205a1464ad54fb4928563b3199b9fc5c7441be69749573407af3dfabcf570316af3e10115e1ccab2a851228d57b51573186806a26436a81822f182d6107ef1030a441f44478f7484eb7f199c0d2d7c83e90c8b57b572da809f7ea1e141128eff035b8614d6e60491f6d3c96508e1088c766192753f2170f80f4bc8e8a821aa912403fc90cd412f50b44d3f0e9e9a406b0a858d973e9c2b402a647ae8c95e9eb04ef503357f69251e96d4c82400d97bd2be59d7dfaf4e6f66f3f9877eb9c3af2668298f03372acd7fe3695f056aec58111e4d8854645973fbfd59cfe63c32065d4cf23c720322799cd9a95c29740993929677fdc44c8ef8abbcfa1a7f8b81bfff353cc4c93703ccfb9c0cc278376c8ef79204c68ae275d8e816be049e75fa0f206759c8568b890301a399c250ff7bd6404ce2ac69fb865d4eb6cfb4a1aa0dc8f15e083fd95121d803a460d68706a4f0ea142660fa5549264784f4bda01327b02c80bbc1614d4c80260336fee7cdf616d19991af1efc5adf16ce333792b17a4229e24e4733a32158f41e031d8f2d766410bac98d3dde52f8319fee717b25a1d1cf12dc4e13669779f5e6c8039512b80acafa1aeffa996740124b7ea6d1b9e87925ebe0d9ac2c55378695d7e70347fc2b9b290952738b6df8ba47930fc8d745a010f080de0f833af129070f2cd80393691f7f1509868e195fee32aabbd970e786f41469e273ae291f123131fe2f2e03299377305c925234fce4d0d96c12115d9498b900daa46e39a3bbfd39077fd02e035a3ad43c5fe8392faa18c449cf7d687718dbf890930508abcad0b3780d1fbb080305a44a6a8f86f4ce39dd7176a00687f88d07bdea09dd79c396f6e1553cf516d703dbaeae68ecaf24996600a3a00c3b6169254acbf8dfdbd38cf9acaa3ae1e52b3c033260574ee37e423c6a53025470650a5196f1d5c9b3cadb7d11bf0e736db51d1905581e03fde8b3af766316f7761b4495e3b1b3a2cf1f7b2568001fa0d5030b09400c064607414339284003cbf6c404b7d883ed3e9b04b261c47c936ca4501ff133cf94a9fe8be64ca94d6405581e03c7ed9ff3ad2e40176fda613722a86236ae73f42f1cb5a6301adac915200c014628900d5a7a3805581e033763e646e77f0b7b7fb8b664388908d2f6542b86f62f623923e47ba8e00c014841c1c5900630316a03f2342cb133e6591106602c2016417fb637f34d646a022d13163e7b234b88d98105581e03cf944a7530f15800726eedb5fcc198ec7858f5d7b2fc52db24e39e18000c044802b8689bdf8937a00355790f2408196ed41cc40d6c318b5c99c7a876d29f0779eda80688a71fb986b805581d0269aee22d7b7cb1cf6ef7940dd47071ed7f9324fdff2a97a16a3ab567040605581d02419266b758f42cab4ecf6d64aa16dbbed55354fc2bd15ea6a9c2507d0c06470194a84bb8a1ab03bafa57ebfbfd24de79a762fec12871b565cd7da7206993a55cae3f2a3476aae3032e90fa6e0dd972de88c3d7365b293f8fb67afadb98ba5c58cac1e1ee8ce47d1205581d02edb14fef104b91717ed50de8e606b0cfd884db15f19a5138a0ebc8a407011bffffffffffffffff05581d02b0bae8895d9157f5dd931ddd064ed967f69118bf5524d4f82b875a8e0c04470f05d4a1c901bf05581d02b75ce9ed0c98c8e72f8e1b1cfd129b2424b099aa09fd30165838ba240c0347011503d335ce770219710803af11a38765223aee7ce64734e06c1d32087cfb47ed7a6cb72ea520cb17fd74f6034b34876d24869a06c4046a01705eb4a3285333a330c8212a2464a7cbe6e11e5502197faa037831bc36d6a5c577380aa7314bcd810ece1fe5cd2bede1f357dccbc5be9f800f03ca7e08519505643f3b75ef891cbd9a44aec646f7b85c25a9c7bc8449ea1f577403b788a225818d6a285cd085e408f2836c9fc1f9c2f01cf6c5ecbbed6ef2810506034290f3705601769efbee7b64762221be2e8cda747362f07a5eede8bdc09277280219ffff03af8026be3e223d1152342257687d65682988acf0bfae36b0acaae5d5eec072d5031e113ac79b4905122b0dde51266e02cb198afb71e9a1f21f45ed34fe0ec746e303b84acd0bb105e49f19ca1f8cb2f217569f13112a922061a9153952ff04a1db2c034bd0273ff60c5bd039487e10402a305f5e5f3ca13884abcd092833d1715a76f0030b66373da1d1543caf093b72547050ac5eaf2c9a422282bbb91f6b3e24e0450f03327869c40a0018e12c0dc9027a0ef2f2b344925cd436d965fc9b39d1733ae3510219ffff03aae84db4fc325a42ef6e545174eafc55320cbec9fd08b3b846503a6b1abdd0ac03491587f8404a42681f15b2e5220cd4c990145d904a489279bb59fa7091088a5e0302e1d06db43444c3eede239344b4639e493384096a3a26fd7b59817ee0faba1a03c291081f321bc8a41a40679efcbecbda889648dd023b1fe8fe77b75caf12495e030ed6018505e2b104b11df9d42563e209579883c59eda19baa7897b53acaf4d8803dccba10185e92b052899fb8ba257631fce343cece8e7b7edd249ad07813e15db039efa7da608c2e6de92a39fd468ebb3bf2fa6e53d65ea305c0c3f6e1bbe54582a03d9be2eb66524c7631bc01c6e51ccea088e36607b4a9d480a836a47cc99d3a4f7032aef8bd998c047d0973db7b056e2ed69b441f87133c73bc50af512db006965620219ffff0219ffff03e549d42c07ced7632c312ecbd97db43d21b597afdc0c5785e45d16e28ef0627d0380c0d2127e4c856824f09a5b002355562e1f9e2a9e9c3635740b7c3b27b69b06038ae70b6d51b38416224b4f0aee59012b7ffe146fce5650578f176b95aa687eff0375b44e7ece71db59ba98f97ac57e5611e9177f99b1f0dc5e0d44e3dcf23f4dfe038c3775bddb9425ff1aedae391c13fa0affbb2c879fdd4ddab8ba58fb4dd9c46c036a42fe6afdcb04ce8e232a36a66f0cfa7d98658cabd7484e497dbb9d06bccaa0030fa3705034fdadf2ffc82abff90381016acfce8432b155654ff6f8426fe732e903d44b0d64b11955a4aa1eb904b3b417c48f48da0f3582fe8832bb96e888ec5dbc03347ae53c3babc1356a441396022d1c49ec0131e963030dce9fc3b0fea4e643df03f62ce963d11cd9e368477d11297c3a4e4438f1c44cf6194368b540df251ad2a303c899cbb890210d9e0185215db3911822b934f8f63801163be4c79a22b211283203795b5e3c40e0b1f3e3debfdf5b824e0958f1065eb40ef066dafc57654a4a921303b2d36a75399b580de4757b78fe8ca1d6a014c95588988310ef741292600cba85038fbb956bccccca89502f5f638b689df5c98352808956d160617638275d99b635039568ed8dbdac9cae72e7c0e12ba4c16a99875bae75aaa4b1c9b514b13acc8fbb030c0bc2fd94bcf59225075b41a9581fdebdf3c69cc33f4635c4ff4cce4b3671bb05581e031c2a4ec358079911e3d58f1bc6e70cb2f02136dac50f4c92f659b318c0040305581e034c53e5479f892fa2d32c7ffce1d37c28c4bc8eeca5046f83b90a8468b004070378f257740234076d06e8aba8d9dc61f1d48869497d3746404a1c4c70a4c2a08505581e030f2e6a1e37ee6450376ecabb3ce0114d4f6a1527987c0cb649ad87a8800c01470dc2f0b0b7978005581e033812a0db2f664857e9054a67743ef7019cc7e8616dc4838d244993a1f00c02470149dbfd73489805581d0252e191949a4f6bbbf8e995ba4882e1c1bb89a314075c7f1be63d807f0c186248fb9eba71faaefd6005581d023378f4b26a1881d9cdf513c0a1b8bf38657e2d79ed8b2a2ef227e8580c014801d8b0e5ca9214000219080403cfbd4e2548298576904b1f73973f6127b98481bb2dfa0b9003bdcc4193d5010e0605581e037d87b2be786a80cf7b5c1e9843927b05c08f92e2322883a3b837892a1007011bffffffffffffffff05581e03e1ee641bad6613695b5c76c7904f52196641633d2956d19c9f9b7084c00c01470987e21c7230000219d56c0373fbebdb83eac0484bb667dcdd3b96bca8dbf01cfdf3f1e8f6776422c1038128031ad04859d45d3f2cbb722f2f268637cd5d8343ef994d1e6558101316121a2b76034039ece90397d5d12f99ec997c004e2b1df32dae1fa215533487b2ec01f9a5fd0348dbf1dda12fee1a76132c69a082097cecdbe3cacbd74c4ba0dda920377d8fca03d691beb5ae517a9a6f5c5d06f81759629689a68b576289f11ce4f6fb14e25fb303935ff89ace046758e47f93264f18f738564c998a6c980d3a9515e1e2e9dbeb6f03ca925dc2014560c46572a0098432bf75701506d5f3a22273bbd6bc472edc206b036f87bb9d37e127982f8a178d02353e0d9c80704f182d90792df05745d4929dfe03177027fcb92e0b94a3e3eb11ccbb6ec7faaec7032e8586a859951595e2e2e7b50348000da03d98efa91b32233ca03a7092a3e5aae8f619a60a746931e633ebe4b103246a0d992863480c83e393f95c0e2cc6b7a5d4d3a1c68826b0d5e6c8d82b548b03a32f3f8b09db84a6c357dad01a49897dc2f791fb6779bd696d1fab72dbd0e1bb030850f49567b3f9e3e4fb8d4cf5fe29be9dae3b63d3c3e58c912464aa118ae54f03aca092dc55aaf385dc38d78485d537026aaad8bf077480618a14ff086a9d2d670219ffff0302b9c05d4d88b71c37b9aecc957b4a0310a7f159b46077e0e5a69dcbddb9714f036009f9d538d5a81e793e56733a17a7826cdb9c0438a495ff085e52c6808247b403ed4a95e442f5011b14d732c8f19cdf5370ee34d97a83b14c324d04c72c47237e037e1e1482fe93ef0afd69c48c06cc7ba1bd69383eadd4f00162ddc256e2049fba038f74e52093596ea86d7ed342f48744464e687bf23bade99314351958f4eb99d10359f367a51249a49afe362e6a57633edc9c361e07bf86850ffedd6f5c4adab001033da4f57c5c8cb5d17e02672c148238343b91d5a56661c74f7a9287f586caf8030219ffff03ee808d17fabde1b4b902389bc162e4f08b0352c13fa0f258b98e54e7eb3106f30397631db84a839794bde696c7553b9d4b54f0ced1573731e96e6d63561609ef57035fe2df569e87eb344e8f20207fdb142c86facf7c9cd6a4dbed49e1a61b6e83aa03df691ac8f3e6e37f920dd5fbd10fce3985570e3fe7ffdfa49d862bc04cade5a103878fd6a0258a4fd30ef76647a5ecd2a2c45960bf13ac44003c7df48b2839035a0356f919fcc9070ec608d2aed5aec592904fca4d18168db871b01d14cc47c9c33b0327ea1eccd35729f45a0f199e8466e326afbe74da99856b2441c56f635634da950373be9a7eabba1cb5731b83258b25817b8cb005badd8b19f7e9d88475cb85ac780341230f27066aab7eb5192e541b2e2e67f089f9fa0b4f1653b9c1f05702979e9903f9f4aad8537dccc65a19f2c61c2881bb4e51a1e76c21e776e6129ae337f5dd950399b82fb85bc43088e6e8c3d0f1a4c41caad0815f6eb72188b88cd02d8cbf386d033a0937a2b3518ffd9c367074028e1986785b397b8eb9925bc72b7be8bce8f4ac0219ffff03407f463cdd591c6c37d77947c9b29c575ceebacae1960e79b697ff044c9788a103737b37d185cdb4def6a5441d832f169265a39a3b82952366dd77d5aba9d8d38603a36d2e1a0af13b7831b23002a2eb9f4bdab041d8009a23826d4f79072af0e0ca030b854f571eee94e8ccc91e2d43b45e4462b41e9e69e0523cf06616f4de3e839b032666b0febdabb4a964aecbdf7b6c16dc6c03c6a7a787f473115c9fa95ae4cba00352534243c80801d8820f6ebdb0b9783ae090066f963538b2c320551caa046cdf03f5c7f3e4b5f41d458d370768414440bde346fa11a41b32ec9027e6a5eeffac72030e7e15a1f644e6cda202ed5809d0cdd3c518ec44d20c68d1cb578aa3c4c0c09203a877b1e622d028d8f095dff12304d6399c888e74abd95df94466ec6f71541a77032be218253503416ebb1d74519f498ca7de900b0ebc5439b9f1b946d07de59ba003a5b1920316c592ce3ecee57f533c6ac6cfa43fa63429ca2fcb004e9b5917c7ac03dd32f2ebf9d7525357790d9082adf69e7d3fd6cf61fd81c7654214018b2f6f280368d5eac384c6cd268483435cac60b6a0bdc9583ae339ac40f4e4f320c20c9fde03db8cc6106f6e02429faaab389080d7b06ea51226b2ea4c5b45eadfd440bc8400032ffdf5152eca796f3f04642a0d0d0fc4ab8cc3b9e8c41a0a63a028a3face29860320a673f65271bc5340ca8a9920a2c516e87ca33fd9ac147426d020089723b01d035c233ca32fa131c2fbe28b522c8b69dd15b14a219c88815a0397276b874f5f2b037f0f82357d244eaf82180b7daeb8b813d6ba0c860851a2312491b96ad17a57c203d2732afa7d3adbf44fa5e469bcfa923a990dbdc80c97fffed7a9d4d0b8290ec00301ddc73aee2fc51797ba1922e1cf055072d8b0bffdd4b3849e963f16bec7031003e77be1611f450a2bdce1b8efea2569005eb8e1c5809ef98f074d7c9747064b6603695e7afc32bd49d3cb1e050957965c89daa518f21ba742f8b272e57bb1206f1103642df977630e1435b3e0b863423e3a556a633ba66f82fd2e3a1dc24170f895ea0315108a76d5c6461a9f120b2df5796dc9f566a1384701c153d6870dbbc5cd960703b34d1a2b776aba9c9802d61368b8f1b9c20819b8b465aa09a95e21c726b6ebb503f21b592584c27f1cbdb751537785ea80b58f244ee9ce27325df3bbc1276b9716038eb96b0bd556cfafaa534f5350bd70f6aba01936dee4f44c3d7fb9d80df8319b03cda9d796b2a868e0db8bb746d7e6cde6036371d540703c9bb49bd153f76bba69035f3b4a72021ac84e37ec8071befa985819be7195d807c0174be0edbdc2b023100347b53f0ae0542a7d2d8d832a7990a85a5c9296a4b9553a4150f90fa4b876a6fa03ddb469f27426bfaec3508af4bb7027817450361d8f1136af730d36d18d302df5036609191ab14ebf18045d5ad9d196b725a98bde1b6693c683b7c5812f2f01812c03a64f5568098de6e175bdb39c173fadb3e64133051019f957f7f288fe00b1089c03ae4a0509b1bc3db533175d855cbaa91eea46c885c8f7683ec5f1ebc607cbc36d03a1b8d99ec097ce68d4a4a5d4ec57f3a6705784e421d222335a58ea57e4f35e0003444f434eeebbb9e5ced20c3a4eb836c196c9d8d64e4fe17fad38caab516be4c003373f4028daad22e7db74a6d54fe72d4c91b3f5ad466f4cad26e6c8633d46549303e50c7fd4eccbf0cd426ffa99d56fd3a4b8589114b2f97e99325aa17a490f6d030357ec377f9c1064002f2bba54fb775f21066fd114fb22eb594c5a751e7cae5711030715ca15d1f1da0e9929955def0e52be98b699537074c73e1291437c51ce7ad203dd6b47c2c45ead08a5dc3cfec14c41e81dde71d708b9ad5333937b1bf2c89de705581e038692160bb5e4a82868d803347aac589991cc876a0cdb86e6046014ced00c181e472333d976a9f589034c565eba507492e9968491d9967489adf9f5964067101fe4501068bc870ca2ef05581e030d280d4f67dbe53fdecf88e1d2c9338ba1d44c40dc56ebecf05227fe000c014701551107783c000368af002602884139c42df1266dafd63e17cac4fa31844bacd2439e93b8a6e2a205581e03276a7cccb606376d18ff208e0c8887d2a21b94dafef47472120b3e7fe0084801453203f48af000038eaed9670e491c36af7293d496c9ca3b93654db91a1a8cfd129cc8e452e719cf05581e03d0f8cd755f0f7e0c62836f64c4c98b1bbed0382370cca413cf39a42720040203622ec558c8da8c64f50cb9325874d48c8cd1498aaf280d0f7870e136ecb0223e05581e03e8f7dc2022b169c61c957bbd66fe11e2ca220c0063c61d2d55ddb729800c02469930e5e9220805581d021f7bf89f1e2100fc16bd83bcbfadf5454d9b7ef6bd8fd615937795a10c1a00382dd84a0682cd2cfc886a73c5d5039cf4100dc54b4bd5e52ecde8ef8a513d1b824d836da0dc1cce7f34b3b722b7de039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581d029a83462944a19907e6540072585c50745e56949ae0f2e2059dc11a2707011bffffffffffffffff03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d02c8fab4e0936556c3446582f45339e0f1a3b3fcce33326b79cb5a08d507011bffffffffffffffff021941010219f87c0219ffff0359a707f6f06c1605a55b363948a5030d53aa720a5cbe26e220e1ceb099fcfcba030ccfc218a958da66bf80b83c299248c53ed535537df55175bcf3b0a607b93d7403bcc3dd30cbad549c2f33d330c09f87a92dde62e1dcd10c2932e8793963b72a9e0219ffff0326c31249195d7e854209f16e8cdb36e431dea156acfa38dcaa83e4df4190be0b030c33e1041734d5a1e4ab9d43f69b94d78b9cbf8155246f6df6c5ad259e268b1f03ec0915d4778d7dbc7edef4a5bf94067717fe4ba2a206555bb81b116ce2c23093033545ac0955b946c3b30d1da53e625b9dbf31daa6f2ff2f6c0b0559312a9637460347874ef6d4ac1a5bb597ec2e4d02feb00b99bcb334c492b27d14bf10ec25b467036c12b2e59f502fb45d0fe9c445a935c9812eca23280316a9da0e9e32c3044b2f038b0b738106c93d7507929186c6e7e20ce461799590ddb0380d4c091fdaad7c510219ffff03d1a3bd87fc95e0597ad540942e7dbcc60211b9a9714a4c1b85f74ace4173823c03340a9df8d89d6f76c539dbb0246a91542f8a533527d9acf2605be7dc9b1b9cc203eacc7d45458f9f856cb6c64334fa9af9012820f0db38b962bef578eb6584c7d503e4a9f8aece1e94b98362f1239be5b891905caed49ecc0d3723ad27b632ab4498039ab3704c48d40a13f6c0f516b663ba0a85932790184e59f7ee992107f8365a03036986f7e3d1679270dcc259494ad5ae3d394b2d33b731f41ebd579249b97450a803bdb4cc5e06789b3532bfdac9c69bdce18a6efc7bf34b9608507c8b0e1ecdd1f303944da4160b53787ae232a92e8535f88cf8d8cd7f4b00b42112230e832245030e037e7c277f88da17453fbba115e16ccc9a9139c39c70dc7dbaf78feeccefc4250903481cbe6d2dcebdccb83e7e1ab787ad97ceacc7cfbccbe8e193d8f153580bfc60036ad88d2e6357a7985cfef0c17109944f668b2e531d04cb5ecddf17d9cdedfb4f036ca8428d12de402aa9772ee19941cfdac750762bb48a0f98c5b302faf6c62e5503d6f2d477255260a1833193e90d506542a300de313fc458a7a53cfcbc87fcdcb0039324920933e478bc54087ccf2af0676d9eacc5bbf469ed6d771f794c40eb24a605581e03e0898b1460dd18fd6632fb4707075f8bd34c99f657b0d0f00b0dfd45700c014702f5b45f95ea00032e7437167579ee6dcf29904b06f253a463f2874e5ed0e8afc01a992083ffe3cd0367b0a108506320095b289a515cdf99052b9beb4d2359374a98203e9587c4a9dc05581e034f95c9ad5aac631e802e9ebece2814bd059007a1bca808077b0135c4800c024703146e35b49d270374d460d291b585bf2d32748ec2e10b8d5fdaa65963e03039963c80caecc4bb440386b31fdf51b793bc0ade36cc52dcc934ab90cef3c449d152684f66234d1ae54e03abe3a2c6922771e916d91dc625bc3ab72e8ecbaa16582e7a02b77444475255e105581e0351116a812c7c7bf719c0967830bfa61e7dceb55c259eeb22fc1502ac100c0e472b8c38ef575e710219f1fc035bbb5c4d77b2ce7de37fef0cb58ca9860db1d369f00ed41740c5f1543ce2423a031477b1be94431dbea245c705caf28de546ce8ceaa5ceb5e398508fc4ea71cbe20346d11089dfe3aebf996cc07777e0341cd5324af547a41ee6cf4cb73e9d8ce1d80330b2449d331fe37fd2bfee124fe1a3c4bd06d7a1365525c1cb0bed7d8f68de470338cc9adeb16b7855263b85831d6d043492387c136401a2623652027007840785030ec04a7c8028f0f859921c6642b0c2f7afbc14e3d644dd060b440e6ce1543222036ffd4fa71e62b26a1406049b01750000c0bc515f94efd3e2976bb49312a7b97e0386fda76fa1ecc1cec86816f2d1291dccd0fb319cd91865884767b97d819818f503d84c8b026d7de9b7466f6c925a10808418eaf5b62022d79baaeb3f9e93bd04e00362bdca6bb74102f1ad19d956d90e08ffcc2bfa2d49d0e0c1e61ea66b1bde476a032594bff7e1f1900a6cc18d78663ffb860759ad40e85e6d485d753971dd790e090219ffff0381da303c6c5482f2307ee28f2f4f4bb615cf4982342643fa5a5180c0b070e6090383713c93babaf1118a931e136d998fcfabfb27d5ca57f2ef2dc36c90bb2dbcd803c74d284596102541da6ec22914d50bf4dc62f26b8d60e9e7b1d75c2966af4c99036ab36b75bfca0842b8472a0652ade25dad8ae2c47948668a62b96543163d8976033b1212248436c8f07902d3def1a03d04a27e785f550f52f9d47cc452ed096d4603b85eb1155ec14e947be95e3d68d3c9b386581b71938faf431022acef47e18af103aaff3cd135ed7c61f24287a7578d32dc82956dd487d6dc26ebf9025b24293dc8035f57e3022367cf93a951bde6278a57eeb6eb382ba5d49194aef3fc1729d5cc4103ee25ed02ea8d217a4f0b7acdf434a20017143d9582e1c82dbb65605dbf4909bd032b6f01003869fd31889c11d20bf995bc58d1663008f6a383baa833c801ad4051034951e05aadaa9b036271468b83a6f6522101cc4b0204a225f97ef6d2254a9daf0219ffff03d42fca39b30456c734788a238cd497d056af2cb0d62abfa1d40841dcbbb6766f03146711012350cb4b4e08066f8eb9b38484b2a13bd1346656c5e4aac4581b439e03c9e01b8e443e3f3ef78ae6bdc8c644cac7224cc51c4c1d8cb0af7c86f4978eab035206e01cdd4c5680f9108f5883c9810e9b43c2f071ef11a48558db88c21a4835038f2aa99dbd10a5cd6cd0cdfc60c035f391b587d88c364aa7b3c2d139302ab35203310780754cfd27c9267ab0b66d580c79e471c848e0410cf7c13ee976ffeb3f4303a9cfa5141b1627fe1556e8b121c0d0fb061a8ffa6082f451e4ea20e2bd47529903e4d88cf66779567f75c3b49c5053b52777cfb5b36c6c1394841a1904832599c20300048d110fb261d0a6fc5528e94b43730fce6f05ea04a615f30396368c96aaaa03bb38dd1f208fd895273cfe8166f427eca568322d82f5fa98b733083c042be9f303d37091d0534485128e87566cef1eb660f8de2c4dd04a53425425b1dbac20106b030986ff0d6ddcab7aee103c668d469ca66d25fc21e1a5533e0e97e152d32883f503a4a1efe8c4ec8b44e2903567f5da327854a67400701a29c8aad714abec92dc1c037d459d734d42a9523756dc2ecf798ad96bb9c5b677646465f0981daaeb5ef50503491e6f9d0515c82214be66640bb4e0c3ff80c46854df832d729bdd16060c8eb50219ffff03e840baad9c433f73b131d2111f9cf9c2aed10177f0a7ec73353663981b49fbcd032b9962542eab6d4172a52c8328f97b8ffd18f2d0d084eb53164bb122df8f995b031b3e26d28d2209316d50525a7e36a7310a5e781afc841ac9367f89fd5f93f1b703b033c08ce33e58de6a3390bd56139e0e1987c7d5a94fd339739255a451dc895903d3655dd207fc12b58112fe122ff53c2de5deebadfc71ff45d1087c307ff99c96032d69f6e0663ef64f23e1e8bd37d51e6a5b5937edd97bdd852628edcceaad55ba03a3fad7d7bf626a0750c622c2139b7da137a626a8964bafcf2abf98af209ebce003d07b31f68297231f4c221a92d45b0a48e95ad6e7a2c2e7f0b45834dd8a66196403a37a937696740419fd50cdf67753858503ba9737db989c4ce37419d9644b68de03cf7d517237d4ed7c8ede109daf2666a75494979a70efd2507f8ae877ac90c15203647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03336b40cbaa16811a11ed55eb6f49a99ff96fc9c37515823c7c4d3657de78a24d05581e03211ac4f1c5b76fd611b06c4f0d4d8b16e2a234e96867ffcba7208fe6b007011bffffffffffffffff03f765c955290ec7b089a6778cabd62846d0dcc443b4508284375b1872b72c8a0205581e032f4543f9bd10409eff80cfec6aabf1fed01be1126d5c37a921d46b9ba0040205581e031e19d021b6c550caec71fb7e1d35dfc3e9d40ff2f7c837596de149aa80040205581e030c943c42b58a489937adcfdcb74a5b2bd7d22b89396d3b3590db99b9400c0346dbed82ea113005581e03af8d20f647095ab89655b8ba80ed09cc4dbd81ed2b99c652d21f5413300c0447018b39e71a31e803691438949d03d81d5e7d77ad0b8e47988f20094472dbd97f40f44bd9e743a93205581d0208eaa7678c05efcddc485bf8b7471cad92e5ea39fd33dc6b35044a990c181a47614449baa5e8b805581d022f97c6eef3ca5f40194d065e60ec82b1df2f0984a0369bb34edad3b504010219020405581e0387f0de2fea3fbbb1a241236c8820305529c2585b52239de71ca254cf6004010347565493e03f04c37a8c279c1a32ce93e0a8d6b0228dd0b9008743ea352b65290219b9e503ca13009ca38379442bf5fa9f34bda9d01487a3f4f6b98e38ceff21793fa622fc031670b056154d986628409bb5aacb19e1e9c3bb1607473bee8c86c433af88298803e60d7fc99e4674e9058719d8d26cd51365775ea734836c22ead57a80434a023d03c352204373a9310847a69ab796b7bdeac9f140b1a4ed75578f897a0b7c938f4b034dc963bb57df790c41c9eb6b3a4b03e4cafea2766d8159a395d8dbea1993aa4d038ba48ef15812c22ebb794d299f611d1dedf4917f4d72ce2d1532ac8b65f60f2f03fd914677bcb2f7921d5bf84554cb8da3df7ed2c68ccb8cf6c18aaf03df1de6ba0303794ac1f40bb42df5096dc921cfb0c9991f07ed62d0a9568cd6be3f5d5aa3e30219ffff0371f41905432fac2373a0f5bb8555f98502adb23aee16ca1c6428437ebda4f92f031b30f40796d35dbdd9a255a4b573d4c7502c40a39c3e5b4dee52ed5003595c1603a4150055777b6198aea6be7d0d1dd9db68e45b64080f2acc7ee287aa05615df8033f4d22dcd52bd2973a011484d5c760faca31dbf1cae353a16ce255e84ee1468b03810785fef9d38d2cf334c0775db27dcf2fbb5c1115daea4b680d40fe730fff55034f6b4e4109100b6c60bb1e7279c0a08630b40a2edf82e4d2967d0625801c85770335eed9cbb3c689dda9c6f763812fee36167ae2aafa70c10bcc9e7bf2a89fd7ea036bfd78f85f556f9b9a527b4d654a45e8ee9c4ececd22933db9cfd05d0c5ab1d103baad8558dae1889f9a8b93fa92b3f24f43907c8ea00e1888591a49edafa9df2603cb7b89d2c8baaaeb9fe87c2f2d40954916177deb5b0d4887ab2314b83b788ddb03fdfe603c64e0531d2bded96b0e342fd9a692a12faeb9e81c9779c2097a6df85d035d67acef3b29a40f31c53af70137a662dd7f39b0635404a92ed60563bec5119503aa85c22d68dbef3263e96e001701a2010af89974a64b802a05b003be3e1c5c9703402efaaa82e3c7ff76d91a6fba9a2573eabf942700b76f34706a62c93b47885903f4281bf8b008e701b856a95b05e8af537d6c58b1dc0c4b74ff8399289841d7fa0219ffff036626a1c558e02dd34d4690d909b970d6c77d477684b0ff7a38eb3fb57be65e49031f0ae4c0022f809749432f0c1450a51c02acc7d71a179e941cb4bfe971ad156303edbd240c49c70c744f9bb0b5d568d1bc7deb3b2b960c34b5222ed47596ca72d9032db63f48266205fdb2a6c4b733c2cf30783e07697391e536a553f505d86f3a7e0331b4cea4cf693993f06957307ab063c480ab9c1e0fdb3b90533a5b83c00b6501032b20b4c937e8fd5b23b7197da23be7d7c095daa6083412580643b3932937a75e03baa8108f3004afac007dd17a2e373a4783ff625560835dd3957f17737fdb9cf803a2f1204e67194ea11119f263ec2caff94d0f442d36d1fde178e264bfb518527603da79a77b85a2f68e66a21c95d83f702739346263210848a30a1d74cd20b64dd903a6000f0fe0be397083b23b2fe19ba5fc1e6b632f68167860935645eb0ba5b06603a8f8a674b7cbe8513789612a963abd1d3c6aa3c63b7f9c6d9b44d7cadb0416150326bf4452e0b0e96bf420b4a843423e1ff6d29060ea9cc9674f5c1cc94dfe9c760219ffff0219ffff03c6ef59a41f997333b85e13446672a0e8648e1fbbe3b37380678482a37ee1da2d0368dd706619d6b07f277e51e1232c4977995094864dd0b3cc871e9ca185931fe5038d2add272fb38cf556af016289d73fd9e379271dd50926860a0f39e350c6349c03c273e4dc03392f96b0d57305ab5228ee02616bcc029fa2e5653931164b311db003609fe6a27f1410130e92b11f2d9408a3b6be7ab5aadce672c08658801d9b5b6803cd52dcc7bcfc968df2a9d8ddb0a2c0a9ce27d8bf4d5f8c70f567c353f904b78c03fd94321a137a8b11d7505e37c0fd4e7757b764fc63477eb580ba1edea2f7532d03cc751cb283b3ea0c4b1ebb088f84ebede418176486b776ce2057fd894c41807503fcc1945c3d766d1e0ba9e3d849d2ed6abc8d6db1e12dafd8410756c111e85a9e03b9d7db9cfe9128af575a194d95004bfbc8269879cfccdbaca916d28f7f87b4ba031f102fc5eddc1f038b2912b84275813b7bb066e2c80c50be60fe9abd15a242e703916a8ef958edd647fe7914883562548c094b282dd3fae122d4ff9a0301e3d780037a2ced0568055fce82d3fd840d5f8bad12d2f376617911291bd99ef48f9e75e80359133f920b7c0a4b9b56b7bb1f68e2a3898c5598b2f6904f05ddf96b87fd379e039c903d3dbff6f3b4dd653bf113d356cda20cfc9a759cb0bb11b539d7882e0a24032c5cc87641103b0471e3d1e15feccfa65b48962fe0dc4dbd96e89b865dd6281f03d807f91ebaf5c1be6f8bd4ce1060c9f6908a4e0618a836de134c7ef2e8bce04f03f7f4d957268aabd1408f59a22bff5fb57da9c68dc75c6fcf8bb3802ac2d55631035db14efd8d24de3bcde7b3abeb072b06779530374bf230448dd2c32f6359a40a038c14c6abb7e48f2edd278698b6f37f29350f42abf81ebff0f5150c3b466e070103eff40da6d0ec2d39fdd6abb52ecc11ce9708a220292a2db9b8884c975aa257cf03f3ac5ae61dd71a97462231ecf2fce2d2ff642b20ee350782288c4b3fef57848003a357cf1dbfc9949b338ac59929d6adc38bc3d5c543ba15e8117ff693fe04712003d5aeb6efb7a6a8bae44ac2b9f7c18f1752dac20f1a1d9e98ce84fee54c40b7ac0303e5df49c68d8db0b2e980205e5ac7fa4a79cefb756d888c4121f25b564c0e4c03bb5bdab0654a458c2f6c9aebd13331e4e917859cb1ce54a6feef05f5060f8c36035028343fc479fbdf36658f6b2ea43e88fc0424c89b7000222631b09f87a692b7032a6b577c4f8fd7382a27e61e8bc42813cb7ca22d4a901a178605a17392d8403403f72cfe22891473bee259edd0aa19e1aba00d5c1693f43883d71c3d9c5f41c58b0358e9e076ba1db6f4410c477bcc1f70c4667fba4bed25614bc17c5a28f7bde89e03953a12a5e0ea9e698f7088a61f6be593118649bf83cbe5118c02e933c278ecce039eb3a51465701e33c14cfa5e41929adcb06ac5e642e617c4f33286ae16cebf1303160c4ab32fb935a4015b70fee72671fa00d3e57e4646846c770313fa2a03eaa0035a4647d8cdd61eb384c5e238628a465c4ddc24155773275a4db022744d96c36f0319bea68d171e9e9f9e4d9a84e16d85bd84a25b7adfffef619bd739de5f86821703640baef458c40819165931369107e257c5633cdb005cec357b1bc521042c6a0f03c2ec3148236c21d627ebb24965433d33eead832dc4ba9109905b8c82c65ca138037f43a3fcc8a4ec65d877b89412a20b304eb0b18948f8b3c8489700ff578fb3e504591380608060405234801561001057600080fd5b50600436106101425760003560e01c806392eefe9b116100b8578063d01f63f51161007c578063d01f63f5146102d8578063d94f323e146102e0578063e7cf784114610306578063e9f2e8be1461032c578063ee8a463214610352578063f2fde38b1461035a57610142565b806392eefe9b14610250578063a8de41d514610276578063b508ac991461027e578063ca446dd9146102a4578063cf28493f146102d057610142565b8063715018a61161010a578063715018a6146101e457806375486342146101ec5780637adbf973146101f4578063833b1fce1461021a578063854cff2f146102225780638da5cb5b1461024857610142565b80631ffaf0db1461014757806321f8a7211461016b5780632b6bfeaa146101885780633018205f146101b657806338f92fc7146101be575b600080fd5b61014f610380565b604080516001600160a01b039092168252519081900360200190f35b61014f6004803603602081101561018157600080fd5b50356103b4565b6101b46004803603604081101561019e57600080fd5b50803590602001356001600160a01b03166103cf565b005b61014f610646565b6101b4600480360360208110156101d457600080fd5b50356001600160a01b0316610671565b6101b46106fe565b61014f6107a0565b6101b46004803603602081101561020a57600080fd5b50356001600160a01b03166107cc565b61014f610849565b6101b46004803603602081101561023857600080fd5b50356001600160a01b0316610870565b61014f6108f0565b6101b46004803603602081101561026657600080fd5b50356001600160a01b03166108ff565b61014f610980565b6101b46004803603602081101561029457600080fd5b50356001600160a01b03166109ac565b6101b4600480360360408110156102ba57600080fd5b50803590602001356001600160a01b0316610a2a565b61014f610adb565b61014f610b0d565b6101b4600480360360208110156102f657600080fd5b50356001600160a01b0316610b37565b6101b46004803603602081101561031c57600080fd5b50356001600160a01b0316610bbc565b6101b46004803603602081101561034257600080fd5b50356001600160a01b0316610c3e565b61014f610cc6565b6101b46004803603602081101561037057600080fd5b50356001600160a01b0316610cfa565b604080516d4f544f4b454e5f464143544f525960901b8152905190819003600e0190206000906103af906103b4565b905090565b6000908152600160205260409020546001600160a01b031690565b6103d7610df2565b6000546001600160a01b03908116911614610427576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b6000610432836103b4565b90506001600160a01b0381166105dc5760603061044d6108f0565b604080516001600160a01b0393841660248201529190921660448083019190915282518083039091018152606490910182526020810180516001600160e01b031663485cc95560e01b17905290519091506000906104aa90610df6565b604051809103906000f0801580156104c6573d6000803e3d6000fd5b5090506104d38582610a2a565b6040516001600160a01b0382169086907f1eb35cb4b5bbb23d152f3b4016a5a46c37a07ae930ed0956aba951e23114243890600090a36040805163278f794360e11b81526001600160a01b03868116600483019081526024830193845285516044840152855191851693634f1ef2869389938893929160640190602085019080838360005b83811015610570578181015183820152602001610558565b50505050905090810190601f16801561059d5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156105bd57600080fd5b505af11580156105d1573d6000803e3d6000fd5b505050505050610641565b60408051631b2ce7f360e11b81526001600160a01b03848116600483015291518392831691633659cfe691602480830192600092919082900301818387803b15801561062757600080fd5b505af115801561063b573d6000803e3d6000fd5b50505050505b505050565b604080516921a7a72a2927a62622a960b11b8152905190819003600a0190206000906103af906103b4565b610679610df2565b6000546001600160a01b039081169116146106c9576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b60408051722624a8aaa4a220aa24a7a72fa6a0a720a3a2a960691b815290519081900360130190206106fb9082610a2a565b50565b610706610df2565b6000546001600160a01b03908116911614610756576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b604080516a13505491d25397d413d3d360aa1b8152905190819003600b0190206000906103af906103b4565b6107d4610df2565b6000546001600160a01b03908116911614610824576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b60408051654f5241434c4560d01b815290519081900360060190206106fb9082610a2a565b60408051654f5241434c4560d01b815290519081900360060190206000906103af906103b4565b610878610df2565b6000546001600160a01b039081169116146108c8576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b604080516815d2125511531254d560ba1b815290519081900360090190206106fb9082610a2a565b6000546001600160a01b031690565b610907610df2565b6000546001600160a01b03908116911614610957576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b604080516921a7a72a2927a62622a960b11b8152905190819003600a0190206106fb90826103cf565b604080516a13d513d2d15397d253541360aa1b8152905190819003600b0190206000906103af906103b4565b6109b4610df2565b6000546001600160a01b03908116911614610a04576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b604080516a13d513d2d15397d253541360aa1b8152905190819003600b0190206106fb90825b610a32610df2565b6000546001600160a01b03908116911614610a82576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b60008281526001602052604080822080546001600160a01b0319166001600160a01b0385169081179091559051909184917f3eb532562a19423f49e2e3b30790b23d00c625f3ee37c7359d03688bf7111f6c9190a35050565b604080517026a0a923a4a72fa1a0a621aaa620aa27a960791b815290519081900360110190206000906103af906103b4565b604080516815d2125511531254d560ba1b815290519081900360090190206000906103af906103b4565b610b3f610df2565b6000546001600160a01b03908116911614610b8f576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b604080516d4f544f4b454e5f464143544f525960901b8152905190819003600e0190206106fb9082610a2a565b610bc4610df2565b6000546001600160a01b03908116911614610c14576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b604080516a13505491d25397d413d3d360aa1b8152905190819003600b0190206106fb9082610a2a565b610c46610df2565b6000546001600160a01b03908116911614610c96576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b604080517026a0a923a4a72fa1a0a621aaa620aa27a960791b815290519081900360110190206106fb9082610a2a565b60408051722624a8aaa4a220aa24a7a72fa6a0a720a3a2a960691b815290519081900360130190206000906103af906103b4565b610d02610df2565b6000546001600160a01b03908116911614610d52576040805162461bcd60e51b8152602060048201819052602482015260008051602061132b833981519152604482015290519081900360640190fd5b6001600160a01b038116610d975760405162461bcd60e51b81526004018080602001828103825260268152602001806113056026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b61050180610e048339019056fe608060405234801561001057600080fd5b50610023336001600160e01b0361002816565b61005d565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a01902055565b6104958061006c6000396000f3fe60806040526004361061004a5760003560e01c8063025313a21461008e5780633659cfe6146100bf5780634f1ef286146100f45780635c60da1b14610174578063f1739cae14610189575b60006100546101bc565b90506001600160a01b03811661006957600080fd5b60405136600082376000803683855af43d806000843e81801561008a578184f35b8184fd5b34801561009a57600080fd5b506100a36101df565b604080516001600160a01b039092168252519081900360200190f35b3480156100cb57600080fd5b506100f2600480360360208110156100e257600080fd5b50356001600160a01b0316610215565b005b6100f26004803603604081101561010a57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561013557600080fd5b82018360208201111561014757600080fd5b8035906020019184600183028401116401000000008311171561016957600080fd5b509092509050610246565b34801561018057600080fd5b506100a36101bc565b34801561019557600080fd5b506100f2600480360360208110156101ac57600080fd5b50356001600160a01b03166102ed565b600080604051808061043d60239139604051908190036023019020549392505050565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a0190205490565b61021d6101df565b6001600160a01b0316336001600160a01b03161461023a57600080fd5b61024381610379565b50565b61024e6101df565b6001600160a01b0316336001600160a01b03161461026b57600080fd5b61027483610215565b6000306001600160a01b0316348484604051808383808284376040519201945060009350909150508083038185875af1925050503d80600081146102d4576040519150601f19603f3d011682016040523d82523d6000602084013e6102d9565b606091505b50509050806102e757600080fd5b50505050565b6102f56101df565b6001600160a01b0316336001600160a01b03161461031257600080fd5b6001600160a01b03811661032557600080fd5b7f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd961034e6101df565b604080516001600160a01b03928316815291841660208301528051918290030190a1610243816103e5565b60006103836101bc565b9050816001600160a01b0316816001600160a01b031614156103a457600080fd5b6103ad8261041a565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b604080517f6f72672e7a657070656c696e6f732e70726f78792e6f776e65720000000000008152905190819003601a01902055565b6000604051808061043d6023913960405190819003602301902092909255505056fe6f72672e7a657070656c696e6f732e70726f78792e696d706c656d656e746174696f6ea26469706673582212203320e2b1a7e61c0b568e4bffc4b4c10078ec19de63c542c993554188157d2c4964736f6c634300060a00334f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220559fb470c1a15a8bda86c297e738f0d0de28905f6be7421c3660d57564ee5e0164736f6c634300060a003300582103341ca5da31e95a12813732f00232567e302edff5211d5edebcf9c320000317d054faa67e3736572645b38af7410b3e1006708e13f40058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054638e5da0eebba58c67567bceb4ab2dc8d34853fb0058210336c35fe3f1778ae024486119d61f55e8cba6b2e6e0273812d2d4a80fc4b64fa0547c06792af1632e77cb27a558dc0885338f4bdf8e005821032f13d42a9dbbeaca82a60edea31f290518c59e7f4f193c9f9e94ba3e904bd6e0547c91794b65eb573c3702229009acd3cde712146d00582103f7b8a3140e0b19743ca375aa479aa8aca6fa0430bf7e60808e2e0ec996ae69f0544ccc2339f87f6c59c6893e1a678c2266ca58dc72005820028d441ef2bc443b78c76915254a5c63be40152effb8f926aa00cedb12d4792654a5ea18ac6865f315ff5dd9f1a7fb1d41a30a67790058200218c77d778508f16f3a894a5cef2edd63f3a87bafd953a0240e13643d5f0ff9545934807cc0654d46755ebd2848840b616256c6ef021921000058210363ef55b4d16a3f11e8598c575fc6f17fff8a9f4fa44ff2436ac34193fe735e6054789cd7ab3742e23ce0952f6bc3eb3a73a0e0883302190e8e05581d026b8917dddc89a7632af9d04751884cda189cc5613bcf655000e9967b070219138005581d020f3e4389801817f4220db59e8d1aa49989f7f324dae37df6ee7fb2cc04010219100103677b67a87bb11cb3b6f537526556d052aacf8f27efd393fedc9f6a48e055419a05581e039c11a54fd1c558d41252872e8445185813f5e46ddf10af8baa7fbf69400847374b2c387c8a0805581e030eb12b5ad97f29c685271e79a070555867cdb17e04305180d88a5ab110040205581e03fef4028066c616c1d81e55dda090f93d8f647656c8b040124b8d6b73000c02460191dd9dec000353951340a7673ea0a2a8c446dac6efd415093f7dbebd977cd8bc46d0f710dd8505581e032dca4e6290e425d2fe8be8f0fa8a4fc91e5fdcab8d1366f91ad861eb00040305581e03e8e9e0f8bba200650e4a4bb0cf0f8c20d3096ad351e648bc5af1c139100403030cbe5dbb1a4abd3c5831cca57b5186e7836e45463d6b3760d95e653e2c81768a03a16bc57d15cf78dda48d9f40cbeb60b859a1d26c38e9f11398dbecb53d5e5b9e021937d9035a15a4cbb9d970069e90c90d9083c29cc08be577bcd8432b34afdade04ca703d0219ffff03c84df2d941f92e4c86121b613f27c41bc60b43136bb273996977a3253cca83120330b6c00d94ee811665d81b08f8875ba56bd9ef5616b99490574eb234d5fc6b5d037f5095e0b6355d7be33d3f941f2fe52a10296834c8dc9a8c7bf66d5eb239b567030c370f9526ce8a61f806e0972366031dfb48fad2aa9d8e8ddec75c288ce22bd4030434677967a5ec8358d61a62f06fbd1b6e56e7e80fcdd7ac3f567e8c305085720219ffff038bfa4ba0458cdb051656f28f834e940399cb6043ee4cb0438f6c42107330259e0219ffff03f26d8be67413239e42d0e95f33040720f0e241474e3e7c86ca6ae24e71bbc72f0396850465e2c43ed58ca825bb11618477fb5ea533aecacd11f80b7e48d813b1460309a6a9af4b8e2d099c18d7751b968ba153fbe4c2e0dc61bcf98e92296204480c03744156ad0fd2b2bfbc362f7b2978171d42811c588c7e92127cd4cf6843672089037c87dc3f3a59ed53e5adcba06a59b95cb028c85d05de26f42b7e08b9b8ea411b0387c0bb06030a154ea338786b4c7304224c89221ba8a910ca49df373d4153436c0351de1a00cbd915c87ac130171cea6c343bdd0a1f21c5956fe76cf9928732284d03ccd0c4f0cccbc211bea809d58c489c1ec89e9cadee0dae243eefc028592b99ee03904b4418b8f22a31f4d199165c51a0e467fb788a3bf9e031c035fd0d7b40f7e603b7cbf8f3149183dbeec857bea89a9a9d4c484fda83b374c68f593f17f8ad16ff0394f98c1d66d86343d1371f1edd359ecdc3ac20108a4375c51f2c1ff0a6740e740367525390c1d5c5096034f80f5799890a6459596c2fb7e7ef73587fd56d7fa0b70314e9df9430340f02567f50d9f63ca825268df7123c46e1bc9960499d951a51fe037f98c4cc82f7417d918ba8aad7d3726b4d2e0846553c8e86767d1d0fdd5362da03cba5cfdabbc718002398ff4d059baabba1a9ce83b42b037cf243a79b71a7a71003b930043c51b47df80c9aa6c4d8ad2dde95395a76ad50e36dfe87db57affa82be038b928fe802d1da5f9efeb8b79bd0f24ee64573b7f543c8500b10c9cbae07e7d9031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e034113b3802f3f724a6676bd6b607f998c80d35dba89f749f30fe1868d2007011bffffffffffffffff03fb960bba38b061f51daadf189235d58922434246bf977edb8b6ae67b9f2fb551032a4dc86d9d31890bddfe1a613bd91b501b943abe8a653769c7696420563fd8f805581e034f035fa5fed1cba2fad72fd77b2991c8c2b5f41a21c8a09a53e839d30007011bffffffffffffffff05581e0370bca52835228a93c9c7b4e8472f04bcc7a703caba18b4757347b39f500c03474272254680d13805581e03ebb4e3f7f925b335a3b3383620ad3fb07d1807981eff189e1f973f44d00c0247059d006abec00004591850608060405234801561001057600080fd5b506004361061018e5760003560e01c806379cc6790116100de578063a36a5c2511610097578063d505accf11610071578063d505accf14610357578063dd62ed3e1461036a578063ec5568891461037d578063f2fde38b1461039657600080fd5b8063a36a5c251461031f578063a457c2d714610331578063a9059cbb1461034457600080fd5b806379cc67901461029e5780637b16940e146102b15780637ecebe00146102c457806384b0196e146102d75780638da5cb5b146102f257806395d89b411461031757600080fd5b80633644e5151161014b57806346a7dadc1161012557806346a7dadc1461024f5780635c975abb1461026257806370a082311461026d578063715018a61461029657600080fd5b80633644e51514610221578063395093511461022957806342966c681461023c57600080fd5b806302329a291461019357806306fdde03146101a8578063095ea7b3146101c657806318160ddd146101e957806323b872dd146101ff578063313ce56714610212575b600080fd5b6101a66101a1366004611520565b6103a9565b005b6101b06103ca565b6040516101bd919061158f565b60405180910390f35b6101d96101d43660046115be565b61045c565b60405190151581526020016101bd565b6101f1610476565b6040519081526020016101bd565b6101d961020d3660046115e8565b6104c9565b604051601281526020016101bd565b6101f16104ed565b6101d96102373660046115be565b6104f7565b6101a661024a366004611624565b610519565b6101a661025d36600461163d565b610523565b600a5460ff166101d9565b6101f161027b36600461163d565b6001600160a01b031660009081526020819052604090205490565b6101a661058a565b6101a66102ac3660046115be565b61059e565b6101a66102bf366004611520565b6105b7565b6101f16102d236600461163d565b610608565b6102df610626565b6040516101bd9796959493929190611658565b6005546001600160a01b03165b6040516001600160a01b0390911681526020016101bd565b6101b06106af565b600a546101d990610100900460ff1681565b6101d961033f3660046115be565b6106be565b6101d96103523660046115be565b61073e565b6101a66103653660046116ee565b61074c565b6101f1610378366004611761565b61078b565b600a546102ff906201000090046001600160a01b031681565b6101a66103a436600461163d565b6107b6565b6103b161082c565b80156103c2576103bf610886565b50565b6103bf6108e0565b6060600380546103d990611794565b80601f016020809104026020016040519081016040528092919081815260200182805461040590611794565b80156104525780601f1061042757610100808354040283529160200191610452565b820191906000526020600020905b81548152906001019060200180831161043557829003601f168201915b5050505050905090565b60003361046a818585610919565b60019150505b92915050565b600a546000906201000090046001600160a01b031661049b575060025490565b905090565b600a546201000090046001600160a01b031660009081526020819052604090205460025461049691906117de565b6000336104d7858285610a3e565b6104e2858585610ab8565b506001949350505050565b6000610496610c67565b60003361046a81858561050a838361078b565b61051491906117f1565b610919565b6103bf3382610d92565b61052b61082c565b600a805462010000600160b01b031916620100006001600160a01b038416908102919091179091556040519081527f9a3202088337cf7e4d3f19d98fffddbbc525f8569bb2a61b2a23672999329127906020015b60405180910390a150565b61059261082c565b61059c6000610ecd565b565b6105a9823383610a3e565b6105b38282610d92565b5050565b6105bf61082c565b600a80548215156101000261ff00199091161790556040517f9328c1541d7a8ff15d9fda4621d4c0a45c393a46e3d453fb9791eadc535fa95d9061057f90831515815260200190565b6001600160a01b038116600090815260086020526040812054610470565b60006060808280808361065a7f504f5254414c00000000000000000000000000000000000000000000000000066006610f1f565b6106857f31000000000000000000000000000000000000000000000000000000000000016007610f1f565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6060600480546103d990611794565b600033816106cc828661078b565b9050838110156107315760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6104e28286868403610919565b60003361046a818585610ab8565b600a54610100900460ff1661077357604051624d381d60e41b815260040160405180910390fd5b61078287878787878787610fca565b50505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6107be61082c565b6001600160a01b0381166108235760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610728565b6103bf81610ecd565b6005546001600160a01b0316331461059c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610728565b61088e61112e565b600a805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586108c33390565b6040516001600160a01b03909116815260200160405180910390a1565b6108e8611174565b600a805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336108c3565b6001600160a01b03831661097b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610728565b6001600160a01b0382166109dc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610728565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6000610a4a848461078b565b90506000198114610ab25781811015610aa55760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610728565b610ab28484848403610919565b50505050565b6001600160a01b038316610b1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610728565b6001600160a01b038216610b7e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610728565b610b898383836111bd565b6001600160a01b03831660009081526020819052604090205481811015610c015760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610728565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610ab2565b6000306001600160a01b037f0000000000000000000000001bbe973bef3a977fc51cbed703e8ffdefe001fed16148015610cc057507f000000000000000000000000000000000000000000000000000000000000000146145b15610cea57507fd127614bc54fc11f5504efe48f8cf25c0b680a85502935dc18a3d2055866fa4090565b610496604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f25ae7aa7dec65cf8445639c6ac79d789338565c02be28faed5bd49a5767dfcc8918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6001600160a01b038216610df25760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610728565b610dfe826000836111bd565b6001600160a01b03821660009081526020819052604090205481811015610e725760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610728565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610a31565b505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff8314610f3957610f32836111c8565b9050610470565b818054610f4590611794565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7190611794565b8015610fbe5780601f10610f9357610100808354040283529160200191610fbe565b820191906000526020600020905b815481529060010190602001808311610fa157829003601f168201915b50505050509050610470565b8342111561101a5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610728565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886110498c611207565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006110a48261122f565b905060006110b48287878761125c565b9050896001600160a01b0316816001600160a01b0316146111175760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610728565b6111228a8a8a610919565b50505050505050505050565b600a5460ff161561059c5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610728565b600a5460ff1661059c5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610728565b610ec8838383611284565b606060006111d5836112ea565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6001600160a01b03811660009081526008602052604090208054600181018255905b50919050565b600061047061123c610c67565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061126d87878787611312565b9150915061127a816113d6565b5095945050505050565b600a5460ff1615610ec85760405162461bcd60e51b815260206004820152602a60248201527f45524332305061757361626c653a20746f6b656e207472616e736665722077686044820152691a5b19481c185d5cd95960b21b6064820152608401610728565b600060ff8216601f81111561047057604051632cd44ac360e21b815260040160405180910390fd5b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561134957506000905060036113cd565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561139d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166113c6576000600192509250506113cd565b9150600090505b94509492505050565b60008160048111156113ea576113ea611804565b036113f25750565b600181600481111561140657611406611804565b036114535760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610728565b600281600481111561146757611467611804565b036114b45760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610728565b60038160048111156114c8576114c8611804565b036103bf5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610728565b60006020828403121561153257600080fd5b8135801515811461154257600080fd5b9392505050565b6000815180845260005b8181101561156f57602081850181015186830182015201611553565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006115426020830184611549565b80356001600160a01b03811681146115b957600080fd5b919050565b600080604083850312156115d157600080fd5b6115da836115a2565b946020939093013593505050565b6000806000606084860312156115fd57600080fd5b611606846115a2565b9250611614602085016115a2565b9150604084013590509250925092565b60006020828403121561163657600080fd5b5035919050565b60006020828403121561164f57600080fd5b611542826115a2565b60ff60f81b881681526000602060e08184015261167860e084018a611549565b838103604085015261168a818a611549565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156116dc578351835292840192918401916001016116c0565b50909c9b505050505050505050505050565b600080600080600080600060e0888a03121561170957600080fd5b611712886115a2565b9650611720602089016115a2565b95506040880135945060608801359350608088013560ff8116811461174457600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561177457600080fd5b61177d836115a2565b915061178b602084016115a2565b90509250929050565b600181811c908216806117a857607f821691505b60208210810361122957634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610470576104706117c8565b80820180821115610470576104706117c8565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220217e2d51d601ae3f00deffddbda86b721ef9e8faa1d7dbf92ab6b9823fe0d1dc64736f6c6343000814003303dc14fa8aa9f619ca49c2b6805a2a7326052129200cdb0377d76bad56db16b2dc034d94f880065982b9f1b9b89b56eef7e522bc27b9369b481519c6f0a88a8aa93303693dfd0cd0ec815fc820b2328029bba6de014ca0ff503e1a02b6ffae9b05580c03be2f56afa81446f9bc79f2af358648ee4593f24db9bbb9c30239a8aa2c15c5a603cefd2c4afbba632d11c6e3b384a4ea4f8143c5baa88361b6e0eceee79a190aaa03573087bbf39f76005eff926ca76d06fae3686d94a74614ee0611e7ba7e1664f4037ccb0a39699612aa8187dff1e376c864068df942500b0d3d4b0ab81f76f8c4100365fbec98e2f199a98786679041546f105117e7613d07ebf00009103f8e9e725e036c2be55d6b7080932b6c8e321991fd82a7bf278f5ca923e13a0d441f9f68661f03eee859506526320c81e04e88b0278a2257b7225b1e60cbfcec04a1bbd9f2ce5c0385f7fb9f0131d0d4adeb4d93a55988a8d24c7aac07b8ea7b6c9febda57b4ef2503b625fc594f368cc4e51644ab04f74c3013bbd2f1348c0b174e8bf6c2c4a8ddb103a1016b40cc19543d0508536d99dce9a1969bc62a47cadbc09123dbf3809d4c4003d08897a0668d0cc7a5321bbafa16745901aafb9d6883f8747eebc28e9c5120ea03d0eaa749b921f85c88c1006384477901bd971ef57690a4dd7b9281e0710d079603937843b1a8c064c2f1fb2f1b32f989340a08855b6125af2b7f9b8853ae16d162037c9297501eadab702c695ab9a68ebd278d053eef9a48d90c8ed3f0280ba8a2f803fcb0da5c34c80a61a140ae85be52bd2b4c4f17ffdf67db02de860b4a13f7cc4f034eaf4442163c801a5f2c8e537a9d66d202066d15aac7918487f7397f7a72b0a600581f02527b5979646f8143a39ef95c5d8503745ffbfb44907e76298ff10c142588492402fc61516f890dad00581f02b082a49285424cff55e31089df656b9b94af3530712ea57d20264a8fa3694957a8782db67649ac0000581f029ed36458814c3f4351b3af2c8d6e700118da5137a4d7c85dbf2da84c5884490548cff353a2fd000000581f024ae503b47c584b769d2fa3829dd86833a5176e5830fd1e5dd41534071cf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028e057a3ecacd3b381a1a9b433f69718bb88c1de16b45839533bad51887d4490439b4fa2d96c3d7a000581f026ab1a0e65839068e5a39d112edb2cdb53b70a225fc463ea226ce690dac195820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219427103618868436a9ea6b497cb8b09de162ac173e4988c0b6614ea321b322cc3e4bc1f03a6499f8a86f305c153417c1a785598cdf601968ecde2dfddc444c2519da2f90f039d72bda3cdb83576aa5fd87d5c10fd9c1e9fc880823e12c60cd7714f5e6adeaa03c61ad2e9ae3e070db4f33a2431c9398cea3b8e9c0ca4b361d45d3e083a8ec5dc031197a3c83d6de2e622cf51226e5b61c2e52d2ac5d76afb26872acef3981b75ba0380d5d3f9dd192b3fa3d20fdea8643353215a09be04c5d5faa8bad36c039bedc9039ef6c8a4aa6a976f28807011b901c75fa5fc04a56cdf6dcb227ed9e443a8c35003182a45e50fbec9a4a6442b7101d7832e466bf81a057b6989486637fab4ca267503bedfde02731a1d54ed030c15d0419298058c3d12115b974daeaeed7d0193bfd60219ffff03b056884e14ac835b5e0a543a09125dbe57f35ac4fac9a5557592f307844479180330996faecee043dc959825f2a69ccd364456ab8eeb5a61bb7cb24a417658793a0219ffff03fedc230663de9ba6c3463dd88e4f3b729565176cf5d3c909e8be095fadd8c8fc03f8980d6ef1ef3e9f67a514f40821d9e05092d071d80febd27116c3731186eb6303978bc0e42617cc1f8d4382f3e618d9afef25a10537c1bc7d33c58465e9116e600339568f88b1e33cbec415488fd56027f6bb7b1983f5b344333d73d349f8d26ab803d8204623466b78c053864549ee004961872ed51c675eb49ad729baac5fb0dc550354ac3fd40c90484afcaae0cfaee52315f63ed9bce5334fbc1fd046a5bf57b2c5039cb838d57764c53a0641463fd5a011142759f82f959771665e1de8b9b41f92ca033c6cb3a184c900886208d1040cd3f0e33fc25b0c45ee06c1bf11136c8403ac7f03bca1e2ca15d01276792627a8249460f70f870bd48e39821c133001e2e186fedb03dab532f459dbbffecb226d91436e9253a8a427e9aa35b962833307dc947aff35039689c44b5c5229110e047f79b421dcb7186f8bfbf9b054c20bae98e3f3d59b56033dd5eac3e00da545f960a2b47af9f5fd34a377bbe7eae4895bcbf7d8abb7751b033e00db56b943034cff9f656a6d41d6f29e417472a07ee5926ca39a75710cd3b80316a43778d7bf3123bf9224f3ac181cd0e589d4f875cdb87a1dd8b7c32bc2de4d039cf6ca272f941eb2af556c92aae8903216947b52a02fad3262a7b5286e968e8f035c428b35659e73b369b94d4327be2e7e951a7168892ce5064ddb507fdeedb0a603a04042175ab5d2c354faedf1371e61f4b1c27b17915d8762d5fcb11a7caba61503c5efea2b12f2e7c7b9b6a9dd12deb5cb38d5d03fa3ea0181d224f34dc472da8403a5bf8fb78716e7866b27d774cdbdf8dd1691061460c9637204afa896f35623a003898b8e1898a84b04731f525c47b0ce445157f7286a88c6f784af12573d1d08cf038ea778f24d555eb168abc8ee01ec85a1e7fb3ce70ef53592014c9cee595e4b0703b2e205ab64e3bb9686c7576cb73ebf25ffa624e73fdb00ceea2fa1a6a7d27a6f00581f029493c4e5781c749311f5fdb95e2705bd339080444f35c258adbc1393195f493752014143e6a0000000581f02a596ec0cfba161fb34602ed55d7d302559687e5c1960e417cfd7a3336aa55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f029bd0136a3534931759af911695e7cfd775d05d4170e46fe5e894068497ed4930ca024f987b90000000581f03bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8042010000581f037508951ffa635b074261929ceecf83b76d0bdf72206c25da921505439a505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219808000581f02362f4be3b44bbd98f06857acc7623f2ad39f7efda56d2720de58ad70fd4d4808f12e124f8cc11700581f021d2152ac5bbc43390eeb0adbce3ec0cc9653e2b601f059581def1ccd25ac490279e08ffcec635c2b0219a486038f9f15e0ecfce8aab06475e3aeffb49db9add80581db567fe670881ced2f14d003f978a2be2d52e14a8d540ca33dd754bf3064453a384ef736f4afe3d0a3bd10150307e0f81fe83a28b3e4c0fed8aa44b7c1d968b0e5583ce7ae7df5f7756828d9e103646d0ddac88cad85e56fbb3dd620d4f68c42eb3cb092831d5f79544238fd766303edc20d6e726424bcd0aad4e103cf534363713ef98dddab6a6a91f965ce3a2ce4031ab560e7d80532ee8452ace6c1a8e5412182f584d8a906065081bc8918fe9e3703adf176f72c102d8e4236504972a21796f929e757bd64bd80463af5b69193e239037a74c66de53f9d20b8071ae862894e8d2f8ee19e224bb8491e5dd12712cd79aa038e035bcb69266f6cdd1f6206598ede6381c2a5962eef221e16130e9e75721c4e03bf3d75e2713fb8625eb39994131a2005315e5f4a1f1068efc815a7565d27d6140219ffff03283b048f97fc5186f144b2a553bac6cec774a5065e87b7839cd9acbea7d8f84a03ade5b4305e1accbca6bcf53a145789834e938f0f2e2d20c541fe2c3ee47661ab03866c7978575c4d5ed28aaa4c14231c596f9dd60064336a07deb1c077a647ae1d039a08f89ada48ac9d06e6cc39ffa507bb557ba2210950585b9cfc572f4369d6ef03534a80acf69b5f570cc9751ea2610c76c4be15344c27f335f34ab3a997d624d60357e4053faeeafa6b51ec414784462f35b76fc70d6b04a57cff17f9a2227ad95703aec7f7db6154a1a74d7ab198455f24de13ec7f9ab1c806f5eccd2ef66b0a34420381956d505bf641e7dd4444aac1593590d6d336e3ee574dbefa7bfdda72b776a8033f82462f5152456b76583650a4d1da709c0d1d481e94dc952031feb635dcc4830219ffff0331733e48006f326b17df830f7a6032706107d43f480194b4713bfebbd10f992e032871b59ed9e6583a243a40fbadd99b9ada755cafecef43d1e8a0b5e6db5d3ada03f09cebf9ed1170e1ff8850097fe8ac0a256c30306cd939de400a003e487be56c03d46d66294290e1878903c90147bc5f5a02f6ef22ccf780fe29327548322a853103feca5fc62a39a228225910f7e9fc14b38a3fdab421d9af11886766d84f030a39032d386b383351fab2572ccd66e048c55e232afa10c6c6ae40613e98cde16d245f03aaf79fdab9e8c3cc8288870fe1ddd7c06cd129286df2b170a59c9f43cb9577bf03e9bc855d485b91b2e5add7cc598c0a49dfe161e2feff30a8395c065a5819e55c03a76f7bbfb0f473666891787b102d5594713c6c1d8e2d9ff8a075daaa2a92c91003ec0662ace24399d0cfa08fc7823a0625d1af8b2e702720ad4bff4613d42355850373f8aca0596f89a2d0be4c166363dd5cc212638b64683495e2210815adabaedd0374ac442e6e51c02e5e59e9bb6dbdb9f52dcb1110b0e3292c223be31926f6f6f803f1736acc8eee1f47f61dfec167d812533909a078f95757ab71a4940757da10ab038040bbb83c679394ef1b98a8fafb70dc482db099e634a1280e4edaf11db4ad3203cab404fcc7c24cf99a48ac0febd6a48d1d20e488fb9bef7ff7f16793e3ddf93b036dc6fefa2b1053872cf881e3eb3afc834eb939d442b29d61911099bef22ab28b037ea45e93afa68b16efa1ac73406065f7907deca329aa4431cd0259f7cd04763303634644508cfb2c29dc0a8585532b73cfb244ede49a5fb712766f31b7bd855bca037423b429e7185fa468fc71c8196dfeae11b0c9e4f2f01281e5408091d5c7e88703b6dde090a338aecff64b672c14b84ec0d0b8491509458a7343f7a850e441d9e0032f191847d223d0ea92e26dc4526db971938cd999a9f001e557add674cbefc8f10307ae57a098560bf3a72169d63c844542d791fcc6c988d0430cc1a2d42d28ddd7033f22e5933302aa4bafe71883d11553ad8ba310e0dbd6329b8c5fc62b20b93295034a496bdd776e8454891b8e938cb61daca6f01d6755b8a2f0ccd842389c469613035d6cc6e9abd110eb405c58b843905ae01946ba03a9b071a96baf659afea16a4f033cfb2d41e4c9330699d735f064f61ac098221e4a1ab87153bf93a3ee5710a8b803002ac991caffc4fda6f771f8ecea02139827f691e0dd19ac065746781147299c0356cc1ecaf8ab45433e49a9b7cc086f438995592973858f49c7cba139ffc911ec00581f025bbab9d6a7ed83fe7c0370e7ca9e633a11c1ff1c089ebe09c17aedc9fe1f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02787db7277c394cb4d51e65b8e74cb4fd936e114fde4a3cfcc129c32a67d84906f05b59d3b200000000581f025223fdcaa9d9237b2645777ce2a3d662049e293b3442c35d6a69275373df5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f027f67431e68d2b68114d3420bb2399b44852a645ea8bfa7d951b3ca7a9bfb49055b2c3d164d52b220038184779258d28deb4dc8c0a53910c70b585bc6b5f16bcfa79f9eb05d9194a09600581f029745195df18924ec7376198c6b6961d755fb3726dab49ac924c607c187915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02199d500386484e79a08d0e5755308615813658ffb0c12ead3a1dc39001446cee81c0e2700219ffff030b9e60db22dcacd1e10af95f8640fc91250d9575244d25216087c12e6048b0420316d5039c2fc1b1dbe907a709b97c063bb4becb261cad072b7d3b37db88eee0890219ffff03e90f148605da2aef7cd849fddcd0cb8a8dd7caab1df000541dca0429c3759192036177455c5834a007e8526ab6870fe9db310caa39edbd059d1ca5f0f7a5facd320219ffff05581e03126bb5add3fe60340f7e7ac7864ad16a291ae81f458e3df973cf8284b0070119185005581e03c19127a0f551f668378fc9cec9ef57f322eda0d4fabbb64c10294bd4600c0646d93d763de40005581e03ad704c4c7897a98d29184807757c2c8a8181ed824dfe869fd8bca1f3800c03470723853d1e680005581e032dbea3925773f36c63f047a84405c7ff8441fbb92a3f1d048556d001c008471303970917109002199ee803a812a9b8d21a784097e3f4099cd693e7080913280f16e9dc8cab98711995c6020388a4430a2a528b487c6ac72afc70f3c985a5d8d7c83098bf0601adab234c38020385996b4059b9e4f2864a0508556ca8d913d3bbd8fd6661f7a6bf6b83f4a74da503d3afcc89a8604e0a54154806c307f536da6bc5670281f22fcfa819eb912f6d0c038c11a80db2f68688154b01d5f98d3570f86484d7123e43744e17bdf37b7a1ab103df24b8a7964e9c5f0ba969846d46c4d4dae1627304aca3bb4137eb53b93aac1d03cf383c64f4d15a57a3024b5f10fc1027a465a7b4dcf763e10feedb84b7502ac2036f821abff806dc471d865ef84233f9fa3a1c67406df49fda9ae51d15d4ebda0703409008e2dc0494f11030eee260caae27aa0116455326a9862ccda29b61938eea030d387cdb401486f6e5deec4a7f922aa4992436f4ebb22be16909b6ed3187ba5203441dd746273b97340f14861ded41e1aa886cb89994dfc8e22b498bcb0ada5c450315c650cddc886edf8969059008aa2fe53f401b28250a5421fc5817b5825f1dc0030b9638d0a48f1cd346b38c71b16a92a51b37e50758d4cc0e6421043b2020a93f033bba1b09589d159935dcd31c414eeaad5efddfb4670eba3816688283c4fdaea603d7a24a3432bc3b3dde9ed5539a1ba25eabdd90ac56f0846226ccf9ddd3e280990219ffff037da53abf1f168a58c19458c0f0d797feb6cd38768d7f72ecb41fc2d2c9565d2e03ac798ebc78b6efee2749db29cf3acf2011a2ac04c01c4a2c7b563e0ee876180703402903f69557b71425b786d1e55385626dd4c73eb96b73276c511b1c1dc184840368db34785cb26dbd9520596fd0ab5945a6a6fe210482bb158968fb6ac7f7b03703e3dfe61760e87c4ab7dbfc1f2671e15463eaa6165914b3259447e7b8e2b42ccb03ad999c6400540f331e819442834bfd858e4dd4b8427da4b25afcfa19f09663d6036b53d4938a689ad2e8efd42e371687c1921bfa8eeaa1e8ceccff7764b3798e020385d4df974e455335062246e8121002c0bc0d8156d803095b4a9950e090bf40d503f2eff741da0a56933567fa899753e3ed8f8369efed2540f04428f1d7bb8c926103bc40ceb35aa2afc29498c80c53815567eee5b5dd394467cd73d5c9686a4d45110219ffff03e3cd5b7dd1797966d664628c1a926d80a871d0f8863f5299cb4048b065ed6d90031f7619c95908dc083130c95821f1e8a4549b820e3412c70d2879a3b55235c26b03ecf1439ac4b2fbe690b126079fef94c1219c632749bb03f61a2708747111595003edaab7bd93f357b1bd4d361733e9364596c40c8c3fa2b478d9f5b377a0e044d40219ffff0334377a702cef241f5ec52fd9bd217c1de863889823272d2b080996389e18fe3b0344a544512d5f019b33f81df8744c58c3c3e154f3148a5286a7572014c79c30ba0385a67d570612fbba1d82c9c8b5d680baf6754a64fa9f14563f293ba74fda871c03a80219f17c769e79c5a0c6809b50cf0b7586f70ae4cae47ad24d3cabe6bce37c03d33f228dffa6893840d88f7767ccf834b3a9e0c12bf5f8ce1956e504026f64a3036958d04f588633935702979df5105b0b91a169dd9acc7976e757cba630372ca00343bd5bbb96f7a02ebe3645c7894252951316e979a278587f933df049d5a56059037cb102f764ad33d4ac61a4d02f62003d54e4ef253810935101f485236553ee7c030dab391b3555a24bd4ec8fd44465e96627ab82a0fe488bc4fdc27a5da42d262603e3d3a4a79e7958a926348e42bc936aeb51977a960a5a632c07b1550720979b7503684a8f0541abcff89b46fd6274bb0bcf17b38626b29a3567c4b381d71eb67f0803e743dec8859fde825c1ba9420918580af0086aa50c61edd7dc3c926cfc8a335d036f5f63e7a9e7b531a4d34c4a3ae629b33ee8d15c96d760a848b123feb01a6d0503ed20e2f8980788125d5cc3264cf0c2f9bd0929b7395412969a5f7975ed1e12e103434967b99f8634d1e90b4425ca1513009d8c5bb362d13207d7b36fdc7cd5dc63037e4469ffafb3294a25fe09cefe37730e34550cdd538e99ff41dbe71864d4f0e303bc4f328683bb77ff05392f50243a9748c4bb497980be607fe31b57a6f67d067c0377352cdf3df5a47ff2cc1caeac6c4398f5fadb2245e0bf688a6864654f9f302403a0ffa725377fec8c8bc8d4cc52c8ff2f01930bcc23ceb11f07e12d1f6722a43303825ce7c8e362d8d173be262ca3d696ce99da427e0a39ccd4ca06a722acbdb5dc030175daac7e6877181cd20e9c9593aaf2838bb3dff1a864177eca6f3341dc4d790369054f58e5a7fadaf4b4c033d4ef28b0478bb989c2f9c2026ce38db5775b0ccd036f7de1d83e6ab46e2d8f7ee1a73510697b60b7484617a57c6d306b44d63f36df03a318cf8137f8270f9c090f999e9ce18e30bb052a2a673f876dd7cdf0dfb26f3b0330384b3f3c42cc72407b03ab95c2ee1ae1432d8e16527ecb53fa61e2d8db0ec7031983af88f5a91376770c481cb863b88e8f948d011c900d8e43bbfe3a75b24af203637e0698a95d6433b8d249de32bfd1e75d9521bd4c02818722300d42440974d90321792825e157da13d6f96f2c76de1f1459fb36a9b4fa993b6fba1a0c9bfb954003db95ef649db9ba96f66b298b53c1a7fcdaf35ebd949ae1835a44ef26b5633e7a03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0309cdf710a718c683690998aa3d712cb3a02ac1271b5919f5ce8846991007011bffffffffffffffff03792a9e620abb3a2a6185a79d2df310a1a6977eb3fcca3eb8a8e940e5311d20be032b1575cbb8c231983b48969682be52e4cfaee844a04bec82c5c80033e5e49ca901410f05581e03d94d6f86a0c4de7410f567cb94c5aac0baefed101ff6d7fb31b379f0d0040205581e031043e7a5677354f2f16c3e0ab2b4c62ab9f032a805e75cc743820e7c400c0247146bc68a2b400004591607608060409080825260049081361015610022575b5050503615610020575f80fd5b005b5f3560e01c9081630986bdd514610dd1575080631d9671c314610d3a5780632ce26aeb14610ccc5780633ee5ef1f14610c10578063462ebde2146106265780635886216f146105c5578063715018a61461052957806378e3214f1461041957806385eda2de146103295780638da5cb5b146102d7578063d7ff8a80146101985763f2fde38b146100b25780610013565b346101945760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610194576100e9610e7d565b906100f26111fd565b73ffffffffffffffffffffffffffffffffffffffff809216928315610165575050600154827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b509034610194576101ba906101ac36610f4d565b95509350509693505061106a565b9060c08101359362989680928301908184116102ab5760a0916101dc91610ff3565b91013582810292818404149015171561027f576101fa828286611131565b9382156102535709610211575b6020925051908152f35b9060018101809111610227576020925090610207565b6011837f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6012867f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6011857f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b6011877f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b8234610194575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101945760209073ffffffffffffffffffffffffffffffffffffffff600154169051908152f35b503461019457817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019457610360610e7d565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000798ef9b5e2dd6cfddb1e6a3e09bb6e4531492db11633036103f157165f525f602052815f209182549160243583039283116103c55750816020935551908152f35b6011907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b8284517fa4544199000000000000000000000000000000000000000000000000000000008152fd5b50903461019457807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019457813573ffffffffffffffffffffffffffffffffffffffff81169081810361019457602435916104766111fd565b8261047d57005b801590811561050b575b50156104fc57508047106104d5575f8080809333611388f16104a761124e565b50156104af57005b517fb12d13eb000000000000000000000000000000000000000000000000000000008152fd5b50517ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b909150610020925033906113e6565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee9150145f610487565b34610194575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101945761055f6111fd565b5f73ffffffffffffffffffffffffffffffffffffffff6001547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b82346101945760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101945760209073ffffffffffffffffffffffffffffffffffffffff610615610e7d565b165f525f8252805f20549051908152f35b5090346101945761063636610ea0565b9398965093965050925073ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000111111125421ca6dc452d289314280a0f8842a65163303610be8576106876113a4565b15610bc057809280917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff95868201828111610b94576106eb907f0200000000000000000000000000000000000000000000000000000000000000918291858761147e565b351614610910575b505050829481978585018581116108e457610733907f0100000000000000000000000000000000000000000000000000000000000000918291888761147e565b3516146107c8575b5050505050810181811161079c5761075490828561147e565b3560fb1c90600c820286019081116101945761076f936114f9565b1561077657005b517f4b576069000000000000000000000000000000000000000000000000000000008152fd5b6011867f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b91939750919394508689116101945766038d7ea4c68000833560e01c818102939181159185041417156108b8579161080a61080f9260a08c9695013592610ff3565b611033565b9283610848575b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9250019301905f8080808061073b565b851692835f525f602052875f2054818110610890577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc945f525f60205203875f20555f610816565b8389517fa7fd3792000000000000000000000000000000000000000000000000000000008152fd5b60118a7f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b60118c7f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b9194509150620186a061095785357fffff0000000000000000000000000000000000000000000000000000000000008082169160028710610b7f575b505060f01c83610ff3565b04908260161161019457600285013560601c9160168601917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea850194839580988860208d013516957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe98401838111610b50576109f8907f0400000000000000000000000000000000000000000000000000000000000000918291868561147e565b351614610ac3575b505050508560808a013516867f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216811480610a95575b15610a685750610a50938280610a58575b505003906114b7565b5f80806106f3565b610a61916114b7565b5f82610a47565b929190610a7f948280610a84575b505003916113e6565b610a50565b610a8e91866113e6565b5f82610a76565b507e8000000000000000000000000000000000000000000000000000000000000060e08b0135161515610a36565b9297509298509350357fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008082169160148610610b38575b505060601c9260141161019457602a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd691019401955f808080610a00565b908092506016886014030160031b1b16165f80610afa565b50505060118f7f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b908092508660020360031b1b16165f8061094c565b60118d7f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b8888517f8c331638000000000000000000000000000000000000000000000000000000008152fd5b8888517fd25aa106000000000000000000000000000000000000000000000000000000008152fd5b50903461019457807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019457610c48610e7d565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000798ef9b5e2dd6cfddb1e6a3e09bb6e4531492db1163303610ca45760209350165f525f8252805f209060243582540180925551908152f35b5050517fa4544199000000000000000000000000000000000000000000000000000000008152fd5b8234610194575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610194576020905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000798ef9b5e2dd6cfddb1e6a3e09bb6e4531492db1168152f35b50903461019457610d5e91610d4e36610f4d565b955093505095949793505061106a565b90629896809182840293808504841490151715610da55782018092116103c5575092610d9e9160a0610d9660209660c0850135610ff3565b920135611131565b9051908152f35b6011827f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b90503461019457610de136610ea0565b5050505050505050505073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000111111125421ca6dc452d289314280a0f8842a65163303610e2a57005b7fd25aa106000000000000000000000000000000000000000000000000000000008152fd5b9181601f840112156101945782359167ffffffffffffffff8311610194576020838186019501011161019457565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361019457565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc81016101e0811261019457610100136101945760049167ffffffffffffffff610104358181116101945783610ef891600401610e4f565b9390939261012435926101443573ffffffffffffffffffffffffffffffffffffffff811681036101945792610164359261018435926101a435926101c43591821161019457610f4991600401610e4f565b9091565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82016101c0811261019457610100136101945760049167ffffffffffffffff90610104358281116101945781610fa791600401610e4f565b9390939261012435926101443573ffffffffffffffffffffffffffffffffffffffff811681036101945792610164359261018435926101a43591821161019457610f4991600401610e4f565b8181029291811591840414171561100657565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b811561103d570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b908060031161019457813560e81c8160071161019457600383013560e01c9080158015611129575b156111125750505f915b81600b1161019457600781013560e01c82600e116101945782601111610194577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef6111009301916011810191600b600e83013560e81c92013560e81c8101906112e3565b8181111561110c570390565b50505f90565b620f424091611122914802611033565b049161109c565b508115611092565b9091828202917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848209938380861095039480860395146111ed57848311156111c357829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b60046040517f227bc153000000000000000000000000000000000000000000000000000000008152fd5b5050906111fa9250611033565b90565b73ffffffffffffffffffffffffffffffffffffffff60015416330361121e57565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fd5b3d156112de5767ffffffffffffffff903d8281116112b15760405192601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168401908111848210176112b15760405282523d5f602084013e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b606090565b90919392814211155f146112f8575050505090565b829394919242101561139b57849291925b61131f57506111fa935082039142900302611033565b9060039085821161019457823560e81c906005928784116101945784013560f01c8101948542111561137c575050907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb9193920194019384611309565b9250936111fa9650809550849193500393429003029142030201611033565b50505050505f90565b483a03640277cf2a0048105f146113c2576064604648029102111590565b64183cd7f1004811156113dc576064604148029102111590565b489060011b111590565b9160446020925f92604051917fa9059cbb0000000000000000000000000000000000000000000000000000000083526004830152602482015282855af1908161145c575b501561143257565b60046040517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b90503d15611476575060015f5114601f3d11165b5f61142a565b3b1515611470565b9082101561148a570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80809381935af16114c761124e565b50156114cf57565b60046040517f6d963f88000000000000000000000000000000000000000000000000000000008152fd5b9291909283600411610194579069ffffffffffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6004843560e01c940195019316925f925b828410611554575050505050505f90565b600a9082821161019457600c918383116101945787013560f01c0195803560b01c86036115875750505050505042101590565b95929394954284116115c65701949360010192917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49190910190611543565b505050505050505f9056fea26469706673582212205430c44c5fe34972cb4f2595e568f20c54bb9b66c75864ec1431738b3954cd4364736f6c6343000817003300582102b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65411799622f4d98a24514011e8527b969f7488ef4705581d023cb90df1d205148cf35e25e94f004e749bd40415cf93a59b47ca32ea070219160705581d025d1acc7f6db76b9b6be0c72c43ffb2ba0b527744c5f2b1b753c1dfa60c024709b0ead9375b170219280005581e038837bd431e18cc4294de1a6c6afc49568256d178c9177d33f6b0d749f0040105581e035c5c076b0f5e92b0164cc35a4a318a91e3e6fec1981643a7b087800dc00c03470187a9387f7e8805581e033f22a70e79bf6ba867d5e56966f39452ca3d317f0c1f93c2d0b2125ff00c02470113aee4f2541403114edbee338cae22487a47e70fc60e3dcd72b7c05130253ce65486927c616ebb0219ce9f036aa50df036f0aaecd58e5b1c66b49c96f63ac7d4e1c1272700adc31a3d6b2b2a03e0dd47f97aa788c2faa797f768ab2fc934a52ff209a9a40f4339930accaa00830389b00c29852414b2201703e65d39f3cad8f9a2df0879e76db022e233a98fa61f03cca462f56c8d73813ae2cbfc16f2b662b53f75cc252ad6bf731423d73669e48d03a644f3c49875d022938af60fc9e075244ab540b4dfb1c14ba175f53bc5ade7520313927f3cfc11aee03486a7b89e76ecfa283077f63215e560c4e2823fcde672f60219ffff0352defe81244bc7ee81759a757825fda2dcdbd07ec1aee24fcad00c757c185356036020ae293b1b38abc3ac98782e022c3770f2798ecda5973771bd0323f0ece405033d7b89c64e956959b81a2651c1debc3ffc4983b438d596a127bb28dc41dc296b03f14e3300eea7e7e77ab9b740b302e970013c763e0ef38c613ea14cab2c9568e70219ffff038bcd71340340f9b812af78521ea70c20c3d57ed4d14b77f8c91ae706c969e2ae03728739887fbe84a6c16681e7eda84af8f0c685babf601108f2e9150e803543e903eba60b4855ddcdac8608b441fae322940ef536a12a649c9bb7a7ceecbfc9992a0315e8345332adc4606ac0912451edcaf3ec0c1be2a4992417db7a5cb052e4b4640376694896f0f1ba6b3c2ea6b13b408a5342aba5f1e93430f2432577b9da53b4bb03a5ae4dac89add22787bb878dae8c2a26ae71632b6d151b0c4b07887c3acb65a303c871d6351fe844fbb8190241a1a977aa743ba3f4a0b1a23776f8b96d4575524e037af25ec90889b70101c7ce97d308cfbc1ed13b1efa27af5fae2c7d82a90a643a03c971f519a3dca5fcb8f01ba8fb320126047c7374540f7b14b0c606ce844b6c07032f5abf4722053198457f8b88dce0d3866ecf727aaf83137a086b6d520209b10703416fade94e99f22a6a51a7634c9a80d1668dd491257bbcc35e00eebdfb1308830219ffff03703e8f6ff55f6d6c5e8af6e0b221ea775310cde9d946ae346e972ae0b6a0a6e80325a16e3848f47c5a2d8b919e28e7dc52e74df3d70ca1eb41163ee1c9a85c8bd103cb620814714e6dbb9e295800b1a6a852f4814349839bf60f5771343875e5f75403b3737f4cb54c4b3333f0a339e9e9ea221de2112c701dc685ecb3874e697664e103fa92b6cdb04569966f4ea0dbac2fefc92fb30703850b853ef4c097c2a70ee5e103d8da817bd884d58896c79cda6f304a7e9e4d9b206245178f9f04fce47672bee4030bef8d4f85690a42bfd0661c507f8fa00b0a2fee4e8792554a0f3a9b71ed1e8703b87f73c52509242bd2ba9ea53dcb7a4b02678b83e30e05f01cc6233a0f6588e4033b19b0cfc08ae8f63ef91f1ff807a8604028160034ddecfc4b19d84b1c2d224703f62fd493c2dea28070c83bd4e715c5c02196f12309bf6af53aa957453f8fa03f03a4b06b1cf434d695ad6ccceacee01013d1a095703215c83d8a51ad2900fb8e18038f84c09270ff23cd885f56ad007b8281862b9479e070faf41af8d7e55c46b16a039c5f45b846519c5342ddfafdaafd2440e2125f5d5ba5749ea578cfbf807bdcb0037b0c0a4174234469aa78ea4a68c7881a06810e352e837c18e184b407d01cea8203e7f641ebd3f726f6e6eff9272c483207d819a49770ba04b1334a7377eabab6a403613e1e76905711f25af9a9a0d4809a47d258f84ba888c95e5faad570123d4c33031acbe81c61ccc905aa21b01a19ed016f2482a4b285369c873fbfe4468b8d72a603f064e2f77035d9c0d06f4e2fb40c6b73029168c2e18b7723992bf75584c36e0203b295d75e8a1c976107268e6dd0075aaaf4697c71b388f02a078994a71abc90eb03bb761a267dbc0d43e407fcb9a32a4857b6cb26191f33305b3ad2b6c3b0fc29b4033aa0853838f61187d1d3f5bfcf31190ac71d8c8a34c90a6b772a8be4bc656927030138f4829ef2122080933c55ce9d8880bde8c52f8507a75ab7651cceb209e9e003be742bdcce67b49e1f9234eb0774d6f36e6da711730e3490e61e09a1dbdc579c03202fa16b657243088050abd278b2ce7ddd8536cc6e0ed82de547dbc9af9900cd03aa750c64f4dbf5badd01fd07c8d17e3666f9e3dfb8356093b5c58aaa4705184c03ca357f1c8e513cfa7f25108d6b689de3db8d769b23a69505fb931b5f08803fe103e5dde7abcf508b939c33f275bec53dada63d6d45c8ec824d3b4d3819fe3f0d92033b469fb3e292cebe7490af00c773d540af6bd65e741c221fe5c82222dbab7e970306e75c722feebbcd86336bbac2c9f0b57d70d6e83fa725923cf2c2c80db8c55a03ad5e092b69ce29ec3210d1eed206dd83f0a68c8f722890419f92100cf1559f1a03409ccf5b6c6c20a81e038ddaec58c1783d24eb8079fd6d8939664ebd51cfc45c0316ca297fe4c577867d34c5ac221cfb49468602e3555997f60a800aa57cb76d050346498737c95eee62d1ecc568dcb9d757908ca109eeb652020c88f25555e8d32b03f71ae3a2960e797d23217354feee9ab7626b1b503a8f0a90e129393b9bcc690803d85cbf3dffb608f435f84e9b0b2d111959650a170d5a31be62d3fd41d0dcc4e9036697c4b0f58a60763ab51cf6f62b3b0dd1926a96e8e256b8a94015aac63791a305581e03d5c6e463b521fdc14e0792fca4e78918635a6dad764b0e9ef459a322c00c01474e25d2eb0898000459292e608060405234801561001057600080fd5b50600436106101a95760003560e01c80638f32d59b116100f9578063d6e4fa8611610097578063e985e9c511610071578063e985e9c514610934578063f2fde38b146109b0578063f6a74ed7146109f4578063fca247ac14610a38576101a9565b8063d6e4fa8614610878578063da8c229e146108ba578063ddf7fcb014610916576101a9565b8063a7fc7a07116100d3578063a7fc7a07146106c5578063b88d4fde14610709578063c1a287e21461080e578063c475abff1461082c576101a9565b80638f32d59b1461060d57806396e494e81461062f578063a22cb46514610675576101a9565b80633f15457f116101665780636352211e116101405780636352211e146104f357806370a0823114610561578063715018a6146105b95780638da5cb5b146105c3576101a9565b80633f15457f146103f757806342842e0e146104415780634e543b26146104af576101a9565b806301ffc9a7146101ae578063081812fc14610213578063095ea7b3146102815780630e297b45146102cf57806323b872dd1461033b57806328ed4f6c146103a9575b600080fd5b6101f9600480360360208110156101c457600080fd5b8101908080357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19169060200190929190505050610aa4565b604051808215151515815260200191505060405180910390f35b61023f6004803603602081101561022957600080fd5b8101908080359060200190929190505050610d61565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102cd6004803603604081101561029757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610db0565b005b610325600480360360608110156102e557600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ef1565b6040518082815260200191505060405180910390f35b6103a76004803603606081101561035157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f09565b005b6103f5600480360360408110156103bf57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f2c565b005b6103ff61111c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ad6004803603606081101561045757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611142565b005b6104f1600480360360208110156104c557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611162565b005b61051f6004803603602081101561050957600080fd5b8101908080359060200190929190505050611239565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105a36004803603602081101561057757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061126a565b6040518082815260200191505060405180910390f35b6105c16112ec565b005b6105cb6113be565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106156113e8565b604051808215151515815260200191505060405180910390f35b61065b6004803603602081101561064557600080fd5b8101908080359060200190929190505050611440565b604051808215151515815260200191505060405180910390f35b6106c36004803603604081101561068b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050611464565b005b610707600480360360208110156106db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061159e565b005b61080c6004803603608081101561071f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561078657600080fd5b82018360208201111561079857600080fd5b803590602001918460018302840111640100000000831117156107ba57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061164d565b005b610816611673565b6040518082815260200191505060405180910390f35b6108626004803603604081101561084257600080fd5b81019080803590602001909291908035906020019092919050505061167a565b6040518082815260200191505060405180910390f35b6108a46004803603602081101561088e57600080fd5b8101908080359060200190929190505050611891565b6040518082815260200191505060405180910390f35b6108fc600480360360208110156108d057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ae565b604051808215151515815260200191505060405180910390f35b61091e6118ce565b6040518082815260200191505060405180910390f35b6109966004803603604081101561094a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118d4565b604051808215151515815260200191505060405180910390f35b6109f2600480360360208110156109c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611968565b005b610a3660048036036020811015610a0a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611985565b005b610a8e60048036036060811015610a4e57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a34565b6040518082815260200191505060405180910390f35b600060405180807f737570706f727473496e74657266616365286279746573342900000000000000815250601901905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610cdd575060405180806128aa602f9139602f019050604051809103902060405180806128816029913960290190506040518091039020604051808061285c602591396025019050604051809103902060405180806128d9602191396021019050604051809103902060405180807f736574417070726f76616c466f72416c6c28616464726573732c626f6f6c2900815250601f019050604051809103902060405180807f676574417070726f7665642875696e74323536290000000000000000000000008152506014019050604051809103902060405180807f617070726f766528616464726573732c75696e743235362900000000000000008152506018019050604051809103902060405180807f6f776e65724f662875696e7432353629000000000000000000000000000000008152506010019050604051809103902060405180807f62616c616e63654f6628616464726573732900000000000000000000000000008152506012019050604051809103902018181818181818187bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610d5a575060405180807f7265636c61696d2875696e743235362c61646472657373290000000000000000815250601801905060405180910390207bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6000610d6c82611a4c565b610d7557600080fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610dbb82611239565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610df657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610e365750610e3581336118d4565b5b610e3f57600080fd5b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000610f008484846000611abe565b90509392505050565b610f133382611dba565b610f1c57600080fd5b610f27838383611e4f565b505050565b3073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fb857600080fd5b505afa158015610fcc573d6000803e3d6000fd5b505050506040513d6020811015610fe257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461101357600080fd5b61101d3383611dba565b61102657600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548460001b846040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b1580156110dc57600080fd5b505af11580156110f0573d6000803e3d6000fd5b505050506040513d602081101561110657600080fd5b8101908080519060200190929190505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61115d8383836040518060200160405280600081525061164d565b505050565b61116a6113e8565b61117357600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631896f70a600354836040518363ffffffff1660e01b8152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561121e57600080fd5b505af1158015611232573d6000803e3d6000fd5b5050505050565b60004260096000848152602001908152602001600020541161125a57600080fd5b611263826120b0565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156112a557600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112f46113e8565b6112fd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b6000426276a700600960008581526020019081526020016000205401109050919050565b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561149d57600080fd5b80600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b6115a66113e8565b6115af57600080fd5b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f0a8bb31534c0ed46f380cb867bd5c803a189ced9a764e30b3a4991a9901d747460405160405180910390a250565b611658848484610f09565b6116648484848461212c565b61166d57600080fd5b50505050565b6276a70081565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561170857600080fd5b505afa15801561171c573d6000803e3d6000fd5b505050506040513d602081101561173257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff161461176357600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166117b957600080fd5b426276a70060096000868152602001908152602001600020540110156117de57600080fd5b6276a70082016276a70083600960008781526020019081526020016000205401011161180957600080fd5b816009600085815260200190815260200160002060008282540192505081905550827f9b87a00e30f1ac65d898f070f8a3488fe60517182d0a2098e1b4b93a54aa9bd660096000868152602001908152602001600020546040518082815260200191505060405180910390a26009600084815260200190815260200160002054905092915050565b600060096000838152602001908152602001600020549050919050565b60046020528060005260406000206000915054906101000a900460ff1681565b60035481565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6119706113e8565b61197957600080fd5b61198281612315565b50565b61198d6113e8565b61199657600080fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167f33d83959be2573f5453b12eb9d43b3499bc57d96bd2f067ba44803c859e8111360405160405180910390a250565b6000611a438484846001611abe565b90509392505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be36003546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b4c57600080fd5b505afa158015611b60573d6000803e3d6000fd5b505050506040513d6020811015611b7657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1614611ba757600080fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611bfd57600080fd5b611c0685611440565b611c0f57600080fd5b6276a70042016276a7008442010111611c2757600080fd5b8242016009600087815260200190815260200160002081905550611c4a85611a4c565b15611c5957611c588561240f565b5b611c638486612424565b8115611d5c57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166306ab59236003548760001b876040518463ffffffff1660e01b8152600401808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019350505050602060405180830381600087803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b505050506040513d6020811015611d4957600080fd5b8101908080519060200190929190505050505b8373ffffffffffffffffffffffffffffffffffffffff16857fb3d987963d01b2f68493b4bdb130988f157ea43070d4ad840fee0466ed9370d98542016040518082815260200191505060405180910390a38242019050949350505050565b600080611dc683611239565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611e3557508373ffffffffffffffffffffffffffffffffffffffff16611e1d84610d61565b73ffffffffffffffffffffffffffffffffffffffff16145b80611e465750611e4581856118d4565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611e6f82611239565b73ffffffffffffffffffffffffffffffffffffffff1614611e8f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ec957600080fd5b611ed2816125b9565b611f256001600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611fbb6001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6000806005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561212357600080fd5b80915050919050565b600061214d8473ffffffffffffffffffffffffffffffffffffffff166126b6565b61215a576001905061230d565b60008473ffffffffffffffffffffffffffffffffffffffff1663150b7a02338887876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561223557808201518184015260208101905061221a565b50505050905090810190601f1680156122625780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b15801561228457600080fd5b505af1158015612298573d6000803e3d6000fd5b505050506040513d60208110156122ae57600080fd5b8101908080519060200190929190505050905063150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561234f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61242161241b82611239565b826126c9565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561245e57600080fd5b61246781611a4c565b1561247157600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506125166001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461269790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600073ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146126745760006006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008282111561268657600080fd5b600082840390508091505092915050565b6000808284019050838110156126ac57600080fd5b8091505092915050565b600080823b905060008111915050919050565b8173ffffffffffffffffffffffffffffffffffffffff166126e982611239565b73ffffffffffffffffffffffffffffffffffffffff161461270957600080fd5b612712816125b9565b6127656001600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461267790919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505056fe7472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e7432353629736166655472616e7366657246726f6d28616464726573732c616464726573732c75696e743235362c6279746573296973417070726f766564466f72416c6c28616464726573732c6164647265737329a265627a7a723158203851e1a7c34807fd87cd4b670538168e0584812b7d1f4078ac2687a8c6455ca664736f6c63430005100032033136256f33e3bb982e93e25373ddeb9d862ac9d3b1c91f73805d86b4c5a66a5303392b0237b3f148e0ae4bf75c59211e55ee94029573d7be427a16d768a55716f103ab9896f5bf4b7220039f125d5c03fa15466ad4179957e2d5d64f4f850fef5b90037584ebc3e5777ea5d6f2c2254d55e99d699078c60c0e07bde722b4d2c776f531036b4cdf85f6acf5f440cbfa2d15b83bc64f5181f1833157a129ea4680777420380370de1e137c9240f17188bb8682fddd92f2363843280910ed3046be9a3cb2689e0333c8424d55c38cfe7f4d6b2ddbdfa1fe3551ed09de44fc2385dfb742fffaaf0503582f4645f4cc93a1cc63160628d3e9b29914aae109419810cc929d0f5514a27d0362ace3a66dcf6edd8e89e083a84d3fc024702bc97646eb00ecbe64b6d58fdad60390f8d0ecd8780e494c8257c5c026ec38c4e66d7e4e35f49f7bb735be3a1196e503d46e92741c858a2e4588d4a9730ca8bf4189b795e512efadf1c57e27e8393c2f03137a4a4ef77d2c61741b4252a41b9797c682f11e22579bb89f248d6cb313689403731da98ecb3fd2dfa91dcf8868a98bccfa75971ba6e95d6c8bca9e1c80183425032ece7f1fdb9ffe769bcdb01121fd6d91dc76d4abca784258152c7a180ed3c17e038051620a2d54057d353f47fc518836dc1d2cc15557c10427a2b69f6da98af03503aae19bf5c0c8481e49716634f6fc82d28ec6542145a679e8f736283abc25cbad03f799506a4bd934b3d75fb29a578730421756fdf74bd952b53d2be4dd8c5594f4031b06d8a811cb8c12c155a2705e643f85689cb79673a79ddb46d0e04df1bd334503c2b15df35576247a28c0f5072d85d7c10bfb182eef281f491ee016e012b6dec6037b5b77947f8f25ffb49c20c6cced11d24aa856704fcd87480295f107b442674d0322652d66028fd24290ea03b80b3eee1dbf531433a99cfef46079eee0dabe222c03a2cdd387bd945a8caa113e0415f023ee8a72352764a83ed9e23a22244a2836c2039c90b4cb31020a2ad584190ac71152f71034ab4602ddf8722eed67e39d988740038f678182adc8c9cd134ccc5d2afff452edd892cf11c5cff0823ef54944c7ae8303cd49cab99066b2baf71a85cc8b970160416be303de42d012c12b5496a6a094ec032626ce5ff8bfb34c42e64c77c744a4e23a9094c741914185de197004903c138303fd002a96098dfb85e45d281603f414fe9f11e7431e490f18b75fdd94b846f922032e461609a6affcca353ece612031df4fdb124b1e5863bfb2169ddc6569268564032bda15c39fd7b769f04124153793c352b2c2a567a0c49e6782ec0be2c71df8cd03d57514910f89cdc7c2d361178ca06598ff51b073750ccbce93dbb396655b43a103753e75bc2425b62e585f94b57cce7a9b8418cca8181a9c979106431dcdc2803a03493a4d49a35ea793ebfca22a713df0cbaeeae646b4fda60d5f5ba312eb707a76039e8546a00029817e044cc82fac9cbfc5d7b38d33623c860c48574591986b39a903c575d44af6f5646190504339b8de602788ab293ba0a95126915b0cc4aad12609033a3c4f8d0844c33c439464687e943c5b1c258083b7985bcae8c74865be465341035b95c7083af0f29831987eaf60d51dacf4481580315b53720d2574b6a970b554038556e792de1137dfe014e922fcbea7d1feda9687849a1f782da490390893f4a903c65f5a70c97307cb987c31b8f87d571292f69311d1ed8a406a70269e07d8dd3703e7a379e2ae13392cf16b3dd58973ebb4b80c4a36411dc2ee02a2fd1b17e3166e03409390a4cd5cb51df2e67df8ec056d673ccb02d5e33ba5c8effeb347f6ee48f100581e031695d5baa04030fa7937373af58bde2b2e39b631a37ce6c49d56c56d2044689d2bd300581e03bce9ebc3a4dc08366218f45ce154dad3f012d37617e3b8fa7d63c4e7b0542a187453064356c898cae034eaed119e1663acb802182803b02615b545c1150d97e997a60e6d357a456a7d72bc51f2b9f45249f2daadb57003c509c9bcce75251ec34249f609713c322e86cdd07d94586865b2e831b3fdf2400219121003fe003c16ce869fcbbb0d758ea7cfd08dfaab7ca4eba555a77fec0b2b4fee3b1803b0bf136bd9c2d38eda036d25c49488a0d51382c38c7937b0ca646c894d4be3e003c7a28fa7a85f74a89a0e3d180616ac9fe3e1be6345cf15438c0967c312e2076a0219ffff03ab5329051c37b17efaf3b7decad75de289f49d5ae0e525a830ae930e05eb28a203f3bd0d8f928417500a3f3b63cc647abe50495b23a81746eb3ea7b0c15d8a8e3703dae03d15be8a4a3bb8a92bf72f38bdf91b4c12874273744c927161f4f7209c5503197b16f2e89493044e2edf5e6b69c1332356fbb9985a5a69bc8a1d8ed8815af1031317e7e7262946bb9d6507792234514d2867cfe9240e069041e60c602894360a035456131a3551f75c0b007d68afcc584dbc9f43f98b17808c6a42ed28ef8b752d038f8c0bf43f0fbbefdfc3cb2d15ff350da131f31b3c6f176b48a99275015905f4036a4ee45fbf4bd96aecd124653082ede0919f2155e25cda8d13c10686e03d3008037aabd1870cf015a7f5a432470ff762678e286a4ee7e2408168c7c89c8d0c99b3031952e6738ccf69942f2774f3edcdb1e37ea8de3ea561c056bdddef1a14b1edac0391b47baa299a35143d8a206cbfd6e45a2364ba2e6c162d28ee0adab0eb05e78103468246f8cb3f6954ca2d98e39a9ea21eda9d8fea0890f7e5c67ca214b01335df035873c6b40721fbd3fbadfdcccf2a84a963b145a4c2b1063ea85d26a7458f70300219ffff039c6e5e0b5d6d5bd2ab3b7d6b9faed93dff2f4bd0db4a635f603c41a65051cc0a0325705ff8ae23355bf638eff7d5ecab08a3bf2806e014a45ccc0f9f2aa5c529ae03597d1040059594d956894ce82c6e739437d0ed84e61763e887555ba134b7900f0326fd90cbe9a8de8a75c4603f881c79b877f2dfa7a32bf4052d51217f38ef7163035f3e845eb9d6b475e340ca7cbc43a7a1e87a9e9a509b4780fd6b964bdade6d4503e5a56cf60b466fa22fcd1880d18a7f20012b7231b9a3b0642c54255353f0a46e03e8ac4953a801b4566b3318242246e358368f4865eedb0ba16b6258ae2bfaa9c50311110516feb334e1886c894ae5118c3399461bcca0a191ca4b2651ef342d81b5033b39213a3d5992d2361e653699c07fa0f85a7c327339c81450ce339eecc33aaa03fa39a1351da050ccb8c1de655f89f58d94ead68c99fc44a40ea370187eba94ce03708d2943fdf6919662173edd2353898d73fdbbed047d92035eec1cf924a0151b0349aecd170a9f1c5fcc6ee6a61d028d255dafdd6c43e50f56bf09df12e61116440219ffff03b1307639639c3f5d8b0ca351e1dbeba36dec430a7ddcae3c76dc825f3c10350a033c1734062c090e3f12b1494c4216ba6c01a4160ee891dcae182ab5d57c157ec503e253f7974fa4a9ee5fa67797b92d429b61a7928a416afe4d9fe8b4a36ed38d510328e339136577bdec73a998a37c79ca709c697ac1356b07d69e54de6df5ff4ec50219ffff03d8df5b557d75bef5713f9475d510f69ee7df9fbb3698c3ab1980e4f98b99faa303f4392892bdd89b66da345192bbb68d0255852623ec429f3bda8398ef7e4a76ff0310157189d2e5ecd50b73881cd46331c7584b00bc7880c67399d413b25a10554403366401fc02a51fe65b22d63c1ed1451fa684281c351ef5ed8f09c087379d1a6203e7626dcbadf52a1b00bf4a14ecfa232b668a4bfaa160b4d506b869a34295d5fd039ced2849e90a632119eef6aa3550617c6fd30f369d66edd184d9e24eea737e9303463d56d42815ddf5de4e5e6a5b39afc2b0165607a8b96a1b38e05eb30d5f8739030daf65027102333c2b81acc26f5fe24c3d209eaf2f062c872db2c4b71b155f2403a726733a10412a3279fe7224dd0ad07b5deff1f37dbac69c64bcbc2506fbec3d03461e76fd3439901f824b2ee4ff593ea3b5475d2d67d48fe17304ab497c1d57a603aeca9bc95eb836fdab286a2c532d8cc13c4f21839727c4cb468275e18102b573039f715edcc91d2fbf358e0e735607d4f42b549d4dd05e53b90441bbe308312bff03a8a0f7ef198ca75b9727ad0a2c6d54f2fb39496cd9763c7ffaf08a7df5de76ff03c26a5b55e5f6618624cfa8ecc491e0a311e0db1049fbadde704bb4b8f1c4a42d036c2dfb35a5f900712b4d2a71cd8e00cf84eb389a5b2e6b97247dccd9b2fa7a4403d5e9a080de26bbe8db2b0a02d011726cd8a9fd3c80b15e61ba14958b31a6801e03896199d2f8f849260830936e7f7b039d12b30913535dec6b802cd0c6252c8fa103cc380da551edc62f10fb0b6f459c23048866a5b688e68a9bc2c72ba6ed30ee0503b004ff6ee11a52df7f57febeacdebb7fbcaf8f0e9fdc433634486f8de4c5ed68035ee76dce7f925038020024f813f1354eea9e9a58517c2a5ad1d069b127c3088003f445c326f558bcf38a389c4c604b61976ae0da968d1c748970e0d4a5c5a2cf8103dc2873037f27f972299530269300315c2bb1964c98ef61158f1d1e158ffcf1b100581e0297d1fa5fbc2b8006a5a756dd951d72ead33ca37575bf629e48e0aeb5fa54d4416b13d2b3a9abae7acd5d6c2bbdbe2568640100581e0247248ef382ae79bff7b251535bad6e622784f4c2428fb9407f557ec8a8446eb2a401037169dae069341c476709df8823803042abf49cb9df5eee378bd1cec82f9e742601410500581e02c0c53a4b484453f937c335d90fb91c36e4e0fe1e03c9b6d4f733cd3f9c44679cfe8200581e02136d144903d587f0014db17dc6619b7743b29e0a9ffd323bf538893087544d242dd7dadf69e9990ea9e6fb91cdea1433320e00581e02fa1e1f55f3b4f4005b582776c3b86b9506429b33a132129c201a81048754bcbd4885ee8b2b74249c5ad9b8b668fb256a51b102197681036872c4233f86dadfe9c10c1a7287ca161013973195daa4460c092ba4bbb9ba1503a803b340cb5eafed10e827defb2b0e21674b2d77e9f3910239184840275cbbf5035fbd68072d943f6f70f55eefe189496d3d5e8797dfabbea5d350b818945728130315b0e84531ce63a67c4c65d1c371131fad2da2f6c1d7574c2bc5f4928bf6330a036e2fbb34c683938708e5dd0c13a7546d140a8a627572d3759925f0ffc8392f560341cdde0932d49886495f7da32d953dba04c176007a504f726d996bb3fc45eb6d03a900e4981d6c433b6262a1d74db108ce4ee672577c1e3d5b95393a48750bb04e03350f8f9250c75397424efba1c075983657b30a2789d7d01d9e7d41282857c83f0314ac7bd1f36bafb29721c572f99ea42adbfe615ae7e45f7e475ee0e60897ff52034a3f3130fe9529dfa57e0c5aa624b09e70aae03458ff961843069e2f5d9620ba03077ec8f0ff6ca5f1586dc1b8dee231421f0a0ac0929e139bc2a0434a7e2e263203046df9b8c0fc8da6858028427153564c74df72ae39117ba2649a9301405299b50378eec782f2c7ecfa7c352e6033f95f125a05204971c05fb9251af89eb69a19330219ffff03bbc54c7cf6b98e7418f7eb6da026a268a3fc40bebfe83164e17c50de801e2695031329dbf6ebc8ee9f6f81aed287fc8e3798cfd9e29de9bb9603f4564f5f3cfa7503da8b06cae7ba44334aa075e65c754817d90404c12c1e57dbb763717cd0fa6aad030cd6bd1c48fa87c712dbb2d8048df2281683669d70760cd671658d25b15ff56d0331b9125028e54a14f4cb1e66d75afdd84a47364391593bf3ed8e907b4a929f0703578e4ee6c2cf746573c6a372cafafe4da9b151951d5119a42377c5c2a343c74a03620cc1ba3700f75c1d9b5ba47b88a02ee577528c9c19eaf20b4390e01668bb6703541c955bfa169a5d586ad82c26546ba450c0f01d09ac5769f75bf29c81d2e8cc0393bcdd53db7c89b19c0b34a1bc69b47bf28292f6a7359140b4c777a43fa6901a0313fd37d8d69c7add92a56365af35bdc0c92048c36be9f9e824f094e31808ce9f0312c517ddf27f7beccbe0f8e56150cc2e73950bc94647027edf20dd7e38188b0e0219ffff03c5701a33f2497c7ae1c612e3dfa6c8e2931daf3b71bb90ff4475b95f414a81bb0353d939135e2d9a7221ab849f44cd65424ec3be7af9887c63ccb4c7e811c7eb9d0338421a683aa1425c97ae9714a8a7a58072561e9c1606dc872c1f11107cdd7b8503a5f8435f202e7c58c579653beb97be24790d02afd42b772f6b85249d6927f87f0219ffff030e4e30ca1cebba370216fdbc8191dd8f98fef291d65d09d2d1384b4f5a36926903118a8d2d9a46f4e147ffeceaa63377d68fa411dd657d647c65ae63de1ae1b11b03682bee37223b0e5c63b20d2cb2f013c5c8f4083177700c3096488e4192701101034965cf58a9b02d1e34afb232f47756123094ef156bd54d037fffb0fb2ce0929d03a243da175aa8f16e3218df5990286ae33cb5099894fcbc799593eab7108f33a5038a6c2ed94f0189beb233e2b9daa5085b017e779c8d3cbe3efb5823a9a4a97a5f0389d10d91bdbe8b93ce33d7c5778f8bc70a9a1e06c2d0cb4c1d75dbb26982b8be035639153c9a7be4ed85d39082a29a8a59f1067e1d5e7e81a200a5ab32b0811d0a032ee3e338d43a37f6538d4594b917daf5744f6fda4ff4facc2ea6f84fd111ae87033aab2c21fd0b115e679339716aa933fc6b220ea3baa78e9350d97e3d049f1a2103c57e5b5f381eb8f3b6fe0486fa08c81bcfc67c6fbbac9e8554f892fbc91efa2603a48bdb43baf4ce70b52c5538242099d4c13156ae6af2358f6cf52f93674c6a5f03f39759a2bd47086d234c1ca0faa2fbc5f32b24b7debde9d3e6b30ace33f8b7b60219ffff0219ffff05581d02f00dd782c8767c016bfec3eb9cd487eddc065d1fe8f2758eda85699e070119292e05581d022059fa26d2d2112fedd6e45f2ce9872ceb03b7d88984032c4673fc31040602193000032b96a9bb1afde6bf3f9306c02513737575a886865be4a81a4d47a768e6748b4d01410105581e039914acbd2914cb744d5d3ba707ab3793f57884bce954549219deb8d1d008474710d0f8341f1a05581e03327ea9c74a569010835f730f434d836fefc1b235eab327692ae467ed900c024709bbf1c199f20003574963adb24e907b9d1dd28b77da39b541c6c59d76c52279019603c61efe31a605581e03c7819a65c14919deb0851a5eace26e653fcbdfc9bc999f0ca6e214a7200c01472caf104bb8ab0005581e035eb5f439e1c506a06a449a719e289ae955dcec12b964723c676587f520040205581e03207c1b1dcf6e8535dfcc51b8608b110e1e69ccb4ffe6c75713cee191e0040305581e03849712375a84f1add66322f50d88aefc5b57f8cc3d77ef0fddcf004a800c014729ad20b3120c0003a9b9713c47c50d913d64883e336b66e29d6b764050cf4f31e3383af29a3e2a3e02196eaf0354cd74af4c3905dabd3f198cc1e26243e427c52a79f32047e60a60242d8e0a3c03a72d0834c540dba61321820f34c6e47de02bd51d713a58700e92322443de0acf03f7e89a0e8b8d6e3fdbeb5689e5b3feec919ea4a1127a3e17feeb66a864c2638803b937cb9dc77214657833485e9cc5f293ff32e7bec005e2967ccc7bab6bd3434103480262b016c5e279b4dd5eaf52b8c85e854a8199cb49e6cc7bbf1d82eb03001803582eeb19d0353d5562cd1136ac638e9ca5ae483913f5f35d4b7cfda06126acde03ee56bc3d1aea2f9c7bd37e799eedb37e6538b1c33404ec91645843594f68ccb6033223cefeb06bfbcdb51cb8ca739e79c995c0a50da3fe8d5bbb9bfaa4be4cb6170219ffff036212ba840e4e862f7fc2687de047b15309604eff6702286639dddad6ce973ed303aeeedd5eed5cd38a4de35f6ce1bb4e8f84e352698f442ce966d08791d2561f75033e9afd15c7e58baff4c6bffdb30edbdc3b1f1bd3a26113d11fe5f1bc2b7df8890219ffff03f687ba48e6b97c20e5324586e8859a6d39978fbb7dbb275de6f31516084ad7230219ffff038807c84c740eb0f3944d829396289cebdcbccf8b8168c396324c71c28fa32d6103643cba7b23071d4a12ffb45855763828916f1cbaa29eadd3ea9abf0509825b110317992e55c389c5f78d46e393d5942e0a7ff25f4aa578d730a7aa404236cca9ea03f94a58501aaeb30afc49b1c354b76192556b13ab896470e52d61eb3e16991061034f26d38de36bfc4e33d7ae767d0ab18e9bc8c836454afcd871877cf4389d8c0b035f39f7f0046152c8b4d96469ffde4a39587f373db15f663c2a9179bfa75269a60357849106911dc60ecbf010da3c889429ffd8bcff8e00ad37db619e0dc2322e7303641f10bc3be2de0321c82751310f8e5f3373f56742f3e5a11cfea4e7088c2cb503635523c3b83a7bf2a47b6027b36290d4f5c5aff587c3795517ca38c72fa083240362fbe85c70229e6eec1254cfa4a4b89ddb8a0f00137dab36f598ba355569a44803b3c1b95baa781ea1fda620a0fd01a23632593fd3451aa9066a79cf2595048f2e03a09d240aa18a904f878e5bcc0c503362bd1805a09f49a6a3f3a97ac405fff50a0351d3382724045425cdb7208615ba42f46ba647d9248f1fd05e889e3e031cdcd103dc864097e0c0987078280c462322994761daaf45ed35c04ef5807df2411ce61703916fa78493556ce46fa7ebdf6e5c5a36ad8f8cee5822c1a7d1f023f5bc062229038fb931209b177ee5fd85cf8b6981cb5eb97e94c2f0997b63cd6851e346c044eb039f547fa718f2192ea5c994096dfe201ba4bec1bec51ff3ee37a66df8683f1ce203cbf365bacdbed112afe3fe962e76fe5b77a86c40c6352185a54a7be165ffad05035b47f5360987746b997d9e943b4063702c51dfed1785e4cd523ed59a888199db0346446631fe712ed7b16c64c1b1034413cfc18283b8b4add3824eb6e614eaec9203de7fdf005d996a504990704a7a7f471059451aa2d3c3672e815fe835ffd37e2603828b0ae2ea923130546b027c881a4fe24a389b07b52eb2f46ec357ef7697697103824ef74a2e69ea441d65981e36bb7ba45a967350d8a6264da3a27f20c3dec301032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e03d99cf8122fea0758fb0c098cd3f003953facda363a5378c2eced18353007011bffffffffffffffff03f52709526c725b4323cb0a4a4ad47088520b2020fb7da78b74d38817f96563dc03adba7e89c7c3bdc4719740fc291d60ec31db28549294dab3c7624a405148cbb005581e031f26bfff1a5480d7721c1008529e84e015414d638452064b1c0ecedb4008470399cf2baa680003e409716ef4504a6e73e4decd91324d9016f92f67b7918d8690abbfe104d2f8db031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03eaffe1d64141f86e84840c1484a99a6ce548c027a201bbdd3f21248c8007011bffffffffffffffff03aaffe50109d507de45ecb62f46d5441225f56ae57a91527f50ef6de57ec869900605581e03716e549bc08c5b0282165852d48433d6b854c20ab17e4b8b78197ed15007011bffffffffffffffff0337eae279f0b03b75d75e70a9490b78db30a53a4f2f040c46a1d7de7381f3b1eb05581d02109da55250aec0f6fbcbb73283eeb9cf27c27f7cba800473542c514c0c18284801ef693fb4b27dd205581d02c385ee20e66707401cab5a5663fb8e83b0a9f626acff1eabaf28afa10c0c4705f171be73403a02182403647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03bcddf9d89ea15136b2fb2057c11a50010ff38276e060dfe94a61e4f58e26676905581e03d9fb57796a97c8f71acbe8c5331e1ac62263f5478df45541d58b1490d007011bffffffffffffffff02199f5c03f10176e6d8a6fb91ab6aaac8c1818cf7ec95437424b74b45072edd3cf1f528120340aff0e0fea4b39efefab627a50d3cf5f6bdfe655d0894b1e2af6599e8bb90c6037ac86fbfb31305e2ce69ee5fd83b79f1d5cf4c7f8c47a7f00ce8dc37f399c45e0363fbb5f8bae0db5247c9b4b3a32d7da09e817f6e094bc791b5a1d93f57cf12eb038baa6568a29d9365e2a351cdbd690ef070ce782c6291622c1dfd302028db34e403b00d2e243f9291fe2dcc45d5b0e8fb6e13c1ea2f3cf097b35af5cb3b494b04c7035ae65b17439804bf507bb8ebfda1f9d6a54c8bc813e1bd62615e2c961767fa7b03453211f40c46bdd4df58882e9907c50cdbcc20758bc6ecd7a7d2ad736c61826d036eb73c47d69f9727a88354f2599a86a49cb327b2db831ae317a712000b80887a0219ffff0356e3725e64a559a5b021e920623228b9d8403970277422d3c74c0b2216a35a3103e50b0bb917b7c07eacf2165ce4bafdca5e8e858612d0cf8352d69f0a4d77faa503355b3eb18509aac4c636398d6276aa88f9d1759c39705cdbb1dff8f550e52c0403294a16661b1516ed971c3bf0e407ff005e12335155938f8705b784e6184abcbb03264f14705372e262a911d3f3f6410aa099f8a82dc964cbff690736d12d70a6c703b896c7bec30acb04dff98fb4d25b058ee220ea8775cb2c0bceba54778b2a83510360a8c2cee28d05b8deb959fb3011fd149d76dec8b38b634e7ef2808047ffa75e03cda2e6bc6a0c295078a5e15b7b4defd5b42474aa627340d1072103e89cd1925003efd7e00333ba16f66ca9aa5c29a0943f43feec663d629393dbec7cbc83c3b3c50324211099ea44669676348e757e2930f9d5e49d6e0bd81a2670b8ca0e6c876a3503dbd5116c799d01b031eb123d6aa8ceee639274fec431f712b4133ab4eff904c20323e1f17bcce079198664fb07a7c5e1774cffc94daa095c832a5a6b0b78d0facd035b31ca748b59cf35deed163fac1e581e88a1faf85b58890e87fcf024ff1998dc0350b793d5397503fd737a87dba016f8c55e8a9d7cc13e203e3abc8e2d1982f0d20219ffff030660d5822b3f36d5413a520d40dc92d2aab187e28ba210c3fa376461daa2b5450378a5bf62564892b970e9b0e20191e15b5d73a0c8dce4c7b761d891dc3fc853e3037396d9d48ea1ca189992f62a3901da46972fa3c515d027ca3a2d38f92087c9450219ffff0219ffff037b00abfd85caaffc95076cdc6573f4a3c21b00fe914b5baf75aa7ef22e5da80403f2b0d626feaacbe240aec54389e574d1e99cce8ac69f85f09ae8c38f0aca458903069a494dae591fdfe66f21991bd923edbf0181fdd14770003e2b575d4d40e04e03fc5b0602dbe47f3c15bb336c3643e1995719eb7f62ce6f47e598dc80de465f6203aa4e1381df1136c84d606559f49bf98117ad6ca0400c82bd4bda8a0cf6abd89903f02862654121f0477d640dc8baa336d051ec5f7f78ee693c131128fef50689df0381b95ce36a735300bfd669f7484e124a5b5d74f3c0ef8eb87a1ecb37d998a57803ac64838a8721335202e7fbe21baeb25f2b7fd08073a24a7655b30c5234cdc723039ff9d2a69f3d4221cd77e4c41e5244d68319d28a3d980ed524e096496187ee39036350a1f231e750225ff1fa53351801f9c2dc8e4d278e3f9aa0d26bfd2c4c52b805581d026a8123be105dcd6a58e13909de0e4fdc1846f72e24b23fca19452b5b0c03480181ffb87b257dc605581d02751a5a413d21d36d68db3563f2108a43e2e013c3591573ee7c8ddd0f0c08465c15009198e40219800805581e03d1b0569bf2fa1f168b0e3898149bc3ba90d6ec29df7957693152d33be00c0147020f81c5f8400005581e0333c0c94e1d1a2045a0d864ebcc46aa5ad92aec436db9d3fafa2d0468d00c0246b0d17d6f6d9305581e0398610223bcf42fc7b238874166659e4875bb4fc1a24ac77493187432400c02470c0fdb3e84aa4a05581e03fef4ba6b540ba61d2ab0c57acc8501090593729194b88ace216bea6ca00c024620bde73640000351b2ea7e01a451aae51c8df3a834386bd01dae999adeb983c7e18e1361f0035503839241cc69b687bd75f25b613087d86564b859cabe8eb2b0eb7c9a1a747707f5030e91c752fd4c14c4eb0618e5c3d741a0a7d83846098598ffa482336d1f1a3fd405581e036ccc5f4a9cdd2c9770bcd73399925ceb61aacf5bf336353d49b95e06500401033fbedd76acd9cc93e3b21bb40166f32c80e135e6d2381d7e7825c7c381306d7405581e03ca490e9f9caec778053c69cbb6e66336a9491586c2733ce20a164ba53004010219edb30318019055a23a417c9d5a9693c9d17dde1e47dc2a4f7f52e05cbe635ecb23010e037edd0005fb76348ddec705ffa0700b251f33fa38a52411555ab9c5c312609fdd03bc466c83f45d1085adea9861e8df49800cf106a32d42ba97dedf3f0ab978d88c038fc5d93b6bd0ab25fa1d3d2160f9a4cbb6f09784d4c22809fc27a243e7f91ea80308ee1bb8d67103967efbad77f6ca6197aa388a624d412f201dc6ca6683a9595e0394e8a5b8e5ccf25ec27ad46feb14bab89e3a89dcf6741dfd6ab27bf92b64f4ff03d21f2bcc155de2a1402a3d0a024f39052210c82bdc91c32d3c0fbc11327a2bfa0321484b027ca1f45e22e8817ebf27764110bd582278397b758ea3bf0dd6e720b4037ceecbbe21fd790d5d44537f46ced5ceac0b719408696b4be0827d556ac525ee036ec416d2fa64a42263b7f4efc860ab39fdd6c139f21ec5304a373d830e31c1d803ccb3d11c5a5a9baea6be33dad31674d3b37a9b275e0a9e04bb5e0602df36cc9c034da2d2ed5b93eb14b31d27b6294643073ca8d013c5330867801e75ed0703047d03b1b2111691883eceeffd44bbf0d8251e5b33ddbf97a21d5dfc2b716ad33ea902032337ee50d88f20c96a91756b8c23eee1e5d12049e91e11a6d21a72a10ff156480219ffff03caa0a519f9f888812ec400b0b378fff4fd420f47875ef558af51fd4fb5dce5e403da713c6a60094eac4ab35e358eb93e083c945c3356b8ca72af519317e6d46e7803aa8a3c82b69f6887a1aeff4eda775e40b0e961eda5026ca9fd3a3da641e4e21a035b5c233213f5b899f9cd2f3c15861e30684072f87de4c8741fba3c02b89788bb03e578be3756d30381b5ffdb533b40d40ff43ec23a0fce5b5b94ee03a6c5b4309a03f8eb2fa5cb186c03fcb00cfb931e32322225d7e27b6c36cda57d503064b2594803638b533e7cfac8923be107cc9b3d54e84abb024b6b0a7a8ed16d4978e7efd8b803b91a2d06796a5d944cf4b9c754497074171695bcbfb5edea8d13b6fd94e03f2603fc51b6bad78ac7b580a6d85fb3e97bf41d8ab36c3a671a84377fae6adad08efd03bd506f477b3a388ea2ce7b108fd156f2a8603443d1e28def16b48fa862134b2b0357fda541ad958b58fc4311aeb46105d6e2410efe95cd31e600ffb34cc099c2bd0219ffff036e48a3f6b18d44ecb0694b490f163eff1d228e712f7550b6df7b84b99ca287260334971b9879676f0bff25f07c6c55f14a6ca3f6975461bbf8b94387e86082978a0327de6ddb233e0ea34fe10fc7f09d113c82b289b7e9e0495247613360f3b4b1ed03774b5ba14832974b5499145a9e6a9b2ea3002d6331f091b39f3a359def7fe1b0036e1453ddf09549e9704c65b2b5e3bc0d82f19948637d3fd41667f1988351cf99030264c273dbfc5a1c4b4f3c8180e4348d192a39fd6c8ce0ae9ad6d1ade36fbc3503568323c7aaecae5663d36c69b04fbcb7e091ddf95273433fdf080fc7e7ddc9da03ff2abf626c0fbfba7e8737fa5c98ad14c53236807f8600080ebce11199da292f03778e701a8950aeb39af98200f75fe7584a75b06eca78dbf26d9a4275c0d4767403da9328ed22c003ba9c6c3e1f8e6cb92458fc9fa9cbfd1400ee49e2984bf171ba0328319710dee3b5d7e04040a4a5bbff692a7606c9597fc751326c3dbc59479e2b038340d6ff8c41d6118025d8dfc32eadf79db17bfeb68f74af7b0d4d8c1bc8353e0316df70cc4353f6bbb5015ed5dd3058e0577f86260b7677314d5f724e081f0c9d039187f0ec7939ae60cdf368648372411619420ded5b482a78d2fcb577809067dc0219ffff03736f87b87b3206a8dcc565641e9d76a70919b66c7acba2376589b92634f688b103da8e28a27ed5e0c44498e64a668695da8320ec7525e7c36b46819fdf58b1178d03bc06a4253c74cdfc36cb91515ae9fb1d0d053f26fec06f54da82a31879abeda7033907c6199588c75148864bfe6288ca2dff7db2ecf621b046bbaacfcbd8fbd60d038f0ae61c5c7aa1e55cd32f4d6aa820a0bef38ef73384b9cc1618350aa88a99320327dbd98ab87baac55ecff104cf0846bd5544183fa5cbde760d8da3c2202cfa3f0319d3b7b17df45a69175e1b3dcfb64c4219365d4b0136ca1c6064d125ea5855bd03aac45d0f11ad23b48a6855f433e07bf6787447d3f081f71905a7e585e3a71c970335236d0cdf6cfe8ee84ddef34587eee10786157dd415d36ca55c826479dfc124034b7dddccbaa2397ddb93f71bfc7e1d4786afb9d7298741e079e0e7e37caaf86a03b63c1a3337542e9239df50a452974c3ae03472e3a149c9a8bd6ab5d3496e9dfd033ff11fd0dfe0b7848eaa64afdecc73f763a8193ed04e580ca27fdffc5edb4dbc0374402d4e2e260b636e5778bd7b29ce3684eb1a32a3354f81bc4e03b98db8a75703c35db120ab87d31985dc7c53dac6c2a6fca6b978e059b2f7a54c33190cbecbbd03484b8112a55caf267ecb8057e0005a7189bd475b70ccc477d983ba23f60bf3cc03541a725a367bbcdb8bafea92582fa873ccb3b7786372dbde536a086020d6d754036d151bf09edcff3fe2d99974d8b786e2fe943ed4809cdc9af7e8270c6cc6c23c036f3308f6fbd111ddf495a5bf78509b518edd51167b4f8b2478c9d1bcc5750bea03869b88a5d9dba84e8b2d1ed534b098188ddc20d33a18581fc983c57bc756916c03a692c9c601b7d91917548ac7441b49345a502a79d90e6aca6727c5d1b0681cca03c78b15114e3a08fd60384e220ec4757604f1a9ef05ad08996b36e265429136b3039975091f2662f319cb94b657a911e29306524af6faf513d90b2966a83a524265039d380c73780dc1670149dfd3416a6a5a0c8cf51eafd8ead195cfb5d5711b44e40345dfccb492f056e43d68aaef28567f77026a09e085f255119b0f7c73e0e419f303542fcc0b6edc078220611691d18514886993d991142c429c9c790ac3e2daf22c0333ab58ae715387b371bac56ab0bf8e654a15df31f1e53030a52bcfe196e7ca8405581e03bda2c5acabd2f6c76cd46695f273a3dbff9fbdeec5c41b2a855fbcb830040305581e03736b277fc9428ffa46436c245943663d6a9109858e3041df2b1e34eb10040505581e031cd4cf798c04fb8e526486b156eeed968d9e4e0c8ec3b39ecef6a03880040305581e037a339145c7a324bb4c12aee6b0c3ce7ebff16419ecbe59c794f3502e7004020339831e602f3472df617be880b45c09b3078943e78893da8114bf134e1965abd403c198138c4e2fbd865279b3b59192a5db43b12910de19986a19fba8b5626ef82b03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c033508087dccf1c6524b377780446e392263ed45f39658ce6d305ec0448960d62705581e0303a9049644a985e56ba4d9e41ced50a2cecb95017c1b200fc0e715605007011bffffffffffffffff05581e03ba5e35df2a2f5a40b39286f299bb8e8e58fcb65084e506323a087e13b00c02478952bc7d8177f003a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03efa97460069fcd5c657d457f0dc48b2632f95e211c65c98dbfec53df8007011bffffffffffffffff0363ce6caa96f57b4f74908605158c55e806ddd173a81842462810f8d0288ea8b305581e035d0553ff7393e41c8473890c039f38cf262ec3ebaf1c34d59a0d638c400c06470cef1c83bec16c05581e03b51ee0ef9aa59b7ef07391ba9d15d01a122de4f9ab0f21f10347f666d00c1a002395de4a08de5a35fa06a4d4551d03a05fc946278f27029157571be9b363c0f9a66e866e2bc779e1f64e9cf60fd70a031fc8b9ae2650d1f11c36ee41dfaa17138c166e33c1fe2ec3a16e18ff4fffef9b05581e03fe08916a230b9fba5001e60c0aed47fc92ae1484ad4ea0fb0f5a9573b007011bffffffffffffffff02197efb03eb3cb8bea36c6190c3642b89126de11c7faabf80863cda0fb4afed2b7f1d85810381c4ac54f6aed01c0cf864397e3f86583ffe96ceb391f7d724eb5f5b779242b20368264bda1851e9f5ce319c5280b016f29cc23f1d1dbb6884898206e67583e52f0219ffff03bc1aeb4833de0d27b3af9de5712831a643c7f730222f97ac3e158b197fb706dd0328dad1709bb695fbfbb20ec36195734effde5f6fb3027cbf1d8f97b5f85535ab0332094e7862265c59af6dff801844e6aa7a6e24ae2bc57867bf0cead383217f730364400f66bc303285715d339e875be619a33d6ba4476e6d4e313f05b8cd775f0d03d0e7dba37d00e10640aa60f6bc8d182bc505d62b4860b1d5b7c891eaf3df4f9b030e541a46b97baa22da606361e0c164c99cc6784e4975aa4486e403783741e098036be8404e13eeac2eb83ac534dcddd7bc2be6525e6a693722e8d15f34fd2233d40365d6a5672e8db747919986a8a2de6b4cf8276579ab16bd4425ca72a64840a91c033fa1659b35858a938c96c8768df2039c957bf09ed80217ad4f46c23ab1bcae8c0219ffff03d4e3a7bc3473fe7ecb6c4f4117cf806e62643e30b70c742180ab08ff3c09f66b03babaed959c6e7d87f552edff3ca17eb90105e979a92077a327bc2d9568b500230304530e9213e8c1dcdbd99c5c8c6dc3eaea2590f0958d02c6088813f1b3ff281c030a83990b0fdb28baa0e61c9f3f3016bde4bc21e4996e4a2972d8a52c84e079e803c7d8054dd1e4c7e85ebb09009ad652d0e325fa73e85d7fd89fd70a79c2e3b2ad039d81e8d9399faf016c1b5caaf3f6d29ff620a58757937d6d176b414ab96099f803466955eaf7fb160b86e4d29c959ceed1d015be13db7d61a27c3580054a5059510324d615a788de96044cb0e2ec11b01f5469be69c54962cbc2e85d09a776d3c20303df8614182ec8bda5dec4fe86a05cab2267ae66f8bc6a90b84c9fd85eabaf9356033a50f2d1651320509a86439c8ec0707405f1aabdf55e4fee2d5db5b9d2b28bda0219ffff03198eb0936435179314d86c01cf78e23a4ad13e4eae5b08561566bf4d5ae61ecf03125e133837dee87e84216ec3501aaee9b6b55418a08bc49aebf0899ee93c6396036a4d9abc692be453064f2c7d326f517e73d2fb04e8a7d25056358e6997a4f910037c0d03f5a11749a0836edaebc292e7fd1244cdf250444be207975f7875c92b1e034c928a473c55cfea11e7d6898d013f8ebbedd6c9aa1edcae4673beb49645f40b0355ed173e6183511bb68c66a5aa8802b43d40578a8b288e105894fa18423e9e3003b063734a87091bd87b1530ceb24ee56e1c817833c00f8f101150df62f48e0f930219ffff0344b5f998b93c155057540a6aa091c4c483a0b7e11fd79f480a4fe0fdfd3939b50353b26741dfc8aa9e174c677354554e60fecae582a838eb456e7bb5b25c963559034f5f66dd6d4df1734fcff755e573f210538c059e3d35ecd55c83864a7826b2490371d1d8772f54742ac2141f0362244a7deae5ad5be0d7d642d3f43101d654b21b03d8ecf1791a23148320bb3b17cf1b562fcfb2d9eae054897d331655cff5284393030937e8f1421ff54d472a7d2e1ee3528a25b75b172dd08fd683d9b04c86af33ed0303d57aae02a7d6709624639f26f84cbe7ef0a1b962196930a3a89f55c0d17f39034ed071a4ebf3a1bd5d032ac62957117860ec29e096170c87bb2392f45d7cecd90310b70280f3559f0f936230e44707c45d99d535702fef5bb3d1dc6b8a753acb060333cc873b7cbd7f96ac092de9239d85f9bfb7053be163f9e674db9f952a5c0a4603c97a80c740d9a0c85785a5e25a20c97393f9c90fda19418895d2d3afba283372033391aabffbdb5365fae3201fbdb6dea4e9c0f6a354350b8a4d2db29abbf3f57203d4df2b3eed63073dccde54134b57e289fee2fb3a7aaefa80a92041a078889bc4039410deafeee9e46767b77382c4ce8923ac68fb6c73111a0392644fcad56a81fb031ea5d73363382900fec12bbd67bb4e3cc279dda72e6b5e77afd7eede6753bf770304bf854cfc895a2f1a090e45659bf4f44cebe868513d3a5975ea241323debe250351e3f4779384a0f678d3bcbbccb1c10390c714606211d0df98f5226fd7c33f4503cf969d31ed1193232935ca60d590aafd9b0472b587838b9a728b79e0919ce641034dc4b349220c8b7df6349248e3b9fc2685e8979435beb4bde1920576b2e682d00371696157a5bbe6b0dbd846953959d61dbe83a1e43f511e95bc2feea0128d1f9e03bcaadcbed93e8dfac59f49371c9f6d3b5f027f24caf4fcdde8241e78fb92c65a030753864f8ebfa0420013b21b97734b104bef1dd8ee3b0166444ad14a4cdb9c51045920a86080604052600436106100655760003560e01c8063733214a311610043578063733214a3146100cc578063736eac0b146100ec578063af7060fd146100ff57600080fd5b80632c57e8841461006a5780634666fc801461008c5780635fd9ae2e146100ac575b600080fd5b34801561007657600080fd5b5061008a610085366004611b88565b610112565b005b34801561009857600080fd5b5061008a6100a7366004611c79565b610144565b3480156100b857600080fd5b5061008a6100c7366004611b88565b61034f565b3480156100d857600080fd5b5061008a6100e7366004611c79565b610376565b61008a6100fa366004611b88565b610359565b61008a61010d366004611c79565b610539565b61011c82826108c3565b61012882828b87610952565b610139898989898989898989610f73565b505050505050505050565b61014e8184611164565b60006101606080830160608401611d3b565b905060006101746060840160408501611d3b565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915060009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa1580156101e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102089190611d5f565b905084811015610253576040517f275c273c00000000000000000000000000000000000000000000000000000000815260048101869052602481018290526044015b60405180910390fd5b61027473ffffffffffffffffffffffffffffffffffffffff841687836114cf565b60808401357f7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b388c6102a86020880188611d3b565b6040805192835273ffffffffffffffffffffffffffffffffffffffff918216602084015281871690830152861660608201526080810183905260a081018490524260c082015260e00160405180910390a18b7f38eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b995378c8c8c8c8c898b898b60405161033999989796959493929190611dc1565b60405180910390a2505050505050505050505050565b61035982826108c3565b61036582828b87610952565b61013989898989898989898961158e565b6103808184611164565b47828110156103c5576040517f275c273c000000000000000000000000000000000000000000000000000000008152600481018490526024810182905260440161024a565b60008473ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461041f576040519150601f19603f3d011682016040523d82523d6000602084013e610424565b606091505b505090508061045f576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006104716060850160408601611d3b565b905060808401357f7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b388c6104a76020880188611d3b565b6040805192835273ffffffffffffffffffffffffffffffffffffffff918216602084015290851690820152600060608201526080810183905260a081018690524260c082015260e00160405180910390a18b7f38eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b995378c8c8c8c8c886000898d60405161033999989796959493929190611dc1565b60006105486020830183611d3b565b90506105988173ffffffffffffffffffffffffffffffffffffffff1660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff1690565b801561061d575061061d6105af60a0840184611e2c565b6105be91600491600091611e91565b6105c791611ebb565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1f602052604090205460ff1690565b610653576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008073ffffffffffffffffffffffffffffffffffffffff83163461067b60a0870187611e2c565b604051610689929190611f03565b60006040518083038185875af1925050503d80600081146106c6576040519150601f19603f3d011682016040523d82523d6000602084013e6106cb565b606091505b5091509150816106de576106de81611767565b6106e786611771565b60006106f96080860160608701611d3b565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915060009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa158015610769573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078d9190611d5f565b9050868110156107d3576040517f275c273c000000000000000000000000000000000000000000000000000000008152600481018890526024810182905260440161024a565b6107f473ffffffffffffffffffffffffffffffffffffffff831689836114cf565b604080518e815273ffffffffffffffffffffffffffffffffffffffff87811660208301526000828401528416606082015260808881013590820181905260a082018490524260c083015291517f7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b389181900360e00190a18d7f38eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b995378e8e8e8e8e60008a898b6040516108ab99989796959493929190611dc1565b60405180910390a25050505050505050505050505050565b803660005b8281101561094b578484828181106108e2576108e2611f13565b90506020028101906108f49190611f42565b915061090660e0830160c08401611f80565b1561094357610943333060808501356109256060870160408801611d3b565b73ffffffffffffffffffffffffffffffffffffffff16929190611818565b6001016108c8565b5050505050565b82600080803681606081805b88811015610f64578c8c8281811061097857610978611f13565b905060200281019061098a9190611f42565b945061099c6060860160408701611d3b565b96506109ae6060860160408701611d3b565b97506109c06080860160608701611d3b565b9550610a1c6109d26020870187611d3b565b73ffffffffffffffffffffffffffffffffffffffff1660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff1690565b1580610a355750610a336105af60a0870187611e2c565b155b15610a6c576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a796020860186611d3b565b73ffffffffffffffffffffffffffffffffffffffff16610a9f6040870160208801611d3b565b73ffffffffffffffffffffffffffffffffffffffff1614158015610ad35750610ad16109d26040870160208801611d3b565b155b15610b0a576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8716610bff57610b326020860186611d3b565b73ffffffffffffffffffffffffffffffffffffffff166080860135610b5a60a0880188611e2c565b604051610b68929190611f03565b60006040518083038185875af1925050503d8060008114610ba5576040519150601f19603f3d011682016040523d82523d6000602084013e610baa565b606091505b50909450925083610bbe57610bbe83611767565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614610bfa57610bfa8a611771565b610e22565b73ffffffffffffffffffffffffffffffffffffffff881663dd62ed3e30610c2c6040890160208a01611d3b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff928316600482015291166024820152604401602060405180830381865afa158015610c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc09190611d5f565b91508460800135821015610d5157610d00610ce16040870160208801611d3b565b73ffffffffffffffffffffffffffffffffffffffff8a169060006118d7565b610d51610d136040870160208801611d3b565b73ffffffffffffffffffffffffffffffffffffffff8a16907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6118d7565b610d5e6020860186611d3b565b73ffffffffffffffffffffffffffffffffffffffff16610d8160a0870187611e2c565b604051610d8f929190611f03565b6000604051808303816000865af19150503d8060008114610dcc576040519150601f19603f3d011682016040523d82523d6000602084013e610dd1565b606091505b50909450925083610de557610de583611767565b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614610e2257610e22888b611990565b7f7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b388b610e516020880188611d3b565b898960808a013573ffffffffffffffffffffffffffffffffffffffff821615610f07576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8d16906370a0823190602401602060405180830381865afa158015610ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f029190611d5f565b610f09565b475b6040805196875273ffffffffffffffffffffffffffffffffffffffff95861660208801529385169386019390935292166060840152608083019190915260a08201524260c082015260e00160405180910390a160010161095e565b50505050505050505050505050565b610f9460405180606001604052806024815260200161204f60249139611a66565b4783811015610fd9576040517f275c273c000000000000000000000000000000000000000000000000000000008152600481018590526024810182905260440161024a565b60008573ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611033576040519150601f19603f3d011682016040523d82523d6000602084013e611038565b606091505b50509050806110b15761107f6040518060400160405280600481526020017f4845594100000000000000000000000000000000000000000000000000000000815250611a66565b6040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8a7f38eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b995378b8b8b8b8b8a8a60008181106110eb576110eb611f13565b90506020028101906110fd9190611f42565b61110e906060810190604001611d3b565b60008c8c600081811061112357611123611f13565b90506020028101906111359190611f42565b608001358b60405161114f99989796959493929190611dc1565b60405180910390a25050505050505050505050565b60006111766060840160408501611d3b565b9050608083013561119f73ffffffffffffffffffffffffffffffffffffffff8316333084611818565b60006111ae6020860186611d3b565b905060006111c26040870160208801611d3b565b90503660006111d460a0890189611e2c565b915091506112268473ffffffffffffffffffffffffffffffffffffffff1660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff1690565b801561123e575061123e6105be600460008486611e91565b611274576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156112f5575073ffffffffffffffffffffffffffffffffffffffff831660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff16155b1561132c576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff84811660248301526000919088169063dd62ed3e90604401602060405180830381865afa1580156113a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c69190611d5f565b9050858110156114395780156113f8576113f873ffffffffffffffffffffffffffffffffffffffff88168560006118d7565b61143973ffffffffffffffffffffffffffffffffffffffff8816857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6118d7565b6000808673ffffffffffffffffffffffffffffffffffffffff168585604051611463929190611f03565b6000604051808303816000865af19150503d80600081146114a0576040519150601f19603f3d011682016040523d82523d6000602084013e6114a5565b606091505b5091509150816114b8576114b881611767565b6114c2898b611990565b5050505050505050505050565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080611588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640161024a565b50505050565b6000828261159d600182611fa2565b8181106115ac576115ac611f13565b90506020028101906115be9190611f42565b6115cf906080810190606001611d3b565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915060009073ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa15801561163f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116639190611d5f565b9050848110156116a9576040517f275c273c000000000000000000000000000000000000000000000000000000008152600481018690526024810182905260440161024a565b6116ca73ffffffffffffffffffffffffffffffffffffffff831687836114cf565b8a7f38eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b995378b8b8b8b8b8a8a600081811061170457611704611f13565b90506020028101906117169190611f42565b611727906060810190604001611d3b565b898c8c600081811061173b5761173b611f13565b905060200281019061174d9190611f42565b608001358a60405161114f99989796959493929190611dc1565b8051602082018181fd5b4780156118145760008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146117d2576040519150601f19603f3d011682016040523d82523d6000602084013e6117d7565b606091505b5050905080611812576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5050565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d116001600051141617169150508061094b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000604482015260640161024a565b60006040517f095ea7b3000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080611588576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f415050524f56455f4641494c4544000000000000000000000000000000000000604482015260640161024a565b73ffffffffffffffffffffffffffffffffffffffff821615611814576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015611a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3d9190611d5f565b905080156118125761181273ffffffffffffffffffffffffffffffffffffffff841683836114cf565b611af581604051602401611a7a9190611fe2565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052611af8565b50565b611af58180516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60008083601f840112611b2f57600080fd5b50813567ffffffffffffffff811115611b4757600080fd5b602083019150836020828501011115611b5f57600080fd5b9250929050565b73ffffffffffffffffffffffffffffffffffffffff81168114611af557600080fd5b600080600080600080600080600060c08a8c031215611ba657600080fd5b8935985060208a013567ffffffffffffffff80821115611bc557600080fd5b611bd18d838e01611b1d565b909a50985060408c0135915080821115611bea57600080fd5b611bf68d838e01611b1d565b909850965060608c01359150611c0b82611b66565b90945060808b0135935060a08b01359080821115611c2857600080fd5b818c0191508c601f830112611c3c57600080fd5b813581811115611c4b57600080fd5b8d60208260051b8501011115611c6057600080fd5b6020830194508093505050509295985092959850929598565b60008060008060008060008060c0898b031215611c9557600080fd5b88359750602089013567ffffffffffffffff80821115611cb457600080fd5b611cc08c838d01611b1d565b909950975060408b0135915080821115611cd957600080fd5b611ce58c838d01611b1d565b909750955060608b01359150611cfa82611b66565b90935060808a0135925060a08a01359080821115611d1757600080fd5b50890160e0818c031215611d2a57600080fd5b809150509295985092959890939650565b600060208284031215611d4d57600080fd5b8135611d5881611b66565b9392505050565b600060208284031215611d7157600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60e081526000611dd560e083018b8d611d78565b8281036020840152611de8818a8c611d78565b73ffffffffffffffffffffffffffffffffffffffff98891660408501529688166060840152505092909416608083015260a082015260c00191909152949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611e6157600080fd5b83018035915067ffffffffffffffff821115611e7c57600080fd5b602001915036819003821315611b5f57600080fd5b60008085851115611ea157600080fd5b83861115611eae57600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611efb5780818660040360031b1b83161692505b505092915050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff21833603018112611f7657600080fd5b9190910192915050565b600060208284031215611f9257600080fd5b81358015158114611d5857600080fd5b81810381811115611fdc577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b600060208083528351808285015260005b8181101561200f57858101830151858201604001528201611ff3565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f830116850101925050509291505056fe696e205f7472616e736665724e6174697665546f6b656e73416e64456d69744576656e74a264697066735822122046d6aed305471e772e094d93fc3f6e3679e234d010ec582e28b153306021a2a964736f6c634300081100330605581e03df2fd60567282e172b6807ecd40806f0265ec621038d546fa87028ca1007011920a805581e031f060dfbec715f081df973398280db92ece109b0a5d7fc93eb38683620040205581e03a4a8d417dcb3e7ac4c467a1bbbfb3eed38f3d1b391d9d786869ab47c100c0147079a94665a360003a5197de1c6859d27e756c82c61688b64ecc96982998caadb5a3ca81792bbb12003a90681c00fc700cf0b7c0c8279249a16d8446db66c7649913167b80c4bfeb62705581e03ac675fb20677fca0fa8d488436c0637e5795b1be9129e5644dbd03c8c00c01465b69cec5107805581e03573869810b65e68fb9c0ba6399062385aae0602b218d32200a0ed00be004030334fcc463a53df71a4bc85a811df38e1a651c72bcb8e4cad39fe32af61810a1ad0335e0338cf5d8acf53689bf88f18dd5679db3ac022750e24e31974a32054968fc05581e034dd600f66f5ac430799c10d5df186a58cd4db8cdd6ef9973df6bf0fce00c0247011f541b3a360005581e03c529990d05a378bbe3a670226b32498cf975a0f8a3ea1c82a33e7757900c024629944ede7b3005581e035d3e3440e0b84c7d7ce5afa6adfd1a0b1c1be47495ce14b4d9978e4e100c0247017ddf4d6cd6200219b77e031843192c12cc2f82810b9788c2a65864004b3415d1a51e8a2770ed3c8a5c893a03edaa10f6906052c5bb035e1c234c8f7e6539d54cdfcf92707d51f1744096d4eb039a031fe96834e27a8cc4d300f846f617fecc231df277fdb3fa53fa2325bb23b70389f97da67333980bc0d9e2b92ea76dcc92c59d83b9cbdc2cda124c8422ebf60e039f2b5b3f35aaf233e17694c8b13116e5a7b8578943b96e8c85f537f1a762532a03df697b7549a83864efef15c5a1e7678aaf727e01ee1c70d05289cf6306915abd03ec0c7870c1eba8ab6a59653d1dacdfd7008d43e65cae835a50a8e7593495cebb03391b030de6642c53df4be99a0eba493491a94f6a44d74332cba4eb0dbe899ba60372059681b293da56ae6fa4e379d1dfd1ce94e86de58d810ff5f78a1dd57ae42b0219ffff03b6a4c3cbe282e2dbb11342506ee5145ef738a64b6b3e9849c60d4a466e1316f903263f00d85bb203261d3b0fa26cc1d59798561246ecf9e8a2d88768e4bf68eb9d038b5eacd6c59537de7950a2813efe7f1968d41ce450ed1a35a0979f6294b3ee97033d5fd314c9d38424934336adaa550a919ffe852ba6107abc1057e484d133718d03c91763faaf2e7c541da649bb50706b1a30f87b8d240e4f333cf955c778dcacb50395686e4cd00ec65771f5e158065b4e47933ff20185735871891b79fa9aa153f803a424f9e5b9fe0e60716268a70fe6eb4e7b31a5fc76fa16900c1127f73e1fe45d039e240060e7dc20a3c65162b6b8a8c4f6c3d6e55dbb6c70601f3194e89f6b878b03b91a50aae967ef29c4ab23e84328b6dd50cb27b41a65b462a3b23e2142ca12b50219ffff03c85b227788773105d94ee80772541fa7db596b4ba0ec30158ead8d619c963656031ec294973eb35a2e6857edb05fda5ac8d8cd9a3506cae75537a7ee46ead17ab8034ce81f1e32f939930b795e4e81838a9f415683c44914d351b47dd653409da2e70388ea8cd0c21a794dc032e225be5b12a812b79ac8649f4f203697d94c008079a8036666625aa12282fc8eda9c429d7b5dc06b362cf318dc4e34ebe951458f90bc040395b814cf1737b82d9bc9002579782da4a813fc90cd34f9e7bdf77fbcba75392b03eceb21a31baea4638f7c4fe441d6ab086a13ba6744aa55e972ddd5d169ad433203bd3de39d88da9b850e5349f69f365229a7e82f895948adb63fd91e21154bc9e7037dba9e7c2a08034ff5f47f4e16e92c7ef696f8e4f38396e034232b2517f0af7b034398e12c50b4bd4fc270a011d25d8316985813b4972fa3b2eb3c4ca3ac2ea59503d88aab06a178d0967406e9b4327b18f08e963556d064a00f14ba630212d976f503d0b1c067fdd3e4dc52d8fe772343a99e046d3d60f036bf3062f428933daedde00219ffff03176cc8f78b001f5b33061c40215e00e0b06afc2409a14f880ab7ad062f345d4403d49874bb82477db9d6075c6b7d91c7537c2ba469cc1d27af46d3faab688c1f0003e525cdc0e66228abfef29983c1c91324b194858d50f78e8ea8192b99062886f5036ce3f6a71c4ce2747397c2be7bf1946f6928ecde9bf5e2177b12f13860210b38031d42c42e75d3e021c8c70292ee1b396df66208f1f79b1385c33099116aa021d3031c23b399dc42bf50e1f6276399f1cbcdb5b68709d7392c9512bb55f8e3e6ad1a03480b75cd80122eeb0d2d82b15ee9b4afede3fa6af609f4f3f51ba3bd08c68a5e033d45940cc8d41ddb893662f33988da25a8067c845a278d38035db4ab015331d203fa0f9d41623655f156269ae3b1d1533d2df696f6171e8c19497ea45afc4d89b903f135067a871a871e827492eb70db508efcd75774aad822fb66625658d96b922a03e85bc45b3c2506f785487d888daf05ec0394b6a20f939163961db229708be1ed034a944f635242727361220aac82c49b1909f0a750a7ba8e95631864e7052dcc7b03ab2e3c1cec0dcf4fe65454b7c6705b302471fc627a6f542dfe3cbc5189a61bab03a0efda9911797dff1bcf3e6f08cb5eb856a31cf6c3fffe0e1baafb92a72cbee00381556a67b48f98ee0ecfa0deb3a4f77be6bbb7e941963ac86a24031184a600800349eaf64cf9633b792213ce509c5df168ac0eaa9d16644fe672b901110155acd403fa29427356337fd87f1ee03ec7e1327895d58df69c0b535bb5052fa7d85ccf770391078114a81da3475b5c18e99f41cad416b2fa7028bd0b3483e832436a89f03403d89d48bf0157f4a62081289355ca3924dc2a09543f7f80ef31a83e06d013b5bf038de3c7b4a51d039360797c8c656f682fb9d7af6127b21690c7f77b22715b618f0347e6269b036ae3ebac6ba9531ab3dc6f68f4ec023fc30b0269ddd008d601474703e2568001b46039d2e9403ef503926465d123f2c0470c1176708726d402abe90703a35eab60b141edd2046377a17853670d16b19bad101ffe7fea7275a18e90a88903cfac29ea7dfdab67ca01e8e21254368079df031c2eb75acc5ded9800bf5a53e703a6cd024e9aefafdf672740c49bff0d95455fb143bc01779c6d3a366cf7aa793a033cfc3c35168ed840cc5f6dcb89d5737fd4eaeb6f0509e5e9b248fa13bfbfac7e0371683e952fba233ef48a6f25348cbfeb0f745599887c71d96b8176ecb4c83c7c031de2001b583beb5fa75bf96a3e55ac11138fdfa2bba491223c6a6abd3daef2500346a07c38a525da3835097164f18c4767eb03abafbb9d558eb5671954ce9b2e7a03d91d3b9fb29b38cadeb85cedfc1967abff50d0dd131fd0f13363c659022f909f037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03608d2cc9d955bebbd866648e042f2cd67ded686d9ca42d75db7c6d6af007011bffffffffffffffff03be88fa199420082ebe9302c4f16bd40555b022bedd73b98a8444089af24868da05581e037546b4291b7dc8eb8115521e08efc93aa0ac9137fd411fd5bd90af59c0040103f061b87e94c7d725ede2431faf1f67360ed1ea07ef3d56d513d8a2ea77cc922905581e035482aeda858f5d236c89ed4d6a6347d5d3f7be141a0058e97d9becc6500c0446a92c5d618be103179a711975f892a2623c11743f463ed72c68e3c57c42fd5ea50de8b7d2e6256c05581e03dca1c9917b5d1529acde18be92ed8d1384532f86e4d404f89105d9604004010335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03e72d07f28ea48672c33e0692db4d00b88a21bb6d6712281b6b955a1aa007011bffffffffffffffff05581e03fb44c6d59c40232f2b1bc74337c0932f18a9faf46161b70dac31548ec00c18344713b3c01467dc9b03bef57235284739a845759a51676815dedf88601fbc90dd7275f1324f5411f5dd02196dbb03f860306b010b9a2587611d4efe5f59064e8f59903ec963602394ebd06c560c7103af19bce064f1cfe56f7649c949e1b7b3027c5d56fa0b7770d5b95454348f17830219ffff03c5d74197e444ffaef11dae6f09be5cca1747a645730a7542d8efb9121a1ca8cb03da73a3f05b75f3839da63ce608c1550e98e318ca4923cfd8804240078927227703c588d0bd72c4b6362bd6b8fbdae1324f95c80da34971b9fba3857566fbe2d3380309a80e2eef55dccc91d0dfdbc00dead108aaca4fc3537fd46c7ae366888b3ad003eaad6b3ad2033bb22190743b108bbfccad245cdebd848617df5f9910009394ad0369281aa35be78dd31873349e7b9eb06c20416d296c7a337f9ea6fd2e7c06e3e30309f1d9486b3dfda77f0b6e08f0530e8008faf64e691e7fae1b58fedeba1aac3a0219ffff03a656821f1f9b855d83315a1dca80cbc8dd078e25bc86c737a9981f89024a90b203da78666dd879e45a1061692e7ac51807e48a3db6c48bea30f486437e4a66e3140392f1938b48e7f0569d51579e725befea55a7f8b9a30379f5d19bb90a529dd6be033a040c6cd76d385a34949b1c58bd7a70ded012f49c4f1949996fbd041b8be77d03f89e59958637c7153c9c305d1d029693b114325c010052e0867c5a41efc4ade003497d47886f8b5c8b1f51bf515e1fdc52c05b51a17f814b76e938f4985a9bc63b034b391fc9a0f91a9fe09558df4bcb347f8f69e87cef7170b5a81f8591b2ab7bb30219ffff0385e8c7f066fe3aa973f1d4af8eea40952c0844b68c67199b21545a5815b1405c037a2d46d57e89c5cc78e4aed22392d06a9c78b6a45f25d8fd3fb47c7143ac1d7503d77b16d222920ca2b137915043b3b1f104b39f31bebca3cd4cb782a405837b9903b4d902b8fec5cc5fd972e853586e45084ffe19f609d36dfe5d5c7b207671709b0337290407a81490006ac8abbab279e19c6a910913a1e19f8e1cd39be2ac226b1203e3b23646d5c6a646930bb2f23c1ca444a5428f0b7f37049d7418ab940e120c6f03ab0494289f02e4427af5af9fd5d3cc49446969e5f7ccced951d12885e13ef7e00219ffff03bacdc014cd2ae480999b8d0361fc0456df3ad4817ee9e04a7798ec87df91f78d03fc2218fc2dcf75e8524fda4e54d4d228a90857f493f71c69f19096fe2874f436031569ab79820aeeb4c799025556575de4b1d6b6f24a3f41104516c35dd93030d2035c4e7fed2b9a73438336939e36f0407691360eea67b81dc56b318091be0e32a403b47ab3044709b4e6e18cb9d7fd19e25fa4da9e81ed85c1ba680ff5db19200bc303cb79c1cf8d903bf111156d2b9ca450f72a2adf1e309b28d7d4b249c615b60131037ca65a841ae3390a656942052f33f60c0f0141c2bb453aa81c855ce2dfc71fea03b7617b85927cbe75d2d2d9acf3c070c330cf172380a5265265f34de79719d48103cf86b9de11751e9fad93fedfec9b849971e9516a3faae145ab178075d28f7f8403ce78143a13c32bb7b0d619a953693a61f856d514ec2baa056a141f035cd394d9037c4e954df592d8266094fe55286064a972e916748115ff790e733a9f8e857c220329b1f4c176cb502a6c511c9b54a73476982826dc56714c4b3855fa595ede7684038b4359eceba2b992bc11d479b5ae8f4c20270a77d81eea38a2b70cec2ff6671c030e660e31ac091bcf5e098bf65c20af7321ae2de2a3f2152fd2ec7a5be735e4ce03a11243e2385a4d4f7295667e5b2e6bb5c120821a7f3d8c721b9f18506c63422303399132bacfec87079803fd10f821b39ed77e35af14b5bc566b66f48cec218d92035beb9da03f55d58dc8635a367eec5aaf7d4f5a520fb6ad5df7a1295c7521d4ac030185bded9f4a602c2a3857b2e3f5ce1acb805f249030526b6d0223866c6694270314a02dd97834d39cb1be7688a99767f6dff183ea21b2d3c36f555b055f1f89aa0382267437a94c9af46d9bd06bd3cbc774f7d0a1a075a1c5b3d5c8e578891acd0303a498b3771a603ed719428a9a3f13a77585ee693f98f583eec8bc34869d04a6cc032a8ace87957f541a1bb641cac7aa80246c7e001641b2ded14ad49ec50c2a43d203a95bc664a01eab2cefc3764b44f5a203b088d56d37305f1aab62dc4ff34ccc9e0382500d73eec427f80625843c3d28ade22a32027d85259dc311dc4f8efec4e2ab036122fa29e97ea9fb11ec6ad6b82ed6fd47dbbc71d67063af25ebc3323b8a59c3038198c57a85f5979dcdf1f63295089ac89865599a2a66cadea28c4dbf25f33c63037e61846964cd00ad6ab8b85ea648a7ee72c6e0cd95c5c62edafdc60695106c90031c76b1c2db3441a79b28ea5324c0c6cb1c9fc6d91afe57db6ad362f5b3b86c4f039d5630997728af4b7f5b282bf5bb01695e80ef4e25f19d60be2b410e64bd6f31035f37d8b26a57183663602b721042632a50a7ee0620e47b3a9471ee102e8610c403eacee539a37e9078ccccc6a70fa7a133629d3bfd8488e142d8c8323ecc859a2103e02110d3efe5895057dc86fa7e34cc6bcc8b9dfef53e3bdbbc6b7496e60ab8ec03b47627279b8e4f24fafd3054c27690484e102fefefe979a283e91d4dc55fcb3403f48817da1a27f526e3cf422bf0f90601e3541d026e3acab7cf3b4ac1c9201136031b616f83d0fc0591312cad436aaca4c6952da83ec9a5f6be2f2ce7e65905a562037a1e8fa14cceafc4c964ce0191c4e79bd9727fb5a9617a56d31df8b9c4f8d71f03c1a773ca8efe82243668f84c1212699c98b9ee1d32d341d97e4d565fbb8dcbb7031cbf73dbe44a640412523d2dd327446df594aa58e54dff7161b2ba663544d825035ea40ef7646c564533a084cff15931c2655d48978a8c6c99452c73e87c0bbb5905581e03eb4635fbb1d1146c49b9907f67c578bce5e019093a738e4fcb09ac01900c0147441f9670c6b98303f6fa84626af93b577cabfd6fc4fbb8b6ff20d5ec1783f5f1a87c42f1758feea803204894109e563e45fdcde7e6083e7ef40ff2dfc19cf8a7a10792df001c1474c705581e035571ade717ba75421c9cb9cb7a5711a0739f5ce763eadd7b60c9fdf1c007011bffffffffffffffff030421dc935ff9c1d3139425d7aaa689e392125dff494d4d61a34e105470179aa70310550dcb9706613559e9b402847f0a095cb4906eadac08c78a85c294b6df11f505581e03861c19cc32b929cc09bb158fdec15c2110aee803b76306095d6245977004070330c0ad6d27650e84985e726722c4abcf9cbf6afd798d0171097dfade60666d9a03d594354efe9f1047bf6eb2f014d27c88db3e1121818111b9386097127bae453b038da7c1e4cf62d121c9a60aebc8fecb8d6cb2364e36291aa350b13c0348fe2ed900582103d89a0a70749b77e08aac604560ad410d92793e51ad17da89b2bfa2cbfbef82704101005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810542e59a20f205bb85a89c53f1936454680651e618e005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054cc52f17756c04bba7e377716d7062fc36d7f69fd0218a405581d02f443e1c8d20ac3fb06c590046d5da02aa7cfb12d23d161a15955aeaf0f024910bb6b204424c2c8001bffffffffffffffff05581d02ad7896bb193dd19c07fdad1795120ce1014f9ff58ebb83776263351f0c014703fbe883f550e502060219097703adb00a7a0e1fbcccd9afef600ec8299438a0b95a5ce5500c208c57f0261e18a903d1c02d38d3ed98bdd6adec2239faf133369a3d0721ade561c094e93f253f39a30219ffff038658f360b43246f002a56a83eff9b685218db8becaa67ea4c0cece591daf5c2a03b491f95bc6460e1c9b43688a0a083adbec43db681f8c02685ea30f867507260b03845afb9c0b6b1ccf3d18f81b95bc492340fca963552012b1c10bf6697edc906b0219ffff030bf8d09e569b323a0bf2e05a0ffb5f27400a15b53dc678937e497d2bec68eb69038b8f1abdd8a70c2197b12e9771635f87c319464b4fc41644084c76d76453fd3003b3bd5533f3c7ed196cda98deb5373b8b1659d72b2730ce568430c40bd16429f8034390176b0acb3c319d2a2beef8de37091d3bdce5c74b158b73999d79bae6fa1103396125e0b5c4a94edacf3de4ad573d15e4005a6ca97fbab0287bfa29558ee5cb033a9947c28f328165f2087df0680774927af144129f0709fbdc136430f6c9ebf30301419db986d4fafae5790e6d7b7bdba2af6f6bad5ee25c3771cbde284ed54f8203bc2b350bdc4bf3723941954a763d8edba284acccd5d3b0393fef0db3f11549780219ffff031a83795788e212e58dab0e5dde4d4b7209a0806a6013a42538873eed9253c38803379f3147c74a35b7e98db6f14c160a8632d755eb7a12a3dd2512fcbcb617151e03523dd9b47ac6df8ee1f08dd6a20ba7cbfba20589c562754fb1f27f296b91446e03ab49388e10619bf76d4d0cf9c33b91383e5a021c04f9334bffcd3282c7c6172403342eedf1a7807f59a3a037986da477d490a0a49755ca848742c0e5cd7eb8389f031bcfd7e9c6df07f37b60b20e6df2c13ba3eacb59d3f9ca4c976d0ae35698c232031b145a58e0eb1df1b7a3e9fe006c513806d25d98c0bf36260aa87503a91de4eb030acd420da2e33eced102bb56f19bf1aca31c80178cf362b0068877ab79f4f1e90219ffff03a634ec4458cb58efb4028ede5ba9ac814d0867825bd8febfe3fdeedef48d7c6d0326bab7b0c40d8da5e700c76ea27db0026c822791997e0bb509285ac6437388ac0328773e168b79fb04168935e96b2a8f545aaa1a2a4a7b69fe71841d45174df33d039440af642c2143810d01eb7a133ae41822d605ea448538f9f9e8a4966932237f03827586e6af518bb3893000426e87f8e24a1fa73e622857c4159ecc4c5b949cf003871b9a7166e78ef85fea7f7bc08c3f7a1a500bfc287a7e2138c6c8f6be9970ae03c8076037c37b9051ee815dc158ccd7e0c397d85a081b8642da7d9a5b8a25d33503eb861560fbe839c7fd7a723f61f96cfee4ce048a25f73e8ff8c4b824e017a87503d1d455a7a0d2707f61e6bad9d2541f90ad083bdeda33e43521adb7111b0fc2dc030b2275dbc6bc8614bd0a3b11a47146062d30b932f50ab84a0f5c7dcf4400bf0d034b2cb01c26066b1d9da90f053d2a0e668ef77aacbdaa93316481a0a27cf3587503277fdc4562527f7b20c84864876090d8cd876d9efe92b864c7acb00a59810a4103e1fa06e1c4bbff80fa64d56607df4cdf5619d7dcd8d054f623cdfba13822ea0f031101210fd90d59b56b3b74254d25e0c679774576836db06cd1fd2c13642690b703f82c4ef60f12497d608a1e9a17f33aa781212fd9cf071604254a1407503f4b58031df19ee230d289005393795fa305ca4fde7b309ef84ccf41a677061839800fcd033d8d5943669afbd7e5c3ecc6666d854d73d67a266e9bf280d11a7be6a0297eed03b642310b33bb24e8a1742bc4fcb6f86d3f143d6f681733c3e7e2b016c9214f890367b064cefeb930d217eced1f7ed240b8f83cfb1cb0277791da9e83728aaafc2503c2e4dfbb6e9e0ad9e67f83dc50cef861eeef3286b54d29c40dd06ac14408213003b8577ec8c3a9c9fd8e56bd5b00dc92c87a0d89de0a513abf78a4a87036e7e1130358212c2b00ea949ad4e9a487668e37a0fbad0133de34eeb2637fc2c32b807d3f03855bb4d4597d03a306d8fd4c42dd65dcfd12335871131413ec232824f5073bd003652f127e9449e390e36857b36b707239729168b493077e09ee1ea8210fe3f80b037e5f9e26fce6b6e6252e4252333d8c0c748233999100b9ca7ba7e136967228d7033e4d517dcb5a13636befee2ff042c5b6486ddae259d03665b68c7b0fb6220d5403336b84c40d4e0f23d16d9bce17fd77b1c85f6b0546ecf33e9167eae26f81a0230342e871bad30b24cf9a1cea851c68abbddf26a79f79faeffeb183719428e2b2e805581e0307d1409b3f058094ec6ebb991b9f3ee506eeb6906775a9f322ef901fe0040105581e0332f9cb946794e262f86ab677c3190d736c3aa411445f213ec58a24ebb0040805581e03882567735c25d2b30bcdf160f0852d9e1c6cfc605181c1ed8866da1fe0040105581e034f47b1784e42f615772afa30da247a003074a43135599d1b06991da6600c04470110c2072b9ff005581e03884bdefd1a293369096f059b4633b9217c91e4663378fd4c92c49bcbd0040105581e03c8af8259c621f64c9e30b665bf9f0e76d900c4ba35f020bec3457b9f00040105581e035f5e671960abcc054b31969d2b717fe95aeda7daf65d0e9ba7424380100c01471430675af5400004590fbc608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a082311161009757806395d89b411161006657806395d89b41146101f6578063a9059cbb146101fe578063d505accf14610211578063dd62ed3e1461022457600080fd5b806370a082311461018c57806379cc6790146101b55780637ecebe00146101c857806384b0196e146101db57600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce567146101605780633644e5151461016f57806342966c681461017757600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b61010261025d565b60405161010f9190610d06565b60405180910390f35b61012b610126366004610d3c565b6102ef565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610d66565b610309565b6040516012815260200161010f565b61013f61032d565b61018a610185366004610da2565b61033c565b005b61013f61019a366004610dbb565b6001600160a01b031660009081526020819052604090205490565b61018a6101c3366004610d3c565b610349565b61013f6101d6366004610dbb565b610362565b6101e3610380565b60405161010f9796959493929190610dd6565b6101026103c6565b61012b61020c366004610d3c565b6103d5565b61018a61021f366004610e6f565b6103e3565b61013f610232366004610ee2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60606003805461026c90610f15565b80601f016020809104026020016040519081016040528092919081815260200182805461029890610f15565b80156102e55780601f106102ba576101008083540402835291602001916102e5565b820191906000526020600020905b8154815290600101906020018083116102c857829003601f168201915b5050505050905090565b6000336102fd818585610522565b60019150505b92915050565b600033610317858285610534565b6103228585856105b2565b506001949350505050565b6000610337610611565b905090565b610346338261073c565b50565b610354823383610534565b61035e828261073c565b5050565b6001600160a01b038116600090815260076020526040812054610303565b600060608060008060006060610394610772565b61039c61079f565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606004805461026c90610f15565b6000336102fd8185856105b2565b8342111561040c5760405163313c898160e11b8152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886104598c6001600160a01b0316600090815260076020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006104b4826107cc565b905060006104c4828787876107f9565b9050896001600160a01b0316816001600160a01b03161461050b576040516325c0072360e11b81526001600160a01b0380831660048301528b166024820152604401610403565b6105168a8a8a610522565b50505050505050505050565b61052f8383836001610827565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146105ac578181101561059d57604051637dc7a0d960e11b81526001600160a01b03841660048201526024810182905260448101839052606401610403565b6105ac84848484036000610827565b50505050565b6001600160a01b0383166105dc57604051634b637e8f60e11b815260006004820152602401610403565b6001600160a01b0382166106065760405163ec442f0560e01b815260006004820152602401610403565b61052f8383836108fc565b6000306001600160a01b037f0000000000000000000000007613c48e0cd50e42dd9bf0f6c235063145f6f8dc1614801561066a57507f000000000000000000000000000000000000000000000000000000000000000146145b1561069457507f7f0f63188d3a1df66e3dfa47885f83f2e67f5940405f6af979dd4ff7c9f2927590565b610337604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f74bff41cb476fcf97462e6509493735fa2fc215eb678b1fb8e395983b5e54492918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b6001600160a01b03821661076657604051634b637e8f60e11b815260006004820152602401610403565b61035e826000836108fc565b60606103377f506972617465204e6174696f6e20546f6b656e000000000000000000000000136005610a26565b60606103377f31000000000000000000000000000000000000000000000000000000000000016006610a26565b60006103036107d9610611565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061080b88888888610ad1565b92509250925061081b8282610ba0565b50909695505050505050565b6001600160a01b0384166108515760405163e602df0560e01b815260006004820152602401610403565b6001600160a01b03831661087b57604051634a1406b160e11b815260006004820152602401610403565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156105ac57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108ee91815260200190565b60405180910390a350505050565b6001600160a01b03831661092757806002600082825461091c9190610f4f565b909155506109999050565b6001600160a01b0383166000908152602081905260409020548181101561097a5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610403565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166109b5576002805482900390556109d4565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a1991815260200190565b60405180910390a3505050565b606060ff8314610a4057610a3983610c59565b9050610303565b818054610a4c90610f15565b80601f0160208091040260200160405190810160405280929190818152602001828054610a7890610f15565b8015610ac55780601f10610a9a57610100808354040283529160200191610ac5565b820191906000526020600020905b815481529060010190602001808311610aa857829003601f168201915b50505050509050610303565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610b0c5750600091506003905082610b96565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610b60573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610b8c57506000925060019150829050610b96565b9250600091508190505b9450945094915050565b6000826003811115610bb457610bb4610f70565b03610bbd575050565b6001826003811115610bd157610bd1610f70565b03610bef5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610c0357610c03610f70565b03610c245760405163fce698f760e01b815260048101829052602401610403565b6003826003811115610c3857610c38610f70565b0361035e576040516335e2f38360e21b815260048101829052602401610403565b60606000610c6683610c98565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f81111561030357604051632cd44ac360e21b815260040160405180910390fd5b6000815180845260005b81811015610ce657602081850181015186830182015201610cca565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000610d196020830184610cc0565b9392505050565b80356001600160a01b0381168114610d3757600080fd5b919050565b60008060408385031215610d4f57600080fd5b610d5883610d20565b946020939093013593505050565b600080600060608486031215610d7b57600080fd5b610d8484610d20565b9250610d9260208501610d20565b9150604084013590509250925092565b600060208284031215610db457600080fd5b5035919050565b600060208284031215610dcd57600080fd5b610d1982610d20565b60ff60f81b881681526000602060e06020840152610df760e084018a610cc0565b8381036040850152610e09818a610cc0565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015610e5d57835183529284019291840191600101610e41565b50909c9b505050505050505050505050565b600080600080600080600060e0888a031215610e8a57600080fd5b610e9388610d20565b9650610ea160208901610d20565b95506040880135945060608801359350608088013560ff81168114610ec557600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215610ef557600080fd5b610efe83610d20565b9150610f0c60208401610d20565b90509250929050565b600181811c90821680610f2957607f821691505b602082108103610f4957634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561030357634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052602160045260246000fdfea26469706673582212204dbaf3708ff78dce7d810bc6a4fac166c89e7fe514fdd21c76be422ea72e6c6164736f6c6343000817003303a64a822c22bd4f507b22c1f6c13297be18eee2cf37b980b4c05f390fd9163edd03e942f1a5089d7f6176e5ca12d621b89cf563140025830adb244889113d96f1ad03d09cbbf843a6ccd83ebd61c5f5889c2a4cdb2aadee906ed037921da868b69cd803d84ca3520e97c0a518d687ec0a892aeebb1c94c2f0e41d28a418f78ffdaebc670345e85d9828241a46cc2603be1163c54af3ff309d9389cce607798944212627fa03097dfa3b93f19183740e7f221f61757f7bcf31366c9ba0d6a05fbdac1dc42ce50390379e57bb68ffafb6a80f74ad2e916394532a22e4fefb40dd313dd3370518d103483d101f1f875fce1c8038965afc60cc27337c5f8c067dce82bc31b40c58677c0317c63677f1e09e47cb73ae02d3a20e17221baa3b5dd2b4951cd38cb028623e5e036f91134b17ec443f555d835cefc7c06919f689b2e46e36e5bcf463c7db5015b903fc63433d73f98975773203918a1a91e62cd632302ea05de422879d6808f8e0a700581f0290f0c2ae8ff61a7dbd231d7ec4db861a00191f192d389fe3b3051da92a2b49121b2e5e646478000000581f0237a79c4725cbd26338b14ee49e9a7cc4ba2571241103666ac95843f4a37a491ba5abf9e77938000000581f026af11ad1783b3e217d04395bf1303472a0a988e3762b8019660aa7a74fbb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03af871b397e96a93c4af0d8550186e02cdf1a3a6afc3b21b55a24ab4c8951405e00581f02716d18af82e93b686564e814d784302f01ba8aaeb533b781e5988e6d568349878678326eac9000000219894403da44268a4904223dceb5ad97da67c5ef3d5e48c45e0a139bea960a28c9ae0e7803028243d43caae5cb986d92218532912cb0c5b9a4ea08dea4f2fdeb29dedd7eb40319c667ff8abab9145af1a45cbf803ad1dabe06a206b649c807f832e5eb01cde003f36ba208e5b04c1d7ab894aab5e823fafb4649032be8de0094d2061e83c91b3f03850bc9b9156f710a0b2dac579da899a19570d9a624e9aff6bdbc5457635d9f0c037ba6630128733113a6752463947a838bd2e538c0f36eefa98584f0f42222ec1d03da94d8745385685a014f7354d81edf88ea8be0e6aed8ddb974c4443de79e79370219ffff035d7b974fb6d9fc482cca3d38878f34d80393536d0c834cda18d3d036611ca5b603e6e1cbbe25b13ddff125697f0c277510cc618aaac8293840d992bdbe1ad47811037018e8ca8c96c96be2466ba4a120f0908691cd0079c857dd3bda7d1596ff106b03226df8b4a321f5a8bc6ff05f4beeb6e72bc1e9b947f2f960e0e9542bbcdfbab503260a5af47209c2bc8d64004f319c2fcdf9c04eb570c43038b8d4a1150e9562a400581f02340d97bb9a3ad5613918c7817d4cc6224faf5a73820c0ba2a8f16f5f697b49121b2e5e64647800000347c52d1f09a6066521fe6204707d8d094c88c66843207d65e05c48265c66ea7500581f020b49d6436add76895d2cb6ba8b567ccc7bd57de954377c90868dce9f3109410100581f02fde7f0976b358b2744a6a35ecb955b9d48335a84ae1193811cf90c85cf915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f027c02cf8019d5beed12af7d1e27a5098f3ec59114653c26c73d163f09c2484926a6dcda5d3584000000581f02b9bfce1ae39bbfb9f66d7b500ad6ac0d0ef4cef37ebd859246a3d4050f7e4b673aa8bb3b789272520867021945c2036bd2cd91d92d062ae8c67ece3d858302907d0c4f1963dfbb07bd76fdf93f463f037f36d1db3696f90b07323355b141c4f30374deb8675f472b82c788abce63efc9038c1b999e3b89f6db9c8d5a7c201c603254a8d8741d05e0fdc0e84d44504b294803dfba1c5902b775d8187c3cd81890eb23e8913d2cebfd4606b27079a4c963145403d3d6aec96e0098b6aefb5346aa378d139dcea8fbbcbf7c0b2fee54137b7e164d03b82baa2e547b49f4220439ec9e24874d487af033ce59d18c3685f5601be6f4fa03bd901b367b105206b418a03c1e53839cee9bfa22f4613199e594236b3dca9d4c0330abd54fb7ad0b9930d86552e5767586ba07dd50e9f2ed27a9d2151e93896172036686f9735d51cef9a13772bb8d43635c5579122a6ed4ba8b1c8ada80febe64de0310923feca076715a1097f52601b310f92dd31c23f7c2d41b6e925ad11b12037f038153503c4cfd21cafadb4c4f5383f322dfa9cbad3db5387bba46a46f59a539fd0304d4165f6afbeb43a15ca67f11bac88bace960452917066deae28fcd801c81350301d7989fa7e7b354ad23479b26deeb8b456851c2331d9236dd759db9265998c003eee27f9caee7d17d91baa0ff982e6dde1a362b5c63e9374ebdaf1b51fd102da4038989cbbf2ce578d7f6a85b9819701d6dfb2bac528d836d54d5f02908fe9e4c070219ffff03ab5305adcb418bb2730edc2d99813e89834985c30c9ae3403aae4de34141ad5403a6f021768d900d030d5b22d0e5ea5434f8b599164010ac6bdfdcae839a41bbdf031ee9b28c99134d8ddbb9abe6d08a10cc6a069f81b38bfea78e9b39e9ef6b073703b467034615e12c7a52ccb0a98c671a3e33687f510df43548328dc031319244dd03b00f8a3ba94944c3ba84b92abb67abae43894ee3424f717011416f9b0c6847400312a765255ed3a28363d914f4cdbefbc4ed01a837f45f5b5696c2a857a870b882035d7075d790c200c3aef221a6423b003c8fe1c126b4c8466c0b9f112acc0e67dd0219ffff036fa3d61cf6fee7be173683af02951047f0c6d8a834e6caae371b6889ceca2ccb03395a94c15128e081bb5e43e60e67fe58c189b2568d59ecce8deb567f9fcdbf2d034bc763f0a9b31631e134eea43e49ae36dd5278287d025d877b2ecc14574197b303c5d7f914133ea1ac43ac9bec52cc3051283c0bb53ed1aff0cb49cd986b98169303f6ecc3bac60acbf5c0ce574a00b72041959a725246e0692daf7c9b91433d672203babc6308f3cb3c9c3200e9ded72b7e51b2bc8db45cd20df7d5c733a53062a86e03634322005aa7b761713f992c00fcf85936c5ebed2af2b5150b28e8c098c813bd033c67c4a733576deeb411becc3e81d68ea908be4018a3a6d7668b1dc9ded96b4003b400307f9768b28c1c4531b1d7c1c85f945020eb36ec34b630c8eff65f63e9730375d2bb27793943c995a79a2c2f93d84c97d7faa1c81f5615d1727a789c4bf6010391b7db4b70d909a84c02c135d5ccda422638beeb6245a879e2a8ca7b88f5203603f76dc8b6da66be30517f01d723aacf5c49275907a2f8eb63124bc0d23822cf5603adbc8b4520859745ce4b5143a0a2cb3c211f68fd681ad81e9fc4e223ca31146903e78916e79a8eb70d00903ebd2836ca0a4ad407e1a0f49cda357bf7b22f5eaebe038140c867bc0e8fe60424b219a9ac425a0546fbca089f92290544d8a7d830f1dd034e094f4ceed858671b10563426785e189c51f34684d1fea768b857127d1954490367d83d31b503bf65cf71e6bc86f16fb02e051767fa5d22d9ac2e3a3ecfdf3c040390d96b64fc848c4951cb46adc9e55ba3d5a3650d98c81967ca86478f9624acd00319161476ee24d86ec8f1105c7a7534fc249de30b5861d2e3198fd87b5ff8b0e30356ad0c7e41e30aa4452520e754ed473112bdfcf448bb215a46ff615c080b061700581f02536c3a5c1db0bf23a2b437166a95f01336aba7c4ccd6d307ea996d733f01410100581f02b3b7eac839c1e9e405bd69744eee147bd7f3bf5a546673e4ae02cfed5e4b410100581f0244dad1bdf32da15bcc6aea181255b8f5b94d9517415fb2dc09373eaf733e410100581f023c963414e857ca8fe92a618cc33c5f59616c160e79e63a3140102b3b9a09491b89ea8c802a70000000581f0283ddf145d10d5eb63db65ad32983d92a861215c7f6a9b50c22df79c6a92341010377b66aa8087d0adcaab67b82cfeb6c6815197f4b21dc7152fb3fd765f68ef00800581f02e08cc37285b0347417208abbb3bc1698b7e47eda7ca5e9cd0a27e516859e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f035a20268fc4d94ace87d0e1edbc10ec76364ebbeeb576d6c8f1e6d424ffd0410100581f030c7747587121803c67caf79cf62b177a742ce8b32789a1d71bf3b865c8204b0e15cc5ce3f5f24ed40000021940400219a47503bc82e701ef3194d9529b76f6c247f59a1a7f872871aeb09daeeaae640994819c0384a872312e2eb6baa06c827bace29dc7273e67756e65e39e495c26bc324c71d80219ffff031108b23eccdb5f449d332217c483c85ef44724e3c13df60f5aad0da5cbdcf711030d3e403e8b37dc8b485d0ca35e6c2ed6087ae5a7700a02dc4af23c98fa8a6b640378c9e4ea9d9366c21a3a077a3da9337a3124a7a7d85430bd921c15b406f4cac10372239c983117ea6a46703a5a32e237857ee7a700aee3bf52293152036602ad4603f8f028d786b7cf0cfbe7a5cf94574b53d3c3aca3e283db2dc082d306b3d5a9c103b4499a2a56c3554ff616bcf8240f4dc1ed147f22bf181330668ebb2ee372a2d0032196132fe445f1c6b8ae5b3eb17a4e4a922bcf98be44049f0ace62499c7bd6ba03d8785b0e5f52a24265917b0ba220c01002fe2e178a31f1b2320a13793a8728bb032ee2bcc15016f98e86b4189da52c856892e0171b65b250c22bf07a944ad131410219ffff03ce6b173beb3275faf4c4b3225e7b7fa6cf038132ae3565eff4e44bddcbf0bb2603ffb088944a0607b4f71cecc9c9065d0dbae456253e5db2942f482a82e1ea8b3403c0575d41f8edfd91599607cb9c310419f0caddc64a97a6e64b4cfed1e0f01d1d03bce99e309424c4c52c206663165593d78162d68bd29aa3780392f810c35b874e030a9801ad3b74502e53f609abc988d3eedd6f87b65543814e469add2519ce229e03c6cf7f96b5168dc6e3529152758d895483a051d3cfccbf7ef9055357681d378a03ffb00d33218e5095a2aacca2fe57917528ad6de9df6eca533ae50fbef95b75fa03bcf807cdcaf72e666e40a53d018fea3ccff42e3054f8d48035a2b37e11ddf4270380846bdcb8ed89d963fa621bb350298bbb0628c2f226e3d91c6a3f56f86a19a103625c4ff8e79d8601546b706b1544f59aa96052240cff7f961d98a1208c3c63b1034fa799b0559f21399688456aff75f2d5ac98ff20f0ff6c84b4c63520c692ffd103bc411770c8128a14385458bda185f5339110fc754200009bae806cea21d919d20325b685beeef9fff2a659589833fc166397d0d6abef2574c2d227fd62315edb33032db814c7b232769fe9335dc180d1cabbc09fc86047dc5ba25f362483c508f5520339e6eca2936f31b17b6fb91514d876a502be1b3511538ed8b97eee4467cfedd703b34d73f2daa8b2605717aceb996fc6cd21d3d40c05274aec4c1a5f2dbd2480c003b143a020f373af70e38253fdd2805d8778398ce30ddc95a31b36e72e53ab7764030276facc03d475771bd2201e026e4a907220675feb6868cf8f4a06920713786203928b4ffbe37f23d435361ffc2571804a87404b56fe7b53a881acfee4a93ad88b03cffcaaed27c0a2b79d15a66c94053a1a154b8a3b1960a40ce451b2f5d92842ff03fb62635ecb250cda362a023e1670d18e35c3c837fb0eae325c754384dc72a54d038b93d6b2c6f0e5d67ea7a3ffaa8f2d2d45613a424476a7c47b96a9a5dd20213d030e4250cff77370d36ac244068cbfca197350456827d1bd009c6b79198f687b11033187b999646f970310007777c93ebc855f84c2dfc11ece93142d4b8ebb86f657030d273a38f8722dbaa75f96651af001b6394490d6fbaf4e9b06cd10c3b1dc2e0803659a4f3ddfc4958dce485f0b656603925202046ec57eb600ac1853694d96445703e3c42bf026d9d560da7b38a1036363e36062c36f8fd1704777e83d1fb061b0480371f061187a2b1156c15f6b91ba394fb81052c52796a43cb79b9cb4aa9424e0620381b86e55068366f627bc008425ddc2aab0f99ef4b7cf55a82cd9eeb3069234a700581f02b3c0b2518551786a44af605c3d29ab32e98d4963e308890fa609980397fe410100581f023ade6cf8d990182e32bde642a7d476e8081269acecf0de477e8bc70ead0949120d4da7b0bd14000000581f02982ebcb5c4816df5a708b4000b4d32367b55a2d6ca287a4a6acced4913f15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e2460fc84fd83b2ad0fa1f2cc95577c95b2f10461b1ad7d94a96a383da45de8e00581f02798dccb2f50eb7ce94dbba27a6f29b37bb885bd923e82fc95ac74effdeaf410103a68c84e8bc117839aafa4966bf3254703ce6edf9bb3fd8a212e1ae2c3a14241c00581f02c618b29ef7e2ea58c8e8b75584d80ceea7dc48f790f7031daff3ee9d3e62410100581f02f6157bfe6b14dcd1c86259decbcdb9fbba83dad84201da2d4d80f71846db49121b2e5e64647800000219fc81036bba0d6ae83c84241c3cb87a964803f52b1e881c80ae91d88d251d44ab5f3f9603ab49a2bcbddffd15039e705969fa04c18326a1a90ebf65e5c50e741ea2ada70a03e60666d5f339da6d0d2598852e2327cce3d6df455f367ef4b862e339e954fef20302040615896458236641cee93603146d73f18b44100936b600c722404bb86b4f038650f2a4403e5ae6a1c783c1c30b153cef466739ca3c33a18d5e49065137bdca0219ffff0219ffff0383129450fda224350e7e116ff7246b9584c6afe710f3cfdb96de1b917f6ab81a03ef96895ddf4bdbb77a71224d6ea144e3a279962aa253d48c5d57a47c04dfc38a03c89a8368cf99c6bd1891371f24f4edc3b54bfe255710619ad6c5d071c290b4a1039072c887a93372efec37e792c77b6c721543af76072b5ae65aa9ea8cea5a626403204efd48c1f04347234f5b08527fb83be53c027fcef1ad358109f831a6f12bba033785c1421873911f51d23b556e888e674fd7b5b79314cf6fc5ac95dfbb51887d03ae2bf54ef90c8a732b8efbce0d131def734434eafa86051d49bba2c2995337b1037feed2419c0003ada363f160e60c13ceae3acf950e826f478da8e45a152933800312e3f5c02760c41d01d4e9072313832f6816e08ccabf536b8ff355673774ad57032c795d9f773c202185bdbd11206e45473b5c86c439cced2917aaf0de04f2ded00321f875dceafab1612db932a28f37b7cd2186c1ec7563d8e05fdd46cb0884b4450301fa2ca6da5d6563fc831a924e95893661a1ccb606d47509bad1faeb349fd5d50399f0bc5a7dc6ba14a81cb582ad1b6d3c0a6f7551b058af6524a2d0c0a371e97703756c2261034718fdbf479671b2fd1c51c38a29f7baee2b598cb175548616bfbf03397b586c5eb9c6aec4a8fef08378e9a03e456b88862dae8d056bac9da9f9f7b803a4c6c5cc8cedbb7866a267548d3d5dfbbcff82485192fc4d4acd289728f4fdb203bb802fc06d69c7c022920be74816396186119929bbfa62a93091187d06fa2da7031e7b69550ffc0987a2783f7155babc15d08ec77c9f5c1f1bd95e224311fbb48303163fc9869d3eebc20a8c681a003f89bcdc03bc56f43ef39101f7f5b3f3c4750c03e22c7a060c6421025eb6e155d524734d22e52268d04335253022e3773eedadd903fe588b7e0f6f4aa31fbf5361b805b0ff2b96308c253a5f5707b60700a6c314dc038582883eb9dbdc3e4a3728d276d024c7c637c8cf9c1a7e3c0d55f83cf2a8c82603c9ed56974dbe409be468c59dd2b0e87983e974da6054715c6c9470fd7e17eed2034ec3c6e0552d2fa767303f41354867c96e0b755eb3beb1252f8edbc82e61117e00581f02703b9d2682bc0f3fccdf1aced765b161663c73903dc4132d476c8ead3f4a499427fe7bf20694000000581f027e685ceeba2caa4b5bb8ffd154d5eb37de919a78f4f5ef69deef0d373ae15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028797eff71710b9f2e6c0fbb616f964921419aa6a47b33badbcc58fc2f477410100581f028a902bc70c4aa4c4d7e4066b07651b65f36fce25f4f976af33cb3074c2654924dce54d34a1a0000000581f02b7f9db45c15a8b3f92294739c6f2e1965afc97ae135f885c5658bbacd3c9481bc16d674ec8000000581f02750ed6eb2b1d2d2cfaad63223164c0a90b14be481f92ad1b349c24afa3ce491cad59893ce5a40000037a3da6979cdbda06d5f69ed22de647f430b03ec565a154dd07abd00a6a3cbaee01410800581f0231a22aacd0a904bafd51c7b928d23fa3b325a3bc3950d954a6fa1deceb2f410102191b56032926ec2b42a30e764bd49ab7aeda57979e4b96a56dee84cbcb478ecd84b634ea03376b56239b7d975fdb64963026230e62519de5a7ae60e43adb55a01cd118f29e03b7ccfe646a65d7b6d2712a742dbd6d5e726521da9e47d97c112b17c7c7150f3f0219ffff031c2ce0a5678dccc5de63ce817a7b324ee7e86526aede9db7d47b14c67806fe7103370aa2a6d050976b708e7555f5c3f27e2db4cd4bb60cc29eb52778f5b6b015ae039339cba645190956dddd628bd7601de926b08ee6fbde39033741780c123d74270219ffff037047cba8e5ff853659229be3b72813b0f47590ce93bb3767ddef7382ff7719700339325aa2c1d11bf808a33a489e30fde968376da20d0e469ee2d92efdb82a632f03f936b1a24aae2f9a6d4ff1dc6e64857ba610253560e35f57880f1409634187a6031928c6c4bad80282e6154c4133c74e50fc56848c22c9f74953800bf60a5fc6fb03afa72995193415c813de60cdd9ba60baaabb827ba6fc615b3c483295f05b4b15038a3e6dc21259c9435d1555123d6bf85d0d909084c1cc391ea4f7f7c8fc1538320219ffff05581e0328b388db2dfc380354675f9516856c7ba290ed803a26c0b55f766a0eb00701190fbc0219ed850219ffff0361db26ea963f1336070e75ff1e91a4496f8d2bf73576096105bff1fc5c6e502a03d6ebc7ea33ae168beb580827c2c600a2f772db1c65f665a54d269ab148a2656703330460edddab4a2374f7c6eb430f35b3a81ddaf389d0811b9f0b37c03c4933ca03602d7bc02e7b0a6ee7004ad360ed52037af884d1f8a3759e7b7dc9542b66133c03a93c217c6e1aed1d1a98a199011bf23685993d46f881c06637a46c206e507013036e893b88e77851e5ec25c8ea622e080735c8d216c43af2b5fd07c24f5d95d9a60301b03fe17c8832fe7c8c2a03b080024c5f5b802c3f75c01a45135833b6ec23270306c1fced268cb4f300db8fc8855d70950305d08156ce6facfe068abd945de0c7033009833c4c189cd5d80311fb036cc60035f6efc1816571753eb7cb82bbc65b0a031a6c423d305955fe3202df0f1e46220132147e7584becc150950a8dac098cffd0219ffff03bf00a29ef5ae34bc4dbc8caddae4566c6ac59edfdf19c29b85f816a55d4f8e2e0323688a3b889b88053b7a7d1b751ad98cf72d92e5372edbd72b0e62016ec2949203226d3fcec0f342262e7ea12b21f14f64131d48a4f3b18a3f140ccd47cf12bc63031cceb2521fd7bd894e8f88e279331d5cec5ce164440c1043942811588342d84503b1cecf77ad1f943661013fbad2e244f8e667b95cc2d811826ff87b49c63e9c3303b5ada478c64c44704b0deca4bab89c3409f4ba869a6e8d9040fe15f72c78af5c03e4bdbe59adc03d100611f9c460424803f7b9ff828f6652a5d9ac5167da8006f003258fee911d6f264293f98990e3edea6b3467649a52762f0912b1c477e0e0fd5a0219ffff03e9d123d85be4a4839cc45be54b73df334a26f7b7d64ab8e0b9f4767f56b264c6031c9db98a23630e2de990f645800b671341f01da2a7e4817f22e73308f9724d0e03446d6d937ac980543eec322457f5b0fcdf095989539f9d5c6d3b976e060e01a203ec1af783483d835377ca03d6ad2b1918c66b4d4499a27d8459c59105cc26bd1803307684a47f229894d20fe17803b694aa4dc315d5ff6ffee03130c236180e3d0b0330467107b7aa4167fdaad02de4857d662462200393e53ae2c1e04501163b270603da125ec84eace2e80d357148b7395b8313e83dc66321d7d6b67e60925c1ed79a03c87dd37a11d3ccecc7a4e361f9f25d93b7df7afe769010715fd85103717f69a4034cd85adfa1c0284e18e36851878ae995f86a53a7677a6f7c11d55e4cd30dbd8b0380346e7cc5ce6cb0f704a33e787e56a8f0d4260b0558cfb24d5760b18812903c032a99dab6d2c2611db23589d95b6ef763dabea89f8a06f31f680d35989b329f11031cfdd3a381b499716ee0a0a52ad1e9dadd0dc16e268abd9bda6b4f70bc8ded78038ed387dd68c051916fdc0a94d78fbdd273a801d922fa3d05ec09c66d9c7b456c03f17517ac9ee812636fc128566df1a78accc529be45ab02c8db04001d4c05487c033a3781e40bea49a71bbaf31974b8e7ea22fa760ecc7b5f616c49b3d552b2efa50219ffff0378f3612fec371cd4725c5f60d74f55442cf8c350ed6141791b8a63d101a7c80f03903a8872de0548198ce445db242a9d2e6cefe1367f7209362bfc486d88bb61b50372789125cce6c66903c63541b3ebfbfd8c676379639928fc0cead37d9745735d0375ba913b325e69b473c7939b83eafe214892f675043e2b6170d1aafe3b36057903aa0d739bc80729649df935da2513cda459e81cc50edc1308acdd117eeaf3d83f03eebc06cc1952ceba86892843c438e31712ae57da7292622cc7332f998c3fcf67030952dcfd45ad4ebcf055fa84a5dea5f3113b22cbd7b2ac10da4af7f94a661de603c42d0955f7f04a9f61d5505b7f04e0f3a940d95f33b74432bf77ae90472bafe303db3a0b80bcbb0bf8eb3037ee01750bd9fc0ac3ec12741b7786955fdfaf42f5c70331af0ca5855608de93ca388803784c4fa3e8d1a99b199c5c32ffab176c9fc226031d76f370fc96f55506098bef1849f1e796990c9a56c4a80d9b68aaf3c4e5bd7a039e33642d296957586d2b9d9915f4e8c56f553d67181aa2009a1be5687347928c03904058cd34757c8130e99672bafd3413261a70016c29887fbb4612777dd78cda03a5982e6fe021781b24b6a27b3070113ac3ec00d686b257fca2c556028949b7c50396ab4ac1ea2cf17d65ca4ebe9673b04eb314a62dc01e7d9c7000708fd1d02d6b03b2a034e5101a9d4cdf54c9e8e38c569ee579bd135d78ae13d0145d40f8a116f003976cec607cb3bb56408fe88bcee2d7e36496b8de945473b668c681c1d55c6fc903d20e09ff5527e139439e1ab6fb9da820c8a76b73bf3d1b9ea2b1e2bc334b5fe903a31fba81749bf70a39046108fe057a893c04ea153a1452245a6ebec3495a44e503215397b68fc872c3fa547cb855bc7719cbc4a9008d509c8ff75c448f786d531c03efbafa78ecc9c769cfcf6772ecc85f42b70b5b0d7044ab3684910a30fdabee8b03fc0aa77f1b1ab608ccf309ecb3f5a333527e3613eb8da3887fb12b8236835f350337412d9078a287c11ad92a016b5bf1fec5a7630e87df1d7d1f0d9e7d5dccec9203b04eb8ecd9f95b7553d4e5483e414ea582e94d8fe07545136bb9423329fec16f03381d6c8d5c210bd85cb11b884356157fd8c61798d475868aea5d3f1a4c6b563a03378416f3f1d99e413f3480df5cbe08d52710332517e1ef1883f35c8fa7476f8203004a5110fe28954b3de5efe9a5879d9dc2428f8c3f73f0556dab09a915a517ab03e12684c2490f1d39d7e1b550a476e13d5c4fa7e30137dbd80e427a04c43cedcf03a32d8a439df759cb9c1dabfc40ac5355007f742066e57ef1b80e192e49168ce50392833291f8f4f2de078f29c44d9012e66d49facae4d5216278882637bee281e4037beccd91f9da8005bfca9aed4c11241033498b9ef0535f7aeca525b91155014a035324de66097677e941fee5b8c6bb7d9ee968e485e5b97e7e7381f2d0c1ecfa100361b24157fe0831cf2f4c2682a6e37fa57973d3a98684c39447d6d6953e6bafe70356af8bb4fa1deb41c73f9e62ad3192d1ea4e7c7327ce52b0992e6762e9eea33f03dc08a39b88cc5277c0efbb8717f2af9d415501f14c7f4d0556628878cd9a90e2033591827d49c51bbca759bd5c7a8b110b33a4d5ff5b553169930414d70d74a5ed036e16c255b4bd51e5428302e4de18306886367fa4fe28ce8e508f9ab99182395205581e03b975e74d9cd9c25cc9883cb1a2f5971d0e46404441ae023654db13d1000c01464bca8dbb4b7803c6fde40ed21d041ef60a6dc1f0da3cd436e5511f4f5a29a0e95b4796deee30c403a3ffc881ff7f6f43814cab3a39a3024fd80d7848cc8f1cca85e0c12716014fb305581e03b115526b3f078ef8878257ed9404de2099ba7a6a2b96f2be798a39fd300847038d7ea4c6800005581e032a27c7dfb9b993546c18aa7c51bfa180532372b5588659c79bd56bee100c014703243b6e29420005581e038f77b1d3f5d4225067951778d5a791335c87dc34765c5f13185f63b9b00c05443b9aca0005581e03308479d1056e6e654201f8f8961829bf5de4e361c5615022a9e31f93f0040705581e03f509070a837fca5cd7873151500a698260193a101949fe784f3e97aaa00c1a00018ac348d449d1d9d07cb0c10377b439ebfc65ae274149c8d3ffcacbdf9859f3cc2712f25e54d667050ade980b05581e03206ad002f56908cfe4c9ed547deec0d2829a9bd900d69a10be6aae69500c014701d2e5f0710d400219f3f80300917d54749ac5e4dbee1dadc62b1d5170b06506efb22c9c10b8e960c7a273950219ffff0381beb80edb9ea465a34b8866dbd432ecc6f3cd1ca2c7e23882911d9dda09ddf803ddee0bc54dfcef91902cf3dd33e05a81f99c345ec9af25996298b93c28f46e3803c3f29c7520d28a0e2551f39cf758a6898339dfd9abd12fae5dcc1451ed5d3d1a0309321e7d1be485bb50867faa251abd11971ead07e496cc17db4929df4b7158c903bdc668b50304023237856256aab8ff7360d6e2d0d0ff91a22f117f5f5db7ce7203743a7bc1183cd5590cd1996a0cbe71dc3ccd2f665e349db3ad9a43ef392d1eeb0219ffff03f680c475746c426ff5a8a76956ac93fb4fd4c6f46d0eaa7894bea1c6469e2b9b03954a5c4a1de896d1335b00d78eee1587051a56957114741092c7885df303c9d10353b2b2596212b1a4d942e1c29e6e70a8c63c2e2b3ad99750ea5fe5feebcb6a6003862277c6002c3107b59fc3d6e0a69e30e98cb54e6a9f3f683b6e3c2d32a0063b0219ffff03b100bc8cb301ff3269006812858bb2d2630326746447ada8403a6995db55cc5d03f9ec3b4958b32626e04e2da9cdac213527477e18aba55e190cec3ea6283564ac03382411396f1f263c0e6e07c66d4762bb24c0b269899cf0e36e5dd782b03805cf035c85883bdde5f1557bb48c910b476b7b85401ef136387fc3f9a8d5d0e5b7b1d30338c6e11047e3fb313045f9f547cea46a622840a454591fec8a42035473afe34e0381a1c4ef1f5cdaf256518c17cc382643094bc8a07b4b985b1aec4affcd445065035f616eca95653dbf51dfbe3b13aedfb2b5f312398d2bef1e52202f39a7b4b396031bf7f74cf807c732b3342de9d63a8489f7be4489185615894b29f3c7d44258da03f9599958bb1c05245eb6c0dc5221da2cb0085eefc450a16025484a22a20bfb87030972143f7071c51425bb9bccff83b0cc628018a1bb499152a52d4adb72b1e7a0035aac26e43faefd42767c13611c56cfbd08e608e66dbb1236c7d8272a804929bc034c14fe51a38093ec0aa50f85eeaced080ea6a811b5e263bf52767aa2313b5526033cb9dde51d00c433aed7bc78d928aae9d29ffba45f8c0c5a6911ba25a33072e503c2e5cfa536c58b37499906ac1db839a0e279add627d2889d75b42fdc554ec04103d5c758dfd91b5979d593d387893885142074089fea81aa26ceffab926652f443038045ef8cb50fb355be06a22ddb41642f80cca0704e80501ddc2bb53e2eeabeb803758add1a1b6948a4b4b97f3c133087d0524da0fcfa45f0d4e0555c43fe672ace032f62433e308068cb137e59522483d3db7b60c33c406cc9a0a1f7323d227a2ff403b3c95b10a7fc4907c9e779be2dcddbaad44081ab602a8cc7b9340307f5554f9603c79ac65618118fe4e45c7091b39a58d8446d42f33691c1fcea975b667d35a4ee03b0f5124e26309bb03155b77af64b3bb8bca997b2b9ee50078913a55b02fe610503811cd9d8c5097f05aa2aaeab0dfb360b37873447e3ed0056e032ed68d7113766030a487673b2e90379c928e737908880124c1475e3ce7479c56d6bd0033de43c210334c47d6fd6d00f33b89efe01f3ab220c6f4d08223886cff8cbf8a90889a8a3900335b2fa5e64a921d289e860a2fd8bb3b3db7eb5d2795d8b33ddf89d3668bae1a00311f1e3ab0b3afae2eeeea25825a8bf42d4160d0de8d31161d80d71713a4a517b03e5de0a91f5c179204e02be680400cda3a40ea57a6ce8c7aa2b9b1934e278eca003e8ab3c76be2e74f32b88f9c0199dd0126952f4c6ecdb977bc5cdb3d10a250bb80342541af9e253c319810979ac157bd5741fbbb6dffb78b34e40974131e6c6f8b803a04e2ee5f2fc0b19f2955005c0da1b5b780a716395ee3e949dc9827b97b1167005581e033d534617e89553491f4827b85a6954c1c8b9a80bdb8cd65e05675c70500c014713d2fafdd8c00005581e03c10303281d305a6a57361a663a394c9de12e7ee7e35d6c5c53547324a0040103b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03630966995c983545b1b93c16fcf4cdb5c1d5ffbd83201bb4937667c7b007011bffffffffffffffff03d27aca97a6d6f4291e3697bfc8cc1f08200d4656cb93c8c6fd14b935bf90c3d105581e03373571cb9752e3f70bc2409dfd32766ea808cb701edeb7f31a5efbdfa0040105581e031938578363ec4a6bc7b91b91818b8d97a701e52119ecb7e7f350ada8700c02411a05581e03210feab8f8f16a54d228127fbd3c4b20ff61277fddb03af09ad34189800c0f4714226bb3d0228f03ef53cc12e147e70427c6f76c640765f590ac838ede44a69750bf0f97fb1613ff05581e03172fccbbd6d2babf86c1761933b04ab0f8be437a800757fc0825757b600c03470193dcb2e0d57003a2504e594d8882d6317200dbf335c3ee327ed56d5930cebed3e1311690e11a7003bb0654f9360ee8b7e4d1163e5e0859757c4c22e10058809d2608ec71943ff9370219f6750219ffff03ad398c35c1e4560f2b43679a1762f4cdd716bdd86152397667ccff4b89da63fb03fe4a86580c77df8ad2a51755b433c6595af890345424a7a1b0f1e072a4351327035cdb15a0d74f8a592924a019f04e77ffd5c74618e4517bdee9e70c268a602f3003ad51664894cb37347f9a3f948777061fda2a0382d6aa2068f420eaac65a3be1e03755b3b8c5ad61f5962228b880767ac41fd8fb40f0430295360895d7096b7b5e603a9055fb1735114521c00774faeba1fb641a761de0684c65ee99933a8f46adaf8030ee5c9385e8c8cd66ed107ef2f90d94fcf2c328a532e9562122024ae94e2ba8203a62cb590c0b56dad0290b6c17518435191a0326218efbf43a72f0e377ea52ec603f1e4c5fd7d9080d4e03d8ffecb7d5b194e955056f4acd1ce1a3e377e8c92820a03d199dfe8150790dbd29f5a422844f0bd841fcdb15165ac93b7ab89ec9689f613039762cdf2cd75cabe16bdfdb2521300b9ba6a4b0cdc5bac2107371d29ef16e1b5033dcd4dac5dae7a6d982c328e0a10430f579ddea8bd21c10bc4dfb1a431856a5c03a35c0bf5937aebdf4217ae46f031c507060bdd5a3b91b3f0e75cd0cdce877d1b03dc171bb6afc49c0657618e04f3b8e11b39c1aaabf6f8012961be8cfcb13f5d20033d2bc232666e4148dc13af4a21b5194f15b9df44ffc64c07a21de0456d3d59090219ffff033d06788759ef58ef86fcb5c3eb244493384f137bd1268c053bcbf94f9bf7fe97035a0265279c39b78db3e476e8b7895d94b90709ca3dcdf2a238de523c684ae9db03ddb8c3ce146caf97845f028eebc604565cbc73e1a383ac579bc3b2ccab8ae22b038b912517939f22bbe5bce6feaf2acd5c0f7e169760233c4e7245d012cce528e303c570f47c6d89097f90e58115a9c85ed46bdd57583165fad755b8407ee2794a62038904a26b381f840e29103b6a8c81f139cef3007db3a40d8e870552b6380e44520219ffff03fb39eb8535a6f7d29800d3cabeaa6b9c97c33594eaf246cec33511b072163b420318961d9ac6935b2f7a632c22a499dfae4a956efdf027d9a07319f91556595915033891c09309475b23e87eef2548d8945bb8d1b77edd8e4d0a8e80fd1172a8c27703af7174797b1ee66b9d29f2b2e05bb977a4b5224b51dee0f3c97a4692aa38d9e2038b67a4049deb6a38c54073439c0e214575f8cc1485e5f57b93096ae4527155eb0378c2297ceb0c9823f50131dc27c7048d5d6b9b41c14dc1a86c27543f1b8ff2900391f198e5e18965c408ae667291143bc53b52777822257b6b752d7051da3dc7fd03b4692401afbfc0109bde3e821f2495ae2e4a0abf62bd2de156f03a4f75c3bd4903451fcd486414c22a6fd18f9d14affc984e16bea75d1d4e9d46a9b127fc48e7ff03195c50e4a6d6efd46276a608edc246d1ff41ce706f0a5d3604882aba7d767ffc03ad9b04a494558a09617248eaad680bdbbeacc925838c0665a2e381247f5dc00003f1e966e4e97feb885c310733c68f59d2307973195fcb65f83b34496efd36e44603af84293e1c40efb32f9187486ed5381d434ef05bad87d51fd08bb4cd69c236f503f766489f57f66832b7d65d7d20312cd2a91bdb1b98f1b857fcc7ebece49f72e903f4cdd9e5631c3312f48f75e2919fe57fe149f27488fab964dc4b1ed06dcc99d1038061e062512968a3615c17b816baaa1358fd20e838b91d2e2588dff00c7687d103e969fb705f622e8912b22788679ee56b18aed46195b342226949e24bd9c9aaa803053196c376f73ea15a6c7d7a68b6623957b1af1b40b3f4328215c6238057afc1031c6ce8239b0a97c95174f5afceebdc3236963fd71df2fd1aafa07cb922e6349103129f19e6770944dbe391cfb0354cc26bae28772c09061c782f3a3bd91e9f9fbf0142009e05581e03df83fcf7887910a3fa90b9b14c8650855296c438aca012151c87b173f0040105581e03f1b426288cac2eb41e81d7068c9b47936f232505ab58f39977656f365008480320db8cffada80005581e0315bae696893ace6979b9463b8af411e9e7ee73c6e6a773ccaa74ba26d00c18224758e3312d5514d803abcf06ba67e6d12fa236a27b1080718c09ed9f95ba895d9544b227ed5935bbf305581e03c7bd9bef4670c155a21164dbbf8528317624038383c62aaadf8687efe00c014609184e72a000031271f1a3c827e8250ce21f4c5501d4b57e4c30e3a914445a92447b9aed8a04a705581d025a3c668361a652c79f070961fac3e9dd7eed911a6d6eca2b37de71a704020459462660a0604081815260049081361015610022575b505050361561002057600080fd5b005b600092833560e01c90816301ffc9a71461093d57508063150b7a02146108af57806324856bc3146107e85780633593564c146106b1578063709a1cc21461044f578063bc197c811461038a578063f23a6e61146102f95763fa461e330361001257346102f55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f557813590602435926044359067ffffffffffffffff918281116102f1576100db9036908301610a97565b919092878613908115806102e7575b6102bf5783850186868203126102bb5785359182116102bb5761010e9186016136d0565b5060208401359373ffffffffffffffffffffffffffffffffffffffff938486168096036102bb5761013e9161415a565b959097602b89106102935786359260178460601c98019561016d62ffffff883560601c9660481c16868b614365565b3391160361026b571561026157508186105b15610197575050505061019493503391613ac2565b80f35b9395945091929091906042871061021b5750505083601711610217577f8000000000000000000000000000000000000000000000000000000000000000821015610217577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe961021194019161020c33916141b5565b6141e2565b50505080f35b8480fd5b91969550929391508454841161023957506101949394503391613ac2565b8590517f739dbe52000000000000000000000000000000000000000000000000000000008152fd5b965085821061017f565b8483517f32b13d91000000000000000000000000000000000000000000000000000000008152fd5b8382517f3b99b53d000000000000000000000000000000000000000000000000000000008152fd5b8980fd5b8286517f316cf0eb000000000000000000000000000000000000000000000000000000008152fd5b50888813156100ea565b8680fd5b8280fd5b5082346103875760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261038757610332610a2b565b5061033b610a53565b506084359067ffffffffffffffff8211610387575060209261035f91369101610a97565b5050517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b80fd5b5082346103875760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610387576103c3610a2b565b506103cc610a53565b5067ffffffffffffffff9060443582811161044b576103ee9036908601610ac5565b505060643582811161044b576104079036908601610ac5565b5050608435918211610387575060209261042391369101610a97565b5050517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346102f557602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ad5783833567ffffffffffffffff811161044b576104a1829136908701610a97565b90818551928392833781018381520390827f0000000000000000000000000554f068365ed43dcc98dcd7fd7a8208a5638c725af16104dd613675565b50156106855780517f70a082310000000000000000000000000000000000000000000000000000000081523084820152907f000000000000000000000000f4d2888d29d722226fafa5d9b24f9164c092421e73ffffffffffffffffffffffffffffffffffffffff168383602481845afa92831561067b578693610646575b5081517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ea37093ce161f090e443f304e1bf3a8f14d7bb40169581019586526020860184905294849186918290899082906040015b03925af193841561063c577f1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c9461060f575b5051908152a180f35b61062e90843d8611610635575b61062681836135fa565b81019061388d565b5038610606565b503d61061c565b81513d87823e3d90fd5b9092508381813d8311610674575b61065e81836135fa565b810103126106705751916105d461055b565b8580fd5b503d610654565b82513d88823e3d90fd5b9050517f7d529919000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f55767ffffffffffffffff8235818111610217576106fb9036908501610a97565b91602435908111610670576107139036908601610ac5565b92909160443542116107c0573330146107b1576001958654958773ffffffffffffffffffffffffffffffffffffffff88160361078b5750509185949391610782937fffffffffffffffffffffffff00000000000000000000000000000000000000009586339116178755610b54565b81541617905580f35b517f6f5ffb7e000000000000000000000000000000000000000000000000000000008152fd5b90919293506101949450610b54565b8585517f5bf6f916000000000000000000000000000000000000000000000000000000008152fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f55767ffffffffffffffff8235818111610217576108319036908501610a97565b91602435908111610670576108499036908601610ac5565b9290913330146107b1576001958654958773ffffffffffffffffffffffffffffffffffffffff88160361078b5750509185949391610782937fffffffffffffffffffffffff00000000000000000000000000000000000000009586339116178755610b54565b5082346103875760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610387576108e8610a2b565b506108f1610a53565b506064359067ffffffffffffffff8211610387575060209261091591369101610a97565b5050517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b849084346102f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f557357fffffffff0000000000000000000000000000000000000000000000000000000081168091036102f557602092507f4e2312e0000000000000000000000000000000000000000000000000000000008114908115610a01575b81156109d7575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836109d0565b7f150b7a0200000000000000000000000000000000000000000000000000000000811491506109c9565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b9181601f84011215610a4e5782359167ffffffffffffffff8311610a4e5760208381860195010111610a4e57565b9181601f84011215610a4e5782359167ffffffffffffffff8311610a4e576020808501948460051b010111610a4e57565b919082519283825260005b848110610b405750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201610b01565b9192909260805282810361350d5791906000905b828210610b755750505050565b8382959394951015611b4c5760059282841b60805101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe19182608051360301821215610a4e578160805101359767ffffffffffffffff8911610a4e576020836080510101988036038a13610a4e57606097603f90818989013560f81c166001976020821060001461317157506010808210156127b4575060088082101561187e57508061109157505050610c2a908a614198565b92909860a08560805101013560001461108757610c6173ffffffffffffffffffffffffffffffffffffffff600154169b5b35613854565b9960408660805101013585829d927f80000000000000000000000000000000000000000000000000000000000000008314610fcf575b50959c95505b7f8000000000000000000000000000000000000000000000000000000000000000811015610a4e5760428610610fc85730915b86602b11610a4e578d91601783013560601c9083359462ffffff8660601c96610d1573ffffffffffffffffffffffffffffffffffffffff92839260481c16868a614365565b169084881015610fac57806401000276a4965b602b60405199604060208c01528160608c015260808b0137600060ab8a015216604088015260a0875260c087019587871067ffffffffffffffff881117610f7d576040948288958688527f128acb080000000000000000000000000000000000000000000000000000000087521660c48a0152868a1060e48a01526101048901521661012487015260a06101448701528160007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4088610deb610164820182610af6565b0301925af1928315610f71576000928394610f2f575b5050610e159310600014610f2857506141b5565b9a60428510610e5657309085601711610a4e5760177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe991019501949b610c9d565b50985098606091969597949392509160805101013511610efe575b1580610ed1575b610e8a57506001019291929092610b68565b90610ecd60409283519384937f2c4029e9000000000000000000000000000000000000000000000000000000008552600485015260248401526044830190610af6565b0390fd5b507f8000000000000000000000000000000000000000000000000000000000000000828501351615610e78565b60046040517f39d35496000000000000000000000000000000000000000000000000000000008152fd5b90506141b5565b91929093506040843d604011610f69575b81610f4d604093866135fa565b8101031261038757505160e092909201519190610e1538610e01565b3d9150610f40565b6040513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8073fffd8963efd1fc6a506488495d951d5263988d2596610d28565b8b91610cd0565b60149192501061105d576020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301523560601c5afa908115610f715760009161102b575b503880610c97565b906020823d602011611055575b81611045602093836135fa565b8101031261038757505138611023565b3d9150611038565b60046040517f3b99b53d000000000000000000000000000000000000000000000000000000008152fd5b610c61309b610c5b565b6001819d969d9b989794959a999b146000146111b7575050506040926110bf84836080510101359382614198565b608051840160a00135156111ab5760606110f273ffffffffffffffffffffffffffffffffffffffff600154169435613854565b946080510101356000557f8000000000000000000000000000000000000000000000000000000000000000851015610a4e576111319361020c866141b5565b9091901561119c5750611143906141b5565b0361117357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000555b610e71565b600490517fd4e0248e000000000000000000000000000000000000000000000000000000008152fd5b6111a691506141b5565b611143565b60606110f23094610c5b565b9194929391600281036112065750505061116e925073ffffffffffffffffffffffffffffffffffffffff600154166111ff604060608560805101013594608051010135613854565b91356139d0565b9193916003810361157857505060805181018084019390604090850312610a4e57823567ffffffffffffffff8111610a4e5782608051010192606084860312610a4e57604051946060860186811067ffffffffffffffff821117610f7d57604052602085013567ffffffffffffffff8111610a4e57850160208201809882011215610a4e5760208101359061129a826136a5565b926112a860405194856135fa565b8284526040602085019360071b830101918a8311610a4e57604001925b828410611513575050505085526112de60408501610a76565b956020860196875260606040870195013585526040846080510101359067ffffffffffffffff8211610a4e57602061131f92611325966080510101016136d0565b5061417b565b909173ffffffffffffffffffffffffffffffffffffffff600154169473ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3163b15610a4e5794929391906040519586947f2a2d80d100000000000000000000000000000000000000000000000000000000865260048601526060602486015260c48501935193606060648701528451809152602060e487019501906000905b80821061149a575050509461143e9285949273ffffffffffffffffffffffffffffffffffffffff600098511660848701525160a48601527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc858403016044860152613537565b03818373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3165af18015610f715761148b575b50610e71565b61149490613576565b38611485565b9197965091929394602060806001928a5173ffffffffffffffffffffffffffffffffffffffff815116825273ffffffffffffffffffffffffffffffffffffffff848201511684830152606065ffffffffffff918260408201511660408501520151166060820152019801920188969795949392916113d8565b608060208584030112610a4e5760206080916040516115318161358a565b61153a87610a76565b8152611547838801610a76565b83820152611557604088016136bd565b6040820152611568606088016136bd565b60608201528152019301926112c5565b600495509193508482036116e757505090916040606061159e8286608051010135613854565b608051909501013573ffffffffffffffffffffffffffffffffffffffff908116933516806116145750479283106115ee575050806115de575b5050610e71565b6115e7916144d1565b38806115d7565b517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b9391908051937f70a082310000000000000000000000000000000000000000000000000000000085523083860152602085602481895afa9485156116dc576000956116a8575b50841061168257505081611671575b505050610e71565b61167a9261453f565b388080611669565b517f675cae38000000000000000000000000000000000000000000000000000000008152fd5b90946020823d6020116116d4575b816116c3602093836135fa565b81010312610387575051933861165a565b3d91506116b6565b82513d6000823e3d90fd5b8103611714575061116e925061170d604060608460805101013593608051010135613854565b90356138a5565b9091906006810361184e57506080510160608101359060409061173990820135613854565b9282158015611843575b61181b573573ffffffffffffffffffffffffffffffffffffffff16938461177f57505061116e92506117786127109147613984565b04906144d1565b8151907f70a082310000000000000000000000000000000000000000000000000000000082523090820152602081602481885afa91821561181157506000916117dd575b506117d661116e94939261271092613984565b049161453f565b906020823d602011611809575b816117f7602093836135fa565b810103126103875750516117d66117c3565b3d91506117ea565b513d6000823e3d90fd5b8482517fdeaa01e6000000000000000000000000000000000000000000000000000000008152fd5b506127108311611743565b83602491604051917fd76a1e9e000000000000000000000000000000000000000000000000000000008352820152fd5b819d969d9b989794959a999b93929314600014611b85575050506040916118ad83836080510101359185614198565b92909460a082608051010135600014611b7b576118e373ffffffffffffffffffffffffffffffffffffffff600154169135613854565b908615611b4c576118f385613a94565b8760011015611b4c5761191561195d9161190f60208901613a94565b90613c34565b907f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b938481611b32575b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860193868511611b03576119b9946119be73ffffffffffffffffffffffffffffffffffffffff9687928a85613a84565b613a94565b16948651947f70a082310000000000000000000000000000000000000000000000000000000091828752841693600499858b89015260249460208987818d5afa988915611af857600099611ac3575b509160209695949391611a1f93613cad565b8751968793849283528a8301525afa928315611ab857600093611a83575b50906060611a519260805101013592613ab5565b10611a5d575050610e71565b517f849eaf98000000000000000000000000000000000000000000000000000000008152fd5b90926020823d602011611ab0575b81611a9e602093836135fa565b81010312610387575051916060611a3d565b3d9150611a91565b84513d6000823e3d90fd5b90986020823d602011611af0575b81611ade602093836135fa565b81010312610387575051976020611a0d565b3d9150611ad1565b8b513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b611b4492611b3f88613a94565b613ac2565b388084611965565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6118e33091610c5b565b919492939160098103611f66575050611b9e9082614198565b608051840160a0013515611f5c57611bcf73ffffffffffffffffffffffffffffffffffffffff600154169335613854565b92611bd9836136a5565b95611be760405197886135fa565b83875283901b820160208701368211610a4e5783905b828210611f44575050506000946002875110611f1a576040816080510101359680517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111611b035790815b611ca757505060805101606001358611611c7d578215611b4c5761116e9585611c7892611b3f85613a94565b613cad565b60046040517f8ab0bc16000000000000000000000000000000000000000000000000000000008152fd5b90977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff89019750888811611b035773ffffffffffffffffffffffffffffffffffffffff611cf7611d6d9984613a70565b5116611d2373ffffffffffffffffffffffffffffffffffffffff611d1b8c86613a70565b511682613c34565b819a917f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b90604051907f0902f1ac00000000000000000000000000000000000000000000000000000000825260608260048173ffffffffffffffffffffffffffffffffffffffff87165afa9a8b15610f7157600092839c611ed1575b5073ffffffffffffffffffffffffffffffffffffffff1603611eb7576dffffffffffffffffffffffffffff8091169916905b9880158015611eaf575b611e855782611e0f91613984565b916103e892838102938185041490151715611b0357611e2d91613ab5565b6103e590818102918183041490151715611b0357611e4a91613997565b60018101809111611b0357978015611b03577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019081611c4c565b60046040517f7b9c8916000000000000000000000000000000000000000000000000000000008152fd5b508115611e01565b6dffffffffffffffffffffffffffff998a16991690611df7565b611f0a919c5073ffffffffffffffffffffffffffffffffffffffff935060603d8111611f13575b611f0281836135fa565b810190613c77565b509b9092611dc5565b503d611ef8565b60046040517f20db8267000000000000000000000000000000000000000000000000000000008152fd5b60208091611f5184610a76565b815201910190611bfd565b611bcf3093610c5b565b92945091600a81036120cc5750608051830160e08101358101946020808701359450909291611f9991908703018461414d565b1161105d5773ffffffffffffffffffffffffffffffffffffffff93847f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31692856001541691843b15610a4e5760409587875198899687967f2b67b570000000000000000000000000000000000000000000000000000000008852600488015261202190610a76565b166024860152808883608051010161203890610a76565b16604486015265ffffffffffff808360805101606001612057906136bd565b166064870152826080510160800161206e906136bd565b166084860152816080510160a00161208590610a76565b1660a48501526080510160c0013560c484015261010060e48401526120b1916101048401918701613537565b03815a6000948591f1908115611811575061148b5750610e71565b600b8103612296575050506120eb604080926080510101359235613854565b91807f80000000000000000000000000000000000000000000000000000000000000008103612266575050475b8061212557505050610e71565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216803b15610a4e578351927fd0e30db0000000000000000000000000000000000000000000000000000000008452600493600081868187875af1801561225b5761224c575b5030908616036121b4575b5050611669565b6122139460006020948651978895869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611811575061222d575b808080806121ad565b6122459060203d6020116106355761062681836135fa565b5038612224565b61225590613576565b386121a2565b86513d6000823e3d90fd5b47101561211857600482517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b600c810361242657505050906122ac9035613854565b9073ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21660408051937f70a08231000000000000000000000000000000000000000000000000000000008552600430818701526024916020878481885afa968715611ab8576000976123f2575b506080510183013586106123cb578561234e575b50505050505050610e71565b833b15610a4e57600091869183855196879485937f2e1a7d4d0000000000000000000000000000000000000000000000000000000085528401525af190811561181157506123bc575b5030908316036123ac575b8080808080612342565b6123b5916144d1565b38806123a2565b6123c590613576565b38612397565b82517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b90966020823d60201161241e575b8161240d602093836135fa565b81010312610387575051958361232e565b3d9150612400565b600d8103612681575082608051010191602083019360208260805101850312610a4e573567ffffffffffffffff8111610a4e57849160805101019182011215610a4e57602081013590612478826136a5565b93604093612488855196876135fa565b838652602086019285849560071b820101928311610a4e578501925b82841061261f575050505073ffffffffffffffffffffffffffffffffffffffff90816001541684519060005b8281106125b357505050817f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31691823b15610a4e5783517f0d58b1db000000000000000000000000000000000000000000000000000000008152602060048201529451602486018190528592604484019290916000915b81831061256f57505050509181600081819503925af1908115611811575061148b5750610e71565b91938395506080602091846060600195975182815116845282868201511686850152828d820151168d85015201511660608201520195019301909187949392612547565b81856125bf838a613a70565b515116036125f6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b03576001016124d0565b600486517fe7002877000000000000000000000000000000000000000000000000000000008152fd5b608060208584030112610a4e576020608091875161263c8161358a565b61264587610a76565b8152612652838801610a76565b83820152612661898801610a76565b8982015261267160608801610a76565b60608201528152019301926124a4565b9294505050600e810361278357506040918251907f70a0823100000000000000000000000000000000000000000000000000000000825260208260248173ffffffffffffffffffffffffffffffffffffffff806004983516888301528886608051010135165afa918215611ab85760009261274e575b5060805101606001351180159290612710575050610e71565b517fa3281672000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b9038806115d7565b90916020823d60201161277b575b81612769602093836135fa565b810103126103875750519060606126f7565b3d915061275c565b602490604051907fd76a1e9e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9150915060189b95939897999692949b808310600014612d435750810361282a5750505060009250906127e883928261417b565b81604051928392833781018481520391357f00000000000000000000000000000000000000adc04c56bf30ac9d3c0aaf14dc5af1612824613675565b90610e71565b6011810361288157505050600092509061284583928261417b565b81604051928392833781018481520391357f0000000000000000000000000000000000e655fae4d56241588680f86e3b23775af1612824613675565b601281036128d857505050600092509061289c83928261417b565b81604051928392833781018481520391357f000000000000000000000000941a6d105802cccaa06de58a13a6f49ebdcd481c5af1612824613675565b919392509060138103612a3e575050909150357f000000000000000000000000b47e3cd837ddf8e4c57f05d70ab865de6e193bbb916040600080825160208101907f8264fe9800000000000000000000000000000000000000000000000000000000825260248781830152815261294e816135de565b5190606086608051010135885af192612965613675565b948415612a04578273ffffffffffffffffffffffffffffffffffffffff612993921694608051010135613854565b90833b15610a4e5782517f8b72a2ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301526024820152916000908390604490829084905af1908115611811575061148b5750610e71565b505091925050517fae9bdf0000000000000000000000000000000000000000000000000000000000602082015260048152612824816135c2565b60158103612b4f57505090604091828051917f6352211e0000000000000000000000000000000000000000000000000000000083526020836024816004976060816080510101358983015273ffffffffffffffffffffffffffffffffffffffff968791608051010135165afa928315612b4457600093612b05575b5081903516911614918215612acf575050610e71565b517f7dbe7e89000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b6020939193813d602011612b3c575b81612b21602093836135fa565b8101031261044b575190828216820361038757509181612ab9565b3d9150612b14565b85513d6000823e3d90fd5b60168103612c765750506040918251907efdd58e00000000000000000000000000000000000000000000000000000000825260208280612bc160049660608660805101013590358884016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b038173ffffffffffffffffffffffffffffffffffffffff8886608051010135165afa918215611ab857600092612c41575b5060809081510101351191821592612c0b575050610e71565b517f483a6929000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b90916020823d602011612c6e575b81612c5c602093836135fa565b81010312610387575051906080612bf2565b3d9150612c4f565b909290601714612c87575050610e71565b60409073ffffffffffffffffffffffffffffffffffffffff612caf8383608051010135613854565b93351692833b15610a4e5782517f42842e0e00000000000000000000000000000000000000000000000000000000815260805130600483015273ffffffffffffffffffffffffffffffffffffffff909216602482015291016060013560448201529160009083908183816064810103925af19081156118115750612d34575b806115d7565b612d3d90613576565b38612d2e565b9396938214159050612d7e5750505061282492507f00000000000000000000000074312363e45dcaba76c59ec49a7aa8a65a67eed391613717565b60198103612dd5575050506000925090612d9983928261417b565b81604051928392833781018481520391357f0000000000000000000000002b2e8cda09bba9660dca5cb6233787738ad683295af1612824613675565b601a8103612e2c575050506000925090612df083928261417b565b81604051928392833781018481520391357f000000000000000000000000a42f6cada809bcf417deefbdd69c5c5a909249c05af1612824613675565b601b8103612f53575050506000612e4481928461417b565b9390604094818651928392833781018481520391357f00000000000000000000000074312363e45dcaba76c59ec49a7aa8a65a67eed35af1918291612e87613675565b92612e95575b505090610e71565b73ffffffffffffffffffffffffffffffffffffffff608083815101013516612ec4606084608051010135613854565b90825190612ed1826135a6565b60008252803b15610a4e57612f2d94600080948651978895869485937ff242432a00000000000000000000000000000000000000000000000000000000855260a060c0836080510101359260805101013590306004870161380f565b03925af19081156118115750612f44575b80612e8d565b612f4d90613576565b38612f3e565b91949091601c8103612f8e5750505061282492507f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f91613717565b9193929091601d81036131175750506060816080510101359060409173ffffffffffffffffffffffffffffffffffffffff612fcf8484608051010135613854565b9435168351947efdd58e0000000000000000000000000000000000000000000000000000000086526004936020878061302e87308a84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b0381865afa96871561225b576000976130e2575b50608090815101013586106130ba57845161305c816135a6565b60008152823b15610a4e576000946130a486928851998a97889687957ff242432a0000000000000000000000000000000000000000000000000000000087523090870161380f565b03925af1908115611811575061148b5750610e71565b8385517f675cae38000000000000000000000000000000000000000000000000000000008152fd5b90966020823d60201161310f575b816130fd602093836135fa565b81010312610387575051956080613042565b3d91506130f0565b929450925050601e810361278357508161313560009392849361417b565b81604051928392833781018481520391357f00000000000000000000000020f780a973856b93f63670377900c1d2a50a77c45af1612824613675565b9499989a92506020819d9792969d989498146000146131da575050505050508061319e600093849361417b565b81604051928392833781018481520391357f00000000000000000000000000000000000001ad428e4906ae43d8f9852d0dd65af1612824613675565b602190808203613351575050505090916131ff6131f7868661415a565b96909561417b565b929061324160409788519760208901997f24856bc3000000000000000000000000000000000000000000000000000000008b5260248a01526064890191613537565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc878203016044880152818152602082818301951b82010195856000915b8483106132d357505050505050505091816132c5600094938594037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b519082305af1612824613675565b90919293949596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085820301885288358284360301811215610a4e578301906020823592019167ffffffffffffffff8111610a4e578036038313610a4e5761334160209283928b95613537565b9a0198019695949301919061327f565b929750929593509350602281146000146127835750604080936080510101359060009060028310156134e1575050808491156000146134895750506000907f0000000000000000000000001e0049783f008a0085193e00003d00cd54003c71925b6020838251937f095ea7b3000000000000000000000000000000000000000000000000000000008552600496878601526024947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff868201526044968792355af13d15601f3d1187600051141617161561342e5750505050610e71565b91600e7f415050524f56455f4641494c45440000000000000000000000000000000000009260206064969551957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b036134b8576000907f0000000000000000000000002b2e8cda09bba9660dca5cb6233787738ad68329926133b2565b600482517f5461585f000000000000000000000000000000000000000000000000000000008152fd5b602492507f4e487b71000000000000000000000000000000000000000000000000000000008252600452fd5b60046040517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b67ffffffffffffffff8111610f7d57604052565b6080810190811067ffffffffffffffff821117610f7d57604052565b6020810190811067ffffffffffffffff821117610f7d57604052565b6040810190811067ffffffffffffffff821117610f7d57604052565b6060810190811067ffffffffffffffff821117610f7d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f7d57604052565b67ffffffffffffffff8111610f7d57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156136a0573d906136868261363b565b9161369460405193846135fa565b82523d6000602084013e565b606090565b67ffffffffffffffff8111610f7d5760051b60200190565b359065ffffffffffff82168203610a4e57565b81601f82011215610a4e578035906136e78261363b565b926136f560405194856135fa565b82845260208383010111610a4e57816000926020809301838601378301015290565b919290613724908361417b565b90938460405195869384378201906000958693838580955203918635905af19261374c613675565b9284613756575050565b73ffffffffffffffffffffffffffffffffffffffff60608201351661377e6040830135613854565b91813b156106ad576040517f42842e0e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff93909316602484015260800135604483015290919081908390606490829084905af190811561380357506137f85750565b61380190613576565b565b604051903d90823e3d90fd5b919261385195949160a09473ffffffffffffffffffffffffffffffffffffffff8092168552166020840152604083015260608201528160808201520190610af6565b90565b73ffffffffffffffffffffffffffffffffffffffff908082166001810361387e5750506001541690565b90915060020361385157503090565b90816020910312610a4e57518015158103610a4e5790565b9092919073ffffffffffffffffffffffffffffffffffffffff16806138cf575061380191926144d1565b7f80000000000000000000000000000000000000000000000000000000000000008214613902575b92613801929361453f565b9050604051927f70a08231000000000000000000000000000000000000000000000000000000008452306004850152602084602481855afa938415610f7157600094613951575b5092906138f7565b6020813d821161397c575b81613969602093836135fa565b8101031261021757519350613801613949565b3d915061395c565b81810292918115918404141715611b0357565b81156139a1570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b919273ffffffffffffffffffffffffffffffffffffffff91827f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31693843b15610a4e5760009484869281608496816040519b8c9a8b997f36c78516000000000000000000000000000000000000000000000000000000008b521660048a01521660248801521660448601521660648401525af18015610f71576137f85750565b8051821015611b4c5760209160051b010190565b9190811015611b4c5760051b0190565b3573ffffffffffffffffffffffffffffffffffffffff81168103610a4e5790565b91908203918211611b0357565b92919073ffffffffffffffffffffffffffffffffffffffff8082163003613aee575050613801926138a5565b8084959411613b02576138019416926139d0565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b9173ffffffffffffffffffffffffffffffffffffffff93613c2d916040519060208201927fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809260601b16845260601b16603482015260288152613b8f816135de565b519020613c01604051938492602084019687917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b5190201690565b73ffffffffffffffffffffffffffffffffffffffff8281169082161015613c585791565b9091565b51906dffffffffffffffffffffffffffff82168203610a4e57565b90816060910312610a4e57613c8b81613c5c565b916040613c9a60208401613c5c565b92015163ffffffff81168103610a4e5790565b9260028210614123578115611b4c57613cc584613a94565b9160019481861015611b4c5791613ce360209461190f868601613a94565b50926000935b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84018510613d1c575050505050505050565b613d2a6119b9868685613a84565b92613d3b6119b98a88018786613a84565b936040908151957f0902f1ac00000000000000000000000000000000000000000000000000000000875273ffffffffffffffffffffffffffffffffffffffff80941694606092600493808a86818b5afa998a1561225b57908d9594939291600091829c6140fd575b50508780916dffffffffffffffffffffffffffff8091169c16921692168214998a6000146140f7575b8651958680947f70a082310000000000000000000000000000000000000000000000000000000082528b8883015260249889915afa9283156140ec578e6000946140bb575b5050808303918115938480156140b3575b61408b57826103e5808602958604149114171561405e57613e439083613984565b926103e880830292830414171561403157613e689291613e629161414d565b90613997565b971561402957600097905b898b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe820181101561401d579161190f6119b9613eb9936002613f039c9601908d613a84565b8198917f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b965b988551918d83019367ffffffffffffffff9484811086821117613ff057885260008452813b15610a4e5760008a93613f8382968b519c8d97889687957f022c0d9f0000000000000000000000000000000000000000000000000000000087528d8701528d860152166044840152608060648401526084830190610af6565b03925af18015611ab857908d969594939291613fa8575b505050505094019391613ce9565b909192938095965011613fc45750505287903880808080613f9a565b6041907f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b876041887f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b5050508b956000613f05565b600090613e73565b856011867f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b866011877f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b8689517f7b9c8916000000000000000000000000000000000000000000000000000000008152fd5b508115613e22565b8181959293953d83116140e5575b6140d381836135fa565b8101031261038757505191388e613e11565b503d6140c9565b87513d6000823e3d90fd5b90613dcc565b899c50899250908161411a92903d10611f1357611f0281836135fa565b509b9091613da3565b60046040517fae52ad0c000000000000000000000000000000000000000000000000000000008152fd5b91908201809211611b0357565b91823583019161417460208435958186019503018561414d565b1161105d57565b91602083013583019161417460208435958186019503018561414d565b91606083013583019161417460208435958186019503018561414d565b7f80000000000000000000000000000000000000000000000000000000000000008114611b035760000390565b939193602b841061105d578462ffffff6000614267946142ee6142999935988960601c9a8b9a61423b601789013560601c9d8e109c73ffffffffffffffffffffffffffffffffffffffff9e8f998a9460481c1691614365565b16968b861461434a576401000276a49a5b60409d8e9b8c93845196879560208701526060860191613537565b91168b830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b848851998a98899788967f128acb080000000000000000000000000000000000000000000000000000000088521660048701528c6024870152604486015216606484015260a0608484015260a4830190610af6565b03925af190811561433f576000938492614309575b50509192565b9080949250813d8311614338575b61432181836135fa565b810103126103875750602082519201513880614303565b503d614317565b83513d6000823e3d90fd5b73fffd8963efd1fc6a506488495d951d5263988d259a61424c565b73ffffffffffffffffffffffffffffffffffffffff92838316848316116144c9575b62ffffff90846040519481602087019516855216604085015216606083015260608252608082019082821067ffffffffffffffff831117610f7d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80613c2d9183604052845190209361449c60a08201957fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54907f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98488917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608101845201826135fa565b909190614387565b600080809381935af1156144e157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561459257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fdfea2646970667358221220b2d6a39827110492aaa15cba3556e23894a51f2f635dc99ae66d21764ad4d90b64736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6041010219080405581d02367b74293bb052cf32dbf499b5c69c98fda9beb40172c7513283aa71070119462603eab71320eeef085932d28d44e0baf57b58344eb1e00ad28043fed2773af1d7eb0605581d02fa23563862f322c7e205623469c0b78f515b247fc070b0a8a7a361b207011bffffffffffffffff02192210030c975042158b302d08b687b5ad55407adea0f6c0c8e2ae9027af5f2b66a90e2503db731c607521cbd787386a1fe342cdf1bac891251c300135c9c48e15f96572ae021979ab035912db5be5e494b9869ee966dc5cdb5b1c0ebf0aafd99beddb56b33614cbd4340350d66cecb3172d4ea47865934885e230dbc6612d0615c19f48aa0f99c620e00c0396dd8272461e5973420b0810e1e3f702ab95d52c304ae5a30f50d5e176eec2ce034cd5a12cc595cf9ac692c15f7d8dc412bb040415428fd9866367960b2ff313bf03df1308114a521c9a5006f10efd7775038b4334aa51629be7a2058a0f7f9f4fdb035fdda7971295f56af31d49ae313686bb554bd9ee9376f746cf445dcb89f04d830219ffff03ae56d57ebb0b30cb79ec55cf5608b8beeec4653e658f727c4a6337776a43f3490376fe3d85459c20806617ca2412c9ac7330c22da0f3aa03859387f75aea69212603e890e09d15cd5af881de4e096d37b94b814658e6df853c77c0e9a6926773328d03d7c3b189a640ea11380fd91b5604a62f26450daceabd98e7e4b42b25883a92eb03da71a567b08767631d124b6edbb9bfab86f97345f4995079c0af2796b155a89b034f07cb1cc37af876e09f37078eee62aa59171a1f8761ce4b61b8241c128cd97903f767e716cf173ccc3f6024b20908c6db8dcf4f66ba49bf328f38bbf9b991c2e003a7397077cc5239b873d6c56e2b67b6bab3546a4e184046232097448f6f52cba303c2fda122d75767d0410e615eefaae641f90ad76925f5b4abd183d22d6d9cb43203d9472bf48f775829c48169a6d6f1c519a89343e97d985e71faf5153232b1a10e0219ffff0365f1db49dc1cd3a861d1f926810baec577d0d29b62e92a075c67be02a23e3d8303ef41142e15b2b124c98fd207aa11d8d0839868741a6c65a9c93ce2ea84041f1c0381479d1fe552eea4de598ffe727295cff10e006859bab4d29e4e5ccee004bb5503ba86307735361739f2379a343368fa54fc64d602c0e45f24c0dc28e21777d837037033c5aa1b8d295db8edacfdf9b31023c846b0f215ef67a97798aea4e21f137b03c1d739fd94dcedf9e6d79a7feac02923e4b79ef6226e697c9c216557a24cc4e20399aeef6f6988b84c46c9d122e2d54b1097592a429f79832c550730c9afb599690399b8ca3f492f3a9dbe3394005c2604e1af85ba0a0c6ab01872a0e3ee4b1b20670302bca2dc0f0d76dac901f60c1256e1697d2584bf5725e3aff13d8de5ede82d4303b5894285d2176543261a34c7dbbb9cde7ef913ba40f43a4b05ee7b51bfffb64e03ede590e8b8b6b2510cce7acb46dd4894d03239da32a31fb85b6741546f94874103ac2e20ebd15fc768f4fabec97112e5982eb0bb506ef81439b449514ca6779e6a0219ffff03b9626cad2ecd45e8f671eaf0effd673c0930903a1ecc3710cfef160d24e8368e03de56cb9a6b98c18702e05a3ffe084b60797a312f6b405cf2c984f19a2a3f858303f2f95e2b9d5a64e5fbf61e4d7d851cdc546d34917573ac4f6a5712740ae66f5303c0db7f68ec8180177631d54ebeb273410a67120b1be73e0401fdafe4f0e984a603230d62d88afaa8ae358e4fe0a25e28a1e87fccb10f1e08665fb5f8e34a852a72033d511bf05957fc6a794f6241fa07a3544e11e380735d07beac1fead6b8cb8d68032142836431bda5eb706f1fd0bd382585e060960ded8ad96606894d39683adc7203aee9b4b11f562d214222746f54023e6d2aae3281fd1244ac9b68eae7c5a27cee032a585ae4348342a2532eebf74934e958a0830978d2a8c020acf986152c49aabf03a539585a25b46782a92c05bd44bb306551154d550ec0b195717a7ab9d2471ef003e86bda0addbee614329d98641818ed5812e124f8bed1ec1af2888646dc277a2003d3934ca68eaf7c7d9efdeb2271a1ffe440196e57c0f0627cb9f9768a361108ac03d54165addbc7e184eed8dd8b92744dde8a0147bc1fcac38078164b34a40ed5d10397e2832d5c00259e95fba1421cedb739c1f88266ac330f86ff32539a8da1d764035f39cb12dd2bfa7bcf7832fae0e0c040de946089356d9eb4caf85f8cb0f19ef10380258aa0fb94ef1fe540606f56a4fd7783edda4c1fd9322d2dbb0ad705df7e81031ed3370a9e50cf8f8550fd3b522e3bca7c833dda68a8559197ee9e151704609c0310a83f135257151a9d6dda570e5c44e0a0396b80b6e0ed2d942201d7d8e39860036e81350534f017266b82f6bbf3287fabf45c6ed6cd011d15dcf3c115e7a3c1ca038bf3d91973ef417c504316a721f022fde8e3961404c57c3d7764d352023a04eb039520fc5e1cbeef2c0fd261e96901744ea8d815e5429bdd4e852506bf516c9fa0032e5b08d7e510021f1b4e725934659966f772621abba92fdbf4cd7868b1bf2db103ed6490818946a16d8f5d166ccd7f2652a0e511bb2163a183638ee2efb451e42205581e031c653141b025fb78956aa09e4e79c289d78fd2010542c6b29789f16b400402032d4297a57249e4cc5a967d959d0d5862c1955c2ee57b5ee8c5f9cf593eb8e50b03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba031bd814658551ca1cba00c35cfbd8d07546eab02f7f7abc66d2b011d4a9313b6a05581e037eee4f7324b365845a65994f4511f9b900dac2bc6c65da897d44e3f9d007011bffffffffffffffff03c024be43e3a2dcf7af9e2cd511c9c3a6efa66939820193e6bd80dc138046633d037f150f5d39258ad7fda763ea161ce66e4d75a2407abe400e246436784bd0a14905581e03ee5a85795954d6f8afa53c91643ebf307a9994d8ae272b421531fa0f200c024754b8fee82a860003962d59aa92269363225aacdd2abd6922a8efe9ddc4f3ac8f224784e079924c8f031f183883225f93197ca6df71d5a728b88ad182baf715844f8b5eccefab5e9fc605581e03e82e01dd71249f08eebf25c56d9bd248933801cb0f2a27b6c3ef9efae007011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304921ea28c6f87f2163cc0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604921e8761ff43ae1bac60058200238e9689977d526f580531775c606e5a07c1ff4f40a9ee98e4cca4fe145a2f44103005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af502395f626136303ef33ee9dc3ebdec96c02194200005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002fd08e24c3a01b1eb14ec4c10c7302515538501baf2e3576e086f194c5c83364801b2a704443fa51e0219084000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58206594818a5b0ee49e9ebf9a3c2f307bbaf671a6b2a685facd31b7e59c5caf7100005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8524df29793766f6e3e217e6489cf01db97722402184400582002eb04f7f63e146063274326f8e9db71ed70a76457735554a04a9f002212ee674101005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219800400582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687d7ff000000000003b0adb2f82f237868000000000283eaaa7171d51b862f0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54a045fe936e26e1e1e1fb27c1f2ae3643acde01710218480219b45505581e03ffb1324343d453f90fe0da779d12a5db27149926d279e84d9d558df2500701192c1d03efa3219e367ce81cb3509e3245126d09fadc980f0134f9e375250768cc0850a801410b02197bd503b7d33523cc1bb79552766bae402d61bca299593ffdee690f56eb0922e2f8cfab036bb8fc863569583d47478069b30497ca9207aad243fc5d5f848c2d3c85a543da0219ffff032f15d122d5cc1fc05e329fb825b75a3b23b3eed75d6d0450554ded6212bfd2ec035aa6c23ef06cdec140dee6cd36f1d13642b7abac0ebba68053b5b554922f58b90357038a12cdaf4af9e16fbb929e8df3f4f51c33a00be48edbd903876203e88c6c03a39266a3c977b434245778ee2e8af7d863ac13a1ab1b619dff46765026f664aa0367a8fb32e145b58b6b9f6b5db432a0b9ed577ef1fe78b8a62dbd6c4f796c51d903982ca183a44ed8e551b9d46665bf360a48798738cdfe19cd1bd1af26626c56bb0372924542258f3e9a18e2aac4c8918d2d4700faeeee96727b7a53fd00ab7d35e003eb78b70ec7ff8114669aaf22b7207f463d0da89b5cda9ae1597907be06dd61c6037907550f7a6caa72530eebe7dfa1e2f3b42095826314d81b17ffb17ffc0eeb51033d250cb13edadf18b65699808e22a42141e435d696ab491e744731ab079f8b00032efcf8462418d58faaec99adea718c62ebee0a646802c5444fed26efb66df351038a2978af31d069f57f5ea4f497d6f87c8f39252271ce612a9240563d7edec1af03965619c6f5bd30bae9cbc252e68f5715f48d93dab903331f0a926ca4045427c10219ffff038ed5fbc535b0e0cedb4919da21674199f226dc39dd2acc35a8a96ad56e3ad86103dc373ed45bacaf83044bfe0fc317db00eb84ba97e5b5483e3f8533349cf351060347f820e6ba216cc54d5edcae0c565f4e2d496bf686b81136c02944767f9a5b8d033a6f82a0a13cc2e9311ba467a4c1199a23c398de989f156a56a5b7a669cb07f603ffb6edc4fffab280c652899111294cbbb97f611c5e2fb94e1a9de23062aa226a03173339be4658c09b82e9a50c623d85733d292b1db31f8cde645c57a6a3b8f03f0315f3e58b9383ee3c9598301875f522927113541be20a6a35a63bdea5330f206103196d91db304440b3eb93135050efe4aa7a03e785b56a33d53882a2e81ef32242034772bc79cc9178ba81713d1bf81129d6975fb2f08cedaa575a0fd59216ba547a0370aee789d216426013400f30cecd9bc5683a282c511ae673d1893ab22cda2c2d0219ffff0334525e71e48f9cd147b9108a6c2cc6789912f18fe0f90a9e6f96c8186dc8bdb803847593e60c175b3da3271f71769b71f41804ea98274e670bf31a5ec14475cf6d03bc11c120bd1f56dffec6ef818ab1ee9752ec508ae63fcf967b2b4fbda69cacd803c279544d07d9631b1e37d835cadfe7098d60e508cf8f18a89ddb8b176d56874d0311ef04546b122ec0385c567bbc0806c71d73a316be8b38b22af6753c9c9c395605581e03f0cb672b2187d0261267cfdbee0eace46ea2bdeeacb592de23059ab5c007011bffffffffffffffff05581e03727b4bd2e4d46c6a116382d85038404368222f91e473bddab15143c2a00c014802bf54cb1ed5980003ecfb769c6c27d1b440edd6b2ac7b8543819ad00cb97d19c670203de3106ec41305581e037d04c51eb85a3685c8adf402bb6f385091cc1967e5437c9b48d21e74500c0547010d3c0d654c6005581e03d856278dbbaee24323bec4ed6010c87d41ebe00917ba3780d33d5c07f00c02464048070e986005581e03754bcf27b86952be10cc23130774d6c46cb11fb97cf46510835d0edd200c0147052706297a08d3037c764d7b20b3a2cef2528776af549b65e45fb645c8bb26e3aa932bac7b24b02c03467001593a5088fb41ad135c1be12662a99dbb026e192612410490bed8d5ae7305581e0315d2a21a703178b9ed5ebe3d14b19a20ed0077bbd11aaa740cded66f2007011bffffffffffffffff0459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c63430008090033034719aed154674ca70dbd9fc6a4bb61fbca94ec205c89cf0b51410a8a2fa608c8005821035574cc6683e2b3b712e79b4225409b6435af18d4985b02e1de6dbcff8d04d3f0410103fbf1f9e14541594d0c0c270be1c6340309c5a84f94897cfae74139b1b1ecf93000582002d72674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee154fae103dc9cf190ed75350761e95403b7b8afa6c000582002197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe581801000000aae0b305b3f1edde7b11b680d4fa9252f7a1c524021884005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054d750b84845f1cadfeac63f96ec74635e949bfd1403a47dfc37641aacaf42d90e3a86a6978948a006800762768491d5da4f4c9abcaf005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054527d6db79bff473b8dd722429bdb3b0c8b855d23033d8d6dda1efe81a4d762be21f8f7cec3aaaef0576ce970125d473ce0c6e81219005821037ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0545e6342d8090665be14eeb8154c8a87b7249a488900582103c5f6517f8b25da8bf5b395968d41c38d0596dea5fd2c4d3d459d45bd6dca2a10410100582103b1cfdab16190f0d615b2bf652f857b16c64c4f6c137e96b70599ac49f6bbd1e05420fdf47509c5efc0e1101e3ce443691781c17f9003c36debfacbfcfc880397bcabc5c67ee66cee9ac91fb55b0bbde7acee3e796edb01410c03b14f6d19cbe16845d0070efc7e69a8d95a754e812bab49df5599d4df4c454f2800582103ba4dc2f0f2b7704a884ce948327ed6008feac91f706f9327f05e2f5b77fb76e054b29f1af8720e5fd23aa745559d1deaae3d9cda170219fdf705581d031fabb1fbbc4e47cb7be43315458e9e241bd4661a6ca49d93cc713620070119084005581d03dcd3f85b3ee313836fb6d1ffd0cf06a6d190df1a5ebff818a1e810200c014701d5d84f7db000020c05581d0239f472f1e7593f5eb205e67bfb6b76ec357552af508c82fa54a932e40c01471ed3071d419fa605581d020266d173925f14708a0258f196185f231806a83b76177b6fdaf91ff70c014601d1a94a200002190501021958790346fefaf666fe1dbc28d49bcb7d67a8b5a84fdd927e0b278e86713edc8881856d0355e10b9975950f18db8b10e0ae4e5c7a218a0096f0423900cf24a500dec3e4a403d63691f710c3d92ee28bb453eb55a0fcb36e43d42c9437fbf685542ad1b50edf03c5ab923019618165c3c6d638d92341ce09958986b39ef9010dd7c9badeece88703f05ef0e70151fb4fa5eac1ae59cb628cba80f4ce5605a81ad0117e8538ff0791032d41dd119463e58cc15007af66a8da4f77454b0c41f576d88ea7a74201bfdee8034e8338cfcee511afd133fdc831066963154759952d06ae5720abb1c27e7278df03e79a1adbf68fd80012d8099d55f0a49f6975e70b8843520d04c7a173b2d1f1a00306e6f6ca364a497d1834ac4955de76836e0778e09bfd54a0fc7f9c40854ca9a703d04f528b770c38441652c5148d1689aebb150742ae7abed034b1eab22a46def10361cb793061b710cef6f31d62e73fe9209246d1ac1d648252a493bea589184d4c03ec7563d9b67b3f7f419c2faa1416263c5dcd75944c06a17335805b2b2f21f6c10219ffff030f41f806c5536d99f4cc1d18c0e4cca6501ba429528f38b399fab4bb62beacd603c4fc15049426b76c3a6660429594158ce63e640be0d6475ca3eba2a1b24ec9d1032aeaa96dec8d455424bd518caab277da843e5aaca856e02ecf1f9c11154fb13f03a978f07636678d1a5e3964d2ec84ee6062be94ea81e15d2df4cdaac333bc75d903e166ed37b099c74b1599ad2297d06b05b136ba7baf66273a71a41f23a74c049d03109f38e0e6072af957120162915e89869689a791dbe86a42384342b71438c8fb03ce2990e16bbfdcaecbc391ee9717c301a0673d7130a70c08ab9e304ac03ba40203da9a234a4c0805fea99a4a83774b6afc3d00543b96904c0f034a07604f30ecf70369364acddbd080c3d75ee4ff5c4a43db226db39b14274cd3e91f80804505967603ba010546a5cbfa3164543cdf7e8a4c9ee9de89eb5db736548d85b1918e7245970358ea5d03157d0d6e12293cbf5e1ced8acb40b3f64c04064a458c046204686a3003e559d66635f82a8e480f298b8bc6188ca7a4b478a41f6cfc3770d3907b95cbdd03b62b9f4b021e09eab3adb8c0fc5af4874454d9c9ebdfb0d5074840fdc45ece2f03454058b89995256d72d004331d47364ede7b084c0c1a8e2bb158ffbf55346e33035183417ac74f6a43346f61506e8d80b22e573d36ac2d8d810a751f66cf65e1740219ffff0322c956d139f3be4ecadaaebfce91ea6485f59fc839f07b437d97dc992350b2d0033c130418c8b57e7fffc9a2ce7f22fe0c5ae69ff11691ec13b9d9ee1861c4e4aa03f06927db6dece1bd998826e63f78228a4dd3d0c97008e113e255fef4832e4f9a036051895e5af61810720693733121c51e3595ccb6d2898b9799c679106539f9dc039b3d7a97d378dc809346f623a7676dc09ae39a75c5fbf8f45d79d4bf4412d2a003aad0b29a662f275010a1e9ec08716bf1e00ea8831da0ed85271be2db1e7dd98403add6b73ca73296fad74ad0dc60a0d90eefe90f70ad00a48291ae1dddff04b25e03d0e3dd84c8e5e972e0c91723703bef84901884739ec127618ca564c0af94a558034ca5bfc94f09097534fcb93d15aec691c2472b482ff39493a794cf02a41f423c03b34b53d4a972f9977c72d3f0a838d66c804634e8d80762389dfe7156a69f74fa0358d0940f41f6709e63faaf14a045960967d30b420221510ef9ab3f711e9d8f7803df49f783a0bfe47e9f3e66070c9aecaa96c0dae1bd73f61aab684a2c8eab20ab033422021c9c4fcd9c4280cfc0ea8c4687b8512e86295eae6a41f149dcd65713ed03d0b7cc8c1cfdf11638416b744cefce5f3eed0b29a64f79b44ea107e417da29a80349a61c19fc5ff0bcf705049967bde089793a3f1aedcb045aaa03dba97f04a4a60219ffff0219ffff03fb2abc5739eca96eafc077fdac46aa871ffcab4845e30f9257ec3cceee60d5e50395fae49261cf84906c0b821fb3cbcaca9f95f155d1707934214a9d6285ea521c03beba8400af6b19aa8e2bbfbf7aa1e5126cbb34abf866c56d7a0c0db21f91458003bcf9a2629af426fcfc0de092065b4627ad96a0ed352da12f7b505c7208d440c503e1ee6493b3b7aabd614efdfa92803a7c808f5c77c886de5b7990310e1c9c2edb0344dd942e4a86e0241c87087af7d96a2bdad48134878034492602b702ba6127a6031336d9eea53cbe3695cb6d90358805a622915f30259f2453b0230ded50ea0b7403361507aff8b47770f061286428af611911a821c9dcb2df037eb5a2395cd7d59f03cd9b0ada9f8923717355b518e32e62604a77318df3b360d98c2c026c599201cc03b4d8edbb9489b1447d64823575d78b179f8e0a3ee36d2b73d94ffeba6589477c0395bed11b3a15b71b6bc28a8a4ca401d5d00769b8912b57787c38b592f698575a03a78394c35017b9bb3f74f491e1aa7feffe759e0f842b6ef409460e7691bd87af03dfb4d013922bc57af95b2bdaaa221926e6b038f72cbda3a6cc008cd103c69092031306f070f1860a604d62877b6360c167771753189a73892cf8c14e042c1410e903e607e9836528b8821727ff242ab40e0f6bcdcb0bc1626c1d8f5ac68f5095931803bd1b42412aaa2ad8a2fee74ad114c04607ea17afa366c06101499641c6d401290310a7888df955fc55167c19bd19b1a03b2813f386bdf6b9501df9161ee4a58e7703d3e0216a20e8015ece01bf490a3646bf99cc8315e5184ad1d034067a07b45e0e03fdf32216083b2e6278c9afdfe5a3ba0995fb7e825552f6d014e238cc1f4eb123037b482e3314257ae439cd5c6ab6dc5398b2912f4b7ee67bdc4528f31ae5de2f2b03fe19151a3c261d53864591a6f0ab93eb2cf87b21238e8b034f061d778bb34d1603008661e29211944750b208a7a407d62dc01b668eb85d1390cc175257b75efdd603416adbdbbd926e31afce545fe1b94baa6b25f3338affd60be84cff8abf1674de03a2251e896620934b6df48b2969426ca1f816e7e0f9d5913bcc575f5cf00b6d8d035ce6ded9a8eedee85e604a2c5028e16c9a972476c5a4a388690ca909f1117d3c03368963e41167d35020f039b69c933b955d872dc927d2de1cb57665d9378d14ad03893d9655a4c75e8e9fda02c46ec5414cd1f6013ebd0e44b36e3ef8a99806ed0403a34cfe8f04d91f9a815f90ca241d79cb39675a0afb60675c655a01c81efe84170380ff0175c59336aaaf5a2d73424580e7a8eddb545b60a276c3c5ff9ca275e71d03bbcaebbda61e208dbb781f501bbc1be6dfc7786d6e6f939befc1b9a50a99f39503b39260232c2308c2dc04b8ea999ccc763699270958eb2673cc43f71fd3f65b3803eb3d9a8d410db6f853ab100922630403c09b49c3c289ab0e62fa11b796f3a521036a2de543241aa705a0774ccdb2e6bdee1918c6beb188a9760ac9863b3fe0f1960305d4b253db46ee99d9dc3b397d4e9cf81acaad96893cb326d579202ab79eebea039ccbde35a71bec42648a834d1fbe110770cdfe40c1a3fb711e60191b0f91339203d365b428f93855f7c609ab8b57ff569a62e49d5c992b44616841ffd2bc87611e03dbeae7a7a4144a8cb3d3c9229fede898ce495cab33d8214941c19cd5de31a79203a31cf5c760de7dc3c050ced0161c8d6da630e9a97034a9ca173ddaea9eb4c9e103f825b96c9254f57ebe04ee008460df6bc9aa82434377979b721f18a780cb1cd903d437318abee3482fdc0b25f7241beaf75a792251d63ddbb7b1832179fa8367f003aec9051bf1e6c5947b96337ae29faba4a2efb105b7b16f7580bbbfd12f8fd28603d824ec442321ffa4a5b2f604d0ef8febe70f9ad7ae7464339f777f61d2510731034378befd4344675a304b5836a6a7cf5f798655f4fbafc50ecdb92ac0e28ecd8c038e1dbc30cc3b05c39f0fdd95f388a6690b79198a25f9002abdbbc7bb84f3c7600368e4386757b617eaba0f5f03374df86edd2b4424bd3389f6f7714a6a7ad062bf05581e03f590e6e1981eb9c15883a06185819c4e4519278f65f8a9b54a943103700c0142138b03db797180efa9f7035799d9dd8542e72eb1d207ff3591b3efa8753ec2ad08510e05581e030b2a5b225c7843525e1735a365c2bcf27e45301977a39c7b0d2c9270200401034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e030d175569ba0761fc92589f54d05b6e08c9d5cd65e3c9917b2a94bcbc5007011bffffffffffffffff05581e0397d5de7494ce7c02e581ecd952df50fe1299b501e3eb7722d43eef57400c0147077402c02e700005581e03baa51daf61414bad3e79e9e7a1159f542d032b5f0d3b58abadd96b42e00c0347b28cd06689d95f05581d02eea42cc4e74fc8333879da655e2193bc049a75e6f28fac52049a546e040205581d02bdc934f512d13865ef4357e85102794d9bbd6dca24a0fff155f59e4b040305581d029b45d87b894bcd83042d21e6f75cd508bf3e7bf3fb76b4c6d11ec1860c02475c2a363b4761e80219020c0308ddce1fd98f536f5fdda260db9150fe8054617cfa0a86063de6ced1eea70c9f037af6246fff58c6a958c358925543da8087f180444dd41fe221f54ebb741b095f0219d8c7039f45411b413e38a2ecf07917137189785dfd504418a77666f9cfe023399269d3035b0f389830b3f273f6c233e1895f01e6b8f140e5e6050d4a3de5f5e36b4eb58e03f64732621a87d8cc35562ecf1a3855581cf2f7c39c361313f810f4e989716c3c0219ffff03ca20eaa9a1768effd6f82842b94336cbcadbe05dd048a84c6e40abedaacc831b03b1ad71aee2907b4e008c033d535cfd11bd153926de653a15ab3d09720a7c29370356e3a84d38d15fa8fcc37c27c6b1b04265bb4ea12c83c7f69ba384c2a61781b403ec191daad30cf77c3bf7db944290381af789df265b4750f17bac38c77ac14bd703754d90bca20ad307f96abaeec1e44d8524f1937c4558d9fffd19008c3087dda2038cfc99f8b7f6815940c67db68433f26cc68f7e4e7e1d27330970efb6cee3537c035caa7b06374274c1e8145c272a5139015acdf37a214f722246505449c433fb630381424d8d105d094aa279bca15ab5499e7b7d452cbd892c7c4b9e9d1516a625950219ffff039d98406582a3bc7f8254533ae9de926e9e30563748d9779504d40779d7e5f83903e7836d600cf9903e56b14e116aa0136be537f1cc50e9bee96b45cf4425ee487a0362a4b9358681e172029daadd03cc3261937217523a8bff9ea868e57f623d3ce00219ffff0305be348964f59af43640d0b0e5bdc58ec95f59b0e9e568c5d4ae2b2f264efb5d03c84e652cf41f868bb83b0e269889027a643348d284f0625f9ecd833d19ff2ccb03842c7305a7b54ee2b728f689c6f8812b946c02eb6ba5e510322e0962520dbdcf034346b4c17317825de25d883a812513586f0667a80002bd6eefdc569b870bd0dc030251dc463f233654e2968c9a362f0786fbac8508eb2be1ec553c70e1fd4b14e003bead0acb8de17a1aac580780b7f972b57aa9c0b06400c91cc9368da81041cad103c2fad2032e79b14300d0847de09b7186ce1a716bfe7adb91cc15bcadd1674dda036755d6873b04622d99fee845de173b4911f4d537168fb88a9a8d8f384718765d03f58341d35f2fc08b2560ef025c9e2aab448f4ec99bd31ed6a446119540c05004034dfc1828a8f69210f122280db98b3a26021fadb5ec48567d2eaeb041685e61cb0352af88544cc06e2e2db06523f0fb4485fc784589da2b98671e4f4d2cca29fe7c03a3143fff6bf26fc47c3160b9d2901094aa7fbeeb58408aaec9f1f91b8057ef5e039ac16ebd9c3f0a99ed627c7721a2e3764fdff10bf99d1aeb2af6007e516e803903bac6adddc80176a79a154033aa6b1aab2ffdd9ee465a8ef8feee3a3bd1f9e0030343ae52c77b4736b7a68ed666b06e6e6b3a8bbeee550038181a44cbeed05d074d03fcc673eb40e9a965210ada7e626b4afa2eeda664a0208360f57d12401254527e0380a5ff3924aea7e0792a5cc32a69ef0c19ea9347c6e6bb16009045b93e6d4b8b039a5a3be76debd822da29a48b42a6c6e69ca9659a1222ae9000c0d8a097c0639603da0915556dc8d8aa331da5d0638b318347feb73769ddbfb18bb4d1900a654508032edcec408fc44654b24bc0d7089b5c8bb868d49bb2347facf4ce2278a60d0baa05581e03b8078168dbb038bc8eee6eb3a4734f423d55b0272e0fd7f1807a23d6600c014762e6915c0b868c05581e036e42ead56b601dcaf6f403d36e9de08ce2a50cc4a160078538de9877d00c0347028cb25e4eff9805581e03c6594130eeec962e0d6448163a89b84464d242e6dc40a73b3843236730040403a3e79a4ece2034ed193612b66d8dc2b8bb01db716e15a4f20e25876a4842452703ecefaa334480ad0b29c4397df9ba5af3db0475624da86e43350cde7469683ae205581d02e370ce16adf35afb191bc1ca222988aba2019ab9ead4afb8ea651ed20c182348188bf66197890a3905581d021a1c873c3bd75645e5081f120439ddf78862bf2b3d61e972f687875504030219802005581e033b28e2c21879ba622f434a33a93bd2fb0282392f51ae43ed7424f00b30040105581e03b60a2d47f02da8c4ef49aa4190e14f19072a9bacaf055ec21fc32497200c0145018a98961803e38cd9c8e9cff2df1bfb497820a24f95a24d46786ff46b489f577792915a734d05581e030c3377d7984b2484328fb7d79d9e83f1a66e26f87cc3d1b6d5b3a8f6600847f09b700ef2e8000219f8f90381a7679cf1c2d985142ed4fcd6297761db68f230b28076e1590fef6b9deda6b00313a1ced06024b5cda8021231ba26b986bbba340b731eabadbfb36c64a809e095037a9cc445104d9a97b7a52a07860b18053e16393d013ba0ee338cb92b7bfe58d30357985ae79bb7b604d46a8180bc7226c0b75bb4f3d025a0e284d5f1a46e31e1460368abc09427610211ef11bb890537a132c5666b64584c6332a32cfac4fb9ba0d70318f4c204e47ad760399287b84a66e2bef1577cf61e98f996524e29f6759aff790219ffff03b0cfbce96679c213f839547c86195c5af7163599e892dcfdc51709afb77f4f4e037e9b47e13631c8c108a34cacfc3d0e898dfe4825a21b173f3b24f834300dae2b038e40733f86772cf89755560d11a72890f92de777dc4e4a5a16160e5d59e08d9203fad0b579bf1d579c1cf491323332f9703a0dc452535288c5bafce45a3d6d8c440345a8d77fdfcb412c4776fcf65fc25660bb8f8f8b697197a56aa34c59fb66e3f0032d666e88096908bf143185544fcbad2b088a18904090a22ac94f25537d6f0aa303ec8cc639abc7120d67353a2ffd1019bc504ffc7e5638fc6bcb267e21172feedb038e512b34d8d88453706c0c5a7184516104007c21e5969d95706a963912fc8993036a43e66a0ee6d55dfe46126649a7cf7ebf3d0bfc9837f64b77811c627be1ff660219ffff030a68e02d93de57dc9f9b85dbeb2beca7c6dda93485c0fa355d27a174900ac5c30355841ba2f07c75c72a81bb2c18021678bdcc0a3bc7dfdb12b17204a07fd014d303cf8b057143e9e07560250b99ae2a8fda85e15dc45a4cc1dcd6628eb20ac5057303ef006f8a0ce3d37322a4a51235455611588080dc0c185ada28d2062f44de82a403e50cfb7625dcd51eb276b95791693ebffb036189626b835c0d1fbc3250a7f2fc0300a44ed1bf8fbf5d230d499b2836de361e52bfc4e228a27f2fb1b0c9c0c5759c03a6eae3b195629f69257e4940f2a76e05b6027fd8bd9bd5bdae1b234b5b7b6e8503f608702e77b7b5b15140921fb05b2446266c80d0f565756724d1c79dc11d1f81036e9332c4abf888eb82a7b4b6c511c48771d1e55de28ce707ef63d542045e7e3e03c8f4edd507451ff88123e68caada1fadf3997bc380cdf37f519efae4b2cbdd460352fc9c3368768919cb79d9f836f781e3715f069e0c3ec0769b3fe59cd99cc2fa0219ffff0219ffff035db3fdce14e5f37f91c5b14fdc31196399e2d997d876687932bd7238801f0d92036f327cac72376451603a5f3e7b6d5e37fabf00eee982be98fdce9c474317aefe0360dea107a80e6c1c0c846f14063d29ecb250612de8dc9abea75071d231dd906b036de417a57373617133259dedc37453c2ff85d7d2d4695151ab2aa4c02a75fac1031c606f2ca713efa8435e3efd93173306695339cb31b8fa6a628ab81c68e053eb038c3f21f82b7868e2782b003a7d2a23c7aa6ab1b3d67b178d9ca2b5d98e8c388f031fbbee1aa46ce00a0eb7a5849f6f86606e113766bf05822491877037e819ca9f03dbf3d3b10a806b50e65452f5e1f91fa178529ecaec40a9c860ac97036a307ced03a344b9a1f731f7edbfed79c1cb7f1a8f334bf7e084d4beb2c768731d776a695003f28a5051344077e8266b2487674cec17b8587619ee12306cde11dbcf3272612603cbefc7886d63aa72924f115b8176bf6673125ec34b4a3da523e068ecb9b6a704030efa312f54e5c0a9804c6535eeb71d761d29085940bf2c090adcfab4ffed86e60358f3c9d14ddb256b4dc763c68ed568372bdd91da785c9ba8cd2b27286bb45bea03b5f00d6e2c617972978e7eca2e056d23146dd1af66fdbf61c8f29c97fa8d5fdf03104f7448bc31daedcb198a682c54cd082c382d92c738d0503b7dd3d3f9fb1f830390412aeec68c786f75d334a44bd77eae99eb811745348dac0feb71e34b4f4e07036e5cd4a48adaaff0958d33a85cce6ba035013c3605a602055e865ae0bc17bd7d033bd33e3597599ae48a697b25adf216ecea7808f8271f916bb0877d376844f5d703d7bec211fafc564e6bb435ff694685c8234c96f7c2f004db4dac90f3f81d20a503b2b90e6b170996324a38d48fca0713d2845a8884e97f979ffa5f3519c122cdc6039c9c1f105bc56b86056ff021525ead856707de52cd1e7acfc64e70bd5e5ba3d503e608b30c73575344bdb0fee5b8fc74e4c15fa2b398e38c3bcde68657205fdb45033086922f09cd1bd39a6237ff99266af3c4144d7d3ceb8de8ae29a536eb307aca033f2e085abe9cf38213192766c554a929e9ab80fabd8a573f04c8ecd710bb123e037e741b4330c9c941c92f35515a22ac9997650d9a08dcf88f29bc308c6a92371f03a186d02f2e3098c9429464d3296e1b917b3f8f50683c091367dc522219f84d9503f9cc8f51d8f5dafd5ff7b2e0d5a556dc49c81aff39015d2d02fea46a11d8c1160361947edf7d19c53962e9cb4d910e9fb60ddee4df7efe119111a52f618e5502ca0371f2499081aac265cb9b1c3cb497cdea16c8d4e003fb3dc3d2167d75ea72414303a7c4e1c05e3112620c603f7907de435bb221ab30f92ef47fe17ce1cbb43326c903138595d2d8db99e8e97a7051b5a1874caf94ba805ecd5c336b136a913e2ad33303ea7f447a5338e3b5dfcc1a4b536d14f66c9efbd9d8d8ba92b08211bcd9ebe2b8034e3e7e1fd6eef7fa3e55eac071362771589aa51ad6828b194765cdd1b4ab933303749ca4c67cc4c82fe94e7bed2ef097b17e7a727e7eb2fec7c8516ffd865067e705581e03835ecef3358eb8e1348534c39fd3406322dad520ddadab33bcf93a37200c07487c6ed0c327f7f44905581e0399bc5edcbef862893596ebd01cdc3345a2e6429066fb9cb8d2896c493004010459385560806040526004361061021a5760003560e01c80638caaa27111610123578063b218f069116100ab578063e694c0281161006f578063e694c02814610698578063eb4af045146106ae578063ed21d269146106ce578063f1887684146106e4578063f2fde38b146106fa57600080fd5b8063b218f069146105bb578063b9f7a7b5146105db578063c345315314610610578063cb43b2dd1461064b578063d68124c71461066b57600080fd5b806397e1b4bc116100f257806397e1b4bc1461053a578063a652db101461055e578063a694fc3a1461057e578063aa0ee6f914610591578063b01f5c95146105a657600080fd5b80638caaa2711461042d5780638da5cb5b146104435780639168ae721461048057806393ce53431461052557600080fd5b80635a632c28116101a657806372f702f31161017557806372f702f3146103a057806375824f23146103c05780638456cb59146103d657806386dd3820146103eb57806386f2f61c1461041857600080fd5b80635a632c281461032f5780635c975abb1461034557806361c533b414610375578063715018a61461038b57600080fd5b8063301099a3116101ed578063301099a314610298578063372500ab146102b85780633f4ba83a146102cd578063527cb1d7146102e25780635357e916146102f757600080fd5b8063159ce9e71461021f57806316c621e01461024357806319fd67af146102585780632e1a7d4d14610278575b600080fd5b34801561022b57600080fd5b506006545b6040519081526020015b60405180910390f35b610256610251366004613191565b61071a565b005b34801561026457600080fd5b5061025661027336600461325a565b610945565b34801561028457600080fd5b50610256610293366004613191565b61095d565b3480156102a457600080fd5b506102566102b3366004613191565b610986565b3480156102c457600080fd5b50610256610997565b3480156102d957600080fd5b506102566109c1565b3480156102ee57600080fd5b50600754610230565b34801561030357600080fd5b50610317610312366004613191565b6109d1565b6040516001600160a01b03909116815260200161023a565b34801561033b57600080fd5b5061023060015481565b34801561035157600080fd5b506000805160206137e08339815191525460ff16604051901515815260200161023a565b34801561038157600080fd5b5061023060085481565b34801561039757600080fd5b506102566109fb565b3480156103ac57600080fd5b50600454610317906001600160a01b031681565b3480156103cc57600080fd5b5061023060035481565b3480156103e257600080fd5b50610256610a0d565b3480156103f757600080fd5b5061040b6104063660046132f8565b610a1d565b60405161023a919061331a565b34801561042457600080fd5b50600154610230565b34801561043957600080fd5b5061023060055481565b34801561044f57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610317565b34801561048c57600080fd5b506104e461049b3660046132f8565b600960205260009081526040902080546001820154600283015460038401546005909401546001600160801b03841694600160801b9094046001600160401b0316939060ff1686565b604080516001600160801b0390971687526001600160401b0390951660208701529385019290925260608401526080830152151560a082015260c00161023a565b34801561053157600080fd5b50600354610230565b34801561054657600080fd5b5061054f610aa9565b60405161023a939291906133a4565b34801561056a57600080fd5b506102566105793660046133f4565b610c66565b61025661058c366004613191565b610dab565b34801561059d57600080fd5b50600054610230565b3480156105b257600080fd5b50600254610230565b3480156105c757600080fd5b506102566105d63660046134b0565b610dc4565b3480156105e757600080fd5b506004546105fd90600160a01b900461ffff1681565b60405161ffff909116815260200161023a565b34801561061c57600080fd5b5061063061062b3660046132f8565b610dd5565b6040805193845260208401929092529082015260600161023a565b34801561065757600080fd5b50610256610666366004613191565b610e20565b34801561067757600080fd5b50610680610fb5565b6040516001600160501b03909116815260200161023a565b3480156106a457600080fd5b5061023060025481565b3480156106ba57600080fd5b506102566106c9366004613191565b611005565b3480156106da57600080fd5b5061023060005481565b3480156106f057600080fd5b5061023060075481565b34801561070657600080fd5b506102566107153660046132f8565b611016565b610722611051565b61072a611089565b600081116107725760405162461bcd60e51b815260206004820152601060248201526f139bc818985b185b98d948185919195960821b60448201526064015b60405180910390fd5b600480546040516370a0823160e01b815230928101929092526000916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156107c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e491906134cb565b6004549091506000906001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018690526064016020604051808303816000875af115801561084f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087391906134e4565b9050806108925760405162461bcd60e51b815260040161076990613506565b600480546040516370a0823160e01b8152309281019290925260009184916001600160a01b0316906370a0823190602401602060405180830381865afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090491906134cb565b61090e919061354b565b905080600360008282546109229190613564565b909155505060016000805160206138008339815191525550610942915050565b50565b61094d611089565b6109588383836110f8565b505050565b610965611051565b61096e8161132f565b50610942600160008051602061380083398151915255565b61098e611089565b61094281611672565b61099f611051565b6109a76116b8565b506109bf600160008051602061380083398151915255565b565b6109c9611089565b6109bf611942565b600681815481106109e157600080fd5b6000918252602090912001546001600160a01b0316905081565b610a03611089565b6109bf60006119a2565b610a15611089565b6109bf611a13565b6001600160a01b0381166000908152600960209081526040808320600401805482518185028101850190935280835260609492939192909184015b82821015610a9e57838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610a58565b505050509050919050565b6060806060600a60006001600460169054906101000a90046001600160401b0316610ad49190613577565b6001600160401b03168152602001908152602001600020600101805480602002602001604051908101604052809291908181526020018280548015610b3857602002820191906000526020600020905b815481526020019060010190808311610b24575b50505050509250600a60006001600460169054906101000a90046001600160401b0316610b659190613577565b6001600160401b03168152602001908152602001600020600201805480602002602001604051908101604052809291908181526020018280548015610bc957602002820191906000526020600020905b815481526020019060010190808311610bb5575b50505050509150600a60006001600460169054906101000a90046001600160401b0316610bf69190613577565b6001600160401b03168152602001908152602001600020600301805480602002602001604051908101604052809291908181526020018280548015610c5a57602002820191906000526020600020905b815481526020019060010190808311610c46575b50505050509050909192565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b0316600081158015610cab5750825b90506000826001600160401b03166001148015610cc75750303b155b905081158015610cd5575080155b15610cf35760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d1d57845460ff60401b1916600160401b1785555b610d2633611a5c565b610d318c6012611a6d565b610d39611b36565b610d458b8b8b8b611b46565b610d4e87611d90565b610d5786611672565b8315610d9d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050505050565b610db3611051565b610dbb611dce565b61096e81611dff565b610dcc611089565b6109428161236a565b6001600160a01b0381166000908152600960205260408120600101549080610dfc846125a1565b6001600160a01b039094166000908152600960205260409020600301549294915050565b610e28611051565b610e30611089565b6003548111610e4c5780600354610e47919061354b565b610e4f565b60005b6003556004546000906001600160a01b031663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af1158015610eb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed891906134e4565b905080610ef75760405162461bcd60e51b815260040161076990613506565b600554600480546040516370a0823160e01b815230928101929092526001600160a01b0316906370a0823190602401602060405180830381865afa158015610f43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f6791906134cb565b101561096e5760405162461bcd60e51b815260206004820152601e60248201527f5374616b696e6720746f6b656e2062616c616e636520726564756365642e00006044820152606401610769565b6000600a60006001600460169054906101000a90046001600160401b0316610fdd9190613577565b6001600160401b031681526020810191909152604001600020546001600160501b0316919050565b61100d611089565b61094281611d90565b61101e611089565b6001600160a01b03811661104857604051631e4fbdf760e01b815260006004820152602401610769565b610942816119a2565b60008051602061380083398151915280546001190161108357604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b336110bb7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146109bf5760405163118cdaa760e01b8152336004820152602401610769565b600160008051602061380083398151915255565b6000600a60006001600460169054906101000a90046001600160401b03166111209190613577565b6001600160401b031681526020808201929092526040908101600020815160c08101835281546001600160501b038082168352600160501b8204811683870152600160a01b90910416818401526001820180548451818702810187019095528085529194929360608601939092908301828280156111bd57602002820191906000526020600020905b8154815260200190600101908083116111a9575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561121557602002820191906000526020600020905b815481526020019060010190808311611201575b505050505081526020016003820180548060200260200160405190810160405280929190818152602001828054801561126d57602002820191906000526020600020905b815481526020019060010190808311611259575b50505050508152505090508251845114801561128a575081518351145b6112ce5760405162461bcd60e51b81526020600482015260156024820152740a4caeec2e4c840e4c2e8d2de40dad2e6dac2e8c6d605b1b6044820152606401610769565b80516112dc90858585611b46565b7fee14cee8e0bb760983a878ccf0224f6466409a6519cf2f80bc023a73e470c6b28160600151858360800151868560a00151876040516113219695949392919061359e565b60405180910390a150505050565b6000816000036113785760405162461bcd60e51b81526020600482015260146024820152735769746864726177696e67203020746f6b656e7360601b6044820152606401610769565b6113813361262b565b33600090815260096020526040902060010154828110156113e45760405162461bcd60e51b815260206004820152601c60248201527f5769746864726177696e67206d6f7265207468616e207374616b6564000000006044820152606401610769565b82811480156113f957506113f73361270c565b155b1561154e576000600680548060200260200160405190810160405280929190818152602001828054801561145657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611438575b5050505050905060005b815181101561154b57336001600160a01b031682828151811061148557611485613620565b60200260200101516001600160a01b03160361153b5781600183516114aa919061354b565b815181106114ba576114ba613620565b6020026020010151600682815481106114d5576114d5613620565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600680548061151457611514613636565b600082815260209020810160001990810180546001600160a01b031916905501905561154b565b6115448161364c565b9050611460565b50505b336000908152600960205260408120600101805485929061157090849061354b565b925050819055508260056000828254611589919061354b565b90915550506004546000906001600160a01b031663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018790526044016020604051808303816000875af11580156115f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161491906134e4565b9050806116335760405162461bcd60e51b815260040161076990613506565b60405184815233907f6352c5382c4a4578e712449ca65e83cdb392d045dfcf1cad9615189db2da244b9060200160405180910390a25060019392505050565b600880549082905560408051828152602081018490527f141e1758994603fc8f4c6afa615d6c0014712acd7582d25ecd6147560020a0b591015b60405180910390a15050565b6000806116c433612853565b336000908152600960205260409020600201546116e19190613564565b9050806000036117205760405162461bcd60e51b815260206004820152600a6024820152694e6f207265776172647360b01b6044820152606401610769565b60035481111561177c5760405162461bcd60e51b815260206004820152602160248201527f4e6f7420656e6f7567682072657761726420746f6b656e7320746f20636c61696044820152606d60f81b6064820152608401610769565b806003600082825461178e919061354b565b9091555061179d905033612c4f565b33600090815260096020526040812080546001600160801b031916426001600160501b0316178155600201556004546117e9906001906001600160401b03600160b01b90910416613577565b33600081815260096020526040812080546001600160401b0394909416600160801b0267ffffffffffffffff60801b19909416939093179092556004546001600160a01b03169063a9059cbb906040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af1158015611883573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a791906134e4565b9050806118c65760405162461bcd60e51b815260040161076990613506565b81600160008282546118d89190613564565b909155505033600090815260096020526040812060030180548492906118ff908490613564565b909155505060405182815233907ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe9060200160405180910390a260019250505090565b61194a612ddc565b6000805160206137e0833981519152805460ff191681557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a150565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b611a1b611dce565b6000805160206137e0833981519152805460ff191660011781557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25833611984565b611a64612e0c565b61094281612e55565b611a75612e0c565b611a7d612e5d565b6001600160a01b038216611ac55760405162461bcd60e51b815260206004820152600f60248201526e0746f6b656e2061646472657373203608c1b6044820152606401610769565b8061ffff16600003611b065760405162461bcd60e51b815260206004820152600a6024820152690646563696d616c7320360b41b6044820152606401610769565b6004805461ffff909216600160a01b026001600160b01b03199092166001600160a01b0390931692909217179055565b611b3e612e0c565b6109bf612e6d565b8251151580611b555750815115155b80611b605750805115155b611bc55760405162461bcd60e51b815260206004820152603060248201527f4e756d657261746f722c2064656e6f6d696e61746f72206f7220616d6f756e7460448201526f2064617461206973206d697373696e6760801b6064820152608401610769565b836001600160501b0316600003611c155760405162461bcd60e51b8152602060048201526014602482015273074696d652d756e69742063616e277420626520360641b6044820152606401610769565b60048054600160b01b90046001600160401b0316906001906016611c398385613665565b82546001600160401b039182166101009390930a9283029190920219909116179055506040805160c0810182526001600160501b03808816825242811660208084019182526000848601818152606086018b8152608087018b905260a087018a9052888352600a84529690912085518154945192518616600160a01b0269ffffffffffffffffffff60a01b19938716600160501b026001600160a01b03199096169190961617939093171692909217815592518051929392611d019260018501920190613131565b5060808201518051611d1d916002840191602090910190613131565b5060a08201518051611d39916003840191602090910190613131565b505081159050611d895742600a6000611d5360018561354b565b815260200190815260200160002060000160146101000a8154816001600160501b0302191690836001600160501b031602179055505b5050505050565b600780549082905560408051828152602081018490527f5777446d7c2cd528762effef4eb086539e6f36849db4d67462f3d2767c40c36191016116ac565b6000805160206137e08339815191525460ff16156109bf5760405163d93c066560e01b815260040160405180910390fd5b600081600003611e445760405162461bcd60e51b815260206004820152601060248201526f5374616b696e67203020746f6b656e7360801b6044820152606401610769565b3415611e805760405162461bcd60e51b815260206004820152600b60248201526a056616c7565206e6f7420360ac1b6044820152606401610769565b600754821015611ed25760405162461bcd60e51b815260206004820152601f60248201527f4d696e696d756d207374616b65206c696d6974206e6f742072656163686564006044820152606401610769565b3360009081526009602052604090206005015460ff16611f2457336000908152600960205260408120600501805460ff1916600190811790915581549091908190611f1e908490613564565b90915550505b33600090815260096020526040902060010154151580611f4e5750611f483361270c565b15156001145b15611f6157611f5c3361262b565b612021565b6006805460018082019092557ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b03191633908117909155600090815260096020526040902080546001600160801b0319166001600160501b034216179055600454611fe791906001600160401b03600160b01b90910416613577565b33600090815260096020526040902080546001600160401b0392909216600160801b0267ffffffffffffffff60801b199092169190911790555b600480546040516370a0823160e01b815230928101929092526000916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561206f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061209391906134cb565b6004549091506000906001600160a01b031663dd62ed3e336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381865afa1580156120f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061211991906134cb565b9050808411156121625760405162461bcd60e51b81526020600482015260146024820152734e6f7420656e6f75676820616c6c6f77616e636560601b6044820152606401610769565b6004546000906001600160a01b03166323b872dd336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604481018890526064016020604051808303816000875af11580156121ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ee91906134e4565b90508061220d5760405162461bcd60e51b815260040161076990613506565b600480546040516370a0823160e01b8152309281019290925260009185916001600160a01b0316906370a0823190602401602060405180830381865afa15801561225b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061227f91906134cb565b612289919061354b565b905060096000336001600160a01b03166001600160a01b031681526020019081526020016000206004016040518060400160405280838152602001600854426122d29190613564565b9052815460018181018455600093845260208085208451600290940201928355909201519101556005805483929061230b908490613564565b9250508190555080600260008282546123249190613564565b909155505060405181815233907fb539ca1e5c8d398ddf1c41c30166f33404941683be4683319b57669a93dad4ef9060200160405180910390a250600195945050505050565b6000600a60006001600460169054906101000a90046001600160401b03166123929190613577565b6001600160401b031681526020808201929092526040908101600020815160c08101835281546001600160501b038082168352600160501b8204811683870152600160a01b909104168184015260018201805484518187028101870190955280855291949293606086019390929083018282801561242f57602002820191906000526020600020905b81548152602001906001019080831161241b575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561248757602002820191906000526020600020905b815481526020019060010190808311612473575b50505050508152602001600382018054806020026020016040519081016040528092919081815260200182805480156124df57602002820191906000526020600020905b8154815260200190600101908083116124cb575b505050505081525050905080600001516001600160501b0316826001600160501b0316036125465760405162461bcd60e51b81526020600482015260146024820152732a34b6b296bab734ba103ab731b430b733b2b21760611b6044820152606401610769565b61255e82826060015183608001518460a00151611b46565b8051604080516001600160501b03928316815291841660208301527fd968de290ed68f978b9e4816f7d4be9ef46189fe8eeb3eeb86199e7229cf2de091016116ac565b6001600160a01b0381166000908152600960205260408120600101541580156125d057506125ce82612e8e565b155b156125f457506001600160a01b031660009081526009602052604090206002015490565b6125fd82612853565b6001600160a01b0383166000908152600960205260409020600201546126239190613564565b90505b919050565b61263481612c4f565b600061263f82612853565b6001600160a01b03831660009081526009602052604081206002018054929350839290919061266f908490613564565b90915550506001600160a01b038216600090815260096020526040902080546001600160801b0319166001600160501b0342161790556004546126c5906001906001600160401b03600160b01b90910416613577565b6001600160a01b03909216600090815260096020526040902080546001600160401b0393909316600160801b0267ffffffffffffffff60801b199093169290921790915550565b6001600160a01b0381166000908152600960209081526040808320815160e08101835281546001600160801b0381168252600160801b90046001600160401b03168185015260018201548184015260028201546060820152600382015460808201526004820180548451818702810187019095528085528695929460a086019390929190879084015b828210156127db57838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190612795565b505050908252506005919091015460ff16151560209091015290506000805b8260a001515181101561284b578260a00151818151811061281d5761281d613620565b602002602001015160200151600014612839576001915061284b565b806128438161364c565b9150506127fa565b509392505050565b6001600160a01b0381166000908152600960209081526040808320815160e08101835281546001600160801b0381168252600160801b90046001600160401b03168185015260018201548184015260028201546060820152600382015460808201526004820180548451818702810187019095528085528695929460a086019390929190879084015b82821015612922578382906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050815260200190600101906128dc565b505050908252506005919091015460ff1615156020918201528101516004549192506001600160401b0390811691600160b01b900416600061296386612e8e565b9050825b82811015612bf9576000818152600a60209081526040808320815160c08101835281546001600160501b038082168352600160501b8204811683870152600160a01b9091041681840152600182018054845181870281018701909552808552919492936060860193909290830182828015612a0157602002820191906000526020600020905b8154815260200190600101908083116129ed575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015612a5957602002820191906000526020600020905b815481526020019060010190808311612a45575b5050505050815260200160038201805480602002602001604051908101604052809291908181526020018280548015612ab157602002820191906000526020600020905b815481526020019060010190808311612a9d575b50505050508152505090506000612ac9898386613023565b90506000868403612adb578751612aea565b82602001516001600160501b03165b6001600160801b03169050600083604001516001600160501b0316600003612b125742612b21565b83604001516001600160501b03165b9050600080612b70888c60400151612b399190613564565b612b43868661354b565b612b4d9190613685565b87606001518781518110612b6357612b63613620565b60200260200101516130c3565b91509150600080612bc18e89608001518981518110612b9157612b91613620565b60200260200101518a600001516001600160501b031686612bb291906136b2565b612bbc91906136b2565b61310e565b91509150838015612bcf5750815b612bd9578d612bdb565b805b9d505050505050505050600181612bf29190613564565b9050612967565b50600454612c1e908690612c1990600160a01b900461ffff16600a6137b8565b6130c3565b600454909650612c3b9150600160a01b900461ffff16600a6137b8565b612c4590866136b2565b9695505050505050565b60005b6001600160a01b038216600090815260096020526040902060040154811015612dd8576001600160a01b0382166000908152600960205260409020600401805482908110612ca257612ca2613620565b9060005260206000209060020201600101544210158015612d0257506001600160a01b0382166000908152600960205260409020600401805482908110612ceb57612ceb613620565b906000526020600020906002020160010154600014155b15612dc6576001600160a01b0382166000908152600960205260409020600401805482908110612d3457612d34613620565b90600052602060002090600202016000015460096000846001600160a01b03166001600160a01b031681526020019081526020016000206001016000828254612d7d9190613564565b90915550506001600160a01b0382166000908152600960205260409020600401805482908110612daf57612daf613620565b600091825260208220600290910201818155600101555b80612dd08161364c565b915050612c52565b5050565b6000805160206137e08339815191525460ff166109bf57604051638dfc202b60e01b815260040160405180910390fd5b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166109bf57604051631afcd79f60e31b815260040160405180910390fd5b61101e612e0c565b612e65612e0c565b6109bf613129565b612e75612e0c565b6000805160206137e0833981519152805460ff19169055565b6001600160a01b0381166000908152600960209081526040808320815160e08101835281546001600160801b0381168252600160801b90046001600160401b03168185015260018201548184015260028201546060820152600382015460808201526004820180548451818702810187019095528085528695929460a086019390929190879084015b82821015612f5d57838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190612f17565b505050908252506005919091015460ff16151560209091015290506000805b8260a001515181101561284b578260a001518181518110612f9f57612f9f613620565b6020026020010151602001514210158015612fdc57508260a001518181518110612fcb57612fcb613620565b602002602001015160200151600014155b15613011578260a001518181518110612ff757612ff7613620565b6020026020010151600001518261300e9190613564565b91505b8061301b8161364c565b915050612f7c565b60a08201515160009081905b80156130ba5760a085015161304560018361354b565b8151811061305557613055613620565b60200260200101518460096000896001600160a01b03166001600160a01b03168152602001908152602001600020600101546130919190613564565b106130a8576130a160018261354b565b91506130ba565b806130b2816137c8565b91505061302f565b50949350505050565b600080836000036130da5750600190506000613107565b838302838582816130ed576130ed61369c565b0414613100576000809250925050613107565b6001925090505b9250929050565b60008083830184811015613100576000809250925050613107565b6110e4612e0c565b82805482825590600052602060002090810192821561316c579160200282015b8281111561316c578251825591602001919060010190613151565b5061317892915061317c565b5090565b5b80821115613178576000815560010161317d565b6000602082840312156131a357600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126131d157600080fd5b813560206001600160401b03808311156131ed576131ed6131aa565b8260051b604051601f19603f83011681018181108482111715613212576132126131aa565b60405293845285810183019383810192508785111561323057600080fd5b83870191505b8482101561324f57813583529183019190830190613236565b979650505050505050565b60008060006060848603121561326f57600080fd5b83356001600160401b038082111561328657600080fd5b613292878388016131c0565b945060208601359150808211156132a857600080fd5b6132b4878388016131c0565b935060408601359150808211156132ca57600080fd5b506132d7868287016131c0565b9150509250925092565b80356001600160a01b038116811461262657600080fd5b60006020828403121561330a57600080fd5b613313826132e1565b9392505050565b602080825282518282018190526000919060409081850190868401855b8281101561335c57815180518552860151868501529284019290850190600101613337565b5091979650505050505050565b600081518084526020808501945080840160005b838110156133995781518752958201959082019060010161337d565b509495945050505050565b6060815260006133b76060830186613369565b82810360208401526133c98186613369565b90508281036040840152612c458185613369565b80356001600160501b038116811461262657600080fd5b600080600080600080600060e0888a03121561340f57600080fd5b613418886132e1565b9650613426602089016133dd565b955060408801356001600160401b038082111561344257600080fd5b61344e8b838c016131c0565b965060608a013591508082111561346457600080fd5b6134708b838c016131c0565b955060808a013591508082111561348657600080fd5b506134938a828b016131c0565b93505060a0880135915060c0880135905092959891949750929550565b6000602082840312156134c257600080fd5b613313826133dd565b6000602082840312156134dd57600080fd5b5051919050565b6000602082840312156134f657600080fd5b8151801515811461331357600080fd5b602080825260159082015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8181038181111561355e5761355e613535565b92915050565b8082018082111561355e5761355e613535565b6001600160401b0382811682821603908082111561359757613597613535565b5092915050565b60c0815260006135b160c0830189613369565b82810360208401526135c38189613369565b905082810360408401526135d78188613369565b905082810360608401526135eb8187613369565b905082810360808401526135ff8186613369565b905082810360a08401526136138185613369565b9998505050505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b60006001820161365e5761365e613535565b5060010190565b6001600160401b0381811683821601908082111561359757613597613535565b808202811582820484141761355e5761355e613535565b634e487b7160e01b600052601260045260246000fd5b6000826136cf57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111561370f5781600019048211156136f5576136f5613535565b8085161561370257918102915b93841c93908002906136d9565b509250929050565b6000826137265750600161355e565b816137335750600061355e565b816001811461374957600281146137535761376f565b600191505061355e565b60ff84111561376457613764613535565b50506001821b61355e565b5060208310610133831016604e8410600b8410161715613792575081810a61355e565b61379c83836136d4565b80600019048211156137b0576137b0613535565b029392505050565b600061331361ffff841683613717565b6000816137d7576137d7613535565b50600019019056fecd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220a2aa06fe832cc8a423203bccd1791ded44bae1217e9c3272c7aa7d51504713a764736f6c6343000814003300582102e28a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c648ffffffffffffffff05581e0389d46c18f9d66af8033cba4dd612c42800f8984ea22f025386865f91300701193855034be98dadb206b0b6c6dfa604d5b02cbf11cd564daf0acfc75c4b2eb97e39d91a05581e039454603f1dd0d3f696154a0dbfa797e97a722461eed8bd51827da23be00c0247015008de86140005581e0371de88e06309d733d27b714d2c073f0a7a64cb94df92488fe450f1d8700c1867470552fdadc1ca97021980b903ee1a10abbcae425ea2ff8f375607758d93bd3d8e859f70d37e8c036f3d8758fa035be1ef351ff95989eddeb915f2a89e06444da8cb6836a962aad2c1475524676c032776bc25bccfa1992218d459481c59e0354ef607fd6cd0b3ee85c5bcde49b61b03be0ef9b4764f7361e5b0121cbd4fe4d78c14298d63749012672e3bf34b9336ce03f9aff6b8330ae429c27959d706f313c3364948ad88e2f053a2185bc9c6675e5603ccf398f2d9c6bb344ea82846902c44b00a7607a82c4269eed1688c13230ef07603d7d13a04222fe9ddcfc68d2016e7efd6f0cf0a5b4b589de1eed4aa55a616456e0219ffff03221dc25478b476bcde4c3ef888c71e26a5c569aa74e2be5679832729c85aa6d20316c2561f797d5b47be70a305be0685164c075eb60e9a9316e91377ff49fa578103bde5e9c81a9a2ff84602bb90f6399abf1d0697dd0fec2e1671585d952d7ce74d0342d968ae49f66be4819c85328ee940bd23f8df4815f1f2b9f98a7530bf205aa903780a207be8385de41e8910459bcbf634818fa84b4a27b1bf6a47c0957049bae80316de237df8069f32d5b4d64ab7465e5af1f47deda1cb9f4d7b26ae33bf3be83d0219ffff037f5bcbaadaaf315ad955100f5b6ef941b1c1a9079ec57f7bfff18b85a2833ab9033db72dde290627be1380146a36d6db7e734deb587f06f05b7e55e020821e03ff03a332ff80cc299a5749496123bd97d539061ac20cd30b0c525503ac213c62f9d1033019091c284e39442d657cf47c87378df70f43907eae6394deeacb931919a4960346bc58385e0f3f036879682fb9905ad264cf54760145e05139fb7352b842d42c03351ac63e822428f15af58b7cc2f3f24654b217639e4b7b88a933404c16a3fd3e03b3abb10ebdb797b8ac052b2381b4e7f23f344c67558c18563cceb375518187980219ffff03001ec387857e570b88e1b9154fee5a2b73007c72781f034cc9735b09a0a4bcb7030562d05c970d7349746c73bd5cc49e7bc05331fd1483a7b2d46da1a631497d9203927399fb4c775a5c7fd668e29a79b14688caced5bdac118c75872c809fbc1268038673d1715c776f0b26cd05aa839e66bcfc669e49dae12395000782f2efc327a203b62e27ac848717af87dbb89756af2cd2c430af594c2c698683c93921960eb22d03d4c10a55b70e91b3dbb9ca66d57d809b05a5120cee2cf5c07ef1bac3ce0c5acd03e96d56bdb8d29f156d351a4309276a7df9380febd7e85ddf16591a2fe7a1320e0394afed2f43ccd02b06111e60bcd25b8e895b49fe27b4e8d5522aac8b9fd3fc3d039712187bf8130001a1f5a5791d8b55a7d33ee542da5d812af0102e22936c66250377d6939f93162c918cb6f736232fd3946c5ca042c021b2fae18a514c83e3e6c103bc7e74ccb1fc4bc551b52d1a3dbebd654b645a7849ae034fffd4dda39a70676e035dcc0e6af4677881bca77ed27e9eac27b4c5e53e31ba3a16075ede79cfeefd3803de185b92cf1e354470ea89a5bd6881c367dfec151a0e0ab3aa675c17b3cfc10e03a7b1fb713db30a3cf0afa8ac69ee6bc2db2554f4c1b7f48e4c67675327af804b0318c33843c4d0cee39218aae9a6a5f95a7cc652dac11aacf266bf31af5e242235036530a658b0ad4421b807791a46ccac81757524770851aa7c493ddd66895d6e7d03ecd5440e8e097aff51e2f1766c60642387cc0183eb03fd787193a7016d5f97c50337fb99564a34ceb406ea7563ae6a2b867bb2ce06526f160c444fa540683371280397981e1035cb1143db974240eb9a6884a2ee80440b7efeec1f561d728a5f24130399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803f9ce0e6e05918d5c872445d4bccea9eb464899b387e874ac284d5706f13c412405581e036deaff6889bf684abe5d1f0cae19c7cea1d0ff2f01b589621f3daf64c007011bffffffffffffffff035c90ecdd4022ab3513aeb4d4c8bedca56b86f9b66476d7fa10f687cfb2449bb00364c345f270e6c3ac934194f922902559071fa652d3b7b60fb66ba1d71d1d9b3103ad301e806ff77fa4cdf5aae9629f94ee7d8eaf39624b27e373886bd9c6693cb105581e0300239f166378945e469217984d22addcec1472e5354b752949075a1220040305581e039814566914550eb2d7f416d88e1da54881bd773030b0cf6e978e55d4f00c01470bc2eac0ef60f805581e038c1145775a18b664bbaab6e8409e17261057b25289de7101107cf49d50040105581e031fdb1e791873c454bd5dc6216b8ccf4a3ecd9bba929bcd6a39353970100c1147aafe554bf7200603faacb7e48b3e0f4a68effc8f16ac1d1a329dcbf8f9bb8079a6030e6eebaef5a00605581e03e92dfb5bc575cd266bcb6ca99a65d45098b86eea0e407e7f1d3f1cdec00b41011bffffffffffffffff0219dec803c7056a4670797ca322486f27c81dbae8addc87f1c3ab1378461f8d3492fab2b103e92f245225a9babb7970fd58a461268fb2b7b4c6597ecc0c38d49824bc5da171039536598c1b9acab0d7ccd702d841528253062226c6d7ba9b2527e8302759f4f303fa1a81a6ce6f1db13c03ebd13e6111fece92bffcb6b0bca9bec07b177ab73c9303134594881185573b09227d9422fb68f67cece941d691c82ebcfe37fbc19f82e0032d1f8c5218cac8785d21abeade3f3dcca2c09a0b6a61ae7f20ba71381fbe37260219ffff0392da27ffd4524ecf4a436dbbfae211528bb5ddaa8c9b1b4bbefbafecbe6f9db80356aef252d9884aa56f0e6933386717ad8b7c2b4a84c77efe2a0da332a4beb5f003c05888eed68b86ad2e73455e95eb97d4200e4e4a235acfc5330240ca21725d7203a7538e0e2ca783abb0c89ad00a7d67f39502d5058482b7b3be2a45054c088e3b039a6f4403416bcca9908f52d4dd546916a2b2cfc0d37d32120d845f8f041fd6150337457e6b1cb7093ad1fbe16da8da1c1b952aa8f15bd92f73ce1ad5bd7959739103381bc52154d83f1e3782b00cbbe1c429282865344ed994cbdcdf0d6d37c2c68b037d6ba7d9e6f9383120e6bbe5aa071d0254267b443952cf59e5df9606decd81050219ffff03c4dc15f282e635624cef84815f275e34e1e273fae537d2d4efec6e3d364d35fd0322d8fb917b6404a1756fdb4ad523607fed2d4b5dcb457f3d81dd8681cbba7e8c03bc1d648b00ae8158b4749fea4976f805ffa143eb7ee9f67e112d226304e500fe0350db19edd3232a1fbed24343b7e866e45ade78d5447cb70bf2645b1b5fca6c1903f38f75fbed563a255c48e731ccfe231228cf9afdb19fc293a8131c9b7596601903a628a7e2bc677b02d4877ac72d95f4ae52d6d18f3b90bd3f423d336bb66861b203547bcd87f6afb676580e2a7f8454169aa2e2a26322f927eeb3df79ac7f7a7e6803106b0ef08cc42da1bd80f5387f1b673325874f5feef6ce436358466bcb522097037086e66aed67ecbe49816364d916bec103f7bffe1447beb4ba3e2056b02a795603e7742db3841bc1480fd9a5370635e64d4547b0bd50d99bbb20a7b2a2bdef56b503cec0b886f017bcfafce0d2d3f41dde4cdb2f00c09333b7d37fae65176bc051ef03c342edcc48e2712880e99ebdf17fe1d805f83e1154164279e859e0ed4fb3fd8703263037e32bd4589d73c81ff7c8fe13cc732c5cca831307db89693c76e163a3cd03c6de73e4d6059680e3899017adfa87fcf336c1b542114235a5b6479daaac7dfb03aa4cfc483e2df03d877b363d6a0fa4b2794b88daa4c50cb6f55478a6269d887a0219ffff0343d780b5da0e4d757fb7b4058afa8c314fba183e784caf9576dbaa584287ed9b038be755aaffba6bf16339fbbf158aa8371ffe7375f362d8433877da6325852c7b0219ffff030bd74f77abe4796079445c71f3f74cb9fce99f47c2ca736b370962afe15961f90393fe3c93dfb1d48db53569f27ff222515fab0c4188209732a8a2a2f1ad3f037903d4a031f9d49cf82296970e9a109bf87aa0b13da07a06c0d057ccafa36c0429f1036566a5aeb4abc102211b9448d76156356551b95bbf95985d4def1abe675ea01503b42f2bbed9bea5e3039fce9a8db690e34ca2c376ce3605d6e1ea025d196e23fa0336758cf2e6cb26135694b89c8e534bf4f1a7b6d946ac97a532e39dab54517c5b03a10503ae3c53ef796e77e8e6447681795a93233600cf442aa99853be244e9c24039ab217e858b2a40c6fe7d6d23598678ce7c7de617027ba2f91fe224afa32d2780390ad7b42993ea40fd892c00403496578f8747f768674672b4aa5575e95a7f41603802786cdedee5e93b94a59e8214e0b7c0bf611852b8a94690aa72ab715d2fca903f3822c0c8cd87bafeedc41b51f750e5d8cf8f711c4bb188982cf10c2a5a6cb9803c97a2b9557c0eca284d58b76a9636c6996281bc8189da13d74aa3df329a63df90379ee35d686e1fdf26ac3a88745dc2e12a188cd4ccdfb960857e9c643ad4699a603ea8a941109f3a4a74f870336062c61ccd30bf9b9b3e856e6ffbd9f1fa8959b3c03b915518579abe5cb2763ed68a8f9543f9750f50bb6550118fd25c0b4ce3ae7af03d38239956629fa70d822f83272a5f6d74c8242c86af44d8c658e00af6caae5160358df7da646d0a040b24f192f963766e9ab2c6270cb61d9f71110394602ab814303bfd3efd410c7c3785834dc990099e803717c720180e2febf055cfa9c4820898f03fcb4dd296a6765a4d1a67afa0226e04b3b1222546dcc864c49680eb0e3649f950318212c4c4bf53e5822ae5d5b6dd5a4532b1acfb3518cf369caec6135fc13fb3a0397c0077f4dc84d1926c7029ae72bcff94c6bebcb4a5372859beea0b3350800ea03537933f1fb0de2c140a8411099cc81bf15d8a504755cf559fd5bddb035b687f40327f7822b55e31ec08867fa8fc3fbdcec0de42fff838baadf5e0e884db63c9e2e0300f37a94e34f0a91c841238db7dee404851b3372030f35c285ae37fbcc087d0d03725ac057a32512d0767bfd16a06a322ec6cbdf8f933f6d6beedabf7957c4d35203efa076ff1d019308a17a5891b90b5896b2397e7818708963c8bf2f53443c82dd033c890f82b4e6f25cfc2bc03e6eef69734b6f7171a997bae2beb322b3d869877d03c5703d33d362fa6bd72a7d50dccbea3433cb4fb5913707454fea95231f8d67bc032a4802a67a619ca3e1e34244da12c4f8039da5e06312caf5b5970bd3872ef77505581e0391bf18b757cab782831aece8f1fa182454fbc996e50b4023e74c8aacc00c182548087487f1654deb4803bdadb2947df746cd51c2f53c3c02d61b3a82cab3e81663127db34363c5f7d41f05581e03ee482a7841921d77c94bd92edc174d1e32f12c48fd08270759ef07ded00c03471950b208cfc00003a57c1cd7e8bda2b4e3228bed09f19ca6910935428308f66a0ab7cbf1d39c9df103b6aa7355cd4b97cb2fc537c396da032fbf9d55a29fa5c7e290307d7e84a5913205581e0370cbd1dfa78646710a9e8ef3127798aab4e109da2093887e44e1b410c00c014701f2595f53067c03e040cb8437304980d58c633f21274e504d115d2dab1e838041abe096810b86c60375d78da5a6f4d9435ec69c8697b237225d03227ac2ffbc063aaa7be6e54f0af00345b7754ad252290c21830e29a1687cc7b05e34fe8ce5649fba9eb38f8d03875905581e03e839a235af7249fab9eb10b73f1223e243ac0d9a238a3e6c23b1b86bf004020382feda257a11934488a0f4c850a8abaa4edcfe01e413245f09c235d7ca8a643b05581e032fc53cb7459cc83ac7844a947a265f3c073e9d09f2393db96aa5b9e4c004010377ed79e2926d2b7b90a4ced6fcd7e09292613265d4a56d8690f7b3e1061da2580219fadf035b6c40e75e8c1efedb73c7202c70ff1492921a74e0011e1f36fc333e842edf43030deab9b5bf6f380ed04f2f44155d7de034d0494553edf05e46e6c9326854159103edf3d9ea5525b1255ae9ef81d6d2f1ca9ffb9ffbafd0e2d38ac68f5fbd98604e03653b30342362a794fdeed99226b999e73781608fa7ee4bf4c8f5ce18bfca120703bf8d967677f0bd6bbf7841d459e13e5143b81c2fae5216caf6f134598affbff903a3e4f5040901a600361100e51fd137090776856721c7224ac34e49121f1b656f032c488083bf385d28c79413cdb11c915d0dee4f4006eab47a784377e9ae6d7d0a03f6bfbe66c16d69e6bb9dc92f2abfdcfd6686a805d0a983e96aad0c66607774430219ffff03a7c28d114b01c688fa34c11aa8925cc0f086e027327cbace887c29702242ad2c03a3d2a37e55cb93566c565298295a1eb6fcf6dbcf0f6951c36a00f4d5beb616dc033c9c2268ad1ccf5360f529c3edeeef9120e25924da30928595e1ec8782adea38033ac5e299a8ccbf1b61204c7264de7f400d159746afb888153f604ef41190b88a03b8a6fe0a4a79fcac1a21fdfb48582d8badd513bbfd7eec29a0337128e23eb6cb0340052ebdd617e0162ac04dede398e483fca7d401f033b68ad7010eee2f764a9b032a98f20f8614e810b5d5019dd6fb148bbfcfc61bc0db0f66962ab33d2acdbb7103d289b8b3380c45d7fd48a5dff1605f89fc386e01f67793c24569d002c055a15d0219ffff0359682967aaaaf66c334bcf5671ea288d16adee8c997623253a888be62bd4905f03bf7cebd913392fd382e705ca52bb8238bc3e6766b48ad001691a7ef0068c2e0b0345001df3d1853ef296634592a9aeefefa02362e9fddb9768164900c957c095e50349beab703abeaadecf675f6f4d7154213cabeccb410181e2eabc88d4de50f7fa033013d30d4a0f17c98d6e555c057d9a58338eefc72ec61d4e67b8e491ea4a15fd036ad9a84a493b3193697f854625123980e6fb9ca89144b436cea81dbb3abebe08035c513e57bd8982f5e52344b45dd665f156cd9fd2707d02cf0950b895dac1c1dc037702c67e66ddf968db02d8a9dc492e0ad1af0af40f7b91e538450d51f28efa1f03094487b5acf1d2e6707db0de6a74e808980c33fccfe8b136d7451e71bbfcc972037a3e782ebd8803f42021fcf06eb20252d6b448adba958c248caee1014450565003c65ac6ae001f301803f400b6c60eb1da174b726be8104037f6c93b66cfbb6655038df17412ef5ff96844bcfb3b973658acbf5ef232aa262de16c59adddf926ff6703a06c607eea2c112aa61c2cc2204dbf8465bad5e700ba3c5f5a28d8d0bfff475b03251ccc759967d1d192a003f49f2802b2167f61dde8b841a5bf62e9b9431b2c7403245d7914b31f97e13a554694437eae2960c19debdbb762ef5b1f72afa9cf50b703c529936651ce03586c2d58b09dc8a22624cc2cdefea325baa8f1da9ba1d85b6a033531bf96d23fdc3b35acb32be54e858610500d69e066efdce05ada5433538ef205581e0365a4f33c410c320c0dea8db7c5c541d6205193e82053de1b5c5d5bf5c00c01460bc347103dd805581e033b57cd92932e2395a4d44c2e55fca67553211758bb248325213d09cad0040105581d02af7eaa73d6786e517fe1a62c8ab94b8a95b93ecd7ff36cd0839177a80c06460a91210cb2c005581d02530594d623dd7743e6d11b644b4f857487f835ffc5f970019f5136670401020a03fb14c481e1e014e5360462225c32e26d33a81781d005f9b5dc8ce3f72878ac0405581e032494eb2194c48b55eb64125e204ab826901357f81995a6653424cd8120040205581e03e2f59d3b2951c2df32f68cf5a448ec1d458c0354a32c91a9437062f29004030219c48c0315c0073221cf65a4f831b371e95a8cb0ea030acc04607cc4db2ced00996d214303b90f1280006efb6116e27bc98e4436d458f0809d27cc31a3ef33ce94003e8c0b03ab804219e97f35e2ac1a78d41c70f5d09ddaebd1b25b322cc8c4c25d9a3b58bd03f3091cd85bd02328ebb0c61e1946aef6dfdc41ffa4f7c91e8ea6690aff53d1220219ffff03353c2bae9db1a0d5d756a5a733573350ee13f12d3f92804f753d79fff55d5255039b4007fe178a4b13516fc9ff251e6dc204676f8e0f61dd31adf663d465cd218403527c602794db4b9b73042ff7aeaf65a58236bd08959b8add3cb1b7c54a8f5aec03adf89a21f2bd5720d747a24468d878f8971867a2272718020dc742c1b00c44ad03d1595bf88153783ef341c3f942abdc5155630f90ebce4ffbc24972240e1fa4330308cde4eaa4006bf361dcb9e46807f627f199e9e81874323e5e4f6ffaee76021b03302ec022372b78a64abae53343d90e3533dd902adeaec758e7ca917bfab3348203a977cba0cbef2b1df78c7789b2c46196638616207e881796cdb0bdf46d85115403a428b2acc991a612a3d4c97736ececf633e7c48cb65c03d99ba9f5e08ce587b6033806fa7c773fa121f26b4c4a676242a352eb9c860e3afff43ed427186869179203bb3a25af3b701cc32e40d4f1b831bf69203c0c5597593ff24fa4169df4246e0e0219ffff0341a03bb88ba84ed5c11cbdba741bd4e3f694bdb0823544d5d5478a27193df06d03f5b6248f955bc1434471833a320e02dc721e268c835e092826ff596d238c3b0a036ed8ca49aa2cb42de2d173f87dd9f32055170947e77e0b8e17968889f8b532e40368ec1a8d011c6a8ed076aba3498ca5a46357ae9e7d7c38605a25aee2d250c933038107e4b2a1585b597a0bb0cf48390a6edd3b45f73cd56b57776e77345c8e836d03c4228cab424a6891f9891a2c47003b4df9bf4e4f772d95e2d2f2fb70252c0b7e03096dad0cb4c282126b402e7ab4f62a5b0492924f3e906fa2ae06d8a3027047dc0219ffff03c255a29d991b3e288b79f946528bcc76028af1fec0d1def36853e355c6ca708c036509d26cda9390cd1e00e2bedd40daeb30db36eef94fbdedb1122743db5914f403d66032ba16723c7a48765d554d504ac73ac5f2cd46a791d81da0bdc3be1164fd0350acc495c7a95d81c4a5f2d732f114a2fbfaf4c41212704bf7639e5153bf9a7403668f885d9a63cf78b1a88390c972ee2d5fe5184e447e0b959a38e2f1e8ba5e5503ee4caf8fae0a6c69718ca49425650dc38031b931bd1559ae09997b639d1e00e60341b68e6e2e9fbac4486072b8983f93d0d03c4ea171da91fcdc0b9da5e48913e003d383c2d13db141a784b6ce4d1ca6f1c110cd987dcd9450afb23953eaba6da156035c932bc6f5e51db00781060f5594f42f09f993e626fb2646b2b833b40c63722f032c813094d9723893075f611b2cf0c04f8dc672386e0601ab850cb62f719f41dd03c3f4aed7d11086d8f6cc44d891e39d07aedfc749ae3388392001669b58963c2e03cdd3237f472c11f1f4d5e95525c8e3f666e2f0a47a075143d3301a42f23f34ed03a3a257eb566e5ea13b705028255fa8982bf311eba7765159705a05d3b420a90403ffb1438c50099c93c850f130846720adcd818c08ec86ff62ab8e027c1fcd3f58034272cac1a1eea9995e6308d86f4e9e990a2005fca6b0e34817e72a41359be542038a6dc3c8f243bdd82eb708941bcf32b7b3979a525ddce7cdfadb78c46d604baa03c662e840220ff11d2a5ac63934fd047c3b3e267633787a11022f24e2692239a103fc2914277e5022acb8ac797cdf320fc4592b80c05aaf9cb211d4196bd3ed723e03bb3ac3a862d89f85dec5b90fa554210410b1f66de1636c92b104e898bcb95956034193a383a812ccc48e1103176e99703ed6ca5b9a162a8514db9cc5577b289d25032d7a25dc0e4526e08cbd6ca3227f343158877f77b1a7c6acdc08c0a78f44cf5803113c22ed4abd3e6461b3dd92ef23b1f7cf6c5e6c33fec594f6786007d5c1ae0f03c635574d34eca52d1b79a5ad378e89e82be09dbb78d6c636f806c435644653e803f03f1fd7a7c586ca491fea70b4b409e4813de52e9ef5903643d3d016e48547ea039e76e7807c55f36230ee581ced79c0a67c6decf4c070afef39e41899315a64df03aad55fd79e853dd4e40d6463ac56ee6fd7f6727e9dbcfe586767ece0547270cc03ac6c48c20568ef8438ecf56ad38521a80fb26a2cd0a21168f1df5181183786e103ec7edd1a51b239e03464b4e448c231a79ff3490570e2f73f3f5a05fd65cec375034b295e04ee72dbbd9cf052e4c4c2796ac46d30ea379c2604855f90d411a7627705581e0332dfaa29b2d775375cfcb71680768d60043a219dd0b4b4340d8184e7400c0d464479194b747804594259608060405234801561001057600080fd5b50600436106102415760003560e01c80636ff2212f116101455780639fd0506d116100bd578063b1c9fe6e1161008c578063d505accf11610071578063d505accf14610566578063dd62ed3e14610579578063f2fde38b1461058c57600080fd5b8063b1c9fe6e1461052e578063cca37eef1461054857600080fd5b80639fd0506d146104db578063a457c2d714610500578063a9059cbb14610513578063afb8a7af1461052657600080fd5b806380b34cd1116101145780638456cb59116100f95780638456cb59146104a85780638da5cb5b146104b057806395d89b41146104d357600080fd5b806380b34cd11461047257806380c1bf3f1461049557600080fd5b80636ff2212f1461043157806370a0823114610444578063715018a6146104575780637ecebe001461045f57600080fd5b806332aed946116101d85780633f4ba83a116101a75780635c975abb1161018c5780635c975abb146103e95780636c1e187c146103f45780636ef8d66d1461042957600080fd5b80633f4ba83a14610395578063427dff1d1461039d57600080fd5b806332aed9461461033f5780633644e5151461035257806337bfdef31461035a578063395093511461038257600080fd5b806323b872dd1161021457806323b872dd146102da5780632a7711fb146102ed5780632cd271e71461031b578063313ce5671461033057600080fd5b806306fdde0314610246578063095ea7b3146102645780630d76c6a41461028757806318160ddd146102aa575b600080fd5b61024e61059f565b60405161025b9190613fe0565b60405180910390f35b610277610272366004613f3c565b610631565b604051901515815260200161025b565b610277610295366004613dcc565b600c6020526000908152604090205460ff1681565b7f0000000000000000000000000000000000000001431e0fae6d7217caa00000005b60405190815260200161025b565b6102776102e8366004613e87565b610713565b6102776102fb366004613de8565b600d60209081526000928352604080842090915290825290205460ff1681565b61032e610329366004613dcc565b610a22565b005b6040516012815260200161025b565b61032e61034d366004613dcc565b610c53565b6102cc610d91565b610369670de0b6b3a764000081565b60405167ffffffffffffffff909116815260200161025b565b610277610390366004613f3c565b610da0565b61032e610f24565b6103c47f0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e881565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161025b565b60005460ff16610277565b610369610402366004613de8565b600960209081526000928352604080842090915290825290205467ffffffffffffffff1681565b61032e6110e6565b61032e61043f366004613e20565b611275565b6102cc610452366004613dcc565b611418565b61032e6114aa565b6102cc61046d366004613dcc565b61153b565b610277610480366004613dcc565b600a6020526000908152604090205460ff1681565b61032e6104a3366004613f3c565b611566565b61032e61187b565b600054610100900473ffffffffffffffffffffffffffffffffffffffff166103c4565b61024e611a3b565b6008546103c490610100900473ffffffffffffffffffffffffffffffffffffffff1681565b61027761050e366004613f3c565b611a4a565b610277610521366004613f3c565b611bc5565b61032e611d5d565b60085461053b9060ff1681565b60405161025b9190613f9f565b60015473ffffffffffffffffffffffffffffffffffffffff166103c4565b61032e610574366004613ec7565b612025565b6102cc610587366004613de8565b612105565b61032e61059a366004613dcc565b612249565b6060600580546105ae9061414b565b80601f01602080910402602001604051908101604052809291908181526020018280546105da9061414b565b80156106275780601f106105fc57610100808354040283529160200191610627565b820191906000526020600020905b81548152906001019060200180831161060a57829003601f168201915b5050505050905090565b6000805460ff16156106a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064015b60405180910390fd5b6106af33848461237f565b50336000908152600d6020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091555b92915050565b6000805460ff1615610781576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161069b565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600c6020526040902054849060ff166108105773ffffffffffffffffffffffffffffffffffffffff81166000908152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556108108161080b81612532565b6127b9565b843373ffffffffffffffffffffffffffffffffffffffff8083166000908152600d602090815260408083209385168352929052205460ff166109665773ffffffffffffffffffffffffffffffffffffffff8281166000818152600d6020908152604080832086861680855292529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526004810192909252602482015261096691849184917f0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e8169063dd62ed3e906044015b60206040518083038186803b15801561092957600080fd5b505afa15801561093d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109619190613f87565b61237f565b73ffffffffffffffffffffffffffffffffffffffff8616301415610a0c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f6e6f207472616e736665727320746f207468697320746f6b656e20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161069b565b610a178787876128d9565b979650505050505050565b600854610100900473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610a7a575060015473ffffffffffffffffffffffffffffffffffffffff1633145b80610acd5750600054610100900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610b33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f6f6e6c79207061757365722c206d6167652c206f72206f776e65720000000000604482015260640161069b565b73ffffffffffffffffffffffffffffffffffffffff8116610bb0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f7573652072656e6f756e63655061757365720000000000000000000000000000604482015260640161069b565b60085460405173ffffffffffffffffffffffffffffffffffffffff8381168252610100909204909116907f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a8119060200160405180910390a26008805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b60005473ffffffffffffffffffffffffffffffffffffffff610100909104163314610cda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161069b565b610ce3816129bf565b8073ffffffffffffffffffffffffffffffffffffffff166396d373e56040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d2b57600080fd5b505af1158015610d3f573d6000803e3d6000fd5b50505050610d4d60006129bf565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fe039b74be57483fdd56015b5720092dea2874e85f33906ddbc486455edd0458f90600090a250565b6000610d9b612a5a565b905090565b6000805460ff1615610e0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161069b565b336000818152600d6020908152604080832073ffffffffffffffffffffffffffffffffffffffff88168452909152902054849060ff16610f115773ffffffffffffffffffffffffffffffffffffffff8281166000818152600d6020908152604080832086861680855292529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517fdd62ed3e00000000000000000000000000000000000000000000000000000000815260048101929092526024820152610f1191849184917f0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e8169063dd62ed3e90604401610911565b610f1b8585612b8e565b95945050505050565b600854610100900473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f7c575060015473ffffffffffffffffffffffffffffffffffffffff1633145b80610fcf5750600054610100900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611035576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f6f6e6c79207061757365722c206d6167652c206f72206f776e65720000000000604482015260640161069b565b600160085460ff166001811115611075577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b146110dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f6f6e6c7920647572696e6720776f726b696e6720706861736500000000000000604482015260640161069b565b6110e4612bdb565b565b600854610100900473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061113e575060015473ffffffffffffffffffffffffffffffffffffffff1633145b806111915750600054610100900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6111f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f6f6e6c79207061757365722c206d6167652c206f72206f776e65720000000000604482015260640161069b565b6008546040516000815261010090910473ffffffffffffffffffffffffffffffffffffffff16907f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a8119060200160405180910390a2600880547fffffffffffffffffffffff0000000000000000000000000000000000000000ff169055565b60015473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112f95750600054610100900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61135f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6f6e6c79206d616765206f72206f776e65720000000000000000000000000000604482015260640161069b565b600060085460ff16600181111561139f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14611406576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f6f6e6c7920647572696e67207365747570207068617365000000000000000000604482015260640161069b565b61141284848484612cbc565b50505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600c602052604081205460ff16156114715773ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090205461070d565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600260205260409020546114a083612532565b61070d9190614051565b60005473ffffffffffffffffffffffffffffffffffffffff610100909104163314611531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161069b565b6110e46000612fde565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604081205461070d565b600160085460ff1660018111156115a6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1461160d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f6f6e6c7920647572696e6720776f726b696e6720706861736500000000000000604482015260640161069b565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600c602052604090205460ff16611877575b73ffffffffffffffffffffffffffffffffffffffff82166000908152600b602052604081206116699061305b565b1180156116765750600081115b156118775773ffffffffffffffffffffffffffffffffffffffff82166000908152600b602052604081206116e5906001906116b09061305b565b6116ba919061410b565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600b6020526040902090613065565b73ffffffffffffffffffffffffffffffffffffffff81811660008181526009602090815260408083208986168452909152908190205490517f70a0823100000000000000000000000000000000000000000000000000000000815260048101929092529293506117fa928692670de0b6b3a76400009267ffffffffffffffff909216917f0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e8909116906370a082319060240160206040518083038186803b1580156117ae57600080fd5b505afa1580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e69190613f87565b6117f091906140ce565b61080b9190614095565b73ffffffffffffffffffffffffffffffffffffffff8082166000908152600960209081526040808320938716835292815282822080547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000169055600b9052206118639082613071565b5061186f60018361410b565b91505061163b565b5050565b600854610100900473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118d3575060015473ffffffffffffffffffffffffffffffffffffffff1633145b806119265750600054610100900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61198c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f6f6e6c79207061757365722c206d6167652c206f72206f776e65720000000000604482015260640161069b565b600160085460ff1660018111156119cc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14611a33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f6f6e6c7920647572696e6720776f726b696e6720706861736500000000000000604482015260640161069b565b6110e4613093565b6060600680546105ae9061414b565b6000805460ff1615611ab8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161069b565b336000818152600d6020908152604080832073ffffffffffffffffffffffffffffffffffffffff88168452909152902054849060ff16611bbb5773ffffffffffffffffffffffffffffffffffffffff8281166000818152600d6020908152604080832086861680855292529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590517fdd62ed3e00000000000000000000000000000000000000000000000000000000815260048101929092526024820152611bbb91849184917f0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e8169063dd62ed3e90604401610911565b610f1b8585613153565b6000805460ff1615611c33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161069b565b336000818152600c602052604090205460ff16611ca55773ffffffffffffffffffffffffffffffffffffffff81166000908152600c6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611ca58161080b81612532565b73ffffffffffffffffffffffffffffffffffffffff8416301415611d4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f6e6f207472616e736665727320746f207468697320746f6b656e20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161069b565b611d55848461322b565b949350505050565b60015473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611de15750600054610100900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611e47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6f6e6c79206d616765206f72206f776e65720000000000000000000000000000604482015260640161069b565b600060085460ff166001811115611e87577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14611eee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f6f6e6c7920647572696e67207365747570207068617365000000000000000000604482015260640161069b565b7f0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e873ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f5457600080fd5b505afa158015611f68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8c9190613f67565b611ff2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f77616974696e6720666f72206f6c6452535220746f2070617573650000000000604482015260640161069b565b600880547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611531612bdb565b60005460ff1615612092576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161069b565b6120a187878787878787613238565b50505073ffffffffffffffffffffffffffffffffffffffff9384166000908152600d602090815260408083209590961682529390935250502080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600d6020908152604080832093851683529290529081205460ff161561217b575073ffffffffffffffffffffffffffffffffffffffff82811660009081526003602090815260408083209385168352929052205461070d565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015283811660248301527f0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e8169063dd62ed3e9060440160206040518083038186803b15801561220a57600080fd5b505afa15801561221e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122429190613f87565b9392505050565b60005473ffffffffffffffffffffffffffffffffffffffff6101009091041633146122d0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161069b565b73ffffffffffffffffffffffffffffffffffffffff8116612373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161069b565b61237c81612fde565b50565b73ffffffffffffffffffffffffffffffffffffffff8316612421576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161069b565b73ffffffffffffffffffffffffffffffffffffffff82166124c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161069b565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600a602052604081205460ff16612621576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301527f0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e816906370a082319060240160206040518083038186803b1580156125e657600080fd5b505afa1580156125fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061261e9190613f87565b90505b60005b73ffffffffffffffffffffffffffffffffffffffff83166000908152600b602052604090206126529061305b565b8110156127b35773ffffffffffffffffffffffffffffffffffffffff83166000908152600b602052604081206126889083613065565b73ffffffffffffffffffffffffffffffffffffffff81811660008181526009602090815260408083208a86168452909152908190205490517f70a082310000000000000000000000000000000000000000000000000000000081526004810192909252929350670de0b6b3a76400009267ffffffffffffffff16917f0000000000000000000000008762db106b2c2a0bccb3a80d1ed41273552616e816906370a082319060240160206040518083038186803b15801561274757600080fd5b505afa15801561275b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277f9190613f87565b61278991906140ce565b6127939190614095565b61279d9084614051565b92505080806127ab90614199565b915050612624565b50919050565b73ffffffffffffffffffffffffffffffffffffffff8216612836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161069b565b80600460008282546128489190614051565b909155505073ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604081208054839290612882908490614051565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60006128e68484846133f7565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600360209081526040808320338452909152902054828110156129a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000606482015260840161069b565b6129b4853385840361237f565b506001949350505050565b6001546040805173ffffffffffffffffffffffffffffffffffffffff928316815291831660208301527f016bc5bf5349a496f75fa2d563e0df9a39a655381c45148bdf8f1b6e6715e60a910160405180910390a1600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000320623b8e4ff03373931769a31fc52a4e78b5d7016148015612ac057507f000000000000000000000000000000000000000000000000000000000000000146145b15612aea57507f9f8c51bd66d73da0099b2b055d0e925e241e9ea0e86b4ab43836e79a2a92a6df90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527ff0432dd353091b2639c193d4a7cd6e15e40d9d9c04fe280c7c530d929480e782828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b33600081815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091612bd2918590610961908690614051565b50600192915050565b60005460ff16612c47576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604482015260640161069b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600a602052604090205460ff16612da75773ffffffffffffffffffffffffffffffffffffffff84166000908152600b60205260409020612d1890856136aa565b5073ffffffffffffffffffffffffffffffffffffffff84166000908152600960209081526040808320825280832080547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016670de0b6b3a7640000179055600a909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b73ffffffffffffffffffffffffffffffffffffffff80851660009081526009602090815260408083209387168352929052205467ffffffffffffffff9081169082161115612e51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f77656967687420746f6f20626967000000000000000000000000000000000000604482015260640161069b565b73ffffffffffffffffffffffffffffffffffffffff8416612ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f66726f6d2063616e6e6f74206265207a65726f20616464726573730000000000604482015260640161069b565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260096020908152604080832093871683529290529081208054839290612f1c90849067ffffffffffffffff16614122565b82546101009290920a67ffffffffffffffff81810219909316918316021790915573ffffffffffffffffffffffffffffffffffffffff8681166000908152600960209081526040808320938816835292905290812080548594509092612f8491859116614069565b825467ffffffffffffffff9182166101009390930a92830291909202199091161790555073ffffffffffffffffffffffffffffffffffffffff82166000908152600b60205260409020612fd790856136aa565b5050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b600061070d825490565b600061224283836136cc565b60006122428373ffffffffffffffffffffffffffffffffffffffff841661371d565b60005460ff1615613100576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015260640161069b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612c923390565b33600090815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205482811015613214576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161069b565b613221338585840361237f565b5060019392505050565b6000612bd23384846133f7565b834211156132a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161069b565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886132d18c613885565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000613339826138b8565b9050600061334982878787613921565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146133e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161069b565b6133eb8a8a8a61237f565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff831661349a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161069b565b73ffffffffffffffffffffffffffffffffffffffff821661353d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161069b565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260026020526040902054818110156135f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161069b565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260026020526040808220858503905591851681529081208054849290613637908490614051565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161369d91815260200190565b60405180910390a3611412565b60006122428373ffffffffffffffffffffffffffffffffffffffff8416613949565b600082600001828154811061370a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905092915050565b6000818152600183016020526040812054801561387b57600061374160018361410b565b85549091506000906137559060019061410b565b905081811461380857600086600001828154811061379c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050808760000184815481106137e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b8554869080613840577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061070d565b600091505061070d565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090208054600181018255906127b3565b600061070d6138c5612a5a565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b600080600061393287878787613998565b9150915061393f81613ab0565b5095945050505050565b60008181526001830160205260408120546139905750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561070d565b50600061070d565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156139cf5750600090506003613aa7565b8460ff16601b141580156139e757508460ff16601c14155b156139f85750600090506004613aa7565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613a4c573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116613aa057600060019250925050613aa7565b9150600090505b94509492505050565b6000816004811115613aeb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415613af45750565b6001816004811115613b2f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415613b97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161069b565b6002816004811115613bd2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415613c3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161069b565b6003816004811115613c75577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415613d03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161069b565b6004816004811115613d3e577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b141561237c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161069b565b600060208284031215613ddd578081fd5b813561224281614201565b60008060408385031215613dfa578081fd5b8235613e0581614201565b91506020830135613e1581614201565b809150509250929050565b60008060008060808587031215613e35578182fd5b8435613e4081614201565b93506020850135613e5081614201565b92506040850135613e6081614201565b9150606085013567ffffffffffffffff81168114613e7c578182fd5b939692955090935050565b600080600060608486031215613e9b578283fd5b8335613ea681614201565b92506020840135613eb681614201565b929592945050506040919091013590565b600080600080600080600060e0888a031215613ee1578283fd5b8735613eec81614201565b96506020880135613efc81614201565b95506040880135945060608801359350608088013560ff81168114613f1f578384fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215613f4e578182fd5b8235613f5981614201565b946020939093013593505050565b600060208284031215613f78578081fd5b81518015158114612242578182fd5b600060208284031215613f98578081fd5b5051919050565b6020810160028310613fda577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000602080835283518082850152825b8181101561400c57858101830151858201604001528201613ff0565b8181111561401d5783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60008219821115614064576140646141d2565b500190565b600067ffffffffffffffff80831681851680830382111561408c5761408c6141d2565b01949350505050565b6000826140c9577f4e487b710000000000000000000000000000000000000000000000000000000081526012600452602481fd5b500490565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614106576141066141d2565b500290565b60008282101561411d5761411d6141d2565b500390565b600067ffffffffffffffff83811690831681811015614143576141436141d2565b039392505050565b600181811c9082168061415f57607f821691505b602082108114156127b3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156141cb576141cb6141d2565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff8116811461237c57600080fdfea264697066735822122068c2be641d8e88d5f357ab49c4e3a2959e7dad313a3ed098894d01fe671d16fa64736f6c634300080400330300a18f01321dbb6b5939753151510c18bea71923250847bb2391cdabcfdd681d033f7d4ad8485e2f6b81280537a462ab182cb28ca579d6bb3fc99371fb78756b6c03f08e4c7960bc3303182f0b2f1e08151a5b830aeaae5158a2cce56be199c9bcf2036af67b0278a33a3764b393b0b86e5547791d1fac669de50a47ae30b6c7bebbbc03f14d556761c5a1b6bfe820b385df658d23ac42eb436b983fd84abe484b3f493203b3ad32dbcaaf1b254450efb32db98d67f7c7505432c67d1ea0f017f72466b2ab0339ce107568e815c8acea0c87465a161c378a310970ef718155215e7234d01b97031d9621f8cac1e0047ee738ec225cb01c919c0b7f9daccd33aefcfd23666aadf900581f020d8d69e4018054fadc35b24e5540f55dc7452ef239168fd6a5ea92adbfef410100581f03d387093548f40b2c9befcbfb286d01477efa5c3655522a8803b6ed6711f0410100581f03d77b55b99a5356b15b984b7d0937f21c330d8fb4c531ec2571f073317370410100581f03a02d5b6cdade6a0e34adacf6b7d7b7eff265ac301dbfc02437dcd18fcd9041010219011400581f0236b860b38855224a499b85c9520cbdb880af786e6a76b39a83132f7f24675820ffffffffffffffffffffffffffffffffffffffffffffef7b9c8d0db62b3fffff00581f021c87321f7aabfe16ded3a1b9c09c5e3ec3ec2918545d0dc61482d09a09324a1b416d2bc4f47ba8000000581f02c2371566d87c12429a4fd1d02f9b2bd8c12deb2fdf333d7d2a748858e8665820fffffffffffffffffffffffffffffffffffffffffffffec7f92745b22c8c3fff00581f02367f32f2be3a4481e14a4ff94761eeb4c81d8169ed227e71443390cebf5741010219fb6a03c2676dba5522be9cbeee4ad80a12ae811ac9706ba60455c0e05b7982533703b603c37b2555181261ade71cbe0ae795120abcf46d943d606de801aff141b974c75603e363c0e36c5953a5618dca8703b0321212f1dc8fddf3294f0952ce48fa5d69bb034e231fffb33b822110b7afbf25da6da2eae679ded266b134dcb270d1762920ea03bc8a67da83d2250ed176c7ee63d1c1492dfecc11d820b24aa2f433f33c11eec603be6aeffbfe7494919796d3a938983942c34a646ddbbbb0b8fb84aca4dfe4fc670318de98b4c2ec8e3c78bb3c4f41cc905fc0a0f79836151f1466c5f95d5244691f03e6925e179512931cae9156ccbf54711c689775c80a2af985e2579986c66f940403401f571f20aeab3ff465c88e9c2cae60bbb85101b828075c0898fe3a060d4e55030dff29a985f1853f46957d41290124da61db0587deb11016eca28d74f016fdb2031d0741e4cd48824db3f9bfa9f22cee1d2202118ca849e9f68271581d0cb1254903cef84738332f07517dc6b0ff39fd0330c1b12492bb25e68bc10aa471b1ae75c403f9673f1bc997c03fd43f68aca75bb77992b22a6b3d49de8412b4b38e48fda92d0219ffff032d5bb84ae2cc190a5dca12288ab7851866a11c3f620f601fbc7334a4d27cc82603693e65f34ffcc5ad780522c7ed7cb35613955e005a4b33ea587058fd1d37e58a03b4b3fe12d1b7727be29a7095f19f6146d985283d50e14acd65877db8b26fee070363f333c95c5430a8cee7684e3c51130e785d2593adc5c2bcd8ef3ae63071572e03275b98b8ce0b222a0e6c20e7fe1b6abfa335d1dbecbbf289b8d1821cef41e3f50312b2e4c6099faec158d46f1325cf5d7155bee2f984f753ec8ee1f617cd6ac50403bc62d94d0a3a95f5eefbe817d2b800673efdf7154ca40fb2a1605c3051e08f4e03d9aff61cdc599f94313b142bc446fa810923a19bad8102a1d164b4f4460dbf1b030fb72cddde2251540df6175473edd8f9a9a4aa92aa24e5ca7c60eb9bb254255c034df3d0be8e4559d1ffa57ad964fe6a4084c400543ac71ff1c46571eab0f869b303c21da0de4123df4571f9b359aea768d76af1497bf9efaef755965b2102b34cea034c17c69eb56cb8f40dcc48d27f528885f8b8da3fcbf2bb2ce0d01ee8565c001803e46992ba0cf25e56c856b40a4dad33f543e37415b32b4cad6d62342004046c5703535cf5e860ac639bd2206e343af373867b8564cfb552b34e2870dd67eb9be9df0219ffff0378fbb16cb06d41c2705b465c4a6e0c21261e9e2dd98abd0fa51e32bf625eb80703dccc49e27a2973a50179eb93a87a11d267df7ddbf9aca7aecfea3713e958456903adbccd833c945db0e43dbb35c881c85f9b0f0ce4fac2114dae5abcd20214adc40384bcf9b5829a230de0f10b839b36054fc0216f09352148de598b3c2b6ac4a633036977216247fb8b0a58454de2be8be510ab0a9c024ca42c204a5dd148bdce22e4031c71f88aec5fdd3694b259ac3974bfc371c4be5c117c5169058bd337aa69f394031954c1c74617dad42ce6c04b18ca8df5138edae4a5be0a8d8403b39aba76ca4f030dd65455e8853bc3706859bd7397a31391b65bbe8721e2b10f2e412ae1608638030c1ce9c0bc1a7e6e55f2cb913573dc21ca589de784513e7d423ead1a65fe2e2003c14609b7f6be60d4252ae1cf57c59d52adb4748569cc7223ce1109afd38d7812035b790aa809fde576629c567ce093f564b86b220cbbbec4b6375b27d897a22f5f033bf9707ee5b10843f12cb61b87ec181c8fc8db1108daacb743ceb0d1643a912700581f029ed342e7771bf7b69707d2cf00a839535cf81e05971b6c2b24fd354f49ae4101032674e25ec10a631ab36c8c86eca615ac75f7fabb8e44e61d95ab0ed5cd42af5c01410700581f023cd8b636358f83fbea1cb689ffc79ffd3ae2b8c1ace86f33531c5bbce438410100581f02d57f321faeb9cd9c146c7b8bc57dff0627d28f5a051683e922435cf41170410100581f024d458a4d983abdec15c74ca0b2426ffaadc19591c949d821d2e389440af3410103d0f5555852724517f88b305972f65e672ec9bcea91d27142ece473fb8dce2f09034aba574ccb3f087c670f3fe86843195264bc17905bf77be5ce1b3d34175eb31f00581f0252b357af62586d689da8128c78e726723d5e9a7fee4c36cf24cd37a1fc43410100581f033a0e0cedd8a33b638afd60cdcf12e41c62cce592e80b0c5b92b3591de3b0410100581f03b412ef3930c8985cce20a512b77f2dc3cc56e870e3a184e62cb0af289420410100581f03e433a38d3cdba7a97d7ef3d1c6ce929cad6882ba4ab3753af54a3e4597e04101021922800353e7edeea2f8b8f2218f2361649a57cdc4e078c06752aecf6d46705127127b1c03146d2ed6365bc19727388889c4e196a41990601511c96bc39e91ca33df30ad4e0219ff9b030295c54930f0fa720a75fa4a957191d2ce389d34acb3c2463f1e79105934f00303c35a4f8d723e33ce082ffc20beddc3ed6a32a4d1f07667bbd7f57af39d90660f03048a53843f23f3c24a94be9b591eec427f05dd6c47d4c28c2752437f5dd65f1f03de7bc75c391fa7e3674b492dfc48ca96e99cd0387723f43211c44e7f86ce4cad035e47d4318ce07732f543dae23cc61e9f013f9af28a110f5fe383f05bde9ed427033ea95ff0e1d56083f08a5bf61b49f0065ac9cf8eb90471abc3ac8c5fafd419a70309b1a1af8fbf5ab3a9566bd17844ea63813e95f90e736ed4006e4a8b8a27aad903653965160f4ad2b073dcc967479c5f7598e90f4e31fcad29523f05fab907599803c670a715c307ce3a5f460a787047e96ec1233e5a7b1cf70020f0e52d4b629d6003ab1d7e7fc37598a8f4af18dca8be33c2f8d2f640edc2549dc6c61eb64e9158ce03b2a9c14eb8d4d4d820735b9c92441cd45e99a9871a28e0bc6954a55b4a58ee0f0307babfbfc563e86fb0ad68a8cd23ce096f4dcf42524672907640747de769bf31032d9aa99655692fc67fdaafca5f0c840df9e3939dc829d889c29eb6b039740dc503548c5be98eaef1d5d8f0d439363f6b3c5fd599ee25fdcb3485d9fb49beb6d0f403712db95ac88b1a5146fa5a65d947ba32f69709d8b6761ee633c00ee87bb0cb5d0219ffff03503a2e3d892e3bc81784ed221235cdfcae24fa9f48d9ed5612507c57922c652b030022701a8eacc145419ceb8893c65eb32f11461cbdaf90ca3921fef1b59c67770385774fc85774241b7261e3a136d7afc4aebf95593db7e8342419611d19c8aee1031bca072afa4efaabdd2acd08e4935416e7fcff17a4e38be47fae96a6e3b79816032e77f85b9d7eda79eff28460b4a35b9c8b2524131c497e15b4b4d7521e890bdf035de5f3e2969a50991107432d838916b564c52953eea409a9a90c41b0893dc1ae0219ffff03d37a2c563851318e1796701e2a6d07a5e02d5026690a063fc170163258496e6c034544320806b3d49f487810e1c6fd4fa1cb37184f2541e3b83d995f2d4b05193203efeeeaa23c79f688839fc1d4cfb4ca3c2cb4238ab66f28e8242a55241204f89a03fd54975a53645c73d3b73a0c780f3f126554bdbaa4920eb783a964552d6483af034a8e840b191ddafebeab4b6c735a21ae7cfa2b9039dacbf7ee7bc99b7f8cd9da03c7039e4ca3bf96006177c36880e9180ec2e76976a45b5c72d6e2396fe819efb8037c048de530cd103813ffadbca41b56f61f218ca74ecca8e8d3553b7e94a3212003f578cf997025e60ed5ee7797155999f85b3d6f3c039509e7b1ee9506fada279000581f0283c7b37b7e3caa738827900f082f4dfe9dbd0726b731022e49c2fd49cf974a09d8c5221070f0100000032af2b5117d9343ccd63425b9b4f12d30477b218a2b1c0443e799493f5f87bed700581f027c77ed96374f7344fe0b87edc0665b46abbc83f02dc39efce9ff9efdb2a64101037d23729e93020dce78391a1b10d39d21f94ab0d589d78c2f0fe0cfb452266a10037cb6d6cc34705277076490592c58a93d3bd40aa93a20e197964bbf65fa848d3703ab54f6710fcc6fb8200965f234372e46fbacb58815c59a9552ab0c7608d4bb9903e50689817a0f90270b5fd90a988b89482f9547a56aa3a18ce99836d7cdea136503378431e86e6fb5f9150302b2a109d59b897f304f58373270357f0b80fd433f6903c892afe2323f49d70af296b97afbc864e70f7416897f94cc3a72d5d13a964dab00581f034513238a19730c66e6c3ed56aca7449e91bde004aae18f10c039850d07e05820fffffffffffffffffffffffffffffffffffffffffffffb425ea2544ed7b77fff00581f039fb865ff85e7ec7699e2d18d89afc77b0e51b8468d370beabd53f4881ac04b013b7f919fef3925e73c0300581f034cc7e709fe76529c0880254f06bf66546fc93b11e066822ab7cf85288db0410100581f03ef14509b3ed77effc7b4cbf8b7d5efa1d1c60aebd5355f73dcc5d8bd3fc04a0353767d0457acc00000021913010304814c7d24b38fb41ef6f48a469903fe7684adaaaae9840cdb670ca78dead5bd00581f02abfa4e9852ce9959171a3d56084cb55e66da4ac8af3aca2578c09f41c8e241010358c024d15d7d3375e7938c56d63c2ab9b03cab031bad10bed19ea5e5d86f302f02193fbf03e7f146c36393f3605ecf65857d1021dd9756d902f59146320b5c0016074722f5035f233f490731767ca45d75df5bd40acf3eb24645dc67db021bad93bd0931deb903be2b493e6e0f5104aad4f3f557427386086276f65fe55681ffb7648332009fc203c91089602b6783b297f3883a65e6d1b1e76634d615d795311962f91a7b52ac39030dea0628a7a54b8f8377c5cd3bc3950751d04d3ab0afa91506e9cc3249e5d1f303a14c33acb80dc2e83be4f9369e8c6d12ff65e06431fd324ea929b237b6cd2fbb039be2e2fbb354fea9b73d2153260cac9074912c2ce6085bc0558feda5f1a4b4a603d9f240afee8b16a29b513c8a020d5a261d6e4c962c3b9fb7dbbbc34ffb11f76a03afbe9f6c64f5d3a7a842825838c8cccf5d41a444679e892f856292122533d6c303c83c045fb0084d9dd6706074dca8f025a5688eaca348a210be395b2b4610894e0219ffff0391e5e5069d243fcd3ab460bc699ee37b3bd80f17e0cfcc3ddb611a0d35c2c4cb03124486533c94f0f953721d6f978ef38d70090ff8014734540ef799184048b61303f369ecd36123c1c7272b9f3fb1196ef85d59e5b26ba227e0ce1b2b7f5c23e306035c0d7595c2ecf07ed5d19eb9291b328e4e3d370cc3d14a0489dee980b94c29f60378c1cb890a878deaccbb8872345206158f36b31968412c7b1d14b6e519fa120d030232f962be0b03749b4dea62770335b069ae340568ebe583b8f1975d0634f4ac039cbaf3e04d7a69e41617055f98b29cd7df98eecd485708b7c375ffd601c026df033efd46d66135b94c97b7bdbbb9c72e746bb0dc10685fee5ce478c7a3ff5889e203f5e5c5a1622a15a0e7cef80a4e10f05154767d5c50b6d6b9e60520e2df2db43e03084fc86b9a6a9bd86f72dacbbcc09f97c580fe7a74b5cad9a8503c5b12754e40038db42824447cc2ef80ccaf35019cc9348ea583475b75b86286887aa99846fffb03f487f8b4bf2705f3810057c6cbe3ea8700b3702491e2d0c8b046649ba88acf61037d72201c851db2884633a3256049ebdbc3dce9a3eb6f4d3d62d22efd75d37fb40308dde7641ab0b83edaf05ca81b30e1ebc22ecf09a05de9705726f5abb4ba51bf039bdaf3f48b67355aa5944fc52dacd81818fb2f212d575c439b0a5150d823edfc0219ffff03772cf10340b7cbc3f32c12027952c4361210268e1e6b12e0ee3ab1d4eda9de0b034b9380c94a64edabbdbd5f9341744448f4a298929b71dc779c256f8c238648790328a0305ccb5442aa4be75a8e0e253256751920583d49df162636b332a5245d34030b1d58ea899a896c115d90c50493b762b16650aafe72d4854ab1becc257ecd98035c49a54f00d63d974c8fb75da2130c757889cc19b70e137e624c206b76d6fb2403ff9d82fcbaaca7bd3a91a5c015c6aba17e0f3129986d4180c175ac7b501b1ea603eeceff7e22987beaff8ee792a5e0a8370a785ca6e92ae32cba1311f37612993403f295b5c4c6638180e9bd9b987fdfdf1868da053b49a4a38956004614d2b9debd038d6dbb44d5cf9b1e6d7ab7a901495b4da45066dcca4ece1fd0c4e457e227bf7a00581f029b0367291e23c682b053d6d2927955771957bac07b149fda21a1251508734a2290edf203c570b5c80000581f03cf2a2f43630da75bc89eb80d2b1ef420738d97660119175819366b2efcc04a0148a07b5dbf0890000000581f0376b8304a2f0e352590cdd93f0ece4903bdcf6f4b2cc8f0026814be8aa27041010219802000581f02044efdb186c61d0be01622a001798976def2d3da6c7442a6a297f1c3650d410100581f026a8cdb67c9a3dd1e81dd270149a09353a8ff9ad62293039f723852e13c9d410103f12cd8fd042933765e2e371428269d70cb98bf8b3f1816bebeb237841b25b78903e7105a8ceb6154c0401ed419e8ef35cb547fcbb12eef229f748680dafa8401350305f9f55fb01b6f4a46850f2eef1a5e6b3ac9d652b8f77387591d597bb133a78503177fa3d8c82347a662743c9ada5a75b05686fb2398078cc58ac6c27043bb6c1c00581f023d99a5b232083553573e5f53a54b341ab18b178d706b5d7b682c641a657d410103d4495cceb78b91db194ca8a3be3f18fd64e5ee1b27d0fe22c181506da2d8dc6600581f02d38c6396aee80c531962a37be8f775a925af031a87d22948f5cec0c5d14b410102195dfb0347d7fcdfe485889f0668df9c761716a6bcfa647856eb1dfd23eafb237aeed328039825c5dd787d5eb2f7147579b847bc0f09fbddd02349ba07ea527bb8af1cd1e703b5f3fb7ff27e1f27d5b9fa145dd911ae75e99b4c2c55fd4173a62ca75e014424037263333b83625bbfa9ac9e42b3e485c1750448ebf14a627f82a089c10a33c1b303f80bdc8a092cf94a36dd85d4456278785258412747d6287bc9f28f0b75901030035af123a4aa43f689d254dd426bcbca68115b3b58db101925f5425c2c4514ea8203980f481f3ec88b8512235eec496a94d11562a52d379579d69ddee415e070ec2e036ab7c6dc3aadd91dc06d3502d68859cf46eb72e29e1a37797a15ce7c6676102203fd2fef1a7dbf7eee0ce6e6734e0800b7fc079baf7d421cc4ab48d3846e74d7e5035153eec94f2f570337ddeff11710de3b54a93401da9503dcb9e60587a730ab8e0341b8734550efa1c368bc5afbccdd3fea3e98048d16073b355a1c340a3e825d9303ea3e1d41b085624dc485bace89fece47a708fd46b4dd4051629a6d7ce24b048c03877b36ad741cb6fcda11df65f08033e17e8eab2397e0f3de737f609255d163450219ffff0353c86a9d5c6174e75130a3c98f427298ec542eca57d3bdfe1fdf7ab31d8715b003de7f46a37e570975e3456adae6255f16daf1b1fa502bdc1c4dcbd2f89b92ae13038152e3d3e47b63c22cae4bfc4eb9f668f8d4b08b4401885bd15b2af1d00cffb1030ab89f74b02c76a0c6815da36805a9f586530ee519590e4236616627cd169e8703fa59123acc28eb61402435bbcfa7a7574b9f7fa01a5ec9054c7c17d6bad5b7e9039d76a417bccc947ed63cd4932383ea1f5a2a52884789af6e2b3bfb6dc4be141c036f5fbb52b813cbbde5217699923db2823f7c63e2486625614c4df704df1ad7ec0387398598d5c63d20defd2678c69463b88a760aa9f98cf59803384c795291431e03975bc719149dfd7cc6d7e8071456e8e3a477939234bb34f40c72c15cd82ead0b034e15b91c35bc552f26e576fcd03d5f69895e5bf061f4f19022a3f1166bbae3e003b882e0dddbed5db39630db9d24c102afd171a17122ad6171c26b5b41546c1af703eab808f95463b47100fdd832dcf30fee8905427d07e46bf0cfe041aab3f9333c03e17a7ec0074e3c1988fa7552e7b90f4aecbc46bdfac3d6a49adfd7c7fee0942303e758a787c7713363a6825810bc9104ab2547e65f4b5d11b4f9dacd7de9b894fa0346a3c9888b8324196fde7bb8e28fb7502ab5dcd38a3946af35e5259e7545b99e0219ffff03adf45ae6566eb7b597b990ce4b71488834b177f6483a32ad5cd7d7c9a10fa82f03e03eab89a2bacf393587361d22a469b3499088d708c59d1eab230d795ad3dbf40219ffff05581e034f0e185f2379d4e796ed638d91de1f31afb650e614ed8f32b960ec9e60070119425903b15371686379eed17b5833e58012db7ec854c184c3e2f158572d3b05e6a9355f05581e03faf9cd530e7e491ebc60f56a51caed32f772c659c349c273168040a9600c02463a214ca1b1c8031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0372d7f0705f0e4bb548fbf33ac061866804e82d2c9b67b24e841520047007011bffffffffffffffff03ea176edea332afd2ddfc4b02ff828c11e49967bd31779b307b43ac13f98ce0c0036a87389139c37c56421a66d0cd2bf4ffd0fe26a72afbd99fa6c2330ef45d8b1c0219843f0391720304a6ee66b5e850a8d92e8ebe7c5d38e33b1a186aff977266979aab4e1703d13bafe37f8a67056153608aae86f81685840df122d235d57b44d77d380af91b03831d4e11dcf425c9a6b5837068737971616de7e27b0d726516b8c9ff56fefbf10343e7702581291727130f9a028ac89eb1378a0266ecec4c64d562726e9e1d05b003a203c829c1af1a3f6451da7b9644b8e0f71bd8badd9cf0a22c5f4cd7dae147c503be9d46604071293d5041d3dd2b4c372fec346d7130c39e96b7f2ec7ba1dc8d0b035e91cdf10c3cf53e9ad63abcc2fb40faf1ecac6f6a5be5a719eac941ab6398d803efafc354d167300536e87a1cc03e5763a597b31e3f5337cc29e2d9c4f6a7ca9303800a40d4d75f7632c5a9e8beba5cd11cfa750d4167c1e1c7f38534aecdb6743e03e45fb2970ba0d31ff18db649e265472f970b3309bac339c9ec70eb69197aba3d03f84c300c8f3987fa6d26bb57e08787a834b58045b9350d659e77e87153b17f26037376dd2c4070885a19986d8e2680dd64bcde93878810d2ff866dee707fea83d3033a9489106a62457e030e25009ff30f83ffe56c41174e4799795e91576d48cbf50219ffff0339c3c2511a6c35d87de83e0df2435e8fa16fdde1298e15efd3851e78753c8aae03f874d845af69b9a124abdcd684eb3a69797a49514808802da32b2b93f426556703067b2647c3d905ea006df2b39aa1df03cfb09488fb6158a6a674223cb8aa5ba40219ffff0368dc57de2227f7a6630eec28ab0f63b087356310469ce44b7b732fa65e0944d1034e9c1d4892d0cc000b91148941a5fd4d90e188b0172dfef76ac1c6f94f985f0f03de29133dbd34a6b587b92247a7dccefd4a89417ccfff0ae0f4ea022f8a7213a60219ffff03494d1500444bd430daf87a72be3eb6a50e45de9ac21f7c9539013eeae9e3681a039af602fa4a497415f9d8f28f816b9e8427b5f6c33ad184eac85b5ec80f0467ef0343368aced4cd5145dd9b68d91c2e783d14c31b5b9227410d2e5824f90de94b070383bc476d5a906ef04271ac83fa3e035101718ec991302ed7c326f644585675340353741a0ed6c5fffad8d95c94fea48a3a1587c57aeb3a24360f5eb1b51009c9b403ff9c94ac5118f1c765daa6ed53adec9ef3e1c85d52af96ef97ed8d48bb99ff6f033a998f7b07733e0e464ee9cdb2f4910ae220c69e090ba0021530553f93f7736803edd25b1a58ef4dd25359fe458fdf75848c6cdac2ca1efe188a29b54fd81e66160304ac394e56a583fcea3b364061a4b8f7a172bbadd4c0397b79210f6d12c4aa4d03e2b7bfb395ba1632257719ec24a1f18fb64cd05fb054e40289cf1d823eb63041032d86ff99b7c5a2c588afef5813990dc9a81f26e46a3466932191cb4ba2492b4003cd5da457d62eb8271fde134bacd39a56d51ca14d8455ed689eea5d1c3107900603488b8a386870b17298c4f204cb2ec3dea50aa1619178ff5786c2e5dc4e9904700305f42c76096f8abd7a34e04a31caea76e3d8dcefa344df77051da7cbbd986f530350df55a312618545e48ca72c108ae6b66f7527ce5bac4c5015aceee12612c58903915e61710d161e17244b2d29fed8f8e8654237ccaed58f2da9e7f037416d06f90351578eda0fab629f3912bfa450e0a7fa96ba629625f2877b8dcafe7ae4200c51039b8fb688d05730f7153559e70792e741a5542c5c0ec4d1ce15c585522cc166bf0350e6096e51b4939569a43be23f2e4090b5c3ecf03be8c0a1fdf48736afe8152a03cabb49ca69abb1dc05a3d8992d8949e9f5c8d94b9ba143e3c8a6875f6c39d97c03082b4e96fd4e65efefb11c344327090a17161e8340b99fcb043380f6aff38add0337b87a512fadaf38d949cdac7264b9b9ecaa9d7d842eda0554ed2d7c2aae3e14037e9e4d9780e53ae911103cd99961648f092e87da9455545635aea70d809cf4c003743bab8be1206fb0182666ed3f70a4067ee7a3d55f1660793e1d1a336b3c0a950359abca54da7f60a6a8b35d3448e888161072c324bac30c66c8fc8b521d00510a030a131cf7a3eaadfe517c466ba4fa08e562dc4906d00289d85db62efdafc461f60348c6d832f2864f8ee4e5f65da53317b1f2c561bd3dc5886e498d72c8ec8e2e3903c229a2cbf3a0110f41309fb4c10770e62f3f5a64e48498f0122658144f0a97df038a073b054ad3bc53a125f97ac1d87690cc8d0dd37fd5fab1bc640e0c6eea3054037f3930ffb5df18c6bf67257238f34b1bf041bffa682b54cc0f2aa1bb6ab93f76036c43bddeb1f0d2b21ae0a12a00eb75c00add975f82e9b29248bc1cd5108ccd2f03c3ae15a9666ccf7227d95f8a91da4c3bf9c72f21897c714631101149c4e58e8c039b54693f5673cdcb2911e3c12bccc0165e36268f34dc350865f73ada815b4f4705581d02243b76cd4cb5ec6b155b55610e7f56a6f3752da047b527b8de4915e70c0345a20beb9738045918216080604052600436106100b55760003560e01c80637bc41b9611610069578063de0e9a3e1161004e578063de0e9a3e1461027c578063ea598cb01461029c578063ec30bb88146102bc57600080fd5b80637bc41b96146101c85780639c3f1e90146101e857600080fd5b8063322bba211161009a578063322bba21146101705780634c84c1c8146101915780634cb76498146101a857600080fd5b80631626ba7e146100c157806317fcb39b1461011757600080fd5b366100bc57005b600080fd5b3480156100cd57600080fd5b506100e16100dc36600461126e565b6102f0565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561012357600080fd5b5061014b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161010e565b61018361017e36600461132b565b6103de565b60405190815260200161010e565b34801561019d57600080fd5b506101a6610720565b005b3480156101b457600080fd5b506101a66101c3366004611344565b61072b565b3480156101d457600080fd5b506101a66101e336600461132b565b610770565b3480156101f457600080fd5b5061024b6102033660046113ba565b60006020819052908152604090205473ffffffffffffffffffffffffffffffffffffffff81169074010000000000000000000000000000000000000000900463ffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835263ffffffff90911660208301520161010e565b34801561028857600080fd5b506101a66102973660046113ba565b61077e565b3480156102a857600080fd5b506101a66102b73660046113ba565b610821565b3480156102c857600080fd5b5061014b7f0000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab4181565b60008281526020818152604080832081518083019092525473ffffffffffffffffffffffffffffffffffffffff81168083527401000000000000000000000000000000000000000090910463ffffffff1692820192909252901580159061036f5750805173ffffffffffffffffffffffffffffffffffffffff90811614155b8015610385575042816020015163ffffffff1610155b156103b357507f1626ba7e0000000000000000000000000000000000000000000000000000000090506103d8565b507fffffffff0000000000000000000000000000000000000000000000000000000090505b92915050565b60006103f260a08301356040840135611402565b341461042a576040517f8b6ebb4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8160400135600003610468576040517feaec5c9d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4261047960e0840160c0850161142e565b63ffffffff1610156104b7576040517f89bb260100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60408051808201909152338152600090602081016104db60e0860160c0870161142e565b63ffffffff169052604080518082019091529091506000908082815260200130604051602001610536919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290529050600061057c61012086016101008701611462565b6020808501516040516105c393920160c09290921b825260e01b7fffffffff00000000000000000000000000000000000000000000000000000000166008820152600c0190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052835190915061063a906106337f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc261062d368a90038a018a6114b1565b9061095b565b8484610b2a565b60008181526020819052604090205490945073ffffffffffffffffffffffffffffffffffffffff16156106a1576040517f56a1d2b2000000000000000000000000000000000000000000000000000000008152600481018590526024015b60405180910390fd5b505060008281526020818152604090912082518154929093015163ffffffff1674010000000000000000000000000000000000000000027fffffffffffffffff00000000000000000000000000000000000000000000000090921673ffffffffffffffffffffffffffffffffffffffff90931692909217179055919050565b61072947610821565b565b60005b8181101561076b5761075983838381811061074b5761074b61154b565b905061012002016000610c2c565b806107638161157a565b91505061072e565b505050565b61077b816001610c2c565b50565b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1690632e1a7d4d90602401600060405180830381600087803b15801561080657600080fd5b505af115801561081a573d6000803e3d6000fd5b5050505050565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461081a576040519150601f19603f3d011682016040523d82523d6000602084013e61081a565b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f6c85c0337eba1661327f94f3bf46c8a7f9311a563f4d5c948362567f5d8ed60c918101919091527ff9446b8e937d86f0bc87cac73923491692b123ca5f8761908494703758206adf6060820152466080820181905273ffffffffffffffffffffffffffffffffffffffff831660a083015260009160c00160405160208183030381529060405280519060200120915050919050565b604080516101808101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101008201819052610120820181905261014082018190526101608201529083015173ffffffffffffffffffffffffffffffffffffffff16610a0a576040517fefc9ccdf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518061018001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001846000015173ffffffffffffffffffffffffffffffffffffffff168152602001846020015173ffffffffffffffffffffffffffffffffffffffff168152602001846040015181526020018460600151815260200163ffffffff80168152602001846080015181526020018460a0015181526020017ff3b277728b3fee749481eb3e0b3b48980dbbab78658fc419025cb16eee34677581526020018460e00151151581526020017f5a28e9363bb942b639270062aa6bb295f434bcdfc42c97267bf003f272060dc981526020017f5a28e9363bb942b639270062aa6bb295f434bcdfc42c97267bf003f272060dc9815250905092915050565b60008473ffffffffffffffffffffffffffffffffffffffff167fcf5f9de2984132265203b5c335b25727702ca77262ff622e136baa7362bf1da9858585604051610b7693929190611676565b60405180910390a25050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00180517fd5a25ba2e97094ad7d83dc28a6572da797d6b3e7fc6663bd93efb789fc17e48982526101a0822091526040517f190100000000000000000000000000000000000000000000000000000000000081527fc078f884a2676e1345748b1feace7b0abee5d00ecadb6e574dcdd109a63e89436002820152602281019190915260429020919050565b6000610c617f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc261062d368690038601866114b1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810180517fd5a25ba2e97094ad7d83dc28a6572da797d6b3e7fc6663bd93efb789fc17e48982526101a082209152604080517f190100000000000000000000000000000000000000000000000000000000000081527fc078f884a2676e1345748b1feace7b0abee5d00ecadb6e574dcdd109a63e8943600282015260228101929092526042909120600081815260208181529083902083518085019094525473ffffffffffffffffffffffffffffffffffffffff8082168086527401000000000000000000000000000000000000000090920463ffffffff1692850183905294955091934290911015911480610d8d5750815173ffffffffffffffffffffffffffffffffffffffff16155b80610db75750808015610db75750815173ffffffffffffffffffffffffffffffffffffffff163314155b15610dff578415610df7576040517ff8cc70ce00000000000000000000000000000000000000000000000000000000815260048101849052602401610698565b505050505050565b60008381526020818152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff1790558051603880825260608201909252918201818036833750505060a0860151909150610e7a90829086903090611149565b8115610ebc577fb8bad102ac8bbacfef31ff1c906ec6d951c230b4dce750bb0376b812ad35852a81604051610eaf9190611790565b60405180910390a1610f0b565b3373ffffffffffffffffffffffffffffffffffffffff167f195271068a288191e4b265c641a56b9832919f69e9e7d6c2f31ba40278aeb85a82604051610f029190611790565b60405180910390a25b6040517f2479fb6e00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab411690632479fb6e90610f80908590600401611790565b6020604051808303816000875af1158015610f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc391906117a3565b90506000808760600151838960e001510281610fe157610fe16117bc565b048860e00151039050808389606001510301915050804710156110a4576040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815247820360048201819052907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1690632e1a7d4d90602401600060405180830381600087803b15801561108a57600080fd5b505af115801561109e573d6000803e3d6000fd5b50505050505b845160405160009173ffffffffffffffffffffffffffffffffffffffff169083908381818185875af1925050503d80600081146110fd576040519150601f19603f3d011682016040523d82523d6000602084013e611102565b606091505b505090508061113d576040517f6d963f8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050505050565b60388451146111b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f475076323a2075696420627566666572206f766572666c6f77000000000000006044820152606401610698565b60388401526034830152602090910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715611219576112196111c6565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611266576112666111c6565b604052919050565b6000806040838503121561128157600080fd5b8235915060208084013567ffffffffffffffff808211156112a157600080fd5b818601915086601f8301126112b557600080fd5b8135818111156112c7576112c76111c6565b6112f7847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161121f565b9150808252878482850101111561130d57600080fd5b80848401858401376000848284010152508093505050509250929050565b6000610120828403121561133e57600080fd5b50919050565b6000806020838503121561135757600080fd5b823567ffffffffffffffff8082111561136f57600080fd5b818501915085601f83011261138357600080fd5b81358181111561139257600080fd5b866020610120830285010111156113a857600080fd5b60209290920196919550909350505050565b6000602082840312156113cc57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156103d8576103d86113d3565b803563ffffffff8116811461142957600080fd5b919050565b60006020828403121561144057600080fd5b61144982611415565b9392505050565b8035600781900b811461142957600080fd5b60006020828403121561147457600080fd5b61144982611450565b803573ffffffffffffffffffffffffffffffffffffffff8116811461142957600080fd5b8035801515811461142957600080fd5b600061012082840312156114c457600080fd5b6114cc6111f5565b6114d58361147d565b81526114e36020840161147d565b602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015261151c60c08401611415565b60c082015261152d60e084016114a1565b60e0820152610100611540818501611450565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036115ab576115ab6113d3565b5060010190565b6000815180845260005b818110156115d8576020818501810151868301820152016115bc565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6000815160028110611651577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8084525060208201516040602085015261166e60408501826115b2565b949350505050565b835173ffffffffffffffffffffffffffffffffffffffff16815260006101c060208601516116bc602085018273ffffffffffffffffffffffffffffffffffffffff169052565b5060408601516116e4604085018273ffffffffffffffffffffffffffffffffffffffff169052565b50606086015160608401526080860151608084015260a086015161171060a085018263ffffffff169052565b5060c086015160c084015260e086015160e0840152610100808701518185015250610120808701516117458286018215159052565b505061014086810151908401526101608087015190840152610180830181905261177181840186611616565b90508281036101a084015261178681856115b2565b9695505050505050565b60208152600061144960208301846115b2565b6000602082840312156117b557600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea2646970667358221220dd6ac68dca08d6be1c4da0e828b663868839c2a8d206f54f6cae8f64c576247564736f6c6343000810003303cbeb7129d0a7101950bef332146bf1538fa87faae40037fdb86e26e4a569633a0389c32d330b0cb4d93f81995b1d15ec2c87affffd4a16d39b787bfe1eb6534429037ea925d3fb41cf34e3fc7401bc011563994a564f4e0c618f220b17bf3b20d4fe032e34f161c4932b6e3cec68ddfda10e5ffac424d4b7b9a6ba68ed7b7c7db57be303365341454bb0946a0351e397310f91878f06c26b952637301e2bb598ffbf748c0352d235e3a90a0e6ef9a66d897b3c0bfc13bdac7bc0867d9a4cdbad9348fcd7260339d8919a26bf397991e04380c7ba3b84166d81dee3fe0cfad2347f03d43187be0309ceee01ebd137e3893dbd3e186df6548b4be7b196d14596432a439f31d569e103b64ce8d6c71541076256372275abf7952ecbd94cd727f532ec1ab01489b59920031d36dc71317afac68f8bca3210dcdba810ad9d9db28b5b80ffd0453a87713435036ac6cf509379aaeb38ce537047623b902b551bba8f66380aee733f92f185761c0394864e8d0cb3d077967802f35d70116f8c70adb3649bfc1e5a0f04757f08662403a08f66ec406440d9be4a322ee32c4abd25a1ef3cff8077db05e9216ccd0282a5039ad8679c6e86a8a9ce891daa28ae3efce6c677e36c5a3ae45b8e7135d2e97df60334d93cc713861efc2f1f4cd00c91d875b141b2121be7175107baf64f14b3381c0368d1ff0db8476f51d53e97aa75346c628db22d159fe0682baf9a5822208f75a50374824ab5b43e946cf862a4b1550ee4ab2048cd17475eed80ae733861fc4aa89f03d031ebbeb36a68e80b7eef048bc3055c37122fcc88285f8a638484f44e313bac03f955eea006a50b2e4d8e6d866721200e1dcc83298a94766baac69b7fb669bbcf03835da95a3651487211727da897cbd9a78972174a39fff8caa3082b7fb649a5de0354b734b3a17ad5b147918015a32d4234ee4704cca6f57cecfb0819b6c555c1fd03512ae4fc2242e010058932c5aa7780793c9c4c3dcf1287cb5724d3ef2570c5cc03a13c9bb9eaaacbc4e1bba6074b7f885066322fcb93adef0fb2419cbaf9afc755035f163088b19f6e555e64ad9ffff73d66fbb99179ddff45c78be10d59e6b4ba9503117d27b3d43729f441f29b0597b3a103cf8855f1d8fc9526a313264bb80325c103ce2f7c9ada764947bc0871d139219ae114d5c4c21534bb0e6480c6bccf42fe0403931361610969d71ba4edc17c9d1be04f449c2d2ae0a796076432185b933f63cb03b80a984d06108e43f100fc13a05a7f05da09ecf4cd466457c4b004caf06791ca038e44f043761f1e4cafcc41ab34fbfc80ef1672f360b2087407b29000c8693171034b7b9ee85b46a0629bdb4ce97bf49aa1834101f0f80e261c1addfdcbd88714750312fd8bda82663558ddb74745be3319d093e7d6d3d781b9504ec0e62a84283ab40321af59789cbeea347164d5db86e97a6320a3cfa8bb0c4afc32bfaa8cc17871e803933369be9afede9cc6adad01704fca5f3819b5a724618d1c4635574bfffcf7f203946e31489e217b4f643e3a42a74fc7ac98e4c2fe37d352ab8b30d0bc871864d703e3723071373aa82a3f4ed0e99bc53f62d54b3015f5c18006e39cd2afb0a7fb3303ee90eb1f946cc558c211ce66994eeba156f69a059cc9e692513d7859ce429bde00581f0253e0e8d1540ec13074752f1fd5a262b76402ba3de421cd8979dee9780be7581864cb530ba765617e5b77df7779f1a3f858b3891f7edcea2403cb6f90afefb158b0794c43e1e294932b34fd12ef853aa82b53f2d0983ee227bc03379615bd67e0d72622b3a452466eaec0f3d1081802d9dd84d3f2a860683d78e703caa3a0f98cd270923eaf619f927490e5346c59ac8dde474f48ad59e281cdd3ec03c2833229a48b1f127fc866d52f91d650a744763eb5d6d2ae5ed966076512d0f000581f0249a7c338f4b2d50bf852c98546a719ee9bb633dd35e815332ecf613e03d3581866699f32b9cc2267d6fa92c050fd5f3f45d441873b2c6b9e0362f88161521bf75a628211e3e0bbba1619c759c53ee95de0f751d18e26eea89b00581f036deeca29532dcc2f4fe52cf2c115de70a4fdde845079a8b12124be4ae3c05818656504ac359a4c1cd723c2b2eea28b8477b362d9586259ad00581f0379c3d6ffbce54dfde39892adc634639ed41ae40efb2b95ddb1e4b4a791505818665bcca8fa1856b23e446b5d78cfa87bc2c80d783ac8fc7e0219021000581f02c005fd370149fc6058148538b15fa09bf74890eee566a520c384831de9a4581865f01b30211b2d755b61a96bd9e8bacda3d360f28e3f2a100219f6ee03ed72aba11728e36b055f462ce97b125d7fb353e8a8c40800ec910defe13f079903115860a8f75381c790048c44087595d077625cf07e61ee12a4401f271d19b9230219ffff03d4cf7a1fc933cfa87cccc7f0b494a676280ecbc7c8243d13d09b6a5c20964ab803e006b90d8534bb0b97cd81b405d4933e308b22778e7ebdc526a372c713fb8d6c03170fd1947de5dbad625ab93ee4d868d30572ddaefa65bcd91d9fa4f5541f185403bbf4e443f1637b33bd66417f210a443fa5165260eee05d523fd028d928177e5903b51072d0b7028d9fd74034e0b95990493fe48d35c931db633cf1ed0d1fb8db8003d37375abe635c0924841bf32e556514b02176c4449f02c240f5f1ab7a7cc461703acd88221bb9d22458c812582c1ea5e0d9eb8c4febbf32530a03702b666ea5ad5036b838eed5bdfd071e9182a585466fa2efd5cb1dcf1a28da09c6f857c32d5c989038f894ef7dfe102bafa2cd4f49af7ab77eaee1fc7254aee9bb96ced48048264ed032ec584f2f5171a0fa83ce4f6a3d545c46416f2d1fe160370cb493b1f467db1d103c4ab75162bffde1926f7ae88f0056a60198aa7d327cd69d82b260d788a51a59d036d5786b1085013166750092106e434ac545692914d2b6090f4bb7046db4caa1a039166d60de1c6aad8f0697bef4a615093d57855cbcc2a661cad1b9c767898875c0318c7a4b327e3987ee5c13d9472d4d97bbdd1895e500365ce53600850f52eeac100581f02b171076fc9bd8f7b4f65ece30e4572064212713b836bdb30fb9df9fbac0558186567dd0f020ca66c30bec2c4fe3861a94e4db4a498a35872031d12762bff8be2ebc5d3b60e27ad363c0200284ef4c92b17d81e54ba117321600313680f7f605cbb89ecfe59c1186c05968bac39e9fe494eb21fcdbed268e638ad030ee485f7eba9332f8b96cd7e2b74a1007ac0c4a98062ce70f1f2b26d78f16d6b00581f0276412fde403fde3b57c26d83ada9a549a6fe2a8547df6cef9a4537ed3d345818666fcb37762a4342d6a8770dd15508f4bab433e5303e026000581f02a17281f01f86491e124171db1f345fe6b6700f07f7363b2526f51a4f837f5818657413d3a33278d49da14bf601b4e8573d42cffa7295945903d0f14f8b801987151044a0ce4e06f952a9f414cc0e328759574370e5205f7f7800581f02e5e7f3e71e184563b6b1bcc30ca9182e90456bd1a50c36642336e79049ef581865f01b82254f637af8d6276f5ffe4072279cb60a8e013e5403852d718f913749934789cb2bf30054067f11bc1b6d13529e8171ee2e5c6d4809032d3cfb3a682fac389a8b66b7743439a98e767c363b51b1447af4a6817f4e072000581f02b55d8960f3293d7635d5a7fa9b9981384686828c9f1faa7bd520f74aab95581864e2f6b407b9bd45743d3343f830aefe77d2694311e072f10219dfed030c8b2ad0ed624cd12595626312cf4fc2920bbb80600b8dd89e698d7181024dfa0380ab7ee29b1826b68e82ec8bae367c5730dd060e44063693347ed96b4002c965034fc45b381bd16bdf5c78c2c0de88a1124cb1c99e7019d197976e22bc8f978e370316573cf652d7715a60a57e8c0eefddf53f318dfa28da367435dd582985f60bc60219ffff0219ffff03110f2e8e2ea74d3c36d20f4557c366f493e934e11467e7a5546d3999e7c99b7b03fffe870418e1479d82847d90c377318402dafe07fead6bfca366e25cc7c1e55b03d3cf47999fdcd4c139c416ea80cd0ad32289c2624182c55324ded3d51e9aa56a03907694ce7bef7a24ee1d4bfd802ce9938da1a1e18581be8ef7d7faf311c931100343f4cf46647ef13f1e13a5a69c68f17ff7d1208b300740b3f0b3af0810aadc450333f494263b5b1f3b6c3f13d8911d050a021437b6ff9344c00466bfe3a47256a2033b36eb3bf01e71908140c142bf90899e8c09ca87668315f0a8752be7ec5b50e103757173cd72fb722b7ede877bf01228b953431af63f776982af673af74ad02e270219ffff05581d02bdeac769ab0b76ed0ffc00d5a305b5caec32099f40324495a578432c07011918210219408005581e033647968eb3a99ae42c90dfe1ab801ac8d50b0495725b9308be3a7802700c185a480617826696fe2c84032f65fa6e993a41a79c9f8d4ce0c85a2120d9e0937826889fa3c8de83cb38772a05581e03fd73803a0bdb049daff21954bcebb3e4ceb9e788cd6d81b75ff36f35200c114704c8061bed1ee703d35c62862f3ec777bff82c3e3257d7428fc16a2f16480adce22c6ed23b1857a803881055792b0293450a0b72372bd8a8969cd81024b6121af81daa630f41c250cd038c419bb79de4c803bb065124318a5e04629382382b046cdbbed1bfc82530987303cf8018cf9ede84f6c3107c1a5ae52719e995d6395ccf52b3188e58ea5a2d6a9e05581e039f191bec164a9d6da28c105a3eb33f8e2b93340b2951fa57578c2e0fc00c05470faa4b67622fe805581e035cfeaf1bc765345c2ef105d6b363609978ef02bca0b766c5c92c93eff00c014713d2fafdd8c00005581e033a8c314d2200ac4873457c1063bfde151596188431584c28cce474f7400c18194681852c18f2d003229b461b0e67e94b9be429d3427e6977f362a587ced2a5daa919dba3583b95f702197f6e0337424a39f24f043f9bcf69f88e157b51c3c7732332650ed980bd89d6694581d3036b45b413b428869a1cb4243a17bbf7f3e49215f0d974a699acd0d8746c78d9b603a83399ebd83990ea5a2260d2ba935a35052a83a89dee4a7d55b38d5b38ba3e3103b9334d91a9a129dca6765ffff90dbf69d0319b415c5e246b7838be64a56d548203694d461eccc3edca29df8d9a2441443f63c85dca80a7f6694728c66803e16550030399a1aa854e65abcd59648a24ecab808d772bdb08f4635db12277e2a3a313c9037dd6efd2f6d2ac7fc148ff2b2e259c186eea4277d504ca7a203e561e1f3ccce403e2338b74817fb107ccd026b38dd8e06787eae8a9e063e208f486b7f6a316ccf503e2c2d8e67c5ee9ad5b0201573d8a41ee61f7d5a62cf5a2b7efaf10775d8fc7dd032269424dd52a5b5b4e933c4a344cb7cff77ffb6f53276a2861f86e58e4f81c7d0355b1a2a638442df013cdc747365152108662756e4149e55b866dc447f125f8380219ffff0219ffff038d98467e86d80fdfbf1cdfeb336735b4d69cf3aa5a98ac45db08af1fa2ed4d1f0316e4f8a5529196e8da8c63dcda0888adffc52320e9e5a6a71e22613f681784ac0219ffff0219ffff03fff2e37444f28c9debe7e67ff1e585ad39814d33ecd649395f5c30388160020d031e53cc115541d8f0c43f01705063ce03a8d3213b63bdfd5d124dbd556c627b3b034ccc30c587fc8dce88bf55be23926b0cd559aafd37549dd76ee51081c68b8c660339f7c6ddd45772f22cae06d28141f6a5fd7d99955c37885b71ee32fc3f94bccf037ba813c15640269af6e23e69b3fa8bf9f477b90f2badfaed678ae3941204cf890308df0189b2d1b78a42ea9808b02de1969b3cb1603a4c5b1204d8128878ea3e87032b997ee0d37547c41f1fd077893b5057cc1a291f4e9ff4c7d935248f98a045cb03dc1178bc7981683cb355f669d6eacea37996940f36fd58f0ef728598367acc9a03fb405fe87419d1d2b75dcf7c46fc4303534637641bcd753680defb5def3438ad03af5036f6676f85f92aaa2032427045e49e66583989c47d8fdffe23db7c459e57038fd03186df93ae9e00777e1dbeeac010af67208e86e6157d9f8ebfc9cc5779f70381a965e345019db1e870c74249d0c92cfc054dd6d66e715a0de6975c9fe1ee5003c8e499e1bdc30c9a7b415201f6b439a0a8a45949ea0b55ad5d8f3ab1cce3afab03221c6576b72eed46f94c4db890687585f9eb94e70a520c3ee4021db2cde6495e0305ba231187071ba2442201e613af7f541f3a856b11324d4cd62824d16527b8c8039646e098123cf637b0b7a2f28d35d41446e8d2ddd5b1894b1cd01d55b3f00031032eff6228f65248c8e5157b8019153a66ab4dd0f1089c90633eb1c79cefb5bdd103a25aca65237f8c77b7c244848eb0d9fe0970c2d2269dd3855cc45c57b3913fe405581e036a5a0550f7b27bda5353653ed6a619b8fa98eaa4dc3fd18686d9aec110040103ad44904cb9fe474bb848531daba2f5ec42cb3d927d40f7f8c69917562d2bf1d3037f016d537446a44e7f6168beb4e44466104db0d41f629648aed0cd0fbde48d3405581e037839c1d1ffb630a3921423eafc1f96e2a9a5d5d57f6ee4994b30d0884004010392d180c933a8ef642efa7261312636271551a31c0ae715bbc610691128efa9d203d1a4cac8b1e786326225023d06691ec946645cc32906adde85a969562e63ca3605581e037bba45e90d67c9b0fbfcc1529bd7290909ac12e43fdb088f9b1d9d2f800c03468a627d2ea120030265c011267bf7ea7af2f2fbf5d6d8a0cd300d3593758b5fe8d5e12b831b19c60329ccb15f69347d2bb7351841ae312360470e0c2af6fca93cecaa956113eaae0f05581e03bfe63cd26fb272929b2f3a6e91862dd4447940301127c2981b3405f560040302197df40332bec4e8413af51ee27be2af06bcb142dca31a678f21bde8388ca14f9310f10e031bcc4abdd6998373272a29fdd8d8f8ff373ea2290a570b91bc9c54c2ac1d3cd4034567978907e8996550f4809dcee1b23859bfa1f44fd5e302a6bb6bfadc6851080391ca734c6043670759ada47bf3c9bb98970a6e92449c8ed4cbeecb732eef5d1c039feb9e44f5929e9efc1bb0cad912140938c248c12812af52e98ee472540bd8e3031add1e3fa3e59b259f1891ffbb30afff513e447981a955257911ad7772a21971033182d68f7ba536c74ef941d3e1632d11815fe6d02c3e6a4a3d17e9342977559d03c68c1d4dc9aa76ecb2fcd5441fbc081c1fba9db0ffac8c143a4ba6b9d79093b50342cc3fd78f5ef876fdda59b4d89eb3bbe705288c0ef5bce6bee182e645e054c803c4e3d0b2abc1ff599a6ed073ced19324ec2de0769ca37433059c1e4cf9d44ce803d1bd116841a160d6d2672b387b1d62beddc32726561fa88ede966f48f136abe6039f88786f9227b04a779cc7f54d4a31c740fa15ed16e7405f510e96d1579cfcbe038c681feaa417e82751a70d5679d4212a3e9cc3679e4274737937095feff7eee10219ffff032c44e51f5e85d3240b2f9ac6e334203990df96d81279d054c3374e73f564608c03e165594588bea6fa8205b3499f3b446f322604a881cd6fa15863749ee47bc5520349c060e0dd86c8e9fe706d837c30a00005f333af17529cb32d17e0433f0b19800219ffff031c5a3e32c0c01ec45b4e4bddeb11f4159ae0eb03fd95145ef595893a45df04ff037de643bdb23756d50a70ae0b5007b0f63d764d38bcde775118e56893a34cb70603da815732e1728277599808bd37d4ae8c674dc4df29a2d55c182731a4468a92be032a043d96c1c7ab0da3b3e6910cae08baa5edabdb825fb7247219fd6cbf630d12038c80e4ef089c8087c02ba319b232ab0e3af1c87eb432d337c51c6bc06e571f1103a1bcaf354046e8167a8e8d75459b45f6bc3e42aeed71305b19095121e2299692039063893ee91d285a18ba8deece15cb02fa5ba75e59e8aad1bd908dc2d5900119038e6f0967960fc33d0c6456396e24f7410abb3f30023280b99281fe1aa489652203edcf27fa983d2e1ce293397bcc368a0717d9a3230826dd0225f8cf26a58e86010334bc3b621b9f27b4c42bb8ff823cb92e7ee33be27c1184849dc3ccf8b63c73ff030c40041084406d4e76737279b02163ad5e9d5fcff8df2e90c2dece5209cf17810305e5268a3de7860dcb2143e5a132a52b278dd32220bd48d4fb32a94ac72c9abd034f06476f373d2916e1c5b9ec5fac2e025c9943e08decc2fbc8daa3d461dc88a80379302ded804e39a113d2f7e312e2b913519747a90a4e2f8b1a6541bbb72e15850219ffff036881f0827207d2304a5d617e74a66c131ad605089bbb1097f003e56fbd483fe303c0419099913a9b0e20b7336f3645ee05343ace539f18d9a1ceb911beb3b694c40321b7044350790a6f1ca4e0969d7e64da3caeb2b0f5d0e5ae8a7780153787bf3903da1175ea38b9918ec36544ce0e4477e1099e8d9c53944169f46540dea38e3da90369f96ad0028da0fa6b62754dccd978714ab9b580b13bb051f98653bd4d075a0103225cd9d798a0ff69f86d06b128d52f588e623620f4077c27188188171fb6aff803c4f0f2ec15b31774aa52da0d6a83687e6854d86448e8eec9c70e58a2b512f29e03f7589857682cb17609aaea80bd5ee8660adbe79c283372cf36e2cb2540c1612d03283a8dfbca7fdcf0a4334d03a03a44292651b90cc666338346079e6d6c93c63c03c2f9980065fe1083520d035377d13d7f3604cf98833a0b9fe5f892ace44a4a5003a55e5e7634ee7fe3ead31d674b6be3761008a9a0ea93ae8a453595f3151fb28b030e562cfb6c4d4c326d4b9ad625e179c5a084dc855913a5122ceb9858ecf7da0003390e2deea89e2cd7b12652b3079dc32d6e411592c4a1e21dcc025fd59099595303ff9516b2d275d37bc3445b601987e6b9d4bed86884781147fef67989e585d75903856ddf97b1e783e08b768ed0468262af055e526f773fad219ace7cfffef05dbf034cac1c221179d59311dfedc0574c2a85bad13103a520528d7a5c13f5d527ff8003f62e86e7e2cfe206501371d038ca6e1955bf2775cb13d8f960affbcbb84f20f30323d1cf7cb852982e65c5347088e2fb549dfa3841414c20a286f817ef6284a709037d9350cc8dd01d67dde764f75a0cdcf37eedef281a0b058ebf6e7cb58e3f59b803d33388e13648a40eb8d0653859587c741f6b89dfd21af75e415bc54a4a716d360369e5a30af9bacb8dff2613e666897dd51a90160e623457a05b8dddf7c48195e205581e038361a427a6f9349100d74ba85a1b6912c4f42e0a230b610421975f8fd00c024744da060c8e158f05581e039a545b6d340d1d836c7879c680084bfad487ebd3eccd227289ae4de6700c0447017ba677ba9da80459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b18d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613b86565b8715611aab57611aab7f000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b18b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b1908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b19087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b181565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000c45a81bc23a64ea556ab4cdf08a86b61cdceea8b1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b116939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03134332381f3514b221e6fd52f18fd2e3df69a639046f82645dbb16f0b12b58a603a7001905fcf5db2071091b9bbc8636847ce6d6d80610a75bb2638e79a558979d030cee0cf47328d35120b4ed98f84aaeb566258c1681e10f9af3310159a06c05fd03be2467e9f46971d2661208e6970237cb96eae422c49c2fab707c3d5cfc504134035913eb756e133ddba9eb7705202641db82dc68b35964c3db69148ef0ec5c9f4803d57d3d40070bd16e2ee9685def797876458a7846cf6d48fdf944f8653e28429d03b3947de11b569f2a1021f39272bcfaf524abf31543c76ca9f15a244c785d7b8503648238a4b2ef7d2a140a2da7d05e251a468f52e58305ff9d355acd09f681687f03cf5fc65c2376affd7d69f012be9d1786213a83b29c683f3f82a42645f96eb1ee03222332a970f23c92aa09796166cc1cdc9a73d9fd9d588ce6a256d7b1b15d5b4d0395bca65a2e4f5aafe2f62523bda6b75f5fe7493bac7466b2feb0899729631cfa03b9cb2da231e91a3586e4dec60c5a46ce5372474fc756d61a7893e0ea283d6c1b03863242db57af0d39d3a88c8af696da42396b203afa59fbd990e10130e778644b0351b387a013525011432aca8f5299c71f39db1cbf43c01fb1cab667097a42d569005820035ce48a189017a47c12ef6894704b232b9de1a15871e393ad5f42a9dca659404e0b01c176dea5e8729c162e91f7ec03d9798bba13a6b91776d8682ef1b9a02ac6628c4b69b5676192a8841a0acba69b03652b6f148d171264dff444d14a071271dbc35e66cf65666ff050fe58f30caea100581f02324e9afd0d9ad915c8544bb9cfd7d1dfcbdaad0fcc04fbcba3ac28abe7754e011ea8c37e99924a9042341d855b00581f028021fcdac850307427673b8e2897b79ade7f7bfaeca8f06d851bbf0f2afe52063e389780dcbcb57b9d8937ffa5ae40efcc00581f0262a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a21158200100000a7400000000000000189544abd173c3f4f6000452839fbdc86686ea9302183803130c41eefd2c1d0216efc076a199280e04ba0c527df0c865bbf93c6af44a359a0058200381032b675ce6504e8eb3b4675468fa8385496244f4cc7da3bad84889975a904e1f3e70bcc30be9b3f08674392b9103341dd8b0988cd870a1a08bbb588429fce3d1f29de3c0fa2969d47d4cf975616a005820030200781b8ee7ef0e06733a3e554dd1ec28508d7ff47296175814b1a93ea4c052042dfb492c475e832ed52882dbb2bdc11c2a037ef5240dc78c2af828dadac9bc7280c0977c6ce5c7c45b7b5de75e24fdf7747e005820037c7c2563cc6e7c88b3236485b6d4e4cce358696198a8c7c4c3a634359a5e704e2c2def93ccaea02c7a69f5b60fe200582003c9a26210b85c92baf98dfb41532cded2e74f81cc345895a2a8ed65bd23f70052014f68d692cdb47abaf87d09ba5d452a5d1100582003a0381a9715d4ddaa9100cd9162476e0bc75ff871e8aad7f1b994a1ba6f12204d5451eebf39e46ba46233efbe1a02192ffb0391882d124c7bf48693c287b9310ef25ef4d837c19a772d4c92076bb5f41db3f00219ffff035b211668f76aed2d1a024284e9fdccfc30b21ac37e7d9f3910501901d89a280d03b391cab9edf1b69433882e8b86d9cc4dd5fdf638d3d1dd1541f765f8795d7b2803671872db40a4e37dc94c5e8d680a76fdf276a6ce9eacb55ba7eed3aba0d5e107033d0b2bacea8ad8b4d636bf584ea02a79c0ff3eb37dc5168ee41dedd9115e875d036d703ef5f45b10ba9a2721e39300b02e7ea0eea4cc0cafb09a311874697e77a903a0f0949236c15faf5b0bf8d2c7d76e18b4b7973b230bc903f17d18156f0492ab03194a9114c363d4a75a8f82216f703b4f689fd77bfcbfee5cbd8ce1b038dbd7e30355e4a4be685342b44227a2ec6a37d1fc545e0adad544da33db19fa52e1e46f1b03eb6c011a7b7bbf62dfb2ab3b317ab56e0aeb6ebb74bd1b9dbbc9c0171c17056003b7d30f895888462b926238a21279733d1f9ac65c5386ead3f2170e03de7e52bc00581f02ddaf9852c6b27870ce62d28e7c8710069ebe1e6b915871987b048a77e18352302f1d77d03e9200003fe5df411bb3fef7fd00581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100006400640013039a1d00000000000209cce7b1727a0f3257ff0a38fefd00581f02b30a5eb3d595cca3b7c3af88158b14eb613d232086aabc13094b4530e7164c582dd0582c6547d59bb574d30219a80000582003018256e2d11748d76ead923a90c68465239793d41413b3e10994ee7c0443d04f05d9b413eee941722a65285b0aa2450350b3379a2900e9254882eeb2757da7a008b7d265c141dac0369371e24af91c5200582003c2fac14a3cf8f7b3a1cd483212f9b2ca79506547d20ac18a5359e9a23974f05820fffffffffffffffffffffffffffffffffffffe05d77c3c89ac40c29c1f0aee71005820037f562cb4ec886bbac5dd71f7118796711742b7199098cebd20d9016b2f01f05206dd877c6229c7bdfcc487d57ccad65ad7f303fe62b20a3de037ab389dfcd833bf7c1068d34fba2ba1466db589bbc0077bc3aa0313b74f781ed0924e6e75061423915f34c94431096ec1672e08316ff38d6edce10352f80a31e827a8441ddb57558ed51431d4a86ffb4c7b26c41612501c84d031600305bce8915d2df4670255b72932c493e1e5ae07355e82f4ae97028a1f4d2497340347cd32c3ea0f0a037fefbd2dca4f2fb275fe85ac0e1099e993f7056ffc7eb1540347be94bff04cb67bb07d619eded8bbc97677bd7f0591b457e83d465cfa4f6235034c04bd5ca5bc191438cf8bd3d8f360eaca13ab79fc795be557aa63f7d83bb1be031748300c5f62025cdf411155d6ba9f8274efab4efc0cf7d043dedf64570f04b002196dff03fdc6527e661502ca127988101c7f9d0a1ae934c0a11237e0be046d35b987b8f80301555cccbfe82a7cda6942818f1a121a837cc189b42d7978b20f89041ec4478303e75d05cd2e732d159654e1b95c56c85672fdc1ae0df175f6e6cdfd6adfdaaa450332b6becc3fdeafea2b142c099f43a91a7113be1ff38cd22b33995052dc0ab2970367412358f212293f8e0c84989838b6f17c05258ed217c650962989ee3b819e6503ea61d0d52f83195979c207b11ed1cfc830c8e14653cdaad2da29aa30f96e0c8e0219ffff0381ad9870f96f020d2fc9517d2ce1e2afed27687d7f9ddf5bb9c14be48d9d37b403cdbd0f900191e626b2c8c8c97319ab14c49b89d493949b5c75c8e8f5ddb70c570306eb67fd09c2c4b0d73774e21d664c5856fcc770169032b075674aef6d3037b303a89543cd690b7c07f7298a64c458c519eb9c071230d2412c665971ab2ab6f26703b5ce517206a16b44b616e001eae7ac9f45008305e2f405497de955e898afc0c70378dab7bc424cc2f8eb172317e299043b975b76708efb1526a180ece34b3beb550375076f79221e58cd6f6c41c851367d32db0cfedd1803ad28fb97e4d002e72b7103eed204973601f9ed2c4108d61bf37334c9f7fbdb8b0b38ee47128df55063a56503b3e930c683d84cbbb8c4fa7a6a04339b0267059341b9309c6ab7ca6ce9acdadc03e47ae96a1f8b2d399ffd391ded78d50d730f7d10093f753c12706891766e856900582003dd77aeb9a0a513726788f066708f0f0e6cc1d5c15f7d62f98ac508f51b08705820ffffffffffffffffffffffffffffffffffffe6fd62b2c21cf0509b3a1211525100582003278926e71524d9f5daef3c2ffd703bb5307be2c78c48c7d94f76377988b0c052010338550c4d57840ab570a5213ce3b079040304de6242ae593ce4f8780cb6c0949e0e9a90d5fcad81c8b2dc1f40199f525b7700582003581ea6484c653ca03a591b81a2b68ee0ede2010fe7fd8197babfaf4455e04052032d44c50a990f658e511611623180f0949900582003357012c1a3ae0a17d304c9920310382d968ebcc4b1771f41c6b304205b570058200100000a740000000000000018956e59b778b79917000452d276ab546687007703dd16641c82cdc728de0442b64283920b91686b7ff2540f6a1d0d53f5850036eb037d1481a7578842f9e0fb16d97707c14534c685916a50b7b6e66fb10e80b6acc600582003cddb8e9188a6eb03de45e6bbceaecf4b1974fa1d188739200e4f90ff9605a052011baf2838303119b26f60524806f32f1fba0335d7ee8b28ddd3a60e810d3ab4491407784d5c90531ea5285a2e37ed62a2ffbc0058200318d0cc83484350141f92e2b3e0220f4a5d7e8d832a823ce048739987cbb1c0520216ead1249fed3ecdef018b59de12ae3dfe00581f02892c15bc1849ebe8eb58289e74e0f179398b2170d06e7a4f3adf5a9b563a4f01368f997998effcd040809914eae200581f02c87ad88df9fc064a07f9344a5831818ca22455437f6b6e9c8f2eec92d1dd4e24795b7f8e27a362a9009c9c6db100581f0299f533e646ba5289802c98857b6226b8c939e89895f54e8d13588aeba3275101a0d13ad29d47d96615eb15a4cfcddb1200581f02aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc158200100000a740000000000000018970d004b8b22a617000455e2e888e86687da3f00581f024e7c586ec061e5356d81722c647781d3e3a57d4bd0a1dd367fe5a72d85c2520196d3d77358f5b9a0f62f7dbbb343cc5b0f021911a8030cef48402c898466e1e7f73f9bd7d41301ef46b9646baa9a660c20054d74e9950058200382d522d1585acd4ded2d2d674c80a7560b0c4f16b18fdf34c94b58d1375c7052095971dee5fa9dcd0f1dfcc083d61636fbaa0219f7f5036059fbb1770302a21dab7308ec57ff688ba4aa15457351619313d671d3f315e203eba81079aa6b7b1989499bcf5e24cc04122af7d7d8180e57b1bac7794b3a9960033f0302958198a7959d7f51e2024cb3ec2dd536a2b32c01dabc950290cafdcb6d03219b55c723be417ffb2707f0c7f90efd7dbd4cb469e1d4aba389da33e83431690357cb5f50414f4fa634e011e58dd900c90a32c8e9a94b18b1c1aa972f60ecb1220219ffff03e9dae006f2e240670c7c486d2428f6ecf25aa56685b7d6b4a6c783cdb6d9a029035d6bf224f623051d920400806e3dc6ab1804e15e4e23f25799cefb62bfd7abe40364fb4156a553c8604afbfe680408bc1badad919482109e14e0ef324ffeb9942b03ac64c1fb3b242ec49cee5f47462b0f46737ab79701efcd35055a876f26911a4903e51b958829ffa96ecb8bcf218f2b273c4ccd676eab05d8182d3057c87c8327f40396aa5557fafbfd81af31370f333f1fee9544066f7238fe1b87a355eb9ce16a1503a42b0f28652a7974a8e440365911113f7f94e70be56212f290211ce73720658503a64ead509891ec762b7d95c182e634f9b67b2d61f6a94ecbe1afda0f60e3cfc703c3b69d15fe002ae2778964ef83110dca08306ccbd019458619f5b7b7e9de2b5403c229e27daaa59b2b079d476856db2f181dce19a7bf9aa7d16e13f60eb20f706a03061772cae1292e72063ea3bd47522ce47dd2f625b7c1a8406106ba3ab0106295034597fc6f0a29651132fd202fa6b872ddabc9761bed410e5a7df44ac6e7097b3403b1396c163c7d55d51bdca7c8b3507efb2b7c4b92a16ac990af0415e252dd147f0310c47fa8773a6ec8406a1b3741935f9505942a1cd092797f4b7af624044d985103bec14d845511a04e04db1467baa6cf9d5706ec2d9245b5617970d3583e0e811c005820033c7e4711a850c776b9cba3c298ac6b7fde3c74e4b64538b6062943faab42e0520a84483af9a9201a4e55cd4554ca39a8fcbf00581f02b0ecf0b987e50698dc33da7bd7db7fea02f927358c76f81f064d376a657d4f065076aa8b3b275272c190fc4f4c2e00581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4b866ec4ccf58b3b7509d8c2021824035b733f7823ef09eb5e09dc9b3a286d904805b06e045179e9aa8f373d8d8d758f035b3393d38c132ccb7f0b91923126748ca7ebd418358c9e91e896dd79aeac4e3100582003054ac1edab0d9f109d2bc9594f8651df72a90f7d0e68eb1ce121b8f9bd1f405820fffffffffffffffffffffffffffffffffffffd1caa42be2fb0cf8f9684bd5249031ab0de88e4290866266f25e4014cddf2a4d112e71d48432eb743c1e8c9dfd44b039f925123305a04f41db3a89930ff62364c9c41a04421c3bafeb42911bf4b135b0330aad015f2d16fbfecee669cc32578bcf17e148182954eb0cdf0e72bb837fa58005820038b1a9cf3780be3929c0d831a96e7030f486dd5b931bebb63c75b6cd5dc6ed05820fffffffffffffffffffffffffffffffffffff359837cec60fe94e60456dfb67503774def4798362df6bb69854c983cf75445edb8ac0384f6bbcc5b33f824362ad403917ac564d9f7de4346bfdee703d7e5c6b3a51c83c6563f67cc7c48bbe45ca99203c81ead15b76b9f019f8c961da13f0fb276287062007059bc079388875c4fc2d401410e005820037cd26ea17384379942873b567a72ad9709752ea6d79aa4076075aec81110c058200165867d6b00000a7400000000000000129d5393a2b287d2380000ddba32af4c00582003d75e036b5be6fc36908f33e355e9260cbe952bdf2914376a32933ef701ee405820fffffffffffffffffffffffffffffffffffff881911c1cccfdd1fc188045f5150219fffe03d9e996e6aca49f37bd658b96e8f055afedb290d38b0cbeda1a19b2ddce01965f030cf692d0e98d8c1d65926fb976925ce23c9dae4b9cbb4e2497a2990af653cca403544280b7639dbd46d1425f6d0bc39165c4f2a8f745990069794c83d09f3606dd030c9fcb714bebca391a34cda138973d94ea8d0556fe1bc61740ba1354503bcd8b033dc006b23a2c7dbd17cdcac8641b8500b438e5c2000b41589df8a9c0eec6e3540219ffff036cda9d076e2f9432a362011b65b6ef19f4eb29589c5c47cb0c93d33e7a360c20039d37efacab08b45b6778fc872b470f3ce287e932a867429b7f64a1fccf3bc55503b503f0f677368ca06d7beb0bcb20288dae47a323601972cc5592e00bced32f3003db7e20c24af1b727ce35f711aa6aaa85a673edc8c812724959928c86ed52a6e60367a199432c90a9409337bdcfc6b7006a517ea4037b527c3999d8291c873838dd03e2da5ace6c2224d514e29bebd25db4d652df674d4485bd583f2b535d2f36de96005820036310545b06b085b408b052845800685ea19d15f37a3749ed374bcda31da3104e1d12dfd24dd0a4beb44927958f7100581f020d630cf23d612b0edd332f4c3e4500c4894e6d00c9111fe8d5ed6ca2e8b352099e2090a154ce86aca3dfaabe53c25109f300581f02fc18fcc1e244ddb0876050d57bb7afc7d3015357149890d41dc0983789d7581c02008404102813e1a73a0a903171a0c508c13b23e6fffef76451056502190880033eb03252fa82da712a21886e860e96452bd57bbf5b3c51247be3d54a39b9024203f6c52bf59ac3b15b0e55c840fae768203a57093a2f63e81124b6f431a1bf6c180058200399d817b6757290b50e8ecf3fa939673403dd35c97de392fdb343b4015ce9e058200100000a74000000000000001895df7d93342a6c4c000453a88b410c66873be7037ea19520a9a00f0ed968080eb11c5d5ea861126588965ebd6b639482341aee5c0310e9501b2d7a098e07ed1c6045e48cc05bafd7703d6855a36a3b41f3fc5f477300582003ed8bb1036aa60419dd03feca8160b27a96549c10cec4d5d424985357897e805820fffffffffffffffffffffffffffffffffffff345f2c199262534037a227f4c2e03228326ba8dc0b80114adc5aea750f25bdd3e13e0a0b3bc6e936f7f48649084ef036579ce81de78829a58da75d3d5a61be22556974bd28a92ae30801ee2f69b3ab80219df9f03c3e4f1795895d75ea3f51a3f12dde55f0d500a380c03a0d35b0024f55cc2dbb803c07d6b27885f3d5e0c3977d8fc5837b1c2c9876cbf2fc1390a7653bd39088c77038d8dd3752e5ba5ca510961e9b427680481b48b71d101868bc65f6a9732eec893031d6998f0cf829a2e686be03460b734893224aadef5581430db5d0b77a6ee7300035eb1e5e73843c4d7533c5f0de78c88d681237107ea0bec18a019e1636d1c3f8e03f57a4a9d7de8204d0d3bd1b8e76af7e9c9e23fbb9c1b90bb7209e00bb72bf01c038f4d3cb9f8a7e8180c70a770426f00494d308e71ca781961f5935c6900e6eca203058a7e61b79d980360f9044ab2fddb82c207b7c17f6ffefa1486a6a7191a465b0318eeeb81f29a94b2d432dd2e1e0daa2f01af36e27738f8f626e4895ecd6ff16d03dfa2b47268a9562f090b8dc540d41b54e49f173098b9e7eaaf40a15e866bfe1403d77d16919245541309b358b6f81b46d8a507b82079b89239feaa3bcb0318a5d803cbf4ab92453973d7027765f87fa1ceac4e6aabc70943aeb9bafada9ff939ebf203ee8005fd1e313d57811058930c1f33bc7922dbdc2238687bf2dae2baa38ce7ac0219ffff03b767a52dbe09f2a02aa434d5a0f8f95599bcbf87054814590c9d7d8b9ac34c8700582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604f0664a86f6187388d7f29b8bf5dc92100582003916ee20dce6a5bbedd3eeb18ae998e0b874e10bbb935f01e79fa76d6cb259052043d6f6efe55c7e41dd04715e95512b15c0000582003ce0c19da8b449afb57595467c92ea5fe1daa97e7e3a695dd49ce86ff2699e04e52078b56508e1aba2fc45544c4d1033a2f1bc1252d7d8107a2de776db4b15a47390ef66dd60f5a7f6903549f78940403f834d8d4969bce1367b9ba405e7cb0c16f07d737b1ad47db025a0d93afa4ba8703d36f2c23af091d69886bb40a60ff5eef9adf3e00dc5e3636af332b8f2e39fd8d0058200388b451a0894adf175714921b9a89401abf70bf4d68527b281e80a98c2c4a005820fffffffffffffffffffffffffffffffffffffcccf1d0bdc36cbddfe69539085e03da4623ec4774d6e64634205dcc8d438f7275a62009c65331b56f197092dbcaa9032e61489b722e5d9f8cc566495a9a0998f893cd4f0cfc59bbe7ab853b93bd1581032207d4e717f588f638e7368f0afba2716b62794b29af9f5073278e1db60bd238039afbc2131b58cf4f43e4ce3f12f873b9cad1fec5795eac5700f5160ba7107c36005820036d0645947d511b015c0e2d14b4bc9da72d2efcf963f00b8e2060af03e843905820fffffffffffffffffffffffffffffffffffffea9759b89727793df8f66bd409b005820035ea13532c2e01d7c14dc5ce92dc66a498bfbf793131841330ddd23471006a052036e224ccb532a6aa0548af73702d4bca5ab030afa54e441c33b194bd816ceba07586956c1cd02f8d366f0b85deff7ddade239039f2c96a9866b7135e4cdfecc77dab80521a839d8f4c945473b8b1dc09ba72cb40219ff7f0367bdbc43277e957b4752edecbb584df1e23c36cbe9c9d94b6ae82047fd5902a1031a1b95ff2aa89583d7e961f5e491aa5d508309dd5a59e8290e8540a5b2a0ce8003a53f80c150f588372607baed4df85b655945d60a25c96f89c4353aa7d599a8b80361e7af1f5296354ff88213ab8b7a37c64d4eadab14e6eb3986c2de3f4c4ae33403af09281ab3e5db943e1c3fd0e032496ef05294fa0ded33a5ea04732ce41380e8039626d834650b6f385131faed3ff33173020a983fb7ca169c93dc29c4b2ac952e037246f055738c453f1b5a7adaeac7d20fb09be008c15777f4871128fffba7043003f2cc616d32a3e4c7fdfb8f01ea813409cc6d139d49436a0d1d8ec8952412dc6403b8bf4f2eca9331b528a460b342d67a6a8e3d14761ddd562ec35dce5b6818214b033f16b4510df6316edee131a8817b2055702c4f34d5e3e44530ef4a2bc0ec927503a44fe56d295030a1a0b14c5cb8c2ba2aa1e80727d40c93fc8bc2f5c9e3d4fba6039f1cc1c11b6d4a2d528be4fb3e663319a8de86d8ee43d9c2086f68e09c28ba1003ab747361caec7bef2d39902947f881fbc99ff129e514f89499ddfb8ecb3f63f1039975f3553bc6d0b9010f9754e45c288e94325c61667357070f1778b3bf8db9750219ffff03b8faa54cc0959725ba1d3d0181b6f38c72a39ef2b430f390f2e3de5cc67c260f03de00f8d8e58f7077e8cd4799268c33aa7eb8a97b15ff6c4624f365b25b84d318032dabcab3c0457326abe686836e707a7b2c827f8ec4f5cbf3e00b9f4e789a500703db7dc6a2013a5b615d6d7fa62c768c32d8a0c6eaae721855c5b426a6b6df74dc0219ffff05581e03a3c3a11cfd37b8d7cd1221791c28b2a798a5053637ccef7c1ea7fb65b0070119567e05581e03a075facfbf3fec4f5117dc249a0db1e9296c2adec43fb78649bf7e6f400c0147458426f2824aa005581e037bc1f8920178d00e94caf6bfc7839103c411db0f518aaab256bf6ad980040303ba25bff7b253336dd358676ebda4340a324d297b83a2924da2f2551c3e877a7d038f76e025ed5dea04c341fa6f824353f720d21109181d24374be7f7a818dda73805581e03f96de9ffd1d44df5b7eb0bb116cb7bab5f5b51e6253acfe00960a8f3e00c0246daed3d1771f80219fa1a03469e340ee78572f37d2ba4b5def00148febc8efc7d5c6ee36546c14425cc67c803705140a4dd403bd196ee61f960a128cf6eb900c54455d07d1602913cbbb6d04b03553fabd647021478942cc38093620498c79ff37e51e505f17957e7a8027a815f03341bf78e42e2cf6e6baf59363a896a516ab853b051e29b20ac053a438086e601033d76ed38f659c4eabd501dc009f011d9f5936eefb75f1bbca93e7c9ba93fe1b6031c1d493071782a4674382e05b327f5a9cace109ddf3395b65665b821cc5d8a0d03ad836a1d7e2eaaf6cdfbff684682d3def877ddd9ee07142dddcb1d950145236b030ce628b4be33cf584605d01ed7ddd0daab5329e571f5caf2f7b3a73f1e04193803876b3abb4465f87e40f743475579476fcde05ebba32c340d0ffdd7734c9e3f1703e430df83d8271f316634691c11484891fa11c9060b3e9bd8e8c898505dc7d86003bc799a170371f0f51045da1396fb74da6e06feaf1e53a881a53651ee761951a40219ffff031596e9af4610fe7203240446b14008046a4e2928004557cf63b3c7cef34bb28d03897df785a5be56b121ef7901969773210918558916c453564f62079a4e44a691033ab1c1937b5824fd701d6099ec5ab1767734e202a351a39cfdfa17fc7a327041035c575f972a80d55752068b9b1ba5f106ddd81b4a7d38f4ab32eef8b1e54105eb0361aca8b1d305e9a59710d3a3dce40a6dc5bfb830a97400dbfece0fd36fc99d0e03efc45503d26365bdaed172b09163fe6667fa5cb5966ece0681864d8a672300cd039ee79f6c0170f1fe8154043ed59e80542d45fb0cc6226fcfe29cdb2ba068cebb03b79ac4b87026881839d0012dfbc19bcce442317442f6143436dc653e77e42cf1032c28f7ad2af6ac11a12fbde427612648dee07f64dda178a413fde7a49d51a0f303025a0cf804d37506fd6fcf0f00b8f6244f9737516c3ef795325d986460259960031807b36e3bf7e8026e66fc87469bdcb711d494a10228468d81d4756a27142dfc0219ffff03753d997e075a007a3e7bc1bb7b0dbf6c2eb147287b6761c865223d5570b337bd038a45bbe5a570b44a38879f6750a482d5ca957fe24344dceac63da1e5f538b947037b88128a5ad46f60edd7e829161ae6f7eac74a246174794975f9c0a1e160653503b5b57d982052f12cea6abdb712d464ffb4770275f1844abb142f6534b8b00c1e03f09025ab794e4f1418eb1658169b92e776d924f533d2f4c8a0abcfcfec67950e03e1c15c6689b82b73b43a133890226a90c988b8888d000deb48f33b31cda5912d032e4567e67c7ad3ac0849b49c56c8650d4065038de515ba08973d55c4a85e86c10333f452ec8c974dcc7807ab742f2a2a48ab2df839c9fb49021c8c8d817b28429c03235fe143ee0fcbdb0fec047292477c287acfdc87467711c433a46ec4e778cff10219ffff038e960d7752a5c2d263f2df6cb81c6c9249a110776100ab7ef67fed5dff0da1de03443a9afadae98eba890a4622b06b323a167dbbb560619e70457b510bfbe3ed1d03c5a060e07f427601d4fffd0c1f98f029d5f966f3cdc38f7b99f10f3d4048ffb603145873f052b3bc8d239bf6c6156f8e17f58d77bd9bb3f0490cb47827dbff1fbc036ea87d616b81fd12e6f0c850a8d083dc9862b0541b8fc0a7a76fd0d8348febec038068a167bb35491899b679a3fbccb7b088ecb3500d4a9dfdaaa99705dfe8730b030200dcdcbd0633707e5f855db80668d89dc41b3fdb35a3efd4d7ace95a8b829c03f81ae2c0044f8f3e7a8aeae23776ef014d2f0920fdf594ce38459031afdcb33703c5079522b40f6cdbb53b799eb93e1d7a438ae21b5d1d4c6f49441e00490e96b7037873e6c039b3571023ab1ea1ddac82ee1e1b925b846e206157f75602632a374d03563cb8d94f2ef42389b187749071caeb58f853482478a5186f8718717f03f52c036c0c92bacca4de27729582b3249f656d440dfe3eb567d46bdcdf8a5240fcd85f03023c1d80f103b0ddf1e5b6c454920d43ad4b022e973972919569576448315cc40327baa2fc0af952f11b1679c5ed3628ac7b8aa78d0ba0f13be7d0dd92521c7b4203fdddc7d3a6fad9c712d2132df937f932396e5f1e2945db40c618ad973bb9fc4a039ad7716bfd1287dbd742797c57b0d38767a6c70534a9c8305f13ab566da015ea03454985fdcebbbe37c9bd786214b92ee7f489d7a03a2325972fa0c2b582a0d1240372cf7e11161fc70acbf2df8db6ca30593c7320e0403a75e159277ef22df118dc03f1f1be62587b2530377502f6b5b902b4968f06b6eeef3411c282d5e60a1b306c05581e031c079ea9ff7deda37500f40b408c555aa414dd2909c4fb8d06708c8cb00c02471b04c32d9dab4105581e03b7cea30fa486371f1645424fc173122893feb334d839fc0bfc955b2fe00c014743e4851efc5af804595d626080604052600436106102285760003560e01c80638e8920e311610123578063c4552791116100ab578063f3dced3c1161006f578063f3dced3c14610700578063f46901ed14610720578063f7260d3e14610740578063f72f863b14610760578063f851a4401461078057600080fd5b8063c455279114610644578063ca68d8f614610674578063cea8ef5c1461068a578063e2587da1146106c0578063f2fde38b146106e057600080fd5b8063aeee23c4116100f2578063aeee23c414610522578063b796af131461055d578063bb8c17d314610598578063be75ddac146105b8578063c1a8e6fd146105f357600080fd5b80638e8920e3146104bc578063972250fe146104cf578063aa0bd4de146104e2578063adc927af1461050257600080fd5b806359605679116101b15780638129fc1c116101755780638129fc1c1461043157806381a52222146104465780638456cb5914610476578063861a8dcb1461048b5780638da5cb5b1461049e57600080fd5b8063596056791461036e5780635c975abb146103ae578063704b6c02146103c6578063715018a6146103e65780637ae729ca146103fb57600080fd5b80633d21e25a116101f85780633d21e25a146102d35780633eee9156146102e65780633f4ba83a14610306578063474707f01461031b578063534015b31461033b57600080fd5b80621a9f6214610234578063017e7e58146102565780630758d92414610293578063123119cd146102b357600080fd5b3661022f57005b600080fd5b34801561024057600080fd5b5061025461024f366004614d6f565b6107a0565b005b34801561026257600080fd5b5060ce54610276906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561029f57600080fd5b5060cb54610276906001600160a01b031681565b3480156102bf57600080fd5b5060cc54610276906001600160a01b031681565b6102546102e1366004614fa9565b610957565b3480156102f257600080fd5b506102546103013660046150a9565b61097d565b34801561031257600080fd5b506102546109ea565b34801561032757600080fd5b506102546103363660046150dd565b610a42565b34801561034757600080fd5b5060cc5460cd54604080516001600160a01b0393841681529290911660208301520161028a565b34801561037a57600080fd5b5061039e610389366004615194565b60d76020526000908152604090205460ff1681565b604051901515815260200161028a565b3480156103ba57600080fd5b5060335460ff1661039e565b3480156103d257600080fd5b506102546103e13660046151af565b610a84565b3480156103f257600080fd5b50610254610b29565b34801561040757600080fd5b506102766104163660046151cc565b60d4602052600090815260409020546001600160a01b031681565b34801561043d57600080fd5b50610254610b3b565b34801561045257600080fd5b5061039e6104613660046151af565b60d06020526000908152604090205460ff1681565b34801561048257600080fd5b50610254610c67565b6102546104993660046152fc565b610cbd565b3480156104aa57600080fd5b506065546001600160a01b0316610276565b6102546104ca3660046153c5565b610e29565b6102546104dd3660046153f9565b610ee6565b3480156104ee57600080fd5b506102546104fd366004615514565b610eff565b34801561050e57600080fd5b5061025461051d366004614d6f565b6110ab565b34801561052e57600080fd5b5061039e61053d36600461557f565b60d160209081526000928352604080842090915290825290205460ff1681565b34801561056957600080fd5b5061058a6105783660046151cc565b60d36020526000908152604090205481565b60405190815260200161028a565b3480156105a457600080fd5b506102546105b336600461557f565b611254565b3480156105c457600080fd5b5061039e6105d336600461557f565b60d260209081526000928352604080842090915290825290205460ff1681565b3480156105ff57600080fd5b5061062d61060e3660046151af565b60d5602052600090815260409020805460019091015460ff9091169082565b60408051921515835260208301919091520161028a565b34801561065057600080fd5b5061039e61065f3660046151af565b60d66020526000908152604090205460ff1681565b34801561068057600080fd5b5061058a61012c81565b34801561069657600080fd5b506102766106a53660046151cc565b60c9602052600090815260409020546001600160a01b031681565b3480156106cc57600080fd5b506102546106db3660046155a1565b6112f2565b3480156106ec57600080fd5b506102546106fb3660046151af565b61149e565b34801561070c57600080fd5b5060ca54610276906001600160a01b031681565b34801561072c57600080fd5b5061025461073b3660046151af565b611514565b34801561074c57600080fd5b5060cd54610276906001600160a01b031681565b34801561076c57600080fd5b5061025461077b3660046151af565b6115f8565b34801561078c57600080fd5b5060cf54610276906001600160a01b031681565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b031633146107f65760405162461bcd60e51b81526004016107ed9190615683565b60405180910390fd5b5080518251146040518060400160405280601081526020016f1b195b99dd1a081b9bdd08195c5d585b60821b815250906108435760405162461bcd60e51b81526004016107ed9190615683565b5060005b82518110156109525781818151811061086257610862615696565b602002602001015160d0600085848151811061088057610880615696565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f0bf1a6b9bd400a8478e3082dd8932968c39600716acaf5dbf7553e798c1cd36a8382815181106108f2576108f2615696565b602002602001015183838151811061090c5761090c615696565b60200260200101516040516109389291906001600160a01b039290921682521515602082015260400190565b60405180910390a18061094a816156c2565b915050610847565b505050565b61095f6116dc565b610967611735565b6109708161177b565b61097a6001609755565b50565b6109856116dc565b61098d611735565b33600090815260d0602090815260409182902054825180840190935260088352676f6e6c79206d706360c01b9183019190915260ff166109e05760405162461bcd60e51b81526004016107ed9190615683565b50610970816122c8565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b03163314610a375760405162461bcd60e51b81526004016107ed9190615683565b50610a40612a51565b565b610a4a6116dc565b610a52611735565b610a69610a6260208501856151af565b8383612aa3565b610a7a610a75846156db565b61177b565b6109526001609755565b610a8c612c02565b60408051808201909152600981526806164647265737320360bc1b60208201526001600160a01b038216610ad35760405162461bcd60e51b81526004016107ed9190615683565b5060cf80546001600160a01b0319166001600160a01b0383169081179091556040519081527f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c906020015b60405180910390a150565b610b31612c02565b610a406000612c5c565b600054610100900460ff1615808015610b5b5750600054600160ff909116105b80610b755750303b158015610b75575060005460ff166001145b610bd85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107ed565b6000805460ff191660011790558015610bfb576000805461ff0019166101001790555b610c03612cae565b610c0b612cdd565b610c13612d0c565b60cf80546001600160a01b03191633179055801561097a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610b1e565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b03163314610cb45760405162461bcd60e51b81526004016107ed9190615683565b50610a40612d3b565b610cc56116dc565b610ccd611735565b33600090815260d0602090815260409182902054825180840190935260088352676f6e6c79206d706360c01b9183019190915260ff16610d205760405162461bcd60e51b81526004016107ed9190615683565b503460005b8351811015610d8d57610d50848281518110610d4357610d43615696565b6020026020010151612d78565b838181518110610d6257610d62615696565b60200260200101516020015182610d7991906156e7565b915080610d85816156c2565b915050610d25565b5060005b8251811015610dce57610dbc838281518110610daf57610daf615696565b60200260200101516122c8565b80610dc6816156c2565b915050610d91565b5060408051808201909152601481527306c6566742076616c7565206d75737420626520360641b60208201528115610e195760405162461bcd60e51b81526004016107ed9190615683565b5050610e256001609755565b5050565b610e316116dc565b610e39611735565b33600090815260d0602090815260409182902054825180840190935260088352676f6e6c79206d706360c01b9183019190915260ff16610e8c5760405162461bcd60e51b81526004016107ed9190615683565b508060200151341460405180604001604052806011815260200170696e76616c6964206d73672076616c756560781b81525090610edc5760405162461bcd60e51b81526004016107ed9190615683565b5061097081612d78565b610eee6116dc565b610ef6611735565b61097081612f39565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b03163314610f4c5760405162461bcd60e51b81526004016107ed9190615683565b5060408051808201909152601081526f1b195b99dd1a081b9bdd08195c5d585b60821b6020820152838214610f945760405162461bcd60e51b81526004016107ed9190615683565b5060005b838110156110a457828282818110610fb257610fb2615696565b9050602002016020810190610fc791906151af565b60c96000878785818110610fdd57610fdd615696565b90506020020135815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555084848281811061102857611028615696565b905060200201357f0f86ee2bbb4d6370cc5e337c548e9af76e112c16b1aa97877c11e1328fa8ca3984848481811061106257611062615696565b905060200201602081019061107791906151af565b6040516001600160a01b03909116815260200160405180910390a28061109c816156c2565b915050610f98565b5050505050565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b031633146110f85760405162461bcd60e51b81526004016107ed9190615683565b5080518251146040518060400160405280601081526020016f1b195b99dd1a081b9bdd08195c5d585b60821b815250906111455760405162461bcd60e51b81526004016107ed9190615683565b5060005b82518110156109525781818151811061116457611164615696565b602002602001015160d6600085848151811061118257611182615696565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f4519d4931af171182c3df6a6b61730c684f07903a4bd23a3edbff97685da43748382815181106111f4576111f4615696565b602002602001015183838151811061120e5761120e615696565b602002602001015160405161123a9291906001600160a01b039290921682521515602082015260400190565b60405180910390a18061124c816156c2565b915050611149565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b031633146112a15760405162461bcd60e51b81526004016107ed9190615683565b50600082815260d3602090815260409182902083905581518481529081018390527f7ef26aca67d68e814b326749559541e70261dc0bb13ec23b061cb4efae5bf10a91015b60405180910390a15050565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b0316331461133f5760405162461bcd60e51b81526004016107ed9190615683565b5080518251146040518060400160405280601081526020016f1b195b99dd1a081b9bdd08195c5d585b60821b8152509061138c5760405162461bcd60e51b81526004016107ed9190615683565b5060005b8251811015610952578181815181106113ab576113ab615696565b602002602001015160d760008584815181106113c9576113c9615696565b60200260200101516001600160e01b0319166001600160e01b031916815260200190815260200160002060006101000a81548160ff0219169083151502179055507f2fc5194644b0d028829e475d57cad5ccad073d27cef6d863b7bd7ed88ae9a2c183828151811061143d5761143d615696565b602002602001015183838151811061145757611457615696565b60200260200101516040516114849291906001600160e01b03199290921682521515602082015260400190565b60405180910390a180611496816156c2565b915050611390565b6114a6612c02565b6001600160a01b03811661150b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107ed565b61097a81612c5c565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b031633146115615760405162461bcd60e51b81526004016107ed9190615683565b5060408051808201909152600981526806164647265737320360bc1b60208201526001600160a01b0382166115a95760405162461bcd60e51b81526004016107ed9190615683565b5060ce80546001600160a01b0319166001600160a01b0383169081179091556040519081527f3dedba2a214b4fff9bf20fc473c114824654e0bc70512b4a92f6d5978763c28d90602001610b1e565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b031633146116455760405162461bcd60e51b81526004016107ed9190615683565b5060408051808201909152600981526806164647265737320360bc1b60208201526001600160a01b03821661168d5760405162461bcd60e51b81526004016107ed9190615683565b5060cb80546001600160a01b0319166001600160a01b0383169081179091556040519081527f33f0bdb7050bc888ca819c34892844adff2a3109dc1810301e8fd6af0ac7edb990602001610b1e565b60026097540361172e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107ed565b6002609755565b60335460ff1615610a405760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107ed565b6117df60405180610120016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160e01b0319168152602001606081525090565b60608201516040805180820190915260118152701a5b9d985b1a59081859185c1d1bdc9251607a1b60208201529061182a5760405162461bcd60e51b81526004016107ed9190615683565b506060820151600090815260c96020908152604091829020546001600160a01b031680845282518084019093526017835276696e76616c69642061646170746f72206164647265737360481b9183019190915261189a5760405162461bcd60e51b81526004016107ed9190615683565b50815160408051808201909152600981526806164647265737320360bc1b6020820152906001600160a01b03166118e45760405162461bcd60e51b81526004016107ed9190615683565b5060006001600160a01b031682602001516001600160a01b031614156040518060400160405280600981526020016806164647265737320360bc1b815250906119405760405162461bcd60e51b81526004016107ed9190615683565b5081602001516001600160a01b031682600001516001600160a01b031614156040518060400160405280600d81526020016c1859191c995cdcc8195c5d585b609a1b815250906119a35760405162461bcd60e51b81526004016107ed9190615683565b506040808301518151808301909252600982526806164647265737320360bc1b60208301526001600160a01b03166119ee5760405162461bcd60e51b81526004016107ed9190615683565b5060cb5460408051808201909152600981526806164647265737320360bc1b6020820152906001600160a01b0316611a395760405162461bcd60e51b81526004016107ed9190615683565b5060a08201516040805180820190915260128152710616d6f756e74206d757374206265203e20360741b602082015290611a865760405162461bcd60e51b81526004016107ed9190615683565b5060c082015160408051808201909152601681527506d696e20616d6f756e74206d757374206265203e20360541b602082015290611ad75760405162461bcd60e51b81526004016107ed9190615683565b50608082015160c081901c90602081901c6001600160a01b03169063ffffffff166080840152606083015260a08201526020820151611b15906133e5565b604082015261012082015160d790600090611b2f906156fa565b6001600160e01b03191681526020808201929092526040908101600020548151808301909252600f82526e195c9c881cd95b1958dd1bdc881a59608a1b928201929092529060ff16611b945760405162461bcd60e51b81526004016107ed9190615683565b5060cc80546001600160a01b0319908116331790915560cd80549091163017905560a082015182516101408401516000928392611bd0926133f7565b6101408601819052855191935091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed1901611d275760a0840151611c1283346156e7565b101560405180604001604052806011815260200170696e76616c6964206d73672076616c756560781b81525090611c5c5760405162461bcd60e51b81526004016107ed9190615683565b5073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031684602001516001600160a01b031603611cab57611c9f30308660a0015160006136a6565b151560c0840152611dfd565b60cb5460a08501516101208601516040516001600160a01b0390931692611cd29190615731565b60006040518083038185875af1925050503d8060008114611d0f576040519150601f19603f3d011682016040523d82523d6000602084013e611d14565b606091505b50610100850152151560c0840152611dfd565b83516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2148015611d74575060208401516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b15611d8a57611c9f33308660a0015160016136a6565b60cb546101208501516040516001600160a01b0390921691611dac9190615731565b6000604051808303816000865af19150503d8060008114611de9576040519150601f19603f3d011682016040523d82523d6000602084013e611dee565b606091505b50610100850152151560c08401525b60cc80546001600160a01b031990811690915560cd8054909116905560c08301516101008401515115611e6757611e628461010001516040518060400160405280601181526020017003232bc103937baba32b91032b939101d1607d1b8152506139a2565b611e93565b604051806040016040528060128152602001711a5b9d195c9b985b081ddc985c0819985a5b60721b8152505b90611eb15760405162461bcd60e51b81526004016107ed9190615683565b508260400151611ec485602001516133e5565b611ece91906156e7565b602084015260c08401516060840151611ee7919061574d565b836020015110156040518060400160405280600e81526020016d36b4b71030b6b7bab73a1032b93960911b81525090611f335760405162461bcd60e51b81526004016107ed9190615683565b5060ce5460208501516060850151611f55926001600160a01b03169190613b05565b82606001518360200151611f6991906156e7565b83602001818152505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031684602001516001600160a01b03160361203b5782600001516001600160a01b0316636f82189d348560200151611fc6919061574d565b33876040015133896020015189602001518a608001518c61010001516040518963ffffffff1660e01b81526004016120049796959493929190615760565b6000604051808303818588803b15801561201d57600080fd5b505af1158015612031573d6000803e3d6000fd5b505050505061212b565b612052836000015185602001518560200151613b05565b83516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed19016120a65782600001516001600160a01b0316636f82189d8560a00151843461209c91906156e7565b611fc691906156e7565b82600001516001600160a01b0316636f82189d3433876040015133896020015189602001518a608001518c61010001516040518963ffffffff1660e01b81526004016120f89796959493929190615760565b6000604051808303818588803b15801561211157600080fd5b505af1158015612125573d6000803e3d6000fd5b50505050505b60006121558460a001518560800151876060015188604001518961010001518a6101400151613be5565b905084606001517fb9dae57db52a734b183c77227c96068231beb6a93a060ca7a9d3164f716714ea33876040015188600001518960a001518a602001518a602001518b60600151896040516121b19897969594939291906157f2565b60405180910390a273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031685602001516001600160a01b03160361225a578360400151346121fd87602001516133e5565b612207919061574d565b101560405180604001604052806014815260200173736c617368206d75636820746f6f206d6f6e657960601b815250906122545760405162461bcd60e51b81526004016107ed9190615683565b506110a4565b836040015161226c86602001516133e5565b101560405180604001604052806014815260200173736c617368206d75636820746f6f206d6f6e657960601b815250906122b95760405162461bcd60e51b81526004016107ed9190615683565b505050505050565b6001609755565b60006122d782600001516133e5565b90506000826080015183606001516122ef919061574d565b90506122fb8382613ed8565b60408051808201909152600f81526e6e6f20656e6f756768206d6f6e657960881b6020820152818310156123425760405162461bcd60e51b81526004016107ed9190615683565b5060cb5460408051808201909152600981526806164647265737320360bc1b6020820152906001600160a01b031661238d5760405162461bcd60e51b81526004016107ed9190615683565b5060a0830151600090815260d16020908152604080832060c0870151845282529182902054825180840190935260088352671a185cc81c185a5960c21b9183019190915260ff16156123f25760405162461bcd60e51b81526004016107ed9190615683565b5060a0830151600090815260d16020908152604080832060c087015184528252808320805460ff191660019081179091558151818152808301909252909182810190803683370190505090508360c001518160008151811061245657612456615696565b602090810291909101015260ce54845160808601516000926060928392612487926001600160a01b03169190613b05565b60e0870151511561294a5760006124a68860200151896040015161425d565b60cc8054306001600160a01b03199182161790915560408a015160cd80549092166001600160a01b039182161790915589519192501673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed19016125ea5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031688602001516001600160a01b0316036125775761253d3089604001518a6060015160006136a6565b93508361257257604051806040016040528060128152602001711a5b9d195c9b985b081ddc985c0819985a5b60721b81525091505b6127e4565b60cb54606089015160e08a01516040516001600160a01b039093169261259d9190615731565b60006040518083038185875af1925050503d80600081146125da576040519150601f19603f3d011682016040523d82523d6000602084013e6125df565b606091505b5090945092506127e4565b87516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2148015612637575060208801516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b156126515761253d3089604001518a6060015160016136a6565b60007370cbb871e8f30fc8ce23609e9e0ea87b6b222f586001600160a01b0316631c6eced56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126c99190615853565b60608a01518a519192506126e8916001600160a01b0316908390614305565b60cb5460e08a01516040516001600160a01b03909216916127099190615731565b6000604051808303816000865af19150503d8060008114612746576040519150601f19603f3d011682016040523d82523d6000602084013e61274b565b606091505b508a51604051636eb1769f60e11b81523060048201526001600160a01b038581166024830152939850919650919091169063dd62ed3e90604401602060405180830381865afa1580156127a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c69190615870565b156127e25788516127e2906001600160a01b0316826000614305565b505b831580156127f3575060008351115b1561282e5761282b836040518060400160405280601181526020017003232bc103937baba32b91032b939101d1607d1b8152506139a2565b91505b60cc80546001600160a01b031990811690915560cd80549091169055836128cb57612866886040015189600001518a60600151613b05565b7f6d1b775ce655ea3b568c59e0f161908781f216e4d9feb04fa524ca23a44f4b07886040015189600001518a602001518b6060015160008d608001518e60a00151898d6040516128be99989796959493929190615889565b60405180910390a1612944565b806128de89602001518a6040015161425d565b6128e891906156e7565b6040808a01518a5160208c015160808d015160a08e015194519596507f6d1b775ce655ea3b568c59e0f161908781f216e4d9feb04fa524ca23a44f4b079561293b9560009289929091908b908f90615889565b60405180910390a15b506129e2565b50604080518082018252600a8152695f5f726566756e645f5f60b01b60208201529087015187516060890151612981929190613b05565b7f6d1b775ce655ea3b568c59e0f161908781f216e4d9feb04fa524ca23a44f4b078760400151886000015189602001518a6060015160008c608001518d60a00151888c6040516129d999989796959493929190615889565b60405180910390a15b846129f088600001516133e5565b6129fa90886156e7565b111560405180604001604052806014815260200173736c617368206d75636820746f6f206d6f6e657960601b81525090612a475760405162461bcd60e51b81526004016107ed9190615683565b5050505050505050565b612a5961444d565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b8015610952576000606060e0839003612b44576040516001600160a01b03861690612add9063d505accf60e01b90879087906020016158fa565b60408051601f1981840301815290829052612af791615731565b6000604051808303816000865af19150503d8060008114612b34576040519150601f19603f3d011682016040523d82523d6000602084013e612b39565b606091505b509092509050612bb3565b610100839003612b75576040516001600160a01b03861690612add906323f2ebc360e21b90879087906020016158fa565b60405162461bcd60e51b81526020600482015260136024820152720aee4dedcce40e0cae4dad2e840d8cadccee8d606b1b60448201526064016107ed565b816110a457612be9816040518060400160405280600f81526020016e02832b936b4ba103330b4b632b21d1608d1b8152506139a2565b60405162461bcd60e51b81526004016107ed9190615683565b6065546001600160a01b03163314610a405760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107ed565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16612cd55760405162461bcd60e51b81526004016107ed9061591e565b610a40614496565b600054610100900460ff16612d045760405162461bcd60e51b81526004016107ed9061591e565b610a406144c9565b600054610100900460ff16612d335760405162461bcd60e51b81526004016107ed9061591e565b610a406144f0565b612d43611735565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a863390565b600160005260d360209081527fb0a3e43c7bb3d788f8bb37bbdf867a9bb5c27b60c1c3803c8e0f152e14296a16548282015160408051808201909152601281527165786365656420616c6c6f7765642067617360701b938101939093521115612df45760405162461bcd60e51b81526004016107ed9190615683565b50604080820151600090815260d2602090815282822060608501518352815290829020548251808401909352600f83526e68617320726563656976652067617360881b9183019190915260ff1615612e5f5760405162461bcd60e51b81526004016107ed9190615683565b50604080820151600090815260d26020908152828220606085015183528152919020805460ff19166001179055815190820151612eb2919073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90613b05565b60408051600180825281830190925260009160208083019080368337019050509050816060015181600081518110612eec57612eec615696565b6020026020010181815250507fc9f1b98ce4fd29c9b2de9c4514957faa4bf8fbcad43c471530fb873726c3c286826000015183602001518460400151846040516112e69493929190615969565b80516040805180820190915260118152701a5b9d985b1a59081859185c1d1bdc9251607a1b602082015290612f815760405162461bcd60e51b81526004016107ed9190615683565b508051600090815260c960209081526040918290205482518084019093526017835276696e76616c69642061646170746f72206164647265737360481b918301919091526001600160a01b03169081612fed5760405162461bcd60e51b81526004016107ed9190615683565b5060006001600160a01b031682602001516001600160a01b031614156040518060400160405280600981526020016806164647265737320360bc1b815250906130495760405162461bcd60e51b81526004016107ed9190615683565b506040808301518151808301909252600982526806164647265737320360bc1b60208301526001600160a01b03166130945760405162461bcd60e51b81526004016107ed9190615683565b5060808201516040805180820190915260128152710616d6f756e74206d757374206265203e20360741b6020820152906130e15760405162461bcd60e51b81526004016107ed9190615683565b5060408051808201909152600081526060602082015261310e836080015184604001518560c001516133f7565b6020830181905290825260c0840152606083015134906000908190819061314d9060c081901c916001600160a01b03602083901c169163ffffffff1690565b92509250925073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031687604001516001600160a01b0316036132b5578451608088015161319690849061574d565b6131a0919061574d565b34101560405180604001604052806011815260200170696e76616c6964206d73672076616c756560781b815250906131eb5760405162461bcd60e51b81526004016107ed9190615683565b5084516131f890856156e7565b935081156132b05760ce546040516000916001600160a01b03169084908381818185875af1925050503d806000811461324d576040519150601f19603f3d011682016040523d82523d6000602084013e613252565b606091505b505090508060405180604001604052806013815260200172115512081d1c985b9cd9995c8819985a5b1959606a1b815250906132a15760405162461bcd60e51b81526004016107ed9190615683565b506132ac83866156e7565b9450505b6132ef565b81156132db5760ce5460408801516132db9133916001600160a01b039091169085614520565b6132ef338789604001518a60800151614520565b602087015160408089015160808a015160a08b01519251636f82189d60e01b81526001600160a01b038b1694636f82189d948a9461333594339485938b91600401615760565b6000604051808303818588803b15801561334e57600080fd5b505af1158015613362573d6000803e3d6000fd5b5050505050600061338784838a600001518b602001518c60a001518d60c00151613be5565b905087600001517ff6481cbc1da19356c5cb6b884be507da735b89f21dc4bbb7c9b7cc0968b03b7a338a602001518b604001518c6080015188876040516133d396959493929190615996565b60405180910390a25050505050505050565b60006133f1823061425d565b92915050565b60006060601f193601356561aefa81eaab60d11b6001600160d01b03198216016136995760408051808201909152601b81527f6572726f7220636f6d6d697373696f6e2072617465206c696d6974000000000060208201526001600160a01b0382169065ffffffffffff60a084901c169061012c82111561348b5760405162461bcd60e51b81526004016107ed9190615683565b50613498816127106156e7565b6134a2828a6159e4565b6134ac91906159fb565b945073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03881601613585576000826001600160a01b03168660405160006040518083038185875af1925050503d8060008114613520576040519150601f19603f3d011682016040523d82523d6000602084013e613525565b606091505b50509050806040518060400160405280601b81526020017f636f6d6d697373696f6e2077697468206574686572206572726f7200000000008152509061357e5760405162461bcd60e51b81526004016107ed9190615683565b5050613591565b61359133838988614520565b855161359e6020826156e7565b6001600160401b038111156135b5576135b5614bf1565b6040519080825280601f01601f1916602001820160405280156135df576020820181803683370190505b50945060005b6135f06020836156e7565b81101561364f5787818151811061360957613609615696565b602001015160f81c60f81b86828151811061362657613626615696565b60200101906001600160f81b031916908160001a90535080613647816156c2565b9150506135e5565b50604080518781526001600160a01b03851660208201527fffc60ee157a42f4d8edbd1897e6581a96d9ed04e44fb2ab53a47ce1eb8f2775b910160405180910390a150505061369d565b8391505b50935093915050565b60008083116040518060400160405280601781526020017f7772617020616d6f756e74206d757374206265203e2030000000000000000000815250906136ff5760405162461bcd60e51b81526004016107ed9190615683565b5081156138fe57306001600160a01b038616036137ac5760405163a9059cbb60e01b8152735703b683c7f928b721ca95da988d73a3299d475760048201526024810184905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29063a9059cbb906044016020604051808303816000875af1158015613782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137a69190615a1d565b506137e0565b6137e085735703b683c7f928b721ca95da988d73a3299d475773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc286614520565b604051632e1a7d4d60e01b815260048101849052735703b683c7f928b721ca95da988d73a3299d475790632e1a7d4d90602401600060405180830381600087803b15801561382d57600080fd5b505af1158015613841573d6000803e3d6000fd5b505050506001600160a01b03841630146138f9576000846001600160a01b03168460405160006040518083038185875af1925050503d80600081146138a2576040519150601f19603f3d011682016040523d82523d6000602084013e6138a7565b606091505b505090508060405180604001604052806013815260200172115512081d1c985b9cd9995c8819985a5b1959606a1b815250906138f65760405162461bcd60e51b81526004016107ed9190615683565b50505b613996565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561394d57600080fd5b505af1158015613961573d6000803e3d6000fd5b505050506001600160a01b038516301490506139965761399673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc285856145a0565b5060015b949350505050565b60606004835110613ad35760208301516001600160e01b0319811662461bcd60e51b1480156139d357506044845110155b15613a73576024848101518086018201805191929091906139f590849061574d565b6139ff919061574d565b86511015613a475760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b60448201526064016107ed565b8481604051602001613a5a929190615a3a565b60405160208183030381529060405293505050506133f1565b6001600160e01b03198116634e487b7160e01b148015613a94575083516024145b15613ad157602484015183613aa8826145d0565b604051602001613ab9929190615a89565b604051602081830303815290604052925050506133f1565b505b81613add846145f8565b604051602001613aee929190615abe565b604051602081830303815290604052905092915050565b80156109525773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03831601613bd1576000836001600160a01b03168260405160006040518083038185875af1925050503d8060008114613b7d576040519150601f19603f3d011682016040523d82523d6000602084013e613b82565b606091505b505090508060405180604001604052806013815260200172115512081d1c985b9cd9995c8819985a5b1959606a1b815250906110a45760405162461bcd60e51b81526004016107ed9190615683565b6109526001600160a01b03831684836145a0565b60408051600680825260e082019092526060916020820160c0803683370190505090508660001b81600081518110613c1f57613c1f615696565b6020026020010181815250508560001b81600181518110613c4257613c42615696565b6020026020010181815250506001851480613c5d5750600285145b15613cf5576040516bffffffffffffffffffffffff19606086901b166020820152603401604051602081830303815290604052613c9990615b0f565b81600281518110613cac57613cac615696565b60209081029190910181019190915260408051600081529182019052613cd190615b0f565b81600381518110613ce457613ce4615696565b602002602001018181525050613da7565b60038503613da757600083806020019051810190613d139190615b7b565b50925050506000613d23826147df565b905080600081518110613d3857613d38615696565b602002602001015183600281518110613d5357613d53615696565b602002602001018181525050600181511115613da45780600181518110613d7c57613d7c615696565b602002602001015183600381518110613d9757613d97615696565b6020026020010181815250505b50505b815115613e5957600082806020019051810190613dc49190615bf9565b90506000613dd1826147df565b905080600081518110613de657613de6615696565b602002602001015183600481518110613e0157613e01615696565b602002602001018181525050600181511115613e525780600181518110613e2a57613e2a615696565b602002602001015183600581518110613e4557613e45615696565b6020026020010181815250505b5050613ece565b80600281518110613e6c57613e6c615696565b602002602001015181600481518110613e8757613e87615696565b60200260200101818152505080600381518110613ea657613ea6615696565b602002602001015181600581518110613ec157613ec1615696565b6020026020010181815250505b9695505050505050565b600080836101000151806020019051810190613ef49190615c2d565b91509150600080600080613f0886866148aa565b60408051808201909152600b81526a3d32b9379039b4b3b732b960a91b6020820152939750919550935091506001600160a01b038516613f5b5760405162461bcd60e51b81526004016107ed9190615683565b506001600160a01b038416600090815260d66020908152604091829020548251808401909352601083526f6e6f74206f7261636c652070726f787960801b9183019190915260ff16613fc05760405162461bcd60e51b81526004016107ed9190615683565b50600360005260d360209081527f64de0974ce81404dc9f7f680a2e3b4cfc70679cd50192b307cda861d6e23b6505460408051808201909152600c81526b195c9c8818da185a5b881a5960a21b9281019290925284146140335760405162461bcd60e51b81526004016107ed9190615683565b5060408051808201909152601681527531b7b73a3930b1ba1030b2323932b9b99032b93937b960511b60208201526001600160a01b038316301461408a5760405162461bcd60e51b81526004016107ed9190615683565b5080602001518860c001511460405180604001604052806014815260200173636c61696d206e6f206f7261636c6520696e666f60601b815250906140e15760405162461bcd60e51b81526004016107ed9190615683565b50604080820151898201518251808401909352601483527331b630b4b6903a379030b2323932b9b99032b93960611b60208401526001600160a01b039081169116146141405760405162461bcd60e51b81526004016107ed9190615683565b506060810151885160408051808201909152601781527f636c61696d20746f6b656e2061646472657373206572720000000000000000006020820152916001600160a01b039182169116146141a85760405162461bcd60e51b81526004016107ed9190615683565b506002600090815260d36020527f8f145ec1981fda056bae73a9467bf215a78583d2d921572993bc5b1783a6fe0c549060646141e4818461574d565b8460a001516141f391906159e4565b6141fd91906159fb565b9050808911156040518060400160405280601681526020017531b630b4b6903a37b5b2b71030b6b7bab73a1032b93960511b815250906142505760405162461bcd60e51b81526004016107ed9190615683565b5050505050505050505050565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146142f2576040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa1580156142c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142ed9190615870565b6142fe565b816001600160a01b0316315b9392505050565b80158061437f5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015614359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437d9190615870565b155b6143ea5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016107ed565b6040516001600160a01b03831660248201526044810182905261095290849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526149f9565b60335460ff16610a405760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107ed565b600054610100900460ff166144bd5760405162461bcd60e51b81526004016107ed9061591e565b6033805460ff19169055565b600054610100900460ff166122c15760405162461bcd60e51b81526004016107ed9061591e565b600054610100900460ff166145175760405162461bcd60e51b81526004016107ed9061591e565b610a4033612c5c565b60405163052f523360e11b81526001600160a01b038084166004830152808616602483015284166044820152606481018290527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690608401600060405180830381600087803b15801561458c57600080fd5b505af1158015612a47573d6000803e3d6000fd5b6040516001600160a01b03831660248201526044810182905261095290849063a9059cbb60e01b90606401614416565b60606133f1826040516020016145e891815260200190565b6040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b906000906146209060026159e4565b61462b90600261574d565b6001600160401b0381111561464257614642614bf1565b6040519080825280601f01601f19166020018201604052801561466c576020820181803683370190505b509050600360fc1b8160008151811061468757614687615696565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106146b6576146b6615696565b60200101906001600160f81b031916908160001a90535060005b84518110156147d7578260048683815181106146ee576146ee615696565b01602001516001600160f81b031916901c60f81c6010811061471257614712615696565b1a60f81b826147228360026159e4565b61472d90600261574d565b8151811061473d5761473d615696565b60200101906001600160f81b031916908160001a9053508285828151811061476757614767615696565b60209101015160f81c600f166010811061478357614783615696565b1a60f81b826147938360026159e4565b61479e90600361574d565b815181106147ae576147ae615696565b60200101906001600160f81b031916908160001a905350806147cf816156c2565b9150506146d0565b509392505050565b6060600060208351601f6147f3919061574d565b6147fd91906159fb565b9050806001600160401b0381111561481757614817614bf1565b604051908082528060200260200182016040528015614840578160200160208202803683370190505b50915060005b818110156148a35760008061485c8360206159e4565b61486790602061574d565b90508086015191508185848151811061488257614882615696565b6020026020010181815250505050808061489b906156c2565b915050614846565b5050919050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101829052819081906000806000878060200190518101906148f89190615c86565b9250925092506000898051906020012060405160200161494491907f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60408051601f1981840301815282825280516020918201206000845290830180835281905260ff8516918301919091526060820186905260808201859052915060019060a0016020604051602081039080840390855afa1580156149ac573d6000803e3d6000fd5b50505060206040510351975050505050858060200190518101906149d09190615cc5565b60a089015260808801526060870152604086015260208501528352909350915092959194509250565b6000614a4e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614ace9092919063ffffffff16565b9050805160001480614a6f575080806020019051810190614a6f9190615a1d565b6109525760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107ed565b606061399a848460008585600080866001600160a01b03168587604051614af59190615731565b60006040518083038185875af1925050503d8060008114614b32576040519150601f19603f3d011682016040523d82523d6000602084013e614b37565b606091505b5091509150614b4887838387614b53565b979650505050505050565b60608315614bc2578251600003614bbb576001600160a01b0385163b614bbb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107ed565b508161399a565b61399a8383815115614bd75781518083602001fd5b8060405162461bcd60e51b81526004016107ed9190615683565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614c2a57614c2a614bf1565b60405290565b60405161012081016001600160401b0381118282101715614c2a57614c2a614bf1565b60405160e081016001600160401b0381118282101715614c2a57614c2a614bf1565b604051601f8201601f191681016001600160401b0381118282101715614c9d57614c9d614bf1565b604052919050565b60006001600160401b03821115614cbe57614cbe614bf1565b5060051b60200190565b6001600160a01b038116811461097a57600080fd5b8035614ce881614cc8565b919050565b801515811461097a57600080fd5b600082601f830112614d0c57600080fd5b81356020614d21614d1c83614ca5565b614c75565b82815260059290921b84018101918181019086841115614d4057600080fd5b8286015b84811015614d64578035614d5781614ced565b8352918301918301614d44565b509695505050505050565b60008060408385031215614d8257600080fd5b82356001600160401b0380821115614d9957600080fd5b818501915085601f830112614dad57600080fd5b81356020614dbd614d1c83614ca5565b82815260059290921b84018101918181019089841115614ddc57600080fd5b948201945b83861015614e03578535614df481614cc8565b82529482019490820190614de1565b96505086013592505080821115614e1957600080fd5b50614e2685828601614cfb565b9150509250929050565b60006001600160401b03821115614e4957614e49614bf1565b50601f01601f191660200190565b600082601f830112614e6857600080fd5b8135614e76614d1c82614e30565b818152846020838601011115614e8b57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101608284031215614ebb57600080fd5b614ec3614c07565b9050614ece82614cdd565b8152614edc60208301614cdd565b6020820152614eed60408301614cdd565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301356001600160401b0380821115614f4057600080fd5b614f4c86838701614e57565b83850152610120925082850135915080821115614f6857600080fd5b614f7486838701614e57565b83850152610140925082850135915080821115614f9057600080fd5b50614f9d85828601614e57565b82840152505092915050565b600060208284031215614fbb57600080fd5b81356001600160401b03811115614fd157600080fd5b61399a84828501614ea8565b60006101208284031215614ff057600080fd5b614ff8614c30565b905061500382614cdd565b815261501160208301614cdd565b602082015261502260408301614cdd565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e08201356001600160401b038082111561506957600080fd5b61507585838601614e57565b60e08401526101009150818401358181111561509057600080fd5b61509c86828701614e57565b8385015250505092915050565b6000602082840312156150bb57600080fd5b81356001600160401b038111156150d157600080fd5b61399a84828501614fdd565b6000806000604084860312156150f257600080fd5b83356001600160401b038082111561510957600080fd5b90850190610160828803121561511e57600080fd5b9093506020850135908082111561513457600080fd5b818601915086601f83011261514857600080fd5b81358181111561515757600080fd5b87602082850101111561516957600080fd5b6020830194508093505050509250925092565b80356001600160e01b031981168114614ce857600080fd5b6000602082840312156151a657600080fd5b6142fe8261517c565b6000602082840312156151c157600080fd5b81356142fe81614cc8565b6000602082840312156151de57600080fd5b5035919050565b600060a082840312156151f757600080fd5b60405160a081016001600160401b03828210818311171561521a5761521a614bf1565b816040528293508435915061522e82614cc8565b818352602085013560208401526040850135604084015260608501356060840152608085013591508082111561526357600080fd5b5061527085828601614e57565b6080830152505092915050565b600082601f83011261528e57600080fd5b8135602061529e614d1c83614ca5565b82815260059290921b840181019181810190868411156152bd57600080fd5b8286015b84811015614d645780356001600160401b038111156152e05760008081fd5b6152ee8986838b0101614fdd565b8452509183019183016152c1565b6000806040838503121561530f57600080fd5b82356001600160401b038082111561532657600080fd5b818501915085601f83011261533a57600080fd5b8135602061534a614d1c83614ca5565b82815260059290921b8401810191818101908984111561536957600080fd5b8286015b848110156153a1578035868111156153855760008081fd5b6153938c86838b01016151e5565b84525091830191830161536d565b50965050860135925050808211156153b857600080fd5b50614e268582860161527d565b6000602082840312156153d757600080fd5b81356001600160401b038111156153ed57600080fd5b61399a848285016151e5565b60006020828403121561540b57600080fd5b81356001600160401b038082111561542257600080fd5b9083019060e0828603121561543657600080fd5b61543e614c53565b8235815261544e60208401614cdd565b602082015261545f60408401614cdd565b6040820152606083013560608201526080830135608082015260a08301358281111561548a57600080fd5b61549687828601614e57565b60a08301525060c0830135828111156154ae57600080fd5b6154ba87828601614e57565b60c08301525095945050505050565b60008083601f8401126154db57600080fd5b5081356001600160401b038111156154f257600080fd5b6020830191508360208260051b850101111561550d57600080fd5b9250929050565b6000806000806040858703121561552a57600080fd5b84356001600160401b038082111561554157600080fd5b61554d888389016154c9565b9096509450602087013591508082111561556657600080fd5b50615573878288016154c9565b95989497509550505050565b6000806040838503121561559257600080fd5b50508035926020909101359150565b600080604083850312156155b457600080fd5b82356001600160401b03808211156155cb57600080fd5b818501915085601f8301126155df57600080fd5b813560206155ef614d1c83614ca5565b82815260059290921b8401810191818101908984111561560e57600080fd5b948201945b83861015614e03576156248661517c565b82529482019490820190615613565b60005b8381101561564e578181015183820152602001615636565b50506000910152565b6000815180845261566f816020860160208601615633565b601f01601f19169290920160200192915050565b6020815260006142fe6020830184615657565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016156d4576156d46156ac565b5060010190565b60006133f13683614ea8565b818103818111156133f1576133f16156ac565b805160208201516001600160e01b031980821692919060048310156157295780818460040360031b1b83161693505b505050919050565b60008251615743818460208701615633565b9190910192915050565b808201808211156133f1576133f16156ac565b6001600160a01b03888116825287811660208301528681166040830152851660608201526080810184905260a0810183905260e060c082018190526000906157aa90830184615657565b9998505050505050505050565b600081518084526020808501945080840160005b838110156157e7578151875295820195908201906001016157cb565b509495945050505050565b6001600160a01b03898116825288811660208301528781166040830152606082018790528516608082015260a0810184905260c0810183905261010060e08201819052600090615844838201856157b7565b9b9a5050505050505050505050565b60006020828403121561586557600080fd5b81516142fe81614cc8565b60006020828403121561588257600080fd5b5051919050565b600061012060018060a01b03808d168452808c166020850152808b166040850152508860608401528760808401528660a08401528560c08401528060e08401526158d581840186615657565b90508281036101008401526158ea81856157b7565b9c9b505050505050505050505050565b6001600160e01b031984168152818360048301376000910160040190815292915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60018060a01b0385168152836020820152826040820152608060608201526000613ece60808301846157b7565b6001600160a01b038781168252868116602083015285166040820152606081018490526080810183905260c060a082018190526000906159d8908301846157b7565b98975050505050505050565b80820281158282048414176133f1576133f16156ac565b600082615a1857634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215615a2f57600080fd5b81516142fe81614ced565b60008351615a4c818460208801615633565b6508ae4e4dee4560d31b9083019081528351615a6f816006840160208801615633565b602960f81b60069290910191820152600701949350505050565b60008351615a9b818460208801615633565b650a0c2dcd2c6560d31b9083019081528351615a6f816006840160208801615633565b60008351615ad0818460208801615633565b670aadcd6dcdeeedc560c31b9083019081528351615af5816008840160208801615633565b602960f81b60089290910191820152600901949350505050565b80516020808301519190811015615b30576000198160200360031b1b821691505b50919050565b600082601f830112615b4757600080fd5b8151615b55614d1c82614e30565b818152846020838601011115615b6a57600080fd5b61399a826020830160208701615633565b60008060008060808587031215615b9157600080fd5b8451615b9c81614cc8565b60208601519094506001600160401b0380821115615bb957600080fd5b615bc588838901615b36565b94506040870151915080821115615bdb57600080fd5b50615be887828801615b36565b606096909601519497939650505050565b600060208284031215615c0b57600080fd5b81516001600160401b03811115615c2157600080fd5b61399a84828501615b36565b60008060408385031215615c4057600080fd5b82516001600160401b0380821115615c5757600080fd5b615c6386838701615b36565b93506020850151915080821115615c7957600080fd5b50614e2685828601615b36565b600080600060608486031215615c9b57600080fd5b8351925060208401519150604084015160ff81168114615cba57600080fd5b809150509250925092565b600080600080600080600080610100898b031215615ce257600080fd5b885197506020890151615cf481614cc8565b60408a015160608b015160808c015160a08d015160c08e015160e0909e01519c9f949e50929c919b909a50919850965094509250505056fea26469706673582212203e8be36b2869df4619bb105618305e70b502de8d496dc330c44a380a3914672e64736f6c6343000813003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e036d6d7694f04243d7564a2aee4b6f4f522947281c3b66b3a61c07ff98600701195d6205581e031c7079a439afd72c1a346d3c43fe174e18605a5515c5afbd1e462f6c00040105581e0354633a3532c7b4034f57caaccba14ef2aa37fbf94dec371051200a9c300c0b4702eb971f0db65203edf3ea693f229467c02e088ebf3d8e4f1849a167273baa95d588a1274b20db5e031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0390e6eb1335be3c17dafe7b3757af9aa26b8089df11a4611d3eb973b2f007011bffffffffffffffff021933b30351ff0c8cd5573247e4f84fbc5dbd5e565cdd88837ca47b9d4208dfc3c20ec1fc030f17e1883bef9a51ca052c2e1e9da20d112a28805138cc20391759eee864ff4603d381266a797001ef0f7ab49df29d3814877a9784b077c061e22dc59cdaef446503f663e333a9c9fef9d2674423c840a9b3e28e176e4b2b8fda427a0eee26744fc4038250fac86da79b8810fd93271e589710207b05b81f5581d30e6d79ea198c8d6503864a5e6bb74ee2301f6fdc7984bbcfc02cde1599426ce2fba76be18b056371ce03202facbdc13ab7fccb3accfd8bcb6e1cd84730b8b4c07cb67ac13737a79a24c803e3b0333d9cb8ef3deac591bf1918c8ae1e6644c3cad5db8b1c122f547fde74880300737225243d9ca8c9be400fd4e36c545ea6d9e8cc206b0aa46be8d0fde3ce62038e5c25bf456f5127abaa909eab03a27ec66516e1ce2b5730e0242bd6e76f45a103991ad3fbc7c8d8b2984429557939fa4e2d28871e8d362e157a3d7aa9fa9288af0219ffff03046e8cc188cfd3599f61166976f111eb81e400b828289dcc547ec21ba284dfd103f287ecd7db07bc4ad9e52390c2e1804456b1d80b6e9c99c76d4bad77ec3715740379030e5fb1a5b4d235ef7e420832cd1796b721339c65c2e4e65065a980926a6c03d7ba3c294f7cdc6753ae6218eabdc4002e3d556f2d6e629a32b5b075027656e303656fa16a39bbba8f0d22bf8d3fc108fdfdb782c973821d0ad4152897e200c26303d98e7a6863f6346d0c5c41f8f301968b82364c889922ca641ce8c9b34ce2411303f559fc1dc5b42924138c286da8b783db4eae69e76743fb76976fe34fb9a1b8d70313565d23ec80c3a44d3775d4f3bb0cee2a2c6ba271e27d0116d8ce3a1591e9d3030e99715f5bfed784acce5807b81a4fbecaf167ff8ec9b8ee58b3fbf273f8b9a60360248958f2c1a1f835ba5acc8fa4d3883bf7a4c292e5147d6e59e08bbb4584ef03796c232cd70c1dd1d08cad3d9372452eab5e3302a8177937a085757d4a901d4403f06e1791d67ca76af1591a8792c0a72e7e233d6f120fd0bb08428f9aae35b8860219ffff0366dc6bddf437784acc17b2362cef76acdcd6b03c591973911e23f0265bd83dd103c2d380d4db1e3c541d1a30a3106ecadcee9576de4783e0e40c58ff1eca00a5f9030d12a9dcf3f20472f13888f53dbc2b8979617bea9d51371a35a5fc773baedb2203817e5b8230f133d2ca64ac122b6c394415da0fecc2666b93b667c8e227c3a25e03fc1f6f657f21bfb8f77b3c47a8219ebac6ce71c9e771660706d7d95a13b5c46803687213b830ad7fdac30183070277e7af71b4a4bb7d59604c081c73d555a1b2a703eaa9399378aa1b9c4aa28859a3d944da6fe18197b71d9a527cf569f77053dd540219ffff030ef992a2016f9c6804f4535847808f9954284f5e7f7db806c2611ede3d7eca3a0363e7cda84d419b96ee07de2fe8c339f563cbdcc6959c0b7662f8d1622e88c80f0378f361f73eaef9f1a7ef489ebce3a37c108b9177383db70719aa19be8343ca7f0219ffff035c6fe933009c3c3ebf19969dfe1d883c5ee0c50285a07043891e342c1dfef689038fa11f3668524ca486c669b193a2b90353b4647f9b790b485666d4b89997035f036bb9e242db94b4289832a5b6d13db41a045f54030322f45e67df114a38f2262c03f8781eae6f80446f92ee0c843a4455c0b1d41ecbf752b0e048d2c30e95ae41f00334d83fee031394c2cf6f4ecc0a77530aa6a8d26cf7bb555c2ae54d6ce25c4ded0352e63010d1ec72f1c2442473372a6f0c0e2e5e4f333130b6ad73dc71b8dbc708037a29334ab777ae667662b4dc46262619a54358edd07d652ffe39d7c1d0ec69c003a7f4c67c41dff3dcf945b9126edfdb44f4b99b173beb2e9cc973c9c777d0dad5039e16a198c78a98fa3f3c0dad4da3917a12a5c64e7ff466a18a2a49d28bb87188032985301790b659546cadd523d769f7a8574574cf8345e22433f75d4c70d25cd10378e1fd8b6c6dcc97b06d0ea58f509baf826b9a9e5a8a289618e1b7cf1676ca2e035d936245c8d70d1ce1f228b41b40139fbee4947d7bdc0645c726823568c9e4bf032dd9ce126ca3fe7b7f9e4571abe70ae11132f13a274e9fabab6cf1aef69865e50333d33beb4b0966cee34b9c225c3a221e97e7116a0b43e20121e4ad33e83ed20903bfa937d45ed23724305738821a26c43eeb46d6560de0fa062a31a4284bf4eb6203e769850c81cc3b5038dede4bad296f04a9d700e145948b054ae56802d047076303acb7279b307f39b320133e1c58009d63b64c98570141a087828278b5e2aa93450370baa97f950085176d9559603f6c984651f2c8b1459c99289c4a45f8b97f1b61034bf1c09a05378d8fd25489aecf83b850efb0230234f04386a89631559f8ecaba039f26232cda81f84030ac25d7bb40926e5e52ddae21e0462aab66c51b8933d42f05581e03cb9c58da5ef0bd19fb737594609a5052330bbeea6781174fdda8131ae00403036b6daac33599c75a48119930260409eba7d6f2cefaf3a98d8341fe776704281d03e01a21ccfa66cea49d5bdaf0b85e617cfc79a0984b343e645078ac7f1ff1e6f905581d02468c7168e484f2ac6f29483d4291c5b5483737658f37e6911b5a815007011bffffffffffffffff05581d02cfe2434d4d92be8336f6c8dab6376b0eee376d26679a59a3706136810c024648c27395000005581d0306105c6cd1c4dc3f593778031eee8cb58464ede830bdc181342802f00c181847571669e259ac8605581d03065d0bcda60d2cd725c97cd016aac01677f3e48676175ca67dbbbb50040f021902020307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581d02b2aa546821e4fa82d928bc1b868be939852881191903f78755fe9a2907011bffffffffffffffff02192c8005581e033d8288184fa344ff3693952d45938f7015267480b6952f9cf66c75a6b00c014701da83e1fc8383031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e037c1e5f75f6a9895fc88be65b74060fbe1fe953898109728b71c272e38007011bffffffffffffffff05581e031f25f1d7e4305876761923c6319860f65a51b929dbb0eadba43017d5500c01472f72305f1a63ab03ea8ff192c6a50119100ee3339fba7a7a8260e20566eb2dd32f71299166ab7f3a05581e0383ecc5d3bba0193e06eabc3a91e2cad056ea6349a2ffcac14b632de24004010312252586f125563819ac1a78b2b4f1a912dc79a78301179fb99eb57cd5c026da05581e03b0a1b62941bb7dc4ad0a687462eea9e7bf79cc69612a0828fa020d05600c0147099ae44585980003566b14d035bf44f7693584dd1347bd6643348d183273f2410994157bc812ee0c05581e03ed155dcf15f624ceac7a063fce2cbd3deb145bca9192d0142d006c2b7004184405581e03fe58de68d4d89e42a24e2bd6da0040bba195aa1aa357af371bda0e5de00c0246abbc3f0cba000219fd5e03adf1a4cca7fb3de50aa82af93438400287476e0fd7ae4e0e87e114ed9ba4297f030ab4693e881439bd6f3fdec84c767fb6a8f6361bc3f2ad03ad54aa952fa38a7f032719efceff65827827a333a5d07a11684eeb653631827c5a6476b1192f0e1dec03f27410e59256517082c4aa7ceaffa3a822c5468a9d64a35fc4db75677b56c8c9037ba4c95db0b4a5cf60ea375db1e2217cdf80f323f5afd5d6118e0388efa4c0aa03d26697a8cede4fc28d2d5370efbc1d7315c34c393ae81b234ddd5dd618f74baf032eb4ece6f0c47e01b23886ebc973aa9a05bd8d6b8ca3a78178be3887ffb5583303ce16d0abc7af5a6b609f52d3c6eceabd789560284efc279341e8f79e94d0042703fdd77b896ff08ab40a7810cb3eb83f4978baa583b53349cbdc14b32b564370cd0346ffc3ab4bb019d383b75f9ca6f59de92472b071835d64b466d852d2e1ca36550219ffff03d404ebf3f1b3c4828cebd5914939c5cc8086bb6d0bf97ba7881aff79d2aa04bf0330f652ffe67c0b70c76c25d3112e7654a59b0edbacd9c01f3b86fa87fd170eb2035602193ab6fc97eac4c7d166a8995310d3cd13fb4c1bb17060a361620262c70c03f2286e3d4f22d9323715f4493a7448e7abc038be9c1c4bf214b601c54a77521303130d96567dbebdda9f00fd82b02531a8cde2a2018def984680385599ec4623a403b7132e9ea31c407ce7e0571a8372fdfa69e5f603ffe99a0c26f5e63e5393500303bd0d6769e00f250c44f7697a460e36e587371ced91eb5fbf9d22124340886d2a03583e0430fc9d7840289c45bbfa19b08b23fcaad1bf5addac8714d7cfdb4c671a03f0067077cbac1e228990bcb7b666e9f8a3371ff2f7045acf1f24afa1a3db9456031ad69cef653b337c32da58da6337a380eed6a8d4fd40b7e0f454b65daae1348103751f4259a41d0f2b397d7ed96dc7d307b09b456baf90943f2713d4ba1f02d61f037362427746b577cd9b5c463f6a273d8b0e600aec10aaa0d1aa37079f80bb8fd90219ffff039e170e63ff365a87ed0f640799cf23164ca82def802d3aeef62a2424555d1f3703955f5f9c52b5840081b97ad14d61c450f73bf4acc58ad4c8f9c246393708036f03b2f20e1f8ebe915064910e1dd8aeaa8ab855481ac6440eb7cd24af583b47259e03cdb15ae4fb92c7805d39f9e363910cae2fe721b1d5db45a2f8a1e4aad3314481032c8d91ee4a75080285dfca8b485b6a7978ac19b91ab839943d6be78af785333b0219ffff036dac8e6169ea7ab7b1744f3a932bfb21e36006b1ef188bdff8f0e2f2debb76a103b217199c2aaa3ca959be8f486a410eee25e7893b4232f296fc1a094bec8061e303882373adfaea19888e09e21e11ea6836f9510a1a9224c562b496539d530c7f410305c15ac925a832eb52c90a0e07d38413a5ea1bafbeebc0469357b92e925eb7c403e91863d32bc9f2aa9a4742c575a8ffc666e88204194d5953f92bf45d9444596b032d4578ba09cb9249cf233386b490bb2d9b0f17ab2361d4674040f263cd54b7620371cfb3572b4f3fbc67f597c1a98d8f2ec6e55b001ac52f3f94dc5c35fd29cb0003e2c195e9d53d989128d4a1a9e2db92e34b284986669b1dbb6bfc0241ae82ba1503a30f692555e21e4f54fb21748e36c035c7b44a54862f1029c65bbb3e482cad5e03f81b5e29eef76b2b10ac8ae3097b1046b83737163014a2ae80c86898e8c5d3ea0301484411ca7639680b86dea355be55bea7edef7efa56de3ddec8c69b8142794c03c2c86b55fdf9cb087d2dbc7dc7bff9e49a343f47d22225959c1b920f209940a1035d6883f6b0b55a2744ab77e67e49b57f3475c0fe8dcd0c9cd1d1a791b6a9eee0039e752f44033220b51337531ec390728cbe237488f768f60a47c77897044cb57b031e10c3a433b0cf9fb5f9a496bb7d8d44c9073c0b753407325641591e1eee290e037b4ccd7a039c150f2db340015503a5acbfc3255f94af7568f649023c1d36d6f103edc90af117ad129f7d6531f6cd5b371b44a9097add69e323ab8e51e9474a720803f9b43c636dac996634be11c5389fc2ccc45d932414a339d3e514f3f49ecaed80035045afaf864eebfc19b2bd4e51695df220ec4ebcbecbad95a44c6fc5396d7047031093717cc3af044f97ea9868631924d717e8d190bceaaedbe4a755709dfd6afe03193ea8185172fa1a28c805c4784201cd47f919967129fea1e47701303093d27903ba91ef550b70f2adeed01969b14c66266ce7ddd63588a40f3d104dfdfe6e6a3a03e0ec4f9cc8f2a72f9d91956688a6d2ffd265dc1e1e03e073a36a7ba7ecc1a63203c91ae9d06030f2c38594b7a197542c0a1a9d050f2d0f809cc9b45d21d65179d303c9bc3fd72be33877d15555e6cff143cf0a49759f7d4d25aed39ebdd7abc9eeff03268ac9b9ab001dae210e43af5034269a61b8fa8c6b14517970ff87859ca421a9031b437ab23a7abdfb59a35600f53620e532e1fb5ff9d38fc20f32892d37e02a0e03dab33ac5fa76235fecccbf26a2d50ce2d44a49e2ec9bbf83c90cce659631020f038a4d9b784a9ac1473eb5d07b870f6b54791e6401ba46fced023204aa4f2a7e5e035b51a38599b63dffffbb433d6406e500c68733d0e45c91d5776a6907ec78aa880358bc4c9d93096ad5646cc858835648574e99703d2a71bee4f07ced2dd9aa261103d3f3ef22a9a66f570cc4405f315c0190cdca8a0f92091e1701e16af81019d36403069ab29a8021fda61c5791a1c8e32ce39885c580c7a2d8101a6c24140938a3c803c239ac54afe8d3d6e1ebf945900806131f049dc5dc34463df62cabdde7d7a2b603e9914a7ded6bb075d32e3ba99f53ad4fcca8ce05c8acce1ad6015d98fe4dec1d03a1ad4b79854064a08f50907c4cb4d16f486aaebc032ad53d590a40605a8498380315eb0a6b2983ec9bb90e131db57f272ae986cfa401b965aaacf6cc1fe552f247031e6bb91e726f360242a8970eacce2f6cc27210f84283c74c91cc07226b85f64f03fbb9f60c116e8cc0f414acd5d51a71818bc7f4fe2cd8fea39e1c8b1a942d289d03c89c00850e54d67071ce0bf669c282f80b82d33e52afb4d6248fdeed47d7cf3b03a3e43a6df3ba3e5e0c36448121e3fa20855658da2c2170d04d0b8899b5243e420321afc12a8e6c67d0efad7ee2b9d41a8e1ed4ff6565b78dbd3678cb3fd05214750335da8df9edc0f39ea909a68c3c0c75f30f28a285e0d50bba54844304379040b20399497df96e34d0ce115c75d38ea9d06d0b4d2e19fb76b949c18661537ce47f83034fa6b2de4777fa75cd0a12ace1ae45e75f12004d7f9e77506c9529c1eb94e6a603edb9ecc61e86ba9a379eef59d983d0c2769e40cf52db212e181a9089fff6f5210605581e03af2b93d8412a00464b19f5d475dcdf8c97d28e2eb733442acf56f960b007011bffffffffffffffff05581e0339e82144138347bff0dd0c068c16f000d8e1d96dd2301b74e3426552700c01460b9fac64e90003707deab5b4120518ff148c5b38ceb69bfc410bb0996183d5acb7bf77f2ef8bae05581e0306297ee94265e9f895cd74e948b139799e74412090fd5ab7b76bf223100c0445800e8dfc0003e53953731c1b879fac8acca148b3cf1afa9904fed64f07a9e8c75262be5c97420605581e036d11c3e7f4859382ce1c7339a29347002d6768aa0f32b4dba9f87ec93007011bffffffffffffffff05581e03fca3e08fb937dd7e4817eeb36b8a35bc54522a7d7f511e585f79b1e1600c024701f3fd1ce31c00031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e032fb4d95407cccc33a03c7d1dbba55f3180d406920cb19ca6258cc6eb0007011bffffffffffffffff05581e0372a02a5c311eff6d59d8a3247415115514a62341590949278b34295a700c186f478b60909db1980003e48e626f77c2b71442dd4507dab52eff69ecfd2ee8f4691ef8ab12cd7810b8d205581d023c35714c430ee8ac8ee35a763bea4a898604f2dbcfc5dc5478ef0ebb0c014705ae4832fef00003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03e9c383a7d2a0d741b134f642b5fb5229a8e94ebe8cd13b4e2cd99e8844529f5a05581d020b24b4aa21d74136246f6314454736fd017830e98c862fa18f9c619607011bffffffffffffffff05581d029a55480083a55e047c646620b5ee9d2d719cac1fc882e8fc311f70ac0c01470195e79a5056b804591ab460806040526004361061008a5760003560e01c8063902340a111610059578063902340a114610183578063a3aae136146101a9578063b79c64f8146101c9578063e5d098e0146101eb578063f4f3b2001461020b576100c6565b80630b10b201146100eb5780632b8e227d14610102578063485cc955146101225780636b96736b14610142576100c6565b366100c65760405134815233907fbfe611b001dfcd411432f7bf0d79b82b4b2ee81511edac123a3403c357fb972a9060200160405180910390a2005b3480156100d257600080fd5b5060405162393b6d60e11b815260040160405180910390fd5b3480156100f757600080fd5b5061010061022b565b005b34801561010e57600080fd5b5061010061011d36600461146e565b610408565b34801561012e57600080fd5b5061010061013d3660046114fe565b6108a0565b34801561014e57600080fd5b506101666f219ab540356cbb839cbe05303d7705fa81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561018f57600080fd5b50600054610166906201000090046001600160a01b031681565b3480156101b557600080fd5b50600254610166906001600160a01b031681565b3480156101d557600080fd5b506101de610a07565b60405161017a9190611587565b3480156101f757600080fd5b50600154610166906001600160a01b031681565b34801561021757600080fd5b506101006102263660046115a1565b610a4d565b6000546040516312d9a6ad60e01b81527f4ff52032f36e32ac782042a01802e20394d4255c84a3c046490be98ab632691b60048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561029b57600080fd5b505afa1580156102af573d6000803e3d6000fd5b50506002546001600160a01b03161591506102df905057604051631d67874f60e11b815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b03166384d810626040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561032f57600080fd5b505af1158015610343573d6000803e3d6000fd5b505060015460405163a38406a360e01b81523060048201526001600160a01b03909116925063a38406a39150602401602060405180830381865afa15801561038f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b391906115be565b600280546001600160a01b0319166001600160a01b039290921691821790556040519081527f651d255d6325a0e4d1ff00e7f971fa4ce4cd9d3d43f3be930670471ed88bf8519060200160405180910390a150565b6000546040516312d9a6ad60e01b81527f902cbe3a02736af9827fb6a90bada39e955c0941e08f0c63b3a662a7b17a4e2b60048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561047857600080fd5b505afa15801561048c573d6000803e3d6000fd5b505050600084900390506104b357604051631ec5a9df60e01b815260040160405180910390fd5b600060029054906101000a90046001600160a01b03166001600160a01b031663d19a85026040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610508573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061052c91906115db565b1561054a5760405163e014c4ff60e01b815260040160405180910390fd5b6f219ab540356cbb839cbe05303d7705fa6001600160a01b031663c5f2892f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105bc91906115fd565b82146105db5760405163511fc76360e01b815260040160405180910390fd5b6105ee6801bc16d674ec8000008461162c565b47101561060e57604051635dd9055760e11b815260040160405180910390fd5b6002546001600160a01b03166106375760405163c3edd79360e01b815260040160405180910390fd5b60008060029054906101000a90046001600160a01b03166001600160a01b0316639ffaaa3b6040518163ffffffff1660e01b81526004016020604051808303816000875af115801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b191906115be565b6001600160a01b031663c395350286866040518363ffffffff1660e01b81526004016106de929190611674565b6000604051808303816000875af11580156106fd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261072591908101906117e4565b90506000610731610a07565b905060005b825181101561085e576000610790848381518110610756576107566118f5565b60200260200101516000015184868581518110610775576107756118f5565b6020026020010151602001516801bc16d674ec800000610b77565b90506f219ab540356cbb839cbe05303d7705fa6001600160a01b031663228951186801bc16d674ec8000008685815181106107cd576107cd6118f5565b602002602001015160000151868887815181106107ec576107ec6118f5565b602002602001015160200151866040518663ffffffff1660e01b8152600401610818949392919061190b565b6000604051808303818588803b15801561083157600080fd5b505af1158015610845573d6000803e3d6000fd5b505050505050808061085690611956565b915050610736565b507fffb1367626264d9733e4dcd7f14cd59fc3a2c15d50d1a41f1ee60c96f77a01dd8686604051610890929190611674565b60405180910390a1505050505050565b600054610100900460ff16158080156108c05750600054600160ff909116105b806108da5750303b1580156108da575060005460ff166001145b6109425760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610965576000805461ff0019166101001790555b8261096f81610ecf565b8261097981610ecf565b50506000805462010000600160b01b031916620100006001600160a01b038681169190910291909117909155600180546001600160a01b0319169184169190911790558015610a02576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60025460408051600160f81b6020820152600060218201526bffffffffffffffffffffffff19606093841b16602c82015201604051602081830303815290604052905090565b6000546040516312d9a6ad60e01b81527f4ff52032f36e32ac782042a01802e20394d4255c84a3c046490be98ab632691b60048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610abd57600080fd5b505afa158015610ad1573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092506001600160a01b03851691506370a0823190602401602060405180830381865afa158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4091906115fd565b905080600003610b6357604051637dd28aa760e11b815260040160405180910390fd5b610a026001600160a01b0384163383610ef9565b600080610b88633b9aca008461196f565b90506000610b9582610f4b565b90506000600288600060801b604051602001610bb2929190611991565b60408051601f1981840301815290829052610bcc916119c9565b602060405180830381855afa158015610be9573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610c0c91906115fd565b90506000600280610c1f898460406110ff565b604051602001610c2f91906119c9565b60408051601f1981840301815290829052610c49916119c9565b602060405180830381855afa158015610c66573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610c8991906115fd565b6002610c988a604060206110ff565b604051610cab91906000906020016119e5565b60408051601f1981840301815290829052610cc5916119c9565b602060405180830381855afa158015610ce2573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610d0591906115fd565b60408051602081019390935282015260600160408051601f1981840301815290829052610d31916119c9565b602060405180830381855afa158015610d4e573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610d7191906115fd565b9050600280838a604051602001610d89929190611a07565b60408051601f1981840301815290829052610da3916119c9565b602060405180830381855afa158015610dc0573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610de391906115fd565b604051600290610dfc9087906000908790602001611a2d565b60408051601f1981840301815290829052610e16916119c9565b602060405180830381855afa158015610e33573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610e5691906115fd565b60408051602081019390935282015260600160408051601f1981840301815290829052610e82916119c9565b602060405180830381855afa158015610e9f573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610ec291906115fd565b9998505050505050505050565b6001600160a01b038116610ef657604051631e7d738760e21b815260040160405180910390fd5b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610a0290849061120c565b60408051600880825281830190925260609160208201818036833701905050905060c082901b8060071a60f81b82600081518110610f8b57610f8b6118f5565b60200101906001600160f81b031916908160001a9053508060061a60f81b82600181518110610fbc57610fbc6118f5565b60200101906001600160f81b031916908160001a9053508060051a60f81b82600281518110610fed57610fed6118f5565b60200101906001600160f81b031916908160001a9053508060041a60f81b8260038151811061101e5761101e6118f5565b60200101906001600160f81b031916908160001a9053508060031a60f81b8260048151811061104f5761104f6118f5565b60200101906001600160f81b031916908160001a9053508060021a60f81b82600581518110611080576110806118f5565b60200101906001600160f81b031916908160001a9053508060011a60f81b826006815181106110b1576110b16118f5565b60200101906001600160f81b031916908160001a9053508060001a60f81b826007815181106110e2576110e26118f5565b60200101906001600160f81b031916908160001a90535050919050565b60608161110d81601f611a65565b101561114c5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b6044820152606401610939565b6111568284611a65565b8451101561119a5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b6044820152606401610939565b6060821580156111b95760405191506000825260208201604052611203565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156111f25780518352602092830192016111da565b5050858452601f01601f1916604052505b50949350505050565b6000611261826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166112de9092919063ffffffff16565b805190915015610a02578080602001905181019061127f91906115db565b610a025760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610939565b60606112ed84846000856112f5565b949350505050565b6060824710156113565760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610939565b600080866001600160a01b0316858760405161137291906119c9565b60006040518083038185875af1925050503d80600081146113af576040519150601f19603f3d011682016040523d82523d6000602084013e6113b4565b606091505b50915091506113c5878383876113d0565b979650505050505050565b6060831561143f578251600003611438576001600160a01b0385163b6114385760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610939565b50816112ed565b6112ed83838151156114545781518083602001fd5b8060405162461bcd60e51b81526004016109399190611587565b60008060006040848603121561148357600080fd5b833567ffffffffffffffff8082111561149b57600080fd5b818601915086601f8301126114af57600080fd5b8135818111156114be57600080fd5b8760208260051b85010111156114d357600080fd5b6020928301989097509590910135949350505050565b6001600160a01b0381168114610ef657600080fd5b6000806040838503121561151157600080fd5b823561151c816114e9565b9150602083013561152c816114e9565b809150509250929050565b60005b8381101561155257818101518382015260200161153a565b50506000910152565b60008151808452611573816020860160208601611537565b601f01601f19169290920160200192915050565b60208152600061159a602083018461155b565b9392505050565b6000602082840312156115b357600080fd5b813561159a816114e9565b6000602082840312156115d057600080fd5b815161159a816114e9565b6000602082840312156115ed57600080fd5b8151801515811461159a57600080fd5b60006020828403121561160f57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561164657611646611616565b500290565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60208082528181018390526000906040600585901b8401810190840186845b8781101561170357868403603f190183528135368a9003601e190181126116b957600080fd5b8901858101903567ffffffffffffffff8111156116d557600080fd5b8036038213156116e457600080fd5b6116ef86828461164b565b955050509184019190840190600101611693565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561174957611749611710565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561177857611778611710565b604052919050565b600082601f83011261179157600080fd5b815167ffffffffffffffff8111156117ab576117ab611710565b6117be601f8201601f191660200161174f565b8181528460208386010111156117d357600080fd5b6112ed826020830160208701611537565b600060208083850312156117f757600080fd5b825167ffffffffffffffff8082111561180f57600080fd5b818501915085601f83011261182357600080fd5b81518181111561183557611835611710565b8060051b61184485820161174f565b918252838101850191858101908984111561185e57600080fd5b86860192505b83831015610ec25782518581111561187c5760008081fd5b86016040818c03601f19018113156118945760008081fd5b61189c611726565b89830151888111156118ae5760008081fd5b6118bc8e8c83870101611780565b8252509082015190878211156118d25760008081fd5b6118e08d8b84860101611780565b818b0152845250509186019190860190611864565b634e487b7160e01b600052603260045260246000fd5b60808152600061191e608083018761155b565b8281036020840152611930818761155b565b90508281036040840152611944818661155b565b91505082606083015295945050505050565b60006001820161196857611968611616565b5060010190565b60008261198c57634e487b7160e01b600052601260045260246000fd5b500490565b600083516119a3818460208801611537565b6fffffffffffffffffffffffffffffffff19939093169190920190815260100192915050565b600082516119db818460208701611537565b9190910192915050565b600083516119f7818460208801611537565b9190910191825250602001919050565b82815260008251611a1f816020850160208701611537565b919091016020019392505050565b60008451611a3f818460208901611537565b67ffffffffffffffff199490941691909301908152601881019190915260380192915050565b80820180821115611a7857611a78611616565b9291505056fea2646970667358221220ee4a1dc4268c8e82efa7ddbf7f1aabba8aa3eff17e5812dae13e2bc4f0e9912e64736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d026ebd953b3ad1ea258d983e6750a17115370a3371e919c727c728104e0701191ab4021928820219b89f039fbb182a8f7aa72c38ba769bafb2830a3003778003c41bcf7a40d24aa3710c3803189f73beb5ac0b1c0194840756f61d66152689d7d6714cc6868e1091a81b05af0219ffff0311092096dba6a92a0ef31f86e83be3045b520ca0812d311e94860970c84c080e03af3d9f7964b895c84d9d6c50ff3e02c4af408ba7850c481481e525928c3de5200350e6a19acd38d1105c292c952b1239597b445f6a7c1aaa8e0d13aa06f38b0c060219ffff0219ffff0384aa70f2612af3eefdcf06ffa7a74774da9a1026922c56cf18aa9380a59a3f6503da4af28180813503239a73dce4acdc94edb201c4633396423166f85f2c68456603b9ff9acdc905dd8b1e1fa62b6f6e908a12528a94c1c42fbe679a9e7c3c722956031b93aa8082367fdba9f3d364d0284fb14c33929e9bc5823b100b54ff87244f6303f4bb01967d381e2b843e58dabce65ef64a4eca5d890371c99cafa5520fd6ffe90342314841b6624aa6458ed78ca673ff4963c94a1601d410ef3b5931444b9218e9037abd28b2ffb01d01614e15ee2e5ad0011a8b9643c63fca13d248802b085e991703d1fae1fc82b9f872a64fa95a208900badd0c2477b5d3f973517594f24ffdcaa003e50d84ae69e26db8452b6c4ade2233811c550b24a2df91b7e48703de2edef14403346971345d4a1d01ff969e2cec8b6ffb22022264d82a7caff374fe952f2ce42b030708f5a45cf0e4bbb47783403efdb096e1a78ec4047588da86fd5a74a5da98a903775d286971bea4ba8e98edc254e9ddcee527412a0daf987cede2ea5140f7210603f3f489dd464cec142e1aa9d419649a28b66ce5831c0e5801f168f3bfa5f79b310340a26744d17ce8d129648fc2e2ec402ef377d94d20692dec2666497490b55209036066d5f04a46d8563f54e872852784bc3f9306d0eaf9e222c8b4757a9bbb28c8035d3e8f5c6323adc5d3458828279f41fb0b4c84061bf6e1ffb9327e0ce4b96e35037f8d545da9267447ce8e84bdbaec40a6af85e0809a746b498cd36c66363104f503e9979383b522c3f4af5cc2c3a342632db2b6dc6f756df63e135f0556769fb17d0318ee49e63dc4005fb1e9bc33a5fc8666df43549c44fa19d5700539d41272b123032f64fbb25ab93f0149bb81e65aca2919cf4f11e3cb36344788a5650e77dd90d60300f4c1aa183945cae9c3a64dbc9660fe377853608204749a75248d4fbf0ad6ed034ded9639cf67c862b980950d71802c0300f22a2f93a7da4c64a3878b17a4f7c60343e761d9ec557c3f384afcc800d91252ba0fcef55397cab709d864dd8e7da1a303922b2b957b2504f8112b78251b4748313fd15cb4f6715232f94e3e466dbc69920361c00d5f459d0c91e191d03ff2ea218d78150b93652a078c6c315043fda764c503a86850d2b7e9bad33f69b849b48f989f3ffdce9c0dcc5c60da522d572459a1c603fb824d5679f4bea6ecc4098677c7482a5e3bf37e7d84636522c72bf060e193a3030cb8b343e3299eb32c5483827de05b16a3744db4ccad1c442c9fa7f35c098a6803316799c8eb0e11384c152e1e714c513fe9a54e81fa9a93e15f0d5d21eeb625a203763e33a9df56c49bf2690fa677ee0aaf03bf6d2fdfea360fd2f7cded57527071038c40b97ea1f6e418d0cbe75f41a2d0143c3aef415abe3a2a53e2f7e70211106c05581e03a681d4a562a0610d07468e35b55c4a92a6c3e6db888f7f61ffbda1dd800c02472368c0d62000d7031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e038eccd2a2767d8be95ab1d9f7241b2433a8567fe2ca440991b0786d4e6007011bffffffffffffffff039117e9e885a22eef2679e11b9e43738dd13cf863ced96a12346a74ce92349eaf038263b43ec56751b20c6cb894abb510bdec0ed077cea12dc6488a024720aad5b203e8e6c7c74b9ed81f8eb91f33d586a12ba882d6890404a44a265cfe97d8755c7205581e03f7b44a8e5637248dc5c7bbe42da3ed8266abd4806f4626d919150ba7200c084668e5c7189ed805581e034bd7feaea2bac20f4fab93a4c805b5755b8fa28b37fe0aaf6a53f831400c12486fd505ff0466b5c803fa9c93d5ca4d5960fd5eb99478c782f49e4fb69378cf372e292bdd0cb2afad0805581e030d2b92613c89e2423c4f6e7e63d56e5a9a6223ebcfcdb957baf466c8b0040505581e03ca8d2337a468975b8af3903ed82e629dc6e367d5e9e7c5115079a2df300406031111bdcd4f11e72eff8dafd4f5181caf41cd3cef5b16be2db39af875d2a9caf00219b2fe0367891f425f9e5d98f51e93edbfa851c9d12ab83e7e90be221ea21fc6db296b9e039a3457e63cf8bac24cf1e038b53dfb7044a1c672053fa48e11eb6555459dcef30329130cd20c241681df361a2707e964486272c33246a970a7a5539ba0e7991cd703a190b9bc40fed114bb59a6917be3a642b40fba7688ac497243a3fd51d91af43303da52ddd1bf68f58e92ba76687b61aaf6b48739217ee72e3c41d4c6a22c8d8652038923abefb65d30e7d3fc396618ea9957eed6f22bbf9fd2755ae4994e60fc809d034e9d584c45d2e6be5663b584adca9f963308cc0f0b842fd75a593dfe79a62c460330bce0d7c3b992a1663eed7e90d2678076c811c741be43ccc49e0304f08dce4203cc8e95b494c90aa1a38d1a564b48117fcadf67547aa8720731166cdad45ae5a9031eba8e0f45fb0399ff2f58a3866289256c5240ffa375dffbccdeb377c565298503cf5ed2582dea136059094aa68486017a68e3c06ee4d2c3e879a4e0dc6d7a45870219ffff0219ffff03db141f6349bdad54727db924b5eb46e452b15d7be3696e15b6097d2bd85807c703982326111ff13f5a3bb3f34cc414159b01e101325d90cf48cd6426f4fd46a1f903e8332886b7f7f682d0dcce2c9fc41bd456d9056ab04e3145bef157f22acc4ebc0219ffff03c7163e54e674fd3d1afda7195341096dee00f419f3003767774e19503f0fb63003589228bcaaabddb79b0278f87555d58fd42b1d644502d7b1764b7dc6e00b5db50360b05938624b9d9f0ef5f0a668947274e7d8db5b32f21e626ba23baeb2170e3203746457c94c5e090f2898e880219eb3e057722007654509cf1023032f20ebcb7103de0afe54331026d6b41ce1e34ad738f764600774d3135b72f6a75332d30b182603c1d41fa1dfb67a055c5f0a4f105aeeee418e925fc618423abd1868e59a06e37403094e71cdbbeb52e823468fa81a6a6763d54306aa25cec9eb08e9a0d83e21463103f2869707c97ec1223526682cd7b0a78d6962c48baa78647511aa8bb012f9417f030389f1e716b15b359b8f84e3300f036b4aa69561f71cad526f6fd8264771b8ec037370085848970077fd1f32fe6ecfc85bdb9c7c52c0a214c790a994234b5f7b9103b927e082af2973813e39179b571c11b1dd3867b325505c9ea096b6fe2a08f87303647d99b1cd815768bea6925d98bd412f554ddf3dab91fdfad21f31c6e9cff68703cadaabedd1a5170a1589b74764efa788d61915e6f4b4e3f23364d55c08ac109703b75fdc4e968be66c60dfdf2a2add4fbf691a35498a38659b9754a92f7c490ce3035d1ad058035a447af53ba98ac3fabaea6944dffc0e5d07502ed1fc0972ab74db036127c81b1d167f3c783d7572ea518e446fc1f9e6b031801f83f6b4a1d072694604591279608060405234801561001057600080fd5b506004361061014d5760003560e01c806340c10f19116100c3578063a217fddf1161007c578063a217fddf14610300578063a9059cbb14610308578063d505accf1461031b578063d53913931461032e578063d547741f14610343578063dd62ed3e1461035657600080fd5b806340c10f191461027f57806342966c681461029257806370a08231146102a55780637ecebe00146102c557806391d14854146102e557806395d89b41146102f857600080fd5b8063248a9ca311610115578063248a9ca3146101cc5780632f2ff15d146101ef57806330adf81f14610204578063313ce5671461022b5780633644e5151461026457806336568abe1461026c57600080fd5b806301ffc9a71461015257806306fdde031461017a578063095ea7b31461018f57806318160ddd146101a257806323b872dd146101b9575b600080fd5b610165610160366004610e24565b610381565b60405190151581526020015b60405180910390f35b6101826103b8565b6040516101719190610e7e565b61016561019d366004610ecd565b610446565b6101ab60035481565b604051908152602001610171565b6101656101c7366004610ef7565b6104b2565b6101ab6101da366004610f33565b60009081526020819052604090206001015490565b6102026101fd366004610f4c565b610592565b005b6101ab7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6102527f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff9091168152602001610171565b6101ab6105bd565b61020261027a366004610f4c565b610618565b61020261028d366004610ecd565b61069b565b6102026102a0366004610f33565b6106be565b6101ab6102b3366004610f78565b60046020526000908152604090205481565b6101ab6102d3366004610f78565b60066020526000908152604090205481565b6101656102f3366004610f4c565b6106cb565b6101826106f4565b6101ab600081565b610165610316366004610ecd565b610701565b610202610329366004610f93565b610767565b6101ab6a4d494e5445525f524f4c4560a81b81565b610202610351366004610f4c565b6109b8565b6101ab610364366004611006565b600560209081526000928352604080842090915290825290205481565b60006001600160e01b03198216637965db0b60e01b14806103b257506301ffc9a760e01b6001600160e01b03198316145b92915050565b600180546103c590611030565b80601f01602080910402602001604051908101604052809291908181526020018280546103f190611030565b801561043e5780601f106104135761010080835404028352916020019161043e565b820191906000526020600020905b81548152906001019060200180831161042157829003601f168201915b505050505081565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104a19086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019811461050e576104e98382611081565b6001600160a01b03861660009081526005602090815260408083203384529091529020555b6001600160a01b03851660009081526004602052604081208054859290610536908490611081565b90915550506001600160a01b03808516600081815260046020526040908190208054870190555190918716906000805160206112248339815191529061057f9087815260200190565b60405180910390a3506001949350505050565b6000828152602081905260409020600101546105ae81336109de565b6105b88383610a42565b505050565b60007f000000000000000000000000000000000000000000000000000000000000000146146105f3576105ee610ac6565b905090565b507f0cc080a98373cfc8d8d2ee93708d158c7bf50a4f8541b39b84836f004785001390565b6001600160a01b038116331461068d5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6106978282610b60565b5050565b6a4d494e5445525f524f4c4560a81b6106b481336109de565b6105b88383610bc5565b6106c83382610c1f565b50565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600280546103c590611030565b33600090815260046020526040812080548391908390610722908490611081565b90915550506001600160a01b03831660008181526004602052604090819020805485019055513390600080516020611224833981519152906104a19086815260200190565b428410156107b75760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610684565b60006107c16105bd565b6001600160a01b0389811660008181526006602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938c166060840152608083018b905260a083019390935260c08083018a90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa1580156108da573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906109105750886001600160a01b0316816001600160a01b0316145b61094d5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610684565b6001600160a01b0390811660009081526005602090815260408083208b8516808552908352928190208a905551898152919350918a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6000828152602081905260409020600101546109d481336109de565b6105b88383610b60565b6109e882826106cb565b61069757610a00816001600160a01b03166014610c81565b610a0b836020610c81565b604051602001610a1c929190611098565b60408051601f198184030181529082905262461bcd60e51b825261068491600401610e7e565b610a4c82826106cb565b610697576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055610a823390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6001604051610af8919061110d565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b610b6a82826106cb565b15610697576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b8060036000828254610bd791906111a9565b90915550506001600160a01b03821660008181526004602090815260408083208054860190555184815260008051602061122483398151915291015b60405180910390a35050565b6001600160a01b03821660009081526004602052604081208054839290610c47908490611081565b90915550506003805482900390556040518181526000906001600160a01b0384169060008051602061122483398151915290602001610c13565b60606000610c908360026111c1565b610c9b9060026111a9565b67ffffffffffffffff811115610cb357610cb36111e0565b6040519080825280601f01601f191660200182016040528015610cdd576020820181803683370190505b509050600360fc1b81600081518110610cf857610cf86111f6565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610d2757610d276111f6565b60200101906001600160f81b031916908160001a9053506000610d4b8460026111c1565b610d569060016111a9565b90505b6001811115610dce576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110610d8a57610d8a6111f6565b1a60f81b828281518110610da057610da06111f6565b60200101906001600160f81b031916908160001a90535060049490941c93610dc78161120c565b9050610d59565b508315610e1d5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610684565b9392505050565b600060208284031215610e3657600080fd5b81356001600160e01b031981168114610e1d57600080fd5b60005b83811015610e69578181015183820152602001610e51565b83811115610e78576000848401525b50505050565b6020815260008251806020840152610e9d816040850160208701610e4e565b601f01601f19169190910160400192915050565b80356001600160a01b0381168114610ec857600080fd5b919050565b60008060408385031215610ee057600080fd5b610ee983610eb1565b946020939093013593505050565b600080600060608486031215610f0c57600080fd5b610f1584610eb1565b9250610f2360208501610eb1565b9150604084013590509250925092565b600060208284031215610f4557600080fd5b5035919050565b60008060408385031215610f5f57600080fd5b82359150610f6f60208401610eb1565b90509250929050565b600060208284031215610f8a57600080fd5b610e1d82610eb1565b600080600080600080600060e0888a031215610fae57600080fd5b610fb788610eb1565b9650610fc560208901610eb1565b95506040880135945060608801359350608088013560ff81168114610fe957600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561101957600080fd5b61102283610eb1565b9150610f6f60208401610eb1565b600181811c9082168061104457607f821691505b6020821081141561106557634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156110935761109361106b565b500390565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516110d0816017850160208801610e4e565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611101816028840160208801610e4e565b01602801949350505050565b600080835481600182811c91508083168061112957607f831692505b602080841082141561114957634e487b7160e01b86526022600452602486fd5b81801561115d576001811461116e5761119b565b60ff1986168952848901965061119b565b60008a81526020902060005b868110156111935781548b82015290850190830161117a565b505084890196505b509498975050505050505050565b600082198211156111bc576111bc61106b565b500190565b60008160001904831182151516156111db576111db61106b565b500290565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008161121b5761121b61106b565b50600019019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220392bc2b045f0778b2de65167a6f3a3cf93686cd2f42a3e15ba5752a457a2a53064736f6c634300080c003303b70ec82fd0274a798d012abbea5c99b35bc7713c971b23dea2d97d4d53f1f24c03c0176def008f21c3e5dc8cbb1b401851fa07068080092b684073bf61048ea8dd0384f60802847fda5cfcae5c26afd30a701802fea4b8c879e0f0afdff06335211203e298baa66b330e7a3b6bcb0e76dd2770059a3c9052ef6e9c5e3d252f42896f1d03752382731d644f1f0a1cfecfec3eebeacbcaba65be6561d802444e4e3dbbf9c2037151c259aa656ab66283861f42c6304f5f00d02ec3c58077e9c872394855e33803bcd8fc1595e8d36d2f17d2053883085689af4e6a81055ca963c38949ec3c62ba03c81405e1b784fd2f59f3d6648a07cac0fd3cd633bf3cd22d3c15e1b0c65ee29000581f02517ef313bf3053662260cf2f330f4a14ca1e487444519a5eb596e440c0195820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02cac08e1620e4e2a52aafc11976e4263ecf7b37090bfdcff245006c2bee8f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020f366df45677dba0df0f074013b725359b013ade011da17685614bab1fbd49066539235de539a78700581f0235274d018b14342050d3db73d21ad08f1e07a0824ba7f0e22f45f7c9eb4f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02178f8c9927bde92328b55d23ecb809f736ed21544379fe51ea2c88563b3048f207bebda52cefda0330c51d69a97b01d2baa817980afb3b195f68dff561579e49f6426a685174d63000581f025becf50426273d4c7aab5c6a21145f3a66a0a414ed7ad4f8b8d554dbe601480e8527de030d976200581f02e51f2f5d2718744c7b473a396dc3b63957e433502442b274473409ae60175820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02eb86536f64af6e24c4be5660f09f67388eda4d3a705b06851900e52804645820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02fef4d7c3edca343799548d582fea249d9256b7732cfc81bc1b12e21d627c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f025c48f3ac45f4cc03dd3274a28a39bc05b25a9343a0eeaef41c5cc96877905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f021c1ccff02b58fd1c5748dd8338aef88007ecf90e547265f385e480bf11c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02199fbb03c2cdcf9b737ad907eb9ace2cdb5492f3c8e54c7b4332475f72fe8d5eea1f82b5035c45a4b2ed4cf58f948f619297528f06c3457e3ff41779b8baa26bc521dcab57035ad4321245838d1e5fd274be9d4d6e863f5666fc89575d607803f82f0d723ba203225a2c2c04695b03262fca3e1d0a17e3da6098d475542d099613725e899bf63103696a0b7f6aa76947fa35c4699ea4e8e83af21e387b215ac5efe9daaca34110e9038eded63ee69e0494767a498c8f67daefed42df1897119036dcacc71745bc819203f6a6885c2d3d782ce9b2a21cfe320310c9dcebd5a36bc82836c0a0d8aa5c312603d8d71755f2140e17548a61e1073d55a0dbe5b616c458a2ec87546669b7e3292303d5aa3d9d1888b468e3bc987042271a2d67e75419f96cc99cd7d0d594265594640219feff036659d46a6f11f414bcf4b8ecf126bfbb53ce790c2b5f49ef832fccbd5aaa692d03f93c8e9a0b941f385adec785f7bf4d3e8bf204cd9bd84917e9140ab875cbca2003af68e1b8df700aa16945fe517438e4889709d7448bebd90c9864a3d5214fcae4032140f5f3c9d507a8a07047b75aa18a6acbd858d31493847b31120b3399b8e5b703e9c7cb26db483fcd4d4ea5142861f80839a593e3a4c9e3c38b0dc4ad840be10b0312f3fd8dbbac3a6fb59513ab5250876548fc2cc2fafa48d73d9900845e94f7dc03fa1acbf8e9855be7673191d86d943e252005662ad2ceb7f49166edd80e27f60c03dd665ee82543d00924c70bcca0d7b66c9390ee3256ee130f8ccd80a1b28143fa033d19933d81e5cf745746f24264f2e9b9974266722c7efa6d3af0c7264ce8ee2c03ad192cd761ba6a2be853a879d6e786f708b05cc93ee766c8d5ac9d1dd362ef9903ef91e6298837e834c19ec5a1654a5cf30d97bd09b7a5d75ad7fe662273ccf9360382581f7efed5f2378ae6a8a5d851674914b253eb959914c0ff71b541ffbc574c03a76e172a4606633c7c44d9241d83e8a63f97e3718a14d67052353f718585aa6d0343b4f89fe696f6319169e781d885a309d74066d460125c2d96bbde5c6158411503dd1f4a208a546aaf4c18ded3c1dc1dfd79fdc33683cf85afe6c7c17e375c27b60219ffff031705ae313bd7105762cee4d8ba63e31cd4a0c29ab792bbc8d4f2e56e519c08f70348c81841c4389459b0e45373b1bd4f26997655650992ae3caa4426b80d2d4d630308511ad7759af361161a88d663ebe2371b42ce04add82bdc3ca87ad31c26cdf803586efb82e0fdbda84b084801078cf361673c4ae9325d243d15f5f7dc2a836b1b03b407f942d66d3164250c9e243ca0c10c433fde8a65a27d8c5281ff6f3a8c903a03b94e9f1bdb2b8993c15a6ca4b44972e35932d87f582d5515ed5c5a7cd78d992b036a89af6bc6e3e7b60d3ad9fecdb3e9626f831447e09ec0ae2bcbaa0bd4e64200005820032f5177a684c955bdb2d00128b658b1540f7c7c7ce033aa7bad781525477210480eb051848f1b2c8303d09e4b5b15f21197bb980012d1556c2d6b05ed8bcd6713f4c65a2dd49980bb57030dbef4e6416d0583f08bc2fae8fc927c70c7b6acb1620c68122ffcca65b5ed780371eb6998e10dd70a3ff679eb8da068aa42324eba2124030f80213c8c9bbe937600581f0278b76ccb95887d5ce8ed16054aad336745cf63fe5d060145449ecc57a8555820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0221dcccd3be95b0f12e6aedc012ca17b188e062bb499910938843b49496345820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190820031c2fd4a9b7ecf61304b98c1c39bc74d0a0eeee700e5c72b1f5649528ca5427710314ee39f1670cbadecd5dffec27191db8f59aaaa5ff1dda02fa7eaf9f6057087603ec7b48817e8cfcffbd395a10e0e1b5c83551454a6873b97dd7e8b8be930f579903ff358f71f8bf5760b83587c2a7f5ffe14d5ad9064d0c5847d44108077ed5725e03abf2c862a8c329c2838ae5c1e50ec50293b05fc1a763c35fb4505f41ea071f96038836750ca1a38cee9e654f3133bc2e80873274b3cb24311bd83fe16e5062bab70330adee44b65b06f1fd4d21886f3097af8da0bca1c77fa33fdffea50da1a784d9036b4de91e1ba8826e7ae0df97af1e27629cff1be9c7c69b332a7d23892f245c79039c987c7edd1f13be92f2b5e2cf0d4bc210f7ed74341438dd12a23a716c986e7c03762e2e0f5cba45df13c7d2b1fdc8cbb95ebf6653dadacc357f4b79a05be10fec032625fdd61b75819a86e843ca0a19ac6d121abb30aa66b89a65717e06714df0460219ffff033d77eef2c38fa1e7c843b9decddf9afb912c61d2a740aecae00f42aeff576e6803af8e4a75427f96b9e31a22f9f298fd6fbed70631c89a0e81b04aea00bfc37a36033f74a792a7de7c35862bdef709d15c7b8b363588d935133d2aed9a148f75bbe303f1bbf027b26eb25862d39bfaf52ceb6b79ecf025f71d054b9d0fe45022deb82903b071b07cee2a02260e0b1ad1f92d315e4c5ec09f4312d20d743831580f64c5070336a339caa63770ffcd7abfc358371129fbe1283463d4998fdad07ed1dc7b0795034c599240d860fc87d8f168075666f69cb682c4dbaeaad36b8097cd44840198dc0323541d39535adf1f42ea5bf496d2106c6645b228bf12339c71ad2552a8852402038b2ecc39d6ee5428f7dfaf209c5147175e44ab186360117b6a736d7bf2f2ee7e0325f59faf870b07505f8949444a7a0e62eee54592bbaaa02ef60b379e04bea37503cc2cfad8d85d18af29704eebb21f03436d864b7956f7a519415180265aadf41c036f6e35860ab85e61722d1d7bd028491c9ab399e4f55d8c1b02ec0f60d540beb80350e95b7f9329691cec71a245ea695025e125be8540139f7f57f100e932d9f573037c19ab3a37e4abdc02081979e2be3df7453e70f0203f28bd1cc6dd8c8eea38a00219ffff037288b811de83814a986e67b5c25887940b3697775dad0e589464ce9d3351c2950357cd2a2874d59f669c76aa57ba99477ddef673778c8fdaf4d8e769b7771448d803ada179e767ef18c05ab59136877b2d487450d66146d0df6f72f0bff4c32069cf030585d5819c6d0df1f2252081dc94312b4c058bda55bae6fc5b2daee6b2052e5f0357fce855051adc10acf393240fe067e83545e060a1aef6422b522da43ac4458b0219ffff05581e03b82801666f3b2a9c33da23dae515dc82e3ee533c47b06e8e2db6cc46e0070119127905581e034bf4b99469a421f7a576d99ffe1b80765feabf857667502538bcd1ea60040203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03b0f64aa558877a8f631be43eafad579b276e47551688e5dfa68b7cf02007011bffffffffffffffff05581e03a51321456d3695681ebbfdcd891c5af0964cc999b56618e4cabd781e200c01469d57b38bd00003b80db3cde30032fb105db38af2534be796251f41b0d16cc1c544564244314da603839354b2361c845757947036d0783e8d8675cc3ed5ab17fbb5412c6665e4f89f033d04aeeecf27aae90f39035364c7993fe042ac4d90c9d50ef7d1e5aab32a6a1705581e0394690d9287afac8849a2b9bc363efa4f928162d6a5dccbabe4fa312bd00401021976b10377d170ced2249f9c808506b2aea23ed297fb7138011be520c58f31c786cf698003d8bfeefb3dab9cbbb9b0f85007a6fd38f6657dcf37a19ef0337d0b78f711f00d032b638cbc410d93a2fc1bb727b2497f44aad60749a0b3ffc5b187ca13df57c894031fddc156e966cdf062a5b3f5c1b2d06991d692753b295ca1449fb66ebe2594d703faba5f36a99ab31dddfc48f5956e45b27fbb8616d83f2ef391fd51ab8713d63b03d64b4f39b5ee05bdaa84c7737b6603a72d18bbc91d7c25d54830bf61247a819803ce06fde8ae466fd9c12349f0d85f22e067f01f79609a6042538616446570cf9103073e4a572119582eb83f65afd7f69084cff9358e9ee454fb1a49907f3832abb203e0b75ad73b945ff359ce13992a64a7330531d7a9696364e7c6f4dd7258a9dfef03a70153324496ffede144ddc05679cf59fa07c0d2a9b7fde5e19a048c6697497a03330f9f91ce8a6edd95a5c0cea24c738801a9e7671ced49cd90c3971b56545a060319f0717b41a344b1d2f5147c81145eca507e1bcbc488446453f5841946561fa1034f30edd4a49dcd382d60f50dd3e61b734d254c8f9aae13eb3cafe99ab079ffb00219ffff039594d1519c1099c7c6c8f222a734f7f6ccc37f68fef5d50b69a256cce4a30baf0362e89eb3f00c9367f888ee5ce8ff8a2150f57640db482e37a74b198ebd48938a0372f99c573647f7b050c15b03a4515d202c92718b66b6fe8721b296d59a14e218038ac3d29778d27fb9ed718aff34c16feff27440bf01573390a697c6f4c331bdc003c7330566b68c891b1cbc7f86819e2e1ed52f92b2cf36e537223e1997836058b703d1320195986f13d550f6afa4a95e592b40df20c39ac4f3134f97e50ee6b8738a03469ecccd5db3e537632b9b7799691c460bbc06cc7e94de93d8cbad0054f8486f03fee11138cd4bf994884018066a597b833a5c40bc930407d12efa160fd6e3d8b503fc3c762c2b6abb270253063043e95148668e18869f9f53b6b964f267c43bb9e90367d4f16194f3cb680829e5555ea05e1ce6dc1f234a0ade0d8bc946fd058b71450219ffff03d38a0cee71e31dc0ade3cb856f878d7a88e813ef9bcb3563317af5364870a2ac03ea93aa63924e455bccb1604daf89c5b520bc8107d1b4799559a39e8ca17372c6034cd9879d50686053393319ba1b2e550154c839c2efa2100c9156a1cf9101a93803c173a6f7e3fdfa7a9760a27d3fc3800fce817a26d49c6c8a1e47563dbc313af40336944f2c705ff0971929166a30899d9ecd41f1017a2c3c8f524fa5f6bf5305c403e17721bd7e48744adf957081b6c15d6e3679f0d4ae28b1b9f6866dacaa3aebdc03aca074b0e06949e3118ea668a87a8df927b9a58054f9a63fcacefae4815f6d7a03d1b92957c8ae506a28418fa4db9bd55ad83ca25dcc51f0b0cebc10c71353665e0219ffff03f82609ab98f5d4f5268b7f95c76900f361b8c46f1c1b547316044d725eecc38c039f5cf2ef5f8d15d46227c212292797e02c08b190bba52af1ee06acddb2c06c620366d4a1f124ed85dc5a952a1eeef70da191e747635a9037bfec9d39372746955903aa75a10930d962d59986f7ca1e1d53e289d853b455a3d17cd99827ed14e3e53a0219ffff0373b8e866d7a82d53caf9fff5ea83749970cc829b73f03ad611937667f15d4c6803061e0c01564abba4a03cbf452d088d48825af208be10961fc57418f7ae8c4bc703bb660e775af20289e24a2696da68b04596f2e2dbf4a27f9ecca40380c323f8ab0313def2ff5ac53e0bd8b848cabb4db5a556c992ae1062eb28d8519c9096e30dff0332d537a8c86146e7c2bb5e1f6bd28f3a452ea1fdafae402db9c68a546c80c99603933b472fc5f4eb1faea54e90fcbcc64c1257d32d9fbbeba0146c16734b23a39903129667a4295eda5ce9a3ed22d877adff1370e197a6ea1624d8a59919f2a688b70325ddef5a524b4eb36ccddbc717afe340f5726186b7cb2bccf46e0afdf070d14b037b94a143a596b75227eb0c0a660377fde40618b6c198d4ae5e6f879b0e2e5bee03dd2d23667f48a06fc1f202e14bbc60a0d77762d8e5d16a0ddc7621dca916a24503fb2c031cd71626910430bfc7a67b6df7943678de1b558700d6a3c9d7d1e6ffe203c1d16218c8bfb8128af2063a00a684b4304985093b166314ba6631f95bbb8bf003312b567476d6230692cd0882244ce139bdc8ecbf5ee31438245db1112af3f21703c639a69cd77e81020c746cccb1da68697f78649c23f5d0b0e54d16e3e02423a4031e6dd22b0e8650bac10d2320c9086d1b15ebbaa5b1969ec3346e571d26de4f740379fb9e5a4bad7138bee7f21746006a45dfc42d13e06af781275277795a18de7c032c88d7c43097c242fc38f7a73ca595a11b83638bb7b3c5958ba508cd1814e197037ee3263fb44daece1796b4e2182a976439fefd6f8bc64e6c8ba763240145a03001410d03941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03ad5e2df1dcb54923714b0fbb2d688e68398edb549726449074c831967007011bffffffffffffffff03a1466e9f2a8de004a1cb7448ebd35c0cee2093b1c75b44f18516f00da40fffc403077c010fd66768e3b7576ef6dfc805ee9f7402e1a7ebfd87ee619bb8638a08ad03312b5f11199724ee48356d583c4700e1603a7ee31801508ca5cdc9d3c173b02c035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503d5947b1d524258ea4cb9c6516547abce2ee1b8a6e8d65b6155e3a6c2f79523a205581e03b502e65274f9a4f0417f1fab9fd85ce5a151b79caf63e10874b77baf7007011bffffffffffffffff05581e03f122c0e255efd3ede5d1239b83980647426ee70d59dd2dbcab3dc96df00c03464e26a65b92d804592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203c3087089f5dc924cdd21503c87ad870f0c8a103975f07ff982a4b120802a38290058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a89faf32274888edba2120058210311b69f42801f585e43589a942315233529a09ddc1c032cbf75c8331dd6c0229041010058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604a8959032f8f2db54e2a360058200238e9689977d526f580531775c606e5a07c1ff4f40a9ee98e4cca4fe145a2f44102005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4e023cf2b8b24e5398737d6fae84ec0219420000582103e313b3016558f806461e2c163d7963a7cc05d3ac33035a59659a6b711d0e9be041010058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58205d2ffebb1f55e83c8b2dbf8dd8e8b0092677f6887ca952eb0f8dd3eec2c2d7b8005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a855050791c99d5322b1b6972391f84edce67c7428088002184400582002757298381664e831f65315b0dea734f6acbf08b1aba9701ef84a9d6ac082745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219808000582103bae6bdab10499c377c61dca501d8df23d18b34de98b2a16bbf5d14bb63b3cf205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687da6f000000000005bc6fc7a83924f6e100001dad65a441aab16fb30964e10058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54636bd98fc13908e475f56d8a38a6e03616ec55630218480219f65d05581d02b9f80525bdfb3e52953395b5e651fd35457870004f58a57bcfd4a5d90701192c1d05581d025ede4e287179cdbd05fa6eeae853028d705c1f59a6b6103f856c6b560401021860021964fa03fb3b5eb1f14020237196ef467f000da59feaf3e306e695f4c6512bd2882af377036dc8eb3c3e7dac72b14091e2fdded71eced576833f3221484e19ae44b690d999034e74699114c38b70ac3c2fbc3abcbc27ebe8decf03714bf9668abc446dacdcaa039225e296f45643931c1e756effc95cc27ffdd658e2f00117f9bf84f0ec629f6e03ad7808b1f3e34f66beddf67b7f883e09215f5c9cf5312ccd7e8660a6a0a798d903d40656c145662fa53c83715bcc6896909b12f5089eefc9781e898518f18065aa033d1bf772ed0814bd8540d4d58951a8499814ccb412884a49a898793528dddcf303270f16fc88cc50e29c107fc1232078f6eae7cb8d8ed3abcae416b6986b280045033c957d2a365442f2b9fe1cc9b8c3f60d4ea6b629478a915004630e34ca8db8a003f1a51946c9e053965342f21cd9cedeb4ac012a261eb024fa695a97c66d26973303dcdf44cc65372aacb62ad65a46c9898a85f5034fe9264c7552cbc5f8195359b80219ffff0355c9a9d245c53fa81b43aa10f5ac757a229f6c1b88d513776d23eb8a1c9068ff03b96e6786a7a26061dd14691d1d6a901af9de62282b4da282485372a32eca4dc9030399ab614b98869047796bf7fb651990dd2420e2fad77707a77e508575cecee403d170444e160d44ae1fdb1dcb961f16ad6337aa814e1d0b91d19d41a83e9b1ef2037d5d61d65cbc84b789313d1398f0112bf55b6de19766b0c4ec4602240482b32a03f7ce2aaae65792fb90156af48f7f45769e723c4cee67fd7485f2fbe3e108be9a038b675008be48af58dd74e86d0f6d16512d6b18346b39badb93bcda5cc6df7045033debfaa3f641b2ec49e86bf412df203bd90aabd20e2739fc2fff49b54be07daf038147bb2f63c0bda1340c1022566c089723a7121bf7a956e6a303b0265abd07a50302b600f2647e2d2f0485e4ef14804b07474820c1716dcfa7a00d8ef4b36e60fd03d69f69fec87e3b5982274c9cffe2c0978cbc6ea068b905ff85eb4581e12f89fc0395275be6345ac97a9f38480a12bc8a2633a2dbdb8cb4d269954a2011cf820d2c0219ffff0349bb77b0fadddfb5c37cc8705c360cc8149842d69bac81a33b4f80ddeec1de40032475b2ab7e16a2fb90b2fafc83c1c9af05c061aa0da56c5ea44ef22094f39af703bd273b612aa02e7b7c9b201cc9f25bb297c950fae6b265fe3509a4b8abacd96803f4e577154189f9c9bf925480dd98d4d498f3e53d0e408148a2b1c338a7e5411703e471e1d31dd22da6a9a5f23d67447638f637c4e6a8a09903638c4b48b5f0904c03aef1a4574681350c9c627633417b02dc70d3494fafb5e8f9917deb5a9c33bfdb03bece6762a3c45e01c0e42a1f411aaa5f2d9b8eecdaaf69cb9cbb8ad3fd96187e03817e972f9591fac90882beffdc318a6c0f3e64e8113568990b8920f259805fbb033a587c0e97483472be7ca234e5b5259e9b64dd14fdac5cf720f6647eb90d14410385fa24b7a3a8dd00b44084faac3a813e79a2dd7f80add650607f0136cd3b86bd0308d721546966bb5570c9281fb0aec215904b47d0c18dcdf45dbddf6418c3ead4039590d5d27098fa172b45ab05ac45e9e74b9f6cd4c4c04422faadc12286fa540603d760be6d3be7f225c03a72ac5ec9c8547e264e09a49803f7f42636270618930f03dc5a7d8509e8786ca7be6f457f2c0338a572959d452167b358ffa3b9bca95bb20219ffff0365205fe823b4c28135f025a3e54a77a28696614a8527d34a14dfdf6ff9518b8c03618a33edf1e89f886f1b08f33b5ef62bee9d603ad5edea7a43ba01a90eee2a4103af87a6eaca4c6b1dd92c2b4b36141e37126f093bcd7622bf37fd9ee28c3181190330f6dafb40af4033c115f197ad00fb6f528962d0f5b4b9d8cceb65eccba2159603666d5014dbf631d21749431ab10247e0a31c76a01a6f6106e6122bef6d4ebb3f03add68dbe41e5fe2a98643c602bea1fd7b847dff1421e4a24f7362e986c05b1e50320f1cd6d9cc11ad658454e1ba5d4220ad7db3c4895c19958770e47e42508b78203bd41b9d4008d70095a9b08f2a3ddf4f617a1da16198c8e9b0bd259b6b0ab5fd7031288f37a9213ad6545f8dc46b914a93294a78851fbaa9cc95a2d36883598f33c034bde4f1401b8927a82325a3ad290d48f56fd04103671e2b7f57659d9cd15e3bf03ea9c1ef402b0acffe7b73df3959eeb8b74367e7b1292054adb96036852b5091f03417536fdec6f888d5546f1ed4cdf32571f1cb81834a7ad490035502306f5ed8a03f6c33a08a539cb58732306cc61337f3012d962c83a8865a4a59ae46dbb2c4d75033ceef600912d99042bb28c55a4c3043aa27ab0d09799cd1dde2cd9b90acd127703b6de496052e993b8b7d2b306e192252911e191b1b97df6bda8e8acd17eae20a403998aaa288c360119a23517a0ceae9b091832ea029c6f3d590c610fd25c9bd24503f30c2ae414e1ce21e10c51df26da6a4b9883b56a73d933d4609c1e3b3dc1e54e03fb6474cd7ce2ee89d81e0adff14e49278be3d0858e86abb9f1944d0c5344920f033208a54d1a1d0f3ceec894332a7490e8f01d36be398f2d225c6854fefa67529603bf69727c8f0b4c1872d14f209990c81b2c0b09e33cd0c56c99495ebc25ed9a7503cd2f4302457c741c55ad510f3366a23c395e077b14e10ed9bbd1d6251e1b4b4c0341329f0d2e0ad15ad0d70c0fb3a2df89312ac16770dc8160483e78a744a404eb03672bbbc657f0e67da2daa13c00cfc5c48ab27a6abcf5c74206391441712c57bf0358c45129bc6b40e7415dac8066fef9a508df4dfb04f360fe38fcfa667de970c004590c9f608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146101eb578063a9059cbb146101fe578063dd62ed3e14610211578063f2fde38b1461022457600080fd5b806370a0823114610197578063715018a6146101c05780638da5cb5b146101c857806395d89b41146101e357600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce56714610160578063395093511461016f57806342966c681461018257600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610237565b60405161010f91906109be565b60405180910390f35b61012b610126366004610a28565b6102c9565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b366004610a52565b6102e3565b6040516012815260200161010f565b61012b61017d366004610a28565b610307565b610195610190366004610a8e565b610329565b005b61013f6101a5366004610aa7565b6001600160a01b031660009081526020819052604090205490565b610195610353565b6005546040516001600160a01b03909116815260200161010f565b610102610367565b61012b6101f9366004610a28565b610376565b61012b61020c366004610a28565b6103f6565b61013f61021f366004610ac9565b610404565b610195610232366004610aa7565b61042f565b60606003805461024690610afc565b80601f016020809104026020016040519081016040528092919081815260200182805461027290610afc565b80156102bf5780601f10610294576101008083540402835291602001916102bf565b820191906000526020600020905b8154815290600101906020018083116102a257829003601f168201915b5050505050905090565b6000336102d78185856104a5565b60019150505b92915050565b6000336102f18582856105ca565b6102fc858585610644565b506001949350505050565b6000336102d781858561031a8383610404565b6103249190610b4c565b6104a5565b6103316107e8565b610350336103416012600a610c43565b61034b9084610c52565b610842565b50565b61035b6107e8565b610365600061096c565b565b60606004805461024690610afc565b600033816103848286610404565b9050838110156103e95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102fc82868684036104a5565b6000336102d7818585610644565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6104376107e8565b6001600160a01b03811661049c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103e0565b6103508161096c565b6001600160a01b0383166105075760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103e0565b6001600160a01b0382166105685760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103e0565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006105d68484610404565b9050600019811461063e57818110156106315760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103e0565b61063e84848484036104a5565b50505050565b6001600160a01b0383166106a85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103e0565b6001600160a01b03821661070a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103e0565b6001600160a01b038316600090815260208190526040902054818110156107825760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103e0565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361063e565b6005546001600160a01b031633146103655760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103e0565b6001600160a01b0382166108a25760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103e0565b6001600160a01b038216600090815260208190526040902054818110156109165760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103e0565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016105bd565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600060208083528351808285015260005b818110156109eb578581018301518582016040015282016109cf565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a2357600080fd5b919050565b60008060408385031215610a3b57600080fd5b610a4483610a0c565b946020939093013593505050565b600080600060608486031215610a6757600080fd5b610a7084610a0c565b9250610a7e60208501610a0c565b9150604084013590509250925092565b600060208284031215610aa057600080fd5b5035919050565b600060208284031215610ab957600080fd5b610ac282610a0c565b9392505050565b60008060408385031215610adc57600080fd5b610ae583610a0c565b9150610af360208401610a0c565b90509250929050565b600181811c90821680610b1057607f821691505b602082108103610b3057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156102dd576102dd610b36565b600181815b80851115610b9a578160001904821115610b8057610b80610b36565b80851615610b8d57918102915b93841c9390800290610b64565b509250929050565b600082610bb1575060016102dd565b81610bbe575060006102dd565b8160018114610bd45760028114610bde57610bfa565b60019150506102dd565b60ff841115610bef57610bef610b36565b50506001821b6102dd565b5060208310610133831016604e8410600b8410161715610c1d575081810a6102dd565b610c278383610b5f565b8060001904821115610c3b57610c3b610b36565b029392505050565b6000610ac260ff841683610ba2565b80820281158282048414176102dd576102dd610b3656fea26469706673582212207a108b25bd3bbf73288f9a6f5277da91acde2c2177db36e0ba23bab5dee212ca64736f6c63430008120033034fdfa38f07770469ab8908420c0aa924ebaea58b65001485ad19faa817530d4a0374effe5f53a0e70f305bb85fe9e07e8b1d64513424f9d5e12b6ecd9c836357c3030beae2153f00473bf9afa4610af01d99a400885b395ad49f3b95b6a1d3ca155b031e1da296f97d7c4c3e8a2893c445ac98e3481029c6fef2c1b383bb18d599765e0365d1ab5e3adc820d42ca8859356ad7032e8c13421ae1aae405294aa970a877ee038ee5ab83835c875636ee49d34a3a7efa502c5e49ec19b6f5d12e94799ba3776803b958b00f01a68f0afc27ebba6323bb97274b084eb6cfce1b93f2c12a33f7c08d0058200397697631d77a19abef825ed7e38b6a43de609f701d5fc5e5987e492705d7a04a0a968163f0a57b40000000582003f42ec1c31676f7e509cf9740dbb2d045fa4a00f71692bf184a15e914ebcd404a6ab2f4b2c3ba9900000003be47c40b571e81900a92f515b7fd280d91435a412e1c83e6c621a8967739131f00582003c172d839087df5d02cd36b589872e49e01b1bbadae6aa587bf0fe75f32e0604d7e37b99c51f3525eae197c0000038839c18c452d5952b6a30cc455d030f75f9bc89d58cec24943128551b55dd15401410600582003605795d402a98f9c434c7238166b416bde152fb569d81f73f9811cdbe37fa04a089a49213386742400000058200395ef7e8483c5e73d524b64a8e1fdc57ca60dacc919b307ca84dd8b8da359404b025d06162b1a4fafe0000000581f021442b4a7b1d443a0522371e86a9266e00987c15141f9380e60d2ef4686c54a0a970c2b13aa0528000000581f02bb42d31c32eb4bb01dfbc2b011cbbdea56289ac6797ab7a84c4744230fc349baae46804996222a2300581f02eac04d58c083f1bfddd2f897793c1ee8ee240de430df51b11d4a40bae5a84a01cf1e8029430393f31a0219016002196bd5032c1a8ac4445b90b3fdc622569ce7ecc79a82a9527e0a413b26d1db69068030310346f8ebb3270fa66d771c693b72aa2eb5282d5d3369ebe16defec8507f74515b9030dfbf10a93874f863593cc42393c2447c0e6eb2c73fccc0711ea3e609ab85b28036dc60d6dc33fe534d0402496a51fa06bfa400ad57b8b42b1e8affc5e39c4b8d2032fe622804c85a4c0a3c2f935c15b15575e04f2c0ea43b1d299e8de3ddf462ae603a57a7be72cb539055ac61a79fa442403088b939ff7b5d064d8bb9d8cb5b62c4403ed39e4c33be3bf1b65b698f3ff33254ce0516b38a4d0a7b425c33efd491cf23703e23062a39fc92672a301a8a1d8c093add9bb272a7bc9ea3bedb45e02659c31c603b4affc80af95b0fd349c759f09c151c34ee48f1de426d5f405a5b2ba8b85b96003341ab2027495b4733bd70c37ffb0560b409673b5b8acc6f96fdf92673c74690803ea56196bb69fcbefdf813e298b743a6f386af6fe8bc058e4c0832a99b322356b03d3f4b07219c1a37057a3878c44550211fd17b00eabbcb4a4066a289140499a4303a07144ad05e60295d984417e3adfff684d6bbbe7e7e2739cdb1741369ea9b57803151108a0069edad7a3afacdf7d17557c80d52c65e2ec0c8410782278202850ad0219ffff03b0e8f7ea007975be36924bc217d7faa515f118899b28a487e8d220a8f675ebc2036c32a11cf65baa7c533fb0b771a521c5732507a33fecc36a844a52ca2afbb9af0355e575dcbbcbb984c9acdb70308c3f30eb6688b58b4316b5055ec8962a4f3d860354c378c0d6088e9b642ff63511f93006339a232203b8422430a3335e7bbbabeb0396da65e419af021c49fb0ddaf77f987ef0213ce99b309a04273d6c7fe57d4f4503ace1f71af2e41b287707f29f92f1922e55671e8e5929925c343c7a3cd5d06e600387503eebe1b6eb8eeaba38549d6b4cc7e6930a7058c16683c39bd4ad336c3a2d03fc6857cbf34c4568c0f752594fb47c7bf04114db422552d0649107c2d818a1cf031ba577f5c87fabc3f5fcac2e4fbf5348a639cc3715c81d25dc945f79137f088c03b8d880ca66a692f3747d9b6ecbed0fb80bbef4a7aedadf134d524b3b38fb198e0330aa9ce7d5a53ae12fa6f74b72f83f2bff9d85dbd1c583b21ac9a6e5b30a35b303819c2e2886db681e00b8987e52a2d0f38125012f3477b0b9fcb610e73b15f83e0363ba37cc8f52e0da4dcf8e452573ba6fa50e615335fb6be4c728f245ab5b306e03f7061b0dce65321f536ba3dffb311e227d9b7eb2bb7373fa008b3f1a318586cb03d2adaad36d3aca9b574d16c609994221cd38f745bd2424d2b09cd17048bc1531032ef89516994708e9ab1cbb4d557794cfbb4d1d00000e087354af53c802c9d99d0058200339c56b214db851e788ed992527e806ead2c1216d99566451af4981b45566704a0129aaeecf6f65ec000003ce91a68332ea2ee4efd55d7f5b9b26b89b101496a8438dac9817668043afc0a503ad5d45294ef8dec5a1ab733a24841a06a57f82e5c3dbc7c091265eb9dbe25039034a82ee088424a7109c12f53f575872372699c4018bfd8210c55b95410d66d84f005820036f17b0122ea23d1c65386006b30dac194103dbcad2521a8d2c55d82e6669104a12dda1fe5ba6e62c000000582003a8e5602a7650930f99eb6d02b304a31dc1fee94eb8d40414561e60338294f04a906189487ad163f000000058200384d9f6cd99955b11542ee67e82428753ab9bceb4e85a031e4ce25588f880704abf973f0d757a64a80000005820030658d392157c3a39db723d2b25f0c9a6884846ca1da23f7a44b90e33a087504c14cb5f0706ae77166e5ca4c2005820036f2c8a3803f000173b123858e8661c7c33e9555c33464ef310c2580cac31204a130ee8e717904440000002195c7d038cb57e231279f8db29a3826f5be637e6b602ee1cef4383af23c89ce6b8fc3dc603a3e6523ca11726273ca4062804fdabfe8ba32949bc83cd8666dec3008e2761ba032b2144d2a6e7ef8705b466835da9255b24a40f43f51a62b1b49e5ac86551e7790362dd82bc832b208afd42bb33515aa5d2009dba48fe3c4cbc414a0dc63dd053100394f692d78e3784bf3ea4eb2a0a94e5d18e9f30a8b9566672ea2b005fed40b8b003af3de99217fe5e0b7ead25a25bd04a10e0975774363c94e7e47bd554cedf8d6d0324238a2413b4c73e45a3e33816fc67a10792c67c9a9f774fe2801e590cf0e5880394919d8f179c82d2bcc9494701f1b3538295685b352f507701ed9d9b1c2e4b3e0219ffff035bc3c0f30750d559f30807cb87b61de48112a3cd1931de68cfbdadf473ac9e8203394bf5a6c3b416710dfbf065e29d21bff35a904b8c91df7c8f11a19026b453230219ffff05581d02262b39b533f7fd9e9ae0239ad75760e622414fa03520283d09ef4d3c0701190c9f05581d0265f7c1a1b55ad4feea4f6ed69d5d46da356442d33c3997603913223f0c024725e2d50805abc002190220031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e037949f5e4056d3d489f5810dcdae1a33b8fc1f1f58661777b5d6bf0bc5007011bffffffffffffffff038a0e07eaed6c617af5ece4a448742c5056d865e82231995a508ab89f18e5779103141cbca59839160e0a095cecc9aced329f784c418b1ed1ec7b7068033db8ae2b05581e03a5547aa92142af636462732d6d12827c311e97da597df40cac6ce3a7e00c0947366dab7a3c900003a6c923b45999f50e97f93bcdbf5e4aec2f79555b9ffea42719d28923e2c0c2ad03a4508602f224f5b07143249f246491681ce9f1fb47171f253d7d2e645db7aa5505581e030dea9f964d088dc94023b5fc9a14874a3d318948e6ac1a30b7dfdaa1300c034707042531a8fbb803562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038a74ddd5ca3bd6cf70596105ab6320d24a315d07bc16b27d4763871c5007011bffffffffffffffff05581e03ccb9109583b57cde94b6ae3ad97e72d74cf9e60b21f44d541afa70d350040102192eaf0327245b893543013e157321c39e8fcc5440e8ac65b765ced8a11f4f1a31fcec63037a6eb4ada64ab66a9332d73b807a272cb506c1eb8d5c1303cbbacd65658ac8580368b15fe650e11ebba405af897f81a631db381dd049ceb718704bac321a5ea094031fa76666b56470dfd5e9597fe44aff5c6ca04380e36ecec24fbfe78e349b58520219ffff032b12657af7aa5d08edc213e0b6efc176817f1dd4b44fead5ca9a5f89f7342daf0369379826325f09e5dab7afe29b93353d630b27893d2bd20451113725d0105c6803b71ca205323a7f99a627f1cded67627d342fc025add3492e9bc4a2fdff17219103755f40145d18e0998fb7b5e2c7c7e23fec2bad6fd5ec8a091839963a568c9068039fa58bc042868d96187f7d13e058d3ea7f6553995f46aab374700ac21733072403e4263251790c728fe0b2915efbda6fc2708f985dcc9104bd876901bcb9a7900803f5b922ee07f03256bf3eb783dae8e0120511fe6f429ceeb5807390a34fb488e803e0fe41834bf865ae22fe30358ba00db6f637336c11107ce0385e8b7d54d0d84a03a918c43573893913ab8273b399659ffd8a43c23caa6f5d956e3d8a6430a69a2403a93f6a21f466df1f7bc727c8d0d9c05f665b8920ec5d956b8e06a7075671a8f6032819f485528e90e3b6c94af4430ba1ef925af9340b2c10dd7b21d1cfa0a994470219ffff038a7b7cdfc386aa6017d6b2d436d4e850958ad770840527ea9fa28a0e701c6754030769277746943bb846796dc1876bbcc8fe5dcc16a04f7eac409d0289c7c01c9e030d65905e3f9caee0dad58d028007bf1fd9b2f2a8f48d87cddfc9a32b17c92686039ff1d78a00c7d5bb22580a243cea122d9ec84cd60cb5f14e3981bfdb9e5fb79203d850c96ab9fc5d9d9eb7e9062ba5824d2f185f2825c11b31c8cbbf64e6a167b60355902b947abfe9c7bd602c3d6f61768b34e6e625159141caa1921e9242f2790703fad56423e5a4db1a4e82fb677670f93e925746d629531ace759f676f1394095c0219ffff03422cf5e44d163723efd10a699c9c9c7c9e80f7a8cbf7690f45a6750362963a3503ebd4bf812c376f86f276492b24dc704db93ec1d0a7feb3d6604cd8ad1c19de8503c673b889f7b583b9799da07206d6fa5db63ed964569b40728aad008e5cb0855e030487c094a2a38ad9727471da79ec9b482c12c6a9bbca9fbc92be54a359699021039282ce5b136146d1957c9274d6c830ff36d23932ecef88029d987561721a8c3803d3acf8a5983235302d63192a8e6c65162083126041d7a56e3e368fe0e627950f03ec3ddbf379691b45429ab46edc4dd71f697d211020fbabcf7588b7350a6124ee036843f90f958d75a1856c8a973bf070e95b31efc9d5a0cbfe236255fd264063f70380c03d8c435f581e5e221e607fb22c9f62c703cbcc007bae93da0c0b0e6b003c03f28b820ce2be7c764ee5a6e0b4317c1cabb4d89e981551d76c8ddd7cda94e936031e78b281f5be01741d271a411e1821edef79faeb2355da53a3dc0de4a9d2d3bf03c92c1b287ed1f84874969dc04082ad6ab6cec631bae9ea469444ed10cfdb02ed03c65595b83b78d3d5674f4ba2030a78f9a2728be6c5ed0874a1d62e759430de2c030aefd59a55190541300cc4ac4b207f65411b03437548289f4dd0982897bc5f6203c4d3997b5238942a5d77dd883db9301d40551fec98baaadfb51545ae58d1020e0354970122d51f4453df4aa6aff9a22e4bfc163e99d24a4e9bdf4d5bc378b247dd03d6e128e77ff0efff7fcfcb16c8252478dbee246391062893f35a9cf097315bcf0332d73834c05c5640347d46fa336b14afc42f2318672a8137ca13938fa038e6c103c79c51f8f35e80db2747a4cf6122a8ddf31039e8ca7a0c142bbb1379fd430d9a03eb3aabe035f957854b5c19a6ad1fcfb76c9789958e67f689d92db6df65734c2f030383faffbdeaa196710f84e9db891d05ee7e8c33ea7383e08a04cddc9e3e2a9c030f9f31aea4ad2313556320b1a1f24cd2a797ad9659045d3d5c07b50c21de9df305581e034e94555ea9126750645ced3b826f542dc3cead7252a77943c31ed2c70004030329164acf9a06c22bbe9da20100d94116c6ef93f44a5b58ebd6e1954c3bf436df03b5ebdd42014178bdcac222778dc5e9259605931ef1691bd0d3e3158ebecbb2f405581e03fc15124226f8aec49195278380a45073c6bb8ea55449a02700e46b0c1007011bffffffffffffffff05581d02ff820dac038d65c24211321c3f257a88d1b7de85fafed1a56d2173570c02474295fb3c8e8b8f04591e3c60806040526004361061014a575f3560e01c8063715018a6116100b3578063a2a957bb1161006d578063a2a957bb146103b3578063a9059cbb146103d2578063c9567bf9146103f1578063dd62ed3e14610405578063e7d656bd14610449578063f2fde38b1461045d575f80fd5b8063715018a61461030c5780637d1db4a5146103205780638da5cb5b146103355780638f9a55c01461035157806395d89b411461036657806398a5c31514610394575f80fd5b8063313ce56711610104578063313ce5671461025f57806349bd5a5e1461027a57806351bc3c85146102995780635431c94e146102af57806365406481146102ce57806370a08231146102ed575f80fd5b806306fdde0314610155578063095ea7b31461019d5780631694505e146101cc57806318160ddd1461020357806323b872dd1461022b5780632fd689e31461024a575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5060408051808201909152600e81526d486f747469652046726f6767696560901b60208201525b6040516101949190611ae4565b60405180910390f35b3480156101a8575f80fd5b506101bc6101b7366004611b2d565b61047c565b6040519015158152602001610194565b3480156101d7575f80fd5b506012546101eb906001600160a01b031681565b6040516001600160a01b039091168152602001610194565b34801561020e575f80fd5b506b015b6a759f4835dc240000005b604051908152602001610194565b348015610236575f80fd5b506101bc610245366004611b57565b610492565b348015610255575f80fd5b5061021d60165481565b34801561026a575f80fd5b5060405160128152602001610194565b348015610285575f80fd5b506013546101eb906001600160a01b031681565b3480156102a4575f80fd5b506102ad6104f9565b005b3480156102ba575f80fd5b506102ad6102c9366004611b95565b61054e565b3480156102d9575f80fd5b506102ad6102e8366004611bcc565b610660565b3480156102f8575f80fd5b5061021d610307366004611bec565b61073f565b348015610317575f80fd5b506102ad610760565b34801561032b575f80fd5b5061021d60145481565b348015610340575f80fd5b505f546001600160a01b03166101eb565b34801561035c575f80fd5b5061021d60155481565b348015610371575f80fd5b50604080518082019091526006815265484f5454494560d01b6020820152610187565b34801561039f575f80fd5b506102ad6103ae366004611c07565b6107d1565b3480156103be575f80fd5b506102ad6103cd366004611c1e565b6107ff565b3480156103dd575f80fd5b506101bc6103ec366004611b2d565b6109ae565b3480156103fc575f80fd5b506102ad6109ba565b348015610410575f80fd5b5061021d61041f366004611b95565b6001600160a01b039182165f90815260046020908152604080832093909416825291909152205490565b348015610454575f80fd5b506102ad610a52565b348015610468575f80fd5b506102ad610477366004611bec565b610a99565b5f610488338484610b80565b5060015b92915050565b5f61049e848484610ca3565b6104ef84336104ea85604051806060016040528060288152602001611ddf602891396001600160a01b038a165f9081526004602090815260408083203384529091529020549190611141565b610b80565b5060019392505050565b6010546001600160a01b0316336001600160a01b0316148061052e57506011546001600160a01b0316336001600160a01b0316145b610536575f80fd5b5f6105403061073f565b905061054b81611179565b50565b6010546001600160a01b0316336001600160a01b0316148061058357506011546001600160a01b0316336001600160a01b0316145b61058b575f80fd5b6001600160a01b0382166105e65760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f74206265203000000000000060448201526064015b60405180910390fd5b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa15801561062a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061064e9190611c4d565b905061065b8383836112e9565b505050565b5f546001600160a01b031633146106895760405162461bcd60e51b81526004016105dd90611c64565b6106a260646b015b6a759f4835dc240000005b9061133b565b8210156106e15760405162461bcd60e51b815260206004820152600d60248201526c76616c756520746f6f206c6f7760981b60448201526064016105dd565b6106f860646b015b6a759f4835dc2400000061069c565b8110156107375760405162461bcd60e51b815260206004820152600d60248201526c76616c756520746f6f206c6f7760981b60448201526064016105dd565b601455601555565b6001600160a01b0381165f9081526002602052604081205461048c90611383565b5f546001600160a01b031633146107895760405162461bcd60e51b81526004016105dd90611c64565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146107fa5760405162461bcd60e51b81526004016105dd90611c64565b601655565b5f546001600160a01b031633146108285760405162461bcd60e51b81526004016105dd90611c64565b83156108845760405162461bcd60e51b815260206004820152602560248201527f4275792072657761726473206d757374206265206265747765656e20302520616044820152646e6420302560d81b60648201526084016105dd565b601e8211156108e05760405162461bcd60e51b815260206004820152602260248201527f42757920746178206d757374206265206265747765656e20302520616e642033604482015261302560f01b60648201526084016105dd565b821561093d5760405162461bcd60e51b815260206004820152602660248201527f53656c6c2072657761726473206d757374206265206265747765656e20302520604482015265616e6420302560d01b60648201526084016105dd565b601e81111561099a5760405162461bcd60e51b815260206004820152602360248201527f53656c6c20746178206d757374206265206265747765656e20302520616e642060448201526233302560e81b60648201526084016105dd565b600893909355600a91909155600955600b55565b5f610488338484610ca3565b5f546001600160a01b031633146109e35760405162461bcd60e51b81526004016105dd90611c64565b601354600160a01b900460ff1615610a3d5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e6700000000000000000060448201526064016105dd565b6013805460ff60a01b1916600160a01b179055565b6010546001600160a01b0316336001600160a01b03161480610a8757506011546001600160a01b0316336001600160a01b0316145b610a8f575f80fd5b4761054b816113fe565b5f546001600160a01b03163314610ac25760405162461bcd60e51b81526004016105dd90611c64565b6001600160a01b038116610b275760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105dd565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610be25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105dd565b6001600160a01b038216610c435760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105dd565b6001600160a01b038381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d075760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105dd565b6001600160a01b038216610d695760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105dd565b5f8111610dca5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105dd565b5f546001600160a01b03848116911614801590610df457505f546001600160a01b03838116911614155b1561103757601354600160a01b900460ff16610e8c575f546001600160a01b03848116911614610e8c5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c65640060648201526084016105dd565b601454811115610ede5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016105dd565b6013546001600160a01b03838116911614610f635760155481610f008461073f565b610f0a9190611cad565b10610f635760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016105dd565b5f610f6d3061073f565b601654601454919250821015908210610f865760145491505b808015610f9d5750601354600160a81b900460ff16155b8015610fb757506013546001600160a01b03868116911614155b8015610fcc5750601354600160b01b900460ff165b8015610ff057506001600160a01b0385165f9081526005602052604090205460ff16155b801561101457506001600160a01b0384165f9081526005602052604090205460ff16155b156110345761102282611179565b47801561103257611032476113fe565b505b50505b6001600160a01b0383165f9081526005602052604090205460019060ff168061107757506001600160a01b0383165f9081526005602052604090205460ff165b806110a957506013546001600160a01b038581169116148015906110a957506013546001600160a01b03848116911614155b156110b557505f61112f565b6013546001600160a01b0385811691161480156110e057506012546001600160a01b03848116911614155b156110f257600854600c55600954600d555b6013546001600160a01b03848116911614801561111d57506012546001600160a01b03858116911614155b1561112f57600a54600c55600b54600d555b61113b84848484611439565b50505050565b5f81848411156111645760405162461bcd60e51b81526004016105dd9190611ae4565b505f6111708486611cc0565b95945050505050565b6013805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111bf576111bf611cd3565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611216573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061123a9190611ce7565b8160018151811061124d5761124d611cd3565b6001600160a01b0392831660209182029290920101526012546112739130911684610b80565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906112ab9085905f90869030904290600401611d02565b5f604051808303815f87803b1580156112c2575f80fd5b505af11580156112d4573d5f803e3d5ffd5b50506013805460ff60a81b1916905550505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261065b908490611467565b5f61137c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611538565b9392505050565b5f6006548211156113e95760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016105dd565b5f6113f2611564565b905061137c838261133b565b6011546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611435573d5f803e3d5ffd5b5050565b8061144657611446611585565b6114518484846115b2565b8061113b5761113b600e54600c55600f54600d55565b5f6114bb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116a39092919063ffffffff16565b80519091501561065b57808060200190518101906114d99190611d73565b61065b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105dd565b5f81836115585760405162461bcd60e51b81526004016105dd9190611ae4565b505f6111708486611d92565b5f805f61156f6116b9565b909250905061157e828261133b565b9250505090565b600c541580156115955750600d54155b1561159c57565b600c8054600e55600d8054600f555f9182905555565b5f805f805f806115c187611700565b6001600160a01b038f165f90815260026020526040902054959b509399509197509550935091506115f29087611755565b6001600160a01b03808b165f9081526002602052604080822093909355908a16815220546116209086611796565b6001600160a01b0389165f90815260026020526040902055611641816117f4565b61164b848361183a565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161169091815260200190565b60405180910390a3505050505050505050565b60606116b184845f8561185e565b949350505050565b6006545f9081906b015b6a759f4835dc240000006116d7828261133b565b8210156116f7575050600654926b015b6a759f4835dc2400000092509050565b90939092509050565b5f805f805f805f805f6117188a600c54600d54611935565b9250925092505f611727611564565b90505f805f6117388e878787611981565b919e509c509a509598509396509194505050505091939550919395565b5f61137c83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611141565b5f806117a28385611cad565b90508381101561137c5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105dd565b5f6117fd611564565b90505f61180a83836119cd565b305f908152600260205260409020549091506118269082611796565b305f90815260026020526040902055505050565b6006546118479083611755565b6006556007546118579082611796565b6007555050565b6060824710156118bf5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105dd565b5f80866001600160a01b031685876040516118da9190611db1565b5f6040518083038185875af1925050503d805f8114611914576040519150601f19603f3d011682016040523d82523d5f602084013e611919565b606091505b509150915061192a87838387611a4b565b979650505050505050565b5f808080611948606461069c89896119cd565b90505f61195a606461069c8a896119cd565b90505f6119718261196b8b86611755565b90611755565b9992985090965090945050505050565b5f80808061198f88866119cd565b90505f61199c88876119cd565b90505f6119a988886119cd565b90505f6119ba8261196b8686611755565b939b939a50919850919650505050505050565b5f825f036119dc57505f61048c565b5f6119e78385611dc7565b9050826119f48583611d92565b1461137c5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105dd565b60608315611ab95782515f03611ab2576001600160a01b0385163b611ab25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105dd565b50816116b1565b6116b18383815115611ace5781518083602001fd5b8060405162461bcd60e51b81526004016105dd91905b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b038116811461054b575f80fd5b5f8060408385031215611b3e575f80fd5b8235611b4981611b19565b946020939093013593505050565b5f805f60608486031215611b69575f80fd5b8335611b7481611b19565b92506020840135611b8481611b19565b929592945050506040919091013590565b5f8060408385031215611ba6575f80fd5b8235611bb181611b19565b91506020830135611bc181611b19565b809150509250929050565b5f8060408385031215611bdd575f80fd5b50508035926020909101359150565b5f60208284031215611bfc575f80fd5b813561137c81611b19565b5f60208284031215611c17575f80fd5b5035919050565b5f805f8060808587031215611c31575f80fd5b5050823594602084013594506040840135936060013592509050565b5f60208284031215611c5d575f80fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561048c5761048c611c99565b8181038181111561048c5761048c611c99565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611cf7575f80fd5b815161137c81611b19565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611d525784516001600160a01b031683529383019391830191600101611d2d565b50506001600160a01b03969096166060850152505050608001529392505050565b5f60208284031215611d83575f80fd5b8151801515811461137c575f80fd5b5f82611dac57634e487b7160e01b5f52601260045260245ffd5b500490565b5f82518060208501845e5f920191825250919050565b808202811582820484141761048c5761048c611c9956fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201c11dabda3886ad5ac31a9cb4bfccece4fc2f38b1c1cc44f2d05605224ca831b64736f6c63430008190033031a2db62beea11a0b786e2cc458a44b70cb50f5b896de85f0588b2d05ea01f42e03442b7c327aee451eee902ee7f55963ff76957148c04a4b3d1d76a7566dfcf41e03ce7871e82d42bcb838b0ad4f7d1ae25e0fb6ed1f948e1dafec676363084acecf037bb45e17eb9efce83ca5d5c2309a6b6347cd08eb01104e5f05f267bff636643b0357cef11985ae1b455a93e552f765c8a7d2c668349d41cd9f0b87f24911f0787503202b72d6cd50c17bd3ddf6c82ca0b2f339b22626c654a833b0ee36e8c8733dc403cc3cbd18973b9b8041767a8d387c8230d5dcd0c773c0298bbb11c8484e71d62a033bba96ab377cdbefed6cb31c3f2a9122a89b1dd1cc82dbb900fa4671d84ea2b2033fd113cd5029725fe162c9d2f452878712c99cca2b6d271430907f505d2a90210312133e488f26cc35f4bf60342f1a7eeeae2affef2e098749badae777edf659a00316179531480fecfb7e93a88a8e2723f5d501170c37c384604fb4c2de7d264fa10388d3a2984dad3ee7cd2827ab45248b2361990ee3e5b769c2b96f493984d574570357e86f93f465bfffae4597e4c59cb2683f47353e0ed97a9bd3cf91b66cf6fca103989b081702e4d747efb810971ca60efcb715f375f0b914dd96401e72e591ebc4036fceebcc54add8f78a1c764d296bf6490eddad62ca83b424e43bf6642c10fcad035d6a044ac2a46f45956054613d37e6648ff236ebbb39a53cd99b1a591bfc4627036d1d9b817263542ede4d29208d7a951add4a2d7d0b828f172f20a4da5633c10b03c127763f56af76797cd5c7ce73e5662ae7d99c9b64a132048e4b779100bf4c910369241d59c92264a147108087f671495febbe8fb60faba8a1d07eee380c0b38ce0058200391057a544370177a4e6a5d5c67073838b13a71f4eba3f0f21a988815f1b8805820fffffffffffffffffffffffffffffffffffffffffffe31852872c37b1b00fffe00582003b4b54010a78f644a56c12af90d37335477b141e3376d2e484ff72c944d6ec04101033024c48468d4cc7bb07e19e4cd3b410ad9d7f3ff007c8a1f29904a7af03b3542005820031f6bb43fec4d14259c509411d50f28b30d3bed8e799e2c77ef9026f175bf905820fffffffffffffffffffffffffffffffffffffffffffffb28403cd1018bdf6136036edda4f8df862f74ff208ca07be908e43a84bd42afc0c311932a17631e4d9e68036f4124f12e47f1f9dc4feae777c7f59d7d129811301be8d63db3f682c0c4b7e201410f00582003948b15778af121f6356c5345be5612909183d94d74526b4311af6be8f4f460581f13a8231d2365bdf9d74f7dc88e91f29b1dc557ea4d32be0c83d511f4e598da03f5f87dd04bddc1f1d612a50b3d8a1ed49cf4e9e072d1185a73db25002fdbfc5a0219647603d49d5ee64881709f4183b3a976ab04d80798a8edd1bbffae0db5965dbb7e7ec803547f84fef041163a7d3f1eae998f488edf6d1848fb28432bb67ef23a9fc826ac036fd0cb9f16c4f03c4e461b713cbfaacd702d63c76e919644a45a5f75620f0ca003a56051b2d85db78b9f7fb50ee2690b3f97dd28ad4f41e423c50bacd7aa2994cf0359297a726bee914a6c34c969aaa7a06d647cad39ce4a13b2b7f26e7c7e3e7cd903506bc9e18aa4104e57ef6816bd4e15ece87be5a6acbe0f90ce0adbf3870f0068039176d0b82f00365307c34b56c26684d3b0c9853fc4a4b85ace60090a0d3d2b9f0219ffff03e8f9526e558715cc65fa76020fbb588195ab56448453676b3c9c9ffb08461ba703e805b3d418d6952e94d666ec1574820e7a2c84f3e4a294188881f32c7f11f59f03297fc44dc766eb0a81087cf84061b0c1a17ad3d3e3301d8200a13828ca150dc00356c065ed9277b80d0e45bce3241750ba4046f4c10f0537c1ffde4fd9b1f86ace0219ffff05581d02e3c314cc75e7b977f425f853f3348cc4fedb091706b2e18e35ed6e960f01470aa87bee538000191e3c020c0301cf193837392b0ff9a80ad0edf0fc57b8a637740cc5a6cb2bf0ccd331f9b091036bca821b11f7e795277b62d458831620068b4758c5ad6cf98a0d64eb684838d203154ae4de748b4436f486990a0a5b830d7083820270cb1ae282fe41ab3fb90d8d05581e03d4461c5f017b5fa07015a3d7a19323caa641026d5bb5c3255afec367a004020219a4cc03b7276842494745c0680e0f94872ddc1e88546793afd5b0dfa960b1bfcf2d5282035f6b04900f8107fbed923c1c4b3fc9dd513006d730d5d80d0f02292d7b502d6a03281050e695c21872095eebbb9a30af8c0b92f140048f97f6c66db4f4fb71b57303e994bcb25f70a1e94eb8a6842a70d9154d470856fca8f113c085fbde8bb1a77803bff633117a5385ae0952644b015b2206370408b86ea58e5861327a03de2ddc8f0219ffff03c901d158c337ab7b56fac5bc5fe8b97e84f4718dac15bd963a78e5a799d602d4034fa624a314e74e590ad3c3ca2099f6ec061afdeceb7115ec6f390233ccca2be8032d13f736b5411377a56c72de4366286b749816951a023e7b8c636126fb7f42a503566e6a66f9036ea31a11994d6a947e127a7f714b7cfce0a70b76ddf60300065e03d93dee59fd70d8d1b4befca11f7e7f2ab0ecaf1b7b2894dbae6930677232192703c95bb5b43439b75f3fa791746f95a6d70b9f62d4fee3c92e928aa9e3e481f57f037bb033c0b94f7b870f7f1398484ad29741f287cdcd2892d18965ee5e3cef297d0355c991368cde6d8441682ae302dcaf98ab84964d35e4b4abbbcf326e9efaab1303c68c815ee4cd06ebe72c6bb59145d1362721fdd6b9e2f74f41568cc621e6ffab030fd976258cb25411b5e52771111809e5c054a27350ea06a20da0c41b47a5296c0362976e0d5b2f82a705509387cc43ae352d14ba8bac11ad3b86ab7b0d2c0cccd50364097b8fb7556cd2a92ab6162759e6ab9c411467bae1aaf2c7a3469b1d98dabe039d2c95899cf0f2747950df330e65a24dd8faac187b7516972b98413175e7103b0219ffff03e9bbcf0b35578170d83f7449e61f07d0a8bf4269b684b5c76ec4d7094b9abb1e03f576e5e754f17a9b8d1f5b15adf88da6061c75b5edd76684629f318b7632f6a60353aabcb636094542173c63ef033bd4a742383b6b65d8ca4ff756d3632fd9facb035a9f5a5da80a4cb7c0e989c6689178ab293c22737cd0629a962b4b6200cde67c038e88af882a8007e2774fd58d2dc19370ce12cf2446c21dbb04d5b9e1eee98edb0219ffff03e06475309ce91d6a637315029ce06c5c3c17678027846274b9fa74bbc046da0d03d647f1d311be1f565deb7724732a614698f16c3eec05bed0eacf890d19d5832f03f742114610cb57134cdabf7bf5cb82e75bd7d7c7f01e06945340ae524aff950b034acca44a84b3077d63ed3804af62e1a7314ad6029f169fddff3bf6d1cf475a110219ffff038922de4ca23620130794030e7291c6092b28d6e301f4bc3fa2801bd5d5b9157c037bd0708ad315b721fa863f00f7808dc9463f935c8cde7d67d25dadd4022e29de03b6491f9de1e88f34ed82655299399abe131611ce2376cb386456686d3d8e71ca03d0599e9b2bf9dd763e121173cd4cf9540e01a2a617e3afe7fed36584c986bdab0399998f61d80e77f928992c7bf35d98642231adc7c60b68b89f0538d9000deb5f03c12a311adbb33b8c911ac7b583c84f49a6da75742705fd9d03404a807c49f31e03aae4465cd5e3cfb5a8dad6e274e6691899f83e14272df55e39bdfe97e67214f8037d762e4b2d8109a36a579b93ff6d0f996b2664b78ec1644ab7e3e247a243f93b03a26295c611562e7c74475ff3b364b5794024ed12e159326155d9b04012faf50105581e03f113c7462e6dc842078c111ef4f57d7300182eb93606f4fc56ae07e040084616828ef54c0005581e0364c19f3c47b724b0739509c81c7768c43e69434e8f87de30b1d18e5d60040105581e03ec387644e69dfc8ac57406ea77fe1eb7c2414a5c527d7fba87f68f12c0040203d2fef8fd63d19c9603baf802427d3d6c282f1e2e25e185d88b0270eb6d823ca305581e03705e7eec0b4b2ff155c87fa769459ad5e72e4a5404591443dc3142f5000c0142138005581e038df2db2c4ef3f65c014496a7131905403f08faa687ebd3df4f77b8d34004188c05581e03747695d578e28f0a7e2c655be00f662bc86f4d0e3cb9d457ee87a25f600c1832471d17dda8bd1b7803a7a1c4417e189ae8965aea30fb4102e0808c047cc2367a8a2e963cd9ddde1fdd05581e03529fedf6d276e6133062ea4bb36e1dd2bec7c2307749e3b4fa28a22930040203004aa36c38cc384bf6cf36bd76e5154406ceb11badf2f8ec8efb6e28faa1475b0219ffc003039f84633bb579919a6219f690983bafa59f6c5767682322d5a7259ae1352b2403710b4110df3800e6c4f673310f377e12a5afc2f4a321a2f1d22e949be51f6a4403f1b282c3b70bd57e90c71c2005d1c114888368dfbd31c12e4b4eaa83aebd677503bcde8501a8c084186a8f69085f9f4897d8910ec282258b4231564cd7be4c584d037ff123e6c3854a0f89e15c0a49f2c899fb2d6e6754b75119a7ac956723b52bd303aa940425a83b71fa5f56faa6f4402449125395f13e36491892d0de4201c3fc850372ebf38977ca59cb4aba1c0c8a66e3ceffb90079227a1bcf5ec1a7cca95e13b403a4e257896105b5f0b50136aff6b7bd8eb6b1770f153d8e2607e3d372a36d0ce103aa8dec2f4e423497005663b3cb4e3f8b6440f336899bb842f223a08ba4f09da703412464207e8da499787b25e1ce1899bdcfc73e6e33d207f371f62bc61be8e454035eef51713eaa94df73bc7e3888b884e51bab7823f8d86eae61e6fe5d57081fe20387f1acc4b65c8ee779fe137cd58c8f75cce8199223be6044004daff1601a5d010377758d53c127cfded554cf936e86de48ff7d06e76b6b22cff04b9bad713a454c03a7325e411d10e160c71d7e655856ebb354c64ba22b1ed2b0d2f58c8729c335ea0219ffff03e848d099d34c06824b72e208eec75b8719506c724fdc28be8db651438520bb650350084ff107267f31cbe28bbc19358fa11bbf9d2490b0e9250349ec9dd1820fc0030a48406310d878b6ba887ce9f6b016f92486c44ecce64714b6e1eb3a4c3dfda203eabc033d37c18d54094cd07ef92b89fb73a546a464b8de3860348cc6b14493a2037d949d447b47b2bf39cc43f5c72abb0a4c2f1defd505a8c89cf9e7bebeb829730384ddc5fa82778540c00199536e29bf44d403f547e2095cb88619645f240441710319e5d594b88fcff2671bd8a29e7076a1f7af4dd38a2d4a4552cfedcce4c90d1303219b7d2e3e5a109314145639877d5cfb5b7b0a8ef9703b27d031543b8be766a403202926b016cc1728a47444a52ea838620a2af1f44a23bd01104bbf7ef3cf577b036d2f6014d3b8cdc263081285d92251c20e0056e147d895536be4186724c10c1103f7e6fd691ed40b1c1c2b24b62177bd38cff5bdce5e635b1831bebbdf282a535003947e9c6137beb54ad6a2180cdcda4611392abe44c6b64391209d9be059d06a190219ffff035c9ece8a2cb99fbcec4b2701ef752c59e44ab1fc790e6c67bd3074e9e8e109ae038afafab4e7fde060077cc8efb461c4f3391b926802ce2fb5b2f3e93774ec5a7703c5c17045f79c99a4668c83ae75fce679055525d716be8a3d85a45147292eacf80303c206de6f2e7e7b7c9ccbf56f36ae63b12b0fc62d7042c4950ee4e806bd24ea033ff8ab55d0601c298cf8eb16882e1da1aea2e7bc48fb7e8b1b6a16372bcd85d1039df9429b88f899a3e707870425fde1617ff1344287762e4aee6e1aee114a025f0357929e3d3561576f0d63bd24ffb87029118ff7d23fb8845a4fc5475523fb3a3c03ae45ee597706038e30b1a1ffffd1dd12aad62a4320335048bb6cbc3eb65564f803d4a0619ddf81c2f1a5a04d70f75afb1162cdc79da2ba0b6da2a5138cbe3e99cf03fee4c135510d67fd4c2040b109700021df65dc59863d67bfe0b20ac7b634f11403eb8503fbbedac790654108a691d48e93e1ba80121dffc18bd148d4625511523e035df54107a79b005a3dc876f6f0bbeb1b9800f1a0eece7a0c5d6137a5946da182039bbdcf55762520d1090a5da9735ef9d4a102a9862ac676ed828585d73f3dbfe803f089972ad06557a4674b3d17c88808c6496c5a37580d9d0e2708f3d987eea1020219ffff034df85b404303b595a3444614fa10f06cf0032ab1d526d01a2de3db50bdb8472f0306b2f53b151205eedec979b64310408b95a1401627330c47e0c10f4dfeaa80f00331c093024c085bf14a4f606eb8d69b2cd4664cf0432e31dd24adb667ea856265033f1f3854011a74cb89cb31f23a0b12c048ee15ecb6b10716eed791ba466d28e703b14bcfe192c736140fe481b76a5926076dd24a032c2580e60b378fcf9fef29810383c2111f7826f69aedc4dad22ebd68d8e4b5c400689da9c71c048fb48d9686800340af43020d26f0d098e8ad25f73a437ff8e161de8063f95586a4c9c3dec364bd031c2ea950e6bb7eb48d80ca06862ffa46bf545ad60cd36f5332e2313164a1101f0331a1e08346e700f74945c071aea257e52d00e3293a8a34b80246325524e78b6203d380b6012adf503a1689b7519f1a4da4f40da9bb4e9a341fef22ee9f578e4c92036105bc348e92aab325805eb1094be3af454f79a62067bd3e98268f220702f5f80219ffff033f8e99f34404a91223cbbbdf385a27a2c8393a7c43f25ec944696487a5031fca03f37a391b67a3995617be367c06c3f38355c3f402415085217ad8e84d28daed05030764fd18c860f8453bc0d1306d1e9f8402e87c34e8350eec3a1ae5725d21a08f03ee56d98cfc52ba32d5fab3687f88271544c5f00e7eed709861356cc62644e07503668085435f0588467adeda89db802ff255aca363c472bf2bcc96595c731ae33c03fc2828d776d4307e23a5efda0b28eb17f0eed9cb4da8494b1ad6e8d3c1aeeb430355851bd9b9809751be0289f3bf1c9503323c6db4dbedc9d54bbbeaa852b7739803dc0a4711e790241b2f3b7e84a6665580f89a5efa35c4f92d68bbadd805da743003fab5e65786acaa2c7884f7f8bfe03e689ddbba462edd357a27d0e05d390925bd0345b2a0410d44b00dbd3a422103f584cbbcf933df47037424d00e5dcab0444526038c9af58a5ec8fe480862c429dc9101cd17021b3f31e7df34847740a6c1f12aab031c5580c85571e0edb1fec7b948b93a6e6d9b77eeeceefd6e5b43000990e7f47d0362fdf91fe2cadff4167887a0be18d7e406581a7ee662bcdd7ff4b16b86ed380a0347dd7e78252d22ba501eddecb86341f6f8a00020401f4d3e903fdb6fe3abc2030320f5d74cb08db00958f327afe013be9c995ebeee012e50ed789cc8383f057d5b03079562fffb32adc69396bd9d9455cb52b0312636bc632318e2a8a76fcf53480b03ba3ee4aca3ac91e2930cb368a75e4ecd2a480b05624b00657da987c1ff68839f03d24c9abf5aac8f2a261df65abbb1553d037c24975af252351b03b89c3ce4c5ad039eeb3f4acc237e21f391adfbf60330ef998ba09d4e2f5b58fe16a127040401c303e50f216abd8835df08105c8e5fcb6160d5d40c56302c14803e2699faf8a6b5b4037461ddb22c35368392736672038d455d3f93789750d1316e0300497850e8bebb03fc38dd8f3da72f2da6a88fc21f27529d24527887b92c1b67af3d416fc031d94503ee0fdf198fcaaff4eceb29fb3be5fdc0579f73318c2182ae0348b401c1d521a90355d652123327b32cf9d0ac8f776ac9ba39eca86c7c9324c30699831f8097a82a0316c2e393787047a6cb3ee9caae97784adff96982147d70743382951025a25b0903c30f794c1756aac4cec87cb85b292bf0fdc663c8a31a1083167e88d54a75091a03084bbe98382dd320d0dd45edf7e7744de5a15aa94dcdba9048b0496a4273adc30377367a907f13b584f7ef66a46a81d81f43dfe7f9b3396750ae3f888ba0253e0403137ee091899404afe3f38c966dea38e2f186ef54f150bc44884be0f713f2fa5c03359de3962a5dde8e02f73196d57685bcb228b8ac7f516f43268953db74ce9dc303caa9d83a6f95be7f4a87c9027cf28ea5c1dcca17dfe73787330819d83ffa9e0f034801f72eee41d4e6f15d58f086d4e172512e8e6ee2c0c56ba584606f840b1db5030375f7058f2ef0d0e5ae454857fe3e7c27a912db94f4a5df37036482076cc84b03260f1882661bd56a6899b0247bd1236b5aecf5ba94eaeabcea2000861a43573b032535bdddc7eab775cefb6eb69458b53403be8023f755accf28e7b717c2483fea03d053f3c6bf7ae25d14f5974e83feebce6178074a03ad4630f087d52f7e64231f038593243fd8a8f1ae6acf4f5af0b31c7f93ce23d9979d3d894306d223c9e3f4f9039981cac300e86d224a1dbc292b468e4a630fdbefed30fe3362104dc0c25cfdc705581e03abdb6a87f372138749245f0c4c9094211bb323d4676caa174d086fb0700c01465ac5324ba76005581e030bb4c9509790a0821a8be7c19e58cfa91541d1d2d5fc2f4439f5c002f00c01462951734ebd3f031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e030bbf24cef4a7319cbfb0040f24cc85165b32d2552247bec73d8c82ba2007011bffffffffffffffff0383bc7446a9e08bbdd5625072082dab042ccba84e414bdb634c4ad7c62733631805581e03fc3b52c21a540d545fe767ef9647fce265fb664c11d1cecc47ffd0b490040105581e03069e9ced95b0b7d56e54de10d5830df83fbd9a053a881cd6e53dad24700c184246961e19b105a80377cc7907d03ebc128c604414da08632bdc8e198d713cfd2f8eb1a2a5982d9a7105581d02af8ffddc66e0deb244e34997a8c1833d0b23e7e4b40870132b1ab00e0c1855484fddca165aa6008905581d02c68c065dcd1db25db5e0fb8942f76dcbb1af0d35bf9941c490f60f0a04020219020405581e032f27be5cb06ec252595149b8b954fb50311059c7f4ac03ad0af6fd2e800c0247040b05bb4ecdb40219ecf403d1e6f44c08521de31730ce091fd3aeef0cfa1f533fa722ff821b874aabcd56d603cc8ff06549b648b1a298344497eeae7292c6fd2acc645f738bd6acdfdfbf184b03335b1feadabbc343d7bdf1f4eb3eeeee69b883fc2a99741bd80dec2ce9a07a52034dbe078c201a11a72c18557e0440604150dcc1351802baa0ad0ce98bbcd9eadf03b639b29233f087d3942cbb0ecdc3205bb120440ab58881567e2cbeff1e600de403d4d2ff79b80ecab651d213ffb452d87e2fa57f130105bd19063e469c36b7d0850307bfa26a7f5b7c8bf6e21c39c3885c2dcda4589aae72c248686cf052a72062ca0333bd61b965ebd8188248c3c8fc1dfc39f999a8cfed398fd57bb21bbc38765f3c0219ffff03fa0404cbb9c6048e4963c5795d84159516785ca1e3ff475afc4c21add3c2bd3f0324ea1dfed7295821e24f2db52e26bcff6c3dd4ba34b9d9c8cf4d8124c8782cdd03693844f04244b19a37c1d2868f6758dbc1a11b9e1c059ef56ec015e0f78f77d403361af8dc50f20350201e420bde87e5d93239e065952677504fcea0abb57ee98e036bd773459371867598145d684ecee40cf6f2b876bc8155220ec3f8e0231789e603385aa5ea1a4425afedf354f30da45d23346b2ee2aea8e0e2428c6756caaf0256033ed3c0958b33fbf9c9a639aca5e88348e9c2aff412b2b74ab8d6ad28b1e3a22003ce815f8133166a7d7bcc6da6657d05bcb3a7779ad13f62fd89f82bc13ca9bd220219ffff030d05d997d83e95c73a735d38d323fd5ca5a326ac033bc0b44aa25027fc572c490219ffff03662276e02a8d635a5c341e3fd4fe62692400b761abea839620207f06b8fa3acf03d177107a445c7a47011d15acca54b2d8776385d0f8c15188fe3894c857ec92ea03ea1b1f454b8985400d937cd4489172f20bf0c90d46005d2af69dec98f2407f3403176d1955e67a9f0e79a9d8f6ddfeca087d6794b738e49f44e62ea5389e9ad1a6031b17c4825b191e85a2d1eac61ba90e57936d11a260a326c430e946598fdc014903b5bc8d7afcdcb3460dd52873fe24ab5d490184b94912b4e88e4aff30bea5e0f20219ffff0219ffff0379a83eb95734b46efe62407f3ae3e8235247e94ed73868565e5a6b29c1ed95330393e70fb7315dfc049e618ed8225a7bf6a41bb3663e724756b060eb91919a1f1c031c080aa7f29c743aa3de00323cde2b0b847478b34785186c3dbf4677575ac02a034710ebce85b7b45da76e1a5113c7e4957c216577d2308f6da4db17efd018f31a032630febb6d2d7c88e6a08212e86b28de78d28a1bd8b3fd5aa184ee32aa951c400318fe59a114cbd007ede97a3d00b14aed2d5041bd551f4abdb98d67ec2aa3b2180316c2acc823b439083d7e92a43126c8e0371faf27ae5b86ee98c46a5a0b9a085103c58983782ea74d45a61913d8236d374f239cd636bd6c72669036484045e191870399ac584f6d48f69ebf33cef2a6718914642f53e33a3cb32e4dbe5fc7283b2b87033fe00ec2cf539a715dcbeedd6967c171079d028466e0c7e9ae8ccb013f50bf5803503f0e64f49ff5679813c8743232796c3f468aa3ead04b63bd3e2f10f5f409140318e9cbb1fca6668ae958cf6418bedb4dec20a258666e991b2cace1f518cf458603542c5accf2608f2667ba37d3b1f5d0fdb223582d9c5198afa98c0f0e8a6e02e50303aabd91fd832b5d3ee8716c3c8fa9a5abe33cd092f60bc75a8e94b09d5343df032f7ced6b106d360d189333e7c4c265d4f1aa6d050ec18120e7749cc2ec69cb2403913f5f349d0a345f016de78a6f724a47c4a162e8165075c8ccee8802c62411d603a1f149541c640478e5042dc79f21a9c3355e0cac1b803e18d26f7094f9a1d0dc034ff9938389908b240b99ba202701169f0d41ed622e4fab2036c5d6f0b03aa7d60394378c3ce512dd85ffb2c1cc55e2b4934d80d95b5b71bd95c0ad219790cf854a05581e03647f192fe15db1ed0d12ec707f57fd221ffd8638750d9e861e823c6eb00c0147425f8b3b2cd3ed05581e030243b06a3f1a8a19e1fbe3fb023de00133a7d1741c49ad5a9a765fa340040303a255671479cdf95443e458784f9557a1259dbd9db634672c429efcc684888fd603e40477eaee29e5d47919aea45f8a0774a3d2861e6e0ea39e6c217022cd892b7101410e05581e03a65cabb2dca8400d27276c08590538e53e7b39bf0e5b88cf98e92edf600c0247a6bdd59f8044860459301d60806040526004361061009a5760003560e01c80632d771389116100695780636999b3771161004e5780636999b377146101715780638da5cb5b1461019e578063f2fde38b146101cb57600080fd5b80632d7713891461013e5780633f62192e1461015e57600080fd5b80630d335884146100a65780630d7a16c3146100bb57806312261ee7146100ce57806313fb72c71461012b57600080fd5b366100a157005b600080fd5b6100b96100b4366004612281565b6101eb565b005b6100b96100c936600461232f565b610364565b3480156100da57600080fd5b506101027f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba381565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100b9610139366004612371565b6104c5565b34801561014a57600080fd5b506100b961015936600461240f565b610683565b6100b961016c366004612433565b61078f565b34801561017d57600080fd5b506001546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101aa57600080fd5b506000546101029073ffffffffffffffffffffffffffffffffffffffff1681565b3480156101d757600080fd5b506100b96101e636600461240f565b610894565b6101f3610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161020a5790505090506102b2846109f6565b816000815181106102c5576102c5612497565b60200260200101819052506102d981610b62565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da6289061031990849087908790600401612699565b600060405180830381600087803b15801561033357600080fd5b505af1158015610347573d6000803e3d6000fd5b5050505061035481610bb3565b5061035f6001600255565b505050565b61036c610985565b8060008167ffffffffffffffff81111561038857610388612468565b60405190808252806020026020018201604052801561044357816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816103a65790505b50905060005b828110156104a25761047d85858381811061046657610466612497565b9050602002810190610478919061275f565b6109f6565b82828151811061048f5761048f612497565b6020908102919091010152600101610449565b506104ac81610b62565b6104b581610bb3565b50506104c16001600255565b5050565b6104cd610985565b8260008167ffffffffffffffff8111156104e9576104e9612468565b6040519080825280602002602001820160405280156105a457816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816105075790505b50905060005b828110156105ec576105c787878381811061046657610466612497565b8282815181106105d9576105d9612497565b60209081029190910101526001016105aa565b506105f681610b62565b6040517f585da628000000000000000000000000000000000000000000000000000000008152339063585da6289061063690849088908890600401612699565b600060405180830381600087803b15801561065057600080fd5b505af1158015610664573d6000803e3d6000fd5b5050505061067181610bb3565b505061067d6001600255565b50505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610709576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a4544000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff000000000000000000000000000000000000000083168117909355604080519190921680825260208201939093527fb904ae9529e373e48bc82df4326cceaf1b4c472babf37f5b7dec46fecc6b53e0910160405180910390a15050565b610797610985565b604080516001808252818301909252600091816020015b6040805161016081018252600060a0820181815260c0830182905260e0830182905261010083018290526101208301829052606061014084018190529083528351808201855282815260208082018490528186018490528085019190915293830181905280830152608082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816107ae579050509050610856826109f6565b8160008151811061086957610869612497565b602002602001018190525061087d81610b62565b61088681610bb3565b506108916001600255565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a454400000000000000000000000000000000000000006044820152606401610700565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b60028054036109f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610700565b60028055565b6040805161016081018252600060a0820181815260c0830182905260e083018290526101008301829052610120830182905260606101408401819052908352835180820185528281526020808201849052818601849052840152928201839052828201929092526080810182905290610a6f838061279d565b810190610a7c9190612b26565b9050610a8781610d06565b6040518060a0016040528082600001518152602001610abd836020015184604001518560a00151610e339092919063ffffffff16565b8152602001610ae3836020015184604001518560c00151610f059092919063ffffffff16565b8152602001848060200190610af8919061279d565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001610b3b83610fec565b9052606082015160208301516080840151929450610b5c92859291906112be565b50919050565b805160005b8181101561035f576000838281518110610b8357610b83612497565b60200260200101519050610b9681611367565b610ba081336117e1565b610baa8133611919565b50600101610b67565b805160005b81811015610cf5576000838281518110610bd457610bd4612497565b602002602001015190506000816040015151905060005b81811015610c5557600083604001518281518110610c0b57610c0b612497565b60200260200101519050610c4c81604001518260200151836000015173ffffffffffffffffffffffffffffffffffffffff16611cac9092919063ffffffff16565b50600101610beb565b5081600001516020015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16868581518110610c9e57610c9e612497565b6020026020010151608001517f78ad7ec0e9f89e74012afa58738b6b661c024cb0fd185ee2f616c0a28924bd66856000015160400151604051610ce391815260200190565b60405180910390a45050600101610bb8565b5047156104c1576104c13347611cf3565b60408101518151606001511015610d49576040517f773a618700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806020015181604001511015610d8b576040517f48fee69c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60a08101516040810151602090910151146108915760005b8160c00151518110156104c1578160c001518181518110610dc657610dc6612497565b6020026020010151604001518260c001518281518110610de857610de8612497565b60200260200101516020015114610e2b576040517fd303758b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600101610da3565b610e6d6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b836040015184602001511115610eaf576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610ec5856020015186604001518686611d92565b60408051606081018252875173ffffffffffffffffffffffffffffffffffffffff1681526020810192909252958601519581019590955250929392505050565b82516060908067ffffffffffffffff811115610f2357610f23612468565b604051908082528060200260200182016040528015610f8c57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610f415790505b50915060005b81811015610fe357610fbe868281518110610faf57610faf612497565b60200260200101518686611e2c565b838281518110610fd057610fd0612497565b6020908102919091010152600101610f92565b50509392505050565b6040517f4578636c757369766544757463684f726465722800000000000000000000000060208201527f4f72646572496e666f20696e666f2c000000000000000000000000000000000060348201527f75696e74323536206465636179537461727454696d652c00000000000000000060438201527f75696e74323536206465636179456e6454696d652c0000000000000000000000605a8201527f61646472657373206578636c757369766546696c6c65722c0000000000000000606f8201527f75696e74323536206578636c757369766974794f766572726964654270732c0060878201527f6164647265737320696e707574546f6b656e2c0000000000000000000000000060a68201527f75696e7432353620696e7075745374617274416d6f756e742c0000000000000060b98201527f75696e7432353620696e707574456e64416d6f756e742c00000000000000000060d28201527f44757463684f75747075745b5d206f757470757473290000000000000000000060e982015260009060ff01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152608083019091526052808352909190612edb60208301396040518060c00160405280608d8152602001612f5b608d91396040516020016111de93929190612bfa565b604051602081830303815290604052805190602001206112018360000151611efc565b83602001518460400151856060015186608001518760a00151600001518860a00151602001518960a001516040015161123d8b60c00151611f96565b60408051602081019b909b528a01989098526060890196909652608088019490945273ffffffffffffffffffffffffffffffffffffffff92831660a088015260c08701919091521660e0850152610100840152610120830152610140820152610160015b604051602081830303815290604052805190602001209050919050565b6112c88383612034565b61067d5780611303576040517fb9ec1e9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604084015160005b815181101561135f57600082828151811061132857611328612497565b60200260200101519050611351846127106113439190612c3d565b602083015190612710612081565b60209091015260010161130b565b505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff166113875750565b6001546040517f8aa6cf0300000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690638aa6cf03906113de908590600401612c77565b600060405180830381865afa1580156113fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526114419190810190612c8a565b60408301515181519192509060006114598284612c3d565b67ffffffffffffffff81111561147157611471612468565b6040519080825280602002602001820160405280156114da57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161148f5790505b50905060005b8381101561152b57856040015181815181106114fe576114fe612497565b602002602001015182828151811061151857611518612497565b60209081029190910101526001016114e0565b5060005b828110156117d257600085828151811061154b5761154b612497565b6020026020010151905060005b828110156116095786818151811061157257611572612497565b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff16826000015173ffffffffffffffffffffffffffffffffffffffff16036116015781516040517ffff0830300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b600101611558565b506000805b8681101561168e5760008960400151828151811061162e5761162e612497565b60200260200101519050836000015173ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16036116855760208101516116829084612c3d565b92505b5060010161160e565b50815160208901515173ffffffffffffffffffffffffffffffffffffffff9182169116036116cb5760208089015101516116c89082612c3d565b90505b806000036117205781516040517feddf07f500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610700565b61172e816005612710612081565b826020015111156117a1578151602083015160408085015190517f82e7565600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff93841660048201526024810192909252919091166044820152606401610700565b81846117ad8589612c3d565b815181106117bd576117bd612497565b6020908102919091010152505060010161152f565b50604090940193909352505050565b81515173ffffffffffffffffffffffffffffffffffffffff163014611832576040517f4ddf4a6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815160600151421115611871576040517f70f65caa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81516080015173ffffffffffffffffffffffffffffffffffffffff16156104c1578151608001516040517f6e84ba2b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690636e84ba2b906118ed9084908690600401612d5a565b60006040518083038186803b15801561190557600080fd5b505afa15801561135f573d6000803e3d6000fd5b7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba373ffffffffffffffffffffffffffffffffffffffff1663137c29fe6119d9846040805160a0810182526000606082018181526080830182905282526020820181905291810191909152506040805160a081018252602080840180515173ffffffffffffffffffffffffffffffffffffffff1660608085019182529151850151608085015283528451840151918301919091529251909201519082015290565b6040805180820182526000808252602091820152815180830190925273ffffffffffffffffffffffffffffffffffffffff8616825280870151810151908201528560000151602001518660800151604051806080016040528060528152602001612edb60529139604080517f4578636c757369766544757463684f726465722800000000000000000000000060208201527f4f72646572496e666f20696e666f2c000000000000000000000000000000000060348201527f75696e74323536206465636179537461727454696d652c00000000000000000060438201527f75696e74323536206465636179456e6454696d652c0000000000000000000000605a8201527f61646472657373206578636c757369766546696c6c65722c0000000000000000606f8201527f75696e74323536206578636c757369766974794f766572726964654270732c0060878201527f6164647265737320696e707574546f6b656e2c0000000000000000000000000060a68201527f75696e7432353620696e7075745374617274416d6f756e742c0000000000000060b98201527f75696e7432353620696e707574456e64416d6f756e742c00000000000000000060d28201527f44757463684f75747075745b5d206f757470757473290000000000000000000060e9820152815160df8183030181526101bf8201909252608d60ff820181815291612f5b9061011f01396040518060600160405280602e8152602001612f2d602e9139604051602001611c119493929190612d89565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905260608a01517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b168352611c7e9695949392600401612e12565b600060405180830381600087803b158015611c9857600080fd5b505af115801561135f573d6000803e3d6000fd5b73ffffffffffffffffffffffffffffffffffffffff8316611cd15761035f8282611cf3565b61035f73ffffffffffffffffffffffffffffffffffffffff84163384846120bd565b60008273ffffffffffffffffffffffffffffffffffffffff1682611af490604051600060405180830381858888f193505050503d8060008114611d52576040519150601f19603f3d011682016040523d82523d6000602084013e611d57565b606091505b505090508061035f576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082821015611dce576040517f4313345300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b428211611ddc575082611e24565b428310611dea575083611e24565b4283900383830386861015611e0f57611e068688038383612081565b87039250611e21565b611e1c8787038383612081565b870192505b50505b949350505050565b6040805160608101825260008082526020820181905291810191909152836040015184602001511015611e8b576040517f7c1f811300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611ea1856020015186604001518686611d92565b90506040518060600160405280866000015173ffffffffffffffffffffffffffffffffffffffff168152602001828152602001866060015173ffffffffffffffffffffffffffffffffffffffff168152509150509392505050565b60006040518060c00160405280608d8152602001612f5b608d913980516020918201208351848301516040808701516060880151608089015160a08a015180519089012093516112a198939492939192910196875273ffffffffffffffffffffffffffffffffffffffff958616602088015293851660408701526060860192909252608085015290911660a083015260c082015260e00190565b600080825160200267ffffffffffffffff811115611fb657611fb6612468565b6040519080825280601f01601f191660200182016040528015611fe0576020820181803683370190505b50905060005b835181101561202557600061201385838151811061200657612006612497565b60200260200101516121af565b60208381028501015250600101611fe6565b50805160209091012092915050565b600073ffffffffffffffffffffffffffffffffffffffff8316158061205857508142115b80612078575073ffffffffffffffffffffffffffffffffffffffff831633145b90505b92915050565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04841183021582026120b657600080fd5b5091020490565b60006040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff841660248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806121a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152606401610700565b5050505050565b6000604051806080016040528060528152602001612edb605291398051602091820120835184830151604080870151606088015191516112a1969192910194855273ffffffffffffffffffffffffffffffffffffffff93841660208601526040850192909252606084015216608082015260a00190565b600060408284031215610b5c57600080fd5b60008083601f84011261224a57600080fd5b50813567ffffffffffffffff81111561226257600080fd5b60208301915083602082850101111561227a57600080fd5b9250929050565b60008060006040848603121561229657600080fd5b833567ffffffffffffffff808211156122ae57600080fd5b6122ba87838801612226565b945060208601359150808211156122d057600080fd5b506122dd86828701612238565b9497909650939450505050565b60008083601f8401126122fc57600080fd5b50813567ffffffffffffffff81111561231457600080fd5b6020830191508360208260051b850101111561227a57600080fd5b6000806020838503121561234257600080fd5b823567ffffffffffffffff81111561235957600080fd5b612365858286016122ea565b90969095509350505050565b6000806000806040858703121561238757600080fd5b843567ffffffffffffffff8082111561239f57600080fd5b6123ab888389016122ea565b909650945060208701359150808211156123c457600080fd5b506123d187828801612238565b95989497509550505050565b73ffffffffffffffffffffffffffffffffffffffff8116811461089157600080fd5b803561240a816123dd565b919050565b60006020828403121561242157600080fd5b813561242c816123dd565b9392505050565b60006020828403121561244557600080fd5b813567ffffffffffffffff81111561245c57600080fd5b611e2484828501612226565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60005b838110156124e15781810151838201526020016124c9565b50506000910152565b600081518084526125028160208601602086016124c6565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600081518084526020808501945080840160005b83811015612593578151805173ffffffffffffffffffffffffffffffffffffffff908116895284820151858a0152604091820151169088015260609096019590820190600101612548565b509495945050505050565b6000815160e0845273ffffffffffffffffffffffffffffffffffffffff8082511660e08601528060208301511661010086015260408201516101208601526060820151610140860152806080830151166101608601525060a0810151905060c06101808501526126126101a08501826124ea565b905060208301516126506020860182805173ffffffffffffffffffffffffffffffffffffffff16825260208082015190830152604090810151910152565b50604083015184820360808601526126688282612534565b915050606083015184820360a086015261268282826124ea565b915050608083015160c08501528091505092915050565b6000604082016040835280865180835260608501915060608160051b8601019250602080890160005b8381101561270e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030185526126fc86835161259e565b955093820193908201906001016126c2565b5050858403818701528684528688828601376000848801820152601f9096017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092019094019695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261279357600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126127d257600080fd5b83018035915067ffffffffffffffff8211156127ed57600080fd5b60200191503681900382131561227a57600080fd5b6040516060810167ffffffffffffffff8111828210171561282557612825612468565b60405290565b6040516080810167ffffffffffffffff8111828210171561282557612825612468565b60405160e0810167ffffffffffffffff8111828210171561282557612825612468565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156128b8576128b8612468565b604052919050565b600082601f8301126128d157600080fd5b813567ffffffffffffffff8111156128eb576128eb612468565b61291c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612871565b81815284602083860101111561293157600080fd5b816020850160208301376000918101602001919091529392505050565b600060c0828403121561296057600080fd5b60405160c0810167ffffffffffffffff828210818311171561298457612984612468565b8160405282935084359150612998826123dd565b9082526020840135906129aa826123dd565b8160208401526040850135604084015260608501356060840152608085013591506129d4826123dd565b81608084015260a08501359150808211156129ee57600080fd5b506129fb858286016128c0565b60a0830152505092915050565b600060608284031215612a1a57600080fd5b612a22612802565b90508135612a2f816123dd565b80825250602082013560208201526040820135604082015292915050565b600067ffffffffffffffff821115612a6757612a67612468565b5060051b60200190565b600082601f830112612a8257600080fd5b81356020612a97612a9283612a4d565b612871565b82815260079290921b84018101918181019086841115612ab657600080fd5b8286015b84811015612b1b5760808189031215612ad35760008081fd5b612adb61282b565b8135612ae6816123dd565b8152818501358582015260408083013590820152606080830135612b09816123dd565b90820152835291830191608001612aba565b509695505050505050565b600060208284031215612b3857600080fd5b813567ffffffffffffffff80821115612b5057600080fd5b908301906101208286031215612b6557600080fd5b612b6d61284e565b823582811115612b7c57600080fd5b612b888782860161294e565b8252506020830135602082015260408301356040820152612bab606084016123ff565b606082015260808301356080820152612bc78660a08501612a08565b60a082015261010083013582811115612bdf57600080fd5b612beb87828601612a71565b60c08301525095945050505050565b60008451612c0c8184602089016124c6565b845190830190612c208183602089016124c6565b8451910190612c338183602088016124c6565b0195945050505050565b8082018082111561207b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b602081526000612078602083018461259e565b60006020808385031215612c9d57600080fd5b825167ffffffffffffffff811115612cb457600080fd5b8301601f81018513612cc557600080fd5b8051612cd3612a9282612a4d565b81815260609182028301840191848201919088841115612cf257600080fd5b938501935b83851015612d4e5780858a031215612d0f5760008081fd5b612d17612802565b8551612d22816123dd565b81528587015187820152604080870151612d3b816123dd565b9082015283529384019391850191612cf7565b50979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611e24604083018461259e565b7f4578636c757369766544757463684f72646572207769746e6573732900000000815260008551612dc181601c850160208a016124c6565b855190830190612dd881601c840160208a016124c6565b8551910190612dee81601c8401602089016124c6565b8451910190612e0481601c8401602088016124c6565b01601c019695505050505050565b6000610140612e42838a51805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b6020890151604084015260408901516060840152612e836080840189805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b73ffffffffffffffffffffffffffffffffffffffff871660c08401528560e084015280610100840152612eb8818401866124ea565b9050828103610120840152612ecd81856124ea565b999850505050505050505056fe44757463684f7574707574286164647265737320746f6b656e2c75696e74323536207374617274416d6f756e742c75696e7432353620656e64416d6f756e742c6164647265737320726563697069656e7429546f6b656e5065726d697373696f6e73286164647265737320746f6b656e2c75696e7432353620616d6f756e74294f72646572496e666f28616464726573732072656163746f722c6164647265737320737761707065722c75696e74323536206e6f6e63652c75696e7432353620646561646c696e652c61646472657373206164646974696f6e616c56616c69646174696f6e436f6e74726163742c6279746573206164646974696f6e616c56616c69646174696f6e4461746129a2646970667358221220895643e805129fd4ed4b9dbb76b8350150a9a20556a76ca1da49adf06223485b64736f6c634300081300330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630541a9c8182c09f50c8318d769245bea52c32be35bc0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04101021405581e031df217e82a5c0094466a0282d1afaa189e8bd1f1cd353fb1245d845fc0070119301d02192c8c03570fb1ab5603066e80b90a39125031249589176ba253b37087350ad41c59e47303ea5c489af3a97e7ff8f98e6a560f54f27ce8a9d57cfd835710fa5c71959f8d0103a4ff5d16b409ab122b626a3216dbb8774b450aa990a95a8a91cc8409edfa9ecb03eca9d87f477966de88df574e467363688d6a5a0ac48824a1ff1886e0bfdf3cba0320bff251ea50426cf640ad1b0d19b048b0563ba4361d82fd734c3e7c5fff33ee032f25bbc9dddf1f929e01c9c60a1697b9083fb84d494c59ffe413ec63737714340395200337abbfc33405a0bd9e8131bb9d670edacb83d929b5de590d08702335e303e3eaf735b765e7a95242a0b9174485bd31b4770166691ffe90a1bd7d6bba42fe03bc74417f54f9b3c1dcd6cc54a3c8c9107c81acd1d4a1c0dc4c1f6211d06bbebd03002d7b555798985fc8427cd6fe0da009b05b8d076591f3f3b2c2f7ae4627d7e803ae6a56467f993c6022369cba6e114ba22816f0dd78531e59edf372d1a08f9dde038c555d89902e7f4037f98f65fb5e97129382f7120862707f91e01534d6eca8bb03d521478a6badca0ba8d3b223a3544c8cd630fd6fe74f94d4e228d12c1fe76ba903fc4de06c9e55d3e808512b24757d6c3a0b476fb68e40288fceb268d60f15f9600219ffff03682d92efa9fbff4311e46af4da4fcb09643ff3e404cf3bb07a0f2c9dc3079b1e0374152e42e85fc218e94e2a0dbf9cc91b3133aae9a83f873cae457331aa2dd49203872e9dff85e1b26ecfc7f9d42b39cd571e1306b024dae2c1fc8d70b3fa36819203c1b842f26bda5325e39c073008f752effe79c2883dc8f160d10a77b69d9ab92a0219ffff03d42f82ce89170ded09accdfe5e1832153147669e800f9ee1bcb89ea024aa42b903332d5520e2f5b50159862f56eeda9dfa13dae7a22b142f43d32a29089ea57d35038d938adc632014ee7689e0a6979d0a00f18d526f9b89e9c64ba31cb76d10584a03adeac6a97f2b0f476dafa9c322c875edb76fc2a0ddb7dada75fa11d197da264a032847370423d389e1143214a5bd7400a5bceed1a9e32d2f08e59f1a51a8d8144b03437962940e0ad888bd25c68f5ac9ef1b5197c1c6f86f84550b85819628fcda0f03f9f1dc6e14cc9a0baa9992c5c715ebd567d2800cd4463b882780adb1102052a603ad57a617b4cd9035b5ce3943d0f26e5c1ca1dc29e574a34edea577e67fdde81403dc62d7133942dfc2e38e6d520c222fe94d6d7feb7bd32dfc96a7c244789f795903fcf115109daeb7870ccac9e00c13f861048586b111392c891751c503fa03c36203a98c5b519625a1eefa386516578ccd7b59ab9fae080208a0b3c95050d3ca686303b4a47961104e84e6611fbb7f5acee6353e4b651f5f523f8ce51ffa38aa8a3b840353679c0a97cb6afffb260b5435627f5b71f22312e71267e43ca9453ed6b116880219ffff03e98d0b36acbf483677f2eac9055adb98f90ccdf83fe0449b33d614a4e4c0ef61037cd0ef1e6ce5e7b911f6c19d3e0abf6a3696cf47ec2dda83e203bc1ed71ea2bb0300eca5006d0fe32eb2a7de8e667c8ad76ce167922b5f7c01296ccdf8bca48cf5031965493ebaa0fad16cc114dfd0a21f3835853e73f2094a8ab12833c39c42623803ad607dfb7ebbaa7262cfbcf92b58f573bb7049f80fe6e1a1488f157aa366e558031b48d4cf5c2a191a78d2be181f118d24d4379de9c812119b32bb852bbe6ef37e03a26669330786a3ad89428e2dbb9dd7b5a331a2608375503bb5627ccabb9ba662038b0c2c4e83149b62a1843edb5b1d5da8cad93c3db3722496f88b90f02fbf8e9003dada392ebe51d31e67ce663a8a7d5030e383e9bf9074ad13cfafa54875206ffc03668f79ead6f5847bb0ae33377d9daa418865f122b2066f2e7f14a4424b5fb96e0352529b6cbd6d8c1c04a74b27b0a221d9ba207626a5c151f28cd6f61c42aaac8103cd82b8927cf8d3bcdd461623899418dc23a81b1286040fc5f7b4043abf316edf037b69be7f15311139040b539d53df2f6be824efedfe6036224cdcfb1a0f37a25a03a3d600386242c64a2d7bb1c1d039c9681ec390c747880d8541c702223add392103eea1dac4f08b81848e16aa735ae140ff68613923da92daf5f84acde41c9e9b7d03539465d984cf2180cf1fa54d8115f0e4102f8d64cbdac2356c4dd4e59fb91138030cbfff36e476caa027c654aa4d2a73b78d93ffc3e62d2d7f8694c762dec2a09b03ad0bae986481ae6ce98311cadf3af24d21beae52bb67cdd6537c1ad2bdfc00a503913e393353abc9dea257f650d6832ed4418437366bdeb306c919bb6deab4aa2c0314658cca6c741bc8b31ac47ce6484c64cbd6755a064894c43ee47340234513e603d2d6595d27e328f3361a9572ce7aa33b259c86e487755628c9b5019ede2387b103acef497932b396b002b9fef917fac9d9a4ee0ec1afe024e5a78256580c73f955034ebb993ad6cb21ee605781990e87027bcd6cc21350a51c89e58ca1a455fef6db0377c1c1440d9d9ff74106439529e2f17505436fc2a400d18f4416bcb3a037863b039c508cd2cac6dab78610158583a30a4e42db7c0c87199aee95517bcdd4e14bf40372f426d4aff70b6d117fcc277bbadc84bbfa8c9a57740fe2b1db4b8c7f697d2b03a865a6b7df699275a88d9dec0b3fbabc42810e935898dbd6f9cd8df9a919922805581e0384d90c7ecbec2928a590e364dc96e9928d8b25f5a541961490f59f5d90040105581d02326a0380f9fb81e899506b8b06143b37d4586903ca46ea089490a6ce0c014712fb132de3a3de05581d02590069e29f52c360942397dd60f3c2c4c114b63512d00b97aed3aa42040105581d0260036b25a156d027b5b97a84ea40b8a0199e1e9a4c49d8d07b53bb67040105581d02bd966b84f2272a402b020a8f075aa4e73d8384c00d9c131d40b7aca90c1962dd490ff465a53f4122499002192a0405581e03d3d4688fcb6b472e9a59cad36e48a6e7a4993cae38128a9948f85d68a0040303a265a08047a4a86abbe52ffc01f3144b2fbc6fbfaa4e5d43d711bb0759c5cb0103089c357ba106c8ce0c2d15c6b552b74cec4afc3357664d86e2bebdaec082ae7003a45f47014540f97bc100348751056a0fd5eb558e42847b656a4458bc74b90fc103cd3b172964a0df26fbc946526173cbee2fdee50e1d78e0bd4d21963d053aaee305581e0364ba323551f06c77972cc738cda2adf24883668b3772147ec1eaa7ea300c02466e6bfced3290021942d703b2c4b85c5c7d6786b219ae019aedad62fc9d8cd970a8e6837884515f452a8dec039f3400f3488e35339bba656b5987122b1ba69f46c0272ffa700cec3848ce72850353769200f9bd074347a1a2ae48e6adcc2f634a102ed2a39662fb6277ba90202303c18364563fbb24b618f59857ecb8cc7a147d375537ecce5586609f41036c996b0351e0abc7b3ceb9807fed58502e3be3794a19c23adf32cb0c0d2573315d534cf403f130523b0cf14756798c2b83478ea2b69c206b7ce3a66bf414b9c97fd126aeb2036332f5881008d34e26d70034445394cf9ec47f1c9d9ba55c95c406236fd44dd50219ffff035fc6f4e3b19562d7833a74c1e49007c0df333a63204b8f324de413bfb14b11ac0305844c2fcd2dc55790e4d6cbf5e3d43da56417e036c724a9f80de116ab3a7bcb0305410fd163896291e2c39c49aaea5fada2220bbcee5515aeb132164a3b810a3a038ca995b63df5bb4be7df5ae4ec22346d2cc7112c4402184d45b2fa833e82bb72032cfe265210644fc3a043bd5bd93cc08e756331e0dd3604f937dd0928983399f003ca57416a443d1f8de2780d86e832d5c0e90f923905fddec874051d85d4dad2e70219ffff03a6b71ad916b67f6b5bafcfb9d1438bed0430d16ec0f16e23f74f5b083045152603326eb904506ebe4c27086c7a825ffe115c320ab112a2f26647d9d6c1e87a958c03b5e775255fde7349d23aa797b79bbeb0eff29fe1ea4f1c2316364c531a573cfc0380980c98e26b6a65235ee1332df6e4d8728edc595f32b4683d49a3bd538196de03fa9a3f2ab1c231817692cedacb8a6d8797eb63f3cbc814dcc7dfb39c39bd76d805581e03c8da1ce30f3a9385bd0c9c79639c253efd26db53df57872805144735c00c0447bcc34406087be5032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03f05539ae9d44a7f89eac6ea28f7fc9f4551a742acb060fddfed3d9724007011bffffffffffffffff05581e03e5c84092d697ecc14fb546322a4f21154f98ac9c9bd22ff22446e6a2200c014701be2cf7c2c1880369fb98d0a636f9d46dee776a23c6b40b1daaa66228ce18fdcc46f1a3512ac64903d201ec4218721a1b4d9ace1b8d40a0f947fc6fbca044ec07d2489e08f0c1474803bc962ab923c4f000a648858fcc6b8e86d8edc44314cd67755dbbfb837427fd690605581e0311eb8ed915e2a61ceb0a8940c04de1f3c0f1dbd8fc1346504efcd0570007011bffffffffffffffff05581e0388fd196defbf8bb5703edd9458e3589bec37431118d32493d33e9cd3000c01470315c59256b34e03f5775117ef3dd5fd6163bd78174dab00afc6f023da214adb796fbdb622d937b405581d02e63b15e14314b4281c1d6bee559c8854e501abd2fb2288853c782c050c0246010d6292f2000399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908039496d1176ba4e77f2885acc44dd38e8dbbc4b6e33325aa49b1c6850a4c7a27c105581d025a9fdfdbd5049d04757ac6673189fe0df18e90eef0e906dd1fe3602707011bffffffffffffffff045914e2608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635b0fc9c31161008c578063b83f866311610066578063b83f86631461042c578063cf40882314610476578063e985e9c5146104f8578063f79fe53814610574576100cf565b80635b0fc9c3146103025780635ef2c7f014610350578063a22cb465146103dc576100cf565b80630178b8bf146100d457806302571be31461014257806306ab5923146101b057806314ab90381461021c57806316a25cbd1461025e5780631896f70a146102b4575b600080fd5b610100600480360360208110156100ea57600080fd5b81019080803590602001909291905050506105ba565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61016e6004803603602081101561015857600080fd5b810190808035906020019092919050505061068f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610206600480360360608110156101c657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610764565b6040518082815260200191505060405180910390f35b61025c6004803603604081101561023257600080fd5b8101908080359060200190929190803567ffffffffffffffff169060200190929190505050610919565b005b61028a6004803603602081101561027457600080fd5b8101908080359060200190929190505050610aab565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b610300600480360360408110156102ca57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b80565b005b61034e6004803603604081101561031857600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d42565b005b6103da600480360360a081101561036657600080fd5b810190808035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050610eba565b005b61042a600480360360408110156103f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050610edc565b005b610434610fdd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104f66004803603608081101561048c57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803567ffffffffffffffff169060200190929190505050611003565b005b61055a6004803603604081101561050e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061101e565b604051808215151515815260200191505060405180910390f35b6105a06004803603602081101561058a57600080fd5b81019080803590602001909291905050506110b2565b604051808215151515815260200191505060405180910390f35b60006105c5826110b2565b61067e57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630178b8bf836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561063c57600080fd5b505afa158015610650573d6000803e3d6000fd5b505050506040513d602081101561066657600080fd5b8101908080519060200190929190505050905061068a565b61068782611120565b90505b919050565b600061069a826110b2565b61075357600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166302571be3836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561071157600080fd5b505afa158015610725573d6000803e3d6000fd5b505050506040513d602081101561073b57600080fd5b8101908080519060200190929190505050905061075f565b61075c8261115f565b90505b919050565b600083600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614806108615750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61086a57600080fd5b6000868660405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090506108a781866111e2565b85877fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e8287604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a38093505050509392505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610a145750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610a1d57600080fd5b837f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6884604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505050565b6000610ab6826110b2565b610b6f57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316a25cbd836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b2d57600080fd5b505afa158015610b41573d6000803e3d6000fd5b505050506040513d6020811015610b5757600080fd5b81019080805190602001909291905050509050610b7b565b610b788261122f565b90505b919050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610c7b5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610c8457600080fd5b837f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a084604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a28260008086815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b81600080600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161480610e3d5750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610e4657600080fd5b610e5084846111e2565b837fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d26684604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a250505050565b6000610ec7868686610764565b9050610ed4818484611262565b505050505050565b80600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051808215151515815260200191505060405180910390a35050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61100d8484610d42565b611018848383611262565b50505050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600080600083815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060008084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156111d85760009150506111dd565b809150505b919050565b6000819050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611220573090505b61122a8382611455565b505050565b600080600083815260200190815260200160002060010160149054906101000a900467ffffffffffffffff169050919050565b60008084815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614611383578160008085815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550827f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a083604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a25b60008084815260200190815260200160002060010160149054906101000a900467ffffffffffffffff1667ffffffffffffffff168167ffffffffffffffff1614611450578060008085815260200190815260200160002060010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550827f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa6882604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390a25b505050565b8060008084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505056fea265627a7a72315820e307c1741e952c90d504ae303fa3fa1e5f6265200c65304d90abaa909d2dee4b64736f6c63430005100032035e65635b7a69f2096fae0b88aca2fbcda39b8c3b40c1fb204334fa02e2160d4f03addf8c8a94ef603551a677b2944475d7a91eee2fd7fb43b3495c3ad096bf89d4033aea054fd97666257ff622acfb256854564bc45f59add564a1d6136352d4280a0327b6550af5309ccedbd1995f400d6adc65160552a117861823a62c806bc313b903711edd08ca1c12a35d83811dc7efa422e72db31c717258d34e4b06cc556a5b2103a9b774bfce5d16d102263f6e4957ad46c4d1193bfa4e7ebf4fe8ff4a7bbd7eec03dfb375c2605ab1c94b55261756e7dc126b37692d6811536a6072fc7dd621723203fcbb7cc9bef554f7784385a0b5909f5ea96915f88bfa32df0244d9c817eece7a03be347bb6315d158bfd87b399552a696c4efa1afb709b2df458d3a5e889aefa3803bc0781005199958bc7fbec5e5ca87ecca3936e036c3afaa9a049b410acdf6dbc03fa7d147e6e79783f361ed763dcd01d556b442d4776853dbb23eeeb915721294a036882cd27db313b2848a853ff02483766ac1e4581374849134e598a98df0c13b70348ae6c521927cb9b4baaa144988c060f49204f60ba1d03ba8dbd93cd0f5e5c7c0399706792eafb76b397521cb311aecd5499afa0176a2124ae4fbf0b153c72901b036ce0f32092c3113527c94d4c8911bdccf9953ca80271ecfb20fa0a19d04c4ee20359be141f478067fa12267cb6c5885c266ecb3e518f96534dff55c261335cf8ff038e420b2830e7c62a26cc09cd99700fddc68f9c14d0366ff1b97d5dae3423cfcc030eb4184160846f007f1cf991782aae6c72a18ba1768c51e45d0e4c29328e84320339ab49a14dfeb31b9b6e99f3f755c4468d4262d33a3e7ff3eb17ac54da3fd064039beb8b22d59691480c0a2271fec83c5240c60e56ce2d96fdbf5ed85620d74c000316897cdfe09ff257fe30b5c9aa371efa24d8d07f0b3a25f3a3936fcfea2be79403a8a83d3c952a44dfecd942f761d746c0289665cd3086da03222a642ebeca5f6200581e02d64af73b1a6d8d697ab02e7386c16cec070da0f83a82ff5fa3991c3cff544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e02573656e21ca9e6910dd95f850c8c0e584189f102a2d5420748ae433a235436b37bf826621ad80e5aa69dc2564536d30255a600581e02d1d1351546e6c872a16a90ee6ffe4518b32aa3a7ce6e0edcdb04dd1bac5433560bb4e2c132346980890a04193616359a04dc00581e0273b14536fc9b76eafcbe02f1aad39d67d1638f9c064233b4c7da5d3820544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba41037dd50a102ecc673679c3eb5abe3cc6767c912829fb2989ecb95ece3894c3931900581e02e791bf28cbb53677b7b1af44e921c7f985511fba3057e71cd5941d4b8e544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e029f31767552a2a16fddac7cdb0227a14f69586b4161966e247e47e69f5a54484ec62385e780f2460feac34864a77ba5a1813400581e0219f191d6fe46aafd3b651b946dbd74c60d59864fdb705908fdc5238e3554612c6dfa043ab7849c3eac09f17004e08fcbbcc300581e02ca257e1c52089fcac7ca6ff5173232756b7d551276df4dd76b569791dd543c80cd3733f20ff3b601a783e1df4ef4e9a6281600581e02bed89ac6dc2534047b1feebbed62a53237825f1a042a4c83c6f9892925544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba410219f8f1032c710f91af3f802fb7216b70034bebb3377a0fd48024ce6af3743eac438a94e803b747679dc725108b8d95943f5ef86e545eed128626e18e3d06614ff09e81e32203db6e32e560413d4a2335b06e742ec17a520f0231b17e98d8f65e0495b16ff5ed03531361ea10d756782ba94acced87121a3d70529458b970466ca27806920b9cf00219ffff0393ffec2689da73b6a327554fe41b62fb8438f91508386009bebce8df4efe1bfc03a84397e7c1a8d621773598158cd783e5f44cdaa46533d265d9756703c88501db03d6f516fad766cce0ba1cbb38065cc292775d9c094ee1e88ab843ba386fea278f03589062df502790ae961e33b8e4f65ff45a4f8d4e38665c77a20d3b4906ccaa880352468d741a7903978fad06afafa7e2d9254ddfd3fac8448695ae339af38a39cd033b40cce31b7ac050183a671a57a1b738282355806eea81a8ffd5e40dce8442b703113880b3375d8d5aae7d214419beffffa4e35eb726b17b1f1fb8b888751e9fae03f403fe7afdda9373f6ce97c767bf2c0e7ddb5213b2dae437e2148b38401154e903d58735a91e85b2e21264e04394601e0aa8177733ecc15f69cd17821ce99cf2a903b0d1ee441b90fceb0e91115f052bdf7a6096add9b535a4d3a8e3837c03d3d89203830c798a426f43ea8abe7cc304a9caada1f13fd8403409127aa9f69a8e4e604a03158e091cab7345d48d38070283339bf5507d3e8c0a26662f3e49553f45f26bea031cf74fc8853848a2d6c0c59a1af1691779ddefb3f8cd7289930f100c3328557a03ff669d3339e4ae58fc03091905e757020d16eb128a903d93b07c432f499723100219ffff03d6c99088bacb1a53d403f7883072da759119d5f6b2a177f7196fda821a3fc7ce03522cceb340d516669fcf116347082339599ff480f2b555b280606c06884c1127030578ac0ef41be41e4acfe76efa63d0d27b2fae3b53ea4aab9bfa8795fca580e103eb5c36690847c1c11990deb3f1f64de487b586f74e49ab26c080aee39dc8d4f1037f3ec5ac6e86c488644c4227b9b5cd0f2070b6614f957f41844328787d4a361203f99434f04cfc666dcb999b19e0dbf40c4ef4255ff331298eb0fc3df2fa297a0603a9736e3b15f9acea4626933762b356a2f42d9514c5ea6346c70198a4a10c855503fb34e8f086267405fffa1f8fefcb440b1c363ac61c5c700e7e61604a8f2a24ed0219ffff039658ddec2e619aaceed878121059902cbd87e0f49c5fd329d2bf2894ecc3fee2031f1c2c052469f13becd42a6aae7a7a29e147de5d495609cd635c472b8b7e29ca03cdc9630b38bf4ae05f3aaa0a35eeba1552001ea424713ab1dc6fe5080c414b310317c4260fac6b796122c8660e29233fde2c6a64f750742973c134f5b7bf81fe9c038fc358e5dbb19da48c1fe2e343c815b0967eae215a7990ad78996c89423dfc5403ed1432a387e10221af9b244db1386dbae6b39fd0852e55b90a3d7e6461a85229034f7fabe3eb551ddfcc97f52a6dfa12180c0cfda8bf88fa71f9a46e8f6d84cebe0345d33291a4a3912e5b5000c5936b1acb3684f7a624899fe3cb155b12b924db12031d8fbdd78395b020bbc4efc7432099941709e08d836ebe66f79b4587cee3842303c0e724cfc04bb032f594bd1846b453390a3e6d555b3ba1ea4e126c73e09cf2cc0393fa8a464b3c70e7ee6f3bfb1ec9eefb74fb6e6dc5ec55cccad8bd8d85c161b503155cef4e4f100074bda94a18694b9795bb18dd2b9f9f6c6e6940bed25b683c340219ffff03c391d90aeb55ec209f9f15a20f9b014f89e3849c90107c246bc7f7847d237f1d03ecefbb495d247168a580af8b7b398841d6082f985406c7c71712f2242950838903d7d780ab1a529c8244e3198fb05eb5748d7eb7431bd63cd74533d4c98853495703c8114ddeb32347aa05e14f4362585a2e39cffa0c696599d0a759007d45276b90036901148ac30ab099dd5f5467e9ec553a5f853fa3ef8810e03eef435a0ce36f63037528fa74bc057f08f4199bb3f8177089005ff9ed780d3091c7a398093c3127a603eae18b1449f7d331706d9db6ed3d062506867b8769dd333a28c6b202f54ff10303b163fe0ce58773a3200a115559d24e86b7814aa963a7e47ee38f30926322286103d8cd2e1a78702679c2cbbb0db2345ab242dbadc9f141c36ff31718484693f1de03a41bceac7e52bf548e881508780006c4861f8b906533de5a88d233afa573793903bb106b3b53185d5a00e09857695a646644dd48a8a4e1fa771a6f0a7434664c8a03ad9e4df061c296e5d36af9790b0a66c72a6835db836b4bffa2580e4cbc5d3dfa03f4101b2c000eb73e22ad0fb414f24ce0396f09d99b3883cf67c00fb151b25d2d03ac8ae788a6f43dc1291838385dc2ca5e6d7b4ef10243823c04bfd8fa749ed58f0398376bb76c9df9a1e44b1b025b9aa128ecd60f74b4ac3ebb6e591864c4bd207f03a94285b0bcaecc7dfe6085aff8d48473c38b6739caffabcd7f0d395a80af76ed039a88d87da8125e50b71c832a7772dbb5ce6da33d0968c5de1160aae2efc76cfc0363f196ba63a756236a02ec16f94caa7c0ac49e6c7de4a36a330f55265fa1216603f40ffab6647a34e958999c3d4f55199e84414ed9c624b511980dba5850efa259032b7b39c7e905e73ef35f334adc52423c034f64e0455c04b30fa4d6acf4cceaaa03dd6dba4a0f2beb9f7a5c39a0cb5ee18fa82d88a3885f1d7945a3fccc71aef8db03cb793243248ca3bc61fe5155ff48e48b3397421d01b5439778472a19f8cdff32038f2e31ae36f890e99e9743d549c5161ec381399dbf4f6b53b9e554a9a65ab8b503aef227b9b35a026c64e2f0c40d27465bf96316aab4c21608f4266b1b8bc0da490317cd9070749654cafbb007c5fcfb25b030eb73bb3f1c47bfefd96afa21786d8d0337abd7bce476f729f7b785d51dc2925c0c77214163f1103bea7824905d62d6f303a503ef0cdc78143d453a113669d67ac446c03141f93cf51a4f95eae5e0a2b2070341533c5d6651eaffac501659700d2f3dadfa8d2fb2b580dc65ba4198ba33bb2c0347cf82c6f0e09d42d039006e14031f0abc7afc54c152cdf3526cffa30df979db03ea196868059db36c9869e85ff4cf619b14ba57383626eecf699a073bfe4690a9031ddc3728917cbfec51828c33f55c330b0f54522e9f14ca37a62d7d9c193dbe11036ef12785dbed085e920c460a9bc262d7d60af3b915f47cedfcaeae7389d863bb03ae52dc1f41523bfb2b5ee75caf18475e27e5eff88f1d7ce46f8b6447b5b32b9c03c2ac6758fe7a963b3b27a87ece3f6c4ee18c7f5b5e1ffa670659adae9511283803d563691a34ba4d8c9727d850f45cb3947c059e503713566dd09520828d01f6270308d91d3ceb3861c6257053911d278c55ed1f7da1af3c5e947d925f6b47d7dd0b0357838cb44f145f432aabb9370bccf357613a9c4514723de8b74a2a655f94f6a003d7f6f01f8ef94fe9002f792eb9af28ce1ce79825f57a29d5b4830fb986faede203e10a12e4e08cadf88bcc5d1848fbd04cbfec8ef6cccc6a542afd2eb4260872170331be1fcae406e017348d2a6387929ad4ed2957967dc1fe7758c9cdbdf320b21a03f3c7ae1ffc04294f43267c265aebbd348b22238549848fabcea3d45cef51113e035c05ab704be6724c45c3a55e6a2cee58ae54ab10719976694b7c7c024dddd1e803a82048cbcb33d259370db659bf8850ddfa2eaea917da98c3161e3fdc1b4e652803fc4b0b97660229e2f10e64b2c28e9b47cb156448f2b0cefdd8472c9f64e96bbf0387b2195cc94568e954c713f0b5bdef9923077802ad5df63e8c2ffe6e7b9c4670038412a0e0aafcd3b453f1c99cf775e19d366efa1f60dd50f050a163971e9e31f603e8c85a307e932d2c971d3ab107cad059af13ee3ca582f8cda981d7a3fe94c91203f32d0c1fe17eb421af3b0f223d11390cde8d06e57ef95bef048c16f4b2ed608503eb6ba9075fdf829bd5cc2ac495af8010f4aced8bf7a054d7718c667ce74c8c4800581e023402ca30e8dfbcf2bdafe2577ab8d9a710f76644772683fcc73cec57be54d36e5588100525295b90d349eefad4e9d830522c00581e0288b4c76ae27acc938dcd679233cfa34b030bac24dbf6cb690caa1d9140544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e0269d8d0c3d742ce5134d6ab9cff89aa0d5e5a4eeb7daf34a5490e77360654231b0ee14048e9dccd1d247744d114a4eb5e8e6300581e02aa496a64edeb0ae9de20a5336277b68c0b3f5e0a2a94b5469d9da64d6454a1de19432409fa339b080cb86b525c1fbc7e8a9800581e02a5defde3df76d968b74d66eb4323b2cb2e5f59e16ab63d1df606899eec54d4416b13d2b3a9abae7acd5d6c2bbdbe2568640100581e027f633eb5eb9af9d3a46859ac6d57e1bb93bfe136ba4fdf609fe27234d3544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e02433d79aa39de96761e7d7c2814fc6f97ca439979c37ad5cf65dd36d3f754b7b1a9f9ab669c1d9046074d874d670db239b0bd00581e0208c816547805dee25a472865fd8587f6d937cae229e6e5626bacf7929a544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e020d954bc5fa027e58cd205b9bdc1ea18bdf353529376e6f8000bddf5cb354ef85de3fa16ab3b2d13d025689c52751d74d446800581e037e0d026723b44b94482e49652a302acb8285f143134d4c9dc939fd041054231b0ee14048e9dccd1d247744d114a4eb5e8e6300581e0349e90108e6b803e83bda30d2ce96c96067697a2931ce34ef8737bedd20542a187453064356c898cae034eaed119e1663acb80219101002199f590219ffff03159cfed6fa8e499bb9533f0d63f569d8f3b05d008eef4a585eb518a85464878303d34cf2f2cb35072618590118dcab951c0d207f99e3fca5bfc62a3b9137a285f803dcaba7c84e37b01ffe88a02e60e3332660b9083e0d2faa8b4677f1dc9bb4447e03e2d4ecd187af48a5747a93ece6a53e64f3bd7b901936f1079ec6a5131dea15db03a633572d98c68d81b0b721189ef110c5224d107c81af0223e9323ada1eddf19103df39af464dc58120a8cd249db1a116fec5851503aeb0e8afa52a663e04d7cc43037ef5091ef2d0a65d15e144b341382ef1e3db4f36de0644a6c6e78d8d7e140e7e03abef4dc8a398ee6c14ea6939df00486049786e64507132956ee0e203adfc7786036f906e553654b31369f3d12f39dc5132c8a527596429bbae02106b0ff9ef631a03793b7d857f25680cd238804d0b5ec05ce40ee9448f4e8c2a0ff7adf0c414ddb50395fe3f3a31bf63d808ec4045839cbcfa6c60ee8a33ffb34707f4bfda553cf8b7039a1cb7123c5cfbeb3178fc8321f31b53fd61176179582d2115d532c3723d7d1403c72c88dfb358262ad2b60e32b161dc17ac4dc0f8669fbeae56c9794719c603170219ffff0219ffff0219ffff03d8842f40e37783decfb90ff10411c7b87a6654cce00bacf4107ca2d74902609c031f084513ff980dedfaf65c67b70441f879f7adfa127087ffd404423d4fc1a142034f343576e302b74f7d1b4c6e3dc0c9fab0eb9b1cb9f63d1914871357d13610fe03a649fd7baefce8f6c438e8e528e5773ce239e861ba17ab5159d1b170293e8e2303b4cb7d1ba214136d5a5f8740034b05e43f135a9afb1e14c361a3946d6c1fbf620313c25cd23d2026aeb4de51f3f2100a1ec835cf18e60b2853bd6454554f40107c035a31fedd1135eed41fe28414514bfbb91ae2ca6965802a8cdd928c016f1363e0036f8e112a263451d11bc7c57b05e24123b28f530bea535421686036b2b56bda3a032c4ad54eb1a0a605a20e5a8e9fd9a0af7c80ffb0cfe6788385f33b076dae99ae031289b7ccae829e3f8c1fb46c77bd2c2d7f901ed90fc7e1d71435c56658fb560d03cfc443018fee943d6b56558d248636fa1961761ca7abeff51399fb0da60169fb03b2f9d3b9dfa6ee01487bd96f904bbbb2c7f51a33e4637b68436a6f68da02216d03ad6f5ce32135dc5f50f8a596da528c0ebcfa344e885216a1c4dcb65d1a78d6c4035cd834267899c1f5373d1d40111f3bd7d90be4c3e50bb37b6566c6a074eb08a703b241358895d89ad16ff32441fef2c441fbde997a8aba1b5139f5596edd9168840398c3ac26fafad6554993641f69d77cac9c1d1f9c7bc7a193bffd93a812e48706037e58add21bdf2ade1bc6129e972a01d4d7ee73bc9260e6da93b7da8ccd9161e603a0110d11e6914e3e08964912500637e01ff35ad26da57acdda86d5c288d3b977035af3cc0e0abf869987a3baae3046f4d7d815539d1f762f6a678b874cff9ec7db035c238e3ef55148489fd72df22959c58a2b2c4130586b10f18eef4e06fb7067c000581e02ba3d5b24ef635373122d32a0b136e1adedc2ee9b8833806d1d2391a72754d4416b13d2b3a9abae7acd5d6c2bbdbe2568640103c3b83d0b81024abcb436ce2fadaef55dcd73bfae7d476e092c677f6e3585562601410a00581e020a25a6df794a59cee805adcd33c558f4e0ca595fc887dc699c8519df2c5412cff2a28d4fe53fcf46ad642668cf6651fa8cf700581e02fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace54314159265dd8dbb310642f98f50c066173c1259b00581e02c5f91e502c37c5532e35def724f8efe6e2646780ae86f4c62fdcc4f22c54557fd9677cc7c219d205d8eaee00cdb68304a12200581e02ba789bb0370f7209ff56880b3050227b5a00c86675b65df2dea640192a544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e0261321ce174e10182c2869156d4ec26c60a1b0e59d888311f7b802e68f0544976fb03c32e5b8cfe2b6ccb31c09ba78ebaba4100581e02ff0e0fcaa815ad77d9c4efc2a0baef2c156fbdd3eed3a7b93970c7846d54604115c5e484fd8adfd79123817e48257c96a92502193c9503dddb50bdbbd03eb33f43a45331e80768933898c49361cf59bdd451428e7cf5110319e6f788d172806354d42fdba0c37127cd8e4aecafb6e8a58cc891f45b07cb3a0382db0be68b82e3712e8c41f4658f17654dcc3b84acf572b5bd1eeb80f6c05cc203d163cabcde52338af7d599dbbdc5d4d63670a226ce97c83788c5fa6f8e9c95b4032eef12c2f6e943573b3e6e27cecf061cc6472abe9e56af12d7bb01befd343f4203a92ff0e22ea5cc3b544fd56086e7cfd3b6434793d765618691c2f306d78cc46a0357a70dc821a239c137003325600bcf80d54cb142e05b6d9c0f133332dcde7ac80219ffff03ef4c7f6de9214f4e19f1c8b892be43db7ec5ef33faf5f9772ac855f82c04af6a036c29ec25d11ef17f8bc0df13276d7a4bed67af9942d87c493cec5e2d9b808dad03102f506d8c5f912e9597585d0fc31e4c46492b82a9c5e67e8e805bfc808e006603959c4c9a87dd17a4d44f9b1ecfb5cd7677abe56bbb72088eed5aa8bdcb3c66b3038e132b3289b28b5bf5bdf3448b1334ed1a6a79397b728a70479c600f49f14317038dc2ab864aca0a617122a45a462bf5c0fef220ee495a516eded3ec850abde3bf03c1adb37b6bea3307d31ee0737c224e287dfd926e4d6fba68e2cb4dd7c1ceeeae03c19032e9ad465af9072193964a35a41ddcfd674bc3ebeb7a2f25701c6fce17810219ffff03111d33328fdd5cd8fe2570e674fdab91ef1ac7fca75c762a9a52a021ffe9e9c303ce3dbbf32cb7a09de1e2c2119e0d1233d646f77362aa7a805daa1ab02b42bc7a037a033163ced6f8ee684ca919e7453fcaf89df4e44280d1e58128eaf286749a03037995c10cae63415c34edcc79ab050c11ded70da5b455dc3321ef3a55b69e19660364e2576136e046d2190c80e0afc9b61705444ba60032d105166d155f00a94c8c036e7700504b7ed2e388f8181d5b2ae73a3f62d9f3c44dcb9cae4b10a1f98696e303e1d3ef83ae786254d2543582ac89cb6bd1c35de23dc552535fba47317b43aabe0361fbf50d29cbfd18a8d2df815a7fda9bfde2035a5b284f3990c5acdd4cd6d49303933ec063730b9c65b7b52978c7032131becb70ea607732bb3319ae0b9a8f7a5b03076d62b1471af0dd2dfa064f98fb7570c10892192af182eec4ef2468daa21e8e0219ffff036e07b3140fc0388293b339689ce1494c8fee1e4807fe15facadbb1c9042ada54033a6a576c96e7882b2a5ebee97e641569568ac3a534a6adc2f9c0dbcc4bfadbfd0390123f8c50cde5e69f93e4c2ca531fe5bb69b8e6b40bb70e4be33db186ed3fa2030e622da2a8459587115b1cb8c08a0322757eebb6d8a962544542aa9ddc1ee5b503467afee1fd7a79d5b49719ce432aa071d1cb48d6a40dfaba1f229cd29f2364f2031ad845d5a1c8d0e460e50d564dc57bfbff0c802a42e3c280e9f18b0301078caf03c2642ca014b1e7832f0c2a8448068bbb6faa5cc3cdfc7a36c55d53e36993cd1503f58575f55b1f7ae56a44e8d55fd594565b9f743f2f3a954f13edd525feb176ef03b581026df42a6d17317b8bd3525953c306215b3576e3ecd396d1da62b602977a03e9d1b241f16370dd953a1685d628700e26145aec8989f002dd4b24ab8cbcb5ec036761657aa7f9d6d76afb237d723ad129e0e75edbec5d42c13f5f1159006a4ba403ebc0b5ff4228b5274a6623b96c02425643ca811cc6895a3cf2b7feae4a1178cd0328d9807cd5895a41e1083db4f5189f240dad5d0e2763cbbab4cbe6dcc4606338033f7fc701d8e7d1d1e3ca488d9d779592629483450528e9e8c4f1ca376e0275750352a364223813828f6b98dfbdd4e8e2c954608d9269c24a3ad34f6983e56f7db10219ffff039e338cc0ae9fe30b35bc00e8117d63dad1f4b28f66177706528f0eae9cd685020310794157afda52f709cdf0d373f6149b9056ba5935989f5de79bbfc9f6ce66fc03302092237280108657a5c0ec335542a61b17137813152a8f329a3837f0978dfe038e21be9853d05f6639801d9c641b30c048cddb4341fb9648c79939e50754d5e003aee65bf6cf6aa83cff99000211adc13d7e177e5570723e98707ae4ffe36d8839034b9b2b14a56fb3b072e75a234d594da6d4b94bcab0f96f5c4814ef05d1b3e4b103eda17cae25bea4f259a068ea7b1220efe7d1067369afc8cf31947c341012ad6d03333e17931631fc86a16f7fd57c244cac762dcd98f422a8770925c66950854192030668398b66fe58080e9a646cc9fcd85dc92164fe2d2146a2516d8d4dca1ba2c603137abf8ee4820231ede47db582bf6bcd74bafd5c75f2066e39bf569268ff04cc03b23aaf9e62ad685dd5b940450ace64b6da90c994ba2740e65026c3a41116bc230219ffff05581d0253e8a0e441d4dc5101efa6a123b85a3a2a219f1a5fd625a5d661449007011914e20219041802191779034048c061dc98ffb16c6a5947a963147fff54c56401eb9bd93ffe68ac3eac8150032287acb53ce12895666ae45ba03e4028874c5206bb8a86e3761ba38ebafb3e6d035918c7497cbee747e6a1ef4189a864cee5fa6cf5c8ee1100c3445df404389bc603612f6e5acf72b00ce760b203d4bd03f70a5045cf510108d91ca9d564e92ee341036b95d0355e7ab70ac50998fa26c53cacaa3dcbb936ff899f00db0e87982b9d2303a7c61d03f0d6e8eb0267e4878151e96289b51c431174eff9f46bcde8445a6c96032309129e458a12707964b30d8fe20f411248dc5e70882288d3349035da641e3103a28bc7db9559e31514ef80946a5328f75041f85afe495b22b0ddd4d72fad8eed03060aeb9b39b3f82173376e6a928262f028c73d897457361d9655d8fa941799230354f195efa211ca473f7f1ed2048468fc3b6876c4729851b5597b3729518fc46303a5b92529720b3aaeba8f57b69d532bd9c26df7b7767d63205e4102687a56f90103b439bb2721389cd3451c5e367049bc090159a2b27687d73443d1b1cb9eb72db2035e9d793a1c3c22eee0812cc2662fd5ef03bc7eb344c821f56b9bdb21411ad2b00219ffff038b7559fd056fa002537f4166d22b9174631993b5236ec6fe555c09216bc529d5037eff442be31217b0feb4c413c0bb954770d97a655e7267e94328f8b93a2637b3031b3569332fb9cce0644dece75f4aaae7d4bda99ada612c5b88528ac3fb8f079d03266084767a7441e599fdb6373f118e1a4033e9e710aa9a7a3fde057ae56dfdf203a2f9afd6bb286749c07a3a8b09259379e54594ac969624c9d48910a439251d90033fb99da3214ef53ea16030eb01eee3efd80dcba36c857de239a6b47c6430e1df03c00e314d21244c2b519d1010512f6f99f428fc87272dfc850115aa811a6f7d5803fbf25cc63011fa93460ff437c5e08f5c74436431427f704cd69647aca99286a3033ed66c4256168d185c19e5fe009bb3dc85bd3bbbcc1c0ea13e08b9fe28246567035b23f791b29e675b5b25d9834d0df4998ca2b2c160a13500376e68a4064bff4b03f3a798f61bc1ff9205b13b3e1c0ed4e50a7d6e43b1367f51f4128d8004a8fe2403e73828a50bed58be56eb516088410de727b818ad30900a81a779634d8fe600d60219ffff03f62af4024c386ce2ee20bd660c5b707677816d3e36d950d62e92032cb260813003b83d941cd47296f5a5453d3b08cb3ee022ba855e240417c79a8ab2e38f805e01033596f272c23c67426fde5ed8f0ff48b44cad51041a41a9ec192c2521d3c42a9903b3ab90ac5d7543e16bc167812b090486a08d95f1b836777e8bc8ded52934da730358746484212a5e3383cff7d1e53beb97855dac92feb0328a5aea56ac97629d10038f7b7c7480dd2a179a3d745f33f599c387cb45aa77d6b1ddae8d8bac32bc2779034013d31135635a5bf08aebdccd32ece32d85c5fe5636c6387f1135a2792851100219ffff03daa643d36a72974aae64ee0164fc829c05f2c27eef9fb847e1357cc46b0e376203d5b4bc18547bf6a1c8d2bbd58fc7d4aa650aa2695b17e4a518e90ae50e0a69b803bb7180506ff577a039bf8edc23a50e9b6d3bf0d6c39c7310d3c9e7e619b6ffb003d359fcf088a1982545b63e9f19be8618a81c0447abcb1fd95dc3eb554381e3fc03c76b3929941101594e30f3363e21f044158e64ad1d8c9b29d83fa254628b796a030591e82f4a4ee0876b440a29c643bb6bc60b14792242f6e4ea763a3cbe5d7e910219ffff030c2766397f55ad94333dfae12d14e400bb2d1d328934ff1490108ff16bb7452c03a6746de6bd3f7aa7015e376cd5c0e237238b4527c0a4f81645f5a48bcc340f5e03bd1943a0655a5ab4963abddcceedaadb91d0653a349c4fac02752106cfd6cf4f03777bb361b937dca924a643cdc8afe650e72530868c813266636bf7a6dd0f79500364f77d7d26c4db55f5e08f2a6c3cf21e0ec2e415c35b916f1d73e97c8efe83ef035cbdc0b39dfe2ee7289541bc76c8a653bd7ece1a1a67bd8688b40daeed09173203b7dd8f445bd10c66cf1d08e95d1ddc4e7514d8041bc8efb47004bd762152292a03c67ba92de694062fbd0a061b7b0a19ce4e8bb60f66b579fecaf813250786b85503e88bde9ccd369146683b8fb91c1a4c4f67b6199ce230076f2d108622039f46e9038b7b5ad4c66c16f23c5afd83d010208be5bc2952bcf9057488dc65330f60a354031734d38bb41480fa530ea1c315843c2311743af0f9c107d0b99a1ed8e6587b3f03bfdef83d42b9cd5605060530424675d034ea2ed6989b4b35f8678dc25c33688b0337963d5f5ca44fd0d01c477ad86a305ab1406f989b365ada75fa6dc3621fb0e403ea0e88749ac31c863cf8ed5b8e05f300b2fb902f179454fbfde140a08ff2985d03e2028acbd969a1af80be8400c0d8254bfdcb658d57510fd80fdfd70800b0d68903044ef0ae62601a3b63ed0c2bac5cbafc59541f899d1d756114ba12a0e32e509b0368b82b150d74706ddbde1b41a44c6c06abbaddc0f1580762bf16fcf7cbf8ac2e03c16dd0f88f90743a061c3a543359ff23b7be9aedda1c3cf7598dbea28694110a03adb0392f8610183eafc7ecfa7c018f1a1aec0f468cae5eecabf5169eef400fae031f8590085e8fafe58d8c8ec3f13e5f0d3ff951ce6f683bb2476bbc01fd3315f303fdba52776a5567c32a9aece61cbe29f926931d82ecebe33818ba72e3d845b90c03b2c9e05c87b00b70768fdf2e09935e9ed2eab6c896d1a40fc13e756a24b03a8803d39357c437482e0af9b4d588c1349122446fb30b25e54ee00f1b9e8278325c63032d729561b39f5653c2f049ac6491063cedb03adcc54c528c7e89f3dbd2974f0103e23772c5f82a30a237416e27b0b2d787245ac6678a174bb07b91ba85c4ffd68903f7d6d2997f1e873c689fe25359e4b0594c3d843c60c10a3c5b3d6e8d1103fbff03c7ba5ea82ad6bd2528fcfb3e0a25931b026e430f42edd856e1501c846f8f9e5003cbff02ee940988a5348af905704651d28091120aaf6c6809c9dd5d2ab450960905581e0368c056b8d1a0546c64ff9e35e16bc14358c49164e45ccf11154d06700008482ea554e7763f940005581e030d61caf2b836d2f2ad21c9766c7a147687b78dc7aa5b153ccaacdcc400040103658308d9b1eb4cea0ec6c3ab5c938362da65158a88159847484ca711d6652a4b04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203b08387515c67e831c99b8d0d9e560c05b29b04314e843480a98f79060862b95503246fc11a6f8af10ead715b9813530b7d9732064b98043515d1fc2d97231f40dd0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304906b66d39caeef005cf0058210370594ceb590458ea038b9506606f5219d3c550b311994409d154a640de5c772047018e9323b5714a00582103027c8764c6fe6422f5694441aaae791188d7447351d9ecbe0a36a2aa194381704902eba309eb6b1223ea00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05101e1d7291202ba9d52801a6c29497dd35c0058210307da251c4946ab55af62f55fd932c4049a83bc7d0f0e3c73b52df95ea9a414404903c1805c2c831b2f17005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20058200272edfc15ba5e66c10384bccafd40cbb315d28d3c1477cf79e49b6b3905b84b47d0cfaa80b4894d0219014000582103641a9c1fa6a6cb4c1087ce64ffabd721b8292c5e02eba41a9c0469f2669827c0410100582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582008b784a0fe8ff12657d529adfe2983c9d18d58fedf7cc881130ec91b02f3e2dc00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80531030acfac81de85b2cd8f0765bcc5f17ea904c00582003a5ec960bf53ea3848d3688ef1980f799a1f28cd4b321f47714763ba01ae4a041010219802002184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820668642930000000000002954468d17c87abc0000000001ac7b6858c9c2964b200058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5492d6c1e31e14520e676a687f0a93788b716beff500582002b438f2639452477e08c0d127f0d5263f1ee5075b2a22de65a3a980132918f5473433eaa02d2246021940480219bcef05581d02e7d7be83eb11c3d79c700885819fa0432b2b6367c4d8505dfb627e670701192c1d05581d0223cfe850994f766d67f665967d45b5fbf0d5c1d639fc2767f38a42bb0c0b48011be9227c89600d0219048005581e03b915bc2a3f5dab81790545d66c16e4df038308bbc24e30a69c92a9df400c0147ac3099c5bf220005581e039d8671b7f055bb9bbca5fd804ece1cce08cb376dd857312a75a926b50004010315f67e5851601d36c45bff4be6c5beab322a86064f844e6579d9ca2486cb6f2f03c5a6d9f5488e026d2a616d7530f9210adecc9b3d868c7dbf559a7744cc7583f70348433f729a3778e5fc0775121e5fffd65af8210466e794206ddd2d8e24376d4203c6006bdbbea07958c352b20e22cee3399791315c4e0e7505e125767b153d340b02191fb6033158e3482ab8fadec14cbb5263509dee585ce2c6724cb70f9167ca826573ce6d03be268abeb5c4b64ecde614660c021bafb2f2d0afb376888444156b52561d8fb203848e2893c476ea3020334d60acc037696bedca5e6c230d41feb35d18f99a046103a562baa65afb3ec10c2594ecfed5879340e68e1b4dcc378e7b574d006a83e8210385db454bba3627025011386572e23d7a05f67dc5bbac8ea606110be88cc8e4a303d3fda6e35924d34bd52d49f976a397bf3c2b3349eb8c083ee0c80cde051e52f403f29716dedd5e43962d9db34c10b8546a72716196c75c21eb87cc0280d014393a03c11420cdf90f5d905474405da0e47a6d5d349f6f2f4ceec713b832325dbc429d0219ffff034d357b9a0de38af281cab1d258a43ebf04ad67ae4929fd6aae05b6d69a5cec7503a5ea80be8b7fee7b43558860d8da789f70eefddeb55efd9679dbc71e168478ce03ec9f99eb121c06b215779169ed1658f428edd777561db7da1dae5bf3780fcdd6030f9fb02dbdeb2436337e9f8adab749fba10d640b123e5727385593923f6a1090032a5a3d109af3239f0976484decb41e9aaf0318f0fcb16ea57edf92073cd38a300389cb8f00bb329a4a3c4c9195e72cb06d7d6c02d0b33369972a956014273778850219ffff03236a43e11d7eb408d9f44e4a9ac66c832691771a64f16d473ac4dbe942d3c38d03d907879dcf60788c91f7ee09f3667180063b55e76b751783c696d29c9ccb105c03f2a1de8fd194ff31f81377621938b88ddbff19d9caca055359f6c905a3e9041103ca6c386ca0b81c3b3da0ddf06760e078dd1839d51784678b5f0e4b6d95d9007503933a163d20bc2d099c7ebe892c26cc6450ab1d7b2078461e26f77fd7b6c35162032f1def86a5d72e843cb63a8f583d09c2d98b9829dfba6d841508d686dd38beab03cd8c4063d4583f254a78181a906c48feeabb4e1dc5b53050ef3fba5a97da8ce90350b7feaba91d5fc1dd402c30b182e691ea406d1798a6d40a050e1d35dad01374031eda2b2ee708da941cdc723887fb9fa2b1b5d4b65f7d9be96e0c49842909753303c7b20abe5c93e47b8a642b9a4c09a9bce6367d064a5c41e16b66cf00f08486d50340b084767f92c52473a69ec57e6922bd0e5e5b7b5d830d9631c4ec871410093603808a15639afcda2c7e82970d85749b3554c013989a26cdc041f559f7b80dea00039e773cb8088b84c8d9c8cde678ca5bf5e9471bc103cd5c7a27231f54516a706a030af9e11f3b55b77d0281178615661c454204857ee40d69bfc2e82b3e36bb8adf037c5690d6151700fc87ae26b2668b707a4b103a9f6de3e19a5cd85f0e71f899630219ffff0312cf00279331eb190f6f1c496da084cdab373e2673ea477052b0c959ee1def8603df9c5b6e729d21e16664620729ae14aa678cc3f82d8570be12455d2a0a43358c037b4caba0e2062a246a7b047d7be76221b34f23826095deb213fb8015c67e841b03fbd6e0667248608d9060e126d1520fdee7c86c4c49a1fab3d7775ac9b2338159034b287198f460a84b2f0dfc9341c22f2f1b9e78d607f1a1ccc392d20465a93198032757d28ac273fbe821e3b6e440dbab2ba2c53dc3f200b4eac55112ec6a38f32803f21068c0f579de1b9de12e5b23768db14cb22b3ec4193b207842625ff2fa59d9039fcb3c9aea4cc22d8603b48290c17aede4921d64f75ceaa60c435f31c27c506f036f10588909746d04911c0bb1778c39a93f46a746b8f2e6571d759d3fbc5330e903ae41cbb55aa7ab9d2b283930eb5c53e74533e8a4ab19c3d7b15735b392d535c5037740aa0a8e99098e2b3a44e37d7fdeb68f7d02df78d3c9350eb036cc9cd19a440325eee2bb22403472d9e1fa05876d2a5e5f4b1fa4f7fbb1f2f06aa7b45e95708b031649caabe0b9d6ef38b6fb349d91b4fdb8929a9c494c896792f8ef3e2ccdca6d05581e0390853b20e6f2c1715772a884cd513fded544453825ed97b25eab93422008460862b2d3280005581e03f66bb3e87c259fad6c3dbc817601fbb0b2cec0ba94cea8081a1910d790040b05581e033351b0b97eb29bb841f194ba0dad195ae654f0f0a1f860c9ba27ee1dc00c014708b52be858300005581e03397707912f979fb240f7436f04551bc65caec824c2b376c93e9c7ae0c00c09470aa0fe2a646a4f03ae4ed1a9f9ef95be73dbdfe76808162d46eb4677ff8ee7cb815be859b171325303526e794af353c6a862ae7e00ce08d4fd650b1ef6f2d19290922a2bc179941a9b05581e031d90d0bc6bc21561d3e7dbf99879882f9cd5c88c9b0a126f9508eeb1000c0347011a48e9d7d02803a5f4893d14eaefc1e94f5945a632eae6fc99174310ff2da0fe00825f4ede493b05581d02e4ade42d06accb8dd26409f8b7debc1ab9e8372591b5f2f8f75409f40c19071c4905b6b2f8d9732ff0af05581d0233f9a188e77b58d4296f74d77f03456afce4b9c712157798e3e0215e0c024701b7a96ffe4ee002198200030afbf6fbb02ef007b8a388e6817d6ac6ec61ee6d6e99cd27dfd5ea790ebd19db05581e037cd197d063f5eaabb3aac847b7220b5f0289c3e1d980a8b8d7cfc32c10040105581e03ab56290c53933dcd66a8962934cde01f13688449fa6136dffab2f217f004010219ef5703514c68cede602fb91904f2585e00d892ae7bcb21778365e1c6d9906bb16dbd70039065e07399169bcfa9565145e0c7947a89cc4a3768eb1fd863247cc94bc23e920359f05add62fe05b153d1f8d2d31467fc7a2ab6ac63852667f6c54bc6f989ff0003d9597d60bd2f542c3c200520fb1ad3b12b766237c2e90ebd62a752607d39ff3103d8d37e677198202a6089e45a604561751451edbd2622ce5b3a83e551f5784bda0395d812464572ce68039e4b67829089d58e81044c465a933664f39128d1eff3620219ffff0359b37758f2b374069a47285d51b973259aac1f234a8aa1dfcf55649441f98470039f330f37531e3ea5371f0850fe12c6fe68b89c19e898775c3d3121f35d456b59030028020a4d828397bef52741d7a43b38040e3be512e3c4ece32fe52e155b14e4034cad8314e87f3a23a0bc6668dc675e80a1279bacc0d2f20a7acaa36f786f8e510301176e9de8f59987e66218963eca483bdf07a83f005ba71447c4bdd03b7522af036967952bcc6ee9f918fc4cfffc9443a2d374db5493bb68049baca749c61fc2e803a7fadbd8f4b173a07c073682df43842a47a3bac37bd019d7e46238c1f7466aa603bb4e84ef1abde2aefb48f9ecfac540a40d8310b8f9bae5034702317097ffafcf0383a9251c045443322a7e4af21285a1785cb4fc2effc620005fd08b997ae773ed035cc78055ccfd197e6a658e273f3594778ef8bd1587a0cf137d09734810dcfe9303f7210cc1da69c1dba629761244cede52e9ac2696128b49f6dba9d3f72a1a53e6030633d9f31f71877d955ad933fe533e991c2057f7a12c3e5b991a1a2082c8a5bf03796521a1cf6ff0d56d50dc957cbd40945d4ad527c43e51ef006fc565f3cbc21d03007a5190d26acce1b3529f6523bcb4f417c6b7ead3f9fe29085aa8cc6c097bd903bf8bbfc9dc9505371b54f524a11895104404dbad0b63290f7dfa0a679de3e6ad0219ffff039e29c2db73c5c51670c1fff88dcce1e892e4096f0d3a3745615bce2e548003b903992845624c4102cd48c87433bbbd26a9ff10eceba5fbd7bb78f99c2d7838ba5403636902f8f97c2fca7406a8b2374d2bd8c3ad4829901b96092258e99246eb0a8203937f79be2536ffdf5180714b6a784a98a574fe1a921f182aaffd56a579a4e9db03ef4744e1797fbc2c88633e3a8d5cb1280799e1857f344e09eed943f670f77d9d03703b9997e99a30ab50fac821dbc8207aa3aa72be262dd6375e841ff1fb2a205403ee7ecf3b5090866317484c96d6517357a0fc37581b75ea8d7f7c4a0e99c2fae6033bebbd8e12ab81a11addb7ba2fb404d314ef590299c27c18469d85ee60e77e7103f3c1d32a4191f44b39a25c5e54a695aa7078e028d10d33179085157f86e61e9403dfe6fa05dbc4fcfc312523073a0ba2f86d2cd2c5e73fe2fb6ddaef2e1dd2350403174f5b9b6b954a3bf8eb4f140a933f4aabe382ac8f1d6e1ed763960b290685750352a149e8a60b069ba226e7d1be07f12387ce7159795fc059c052ba196ef956a80219ffff037e8ed5e0521b1ccaaa13de1239ecd26b04c16fc902ce03ae9390d29a5aa3b6520219ffff0366f2397ba62070b5405314f4147304521895e7d4df43a7083fc9b2f1b9fdb9d50340db06c51103d481cecf11d957dfadb72d2bd14e950653a9c4d0e7e806016419037b194284c7bba551986ddc59c9de5e886da307388f5198f16b2d2b4fb23f74e0036c013c07746f0588c0a248e5a1f776d88a3ac355d20496cad5841c3186facecb03eb68195b883f9bd74c9cdc1f0b00f315b232b0c6276f5c3fc936baa901deb93103eeab6cc322087999f09fffed0fbfc3d5ee855eb3909b19d578aea19aa4e363d3033a47edfee29652186c3d2d3eeb95323fbc52bd43410aba5ae3716b119c40e71c03b1d215fb34ab13569c6aa17d4dc8f56511d986419b2a09c74a086d5e9f2d26840338ea2c3cddde4669be05b20e45c61925f01125d48e0207debd08c39a76b5c2120311f5fe2c5ced9a7297d754774f0a0a1edb18af2325685a7454f36487b069d9db0323dbdb7a8857ffde60f2a2f150a12ebd97f5c22c72715a5f4ea3be74d748368c0319869dc717aad888aee6a36191b975b6dd8890781dfeb1e768b53a45749d774403c926f884fc9113a4b89c9bcb1f1fefdb0ac4f1e6782175cf30d958e8c619f8d803227e691c6b9bfb138d17985edf4db0ec5cd8971e27a2aa5beb9ba98e3e76d77e03bdf9b06796be09f10ef0340cd4d3deefba6c6dae8f582211214f15d765e8ce4f03262878d9a60b91a95700d63eb4edb1660163560fc7404c55138126a570fe5b380354be0f6b0db0a8f0076cee1fa160ce3d594da49ee5eb79f6dfd6d3fef139410f03ed1d06e2a44d6e58d547963107f1814007ac52fed5a87f08738a4c5c3a28cf7f03cbe5d0936cdb02828d6ba7ab43ef28e8198a5ef00364f68172d3dbcb3c5f772703592bd1cad9331f5b600d27b4a02e94e78b40397d702b3221c41a339b327e8e5c03feeb125d1e493bc47033af3d92d130870d2085dd6ab9368205fd542037f07bf00387ef6b885330f39d67d8100864a286bdac6846afe39562b793f489217b29786a03c80cbb8ac47f58a2df07a54dcc30fd7b5d7f9cdca485c737b1296d7124d694de0385fcc2007228189ec8f66ad2a55560b40734219f958632c7a3791da586986cb40354583f341e716a4af9dac87096e9b37c0756319794ef13e20d7443c875863e8f03fe7e0c3f179dcad41bb40a5e6226c0696386f4e6650ffbfb9101047b5ea4df4703c6301863cd1266582fd97e1e5782eb54deb9a2dc4b4c510bfd22df62df931cf8033bd63b95f07926d89461fae664c41abd107f504ab134692a10083f02aa81b6c8037fca025e2d5afa1c182ef3e52182c950c5e38b765400fcbe43a4ddcc1ea4c2e2035db26b89afe22d56e4c5ab77ff009c57eb017522c34efab062b76bb91fe6063003ac49e0f5222cb44c2f03ee8c1930df384e97c37bb623c8b09e2a27439dcceef4035b25accc5f781b89e82b3938d79780ee397b3905c027cb895d8d264700ec28ae033081ec542d0e5d6ed90b807602149395495550ad6601eb0ddf56af4ad73190eb03870b1f21232b7aada9f2cd2462ec978659ab566bb3fd97eb102cb4f41ec4528903ee186fe5fca1b22e9f47117825d2c688e0a9a57ddf5dfb17b1de56aca74ce56203c56464ca310dff3ccd89a19d99c93ead44deec1e0b5eaa142e83fcf2a0b90f790390132a7beda92bdbcb23cb633d51ec15193e89eae2b1b17bc15213d11b650f4c031f865fdaf3a72cb10bd55c1d795f2babd2beff5ba7a307cd4e254037b982fb32038830f6193a7a83c516bf2613f56a1f884b7fd82c5c67bbceac4e66059b67c5f70394eb0343e6f274142ecf629e1a8a2a31e9a737f0027e74bf46353096e6a30ce605581e035ef16a26cbd4d58894abd3461ebacdfb72cfe3a723986ac029331027100c01450224da291f032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e035774f8aea7e6e59eed22a6e0e21d2154be9087372d9f1e52c2c4a7ca3007011bffffffffffffffff03d39d8bfc650d58b6d1800848fb8b53357ca3f4df2c543b899e0cbfac5b3e2f7b05581e03900a21b50a0d5e4a60993ac51fde5b8448afd82235c61a9758716729f0040105581e03a16b65962c2239e16ed34b7d50738563a4571e422242c27f553218e8000c0446765a1d184a8f05581e032b5f55c2c3654aee885ef2d84ecffb8eb2ed2f9474009fa09b31db8340040105581e03dbb56d43da10b4dba4fb9c7572cd26afe4cf089e265226075063db43000c024714f178a4f3700005581e0300caa5c8d2c4fee4adda869786bcaf7295b2ca84a8aea4aa60c2aee0800c182847eb1fa5d533bcce03368bb2906d830f0300ebe6798b3868123a26c0665c54f38fcae49081f9ce184b03eb380ddbdd9880667ee426358355bc1784a0b56f4ed924e2b512f3a55eedacd202199fcb03825df70969bd4e2b076a137a03e5855de62ab997821e0df2d470bfd5278be0dd030c40fb359a9e91bad45636b333c2796d50649a57785400638bb844ccb72c7c13030c50269805e1b657f46235edcf512e0d9284101ab851b2485a81d0c847c56b20030f9c981d40a69e694f33b656ac620162b5507311d008ca2e8403631f15ccfb25035ff18d441681bcb72b51a66ada85ad016e775d9cba7308945ffd8fb064f19bf8033b1dd1276a52cf648c3d63049a33e81276d2f3197f37ebb584f860c1832e207303cb2f218d79cbc338e7ffb4da5127a49ac33b0ebd0a1bc6e1c5a6c3288dd59e6f030a259ad735bd880f54a32df666935ad36625929c8167c68a32ba961f2696d75503985a3cc8daa02ba7b862982ef1006f22a2232f64174dbf0b9907509b8831df0603c964d0565e44437b497cf2b28d07f29d07a3f9c9f3b1b14936899876cd33a4bd032fd4020081ad6a03cb487e90e25f2d077687f753dfc89dd3974d08eb8950557403fc028c519fcb8efa2bae3d4bfcd96981783e4492384efb54ce74a3f66678ee3403f31c0a56ec5ddf6785d946ab0fe92d6d9b1a76a652a87b470d97ab23990d9c570219ffff0219ffff03a1b810bf1b5758c08812efbc31e8953ea91783430275776912bd8111a84157770219ffff03df98df4352ba31d11f1e68090e6cbde432e21505e8d27a72e5874c483bc79aa503aefef2335ff68ffbefd6390fd18c70fac39ab1226587a6a7b4e3dc1a40483399030726401de5d2a900cde83a385c80733d79352302daf1d1cf36db49a67b0bf5a1034dfd60bb6f455bcac7dd735f5d8e28c7c77e00f78fa028d03f01b3be5661be7803d09ac0d79f3696ed1d45f1a3fcb2016fb6eeafd05bc6ed19534d36c8b56b972003c1e01044f0c69c36cd46ecf3dd16a90b5a853c37f9870f16500b2b0c3414b47e03b1d7b5de260736b6c788b8b90b8bbba511a9d38aaf936d5174e8d9ac6fc5653a0345dd905fa7076fc4ffe4f309084501648d0642c5c8e9f5cb1e2a70aa5708645c0219ffff033aad2f0cddab4419f5e2c3d53290f8177e5caf5cc30b772ddf87c987964c0de403ead136861060960c5520135f787a4a2e493ccb3325f0feada1c7f7e520590ac903477a8cc3b79273f4ccd151df82ef366386bae4f4caf9fe25ceb5c70f252cf9a303335c94350e07ed921cfde4501d073b2b69cb0ac032a5c476fe0037113d66c3d303d14c04e82b636d4673c18e99ea068c55887d5e3b00270d709a880e050ed181120329f6c5e58319000f79be96f3a5f12a3902798acd06afd0f19b5248ccf76f165603fd95508ac721ed78cb3de1276c55d3d72fcddb95b95a8aa4b89dddb168d2f18b038bd1894a709e89f15e751def0159eb5aeb9736d4f7ffa5ee31a9ed9d03c2778c031e11ffc49972fa901e514b18e919d9707ac6a0401111fb3c29145b717f04207e03cbac6bf8b34bcae953cad98c104e3ed1f44f4a1ac8b270e111503a0804b2763603eac7e1560848a7a43846d2d68c81a59d1c388bfd9441c6b4b268219f9cf9319303ed01d96a66429651b1fbfe602efbe8ea0a75c71779871a0000a1997e67c012a003921b12c843e98410a0fe005fdf8fedcb78a9566cb3de564801b41921ddc11c9a03a8b4fd582ebb25ad99459779ba48f458092b876a2274e256bf74331c991ece8f03c266c4983a6dcb31a358f776e6185c19c4e6785cf69d9b6491e0f99a0ebec8b80320545c5f69616904c27e59dabdb121e40cc4c6d344acca47855c2b9cbdd5f3ff03ec691031b53e943b6940613871a0ef8a683f354d4f984605b8db8296e6d332b3034605846b8116a40b24c284f63931332c5acb1268ceb09233dbbd8385ec570d0a03b3490fcacd0a95593bda7bba42adee6fb2b0aa28f62586013ff29dfcb7c231be0306ad4850aafa881f62e1d1d84e4e0f02119afe31ed2235fb8c39cde3c078385d03718dbb838e35aad02da4d1ff0b52613a816f38a83874f44ae5d703669f5a0161030bcb39d64ad3f0c4004ebeb604ca8f29c79ee72b4c1a49401ded10f963d7ee50031696dafb1a4a9b6879c1bc8fd1903a31b66f22863695f06800b24d173d5e670d03375ff411f34915524d57d58fbccde2ee37eeac5e9e4fb8d02a60bde2ea1ecced03d20df4e9fd247f45390b4e75bf14e1aff3487bb3ebfb44fd3639547bb537d514031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03af530ac5aac6c689f56e4a9f4233a03761b0c680109f068f3eb33fc6f007011bffffffffffffffff05581e03e8ff70ed2599fdefa6c0991240c02ecd00062b192b6be83318a6d739f00c024721587fa47f697b05581e03fae5c06196aa06a8508cf45fd5042f6ccdca4fa888ae8c2c7f1c09ff400c014623b1c90ad59003c8b260e9fc73dc8f71db121fb5a6c9d8e018b2d340d7aba74b9173b1014785e905581e038f926c816ca1e079067caba944f158e764817b83fc43594370ca9cf62008483913792fd88db4d005581e0311a9678266e7643ab22b3e891d58ae36f01e4158a98d44b27e723969500c01471195ffafa360000219444703e1d356548365fd782c88296a3581150096eb9c8ac04c34126d4312567f173e1203aa1311798999fe40909624ff943be9fdf27ec418ea4fee43ac20cf093bc0d5e203d4f481b2755109a2dc1623bb00c348aed3fb8607653aa3c7e66e881cc9d34449033c168abdf85a3b1ad0e64f10d73c984a9ecc390f88e63a5899f9bc5044bfd73803ca58b3223949f6c5efc7c665835d160b84b92bdf5f4ea216dfcf6952f0c51c5003ebb436a2f9c4fe66af0de7586cd4fbf7e410f52f4a51b4efaf158ea51da22f6b031c9f3d5138dad9ecb21d3498d1387e5938ed25a10fa4a214f10c981a94c433310219ffff035ed7f53b5bb8cbd1ab22a0fbadae1ed4783f025795cc64e04f49a91c2de1c4ac03856815a2cf92fbd19c52c03bfa08997f328b26a8045764a3d5cb19f82169bb6303d170edda3f6acd393205e9e5ea87234403ad0eac3938df9ee1a9877f6d8e7628033e572f1e69e09fd37c8f072742fa306c983e415782baf71eff00fde33d0fd5560352b09e04da36a1d91bae5652ee46ed557bb258bed244a673c82ab10b36b4cd0c03d0900b2e78da731a07d6ed644156f85f9f0fe935caff01d1e60cba3236262fff03f905adeae819f34f24a4347afdd527fa792ef4aadf8d7af2237a47f197344ddd0219ffff03ff5743485ae5a6e6ae30fffaeb02ae034a7c160535bb5dc16d8da27a7472341c0323569f30ef4938583395285ab18d7df8f7b460474f6574a879e6dde33168e89a03d358a23480fa0eeb7bbdfba9d45e2dc230929c26d621300c27549c83a201681503e6c18f2a76c86bccf1ae7739d1102f754f1d4e3137db901aa6ba353153fc7b52031dd392eacaefe01abfbce3bdccb17dfb6dd5831db136c8ba97c9c4645454691a03cf60504bf1ac0e7765484c61bdbed6f08500bbfad5ba66f5b8f55244b14076cd03bc6538d991237ebf29f4e4471e9b8e2811e7c1fcca9b68030c461a567fb5773203b042d731c275202abf0d91ab9dc8757ff35725b4e9dc24d4dcf6c809623fc31c03cf178963ca7f184e317f2d2783b7f85cb4829d4f4ee8f88c6687f56f6d7db4680219ffff03685b0a420f9a6e41a1c8b8c94ce2239ce222bbf557f4bac0b6526ac55bf4f4a503fcc105e3ecc64add0438e5e8e3fdee4510253af8fbd0f101a91b32188002fc4a03b5477f9372b6fa62cfb2d00d5e14d903d04f2cf1eba0c0ab2d4f98d1239bc07f036086a93f775e869d44873416a3b695bc93d36b8b0afe591690d6618a2844bed203c79be3a65b994c7bc7e47dc552c6f87cc0bf1d9e9279baf277ae1da0d6861dc403e400648e4eb0226e87e6422113fea00f0e04ee6e6fa2b47cf41a76a8a6739aaf03f1a8fac6a151e5b0f87c0dbff31b2db37d326246efc5062820fccb50c06c93d403bba731dac35e161fdf790680a4e9dacefb772830f2498349275ba74690ac816d03c29b400121b9b9f8cc79b33a316ab501e12fff123be78335e03909bdc329a60803fd12ac98ee1922eb7b0f840d1971a2bfa7f99f69c467ee5a357374f5c6a502c4035761ed0992b8b5162f80fa23c16ad59bdbaf01fe427bf4586e38c9e4abcb059203c36c2f39d40013f0b6862af5b18a4334f623bff2d2175777e6a31f644648e23903c34ec38040ce235abfa5350517448dd253e3643b5139d2381e111b93849f1800037dc2adb10c4c4228427581ab4bc50c2bfb17a73be1431f64e501042d6f24188f038ce200512d1e38d0c7db9560698e33a577daeabbee993522561ab53071df58f303ad8a9c036ebb8e5408dc003d6be13d534482d929180a0d7a68db6de7c45adabc03f5a4652e08a9a21c6285a38f3c03e1a5b668cd444a564cca1ac8c64999275f530349fc6f64c93ba22c666c3d2894b1d7aee0febed7b4e63b120a160ca4d68b478803a3dcd99bcf014bc1bec8be1a3beb692b5d2ed5aebd4665af8701d961b8eaee8b0310dfceda84b10aff924286776f3b85f078bbc4acf7ea9c3dd6ffe6a2fcc2b4d903ab3bd4e06945df33bc99d1d0c129388a67fbb47866f43a6534461f8438c1177203391caf0486b3e6bab315784bfe5c2db7bc1e9a39423f9c6971993499f0de3b4503bd72d98fa38bea2651e26aeb457145467b0bed0d6af87e1d843ba534644bf69803472e947797868910b91d2403bbf98179936f2048677ae8be141e2103e627905003fd8faf6400728c22a205747a05dc313f817c625f6b110fa0743e98acb009d341038ab1c8fa033dbdcef698f59de3f984088764d0e3480d7583d51a2cd77168f4bb0310930a538bef115af7953a3b1d18e6b65f9353847f4fb92afca2d458668c33c103c4efff9ddf2b9450174b26ef2a3b6660d12dc40a15e39a3f62ad29956c27d3b703d8c2d97fc8fdcb2712119cc0f4cbe5ccdfcbb8f6718910141f4404c35f58db3f05581e03a47bee6531e176598c27428cc85995d5c219a9c60ddc20621f00f83ac0040105581e03ff40916070bedc3071a6fa9d35da7e3f0dba586185de98975dee92b0c00c08472256f89d5a960005581e03da69d1a51ac3fe599103e0881f7c58ebe9915397349987852985664200040405581e03ab5dc855f9bbef5dc80ceddfcdd84e60d00bfbbf9962d7aaa76b8cd0a00c0344ec3a6550032a7170ad22a0b86ea8f3b1c6fc3aeba01ea8091f1be300028ac0c33579531135033d2a5f63bab8f6542ec3d5dbd526b3bd5e2e5e9dc13b14f191fe796887776f2101410d03f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e037ddac3455d7cec3df887fbc639697bcd97f451c89f9d11da45a7c2f0e007011bffffffffffffffff03645c904ea80ef709ef75f18b8f3ec1c6fd0dda2686f973dc648b42e882b7555103d494a06419d3529728652a51b3f3c41d730dd9f8caf51b352fa773c31259757205581e036b01410c4aa33bdcdbc0ba1f2ef2ca03a7411df69bce84285f0fbcfb00040804591a18608060405234801561001057600080fd5b50600436106101425760003560e01c806384b0196e116100b8578063a18cd7c61161007c578063a18cd7c6146102a8578063a457c2d7146102bb578063a9059cbb146102ce578063c71f4615146102e1578063d505accf146102f4578063dd62ed3e1461030757600080fd5b806384b0196e146102365780638da5cb5b1461025157806395d89b411461026c5780639a8a0592146102745780639dc29fac1461029557600080fd5b80633644e5151161010a5780633644e515146101c257806339509351146101ca5780633d6c043b146101dd57806340c10f19146101e557806370a08231146101fa5780637ecebe001461022357600080fd5b806306fdde0314610147578063095ea7b31461016557806318160ddd1461018857806323b872dd1461019a578063313ce567146101ad575b600080fd5b61014f610340565b60405161015c91906118d8565b60405180910390f35b6101786101733660046116aa565b6103d4565b604051901515815260200161015c565b6003545b60405190815260200161015c565b6101786101a8366004611606565b6103ea565b60045460405160ff909116815260200161015c565b61018c6104a0565b6101786101d83660046116aa565b6104af565b60085461018c565b6101f86101f33660046116aa565b6104e6565b005b61018c6102083660046115b3565b6001600160a01b031660009081526005602052604090205490565b61018c6102313660046115b3565b61051e565b61023e61053e565b60405161015c9796959493929190611843565b6007546040516001600160a01b03909116815260200161015c565b61014f61059c565b600754600160a81b900461ffff1660405161ffff909116815260200161015c565b6101f86102a33660046116aa565b6105ae565b6101f86102b63660046116d3565b6105e2565b6101786102c93660046116aa565b6106bc565b6101786102dc3660046116aa565b610757565b6101f86102ef366004611744565b610764565b6101f8610302366004611641565b6107e7565b61018c6103153660046115d4565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b606060008001805461035190611981565b80601f016020809104026020016040519081016040528092919081815260200182805461037d90611981565b80156103ca5780601f1061039f576101008083540402835291602001916103ca565b820191906000526020600020905b8154815290600101906020018083116103ad57829003601f168201915b5050505050905090565b60006103e1338484610953565b50600192915050565b60006103f7848484610a78565b6001600160a01b0384166000908152600660209081526040808320338452909152902054828110156104815760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104958533610490868561193a565b610953565b506001949350505050565b60006104aa610c50565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916103e1918590610490908690611922565b6007546001600160a01b031633146105105760405162461bcd60e51b8152600401610478906118eb565b61051a8282610c92565b5050565b6001600160a01b0381166000908152600e60205260408120545b92915050565b600060608060008060006060610552610340565b6040805180820190915260018152603160f81b60208201524630610574610d74565b604080516000815260208101909152601f60f81b9d959c50939a509198509650945092509050565b60606000600101805461035190611981565b6007546001600160a01b031633146105d85760405162461bcd60e51b8152600401610478906118eb565b61051a8282610dbe565b6007546001600160a01b0316331461060c5760405162461bcd60e51b8152600401610478906118eb565b60025467ffffffffffffffff80831691161061066a5760405162461bcd60e51b815260206004820152601e60248201527f63757272656e74206d6574616461746120697320757020746f206461746500006044820152606401610478565b825161067d90600090602086019061144e565b50815161069190600190602085019061144e565b506002805467ffffffffffffffff191667ffffffffffffffff83161790556106b7610f0d565b505050565b3360009081526006602090815260408083206001600160a01b03861684529091528120548281101561073e5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610478565b61074d3385610490868561193a565b5060019392505050565b60006103e1338484610a78565b600754600160a01b900460ff16156107b45760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606401610478565b6007805460ff60a01b1916600160a01b1790556107d687878787878787610f69565b6107de610f0d565b50505050505050565b6107ef610f0d565b8342111561083f5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610478565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861086e8c611005565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006108c98261102d565b905060006108d982878787611040565b9050896001600160a01b0316816001600160a01b03161461093c5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610478565b6109478a8a8a610953565b50505050505050505050565b6001600160a01b0383166109b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610478565b6001600160a01b038216610a165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610478565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610adc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610478565b6001600160a01b038216610b3e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610478565b6001600160a01b03831660009081526005602052604090205481811015610bb65760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610478565b610bc0828261193a565b6001600160a01b038086166000908152600560205260408082209390935590851681529081208054849290610bf6908490611922565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c4291815260200190565b60405180910390a350505050565b600b546000906001600160a01b031630148015610c6e5750600a5446145b15610c7a575060095490565b6104aa610c85611068565b610c8d610d74565b611082565b6001600160a01b038216610ce85760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610478565b8060006003016000828254610cfd9190611922565b90915550506001600160a01b03821660009081526005602052604081208054839290610d2a908490611922565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600754600854604051600160a81b90920460f01b6001600160f01b031916602083015260228201526000906042015b60405160208183030381529060405280519060200120905090565b6001600160a01b038216610e1e5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610478565b6001600160a01b03821660009081526005602052604090205481811015610e925760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610478565b610e9c828261193a565b6001600160a01b03841660009081526005602052604081209190915560038054849290610eca90849061193a565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610a6b565b6000610f17611068565b90506000610f23610d74565b600d5490915082141580610f395750600c548114155b1561051a5746600a55600b80546001600160a01b03191630179055610f5e8282611082565b600955600c55600d55565b8651610f7c9060009060208a019061144e565b508551610f9090600190602089019061144e565b506004805460ff90961660ff19909616959095179094556002805467ffffffffffffffff90941667ffffffffffffffff19909416939093179092556007805461ffff909316600160a81b02600162ffff0160a01b03199093166001600160a01b03909216919091179190911790556008555050565b6001600160a01b0381166000908152600e602052604090208054600181018255905b50919050565b600061053861103a610c50565b83611136565b60008060006110518787878761115d565b9150915061105e8161124a565b5095945050505050565b6000611072610340565b604051602001610da39190611827565b60007fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac56472836110c46040805180820190915260018152603160f81b602082015290565b6040516020016110d49190611827565b60408051601f1981840301815282825280516020918201209083019490945281019190915260608101919091524660808201523060a082015260c0810183905260e0015b60405160208183030381529060405280519060200120905092915050565b60405161190160f01b60208201526022810183905260428101829052600090606201611118565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156111945750600090506003611241565b8460ff16601b141580156111ac57508460ff16601c14155b156111bd5750600090506004611241565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611211573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661123a57600060019250925050611241565b9150600090505b94509492505050565b600081600481111561126c57634e487b7160e01b600052602160045260246000fd5b14156112755750565b600181600481111561129757634e487b7160e01b600052602160045260246000fd5b14156112e55760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610478565b600281600481111561130757634e487b7160e01b600052602160045260246000fd5b14156113555760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610478565b600381600481111561137757634e487b7160e01b600052602160045260246000fd5b14156113d05760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610478565b60048160048111156113f257634e487b7160e01b600052602160045260246000fd5b141561144b5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610478565b50565b82805461145a90611981565b90600052602060002090601f01602090048101928261147c57600085556114c2565b82601f1061149557805160ff19168380011785556114c2565b828001600101855582156114c2579182015b828111156114c25782518255916020019190600101906114a7565b506114ce9291506114d2565b5090565b5b808211156114ce57600081556001016114d3565b80356001600160a01b03811681146114fe57600080fd5b919050565b600082601f830112611513578081fd5b813567ffffffffffffffff8082111561152e5761152e6119cc565b604051601f8301601f19908116603f01168101908282118183101715611556576115566119cc565b8160405283815286602085880101111561156e578485fd5b8360208701602083013792830160200193909352509392505050565b803567ffffffffffffffff811681146114fe57600080fd5b803560ff811681146114fe57600080fd5b6000602082840312156115c4578081fd5b6115cd826114e7565b9392505050565b600080604083850312156115e6578081fd5b6115ef836114e7565b91506115fd602084016114e7565b90509250929050565b60008060006060848603121561161a578081fd5b611623846114e7565b9250611631602085016114e7565b9150604084013590509250925092565b600080600080600080600060e0888a03121561165b578283fd5b611664886114e7565b9650611672602089016114e7565b9550604088013594506060880135935061168e608089016115a2565b925060a0880135915060c0880135905092959891949750929550565b600080604083850312156116bc578182fd5b6116c5836114e7565b946020939093013593505050565b6000806000606084860312156116e7578283fd5b833567ffffffffffffffff808211156116fe578485fd5b61170a87838801611503565b9450602086013591508082111561171f578384fd5b5061172c86828701611503565b92505061173b6040850161158a565b90509250925092565b600080600080600080600060e0888a03121561175e578283fd5b873567ffffffffffffffff80821115611775578485fd5b6117818b838c01611503565b985060208a0135915080821115611796578485fd5b506117a38a828b01611503565b9650506117b2604089016115a2565b94506117c06060890161158a565b93506117ce608089016114e7565b925060a088013561ffff811681146117e4578283fd5b8092505060c0880135905092959891949750929550565b60008151808452611813816020860160208601611951565b601f01601f19169290920160200192915050565b60008251611839818460208701611951565b9190910192915050565b60ff60f81b881681526000602060e08184015261186360e084018a6117fb565b8381036040850152611875818a6117fb565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252838701925090830190845b818110156118c6578351835292840192918401916001016118aa565b50909c9b505050505050505050505050565b6020815260006115cd60208301846117fb565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b60008219821115611935576119356119b6565b500190565b60008282101561194c5761194c6119b6565b500390565b60005b8381101561196c578181015183820152602001611954565b8381111561197b576000848401525b50505050565b600181811c9082168061199557607f821691505b6020821081141561102757634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea26469706673582212203de9d8f3af673eec4b7def57fea7c44ddaacb566240ed7be1ee0e924bc2e586264736f6c6343000804003300582102849dccb34bfab7cbe2216fb5b29a0515c94cbbbf4937563706bdcc040127a8134cff000000000000000000000005581e03f794ea8e6955ebbd9480df9a305597237bd4aaeb23478483ec8e3911b00701191a1802197ff0033016a79c73622eda84513c2115cf9b994fc6cf8637cd1b59f91b8d37e2aee41403d2f91da1a98b796d499b6cded422982e2dee358cb6bf9e2d3524a30ab28691f303b44f5ff97ca300620368b99298daf91c24b5210604e0140262daf2268df050180219ffff03d7b34e785ca5f476a5b1e84abebe038deb1ad0d94ad5db89c24cf98a9e87943703b3f91e0ace4bdc49aaf49d2d9ec19f62603229c3621059c209767dbb41329b26039037fbff3aaed668f3c807deb43b6384381f5a4b692e9ea6fec5ea969eb0066f03e869c98158e5b5b8455b41c9aaf8dd8a8d0ecd7520319a9e9a755e1b327eeab10219ffff03b5c78c2c5f76d8cce349873f29b159e98313ff2b9df637c123b04b3703a863f903ce52abf10153e244301c41fd0c1a0ed26c622a9b681ccf8d44569cd22e9e615003bdb56171afb757e63cc250f784550bc43be4833b9a6c28745c0a362ebca8c63a03df95eb2ad93ff3a7bcfa9a89df674125260d8c6913c0d7929664c7308f5d022c0397236344c821dcc9966b86f3b70adba1d71c291ed3d12f3938876fead2468e8403d0bad009d61f2ee1676b395a924964f561ed81f706e5327f94e5fb81cf7eadd3036e4ef3d81c2a3357ee46fa7c833a4f4328da5c4d690299ece47239c1dcf1963c033b3878fa7dbeb48791220b621b767c3de643dfacb0c40dcd384689ac0982a9190342a0357a0db5686375f26313faf6dc906cfa076ab0fc93ca2f0a09f79b17ad5503e04929a71d94f350e7667b13cc2f4d6adefae4b79d22e3c6218541811967842c0219ffff03805cfd21b61d80884c1236797123543e4d92e26acc57ba19d257c6c491c26fe203da808bc7f1a9de68ded144d431a92dc58d79391d1cbebd8f5fc1a2005f6e1bf903c13a15ab2a1cc06a42bb1e865bee2dfe1ecbc731938927219e46754b2dbdda48034169a1b543382b2c9412fc82fddfc9c0eec371bbff18dc2e0cd28830668422e603278c95f8e8909cefbd66ba5d6707e093ecd45be88a424eba09fb406b26a47072035b3c08ce0e6eb42fff1af1f538a97240a3814b9b5e84fc1b637bdcb6fa2659a3033b7dcb1ccbee49f3635e600503637739c08dd5911a2bcba42603e47dc1ed69ac0318ab264ba7118a3edc08ed2c7816abdd7fc5c5db38ecacc546b86be682f5bb8e0323a500091b598d4ccf1b74851caad549cd665a206ef581f2fa1acb7fef1ad809032cef8e7b7ad36c20f9311fcf089f88ecdbab18bb56decfc4f63b246de8a2204a0344867b85594c34d92d048a80ecf23ebdcdd0037a5499ed7c4005e9d6e1ac9976034a751feaa2f71d4bf7f98525d76693d3ed0e26220e876bfac14b7a578c3ac1c203dc2c86e7dff8f742e015a879f174f79f61285d13544a852362e9fe6212da544a03e8bde4e56f77d59cea52ad7345705aea5fad7a1dd7f38afddcd37d523e42954f031a017c8877259fb1a7f6170d1e8eacc706226b203bf53c616c6a80cb56e634e003d88c306305d51bc3d13dc7ad1a09350add9a1ebeb01f185eee35684163dfdfbe03df8a40787718c6edf6a6ba577db75974cff22221388674c5237d59bfea0bc1910334a118ee17f9ff221d9a45a57b604a04896634b976c4feaad77902fdb45737a303d947a2ee1c247339d0ca6f39fddff56be4fda1d12386ca1c1befdaa998b0651503773310f93304ef86287ec3ac59e89966ad9b7eb9eafa006b9d3df799da014fd403ea597e658b18c16d2ec1707070a0c327745463572986b814aee425d2d6a36b660317051eef0837a2eb30da14efd3bc53a0388e420daf3b9ca4b091cbdb48348d00033d001f470273bc161a4e6462e57eed6fe9a029e1e4e4e44389fd4c827e036d4a0341b1431946a70b30b1f3b649fbd0eb59573655ceacf0ffd4afea04f8070ae3f5032f004930e0665dedb03e4d410d67bdfbaed2b212c9c69c34595a3dc930af36bb03b2c0c82b501e3844a28355838cf2c61a79b60a4a8aef4e0b3f06a9a696ed25910344d9e62e8ac358565a0aaa8b6ccd84a4914ddb69ca579ca5aa6628694abecf400364cdbeeff7dd7635ac2dc9b7f16afad63a4d9464d8c7e39ff4bc200af945bcda038b22259215484121e852682dfdb52648e763284f1b944d1a30a80c9a313ef26605581e036320f8c1f974b760470809ea42e66e070a36ba1d7122085d1f4e3470e00c190142471a03fac192df3d05581e03b1054a00f8a3ecabc05ff497f9e6fb16d2bcf1244d0a92922e359f79c00c0247013d9b220f487f03a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03e0482eb0e62c6271806eb4f5b2b29249f2f25255074d86f55852f63be007011bffffffffffffffff05581e03e9a5e12e625e77f771002888ddba254682494e939641c3ddeb84dd2f40040405581e0355aa8f4fce2bcb08986befbb222ffb4c34eabff43faf0055b6ed43c7d00c01471182e63e1910000332d925805e5d9c4e8947c73b9e9007ba62fe2f8c4e648173519ef5ceb10793f505581e03b2b260ff1f662575a29abf29995a6e96f8296e88495bc3509add03b6b00c014801e2ec976bb5267805581e03371d3345aa40b40cacbd8c9ca0d7ea5dc7354819360a08efa2355afef00c024714f178a4f3700002193555033fcd6a43694621a32095317f7593adcb0aa4f9ceb17c1bd5317b19b91b5d3b7f03b8b31b56d1c4c401bcba73c728acc9e34cdc2a08179d7b947613e723e5b5966c0372d177d8c0b6aa19923d37f6a1e1bdc3d0ea9181c163b7e61d99f3abd3dbd99603a5a19bda20bb26b5caffb2d5e6f31f87517636eb80cbf872c65c04e56f4d48d903f982a76a9ea8a585e32c1f73ecabe3ce4bd14729d10f83a708ee2c62088c11fb033e53ae4fd7413c8a249d0e9c75d4c087361ced9c2eb4d91bff9b26d08357ca3203c987744fbccc9f724bc74adb3ec97a5ec7543312bc0a6c26f7ce04cd91ec5f1b03182408ff533ba0485bb38a302a06a6c0f2a56a8f5c4e5dca75c0894f3716cefa031687b7da6e246e3131ed79eed2c18dcfc5d4aafc64d7d3ee37d967bff82d1e740219ffff03dcb9371463e9b794b9cbd61832128445bd9099113715f47d7a30773a15af25cf036a4831eeb241ca251bfca875417785c8766e288c7574db5b71f29ba41082d1cd03e113dc767695383bdf20c9952c1e0e2738598530327988b0e2a1b2826193981203ba66f888b87384e24a070d41d8886842869e2fcb637f7ffa1855c3977071678f03ed32ee668808957415d8d263d856ac3efffa5decddbbf32463c2c1b41977ef2a03b8ee9fda2a301c8e3bd796ff25008e0b59d2088fcb5c0ca68b82dd294a94774d03600768a0ed682055197c3109b5a61f465a290f8f50703ca7004a3945a044a4cb03b9558a752368d3e8be0004973cd2cad7ee6c1ff6b9a2186b8d11ebfbe26f2b48033191f4954145b13b70b998155d302cd9d8b5f9df1dfd65ed68ba88569bf7e86b0347e362a832dbf143f1af2c9b9ba2ef1fdeea985d59c0458b9bddbd3fbdda17b30391db3083cc1df2ac5365cef45c8c9e7c22716e55554bc9a22ff4992a684717050219ffff0219ffff03d8f9747df4f1329d6749f73540e44cfbd4d1a260f3e5687f47eb00b4998859c7031c92a2ee6ecb49a7b1593037747529c810898d6f862d25e73b56ec7926ac1ecd0325ecca51cc6a3ad48c1270d98d80c8519bff276de86f99f15e7f4033f3d233e40307f56cdf0e715c763f0e01256782678f627f72f363b3855df2d6f71dd245e17d0311315106c90d57f046dd3933798d43ea4a25e5207bd1951a53e1c63959102d1c039d96d32e32e5387aea0b6fa97e74006b82a313da8e6d12154f572e1bd2bfbc5f032f5ef8fc245a97863a7ed326a53e82de2a20dce18d4471c82c5ef89bfecbe75a03baeba3832b1b7ee855ffce8b6466d7a5b031fef5756f8c5307a7a9fe06ae7acf03a4c96341285aa79f78fe12943a2ecbf2ae1775e36208424c0335e7cdd078499903d9d75b7c272edc1a4d0535acfbf9dc6d51468d54876056d2e0d665cb3e2f00e103f5df19b5c36100345d56bb9a3e241cc601d4b365d0638fcd2a4bbcc7b8d784bc03757fd3652e6a8922b79c2081ec23fa5f0eedb77868cf555a630f65b66b8278cb030866ad9643917897884e5f71fe7f67cbd5002823b9b4f8105557221d162de5f703fcedf49c40ea95f19c9f95a2f82c512ab0f435f19f014129ab25529a6c07a67803ae07a9cb3684214d4e5655e4b11c018803e31126e12024fb841a4c67f21e373e031e845891af3f8cff6aa855e74cc8dda483dd713a6a11809ad2ff4db45f32b327037306dcf1404d83139e29c5c9974eb30b77c436674c4eb93e4aa94281c9d1ee640346d9cc26243750897a5aaee5d5f70bdedd4fe81249ce07c327c44aae5e76be4b0358223aa6d44cfba113f884d13c4460ed904b0f962d8ba12b753de7de4755b385032a6fd9c85b14eb934e830d2e11f54d9eedd5bbe7a2372e222efcc332fadb512303de3811a25efc9d92ab9d13691393951723c5ad1e5639a9ca0373118a318926f70376bb8aa9e37e51b7881e420194aa463cc33c0554608ed34dadf3cbe21607606103651e5f5e998679dad681854b72ee4c379a342d4a39d1d21f7a7ee249f6fdc14b035ac98c64c843d41c8062b561af378345df649884235013594877f8cca3f334e0031a6d30a1051165edaeb23bf9601d455f8c2860224062a64d81eb4e7966d913c003851f9ba1cab8512b3d1979ffc0fd67484e1a7a39ff7f271e444eb0ab3d28ea5503a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03d482fb396140769283e173e5536eff824b79fbff7d7cf0a46685aa035007011bffffffffffffffff05581e03189267a76a09644da16eb3518925abb9616426edeb3883a87a95a63ae00c014713d2fafdd8c00005581e0352edf4ce0cc87173ca2ff15124ad1cf7a6416449c3bad2e09dd156efc0040205581d02b4bf2580b40b969d19fcd33ec3279b8d6b5b83ae92abc06fa80356300c0447a5d855e24c85bb03bd68c52d19a61f6eb6af3bb89e52e81f0ea4911b7ef5b66ec99cce5152f5b9d4031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02f426eb1bccb673d65b369fe96d0532cf89563bf13f7a25e1efb74e9f07011bffffffffffffffff0219a40005581e03a861b40ad5bea55602f92f3ab5ecc38cc7e048fd110f80b5274f9e83c0040903c8fc79ea96528183898cecfea96bfe1d3fbd9060e3e09305f43dda95e0ac597105581e0309b34f0e2c6ef0e49350150d3605993f3d1e20bef2852c76c9cf0de530040105581e034b6c981b8710b24d3c737e34a4b0110fb695b82bc640d254123ed681f00c03471b72bee1c15e9203b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b00003869f08c94fd2fb663268b66a462b92f9f1ae65beb7b0ff9b46654fe1aa515b3505581e03690dbac1f8e24743a33c76417526d886d3e85eef5973393ff56ffa418007011bffffffffffffffff05581e03c6a62fa312e896226a7b0ff3c0344d0ea4560344c8877836fcda07cc900403021993d703edf20ef6595f4ec78fcdfc115a295d24776f059bb0b95b4257adb5e4661af8d403c8d3c5037078066a41a2fd7d951b17475a15515be1dd80c1fb4b2b19bbaf8ffd033eec479e1d02aa79976834ce0cc5497ffa88422ac302d7f5e0b0aef06ed9a3a10384bc6fad4ccb5d6b805316559754e35ef653071083e635300234d634f5fcb548037533c91255d703c471302d488ea3f34b80c1367c727751982354c5c4b837fd1b03d70852a96393e39d17e43322c8446bc2cc7f0dbac08c8f742302e48a4248d163038780fac686fa581274633ec9b24670e30053c6a9502829aa00c000650b5cb89b03872a1998d96615ef29dab9ed9e0afda5f0f7a946d3f32129d73f7c6b20ee72b403b8b7eb7fab74298cb47546275491d9dbd12874a00d8b2642c0d16d61f65e7ae2039034bac25fcb54492daf2a197dedebbbe56a943c3f1cbbc16b9ac5546c42a7d1033ee862812ae6092f435d5cc6d364b65a1d4ef1428fede4e9169db1bc1e6b303303249b639fc41061b95fa71f2de41c29875a8e12f0d958a07457ad49df73a838d4031b82919a3359d5fe9ab2393c19a06e0b1a8900ba6bf1976ab1cbbdc80d33b60c0374cea8534b35d505afbf6965b90ec55371afaf3669b67f627f0aec5ceae2ff7003b40807366bcb2c6bf78a14a65350d1f0f4142f51f5b1b3497728527eba9b03920219ffff0219ffff038e9d516d02fd9a45a0a20fbe1345d80487060204924b10314b923762a628c850039dbed46f2a0aca5fd3bb142b1354702d70a45f71551d8975522037e9cca446c20355feec8cf9b86efc49a5fd66bfd01b13b98b780f976b53ab5ac11bec4ac0d98503cd4194383a17d0b34f834ca74506166de165852813fc894a6be50d67ec22ad310219ffff038bc88d20bcd1b74c8bc0bbfe96d59c000724fd7af03755d1073a0bf5dac31c5b03c20c654cd39a9897a896248b7253a53a42899b8f9125abf913b8349d78d34a7503b0631b0e9ffe23438d67daba066587d95cb53ecea7370c45d44d4eede1da0b32030131b0c903a46b2c96f832c11f35fe2ad5e760d6832b8b125b26186a19651dc303f0ce8276976da79b7aadded4ce4c9eeeb54a8884416ef2216cf2da059c9d449803eb5e49c939d251c9ab0694ca3c44ec304411748ac60d932daa0c4df0a12d90150321ebf5a17b810d48f2923d4db255cd9dfa142656a7a5afd25eed4ff1856afdf30395c7aae811b479a3016073018ac54e2c90117f08123cef6f770b6f285004990e03d88efadc28448c6d1efed5a303838b8167903e2c5d826f1bf9c30661a97fa06f03ba01740ea6e81d12c0b1bbaa204a5b2003cab027de4084119188a0a4519e1d7a039125315c4784b8215ee714411653f7c8e9493d18a6740daf4f3db44539b73f3b03a75404e70227fc8f2e40ccea8738a94c17421550403798efae157fa93d1ddff30356b4f0962bb170447931c5ce8e0f7363774d6b0b5543ffa089952bdf4f9d362303c3ba2e2d1f77c9645c6646dae85f6aa3aa532a8524033923edbf41f100858bac032cff4958479a99bce6f46c4ea0daf9702b2dab4f45336d3e09e083affd0cd1b00353b3acf6c0b7bc2ecef6db7d78c87bcde15a3afab9fa8568512508f6dba79b4e03ad00135bb5a4c033795747f351051eaaa7ae71278ade642554ac139f87d882d20355ec87a04c9895329eacacbb4a27d1536e390c91012ff2845667d32b8a632d6103de46adcc51520d54d329c903dc5dbcf1331e766e45796a3724a9fcc03fdc04c1037240213d1d80225d6d41fef74dccc81e92797969d1975c7225ce354aeaf2aea703ad9cd50c5aa4fc924d806f9a33001122628e1d9f5f5055777e33c13acda18d6a0309ca7b273596f5220e16eaad5066b46db1f37a56d165d018fcbbe17b716f3418031c46d7f47e0586720c262ed4610a2a1b27a3e40cf467749dc969010f6682cbdc0326e1501033bfed4e120cf1e8e25f16b473e41030b55ef115839302838fdc9b4e03e1e98715e752c1595364c8d3859adc83fe4f97aa1b34af695b98f08f20d18f2c03c6f06b48160c1d5c25a2a895a988ea2db073be71f087f7d328f9627bfece2b46033a39c500bbe4ef78169d35de14da996450b7835e2f14c72e4ae5ca35d92bfce803bb855fffd6a710a770ad4af0808ed2ac4c40a34d0ed8bbaf94ea8dad09ffcaca035bfcb2a171debec786a750cdf62fe35db6c0f2aa9a1523a5ed3bd04fbaf9d3bb03d8e44f14ee72e88ce6e94541cbeab5c013acbea716d8f3398218856058100b0f0312c825218b304e6f936cda7cc5d3c4ff064dcc90b8b47cb69dd9cd4332ad01470352829c356d529c888ddab39bd067a33f969a590886795bc3d70324e05af6648103faff502e5108db967e4f16f286d78e597a49080b044404931fb804545352d116035462693ff0aa5af98d6556e437032c8a724071b9f1473bdf1c1307efa557796e03b67ee7a506972d6f568a819ebe3cd3710a737b43cf219ca923b9dc26982c85280374a874df349db14892da6fafd952ebc7ef106418082934ab5a314845f6e50b6103450b80a3bb99b0e7d01929fd860fa3e7205daf4a27f583f5ce21866b35fc5d9f03015e0d6021d441004355a9bb4d16cf5e1ff0a816ef6300fbe0af7fd511089fc00324d68f6d4de0be3ef15666014e9773e25a288fcbab36c00cf5683b603a89da8e03069de7a42a390e93e2b8af390a7c16e0b7c1d74212518f3d95b77c91e565487f03c6dfa65988f368aa9b30a7f2cb2bb47cd52aa2bcb2d1ddaf5a77db951a7354980315baaae4049becab31c47a075fc6287d5c0ccdd6497945d359fcb72ecb45c0db05581e035b344d433ea1d2d8ca71723f7e38c049a19503efead6528573a941b1c00c05461e24f404987005581e03fed867ff3cb2331132c5d71f19edfc9522df7805f6f65b5b917e602da00c12473eef93ecbf2fcd031218f32af8865b57b207c4d9fc3074a5b13bc620bd667c361124e3f6280512f105581e034426489c7608a103f54c358dfce59367927e4255bc10b70f47bd899590040303aaae1fd9083ffc54002fc278f13b9354ae323af6ba95cbd2ccc1ea34daf611dc05581e03d8a14dfe9b6418992d90868a4b7835e79cbbd1545dc96a5bd6d41c08300c02443b9aca0005581e03d0b7fe3df2478441fdce73ad99b434809059ee3986aa4d3813d2fed6a0040305581e038fad83ebf0868161c8327fc2e1bc4adfa8be8fe8b875ddc9a23069a7500c034702d57e2637b99b05581e03892eaf733079b17f6e86a20ee6feecd494fec3ca3bff70f88f6291fcf00c181b480de0b6b3e789202a05581e031c42a825bf314b7e49efc991f5a252b0ac6b10623d4d4cc68c657a27800c01470668f22483166805581e03b4f18456f2234c0a2773cc202fd2eaef8eb325893bf9c17ae08c2d93100c01471c3d221fad32b00219cfba0219ffff036863b40f1aeddc55ecec92a64e0848a43f9490960d644c052492b09545e4c9a803b29a0e1726b949ee0734ba77ea0637d05d78dc12fdb35d54a5247d859b7340710219ffff039f2c1443029963377ea084db437dbf4b5cc89f3ae71e1c90aef05d59132dd4c20365aedf4bd80df3386a7971b71fa2426be9e98b5f248d9240ee10cc4306c452f20219ffff03a53141e62232bbf31118a35427989bbe34be76e7de570941155e6cf4ce8b208a032e13dba968ae3cf3e66bb6901d16aef92e8ea6a958dee0afe59018354ffb3ac003121574321c89da3e7e778489add6ac69bd4e9313387b716f1f96dd4b91e9a9170219ffff0364ac9c819f92135f73abb7b917d1fbbde20e53beb244ab87f0464aae5fcd38a903abfa4346feb4eb557078f0a25e831f7dda03284ae51d72733a210c0d4064fc0803aacefb0ca9dc70f062299ada8c9724ce2711e1e8a9c48dbbc2b336a3d81a511f03cf7d912ba55d1b65ca571a557309c34203ec429608a3ea56a8ca3a0f32203fce0374e14b9b13fad3ef2532b3c175a725c7e7cc992ce9c202c42437ce6e928b646b03fdb8b57ae1881a1cd615bbef717822f035599c7cb339927836027145b2d3d53b0310941bd7350b4a227041498aba9772c4829d94e3cf26e1bfb61e4e2a42ecac4e039b53dbb67d58ee168323bf79414e1b23a57e25a774f0d08adc93471072e4aa6303d6e7312220a34f829cfa07de1fe8802d1f639b7e9d010ad309ef1e16a141a11d03e61b97db9243c5d6c83a22694a945d40e9e438f9c109ad7f0d1a39a5b3d42d3b037db4da400ff0c11588b662e4dfd31ca3da5a5a119bf9e2e205a7afb1a8ce9ab8031c17c332f9a4c7728af704a50355fc9ca9076e173a82b3725163934a0905e5120304ccbc3d0d6ea239359ccffcf351ee599984bdd03791597899eef040a283a460035ee31956a402b52b7a860379aa0582cf8fae85405fa610f022b09d27658d1fa0031083a575bda4610c5d79e1343b8c0e0c1ca70eac55996b3f6c38cf4b3c47536b0370512f9c2489a1268c7b0aa956364dec0221dd123a23afd7ef4dbc0c3403ece703f585989ba6f6fd28f1356fe5986be582825f5991145e9faf8c0e8fa768ad427003cd52c451d1c22eefaa00c08b0d4545c3b0c81123f0b6a68f30d12005b7b0af9a0366869cc666ef6783c13b820fc66dd7c27ae215288808f990972a01f79fbfce7b034c4be03055feded1db29a5ee2ff3659b6b4e8a3c10d5349b88d01ee3ad83afa003921b716f56aef9f0944944cc741a1696ef552608b64432bacdd9a1aefdfee77e03cc2a222959a428d8ffaef107a0cefd934bf294f2bf5f94665a1b6fcfefb8be0a0396022078c2ce719f3f08cedaa92cdd03ebe27d3357ec0ef8d717651993b534b603119f216a0fc569c80f7b105dd7a7a788b1e4f6cec5807378eb9de6ecbe5e0acc039367c98f1ca5999a08f4400d5392e5af6eaba93b1e5da1b9c76ae5d46513cd0303b95f5d09690c489305d0d75d99912288beb1e83fc7f40d302cae95fdaee21e9103e263808afdd822af88ada83d57beca50ba88e82c5d915196b25de79a2d9f3b250303a52277496046ddce17c8f568a00c5b6b16b7f17dd61a9be70dba6a65d8f34103fb32a8a3e71b0052e0d45b231e8594de737d49ec834b5c7e698aa2490657ff1005581e035bc87ed2de257be76da0a9ce1f4b41a6962b32204e4518a59352839e500c01470c22c9d6520c0005581e03102c39cc3d5eda32ffdca972331cac73ff14463077140b7408ad1dd7700c09470deb52353e9f9105581e0341159007cd52cebcb937c8d290e69414eeca0460a5709ca64cc00505800847a55e42bc61f74c036fe5afc72c7e079334444ba2f25cec91785358fe59b9b04c751db6a647243f2b05581e03e198a65fa25fe530f34d8dec4a9d402a32cb491c6e43a4cf850c4834f004189e031046ff6da7d71687aac22a135850188a721b3d9e211d02ccd248bb8dec7f087e031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0369d5e2d2d5c7d3ecb9d1942657ed2fd72274251bc8c55ea737929cc5a007011bffffffffffffffff02196e46030fe937f4679f064af333d860b4d89505a351463cae16607504644b778540c9b403c40fa884418dcd01a2b58dc0d431ebd736105f2a2a792bd82800a99076f45ff1036ccdcb6811a662c2140d2fd09b12fdd79fc620cdde09cc5d0c554977ffcc0e7f0329362b3dc91198535f0e92dc24e04ebc3ccd2912b4b8ba57599179877fb1d3d203cb76710969e79f1a94620cdd7b14b78a1df5ed6505b63a72a9512d97035671340320878e6afa83bd88b3778ea06c45902b68bf1017a252fd939a15431f3f821e6b031d62ee77bef79ced45fdf24adeba69a25cfa73f37eeb7f3d3b58a44ddc52e19d03c2111a2084dab0dba6f2a4c1f55eae27cdc8669d1d840c8eaf8f5e997a78e6de030f31de42a0234001f0ead18342e2d4645da3c211135e721236948825000c1e16034c6c851fd94192daacd101323f787ee1fb274296d1ff2354b3e192e1ed60f06e03502a9a2c12ff9cd50175ea2d3137e9b326e453bdc585aab276f314482b889d2a03d8fdd7b207f79399e838178c9818da4ceef52be6efca3dab5fa960cb9ffc7f5e03d93ed199d7bc2c6579ac4eef4cfaf79b9134ed5d496b1a5515774f42d1fbbcbc0219ffff03f182e6dc514bdc12f539dc565786a85fe3f1c75f5bd1de911f7f8dbf9b0007b9030caae9ebf8793007141591d529e048dce6337c8aa29ea9a946d25c57a7dd3e750219ffff03047df50789eb9b5c9749bede0ccecf2cbe7817d0ff0a04a98d4e849a152d332203950f9c5091ac578d3d7147c5693978261b689b265d48962f1fcbaf33dbef01290374b0aa1d871ced311c826bab747aa64cb392ebbb4bc22d4ab98290d1a63279fd03c399eaa4d3085fcf6108edba447a3f0ad697914b5d3fa6535996339a41c21afa03d96472e3ffa7f3b2fb8aef1c1bb839b54c53f7ee0e837c59887a62c28f4ee0df03a09ca9fc35265283864313615bf5b6acacd3c675d782b958b08b875f642f810c03fb36bcee0ba0e9a849d3f584e9e18771726924fc86d1df73a3685830f13b116503eb112059fa509386e88c1c914637de080fb2c4a90b0c1701f2cf65a105c1067c03cbae698742b9d391dff2eb2cb2d57eea7ada05d47b988a19488b9ef9e1e919f803066713e66a1a7ef0ecc8d11357d24e07b62806bbe0c9569b17a0804d1d311138037e87b4e99bff9bed52c608af75aaf0e9930cf85199bae7502ac969d20f881bbf038f3d135bcc56a5f8177c29dfbbcec843c74dc03a948f60a9f5df21c27d59513a0219ffff032858edf60d6e995f5d36fa633ea209c75649638cb1c8117cb6704d600cceda62035ec60c100709459f9858705d50230af45dc4caa9621becd7426147566083c49e03a9f94889468d31c315c17c5125484012de655cd06d5216a70f0d0f47daf374b703f11aa297fddff259af243dd0dadf4f81319ce437f51311f1aa73c7f170a637ee03ab8d109cfc6957545d2cffc7bd03dcb96e528e0c6c3e0df0d3c05951991166da03a36d50dd5c6e11d2c2d989aa5b40d2e0c99869151ab540457f215a51c49c42f703d4f05044f671a07ca5cf43611215f427a61bed4ca3c6d1b85bd11c05cc5f8fef03809ac049fafcc682ca5e7fcefdeddd434681a1725043a7fe8ee4eb04762f6e2f031860770a432329439bcbfb0739469a67551b8218aec247bdb16788c15f35bfb3039a7d24ceb428611e79cbe1cd990759d0baa0cf704ae6e8e338fc038e50756e0003a9e926f718e06539f3c117e5d71c8e8efdf2cc34957066da2c55009f8fdf717603b448a169575db7ede1a43213bffb51ddae3a122e30fb36c75333a6a1cdbd4a0403f70cd0bd1a1cb3b275907192017e6dbe419dd76a1c0acdb546ba0a1c75938a1e03f1d216a4c65cd819a78580e9cf016ee652a3e544fa4ac595625e8bd5e52df78403be7d5314fda278e91c60064a3e52a8cc960e3ced6e834141de60df15bc2e28cc03e5592141c554a7e0938addd6efc964d54d7c166915a2b4623a4cae63f63cb2ca039317d1a599f8c5487a01a84cbe3433787b4019bd662060c7c0d7a77638590a4103bcf3043ab530e1762382574009baf33449872c6e1a705086f72739be65a57279033afe30446df774fee218ce1faf312a56d679b6aa612c9c44c047f38b2ba613cb03703cb56887e2bc89049b4703930085ac3628a31697be5f6b68da3035af29c9a403e2c1e1453da7bc811efc2e28d23a5d4f179e6277e320c9d3e6736d4f1d9b6da403f6fbcaf265e7b22cf3f4a3467eca0e3ff93f99b26d80e2ff68e6d2bc921e90e603dea19c118a8870844edf2321cd60503efd7e7941934c3695e6896e7079affde20358ef53595aaa7b69e18458c80518818fa6a75340d0711dfa44cf7fbcfafff5dd0392874161be103d655e3b5519ba6fb9acb4559b99ed3a99e4dead8c6da0afa0c305581d020e4399bfb04bf09975750dbc1b224cf67c68aff8b996368aefa7f8d40c0147015dccfe6d540005581d0278b6d6a83f416e15b7ba2b49ef7ca54b9f08a662b82d870d8bd8f9ed0c0f471f48242296323705581d02335a6d6eab9a0858c3f9a647325cb6d9cc4381e52bdbfbaa75ad65ba04010207032719bd141774c65f8d8e46f7fa17215102c8e8443a1c044476ac51148137c50f03c00311c4d639740948a2e10465034cfef8be3d941298b2548fbb8be1b3d36a8f05581e0301f3e576833d92e3a88775a56bfa7d99cb70d25800d8f01770cce877500c014707e6c41ae2d55f03aad7aed1495bf35b1bc7f80cd531972abeb7723a7e1e9f7130cb74c6dc91f48505581e033f921b60825822c781fd3f8189aa184401769fb17fb54ee2cef1f296b0040105581e03c1549ca687c2d0008efdc3d7c729f90cd8b18c821099ca29c14568d1400c0446486ebd3b94e805581e03524a5f27bb444a6d6478747ff30427813533a1363474f8206d2e6991f00c014678ffde0b9e6803e18ac31571b48acab2c0a62d2cbd0d127c5f8ca4e77e3f9ae85638c31c49d3a805581e0365620a2c744be3eed599fc3e997c3637364bb07b997eb2b5463fd6f010041847035b3453b86a945bbecbab8149c37e237348d3785cab4874b953c477066d5ca3fe021973b70329cbee7190f748c357972b4f34dd9bc5fe6d7dae845d8a817ecac620e2ab05570348c902a42f620e8f6523ff5d89456b12207f3f420ffa7c3d064893cd93465bc70392698ea7176af0c2937a539c90a3dc5167bccd141d4d04497c8d1ab253a5f721030bf11eb91ddf4ebd7b39120afd31a93c90fdead31c80053acc51d133923755ee03fe33884965f9a295405963db7e0952a39177fcc3ecd39d4dc1b9ff9458447b810300ff0bc04ffffd8cd3e401dba697ab7ea5baaab46ebe4b350f0f64a9b91eb39903ff0dbc235443f1bcbe3004b7f82536c66ddbf3cb4b9d2d266c3a5310d9b2937803dab6f74d08017bd453c203b98332d6ce7c6c9f17aeab5313b7fbc090937cdad403e9309cee3a2b9d2394d583f8d91d3a3723d8421c5b7e5886a650139b9219c9a70219ffff039568c6401a25a269ac3e6f07914f6ee4b4e7e539ed1cd5ef6ef70947e387aee403617ba7a9952b250886d0ba4e511687f4dd6861e3891f2345db6b7c87db25c85c03f7a5c1436ebf687d0866f0d111c11c37a146d9fe2b4e9601ed3065789bfe41d403b0afaf26ef301b39436ea7031c9df619e5ac1a3f2f2a63e21e59245be41149be03e1768260a5ce9852365a7a6d6461c8e8c163628d9a6196a325578fea2b67409703f64f9f399a2694fae074c04d8a38d083b5de7e15ecadab21ecf68a7d5529eba7032ff3ae52dd3c76b53ccc0b06be2c71d767dce54bd4a95aefe7511963da6f845d03b1328e0e3e37052a94b083a014a733c7913b2d969aaa853de5c20bcf968c448703a654aac8e18a63cc9fa955699c5e936ef9501c8d4fe6150049129d28c1c7b8da030dc40bfba4f1701e7fb7a1f7b6fb2384f7604124849f6df3a3ee316f2d73368a0219ffff03fca17c7649c35f4d8fc00ad43998fa7690bd734f906ff0174b1b30b7169739ad0219ffff03939b4170375a753684ba0371400763ec7bb0874b608e49e9da01f5aa7e6bde95036703646d08167bc14044d954849e67a9859b2f3cffe98da38ff8f9993f8713ef03b0cdbbb52dfc0aeda36d87d3ea76ef681c1168006e557dd5694177d559998b30039e6fef260915cc3087dbc224837a1d64e7afb14f7dffc68c89c6894657a6d1990219ffff030a5dda4f1ef73c423496541611cb676e60786095435b7df98ff7e3ec16dc98a3030229407521cae61144976e3f50dd33bc000bf572980f91011f669f071de0d0680372464a93047c36d6379ea19982b4ac0620cd3216d068889a51af5a58a9a51e7c03c33eb6e19ae9beb0a1fda8433a3a90a53ac944691a5ba60e45f403995806c9c303c6c46e478eb1b135dd99f88243ec380b6d3070b7d072099c1a8dc2498a049efc03098968cfe87bedba51107c8301e9cf0ebfe89583d6f38dbbab214fbb7d19a958039c7c48e7f3327ed48a411caec36a267a6d108bb89b07bff174263dcdbd0a0f9f039d02e0cbdc9a3f0efce84bdd4e748021b76e4600cab49076ede1c3125e6399c1034c111743ff70497e77ee66989d6f25a541dfc52aa9859c80d8f1d15b694ed77f03b738ccb904fa85bf36be6034b5b50ab55ff3a37f1f559801882277f98c23c1970385582f46fb7a7a5c8af0f3b56af8fec24766a37d1ef81e39dfcf92a1cc54833f0366aa29405a758d2344e1c5497db37323287030b6b2906e307ec59bbd46de8c850381523d33e92a2300d05e2602e50e8b14ba529ba7128a59a532d0db27721100e0030cd20a2f1b3cfa56233834c6dcfdc03945e97d0fb450e70ded4bc448283717de03b1b7ec67a8fb406a1d635e87d7484e60d0532c094ba7f1b93e7344beed50cc6303fa763aea887b6ce4dfba0c3fe0efc5e1f591bbd96e9f7a61597f1cf2a1820ca5030ba0d7590e86a26b54d7acd6653a44faf375cc6ad8de051d905c20880fc7de4a035831a5f37fb8e6b7cb98c141cca6bb05e9c61c475460d3fd9fcb63150446b574033e94f591dd977aaeacd1e33d7f3388d0f998f04ad63f5a485e2678731794440a03288fd2bb8c885bb8464ba580ce4c07c633c47c7ccb7beb874a9f710eea63434003bb9791f80082e32702c908d1fdea73132a02ea13c1b189326cebf694ff8da9440397e809ac7647de7314a0d545e6df508b781031ff37c9896475b2e6404fc4864f03a2fa4a8740f8c74161230a5f21795957b3fba18b18e43b53ca00a39fd7fc6aed03b994c9d35df9629ea71e6195522820ffa4c2647059a448fc067d20e7c98c7c3103bc29749164b2c820dee77dc4562c221b4624c56c2ab58b9b88dd29d45c01b72103c90cfedf3c1a4d3a527192a513a0edebbeb0bd1ba86e4a6c61acaf6f9a2c3b5503462bd9ec959752bdb8b40918fbc5b75efbefe732f48c8f40f5574a7befa6080903adf293248c2b8f32f84e90b866a3aaef85b1b1382e48cc901a3770522e92632803ab73c58e7b0c41d533544af965094469db4a9c8d48266e392c60cc0b09b1b6ea03387f5c9268e34321dfe33dbdf52a58673168a2ca19327aa4494da66f991765fe039ea0534d6fa4d02791df072b20c04a8618053983e20db1394e43a234df98dceb03f4dd84e89d9205d3eabab4a245829f8fbb54ce693d4e89b6cea06d4a798f1564032b072ed1af0d9f63e85c759d8c1e17fd14614b0271989cf86bf64630a0367111038a564316fbecf073efdf01be464f0cb98eb41185244d747d310ce288bcb56cc403b98386e80d4338fd406f2e98866c0fde1799cd5a4fb85326606b40dbde504bb103ff8de177d3e38f79dac827c9c67789a2eedfb3764154d54acd57a70421ecf85203dc9d094bb73e38dd91cce85eaf59dd42a611aa35b71eb636644be63d29f289a20322fa7abff96c5d51c93ad2361d76f6397ea7fa4c797da91b1c36f68d7f20fac80310eb4821cfd5e67e381ee7d200efe25d328b9b741998bacf33ce141df69565f00389d191b9c1300afb9bb4ed7f9b64edd94ae6a49c0d1bcfbdb23f243bdaedcacd0349551fe684365113850c7cd8df519c4c7014d9f2bba1027fabc70e3797b52fd203d32b817e0bae7206a7cb752f27b9bed9204b199ed8fe033b6ac2c4d0f0da259d03565a204375755daf4e0eda8c343a0f9348dd420924a41f3469f0dad28233ead30300529572e149b34028c9138e39e15e5549b4f76f73c65e3216304494f35c232c03b6b176ad3711f76250df4c122729dacd469f82d184957a1bdf52b99e4e77fd2503e9ac110f617706f899d9a3e74094acae7c691f3c66482863405c9c041e40c9c503232479b69f8ac7597df6dbd83cfe2e107f12345552be47ba81f0e1ad915318f205581e0397fed3982e1f1725e24b0f418aef645c774faec24ab7fc969c144adbb008472386f26fc10000031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0395382c4213b3644ea82f93e9b9403e5096f7134d0ea1e780d256a5af7007011bffffffffffffffff03d9184178edfbfb97322268dc01516aaabce8d40f07d2479dbd3e9ae8e41573fc05581e03725ed3621eb92500fee919acfab4a398327930cacac5219dde4428f5700c014713d2fafdd8c00003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03bf2f3c4e977e75eeb45e7326cfb545e9bfb35cc6fd097f819daacf690007011bffffffffffffffff03ddf401794aa20bf75806f833336a402633070ae406c4d7de4286bbc3fc6f494005581e03a5d0746b0e07acdcea9f328b1638e3072bca8c2b81e18a7b7f432364c0040205581e03e09c641c2f8c9a869be10e652612242034bedd999e186b1d2dd1c9aae00c03470b3a00d57d8000031016a74bde8a6d274a14dd366bcbc7948b21f01c4e58ee3ff6fdb67ed3a504420219ad1f03496e95656168dd5749593e5a49581cc327aa876a2c55ad5d3c1c27948fc71b6503f63c085bb12449812358192654f839dea7e104d62fbb24493f1f8e1608605208031b07b812a733eecbcd79fb4db3eebd685b3e5f817e3c58b05bdc31452b246b990360b632706a608d8a3ee3d2abe09ed622e299844788df140cbbe00817f5e25cb703cfb2473cf417711a7e3d923556ea737d1992885e8a8fa58cd412f866a9e27c110347570381be77011c5b791aea22a5bd106ab3209962c94d930f7397cc7ff19bb703b0fb63b50270ec3ebc9d87579c97defcdc9a50c7f2940ae7904f497972cf875603064ef052ef3893698cd394bdfa9cd1bbe97af45e65803317f97a612820915d0c0219ffff0219ffff034b3c4c8fbdf692455e0b08d4072411881c9ce63ae1d00bfb9c9cb1557b22182f03194686e868d9b663f6a79cfc60f031678fc0f645f4d5330f6ec621adc5b54fee0219ffff03702072b2655d60b32aa0e1fa69008302ef3e849e65b88244c9ff7b1f84990a3f0310004d4558c5a7fb813cd838d74ddd33a81f3cc41aec9923e10740887876a83103535a6a0e0a2393c8e0d6bb3566b5e680edd5a8cb1562f0157322faad7b66bb0a03529eae20b49a51af6d0f5c8a0309ecb48f7a1c649e931acbb45d821b638274fb03dc9a1765fad4853db960f67531a9af11334712b35c2be15832151e70c10d6cb603ad43b60ce7403748d065153f1f6409ca84e72369c7cf1edac6e38eb67b9f0a8403623fe81ca6d1e663df6e9940a553cc2439cc4687414304bc364e59994bc0356e0326132e73d6b28361b003e9734091eb5b4511ad18e950c56249a9412bcd5b0e38037f186628d2edb4b5c9496cd4dbeb40262cb939357e4b09a1b7dd97c6d66f77330364571de721de336f2d6705987bc65a94420597ee5fb2c05b1bdf1766e84b571003cb29619f4c58526192a580f1c2b98489f742924a7d35146fc0eb6d3e404364c50376593be0e55ee5fe10d64fe9a35c7e05cc10de14ef075f395684c14ab93498f203a5c6e3c606d5f73428d142b9ef60e5f99e6619f5cb3a93e2015772ff6b4c017e03d65035635197c8414d99872d69029add1581166e40274def635f5b5ce24df77f03a0611c622c172dcb4f2b894b0f6d3084ea9e12314d3536ed15044d3d63b8881b0375ec232c9129f43195a5d71bbed4eeb1bd8cb5212ad155f5ac1505e04610ae4d03bf6c29787c25d7363e486924870934a716fc116d0254ffe12ac445362af0a6c105581e0369cf9d44600323d2bb168f5fe566d8504ee9b4fe14de1eed1d91bc7c80040105581e0358741ea7514957443a6c23f5cef6821a1828d76b23201d895a6df23fd00c0147e37f735faa9e1c05581e03e8342c58512a9582bd981a773cba2e731eb339a2fe1239605e02045690040105581e03be1230c326273a1ef58c82928a68cfe25884b7e1778898c026ca1ec8300c0147044e96d847fce004593df36080604052600436106101ba575f3560e01c8063715018a6116100eb578063b5ef226a11610089578063f2fde38b11610063578063f2fde38b146105cb578063f4ef1f42146105f3578063f5b3c3bf1461061d578063ff89757014610659576101c1565b8063b5ef226a1461053d578063bf474bed14610565578063dd62ed3e1461058f576101c1565b80638da5cb5b116100c55780638da5cb5b146104835780638f9a55c0146104ad57806395d89b41146104d7578063a9059cbb14610501576101c1565b8063715018a61461042d5780637d1db4a5146104435780638a8c523c1461046d576101c1565b806323b872dd11610158578063313ce56711610132578063313ce5671461037557806349bd5a5e1461039f5780634a49ac4c146103c957806370a08231146103f1576101c1565b806323b872dd1461030d57806324988e1b1461034957806330ef74251461035f576101c1565b80630e12062d116101945780630e12062d146102535780630faee56f1461027d57806318160ddd146102a75780631cdd3be3146102d1576101c1565b806306fdde03146101c5578063095ea7b3146101ef5780630b91e5651461022b576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d9610681565b6040516101e69190612d12565b60405180910390f35b3480156101fa575f80fd5b5061021560048036038101906102109190612dc7565b6106be565b6040516102229190612e1f565b60405180910390f35b348015610236575f80fd5b50610251600480360381019061024c9190612dc7565b6106db565b005b34801561025e575f80fd5b50610267610810565b6040516102749190612e47565b60405180910390f35b348015610288575f80fd5b50610291610816565b60405161029e9190612e47565b60405180910390f35b3480156102b2575f80fd5b506102bb61081c565b6040516102c89190612e47565b60405180910390f35b3480156102dc575f80fd5b506102f760048036038101906102f29190612e60565b610840565b6040516103049190612e1f565b60405180910390f35b348015610318575f80fd5b50610333600480360381019061032e9190612e8b565b61085d565b6040516103409190612e1f565b60405180910390f35b348015610354575f80fd5b5061035d610931565b005b34801561036a575f80fd5b50610373610a2c565b005b348015610380575f80fd5b50610389610b5e565b6040516103969190612ef6565b60405180910390f35b3480156103aa575f80fd5b506103b3610b66565b6040516103c09190612f1e565b60405180910390f35b3480156103d4575f80fd5b506103ef60048036038101906103ea9190612e60565b610b8b565b005b3480156103fc575f80fd5b5061041760048036038101906104129190612e60565b610c76565b6040516104249190612e47565b60405180910390f35b348015610438575f80fd5b50610441610cbc565b005b34801561044e575f80fd5b50610457610e0a565b6040516104649190612e47565b60405180910390f35b348015610478575f80fd5b50610481610e10565b005b34801561048e575f80fd5b50610497611426565b6040516104a49190612f1e565b60405180910390f35b3480156104b8575f80fd5b506104c161144d565b6040516104ce9190612e47565b60405180910390f35b3480156104e2575f80fd5b506104eb611453565b6040516104f89190612d12565b60405180910390f35b34801561050c575f80fd5b5061052760048036038101906105229190612dc7565b611490565b6040516105349190612e1f565b60405180910390f35b348015610548575f80fd5b50610563600480360381019061055e9190612f98565b6114ad565b005b348015610570575f80fd5b506105796115d9565b6040516105869190612e47565b60405180910390f35b34801561059a575f80fd5b506105b560048036038101906105b09190612fe3565b6115df565b6040516105c29190612e47565b60405180910390f35b3480156105d6575f80fd5b506105f160048036038101906105ec9190612e60565b611661565b005b3480156105fe575f80fd5b5061060761181e565b6040516106149190612e1f565b60405180910390f35b348015610628575f80fd5b50610643600480360381019061063e9190612e60565b611831565b6040516106509190612e1f565b60405180910390f35b348015610664575f80fd5b5061067f600480360381019061067a9190612f98565b61184e565b005b60606040518060400160405280600581526020017f4d6f6c6c79000000000000000000000000000000000000000000000000000000815250905090565b5f6106d16106ca61197b565b8484611982565b6001905092915050565b6106e361197b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107669061306b565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016107cb9291906130e4565b6020604051808303815f875af11580156107e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080b9190613135565b505050565b60175481565b60145481565b5f6009600a61082b91906132bc565b6461f313f88061083b9190613306565b905090565b6019602052805f5260405f205f915054906101000a900460ff1681565b5f610869848484611b45565b6109268461087561197b565b61092185604051806060016040528060288152602001613d966028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6108d861197b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546127659092919063ffffffff16565b611982565b600190509392505050565b61093961197b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bc9061306b565b60405180910390fd5b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610a29573d5f803e3d5ffd5b50565b610a3461197b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab79061306b565b60405180910390fd5b6009600a610ace91906132bc565b6461f313f880610ade9190613306565b6011819055506009600a610af291906132bc565b6461f313f880610b029190613306565b6012819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b3791906132bc565b6461f313f880610b479190613306565b604051610b549190612e47565b60405180910390a1565b5f6009905090565b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b9361197b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c169061306b565b60405180910390fd5b5f60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610cc461197b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d479061306b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60115481565b610e1861197b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9b9061306b565b60405180910390fd5b601660149054906101000a900460ff1615610ef4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eeb90613391565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f913060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610f7c91906132bc565b6461f313f880610f8c9190613306565b611982565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ffb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061101f91906133c3565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110a5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110c991906133c3565b6040518363ffffffff1660e01b81526004016110e69291906133ee565b6020604051808303815f875af1158015611102573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061112691906133c3565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160045f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061129930610c76565b5f806112a3611426565b426040518863ffffffff1660e01b81526004016112c59695949392919061344e565b60606040518083038185885af11580156112e1573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061130691906134c1565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016113a6929190613511565b6020604051808303815f875af11580156113c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e69190613135565b506001601860016101000a81548160ff0219169083151502179055506001601660146101000a81548160ff02191690831515021790555043600681905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600581526020017f4d4f4c4c59000000000000000000000000000000000000000000000000000000815250905090565b5f6114a361149c61197b565b8484611b45565b6001905092915050565b6114b561197b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115389061306b565b60405180910390fd5b5f5b828290508110156115d4575f60195f85858581811061156557611564613538565b5b905060200201602081019061157a9190612e60565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550806001019050611543565b505050565b60135481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61166961197b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ec9061306b565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611763576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175a906135d5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601860029054906101000a900460ff1681565b6004602052805f5260405f205f915054906101000a900460ff1681565b61185661197b565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146118e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d99061306b565b60405180910390fd5b5f5b8282905081101561197657600160195f85858581811061190757611906613538565b5b905060200201602081019061191c9190612e60565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508060010190506118e4565b505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e790613663565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a55906136f1565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b389190612e47565b60405180910390a3505050565b60195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611be3575060195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611c22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1990613759565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c87906137e7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cfe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf590613875565b60405180910390fd5b5f8111611d40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3790613903565b60405180910390fd5b5f611d49611426565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611db75750611d87611426565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156124b557611df86064611dea600b54600e5411611dd757600754611ddb565b6009545b856127c790919063ffffffff16565b61283e90919063ffffffff16565b905060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611e9d575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ef0575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611fd357601154821115611f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f319061396b565b60405180910390fd5b60125482611f4785610c76565b611f519190613989565b1115611f92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8990613a06565b60405180910390fd5b436003600654611fa29190613989565b1115611fbb57611fb183612887565b15611fba575f80fd5b5b600e5f815480929190611fcd90613a24565b91905055505b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015612071575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156120cf576012548261208385610c76565b61208d9190613989565b11156120ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c590613a06565b60405180910390fd5b5b60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561215157503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612195576121926064612184600c54600e541161217157600854612175565b600a545b856127c790919063ffffffff16565b61283e90919063ffffffff16565b90505b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015612233575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561226b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612274575f90505b5f61227e30610c76565b9050601860029054906101000a900460ff1680156122a8575060185f9054906101000a900460ff16155b80156122fa575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80156123125750601860019054906101000a900460ff165b801561231f575060135481115b801561232e5750600d54600e54115b156123e257601054431115612345575f600f819055505b601754600f541061238b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238290613ab5565b60405180910390fd5b6123a86123a38461239e84601454612898565b612898565b6128b0565b5f4790505f8111156123be576123bd47612b19565b5b600f5f8154809291906123d090613a24565b919050555043601081905550506124b3565b60185f9054906101000a900460ff16158015612444575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b801561245c5750601860019054906101000a900460ff165b8015612469575060135481115b80156124785750600d54600e54115b156124b25761249a6124958461249084601454612898565b612898565b6128b0565b5f4790505f8111156124b0576124af47612b19565b5b505b5b505b5f8111156125b45761250d8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b8190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516125ab9190612e47565b60405180910390a35b6126048260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612bde90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506126a761265b8284612bde90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054612b8190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61274a8486612bde90919063ffffffff16565b6040516127579190612e47565b60405180910390a350505050565b5f8383111582906127ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a39190612d12565b60405180910390fd5b505f83856127ba9190613ad3565b9050809150509392505050565b5f8083036127d7575f9050612838565b5f82846127e49190613306565b90508284826127f39190613b33565b14612833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282a90613bd3565b60405180910390fd5b809150505b92915050565b5f61287f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c27565b905092915050565b5f80823b90505f8111915050919050565b5f8183116128a657826128a8565b815b905092915050565b600160185f6101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156128e6576128e5613bf1565b5b6040519080825280602002602001820160405280156129145781602001602082028036833780820191505090505b50905030815f8151811061292b5761292a613538565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129f391906133c3565b81600181518110612a0757612a06613538565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a6d3060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611982565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612acf959493929190613cd5565b5f604051808303815f87803b158015612ae6575f80fd5b505af1158015612af8573d5f803e3d5ffd5b50505050505f60185f6101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015612b7d573d5f803e3d5ffd5b5050565b5f808284612b8f9190613989565b905083811015612bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bcb90613d77565b60405180910390fd5b8091505092915050565b5f612c1f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612765565b905092915050565b5f8083118290612c6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c649190612d12565b60405180910390fd5b505f8385612c7b9190613b33565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612cbf578082015181840152602081019050612ca4565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612ce482612c88565b612cee8185612c92565b9350612cfe818560208601612ca2565b612d0781612cca565b840191505092915050565b5f6020820190508181035f830152612d2a8184612cda565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612d6382612d3a565b9050919050565b612d7381612d59565b8114612d7d575f80fd5b50565b5f81359050612d8e81612d6a565b92915050565b5f819050919050565b612da681612d94565b8114612db0575f80fd5b50565b5f81359050612dc181612d9d565b92915050565b5f8060408385031215612ddd57612ddc612d32565b5b5f612dea85828601612d80565b9250506020612dfb85828601612db3565b9150509250929050565b5f8115159050919050565b612e1981612e05565b82525050565b5f602082019050612e325f830184612e10565b92915050565b612e4181612d94565b82525050565b5f602082019050612e5a5f830184612e38565b92915050565b5f60208284031215612e7557612e74612d32565b5b5f612e8284828501612d80565b91505092915050565b5f805f60608486031215612ea257612ea1612d32565b5b5f612eaf86828701612d80565b9350506020612ec086828701612d80565b9250506040612ed186828701612db3565b9150509250925092565b5f60ff82169050919050565b612ef081612edb565b82525050565b5f602082019050612f095f830184612ee7565b92915050565b612f1881612d59565b82525050565b5f602082019050612f315f830184612f0f565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612f5857612f57612f37565b5b8235905067ffffffffffffffff811115612f7557612f74612f3b565b5b602083019150836020820283011115612f9157612f90612f3f565b5b9250929050565b5f8060208385031215612fae57612fad612d32565b5b5f83013567ffffffffffffffff811115612fcb57612fca612d36565b5b612fd785828601612f43565b92509250509250929050565b5f8060408385031215612ff957612ff8612d32565b5b5f61300685828601612d80565b925050602061301785828601612d80565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613055602083612c92565b915061306082613021565b602082019050919050565b5f6020820190508181035f83015261308281613049565b9050919050565b5f819050919050565b5f6130ac6130a76130a284612d3a565b613089565b612d3a565b9050919050565b5f6130bd82613092565b9050919050565b5f6130ce826130b3565b9050919050565b6130de816130c4565b82525050565b5f6040820190506130f75f8301856130d5565b6131046020830184612e38565b9392505050565b61311481612e05565b811461311e575f80fd5b50565b5f8151905061312f8161310b565b92915050565b5f6020828403121561314a57613149612d32565b5b5f61315784828501613121565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156131e2578086048111156131be576131bd613160565b5b60018516156131cd5780820291505b80810290506131db8561318d565b94506131a2565b94509492505050565b5f826131fa57600190506132b5565b81613207575f90506132b5565b816001811461321d576002811461322757613256565b60019150506132b5565b60ff84111561323957613238613160565b5b8360020a9150848211156132505761324f613160565b5b506132b5565b5060208310610133831016604e8410600b841016171561328b5782820a90508381111561328657613285613160565b5b6132b5565b6132988484846001613199565b925090508184048111156132af576132ae613160565b5b81810290505b9392505050565b5f6132c682612d94565b91506132d183612edb565b92506132fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846131eb565b905092915050565b5f61331082612d94565b915061331b83612d94565b925082820261332981612d94565b915082820484148315176133405761333f613160565b5b5092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61337b601783612c92565b915061338682613347565b602082019050919050565b5f6020820190508181035f8301526133a88161336f565b9050919050565b5f815190506133bd81612d6a565b92915050565b5f602082840312156133d8576133d7612d32565b5b5f6133e5848285016133af565b91505092915050565b5f6040820190506134015f830185612f0f565b61340e6020830184612f0f565b9392505050565b5f819050919050565b5f61343861343361342e84613415565b613089565b612d94565b9050919050565b6134488161341e565b82525050565b5f60c0820190506134615f830189612f0f565b61346e6020830188612e38565b61347b604083018761343f565b613488606083018661343f565b6134956080830185612f0f565b6134a260a0830184612e38565b979650505050505050565b5f815190506134bb81612d9d565b92915050565b5f805f606084860312156134d8576134d7612d32565b5b5f6134e5868287016134ad565b93505060206134f6868287016134ad565b9250506040613507868287016134ad565b9150509250925092565b5f6040820190506135245f830185612f0f565b6135316020830184612e38565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6135bf602683612c92565b91506135ca82613565565b604082019050919050565b5f6020820190508181035f8301526135ec816135b3565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61364d602483612c92565b9150613658826135f3565b604082019050919050565b5f6020820190508181035f83015261367a81613641565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6136db602283612c92565b91506136e682613681565b604082019050919050565b5f6020820190508181035f830152613708816136cf565b9050919050565b7f546f2f66726f6d206164647265737320697320626c61636b6c697374656400005f82015250565b5f613743601e83612c92565b915061374e8261370f565b602082019050919050565b5f6020820190508181035f83015261377081613737565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6137d1602583612c92565b91506137dc82613777565b604082019050919050565b5f6020820190508181035f8301526137fe816137c5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61385f602383612c92565b915061386a82613805565b604082019050919050565b5f6020820190508181035f83015261388c81613853565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6138ed602983612c92565b91506138f882613893565b604082019050919050565b5f6020820190508181035f83015261391a816138e1565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f613955601983612c92565b915061396082613921565b602082019050919050565b5f6020820190508181035f83015261398281613949565b9050919050565b5f61399382612d94565b915061399e83612d94565b92508282019050808211156139b6576139b5613160565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6139f0601a83612c92565b91506139fb826139bc565b602082019050919050565b5f6020820190508181035f830152613a1d816139e4565b9050919050565b5f613a2e82612d94565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613a6057613a5f613160565b5b600182019050919050565b7f43412062616c616e63652073656c6c00000000000000000000000000000000005f82015250565b5f613a9f600f83612c92565b9150613aaa82613a6b565b602082019050919050565b5f6020820190508181035f830152613acc81613a93565b9050919050565b5f613add82612d94565b9150613ae883612d94565b9250828203905081811115613b0057613aff613160565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b3d82612d94565b9150613b4883612d94565b925082613b5857613b57613b06565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613bbd602183612c92565b9150613bc882613b63565b604082019050919050565b5f6020820190508181035f830152613bea81613bb1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613c5081612d59565b82525050565b5f613c618383613c47565b60208301905092915050565b5f602082019050919050565b5f613c8382613c1e565b613c8d8185613c28565b9350613c9883613c38565b805f5b83811015613cc8578151613caf8882613c56565b9750613cba83613c6d565b925050600181019050613c9b565b5085935050505092915050565b5f60a082019050613ce85f830188612e38565b613cf5602083018761343f565b8181036040830152613d078186613c79565b9050613d166060830185612f0f565b613d236080830184612e38565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613d61601b83612c92565b9150613d6c82613d2d565b602082019050919050565b5f6020820190508181035f830152613d8e81613d55565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208c7ecb9f745a3574a1153ef89210fdbf22eb70008fd61ef6dccd4c859227cb9f64736f6c63430008170033032d4ce600b257c4aefa6541e3ba0ab348c94190ba507e80fbe80aa95e8a7db36f0350d3a2a0092a22468e83f06680f43b5f752c68a32fd302112318c0bf2744346103cf2b10f1264a21eb07dd36c3daf49c26900e33924540694bbb8dec82dccfaf7903b842caa19517993293e2499d6b7fb2197d9515023f83e11b9b1db1ea364a537603f5656df8369d099f783857a58aed2d3942071bad0ea520106d3e1b45b5b581bc034b5a64ca0e3f2f82fca0053f49c3708d642653e948bcbfc48b775fe11d41e16f03f9cd70f8e89c44fe1bfb210a9f540e1276c0893d49dfba23d8b9c8fd07a0f37d00582003e76ea85c84c22c896eb134921b50f3632b34821acffd62a6010d83f7f24910482a73d613a22bf18d0058200315a231260e027ccbdaa876589e5e21680c8603a820ecae967b3f66a79172f05820fffffffffffffffffffffffffffffffffffffffffffffffffe79f09d1c4ffee10058200383609630fcc0ebd6055db2a3b68d432f4c2d8b77b60dfac3762626aba415604803b959fddcd7cf2502190212039fc5fc9fb22e0102e6f2293d8204c4ddfd1ca2ce420b750c57a52bb0af9087ae03c625e7d67f9775c1d89c19b6a21a015b3c2b9cda0a64830ce9c721e4263824ed0354f21746423e27f84d0dc480a54017a86a57423cd531ebc2faecb6f14507cb0f036990c6f43d519bb258a66664eaf3fb43676578bc2841aa26da739839f722f6b4033ef1919823496642c4d042f35c6ff6bd8384b22777658b8e7ec268c5b2bb8db503dd4ae421ea151aefa1fcca9b5146ef887f1d85a7c8e48d04d01b907de28ac07c0314ee18117f9305243af349c7ef5d16ce51286272b0c27d24a17085b17c233efd034ec5abdeb1533f3e4936295dba1653a4d355a11a566d6065b275f5b8c214bdfe03e02dbc1b873afa8e3b589b204962eeb21caee2759ba8ba56888ce1915a68ff1c03ccc4cec1da37591d51f55ceb45c8976ba33b25b0daca23f1eb6d13b44e9e22cb0219ffff034b0461ad40debc0f785c87720067ab0318611850b5dfac736cd29c06b96cfa8a03a9092a08d0ca986119deff6fc3b9e8e2bb8268177e19f1677f011fa3d56e7f9903f33251cdd7b13a96cfe27a28802e058587cbcb202b8397fc5f59c6e67d9d36c603f44f063d6f4a6feefbf50e293521097336650e4a4a349e3776165c130b1d024b03ce526d05c1967c64853a8cc627e0be11f7fde844eb2f7e2d645a7b0061f8445503bcb3b7651a077737033386928f735a58e53046bff6361b553aca0eadbae971980301d7e8208879e9dd4e05cad714f4cc4ffd747aecde0f025015f2a188d94e9e3803d2e1e709db3a4f43d62c2722e56efba005fcc38d50412b7398be95c106af042a03ca8e291f2d2850321b047f3d05932287b18c063e026ee0cbf59d1aab5c0bd36a0399ee3941bec1be1cc3aef54f12cc6b173157521b7b897ee87149019b6e796c0703e73c98e7d95f24c81c2cfee5e0bddf827af0dfba9f4f5e3914d957a424e4f0e803e82c3516afa252b1c9f22b719e3a4d8c77aae0fded723efa4c018f8f936dd6b50357b5ae180cffdb97ea8b7cd07c9f912c860492c0578ab6ba502ad78170979ef00219ffff05581e037401910cce9bef413b47893ada2061c39145d0aff96659aa97533d39900701193df305581e039a722f94ccc05b8b452a29021b029bbc51e4222f188401b62abdf3eb60040105581e037d91c61e704e2a92829256544bc926547ad3fef67c7bd4bfa5ccc670f00c0147024d73de534c000305f2cadb6486616d3ed61a6243af2589c12c30bab95a6f1c720b6bb8b08b90f60357cc38e91079a8a1e862624f51c8903952f4ca75e5a605073267911149b9e31b05581e031dca96253e1c8298b533c0fd88cee497fe5b627554053c357904aa30b007011bffffffffffffffff02193257039582e66227fb8162d285c983eaa1f3b8eea83170d24677ba4528ec307e48db6c03cedac3b268cde782a3ba1a111db3c4cff0def795fb4afeba1fb9509e49e081e703aadf7c174abea0145b037725dcf397ce41124209f2b4eb83eea96a412c83004103f1520594c8892d21d02fcb2b47e394729512e9f040068feb44f2ab255f0a936703ba0dfa1ec3135878136eafb6e28ea276b8abcf2f56ad7bd69913f2aefb8c0ee203f8a96583debc21298193a57dbf11ac72825340af8b2378602b3ffa210862da4303e0b132911e4a94d62b17c695e3db9b32100b02e31b3c7e5cd88378565d633b77038d0903847c183653adc070c1ea6bc2a468c4f6fc071b7a2f01643d08d674e9c70366b73500e46e62a2b74b777ba9707990b610247c6e6081f70f56ac67c39b41ac0314e6b8b011341bcadb855ebb2d223c8ee07b81a207310a3696307d9903c1521d038020e93fb776031d72bb71d5f7b9cd73980377a585e41af8518bacff77b09ef103301f92ae4669e1e5d1238f0b0b2d23010f28cc855b9ac2189bc516ba5f028385030bc414500eb5d12440477825b5b78c326996498e0a6034bef0110524215624f403eb74d1828504af6eb9ed13bbbb3c46f3819469c214cc516992e00df81c2fd03d03e2f8181677ec007650f8e0fcbd2c8516dcdd4ad4687828110746c8b840038f340219ffff033328e9980aadf078a67b78b7ce395ed4283a96921f8059549a6d82e2329a32460336098dc950b9afbc54e0d49a92428d5095fc699f8fecd52448a5cba20328149a0339dc3aab5a332701311838a96cc0d6c808ba8cf71faeb1154075be703430a0f4030d449a3135524a17518e17444a11b4d41c4c7a7b2fa08838af719325c95e74f5037db72c392c5a82b4c1f5a19028d447d4a35d3da2d0362f6edbb6f8ecda76f6fc035ce646b7eed37440d6a3d5a4bf435d2daf252f166f64e0c147f910040ec9a69d03f6f4b23e12f97565495058dd5db18dbc4fab02088627f5f2c3c0e22d4e32b1e603551c9cde9b0281576a88519dfc82e9f25086d7600bb0f4905cc7b31fdd7c1a2703cc489a2f7389df9eedd5524e46b2cc396880ee55daccc57e8abb468373e8826803a902b6b7f903411de3c22a636c995b3b7e99c8604a4f7c6f542c580f62fb2cca0316c6bb51832e2c1030b49e4b49746174337d0519e3713dc6ad1644ada8c8e87c03768a8ebc4de2ad8320570dc3848cd5d14e1c1f949a57beb891d531b77a9a47060219ffff032b7749b2c2ec21d4ef272cb9839aa6ff21d1ddf5cafda7615677ab850175e1a50219ffff034127ac0dd6b2936530bb3918f1088293f9c197455119423b36a4d127b407e34a036a15e6f0ddd6b7c4d9a27153934be937f04888135a372c20e5ff8f1dc878c3cd03b5f36c030810d06805ef0d923ddc6224b8dd1581ad6920b1d04d3cdeea26c7bf0219ffff035cc50bb54b201a110a890c82e28a9022332ba8816698238d596924fcb99cb6b8037ebe2b7f1ff222075158860f1e439ac02d8677e78b7fe539ebe4cc8940bd7ffa03fa0e5ec645aa9e5307d229b15ca9a4c252c802bd451af8f9b82c74144ae99f71035088ba48a2bb7b25b6edb9d78de8c190c71b4804b3b65e409e230ad5267bb5f603e837f9f3d2aa0a263d095e6a429fed7920adeee35ddbd45722a5315e02fe694a032e3c1319d312d7a50adad387feccd245f3166fdbf79872fa1546d6b6e47a25f30386b4fb9e917d2b6a503c41717b0688d4a07f0c74a253881b37748a60e52040e60319994b21c61786e9ca3c9611f81ba9a30f2623634fbbacf80b480e3004cd1b1e03e815672f4cf89f1e708453e142f93244068b80fb38e944a277ef6ba447f889b903e08625804ed0677072b95394bfe20d24e99116e2211364a2f8b844935eb711fb03f1181d658dcb9a35c00fef245733b06355808cba324719d697ce5ef02ffc68ec0301d11438777289684a5d769abb4e3e91b24ce0bb96a99c90c6e40baf10343f5c0343db8b2ec4bb9efb021b99c88635d4dd417da36e531bf81dde906fd79e43467f036af6846da76329ffa77da09bd90c5d650d83102530b3dec58a97830645f8884303319e9a647de97f61982687d4a16f94f426b94ee9206f4e7b4c0dd264b3f9a3d603299fe3acc276034caea1a4bb0a7f06d31a7f507725fc007888764d601908590203a385160edf5121444852f46a06b4f7c9a8c353135965a8f3898e81ac3260bb7203ead535ca835aab2499a32de9e1ae7bb3fc1284d038e68098b471cc48364b7fb403187c545bf80d987e3b9281465776334c936d4fef8f24e950bb3a40866ebedf6605581e033a30ad8bb05e82064d29828aa4b92fd407d0e7d89db05e5387e5928a100c01473397f052a41e2004590d47608060405234801561001057600080fd5b50600436106100415760003560e01c8063832b24bb14610046578063c9353cb51461006f578063d5f3948814610084575b600080fd5b61005961005436600461094d565b610099565b6040516100669190610b32565b60405180910390f35b61008261007d36600461092a565b61020f565b005b61008c610301565b6040516100669190610ac4565b60006100a3610897565b6100b06040840184610c3b565b8101906100bd9190610985565b905060005b8151518110156101e65760008183602001515111610100577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610119565b8260200151828151811061011057fe5b60200260200101515b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81141561018657610183308460000151848151811061015757fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1661032590919063ffffffff16565b90505b80156101dd576101dd61019f604087016020880161092a565b82856000015185815181106101b057fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff166103fe9092919063ffffffff16565b506001016100c2565b507f13c9929e000000000000000000000000000000000000000000000000000000009392505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb161461027e5761027e610279337f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb6104e4565b61059f565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ea500d073652336a58846ada15c25f2c6d2d241f16146102e8576102e8610279307f000000000000000000000000ea500d073652336a58846ada15c25f2c6d2d241f6105a7565b8073ffffffffffffffffffffffffffffffffffffffff16ff5b7f00000000000000000000000039dce47a67ad34344eab877eae3ef1fa2a1d50bb81565b6000610330836105dd565b15610353575073ffffffffffffffffffffffffffffffffffffffff8116316103f8565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416906370a08231906103a5908590600401610ac4565b60206040518083038186803b1580156103bd57600080fd5b505afa1580156103d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f59190610a70565b90505b92915050565b610407836105dd565b156104be5760008273ffffffffffffffffffffffffffffffffffffffff168260405161043290610ac1565b60006040518083038185875af1925050503d806000811461046f576040519150601f19603f3d011682016040523d82523d6000602084013e610474565b606091505b50509050806104b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104af90610b81565b60405180910390fd5b506104df565b6104df73ffffffffffffffffffffffffffffffffffffffff8416838361060f565b505050565b60607f5cec653b364cca3880afa73ceff506d0651d11d26abbbe4a56460aa933b21b08838360405160240161051a929190610ae5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152905092915050565b805160208201fd5b60607fb5cf2cd09307d6c717473134badbb9761c2c97d7565566c2a71eba6cd6fc514d838360405160240161051a929190610ae5565b73ffffffffffffffffffffffffffffffffffffffff811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14919050565b606063a9059cbb60e01b838360405160240161062c929190610b0c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290506106b584826106bb565b50505050565b600060608373ffffffffffffffffffffffffffffffffffffffff16836040516106e49190610a88565b6000604051808303816000865af19150503d8060008114610721576040519150601f19603f3d011682016040523d82523d6000602084013e610726565b606091505b509150915081610739576107398161059f565b805161078057833b80610778576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104af90610bde565b5050506107bd565b60208151106107b45760006107968260006107c1565b905080600114156107a9575050506107bd565b6107b28261059f565b505b6106b58161059f565b5050565b60006103f58383600081602001835110156107e9576107e961027960058551856020016107f2565b50016020015190565b6060632800659560e01b84848460405160240161081193929190610b5f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b604051806040016040528060608152602001606081525090565b600082601f8301126108c1578081fd5b81356108d46108cf82610ccc565b610ca5565b8181529150602080830190848101818402860182018710156108f557600080fd5b60005b84811015610914578135845292820192908201906001016108f8565b505050505092915050565b80356103f881610cec565b60006020828403121561093b578081fd5b813561094681610cec565b9392505050565b60006020828403121561095e578081fd5b813567ffffffffffffffff811115610974578182fd5b820160608185031215610946578182fd5b60006020808385031215610997578182fd5b823567ffffffffffffffff808211156109ae578384fd5b90840190604082870312156109c1578384fd5b6109cb6040610ca5565b8235828111156109d9578586fd5b8301601f810188136109e9578586fd5b80356109f76108cf82610ccc565b81815286810190838801888402850189018c1015610a1357898afd5b8994505b83851015610a3d57610a298c8261091f565b835260019490940193918801918801610a17565b5084525050508284013582811115610a53578586fd5b610a5f888286016108b1565b948201949094529695505050505050565b600060208284031215610a81578081fd5b5051919050565b60008251815b81811015610aa85760208186018101518583015201610a8e565b81811115610ab65782828501525b509190910192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b6060810160088510610b6d57fe5b938152602081019290925260409091015290565b60208082526028908201527f4c696245524332305472616e73666f726d65722f4641494c45445f544f5f534560408201527f4e445f4554484552000000000000000000000000000000000000000000000000606082015260800190565b60208082526027908201527f696e76616c696420746f6b656e20616464726573732c20636f6e7461696e732060408201527f6e6f20636f646500000000000000000000000000000000000000000000000000606082015260800190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112610c6f578283fd5b83018035915067ffffffffffffffff821115610c89578283fd5b602001915036819003821315610c9e57600080fd5b9250929050565b60405181810167ffffffffffffffff81118282101715610cc457600080fd5b604052919050565b600067ffffffffffffffff821115610ce2578081fd5b5060209081020190565b73ffffffffffffffffffffffffffffffffffffffff81168114610d0e57600080fd5b5056fea26469706673582212207109e19869db3351beb0d457c6f4630249d0ae37246fa73266bf9ed4b841c91464736f6c634300060c00330605581d0247a42f2eaa4cc938948920cd412d5deb3e4725ac843d95574432cbd10701190d4705581d023f1186dbdad6207c99480df6a4703fd896fa5e0d8f76c494cac06ff204110219802003dee8f40889fbb3a340d0afaebc58137a6a656b58498a0cdefbb43170f89dca4b05581e039cc653d49942256e596f22c06d60f5623a3c6472c99513f6c3b6d0f1300401032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c9420378ec10b48385b5cbb1f06c3047671071a70fec462d74f3ec885920bd499ec2d305581e0304ebf68fbec57d23d6a4d49ffac8d1b49ee104b807ecb037ab449f86d007011bffffffffffffffff05581e031ea1fdeb173f43807addf026eea3791402a17feb5fa19f4f9622f750e0040105581e03d50a0276b123b203939d8b1e298b8d96bfad888268421a1b1ed6a239000c0446f995a42f33000219175f037ca7f587d81d25a70cb7b9867af0a2e8af4b883f6e2ff42a573a1e543d4ea2b9030a4b461e57e118c1d4a524fc918fb0a3c085373f134b8d10a293281d0ebeebf603eb0d1be2e3931e19073cd76c6888b87a759fa4b2e5f9d1194f1f5a8cd0f8d04c03c3156e850b1add78bf8ada697eb69fd2ce189161601ee9e730799136204c7349031a1bed1e34fef180efd485d901c07f92448a9b83d150f3dda670a20512d80f3403c803fb13b77c0608d239295ce983b04150b7ae1531d34d0259a072ea85d20b97038855f01bdc1258ce05bafa35e9b2cb50e895c03e2114a9f5876b7dbf4ecb48e6030f163de90dd19b81c7b632f411b7765decb39a6534fe6b5464b5e5c843fb0414031bb52a641ce78f4759e25667898c328fffb36b6a4a8fb31db2d067f39330a394030b5ecd35c3176779236401eba2cc7230fb2a18a39a6ad6c295c38d806858d46d0219ffff035c6d61c43ee942e057f5aa41c3014a8663e83e015a7e10830a002938816683210321152972cc7ed9a9579846d85e16054b1486e911f2b12e9d9ce34b69d65c9fa8039eab6b9fa3b5736afb8c3170b5823212878f8577f7095221421847c43b3d1cf203e6f6208898a16ec8e782c2b8f8dbacc0f725fc51c5054f83213cca145f1f9f7f031eda797c6f032cce62ab30e5019751e9a29c7ca99234a2f0710f0aacbbe20ec9036dadd9b8ef8baf3d80bc5e117ec3961d9625d7e9f58bdd6c04bc9f9bd7eca6d503eecec058c3207798a81b86d39cd938a4ff9f2a6111f3807af0c2f836e189ed19033cf7d334fe25faaa93b006f244153437dbe5c9f7aed4789f1726c70685d2d913038d0882c0b189443021456ca723858abdada35139cf37d1a1a0f1a4d8e6e425b303a472ba9e33fed86e9cba5d2a57e71f2589bdbc5928f682ed66d17951c11f4cde0343dbcabf35268cf9640b7bdebf813b07f3971ce2829abc691869f9d8f8a7fff8032657cdedeecd15d8c26e26661271965114ebb7a0684c65f70d7b1dc9b07ee3b80219ffff03af31e1258616314c57946f2db6af44a30245f0d90aa7d12eda9b623eeeb7f11a032c2b620a0f4da448fdcf683325138dc94981a11ebf94d4322858d80b5b923d000318e2429760de9d2dbf511b059aa5891e9cc9d0eeae7818879d53342a7d469035031ebc86477323961df7c62090ed4cc04c738eacbf7f207df0426a68c61563cc12034feda07d475f61f284be28d48a435ae44f1bad3c233cf4592ffe42b94ef240f203a2e539f7d67c69149c85df9b9af57a8494d6b0b576a4be9c773da4665d917d8b0351724b9c99cae20d6956f1b63e8b1d633451287ce257fac88eb345c4acc03655037633f78b79015e1092d113d1265cf5a44d884156fe1a297be3092de2a943ad0d03ea17a4a5aa24a571e43ad3014e5f78b28b381094db02b155dd1b7cdc908228f1039983612b0ed91aca351d3079b5b9d8569f81d80db7b9d0d557d70789cbf23bec0219ffff03e99b672a440c84f899140d03b6a79a65aaaf6e1e98cba2f5320f518e4781705403d118dae57bbbd0280f7bc8fe20c143529e25022bc2bd21227db3192c23cf5ce7036666bcbec51744e7766796630914a141ac673a1fa68f3b1f79c4ea7919557f210320de9bc8d8cdaad5e7d278c29aef41b4974fa1af8a4a6c7e58c9c1ac439afd8303c6b3a0285405ab5a482895807fe1592b808d4406123dda62b554bcf09ae86af803bfec54a1172be009fa80e82ad1a8813d848b90419d30a4c879b62c2a9b276c01034a6739a3c155971ae05148b5b832750d9d08c0ac6eb9002b78b99c407388fba00382322b4821631e243fbe4de8764ef251ac1d69d85e00848b5dd5a82442e2d4b603c4cc9515f19ae2a6d32f4c809e3256b0144ecae463fd2d766cda1653b7a69918033dafd489d88af996576c1e0da794da613bbce17ae2eda9d9289bdfd0f29e7fde03ada98e82657e836655584b1425114dbd9e7d8b008f1cf738b0504fcdb83abc0a032cd3bfd0e7833ec137e1b08068525678007a42118548b4d763f41c86d06421fa0219ffff03965c74e5a22f4773a43c1e49a87b47d2b454696309d5d6caa9dca7dc866fc6bf037ac68296883ab499e0bda51df94c60b1f174b81b83ebae1e05d16da850bc9b2a0351da2a1ca03b22257e6db6c87cc9856504626e9cb11fa231bff278bd4f3462aa035cf314502711fd5732a197f54efd3f074b18c070fea51a3551a99e08b51bcf6803600f1a9671ea7a2dd20607a06f3cb03a46d3c4307f9fad49778a69d9cbd745eb034233dd4c242f93ce672635a1636bd830bef0f9f0ea9c5190b9a0b7aff5289e8e03fa79d8376e899dc968c8896072c5c9c4c4339b9b0e6b240630bf4b212876e2f903a0edbb9639a6d8c0d472edc5c1c4b07c63656432cc6e68381a16d87f1fc3d10903b2014fd066fbece0f2101b2935f6d8e73048bbf5156286bb8b3eba7aafd86f62035c86d0843749b9e92e76ce466c23f7681a757471e0277f67bb44334162e0be560304c32ecc975124d943c79f4fced80edc7c9f83fa80e308871cba77b06109ae79031d302888e8551072f578470242d713ea15a5569974483854015632165d5c54df037d3af6019de4b16cfdad5bb6e91fc61474d1efa9a4d3d131b0d5599ecf15bd9603c7b6d55d066b49e3f9de17119701642d06b113c50f892322d41029a7440662e8031ac381051a80385c09a92256eae77990640f8058b4ef721402462cfc88122bf4033880a69947e154b5bc7936723bce886a309c068548dba7ad4a0ad67af352e97b03631ee3fd98f6f39844e60041ec6ea9cb107859bbdaab54d82c617259ea85802f03bac5383bb7536bdb83c2761b20546bb5e7d36ddfad76d644f587e823d68890e10381f9214d12a75445f90e55fea73980b8db9bced05cec01bcb31d1f12adc6fbd503381e06e2398e8f68e2d3c315f06379cd36132f2a8eba35e914ad26413886c64c03fedbc9cc30510352fd1e107683cc242700374b4f5ecfebf9791cd1734c7aa2720361486b70c20a8a1c987b61d6987ac5bc5aadf687b0d531d410836efa79d9abf403f508a052892bb4af42c5d2f2dd9d599e86c11140ab1b8ee32491be1c58f477fc031d2b81f1b932b71b1d6dbaf806375f5c81182fe59788d9e0bc5e40630b4cb89c0356faef8edd3f3f998107824b927b9bde58c7015fe9ff743a59e6ecd0fd786107038aa4b95f51e1cb512c66ec8696d4996c1cc77dd1fd087d2b1f0eaa352cc8676e03f21ab8688aaba4e3d875ba994231534d3c553327cd3aba425bde0773b8d98631037ae29eb4cc2d79bef05042ce7cad2bf0272ee6c6360f6e4da2ddef89d1ab5eb6036e43f0983809a34a0997ae804e97cc628fb624ef205bd22167334770a019a350037d4ff24772e960031147b40afc8dd26d3942e92bf2654a2cc415f23050634f810362cb3710d0d321c4ace5dda5251fd8fe299164881abb5ada270052525d43d6480379040468612c5b5ae0788affcb6874ae6d10459bebc858c819f1d1b7a67b58ae03b612e7fa140dfe838e087fac5fa4740e1ff0d82fa7a9c2c681c2922cc088942a035475d86682c3877c34ee07f1f39fae3f65d823f177ee068d6d74a8c0ba48bfc7031f1f70ced67dbb4226e89afdc3b91f2540ea857b3a09594865479c23ae461c7e05581d029ffe98d0fcbd77bff9af39f8ffd52a8df3c9dd3dfb465433730b30d80c0448028e860e3c5643d205581d023369df7d1b5194c19812f3f045dbec01f647214cecc92106d0acf0b10c0147021aa810ed82d90399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803de21c117e18d57941fc5bbd3babc74bb0c315183a99ed606fb7d2bf51028b7d705581d02ebd9bf7b0a6943f880f444e6005d4e22239f59da169456d663ffb2f707011bffffffffffffffff05581d020eff7c9f7f0c190143a45d592e8e7d4df028a4d08a135058aee6062304020219511005581e03a6f2b53eb1af652f781aedc2e5ef743049866d291dd715d89d21a9d1a00c0e4618dd54348880032d514cc703c7a97e44f3efb8dd3aa31811b83c5d1797d90f90f2e5f31a665c6a05581e03812a2251a2901ed3198f742fa3d059be57c3eb6f33c105119a58c5489004010374c27c5150c4272985282a19ae3fe433e5b7a1c3c19c7d4baf5c22668ab9fe050370fbedab5e78dfbb8992b2b9bec96415ac7c9016b60eb52d3e10c980328fd55903b50435960493ef4d8cde4122f2345cba124a9c0497b73733afc2fb7a7b4d6da405581e03fe6a339d67f81006d10570d96df22e6dac54a007d671e2ee4e176fa300040305581e031d15e309557e8cc3c09e1bc1f96553a077f2f3b078c0d9e2bea247c7d00c01470bd9e869737a1f05581e03eb4576233756f715f8479f560a987184a65a2572886bd87174652761500c014702a65f8e6048c00219ddb103eb3f8a2483a68b05b20603e1420b138b900334d75290bdb6e8dd771030bc8fd003171d6609f66f5495fa302e9cdb22cce0366abeb41d1a5c7bb4d9688013369bff03f34d7d8aac14ac4681a99cf002cc3b3f0b19aa6ff553742182859719880fe436036d163edf5f27fa86199e56742657b54e4121101ea0868566c3235ed7e6e4495a038a51ad81b7d58d6c7df4cd190f4f534dd52bc22ae8ff016dc194786afa08f0810219ffff0348022bb776f3a881bdbfd6299efdc9871aa0c24058f0a99c247a9c48fd8150c30341385312fa97115945bcc111ef32f276eab1e9346e01a3611811831a25aef2b703be96d8f216c1df8b431fb43791856cec997702156a0d5e8c444eec35d280151f03bf7be011817b51143bfdfeecab0c11aafe8e50ad5d04f5177d8958b0f241426303e192a06831088697e2e7689f1c71de1156cd7c32047adb0c9d077f681b7abc9e031e5386f70d9c6330ae89e4b1230e7acef9b708970e113f5ffa9529fe23655d1c0387de42545ed6b62c6916da2de422488196af4d25a4ab86e9ec790a59f4d868530347a728a7db124e4ece1ad3a51dbd9608a785ed3a2a662894ae9cfb5e7593da370219ffff03b072370f4969e50d47922792eb3c52baf67da63df110553e81273fe67a34c40f03c8493a0edf6b02418cfe920da153a9a80df3ae3f8402c2c0d1e92e6773aba27a03364bcd46d9b50b58ba80a275e290ccca3af5c8c7f5fbb3897a505074e4ed188f035028675f857ddb418803957a7db5fa898fd56cf45a3402f9f239485f4f3205840338bbf01e2f7e53b67d28e941fb659e6c447010d40ee2dcbbb54e95a762dae1bd0310da5b953bb5a98149bc0d54421a91bf63d7c60209f0c0c9f9314ac5c5d17af003a34eeb747a7c6b8795d8a264266b22b397b935de258b72a52d1b7e5994cc1683036f4aa029dbf177e3e5ab36c5a2bf0ee8f07e4be6fe1a8a7fe9204573e415a1b90308b5260cc1f316773975d93d62a11e41c68917b54d777a53e05d96efa54fc6c40219ffff03788166a3b2d1a7239f9bcd947d746a1e3af70414f353d08866b9e20d5751f9f303928bf60daf131999659953ce46628f96be86e10703168977e1ff5f764a66a663033ad450f4dd82f12991cff54af3c04d72c7cfa88b5dbcd71f0cc5981b037ca67e03b32b1f6caefe73f5ce7aec38a157f43baf5f2d60e5fbef30cf3d4952012d8d430358ff34421d83f9d5776c0e6178393bf49ef44ff337e4d7291ecbc8d2eaca2f04035e5d70d91bad7a3bfb445b2ed01937f97805b042d2e639114bdb1f8aad92109903252ec1c83ee26b635103bd2b50102aa5cfde54861aeaf4481351725dacec9ad3039df37d74ae9e6feb75a3315743f5845a0844149b004f77b7e359fa97a11e92a70346b362610fa3e37a85ff4b0b4b3e62915096e970cbb8ae31d76167aaf643608f034ca8622203613983bb680e6849ee36203185b8f5c8c9f965f56168719b8c3de10370592bf855b463e1f4c82f48d76c40c8c9e4049aec8a2ad0ab16d610dc3e386603c9f66c64cc47238bdbf7e70bc99217ede90616b374e1077c99dd41e9ec45b11003a3e408072738730181477ee96c0b24e23382f4df6ecc0f140c963ceb3126c6af0328f8042b5b82e932a9d5f0c2570eaaefa0cfc2bdb3ba835ff924d5048dc75d47031f597f15b3f3840c1182186703c435fad421d3a8aebf84cdb667dd1e2fac66db03941a5c9458003559d1f405c4591861c9050ae366686155da5fcc6c788c8a37960375a5a6dff27fcaaa11aa2cc962dde8b849f4c12400ae1a43fd7e67b6a1a26a6e033a7106814278722bacab7799093f11048d86fcd75639f15f707d2b23213800eb03d4266a328501352b179a94043868f514ae2b4cbdab7047872c89a82202122b44036abf463ed38f6b564967c47d1c6b04122267e8da40e6760ec9ddf270a05b7bf703c6686fa2e4ba2b3771447c674a7a585111e5c65d6b1a1032e7ae928dac6acbe703606da88ecc74f3b903d4e031a8347b98584644aa0df68cd64ec38752905422f905581e032bd0e3e22d10b8d880abffca1b092995fa63a896223a4f1e72117295600c084711ef638ff3c700035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5031ec24ddcab326164119cbdfe96c65710c56272a8db33d064d6bb4da5582fa3c905581e038f72d40f408437cfa14381aa9d5678dd318d5bd4b74be9e67de50606b007011bffffffffffffffff036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e03f1d3b0c57a9d328472f980541aa4e0603b3452de800d8e76a482d6226007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03eb631ddbdabe4a1dcf0a973c7375616fda993cb989b57fd8838ffc896007011bffffffffffffffff05581e0352650f28d7a8f73c7ba49bcd72d97edf8d731797e5a2728559b865552008470e8c87f785691505581e03ebea2f113dc4688cb9710b2194eeaf0d428c7524c8e7a1197148d4c7e0040203818254249eb0387ce5adb54bb377bcaa4661d040f754c5fe29f307021517346a03fb9cb38f33fc4607158fa4ef8e5037cb16eaad5c7ab482e9bc82915aeb9df85c05581e034b2a88e2993c221bb39e6e45008abf44394b84bd4498496823c098ff100c1147030c06b2ad495003fb64400744ddb74165f73194477bbab43b94bef94f0e363ae06a224c6a9571350349449f3abb8f8224140d85dc2c0c1bedf86d1934ae0d21d0e375ac6333d8a2f00219ef99032d3b88f7f952d2d50731beea16a565ec5897ae8d803f2b17217b619193aab106035028ef71a27133013435a015cd94a1331cea3a6886c739379501a84f580b881603887865a65b8129b569e40358cc954b335441764a390e209923122864f217215103e3413e66a796d4a08f8cb6836ba50f929b1d91675941e58ffd6ad13db849f55003fa2ae8891e5f2794cc6a93ae6313cb9f0dd99f84dad9ca93f4735cee2d12b05e03aba33d99af49234274a32c8729489a47d3cace787561db6e909e345e1fbac16303e19f11c1b542f20177b68d664d8ed1a4de155814190a6ac73b401c6e235757ef036fc54284d6bf4a953f7d350ec7552444a73a946ff756e2e7aab6ee30023cf5d20388a5e179daed10ee1ab9cbb51ffbb941220b8bf6393a5b237c955be8b7b8dc7403821acb90b7b3d2b9f2ed8437ea74a52b3488a68b14a43874b5adddb1f1e3ee450219ffff031935860c69d536bbdda2caaebfe223f75f198c6c79c95e7fcebb923fadc8edc803e131d8671bbaf0a376850b22495561c843d88d624ee126cb1aa267e708ef4175039ea1a64ab27c944383fb7abab6fe7c99c08361a579bbb7a2213496d0c92848cf0325ac0b175e2bf345fad2e845886f802804822bf2d5525b5f5059dc5d67f0979103087c245a0ff8173744ab943eeb4e5e5b75072ee68ce5eb8f334529d919aee17d03db320e8bcf696a5621a4ceb4277321074b4b905450130a56992ae9d045d1023f03d7570260553025baaadb4223a896f889391d281b18b08c3a397616bf592347c30341593e43892b2d74bf2fd19707f0b58943f908b8e013f996a520d0ee1951ef840346f48b841dd4253766579ed5c4af39ab4e182cc72bb3aec4984c5c88b0200d4403a4d45551a21d9b53151a3cbd030e9fafdbdb6e864f3a154c725aa5e70ad49b8503d03cd3fda228ccf6be57f1b737a8757c92c839208a6c68cc60a95d0534f2a30303429478dfbe7c0537869df0a172f375ca383650a5aba7e1131b8f04e82063aca30219ffff03d887a731b7cceba80e32f115baf6fbc0385c84543ab0f066364222d694255ca103c1326b410f1eb7c4854e963123296d08e4edfcbcb707da5d716dee44063e3da40219ffff0375c6da3f3201b48ef456895d17d91d3784f9e8a27a2aba2d04b14e72298f6a1a0219ffff036c75d1ac8b0616c0fcaef079c670e4be6fe386bd9378ca427881cc826b6aecd403d5e7590c253fd48a9712233d8cf0e3d129f2ae551535ab512e99cdfdb0e83524037c041757f0f3bcc6df84488e683e509b4e5bf2c09e13e3668bf68ffdbb1ea64003d9538912f9c9b03a91657c3b02bf76f89e9e79cec0e0474bb1813694224eb01703238a69058e92b6df6bee4d4ac159310df6999e891bdeda7ad6ad35044884b7770309331b63188c9ee94bf17cd708ec80dab2a45876b07c272d5a4876c83139fe6903247d1dc1449e9f2c883a2bdc69283b81cdfcc05e3c568a63a77dda44a8894411032516c5d2e177f129c4d421a723df9a58894db6e5068e4a9a376d187044b91d140367610441fe5b208116d25e26ffdfb65818b701125993c72b3c07c041775463580320233f3da1370fe6bb44eadcf566e11a9e0422ada9de539bd98d300b85db6a0503150e0174e717a7210b077c471d9b38ef7073349fa18d57136adbf4b98e2532600397070f9886f32c79ca3175c9908f90bfa063c6bd5d7e910f8d17618942ceba8403f1cc38646a1012d7e46631fad82de174a61a7b82d8d2d7781b6130ffbc4b6a0f0387ec3461a36ebfbc879a2b08ebe891e19e4791a78db19e4cdbbd637ed327643f03498f45861d64ae5beeed10adab0fb52c4c7c5b00e0432e81158ae5d83c6c843603324e538a5cfeece8a4f80033c30718012fe6256b1c5b96f52a789a15593959130387f87a868f5ad179a38f0c4b9167eae5caea59b4b716d1e7564057bffe9243cb05581e0342b8999bba7b3f252dace6ec5217417244227d0130e0dbd53731c671f00c01471347ca9702a00005581d02540b55751616c9c0ae69f1acec1d56553d7dd0f450bb126b28edec0a0c191b304810eaf448dbb5eafa05581d02b62fa5f7cd0153e52e5242e5c9a44e73c0d4903374ca8277f0d623ff0c05474568b593c75de80219120005581e031b2bf0bfc43aacf1a3627d3b5bdcd08a9c1f743c86cd89d7cbf22ca670040305581e0375dea6d9075b15850b12e236804243415aff0d5e6bfa84f6728e3b24900c02453a8b00ab2005581e03bb402ab6795e7ba11c363ef056b46f8d34a9410fb86be1c77beb862ce0084711c37937e0800005581e038b3fd8d77a49eab196c12f0a8eced13e94ea443fd72e3a0b8e782564c00c0447209e5871e4423d03dd83d6f3c57cb0fbb28f926b6ed15536fa6f85983bdbe79df93a30c33275ca1005581e03e784d8ab5b64c881bd0304160e8cea1c74dba5453378522d7bae242fd00c0346881c7528925805581e03cd5ea56172800e616e972eadb60da68107395e696e0004d8a9ae60525004010219e6d403cbc4bc6ef67028ce835411e0ba4822d162903f48f51d0953928de102b88582600382278cb287e9cc7d4954d3ccfd8fa5dbcc495fbfd61c2adf944c4d221aafd6d9032f19ed5f5b459d85e661b667de916d60fbef72ad8a6b15f7d466ea015d4a59270300720daa0e98ea5e014ca349dab23e83979406a5e6eddfc7c8b47d6089826a4e03b9f5695a606c877f6fb644b3d15f13b22deae198f6ae565dbe223646d8f5aa7003b3499c7ea260024347ba8df67ce3e5bb941283efbf2ff7fc0b7281421cf8515e0345eb1669bd4fd3199b8276c005db80ed36b880cab55d94b22f4fc11b2c4c9af4037758860f1f39bc4b1a9b1486ef1688a278329fcec9231f5c9517e9d78bf0b98203471f1294ded9c0340910185053a5564d1d42d50302efa20b61ef8aa44aa27982033abde1defd6a27edb12a0dcc5553872aca73b9083464534dcecc5654d5ccfdd70311e02625e1065649c8b9bf95216f1b040fbec674fd4c29deec46366b16254463033556935a31214f949661ed76db6b549071ec40af061ed7dfe92acba0fb88f839036fc566bbf9a7940e442ffee282e0dc3b378b8040685bce58b5f28fbfce17d1630334132e9a3f7159d10389e13dbf38bbfc225395ee2501ffd861a0b8a6af08813c0219ffff039c9cbcc8f1767d7105fac6f47959f6997a859d17b185dc794383d7639f506df4037e5214e7f6edf7627e53f994b6e64be8c006a7ba86ac47f632a41edb5930a9c903705dd61c3e512941e8bdd5fa9cdd77280cd29402c9a6b3052f3dafb1502411a7030ca4a5c50e15f21679ef6610757f261a73d8957ce8110958f068d386b8b78bc3034860d745066eaf4aa5a9667c6f08cbf4db001ccf884017bd007ed7551c074c3e03e72ee0913c4a1a8a0442fca70a853fee56091a026926007c0a57ba1ba467942f038ddee6de3d82af0f0761f702eb17fd6dfc23a2be659329f5d070ea26f4c997e203f15f220a287e8389bc18441984697ec4cacc32c3629971d1f7557076e282809c03e9bccec03c92d865cedc1c829cb9e26c75e813433d7ed5d24bde0d3851036cbb03b1c7c1426e9bef2238b547df6562c1641662cee8557fd5ab11cbbb7316ce6bf4037e7db388ee502fe4c81a56519b5891481a9a68bb0f7c87a04f10e67619ce8283031742c570ebe13fea65922158e3a741e46eb14fa5efb6d7c86c166feffc6690ed03e6ea4b7e912f1268670179019cb224caf1456807864d5199449e592c04ae1a440384bade452a9c6bff249d0518e24a44587e83b4d56fb330ae1e499526f81d825703d8d246012f027bc9d232ee2db16c8515281d2d435c6c64c787980848e648cc250219ffff037b36dde864e1b985aba0384277db1f500518e05c32b49ae1d066e9f428512abb03bbb81a431719a2a0fc3d2d2c57b448b109b149d969a25bcdb6da3b8ecc4c555f0219ffff03b997371f00a6e1957d34cf23b1888aa3b7157362fd089e89e787fda36595fbb603bb1b342456e57ad6577ced0738b9d727236ee714a8767c7429dea2afad9e514a03484307a124b92751a318644024b85b0b1ca34f3ec445fee78389841f99557b930336ee2d56725e027455bc241b6bc9308890debb6efa638cb5ebd491d73538fce0032ba0321d10fdcc3ebc0afe57efbfd7026f567f7d80af7a8d287414125a1483bd03f69fe068a98135c0d94a6fb37727f4a50ab9fbfdca2617ed1295dac1b3beb14203a15d4debb698846f22a78a38a16af33f1560814e0a127ac5d2ae628e094de1b60325d5079640133e8e5a0ccf254d4eb6bc119dc5a01fa15c8490db4e3adffc0644031ece8e29db29c074c2524abba2a01ad1467bfff1f16123ec93ac795cf3df70fc03e68ed8220e6b4dac4b4f0673f71912cf00422f79bece1e1a10d2e8af255218d603d17f4b2150f571a4178a3be54b3e7cc110b585f9142f7fc42bae841e100bdb25037435693067aa3b8de053f3f18d0d74ed8132f5c148be8a04c21452606350c27a03130476449aeafea506361d77594c760820189a6bbf53812fa8fcfe75565a9fb30318387b2fddf9ed63410fe2db567c965f423dd8e49f6edfed91170d7c3e9985bc03f97a23ed0e35d72e28b6d2d2346228d0b73e2b5c241a96b8977918c58400601d034c5cc2f567304beb56924d3d4649f9b2a9423434b15365fdd645ec9732f65713030cb11e2fbe4b4f4b173f82ed89ef407903927e256481c16a1ab586a288309f0403a446a9b505c224880bccde2fc9c2efabd3ecece97ca3cea8b5a8f437df8e49ad034d13b84fce387fa435d36848c0ba742e04b0a3a1f5d06850d33456740abc880403f47e5402fcaaf09eeec31c30725aa5b4ba1798cc094d432c9ef0d5ae16a99e8903d3aef03e6d1d16fd4d1f4047258ee03ffc141c95e3b322a85012c7a49fe4aa9f030479935b8b395148d2625b33bd2f1e202bff98c4f971a7526b498d8c5a8813d8036021d5363090c5e7db59cd461d64272860986c3bc4fa8218ff767061f89a358d03f676f29bd2a786dae71d51a1fa611032d4d9e51d6280ee98117a90fd1d111fce031c508b480f236143386caf44615db4ff8ee45e2d20d1f992d6421823b4858eb80347e21f692cf639379fe67a774c8390702774be7765888b83324f45189f0dd38303e14758f1d873f821d8349deb53f8806ec8d4fb2480ad26e1acbb9251cdf6383403b31a272bea7ea8acea9c8f3150828e8693b6909e2883310585aae80ff30f2c0a03c3d9f7a4afef5d2d3a4099d2d6283891f534dcfe77391c3b0ad60220fede14ee0387d07eb2599179e276002cae2e1f5e260e36fa451ac4b8acd1169e2beee8e97003bed8a51c41268b9dd1c8fd6b449bfde734847317f6aadc4f3d908af33b3f3dfb035540698869f87c86c4d04360f5b2997bd1e5d8e33ab384bf9d8491dc1c866cb5031ae610843de35b0c3262d187fbb9ff5fbd787eccd0a1eae7181f4a4bad8f753d03105296d22d8a0865ff343f10195bc80d93c8908d594b9b65569e1aeed6928a330300f92a7d528a276466ec849739476adb27d4710bf5fc6cd56f6ae95014cb04980393e7d43e5e0c48e7a2643178d36bf299fa362ffec78940b7e55406f5025cfa4b05581e03116119486fc31c17342017344da59ce4febbff2ca1c33ed6adbdc44ab00c0246a0f5c2b6f5900318c39bd0e4d13cc3b275dd9822664d8b206167edb94b86f65d7f940618063db2031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0300d9119ce53516f536e49ca3f87576f46e5e542244b5e6bfc019846d1007011bffffffffffffffff05581e03ffc58dd560888b389566234590799f1f17ed6492122f1e04df1975f2c0040c05581d02189c7084bd2bb682d8f0465d7cc30e9bfc38cf39d504db065c84db100c014731f2d94253370805581d02e2ba4c3d906fb30ba3429fed083ac274064aed2f53e508d4940f6fbb0c19a18c48667986fc954691270219140005581e035f917931eabb2f7d62bd5498a5d6723f4e3da35309dc11bbe3b3a885000c014701a8aa9249a02005581e034cde647fd7d099e46500c89e038f023faba28e3c0256a128cc11a47b400c1854463fe8a793d53005581e03fe10369b7739ee80a036ca0b532d6fe2093b105d5a1dad5c986ab795000402037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03176511921d99d26f7e5186421619cfe2d8d24d43f2f4d5952b079ddbd007011bffffffffffffffff034a31638904ff15c65644e7312e203290d5482490422d36d9a23529c42f29691e05581e0349799af57a08239e7b4f098641526f616348a0d88889565108988adc800c014705a96abe2e5d0005581e031ed27a5f75225a6ba986d4ac69fc6b6976d8c54d93a6af2c6e9dfe97700401034ff089590ffd095ad92830de07c2c8f3a823c29fa1d354bcbd33a1eb2c8600c60219ffe903986d4d277ceed2ce17d585c078e7b21b544726c18e5f87efd4ee7f4b07e6c46c036ee1e047b1c673666d5e6956facb13cf3d20972314e5006bfcc9c41ac4ec15ae03a783f3178a8c08c839fcc67a067253fd3685e568afc2cc19a50a745e13389d7003ccb07c21d8e49415f980246d0d4b03a7f85c7d0d615568f095bfaec1e638931e038e82c800c22f274e32dc5d0256b021cc6626dc8aaaee7311d76f51da49af45860219ffff03b095e597f91e5eec7066a6659ec930a2d1f8abe93ecaf694aaf4f39bcb0d7ce40375a1487f9c21eb168f6b79e0113e62aeef1a1b7b1901ffa75cae0018e0c305430351d1ff8c5cada90dd5b30a3f58030ee9915339c4bd24d500b6abcaae9641546f0219ffff03a43bcc01e0d57ef90b616c0c4c95a3ebe8702dcf162578d30296e7099615e21f03e01f6bde10b2072bbfcc3a062456d5950d239454287b9a48908f17319ad90e69035cde0d8131cb6f946f9ae7318f18408df2536b692b1df902b98db7d4325cffa0032c26a965cf17d72cd72a1989b9ef50535db815e05194df43b9f69fd7004be0be03c79bb6a8fc8a59c9d1007768fc42c3459abf36b2e437d7f41d3d091fa62811d6034e7975d09729fbfd1f3eb046ac338cf8fd346c5fe53b54ae5fa2228d081dd41f0219ffff034b3c06091dcdfe5d10f9f50791bee06b7ecd8220f01bd6fb1d33c136c791cba9038c2c1582828aba3d3eaa65fdef532eeacc3036327f7c699ce95325c6dcc1306103c380be0bbf2d44b558310403e9fa2bf5f73901c41bd8d4e585cbc5eea84758dd039e16c4329b944d640d1bf27a5097848c2b8697109878f2559b38e771d34dfd5e03e9baa2d7bbc64999da00ee7641e29b9b960abe36614aa0222dd036b01ebe0e4e03703c33ffe27c0319e8e269141ae9f2d4a3e762563edffe219c3b5a057684d29f0219ffff03790ae63985cae4314c3a28eb7d334673d8bef7505cdca3c794684f7c4083ef88036048503189130010147202048712c5c837a7ce21d6400b2a9499f1bc50d3b77f03dcede17adb9e3d701056ba651808c8a2a7f1321981a43ed152d282fa9e7a508a0328ef3eeae5e0ffcef1d37d118da23fd5d3b3126305d8537dbf8d6022be3a723203aef6325e2baa7e9045861866d74cab1892a575cd3623a7a50e47a5ae5ffe3a78039320b86094a01eef9ab45851d4eeb858a8515fb5466f97d79fde5275738dded303c1c25ba034ee69563578d2e6c2daee11232521067462e3002d37584cd12a2ed2031273fbdb4a0301844f34df4f7477b9b7da039c66816d572547cd9b2debb6bf5f03e1cb6cb064dd08abd7e95a16c9288f2da092539d3f57eb1b9a506a5ff7b358a003fed90771847626cc59450eaad1fbccc5594d9345c0bd17aa5b067df6894a665b03e52919c39265525f7e1bc21b99f65b7083d081b5c51a13fb728e47b2a8ddcfd003b38516df8e060b7088ac681a0fb72a0b25f8e06edfc10e545cce74f98753ca0c0389120eca6ead3832c640dcdf16c26aa494ebb1376d68e61133517c632ba4cf8a0321df8320817e758f5a8a31570c7d25f7eb05d6ce530f11872d368894303948b30347c19a0290096b5a00df876c1d09c851f25f1ffc8d133c03cec460d76bd87350038ec818f23ad998f76350afc43009f1c79b295b3740b02d20a0968767e1b475d503e7548975bc8ab96c6ee35480d55d1ed50a39690e53b6883518a38ca2e13144e003aafc8044e73d45ae70c473c5b81e501890a569f56b7b1e6f6feddaadb7ff922b05581e038cdd2eb0157678e05f7ae7638bc1f7f7946a248b5113ced9c637902310040105581e035856d5c4f548d314fa3a88781a10029f592cd248caa33dfeedd9a768400847304d384bf5838003c99482f386a66ae2c64d482f41e8068e595115186627928d40308805aa390a3603abd604bc48086a925ea5b5e415d6d6669ae1f2f5d4c47137e7978d4f205fa91105581e0308ba5b5bf8a8de692f010035fd8831c9cdb2193073fada6e352efee6700c0147017076adbce40005581e034e621f3d03f5523e431fc4a971c0aba8e8b44e6bc58c3883422b50e8100c1247109b367fadb40003f47bdb7d4b90027d3899d228f512250f5ca9265222126dc03152e8f6d0a5ee3503699dd0dcd3f2b944317831a36e45bd02f979abc5930510bec089275f4d7fc62805581d02fc3536c8135c6c75bc16fc2cad99e947f91890afb415197a9416b796040105581d02944508866d0f519e326a9e7f961a2ff3d7afe689fb86d103acd9b3b70c014719e01f6d4ae80005581d021d5a1aad6d23d52aa3e72fc15e16db577237cea84cfaceae9564540b0c1a0004d3ea481c55b0eb2b8eac3205581d0214b1f5ce9c28d02a60a89e8693bc9333e749abb3dfeafde81029b03f08480104b26e1578559205581d02a712acadbf5135297b77b2850b97a8b13b39c7c77462c9f26a741fc30c181f474f49808e67b9170219290a02191fd30368137a3a90a3109d6dd86c0471f0a879bcd3159a9154504c544e1918c46928cb030f5f4c52f76cfcc71e005a179aa9cee0abb7d8d9aac03d523a7b84bd83df43830379098b80449d264bfc5ef08bff0b470514779dec61b71a8c33179aff4dd88d5603f74116ea4e172a7a542243eb3c18adf2287d3d8a8f4d0f283511333078b630900342b68471bf9360f69723aa15c01666eff62c23c1877e9ac218867f44331e0f1e033be115b4f87977adc28c37ecaf98afcce286378096a943a090469ba5b4dd8061039d417be951ff83ce427ff1b6c293306dab93d5942064ec4b345089168fcd45a30333ce0d6984a09b44b24a9c2facfcd9dbd44a1d9f5cc3bbdae5545cf1a93b6dac031b23532e413f5cc9630c1a530f160e677f1bfb58b6fc6748309eb61fe140291f03aead4f622eb831c50f02871b07357f86d73867e5d87d80b988d8b5884793e9400219ffff0346ba4acdd5eeed083c3890829ec4e0024b54d4852e75ccc29a22014385fbf43c03020aa3498a754d3c8c93448aab04968010d607fc6f13275365aab1f764efbf2703bf9a12b9ed6e23bd1548d0acf304da3ad9421e0c87bc80e92a9e75f7af051eae03184231b84b8f91f6b012a94785ffb68fbb3375f04915fafe5ab502a64d711e820377fd4efa3b359f191b5e34d98eef7a2efed49e5aed8b183abef3c4174d03ee560380449d9d3616868ed35a37d23e0afc3612b816139e539cfe2610d1e584788cf30219ffff030d3c44f01bb4db0de09e416c29b84bbc1f8f8ce0ee1b4a4f578d624b0457b362039a9f251b379428634431489e0a6448e028349572c7cd155783b4f61edf0e947c03d637ae08fb06d919a6da859013e7d2a197a2edb6480e4fdd57779150d88ba7130369d85b2ab64f8ca8982dfe6de93c8fafd0858e3b96bba8a64326e9deb5ed27c203d8b84ed21cd9af386e3c80a799f933c03a0e503122ffa06d0084a3171403ffc603e3ebedade14052ae5ab0c30b7b7be2041af4498a553b4d8256e874478396386b0367201b139f8d1217c5187c8088c5ee29a441e137909d4f8e9e52f1ff3012b69f031a01b5c5c7b63bb5d5286e2a3fc3981cf09ab4cf1b49311ea6b814283b4838a6038bd7f209907c661054ee78a1661b28f567c7576c94e74f9f3d4092d9524b8cf103255a12e457143ee70133cb07c1d576c78a11efa69acfb2b9bf8d0f869507208f03b899b0f1125b57ed57108f8e5c7000567194b4d909c8c70fafba6c238bcaa1af0346d719e55accfe35ff867e5588ae410a1714d4da48bb0871d823c51613a29642034a750c3ac487a716682567693624ee9553fc0f1a68674b49a8708c2f20ed91630219ffff0305c09046238a7c922ec574299aa064c906e71d9f53b97a453e6ee281252f4fdb03d79e0fcf45d06805deb6b5a7f7b00b5ccd5f0f4937c8393e3dbe2a5f18d0ba8a0356eb08c09f1e2445925ea53c4100b402028eade186a1be403909d3def6c683ae03ed05d7f9fc2a429232147eb21736cf44ebdbc4477beb51f2e9aebd054d08a2e6039902264627a9f2f926853fba34fca997366634f5c86153cb02233f5ccde9593403f7ac11691f9bf2680d5c3f8e6240d6a26c0494e0285ab71c2d8e38fc74a6e9af0337a38465c2f70d940878ba8cfdde90e515737a8d7128c48c30a803ed956dc25803771fd1a7baffdf4c74860e673d87eeed7ff54546d66225b04e155b96aad44c5c03bbc1651a7b2f4300cd483f3d2cfcccf8e4f704fab808120d22c5bb05873dc6c90370d99bad64c257664ba420dc0fa9f4fee16796504b108342192411bfc6a42d14033cd6bb26e5d003cf1913a025c4b99af100256ab153aa4f801a9e30abd8b619ec0368530d1ac282a5484397171755b23acb90253602d01f0e7f05f0109502a103a60391755b77ad8485e880c3b9014169feb9316d1dcfee1c3c2ffb6f62a0038841e203b3178940d79f1484d378f8c1845111a131f89212d6b05da4917c283ac19930d805581e03aa5237bd939e7b38ca33b50f2481d877bdb040751e4cf41289a404d010040105581e0314af71dce5db7e3502bc690e6c9172c03ee651d020562c2d1910ff3e900402036346bc04000fa1dfb413cdfc02cdfbff2012c7b40c17e49c2016716ae1109df405581e03b74720783f1ba98b2053551047c85f1175962bac20b48a80b6fc4423300c014702f0b4b71420f503752ce9ab989cdad9f2e37ea9308e7c06f3d3d9080ed267a184ece362a419b49b0300f49b333ee30c3cb2f6f1f3219b1e3d14befab6c218ca49f0ab11da5ba4bf5805581e03245ed28969336ef0d90d71baa38080cf83a4005923587cce52bf02dfd00401035dd860be5fdbd2729550655d3ec4f5172a3a11153f22c71ff8ffcf7dc56a58b0045910106080604052600436106100955760003560e01c806379641f741161005957806379641f741461015c57806380dd9a1f1461019057806388a9ad71146101d05780638da5cb5b14610204578063f2fde38b1461022257600080fd5b806341f4a959146100a1578063597a9743146100c35780635b7ffd32146100e35780636f82189d14610134578063715018a61461014757600080fd5b3661009c57005b600080fd5b3480156100ad57600080fd5b506100c16100bc366004610c5f565b610242565b005b3480156100cf57600080fd5b506100c16100de366004610ce7565b61030a565b3480156100ef57600080fd5b506101177f0000000000000000000000006e9ff848d2c695b95c7fd8e9907e817270eb303e81565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c1610142366004610d69565b6103b0565b34801561015357600080fd5b506100c1610676565b34801561016857600080fd5b506101177f000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f81565b34801561019c57600080fd5b506101c06101ab366004610e70565b60016020526000908152604090205460ff1681565b604051901515815260200161012b565b3480156101dc57600080fd5b506101177f000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441ca81565b34801561021057600080fd5b506000546001600160a01b0316610117565b34801561022e57600080fd5b506100c161023d366004610e70565b61068a565b61024a610703565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038316016102ab576040516001600160a01b0384169082156108fc029083906000818181858888f193505050501580156102a5573d6000803e3d6000fd5b506102bf565b6102bf6001600160a01b038316848361075d565b604080516001600160a01b038481168252602082018490528516917ff24ef89f38eadc1bde50701ad6e4d6d11a2dc24f7cf834a486991f3883328504910160405180910390a2505050565b610312610703565b60005b838110156103a95782828281811061032f5761032f610e92565b90506020020160208101906103449190610eb6565b6001600087878581811061035a5761035a610e92565b905060200201602081019061036f9190610e70565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806103a181610ed3565b915050610315565b5050505050565b60408051808201909152600c81526b6f6e6c79205842726964676560a01b6020820152336001600160a01b037f000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f16146104255760405162461bcd60e51b815260040161041c9190610f1e565b60405180910390fd5b506000808280602001905181019061043d9190610f51565b909250905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03871601610545573485146104ac5760405162461bcd60e51b8152602060048201526013602482015272125b98dbdb9cda5cdd195b9d08185b5bdd5b9d606a1b604482015260640161041c565b6040516329ac836160e01b81526004810186905261ffff8216602482015260448101839052600060648201527f000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441ca6001600160a01b0316906329ac83619087906084016000604051808303818588803b15801561052757600080fd5b505af115801561053b573d6000803e3d6000fd5b5050505050610612565b610570867f000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441ca876107c5565b604051630406759560e21b81526001600160a01b0387811660048301526024820187905260006044830181905261ffff841660648401526084830185905260a48301527f000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441ca1690631019d6549060c401600060405180830381600087803b1580156105f957600080fd5b505af115801561060d573d6000803e3d6000fd5b505050505b604080516001600160a01b038b811682528a81166020830152881681830152606081018790526000608082015290517f6ea4114cf93cff6c9ff22aef8d246e78a0368fa48033adc49edde5fa273f69a19181900360a00190a1505050505050505050565b61067e610703565b6106886000610879565b565b610692610703565b6001600160a01b0381166106f75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161041c565b61070081610879565b50565b6000546001600160a01b031633146106885760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161041c565b6040516001600160a01b0383166024820152604481018290526107c090849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526108c9565b505050565b604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190610f88565b600003610850576107c06001600160a01b038416838361099e565b6108656001600160a01b03841683600061099e565b6107c06001600160a01b038416838361099e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600061091e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610ab39092919063ffffffff16565b905080516000148061093f57508080602001905181019061093f9190610fa1565b6107c05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161041c565b801580610a185750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a169190610f88565b155b610a835760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606482015260840161041c565b6040516001600160a01b0383166024820152604481018290526107c090849063095ea7b360e01b90606401610789565b6060610ac28484600085610aca565b949350505050565b606082471015610b2b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161041c565b600080866001600160a01b03168587604051610b479190610fbe565b60006040518083038185875af1925050503d8060008114610b84576040519150601f19603f3d011682016040523d82523d6000602084013e610b89565b606091505b5091509150610b9a87838387610ba5565b979650505050505050565b60608315610c14578251600003610c0d576001600160a01b0385163b610c0d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161041c565b5081610ac2565b610ac28383815115610c295781518083602001fd5b8060405162461bcd60e51b815260040161041c9190610f1e565b80356001600160a01b0381168114610c5a57600080fd5b919050565b600080600060608486031215610c7457600080fd5b610c7d84610c43565b9250610c8b60208501610c43565b9150604084013590509250925092565b60008083601f840112610cad57600080fd5b50813567ffffffffffffffff811115610cc557600080fd5b6020830191508360208260051b8501011115610ce057600080fd5b9250929050565b60008060008060408587031215610cfd57600080fd5b843567ffffffffffffffff80821115610d1557600080fd5b610d2188838901610c9b565b90965094506020870135915080821115610d3a57600080fd5b50610d4787828801610c9b565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b600080600080600080600060e0888a031215610d8457600080fd5b610d8d88610c43565b9650610d9b60208901610c43565b9550610da960408901610c43565b9450610db760608901610c43565b93506080880135925060a0880135915060c088013567ffffffffffffffff80821115610de257600080fd5b818a0191508a601f830112610df657600080fd5b813581811115610e0857610e08610d53565b604051601f8201601f19908116603f01168101908382118183101715610e3057610e30610d53565b816040528281528d6020848701011115610e4957600080fd5b82602086016020830137600060208483010152809550505050505092959891949750929550565b600060208284031215610e8257600080fd5b610e8b82610c43565b9392505050565b634e487b7160e01b600052603260045260246000fd5b801515811461070057600080fd5b600060208284031215610ec857600080fd5b8135610e8b81610ea8565b600060018201610ef357634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015610f15578181015183820152602001610efd565b50506000910152565b6020815260008251806020840152610f3d816040850160208701610efa565b601f01601f19169190910160400192915050565b60008060408385031215610f6457600080fd5b82519150602083015161ffff81168114610f7d57600080fd5b809150509250929050565b600060208284031215610f9a57600080fd5b5051919050565b600060208284031215610fb357600080fd5b8151610e8b81610ea8565b60008251610fd0818460208701610efa565b919091019291505056fea26469706673582212206f75b4a7ee6418393cfca4954059cc73d753cb3b5797f6d9eb496e7b3ff4dfbf64736f6c6343000813003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354cbfd32fdec86f88784266221cce8141da7b9a9ed05581e03d7ffbecd3c4c7b588f153541f467357acb094ec891d03cf36496a73bc00f0145cb7a4b5fe819101005581e038af83952e0c68cc7aed7752502d21ea14401160463383e6ae0cf2703a00c0d4742a502966dc78705581e0331d33aef109d7b24d85311c5d514657c8d95cb1b616a6e04ed43aebdb0040105581e035a0f5cae4af98fd6314010b3b74a0d2d128bf11a21e0e4385fe0321a7004030219fef503e50bd492a9cea3b3d7d54f3831cebbd2f8c16e701c7ca1f89e1a1240a0507f8e03628d4043553c852b606dc53d6d91616a6a9b5a049b59cf5a49915a50bf61d49d03c2bbf6230af756ca40b4202141ec281bcb906de215eff20fb1f2ef6ab61ba1f30341418da1f2eb8acc0bb580b1bfe6613a90f9da229527100b19003d537516ab0a03f8a84f817ff15da3dd94899200b1c4583f456b997023f621b9736e025df362b1035e64e610b54312e51574c9cf283eaf744d286abd9aab947bdc11fb58da05828a032f207d8e554deea34c402c704aa2398dbc538afd1d8875a78e5f87382b59f9d9038e15a64374a56a9da34bf8f9938dca4256ec11a9ff635bbe7495723e20be2243039603d11209c319093f4167ba569c0cbc1227c75e54b84f869bdc0a91ea00a51103dd6008f510360deb6e0beff27ac28ad69d1b327d1e029322a4d19251769a2f130344599b1aa0bd9aafb0b371770ee539cd09973a8c22907ce77fb04dedba3a47e90219ffff038b97166c21bbe117a2f1e2b9cce2fc2e22cb3fed009a631a405b45f701ef980003da6cb836a8ccf00250b82073308caae02d9e284cb163818caa67f47d6838cbd403ae8d114b8a7ade483eb2986e4e11581b9f2b2353da016c2b0a4e474d84a076ea03f43eb36552cd41e3fc53e223dbb7c016abb2f62c518f7a0c2fe492e108016a4e03060e223f17e4dcb06a8ee30a96f0d718bbe3b2b3b2e6e7a3c6005bc0d9e09971036e6151dc9e5e9e071544686c8db7af3d8f7a66b456e76b7401b025cb7f7813b003b9a9552e967d02e62c228eae09ccc0f47273482eec1fda44b8325fe52d0fdbd40342cd9abe4412bee4498ab8c5a52a37d596325bb757d6708a380771cf3b76e7ed03b8054c7e40b00add03555d7575e372208bc52d24b60c93b134df0e52f28c96f9036f33bf5cb6e2fe49cf8c51df6f6a8850303c30544c887697dfd7e2d4a9a418fa0219ffff03f2d9f4c9c3d3a6c0b9417360a7c7e9ad5138b3e247febf80f7b169d4c3d4262103dd41fc07ef805e6bf242d73ad056547013cc0d11119cb6341c35190b572b283b034e7ce4cce436a0ee6dcbe9ff66b7eedd66f3a067e599ca64bbad49fc1828ef10038e4bc111ef3cc350d3b6666ccdec32fba2b5c48dc8cc711217f29227b5f798dd039faa6ecf838e2c227bb35d459cc85bd7fef3cdae9b58bf349b7a7941987d218003318cc24cad1e2f305bd8d709223713c81e858b6cc92dba60d36e0c87abd3d1df034c2b08238fb4469daade66ab8f96e49344cf2e99c61efa68a00f6a9654d64a7503e3e4f7bb3c4b4971732d043547974a76bb733a947dfe66799437b8b56509bdd4030d1ad235d6c23ccaadebf8769284ea3f7680ef7e75ee7cdbeb1fac077c3b0b0b03703b585e945a28994b9eca32abb6f79a0eaf7bbfcf0addfbe7965bc903beaba603f3f4d65c950cd80b2cf23d1780b6fb6da22f7babbea4a0c95cfcdaa50ebef9710219ffff03472ca78e7be427ee10d2cb7b776c1445422579e1ab31a6c39d80fb209347128b0314af935b015f45d6f87e8037bc0e7dbd90bea57f83c5b9f02ef925d530f20ec50319cab9c08bad62690328e0927d16853d28ec4ebbcc195bd6ccb6c7d085f5f9dc03fe7a9b4dbe095470ff07d64687e3f42a99790ac72ad068a422cbe77afc5c53f30329433fc9bbad86a5f86b37244090c16806b508e3e1fe014ff776541ebc4ae03c0312f721c26247061efd749fd67a0efae8477eedc4aa63da053fc171a08fae3f8903bb604a702a4669903b81194ba232235400756572a4ed0c024a1a00e2c46e66bd03bccce39d5473ad7c1fb6973d0257139ced4043d95becb1871141ded5cc97960903c5a2d6f2d7cb54110f0571f2b92e44d2697975edb38f7da36a3d09e8f8d16b8a03dffd96304f46a717830517131a137cb1f6b474f63fb66297dc3340cdebe8e14603d7c05bf2ee8456655fb3282919086ec1632c45c4eba5013c536e85608ac1c7080303c120b18fa36afd8178651c168b45f869d7480df41fddc80ce4b557855902ee03bc9b0d8a33aef69bbaf42c74a71f6ba7c5609e5218c9b8cd8da576a1da6e0b0d031fec35f264d9627793a44de470e71204fd0c5a2a3470ea3580591e1dd8b6589105581e03eda3142a63fa517fa7fa403ad963d3d57c500fdecc8e19f0032885b260040105581d023d0a4121917573898a835b39a3d4d8374ff1a20a14bbfc15cb2b4052040205581d02f4c04bc40cf8689d90af76f8b2cece6d1e547e344ab5817eeb809fce0c0b47bb300e14f8f2ed05581d02de49b092b1597f5a64e8d8f7e9dbb0b52ff9cb60e1fe382379a0965704010219100903182071c0cd3382be1005a3213a5cdc083c190cfaa8ef6b906c4d4b35fcc111a003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e033d85db99660a187a49732afbcecd436c1252c92634bfc9d08913ffc98007011bffffffffffffffff05581e039b50e50022ddc9f20fd667a62d87d6506f05894336f30729c8f1fafb70040305581e0382fa20fb84e0b65a038010620153f981a7dcd2bd55eea60f55ff8e34500847069fbca6b52e1a05581e0336ee422a1eed1038196ba973e691ef35755b9ff005c6ae1cbed6c429200847c5d109b2ff840003f321e3f11a29ef6a184635f07457d979215c5cd950b6a0f66e994eda3cd58b9305581e03aec8985b58e276f26ff7c89ceb365d2c15997108287657a39717a38b100c014702f074cce4516805581e03424beed261ebd5d6b9e3920518d209962a475e92ea3ac3567e7cd459c00c0146ae2e8f8b4e0002196ee603574830b56bc237dbfb737fb655b23aa0c83cd33f658723270a1afb42cfc88c1f030168a00c5a5ee87f75bd19fc6677dd0cac45d7bba852d7807cfed3422ec054c003b49c727835befa51cf1f5a1cdcb98529e47e2b4222e6f8524db8e764085de303032165539cf920a2612374c8e6c75eb6df4b1c6750cb60bd5539dd818011ae810e037ffa7f18016a25c7b2944add81051a96341de37e674d3461eeda31564d0a1fca03864500795fdd28ba34ed292c7fd3db9ddeb794483019251ac6f831608432c60703767535e4699c865b777ce778a70415f0f01a63f699b282a446c601e65d76759f03e631eb84a5c05820cab80e21bf70c9d27cd0ca55cbff93942cddef7c7fab91b403a384f827ca5dd9d56fe0da02a650f0719f8403dd24150b1bd2423be6c54863be03d2f9c8dbf7041350cb77e4c3ca201e6d7ac791bab7af97d2edc20274a691e6c903254e02a563f24e6f7ecec1e9c167595896401c646ee0bea5997a32ef1f31cab703d9e1eeb554e9fb7a8544f29992c6ba18a099d070a8eafb3fcf960fff33930ae4037354c4646acac785fcbb9cb38584a1727dc687704d8fd72bc51e9874399ff5a40219ffff03a2bfdfaa06e3efa42e4a2166ade7bbfc29ebda078cb15c0d1bb171d47a6849d003156f35400c860dd1762ddc349e2eb0d214acf6746dae4a50d0333676c27a13f1039bd95d80adb6401ae7222bb13f443d63dbd6264af5dda2ff3e45792a4eb17696031142a378aa40bc53a50996897be14a56f05a6277bffa59250451e8f46158b8d503409a53bb6e240787f4cfa00d4df5e3758fb79474e3757c284d1361ff9e6f5b3003df05db053085e1ca1341e6c1fd4ea2743fba59d16631c25a7dc2c69836d2c756031a146b54fd8be56a5a1fb9804f3d9956c3e87ad7f0144bd0f5f4e4f4255dd6e303c8c32915b2fb1ac425c568558789d17ec0d8b2ada2c6ca2ea59cfcc5253434420219ffff03347b7102a6b8cc75781569abb1daa284c48c8454576014ef95d08476dc77da0f034c803b52584ed640e842a6fc030bea0f41806d8979ee2592e28a50f767f1bb98039bbc46a80bd367a342c3c5ae67942b79325c32999d71555d42772184f5921c3d031574a47f74769081e4a983a1a9fb7d673fb8833c92b5335c8f44f479f851c7c8031fef9082c001f6e4854ddcf6445178aaa97fa5057e4b5da0e7f03b122e6fa714033f9452af6fea15dd9c232d626411d33023736555020c7527a93c7cb9228efa1c0311e014aed928f399c7d19a49757381d7d5838f183784780a42ae8aecd2df3962032052853a20c38118bda6a10e52e8c9916d4e29eaf823a6e6ab87e6b1d046314503c7099f125331a72a81c956e3a1e1bfa84f12b0965b599190ffea3817fcd3c6a3036eaa5a2c2086fc652d887e40295eddfa5681e6734aab7d58db50a9bbed993e2503fce8892995a2113a3d88919ef6308f1e8896f1abe1d67ea7530c47887b2f3dc803f525a140ae9d36edb316318bd8f444fe243743705ccd2f9fb1fdd3e3b97a24420219ffff031e98efd32fc08b9d9665248a637831aa7d81f0d69e66300ba67c1c42bfafd4c30364748548559a2f76f7ea074508cdaccd191a907e1af91fb325671de9c1c88ab0038b841084b13df0781afcd08757eb46a811fafbed60630dfc4d468fef6eb70d9503cb373a5c895117722af7fdea592d01eb5fd6aea429ebdf2a55b2e60a747413cd03e7260cb1a74341c24c1d9d5fe17fbe02b3a5223f57b3a4b6653eab660b550da003a335bc4eb4ceca1d096c7f84108106605a7fe5f89ed573f70050524ed21ed95703047c82bcf65efea1ec0065066cbf061f9243c96b9e41a3083d30bcb7d27dc6a303d66c1a2db215887362527b3e4ce622a96fce67574c986c18db2939e52cccd9e203d90ed2c458a7fab96f8d0cf29f00209a7d6eb219f16bb0b379f0b1f1f9f4e7fb03b510daa74d6795e6dbecda7e469249669c7ab933be282186c78d2a22b93527f80219ffff03dab682bcc32423b671f865f330c278830544b6cb7b1d038a53fb9e297f4c5adb0320ae6d9441ea731faec97a57de7052bda9a6c1e9fc22780c6cce4ee783e57a40037ecaa9433bc84efa669e3110a059db7400f31a4d62064fc209c25f935f2fd92c03cb0d82cd9135d4f3fc5478bebb8c6efc9979f505a5f194237a762127cb31973a03ef2ffaaf38d89e90c5e306bafadfd2254bdbe99cb9caf9eaecfe45db7d67b8d3039bd24ed6fbe1ec9b9e69a740ee0d704f8c341455e25089cb086ec392b4988729031dd97f546a5bfd48e652357c96da689d55d85af0ffe9e6103d5dd25f49ba882a038d9971c78da92764f643e5c1c9cdb54159411fae6e68c92225f63061f9dba245037d2df61c304fe601983d26542ae60c47f7af34b7e55516c11a5c02e75d2c1b1d037204310ba9ccaa144a096cbafadad0128038da42a35b7c858f1d0121b4e1d2f9035bfbcb87ea7ac2943573798776b7de6ec066d1cc7355047e682bf2d427d60edd03c79e849b3b0f89a754f59a8970bed96e84b2ec2e0ae059d24193dc8e434362f003d2ba7dfe3ff89eef6fe50f5d6177a128a8c193d22757d52d96478d5f0635dc160362ed17d561b378f30696b4845229491dabab7c8ae39f234cc169977071aab48b032b58f23cde041eccc8e3f9dfdb1f512b14eb018bd4c6ae620d213d9a917f0c700327b3d7d9bbf05c8a5998c5fcecafb5054a1a8e8a5b46e69b410a70d0a3f6619203c1aa4cd58587db8df0881e6e54d63811ec749bf1ac28295fc578d353c8f964c5033c03d4daa74ca87f05ed6debe9f6f9db0923c8617e161e307ea26b3ab96b891f03bdf525fcb528c448e9e9f980629165d7c954cd98d3e2fc65995e0ab29a174e0d032ced40c381bf6e3a2fcc31129082fc157218cbe6ee2275084be26eaa6668c2ed035e0e09969afa90647c7eb174486fc0305233e35401d560b6d10476563052273603856e88c30a5acdb55d7f1a636b5857ef860ffca57cf4f85864e2e18d386f2c77032d055ebf8ae73605b3920a8fc94fb409f9fda5ccfe2d238a1e00079a4509550503317298adcdecde475021efd94362c2d4b78f1415ab168e73102bcefae699f5a603328bf21a6715b700accb6f176c943f8da8329a8c9f62bf407c6614cd5de0380d03004cda8345e57d5371113217122814d0314757e858e47f041d7b36eb05886a2f037a9a3b0b74948aadd4029ad3bc1eb4be2380a765289a13e4ff64e38a9e999b75036528faae767594fef3c8fff94146cd3c206f1eaccbfd09dd22d507718151cae303bf882404c88c0d4ca8044e73735dbafce9a14bbb3745814a77142eac2a356ea10354a98207456f335e45f44d266fa86d819c57d6f5b83433e9134746ccf1b290b903aed03f916b99c3d980db27abe0b74e3dfd15c4590c043b6109a3d93404ee7ec803a976ad427bb11ff801afb4cdb29ca52ad307ff96cbb783501ccf0a55a76721cd03c59251c05ed93503dc9b67e314a24cbf26f5b0cf2c517a826979ac49ac210ba5039ededeae377e123649dbf0839680c3c594546e92e98963ed9cffdb0aa18a3b2303b29b812c374d64bc4ad20f20546df6c74cf5b216007cc95071ac7b6ea9b6a60903e7e81c9a82c7f050a95f9abfa2d5a2b30e98923f006d0a92d74194fce2742baf033a108361bda42f51ab71c8c6b2f25fc6b3ee01a6396b9aa8499bc56500e0ba9f034c1d2bef84b8b3757ea2074e62b0d43fd3c2e11512945c894069e9df84a9b221030218181561a9b5edad6a489326184f24725358e140ab964a46c265e5ed142c0a03b0f3de3c7ec0fb18c40b670b740cfee3fe008b90748e44db31b60161b4b0ac0403d24d0cf4e78ac820e4b3862b2b7b9aaa8017f2522c4e62cb19341e6c8fbe06350366f8c21d1a308003eba48be118fa4e6f45132d4522d8b4a0b816cd8823b9e77505581e03e508282b8c45b4ffe367c6f3103ec6d0564c8e94dc31cc56e884a7a2f00c184447124bfd342792c005581e03c8e3896d30c673c8e98198e2c14f5d80341fcd2bc7b9558066511eee600c02460a0288b86c00030a123f2eccaaf1974866023c6e0ec3eeb9d889e1677178bb82cd386e82fc5fae05581e03516091067c0fc01e3474d3e1b23d2f8c2a4b1aa85ffa856c1ff44641f00c044701313679f3563703b35a865f40b5188a70326ea45094176853b6e38417f21c250f0621b2a830ebb604591b6a6080604052600436106100ec5760003560e01c80637131565e1161008a578063c18f278b11610059578063c18f278b146101db578063f43773e7146101e3578063f8ec05b5146101eb578063fa461e33146101f357610160565b80637131565e146101bb57806379afb727146101c3578063859b7571146101cb578063a27157d3146101d357610160565b80634428babe116100c65780634428babe146101905780635809d496146101a357806369ab289b146101ab5780636a81bd7d146101b357610160565b806309f8dc8e1461016257806310b3a7141461016a57806329ae0cf11461017257610160565b366101605734156101605773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b50505050505b005b610160610213565b610160610305565b61017a61059b565b6040516101879190611b16565b60405180910390f35b61016061019e366004611a57565b6107f5565b61016061083a565b6101606108e4565b610160610a3e565b610160610ae8565b610160610bf1565b610160610c9b565b610160610dda565b610160610f61565b61017a61122c565b610160611425565b3480156101ff57600080fd5b5061016061020e3660046119ad565b611678565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba161461024857600080fd5b60043560601c60183560801c60283560801c60383560601c604c3560f81c63a9059cbb60e01b607c52846080528360a0526000806044607c600073dac17f958d2ee523a2206206994597c13d831ec76113885a03f15063022c0d9f60e01b607c528080156102bd57600181146102cb576102d5565b83608052600060a0526102d5565b60006080528360a0525b505060c0525050608060e05260006101008190528060a4607c82856113885a03f190508061030257600380fd5b50565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba161461033a57600080fd5b60053560c01c60043560f81c6000805b8281101561055e5781600d013560f81c8060028114610370576003811461043557610554565b83600e013560601c846022013560601c856036013560801c866046013560801c876056013560601c88606a013560f81c605e8a01995063a9059cbb60e01b607c52856080528360a0526000806044607c6000896113885a03f15063022c0d9f60e01b607c528080156103e957600181146103f757610401565b83608052600060a052610401565b60006080528360a0525b505060c0525050608060e0525060006101008190528060a4607c82856113885a03f190508061042f57600380fd5b50610554565b83600e013560601c846022013560801c856032013560801c866042013560601c876056013560f81c886057013560601c89606b013560e81c8a606e013560601c60758c019b50630251596160e31b607c528460805283600081146104a057600181146104c6576104d9565b600060a0528760c05273fffd8963efd1fc6a506488495d951d5263988d2560e0526104d9565b600160a0528760c0526401000276a460e0525b506080610100526101209290925261014052610160526040607c610124816000896113885a03f194508461050c57600380fd5b80801561052057600181146105395761054d565b607c51600003955085841061053457600380fd5b61054d565b609c51600003955085841061054d57600380fd5b5050505050505b505060010161034a565b505060405141915067ffffffffffffffff831680156108fc02916000818181858888f19350505050158015610597573d6000803e3d6000fd5b5050565b6000336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba16146105d257600080fd5b60005a905060043560f81c6000805b828110156107ea57816005013560f81c806002811461060757600381146106cc576107e0565b836006013560601c84601a013560601c85602e013560801c86603e013560801c87604e013560601c886062013560f81c605e8a01995063a9059cbb60e01b607c52856080528360a0526000806044607c6000896113885a03f15063022c0d9f60e01b607c52808015610680576001811461068e57610698565b83608052600060a052610698565b60006080528360a0525b505060c0525050608060e0525060006101008190528060a4607c82856113885a03f19050806106c657600380fd5b506107e0565b836006013560601c84601a013560801c85602a013560801c86603a013560601c87604e013560f81c88604f013560601c896063013560e81c8a6066013560601c60758c019b50630251596160e31b607c52846080528360008114610737576001811461075d57610770565b600060a0528760c05273fffd8963efd1fc6a506488495d951d5263988d2560e052610770565b600160a0528760c0526401000276a460e0525b506080610100526101209290925261014052610160526040607c610124816000896113885a03f1508080156107ac57600181146107c5576107d9565b607c5160000395508584106107c057600380fd5b6107d9565b609c5160000395508584106107d957600380fd5b5050505050505b50506001016105e1565b5050505a9003919050565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba161461082a57600080fd5b6108358282856116e9565b505050565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba161461086f57600080fd5b60043560601c60183560801c60283560801c60383560601c604c3560f81c63a9059cbb60e01b607c52846080528360a0526000806044607c600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26113885a03f15063022c0d9f60e01b607c528080156102bd57600181146102cb576102d5565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba161461091957600080fd5b60043560601c60183560601c602c3560801c603c3560801c604c3560601c60603560f81c63a9059cbb60e01b607c52856080528360a0526000806044607c6000896113885a03f150630240bc6b60e21b607c526040607c6004607c60008a6113885a03f15080801561099257600181146109d257610a10565b607c51609c516103e8026103e587810291909101918702020495508584106109b957600380fd5b63022c0d9f60e01b607c5285608052600060a052610a10565b607c51609c516103e89091026103e587810291909101918702020495508584106109fb57600380fd5b63022c0d9f60e01b607c5260006080528560a0525b505060c0525050608060e0525060006101008190528060a4607c82856113885a03f190508061030257600380fd5b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba1614610a7357600080fd5b60043560601c60183560801c60283560801c60383560601c604c3560f81c63a9059cbb60e01b607c52846080528360a0526000806044607c6000736b175474e89094c44da98b954eedeac495271d0f6113885a03f15063022c0d9f60e01b607c528080156102bd57600181146102cb576102d5565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba1614610b1d57600080fd5b60043560f81c6000805b8281101561083557816005013560601c826019013560601c83602d013560801c84603d013560801c85604d013560601c866061013560f81c605d8801975063a9059cbb60e01b607c52856080528360a0526000806044607c6000896113885a03f15063022c0d9f60e01b607c52808015610ba85760018114610bb657610bc0565b83608052600060a052610bc0565b60006080528360a0525b505060c0525050608060e0525060008060a4607c82856113885a03f1905080610be857600380fd5b50600101610b27565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba1614610c2657600080fd5b60043560601c60183560801c60283560801c60383560601c604c3560f81c63a9059cbb60e01b607c52846080528360a0526000806044607c600073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486113885a03f15063022c0d9f60e01b607c528080156102bd57600181146102cb576102d5565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba1614610cd057600080fd5b60043560601c60183560801c60283560801c60383560601c604c3560f81c604d3560601c60613560e81c60643560601c630251596160e31b607c52846080528360008114610d255760018114610d4b57610d5e565b600060a0528760c05273fffd8963efd1fc6a506488495d951d5263988d2560e052610d5e565b600160a0528760c0526401000276a460e0525b506080610100526101209290925261014052610160526040607c610124816000896113885a03f1945084610d9157600380fd5b808015610da55760018114610dbe57610dd2565b607c516000039550858410610db957600380fd5b610dd2565b609c516000039550858410610dd257600380fd5b505050505050565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba1614610e0f57600080fd5b60043560f81c6000805b8281101561083557816005013560601c826019013560601c83602d013560801c84603d013560801c85604d013560601c866061013560f81c605d8801975063a9059cbb60e01b607c52856080528360a0526000806044607c6000896113885a03f150630240bc6b60e21b607c526040607c6004607c60008a6113885a03f150808015610eac5760018114610eec57610f2a565b607c51609c516103e8026103e58781029190910191870202049550858410610ed357600380fd5b63022c0d9f60e01b607c5285608052600060a052610f2a565b607c51609c516103e89091026103e58781029190910191870202049550858410610f1557600380fd5b63022c0d9f60e01b607c5260006080528560a0525b505060c0525050608060e0525060006101008190528060a4607c82856113885a03f1905080610f5857600380fd5b50600101610e19565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba1614610f9657600080fd5b60043560f81c6000805b8281101561083557816005013560f81c8060028114610fc6576003811461110357611222565b836006013560601c84601a013560601c85602e013560801c86603e013560801c87604e013560601c886062013560f81c605e8a01995063a9059cbb60e01b607c52856080528360a0526000806044607c6000896113885a03f150630240bc6b60e21b607c526040607c6004607c60008a6113885a03f1508080156110515760018114611091576110cf565b607c51609c516103e8026103e5878102919091019187020204955085841061107857600380fd5b63022c0d9f60e01b607c5285608052600060a0526110cf565b607c51609c516103e89091026103e587810291909101918702020495508584106110ba57600380fd5b63022c0d9f60e01b607c5260006080528560a0525b505060c0525050608060e0525060006101008190528060a4607c82856113885a03f19050806110fd57600380fd5b50611222565b836006013560601c84601a013560801c85602a013560801c86603a013560601c87604e013560f81c88604f013560601c896063013560e81c8a6066013560601c60758c019b50630251596160e31b607c5284608052836000811461116e5760018114611194576111a7565b600060a0528760c05273fffd8963efd1fc6a506488495d951d5263988d2560e0526111a7565b600160a0528760c0526401000276a460e0525b506080610100526101209290925261014052610160526040607c610124816000896113885a03f19450846111da57600380fd5b8080156111ee57600181146112075761121b565b607c51600003955085841061120257600380fd5b61121b565b609c51600003955085841061121b57600380fd5b5050505050505b5050600101610fa0565b6000336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba161461126357600080fd5b60005a905060043560f81c6000805b828110156107ea57816005013560f81c806002811461129857600381146113525761141b565b836006013560601c84601a013560601c85602e013560801c86603e013560801c87604e013560601c886062013560f81c605e8a01995063a9059cbb60e01b607c52856080528360a0526000806044607c6000896113885a03f15063022c0d9f60e01b607c52808015611311576001811461131f57611329565b83608052600060a052611329565b60006080528360a0525b505060c0525050608060e0525060006101008190528060a4607c82856113885a03f1505061141b565b836006013560601c84601a013560801c85603a013560601c86604e013560f81c87604f013560601c886063013560e81c896066013560601c60758b019a50630251596160e31b607c528460805283600081146113b557600181146113db576113ee565b600060a0528660c05273fffd8963efd1fc6a506488495d951d5263988d2560e0526113ee565b600160a0528660c0526401000276a460e0525b506080610100526101209290925261014052610160526040607c610124816000886113885a03f150505050505b5050600101611272565b336001600160a01b037f000000000000000000000000315d2ee4fccda0def532ef4108ff57204f8d9eba161461145a57600080fd5b60043560f81c6000805b8281101561083557816005013560f81c806002811461148a576003811461154f5761166e565b836006013560601c84601a013560601c85602e013560801c86603e013560801c87604e013560601c886062013560f81c605e8a01995063a9059cbb60e01b607c52856080528360a0526000806044607c6000896113885a03f15063022c0d9f60e01b607c5280801561150357600181146115115761151b565b83608052600060a05261151b565b60006080528360a0525b505060c0525050608060e0525060006101008190528060a4607c82856113885a03f190508061154957600380fd5b5061166e565b836006013560601c84601a013560801c85602a013560801c86603a013560601c87604e013560f81c88604f013560601c896063013560e81c8a6066013560601c60758c019b50630251596160e31b607c528460805283600081146115ba57600181146115e0576115f3565b600060a0528760c05273fffd8963efd1fc6a506488495d951d5263988d2560e0526115f3565b600160a0528760c0526401000276a460e0525b506080610100526101209290925261014052610160526040607c610124816000896113885a03f194508461162657600380fd5b80801561163a576001811461165357611667565b607c51600003955085841061164e57600380fd5b611667565b609c51600003955085841061166757600380fd5b5050505050505b5050600101611464565b6000806000838060200190518101906116919190611933565b92509250925060006116a484838561182e565b905060008088136116b557866116b7565b875b905063a9059cbb60e01b607c52816080528060a0526040607c610124607c6000896113885a03f1505050505050505050565b600080846001600160a01b031663a9059cbb60e01b8585604051602401611711929190611ac6565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090941693909317909252905161177c9190611a8d565b6000604051808303816000865af19150503d80600081146117b9576040519150601f19603f3d011682016040523d82523d6000602084013e6117be565b606091505b50915091508180156117e85750805115806117e85750808060200190518101906117e89190611986565b611827576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181e90611adf565b60405180910390fd5b5050505050565b60008061183c85858561187b565b905061185c731f98431c8ad98523631ae4a59f267346ea31f984826118a3565b9150336001600160a01b0383161461187357600080fd5b509392505050565b611883611913565b61188d8484611903565b9082526020820152604081019190915292915050565b6040805174ff00000000000000000000000000000000000000009390931760005260609091206020527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5481526055600b209190526001600160a01b031690565b8181108282180291821892911890565b604080516060810182526000808252602082018190529181019190915290565b600080600060608486031215611947578283fd5b835161195281611b1f565b602085015190935062ffffff8116811461196a578283fd5b604085015190925061197b81611b1f565b809150509250925092565b600060208284031215611997578081fd5b815180151581146119a6578182fd5b9392505050565b6000806000606084860312156119c1578283fd5b833592506020808501359250604085013567ffffffffffffffff808211156119e7578384fd5b818701915087601f8301126119fa578384fd5b813581811115611a0657fe5b604051601f8201601f1916810185018381118282101715611a2357fe5b60405281815283820185018a1015611a39578586fd5b81858501868301378585838301015280955050505050509250925092565b600080600060608486031215611a6b578283fd5b833592506020840135611a7d81611b1f565b9150604084013561197b81611b1f565b60008251815b81811015611aad5760208186018101518583015201611a93565b81811115611abb5782828501525b509190910192915050565b6001600160a01b03929092168252602082015260400190565b60208082526002908201527f5354000000000000000000000000000000000000000000000000000000000000604082015260600190565b90815260200190565b6001600160a01b038116811461030257600080fdfea264697066735822122086bf124043b577a1cc4478524c6b61d9a7b0fe6cc9fc7c2f009066757146b22364736f6c634300070600330605581e031300987e7d811cf5b06177c58349f787a669a697f82d547e92da10a0b00701191b6a05581e03132b032e2f0b9a13e652f5ffcb25feeb9cebcedb5860b2e87ead08e4300c014667b3d6ea01b80219365f03cd7c473479a55e709efb247821e878189187b73589ddc9744d5a4f66971dde8b033e94456ea512623d820cc64b3274b29964870bbd789c6da21535bd7388545941035b5f483ae7916f649cec89757382ec9513bba23bdae4a990593cc621be4e627c0219ffff03f05df9a44421c3578005a5c3e6da06a3499e6e291e077a646a0087c1845b1ed503505762424b4c749f884ad97e4f31e6e4020d191715de797be9fd02029ad7c9230346990a4faf923547c23bdfaca22c0503930f649d085694ba868d1694ea996a6a036326b03294ff3ede40d168da0413aad3b75b619104686dcd418e9d2a834d409703ffff2a84e6295e7bfa89c056dcbb49e489c80f3335fb84051bf6a223fda49d9803f3b28c71e0966587ca772f1253bff42df797cbbc2ea9d7ad3785ef8f5fac786303819c43b2f46968f785e793537e090167846aa0c37b626a4c060f009cd0953149032d616b22db4383472e779bbf846112faf4e6c4c15e239b4466851f48747fa74c038e386eea11c9e58adbf3587ec3efd730dcb9a3f8b1974cdd4ad3e8f6f323a312039714a97a1977eb17e44d0da54a4b71bfbbeb33097a2761f3a1a3f8c1fed34ccd03ece00f13e8d2ec862b61123fd7347223c1395b6f40f04f39270f68363b46280a0219ffff0219ffff03a0c27f39300310e29da8e6d58da7a53530be5327c2fea0640a0cf663ee4ac5710321b32a9af7bbfa532624eb7126556327acc0114dc22eff268a3ab8a9d809855603701408ee608704184b9bf6f73d8d870eaf84072c83448af2d974d92ca35c3c2a031657bb098635a56e1bb41b3faf222d150df4276b018d58b25dbc6e9a920d694f03f40fb69eb316c091b9c726d1a045345e491d4524b2ebb4b7ccb27b9bb71f7eb60325580769c65fd47b1f40290cabf3f8887848ca9bf8fc22b74e4596dba1d9be020374af50f3f654e3e9deea9b461d5f46c6c3be9943a16763bc9aeb2c6a41ef66a60219ffff03e7edba52fc203df1a35af9408d3cbaea1376a13c83fd4beac5d3eb53b0b4faf303870b497c0cd65ae4092a3204c57df18bc21ef6e62ca378b30afaebd511cf78560373fdc1e3bfa617b2e0e6c21eafe1b7d4a1352b49c7c49ac6186a27b38251574e03269b9ba8478274c26b51811787a5fba41add0a77d2d07e239a75e00368b549b603d691b85fa983109c122fbd05a2047c005981508ac0e4b8a524b18e4f77ef46a6037c28af70f9d4915b7efe6a2a69a55807a3ac9b03ce034eac5a4480c326084792036bdee04a0f5f0fbd3084eee0262f7eca017871e6b9a9c2468feb542a5869d598033ec31646e2274f5c6c536f4f20eaba5a6432a8b9c27befdd631f86548b2bf60f03b74822ff2990e29092b1389f476088d540adb6fb69101cd67a2d31c7465aaad6031d85979bbce0054ef2c67d760b2edda45c281768d06d09c43e72d0de576bd1b403f8633d92fe0862d54572773e01cb77b00e8fe98af508613d9324cc192fd9a2920373a1962100ca6c4412b07519433df35a066e41df9075ad3405d2e2736d02cc24030fc8067e50b53ece4db94d06813040c09c9ed5ff3eb0aea495c388ba7b3975ff0346983358b1c536ba6e8014a309015294a5db8a0cae2dcd5fd14802dc3c453d310384c463a43ac07fa97ac0acfe517acf9de6f986d2d7a59f50b46ca5c0ecee0e7b032749ec628a07a36a100d813c7e64eb3f655da28d708f2b806704956a307d4759031064a771723e59d89e4d964c12ec504c42abc935f44ad2df926f2b646fb34636039ec5b8030de60ea07897d972d0fe78b67d35c177fceeea92b5d9eae02b05ecb403abf51feda3d56d307665fbe73d90ecf4626f6dc770f994376fa96518ae9a70aa03946c344a7ea8c2d376d57f16f800269404ac732de86a28aec09c181fa32ac2b503cadf78d3dc1c1d5aaf2337bd689e704d154d2a0b1459e2902115fe5e2eb5af2203ad286b7d17471737793644862da4ebcebfd8d0a1f034602f8b9101403d3a30dc03bf16e20707de9c4760277bfc3a538884652692d19c8e43c33a0977f401684feb03c121eee481f7db3c416f915d97d76140e5ba39cba2b2aab0d3ac6781e985fdf7039c22612b6491301e89e9c9bc328034c109bad3f01c7351d5320c98d60608dc0103356816f097059b134bb1acb53331d026d8d25fc90eb41afc8e85681b25d1764d0314a8a2c16dc06374a7eb7ec9e83856586d44720a30b60dc6b287026299b8c4100335f7857e4499f7a6b8588ffd91facd59164e9d22a8179169e91305f6b0e38c910309f40a12d6786c29d1ff8bfaf6bef4865f6eebb96104a5bab6b0e06ebf7036ef03e0027fc24d2bf3017b8182a91f42f6c0d386f2632cce563013e853cf4c15416f0310775198e83c93b2465694d541823d0b28acc8ecfe404db5cf3ef21fcceb6d6b0328ccaa6b2743ee45bdb4597d27b374ef83ff8c679ea93c15b5ce56aea1c5aae705581e03b77eb9d294eec42a1b03a157aa00312465788478aa4ecb422707c84fc0040305581e03ea660c97128dfda45e278af58372c6d423d6986f2104f5ba6813d7e030040105581e03e1cc7cae2d1f9c054ba33736c5d3bd259a84374ed17a5eab5cd9cfc490040205581e03f800b31e1f08b9b1dce074e296ddf1dc32b04254c3e04fb80432e96f90040603562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03b6739cc2cf626e2e5bd822cd536ddc157f151de3e46d02f61190ac36b007011bffffffffffffffff05581e03a66564b2e922fad58f958cc9777752e02bb01140dc6245708f30d2a0800c01461c5fbed968b005581e03d484e3af574578e993a6cdcf5098ad0b057c624519d1495e75f2df87f004030370ad4b67983a7155fe3bebdb663903770c4e05bd23671cb1fe7bab63ceba31f6038cbdbb5211ce4aa63cddd1860bb28c0c184b10e2ccc7c47f1cff10164577c25805581e03694d97039addafc75b9210ef884eddee9a16d6c5fe7cd3cafc935fdc3007011bffffffffffffffff03e8f00f41e5220ea915d4cd7dda93da0e29ab136b9ca4be1f5eb69f4ca1960d23032b2db7671fa9532f7ed0182aa9ae42baa31c73a9c5008ddbb85f61f5c04cc92605581e03347e6f6503961b70ad30ef98620c48b46e9a3241a0ef84b1bb60b390a00c1822463f1aa692d4fc0459551d6003361161000c576129bd565b5f3560e01c635b41b9088118610033576084361061534c575f610aa05233610ac052610091565b63394747c5811861005f5760a4361061534c576084358060011c61534c57610aa05233610ac052610091565b63ce7d650381186100dd5760c4361061534c576084358060011c61534c57610aa05260a4358060a01c61534c57610ac0525b5f5460021461534c5760025f556020336105e05234610600526080600461062037610aa0516106a052610ac0516106c0526040366106e0376100d4610ae0613cbd565b610ae060035f55f35b6365b2489b81186100fa576084361061534c5733610aa05261011d565b63e2ad025a81186101675760a4361061534c576084358060a01c61534c57610aa0525b5f5460021461534c5760025f556020336105e0523461060052608060046106203760016106a052610aa0516106c0526040366106e03761015e610ac0613cbd565b610ac060035f55f35b634515cef38118610189576084361061534c575f6105e05233610600526101e7565b632b6e993a81186101b55760a4361061534c576084358060011c61534c576105e05233610600526101e7565b635cecb5f781186109a75760c4361061534c576084358060011c61534c576105e05260a4358060a01c61534c57610600525b5f5460021461534c5760025f556101ff610660612d41565b61066080516106205260208101516106405250600b5461066052600c5461068052600d546106a052610120366106c03760043560243580820182811061534c579050905060443580820182811061534c57905090501561534c5760015460405261026a610840612e9a565b61084080516107e05260208101516108005260408101516108205250600354610840526108405160405261029f6108a0612ed6565b6108a080516108605260208101516108805250610660516108a052610680516108c0526106a0516108e0525f6003905b8061090052610900516002811161534c5760051b6106600151610900516002811161534c5760051b6004013580820182811061534c57905090506109205261092051610900516002811161534c5760051b610660015261092051610900516002811161534c57600b01556001018181186102cf575050610660516107205261068051610740526106a05161076052610660516107e05180820281158383830414171561534c5790509050610660526108a0516107e05180820281158383830414171561534c57905090506108a052600160028101905b8061090052670de0b6b3a7640000610900516002811161534c5760051b6106600151610900516001810381811161534c5790506001811161534c5760051b610860015180820281158383830414171561534c5790509050610900516002811161534c5760051b6107e0015180820281158383830414171561534c579050905004610900516002811161534c5760051b6106600152670de0b6b3a7640000610900516002811161534c5760051b6108a00151610900516002811161534c5760051b6107e00151610900516001810381811161534c5790506001811161534c5760051b61086001510280820281158383830414171561534c579050905004610900516002811161534c5760051b6108a001526001018181186103a55750505f6003905b8061090052610900516002811161534c5760051b600401351561060457602061535d5f395f516020610900516002811161534c5760051b60400161535d015f395f511861056a576020610900516002811161534c5760051b60400161535d015f395f51604052610900516002811161534c5760051b600401356060525f6080523460a05260403660c03733610100525f610120526105e051610140526105b9612a10565b6020610900516002811161534c5760051b60400161535d015f395f51604052610900516002811161534c5760051b600401356060526080366080373361010052604036610120376105b9612a10565b610900516002811161534c5760051b6106600151610900516002811161534c5760051b6108a0015180820382811161534c5790509050610900516002811161534c5760051b6106c001525b6001018181186104c657505042600a541161062557600e546107c052610690565b602061537d5f395f51637b12e00961090052610620516109205261064051610940526108a051610960526108c051610980526108e0516109a0525f6109c052602061090060c461091c845afa61067d573d5f5f3e3d5ffd5b60203d1061534c576109009050516107c0525b602061537d5f395f51637b12e00961092052610620516109405261064051610960526106605161098052610680516109a0526106a0516109c0525f6109e052602061092060c461093c845afa6106e8573d5f5f3e3d5ffd5b60203d1061534c5761092090505161090052601954610920526107c0511561075257610920516109005180820281158383830414171561534c57905090506107c051801561534c57808204905090506109205180820382811161534c57905090506107805261076d565b6109005160405261076461094061444a565b61094051610780525b610780511561534c576107c0511561088e576106c0516101e0526106e051610200526107005161022052610660516102405261068051610260526106a051610280526107ba610940614537565b610940516107805180820281158383830414171561534c57905090506402540be400810490506001810181811061534c5790506107a052610780516107a05180820382811161534c579050905061078052610920516107805180820182811061534c579050905061092052610600516040526107805160605261083e610940614662565b610940506106205160e0526106405161010052610660516101205261068051610140526106a0516101605261090051610180525f6101a05261088161094061309d565b61094051610840526108d7565b61090051600e55670de0b6b3a7640000601155670de0b6b3a7640000600f55670de0b6b3a764000060105561060051604052610780516060526108d2610940614662565b610940505b606435610780511015610949576008610940527f536c6970706167650000000000000000000000000000000000000000000000006109605261094050610940518061096001601f825f031636823750506308c379a061090052602061092052601f19601f61094051011660440161091cfd5b610600517fe1b60455bd9e33720b547f60e4e0cfbf1252d0f2ee0147d53029945f39fe3c1a60606004610940376107a0516109a052610920516109c052610840516109e05260c0610940a261099c6148a6565b602061078060035f55f35b6317e26cd181186109c9573461534c57602061535d5f395f5160405260206040f35b63ed6c154681186109eb573461534c57602061537d5f395f5160405260206040f35b63c66106578118610a27576024361061534c573461534c5760206004356002811161534c5760051b60400161535d015f395f5160405260206040f35b63c45a01558118610a43573461534c5760025460405260206040f35b636112c7478118610a5f573461534c5760065460405260206040f35b63204fe3d58118610a7b573461534c5760075460405260206040f35b63e89876ff8118610a97573461534c5760085460405260206040f35b63f30cfad58118610ab3573461534c5760095460405260206040f35b63f9ed95978118610acf573461534c57600a5460405260206040f35b634903b0d18118610aff576024361061534c573461534c576004356002811161534c57600b015460405260206040f35b630f529ba28118610b1b573461534c57600e5460405260206040f35b637ba1a74d8118610b37573461534c57600f5460405260206040f35b630b7b594b8118610b53573461534c5760105460405260206040f35b630c46b72a8118610b6f573461534c5760115460405260206040f35b633dd654788118610b8b573461534c5760125460405260206040f35b63e36164058118610ba7573461534c5760145460405260206040f35b634469ed148118610bc6573461534c5764012a05f20060405260206040f35b63405e28f88118610be2573461534c5760165460405260206040f35b6306fdde038118610c3d573461534c576020806040528060400160206153fd5f395f51602082018161541d823950808252508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6395d89b418118610c9d573461534c5760208060405280604001602061545d5f395f5160208201602061547d5f395f51815250808252508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63313ce5678118610cb8573461534c57601260405260206040f35b6354fd4d508118610d3c573461534c5760208060805260066040527f76322e302e30000000000000000000000000000000000000000000000000000060605260408160800181516020830160208301815181525050808252508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f35b6370a082318118610d7a576024361061534c576004358060a01c61534c576040523461534c5760176040516020525f5260405f205460605260206060f35b63dd62ed3e8118610dd5576044361061534c576004358060a01c61534c576040526024358060a01c61534c576060523461534c5760186040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b6318160ddd8118610df1573461534c5760195460405260206040f35b637ecebe008118610e2f576024361061534c576004358060a01c61534c576040523461534c57601a6040516020525f5260405f205460605260206060f35b63bfa0b1338118610e51573461534c5760206154dd5f395f5160405260206040f35b63dd96994f8118610ef357610104361061534c576084358060011c61534c57610aa05260a4358060a01c61534c57610ac05260c4358060a01c61534c57610ae0523461534c575f5460021461534c5760025f5560e4351561534c576020610ac0516105e0525f610600526080600461062037610aa0516106a052610ae0516106c052336106e05260e43561070052610eea610b00613cbd565b610b0060035f55f35b63ecb586a58118610f1b576084361061534c575f610400523361042052600161044052610fca565b63fce647368118610f4d5760a4361061534c576084358060011c61534c57610400523361042052600161044052610fca565b631da3d2388118610f895760c4361061534c576084358060011c61534c576104005260a4358060a01c61534c5761042052600161044052610fca565b635cd3478081186112ab5760e4361061534c576084358060011c61534c576104005260a4358060a01c61534c576104205260c4358060011c61534c57610440525b3461534c575f5460021461534c5760025f5560043561046052600b5461048052600c546104a052600d546104c0526060366104e0376104405115611010576110106148a6565b601954610540523360405260043560605261102c610560614c09565b61056050610540516104605118611091575f6003905b8061056052610560516002811161534c5760051b6104800151610560516002811161534c5760051b6104e001525f610560516002811161534c57600b01556001018181186110425750506111a8565b610460516001810381811161534c579050610460525f6003905b8061056052610560516002811161534c5760051b61048001516104605180820281158383830414171561534c579050905061054051801561534c5780820490509050610560516002811161534c5760051b6104e00152610560516002811161534c5760051b60240135610560516002811161534c5760051b6104e001511061534c57610560516002811161534c5760051b6104800151610560516002811161534c5760051b6104e0015180820382811161534c5790509050610560516002811161534c57600b0155610560516002811161534c5760051b6104e00151610560516002811161534c5760051b61048001526001018181186110ab5750505b600e54610560526105605161054051610560516104605180820281158383830414171561534c57905090500480820382811161534c5790509050600e555f6003905b80610580526020610580516002811161534c5760051b60400161535d015f395f51604052610580516002811161534c5760051b6104e00151606052610400516080526104205160a05261123b612c4a565b6001018181186111ea575050337fd6cc314a0b1e3b2579f8e64248e82434072e8271290eef8ad0886709304195f561048051610580526104a0516105a0526104c0516105c0526105405160043580820382811161534c57905090506105e0526080610580a260606104e060035f55f35b63f1dc3cc981186112cd576064361061534c575f61066052336106805261132b565b638f15b6b581186112f9576084361061534c576064358060011c61534c5761066052336106805261132b565b6307329bcd81186115545760a4361061534c576064358060011c61534c57610660526084358060a01c61534c57610680525b3461534c575f5460021461534c5760025f556113486106e0612d41565b6106e080516106a05260208101516106c0525060e0366106e03761136a6148a6565b6106a0516101e0526106c05161020052604060046102203742600a5411610260526113966107c0614c7b565b6107c080516106e052602081015161070052604081018051610740526020810151610760526040810151610780525060a08101516107a052506044356106e05110156114415760086107c0527f536c6970706167650000000000000000000000000000000000000000000000006107e0526107c0506107c051806107e001601f825f031636823750506308c379a06107805260206107a052601f19601f6107c051011660440161079cfd5b6024356002811161534c57600b0180546106e05180820382811161534c57905090508155503360405260043560605261147b6107c0614c09565b6107c05060206024356002811161534c5760051b60400161535d015f395f516040526106e051606052610660516080526106805160a0526114ba612c4a565b6106a05160e0526106c0516101005261074051610120526107605161014052610780516101605261070051610180525f6101a0526114f96107e061309d565b6107e0516107c052337fe200e24d4a4c7cd367dd9befe394dc8a14e6d58c88ff5e2f512d65a9e0aa9c5c604060046107e0376106e051610820526107a051610840526107c0516108605260a06107e0a260206106e060035f55f35b63c93f49e8811861157f573461534c575f5460021461534c5760025f556115796148a6565b60035f55005b6323b872dd811861164e576064361061534c576004358060a01c61534c5760c0526024358060a01c61534c5760e0523461534c57601860c0516020525f5260405f2080336020525f5260405f20905054610100527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010051146116275760c051604052336060526101005160443580820382811161534c57905090506080526116276151c1565b60c05160405260e051606052604435608052611641615216565b6001610120526020610120f35b63a9059cbb8118611697576044361061534c576004358060a01c61534c5760c0523461534c573360405260c05160605260243560805261168c615216565b600160e052602060e0f35b63095ea7b381186116e0576044361061534c576004358060a01c61534c5760c0523461534c573360405260c0516060526024356080526116d56151c1565b600160e052602060e0f35b63395093518118611795576044361061534c576004358060a01c61534c5760c0523461534c576018336020525f5260405f208060c0516020525f5260405f2090505460e05260243560e051016101005260e051610100511015611763577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100525b60e0516101005114611788573360405260c051606052610100516080526117886151c1565b6001610120526020610120f35b63a457c2d7811861182a576044361061534c576004358060a01c61534c5760c0523461534c576018336020525f5260405f208060c0516020525f5260405f2090505460e05260243560e05103610100526101005160e05110156117f8575f610100525b60e051610100511461181d573360405260c0516060526101005160805261181d6151c1565b6001610120526020610120f35b63d505accf81186119e75760e4361061534c576004358060a01c61534c57610120526024358060a01c61534c57610140526084358060081c61534c57610160523461534c57610120511561534c57606435421161534c57601a610120516020525f5260405f2054610180525f60026101c0527f19010000000000000000000000000000000000000000000000000000000000006101e0526101c08051602082018361032001815181525050808301925050506118e76102006152ad565b610200518161032001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c961024052610120516102605261014051610280526044356102a052610180516102c0526064356102e05260c061022052610220805160208201209050816103200152602081019050806103005261030090508051602082012090506101a052610120516101a0516101c052610160516101e052604060a46102003760205f60806101c060015afa505f511861534c5760016101805101601a610120516020525f5260405f205561012051604052610140516060526044356080526119da6151c1565b60016101c05260206101c0f35b63cab4d3db8118611a37573461534c57602060025463cab4d3db604052602060406004605c845afa611a1b573d5f5f3e3d5ffd5b60203d1061534c576040518060a01c61534c5760805260809050f35b633883e1198118611ae2576084361061534c576064358060011c61534c576040523461534c5760025463e31593d8608052602060806004609c845afa611a7f573d5f5f3e3d5ffd5b60203d1061534c576080518060a01c61534c5760c05260c09050516060526020606051638585c4b16080526060600460a0376040516101005230610120526020608060a4609c845afa611ad4573d5f5f3e3d5ffd5b60203d1061534c5760809050f35b63556d6e9f8118611b77576064361061534c573461534c5760025463e31593d8606052602060606004607c845afa611b1c573d5f5f3e3d5ffd5b60203d1061534c576060518060a01c61534c5760a05260a09050516040526020604051633bb1f8c1606052606060046080373060e052602060606084607c845afa611b69573d5f5f3e3d5ffd5b60203d1061534c5760609050f35b6337ed3a7a8118611c0c576064361061534c573461534c5760025463e31593d8606052602060606004607c845afa611bb1573d5f5f3e3d5ffd5b60203d1061534c576060518060a01c61534c5760a05260a090505160405260206040516399bf0b76606052606060046080373060e052602060606084607c845afa611bfe573d5f5f3e3d5ffd5b60203d1061534c5760609050f35b6354f0f7d58118611ce1573461534c575f5460021461534c57600454604052611c36610120612ed6565b610120805160e052602081015161010052506011546003810281600382041861534c579050602061537d5f395f5163f42c56c26101205260e0516101005180820281158383830414171561534c5790509050610140526020610120602461013c845afa611ca5573d5f5f3e3d5ffd5b60203d1061534c5761012090505180820281158383830414171561534c579050905069d3c21bcecceda100000081049050610160526020610160f35b63bb7b8b808118611d48573461534c575f5460021461534c57600e54604052611d0b61016061444a565b61016051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050601954801561534c5780820490509050610180526020610180f35b63687276538118611f72576024361061534c573461534c575f5460021461534c57600454604052611d7a610100612ed6565b6101006004356001811161534c5760051b810190505160e052600354604052611da4610120612ed6565b6101206004356001811161534c5760051b8101905051610100526006546101205242610120511015611f6b57600554604052611de1610160612ed6565b6101606004356001811161534c5760051b810190505161014052601254604052611e0c610180612e9a565b6101806040810190505161016052602061537d5f395f516381d18d876101a052426101205180820382811161534c5790509050670de0b6b3a7640000810281670de0b6b3a764000082041861534c57905061016051801561534c57808204905090508060ff1c61534c577f8000000000000000000000000000000000000000000000000000000000000000811461534c575f036101c05260206101a060246101bc845afa611ebc573d5f5f3e3d5ffd5b60203d1061534c576101a09050516101805261014051610100518060011b818160011c1861534c579050808281188284100218905090506101805180670de0b6b3a764000003670de0b6b3a7640000811161534c57905080820281158383830414171561534c579050905060e0516101805180820281158383830414171561534c579050905080820182811061534c5790509050670de0b6b3a7640000810490506101a05260206101a0611f70565b602060e05bf35b63591890178118611fb2576024361061534c573461534c576020600554604052611f9c60e0612ed6565b60e06004356001811161534c5760051b81019050f35b63a3f7cdd58118611ff2576024361061534c573461534c576020600354604052611fdc60e0612ed6565b60e06004356001811161534c5760051b81019050f35b63ddca3f438118612050573461534c57602061200f6101e0614780565b6101e080516102605260208101516102805260408101516102a0525061026051606052610280516080526102a05160a05261204b610240612f37565b610240f35b634fb08c5e81186120d1576044361061534c573461534c576020612075610660612d41565b61066080516107605260208101516107805250604060046107a03742600a54116107e052610760516101e05261078051610200526107a051610220526107c051610240526107e051610260526120cc6106a0614c7b565b6106a0f35b63cde699fa811861210b5760c4361061534c573461534c576020606060046101e0376060606461024037612106610340614537565b610340f35b63f446c1d0811861212d573461534c576020612128610120612d41565b610120f35b63b13739298118612155573461534c57602061214a610120612d41565b610120602081019050f35b6392526c0c811861217b573461534c5760206014546040526121776060612e9a565b6060f35b63ee8de67581186121a7573461534c57602060145460405261219d6060612e9a565b6060602081019050f35b6372d4f0e281186121d3573461534c5760206014546040526121c96060612e9a565b6060604081019050f35b6349fe9e7781186121f9573461534c5760206012546040526121f56060612e9a565b6060f35b63083812e58118612225573461534c57602060125460405261221b6060612e9a565b6060602081019050f35b6309c3da6a8118612270573461534c576012546040526122456060612e9a565b6060604081019050516102b68102816102b682041861534c5790506103e88104905060c052602060c0f35b633620604b8118612296573461534c5760606001546040526122926060612e9a565b6060f35b63572e562581186122c7576064361061534c573461534c576020606060046060376122c26101e0612f37565b6101e0f35b633644e51581186122e9573461534c5760206122e46101206152ad565b610120f35b635e248072811861252a576064361061534c573461534c5760025463f851a440610120526020610120600461013c845afa612326573d5f5f3e3d5ffd5b60203d1061534c57610120518060a01c61534c5761016052610160905051331861534c576008546201517f810181811061534c57905042111561534c574262015180810181811061534c5790506001810381811161534c579050604435111561534c57612394610160612d41565b610160805161012052602081015161014052506101205160801b6101605261014051610160511761016052610a8c6004351061534c57631017df806004351161534c576402540be4006024351061534c5766b1a2bc2ec500006024351161534c57600435670de0b6b3a7640000810281670de0b6b3a764000082041861534c57905061012051801561534c578082049050905061018052678ac7230489e80000610180511161534c5767016345785d8a0000610180511061534c57602435670de0b6b3a7640000810281670de0b6b3a764000082041861534c57905061014051801561534c578082049050905061018052678ac7230489e80000610180511161534c5767016345785d8a0000610180511061534c57610160516007554260085560043560801b6101a0526024356101a051176101a052604435600a556101a0516009557fe35f0559b0642164e286b30df2077ec3a05426617a25db7578fd20ba39a6cd05610120516101c0526004356101e05261014051610200526024356102205242610240526044356102605260c06101c0a1005b63244c7c2e811861260d573461534c5760025463f851a440610120526020610120600461013c845afa61255f573d5f5f3e3d5ffd5b60203d1061534c57610120518060a01c61534c5761016052610160905051331861534c5761258e610160612d41565b610160805161012052602081015161014052506101205160801b610160526101405161016051176101605261016051600755610160516009554260085542600a557f5f0e7fba3d100c9e19446e1c92fe436f0a9a22fe99669360e4fdd6d3de2fc2846101205161018052610140516101a052426101c0526060610180a1005b634711a4f881186128675760c4361061534c573461534c5760025463f851a44060a052602060a0600460bc845afa612647573d5f5f3e3d5ffd5b60203d1061534c5760a0518060a01c61534c5760e05260e0905051331861534c5760165461534c57426203f480810181811061534c57905060a05260a0516016556060600460c0376014546040526126a0610180612e9a565b610180805161012052602081015161014052604081015161016052506402540be40060e05111156126d7576101405160e0526126e4565b6207a12060e0511061534c575b6402540be40160c051106126fa576101205160c0525b60e05160c0511161534c57670de0b6b3a763ffff61010051111561272557610160516101005261272f565b610100511561534c575b60c05160405260e0516060526101005160805261274d6101806151ab565b61018051601555606060646101803760125460405261276d610240612e9a565b61024080516101e05260208101516102005260408101516102205250670de0b6b3a764000161018051106127a4576101e051610180525b670de0b6b3a76400016101a051106127bf57610200516101a0525b620d505d6101c05111156127da57610220516101c0526127e6565b60576101c0511061534c575b610180516040526101a0516060526101c0516080526128066102406151ab565b6102405160135560a0517fec36b92a482408f90e07357ca20c8cfaca85affe765903cb242e377fafb166af60c0516102405260e051610260526101005161028052610180516102a0526101a0516102c0526101c0516102e05260c0610240a2005b632a7dd7cd8118612962573461534c575f5460021461534c5760025f55601654421061534c576016541561534c575f6016556015546060526060516014556013546080526080516012556080516040526128c2610100612e9a565b610100805160a052602081015160c052604081015160e052506060516040526128ec610160612e9a565b610160805161010052602081015161012052604081015161014052507fa32137411fc7c20db359079cd84af0e2cad58cd7a182a8a5e23e08e554e88bf061010051610160526101205161018052610140516101a05260a0516101c05260c0516101e05260e0516102005260c0610160a160035f55005b63226840fb81186129bb573461534c5760025463f851a440604052602060406004605c845afa612994573d5f5f3e3d5ffd5b60203d1061534c576040518060a01c61534c576080526080905051331861534c575f601655005b505b3415612a0e57602061535d5f395f515f6040525f6003905b60208160051b60400161535d015f395f5183186129f6576001604052612a01565b6001018181186129d5575b505060405190501561534c575b005b61014051612a1e575f612a2d565b602061535d5f395f5160405118155b612c3c5760a05161534c5760e051612ab9576040516323b872dd610160526101005161018052306101a0526060516101c0526020610160606461017c5f855af1612a79573d5f5f3e3d5ffd5b3d612a9057803b1561534c5760016101e052612aa9565b60203d1061534c57610160518060011c61534c576101e0525b6101e09050511561534c57612bec565b6040516370a0823161018052306101a0526020610180602461019c845afa612ae3573d5f5f3e3d5ffd5b60203d1061534c57610180905051610160525f60e0516101805261018080516101c05260046101a0526101a09050805160208201836102c001815181525050808301925050506101005161020052610120516102205260405161024052606051610260526080516102805260a06101e0526101e0805160208201836102c0018281848460045afa50505080830192505050806102a0526102a050505f5f6102a0516102c05f60c0515af1612b99573d5f5f3e3d5ffd5b6060516040516370a0823161018052306101a0526020610180602461019c845afa612bc6573d5f5f3e3d5ffd5b60203d1061534c576101809050516101605180820382811161534c57905090501861534c575b602061535d5f395f5160405118612c4857602061535d5f395f51632e1a7d4d6101605260605161018052803b1561534c575f610160602461017c5f855af1612c36573d5f5f3e3d5ffd5b50612c48565b60605160a0511861534c575b565b608051612c57575f612c66565b602061535d5f395f5160405118155b612d1d57602061535d5f395f5160405118612cae57602061535d5f395f5163d0e30db060c052803b1561534c575f60c0600460dc606051855af1612cac573d5f5f3e3d5ffd5b505b60405163a9059cbb60c05260a05160e05260605161010052602060c0604460dc5f855af1612cde573d5f5f3e3d5ffd5b3d612cf557803b1561534c57600161012052612d0d565b60203d1061534c5760c0518060011c61534c57610120525b6101209050511561534c57612d3f565b5f60c05260c0505f5f60c05160e060605160a0515af1612d3f573d5f5f3e3d5ffd5b565b600a546040526009546060526fffffffffffffffffffffffffffffffff6060511660805260605160801c60a052604051421015612e8a5760075460c05260085460e05260405160e05180820382811161534c57905090506040524260e05180820382811161534c579050905060e05260405160e05180820382811161534c57905090506101005260c05160801c6101005180820281158383830414171561534c579050905060a05160e05180820281158383830414171561534c579050905080820182811061534c5790509050604051801561534c578082049050905060a0526fffffffffffffffffffffffffffffffff60c051166101005180820281158383830414171561534c579050905060805160e05180820281158383830414171561534c579050905080820182811061534c5790509050604051801561534c57808204905090506080525b60a0518152608051602082015250565b67ffffffffffffffff60405160801c16815267ffffffffffffffff60405160401c16602082015267ffffffffffffffff60405116604082015250565b60403660603760405160a0525f6002905b8060c0526fffffffffffffffffffffffffffffffff60a0511660c0516001811161534c5760051b6060015260a05160801c60a052600101818118612ee75750506060518152608051602082015250565b601454604052612f48610120612e9a565b610120805160c052602081015160e05260408101516101005250602061537d5f395f5163fa18042d61014052606051610160526080516101805260a0516101a052610100516101c0526020610140608461015c845afa612faa573d5f5f3e3d5ffd5b60203d1061534c5761014090505161012052670de0b6b3a764000060c0516101205180820281158383830414171561534c579050905060e0516101205180670de0b6b3a764000003670de0b6b3a7640000811161534c57905080820281158383830414171561534c579050905080820182811061534c579050905004815250565b6040366080375f6002905b8060c05260805160801b60805260c051806001036001811161534c5790506001811161534c5760051b6040015160a0526ffffffffffffffffffffffffffffffffe60a0511161534c5760805160a05117608052600101818118613036575050608051815250565b6012546040526130ae610220612e9a565b61022080516101c05260208101516101e052604081015161020052506004546040526130db610260612ed6565b610260805161022052602081015161024052506005546040526130ff6102a0612ed6565b6102a0805161026052602081015161028052506003546102a0526102a05160405261312b610300612ed6565b61030080516102c05260208101516102e0525060195461030052600f546103205260115461034052600654610360524261036051101561331957602061537d5f395f516381d18d876103a05261020051426103605180820382811161534c5790509050670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050048060ff1c61534c577f8000000000000000000000000000000000000000000000000000000000000000811461534c575f036103c05260206103a060246103bc845afa6131fb573d5f5f3e3d5ffd5b60203d1061534c576103a0905051610380525f6002905b806103a052670de0b6b3a76400006103a0516001811161534c5760051b61026001516103a0516001811161534c5760051b6102c001518060011b818160011c1861534c579050808281188284100218905090506103805180670de0b6b3a764000003670de0b6b3a7640000811161534c57905080820281158383830414171561534c57905090506103a0516001811161534c5760051b61022001516103805180820281158383830414171561534c579050905080820182811061534c5790509050046103a0516001811161534c5760051b6102200152600101818118613212575050610220516040526102405160605261330d6103a061302b565b6103a051600455426006555b61018051610380526101805161339657602061537d5f395f51637b12e0096103a05260e0516103c052610100516103e0526101205161040052610140516104205261016051610440526101a0516104605260206103a060c46103bc845afa613383573d5f5f3e3d5ffd5b60203d1061534c576103a0905051610380525b602061537d5f395f5163754b76b36103a052610120516103c052610140516103e0526101605161040052610380516104205260e05161044052610100516104605260406103a060c46103bc845afa6133f0573d5f5f3e3d5ffd5b60403d1061534c576103a09050805161026052602081015161028052505f6002905b806103a052670de0b6b3a76400006103a0516001811161534c5760051b61026001516103a0516001811161534c5760051b6102c0015180820281158383830414171561534c5790509050046103a0516001811161534c5760051b610260015260010181811861341257505061026051604052610280516060526134966103a061302b565b6103a0516005556060366103a037600361038051046103a0525f6002905b806104005261038051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050610400516001811161534c5760051b6102c001516003810281600382041861534c579050801561534c5780820490509050610400516001810181811061534c5790506002811161534c5760051b6103a001526001018181186134b4575050670de0b6b3a764000061040052670de0b6b3a764000061042052610340511561368957602061537d5f395f5163bad1dc26610460526103a051610480526103c0516104a0526103e0516104c0526020610460606461047c845afa61359f573d5f5f3e3d5ffd5b60203d1061534c576104609050516104405261044051670de0b6b3a7640000810281670de0b6b3a764000082041861534c57905061030051801561534c57808204905090506104205261034051610320516104205180820281158383830414171561534c5790509050046104005242600a54101561368957610340516104205111613689576004610460527f4c6f7373000000000000000000000000000000000000000000000000000000006104805261046050610460518061048001601f825f031636823750506308c379a061042052602061044052601f19601f61046051011660440161043cfd5b61040051600f55610400516101c0518060011b818160011c1861534c57905080820182811061534c5790509050610420518060011b818160011c1861534c579050670de0b6b3a7640000810381811161534c5790501115613ca557604036610440375f6002905b8061048052610480516001811161534c5760051b6102c00151610480516001811161534c5760051b6102200151670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790500461046052670de0b6b3a764000161046051101561376a5761046051670de0b6b3a7640000036104605261377d565b670de0b6b3a76400006104605103610460525b610460516fffffffffffffffffffffffffffffffff811161534c576002810a90506104405101610440526001018181186136f0575050610440518060b57101000000000000000000000000000000000082106137e0578160801c91508060401b90505b690100000000000000000082106137fe578160401c91508060201b90505b650100000000008210613818578160201c91508060101b90505b63010000008210613830578160101c91508060081b90505b620100008201810260121c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c90508083048082811882841002189050905090509050610440526101e05160056104405104808281188284110218905090506104805261048051610440511115613ca5576040366104a0375f6002905b806104e052610440516104e0516001811161534c5760051b6102c0015161048051610440510380820281158383830414171561534c5790509050610480516104e0516001811161534c5760051b610220015180820281158383830414171561534c579050905080820182811061534c5790509050046104e0516001811161534c5760051b6104a001526001018181186138d1575050610120516103a052610140516103c052610160516103e0525f6002905b806104e0526104e0516001811161534c5760051b6102c001516104e0516001810181811061534c5790506002811161534c5760051b61012001516104e0516001811161534c5760051b6104a0015180820281158383830414171561534c5790509050046104e0516001810181811061534c5790506002811161534c5760051b6103a00152600101818118613983575050602061537d5f395f51637b12e0096105005260e0516105205261010051610540526103a051610560526103c051610580526103e0516105a0525f6105c052602061050060c461051c845afa613a6a573d5f5f3e3d5ffd5b60203d1061534c576105009050516104e0525f6003905b8061050052610500516002811161534c5760051b6103a00151670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790506104e051801561534c578082049050905061052052662386f26fc10000610520511015613ae5575f613af6565b68056bc75e2d631000006105205111155b1561534c57600101818118613a815750506104e0516003810490506103a0525f6002905b80610500526104e051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050610500516001811161534c5760051b6104a001516003810281600382041861534c579050801561534c5780820490509050610500516001810181811061534c5790506002811161534c5760051b6103a00152600101818118613b1a57505061030051602061537d5f395f5163bad1dc26610500526103a051610520526103c051610540526103e051610560526020610500606461051c845afa613be6573d5f5f3e3d5ffd5b60203d1061534c57610500905051670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790500461034052670de0b6b3a7640001610340511015613c30575f613c5e565b61040051610340518060011b818160011c1861534c579050670de0b6b3a7640000810381811161534c579050115b15613ca5576104a0516040526104c051606052613c7c61050061302b565b610500516102a0526104e051600e55610340516011556102a0516003556102a051815250613cbb565b61038051600e55610420516011556102a0518152505b565b61064051610620511461534c57610660511561534c57613cde610760612d41565b61076080516107205260208101516107405250600b5461076052600c5461078052600d546107a052600154604052613d17610820612e9a565b61082080516107c05260208101516107e052604081015161080052505f61082052610640516002811161534c5760051b610760015161084052610620516002811161534c5760051b610760015161086052610860516106605180820182811061534c5790509050610620516002811161534c5760051b6107600152610620516002811161534c5760051b6107600151610620516002811161534c57600b01556003546108805261088051604052613dcf6108e0612ed6565b6108e080516108a05260208101516108c05250610760516107c05180820281158383830414171561534c579050905061076052600160028101905b806108e052670de0b6b3a76400006108e0516002811161534c5760051b61076001516108e0516001810381811161534c5790506001811161534c5760051b6108a0015180820281158383830414171561534c57905090506108e0516002811161534c5760051b6107c0015180820281158383830414171561534c5790509050046108e0516002811161534c5760051b6107600152600101818118613e0a575050610620516002811161534c5760051b6107c001516108e052600a546109005242610900511115613ff757610860516108e05180820281158383830414171561534c5790509050610860526106205115613f4557670de0b6b3a764000061086051610620516001810381811161534c5790506001811161534c5760051b6108a0015180820281158383830414171561534c579050905004610860525b610620516002811161534c5760051b61076001516109205261086051610620516002811161534c5760051b6107600152602061537d5f395f51637b12e0096109405261072051610960526107405161098052610760516109a052610780516109c0526107a0516109e0525f610a0052602061094060c461095c845afa613fcd573d5f5f3e3d5ffd5b60203d1061534c57610940905051600e5561092051610620516002811161534c5760051b61076001525b600e5461092052610640516002811161534c5760051b6107c0015161094052602061537d5f395f51634a2ab3be6109a052610720516109c052610740516109e05261076051610a005261078051610a20526107a051610a405261092051610a605261064051610a805260406109a060e46109bc845afa614079573d5f5f3e3d5ffd5b60403d1061534c576109a0905080516109605260208101516109805250610640516002811161534c5760051b61076001516109605180820382811161534c579050905061082052610640516002811161534c5760051b6107600180516108205180820382811161534c5790509050815250610820516001810381811161534c57905061082052610640511561415d5761082051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050610640516001810381811161534c5790506001811161534c5760051b6108a00151801561534c5780820490509050610820525b6108205161094051801561534c5780820490509050610820526402540be40061076051606052610780516080526107a05160a05261419c6109c0612f37565b6109c0516108205180820281158383830414171561534c5790509050046109a052610820516109a05180820382811161534c5790509050610820526106805161082051101561424a5760086109c0527f536c6970706167650000000000000000000000000000000000000000000000006109e0526109c0506109c051806109e001601f825f031636823750506308c379a06109805260206109a052601f19601f6109c051011660440161099cfd5b610840516108205180820382811161534c57905090506108405261084051610640516002811161534c57600b0155610840516109405180820281158383830414171561534c57905090506108405261064051156142e957670de0b6b3a764000061084051610640516001810381811161534c5790506001811161534c5760051b6108a0015180820281158383830414171561534c579050905004610840525b61084051610640516002811161534c5760051b61076001526020610620516002811161534c5760051b60400161535d015f395f5160405261066051606052610820516080526106005160a0526106e05160c0526107005160e0526105e051610100526106c051610120526106a05161014052614363612a10565b6020610640516002811161534c5760051b60400161535d015f395f51604052610820516060526106a0516080526106c05160a05261439f612c4a565b6107205160e0526107405161010052610760516101205261078051610140526107a051610160525f61018052610980516101a0526143de6109c061309d565b6109c051610880526105e0517f143f1f8e861fbdeddd5b46e844b7d3ac7b86a122f36e8c463859ee6811b1f29c610620516109c052610660516109e05261064051610a005261082051610a20526109a051610a405261088051610a605260c06109c0a261082051815250565b60603660603760405160038104905060605260035460c052600160028101905b8060e052604051670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790506fffffffffffffffffffffffffffffffff60c051166003810281600382041861534c579050801561534c578082049050905060e0516002811161534c5760051b6060015260c05160801c60c05260010181811861446a575050602061537d5f395f5163bad1dc2660e052606051610100526080516101205260a05161014052602060e0606460fc845afa614525573d5f5f3e3d5ffd5b60203d1061534c5760e0905051815250565b600361024051606052610260516080526102805160a0526145596102c0612f37565b6102c0510260031c6102a0525f6102c0525f6003905b8060051b6101e001516102e0526102c0516102e05180820182811061534c57905090506102c05260010181811861456f57505060036102c051046102e0525f610300525f6003905b8060051b6101e00151610320526102e05161032051116145f55761030051610320516102e0510380820182811061534c579050905061030052614615565b610300516102e051610320510380820182811061534c5790509050610300525b6001018181186145b75750506102a0516103005180820281158383830414171561534c57905090506102c051801561534c5780820490509050620186a0810181811061534c579050815250565b60195460605180820182811061534c579050905060195560176040516020525f5260405f20805460605180820182811061534c57905090508155506040515f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60605160805260206080a36001815250565b60195460805260805160605180820281158383830414171561534c5790509050670de0b6b3a76400008104905060a05260a051156147785760805160a05180820182811061534c579050905060195560176040516020525f5260405f20805460a05180820182811061534c57905090508155506040515f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60a05160c052602060c0a35b60a051815250565b600b54606052600c54608052600d5460a05260035460c0526001546040526147a9610140612e9a565b610140805160e0526020810151610100526040810151610120525060605160e05180820281158383830414171561534c5790509050606052600160028101905b80610140526fffffffffffffffffffffffffffffffff60c05116610140516002811161534c5760051b60e0015180820281158383830414171561534c579050905061016052610140516002811161534c5760051b606001516101605180820281158383830414171561534c5790509050670de0b6b3a764000081049050610140516002811161534c5760051b6060015260c05160801c60c0526001018181186147e95750506060518152608051602082015260a051604082015250565b6148b16101e0612d41565b6101e080516101a05260208101516101c05250600f546101e0526010546102005260195461022052610200516101e05111156148fb57670de0b6b3a763ffff6102205111156148fe565b60015b1561490857614c07565b5f6003905b8061024052602061535d5f395f516020610240516002811161534c5760051b60400161535d015f395f51186149525747610240516002811161534c57600b01556149b4565b6020610240516002811161534c5760051b60400161535d015f395f516370a082316102605230610280526020610260602461027c845afa614995573d5f5f3e3d5ffd5b60203d1061534c57610260905051610240516002811161534c57600b01555b60010181811861490d575050601154610240526404a817c800610200516101e0510364012a05f20081028164012a05f20082041861534c579050046102605260025463cab4d3db6102a05260206102a060046102bc845afa614a18573d5f5f3e3d5ffd5b60203d1061534c576102a0518060a01c61534c576102e0526102e0905051610280526102805115614a4e57610260511515614a50565b5f5b15614b385761024051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050610240516102605180820382811161534c5790509050801561534c5780820490509050670de0b6b3a7640000810381811161534c5790506102a052610280516040526102a051606052614acb6102e06146d4565b6102e0516102c0526101e051610260518060011b818160011c1861534c57905080820382811161534c57905090506101e0526101e051600f55610280517f6059a38198b1dc42b3791087d1ff0fbd72b3179553c25f678cd246f52ffaaf596102c0516102e05260206102e0a25b602061537d5f395f51637b12e009610320526101a051610340526101c05161036052614b656102c0614780565b6102c080516103805260208101516103a05260408101516103c052505f6103e052602061032060c461033c845afa614b9f573d5f5f3e3d5ffd5b60203d1061534c576103209050516102a0526102a051600e556102a051604052614bca6102c061444a565b6102c051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050601954801561534c57808204905090506011556101e0516010555b565b60195460605180820382811161534c579050905060195560176040516020525f5260405f20805460605180820382811161534c57905090508155505f6040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60605160805260206080a36001815250565b6019546102805261028051610220511161534c576002610240511161534c57600b546102a052600c546102c052600d546102e052600154604052614cc0610360612e9a565b6103608051610300526020810151610320526040810151610340525061030051610360526103205161038052610340516103a0525f6103c05261030051670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790506103e05260035461040052610360516102a05180820281158383830414171561534c579050905061036052600160028101905b80610420526fffffffffffffffffffffffffffffffff610400511661044052610420516102405118614dab5761044051610240516002811161534c5760051b610360015180820281158383830414171561534c57905090506103e0525b670de0b6b3a7640000610420516002811161534c5760051b6103600151610420516002811161534c5760051b6102a0015180820281158383830414171561534c57905090506104405180820281158383830414171561534c579050905004610420516002811161534c5760051b61036001526104005160801c61040052600101818118614d4e57505061026051614e4857600e546103c052614eb3565b602061537d5f395f51637b12e009610420526101e0516104405261020051610460526103605161048052610380516104a0526103a0516104c0525f6104e052602061042060c461043c845afa614ea0573d5f5f3e3d5ffd5b60203d1061534c576104209050516103c0525b6103c05161042052610360516104405261038051610460526103a05161048052610240516002811161534c5760051b61036001516003810281600382041861534c5790506102205180820281158383830414171561534c579050905061028051801561534c57808204905090506104a052601454604052614f356104e0612e9a565b6104e0602081019050516104c052610240516002811161534c5760051b61044001516104a0511015614fb457610240516002811161534c5760051b6104400180516104a05180820382811161534c579050905081525061044051606052610460516080526104805160a052614fab6104e0612f37565b6104e0516104c0525b61028051610220516104205180820281158383830414171561534c5790509050046104e0526104c0516104e05180820281158383830414171561534c57905090506404a817c800810490506001810181811061534c57905061050052610500516003810281600382041861534c579050610240516002811161534c5760051b6102a0015180820281158383830414171561534c579050905061042051801561534c578082049050905061052052610420516104e0516105005180820382811161534c579050905080820382811161534c579050905061042052602061537d5f395f51634a2ab3be610560526101e05161058052610200516105a052610360516105c052610380516105e0526103a0516106005261042051610620526102405161064052604061056060e461057c845afa6150f0573d5f5f3e3d5ffd5b60403d1061534c5761056090505161054052610240516002811161534c5760051b61036001516105405180820382811161534c5790509050670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790506103e051801561534c57808204905090506105605261054051610240516002811161534c5760051b6103600152610560518152610420516020820152604081016103605181526103805160208201526103a0516040820152506105205160a082015250565b60805160605160401b60405160801b1717815250565b60805160186040516020525f5260405f20806060516020525f5260405f209050556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560805160a052602060a0a3565b6060513081146152285780151561522a565b5f5b90501561534c5760176040516020525f5260405f20805460805180820382811161534c579050905081555060176060516020525f5260405f20805460805180820182811061534c57905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160a052602060a0a3565b60206154bd5f395f51461461533d577fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac56472606052602061549d5f395f516080527fd61c1033330c368dfc371f5b1e7133f4794e104642e5a3c87aba7a6a3441c8ff60a0524660c0523060e05260206154dd5f395f516101005260c0604052604080516020820120905081525061534a565b60206154fd5f395f518152505b565b5f80fda165767970657283000309000b000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000cbff3004a20dbfe2731543aa38599a526e0fd6ee000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000d54726963727970746f55534443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6372765553444357425443574554480000000000000000000000000000000000aca05ce585b6e5a8eb5fda1ce709e7afff5e91fa75a791d7d642b70ce309f03800000000000000000000000000000000000000000000000000000000000000019130120a815b305a87f3895e79d3138b1ca24e08fdb1f9665e673d6f464ac2da3e910f52862dda9daa65474fe80225189c241f98359575e31c3630225869de9b00582002fc9a0d21be660631d58da1ce41f2aef41843afacb3cf147ce0238ee4419646410100582003342fda0ae75ebc2aa176a4797ed8480edcdb49e1177bd56923dc7b98ac79304c19d971e40a7f82b9fbe1a77b005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9046094dba827feb02189000582003b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0058199f61407c117cef74f40000000000000bb1cc29db3afd5993bf0058200310e4fded79571675808f7964b32727f03e383399a3d40c5dc3f9b7b8f6c3b04c19d971de7de7df5f269bda650219204000582002d36604b9eeae220812c4459562bb15031c0139b984400a7a5b783e8c855e61468ba98aa6c9d6032daf586c417aadb76d307d40dc5303aee73b413637b4f6e86fdf26acc7487fca0058200203f4c7af2390ae420ecee918b835aaf22ab64336224e8cc0b8b1d0c7d4f1de4814d1120d7b1600000384e90393b49e8c2bb350c61099f4c244a89af7b9845449c35607038774dec3c600582002be253d8dcdee39c6fcc4e909600477711f06bea616ba138293c5bcf158daa55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002cdc2bb88a1fb7b25d5b7d841e50a2a1023c1762fe9c2ebeecd298b4e0cbe9e58207fffffffffffffffffffffffffffffffffffffffffffffffd44baa6d3d17167b005820027693beeb7adae146db9162df5e6529f839548ff2a0f570cbda48435efc8a9e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0392e26a9c9a71a6b08b5f9e0f6e47b4844b34e6cdb8a142df638c9d96b83eb9500219deab03cc87e281ca79a4b58dd5a2be15a1e99b207ccd5fbc2ab831d628d759ea50319303bea809ccfbe361b7449d37f974f47e208c48250654c0b8eaec89af28345b847c00582002e7ac88900b8173b3973b0dc4898f76efa3a9717f16ae18de962619f663466858207fffffffffffffffffffffffffffffffffffffffffffffffffdfae2392fedce3038c40be8efc22a44c686eeb21091dac04e1b6e47a4b146f9ad7bf7a402c47af0100582002a87b48c26759d22b6e249770a9e136dade74c1c5e73657cf6a807b8c50e3f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ddca139fcc8411430e2f15dfabaf8d18688f38c76c442821742f9896c77c3cde01410d00582002c2846a9fc25f3ae4ef400d59604b48d73c68e6e305df651a7707545c299e204c19d971e4e55109ccae8ee47500582002c7dc6db910b3f4f83a98802f442598ff62a272e4c57e552c0979e5f7d2b2204fc097ce7bc9069385652f938f3ce4380369948bb1f0899823863f5d2e095d6232645ef895624bbec492533088865f6e9600581f0261c5ec2b16739fabfbeb68c2a34e1ad7e1bcbeb898ed7839401ea95618eb472911c23d9a800000581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341030219200801410000582002368669b49ac6523d29b36f15ee34d2219f91b3d39b64e8559f31e9f2a0ebad58207fffffffffffffffffffffffffffffffffffffffffffffff619fb0a4bdcc341b0058200283d1f00b7941fb2a3e6ee9356f989a15c4a8e29e7a23c79dea617eccaa6f505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03da353a450c3e7f55a504c2b71d20921a7ed31635512f006ec3eb314fd864b8230058200213d225cc52441150ab3d4b5396f2cfa8c92b59efd26a297375be5541cc9f905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d7df00582002ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68480dfda9275707623d00582002ed211d09dc65d1fe5ac44de25ad02f57c181e3ba19c00758b9c7c2bd6252c85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820028540d78c96d96cb2dbb2b9ef4e5d90306be9ebea726ea070dc0e0ad622d7385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820027d3f85fb9d69d047db1335ae54f3caaeb16dfc13257c2f7221f6c0ad5a618958207ffffffffffffffffffffffffffffffffffffffffffffffe9ec94ed7babf445103843d21b32cc78246c49e1d570995d8d41b293f1f24aee9d3dc39bca2f9ce78300058200214821b56b49efd2d2900926b21178450bb8054931fc14767fa6fa08260ae495820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0314eb4bf127c163d4a46aa5cc31ca6a8dfba5ee2d5ad230a18ffa176dc5d9eaae00582002b150468837ffb1386123b20fcc7fef718dc3d2fbc7ff7b2b58231e2de3891b4822b0a37512ebf2ba03e23a3a49e75df9e90132704dc19b7aecc92f84944b5410c9e51866e7270771c7033f7269bd7a08dd8d7e62b16d259284203cfd783619edb8a6a735a15e4fea60b703a2fa942d56210beef1186e8822739ca3aa4a23cfa3f352ca525745a3c6cc4a0a00582002d0ddc5578273399d82121b51320a0ee52397409881c870971dfc60c8ad77ee5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ff4e03b9c2127f97f4a57f787538bf3f579dd856c502b6cc19d38e61f8d25fae27bd9203cdb69e563bcc6ef3bf2a7fe0e83a3e3c03ddd8ea6671a5cb43011b213d079bf303c7dfaef3cfd395b9ccd5b3c8dd40f2abb486ef09b454d49273d4b9fe2a91136403d2a83f70663f8619f71db669998df2368ac678f3dba3201a88125e67961c62f800582002db50488a8fb6e08fca7c505258759ac3c1cc02ab6311ba15ec2c5a3be4cb8d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002d0c9462ab1bf0e93d52ff9ea4e60fdb85ace0c26d66ad3b2b099ca7e2b9ad15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820025545a620e797a2283600c2fcaf30a8745dd1591351e1afbef7cb27040dab745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820024d9fbf2799262c32d1eec42e34b7b3ecbb67685c2bb224ea9782c5f8eb4fca5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0531a0e6d000000000000000000000abd8940e805005820035912f6029b0599dd6583213bacbbb2edf4db3da199ff2c9b318456d4303cb04702b7199a6bfecd021901020385259143745bef70956784a436f76cc2187e73941b07f8a3bbe7811e7be5fd100219f4a40392150c1320fc8ef27d48fef734f8f5b1e66e22e47e6cb093ce4675a9b42dc1b6031b3995a6d7e9c33821a839c87ffad57e7ff3818d7d0e23c3e66f3b0f8af5f8e60356e8314b997c94f68fe46fa81930d72b77df363e3085db3619e69a4b7636d7ed005820023c550486f656dae341eb82d8c8f71cae3d322a8c79f183b688b65872f963674585fa834cce034cef216fc38ad29840f67dc4ed177eafb3f0dc6665dcc2fd3654c5cd86698bcd00582002b8291320dfd612d265d86cb811acb2e49932e915bef4e9de42505bb4b36af948294325ffa2c6f3420058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b58199f165f36069729ef0d0000000000000bb209a121801b84df640058200250cf1381efb924f7d5de2115113415cc30c07eb275468f152df6b4d8d828845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002447d4026398117e75858f0216fb86ad35707cb4ca88cb5d268e10b7a1f490b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802480e1a2f7fea2cb0f003e84ca43c4b3c24d29af47b201560f300c27f737e840b0e4f8fa0a8627338a912030d69366d0b3f92e101a7b8fc23dc1839462f6494716140acdf9fce91d46cb6a20219fd8700582002c2949ee1fe9f4a5848460efa7a22fc58f8eee83c8e63e87248fb7d8cbaf65a58207ffffffffffffffffffffffffffffffffffffffffffffffdb2cd97f8d67adf7c03c7e6a9acc4ce0745e09aa4ee1ca660efac13b3d37c55e7b9640aa0fa0eb61a6f037e5450aa17f05213cdb47601c69988d3b7ee39a82a9473e37b032fe167c309eb03cfec2317e02a3a6a1ff76608022d1dca4c72845757147a7de583c6ddcec33b3b005820024998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c96954a03ee1098497e836703230058200209adbdec831d4b82b4ca3f7e674a3b94a869144f9c16f1e5ad24dcff7572aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0377fe079cf41d030c0561f8d00677cc5bc28e05a8de30b4e3676070478920695c00582002015bf46a0016eb042656b07b0b3c3f4ce35b4ac517072232987962fb4b36a64c19d971e4fe72e53db43da0f8033f6e102913922bf5cc0393d38ea0e0ac174e50e66c2476143b5d55806533f0d9033306d59357e1b4860e6d22c8c20af772a697e31ee3921df0f4a6a55a63e643ec03ba2ecd954ea15f7470486d6d19e4bd28db9b84eaa08690641b37a44adbb95f210326ebb7ea2c4d12fec108d2e34518f2555876ea8b3ddab366635bb59aec62edcb0219d5bf0312f75f7fda5e305dede779af817418a81981e21dbd487ffe80942dd02bb8e71600582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6055e8d4a5100000000002540be40000000000000000010058200332331ae04755841a66fd193f5c6691031a7dc41fb9c61a91f7865b8fdb6f504c19d971e4a666244e610ac561021841005820028746802e3b790aea6d012361a722fa72175afaf18f5cba3aded454817c98de5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0386cbb5533abf4c0ef29b68f7fc5a942cffb68303964d7c19c5f38c0d573dd57f00582002b7d0e9021a86dd8dc1344eb00066309629fd512c0a48dd85a526e0eeb082c8476823a87b127f07005820022fcf3b42bfb1446270401d1f29d494ae68a413090954d14cec9863a5d3876046e91abda748db0369b5a89a5b0933f34f2248b0734f6454a53b640b3e9241f0713aff7e91b8f24b005820024e9c8c94af95ec3e8ee5747563fe2044c902a5811a952aa92301cff219b987476dcaaa2112df5d00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04b194f85693e0f480ef1dc9800582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344405601d1a94a20000001bda703f0a00000000000000003610219018000582002d628c045501900346e0be46a5dd40492a82f855428e37e2acf08878d17b51848126cae3e93ff6bb10311be9e8f864b230cf4270b18ef4e50f1ef41f61faf4ddb0eb39de0ba9eb8adca00582002a45dc015963e500c9805f1aea6330953685c11fdfe81d6b9ffd9965d136a815820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ef5600582002251862efa6274da26a572de6c3395830bbc16df6175e873512df27b1c592fc4c19d971e4e8b92804a0e5ea5400582003b1e78d38f6c814a69a714811ffa440e925bd6d2f0771e34c90f54552d74cf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b058199f077ff85854c637770000000000000bb1c3c552752cf717f10058200344195a03a98ec2ef20201326af5e3db9cb39db1315ed66ca4fd95f0bb208f058207ffffffffffffffffffffffffffffffffffffffffffffffffb6a131cb68f69e8021910220058200282f3ea2143eedb5f3e9a3e87708e3ad38d38b85c49716506e14f9e08b372e347071afd498d0000005820027a06de98154085c2ccef37cc106697adf25e3016a448abfd17423f0efa61a8468c0acb13dd8f03e41cbe979da3250b552fad58b54b5f046f8f6b97350ef1673ef5ef44ac9d5de2005820026d86ffc8302d06ba69a6d2c000b5b6afc8d31eaf5a5991a5419155ff9884ac490a89792ae045e75f66005820027075e9534be916c31cb5445356738a5ab49bd5fd9054d7608d5c762f6146894751b660cdd58003030213aaaecf36a8cd966846ddf74db885eb037a346316373199e4f7ec5c52a2110058200271f62779b385d9d286636eb7887399d42d9d1cbc9c77777eef76875593d6c24c19d971a7fd053cded756612000582002ab6e2133ce942fa5582d8dd0dadbe89d88e5bd63d8542c8050081ec12b97e74c19d971e4fe8401e740000000031bf18503d74c3d391e9a538b1ba8f79f808474880ab156a831de54c1a253756a005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec532dc6c00000000001c9c3800001c6bf5263400000582002b2d20f1b86074aab2e5121d55fd4b1e12b82bb1d3098c47ef9bb4045106b8758207ffffffffffffffffffffffffffffffffffffffffffffff92d51c6d7c12919f20219f6fe0371155fe90e6cb4c99e277a34f71370bf642def49a35473494c1b9cc3a9355cd7005820020c20d9d26c4adbc2120ca538704341771b39ba1fc1aedb561eec54e77668af5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820020ccb5bbb6b4e3ba6f95e6e570743cadf570c2e496d0dc197af5a732be06aa75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820022759d4b2a4ed5fc8b9e544cb3b85d85f04a6c704e97996497022739b20e6194c19d971db3d29bf243e0ec15e0058200268b340774f52abe226ad987736bc9df4f2fd999133a66137da40e89cdfd83c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003964171625451614c33a0673a054ffed485431cbbf470211b25d977164c76d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c1865ffdfb62bb3c6a2f027ef71f5350d1e9d7413040837bfefe03fb7f6a605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5049bb624ed237311e22fa021908060366ccec133029af380b99ba64eccd28827a6845bb3404a44436a80a0d4fb3b5b5034eefc94c46fa3b2ffd08419dbb6a529e9fa6453be8295d235f97b5231ba454a203374ad02d74b4c9577dbf1ad479a0be516623a6a1bdee49257e409a7ef2f37d9e00582002b216c3e88f7714e57c91c0936783bf96e999dec5976a02622daa0fa48998d44801efdc6c50ea507500582002538d206576eed181b567b9af6482a16235361fefbf483491a25375d28880004c19d971e434acdd03c546abbc005820027c11c28a4a65171ffd9502aa94cb7b6421a8408bd8a063c5f1e328b87de93e4c19d971e49b926a153ac16e1f005820036d944dcc4963810149329f83d7526757b8382ed9c4c1a3180f7156a64becf04c19d971e4f1899b24a016d72400582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70450450046b8d005820036eac92e91b195ad2344ddb7c4d059f10d7958c8444ef97c8806520b0f39ad0480135a7497447ca09021920500219bfeb03e21730b35a18e60d759d1da24f18268bd0546dd89195e2697e58d73470c483be030f8ea78458be2c21d86a9a44cf75d1d4bfd1c9a44912f1bdb2ed9730956f643f03bca315c6960d194b378adc443a564dec97a9358c8b0b896ea6ab8b6d48c09bc300582002ec3068754c6412248a55661d9c62c82f9f282e8814687bb4cb0b514f3c336f4701b970e5c5747400582002a38f3866de704be9fc33af5296b65918ff8a7103b8e07f1a46f12210117a6e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003bb636e6505a4081c1313a1e96e4e761b33d8930a8b3902bdb4f209bef1af0058207fffffffffffffffffffffffffffffffffffffffffffffffa6166bb0a5bcc847005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0446687da5702182403de7ae4cfd326ea0af1307c3a59e7ecb682ec8b63e3af5f7a1199f4190f2ad07103bbceef279ea814a12603f2305c744b730476f9f5e4008aea806f3254d516160700582002f613ae8cf53c0aca0f242f81e2bbdfe57feafffea072568eba9dcd6f8a49174735820b75a87bd40301f0c2b7a6ae54fd828123faada0c58ac7212366daf2073d1923c2f9f912d57003dec28116acdff525a3f29021df74dfcb27cc3dff5be70c6c80364d7ad94635b902199e670219ffff05581e0347bae6510045f1e4bec6a12975363112a6269ae082ff526c67c37ee9400f0149bb624ed237311e22fa19551d05581e03777a98cb4617c0198818aa3233c8ea4bea07c01be77d6a066c7febf9d0084703328b944c4000021957ff03f2b32e3bfe7ff627bbea1db5082a53fbabffc0c149c129a1d1517f1e2fe3ead703c01e5b8b392f1a1297ef1e60a8bfd94e9e783d50110d4f34dab0b40dde200bb903b5e79237b6c811c962a513be47eab115ff44f629463012325fbd127e421fc5ed037bbef095d8afcf6d307650b7b1878c685dd87607be90851eaae4efa4f973c114039e83138c354707a162df06f7f39817929b88462e1dc18d1ea246dc416fcf40a50219ffff0386a7db6394ec6cbfad49a99dd6a26bc59ed10b083e3d7a00df28d3765537c47103158ba5abbaede02c55dda1b2b9087b6d7945040342549f5110cf24e4a759c5bd034e2480e0e8fa578ec765976427208e41c111dc7ed3490a3730a48bd6bc4bb0a703c0220642cc5629fa3d5b24cd3353e9cfdeaabb1a5eda17fab275b8323b9c09150219ffff03503cfffe52c20638350a40fd080793950827b43df2d38a6b66ed3225d2c9751d03240164b7a0579a80955f61ca82059ea6ca933f08452093733526320a7be22fb203f13c2f07c23e4d0919d5522a1a5da8657c96eabd2df9f38ddc0877409d17336603b2d0bb7670e96b177f7c8df93bb4f8b616afab3a746c474472161e9154d1621503e196d312e9313021140fd40bb58f5eafdae66d9a85cf0f9630a2d106117149bf03fb35855535b778870e2c348bd076e2d4aa1ecba68a46a482e699ab8b85cd384d0391fbb3a4cf8f059707b2a5b79f0d3916851d2348d0fe0e8478519268ce63d354038313beb00795a2cebb82f510c29461cae6feb78424de6a204959f205990dca7e030f2b4ceb5d4da6a8c6034bbf4f3c59287abfbb7eacbfa928c20f476c34b7e92703b44bf9933cf4ee6e4c9433bc590809e5112671e79321921b7dccb272d7b0cd800219ffff03236cfdaf32c90ba900776ad48cd4f8c9a23bb3089ceda194ba92ff19126eb78a035912c1223407e22a1984cd1e956366f5dd01124b03a7fbf08ab2e6d0e44dc6f903dd5f95337c1fcce3a728dba41f43a47b20dfe1041f53495a7aa5fffeee4a06d703195deb575a06cecbe350c12995977db1d9a59cd85d6257a118ab6bdad0a25cdd036810ac8b97c85efbdcd157ed1d36b2676d5734655c89e7a1f197754d0fbbe2fd03246658e890b07819fd1b69de805ac7b91b3a4b19b2192a464a063b33c0e2a43303221c78859f74b3b78325aad240c532936812e1329aa1075bee1fd8736d498a8403680665b0d407f29e5fd1f849d60b532e2fda634c45f503c9eca6ba17d417cd1f036fe112d768a7c610903079d116f51069e806b181a9cc518565fe0d1cc3a2bf1703e584dea1010a238f1a422ef721976d5a6484db4556ddadad0d45bdeba64582f7031bbfd64b2a82de68d05c60ba1183aead5da8f2c14210ea81759af2415677a649035e369b2c3878ff5592b588f64f5bd85cab38a4893bc4e6a7cfc9593e8035e0ea03bfb731b99eb9d57b655447ac26f788b99ae423d8f181974387e9b1de0cf839e50362a08ec51460563b8e58318bcfdbfe5dedd2922a07b0d45c78cfecdde03c23ed03794711affc51ee567ee693c971c41b530384ba0777a66ef0315f5bd88243837c03d3a893031d84d510f718212422179773abfbacacf088bc298cd24c1d8af59b9e0312b9d0307838edde711db81e7a340edb597d857efe4fafa832e366c6dde45576035bef693f98048fbed53d147b77714b06145b291140de498cb504a13f3d0d0f360318513018077eb8698761f8065046f6f0dd098e5c97a4271c577860d9948e63d3032b1ad5cae1689e196a268c8b381ebcc518e0d91b59aad54b30d7a185561e7ef303ad95c29b0535a73f68dc8fb5d1a006f38c76797ccef8c93f0e005d7e0edf8f8c03b99f5185da72e05b0e2eb08a92ed13808c42478482746c703a84f237fc06c0110324eb7fe86d86c59769838473897a6fb59cef308239eb98d45e2cac1d42e06bd403700aafa51c29d2be3fe2743b1c622007a4c7eca4d7bdad204b27f9819564d2580354cc239ca41f4e801a8b39872f9cf1820f6e8d61b8be8175f575a1136ed58c9703d25abfa1bfab0d8c31bb41ff3bceaf083da13265657854d6e2e46a03fd6dac67030c19ed285f80568bdc90251ff9202eab1ec61f8a21bee909936759cc5f518c3a03443e7031a9b1463151a60c1c4267ca7b997555f1063f2f5bc0de031f6c28da04031c1c28bcf40cc327032406a36aa08a4962db145ccec61105a9f208facc69f3ca0372b04cbb00c3e4b2bb20270777f9d53f40697278e0059176796674951b685bae03b5b23421def62e167ed2ff2cd44bbeb4b027e23761300e7903b10b05ddd1f37a03ed21ec462aa408153869b1faa140ea0228fd9df0504abff338a7a609cf39487f03d6a2cd1845f3756bde5f0fc3db5d6aa4709d5611616319ecf6af06d7430b16600326f060751637630facdd36fc4a421164a258665baf4a126c4bd39f775cb9121a03d88edf34e6e4146a4475dc424b4cf666b47d5f471ebe3cb7d3b1a46bec71af9103411bc4ffc9bad3984e5d894d2b4db597b2eb8a6e1d7c51257993a572a1fdf45405581e03cee014d8cd8ca9966728a60eb270e135691e06a2a8c156e20c86584e30040105581d02c647fd3dbc87f45d0e7591fc108e709b853098262480297e7f563485040105581d02f3721a782a5b92e5e52f3e272683acf506ae930613244355c4fd00480c1a000b06324933c7f2d655afc20c140219014005581e0374e606cdc7b8b5d3376d802627b4ff27a14fbe1df4ab035cd69f30eb100c05470770e657d7b81303562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03290f7c26fb6d24538d867149e77502f51c27612ab771f07c3f775a893007011bffffffffffffffff03fd4e35eb7af833e26c3bef1f57529dd566afa2b55258b383a2cfa097547e479003b32a6395c759cc0bebe6992002b7cc6334dbdba53f9db43ed20342e4d4521b5f05581e035dae3e01ad300f03337b16c268b0c2592bb437f8e59e35ee6ec66d80a007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e037a7dad94ccc4b59b1e86dbcb942543b0b3ef2bf3e6c2afe16d9b33b79007011bffffffffffffffff0304f313311f675dcd826e88b6aa0eec37775bdd96be6e18b22a1069e5053874f00320b857ebdf0527473470a338aa0c27c50f1f48efdbf9b59b3be93857a271a1e10219bb1a03eae279da5cc7a75f218da531ecf72ab351f95ff0fe623b4911a12be9f9228de603c1e26fea6f253e7370190afa352b70a67095533e25979e0d14148517341af7110393bfe31b4060e97f997dbd401af32773c4010f5298ea8090f8fc4048dc35c1c703804e55ccd50e7e8e2e8136b7dc1c705d01de9f2adfe04ca764a437cdc770980c0219ffff03a7be3f9f4d78da14c29d32eb1eb4694fb36f0a5938fcf90d322fe636c496fafb0324925addfe8b0960247f6f7c0bec5ce2b8b639e41da0e1376d632b09cedb402f036c4823ed7bd88966cd93dbf6bbeb9421f80cec0cf983751e99f16613ace4619d0219ffff0349f2dd76c336d885f089056c392d01be9d7e52cf6110d26867407180ef7130b803ebe546369e66b42ceddba5b21fda7327678b2c342aa52bb39a6186bb1f36c6f8030710b3be26d45a727ee197ac34cda1b6f52a49282f98fed9b6ac0ac9b0c06b97039f19531766752f8a4a1bd6dfe22f2ee809d2eebd27877f265d85d39cd39bc6060219ffff039f0590f606848512c7acfc668de51591c7249b5669f58c803090f9cc9fba703103fd35ca3fdcdbc23bcf504591516403ab08f8b758b9cd68f3be65da7830b386a8039b8d9eba672d6f72d169b5f2de11edacdcd5267a193c1ceb3cff27c485544c6803fdb77d22cd20b09769b617ea4488f0d63dc5a4f6aac4a7f61c3cf0055e54be9403e59692d9d7698b045de48ef0431c1e6a533f7077134bddba7fc1332a759d570703f029d79b84a828a33ab9d014f379289ed54565d03e28e5824083e74ae2802007036687ab940afc2aa36b57aa4b93f3468e15a5a30aea191727df1eb41a18d5fe200219ffff03804e9ee447a697e3bf74ac6434e8f249217406a799405361e283820909d92ee403e5bca0247953a97ccefc2176d586be5abb4161bf6573c8d5e131a4bf8809bd0c03bb8de7763de2182df618e8737703ff953b9b2e01d13da9de6c78e7da29b64ba7035e6fada3d9c216e2aa6a32fc00a425cd8dc5cb26cc22ee92710f770013c9aa020309895a2dac129a1b16cfb8c6380961988ded725086b64cded937a78cb7e76d77035f3b531213e407c8bcc12102d67b3545a6a74af019d8773c78a609791629604703c64a74e076b9b9e7a36d1f91aa7d5bfec2b6901f986d82ec42e272c9abec8b20039537e19e0b3f4a16a8f60d78e9422246ea2943dbbc7faa6084fd2bb9920f2b1c03789f2a94ff05a2c42610a38cb941826f1cc1cd7954418ee7efc3ab094ad34b6203fb547b7f63408c97615bce1cf4b76d6cb7d2c647291c42c4eaa9a113e908f186033fb5d671ad83ad7f91ca7c48f593dd352f21705e5b9eecd7d8d3e58eb49de17d03bbccad1388188fa35fc4bf251450471a51dbde6e1bdf4b9fc6e9b6cd3dfbbe0103ea6006eb588455cad5bd9ccafe60a314b2618c76c23658047ff1718e87b79fb1031b68c5a4c133b1cba9a060066353bde31f5f00347751c90298be46f9b9fbcde90329e5935a0547f38513ea6c9f58813f722f6386a1ed47b958a9a18ab9dc2e548703416460e9dcb0741a3a4924c119f5ca385cc12d091831b36b08ab879e302abe8903a3cd55b3844d621e2ea6afa6e44ac346b7ff606eb16fb64993f71b6409e359fd037588bc5f2bf9a1797793888fac41cac08d9385bb690985c75c1a1d95d34dedc1039a4d275ad99d96ff5ef5fa7395b59a49b1dbd143292d35211239fa229fd4477c033964c7ca6479845a1cc845cf0f73aba0ea4a06ecf1473287e9e625db2f5a10b30315eeab47b77fa625231acf5179a10d27711854b9e990a69156d3d0b8908ddcf303eb4d88c36a627a1d65fed01a1ee47727b5a325b8dd9e724aa578030215442ccd03fb67060811662b085553cc0af8049f1f348826ca77f5c660649bc32f94ec965e03fbc2f791bfbf2e5051d9df81ca69ee68f9caf51aabd50a35c77538c5e1b08b3103d272648d68103a97ee8cecf48cebc2749c7ac0828bd3f01096982f5036cc88f105581e037740296337ce700166ced0abb3392afa1e0c35916affba57980a95940004130354d266adb42079a47f3b70152c3ef94aac8a425b31f434c3c14019b2ee2b309a0605581e0334fc5fc26ef31eca73a272f2423114cf1f8d541feb2c534635182f9a7007011bffffffffffffffff05581e031c328a831ec0ee672330a33431cb929d420a991b17645b6965baa9ca300c07470398c61d79a95805581e03f401e2c05a73582c077caa15886c98ff8446cd272d8e2cb649db6d27400c02466d1a78167fac036612021d2815a8ea5e8c7ee8b2b7d649a4bc55619965594f2a47e3863428213005581e03bc8cbe3f67d62245faedc898e09989b30733a8cc11bf976ba22505be100c0247011de9fcccb41005581e03af7fbec467940942785fac381cc23f1e0746e73b1056ee76a3eba9d5500847044364c5bb0000030f5cd9fb45114559758e1e3fed4f575532ec2976dfd64677f061659cff7de66805581e0377d8c8b2604dbc77616a5e8e8e70819cdbfe5725d077d41293deccf4200c0246e474fcd959d003154510b603198b4be7152ca2a13ca60e90d17689979c249e9e61b411608c14aa05581e03ccbb2a3949bb34f1478df6131385c8e309e435e526cc970c2cc2bcdb300c1851468885be0498000219b7de036a7b7663002df4830c516d6343d72ec93f047635676ef543e87b3b5de3ff261e03a7459797e773d0da863b79b826dc770fc64bff0c63791ee3e7439c1fbd73e84803dd82125f59f82535baa53ba0cad09645f2a568d3a0feb13402ac8a86c9f9002a035c6d9ef4cb52d26e634f2a3ba08d9d93fbc9c0d9177cbe01222d2e10539ed101036144b7d3bd1cfafae821a7599905d30e0b73c59d01de95877145d1df63a22eea03a867f83e4e992ecee16493d711bd2885d7a1d81a41ad0a722914c1ca7efd665403f335dfb0e096a9e796c0799bf795749528b619816492afc80c2c3c00ab7340df035f77c92c725bceb3ed1012c061972df4de33f0d8b2481a4d7f99c9d7b645a97703aec0e51fe4ef9df30c63772b4caaa9e9bec54dad0b7ff8829e37b99ad00cce3303e58919ad46ce6bf710707737c6e217f887240ac1b2888c2af763733e9f024f15032cd91d3d8aef95fb02c1a7503a834d9eaa29568393698e7ccc799b4056fdbc95035bc5c536828d47b483adcabfbe0bbf1e9df47df01271df0a97904637b31612b20219ffff03b72453ad6d5f709550cce81ef1788ad2bf5e7dfc878c6305a716be107c7d7f7c0382c95fb239e152306b0e08ebb68ebd84583e31fd4861d5d58e489754c96caea703a0f3c4ef37f28ea3784c3e4984c75ade7d1e797206c38c44638a77450143367d032734b98839c4d23f30863b6bad8b6912202b463a653b399c9d5e0b26ea268df3038cc05d00ccd633d65f706663b2227c65c06699a2d58b9f20db70e3f289337b0003a8f6d90fea42b081dc5e09e5a3faaec87a104af96328dcedc88d56471616213f0378711884d3aaae7af836419c8ba65e2dc39078635c5c7469f2588030c738b80803ebfe99c670b33c8a5cb55db046d9582f50a6a59187d41a44130bb59cbf06659f03897f169c9b8834cbccc434101da3de4b54c79a6462db1f2e7bc9cea2e02e88310219ffff030b2375fd2fa903a8325f8bfff93dcdda425b822335b9f7166ba11aeb9db53ec803e2b8f71f8c24794d3b1e7db60e942b27b5bf29cb7d150593a469fa8c482e3e150324ff35258d2884a6685e25dd2235e1f57cf530bc3b1237b693046892e6d75f9f03719d37a295c3a69a0cca4cb6c740fddbd53b2a44b24bd0d44876631532d1b92e03e345b8a324517a3ae09c59fa84c64fa010420941c9e53e8fa6b8ce467d66ac5c03675a866497e5c0ec123a87d62d1b619fc2a694bee201af3f96df6f8a59cfd6bf03af0d1cc772b2dfe9eeccaa4dc3a474317518b3ce4a0bd61f2855440d2b125cf50357ac7a4057345382aefc50a84adbc4f6ab3ee26ffde4da7ee64c83ad2efe28b9033ff410f3941125ea112ea9f560d93e88c8a6274c80bed9b0eb0aeab28ecf574f036fdd4acc0108a4949c33d1b4e3e5570b411ab461fbc77f4b8edd65354d69759803bcdf8c31989de33b8bcb32a9090a7103fbe9330869e1b3527b62245004cef0b10219ffff0307232529838604755470d92635050d3c6d84f2d0aab5002ebe02f18540e660080377a2695c614d78b651a7fb038724307048c392d053fc1705984138f2500f76ff039b96c6f4cfa06c1d0e58ff2586c4b2e5b12498c1b3dac792f1ea1d332bbeacca033c388ad5d9755605f252782c9e7919cc43663d3be01a8611bf55fec635fbcb420219ffff0367a985a48c9a65d6564ed3287b009ce449010053530f72fae6dd3dfc04261e0a0310b7218d7a7d3e086db85ba9cdd9cf50b2306afa7cd86434df79189a8840a4b703ff8596a7608113f0ae164d7909c8197a1bc9dbadcce6345d6b5ede35acef5614032530433d2b4142ff87e39b1a67ccbfb9413841f3d189c66eaa63b562ef6369d30316d433095af2bc376fa4039bd1d7f7bffbd5b783fa0a2c4105080c7729883f4d03cc2182baa3d45c6d4e27845b3b3885df46fb15e07b55e65ef63f06dc6ab2b59103e12947e0202203b99a6beb874fbda6a3a9408bfa256546d5263053932f02914703ea1121e818cde729a2a222a2de418e11226d0adf6a4171a029c63489a7f96de503d184f35797bf4808d1d983c5ae2d78a908a97aafed4d4cf29f67c646029122640389ea71e1049f1047d5f61297d3823e2417fc5d2243c73f9f88b00094c8d1767a03c50e062ac2ac2b7307d862aae588568e4d2af85bbbb442a1dbb5f63bbc899f6003f62ca76c4e409043f5f71864d4c0459ed1225d7f03bbd2c729707a6f0e8faebd03f4c2066e90bbf9406798507e63a9ad5bcbf5b894d51e6e4cf7b5de06dc3da7880303dbad8173af36b7fd06a739b85b387e319dfb9d56605b6d4eaf24943fd7052b03fe0da034a560964a98e9fee31e38514726bf05056c51879c602d8df1e433174403dbbba8c814e0c33c26adbba8d48d243d74f86b45e5487894496c17558bbe790303d6f5044b6716c7e5b44fb39575d111d0ed6f853b8c391c703162bac9f6052afa037b99fb11bfca18a0f73fe98ca8479d5333b50543bb8ef02466e825318716d18a03f2798a58e32a94d27b767fa63889cb0bd4186f150b27e375215005de0bd8e4db0348410b9688ba730327f6692cbbe4cf8c7d57d31b2b05b1beb61bfbfe617f3e42031d2414dbf26d6e43974c79b81a2a00e450cb2ffb2687a2cfbe5b18f0791868a803c2ce59d179a2dcf4310fcde679170d1f29a0f4cc67b16d5d0ea5ca5b3f6e6a5b030097a2a2185c771df9e295b8d8c9a7fff7f4f49ee22b3b401f9d4a023598f3ec03b8601416bdd16896a6ce23975cc4a58de09cab980f259a630fe7166822f19a830362404fc51144f23ea09cad328d8d43dfb3dea9636f2efdf74bd28b8674af678203df7510bbb9b39c6b8b00627edf63e444a9bb6699372d065f6730d052c99e674903209b7d2f08411dd3f0998c0cb462bdc44b440278f6ef4ba7ba463a99e10db30b035d11689a69b50216ed0730749f5b40e15a34ddda4ffc0e250c2a127f1dba0caf032f979839dbd4ec45338ff2e51ce6761dd071cf1fbbf9158ca052ea94c17b474d033673c9e08202d44bd4f76642b6c505c9a8af99549b5bc7224bb327844aef9ac3038a70bb6434ecdcb3e704c38a5da26a25d25c6afb869ed5f42ea65b081edc372105581d028f04036137f448b7fb4ef9ef56239acc436876485a4eccc40f6483e404189e05581d027a78d39836d90f74ca4f78cfdee4d61c25a75b4476213ac46ce6b36d0c03461f0ae2937e780219020403b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e0324c19138cf8fa3c63bf9130d5c16a3b1a9e646ce0f78147fd5773837e007011bffffffffffffffff03fbd24f0f7f7a64c192b804af417ed954aba4fecaa6a908b4cb419f6d29f7f91905581e03b6531ef6cbf6a6fde3722c157681bc4976213d322a01d242e33f8603500c044631acfa0a608005581e0362b0b321f5234ecbf4e382c0a6c596804164e3cecc6ce14334bd06c89004010392252777229791f83bccb3bf93a14ca08a3c4936348dc36407a9d23e820293130605581e039ec5e20f2544e5e3b99b8e587042cbc33ac83e2449266f24829f7bdb0007011bffffffffffffffff03718527fba213cfa005aa39808dbc6d749dc59702506dd55cfa0d1c00dc25ef9205581e03165902cc00c30422076d94305cc34ff84cc9acada27b911053f3b82ef0040305581e034aecbb0f1a29bd6d71949370baffd7630c37d2562fe832c8ebf2e32630040205581e03e7b55bebc37a7a34f87c842a684990f44cd5e65fcce3fbd223b05faa0004010324c81cc74752461f0a7d28358c9205d7e214f2a6817eb5582b1a0bbd92f9a73b0219aefa03a17a4f7d3934ebc612aef4313fd2bf60e8de34d7f4ab48998a7b3ca71611edd303086ea4b6e152ab15c3607e22b2aca20d052e027f0903481a88eae5f442ad22d2032ce3c6fa68608c6b2f2e650b2e8e1b546824cb6aa8b2511c3681880606ff05d90219ffff03272182e1910df09a7214760787209bf287b345b994b0da4ff9894b60351add840370c59282d393fe6ffe09d7a11fbf5467e277509ae885f7f7e4bca4e0832d3ff603902eb6fbc75f93e3085c225832adb74e6919444d46caf207266587db57464b0a0393cdc851ace915ddf6668d964da2f54127629eb90c1cc1fbcef0e3175fa01cac0332a7ef14ec93bdc8e813b7f716726bdd7fb67bb15c0adbffd317e6ca112cc90f03f8f333b9626d843b3008fb9e1d2103dda90314028de8532bb224615ae0f23c5d039793072681ef99eaeb2fccd3ccf265caf66ffc122e675296f1d3fa665cafd10c03ea818baf5a6299d03a91c699eb65e8fad4010ab4f6d1ba30ce9787c3463f5b33032d544055790bc21673be7ef98f1ed05a1cba11f4a71f0ba238e75f3c76a96e2403067f5f94d0d5f08c0d025f6fdfec5057ca36341ea93684c6d79ace73e020398703dc4cdca8a9a497205c8635c41023eb92207174d321366280a0a69e7d27fb9c7f0219ffff0380f48a5c3805d29c906d67297838182be00abff77a8c315838fe45e6c2462c040331e62dbbd93440b3508eb6f2e66326b6121348bf79df9e6f205fbdef70bd1d470219ffff030fb0aa1d75475867313d10a5b334e0b5b5fc89eeaf8a811b73b732ec0187f9f1039c589a29b65253b188f0fd8638ee2636d1921c5c660a63c8916fb1dfbe4e83a5031284a7b25d32581be32e7a6c3c75d699e87f287b02250208b95e8ebf9e3db5c903ff63c502ca02c6c039f15f163177b6d90a28b04ca64bdcf8e0b053b620ff5fdf03ed5bfbb2ed35b396d0042d73e46cee51e9e10d1956bf24f345e39e6c8354a537030b805c96013d17733bf06d661ab2132c50a7469e2875ff13a44cca2460087bd30359ad6b66551c8ef7bb00551743accff2a8b9f5c93c957cd18361e3afdd174cb9038b7d2cae6ed3fb955b340973efe2aab50eb4f002e70c81aedacfd552274693480339704d073941eda1ebed942a342cafea9102ffb0522b7a85793f14d64c70a2890303da863e8a035b41d9e7511920eb402ab6075c4607813c66fbe85aefe0b8b16803c4a24456566f4f7c71aa748d5f17a384db5475fd064f0cf98c51c5ccb678d16c039b57fefccfa1229df9cc8ebe11dd9016ace1b09197f8aa238a2988b3fc0ab96f03fed7e13d2ac38610a0d01e688c2206f0b3abc988b3d99bc5b1bb294837253ddf03c4c09fedaa153d54e97c3e2b76d0c2b1d4aead6f0cb58b2f07502fc44913b9d803bab00e258ad4d2442484097cecb2ba563d1ae0a623288310f1d22a5012de4e410305597524d85e8242d6926eaaf9eeb0c61b40b218c8e2ccd1520be83c4788c7b303991b7e375e8c9367f1e3ff92a0eff39389024addd75864b3ee93b175d5bdb34a03ea5e878fbd2182e991ccd87b4dd98efcf35ae60daeee5f2db6e8dc44957399b90335bc4bd25116b4af0a7988face044384156ac03b2c6647247d1f7378d50ab72b05581e0326d326909b87971329d0e75d48a2b5050051f27a49619711e2224c0d100c07470202bbc1bc8dc705581e0326bd0308873ddf6ff3472c0721b819a9bb6b8aeca1b29da342f3958e10040205581e03b8008bbee2a340fb8ceb80172a72fdf3bd1b3625fa45ed6a534349e7e0040e031d9e50f6cc1072ad8c1709ab320bf2a2f398df436eadbcba1c2ef637b4bf4100031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0317f9060fc24a32e9767792fa02350125fddaeaeafd7df9c4687724b1c007011bffffffffffffffff03235759db6bd388146cdd66c6e120180123c27d27e79170ddf7816375298d49cc05581e0311a2a52dd62764d086b5092ac3ea2c3c773aebe0fb8c76302ee6624c400c014732297a5f4c59e8021983ac03df63f1523cbb232cb14ccec08cc9b9363a3d366606623f962310307bc6aef963033ae3411870585c2936443379c8abbf104f8adffd0d7f1361ab08e5f397c8215603b1e312d2c2b822c86ed6e9ebe64533dd870a219f213639d0cdebbc7846cd0ea603f46597a7c6b1ad761a5c84a2cd564efeb4dc4d6c3f8e6f1c47d9491d228e716403eca67ded4c5e43ec587b8d0da83a4544cc291c75d0c4299710e8bec5c39600910320972d2e3dc34d379ff11d47ced864c5f65a2c51ebdd41d069fa231e7210f3600314ac4df5e7ed782709c980aa3852e68aaf27b65fd081339411535e186bbcf38903bf74abfc35da5cf3842d0022210a3a45969b4f7fcfe63532278c9f3d936cef8e03b2c47713bdfee6907d0e2c63dd552e9c2e60382ec58f9ad1b97325895bb4bf130219ffff038588265a4e21ab96d88b9c88e3c248831e4732c9e6c51151e5b901f1166b013d03fa2d8003b6b6c44ab1bc057f2225a0ee2e0b45af9320a83a68a715fd26b7113b039c5189a70003af7fc2d37f93f805b03700aaf0a780dbbb45747228f2122b9b2903c426db51879e4aef713602cee2507a7081302d3cbe363aa8ba4ba87b5612a1ea03c2ac5da1f193f6bb9ff8821cebad139ecda7f3a6b3fb9b079d63c6be520b04cf0219ffff0334c9438964d049a9b577ad390b656888dd1015690e2b4b392999deccc265dd930367945ec0d6a65b758fa70063065840fca7984e07550eae4335360afff72ea4b90362194bc0c3996d9f96b3f69a1c42c1a5ffe652bdf2237d58c22745ea0149391a0353002d2a583020b17b46c36c152bbf1188667dd8b83a067e3460a9c4ba936df8033230e503adfb4536a8ed13f299a6d8b64b5f56d1170ea82b20ac19bcc922d7d1037b9bea5d972a1dc902b3103a30b876b748108d3834f0be8d76e10d58c2bdada203de1d2a06fe3ca9277818571d507a76cfeda4d84cd445221195ce0516fbe86b3b03f30125dbbb2196c8184772a2489dacb76dd20313a2489e6ca22cc514f1f82bbf034a596450b16eeff41c1cebd107a23d97ed65afbf793d2895735f00880853a40d033fdfa284b792e7cfae7b21171b7aa1a8b92269474422d98ce0d8f056760a067703df4b764fc4ef4198d9bfa575bb72b47f348281421bba9306166451393664dcd603fd47661e606b7f926ba809d8a9b5e056b79c27541ebfd6da06c3350e0317636503fecfe048609dcfad0a61bbc9548132992ac7722b97753caa61b127c02d6fbfe80219ffff03b932a48771a9650f0246ca307ec8d668b71161fe85bfdbda86fd90392fbccfa503eea7c32c23de3140ed0737efa45ae3d68d10a16a39bc5d5d2e3fc4d4e3c4b3dc032bb8939ef729e42c5e4e0537640d3c7bfe3c761fb6532cd5b5952f0a64cd9a8203269c3ad9872bbe2ac31c8cfe1e6b4d9c776c2160d8753d22781aed16b5ff2e38033fcd77fd93edfac639cdb44718541bbf78e5cd2d65821a0085ce4adf83b31b3a03753fb744670654460f26551f48153a337e20815214f92892946052214b50eca1034444077f8c769a223c8ca8bb927cc8a034fc9d56dde0f9822d593af9d24fa182033f9600515204012d969204cd2c66f305f93243d4ef880f25ad25508a2aba14b2033ccc07e603720c56a58e945c81806f56f0746ba984d1190e16e526e8c431784d03991109f8611a57286ba1746cdfa603ac2213efd6a45a3b8c72169ced215b1e7b03259670107a99b2fad04ec16b270296bc11c8774660826f2a3b78087195a963270219ffff0219ffff035a2abab2894a2f68aa0d26aad946de8f9376ec13add4d5dc9c8b01b924bcc26f0330879c6e73470091e759125d2665f74b57184055f391fc5b5a7d105b942cb06403b5cbac790e2ddd11d11b85309b5f5fdbb23fb6e5bacb1b1b6301fd8709f40508038c07af09dd20b700020d8bba958bf68a25dec454dd913ddad1fa29ae2f977b7a03c9c946a9934d833f5df8ff728e92e933045304082abba8e403d0fb670dabea620331ad0b42957d902f631208efe4a45b9636f414827fbd031518fef33c00310924030dc75a68a9ce82b0c788645f3d051217b1bf530cc1d1373b7d5b7cf6af1c195103430a9056568315bfb6265d46a49a3c29ef44ec1d621872cbdc914fb8eb6f3721038e5f9c3188c0b729ab91d740f26e8f0c8571550e8ae6c004b7802e3c329d37f203b59c6fc5179760aafbe748dae63f9d3615ef6ab76679dda9813af3b269042f1803c3cd5d88fe76bdaa154c959557d2dd9e19beeb74b662c2d0c78326f29cefe54e03ffbe6b9c0ece7b4f3385e431fa6db2cae94c00766c89adee1262972dc0ee78c1038459dd4c07094dba5eb632e97e1dce839ae2fd55177a6b890d91fba347d1750603f3d3f02e99d60fcb80254d2f81288469caacbacc6854556db2301f7246a1e14b03bb5e65b1d6606b6405954aee166e927f9619eb66bff2c20a1cf9e2189d00b4b4030d3117f6d7ccab532e3f63e988d1ae02c47744b885cf5155150d51936b00429005581e03a64be0d46530ab22a4c3958a35223b7ef16ce0e81a7a0786c4bec279600c181d48110ad00f86843f0e038f3516585394381f6bf046690ba0cdd2dfb7684a9d84402b116233175778445905581e038e073cf8fd3666751c4102496558b73e96eca6d74e9a0ec2f78ae0f7e0040105581e03731e55319917878893b04d0a7abb388df16f77a200e29b760f5f73d360040103a3c2800da306b4e7aa172f5f945569e8a0f11da02e5da9d37cd1b50968c7b19b01410f037dd19e4fc10841929d6289c23895a99a20d93ec506dc0271123458646c32cef005581e03c1a60b3649331386a38a93db08afde1ad4359f61a746bef1ae48e7f0a00c014713d2fafdd8c00005581e0342cf15fe2311cbb011e70f41375cc57acc3036469ba20e4ba89f2a48c00c0346874e5aaa3ce803a3be9e8280478b40b33156f99a66efa107960c49323ce87956ad786c5454589705581e031ed3e19d07e472af2ed9d471aadb6936be5d2cd829c26a16ebca522ef00c0447b8b80697cb7a500219afb403f7c80bc58ae5c70c2dbb9941e7c3f507f8d15f7ea301dd99436480d0cfdaa94b036cf88f6bf0238b8477877b7431962f6ac70ef70511a449b93f006aa35fc464f903be8ca0f138f04343bc8a14704af434dec525e3f8b1e8b4ad85d77663cbe37b1d03677a9dc9e10f1458c3ab5b9f6fa3785b9018ef0bc2c137e9bce2f563fd46e5b2033822656a6abac4eecb5a1526944821ba9965032572ba428a37989d5a086d386d03bac31becf13f401f0d180dd9f511a24d57bbe3aeb8b3bd957166cf7f5c78dbfb03658557024f5665ff925846db8c451cd6edb6e40be2aee98650b1897ba21c5796030fc5a51c65769b684c6f4f78d3e93d56586ebe6f1c57fba384331a091e9a3efb0322c6e30c2821955c73b070b3a817745a66595d6b45b16e41c85359b482dd2f5a0351295f1293e7fe82e5be4ac2ffa85627c78b8b105972bf43f5fde576a24c265003dfb5c73d457d9c2ed9b167914ce78420860fb06854ba9a66fe86947313be8c3a03a1fc20d80dd77a60684aa6e261b08f7fbf2e5ab437ce53b7767794b7281d7fd40219ffff03b7a136e461ddcf765140248139e35bdcc324897a5759a3d19edb14ac20ed4d3703de118a22d159cb950fa918ce8a973eb5ee80cfb8f0b4fafe1c2a3e5c5b6eebaf03c4d96e7937b4a70f5b61a7ab5ed52d8ebc1fe1a8674d3dda47954eb7409b04d00333ddb42b4787da84d23603205e5a8c552185f76ba48a8f099a42531b038a484c03763b749dc4313490450a1c7c2d6d5156df5c71795083462c56c48b795deca1df0358a8804617105fcd19359f20f56f99b6dcf564ad80fec1316164b1c8dd8b54060378ff3a6967c7bac2c98538c7109d94936e9c715faf7cf51c4713c897250ffd79038eaf34c942d992d4faa21bc3d7a7c9c67be4b4592aa32fe481075097d746cb1a031d0b9ba68471ed411cea773077536de3fc4ac1f1c3fc236544ad53a6a1a131aa03cb3bd3812a461d61a1762bee79f43f79b2d6b5a4ef789e26ade83531124ba1e803917fa3ed95d270187c1c1db587b3cc3ff91d5c3ad436ec0e9c754872a28debfd03b662559739077babdca593700c683bb5788fbfd40fabc6d74f978658b32016560341213122ed8447cea63ebafafaf39baefbd93bcece164cbd016d3b0ee472669f0219ffff032e34caf769106eaa650251e41cbd0e6d250c60a2428c2a3eb95db38cd050a002032c518f8271a9f071db970aa3cacf01fc3d0bd3ec9f48626e85367a78ae37cf1103e8f0b5758bd67cad301c4a72320b5120014fe18f8488868a5f8009974038cff803fa81b21954704aebd14028d550895556822ce6e1c951c80220eac2d449516cc80313fe6d1113d85bc3a6065b0b9a14ff7acb7654fc618206c3b3a2d729e9bdbd3603ea01ecb770441602ae949fb7006ed5cf1920aa6556fd38ba391ea1f90cd527700344e53e466555b8a9566b6c8bd6a8767c0bf7e60ca6d1681ffe1b4d6687f5e20803546a9a3cf1d4d789567cb1446d14dd871b315fb5fa505276f0a0a80f9690d84b03ac8ac0e610fa8cd7a2233938a5b8bc9d75a95bfa209a42da39896df0a8fab0c10219ffff035574c559ef126f4ace1aa8c60221c98aba1e33c547ea6f282de9558aa9344b3b037158b2d86c09fcf2557693494b149724b3051ff3bac56144c1025ccf773cce8c03d4b724fc2673f2a59331013321544b99f760289290498a236744985d1afe52f70344932adad6f94d3aa72aa3ad3d2ba20c9b3d8bd413bf7dc9c4b3daeb14405fe6039a1f6bae4019b4f989006802e07a1a11b1b4e049d0dde4c7583e736809286efd03fc93fa24a3fac042a3376ac1853904ac389cf88bdeba9d10e0389130d96e4637030900c0bedd883b47679ad8d273dfaa8a953987fce96400a7d91e44a29ce5d5cb03eaef5d68675d06ae6f1ab442bea566329ccbfcee81f3efcf36078b723a99cdf1035b80b55f47cf874369698df6a51b787f736e6b4d52aed65a0cbc3fed4506d71403c19a43401192675dc905a33f7672965d9e3be916734869fc0f7e26642ab2622903f9385ccb377639e22964d03c370d3392328d6f3b8d54a560a1a2f7b774061fb2035d2c7f178a778eebb5c6770356247452cff29dc23e6754ad65541b505d3a387e0330ae9d0b8710aac4887c42a8fd6e2847c8b61c1801bb2cf3b2c2149ae7b2475c03ac2245d5beabfc0825582a7e2c46c4d479d05f171d89c5db1c0fdf8428731fda03cd62dcb46c2830e1f0e7bb4741da5d00d5a28c572d8f5b132b895cdaa98657a60322b04020af27d25982cf3a35637e06cfb7efa731d2b20791402b507224c67ace0321e18b623ecf50416b1bfdeea40d85b8435d6a30a1ab31b0f0d7f8732d58777f03111f9e98a5c45fc0669559a266d1dd89ad5e443c7754c1e2fb9bdf6d5aa6d167034fee23b3f1409b8a4c8b250c795f4f22daf53adf07f33b02fb620a8d0b7ff9030309e36c97fbb991094a809d782734f5fe9d379d9286136621a5ee06aa16b3d70303a783651b9f581ac0ba16bb50eee6ff670b3c16f4ea956f1fbe699595955446ab032f8a40f8eb57ecab1c2a01277dbcdcb0cd2574cd5b4c21f8459c60b67ac2a95803401f45c8fe5a59e896635b708693858fa778a94ef715ba44a1059ca7c75e5b85030d5709731c7a08a06e6c09284effa51a64aa2cff84e85964c2613ed914fbdaa40345394f8f33d7593493affef7b87271aca2dd8447e1780271089b9b538e919a3403dcc0b076f581be18d5e373a3b989ee01058e09a3ab61e1e5209b9d60a9bbbe0b037ac8d356056609f48090b11f91260657b19261da8de3f79d91d991de74a4dde303a72ec1fc1899ecbb73584ad5a3f071d71f0238eb164d020f9a0bab7a4531835603cb682205f18961d9302d1e91412adacc54dadde499ac1aed5f89a9ac23a88afa031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e032e8d515ca18424d00b11df1342775a289e61728fb67a647634da86b5b007011bffffffffffffffff03d7d633a58946d00ec7a1f93c1ca631df0a8673eae96370b6b72631a2907dfb7705581e033fc85809662858ef84da3bed357c869ee43c4d2819a83a2937915c2cd00c0147ae93a8ff9e300003b40cabe387ab1ae0428e6acd4f45febed642e349e6ff78e5a0c05562312e524f05581e0305d5e239991ca957fdafb6c81e43e290d6f76e225d6a2eab825f7b9740040105581e03ab5b2d37e3e36f18459c8d739cf4cdf28c3dafab87d3e2a33182a651b00c03416403cc80a46fd86aa7d5f4c2bc76f1e6fa171f6370a7220ad8b37ba5ecc254a992d7035a4c1af179adaaa7f3f14e742e56aa80a3bb4cc0f7652031b83a918e921c878704591ee0608060405234801561001057600080fd5b50600436106101425760003560e01c80637ecebe00116100b8578063a9059cbb1161007c578063a9059cbb146106b4578063b753a98c1461071a578063bb35783b14610768578063bf353dbb146107d6578063dd62ed3e1461082e578063f2d5d56b146108a657610142565b80637ecebe00146104a15780638fcbaf0c146104f957806395d89b411461059f5780639c52a7f1146106225780639dc29fac1461066657610142565b8063313ce5671161010a578063313ce567146102f25780633644e5151461031657806340c10f191461033457806354fd4d501461038257806365fae35e1461040557806370a082311461044957610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806323b872dd1461024e57806330adf81f146102d4575b600080fd5b61014f6108f4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092d565b604051808215151515815260200191505060405180910390f35b610238610a1f565b6040518082815260200191505060405180910390f35b6102ba6004803603606081101561026457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a25565b604051808215151515815260200191505060405180910390f35b6102dc610f3a565b6040518082815260200191505060405180910390f35b6102fa610f61565b604051808260ff1660ff16815260200191505060405180910390f35b61031e610f66565b6040518082815260200191505060405180910390f35b6103806004803603604081101561034a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f6c565b005b61038a611128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104476004803603602081101561041b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b005b61048b6004803603602081101561045f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128f565b6040518082815260200191505060405180910390f35b6104e3600480360360208110156104b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a7565b6040518082815260200191505060405180910390f35b61059d600480360361010081101561051057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803515159060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506112bf565b005b6105a76117fa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e75780820151818401526020810190506105cc565b50505050905090810190601f1680156106145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106646004803603602081101561063857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611833565b005b6106b26004803603604081101561067c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611961565b005b610700600480360360408110156106ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df4565b604051808215151515815260200191505060405180910390f35b6107666004803603604081101561073057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e09565b005b6107d46004803603606081101561077e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e19565b005b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2a565b6040518082815260200191505060405180910390f35b6108906004803603604081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e42565b6040518082815260200191505060405180910390f35b6108f2600480360360408110156108bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e67565b005b6040518060400160405280600e81526020017f44616920537461626c65636f696e00000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60015481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610adc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610bb457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610db25781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b610d31600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dfb600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e87600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e91565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b81565b601281565b60055481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611020576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b611069600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e91565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b860015482611e91565b6001819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611215576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b60006005547fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b8a8a8a8a8a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018215151515815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141561148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4461692f696e76616c69642d616464726573732d30000000000000000000000081525060200191505060405180910390fd5b60018185858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156114e9573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f696e76616c69642d7065726d6974000000000000000000000000000081525060200191505060405180910390fd5b60008614806115a25750854211155b611614576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f7065726d69742d65787069726564000000000000000000000000000081525060200191505060405180910390fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505587146116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4461692f696e76616c69642d6e6f6e636500000000000000000000000000000081525060200191505060405180910390fd5b6000856116e4576000611706565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b905080600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a350505050505050505050565b6040518060400160405280600381526020017f444149000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611aee57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15611cec5780600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b611c6b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611d35600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8460015482611e77565b600181905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611e01338484610a25565b905092915050565b611e14338383610a25565b505050565b611e24838383610a25565b50505050565b60006020528060005260406000206000915090505481565b6003602052816000526040600020602052806000526040600020600091509150505481565b611e72823383610a25565b505050565b6000828284039150811115611e8b57600080fd5b92915050565b6000828284019150811015611ea557600080fd5b9291505056fea265627a7a72315820c0ae2c29860c0a59d5586a579abbcddfe4bcef0524a87301425cbc58c3e94e3164736f6c634300050c003203aa660f55c440c1c0fc92ff3275ccd856c48f15e49cd5f10e28231fda2871ef080311d22db8a9b0290da939596392e34e39ee9b7e928851cbfd2268ab6a059209e203ce5b60f776fb0e6d81edd83386e823f81903f2ee3839b6395e9c78ee6c45ac5b034c209dd2eb02bd5ac92c8f181da780c706b5bd4a12aa75a5b90d80965d44a573039305c38021cb77e0c4395c8d63d45eeadf46cf917d6f8d177ce6f8334e37fe12033f214d4b1029ea926ef39dc6b21db07829fb8d64e32f7219b4057c5cb44145f10334a04db4243c2ac8c43a6d5c9ec7b57d92ef5b1812a3cc3a72a03c73900ff9c30376cca76c13154774f81a8072ef740768eae7c423312cda860eb8dd7c43c05163033818a779a88b7f8c2e45136df53e3d53eca6b5c83b122e81a81638a039990ff6031968d58bb8b69e7d4039b5ee1475d123b5db0cf9506c6d9e81c8ff7c1943b48f034ecc85ab0d2a4eb779e56985b39bb639b097ba06c7dadf4df0650a2339aed17b0392d332a87854807bca2467eb3f821f63efa046f6c873e8a923c6e8e77592753a032132c7c19ed61bbdfea6a87e93eddfadfbe123bbb8beca332a681d266ce6e0a903b496b931593642054b652526eaf433c3458ed3a1da101fd9744e2803725a3df7037b0a88e60dfe7e0735c40820be5e482697a67cb006d116a8853ea00ff7d6b78a03f2cb429b0833b45fae0cd2d2e42f203c9314db103bd390243209f8a1afdd3894031cb904adfd3abe24ac92e94a31e3b31229f5d8b246370cfcb348fd95a925b8d503a83113ab207051e712c6755c9bfef51c156d1063aa98f2c2aaff04c010eef4aa0345410ca3e1dd30a415c1fb09dcec8dee9d583016144a35fc78834821bdb2465c0359e9e6de7e1b8c4e88e04c8e4dfe2b1dc60103adce6d11cfd807b037a964ea9703fc4725a33ebf8733221c7e99351e91c978146ae5263a5df816020837678edca1037bcaab201b0311f8a87b9cc2c9826ed8bb25ebeb139602fd0aa16041830be486032505c8a4fdd283cb1f97939dcf76a93cd75a9fdb2bdefb5971ccf39244a288aa03407c51a223d15eef65a31e8849b4ea388e204744aa5decaf28f65fa7acb734b50323dd92621f3c1050337b794d13a8a329c8a9af90e6d09d4f3e01df4e3bd5ccff00581f03e83b570189343bf3e5919b5a4e52df4fc607075587e0d83087969336c5b048101925daa374000003d0ee96012679f224a6495bff10102f85a0607a3bdd534d17ed485903ffff6a8803459e2dd727ba7ce7f1be040a258a1c98356943a85e5edcc290a9eec303ce91db00581f0399940a5d44a23f0324218cb8a0abd58c1cb77a876e397acb96f25f3b8b004906dfbbbd7a9900ab2500581e022a269c87983648a5d44e97aa8b6ef2a2bc4388057742b355549d112b8548096258513d1e800000581e02f89f74163c36e6a1585daa614c1ffa6d18ea5e4939461f2f04edb8a3f04923f61bac50aae100000219011000581f03191f0c959c2fc14bd6ea10c60156a8db3c15d82a79c4045867de44e26f705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031297c865ad7f649c6d51f4dcfc566615aba675558d7ec8d9408019271c33fb3b00581f03789a80de822fc486fda19fc919ea0c537cb21d319c2c96551bdd478724e058207ffffffffffffffffffffffffffffffffffffffffffffe0396f0b7193be6442e034e63480b15c600f8db6670f5d41f4e19f5e5305376d793a0cf1475acbf6ddc730351805ad603e200f9e2e4b3b1ccfc0f798e138a267ceb3b067fb89b747baa45c700581f03d91ce2152fd3c29cd2335ba520acdd2a9f0e5c432249b2dbb1b222e9a9605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03fce2c4fd0fc61ba50ec66579494b00672176a88cfeb8db5f952e1e8e16805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030d704af74d5c7c1535c67f73909c5658b1e5b8f44b48bef4ab23ff48111b5f3400581f03e28dce6da94166d3309ddd3a7501d699d43f676eeaa405138ec67ffc18a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03807ccbbd519f487b729c027c2f26fffa6228f7d91766fdff90a528fbb14602640219fdff03a7751ab00400dc85184ac6a98c2bc204c579628cf6e18c8123ec319a87fc7d56030bba590377ae7362db663d6f6cc4cc7b164087f0ceae84e06bb40889c39f8b5603df78abcd677bfc4dd451c143e2e5e833cb3bbb7a5b6a0771dc6147a295d408660349a9019d528f3469d8d5d6178e011564e713dedca02457afb84bf55b51ba4f2603bc0cb1de5e2b8bc4ab3e910b1cfd584dfb2c9771c1a705c325fa7786ce40b7da030aaad1e1d570cd777e3609d073791a9ea921cf4cc8ae882f137e1eca49069a7203550f5d2ed27b59b78dc4164a354dbd2cabe619fa1ea0944c9be77e954bac9a0e03ec1b6194232b57f10156b7d0bfd6c5e63d3c8aab87e4206ca37d6554e939687803629bc3c7d33b8741a1d73d3da8829f4d80645b0f2088f7516cacae28d4047b1703ae2c95831f876b0929bd4521e7509abde0bad43da651397414007e76449d720503ec11c167aa4d7ccfdddac8bf6cf9a4475555edb3ffaf79d44ec718a66c7c37a9039c26b79cfe357a449049ed4c9fdde97b633dad86f2f19b97ed8d3328eed68889036891d9df6cdfe446dadec4a0f6f9a3c75d552c1684d06d510b8f11463be5641c0312b7f2c6c89247a5bdefdfd05ca9b3a367e006baf85ab51fdeba0ca2c95c753a039c678180851cba121f848302e3f3664782b82ea000b16f1fe9ed65ee2fd1f4f60219ffff03996a9c6d5e338160d85d954f7acb8e46bcce643ba7d45206fa1484d8a97af3f7030bd97620a698e6843718f4cebc2099729db71b48683ea4998ee7df0b5ec561a603b97486bacd838aff5eeada6ae22ec8ca86b066ab3c71d00bf20714ee8c4b4a72031b81d4b065ae6ce8c0180181ae94f3745ae22cb39f9b1de2dd3117f0b17b31da0374ec91084703f94c2543dfca7baadffbc4f83a2c612cd1bf4224dace4a4c7a9f03b9d76cc42acfc433ac88c15fff791a6d675e95c771d1c9ba0ecad2c996079f8203dddb615ccf399edb4fc6769b4a26829449f986c0b8cd67e223de638a5a78ced60219ffff03027864d26c036b829f73144850565441c90d94c5dffc37e007ef20e85335352f03ebb9a144123c299f6c5b01331d6f5b91eb0abf348cb3fc4ea1bda0654df5a9cd0219ffff03cf59375206fb5bef65890b544685c35a8d37b8e4e107259e04be29877f1882f603669d69c1c19a709ebe4d31e266853ba6f40e320f5c485d2467afc8285b270066032913fc222128574b93576b01fdeb639c727b952be535857ec5bc40b2ffc5b7c303530d9f70a99f4f055303460c8a21168a92705d4c86024315c81063d7e844c6d9038812853c53935e145834b4ce4fecb67885907c116cb29825ef8a79dc234e0088039ba604ce9ee5cb9441c147b4932ac4457b2089f46c454992e615463070fe4a4f03be9c62ddf1b0d666dfb5fab5fe347ba80254f310279b2ff938d3e78aefdea2ad0389d29e7f2d96d9e750ce16dfe55a7f5dd00cce60cda3418d3bf531d7b81f24cc03e4f786b630beaa726985be4a2cbb3203be0918c65c464ea2ca27c56739ad209b03ecb141249d825edd15cb7b0a2bc9a6def2aa3ef9b2fce3a082af4e8f1b9765fd03f399fa2f6c368f1e010b78fb1d009d0bf40ab9699ab99badc7304bd5f184690c03717abe9c5be3eb8f3d2e04c158ecd8e4b1b8a1de21b880f92636756e0e8cfa39031dac38f525f9e41080dbde7681b7e3bd44234f9cacc94bcadcc0d36f0720b25e035de37496367455b30e606fe9041380b6ee246518b3744a94610cd352c856d7da03e76292e8e7c6a69d3013597de0ad06350443214c8828486f5fb0e1fb6867865003840fd8a71bd717089a70132c42c74cb227a31a707630566dc53adbab9980c6b00375de50e92029136969430799496322e1645ad5d0d86a53e612d0157fdd23f3f903afb2cedbf03e0920e30d9f8e8f4f512a67e85523f4d03b788b20b16d84546190037922cfc8d2010d7eb9f9128a430734f0157eacb3d6be40ad49f648d207940f48036000e28ca5eb45f8aa62c67f55d400e550b87a49dfe2b112276d474c533d7968031c11f49e5dbd4f19438b70bb29e50e1d16e4e3e01518767d9bf2bede1b42077d0330cdad4de7d8a055ab5b63baf5a9dd0bf072f337630943362046d09a5178ba4203ff75db88f8dfd4411e0e9b4638d1eb732f8eed49a87d277485c9bbb54344f9b4034dcb8256483c2a99995efe4b1745648a0a92811255ecc3e375f78987e8917dd003c850057b62d484a81e6cdd09ed2e102a7418b6a63c48fd048893ef44641149c00315f12c2582305a812ac10d19aed35984cec0f2b139fd92bed03fe292353e9dce03e8fe1b022691edee37af9c80532c9018e93c922238f3ce36104a96d1632bb75d03eca0fd21db6520067a9c28aee318e619d234a878406773cc47eb4c936e04f6f0032c966b05d0f751b48c2c298017574719f1b10e8db0376ca69424ff1e0b4318f403e3094ff99bb6d0d2851d80c876b6aa7d926ed3dde79c1ff71d52a5cad269cfab034dcdf945759a28a910e44ea4c9b511d4af2f8f421627c42962d2bee750851b3d00581e020d03a30dc043f0ed52f6a24271798c665f5d0b38640822d7da6b20b7d54988562c920401210ead00581e025f3d9e97e488310742d80d286d0f862e030cce7e5127e59315511e09645820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021984000303b7f1355f3740fb64bcc4d1a3539c18a34e8486d0e9836580fd5fffdf45eb1203287d7928b96c5cdf974ab67db08ed6cc965665dd2df564465cd935e349b14b1f03370ef09d30874f575216c88ea428fbdf15ab62c151b7bf245d875fa19b081a48032b69b02c4327cc4b49b0a29f0247edfd56fe1324f2f82b37b91508ac5382580d01410d0387dde585d71572f70fddf3369d3ec699cc616162d0ee48aa5ddb09d1a697073200581f0399a5d977183816696384958dc0250a31d746d545ada443214510dceb1d104c19999999999999999999999900581f03161c2c3415e696d723f311975a1e3ecf693a8dd923957744275e0c637f904d0c9f2c9cd04674edea4000000000581f03c0245230c5c9d5dbc5eea829f3ac1601703d06de3e5136fa33d947aae1405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c3b70653312e9ec392caa9686c27c39c48e5745c5c3bc3389c9c0c80395db35900581f0398bdba686a24f4ab348175747a0e98022c507e00ef8435f2ca39a150888049361a08405e8fd800000219fdff038e9df458122f66d71949045d9a65b3093b436d75182ec7da892769fadba3a1e60219ffff038128f6dbfa8c97114f99500c2d9ad3b18f85007991f1bf9809963d2d0207d0c603fd7e5b6f452730f6ff545cf3f436788a72487eb40d4f6f6213110a3cbe4aaa0d03dad28a8f32a4c1c16d68bd4c4bab0698e5c30e915df035dbed66abd1bc9b4a6e0343c3d829698e6d45c7f8685d0f070ae7c8bcc8cf3c23e4642f5f6e7ce2cf802003eec434e5d2de3b0cedf649701d8597c591ec33c0059ba39ed60fec304de0ba3f039083f7a4fb40ddbff6b16ed594d2b35b71a87ecc65538124f03b1c670bd8d038030513f5ac0c9f521eb3e9cf5b2b68e21a6bea3c9cb00f2337f8173e17fe04a24803b613970ba49cb98e612e365dbcaac5106b2662b51a92c0dd6034358fdcdb791d03f2e65648040850592cee5103c3ff6ba4d79f0b55f5c3ceb2f8ad2297f1ac3330039859e359a7bf6c24d03b21e7b1bc46a63b8511d27274c4bc200486f31989e43803581737f1e9150a8aace19606f46798d13e63c7a5dbc82b3e9786850a63fa9f3a0219ffff03405a5dfdea55999a8a56ce28b13688dc868e823991aea0fefa1d75f46aed0d2b03abe0492f2153e0ecb51db3d54f8d6e85efcb6e4cf800037085433c99393b5ac50354cb619b5f1b09dec2d8ec178e522874840afc97a8e55984991371c8546f294c03ad2909163c38699cde8e57b32e0c4ccb31d74eccccfe94804f2f157824ab55e603b12ec0ce88d7fe079f94a71c812ef4a90ad72fe801a8096075ee4db3d67c563f03eb7332c7631846be0fe757d9810ab591869f4402504df93d231870f6a52c52ec0219ffff03517c3fe8777cb6206c9c1021af8cc59633cb61c0106f58c7396c338b11f9692c030991dfced614c6ec89f91d2d1c1182f0bae2e6a477e1ad4fcb13b84886b107fd03402d8d639e9070e04b9157be63adc57c417a4d03f292607b465365bc5dfc4f8b03177d8ad20c5fdfcc8541c9b7ac941306fb8f534a27364f0633cdfee05d3f11550334691e5019200a347c4c96df26d1beb66f7be10df838e9293b4cdcef0b7088aa03315e7c355ace94e4636ba29d9af674dafb04a8514e01f3f2e164efb8b332760a03892ace2a66531994dd756ddb96420ee11ec2f76c5911207e92d3f443b8f76e9c0354ec718fef71ec3911584e69eb614817b57a3725ae094db16fa5ec78a7220cbd0395dd10bb692ec962435557368a279d7b2581c4650bf7aae8936aac8a4e03a28e03976baa614546fabca9193fb0aa15d95cd07be00f6429f4e579438971f106014100581f03c6a3fe63d554828100f36005cadd48af0eae4c721fd4b4dd76ca1eb0a240489c92faae443f35d300581e024bf84638051fc606e5dbad22afba04f19175d81931e74eeca47a3c61235820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029006436fc45c7c25c9d50ed95176b7fd710791b2340e0b7ce57d71eff35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021008f2810544dcd9bfaaac12743a613e8d2ed4eb43bba491861856d2a84b06491bdd248328785cefb90219120103e7d5085476b1e184aec16807f0586c87ac6ac273d88321aa13e7eca709a4c4fe00581f032790f376390f8b53dd48f577b4141f07e65fddf8052ad5128b9b6f1ba12049040197fe1a7847800003f55a56a7145d094933c115279c9ad955d7f97ae58a7a648f85268028aa95b36603afc976fe4eb2b95d74af3958638dd98e2e4191616e44c906db78fadcce1fce1d038de43a74f20a9ff8560dc02c6d60ade402ba975d348ee58d9de03c3506f49918035a04fe53bfb35359f339d098bb5fb6bc2b62b32b6264f29416994377c964f6b703e7a9374a60b2ab0ea41cb962fc9b20137a6d5107075a8e2e131c133f1cb0d89000581f030c4fbab40bacecc734c2e6751392dc8ae0b4044d190e7c8902036c53efa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0328476abff06745e8dcda58e89fa56d326824583037513a1c14349749dcccb46300581f0388b1abbf641cc17006d1be43d69d790fc1aec5ad15e426f98ab91a3b99305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cd1f3ac0a4755986db5c238e4ca03cb72162020a2dc347d3f29cdb259a887af40370f9d1e7a765891f6ad70ee408f54cba1d902f60460a6146ee08d85cf90b9bfa0219ffbf030965a645c530b5d055a3e89115d73e3aa12e5d859ae3fe1b448b0284a1f8e6d60369b86761049625eaa813bbe13d527eef58cb64bf352a6d32ef3306273b24d35f03d9fd4123cb9e53587d1b99d314cce5b0e1b82fb847a82b6b0157f6e88225ac8803456cf34de310dc764ba1542d2bc01db1f2035c0fa7c1186c75169445083d770e03f3735ed2602ee7dee11e3a147ac8762caec6a8af287b594e3cf428d95896b6f003f0c65bb0b074d6b5ba23cb3bd4774655c0e2ac3bdb7664d0a18ffc1d38e562cf0311916077d4fc8619e8cefe5d9d3aaccbd09309a8e5bdd825d4d88c4f5ab11bde0368ea7380be454bb7597b1e0f58d33ecbb6b680d8dab083deb3b5891e8126c0c8037b411b0c92bb0df22294eb596f09755f266734d35ab34763b7b8cdadf115f9e703cf620356394da75e0e2fd766debb5e4bd9055ef0df18637d9c8312ad28a86c95032751c0f4f4e995d0df30588556083d13dd1180dfe02840c09f281c5e179d0d610219ffff0384471ceed9357fde2b3a34da48adc3dd0ae255b63020036b4bfd4be45f2dd9ea033691492dba03b05b1d40b6939d6ca66ada47e9a70cc75a117763752ac68e4e63031e688504a2b5d7f65391a9e70eb5d6e87e8ea16d8589f4d54c648f54f61873880376dcfd75ae4a21188138774c2578aded8d8e7d92832f7101d9743ce9b666761f0332092036f807eaa7a90ac07c17fb0f0851bd27c47c851337585f60af0f37b1e903eea0b02466264cdd1d6e5c4897607582c033ece174bfe2307c25c8574368c1aa0386469b648f01666ac9dab14bc2243a2ad2860ffd45509c5cef0d4a02d3e404470358f78eab38e5b6e7cd5d08ab845830b847b4f33026e3d486335909c724d515460359c2d24644a01066e89bbf297824d5bf021f0545f4accf6fcf2f6416d04dc2ec03688f15d6a2f5acd4a84a8c12a97b283c970ccd2b498ad31a039ee6289556a01903edde5f5d4bcc896401c800a51aa04a3d3448f3ea17d50019e556577e846e3a1d035d8a2a96e410030f8b0bb85207cc92df07b3e443a2614503ad0464c8c11dabea036e1a3822d3f87b3d5c1a4a90a5a52a18555cf817da35d361153cd42310c96035039afe32509f96f0b7189ef7e964f618e22538c50c8884aa080c66e9f386dbdd6a0336b94984190f5fe11929e8c595cfb85fe92b3bbfa85438f0b6b33d5d631a226f0219ffff03c3fcfec7fcce7ee08321495d22cbf02598cc83149e2eab7d57dc0ffbf46b93f203a80d58abb4155bcfb0090c0969ad5a7e0c81989e0c4dbad593daaa28dd2b236a030390b7e8e5be30c18b4e2a1dec076b36e52bea7b6291b709c7d56893486009ae0316754a07dd0e795c5ef45b4e1b2a7ea994294fdab3eb20f3cff03bbe616e892d037c175ba657cf7c66ff779ce6f81e58fbcb1ab0dc8616ab393d93f7ce3f4909ff033d43a090693fead2c406970a23c16efc432e6e174abb76a32a2c54263247ee11031b6223c65bb3bbbba3ae2714c2f9e15c8f2b0168db0f6e2f55b5622cc1f0099803e72d768fee402b75622ff1d6397f742bb936b361a30256595532c0c4700d6d8903213321a4cd140c943e7642096f0b1c9a3bdb3cf069f5f0504373ee9e78b75d62030611d866a670dded0f6a083cf0502856dd61eefb2bcdaa212195c2ae0199c1c00219ffff033953f0a98a45e8ca4d1dda9be715dd960a6c0e488e95143d061e1d6945215c02037464c2943896f66671b6870afc368cc3ff0d2166d9405dd09df095ba967d07e60394a3ff5a499b235938c9cee83746d1231247684aa87abc0d06805b5318c962d503122ed8e6cedb71782b0736201ce7680ccec4355c7b3a4bf7ddf1eefbc0b0e75f034d7cf6fbecd450e5c01bcaf538ba3ef2271c6aa5310e8f7dbe7a2194b99aac3003a61a052577d6a63931ca4db8cd4d5fd45fee236741c24ace4a4cd0ee9ead28ae0365384b2ad087428d587e322a39d381bc1a8128bd430a7bf086b66f5a3b759d6d03b407ed3ea8cbacba21d957b4b821470aaf05c866899aa45b080f5954afd0852903b97366059002e6f75825faca7a174cce1b04c25d93c031deb6f825a83cb716bd03c741f5438f5304545a8448c9aa336bbb667300dcde627e266161d410e884d36f03b9a0b1672f9e701de1f6b87fc3011c009c42750b8150ce8ab1d150a231fddb7b03c427c2ef77adb805df54dc1a8d990d3e1292a450f75bf1cf3066fc4097bf49cc039583c373b3d911b9e1737c53a20c37bb0dc3b262d848d677af36d8b3c57ce35303288ffe1f77d0605804c55b5caeb806e31d6a6e18b6c771e1dd9a859a2de34fef03aac3d1fd00b9c6e99e08dfe564eb69303330a11bb2eef29f2e6a266cef42d87603961aa7a7ef918b15065ef30365c2b1a820663fb3af0b08e51283ee916233c01503a47ee7f29b98aebfa1e688761008272eee345bcff1aa50cb50b6e5d20dde90fe03edd5c574ca4c3a7fa08e73ac3624abf5d8c0d6add2e7896b6b6cdaada6b3f11703490020e960698e16fb5d38999d03e724d3720f1010122cf11d9d5bff04f415b703a72cdd3ab6c4ea40e397e289a1b8c3bfc1e3b573286248106569f59e8184a91703c40eeb2dabb5ae15e4a0c9f3a370ff89210f7991bf2339ac234b6bf2335eb62403074dcaadfe954fbdaacbb8c72575a5128fb89a2d4ecbb3bfcb312121fe78c55b034bd0cd1e582446d0bd4229bd490617f4df1bcfb1492f4631fa036b0e50270fda0337573972549c93d414be39fa46b419007dce99de2483baec66edfe6b4bb7e42603598e8d1aed9dfeb6aa6fabbb3845bd57454596a806c61a5684227d9dd3bf1ef00399ef2bfe41c2aff1f26b51d4699a54160d73920bba7144b1afdd07b1eb75dc3203609e89b1f8779d20d7b79d12bcec00dc577330a3ec721cf9b4dd32662eba700b0382f3c3be4208f99fd21c4f2a109b36e85d109ff09f5aa3f0264410ea554126c203310a709c2de8f23642576b05d6f467e6948b048337c6fa500b38d26cb44de59903b84e544a440cb2c7e52d5f52d449e5f7ec83add3a71752f43081bbe5e52dd48c0346c8c6ee3e342f65b04c5f641ab154a4227910ccecf9eef90577e855f889d7d203e25a284af155fac7a99885330d4e902a94ea9728781b863f72e3d6ed1c58fa770393c5658ab53ef11480c99aed27af908f4361f27bbbe1d048265cf91b5ced52e403769ce4ded663117129aaabeaae100dbaf1fa727eb47293cfecf7cebb2645e21d039e8b3c93950976dc67540f613af386c05e60e2a9a6fec2af3c4adc7400c36987033f185e7dec3d72eca97115a2316e13f003f5c9a222c14442342ea669c3cbdc6c00581f03ef620ba21f1b19dfe9f75b1f486d89cc4975949799664989106e3b504f105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030c894e0dbc96909c0fbc03db2cfff783b5fe58b3a3542e912e055cbd6993475c00581f03ee2948f67eb292527ac93d9e5cf570df9436afa7bda3060afad532189b804801680491657ef81600581f03a31f44d1227c67b525908c0efcaa04528a871bdbddce17299a749d10e7a04b0122e3279994db0fbf038603934f6bd73c394c98578e5609fe9f1557c6f42555fb4be2a38b30a3b12eb2cbd6036957b87a4cc9eb5dd2899bb8823767146ec94215349b242f2173ee1b61e4134f00581f0398c68a494c86c832d321acace794118077267a311ee819d155da4d8c67f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03923f62db76bedd584e274fe59caa3cd7c379152a969620163cd05ac12ab04901158e460913d0000000581f03fb8f4b00e1aa8a5b58faf38f1da680c21d643f0a6d6c34c1e795a97072705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e7e9bc75c18e6f6cae6545c251d8c5c9174f7be4425901fea7367a07bb9e0add033aecf1b4b79fa9fe94fd4f75a32c5acd5101cad14cf026ad5a072b66aafed5d203cfbfcd93153bede1951450fc93fc968659da75071331d73006920f158d274abf03b7d52305d3e58a8ab251b291200758b2ab69324f51eaee9ff739f73f88be379100581f0334c117ef4d714512e469147d161422a38fdbe26e19a05c8b8cf6b21058f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffbb033b105627fa209a5ff5dd200d7474623fcd1f08e4db7915fb665beb41ee41e2020366e8829a71aac41ad83b65ff75dff7f17d30b383547bdbe4e1c8de820a6086fc039c1fc97a9db6fdd0f6ff6795b8f6a1c7997c1931d4a28536cfde7b3a460b84a7032457853e04cf4433dec97b656274a80d84af9603360141c34748d7c20329f42d035e23bf26c35b4397d9fc64d44ea123b892fb4d1dfce68bd9c767656d3ca5966b031e78db0c6456b441227237d021b51eb73bfb9decfc7bd03a6af6a2967569446703bf67b0c8ea80722f6d6f607ab32296858413d856b7cd7464cb3037ce60e8a32e0359a0fbbf034e5d88156338a31a360479e148ae47661ca6d1cc3d5e4507b2ed500219ffff0219ffff032b33dc93e171be1fcea16aff65cc40da71aedb8fa6b6c42957947c003d3956b803c18f6d7e3f77c5420aba33d067ec921533ca48724abc8b9abb5ba544e801f84a032db41ce16658f7f61b14a9dbff8b3bfa110799fbdbf5f3d46f1fc1650dc87ee80219ffff03026bde358582e6a3919d2d96aedb079833e5bd0a7e0bea46b32e24684756d66803c6658cac6cf72c45fa565a44595da3a890f77e84c116f7e0c640e37daa220a1e03f8f6d9dbd3e7da3f1a0daedc89c65bba50b9aff0b30db4edc455e208b38c14fd03f2e46317006fb21695d02720922e330731cb1ba199e9c110ae91119f9eb59f920374d39f206cd4c33dcaf289f1a64c5fec87b5f9f0dc9298eeedb18ba7f0ef783b039929439a6499482598bfeef9b0c24691ce5b3d6fe6bfb70207f7f2f68943168b0219ffff05581d028cfc997a82252167ac25a16580d9730353eb1b9f0c6bbf0e4c82c4d00701191ee005581d02a482ab4b142dc254cd296386030fe8c02d1a908075bb0c57c5d36d420c01463faa252260000219200805581e03720393ff9f9a5a3113b70ecfdd01ec81296fd5c7434cc8c89bedae0240040105581e0326a1263a49385849fc3d264449cc387a96dada0c5160f58c608505d9100c01470383de5d371000021935f703f29b186d2d1752166133ad00bc9a4be5f007410a68ee8d349c81ab0fc62a4c65038313bf139ea559d73ddc4eb89afe49877225d6a9bca436ea43eda3bd2075dd0f0219ffff03e2a8c99f39a327aec81f6a7f282bb8ce66c5f94793a0cf44603b34ddcc2835910317900374bf0169b52128569449b8d0c478ce43da62c46afb65a27f6df133cfb3034ad9a8a80636b42d21baf8902f3b55e76062dde258c544dffc1955046cd81a6b0315d09ba5d57081452867d45b9b197a6cdde8098d4cb92cc4d065c636f5535dca030687dc1f3151dfd8ef935aed3c0fbe56493267a86e2590ee2718720c20a6a27203bd9042bf8561d76f343cac54428b5e2c976ca3e51e71b33ca30ff5459e05f380036d5b3fb71f7136bd2d3713a9b100ba6d83a959fc0334602b8fd40de17398338d03da605aa63f218ef55f9d24ec1cbfdb9374c1642188448c2be218c7cf20306de703e99822e9009ecadf517243db4f5ff03f94fef975697d2c045aa02d046f8176e50219ffff03a6cf49ef3e6644cd5b36ce071574893d5630a56f5c967aa2f43abd8bdfbdb76303bcf3e044b64eb1a7bb9d0c7f2b0b023c2c81efa6ea393f67eb0a4f19abb1b20403ce0c4c94e37500a5cb4da9592ec52bdfdaf7daa8c0a1cc132fe0302f24e1c49b03e974ef788e5b3a0a971371c1a5addf7e312ffd4d5dc97738f9a4c22b58812c0f03dc5ea5844b91dd75effb8ccf05dbc05777c8c58496799163adec72c0739d595c03c7b8518dedfc90e62d7a91598d2cca99ae04a532b35eb05e970869913f4ceb170219ffff03534d201c4d3049f1dcff3bca2305db534525b389a34a8b22bf63d571ec4db25b0315b4dd345fafaad3d5e9d10c724df92d3447e78c61a8c5fed765abf3da19e20e03e46324f4de330e4bd53d196d00a5a454e812385bab6c0da1b766c89d2dadc37f0312c989b0c76252f2d569d26ca9e739ef70e46b9657ca953fcf603b5049fc1a6103f206c503cea1dba6c2a7dbe6ec989c07aa7ddec62e51166d4a5a053941195b7703919e4182d05e2f3749884101bc8b7ee94de8e599df00e2025ded9a1ce9fa6ade03f3d021835a356f8af3df3df17bfe8643f2cb3de7222e8559561fd97e4dadbf580347559de1dbd2f6222d654a91e6b5827874cee3a0f35d6b8e279b178b89c2705e03c506bde6f914506df8927de662fc033d0b2aafba6ea405293adcebfc8bc5923a0371ca962f972ce4a8f2e1082edd6750baf549e6815a1ac23c507e11549eb2891203578a37254f77866b9eae06117570853610ef4fcda9e73ca6add710ac2d14ce19036ec6c82a362a30064a70f4ff49e9124c3c19641c35516429b47e1875781c6acb03bef507c703d03f351b5bfe6affd38ba161eb055b3a884d28052634487e78fb6403f69249fb5363544ce868489ae7c249ce919be35ba52f1dbf2453c2cd8052e4b903db3f613865c615eeecc6e37ccf528b87c0bffbabb11f611ca392c8240a101111033862efcf0d98d7a6ea6ee762a204e55b62d8d8aefcc59c47295a62d95e01c515039dc8d4ac94d378baa4e58babfb3fbecdc192e56fdd98a0e6e1733b41402f093203984042c3f757c89f432dae9aeadfeac48ec56274dee145657c270a9fda5f41cc034b9ac09c5230e6c3b5ca9ed1e09f49a649eb3625315ec38493a42853c4587763031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03ee66e9318031ea153a99baf7c92de119ee5891014077a4aa1d597f5bb007011bffffffffffffffff05581e03c76d28dee488587cffec11cd70edb44676cc1e6c3043b9e2ded24aadd00c0247012eb2c8c4fcc003fcfbd0c9930fe3abd0f155c036839f5602e3e983e1a1b2402500774b07400574039c738a601aa89fe5a64bd2f0a24b4c3052e9c9be936e6079151dda667fa5102d045934bf608060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461014e578063095ea7b3146101de578063131554551461024357806318160ddd1461029a57806323b872dd146102c557806329fc99da1461034a578063313ce5671461038d578063448f643b146103be578063485cc955146104315780635f6be6141461049457806366188463146104c157806370a08231146105265780638129fc1c1461057d5780638da5cb5b146105945780638fd3ab80146105eb57806395d89b4114610602578063a9059cbb14610692578063c0bac1a8146106f7578063c19d4550146107be578063c4d66de81461080b578063d226ae081461084e578063d73dd623146108a5578063dd62ed3e1461090a578063f2fde38b14610981578063fccc2813146109c4575b600080fd5b34801561015a57600080fd5b50610163610a1b565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101a3578082015181840152602081019050610188565b50505050905090810190601f1680156101d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101ea57600080fd5b50610229600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a54565b604051808215151515815260200191505060405180910390f35b34801561024f57600080fd5b50610258610b46565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102a657600080fd5b506102af610b6c565b6040518082815260200191505060405180910390f35b3480156102d157600080fd5b50610330600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b76565b604051808215151515815260200191505060405180910390f35b34801561035657600080fd5b5061038b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f35565b005b34801561039957600080fd5b506103a26110ff565b604051808260ff1660ff16815260200191505060405180910390f35b3480156103ca57600080fd5b5061042f600480360381019080803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929080359060200190929190505050611104565b005b34801561043d57600080fd5b50610492600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061139f565b005b3480156104a057600080fd5b506104bf600480360381019080803590602001909291905050506118ce565b005b3480156104cd57600080fd5b5061050c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118db565b604051808215151515815260200191505060405180910390f35b34801561053257600080fd5b50610567600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b6c565b6040518082815260200191505060405180910390f35b34801561058957600080fd5b50610592611bb5565b005b3480156105a057600080fd5b506105a9611f86565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105f757600080fd5b50610600611fac565b005b34801561060e57600080fd5b506106176120b4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561065757808201518184015260208101905061063c565b50505050905090810190601f1680156106845780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561069e57600080fd5b506106dd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506120ed565b604051808215151515815260200191505060405180910390f35b34801561070357600080fd5b506107a4600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050612311565b604051808215151515815260200191505060405180910390f35b3480156107ca57600080fd5b50610809600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506123fc565b005b34801561081757600080fd5b5061084c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061245b565b005b34801561085a57600080fd5b5061086361286e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108b157600080fd5b506108f0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612894565b604051808215151515815260200191505060405180910390f35b34801561091657600080fd5b5061096b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612a90565b6040518082815260200191505060405180910390f35b34801561098d57600080fd5b506109c2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b17565b005b3480156109d057600080fd5b506109d9612c6f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6040805190810160405280600c81526020017f52656e64657220546f6b656e000000000000000000000000000000000000000081525081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600454905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610bb357600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c0157600080fd5b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610c8c57600080fd5b610cde82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c7590919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d7382600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8e90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e4582600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c7590919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f9157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611036576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5f657363726f7741646472657373206d757374206e6f74206265206e756c6c0081525060200191505060405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe6fedbb0ca24d3941dc4a12d0828506721f168790753ebe6c0983f1e508c575f600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b601281565b611130600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826120ed565b15156111ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001807f746f6b656e207472616e7366657220746f20657363726f77206164647265737381526020017f206661696c65640000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166333c16f1c83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561127b578082015181840152602081019050611260565b50505050905090810190601f1680156112a85780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156112c857600080fd5b505af11580156112dc573d6000803e3d6000fd5b505050503373ffffffffffffffffffffffffffffffffffffffff167fd25cf0decfa32e171787ff892bef2e16ce72fd045887ea9af9bd7f105ecd716283836040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015611360578082015181840152602081019050611345565b50505050905090810190601f16801561138d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25050565b6040805190810160405280600b81526020017f52656e646572546f6b656e0000000000000000000000000000000000000000008152506040805190810160405280600181526020017f300000000000000000000000000000000000000000000000000000000000000081525061144a826040805190810160405280600b81526020017f696e697469616c697a6564000000000000000000000000000000000000000000815250612caa565b6114548282612caa565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156114f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f5f6f776e6572206d757374206e6f74206265206e756c6c00000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561159e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f5f6c6567616379546f6b656e206d757374206e6f74206265206e756c6c00000081525060200191505060405180910390fd5b6115a78461245b565b6115b083612d53565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156116175780820151818401526020810190506115fc565b50505050905090810190601f1680156116445780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561167d578082015181840152602081019050611662565b50505050905090810190601f1680156116aa5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b6020831015156116f357805182526020820191506020810190506020830392506116ce565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b60208310151561175c5780518252602082019150602081019050602083039250611737565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555060016000836040518082805190602001908083835b6020831015156117e057805182526020820191506020810190506020830392506117bb565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206040805190810160405280600b81526020017f696e697469616c697a65640000000000000000000000000000000000000000008152506040518082805190602001908083835b60208310151561187e5780518252602082019150602081019050602083039250611859565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555050505050565b6118d833826123fc565b50565b600080600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156119ec576000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a80565b6119ff8382612c7590919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6040805190810160405280600a81526020017f4d696772617461626c65000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e322e31000000000000000000000000000000000000000000000000000000815250611c60826040805190810160405280600b81526020017f696e697469616c697a6564000000000000000000000000000000000000000000815250612caa565b611c6a8282612caa565b7fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611cd1578082015181840152602081019050611cb6565b50505050905090810190601f168015611cfe5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611d37578082015181840152602081019050611d1c565b50505050905090810190601f168015611d645780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515611dad5780518252602082019150602081019050602083039250611d88565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515611e165780518252602082019150602081019050602083039250611df1565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555060016000836040518082805190602001908083835b602083101515611e9a5780518252602082019150602081019050602083039250611e75565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206040805190810160405280600b81526020017f696e697469616c697a65640000000000000000000000000000000000000000008152506040518082805190602001908083835b602083101515611f385780518252602082019150602081019050602083039250611f13565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff0219169083151502179055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561206b57600080fd5b505af115801561207f573d6000803e3d6000fd5b505050506040513d602081101561209557600080fd5b810190808051906020019092919050505090506120b1816118ce565b50565b6040805190810160405280600481526020017f524e44520000000000000000000000000000000000000000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561212a57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561217857600080fd5b6121ca82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c7590919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061225f82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8e90919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080836040518082805190602001908083835b60208310151561234a5780518252602082019150602081019050602083039250612325565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156123b3578051825260208201915060208101905060208303925061238e565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060009054906101000a900460ff16905092915050565b6124068282613166565b6124573361dead83600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16613373909392919063ffffffff16565b5050565b6040805190810160405280600781526020017f4f776e61626c65000000000000000000000000000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250612506826040805190810160405280600b81526020017f696e697469616c697a6564000000000000000000000000000000000000000000815250612caa565b6125108282612caa565b82600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156125b857808201518184015260208101905061259d565b50505050905090810190601f1680156125e55780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561261e578082015181840152602081019050612603565b50505050905090810190601f16801561264b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515612694578051825260208201915060208101905060208303925061266f565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b6020831015156126fd57805182526020820191506020810190506020830392506126d8565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555060016000836040518082805190602001908083835b602083101515612781578051825260208201915060208101905060208303925061275c565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206040805190810160405280600b81526020017f696e697469616c697a65640000000000000000000000000000000000000000008152506040518082805190602001908083835b60208310151561281f57805182526020820191506020810190506020830392506127fa565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061292582600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8e90919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b7357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515612baf57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61dead81565b6000828211151515612c8357fe5b818303905092915050565b60008183019050828110151515612ca157fe5b80905092915050565b612cb48282612311565b151515612d4f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f52657175657374656420746172676574206d6967726174696f6e20494420686181526020017f7320616c7265616479206265656e2072756e000000000000000000000000000081525060400191505060405180910390fd5b5050565b6040805190810160405280601381526020017f4f7074496e45524332304d6967726174696f6e000000000000000000000000008152506040805190810160405280600581526020017f312e392e30000000000000000000000000000000000000000000000000000000815250612dfe826040805190810160405280600b81526020017f696e697469616c697a6564000000000000000000000000000000000000000000815250612caa565b612e088282612caa565b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fdd117a11c22118c9dee4b5a67ce578bc44529dce21ee0ccc439588fbb9fb4ea38282604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015612eb0578082015181840152602081019050612e95565b50505050905090810190601f168015612edd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015612f16578082015181840152602081019050612efb565b50505050905090810190601f168015612f435780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160016000836040518082805190602001908083835b602083101515612f8c5780518252602082019150602081019050602083039250612f67565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020826040518082805190602001908083835b602083101515612ff55780518252602082019150602081019050602083039250612fd0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff02191690831515021790555060016000836040518082805190602001908083835b6020831015156130795780518252602082019150602081019050602083039250613054565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405180910390206040805190810160405280600b81526020017f696e697469616c697a65640000000000000000000000000000000000000000008152506040518082805190602001908083835b60208310151561311757805182526020820191506020810190506020830392506130f2565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051809103902060006101000a81548160ff021916908315150217905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561320b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f5f746f2061646472657373206d757374206e6f74206265206e756c6c0000000081525060200191505060405180910390fd5b61322081600454612c8e90919063ffffffff16565b60048190555061327881600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8e90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fb587194ea6c8d30ac3f9973c37a39f8f87dd0d2d1a2d13b724e4bf9bd08b7787826040518082815260200191505060405180910390a28173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b8373ffffffffffffffffffffffffffffffffffffffff166323b872dd8484846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561344a57600080fd5b505af115801561345e573d6000803e3d6000fd5b505050506040513d602081101561347457600080fd5b8101908080519060200190929190505050151561348d57fe5b505050505600a165627a7a72305820bee336d5a3712ac588627b4ae25c6c37a8e218480762cfe46fbd8767607ae134002900582102843c9f637e19fea83d4bf5cee2f17c66ddaec2335da035b18630877a96dd8e234cff000000000000000000000005581e03f77d9b656b94d1d2b6e85e2a92c71311a9b4d0fa4ff8431ba8fadee0c007011934bf031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03c2b59ab5fbf9a66fa54e8408d23bbbe7682b4fe1b07a2782cd894520f007011bffffffffffffffff05581e0328db2093493269b8a61f4f6b96f872e9c341ad1e900e44ddc05a16cad0040205581e031a7c3991e42ddcee57310d9e7b856b69b595549b436eaa50f2a5d13fd00c01470db54b9ebd8b4905581e0353cbb8bcc156b2b0c6956ad3cb34dd7641d60eadb642a1673662dd8a6008475646395201180005581e035308c0c43d47ee024154fe63fb8e6b75b010e9e2fecdc4d13fe307fcb00c014701b5ddace1d9a803f72a80bd32819703f08cf29b50c2b9b5009e9289e374c501e4c9ed642daf0cf90219fde9035382779cbaba1e3bf02d3e78f3d127bc1d648370567dd60b49154269c795fda90331022076ed3466c06ae9df3110547f92f6ab19c3a48dfb23bcf3aaf5f22530c0035d1d91b41187d5201c0aa461a532985e03b3edebec9c04c0fbd4e626d161072703d02195d2f82acc925d53a8cc0a7a6aa2a1fefaded09c207644142f7ff8191857039bef604b58fecfdcd41c1122334b13125902312a65e2a753e22b61f774cb8bb203847c984eacf2dd7ee7be24a38e4853daf9709cd8ecba5e50513bb0454dbc027603a3f1d9362374da91e95df0f0b1dd165b8b20a380005871f41ef3b5d5dd84532f03168ca700c3540527309f9f3d0b53033a017aa32555b7c8a0639fa12b63b966b103ecd59f5861eba792d37ac938b95eb6cf3ecf181dcc0e06949fc39e0372383720039984a6d40401075cc16e8187408965f95963de34fa31a0a7f70ec0df2c85def2039a9b5d1ce1046655cab16874432d5a7fafd83bc77b91c6813c45a53cd1ea17ac0351500e20402d93c776167b3647e0cd9c1c2bcd62fe6f8b3e419faac117223b3d039cec7c3de4ff5a39de48b3824b11a736f989d116a70c55cb853c93e77a2f6c660396fa51e2ec064211cd2d2b3fd93e67fca5b78462b3e517652bdbb9f7114670c0039951f673c941e96a526834a928f1e51e06034b30a77e14c3820be035876014100219ffff030bc11995f11555c40d560c10d58f95064e11e2df1a504253e681335ae853d93c03ec3df7c322be414978966a58e528006780cd7e1b99293f27b035c6fce976e52b0219ffff033800b3f76dc71706cadace820bd5dfa978df97b0852b34996973e2ea2d481ee20300bee6c2a848d7e11d5930db1dcf8a0a92cf21687f4d6e0a6a3e20cc3075a2450331fee70c5f9f3112db2ea61ac586be545b96f6b2785cf3f7ff507c4e7179a2ec030c79e231c4881f0b4c28c7b8822b05cd1661b1763a6fcd96bc3e63c207dfbd9c03d34aac6ca71f980b1214be0ccde26a87231522151267d41f78db636d2b9e5c7f03322cb3dae1d910d291834d98dc466b63a96e536322ecaf53bf5ac1544d92cfe0033586b7ff3ce196abb5f632b2e29f2a299e599e0952cc945fb341d9ad5a519441033cbc479e7859252b6d6b24099892f7e8f487cc1988a1bc17ca3a22cee8296c690311d4f51326432141a0d5a2ca6abf5c9255b21c4e047c10507d524018c56c5b230315741b93849d35a8af946a8cb43fb803b2229e154876316c39b5d4f03821b32503ccb280233519933042d91bf1fcdf764a1903df0364c863ccb608d3919e33d4cc039d8c282d4c6d1dff794b967f9e27832a79bc92410825fca7503c70e37d1910a603616e1384851e835f6c28a734f2f9c5edfb5731370e5520a36996733adeef3d070219ffff036abb44293dfa5308d59dadaabe2f1d6e9f19c739b1a1705c9ffc4c66e12b439803f2827ed1b1be06545e38ecbb3fc24de6766e6a97e7787a5db64c366a4f043888034899d373501b0e5f89383de22fad353ccb88a1b7dc6fac8ae83fc3de3b4a7ad3039d48330387a01025bbe1d2c172f2eecc6710477276eba503307a74937d5628dd03cdbedcb7b6c705b3838e849300506fb9eda3d32715c4096e35b5a2cb4edab2180219ffff0385952db928d0a8f1475d67bfe1f126e200674c58a571884b33104ac7592a085303b580e9f2304b3c19f817e5b6abef4dfceecc692701ce6788de82208441321aba03159108894596a259d547aa433731f67d16cd2d6509cfb6847f5fbf6424a04c6203f9785a0732c6951012b44400ffcf99b347d1ae42378d804ce7fe5de53b697ea303567bcd5d810d7abfddf14394dd8e72b66ce2f35cb03ac64e135c9bd3b7241ee503598cc76790b0d17d5cb9cab83fdcca646c38f7a936380ef588d61dd097f02f16034bc8c82c91a1358afdb70180f51a74f83a7f1e853a27b32fbc318e7631fb8f34039e73d0a0dcf0b87cf0d25cff125d85df4f3eccb67c73a1d0ddf5187f0ae45bd703f28919f49c491c6624f8c59982763b06240b69932d63c92b71103f972cf2d13403bfd6481878653c4a868495b9f20620c412a864871fb65eb7bc800aaa5c2ced3803c31c01f19a2d19abca281d7d22b17343cd0cf3e130b0be1af3e7247618cf6ea60355a2de0b57227b1065ae762968c18a98b1bf3330d47aa50a48d1d8fadf82de0803ee4ede93e2fbd7e3e33d407e33ec4060f2986dc66503f34ac16209c2eb5c1a1903e7a56ed82b3eaa77b5d328d5a85321ad6fa514042b37d71be130788f1435bed6031ddefd8b662e609059cd2957339699b56055a379fedd592d43f4f8478182fc3d03d2dfa31180ecb9f77340dce4d392a9c0cc4e6e1532b78f4d12a2d5764a49051f032deb23d38ced77c3e23583df2d06a08dd445df4892a1c75ef7711e1fcacde5bb03f0161e18177efade1593b292ff93b14d95934730b40e9a99129d8342241d1a0a0379e30d05c8765b73fad19b4aa4eb65340256a1743437b39c37d917833143bdb005581e0309faabfaf9060b41f35070c451a94b84524405a763e19c06d850b72850040105581e03dadeeb4cbc7cbb2859035499afd9d61846e19791e6da9ba579990142a00401031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e032b352c9cd244c92af05b093e78f50491f770a944b935c19be75800b54007011bffffffffffffffff033d0f860f98345cad535e4f859a664ca2f250174d55759b88c13192dfaf7f469403845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581e03bb84aa584a09444f6c6f7df1bf5cd57cb1fe3c03616fd73e8e8b3be80007011bffffffffffffffff05581e03c97c8a0b6618aa22800344a2b1707aab1c6cc8a31e034809c5744d65000c024501dcd6500005581e03ca1bef436a08af023d370715693f9a3a2b1aa4c551f2ab31cdfd053d200c1a000f1f91493345fd75b110ef5fec05581e035cd247b357b90f83a5b72352cda5171539d3ed6f7fad760477fe51a8200401021944fa0378c19010b5b832c1dea3318894f1fbaf1d79e9e8c49c336a0087a73ca2c15fdd036c56df6611eaebae5b9d3c7ec19350e30a7be8353fe0ba9d8143cb8056856ee603bc8337324543b875254868e5af9b5c2400e13954bf2c83c748c556d612425fa903231aeca30a71dd7c6c562d9072bdba002e45c9b6741663853a6f4a0d1bf8595f03a1452e59007b6dd44763f61b1e63fe7de7c85e79fddc34d94c8c3afa296dfa2203fa2275cba99c2b064c3c9d70eef106505ed0c22ca944ce899ae88dfbb33b8c25032bbbe8559d8c7b52a60df72b3ee4d6144577240a46b4e1368adda3a5520556c30219ffff03caa5a66ed59e4698e6b8404315f8bcd795147f54cb250b40a730cc439c7c09b2037f4dcd0367691b810dfb40f71bd9aeca789296701ac888bfd7e6fddf8f8116ab03f525c3446003e8fd2ca6a86a4367eb850d83c117e77c8e2c03f7e537b08a659c037f8e4dacff2f404082f0e6248e14216d40e69fc21a0b8881b1b27d302a0262dd0358c8cd28a3230af9ee879757f917cc680d121ffde13ea9f5497d04840a73743503da85c9d72e7ae685083f784480bd626610879862fc63ff75253874b16dae418003e752ad0e21b9172fa149d5bcb4ecc3e1de90ea31fc4f75733b02b25ace42e4b30219ffff03c0e2d474cf8864fcb0a70cc5a9708218bb30dfbc0b657e389b4d94604320bc9503b249df36d13322a12d3923ef55bc2efbcc691df0633104d189f72306de8b83f10367237770bf948cb392e98c820c95721edd71154b3c14e83dfd267cc49f45abec03998ed8c2bafa419317dc026d17f69ff601aed5b6bab42e1e69b711f66bba47fb036c8f7e4ec101316b4857705b9a3f5993cb54d9ebc9fdefb5837b52d55d75e16c035030c4a21a50e823416869e98d54e5a037df813300ccc710f090bf676c84c23b03167b1f86315f00ab0577c451e7209beef582b344fe0605c172fa20953a417fea0371ffc0b7e5581b5488b859e9e79691ac7a5dfab52154c22df58d820cfaffb1e003d2ea854bc2be91c4df012fb5e4847566bc7e0fcf9dcebb30d6bc6bfd9f5ed83003c6dd908beb076a1a7c98b01cb57e0f89c068739c2422924af70c459e20cc822f03f0b20079da567c0f09633b7e01d6e01e3cf8e5caa726ccbf64e043e256726c68035299d7913103d59262df9796f661ca7a8fae5771818a4bf8cb0450fc426493710365980bdef5f2574ab91c2ab866820674f01bad5268f0ee8e27f4d4072fe4f22b0219ffff03eea4a7537a3344eb0cf5379ec3b53b103b01e11f79af9f540d00c7a3a7de95d40315d6c0a3cf0e66a1a07dfb53503e958bf28723d1966767d61cbbf3a3aee91928032e313ccb464ecc3570acc44204e02008eeea0aac7de43812502b5a397b063f3603613c789de7c55c56792dc530571052876123f246a18199242ac1b3d4b6ad249b03a4aef7a5a6429cde4ca96f05f01570131731d55e2240a702572ce28bcedc5f660371ca019596c99cea542d7efcd2406fc558d0ae47d9c70f259a706cf1d4cb5b230386ca238f285d8ff374260dea8850b85c0b048b932ecadbad6d06308de554e40803655002b061c6eb480f49f77617741ae09464162c9e7c5d47c9a620fbe11dfa4603d447f5c6b0fad50cdd4198b93d58645709c1d5604e66c27bdb63cbda97de421703986ca1f26556425592634f036e665a07aa6fbf119a9b224bb06d2ced60966438031a1873d4a9fc700f193a038e657ddd1845420360d6b01571bf06de9bdfca82770376e17f32a7b263cfd96a15cdab64473f607f2eb4ebd0a5a831e2100481885074037074db05bfb2875892ccc1fa71ea6981bd67f62535e43fa917b72c6cc330a50c03a29f7806bd7141be33be6e867d70fb1787237f2ee4a41c30d9bfa91248b103da03ce26817463aa8379ac10c363bcc7f2696c0ca0a2e37120bd46a004a08cabf0ef03b5cb8875bbe6be12c287c454273b56fc2db1bdc7bd41c92ccdae1acf296564d60307f6c77545ca8e06206e85d00e09d0b16907a722d7f88406ae9751c16537367903f99e24af21df25d3bdf457272cba2c716344d6ee4c96f8008d901351890ca554036eb9a9609f41367ba9185ed8b5cd0de359a39778036f4b21137a66fdbd382e210332199ec454ba58e489a29a866332fbb2c4c08c4071c39e06f813828ded7067c10344abd264e69e8c0263dd76ebb54e3535f6194e952dedf972541a39567eb9e5b403015383dea35cdac796d465cc48b2bb48b5b17dad1e1805e8a5d4a76922b2b4f903098095cef8d7b15235ca5241e0a0a843f7d6c7ee89e8100d177f77120201b0c403536e49442891a9d527a3b53257587a4f65c3ba168c5c1f75bfb44848de8bc01e038872a9b703554cc1e3150f1c667d96c01501c376d3c86bd286284d4cf88c6f5d03c0290a79015b3582217f3355cb5946919c6d559eaaccd5dafca4bd843e1e98a803ee731674c89ac53d47afcf1c7e70d34375883e16ad6e90a75cb86aea3f1e6d32038eb4cbf923f92f9bf59f52bfc0c9262132c082066715d31a619f2fa4a573942503791bc70d68dd3a4b24661a31fef533dd8ba11c90d4e357200c9181ca6eaa8690035fead58e9eaf6e7900dab35c52a72f31aae16f2d7de89845b9f300d2de2fb38d035c9d1554fa1cc9336be1e513c444c6c18ff57a5bbeda48d95606c40651818a8703b9f3f94aab8e0a5b9b6b8355d98403df1355d7cf83cd19f0c275942fac24ae3b03c570809d6c85d2c5d3d825ae0ccf5b1b17ec9366aff3c538b4bbbf701f223ad2036aa5e03fcd5253fb42f18ef3773e43ee841c6f6c858049b200253706399e3eb503e477224978cc6431f910eea59d22c4b661b6151c940a5ed2ac308e70bc5ad5a7033b2a647b510a7c7b89aa3f7eac1e127880aef08b9716f5e6835d2d67f071d73403f39cc05d3a46fc2ed331bed168eb2b57943dce5d6fc213864d8f4e1c4cf3772303c7f1b626a6306f39835110e96cc96c769d4091dc6f33b354b0581fcf3b447e7903beff03e31be67b3c4e04e35bdc3daf72ef6444a2c37be441e622ca48c1e89ef6035afd6a9552386500051180a7b93d430dc5807315fb1995131d900fff5a9b3d3905581d0203fa14de9ee5ca32db94fb36f57dc4f69947b4a208eb2710cf356bed0c0147012bc2de78976805581d020fbe550dc59370e946409d7928661550cf08907f75c620ee6cc3a30d08480e18c81305d7a8000219120005581e03797cc20961a6f90b06a8c39d8f7e514f3a4f68a212feb71672ae032770040203ff08e4777673f62dc28b5b7aec0973a7083a4d5e2cba933e2ff6fdf364f706b9037237ba9d65bc61be2ef13da14a4a51597cccdc5a1ab394a75402a33d2f407ba103bc8740eb7967949aa7917a2dbbdb10fc3be463445b5f25762540c3cbb56ca3d601410503c2004f2a9c20bab12ef2cf9cc0d45313ef2d4a1ecc94b5158ad0651cecce7e8005581e030873d37cefb748e528e226612917098823f73eef1d676b49474a6677e00c0146543f1a3edc0003e0639be3c73b980a45efbd3a9ddb76c689a931aec939419c56101ae2212c0cba034c1e78fbd09ebf8549e671f36ebf3743220c87ceed8ea95624af33530b4c83b805581e03ec3368702ded389de9e92ac98a6be8c246af1dfce520bbdad78d2d0ca007011bffffffffffffffff05581e03c5a6bf6a2d5fbdb2a05d5ee03253c848c9ea40a500f6f78e3739a5d46004020380d96a5afcd331d4a01ac87440aa37f5bc9bc5402253a0776c878e7412f19dde0219acde0219ffff030d0916c7d0e8e47d6ca5837e599b6545d479f9f302175ef3e0efc7c78701da8b03bbdf31d1fd253c8c00259687ad958444b5d1c8ba2cd5b2245e5941bdded55b44030f987d35109a2e198abf6c3a7ffa61b6caf7ed1598ee3f2785b8422084c919b3030522ea30e78698cbacfdae6801978f4e22db90b05dac825b9ccbc3c093b72c670219ffff03e7edc32bc03ca18ae0ae4579d5e16adcf3b52c20947f72f104f7fd604247febe0219ffff03ee118d491dbb7b8b6a22e34f617ed3b5a3356d592aa2533d449606d965fd794b03f310f66710a62544710441a928b804ffe52f93dc7ae8fc5aeda52cbcd051cdec0360608d5ec48634936a01c103a344808ebf3167dc98a271cf66f6cd1b63eb0d83031f1c57cd29ba1b4c331041eb9106b75a22c50010b31dc79fbe3bbf9bf01f68d503d407908d3d67ffc4d4c7b981e103b18ea2fb2c3c070eefb0084a3676d6a34d0f03aa0058c049f009bd688c92599a4ea833a562325cdeafe780cefa1ca82ab220820324ec4b363d9dff75a715a673936dc6d565b7869275e72e50e104316c7d4f7cd803b60ef97966a0f7cb88a29db65eaf098328a012e7544e967b40fce03ee3c364f103fb2aa89041e0d643807f320cada877843b4f7d5690c211d9461f87daf17b845103ff36b7a446b3a5dff2150fcf11a920e3aef9a3225651a0745e7cefd50259fa42035a651b723691e617d99a00b2b18a3affc824f0d0659b9b649823c7accf45e05703d2741eb5101a0e5d58f0dda951295839bc5f23c0675b242cb8353a6340abab3d0369201a82963006d6dea6f3602246c7b4e6dc99196da1b14743caffb90d575b920386c5322de2ae688cc6d4444d6d99a8fd20d8101dc9f1fe70861d45264e5afaaa05581e03ee7e894feb2c0794ce03c249b6a1a0dec39f15066bc9344c036420bfc0040103c8e4707dd55ab24661d50015a6c1f8273ad298b72ee466170148a3c7a91ae86f05581d02654f1f540b303e5d065ad9638ac1afb867459fa393caac4e2ad8e0c90c04460596fa25940005581d02af913eadeb1741e34e2380d5295593b1dc706ecea7fe7aebc7031cba0c182e47334d8f9a3b3bfa03799a4f974f93d287ae49f0e18584cb1947812d264b05381befdeea6c4435ff52032d7831c14cde649a2da3ba0881e7db1960cbfdf358d66b8ad063ee50c3fe651805581d02395a6315b8c1b3025abd533db2a889eb399c1a0bf566c67018a1f33907011bffffffffffffffff0219401403109057d72848db6b30ae83a6ca3241387bb6c5b74fc810c5bf528de0806c7a2a033bb87cf5f3bc4ac4644bf340be1a2eddccf0a489c16a713364e163bad9ef041b05581e036f2b1cdbc677968487f88eba429f5eae0eae53539221573c00b45b82f00c06480181cba0f54b2b4b05581e039ddd33779bd4af2d2e2cfc079a806549d2925b064f45681406b86c2e000c0147227db60932b40005581e0376ebd0c61960c28b3894e5201681b7f2af0cdf43776dcda2a23a4f66500c01478c68fd917e608805581e03e07a1ca41dd1d4c25093bbed6dbebc6ff4bcc9caa42aea72dee94a3130040103a78d38079b253696a0c38631fed5d0615d80b210e45e29b5f345a02d64c7e7350219a97e0316c5d5c24975f6e9c14d8e994fb3b6f27c06740779e5312aea171f0bfea2562703fe1774913e07cfaba6ff76ee91a6ffe98bef36af9d702179e798b8f7fb6f28540322b4520c3e711fbddea504b300689de98b19edc6bfbe5142aeb9dcbd69c8b5700347c31a01b3c50e1d524837006f47920a9bb305599c395e7c411547e184815e5103b5f09a0da3b99f0c8dabdabf9c799e7dc5dc7b54f5b257a3a232560e7f8e701203981a592c922c2e8d81c10bd17dd4e0495487f8dd9faced011d670c5e564ea19d03f8a0c306252bb153b3cf5e2e2d6c8fee084533f59d05595eefbfb9dad6ed97bf037a7659cf1b7293eb27161295fb1c3d2457d4df4a0c737f0c7c3ee336f94fb31e03493a393ea3057a7cfcb1d3c4f115ec06d4aaef79c3ae386fe3aa1b6447b5d82503c0a886d7e80a78d6d36d8b840e2e64f88a7bf652a18371197dcb7ce00ca6422f03c24275c64cf29c5209790591ab7cab6db34bc76542421faeb91f8cad33a9728a0306abab18f82fe7d7d527c4aecebfd23286ca10bf443f11da6c49004bf5ec04050219ffff03cca6b01a1a6304727da3cd61dccc881820e5cb3702b87b0ddc58797c3083a71403ee5f536b9222ac45288923c9e556dbe3c2751ebdada34d92d847b5b31b0ad639032d7f268034d3287831f4a97e5b6119edbf6bc858c73e6825b0d419154ce32c33030d271aa4e4fdcdc35d3f0022a9654c442f5fe35832e642e1faa8e6a5676c4b1103b507c0a0d0f6742e295a89f66c0fb2fdff5a9e1de9339d993d0279cda521670703db752998a78a25d1fc7f56a94009b4abd0c8fdc7278e351d968d18a0281f64b2030644857808bcc556971cd8c53f7ddd1d05f1ba271a8f4ecafb4e395733fdf1bf0219ffff032b2fe755cefd96ac429913e30ba8d24de5a3d64a08fcbfb876fb25ab9a81562c036779142b00c35e7779118651e3adf1847ba4f7f5eccfc90d69011c43ed95ebcf03d883fc9c003bd952b114b2e135e4ebcde71bdaf589308a49a60d2c4a29255b9b03d1e7861fda024d167406b602e8a1876de21906ad3cdb8bfb1e955bb676131cbe0304ec9a9ed6f5c522d15fa7a8e6cfdf0c7729de33f60500a3ac35ff4509a502ed03a62e632c2ae5e33f961582db1708d4f6747c9138bd0ae0705c8c0d40e7de932003be46cc57999eca549982bb30f38d6f3b7e2f1ceab1dd32650629232c58b4b542036d00b291dca0667d2b3259db4b4912c2b958d5e3956548437a82e44186cebd2b03258b15eb066912616f69d67be454285dd63d8daaa5f87ff96df9b8d43191c629031d9639dee6995ba2e06c2c8f720ae554b4fea05ee91d43b03aef632a19be282303afa14d9ed5e2a508cd2c440fdd100c3ef86581a39c262a5b19633b133a09c6bb039698b56957e15437b5e2e7e0442e7f9f74f349ffe56582f2600a68bbe56bb5b503e5cf19f11c2f9a0a4ce3afd08e7f1862fbdd0d763ae0eae869adee56ae22078703d14b8a467908a1d968f89772b6de76fab8e67bd9b2bc5a123c01ebfed01037ba0219ffff03c5c4c2f1917266eb893e140ffdfcf44b70240f3bdeaa1cff278ef1574cd0bee60328973b3c8ed8cf0f6669da853668b513a2a9714f8254c18af3ad79894e6b688a03ba0489cddec789280bf7a17fef2eed855b57757d86cf2b9a648a6c4f9743f0db03a8c9395b14782f8042646f2a6a3bbbd91306dd0bc63ba4bea486c828833d767103f27e060cc4c7c6a4a3cf251295e9dce16be079762eb8528aa7f80c221ed72a0c03d43a805813a38a5cd3b7f6a9fc16249de37fc09ccfec14626a3fc1e0a548c41203761e72ceef571303f44a5dad1eb9cf0debe28c8c1e3b632679d8492d14225b46039922adf2bce4983de34d35412cf8b9095db7cc3c0c6edb5783276eace600b420032cba68c3bf71e6b24e93a3e929b289c87455816e917d89e473562e76fc437ded035a5b4933f5ef230137d8d9ff40fe2a5dd7e1a7e5ce9c3bc29795aebbefc942530315df5019925179e5aa4cffc737555568f1a75cedafc5967980c1ee7fb2c2f369035adea1aa39b085956b10225636d434d15ceabcf8b5f347010a056f4f048720f5031f7ae19c3641be931bb06b95031bf634727c6450745832ddf84f430f3c4ddc6e035c93b4d2fe8826c46e0789ea2727507edec8f299e599222ce1c356fd17adb12503b07eb95e518d0dcf71a6c474b99fa6583fda637c53e6770d97684db20d3844ac036f7249789094c5c539620ef02625867a802198ee1891a04a59a40decb79b2045039789876d1a86f2cc3d2cb9edae20515115a3c0adc4c8ce43eadaa534b3f08c4b03fd561aa25ff9b69c97392acedfc85528206f284c4989851c8f48f6bbf2fb0b1f03cdb043f40babbd0bd2dc72042f199cdc2a8840573f9b94b502ce8649a8be5859030220faa14d66cbab93a6de321b0ce782c7eda63116c03f2791e91a47856f9dcd03484bba7e200cf9371357440701ea4e9d8a091f75531d03c58195beb25c2195e10366df09980f23c4eb4fd7056c24e065f47b716ccde2fa05b92c7d5f85814eb136033ecd7bea3cc9ecf22dbe25c0d3d9c5df88b681f855a7f6bc98d4e4e0b68fd7bd03a0c26285064c5704c051510baf6e80d709bd22c29ade49287ae0cab4ca195bf005581e03337f3611c666b0f08b98c949ff92c1b345b5f0993e7531a3de6c74d7c00c0147015ea9378d40c703a47b539e34cf7b9d5b598bab6645aba2e190cd2f8ab350e02a8afbcfd363de1805581d02253733a279fe0322f714a1dbc4ac92119fcd7eb3ee68093baab2eda10c01462d8082a64ac005581d02f3f8774438fabe216653ab723ffcf3f42da91b7f6bfd9eb178adc8c70c024662ac62b55d300459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c6343000809003303a448586339ef7bcaaddd82a364feac4eab47d77762b6ffcbc5e591f6efcf55ac03d5febbe75fa733a342ba24702513e640e62dfea1b98df6dc564fa4e107887adf032635c775f728aeb7c1fbadc47ba4043438fb2d857730b2390fa11ed46ad29765032e931b50d0d12750fe253c2ecb5799fc73ff17d3e65352d7934315b19840ea130340297018172cb4e1d2e7b6ccabd284a0c0b2b1fb8e56a917161d7970eaf1481f03a3a450d0818fe71b77a757633e102cf520d4225726ed274cb801cb890ef3c4e00310e9d105912d5ddf0ece92a615eba02559a32122dbe97dc7801fdf5db4a6169c039165d8e611f8dd244ebacd36e559e968b185fe3d1a7f86519039fdb0094c94d603738fdb4b299710df8dfb4c646b60813abb91dd1955f81a46a52068af647c1f2403624b6dbf8fafdb6f967982b7f2fa06848ba6607ae153cc5f45331643a5c04dc103b548f42f9d82466a0d4ecbcfbeb653b2c7c1fa0b36c106a53cbaef250aeb72ff03980786ee9ae457540d5256c24ef011e0d156a8a0397840c6af7a7b07893c9a060366f20cb3a674647d3d627a1b7694c44b7418d3b99628be5ed41a3d93d417df6203b48e44000228a14da5a480464e9f4d5d3fca2057949505846761546c8129e193032ff534a5cff1d7262ed4b7cd67cc64535a7eaa4ad02e4fe93f07e344b1d07b7c00581f020e13983fefbd9cf16da2ed70fa5c6798ac55062a4803121a869731e308d24a1be15d5686476b17385c00581f02182ea5339d753be35e01fbc728950b369953ac5af9c1573bf050cb037577480640196cb079cf2b00581f02b966e498c293513e29f4227174a80da41ada1291f0d3a394491be2fd53cc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02e79941439075f1decc49e6235158011f954999e9c44e5a519a8b067b991e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219500303dcc363338bdc836845a2c62a46dee6aab6f4ca1053cc2f94404d7e7149034ecb03c83b48018f62566fb3fcf4b7f0b86d5493da50770ceb5ffc709bef31d88ad172031b61885f942660b3056984963c206dd247c851521d91b5b3258321e6ac283ac4033f505c5d794f05e3c7779bd100db0485dc9a236b70e132042d234248456b6b2403ebade85d160945fe8e68498e4858adc7aae44b8c57e60fedbb96df8b0898cbf2035c9b6a782f224aa7b9788d32e2d856b9ee9ec4b5374e197a34e4c774679f18ef03b2df0161541d315036b2fa5c91475af19119f2fe3b2766a7e0eaab041d89a50c03981264f9d978256fcd3ca3becf8b742d08c6cd0dd129d19d9093392892b3ef9b0219ffff035f0388a9487c436ee62797117313df517794302ffa44d498a22d5d45490986c803ab93cee4867021375fa09c6ddccde82112b03844bcfe37c132baf41a97f3242700581f029f17db71bf8d0fd2c4c4f358c084323f33b42f78acd241f24823c2119bfd4702aa1efb94e00000581f02c2b795b3d023ac79da8467fd82b49bb1e7db907bd63ba952e79bda0b70dd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f029e65a99fe1baa1656e1e489ef705ac6ca1dd6400631a82024123d7057f254801eb7d07d494dda700581f02559a68f731a50706677d4f37c4a2dbdb2c96244c054ab7e06d95b49527d8470773986153c38a00581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56356796592b2092f7e150c48643da19dd2f28be3333f000102192468032cf9225218e0491a9ae83a230e2748c8577abbea5b32db5258751cb8c53a64f10339df99fad75838a71b5d2ddf24b3e508be90b7e5af674dbbe7e5c48839b108cc031c2f65fb197ad24a76b3349ce1edf766afac85a96bc81632545ad4164ff7c87003de0a9beab12eb7ec005157c1fdba76704a2ff63fc353e670abe609999f8abdef03ed603a90e2a5b87eac944ee4672dddf0ffd280021a1724725d580d0fc8cb6118034591f265b11fb66c4d7b410e1940b85950ccb091e28953ffa41e2440dd9ec2eb0378c244aa0554256327e5216e659ffe9522dd5e8c5738d187ea7088a24f79966a03521a80c72242549af3ea758f8e8f3eec9fe7f341ab08a16f59117faf5b1ee27103e6e5466425c93e31d601c4e7d4aa9ef98d26eecc7c3ddbf508a327a2be7f84c103db59a78e20aa976fcaa276b544b7060ed8752f23257de44aa5c0d86a1867174f0347a414a05c60d9218b07ca1343422cf2bc40afa6c3dca9658ae76da1f072c987038782dbe75c4f20f33e316d836756c9f8964a2d0c6bd2f65ae25d681ab6e3799e037b0a566a3ead583b399c7b7b23ad15a33bcaa5cd26def00cc8f7b9e4af635b2103596acaeb634ca1ee465ec4641ed6afd204233de818e8482545a3446b232bcbd803f9768e2013c4773c2e24fee12282be7696c83c29b4de3be50062f4b91a09e9600219ffff03d74278f65f544507fe9676595b9bf908874dcca66fca9c106ecf533b0196b7cb0349ebfe071e3dff3a3e8625778a038404d2225c2b8dd28ca9376291e955a57d170395219a0825965655c1a58734ee7b3a7309017681a4043e2301c88a007646c5370307975e1b947942e007098597d25e4e38f898aa0363b85fb2d24d495c975534cd03359dd045a9bfdca76584b744854f8270d28f504ed9326787301fe2f115bc656d03aee646c60113aa05035095fab49c95391ca34fdc4fe605a0cec0ed3d42d49e950219ffff037cf9c635e584d0eb261088ad8595f08c8a58bb91d60183c154d1b86235d2d45503338f85caed181444b71b8e41b604475974943f99870fa2cfc2bd4fbe543750e1038abcd2f8f05ce71cfafa99fe722edd83ab000322c6020f65b17a5b5cec57a898036d0eaf7f164fe320d6b66826bf555876cf1c2acf3ce519f7d5d29eb2d28e487803341dedc5f37633cf865cd7c2460815f987873cd24b13f6cc580def3637ba1aaa03204bc7e4a81d157269c72ca8778a2c473838d563860a279141101f2c768e115a00581f02d8d426fd6d09a563cad86ef684dfb71149f10dceb2b804dc248649dfc737480185a8fa6297364400581f0236d68b29590d05d96da295eb1688f7cb8d5fbdc9f75c52d24753377ca1044746ffad91933cde00581f026db04d5405acfbdf7bf497f337bbc901a9386bf2f51ea305ba2618e3fc3f4803311fc80a57000000581f0294aaaa3046d5cb0487cd9e3e5bf7a1b0dd40a35884d08ecdbdb75d60bc734805e7c18ff987bfbc02198103034e3a41751ab6452a6ca29a6f5f3e75da3f76bac71d2489206ab39ccaab998b97031ab364bb64d98b1f32f748786f4d38a452a533bc3da92404e01ace63aa49b79d034225302048fc84707701362d317cf46675aa2b1ecf0f3b4fd95794db215ac980039b21f10645125b141774b87d76f8b03d3513b0feb559f3bc5451d2682804b8b603a65fe4401443314d2b7d1138e46e1028355aae77dd05f04725a3c07fb59ec1fe0334bf257d9bea880c56b5fbc4b04838a0f25814a9be736e950658d57dfd00ef0303c3b7f721b5470016c6d9a13029480ab341ea8ac6ad1ba8a6958d6f78f9435cab036291f0a95056d3c06df982858f919472bb8100ac40ef1f3b8f2c38d2123ec99a033e6bc52e00805d24f59e72f1fc0abc14ddfe9c00e092cd973c99f738f915418903d4fa0b4cab51fdfc8cfd0ddc5ee38eb9470f21a03e260057598d0d0bf5706ebe0219ffff0388b9887e16fcce5996c67da90912910009177a059e384d4b17044d0ad1f09ee30356aae3a1336bdf51e219a4b8458a8d9f3a5284b7898139e78537d05b3f2bd31e0374154e2dc6df9940ce18171260a05acb67d7463d20ad3f3165654bca58ff666e030cbcfd06685bfdee4a6aaedb6433038336a9b86760658acacadaf713576b274e034e885bbdf598362bf7bd9063b94c3931461f09a38b8607d519cb782255a2177e03d3e5f69f8d9e3629eb64f9cb32a2095a3a43b119f2ddd637ed5c18499d5ad77503dd10046911a1333945d8002a419365bc7c2a914e48312829e821a9577f717f280323b3cc90d01246feedd4fe56e93e8acf12f61f2b8d50fe56ca9da50a4fd9094a038ad48bff55fcb04a44a4c69a2f31f5d44ec5b2ef7e8eaa6ce550aa7312ec396703fa62b8a4bb7e73f8e823296dc77308d69b33f2b2e1c953ec95d256c1764ad46603ebd5b440eb47329b1f5d044c7aa8e2cd64f29278d79f49a4e14046e50b6f166003fb5fd0f4f8017a1cfd9dfb34dec157a4e2df1d643a71645fcb5b37c88201028403a17bedffaf56d72b81606c0536889bebd8f28fcc777216234c58ddb66057450403fec9866c485cde1388e413fca75cff11f7f6fe377fe821efaa0952636e756ced03f3bf44f590163b04eff197b389e340b734709b5dac4721a536667ae5c09460ac0219ffff038028d48983dd591e635d4fb718bb55510ec38fe5239e2cdca540b3623eb5c8b403e4789452e5d8dc2f576f41ab4aa1cbfed482f031cdc1be368879e0704422bf0403fa956af3311cea7f2649a6df96d163966fedb12e0c897a6eb7539fb644df3621038a8f6cbec8c6b8c3e2d8da3d737d1c0170bc684066ba149a2c0616501be97f5901410f0364fedb16e6bc96a77ca61dd7281c6690da11069bc08514f5c47bcf2d038fcf9403d957c5611f20caa23ad4c8efdf14ac934e76e125c77568401889a9534c83cf16038a0638e7a4b2090cdb59feeba6f169a3cd19962d4ec94460a7f31dba5ff07c1c03ca5277ee01437138716cb9737d6378354f131815f099eaeda0574f366e09f4c4035873feecbcca00c269128f11eb8e0f32f37a9417dcc14005696e4dad25d7f79103dcd5efd46d1b4379dcccb40f5050c274c31d5c77c8fbbde319228c1fa96932c6030a77f94ff1c2ee6fb6984963d52f15efaa935debb2ad1dd675a278285a389cc703d5114b6247d3412e513bc59edb17f515c1cf691f805c5b2abaf276d0530a67cb03755e12de31808f3ece085ba842ebc3ebb91264ad01691ef3c4bc77b2a1664ce20384e28e16b358c3d7a3deb0573ba08202da74fb9e30416e825b43cc8d5eaa69cc036ca36ad037d3bd00f1182c142bf1412ade32394f5eb5c6f6529cdf349e90d94a00581f02cee4920877ed76a7a6ca5b2fafbfae9f45b4b99c017a73419244fd2acd9e4801a8459efe075e0500581f0245e79978d7b9de324f728ebde6bef2ab8c6d9a74d87856a6657883549aa647152afe4cd74c8800581f02c6ea0a2403e3471ff578e1e15387c76623ec166d572eff66f8cbc4860cc848066f5d1694a4b14e00581f0254c4493148fd71f7de8cf083a0369c66272260ba2945a3c3d2eedc7a661d48042d460cbe56755c00581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154d750b84845f1cadfeac63f96ec74635e949bfd1402199c100365ccc04e69ba38eb30f45b699bdfee8ea73963a4bced54351b9f27a381dd55e8035671f9aa557dd3794581b5ace313785e37a7a85161c19565558213f5e33263410219ffff035bff1ec0e14aed8ec2dda108bd93896c962731c496e0ead0b6f33ca963ae2520038be7b370ce570a4309f32349c2c742768c1ba9fb518018130463b4c1ad8f7887039ad5cec91afb2198eb684158aac57f601ddf470b264ba6eea2cfdc29f17088230378d9b3bb03d35f70728b113df24d66f8e1340de032590efe08ba4f9138a0e4be0341b7b716160f49d125df470cfb07d9f40a715de6d5665aad936ef2d2be9015310357d49b37c806a026de3a283251d5b0a06b03ac55a20d5bfbcea72d2c0982bb20032a74d8f0f92590b5f24f292cef4debc5674a8f72b175b29d5a940cb0a830966303b6a91159b5f072dfb5ac68e313703e4529555fc9f32789dbd16c4a533ebf1fe203738c45f6f1284d50627e9edd354cb512af513b4d7f83d8c0a0b0ddd550de9d9c03380c0d8d7f02c86e561dc0234bdcea78271c4400ab781a7720027620ff652745035d77fcdb8382e457583adefda5a382244b0e41a6658bf8db2d04a443a52f8f4103f5a9f6f1441930c3b0a90da10d218dfa814a061cddc562b4009d55af4e77cb0e03d8fa4b9d0149f47bd3bc8ce504b49f8e0e52a2f80704462409d240b87dfc28f70219ffff038a494af1d4412a856b7098995e60c7a43f7b713de48654be90436abc4d65a0a70358a8335f8bcdbdd7b5df6b9a1d320f6f7b554544772db9cf11be05b79d30de3903b99c484f849f55a15bcbf69db9d13e8355654f35de7e59851ecec04ed403a76203324703709dd173708911d9d16c3c0b33c4be9f9aac89f5d94257588e23e0926503c25d3506d529ed3c05fa0452c3eb5054381dba4faa3494aa125076015f724841036c2efb3fff4111c68bb8b9a037c6bea77a64debf55fde5355547c471458cab0c03f5197ab1ed907867f8ffc7be545ff1b2406cee76674c166aa2ea08cf067abd9703c89de58df1ebda6427cc99f4e4a8b5fe16dc36f1888e0eb958e5c7ea85ea1a7a03562937b5f1574446b25a8f32a1a36fbd0c17ab66120961bc893fc618d3fd345e03aa810a2be279c5b5297367505a1902b73719386cb90b29fe1e6c3b895d4f23c203c2afb964401441ac7ce95b5dfe2d79d3d6bcebba8ddd7d015f925df20d714ae403bb4848ea8c02d33db9f24716a3b5d75740b95713eb80ad59a3a6b4e4627fb8c30325b301bb3f427d7f4aeccc318edaede2a782d3c3840d1714ef27bac5029cb6ea00581f0252ddfb8e864297c917af52ea6c1c68aead0fee1a62673fcc7e0c94979d004a1bf5903920b95ea63242031f97d6b9a4dea7f85a8db43416d4b7a66804f7bc7313beed3924cbe00e06784000581f02f8f178b8b62796f78a2983688cbe2e1c3e7dbcfcdf5770e408e866c687424711a8280721bcf100581f023a2da1f3a9645a76c47d96c05d997ca548298edfcc08ced08c55266e353547def4640fcba34a00581f027905d98bdfe91bd1895fd8e44203d2da17e05fb60bbb11055c540abaf3395820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020c28d6a08d1adc13794772788d636554e7e94f2c25500f5a9ca47ca6efce472341c43948be9f021981aa03e0381eb28805b3ff75aaec267eb5185d166bfd62f58a0bf4be3ae389153aaa210058200360e5aaf433da4641cc72478eb75b31fc34f0c4f44612979630246deabd1f40481dd3220e6c2ad58e03cf5ee782456387f5faaf290720fea8d835ab166ce9b2eb6f7205e4363ba4402f03ec2d4386fdb97700e31495438631a113684e1976116b381bf504018adf0409c0037d94647c9198a221a78286d60265fbd9e290435f97454f9d7682252cf712531c0219ffff0366518a943044c2c616a99ffba65fe7ab62419bfc5a79af515326d092f3a31f9c03418615960d6e58f39687c6eb5b6aecf1b8c5153fe750112bed16508e6ac5f5470362ac0592eca0d4eee939f5d12fc480d7188a2e062a0098aa4105715d74b5050b03ab9065252551631701b15a9438e6dff353bfef88f4eff182ad2b518354c64eeb038791a8b21ef99db7d9c28dec448cc7bffc4b498a6fa51a9fa49bf8343ac6847203a533c6853a1003f95cc9a1263d527b55d22f86d0ca1b550148b4f4d3c7bc4dc2035cef330ab61d2bbdaf0a0e61f0602478779b1f74e25784ceab270733a71800ec034bc8b9e0b914549bb7533e6cbb7ee6de0f2d2ae28189893e1ef99dc01c69c73f03db1f1d508ed6586f5747efeefd4caed7010dd4b3af9d747bbdcd68f0397f2006031e18a09e72816168073a6c66dae1971c015d824ff030819fe19ff5d87b83b496035b6912dc9fe0936c2873e51fb57443809c82d0769f7b03c82974c76d7f7fcc3d0372a38ec1e98f0760f12187b6dfa52b6402d0488fcddf4836d9ee704d4c2ef79c037043b32f4b1fc1bd5a2907277b72f46dfd8bf63e818d045928387c59e8777eee00581f02e94f8dd11519dc567b9743e2f1295f21ee01cb9c0124eb720f74b7c377a34837a4f8f6a81b2fc100581f0201401cdb3abb055bd162535a1fb56a695d7a62e18217317f871dad1235bf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54cd284a617b4ed7697c2e455d95049c7fc538785c03f59a11cc83432aca6bf2f6bf6bb3eef21a55ac2dad3dc3b26074d0b9a8c317e000581f024f30e3f3dc19c5443ded34be84f3458c979a2c331f46101928e6698d24395820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f0112840440ba07f7b4ecfbadf663e0dab8ead023ce81e79796d65a95e4f472386f26fc1000000581f022ecf24bc4ffd51efc9529905ce6eb7b288362c4cb672d50b34eb876c629c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02000fbb0b0e447e3ab4e7eac5fe81247512057f0fde7b40356820c34d9b4e47011d3584d6abe50219c11f035a73519189a652483e8ca24be2b705198f87dd075b912b623677f028e211959b030959418f0ef4d5d5fddb9cf21c04d138fc415ea75c297f454bb60d66ca5966e6031fb07da42462da58dd74b7037f935fcce894b33d35c0ae9d2ce90c76013d5f4103ff3f5b37551ce072b6ee64d851f1db1b7bf9957e58f312629c5a912bf8b269540219ffff0380478a5d58aa0c83c605b6e623cac5b5e14a838a837aeba0ac996628fa60b71603c00c5558aa20d0854bb281c36c986747163e9f8c5d3eecd9ff30dd2ee6e0a65e038db5275b41abd4808837212159d7d4ed5b5d07a17f1eabc1a6d8f10d46b84ea5034a583f76daa449f0e01087461c9bc527e68747470a776d4a562748abd112b40b037acbfca0b0a1a314d7af9e993f66d05317ec444c0b3e3fb0e951d0b647fe6d2f03a672ed7cdccb86b0ce77372ad090e4b7067a3816218c548ecdfdcb30701f121003161fa0a97d6f8433da321312064521c5e379288e2d5d0fa0c62b67a8bc59f96003119a8914e9d8a59c8fe9344c0ddfef14705633016ab8ef8877cf2148a87b320b030fa73be2e4c2904a8eaddabd4f6dd4e64345b0bde505cf7ba760c9a16d7ba9d30300dd24f86bd1f2912e4f334930e52f1b192d5763655f1047bae05a2441fcd9e20219ffff03c21d37490133942ac951209e08ddca4ef3b99762e13d39e255291a7da2e53471034aade896dec70c1d41386230496ee117739a3b4b9547270512ba21227c428cee03cdc42222ae353dc5bb85ba2dabfd6748a836739e1a5518822bd6b5dcc6fe18d203b1f9bbf3b72f309d44a714af12c95fb40942885d9738b954ee8f87c0b6602f7c03efcd7ae0321f3ce58b2e5807affcb6e1fc314a712340cff68a3c318e5d02a38a03b1e4e40cec741c6b509e0fd86525e5df67756386e1f024b2a9ec2fb4a4a1e70103907beb86326fc0019803764f0925b6088e6ae1cc3314a023248103c083022b6a0354f489636e4d7321360813c4e17e404ff58be071324ac18e755ccdfdf79f2d87036a6dafc2d4ab6e9c7d39c881cbfd101f40ea850a5f34b92c1a68f0b6e261b38f03f649a62ac51df4884d39c90435f592b66995cab80dd886ef3ec331e94e3fdbcd03244c7a36af801ba12a69a36c5d74a4593dfc1251308801b1ee886fc2a219b88903399debca2dc002bb31426d5b80dc73f4eda863fbd26bd172450e08f2f409ebbb00581f0235e97d0f7e1937f791bc189f60c984ceaaa7a8494fc67f9f8f4de8ccf2c6480e0b0f2cf3327003035f84a8ccb5a1d393da76a072dd52f7fd740adfea1decbf50de8f03b2b451ed4200581f0293f99b8035b67f4b5e769e5a8e1845293a214820105e6835a894bfaf9b40461420b6a77a0100581f0201b924b1afbc1ea21f77c7fd3c2ccd564280ae287a26d684c1d10fa659e548010952b3ebd514250219015103d5622df2184490356ad56d77243eb1aa144985520f884b3bb71cd4a54c8b1ee80345d3c030bc44cf6943efdb10f7fafe7617d762888bbf44393d75ac831314c48d0359bce8367b93e4a13972efb5f04571956346cfc0a4ec9caaea4ca55f9d5c4a3803005400e1a1b702004033ca01eea3d22dbd5d3f79977459927cfa17ae7821e09503adff5a808c1f84bdb3876513e40e61539bb00b047396c07f19854d102edc08440389fc327e3fc1595f26dfa2aa71c037937cf9ac246f8b6b2fa843f26e848d40ba036b6ff032cd9ed028e2ab7016d5cace2e054ade8993d76ea770eef9be0e3390e403fbc0f0bb171d5a023dda99d1318053479cfe98e1e30dc85099ae6e2f8999c0d00219ffff03c86a078ad97717800c990e3cbbf9de8aecb68afba04e685ec5bcc9f7c1a9412c03cfdf612ff159f5ca590b0ba11e8521b89fd38ccb90030ac16a2e2c82a215b0b9033a55562aaf0decb92aa830a69fc20ae6762481c4d436455f4461d14f58dc9c010324eb769e99217c6b6cac6749c037b2cfbbe2f7682deb84f7bb8393fa537939ab03a46310656eda1aa1babeb578694009ae0ef3330f6dd9a0f4429681147c7dca6e036279e3db42d5c76589dc27102b289116d89fb0d0ed9ed5d806d16a9b0e2cc6e003c451626dfba6018c072503a6d8d32f23607cdbb277c6b71cc09d0731de0e15f403b424c768eda72e13d153cf4f1b855051add4d712c6ccdb10d339be394e2bc886037de98a8c7746603fd6f5b78104b6867b85818b5d90ec8f171c0f33f3216f9676034b04a1ea8a5d38db74def189d08aacf435539a27f1cc716f62adbbfa2a8ace0f03f269d472c397f62005dde9c09fb2b53671fb9fce407b324a2fbfffd9e306b6200219ffff03d154611153c1bf4e4b35efe674a2d6568565a73de368bef666bd5e88895f9ded038eed67eec46c4b60655510eb4ac58377eebba4bc58d02f3a9921b3f161e577a0032ceaa6d85a996800c764243fe1d7402cf20e7b7d97810b8b51550400ea56838103f9817fd2271be9eafbc17f6f4aed78d0c01fd99421ce01d254fabebe74098ddf03aa0c41d0588e7164dd75a967afd624f3b3e28600a3dbf13c4fa029f40c1562740319a3f2dadac2b07260caca97ef92ad0ea5d55acf4fc64f4609856946273d696e03b0e852bf7d78a40763d5ba5a0bc457b1f047a07a03eb21b618df60e050713b0103418382ee392b46e158f77d81651b9a5bc5cf5fb917584082919bad7e81d9f4a703df10d98fdf086de94c3315a6d0c39c2f2773aa2474ada2ac389f64aac66e51c903d0de6dab43292104f8a67bff04a067758e7f5b50162cddf302c9647172b8b77c0340e55ffc3a115ceece31dc05ba85941eef09c088fbcb211c5f35012b2cf7f34e03db81ec361da7769b822e18dd6be635527bff1967a5443c656b9a537274526e590301bd7880ffe24e9da98f9679515aba2d0d9fede3cde9963f4d52de5a9adf4d0a03e29605064d0009b7096b661c22c2a279d26e8524333aa6ef862f1594875de30d0387e2f797ad9da6f205717a7b82dfacbdbf1c0611f873d83806236e631bc8dc4303546d3302d9656ca95557ff541e0c8d4d098d050c1411df5b010d7f2a1bdfd61b03d78d903d1ab6c5060d51a5722f4b4d30c9251394f2c2e0085701f2eabe8287230326a3e9eaabf83899f15fe4abfbbe7503ec6987f11ada5f9a5179b2e985da9a7403b67e60bfc9fb5829d8a8766ba8277e77aa0d4ec5f0df4fb676bff5c32a8eb5e800581f02564cb160f8a0fb1b4e9141818387b4410b1734a3d730d2085d4a870165e4480ddff63c76af4d6800581f021e55f3b1c03a1ad8a4869423487331787f0a81d6ec0ed73e8747fcf0dfd7480de05edd860a89de03d99da0a26fbab25d974bfde2509604fb6de94df91e67b5b2e6b7ce1643145dce00581f02db44e00b11f183bce6f3202b95abb10915354f33a0f083da36da397bb1f4475d7919b97b8cbc00581f026d4bb40f7814e7e20c396d416904a7c21811990dec4fc47adbdf6d4715b847d442298977435100581f024edabc0902e264ba9fb2da2accbf878426e47ce93f002b68f5cdb156138c48019733c343e572f400581f02db7ad7b9b2e48998ed1875b3a9668bc0134b91f20793c0b748563507c940480d9f421dfe60800000581f0284877c24d9e4424f635a657e9723f40d06d1320fbaf3ca8cf7d6bbdd6560480910a321b9522f5e03736f6fac3fb5e5d221031a8036e10fc7515f98cc5aaf94116ef8bc511487c6ba0219fd03030bcd6e8846173407532a5ac9d397b70411462fc40cd58fba3a4bf3ddbbadf3f50359d1831c787465c14eac512752a9c38670dae243d5d9cd6b9e89b3ba298189aa03c5f93bd0956aef504c7a2aaba2399c732159edbab56a13a89f69346ef9f7924003c0d8299deeec5b026ee5d7ca4213c79c69ecf6d19d66e9eb63d53c085d7bd9bb0381c23579a7e1fd369a7920b906d59b69377279cb2089d2eacb84caacc442f7a10219ffff03c229ffe4c8f7ee16a4cdcb6369393cc054d488252f9662472f68e425165307c303bc4238c857c17f0e2d1e18d33b85c15309d38c4d87b8aac6823f051ad9cd6255034016bacb594eb86ec054a2d99773c343f95599ea79d911d9a7b4fa2f165bc64f033b03853ee1885f647acdfc68e136ad3e3759dc7101fc8bc5e3917c80ab571ffd03511923bb345f86abbc54690d0df9aa42ee9dbef1a48a381cc56b9bf3d2edb99c039416ee94d2a4c16583b478c2388d7decea10ea45a728b42eaf1c3d37f5981c480331e830a1eea7ab7b775988724732c1dc077150ea7909edbcceb79f591b98622b03821c2a62eab731cd4db68dbe5db67d5142d0647e9a00c6bb7c81fd27541bc5db0389d6a0a964e8ff140ae50a2ce2cec9a42469923f81f65444c17d91361d1162dd032dfe3d45aa6f7df8bbdfbdf13aefafdb7db3ded61e440b55b38158124b3c76f00219ffff03031d761d150b26584d5558c0b9a1c029a087fb2562ec33943f0b76c43cb2ae170219ffff05581d023689fa1a4adfaebbc285ce9dea92a94ceeabb917a55e3cc71a5f586f07011908400219408803dc2cb3e822da15b0c96cc13bd87bb526c98c2eed7f0a05e08a4630532fc9808405581e0331094758b96d7cebbd150a7082ecac5ea2d9158d5a399b5357b9c7a83008471be00bf2666756031fa119969ab66e96a99731a8e619d1faa9ab27badfc905224c29f114c8ded26605581e0331ea5d2353506a3e1cffff0c7ccfb107648711019080091f7528fb8bc0040103c748410942b81f419678a870c17c03511a08617e344e110e58cab486cf8a17c70219879d03faaded65d6925c295c5b5d5d82fbaf03e684b49ab9fbb3441163226a63221a390378efd9ca89dd99cb5fb4920ee8567b94efc5c5e2073e5827168a10b2144e761503cd8f3c3e0101eb7cbb07f144e0462f1b2ed230a55665fe76b6b0e1f047c3bdf50391edf07e184d1ee4515bd9cdd9d8c60733e5a1351d0da38949434f8f64c28e890219ffff037f8b0b24eeaa4acf5aaa22a3f7ed16d3d2b0cc4cbda4ca9fd3ba2602e3e9aa7d037312b4d8e1e31dc3e74bc1779f6153c3cd567c835e20e47cfc0d2ba5394d981a03ebb49035f80d2850b7bb39d8a45fcc36d09c923b475d602d7f78b7c9550ad99d036716966f8b83f542bc0669161b90d7bc62fa414865d5ae541bb27c4ebbc5966e031232ca39c285757780c5b6d86b462442d487467ab03152344caf0746cde9b3bd0309659a4de8df877b77d545167222c1a15de93e6d373fa697aa22320e839326c10339d5d79fd2b97f8336422cf0e220ff6056bf093d40396aae5f06d5621318682d03ef3fa3140bb5d6cc15d59e19410e38e0c3140c5dd9ecdbb142e0cde896849573033dfe4c9860f63ec49cdacec0cbed5822448b2ccc023957c5b644c1562d675169031d6f1131774a8b3561363f85aae0376a4727b97470f9d4bb70e6cbdc313e95690219ffff0310b83713b151485b5460e00e42ffeb03cf356bb5d6475a7be2574e052e787799035e306b6cbf2088f5102f90e8f3275a0153c6709fc86f7a0cd0d35d27afc06f4a03ea0b5bc9dabc4ccd25b6250b9bc8c9cd0c5e08a63dde16f167421752bafec8d903dbe557f7b2fae9c68ebc65c61f2e07c00999f8b497f845ab8586ded7931b5b0e03dc430170616f6c9b68a367480e76d29c0b71410f4a2b3f8fe730cedd06f2ad6b031601c398566d6fdd3cad81e9cf3b1ca0de5eb84aeaf0f4dfd5948f7080b09c4003006246f7e0e67a3eba56793554febc9c67d05c1a44edc66ed50862f3bbdd6f91034c0b42df334bef5737e0a5b6115285b1aa5ed27e795e85fe14d05ff81da2c6b803382afa2c73eb1b8b4a72093ad22310b22156db26d2dd3a225afc1d1c259c752c0219ffff034243b291f80e5730e6b02cc988fbadeee27e2a08232ef4d0c67a76282d27413803547249f6343cd1625a530c0baa3c07d070b34fe609de831c78191d547f77413903a42046e0a1471700ad96c2cf6bffbbab9cbbf9edd45ab425ad9063aaa66a096403627adc9ce5d3346f57681a20dd8eb336849b408af9ba05b6feab8cfeb13a09660389acf2d5cb0f27ba3f87b575a866758fadbfaa406cab83c21f26f2faf45396340397f60d0d98868c718fb443a3df3ef7e0c0fa9c93729b806f5112110ecbfd552f03dd7cd3d191206ceaf2450def7ec7f8fc83324db35e55fdca79400b5478eac42003911f02ca0426e165767fd136245c6562e83c85b2f49bd98b6cda951e86306f0c0219ffff03a525a210444541b618c359343a90990da669fcfb4d6e25d5f27052992963f72603f69e5d0c93301f228434bff839a26b6efab1a53ab965807a3ace6b8fb15e5f7703493eb14d3cbd262b4b0eeafdba52247ac3bd6d00225e40b28556933778c3f23103cbf760c5200df1b7cc965a2ff0818375674b978c28520f18b71ba8617a818cd40339d952b70a13bc3d6253df7dd8d1b667edb5d8e0ceb29c08bedf1d70c1c909ed0341b24ca91d779c9a9a145181184d832b9bfcf3b79ac60c27822a825b3c0da71e0355445306c704dfc4937ba6d457994ba7caa6950fa7973745d8cc80fe8962ebbd032b7ae50598ac96afbe1833cc0f4b3ca955074bb35149d868b008bf4416ac5e03030b5c6c6808c891d45dc08cb4369cd559fb7a526c849514fd7097771db1bfdef703ce817214145f16c34e1dfbfea826f16e0c13a3380c9347b15d4daf653066f80503897e8a32d86ce66405e741e11617fb56936a68d505c05887809ed4fa068ebcaa0321eb9d7901c1e5583131d15ec0e44352efd62831df432351140d5222be10909d030aa0f02aeaf7ae07282a29e16ae96fd28342fb02e16b1687404bc45cfaee36cd03bc8cec6462e9aeffb4d964f3364a51cb00df2fccd0c278b1739295e840d76c87035729f1b7158a01237685e9ff8ee9a17466d1a1f33b1508f7bfefabffe65b1dec035be4bd9800fb36241d9cca58ecf998bb1f1ec2d4464db8666c4282239cea45d4035ed11fe3b71bcdf29537d51b9d42b32c198c156e7f2d6b79a3caee6692dc98b1037bc50181c3744575dc1172cfac920c98fb1ec1f27d36f6c65306c4d544ac543d03ff0a84ef3cbf3c0153d2b95648605bc5e702b78494316ecd9a70139378e4148803c7275d37dacb115acafa573f454882e7b5d341b3e7f249ec2fa69551a3066a2503b02cfa9356bdbcf7259dd56e6e65e76a0e1b023c93e3b8cc697219625a4e1e7f05581e0368c39964dfd1268f030daffbb96b741c059b874620a7b692cebbb914c00402032e3790beeef98611542c6e52a730a915cef58dd2b5ee528402b1178943c249bd01410d0459226060806040526004361061016e5760003560e01c80636c985a88116100cb57806395d89b411161007f578063d6eb591011610059578063d6eb59101461056d578063dd62ed3e14610582578063e6aa216c146105ca576101ae565b806395d89b41146104cc578063a457c2d7146104e1578063a9059cbb14610527576101ae565b8063852185fc116100b0578063852185fc146104475780638b32fa231461045c57806394bf804d14610486576101ae565b80636c985a88146103ff57806370a0823114610407576101ae565b8063313ce5671161012257806342966c681161010757806342966c68146103965780634346f03e146103c057806354fd4d50146103ea576101ae565b8063313ce567146103255780633950935114610350576101ae565b806318160ddd1161015357806318160ddd14610297578063188e0dc6146102be57806323b872dd146102d5576101ae565b806306fdde03146101b3578063095ea7b31461023d576101ae565b366101ae5760408051348152426020820152815133927fef51b4c870b8b0100eae2072e91db01222a303072af3728e58c9d4d2da33127f928290030190a2005b600080fd5b3480156101bf57600080fd5b506101c86105df565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102025781810151838201526020016101ea565b50505050905090810190601f16801561022f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024957600080fd5b506102836004803603604081101561026057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610694565b604080519115158252519081900360200190f35b3480156102a357600080fd5b506102ac6106b2565b60408051918252519081900360200190f35b3480156102ca57600080fd5b506102d36106b8565b005b3480156102e157600080fd5b50610283600480360360608110156102f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135909116906040013561085f565b34801561033157600080fd5b5061033a610900565b6040805160ff9092168252519081900360200190f35b34801561035c57600080fd5b506102836004803603604081101561037357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610909565b3480156103a257600080fd5b506102d3600480360360208110156103b957600080fd5b5035610964565b3480156103cc57600080fd5b506102ac600480360360208110156103e357600080fd5b5035610af6565b3480156103f657600080fd5b5061033a610caf565b6102d3610cb8565b34801561041357600080fd5b506102ac6004803603602081101561042a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610e67565b34801561045357600080fd5b506102ac610e8f565b34801561046857600080fd5b506102ac6004803603602081101561047f57600080fd5b5035610ed6565b34801561049257600080fd5b506102d3600480360360408110156104a957600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611045565b3480156104d857600080fd5b506101c8611241565b3480156104ed57600080fd5b506102836004803603604081101561050457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356112c0565b34801561053357600080fd5b506102836004803603604081101561054a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611335565b34801561057957600080fd5b506102ac611349565b34801561058e57600080fd5b506102ac600480360360408110156105a557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611408565b3480156105d657600080fd5b506102ac611440565b60048054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106895780601f1061065e57610100808354040283529160200191610689565b820191906000526020600020905b81548152906001019060200180831161066c57829003601f168201915b505050505090505b90565b60006106a86106a1611458565b848461145c565b5060015b92915050565b60035490565b60006106f86040518060400160405280602081526020017f726f636b657444414f50726f746f636f6c53657474696e67734e6574776f726b81525061156f565b9050600061073a6040518060400160405280601181526020017f726f636b65744465706f736974506f6f6c00000000000000000000000000000081525061156f565b90506000610746610e8f565b905060008373ffffffffffffffffffffffffffffffffffffffff1663e28767136040518163ffffffff1660e01b815260040160206040518083038186803b15801561079057600080fd5b505afa1580156107a4573d6000803e3d6000fd5b505050506040513d60208110156107ba57600080fd5b50519050808211156108595760006107dc836107d64785611657565b906116b7565b9050804711156108575760006107f2478361171e565b90508473ffffffffffffffffffffffffffffffffffffffff1663db82047b826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561083c57600080fd5b505af1158015610850573d6000803e3d6000fd5b5050505050505b505b50505050565b600061086c84848461177b565b6108f684610878611458565b6108f18560405180606001604052806028815260200161212e6028913973ffffffffffffffffffffffffffffffffffffffff8a166000908152600260205260408120906108c3611458565b73ffffffffffffffffffffffffffffffffffffffff1681526020810191909152604001600020549190611919565b61145c565b5060019392505050565b60065460ff1690565b60006106a8610916611458565b846108f18560026000610927611458565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c1681529252902054906119b0565b600081116109b9576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420746f6b656e206275726e20616d6f756e7400000000000000604482015290519081900360640190fd5b806109c333610e67565b1015610a16576040805162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420724554482062616c616e636500000000000000604482015290519081900360640190fd5b6000610a2182610ed6565b90506000610a2d611349565b905081811015610a6e5760405162461bcd60e51b81526004018080602001828103825260258152602001806120566025913960400191505060405180910390fd5b610a783384611a0a565b610a8182611b3a565b604051339083156108fc029084906000818181858888f19350505050158015610aae573d6000803e3d6000fd5b5060408051848152602081018490524281830152905133917f19783b34589160c168487dc7f9c51ae0bcefe67a47d6708fba90f6ce0366d3d1919081900360600190a2505050565b600080610b376040518060400160405280601581526020017f726f636b65744e6574776f726b42616c616e636573000000000000000000000081525061156f565b905060008173ffffffffffffffffffffffffffffffffffffffff1663964d042c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8157600080fd5b505afa158015610b95573d6000803e3d6000fd5b505050506040513d6020811015610bab57600080fd5b5051604080517fc4c8d0ad000000000000000000000000000000000000000000000000000000008152905191925060009173ffffffffffffffffffffffffffffffffffffffff85169163c4c8d0ad916004808301926020929190829003018186803b158015610c1957600080fd5b505afa158015610c2d573d6000803e3d6000fd5b505050506040513d6020811015610c4357600080fd5b5051905080610c5757849350505050610caa565b60008211610c965760405162461bcd60e51b81526004018080602001828103825260468152602001806121c06046913960600191505060405180910390fd5b610ca4826107d68784611657565b93505050505b919050565b60005460ff1681565b6040518060400160405280601181526020017f726f636b65744465706f736974506f6f6c00000000000000000000000000000081525033610dab8260405160200180807f636f6e74726163742e616464726573730000000000000000000000000000000081525060100182805190602001908083835b60208310610d6b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610d2e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120611c04565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e2a576040805162461bcd60e51b815260206004820152601c60248201527f496e76616c6964206f72206f7574646174656420636f6e747261637400000000604482015290519081900360640190fd5b60408051348152426020820152815133927fef51b4c870b8b0100eae2072e91db01222a303072af3728e58c9d4d2da33127f928290030190a25050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b600080610ea2610e9d6106b2565b610ed6565b905080610eba57670de0b6b3a7640000915050610691565b610ed0816107d6670de0b6b3a764000047611657565b91505090565b600080610f176040518060400160405280601581526020017f726f636b65744e6574776f726b42616c616e636573000000000000000000000081525061156f565b905060008173ffffffffffffffffffffffffffffffffffffffff1663964d042c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f6157600080fd5b505afa158015610f75573d6000803e3d6000fd5b505050506040513d6020811015610f8b57600080fd5b5051604080517fc4c8d0ad000000000000000000000000000000000000000000000000000000008152905191925060009173ffffffffffffffffffffffffffffffffffffffff85169163c4c8d0ad916004808301926020929190829003018186803b158015610ff957600080fd5b505afa15801561100d573d6000803e3d6000fd5b505050506040513d602081101561102357600080fd5b505190508061103757849350505050610caa565b610ca4816107d68785611657565b6040518060400160405280601181526020017f726f636b65744465706f736974506f6f6c000000000000000000000000000000815250336110f78260405160200180807f636f6e74726163742e6164647265737300000000000000000000000000000000815250601001828051906020019080838360208310610d6b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610d2e565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611176576040805162461bcd60e51b815260206004820152601c60248201527f496e76616c6964206f72206f7574646174656420636f6e747261637400000000604482015290519081900360640190fd5b600061118185610af6565b9050600081116111d8576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420746f6b656e206d696e7420616d6f756e7400000000000000604482015290519081900360640190fd5b6111e28482611caa565b60408051828152602081018790524281830152905173ffffffffffffffffffffffffffffffffffffffff8616917f6155cfd0fd028b0ca77e8495a60cbe563e8bce8611f0aad6fedbdaafc05d44a2919081900360600190a25050505050565b60058054604080516020601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106895780601f1061065e57610100808354040283529160200191610689565b60006106a86112cd611458565b846108f18560405180606001604052806025815260200161220660259139600260006112f7611458565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d16815292529020549190611919565b60006106a8611342611458565b848461177b565b60008061138a6040518060400160405280601181526020017f726f636b65744465706f736974506f6f6c00000000000000000000000000000081525061156f565b9050610ed0478273ffffffffffffffffffffffffffffffffffffffff1663888b042f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113d657600080fd5b505afa1580156113ea573d6000803e3d6000fd5b505050506040513d602081101561140057600080fd5b5051906119b0565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b6000611453670de0b6b3a7640000610ed6565b905090565b3390565b73ffffffffffffffffffffffffffffffffffffffff83166114ae5760405162461bcd60e51b815260040180806020018281038252602481526020018061219c6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166115005760405162461bcd60e51b815260040180806020018281038252602281526020018061209d6022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6000806115ed8360405160200180807f636f6e74726163742e6164647265737300000000000000000000000000000000815250601001828051906020019080838360208310610d6b57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610d2e565b905073ffffffffffffffffffffffffffffffffffffffff81166106ac576040805162461bcd60e51b815260206004820152601260248201527f436f6e7472616374206e6f7420666f756e640000000000000000000000000000604482015290519081900360640190fd5b600082611666575060006106ac565b8282028284828161167357fe5b04146116b05760405162461bcd60e51b815260040180806020018281038252602181526020018061210d6021913960400191505060405180910390fd5b9392505050565b600080821161170d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161171657fe5b049392505050565b600082821115611775576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff83166117cd5760405162461bcd60e51b81526004018080602001828103825260258152602001806121776025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff821661181f5760405162461bcd60e51b81526004018080602001828103825260238152602001806120336023913960400191505060405180910390fd5b61182a838383611dc3565b611874816040518060600160405280602681526020016120bf6026913973ffffffffffffffffffffffffffffffffffffffff86166000908152600160205260409020549190611919565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602052604080822093909355908416815220546118b090826119b0565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156119a85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561196d578181015183820152602001611955565b50505050905090810190601f16801561199a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156116b0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216611a5c5760405162461bcd60e51b81526004018080602001828103825260218152602001806121566021913960400191505060405180910390fd5b611a6882600083611dc3565b611ab28160405180606001604052806022815260200161207b6022913973ffffffffffffffffffffffffffffffffffffffff85166000908152600160205260409020549190611919565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902055600354611ae5908261171e565b60035560408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b47818110611b485750611c01565b6000611b886040518060400160405280601181526020017f726f636b65744465706f736974506f6f6c00000000000000000000000000000081525061156f565b905073ffffffffffffffffffffffffffffffffffffffff81166363a5db9e611bb0858561171e565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611be657600080fd5b505af1158015611bfa573d6000803e3d6000fd5b5050505050505b50565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166321f8a721836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611c7857600080fd5b505afa158015611c8c573d6000803e3d6000fd5b505050506040513d6020811015611ca257600080fd5b505192915050565b73ffffffffffffffffffffffffffffffffffffffff8216611d12576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611d1e60008383611dc3565b600354611d2b90826119b0565b60035573ffffffffffffffffffffffffffffffffffffffff8216600090815260016020526040902054611d5e90826119b0565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b73ffffffffffffffffffffffffffffffffffffffff831615611f3357604080517f757365722e6465706f7369742e626c6f636b00000000000000000000000000006020808301919091527fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606087901b16603283015282516026818403018152604690920190925280519101206000611e5b82611f38565b90508015610857576000611edc7f7cb36cfba78818e097a3d983f102f9107317663854a5d185ea320a1e1a7da21560405160200180828152602001807f6e6574776f726b2e726574682e6465706f7369742e64656c6179000000000000815250601a0191505060405160208183030381529060405280519060200120611f38565b90506000611eea438461171e565b9050818111611f2a5760405162461bcd60e51b81526004018080602001828103825260288152602001806120e56028913960400191505060405180910390fd5b611bfa84611fac565b505050565b60008060019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bd02d0f5836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611c7857600080fd5b60008054604080517fe2b202bf00000000000000000000000000000000000000000000000000000000815260048101859052905161010090920473ffffffffffffffffffffffffffffffffffffffff169263e2b202bf9260248084019382900301818387803b15801561201e57600080fd5b505af1158015610857573d6000803e3d6000fdfe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373496e73756666696369656e74204554482062616c616e636520666f722065786368616e676545524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654e6f7420656e6f7567682074696d6520686173207061737365642073696e6365206465706f736974536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737343616e6e6f742063616c63756c617465207245544820746f6b656e20616d6f756e74207768696c6520746f74616c206e6574776f726b2062616c616e6365206973207a65726f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205a28be4fcc53ccd2efba1606480b70dfaf30afcd114e556e4547176880794b3664736f6c634300070600330336385425a84bfecacbbfdf001ff517da5d21721114bdfcd87a23cda09cc1782003ff9d3ee9e3860ea43b0e8edf31a657d05d22860bbde1daa22ed28a15c6fdec8d03f74cf996d53d4d6990cc3bb10daec2b576e03f4aea856f694a8805bb0fbac877030aa1e428f2f054ab9b6a3c291133748e59de72f40b2598573923121650f48f20030136400b4357d92892608ab536462dcfbbc13949f72f4c2a038bc5c043fb91d903acc2d470e47121089f1053bde7869fe9919f30e7accb45bca01cf74464c4a7710326627279e1374bb124bc43d9f55ef49407d5b6ca9b1cf830bee99877438da8c5038ac358579a15aaa4563c65eb64cc77dfa750241abe79ceb1705bd2ed1fc5d63203da62d71f00f37b9f07b6ee777cffab73aa72fd23f4f0cd1798b0b3ad777c482303436899236400b546d10bee0e2f630e88fde9f871d67547bda7f031c85d30fcd4035b3d59815465da47baccecff95ba82ba1a3961541a4715f9d5868ee45943b75c00581f0218bd24b85e3acf65d2b6c8c5ba5e9fa31bf39ad90d26c63ce1e4dfb4651c5820ffffffffffffffffffffffffffffffffffffffffffffffffff50d0dfda150345032f9852c29b135c6f230b90b28be1227d99e1b9e9fb0354d7f0deaafb432ccda9033105a21ee1a84bb7fc2f89a6949327407bff8c0e2f3ecc5e4aa0d0926120b3d801410403069906efbef944aaaf8551052afcd3fff8b7e3b01c2d1474906fe65e7a86321700581f02ae6ab188ebcdadee7706606cce0162e0a5f687605ef758365fab92cc8b8a5820fffffffffffffffffffffffffffffffffffffffffffffffffea8ddba3edf1fff00581f02523863191ce09d49a5e38cf16a3b98cd7579d4452e968c1db63b69840e4b5820fffffffffffffffffffffffffffffffffffffffffffffffff0b3cec1eb6f2b8303cb609a565d3b2a816d373af9f107ae39ab537c8818d54e31594d80e0b6ac80aa00581f03dc8428e00aab5a3d2c811f16aa28d600e59a339c4144f47ba16d96ece9705820ffffffffffffffffffffffffffffffffffffffffffffffffae51ee0abc9e3a2f00581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630551d8f8f00cfa6758d7be78336684788fb0ee0fa460102194020038eb8f018b4b16b7b91b9caba8c6adbefac88311d02eee9b36739c32ad4c34c200219a0fb03ddd7da81fa84675e622735e98f8fddfbb4eeabd00b195fc6d03a7c38e40c19970304f1f5d9c948477387c349042558ce0c64308813dddeea7156a4a1f8bd7d380f03640af975b9077e70f1e10f676959b109f011a78319560f19a0ee0c42c36b863c03ae52938adaf1e96cb65652258506962a8a10264bddfe5f237419a76e8e1622f5030ed43c3dd30d2799e40958c8734070d78c9f3a698f44e547955750d3c6c0f4cc0326cf7c6d66b7422a0f3d7852b9deabfb0e65645e27ada8d35e67c5b4bd3fbcbf03667a2dc0787bceaa5b83fb082e7e4fb75882b3ba4bdb1cca4ed735ecdac6dd0803f9a1989eeff656be17445d3f2772f945bd262ec2dcc6fae774dbfe6973495f57033162ab1ab50f524d4b49ee25727587cf95424b69c2254f39cdbcfb46632f708803f12fa794b764ec02bfc6e64c233d76d65ae1ef1acd6c960c228228d9a6d0c68a0353b79ab4c4b0b4690ef8c9dd6f0c95bc6c63d527e8b4a297309d7df3ec7c79de03b118616192c38e03a6dfb7c02d52593c46964ed2786dd061338ef6792fe5ad95039ef6dacbb49ad65dcb51f389ba2fac5a545ae82cb97dbfa8f87d848cf11dd29b03b4adfbf5ac502adddaa00cb208f47a19a6343ba808980a4ffcfb542f140bd51503ccdc07c1d98149f475797b415ae0e7fb7bd4930ac4e4eb2e2037eca23ea77b630219ffff03c8e1cbcc90227f59e6c802fe8e1f7d570ac405029a65d71e2455ea0712f9168103ce552eb7e9976e6ec67360e40c72ea7a946eb81e574d083013617511390f0c7503ce1cded14f27a0727e97ae5998b3b07bd101b7ac931a84ab80383187d9fe1fec032bb2a95f001134ce02315a87c7569c9622e49317c897652d1eff1ab13f41bd100384b13d4326233733b7c82ce0f35dd07316b952253f3e7ec9d980694e707c9e5f03c83225a5fae6e43977800e13cb6593a92def64efbf3b6f440392bce7cd5147250219ffff0313e9495ec960b93aa80046533e8227ef9e752f61ee00a98f7d7fa7a567c731e0033be4ea11b4070d5f211459956776c839490644412cb87204c1c15d881560f9d0030ba5f09195d98766d5f92c286496685fec32933097cb07a6d59dd0dfe33e4797038bb2dd86e2ab9dc284ad08379c02a31ad6618066cdf1e231bbc9c529442d979103fe590e51053cdf3a5d71ac4a3dbe47e9d9dee00851e78ae452e09a00dbb60de603997709c9c1d9d8a72e644ec566354be97ecfd13e459da4d0b6279f1e3a8997ca03ab069105b5f3c2b949d330991cd160ebeb268b194a148a051e114e0f63f19cc4039e0522c61670c8aa8cdf74deff91d4ae33aafa129a91a9578af19f4ddc9f7bdc03c62c1ecd81ce3f54641ffb2456af37b29c5a72c0e2f67ccffedd8b0e9e59f81203159d9d318a5c3ed6dca01c9bca336491bccfdbf3b8eb928363bafee20160e48c036cf9c14a74c3cff31150518625c5c084e86afb449a8b705d1d7247684e58163f03e875e59cebe1c4808cc3ac9165287e8fb46fcb0d7ca621e3b8cefae7da2ee89b03835f9c1d7d0cf2c4c55a3d7b396c27710892d82d60a5a4a36ce6e91a7d4d8b7603fff71b5fe3610a48c1868a5565c17d300ea78d854cf83ecbe6bff4d610369a05036d0ffea11cae7b8160db77105909fecdf75144b740539d22c636bb4898afddd5035c93c8d582fbb2ce8780d2805f800cf040b7f180ea9d018a5675e489d0452b55037d3ed3a078935e0dfbda4a04efff43bd86799d09ce210fed397598fbb1eab6f80341bbdf08f16c8ec691cffc2aafdd5ae631fd661b72034ae1e46f3253dbba60b103ef2817ee5389cf52b984d62a869b81f486b63a2d44673c5c6cb9ba6f491911bd038ab83b800bb6e5e703b02a37bcdb9c546e1a600e412d4baa654f3797c10bd92c03a730c76b936faf17f38b1bfba497c9a0d82172bc63dd0d55bfe50e55a796fad900581f0225287e77e8a534fd8eb35100ccd59a5e80a3c180e4aa91c259fac5fe127b460a230f1b9b8800581f021ff060ff2056ee5d3f6253a427a42aec276e45b2db170d1824c900bb12e35820ffffffffffffffffffffffffffffffffffffffffffffffffc12235003f7affff032159c915e2b7e006d6aa28c8aefb9ccb1d1d84cf61ea04682f210740fbedd62a00581f029f904c4ebbe7b1e2f5ee6db7a70d0b314749e12239e5f90b8737d719afdb5820ffffffffffffffffffffffffffffffffffffffffffffffffcea8d481c541e9e000581f02dcc69016103673f397c3e9c211ba2aec1298ac75b49ea78415fdd9927e45483782dace9d90000000581f028053560dc8dd4bbac6006bc08068092b219c64818acebd2381e5a9b979394901a055690d9db8000000581f02f2ef382b9e1f8191789596f5a1abc9a30c3041788b5822c4a55e43e1df474814ecb4dd5bc9a09900581f0202f1f7c9dd1bdcfebdd0fd6bb7c6ae421027247b84f075f2cf52c94dded45820fffffffffffffffffffffffffffffffffffffffffffffffffd8c2de81edaaa6500581f0281bcbf80eeb759a9d4bb967461cc2d09372160df396bfd958b6f54047f605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f021fc96c36b621a3f465f9e7c57415e281e6c10c8d50cad94afebd04a142fa4101035d35f22735a0052c440269b6ca4687eba42bc94df63e9245aa8835b743b6d9990219f47e03dd0439e662faeefe502cbd6cbaf247c4bc4d08ee70584266a2781925db055a090383306e6cefe1ceb0cde33eacd1bf85ccf72bacbed25b8eb4f10bad64903ef00d0219ffff03f450892f43a50244d6c1926eafa74f56a36d347a8186ec3e79c47f267adb3ce403c4f624216dee1b191d97135170bd256a82e769af38c2e2fe6f76c5785b0217fc030551f26e89152d879222cda12b502b848fbecae8b9d341139a100d2c3a455989034ab6b93324a5de30942787db8c5422022caccb82e83eedd3c2f851bb448816fd03417c3f416f037fd94594bffd7872a5fd06a8455c300053ac5d01530bc8949bd903c74b857e0871323c8743f59fba280722473d3c645801b833e07500fc027411ed035004dd54fdcf9fccfbbe87576896b44e0547790c36efb8fb91f8e6e6c837d471037c663243a786fe0d40f3f9140c82fa545b7161126e89eb4a12005c7e1ca3e2140371c35c2e962680c4f5a61f738fa2f0f0edd0385c2fe37d0c3c434f4025221eff0308da568b79b6f0401873ffe4f79fb7f7e04e5c72d62b2a1c19c891e2b43c522a0219ffff030855f34d99f0d2bc06099d125d024fa7c993ec845a1818ffed9dc167aa04d38903d0243a6dcee3d606984e23aec964ba3781828d7f0e47323568cbe040d2e9636c033a358179341c6beb6d2bfb1c766ca18c1c1c773d8b25302c5ec1da245a141f9e039680719488012f550690f489e574ac623fc181b84655400a1d19efbb58914a7e032cd96135a64fa79e00ea1a82460eac1a2a60bec11afadadf1706678d53fc9b3c03fcc73551d929510e8bdb8b5c5498fee7ecceacef5db0566c6c80dab45cdbdb7303cc0d5ccb3800126944320ac468a61fc0e9ba646fb3a5a1ca93424a7bb39ae81f0319cb7989fc76e5988f8c6138f2b14ed4104302dec2613860b6220159d744c90e03d90cb2c26e2f6eb7e96d230e75967937993c49dea9a1eb1ef4bc9e7c2bae614303d93e6242042a0b965a26e295b7ddbc3f70f2f1ef3f2ab03718392db16f26147d03a2703d870eed0ed872e4a790758fe19ff06ec332e526666432a52c21cf8775d203f89a8950aedb43b0c35df4ae65c7df1a37a04aeec0f75b146017bde8f05f00ff032c81f7837ffb0b6373baa5d880c46d6bd605862b18f5052e99c622b5acf7f20c03cf50ce28eca972914b5c8d24e9ed6fba5d5727b93c4242520d1f4596e69592a60359ecaf4e0553f784a70af065c2b10def77e62242f45e253eafe5b1aba31fd3db0325361ff016459bf275665a625915b5d326e06f8ba23fedd023a9c9368779f73003d2ffc1c741e597966a0076fb62492d97206d587b6bd2ed13125da4c9692d4b3e03ce8ceff0698ca4a11593f03538265812fa40e26217be21511e2125130fb0067e034e4ac59cb3361e8b968612bf16e684d791d940aa21eaed47ef15fcb4be75839503d0c75f5c2aec11589553615b638760801cdbaf8063702e3d159bd622297c753c03567a08ed8875baa80284a8c6ecafaa8c8352f3224c7e2cc79ec1a148bbdbd70a00581f0248d712e46a875223f77cf8903de986bdc96ac97f2c0d5ce0215f34ebd5185820fffffffffffffffffffffffffffffffffffffffffffffffffea86a224fb7b8fb00581f0224e979f23937b4206c25701ec8be5786f7f0592e5103a7b6929af05872145820ffffffffffffffffffffffffffffffffffffffffffffffffc7ccff664d90bc2000581f02c82693feae0835c4cae27bd30ddd104dc572b5413036f47529d82f28a1a05820fffffffffffffffffffffffffffffffffffffffffffffffff211c9101374bd3600581f03a14d295d267fe6a6d4923aa5c3db63b15dc5503e5abea29498f79afeebc048055220184a2025c000581f035558de583cb3707c36f045665aed1864ee9e502f417938d6c28e216e0c005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020a035370544e4647bbbc464bc38a93c25b0f5f5da598f33b2f2d897f7a039942942d00581f02b6bd9e164dab9b1f9ea79e39efd5eee7b482d5b74e9b8dbdf29f52b5dfda5820fffffffffffffffffffffffffffffffffffffffffffffffffe952029c76cc1ef00581f022543e2143637f813f20f616d3ca0dd19f55bca4e22b16da22ef0e9f3222b5820fffffffffffffffffffffffffffffffffffffffffffffffff59be16efaa1f39700581f029ba12e3a1bab5b5508d80c8a5061de3b993841e64e49104d15df4f8dac385820fffffffffffffffffffffffffffffffffffffffffffffff9f28b848c0ba3000202190bae0219ffff03a8d3a85bda90c1a814904e0a0d2778a1af3246d738c4004bb2b8b53fe1ae3e380355fa5f1b531bdf621f08682157ec11535fa1f60f5799df1ad6f08117624661c7032bf4d9bc3134eac64a7ae80d7e8a8dff1e7a18b40dc42387dc1cdeb2c5d5826703231999c171421d84afc0387b2881f860aa3e9242d6b79e427f4bc74b6a66d3bb03053b8831b7163132fca5b1cab9a1d864c8813bdb0c7de437d78170e7df956bd803b1ba9c718f943dee07c60a1f1c92a37afb39751b58faec9ea30c8e0394d9657103bfa3bab26e47c0429672f67e905b39de1ec5aa5711c1f2700ec2cce9681e48aa03fedeafe01be7a6b60ec5298e750100db41257877543974bf85047f9336b90711031decf9e2ed41c8a8dd9683fb800ca2595643590279702f1a2ab9ad5bf4f670c8035a571a40e78be81acc4bbae2a73c247646be7da0210ce8d564ea2c46f1506287032bb92dd011159c957348a5477fb8770577303194ed9b8a10dd8bd53300ed0748030257fb43535cefbf8a58636884a86d1b4b948f6733333473ffee236e755c74e503dc0a3a2da1b485327edafe038679b2d347ba6fefb8df794993bd2e1a0a32261c03d8957eaf31194a4b180e77b1f0a2a6fd2c79851d5acec4d824c979fc420f3bec032a529b5a2f700f6ac8ac510a06703fdcbe44113e51b74d4019acda2438c4bc740219ffff03b6c1b26899c4573a710fdbcf7a9a2c73d7d9ac754a5c92f8f0b49a1ddc389cb6033e74f9cff7c4b91047579405620652ca85bac48d93d45d66da6396fd489c21e30219ffff05581d02b02df7f9f7b4a76b40cf93172d3698ec90bac02b2491c8bb858b3c450f014a0110c51d2ea7dec78cc91922600374ff3e8b2a98026d71901829f73a372f9d645b6245b573f06c0d50a451eed98b033f4e1196b4a3e3e323096d6436921c8bbd4f132ef9fb16b6bb20a6124d84e3c305581d0209c48ef6fb62ad2a39a35238d011c495d0d97ae093a252e2dd41dcc207011bffffffffffffffff0219040405581e03b6ad5e9fe0c37aeca537885df23fbfc4ffaa65efce33ce9d224c4174300c01467cb225838dc403af13056cb1f1af897057ba14afa6d0c6462b0c329b551ee0362633b3e798ded003b278b4f86ee296f4d223cdefe037e5233c91a542c3ee6fda4cc2056e3ea622f70219f7220350a60088f65a249142b8ba4d086a7482739bc2f1e8ccbe4ca95db77206efeb4103e36d5f2dc774f4dce55113b02297a146d416d6b5573b76526cf78596563f8dd20342ec28516a27779dd2f4c8ab9d34dc77dab983c43ca26a98a9295e80f54bb3a0039e53712c2f0ba97a2d58072e1ce72fa74cdc2d31fb27ff26a4a371a928ac8d2c03950b71f2ca6c9d79fd3cb7a565ca5b2f534cc35d9521535dd43d0f9838f35d770323d26c9db4d65c396f66e5a56eb9088ebcf8f89a22bfdd07baee4bafd23a2df3034825ed505e8e6e87d2e1a96adf1147a9cb5cdc2dd1633b90e825581eb53bbfc003864ee34310f5b5153169bc2803aa802052c09d417d312b1c83ef00f47be287fe0219ffff03dbd157662a747a7ebd0323f27f5169a6950b2ebed67034fb23003b4176205b1903d70d935c7923f99ff5a6a47338e70c6cd8e4c16013334df06326e8f125ef5032037722c11327632dccc0715d9dc2419d43b916620ac5e2778b0bdd2a5ff7350d8d03299ad72e3da8ca9b3ef6e6d1c06f9c6177c0a9b1217a74ae1c3418aa4d7967ad03a993d89d3efdb4ec88ad06b6f61e2adf36e0c245a2575f828d30579d1081251b03396ef376a284b1d62b9a6663d44a339b9f0f9414d8970fa59bb992d34d267c1a038e59a4cdc5798e82d28bb0087bc4ac48fd605bf91b454adb27edc0c22bff2f9303cd6c763a336907c38ba7dd43ae3c7bcf9abd48ef6a367a1959fa5681b244c71e03bcd9b29a43ac74336075fbaf288daba838fa844a4092700616174c9ec74b282c0356fdf81f95cb5e81e319b7c6a98d534a6f92349742824adf4565d9bdd99a28cb035d0325677b8804f3f97b0b5b7b1f6b0a55a2c7b063922b7e57100a5fc1d83a3403f928a6da75c27b02923b5a3a558012e97b648593cd301b9d740db128ffd05e590219ffff03b61c470aa24dc5b3c685c19e623fe7c058a0e91f16ce9a31aeb00bfa181087dc035d314e786b373ecb966389ba6ce5c78c626f4e107d36ad39c82954f090542ff303f8dba9cfa4e8062cd07b6efdd4f35030adb5399a233655faa3bdfaa30e1b765a0355e7cd15f40684d8159555e1b9c7bdb4f34c48826cea41faf285aacc570e824603ea30286f3e806de9b978c2e2c6f5b3218e683b6ea365980ccb294a9293ab59ae037036657b1d3dc7ff42a539c4cb0ebfde20a9e75f066792a35d3bd0f28199db91038abbd76483216af26f82aac9696fe0c45528c0d78627da6cd4b5ced806fef7d7033397e788e662366ca14a15a50e4bb756d5855a2672c19746aaf32c6990c870c4030de595dc5ce0dd4810ce01952f3026d2acf8157f79a00822ceb2e615ea80035903af1bd4237d94f4ea5f4056fc2751d0c1a901b7331f5bd9a42402cce087dbbe9e03b8b134fec49061a5bb785f825133e0856b2d693ff90737a8c151c5b3da17a63d03b64121ce3dcb95518a0590eacdf1394321ee656168c12669102babdb659d3fe50219ffff035918b961cd28c7d483236c86efe5185659becf8e5f505f19c58a5290adf3263e03d16e8be2a76ae1b43ebdd0bbbe2826baf1b41afafbda0d09de030d1efcd41a9d03e65ce91b12fdcf9b24aaa392519e695939ddb2ef6118dd104a362b2f6bce326e0398374fbdcd9d6431b8e52928859016328a72ad1035dc390daaa3af6733500f3103259a8079e75f193c8ace860029dd45603aa31a0fab2358edf910e61e5965616403abb28086d49839f10fc714dadd5e403ad6abc9c92454395e3511c76e654023110361688fb6ecc7dd2382d0a23e557737267e4f0f3324ce35769b2bd9b9be07642303c997642d7d95fc1dac95036f643bc5cfd326787bf54bfc056d5bcde4aedcb55603239999c7db9a9d986a2646eee42635db19b14b777fab83830350ee9b8d9e2ea0033f7fd3ea59f1c8f0cf1ffcffd71941114a64b3edd30d347d82eacc26a75ec9890219ffff0379cfeffebb195c6de08e23b3ba1415925ca7ec942924912b1ddf9cb55af666a1035786502d550c3fd2c54f81cba21932f6f3acbd2bd05c098ed10a886494acea1103cf6b6c738ae03417adf7d42ceb563ad36b808635a9120c6936180dedcc6c985103d63923c27de27a670576dd86ce3e5dc5b62a5edfd48c53f70c1fddb600d3599e030a23692cea394131f8919bebbf29c8983356e3d7f5b212c2a35abc70a27c383b03b1eb7879ce049655fea5bc051c37cc6abb1eda094cba0039fe1aad7ed3dcd9b9035e81c30864544344c5caeec9d1d2256f1a81a7c63ec5ba5e3a59ec3f59a8b45b03bd62a03e2b014407b911007efe2fc74a2fc4c0f6da3ef3fa5a24426d075214fa03a1681e896e9a94372003f5eccbbdcb5ef4d70485079e26b3aec1e8800909741e0336ed7ea91f71959313f0f7cfe0418b6af0e20fb252a07ed3029374f4b2b96d6103fca99e3c46613e5fef63d573ce72c196cb552d92bb625581310d0e48e4379d4e0323bb9ecc3ce6804a9ae1a1f470409babed34f12bdc7dd38017d31a6f3e9a9e560350aafb9dc21db600025ed3dd0fb6309faa2beff1b2402f0d305aab59c928827703e8ac54dba5d63785c5a3c3a7b065dbc26d7cf950d497ce19384535c92c49d6a4034d2150227a8b729cb1816574a538896f452b7b8f5a000a41d6b244a03ec7cbbf03c6b0187f1cc69ad14bfcbcf9ec497d65c24421721a2efbafb1c453a3154930ef03ebd39542cf9dddbcf48fddeb8d1f543d73f2d1f1471dd7fa5f1ec7a5967213da030770cf2c46a6d9953e7ecb90ea6cc5c54b926eb2369fa735c15fabb7fbcf48b103352731a2a81a3e4b62897b001e4b4ac5681209fc321bf1260e1fc6c2ab6e6f8403da453b9803cbc5597f80918fd73aa4f3769d34c6f061b4c1e9e281901990090503a8683ffe8c4c07052b84c873d032fa95de6323d5f248b26b719fd327c7d783960317bbd3534b4d45d1ed24a168aa64911a1550df0f798f6f87b7e8f9f61f4d2f4e032a95c9a8c40deacc51c4b3dba5c5a035731de606b3100da7f20d0aa132158a640365ca90f04913b555572ced2148600c21d4d914ce2d01751dcf6c0dc46c34e193037d210bd2e57dccdc95416a5cbf0c7017f4fba29de94cc63cbff031f15a371c3b03bfbe0738596f6fdcc1451ec467b0493d596a09255af718696805063620b875bb0367b029a6ca19ba4377975b2cae3ddd8287307603c0ed72724a70ef5bb10671db0605581e0363d36364e3a1a98f81243ec565a4578576d63bcbb41c9975c7973586b007011bffffffffffffffff05581e0388414d1d3dbbe29ded8acb9e3cea9eb45af6855194626afbe6a910b710040103687971998c99f094486ad98b21efd4c229c080ee7a3b172be537d01e4402e1ab05581d023f033156b3850de66f456fe33978a9ce21aee0521046f536494a5d320c183d4801d3a89cdb5147e705581d02e97b89f0cc0bf9cdfa3a2dce58f618f3c97f3566186efcaa2cd8e2b50c01470764cb25113d0005581d02e686d6354a4e04477a2a83a5a11e05e61cb3e006506192d37e1f72240c02463aa87d50056805581d02e6b8aa2194183af2f68b9a5be61ab17550687088b36dac9dcd466ed20c01472e592b3ab5e2860219409105581e034340dfad401aefad66c197339c3627248cc57b266d73eebdd9f87a1a100c01471dfbbe0cb2a00005581e039b5cc4f475d6a8f55693917fbb8a387ce5fd5e66309326fd373ac4f410040705581e036425dc3a7f1f0accf4462873246391e78680ece1c633e62c69bb24dca0040105581e0365003c1a09fc490b519d7f3050c6e7e18010b5896f073120e69b943790040103ad7912c36944ffff60277f4205c7a4266bd0dbc89525b6c028cf2233b644ce6c02196ba703041b07d24c750e53d0370eadd0efee3d14250b814dcd876bb0bf6017b0273d18034184c5c5fde876f534bf3966799bd715375f4a061b7cacb14f3288e743d997d603aed19a9e00c2b379715d6496e9ccbb6472d2c4bd7e1020ba6cc3357a806289b3031277305093d5129a158b6e92bbefa1dd5ce7cd9957a04b58efb686ea07e4992b034be26ed4381f6ae419c9994550ac79c924716c59063c38574343e5d09539bbea03083d32ce66de6183dfbbecae53be24723aa563488f48b2f8ed22422cfdfa57ff0364c8d65582b8a4bd5464d394291cd8cecb95dfa6e6395514de5d903630290f50032718ff0511e2d0666c8bc42e109102c0a2af1cf13c585d5b570a13d8f47a9f240219ffff0345a2186c871c69ce355bdb88c79ba5b5db4838587ed6af040fc3f723a0888ce40352c694e91690975f368804a2d189123db35d07af354b1c39c093ddadfc2242a20324aa51ca10ad97215b76bcb8e8a7524adf8308f204c7d2fbdebbc5089eafcf220332dc4c6305506dafa1be08677d5aa7c2821dd1be59b57118d68f36d00ffa702a03a79c69a9c09caaf54fd25a043440fb3fadc358eba8c841e2a61f0f908b5bce9403f838742d2f33ac6d8867e03f6f6e5bf46eba03e0dc2f76db3d66fd571f43b6740339fb7092ebf8f5e11b2085554f4a7fbabf6ccb354f0a0349a9055dbda422a6e5034ad293616d3e6f01bdf66cefbb7af91f478a4160a323bd9c4ddae59cfc16f7530367373a91cdf3857255157663d9c522c8218906a68eaf327537e111dcd17f1aea03cff27512aa906f1011ffeb81c12c5cf02246624ac2e30d9556a0187dbb432bbe0351cd2293b2aa8efb806caccaa6b4ced123db4f197fce9c462994a2c04283ce7b0219ffff03cc80b87247890aa4301df88f55d66662f79ba0402e72f1f8191c74ea4fecc821036499887a20fdeb78ea9d8a7248192fb487cd4e0f7568bc7f748c5c6f6e89c056030710614077406b841d001ae3265f533befd663fe9528f06f3a379ca0d2ef48bf03364f4cda4074ca31a416fa6a191fdab9bef916d9618bab1bdb131e4299f765f803394f62542f34bbd428b833b78263d84ba5d098d1016b3c29e5f61f7bd2ab505b03c8eee2a553ec36f0a52ad998fc8708454345256214ac9c47c54fe0143ddbaf65037e965747b6a9acb0945697e36ad8afe59843e738c99c87c03a44a609ce8d497703d500f384f1209239f1760b483407fe0e8c5ab1fe24a748c2bb5e758f670d9e67039944526fac76ffb58eae4b429e235e0b5d5827358a735ec2b3ed4865fdbcda2003e65d6d5c744db313af299971f72df2ad90d6111350fdba974db5726b338a8a120219ffff03f00d42b68cd59ffa4cabf5ee6ede2ff4f69b4daa2d7f53269b633f3526c04320030e3190ee0cd06676bb2b6ec270bcfc23ca790f2ca208172a10d6e68760ea85f503e9aa09a1ed8b6e01b6d8d02165a96458ee0267b462c3a7e7031548614561b33303d1e408573f4556ba26820307a34a20207f7a673f13d0fd061a8e03129c82360c038cb798458788bfa34269c4ed586402d8a0d5cce4c7fa44a78c7596ae2e68a34303f6785f0ded50fd157c75d796ba6fcc291df1bbd8ff70acb29fbd4b5622ef60a40304720f204a60731bd437ac785cf93a1992ac22a68220e75d619f68dfa9a661ac0219ffff03228d9402e29777e561d3c5ee7fd60a092a643abba2be17837abf21f0ea7b43cf0363c4221d750ba0fa09318d39a5456c1cf545c273a1725db032eea6f372c6166b0345f1f6ef2ef42a5982bc1d17cc0e8623f5011f2273436e93da421f3bf59968230335b61f527a6e588d2de4480f163f4d527dac0a94106138783e74ee7f258ea9d20358a2070e9810097f68594465dcbad265911efdbe549570c3d6aaa47934efb5b10348e28c1f54c6edb8953747716d03539b2a3f11a2bc5ff96466603bcea7faa05203b418e452e81ffc2430c441ec4605ad513e46804cc559b8c6290fb6149a2f520d03bb6442bfda4c3810501bfd7c5add36a04eb204581a9c7a991be09eb61c9dcee203597cedbfd80f6c54c5ad7e2d8f98c3389c31d9a1ada3c18f0d72242ff6455668038b97389e25570240e6d9f52df78b4d230052cd67ec955aaffe08292f1898c97003f748f8a141d4c2857a5ff078afc87ab65decdc87c0dd30c6081f03e032503a6203121a25b458025c5f8d89a2f726d0b1afdfc9a83b99515362ac8ba13c528e035303434b80188fb31bd6074c1cb6a044b6a4fd91385fd5fd9e27b37a859ac81d440703e97462658fe6656d372c826611cfa5ce60719d462ded00b2a4de3be73355bb31037359dd35e5b426d17cdddbabeea74ad143a6c1516b701522664888acff18190c0350601cddf4b75c92a4e3d10fe00001ed3ffbdf3b3651c0c2c9e0522631c936af0399088f25f6137c919f3cd8d4b9820f699eb0bccf2e413a4a26ced8d4ec6a4cc103cfce872f77589966c3ed6eebd795d988ebcea6c4be05d6c5117bd73fe5d51a0b03c939672e3ff05c27f3457493800910262138c23846d4224ae392d4c6ff806fcb03112abcb3d596598123ff6c3ef67363fad6b5c129c04bf595a133d1975a46310403633e2f30989bf6f73774562f2d716395f44183c7ec33b1212b2f52e3766498a7036ead9e48f0cd86c8bfa2c52a976091134219093d3a01d68b3fdb7ca51190065f03a1fd382007793fda4ae9a29c4e7f19e3b03a2e53e5583b3d9cc51797d19d2dd00309a64b5618434dd9a310aa841a884dfd045c3d5fcdddfd26d9d380e2ce75b3e7037e53a1d1b158fd2c888aa84039880aa89d859d6fd99ad8155eb87d0bdd4a8eda03eacfaa5ff6d4c72c5b896fdfee081121dbeee7d408c50cc1f848e92f4b8ef9a0037f2ce34312621b42aec2234ce2304934181936b1ee1687843be6f5e96b70264a0338e581a5493b6609bf29dea717b46595f6386289b91c5509c1306472659709d805581e03cc7ce7c3a0e87a4a52c5fe5efef17ff866c26522f33b5a9f65267da3e0040203b9c1c929064cd21734c102a698e68bf617feefcfa5a9f62407c45401546736bf03858202eddda120b03347ab893af1003934c21c8cf8cb17cbea76b41114297f3505581e037edd1cc77b73d49af68c5ed173e38146a4f28093357c3064b954627db007011bffffffffffffffff05581e038207d148f2c124663f4b2efc6394f7ee036f968a4b9b6d178b75df2b50040105581e03caf24506a1bb314c5d5de69a8dba53bc665d332f69ad6a99971cdd86300c0146cd14ae739b60038beb32a6018a392d8b2027ef083e921d1252c490183c812020312068141e60b60334819f1a6f04b89185a6b92e560894f601ea487d8df8c0f700efa9157d0f3cd901410805581e03d62fb0da10f009187d559c2cb0cb5ed18efa0afa2472dd870b9cff3780040105581e034e982b147ddc66897a94c3f944944bbd591ab14db69cdaf5b7e642b480040705581e038f18090c96fc16250701ab423a0a8d8044b20288afc1ff26cc3b720a80040303339089bc5a0843099c73cfb2e948423f19b8232d573b164b11aad36310d318cb038c9353adc9f0c7a302afccf715aed4230b15048da00306a4f8f053d0dc07738d05581d020e2fbd5891bc653282b7802ddc9b9c4189272d02c5f11aa8badcd93f040205581d0262db93a66e27938e9f5d7064946cf7abbd0a107c4b0dc4dd28da08e9040204593c4060806040526004361015610040575b361561003e5760046040517fc9e525df000000000000000000000000000000000000000000000000000000008152fd5b005b60003560e01c80622596bf14612e01578063027dc18414612d8e578063066d6aac14612d1b5780630a67d83214612cc15780630feae01c14612c825780631323ce0c14612c5b578063168902e114612ba25780631944799f14612a3057806319670e4c146128415780631cb7ee32146127f25780631efc99151461275857806322bce4c61461271e57806326c252a51461241c5780632b7b48cf146123a65780632dd3100014612362578063392b493814612344578063437fef2a146122bc5780635125665314612246578063585da62814611ed35780635939b18214611e5d57806365f6420c14611e235780636c3f4e1514611d64578063724b13af14611cb7578063747e139314611c7857806374c8481f14611bcb5780637fe5c2a814611bad57806384c0494014611b5557806384c9754414611a9c5780638a5e08e314611a62578063902510a414611a3f5780639856e083146119a957806398b2165d1461186e5780639abdcb5114611612578063a13711a61461153a578063a4c3071a14611513578063aa9beceb1461110b578063acac251d14610c7a578063aea169d014610c40578063b12c111414610b5e578063ba7c454d14610adc578063bd0d6c5f14610a9d578063be5550b014610a27578063bf5289f2146109ed578063bff2d81e146109c6578063cabc726e1461099c578063d3b62e1e14610832578063e060a79f146107f3578063eb5dfe5a1461073a578063f11d741a146106fb578063f28dc8d414610688578063f43548fa146105bc578063f5fac72c14610520578063fa461e33146102da5763fc92ed860361000e57346102d55760203660031901126102d5576001600160a01b036102b7612f20565b166000526006602052602060ff604060002054166040519015158152f35b600080fd5b346102d55760603660031901126102d55760243560043560443567ffffffffffffffff81116102d557610311903690600401613081565b60008392931390818015610516575b156104d25783606091810103126102d55761033a83612f78565b60208401359362ffffff85168095036102d55760406103599101612f78565b936001600160a01b0380809316951661037281876131c3565b8591818088116104c7575b5083604051928160208501951685521660408301526060820152606081526103a481612eca565b51902060405160208101917fff0000000000000000000000000000000000000000000000000000000000000083526bffffffffffffffffffffffff197f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98460601b16602183015260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526055815261044281612eca565b51902016330361049d571561045f5761003e9250905b33906138d4565b5060008213156104735761003e9190610458565b60046040517f49986e73000000000000000000000000000000000000000000000000000000008152fd5b60046040517fb2c02722000000000000000000000000000000000000000000000000000000008152fd5b92508691508861037d565b606460405162461bcd60e51b815260206004820152600760248201527f6e6f2073776170000000000000000000000000000000000000000000000000006044820152fd5b5060008513610320565b346102d55760203660031901126102d55733600052600560205260ff6040600020541680156105a8575b610553906132b1565b6001600160a01b03600f5416803b156102d55760008091602460405180948193632e1a7d4d60e01b835260043560048401525af1801561059c5761059357005b61003e90612eb6565b6040513d6000823e3d90fd5b50600660205260406000205460ff1661054a565b346102d5576020806003193601126102d55760043567ffffffffffffffff81116102d5576105ee903690600401613050565b6001600160a01b039291929161060983600c541633146130e4565b60005b82811061061557005b808461062d61062861068394878a613154565b613164565b16600052600883526040600020600160ff198254161790557fdc2d326f237cc5d2079bf70502b6f7d0e60ff991bd05a9ea30400ccd31dab00d8361067561062884888b613154565b8760405191168152a161312f565b61060c565b346102d55760203660031901126102d5577f9f67f47fb4ceb819aba63550a03d00fae0a14b319ca5a6426fc718a228fe717160206106c4612f20565b6001600160a01b03906106dc82600c541633146130e4565b168060005260098252604060002060ff198154169055604051908152a1005b346102d55760203660031901126102d5576001600160a01b0361071c612f20565b166000526009602052602060ff604060002054166040519015158152f35b346102d5576020806003193601126102d55760043567ffffffffffffffff81116102d55761076c903690600401613050565b6001600160a01b039291929161078783600c541633146130e4565b60005b82811061079357005b80846107a66106286107ee94878a613154565b16600052600683526040600020600160ff198254161790557faabcbec3d61b1404f48e629677a0fbb2af9669ae8cd3d4bbbe228fd18d3912fe8361067561062884888b613154565b61078a565b346102d55760203660031901126102d5576001600160a01b03610814612f20565b166000526005602052602060ff604060002054166040519015158152f35b346102d55760403660031901126102d55761084b612f20565b602490813567ffffffffffffffff81116102d55761086d903690600401613050565b9190926001600160a01b039261088884600c541633146130e4565b600e9484865416858516036102d55760005b8281106108a357005b856108b2610628838686613154565b16906040516370a0823160e01b815230600482015260209081818881875afa90811561059c578a8a918a94600094610965575b505082610960967f47234f48d801388c5f879a78c7627166ffc9bb037fc6b6b6bd9ba6210a5d026395949361091c935416906138d4565b61095861092d610628868a8a613154565b91604051938493846040919493929460608201956001600160a01b0380921683521660208201520152565b0390a161312f565b61089a565b93509350505081813d8311610995575b61097f8183612ee6565b810103126102d557518690888a806109606108e5565b503d610975565b346102d55760403660031901126102d55761003e6109b8612f20565b6109c0612f36565b906131c3565b346102d55760003660031901126102d55760206001600160a01b03600d5416604051908152f35b346102d55760203660031901126102d5576001600160a01b03610a0e612f20565b16600052600b6020526020604060002054604051908152f35b346102d55760203660031901126102d5577faabcbec3d61b1404f48e629677a0fbb2af9669ae8cd3d4bbbe228fd18d3912fe6020610a63612f20565b6001600160a01b0390610a7b82600c541633146130e4565b1680600052600682526040600020600160ff19825416179055604051908152a1005b346102d55760203660031901126102d5576001600160a01b03610abe612f20565b166000526008602052602060ff604060002054166040519015158152f35b346102d55760203660031901126102d5577f2e0a0a52e3ce0c312cd969c13595dc37cebec315cd0476dcc6a45e61e58104be6020610b18612f20565b6001600160a01b0390610b3082600c541633146130e4565b1680600052600782526040600020600160ff19825416179055600b82526001604060002055604051908152a1005b346102d55760203660031901126102d557610b77612f20565b600c546001600160a01b0380821633148015610c33575b610b97906130e4565b80600d54169216809214610bef57817f7dd0b99e08f11e855008b7786e11189c171b583a6c6dc76e8b590fcae5c922ac9273ffffffffffffffffffffffffffffffffffffffff196020931617600c55604051908152a1005b606460405162461bcd60e51b815260206004820152601660248201527f6f776e65725f76315f305f30203d3d206261636b7570000000000000000000006044820152fd5b50600d5481163314610b8e565b346102d55760203660031901126102d5576001600160a01b03610c61612f20565b1660005260036020526020604060002054604051908152f35b346102d5576101603660031901126102d557610c94612f20565b610c9c612f36565b610ca4612f4c565b9060643590610cb1612f62565b9260e4353360005260209560058752600191610cd88360ff604060002054161515146132b1565b6001600160a01b038080809416968760005260088b52610d038660ff604060002054161515146132fc565b16948560005260078a52610d228560ff60406000205416151514613347565b16968760005260078952610d418460ff60406000205416151514613392565b6101243543116110e157829060ff6011541661108a575b169060405191630240bc6b60e21b8352606083600481845afa90811561059c578a9060009460009361102d575b509060049160405192838092630dfe168160e01b82525afa90811561059c5787918691600091611000575b501603610fdf57506dffffffffffffffffffffffffffff610dd2921690613417565b965b6040516370a0823160e01b81523060048201528181602481885afa90811561059c57600091610fb2575b50808911610faa575b50610104358810610f8057858811610f77575b604051966060880188811067ffffffffffffffff821117610f615760405260028852818801946040368737885115610f4b5785528751841015610f4b576040880152959291610e7486610e6f8a608435613424565b613437565b6040519788957f38ed173900000000000000000000000000000000000000000000000000000000875260a48701928b6004890152602488015260a060448801525180925260c4860194936000905b838210610f31575050505050509181600081819530606483015260a435608483015203925af1801561059c5761003e93610f0993610e6f92610f0e575b5061014435613424565b61352f565b610f2a903d806000833e610f228183612ee6565b810190613457565b5085610eff565b8551811687528a9750958201959482019490840190610ec2565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b96508496610e1a565b60046040517f28811f59000000000000000000000000000000000000000000000000000000008152fd5b975088610e07565b90508181813d8311610fd8575b610fc98183612ee6565b810103126102d5575189610dfe565b503d610fbf565b610ffa92506dffffffffffffffffffffffffffff1690613417565b96610dd4565b61102091508d803d10611026575b6110188183612ee6565b8101906133f8565b8d610db0565b503d61100e565b94509150506060833d8211611082575b8161104a60609383612ee6565b810103126102d55761105b836133dd565b60406110688c86016133dd565b94015163ffffffff8116036102d55792908a906004610d85565b3d915061103d565b9081169081600052600a8a5243604060002054146110b7578391600052600a8a5243604060002055610d58565b60046040517f92bbf6e8000000000000000000000000000000000000000000000000000000008152fd5b60046040517f6fecb623000000000000000000000000000000000000000000000000000000008152fd5b346102d5576101603660031901126102d557611125612f20565b61112d612f36565b90611136612f4c565b906064928335926101043562ffffff81168091036102d55761012435936001600160a01b038086168087036102d557610144359660ff88168098036102d55733600052828060209860058a52611198600160ff604060002054161515146132b1565b169687600052600789526111b8600160ff60406000205416151514613347565b1680600052600788526111d7600160ff60406000205416151514613392565b60a43543116110e15760ff601154166114e9575b808710956040519789890152604088015260608701526060865261120e86612eca565b600160ff1b8910156102d55782916114e457505082156114c957806401000276a45b60405195869384927f128acb0800000000000000000000000000000000000000000000000000000000845230600485015260249b888d8601526044850152168b8301526084820160a0905260a48201611288916134de565b03921691815a604094600091f190811561059c5760009260009261148f575b50156114665760008113801561145c575b611432576112c59061351e565b905b60843582106113f057836112d757005b6112e76112f19160e43590613424565b9160c43590613424565b818111156113ae57670de0b6b3a76400009161130c91613417565b04905a622dc6c090810390811161139957612710810180911161139957611334903a90613424565b938483111561135757505092611351610f09939261003e95613424565b04613417565b90600286926040519262461bcd60e51b845260048401528201527f47470000000000000000000000000000000000000000000000000000000000006044820152fd5b84634e487b7160e01b60005260116004526000fd5b85836003876040519262461bcd60e51b845260048401528201527f504e4c00000000000000000000000000000000000000000000000000000000006044820152fd5b85836013876040519262461bcd60e51b845260048401528201527f546f6f206c6974746c65207265636569766564000000000000000000000000006044820152fd5b60046040517f7766c767000000000000000000000000000000000000000000000000000000008152fd5b50600082126112b8565b90600081138015611485575b6114325761147f9061351e565b906112c7565b5060008212611472565b925090506040823d6040116114c1575b816114ac60409383612ee6565b810103126102d55782825192015190876112a7565b3d915061149f565b8073fffd8963efd1fc6a506488495d951d5263988d25611230565b611230565b83851680600052600a895243604060002054146110b757600052600a8852436040600020556111eb565b346102d55760003660031901126102d55760206001600160a01b03600c5416604051908152f35b346102d5576020806003193601126102d55760043567ffffffffffffffff81116102d55761156c903690600401613050565b6001600160a01b039291929161158783600c541633146130e4565b60005b82811061159357005b80846115a661062861160d94878a613154565b166000526007835260406000206001908160ff19825416179055856115cf61062884888b613154565b16600052600b84526040600020557f2e0a0a52e3ce0c312cd969c13595dc37cebec315cd0476dcc6a45e61e58104be8361067561062884888b613154565b61158a565b6101203660031901126102d557611627612f20565b61162f612f36565b611637612f4c565b60a4356001600160a01b03808216948583036102d557611655612f62565b906101043567ffffffffffffffff81116102d557611677903690600401613081565b9333600052808060209960068b5261169b600160ff60406000205416151514613266565b81861660005260098b526116bb600160ff6040600020541615151461362e565b169788600052600b8a5260016064350160406000205516956040516370a0823160e01b958682523060048301528a826024818c5afa801561059c578b9260009161183b575b509261171261176193946084356134d1565b9c6000526008845261172b60ff604060002054166132fc565b60405163095ea7b360e01b81526001600160a01b03909116600482015260e4356024820152938492839160009183906044820190565b0393165af192831561059c57889560008094819461179f9761180e575b50826040519384928337810182815203925af1611799613753565b5061383e565b60246040518094819382523060048301525afa90811561059c576000916117e0575b50600b936117d0911015613889565b6000525260006040812055600080f35b90508281813d8311611807575b6117f78183612ee6565b810103126102d55751600b6117c1565b503d6117ed565b61182d908a3d8c11611834575b6118258183612ee6565b810190613826565b508d61177e565b503d61181b565b83819492503d8311611867575b6118528183612ee6565b810103126102d55790518a9190611712611700565b503d611848565b60c03660031901126102d557611882612f20565b61188a612f36565b611892612f4c565b60a43567ffffffffffffffff81116102d5576118b2903690600401613081565b909333600052602093600685526118d5600160ff60406000205416151514613266565b6001600160a01b038091818416600052600987526118ff600160ff6040600020541615151461362e565b169384600052600b86526001606435016040600020551691604051916370a0823160e01b918284523060048501528684602481885afa801561059c578794600091611976575b5061179f926000928361195b81946084356134d1565b9b826040519384928337810182815203925af1611799613753565b85819692503d83116119a2575b61198d8183612ee6565b810103126102d557925186939061179f611945565b503d611983565b346102d5576119b7366130af565b91906001600160a01b036119d081600c541633146130e4565b80600e54169381841685036102d557611a10817f47234f48d801388c5f879a78c7627166ffc9bb037fc6b6b6bd9ba6210a5d026396611a3a9486166138d4565b604051938493846040919493929460608201956001600160a01b0380921683521660208201520152565b0390a1005b346102d55760003660031901126102d557602060ff601154166040519015158152f35b346102d55760203660031901126102d5576001600160a01b03611a83612f20565b16600052600a6020526020604060002054604051908152f35b346102d5576020806003193601126102d55760043567ffffffffffffffff81116102d557611ace903690600401613050565b6001600160a01b0392919291611ae983600c541633146130e4565b60005b828110611af557005b8084611b08610628611b5094878a613154565b16600052600983526040600020600160ff198254161790557ffba41c5ef0340f50fa54a6ff89482f854a22799a0f2cf6f5ed13b9f20fb8b5f28361067561062884888b613154565b611aec565b346102d5577f65b82832b93250630a6edf26acd9c16d0cca3694f8dd2d1c4008f859bc3c24d1611a3a611b87366130af565b611a1081836001600160a01b03969496611ba681600c541633146130e4565b8616613937565b346102d55760003660031901126102d5576020601054604051908152f35b346102d55760203660031901126102d5577f5abfcf8994f1fc44c26ee946fadccc2c2d83834d0ba532dbe9b2ca4b9eb3ca7d6020611c07612f20565b6001600160a01b039081600c541633148015611c46575b611c2790613178565b168060005260068252604060002060ff198154169055604051908152a1005b5081811680331480611c5a575b9050611c1e565b5060005260068352611c27600160ff60406000205416151514611c53565b346102d55760203660031901126102d5576001600160a01b03611c99612f20565b166000526007602052602060ff604060002054166040519015158152f35b346102d55760203660031901126102d5577fc49aca94a3ec9dabe2a3689713fc4ec67b0f9077dfe632d471fe5e448ab482bb6020611cf3612f20565b6001600160a01b039081600c541633148015611d32575b611d1390613178565b168060005260058252604060002060ff198154169055604051908152a1005b5081811680331480611d46575b9050611d0a565b5060005260058352611d13600160ff60406000205416151514611d3f565b346102d55760203660031901126102d557611d7d612f20565b6001600160a01b039081600d54163303611ddf577ff0b61160ef32ff848c89aa318bf8e9fbd0edd588ac24e8f871df2f92da4e4c7b91602091168073ffffffffffffffffffffffffffffffffffffffff19600e541617600e55604051908152a1005b606460405162461bcd60e51b815260206004820152600a60248201527f4e6f74206261636b7570000000000000000000000000000000000000000000006044820152fd5b346102d55760203660031901126102d5576001600160a01b03611e44612f20565b1660005260026020526020604060002054604051908152f35b346102d55760203660031901126102d5577f46fb30ca5972c292683c3ea77409126051abb81d5adf6148d8c7c64e0e03fdb56020611e99612f20565b6001600160a01b0390611eb182600c541633146130e4565b1680600052600582526040600020600160ff19825416179055604051908152a1005b346102d55760403660031901126102d55760043567ffffffffffffffff81116102d557611f04903690600401613050565b60243567ffffffffffffffff81116102d557611f24903690600401613081565b9290913360005260096020526001938493611f4a8560ff6040600020541615151461362e565b326000526006602052611f688560ff60406000205416151514613266565b60148210156121f2575b50506000935b611f7e57005b8060ff8516101561003e576000835b611fa0575b5060ff838095011693611f78565b91611faf60ff861683836137ce565b92611fbf608094858101906137f0565b60ff83169591508510156121ea57611fe890611fdf60ff891686866137ce565b908101906137f0565b851015610f4b5760608095020184813603126102d5576040519485019480861067ffffffffffffffff871117610f6157869560405261202682612f78565b8082526020830135602083015261203f60408401612f78565b60408301526001600160a01b039182809216600052600b602052604060002061206d60208601358254613417565b905551168061212057504790602083013582106120ac575b505060ff91600080808060208a960135335af1506120a1613753565b505b01169092611f8d565b600f541695506120c0906020830135613417565b853b156102d557600095602487926040519889938492632e1a7d4d60e01b845260048401525af191821561059c57600080808060208b9a968b9760ff99612111575b50965050505050819350612085565b61211a90612eb6565b8e612102565b604051636eb1769f60e11b81523060048201523360248201529650919050602086604481855afa90811561059c5787966000926121ae575b5086926121a160ff959360206121a99461219960405163095ea7b360e01b848201523360248201526044600081830152815261219381612eca565b86613a6f565b0135906134d1565b903390613937565b6120a3565b9293915095506020823d6020116121e2575b816121cd60209383612ee6565b810103126102d5579051869591929186612158565b3d91506121c0565b505091611f92565b60006001600160a01b0361220d8361223f9584950190613695565b9116808352600860205261222760ff604085205416613708565b82602083519301915af1612239613753565b50613783565b8480611f72565b346102d55760203660031901126102d5577ffba41c5ef0340f50fa54a6ff89482f854a22799a0f2cf6f5ed13b9f20fb8b5f26020612282612f20565b6001600160a01b039061229a82600c541633146130e4565b1680600052600982526040600020600160ff19825416179055604051908152a1005b346102d55760203660031901126102d5576004358015158091036102d55760207f9ec023d9b46dcfd441a3a146dfcbaa7b4a8eab66efc06d4351d46922fb5ff22a9161231e6001600160a01b0380600c54163314908115612336575b506130e4565b60ff196011541660ff821617601155604051908152a1005b9050600d5416331485612318565b346102d55760003660031901126102d5576020600154604051908152f35b346102d55760003660031901126102d55760206040516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984168152f35b346102d55760203660031901126102d5577fdc2d326f237cc5d2079bf70502b6f7d0e60ff991bd05a9ea30400ccd31dab00d60206123e2612f20565b6001600160a01b03906123fa82600c541633146130e4565b1680600052600882526040600020600160ff19825416179055604051908152a1005b346102d5576101403660031901126102d557612436612f20565b61243e612f36565b90612447612f4c565b9160643590612454612f62565b9160e4353360005260209460058652612479600160ff604060002054161515146132b1565b6001600160a01b0380808093169586600052600889526124a5600160ff604060002054161515146132fc565b169788600052600788526124c5600160ff60406000205416151514613347565b169485600052600787526124e5600160ff60406000205416151514613392565b6101243543116110e157819060ff601154166126f1575b1660405191630240bc6b60e21b8352606083600481855afa91821561059c5788906000946000946126b4575b50906004929160405193848092630dfe168160e01b82525afa801561059c578a92600091612697575b501603612686575061256291613417565b935b6040516370a0823160e01b815230600482015281816024818a5afa91821561059c57600092612658575b5050808511612650575b5083158015612644575b6110e1578360e492826000961161263c575b6125c68293610e6f8894608435613424565b9460405197889687957f13dcfc5900000000000000000000000000000000000000000000000000000000875260048701526024860152604485015260648401528160848401523060a484015260a43560c48401525af1801561059c5761262857005b61003e903d806000833e610f228183612ee6565b8291506125b4565b506101043584106125a2565b935085612598565b90809250813d831161267f575b61266f8183612ee6565b810103126102d55751868061258e565b503d612665565b905061269191613417565b93612564565b6126ae91508a3d8c11611026576110188183612ee6565b8b612551565b94509250506060833d82116126e9575b816126d160609383612ee6565b810103126102d5578251928801519188906004612528565b3d91506126c4565b9081169081600052600a885243604060002054146110b7578291600052600a8852436040600020556124fc565b346102d55760203660031901126102d5576001600160a01b0361273f612f20565b1660005260046020526020604060002054604051908152f35b346102d55760403660031901126102d557612771612f20565b6024356001600160a01b0361278b81600c541633146130e4565b80600e54169216918281036102d557600080808481948282156127e9575bf11561059c577f47234f48d801388c5f879a78c7627166ffc9bb037fc6b6b6bd9ba6210a5d026391606091604051916000835260208301526040820152a1005b506108fc6127a9565b346102d55760203660031901126102d55761280b612f20565b6001600160a01b039061282382600c541633146130e4565b1660005260006020526040600020600160ff19825416179055600080f35b346102d55760603660031901126102d55761285a612f20565b60249067ffffffffffffffff82358181116102d55761287d903690600401612f8c565b9160449182359081116102d55761289b909392933690600401612ff2565b33600052602060068152600194859460ff906128c1878360406000205416151514613266565b6000906001600160a01b0391828816985b6128d857005b815181101561003e57826128ec8284613252565b51166128f88289613252565b51908a600052600088528560406000205416156129ed57806000526004885261292660406000205442613417565b8c54116129ce578060005260038852816040600020555b806000526003885260406000205460028952604060002054111561298b579161297d612982928b858f9998979660005260048c52426040600020556138d4565b61312f565b909192936128d2565b6064887f6c696d69742065786365656465640000000000000000000000000000000000008f600e8b916040519462461bcd60e51b86526004860152840152820152fd5b806000526003885260406000206129e68382546134d1565b905561293d565b6064887f42616420726563697069656e74000000000000000000000000000000000000008f600d8b916040519462461bcd60e51b86526004860152840152820152fd5b346102d55760603660031901126102d557612a49612f20565b67ffffffffffffffff6024358181116102d557612a6a903690600401613081565b916044359081116102d557612a83903690600401613081565b3360005260209360098552612aa4600160ff6040600020541615151461362e565b3260005260068552612ac2600160ff60406000205416151514613266565b6001600160a01b03958630911603612b5e5760061c15610f4b578461003e9582600b94601488951015612b18575b5050508335169201359282600052526040600020612b0f838254613417565b905533906138d4565b612b5692612b2c8260009485940190613695565b911680835260088752612b4560ff604085205416613708565b828783519301915af1612239613753565b808780612af0565b6064856040519062461bcd60e51b82526004820152601060248201527f696e76616c6964207265736f6c766572000000000000000000000000000000006044820152fd5b346102d5576020806003193601126102d55760043567ffffffffffffffff81116102d557612bd4903690600401613050565b6001600160a01b0392919291612bef83600c541633146130e4565b60005b828110612bfb57005b8084612c0e610628612c5694878a613154565b16600052600583526040600020600160ff198254161790557f46fb30ca5972c292683c3ea77409126051abb81d5adf6148d8c7c64e0e03fdb58361067561062884888b613154565b612bf2565b346102d55760003660031901126102d55760206001600160a01b03600e5416604051908152f35b346102d55760203660031901126102d5576001600160a01b03612ca3612f20565b166000526000602052602060ff604060002054166040519015158152f35b346102d55760203660031901126102d5577f4f877d4956af64791d668e35e5599b3cd762956b16cd61505c16716fc5c4f6d66020600435612d0e6001600160a01b03600c541633146130e4565b80601055604051908152a1005b346102d55760203660031901126102d5577f4c7781d7be8f708657190be026b504c51bb4915f7822775d915cc335841671ed6020612d57612f20565b6001600160a01b0390612d6f82600c541633146130e4565b168060005260088252604060002060ff198154169055604051908152a1005b346102d55760203660031901126102d5577ff07ebc1decdb76bed4683f2c203a4644aa72a622ea886acfbf5ea3604a1b87b76020612dca612f20565b6001600160a01b0390612de282600c541633146130e4565b168060005260078252604060002060ff198154169055604051908152a1005b346102d55760603660031901126102d55767ffffffffffffffff6024358181116102d557612e33903690600401612f8c565b906044359081116102d557612e4c903690600401612ff2565b906001600160a01b0390612e6582600c541633146130e4565b6001916004358355826000905b612e7857005b825181101561003e5780612e8f612eb09287613252565b5183612e9b8387613252565b5116600052600260205260406000205561312f565b83612e72565b67ffffffffffffffff8111610f6157604052565b6080810190811067ffffffffffffffff821117610f6157604052565b90601f8019910116810190811067ffffffffffffffff821117610f6157604052565b67ffffffffffffffff8111610f615760051b60200190565b600435906001600160a01b03821682036102d557565b602435906001600160a01b03821682036102d557565b604435906001600160a01b03821682036102d557565b60c435906001600160a01b03821682036102d557565b35906001600160a01b03821682036102d557565b81601f820112156102d557803591612fa383612f08565b92612fb16040519485612ee6565b808452602092838086019260051b8201019283116102d5578301905b828210612fdb575050505090565b838091612fe784612f78565b815201910190612fcd565b81601f820112156102d55780359161300983612f08565b926130176040519485612ee6565b808452602092838086019260051b8201019283116102d5578301905b828210613041575050505090565b81358152908301908301613033565b9181601f840112156102d55782359167ffffffffffffffff83116102d5576020808501948460051b0101116102d557565b9181601f840112156102d55782359167ffffffffffffffff83116102d557602083818601950101116102d557565b60609060031901126102d5576001600160a01b039060043582811681036102d5579160243590811681036102d5579060443590565b156130eb57565b606460405162461bcd60e51b815260206004820152601060248201527f4e6f74206f776e65725f76315f305f30000000000000000000000000000000006044820152fd5b600019811461313e5760010190565b634e487b7160e01b600052601160045260246000fd5b9190811015610f4b5760051b0190565b356001600160a01b03811681036102d55790565b1561317f57565b606460405162461bcd60e51b815260206004820152600160248201527f42000000000000000000000000000000000000000000000000000000000000006044820152fd5b906001600160a01b03809216600052600760205260ff60406000205416156132285716600052600760205260ff60406000205416156131fe57565b60046040517fd7260006000000000000000000000000000000000000000000000000000000008152fd5b60046040517f70a5d861000000000000000000000000000000000000000000000000000000008152fd5b8051821015610f4b5760209160051b010190565b1561326d57565b606460405162461bcd60e51b815260206004820152600f60248201527f4e6f7420524651207472696767657200000000000000000000000000000000006044820152fd5b156132b857565b606460405162461bcd60e51b815260206004820152600b60248201527f4e6f7420747269676765720000000000000000000000000000000000000000006044820152fd5b1561330357565b606460405162461bcd60e51b815260206004820152600160248201527f4a000000000000000000000000000000000000000000000000000000000000006044820152fd5b1561334e57565b606460405162461bcd60e51b815260206004820152600160248201527f4b000000000000000000000000000000000000000000000000000000000000006044820152fd5b1561339957565b606460405162461bcd60e51b815260206004820152600160248201527f4d000000000000000000000000000000000000000000000000000000000000006044820152fd5b51906dffffffffffffffffffffffffffff821682036102d557565b908160209103126102d557516001600160a01b03811681036102d55790565b9190820391821161313e57565b8181029291811591840414171561313e57565b8115613441570490565b634e487b7160e01b600052601260045260246000fd5b60209081818403126102d55780519067ffffffffffffffff82116102d557019180601f840112156102d557825161348d81612f08565b9361349b6040519586612ee6565b818552838086019260051b8201019283116102d5578301905b8282106134c2575050505090565b815181529083019083016134b4565b9190820180921161313e57565b919082519283825260005b84811061350a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016134e9565b600160ff1b811461313e5760000390565b6000811561362a5760105482116135e65747828110613566575b5080808080944182f11561355a5750565b604051903d90823e3d90fd5b6135709083613417565b671bc16d674ec800008082106135de575b506001600160a01b03600f541690813b156135da578291602483926040519485938492632e1a7d4d60e01b845260048401525af180156135cf5715613549576135c990612eb6565b38613549565b6040513d84823e3d90fd5b8280fd5b905038613581565b606460405162461bcd60e51b815260206004820152600e60248201527f627269626520746f6f20686967680000000000000000000000000000000000006044820152fd5b5050565b1561363557565b606460405162461bcd60e51b815260206004820152600160248201527f48000000000000000000000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff8111610f6157601f01601f191660200190565b91906040838203126102d5576136aa83612f78565b9260208101359067ffffffffffffffff82116102d5570181601f820112156102d5578035906136d882613679565b926136e66040519485612ee6565b828452602083830101116102d557816000926020809301838601378301015290565b1561370f57565b606460405162461bcd60e51b815260206004820152600e60248201527f696e76616c6964207461726765740000000000000000000000000000000000006044820152fd5b3d1561377e573d9061376482613679565b916137726040519384612ee6565b82523d6000602084013e565b606090565b1561378a57565b606460405162461bcd60e51b815260206004820152600b60248201527f73776170206661696c65640000000000000000000000000000000000000000006044820152fd5b9190811015610f4b5760051b8101359060de19813603018212156102d5570190565b903590601e19813603018212156102d5570180359067ffffffffffffffff82116102d5576020019160608202360383136102d557565b908160209103126102d5575180151581036102d55790565b1561384557565b606460405162461bcd60e51b815260206004820152600b60248201527f63616c6c206661696c65640000000000000000000000000000000000000000006044820152fd5b1561389057565b606460405162461bcd60e51b815260206004820152601260248201527f62616c616e636520636865636b206661696c00000000000000000000000000006044820152fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000060208201526001600160a01b03909216602483015260448201929092526139359161393082606481015b03601f198101845283612ee6565b613a6f565b565b919091811580156139ec575b156139825760405163095ea7b360e01b60208201526001600160a01b039093166024840152604483019190915261393591906139308260648101613922565b608460405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e6365000000000000000000006064820152fd5b50604051636eb1769f60e11b81523060048201526001600160a01b0384166024820152602081806044810103816001600160a01b0386165afa90811561059c57600091613a3b575b5015613943565b906020823d8211613a67575b81613a5460209383612ee6565b81010312613a6457505138613a34565b80fd5b3d9150613a47565b6001600160a01b0316604051604081019181831067ffffffffffffffff841117610f6157613adf926040526000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1613ad9613753565b91613b6e565b80519081613aec57505050565b8280613afc938301019101613826565b15613b045750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b91929015613bcf5750815115613b82575090565b3b15613b8b5790565b606460405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152fd5b825190915015613be25750805190602001fd5b613c069060405191829162461bcd60e51b83526020600484015260248301906134de565b0390fdfea26469706673582212208305e13003cb9a031db51cefe1ce06f9428cc64b8d877baa15f60069e04cecfa64736f6c634300081300330329874ab34f8c05b946e1825b7633f307d56b326f0bc97c2b0bb6180d47f202d203506e6067ab45ec36ba01df68f563d23143b4a94ccea1dff9557b3ac76e8f1d6d005820027a7666ba0b385e80df9efcebccb6040b900897fff594d40fb8fca3d55743484101005820020687814653b44a0a103558075c3bee4916f749e74d4f2af6c4014c89b67b5b410100582002b8a252375fccc58229262daf5a4a02f810ec527f3c06c8f9f070cded8eba95410100582002d22eda8615328c6fc70a41c91c9f9389cd7542cdaa7e080581c38b1db95ff34101005820024ffdd0bf8e0edea7b08317cdde48ace3036e3f9ad81235d1c32b98287c858c4101021992a0032d2690551332b321fc5594b98f9365e4da8af464e9c7331ddbae0ae8e0f5184e0305d059f9c49fbfd43026f8daa031e39c6116256b08a4d92dcd107a8686e88c3e005820020aa7e14494e27710a79e1366328d13ed70c556bb0df09ca872eaea6e417c5e410100582003391e2d2291f4d4acf8bd137cbc3e4143f9bd6d99e29bf3202d8afccbd70530410100582003948957df701faf28b99e8f23021dfcbe3fa80e641d31ff92e5d6f643386fe041010219082003a51d3ab438030ece732931e8826ba550c03c431077f486acff7fdb5fcdebee2a005820028ea195c1530d63ed77f454b2c9e5119e2200cae9f8e35df3c051c3c3fd9b4641010058200245d829aedaaea7f891e6db404d914d6291547fb78c78f482d1cabd4b8db61a41010058200260cd961a1a3a04e65812167800b8bd48163aad4da09443f17445138e17915d410102191e0d031955b6860ec06266e7ecc1912e5b93471f30bae687295e4199c463ca8f4baed4034ca7c7f1dfff584e1c0297b387fb75aa7efe1f12b6a8e22627ec2294a56b6bcc03af32ade3c34c0af21611bce8e11fd729f2120df8d8c2002172259f7f81553160039f63dfc31f2051fb6ac4f0b37ce2acd3d7177ca4100ee3a50342fe5f53745a490346ce1eeb28fac888c4cea1e216e2515b8425d7fef1a8aaf90ba490c5f50c04a50336bfb0cb0d8036ce330b205813418cb036521d88f1f579b133729255172f82240366702c24998d6ac026c96e58cfcd74eb277b43809e61d69096318bb45c7faf6e03a24e4262c221e669a25e0db03c182b295eaa6622960edb7003170767ad67c5df005820026c6cd2ef6fa9fb5cbd30cdc14679f98b57aa595fa679bfc1e23c8a08824e7e410100582002f753dd6224735a5369077ce7f487a2394a00a77b529f1d4b58d79eb506e7ff410100582002febd8b14a47644605f3b481468c94edca85cbca3c2e8e2f0ed7c65a77a8f6941010058200238135c7f47ebf6cc3226d82466b40731c048adb8473ebfab5e5e90f804766241010058200244b08887902c4a3e333eff26bc1b13ae387552aeb6bb3abe9b96cb1c199a00410100582002b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5540583977c9917defcf25d0e4997e05c690a2d68c400582003893b9a41931412188cb40febf655b1eb40633c8d53e62891fc05e93bd6f40041010058200386084127d3853570472f0e4533890ca46291d3487b6b80c1fe517b5a519580410100582003ee1951eccfa164b75e038eeec848486a78f864585dab07cd6a832d3cd642f0410102190c8000582002e957fecf13b668f8464bed2a2ec5e89c97b5256321205a4eaa6fcbe623fc3c4101005820029ef0a6ca77a07e352508badde9d9fe7abd123b81944ec43d4902692970a809410100582002c40fd88295ff48f6268fa51cf2f7aae960510dae30f14b0e29ba74406baf504101005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c75471eae7cc07ca14703bf72f02edeab936665f5d550219d3bd0399d552aae3a742b00f0ca90fbb8b508b50bc1b7ae8b7b4a0fbb129763a96034603a1635492ad560ba93c57d71e8ae1bf6fe19f6258cfef85b37e38ddd674d1fd9b0219ffff05581d02bff870781f9e3934a9d590cd15a820388efef9de7a81d55a05ff8a3b0f014806ddc77f0e8fad5c193c400219804802196faf039fa163cd6741547866fa4af78f91646b9ca2defdaafde73e8160dd032ae2f7eb03a3580a3945339a6bd030b45509c4cc4c8ce24cedc919852e71cdfb7445e6dfc8031882f904b4c698f1e7f83eed9c6c43d7848946e1a17a360cab2915c2e0fa12410340fab1799da75958e5c3c3e868e19d4b159a3563dbfb7dbcfcb271920e03470703e4f6523444be1f7abdcdffc9bdeb9c0b6462656001afa50cdbaeb68e3a17f195034138d52b6dca42e92c639adc1f3589ffad9b05f4445b38257e9242edf786cc820350b9c90dee65297a86652e2e238004882b3a416eb7d679d1c040cdf4f41e98ed032e9354571c4e62bc12c1b5c089a5c738fefe79ebfe2ee9274af937467a06121203df661e0565120d9d49cdda69b4691e3ba8184c4efec20d88f5e435ef0ec5df8e03b4a0c0a8af5e261748505646e998ff533c81b9eb5dfee2350b68f72fe6a3f70003c228bb23c65d2748b2d7d6a6dd5ac51bb4a69b219d0adea566b6f0227b050b5203c975d20aae9623d8219faa01060d511095314cc3a956ec8eb9674b838689721003219da174f9d2ca5acec089d0488e7ad4940115f174a8d03ea44729eb51a2c22b0219ffff03c2b3f005d103388891f964ebbb14ae80be22b1fa1dde258c04c58cb07c55e63f032a58f2229fd0f70ee6d18d96d5f76ef431bae9df6a5e13880dd2d43baefb402703e34d4c3822e3cd8e0f6b8393b86448e1912e51254b2944a4a173335b6df7a3af03ff4be86dc5390fa261cf95e7dfde2de978ab48ac4c59feca8f2a973c4c502471031b7fe6444fd017f04736a56ce2f390700150892cc62ec6c76540b73fde2871b50379a8df944edb18604adf49df546a978fa692495ce0b4f88263c4b40b4568c2e503d9ee3c8c5d4effc8bdd3230674af68290629efaa04d0c20be09fc510e57d159a03f5c9a2017460b2ec14a73e08318ad97d78bfe693b646c44310096f1fb306a5a1036a1bbd98e7ebc7ee114ad470a136dc3dce740e05b6de54cdbc29b33f85703a7403087f2268579014c4c6c9d5d13dc576a5178a73219618dc63447ba35d3c4a10080219ffff03ceba74af04b877d611c79e1a19c0024a520771ab13643aa53a08b4b49354d85d0219ffff0398eb27bf28e1dc685da27cb493dc7575bbfb33f168ba030325fed5ca394e81c90349c69ebbc29141fe563c83746ea678fce5826b6ff529b759b62e3022f87bf66303f9e03032099573f3072b55cdd209d2386a379714753cf584b07ef44bf9f6c1b8030e3e71e67f2c58058d42014cf6f9b75816379aa2bf02aed12291161d72c67ac403b32e2601d2153dec56f8d2d65565cb72de9af6c3b5312c7650903c81bdd1cfde033e9870a9f2c608eb2c0a57f63cc8d7b005f36747d6ab9f55e90bc8404152308803427fdbd2170ecea89159e2924556c43f3e9e91a33bb9045651961e54c52984940350b407cbff2106374c76f1caab3ee3bf895ea1239799f1935dd08cb63571425203cc45719919d0341eb864ac43e709fba2fa87efcfd8943dfc696bd1a1b5da59fb0219ffff03599607203aa41d4525e4d9ee9d874727245909ec3da806973920d08657fba6a4036b3902d7d1ee359bb7335459656e73a119b3b7acc8139e00cdb8eced2124613d037dee55b471b81fbaea1d7175ec84aa2a87d06764115c8774a1bc24190e90fade03391554eda83956569d0026ce52878b84ec2a5c805879e13e643c6cfb820d6b4103d5fc4fda0af0a83e7704685a683ae4f579fa9b86afc4bc5ae84812f4cbc2a3af03a641aaadcd7ef077cd56b70ade4ad41ee4f194f55027a4ab8c76a0ed60f3632a037373ab584e892d9cb65acda133a1a27bad26589270092d4566cc2788a72916e603f28e5e45fbfa2814af3ed2d514dbae4333e831bbc138db013652689513d66b8a0310d04dd5369ca65c8c5cf07f45e19569477c3ef386e2fc4ced0b7c1f72df7ee1030024df338561c0770cbf44c501857c42e65a4e7866a44f5ca3686fc1527ed2f903e3f684f3b371a030b2f10857403bf58b87e37bb70b3004e6832a7c9a9e06d099037b5ed4eccc932349afad55da4b6aa11c39de97091ab9bdb1be76165c7660c34e037e9fd08db794751d0d7306893b076aa24e251a731930c86d4d1f4542b6dc719e037c9cbacd5a8ce131ece351b4a009beaa9b15381682429eed89ab2d7556266e8d039f0446dfce197973fc7325e2f13e922c89799829a76805dd4e01f61c4dc6da6e03c05c0e6ec5e564f37ad26a1b51e771d4374f1c93cee9d83be717544f14e6cfba03424fe02cecb81063c42f65e315dc24d096bcd546d7ea86f2bffbc30c7777f2c10380f5a60a7dbee4b7f7c68d910ce41cfa13ffda458274dfc9a9565a249ddb69bc03de1e5f236ae4fbd3297fbce8fde4a22cbc1576d9b71c87f128afeba7036993a603b3dae0c263a103d7c0c06166db1e0df49e28dc929a30099eb19c6f2c00438c05037801b6b2c14b0f6c23ae633b3c7a9e985655606e9532c9435c26f07c95e5370c03b761257891a398db5452c96f65d7c6efbeed9f1aaec6c988884a400b6b9b4986033e42282c4111bcc1c33361d9ebb29b255496cc6ef806995bccea792e1f04e489035747fbc630fe6761a0e959962bc748acbb6c542be90642424c54fb26a2dd0a04031fe2c8ae6518e9720f4208228ab009350c4722e3ebbcaf1c33c8636e55e49c21035b23feeb69fae9e5dd45e161ae07d51bf613578af2bdfd3a5bcf8df2fdb2e2ae030b3500dd9f3359a210c6e3e151acf100bad2877ce5559705b62bf44b136f0145033aac9bb1e84fd8e59c9e4d7135acd4ad979391bf8dc577190d71703cf0cac7e9037a4f4b19121803a66d652f37ddc747ccc13a716953130f1359295fbd3b3bd74303c0ddbea38d8e2efa2665d0e4e8e9688e35a36d58531e29a80947b0b40aa678cf05581e03dc351f5fb1c2dc6b0bc9d715e38aa5c5bbf238b968adb5cb92c900a0100c183d480159970bcdc4a8d5037c6b45fd421c0cadb429c87508c16eab1f2ca69282dd793dfb18bf2995e5b8f50306abf98266c8b4a8968bfc48340a6a7f14b57cfa907a60b91871700d023483d1034d38ed8b97bfdd678570bd79bee21c879160cb91459f49894b4582c3ac9140c8014109035b64e1640297575d9cd2c3ea3385ad192aee823b62a6864d6b928c6dd16571eb05581e03454683be38f7849b44040933bc78571ecf4647bc4755e04cfd18b4d5500c03470124ef367e6f30035018ed281ff17b9388bb5677629ea8c5ef495091a90433e3babf0349db7189480219741c0337ce3dcc143c48254899021324ba6693b8242d5c86a8971af24d8976c63394b8034f8e534bfff1e049d9a3876f5b5f66e6f27c3ee273c8c7b89eb53e0bfbef2a330219ffff0219ffff030febc44db4ae059f45f3398bcdf14e7facbf7e8450b8e10dac48e7dd9370b55903e445e472d12e9fb993e2f2ac6966d93ce88547b87959ac9400f6e587e3f0b0890305387898f05fccb3ea017eb1e746d3525ff7ffe0768a22d5578089ed4fd25dbe03e00a01ab4f6fa3d669af77c8ceaa5ab7e30018f0fefe8de184b114c5f4f3d56b03d920daab8b4e9d0bee09437d8fff11e8309ec9096b6288d2456ed0fbb892fc830384eaa6f8335f601f445c2974b21fbf23adac0d29216e1db4a30743934766f93303e11d02e72884c589b850535ec46c6887f73ff08775c5ef8c820e15254cdbddf80365d07e340cff9b3e40b7db2e939fdadc33c14e5228315cf4a7d9efffc87d71e1035b0c8a5e49748510aab95d4260c3393d8678afc2c821556fd20fde98c8b4ecf203e20db95ca5aefa63e8149e97d4e9420d46dbca050417dbdf91d5de31c7eddde303c1d597ed80a4a07eb1c8200b328ac039c0e61ad106e095fb436969cfaa50efdc03abb72218857045680bf32d5c271279cc841c9cdf4599b8ec45b992f9a5d53403035852af3e73d59d977c1057288d7c7df67e672aa4f564467b99ee5f00b42f356403f5252337507c131d8528f1183ad563cd61e3a582d826639d8afa821f81bfe90003a51e4a2e9b056b252fb9a4360c0b25aaaea07a433443340e11c61d716b4d71ff03ef8397591fa9e38296c2ce08cb9caebd7151b25723743dfab965ffb54fb878cc03ae6736709daad684d17b896801377b32fc03602e1502357c379a472ab69432cf03dac6fda9353fb6d7643157384019d85f80399c42c8c85207605a836bea7d1c3a03852905252d3dcabb4a200fdcd915527dd29ba1c7c73d67a148182bfa3c9d65d2032f3903d4223f8c09f3167d161bfe3eef0f39f565f93c13e532a5a04351f1396403ecf3f715afddfdb2e0169237284dc7bf81de5f601907ecc221653546d91701cc0338b997a3c7026deef3ff066ef806b4d9c40a1f0272b6da43ca3cc2c93906fcc103388f053231d2bdadab0aa45598f09f76f957361ee19e659690159b58471078a803a3ec9e6987726323140139a7c7764037561e570d66d6ce0f8bf40627f9e3b85903c1effe8a72e6bdf199ca15442810a7533b291b56d72df189fcb29c1b41ef0300034a1a2403d4365d8533541a8fe25253b346d89bec5f0f3249b87ee3e620f528940306b0a74c34c3849c85cb15031c04803520a89b023712fc584e3b957c3d66970101410005581e039acf56952ae2a90163099080bab24fa8edd0d6f99953b613a95ff663d00409038a911b3b15171df4a6ef037816f2e34be9c36ab3725745dbe0596bd127fb87e90605581e03afefd434a85470c974818ebefe3d398ef9f91152610cb9e6ba5c6df95007011bffffffffffffffff031e4366082444073b4bea23568c108c4288f2293bf126f5cd6359c41ec52fc7fe03db03169bc9e4c549481f6cff4fc87126fa48438bb5b04c5fd0727c7ddc789ef805581e03a733afd87804d256c16329dbfa2c71e765686237ae50757956ed49af600f01472386f26fc100001bffffffffffffffff0393756141fffc1c9b3999921875811908edf3ef3c8233fd31aa005ef381e9e00e05581d0277068d278139f7cd45221e3ac4391b83ebc38f277dcb1b3bcd0cd73e0c014731298c2fa4216005581d0257b4a2f1b1e9423e4df88eef63e0de0e17465aac6e7177c2d9ad44c20c1a0063b1504a0308585b9060b56e61de03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02a4f48d9d98e06c3a828d2f41a1746108ba15daa1b8c130866ac7d0da07011bffffffffffffffff02194140034b48dc4037d610d10dff18083a193857a2356137fda55737b557cf4f6a977e1a032ce194f2dab6bd41f16192ef2ff1971ae679ee6de7f0c471dee81a0f9bee931905581e032b29372f689bacd22ac5a1feefe1344a96620a88f23f78f918eaf2a5c00c0147456abc2b99f448031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e032da8b8018d01af98a7290332e4d4ce968f2e49fe4aa300c270b678324007011bffffffffffffffff0219ed3d03133985d9758e8d2dea19e02b1735e2bce98496df0bf6bdd2c8bffccb1132572c03041cc43eaea3cf30afd50958b50c431e87a806197f5739e92bb00add9e4d6cb50316e3c038ab37c0ca7b51cd6f8b717ac6f93816e660778234de846f4fe13bdade0219ffff0307ed63d00324792bd47474aeddf77e8608a0be291ce902894f3a461991335aff036da3ed31e4585658de70c735533fb6fc79c05f3c4932125bdcf64f6a47751adb03e753cee7ad3f07d6a5cf05698da48ed8f263d280deee281f30f9869703327d0e0382bc31d60b2853dc0e471b3bbf0352d42b5935543b1742589bfa5ded1c72f9d303067950c08f9b2483e60ff5bfaaa33a88ab6eeaed61e26b380302561835e6211303c9841a14ba27b28d3b6f5dccfa51787b06900856d2df29e4d27c0d1aa930a6d003df4869593d055eb26dcca97aea7c703b4cf04bd140ed6ef72126667c987b095d03746ac2eecc1d417250faffa8bb3bbca73d8f19cb8334ec5a48798bc2b713f7eb03af18472860349b7255917754b88d858581187763d4ede859e5e10cd407df1ba403ab1cdb02f5aca3fe96d00f7be3dca17bccc85d79312fb1d250b85308334553e503c5fd1304d415abd67a4e2cd95bb31a34162bc3c5d25462377a45ba0c013fd26003ac9b4ca72929c724e1a937aa7e3851e5858c3f7be6e205e8cda49119c1cec13f0342d27d434996693135ae630daa768258f1ca8cb4b4adb61b5da785e61b7d7463033677a9aa3a2cade511f6c69f4c68a0ed9a73c1518c7efe5108edb26619f829b60219ffff03197d2e859695b571189d9657a5b248f2b83c333cff5d0a0419ef1385e1adcc4603d024f8f11771f435f9e0787e1f770180ed524ded2532cf14555dc81f3934f0600219ffff036fde5a0ff5764ae3bd3ae97bf39b05550aab36fb67e958b1b8f80a12861dbfeb032c9b656c4604e5f1afb6ac3c91f96b8f0c097991eb3e507ff2f4d794f11a374d0336e1c2713a69d10beca491d9ea83057f164733273ce3f829d5efec425a0f300103927266d44298387bc62c10f38e0947761ce6d482398e8a4984026a0b785a0ba8035f1b235ecebce9a5df63709f7209611bceffe51521de8c4d345a1f69d32a174103028d8b5156cdb402e106cc61a2fe33cee214503f8fd8294012f7df98e2e0b87c0381e6648364530ec0060163c21981dddaed9516e074216daa6097c66ca7235d9503a0c379664984f1a1c05a5329a430399b7965af8938ed630cec88c4bee07deac4035b23292abc41e82a1dd2e9069ac15c9f6cfe2dd41c7c98e172d2cc22a6ee9b0603473ba64d92e5dc5f9a9a79d2e51270860925f004e2527b57b525e812a228281203bf5441a774de434a6b35cd0869f348e2119058ae715aa333fc9e3e83bf34323005581e031c7fb5e254731af7d35613df061d6d4eb716a321ad9fc1a8c6cc4feb800c02465edcd5238960036a81c29f9959ba862b8e3e3c2cb3460fc33c0f7016a7ecb75db9eb4f8150184a0393fd4352e325036e0754e23c1ca8652ab1489a8ecb0d6e9c1b83b36b6c557f5505581e0390573059647a00fe1e31960ff3dad24f18f06f821d4e623e1b3be316500c01470a23ee863e268003833130e8d8737bf2de1c60917de53dfe629f65e1f92cfaa77cc2c9105bc6190c034ed454377b6ebee2deb071c743e57df438aa530ee68ae3e4392e2ee6575a338903de8cc0a80a910c253f91ed1e5dee70f26cee4dce6721215fb8ed9a34653d84a4045937ad6080604052600436106102345760003560e01c80635eaa82471161012e578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e14610830578063e6be4a721461086d578063ea2f0b3714610896578063f2fde38b146108bf578063fb235f34146108e85761023b565b8063a9059cbb14610771578063b29ad50a146107ae578063c49b9a80146107c5578063ce831ed5146107ee578063d2d7ad83146108055761023b565b806375f0a874116100f257806375f0a8741461068857806385141a77146106b35780638da5cb5b146106de57806395d89b4114610709578063a457c2d7146107345761023b565b80635eaa8247146105b35780636b67c4df146105de5780636ca60bc61461060957806370a0823114610634578063715018a6146106715761023b565b806339509351116101bc578063470624021161018057806347062402146104cc57806349bd5a5e146104f75780634a74bb02146105225780635342acb41461054d5780635d098b381461058a5761023b565b806339509351146103e75780634076350314610424578063437823ec1461044f5780634447842514610478578063461d9476146104a35761023b565b8063220f669611610203578063220f6696146102fe57806323b872dd146103295780632b14ca5614610366578063313ce5671461039157806336e4ec64146103bc5761023b565b806306fdde0314610240578063095ea7b31461026b5780631694505e146102a857806318160ddd146102d35761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b50610255610911565b6040516102629190612337565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d91906123f2565b61094a565b60405161029f919061244d565b60405180910390f35b3480156102b457600080fd5b506102bd610968565b6040516102ca91906124c7565b60405180910390f35b3480156102df57600080fd5b506102e861098c565b6040516102f591906124f1565b60405180910390f35b34801561030a57600080fd5b50610313610996565b604051610320919061244d565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b919061250c565b6109a9565b60405161035d919061244d565b60405180910390f35b34801561037257600080fd5b5061037b610aa9565b60405161038891906124f1565b60405180910390f35b34801561039d57600080fd5b506103a6610aaf565b6040516103b3919061257b565b60405180910390f35b3480156103c857600080fd5b506103d1610ab4565b6040516103de91906124f1565b60405180910390f35b3480156103f357600080fd5b5061040e600480360381019061040991906123f2565b610aba565b60405161041b919061244d565b60405180910390f35b34801561043057600080fd5b50610439610b66565b60405161044691906124f1565b60405180910390f35b34801561045b57600080fd5b5061047660048036038101906104719190612596565b610b6c565b005b34801561048457600080fd5b5061048d610c06565b60405161049a91906125e4565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c591906125ff565b610c2c565b005b3480156104d857600080fd5b506104e1610cc3565b6040516104ee91906124f1565b60405180910390f35b34801561050357600080fd5b5061050c610cc9565b604051610519919061263b565b60405180910390f35b34801561052e57600080fd5b50610537610ced565b604051610544919061244d565b60405180910390f35b34801561055957600080fd5b50610574600480360381019061056f9190612596565b610d00565b604051610581919061244d565b60405180910390f35b34801561059657600080fd5b506105b160048036038101906105ac9190612596565b610d56565b005b3480156105bf57600080fd5b506105c8610e6a565b6040516105d591906124f1565b60405180910390f35b3480156105ea57600080fd5b506105f3610e70565b60405161060091906124f1565b60405180910390f35b34801561061557600080fd5b5061061e610e76565b60405161062b91906124f1565b60405180910390f35b34801561064057600080fd5b5061065b60048036038101906106569190612596565b610e7c565b60405161066891906124f1565b60405180910390f35b34801561067d57600080fd5b50610686610ec5565b005b34801561069457600080fd5b5061069d610ed9565b6040516106aa91906125e4565b60405180910390f35b3480156106bf57600080fd5b506106c8610eff565b6040516106d5919061263b565b60405180910390f35b3480156106ea57600080fd5b506106f3610f05565b604051610700919061263b565b60405180910390f35b34801561071557600080fd5b5061071e610f2e565b60405161072b9190612337565b60405180910390f35b34801561074057600080fd5b5061075b600480360381019061075691906123f2565b610f67565b604051610768919061244d565b60405180910390f35b34801561077d57600080fd5b50610798600480360381019061079391906123f2565b611013565b6040516107a5919061244d565b60405180910390f35b3480156107ba57600080fd5b506107c3611031565b005b3480156107d157600080fd5b506107ec60048036038101906107e79190612682565b611134565b005b3480156107fa57600080fd5b506108036111e5565b005b34801561081157600080fd5b5061081a61131d565b60405161082791906124f1565b60405180910390f35b34801561083c57600080fd5b50610857600480360381019061085291906126af565b611323565b60405161086491906124f1565b60405180910390f35b34801561087957600080fd5b50610894600480360381019061088f91906123f2565b6113aa565b005b3480156108a257600080fd5b506108bd60048036038101906108b89190612596565b611540565b005b3480156108cb57600080fd5b506108e660048036038101906108e19190612596565b6115da565b005b3480156108f457600080fd5b5061090f600480360381019061090a9190612596565b61165d565b005b6040518060400160405280600681526020017f4e6f64654149000000000000000000000000000000000000000000000000000081525081565b600061095e610957611771565b8484611779565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600454905090565b601060009054906101000a900460ff1681565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109f5611771565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c90612761565b60405180910390fd5b610a80858585611942565b610a9d85610a8c611771565b8584610a9891906127b0565b611779565b60019150509392505050565b60095481565b601281565b600a5481565b6000610b5c610ac7611771565b848460026000610ad5611771565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b5791906127e4565b611779565b6001905092915050565b600d5481565b610b74611d8c565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a0081604051610bfb919061288a565b60405180910390a150565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c34611d8c565b68056bc75e2d63100000811015610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c779061292a565b60405180910390fd5b80600e819055507fdd970dd9b5bfe707922155b058a407655cb18288b807e2216442bca8ad83d6b5600e54604051610cb891906129bc565b60405180910390a150565b60085481565b7f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f81565b601060019054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610d5e611d8c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc490612a36565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610e5f9190612ae9565b60405180910390a150565b600f5481565b600b5481565b600c5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ecd611d8c565b610ed76000611e0a565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600381526020017f475055000000000000000000000000000000000000000000000000000000000081525081565b6000611009610f74611771565b848460026000610f82611771565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461100491906127b0565b611779565b6001905092915050565b6000611027611020611771565b8484611942565b6001905092915050565b6001601060006101000a81548160ff021916908315150217905550600061105730610e7c565b905061106281611ece565b60004790506000600b54600a5461107991906127e4565b90506000810361108857600190505b600081600a54846110999190612b17565b6110a39190612b88565b905080836110b191906127b0565b92506110df600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826120d6565b61110b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846120d6565b6000600c81905550505050506000601060006101000a81548160ff021916908315150217905550565b61113c611d8c565b801515601060019054906101000a900460ff16151503611191576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118890612c05565b60405180910390fd5b80601060016101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516111da919061244d565b60405180910390a150565b6111ed611d8c565b60004790506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161123a90612c56565b60006040518083038185875af1925050503d8060008114611277576040519150601f19603f3d011682016040523d82523d6000602084013e61127c565b606091505b50509050806112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b790612cb7565b60405180910390fd5b7f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516113119190612d49565b60405180910390a15050565b600e5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113b2611d8c565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141790612de9565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161147f929190612e09565b6020604051808303816000875af115801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190612e47565b905080611504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fb90612cb7565b60405180910390fd5b7fdd970dd9b5bfe707922155b058a407655cb18288b807e2216442bca8ad83d6b5826040516115339190612ee6565b60405180910390a1505050565b611548611d8c565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00816040516115cf9190612f86565b60405180910390a150565b6115e2611d8c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611651576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164890613026565b60405180910390fd5b61165a81611e0a565b50565b611665611d8c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cb90613092565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516117669190613124565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117df906131c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184e90613256565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161193591906124f1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a8906132e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a179061337a565b60405180910390fd5b60008111611a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5a9061340c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc9061349e565b60405180910390fd5b6000611af030610e7c565b90506000600e5482101590506000601060009054906101000a900460ff16158015611b6757507f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015611b705750815b8015611b885750601060019054906101000a900460ff165b15611b9657611b95611031565b5b7f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611c3b5750600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c5d57606484600954611c509190612b17565b611c5a9190612b88565b90505b7f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015611d025750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d2457606484600854611d179190612b17565b611d219190612b88565b90505b8084611d3091906127b0565b93506000811115611d7957611d46863083612191565b80600c6000828254611d5891906127e4565b9250508190555080600d6000828254611d7191906127e4565b925050819055505b611d84868686612191565b505050505050565b611d94611771565b73ffffffffffffffffffffffffffffffffffffffff16611db2610f05565b73ffffffffffffffffffffffffffffffffffffffff1614611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff9061350a565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff811115611eeb57611eea61352a565b5b604051908082528060200260200182016040528015611f195781602001602082028036833780820191505090505b5090503081600081518110611f3157611f30613559565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611fa057611f9f613559565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612005307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611779565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612067959493929190613681565b600060405180830381600087803b15801561208157600080fd5b505af1158015612095573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516120ca9291906136db565b60405180910390a15050565b600081031561218d5760008273ffffffffffffffffffffffffffffffffffffffff168260405161210590612c56565b60006040518083038185875af1925050503d8060008114612142576040519150601f19603f3d011682016040523d82523d6000602084013e612147565b606091505b505090508061218b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218290613757565b60405180910390fd5b505b5050565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121e091906127b0565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461223691906127e4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161229a91906124f1565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122e15780820151818401526020810190506122c6565b60008484015250505050565b6000601f19601f8301169050919050565b6000612309826122a7565b61231381856122b2565b93506123238185602086016122c3565b61232c816122ed565b840191505092915050565b6000602082019050818103600083015261235181846122fe565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123898261235e565b9050919050565b6123998161237e565b81146123a457600080fd5b50565b6000813590506123b681612390565b92915050565b6000819050919050565b6123cf816123bc565b81146123da57600080fd5b50565b6000813590506123ec816123c6565b92915050565b6000806040838503121561240957612408612359565b5b6000612417858286016123a7565b9250506020612428858286016123dd565b9150509250929050565b60008115159050919050565b61244781612432565b82525050565b6000602082019050612462600083018461243e565b92915050565b6000819050919050565b600061248d6124886124838461235e565b612468565b61235e565b9050919050565b600061249f82612472565b9050919050565b60006124b182612494565b9050919050565b6124c1816124a6565b82525050565b60006020820190506124dc60008301846124b8565b92915050565b6124eb816123bc565b82525050565b600060208201905061250660008301846124e2565b92915050565b60008060006060848603121561252557612524612359565b5b6000612533868287016123a7565b9350506020612544868287016123a7565b9250506040612555868287016123dd565b9150509250925092565b600060ff82169050919050565b6125758161255f565b82525050565b6000602082019050612590600083018461256c565b92915050565b6000602082840312156125ac576125ab612359565b5b60006125ba848285016123a7565b91505092915050565b60006125ce8261235e565b9050919050565b6125de816125c3565b82525050565b60006020820190506125f960008301846125d5565b92915050565b60006020828403121561261557612614612359565b5b6000612623848285016123dd565b91505092915050565b6126358161237e565b82525050565b6000602082019050612650600083018461262c565b92915050565b61265f81612432565b811461266a57600080fd5b50565b60008135905061267c81612656565b92915050565b60006020828403121561269857612697612359565b5b60006126a68482850161266d565b91505092915050565b600080604083850312156126c6576126c5612359565b5b60006126d4858286016123a7565b92505060206126e5858286016123a7565b9150509250929050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061274b6028836122b2565b9150612756826126ef565b604082019050919050565b6000602082019050818103600083015261277a8161273e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127bb826123bc565b91506127c6836123bc565b92508282039050818111156127de576127dd612781565b5b92915050565b60006127ef826123bc565b91506127fa836123bc565b925082820190508082111561281257612811612781565b5b92915050565b7f57652068617665206578636c756465642074686520666f6c6c6f77696e67207760008201527f616c6c656420696e20666565733a000000000000000000000000000000000000602082015250565b6000612874602e836122b2565b915061287f82612818565b604082019050919050565b600060408201905081810360008301526128a381612867565b90506128b2602083018461262c565b92915050565b7f596f75206e65656420746f20656e746572206d6f7265207468616e203130302060008201527f746f6b656e732e00000000000000000000000000000000000000000000000000602082015250565b60006129146027836122b2565b915061291f826128b8565b604082019050919050565b6000602082019050818103600083015261294381612907565b9050919050565b7f576520686176652075706461746564206d696e696d756e546f6b656e7342656660008201527f6f72655377617020746f3a000000000000000000000000000000000000000000602082015250565b60006129a6602b836122b2565b91506129b18261294a565b604082019050919050565b600060408201905081810360008301526129d581612999565b90506129e460208301846124e2565b92915050565b7f7365744d61726b6574696e6757616c6c65743a205a45524f0000000000000000600082015250565b6000612a206018836122b2565b9150612a2b826129ea565b602082019050919050565b60006020820190508181036000830152612a4f81612a13565b9050919050565b7f57652068617665205570646174656420746865204d61726b6574696e6757616c60008201527f6c65743a00000000000000000000000000000000000000000000000000000000602082015250565b6000612ab26024836122b2565b9150612abd82612a56565b604082019050919050565b6000612ad382612494565b9050919050565b612ae381612ac8565b82525050565b60006040820190508181036000830152612b0281612aa5565b9050612b116020830184612ada565b92915050565b6000612b22826123bc565b9150612b2d836123bc565b9250828202612b3b816123bc565b91508282048414831517612b5257612b51612781565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b93826123bc565b9150612b9e836123bc565b925082612bae57612bad612b59565b5b828204905092915050565b7f56616c756520616c726561647920736574000000000000000000000000000000600082015250565b6000612bef6011836122b2565b9150612bfa82612bb9565b602082019050919050565b60006020820190508181036000830152612c1e81612be2565b9050919050565b600081905092915050565b50565b6000612c40600083612c25565b9150612c4b82612c30565b600082019050919050565b6000612c6182612c33565b9150819050919050565b7f5472616e73666572206661696c65640000000000000000000000000000000000600082015250565b6000612ca1600f836122b2565b9150612cac82612c6b565b602082019050919050565b60006020820190508181036000830152612cd081612c94565b9050919050565b7f57652068617665207265636f766572207468652073746f636b2065746820667260008201527f6f6d20636f6e74726163742e0000000000000000000000000000000000000000602082015250565b6000612d33602c836122b2565b9150612d3e82612cd7565b604082019050919050565b60006040820190508181036000830152612d6281612d26565b9050612d716020830184612ada565b92915050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b6000612dd36036836122b2565b9150612dde82612d77565b604082019050919050565b60006020820190508181036000830152612e0281612dc6565b9050919050565b6000604082019050612e1e6000830185612ada565b612e2b60208301846124e2565b9392505050565b600081519050612e4181612656565b92915050565b600060208284031215612e5d57612e5c612359565b5b6000612e6b84828501612e32565b91505092915050565b7f57652068617665207265636f766572656420746f6b656e732066726f6d20636f60008201527f6e74726163743a00000000000000000000000000000000000000000000000000602082015250565b6000612ed06027836122b2565b9150612edb82612e74565b604082019050919050565b60006040820190508181036000830152612eff81612ec3565b9050612f0e60208301846124e2565b92915050565b7f5765206861766520696e636c7564696e672074686520666f6c6c6f77696e672060008201527f77616c6c656420696e20666565733a0000000000000000000000000000000000602082015250565b6000612f70602f836122b2565b9150612f7b82612f14565b604082019050919050565b60006040820190508181036000830152612f9f81612f63565b9050612fae602083018461262c565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130106026836122b2565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f736574526576656e756557616c6c65743a205a45524f00000000000000000000600082015250565b600061307c6016836122b2565b915061308782613046565b602082019050919050565b600060208201905081810360008301526130ab8161306f565b9050919050565b7f57652068617665205570646174656420746865205261726b6574696e6757616c60008201527f6c65743a00000000000000000000000000000000000000000000000000000000602082015250565b600061310e6024836122b2565b9150613119826130b2565b604082019050919050565b6000604082019050818103600083015261313d81613101565b905061314c6020830184612ada565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131ae6024836122b2565b91506131b982613152565b604082019050919050565b600060208201905081810360008301526131dd816131a1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132406022836122b2565b915061324b826131e4565b604082019050919050565b6000602082019050818103600083015261326f81613233565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132d26025836122b2565b91506132dd82613276565b604082019050919050565b60006020820190508181036000830152613301816132c5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133646023836122b2565b915061336f82613308565b604082019050919050565b6000602082019050818103600083015261339381613357565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133f66029836122b2565b91506134018261339a565b604082019050919050565b60006020820190508181036000830152613425816133e9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006134886026836122b2565b91506134938261342c565b604082019050919050565b600060208201905081810360008301526134b78161347b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006134f46020836122b2565b91506134ff826134be565b602082019050919050565b60006020820190508181036000830152613523816134e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b60006135ad6135a86135a384613588565b612468565b6123bc565b9050919050565b6135bd81613592565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135f88161237e565b82525050565b600061360a83836135ef565b60208301905092915050565b6000602082019050919050565b600061362e826135c3565b61363881856135ce565b9350613643836135df565b8060005b8381101561367457815161365b88826135fe565b975061366683613616565b925050600181019050613647565b5085935050505092915050565b600060a08201905061369660008301886124e2565b6136a360208301876135b4565b81810360408301526136b58186613623565b90506136c4606083018561262c565b6136d160808301846124e2565b9695505050505050565b60006040820190506136f060008301856124e2565b81810360208301526137028184613623565b90509392505050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b60006137416010836122b2565b915061374c8261370b565b602082019050919050565b6000602082019050818103600083015261377081613734565b905091905056fea2646970667358221220d27eecf47fd26e1a172780e5093d395abe48026a3c958d00d71fe3f1ec7d277b64736f6c634300081300330311fa74668e828d9b8ed0d97506621a562fd814bd2a7d52727a62b7d9f933fb6d03c1dd8934b681ee2af485e329029df7e799263667f47cece21e5d99d5bcd890950348673432374df9886cf87b741d3bb6696ea0eaac81ca64fa88eb31b9c398848e03a552c1caf6ef65816dec75381614c11a6c75c0885f964d8e98652d38651314e1032f9045a869795b96c949e03ad680751cdf778e176a11d0d91f68e3ee4cc86318032a91ae384fb03511ab0851ba34e9353259e251ef45c4af1ac293a3ff962ff1a6031bfd0d587506cdbbedf724d059171ab7a05e71c845ae5cd34177085e2b6dcfbf03ce17cc98ac542bbe36d622f32609259553f91ead0e78c1d70188f0486d4282e7039ca78848ef3aea0263db97f61a75416740aaac4f61f517f5435c6c069a3f98d703fce3d49434d8e299b9d5554c4e4039d1741a154f94b8c9b44c12961a1799e92a034b2214fa5035a4100a03c2bbfa7b79a195566605a7fbc5a8098d1f7009474750034fda3c1dccad0d5b2af45a85390b66a534679c083ccbfe1704394b5e2668bf46038ed684231d5d00021efc6177a6cbda76dd6fa4a09e4895bf39831b6cc076c44403bbf6d5544cfc4f8b07e06aae0516095f35d21984c1f404596b963c36e4ea77cd03f27783fc56729145246300eb7448dc5da00a2d67729929800bd9c5ad452a677003f3424cf8b57f294bd718e2f72f209f63e532b617ddd91e2fb481b59a9c116d790356bff653ff9efee216bc8737729535c67de6aecb1be72b874efb3d52e2042617039989c102346d256f68f16b164891609fc1a7fb7fafe1bef2713edb255659834200581f0290713e65a55910cb3a3d509b965aa66efc76c6a2a4eaea2df07b608e19294911e0a164c255efcecb03a39c5d4a2db9770b068fe049d33c65906b3aefd06868550975f435bb52fecdc4035e7a266ce0577ab7d974102641931312b504443927d386ae4c0d603e4e88005000581f02bb54c61ac8d2c412bcdde9b4a1ab7033df4f1f694d95075cef720b7378685820fffffffffffffffffffffffffffffffffffffffffffff9a798b48feac281e3ff03b97420307689dd53b11dde925fa45ca1751346ce6d9c721c07d6f6a1acc441f500581f02248852bfc71e57df8897b7e3d265a76f2a18656e4d9a20b889dbd0254fa84906073a9cd8035d8f3400581f0247dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67242010000581f02ce8192639e9b513a4f6431f3838510ac1cbdc29b158aaacb3d9a2c1b286a49119f4454cb0cef64a30341ff1584f25814ea9869c55d7d53b57d0c5c42b370ca498c1b305326edf42a46034f415193ea8abdcbad6ec458376ea5309621eb14dbb766332bb386237553e4a60219a9f303932ee7a1de44805deb885c135e135fbb67c5ddb68ba3e4d74062bde2bf8a60f4038894ddc984a241357fd1fabafc11c217f2be5419ccb85b417cd9f9c067fb0ee403e25632aae9da28411c8f9fe1a26693f5b42427285099dd02c9d0f9e6cffd03db039bcc0d20812956f6db365f9f817859fe6da6d9954caa9b1969a5573dd3484b95036aa3298e071569bcf0e5f5f3800dea5f77ebfe85c8cb1b98dd242b8b1c1dcbd003f1901831338859952ff8a064ad2cf0ee2508f066f735a456d53ea538c1d68b5903c817db3712128d7f678c26bd630cf25563fa1e62539bf010d9e0862575dc7a6203bbd465a5d26082bf838773364e19e6994306941421b3e765734d4573c51087af037dcbab35ea7de0416b605fafd181b19b964d929373a20fcac25cda95a1fe82260219ffff03de1fcfc130b5f59b4ad8b1c2b741af5011cf5596954956c02fb4c609c0a5dcab037c7259462fe99ff519c159ef0a2913014043922a90aeab364231cf34a75c245003a2a71686755d01f773ff4360d9ee7542012fd524b35ec1b51765e80254f5498903c4832f9a58506ca82963d3019713c84d83fa883e2b9a8f05092206b4dd4d15730219ffff03f46de34d24f87ec184247ecceeaf947166b2a2d74cd86e9e279d952125f1b84003d8dba7bbcc3e0ddec9510653cc6bea3ad9b22edcbe74ddfa9c2205ba8ecb044a034cf5cd0ab074556f95bfd8fa0a2504b298d8d1bc522ea504c89276850f90a0b4033cf86bef5a33b53e84ac345ec5f0cf573eb05590719d339aee897d375c96df080393eeda9c695983f58cf052e5e3b734b572b79e54c6e672c6d433e3bba001b6e8037fa8259e2b59bdcbc96dcaa91989769887436f21d83737f2a8e048bbaf0d77de03ec3759de356926644f69581cf6d6ae6e7eb34d1594da9eb7de268fd980310cd503a0836154fe9538de819e2643a906117b17bbfc1fe551da150dc3ac5494ab329b0328e7b2a022e41d7528fba1c4b1e17324edeb05d1ee2eaaaaee8f193ca2cdba7503926b56b7585004477581e26eeada2d9f79bd6fdbfc0cc36d30be313908bafb1e03c9c5e4fd18a91e6f844c91da9a19445bdc9ed7b7defdbb2c2e2c50f93269fd89034980cb88abcaa8820b761fc039798c608e0a16a40e7902956fcfd296d73ac2e1032b8f1bb0d3821b7bd5c46c5c04e4ec70fdbfded7bdc32995c45e565de538d46d03de20f7ce83e08e0df827a0a60f2db27fae179eec7a2a691944634a367881fa58039e444fb29c7ec1ec026bdcf49d34e474004133a6d7df618a51a4c95854829c1c03eb332ef4c897ad849858f7642be146b4a7b56baefa81a8b69cd5ab731ab562ec00581f02117dac1a1368f9cebeaf4e69a674657c2bbe4fea6e83dbd1511a4d4d21595820fffffffffffffffffffffffffffffffffffffffffffffeecdc722ad462ddfbf400581f0271d9649492c4c1336cb0d9c465d538265ce79135317146ba3e23b9ab8688495bdbfd3a80730cbe1400581f02b5f4692ec09a7900e4943a907689a220c3b02a929be3c4ec094229f6dd2b49026c32c638e435000000581f02609d26693386c884c7e927f1ca27b87481625f971e156410b39328c1584749231f6a289a89a711e603d0064941b3624e65a7cc680faff539327f012e1c5425eaf7cd2a35037661466d03298f3995ef5c582bd577c304d11998f2a808d196bd17f41433439b88ad8e0d3000581f023e5884212095e251ec15b76ed45686ebf160d15eed4042318e15debff1155820ffffffffffffffffffffffffffffffffffffffffffffff3e36146c27c55c67ff00581f026d8eb9a9f668a778d92b7cc68991a650d54f3e5dbff1a7be9236fef7f99c5820fffffffffffffffffffffffffffffffffffffffffffffffc983868f5adc7adb200581f028f286dde406e5b4e1f82cf2fd341ee57edd2181568f012fc1ef875ad90335820fffffffffffffffffffffffffffffffffffffffffffffff7538dcfb7617fffff00581f021fd66d11c048c98b70a2cc63fe3d7e44aa5127997aef9f78dcc6070ed7635820ffffffffffffffffffffffffffffffffffffffffffffff4f7c8d7d9ce7d85535021975bc032e88d386c13644c069f0c60412e4a069e236e35793e373e0d113badf84b4bb2f03cd51c2614c06b168eea6f4256edfeb0e5cb4f6582b977e4183b3c49b59aeeb1703b489d466e8598ed48dfb3cd11729c8ec5dd66dd0363f9559967248a21b9516b80219ffff030f9286d372bbee707528573f96a36a95aaefca44064e8a1d044ea3cb823c3f740313e91d2cf848fd6b0dd0ccd13b799be0d788b4d668bcf929e4a109e217bb41ac03535b195a3bebc2a651b1b8cc49cfd689182476cbced58c5bdb5501b2d5d9d124033f32089f66a84dddcb7a14b30370116aee80d6fff53eb8d4d143b399c42fa34a03a50f483df858a33072c9f04674ca1c9280a952ca9a7efb4afc260154228ef99703f676da237fe8883a893968c81700389b461da545513ac72e1a640683ca63cd4a039d434e4d1896128dc4dfdc787def15122609df3b81c825b7af02c70114e13dae031982fac80cb45b18a0ea2d0794a21141c3d35e0b4b87e233349f675c6614ccc703eb92d9ca42adc8aee3de279f69fb04a9832c4ae834225edabf588eda2645f78f03dd1954076f3e5583f07b0505210436035e9f3eb95e550b44f5b5bcc373bce41e0320e171d69bd234f58ae6cd18f389bf2f3d046a24d9549a06628bc6ec718dc3500219ffff03e6a0b57c93804db480c59d2249467cb1269a963814166eed1fef478bf4006cd3035e2b659c7112adc57f90f4ca932d3ba3ed3ce394ae2677208d21e2b0bcd32a270333be256559c7a52306d9dea7f887ddced832835a72e10e34894e4df877e4501403af3f26b2533a0ea4fdb0c4505ed60935207d86b738862c3ce1e984400124ae420391bc1abc0fe0b1309e78648ac071792eaf29865d890977b4567d66b6b8026ad10370cabf92fe1434b98ddfa73f15335bfacbe90506b37b260bbb50edeb442b0b2803fbd09f79bbef7d752ca162640d247f61ad1d47dbd3a3c45c7e274f182fd41b6f032d27237dfdb2f35b7246abbd78c845394f64206091225651f039f43c7aecfafb03b482d3ab8ffe42026cd6477633b21321542d77be3432100cc6bd549c232feeb703c92e297a6a7ea365343accccb07089594db4453feff649842e13a1e922f98fc20392d51f370f45f31decb7bc5b28364290d5df69b3f8345f0fbda53493306e7e96036fee6656649aa2effaa8c53a74cfae39ae728e6cac975f2394d4f9aaf5c4f195039e718d5d7a22abf98deed88b37dbc418302ed6b4e6dccf671a79372f6a50b33303f8662ad1c88c89652bea47793ad2b8cee919b64145938b0c10b8ddfa547e06ef03f1876bd4ffe2139db39343b1e5148e8bac7833890eb86d89a5d0d70b808f9a890326054cd7e7c2f712098e8f1549228ff4c9bf5b503b48b630e666f033eafac1c603192da61cfc401a0860e949ed20058b96d6744ae8b8209c2f5a7e32f793640517036a992e4f0b66c8b81d9ebc7988a2c2ccc74304ab5f4dff30cf9fac5a256d8112039bede913e7a3d78f835f748510b9d8a7a3931cfc9c7fb5b9e3009ec27cbe806900581f02c698230487ad023f29f40e70d6e768717dbf96dfce3bfcb976217ec044055820ffffffffffffffffffffffffffffffffffffffffffffffcf1dd1e2dd9403a1ca00581f02127682fbb0030a2aa6869ea1b771e87c981a52fedb774fb4af23c80fa09a4a023d575232e20e8622ac031d0376bb70a7e8865af80f53fa23a1dd1a6f926ea6e252c06a8ff7973fd047310350ab5fa12febd88481ba3e05eac837bf03fe5a0c99c3081c0f1a44bbc30454a200581f02b9424a3be5d8f26891a798e1de1cde6ebb9b085f3bccebe4111591e3e8305820fffffffffffffffffffffffffffffffffffffffffffe2031ea8743a88a5563f600581f021b3a42b477f91fd7952816fda2f59c113d0bcaf3364ae3bec951ce63989b490c4f113eef972343cd00581f02377173c7366c2b49e8f16c2a653ded02eb8393e88e0620e0552a10c6a96f5820fffffffffffffffffffffffffffffffffffffffffffffffa3d4f918f5ab1290000581f025c065b1f7649a8237ff20119ceccc938ee84256e176a3add309ad7f00d69480d8b5ced3e35d2e100581f0328450624c6f3f04b45991c765a0025ec1cc3911cbf23d7e980f7839a69404906716153f6ff04c43c00581f032e93a704c68a18bba8eea18112f1e06581b27f4a2ef3335a054e033138305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020300581f023131de0e7782a1c5b7ad59e5a8197b0b7536ba0221e135d3c4fde5d981d64a013ff0aed6461a06241700581f02a5a41c09d9dd8a3e1aacc1df1229c4769efa7dffccbe88be4d0c1f660c405820fffffffffffffffffffffffffffffffffffffffffffffffbec2ef4cac753b07d00581f0213d53acecabdc522354c8e722ff5de0358256d918ad21c0f51393f8975a44803e657455fb8efba00581f02dc324773faa2f93e7d5bf72231ddf053b3c2aa89ed84e5b31542a4fdd53a49a52faf8fb3c0fdd7680219ff3d03686707ffac0bb65fa3ab4afe3dc2949e7b61f9e7181f90f1a52aeca417e35d7003dfd933c5d7f5fc7edd2b51fbe5165b71e997306981fe7c6b31397522c2fff9990320e287bd3a8c6befe9ee9093d8272325f8732599b5b5d21e18f2df1cc712ece40371c1e9bb25f190f40b79ee1f0e720356655eceb96cedb0f3644c3fdd57644705038288d87905bb6f9d4adbca8bc3d6e087ce188dcd9e7d02df2d1dad22c16418d30219ffff0379663f00e36f08aba31a054b950acce28388c87d72463acc6883fddf697e80e20379e71539221b010fd8a99b1b0897f3215af93778dd5b981151a342c1977ae92e03b6c4647ed294e83e0d442c1151c8e30fdb2fc7b4a730bc317f255f65dc1f929003ab2879a12c99c7c8ecafc6e1a96eddd0013db163fff53a8c2c562bf6c613377603912a00db894fa1d56f332dfb9980f08b8813a8dbc19df1984cb6e899431adf5f034000d113d6013b1ddb01983aef16d876a412f628732c0ecbc10411342ae678590330bb82f187858cfadfbab86a00b4e36c864b05712323bab8595c06ac64766a84030ae485a42d865b552a801fcd082a7084f60387ab295adf5dbe8ff793fb1fadcf0219ffff038aa6f13acce086ca604cefde1b88e96b5fb2b123b1afb4cdd004cddab7aae9d4030f2f5b1f6e082d4b537fdd6718d030143ade8b9174fee185cab9d3b575746b270323474ead2b004fef98fe7bd2a04af4ae2a2aadb293caaee56a27b28e5464cb3903e2e65e7f8a5502d63dc3f0b3032f280e6e0d8d0b415ced0ab19d281641bed51403e735ab380dbc07ce1ea79e7572dd4ae169537845fe2dbda1372a5ebdc824ad6f03acee3efb9a8d734034f8bc186238015e3bcd0f529e7f407095007bac014cdc6b03da2287dd181c07357eff706ba62718efec27ffc65b494b237843d42e81f4e2c403113c05c97bfc65fb9a3adb35a0789ccf014d7e4d577c04bf85de4965be75fea9030dc3fec39f5608022905bc8e74a8d1181bf3815c37cb069c793c760bd82ff1800337e358aa826a1c2d93404819453e7bf21890be6f3f5632f8c38abb27af3f25c7037cc25a7c10c46862e0eeee2c8f017e29e60616ece45c2bd18a66c125c1d2fb70038562b0c4503d0595bd5f0bf4a3d3a85fe4291db2bb4c8dbb89cf5c7f065102580373e4a73a7c00dcbca11899554e49d56f9495bf76b5b2d2fd33184adbe020caf4036d0053c2e5bfb535a1fcd8a3d94e165a59fd8b2117c4fcaba7375780fe7db1a40376993841b99f96ff4c776574859f11e82ded18bded7e250aa9ae6b8a8dc18c1303fe15e3bd9c755bdda7de5cbbb03b0077565a76da5be1e85b7aaca4c4392cce1903f43c3e10d1475d18d4483a1b5cde43001667c8dea9b6660a9a9790413a4421f303339d95e583c3f181fa97e39434e254f150817fa04bd8782150527020495c24530350115df946ac8bc56da93d9044bb69bca158ff451ab1b8d6fbdeb285118f73cf0330a5e707e41291dd33598a816577b78aba160a173fec050bd4d29b950b56e1e503798af73b7be7841bc65d80ae1e43cb3c0e0b10febf8d27d95e1289056ffd1ca00389fc4afd70336dcfb9cff051ef2bba17cbd01ee49904b197afed437590f5b41000581f02e4267cbc505fff77e96f95ebea7dec4f74775aa8964cc58c6aee6af54bf35820ffffffffffffffffffffffffffffffffffffffffffffffce82b3dfe98fa7ce8403f8e117c8152b43becc23c0c8aa970292eecb8c01ef765494865db6a04301f03903db23d24f326a70f0fc34ef4793796ad652bfd87fdc9407115b19c0c4307fb7d9037dd1549ccec40c0a531df861b4635c94026b11a13f8a8a7b12e22f0635643a1c00581f02f89844243cc1544dffe449616b45463c00c4f7ac9ed4bbb3c61b21a3c58b49800f14aed93b6b80bd00581f023c96433f09fb64ac534165689b73c5d8b46c666b9587cadf465c504136af4919e2fca67dba0ba1910325e400c53b88746a08cb33cab0f8903af63c99ad99d472dc840ef4d5d179a8c900581f027350c284e24559afd212e880f6788d4446711065e0eff27d2105c4e57b5e491abe6e8455f6bf82f003db8d3aacc451f72a1e7e801d5f0bce1eb5dcccf39f3d01ca81d9b29e9de902aa0219f9c303b6b1611b62753c2c543ca25859bdba88c89d76d8568c8ee74175dd3cd939d26703f6b1c6c739a8a7bf649ade7c593ba8ccb50b284276a3db63a52aeaba1c53a53e0379ec3f27cc4ae6ed308a5496b50eae70eadd9f2ea1fe645aa967b0402aa91e5e03d3f6e2071097a4715254beaa1a221ba8becd9f77c169ce9057c2ef0b0955c75c032645f3f50fc94c2b3b405bba3a21e0f285c159dcb6ace0ef9fd34782574fc9d1035c903725dab196d562f7e70e5974ef22f43e48877b6701137a7224ee73a0c0c503be8be43b761f47c6260e99dc5e852021fca803a98488c868461378ed79ec933303ffb415d9ddf34a996f438de729c439c86a28b089d40e07943b8c38019a555fac033469b87a69e901995ee13e11b112138828b59fa3525f592cb2af6f9a4bc561c203e89812128e3b0b9d7c2520d57542ea5211dc983e0a1381691dda8b7de4d5d5f10219ffff03ae6382695c69e416046a6bd90016ee5b8b594a8d374ba1625ffcdc4dd38429330359a1adfee2692c09e887e65d8cfcb5b05e4e434f45be1dc963e0ba5bad7ae2c203f2e1c2a7a44340503e083b7ffcb38173dd2b08bbfdc6c946c28a015a5aa46ea00219ffff03ddc8caec27d4278ab3f2e593df2ccbbc7ec39b6e6a6e1989bf6a894220df7add03afe8f7f865ba2524c3e6223158c74b718e7ba4f5f4fa3a2582710618cec7786103b70e1c52cc7f4b4cd81c3ff89f6e6039e0eda5e2cc68741f5918880a6c12559b031f7d0f3d97ef17a6f794e27d29ad1ef627f70ed8cfa2268a66fcdd24fd015ad403ab430aef5caefbf38aa06ca365c9749fdeae3b2cbf934f809ebb16f1b391f1c2033a8a5f85ef12a226ad48c87e71af6949e961c0744f7945993c40a02cb433610f03d0664afd73ecac243851989e25e45692afd421cbf05f264b016cf46d5f16f77703c87c18f8d28002eca16664865e6b85e407fd0e2e38bf681946f87e893020919b031465c2a6a8583988c33cff5963e9b35be2eafb372896e32d06b8b81d4e378760037ffeb31a44be20e05ee2bff33e496935f05245a21f645a7f9db0b5534944ef59036b5cc0a829c98f8b76d08e6e5bb760850723d793377d4b787498b19746de5f0603108e3ea9091434fd21d46b5afe4d9624f0f30e8ea7606a402cf2d8e93c278c80037c5bbbcfb717685bec5c471c72f3ff8b86695a4a0dffba04e966ff55e4260b7d0344b69858a4549c640969d84dcde78c0954815426904d65507e6db107a5d2955d0313b185b586994ff3aac2da307240824a3c6dfa6028dcce73dd57300eaa9b154e0343d828b66438f025badde6bafaa1c8165036ab051006c207f5994e7917ad650a03887ec0d396ac1e06e58e5b037bbdc6918cf2ce85a133d231e6fdf395adf22d2803b774098103f4a939c415797579f9627616e71ed638f5646c76ac0d85224eec1703323c011cb508c7e3a150d88d146de640718ce738f4bf9b23eed0a67160f91cc200581f0274875e1a62c2a695bf432311a59483eacbc5ae57903f2d35f8e400e9bc0c5820fffffffffffffffffffffffffffffffffffffffffffffdc4c54a4432fc72ca3203505e6ee84f398d87af756055252e8b9d5b5947dc5ed5d4953281cd1d53c7569e035bf7390eb69b71dd01ead3e1b279ae49dd67ac36cc076362578573f0f9f921a100581f029d6495b3f2836ed15b85d35201ef18ec39ec60e69cb893719137f413cd50490cf4b5da7584b3d6e900581f03a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04a021e19e0c9bab240000000581f034be3db2c001907caa376044db9ada6a9b0f9d3c35c6375c56f0bcf3223004928acaa3bae44f6a69102189000581f023715679f4cf1adf5baa12776af1df70b988db2d0e2049365537e16bc1e82486f05b59d3b20000000581f02ef660ece45da3d5cf93d760ed72f60d4564b6867ce366c0ff9b6293708a5473795b2aceeb5f80378567b719f2585db1c0bdc00e8384cebf4c19ab1712d144190e737c2ac4ec3a7021979e40340601ac9b1fc3bd5041a472c7f1c21bdec4aa1bf939b5dae4588f09a89e0acdc032682321f301eeb34358760e29fe4d31bb6d5cbad831bf9f82cf9c3f7c1d97a94038c0eec6b64676e904dc5c2b41f404a9c5376785b83c96f8c79a1b7bea3871da003df1b1ef2acf8aaeac9f2c6fcf431e3b039f21b8e5b2cfd2b9cf44a09686a6234031f3560889afe17e6277abdb1392c0dcdb1e7f3336e47376a238c82d2c06c955703ed9d8eaebdc4b032568728f6ab61c24a998130458e8362f3f5d79135ff17cbd403740f56408e104e68df57bd51606d38a5c9a1a25eb353b888c24b3bce34a346e103c521cee84ec49a3d1619329c2d253d52c6d4d6fdcd65e56fd5b141afd294fe9d0219ffff03693ee29e824a684f775c0027903efd98e82ff9d87eb610b14d0888016d124d0c036b41e636e777ea93b608e3ee576ea2b2e0fbfc24e0b3c59ca2a9fe88254166be039b50cca1ef776062bfbeb145fff1d05bcbcb8ebb7389c4d5f3bda65a9e8497ba03e181ce19c0224b375e37752535c609ac8bb9f333f1506156979210ba9d3cc1d20219ffff03acea55c0df89b2e49de2231409ff59a59b379a70dac91238e520d41b7335e3c20315d5fdc515ec48369e190b1f80d1a9a897028e812c576e357568a6e9cd93c9e00345db9244a549b15436479b89a6463fb7f06e684dad375644bb6096fec42768bd03edfe7185e9459e4c66b6ca4cf968da9a703ff376b87d7876ff192cd60783e9da0219ffff05581e033b73ac7e71f2579d412e82f5c65b0810c5c58eeec2831f612c959b72b007011937ad03c34c3a17c2ce58942a817938ffb6b4f4e23b2a3789efc9bd190428f8601e7ac40340e84b37bc140d75e56f32bb2eaf66ec41a51acbbda58201522deca067e3a6650219aef203a73ccc93f4def6482b69e377675c5c5f15bb19f0e8cba522aa85bb3d10667b49036d3a52ab6d57d4cc41fcd050404f7e4daf8e6b71db407cb2c59c7f14e210a88503af5450350c7924099037c8cf8c5cb47e9b491017fc8621b7cb2b64542207565c0328972dd76ed42d62a3f34574f58e4aff376126706655a7ed9df14290922392bc03db5b7316d0c92c2aecca4a87a6ef59f7ca6b1a594feb78a14cd6ecd945220f2703bc476c64efdb59b692bf4c7b5ba359f4fbb74adf9a64a9dd6bade20a39d67c85037bc8f4e249f7b2e7c196b24455e0c055fcb78cdc955fba2ce51200fe0c34f159035bb9ef998ea63e535632d53cc9d68ffe5fd3485f9bdeb3c6a5fd2203ed52cd380319ed8b396c79308aca95868d6707d9e964c368d014569f7a91c5ccb4cc098afc03644dbaefbb92b2bd0dcd26d887cd947949c01af0533f9e0b9c1a861bb0d2858f0219ffff03c4d2723105987435cdc3b2b0e6cde1644a0254c5970f5ff343537d78659edf3e03e2bc6f5e6c6ba9794790bfa7d69eabc1aedf266931500257a96137582a215cd903c6c7d54d2a3778f022cd96be92be1935189d11b9d28977dca533c804e517251f03390c300a552a191a03d9cf2652e482a1814967c3f882791bda494f9a04fb05b203acfc0e2bf74e56f51c85a8f2621e8b6255eb63868e9da0c0a0fd660ee9de461e03bf6957e517110e64cbbe3f98a3b5ac7db2520e16a9667a08a69313f1f8440bae03ec9efd055aeb3e69e370a3335d731b546e669f5b725e143a582b52b5284c52ea032e3ba397a69a664ea5028dfa839ab2ea01690b24fc037944cd3dc7d6d7b8ef1403bb239e51c54c91689d58ecb224613ad39f45d9033aceb586a616b849e8a90ff003f74c0e618f3873055ddaece4ca57510362d94f63c53506e9097a91d68d1cdcc903650b0f70db07a1c33589f61a6969dfa1a23e8adac8e9bd05b3468e5f3cee1175032e202eee47fc1263d930ce668cecb7658870360cb8674731ec4c3fc39e2fd10e0325c40ed0eb0e104406dff9659a2572d72e31463d045478762d1519d445e1958e0219ffff039820eeeb7264e1dcfdf75a5673077637f064f5e7dbcf2d960a40187d2a9903bc030c64607f39da52f1a213ff0e4ecadc11475a0483f48992623e93336bb1eaa02d0322a38b880e0fef7a4b6a9de32286ba55b67f1ec66c436b7d456a405caaaf1e5b0321ebedc210b139dcd6fd442c13e865e14e0285dde5eaad16fa7fe596b83a753c03e11c3b0cabdb1539f032904ac6b05321c61f828922d38ffe2ac3dd4a1b48539503e56429d4aff77e0ec12efd6d6238c887918117e758d97a1433c071df6cefbb27033b53ba493bf89cfe28c7e2595ac89923b0743332e924702cfc5387078966949603ef7e5b8bf857071c5f656e5fc02ce1d903a8736659d0c8bd4fad7fab8cd75f4b039d1a28a1120be3cb963db68590708d07fbf65c79749519ecf752d37a43822356033b66189a2ce334c41fb78975f73cda8b90e762ff179bb7fad60feca86fbe7f0903f33b23fb98e13621687e6545627ad672d1c52010452c0b936552190603428f34038cb0b40b18a80857fb9096133fd0839a16d27bcbcb148f672cfbe2ffde3c299f03023743dc9c349322e8e884ec6838de47c12dd662cb9b0a831f073ff3029ddcda0219ffff0317b3e3a35cba2bc4692d6e1be577ce194e0b53c62d1b7ac1352c3ea121f5900e03e229fe1c499de287200e58e50d41e9997d938ac2e27899af6e6768bb0230e5b403e462374993de623f06bf6faa95e52dec12f6d44fc8cdfd490f72c3316eeae54e03f3905a7240ce7237c877fccd93268964ae6bdce13742038f1e9842d80ed7efd003876ceaca99f3da6356ec82f6f583de818c3129c9f60919ead55658996a432111038af4195488aabc558cb4bee4716353ff827faba061e2eda8baf6fcd19bf0380b03dbae8de157a5e4f491aaa7dff3546dccbc7ff2fb5a26ac1a7b2d7ff06439d5c503a976729911ba0f85f64ca4374a06967867eadfbc829f66cc802e612a68cbaa260311f1f97402b3f2fa59acceb23152def4580caa7a59d8fcc4976637042f1af60803aaf7230b88a3a869cbfdcc8736bce3b27c1324c6ee2f76958d437fb7f5095e4a0219ffff0354d1bdc62f7a022b804c8f448778f9f0b75f0b40009f1f2e0917147d6584473e0304852077d0510837c8cfdaf3cff6c2a5140152a53cc0b50164fd461403cba92703b23e78c5db07d012e5e2c22a762aaaa19b24b730462e9b79c347d429cd966e0303c95e311eeef5a0b524990337780950bb6089879935d461d9a325578d6b94799b0353205b41873be9b264a7f39855b264211e78bac6396e7dc88c5f96bf72a5e76403adcf1ab82ca19051e17f898fc3f2f6fc5ec6d3dae18d8d73615a228d4a6f58c603e6dba229711d24ae54f613c5799f5ae8e30b5ceabd6cf4bf58ca38165d4ffeab03a60c01d2fa09b4144b523a3d100a15a3c63ab00ce2de14238a79d210c13971b603fee029a5eba1688c655d5ee67121ebe32da3d443b1b77bb0d58a1eafede8cbcc039fcff8b2ee58f603c0ad65cfed0061b67883e8801961653f537d9ec686c3291f039f35035cbd72a725b4549b6c3fc9270545553ccb03515b28b4a614105a685c8603be3f2d69727bf01674cb21c4162767c8600be0cabb55e82e7cc32d1c2e631f8c0338a4bb438b73049e59ba6bada2b771e126f019085ab809a53ec64b1fe8a3ca7a03a77025c3e2e7b51460e7afccbb3ddf5f2dc758b99d8f4f2f83fe5ce0c44d868c0398c99bb1a051d73e8f6d3d96435034917d0dd5e76df1d77b5d9df258bdf2864003671f45c39f99ffbc66d696c97e46e147eddf8bb7cf2e7dcce9261cdeb1622e01030e42d8353403e856cd50921cb60ee0eeb458d0af5fe988412053b0a313716a4403fddc88367a6afa80119995027ddc8bdbcd1e5b25b2d1648303fe66cf928c23e603df131507fb3bad4694d1ca0fe7805cf5a1e59355a893231ce9740c5350d5753403bda9d389ce2de56480072e9d03cff3da3cfe462929a3e59e46c7ed746b1200f60322fa607d056180d6820cc0976a8b21afcc7ab7e7f4797ad3e9626749dd2a0da30360c65f81220578e1baf6ef8271f0bbf8890193e5015ae73b1b103e54583fa03403adefde486c378fa35eabbc9abb7c6000fb2b51690d3874353c03a5f33c990cc40367cacce7580bc2cceba5ccfa60e8a2172684402a953756ebd62fc59f646fc0d6036a1e5fc8a591261a5ded45a6e716dc7a2c1aef99acf2917e4e80a87133a4dc4003ce85cb78a6b7207fb087d7fb528e2b6f45c2befc97832db57074d8ae8bbbe2090323704013f56f9bdaea45f3e8a905bb0ae43b7a0a9e8fb9a29fd4baa3e3f585db032d1e63c5cb77335ed11e701c54ae0be7f7acfd587cf2b5d91520eb1c2264a64f03ae5d4bd9970ce7d77b6d1d2cd31d4eae25fcbdf63780260401472dde683154b605581e03388da10c048b4cbc9b0b65ab97f1e319a81bf5cc5d60ee72d047a8c1e00c014701856e0f40407605581e034d849887d79c5b1dc5180354a67c85f6b3256aad965dfeff1a31ed0dd00402031c2edb66afc46f3d7732d88b3286980bf426164634944c81db0b284382654a9a034ba9dcb075ba0d4ae3c8b66dea581a3b5c7332994ba0b96f48cac985525abf4405581e0362bdd1e42051eb850796f3e85ac2db0f028cad47fc26a84d13d4e116c007011bffffffffffffffff05581e03059dc6b42b5c13ec1901e8877e16c4c96a7e3d8c9a9b3bce2cd80712700c034697a5bacbabe00459086760806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610305565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061035d565b005b3480156101ae57600080fd5b506101b761051b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610573565b61021161020c61064e565b61067f565b565b61021b6106a5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d6565b610265565b6102646101f9565b5b50565b6102706106a5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102f7576102ac836106d6565b8273ffffffffffffffffffffffffffffffffffffffff16828260405180838380828437820191505092505050600060405180830381855af491505015156102f257600080fd5b610300565b6102ff6101f9565b5b505050565b600061030f6106a5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103515761034a61064e565b905061035a565b6103596101f9565b5b90565b6103656106a5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561050f57600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610463576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048c6106a5565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050a81610725565b610518565b6105176101f9565b5b50565b60006105256106a5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610567576105606106a5565b9050610570565b61056f6101f9565b5b90565b61057b6106a5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610644576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064c610754565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a0573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106df81610756565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b600061076182610828565b15156107fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820f82e8b87e97893a49b8bd4d7b939f667ecf5bb0557066c581f98354d9f5ade520029034d48d8ebc71921c9c668868303b499b85c17d9ffd9e15d9fefc8ac23e8978f3d03596ebff442508e040decd124717327b5ee191469875b6f1168b784a35ff9f43703bef2e8e0f91bfcde1d35b4641adf2af91ba6f75383b1a123e16ca86b3be9bf7f03d5c446c544669e8e989a943575871a063143341ffbae24cab295e28b271a847303bfd68af271db7e64962eae5105ff5b3266ec7fe872dcaf44a648ce42d8a77d62030cd21c55cbb52262dfd7641cd23ef2778dcf2f73a078fb4031cdf1684e44849e030aa20ec8a0f6655851d77c852d68da6c5504d7cfc2ee7445f8c8b06f3db120f603359990cc4417429ac71ad53c9c2ead3f69e7e535c5fb86afb276ec2d5683ceba038772afb5be714221600185f9c07c819810f4c4d13fc245b37af44d3561cef1e603f94b70cc9c820fbe7428109d129fc10bf4900f948dcc35feb41e6b084c115c1e03362d3bbc995a485dbcf7bb98afe7bfc074c9a85aa166c630f1f90263fc2ce7e403d46b69a4dc617a772c40a357fc0581485c479addf24b1afc888dc33e277db7c203b2104b3fbb7a5c56756521df9beaa0f9ba0313339233f337e4bbc93b3634da6403721691d8fcfc74133b4abf36cee3b1ffb77ea51219ce4f49be546087d16b449303d578160be35ffff79359b879e3c1f1cf4795015b1db622b7d3c320c241d98867034cb36ad7f4ab61744306d82fbc9462b3e42b3fdd7ca3daf6463ea875348605e40357c92e1b8eb37a123c654e8967de926ca5c08ce9bde2bfca699e0070bf0514c903dac6fd299b2fa1f58c8b850fbadf54411017e0ca2a0728fc00de9454f5b4ff95032624d42f16af0b2c1c3444e85c1753e62bc56a5aef4093ec5113905eb885bd4c03b2610c8fc7349525da23e62b985eb38132854fa43d29cc5979893e4e83e441f8031a651382e56aee0bb80b9f0238497a8eb54556c5cf0c70eae9e4f9931c1ee0f703d3047bec2bcfa080e7c289c73e7e9edf577474df17a779235321a292403610a503bb69980c12df204fe45b94a3c512fe39757c4fdc7e9854e00c1ea0a11a64d5f203cc3b01a211e16d220a1988847b43bc0870b33ef35a3886e815615d72bd7e14bf03fb8aa9b15382c69d695812cd6408a54f089a758538acfb605cf4339831bb6555032aa181d04df97413728b0df1c25f9b3c8cfaab7cfebedaccb5697d17c25cad1303d3b34b23a0d1f23d95611e78ce5a603aee1c0763d7181c9387ec6cd9cdaeecf301410903c8c86642bdb106266fa44e913356cd504c929df9e6dbfcd3c71e4d49a7f0825903a7fcb5cc976ac1456b5f51236e565435cd8c6cfb3a4aed20f5bef3f53a6cbccd03f006d49946e3d72f82598d66b969cb30d6dd5d0cba044fccca50f7519939d64400581f035a818348987efc21198638a43af425294e0cebbabe1f3c7676a812e34a6042dead00581f03da6edc5740886039cc369759a31f467f1faa3113e5bb99612b25baf043b0480b641b1c31fd7000021981000350b039bd8cf63019eed5e6e7f80c279703d6a7e7ee52c3b030c0a57483da25f903b419cc5216c8c151e42e74f59a1aad52f8c8a5cc177b310be0f0f023c9b6954c038a0691d8aebfb0d7ccd4bd34cf299c292bfdf236d4b29a90273bea8a033e61b702198ddf0219ffff038431c76261106564020c54791469aac32482f949d3af4b60efee14986e5f041e03388eb0b91061011e610cdd7b5baf92b6daf1c157eec46c31e905463c7d4b367d031f6c155f80c7080b776924359f7bc91d075f9673dd2bbf3f8201ddc00f6ad4c003986fdb16ed91e463a4185ecb63df7711ed03fc70fc06b37e2fcb03e4563fad9a03a5724a20f6bcb3de177efb41a7505df5415faf87123e4d5a5f2628a12778e4bc03b81bba9fab6fdf502190a4c63ecd3c39a15d7cfb8215f5c4dabd32e27fbe63dc035b7ef738016be88861e01110f699aa2039fca53e4d4ec7550032ce00b456a4ba0219ffff03f0f15881a53b85698c01296f5782284f28d780c616be20fb00c6d869bb38afe00349b0e42b461ebdb8b6b2824fd76aa94454b088aec70c7e30c376849e813b3b0b034247b12c956375ff6c156f4012d37aaf83a7b8bb508e2b91519748112c0ef8f103cf3cb68ff685399445218dd0216ce18458a3d2859bcd87093975d088a8368cc803d098c7437de26b985d8a56a7af1a9f53cd700d58f5fc26f950ac6eee08c3eb43032052e3d57589e01c409c72859ffc9166be5debb80cd66fb51464b3f34100de710301533f550e8b77c647ff72cc56ae4432c8a8b1d02f4ab16ede60621e0c155ef503a6dabb4cef2e6bd86e03b8f434e9f5b4d86fe1029893c12f9978879818c5362b0336ed05d1fbc406101914112fc0fd98c18491198a3ef4c46b3c1684237e9853f70370ca305ee6cf3cb3e53fce5664a78a86e3da8a7acd2a39ce7a040193aab5be4b03232a1b7b2f9bef790e8d6c868d8e96a4113d1f188c31816a1b848ac7b754fa1003b483f18a4cd9c270b03311a2fa93ca84445c0485c3e1521d7a3d99ccd80b1b4a0389658eae8d0cb303767eacc72084f4c3d1edb2268a6c1324610f837c7fc592c7037e892d308ddfd74bb05c1b15dd860681f31ae7e943589065ed2c7f3e5b92650c03e9ebb90962692d468c78418d0a22cc7a3aa9d8985cdcb5a4cfd9c7f681d4aa9c036b77e2bb58dc460651b5cfeebac999deb5cdd845bb80e65f6134fde0293f2a7f03eaaa5dcf2f57d4591bfef30e7d6d58acac8bccd1735cf03c57f0b0b7d56a2b9c03980f594f56a83dc3e306890bf89fd9e66910a0c0b38fe9b690bafc513e7a18cb03e499ca73d257c293a5390dc86dbd710e786b3957a263b16138915b1b62567d2f035a253cc3ef718df2744c1b215b4b6ce06d4bdb3cc5fe378d2f6375a51cfbde2f039eafe075884ce85542a8740bb8afe259227e635a0eb46cafb81c15f460e9389f0367eaef20fae85fd1b2ed3b4342926b792cc2d23ba08281bbafe75d55e65606bc037dd3860e970aa94aa46452034ac26d3bae52847d34b4732b0b8ed3185b00f871039791e194a560c960ca61e558f4c32410bcb4869e06b6a4feaf6000397346019003e037ee3cc8b88f80e6f08b7ed52f107868988e06345634864a54e8e197ba066f036bfa3682bdbc2a543d6e1d251e7b3da3547bfb12a17f1492437505362391c6540354f5b35b20d17e3f8806123ed54f4a6f072f47e5524d795a974d82cb90cdaa3000581f02daf72b76550572073a849241bd88548ce473afca2a233970ccc8bb15f3fe49084b4d315f0ac4000000581f032466c0dcab700c8ffdf1818c4db7f67fb16b68580b759516554cac7ab120541a1fdf27c5e6784d1cebf256a8a5cc0877e73af000581f03cbce33fd852c7b0251407ccb48f0b3905e06cccbbc33721e0998924260305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03de00d308bcefab44e021efbdc944671d8a3c1816916fc46cecad30a57c4b3f4100581f03facf1736a61f3932e38a791f29b333c4d9d0d90e43c87665cbc738b97c404905714993575ff5b39700581f031f673efd2df7c7e61c204dbfd87a9dcd40cc6279b9fc6f0fa60865ab3aa049207477554dd1698e9200581f0328cce9b819ac2ce4fd1066d8f3c2e73121d08536f22ce5d7b9de9df67b204901efdc48569440092c021980bc00581f02942b9c53e7e3e62f51f3399fcdf885863e7557ce19a924a4843aa1a20b59490f5769f89a0b8c0000036c93e0ba4199211f66ebb756e89c5788a1cb1f2ec54c50a97c4ddfb4e3c01adc00581f02061a6534defe92bf3a8b0f130c6b4bab129883537f68d7242034167f40a6490579a814e10a74000000581f02cb355eeac816faeb10eb48c3d3d5189c72261369c852d5ac219e0763f9855820ffffffffffffffffffffffffffffffffffffffffffffffb1a1d17a72a526efff00581f02b7a13399fe34d8613308cc6f95b798568bd5ed1dca8f306011fca0dc2fec491454ca1a650dea280003e7b524d81621b70270fb33c17af3470bee7c9a97669e54e4d3fb78f6f265c16501410503080da6abd5196004be2d8f5e1e078a330f7b35ee77d30c77ecdc5e48cdd03ff00379dc63bdb3278024cfec6ad2db522810c0b35f5c1b74944a7a330cb2142889e600581f0240a4fc9222e772e4d331fac7e9c73f48c30523f4135cc954bc3c861f51725820ffffffffffffffffffffffffffffffffffffffffffffff5c37d5c84ac92bff000219edff03bb6762f61f593954c5eb90c2ca75601401c75d57ee40076d92bd0de48dc4314c0219ffff0345085c63b2a78550881204afbc387cb132ccf6d6ae0850641f30607ffc294fe603e40418b5e21960849f11ab2277d9bffa451c72bb3c840d6d065bd5eac3e3dff3039a8cbf4fdf13bf506001ef3cf428d3981d6685f1a2c2990654c60844d6579ec1037ffabfba5395a4f35cf3f29aefe5217e8867a996f8bc83ac3c68a9f4559d615903b965c07c0bfabd1896888684dd86d4dffeea67fd5d19e19d78a13e3b2525604803e1ab58838538fc7276fbc8ba05fbbf8f0951ff15668f30f20875df44610ba7520219ffff031ed3eb2050c4845e575d77364e9645f3504f3ce52cd4c29ab594e639a338b4ea03ffd0e066b63804378f1f1e7652b6c45bab0cc7603e5cce2ee5281daf7aaa045e03e4ed25d3ffab6c3d7a9eb6667528722bd4350eb8c0a3ce37cfce7fe75c231c1303eb4b31caa3205b4a9c86c690a1223d5bd53c8772cf363ae35eb03c6a1b59748903fe1647f98e5e329c9165766357c66b5254f68f918e5ad346efe69bae4b359c31034d68d603b908f4a490c9430c328f9e0e538b013591bb8ac66f86afd05684f35003c727a8bd76d6f26a5640a68720400e19f41942ee0eaec466c0eb7e36478e7da703190f2f135d765362ddadf9a0826ac6421487a5cee81d6a58b0b37129969ccc43032f1ad4a310e011a3a4c76c0a8b6c61437628f6654615b359b0e6bd7c3e1934d603ce2cc424bf2f990e1a85b7f8fc02101afb06c302155965a721b6775f53c0fe70030483535017a7158d847fe13ac4fbbd76b934ffc9733dff8639338d1aff4fe9f4034e4193325f1b2ff66f2f4d47f3671601bfc425958b84fd08f4867c5bbe5f06ac030691b1e5d054e579d38608e52ad258ba75b41f27b75927d5894d5e161da085730380213bb985b29088a0d50bfaea72cc53883bdc68d71b083bb920f14da084846203a1cb5b7902bf430f46a112f27b386117e073d88cfe33abe0a12c6e442e4e42160349c327cb111f93b95552c495aaf2bde34547fcd5854b4fc421760766821c084f03f2ccc18c03a2219b94f14441da899bb9d9fd9b3c1357d09db9a7aba23ffdfaf4032997041e65705cd467de37e4ae3e4e5e58e305850a981beddef245700a42397703f80f40c4688addf6c2a0cfe69922b5cfbfee7da5744af0c818c0dc0994907b6203d19785292d79e768e7721ed8fbcda2426fdec97b00229e3611636ff5568e7742033f072d544e9c6c27c46206712308100d4b0186306712e6bc6e6a519d16679c80030440a524aefddff6be1a243b1b602614ec71c8143fd007d12a0ed8d5f80891d2034849d86f9a7c70fa08204a890bcb698ebb59d79ee2e380d833cd56bdc340eda1030e19424718a56706e9f909000d91d5c9ebf817c2303e6fdc0c1e764e9f2aaab803e55bdd7a9413d23ba9f0de4714323e0db5efc465e6e9a638a30bfff2bf182ea503f794e588900eed57a91113ddb305be33c33d60a9ced946884f5f7d043aff9cd403e4298ea3b403dc2e4e1c0e4081d0dcfc7ce7e07b1c4b1b6d99f1cf3e6df31e8b00581f03543800515d810a29931a103fd9be65a9d653b7337524d16a33b8fed4e230490146612a5fc9b8500000581f03c65fa1725ff32ab0dbe4a4be9026de2b1e63ccc7086eb5e9e34a4e48d2a04902240c9849accc6de000581f034442014ddfe59edb2ff23f76c84cc25215e2c6f37fdeb5c905a8c9b20900480ef5d349dbdf0000021902c000581f02c558faf8ff6dc494b0f8532f6f60d378705553b8b2b53f5a1d0c426840145820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032fd0952fb93426aae6bfe709ee30a4359383f65ca5a1d9b40ae63a657af6eeaf03d8252c8e85fc1bdca736b96086615cf57abc32b00efa90ad19f7e62432441c5e03268f773d75d69b113fcce8a1f44381b525dc56db3fa4c83a3b95f627f82c38a9014105032baa3563287becceacc6857e59104c4ec3ba76b4cac5c58538af7ea1c1b17b9c00581f0267698cf36cf720ae3b2837aab07f989f34f1f2f9f89f90a522ebb585b9295820fffffffffffffffffffffffffffffffffffffffffffffffbef2a795df5b3ffff00581f02b189d52a857a9ccc6aa3826425625b058fb173f1a16343b8e7f9ddd21f215820fffffffffffffffffffffffffffffffffffffffffffffeacbc9016b9621bffff00581f02387e8e1b9446063620be1235370f647235aa7b8457197306c58e02e65fdb4906e4e13defed1bfd2f00581f02312a80faff166cc12d90cf18e2a8085ca1613fe59d46c6b3904fe22177a24a0d7af3e75264066f0d6200581f02e168313778016184b9eb255ef2c1c910f3eb247765a3ac11a2978918a50c47c063a54497d2000337bfbd0141e6c2741139c1c6794f2a95083d7f070993f6d024ca036a9403603203e51ba725fbf6f7f9ab4675e9a966cf2e2c2c77bd12ef16f6e118c8716b96a5dc0219e7ff0354898b57f2914d419296841d19bd80316ac4b5ddc5774bee2e76f2f046347f4d0219ffff0328faea753c035a1e5b48f13c651af0c53fb876ba8e2ff00b2bed2103f557d6ae036fa9c46ef2ca9155962745966a68dc4702ab2ba82a65f6c35b893e628d42dc2a03dc700b9127f48758c2fd78d27464b68a0c0c4598e5e224de906fff72c7dc14f103ab801cc972048cbf1f661bbe243a84483b9c34b52474ea3f2739acab3a574055034310a1e16c6683107ff3da174eab6d233dca2f21e1637cfd76f604b22e1b0b490219ffff03636dbcd41ca1d1b9b236db71a28aa74bc528ee9790c10bc8bd27a6b78b4e0215032ab3968f6debfab4507c740374820f80735d85da8de633c1d531e8f6277b4d5703ca9c6bbcc7f152f337b55dd4682712728a3f3fe2ec179b8f412ab07c0db78c1803264aa5caff0afcb1004c5099ad045558d1857b76543fb539f5b71fbd2f0f3e2603ec86df593f3b12294e2f7030a3a17c7710b7306cbb489b4bf72208155756dcb203e6dcb890d5846d545c96927bc3b1cd561e2829033d3cd4b65f79e785778679cb03c9157f84d3167f14ab7a830ac582c79c9c98d0b8a6e216441a8c994113a21c5d0359cfe04915f48c05c3dde283ef2542d8ccb6b75d5cd45a04542db6a7bb680564038c2332abb31d4bb5ff7c8225da824374104167696d0570a48f83815c23ecf18803cc570741f2901d96a235a467b141b525d957df361fc5f6aa48b7688438686cc703ae775e03248ae2383487a2ca4b5cfb679bb16f04becfb4571b9628740d762b3503aeb20047950caaa6b140c62b7d63638f9670e6bc94c07eabd7d8ab0b3cf52c9703cbf14728ace86d5e7b171be1ed1c9b1244e1dbb03867cf9d8d8a8949cefc7d2503eb12578dcae3289f0cf5dab45b27a849cce58af307db55d4b0164912ea8a0cb203158fa1d7f0191f084215c04a1a0090dcacbe17e41c7a5d572b128caa1dff94da0342c77d87be2a86979efb74695ffe960f80ba20eb579895a72016ba0d8feb265d03bdb55ef8819669e0f0f87803974982c37c1c7c42193bdf5faa955943452ad752030c03c3c11f5724f3fd04c675a5c1633e7ab49a2712307be31daa3cc76a3467ee03e68d6a966ffc61b9422f0a433035219a6be884c6e96af9eea2222f7872e9b80c00581f020aa367b2e989b708924731cc422cc410d165a560ae9b40c22e8c28a6377b495452a44ac797e0980000581f02d8a2820ed8f957b79b5be51629b2b4c87a3f8aeced2c2cd0032c2ebc60585820ffffffffffffffffffffffffffffffffffffffffffffffff6eeea7bca8e581e7031407a531f820be2c9880480e7a27654cd7f14fe71fc2468c053af59db7819bcd00581f02633a0b40671d2f5be14b92daa64cf29b76512b6c75d8459195484b3bfd24490615984a79aeebc00000581f027795af10dcf873a90adb2ac4a6b65103c5ffcb73157eebe6446996892191482d84e69f2f480000036051d598b69b5d148c4d7f7bf171e7cdcf3417aa27569c6ab46d261e4d3ce6c500581f036aeca39bff9ef1697a19141f703002c918570a62791c3e9957ba3d4fb1c049021792cc238fd19400034905bd07b30a05cd6413e716204468ad154f4fe1bfd40fde23d0f5357aa3fbee00581f0316371f179f714d952852084a177fbcd5045773927c69d63d3b5d93112a904b02db745cd00812e4c8cae40219a80003d05d6f02443dcd4e737118e4264ee17007d742bb25702a96f947740fc9c5b6ab03f69c221ce1e1346cc93ee9c57e963a6b63871e530b4d922901076eabd7c6dca500581f02177e6067c337928c2233423e3d6340e4139a8770267a18a1d48fa2684c89490e371b2a932d543800039fefbf80268ea364395bbb21fe3d257ff5082a7342056e6c4777f63ce043b73a0384b9525c4328cd7debcec7496552f0a7c09d7cc26ea6d71bac8fbb9805edd30a0219fd7f03b99354cf11a452fefd44f79a173b01b7e47d6ef82c9fc544d9954d181e17a0d503c046fd0c4e12d4c13e00db4321d8863a6b4c0740f161ddf693af5182f2ff74a80315463ccb8259978d1d71605946e1bb974d99642906e92ae502d8a99a63471ba703f8a5d5f4797fa64bea5cc221ff079220b909c11272d411feaec37359c770f37e03cb8429d6d132ada65ee3adea998f8cd988535b22e9bb8d8a0ecd729ac5013d5d038d205ae6cb45a93f8982e2fd4f2adb7e7d067a33e317f839b66fd8d343aa29f503060fb19b95a0818bc9f142cf73557b4e5af0afbc1f19983921db94fa402612d20359079768ec3d49860713be60a70069ad2236782e26c9a7ddf6c9d56e7fa08c560219ffff033246cdbd3db44b830a4e9075e4f60f3fad3d027cd80089ad6e15ea3518e08bec03da896ad510c9855203cb10811216baf29ca7ee483aa7851772b28f30c982addf03147a563b3a8f9c595e0fb4a80a448426451b3edd4d2bc97e514697025ccdb9dd03a9da81dd1bff85ed14fa61cf0a85c8b50bdff5f7f392711c6be0b448649d531603860876eae5708abcd0f9b57569800454b7a99dd50180e10d3b934675aeb70614039083fd85a0a1bcfbe6a54572da392062169e89dcc688669c136f22e7abec97670327ff824f24d451dbe3dc4a27df166027d40be896c07d49ad357a9f482cc94d8b03a98d11b2bf58ad8f68db1cc009ce3671deafd39f67e79b0802317ebf377bf80e03ebd8e5c923ec722d25f4b8df9716f31bd2c21ece7e57b2752730bde0be1e3792037f27843e6200f13ab8f4c556cf759a7b51e955dd2c3f029093b17083ef656e1b035f7275dc8b9392250b7aaa89d12b22fd088a0c9ab36fc6b9514133aac8d73f780219ffff03a6d1d956f24904ee16ca19a0242986f4326fff343305fb84972b3badbca1280a037bb77f7b645431dce71165c042df1c4185a62d49e1e3a3ebb7608fdebdc60f5d03cbe781289174ec94fc67bbeae2110ee7723a1b4d3795d67fd1e7916623630ddc0219ffff05581e03abf71de79d0f27b7de70f2c13896d25ab8f1b651512f94e28fbc502d40070119086705581e03fb5678ba31a236f3c0dec5774650ce0d7ccd37f032134bad824d3914e00c0147026b5dab17b710021975200336972ed29e6203361d67dbf27abae7f4cd68a7e953eb35fe09da826795aade6303b020dfd3f25bcbad3df91df3e70a9c571443eaae6211fa908614f35c4dd28eb0033448062094007ae30e8d095d58b8a21e9532ca187f3f56710cbe9c4e2d6c2cb303e610539802d3819a11149a0744428d59fc2012c5188ec65ea80aa3dbb6706630034a09d8d245a0239eaa0772a7a7f0df43123c190e9d0cfe23edde778794fbc67903f8b9523cc8e6c3c8482bbc6a9a852005ddb825211b240b0cfaeec815bf485b4f0219ffff03a0d5c026bd2d067e508aa1060c69bc4ba29d9cae543c5950a3bc9e6eef98fbb303c7c811be8ee3700bde848e84f6b637fab7ea6a6d9b2c9a7e08c9b28039f01c50035b968af7c790fe4a6b23d2ca8393cc0054e50e516d2f56bb7f1fdad89e1f35be0359b6ba1fd99c7b25459c0878ec39e40235c28d057cf1f9a3d2e9a5b42601b8ab03af2ee673e7d541c191effcb0ba0e0ead78f1b888ec5a31eac36dfe8fa7aed0d703f9a7bd7cdef81964a8a145f17d11666cde178dc8ad568e332b71e4958cfd335f0219ffff0300ee75c03aad5f3e0ac42c7927fe2d31dd3dfb204cdfb4d7ef70e006d194fc5003b35a6f7b9b0482186f24b949a9375035b3a6dece70def26a33d56b853000750d03c70182c7bb1badbbe819ab3baed3a09974abb756c6eb0b528c7ada45425ddf9c0385fdac19772f0a2575d027d810cbfe51fc045c3a3803542da4fba7d6e705f3f1038650f0f5992995d3e66293df7704bf0576dcbc444961130f19a017a799215dec0399fdd36b6c232e2de5a6f3da8fbda3f82956afe8e3e61f9efed163a1c6c0a7d903acb9e15c93ef65db9d816aa9c881edaa0d11a87249f78e946d0e64024fd8a5ec0219ffff03c5f2aed363ef3a97124d380efe40e2b8e7a4ecb42449bbfbdbd96904118f41a7038d8731e5e301f3eeb2b5358f8c991cc96ad77250795d13c6cbbb107c4756f38a03ef465279a7bb5a4cb3f98104c4b54c071be690c8804e00602f376746b8c98fc703b711b98f76e9948802610230e36051396e4729094e9aa26059ed08bf0dc4378103ba7edbf997177b6f71fcd787b8aab70c17821c603dfd2a762cad7f27cc601bc003532b28ab6b21eb845b788a6b55bc0d7d37bd85c8c8bd3e62135f90bc3eb2e3860360daf9893d23551bf89f73c0a53a35237d585e2de7e01a5bd8751c6cc4e7e1e6034947a078a0ab9aa1999ef746afb90777cfef9c46c489860e8efd9a4fdaac4de80333c67cc4abf6273baa7c76b9e44b422fb5816694ef5c1fa3363445f88104106d03b2ca48306e200b345a0e794868fa2f0fcea3e24c58dc13ee74bc9ede8c192e7c03f9006e8e9456e550fe20d772b313aefa63d04d0bb6dbfb404aaa239d7eacc7f205581e03542c9fda295b4e45f6b331c2277eeb60f28c39f212313d975af4e551800403039176ae8658cc6185b8db303b94b41ecec263d8e18854c29a495726e0fc88918505581e032a55cee61d715663190659c691bc30dd8c0eebd51df2b452b8e96659f00c024718b23c3fb0499b03518a369ce364ccf62f68d8239ec4041d3e3123385d957a1551e8affe84e6f83605581e035399673a1aceb6830caaadac6d43c44b658dc8688d02a87a245a2715e00c044403d9f1b0039f52ab7e087c940b4ed5257cb3a4323c62a637c4a015c875e2ba4dd3f99d922605581e036fbb99e80efa481496625ebd6fd7df83d77bdc772a30c6956d9087dab00c014681c2fee4190003afb00254b8f3c5a90baa64e2e178c14bcde4dfe1b41d60d9cc92febbfd1bf885038ebca840aac53cb0112cc2dfa9cc3e7a84fe05cda45cd72a4d532da284f8b85d05581e038b799a11c4cd47ca33e2457d4800ed61fccb21901b8c93cff345c9bc1007011bffffffffffffffff05581e037cb01eff43c105570d781f8bdef290e9a99be7acfb4d84800ad98320c008472386f26fc100000219761e0390bc4c7426e33628df16ff5d75ef86e046d06a0956526667d23364cab9598f200363e58f1c790f76fa526062f9db1cd55d16f2561affd342427cba229d95be5d2e0302be9e65b419ca427e5cd4c82f8d3ad8c653cdf8c90d001d7a21f66f6c40286003f063df29dd51b5be8e580ff37a7f6f5040b1fb2fcc140781ee3e705a8a17b9570340a192ecb603f55bb99e0fc31d20473a4d6c4a3929408b8a82bed74cf6acb99003a551e43dcecc7b25f52e5b59b76fcbcb40143a98957f35f744357b82f727a03d033efcd20043529b41d110e6f63fc0f8fe76126dc40ec3aa54a10db227051b8b31033c8c26ef65d87797551a87526b9287c1a5e4f61cf49590fda0f2b7e49c556dfa0384d473959be745f6ec07d2f3273039b1c632aa0979ff72d85efb9fc7f92a5785031671edb8373e6c82b9d2603232e21cb6fadb8e8541d6be39d210d94e60710a73030b2b4a15431978caf84865ece9acb4395e902e2f3aa1426f26b08be9a2023640038b181a89b6730af1d925a6c9addd96f6c5696cba4ae5feb441adef012062d00303f6f4a5d0a2504316f4128076299a2bb1309efac3c15ea9021b2958b2f15878bc035eb8d81cf23e6367bf1aca85e99b7d92b040fe6c7684ae31dbbabd8c6be2346f0219ffff031dce0f413f384e5f0f3380361c9205d3f5a9ab0cc65522b6c8f53fa2aa84f40103c3232f754f00154c565bb8850ba25ac236a02abf4ab01d5cb6b9faf2e726a9ea035137d4187dfa1f8ab837f2cd45495f8f5bbb869d17dfc308a8d25fb716930e0503732ed63c579840156ca4f56447d41985965e186d163b0636fdd52ac010312faa038f875c225abe478b3627ae376ca68093d04d94d3db612d1d1e2c156f14bed7b303f4695cea60366c59455c3797a37dd5431b99024318f1d2f8e0094172c340d9960219ffff03b8e093b523f09a2f8875b6df747ef637885b27da4366bcacf20e0c36a6c93255036e4dd9f46103387cc77f52f2354295d6540c63f8a99d8db7f6a4ecfcb3b7996603388a215a999e40eaf1cbfcbff02a4aba88387833ac2a20cfc0f6e686af219e2f03e1bef05e200ca314d24859868215c673bfa32a6879eef9c9dff3832f05e7149e03bcf2fe712b62265d0a9e2b8555a1a55617c620eaa56664c0307e24d48be52da603abb886e31ae8c8410bddd93cef0b89d8bc90f6c2e13a1a3e04beb83ce93a7c78035496c1465e21ba4390efff7a3eabadd3e4f27de02ae4f37e176c39c71c0698580363adcfeb67b9b9864223549d4c8305889078cbf7fbfa0c8ad199fd4b2c280556030a1eb0a3ca75e9eeff3d0fb4f7a153c7d8a7dda38fcfbd38845469888a8363f5035c0750acab1f7d5ba7b71c66b521862f6b880fe5d0ba3bc0190a4a21279596a203867b0cc51dc1e578cd0fceb10b9c2fc951afbb633853f457bfbcc55f609a90ce03bbca2adf3f4683af85be9d13aad8b5b4be684b4550fa42343971395cbb380ab203df66a47947c08accae260a3e16780d56f274f0aab1451e4d9c9f56c99fb7aa5a0379a1614407ad35d89ffeee936a469c965c115bebd91d7da6e00514771819554703965588a0c57233810f2b5ccb029c546caccad0bd17c529a0ab3694dc4ef5e9b20219ffff03e72207e304ebafeb611ec42070b051565fae388a5cfe50dcf04625fae41913e103e75726f8ba6bf3443bb990f1ca574ebda0ce16fec06d840929557810498b1c2403c1155735d5ce63f19c0545e3777ce0ce5b7f2c77b9dca6bb520a2d6d99087e03030897c30de3b0576354f921d0907f41bbf57690c755df54f3439c1923e24a5cf203d6d98f50e730ac2c6295e867794b6eb1c73c4c9e8eb66f202c4b9a80d36b1681037f7f96318330882b1c186c5eb5a881678c80801cf4f7896c90f49477935beffc03e36c44096104c09b6d332983cdb510e4651659e68d8669052aa359fc3a07d0a80308ca3e20eb09b8bec52083584c9da4af3238bcc576ef29b9f1562548822164dc0382d2b97ce6ce0a655091afae2900ee9ef4ac20ce9ffa5dae5204479b3a0390d203dce06f278bf93ae58b938c88c41a8c24d779f505d8397bbe6967f5bdc19c4ed80369e138cb8b599f2f55b0af06bcfd4f9e9d42fb218cd4d58e2273ad8b17a5bc6c03dac131fc4024b2ee71231b70b76825a785440b30f2e2a7362f2a96e1c1b32856034b3e1a8fd5805cf3dc335f8358b5df829ede3a44425e7f6ed0d09fc5e3b752cf05581e0333a2fce2c5d5326a8f35d96cc5752e5bcc210e739641e8f19fd5ce6060040305581e03957ad277f7d2fa634b716c23a6f12631ea58d7f9f0cfe171bd9cd28b900c0146e06ebd88043403a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03db56ddd059b150addacaff2644d2a025324a766fc6521c35127a3ef5b2a8bd9205581e03677aae7c529f7cd87e2ac1f324fbea955ad60a5317ec757bbedb9669b007011bffffffffffffffff034188271db8fcc1e1b9a7103172e141eabaa6eba6efa75403fdcd8f4de831d77605581e03e5ff222c4c9ad5353a0fa294d2d26b7263db0067d1c28f88b687cb98d00c0146479498a545a005581d025e282d74dfa22759813c78a51622282d2a95e60c0ab3f7465f5937360c0348016db8eaedf5ed3f05581d025d25b61f5c771b9b8f71d82d0d0ff993f94a4c92b2111532897061c20c186648af89f4d6a47701da02184103aba5b795512688e79cc73e0cdd5f2bdb484aac2e52653085464810625dfa4a3d05581e0350c61c4c4126cb5a7dd2d7b179b8063dd896c49c22012fd846722dfc70040103cde35b7ebf11c903daeb4f5d6241e8225e457443a1e8309dd5a248a7a6cbc7a605581e03028b49bcbc5b0c0f5fb2694cb14aded63ccc19211418d1461532f9de000c0147037a21e97e260005581e036e9deeb045bab50e027a2111dc23629e1df5109fcc96c175aaad5b0a9004010219afea03a1e9ce24984ac7c484b33e2f78ce258f4192d6681dfdb5250fe891b13ed02bd9031bd0229e38ffa6cc1d9423ff142c2befd5cf4806c98bd15230e05e3960f422f0038d689a5229fdf32fe5ee3c9a960f1b745acf332c22b8649a2a3164118fd40fb603a61d766ca8bc014854b4e89edf207698b50042c2f1e662000495734a9200b3d8037ffc280acbcc68d403413385c3c729330ee699fb56185a3496e5d99b3c56b78a0396979fdce8587755c75c1f956f9c11f7306e9080cbe716bc39296d92ba60d054034b929d43b151fc54f3bf610a70847fc1474d85cb963fccfa571cf3091ada8ae6034ee4a5cbeeaa808bad9b708e9b242363244a65a3904c8fb0ac389d93633da9ad034ba36208dd93f792aad039083b4bbb9f6427966c448811648c36bd3b7c58897b03616a6d742f985a7ebe50002b5e018850a611393f2624b36a9d81a1387b54548b031f06ca5ca66a7c7446279e7c6c1b6d323f6640fc9fe9683eb8cd48f869e76db803a46472adb672dd961ec3210c2df0eac9f49c8c6485508cb4dad1454f07276980030aa956e450377db9cc0fb7535b7d0db1090ce24868df7ee5ef0970e2887af3e00219ffff035f3e610393a24899d4f63e7c45a607cdee7fae4debdb46ea8d3a04a41614317703d878bd6c6da761f8959436339bcf316f46d811b1247e2b9b72ef9500b2909232037f2111c5825ad6ce5369f40e90fda13ed897f942b060d8d45a983ac7f1936fa2032445053407b260bbab628c3334aec9be49cc4bf78de2e06cd8030ab5f090d92103e00ede2071481f5f6b8df38a9f462adaa27c9bdb7b8bae3c8c348a76386c4d180359e36c272f1c69dd2779959824eb3b158afb9404d04e2808757e1ad4f9c4cc1b0312f9a9fa25742463de33f28dbb447d92817f2c0f0bbcdbd0f8d4548927d15aba036a7b92c360153f5d0fbfc09282dd6e94816b0cfc9290d26180017d20975507c203bb652e7c806c123b3dd3d13127a1b9421913274ee4849392c1cae7f364fb8bad0219ffff035ddbb2b93cbda1ac1f0068956953c4d1f745f40d0eeae28a789a9220acf1ea5d037bb0fb98668c5c559db09038cce6ae53f4d05be9b56b554bdadfe765f9789cef03898401530d9add0ebbfc19437867d651ecf0cf80ee5427fcb85feab43aa16bdc034e7fe6cc1e373d705aa934f7c4ff3b703df2e2f403597d0405753582396232bb037052707eb83ade06afc9880de9a5cdff05d9883fe5300b8b1ddb7fa34d41935d03edde688e9df4f4c11789fca349d28d8fe55873ca806da2fdd136085e4d5edf81034ec4a994cbe609277d8d3a35fd186ce56ee7792aa5fccd7c7984032e09bb0615038cbcaf2537075d5ba1bdd3a3a8c726e3747ccd6100e5365e2656b7821e331c40039770aecbefd3b367b15b693bd3a4f63311505317f28f10654313e3adf554840a03943df564a0acea03aebd78388751cdd0391e558b7f4f40b723a27a238f3aaae4038e33dbfa7ff9b79283c5a5ba9a41073a82227ff557faeea16bb9ae9aa96299f20371d8e217ecaf3340f98eff336221f29daec38e5b3597f73992e0b3818119254a03cefead18c343d683e521cc1fac69f01f1b2e7801ef427a2736dc3dff4a62954103e0ee652a435a258234ea3f8a58007f5fb6f8b845146d272014c63c58c8224a39034c15eff9cfb668a703918fa11a4c40d9e27c8459f827495f307b542f0b36ab880219ffff03c230556355db522e245baf0b713db430a2f29b8af79c6b87365d977e392151790336f0d15785a9b11ff0652d945b2904c28c83eace9152ec0d30fdee35ada8b42603180c71151e4992e5a0f3a736577a845d7b59b9c8155a8137860946541dba0b9b03c967464b82290555527d20845f86ddcc46ef03c546840e6a8a5d93db7d32e2ba03b447403c04f6d73ff6c9e8664adea50db8e86d266ce69e7eae131bcf4b2722120353458237e4a656606647870ebb050e8abd2a60ac8f319139b21c115569c7a94303d41e47d615dc65888d9f3969a985fc18fff029960bcc6fdef93518ef2d8dce000309a7a1abf592c3ee421bb3d7cb365c3debba078a673b5b9cea9c049872b637eb05581e03e05b0afca370fab2a485919e6c6a301aaca616d4580e5e32fc3bb678100c014702d52ff2ff86ca03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03f5ab465c72d692bd10dbfdcab906a30df0e2fa54460e401e51ef4fe4b007011bffffffffffffffff0387a0332d63acf94dcbdd4bbff466b344ada46fd70dc30cc74a7a97d3b15fabf303da5d66836c19b5f86ec42188ebda3219ea0bb0f31f4eace875b70a4fea2c9145031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0323021c3d9d84f63705be88476b11b390364c3c4dc4e34914782967f26007011bffffffffffffffff05581e038c1f606e34894790449b12d47164c6be4a971eb5205536261fcfd3f6200c034632896925e7000459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c6343000802003303ddaebefe0b00fe78e515b18711571c4dfb21fbc5fea979748a157fd5dda878b103bd5b5f57d88d6ff2a7aade26fb58a3d0d00c333d83e30204a25eb66a4da8ce3c033e7f19663c48390b5ba2651e72f014337aee2b5ae84427873d7a8f2feedc6ca1032e3ff72e7155f319b8168fe8e9e364a2d9dc7d9a34a8c29d2559218d03ba773803e1660f33fb9122f3d80ba94c9fdac3f7d31d95d7314aff81925b7be83d5a30fe035b8017ce9043d3e9abde61fe19e8846cda2e49764afcc66b24eaedcf70370c5e038ca613f9663b0be90d7685030d8f78588cae03e4a82acb33827f8464762676210361edbd15a5bf44adf90508d1f1adb3041fde3f6a293b8a788568e53159caa2a30385c99ed4b486ee39a6e119900ffdba84b4c9ff5b8cb9a0615b2d66faacb827130336196f326aea6d5b6df9eb51bba865701464e9b6a6f1ee36868d24db93931f50030c7c9adab5ab5d7e2bc322c2e74b51ec23785bc13be547c467d572f08a324c6103da1cc709e3931a4b784a0d421810742b70da98fa71b2725de403e2e9f7317eef030ba0766608e5093575ebbdd3dec8e2686e8f08b078505331963656f5658d039f03d1c4190ff34cc37d6883f3b447127d5bf93723e80b33367f796de018cd20d00100581f02bbea1a80ff62462c5fc5e419a822aa641b74544cdd20aaef94500ab71ddc410100581f033ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff90410100581f032b0155e9cebdb89b5d6877e1c7880758719109943a0b13820d99754b114041010219210000581f02a8ef8d4f983f18af5796101064640d48b52b36c59304f6dc553c49cdba9b410102190d8203ea548c651144eeeeeb3c081926ce185cb81480a798b526d1d783e9c51f31e82403c2c9b6238bb809ff110b99a57ec32f4a4da096db8dff6829de53583bf14ee59d0311aa38816e7edd608abb82dd80f887c07df815fbe6bf14f7a539ea5b286bab2c037deb9c7dd08d8accf69e64c13a209cd14632bbdd82f89d4f99111f1bd46fb4ad036f25a117bca66760740c955eb6c734454462d5b36792f73ca7abd308ea27862b035f4fd2b9a874e0695a05b25e44e9bd1de9be39782cd133a05583557c9fb2488b03e7527743d52fd8eb087794e11d0d4072b43376714f6ee53b0693be61d8e7c20e03b7f93d3c0809434378cc4b9d2db335d50002334bc90de6c41c35b7ca8003a05b03f527771bc20230a7c8e63cbb3159caaa09201bbc3ee31aa6c9f5c18e1c320aa803d8a22eefebbd4845a5913bb35b6f046cd7b6bc237f8fcb4d01a174329137cde3031a3fae322a235970b0f947d31ecc00797e2af5c7bd2bcf80fb2628fe170e952e0219ffff031872da9f302c898f241f05f642c6385b152928594a42fa065678983a645b1c700342b330f907a66b57bd21fa4ab42373e77095445f60a04a8c0185f97cbcabb91103249bcfff8151dc8e7dbd7c4317c4285d5e344083c9ec6563a0a369d324adcee003bf593d8d350550ec12a718e7cd1aa0197e6d09e976165189e9976ee3855e501803b629ab03d6a7da5439d49e89246672b6b2bc76f4f9fd6b1dc487fa561d2637480337c9c484a268eb54690e4935c0c0de41084605f358bf4599cc4ed3b5f6bebc3303722cca2029b328cc1015e3242263cb3f0fe183c9b193388e2777b29763a5286003b99e6ee216f65d82db8bafeb9a25b89c4fe81553627a41a129720e73df2f2201036861e9c729cfde447631364cb3cdf79c38c77c10f5a80c7d127998910d1a16d503f012dc32758fa2a79cd1bac68876147ccfe618e6c4bea49ea4bc92a383ec4cf90219ffff032e9f27f6fb62bea6c5b578dc75e5f52f350836d93b54ec28a96b9ca6ab4a9f09038ff17ade47b20bc1345c458fab47f4b5d95d65ea74fb5b8cee64bf256143487003229b009dc9a265b9edb6d4670bacd4030a9a772cb78424cf5b4f92229af3ce1900581f02c220bd4413c4689dbc87b0c6f63a858e10173bb4a9c5838b3890413077bb410103b4ffac6a13fb48852f9d7922f572f46779baae4c0e46879769a7bf66dc0cb29c00581f0223bc1fa50a9a72abb10684cb2f0f4d0aa8243bf31dee265dc573072aaadf410100581f024104aa7af46f29ba8d5e29d6a80e85d72d27239583387c88951f63bc13b4410100581f024a41e41671b56ccb29d76d84a98a5c9049c1ac0395ef6cedf782f6d06cf8410100581f024e63f0b11a8d19523a9c380004630c16c36b392134c89e61fb3abd5b1311410100581f021a92498bc164438514d4bc74f0ae917aae4be6006eb7f35f374ee762fb0d410100581f02a94dcfb46a123ed3c98d79181c66b6a79743ecebfc2fdee61bb9ea0f19ae54118c7e8d8f7e088018edf0fb9f3bac0ce749068903e7d67b5e5d44378cb734f5c384f6d59eee78589c7788b4dd4b1def8fab1e1c8700581f022a7fe41951d846ab70dd7769f0909c6faabfef749c636a38f88e5c083d84410103b4a3e6315a7095cdac7cc42fbf7c10775808048d5efa2a102e0d8641427152d100581f020ea1fdc0b24bda8d8a8c005dba6a217e469f90ac08b7686a0766f17e0fd041010219ed5f0362e9a0ac1611dcb2e90576fd5e9de778ee02bdda1ca3b1b8d5f9304ffd6bf1c4030c5fb5201a47594c14414987ab7e90149d0b737c78a956a60c381742372b1aa503cfbf426a1f791a22e0bb9affb2ec790d4e9b2bbd02c31daf0f7682f9ad72d18c039d908a556deecdd82b806b376298ba9f6616bc84e9631c766afcc20dddc7e6cb03b0de1d7179e522105b96a0ff37968f573dc606838f04a795b104d934469084ac03e5fe9c92919434ad8c52628c28fae6a64ab1e084d00d89e77cb340102578f82603b9157cecb316ed9ebabf754891d8bb5d2ac77fd183ecdde235deba5c4157bbb40333445b3fafecf980a45a0cb184732d287db4d18e74de8f08986eed9a56f329ea0340c1a925eac79958d978352bea7291047634d9854ed2003f526794302d93797e03269e2855dc818c7e25cfbc37ac488b4a903b150158abd06db672801982333c1b03463920e739dbe5a1752b4a95f0d9f4ec9b8d29146deadedce30dfe4a09b7848c031869633ede8cb922341f9b8fc1a5a437732fce554f5b873cf6667cc74cbcea240058200367459a88ce3c92daffc5e9912f79f9b786a859d34ca275399adab15143e720410103c4d8770afaf314662d1cd02f8bbcbfedf4a7afa1d0ad5c073c0573095b0f4b9b0219ffff0369ebd4749d1388e7ea299ecadfa2555fc13011403f95964b68087fa0333a709d03f9993e35488b1c8ba35430b906f4ff7f56d55b2a7c51f020b5d65c19964fc85e03b08449f208661f615967209ddb1e80a9d1077db1b3ff9b5e11ff64b869be05200300055bc12611215486614d6f2668337e4255356d5176f48f9e3887a7a385ad2f03aaf012fbc4e207bc91c7634ad89f7f32f65e89268554b109833223056692f58000581f0228d9c4ab5c868324c6b04721c2259e6634bdbee28efca9bfde2713c8a8184101038bf4126bf35f149cc53eb526d3286ebe5d847bc4f7581abe0e38d4cb85d9c54403e704165cbcdfeb353b5b67045ac6fdc363037365556a623dd71552e4d605f6de00581f023e56148f9329dfaad45ff87b3bc45ab4ce46d3492aa9035d179d8f3c269c410100581f022c7902a83833a4f007fc3bc3c0c18679a21631113ce42f6144955f5e4301410102199940030e80d824fe22ca2f2802b72b6fbd0a083d6344cfb6e7cecf9d71de9a275e6b0a03709a38165d2849c02e4eba12d44058387709b2f0d52a3c76d53886d8d7e753d003f8bd2d7315f5ba3fe431ff901c76735e25bcad1b011f4a258f20e433d1ed499b032edfae8abef0263219ff0a8ab7008164a62a5c14aaebbefef2da81b688ab885403f255ddb14b97f681cf653e8350546609c3dcb5bbef75172ad6a141aaafdf38140342b45d0fa8811a7b455d502a5ba74165efe90223c45f6b84265080527bddc08303b6cdfbaba287c6182b05d1f82d037e7a5d8b837e07b225d822b3543d460737c10307a9f862903a030d681593ffe1b173d42fbfa7f4ba1c53e774c90b013187f36903c9ce2af6910f75ff1030ff617559d33e558c2bd91941f29735c74a944bff6e1203b19f04d48750378c4d2877357da2672c715f786be3e54ddbecef6a58882fcb0d03fd39d162fd95d6451ff082c92bb939e82c0b52eee3a4aa217232067194db9bb903957559ada51b2f5d43a1a67e02edb77b8fc31702d59d0a5e59a268a6e09b8aa60300b138045ee8e2d5abdfac3bb65c27a50fc8fd367ceb3f6f5b55b6c21ab34a07037ebe8074a249687d13fd95d36bf3a7f9747bc33e3829f6c125a2c253593c7a630219ffff034b7b09cd0c9ecade9d24cff6a9fb85b6660414f93c3aa0aa0caf310a88fa647c0364e1931ec3632fa373fba743dc93c324268b15be26db248f86656f6b8b1d782a03bb600cf7ad036b5b9211262e8a19e7c3d8b5fdeb3f73954a41474ed4f7128899037bb958c4bfa1799b0be2c162a1ed598881ae040db2ce77c02bd713b6e034d009031deabc5e324be71a81cfc900b4b5958023460ec23e061db2d143c6324611e56a03745de05513230639a85c8b7e7001f1aae9860a1f063b34313fc42481c8379f5e03c9ce38b1723a904fb38730018e761a8daaa3412dd9fc91540bd489720d723ab1031c792a690904574710066867d9d9c3f1a8490ca1a91a30a323fa58f03ec6c7d30219ffff03c277805d368fd4fcb3c55aaa6f16f38e887d0914bb83cf234f2dbe83a15abf7a03d7b9253f2bec085eb5305c4dd9f5e7e5a4ab5e72e4898b7c40b8104bdd5054d703454dae101a6c332099c1c64d29c476eaf6378efdd74d45f3714beb61b99623cc034085e4405329b28c462cf2bceb6d178151a30002d5ab62a8edf5b8cedd6210c60358c790e6f2b0507b7c3763700cddada8fc423f659050da411701e387abef425a032bd5d4b9901f797e639c49ea321cd4106111c1383c5894dff2b3d6d0e4742f0c035cfececa23bbe4c7e8feac8eca2cd196bb557bc5020b2f2e66e5fcf2e6ecaa8803774db02bef358e964295a548ed610622a53df8c3f4864176f6f1afb3457e8180036684cb64b1292b902f4187befb0c40a4437e4f0ac040027bcb36325713fff75d03133a23a0e6bfdfb8167f98906c36c0b38d8baebb3743edb70fb872eb9fed75980378db2119863ee68c123f6957feb839f75180df78e02f98109bcecaa9de1ff809033f003a648d1dd6bbfa519cde959b7ea620557acefa9c21e1c3016a6ae440119b032c249fd87bfe3f5ac6b0da4a28c08900fd35ed85770a8905dc320f1d243269ec0312c3d7084741591ad9a168337a12f7309ceec46c77b57165acd8e9265be5ed7503e7304421473fd66a0117f0bc9fceda4c56dbec8f61de179a923dc96cc5d06aaf035b988daa1c25a72e6426f5cb964841330ed36f2f12374b59c3988dce8dbda66000581f02a35d2822d6ebce8cce3c0fe28b2c63016f854fb307965e6ee7636f8f5248410100581f02f3fc8c997ebbd8ed19a59b32a32957cb490289511cd8923c26bb85afdcad410100581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810545965851f21dae82ea7c62f87fb7c57172e9f2add00581f0397315cd541fcf1ff3d78c38e8c42415bbf9c41478b4f6eaa0d4a51238520410102030219c20203a555c846e2322fffee4069e8749ec60d51dbb946fbe3f9f77a64d5cd8a0ddf6703a95c5632ec47cb2e203c54f3b5dfa5e7c495575eb636628a202a740cc3e1b7550219ffff03853740e8caf587bf49c75c894cbb27e6cd34254c399712a966cbe581454e67b203db5f6a69bdd4f2c347a9c21316f842ef2136b5d209d66f053e92c95938ac771b032c2a45b4a747fa267f2ea18ccd43b4668af0a60350930c985e7f06be86a6397e039567eb56ce50133031fa4b27442782d48e2b33ee2bc9228e07ef87b2e8dd1a2703682158e82d108d43fc02a3530d38b72a4c84569e4aea0c966ff4ccfa3779eee80320a1bb2619894412f6cff2f01b11abe5416dc62d3b7a691c8fc0adc8ff6cf3850323b056170a8a7d89964f885459f3c4c1c0c0cd0f4a09730ec93a26e581c0f4ae0328535e52c96210a455cf6af1a6ee21710e8ce64482dab092e63971402b303ba4039b3e1741292efcb52077b9c1ac67d120462d2c5efc5145d7cf6b133719ed544d030aa891be8272c1dbcca9418429be3bd760dbe134119b46c9cc24cb0658f3ed0c03e0f8a488f1b318085446ce14584ed8f267c51ffd143f4487a2d2b48bc4fd455c0395b02ebf703af18d56466a5529e847d6768a73ae6d5f269cae6a8f74cc26966803593d95fe569587c669b1b4c1371f5949f4a232ba45405623dd608e61e1e17c7c0219ffff03ffcc3ea7ed645c185083e268a250eed05181b85f6dca736a665451b45daf9d90036c4b43a7afad50254b6139c5baed204e22b22a412c031c51cf1da72ab366a6870315971edd4d4e2f0bceeac247af0f1147402e86954ba8a722f34f8e7b5c63f12203494961568bf593627457fdcc68057043d7718ad9044667ec692c07b4a83c79b503f64b280ec3f4a7e6b364a1e2be7364713d3d3a3155a3bc7d4d8e2c9311df0b3f032e38f4f8f110efbc06f588731f0f8ec11439110cb7314e9e4903abec60ed7c6703bdc65b8c3f90486ef04e3df1847e9e878d97726bc01c1cf15cde5c96fb18dcaf030f84b8261bb727ce0bc40ccf6685199bf95b406fb8989a5d56e6ff2286b68bab03bbc9c76b900657c2d05f8cf8cf35867d215c7d781906c8910400a6417cc9c337032143e23c1b395a9ebac164271ac75b3f7d103bf70842b04a0950fee6adf5aaf6032bc59992847f2a090ec4cdbed8cdc56d5447ddc0651a09043aa426ddf730a794036e69d274a605c6c2b9ce64b38736c96fba548713ad7de53b49e0f5944627cce303ef8cfc40467617adc0058842ea440579d9abe3e34e0c6737938cc893be7e3e060331c7eeb1e825038d47b8e43f63399e874350ca8b602ef5855de3286af5a6209303075b03fb431b69d934d6e1a4171ce671f21d57dd4df50902d231ace192fd044403f32985f47832261c4e90afe5c340da008bfb0a3efadd61c7d00579e49488f2a40368a876a338c5300f3cb0bc89ead5fd43cc0065096684e0a8d74b78943ca6c6ee00581f02c5057af9fd73202e990174cd034b9eca3f3a50c4857358da08e7f8a543e0410100581f02f142310c6b64dbddab1b444d5cccc7a8026557613d7735379c847658e5db410100581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d545ba073f65c751f419bf880d57cf51289cbdb55fe00581f021f45ba0a772e2a25be32fe61e41ecbb0e9108da03103d3e1328534b65293410100581f02d9a387fa0f34aec46b29c621d5af5c67839c29d8960ef88403c4c744bcc3410100581f021825aa97b5f592ce6e50beb751bea52b4b271663df3959fc9a90a61643ba4101032336c955e959470624c843c4db2c964a8045f81aaeda6032d180f295764d1520021922c7033725e49e93afa738e915ec3905353c9cc0f5e4137de2a15fa9fd510ece0f47ff038e4a71c01e4c4f790335522f3ffb25d968c79aab5264ab9aad7df4741561df2403b91119ba583a0f2e1e38164679c6dff05005d1124a60a45b7017f40b04d5dfa2032f15de7973a65ef002c2b61694bc3ee8b9acdc1096797b73ead0be9f599550cd0219ffff03c2cd203787148e70ab1744bbdf06686343fd66f919e8bd6c189dfe1714f64c0d03b51fbf76dfef2de9430fe771f12e78c67efc4a970342381fae19457d5e3769aa031ffa4d8cd1e6e345992d6d21770b5291e9bf36fd3be42594bd1a9aa14d7a200003e56949915cdcdc607d968a6dc7fb91c434b98c47fb8bbd1f5ba7785a2d08eb53030831abfbbaac8e9124a8fb0ed3b4b85e5ef86bc5da3bb328de3fe6dfc31d9143034cf91029c825c3a076a508c0721eb5abea24dd5d1925a63884d8f75514beef270333028c9c40b786c492a2e06bd8aa38a8c0bca06afc5ccd12a17f74010643250503d6bce1621921b62e64070c7e927a21743992681eb124d03342b43624f93f2da2033e68c9110a154ea88d98fc00005d1382771120f68a06ea178c7f2c1df5f2ffac0305a50d5f4df0100690987c391eee7c95ad77c1a6d120fd3f50df9cdf07d46c9c0219ffff0312a583d46e0246c3a68618ea156fffac69610eace64b9427c390998e88f7483803e324d74ec2600d89f467399e171ac95dad73270a3d31407a4147163b074a40eb03761c3959adf3d5dc01720ca73641475267cb788246f189f1da7fa53edeb1139c03465368f94e90085cf482e75de28562dda9d6f973705625c070aebd625f2c6e9403363d28c2012ce90a59eb794e8c16f0483fa30256e5b3b6f1bb27ea68f0c2945503b836b61ddd86513697b7bc3751ced299a5948a334ed1629540078a44eb8185e803d221cd7f6c0b405c54887d2d88407381d136731bf9be1e17d093cbacb0981fb103ec54599e18ca09ccbcaedd65fce7e1a0206c27399e77a4d483d39a8a307eaf3b0363fed079a4d82647c5830c42444cc6faef7f35d0a50e7cfdcacbeaa80d1fd6a5030f72ea4a742ab9dc2403e0bfa9ca5c7561d5d5c6ea16b05a7e5cba4c29fd054003c7269167ef624b7a53879402eec947260db3465edc3b6cd37820f04c8e03f6b40326e88a84a4ab49597c5b9511eeba95b4f560cc678ce15dddde8a66871e1f848a037c2b8edb220f9af5c2782f84515da1c2bb04e2d254fc1806298cf4b6e12bb02f00581f02f9a7e0f459d928fc3f0650be5528949163f8e77d886c2ecc9d100d0871bf410100581f028da0b008096158097afd1f3210d8f3c8962bb9ef804d141cfe62b2d8c8d5410103972091f384b631751c6bc504159569fd7939ba7b323108e918b0312752ddf48a00581f022ec95177ef1b3b2c1a2ee55a9fd5afab5e3052ff89f417b2e175b18ef18a410100581f023709bbb95518a1ccfb65f469e74c42e112ba05aab0a8fa7e8142e50e9c79410100581f026b6739b959c812bb6682115d135d733a7cc751317f51c578207c40ddedca41010219af020358bfc5a7c7c068db29d392a594e7ab5385c2f27bdcdf0744d6a9529b372bca99036e0f8381a9b9a3816873cf7117be0837ae1f33ee50ffad7bf4e4ca0069a6c2e203e44b25468190521d62d7f6bde297dfa61268c83b9901dd80950ff3e27cefe68003718150b23e9dd01ce48485c442446c0f7c9d5da779702d110be8d2334418559203ea83899274187b47944f12f2b8b6b049eefe488a564bbfe460105a405d864cbe0219ffff03915f76db8ac980cf7c0f762249a5600020bc59edf054be9c8b651dd2dca3803b039a04d6a5e96a27207023fa33a68b8984f6eb5e9d7d9abfeb84f10885629c702d0351e923ddcfe328947b5ef83deeddc9ba75d6148668a5d8e2e0de7ef49ab833500330378d4c26efe9224199e2d7c7ce5bc3ba2c449d388ec19aead1eb4af9ecc87f03cc13ecfb0b92514dd7c594d6dcbc6473db8cac72dfda814bae70bc879390749a0356c3130956effc2ebbfa4f0ae6117872fd255fb7a33b497df3acab8c0f7ffa8103eea5798d22734474fdcf6b23a968d81939929d0197eb6a856c772fed49b64a3e0367ec4cb8abc8d21576f73c2eaa304f7af7bf2f74733c81ba0c949f9a232ead80033d378aad3475e352379dfd6cf4e9988441973d0eaafcb56c7cb0cc5bccb6afdc00581f02ee861e59d504da07d6edd5354e3e83bac514fc1eb4b4eda5aeb02e53b31f410100581f02510c5acb10bf4c9ae158fda6c12b07e6938e81eb5c6cd7d2b2077886badf410100581f027edf8b83e4ed98b41a1d4fb33692f689896aba87a366099985c1f5428a584101032b09c364f5059200f9f00bda6e60b2e3a26f7aa6460d4c134231ea912db4739f03f00c8e5c2ca373f1d4046587efbcd28db7c2144a230837e048e144ac57c68c680219a89003d3d1340964e5aaca028339dca8f87759226f5543a93e0f925f3b6261f0c0c786036f6e8ed49ac2b28a8bc95f191c6ff94fe00337bd8be0a22e0e67056c33f4d2c7035553673680fa38114db985d3474b00c005c44c68661618d0570fbab4affc50a0034c7b430bb0588b28fd6868eb190a6b4e4c026b9d233b01c3d4216c01106b46d003eee47a4f97e7c8bb1b7b82201b79980a2de1f746bb0d53ef8ee18258bb0431c4034aaebd055016599fe6aedb7c5e528d2319e6a522480ed079d25b67397ff5970d0219ffff03995693c82e492023998f75f2318a3631489e03ea80bdb75027787de018d329ce03c26455f3e1fec858eee26d8562f0a8113bab9350781ae12e127f30a6d5896711034c4c8cdd02460d42c9df414f2477e4e33af6526d004682e872232227342e37a5038444bb6fc264b9bcf8cfc438e2237ac3f53db7bbfb485c2e990bdb0377dad987033f77dec92965ebb9a849b6bc517994e082b7668dbb0c308c420e5274f2f7e0850385f7810db2a22887c5730f7a8a09c48595eaa637c13bf2661f442b143b0b1aeb031a22c518b162ff5612acc24fed2fa729028dc8394c6e563ac93d2dcf10a2de98033f3e058fb263d99cbd4feb3f4c004466e4fe093d4b48988506bb7d227e5db6ad0371b4e0fe50b1eb81d804bc409a1a57fb8767adcb22eab28a3d0f70293249c67203621551f004e7cbde5430555d03e0e5d64255ea5133e19a889dc504cdb46524f3036f45a1c5a0ad24d67c4581fd370c46026d324a9b48ac5f65130d50be0ab6d4da0339af900413d5b9f9f1c03b55610e4650b229184621af73b46509c2dfb9e2959b0219ffff0389a8edcb43a058b2575b9b2054294f464d8c077a41c3a82387df59b5a3ad44da03ff43bb280f067e6b66653f52e1eb7c1a99ce2c38652bb6922f85feecd543947f033711537d10f03aa6ef7ad9d442da775e2ff363453c1de7a4ce97c8be9e1836b603d63ed05fa5b7fc9bf59161e454d055e0b30f2e98b43cff7d603ff3482c357217035ffacf82e9386eac07699fd1259e8e0f535f5648efb1429ea61a23c675e143db0390959cafdd2841591b9499b2956bc87ccef12e4efa6742edb92c3c389c41beeb03aa4bb2c98a41a29c88995add03e901789c3579fc9fb9ca9007a61e519895c16703af29e126c9fa9930910b732e67866c459c18f34a42272483a9cc4aed8c7b05530305d7b79dcec1e16fa20a58ae128c42c3b4d66a8bd44018f70b7a92e7237c21d7037af130b55238f5a05ed31a3af683e5219803789bd9e8977d51ec34ac789f04a103b6ad80a91e10d2909a92574ab4663d5d119a5133caf35d45b323ae3949024b710395ff1acd10396d5e0e0e5bc469d06a5b3fc60d915638312d053996b8bc99c5e4031ca3665fb0a8db5f1941523b0aa91c6c048877663dbd964fd49b994f1be80a3403d0ae0f1d7d036c9089dd08af371ffb3b9af3baf69cf9cf399d7a245b52d673de039e8fc49ffb1514b24921e2db0fe40175ee367a3072ae1e65e3ec4a38fb79448e0358e286028708cf6b76ff885af89aecae00c1a49deb722a38b6cb588db0bc4c900351f754a63eb6c1045badb6661b02707f18a3ce512964ba97b6e7c69890ec96b8038ef436f3115a7652c450f5a54494cdf6dd1b2d3b806ae41dcd6ae7b2c4559100034b115bf6fb3f55b39cb98c2252a047f4d5c51c9d003f06837c82de505e8f9ca2032d782fb11908abab61d0eb559bc4845df60e6c71692e958c144c77b32e0923cb036ca0cc813cd257cca2efd64f71f20ca72e88bcee429094ba13b0ff20b42d733900581f028723f4e33f2e1b5ec910da05d47c52ed3361b8d2a7bb5d366500a4a6dc35410103f61a32ee694bf71271185c420fd9903ebaa90111aa9bc9dcb06ac3dc1612783003db79bbe18125faab0634c8d17f5a226620029f686267148b4eef8df5569f595300581f02af15ce9cec3c1041cb6dae425f8aaaebd94d386c549076180f4fe84f0b80410100581f02cb7b8c657dd58b19de93895f91a457e7ad8abac3f39e64d8a6b60c420f714101034c4150491cf546d3ef94b1d595d44da46d9a463086b04a9101a08d9ca41b4c1000581f02c622f448d8695028570d8186873bdecb9c3d5c1b83717d9eeb026daaa4b4410100581f02836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb543b3ae790df4f312e745d270119c6052904fb67900219774a0300e1a26d9335cb7ec05b6b95e4ab10d9c31f9dc339711655774b38913d78678203ae335c45612954e768dfc1f46b1f499480eafd863cae22e6387f7e7805ab2665038405d240b3eba23acefc39d2f05a7f23a30b72ec6274f7aa2d2634ba75913cda0219ffff03ad44031eb911c2e78943e41f96f21516f6e28dca8fbf855cb4d4e87bd1696e1d03a0ead0a6394d1bff0704c4771632213403bff450e3823c438ec64088eae627da0394afb0c7161ed866a3e77ffca1cccb9437d2c96cb1c66a22c70c4b34e0f08d7903b96231e57502df11617a682d719876d6439090271e153c03f11f881cb4a7e2f003a310a9e17f17d83eb7a20e84326a16d7b761b03f8054dd2271e6360d2a46f4be032ecd8df3acc1f129f92ea4895da467ad57c29e1d2fd2ed70e4ebcb751e0968e60366545a70c1ba7625c72ac5976924fac4289094525277e4620d3c94945ab3a5d103ee4e3c7db9425cba9e5b1036879af2e2659f7cb6a8512d4c7070b269bbbf3f910219ffff037c95f5090027d9987bb43d217e7b36910baa76ccbe73489b00188ce3a43467fa0368972bb25ea3ccca6f2a083da88d3d2e3208915cafbbda42aba1c85dae8c987f0397f05dc195de86628b9e6aac4ed5894c04737beb0c4cb31cf56e04a1ddc12564037df846d0f5ac8659cb149670f9635c17addd61ba99f47af47dd20592b919466703fb047cccb34c3097ad9d90f31097a0c313188b35315d80f05df11032978027be030f57ec44f389279abddd69050e19a139a1b6764ae9506f2463b18aaf10221e12033e124438711eb47d21ae40b3d5e0484a2ab90fb03287730ad77dfa7490911fd4037cf52f9dbd6a444f78e03e45af2e1cd2bc318225ca60b37a4fd4fe0f071ca503038d8b17d3cdac469b780bb66ec78711096991f01ba93ee8acb1719e8e47dcc832030947d4f1ca7c85e97d54a7a94696b626403818760d8c0a815e33b67d2440461c03d089ba7430dd27088933fc09878ad17e0f3d44ff11b165e7e74fa04ebd371a590320e1c36054ba4a78372d5c92fd6b04574983be1a597c0e95da310341ea8707b803e00bbaa4fa1bb3b5fddc1140d2270c2020c0433265f6531d0f21cf8854275c6003c6750fdfb6f7cc6af5bf43f11455ce00c6314de1a6e639433928b88878da172f037fcbe88a3fb19e5514242d28f25e45efa9bdd2231c6d2c422d33c8913c892e860366b77b14bf62faa0ba071e582f4728b8947fb9143de81a3b652a6cefa7591d5200581f0215ff0aa428acdabe1f9bf977ca042b3ec7b9669d864945ef5d2be6c9490e410100581f02c2a03dafac82306093a1e9d8a5c37d7a2b501cc3b3532663f1d34c418a7a410100581f02f3cf47260072802efb76ca1cfc366533ed58f46617cfff8e0ffa690d9fa1410100581f02caf60453cb18db5d7f14d6570a31c03be5cd395e757f5d993ff33e83cf60410100581f0299d054740af45006722d20eb69efaa9c924ef5a92305d27ab1b6021b762a41010379fec76bb3dc89bfa51d303991b812fee3f70cdda366bcfe2dc817786b1795b90367e25902a24490fe7af306ab3cc03cecf8774458a04685e7f05048d74ae6477100581f03904aacb6d6b8b21a746915d817202015cdf805b5db642d51e246b52ea790410100581f03a4bff110f2a11ecdc8c62c2c4421a40b02d4495101cb53774c4dcea8edf04101021920020219f48603e1bacecf49c05915d9a540b75b75b3983afe704e82acb6ef0ffbad495de91e9203fef0a73b726ec8ac6b56b22344c4579d4187d5073b6e83eee0be33b733ac555e030597e09e1d4e279bab86a077776df039d059d03607c7038d60f28aed72531ef603f640cd3bb2824cfe1cd607b4c6064050895e2e322561eb88b0962e9f8538765903dae05377dc30cd21544f10654b6eb6c095b34de0e01cfb8a3debe24f90b1f24d037c1df1571557c0e14a76ff0b34b5b20f15a2090537ddf9d4274cb05350ae14bc03c6d2e03ec6a08368c3c5c4e59e3350d233c3d84d2402a91a4d77d046be71cd5203b2d8b11000ef8a6ce5b23893ac5ada606154e0bb07509e9f3a912fe50c86781703e885eb4b8d815450b8f67dd7e01a31a9f7713f1e6eeeeea4f407cc835c6207630219ffff0328c699af68b3c6f5654c531bc15a895bac41959fc0e5d004b6a5c84742c132b303371d0f931bf92110699426fd6ba512567bb96f4d2de91e40606a931160f61aff038198ef45f0577c3c022931fc20557b1bb76e0b90e8e0e753cbfbfb1a872cd1f003901b9e8c3c8236c90edcc566c8f12e2356ba073e50cd780435d588727b676f9e03cd7e3cf03d3f9bd992fc76e9d17b3793b186fd1593a61ebe520f0c1a5a13942b032abf836d12bf4a7e3da6c8f7f7d745753e3bf93c6d4002380f4c6a375b5e9a900219ffff0357fee6a01863a8734c8130138970de6b04cbd183ed99828db57b9b13afce75a703470e51725242479834c12e1f8a604c92f59fc8e679ffcc9721cf72bf80f6466d0320acb8007f4e3ab6d37d0a7cb581463bd5940f57c548944d3c854b88fe19c4680352431a2b990d43386eff1965eceef9fa1cab6b40dc4f13c19fb548c5ad447518034f2cd31a0e7e1371337ac358cff7e5bfe1fd2afbd31691a23799e71a87d5c7e70303133741664e93804b0a27f12fd2a5d497d915fc99e4bb11c9ab658d1cb2c61503b5ea08953cfb9af8dada603d909105144c14cd24c9dc4d127854534a5259aec303d743e22b9f0cede6f1d807fc2a88c01907a7f39f657183e20840a7c4f77fed0203c10a6d5534a190cbcdc21eba54c4b27558f26595771b1c7edb6fc83d44179a9a00581f022d6d909f7bfb4c723d4b51ead3abf2ce7bb9ddccd9cf60c38ee998fbed1c410100581f02a4353893f6392391cdeadb02befbce5707eca40b459be3b4b59b684e6522410100581f02e8d47731826261cc71b681ea6f98b78efdc2c05789f11156b49952de4a17410100581f02761ad192f5c62602c22d92d97816f413e238a76bc5700aa6f0f9ba40ae9d410100581f03dc167aa4456fce0c132899d75f2abeeec307e3837aea38f51485dcaf5730410100581f031c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a054a28062bd708ce49e9311d6293def7df63f2b0816021922000219122a038a3bc0006497b1d75d8cf6f9f852ee5990885915ed12fb3e64d72c4f23d5ded403f8bc5b7b363b03a9910449c9d56a56cf7e38de63aee71468164755983875fa3b0373c7b49f902a2e23939c408197af28c8976266b51859fc31945ee353deff534203a8e839064c0e0ffeaad63aebe70f9496e6c5be73e116e3e5b2aaf83b144aacd00336ff3f59b78d33dd4db0e9dcb7976f0d097675081e69f523d0bcdacb9c9c1d3703898d09d77ae7d6f09dcc604c8ce285157dc4530f87e313042b4d0a14b2c9b5fa03ff520cc5510c64d2bf14ea772c4e1287495d57daaef51142186eb29c8dd018210358147a5e42fbc70ca88f3db02550db16a27b472250fac29f47ea910b8c0c98ac03f7122074a3516f18f0f216b86c4f88edbf5a62c8b3ec3878546d888489b904700219ffff03bb1721c3731b862d1997cb83e9f738f3ca0f894783dc8f63f044f47a3926e5f20332e6aec49ace68c7c8ed2f9a53a2b75189bccc906a006de6268672eef81d7c2803f2dca0affe53808660cdd9e2fc1e22beee92cdceab81a3e9fbfd22bfa4687b3f0393f1d167a98f66828295f477237c0e8c98bbeb59e3dd8bcc711b7117058bd9f7032b0482c3569e30b9deefbb9eac383c41de6f07a7e4b208b4a0a6b7dac8d05bac0351728dfb6efcb94296b5888006d7dcfeeac8d56882a5b399a29a7b023809a86a030567cf9ba3163ccdddbbbeefbc5a83a4b8a21aa15b8563467d9563a765dcccae03f2148b465702bd90f7e70f891cc31d8ef054ac91fbcfece87f50fad15bb1f45d038288fa2c58beb263833ede6034e73bde7eca1ab569cd75cf8be66de7eb96df420339d1b220451eefac86302766a1efdd4dcaafc437176e9f69ff327de4aadb64b903ee259517425220d913ae352481e6376f272af5dda97284190a01fe71a744851303f80eb1d80d5481d528892e1814f65df87e3f4e1db6c71042d8d1beb27c02c47d0219ffff031e7e82bb807c6e36715f6af9b29529cd5efbcf7d4865afc89e61d9b92ea2efd803687fbf0f1315b10d851ad93d34fcfe394d9826853000dce83aa01459d60cdc030219ffff05581e032689feabc3ef0f6bfd96a79947356a9f15fb8299c070ce3292c49208c00f01473a5d1717311eb419085d021942be032486fe669dd596c6a71ed67f03e5e8f33757777bc99f39794f402dbd84e6b7f903aa50547e98daecaa10059757d9dfb5ffbd2cee354efacc5d06ef820111b9a7d4030dec0e1d3697594458686bd5c2aea488bf942f028efdbf04ee7f30b2387881a903fb217564f20407d2408e522de0818c49554b63fc57665f21ed16dfafb77b49c403855928f28f8b549633ccd053699666ebcfc7f017f56fe5cd728300a85c1bd14903d7735a5ee7fd9c0c603864719742df439ffbaedda5f6c4e59bf6a596d9fd22a10336b9fd44832d6821aa8fa8c9d95796c9e628792d23f03a4efb3f692d024bd88a03212825f4d70637ab7e572ff458e1e6994ff16c4d56a3de9dfece42b6c872c49b0315e816c0786f002aec0982d1ba70da030ac3db0e7f18719d3f2aca969a99024a0397c733ee71fd6e45db51091ee07f6e09e5e17fdace2c6edf19d1f177d26484e903aa7407795542c1de472005b2523e74ddec2e5e0d4326069126885d2abf7d43b703655d1b9137e17708319b49d659f5c960bd8246b88402cfc2b2a67bd87758c72d03e9524083968bf72ff6fb857f1fbe57a8a4fd18a76a78050b590cc276f929380403e0aeba4f93bfe769cdcbc9ea01c691f331c8db52b6b2153245aca0944ea02f98036e79b991052f96037b52362b902775557f911cd4432db6f58e7c210b23d5f8e30219ffff037f8a65a0c3cf255c06ac29a187c13ac25c345d1a05618c358c4e1d0927b86e5403b0dda9037fd5f840e97ae2d66e9a6396f8fbf4ba508e2dcb6b1c7f032d9ace7a03d9169776feb6ce2e4c90c6216c79be3c1fd7f91fb9b89f90e4fca29915f6bf2f031855b54fad1ecc68cea18e2bc7229bb22ebe7156d022840372a6702504f4a337030ace3cae3943ac4434b06dc8fad22e43c753168a299d651dcfe2ba6adfd779c1037183d1cad2ff6c7557a1c2da0bcf8ff7b2551e5bc7010e065121c0f290613cd403d1caceecd91d9e67494b0db4cc6ceaa6b4efb489036f2bc0d63084f0637717600332d27836e1040b9c19a601d2effdaeae57fe1897538aee2add2029323d4a80d2032e5c4c8cabfd1b943095c903e445e5853d65dc2ab697af14ea24f4ed1d26575a03520da94818f56a423f1ae7ce1299194eb71a6810798629bb8f9bb3818ecdddda0383c64d82fc05eefd738790836bb793be35305c3160cb871ae240e1cb2428fa7003c53a5c72f9c3073c4cf6263deeb455d99edcb089a33906bffd7baa22c134a9d603c0c87c9126b2fe65cf95cda481ff171380df0060b9bfa8dc99474b7db24061ae03650802d82aceb224ab95b205f5d92e37a93fbd6b5c10b97359ca4a13ba5e48c7033e02d1aa3eca70737d6b194ac23a4514c22bf06c7b21374fccc76fc1cbb8de4d0219ffff03e1d56b14b9cc74739a574186f2396ff829af7cae4ec32cb1572f6f8816a3cbab03090fca7c38fb5c4677573982b53bddaaf5ade2cc099bd6c47ea9d090ec8e56df03379af6b170c1c27170d1ca93e970eaf00993616f8554e78e33e94b49c9e5be45033f78071998716ded5cd7cf08d21c01b2afca8dc898fe5b04104fddbf8d30575a03d0da129aafa65a10e56550d7ffd2e2f360590aa04c7dc0aee42f8f498121ea2b031f093ffa373a39b9eaefac5a7c4374a37ff3328dec27312a7f60aa5414b4dff903b6351caa1782a4714eae0ce2b98ac859bc30169fe8ec628e4f112779346f5cba03b780ef21235ba37aff134e98db460993aa3234ba03798514f8df9e08e8e607720219ffff031370b4b5cb5b427492b82059c570b1b287ac5d25803b950b1fb4f7a11fd0dd6b034316199e5ef92f28299631c332670375b192c1cf9fcb0768553acbbe4ba1c13303b51a0de81f5772276af3d77e81392df4296da6a945199ea143f7835bda3249030219ffff037e51394e167de9754ae6d6171ab7ad05baead6ff41c0a4df40d37211d63e620f03d197e478dd04c858101e1fbc4ea0cd126d35a47033654cd90e8a9bc0b757f89c038a04c25be38262691a7b2183b34e0d5da3d1af140919d549983892eaa586c59503d29e96b95d730bc7a1d8569048f80a99489a81ca24609e92bf867baa4cfaead803793544c23dda11701148c56d8accd0b7425833de8e49621a88eaf13970a83b880303ce8b86f1f4602686fbc0e848ada8f57f31693cacec9103ec7c8b127a1ed00203313f91c34154cbb9bfccfcd06256a8925759e879c4e962b900fe9acc36dc89d003bad56fd18819283831499b0ecd3d17d72ae280b652c80c883b26423e5e6753f20301937a2e0a0c6cee79b960f5814186d095175969072b12af971eb01371c40c1403358a69d7679e67d4b0bba5c0a8dc88c9e88fd335880c06e0692dba928b008703034510a6007555a6273ee91f5425dd7d645d8e21570b9c284b44d772655cd81f3d03bf1496130d1aebefde1fe7720a436ea6805dbc339b3f8744ee31584b498da14f0391b100debf0a37d63ed4c213595e924b424e80d24ce5a5738e1c93073e8a832d03aad1bc04d3a703af0f7e07edc22b18a70925814e0134a40980f80320ff1015e503a07b5b2cfc514ced5b7337408a794e6ba1de52b13980105a0839b28a8bb68d2d038455c886c46a26f127505110497d4acd2ec7243dc73ab14027f959e726f6b67e03b90c7dc89b7fc9df4a712382702a29d27b2699fd885f480e3a6d8e31337de3d503adf45cf05242641138e6376037ca2436db6907c4fe46917a6da8416627a1aed303375b880f2269320b3a5744112114ff5822b4c208e2bf24181a2f9ea26fb4012c0386962e2054168f87074c72dbe37a0dcfcb17d91e61622120b681cdda4419987303f2f9e2910a7d4584e78fe518e3b7d703f7c4172ee3244cf0cdbb8bbaaed1c05703562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03a9921dd7ba48284959ea0e8c073ca4bf8afb8b295287bdc1e6d7c2eca007011bffffffffffffffff05581e03b3353a39ed29f6ec5cdc561ea61c314c27f07b170319fbbea9267097f00402034041ad0cd0453e3e9326fa195afb69ee5a57ea10a16e395e5e9a0d9b26bf63d405581e033e7841128327b27d81f71904feb38ad03506da416fa8c01d89a8c02f600c0147022091c2706d6003fe93ea5ab4243ce85a6d02ea2d3e3e1b153d7f29081b5f81b8a7b1446d7b834705581e03954263c5b558bfe243b6b516a036541ea00da84d2a7bec8bfbfe80d4400c024713d2fafdd8c000034c3804fbb7e16ba06a75675dc418cdd1adc77938a2137577c5ad3b52806add0601410405581e03a94899760eba1635305a658e8245802ef4a86c69baf7a1cad2b0301b000c01470488e061b2c40005581d025804ef62d74b83a21bf3aca745464fd9443ce6568de2ee95b2ebca7f040105581d02512b09a8fdb4fff189f151905dcc66795da89ce22858a9982fc8ea1e0c0548030447847835cb680219104005581e03a5758f2c18d2644e9032b4edc67f1bbd3b4d5c55984f361350fca4c3c004030219ad5b030a3957a1051aea606d043066b43041b2c9e946823f3b190716717847ef9bb9b40307da3e638e9ef434546788d12e096a10136abe83716e429f5a96ad9c9434070c03b8eb7f564ba70a19536cdce1d37074812126719e0174979daea0a738fec08f6c03ee80ad79c05285f5f084d86f129b57c5edebd4acf31412585c406163e09a4b4403da665539d0a5067740c8c8be69a0c46efbe1504cb7ec949918026a0b361fe15c031d5450f36e9086e3b56fe23b686e03a591825bafc829faa02a92d2613f5c3bbf0354e5ad02bf9b9a8e448ba4e6e80688183ffed3b89600fe240d2075fc1f34ade303c0b2764445ed2e0b5f230d277854213b9a7864c28ae16bd96879372c38e83a77031e5cfef6d9230e736144651bfa46a2067e914235f43053de08cd3bae61f77e4903dce26d59293655f38d35d5b84a49b351260cbfc32073efddcdae39f626ce0d3e03a23462d992b1edd0d37feafca5e9722799c1482cac5a3387a5f13145f06aee04035120695195d7ba3ff86ae4186c1ab1ee3a05039ebb38dda24657417ee5c5696f0219ffff0341711b6680b3a78479dbd74d271b4a5d742591d8942f8ebb95f8c5be87a248b203ae20f611cfa76c759c73f06442aad88857519d48d07dfc54a090568c998ac23803e8cad8c084cd28eb51458ad456904825c0a436bfff6a9dec1ac14254a1ae7fcb03368a54427b111d333fefc6605e9e5ab03d2bdf1d754c30dceb9a46e13ee2565e03bc7024b6bac1d54916565e33f1f558b6af6542e6b4f1e820e9b10be30131f861032e266fd388b838f694b7a253a0dfbfa9f1f67e00114b4c55d7faf66d0dfb8215038f23b197d4652472096e6d6f65c41e5265d73a9aca92a077c1c068d26300f729038c0e292da4c44d041a83e196f9c79f925e8b31c0c5f68ebe73d1f0eb3f58a0ae032a79e8d004ad522a1509ac155bb5686aa76fb5ddcb32894ca37f6d8a979514e1038c47d18d0643bed81578ad3ff5d1ac74a05d0f75351e280cd1c26220cc506a8e0219ffff033cd2a0a6481c282591af4de04d9341c636ab78682febac0a0580d68b7323286e03c46871e776aaf1cd6e0eefe5146f4a0a04fa09686f06a4d5e3a11e35acbe5b930219ffff0358b89768cb2cf61bd1c63c9df04d99d5d3576ccc7409436eac38b7c607deb9dd03997e00a1144851a3c3e7a6f9fe1616bb7276f3a054749503a1a11ed026085efe03437e406631cfe59ce86510f56cac44d3e2196932392bfc8fab8a3b5b9c9b867e031beeda4e0283e374b7279dab2b1022a7fdd2635484d0b8fc4f6f851bdd86dbeb0381f0109137d2feeb8e85773565710a80bb64bed12164a05b589097ebea9bb0b5033466756c14609792a4fe62548d2631128770cd17f86504c6af605efb7a3309990383e753e46d35eebe8dc85e750fd489036c76fd931b558911166409475dfb29ad0337ce1f95cff277c0373c695e790afd74dedd69ac1a05d8cdace6b6b635c46c0103ac0e4b43670e4db6fb6fa6b25e3b8e5bfaf0b8a5a474830c683b927d18dcf24c03233e331366bdcf046e2e629e72968d13c8c577709882c8ce62851627a72fd672039fe49e8ff17f506e8bb2a6abaaf695b105876adffda0f5e5edd3b147336729e403aa63e178fc9de5b27a37e46758a5ca06cf8433f4dc328cddfc16bb3f79612e5803b41ed047ccd0a91440a0c91f2e455df44e4e6803dc3e6909c72c89044ac7fef303060fcc826858130df02a9085b7fc63f87989eb78039babb31c719c33c5f21bb1035ce2c31763b20c41d0eb77042269b3d6a40e85abf563f060abe68a34bcbb247f03c88f1be158babd1d3119cdf894aad68f42465f418647741dba13285b445b5b1203ce336f17faa768f3048ca66f040befc079a68958d791dc9cf25d9f537cf98b480395a59b3f36dcbd91ba8415e9719cd324b8c5256dc17351e0c9577dd9e11cc426035e193613b340b402874b69408d35a58b0fc4e94b3ad3561e01224dc3d439108903c88d5cb6263491d7bcd79dfb86ba28ea1f6caf1c310336f557f106c18a35c26b03ef9e5f2d99b3f0bf460cd06f8cd558b95686fd2823301867b00e232761eb627603653dd95a883345f2479c095a658da082fb1b6d164626825de27666241d5dc14103235a2fccfdc49cfc2e058ab6fff0c7be9b3767a29607a56fa65276428690cae503301cba68d03c565a60a61a8cb1458e28257f9ab2e01d790d1d0a9b499be46fe605581e033e4d9a816167e6404501e71196ca8cc733dfbc183adc25fa625f2e08000c0146103860a8e37005581e036f5592a2e94aedcfe743b74762b0fef51f1f14223e7f19ac3c199d75600c02463e36923e2b8003f5adba2f6bd9283dc95bdb4a4034544628d3240debfcc52de5edac1b186f95270320496a3704b1a6e876b36b290ceb720b08075f245bc7ee0c4785ca92034c448005581e0346456ab29f6054e4686a1aa5764563e583aa267adb2614e6a55645191007011bffffffffffffffff033efc391ab53cd516fa6ce2ed1bdd5a4a45bd45e72d809ef41c40d04d17ae88a903990e9ca950a36409fbaa5a78e527da578c0119e211745136ea7c103befe3633601410003a12b89c527db0abfcd33da10adcaf45b1b5a371b05971443a562042d382211af05581e03f19824a68d633c35b9320f513fa09c768383b78fede5422fade91316200c1901a149016f386043e134fdc805581e030dc26d8558a5d8c8a4ecb69c98f3b52ffe82a018ff32078d9031cf53800c0647025589bb9e100003ffc5b192f9a6fcefde615c84c7e3616fe68e0ff167a2a1315ac9f984a744c76d0392252777229791f83bccb3bf93a14ca08a3c4936348dc36407a9d23e820293130605581e0395b374863e378e0636d4b25799b1383fae3dbba9cc4101c7a90223051007011bffffffffffffffff05581e031c254f3626c9d78ce8d879780d57199fb6892ad9de7390d67c48bcdf20084758d15e1762800005581e03823287b9941af85a00a3685b3ef9cae5aedbe528aacef0c192930300f004020219afed033cbec03a74910c40f25770d419c5fb017649e8aa7c74f81529ba2b0e33a3e4d703abf964bfcb488af179512e9456009f66915bc60bb60f33aa94adc962720d11c7039b3fe26f743cdaeca3ee3e50980b6b90a987cddf876e942bc25178c81829ab12038a50ee5e38b36982e86b705a81e949cafb53d3f2e271e354794dba7348cf5763038e08b0b71af0060e484cc7fac75dde0c467190804d5a90b5dfaf480b4697e46c03ed4534e8b2a4f9df0fbb5c7cefa3d7bc2ebb946c06c71dd8dffbf1e4696c6c5a0219ffff03ea17c5232e4948137a23b8f54a7088f41d7eb362701c0741898d5e7a01ce0ec9033805e80f178f4a1a35b551d1ca339f535806d090f0f8ae18b8d29aad257efdb6038ed1a50890aaaee3bb915bebecad3dba9a44823fc5046f83032ec8abecb6870a036200e2cc59ef65e8626fdfb1294fd5e6237d1eff055bb42346bb5712bdaf7654037e93947777756a9dd17550a8c21b46b2244770f6e5c747e778db1b6091850f7103e0a3840e81b12478af615c61d92a9da6f3fc5a9f0e7f47d14456216659b5012f03d04c48df60506ee224e2c601f7487aa8b9c9f3b0639b9df3e7eafd3dc396968003911481df245d88334aa67087a4a7df872df31794f6d493f7fff42feed0ad9c2f03f0acfea61f761bf9d071c9e3fa8699d23e8bff139af43fea2724af9290252486034c798790ea6340d9d98eef70b6ee9f120e0b4d40f55546e3860e3cd4d9ddc40603fca295c536f7b72e4c207596214065e3022e5f4490cbfcd8a1d9b8cf9fd0b291038eaf680e0237fa53244ac124f6919975b082c2c55f1d262dfc420d45ea87ba830381c393d53af2a23303022c72424efa82e4e174d6e34d8472ebef5346cda4a090039ac097dc6e6e23f2418e77f92c87a3b445003dec87a54647a52dcbde1d7f80e70219ffff0317bfd5461d28fe51fe016472a86a20a00fcfb50e28033fd28449a2ecee3a9e300343ec2c2b9d75325981070f2d129fe6f184ac3cd3d0967076db6f2087f02390f90219ffff0324d6d859c3c3aa7b95e61821dd51b0cbab1ef237a99acbe9dea97f7741695fb103848d54c0f3edbc644dd647d4c8d35d57c416a742272f981ceb30f5fbd64eb2ca03b975e13cff4659198df07f7577108cef341607d468c53bbdd598edec4d21ce59037495ae5d38b06de844ed6fba566c0e43a0bacea2be54de7f6683479880fa28ae032e10802116bac63f234d3824e6070d984d224b00c0338255bfda3f9239ce1f2a03dbc2526a7eb7ec842152c483bd880364801aae0f43b7c9bb3eedc751a48347f20320fa7082ad53b7a00bee5ba4489cba64e6da363e41c55883ab61bd232e870ce6030246e026384d108f26563bd0cc2f534f11db6e51854556e88a0705a1ffea87630363794160cde9a09ed0a1fe376847cf15a84c4473599445d72a1cecdbe7bcaafa037b534eb9c29353c639a86fd0b41fcf4aec849651087a93713f9cdb899b7dbb670358139e8b032ce19ce3aba81476233ace5fa29cf6d6405aae81cc743d05b4cf240328cb151cae09b3e3c075bd4805e434ebd79212b452869e4dcdeb6197f034b39303360a56497196bffc2fa2152640f8cb08167e7cd502fb6bc80f0ba8f7bf917a9103bf9130b9d3820eee9ab4c5d33d65cdea2d060e3b9b02044d19f8cbda0b7e867303d451df814c652c8cecc96d2db7b1d473aef9392c7940330ba629f717b8abcdd503dfefb75e9269f758406a2141c9b89362f58c1e8169d4a534b19765a35d6254f005581e031f797281957023234a5c2b0e4c7931325a675018374881bbc6eb304d600c0147029ebd14ffec2e05581e03abfc122abc6aec210d7726c8344d41ed05d6f4422fef3c8a6bf834f7200c0d4651362def9d90031e25afc4bd55e4008c760797d4b5d3c1e5f96a6a03f338c4230000cb8d6a289705581d02498a00b8df45bb38f0b0bd45eb04d98e368bbf0881f4562c523db1a00c01470394173ee3c09e05581d025b3bb74973d85af610782660b057c344d5205db765780980822ec3460c054618ae806381880219014003a62ebc36f7e9e992337823c237bdca2cbac398d2133fd16e77306cd7254ab9c903562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03eb770917588ce182f6375373a947c6747af9809ade6426ab02abc5ddc007011bffffffffffffffff03743c3c57d0e1fab76617609dc6d323cd795ae8d1ed1f400ba34fb487e682b21f0219654e03a50ed50dabc88f76bb425892733db3b646682ac73c2620b17edbc0a95485a78b03a183c054514334b8a50988093f2f643b155737af4307b2c3eff983f77e9f734f03446e904f5161df0a7cd27f57495e0bc97a27ff036f3a75204435e35878349aa003658dca11ea6036449ccfd998b4c5937ec918ae8aa57cd336830d1118febb6808039ae37a62bc4975236afb3d1dfbc2a6997a24b3efe20526b6154e46e46c2482130378002da79f16517778b451b158c26d82e137a772b8f526d4c39bdc34f956af08033e4b0b3c628419fc7e769f1d2f48399af8daf29e65342ff3d1131a08020f5a4a032484fa6657e6b59d96d73b8a79b55bf2cffdd72d8a9d3dd07e4df539517e1a7403784ed49ad5db17b146c9daceccb3a7e998c6effa4a49f8996577bc15128f8348034183757af17ace0d4b9f6be111dc3206f6af05340d6525e66a69acc6ba26003a03d9bae27cb9568814c03f560ee44262726c55b29cf0627e06faa37601360d3a6303aa445ddedac3b265b519094dbad5a986bd4384053647ddfa0a1ddf7dc4a866180219ffff037d3ce55a76e23d21c9a1a55700a7207e9ac4fbd03e9f006366e65637236d7d01032223310d5ee6a4a0afcbffae87758e32efa9b91fde0c724877b063032fdd530803ed0155d92efc5172943cdd999f112b4fd20bd92a1e6a8fb3d339cf1589dc5c6b0385e997b0c0226e445c4d79f99184b6071aea6a8e7879a93b8a9da1ca0ba8ab3a0307b1f707ec21f14f16f10610d92e0777c166cde93c6c488443a5b3a8ccbff56303fa3f22b626924164f273a79393240eb409ec2ce2687d58bc45462bbe8a12199f0357f333e710e81e90a260f811805c3585c470dbdbd0f75166e9c25924f306ec86036c1b45d069ba3fe1dc31ac94892f1d241be5bfad253273bd741ed1b8797909350219ffff030cc2d6bd38adedc2892ccc7f5a9e2f2962b517a92b250e80be21a4b11064cef4039dbc786af52b1b4827655fd38768c7e2cc95a5b27aeda2e08714398424263e430377ed098c65ec5af4c9748aa501e6c9e1bb27049907c16f0ed93736cd0ceca72c0344c6886d29b444c2189617cc2422403a2b8e8f5f13db13f37f9d1db3f249842a0369caaaefcd38491d2f5332ae3acf6df703abae36d53cc3f20be2b03d187979e10307d67f54555e33fc1c12409f73ac504ea3ec6f59dc5ec737b2820681fe039b1d03efed5319cab71e8f36a6b4a159d8eedf28df1ecb1fc1112953dae28e95a1c3d503424d35818e6a7cb5c634b49f333d7a767fbb6a65f8032e510bcc99071a9a5fad0356e44391d97b7cc607107aaf30481da1398072d3964ccfb9a8cb3389ff61e92c03d7af85e7ae59e0e698c2d1b95cc8733bbdd0cd4513325f3c325e1a2c5e8715e903dad61da6fdfd333caaa325cda1e48a6f599a6640781e0ebbc6f10592989948cf039a2c16193493776a7170dedacbbbbaaf95e0889d199c47ba05673b6cf47f8d8e0219ffff03bc7fdb250c5bf26295e2c33d9380c19dc161ba5e1d03b058ef6b07b65298c89903535deee7ac5e647f0c411aaa526b812a015525939a7aa16f2f2400903b70750e03db1e7a9d09df5a15faa92a9e042ade697ac0a434282a289dbcc2a4dd070c38dd03e4adc9464f874cc851783d7fd153df5536db22cfeefc9858668780d8fe1a196b03e07f3b6f8e6befa5e5b6df19e8577f7e01e6ce45dddc50f14a36d7f3cd39358a03c3e2920a116f148686b085b1e1e46a022957a2865ee041e48441d242a0cfeeb503ff79529dc197bb29b9ac958aa1e626ed3e57d52b3c24dc6283acc6392510310a0364259d2c482b4782e62c4d123351cb41b1b29b053dbc7f88acc56c07ff57655703759a4db138b6adf62dfcd04bc4633ab45e81d18c50a5393b0950ad41d8f13eb1036759f773ad2deb12792b015bf5b407b5b59c38deb791d1b7f4d1607dafa0c4b30390b6f07307b312fa713cc630a8f06282a8edb6f42ee8922293e89161fd35e47303db0c72d7ad36642da69cb880e5dbc42088f57a1e74030234ba25543076c8c561032adcf355287e3f2016b1994ac0d23155d16ae2debaadc25b1c2ea54a477758010320390fb4bf4e28ad7262dec8613bdef60d70f54273799aaebbbb7c57b6e791d10370348d9cbaf50fb7ae50ff54c944f7a90c5a131fbd008b004ab04edf0e66b3740325be6e2fafc72136ab5392f3c5a026e2617236da247fe5a88afbf8371eafc3bc0368ad368dd4564018a77579224df710aa97edca6fd33e6b2ebe16e77865426c4c03596bac6a098a8c97effcb68b7887cd93b09c7125a80b1391e34243120af91f0a039a687acd1a074a43aff927aebaa89151105aa82dc6497c56bb5efa900b6e62700365135f34725da5123b53b5c31ef5ceeec651f25281bc785de2aa013e4199d3d003d7569cb53eaa5875855f6abcd7a2ca8f221121fc84585e78e0eb0e119f6ffee1035a41504368109b1ce93d88bceae0de0f16f76fb44a28a6f2bc95d35f3e98e4c70361c1bf6437cada8db9cd104895d03ca8730b0abd3a8233f91f69035321385d390393bccf295c9ea283cf0feaa4ed31be419e7d50e959576ac3c658cf11f9cce05f05581d0294b163aa7f173319cc254c122e91de65b590478882ae2cd3aefda13d0c024705d4905df0e2000459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def181565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def18d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def18b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def1908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def19087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000af81e930620eb55a9a6927c4b2afcb4d61040c321614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def11693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a0396f15cfd3cce837bf7981fa57a8538e3d02306e1d0dafe13d90e25eae7da7af903c1ef40bc5558a9ad20e223d4b21052d7e8f14545255176f2ece75977997b74f703cef1dbc74e47dd09ddf00b1481fa0ca8af70e86915e573798d24798dc1a64deb03ec6db55d22c841d934ac68d47ca4f00053303e82691fc95216ca605f58133bab0351c353f484bd8cae2e033d699ee1dae3b5e28629ad53ee47575321d0f094046d0058200294e1b57373908422374fc21d241d58ce0776e43882f19bcd77a24a63d8f5b15820fffffffffffffffffff19f8017beb1df0000000000000000000e607fe8414e21030e7b2561b1a02b38c6f92da5b9b598d667073f2acc6fc553e2fb995b5c657a4103166d45b179e094f7f2e0231dffdc476d24c92c126299e4fa611c8bd3aec84b6703071e24dd65d558ce7cbc32afee11238faeb526c2ed35336349a0720602cfefca0304758a0a73ec5a67f6a2038f785c5c089b27d05ecb09b6b11d73814e526e94eb037e57b6dff419b532c620fc563622c1d0662d4be795716b25bcecd9b330e5885c00582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000023cf600000000000005fad315a129c9774bfdd1e8360100582003440cb71529843d2926a0646e1db26691320fe05c8a40d99fef6c80e27870104e0c0c0e87cdcf3dc7b86fc13cfc1e0058200306621f3b457d78c8a598101428e51dc34149e066c5a90b23e649d788b59b005104efae1ae714f9654d4c438a7975fbd7af00582003bcecd79f02018ba4eb53d6cac80306cf9ea623048d902dff900da5d528dbd0582001666ece4f02f1065e00000042987816614fec34dbc8a5acd1fffb5eb6e7d77e021904430058200231c90fb833710ebafc172ce0966299a2f9f0a8d72e8d4085877a78dc6a95794f04c73aec99d737791215886fad1e95038556398356a83ce8f2d86f4f1338dc48a50421553cfff90ff6b21d625b61604b0382e7f8da12f224d2d2eaa8926d4d5471a0bdd812aa01f3ff3369d10bac5bc87c03fdf7e22398b80883938bd1f65f958691c45ad1c6a503fbe8eb34ebf270b8c71c0383613858a6723b05a8e0a15a8dd23a1b82545be4aafaa1d755a3ca1cf9530d8b03ff29dc3fe7786bc9ac2ff074447527ee93ab3d082e1917221898d36337b2a9090219ffff031600fa4182334909a04acd343254216aedce8cec601ff8af37e3f6723ee57ea7005820039341ca2bc6a39ad4bdcad6d128b7541d5239782e730d4fdb358485d2bf2d40480333a2103eb2ae38005820035d3cdc88dd8cf1e70b8f39c05caba45e235da006ac4c747b44650ece051ce05820fffffffffffffffffffffffffffffffffffffc52e5de852355d822cf2de77dc700582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace051df02e6b670672a63d77a4f1dc20e85f45203a85e3ba5dbf5e76296d612e2b1cd76e3e721c03bb3616fb846f8d80ae0f8008402190223030deacffbdb1682fc4d80356b988b3a88e1bda70a48da5a1f21a989741f354a2703ecdb3990d21ad4de2cacd2a8a7281843187359ef74f505fe7e600a3695c4622103cdaa156ce66cb1bd692046878ae9aaca65004782603abdaa0c2272fdd2d95ead037a686bfeac0c87781dc032297627db82fcec71c3e14f91f8ec234b67c215728c03f5d792277cd38047eb6ef131419b7081f588b50376cb716d449cd220a8c5e5780321d121df08d7ed03557cabbea9220bde31175f1b9d40ad535039d24027b3dab50321e5c7102b2ab3f47c6f00aaef7f9096e1c6d16297bc0cbe07e8c66c426733d2035833fbf3d4a52130216f527f4d9a513b68c7356e1d7d5e1e5451773f26624ec203c3396d3783bff6f6f60bf9475212974a339aafe2b19bf2b65871fd2201c36f5c032535be04ea824dee6bb5ca2bc4f70cf2e1a9dc438d37ae188172a9984991c4e803196ced6370e2e2bfe50124d55cf8b55fc7306f6d9a9a2ca460f4a9fdf972be2303ceb56079ec995754fdf78cd3e68aa7f3fa4ccc31fbb8ed54409cd7a3186df97a032c42616412a5a33e9053e736c7f11d7d66d0dba6719ab17975280b3145daf3b503d2d01a39913990425e1c6e3f539c245170e36572b895f3be60c242fae8b09fa1030a2d57af6af05d2ec1930b3a51fc031f7fd591e89f5d6d5da198784bc4c80da70219ffff03780670f8e20933b7565e8eeb4e54cae03f0134a89c331bd2c174171a5a898459030c4793a3cc02c5ad7ada14f0691b050e3a61384bb6c71f6104a93feb51be9fe703440813a4e7a450618fa052c0ced77a4857fa626cf9facbac1875f76c37ae958003e0c5cbce49111d8212e7a4c6736b55fbd9a378b4cf34c754d666355fefe98ebb0331f26a2a88464d38a87a88733bc3bee8788dd21a74b83cb2668d43d8d3b6619103ac94874e31b5f6ea11f40f3c04d8e8fa3d8aae4ec0075ff11a6d792d1598d6b5035d0c01d2437f473c6a25b1bcc72a9acd53d272b52777a22a181dcfc83faa5b6600582002e3ebfa185ded9ca9c9451bbf0a7aee086438ce5b58ade163c91b958e571b435820ffffffffffffffffffffffffffffffffffff820c700ea1cac8bde50edb206137038f6c76ed9114b9fb2e9bedfd986324fd98b251e59f55644e90bd9579f5cc78d8036da8e9147ef89ff584173d4d061d1e174164ecb8d209b4a81d44a5d2dea34da703b835ed9b99d1a22410a083d7ada4a56bc29c0e487ab27cb58b112565b833230c035823eaaad1a354e0f2473bf19b183c9969896352e2bc66329e4c3def969aac46031facf720ac90bea831d59d2dbfdb042215df401901b282de08f8efe8788a5031005820039397392f5b0e859d5a3e492dd6c66e2a1a4b12bed2806ceada8f46e866f0805820fffffffffffffffffffffffffffffffe5590d579f1340ca0acbdb38df6b6ff2000581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b482216ce872ed83f3200581f0281e7a3847fd47fa8d2bd8e0af06f76caad6388ccdf7ea7e08167b1cf61565820ffffffffffffffffffffffffffffffff30eeb02b4ab9d2d7c2cb8fcbe050ad640218a00058200363954466306c19c3145f8931c90c1049def55efa05e342c49b4faa180184804e03b0c35ec46d67d63fd9bcf10a3e0058200352c18c88af78149fa694677b8850a303b2ae69a5e901f9b713aa239aa074604e034004bc8558cd5dc0031ed23b970058200367c094347626ec50ea716c8bbea85267370790b05643b5c5c21efa832de2805820fffffffffffffffffffffffffffffffffffff556f497255dede4297db5afba31021924490385823ac3f65d37dd3a5016d002358dc6627fea10b8d5a33c6bd9f7c9dae8596e030737019756783a54b5e9ba8deca16abd038493ba7c601b7df9ce1064a3ef83ea038d011d36e29dddfb2225e9bb30bea18ca5bf878b6bc9d3b8c86e4c306b42d022030056d391b675a739d88e9c7ec97ea74d55b4da437dbf633f820bb4e72d7ce581030fee78145837275f7882487af24c0e8a262549a2c728864c292c885e576ab8f10219ffff03e38604327932dd98c5ffa492dfbd45cb08ad514ac6fc41352d7b581835c0ee7203464f03cd1f4049c11c1be5e22ea6b5ac90287e3333cd8a083d43ff07610a468100582002f73b92d3a0a947c3693def9a810ca5d355e177f3c332e348c176ba93388a834d23235e1b854976669a04d51e31034255f492bf9811bbeee7d3976ce4e7da3d300f489ce01c87fa4400908a2ef92003a771779bd2a6599326732a0450bd025488bae4a8ee53e304a47bc5b3ca587e5303a6bf46092db92932023faa8024fc8ad125b4ee6eed9528f72a9e551e546d77e303dc3f2544a4e90b75d6486b06b7f5f602d7cc0449cc92d4de15ec050a353e692c038fef9bad0e5caacb2caf24874f2091e2184fe542f96d1da885f5479294c2ad1c031987d155f9915eb6654f2ea06f89873c6173675cd2de68de4e4e339087bdb03803214459929b7dc49e8f0192a4030cbcbe632accde6a41387fe0d091fe0926a28603c7a5897441c17470d28b378cff0b01a558cd328e5e055480c8f5c3a7cb037bd10058200218148b7da5d4e6f30b8503a353f1cc22a1d1c280223d8c403a826fa8786b22581e2025004210002e0442057ff87434a38b66588dbbe61340840000140000500318115415bd6b3cf2d760b4f90b8fc1ee754b03678eb13d5e61e6bbfb58e5166403bf6654fbfda0e666508d8e17922fb578d8a0fa294aef2a31b948a4feba206af803a982cfdf5a6f17675cef89316d0f48902e84b350844b432a1893c79e29da704603632245065e7d8a7a751486123cf11d4cf9b3c47a1156dda170e05d70ffb767ce0315b18e9929492c819b6d8715d19e608f7e439f630dd04a3dd31ab0b3dae4ba410219ffff03fd0c0ffd9537c271d2f4bc49309d1a3f9f8c5871e85a3b400cc4df10e45fb8fd0397044af20c14790a127e3b2f8d192dfc66821d4c9af897276c17aab53d2430c0030279ac3ab42e4682b78aea9007efa99cf66d90cd4819a567269743383ae860d803be6c946498803a74e292e4d13e3a427792cd8d1e6a842b8b43deec443559778203444952802e706fc96f766dffc85fdab1a7db8007d91fc0d700b13e943e1aa96b033ed616b62ebe92dfe2d4cbb33f30755a9fcf491c3f2a0b4d67a82cbdfaa28511030308b48f7f8ee687f25f46b52998ab1bcfbce70f46aa3814c543d052e52c730600582003364c0d000363c155bcebb5c67f8c8ad3a9082db2d83aa28ddfb7563a90a8b050ce9ac32160cd8a8db68d131b5eb6552f00582003bad4cffd313a453fcad4d945635c2ebffc5f02d0bb9772fbc801f04b2c093050da5ba012147e76a1c23a2d25b80e1c3600582003f5e52e40cfeddbf6c2515d83bde31b3aefce81454d68021a4da0790c56244051dbe232d0332ee0bdc416b6fcdc672bc7f0005820036a6e0df43bd4fa8efd98d02b335924f89426eb234a5e752e4445dfa5396c904e1c5f4d32fef6b76f4a042477246b00582003960554214742f22125fa4bf6fe937415a279b30489a279122c5822e51034a0510100cb9576cdcbc86038f4705d946c3edf00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358200102f1065e000000429985b9591cc7ddb49d78cd98fffb9685d7199a6687d9f700581f0221ae345515c3c1a3256c275e1f8a84324b8e92fb2659446f4b7d5c6086a74e35c142cc18be0315118fdbf8875600581f02760cea48f7f4d4e475f4b30111e1a230d18b4dccc2a0e00c2b3c5585ccd24e062b8c532d269a55dabb9cd10b4a021982800219c50a03adf02853c38bd8e5e1022515a3c163bf1a1d96ffb0f11024747b38d24a64ea4200582002bab8f7e58b8bfb4f2b7d699c87fdeb9ca8f9c8249d391d42d8c9c3641eeada510d38c875716e0447e391451b475d0db4960301b2faad41cf8a5e9fa1ba8cf6a7f38d214ad6300e328861b1f80f14cb7acc70035638972d8a626358dcfc9d32781eb3c545a9d708653d0a8885100411c191a4990399a86106c158b1d68f6f622eab85ebfcf1003ca1b3f473b8f9bce91cf053da1203d1251127885cb3582c98f7bbb156a4c64f57eae2fe7678bde60b6f7bc8eea40703e88ef743625e004e96f1f50fa7e496020fc6dcc54002bc0c84198d3f9b9f477803cf02ea7b2689a290756b96435a806053fc424dbe46d5413d6eed0ce242672b5303b57928b95153366b6bb97eb13134b00029cbb6f70537dc982ca803be524e655903c9dda4bdf3c016f66d2b17e2409d8299e76cba3324ec83a982a0f121c86bd98003f482c7eef1eb4571348c336cf5c726e04ae3dc3f6f2469ba8dfd01518403b66c037e0a216fc8baeb4dedbbc5f357ce895494fbdde3ed47878ca3672ebcce2fc18a0219ffff0219ffff05581d02bec62263a115a366d50980af023cab11e7df4e3f539fa0c487187cb9070119567e02190a0003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03bafd2d672e206e818aa3c719b2d5fdec7167f2f1ecf40a1818ab47d6e007011bffffffffffffffff05581e030d2d3dfd785fb1281d7a298f3a91e77b84242b643f03f763bfa35387700c0546a775b160e67405581e038d1624acfc4aa8c2cd3a5a964e7caeb4a62c23220d4858c47273966c300c034691421580725705581e03e08666e072ef90c54d47889946ef6f34f792bc3a28d3d7939cc85623e0040205581e030001f667e84a3b3593a81a303697b1f33004f3e69c565b46679e382f70040105581e031b660447ff0d51c79489c18f135275c8da462f9823209619d9d6e8fe30040205581e03e481d48050f4316ef475b70c70be6c880cb7f38bbbd169b3626e264bb00c0145e8d4a51000021905eb038f2816df512196524d62a00f0eead467c1e42d95c22fa907ee4330b919aafabf033c2f3599d6186eb329ada7249747a72b022ae028e59a541009114d3cdf96dce803a1db0cbbf9e95bfe6ba686cc1bd53b4523dfe29a3ee6c6821bb77f668ab08888037e9b715cabbf811ecce7393e1e4a49b6016adcf9def619bf42148ac33b3b721d03dfffd5db30eb580ff491cb56dfb551d63caa027d1a77c37a2f3d8f67066789a60347eff852af12052c0ed72d138fa8c78db9ea06706bc0054798f20642745f8ebf038cbc7fe7cea442852c49ec53dbf84df89147e2bcde54d696dbac40c918fa8505039bf235d23f5f16f636a92f161b5ef60beee37dbeac6d0d89d23b108cdda1c8f0037e11108e411647499a7be8bef6309ee4c18c6e0439f43a108735d8b9cad9e20c034cb96a792318aa04dc23c96e295222486c8be7da11f6fc848f2ee84d15187cf103d1c4c5bb706e3f731421edc3c16d5458c33b8bd9e2b8adfd46d14f4874c8a0b403f1c7ea114e2aed915c2548f48c704489c7ca183d2db25119bdb45cf42ae5bf28035e2218a134daff1c94fddb488d4286992bc688af9689dacf0ee3cf84ec077896033dc8ccbcb1828c3d2cd1816d242b50f4d0260d00c2dc006c1a451d502b282cf50219ffff0365fd51d14be2a97339a9575d6932fdd0ffb53b9465ce45e1d5ff3e3521eb48df03c4ab56883f2c8f236d7ebea6cada6f7d1b409471c44b8a9d5b1abdabe1afa3ea033ead1f4c504db4516c4c245501dfd0ef1c5c1c4f1e2e92813f984df536ea157b0395087203a2e88d366204101a9fd780638afc10afa2cf736b96cff1cf3e68c632032f676f5ab71fe727382384e2d6138108c741d30413531578f1123e147f8641af03e3fae7d5e9b702c7b94c2254d48a75a41ee654154d6c1f22fe3adee116b5aa4103ea2333ad17efb7fdbd3971a4fbb2aa95cd3ff3541c962d0abd685ea5cb0c0f6e0219ffff0219ffff039090f2e96ccf44193113ba11427d9808a6f128dc983f2390272541fe6a29926c03236ebec003e0248352f901a4f678d3307460efb991c8d6438730f98727aa55ec034b9f4fe79ec33dfef96834a1296a2e7526cdb6d3d682996456d992f185d1398803f8d59268e9cdd3c557c8f4f1e4e9c14557e685b0437bcf2291cf2b7db078405603998211b2e9a74f2e45d817b98424e786eaeea114fbf804d25c4cb4522ed02ad1037d4dfdc6820f11209ad42d8db729ffda1eb1e6412ffe2daccc0e54a82ffb740403ed127ac2af78f14d44c7587dd663427d6c541282d621cc702103dd7cb67fca0003297e3ad6b16b03c046b7e228823ec7efefb8cbe5ad0cf420874423ef926afea803175e006d3f1e9db1d198b8fe214fa0b16a86ea41cd6e129cd1647ff65fcf0b190219ffff03b7bd53bf373710d17b19dc852cc7fb533e988795ab0f1112ac486c46735219300300399ff9e7a4f635b1bcb5754d99701e4ea96b0402b720724be26e62a5d42a30035dfeddd2b778c4fdb11fafbd78b0ec983e08f7b04cb0068252a425c359f11c36033eeac8f8f609f8132dadd64c05ffd663810e4a5088e29c0b6b1f256e4c690ae70333a31e31c5baf57dea7ab9444ad818ecf1c02e8db3137ad6ea4e7c48a10b391003e7e5370fd7cdee07ef5826e2de056644379cd534b6b9dbbd33f5fd3cff6266c603b14c350c575fd2288d2e6c60502f1300ee8cc1e766b33ed25dd2d50b92d5cdd8038ea88e5ff78d6cb83724b124694e17c8d5d480e37a74bb062020e20316ebb6cd03f7057306b05ace5d93d2dc137c41f70ed42fc7166ac51f629f716f3144f2858d03e0f8530950bdfe2c41190b75a65aaf1b4aede77c8a3de00408a84501eb83966d0352386aa1760db54c80eb816b24e6cca4cd677bec340e7bd7cc05636e09be00850322beacc0f6be8c12fcd019bbf25cc258d0d9ec01b947ad3cd8e2bb33b44477fb03e35cd8ccda998edac592b019f2b9f958ec27029284199890a0ab41b5e29c9257032e058759453499d7abc8ac623e488fe32088fdc2e9670545cd0dff4cae1fda6f038bf5c72a29245d583641db8d2179a51f79fdf45e2e640b8a345f7fe6757188f9032d5d664ab24891f639787508362afad6f14e7081d9d767b450f173cbad59544b0339ab335ac26a152f216478bad75d9675856b1ba32bbb4f4effca4f3b04a732d503715b33f3fa868de94372e484ad8df591bc06c05e9adb07bd1394a475359312da035a7600e626bcb3a7b012f0d7d05e847b717e2103da615589c10767acd04020c40335bd9cebcf80fd773a3003971e8024ee9a54970ac1f3d6f86601325b44f04a5b03338a0ec56c4e807c3a07d5da8f6bfb92728c55c83aa32c98cbaab92690391e36039582f4238337828841b51228e52034bcdbfdb2d80dc0b663e5685bc3ad4ecc8a03933af8b07b617e5be07e74f41081f744ffc61951bfa7ab8daf253e2d74c0abe8030b86c058717851aa14fe5904aa495550e1f7b8540a6a9745ce1d35a3723a15c60349b2aa7454544c2dc788bd341cf357eb29f638451674a8186b372c9dafc3f02d03d07fab9433477522593175c3ad39443b0677800eab459baa8a7829f364c4156203cf1c5ef5c2af7daa57b1d65b329245a319b3fe7cf7aabc7a1c0d8cdfb987ee740316b0f78f747c6458ffad3c4ebef52aec224c69d6928f4d54c23d7925b236766d03a92e4f255517ce37220773bf022fb299bf791c90368af23f905d0cf0f1b3d377039b4682dc00cab13cac51e9eea3cceded30d66b614969ac69986dc09d0f580d2d05581e03d8894f035ad408f33be8f07de7d3dde2900c28e47795d408cb3108ba200c02450165a0bc0005581e032e50c8f403b3173f82753ff7da23da4b28f745c44ae6a52404c09490f00c0146d0c9ffe1ec0003b89890d543d2fae24e2a17cc5e67cb0ed666ab5ed59ea068b36dff00c25b367a05581e039794439e2649a9eab9f716a1eaba16fda22b432f7a9584b5bbd043542004010369a8a4de2067e5b7146169ca5726161ae19d1eca46f19e52fb4a001bf11810eb03fd0ef87532ed8608866a46895d4266092e13ed5a26f78366ed9b18a9aebccf7d05581e03f5e4d16edc52f85fa22da5929fd049e4646567c954491017670661dc7004010353430d850830d611b661a9ed57bafabb377c380398e4a7150ca3ebf24cc4ed520459483a608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063574f2ba31161008c5780638da5cb5b116100665780638da5cb5b146102a7578063cb39e9cb146102af578063dbc8f12c146102e5578063e6a439051461031b576100cf565b8063574f2ba31461021d5780636690025314610237578063885387151461026f576100cf565b80630c144581146100d45780630e917f761461010e57806313af40351461014a5780631e3dd18b146101705780634da8eeb0146101a95780634fe0e92f146101e7575b600080fd5b61010c600480360360608110156100ea57600080fd5b506001600160a01b038135811691602081013582169160409091013516610349565b005b61010c6004803603608081101561012457600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610406565b61010c6004803603602081101561016057600080fd5b50356001600160a01b0316610550565b61018d6004803603602081101561018657600080fd5b503561067c565b604080516001600160a01b039092168252519081900360200190f35b61018d600480360360808110156101bf57600080fd5b506001600160a01b0381358116916020810135821691604082013581169160600135166106a6565b61010c600480360360608110156101fd57600080fd5b506001600160a01b038135811691602081013590911690604001356109e2565b610225610a79565b60408051918252519081900360200190f35b61010c6004803603606081101561024d57600080fd5b506001600160a01b038135811691602081013582169160409091013516610a7f565b61010c6004803603606081101561028557600080fd5b506001600160a01b038135811691602081013582169160409091013516610b1f565b61018d610bbf565b61010c600480360360608110156102c557600080fd5b506001600160a01b03813581169160208101359091169060400135610bce565b61010c600480360360608110156102fb57600080fd5b506001600160a01b03813581169160208101359091169060400135610c65565b61018d6004803603604081101561033157600080fd5b506001600160a01b0381358116916020013516610cfc565b6002546001600160a01b03163314610391576040805162461bcd60e51b815260206004808301919091526024820152630544630360e41b604482015290519081900360640190fd5b61039b8383610d1f565b6001600160a01b0316637adbf973826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156103e957600080fd5b505af11580156103fd573d6000803e3d6000fd5b50505050505050565b6002546001600160a01b0316331461044e576040805162461bcd60e51b815260206004808301919091526024820152630544630360e41b604482015290519081900360640190fd5b600061045a8585610d1f565b9050806001600160a01b031663a9059cbb82856040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156104b357600080fd5b505af11580156104c7573d6000803e3d6000fd5b505050506040513d60208110156104dd57600080fd5b50506040805163226bf2d160e21b81526001600160a01b0384811660048301528251908416926389afcb4492602480820193918290030181600087803b15801561052657600080fd5b505af115801561053a573d6000803e3d6000fd5b505050506040513d60408110156103fd57600080fd5b6002546001600160a01b03163314610598576040805162461bcd60e51b815260206004808301919091526024820152630544630360e41b604482015290519081900360640190fd5b6002546001600160a01b03828116911614156105e4576040805162461bcd60e51b815260206004808301919091526024820152635446303160e01b604482015290519081900360640190fd5b6001600160a01b038116610628576040805162461bcd60e51b815260206004808301919091526024820152632a23181960e11b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b6001818154811061068c57600080fd5b6000918252602090912001546001600160a01b0316905081565b6002546000906001600160a01b031633146106f1576040805162461bcd60e51b815260206004808301919091526024820152630544630360e41b604482015290519081900360640190fd5b836001600160a01b0316856001600160a01b03161415610741576040805162461bcd60e51b815260206004808301919091526024820152632a2319a160e11b604482015290519081900360640190fd5b600080856001600160a01b0316876001600160a01b031610610764578587610767565b86865b90925090506001600160a01b0382166107b0576040805162461bcd60e51b815260206004808301919091526024820152632a23181960e11b604482015290519081900360640190fd5b6001600160a01b0382811660009081526020818152604080832085851684529091529020541615610811576040805162461bcd60e51b815260206004808301919091526024820152630a88c62760e31b604482015290519081900360640190fd5b60006040518060200161082390610d86565b6020820181038252601f19601f8201166040525090506000838360405160200180836001600160a01b031660601b8152601401826001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001209050808251602084016000f560408051637c643b2f60e11b81526001600160a01b03878116600483015286811660248301528a81166044830152898116606483015291519297509087169163f8c8765e9160848082019260009290919082900301818387803b1580156108f457600080fd5b505af1158015610908573d6000803e3d6000fd5b5050506001600160a01b038086166000818152602081815260408083208986168085529083528184208054968d166001600160a01b0319978816811790915584845282852086865284528285208054881682179055600180548082018255958190527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6909501805490971681179096559254815195865291850191909152805191945091927f0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e992908290030190a350505050949350505050565b6002546001600160a01b03163314610a2a576040805162461bcd60e51b815260206004808301919091526024820152630544630360e41b604482015290519081900360640190fd5b610a348383610d1f565b6001600160a01b031663eddd0d9c826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156103e957600080fd5b60015490565b6002546001600160a01b03163314610ac7576040805162461bcd60e51b815260206004808301919091526024820152630544630360e41b604482015290519081900360640190fd5b610ad18383610d1f565b6001600160a01b03166306ec16f8826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156103e957600080fd5b6002546001600160a01b03163314610b67576040805162461bcd60e51b815260206004808301919091526024820152630544630360e41b604482015290519081900360640190fd5b610b718383610d1f565b6001600160a01b031663a6bc18f9826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156103e957600080fd5b6002546001600160a01b031681565b6002546001600160a01b03163314610c16576040805162461bcd60e51b815260206004808301919091526024820152630544630360e41b604482015290519081900360640190fd5b610c208383610d1f565b6001600160a01b03166334e19907826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156103e957600080fd5b6002546001600160a01b03163314610cad576040805162461bcd60e51b815260206004808301919091526024820152630544630360e41b604482015290519081900360640190fd5b610cb78383610d1f565b6001600160a01b0316634bf2c7c9826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156103e957600080fd5b60006020818152928152604080822090935290815220546001600160a01b031681565b6001600160a01b0380831660009081526020818152604080832085851684529091529020541680610d80576040805162461bcd60e51b815260206004808301919091526024820152635446313960e01b604482015290519081900360640190fd5b92915050565b613a7180610d948339019056fe60a060405260006009556000600a556000600b5560016010553480156200002557600080fd5b5060408051808201909152600780825266054776170204c560cc1b60209092019182526200005691600291620000a2565b50604080518082019091526007808252660545741502d4c560cc1b60209092019182526200008791600391620000a2565b506004805460ff191660121790553360601b6080526200014e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620000da576000855562000125565b82601f10620000f557805160ff191683800117855562000125565b8280016001018555821562000125579182015b828111156200012557825182559160200191906001019062000108565b506200013392915062000137565b5090565b5b8082111562000133576000815560010162000138565b60805160601c6138c9620001a86000398061117152806116ba52806118ba5280611bbd5280611c745280611f5c5280611fd0528061229b52806123ab52806129825280612a635280612ca1528061326152506138c96000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c80637adbf97311610151578063c7481b8f116100c3578063dd62ed3e11610087578063dd62ed3e146109d3578063ed24911d14610a01578063eddd0d9c14610a09578063f8c8765e14610a26578063fce589d814610a64578063fff6cae914610a6c57610274565b8063c7481b8f14610888578063d21220a7146108fd578063d505accf14610905578063d6945d8914610956578063db8d55f1146109cb57610274565b806395d89b411161011557806395d89b41146107f2578063a457c2d7146107fa578063a6bc18f914610826578063a9059cbb1461084c578063ba9a7a5614610878578063c45a01551461088057610274565b80637adbf973146106ea5780637dc0d1d0146107105780637ecebe001461071857806389afcb441461073e57806395c5df951461077d57610274565b806323b872dd116101ea57806338b07f02116101ae57806338b07f02146105d8578063395093511461064d5780634bf2c7c91461067957806354cf2aeb146106965780636a6278421461069e57806370a08231146106c457610274565b806323b872dd146104ea5780632b9b015d1461052057806330adf81f14610595578063313ce5671461059d57806334e19907146105bb57610274565b80630ae5f5b41161023c5780630ae5f5b41461041f5780630dfe1681146104a657806313966db5146104ca5780631758078b146104d257806318160ddd146104da57806320606b70146104e257610274565b8063022c0d9f1461027957806306ec16f81461030557806306fdde031461032b5780630902f1ac146103a8578063095ea7b3146103df575b600080fd5b6103036004803603608081101561028f57600080fd5b8135916020810135916001600160a01b036040830135169190810190608081016060820135600160201b8111156102c557600080fd5b8201836020820111156102d757600080fd5b803590602001918460018302840111600160201b831117156102f857600080fd5b509092509050610a74565b005b6103036004803603602081101561031b57600080fd5b50356001600160a01b0316611121565b610333611277565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036d578181015183820152602001610355565b50505050905090810190601f16801561039a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103b0611302565b60405180836001600160701b03168152602001826001600160701b031681526020019250505060405180910390f35b61040b600480360360408110156103f557600080fd5b506001600160a01b03813516906020013561131d565b604080519115158252519081900360200190f35b6104946004803603604081101561043557600080fd5b81359190810190604081016020820135600160201b81111561045657600080fd5b82018360208201111561046857600080fd5b803590602001918460018302840111600160201b8311171561048957600080fd5b509092509050611334565b60408051918252519081900360200190f35b6104ae611473565b604080516001600160a01b039092168252519081900360200190f35b610494611482565b6104ae611488565b610494611497565b61049461149d565b61040b6004803603606081101561050057600080fd5b506001600160a01b038135811691602081013590911690604001356114c1565b6104946004803603604081101561053657600080fd5b81359190810190604081016020820135600160201b81111561055757600080fd5b82018360208201111561056957600080fd5b803590602001918460018302840111600160201b8311171561058a57600080fd5b509092509050611555565b610494611682565b6105a56116a6565b6040805160ff9092168252519081900360200190f35b610303600480360360208110156105d157600080fd5b50356116af565b610494600480360360408110156105ee57600080fd5b81359190810190604081016020820135600160201b81111561060f57600080fd5b82018360208201111561062157600080fd5b803590602001918460018302840111600160201b8311171561064257600080fd5b509092509050611790565b61040b6004803603604081101561066357600080fd5b506001600160a01b038135169060200135611874565b6103036004803603602081101561068f57600080fd5b50356118af565b610494611990565b610494600480360360208110156106b457600080fd5b50356001600160a01b0316611996565b610494600480360360208110156106da57600080fd5b50356001600160a01b0316611c57565b6103036004803603602081101561070057600080fd5b50356001600160a01b0316611c69565b6104ae611df6565b6104946004803603602081101561072e57600080fd5b50356001600160a01b0316611e05565b6107646004803603602081101561075457600080fd5b50356001600160a01b0316611e17565b6040805192835260208301919091528051918290030190f35b6104946004803603604081101561079357600080fd5b81359190810190604081016020820135600160201b8111156107b457600080fd5b8201836020820111156107c657600080fd5b803590602001918460018302840111600160201b831117156107e757600080fd5b509092509050612116565b6103336121c4565b61040b6004803603604081101561081057600080fd5b506001600160a01b03813516906020013561221f565b6103036004803603602081101561083c57600080fd5b50356001600160a01b0316612290565b61040b6004803603604081101561086257600080fd5b506001600160a01b038135169060200135612396565b6104946123a3565b6104ae6123a9565b6104946004803603604081101561089e57600080fd5b81359190810190604081016020820135600160201b8111156108bf57600080fd5b8201836020820111156108d157600080fd5b803590602001918460018302840111600160201b831117156108f257600080fd5b5090925090506123cd565b6104ae61250a565b610303600480360360e081101561091b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135612519565b6104946004803603604081101561096c57600080fd5b81359190810190604081016020820135600160201b81111561098d57600080fd5b82018360208201111561099f57600080fd5b803590602001918460018302840111600160201b831117156109c057600080fd5b509092509050612702565b610764612838565b610494600480360360408110156109e957600080fd5b506001600160a01b0381358116916020013516612853565b610494612870565b61030360048036036020811015610a1f57600080fd5b5035612977565b61030360048036036080811015610a3c57600080fd5b506001600160a01b038135811691602081013582169160408201358116916060013516612a58565b610494612be8565b610303612bee565b601054600114610ab4576040805162461bcd60e51b815260206004808301919091526024820152632a28181b60e11b604482015290519081900360640190fd5b6000601055610ac233612c85565b610afc576040805162461bcd60e51b815260206004808301919091526024820152635450304360e01b604482015290519081900360640190fd5b6001600160a01b038316610b40576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b600085118015610b4e575083155b80610b625750600084118015610b62575084155b610b9c576040805162461bcd60e51b815260206004808301919091526024820152635450333160e01b604482015290519081900360640190fd5b600080610ba7611302565b91509150816001600160701b031687108015610bcb5750806001600160701b031686105b610c05576040805162461bcd60e51b815260206004808301919091526024820152635450303760e01b604482015290519081900360640190fd5b600c54600d546001600160a01b03918216919081169087168214801590610c3e5750806001600160a01b0316876001600160a01b031614155b610c78576040805162461bcd60e51b8152602060048083019190915260248201526315140c9160e21b604482015290519081900360640190fd5b8815610c8957610c8982888b612cdd565b8715610c9a57610c9a81888a612cdd565b5050600c54600d546000918291610cbd916001600160a01b039081169116612e5f565b90925090508815610ef357826001600160701b03168111610d0e576040805162461bcd60e51b815260206004808301919091526024820152630a8a060760e31b604482015290519081900360640190fd5b6040805160008082526001600160701b0386168403602083018190528284018d9052606083019190915291516001600160a01b038a169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a36000610d9a670de0b6b3a7640000610d94600b548561300f90919063ffffffff16565b90613064565b90506000610da884836130b7565b90506000600e60009054906101000a90046001600160a01b03166001600160a01b031663a2a084d3838a8a8e8e6040518663ffffffff1660e01b815260040180868152602001856001600160701b03168152602001846001600160701b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b158015610e5b57600080fd5b505afa158015610e6f573d6000803e3d6000fd5b505050506040513d6020811015610e8557600080fd5b5051905080861015610ec7576040805162461bcd60e51b815260206004808301919091526024820152635450324560e01b604482015290519081900360640190fd5b6000610ed387836130b7565b9050610edf81856130e7565b610ee98284613129565b5050505050611111565b836001600160701b03168211610f39576040805162461bcd60e51b815260206004808301919091526024820152630a8a060760e31b604482015290519081900360640190fd5b604080516001600160701b038616840380825260006020830181905282840152606082018b905291516001600160a01b038a169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a36000610fbc670de0b6b3a7640000610d94600b548561300f90919063ffffffff16565b90506000610fca85836130b7565b90506000600e60009054906101000a90046001600160a01b03166001600160a01b031663537ca579838a8a8e8e6040518663ffffffff1660e01b815260040180868152602001856001600160701b03168152602001846001600160701b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561107d57600080fd5b505afa158015611091573d6000803e3d6000fd5b505050506040513d60208110156110a757600080fd5b50519050808510156110e9576040805162461bcd60e51b815260206004808301919091526024820152635450324560e01b604482015290519081900360640190fd5b60006110f586836130b7565b905061110184826130e7565b61110b8383613129565b50505050505b5050600160105550505050505050565b601054600114611161576040805162461bcd60e51b815260206004808301919091526024820152632a28181b60e11b604482015290519081900360640190fd5b6000601055336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111cc576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b6001600160a01b038116611210576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b60008061121b612838565b9092509050811561123d57600c5461123d906001600160a01b03168484612cdd565b801561125a57600d5461125a906001600160a01b03168483612cdd565b6112656000806131cd565b61126d613229565b5050600160105550565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156112fa5780601f106112cf576101008083540402835291602001916112fa565b820191906000526020600020905b8154815290600101906020018083116112dd57829003601f168201915b505050505081565b6000546001600160701b0380821691600160701b9004169091565b600061132a338484613289565b5060015b92915050565b6000806000611341611302565b915091506000611368670de0b6b3a7640000610d94600b548a61300f90919063ffffffff16565b600e549091506000906001600160a01b031663a2a084d361139c846113966001600160701b0388168d6132eb565b906130b7565b86868b8b6040518663ffffffff1660e01b815260040180868152602001856001600160701b03168152602001846001600160701b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561142657600080fd5b505afa15801561143a573d6000803e3d6000fd5b505050506040513d602081101561145057600080fd5b505190506114676001600160701b038516826130b7565b98975050505050505050565b600c546001600160a01b031681565b60095481565b600f546001600160a01b031681565b60055481565b7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b6001600160a01b038316600090815260076020908152604080832033845290915281205460001914611540576001600160a01b038416600090815260076020908152604080832033845290915290205461151b90836130b7565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b61154b84848461332c565b5060019392505050565b6000806000611562611302565b915091506000611589670de0b6b3a7640000610d94600b548a61300f90919063ffffffff16565b600e549091506000906001600160a01b031663537ca5796115b7846113966001600160701b0389168d6132eb565b86868b8b6040518663ffffffff1660e01b815260040180868152602001856001600160701b03168152602001846001600160701b03168152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561164157600080fd5b505afa158015611655573d6000803e3d6000fd5b505050506040513d602081101561166b57600080fd5b505190506114676001600160701b038416826130b7565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60045460ff1681565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611715576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b600b54811415611755576040805162461bcd60e51b815260206004808301919091526024820152635450303160e01b604482015290519081900360640190fd5b600b8190556040805182815290517fcda74150def0ede554aff5f677be9df0e226fddff9bd9ceddf732b9673b1c92d9181900360200190a150565b600080600061179d611302565b600e54604051633b2b76f960e11b8152600481018a81526001600160701b03808616602484015284166044830152608060648301908152608483018a90529496509294506001600160a01b0390911692637656edf2928a92879287928c928c929060a401848480828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561183e57600080fd5b505afa158015611852573d6000803e3d6000fd5b505050506040513d602081101561186857600080fd5b50519695505050505050565b3360008181526007602090815260408083206001600160a01b0387168452909152812054909161132a9185906118aa90866132eb565b613289565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611915576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b600a54811415611955576040805162461bcd60e51b815260206004808301919091526024820152635450303160e01b604482015290519081900360640190fd5b600a8190556040805182815290517f0476fcc77110b6ac2d8f2dd346f80d2c5cda54dae5c6ddd6f82b603a4d9b9dc99181900360200190a150565b600b5481565b60006010546001146119d8576040805162461bcd60e51b815260206004808301919091526024820152632a28181b60e11b604482015290519081900360640190fd5b60006010556119e633612c85565b611a20576040805162461bcd60e51b815260206004808301919091526024820152635450304360e01b604482015290519081900360640190fd5b6001600160a01b038216611a64576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b600080611a6f611302565b600c54600d549294509092506000918291611a96916001600160a01b039182169116612e5f565b90925090506000611ab0836001600160701b0387166130b7565b90506000611ac7836001600160701b0387166130b7565b60055490915080611afe57611aea6103e8611396611ae5868661300f565b6133da565b9750611af960006103e861342b565b611b41565b611b3e6001600160701b038816611b15858461300f565b81611b1c57fe5b046001600160701b038816611b31858561300f565b81611b3857fe5b046134b6565b97505b60008811611b7f576040805162461bcd60e51b815260206004808301919091526024820152630a8a066760e31b604482015290519081900360640190fd5b60095415611be4576000611baa670de0b6b3a7640000610d946009548c61300f90919063ffffffff16565b9050611bb689826130b7565b9850611be27f00000000000000000000000000000000000000000000000000000000000000008261342b565b505b611bee898961342b565b611bf88585613129565b60408051848152602081018490528082018a905290516001600160a01b038b169133917fa8137fff86647d8a402117b9c5dbda627f721d3773338fb9678c83e54ed390809181900360600190a350506001601055509395945050505050565b60066020526000908152604090205481565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611ccf576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b600e546001600160a01b0382811691161415611d1b576040805162461bcd60e51b815260206004808301919091526024820152635450303160e01b604482015290519081900360640190fd5b6001600160a01b038116611d5f576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b611d68816134cc565b611da2576040805162461bcd60e51b8152602060048083019190915260248201526315140c5160e21b604482015290519081900360640190fd5b600e80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fd3b5d1e0ffaeff528910f3663f0adace7694ab8241d58e17a91351ced2e080319181900360200190a150565b600e546001600160a01b031681565b60086020526000908152604090205481565b600080601054600114611e5a576040805162461bcd60e51b815260206004808301919091526024820152632a28181b60e11b604482015290519081900360640190fd5b6000601055611e6833612c85565b611ea2576040805162461bcd60e51b815260206004808301919091526024820152635450304360e01b604482015290519081900360640190fd5b6001600160a01b038316611ee6576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b60055480611f24576040805162461bcd60e51b815260206004808301919091526024820152632a28199b60e11b604482015290519081900360640190fd5b600c54600d546001600160a01b039182169116600080611f448484612e5f565b306000908152600660205260409020549193509150337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614801590611f9457506000600a54115b15611ff7576000611fbc670de0b6b3a7640000610d94600a548561300f90919063ffffffff16565b9050611fc882826130b7565b9150611ff5307f00000000000000000000000000000000000000000000000000000000000000008361332c565b505b61200130826134d2565b8561200c828561300f565b8161201357fe5b04975085612021828461300f565b8161202857fe5b04965060008811801561203b5750600087115b612075576040805162461bcd60e51b815260206004808301919091526024820152635450333960e01b604482015290519081900360640190fd5b612080858a8a612cdd565b61208b848a89612cdd565b600c54600d546120a7916001600160a01b039081169116612e5f565b90935091506120b68383613129565b604080518981526020810189905280820183905290516001600160a01b038b169133917fd175a80c109434bb89948928ab2475a6647c94244cb70002197896423c8833639181900360600190a35050505050506001601081905550915091565b6000806000612123611302565b600e5460405163344c41e360e01b8152600481018a81526001600160701b03808616602484015284166044830152608060648301908152608483018a90529496509294506001600160a01b039091169263344c41e3928a92879287928c928c929060a401848480828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561183e57600080fd5b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156112fa5780601f106112cf576101008083540402835291602001916112fa565b3360009081526007602090815260408083206001600160a01b038616845290915281205482811015612281576040805162461bcd60e51b815260206004808301919091526024820152630a88268760e31b604482015290519081900360640190fd5b61154b33856118aa84876130b7565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146122f6576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b600f546001600160a01b0382811691161415612342576040805162461bcd60e51b815260206004808301919091526024820152635450303160e01b604482015290519081900360640190fd5b600f80546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f985b4dd4654f00a77259f8971c3a5aa21910e31ed411ffd8c4106d7e9a0c22859181900360200190a150565b600061132a33848461332c565b6103e881565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008060006123da611302565b909250905060006123f46001600160701b038316886130b7565b600e5460405163a2a084d360e01b8152600481018381526001600160701b03808816602484015286166044830152608060648301908152608483018a90529394506000936001600160a01b039093169263a2a084d3928692899289928e928e92909160a401848480828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b15801561249657600080fd5b505afa1580156124aa573d6000803e3d6000fd5b505050506040513d60208110156124c057600080fd5b5051600b54909150611467906124df90670de0b6b3a7640000906130b7565b612504670de0b6b3a76400006124fe856001600160701b038a166130b7565b9061300f565b90613563565b600d546001600160a01b031681565b42841015612557576040805162461bcd60e51b8152602060048083019190915260248201526315104c0d60e21b604482015290519081900360640190fd5b6000612561612870565b6001600160a01b03808a1660008181526008602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c284018890525194955090936101e280840193601f198301929081900390910190855afa15801561267c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906126b25750886001600160a01b0316816001600160a01b0316145b6126ec576040805162461bcd60e51b815260206004808301919091526024820152632a20992360e11b604482015290519081900360640190fd5b6126f7898989613289565b505050505050505050565b600080600061270f611302565b909250905060006127296001600160701b038416886130b7565b600e5460405163537ca57960e01b8152600481018381526001600160701b03808816602484015286166044830152608060648301908152608483018a90529394506000936001600160a01b039093169263537ca579928692899289928e928e92909160a401848480828437600081840152601f19601f820116905080830192505050965050505050505060206040518083038186803b1580156127cb57600080fd5b505afa1580156127df573d6000803e3d6000fd5b505050506040513d60208110156127f557600080fd5b5051600b549091506114679061281490670de0b6b3a7640000906130b7565b612504670de0b6b3a76400006124fe6001600160701b0388166113968760016132eb565b6001546001600160701b0380821691600160701b9004169091565b600760209081526000928352604080842090915290825290205481565b6000804690507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600260405180828054600181600116156101000203166002900480156128f45780601f106128d25761010080835404028352918201916128f4565b820191906000526020600020905b8154815290600101906020018083116128e0575b505060408051918290038220828201825260018352603160f81b602093840152815180840196909652858201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606086015260808501959095523060a0808601919091528551808603909101815260c090940190945250508051910120905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146129dd576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b600954811415612a1d576040805162461bcd60e51b815260206004808301919091526024820152635450303160e01b604482015290519081900360640190fd5b60098190556040805182815290517f276a443d2b2c8332fc729f4de8847f12625c9f099e07b8501c91df8a4fcb12109181900360200190a150565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614612abe576040805162461bcd60e51b815260206004808301919091526024820152630545030360e41b604482015290519081900360640190fd5b6001600160a01b038216612b02576040805162461bcd60e51b815260206004808301919091526024820152632a28181960e11b604482015290519081900360640190fd5b612b0b826134cc565b612b45576040805162461bcd60e51b8152602060048083019190915260248201526315140c5160e21b604482015290519081900360640190fd5b612b4e846134cc565b8015612b5e5750612b5e836134cc565b612b98576040805162461bcd60e51b815260206004808301919091526024820152630545031360e41b604482015290519081900360640190fd5b600c80546001600160a01b039586166001600160a01b031991821617909155600d805494861694821694909417909355600e805492851692841692909217909155600f8054919093169116179055565b600a5481565b601054600114612c2e576040805162461bcd60e51b815260206004808301919091526024820152632a28181b60e11b604482015290519081900360640190fd5b6000601055612c3c33612c85565b612c76576040805162461bcd60e51b815260206004808301919091526024820152635450304360e01b604482015290519081900360640190fd5b612c7e613229565b6001601055565b600f546000906001600160a01b0383811691161480612cd557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b90505b919050565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b17815292518151600094859489169392918291908083835b60208310612d895780518252601f199092019160209182019101612d6a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612deb576040519150601f19603f3d011682016040523d82523d6000602084013e612df0565b606091505b5091509150818015612e1e575080511580612e1e5750808060200190516020811015612e1b57600080fd5b50515b612e58576040805162461bcd60e51b815260206004808301919091526024820152635450303560e01b604482015290519081900360640190fd5b5050505050565b6000806000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612eb157600080fd5b505afa158015612ec5573d6000803e3d6000fd5b505050506040513d6020811015612edb57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038716916370a08231916024808301926020929190829003018186803b158015612f2957600080fd5b505afa158015612f3d573d6000803e3d6000fd5b505050506040513d6020811015612f5357600080fd5b50516001549091506001600160701b0316821015612f8757600180546001600160701b0319166001600160701b0384161790555b600154600160701b90046001600160701b0316811015612fcd57600180546dffffffffffffffffffffffffffff60701b1916600160701b6001600160701b038416021790555b600154612fe49083906001600160701b03166130b7565b600154613002908390600160701b90046001600160701b03166130b7565b9350935050509250929050565b600081158061302a5750508082028282828161302757fe5b04145b61132e576040805162461bcd60e51b81526020600480830191909152602482015263534d324160e01b604482015290519081900360640190fd5b60008082116130a3576040805162461bcd60e51b81526020600480830191909152602482015263534d343360e01b604482015290519081900360640190fd5b60008284816130ae57fe5b04949350505050565b60006130e083836040518060400160405280600481526020016329a6989960e11b815250613599565b9392505050565b600154613125906131029084906001600160701b03166132eb565b600154613120908490600160701b90046001600160701b03166132eb565b6131cd565b5050565b811580159061313757508015155b613171576040805162461bcd60e51b815260206004808301919091526024820152635253303960e01b604482015290519081900360640190fd5b61317a82613631565b600080546001600160701b0319166001600160701b03929092169190911790556131a381613631565b6000600e6101000a8154816001600160701b0302191690836001600160701b031602179055505050565b6131d682613631565b600180546001600160701b0319166001600160701b03929092169190911790556131ff81613631565b6001600e6101000a8154816001600160701b0302191690836001600160701b031602179055505050565b600c54600d54613245916001600160a01b03908116911661367c565b30600090815260066020526040902054801561328657613286307f00000000000000000000000000000000000000000000000000000000000000008361332c565b50565b6001600160a01b03808416600081815260076020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b8082018281101561132e576040805162461bcd60e51b81526020600480830191909152602482015263534d344560e01b604482015290519081900360640190fd5b6001600160a01b03831660009081526006602052604090205461334f90826130b7565b6001600160a01b03808516600090815260066020526040808220939093559084168152205461337e90826132eb565b6001600160a01b0380841660008181526006602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000600382111561341d575080600160028204015b818110156134175780915060028182858161340657fe5b04018161340f57fe5b0490506133ef565b50612cd8565b8115612cd857506001919050565b60055461343890826132eb565b6005556001600160a01b03821660009081526006602052604090205461345e90826132eb565b6001600160a01b03831660008181526006602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106134c557816130e0565b5090919050565b3b151590565b6001600160a01b0382166000908152600660205260409020546134f590826130b7565b6001600160a01b03831660009081526006602052604090205560055461351b90826130b7565b6005556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600061356f8383613064565b905061357b838361300f565b8114156135875761132e565b6135928160016132eb565b905061132e565b81830381848211156136295760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156135ee5781810151838201526020016135d6565b50505050905090810190601f16801561361b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b60006001600160701b03821115613678576040805162461bcd60e51b81526020600480830191909152602482015263534d353160e01b604482015290519081900360640190fd5b5090565b6000826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156136cb57600080fd5b505afa1580156136df573d6000803e3d6000fd5b505050506040513d60208110156136f557600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561374357600080fd5b505afa158015613757573d6000803e3d6000fd5b505050506040513d602081101561376d57600080fd5b50516001546000549192506001600160701b038281168183160192600160701b9081900482169204160183821415806137a65750808314155b1561388b5781156137f8576001546137d7906137d2908490610d949088906001600160701b031661300f565b613631565b600180546001600160701b0319166001600160701b03929092169190911790555b801561384d57600154613826906137d2908390610d94908790600160701b90046001600160701b031661300f565b6001600e6101000a8154816001600160701b0302191690836001600160701b031602179055505b60015461388b906138689086906001600160701b03166130b7565b600154613886908690600160701b90046001600160701b03166130b7565b613129565b50505050505056fea26469706673582212207bd0e0960de36eb87a77b2c4e13d386dc0d7aacd84b22400a3b58464c72e7cb064736f6c63430007060033a2646970667358221220b034181626a2b3b151cb54c2e984a8f8fc1a8a76427731ad9438e207080a108864736f6c6343000706003303046bd954349750bba2f3e9d305ee8045f04a2617a930214d87ae278281fa380400582103e490a4e91e557320d4618129b7c587ac1da30b873049b66ac4ac48a161aa1cf05443f0e5f2304f261dfa5359a0b74ff030e498d90403ec092508e7b340cab825c7add32371e4c3e841e6d9bd771483516dc4c734df5d036be39c9d1b06c14ce516e899f0cb32927e008b3afbe3fd32ff9e8c8152c6ef6a030ccc56dfd73c6c1a0e5c8f02aa48112baabc2e6a542d0b60def5203d6f2a6e3e03dd66cec8dd793ebc79296038bb070b1757351e3576b02c63d88ff3c01ff4cd0c037083ff8aca58bf0fae11321b8d6d3c6cdbbed4f3d6b50d15e46f91494c300cc6031b776e8c201bc174c97fcc409c8c2e51c3c0419abf9d5ce65bafc02a774848e5038783c8b754fc09eae82d9342b4640183cbd8768c4bc18faec63f94b7434f57fd0348df44224a2e3bbe81e13df97b5d02bfc34ec33c5da887c1f896e32fed34c7d500582103a90cd58ed97d0a875bfdd0f01fe6241d0ede777b83c6d66ed34531b366ebbba054dde7684d88e0b482b2b455936fe0d22dd48cdcb3005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6410f03d866ddda0317b3c5854cb4541d1c1918af62b7a31bac74dfd0d2c93237ab6b0d00582002d9d894133a730aa651ef62d26b0ffa846233c74177a591a4a896adfda97d22542fe16dd18bba26e457b7dd2080d5674312b026a2005820028020948f30366f39e71c9af75940bb0782518433e26159cbc79bcae7c8ad0a5437f6df71b40c50b2038329cabf5fda3682df1ebf0219402a005821030f1c97443847c789de7dfa956a43904c2a85104210919072378506a188b54eb05437f6df71b40c50b2038329cabf5fda3682df1ebf03d989d199a3d326ee24a9edad9d24415a2a4069f320d280da7018a54d8a8b886b033a3f4d6a468420d3195d6f7a09a1b4549d73babb6cef61807eb95a030c9b544e0365916c8e673f1f332069932b77366cac59716ceeaab8c32d9022155e9964539b0219ffff05581d02b9a0e1bd5b42738021d5e09d0643ffbc1c8e9436e68b5f8429e8f477071019483a05581d02b17891a79da56cc811a4b60f28ec3020043f660ebdb0f581f6906cb10410021102199b53034d1d31a365b4811f9adc1257d4bcc33378b71b1a366310d036ec1b2fdfdf53a103f7a2ff441cbd83759c384f3a529ba7e1bae73ae362afc860171b9533fef8878f0219ffff03a8a3f6ea04369570212b3653feaa19491e3260556eea6256f2a745cc8ef3cc4503689928c1a5ed7bb8c58dbb92048166ef082f892cd73034141aa20cd6a4999c120378c722da4dc170048fd61db8805ed94e1db8ba245733afb55fe5f07a719c2e4903bdb77ce48e6ad336b00ee6faf139b88e63838738496d593f11193e8eef42bda9037a6440877476188a39d08f6511904d9cd0af6a70e4ac5f1b552de332f559b87603a79b2fd2ba308d05d0a6804a07aa95dfe3703538afc207808b1f73f123d1f22d03f03a17f468142d18b296a7d84daedbb1e01ef9ec60694b52e91944beb3409bd30219ffff036b5641963d4b0f440017e150a96381b831c4d3b95ed251104f2ff5920dfa542a03fc13979daf70837fbd98fb4d5eb859cbfff68d20abd1ace99db20d292912971f03f586a6bb8dd06f89a0d72cd93506a7d3ff4f80ecf1d6566932757f15589c78ec0324d796e6b8740e392e52f17cfa26178e62a150dec51e3638a84a9cde0428ce8f03f649e1e680ffaebdc629cdc1ddb4b76ac2bafe863ac16eb228d48088f52428d803a8891e9ab532fb0f3cef9a6d6ce5c695e7505eca7e6628bec0195a1abb7b934a039e4db5df2dc97de5f1cf8a443fab754ed6195a7e9202ef33b599e4f850871d0c03215d772eddef82fa0d3d3e168a8b19326c4a7a72e544d0d5bea73ff8385d743d035bb066fec1e8e1c5ff67af4dd36747e76028c869d154beb7747f5dc3af3b9bbb03448d2553b8514e8d34f71bc5f919984ba0fc16ac54d4458ff471453cde8f1f18039b739a7d4131337dee301c1793fb8f8a5e0acef0543f4a515956aef0a9cf594403f3f386628c14db036a59c674f016c9d84cdb114fc5cff4597e52e2152ed9c3df03be514f2eebe8f3d35b0a5c6474633e5b94b653a1d0373997d49eaf0833f434ee03fd7e9f8177850b015b23e18d574d7140481001d55c3d24cf7267709d55b274bd0219ffff03ad0aa6ab5640a4b99b6f606d5b4ce5cc5aa35232296f51277b5d1310f0822e120351bb0aa5ac188d3a710eea21f06936c2216c5d240ab777b79c0ec412b71d31be03495ffec17c730cd573f3ba136f67dd47a6d9ec7c8f3b10773132f75ba56ddde503630766dcb163b67f425770b3025a46cf9cf6fda89e52a51ff3097ee9d79b7b890349cc2e1a3c249178271417f114c86dcc09932a301df1454a7ebde81e9422cac2031946efc09b796641b8179adcfc42e420d3a0a268225a98c21379fbdd73fab5db03f9b6d609fb972bfc9b9ca1df39094be6440663a9aa41484cdc7d344a84fca8f70219ffff0315d50b2f4bd9255a8336600c16e6409f28fa96d8098423f6fcffbba63367d71103dc88459f301af3962fae94ca5281a07eef9bae13b59bb13ce95cccdd43fadb9603fe5f633329bc37d02a0ff2b49de3e89ae83ad534c4a0a6aabcf0c721280597dd0353ac3744400a91e77db0720e465a86e644379c37e16fa97892726dd246fb992603b662bbcebb2364bd60aacd80cfce49996eae55c5be6ec502e9caf1d4db3e7d980313264e72bddebc5e68683aca4b3e2fa83e5a2d438f99858b90df2cb5698105cf0376060b4e20f592a49754e3647b3699a486add0c87d920400cdac6f7e8e244d0c03051dd544e4ba6c44b4c274ab9f9f33f5462f0fb306d8e9e23e95be2de23b47ed03b4e92e97739f5abe38cc80128395acf44b0d45e3ef0bd1bc5cc30e99338966180376fc97332f53ed332ee358e40cde2c9723a3318b9b9a6db360861badc329309603b5ae2d84db5d07a8a28b147ad32b163f5e6cdb10a9f3f451eb3cb2772b11c7a603e1d34f0ec119dd1dee5f52dc381d36543da106fdab3c2d7e319334a78caebd9e03c2f0e538abcda075e614dc99bb0d7432f0fbbbb29b5f38db7750bdaeb6d08fba03c990b392465794c50b159b86e6896d11aaea4625d96c2579a1bfb89e30ae05c003dda318edc758a03cceeced8e4cd4159a1a50ae4e6d2996988baa095b72d090640379065bbb64bf5b1297b8fd9e378337ee3d615dab481ce24a102c63d31e55f64803655fe9a667975920b136442a53799230debdb8507abd4991e0e9a90b45b8b78a03bed1a796c08f9b2703b14abe7bc5f5aee753f2cceb2df1ac4898fc842b40cb4303e686bebecff2e132af25e9f49e787dace875b668009b6cf628bdd072647385e8038f969d0221261dde699e6f212c4eb48af24454d6dfd232c27658c85b0103937d0317f79d6a57d722381dc736942cb61c27590b6f93e2ab0a17dff65339f7a0ab0603af86109b6ce0d97005154a8bab684393b363117a4e333b3b05409895cea4895303a4883ff2f03af3d5f848bab66f663216038713de991f21aa1a427773634b075503a30b4af97b75f8777efceefe8f8907dfd836a7f445c910fe4fed01218d759c2c0399d87abe96175c79400d7108e8284b283f75c0a7468d10f26c604d80b778aa0b03aad6fd9b2dd5e897872c638fd9daf3bbaa7d7fadf2b8d46368c6758ce3d9cf3e03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e031ade8f2ed4a2a7f18de0e9bdf6afeaf9a1de88a817ac7e4b24e2e322f007011bffffffffffffffff05581e03fef0b8b08705e4ee4cce5b882878fa010475e15429d2f4c5141f2c66f00c0147c1eff87b04da0005581e03e29aaf93eab3404fee285cbee7c335140882df8078ee5bac3f785ce760040105581d02e6e673efc3d871d011bbb28bebd2d143bb873d115c3c8771f15dc09508480429d069189e000005581d021367be1f2fbf1c13e19c7d797da24f9646df72f7ea76d072590c9a3d040105581d02f904e737c8e5179ca89dd16c56008d0f0308ea3541f2382b77c315bd0c0a47084888c0bc40000219404403c2f5926647cbff02f439e6016b4ab3882c7548c2d6a01aaa26a59a2a5a06b1a4039fd0499f72a23592640da7b8dade35c6753c97f10db9ec0cd2871382409ab8a803e43377d4fcb40647a4b4bde5a78b6d1e832e308bfeabf4fe8eaa5a67fc20db4a05581e0352890e490034abcedd0fa13f0635daa8f49ea150fa37112369eef011400c024701b6b834eb01c805581e03bb4a3df7c3497ff9d2294d9bd40a4782be6f43ead077c24d2ad36935700c044427df0d9905581e03df3feb29289c71117eb25b84bc84bfbdb6bbc696b0e9932dae623b15700c01470d69cee153b99105581e03fd713021bee95222b7757deb2571d88b317612f0d3480acaf818b7f4700c01470452db6252a0000219f8de03b2329505fc6bbad4fb56e844c4a705289f8b6ace0f6786975f01d07ddbb9cc9803200961c171e7cbcc48dcbf95ecb84f2d30ca341991a23bef0349b81ff8b9acf503b334538b054d5822bc507f39df87c11a916bb7060f1f968cdeab77b60f21a7240358437650448a1c1194fe1edfb8b1a9163f0c3f00d19f46e3ad4f9c1be3d14ee6034de0a287396bf30ee519d6143bfdb8dd4e2dbf5ebce5d5601670ef56cb61ad0c0332c18fc69c9cf451685715d5e25d3e23f50382cb4d2525daaa88d89866c8f326036160e08600c4e7353ed7465be8da99972197712ef9943d7442a578858f825645039b9de658a92adf7bda5ea4c025c82abcf5ae690b1a0e84ccd9e976b5ff1947aa03f9e107f08eb75438a07f632ac304c52438695a0dd6e2dc108fb7f1c16b35aa2b03cc63d09f76dfbe54ccda160e9c2a5c2014c9437f8fd408ca65331d9bea1481d40375e70dd7a4c6101ccc0343b1886455104f65e7c134dd9eec82ba5b48cccddca4031a33bcc70e6040b8dd8bcbfb3078e2c62e7958db0a9f4b301822171bc5c004ce036e65f7b9f5d11c74e946f11d30e8bb72b203c3d85e341a8e324084de67b20d830394a4ef8acc5b0015ce5b37725687d72d11b6045327c5b2d069c49f1285f41c570219ffff0219ffff03a98e58e1f3283f53df1086b07414bcceb3e3e0529b0373b25101638973c83f4c03a7646444f80771afe8407999c3a1af09db0b7c8d8789deba4c577052f8a112cf038493c14dd4eaa718347b580ebf1abe66614c178fc5b24568f8c01195c02264b603416c2ba5d869d0074df5e727f6198d9d60197d2979e32215c28e86dbdb5b7979036c077920309d5047e910953e02ad28e659b276a19655b42513674bd573723cf30326fd79365048757f4b87b652f7ee6506a24e3281fc1fb7e356ced3fd2e10bb210219ffff03a2ea96ff2a185728f9f4e296164bf33a7d37dfca58c1c9f832e1d7b9557b366003f134d6ad1e88de4bb9c0a3e3b497f2a1446f158d6f86c8d05ba7009d009c6c460323bda01508191ae45282316ea3c8156eafb3d5944146aa0ee6b91d1e0f826297036c5e7e795232e031208d5b1bb299c684a22169bdad973ff4e6336cbe8044d0aa03d8656bd95bbf99b2d2915171df6801eaebcb85fc0c47aa73c3d992dd85027d2903719e90d9f9ecebc6346281e786a0f1af1e63cda4a468a65b75de80aba1581c9603a71dc974ef9f87fe4b5afdb1085d682b763ea19435cbcd155364c1856f3092b8038e72709a1dad3c24d406703a050af486919b04d821bc0c2a4447341bc562ff1303131e0fda3b6b629dedf1e8e36daba0d41d5246af441451525c4f490a9bfb9b3403c3c396e26fe6848423db7390bab30a08684b37fa63f725a3e757d4dbdd7cbee50322b68c6e75c584c0ed1506930969ce049a3bb121c75be42b06dd69baadc74edf033380daff91789c86ab4d2534121b02053b41c366bab1b2fd989d51f91389aa4605581e036b322c8dd59883ebe0c9b8e193349cb70be7b060f0e48d1eb5219980300c02470ac61c78df3bba03cd2840891221a3bd7fcdd7352f0dfb3297cc31dabc9f0ec81b1801538239489b05581e03de3b1fc22df3d722fa21c1533335167b46409bc4d0245d85881b031120040303cffad2e800191dab08d6aebcc46bf4abdb8d22b636de2189aa984db30c84fcd9030016dace72d5f52a9f25d067ea92899a70a4572cf700a21efc548e9b6d68fb0f039f5d278ffcd36adf10c852b82ec5e2575a8f01f3081e36950ef58b14e9d04ba80371878e613c5784ec5f731193392a2feaa693e330d6f613312c8fcb15a6410a4b05581e031754b39886a15e21d28b9c78be6485df25fadd38ded5dc367d2ffddc300c02416402193e2a033128391da944fdecef0cd31011cb364c09052a4fadea84d34af0fb6ce7a1280403826fa254b062422022e16d2c565bfe23712231873c3f13f24a8487eab737b9640396ec3c733f537a25960d33cd412105c881b522562f5915079b3b71830f4375be03212ae2e366f84ac354b19855653b8ec8c2a9e7156ddd8b66a6faa93530d34ee10334f585b3a1378f1aa865d98180356f398c7deb8acedf74ae879cbf82891021e70351cb847f79aee96a644092e043029b8c45eed5a470699124f24653f70cdab8ce031f56ed6393b93e7c62a1af9d2f3de1f02275865293b31117da0e8de328c0f8fd0395c13a6a745db0a20d5623ed3e65af6fe8ac94dfbd1333db45c4f0935f706ab103113ae96a96ba8252f83d8c7ae4331834e281c2376222e611a1830cddbcc8122d03417d1bebad0389bcd16aa6d5a853233dd052c74d872b65baa3718dea073b968d03199dfc412efa08a472799f64047a66b1e780d6b066857ca56762cce3f234188e03d0fc83b21a6a233255b2b32df93c79756bfd229b021a14993eb5b0bd4e71f8c10335ec120bcd0cbdd322d4d0e61b21afe1b52d258aad2d907f03778a261b4725e103bc1f8e8314e22e481cf9713604a636b4ebe7005773b66355d97dac94b98ef0e40371b83cb5fbe5dee52e3e8a75ef77eb83f40190c67e0816ef645abd679589420e0219ffff03ce3b39663cd3a9c3a6919cff2202bf7c7b04b35e8f44912708d2859996aa21d103510ba1b7fb6b9cf0ce77cdbcf9c8d55420f98ec33219794411209e8e3367edb00305f7f4294ce1936960bd3a7124b57e330a892100d20198d9b3ef46516b45c78403f59ebad46624b45183e511dfee1d79bd7811f7cf510b4a1e39ff6dab440e595a03684165870474ac69d17f99e397d72e3b18a82855e738a45f583f4c4fde8b5dfd037107ab39153b72dfe70401d0bb172b5c9b183a082e81bf93ee9bb168d0e7afc303069c85e33f17f765c81af2c4acc8548ec357156285c41ba2c69d1933ed8756eb036becc192777e99a91ce22a5ed008bef1ad2a1a71768ff0ecd2bd4fff79f022900315822a6df79681c9f18f9a73f2b34f2c541e6333e6c5d5a3f16025de86c4d4ad032b195efb081846d52c3ea112ecb59b36267e71c02206085b8d055998d10f67d60338e3332d8f09f8aab91f27ee0b57e27edd3197096384cb609acce2e84636845403508558269638af551e0461b685e88f3ce17269752fae97114f82668d36644f8303a67e14b89450141beeb4c06fd7b1bbaa8b38074d66f932652083b06826f21c3303e8bcf9be4332dd47920cfdc186081d77ed2a0b810142dd8665718d23f9ad7f240389220bd99a49866f029ba0ee52f4595b7d0eb73492b4089e28e74f737ca15d6a0219ffff03741d640d192d315b02271071ec376cd2355f040ce959e5c41ff23435de534f32039c124fd4390c0e23f1db0c1ac8ca23cc772222dd4eb24d9eac77220d8fe1497d03462a2a86fe137c5466faf14b271337bef2421dec58554152ef3eded37cc808ab0219ffff034219c4f117844db4b759e2462ed7950528209510627e68228233c79a99e1d94203d6f291c8d3ff520dde12c0d893c0c30f6f7370c9b4471a0d8b06a82612930dec0319392aa37067f1218003e4468920938c343ace114a45673d9c5c96877ce23d6303a629a5fdea250f7953c012441d52690f34870ddb182c4083ee6de9c1579782c10315ba6cf767984975029ce2539a47af49db99c9813a66963c0255eaec44d2175903fb85a9c2bf84b79a2833cefa0f91b7948a251271eb14c9ee1ea9b6e597d87d1403a0eab65df3a245520f5517695e64a3b3d3cbe8e487b257d709effa02c5b5bd2b03e2dbd06a42d1e6efcbbfa8559715ab955a5f407e9f012f76c20ef9e979e2bdec03addf622c0cc4cabb3ea330e32ff30c4aeffd0235f0296e85333afdaf1296c0cd032cfcbb3bab14b77e0d2089c5e9baae3fbbd7af01fe5a927cc688ab72689eafd603c56fe0e6bd1a3b5ee735da9384210d552c8a7f546372c1d7a9d0ad868859003d03cca3060f4ce5d232ed686c91ec02ca818724ea6e15f3482aa9af77044e0747a003d8ffa8d4eba1716ba97cba8ddae744b249e03e49c160a58471e3729bf5baee6203e049bc892ff4053c558a96bd9d41deda2551806aba52f5e31ed28e8cc057f5c6036c8d352b73aa9b26d36908a895080529941de8f6661ce5bb71f318f2c401ef47039cf0884134f87bb502f568b29e39e2788408e57a4f5e898310733fb311225d3e032cdc9aa4e4d031258aa8bdae1b350002965fb1aca7ca434de75cdb91d4477024034bf1d8ef7037067e36e200a46c769ec43203cd379e51a63caad32e2707867ae603ec375aa336fea4c0b44f8589de86799fdd565b9128a0fef99fdfe85c88e0bbe503bd703ec1ba465bcc827334d6fb9552fe329351c2e0cc51c057688e3efcabf3c4033c3fa7293f273257ddd0d75984524d2c4b1487f8657dc267f9a37acf5ac42b6b03bee1ed012495b721d8520d2973200a00a612ed22de98b8a233535d1ff93fa1d303f80b3f3aea94f1b5cc9c71d1e74cb4a8408b9bd7399ec1492d77a51a75d2aa38032d4a09626634fcfc5db0b410e2a074f63150fca0302326ecae9e32b0adf61feb05581e0376a85e85c588163190e3945b2c5ec08226d618541a96950aa84ac08bd004010317cb21ac8a80dbe36365d36c440fd87310aec1e4eea8a4c0fe16aad6105bdb14034ca475653d166f48143248bc39a0f62b785011c8b4b6daf1021e8dc77afcabcd03304ee683792133b6fbb5e15ac65166ded724e9138c0895234741271c58a2e16105581e0330d4e1eb62fc755dc7f801dfa87b6dbb1ae1f8b8a39272bd2ad24c288007011bffffffffffffffff05581e03588a4f3626c9d1a64e608f2ae21643778f406c64bafed667d390de0350040305581e03ce56fc195fb9395a71aad59fa028e3de215d831d0801b06c8a8cb60fa0040205581e03b77e3b1341fccc6950a838bf84ddc3accf14ac7aa91cbdc0cd62ae20f0040205581e034a5f13f4940423a19542f54f7377042da206ac087c1760bd3557d98fb00c014714bd68d612870005581d0286553b5bb39dd273bb5b712e9efcbf1a013133ccd331aa0bcc9344460c0147db88b2bd4a122e05581d029ae512257202931a9f1f2c081c5bdd299d4e9a282cb58d3478f73f8c084801a9a387e11c5a68021960000219fd0a03745f2c4fd557c6230dae2617d51d4dcacab6f8694b94c7d8a8f2490777c72288034704e85d6bf801e9430f329c26ed95977e469c5303f591fa0e4ad83c415565d20375cca518f69904c8049673aff56f7f572ac258f19de9e5b5808d79c146b05fa1033af4d5cc8e87886509f64d351b8f8845fc7f6400a75184bd0d3579680f91266e03d0f89d6cdba8b230a00927f48edd44e9adc3b4cb57cac00b9ce8c1ef5744633803e71f6eabc9f3dbe9ed64a0e011c30e50a4fe1be6f0c21d6250156da1f684df370305bdcf48487cb4cd3ad270924bfe76c65a090dec5ef5a479cdf94e9dc9cca52303dd7e45caa1d505172171c890e1e1aaf8f5135990b6b52aad1fbfa3acdef52ab203c8eb30ec84354550ad45b25687504612a2b81da6f373393af76d1bc533d74e6c0219ffff033c18f772a2797b49ce7f30aebb27a383b2f6aed50770e969dadb87cbb2cce8f5034202bb58ff21ce8d7ae1472996f189d239020e0457d432e6b04a0d310bff43b60371151961da3acc81648d09506ff63caeadb3f4de6935d3048b45c862ddf704fb031a49cd1775d08a7083be0831571d9fc30a9f8af59acc629243a8068c9cace70603e6700d4c7e5da474d7d4095e6c06a0e477cd5498be46f49a0e288e67f08d806d030c583b3cfc1261a6981febb8626ffae3b0e5af884e392f0bd6261fbab2feb80e039996937229ae055397ceef287b5a647f7bcfee0b8577d7b63e5d07a17d7a3bde032fdff4232026a8732249cdfd7495175b82e40ed92c727efa4de002fbf914999f03c14b5d74dceb739f9504241e9eb824a69f20b656430d40ada40f6938e03c1e5303b888118a3e7f11224f0c480ac21d9b2cad5071f145bb4c9598f2215c1c2c61d903a4119e1f780556f7777950e2518cd638a30f7e22b2223ef3831a7c33fec0162c0219ffff03a608ad0c3aabba9a793d230730898b2df1a8d7b18fe5b1ec7e5b2ff0743ba81b036beaba100c63f8d450c1f55f2637501d4ecfad994e8b75486245a2dd1695adf303339eaae56bd5f9385d3784e4b25cc70c56c807c043e0d57f503129cb08d3ed5703d5eb7f2feff4eec519878528b8f93e9a618a498ad289098017e65a76dcaf927f03d8212c3b34c4d99966aca28dc8dbb7b4e355bb61b710f3ac79948076c8038715036a2aca97e0a033155c1d1d060677ffb50fce43673a05be03bfd084fa205e6202031622f2d12deef0ca73253d867ac9aa2fd1a115148be1d998054f30790a98f89103c80e192a5153cb65b1d73e215c41821d5812bd5100804cd6448683c559f269b90219ffff034d09a5212582c468e0e9447af27711039b5d80fb8b4201663de38d6df85039de039ffc54ea6e26e15af4f191d9a382fbc7e01be653b1037c3e48c696a5206083bd031ef2c9e6c41659700d5e5931441dbc1a2745a2db0c32d2e5ae6615a3c105267203423e12ddcac4e6e570914b1cfbec03d472d9b18076cc0f8d6eb9df64abc3156b03dc9d0a44fb15c742909568c415341641b3ab46eb75951165f3974baea11a66c703ce6c2b16718b9add3509ca0d1dc50df7468cf8d6e3113533cafee5b66cca83080219ffff03e26886911112f0e62843b43d2539f5c360bbe2ab8bdf93bf26557f95cf05e9920305dc7979e8e54a2c628f60032bc0f4d85ea8b34dba40b7934bbe23b4f45fdc4703ffa96a936ad3113f523d169f87c9565e6c14171d4322afb992320415dfd5a30e03b5af87b8155ccb3c163f1654aa0554aa17665d9a48e5a3882bef758e910199e403ed629b4c543afc0b942fe3bf5fa551d956770cf9b055d73d9f9b2ad5e86d1f0503dc86b3203d26aff548c333be399b958498a00f0cb622c069cc236faf5916e07e03f36df1752b5d0bd0ca1524ffc057d2d1fabe9028386a4ba1e9a97c25668995c2031e50b4200ba7f4c6dcd225779cfc695c05159e2759eb0672ce65ae740bad155103ebd058ae7c0c3ee3c8e34dcacb03d95036db857ccb9d94e119b86f96175ba785035798ca701900f47d9660a1f034ded5fce09334e876a2c83b47c405cf7a58b79903dd9bc64fe9804df3bcb73fcb8c3fbafcfd38a829ec91d89e9696502a4a2d42ee0397ae2dc8732a8f5468855385764324d604df716bb478def2762eec773323d33c03891fd3abd75860ab653bf27b9223a693402d420922e14fc1d40dda497db3b3bd03807920c854f7cbded28d7d57feb919037c607b2efc6ae64347c6e04cc933d9eb035b39e90d335f26624e9d3c052264a4c4dfbf9d11073e5adacb528e943afa72b40306c3828da2df4c63da6906aba5ebe2df9fbf44a5c817bcb80b9b206fd1a9100003287575a2895b9236fa18f54b792b99778a6b746707c775da3f7c93f238b250c40373b6711f41fe0fc145cfb805175d06e060b8ae3b0a4fe20318f9f419e0e549cd03f7b8e6c6756fb5e32e6aa682aefcd5a0db46aa9e81e83a093dacbe457232c5f0037e2e4ddf707cc01a7094323af20b850acdf046531cb36d5879f93e4b548d228004592bbd6080604052600436106101815760003560e01c806379cc6790116100d1578063a457c2d71161008a578063c1b606e211610064578063c1b606e21461046e578063d505accf146104ad578063dd62ed3e146104cd578063e8a3d485146104ed57600080fd5b8063a457c2d714610401578063a9059cbb14610421578063ac9650d81461044157600080fd5b806379cc67901461035b5780637ecebe001461037b5780638da5cb5b1461039b5780638f0fefbb146103b9578063938e3d7b146103cc57806395d89b41146103ec57600080fd5b8063313ce5671161013e57806342966c681161011857806342966c68146102c5578063449a52f8146102e55780636f4f28371461030557806370a082311461032557600080fd5b8063313ce567146102745780633644e5151461029057806339509351146102a557600080fd5b806306fdde0314610186578063079fe40e146101b1578063095ea7b3146101e357806313af40351461021357806318160ddd1461023557806323b872dd14610254575b600080fd5b34801561019257600080fd5b5061019b610502565b6040516101a89190612462565b60405180910390f35b3480156101bd57600080fd5b506008546001600160a01b03165b6040516001600160a01b0390911681526020016101a8565b3480156101ef57600080fd5b506102036101fe366004612491565b610594565b60405190151581526020016101a8565b34801561021f57600080fd5b5061023361022e3660046124bb565b6105ae565b005b34801561024157600080fd5b506004545b6040519081526020016101a8565b34801561026057600080fd5b5061020361026f3660046124d6565b6105df565b34801561028057600080fd5b50604051600881526020016101a8565b34801561029c57600080fd5b50610246610603565b3480156102b157600080fd5b506102036102c0366004612491565b610693565b3480156102d157600080fd5b506102336102e0366004612512565b6106d2565b3480156102f157600080fd5b50610233610300366004612491565b610735565b34801561031157600080fd5b506102336103203660046124bb565b6107de565b34801561033157600080fd5b506102466103403660046124bb565b6001600160a01b031660009081526002602052604090205490565b34801561036757600080fd5b50610233610376366004612491565b61080c565b34801561038757600080fd5b506102466103963660046124bb565b610902565b3480156103a757600080fd5b506001546001600160a01b03166101cb565b6101cb6103c736600461252b565b610920565b3480156103d857600080fd5b506102336103e73660046125ce565b610a84565b3480156103f857600080fd5b5061019b610ab2565b34801561040d57600080fd5b5061020361041c366004612491565b610ac1565b34801561042d57600080fd5b5061020361043c366004612491565b610b53565b34801561044d57600080fd5b5061046161045c36600461267f565b610b61565b6040516101a891906126f4565b34801561047a57600080fd5b5061048e61048936600461252b565b610cd1565b6040805192151583526001600160a01b039091166020830152016101a8565b3480156104b957600080fd5b506102336104c8366004612756565b610d14565b3480156104d957600080fd5b506102466104e83660046127c9565b610e9a565b3480156104f957600080fd5b5061019b610ec5565b606060058054610511906127fc565b80601f016020809104026020016040519081016040528092919081815260200182805461053d906127fc565b801561058a5780601f1061055f5761010080835404028352916020019161058a565b820191906000526020600020905b81548152906001019060200180831161056d57829003601f168201915b5050505050905090565b6000336105a2818585610f77565b60019150505b92915050565b6105b661109b565b6105d3576040516316ccb9cb60e11b815260040160405180910390fd5b6105dc816110c8565b50565b6000336105ed85828561111a565b6105f8858585611194565b506001949350505050565b6000306001600160a01b037f0000000000000000000000008143182a775c54578c8b7b3ef77982498866945d1614801561065c57507f000000000000000000000000000000000000000000000000000000000000000146145b1561068657507ff7f48b0ee6cf986eebceb1b73e49ece55a21f2211edd6c8f8b116e58fd13334b90565b61068e611362565b905090565b3360008181526003602090815260408083206001600160a01b03871684529091528120549091906105a290829086906106cd908790612846565b610f77565b3360009081526002602052604090205481111561072b5760405162461bcd60e51b81526020600482015260126024820152716e6f7420656e6f7567682062616c616e636560701b60448201526064015b60405180910390fd5b6105dc33826113f7565b61073d61109b565b6107895760405162461bcd60e51b815260206004820152601760248201527f4e6f7420617574686f72697a656420746f206d696e742e0000000000000000006044820152606401610722565b806000036107d05760405162461bcd60e51b815260206004820152601460248201527326b4b73a34b733903d32b937903a37b5b2b7399760611b6044820152606401610722565b6107da8282611545565b5050565b6107e661109b565b61080357604051631c98210f60e21b815260040160405180910390fd5b6105dc81611624565b61081461109b565b6108605760405162461bcd60e51b815260206004820152601760248201527f4e6f7420617574686f72697a656420746f206275726e2e0000000000000000006044820152606401610722565b80610880836001600160a01b031660009081526002602052604090205490565b10156108c35760405162461bcd60e51b81526020600482015260126024820152716e6f7420656e6f7567682062616c616e636560701b6044820152606401610722565b6000816108d08433610e9a565b6108da9190612859565b90506108e883336000610f77565b6108f3833383610f77565b6108fd83836113f7565b505050565b6001600160a01b0381166000908152600760205260408120546105a8565b6000600261092c6116a0565b540361097a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610722565b60026109846116a0565b5560408401356109cd5760405162461bcd60e51b815260206004820152601460248201527326b4b73a34b733903d32b937903a37b5b2b7399760611b6044820152606401610722565b6109d88484846116aa565b905060006109e960208601866124bb565b9050610a186109fe60408701602088016124bb565b610a0e60a08801608089016124bb565b8760600135611837565b610a26818660400135611545565b806001600160a01b0316826001600160a01b03167fc4d88b1adde72eb5acf63f3e219ef5b223262233acf507c3b171277c91973c6787604051610a699190612883565b60405180910390a3506001610a7c6116a0565b559392505050565b610a8c61109b565b610aa957604051639f7f092560e01b815260040160405180910390fd5b6105dc8161195d565b606060068054610511906127fc565b3360008181526003602090815260408083206001600160a01b038716845290915281205490919083811015610b465760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610722565b6105f88286868403610f77565b6000336105a2818585611194565b60608167ffffffffffffffff811115610b7c57610b7c6125b8565b604051908082528060200260200182016040528015610baf57816020015b6060815260200190600190039081610b9a5790505b509050336000805b84811015610cc8578115610c3657610c1430878784818110610bdb57610bdb612919565b9050602002810190610bed919061292f565b86604051602001610c0093929190612976565b604051602081830303815290604052611a38565b848281518110610c2657610c26612919565b6020026020010181905250610cb6565b610c9830878784818110610c4c57610c4c612919565b9050602002810190610c5e919061292f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a3892505050565b848281518110610caa57610caa612919565b60200260200101819052505b80610cc08161299c565b915050610bb7565b50505092915050565b600080610cdf858585611a64565b60e086013560009081526009602052604090205490915060ff16158015610d0a5750610d0a81611ac8565b9150935093915050565b83421115610d645760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610722565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610d938c611af7565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610e10610df0610603565b8360405161190160f01b8152600281019290925260228201526042902090565b90506000610e2082878787611b1f565b9050896001600160a01b0316816001600160a01b031614610e835760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610722565b610e8e8a8a8a610f77565b50505050505050505050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b60008054610ed2906127fc565b80601f0160208091040260200160405190810160405280929190818152602001828054610efe906127fc565b8015610f4b5780601f10610f2057610100808354040283529160200191610f4b565b820191906000526020600020905b815481529060010190602001808311610f2e57829003601f168201915b505050505081565b7f1d281c488dae143b6ea4122e80c65059929950b9c32f17fc57be22089d9c3b0090565b6001600160a01b038316610fd95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610722565b6001600160a01b03821661103a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610722565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006110af6001546001600160a01b031690565b6001600160a01b0316336001600160a01b031614905090565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7690600090a35050565b60006111268484610e9a565b9050600019811461118e57818110156111815760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610722565b61118e8484848403610f77565b50505050565b6001600160a01b0383166111f85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610722565b6001600160a01b03821661125a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610722565b6001600160a01b038316600090815260026020526040902054818110156112d25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610722565b6001600160a01b03808516600090815260026020526040808220858503905591851681529081208054849290611309908490612846565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161135591815260200190565b60405180910390a361118e565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61138d610502565b80516020918201206040805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166114575760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610722565b6001600160a01b038216600090815260026020526040902054818110156114cb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610722565b6001600160a01b03831660009081526002602052604081208383039055600480548492906114fa908490612859565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b6001600160a01b03821661159b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610722565b80600460008282546115ad9190612846565b90915550506001600160a01b038216600090815260026020526040812080548392906115da908490612846565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b03811661165657604051630f7cac3760e21b81526001600160a01b0382166004820152602401610722565b600880546001600160a01b0319166001600160a01b0383169081179091556040517f299d17e95023f496e0ffc4909cff1a61f74bb5eb18de6f900f4155bfa1b3b33390600090a250565b600061068e610f53565b6000806116b8858585610cd1565b92509050806116fb5760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081c995c5d595cdd608a1b6044820152606401610722565b4261170c60c0870160a088016129b5565b6001600160801b03161115801561173b575061172e60e0860160c087016129b5565b6001600160801b03164211155b6117795760405162461bcd60e51b815260206004820152600f60248201526e14995c5d595cdd08195e1c1a5c9959608a1b6044820152606401610722565b600061178860208701876124bb565b6001600160a01b0316036117d45760405162461bcd60e51b81526020600482015260136024820152721c9958da5c1a595b9d081d5b9919599a5b9959606a1b6044820152606401610722565b60008560400135116118105760405162461bcd60e51b8152602060048201526005602482015264302071747960d81b6044820152606401610722565b5060e0909301356000908152600960205260409020805460ff191660011790555090919050565b806000036118765734156108fd5760405162461bcd60e51b81526020600482015260066024820152652156616c756560d01b6044820152606401610722565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038316016118e8578034146118e35760405162461bcd60e51b815260206004820152601660248201527526bab9ba1039b2b732103a37ba30b610383934b1b29760511b6044820152606401610722565b61192b565b341561192b5760405162461bcd60e51b81526020600482015260126024820152716d73672076616c7565206e6f74207a65726f60701b6044820152606401610722565b60006001600160a01b03841615611942578361194f565b6008546001600160a01b03165b905061118e83338385611b47565b600080805461196b906127fc565b80601f0160208091040260200160405190810160405280929190818152602001828054611997906127fc565b80156119e45780601f106119b9576101008083540402835291602001916119e4565b820191906000526020600020905b8154815290600101906020018083116119c757829003601f168201915b5050505050905081600090816119fa9190612a1e565b507fc9c7c3fe08b88b4df9d4d47ef47d2c43d55c025a0ba88ca442580ed9e7348a168183604051611a2c929190612ade565b60405180910390a15050565b6060611a5d8383604051806060016040528060278152602001612b6160279139611b8d565b9392505050565b6000611ac083838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611aba9250611aae9150889050611c05565b80519060200120611cf9565b90611d06565b949350505050565b6000611adc6001546001600160a01b031690565b6001600160a01b0316826001600160a01b0316149050919050565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b6000806000611b3087878787611d2a565b91509150611b3d81611dee565b5095945050505050565b801561118e5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601611b8157611b7c8282611f38565b61118e565b61118e84848484611fbe565b6060600080856001600160a01b031685604051611baa9190612b0c565b600060405180830381855af49150503d8060008114611be5576040519150601f19603f3d011682016040523d82523d6000602084013e611bea565b606091505b5091509150611bfb86838387612011565b9695505050505050565b60607fbac245dbd9b8b2bb334c0675db20a7a7a8506de563990c4ce3207f4c3c5b75e1611c3560208401846124bb565b611c4560408501602086016124bb565b60408501356060860135611c5f60a08801608089016124bb565b611c6f60c0890160a08a016129b5565b611c7f60e08a0160c08b016129b5565b6040805160208101999099526001600160a01b03978816908901529486166060880152608087019390935260a086019190915290921660c08401526001600160801b0391821660e0808501919091529116610100830152830135610120820152610140016040516020818303038152906040529050919050565b60006105a8610df061208a565b6000806000611d1585856121b1565b91509150611d2281611dee565b509392505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611d615750600090506003611de5565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611db5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611dde57600060019250925050611de5565b9150600090505b94509492505050565b6000816004811115611e0257611e02612b28565b03611e0a5750565b6001816004811115611e1e57611e1e612b28565b03611e6b5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610722565b6002816004811115611e7f57611e7f612b28565b03611ecc5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610722565b6003816004811115611ee057611ee0612b28565b036105dc5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610722565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611f85576040519150601f19603f3d011682016040523d82523d6000602084013e611f8a565b606091505b50509050806108fd57604051635fdc4ec160e11b81526001600160a01b038416600482015260248101839052604401610722565b816001600160a01b0316836001600160a01b0316031561118e57306001600160a01b03841603611ffc57611b7c6001600160a01b03851683836121f6565b61118e6001600160a01b038516848484612259565b60608315612080578251600003612079576001600160a01b0385163b6120795760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610722565b5081611ac0565b611ac08383612291565b6000306001600160a01b037f0000000000000000000000008143182a775c54578c8b7b3ef77982498866945d161480156120e357507f000000000000000000000000000000000000000000000000000000000000000146145b1561210d57507fa487d677bf3ccb181bf4e52065de44628574a4eb0261b91e55168cbcdad6a89c90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f7c2e7daf790c3eacbf539a2e0f4a7d8ccbd8864a7ceaa0f02d937758cb1d57c9828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b60008082516041036121e75760208301516040840151606085015160001a6121db87828585611d2a565b945094505050506121ef565b506000905060025b9250929050565b6040516001600160a01b0383166024820152604481018290526108fd90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526122bb565b6040516001600160a01b038085166024830152831660448201526064810182905261118e9085906323b872dd60e01b90608401612222565b8151156122a15781518083602001fd5b8060405162461bcd60e51b81526004016107229190612462565b6000612310826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661238d9092919063ffffffff16565b8051909150156108fd578080602001905181019061232e9190612b3e565b6108fd5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610722565b6060611ac0848460008585600080866001600160a01b031685876040516123b49190612b0c565b60006040518083038185875af1925050503d80600081146123f1576040519150601f19603f3d011682016040523d82523d6000602084013e6123f6565b606091505b509150915061240787838387612011565b979650505050505050565b60005b8381101561242d578181015183820152602001612415565b50506000910152565b6000815180845261244e816020860160208601612412565b601f01601f19169290920160200192915050565b602081526000611a5d6020830184612436565b80356001600160a01b038116811461248c57600080fd5b919050565b600080604083850312156124a457600080fd5b6124ad83612475565b946020939093013593505050565b6000602082840312156124cd57600080fd5b611a5d82612475565b6000806000606084860312156124eb57600080fd5b6124f484612475565b925061250260208501612475565b9150604084013590509250925092565b60006020828403121561252457600080fd5b5035919050565b600080600083850361012081121561254257600080fd5b6101008082121561255257600080fd5b859450840135905067ffffffffffffffff8082111561257057600080fd5b818601915086601f83011261258457600080fd5b81358181111561259357600080fd5b8760208285010111156125a557600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156125e057600080fd5b813567ffffffffffffffff808211156125f857600080fd5b818401915084601f83011261260c57600080fd5b81358181111561261e5761261e6125b8565b604051601f8201601f19908116603f01168101908382118183101715612646576126466125b8565b8160405282815287602084870101111561265f57600080fd5b826020860160208301376000928101602001929092525095945050505050565b6000806020838503121561269257600080fd5b823567ffffffffffffffff808211156126aa57600080fd5b818501915085601f8301126126be57600080fd5b8135818111156126cd57600080fd5b8660208260051b85010111156126e257600080fd5b60209290920196919550909350505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561274957603f19888603018452612737858351612436565b9450928501929085019060010161271b565b5092979650505050505050565b600080600080600080600060e0888a03121561277157600080fd5b61277a88612475565b965061278860208901612475565b95506040880135945060608801359350608088013560ff811681146127ac57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156127dc57600080fd5b6127e583612475565b91506127f360208401612475565b90509250929050565b600181811c9082168061281057607f821691505b602082108103611b1957634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156105a8576105a8612830565b818103818111156105a8576105a8612830565b80356001600160801b038116811461248c57600080fd5b61010081016001600160a01b038061289a85612475565b168352806128aa60208601612475565b1660208401526040840135604084015260608401356060840152806128d160808601612475565b166080840152506128e460a0840161286c565b6001600160801b0380821660a08501528061290160c0870161286c565b1660c0850152505060e083013560e083015292915050565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261294657600080fd5b83018035915067ffffffffffffffff82111561296157600080fd5b6020019150368190038213156121ef57600080fd5b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b6000600182016129ae576129ae612830565b5060010190565b6000602082840312156129c757600080fd5b611a5d8261286c565b601f8211156108fd57600081815260208120601f850160051c810160208610156129f75750805b601f850160051c820191505b81811015612a1657828155600101612a03565b505050505050565b815167ffffffffffffffff811115612a3857612a386125b8565b612a4c81612a4684546127fc565b846129d0565b602080601f831160018114612a815760008415612a695750858301515b600019600386901b1c1916600185901b178555612a16565b600085815260208120601f198616915b82811015612ab057888601518255948401946001909101908401612a91565b5085821015612ace5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612af16040830185612436565b8281036020840152612b038185612436565b95945050505050565b60008251612b1e818460208701612412565b9190910192915050565b634e487b7160e01b600052602160045260246000fd5b600060208284031215612b5057600080fd5b81518015158114611a5d57600080fdfe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122063cf4382710df7e46f1c170e619f6d9cd44afca04119f25be5ead6dc9fd6407864736f6c63430008110033034668f7e91958c8c4f96ca5f35ada959510bcea5093e9f443f99f639265b53eca039cd54e5641b0994fb862377cf7cf53aa62e81f7fe35e7da59c1fc754519029f6030401acf8564835a61692430d65c6ab09816b757e9cae7e8fcfeac3eb39b9eb0903e05a0f7954e7d1b29009bfdddee1203c81d76c121561de65220028a025021b5f03ff9a2422f8123c08fe6ab4f3dc679e6144032dddbde69815a16be466eaef6b1103b801ce655773dcde9d39e96d6d4813a837ab02b89099e9b3976930b80476278903f6c1c0de8b24dea1ee1efe23f9de65c36ee199334d7b38babc6728b56b00b97b038a9d0fa7be2d7b7317d89939839779eaa0c33b9aa0fe9a5078156d8905005776034b86d0a7ecb0b3c40adb87e326bc46424f2515d4f16f06ed2ce2388b695ef3280382aba465b50b576ec62565933a62c252714cfd70514a54ec76b27f4cf45ba60103604a64ae84c54090e122f266759f8a971b0f822d8c49f2fb3326e62540b616cf037fc4f9c9433bca2ba6bbdaf2d73e65d31363fac02b211aaac7d02b49aa861f4b030936ad703bf41e5f99325d47d77b2c88a500c9080949eaeffd112d2ea425997a00581f02fc1bca62044cf3b468516fe1684a0a0d8ae49336340e277f0d83ed75e7e8461c6eb351522800581f023f405dbf1a3f07765d5c0fc5dca3c0bf295804451a8c0ff7ad4a3968dba65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f027e2823e339e0981650c1e576d10a9fb2569d9f0a2f56c96abf21d437c2b8410100581f0262b18590e78cb164c50395335a448ba2d75ecc9c9ece9e9c6ce59144f681410100581f022fdd2f7664b0a7cc6e12e1e34a000c2c2850f7441b8e5bf42fbf8dac8493410100581f024ae3ab8d321b64f165c54a000a7f83830f84f10e3054396a05021207325c4602912714c2c502192ddc03ffb689e3dfb24de0659d1e888ac60a2cf759316fd9ff813a5f8408bf2978e45803dec852c86b72576f2533c1a997e72c294cd4866086104320421738decacbe66903d6a27c28e07535db9bac6b53a928bbcf79303b39bdb556cd37bac40b834b8a9d03ea6452b1698ab3df1b188f47ee9b9d5160ec4f59da8375d6fc088b489603a88f03b13ef5715cab16f152fb66e94e303dde4ede32a29a8ea2a8969d615fd35f313603b0a7a44961f410fcc541aa91188e5e2ebba82e341cafa0357eaba0cbc40475ad034cbc69195fe7e0f146c405755174bcc34bd8a7981a92941d80c83063824c4cd103d0a887d4c4b370887adc4e4b1e06ca7f62553874ded0a5bfd2f821bf1d14ad9803f36f290d06c1eefbc9531ee8b5295e7cb0041055872c9cf5c23a1f41ba0e72fa035235d2f7907e12015d6071ff3f8d865a4b099b1915c55da824dd2b25cb06ff660331273ab7731822945048651328461807e806e7affc85400c82098d89fa3006d90219ffff039ac485964fd16ef00456c2adcbf72d439fbe60451b5317538b286008684ec4210311e37558959d0c264c957f788bda9d5a6ec0cb2c7c9e591d751499e583a6096d0382e111a51d8f56372ef0f99a7435fb81493d1e6fe1cb2a56eaa9ce76ec01bd79035585b5da186519d0a389435130b897943108e06349134186b948b71c355445ba037a5f75581d1637176c410ee81dc59056c0c01e0595ee4a748110d2ea2f840bbc03072dd3ba2fd29af87de78517629df8c351863cb91802c37a35e55d6a8946aef0037c590905b069981910e67cd6cba815c40a3caa6385695210a1b696fbf4cd2d3103bdc689f36573ac94d63d383dc20d17734a5750ba1ef524760a8899ac0917a29b0334721a4d01c6de211b68441c66021f2ccd651d97fba7eedbebfce09a33ac022b0219ffff03f78b897d297b719088816c1b2bc2120926cfa266f06ca6d4f1d9ffe6c12c153603ebf022c5996b82389de3d92173e5cb295a4399ad43b58d89e41f629155ec74cf03f43df1880a802c9c9e928bcb59da336fa4aa076d8d4347e89ea860580aef88070332e428985fdb3acbce63cfc565b7d2ffe64a7a3f1595dca9db83848ecef8345503e9db8d438061cc826eed111b424700ede31b95751490a933134237057cc7673403d104940c1c848d0332c90b480d069e4585269573e8adbbfcd4af08dbf232910c034930068f1328c3999c5a3eac4668a3080e85d5acd491c8bd2a0b70e102f9c27d03fffad2f959f87c7dd2748e33f80209596c26976ba34e34306d9cadf3a11b581a03f501433b0522bdfab946bb0aaf49b5ad397ba44f3c392d3cbcd148d487fd1dc3032d3d315a45444614f6cfa9b01e1449af96e2275d56e05fcb9b816afaa086e8af03dda2cb1270dab7167356bde69f6f5d54c84b91ae674652336b9dcdb7c79cfea1034f659f1eeaad39bf86b6c262140ea0565a2d692e45935dc45d48b04c32c7f1fa03d90e4789c9884f01d15a660c8669a4df2d66b8d194ce1309309c798dc5bd28f403cd1efa03378089dd554b2861a62753edcccf6afc4653d3ebae347949ec32321103ace01a71692c1fbbc51a6049e509d8a8ab1cf6018301c2b3b8629f255282184e0219ffff05581e03a0d417d01df087e170110dc0b6e952156f19d396bcad62d7e2655885d00701192bbd03031e70b5d934bd0fa5a2533105a0124756fbd8d89566c51be417e358e8721e1105581e03aa10cc971bf04beff3853fa2109b776fa995ef90694d2fc5c5c35658a0040105581e03aef389735568480435d36943b231119ce884efd1f41ea4d91e0a4bf720040205581e03bcda42357861e162be6c7178d7b4dd672a59a9704dd9c31c890acb833004181a038ae7f50ee86ebf94a9ce517e9223fc451cf025de6940f599165481a6890c350d03d2faa9bd8386f364799f5755eef47eece16763bc78b39f126b0c8f6b0bfdb228036a0d268e72513ef95799b8877d76a710b593cf758ee0cccaeeaf2f1cf622bae505581e0386577000a5e4bb70542762c587b120f0f2d26e1aec781d995c15200f800c01465b48befca0000219fa320396797cb8f783914be72d574798808a882383918acc7180dca10eb957b40428970338e3c4a02dccf5b526d5c2195c4b2ae35a2a74ba916548be80aa7aace60cfefc0327d6cb85da2e4fa801c8cef12270b19b5f9d22a2add25c1145e7f4ae63f2a8b203988e9a7a18eda8619d8c024223510347ab4c7b1acf49f991ee08032144d9e44a0391be0ca1179dac078ac3a7b56171a7e39cefe7bc01353b69ce3429c434db7c5d03c0874b920aad6699f2eb72f61d6a9c14c60f3bf7f49c0bffe6904bb2c93ef03f037847b6b5b1a7b58bed4036ff183e33166d9601d8ff15253ddd1df8e1a23c17dd03d8edd3663ea135282ee96fa0d2b18cbef6cc4fc82337c20d4e2477eae7f6521103418012550d7430e79859465fd61b915d3b2b06bc140b68d6e069c936b1b16a5f03c67154afda72d171819791a2ee2d6c83223b18d613332722338e90752e0dd6fd03497c6c49f4f078d145f996e5a8c48ee6998b021e344b81e8d6b3426f4e9ad96d033c10ffbfcb1030c612c2691c6dc5ce5a17a1359f947faccd3e0acf63052aa980034298194c79af2b928752ec40755453aad085f598a501e293cb90cccc4593db0003bb37db97bf13a0a653dcffcca0976726f7b215b035c6ee39b5296ad9c2f7184c030ad88cd4c1f9c6a7416d742e3ae11de861c345c76bd770647565d4b71068dad90219ffff03e86c82bb0d333d57eaddac1e68cebb7d6dc7affc87afbe567337fe7d92e5682b03a361cb15b829310aae0dad6fd594d2334efa01175d07ff14170d81782bbedb980351a69cdbf5c3878ac4a9f5332a174587364f990491b8226a011c54e753419c2103af510123116bb294bf0fcbb8cd91481ec4b2f5f8abb6ab533e700e9631f2a72b0396f33192e7d40757b6e4e20dfddcbe5e3f350f0792ee9acb0cc26b678bfab8620219ffff030225a4d204ffb015bf3560dd723e1084e32c4cf34c59ec88eca153a55816fafe03f5603fa5d0ace3af1df74cd38a42caad11d889a807e1a0c6827a60d654726edb0384c987085be511c9b4859b48f6d3a2a98370b6d44110a4709e63bbd3d309c6820319c7e83df5598ba4144a09413c0a02dab7e5f070cf80587c4ad7195fc5ee86720394611a9d228bd4e30e934280fa00c1d60c2b3dd1109efb223bbb59373cd49ea00390efafd51ad73b6429fe9c354f73ce0dcb5700ec73adadf5ddad8053d248cfa30307b08e02a7e7b821e23d05c40d334f5ff28946bafd1060d99e73577b1847422b0219ffff03d51a47edaea8da8da1b654d12755b95380d5c25be94f7fce31173dc2e0af353a030b2dbaee56601b61fcf76a32db7a70fe206e7bc910d9bcdb99660d4b0dd34a43034ccbea8a9cb60db09ca2c4f367f55de176c685b1e165ae172644193df54440cc031b4899da9340c394c95b071b579be3d4ee2fd4aa6c091279b51c6831698f8523032a7c42727bab85e677c641bb8a2d0e9a20dc35fa41e6747e59c18bcf8827be0a03691b5d8fadf11158f4c0748ec2d74cc969be0b5cbda1bdd73a574ca8bbe6dfc203c0f5535869672edf6436023d1e52bcc6df5d51fb614773b52ee39dbe99071c7003f6af11cb36963db07b563f13d3752a3f1109a8b2ae2ed72b628dc80b0a0ac386036960001a9e29e92d0a08b81605fd5a33b6e98e30263c6800f2a3a9095a86f64d03471a3e00e1d81fd82bc8434652d45eb3cb4a7f154d198746139df182c1d91ebf039dabb6b479f816f2cacbec8caee7e25edb5f646c118cde4817a378f83b5daa0d0335b5a01231618be2752039dd01597ac0d2a3043669f0d4bff59ba66091f1e56f0328eb5f0b22c40899fe35d098e6e644ec133cf1dad3e203959927476be272232f0360fa6f090396de57ff4d6496598f7e27c93863f50d77282d84855b77d44b1b280352a9af090fa5d767960ccef2a7775ec066bc8d77fe42e930667003f37e7fa1fd03b04ba0b239ce06f0d6872fec48f054e6cc19c02b849355ef06a72b7dcb37c85d03017b6f6448f42afc868ba117fca9e63284ba17278926d0b01d1ee7f827ecac460398992b1566e3f27b5c7497c9d3cab18bc4833991c6cea83427a812cb44127ee203348b079bd158952c14d31ce417a9d029c9a09877806a288d58bd7239df89cdef034147dad771603893b27c736a5ab4fc9746dc3dac8350c8c2d84153ded0e333fc033fd036f386ecf5506767299f6a2f75c97054338d2118ec76db9ba3e038470b5f035fcee7c4573873bd859362f03a62f56c3adbe5c557ba5ebdeeac759f3bde1b25030d5ba294d587115fcdb893b5d4de8d961bf2e24932301aca010520191f50ea830388f305f61ec87ee4c51612a193f8ad5b073a5e4f747553d46eb5e9be95d7e4a305581e031f85750c4d5e0d5d9f53f3b0f9149ca0bedc37fdc5ad8c28a6b7ca60a00c024701978421999a90031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e030392a279dbc960bad788415e46c250213d3f18c42f5efefa8686358d3007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e036e045018797848e863f21a5abd4f00265412b84b58bb30179e6a2b2cd007011bffffffffffffffff0459034d60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b4cc25ee0a1d68f32f84fe62a9fc5447ef0a66bcc894d39af42c6ef4be931c9764736f6c634300080d003303d0ca7a65cb06816f0413aa27e5c041a6d0fd48d317564d2b3877571b12d897c603f2d083f84b6b1bf43d7d2faa7293c349f580561e41e9a4844dd402a21c65106e03941fda9e8a484b52a0ce0aee9b4ec56da381f56fbe5cbd912102780826f5ec2003060fa3c0aeb90011d418a40aeb5429a780657e67df24613b76ea043eea2c8f030339d462f131d73de0e30eb766f8f35bef3e9cd01e1322151b6fb40f188ba16bf403b3dac59cd964ee5a3166bba76feef70cf90b3f19eb65e252639158ad313ddc6a033a53ff4544aa701e900d8fe0024e8e2f08921f4bf054b1338515f0050e2dd8b00362a6bf8c8d9089a22dae5933c2be1effe8f6f63ad66f593d0e4956a34a50af20034106da826ae0bc0af9b8cae83ee97087158b88a8873a75e536c029025ba865900336cd8eccbefdcc9aabc0c3cab2f68b4c560364fe2022c3c5367dab7a1ab60dad035a61e755698d42f85653cf2de7a3a2d48081649fe48315bcf1a5065357be0f6b03a7d422b8f5aa3f3de2b67cb9e0c9c6f412d561258e0b267cd602de9ba58c7114035cdd4a4ebe18f0d06495496c5972b01c0f56fca317ddefaeb10ee8176b635be4037f8ce6f6bff72ec3161bac0238804b5a5c4f8b1505aaa5a86104441423060b8703f668367d5d2b9ebe71e33ed941d2f7a14f0b85009421fb2e3e7ee1376310b9eb0374f167b8fa33a64ecb8916b42c2b1b4e1273a9b8af919e9f5de7fd3b505c721b0390efb4c33e41dad198bcd58176cacdc970761c3db2c05d1a56757c602ed1778703d7fa9bd74d8a406f03fef698ab41ab46183c54cecb8533d25c8ac637fd6a9eaf03cd02e3d88062e7049c475d4614ef719cd49e51ab9034094f0d698fe10b82fff803e0eb0f3b29a1e61673b9730015b0629d62903a24187b7350813d15e37e388620035254ebc9bf7c9eacde0e14df77ec604fa2a1e453bcbd03c6bf12e92b79326b1301410e036292c09f89bcbfd60a009b45f5ac4d58ff54cd093a93f5b99e3458721ba395e203a89f10c47972ab46683a4b59e29f68e5d149f8bac0ba23149b01e4f2bef1870c033ca13b238aba2a3f91371c864c207d4ffc39bb70d25de703b385d5b45109f60d03769cd6502501270665a59a877c6e38faea1205712114984f850690ba0dbf554703f00fb7568efad725edc5e209bb06d6b46e6826eb59cb278058d14f815b2db1fa00581f03674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee104b016c9711083cef242ed4ca00581f037398681301e126035911588b0e96b7bfeea24ba63391a5828fa2f04f9e50410100581f03742034fac92a1bd2bf3173f27aabd5edb9742c7bca1c814e1f85e1595ad0410100581f0359805aa5839e001b9acc8499d0c703b2de2b6b604f016e8ecc074a0106d0410100581f03bcccee94a4b9c691e223685d62a48c6a86c4b5cef25c94c662c905d1a68041010311b30c02727cf0ca058440bf338e9f676b5c8591777b784df53d182e86aa86a10219991403ff4be5edd894cad0a56c0d816407779a186523eb3560aa5525b9190753af0bdf00581f02d1ef386a52db2757b0450bb5839ad51151d7308fe787ebe9d91631e349834f03da9c4a9956a4beb27e5d26b494380336c9fca6dc048c6feb4ea7f5a10599a066ab80d4155b0f72403e2b488b63004500581f02b8d6a3ecc8016f128b42cc54e8249cce03f26055c0bc027d0572cafa65bc48015534c642488a3f03f8388033424f076902e907e658899d732d08a33cd4fe1a0efd58162cc64058a901410003f3be76ea4a6473477ecea2d8263c39ae23465d4b5ca104a7283ec5110ed534bf03cb22704b5ddad91ef87ecbbaaebb17b66642e9cbea2cae85c4c357a33bd7260203acf29ba811f6fd959a2eb853847dcc7b3c4641e166902d69058247a0e50b046d0219ffff03985dd4f3acab89b6869af5f2d5156b5755a73ce520f069caba77c2a466966a4c03dd5d50514f69e6f2c96e7f4fe1712b43f6851274fb24a9120d4b9607fd2b6c980219ffff03942ffa003a91d27977b550b8061924827aa43f2572b4f41fb03d6a9008f02392033a743c77a4ea0f26c83e958b6fcf3bbebbba1f429af0ad1c99aceb82e4e46d0203254992426d3dca1e83bc8237a8db3f851805f73268fee43e1774b31eaba4acd4033c8201cb97ab421acd70a7ea3055e759258caf8df0cd4fc66be3c97e95d0455e03fa812c558630fc59855e3f41bcb4121ebfe0a77acbd124212ffb56cf5995cb05038a3a91babc1cce092ae8fd094021bc652a6178a85eb4c88f8cb2a93238f75c110313cbda4b563e687220e4205fb52bc716da48283746428277602339f7c761ccdd030ae281c13d8a6ff118f1d2d7ad94278d96d5757ace6150cf979785ac5e013c0d037808268869c8a41664c4ed64ac52ba90098d8e3d6a3f9feecba1ab6a74048f04036b917b4ea014040672a5d74ea41bc66809b161ed066897796cb9eb653a42f16703ff5d37c67d1954507eb7acb01bc49c4044dcfe02f8ada05743f605d0cbec33570320fd83751f9d7ea35102f9add1efed50f02c50a7f2f19940c5a67b309aa8be20032ca6012e67f5f031caa7905f5e6e949c87f67c1ef2709b6d8813c847751d41990219ffff033f3e32e20d9ec8918eb9c6793a29a328fd6f5d006825940b89751354dd53ae0903f46d0846619a324e504d0736717373907e8d4264b08c977e19032ffcfa547d7303d82d436b8bc7b54ec69f21081b0243f358a4003c4f034243a6b09bbaaeaf3da50348f398da42ff1e209c77d59f89db086c8c2bd914cfdbd3b1b1162d45a8e475a803ec91c04fee23382e643d823a0ab52c3bd34a64020377c6c3e63d2093daa301bd03bb203400df113f20c59b42acfd2f14475b800d269f758fd6d4a785f21da8bd4f03629878622e74fb4addac98f50fc9642209be9efb1b88e7a42d837570da9a9f5403f18f17c51ebcf44e6895b58f938fae7e5a6d724741d6eea6e4d5267c33f0122c03eb4fc5c72286293e94f55dae46fdd11389194a9c97558b65ec8a927a123ee23103964b77fa93b3e19a9237eaeb45206d1b993bfc65fce689034840087cedaf8b9f03f70e7b6b40aee2979cdd8eade0c34c07239c744f464336e48cfcdceedbc2b28803faecc65b36dd9a6be063da220529674d20a3c66b4484f9b41d3c16b4209bda42039b4d1924e37855e2740adf67a1df6b6a3cd1bff5045077dc33ad61aee7e0548b0341a7d5a6a2d986110e4e3fa23d322db9cdb675629ee9579190fb5c884337cda403d5e59ece121dfe5e394f8c6d03273e7673dbfbcef419f99a8b8cb59820a2425b035b10c017ba07a170ee5260afe18d5418247abfcb641ff742e4ae11405ef90dda03f853799a699f6f4c0ab4667435d1b03a77d47a44d8628055341b2ddedef5724e03011ac6012db1a28e41bb8d9dd229dbfaa0047d9e3dedbe661ba2aa9197ddb64003e4dcde332f045ef3be9810d2e7b15bcf021e72337841da40209f053b48595277030f06d40b1b2f44ac4138d0c588c6a42062185caae588ba8665f38fdffc4aeccd03012ccd27593b42bbd9d013bc0f986f3b240553fd5286e7ddc7836cdd8c7e36dd03855d8fb0b7bd1890ae233d9bed78e4821a355611ef03546a5e3ee3aa65a4b1b403cb227e4661114581d55b109453a07a93c34fc81494123a2c941d811d19dd37fc03f34cf3d33035edf2fea0c01dc60f0aab0e680b3a15e2dd0b86f95af5a5eb731d03a02cb07bd7c0082cc7d5c8991b9c2928f877911081cd1a17c28cead0291ff42d0340e50fdab837806da89bb91809294ea3519a9c8981fffcba9d6ce4622ad7ae9903c06fcd8f929f94bf6509d6bcae32bc699fb773861d70fb464f94b9f262bf32f503085bfd184f6d1d2fef09f8b32a175eb0f52132f19dcdf8433e6ce14da17db4b8035c08e103ccf4060ceba796bd761d191a4ea22a8abfc1052fe35e21e8436fa812031b365f01d0d78826b3baefb5fa1298dd61eee6c367f417dd14c36a4d131d7595031b1182975151f964df7edb6dea01fe31a712e5509013cdc5f22d6921aeaecd8a03084106b9f5f2c60222585bb864fca4b0f28da1cacbee94fd6be299b19c8d615d00581f034058c185b28d024b4a6d51f3416fb24ef96ea4426b4195f744ca0695c5c0410100581e0291166e23a45bf0f22a0aa7800c4fa88cb443abd956901958f86e33cc54410100581e02155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d2854308861a430be4cce5502d0a12724771fc6daf2160219880000581f03f0bc9efa47c6a305d02407ea032ccda47547e90e74dd87f7309653ce1800410100581f0361590b30b142d0cf386700ef2fb6797cf53198da6987554f4f9dc897558041010219103800581f0222991c2c49a0cf96c5fc4edf6483517371b2bc9eef3bbbf2c78dec9d06d25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff0394868cca6eb4cbfac37857479e0548b24863834dd8e6454c2bdc1428857526a10361bfe1e78fc29a7aa04440b7f516b6118f021b724f99e80c11b30be8035e306f03db94090ffc2ecdd8e67b335c53784d54e2e0f47598f4dfdb796579e0be9a8fae03ff7961c07ba495932f76eab82f0997e444b1121f2fdd4eef9246fd3be2887fbd0219ffff03673b90f359d81cb9f31db28ad0410cf7130329bfb9fbd7efbb07f9856d015a5603ff23966e0bb1cdd86d6bff94d60c67d37f350d945be290f0203ac19faa37cb2d038fd6530d657d2c568bba3428f247571bfa9e4e1a6a69fe262d504e8ffda70f0d037d19f734644499e6f7dff108d1ae679bf366bd90cf0ac47cc0225dbcd03571d003260c3f3f0002c7bab6925c2d4993712245874d8ab67975c429e03ae6d591546e03a8376d8033ebad10b51ccbb18c6f0fa509f92bd6bfe01854898edee13980e53e0370a5d8db795ce3abf041f6512c891b61c7d1175d738c51202f01a20cdea93fe8038663042f0549997acb3eb824c67b2d9fab2cf95e2df0a3378c4f00fb25ed69b103964dc5523dfcd45a8c986e1554968e7bb9e656f9ab4a3f3ef2160f7d6c573e9d0219ffff03ad2c850ca95659afd1886f6433ae2598ec657158313ff39ff680ff3c79c75dc0033f6dec7a13d3eb13c3145570e1c3a5b783f5515275f749497c49814843533fe803c5e818cc2bf49f4bc37505787da7800fb012dc0489a6d8339127bf0909c1c29a03cb45702d8076c31aa36fa645c38aeb5a669863b10e5ecadc5611649a521d80c003f8698b72cfcf40e3ff2793e5c92307a99c4406f362f45442a8adb3b97dcff1ed038db356e004a2f567747633e4d3ac19798f266e51e13bbcdfe58c89b03cceda6103663e74324912fc0c8c56a660183707a7155fee066112fe0589233b33b861efe503f234579aba337d22af651bc6859bd29897e42ea72d222ba9273732305129b51003632fc045ccca52d06c306c46bf6de2ff84560af0b6f5f07c94ad764448dde2a003db4eca718a447d126185f326dad8ff648d3d2d739be9b27faaa88bb0a3770a720341c1fbc1b1c1ba6b98d9a486ca11c68521f0a2df6e6d14e288f9ce6e97a121bf03b059488f6891b38af39296892b575a82f7bd237aadf2ea9f0374d1dbd798fedb03b7ec1fd71be5eb4d87a415e9736c695b5001d8edb4010dfeb77d0e7b817074220391f74838483295af60b7e918f4f80455346e73ed4e2cdd27fdd3d719b521184b03b3d9d4ec142df695941f689d9fe253c32115c6bde852ac581572aa275d2d83f203584778ce1cf230cc2bb39ec9c8077cc1d20cf30cf0442da466a14908e435d2e003cb7ba58ad398145d3459d8d6d816c3c3f92b2d851ed67c001a00080ac3a2def903f3431a716cac517b6a48e2d5b4f2649daf7cc5d9e56ec9af19dd5508d929302b00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0541b47a665364bc15c28b05f449b53354d0ceff72f00581f039114c7a787844c75a3ae7d6f423299853496154a5ff12b4432774025fba0410100581f031dc3217f15c6e5161881f1fed30bb24c4d57ba981bcb995cb35e53e63c3048046b1d9939da2f850219081100581f02883dd3c95762e659163a532835c9e8b56052f1c5ca3b5f3243af7094af224101035693bc963cdd4297c05d5dd736e6915c52058b7201a8402feeb82c4b64f49c5803c323a74481afb893f38951f3d8e648d892112c596879bb2c9d30e25db543154403ffbba33facf34110069a63f5cf0f77c3020143b7a1f8fd6bfd95e1e83b240e220377fee65f3d1343db4818e211c0cec916a27d08fc419c9bd7f3f6cd94bcd25be000581f02262cb5581757583c375bf35084ed97bf5da57b25a44fbe4f7904691f788f410103e15339ec4ecf52f87805ecaf24f95a7949ebf01c64b532305b7c3fe9d92c1ac700581f02915b275c5ee3553c0716bd877884b1dd3eb0a4b799f5de8a5dcb8d61df1d410200581f02969ddfb115d92c727936a81f7e15325f279c42a233737e60a0176bca35b14101031c704c56e5e0499a6efb4a69b6420771edf6883da0b546172e11da85a4aa5d260341e56fe4ad472307336bf73e070002e09c34217bd43bbbe427cd1cde4b0988cb035e4a7d5a3d12ba7599ff4f922cda1ce5dfadca7457d819d26b2c7b2d32c8b17501410c02197fff03b5b8aae36c63feb9e21b4d8b8caf01c17eba22c483bcac9d976cac4521953eeb035bf959b7c60f9c353d6584c0ce8821d453614a000baff972a3d530febbf58dd103feba7d6309536c5cf9e229979e12679f66b551dcecf92b158142db697e82f6ed038ca202a5dc25f233dd6153df13bc3ae860c7cba7d6a5274d68308420e213e2be0219ffff03985e792432a7c7aae00d76329dc1f67c3ae9a1e02b233ba4500540f8b980d8c6033983446809c8c9a4b10312fe280a29f23e92552a44b1ea65a2ef6b8529dd5cc30303b410e75c158fefd93c26cb47a8be6374df2b681032cf2b0e5e719fc4bbc8f00338aa8f9ea4c080d743e4ddb30a6a8513376cc8a0506c6bc8d52e22a1b63fe2d203dfca990f0163f34a0aa374087c2130d1a96d529b22047d3d87580cc9ce80c83d03a361b7cd241d12139b7f2fc3675eefa434598477ad7eaa5f6c9c475ddf4bc8b703b5bd90ca2f22ce76895a52fae4815a2b2feb5a75371e1df21a0d675fc7a923c50315785780ebc5a668545c5f1a18436a86bd611080ff72a715e14bdf0f6765d32203a833e79c1c6c200267faa43d286e0b8850ba1618f4c9c7a03a840c98e12c6e5c034c6dcb952cc0a0ece5cf589e0c5d61a99361e4594fc86f010d7af9371bd8ad580219ffff03c7b2ef48fc8d57ec0640573346def36c5ec0d85e36a239384c96bd8d9399448f036d65bf166dc2689bac7400b124b76394494ed6282db0f6c7f0713a1bc39d3f5203dc41b6e3305de6d992b6833e8baffa7316a5cdeb6b9b94c65105032d5ea514f303d8d7d64ea738c3dd44eb2108d5453ecb9edd46c7aaf2a9ad890b106c472383430345925a13f74d27a720a8cc0294ffdd608947d39d9fc4da80c61fbd3326b2c1a503725cea9ccc0b5192c877de39b49382d52d8ed881e64b2912b737e0ee0d5ecdc70310cc9e325247473b0a6f6682e04db6e3ed6fc4d5d4e691ad1fc5861fd2b49ad70392e5da715fae74a89af803aa10995704a769570339368fdd17e4838ba37e4c7303a327264475c3ecfca858725e34d86381ac99e12719aece89b8befff37103798d036090ea69f62a30d27110d3c3ac69652d404ed04e7f81a7a9c2da384364c5204803df76bb747c4d3f260936e92a61a152f099bf50523daef1ddab504eec2ea92a9103c1ba1ad74db7206fa5fe3431b424bc85e1686ead0de2cd12b42e14b7365c9aa2033b31e4f6a7fe3d81fbf49a2634f3beca0eacff6e2819387f24f23b25815aba4003234b6a1d2eb78dc8894d129efac8b66e1515f6120cb82a29d96833dd9c077ca1030b8b81854fda677fad84d82129d5366014562fe215d9e59d89afb7d6e6824af903301d243572804d90ea3f9e3cd14ac7554dda3fdf4ab7ae290aeb52d513262f6003eff91004bbef03a1838120783104608f6e3ed2b14c123a494e4609f4eb981f3a03283b7b126186ddc8ba2d7374881b4111da0a6525da810108151fd26f1432beb503a3aee6800859d2bb0606e4b34c2b8f4d6a1ab75f1cdb9df2f35a6ac57cea668d03aab64dc3166b0090c1e890b7c32a69ccff5024736bf0b5564fa07fc7e02e034f031bf10f2011062ff037b9fd1a3a609bd599116fe152b29354f94e46722379012103bf81ac8219ae809446473f3a9d2cbb459921bae088c44a7fe87abfaeee96240103fcc097bc6c76d070058547a14efb3c29a1614cc4430b7c3e4c4276247accc74f0341a106d2d73993c763b218e10f8f146fbf2f4941899c0d8045bd1404d20180c20371e32019bb95e8ca2b842955b54929cd9f98c46f4c655217b6c6694c45863ad20309029996f756ff13cb95ef98b3310673a3ddccecd6af697c7d8afd9dbdd6a38403181218ad1c3f4c0ff654b71c8a4330671f7128a4672248cc505a91a14231d9cb03be328f31a50797d6a302d3b4f57a200c6ab913a29689f0f6f542e0ef647833fd037c2a34f998775af728de8455d964fad469ac782d2f9b46044137bdcd4bb64699039e36114b4839ec6a414751f2d3beb6f28dbcc848765f8e56b30a571ed6a55c0103149f79c9b9687caef5354a43de443b8e5233342401f597858c2c022614c729f10375a81914b4351beb7327084bd39e8e17e457a5bf0f7ff469f62c02d034f4cc7a030fcef117b5db523a37ba890ae17731c64ac263bf30e646088dec3dff27afccdb033734e46c54f59dc61507eda9c75cd7ddd0451b2a3f9fac85ba74a7e84b45eb31038e460d8a758c0cecd49d6e7bb8646ff520d6cf6b1134e3eadac93760b5b0ec2b00581f02bf0b82764cf2b8c738c98c0038639363b25fd3ca86eaa8cfb2b021a06a4c4792395e23cf756400581f027a984d5dcb242ce2f41b79c076da34fd357b1e2642761c77f1868778d7684101038e77dd0e40c1499966972b0881dccdc42347683fed1e2a7f9164b9b57ff0d54f031d42c6736c70483cf4dad00db68c257865b71fb17f372d396d0f6bf5e51cc19f00581f02977f534f2232c059325a5b1f3a8462fb3363587b33a5fe3dc4f435db47a0410100581f03bebc57b090a79c8d387799d4f21cf76dc2a17cf639845085377c61fdcfc0410100581f0381dd85042a4698f9cd5052610e093287c2ea4e8ef4065c4609046f285150410100581f03a6cf33ffa834e1198d903455773bfe32e409529c942155fb8f7d0ceb847041010218540368a59c1c7711c15f0c0bda884004982215ac5b444ecdec0e245709e4e4c25773039df562f5ea102a3a345f1ab0f08473aeb1f6b84dcecc7d054a3d7a17c0c59a2903347e7ee58b508ba27e9ff7af8d0b594319ed0549e7f3d919c3997c22841ee8be03489aae6adb9895c876373db7e9048abfca3caaf5cdf45d8cb2c2f1b2c31ab27d0333b181500703c6639e80368d2533a181a405f4e1f4a42705d6fbc2a3be67be220350dfe32b8f00ec04f631130ca7465fe594a69dcaf56f5f793c8fb31ede0e77b1033f93ec6917135f01430411e4bfabe779c80aa176180a2c19c452d4fe941478ec0219ffff03eb98afda35541274a3d5305e7efe5216d92719b1435ad87daae0ee642f84641003097bf17ad921297b6beecce2fafc7219aa4f5d44248a60bef17c45c3933829380313cd038a09f001d7b00b1c9215768d631d8ec1218de7edc0dc47faecf4bf6c33032fd6c525addb997f568c110314e3c4cb6a2f7f7a77355268cec20553cb59981a0219ffff03f6e1db574599fb5ce5b19c6b59ebbee376dc09ac30915975f24871a9724ef49a0219ffff0219ffff05581d02f6abeb5d1f4b58879a5218824ed1f101dd93bd76994054b6f8366d9a070119034d05581d02fe89af61ff2157987e97b9c624a7a7874d05b195eea7a37e591aace10c01460da475abf0000219040105581e03a04fb44620df74bcfc70b259c7e8a67bec1a550b5d9ef2a593a65b43f00401021921c803046bb8d4fcb8b07c9a5ec19a05e3030dbb4356e9536ff3332453686f79d017e90219ffff03b65e7436e26a1a4dd6ae71e613b1d9d3f2c8d56ea017ad21348de572ad97502d032899e13c07f7782b8a1994f2be12231be378b402ac71d7567d0539d07b15975803c7b5cd6f52691f13e8074d99218c935df13df8d1b6eee7134b1dae78ad4670ab03882f9e0a261e968f7682e623389365a66b53041da1224d8088a506152c623c86030b5f251f5f8337454c6db5bbcd788820734558cab61a203ccd38e2bedd2ebf9903dbeae4cb0aa380d5ea6741c09eb00579e5b6d019e2bedff135c700c83c15912a03b5dbd07d6144c199d3abd58477dd4961d72a65e023c36d381c9cf93be8ed8a0a0306ad5eb67b9d26b6f69db9cb37d9f73105b111d3116c136958d21770403521d703ac70050bebdeb993d5de61ead529db2952decef7f1a75b9aa4cadb57723b4c2f030db78ad8e32b83d119f9fe23aec86f5051a65c370d2fceee9359147293a6cd28035171314586f14500d77b8d13bf603febb8f52cfd6d92a6c4ffe270f7049d3e8803e105828cc0e25f2b9c21a03d0b4c8c25b3e5a2629dedc7a41e24fdc8567f3d3903209dda84639c76227e62946b6a3dbc28b5c429a6415264937dd0d96a38216a9c03263c7b0ccd389fb23e942377c3c1e8827b483180348c48f98f022454eb5ab6d6036ff1d8bf812655164fd6edd08e2ba6fc077d44d16c6090b8da52273236192a5b0219ffff039d172ed930cbc4fb994837d61a27b5894ad37e58acab6c39991abe5ef3ec1e540333ab6b4840a3aa7af3985f4edd199ce092582249d3d6a397ab9d83a9c01d5547038c7dff06fa601f51dcc238c1d3019a74f0f77e6db96e4eb9ac7e546d1676062903a48924169fcbbc0bf065f961a6fd3be1098e15c529d0f82c455cb46f9cd2dec30313751678f4c4aa7c2c1ecf80c482a51bf55b4105f6bffc9fb4c2af5be873ab5d0372c40ae27637170bc7e1e20679dd7e5f77dcd2535cc248b692922f094625df7603f4ce124358adec133a7f417299a19dfc6c0534c4bf1e7f6a979441cbfb8d724e03043e7e6122a0c847ee3731cd2f5965590a927e54b7320c446d15c36172e573b003225e62f3cc2b852cc84983bf4924768ca96cbbb49f8ece00b449129e242356fd03a3ad6a923cf0ea942f785b619134ca8320bdc863b0d01d10ce695cce1e0e6dce0219ffff03793056939e775b6b710a6e08b23eb3323971ef9d51f7b462f1c476c418c78eff0349bcb7b8cde8aeeb6bc7efb20720fcb941913bfa33fcd546c0847384436ea6e803fa44593838735268d68f16cfbd7e03ae1d5cf347f01317912f7bd7c275a866e703de26555ee718d53647a9ee36660a5756abccea838853bc28a103cc9ef9482b1d03b1521739a834a65e32cf718a4393cc75f96a834302250fc2c8f91e2504fde4f8034056d0b9b97e08a50e28e0f270538521fa3104f5da21c61e72023b8018425f1603e96de8ae9668d0e550ecdb0b1c04b793ac68da30be61146a3c1716edc3e6a7bd038beeec53b3437abe0438e4681b0f62816d1d308851cde8086ff7b7ae76ad6336038f9194d681ef8f870b3251e6fcbadcab76aa983dca4a7d9c49200c7b7d0adffa0307d04fd1c7998c263fcadb811e0ebfbe4129f178fbeb8d3fdee060c4551f825b03df3ab478c15f39d04b2283e523c8d97a03cd9c350fa826fda818e34f7e1924fd03dab73b46a68bb4debaed59b662beadc125f62f75eb1c9e3057b3c8ff833ce0f20326c9c3ac5c9c97029a4db0b703228cfba8c986c21d9444ef6b8a6754980f1d5e03b9ec52f781e6a2989db9dee9e930ea30b397caad250939d05a1aef8cc5f842410326c9587ced5c840cca8faf021af39ce95f537a3fc2ae19c0db42c3da330c6a5e0371574c5ae8543a9a3b5092079f3b25c5b60751afd68600d9ecfdcdeff6cfcded03419383ca5b7a1cbb5b688063330db1ccac5a37c09830a2a44f6e24163b438bb903d9540c4c1affa388b81fa6b1c84215188701191086413afec60db9489d067c5e03bfaa358297833e889bbe23d84d66864678a07edd1c5a696333694a28089d06e603ef1f83edff4c086a77f236548b94f3c73d2607f5c38e557944c2a8abf427c60503f68803debcebc0f9c5b2918475a32d2a7df7fa2bda0623316510941e60a8c5890370da37263b0b5ea99248d8b61bb96133f3f2d1ceae52f6c8e86f5008b263e134034e4928a866bd230493348899e6ca7015551474cc8e3566dfba4b2813b45c4fe103698e83a2c7fe8946d1d1a4b98a75233820e042be7dcacc2614a416b95a5e19ef03da4e7adf350736b57ab2ce91292b3094e495d07a7e229224a24a09de6dac25bc033c674b93a22ed0628a50008c59c367d8be325e212e3df8941c4feba1c8b538f403d444767d110c3138bd961a2852495baa7b5dfc91d391204ec9720a4804825c0f03921b0f0293e59456c37b6b51e16cf5fdf1e3f7d5b655949ff6d4e5e4af3911ae03c3ce60b13943759dfc6d5a11d54234625fb73b4a600a90076d1223e8cdd46c9a03d06aefd2a846310fffe01e7ff329c390b7412b85e0fcac0471ba7ee6dcd9711303d32e5b36244fd065556f8d1f4aac524a5d784b741017ab155dadb4e734796f63039b1c5eb4bb2762a7d3d693b0f91d6216de113e4cac254fa8b5ea6e3ed4df3b6005581d0264c9369c7eddc06ca2eb91aa7d6addb7e58d5c253667ae506707bef60c0347842ad90433760f05581d0273864352c9e3f5a2bbed751ca00f757d3ef9127e8204c9e448e081b80c034807c91d08031dffbe05581d023f2154f500835f274c53accce2c454dba8c37fe009a6c49368b954f30c182547183372fce2c6400219800c03f68829a481ce513bd029e4c9f86b9a892e3de2377a1233c52a46f3744a90a2cc03f5a5f6dab8b3c087b734ea443a4b3a07033c9c6523f65955c23603e2af4b7eaa03b4e93d727b30f12f17d5449a528dc331274498fd7e5c2f4fdc2b334c5f0b168b0386c1193305b4719c06ce6b014705b44b460cc117a78ba26abaa2286e95c358ea03923cbd7fa18614395c7c2eb6f9fd2019532c6e8130f24a565a63616b66a273ec05581e0379d49356fb4c9080d72d318c8927c41374f642d47390841ffcd13c88d00c014745197f9b1b131105581e0325ff9a17231e0d460fd9eb88cb9c823714c2675a392c523be869d326800c0b47ee7f49f06ab000032405af97b36fed226bcf5b2ddbcb1bb2a9908b72bcb0266e6fc621394921755903f65a369b2ebf49a2bf3f0a73a036db51afb6d864267db3cc6caad2e39f45910a05581e031d8f2263e7bfce29dc01d57e8002591c03c2e1775402659eff09cabd30040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03619babdba1eafafebd27db50a9c212bf66aa3837463cc6e1c787edf95007011bffffffffffffffff03e8e1d2fbcbafd4e622d7acbaf000a9d26f2195d37ca71aa84fa1ec72fed96afa02196eff0219ffff037ea48f9589c8456ec4e954a8011987564be36914387209ebf5a6e9b74b21bd66038c216c09a93ce161cdfaebf4054095965737e2ad2f8cf8c879208c76fcf4cd080398ccebe95e5483304ba9a6482683ef519695ae434495c071b4350231b762636603dc59f343b46a2d7df5612a46875f9353fc9bc36432788a0d6972937af258f450031cc258655debcb95cd05cd1177618669095e97ccda0f8ad5a9e93f2188ce568a0219ffff032e9c7c6eca09db9ffd3749b51930aaa7c088025f484ec44b34345e841bc8927f035d53113a706d681ce0138876249a71fa405a560cafa40d7e28823b7fad272c5803bd625c76ad99af017fe5f3d0ea126f9f6daa6b3cf8a7c762c7573f9a4b5af6d30399303d67cd6a42ba2001e8fe467ab3ae206f0491031a67353db9074026a84509034b389f3c8c9cc162291870084549afdd9ec3d769267e305739c1e0f4a57a9d810378c74c1209f2d8be96d33e840ae27c73874aaef8ffbe3a3da1b12f3de91689070334779842f0e94f1a2d03ac4c4ba672fd9db34352a86c44ecc99df0434c00c038034a9a1ab8bf327b771532e33ae47d05e3525b56d3c6a21629212040dd5d0f9ae203099290ec39a21c14647fdbc4b4cdd7f0dde3d1398153f58f0cd734709678f0a20219ffff03d8b977eaa8451a449915a8c3ea997f377986e581156db3fd6a364eb305feb221036d59c329707623f4196d31a5d340d7c4a0cbc607093a7ba28d022b413da7dc1603839e7ac41c1857f8f0eaa1017bff0430609dc39f0225d6c090f87a736f4d896c0346adca7a804fa0a31ba9626625eb47991cf2cfcc5239d6082677ff8f860de2d503bc9bbb04d2f7d3f2fb8a69aefdcf4c834251b9974a2ac504319855eedcd3af7a03927fefade8b4b0f931cd5ff4e56a8a6bbbb4ede04862e51359b59b4e2d1a841b0333a3404758835f322b44cbb0e7f8b197a99379d69df83fb150e5fd9a860e1943036c44b40f873babd5f93921dd7085f5c94bf0752cbd2b4f1051a792148eac53c503d9d9c3de30d5b976e3d1deaad9b871466e5dd1b9ef4039c0842be64038b67b6d03dc8289555117bb316a162dbd0ed14b463d44e775c8eaa5e3c57cf97364eaec8a031fe58c771d6bd5b0d9140bdfd424157b46a75b9390a493dff710e391a8f3586803f2b84de888ebbfbfeb82ea5399d9def5bd8fb1c71bd4f67c74e5e18473a4be8503eed9546c0eac1f386b5578119be227aaada0b5420466277bd3f1134efca57c2d037aff0f7e526b7ad6ca48b22a370ce61bb6d19104057751b42873c524262c2a2103102b6640411c0b01e60bd942230225240b55623ef95bbd048ed8be7f7d323f5a03a350c6e7ceab404feede36c1b83368a45008a62c4a322085254f7e9ed2eed5d9038fcf565d2cfa7fc0cb5edc4b426ebb24a7f07760700269a43317246011a354b1033f07541f901f4610a132ff506dc49d2616f0114ebd02dc7bd16ad639954a815603212ce4110a9b409b4994b954adcfdeac1388d65daab0ffdbc645320c69ee0c400312713f8f8fa1ad3e587f528612efa81ff6a6282bcb7a11241e935c702916b99703c148ff183679485a975e82258aed2054767a8aba15a1869ef9d1f8189845c81203727fd71878ffed9cab1e0268f98b221b6bb01d5a3e8d1f8b8136cd666190a14003b3623b384fe57040eb071c2f9b4ddd935b3463efd8657773eb1eeb0e12c1b6a903598425100edf94650bf467df9f637aa3e30512dde6247883589f6c941e1a5342032d0306c8cb3a78ad2615a103ef8fcdf0051b07b0edf7619a95f047e5a2855d33030960de2ff506411b70e895c700df3055f17a5b86ec3ee9ffe54ee96c10a4bd6503f75fcaad8963207b22b130b2186a646bf8fc207fba9e7804a4d98cd36ab9655603aae6a54a7802cd9fa93c3d018348f29b809dc179088ae72465b4381d3566c74303c15ba0d65c4a1044b3ca3748a92e58411867deaae6137e6e44aa2bed33167c7303dd71a5f0e123f4ef2ffbdf75eff222f14c6b4f007ab96f2a8f618ca51beea1610350ad1c043db2103b5830cad559c43fadee0f1cb96a71291cfc598d091213bc5e03cd52fbee18e0dee2b1c0846384e58456d2e8404f2b58b813ed8a9fb7e628bead033a3fd0745075d7d99aa2900acf55a59396bd0c71b2b2e11796054ad648647d1403e7efc98158534a42c8e56fe45ead4883e0b16ac6628e92543b0c7c863e04651505581e03cba05cedb94efe13bebc97b21ec4d94d2903cc57a2f806c2880caf3d500c0e4702b9646540440005581e037c30948573ae3013850bdd4bb8138940c363918d9970d50c6568d709600c0247013297ec287eb005581e03a5d9c39b59812192124b793019c1b9c4e1cf625954b8a8b5ce25da59e0040203db5f692ba158879fe091688a6bced4ff11e07f262fbc37592ffe16a75886bc550605581e038368b95147eea2a90fa2c3035fbbb015dfa0bbfe3521c2043a346402e007011bffffffffffffffff031a076b190fa581ec89e414e37754b09e7c28901ef6efa7184c10d6ed1bb788ce05581e0339c81047622046b884214cf177fe215ce28c9cce65ec30e2591ada24d00c0147131281c7a9338a05581e0374508de17db136667228f9ab442e2d4e9052485fb2816f9bc95fff6d300c18184808c5b26aeb56460005581e032bc271686ae334f46c9d3a77947c2b7820f4a589d77fb7e50f598dcff00c01472e47324ae63d300459084060806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ca565b610118565b61005b6100933660046106e5565b61015f565b3480156100a457600080fd5b506100ad6101d0565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ca565b61020b565b3480156100f557600080fd5b506100ad610235565b610106610292565b610116610111610331565b61033b565b565b61012061035f565b6001600160a01b0316336001600160a01b031614156101575761015481604051806020016040528060008152506000610392565b50565b6101546100fe565b61016761035f565b6001600160a01b0316336001600160a01b031614156101c8576101c38383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610392915050565b505050565b6101c36100fe565b60006101da61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb610331565b905090565b6102086100fe565b90565b61021361035f565b6001600160a01b0316336001600160a01b0316141561015757610154816103f1565b600061023f61035f565b6001600160a01b0316336001600160a01b03161415610200576101fb61035f565b606061028583836040518060600160405280602781526020016107e460279139610445565b9392505050565b3b151590565b61029a61035f565b6001600160a01b0316336001600160a01b031614156101165760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b60006101fb610519565b3660008037600080366000845af43d6000803e80801561035a573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b61039b83610541565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103dc5750805b156101c3576103eb8383610260565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61041a61035f565b604080516001600160a01b03928316815291841660208301520160405180910390a1610154816105e9565b6060833b6104a45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610328565b600080856001600160a01b0316856040516104bf9190610794565b600060405180830381855af49150503d80600081146104fa576040519150601f19603f3d011682016040523d82523d6000602084013e6104ff565b606091505b509150915061050f828286610675565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc610383565b803b6105a55760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610328565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b03811661064e5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610328565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105c8565b60608315610684575081610285565b8251156106945782518084602001fd5b8160405162461bcd60e51b815260040161032891906107b0565b80356001600160a01b03811681146106c557600080fd5b919050565b6000602082840312156106dc57600080fd5b610285826106ae565b6000806000604084860312156106fa57600080fd5b610703846106ae565b9250602084013567ffffffffffffffff8082111561072057600080fd5b818601915086601f83011261073457600080fd5b81358181111561074357600080fd5b87602082850101111561075557600080fd5b6020830194508093505050509250925092565b60005b8381101561078357818101518382015260200161076b565b838111156103eb5750506000910152565b600082516107a6818460208701610768565b9190910192915050565b60208152600082518060208401526107cf816040850160208701610768565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204675187caf3a43285d9a2c1844a981e977bd52a85ff073e7fc649f73847d70a464736f6c634300080900330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563056796592b2092f7e150c48643da19dd2f28be3333f00010058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0548d0b4dfccc8b2a268486d9754b135d8ad1ee7258005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054d750b84845f1cadfeac63f96ec74635e949bfd14005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0542a41d539d5a599a6ea6a79e32bd047277892ea280058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605491e677b07f7af907ec9a428aafa9fc14a0d3a338021908b405581d026fbcfb5cab6c0f1c1f0b3cf67ef3870bd165b773090691548195d94b0f0149c79b5261af4ccb9c1c19084005581d0287f10fed529be9b108b2fd1c0a2e073bce7947b16f5eb621e14c34cf0c09471522da6694bc2d0218240219d6ab0349eb96b31bc6e89e17f867fa8476d4085889caf9db0f6411ced3734ef4b55e060219ffff03f69e3b7885f1730974ac18cd58f93ea8c40ff01b096c6e2420662dee4802f96a03868a5dce3b8d75af30e5ef169a82f204f026e30ba20abf123636d3a4dcd47c190308b995537a8cb836b6fce9c350a95487d673c0ea005c5eb3c4ef354b7a93c4f9030bb6abbd5efc0cef120ccc492dda5b07f810b084840a659b64a9f0c712209d730219ffff0311aba10d63e170ec28215397bf155575be4de8d33f87cfa516d4262fb62a436503fa24ecf18287eb60cab84532dea51d74a72614f3475f2ca0e93d36a833e4f6cf03f3b90adeb35451b7c68ed42105850b5950de242b3dd6eed4be42d925885836b503bfcdfa4878483e3cfba8d42faebbfd76d6fe68f6cbddc8dbcdfe9757a362e822031abea0cd3f19af1738ecb4ef3ea4486afe05c2bf1a9bab0d7198f81de41ea99603296bebabdbdf973ca98d38e32a321adfb8d7eb4138309f1a12b1c343b4d2eda903f6e095142cc1908659dfcba678353f78da9ec930230fa9ba66b1997818c814c20376a26c864f366cd220856ee3734c66a23be617d145b5fad72dcee7714b46714003eddef4c403c83f1daf51873668c038c6668f2031e6e8f082ea0e2f759c0ee0ca03829824428373264be9a8883f000acad1024d9f92018d925409f5c47eb3c44fe60358d0d1bdf43d8d2aa1e5ca7589507df706634e8d3e8910ff13ff5f896613fd3505581e03bbf1d652b6bc02890682476b5f861bf077ad4ff5d2c3f236ee074740600c0147116fcccc8ec00005581e03981c675dd9d91e46ac06164c4fad8409e9dea7c5786865e124acd0e7200c014709d627bfc7b20005581e032dc0c5dcc110b193cd445ffb323ceabe25e2f7c1128f720201a8b8c7b00847169103b08a671203bdadfd97443596b1d5088455f7961d9ba83b237f89f7fc35023864c814fbcb7903905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03de387d7b5d79897b7ca87f9b8b8df1e97e63306ba2c0bf5f4ccebb9fe007011bffffffffffffffff0319a8d34d710ea01385a9ae240a49b4c561b50df63c4efc576e4f5f17f26a39eb0605581e03e2286643640491f36f1e230a13a6d4580c7ed96fa6d6579ddb0e70597007011bffffffffffffffff0459066760806040526004361061003f5760003560e01c806305b1ea03146100445780630986bdd51461005957806389e7c6501461006c578063b68fb0201461007f575b600080fd5b6100576100523660046103b1565b610092565b005b61005761006736600461041c565b61011c565b61005761007a366004610548565b6102cb565b61005761008d3660046103b1565b610359565b6040517f05b1ea03000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273111111125421ca6dc452d289314280a0f8842a65906305b1ea03906044015b600060405180830381600087803b15801561010057600080fd5b505af1158015610114573d6000803e3d6000fd5b505050505050565b3373111111125421ca6dc452d289314280a0f8842a651461019e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f410000000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b60208a013573ffffffffffffffffffffffffffffffffffffffff163014610221576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f54000000000000000000000000000000000000000000000000000000000000006044820152606401610195565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273111111125421ca6dc452d289314280a0f8842a6560048201526024810186905260608b013573ffffffffffffffffffffffffffffffffffffffff169063095ea7b390604401600060405180830381600087803b1580156102a757600080fd5b505af11580156102bb573d6000803e3d6000fd5b5050505050505050505050505050565b6040517f89e7c65000000000000000000000000000000000000000000000000000000000815273111111125421ca6dc452d289314280a0f8842a65906389e7c650906103219087908790879087906004016105ff565b600060405180830381600087803b15801561033b57600080fd5b505af115801561034f573d6000803e3d6000fd5b5050505050505050565b6040517fb68fb020000000000000000000000000000000000000000000000000000000008152600481018390526024810182905273111111125421ca6dc452d289314280a0f8842a659063b68fb020906044016100e6565b600080604083850312156103c457600080fd5b50508035926020909101359150565b60008083601f8401126103e557600080fd5b50813567ffffffffffffffff8111156103fd57600080fd5b60208301915083602082850101111561041557600080fd5b9250929050565b6000806000806000806000806000808a8c036101e081121561043d57600080fd5b6101008082121561044d57600080fd5b8c9b508b0135905067ffffffffffffffff8082111561046b57600080fd5b6104778e838f016103d3565b909b5099506101208d013598506101408d0135915073ffffffffffffffffffffffffffffffffffffffff821682146104ae57600080fd5b9096506101608c013595506101808c013594506101a08c013593506101c08c013590808211156104dd57600080fd5b506104ea8d828e016103d3565b915080935050809150509295989b9194979a5092959850565b60008083601f84011261051557600080fd5b50813567ffffffffffffffff81111561052d57600080fd5b6020830191508360208260051b850101111561041557600080fd5b6000806000806040858703121561055e57600080fd5b843567ffffffffffffffff8082111561057657600080fd5b61058288838901610503565b9096509450602087013591508082111561059b57600080fd5b506105a887828801610503565b95989497509550505050565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156105e657600080fd5b8260051b80836020870137939093016020019392505050565b6040815260006106136040830186886105b4565b82810360208401526106268185876105b4565b97965050505050505056fea2646970667358221220badcfe4df776b6fb42457cf2579facd9899d39e55bdcd8844eb7343e0b702af364736f6c634300081300330605581d0277fcf387df3a48ed70c37ede8b2febcccb1c9947173350c7e713333a070119066705581d025a37a6638fb84a17437c573bb24d1d7254d15c9bb4ac3d6f15e1ce430c0146275f3d12840002188805581e03062a2c0da62aea37724cf7a3ffc7daa39b0278f6934359ac13327200200c0547036139932a227202198673033fe94083e63ac2b573931dd19c6955457e90183760ad5f265520746c514c23e003399be9c59f6da09af373ee9d66be3e85d4259c61bf9a0dfe02165b38f0f1d23a03a9761b71b4192ab15ac2e40d0283bd77e9aae36e78a5f89d984e2ec57c074bf6036ee59bbc88a69a4eadce7dc9d3c21b63ca5410eb9ee73f6170c0fd7e34d0394703c38357f5c3ddd2c1e85ccb68a35796e408eac28f567c79e7d2d40e8c01c0605c03f1fe5bc547965ae055d6d099b295b2263a9b598dfd2cd7d87c7af40034a218a0030356f20b4d796a26b35221505b506d324be430fc1b2af9f96b6f76b61fd8d49c03c66dbbc0c082c034f45fa19ece2a435ce8f8223ce3fa2786fc0578d9f0c308f503fcc2452bfc0d6b9a40529813be1038e9afec68fda2b4351461a2e27065d7d552033fa213fc6eec6b1fbf6b410fea036b6382da5388b4012023df893786887546340328425138f7139e8edd92de90a74c387c8dcfa3901fd57f0a150b06be010ab730033c3e174b2d454b3293d759d3435448880e21886676c0cad2e769ecf1f4da3c7e03d3f6388d49616535b2323d74fbf2766a9520014526d50d4f7f9bcfb76eae7ae50219ffff03c4497ae712282383f432bf125f973d15a12234d791fe3f1e4bb14a3a319dbafe034e20584548b4aae1db14c73481f2c8fc04106db71787ff50f8c31d1422c0addc03eee9f6066b134675e8958220725d29c115391ef8b09ea04dfd9ab1598d125d2b030c14a211cbf2cc5b501b12f18344c217eaf958e90490aec919eec8a34bf3271703dd4e825a3348b5328f96172dfe122d4fdc390f97964e242983a989fc70125f5003bd3ee1c7cf9c743e7cf1d58713722ad5276f61699e14fbeb70be885a4e4479a2038bb1e089750cb918a5a8e286f9c00345e586cbe956b7697127c03adb125e7947030389a6670f46dc30e859cf151c15f2fc5e8ea1f3bc11919f56c50743db9df1300363c6529b3a07b39e16815f3a0d5343324dd134563220a4a01b5d33b0567a6fbb0219ffff038c3051c29b11a3d4c57751610d840558a2a53fdd19798ea24869ff3982baaeb60337f314c94680f77b7a38531f8ef00bc5a4345c9b6d0f35cd2b50088f7d32eaf703a3e2f324e711f6bb6092e05a67314d0b5d0c5b3d262087332b1b53c63bc1bc6d0328068ef4902c504032db43bcc739259139665ef1fd7762a93ad01654d57ab92f0388141ba57ae0ec87fa0e7b1fec4102ea4ff717feb7abf9db11e43eda3078de0403baa1f9cd0e71c935cebfc2a7e5bf81a330341cfc2bbd0697f6d912ea4087834003545280949fa27c0133aaac7b0d5abae289f2b62241a18fb1c2dfcd615ffe75b50219ffff0219ffff034f4008ddc809022eaede4b955752d7fee9693d5d0e0d5e9fc6823a04e2da79e203f85b9e44caad8ea4e572fc946bc0b0991f3894e62fad5a836ba029a35e58af9703fe7153d1c9a825b36d600d05c58d4fd67c8738813358f7c505d86d3dac19a8020391f6c29ea6da9e8678d960476f7516b6cdc961b7e51f58f379e93f2f3c48fc45035464f0277385f45527df8f794f0dbba2ba13233efaf4b60d3f56debdedcdc709031ea0ad6253e885cd31d578c825c0ed429d8a55e18a42f7270134304d5eaa5d6a0310e754eb31a634910912f71856c8aec8409056b9972e9243a4ff8494e2ecef620349dcc4d2a7cceffe2ebfdd43bf322e7144dd63392f87bfd3b162870206250dd3031825db57966496821b7d4ad0631a2bf99a6336ee7feb28efdaf3e3223dabf321036f15eb54b64a18b1789134ee5cf5678b58e8efc25ef12fae5ee5ca6a24efe819034052f161de935e36e8360c2ac8881b6bd74eeef0319de3166240ea85d1cff3320352846bd80ad3ff5e25c5e3e770cd8ac129649dd4e52cf0749adde0ab5a2de5cf030f5c8224e3c4bc293ad2d3fce5742db3b0bc1738058e31e19a04463e9dbbca6b037853aea424c76f33bf0b18a18bad8dc1f5adacce513ff8da7a56bdc840baf17003a8364404b027ae6e77e644a0cc38ebb4c3078a529bda6984a3d2c3b40106b88e03f296cc4cfa3a300b5fce7d53845e8efb03c0a96d1e0293e679070f3c55489cb203e608a328cfff3e06f3147541891e8cab1ee246dc4e8f99f940f5130c71c69afd035be4aeff94cb27f2da685ab728beddd201bc9087255ca9cad520ce05eb5f33220340075619a083737a6c5563a520906ae63bedd39aa3264d3f6334706d674520610356a535eaad87fe7b40a4248ee65be0749d79cac08f3831c6f3ab66ffed13f8c703295e100d199196320cd8a0af4216ed0fed2beada8fc3911d841068b28b9bf7cb03d846285a46bff1c11d5ac83207520c393fef3723d90da02afe55ec23df0d648203b3d26a9031292bdd14982a395f0ce064e68673eaec69ab199043ce0a785bb67d03f31652bfc04cc06b4e706b96a766ab04982490045484992683d0cf8146da80bd05581e03161925b2544d70c248c7a761e7a1560a8ff316a1813c84cc260ed8ef400c0147018ae31e24f738035b9a9426b2a681cfdd32ec33077a7c94e315314c49e8651fb67eb872b2e6ede10339fa9df27d56ee3d695eacd02870b1f7f04b6eddd035f28c9fec348bf03665e603aeaa92c24d692037ec51b58229f1b08c54febaff90e7170624010f9828399b5905581e0310e9e85ae5a1c9ef54a3948e8d093ed486e4b777bbfd1e4d6233789ac00c0246a21df2b34068031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03c13d32d09b808eb960979481a85b59ff096a4aed095fbefd518638221007011bffffffffffffffff05581d021185d9c7cc0bcbe23e1a7010b1a2935ead835f18a41bdfb307483d020c0245012a05f20004592675734a1dbc839b4ebad8db9058e856e90cb41dffce1f30146080604052600436106100565760003560e01c8063143d9d381461005b5780632c9745af1461007d57806383dc420b1461009d578063c922066a146100bd575b600080fd5b81801561006757600080fd5b5061007b6100763660046120a5565b6100dd565b005b81801561008957600080fd5b5061007b610098366004612251565b610298565b8180156100a957600080fd5b5061007b6100b83660046120a5565b6105dc565b8180156100c957600080fd5b5061007b6100d8366004612235565b610be2565b426202a3008360000151606001510110156101135760405162461bcd60e51b815260040161010a906124e5565b60405180910390fd5b6000610135836020015184600001516102200151856000015160a00151610f18565b90506000610144848385611036565b905060008085600001516040015161015e57600083610162565b8260005b8751610180015191935091506001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc214801561019b57508551608001515b156102205785602001516001600160a01b031663022c0d9f838330886040518563ffffffff1660e01b81526004016101d694939291906125a0565b600060405180830381600087803b1580156101f057600080fd5b505af1158015610204573d6000803e3d6000fd5b5050505061021b86600001516101a0015184611515565b610290565b602086015186516101a0015160405163022c0d9f60e01b81526001600160a01b039092169163022c0d9f9161025d91869186918a906004016125a0565b600060405180830381600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050505b505050505050565b426202a30085606001350110156102c15760405162461bcd60e51b815260040161010a906124e5565b60008060006102d1878786611658565b919450925090506102ea6102208801610200890161204b565b80156102f557508015155b156104b5576000610310878961022001358a60a00135610f18565b905083158015906103215750816001145b156103e55760007380246ac7a8f51d61856a1f62b2df8ad0fcee24d263d0b0a9bc896103556101808d016101608e01612013565b888d6101c001358c886040518763ffffffff1660e01b815260040161037f9695949392919061242d565b604080518083038186803b15801561039657600080fd5b505af41580156103aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ce91906122ec565b90955090506103dd84826118b0565b9350506104b3565b82158015906103f45750816002145b156104b35760007380246ac7a8f51d61856a1f62b2df8ad0fcee24d263adf5f8f3896104286101a08d016101808e01612013565b878d6101e001358c886040518763ffffffff1660e01b81526004016104529695949392919061242d565b604080518083038186803b15801561046957600080fd5b505af415801561047d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a191906122ec565b945090506104af85826118b0565b9450505b505b82158015906104c357508115155b15610593577380246ac7a8f51d61856a1f62b2df8ad0fcee24d2637a528bd2876104f56101c08b016101a08c01612013565b6105076101808c016101608d01612013565b6105196101a08d016101808e01612013565b88886040518763ffffffff1660e01b815260040161053c969594939291906123f3565b60606040518083038186803b15801561055457600080fd5b505af4158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c919061230f565b5090935091505b6105d36105a86101c089016101a08a01612013565b6105ba6101808a016101608b01612013565b6105cc6101a08b016101808c01612013565b86866118f7565b50505050505050565b426202a3008360000151606001510110156106095760405162461bcd60e51b815260040161010a906124e5565b81516101608101516101208201516102408301516101a090930151604051632a359a6d60e21b815260009473e92b1734fc37f8acc950d0d13a414753729587309463a8d669b4946106629489949293919260040161255d565b60206040518083038186803b15801561067a57600080fd5b505af415801561068e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b291906122d4565b905060006106d6846020015185600001516102200151866000015160a00151610f18565b9050600080600080876000015160400151905060008089602001516001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401604080518083038186803b15801561072857600080fd5b505afa15801561073c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076091906122a2565b915091506107856001846107745782610776565b835b6001600160701b031690611919565b93505050600088602001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107c857600080fd5b505afa1580156107dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610800919061202f565b9050600089602001516001600160a01b03166354cf2aeb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561084157600080fd5b505afa158015610855573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087991906122d4565b8a516101400151604051636d55a5b760e11b81529192506001600160a01b0384169163daab4b6e916108b391879186918d90600401612496565b604080518083038186803b1580156108ca57600080fd5b505afa1580156108de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090291906122ec565b90965094506000848611156109ba578a51610140015161092c906109268b88611949565b9061199e565b60405163a7d2087760e01b81529091506001600160a01b0384169063a7d208779061096190879086908a908e90600401612496565b604080518083038186803b15801561097857600080fd5b505afa15801561098c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b091906122ec565b90975095506109c6565b50895161014001519450875b868110156109e65760405162461bcd60e51b815260040161010a906124c7565b86891115610a69578a5161016001516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2148015610a2257508a51608001515b15610a46578a516101a00151610a4190610a3c8b8a611919565b611515565b610a69565b8a516101608101516101a090910151610a699190610a648c8b611919565b6119ce565b610a818b6000015161016001518c60200151896119ce565b5050506040880151610a9890849061ffff16611919565b92506000808215610aab57849150610aae565b50835b895161018001516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2148015610ae257508951608001515b15610b675789602001516001600160a01b031663022c0d9f8383308b6040518563ffffffff1660e01b8152600401610b1d94939291906125a0565b600060405180830381600087803b158015610b3757600080fd5b505af1158015610b4b573d6000803e3d6000fd5b50505050610b628a600001516101a0015186611515565b61028b565b60208a01518a516101a0015160405163022c0d9f60e01b81526001600160a01b039092169163022c0d9f91610ba491869186918d906004016125a0565b600060405180830381600087803b158015610bbe57600080fd5b505af1158015610bd2573d6000803e3d6000fd5b5050505050505050505050505050565b426202a3008260600135011015610c0b5760405162461bcd60e51b815260040161010a906124e5565b6000610c39610c2261018084016101608501612013565b610c346101a085016101808601612013565b611b19565b509050610c4c81828461010001356119ce565b60008080610c6060a086016080870161204b565b8015610cd0575073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610c8e61018087016101608801612013565b6001600160a01b03161480610cd0575073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610cc56101a087016101808801612013565b6001600160a01b0316145b15610e47576000734d6740c0224e4ae4d9cb5b4900435d768dbff20463cf58beed610d0361018089016101608a01612013565b610d156101a08a016101808b01612013565b8873c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2610d3d6101c08d016101a08e01612013565b610d476000611bed565b6040518763ffffffff1660e01b8152600401610d68969594939291906123b8565b60806040518083038186803b158015610d8057600080fd5b505af4158015610d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db89190612067565b91965094509250905080610e415773e92b1734fc37f8acc950d0d13a41475372958730630966c1d6610df26101c089016101a08a01612013565b866040518363ffffffff1660e01b8152600401610e1092919061247d565b60006040518083038186803b158015610e2857600080fd5b505af4158015610e3c573d6000803e3d6000fd5b505050505b50610edb565b6001600160a01b0384166389afcb44610e686101c088016101a08901612013565b6040518263ffffffff1660e01b8152600401610e84919061238a565b6040805180830381600087803b158015610e9d57600080fd5b505af1158015610eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed591906122ec565b90925090505b8461012001358210158015610ef557508461014001358110155b610f115760405162461bcd60e51b815260040161010a9061253f565b5050505050565b60606000846001600160a01b0316637dc0d1d06040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5557600080fd5b505afa158015610f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f8d919061202f565b6001600160a01b0316636a9150fe85856040518363ffffffff1660e01b8152600401610fba929190612592565b60206040518083038186803b158015610fd257600080fd5b505afa158015610fe6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100a91906122d4565b90508060405160200161101d9190612589565b6040516020818303038152906040529150509392505050565b60008060008086602001516001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401604080518083038186803b15801561107857600080fd5b505afa15801561108c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b091906122a2565b915091506110cc60018860000151604001516107745782610776565b92505050600085602001516001600160a01b0316637dc0d1d06040518163ffffffff1660e01b815260040160206040518083038186803b15801561110f57600080fd5b505afa158015611123573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611147919061202f565b9050600086602001516001600160a01b03166354cf2aeb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118857600080fd5b505afa15801561119c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c091906122d4565b87516101608101516101208201516102408301516101a090930151604051632a359a6d60e21b815294955060009473e92b1734fc37f8acc950d0d13a414753729587309463a8d669b49461121e948d9491939092919060040161255d565b60206040518083038186803b15801561123657600080fd5b505af415801561124a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061126e91906122d4565b885160400151909150611300576040516304a8fad760e31b81526001600160a01b03841690632547d6b8906112ab90859085908c906004016125cd565b60206040518083038186803b1580156112c357600080fd5b505afa1580156112d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112fb91906122d4565b611380565b60405163c4109d2560e01b81526001600160a01b0384169063c4109d259061133090859085908c906004016125cd565b60206040518083038186803b15801561134857600080fd5b505afa15801561135c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138091906122d4565b94506000848611156114b257885161014001516113a99087906113a39088611949565b90611ec5565b8951604090810151905163a7d2087760e01b815291925083916001600160a01b0387169163a7d20877916113e6919088908b908f90600401612496565b604080518083038186803b1580156113fd57600080fd5b505afa158015611411573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143591906122ec565b8b5161016001519098509093506001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc214801561146f57508951608001515b1561148e5789516101a0015161148990610a3c8386611919565b6114ac565b89516101608101516101a0909101516114ac9190610a648487611919565b506114bb565b50875161014001515b60408901516114cf90879061ffff16611919565b9550808610156114f15760405162461bcd60e51b815260040161010a90612521565b611509896000015161016001518a60200151846119ce565b50505050509392505050565b604051632e1a7d4d60e01b815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d9061154c908490600401612589565b600060405180830381600087803b15801561156657600080fd5b505af115801561157a573d6000803e3d6000fd5b505050506000826001600160a01b0316826115956000611bed565b906040516115a290612387565b600060405180830381858888f193505050503d80600081146115e0576040519150601f19603f3d011682016040523d82523d6000602084013e6115e5565b606091505b5050905080611653576040516304b360eb60e11b815273e92b1734fc37f8acc950d0d13a4147537295873090630966c1d690611627908690869060040161247d565b60006040518083038186803b15801561163f57600080fd5b505af41580156105d3573d6000803e3d6000fd5b505050565b600080808073e92b1734fc37f8acc950d0d13a4147537295873063a8d669b48661168a6101808b016101608c01612013565b6101208b01356102408c01356116a86101c08e016101a08f01612013565b6040518663ffffffff1660e01b81526004016116c895949392919061255d565b60206040518083038186803b1580156116e057600080fd5b505af41580156116f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171891906122d4565b9050600073e92b1734fc37f8acc950d0d13a4147537295873063a8d669b4876117496101a08c016101808d01612013565b8b61014001358c61026001358d6101a00160208101906117699190612013565b6040518663ffffffff1660e01b815260040161178995949392919061255d565b60206040518083038186803b1580156117a157600080fd5b505af41580156117b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d991906122d4565b90507380246ac7a8f51d61856a1f62b2df8ad0fcee24d2637a528bd2886118086101c08c016101a08d01612013565b61181a6101808d016101608e01612013565b61182c6101a08e016101808f01612013565b87876040518763ffffffff1660e01b815260040161184f969594939291906123f3565b60606040518083038186803b15801561186757600080fd5b505af415801561187b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189f919061230f565b919a90995090975095505050505050565b808201828110156118f1576040805162461bcd60e51b81526020600480830191909152602482015263534d344560e01b604482015290519081900360640190fd5b92915050565b8115611908576119088486846119ce565b8015610f1157610f118386836119ce565b600061194283836040518060400160405280600481526020016329a6989960e11b815250611f15565b9392505050565b60008115806119645750508082028282828161196157fe5b04145b6118f1576040805162461bcd60e51b81526020600480830191909152602482015263534d324160e01b604482015290519081900360640190fd5b60006119aa8383611ec5565b90506119b68282611949565b83146118f1576119c78160016118b0565b90506118f1565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310611a4a5780518252601f199092019160209182019101611a2b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611aac576040519150601f19603f3d011682016040523d82523d6000602084013e611ab1565b606091505b5091509150818015611adf575080511580611adf5750808060200190516020811015611adc57600080fd5b50515b610f11576040805162461bcd60e51b815260206004808301919091526024820152635448303560e01b604482015290519081900360640190fd5b60405163e6a4390560e01b8152600090819073c480b33ee5229de3fbdfad1d2dcd3f3bad0c56c69063e6a4390590611b57908790879060040161239e565b60206040518083038186803b158015611b6f57600080fd5b505afa158015611b83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ba7919061202f565b91506001600160a01b038216611bcf5760405162461bcd60e51b815260040161010a90612503565b826001600160a01b0316846001600160a01b03161190509250929050565b60006001600160a01b038216611c065750612710611ec0565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0383161415611c345750617918611ec0565b73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486001600160a01b0383161415611c62575061a410611ec0565b73dac17f958d2ee523a2206206994597c13d831ec76001600160a01b0383161415611c915750620101d0611ec0565b732260fac5e5542a773aa44fbcfedf7c193bc2c5996001600160a01b0383161415611cbf57506184d0611ec0565b734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b6001600160a01b0383161415611ced5750617918611ec0565b736b3595068778dd592e39a122f4f5a5cf09c90fe26001600160a01b0383161415611d1b5750617918611ec0565b73ae7ab96520de3a18e5e111b5eaab095312d7fe846001600160a01b0383161415611d4a5750620109a0611ec0565b737f39c581f595b53c5cb19bd0b3f8da6c935e2ca06001600160a01b0383161415611d785750617918611ec0565b73d33526068d116ce69f19a9ee46f0bd304f21a51f6001600160a01b0383161415611da65750617918611ec0565b7348c3399719b582dd63eb5aadf12a40b4c3f52fa26001600160a01b0383161415611dd45750619c40611ec0565b735a98fcbea516cf06857215779fd812ca3bef1b326001600160a01b0383161415611e03575062024608611ec0565b739f8f72aa9304c8b593d555f12ef6589cc3a579a26001600160a01b0383161415611e3157506184d0611ec0565b731f9840a85d5af5bf1d1762f925bdaddc4201f9846001600160a01b0383161415611e5f5750619088611ec0565b73514910771af9ca656af840dff83e8264ecf986ca6001600160a01b0383161415611e8d5750617d00611ec0565b733c3a81e81dc49a522a592e7622a7e711c06bf3546001600160a01b0383161415611ebb57506184d0611ec0565b5061ea605b919050565b6000808211611f04576040805162461bcd60e51b81526020600480830191909152602482015263534d343360e01b604482015290519081900360640190fd5b818381611f0d57fe5b049392505050565b8183038184821115611fa55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f6a578181015183820152602001611f52565b50505050905090810190601f168015611f975780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b8035611ec081612619565b8035611ec081612631565b803560058110611ec057600080fd5b60006102808284031215611fe4578081fd5b50919050565b80516001600160701b0381168114611ec057600080fd5b803561ffff81168114611ec057600080fd5b600060208284031215612024578081fd5b813561194281612619565b600060208284031215612040578081fd5b815161194281612619565b60006020828403121561205c578081fd5b813561194281612631565b6000806000806080858703121561207c578283fd5b845161208781612631565b60208601516040870151606090970151919890975090945092505050565b6000808284036102e08112156120b9578283fd5b6102c0808212156120c8578384fd5b6040516060810181811067ffffffffffffffff821117156120e557fe5b604052610280808412156120f7578586fd5b612100816125f5565b93508635845261211260208801611fc3565b602085015261212360408801611fb8565b60408501526060870135606085015261213e60808801611fb8565b608085015260a087013560a085015260c087013560c085015260e087013560e0850152610100808801358186015250610120808801358186015250610140808801358186015250610160612193818901611fad565b908501526101806121a5888201611fad565b908501526101a06121b7888201611fad565b908501526101c087810135908501526101e080880135908501526102006121df818901611fb8565b90850152610220878101359085015261024080880135908501526102608088013590850152838252612212818801611fad565b6020830152506122256102a08701612001565b6040820152969401359450505050565b60006102808284031215612247578081fd5b6119428383611fd2565b6000806000806102e08587031215612267578384fd5b6122718686611fd2565b935061028085013561228281612619565b92506122916102a08601612001565b939692955092936102c00135925050565b600080604083850312156122b4578182fd5b6122bd83611fea565b91506122cb60208401611fea565b90509250929050565b6000602082840312156122e5578081fd5b5051919050565b600080604083850312156122fe578182fd5b505080516020909101519092909150565b600080600060608486031215612323578081fd5b8351925060208401519150604084015190509250925092565b60008151808452815b8181101561236157602081850181015186830182015201612345565b818111156123725782602083870101525b50601f01601f19169290920160200192915050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039687168152948616602086015292851660408501529084166060840152909216608082015260a081019190915260c00190565b6001600160a01b0396871681529486166020860152928516604085015293166060830152608082019290925260a081019190915260c00190565b6001600160a01b03878116825286166020820152604081018590526060810184905261ffff8316608082015260c060a082018190526000906124719083018461233c565b98975050505050505050565b6001600160a01b03929092168252602082015260400190565b60008515158252846020830152836040830152608060608301526124bd608083018461233c565b9695505050505050565b60208082526004908201526308a9060760e31b604082015260600190565b60208082526004908201526311520c0d60e21b604082015260600190565b6020808252600490820152634f53313760e01b604082015260600190565b6020808252600490820152634548333760e01b604082015260600190565b6020808252600490820152634548303360e01b604082015260600190565b9485526001600160a01b0393841660208601526040850192909252606084015216608082015260a00190565b90815260200190565b918252602082015260400190565b600085825284602083015260018060a01b0384166040830152608060608301526124bd608083018461233c565b6000848252836020830152606060408301526125ec606083018461233c565b95945050505050565b60405181810167ffffffffffffffff8111828210171561261157fe5b604052919050565b6001600160a01b038116811461262e57600080fd5b50565b801515811461262e57600080fdfea26469706673582212200e33b0a58fbac3fae6360e7de57004874dde2077e2f0efe9da3f742775d1e89b64736f6c634300070600330605581d02dca0071e5dfbe8fec4064af967c1fd49e1419ff67b252594c4c4a8f307011926750219202005581e0347a5ea9d51b815a6d1b6067b29d1d99c5acf1b4d5d6527f6a2ce484ae00c044760ebcc6b1e17c805581e030c08d6339930d398b44a30fccbe417d8d2c5d019be47bd14ee84470fd00c0245012a05f20005581e03b377e3158a52ef58590417f2813d7da9a26906d973427e2f018fd2af300c18684802701e5493c6bb2605581e034e35d98c9122dc60c6231dcb51ddcd209c4505b20973b308b7d77be6300c014703bdb2aaf2d0000388e977978a4325a99a84ecf7f647f36d8430a372d1f7ddd8b346830ee9032bc805581e031e51d88c3f9edc61c7c95af15946c9af1bb0992c49ca31234dbbced0f00c03470230fd56b0b6300219f7df032df3b1c3a5a7b37209bc1c3f3120d00cf0079575d816c34693771d9da968a0b103131fe97b26279aca8670e4ae70f8603ec101c62d26818fd1db8307393d247824037a2464ab7b7ba3d66a8b51225c82ac39964fb44b304b0b21dcfac47df6ef1e2703c2e7cda0e058b08a4c5530b09702bff51e88610a16936808297bae4cd823d2580219ffff03323973f90ab7859ab9bdda574068fa4819e2882d87b692b73355ababc9710a0203aed73a3314a3a98e8122d3ed47826a7988cfb7bb1b5d389b28df87285a8b4596038ca71b0c5d05af968f4591630b718cd01dd69ca86ca43ca7cd9c8a7d2e37b84003b08f441243cbf3d956b215fada5ed80bda2ac91b80d403abe9cb8f3159e0ece10219ffff03659df63b7695ce727b2d40deaf8791fec2aa8d79da6400940a6f12eb4cf55ba4032b9bb47ad8af6fe868031ed2c66d3f169bb35bb951d3274a3ed4e0c18179fd7e03efcf7a11a7e0798d6125bc0406bf54db45c456c1afa25bd06be9c395ede5a39c0330b209a5a76132b8d2a20f34e7643ca8e6f2fee14c78422375ff64139a2226ec0304b81a4a371a67e6e455873a0fd60614a35c729c1b65be327c86b8c43c390acd03d3474122055800aa2352e639b70e1ccfaf5badbe3f24576ec6758377f38e73d9033a19c9b37f6f1ac6b640f5a2c197171ff7630e90a54788920c4f87e838a8844903d5cee3c2c919f028cb24de8a583663750a92e7c2e82e28eb18855bd8d13a1e57035297dd8e2752b8f9929e05f883e1b3d2428a76f7b3f39f07403b33242d106b35030052c8060aa61cb5d95f015e255984bc7b6a506f2ea8af03f9f4382601325e23037b50010e0344bae5c4d0fba4f0c569ca6618fffcf4face3da252ee7356a9a53403da8f21c6e1b2b762f67cbb1297cafbb404917c17d797fbd16cc26e2030fc09190364389bc13c7af5cc1ebd1af9361bc911a3e623be25793d685e448fa0abdd051b0321a44a2ff03fea575b7f52d5f03645d6591051c8d7369a8faecc001440b0a4f503e0099848e2877da3ffe2a812432d81921a29c5e1fbcfad0d6756ed7d5d96445b0219ffff03a0f2d12476949d8a83e539f4b1843907f492e7c8392496a487939fe2bf59e6000397c69b0d41f3b027e85cfdd087d55124599c6401466a2ea652d7a0f39dc5880a0374b149493af234e21e137d429c189871c46de8b50e5a1b9e6edcfda88a9b449203468dfb3c267033c97685112166065ce884f3fdec117ad00b75513ac0ff660fb6036050e3e0ef0b05d2431e5a0e7049dfebbdc2044c810d10c0afa68faf5a6bddd703f184fc1e0066bdd77db64df0c067cc7ce73603bd430c5fc98711389b8cab9f2203c81d7a7a31e62b397a9ba87ec7320d22d7802b588ca5afcce93678716919fd7a03169db16ed300d985ec06283b91472efcda78f2cb0fbebebf879992ab8bc65efb03ed19910889c1bf97c73a176c9978ae4d548d7429086b1f9184881cccd59a8be0036a31a239087251126787456121ee75744be9d847fd45bf407e252a055c4af230035cb04418ec00f19bb80320c8f957e7162bf7cb4784c911c0bbe7423e9127e5d9039199667a1c2a456351f9b68a13583ddc00ee973869800608b35d241aced3c1eb0335d789c9be6a6566fd245dfc824ef319a29733e616ac95f747f049737256f78d0364a9d2a5bffb83acd4b7ac786dc1a29a50460e0a5a2bd13c85bb9df41bfe1805039431c5754d76d6003b464197beda8c9f952ecba4fe14f1adf456194ccce508980313cb96da977e431ba52c835a0d42b0f97bd1a5d72bd254c092deb17d496948cb03df95088513c16dab7eae89963b833a1ce75f48b6f2b1f15e5c331e0e1f4beafa03b4730a1e82b48b4ad6ef057f9a31f8ed46a23735e7d183183f5d8c7ffedb0051037fb2030de6ecc17813af78abf634d9e618c061639af261bed4e223469d7bd1f203d93210c4bd9b21e36aacafbc5c99ebc3133d0dc7beed87259838d263f82caa3a03acb530cf477e0a7e98264738b79b654a8128fac1bd5aa626c9c6daf4285f7ab303220c12b8f611b16a56fd1bbdb2ce6273c14a2337dcfcc5abab5f33947227b75703b003d699320fcfecd9589e2b46a5470f54f5b68c32c20bc055e3a33b04db1a43037e0d9d995496e20fbb4f6ca0db4a7621b1ed91bfc5657ef27678d0797566ef9f035a4579603a6e8f07c107c4ad64d0b7c8a22ca1536fbdfb7d933ba9f6cd7cc1f503a031f146a8a06d8905880d72a0418cd96af713645fc8b9481ae33a1873f934e603a085cd57a8241fbdc2e5cc0b90bbf913994124a402cb329cdbff343509c4a70b03d27f3f7b59240673aa381c55d5b631295af429ff3089166fc1471d313d0172ad037d5eb57495215f1f7b5e05d5267be2fa5a2262ffa6e6166e8818881a91942e79036a03094b65c0aedb0fedf18b25a734f59db8fd7c48bfd4cd0c3c1e9cb0607777039f1b2a6a68eae05fac4dfe464ce885d5e9fe1cad2477b7a25c90d69938b3965603f2e669c85d66cf2ec44d2415f035dfa55d08ee78d7b764a1d112f10c39124a5e031eef56add58c1efba77f12c891716bca8e725b7def64ffa4e104bc7215682ac30374b32527725d5a9cde4756e012e5bda914832faf805917dbca0630d91f7e63c803f9a16ca29aacbe16af5da53f6fc1a7b6de553aef5ce928ab6139404e848457d905581e03571fed0c3ae6c78c02a50f03547ac67abd8d6c4102cc4f2c5ab419e9100c014707b07524151c0005581e03dbc9fcf7ba0ebb2a2a95dcb4c37ce894203fcd40ecdcb8082b7fa0b2800c014786466792c17c1b03e76fab61a44d504c297ef882d8a67efdd7bd390ea777aa1db6860161b14e696e05581e03101951374335fd8c6beba2e4df31d0254629ba1306da2704555eedbdb0040305581e03c5c423dfb1e022d51e8f1bc617fe9e9a25273e28d848306743f7983cb00c0546630881b3e6780338a6eedaea8bed768b3dc222222042219c9d5d549585621d7524ac2070c5a9d703ba0c9aa0313b942d38c128cf65c3f5b544e7ef1cd99a2d7c071278f27afc26d205581e03299620dfda7f73a100e5d9087071fd3b581aaa9627df02f479acc8e5700c0247026f285bf1810105581e036634b0d9476cf15f9c0f54193ebd7f013ea866dbc842a4ec4440b1bdc00c0147032cff1fecfad805581e033358e14493f27df3aac603e3a746e4eb3e5e7873bf36e795e29c9ab1900c1347024bcc85571e280330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e03d7e231c21f3ec6c049dd3d55174fe391542c6e43949b11fa47c153b61007011bffffffffffffffff05581e03bc0c89bb79deb8a570a08c5a5916a4d0b6f9154673208526074daf05d00c182948012b7acd4fa1d81b0219f6df03826e552cc15c9dc95f7a8a08753f3abdfa1f28cc9731c25a18df098ca6a2b68f031e5d4c0efd631668fc4058fb37ff076bd35d89fa64dcca3c42086ae6194103e8037062d076994c146c951404d7207eb89fb812de5eb82085e5401e8fff653af024032e018f914959ce830ebf9a66b82852f1b08870c6a731fe310013716e305f7a4b03da0a84fa1ffc84b589e6d7e53a4db0ef2c7853cddf6a63896d59b6cf7eae5d3303962e17673d3358f512656225a56587da5925a5e01e7bb6f21344ce34e68409fa039c805f319e5be4cdb72365c8d7032f02a6ffc2b8f0c407164a7dc867ab7aaf400393cdc8f4d16034afe3ad2a2849fe4bcaf4ecb0a58ec77dd1834a00c709bb834e030d369d06b2a75fe3c4209353a1019c96f17c8253ff680afbbedce5bc574ed1c00356061bd0f456d4baf94860582827c78322bb38822dd226f16438c43cccbff75a03a42c6cf72621952ef2533d3fff6963b80aa2ced9480e5d3da1c3565c1669a0de0219ffff0314efcfffbfc090c8ab65d1699b33d2d0b780560185670b1ab7ab8cad3643644703112c3a1e7fd2666d245a22e276d4da9bfb36be94172e3e2488939920a9c0691b03b9bd549fb9cc767a7d1ccff4e0fbbdf6800e656adb90c1b56b1a9b3b64009d2b0219ffff0219ffff034108d040de96ea6dfc6a00f875072015d531d19d3d84d85a4432a4757b585047037440b30b3a4765d8c2d3b2034f1c312609ad452b00938f6982e3160b87b6e70f03fe7f246291abe010b49c53107b4ecedecf58a4a62a787385316d862916ef81f4034463cad62b514777b908f7535fa207d5b61214bec0e5a98c08d18fb2bb9c6ce603dafd3165c527a9df21333a1890079e8e388e735dc0ea05a9c418a4affc16055e032618706575a4c8f7f0b8985a14277cec9658c664d61ccb47d0ebd4e5bbdeb31b03619b12bbc5505f18844ca3b1930cc79e43a55c890bb9c9ba139d6975e61b94b2038850c60dbd80cb6b927e00df2d57ce4532bb6397d431955031d640baf0b9b77203b8f0ad0f1b56f9e38f82b19e46e07dbc6d6175ca59feb89770d23b25f0fd971e0395ed4d2d08dd8951d34757e68d5a318be9db9c7340941bea0285b0f3dad61dcf03b8d7e65bd57edeec5dd409812d51e586c1505869cd41fb899bf3716bf401798503ce997c91a8394e700bbdc86b8e7a70b4e78f1f9da42fdaf9f31a083ddd07de4b031d33d29667a098803750136d41c603b0ecb48065cb4e1c2949fb9906556f67720331a6630a827fe008a59ccd1c8b9897b13c4e569fe128e4f358112786ff3d63300363bec44390b4ac1c605d0bb3730d006fcaf65ed34e3688f6d7e77aced61bc5aa0317075f9858b503f0411945cd33b50af6571d679a29a7b4b6473e93b85df22f7903e4a6f11137c3c7ccce8fa4af23fc2ed47f249d16cb8ece3f65875dd7a85d7ee503e2f77061dfbe4dfc806de7e34f59dcc7166ab01975e6613bcd8f30e703b9c17203d81509c89c4e9c3c68ad449ea911249d828c1e8f95ec7fc4ed3e95e17f3e48d40393b18c8364a535bf3c4c26b8e2fd135124e0bef6e73d679083054d1868ff146f03620bae0a8675f09f026b3ab091c1b6685d875767ebfb516e7d2c120e8051cbf803740ba16c61986bd24461a5fb0f12518b10fa5bfab1425341562b004162d7dd2305581e03a90e0459c77321a043f29cf910901b7214c72d981e01b30fef2d0b28000c07470750c0b8dc37d405581e03f1d1edf5de814348453328d930461ffed0271199329cdbcfaf5648dad0040205581e03cf15d47e27e1b674b5f033ebd0b8a337816c970896083e30832abd5ca00c094706d2188ecdb13105581e0364e3d4e2dec5c803909682e4cfa2b5c8976f7b805158470a9d838f6ac00c0247099f7fcaa6fc0005581e03aa8570f2beee0170ecbc350788188da9e4d64883338c14637ec5124e000c0147171fdda02ecc0003f61d7ead23eca97195821e508616148c11ae4cccfbcae60721253ddcaeed2a9303a74b99c3da42bf2a68a89f64afc3d921fbbc43688807ce26d1efe07ab523581805581e03a09e009f7a26ea67cb2bd5a7eebd9c364fad1f098df1af5c844f6d4d0007011bffffffffffffffff0350b3fcec50100184a44a786d5d709a0a15787ada62db12c82d12bedd17bbd5db05581e03b16009b5f526a13cf495e88d2d4c35ca412205d1b19f52626c95b30740040405581e03482ac4b8568bc820a73931d8589a536dc9ea074b45060f1818fea10e9008477f026f82b8600002192de9033d9febb431daa04fbdbc2ed34f2987f51f0e80ea952ddd15a61560509c44654703759acb51192d08899208267bee4e277f654979946afe33e89441836a3250bae10219ffff0301528a9fc0055e3ca669292171045e20ce475a8753dfe756c056aabe7de4748c03966e5248ed754d38da9f910cf3af9c43f7075526a3d1e2c3a0935468b65b369803652b88681c79001b08bf596d7eb4a077236ed5e585e9df37742217723264b740031588a0119467d8d5d8e63592bf1931fe66529564458ba064e9edbcc11307be3603712b831bd9fc866b3900a438988b9f591ddf98d702f31008de3fbbf94ab6828103c6b8d1bf09817eb376275215b221d98a86b438e982d993cfbb948434bc30277a038fab57252ab2292dc9e07e39805b26d1e61a367a396555b51f65f52b27cb40150372d6f5de08dc1e808336b43f40dafa152317042cd0fd454f967dbf294bb548690389635b2d715112f1d68ec0427d4719c0d3225cd4105933d4d47a43e8348386a303b0356d09bc0db8776dfff1f314438b72da3441e6599c19fc1312790c6e7bb82e03d6763d5f211d08edc4261512b7b82b27a72bf4d102052d0903f71a33df6138350311510d6dc38a094a2847dd2156d865ec229215fdaff4ac6200466e8a19453088035c9cf22dfd398894505e9d32d74d083938b167a6b605b311d94d56e6ba46d6ca0219ffff0341a8a9d690164b1ccecad84f33f129ca0a9210a84b926fdc408ead80cbcc513603e728f4ed8825dabafd849f520053b6391cec50257233a421fa614dd834e8b2fc038a2b2ec5eb963db9ecc911a9a5f1806b5cd2cf5d9ed8c5c625f48826ce262d3f033030bdb5bdd93a11f31434315fb3c793a14ebd6d6c209aea71f2f3260e6bd5e2032a9f18533d865020fc038826259c89cb1f979c2467f82cddcc851c008208a3bf03ec3b2771ef1ce51525ce9188e07d68657da6220738240d7c99149a216cda4bef03d6a2cb3a352a327f289201606950dc0f642f42ab4fad24202466bbbde63d5dca03e281a70a886532faf9d8f4e46b4f024c57779c2851333986ae9d68c744fcde89033bd071973a19351b8e446cb88a1dd01cda8f073f9f40877c5430cc64a4482dec036722e41d08b9e8b457599d25e841a34fc1ed3abbcaba343faf59d3c1b4529bf30316c646ce9f7d1bcae38784f8dc36549dff3b7c405fe26925605b0a612ffa91fa03b8872b007f3645d16b9488481325f09e09e0651428a424c7986b1f1ba46a5083037f135a2bf95c15aea5ef045f19034d75cb5d70d485a86114570a148b5ea6d8740369d3f65a5a6db0cc8bdd152b3a2e731a38c1273eca9f06b11544c798eab4100d0219ffff03703d481fb556955926cbe7dbd8118d5a55bad243c078b36a7b011cf74dfd518f03f9c8841af9a49f4194b9de111823621bec36bf5fac71cf34aedd71c2c50e4beb03f56140e5533f371c85456b915b7bbaf54df087e1b636715fa6644be12368b1af0219ffff0335a6c0cc717475c54152375cfcbb708084e5d29f414a1aa5e0c9da4f9d2632ef03d6f31d8175e31a1bd7e6b7823ef368c24aba2d3303eaecd6624db29d0d1ec00303748342ff4757ea3134e808d3629504919529503f0c51e5451f99853141822b60032dce451c05e631c99cbd5f9bcaebcc930e7ea9a4065296947098da1b4b5f557f0381a511135ca0283197f226d443475454bbfb927bf19b60cfdfcdc8658f45161e03598125880572074872cb565691713cde86cdbb088333d95b529346ef6eb4a6a00300e9cd65f8378c364b5ca1b87666cca4618176df2c575739e0280eeb80b4ed2503a2f03990921015df04f0e428d217895989336ca7a329cbcdca7b406dc01a16db03ca899ba72b06295798f81484c90a6a3ef3fe0d8e8570d5bacf4b9baebd5ffeb40382d692a191fed6db75325ba9d174375724e0916917287009cafc79e996756c6203bef87969d31d52ada99d8c268be1ee481b801f61a9f22269badc2189d65412330383a97de1293f10b9c79f95634c29078ce1d0baf1c28260759c314d9ffc1ca354034714c87a33bc7fb9e0ce74077ed53b3e884d9a254a7ee97e5e0ec0fa4e25e6db0349250cb1236e0ea4cd02ec9da343f58f0cd08a89119d434739e7ce632e438a5e03c47edcc9bea3810ac04e95075c6b5547cebfcfb5257842799fee25f0119fae6c038ef0d88e20dad297fd453bd6335a494c854edbfcd86f05943b8bb64cb951bd11033cac01c3a69e3d36b8ef4dbe390b087a47098390a97a50444ff88af4c6dfa13b03c70496ff65fc523591df028190701a0b8cb34b982d9e09d91b67e29e91b31f4e03f0a54e68eeef05ab31a3fc1896544586303875f5e3c1dc937b4962e779801ebd0362bcce2243155c3416d9e48eed9eda4e6e3d6f2002b646c3a343a26bec54afa003b00a6262a5932f239918fa6817c3c668da03a63d47aaaca70035f9036fb286f10385d77ce7287338def5a74c86df6970c15fc51720d817bbad99ba3cb5fa4d0841039dbc90a2694f6426ee3393632350f4a2bea1bebdeb03a07b3ccbd3f5d69e3fdc034773c1df9673906164d71e49875589c5c3de52ce4d0b3fc386f89b16f291033903878bbc8b5c1ebff621a03a22c4ba34331759c17e2ed61c9773d1a256509facb6034b4386b01a353dc6ef46aa11a2625db5a836e7749a52f44787f730b151f12bc50307d922cda616bef971a346754ead895f1a4e5737a7842167f8e667cbd2c760120300181d86894135ed3f2df072ba4efcd2fb5d329a6b589be20a4491464bebe9c203629e30731f66cf26dae195b51030c7c4b6e0e3aeb4c873d2c840dc1bf9c9ce160304067423061679c4f597865bbd721ff8cb96a8d9e8ca6dd16bf8c7cbc5c9a8a203d7283da4201011daf6ad34947ffa9cd830ad86f68700ee545abb5f63ed9ea0ab03261480dddf3c768168f8ec8b7615efc2292624796df21fee6eb85e717d99405c03c51c6d6ede0551fb759388a0916b2dad8051deae70bbacfe4da080525b4f057c0372b733bd7bbff8bb0c7bb53e1ab57141a902219311c905085509b833f6966bc403c51509cd7ce6652588511af23438e8eb0639e819a1a31c64b789e4889e2ee67f03a1b00f7e077bd4c60ac7468729617853e82f5e143402b3324f78b5d32f8a9f9703a64f6ded64a0798498cc61ad1910d24c9f8951a47535d5873b2c382b42a4fc91033deb0575df9248a0c496b7566c20f048e9cbf12e9f4e68330208c07d86cf021103c54294e6bd0e407aef67378fa2bbd40d53e5363e4e08e655cd8efe4ce8cd123903b795b7970cea04b7a74796967ef2dc2333735c67be488e97b3118ca79b2a8e83037bc58a6d19fbd4fe8a8abd3cbfb18beb155a536fbe2843ee9870bf51fd4bec2705581e03f763c41af29353e8ac7a2955fcf7a1daaaa48f3be11b6d78be91f5cf100c014703fd13789ea20005581e0385558866fabeb7266f56fb8faf5d0c4903064f4c277ee0baee74ce7120040503ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d02849e263fc0b7cd41a944ba832dd5d8d8e664467f0e4ee1ce0064d7540f0147ab69f6dc8384001bffffffffffffffff05581d0252759bd4d301920e0ac3e4914abff642dcef41566458e33c5238ac360c1976414813983859e991a889021903000302bf9348616e76df4501bf25934f7037d668de4bee95f3a56bbb04872df3586305581e038c74f8f57912cccd971bc0fa9b680c06000fe0cf76d2bd6e3dd83206f00c014702b27d12738c5c05581e0379fe638a78c8c3e632703cd9ff701cf3b773306eefeb73f03abbf09b800c024701b417f71f940005581e03cbac978a77bab7bd7eb59d62019b4e2a069abe19377038c284fe4399500c014601cfe5bee13005581e0363dc9bf2485ab6401f2a98fdb522fe151ea752fb1a122a183b875e5830040105581e0396c97389620a6245987c9fc76943d4cfaa090273c8705149de99f4c3600401039866a35c8d9b05c05bb20770e4f39b13ad2b3bf59bb66f0f7e90cdf9d8004e4803bab32d3dadad9d502a34c4244c5efde268d4818fc30f1f6be36d5cd5abc0172f0219d8ef0385949ea70993af0cdc38712036b606664c7752ea14ba5d01f26afdf3983602a803e21cdf6fdcd6dfc568930b5186d23fcba1fd600e18b3f2b25a835a3be6faa232037380ce712caf1a884243b4ae8aabb0866ee819acffd82978f052bf7c22c18437036f9f29fac9132b3f2fb7b73a022f345f4b3978c5543fa8509bdedaf4c4b6bfbf035323543a3cc2f957962c81a96b81ab5dabfaf0581d253ae9eb2e2e9a387733c803008766a3511eb9d34748cf9c07589dffef061b7dcfa9d8122807b142ca303e08031fdf8970c543c27bff6a4b9b6f2f3764268b2b1dd21fbd62eae942d7a98b17f1033f525b368e69492299fd531735fc92b4769c3b3116efda3960804cb6c55d139a03f0c2a482b06dc36b5f943fca1f51594d40461649005b76a997bc6ca76aaaed930219ffff034633cf9ca5c55fb8715b73c35b817b01a58a2cadfa0539807c58986b4a7c2b44038ed1faaf0d00092c7718194ffbbbbd8e5ae642874dc28ca4cd21ed72d4d43c120389d9552e79da2ab470036a16285c7d7710fb3006cada7cef4c77a55d155f98e3032ef8b2d2c4492841e4b10e2b34c781ed3e4d8bb2a7dee41394c163d09fa0c15703b46ff560c49fb95efa884c22c0b4d4688a010659be9a616a82858e119764f92b0219ffff0219ffff034e38b193e931e9ba2dd1c991b662be008fdc996ace1f7af7c88565f01e9a6f7f03d33c466de5fa5d520ebe3862896d9b5c709c0882ea6f69ab1cb0c1ebe8fa47d003a3e1c0d73a6e78da56c597e40769577b48a543964fcb6107f85b70f52a180a8603fdc322a5d1511a40c2c2998bee129e15bd84ac023da50bba2c979378a4e0351903389422a49f29cf066cb7824b73d7e989bb1ceff5a9122e7851b78cbee60c93ab0219ffff0219ffff035404810d04a315c577f8a2eed6a2e39e3d9dbf66b0507460a1a9067ccb06570903cb698fb4a2178818a3e43383065492e50de6b9a4a649f3bcc9a8db771dbfcbbe039c8c2a4648903f4e439d02c76d6845b4372daf47bb6b6be970e2244f33f4f6b503d31c6340f5b723edada8117ca119d468f675b5022045f927d2b5be16bdc9bc4303630fa5611ce1163f82ffa7adfdc0f8b1957508f9b20629a43a28613b04846239032791bb66d2c15ff320fe3916c38d3da1f5a7c88dced52844c219d94dd11ac27603bf7a6863844a3756676bab5499847817d151437fbdb76391dc3bed3bf9bac13303bb7beb6584d2af4abc667e8bac32f5778b53f9271daea59b3ab2f877d46ea1f30398fd99bd12d1435b922bda1e3985e6d053f8a3f0d94bddd62511b111893e3ec0038a35a8d966c909f048820bc06a6091dd319768eb181a5602d9fadb445302858803f2e7ea181db2b43ad9f55674217cf0c3dcb3a653c77c3e6703d740603ff49b70030aec32637056ce89fe1885b6c04a8d76b2e06679a0f839e041b3bb23d0944550037865e566d3cc71ce223c6199b56feb5a7eff50a415566f8f516530ea7f2180a6030fc29f390db03ef883c136cc4598c794d70d01d6336c1789bffd83237a288f78038e35c21f50fed8b5654edb836941493458494cf193c33dc3679f3ff1b48e09760383d4a66e8176acf8c70bb2634c518a47470266612a1f896e3cb8ec0de169179803510f4673eeaf54d6b629ce1341be39aa48fb6d828ce1748d12842d53b4bf6d3f03f0513826032028674c9213822f17645db7b1722eda6b8606441dba0f2c8b75ff03295a8d884c62cdae6477c15eef7223b0b13427bc18e7c44a147e7283a6d01cf903c8caac68e94077a7d3838b9fef25480698192b48606701b0aaed48f13c4359fe035223ca858271cd97106887f3b327912029a4f6a281f28e4c1318ce983852a80d03f4857be480d00e7e6fcf4de64078bf3b48bd3efeb744c0b1cc2b7924a04f874c03c6b3f72611ef0136a0217d2d070c37929b781961d16a56d1c57523767cc7c763035a48f4e3d05cff7c38a3a570275590b5b30bac1d41a1537def24e1d8bef833740333fab63f10e02d6f299f5369a33b88e970aee1f9e969e5f3ff7bdda8245f6a14036758e08f7b0a4ab6188d8067fc40f7a6ed2d0300bf61941b2a61de0681e1b5910357a0017a9a5249aafd1fc6723dc96b7a7d8fd00b6211ee012bda22c2ca4677c503e47c9ccaa023b329ed63ff014dd40a30412a9a65795acda3e6af4038200124f603bedb43ae2c49c593a8052d7ff90025c1fef86839e75e2d720d9e7d3f2576842403b2b1fd29d411b86a19e7458220567581dab1bf0acaff3bf26fdd85838b3f80130339590257945d2136c7ce716d785a0211523576904195f29a8f10e30e0cd81983033a70ade4e628ec739342c1a05b312745c89d2ec767991a112e718e8dfd6eadda0358523f4355faeec649de744e13da4e617b28749be372d36119b880b09ef3444c0362fa090988387df43be8cb422c5237e87b642969b42551fa015b55ad22bc2449031b071937c082b3ba28de3ec26aad9ab6f8c247195590c86f7350e1228e82fb9203c75bfaa5f8780a789715d59af751241952b409f33ab74011d733450b3012109103467d5179495ae84da475347ef200454874edbbfd05a72f4ed212695d7d89c49903a658baa083323d5247b0e0d20bc2da6d6c07947cfbe23186c9b526e657086e50031a7a8bcd5f840c91a777f98c682f3f315e71e0adafe6d286d339808e183a8b600359adb90c46ed247d45b52c924b1f29cb9481a8a34ad011caa08d304f5074d9f7033dd7cf5928d2bc2e3abc34bf8201324553db506af3ecc2c5ff088281bd9600bf036349809191ad35152e400ba9696c4e8b585500584155786fc966bba000a21180037ce94eba079f2fbb6e1cb6e09f46df3b84714ae94e750fd89ffa4c59c5018ea503a9ee0a8de379b87b16eaf8cc9a36a125be31bbc015178fb58eac076d0c75b803039e64d1033b70d677da4e9a8ee8656162ba6921e70cd8f1f22d3a27b50d6556db033f4e1196b4a3e3e323096d6436921c8bbd4f132ef9fb16b6bb20a6124d84e3c305581e03456de1d1c2dc9c79a6be224a880cddb0561c93a820d0eddf9443754d6007011bffffffffffffffff05581d0292e0f64123254af5a3d97a05049920d98a94dda55978bb4ca3d4803c08472545ba29741000039c4da409f7c4cfa1dc902d1613c1182b714a021d9095a7284e5d73bbb87e25030394d9a2bd5f4ab8569e3bb34ac8a2657d65713732e23d72e8de681639e31b5d7b05581d02acb5a3f6b5ae23b750e0cdb3ad32a914f9bc447a395ecea838d5d67e07011bffffffffffffffff0219408005581e030098e50e88e05c1ad3db80a4a028cf882d8986af6a85935806c80eb3600c01472de1a208c4180005581e03a4fc6b9c6a07f8ef42004d222a13e20d832a0672da8fbd4234efb22c900402034fdf45b35688efe4fc11deadd2a01778fb01065e96f78bd88ca0c0ee4967613e05581e0387a9f8a94b9a454d261f69efbe0bca115218322beed8a8d83eaa22d99004010219964d039d2d1948e6d386c5cdfaa3a24ba71315c3e28fa9cc09724eb4ccb223df5e1cc003a6624d3b5f9697c2cf546a3b1ea40722a1b625595ae6276869d1c2313d7b1f0303d34aae3c9446a69e9980e395491b915efb697c83131d257d21d638e72d17507403fe53692e9c565cafb7269bdb55a3183167731c536aa00c4ebf028a44ee82af9e031db33374b7f3c816f146d83aa9a4d84781273e5096fc6be6e9f7fbbce31aa643032327b3dd88497a3cedaa5b54b30019b6d51d8ab3e578a7e558556e9739e35ef6033ba7df49cdc28629ace10258a87ade12b02dfbb088e215335c10603cb2e43a9f037e08f2082047fe7815e2b391e95391c82cd47414004f97d4091cf9eb6d2c0f110219ffff03564c781845c2ce7c0af307ea68334c0cf740226695e48495305701164328773c03f8175d90e8de5c26ec7963293ac5de3ff0ec20c53a02aa375b2b366c8a0629550219ffff0219ffff03511346838fa278e89f8f71e40c0248feb156e5dc7ba0334c21840b1a1370bf080326e7ba0cede21041140889ae14ed78c959d45b78746d93bb1dc3a427e0498b8f03499f37c60b3abdedd9f92ea31416805209b5fe6a7b0c172c225ccc734b1df99b03075ce1c7b638c266edbc917563878145505421f3ad5b50feb93d6beac0393ca2039b789a7055e1bd22018787a0df15a485185aa72cdd41639669049eb209b2dcef034f51a27ff0fda369dcbab48c998242d6f8e3325a880ece5f7048dde5427f79210369e558193e57554768968f9a256b776ec661002ea13d5130c925cc30fc01807d03dafa1766c63f7f536ab7558729fd27694bd1d17552a0154ea7cecc2e76d86dde0219ffff0320c041116ffe33de04d97afa3656f85807f4d382dc4bd646b2b341ad106e90be03e5fcd03ba72bb57d36514ce57753a384a850644eac2c10acf95fc70bfce9723303a51806459b155f678656543cfc3038c6efa867b54e41f4ae30c96929b4f247e3034e6505b174f8ec698f0e0f23eba5619969864c910de8c3f24a1b1a4f430af1310374ddf23d56064686f31349ab5c49b81e2945f93b6f3822fe2f56c052c1fdd22703a1fa25cb2d87ef29cfbdeb899c411655049484f1b7a0a457e78569ed57e1d35d03f6f7c1b131084cab7a4436fa4d2083f33450cac4f020572a9e899854e0066316034e7c92a76778977b058db8e626bd7a18591a30b14580fc6356f3097be3dfa03a03b226ae18ccf1e6b17ebe5fcbc2ea66dfd8d20e7f33949ff78ebd48c1c6b81ebe05581e03e0833c9a6bd4a1ac36850a62c4012cbef8724d84c342728bf310af1940040205581e039a53016fc11537f8108d40fd5eb305730b973676d0d45f0c4f88808500040405581e036001c4889dc3e713ed02fcc9cab9bbad7863bb27a1e8b1b552c0bd72700c0147b7670a652ba4fd05581e03991b2266ac19ee8b051d14c0c8e0f91d76fcd27c0df828f049fc1cb2a00c01472386f26fc1000005581e0378d5e9830ea47e747f30be44763ba320d49e7c20239f744c8ca34f82100c024602bd84cb720005581e03e3808e141b997a17bdb8c8738359774c81d8aa7f0488119e050e7c6ce00c054689bf9914400005581e032990ee508758f7651acaa0542fc1b4bb243de1a2235b543c6448c14f900c0142290405581e03b069641cdca6c6b812ae10276664878871b3bf049eb89c676eb57d2900040105581d027d22d561610232c90d3eba1949f0af76037757b493b8dd42ed6f0ee80401045957d46080604052600436106102f65760003560e01c80637e54f0921161018f578063bf15fcd8116100e1578063d365c6951161008a578063f2fde38b11610064578063f2fde38b14610859578063f78dc25314610879578063fa461e331461088c57600080fd5b8063d365c69514610813578063e449022e14610833578063e5d7bde61461084657600080fd5b8063c805a666116100bb578063c805a66614610799578063ca4ece22146107b9578063cf6fc6e3146107d957600080fd5b8063bf15fcd814610744578063bfa7514314610764578063c53a02921461078457600080fd5b8063942461bb11610143578063bc80f1a81161011d578063bc80f1a8146106f1578063bd61951d14610704578063bddccd351461072457600080fd5b8063942461bb146106915780639570eeee146106be578063bc1ed74c146106d157600080fd5b806383197ef01161017457806383197ef01461064157806384bd6d29146106565780638da5cb5b1461066957600080fd5b80637e54f092146105f4578063825caba11461062157600080fd5b80635a0998431161024857806370ae92d2116101fc57806372c244a8116101d657806372c244a81461059457806374261145146105b457806378e3214f146105d457600080fd5b806370ae92d21461053257806370ccbd311461055f578063715018a61461057f57600080fd5b806363592c2b1161022d57806363592c2b146104d25780636c838250146104f25780636fe7b0ba1461051257600080fd5b80635a099843146104ac57806362e238bb146104bf57600080fd5b80632d9a56f6116102aa5780633eca9c0a116102845780633eca9c0a1461041b5780634f38e2b81461044957806356f161241461046957600080fd5b80632d9a56f6146103bb57806337e7316f146103db5780633c15fd91146103fb57600080fd5b806312aa3caf116102db57806312aa3caf146103435780632521b9301461036b5780632cc2878d1461038b57600080fd5b80630502b1c51461030a578063093d4fa51461033057600080fd5b36610305576103036108ac565b005b600080fd5b61031d61031836600461483f565b6108b6565b6040519081526020015b60405180910390f35b61031d61033e3660046148a9565b6108d0565b610356610351366004614975565b610d16565b60408051928352602083019190915201610327565b34801561037757600080fd5b5061031d610386366004614a17565b610fd1565b34801561039757600080fd5b506103ab6103a6366004614abf565b611001565b6040519015158152602001610327565b3480156103c757600080fd5b506103566103d6366004614af1565b61104b565b3480156103e757600080fd5b5061031d6103f6366004614af1565b61114a565b34801561040757600080fd5b5061031d610416366004614a17565b611164565b61042e610429366004614c15565b611188565b60408051938452602084019290925290820152606001610327565b34801561045557600080fd5b506103ab610464366004614c72565b6111aa565b34801561047557600080fd5b5061031d610484366004614cbe565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61042e6104ba366004614cea565b6111d5565b61042e6104cd366004614d60565b61132b565b3480156104de57600080fd5b506103ab6104ed366004614abf565b421090565b3480156104fe57600080fd5b506103ab61050d366004614af1565b611355565b34801561051e57600080fd5b506103ab61052d366004614c72565b611384565b34801561053e57600080fd5b5061031d61054d366004614e0c565b60016020526000908152604090205481565b34801561056b57600080fd5b5061042e61057a366004614e29565b6113aa565b34801561058b57600080fd5b506103036113f1565b3480156105a057600080fd5b506103036105af366004614ecd565b611403565b3480156105c057600080fd5b506103ab6105cf366004614c72565b6114b2565b3480156105e057600080fd5b506103036105ef366004614cbe565b611524565b34801561060057600080fd5b5061031d61060f366004614abf565b60009081526002602052604090205490565b34801561062d57600080fd5b5061030361063c366004614abf565b611544565b34801561064d57600080fd5b50610303611553565b61031d610664366004614ef0565b61155e565b34801561067557600080fd5b506000546040516001600160a01b039091168152602001610327565b34801561069d57600080fd5b506106b16106ac366004614f67565b611571565b6040516103279190615001565b61042e6106cc366004615045565b61162a565b3480156106dd57600080fd5b5061031d6106ec366004614abf565b611767565b61031d6106ff36600461483f565b6117b7565b34801561071057600080fd5b5061030361071f366004615082565b6117c6565b34801561073057600080fd5b5061030361073f3660046150be565b611867565b34801561075057600080fd5b5061031d61075f366004615082565b611872565b34801561077057600080fd5b506103ab61077f366004614c72565b6118bd565b34801561079057600080fd5b50610303611930565b3480156107a557600080fd5b5061031d6107b43660046150e0565b61193a565b3480156107c557600080fd5b506103ab6107d4366004614c72565b611971565b3480156107e557600080fd5b506103ab6107f4366004614cbe565b6001600160a01b03919091166000908152600160205260409020541490565b34801561081f57600080fd5b5061042e61082e3660046151a4565b611998565b61031d610841366004615295565b611a2c565b61042e6108543660046152e8565b611a3b565b34801561086557600080fd5b50610303610874366004614e0c565b6124cb565b61031d6108873660046153ac565b612558565b34801561089857600080fd5b506103036108a7366004615416565b612573565b6108b4612785565b565b60006108c63387878787876127be565b9695505050505050565b60006001600160a01b0388161580156109085786341461090357604051631841b4e160e01b815260040160405180910390fd5b610a24565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316896001600160a01b0316036109f057506001341561096357604051631841b4e160e01b815260040160405180910390fd5b6040516323b872dd60e01b808252336004830152306024830152604482018990527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc291632e1a7d4d60e01b9060008060648382885af16109c6573d6000823e3d81fd5b8181528a60048201526000806024836000885af16109e7573d6000823e3d81fd5b50505050610a24565b3415610a0f57604051631841b4e160e01b815260040160405180910390fd5b610a246001600160a01b038a16338d8a612b30565b8015610ab85760008b905060006327a9b42460e01b90506040518181528a60048201528960248201528860448201528760648201528c60848201528560ff1c601b0160a48201528660c48201526001600160ff1b03861660e482015261012061010482015264a62929c86960d31b610143820152600080610149838d875af1610ab0573d6000823e3d81fd5b505050610d07565b6001600160a01b0388161580610aff57507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316886001600160a01b0316145b15610c75576040517f4cb6864c00000000000000000000000000000000000000000000000000000000808252600482018b90526024820189905260448201889052606482018790528c918a1560018114610b5e57306084830152610b65565b8d60848301525b508560ff1c601b0160a48201528660c48201526001600160ff1b03861660e482015261012061010482015264a62929c86960d31b610143820152600080610149836000875af1610bb8573d6000823e3d81fd5b507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03168a6001600160a01b031603610c6e57604051630d0e30db60e41b8082527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29163a9059cbb60e01b906000806004838f885af1610c42573d6000823e3d81fd5b8181528f60048201528b60248201526000806044836000885af1610c69573d6000823e3d81fd5b505050505b5050610d07565b60008b90506000632b651a6c60e01b90506040518181528b60048201528a60248201528960448201528860648201528760848201528c60a48201528560ff1c601b0160c48201528660e48201526001600160ff1b03861661010482015261014061012482015264a62929c86960d31b610163820152600080610169836000875af1610d03573d6000823e3d81fd5b5050505b50939998505050505050505050565b6000808660a00135600003610d57576040517f0262dde400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d666020890189614e0c565b90506000610d7a60408a0160208b01614e0c565b90506000610d90836001600160a01b0316612bcd565b905060c08a013560021615610dd55780610dab576000610db1565b89608001355b3411610dd057604051631841b4e160e01b815260040160405180910390fd5b610e06565b80610de1576000610de7565b89608001355b3414610e0657604051631841b4e160e01b815260040160405180910390fd5b80610e4f578715610e2557610e256001600160a01b0384168a8a612c06565b610e4f33610e3960608d0160408e01614e0c565b6001600160a01b038616919060808e0135612b30565b610e608b338c608001358a8a612cbf565b60808a01359350610e7a6001600160a01b03831630612d1f565b945084600003610eb6576040517f28ebf24700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000199094019360c08a013560011615610f4f576000610edf6001600160a01b03851630612d1f565b90506001811115610f0e5760001901610ef88186615473565b9450610f0e6001600160a01b0385163383612dca565b610f1c8560a08d0135615486565b610f2a60808d013588615486565b1015610f495760405163f32bec2f60e01b815260040160405180910390fd5b50610f74565b8960a00135851015610f745760405163f32bec2f60e01b815260040160405180910390fd5b600080610f8760808d0160608e01614e0c565b6001600160a01b031614610faa57610fa560808c0160608d01614e0c565b610fac565b335b9050610fc26001600160a01b0384168288612dca565b50505050965096945050505050565b6000610fe76001600160a01b0389168484612c06565b610ff48988888888612eaa565b9998505050505050505050565b600060d082901c60a083901c65ffffffffffff168361101f83421090565b801561104257506001600160a01b03811660009081526001602052604090205482145b95945050505050565b6000803361105f6080850160608601614e0c565b6001600160a01b03161461109f576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110a88361114a565b6000818152600260205260409020549250905060001982016110f6576040517f41a26a6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518281526020810184905233917fcbfa7d191838ece7ba4783ca3a30afd316619b7f368094b57ee7ffde9a923db1910160405180910390a26000818152600260205260409020600190559092909150565b600061115e611157613131565b8390613258565b92915050565b600061117a6001600160a01b0389168484612c06565b610ff48989898989896127be565b600080600061119a87878787336111d5565b9250925092509450945094915050565b60008060006111b985856132d7565b915091508180156111c957508581115b925050505b9392505050565b60008060006112356111e5613131565b601f198a0180517f74ab4f0cde46aaf927859983f7d04002116dd057d4c4941f6dbfb775c3e31f4582526101008220915260405161190160f01b8152600281019290925260228201526042902090565b9050600160fe1b8516156112a957600160fd1b851615801590611259575060418614155b15611277576040516317c2b1f160e01b815260040160405180910390fd5b6112878860600151828989613466565b6112a4576040516317c2b1f160e01b815260040160405180910390fd5b6112d6565b6112b988606001518289896134bb565b6112d6576040516317c2b1f160e01b815260040160405180910390fd5b6112e1888686613522565b60408051848152602081018490529295509093507fc3b639f02b125bfa160e50739b8c44eb2d1b6908e2b6d5925c6d770f2ca78127910160405180910390a1955095509592505050565b60008060006113418b8b8b8b8b8b8b8b33611a3b565b925092509250985098509895505050505050565b600080600061136b61136685613b2e565b6132d7565b9150915081801561137c5750806001145b949350505050565b600080600061139385856132d7565b915091508180156111c95750909414949350505050565b60008060006113d185858c604001516001600160a01b0316612c069092919063ffffffff16565b6113de8a8a8a8a8a6111d5565b9250925092509750975097945050505050565b6113f9613b45565b6108b46000613b9f565b8060ff16600003611440576040517fbd71636d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526001602052604081205461145e9060ff84169061549d565b336000818152600160205260409081902083905551919250907ffc69110dd11eb791755e4abd6b7d281bae236de95736d38a23782814be5e10db906114a69084815260200190565b60405180910390a25050565b60008080805b63ffffffff87821c1692508215611517576000806114db61136686868a8c6154b0565b915091508180156114ec5750806001145b156114ff576001955050505050506111ce565b50839250611510905060208261549d565b90506114b8565b5060009695505050505050565b61152c613b45565b6115406001600160a01b0383163383612dca565b5050565b61155033826000613c07565b50565b61155b613b45565b33ff5b6000610ff489338a8a8a8a8a8a8a6108d0565b60606000825167ffffffffffffffff81111561158f5761158f614b26565b6040519080825280602002602001820160405280156115b8578160200160208202803683370190505b50905060005b835181101561162357600260008583815181106115dd576115dd6154da565b6020026020010151815260200190815260200160002054828281518110611606576116066154da565b60209081029190910101528061161b816154f0565b9150506115be565b5092915050565b600080600061168a61163a613131565b601f19890180517f74ab4f0cde46aaf927859983f7d04002116dd057d4c4941f6dbfb775c3e31f4582526101008220915260405161190160f01b8152600281019290925260228201526042902090565b9050600160fe1b8416156116e657600160fd1b8416156116d6576116b48760600151828888613c9b565b6116d1576040516317c2b1f160e01b815260040160405180910390fd5b611713565b6116b48760600151828888613d05565b6116f68760600151828888613d5a565b611713576040516317c2b1f160e01b815260040160405180910390fd5b61171e878533613522565b60408051848152602081018490529295509093507fc3b639f02b125bfa160e50739b8c44eb2d1b6908e2b6d5925c6d770f2ca78127910160405180910390a19450945094915050565b600081815260026020526040812054806117ad576040517fb838de9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000190192915050565b60006108c68686868686612eaa565b600080846001600160a01b031684846040516117e3929190615509565b600060405180830381855af49150503d806000811461181e576040519150601f19603f3d011682016040523d82523d6000602084013e611823565b606091505b509150915081816040517f1934afc800000000000000000000000000000000000000000000000000000000815260040161185e929190615569565b60405180910390fd5b611540338383613c07565b6000806000611882868686613da9565b9150915081611042576040517f1f1b8f6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080805b63ffffffff87821c1692508215611923576000806118e661136686868a8c6154b0565b915091508115806118f8575080600114155b1561190b576000955050505050506111ce565b5083925061191c905060208261549d565b90506118c3565b5060019695505050505050565b6108b46001611403565b60006119506001600160a01b038b168484612c06565b6119618c8c8c8c8c8c8c8c8c6108d0565b9c9b505050505050505050505050565b600080600061198085856132d7565b915091508180156111c9575094909410949350505050565b6000808060148410156119d7576040517fd9e1c6dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660006119e68888613dd7565b91945092509050611a016001600160a01b0384168383612c06565b505050611a158e8e8e8e8e8e8e8e8e611a3b565b9250925092509b509b509b98505050505050505050565b60006110423386868686612eaa565b600080806001600160a01b038416611a7f576040517fb0c4d05f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a888c61114a565b6000818152600260205260409020548894508793509091508c906000198101611add576040517fecef366400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611aef60c0840160a08501614e0c565b6001600160a01b031614158015611b1e575033611b1260c0840160a08501614e0c565b6001600160a01b031614155b15611b55576040517fd4dfdafe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611c5857611b75611b6d6080840160608501614e0c565b848f8f6134bb565b611bab576040517f5cd5d23300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060c0810135366000611bbd84613e15565b91509150600160ff1b89166000148015611bd8575060148110155b15611c51576000366000611bec8585613dd7565b91945092509050611c076001600160a01b0384168383612c06565b60008881526002602052604090205415611c4d576040517fc5f2be5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505b5050611c5d565b600019015b6000611c6883613b2e565b90501115611caf57611c7982611355565b611caf576040517fb6629c0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8415841503611ce9576040517ee2a52200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003611d795780851115611cfd578094505b611d1b611d0983613e23565b8460c00135888660e001358689613e31565b93506001600160ff1b038716611d318682615486565b611d3b8b87615486565b1115611d73576040517ffb8ae12900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50611e44565b611d97611d8583613e67565b8460e00135878660c001358689613e75565b945080851115611dec57809450611db0611d0983613e23565b935087841115611dec576040517f939c420400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160ff1b038716611e008582615486565b611e0a8a88615486565b1015611e42576040517f481ea39200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b841580611e4f575083155b15611e86576040517ffba5a27600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84810390508060010160026000858152602001908152602001600020819055508d6060016020810190611eb99190614e0c565b6001600160a01b03167fb9ed0243fdf00f0545c63a0af8850c090d86bb46682baec4bf3c496814fe4f028483604051611efc929190918252602082015260400190565b60405180910390a26014611f0f83613e89565b905010611fb2576000366000611f2c611f2786613e89565b613dd7565b919450925090506001600160a01b0383166396a10e3387611f536080890160608a01614e0c565b338c8c8a89896040518963ffffffff1660e01b8152600401611f7c9897969594939291906155ad565b600060405180830381600087803b158015611f9657600080fd5b505af1158015611faa573d6000803e3d6000fd5b505050505050505b611fe5611fc56040840160208501614e0c565b611fd56080850160608601614e0c565b8888611fe087613e97565b613ea5565b61201b576040517f70a03f4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60148a106120f35760003660006120328e8e613dd7565b9250925092506000836001600160a01b031663ccee33d7338b8b87876040518663ffffffff1660e01b815260040161206e959493929190615600565b6020604051808303816000875af115801561208d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b1919061562f565b905087811180156120d057506120ce6120c987613e67565b613f00565b155b80156120e557506120e36120c987613e23565b155b156120ee578097505b505050505b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21661212d6060840160408501614e0c565b6001600160a01b03161480156121435750600034115b15612359578334101561216957604051631841b4e160e01b815260040160405180910390fd5b833411156121df57604051600090339034879003908381818185875af1925050503d80600081146121b6576040519150601f19603f3d011682016040523d82523d6000602084013e6121bb565b606091505b50509050806121dd5760405163b12d13eb60e01b815260040160405180910390fd5b505b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561223a57600080fd5b505af115801561224e573d6000803e3d6000fd5b50506001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216925063a9059cbb91506000905061229760a0860160808701614e0c565b6001600160a01b0316146122ba576122b560a0850160808601614e0c565b6122ca565b6122ca6080850160608601614e0c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602481018790526044016020604051808303816000875af115801561232f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123539190615648565b50612411565b341561237857604051631841b4e160e01b815260040160405180910390fd5b6123db61238b6060840160408501614e0c565b33600061239e60a0870160808801614e0c565b6001600160a01b0316146123c1576123bc60a0860160808701614e0c565b6123d1565b6123d16080860160608701614e0c565b87611fe087613f75565b612411576040517f478a520500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601461241c83613f83565b9050106124ba576000366000612434611f2786613f83565b919450925090506001600160a01b038316633504ed628761245b6080890160608a01614e0c565b338c8c8a89896040518963ffffffff1660e01b81526004016124849897969594939291906155ad565b600060405180830381600087803b15801561249e57600080fd5b505af11580156124b2573d6000803e3d6000fd5b505050505050505b505099509950999650505050505050565b6124d3613b45565b6001600160a01b03811661254f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161185e565b61155081613b9f565b60006125688787878787876127be565b979650505050505050565b6125cc565b3d6000803e3d6000fd5b8061258f5761258f612578565b600160005114601f3d11163d151780611540577ff27f64e40000000000000000000000000000000000000000000000000000000060005260046000fd5b604051601581017f0dfe1681d21220a7ddca3f43a9059cbb23b872dd0000000000000000000000008252602081600484335afa61260b5761260b612578565b60208082016004808501335afa61262457612624612578565b602060408201600460088501335afa61263f5761263f612578565b600080600088136001811461265d5760208401519250879150612665565b835192508891505b507fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000084526060832083527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460208401526001600160a01b0360558520169250338318156126f6577fb2c027220000000000000000000000000000000000000000000000000000000060005260046000fd5b60843592507f0dfe1681d21220a7ddca3f43a9059cbb23b872dd00000000000000000000000084523083146001811461275757836014860152336034860152816054860152612752602060006064601089016000885af1612582565b61277a565b33601086015281603086015261277a602060006044600c89016000885af1612582565b505050505050505050565b3233036108b4576040517f1b10b0f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006128b9565b7f0902f1ac0000000000000000000000000000000000000000000000000000000081526000604082600484875afa6127ff576127ff612578565b60603d14612831577f85cd58dc0000000000000000000000000000000000000000000000000000000060005260046000fd5b81516020830151861561284057905b8785029250633b9aca008202830181840204925050507f022c0d9f000000000000000000000000000000000000000000000000000000008252841594508415810260048301528481026024830152866044830152608060648301526000608483015260008060a4846000885af16108c6576108c6612578565b6dffffffffffffffffffffffffffff8511156128f9577fcf0b4d3a0000000000000000000000000000000000000000000000000000000060005260046000fd5b60405160c081016040528260051b84018435886000811461296957341561292b57631841b4e160e01b60005260046000fd5b6323b872dd60e01b84523360048501526001600160a01b03821660248501528860448501526129646020600060648760008f5af1612582565b6129ff565b34891461298157631841b4e160e01b60005260046000fd5b630d0e30db60e41b84526000806004868c73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16129b5576129b5612578565b63a9059cbb60e01b84526001600160a01b0382166004850152886024850152600080604486600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16129ff576129ff612578565b50879350602086015b82811015612a50578035612a446001600160a01b03821663ffffffff60a01b851660a01c600160ff1b86166001600160a01b0387168a8a6127c5565b95509150602001612a08565b50600160fe1b81168015612adf57612a873063ffffffff60a01b841660a01c600160ff1b85166001600160a01b03861689896127c5565b9450632e1a7d4d60e01b8452846004850152600080602486600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1612ac457612ac4612578565b600080600080888f5af1612ada57612ada612578565b612b0b565b612b088b63ffffffff60a01b841660a01c600160ff1b85166001600160a01b03861689896127c5565b94505b50505050838110156108c65760405163f32bec2f60e01b815260040160405180910390fd5b60006323b872dd60e01b905060006040518281528560048201528460248201528360448201526020600060648360008b5af19150508015612b8e573d8015612b8457600160005114601f3d11169150612b8c565b6000873b1191505b505b80612bc5576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b60006001600160a01b038216158061115e57506001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1492915050565b600060e0829003612c4457612c3d847fd505accf000000000000000000000000000000000000000000000000000000008585613f91565b9050612cac565b610100829003612c7a57612c3d847f8fcbaf0c000000000000000000000000000000000000000000000000000000008585613f91565b6040517f6827585700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612cb957612cb9613fe3565b50505050565b6040517f4b64e4920000000000000000000000000000000000000000000000000000000080825260048201869052908284602483013784836024830101526000808460440183348b5af1612d16573d6000823e3d81fd5b50505050505050565b6000612d2a83612bcd565b15612d4057506001600160a01b0381163161115e565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015612d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc3919061562f565b905061115e565b8015612ea557612dd983612bcd565b15612e915780471015612e18576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826001600160a01b03168261138890604051600060405180830381858888f193505050503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b5050905080612cb95760405163b12d13eb60e01b815260040160405180910390fd5b612ea56001600160a01b0384168383613fef565b505050565b600081808203612ee6576040517f67e7c0f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8591506000198101341515600080600160fd1b888886818110612f0b57612f0b6154da565b90506020020135161190508115612fb157883414612f3c57604051631841b4e160e01b815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db08a6040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f9757600080fd5b505af1158015612fab573d6000803e3d6000fd5b50505050505b600184111561305157612feb3083612fc95733612fcb565b305b89896000818110612fde57612fde6154da565b9050602002013588614038565b945060015b838110156130265761301c30308a8a8581811061300f5761300f6154da565b9050602002013589614038565b9550600101612ff0565b5061304a81613035578a613037565b305b30898987818110612fde57612fde6154da565b945061306f565b61306c8161305f578a613061565b305b83612fc95733612fcb565b94505b878510156130905760405163f32bec2f60e01b815260040160405180910390fd5b801561312457604051632e1a7d4d60e01b8152600481018690527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156130f857600080fd5b505af115801561310c573d6000803e3d6000fd5b50613124925050506001600160a01b038b16866141d4565b5050505095945050505050565b6000306001600160a01b037f0000000000000000000000001111111254eeb25477b68fb85ed929f73a9605821614801561318a57507f000000000000000000000000000000000000000000000000000000000000000146145b156131b457507f1c0eb4c27d5b523ca136c0b3b83a4dcac8b70225b38be8507ba1a3f2af03cfca90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f5c6cbfb2848b981a8f93044b3530be1fac304ecd5042396ca8729cb8fdd718f3828401527fceebf77a833b30520287ddd9478ff51abbdffa30aa90a8d655dba0e8a79ce0c160608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000368161326a61012086018661566a565b60405191935091507f0a244ca8a150ac294c14fcff9277051ced9a5b23e966a0ff0522e989da23116c9082848237828120610140820152610120876020830137818152610160902060405161190160f01b81526002810187905260228101829052604290209094506108c6565b60008060006132e685856142ed565b60e01c905060006132f986866004614317565b9050632cc2878c19820161333057600161331282611001565b61331d576000613320565b60015b90945060ff16925061345f915050565b63bf15fcd88210156133be57636fe7b0ba82101561338257634f38e2b71982016133665760016133128261046489896064614348565b6363592c2a19820161337d57600161331282421090565b61344d565b636fe7b0b91982016133a05760016133128261052d89896064614348565b637426114419820161337d576001613312826105cf89896064614348565b63ca4ece228210156134115763bf15fcd71982016133f35760016133e88261075f89896064614348565b93509350505061345f565b63bfa7514219820161337d5760016133128261077f89896064614348565b63ca4ece2119820161342f576001613312826107d489896064614348565b63cf6fc6e219820161344d576001613312826107f489896024614317565b613458308787613da9565b9350935050505b9250929050565b600080631626ba7e60e01b905060405181815285600482015260406024820152836044820152838560648301376020600085606401838a5afa156134b15760203d1460005183141692505b5050949350505050565b60006001600160a01b0385166134d35750600061137c565b60408214806134e25750604182145b80156135095750846001600160a01b03166134fe858585614378565b6001600160a01b0316145b156135165750600161137c565b61104285858585613466565b6000806001600160a01b038316613565576040517f692e45e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606085015160808601516001600160a01b031615801590613593575060808601516001600160a01b03163314155b156135ca576040517fe8c6632100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b855167ffffffffffffffff604082901c1680158015906135e957508042115b15613620576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61362c83836000613c07565b505060a086015160c08701517f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8716600081900361366f57829550819450613715565b600160ff1b8816156136ca57828111156136b5576040517faa34b69600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8095506136c383838861442d565b9450613715565b81811115613704576040517f7f902a9300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80945061371283838761445b565b95505b5050508260001480613725575081155b1561375c576040517f07b6e79f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031686602001516001600160a01b03161480156137c257507f1000000000000000000000000000000000000000000000000000000000000000851615155b1561395a576040516323b872dd60e01b81526001600160a01b038281166004830152306024830152604482018590527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216906323b872dd906064016020604051808303816000875af115801561383c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138609190615648565b50604051632e1a7d4d60e01b8152600481018490527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156138c357600080fd5b505af11580156138d7573d6000803e3d6000fd5b505050506000846001600160a01b03168461138890604051600060405180830381858888f193505050503d806000811461392d576040519150601f19603f3d011682016040523d82523d6000602084013e613932565b606091505b50509050806139545760405163b12d13eb60e01b815260040160405180910390fd5b50613974565b6020860151613974906001600160a01b0316828686612b30565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031686604001516001600160a01b03161480156139b95750600034115b15613aec578134146139de57604051631841b4e160e01b815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015613a3957600080fd5b505af1158015613a4d573d6000803e3d6000fd5b505060405163a9059cbb60e01b81526001600160a01b038581166004830152602482018790527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216935063a9059cbb925060440190506020604051808303816000875af1158015613ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ae69190615648565b50613b25565b3415613b0b57604051631841b4e160e01b815260040160405180910390fd5b6040860151613b25906001600160a01b0316338385612b30565b50935093915050565b366000613b3c836004614468565b91509150915091565b6000546001600160a01b031633146108b45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161185e565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316600090815260036020908152604080832066ffffffffffffff600887901c16808552928190529220549091600160ff86161b841791808316839003613c82576040517ff71fbda200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000938452602091909152604090922091179055505050565b600080631626ba7e60e01b905060405181815285600482015260406024820152604160448201528460648201526001600160ff1b03841660848201528360ff1c601b0160a48201536020600060a5838a5afa156134b15750600051143d6020141695945050505050565b600080631626ba7e60e01b905060405181815285600482015260406024820152604060448201528460648201528360848201526020600060a4838a5afa156134b15750600051143d6020141695945050505050565b60006001600160a01b038516613d725750600061137c565b846001600160a01b0316613d878585856144c3565b6001600160a01b031603613d9d5750600161137c565b61104285858585613d05565b60008060405183858237602060008583895afa3d602014169250508115613dcf57506000515b935093915050565b600036816014841015613dfd5760405163779ab6bd60e11b815260040160405180910390fd5b505050813560601c9260149092019160131990910190565b366000613b3c836005614468565b366000613b3c836003614468565b6000868103613e4c57613e4586858761442d565b9050612568565b613e5b88888888888888614532565b98975050505050505050565b366000613b3c836002614468565b6000868103613e4c57613e4584878761445b565b366000613b3c836006614468565b366000613b3c836000614468565b6040516323b872dd60e01b8082526004820187905260248201869052604482018590526000918385606483013760206000856064018360008d5af19050600160005114601f3d11163d15178116925050509695505050505050565b60006001821480156111ce575082826000818110613f2057613f206154da565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f7800000000000000000000000000000000000000000000000000000000000000149392505050565b366000613b3c836001614468565b366000613b3c836007614468565b6000816004016040518581528385600483013760206000838360008b5af192505050801561137c573d8015613fd257600160005114601f3d11169150613fda565b6000863b1191505b50949350505050565b6040513d6000823e3d81fd5b6140028363a9059cbb60e01b84846146be565b612ea5576040517ffb7f507900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600160ff1b831615801561410e576000846001600160a01b031663128acb08888461406488614700565b604080516001600160a01b038d1660208201526401000276a491016040516020818303038152906040526040518663ffffffff1660e01b81526004016140ae9594939291906156b1565b60408051808303816000875af11580156140cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f091906156eb565b915050614105816141009061570f565b614783565b9250505061137c565b6000846001600160a01b031663128acb08888461412a88614700565b604080516001600160a01b038d16602082015273fffd8963efd1fc6a506488495d951d5263988d2591016040516020818303038152906040526040518663ffffffff1660e01b81526004016141839594939291906156b1565b60408051808303816000875af11580156141a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141c591906156eb565b5090506141056141008261570f565b804710156142245760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161185e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114614271576040519150601f19603f3d011682016040523d82523d6000602084013e614276565b606091505b5050905080612ea55760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161185e565b600060048210156143115760405163779ab6bd60e11b815260040160405180910390fd5b50503590565b60006020820183101561433d5760405163779ab6bd60e11b815260040160405180910390fd5b509190910135919050565b3660008284101561436c5760405163779ab6bd60e11b815260040160405180910390fd5b50509182019291900390565b6000604051826041811461439757604081146143b157600091506143d9565b604085013560001a602083015260408560408401376143d9565b60208501358060ff1c601b01602084015260208660408501376001600160ff1b031660608301525b508015614425577f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16060820151101561442557848152600080526020600060808360015afa5060005191505b509392505050565b60008360018161443d8686615486565b614447919061549d565b6144519190615473565b61137c919061572b565b6000826144518584615486565b3660008060058460078111156144805761448061574d565b901b905061449261012086018661566a565b6144b79161010088013580851c63ffffffff9081169360209290921b861c16916154b0565b92509250509250929050565b60006001600160ff1b0382167f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1811015614425576040518581528360ff1c601b016020820152846040820152816060820152600080526020600060808360015afa505060005195945050505050565b600060018790036145be576145478888613f00565b1561458c57858514614585576040517f49986e7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082612568565b6040517fbec74c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660006145cd8b8b613dd7565b925092509250600080846001600160a01b031684848c8b8b6040516020016145f9959493929190615763565b60408051601f198184030181529082905261461391615782565b600060405180830381855afa9150503d806000811461464e576040519150601f19603f3d011682016040523d82523d6000602084013e614653565b606091505b509150915081158061466757508051602014155b1561469e576040517f110b8e7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808060200190518101906146b2919061562f565b95505050505050612568565b60006040518481528360048201528260248201526020600060448360008a5af1915050801561137c573d8015613fd257600160005114601f3d11169150613fda565b60006001600160ff1b0382111561477f5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e74323536000000000000000000000000000000000000000000000000606482015260840161185e565b5090565b60008082121561477f5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161185e565b6001600160a01b038116811461155057600080fd5b80356147f5816147d5565b919050565b60008083601f84011261480c57600080fd5b50813567ffffffffffffffff81111561482457600080fd5b6020830191508360208260051b850101111561345f57600080fd5b60008060008060006080868803121561485757600080fd5b8535614862816147d5565b94506020860135935060408601359250606086013567ffffffffffffffff81111561488c57600080fd5b614898888289016147fa565b969995985093965092949392505050565b60008060008060008060008060006101208a8c0312156148c857600080fd5b89356148d3816147d5565b985060208a01356148e3816147d5565b975060408a01356148f3816147d5565b965060608a0135614903816147d5565b989b979a50959860808101359760a0820135975060c0820135965060e08201359550610100909101359350915050565b60008083601f84011261494557600080fd5b50813567ffffffffffffffff81111561495d57600080fd5b60208301915083602082850101111561345f57600080fd5b60008060008060008086880361014081121561499057600080fd5b873561499b816147d5565b965060e0601f19820112156149af57600080fd5b5060208701945061010087013567ffffffffffffffff808211156149d257600080fd5b6149de8a838b01614933565b90965094506101208901359150808211156149f857600080fd5b50614a0589828a01614933565b979a9699509497509295939492505050565b60008060008060008060008060c0898b031215614a3357600080fd5b8835614a3e816147d5565b97506020890135614a4e816147d5565b96506040890135955060608901359450608089013567ffffffffffffffff80821115614a7957600080fd5b614a858c838d016147fa565b909650945060a08b0135915080821115614a9e57600080fd5b50614aab8b828c01614933565b999c989b5096995094979396929594505050565b600060208284031215614ad157600080fd5b5035919050565b60006101408284031215614aeb57600080fd5b50919050565b600060208284031215614b0357600080fd5b813567ffffffffffffffff811115614b1a57600080fd5b61137c84828501614ad8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614b6557614b65614b26565b604052919050565b600060e08284031215614b7f57600080fd5b60405160e0810181811067ffffffffffffffff82111715614ba257614ba2614b26565b604052823581529050806020830135614bba816147d5565b60208201526040830135614bcd816147d5565b60408201526060830135614be0816147d5565b60608201526080830135614bf3816147d5565b8060808301525060a083013560a082015260c083013560c08201525092915050565b6000806000806101208587031215614c2c57600080fd5b614c368686614b6d565b935060e085013567ffffffffffffffff811115614c5257600080fd5b614c5e87828801614933565b959890975094956101000135949350505050565b600080600060408486031215614c8757600080fd5b83359250602084013567ffffffffffffffff811115614ca557600080fd5b614cb186828701614933565b9497909650939450505050565b60008060408385031215614cd157600080fd5b8235614cdc816147d5565b946020939093013593505050565b60008060008060006101408688031215614d0357600080fd5b614d0d8787614b6d565b945060e086013567ffffffffffffffff811115614d2957600080fd5b614d3588828901614933565b9095509350506101008601359150610120860135614d52816147d5565b809150509295509295909350565b60008060008060008060008060c0898b031215614d7c57600080fd5b883567ffffffffffffffff80821115614d9457600080fd5b614da08c838d01614ad8565b995060208b0135915080821115614db657600080fd5b614dc28c838d01614933565b909950975060408b0135915080821115614ddb57600080fd5b50614de88b828c01614933565b999c989b5096999698976060880135976080810135975060a0013595509350505050565b600060208284031215614e1e57600080fd5b81356111ce816147d5565b6000806000806000806000610160888a031215614e4557600080fd5b614e4f8989614b6d565b965060e088013567ffffffffffffffff80821115614e6c57600080fd5b614e788b838c01614933565b90985096506101008a013595506101208a01359150614e96826147d5565b9093506101408901359080821115614ead57600080fd5b50614eba8a828b01614933565b989b979a50959850939692959293505050565b600060208284031215614edf57600080fd5b813560ff811681146111ce57600080fd5b600080600080600080600080610100898b031215614f0d57600080fd5b8835614f18816147d5565b97506020890135614f28816147d5565b96506040890135614f38816147d5565b979a96995096976060810135975060808101359660a0820135965060c0820135955060e0909101359350915050565b60006020808385031215614f7a57600080fd5b823567ffffffffffffffff80821115614f9257600080fd5b818501915085601f830112614fa657600080fd5b813581811115614fb857614fb8614b26565b8060051b9150614fc9848301614b3c565b8181529183018401918481019088841115614fe357600080fd5b938501935b83851015613e5b57843582529385019390850190614fe8565b6020808252825182820181905260009190848201906040850190845b818110156150395783518352928401929184019160010161501d565b50909695505050505050565b600080600080610140858703121561505c57600080fd5b6150668686614b6d565b9660e08601359650610100860135956101200135945092505050565b60008060006040848603121561509757600080fd5b83356150a2816147d5565b9250602084013567ffffffffffffffff811115614ca557600080fd5b600080604083850312156150d157600080fd5b50508035926020909101359150565b60008060008060008060008060008060006101408c8e03121561510257600080fd5b8b3561510d816147d5565b9a5060208c013561511d816147d5565b995060408c013561512d816147d5565b985060608c013561513d816147d5565b975060808c0135965060a08c0135955060c08c0135945060e08c013593506101008c013592506101208c013567ffffffffffffffff81111561517e57600080fd5b61518a8e828f01614933565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060008060006101008c8e0312156151c657600080fd5b67ffffffffffffffff808d3511156151dd57600080fd5b6151ea8e8e358f01614ad8565b9b508060208e013511156151fd57600080fd5b61520d8e60208f01358f01614933565b909b50995060408d013581101561522357600080fd5b6152338e60408f01358f01614933565b909950975060608d0135965060808d0135955060a08d0135945061525960c08e016147ea565b93508060e08e0135111561526c57600080fd5b5061527d8d60e08e01358e01614933565b81935080925050509295989b509295989b9093969950565b600080600080606085870312156152ab57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156152d057600080fd5b6152dc878288016147fa565b95989497509550505050565b600080600080600080600080600060e08a8c03121561530657600080fd5b893567ffffffffffffffff8082111561531e57600080fd5b61532a8d838e01614ad8565b9a5060208c013591508082111561534057600080fd5b61534c8d838e01614933565b909a50985060408c013591508082111561536557600080fd5b506153728c828d01614933565b90975095505060608a0135935060808a0135925060a08a0135915060c08a013561539b816147d5565b809150509295985092959850929598565b60008060008060008060a087890312156153c557600080fd5b86356153d0816147d5565b955060208701356153e0816147d5565b94506040870135935060608701359250608087013567ffffffffffffffff81111561540a57600080fd5b614a0589828a016147fa565b6000806000806060858703121561542c57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561545157600080fd5b6152dc87828801614933565b634e487b7160e01b600052601160045260246000fd5b8181038181111561115e5761115e61545d565b808202811582820484141761115e5761115e61545d565b8082018082111561115e5761115e61545d565b600080858511156154c057600080fd5b838611156154cd57600080fd5b5050820193919092039150565b634e487b7160e01b600052603260045260246000fd5b6000600182016155025761550261545d565b5060010190565b8183823760009101908152919050565b60005b8381101561553457818101518382015260200161551c565b50506000910152565b60008151808452615555816020860160208601615519565b601f01601f19169290920160200192915050565b821515815260406020820152600061137c604083018461553d565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b88815260006001600160a01b03808a1660208401528089166040840152508660608301528560808301528460a083015260e060c08301526155f260e083018486615584565b9a9950505050505050505050565b6001600160a01b0386168152846020820152836040820152608060608201526000612568608083018486615584565b60006020828403121561564157600080fd5b5051919050565b60006020828403121561565a57600080fd5b815180151581146111ce57600080fd5b6000808335601e1984360301811261568157600080fd5b83018035915067ffffffffffffffff82111561569c57600080fd5b60200191503681900382131561345f57600080fd5b60006001600160a01b038088168352861515602084015285604084015280851660608401525060a0608083015261256860a083018461553d565b600080604083850312156156fe57600080fd5b505080516020909101519092909150565b6000600160ff1b82036157245761572461545d565b5060000390565b60008261574857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fd5b8486823790930191825260208201526040810191909152606001919050565b60008251615794818460208701615519565b919091019291505056fea264697066735822122040321861ce858a2c911db7a2e1f42f4368d23b5251b80dd661a6f2abf19c358d64736f6c6343000811003303bd511a8bbccb8a7c22803deb50e77594b18d9132537e1fd2291f4a1eba8d958b036d4a48f0014abb9c9a6e51a7b68e12e1492416eac064581f4bd93ec44b75569c038576c675bfae510fcdf1eb77ab5835cea0ff4986b2a81af4b009c52235c04342030b732860016b237d1a4d9cce13f458bbf619a7ec564ec6679902256d612aa25a03445caff23f185777eaaa3d70fb1a04fe5ead1128dfe2c92c7a1155a9a8c8318b03b9b43b06cfd4411f6486a571a37be247c0211d774fd0034873e07559bf9d592603c2378026527b98fd34c38c8bed6d220ecd9e431085bf2a7e6491d6a02f305ef3035eb2e0249783ddbf4cf43622a224b7d66d70c020d88e5ce31121d8517d38171203655d6cd6226146d1cef68e463883275c6a50e093944a26ba86a5dd96503a228d03bb41901c0d308a7a99818c1d421c0ec03a118ec5928841aee2690e29aa03c61c03b2e347f69e282b8600cfb94a6479422357409204bc6233e4dd2312f0b1fe1986032390030b900fbd8eec8b667c1d2be07f21d19f3f582f76dc9c4ef4df23f0271b037e5d96d8f6da040f28fbd519f9b00b16cc2c24fa5515b3b6a52babb4c39398270378a95ac143828ac5e5518e46d2628bfba37186a3c6179a2e5cd3d507bd2c254c03aef900bb1bf5b70d0a9d9a11c4b82de507553fb9d5cd028e008c4e18f0d31b2e03d88198a9d0705ab3636f0c6f3e020c98f73fa3dfbb21c2ae4a76daac85395b9c0219ffff05581d02a60b44d485b25109469ccd689525ca635399eead780b83b92abe15410f0141011957d405581d02ca6020da6a27c6d29e500805bdd2c864e78cda51e74d0868b5ea5013041827037153c4ace2d03b3c3d1b9657de749a8e348f094954e1bee59a134b59ccb94baf021904940360ed7cf891587ba16f47b0584c3fd2389fc7fb3bcb3bfef8bf363c783eb41cf302194b7703fbdc2f203619749fabe9ec461e107eccebb866a58d4999a019312121bac18e6a034ec5e8c5a6313a1b13eb646126fa8e60e9bc6d7745f52cd59eb3f9e9d5a136e80332f9dcc3fba134b98dca780099743bebe2b87a6d046d70940531670d605ac5ff03c8d5bf513c1bfc630c91519fb149fa7f27776ce08a1a0ba4a2059a78693de50f03d0e9287f19f7bc395df1edc9cacabe877ad66d53728a03c187c970383d1811bc036f379b1d109ecc2ec3a6ab17b1d9acd4acc1060cd85b7e5694be527e7db6cf11031f090991ca6a5db2dd06baf2a43b1590bb37dacba093e9f16c81a1888fe16aa7032a77abc9843bc78ea47f17eec4797082a9f225e26eccec1307ef6ee2e3c53d2f03245da024b89310166cf502da11e4b75895816ef7339b93d1981366fa3ba22f3a030c73d8d4fc0697d4f4229c26c984705ad2c3c8d92695d4fde75b6a14267c971503fc5c753d33e597d6cfcf9d82f6b1b46a605a1646380678abe6b2ac495391cf0a03fd6619b7cd82ed2836d65ca7d4c17a2336aa6d7ec0d6680ae757558c67074b7703bb8fb3992fffcccc44ab4b9875ecd51d29369950799ed279a1585e09aaa12fb70219ffff03a55d9b1c9b3aa18dd2e10d2a2c597c785d3dc2ea548e37971d5c05a93e137ab1030428b30ad02287d7a9de41167ce1599d17e823a24f70f3e485aede207bfde98003e4e12ac9f8a887b6a1e12f13967be40cb990c933a837716863f6bd16c273c36403861115fab9bfba5b8b406c0a43f724bc2b47d5d5ca98367fc5bf12062309a02d03231558163d2e1bf3a35e0a3fa3a2a85924017b45c165632580bff5d5621e4542033891e539808aedf2cac04a55e46fc7e4e2c58522ab3c73e57400a2c1baad57f40305f4dfaeb601fc5fc822df79ad5216943310215add107e96c8e111f256b003410389e2446c2542cb3a234e4a33e08bf4c008418fff729f7aaf6f289447890644f50376c4b9581113a3534705b8d7d7438c787cfdb1e0b22073ae8c3c1fd5f8a7e5b20354671da86d3bdbbd0c860bcb81fa7288383193052f228099c762e290feff42c1038f009072b7f8ab670d586a6528e9feb89d9772f3d7f09a3a9f263115a7ed9a2d03728447b6570f421a85e444cea255e6ce3c5a4c8bf389976af970e75678da35c403e9f4690f8db5773b18d314440047652dd9e03339a82f2d712c33af143238f6f203d9ff62b727c452b2b41940fd7bbdd9fb282b9f91f46ec3bfc2891d6fedd1f2080219ffff038ec554711ce78a703824ae60534ebb765786a4b66764e5399434bd3420b8e127035bd145f6979ccfae338f679d6d8f651fd8c4a294a9fa0ba7716c79eeb195b14203abcde836cde64da1872b754bf3e26ba84b347b3524f10d3f8a492f8fad0b50530335cc08504b89cb23ff95eef3990541f178a455b0dd183bab7c5c4a26f939b3ae03b21739d3481ee27d32353bac9cda293707151d04e93ec1a375bb45972cfa428a03411a4b2c0ea975fadbcdf163de2f56e8fed1a2edf7e2740ec436d7161846fab203719bcf4ecd81bf0fe1fc85f3a2da37118c383c4b9a427bb269f23653446ce68e03d967229d860859168914cdd6c393d93cbfa52965b91ea55502a16d8f79384af603d7977a45898e2824fd5b8d76f1a8900172862bb1b7f400f07ddb9f22d25051ba0219ffff036fa8879c482173439ac9ad38bf31e70cf523b4f02c85ee6fe1c191f58796788c037780d9e8b6cb8f7c1897457592e2b6a63f9d9905bb545af56ce96583359a6e1403a5c3fb760b02102b1175e9a0be27054e35debf7999112945f4580a2321ecdfe503a655a9df7ebd62293f249cf15d8dd206b7930546a8a267cc4c35359be4a9a39703d698ffa2d1be00e39fe6e32a4bf5b1c320f61430e71f6f8e06efbfa7051be52d0345ad252ad2a9015bd4713f050365ae63a2df329a89f5773c8fdb424e8b907db10364ebc2928b05cd9c14f34790acf414d70c3b22c91e1fddbd4c41b0d80c5b7eee030d4974ca0319159d3f316187e6935f76692b8bf70025d0dddffed94934b9a0d1036084ae482e79f290ffc14d795c1ccbf29d6b4aeafb5673d02562ef65c56926190304d75aca8db10419a5c013d1c6188705a3e1bc7c15e75f6202ac237eff12d19c036e2b23fba813137090ddfb31f6bc4ae2efa49a8a79738b8addc0e0901012c098038718689f949f12863439df021f3ce671bced24c7195d354e093b7bcb94c14f21039e922771b481953b85407533903ee362f1a77f994d57063bc40aa39544edda8c03fc9183359d01c79d0589c551e00945da8ab9e3ad5b0157af51b2b933e0eeddb505581e0359d5170897592465f68b6938258febc71acef44954787e3ad9ec8197b004030345e3657b5572fa97fda176b68f122e0f4b8eddae94fc6d29cc30e327089c3d0e05581e0373241274a01cf78698260895794a1d3714f2b6ba52554d4402c3d01cf004010364c135824ce02eeb5e2a6f24587e11d69ef616337fd04a32a24940b07389ef6e05581e0310aed67c2f08e25fe01706e2c9fa860aae58d299a9f701f045174ef6700c02470127e9104bffb003a1dcd8fd0fbe5552234af2e8fe207f992fc691ec3636534017097d473c08620f05581d027a1da6964bc9fa2b0bc1190702892008e4f0d9116fd371b8e4307cce040505581d02e084a64c60c016017871d1e88c3bc1673ba86ec63a720dbe9813e1d30c1a0010bed1485fcc85a749da6876021828032a7bb888f2c23b5d45c8167cc799133e8e504c0572a7844603eaecc22a66d0ec0219f60303418455d7d278922d15fd5e021493105cfa7263f27627e24551467daaa9a02f8803a560f4b30bde29265f205b0f493c7eb4f7705d1f8a64f18a18c90318ec041ff1032f6a221d7443af08d869b1a3612403ad0939d36113b7dc9eec9506a394973661038f93eb922f003c5f6f88d1cfc454ed45833a142ada299864a67b7401b09790f40372bf2ddba10453f8689334aeec178592590d5e430c1173eba974ae41598386cb03f3946a5292e14e30ff08d192df9118bd6d686a5637e9078cbb98786669e5ba5a031e82763fcc4af28e25d4709356f3d40c55ba3e708aebd75b50139daa81c6cf9c035e7a5f88d1f01cb2a9829db7d69b74c9efd92c95ccab39164cbbc839e9b2ee7a03d7c1abbbcb6cc3b08726a8418839954c7ef03bd984bf0feba3e0ff8110e32ef503e0278d4da7a3f00714ee8b4dc0866a3063c6b180cf8b1026025370cdbdfbc7e5035cb07321f9cd569936a559c615dd3fca28204eddcbef07e729d455f6136369880363a0cb70ddbd85afbd3c624581cf09105a676965b870655acfea394e2680ee0803ed43c0695e761b3c59974008f571367356ab87e674605a0ab6837ab730f8e2bd03c42788ffa7951cd040dda399e45886b012c9f4deee39c4c28ff9a63fb842dd3d03fe1da83a5c0535667f8974f5c866b11a9ef330fd000468b9640e139608630dbf0219ffff0391b629fc21a7bb2b3b07e84488783800b61caaa4afc4727293a697625f375b9203c8993254268d4777aa4da3353c065184868f411f96211b98d3a8d8eaef1f6d0303f3ffdda381dcc4927c0ce568ea9fd3ef8aa6545b8e2eac00ac233ad178e9b1630387f050efecd79c2b316cde8580162cb52941dd547ed630ff749ae1e7114e50f303a97febc20dc84dcee478047324c0202332cd9983ad548a3205750ae5aeae98e1039d111350ee5068ea89c22681e73f013b771e259198bea2f4b35fceaba7ddc73c03d5566719f8d62dd9f4ecf5b476442d7733c95e02c146816e0bfedbe5960bc2350393923246a83aaaf1f527073fce60935c8fbdbcce494bbb977dbedd733bc7fbbe0364371e7c7d22cd3edd3be21fe34106db2a7b50cf92f44bd67c48512dd3a021890309ba9b86fb66f3dd48a419e633ba574431b6302c7f3028a53f0d2f820e2c17cc0219ffff0397f5abc9da6c3d7c316654f0cfa5eb7a245a0cdba35ff8c9377fbfadaeb0cc54038df1ae1691eae2b02a4bee6eeadd1bbe7755bd5cf6635f35070437a0e9483db503afc2a1ca10f17c4dd0825aa14684712616b5835e52c10152b7b05c27f075a318036268fd06d7aac733eae02280e6a993ec7a2cd03b3141d704dfe98a5aa1d655a503d58b7211847a84bd23d99974b0c7c9e2eaa95734894743b69bf34d8c5e6bbeb703e12e2a17c7e2f3e3fca2c20f797d68c15f7ba83eeb4c0c9961f00c5b5b2acbb1030f4346b29c67e6c3ea6e358ba839f544caa7b2d53e45b7f5553b08ebf5edc4ed039ed7976ab8479732f9039564be34a4bd67e857de5c44d02c3f003eba281ad00e0356b73970aff5781840427f0d1bf836d0028bbc0da89fb806bdc8331e4c9261fc032a0e3f7d5972b1973b7bb00747ba10cacb5948c10111df75323ae58a1274a7810309f754262869b514a240cdeae0b1bd4c7b601644c579fedcea2a212df9627c96038692f0d41d049e83f6370b2bc4dac80e9a0fa4c042a9f4fe1651688431b2eaad03105d9b64f5854e4ff31646939a941cff81fc3f2f12260a90f96d347f4cbb9aad0219ffff03181e8d64e3b23d33b88a84347de70058665076e199c30abe43f440b24bbb72f203e8a36b3ec3481d004e5926d8fe3e68ae8f101c01dd19a27ad6e52f57636747aa03037b34b9ef677d4dc6cf125b41087d38e6b12870acead22f3d4b494d8ca1107103f4ca5c9295a5efad00e39ac6442f3bf3e3521d36c7668cfbabbbe7112c2ba4fb03b2ff10884ba48c00ca2da7bbb23b5353afca3b34e2884e085cde9ec2636f6e0e03710dca983b41babb4c39fcd3b9aa74445848e2b6d6fa2db700018d021d6963fe03aed8f44f25470a12a311f611cd65b1611ed52152471a269aa7da637c74e68f500219ffff03c3bc5434430509b87f233d2d6c3f20fcc06c74b92984b3d4ed9e86d278baa610039f803bad3ac1ed658b79981c5e83a2e8bb58c98f84433472b83a11ce67d61365038e2b0755b3a68c8443062ad621fef1617c96022c5a2875bba00525e6b754b39a03e00c60c70c4fc72f3a4ba7fae3658ec7f79fb51ed48ee3ccbd55db10678c955c031a4f57c342c6e55afc6554916efba0769a5a3386388ccfadc22ae4623e3f774e0308ea0e9f6146e68754238b1b3b936ba4dd403d372cf709abcb3f38ad3fe7e05b03f09cbdc359ebb537b734113d8b869cfe936d2a923d127c53ebe6bce12422dace03a7e8297b6195b5b87237f35843aedab6320267eb85c607cc081cb5da89668dc903e0c40cc9b19d6eb1c202c6ab8657b5f7dfe705a7943b317bd3dc005cc824d3140353c18818e1f26aedaf64dfc9009205b2006eb2a76143f0ba586861285b17595903403e2b741ec90380ee6dc6fc4eedec681f169e0656e672a95e91e519755b2d39039b7fcbee22a369d6688cc995502c1a13e988d366eead52d3eede318341ebe92f03383e081cee910a896092cd8693a381d989f6461b20fb5a5331951d2671f5df85030e4002bf9132e7ed8f2487e5228538dbbae25e0cd2d60d08801f21aea1f350a803925d2512e2d50633b6064eb747e24ba8ac21d4a1a4c00f66bdf2976b29078e2403f73e439fedb3732cd32c6e33d19645ce03ee8a5e86a8c1a419f6a851ec9e162403fd286379a37ea11337d961e0f93883ee186239e520a89bd29577599929c80fcc030204a895af37c0aa4e407172e3d8e32ca8ce390e63ee49e1b48a575addda19a00318816afb34eb9967a015b165f34cc443a8b110dae99ab1b4dd8b0325cd1f59b4034e8422cce47a616ff9d3ac20ce73135e286552e0f7c7a1c44e65dc670250cfd8037432e8c1c33befad31ab4dad6a56c57a686695138666d9880f3214d28ce517620341ed7cdf0363fca41774ed88d9dd1ce9b85e4fd6b0438b9443c4eeab7cbd62b803a11e0116a7a6888cb1af522ad48bbb9c948534ace22f1a9a12e35707965689ef03e13e460639874a37b315e13347be13ad2db4da67c10b24f7058a6312fa3e027903f95196c7b28e9c0a8ea8c5b6ecdca77bc3de0216b8e7cae0d02a166fa9c9645303499462f09c8174a95fa06a3d1d23590f87010afaddd5d859556d73e17f5be8f203d14754cfa5a8cd7ddfa07929bc3cf34277ae0793cafbcff30b9e5528f329722803a4288f7e087e0489661e3f61993f515da3bfc74894e3ffbabdd3c84169d1165603f6c6b3ad448bcc8e9c0714b6b33493b1effe6551b89148651c7c65cb5422a0d503ad483db370425c6a3e82ae7a9dbac26674f889e9aa1c85040906541e080a27380359be60f4c0ed1739f418b28df7f5d6b539a3b7bcb7ef1aaac9bfc0cf7123eb84038a9b399837c262fedd66523d42986f0032ef1c27d4c999fbe41550b84c3fb88003f7c9f54a43140edbe92994716012df9276302d522393a119f92876257b12e8b703e754bc932e2667bd3858a932d0692a7046173fbc14ce5ad9594bd331ccc0a8da0354aa5fab784275cfec5cd4be7499f57cdb71c102f31167fdd1e6fabc8974dbe303df776bd5d308883513ec19b2a4d2dfbb04b73b9bedda6b37461d9dcdd193daf805581e0345ece0c1c4ea74d73f6afc566fa74eccf3522dfc9482d8221623606cb00c0247160d8b7ba518a005581e03e1249d1e13a4a8e4d7ec8e9094b4f21ed3bfc342dc60663254fbb82de00402030d927dd4521ed93ffd7f056abc146233d3ff319e338c8799bff32b5df09e3912031e4ec35dfeceba87732588235cb4060918d508f0c786d1675255ab9f2ef6d3aa03c152eb8a27f26348088f8fafd9c07bc857cb9d678f89abaa24bfd456829ff0c105581e039f121c3274e86408d3366f0a29e8996d967f0298669e673caddcdfcc100c19a4ee482a3c2d6847fef6b105581e03ee528a3a632afe8d01110b332e297a48ec771ecd6b9f11cfab542596b00c01470340e00f1db40005581e037d109e2fd13885ad9be99bec1deb3a2d225c029e81a1d25ef978fdf3800c0646335c5efaa3a00219fa2a03a46ddd442e080adb5b3754e5cc38bedbf443a1a4ef3c13ad964d444ed0c428150333711a72a833e340ac0e84dde2a31b546add6dcf98dac161c191f23a863521d803523e03fcb7233ef464cc0f5e668ea7247d4db3f1996b2fea6899c6314bc7b21003ca17a2d908360eaeb0713bfe27292fa8d7b2f390d37cab3889e92178e7bf2f55036b2b92eb6fac473643fd5faf711d0e7de7e0f463e916efef317f817ea37a716a0399d0f168ed2736b88b6d63e47682e408037c61dfde46fc0d6e1f8d0f9c967996034a5be9d7c393cd6f8e623cff200d066416b25bad4576af503bc800cd6cdb6c4f039cc3f92988eb488e40b46e7e809d690694504395baad2e001d40cd8145e65cec03c610593225baadc2c47c0d03e243a9459b8cc6ce70b2ea67a08955f24f61cccf03a0a7316521107109c9e9ad5b7c9cb1a41803be892145475db43bb07b1bf94cfc03a7b3dc3c6fd143873e22658981f12bf15adbbccd1ca606e6eed6e12925e895a4036c576dc51d7357a70886f22ab619092b52f423e19353dc5128eb69ee215299f103327014e2ea718ed2bd4066124a1696fe3f6ad7b555c4f68f5639fe498f3bcf8203ac955aac29e366da5465238ec522fb59c7434b395367c0e3798213105b89bbd103961a3d0deb52d17085f3f50fd5c6ba58ae0d861871db9ef98e313f90c474709d0219ffff03b32dc6b5d7d4c5afe041a644b8841640d4dd4d2a95266338c1023806544f03bf03d3535b6ba0a18c3233c66e53a348a9457ef512128268908babd0d874038976850341dec14fa72ce21b67571906767b4d7822d2cb52805d3430eb79305217304b4c0219ffff035f53e8e77cc6c5c0ce8289ceea94a243ae3dc11cbac083d85910243ba1d52b9c039ef8030dbf7e642920eb29faeeb1d9ae653cb9f01e5c9e7152142bb3f3dea82d0317a8e9ee0ce1cc07344e51bc0b05a4209a934964d59bb5f9940d1ecf4ba3e66103c85f25804ef1697f1700cb3e33b0d0640ddd7859cd992e1814d5aa8015402e91031326fbdf9329c9e4b18bb22c2d134a72f92e101b8628e496ea9ffcd544712d8b0382f2881d20c5fa3c0d8ac158d4f045c3928e6e237864a652602c76ef9d5dbb7f0336e968ed24cd497424247e4ed02d818c10c8232b5496b25a4e6b5504f988fca60219ffff0219ffff03941e567aa51e0046e623a1f891758655d986857dbd13da76a77a5827c9d12ceb03926d58afc416de24e6d1e02ca6f20033004f3f26e70e5e7b1ffecb62f50fe1b70328ed3496f78a5828506ca39defb1caf0c8b26d04b7ef9d8f8b216176fb8c861203e704dd9a935bdab3cf994030fa8fce18df6efb613ac5c19571cc14b8a0ea8eeb03d8b03608dbd575d6f107df89b302d6667dec129e4c1cf2b16da6f58f64572f46038b788662ba43bbbcf8110b95074d5cbb660d530e8c8d5ec78aca6f9aacc11456030506f68a52178a7d1c5d5223c9e6e99800a9993f7db3e7d96b89c2b92e94008903acac490d43596b6f93a9072c7438f13c2dc5bd58e322adbe4ee6309c1f9dff6f03d82051b50790e262d5add34ac2791e32150315e2dcfd350f9c5aa946ac3dd99c036f9b03297964d4d9c2f2e6f6bbc61a77da73b19c53e086286c7f20bd19a8e24b037c078b2365eaa94de7469d7442f95b338b7f49190336351f910d0cf736dc3ec203777be172bbc0f2f1ca7e49ecffbebc975de64c83475ef1d68648e0b5b6fffce9037d9c76ad1ae20c0ec3b76b036bd36a112718d032cd283063485b972e51b6398d0352feb40addc55935c6e39fec8347b1ccca100151e6f61a0e226504612451b245038913c2996016445e21b21ee7c402d930618230fb81da922c16b54339369b18ba036a4f529376d5fa3203f04460504867a5fb2d23a26ddf30991f734935bc1a5329033ca787c69375d3654bca19bd91db25ee9ef215387218a17ec313cfc36f6093a303ec852a10544df8b25a4e1c2252242c29ca2208fa62e33eb9488a02325d29c8d4037e4f13de030fc6ad88c3a0ce26fb0e16cb10e21f8ea7eef5acc1f98d5f9862c803c0c81e267939b02033a090a21d429d0eeb0b35a56953cac623a42575644bdcbf03b947f62416748067a5d99c8e31599eca7347138ad0719c40ffff1184aac9eff50378003dd88537134b34c98082d107207cb0f98e9f50d847b62cd89c3c7ca6eeea03bc4d029a976b804a659f4fde7a6bd9d699b44276e5049530e1ec31d92f0f969a035fc90e76b7ebc9ed3fc17476b1afd99a58454dc5e713bdf18eed1a93a0ffa0ff03ade29d0443c23b44d085ebe871c14faea2ef92f22215149d18abb6e690f1e561032d37f8f7b41faac540f8929cb94eaf1b787bae02affffa604d76f715bfcb9b8c03dbd3896c98010393e3ee1583436785b5d0a563084f4027fd36d11e53f75d8a1003bccdcf4562f89500a24f08c50958ec2dfe571f05184fcbf9c2b8c2f3b9ba749b05581e036dd0f925aeea596f8e141c19db50bf45481f5a0289e23f8f43f8a3d1700c034701eb494bcea96a05581e031bae640504179478fc1ef03da139d7c24af5a839071fcee4641d3ce390040205581e0317ad194492956b5fe400ef8cc3924aa59ddf9be9fc311cd7542de55c70040505581d02fccd07185f8d8b8da6932e040cd65a49b4e93c213ec7bd6ec1e19c790c19407f486c82b0ac350b9c5103719a725af10979d9054628ab10a5c33486d03400bd6072680f2acba728c923630605581d02f5719464793a5766d46a5a46129ec1062cbcae3bf22dcfcdcfda005507011bffffffffffffffff02192010035938a8f87fbcae535045e93886741ec2e35288807fa6adb7154350343ef77c24035dcea24929515713b9297bc4f85fa9b69c4873852abfefcf39dca2baf564cca105581e03d62fe3a3b3d9d74111b7a30da471790d5c3d409e674962f5fb576baaa0040102192bb403cecd67bb46e5be6dc87e9ba6ae683ce8d92383bd7ecbf2d8df1f88ef499b38610364da5420436b202a607f24e66467064617da44d47ec97d4863198a1ab3ca3f78039a24fb4e4c23fb5bbadb83cc56e5060c8c77eda0322d946bc7a7edf2ab9b4cb6039773febae375b3baf55cb813a24a7fcc003b69fa00f06aeed0a2204f5185b9900219ffff03a6b95b505c0328aebf73c442fa1a6217ed15883574412a09c54e1c27c7508f2a03c9e03bfa63514eb13e86f87b7b338c1d59e751d5e619a64348004a7f3fd7620803e45817e26414f6510ccec15334396a43432dd930a4a85e15bcef2d2f2b5795f70323a372f1b010448e9b28b961f5fe638b3b2f9affe9df0ed14e1789a67f8210a903f525786f1212a11e46f9834dadb270de62116a7ff2389a413799233700a250d903b963a782ed0c9541ddbcf6fd8c393d5638a098c5256f5f4c62a0806d89a7fdf1031ea79e00d71fc4b34634d6d4d1730d8d4c24f47539e8e86e65b037f70ade46d903242d863d51999967b0fa8a0e32bde7b5bd5c6aed393f8e338228a88c93738a8503cfbc76166aa3b4a8b6cbed68e2c7a860f569e0d3c9ccb99e91fa04dbee5a4d260313e0ceeb7aa9b61413e06e9e896f0f48a8598477f5f6ae682bbb6116415ea83b03f72a2d566dc9915b93f66eb2f6dab2f24624d0cfb1a91e18f6aad63948ceb6a2034727a44b61d3ebe857232fdb359438b8e23a9212d37cd3486a9b1a69a66612710219ffff03986e9235734cab8a32ea3dd76ed2297e776c8f96efa5362b699b8787c9e84c6e033084bc06d91b25fd1f4b273b7ceb477189fac3e0feb37844c4ee1a225e229dc5030ac92cec5f3dc12712c2d952d9cbd8260be1abbd56af4b2cf34497ab7aff9198038112cd8a2604eda717d83024ced75207ab9d0d56dccce9b3192eba6bcaad9efb03dd5fbf21498d5f4b6a28a619dbbb2e3f8e02eede795ae1795f0510cbaef6c32103f6601d5b70183dcdd2e0fb21eeab190cd38c69615ff54b76e64b831d1fe83f2c03dad5c8ac277a1ddf8943d2815ecf9b24352af3b19227516d513946dedb76756903cf23cc0f7acf14d7d2ab2b33360155041be2bbfc836ea49a2a2fd92eaebcfeea0219ffff032c0f892cc73088b4c1dad5562c4c5ef8512d458d19dd61bb3798a20b5dd3db9c03d9f36c945270a515117717d52255d6f9e50ea972b3d5fc5f69eb9635b3f50777031a4a7425bdbca9cab1251c7616f8c001d955e8325d2a75ed5e3d3c79e27d965003f18746ae7678dfe77eea21de7be3f3a5a8f3c3aa533315ba488a425dc92af8aa03bf94a897fde43af2014beaac3dac3929dca1c68e3c6c4e05e0d7833828767deb036cb11bcd0927409ec0c8fd2e96f585eb4adfb8d165ca5b2aebc31f7e3e821a7303d44b9de3ee704695415fb62fa613d457cbe808575e1d5c2a5a757657c6f745b80329cd16b8bd68ad971f9f001a9cb430c8c804176b11819764ba5ea9bd1ce66264038893e072be806462ce294679825db5f37633da4d0ff8470b7b2e86bd2b6830a90219ffff0308a95568e01b1ac0e41a5472268b681b4925e5b8140eae7b7cbfcf88ea61557003a73bd09ddda249ff3eeac76cb3d60d874ff9e48948bb6a241b00a47e8104eeba03e3e7ad158dd6fadf9e815893bf232f786d90d60a67935f1aeef3231efddba13b036218054114385f634bc764bb95d45e03f4e0b80f074282b6af487d02623543e003c9f0ae37f632c0af0376b0801efa09fa1c9577c6e96e03225863e36e9111cff103372bc0dc22f029d8390b32a00d35fdafa35b0bc14ee0906973cd8eb761af2f54035c8f08a18c33df3a3fc06783c715bd46da8ad6274500bf24647855d9ba1cd95403254ccad89dd80ae96e4abf7b4ff5ecf243e0eababbcaf14062fda4e9d3a4a04403070ec65ce7b90e9177c0da80249a24da17394f2783725b9ae9f52ada1eacca4303f85ed80e3a33ed4b6a38ac780694ff839efc5b314a924afa1daac26d31ae8862034dd9c62f9bc85cc7a76910024da6a4ada83c8d58c57bd7e7a9d4e16f22a2589f031e3632d700547eda56ec07c5e9e522158295ec455277e36ea60adffd8d5cac1e03f84e51505f41b6388ed5b163fcb232a282f8350e0557cbb93fa0a267aad39606038681f54952c379393979ed446c3737f67015cdc53bc8b7c97962187db0ce05a905581e03ca14160b719c64e39a3404434589c34015da2181f56f88fd23e91b5e800c024701a3952866f00005581e03f03fd6542376d3c7c0f0433f6962dcea5fd91b5d6659ea950fdfb69cf0040105581e03f4b97da911b0cdfb7f3cf66435f3d69babf7dbe8d50d2c73aaa7b72570040103687c9bd5c1d950c0e68cfae63de0dc6d59894bd795df88401ce7a126356e5ecf05581e03ccc5d1ddce69646bba2346fc391632e35c4c5739b03d852f7bbd1d43f00c01470192f9b469c4080359070e2e2aab9664e4f77e6ddd1e90ab47bf290d71fb0a9a0e76e9069d49f78105581e031db662fec49e244c1bfbd22cf1e652a5f6ba38163a42830a28504982700c024802db46625bec5fdc05581e03a83fe89b468f3f4699a454df7eac77c55820e01b51cb02b850a63e2060040105581e03d411dafa1042f02eddc07ca227d73f3197a2181e4b6d2ad3f6184ecb200c182d484709f4083816d3930219dcd8038cf0a560344f8a2fc6d60b7913a641c6c252c9097d3bd7a613827e1624756e2d03e54f68028f46b2d8ab43700a4e8044b9e3763c5695efd3f49b34ea87fe8f87eb038c7c9c5f1d3e1ccd4febad51dd2bb1dd094f4a3f56d1286d5d929c88e24258e503a74997e2497ba494dfcd78ebeb62808e8a2b3571a5e2914c426ceda1de23a5f10304260fc5ca56f687f20b4e69c6bed1b7afe2b910a35d4f5386a015c24f56bf0203c0bf5496f509bb49f0edc3c82e58030e66460c4c69719c224b4fade118599a1a03c76f71932527c1d092a47111165f2970a3041cf64c428744804954f562517c5f0317ae6944212dea66a45acea92374d48a7c019ca38d3e4f64ffb4d270c686300b03dae6dcbbb45e1d38d260d2a7b11ae4ff97baa401d1833746542940113bf9d086037fbe3692363bd255c612d8783a3dad12def6b2d313c2ae7b8262f74c2516119f036907ef1c37870609bce2a01ddf97ccc36b1cd5ca22b2ef96997b8d208cff092e03d41f15338a96b691ce7342576f707831feb65000f681059aa5baf141ab05960203fd58243982e7ecd193347f188ee985bd7c46e8479f3d296592431b16eb34bbf303d51051d3fda05d7be154621cef90ab02a709cab756e48fe00b5803269d6496da0219ffff032362ef9ddc639053f3b3a5c1fa37918e8ccda54ba55b9755dfef8a74b65f7b0203c665f81c4215280518b98cab1bd00765cc78555a1efcedfcf7ffc3a70b836a6c031ab1f83c4d69e2aa3e8b5a0eaabf77914670c8b985496a8d60287b4750f4ab6103785d926cd287d61ef19addf955a901779e144de8e2111498e1abf56d16bbedb403ddc96b79f75cf2e270fe2299f13dd2cc4f2115075292afcaf0ccba19c92544890341da4a46c8d0142d94e850aee58a300418a62e9d5ff0798562a3b69f9b046e89032a12dcda9a78b1ec53488e49ec66d2553decd8eb7b3160676fe756c9e301afa203d52a7c3a9e5660d8feeff950a787b3f1c6078cc0e838b0da3a8da98a21f764e403539a984afd5541146596e6ecdaad5b65c88e51b9adfed0c215b0c7bdc87bc95803ed43b53d24b3a9d8071d18bb9c54df88ab2b0609ef47a5004be68e5396f4115a03c624a3311d10f98d4cbcc3c2cc4d8ae12c892febcdd53454800811a5a4c4a85803e30d98cd15ae95ab14fc61024ac9d7442e269b964fcb0dcd1f5cc8e16f26257d0219ffff039990060b3272eea715c747efb10bdf98b037c1b956113509ab81349ccd67c43f03e7183c328129d81fa8a2023c1a99512e2916fc2cd4cc673f0c980b4e6d283fe103d524984ebc02e058d07f435fe61a8cea4297e319a9760f18ed09db343b771a7503ddfefd6433726a23b7b5a09cd782f9ab2e85f9857a3427b8860d7640f957c6820389f8eb7c46add5fcebde59a2dbcfc86d094ca7e1185037dbdbaab08490ff9d210219ffff036eb4cb928778d1ad13e1f164e26f935650b279fb7fb716547d78a3a9df9ddbf2038735d34dc027a94b7fe1c13859a0baa8ce1bfa194455fc6599431498d14db3e503f06728bb827dc73b91577e41af806a1758ae20f62abf41f938a2be1654870f1203ecc8782a2bbbe1d428d326dc1debbf0b0f5671bd6aa626716ffcd412c5854609030b11339cb1d40207dae7d5f6b76ed70b7ca58ca304bddf2067531f29389cb873035b6df6f2634104b6a7696ae1b2f58f6401c889a82936cccadf2975cf0e4ab20d0396890035235aec3ad342913d50033d254372a5d4d5eba55c47925cabd10636a503404c43976af9de6c0b52c9cc68899c18422bfe4290a8c31a4af47f695ce3024c03eb6cfb265ff65f5ebdd8f2359a2c062da905b11e4534adedab80677d5813421603cf6cdf05135c6f600c6a4081d9bfa4226fc2ad0d55a7257884a53feec01fd24d03493ee83646099e9ca92f1f5418a3a165884b433750f1705ca609a328e53b69e2031af44752c8beda364f49a19c0223e9795e390f0da3acd91ee0786218f25f84cc03f15667f018689aaf1b11d679209b8fc9f96cae6cde3aefe9d94616e450281dcc03777222a483271f36a768ef637e2c7c10494c63e10d407473a56c59ecfa1b518603684182d0d697735727c89e96dc39f9aa23590108de05397c31806987cbed0832032b893581bddd01894fc39ed5315b1c17dc95dc02114d6bf7ad43ae0dfb0ab64303028ddf9648dddcd2c04e7f69a9d2d3df598661766d9aee6e26185608555f1300033fa7a9d282dd852f96375e8820511390753fdc35d77203c048eee8f1892e47fe03c202037dd6ce3eb53cba77748ed4d0a9b669a3b88fd7691c32ef2e41b319a27003d9aab608ba642c4e78aad62fe62e6e198f26d2a8402f37290d72cb16e5c9a17103166275af8b1673c9b014dd65db3867a322dbf4fc06b17f5708a6eaff734f288a03d7b14bcb6c78f34d5b2f24d75091fbc0070b8249d0ca2e424f8dd1587980a8d003c2b85ebb2cc45a6a597cc26c20de3e80f270860fd8a08cf1a8968017bac3be3703e3046a0a3fdb0678e60495bd5ed440fe5f993e236c529638328df6035ac279d90325aaf7f45e3739cd2df61654a00de0a6079dc2721d907ae9a0151cea43b61ba8035d15480d5799efffbf27075bfc71d6d411eefd285b6b891f1ab40f86bc23a256030065da0ad0fbd465661857e754617e332d5e1be0703587d957a0258f44fd2aaf0385409305ee7fce787e9c8dbd3c26e6169c79033389ac67d035691854e38f904805581e036e1f9ce0adce7e2e9865ed22f3d63a184a475fb990741905fe55482a500848036b9cdfe1b1f40005581e033bf8193dda9b7e30051eadc55a899f495166d5201d48d971a05c88ea500c024802d8538f10267cd20399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803abcdf7124f49a73f22bb822a0394819d52c4e3551bd6b9b02d4d868adbaad16605581e03678cfe679ff66c54120f7b9283c458477e6f0038f90ef0b030dfd1701007011bffffffffffffffff038f83acd407005ed498fa6884f32637abef3eab8aa480281fe2595ede23e599d203cd156a2634ab050c6f7a786111ce4b4b7c9e067f6bea1c156989029280f3dd32037cd43f51e817095ce437599c207aabb3c4825a5916039d10b90f216e8b31ee1801420019045945156080604052600436106102815760003560e01c80636805b84b1161014f5780639fe089ad116100c1578063cd601c781161007a578063cd601c781461083b578063df160d761461085b578063e30c39781461087d578063ea1d2e4a1461089b578063ffa1ad74146108bb578063fff982a8146108ec57600080fd5b80639fe089ad1461076b578063a2f32c8f14610798578063ad5c4648146107b8578063b5419523146107dd578063c6328a46146107fd578063c9c22f9f1461081b57600080fd5b80638da5cb5b116101135780638da5cb5b146106ac5780638e151dd1146106ca57806390a1afaa146106ea57806394cc743d1461070a5780639a8a05921461072a5780639cf278cd1461074d57600080fd5b80636805b84b146105db57806368aa9ef4146105fa5780637c9dec7a146106185780638335572f1461066e57806384acd1bb1461068e57600080fd5b80632def3e16116101f3578063415828bf116101ac578063415828bf14610517578063469048401461052c57806351e2d7b51461054a5780635b9cf0e11461056a578063640d946b1461058a57806366775a6b146105aa57600080fd5b80632def3e16146104145780632efe4f42146104345780632f25e25f1461046a57806339ba66111461047d5780633b6e750f1461049d5780633d62cca0146104e657600080fd5b8063203c509511610245578063203c50951461033357806327105ab91461035357806328ded8e31461037357806329ac8361146103935780632ca8008c146103a65780632d77e8fe146103dc57600080fd5b8063016aa2051461028d578063038c0b66146102af5780631019d654146102c45780631a282195146102f45780631acdab4b1461031457600080fd5b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046137da565b61090c565b005b3480156102bb57600080fd5b506102ad6109d6565b6102d76102d2366004613825565b610ac3565b6040516001600160401b0390911681526020015b60405180910390f35b34801561030057600080fd5b506102ad61030f36600461389a565b610c63565b34801561032057600080fd5b506007545b6040519081526020016102eb565b34801561033f57600080fd5b506102ad61034e3660046137da565b610cec565b34801561035f57600080fd5b5061032561036e3660046138d7565b610e36565b34801561037f57600080fd5b5061032561038e3660046138d7565b610e70565b6102d76103a13660046138fc565b610e9e565b3480156103b257600080fd5b506103256103c1366004613946565b6001600160a01b03166000908152600a602052604090205490565b3480156103e857600080fd5b506103fc6103f7366004613a3e565b61113c565b6040516001600160a01b0390911681526020016102eb565b34801561042057600080fd5b506102ad61042f366004613abd565b61125c565b34801561044057600080fd5b5061032561044f366004613946565b6001600160a01b03166000908152600b602052604090205490565b6102ad610478366004613ae9565b61131a565b34801561048957600080fd5b50610325610498366004613b5a565b611647565b3480156104a957600080fd5b506104d66104b8366004613946565b6001600160a01b03166000908152600d602052604090205460ff1690565b60405190151581526020016102eb565b3480156104f257600080fd5b50610325610501366004613ba5565b61ffff1660009081526009602052604090205490565b34801561052357600080fd5b50600854610325565b34801561053857600080fd5b506003546001600160a01b03166103fc565b34801561055657600080fd5b506102ad610565366004613abd565b6116fa565b34801561057657600080fd5b506102ad610585366004613abd565b611824565b34801561059657600080fd5b506102ad6105a5366004613bc2565b61193f565b3480156105b657600080fd5b506103256105c5366004613ba5565b61ffff166000908152600c602052604090205490565b3480156105e757600080fd5b506000546301000000900460ff166104d6565b34801561060657600080fd5b506002546001600160a01b03166103fc565b34801561062457600080fd5b50610638610633366004613a3e565b611b83565b6040516102eb9190815160ff16815260208083015190820152604080830151908201526060918201519181019190915260800190565b34801561067a57600080fd5b506102ad61068936600461389a565b611cb4565b34801561069a57600080fd5b506005546001600160a01b03166103fc565b3480156106b857600080fd5b506001546001600160a01b03166103fc565b3480156106d657600080fd5b506103256106e5366004613c49565b611d3b565b3480156106f657600080fd5b506102ad610705366004613abd565b611e1b565b34801561071657600080fd5b506102ad6107253660046137da565b611ed9565b34801561073657600080fd5b5060005460405161ffff90911681526020016102eb565b34801561075957600080fd5b5060005462010000900460ff166104d6565b34801561077757600080fd5b5061078b610786366004613c67565b611fa5565b6040516102eb9190613d25565b3480156107a457600080fd5b506102ad6107b3366004613ba5565b612050565b3480156107c457600080fd5b50600054600160201b90046001600160a01b03166103fc565b3480156107e957600080fd5b506103256107f8366004613946565b6120c7565b34801561080957600080fd5b506006546001600160a01b03166103fc565b34801561082757600080fd5b506102ad6108363660046137da565b612161565b34801561084757600080fd5b50610325610856366004613946565b61221d565b34801561086757600080fd5b50610870612302565b6040516102eb9190613d38565b34801561088957600080fd5b506004546001600160a01b03166103fc565b3480156108a757600080fd5b506102ad6108b63660046137da565b612367565b3480156108c757600080fd5b5061078b604051806040016040528060058152602001640302e322e360dc1b81525081565b3480156108f857600080fd5b506102ad610907366004613d85565b612456565b3361091f6001546001600160a01b031690565b6001600160a01b03161461094e5760405162461bcd60e51b815260040161094590613dc6565b60405180910390fd5b818061ffff1661096160005461ffff1690565b61ffff16146109825760405162461bcd60e51b815260040161094590613df4565b6001600160a01b0382166109c85760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b2103a37b5b2b760991b6044820152606401610945565b6109d18261251d565b505050565b60006109ea6004546001600160a01b031690565b9050336001600160a01b03821614610a445760405162461bcd60e51b815260206004820152601b60248201527f63616c6c6572206d7573742062652070656e64696e674f776e657200000000006044820152606401610945565b6000610a586001546001600160a01b031690565b600180546001600160a01b0319166001600160a01b0385161790559050610a7f60006126c2565b816001600160a01b0316816001600160a01b03167f0d18b5fd22306e373229b9439188228edca81207d1667f604daf6cef8aa3ee6760405160405180910390a35050565b6000610acd6126e4565b6000546301000000900460ff1615610b1b5760405162461bcd60e51b81526020600482015260116024820152701c995b185e595c881a5cc81c185d5cd959607a1b6044820152606401610945565b6000610b2f6005546001600160a01b031690565b6001600160a01b0316631a90a2196040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b909190613e19565b9050803414610bd65760405162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742076616c756560701b6044820152606401610945565b6000610be18961273d565b9050610bf6610bf08983610e36565b82610e70565b9750610c0289896127df565b9750610c4b6040518060c001604052808b6001600160a01b031681526020018360ff1681526020018a81526020018981526020018861ffff168152602001878152508584612815565b92505050610c596001600f55565b9695505050505050565b33610c766001546001600160a01b031690565b6001600160a01b031614610c9c5760405162461bcd60e51b815260040161094590613dc6565b818061ffff16610caf60005461ffff1690565b61ffff1614610cd05760405162461bcd60e51b815260040161094590613df4565b6000805463ff0000001916630100000084151502179055505050565b33610cff6001546001600160a01b031690565b6001600160a01b031614610d255760405162461bcd60e51b815260040161094590613dc6565b818061ffff16610d3860005461ffff1690565b61ffff1614610d595760405162461bcd60e51b815260040161094590613df4565b6001600160a01b038216610dbf5760405162461bcd60e51b815260206004820152602760248201527f6e6577466565526563697069656e742063616e6e6f7420657175616c206164646044820152667265737328302960c81b6064820152608401610945565b6000610dd36003546001600160a01b031690565b600380546001600160a01b0319166001600160a01b0386161790559050826001600160a01b0316816001600160a01b03167faaebcf1bfa00580e41d966056b48521fa9f202645c86d4ddf28113e617c1b1d360405160405180910390a350505050565b600060088260ff161115610e6757610e4f600883613e48565b610e5a90600a613f45565b610e649084613f54565b92505b50815b92915050565b600060088260ff161115610e6757610e89600883613e48565b610e9490600a613f45565b610e649084613f76565b600080546301000000900460ff1615610eed5760405162461bcd60e51b81526020600482015260116024820152701c995b185e595c881a5cc81c185d5cd959607a1b6044820152606401610945565b60005462010000900460ff16610f455760405162461bcd60e51b815260206004820181905260248201527f574554482066756e6374696f6e616c697479206e6f7420737570706f727465646044820152606401610945565b6000610f596005546001600160a01b031690565b6001600160a01b0316631a90a2196040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fba9190613e19565b90508034116110005760405162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742076616c756560701b6044820152606401610945565b600061100c8234613f8d565b9050600061102561101e836012610e36565b6012610e70565b61102f9083613f8d565b9050801561106657604051339082156108fc029083906000818181858888f19350505050158015611064573d6000803e3d6000fd5b505b60006110728284613f8d565b905060006110906000546001600160a01b03600160201b9091041690565b9050806001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b1580156110cd57600080fd5b505af11580156110e1573d6000803e3d6000fd5b505050505061112e6040518060c00160405280836001600160a01b03168152602001601260ff1681526020018481526020018c81526020018b61ffff1681526020018a8152508887612815565b9a9950505050505050505050565b60008061114a836021612b3d565b90506000611159846041612b9b565b905061116860005461ffff1690565b61ffff168161ffff1614611249576006546001600160a01b0316604051630ff8f14360e11b815261ffff83166004820152602481018490526001600160a01b039190911690631ff1e28690604401602060405180830381865afa1580156111d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f79190613fa0565b92506001600160a01b0383166112445760405162461bcd60e51b81526020600482015260126024820152711d1bdad95b881b9bdd08185d1d195cdd195960721b6044820152606401610945565b611255565b61125282612bf8565b92505b5050919050565b3361126f6001546001600160a01b031690565b6001600160a01b0316146112955760405162461bcd60e51b815260040161094590613dc6565b818061ffff166112a860005461ffff1690565b61ffff16146112c95760405162461bcd60e51b815260040161094590613df4565b600082116113115760405162461bcd60e51b81526020600482015260156024820152740707265636973696f6e206d757374206265203e203605c1b6044820152606401610945565b6109d182600755565b600080600061135e85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612c4c92505050565b925092509250600061136f84611b83565b905060006113808260600151612bf8565b9050600061139760005460ff620100009091041690565b90506001600160a01b03821633036113bf576113b584838784612f41565b5050505050505050565b60006113ca8561273d565b90506113da846020015182610e70565b6020850152600054600160201b90046001600160a01b03166001600160a01b0316856001600160a01b0316036114255761141a868486602001518561306b565b505050505050505050565b6040840151156115ed5761143d846040015182610e70565b6040850152600061144d8661221d565b9050808560400151111561146357604085018190525b6000611473878760400151611d3b565b905080156115af57803410156114cb5760405162461bcd60e51b815260206004820181905260248201527f696e73756666696369656e74206e617469766520617373657420616d6f756e746044820152606401610945565b60006114d78234613f8d565b9050801561150e57604051339082156108fc029083906000818181858888f1935050505015801561150c573d6000803e3d6000fd5b505b6040516001600160a01b0387169083156108fc029084906000818181858888f19350505050158015611544573d6000803e3d6000fd5b50876001600160a01b0316336001600160a01b0316876001600160a01b03167f764f0dc063c06f32d89a3f3af80c0db4be8a090901f589a478b447e0a51f09f18a60400151866040516115a1929190918252602082015260400190565b60405180910390a4506115ea565b6000604087015234156115ea5760405133903480156108fc02916000818181858888f193505050501580156115e8573d6000803e3d6000fd5b505b50505b6000846040015185602001516116039190613fbd565b9050801561162757611627866116216003546001600160a01b031690565b836131e1565b61163b8685611636848b613f8d565b6131e1565b50505050505050505050565b6001600160a01b0382166000908152600a6020526040812054806000036116a45760405162461bcd60e51b81526020600482015260116024820152701cddd85c081c985d19481b9bdd081cd95d607a1b6044820152606401610945565b6008546116b19082613f76565b60075461ffff87166000908152600c60205260409020546116d386600a613f45565b6116dd9190613f76565b6116e79190613f76565b6116f19190613f54565b95945050505050565b3361170d6001546001600160a01b031690565b6001600160a01b0316146117335760405162461bcd60e51b815260040161094590613dc6565b806117905760405162461bcd60e51b815260206004820152602760248201527f636f6e7472616374416464726573732063616e6e6f7420657175616c206279746044820152666573333228302960c81b6064820152608401610945565b61ffff8216158015906117ac575060005461ffff838116911614155b6118085760405162461bcd60e51b815260206004820152602760248201527f636861696e49645f2063616e6e6f7420657175616c2030206f7220746869732060448201526618da185a5b925960ca1b6064820152608401610945565b61ffff91909116600090815260096020526040902055565b5050565b336118376001546001600160a01b031690565b6001600160a01b0316148061186557503361185a6002546001600160a01b031690565b6001600160a01b0316145b6118815760405162461bcd60e51b815260040161094590613fd0565b60005461ffff1661ffff168261ffff16036118ce5760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b21031b430b4b760991b6044820152606401610945565b61ffff82166000908152600960205260409020546119275760405162461bcd60e51b815260206004820152601660248201527518dbdb9d1c9858dd08191bd95cdb89dd08195e1a5cdd60521b6044820152606401610945565b61ffff919091166000908152600c6020526040902055565b336119526001546001600160a01b031690565b6001600160a01b031614806119805750336119756002546001600160a01b031690565b6001600160a01b0316145b61199c5760405162461bcd60e51b815260040161094590613fd0565b828061ffff166119af60005461ffff1690565b61ffff16146119d05760405162461bcd60e51b815260040161094590613df4565b8180611a135760405162461bcd60e51b8152602060048201526012602482015271696e76616c69642061727261792073697a6560701b6044820152606401610945565b60005b81811015611b3b57611a49858583818110611a3357611a33614011565b6104b89260206040909202019081019150613946565b611a655760405162461bcd60e51b815260040161094590614027565b6000858583818110611a7957611a79614011565b9050604002016020013511611ad05760405162461bcd60e51b815260206004820152601960248201527f737761702072617465206d757374206265206e6f6e7a65726f000000000000006044820152606401610945565b611b33858583818110611ae557611ae5614011565b611afb9260206040909202019081019150613946565b868684818110611b0d57611b0d614011565b905060400201602001356001600160a01b039091166000908152600a6020526040902055565b600101611a16565b508383604051611b4c929190614053565b604051908190038120907f7abf49a6ebb116bc314846377cd82a3d2c8c1ea48149a652356009fc37100dd790600090a25050505050565b604080516080810182526000808252602082018190529181018290526060810182905290611bb18382613244565b60ff168252611bc1600182613fbd565b9050816000015160ff16600114611c0e5760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081c185e5b1bd8591259607a1b6044820152606401610945565b611c1883826132a0565b602080840191909152611c2b9082613fbd565b9050611c3783826132a0565b6040830152611c47602082613fbd565b9050611c538382612b3d565b6060830152611c63602082613fbd565b905082518114611cae5760405162461bcd60e51b81526020600482015260166024820152750d2dcecc2d8d2c840dacae6e6c2ceca40d8cadccee8d60531b6044820152606401610945565b50919050565b33611cc76001546001600160a01b031690565b6001600160a01b031614611ced5760405162461bcd60e51b815260040161094590613dc6565b818061ffff16611d0060005461ffff1690565b61ffff1614611d215760405162461bcd60e51b815260040161094590613df4565b6000805462ff000019166201000084151502179055505050565b600080611d478461273d565b90506000611d6d611d686000546001600160a01b03600160201b9091041690565b61273d565b90508060ff168260ff161115611dca57611d878183613e48565b611d9290600a613f45565b611d9b866120c7565b611da59190613f76565b84611daf60075490565b611db99190613f76565b611dc39190613f54565b9250611e13565b611dd3856120c7565b611ddd8383613e48565b611de890600a613f45565b85611df260075490565b611dfc9190613f76565b611e069190613f76565b611e109190613f54565b92505b505092915050565b33611e2e6001546001600160a01b031690565b6001600160a01b031614611e545760405162461bcd60e51b815260040161094590613dc6565b818061ffff16611e6760005461ffff1690565b61ffff1614611e885760405162461bcd60e51b815260040161094590613df4565b60008211611ed05760405162461bcd60e51b81526020600482015260156024820152740707265636973696f6e206d757374206265203e203605c1b6044820152606401610945565b6109d182600855565b33611eec6001546001600160a01b031690565b6001600160a01b031614611f125760405162461bcd60e51b815260040161094590613dc6565b818061ffff16611f2560005461ffff1690565b61ffff1614611f465760405162461bcd60e51b815260040161094590613df4565b6001600160a01b038216611f9c5760405162461bcd60e51b815260206004820181905260248201527f6e65774f776e65722063616e6e6f7420657175616c20616464726573732830296044820152606401610945565b6109d1826126c2565b6060816000015160ff16600114611ff25760405162461bcd60e51b81526020600482015260116024820152701a5b9d985b1a59081c185e5b1bd8591259607a1b6044820152606401610945565b81516020808401516040808601516060870151915161203a95949192910160f89490941b6001600160f81b031916845260018401929092526021830152604182015260610190565b6040516020818303038152906040529050919050565b336120636001546001600160a01b031690565b6001600160a01b0316146120895760405162461bcd60e51b815260040161094590613dc6565b808061ffff1661209c60005461ffff1690565b61ffff16146120bd5760405162461bcd60e51b815260040161094590613df4565b61182060006126c2565b600080546001600160a01b03600160201b90910481168252600a60205260408083205491841683528220546000821180156121025750600081115b6121425760405162461bcd60e51b81526020600482015260116024820152701cddd85c081c985d19481b9bdd081cd95d607a1b6044820152606401610945565b808261214d60075490565b6121579190613f76565b6112529190613f54565b336121746001546001600160a01b031690565b6001600160a01b03161461219a5760405162461bcd60e51b815260040161094590613dc6565b818061ffff166121ad60005461ffff1690565b61ffff16146121ce5760405162461bcd60e51b815260040161094590613df4565b6001600160a01b0382166122145760405162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b2103a37b5b2b760991b6044820152606401610945565b6109d1826132f5565b6000806122298361273d565b9050600061224a611d686000546001600160a01b03600160201b9091041690565b90508060ff168260ff1611156122b9576007546122678284613e48565b61227290600a613f45565b61227b866120c7565b6001600160a01b0387166000908152600b602052604090205461229e9190613f76565b6122a89190613f76565b6122b29190613f54565b9250611255565b6007546122c68383613e48565b6122d190600a613f45565b6122db9190613f76565b6122e4856120c7565b6001600160a01b0386166000908152600b602052604090205461214d565b60606000600e0180548060200260200160405190810160405280929190818152602001828054801561235d57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161233f575b5050505050905090565b3361237a6001546001600160a01b031690565b6001600160a01b0316146123a05760405162461bcd60e51b815260040161094590613dc6565b818061ffff166123b360005461ffff1690565b61ffff16146123d45760405162461bcd60e51b815260040161094590613df4565b6001600160a01b0382166124365760405162461bcd60e51b8152602060048201526024808201527f6e6577417373697374616e742063616e6e6f7420657175616c206164647265736044820152637328302960e01b6064820152608401610945565b600280546001600160a01b0319166001600160a01b038416179055505050565b336124696001546001600160a01b031690565b6001600160a01b03161461248f5760405162461bcd60e51b815260040161094590613dc6565b828061ffff166124a260005461ffff1690565b61ffff16146124c35760405162461bcd60e51b815260040161094590613df4565b6001600160a01b0383166000908152600d602052604090205460ff166124fb5760405162461bcd60e51b815260040161094590614027565b6001600160a01b0383166000908152600b602052604090208290555b50505050565b6001600160a01b0381166000908152600d602052604090205460ff1661257c5760405162461bcd60e51b81526020600482015260146024820152731d1bdad95b881b9bdd081c9959da5cdd195c995960621b6044820152606401610945565b6001600160a01b0381166000908152600d60209081526040808320805460ff19169055600a8252808320839055600b9091528120819055600e54905b8181101561260257826001600160a01b03166000600e0182815481106125e0576125e0614011565b6000918252602090912001546001600160a01b031614612602576001016125b8565b8181146109d157600182111561268a57600e61261f600184613f8d565b8154811061262f5761262f614011565b600091825260209091200154600e80546001600160a01b03909216918390811061265b5761265b614011565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b600e80548061269b5761269b61409e565b600082815260209020810160001990810180546001600160a01b0319169055019055505050565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6002600f54036127365760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610945565b6002600f55565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b179052905160009182916001600160a01b03851691612780916140b4565b600060405180830381855afa9150503d80600081146127bb576040519150601f19603f3d011682016040523d82523d6000602084013e6127c0565b606091505b50915050808060200190518101906127d891906140e0565b9392505050565b6000806127eb846133c4565b90506127f984333086613470565b80612803856133c4565b61280d9190613f8d565b949350505050565b82516001600160a01b03166000908152600d602052604081205460ff1661284e5760405162461bcd60e51b815260040161094590614027565b60a08401516128ab5760405162461bcd60e51b8152602060048201526024808201527f746172676574526563697069656e742063616e6e6f74206265206279746573336044820152633228302960e01b6064820152608401610945565b60006128bf85604001518660200151610e36565b9050600081116129115760405162461bcd60e51b815260206004820152601d60248201527f6e6f726d616c697a656420616d6f756e74206d757374206265203e20300000006044820152606401610945565b600061292586606001518760200151610e36565b905085606001516000148061293a5750600081115b6129865760405162461bcd60e51b815260206004820152601b60248201527f696e76616c696420746f4e6174697665546f6b656e416d6f756e7400000000006044820152606401610945565b608086015161ffff16600090815260096020526040902054806129e35760405162461bcd60e51b81526020600482015260156024820152741d185c99d95d081b9bdd081c9959da5cdd195c9959605a1b6044820152606401610945565b6000612a096129ff89608001518a600001518b60200151611647565b8960200151610e36565b9050612a158382613fbd565b8411612a595760405162461bcd60e51b81526020600482015260136024820152721a5b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606401610945565b6000612a8c6040518060800160405280600160ff1681526020018481526020018681526020018b60a00151815250611fa5565b90506000612aa26006546001600160a01b031690565b9050612ab78a60000151828c604001516134a8565b806001600160a01b031663c5a5ebda898c600001518d604001518e60800151898f896040518863ffffffff1660e01b8152600401612afa969594939291906140fd565b60206040518083038185885af1158015612b18573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061112e9190614163565b6000612b4a826020613fbd565b83511015612b925760405162461bcd60e51b8152602060048201526015602482015274746f427974657333325f6f75744f66426f756e647360581b6044820152606401610945565b50016020015190565b6000612ba8826002613fbd565b83511015612bef5760405162461bcd60e51b8152602060048201526014602482015273746f55696e7431365f6f75744f66426f756e647360601b6044820152606401610945565b50016002015190565b60006001600160a01b0319821615612c485760405162461bcd60e51b8152602060048201526013602482015272696e76616c69642045564d206164647265737360681b6044820152606401610945565b5090565b60606000806000612c656005546001600160a01b031690565b6001600160a01b031663a9e11893866040518263ffffffff1660e01b8152600401612c909190613d25565b600060405180830381865afa158015612cad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612cd591908101906142a2565b90506000612ce68260e0015161113c565b9050612d0a816001600160a01b03166000908152600d602052604090205460ff1690565b612d4d5760405162461bcd60e51b81526020600482015260146024820152731d1bdad95b881b9bdd081c9959da5cdd195c995960621b6044820152606401610945565b6000612d58826133c4565b90506000612d6e6006546001600160a01b031690565b90506000816001600160a01b031663c3f511c18a6040518263ffffffff1660e01b8152600401612d9e9190613d25565b6000604051808303816000875af1158015612dbd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612de591908101906143c6565b9050600083612df3866133c4565b612dfd9190613f8d565b90506000836001600160a01b031663ea63738d846040518263ffffffff1660e01b8152600401612e2d9190613d25565b600060405180830381865afa158015612e4a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612e7291908101906143fa565b9050612e92876060015161ffff1660009081526009602052604090205490565b8160c0015114612ee45760405162461bcd60e51b815260206004820152601760248201527f636f6e7472616374206e6f7420726567697374657265640000000000000000006044820152606401610945565b8660a001516001600160401b03168760800151886060015161ffff167fcaf280c8cfeba144da67230d9b009c8f868a75bac9a528fa0474be1ba317c16960405160405180910390a460e001519a9099509397509295505050505050565b3415612f9b5760405162461bcd60e51b815260206004820152602360248201527f726563697069656e742063616e6e6f742073776170206e61746976652061737360448201526265747360e81b6064820152608401610945565b6000546001600160a01b03600160201b909104811690851681148015612fbe5750815b1561305957604051632e1a7d4d60e01b8152600481018490526001600160a01b03821690632e1a7d4d90602401600060405180830381600087803b15801561300557600080fd5b505af1158015613019573d6000803e3d6000fd5b50506040516001600160a01b038716925085156108fc02915085906000818181858888f19350505050158015613053573d6000803e3d6000fd5b50613064565b6130648585856131e1565b5050505050565b34156130ae5760405162461bcd60e51b815260206004820152601260248201527176616c7565206d757374206265207a65726f60701b6044820152606401610945565b80156131a157600054604051632e1a7d4d60e01b815260048101869052600160201b9091046001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561310057600080fd5b505af1158015613114573d6000803e3d6000fd5b50505050826001600160a01b03166108fc83866131319190613f8d565b6040518115909202916000818181858888f19350505050158015613159573d6000803e3d6000fd5b50811561319c576003546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561319a573d6000803e3d6000fd5b505b612517565b600054600160201b90046001600160a01b03166131c381856116368689613f8d565b821561306457613064816131df6003546001600160a01b031690565b855b6040516001600160a01b0383166024820152604481018290526109d190849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526135bd565b6000613251826001613fbd565b835110156132975760405162461bcd60e51b8152602060048201526013602482015272746f55696e74385f6f75744f66426f756e647360681b6044820152606401610945565b50016001015190565b60006132ad826020613fbd565b83511015612b925760405162461bcd60e51b8152602060048201526015602482015274746f55696e743235365f6f75744f66426f756e647360581b6044820152606401610945565b6001600160a01b0381166000908152600d602052604090205460ff161561335e5760405162461bcd60e51b815260206004820152601860248201527f746f6b656e20616c7265616479207265676973746572656400000000000000006044820152606401610945565b6001600160a01b03166000818152600d60205260408120805460ff19166001908117909155600e805491820181559091527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b0319169091179055565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b179052905160009182916001600160a01b03851691613418916140b4565b600060405180830381855afa9150503d8060008114613453576040519150601f19603f3d011682016040523d82523d6000602084013e613458565b606091505b50915050808060200190518101906127d89190613e19565b6040516001600160a01b03808516602483015283166044820152606481018290526125179085906323b872dd60e01b9060840161320d565b8015806135225750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156134fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135209190613e19565b155b61358d5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610945565b6040516001600160a01b0383166024820152604481018290526109d190849063095ea7b360e01b9060640161320d565b6000613612826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661368f9092919063ffffffff16565b8051909150156109d1578080602001905181019061363091906144c2565b6109d15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610945565b606061280d848460008585600080866001600160a01b031685876040516136b691906140b4565b60006040518083038185875af1925050503d80600081146136f3576040519150601f19603f3d011682016040523d82523d6000602084013e6136f8565b606091505b509150915061370987838387613714565b979650505050505050565b6060831561378357825160000361377c576001600160a01b0385163b61377c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610945565b508161280d565b61280d83838151156137985781518083602001fd5b8060405162461bcd60e51b81526004016109459190613d25565b61ffff811681146137c257600080fd5b50565b6001600160a01b03811681146137c257600080fd5b600080604083850312156137ed57600080fd5b82356137f8816137b2565b91506020830135613808816137c5565b809150509250929050565b63ffffffff811681146137c257600080fd5b60008060008060008060c0878903121561383e57600080fd5b8635613849816137c5565b955060208701359450604087013593506060870135613867816137b2565b92506080870135915060a087013561387e81613813565b809150509295509295509295565b80151581146137c257600080fd5b600080604083850312156138ad57600080fd5b82356138b8816137b2565b915060208301356138088161388c565b60ff811681146137c257600080fd5b600080604083850312156138ea57600080fd5b823591506020830135613808816138c8565b6000806000806080858703121561391257600080fd5b843593506020850135613924816137b2565b925060408501359150606085013561393b81613813565b939692955090935050565b60006020828403121561395857600080fd5b81356127d8816137c5565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b038111828210171561399b5761399b613963565b60405290565b60405161016081016001600160401b038111828210171561399b5761399b613963565b60405161010081016001600160401b038111828210171561399b5761399b613963565b604051601f8201601f191681016001600160401b0381118282101715613a0f57613a0f613963565b604052919050565b60006001600160401b03821115613a3057613a30613963565b50601f01601f191660200190565b600060208284031215613a5057600080fd5b81356001600160401b03811115613a6657600080fd5b8201601f81018413613a7757600080fd5b8035613a8a613a8582613a17565b6139e7565b818152856020838501011115613a9f57600080fd5b81602084016020830137600091810160200191909152949350505050565b60008060408385031215613ad057600080fd5b8235613adb816137b2565b946020939093013593505050565b60008060208385031215613afc57600080fd5b82356001600160401b0380821115613b1357600080fd5b818501915085601f830112613b2757600080fd5b813581811115613b3657600080fd5b866020828501011115613b4857600080fd5b60209290920196919550909350505050565b600080600060608486031215613b6f57600080fd5b8335613b7a816137b2565b92506020840135613b8a816137c5565b91506040840135613b9a816138c8565b809150509250925092565b600060208284031215613bb757600080fd5b81356127d8816137b2565b600080600060408486031215613bd757600080fd5b8335613be2816137b2565b925060208401356001600160401b0380821115613bfe57600080fd5b818601915086601f830112613c1257600080fd5b813581811115613c2157600080fd5b8760208260061b8501011115613c3657600080fd5b6020830194508093505050509250925092565b60008060408385031215613c5c57600080fd5b8235613adb816137c5565b600060808284031215613c7957600080fd5b604051608081018181106001600160401b0382111715613c9b57613c9b613963565b6040528235613ca9816138c8565b808252506020830135602082015260408301356040820152606083013560608201528091505092915050565b60005b83811015613cf0578181015183820152602001613cd8565b50506000910152565b60008151808452613d11816020860160208601613cd5565b601f01601f19169290920160200192915050565b6020815260006127d86020830184613cf9565b6020808252825182820181905260009190848201906040850190845b81811015613d795783516001600160a01b031683529284019291840191600101613d54565b50909695505050505050565b600080600060608486031215613d9a57600080fd5b8335613da5816137b2565b92506020840135613db5816137c5565b929592945050506040919091013590565b60208082526014908201527331b0b63632b9103737ba103a34329037bbb732b960611b604082015260600190565b6020808252600b908201526a3bb937b7339031b430b4b760a91b604082015260600190565b600060208284031215613e2b57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b60ff8281168282160390811115610e6a57610e6a613e32565b600181815b80851115613e9c578160001904821115613e8257613e82613e32565b80851615613e8f57918102915b93841c9390800290613e66565b509250929050565b600082613eb357506001610e6a565b81613ec057506000610e6a565b8160018114613ed65760028114613ee057613efc565b6001915050610e6a565b60ff841115613ef157613ef1613e32565b50506001821b610e6a565b5060208310610133831016604e8410600b8410161715613f1f575081810a610e6a565b613f298383613e61565b8060001904821115613f3d57613f3d613e32565b029392505050565b60006127d860ff841683613ea4565b600082613f7157634e487b7160e01b600052601260045260246000fd5b500490565b8082028115828204841417610e6a57610e6a613e32565b81810381811115610e6a57610e6a613e32565b600060208284031215613fb257600080fd5b81516127d8816137c5565b80820180821115610e6a57610e6a613e32565b60208082526021908201527f63616c6c6572206e6f7420746865206f776e6572206f7220617373697374616e6040820152601d60fa1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6020808252601290820152711d1bdad95b881b9bdd081858d8d95c1d195960721b604082015260600190565b60008184825b8581101561409357813561406c816137c5565b6001600160a01b031683526020828101359084015260409283019290910190600101614059565b509095945050505050565b634e487b7160e01b600052603160045260246000fd5b600082516140c6818460208701613cd5565b9190910192915050565b80516140db816138c8565b919050565b6000602082840312156140f257600080fd5b81516127d8816138c8565b60018060a01b038716815285602082015261ffff8516604082015283606082015263ffffffff8316608082015260c060a0820152600061414060c0830184613cf9565b98975050505050505050565b80516001600160401b03811681146140db57600080fd5b60006020828403121561417557600080fd5b6127d88261414c565b80516140db81613813565b80516140db816137b2565b600082601f8301126141a557600080fd5b81516141b3613a8582613a17565b8181528460208386010111156141c857600080fd5b61280d826020830160208701613cd5565b600082601f8301126141ea57600080fd5b815160206001600160401b0382111561420557614205613963565b614213818360051b016139e7565b82815260079290921b8401810191818101908684111561423257600080fd5b8286015b84811015614297576080818903121561424f5760008081fd5b614257613979565b815181528482015185820152604080830151614272816138c8565b90820152606082810151614285816138c8565b90820152835291830191608001614236565b509695505050505050565b6000602082840312156142b457600080fd5b81516001600160401b03808211156142cb57600080fd5b9083019061016082860312156142e057600080fd5b6142e86139a1565b6142f1836140d0565b81526142ff6020840161417e565b60208201526143106040840161417e565b604082015261432160608401614189565b60608201526080830151608082015261433c60a0840161414c565b60a082015261434d60c084016140d0565b60c082015260e08301518281111561436457600080fd5b61437087828601614194565b60e08301525061010061438481850161417e565b90820152610120838101518381111561439c57600080fd5b6143a8888287016141d9565b91830191909152506101409283015192810192909252509392505050565b6000602082840312156143d857600080fd5b81516001600160401b038111156143ee57600080fd5b61280d84828501614194565b60006020828403121561440c57600080fd5b81516001600160401b038082111561442357600080fd5b90830190610100828603121561443857600080fd5b6144406139c4565b614449836140d0565b8152602083015160208201526040830151604082015261446b60608401614189565b60608201526080830151608082015261448660a08401614189565b60a082015260c083015160c082015260e0830151828111156144a757600080fd5b6144b387828601614194565b60e08301525095945050505050565b6000602082840312156144d457600080fd5b81516127d88161388c56fea26469706673582212204380a2c16f3d3a94e16ceec8dd417389a415486e9286774f1ba51d1e17ea374064736f6c6343000811003300582003d3aec3c21d77a15c4bf1eb2839468f2907a5a2b66b5138366b225d4a99eb90410100582003b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db005498f3c9e6e3face36baad05fe09d375ef1464288b021848005820028a82ca220d66ab5aa84ceda5dd052a19cc2854ae242453335d6807040c1dac41010219200803bdc19e38b71b36efebae9b53c418c3ea424fe219f213b929218489b8a38845da034aced05ab34737981e1e34334f88b608f66bd2d6fddd16af9e4abdf3e4496ac900582002c22b05690a73008ecfc43039e2108b477b9584584b8cb326727a6052f476bf410100582002d7944d46c472bbbb74148b94ea4108270e1c4815608dd145267b9e0bdc337e4405f5e10000582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305818c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000100020058200300024c9e4b8d718278a4b844545bec06c1daef1adb0ed8672f8a9048a586e054a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4802194001005820022d3a79366138c198c44a100e5d26cbcadc9af2703358a25beb85d7f29bcb5744018d860e02190b60005820026d947374d71758e457e80486787a2c828942c59266cc0c2fb7ed856b0e118d4405f5e100005820025a5316cbed531150f4bb9d1a0fc443275e34d3b057b1ba67a718d6c2401cc754ae8dc4a7438801ec4edc0b035eccccf3807f4cc10058200203ac9666c3b97f3423ec01a084cf2099d1b704c7833c1f939841f736a33feb4758d15e17628000005820027b5e600a00f7793eb13c8c8d2285df624348ade800e288116dbe4074a9e7df4405f6196b03821b183ed9f919d623f52590d9702ed865adbe0698e597a3193da54a5d18215800582002c260de3c9260d0e29f697f7a71e16a4bd87d09a30fb1380de56cda568a20d44101021999220396b4e1e2021d7e56c56cb082835d5301c759e40a8a3b60950c01f584586e5db20342636044d31bd2af3b0e9b79a554ddd6da44706433b02bb06ccbc7e75b578cd503089c8a7d3ef43420b45b81bd4d5cbbfdfa8cc8fe9abff440b81b0960dff9878803730b5eea3bc92b4b5bc39d2ebdb18a94c6712eb93677327ce97982cdf779ef7f00582002f8b7d2806744001f4252ba618d98550efc62d4f68393f006a68434285791ca4301d97b00582002e4412f9655b77f19c57538c90d99129ca76f588f2441742cdbfaa3886d2963541d4241f7370253c0f12efc536b7e16e462fb352600582002a3d95300d5db7e062f6f7a498ebe49b20f5370f4886a302a551c1301e742bd4758d15e1762800003b021fd9f2b085274bae5579931de50f2006c8ea466d052ebd789a063ad0ee16000582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80204101005820032e832bd82d12aec0d18b89852f9454be18c4875e94e2e8f4fce4eccc4fcbc04758d15e17628000021202193450032823bc7dec95b6744cd4fe0326a951558f8257f13e9fcecb224456f7472641e90058200233e2ad39334d60ffc0216847924244b8eeb3986c5d69143c4beee8cb9f51a454ae8dc4a7438801ec4edc0b035eccccf3807f4cc100582002e8380a25f701731c33dfc4f0ed8b3a20ec5630a4e385d502b52f9a2da490db410100582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68804405f5e10000582003feb066e50c39ba841f85322c74a78a8f01ffef155806f3f3c1641e524da5904101021902400058200236096de5d8e540cee1ad4a9df8902515dd6faf1e406730b02b76a343672448450321105cba0058200272018363d05677eb31ed93bcb25cd7015d8bfed7bbd3e4ff96b0c8ef0720e8410100582002bc3ce30dd12eb55ded7b8125eb6a725be94876d9330d8dd1a1443a53a7800f431125dd00582002344458f17d97606ba75d52f553259212c0456ca13c90e638e6ede6b131c0554758d15e176280000219474503fc67e1d341ac740fcd34dad2e93f2c30a910381ddc511e98b072b12832a1e64103b8a8d28a8d02a75222764623aa23b5528e44f592e0f76ca45f368befb89becae0333b2b67a1ea308ca4bd0a06dd2f295e77906da406ffeaccf8ff204d7cd44cdcc03f37db7c704340fafe5b03d8c5571eca1af4764f23bf4a715b30ad138cbba61a9005820025ba28b3bc1c651da1310dcea4a7b52920d2e87cae975b6a5a595bb40ad3a5d4405f6196b0058200298dc7f0f184fc2a77e8edb5df2eba0e1e77b63ddd08642ea2ae19e1bd2490f41010058200391517b424c6e96cfac816ad50fd6d07e4acfb1a9e757d9b6b1be748e708640543294395e62f4eb6af3f1fcf89f5602d90fb3ef69005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee304405f5e1000219820000582002918152dffd4c0c585ca2588ca9b8191bd01a7fbff2737f8e5b9361e056218e58202b89b45cb77bbcf736ba3172bd333a6e16bbc97fa72470c6bc4063ef074e976b005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0543ee18b2214aff97000d974cf647e7c347e8fa585005820036483921fd563fbb35ef202aff259e63d21915bf579b0b8ecd5d37299d0542054d31a59c85ae9d8edefec411d448f90841571b89c005820033133ed8d07620ba144a3ebb139753b4fd8eb37c8ca24550a6b36261488dd604405f6196b02192120005820027fa136e10ca9b49692adcb2bbef70a81ca3c90f5205a57dc04beb063eaca3854cafd2f0a35a4459fa40c0517e17e6fa2939441ca0058200207d2f7258429bf7309fe19915ed9f2ba86f36668d6ed6b8a4c6d7a3776715954de60adfddaabaaac3dafa57b26acc91cb63728c40058200267928a55cecc5f09d2d1c0864fa8579e0f4c078c745e53737cd460a43a63ef54418d75f65a02b3d53b2418fb8e1fe493759c76050219686b0219ffff05581d02fa54f2b6d1a6a7520e9aa9ad801e5615692fd5f3467509e0bff83d690f0147f17fb7dbc7851c19451505581d026d07031db18d386a0b0bcc7ef3d33c64c53d8fc1cd2380baeb1210c0040102183005581e03b7ce865f687ef861fe32afbf114d6ddf85766962810ffc01e6e2e7be700c01470159d65162980005581e03359952b3e0a614b63af61c9548180c11635350f6c97158fe4342d44e800c184b4674c233b60f9805581e0395e096bdf3e4d7663fc515df0f5d3d9e04da919f55d0ac100fff86a3e00c0247057bbb31851f76033f83b5102ec60fde7fac522818785d0fe8c3e111baa6481f469c22652a913d4005581e03a6045336c1a87779bc19e6ae36c9b14bf16d667a6b1f2857e88703448004010219be3f0358550c27c5e2dd4761be933ac5f65227c94a96637fa2d6f6f03f036f2bd0a7c8036b950040be6d5430126d8cc963504fbd1aff5614d8bd504fc662bb83fc5bdbcc036f9a7c308cc7ef1b1baca825a99345a1fba8b4b0ad1d9544f12f0fd4a55aa22e036a797879f81f38543069b806112beb2d4b4f14decda261e2f73c4437f3ec7f6e0219ffff0306edb48ce40be523783abdd8fc3c088339a444189b485cd88244c9a5e7c7f5c6037a5659b54af1e190297c8576b4a66543b3b121df9900ea0349cb3fd2d3532d2403dd836ce1f81c678303bd782cf05a0b6ea91b49660198eca6878128e18bdc48df036dcb43831e8954df0958317ac6aed432a1c4f65b1de7bab928886ff5281276c20219ffff039cb990e65efb318f504a63a1a831800b1dda240e715e6eb7e3a126ca77533820030f8377214eab78bd3e2aeca0fb8f9a8f507058894906d7a37506348576a3b88303efb5a740ff57e73eb19172f888fae5903b5cf5e0d8d41514496a5948030d54a1031d90b765ee5411dd30ead88ed8f72544f17a0e8b6726e9f39106cdc0093ec124036048490906c5559d9800e2fcd24482504e3913faf5f88f02eda2dac309b498be037af8ebec1b9b2ff08632c1840a6ec96327b5c00fac4e384a9144f8b787a0eb3403b300ecd610e72d15c901386adbd4c0d4b029b3d11b4e447ad11b89862115c54303a0c946846c37a1e7aa079cf187cf1fcd62678b42c077c675d024ed475fc23a8f0359964db7ef26da006e6e9af1d5b31be6f601501b56d817be0ebb2f330abbe02d0397484c239794b3a1b2796a1982f2bb0569a067ae02822dab71e0ae5a377b98000219ffff03d31b75a33fc1444d64097aad50c53337c0fbefacb05956fca0b40ec1ba13bd120395546f53d50afc2f920beef93c3e2839cd38d6176d941f1c5b54e08104c6561c033189565dd260a5b90f3ec86fb851173733bb952e766829f8eb5204b5c88e2fa3032c39287f0334ad641acd9ced765a8e28cf3cd954426aac571badf2f9a874dcaf032b31f36df59ce29955066151d380828200ab95ac04dd7783a980fe8d25b10ca303e30ae14d948fc0739830b0ebfff9c861a6bfb840771ff21c181c92923e50332a034f4f9f5494c70dcbc2ff476d7da4873a50a6e5e5ca0da2d213bc917f83880a490390f1b9d830c63053f401a3f43c1819b60019dc23bd011aceeb076f7118ea77f8038df49d0a917c736bde8c923bafb244a007f698b8ad9bd4c88299769c2af95f3a030c63d58e1b781ae348314f4020cae5be79850af7eee535f10d94069d9bd1eea30353c9b2296006c4b68c4af4fc7720c6f3666fc9389deff48ec1d2eb0a8cdb1b7b03bed410d1eb7127c243fae12a12711b47a21e5231a6380befab2a0c607e11287903e652a10b86ae0bcd1664600c33835d30c66f0a30c6c1a8a6f19d50b909ea3786038aacce60f2c514963b04166890a964ca5d340dd1002bda4735ace7da2b050aee031babb3700e5fb4f5744c3bd2e3292d74734d435f5780c5749afcaccc39c29f0103a13e3c014702cf4ff97d1334de4f1f9f8726d6e030d95e95c46da2ee90aee993038310d1bb4ca4d227c7f82bb9ec389d05344e255a1e459750781c7dc64fb2763103bf72cf7135311b724a7cd81770722dd900a511899db8496cd8160104c547241003f4feba18350b01c107eb05fcdf36fa93d2e314f36af39078ff80c4dac3b035bb03eca70e851139fbd18a97acd0a345338d21d4890ea1e3a96505f63f5aec1efa4305581e0387f311e980cc2cd7250c2038abcfa6d966b5d47d5c22bd43686e6bdb800c024799866266b5d63503b8f9d7e537713005ced1a829e12d82a86c106b028770d65bf10cde7312c6179505581d02e23bf1cd78a5bd5bb8b2e4d8244dd4549c465d8c8df312cfb555999d0c014723a4666c920000045916db608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f9578063a457c2d711610097578063cae9ca5111610071578063cae9ca511461039c578063d8fbe994146103af578063dd62ed3e146103c2578063f2fde38b146103fb57600080fd5b8063a457c2d714610363578063a9059cbb14610376578063c1d34b891461038957600080fd5b80637d64bcb4116100d35780637d64bcb4146103175780638980f11f1461031f5780638da5cb5b1461033257806395d89b411461035b57600080fd5b806370a08231146102d3578063715018a6146102fc57806379cc67901461030457600080fd5b806323b872dd11610166578063395093511161014057806339509351146102855780634000aea01461029857806340c10f19146102ab57806342966c68146102c057600080fd5b806323b872dd1461022e578063313ce567146102415780633177029f1461027257600080fd5b806301ffc9a7146101ae57806305d2035b146101d657806306fdde03146101e1578063095ea7b3146101f65780631296ee621461020957806318160ddd1461021c575b600080fd5b6101c16101bc3660046111f4565b61040e565b60405190151581526020015b60405180910390f35b60055460ff166101c1565b6101e9610445565b6040516101cd919061125e565b6101c161020436600461128d565b6104d7565b6101c161021736600461128d565b6104ed565b6002545b6040519081526020016101cd565b6101c161023c3660046112b7565b610510565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000121681526020016101cd565b6101c161028036600461128d565b6105bf565b6101c161029336600461128d565b6105db565b6101c16102a6366004611396565b610617565b6102be6102b936600461128d565b610656565b005b6102be6102ce3660046113ed565b610687565b6102206102e1366004611406565b6001600160a01b031660009081526020819052604090205490565b6102be610694565b6102be61031236600461128d565b6106d0565b6102be610756565b6102be61032d36600461128d565b610781565b60055461010090046001600160a01b03166040516001600160a01b0390911681526020016101cd565b6101e9610849565b6101c161037136600461128d565b610858565b6101c161038436600461128d565b6108e7565b6101c1610397366004611421565b6108f4565b6101c16103aa366004611396565b610932565b6101c16103bd3660046112b7565b6109a4565b6102206103d0366004611489565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102be610409366004611406565b6109c1565b60006001600160e01b0319821663b0202a1160e01b148061043f57506301ffc9a760e01b6001600160e01b03198316145b92915050565b606060038054610454906114bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610480906114bc565b80156104cd5780601f106104a2576101008083540402835291602001916104cd565b820191906000526020600020905b8154815290600101906020018083116104b057829003601f168201915b5050505050905090565b60006104e4338484610b3e565b50600192915050565b6000610509838360405180602001604052806000815250610617565b9392505050565b600061051d848484610c62565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156105a75760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6105b48533858403610b3e565b506001949350505050565b6000610509838360405180602001604052806000815250610932565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104e491859061061290869061150d565b610b3e565b600061062384846108e7565b5061063033858585610e31565b61064c5760405162461bcd60e51b815260040161059e90611525565b5060019392505050565b60055460ff16156106795760405162461bcd60e51b815260040161059e9061156b565b6106838282610ee0565b5050565b6106913382610f1a565b50565b6005546001600160a01b036101009091041633146106c45760405162461bcd60e51b815260040161059e906115ad565b6106ce6000611068565b565b60006106dc83336103d0565b90508181101561073a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b606482015260840161059e565b6107478333848403610b3e565b6107518383610f1a565b505050565b60055460ff16156107795760405162461bcd60e51b815260040161059e9061156b565b6106ce6110c2565b6005546001600160a01b036101009091041633146107b15760405162461bcd60e51b815260040161059e906115ad565b816001600160a01b031663a9059cbb6107d86005546001600160a01b036101009091041690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610825573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075191906115e2565b606060048054610454906114bc565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156108da5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161059e565b61064c3385858403610b3e565b60006104e4338484610c62565b6000610901858585610510565b5061090e85858585610e31565b6105b45760405162461bcd60e51b815260040161059e90611525565b949350505050565b600061093e84846104d7565b5061094a8484846110fa565b61064c5760405162461bcd60e51b815260206004820152602560248201527f455243313336333a205f636865636b416e6443616c6c417070726f7665207265604482015264766572747360d81b606482015260840161059e565b600061092a848484604051806020016040528060008152506108f4565b6005546001600160a01b036101009091041633146109f15760405162461bcd60e51b815260040161059e906115ad565b6001600160a01b038116610a565760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161059e565b61069181611068565b6001600160a01b038216610ab55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161059e565b8060026000828254610ac7919061150d565b90915550506001600160a01b03821660009081526020819052604081208054839290610af490849061150d565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b6001600160a01b038316610ba05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161059e565b6001600160a01b038216610c015760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161059e565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cc65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161059e565b6001600160a01b038216610d285760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161059e565b6001600160a01b03831660009081526020819052604090205481811015610da05760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161059e565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610dd790849061150d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e2391815260200190565b60405180910390a350505050565b60006001600160a01b0384163b610e4a5750600061092a565b604051632229f29760e21b81526000906001600160a01b038616906388a7ca5c90610e7f9033908a9089908990600401611604565b6020604051808303816000875af1158015610e9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec29190611641565b6001600160e01b031916632229f29760e21b14915050949350505050565b6005546001600160a01b03610100909104163314610f105760405162461bcd60e51b815260040161059e906115ad565b6106838282610a5f565b6001600160a01b038216610f7a5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161059e565b6001600160a01b03821660009081526020819052604090205481811015610fee5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161059e565b6001600160a01b038316600090815260208190526040812083830390556002805484929061101d90849061165e565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b036101009091041633146110f25760405162461bcd60e51b815260040161059e906115ad565b6106ce6111a6565b60006001600160a01b0384163b61111357506000610509565b6040516307b04a2d60e41b81526000906001600160a01b03861690637b04a2d09061114690339088908890600401611675565b6020604051808303816000875af1158015611165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111899190611641565b6001600160e01b0319166307b04a2d60e41b149150509392505050565b6005805460ff191660011790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a1565b6001600160e01b03198116811461069157600080fd5b60006020828403121561120657600080fd5b8135610509816111de565b6000815180845260005b818110156112375760208185018101518683018201520161121b565b81811115611249576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006105096020830184611211565b80356001600160a01b038116811461128857600080fd5b919050565b600080604083850312156112a057600080fd5b6112a983611271565b946020939093013593505050565b6000806000606084860312156112cc57600080fd5b6112d584611271565b92506112e360208501611271565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261131a57600080fd5b813567ffffffffffffffff80821115611335576113356112f3565b604051601f8301601f19908116603f0116810190828211818310171561135d5761135d6112f3565b8160405283815286602085880101111561137657600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000606084860312156113ab57600080fd5b6113b484611271565b925060208401359150604084013567ffffffffffffffff8111156113d757600080fd5b6113e386828701611309565b9150509250925092565b6000602082840312156113ff57600080fd5b5035919050565b60006020828403121561141857600080fd5b61050982611271565b6000806000806080858703121561143757600080fd5b61144085611271565b935061144e60208601611271565b925060408501359150606085013567ffffffffffffffff81111561147157600080fd5b61147d87828801611309565b91505092959194509250565b6000806040838503121561149c57600080fd5b6114a583611271565b91506114b360208401611271565b90509250929050565b600181811c908216806114d057607f821691505b602082108114156114f157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008219821115611520576115206114f7565b500190565b60208082526026908201527f455243313336333a205f636865636b416e6443616c6c5472616e73666572207260408201526565766572747360d01b606082015260800190565b60208082526022908201527f45524332304d696e7461626c653a206d696e74696e672069732066696e697368604082015261195960f21b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156115f457600080fd5b8151801515811461050957600080fd5b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061163790830184611211565b9695505050505050565b60006020828403121561165357600080fd5b8151610509816111de565b600082821015611670576116706114f7565b500390565b60018060a01b038416815282602082015260606040820152600061169c6060830184611211565b9594505050505056fea264697066735822122006cc268857b24a7815b74bbba33e5b89d1cd21d9bd1d343b42f5c1572cffbe0e64736f6c634300080a003303465afc2b39e680626ced36a317455be51ffa041d072f88cc49daae00811e885403037c6744d48de0341baf34c081b2d6a74ae198bd19ba36b8bc57ae43233767f203210238ec8d5b7643f4069b5eff6f35c590e2bb8b58afbf15cc22a51566b0fe3803e3ecc9b033c175ecfba9bc895a082cccf4dd3e60a3077049c62869df9fe71d1903bc4dd69cf9cac6f52a7c00404abf0853caee8fe8f111bfab58b96175630f1cdb030d54e9847e9c31cce63eda289fd67d17879390ef63bf67249ab6b259f6c9aa2f036d3008e18b84723b6d4edf30b47b33b6ab7d525f33622d7844eaf2f112d923e703794a73677c6e3ec7ad40ca369272c64bd954fba910598f32782eef4a6cc5399503cb2c0aedb81b1a655d87c7f9cd41d7d4c844534f9027f429f299dd4a077905b8034ea510670aa7eaf70ab2db1cb645c2b400ec6223a33f0ec33af194be3488c7f50302e233faa0dd2bc356cbf22d584e64185060fac42962db707aeb85b804b769c6033d010d4714396b7c178a5de555f100be326c745ca9b8a1d179b7e0434895e88903c670e26efdce8a1312ddf33acda209ee345f0f25012e28e2d7e280286c90ed89031b3213ba6ead3911527ec41ffd2b7e48f1a030630eccc2984504ba2b460fec7d03e63b17f762247722f563dd459ac51ff1a04160d48889769d8ff9906b073e0699037f1ef23c28fa6f29b89d5c44fcaa3dcc755a2cd3ac605eddaab6e8105f12b92603c522993c98148a777626e5e0d7fe2cd7f6cf05b9058133e7c9adaa2c35a7c292038dbc7b5f6c3864c56fbf294172db95346ffd84de7bd074fc92cb30783d355e82030a8c65aca06db5a2ecd6433156f0e89e6d771ea48158a7590ad050b5bfc691f20397882cf28db737848999e9fa4f05bde59692e88537ad2230c5bd53a989b85c2903130033d66c904ac38e60254e09d48820a33d53749a2ea2998f4b723539289bc403288f574c8259d26eea1370ccc2989635d88547c164b2d8e3425ce24e5fd1f5b40058200396349da9c8f581bd4f4230150e601050ff240c635e67c79f0c2cdd55fcfb004d7e37be1dc78dba8dc9b5bf000000581f02815c5a4b99348d0dd3467b41bbe6b9b11873587733a7dcce287bc01bd7225820fffffffffffffffffffffffffffffffffffffffffffffe1ebc034f3810ac04ff00581f029550301a96159dc5a2f913f783a484b68579d03755ff70a63e5db45315934a956aa609e65de850930302189003cb796a150adb3866d313fb5e55d2a6526b7662f0f5b918f2eff6b21d1968b43700582003d6ff95e89d218dbb622a6bf58e909dd5d4446277dac789701e89ec2d1a3fa0471ab34ea2245a7c00582003a0161f351d52010c472ee93ee66038963080bdf7806b3a191fbb333d747e205820ffffffffffffffffffffffffffffffffffffffffffffff39901e6926d88bb7c203909f679d16eed35af3236eedc5aa5b6ac23a8e6166403cea9296837c42577be103d57e530845a41608072a5ac3fd3971280fdfd66abc942485211fef2d53256a6503c184021dd3e1f9e83e5ad5b348bbf79d869ff5fab4fa1a0f7049793215617259005820033fb60ce645a525a6fae1cc29ca11e3f1441a8614720282bcbeeabb455a17405820fffffffffffffffffffffffffffffffffffffffffffffce4bcda54fdbb87ffff03b15ebc168033ea22e6f1b1b0f8aabd709435fadc45e0430d6b349aac0d2f665d00582003669469f2dc83fda31199f270344320eb04453ae10324229f9936d95e3781d05820fffffffffffffffffffffffffffffffffffffffffffff7d1ea0fee1860c2eb7203273e8f636739b40d21e5e58a570d59e44f9958243b9c3b02190aca885b8f4520005820030a562360674aee75552533704937d21b40ea1a59168da04e1ad486a2812e805820ffffffffffffffffffffffffffffffffffffffffffffeefe05b0f89ec1a27c940219f6ff032f1f44a7fd12711e98f8fa04fa1ff77b731b16b5bd38e286296a00c8fc13935d03d45892437634fdb0ba60fbc448b4d287245aeaf457aabab9ecb5f5f227efaca60396caaf4aa98b62269b9f8fad2387bdf2b9e94e1b816dbc33413e4997f79d5401037140e8d0ddc0dd3002d2bc2ee890b2460dd446fe20db2ddaf7569453543002c0030295e2296dafd6212687534116f026bd54818b0e9866b55e062a2c3725641ca603d2603e164a47aa190925d1c8b3ad6eca87a1769e80e7f21209cb25da3838497303df64de3d26e94b2710c755af008221274a6c18561835e65825782d2bf44614350219ffff037494bcd2114096a6ace95c99b075adc5f2027ac33c9758dc9436be9c15bf0aa9033a27c3a1dc0891b0cf8603e37f66a2072a0bf48c607b6870456d2a65e7e90e2e03d94725a1fc2684f964e07a1c648784ad40893848153988914de58400d2ef2295005820032d907806d6bf6d3d119c702cedd617d9096e91e8a50f21b0aa695a741008305820ffffffffffffffffffffffffffffffffffffffffffffff2bd24e619019b1c86e0058200340c4d150a1e1174ca43d2fea332279941edbdf6f69ba6071d0db7d6fcd7a804d7e37be1e0cfcd0d0a8e552000000582003b807a72645fdedae1dbf2a219b7870a4bd10cda7c16a999514f9bd12ce36705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003daf4a13e53984f38a0f22aff81db47f5128fb89ac4f40f8f9b63206af24a805820fffffffffffffffffffffffffffffffffffffffffffffee84181e054280834ee0058200305d2d2bfd92ed1406b39f5c620b86981093a4c69d45ca18820afb2f93b6db05820fffffffffffffffffffffffffffffffffffffffffffffde1e61f36454dbfffff005820036930019752af26586431e251c998c98ecd1f0f306b6c1671ccc196401db83049430566e9e5c4c24c440320c567dd0a7d6c83b5f7b40b6a0185149aaec0ca9faa2d21f6f9e4e9237565b503abfc564135160f6d572d4a97b8c8c6f45464d16f274581603e046cac70ea7fe300581f02a77012b8cfcf5fcb831eab3b62f3c147c0b2a5028375725eb5dd214ab9195820fffffffffffffffffffffffffffffffffffffffffffffe500ef973bd4805cfff0218a000582003aaa7b784010071635e6685a0e52f32ccf0a414156dfed294453f4ee7253f104d7e37be1f6d45108c57d2480000032e2b72bf0033707dcb50be375a7e26c4cc7a4a35d5f0f8bb8daf01c4d450afb503f3b2fbee7499e3967657a772797e5ecb091461be51540d5d19b019fab937ffb60219fb790339d6bdea1b0fdb1dd9aea20740cc311fe8e043ee54c1bc851d108c892d2dc53a0301b0b6b488695e6d8a577dc8cf0d1990a8dceafb91a4a0022542d936a711f4db03eeff616eaa40d97f063352d6415ed572c13aa80ddb99095d06aa29c9d1390b0e0353f71a7452dba17e6a5733cece4e2ffe38656c31aa3b3cff1b4d1ad658975c0c03c8ad0c8c29316920e9628fb0c864ccda5a241f4a3d89f34382a07683c7fdb050032497cf2fbd40e6b9b218ba43d8a152dec45ce4c22f67de509b1973bfb0ea016e038903ce917615a66aa53822bb62aac2b35f6cb8c7874fcb2a7d031ae02453a4790326d64b9ac0dfe631e139a13fcac17ab533cbdf85a98f6dc4c4ea63cb9c839eb10314af5d3f9669908c9552f38a568782aa682634860d0c48457c667e713e2d0347038e8fd712adaf68a5217602cc04a665e2c8ea8d05db4a796bac25307865c88f6d03323a7b759281b7b4a05e26df29e6b2e90145eda05fd227e8813d71857575610c0339bf7c99b47b8a695015fe22e56738a6e51aa1fb0e734f821b3213cb58cee35f03c4d9857737065c5eb93e795e9753819288b75a18db8a217bc199fb3db8db9cd2035267077249f746ead3fab5478c1189f9cdaa3ac60a448d1856f29986eede98af0219ffff0219ffff05581d0282279ba348705ecda1a5991037658e3164f80a523473242525d57a8d07011916db0219010205581e03478ca9a5a7c2d8214285a2d94b66f2dca0bf084d5a94f9c8957bd187800401038fb163e59f9a06dc08879bf0624bc6a8fbd59b66a207a7ef9c400afa16a0b38f032fc8bbe97e753b286ca2f07abcd9c448c057425cb105cdc3ecfed260f671b79a05581e03c8b074100470629f0b0eac7f99839b719ecb6fc7bf73f193e9459eed000403032e789d93507767bf2c4a4a9a6c0aaf8236cdf0c79500a10e693ff84cca7792e205581e03c11f1753f46e480fbed47097f1a5016e62e4211441aba299c3f25751900c0246439eeee9888005581e0313e9956145d9ddf0df54992061ab00b1bbffc1f216ccd5d9ba4e7003600c024695dcd262a1980219bb5603b018cb53d1894f7a91bbec6ce592f842361429c51fbc77eaffa63a931b0bb64d03d89fb7b32f5f6ba30cda9ed02bc4c313f1b24f612ad1ab9d5f9b07da12e49bdb036c8691292b8e5da9466c3ecea4c80f0aecf06614b3bd66d705249ef81958c8cc035d780bbe05905422aa1cf1027fe5b05b563bad62c15c196b70190a071fa2bbe903c96faeac008b5f6690e33e9f423882540c0c0212ec2cfc9eda855923080cf1ff037a7b84b7746df7f163f29eab9e6599ea9d0dd27dfa69df8953592a61e4dc9cee0315fe00668e2ffb6e1f53f8708f53fae6bf155dcbc5d644ea16edb9c65d8de0670378044a22eea7d87fd627906cc68707c440cb08d991be54f1167a070b8b7b353103a38bb91ee6d26076abbf8adc8799a4769ce21382557b984ec2493e87de7c50cf038e488feaf2f1d7eb5fa7c028f8e0a4d22bd1799c77689cfc470c1ba4a20cf393030752682c7c76b4e1f6942a683ebebf2b812ffdf710ff14b683f2f0fe9173d70e03b9b334861979b7389170aef26c2cd355a5298b28c1cd6854f34b61666487eec9034fb6d062823d8019e985eb82ad6355f34a526417e649ab547b13b89de18f4d0d032684ade4bb65098556b1c521799bc62a912d68a81b44dcf62875751f0f92297d0219ffff034eaf55ed1668939a04756a7388ecf26a6c15c0b141f1f688419822afe18c7dd60300089af8f01ef768891cacfb5374d1bb3678e9e9aa62b57ecf64423207692c8303805b451a6905ee41e122024c18db25572662e74f4321869cffca947f640f703f03a325cf77167fb50fabeb5de0db20eea746a87385cc84f7a01e9d099626a2a9cf03d77aa11f88f906699e31df5165c289ca336ecd1460437c8675363966be7dc59e039ce71bc8034db219d5a795df2e2525d5b4e8c99b8238eb787e4b9dc01c1458dc036b94b1f79a2e5bc77feffa486d9979f47994cfee33078d7e0ae744b6f68f9d7703a40269adab699bf10009a1550e0bcc7a38c891b18bfb438ce0b1fa665cd270fd03b1477d7cd00459ea781f172fdef738f7a22b23103519a1d64cd6a7ddbad4ce560378371a75ce5140f700f2e8d033c4092353a87cbc2fad0d449b512c0cfa446e27030bba0aa90a54706e6c3933da37cd01c93e01f6f93559bf4eb0a68f7a7b97a3bc0219ffff03331d1fa83d38fc99d5e72ec06ebf4cbd2670e72de86f7abca0af6a3e7df34e1403d2e6ae318a33cea30496e62fca905a4dd0862569236053280a7c717733c7c50e03fe437a37f3fd9ef6eec8164dba35ce61d2b3707445c2b84e5625d8f43ea9880d03c2c9c0e2162087ea6ab5758aec2d777225444fc8c0a64eb4305d6a6b530dfcfb03b45ce69228e42b91dfc8a46b5a91c58dac5a733741c00bfda767ce82dd5af12e03b95e5e85791fc6d3be68a92dfdc725c34c9fbabb38559f97782d8609ce995a5c0219ffff03d833c729014d3607841b0c350b9b707a2ba3ffcce3335d644d664b887eff8eef0325e3c15849cdf189daaea47a8a58504c2ce0b9a98a7e271a130c35af4e308d530356e4617bdd9b2459a331269f550c5bd4bb1dd7338eef1997c6bfa2adfd5fffe203d89850282ed9f06e1ce740c3d2d309e6094258ef78023f6e36b9b6b5df18a605033cb11592f50291da028229acd6b3fd0c73a4db070f61e43d56cdc6f404cbc39e035432ef0982092fb408e8ee482e28866a8eef666d125734d9849a63aef72688430364a6f36cf8cf02b5ab925037871f508542cd6d456adf7a4ff133d822d7776c9c03d16ee78c8a88e519d0a9d259f85171cbc0c02849c73ac241551363bca6c98b130389f98e1d2ff94f8fb5515dd23cc7e87e23dd6cb11c900dda7d5a31cc6e47d0dc03d26b15edac5a1a455727559361ba4a9a169a3acc6fc8bb404a6eff5ad87db83603094a91bb32650e3ca1c5ebd185a3e38e3a927f88111130b3f9f5d4c81c83fed003cd5fd3ced34f422bf9a411c3ac936fda3a1f7b5a7087a0cd1e3eaad30d668e270397f1fc83121d2d34e4f6fc46f577f336e55e852c31dcecd1f874445ed9cc33cf03780d3bd8b1d6cd14fee1e28af7c59c9669fb6093e163f2eee4c57ccbfdbbeac8038214a58ab25197cfad4f02664009165198c103d570f5e3b1661f701e8d9bbd7a03ab738f5028e5cf05589eaa5ec19912df1feb9b5ec73cb17308a45d03f769eb71037377f00f78c1d9379cd518b7821c181913e877b4cfbced24ac0298340a781c1d03b3d3f50971471b579f946767acb533c3e75ce386997f1d4577a41752700cb5ba03d35e46b2960db0b9bb166e45c86871ef54e2950bf5d7303c5c2e2ae2a76cf46f030d517f4ef2095af1b5ca8438b1bdc1309b8be132b18044ec15d48b4c638e1bb1032b463d1a4a757798505ad3f383dc108a401e0a1e41f3a5f831e61f0df1a100ac0324c7a70ac9dce8aa0cae5f5b6852170ef3dc4457850ac96ce12eeb08853bd67b03191e5a7a3e180bcf4b12341773bbbe64c40c72136122faed2228ebfba3182d4a03bc6162f0a4f667e695e84f89b7db4a0ec609ab6035e74854959f74f5994f95cb03e7cf1f654556215ec560852a4e2281a6155be3560af60a7c18512837da35f678036e4ddcad785aed3b9bdafc2816f9154d0f3747a24cd183d7b785e1836675349203dc5504ca827b1d7bcaf3f56336332197a7b7b7675b1508c156ba2a8b35962ea703a43f06880551d312ebc591d6f3434e38aeefd3ae3592a0211ab04ee4293e1169033759ebfda4b26a548c3709c37078bc07b37e1468bfeff8fbd0602eac0affdee90349e0944dee07b82d2da3e0f680b4905231d437d15831c611243af2e08a823979031c2014b5bee60f7b12a198d73496af904b6e7ea8143528c8f8358137be0c988205581e03e33a7a00678910e18e52980a60c263a7f2662a91c64ed5ab3a67cbc700040105581e0345f1fc2a5fd449902f70ab1f1f47577850e100f2d0e2d88ff4362089f00c01470188102b0f7c0005581e03971363717fc6112409b97f217e9d950693b2a9093cf5b54a9afb987430040105581e035e02b25cb8c34961983196d193876f2af067a85533d76cfb88496ef6a00c0147052669dcb7ae0005581e031225b641631bd26d26f5eb67f3156bf537f5626f62ba38b4ac92f036900c0246449e8788578805581e03528cc9d3f4b353767c866d07ef225d5c00951d55d38004044499e98270040105581e034395826e728d53b4e21516858143e57fead6acd3076d3c81e1be476a90040403d4892551647b70a0015c83406c1d20647f7b355daff74580a0d96a6669c4d82f05581e036fe4aef4d90f37ac3f9b086ca786274845a75ba8a96ca9063fe0ad73f0040305581e035e7f63b7d81ca5ae7e279c2f933b06485d264d842c4040f2f822b4638004020359e0e7572e4465e0e20ddd86708e5711470f803af51be1b8c904590dc4ab3a4805581d02516db3df765138bfe4d798f07ff679d455ff8188a06a88e670c2ceab0c0f47ca48b368258abc0459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c634300081000330340e3e47abb27142536c7956f16615aa7ee1f7c5aa148d2b3f67cf9567392ab380395c0c768b028c2e8d0feb3a3808ad29cbb1c27584b6303c9d2cb8fe8b64adda5031cae39131373bf9ee4e9a539868e73d5ac320d716e9c8c73fc3e70847f66b8510317b1b84013cc921cd783bdafbfeeb3b19567432f0bcc6a18cfe1a906c621bcef03a370170e11a6199fef5009a8170699fab36229017119c0551a1ae13102a26a0a0348557d64da9103873cb7e0ad7cbf6baf6b8ed2fea1e80dd64af84b6b4282fee6031398f295289bbb8090946f6c2f5d6e01fe087fc511d12979432fbd8fb6d07e3603c5f45a56723dca2ca6a1634066e77ca1f41a9d2542e7643879d99eb05ab579b30382f444f59ead304b72bbb2f2af7a842f3744396dd69a17aefcf976784c52ae8603d388da022a3974c1e5db3f20638c29956930029f31d93dab08f7085aff63221e03447b46c215808c01b602ecd54c43dcf84dc5ea59c3fd52de939f2ec5d02cffef03a2a3edd4757e8ca34770e6787d29372405fd26eb2788a3c1dadf614478788fa103cd52c0b877450a623e32487e93e3d742e64c38d7e492336786dfaf93944360cc0391c5010aeb0677fb98d869b13aa616fce17b6302ac7c0e10c53df332019dd30800581e023a2720f3b2fc92365a226abfde3fb09fadd61ecab05200b0b49c6d93b45820250922d4e4d08359f65081a17261b6d4f47f9fcf40a6c777e39c6828de33d99c00581e02b6d8de1b09a6a0ad11dfd3df69181026eb1bd8359fe7a5ffef4565461258206174717637e55284071a83ec32b7dcb26da4b4361b3fd8230c0231ef012808e8020c00581f03734488e83cab3302782e36fc62267fd0633e1564b17f3545ce758a1b0ae0582001a0f53eddac46723e25a7fffe03cfefa893803d9911af6281c20c3f0e82e3300397ef4a71721cf1f9e3fe402ced7145af4fada93a2b862e69550c7e42e90d0c5200581f03fa855abd30423b0ecca001df6be3b96483cd7f386ed8351ec3b40bf3cc205820229adda25a3eb80db0afcd467a0e9bf71667a69b37a02f818ee420b911f745f000581f037ac6f15bac4ab998ec7ac921eff9d0eabd979db95c2f713bb06f8ca2cca05820997f9d2f89c835587e6009a97bb49859f2b50420d9afc2e099e652025ef87cf100581f03c0e758b4e475095d3161a1d8b57f3388815ab6349dcc791643f49f67d4805820e3a5def951fdb51b4a41f926f3f13ee6b6bb7d54913e4371581233b7a7d09dde00581f03a4280d6537f87e5e444346a52901da736edeefcf6e944247a1f926bf737058202fcd2196fc221c05cb17c4e28e31c9b95d97eeb6d6a5a41cd21859cebeea25c200581f03099f80beead4ad3fd13767714b83f0f84077b13b7267f9105b5da5896e7058200b51cf9d641cb707863991818e488f1222f8a90c2f5bbad9f2c67c1bdbbdad60037bcbadf95145367eb1c8d53f1c520a4ec825fc3ec4dbb5f58cd94450a6d8a06200581f0357773b552b78c70fc544380e42227cb1f4bca77726ce057d54904c5dcae0582060c49d3c41b6ac54ed9331e00fcef479010087247eed14c61f7e783d03a5e57d0219abe603a90610c9e548682e4f76bff34459669177920974e654c59eddd002c49e30f1a103212b6d8f77452256ef7a5c50a61db05d53b8c27efe5ae421318e700a336dca9903014fa4ad7a09a41aa6220766b1e488ca27dda2d11798e651bb96d81599d3b60403cc130fffcbc409d3d3c3ddefe24a510773fb0806ea51e3a48381fbae79df3e8a0338d19bfc2bdaf618eb8f85fe9352001ae5644a1a21ff120d06c9d576b89921610345f9d602161013ffc846c14bc91d8c8732165c5bb88116340c612ab4f7142c44036359e5bff2d4b077afa89e6731953d9a36bb451fe6879e26383d7de8c0f7f1a303081996f77ccacec418982f2cfe8944df93558622268af21ab23a5b57f76a39af03ef701a7058076f2294d5045348cd8f549b07716203bc452c03dbbfe84edf3ada0347b9375e1bd2f0e0abdf5bf66528d30c41396e33a573ef8dbd12acc9f2ba5d7903c9e9dd8799077a2a329661391d270f20f6ef523b9622e4f87135aa439f4a6aba03a20483815be1c98859ffe84a4628b10d7c2b024955707bc8e19699f804d1c6fa035e3b416c3aa27b4e607be4004e935eca8d1dfe3318b6bd0996ffef74a5fed9740219ffff03ac7c8ffb809ae54abe4b2a94250290888bbe10d59b8aabe1115a90aa26fc800603ea1d070a8b41490578d81d1dba822a1cd22946ee5ba1da7046d444cdc6bc05c203f0a964b53de4f5536dc395df7d2c0315a6b4233dd10d23e6cbe26c222986278803b1c84c518af46e15c022e21d668fa1fc99bfb5a7ca9e160e4d1afd9115de23910317cf9615ab7a8b00ec3d050a0b7958e06ab2ff939ad1863d93f6ac6ad9e54aed0340d9950a0dc8c5d5b273fd2924130474e3b7253ea0e0f601da4c0d57113e8d0e0219ffff03298ab5d4d1026bb8013cf276cf24edf64fb03a3192a2003eb56e604bce34c5a8030e5b2ed3ea788fb9047f39fd2fdf592270024c1352cba928617edfc697f67957037d5f8859931be7b72ccc7d2d8b071ab6454c9f16c0a5342469ea000b34c78a55030d362fc4dfeb46bef20776e839149956ccddc9b1748ae529d5890e10a9806989036e0cd49adcbb31b7dd45282fc5868b1e8fdd90e35c8f3184226d9c30693abec403dc89a1c22716f7ac7eea1dea251bf970d877dc8655f77062b32dae3d328d909c038ceab0de01c1cff13d50cbde0007256e05bac4cb985cb25e649b0190c767dda203e6d61488b7cd390dc1d04473acd2c7e36fbfbae651c6fe45ab046d9eedbac1b50330c82cefea6a64276d5a91bc28564dc7d061e585f4dee8e464534d9fef05031c030c41efd3f88ca72e58450d2c3b8ac71443a8f5b03415a427bb06a41fb60b368c039f673e770ba5298a29de1f791a19bdd906bf26cb6fbb14854930bd99df7121f4035bc9c6ef53cb279e251db777e96a8601710e83176ccbd754eccd51866eeca4fa03f1923ea7c65668e854780c445c3d410ca56f85e54a17ea106e7ae25de1c9532e03878aaa4650e3d56b9737fb4392defdda3a732884a22e2a6c829dbc07b130f5430352b0e41487c8975d7c5c3e932af428f7fac3eca807274c2aeb153a48b0099bd40389cb8924a9c0b659c217e971c29b76e7cc7042bf7bb341617881e6d8750d56bb0302f269cbabff5042d120e130f63f060bcc26e6030d1f95d25849e476fbd32aeb03c5911e749841ce840cec1db4a1429dd6f8902405c25f270891b47f6fdf4a9ffa03822ecf9c6d36ffb348cd96dc8929dc705bfca381e250b9c09b8f905d879540a5030a46c6b16517b2421db1c53778afbd5f08a64368949ecee4ed5100af437c2a2a03a507d57e2054107f639def7488e415ecadaf01a6c68a1e1042fe0be304166c79032c78051e1d6638fddf8511671072988e4fbcb44d00fba24a0b5f4067ce1fcc6e03fda3b0d8e620eb4dcc606362743683c077b6b70c91f0d678b8aa9804bfdbe60b03f219e0afa40b573f780ee5053efc91cb85f21ddba54b9c22a0814a01e0dd4b5203abde82af18487f09e5de343ab27ebad032883c69a2d88b41529ca927094517d903bf463eb4047c130b66ad6866cb750579c91172f182991888107cb8ddae1af8fc0368c31c6b3e85215748b4bf5dea2c5c40537d03ecd568946b77fc65b2f8d41fbf0322523da56ca61a710345717895807fe92ca85b1ec5cac8f379dd5a81f4fda53903dac49755d089543cccd956765db7126583369fa64ee8a27c474bd19989ec98ff0389303fd4dd5cb4ba1877c36fdb710babb2cfca35fae18e4a81f2331cb2db4a11037ab9d1bf4cedbb823cd9a416e81cf3e7a1490dd722e4e3313ca261880ff0e0f0038576cabc8686c9dec174428155c758c0e212e2b61d291c21dfb06d899645982100581f034ffc7496324ac301d574fefd5a5d1de6a75e6beb377b52633390ab5e126058201a3c6f914df3036fe4d8511689a7d3a4c59f1ad6c3669336a3e1f2f1b018abd0034d12e061058cfd4468c665edd258dc58373174d720701d6fc83d5294fa84f1a803990ea4b5c9065424e504d00c642b4862e5842c16792c1810872ec46b715aaa63014101034c261d679e4108e51cd2fa62485fba164c7ae7c0ea5eec6497027d890b869f7000581f03b7678c43db4cc2c1e991c9ac3a49ecbcc763a2b91b26cef26cfda26d54d0582026c671a8290742776e5a8e68f92b77e258baefcbb024d48e0eb29b5a6468725603e12ed6106388a254623d5c65f060feb7994b35e9a73ca5888cdbdb5ca3892f920219e48e0370810f2a19f475fc27d7a26777328d5bc800a2862ed7527a44362ac9769d585e03b33523e4a2a462b8bf2c9f84b805c9be77a6f58a744657036d876131c58a3323033abe5148f08e2ca90ad6ba39272f39e0ce1638279015fdcd7011cc594749acc70219ffff0348d7a3d648482b7556dfdbefef75b72a5f5a4f80f632e7cbe1a54b419b6cf92b0219ffff030e031a8948a4f061fa0c58e2b747142089795ce216dcaa910270c738f70739e3035f00035ed0b33f2bfde1c38d521d8f34c47e5d3923b4b7985a88f963594699ec035c99b67302d387b37c467fbc7068dc6990bdeda5da9dc394c65c07b63f8098df0352e6e1d4d41da1a33e14efd4824d74e497c91e2fbe07ddd04eaf1645204fe73603c4795839849accda82cdb462078be96b8bdf127efe04040609431357027533e3035d4b7644331002ab612583c1e85c21ba5244cf8ad201301ca15b88d4c2c89c2e0396cce51f7c1445960cb276967ed63dcbb13618b040b0fb5c2e965d82d824995503c99b7fd72d44557d2f68591318d845bf5cd08623a8db0b81d95bbfd1098923ee0219ffff03bf1cebba8f97a171ec0a688800b6b023f7d6703ab6ed8c0a196249458065a6f803608c225a9ccbb0cdb6c95abf73646a7bde4bb0d0eb7a1dffa3a4d3b62fb8141e03172d19405cf6d03a113b09b5e600aa4519d28518b857ffb34a2fc141d3bdddf2030dcc0d9f775fe8abf2728ebea44a5d90142adfecb32651f5df4c3e34a36db63403a09a71ba6cbfb4643d1db4f37662204c12c60201f4b46b86ab4fec60bb8fb45203526bfbb792d69e768d6401bdb0ea2e808a6866986f58bc32acb3f93ba8ae1132034913438caccd06c5babfe53d1464774d2a56b42e04e6a44b997c2dd7cc1432a303f079288e95d0d27e98475e2e25dad3e104d7c055af1dc94491a2425fa5511c87037e3e33383d95419c8e45376993342d76a395c4812edd71c634e6d2349c72815903c8a00b87f08770cadb1a57225d1225baf542301ccafb7efeb95618f885a9c96f03775d64aa085f832e1b3a51682a531c2e881c4fc9e9707d3848048afd45e1ebbd03c029614b47f753847700dfe54336e0c81986c4ce314d1fcaee5402ee71927a7203dd2d5948f9137ec3ca9e76e053b3c1a7da2e2a3549dad0f3b8c8c4e80759a3f303a7d1468ffa5ef3962b37f76d86424589a6529f0c2ec153b77da8d1d550dc8e02032559dcfb7cafbd90fc56fad8a82d0c7160a677a5d760cc9def1ab1a51dedfcc303537e4b968268c4ca5077968c775258a814902c0113c2083d8ed67875815ebb2a03bf142c66a97818f780ba6da071484cb2f4bdf7ca9248b8b05a5af28c1ffab96203db1daadac316b09f4fe6754450e1198c6aba2be2cc549e9c20f9988aae6d3d1f03cffa2f0a59321c5519f9b7bf936b8d482a413b390e76f8a4f4ab27d4f882989f037455ff85b8fd466495f9a699d24ef3713a7393ee2c742923d21d524cb42141aa034d643bb2ab006d32e340b2bc83279264b6b673e04b3d4614d5d9cdd71d58182a03bd36828c6b75d0b61f050868dbfca3245111763362decbe02ec803ea8f51130c0371930701ce91e778a66d89a70063dd1f392b48e087d898897c9c98ea6af5cd3703fb13bd1531e1673288051933c4b6c9c6163f98fda86d9bd1a87c739a004a789e0332f4bd3a2fd612f40dac3905d5e88f3f05d5a338fec4a87e86dfabee29049b610326a37cb785aa7d3ce1420d8aa2566f1cedabcba4a7ef85ee0aada8ecb4ebe2db033239f393850ae2b04a71ec431489ab24585f195db4041ce2df4090cebdbd675403849027289c130e0026103d2091dec999222080f624ec83a46accc0399e06b4e703ce1ed41c622b2696a067dd6645a02a3c806bb4c6c73e78d9481ff3f1a66d7cba038848e06d3bfd10e10396b66b9d880392e2b2d6ca7277a38ccc1f54999275e73d037d04bdaf258f6b495589284dc063906697cbcbc2b29c01edbc5053b7ad08c5870384a589463c6572ab1c8c17be63bf32cf96933c9e2e73eb493003215ce1d39b9003161caa98c272e9f9a825f9ebd5dd5f7b5e753d80554b29a973d4377bbb1b064f0340d62cbface861163341ea004fc9c6e2c7cca92a8382f718441758be54d7104103f3d40110a1f63e1508ac1ab37508ac01adbf95c769b0e08278abd55965c9cc8200581f03ec390b19837c998fe5106a1e2985db76d15c3d58bfa8d94288a2f4d19c305820218fb805ed664fa873760635dc7919340e6117414de23f875001a30f9a7d07ec00581f031bc7c36429bd0325b9a18b3d260214cd6c130fc930b4b85ba5ede67c08e058201f6c9559224e0513164b36e0e8f9ea38fca739bd58d7b67fdda0f8a6f783c712037f82d0dd5528777d25f027fe12a0c9f1a13c0f39d00728b520e406ca1620b71d03341ca12296cf284fa2253b75551561ee2b72d2d5c2dcf3f8949e199bc593d57b00581f034222730161fb6a08dc6249bc73df75c613944a9785651eda558318484f9058206f898e490fb56fd4df53f10302ffc31299ef2320695e2d53e07d0d561cf057880394a263e0ea74ca59f054a4066e35bf1f699c3b07b998c7d33780b483968ac6bc00581f03df4285213de53b913cbd4753e7131c340ecde701c7f691070576b7156ef0582001238bf0e3bc541a4551926c11050a7b9a2867c257724f2d964ae1716e982d2f00581f033803d15699fc6626f18bb93ee42728fa094d716ae8aec0c79648ffb084705820912ee8e278362b5a0b5fd2c7c1c2a87a7e2062becb113cb8a1f3b7c34d877b7200581f031395367433794ddbbc592ed291efa53cddc390dadcea418853eab5650910582001d63509cc70c61cd4d79263ca7ba4d6769c0f000a22ccdfe00ccff1fafbbda60219a3ec0377b751bc15e42ccbf7c61a60f2a590f1a0aa3fece8ad5ccce5569490124c5fd70312a9f571e6252083215a999a6951142304bc17a2393185502b6a578dbfd475b503ff4ead20a8ba8da9e719796719a9265b63866b4f698cd80b3ce2037a417c0e08037e6145c8f65a0cabefc160cfe0a677ebe4842c823c312585f47f1c2647beda640219ffff03437be0ebca7c273665560afad1c46e65f8d333e160c7f0150512c7e9b50a5a0f0219ffff037cd187a12f42df41a4f5109d1efc8ea6f64b0709ddd3cf4b823665cfa971af7003ea3dc45014b8ef1383ee27e491e12bb776c30a6857def780e0ffd6369bbab4d303f5edaf33a780ea6a390dfacef5efda9be8e4c5eb3afeb75acf47f148db091ea40394db952ee3ce21bb30310bcae3dc809d534ad2c590444b7b480f67665c02df1703a3c3eb4b596d570ed5a4cf249af6f57fbf8c33c9a96e730ad2c737e9c6a70c7e034d0a4c3947874187d80497efb8016c4c911fad4cb4cce85480ccf857a898fcd90219ffff03c99c3dfc6b5ca0772de6c78236df20bb12070663249f91fe29ec9a1fdb1527f003a0e8ff48ce2a89214add47ff427e2817518b516cd8d64cdb6c648516489da51c039e8a47a3e479886301daae2166aaefd7327327211bc99adac073419975ac860703c86a48d7a6a1174dcb36d4437ffec2712005c3b4b7feb735788dbef84f1d682d0398d40fdf065b69057c6ba97e7869bfe458603f8183f325e7a5db8d57614e332f039fd1c13519619077d8af30aca6f55f8adf413c1b3bff56128e5f7aa38faf6d7103d43481f5a456edfb64811d46c7c7cdee83773d0936a17450d3a730e34a0a109a035afe87f0e35eeba1bab7f511bd44fd2c26b3d1b8c94423709b864f640ab2b322039679b637c6c38d5553f0195081ac090362c85741a29114946c72f6d32085b53e0359bf9f5f853b51faaa0bb445a7abeb0335cba5bc7475c2be41d60516b25f7d350353923839f4c32b3ca61a6b8def9cc5b3b618bfed508da3cbfd0b2881e7a56e27031c2439967c20eef5295e9e2872fbd226e0814ea0b170a973d48f1d9ca7b96b5303e8c19eaa3af49d53dbe4fd6bc7553b748cc2d328e467fa98589d9dee8a77fe41032239a4b2314d9ad3a6ea2f5738028ab3f28e7178e5142c674e2f04e8043c82ac03e998c07d591a139242aa2b4f721483e89964c15d410f6117a3bcd81a2ac4fc2d037356795863364bebe795c794c3c324dec3ff8ce2f838129906e3af9b4c9d5ae6033e2c3c269a83ad9316a98ab9cdfb7d92896a692e4070f2c3f60e83ac2a15aa0803b928cec4dfb614a8be0496842ee7e8e40391ec20e785535c00867e95af1b707103f1d13d7f6891ac7d54865021fbe7ec5b6d463fd3bc00bf59186773a05337d6c503b4e72c8ae40c369b3dd7d497736bc1affc986f4c973987923109468f1dd534bd0390d97db70a825c9c5fadae1b9944de26c746d445de29eac9bbc8563af52f8af103bfaef90cacc184e86f0d7e4d5d7c65c1a9206fa28b0048e36c1fd707d29d7525035745daf38c5d9761c234b8272e5f909b893aab7cc3cafb15b16ae3ff8b3a89a4033e7acd6fb0f2dda094963b575e8ed375e937c6320783e4714869298a99a6baa903ed9a93c2d8d23f4fdae838955e1648e44f21af6a23df756368f26920075374cf03a730b61dc669714f3628e969e3fefc0de3f920095c03e9e0454ba4e04a63bbf803b31b5aa682109d68605dcedf3029d04a00c901ea43ea1e38fcc5eb58b99971a503b6f402d1ddca413081e02293192183bcc954cb5caa5d61d9506ceb68bd3e6a9a03e08ad2b658bad7b913c0f85b7b814b4b25cc337f5710cd710d0afb9e5f40a839034876e4c67e8c95ec4e6b5bd65de7355b6064bb9f3bf8009a23a4deb15a6f9d630322c345b881e0374cba4c383aaaf5bc0a3feb26f85e572e29390d97b2f883813a00581e025503821789a4b4ea6be72d82ec149adfcf5211381e1bd6695e086bdc9a58201dc65993a6fee48ae044739bdf0f14a597449f83a827a1a21a1c5294be899d6100581e0301e2fa3c8b0594fc66bc2b44274f26aee712ba42906dc982fe30a808c05820821ab97758fe1e48b5a51c9bc4d645c3d9b3da2b19aa5c33b387b0cd6a58cc3000581e03f5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054eb803eb3f501998126bf37bb823646ed3d59d0720219200200581e02922cfb52d260f1447d7df9b7b3efd80d892215bcc50d2d68e256905fb358208a1da9cdaa65668c5bde0d47e66a386b33568e50d298f12405420c36dae6af7402191c0000581f03ebcea01c852312b942e2e6cf4973cebbd43cd0e3e6701257332bcb1965b05820b555f8e3328ef86d9ac43b6107aa23b90666756b3e07a978f639ce89aa8cd848031796a64b2213b06e3cccd6480434b1a40c413e57ba9df47f09913e7e2a62967500581f036906c81e6d41c0ac3ada7f6033ab1a55f361d28c538d79b30c1d24d1c47058209ace9f9fe81aaa0ddcd94ee6ea1c1293ca79e3de25b465eb878adb897463f27000581f035675cfe6991a092512be1c1c6c810863c7c31efca321ebecc61ca0b75be0582022acfad8d287a5bed63701553b6886d875a25a22b85969b96f0d9f5fd1657a6600581f03b07ebcd8ea2660148ccc56f624aba2469985dc00b753006f185572170b005820070e440ce06506dc5afc37454920ec5b597142bfc26773cd78ab78984aa933c103f2c717394cd321934f829f8b539c0b505625a6a77b6a9b267dd04277edc6e73800581f03883e4e44a3e3e8cff1f386347f85c052b070a0d81f2741d4a152356b0ab05820f8abe9ed78a36aa5e3ec1ba7942cde4b8a26ab8b15a974e322763c5f9f1a072c02191d650219ffff0380f7dfefa5f848cdc090ca4c80f3d6e306f4a53d897f6f137564aa420535124f03c097dfa20ae1a33d2cbbfc54b6b116f0b2f4ec556440f16f662dad10cd2d763a0219ffff0371d90cf1a2bbd297446565523ae5bad774d9de789c330899d4310ce19a54b63b0309a491b0f7554765e823b73e68bafb2a73dd140b4957af9a76b8a2d34840134c031c4a09a2b0be2ada8d6fa1a830ecf167c662f609655d209562bcdf871ba557e10392f92d94333f9e30bf1d8c6688e3fc67b7dcc03059bed334d9478e54166550dd039f8d54bb8609921254319398c6eb6bd38e7af43e1daf3433b18a34710bd6f738036ce766eae8733770ee5e87d6230ec45eb2488a301ee8f7e7c6b9188e1932bcb303d283f94fbd874480de7f10020d67cc13cfff1c4e595e7018ff01026e5a8d7e990317f6140ad320196d807c06f6586136f0f28b652e96fbda70ec662e3c7200904903d6c498693481e7755b3229d2d7b914ffbe9dba8a3309a546adbb1c56e8b11f58037084b61bc8dc1a808a3a5e8eabf545c6fa19949add9e08808e35bf7f912ba6ab035e63abc046855c62919328904e0e3a2c1a28ebaa61c4e2f278facc8f516a364c034e519e9876ccc7fba963840e13f4dc29400cddd23a093ae21ee644c9e27b2b91031a8cdd6d37daaa89f6b32f760a10e4bf57cab2ff23ea53b35214c93e9f961e450219ffff0311d22facc704b01391e0c3d2bf4ab4740d0490944bc15d7da4242048bbcf364f030737fcb4b8fd48221a5c858fbc21ae32ae474c532f047dc791c9c5b6385962a70305de08109bf99ffd8db286b64e335dcd3db4e64b1fc97123e52d9125fb01207403afd0e4420390abb0d936b7bdaedb7024417544203c32f2c1759e1386be70bc4d0348b4d64754ab3f3b2ed52f9e900ca702e212ec0c7e812c32ac2a973e75347eb4038c417b3ab4f8c01ef9cc48b3d39996abbf4f78fd167b2bab3198c73e0ec72f76032d54583bd83a727cdee870ae3332ec7e2d4417ec7bacc49841d35f60a019d1360353fe0b52e424b3888ea6d0ce85a7e9b658069dc620bf48e9b012de80aeb2672e039471fe8a30188f34e724d227e03066ac3d025c7151b937a2735136b2caa579f6034d1a861fa61cc59cc59827351abd35d12a1572a8583021282dd9f9982417a8b20328ce3e46480c90c1c903aac92d40db0ea22be3242cd8606a390f17cfd8105f2603ade0febaa9def9667d54cf838568d6795a2c7b19971d9150098da00498e4d125031b5e000c3dc5146fdb392fd83dddecdd3c876f53b9c756d0324360fa59859ba003bc568eec64bc20d9e1b0b85d4abb0d22ca3e69b401bead557af12b4cacb9a90303decb21ffc25ca93823baa4e02e4607919d0aa895c5761e9d2767a45a2675f1150390154559dc056ad20a794880c50b87f5287bae1978597ffc5fc82b4347d13184036c7d5ed0b1c787c621ccbde645ce45cee3365b3832bfde7bb269d1c6a91ae2af034e351549e0b4485cacdd19e4202c8ec3439aa43271d703e9f44d2458a4aae7b70389af35e2ff133ffebbf793e3ac1ffa30521fb7c5e99851c3ff071a5446e7fef600581e0289c247e4a6c6db8908d2d3e066908d733d1b109ba74b33575ccebd1d1e5820e2719204aa91cc3afe0961947773e6336f8809b74e927e183d2a395aafd9f8c100581e02ef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d544f250b05262240c787a1ee222687c6ec395c628a0219600000581f037b98eda070a65193faa056b4ae2aab3e19145201a590803b17aca532084058204b28548c403eb51468b8b653953b35d0d5ba387134039cc8ba9d473d50274c6800581f03960f3101a2b3eef11c03a0bd12024d756e808cf194a3fccf83d1982e3b4058201cddded955e170c4d2cdd717f5dae1ef4b2a52cd89896b5814840d56abc44ff80355873caa39ea78ad5848cb49eb39503d46131832ec0d8f899db421747c61abb900581f039e4f85ef84ffac199793e4a143ba63534a41ff8a66e93750054eb3a3dc7058202c87d8429cff6cdcdf94e55c7d5ac0bd836690c383d13a5b686eca029505e0e500581f03d3085e5fbe9feea16584b41b8a91013594a6cf5857c3b886f75b7517727058208bb021f6848188bdf36e351d145755d40b46650b31afdd6e0019bba128d4430400581f03746dae14860b53c69b92d031f7d001db5b281596caa473f4f1caf5e7c40058206a66d06be79f53f6035f8ab1c73905f7f82ad0f2cb4d07fa11d265130c2b2fbe03572b2c4ae17467e830e4bc97ad09f1f59f590b2375333e35435e957e3ccecc3203f073b8a2d73355fb3b8a5a6f95c025d7a5f2d853cd6517b228982744eef1522d03784735ff31e4dcb41bb572ea019d64600c059351db3ed0578286b8ed88d3f45900581f033c9daf5a6f227b0c4f45f4ca820219b0960d241808a8337c89b70229c2f05820ac1c8dbcb1f893da6b3e453221cd6ffab8eba9b5d4fcbbb828810c8b3945036802197bf10364c5c2161c2bdeba0390fed77e42c9b119f7cecd1681ab1c716fa7cb0ceb61cb03e7c495350915a5624a5024282aa0c4dae047ab2e33b5d914e7978f9ae66e8ead03d5dad770d9b92e464ab1ccd1fcacafe96e85d8f0be55159f2033d0766049749e03a41eaf46c348d782497fc1276a64fd6f9705a7a7e9fa944dc625efad2f76291a033ef165e765dccb72c2129f53dc40e341d17fa8ccea2a6e78996cee8728a409610374caf365a02129f548c744e744c5532b0c59ad7b076056a5f3b0cec6fc4f3f0503df9926570bf857156808e4959904f43d9b4242cba511274016fc802549cb771103d9e0803e37fa1f9f1e68d563b696f16aa77e1f5924d7421bb238a89b1f1d0895035e70db4cabd2f609e6726ee061bafd0f1aee37f1404665d23ba12c9191ed9177034118aa44d33817ee88dbe4fe9873a1a4aefd04050835131e77ac23ba662d568403851b243a763a1280408de1abed06b934591beeb5d8bc444e694f17e2e0cc24bf03f63e5357f912aa2cec85151acc0c85befa9d118f39907579619fb955d4f00e4203844e5fc09650ca0ca5a6b1f7fd9bacc76fe3e4a4b284e1407d508a2bf5e26f750219ffff033518e147c74673c9ae3c47570e41419f73493721f0af42d0cebcd96c4a66f6ab03047a1af67c61309259e4c7031895c9002bff844dce64bf33eb786feb2d90828503877fd6cc08a0bb48defbd3d6948d468de3a08c5455c77b93d2686f539d9c078f03dbe69937b1ecddcf4ba83f0c089d1651d7ed97892c8b9725139e3edc74ba6d650219ffff03420d9c9361522fa0acfc7dd75a2b84b3095958dca9f06f8896968b81311bc3fb033cf2125248dbf30cc519e05a5daa36d5a4356fde6ef1ca8a44476d79d18a4644030ba41872fcf1257888441bd4aa23abafd444c6ec90628fc76cc2493d29aebbf003b39cfad71e7f1ef4a7a755d6df9fd54792f6910905378ffeb5d481433b53c9ea03f0fc513d6522aaca9470a6a4e0bd29a9decfad75a15ba6860b67cb2de3adab7403ab4bd1874b67bf578fc84f147f9ab7a535e9544801727cf4abb78aa47d328a4703024b9bd2b520a1cde9152e5b3a57841952279dc10da89d2604d77265edd775fe03e6a08b1df462ea27e22d280c4e3d4d790ad0c0c5aab98d9c0f6c3389733a1b0d03600132529dc501b3df1ce87e98d1e9bc129d73b0892e416ce4aa22952b85dadd03a838f6a6207fa15ecc56c233b46a7adcc2f6c930c6b155d731f3aaae5872debd0219ffff03f3b9c2055a821369b50af578575664c49d053766d0c76abff7c7505b17e313fd038026a4a00dd144bec27dc1458e25642dc149968c519e0f4dee79c31c72f5b36f038d1f62b361b4a80afee763ed4ee8db58034781e67674ce02d2ed37f5105deda803c1b0d6e3897b5b74b49c9c78e38f49c4e7b51f523cfed3a51b9f16829b01f09103b326e828f2745395e1181ed5392a64263ad61b6e60101f837afec49577cd323603dfd06a0f8aab64941e84939d85aa4123e6da6f98c38f03e631b48c2f90d72e54031750e99dec66e0f44cbbac3eba2467e0b765f03eeba1b8b40bae6466033d205603639d449cd2c94b6dae5af13a1e53741f1c69cc2526a8acf6ece73a18653a171803a91693911ac0d999022dafa800685e14087d34afefd1edf5558edf5a8f7f140203ab7db2b28b3f9974b2720f282eccf059d3dd812769e8f0a347e9e4dbed69cc3303e6e2db1174ce23637b8091415a2055282232e59acf69e5f5c1e0a3e9d5096c5d03d11029277697f20d18b9051f3c6321b26d35d7f83adb1dd00b86d86a6076436003a2bbb66fcaf363a1c46a11715095a0f404e6771d15307efad5e6d166ceeb7a1d03644eb53edaf4fb5ddda42f6470168612a3f716e3b9b940ae6ccfaae83efe8fe1039532a1bb33c2da0d3c40c7459323aac3f4f4ea4cd1dab89bb8ff4560fcb0f23203b35c2127cb7d8181f02ef0392351087d4caa981d7cdfd875c24944c711580979031a0575142a81b89dd90838f4ccad25a0a1b429e592741e8743e9f88fd9f8cbf303236558a870d10f058ca5b435e6b721562e26bcb68406151918fa76cbe57aae94036ece405e36e445011fcf6816f0ba2c05343d4796d6689184d93e141c685a9f9903733e68b205ccba195e411e15f38e6f122de4f959d2532ad24e214adeb5c226e503c91ced6be35601cc27a641987565fb99577d8bab2b835c3a245a209fa04b9f4903eb70464f21b1456e5899ea9ba9888347b0fd4c55f4e605430781b588c2a09f650375bd1874366094f6b42dcaf154556b355b58aa4d76bc4b4fd3ec62eba88e692d032455c41a18dbff38f44a9781ff2a02f62a70a29cdb35877d4818a21e51809a0f039b98d794fc7f55a9bc34d543cb18edbca8aaab415739a149f570450c8fd8444903835a3b08370efe451440a2fe3096dc000784eea0d613da3c6ce472b283bcaf1903d9cb30389a103cf18ff8178207161d0220691441f4ad66571140dd10d9db26fb03ed002f8488748d50f493a51b97305a3363c70fec39eb2c3efb9c0c22c30d9388038f669b411cc257f50503ec84bf03c9c506c8b2d6133aa51021c7744217bd4d50038b4dc3428627e056884f52af1abc5e56ba22d66212e379feb686942366140ef903b41bbd41c2b06117d9d8099e87e7477072f428568c62002bde153bb5224bd88f03d26b2088d0214cd27ce74cbf8e0b7079c86fd448f80fdad62eef31a3380b6f4f03ff4c783e8aeddc795225dfafdc5de3255bc823c4230914f0fcae7171d5b96689039679d638d7de7b611676278b5616f2fbe3c885c4224cbe0e1cd1c4ee107681a2034b6761dbe19b4c51a79577fce94d49ec6dacc7afd6319a0b69a7e30162d51dc40365fd15e66d3a5e4a1b123cf4ab23247242ae8e56e191653527aafa519a64b56c03b6c8adeef41f92eb4105599e1ae3908e220bd2095a4e01fe8fc7d3f921742d2203f28fc82ab887566eb9734f1289fffd9692cd80ba1d13190883705dbf10e5f48603e57d5d9a262943eed06477cf35c90ba69a65517265666845971f6d408687faef03739b51c11af23cef279c77695cdf7bbbea6eac52ab44cacb95402c6fd98c0a8e03a8f20a382d2373c2a5fe8f32c56107484231b4157dcf5125465570956b0f5bf000581f031dba70d0ef9fdb96d6f8f82b7cfdb880550dc99df1dde8d0d852769ff7a05820f357dd63b8563480590a8e5edbdb219ed799311df6e3b60ab683e198487abfb600581f03099e39e3833e50a261d41e4633209820204ff868180d22bb5e490d405840582039c38fde7df6ae5878665d787a40f5b572dc8d086a8766ed560b6d3a58e1d38500581f03fe72659ba9922ffc0d768922662b6a60c6717c913cfa8fd639b6402ae3405820072a2f9e7a4123e1204445a3850b2acd2f01815da08bf7b3d289a5ad3143fe6103b8456110d697ed27a310050d8112dc0fb55864cee094979c1e89d5f92e95f89200581f0392f3183c6061c71fa56f6f3327eba51500fd7b54b98be6152c7de98bdd005820c791b91896a5190a8e80109f3a692ab0567364179e5825876a0b07cf873df9f600581f03d090e646a0e80c3cbb2ae5239e2265316b14f834d42a852ed37bd42234f058209d26c9cb3c749f27b01ffc53168779e8d4e938d20a31bcdb7ad976d9414825fb03ca8e4877addbfaeb5b4947ea4c5174ad06877c0b630e16a927763322184cea2b00581f0318a47338f48018fd84743ed3e63fa7af81be2560ca06a86dda82f713e4105820205a0baf879cbc76362d49aec2cad604f45a9febaeb5304792e7df70c84ce3ec03248895abb4d35d3fadbede4925bcf70a21c694f778bcf92305d2d8fba8de732b0219f3ec0325709cd63fdc46e8d9450c95d26eda503bf19f3b7c3db68ee267d2d45dcbee270302dd607810a48923ac1224bba2c7377412f1f22d3ee8bb3daa0249e7e20c5ae303a76d40eb082eda563a9bcebe8ed7b7b0330fdef0becaf83c18a5d9ea1d7678f80327394717bbb110dd56f64065bd2c97a2196ac9935140522168751ddea3811da403690b624e8d78417dbb31cf7de1d45b9a6dd422023ad55d1e95d9e6cf590ceec50302961d836726b99473f5b99d2ccb5c4945e0eb609ea978b06f2d290c213d4c410219ffff0219ffff0219ffff03b0e60438a40a2596935f644eb4675761bb1b08dd32e1c0a83befe95b1f8f5a16039afc6c3ef24a118af0bdc021e37eb72d615497f7a4c06441ba21860eeaad25830364286503287026ac599cd0cd649792bd74ea8bda17e107cc00c415309c8d675b03887b4ae68c1fb23976085ba8a2161d4a7fa608512b234125426288db291bf74c0396ecf77f43f3848ad6866df71253c478e3f57714632eee1b040eb8edd9ff10a803faac8cb0330c95fecc7cfb7608bec3b7893a05a717ad998176c33cf2e57ded500313235d081480ec4f2baec525dfb41566ad7c3f5a9944809a9dec4bb55a842cb403ea5fa2785fdb0c29253a42f5c3a25cc6f4379614a721b8b17161b24ed2b6fa1e0306e14236d9e3aace75ca52e43ff4b8400a818cffa092ad68c3da0a84789c09290361fe62698eb79e5340e0e7d7a3abd22a5733fcb5a00c29b08e36e194148d4d89039238f022ddf8f332e86e5a07a7745848c250cfd4ed00c66de071bf375de7808b031c6170423c33c5b3eadae643ba24a4e008e4d52f6ee18898ef36411b4d20967303bd865099a10077c00a6b95301cf1c649e280863f905a37cb4335ad4b0d88987003cf8f6b4b194e18780fe6f56024d3efbb8e4eaadba4bfde87ff731add279d0a040324dc800e0960ef7aa0e96b577914f87ebfcf816aa5595653e92c3debccae63db030504ea94ecb4df158183e6cbff02e9cb0721c53a0178eb2c732b23533d3226e603bebdc5b8413d1736f32f73bb9f6e43519b5da3dcb0ee49051d80288378a76add0395a76c8f4a72e61f70c18396339a0a3bea58bc8bc7a375faa72ee0fa45b2a935038ddee3fc166a1e397628294947da67c1b96927d60dac9218e4482da44600b30703051c9b5632e2fca15aeecf5655dfa2f4809ff597fb0f06de4173f8ad5e24d0f703bae139176fb768413ca0f087381e9bed1294ec4552c2a304639cf42699f62599036ed6a178957516db76e6d2c6cc45c687644e60d546d8237a86295e1c86aa1b0e0363634c70368157b5bd610f07b826650475d2048d7bb8592511d75c86efd4581803345f0c27607ca1cc893f4e76e25e1f87ad152b066cf15e545e152ac2478ebb6903d473500ab40b64c2708d0e98d0ad701de2dd10946418dc27fc5249aee7e721ce03191677d0a9c8dec23fc815becad8cef9e23c6d46846e01affa7488f9c791720a03c95e1905ec73e5993952f30a5773641b0dee3c1abcc2fce9dfde4898eec169770360bc0453e9b34f139d2ca77a97b03602573d557e352e80280294170425ca7acc03c7b69f3eac17bf6da0ccb6fb4f7e3ad5e28bdfefa10a8116a09bc8caaf6d00cf0319792372d0ea10b15bfc4e02320d64f927325f97bfb76cfa72d583bed907060400581f030c6ad316ca2ab815722e691084368091c07bc6fc00888c9853f214acefb05820372f538f7522ac744d7655ac7a0a7e1bfaf28d78faa373fe4aa194e4d090eecd00581f0358c019b110259a2a5be75f943414d48f5e870221924a5da8d5c8ff5643805820211d81932d647a29b03e9480129bf37903fc20d7bb40a42372b03fc75baa033c00581f039071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c04304327e03c41b1f5ad3bba8d50f7b57a03e6114fc3a3e9567ab972bb2637ca6cccd43bd1d0219880d03665040da4b662198f50d2ae3323755e52418746a65766362b228e2054fa79ef803e8929de871598d46534310eb5c9888195e7c8b5584eb443b9c8d11402efbf91b036ec8c5767e5aeea03907f54bc14c0a12290d8dd93dfac2204c7294b5765caecd0319229defe444fe65919ea9c003dbaccd754671dc828d5014539bd19ca632faff0359ed982b333d521143eaa63fa71b8f8f82c9b1e2d906e865926ddbf16f5031810356f8f0b955a086015dd4fa197665156306e2bdfe2e1171fb0932031e24fb07c203b5fe3d227ca683fcef58b8cc961326129537d9823f7e0c4b4568065f3b2dc26b03ff50f94739469675d9bbf037f9b1dea685ad3f678d50a2b5415c2ed095dd8bb8036dd4a465883a175004e057e297d7459da12c61b1b8fd762fea385ce7a77e51960380876f3465eec3a08ceba4a6c08d2eb29fbb451d374a90515c0a37fe8fa703f50219ffff035d9ee395df51bbcf75e5d0f90f0b91b1de21bf406f3ebd05b8de5fe1f2641a9f030dd66898030e0cf84794a44948c98bdd0884464c01da353c55069a46a42e5b18039aec93623ac5473b5dc2f729c498e45180926d6e1a605a0410f52266e357fdf70331a7271d0bfcde29f6b3b7474363622e65d4dd333290a8ef9425c19120e8a0c603e36bbdcc5bd220e514feef5742725d42f0a8f29c0f9366701ea1a9dfc8cd676b039c8cad96ef5b7c86fb82b6aa5273b3cecb4dcb8330053f403efa706eecb7fc7c033a96e2871103966a8a9472752b0c06f64a2fd0c5b28a54d1756da7624d1785060219ffff0219ffff038fe6bd1736300ebfab6b761e5a09fb5d4e7ad3e9b7a3080f7e6e77aca6a120b20344cd44b1c7962acc5eda71c8c25f4db25712dabf2459fde6ea9929cf4fb21f7d032211badb151b8af201e01b19316adbf1e48a01157b0908255a8d18369bccb6e803bcc8351a8d103661c944f8ebfbcb8ee021695597bafc8246d112719460348145035e47a104ba66a29e6a62905dd5ecb69178442a69ce0756d21004f621f143e0b903f7500558e26b98b20d63e52cef90a12763cf6afe48d8fd6d32612346d5e7df99035a3099b164b56b28fac1b1c4a55fbfed403a09abdf71a50489b27befcf520eb60344a0e3b0acba1dfd7ea548718b89c663ee168e3c6a55a053b933bee7f129fc2200581f03064cdfb6dd2c37a08d6c3522ae5dd28c6c79637942935e19df2d63235c5058202e203b3346d1392970290a7ae1d61334efa8bb87e861f40283aa3226b14601d403a1558711cb8ed6fa67cb6c540767983ab482ef3f78ff49eea948a70c623d2a4a03408bde073518e42b3e4e57dd1491332b4465e6693fbc2e421275f45cb5bdff150349e397a9a799116f65f73249518f94fea515d6b310a1f567a3f53123f26e41b500581f036be62ba156868f6409acaff6d09f6ce72dd06ddbf1d9c19fe0c2d355fcc0582028ce0359aa63ba309b0b91c257ebc3b5d634dc593832513cf110901e46213d8c037e0d55e83b6601985e48f7614363f788cdf1f9b35eda9efc6f65cf1ffc03d47100581f0321ae0d549e34c2976349db136126d88924d72281aa1b16991ce1f2ffbae05820582ac5518c304b1ad2c31a58f62d4b9ec2c9f9d24952228d678531cd20b29c6800581f033adcd39ff8218424c0af8b48ab837fe779fb93ee15ed6dbf5b272db724c05820f1026a3ebfc13393cd36c4c6c6053ec73010ffc17cde93a6e6e56bd8de2fdaf003bc31032aeeaa2fb3d565338ff2f3a4b48868e5f2d385fcb53b9dfbdd92a47bc102193b2d0391d5eb229940f49feef3c8f0ca0d4b1c3d8ae9f5b309c6e6f0ab3e92b10631c2031c59a8871ee3273b3dd5b8896e35cdb5e212bb02a1317b0ca8492d626333bf8e032a6d9dee2a9aa0019f4c654338972f3b0b5875a67d6106efb184b229972cf70103de62e947a9345564af04592aa114302ddeb60cfb405ebfa1ccbab3e8edc7026203b1aebc205c05cdb60deeacd19e4b148d5e84d90269072735a16aeaf939d9c3af032f6e4f04bdbd7df62023bf017a4f8ddcf84f00530d7c641717cdb3b9e55f031d0383f6e0425a16c7f9ae5b3768c1ade55464e3a8380510a0408ad26be9d9cf3bba03831bd8adff4ed70f81c1714642c71d49e3710adec8d8d77dae5dae4c4080e0e00219ffff03acbcba6ca5a1a2dc449bff3d83fea60393383e1436eabb4f8587a9062984376503e88f14592e84089c4cb3a2e4872544e15085580252bbef0ca16c11e6c4ba768c0346484758d9e56be4d250cc9653b9c1e5f4a38e93b8cfda662e6f78f529f3aceb0324b5bb1a1f15e92e1d515699ea929d87873d9e1f2cebe06af705972dd5d26f3e03d2a7a92e54b40bb1b1eb9cf07c121bf8058bd1ed9577306255431d1a49258d72038dcaa640a326c012dfef34f2c79dc0ffcf533095885b1513ba0a9108da6bc63e03a14fb1e4a828cac39917c5c54f6f75c77cd0108e540d61b9dc81f9c5f350fcb6035804b37caf46f4d9c203fd607e6e77393a15bda99552e522e932c3da5d79bfb70388cd227a7238bef37b483f0cb3886d7b24f9f816a0d0613ef536a27f4d1775dd031f0a3163a6b59b36d686566dc6e4ba991df7c1642129cac2235a33741b1378dd034cda4b215fb13e3101075d2ee479b9e24c5e84a5f44fb64fdfae3fdf533715770387d39788b0a52c94634dc1608fe24f3bfd632898c0615b58bcaf5d7a6429d54903d42fa9cbd3c7b6b7c63863c9d080971bfaba5da482c5a25819a707846a4b2d5903e59947fa9f8228580e11bbd929716cd02893bc881c3a58cebaa7b2c3acc8b25b03e1e5e2089149efb1257aeb25162e567a5b5ad3bfc4e21a3bab8b10225856502e0219ffff031ebbdd2fdb4fc0ad02232be7c8b176340252426c5d75a942160c9af9687d818f03f86b3bcd8ab4c84a8622937f97ea9c89fdd29b2485317b5946f63e68e4b24a76036435c376ef67f6097f183fc140b4cf4dd6a272841ea17cdc254e6c36de1a9e5703dcd7610299e178c47a305645148ce482baa5cbfdcda37701a2c70a49f53d78e303d698e527ef00bfad6483b23827aedef672fe5c8d8eda57bf63529fc61cc159400334d2bd32d287b61869dd6c4333498e76c34b5d781899b63057f0025f9529dcaf036f70cc8f817ac74655d2028bfbf72222e13c5ba10e91c3f7eeedbfd1267dfec603a678b8dab4628ea9f16c8e8867c5b594450b8f99ae6766ce997e4f3093c0def503b0658bfd7c49ecb97241667c1488090a5dcf1d32a5ff65163320ee4d67973eb4030c992915ca0ec915c4fdd32aa3c2821385e3f2830724eee1205af50e80a715d103478533d12d6c9cf94e3c79e3df549cd7039147d13a4362cf5dc9513164aea89f03644b0e06a0b40ecfc46414fa957ca0bd5b150df51c96c9f9629580def8203e2503adc3fe747b373724f51dca5d8afef62be3ee712808bd0f9b8e4939ea112eb23e036c1e80e2a54bf349de9fc36a24303a72a7a820e326d1ff8951eef4c6e56ed39f0219ffff039524a448f9d153bd508027beb04e47eccc71635b5cfa68da18c18aa5c06cb51603430515b8c74778967da5745baaffa33fae69277ef459f3413725eb6e12e4281f0306f4fa96fb9ee1d60800f00a12223208a2bd4bcf4370a15eca1e040d34f458d5036b8fdc024e9c8313643c54b23775c7d64093692d5f9c7c3115cd0ed42505d329033c3648577259aa358ea690ca8d6f9f63c8c5b8e62570ec272430925e01c33d41034f9be66a7fb94ee730165c2574c330d76bb3fea5015acc001a2adef60907f3a8036f37e170ad7c116e4de479b41ce8e105c6738e14959a995feb90933b6572302203a69018d92cb74f3f0eb8d9bc585614b5562c0c270f4b5bfa5ac5fe18950804e603d6dd24c6494182e2504fd9322523acd5c8a81ddd228c1993a66087a61a852cb903ab5e4dfdef565275cfb43346d464a1abb555c44435d91f8e70579b13754b08420354092eff3a3731aac90397781f038dc4e5200be2e1455dd944401596ae97d7e5036c38d25ed28f7a15e9845888afb8bff9576b9df16b1d10b68a347fa720d1cc0a00581f037cdf29c9a76133cc8343f2801f3199c29d16b2b39a8bc67ce9844a411d4058201cff6d1003521f01ed48ca40a927e0a73fc575e1247b4c6d625b0311ebea1d1d03cdd43555c4131315df313bb8fe23cda55630275d361f9af1c98d479501a8bbec00581f03daa9fdba27a209fdbed5d5d8531cd02324d913a7ca8c7dc72a8d7b619dc0582009b38f8b24f50017a5a71a48252bdbccf535a3ac3bd85809abfd4087fba42f0d00581f033b9c69ea1a4cf67e460133c5825d6d051312c8649d4634be87846b13c800410100581f03674fddeff9c3ba69cf9fdc81ed2201a8755f701a9a542fa094bd23b783605820c1e9ffca4755e5314362f48a0cd77bfac1f165d9c8736ca67401a8b6c3291d1203b9fb3c985e38e5038aec2cd2ca7b4a2dab671204df4bced3b994715d641de96c00581f03af4d04e358f5d7aae8ec0fbdaf7a04e9c700e6c9f6368f8b56adba008e605820b171da9acc168833713f21ea95fedb8635876516291b3e16152f5cfeb25e864e031904cf7b00064e74065cc1db4a401658c5917f23f75360fc47badd58ee80456100581f035fcdd37e370e732a87c06e02ad6450b29b2c4865a2bd39f9be9eea875ec058200373774826981414bcf546141f4b404cabfe5a69165af0c2b68f5060328e7dde03e15ac2c720970a19f08d2073cfb0271b40382f5070670b1df79a823d21f021df01410f0219fea2039e8aeb2a90552f325313feb2ec33fbb00893010fcdf0cbea41fffcec2430daa60305d6669d295a52299db75bd36782cdd4a6f1743e6923d0daba2cb0a680661a350302a9fe24e505e829ba46d65a1e0778e97c02d9944e29f58c50ce5b7b58ef211103a232e9274b36abc457dd99003a28a011a8593f42ba03fa221f0a43a26545a84703c6ccfb320ec90e8cd10585f32f84e63388f592de9e2be447c46ff52f8343120403898d5d33bc9f8c6b42e76db5b8ed385eaf01cd37a9e7ba9e9300263c1a4ed1500314e18c702b0bcd91de51099895d97c32e951c4e8cf7fab3694224e6be499db1203b2cc0e77e187c75f1afa3fa6e25db299b344a71214da9a0f82e396ce80a0602d0356e8423cd352ee690dfd3678b3125e10a1def233e384b2293bd3e31f7c4a98670219ffff030224754ffe4ebe3b186b455334a01dc79a8bb5b831a0508b52e68da40e7663e503c2b5ccb63a6dbe36ebe65217f5fe70ef93c9367aae65aece68016bcdd9eaa6910395fae8355cb2afa97f231e4cf3e7c30f8c44ce7787de5eb78f07ff7665a6dedb03b0e9b77cb2231fe38851a320f0e5eb9313439e9d3cc97f32bfa7080bfd181cab03f1bc12f8fc4992b5d4f734c977c5a377828ef378f05de8a88039691741d899b703b352bee6960cdd14bce7718686e786cbb30b36c9b549fd8f7c3919ca95003789036215b08848736ed112aca60053486e38b498bb2839b84b6b96f2294d855a373903994e3c442231ffcf843166e77ad16a1c72d7b78e3437165fccf91a735326db140313286f655ed634b18d7102fb4dd0b112854619317df132fccbe7d1c0436358db03655c9104387dd82d9feaa994fa588b2bd62420299e35d7c87f8395ce895b33de0388d69116cba5afa72d12c70c06fba044a6f5af6546636dd0838e9ef485bccb03038952ec2a0519bba45c80cbe4a0b05f8fc10cb055a5ebb437ff13a758a548dbe50335b3c9b29ac69cf3d91b4b5d5b56b60534c6551bcf218e59b9c033f156f6316d03e43ad234b79d57778e8ea68739bfce30d8474a2c310829ed00ed287650e371f0035d1ec8688395c8edd98ca6613cf67d40557bdd5f3ad126843183a7a93fa3b1e00219ffff03c490595e9794589b170db4057d90b4de02dfbc83d938cb44c0ea8b952b25d77a035d36ee2939ea9ef448d1adf6598a709d81dd44ff35527ef9bb8f5ada9b68e40e03ff58d463a5e7e3387a6a9a7252bbf2ebaa2a18fc120974fc254335a059f3fd2a038a10f8899fd9412615c1c1f0b94047e5ba99178fa59f16ba226874c0fde02cd5031d0e04fd9e86dde53a806fc9888ee24f280cf7f69a337a906785ae152f4e040403e7158278f44fdfcd2c7a511b17a70460486d8e005f605aa8d2827e19b95fa59d0381f611747fe825ac8ae588a05e85c73bff2dc30e5ea1d924d4f7ae94d9b22abd03f1c8b8aa8b215a0c855cff0f46d924496e8a718f7e7bbc79daf77fdd76b7c31f0307fb6885514609ba3ac237df246ac8f3ac2e1a297b4851db2ee6738b30406651038b2c749d817bd3a42cf4b1cbff5dcaafd4ae7d0f9b0d4ce7ab91549cda4956e6034e883e9f106350fb19ed93df20e9e45ee5f6219078b508c10856f4bb1278cd3f03f94840d24c8ab331dde63e6ae10e8a0ff10fe4d75131616830d8b8b55761f2220219ffff0219ffff05581d02c617f9ef14c016a3256ef95f180174f20035b534c14263666d9fee8e070119089e0219100105581e036a31d088bbae9c85cbe222e3262794380411cd4ae54e1433cfbc133ba00c03464a8b6e323e000219dbf703286325e3e3d2cf9ccbe788038218aec67d093c0ec02ebe05e498393386761e2d039b2787721431f9bcaadd3d91609c38b402757251b1a9ba3bc256ceee0e1d7baf036dbba891b11d84a113244a435f72e58ceedc3c8266a131d7fa470cf6101b0c5d03ef9efe68d288e0a1873cd4a93d60e4112c6e8df4a03f54f24d718f192111ea3b0219ffff034930507c9b2bbf32eedab774fa49c6dd4324c9b196cb000fc6bed2b470d972150219ffff031aad705357e204d0d7d210b9955f9a707bdbc85fe0f336481c4454a3253455e20311b78482d190c9e9556c33b70f8f2c07b8477891ce5c717937ec7bc3be467796032c071723a765d82985379d10df85979bc51b1dbb3850318c5c4010a6ffed5b3e039294c9a33344c6658789e6af307ec2b877d9ed37a71f063cd6d5cb3d876b316203d1d93913732e17fcdae5ce886874ea3800642d6cac26ccb1fded5385e5f8c5d103d9904f4c84ae24c90c41d0c9237be04273638078c18cefd4492ada35d2a2e16203b6b0cdc4f35d6a1d82ff4d467eb9d008ee81ade33e1b236c0602fb5d7469c98603b04d3abb54e89c2628f12a0ca972d1d6c3de590d08ec3e29ed126ca0587b8b4f03ad85bf989ee3c7aebbba30e7f8b7ec3a02c8c751b60d31f9b280dcc594f542bf0219ffff03714a1463d383fe8d9b6b901c4f070fc04316038842dd86eaa85f62f16166e1d70308ee3729052e906ad31c8d5ec3871ee797d4f67dd69f9443e1bb6df7394daee103e1cdc7ff7d73b9f23dade4eb7a8d680e87cbff41a2411c55c89f8828a3fceac003c685c91f5b07b321718633bd6f466e89e7e28c4599abb1d5a9e1145236f72e7603239f0f164bf5c663b8fb3971bc9a3c0d6f0999e3f7106645543691d1bea152e30332c9ba55c3ebfc829602b1135f73822356ab3bd07edfcb0535e1f72ab8ef291a0340b1d85d788d769aac359828704e71cf6181d5f16558fbe1e5950044d7978bd1038b5550229e34c1888be107e2bfaa47c06894942dc3c67cf78620a241b767c55803329379abea328d3adda6183b60a794f2b9962a7a88422b1f033d7a7c9a706e780358b79443676400aafea803f2847483bb4da60160931e613677732c951d918553033b869686714dad80d145f669ad13cf283906e3e5da984ed1eee3058f0b99e1ff0341ea1da8b5db1164a8e0649fd4da67a523c808cb5f02f58533562f538cfb04d903e0f6a1f58a32de5c96f68ee646b9eb2534d8178de073e1de5ad75fb6e23285130311be699a3e81bc9ad286200fabb9272147da23a36d730e1d1c466f4b65cbf5ee03d974eeacd274512de5e2843c620c95c1c1574c593810b3367618eaa54d7f239803cb7138714d399ba081cd5bdc3add2fc136910d2efef9f99cb8dba4a654f716dd03f58c09eb7dac920d86508cedbfce26121697c5d7309ebf572b7fd1f2a88e5e3d03377495d2dd401a0080f97c6661d991500d8a4ad206e1b653b6955ebe7db2179d034525ff1a507c61f180929989907c7747507a71423b5677e83d669034008dc7750324e2f9f08de3f55667db6ccd8a3f52f25951ec30b62ff4452762b9f87b3c6fae030dc44f936fbe82c005b4456ba7ac2b7069351875e689f0a4170aa4f0ae697fbf0361dabdd19685cc705336b91738f651499aedd5d5811d17cdca1e84e46f9e1d3d03a9e0e56b3d057f244b76eb6a71b452debd58fc612356e8090b6297895113ac78033340c0bbb226d3e2dbf67c78d47fdedc6ad5a61b89cd0339b746b097aea6203903ad746f9e37226eda7fad01d6e34387b4450541555292f94525ab42d17ce69c3d0323cbc4e9e7b6c4a79b3306e61a16d770bc9c6faef97694e36bec52d3c8a0de3003c5979fc6e7fd67f747eb359ffc42b2ad8e47eccaa4c0895b1dc3e73485d44fe3037afd129d67f36a5f3bef519c71880b2e9d8034d08408ba22cfc01cee5fa520bc03755ea68ab59a387e5e216aa97fb52101dc4a03837f1ebb3c3de2d17e63c6db39039e972351220d68c5f456577bc18967d292bab018e970186c20bd10df1dabfd550386bfe024f5991ffc0b3e03f41d6fbf9347ee242bc846759d3f1945a0f1ae2ac4031462e7a115a5f3511b54ab7b1ce3a22a200c82acd2bb984eb764982eea19d69d0346d64b3a2350ce77b4e3ca8ba7bc967eb77a725f29ea4383487d1ad8b230fc9c033c94abe417100625b8a0931f6db0f5552198ae89649a231775458db8ac9b622403128bcf62251f90589ad1179d4bb8a9ffd49ef3ffc0dfd688e892507ad33f76f503164b29e573295f0462108cac1281ee6fbf61af12fc0aa63d258226fad0fccdcb03a337266fc8987692e24611faed78bafd470d4d1dd2dc8e8e52374eb950e7860103cffe07d7b3d03fb8b60a7ca6318dca7a8ca49c3a78e3b415ce5375287ce6a68005581e03099e8182baab25046c6f234579bd6dab6f6fd788a08577d741faf8b3300c0147029533e0c0700003de67e4cb2e9ee50cb92234cfd0aac6c63eeb4ac41222b5565cceb6b6f1e8b1100142001105581e03c422421a215f430f83a40ce14117c843522a38e81ac9b3b3b9c0345a900c01470c48c8cd90b60003e76b350ca80cf033262d84595faed229e15d546daecf3a752f3053070f4d17d8033570cccee9ee9fc92312a7d732faec007a5a76f4768f2d5c275369020cb7ffc105581e034871c87416083fca3bf0c1fc84e5343316c07f4c82bb2df3827bdd51700c188d47350400c737be1805581e031a5576ef28eb35ecf0ba3df4d4a14981543db475baeaebb6e4ac4d77700c02465b6a73db801005581d02ab842ff54cc43a27eaeeb14131b97e38d78a529c3eb576c1062f6a56040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203a2c36063940887f4585be257e21084a544519bde6b3b85c934e72d61f3c8a3d5030e57f531ee07bea61a703bf52be4462fff0d80047d9a3c1d22e73941d6dfefce03e6c6e3739930eaee4608c954e502ae98642f927dbce8ad84447815ced84dd9a5036c5749ed40e37ed4a8261019fe67f901671599259ac7b9415956f5fdfced60dc03b7935334968d91e53fa4dc4c2941d8e384ebb2555c37c7d6467511e01002d07f035277cfd3776ed0ff8b026fba6272c756ed1b303b563866f59f3287ee37483bbc0394d8d58116cdd522955e96e51f4593a3b09ffc5b88eee156061d28400146b0a903d975e4287ea9d46408ab8c16cf74f40b2f958a37d0b9157ab452890a04ac19040379252a94019ebc1e292c606023cdaeb79cce5058b1c35ae7c151f67f26e6b625031bd22a89770f60a9ec2611e40dad0169587ed29ada4bba6adff3a0e28673e09d03f65c2a4017ba5c8423c92a19a3e2e960ec52b8650b2eede8713cead9e9d021520301c5bcbc95f2b62b1fa1c564276c771ffb41352da3d48b5a9d0d839af3c5805c03e7e662b6d60777cf93edd6261071e5481d79264f416febbec482c79ab440cf730320f7fd610e50534bddb96532cade31dc20c196c639460f444e9e0f79953077c9032fd928540e1391eb657fb469ad8d7854e45a92149313af1d00955f28cb4164b70385dd998648deb43dca916bc251e4afd205bc2aecbc14325706209a798fe7f750039b6ea699fc2e404c6ccff961ff06296755c16d05e9f9bdaa70bc6e29c01f6bd6032b41ecf76fd7cbea70165b38ce919e6e80d1a37076322b2120e64aadfb05f25b03dd6e2ec904d662b56e3f89aa02ae2dc5337d30428017f7720a8def3d87a9ea5f030d7cea6d296299b5ba48fb225488a83cd84e0a08cd91ed94768906287c7141b003b077ac380c6f5ca459c3f53f10b325554fe45039dd45556b2d6eacd2c23fc936039b401945f2d02075ff5d825e2e2e0d2bc7657b08dfdd624977e05550134a1245030eb37babc49144cbdd259a5245ead30fa15f1deec6b55f24c406387e8381197e0338c1747db8a6b8bafe57ecdc55349fa5f891975a745a2ac962c8470b4f8fa17103d17c65754f281848e332888c563868df99ccec46003a82260886c960a71e4bb60368b36d0245db94f5b3e58cd865f58c1a712800a842f6af61a666efada0fae562037b12643ed616f2128b73013e05902a21af244ee0d62c9c865c2f705b3d60dded03be030aadf7844e3094a51b154e1ff593d4ade5748a4763791eee12b15739655403da6855a424c77ec386d47e4f1843e4f743b52b6024c0965951aed152ea37c19703c6d62c20fddc18cebd4426f08935494c2ca4c76fd431631622310f683e4341110355b273c01de6198fc9a919e63307e7725a7183de8555b11ed0d57b44e95ed8cd03e71a65529222e048717266c696904ab8235e5ecb7439fc726b9b8ebae107498a034355c6229a0021f2a85953d1b077233cb29162c8be453c565523f02d330707c000581f0250924605c30991be10114cb512f4835ac510d0f5023189674de0579f45965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035519c42b8366a4e0ed57fe8fb246fbc226d447bfb8e8471baf8a3c8540d49f2300581f02d95304510f30a6483b1387d921ff69a5acf38019f9ef50db222643f1f2a8410200581f03f1c72d8cda8d508b6733bfc72df67796c705ed8eb733342a4164c544a460410400581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058206687d67300000000007f50c591c76bc6c64500000005b3a15a431ef25990c1080219042000581f02544e44a94c3fbe1a33ea6afbf0b22346d14ba9bd2eb4cd7138c2c577d6e25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0213caf07cc399b6e661915cdd329923b8465e1b3413385274352dbcc7cbc15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f022789908fa0ab72b3704b9cc2beceec0a64de9c6265ffb981d371968815d6410100581f02eb8941510a9a6bbe742e69821bc5b2d1b6633535eb03c0f550366d72fa3d410100581f024d60e8095990c982d58518ced7a17d286c3c26b8849351e9d8d23fc20db74cfffffff18cc2c1b29d68a48c00581f02431ca43747dad082cc61ad992f573df9f680c5e52223627f675cf15df91741010219ded20219ffff034d42948fa11fc09b0bc03d5a3472832df21feee1268417059826168f277ef8de036112856380484d796ea7c221c21b8a835eb4803b78a2286992cf583b94607638031ce1ae532360c3beb57ce62b3cea84cfbcdedba0750997138eef89a2185997d503757a92e5882a3387d41f665c1437f80965192d57b6c40f1f2a69d79b351ce08b0367d0c95e91cf780d08c90457b86dfd5f508fdee95c0991dc7b1ad76956fc81c30379135bf0e1a177a75a6b64d80fd15d65be896fc07b27f5f19c249bd611161ec503686083a040ea9a71c858c1599daf82b16c7e0ec8f377e1b995540788e0697bc203abd3e7aff0bb4c8584a0e421213ee732cf0082a7204122a8b1bd0fe9a4b8f41c03b798ea0f963e3810ff171220ab198514fee68d7fa10e4c51af0227551cb19a9b03620bb7e4df8e852708046c31d41fa818065f1f268cb20a28d033ac0f121dca210315f2bd90d9981ee62171a0f7ee6041fdd74d34ef79e723572478b28e54d2571c03359891f1e08674c18a2da29ab094dc3ddf9e09d61f42fd14e3738e9f8ad15d130219ffff0219ffff05581d02f2319300c5fbaf8213a507362bc4dd64c9d4c40a27d04e19ed1a4f820701192c1d0219420005581e0346196f1b5bcc8069ccb0249211f8d13ec1ef2b55ee082e5895b31321800c185a46f8ad4185e92003d97aff09b348c57ebf04eb2de879fee40284c1ef70b9d40a459e0cf00fa9ee830219f33a0219ffff03d9935db2e232535ad915fc18197a0fdefc02c41fc26f54b37b410321f25ecdcb03c45247ae8226103f90e779517dc57622d8051e39e2ad8fb38bd58cc2497a254103ab7b1cf58df9cee39b30336429dbc244b0251b58a5a609acdefc9365bb3eda9803fea43c3c8910e7204cfc63b3f98f34e84ac9ad4b627631066850eb1e88f07e470320c4ba2ebc6f9a03fcd61a46210e906ab06cc4d296f6174cca6867246a55a7420351f6f8eae9c06badac840a831c704f461f596ecd9acefe6c433a8ed025404c5403692d9306c1ff2d22523107f2d57e330755aedf004c3394e301672e531f1918ba03a8e565bb2495f38b0d66546fa5a4789fcab5296c9adb59a27023d173f7affb460219ffff0219ffff03e420181ff4190ff9fbecdd7be8947fd2b73c6e50d45058a8d2e601c695b0dcd8033dd7cbda0e772c9b0ccbe05a5e88ba2a313a778785010a0505ce5627e8d2b1da03bf5b2b839b007bcd7d199e4b2e98d45ec9b7574ec335634414005212befec55c03a407daea50db59461993f15a5636da1e3f0e892023cba4fd63cbfd317b966822034c652e27fdb6ea2c386e89f057344905fc46eae795c7874047058ace477d4fe7035ff74f803322b4948b9393e6f4933dbb5d221849eb11c12e36cc2b9e438dce3f03de1f927518daa450f58be4165393d1bc9124af3f182e9acbbb730c05fd0385dc037ee6075e914cb5caeab58f602f086dccc4173b01fc161cf2b5bbc56e5b414ee40354f86dbf6c564293a67f7410cf8a318053a72ae32d3855e8292298e8beb078bf03d01165d082ad8c8cf759cf6b45d3aa61c65d23a4baee57a710c7e8d71e9a90df0342fc4e240fbba51d6519745ddd61326bd3f5965d99de67ef549d88dd11eda0c103ebf89d7106da827c19114b6c4e18ddea0b476bf823fa369142d3a1b151dec2f903bb5d1e595f73864aedd492f529c52fce5b4241c41221d228b36011100a9fa8f703aaa42705c63c26e095e48bd628d3449fe53a9fc8b2bb37c80dc8c0eb67417d3f03420cae93ef312dee4b02651686997be4a7a50f367c080bfeaba309673a1a985f031aa955c337012157856d42305a006f9e45c7575375ea5beb839fe6546bdcc73a03aecc31a5668a6dbff105e5ba94a916625c8ca2c33c3a3c2d566a21510806017603a9cdb249e54eb2acfc5138f344e0855347e67d724934ffb2610eb3c32ea10df80301c52729a64ed12ffddae276d980518ad88b4ef11bcd831bf95ea1ef598ef3ee0339ece6e6cb4c9515466648ea1ba8f7adb86ba8bdaf0dd708a3b8b84005d9060703363398dcde18d40125131addc9c04c09e4ccaa1ddd13a3b8ec8ecef611da167c03b40662f5a4c9a3782fc7c264352cc3d5422e32bb596c8e10295cd9748a2ae6be03643c2fa0a77c0eb7545384d56c68a983e9cd7867f197912f34b0162bdf3e24cb05581e031e7198afbac42e3e001bf01908ee5f71bac3ebd6a693565dc451b2c240084803b3798858fe73d003149e9f6939a0c524b9fa1e50ca95786e283b9c873ae55189fd4a277bdb9600c703a4b51305984807de252a6d78390d67fa7ac0cb5a53f36e336aa2fcf2b27cb65f05581e031610b46a97cc9b99b929ce0367a5eb4e4d7c4f258c317da33052d431600c044636ec07ead03805581e03dede7f23399c5e9d8affafa606c61ab9925e81384f0e4b819aa98d32100406045902a860806040523661001357610011610017565b005b6100115b61002761002261005e565b610096565b565b606061004e838360405180606001604052806027815260200161024c602791396100ba565b9392505050565b3b151590565b90565b60006100917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100b5573d6000f35b3d6000fd5b6060833b61011e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b03168560405161013991906101cc565b600060405180830381855af49150503d8060008114610174576040519150601f19603f3d011682016040523d82523d6000602084013e610179565b606091505b5091509150610189828286610193565b9695505050505050565b606083156101a257508161004e565b8251156101b25782518084602001fd5b8160405162461bcd60e51b815260040161011591906101e8565b600082516101de81846020870161021b565b9190910192915050565b602081526000825180602084015261020781604085016020870161021b565b601f01601f19169190910160400192915050565b60005b8381101561023657818101518382015260200161021e565b83811115610245576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201da3669e54b5930ba57864d0afba0857fac4bc708e2cac4bd5e53da04e15338164736f6c63430008040033031e054d0ea5ab2c44bb909ab5c559ec06a8c18079665e347da38c7f938f57c73c0370d04e4dd053cbaf4ba6a91ef0878123e45e12453b3996396b481507ba249c2e0318efa1273214d8f999bb1ecd055527fc3f298327ea27819c10acc01b0351db7203e83ba0c7991e0a0dd82af7947053fb502afdbea8ef3b08eee7c6e881deb70948033e987ba1cd478117521f792501ff4cc7fdde990e304320c7e2fadd19393d578a03764fcd9c2cd4aa8831b6e5566912601e6746d8589d23b203b8b956b56f5f8110033a40dd4ed8c45229359fff1b08fc62d54d41e6ab3af7016820895552d94669080303f532271aab44409b981f3fefae2f01b7617f6e28d56609cc98f138e206f44b03545b48e75089f3dd052a04bc53248decc94b0a731dc0ba541cc565e8fba5696e035b7f99891a84c5d92242c754364bb06fb1aff5ced9e6203aa81ecf229e0c058003e6b22d61fdd146bd98e8e379c41ed8d8dfccfb8b94a0ce8c4c282621cfeb686e03fb8db26e2e415b900d9512cc1ef79685ab0d29625f754ddf83077afb679dbee303ce70168f6956f4c65fb59b3808f708d6119754360aa5b38b2d6ef861200ef3d403c66e2fa8c9f81e314d01c3d0e084f3aeabefb7706564abc8b4ac6f5c3401641503f55263dadd1427ee2e422785fa408bd3025c74a0d026be906224b65c020b00c103ed831a6a62ca22a7b2f71e301e79d1df7dfe938b6a6942aff6bacffe85e9373f032a6af8e17553122a529a4c9b2596051d6963ea9b421c5595e8d2a8a2c979aa7f0332b8f10773cc1a85c0257744c588b1f33119b8f5d035263fc36cba97d285554003f21041311f475bc66296a4b23c284dedb1ff1b93c5e1aa066b742188db2e3262030d09a7368f39273a9770326f57d62b4bfe61abeccea1d1b73a197e6fa9a1fd110361a60fec2f24f05233a1d60fdf01d92a7892f6ae3f072a03c208f3cf2d1a035303df2a8189ae7429afe8bfa5c0d57e42748879a23aa027d21675ae9ea1f56e2fd0033464a1dc9cb06cfabe66324c9fa9c0cc4e80af693bc8cc8d203bfadf76f063a903b5dd345553d7afd7e88712139f993f4f874a79438c2770b3bfc6d58c0f2341e70305574ec25a0c6fb336e8111deaf44d6635a5bf2277e3a1d028c17cd71fd24c1c00581f0354183e40c664dd77c52b39acdddc9f825aa7f61bf6e2d3ed6c635e0cec20410100581f03a9e6a516fc6ebb09354879a95d8b46a817db2d062f9509b0d82dfc2fa3c0410100581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305498f3c9e6e3face36baad05fe09d375ef1464288b02194411037ab45b21033391f464443053e319a45bc0edf5d23d9b3b51c42b4228c0d1eecb0374238774c586128ba3177956ed3642e5948c2eca9d0b5e4a99b4be5f1d9992820219ffff037e180030b1a1605c60793c8e6cec6318d9b95b3772b6ed2f55bd8090caf68f1e03261d9b80e48884d93d868d0579eb920c7691b2c9d508cb4d96a4c8a11dc12bb8035e3b17a6584dbd933f29d934f3b1750d7e470acfdca0face87770738b53f4ac30321c4d58dfc613a0238e2b80786ad20a7d53968ab6361cdfb2d2ee8ed26b4dcb20306a22c15c41994c1f400ead7a621add82ff5adc8b34ed1ef52526d658fd9680103f82f0ee6bdfefbfbc44266ba0cdc374b92559f7cc5f62a6f2fdd4c86b0ea141e03b86edf0c60119a77cdcbb45b897bc9edd20a2ed041f344ce15a5db8a3259cedb030823a658b8f7e5c71a0671edfc97282c6b238bd8aff109d518e1e2099dd67d04037f118918e314743b766aed11d040c0ab27fa2e05f4c8d0eb25df7be816905e0b034d25a20c6cf9d588abf53d83996d5fa48496bf3d830abd89644e8ce61839ff4503658d13cbcd418edde377913617bbef3f710b1a72a8490323f7d5f244c7e3d3e6030fa23b928d60a5a4788b1ca7e48231ce2615c0112f613637585c0e78ec1f2a0c038bb9742df48b2c8a2d4f84072bf8bcd5e3b1f0f3e65dd49f797590ca95e9040303c637c8c360ed06d2f94dc908322856c23dfe4eeb5aae635e482bd6b9cfef125a0322fdf3db672860902bbaf162ae39b5e744c5046ea8bf833ee2cb5d70658ed34a0219ffff0340d2f0bfae3d9d0826d5477b619e1b580719dd57889440457c00a82d6771e9c30329bfc645d108e6407c20726c8f626580f793a4952c2220fa3420e09d91a83c2e035ebfcf8c581415fe6e19f2ab05a2254db21aa4de846729316cee23391483931503c254439ef1c4c883cee588003c3c662a8fd5a917c60af479947f714b7dfe77d9034b1c7457c39ad08c706d19aeed1eaca062ba216715339ca06486bab3d0e776d903073146dbd527b05f14d7446930efd2f48ffdd49b2d26c06f0a45e351338f2c45036bcf7dc709fe0cfb6bd827125ca42e4e96a80c263d462ffdfabf49b2d160ae5903efab372fb051c176c9b61194c1c0351a9a8ce2601490ec6f4b7b1c7063dc1d5b03261d522d0ca79de15afb9d6eed2cff253764a7e94af5176e9bb7a65080fd8e9600581f0354d5451137fdb5c662e0eb51820def35f6884e5009d3d2a36508a552b090410100581f035efea51057a12e361a7f4fabf5e6d6737608fe3fefcc36c68e939aecc220410100581f03d5593663622cb4502ae2a7ab32f3d7170f4b7352003ef7ac8652db021010410103877a158f0bffc8956538675a55223b348234506379afa409d8b4f39d9976c71100581f031e238538f0c80bc323ca998c23df700f3f2d247b43015011deb3093ff480410100581f034111a5a4bd83c3ef9397845bb491d109cc89a7c1675ff43d61a4b6c888e0410100581f03e0c83cffe9e98b9c4cfafe175d52309cfae06b11d12403431d8bff1eeb1041010219d81303344ea5c4f623c169c0b7054a89b27d1c7de3b4b6a3684322d22bb8a114aad42003ff8173fa1bd9fcf5541d943a20646dbf1d6485b800c32dde63b270e507f3a37803e99772654a821044e6eb1da0bdc538f0085970ab0e3e39c41a12f97a5f9f4636034566ec776984ef97d129f5efd9eb19deaee947ade8873568d7ff51c6ac054a4903e470687a4968c51da3588889629f8fb5b410f14bb64289d9d03bf3a7475c0a70033c53a8dd92c90151c923e3eb6c1fcb000a318e664c186d5fbbee43c2b3883ddc03cd1eb4cb68d71cdf076af8d90ca6e5d0744376a22bdee0937a3c3574334c322e03f44cad03116688521e7f69e796c54504cd5d5f392df0a038dc545950df7c04e203c50808abaee2d0d36d76a804409b1e807756e9cefd1d0271ebc152c5372e54c803a9be52759019a0586ae3729596147d043f9072da1afe42613a921ab2e54ef5a300581f022f73247be305ab9c6a324eddb8f404019ce89df1f7386ad4d6d1b99148f241010391a326ae9392d7f80ad2aebc17642460ae3cb79d2e6a4b752d333f6739da8f03031c0af40826bb5678261e99142965ce9b0ca32ec21e6033e2e46c6a95a6dac3940219efff03d1ad045b951670cb97b2b80039203eda9a328ba33747ea7c7babba7015b29abe03798d4f5898b30bf94b315f1e0d723eb1073022d03cd8f3e6612e5fdc1eadcae8034cd8ec584a0ef332f4fa982d9e303a2c3a1b1ba25c0b52ef1bea7ddb3371f6aa03a626f2666abc62b28d1d2e54165ed9039f53981678de91a4b590a6b9546980d303a7c79541f308ae7def278e48b617ebc4916cb6066c20ed76e7107602900e4f7e034253a180f7f0e7e0e07c5e8eba2bb40abbfc15bb092764a5bd9d248d74073c4b037b6f2def7b5245d0a9681ab826c973e7b8155c0ce695843f56c643e5a5a61aa7036eda4c0ce6a65365dfc1f2e9c8c705425234c095a0a1b88623eb30adc2a79e050219ffff03520ad641e07072c4cdce5e40b1aa58239fa456540c850b9798474435ac52b1870381ba545f5b4dd795f9dc5039ca659753aaade26fc6ed4b1e95602927fdeb0ac603af59f89fc10c0c53693926cf27a04d7386eb7eabe861a93911a7c1def500a97603375fb637ae39a18769a36c40c646ff795ff924ce1fded0663040d41357cca7490219ffff0329638509eea74d28ae28806f75ab3173bd889fafab32119d080178a7296b0655030aa19eafafad2fd4785d07122eece1f4eeebe0852caecc01354aef6be7c4f6eb0388bd5f780236afaa3d0dd7650a38cbe6a486a6c47dd9a5a682da8c3cc020347703fc1b13378b79b469cea19031cec584f0b23b153f4054ce07ebc035982bc9c96c03db1cd52e52ccb41826911c38dc2950ae64522d1ba14a9fbf346209f24643ddb803928ba20420f37c4ca82240d907b1bc289fd2d2e3fb92d4828fa44899fcf419ee0397b72978d0c058ae677c4023d5b0fa6b5ef23988aa06a16df0ed85e929eac979039ea5775cc48df7e34a0103fd27ea4d99abaa27e27fe790438186868d5377cdea03ca031f616c3dec27bd73050efda81744e4fd2bb37c51938f0c6ac0b58d2d25fb034851ede155c15fd7a24209e2aaf0d2866e7b456fce7ad1cdfa293dec4328ddd800581f027fb41b572ac1d0114424705556ad41df338bd3aa9f3b1fb55ef976477edd41010307e9f6390a427b596ca07f3ed22f7ebe0f41009fb28b1541bbaa67b97ff49d4a03ccd97528cab19ffd785f6d5067e577aea061b24195ec42658594baab560e89e100581f03989a03011364705120cd39e210cd322812d03e4ade783c0ccc9d53e5a370410100581f032d2ddb98470971bebb595b137a7fc7befe495804f890d7dad4ec1e87e580410100581f03571b378034a1e29d333deb5982660ae390c60cce440844418bc26ddcd300410100581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace045010001000200581f03734cd59fa41183b4257c070040d5bb41db3b7faf2437abb31904ecb52cf0410100581f03d31734190fba7c598e4dc6171de1c912abdc3dbc131c1ff444cc5164f3e04101021943a800581f02a54a944f1071764e987c3bd4e1de1bdf81fce24907d1f3e8ebefe6fb9fd3410103259ca4a258e89224249998ba52eff5fff9979e267d5c8ce0af15788ccac81b8d035359edaacef467c7bbdd3c318da8e456a07fe756270d94dfd90666132b4460780361dbb4d15633357213f1fc8bc8f124de4d40a09a733bdbc16d47e56cadc6cbc10344fe2fea827430fffa8a605b81f0d8916def245586616c34824265690b9a6f3300581f029a821b2f9ca48bb19b49f2eeebbe56fce7a95ced97a448492a8a849009d84101034a125f6d6f1071730b99ff222685e52005ec7eb12731ad3d76ba6b0fb4ac6d9903f6c17f55c6ac2ada0d20cfad825eea5c022f5c3ee117b9d0fe1ca9f47bcf95800219ffff0355e9e67a5793140c482074c582cd4d64619ae129c5af1326499c8ef5a4660e6e035e00d76b9062c01a6c9f5a27389af188c5abdf9c522bf25fca9511b45b92c5220356d575f94c0c8ebac53fbcc3186c1f6975a82e10b077690fed74f84aa890fed4039d09ed0b05fbcd5ad68de01b1227e94057af530c93f2c3af60105b2fc57e672a03b18871f1edbad3ab84b5042ab1913e2c6ff1f01d9681023bcbd24fb5346938660355702ee58780064be402834fb9372ee6bfed65453bd4cac0b385078815e297530314a1b9df518af2143ce78399b018eaf6898305cd08ceff0ae04bead58ffb3b1f03cb2f98ef83b6b223a40de2a3e3d6afe98989cea594797815ed289e1f4e5e928803d1650a4b82852d78518053de72cba08775060330ff0ac888d6abed785363a8e403ba9ff8f4447b75c3715a5d187894fbee1b290be31e1e8509a12a81443bbc793a0219ffff0333cfb687ee3737ef996295e6912b1a04f2e5860b4b4ed4feffacf7b986f9d7e603c8d2d3482b87e04e90c147977fa9297af00287b4d258d750aa45a14aaeb563a803ac5da0755e6620da4986cfddb41403c14d23f57adf9795c9fa716047c2c99328037507de5f6984d57488dda9b513bf7bfd2979f9cc51893994aea42a8ab3aeec7a033bf38152b6015b2ff0b512f3baa537887e83c5888c061e58b6a77d0ca2ae9154036d81ad3421fce7434acf0d55a76701cd55b2984a3b8553e1fc1534035e99425903555921bfba378fb6b2a35de7f0b7a1602dffd37fb016763901b6a8219c5d3706037149e9f81c9679ea32ee83a2592348318fec8cc71dfd558331e4d96e78ccaaa703e186fd35936de16a0ea60427cedafb1fab28dd97f30a899939a31fa0fcec85ae03192200dfc35219f2ecb4e138e693f360c750ede9cd59b4ac3942f04a011c296d030cf60d33a794466b3e7296baab1b60f7fd37e448cd696bebeca6debdf6dfd2b1031090fc8a8a2e9a45acfc7e2905ae13ddcf47c33c384c6f589cf0b96876c170e003c6c756283b4d4757be118527acb7980f77e9f0ee2aa145b830a09f42c71edb69038eb3f0d620510713208bf9d069e76b3cd1efb40037fef29cf35b5034fbdb3f6b0386b99d078a9715b254e8668e3741627fb3cc9660fc3f9ab9454a0cb9922ad9770219ffff03e60f4e1da14dceaaa9e05c71a160b15b9bee6a609c07c8981adf1d56f3626819033d7150cfca95ed05f17d084997e7ad545027124e5dc8c0d7c23f8cbec2971cb703a7514ea86222ddc2bba2f3ee8b64d71b74dd5dd657c2309915df2726604b52c80316209b5513313f172b05f5921db446c0ec6c08e421a7c8a3bb75fadd7282840303285e324d6273860212fb9526a86ee29873c8c051ca80119a2b4ac7a7cdf2b32703446ebf4da09217f23fd6be9230c68ed44ca6be2c0558646acd8e14ec3b38c7da03a663a9c6fac88f41de089e1ad04d9b367faa783ab4a6c54c6cd8a21829aaa58903b308b6f586cd10d588985deb04d8f3c1ca8c98f2b9893deba7cf017e7e620e3c0385921def5cded252f332b28ee48f2c3d1665f142169f767ff4d6e5cbeef28d180347150b0c94f25b713a1f100347e810d8b8afb1199ae0c8d358e3f919ebc66de5033ec01947370b1de56b1ba33c8622e50d043258b5736e75962dbab53ec336beb50345db37c52579c3fd0db4411fe40aa57d816719247df665c2856aad5aed3a5ce9031a94a5f1489bc0a7c212eb9bb25f967298e8126d475dd85fc6a70959901a3940035f329ed95aeab0ffd49bb5a01ed81e9f78b48cf83c74ecc4fbfb752aa1faed1103cbdd986a99e356739c80afac76a6e3a48d5e86d799ebc61581edb1d8b4d14aa60344e5e6dd3cc9d51d2f266528dd4b928f69a2c444a299d7ae6aea6f870062791d033e5e4a4221e8eef2e47ad1f56f135a106e5b5a5c7e4ea15f560eeaca6c4e3f19032a553fa96f1328fd3e1432732dbd8265659fa6e52607112af2a2fd1500b4d90a03ddbd154f9f8bc63bb98898d35b1b33158b0d6671642340d26ce5a734b14fd62403f0421770f40aaf0e643d091029da2e6b05fd401ddd20de3b338e877a423241ba00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054381752f5458282d317d12c30d2bd4d6e1fd8841e036f7d076268bfbd14986a193a36a9e00126a915d90e4d8076e42b83733e368d130300daabb1535ec951f7ea4e8118eb02fdcc9a8b6e0b29cab710f7c51d30c8bda900581f03f0e513457d7ec3848c10ddf6ae513079effc02833ca064429eadbdfc20a0410100581f03d0ec8f632b7b85c64e8a313b5a45d6db14021e9bff95f7032a9fc90c2470410102198423037098ac2476a0b9d52833a8551a98ed0081d39e7523b6230b0fa48235fe8b718b03943059e36232db025a15d799debe0c2873faf3eb0b9cdf83f7b44ef07575842a03bfd11bbe2b442c68d4ec6172e895d6b0033ac519855ae54a869744e9ee3f39100328b70a6e314d171364f533a0285807b09de9a82c48aaa037861aedba0c57073d00581f02fea1a665b1697143a1b068f982e152eb31cbd9810eb6f6069fa02bfdf731410100581f0211e5d801f16cb59a0fd638061344583886cf4da31d3d7b9cb075752ae811410103d4f78ece690004ec666633515745c3ba85f61b2cd42ff55fd40cecedd76b1d93030598db8600fd7a519c82cecf5b32376d94eb3c7c925cab57d6db9f00c3586a6b03903a148268d65fe2ec1c28dd55a83a5a6141a8047f831cee3848b9c51f394c7903306609fe340731cb9b0fab55d888ad26fde4028a15c7088afff3fb84fae07953033a1071757e32b2ae162528d403e78b7187af3f7aba0123da32610d85e6ec410003bda22b75fdaf247140d8119843860afe909aa6a941296fb4aee6e753ef45efd803f9a81ff7b630e1a8da0d2db67078ea161ee50236b182e2bf65aa779917edf9200219ffff03e0801580173677fe3467dddcf3e0cbeb0cf5512322dd03e8b3f2da680a4d8418039a51b425bb07432f71ceff9abee51ed6f28df7f0af59113b78930d3c14547af80390dc27b627824e5de858493d76d6d1e73295a14d5d039400e0d553ef6cfad711030a2d3180d3cc06748c9187672312ff784c5e293b7400feecb2e7a99620d0c8620219ffff03dc9ffd2ff3334969a1844e181b321caa4689a0dbd18f199262cfbece808e455d0376c274cc1ed78f74ac86a995fd22d867bc2a2a13f0793a7344a830301478e5680373396bff33594cf222fd91fcd4eec65c27a0bdc39737714b4b97143e5623448e03d12d34f95e84af5c92bcdba312d00ea73af83939bdfd328a116694e706bc54160368b1d56fb6aa23180833c1445fc6e57770308cded43bb5cc7010041b873a069603054782f89cbfb2d3b3a7c10eba8d150080eeb02b38891e51babf624d70dfbc5d039b16f23cec590498cf1a155854ba504a1fa7d14514a9f20e795e4383040ad81c03950104dd0dcf1de6f290d171bb2dbf85064ff851ee55efdc3ea937aaf4afb98c03e2671f312b4f149eb8ea5e6e208f83a88b7a5c7df007b28184c7fa9979bb7ee203999465cf2c88844591802f1160711d75629d2e15db42afeb6b37028a3487d4d00219ffff03f30a56f8f120a635cbc4d007e5dae26bf87599cb8c3adedc2e933ff59f1481a1032a29b36f7b15c0a9796d9e05a59a0d5cca5d377a8164f08ae95ed10e7717b9aa03cb96d47420aa3cf45849820c88f1606904b21ff1ffbe798f59b52d8121cf75d3039d5bcba467b4087b0396897dd4bf1451659eadf5bf0338c6769d0a518057aaad033a21cbd66f2217d895a7044e1569eee9b3e02562443d590e51be7452f06dc4ff03cf8359b780c8c3104b1b4740bf8e65e438217f7e566cd6097d892ecca04302940356dcc3129d013fdbc81c9dd72905cd97f6a4ba48aaeba9e60de5404c96b9da90035bd2a0c7591d98cdbeb384c64a5cf7c90446ff237a298689e4c9cc6a083facd700581f022cd75fe252d273d649279e8bc86c801889c2cb3338843c1626557fea5c7a4101035e9aa71a4fac9ff210a0fe1c1f162751461ddf16cfa1150088fac1f1daae817d035db99d4eab8ea82f10677e80bb5afedb75179d3f98c2943728df8c499abbeab000581f0240cd4f512c60208578ec1ef9daf9ffeac2041158e914b0f0ed1c1214db90410103971f7f029687eaf2b1a5ed288697a44369f75ca60a77543d6520951e26eb47ef0375a9a6e0456000eba7b36c2ced876f894ba897bfcee065fceb5c461bb9558a2003629ae151de23e791ca8990f7ab75fbacc7d756c911dad09c387f06c249a260db035974b0ad24204da8abc9d6f96ab0c2cb6f6271b6313759e667e5d6394d730769037acca650cd6296aa9c798c6169906e82ec455af2dd642161a5739971805688a4035ff0be164c0821ed9811a02d37ec3e431f277026cae1abaa6cbafd700fad8ef100581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60540fd04a68d3c3a692d6fa30384d1a87ef93554ee600581f0386f2d00261fd76bbf8029c44d3ed2ddda432329af792a76c085aa3eb4820410100581f03fde096b81acf19d85a0c5578074951d08b910d956cc574bfe3be0bd0f60041010219140403dd1d20d65d9a9653a6eabb19172dfa3b2926762b9756530c2135d01fcd0c65c60219ffff03e52cc721cc5944de0f41ec3f9eabadd546213e19b653ca4892a5e1eaec97f872036994b7dff6d6e1ecc2cb5432aa63158f33b182cce9cd35abd210ae949548fb5f03d3059427ffecea53e81a67fc08de55148bc0859ec6bb4c6c0d4fbac1c57bef4703390c258b8788860cba3026305c3b3d8fb0d4ecbaa629b69c530ea5d73ee7ceef037944477eeaee69d6a3c4c9a2dfecd24b7d55595535ef4595e8948ba900453086037142d82883eed197f45be92a7e0b8ef65917f96337ea8e290bb495fa6556710703617748501a10bc3886d9eeb76667ebaf137d24a397647ba21e8bb01c23e817a20332feacbdfbe016bac8f71acbaf6fd53a41438204f8df012d3287f7581e18c82f03fa41404dc480e2449ac0176ac2dd4d84f36a9e59c9975d05905f5e2c8ce6d49203636ee17a9d3d54c8ffb3d989b84c4304c60da4a1c2187073d661a9ce5e909923031539ff9590b54850a5821c8617ec1a2733acd0d43fb0c59e69cd360708418c4e035b815975512e7051f3f407a4f191d093de1ef87456411c803b6cdada2a7afead03a4491370a926c5e8ae8477558f8304431f6b2d5fc54722f9c9fed36264d420ac038fe0852fc81aed3cbf6848f21cd8091a88e65896ab5323820a440bfecf67d10103bb44a0afe257da367d0c37c4ad92a50d07b6e2cf9254a5ff41847a2c388532940219ffff03dde8ffa8e65c97781a96894826812f4a74211d83de3683a64d69e8caa1cf976b033e98b76de830d09f6fa063be435da724b63e4538712a95b5d37e49c362e17bbc0310eb535d29a52bf58861533a4cc4801df66c408abf7b8180c2b18ac060255fd0036c88fbcec81200773f12a18331c53b550be243ded9d7d42f3406597e9c2d06de03675fc1e80fb9ba02028072e0df86508e98dc3b9e2218bfde0d3dc7c6d745a8d103798eef4a6975ea4ad111c9c12418f6202f723127ee1c9def981f74c344b52873037e912f0d3b2063d3c29d7819bbdf79e2c480aa3b703bf713e1c3fcee173575c203dbad7dd59a84354cf85bcc031df323e24eac5bd2f001bf98562f6bd4347ed72a03b0054edf8a5f88ddf4dad3f7c515ccd50c4725f779c4d60aa5c02251c8a4d68d030f587eafa51ff8bd30750758d3b80be7e1fecc5ffe31577527c50d0eb1c49797030d610a078ad6223aa0503297f7cf005840248d8110425b325aa56b453c3a5e7803948fa2ca006044ff5d00f2bba832d58cb15a0a5219b7ee503fa6b57a6d487b0803ab0257c8fd31957fcdd0c5acd268bdcbcc0014fa213a2b644cbd73556caf72760307c6f80b47024a1b523f8e540e551e8cd714222ecf07fddb7b3f0a234ce610000219ffff03a4a6744e5ceff880c5cf79dba4625be44a284954999f21e055c8a6b1637200980300e9ddb385acfec299764cb623357167d1122d47d4a25616abca95f4297c34e4030160a763f4d0bf44648433ce89faa5ae2125dd0a72f6496a7f478bcc2432d5ae03daa7f4373496a35b72ba0d85cb4ec316453d15fa7cf95a0af13e0d42d4fbc7ec03faa7e1732c2e53c0661d8672cf9cab69b68f8c05c88db95a8921e16d8adfc84203f63f7ed1983d2b6d151ca82d4e7d9c0fe163e9c6e1916cafc0c260c02056373803bf46efc3e92cd8c3bc27c47617b1dd00791514031b97348be725d60a9bc3740703986a1f46fb0187f2b0f9a7d6bf80db7277d0218a25f2ef09a7c9824761716ae70362aca196f4b0d4da459603aff8b374ee3195daac73b0023e91fd5bcef8ef584403c7f54009e2901650946a6fd0216177eb6b2eedf22c4086055871956eaba2b30f0377bb37cd034f8496a582686185c6bc8372aeecccbb5e33e683e484571f3dd74103e9cace9008beccb551829f4ff2b82470ab7abbcba96b7acc1de2a2dc7eba519e030bdb2639821601f97fbae2b6907a5c2eac9411765ca652ee32044347c9777bfc036e1123b7e0a13a11b846c9717de6b7657ee92851fba7168ee6832af79ee2c05103a8d9c933ebd26cef1746e0d9280f716f68e839b8b7508656f8698acd1639537b030c186263eb1735631bf98cd4e95aa887d8749cb58436d8c867459c9ab1185823037da0a47a947b75aa525d40e5d71be34a284233af3f2a310a85c3d5a3efdd015d03e245390c0d8b17460ba4f1e56cb169250478b2547c7ee23a0c871538b39691820354670ea9633a0e4d17c30c25daa00ff339108cf75ef5079734f7c6e291c6bf5203f6fa6d69886aba9e530156ad262c6897a28e6a5f3001ee96f32208cc4f7582a1032d9c8865c8d1f0af4b9aa215abf24db77d721b5c4c7946d43e9ac2c0066433ec032c3919ebef2e4ec7244ce36031bf2ce74c1715b3736bf1d17ab7fd84a4217c5003de484d5eff9d14122e1a6d28568f205dc866216dc253e766727d8430628be171031e8191f52ff6ca1cdbdc5aec5f9ca0766c2bc77e0abd5c693b1f5e61bd6ba4880382ab3787d9808f68a23b4b1fa30cb0d4bb4f58c8592d8be1ba15bd86f90ee9d400581f039ad8f3e266b48a4b310080256676f6db01449a7de317e02926db7a7bdf00410103760388a2eeedfa5a3642ef1c27ac59b0939a5f478946f1b9a4eeede8653f451a00581f0390105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50410102190212031b537fe8e20f1b9548bcc2eccabe824431d36e3453f96bfe304f423fef0c55f0032b60799e610a548808b6c2107329324ce84db15b4b1350471961df80b37efc0e0338bb656adf2670ca8e8319f52476e9c2605b8cadb1049f3f1395bb6c9a30fe33030d74fe2c68c4d527eb78c0d054ddf1ab7a06dc2b3906f98ac0fa62c72aa075bb038993fad4ade4097c39ce28793aaeaaa3a7f3b6f8d228b7882d874b1811401e860391f8fa8b5a00554892edb982b4c64e7234c6e6c4d8e7eed01e17d632377d8cad037faa46ca0d74fc5389b68a1f332cc2dddeef500177b378cdeb78e26ae8cb4945033212ec2a8db8dd2c175595bcb3755c9d7d150e9c4749e90f3935096e74eb4d5d031a4a748745c3d0478dc5abd7e903acc376e40d6e99bfa70cff2564efed7f369b0219ffff03c43e4dfed2969c8f57c6277e62f19152dac501a362e79d72b2caf199492caa0e039950e980ca38aa3d7bb79d053492eeccd7845c14af8510ce32af7158d68e6fb903900c221e0a796a00a8429f8b4ee574ea447dd3978d4ea58133cec46b372eecc60392e6eec5af837339ac890de20a412735cab8a1b772e2eea3cbffbe5e03ebf6560219ffff03da9841ca7d2305bbc8887522fc91b10d8925645961079b95f383607fb81ea10b03372c86d873e5397f9d8aba756848234745586cd415227d5c483af7261c1452e503dd1c062cd994941c697f74d1e8a54c77423dc4d65e1dcb84af4461e20c6379860395f48a26a8d0bab5978c18fff9a256e8fa47397224f00a56ab3a5859212d58b90378ca79259d47ed423ac973fed18fc294def36cbe9428750b3f35809d56746a8e037f0ad9b66ba71aa83bed42b964756a15fb56ce40fd74cf4dcd050cac4eece68303df7a16482f93ae7f453b26f14d67ce1ff8df554ae76ded3ac685734ef2669a07032bab49c8c3b719011c794f097fa0589e5e1ccd86b737dda0653b92509f5dc8ec0219ffff03604fe9631182d88124628ef29eadd12be460970754c4f118a0201be89c397787036d5dd2d3400329d54b6f18a99ac7a80ef5e5567672012697c19764e8c23a5dcc0219ffff05581d0217602a35f6bc55efa0e713f7b88d2c3be123ff1962ad8ca33eb7ce230f1903af482cf559102bd8c1e01902a805581d027597a10d0e2c33f62c6ad519a0b7a4bccfbc7d36b5eb17e75e5c5781040602190c0005581e0301e3a9fe26917f7b811a06c7d90dad28d7756bb47997901201c78f8c200c04473d70f557251b100353f49adc9c413ca5ffcd4b62a8e7d904831b961362fdd76ea5af7a7c1cb043a705581e03cc56972ad612d3d446686ca66b2f3a15f0bbcc42d72446258871510df00c01470311266a46ea00031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0383866d82021727d5dcfefc6b460700396eba64510e5bbb2a779c399ab007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03e2e32a819460b8772dd08963913d0ad35a4320d87403bdd91df56321b007011bffffffffffffffff05581e03e1835f7e86314b1c67a7f13062f02cf80a83a8fd69c2094ed35fe75af004010219fef5032a993282cd6e2a909e80373668439d2377da300e1ccef3ab5e322a328b25a058035ffd2127ee76199890ac42a35dc28924b5eae866dd2db6ffaa7ac810c5be481c0219ffff03e31f4ba0a1ee07c316442ed39a5cb1d76bf65f3de5e6a2c8bd807e98e9cd363d0301aa4c56e08af41735f83c1f9098f68ab1ee574321e29cf430e58434474b0d4f03b5078811bd1fbfd75b291c9b9c0241ea0ed77355359b96c72d4cb7c6eae0ced103e397a7b3a7b54c5cada83e22974d93766b1fb756a3ee7dff35385df830fc9a98038544915f0270951a23347a623e1e354f9e2a63e541bb51697b2b0b8f3e556ef703b01daf9c6f22f0da775d945136beaefdbf1212c73dd912668787c180bc01617a0371a5265f068d6f2c7085857981e682d3341e418950d3693a02dd22c4c85595c2032af6504833953759865a3286d2b91d12d7657f105f76efe7eb49bd0722009bb803c0c446c2788d910873c37098e20b89812f92e5ee19423d55835e67bda232ac10038027f4b41e168b556bfb3db294e09315846e817abb5c4c23e4ac07e92988b32403e29ed5a87269f76ab9f19f60e1660bec279e067ff00fbabe9564f449a86b057f03749f8fb17c08a6d364b0dbf399585f811ffe8f2a94cb5a2d272c0dc8b47b6f3c0219ffff03b1e9863e5fc1ed32a483c3417bd6edc0dc099d78c34520fad5ee4896ba565e790390481df602d29da61893a1c68077b37162e92a59629d6e7a155c45512b1aa6d103409916a7e6611cc131e8942b179fd30ab3889706e4a573ac0640579da287b406034fa910103cd5016a2c412701c57f34df5918393a18efe773aeb0cb91591aca2f03aedf8142e7f2bf4293c99df84bfd5dafe7c3103ec29722f699c1cf34a344c99c03c40694d79ade891be49b6f27894d8dac3c9fd9aef2f12a6f82b99860197b0f4d039c5fddbb0cc12b7bf574ed6abff9bacb20731afba609fc073f5eb032efe354ae036afd1f97869de52a51dce6e8bce8b8a94017c83bc6576afbecc5c167a5e84c4c032403af79ca1a68c82658a429b2244c67b61d96a684ca8d9dfd81cb38cb5b58f80219ffff0325411c466c48d8623814572ab170c627ed2281e4ddebc579b044003431c6d43603439892e11b889633223ee5a27cdadf5fc525722a9b27a33919ed609988ec7a0d0219ffff030f3aff6f2ed7940614872541b64f1d77f07256777f073da740096ca08cd8ce48036884c375471fcd07ffd85d525776f32897c0a063c2e1a98c7eaedb650321fdba03fa8629710ec1bdf7e0ede3db3897be8bea021055f9cf36edb8b6dbb67bc20ecb031f4fe703e64a2dad8b4f88b03498c5c4ef229b7f13227472ba9ff7f1ef89bb9a03b12cc00e39bd286d7d2f56608bc8eee4b48b04f6f5466f03667785a923e39650037b2eeec67d6466b645730fe77d0ff7f4b58f11eff1dd27b50d9449bd66a97b58032774ce44df4d704c7ddb88fecab32bc3b74da5247b61cd74765648972305184b033d12723cec69d79f9b1b811b58c4e6bf27e3c5b48e1e8d8415c03ec2bdfed64703ec4c2225f370ff86cc1ec29694561d330e0ddb4fd443b2b22e2d1e9dfba9661c03d52b9641fc925f16af8f0d4266311cc6e41093aa56d13edc2905e8c0a631cbe003ad0f94b205fb5c86a8468d677875667702414eab7f0cd993ba387de61e11cfbe0330dd8f3aba3b2d0ee13cda279fd47eec26bf14e229120467d858c3aa3f22c09b0302e0747e922e3f0e5b35f6dc50fd1dcf281006b5206bdfd568ce11694f2fa1b50344aabdaa75dbd06d1c7837d3ef3d3cdfc01ebb21f9f616c16f9107632211d46b03e37ea886913e957bfa56a5145993a7d9c64e9ed45bebf9cc1ac5add55ec6272103bcbc77d19f19e327553f98c9ea3ffad2dde5d70feffa4fc4a9294d331474bd320317a8f9179d0002b58401bfe28221c6b46b042c8e579a12cd1cec4b1a3755b0a605581e03c4dd100ee82c2be508d420662eff6aa55b91fdd6c6202b4bf392a5fa10040105581e0366a4b17a1e9bd70a4d52082346622643c0fdb8d41f0b44bc6b2260bc300c014201f4036bbbce1ad1b721613bbf49f417339cc07201f66fba697023e9cda9a3e3f7ee4305581e03201c020f4baa605a6a173320a695257b120a406ea4ee88fae49d7ecc80040204592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203c9825a9bf821dfb6437977294205c586870db2aa625cbe8fa6403fb1f3f2fa870340425ae74dbe77ffe2312afcfa9076844b3590b44a9516555954b9312ef91a80031b63a565401e7cb9865d84d412d65a092650fa92a0bba7850776af36d00b723400582103b52e34644cf8779b3c78cd69a5207cf08f1b77df47f6e86752cd3193d9e5ca0041010324a6721a31577a81c07b6c3aade6982370e41a72ff4f9709caa27bd0ac6fbc9003018f8de48f5f80c9460366f91971196768d5d29dc005097d785671f4f24f8bd50058200238e9689977d526f580531775c606e5a07c1ff4f40a9ee98e4cca4fe145a2f4410a005820023ee37eb48b162e9dcf95eca50a2fa35f2a0662027b1d1f56fce3f27d610dba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af52025e5798691d9fc41860e93be0db85a1309402196200005821038fc5a4d3e49a2b686d34a1580dcba55cbae0b00f5baa849a2f540dee2294e560410303660a33c21f6171f89404845acb5cd2cdd52ad3ff87453e02e3c49e90e568236d0141070058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc203e83e1b53f80d5639e9bf964fd983e8983cf448d93042d9fb2a011e2d60669f0600582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582066848344002fd3dfe04f0022ad4e262d0278e4fc5694836ab807a5ddf6d7a218005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85115a6b577ad7f8ae97e91cb40607ebd2f9000582002ffe43f96e801a2a1e6aeba410f6aa5b9177204660842c5095e55478d5ff5004881eadab1cea5a1140219104400582002897559dc37ca0ed4397816dd90733e960b8fa9b84bcf5ee0d6a7d70a1c3650410100582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005820035db66a0a17e583fbc2a271720fd926438d0831e651b4cdd8de2009105bcfd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021901400219800803ede7f71917773f0bf4854ee10d0bce37c73069bdc3d87d79c4c2a1450c64149800582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687dae700000000000814d35a5733e688be000000000002fe3fa7faddb7839c0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5469420e3a3aa9e17dea102bb3a9b3b73dcddb95280058200266e63c7650d054b5e441c623ffa476879811ffea6a7264a506ea0729a35e504101021980480219ff7f05581e03fa05c0ed6fd6abf4eeff77cb655d64217f498c183443546a0557353a100701192c1d05581e03baad172c9a2a0182a689bf28c366e772d524fff15f90ab8a2f69583f100c0146a161ef60d40005581e03b148d7fd5f2a1e016935f49398bb107d2793d47079a5a83d608518d1e00c0647019fbb637e1a2005581e039a20020b17cbee869bfc1fc2cdebd37492d87011fb595b57aed563d9d00c01471a7f0e69da87dc0219d74a03d6350432c97f8612b011dae2ad16e9c69ff697fc1737821e04d10165ce091b6103319d92c14ea7d6b84e316dd79c9397e074d71f3c303eb78cb423cdbeffc6bb7a0366f56ce2284ce20fc1a2c7d595674fe989b05231bcb63221bdf15d5a3689b6a803bd2f11d836ef04cec80f19e7fb8e4a6bba89d2b1f3ee5abf00caba15a6b81ef00311a2cb693ac501887a0f04c118843521b9462d781401b5de92063ffeed1b6839037fc94cc00b2f48f46ff35841f11a2500f45bc2efbd851a40eaef2eb06e94195003140d1c34eb7da13123943b700e91d8fea3e86e318cca36f22cb895bd63fdb20503b788fa04c40d2e45a23ff2bf7b7310a77d547d18033c482ee7f9fceb3602542a03263de4358904a2b4dab4857febb2d76451662daa43fec59d0e89a1be224b782d03f1e7a85229793ac3fd7b2635505a6e606f654daf3a15a7b7f2b4799078b3bb7d032db23297f96930b8432d9e1b29a5fbda9db30536fa3682098846e38c2ac9992d03fbc5e8592acdf700b2882b32450294679cc57d7ed76e34dc3f10b62114c427e50346fc7ece288922f92e1660ae0bed44c388d90224452e2fff8c76afd25436dc9c03e2fdcb322f0eba089a21fc593714aae00e2289ae1fe37e0ac715f983d05584e503e4e985fe96aacce9018aab9612afbf528485ff800656ba86f9ea80b50a9fbf6a0219ffff039e273e2e63b0e9ddedf9b753d75c0be144f957b131326e568feb0179364bb98e03a390f2780e22c4e6090c39b1b825ec09f325bf7cfa63ba150679dbbabe433865037661ca21f826df4f627783c9b313dfa3f0c0ddb68bf98c44de57f733292d899503583a005350102e7d124b140e878b93ba87fc3d4d8b36050c6b0d3a942ce4a5c503da9182f916f75057597aa95cdfc8cebcb87974d9dde269f3aef5fe23479f2dad032641498ba085adf467ef71fec9cde093a750451ad6c1e0fcf31e3c1193796bb203b7a24969f56aa241426eb1e1446d5c6521e67b4cc182b35e8704dd1b9764631d0219ffff0362c889a81ed9f1f80095d4b4abc6f18a2a1ddb37c0eaf9e3abc996e7e186422303c140a5c0a1dab4681e98ac79aaf1894731de670ae68b4e66f617fcca94b25a2403f162d07a62a9232fbe8e769fbdb4fcc63d8b16a723101543ec5840518f2bb30d03f21f5bcf1bbb0015200f1cde1d3f78ff9f0c9b612cc6e2344e171f8afe49113a037bba436bb7fa1cec290a5937f03fffa1a18f1870a386db8612f64874bb59cf3c03037f940407d9207e8d361ccfbc03d91185ceaad32e040213dff39fe10c982f8003f6124b78c20d90229693c75ad966525801432ae78439be7813e660ef9277296403a971a2879c75e07086e2c158181d1c6c10aa1035f81091e9bc4f284c1438771e03a4c7c6c08d96d50c4fac8ba8b55c1bb035d93b6c2e7f2bdf91e8e9763d5327680385d6a265d3e9f8ea7975a30e0c05e98f979d8b304bba2d61e9fc1f08b26f69f8031c121436f5f8b18b8aa4919aa620865d332b68ae007786bd528d6427904d894a03fb022bec2e920e15811f0874d97fe71bc888d069eb680c0dff9ae50f21a80ee50219ffff03b49f1d84604f550454aa9a1d6cb9d9221ad85ea369a421fc6c19bf3c5414296603f5afeabe986fde621f5d0ee278e25cc1f6653d5e0338f5b9df9e15b020ecea65038f5d938435e84daaf93c4acbedc77cb8b061e47f9d267f8ebf0232873a25225803ae425023aace84af900849652e6d10aa851f3690b4fe3cc68b921b4a528b872a03851f3c9ad774ae0b9c6f0f6fd29e148198130ecdb340393cb750bc0b7225d74203e8f63c3297bd22a6407eda5f6105a7640d10f55ef5ffc3da89937db99bc78b2d03d137f0afaf45b09d4f6cfd40113a98b774e403399a207e73d6078c5fd6324a0d0338e7eb349ee08a8604acea5316cf5a6af9812059bd0745484fc5008098949f37039649cb080f69a53dc433baa798a3db14f924b11b0c5425a866c31db78c4f589703bfa49a30e7dd319054f9f575e18d55d20f7c6b1d0939295a1f69dc25b56a2a5a03d0c2208533ac43b13e03af51d4e5ac72c311e9814a49f1530a5da94a8531d7df0219ffff03d79b5477a653b06c373d058fdaa834618c7d8a422445d1582ceb6f7a7385f041033dabb7b9dded65e6799d5a7596f2a312ea0b49844b59c32654881189686c67e103be33cb19d89d8865233adcc4d26a5cca51bd89810e85f0b0d8a89c86c768ee9303a85b7989e1f4aa011e4c99a0ff8d16537624b528374664a7d97dc598d08d42ed0308ee468e29cd1a54a0d5f60bc9c96f7ac5102574bc6a5767e683ae27fca5fa32038540f1f347a3363141438e391eba844056e3536f72ccff038fc328e3a773339803ebf4a8b777e6bacc9c12d6cc3cc9e8d743b78a794d45eb49f155320d1cc55b8a0316b47792da421e19ff0928a03ba2112a4a4c26f3e5dd99a1d2e53c54c7750a1303e580914524374ffa3446fd76bb85af57280f23eb0444962b08e6f4089c68905a032521bfe3141678e988ee2b52137d98b5b777878fb5af68e6fa593ebb80d2e025039fbcaa8f73e7d738444f9e01a1a339881d0836b9acf4111b532e8f4f247f6388032e69113b94597e863d18be89e9f5a934554900373bf77b5468d5530791605a090380e840235b5571649eef775ed4dd7e4f9cf4877e751676a35f5cedc14a99b7ab038be4ce4042e3b11d76055561ed0b8bbb0879e0e197a88fd4579da09d277db0e803ab3c64bc2768aefbb700fe56836048538146909fbef0437e618d0119a7cf2799038f9dddba38c0d83bee9456484f59b775a359cc27107c6c997d91dc2405fea520030fb61ce64df6f534975fc0fa9cc01a183521d673fc11c51e054592dfd5760e0e03e19be8500ab9b1cf9b1f1e332e8652e9142b19082dc55fd06071beb660748eb00354628474b0fc00373e672a8095077bd41e8dbb038350dd34ea6fafc30f3de32d033881fe4db1e2a1d5c8c936a2ce08370237c1c6ae6216c2de15c36ac76e1a80f603e3850dba0dac22ad243560215662e71856b7ce63d7525975956452ab7cc5dfb3039cee5cea3886a16b2068f955187208924700a4ca926ed393b5ac09b3b0d972b203166ab3aca981f4eccbba35afbb28c84255ed3e3e41a2b5dcfd8a7c6aeff0e18e0332c3a3a6c21f06a6e2fef08fedeadd2919c702de375d0ae8656b093fd006c85903e385caa5ffb170b49377747d48935f4ed0db7d2bbe312e0992e5c8fdf01ea32d03701b62f075cdecfd057c574cda32629e42ceb5db26e3daa5fd31f8c02a854f6403ad851defed1e83cbb4a78c1fa8042043f93fbbaed4b16e26bd337795d29b5f2f03189cd4b1ac15a903a89ec70a2af406c40a33d2ba96b7f827b0fc8601da577c0803e77a922bc2b38f5af7eafd77fbd03f852361bbd7a5b7b1b6bd007c9c594e5ffb03f2b9ed8b4ebd35a729f3baf58b8d07c43e54c5655aed8fa70202b9248f69f2db034a3a9c4e4dfdca92f0bc60c2cf1a39e45a909ecf2c418b6ac0811099f95727d90346ff912c2949ef6558aeb5821c1f7fbf44638ff89c7b12bf049bceb9741739e50316a503aeac54e4dfeac4131acb74d50a3c82ffe943a38a85150c9d1be8a6891803df20804cd76ea0f39edf8e87b3b4a6ab6fdd2efd3e0e7ab0d072b20654f52b280336d634a349a0e2372f32c1464773d5c726f321331742f96be5e068c3381aa3e3031290fb3d2f09595dccc550b47bbd14b6593b928e231075414c4a7fc070e4043905581e034c80d999102ae28b5b18f90a35e1b66ac6959a506862017a421aa59d700c0744ff403b9803de369a6775808d9d11fb202129d9572fff471c25b52270ce0ef0ec42204c397405581e03dfbdb1de75a6203ea0e385f71212ab4515d24a9df88a339d50a3347f30040503a0747d774c8a90ce56d532686204355fa78a22b277371d7d47ffc9671ec7c65703647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d037c501b9b766d33f8076a89f11dbfbbc74322f30a0809f1c85ae523a13f1ea96e05581e031927fc1c5423191ab6cf80944a1bf3546c01f3f127f2a4946d91ec878007011bffffffffffffffff05581e03861879f35adfc1568e18eb7949c2e6db2f4f434a3db53af0cda63b04400c05470966bdc330c00005581e03e8ac49396b3e2959ea775c14be1187dadf9eb8398ac5103f505ad8dbb00c19190f4821097df45447a2fd033f7a4676b754ba0ede008eda681f22ac586d2b557b5847185186aa1402e0c8d90349bd7585df1740334cac40bca3d1b70427ec0ff45bf09fd5d3664ee62d9ba5680305d23a849cff5e7e31fa5625769a0e962c6a5fbe001f7f722888705b3153dba303e5e1cceb3b0015819b8f078662040304a9dbaf2bdb4586b4867797e3da143f390393d7d8e386ab16b84c1c38851dbf7e6d75b1db48f0912102301efb04653724b30219eefa0337d94c28ac122e75be75e8e4472f60cd4668ae1f59552336fb9466927138d927039811a4debc721ff79055fcfce62a1138de57daf0d5f88ccffba32c7f73d0afc00219ffff03bcad10606419d2ff36da1a15e3a38924b75a704b130e20f33fe18f14244fa514035e0ad745998d6bd729f5e8f95c87d7686ff0589994421eaa9380d916c01f97c903ebe99fe1e674d9c32af414fedc9079f4302ac17b302a815113a254e4eb9201360396cb41256d1c62f2129c1c366e77c7fc86cc4c3ad7aba1712cfcb8c3ee83487e03c8b4c32ca03aa5583fd8b19fbb448089c00e32d17180e7c1c4d086b1f23b8b0003847bb8514d6a1477c4895a091d6b06f38b845917d9ddea953b259d8f3f59a21a03d9a82969d828960da14390b1e9e0b5995915cb052eb163a480da76e8027d892d0219ffff03dd8265fc9bfe0ee740f36270c6ab70d769efd9a556e296e17a507e5ee606318903f4e616808596c7a4c64de53b0864e7aefa93c38470062cc6ef6f3628c17bf3f80219ffff03f73fecd7facbc3df3828c729fdf13c0c4e846f803611b1f68dfe6fdc78fdf444033a7378d6ec8d0105ee5c6cf97b82ba76320e2bb5c4bfbcd4957e69c9afd6a37303759120eed0b3cca958ee1becae5c8cae1aa5ebb9efa023fe34be6adc32c475e003fc0ef830683697cf6813276df49e3f3b40e269eda56eac5477ef812b16eafe8a03a1c5dae69790d19a59da49f3dda5c5ed9ead88c49a70efa4a0957c7968dc18c503ffd1f10c5e56cc3d3a0a53063a204b20856c12252d79f8c88d086bcdaae1100103e60a89d19742f7dc722708d015f9afe0f038f64bdb110882f9a0c5719ffc0876033318f7182076aafeb7edfed9c0ec3a403ad21726d2fa6778df065817d8e4c24d03a1e852d56c2d1068ddc8e8053867d927a184747b411497669d82eb9a92290bd5036df1e11dfc995abb48625ef0dd87a714479c20323eb2f1ee2d919a885278cc62034e8bb2416114749790a7f20f17ea587e7cf7f0bdc6a168b007ba02330ce9b6be033956f01ebd847a3b244932634ccd138b12e93ae7c811c3e5f68ac9f76ae5abd5036828fa10efc8b8524e901eaad4428cef71cd265e60fe4c5120f8c6216fc8f2210219ffff039ba837dc8be8fe9bf8777dca7c2fda516dab448857f671910acaa2f882278ee003d7c5eef95807e1ae274aa04826fb724488bb9b6e12a5aeb180f9f3ee6b22045d035b2aec7c2f6de0a1e1bf246c0f7ff451f7ec7a942ac6d07557cd06d855ef379b037230a63f0c3a034f65d0ebcf5dff5f973669ac645fb24addc29cf089204b950303090d3d5d2f41665d4ff7d375ba2bb3d47952f5f8e9e80046f59f26fee21069a8035e7a378fef0da64e195bc9779a7672e8da6ede02dfe7fd50b4c4194b8af496bb0375bae4b53b4d324dc5f20130fd415169d76aa2bd4f9f8b75489123815c21037303f1c845132e59cb10617e38e5f63a8bca0aad76ac462f42fd2a34d260c3b459d603672ff1e73666d71b63462dcd05a8653f762c43b53a4a0eb55b9da0149b37a95d031c12647319357f316013f26e5e812fe7b389ac1f61fd8279db35588728158a0503bc1ceff81b0f6d91c55b92f73d4688accf75a505e2ba8968fef63ce80118bdbb039ccddd7d68499c3803da30a2074abe5afcf11d76b6defaeca55cec28d3a38d0603ff91c9288293bad242700c79406c0dae9b1bb4759f8aaf6c64b31effb3c6edca03e9c56f554458843559503c11a923a09fcfaaf579d661a0ab5f91da23a48df2d70374ee58bcaa19b3dcae875a317e3c6d029328faf0c6bb5662fab7fbcaf8ca0c990344faa910c5cc83f3b8b03c55f966660c9fc36f5f20b14b8372c36dde198f0bb1038d19a3042c83245234cde7491ab8611cd1404046f00c6996f7740793fd60f516038ed2b8ec53b898c93b624aaeab0ad896edf5bd77f63eb353c1fba51b0c66e7fa03ac5ad07f9325785217d0813764d1bb885435a5367269908df0041934c6312b9e03f1a240144fe1e9c8478c9c73db2f34931398459d2372efede61c38b93b924ce103da3aaabe7d13c53a8c175c52df63480989729c05735510df313bbc0818b3b51d03a8c1e54dddd5a6c69750eda1b26b5f95ec1f4f4357ee7157e2baa58aaac0d38c03145400c57ed0f5e3d4745eaf631e0c45432a913d84628a3a9251d43aee8b6b3803da5c6ae98773238227739109af8b1ebd3bb6b37a61c3642ba32a8d110e1b10df035d3f8ae834bebaeb19d26085aeceb97ac0b50dbbeb137a6e19cc76f6e53134ba03ad96e512b98405d715735745e35d719431cef8a230d026c138cae8c51003f68f03b938e563e7e4a6c8d001cec3095f32b62ec1fbed5f3d8568b64cf47d263fde4f037c4e1b901118a874ee11225b18fc4720f1e75ab5bdc472ac725944de9ae5b4de03246abbf3becbc97c73a014e39b91335c69786f3e5e2374ec2bad512e0efcfa5c038e15124e8573a98e87a0ab029c4399216b2bf32942c1a9f7b8da48a6dcb88b7d0340edeae7b5580478343101094e566020f37c3c48df98a40ae997f668f650df4f03cbcbd5440ecc66ca5f064b007989dfb79dfa62486335534cadb07c55e4c0f8e7033bba86edf4ea7ebead0006bd35d5014bb7ee05354928cbdf35b3fcbf27a1eedb033384751c8e9e2b43cdf9afe38f85ea83a5fcb0078dc064f3a2ddc6a0c3f331ce0343310ce29be7a81dd4011d8ea6f43a62eab26c98967ed0c63c2c6ae0967a786a0356eacd76fcf790dbc62d0615beb3975ed3659b3e4cd2461970e141fdd7276d990345f42e72c325ed68cfed85844e3cddae9357f8fd304deefd98020b777daffaa503337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03c4889c0c20fa13e0f2160166e3c394dac4cbf5fe85cb0f9004af1f5bccff4d0605581e0356aa49f8248736d4e2e8d0fffb74c21544b704dff71a809a77179f2b7007011bffffffffffffffff04592e466080604052600436106102465760003560e01c8063780a47e011610139578063c4d66de8116100b6578063d76eeec61161007a578063d76eeec614610669578063dc310b4114610689578063dd62ed3e1461069f578063e43252d7146106bf578063f4f3b200146106df578063fbda759b146106ff57610246565b8063c4d66de814610601578063cdfb2b4e14610621578063d0e30db014610636578063d19dea651461063e578063d6b0f4841461065457610246565b8063a457c2d7116100fd578063a457c2d714610598578063a7b9544e1461046f578063a9059cbb146105b8578063bb6a0139146105d8578063c18d7cb7146105ee57610246565b8063780a47e0146104fa5780637b2c90701461050f5780638ab1d68114610525578063902340a11461054557806395d89b411461058357610246565b8063313ce567116101c7578063543c679d1161018b578063543c679d1461044f578063679aefce1461046f5780636f2f755f1461048457806370a08231146104a45780637342bbd4146104da57610246565b8063313ce567146103c357806339509351146103df57806349060d71146103ff57806351fb012d1461041f578063537ef9b51461043957610246565b806316b716d91161020e57806316b716d91461033857806318160ddd1461034e57806323b872dd146103635780632a0e5e36146103835780632db6fa36146103a357610246565b8063045fb8881461026b57806306c933d81461028d57806306fdde03146102d2578063095ea7b3146102f45780630f01046614610314575b34801561025257600080fd5b5060405162393b6d60e11b815260040160405180910390fd5b34801561027757600080fd5b5061028b6102863660046128d5565b610715565b005b34801561029957600080fd5b506102bd6102a836600461295f565b60016020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b3480156102de57600080fd5b506102e76107d3565b6040516102c991906129a0565b34801561030057600080fd5b506102bd61030f3660046129d3565b610865565b34801561032057600080fd5b5061032a60965481565b6040519081526020016102c9565b34801561034457600080fd5b5061032a60975481565b34801561035a57600080fd5b5060645461032a565b34801561036f57600080fd5b506102bd61037e3660046129ff565b61087f565b34801561038f57600080fd5b5061028b61039e366004612a40565b6108a5565b3480156103af57600080fd5b5061028b6103be3660046128d5565b610993565b3480156103cf57600080fd5b50604051601281526020016102c9565b3480156103eb57600080fd5b506102bd6103fa3660046129d3565b610a4b565b34801561040b57600080fd5b5061028b61041a366004612a40565b610a6d565b34801561042b57600080fd5b506002546102bd9060ff1681565b34801561044557600080fd5b5061032a609b5481565b34801561045b57600080fd5b5061028b61046a366004612a40565b610b26565b34801561047b57600080fd5b5061032a610c14565b34801561049057600080fd5b5061028b61049f366004612a40565b610c29565b3480156104b057600080fd5b5061032a6104bf36600461295f565b6001600160a01b031660009081526062602052604090205490565b3480156104e657600080fd5b5061028b6104f5366004612a59565b610ce2565b34801561050657600080fd5b5061032a611370565b34801561051b57600080fd5b5061032a60995481565b34801561053157600080fd5b5061028b61054036600461295f565b61137d565b34801561055157600080fd5b5060005461056b906201000090046001600160a01b031681565b6040516001600160a01b0390911681526020016102c9565b34801561058f57600080fd5b506102e7611400565b3480156105a457600080fd5b506102bd6105b33660046129d3565b61140f565b3480156105c457600080fd5b506102bd6105d33660046129d3565b611495565b3480156105e457600080fd5b5061032a609a5481565b61028b6105fc36600461295f565b6114a3565b34801561060d57600080fd5b5061028b61061c36600461295f565b611520565b34801561062d57600080fd5b5061028b611683565b61028b611758565b34801561064a57600080fd5b5061032a60945481565b34801561066057600080fd5b5061028b6117b0565b34801561067557600080fd5b5061028b610684366004612a40565b611881565b34801561069557600080fd5b5061032a609c5481565b3480156106ab57600080fd5b5061032a6106ba366004612a85565b61193a565b3480156106cb57600080fd5b5061028b6106da36600461295f565b611965565b3480156106eb57600080fd5b5061028b6106fa36600461295f565b6119e4565b34801561070b57600080fd5b5061032a60985481565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561077357600080fd5b505afa158015610787573d6000803e3d6000fd5b5050505060005b828110156107cd576107c58484838181106107ab576107ab612abe565b90506020020160208101906107c0919061295f565b611b01565b60010161078e565b50505050565b6060606580546107e290612ad4565b80601f016020809104026020016040519081016040528092919081815260200182805461080e90612ad4565b801561085b5780601f106108305761010080835404028352916020019161085b565b820191906000526020600020905b81548152906001019060200180831161083e57829003601f168201915b5050505050905090565b600033610873818585611b8e565b60019150505b92915050565b60003361088d858285611cb2565b610898858585611d26565b60019150505b9392505050565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561090357600080fd5b505afa158015610917573d6000803e3d6000fd5b50505050670de0b6b3a7640000826097546109329190612b24565b111561095157604051639dd414a560e01b815260040160405180910390fd5b60965460408051918252602082018490527f27e4f2f352935a2ca3e0ce8449fe7cb9d5a6ff6bf77dd8b3a15b7fe8e6c70b17910160405180910390a150609655565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b1580156109f157600080fd5b505afa158015610a05573d6000803e3d6000fd5b5050505060005b828110156107cd57610a43848483818110610a2957610a29612abe565b9050602002016020810190610a3e919061295f565b611ed1565b600101610a0c565b600033610873818585610a5e838361193a565b610a689190612b24565b611b8e565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b5050609a5460408051918252602082018690527f08dde51d1eb863f6f778ed692f211d8fbe9842b2f1a688face1a896aedb0fa45935001905060405180910390a150609a55565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610b8457600080fd5b505afa158015610b98573d6000803e3d6000fd5b50505050670de0b6b3a764000082609654610bb39190612b24565b1115610bd257604051639dd414a560e01b815260040160405180910390fd5b60975460408051918252602082018490527fc6a0a21af7e95fb21f7a2393b2004d6a61318bede114a5d92a3d2b7949a714d5910160405180910390a150609755565b6000610c24610c21611f6e565b90565b905090565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610c8757600080fd5b505afa158015610c9b573d6000803e3d6000fd5b5050609c5460408051918252602082018690527f4c9adac02d01fe2dc78362d7bf107fc644b07591c9bc388829bce56460a222d1935001905060405180910390a150609c55565b6000546040516312d9a6ad60e01b81527f2d75377dcb6dd2e926b45cf6146dc2d7b3733f67c9846fef3fefd0e32c3c74e460048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015610d5257600080fd5b505afa158015610d66573d6000803e3d6000fd5b50505050600060029054906101000a90046001600160a01b03166001600160a01b031663d19a85026040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190612b37565b15610e015760405163e014c4ff60e01b815260040160405180910390fd5b6000610e0c60645490565b9050821580610e19575080155b15610e3757604051630c961a3160e01b815260040160405180910390fd5b84600003610e5857604051630beee2d360e21b815260040160405180910390fd5b600060985442610e689190612b59565b9050609a54811015610ea75780609a54610e829190612b59565b60405163385305b760e21b8152600401610e9e91815260200190565b60405180910390fd5b6000610eb38688612b24565b90506000609754609654610ec79190612b24565b90506000610ed782895b90611f8e565b90506000610f06610ef68a610eec858e612b59565b610c219190612b24565b610f00848b610ed1565b90611f9d565b90506000610f21610c21610f1b81858d612b24565b87610f00565b9050609854600014610f86576000610f3b82609554611fb5565b90506000610f56610c21610f4e609b5490565b609554610ed1565b905080821115610f83576040516328a4885d60e11b81526004810183905260248101829052604401610e9e565b50505b6000610f92888b611fb5565b90506000670de0b6b3a7640000609c548a610fad9190612b6c565b610fb79190612ba1565b905080821115610fe4576040516322249b8d60e21b81526004810183905260248101829052604401610e9e565b600080851561130057610ff73087611fda565b600061100589609754610f00565b9050611014610c218289611f8e565b925082156112635760008060029054906101000a90046001600160a01b03166001600160a01b0316639ffaaa3b6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611072573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110969190612bc3565b90506000816001600160a01b031663bd8206886040518163ffffffff1660e01b81526004016020604051808303816000875af11580156110da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fe9190612bfc565b90506000611167836001600160a01b0316634f20b8886040518163ffffffff1660e01b8152600401602060405180830381865afa158015611143573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c219190612c17565b90508060000361118a576040516367c0fced60e01b815260040160405180910390fd5b60015b826001600160801b0316816001600160801b03161161125e576040516328cecbff60e11b81526001600160801b038216600482015260009081906001600160a01b0387169063519d97fe9060240160408051808303816000875af11580156111f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061121d9190612c30565b6001600160801b03169150915080600014611254576000611245610c218b610ed18886610f00565b9050611252308483611d26565b505b505060010161118d565b505050505b30600090815260626020526040902054915081156112fe576112fe30600060029054906101000a90046001600160a01b03166001600160a01b03166396e9da556040518163ffffffff1660e01b81526004016020604051808303816000875af11580156112d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f89190612bc3565b84611d26565b505b6094899055426098556095859055609954604080518b815260208101889052808201859052606081018490526080810192909252517ff0e4379b3fd6b436bf73f47761c746a33d02bbd47835cbd8050b130fb2c6db2e9181900360a00190a1505050505050505050505050505050565b6000610c24610c2161209b565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b1580156113db57600080fd5b505afa1580156113ef573d6000803e3d6000fd5b505050506113fc82611b01565b5050565b6060606680546107e290612ad4565b6000338161141d828661193a565b90508381101561147d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610e9e565b61148a8286868403611b8e565b506001949350505050565b600033610873818585611d26565b600254339060ff1680156114d057506001600160a01b03811660009081526001602052604090205460ff16155b156114ee57604051632d85515d60e11b815260040160405180910390fd5b6001600160a01b03821633036115175760405163dc33424560e01b815260040160405180910390fd5b6113fc826120b6565b600054610100900460ff16158080156115405750600054600160ff909116105b8061155a5750303b15801561155a575060005460ff166001145b6115bd5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610e9e565b6000805460ff1916600117905580156115e0576000805461ff0019166101001790555b816115ea8161227f565b611630604051806040016040528060068152602001650e4e6ee8aa8960d31b815250604051806040016040528060068152602001650e4e6ee8aa8960d31b8152506122a6565b611639836122d7565b5080156113fc576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b1580156116e157600080fd5b505afa1580156116f5573d6000803e3d6000fd5b505060025460ff1615915061171f905057604051635f076d1760e01b815260040160405180910390fd5b6002805460ff191660011790556040517fe5e5846f783279948f6ec5faad38318cde86fe5be7ea845ede56d62f16c3743490600090a150565b600254339060ff16801561178557506001600160a01b03811660009081526001602052604090205460ff16155b156117a357604051632d85515d60e11b815260040160405180910390fd5b6117ad60006120b6565b50565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b15801561180e57600080fd5b505afa158015611822573d6000803e3d6000fd5b505060025460ff16915061184b90505760405163fca0549760e01b815260040160405180910390fd5b6002805460ff191690556040517f212c6e1d3045c9581ef0adf2504dbb1d137f52f38162ccf77a16c69d14eba5c390600090a150565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b1580156118df57600080fd5b505afa1580156118f3573d6000803e3d6000fd5b5050609b5460408051918252602082018690527f789d9f061bf0f3168343be4f3221ced5600fc12b01682b64edf925abd8dc64de935001905060405180910390a150609b55565b6001600160a01b03918216600090815260636020908152604080832093909416825291909152205490565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b1580156119c357600080fd5b505afa1580156119d7573d6000803e3d6000fd5b505050506113fc82611ed1565b6000546040516312d9a6ad60e01b8152600080516020612df183398151915260048201819052336024830152916201000090046001600160a01b0316906312d9a6ad9060440160006040518083038186803b158015611a4257600080fd5b505afa158015611a56573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092506001600160a01b03851691506370a0823190602401602060405180830381865afa158015611aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac59190612c17565b905080600003611ae857604051637dd28aa760e11b815260040160405180910390fd5b611afc6001600160a01b0384163383612340565b505050565b6001600160a01b03811660009081526001602052604090205460ff16611b4557604051635821868d60e01b81526001600160a01b0382166004820152602401610e9e565b6001600160a01b038116600081815260016020526040808220805460ff19169055517fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df7579190a250565b6001600160a01b038316611bf05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610e9e565b6001600160a01b038216611c515760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610e9e565b6001600160a01b0383811660008181526063602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000611cbe848461193a565b905060001981146107cd5781811015611d195760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610e9e565b6107cd8484848403611b8e565b6001600160a01b038316611d8a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610e9e565b6001600160a01b038216611dec5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610e9e565b6001600160a01b03831660009081526062602052604090205481811015611e645760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610e9e565b6001600160a01b0380851660008181526062602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611ec49086815260200190565b60405180910390a36107cd565b611eda8161227f565b6001600160a01b03811660009081526001602052604090205460ff1615611f1f57604051630dde5fbb60e01b81526001600160a01b0382166004820152602401610e9e565b6001600160a01b0381166000818152600160208190526040808320805460ff1916909217909155517fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab039190a250565b6000609554600003611f875750670de0b6b3a764000090565b5060955490565b600061089e610c218484612392565b600061089e610c2184670de0b6b3a764000085612446565b600081831015611fd057611fc98383612b59565b9050610879565b61089e8284612b59565b6001600160a01b0382166120305760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610e9e565b80606460008282546120429190612b24565b90915550506001600160a01b0382166000818152606260209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6000610c246120a8611f6e565b670de0b6b3a7640000610f00565b600060029054906101000a90046001600160a01b03166001600160a01b031663a3e7dfd36040518163ffffffff1660e01b81526004016020604051808303816000875af115801561210b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061212f9190612b37565b1561214d5760405163bb28eded60e01b815260040160405180910390fd5b3460000361216e5760405163798f9d4f60e01b815260040160405180910390fd5b6000612184610c2161217e61209b565b34610ed1565b90506121903382611fda565b34609960008282546121a29190612b24565b9250508190555061222b600060029054906101000a90046001600160a01b03166001600160a01b031663f712312c6040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612201573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122259190612bc3565b3461251a565b609954604080513481526020810184905280820192909252516001600160a01b0384169133917fe28a9e1df63912c0c77b586c53595df741cbbc554d6831e40f1b5453199a96309181900360600190a35050565b6001600160a01b0381166117ad57604051631e7d738760e21b815260040160405180910390fd5b600054610100900460ff166122cd5760405162461bcd60e51b8152600401610e9e90612c65565b6113fc8282612633565b600054610100900460ff166122fe5760405162461bcd60e51b8152600401610e9e90612c65565b806123088161227f565b50600080546001600160a01b03909216620100000262010000600160b01b03199092169190911790556002805460ff19166001179055565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611afc908490612673565b60008080600019848609848602925082811083820303915050670de0b6b3a764000081106123dd57604051635173648d60e01b81526004810186905260248101859052604401610e9e565b6000670de0b6b3a7640000858709905081600003612409575050670de0b6b3a764000090049050610879565b620400008184030492109003600160ee1b02177faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066902905092915050565b60008080600019858709858702925082811083820303915050806000036124805783828161247657612476612b8b565b049250505061089e565b8381106124b157604051630c740aef60e31b8152600481018790526024810186905260448101859052606401610e9e565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b8047101561256a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610e9e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146125b7576040519150601f19603f3d011682016040523d82523d6000602084013e6125bc565b606091505b5050905080611afc5760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610e9e565b600054610100900460ff1661265a5760405162461bcd60e51b8152600401610e9e90612c65565b60656126668382612d14565b506066611afc8282612d14565b60006126c8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127459092919063ffffffff16565b805190915015611afc57808060200190518101906126e69190612b37565b611afc5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610e9e565b6060612754848460008561275c565b949350505050565b6060824710156127bd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610e9e565b600080866001600160a01b031685876040516127d99190612dd4565b60006040518083038185875af1925050503d8060008114612816576040519150601f19603f3d011682016040523d82523d6000602084013e61281b565b606091505b509150915061282c87838387612837565b979650505050505050565b606083156128a657825160000361289f576001600160a01b0385163b61289f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e9e565b5081612754565b61275483838151156128bb5781518083602001fd5b8060405162461bcd60e51b8152600401610e9e91906129a0565b600080602083850312156128e857600080fd5b823567ffffffffffffffff8082111561290057600080fd5b818501915085601f83011261291457600080fd5b81358181111561292357600080fd5b8660208260051b850101111561293857600080fd5b60209290920196919550909350505050565b6001600160a01b03811681146117ad57600080fd5b60006020828403121561297157600080fd5b813561089e8161294a565b60005b8381101561299757818101518382015260200161297f565b50506000910152565b60208152600082518060208401526129bf81604085016020870161297c565b601f01601f19169190910160400192915050565b600080604083850312156129e657600080fd5b82356129f18161294a565b946020939093013593505050565b600080600060608486031215612a1457600080fd5b8335612a1f8161294a565b92506020840135612a2f8161294a565b929592945050506040919091013590565b600060208284031215612a5257600080fd5b5035919050565b600080600060608486031215612a6e57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215612a9857600080fd5b8235612aa38161294a565b91506020830135612ab38161294a565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b600181811c90821680612ae857607f821691505b602082108103612b0857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561087957610879612b0e565b600060208284031215612b4957600080fd5b8151801515811461089e57600080fd5b8181038181111561087957610879612b0e565b6000816000190483118215151615612b8657612b86612b0e565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612bbe57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215612bd557600080fd5b815161089e8161294a565b80516001600160801b0381168114612bf757600080fd5b919050565b600060208284031215612c0e57600080fd5b61089e82612be0565b600060208284031215612c2957600080fd5b5051919050565b60008060408385031215612c4357600080fd5b8251612c4e8161294a565b9150612c5c60208401612be0565b90509250929050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b601f821115611afc57600081815260208120601f850160051c81016020861015612ced5750805b601f850160051c820191505b81811015612d0c57828155600101612cf9565b505050505050565b815167ffffffffffffffff811115612d2e57612d2e612cb0565b612d4281612d3c8454612ad4565b84612cc6565b602080601f831160018114612d775760008415612d5f5750858301515b600019600386901b1c1916600185901b178555612d0c565b600085815260208120601f198616915b82811015612da657888601518255948401946001909101908401612d87565b5085821015612dc45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251612de681846020870161297c565b919091019291505056fe4ff52032f36e32ac782042a01802e20394d4255c84a3c046490be98ab632691ba2646970667358221220f28b33912752b9cdac9d9235eba635777f42ed85309c528861acdca0a5377e9764736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e0325a877932cec3297a6bdc5392666efcbe3e582e829bdbaac68c22691e00701192e4605581e03c2c355ebc402811ca59171be5304b226754225160a24dcb6e9e18aee2004181805581e031a53b0cec58cdbeb24e33a3dc8da4c2d4047a077da2186667296ed7680040105581e03155fdc2c0727ab6763200c0ce91008d517c8ecf5ddfdfe016cd46240e0040205581e03ece65de97e2ec266afe40c64706d7c59338a138c31e0b31e2a5a8e0800040205581e0309826cd8c7bb37022110d3856c05a5613ffbb1cea436ad41266262bf700c18364705518cb5d3f45305581e03c09ef0b884c59692b71e29ca06c63d35624884f577c813fa64fe8c769008471d8078a65aac00033f604f3331290323ca526376654eb986af74246f98123e7dfb931170db12f44205581e0336962776b68c635e1bd7aff429b126e5ebbd4508ec42f8b60d377c279004020219e79d0348a6e7b235c3e3f6963741736206731ef59ddb0279234867083facab022cbfc40219ffff039a4f11469880d4221d98cc6928c732578420b6c50cacebd035596fba3443d9e803cc2f4d587071f14da543e3a6470806762d931bb2d60d9827b3355c33d4a8c10303dd2c2e3679e384064c4c2b22c4dad8728c2fd3a685f0e650bb57dd045785298f03e9d55f61b0b056579031f554a392de88ae84dff0a21d170c7f28f26c8c26b92303ef7689c718cb513604e826cfb214229971d699e20b330d4043ec00d24d538be803b930fd0cc02451582812c9742c9a342d2c701582622a4b7dd1179f97a5c8496a032ac62d6be126222741b1baf026ca3e9e00743fe7f24535a2228204758fd343bb0382ade26e8dd33453be66211e04c5e9b4d95b2845b9e141b5c7977ef013b2e5fa03bbe4938d4fff755952a57e005bdcdb2d509d6fc9c063a907b9a1474c3ef5ec8c03344c83db32aec80cdf479d2ec8c37f0f37ccdce1bafa682a2b11006bce59a7ca03ae459346e51e4364188aa879259a15097d8b804eb9e9a13f7f4094549334b19503b0b321573aa9ee784de06eb7a0e7a691cab575f2a49d5f29616d6faba298b1f0036fb0c666022d830c406b0b5086a414fd9d775d64227c9633084deb7521b7b71a0302ecd6a7fe489b59ad0ed445d8fc2314bf9c7f5e09c2748a2dff6029a29663820219ffff0219ffff03770ae010566ffe7d572c04d042fe7c3049007bbceddd8999ad4770750b8fae900393e2d5042897aa3938f89f0aeac0f04080f002e35ae31bea3276262404ba058503b9ce8b4c6f911bf31a3f8e23486e6cb8fa0f3ccb23dbe1b086bd81b43bf36f3003813106d02a34ef2fd83e32bd127ed2100e8a4edc2c814eab14dc6665cd797d9803b979bfc13d393628e13bf98693a9fb6b120ca56ba4afc3ff11253d01807e82f7030e9fee97bd8d788b4e95ab9836cb208b44e3388755c06f29b36022178cb946390394189f1e123d9a28ee5d675e83b9bebb4bf869e3297511751e225e05619cbc35039d33f7b3ce538e1c00f80b60f015fb7c08c02989fbb1b7f5b4bbf130eeab025303f37b16c3a93a08fca511737dde0c1fb397a5590b40081b53e7b8ef8ffe618c5b03bacee1cb775cb620a7bd13187c325b72cd2f3fec3ff451c92f9a2e82e194a94f039f76848ac91a444edc5f7c6da23fa8f05248104ad722911d461c134709c3ed4b035a34a3a593d739313383ee167c9c8e86420eaf07a6c3f2c6c997f2575e6825a80331a265e70cf08cf8a37d7e052080959efb894c57c45a09d24d552c61c3261b4f03c3328ce03f7b6a4a05a295bfaeb1b8d509f88a61ca66e7a947e6c6a4151a285a03460aaeb59d58a41cfbb6922c8505f9c1862f67476a345c539e3342e90425ad800364399ceff834585837b9990ef94205eb67e120d623639ca188759c2b480aa5770301b00ff3309ab5492504b3dfda0ff8e81f5ab58467f9866fdcf6b9f38ce76cec03117099849128a596257bd9f8c74eea2469d9f40d0c050c2e34099742a6c0554303118e19af04a3bf9c5bd6974d95eb16197aaba68dff8f6a3f354a255e179d76520314bcde0ab2e43489540eb75b3e6a0c94f612ccdf19beb26e3d47f44d814e857c045914e560806040526004361061005a5760003560e01c80635fa00020116100435780635fa0002014610094578063a1bd102a146100a7578063f6618a67146100ba57600080fd5b80632a14b1351461005f578063585da62814610074575b600080fd5b61007261006d366004611017565b6100cd565b005b34801561008057600080fd5b5061007261008f366004611080565b6101ca565b6100726100a236600461111a565b6107b9565b6100726100b5366004611017565b6108e3565b6100726100c836600461111a565b6109a7565b34156101425743341015610142576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6040517f0d3358840000000000000000000000000000000000000000000000000000000081527011f84b9aa48e5f8aa8b9897600006289be90630d3358849061019390869086908690600401611282565b600060405180830381600087803b1580156101ad57600080fd5b505af11580156101c1573d6000803e3d6000fd5b50505050505050565b6101d2610a68565b337011f84b9aa48e5f8aa8b9897600006289be1480610204575033736000da47483062a0d734ba3dc7576ce6a0b645c4145b61026a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f58000000000000000000000000000000000000000000000000000000000000006044820152606401610139565b600183146102d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f50000000000000000000000000000000000000000000000000000000000000006044820152606401610139565b60016000805b868660008181106102ed576102ed6112a8565b90506020028101906102ff91906112d7565b61030d906080810190611315565b90508110156104ed5773ffffffffffffffffffffffffffffffffffffffff8316600114806103bf575086866000818110610349576103496112a8565b905060200281019061035b91906112d7565b610369906080810190611315565b600081811061037a5761037a6112a8565b610390926020606090920201908101915061137c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b610425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f54000000000000000000000000000000000000000000000000000000000000006044820152606401610139565b86866000818110610438576104386112a8565b905060200281019061044a91906112d7565b610458906080810190611315565b6000818110610469576104696112a8565b61047f926020606090920201908101915061137c565b925086866000818110610494576104946112a8565b90506020028101906104a691906112d7565b6104b4906080810190611315565b828181106104c4576104c46112a8565b90506060020160200135826104d991906113e8565b9150806104e581611401565b9150506102da565b5060006104fc84860186611439565b80519091508787600081610512576105126112a8565b905060200281019061052491906112d7565b604001351015610590576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f494e0000000000000000000000000000000000000000000000000000000000006044820152606401610139565b80602001518211156105fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4f555400000000000000000000000000000000000000000000000000000000006044820152606401610139565b600087876000818110610613576106136112a8565b905060200281019061062591906112d7565b610633906080810190611315565b6000818110610644576106446112a8565b61065a926020606090920201908101915061137c565b905073ffffffffffffffffffffffffffffffffffffffff8116610728576040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810184905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b1580156106dd57600080fd5b505af11580156106f1573d6000803e3d6000fd5b505060405133925085156108fc02915085906000818181858888f19350505050158015610722573d6000803e3d6000fd5b506107af565b6040517f095ea7b30000000000000000000000000000000000000000000000000000000081523360048201526024810184905273ffffffffffffffffffffffffffffffffffffffff82169063095ea7b390604401600060405180830381600087803b15801561079657600080fd5b505af11580156107aa573d6000803e3d6000fd5b505050505b5050505050505050565b34156108295743341015610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f55000000000000000000000000000000000000000000000000000000000000006044820152606401610139565b6040517f0d335884000000000000000000000000000000000000000000000000000000008152736000da47483062a0d734ba3dc7576ce6a0b645c490630d3358849061087d90879087908790600401611282565b600060405180830381600087803b15801561089757600080fd5b505af11580156108ab573d6000803e3d6000fd5b505060405141925083156108fc02915083906000818181858888f193505050501580156108dc573d6000803e3d6000fd5b5050505050565b34156109535743341015610953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f55000000000000000000000000000000000000000000000000000000000000006044820152606401610139565b6040517f0d335884000000000000000000000000000000000000000000000000000000008152736000da47483062a0d734ba3dc7576ce6a0b645c490630d3358849061019390869086908690600401611282565b3415610a175743341015610a17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f55000000000000000000000000000000000000000000000000000000000000006044820152606401610139565b6040517f0d3358840000000000000000000000000000000000000000000000000000000081527011f84b9aa48e5f8aa8b9897600006289be90630d3358849061087d90879087908790600401611282565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae6123163203610aa757565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ee28beaa11e31d10581ee7cfdcb9e95c8d05c53c163203610ae657565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af8163203610b2557565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000061c055fc447a01deae2e6a4cbc1257953cbc9536163203610b6457565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000929147c1aa1338b2705868bcf4965e67041822a4163203610ba357565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000006549e6c5401a3135a116933717e887ec8e917548163203610be257565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000d3720491d1840de84c6540a497b230cfdb590f5b163203610c2157565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009122d8da8a529f1fa2357d02c3ba3de147aa9424163203610c6057565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000894d7c5d6f532b850d6716058ab1a523958e7d31163203610c9f57565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000aff9d79e7f007f7dca48955d34b8db74f27de0a7163203610cde57565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000886c8d9fdb681e7006b710e893f765776fa651d4163203610d1d57565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007df370f6d19294c5e794620c86904425f2b2a175163203610d5c57565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c7395aed51fb76d0f38833238192df8752d2b902163203610d9b57565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000096f84532ac4e1d20202b6672658e3bbccaa7b13e163203610dda57565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000018360cf1d93a1fe34351ea2ca581169d8cb0f490163203610e1957565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000f303e77c3f559a493d34249c39bd167fdfefa37f163203610e5857565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000084f4bea27ba790c1b81b143a9798be4cd0dfe5d6163203610e9757565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005d4cf31e3b7d5c20916aaf4ee886e35ce276dae2163203610ed657565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007164a0c923239bc11e1038ad4a3f37afe9d8e659163203610f1557565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004d65519fdd22ec2f5cc2ba32e7f107486080c751163203610f5457565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f44410000000000000000000000000000000000000000000000000000000000006044820152606401610139565b600060408284031215610fc857600080fd5b50919050565b60008083601f840112610fe057600080fd5b50813567ffffffffffffffff811115610ff857600080fd5b60208301915083602082850101111561101057600080fd5b9250929050565b60008060006040848603121561102c57600080fd5b833567ffffffffffffffff8082111561104457600080fd5b61105087838801610fb6565b9450602086013591508082111561106657600080fd5b5061107386828701610fce565b9497909650939450505050565b6000806000806040858703121561109657600080fd5b843567ffffffffffffffff808211156110ae57600080fd5b818701915087601f8301126110c257600080fd5b8135818111156110d157600080fd5b8860208260051b85010111156110e657600080fd5b60209283019650945090860135908082111561110157600080fd5b5061110e87828801610fce565b95989497509550505050565b6000806000806060858703121561113057600080fd5b843567ffffffffffffffff8082111561114857600080fd5b61115488838901610fb6565b9550602087013591508082111561116a57600080fd5b5061117787828801610fce565b9598909750949560400135949350505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126111bf57600080fd5b830160208101925035905067ffffffffffffffff8111156111df57600080fd5b80360382131561101057600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6000611243828361118a565b604085526112556040860182846111ee565b915050611265602084018461118a565b85830360208701526112788382846111ee565b9695505050505050565b6040815260006112956040830186611237565b82810360208401526112788185876111ee565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2183360301811261130b57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261134a57600080fd5b83018035915067ffffffffffffffff82111561136557600080fd5b602001915060608102360382131561101057600080fd5b60006020828403121561138e57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146113b257600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156113fb576113fb6113b9565b92915050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611432576114326113b9565b5060010190565b60006040828403121561144b57600080fd5b6040516040810181811067ffffffffffffffff82111715611495577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405282358152602092830135928101929092525091905056fea264697066735822122066935661ef96f8fa4d3458c88893a8ea6ca33ebc1c43f76d7c22138984dd817d64736f6c634300081300330605581e03c9d7b5850559e2926ed441521ca0e23e392a6ec245ad4dbbde7d0a6d4007011914e505581e03810deab12b96b1c660ad32429d36dbb92230bf45526ca0ee3911824f60040205581e03238ad39bf9dd1d77fe94f94b2b81a5bf7859bb4f9e0e0aac1e83c0c5b00c014714408f328d82e805581e03569fb8f2ded6270d77432b4f0f734149ae6d3a05d5c1d625204e8cfce0040105581e039b85a850e8e5dd08af423d68c782b1c0b97c9c1f6d7c8d2329c7edcae00c0646478e0feeee8805581e03060c532903a3e8dbebbbc382d64380507db390a1194439f6b8d8201f100846f4ccb230100003fac130a29e4789209549f128f2da82ba8304a9200a193fea2bd9cca2ad931d78021918bb030fdda8cddaaee310b3d390508ded8ebfd384721f3dbd447451f0e4c3a42c33cb03f4a6e7695e25e14df7ade8de727e44450f3a1f5e4681614e1d4c9dd5f6f44152035c9ca8bf6185709ccf3d5067cc03592b8c08b1147c9dfd5fff34ccb9bf5b299303eb314de6608af6a4d7fe697aaceccefe1b017a953bd2bae08d5fc503a22cf44303cfefd238d2ccce751295b504d3558d1334aa36765ccb0e3c2f83d00b0fbf459f03952f3a5e490352c975daa546ee604678d034c5004419b41803cc73dc140502b903436fc05fa5584c689dff3e7d0c0003bd537bfbdb6d086c1151d229c3d9fcbe44032098ed7d6487a14b72804d459ca05f1a181565373a18a5396dc68199cbbcc7b103730999e851adf083b5f812e626165919ab1b8e473aac9baf3ce7c7dc75c51ee803f6771e7f982096f54bdaf29a0de615975eab2c1ac599e106849b40462eac7eae03ecc1123074cd688fa587ee52d781b1004b18c4b6c9d7915d13ee35a373437d1003557da5c286a0cfa721ad64fa08b5ac423f2564ffe346f87a61ab42e5bb76965f03bf7173ab1347335bf2d334654f109dd436bae479547f869b585e8db9fd727b7b03a76b1734b340592a4b57e3cc32ba0f21e164a36b076811cc2e47e00998347b9403595b802fb0e1ad5ab6214bc3c4c73e56ef1574904ccb02d62c02624c88ebdf230219ffff03152fb586a667d97f1a352f3c9ff1c218ac3c40b47aa036e103cae6b580d44a300336de66efeddb9618ab0c8adcc574bba826d27f7ff64b3b1a675903d874ad02130309d16577b53f07cde8897711f3883395f3fc55867572c1efb890b2b27dce62d60399e5bd464881e149ab2af0f5a93770a5ed8fc6b6a17aec67563fbb709911e40c03f16393f73705c8c59c5165ffe8fb918d46a4cf33f3f525f42ba2a454d44f1a69031f963926c0c49f42f387d12b01081f693e3889da4ff09c594fb5bce041d0c059034ec369106025bf7871999eeafbe26d9b7a4724162bdebdb1c3b7703b8286840e0308d6421323f06afc6da76dd34954fb66a4f8e5cad2bd65eac06ee495a36d1b7f034c1253d4dc3987647d71156b5f029e5d6852fdad0e26dc8b90e6d3089819cb310395c6bab108641edfbbc5a29c03f65a8106c8c6689a5c0b0c2d6858865a49bc0503b3f9882b3d69776a1cfeed8bf97e79f13a8cf7522ebd8e9696e8358cfc5208590349f1990cf77bc4c3ac81526f633974bde69d7af6c8107ed602356384603188b00397b7c52c731d72f153dd1b83c98753b857f188fbc0b7f4304882a8c6c783c4ed03270692af93d878a9fe0d3bd1314992eab8d2b88cac678e3fdbf74339803eb4db0373b4ff93789b49fa8eafe9824b923e4141965ba065ffb4464ca53531dc0ffa900219ffff03731e9b04cb83d5ff1316de14f7d927ff150cfa735397914cfe7d9e09180cb74203069889874eac191e59fabb53fe9c7cbdc68f83748551a8750ff8a4bab4a790cd0219ffff03c5e60c7d955077860ef23dddc047e836e12898958fd16dd3885a62db5b6d23a3033be538bcf50898ea555e759a79e5470e56afb41c30642ded66b525cf900be1920219ffff034ba961b8840fe14b53b3f0a205e7f961a803cf524f02dd24dab75d442953e4f603ef5120e476fcd3aa40277317a6ccf0439fa6e2d1d047de54f49419fb66529f4603b24ea7756570206301fec114f17667cb8b08794a71783dd20f9a753bd3d051b30303f6013825c149bd33448499b9f5e3d9505d3388bb4768f0f5e24caa75178d4803aaa4954c9973acf43f97ac209678af86815c5ed804663370e5af248329b39dab037fa0445bb5459d9cdcbaf0d6ea80c4c5f52c950a96a1ba579eab4d843361c82d034c6b1e21e145884f2d7e331a2ec7dcfdf801a69702f1ea83a2440077977e9fe70328232a6690804db9340f4bfbe517cd1ed6e34e7801bf452b49806969b707bc1f03dc59b2f7bc96eb5e8b4b5ff325b1c2af157112f7ba3434b5ef2951735583ddaf0314566d8c01d697a3c28b028fa9eea011911cbcdb049276e4def7a2c1b9333a580355d92bca88536bc662a28862c218fabc10047ac916910d189dadf7276be622d70393d40c370f4e2315bc6db3cea385151609117cf8d16867219c53a068ad62c91e03d347be228b82d5ea121ce975119a06c25da18cd3bd6cf29b0368f7a6d940a6840371e49f9f690def9284d5ebd16dfe74c6312cd5cca8c023c75667105ee235efbd03f9738714f61bbdc308e5db62ced08fafa0b7dcef6f5100318db743de00567a0f039dc57fe1a3a4a5e4caa8f9b860a07acd8d8d402646797d3bbdcfb37821752a92033d47a03cd77ab0671ba18ee0a75866b40029a7e6bda94d67528a3a291f36e6c903b7792b862bce1478441987b19560381b59f75c9ada8774663f92007c60c606c4039fbbfd1f57d6a5f26680570aef1497cdb3f3ec0b0063c55ed15fe7ab2130288c03b828d446aced199801258729108429ca90b70bac5330de0a5d63f8a61eaff40603efa961e591032d0537876c8ab0d9f55984f4b8af01adac4d9b19ca9ae5d2594103fe9c06864215343284a38a4c9a2069d368ba39f4e775e4ebb2fa53d53fa45ee903f4f381bca6189235bd23b81f9301401d9f33cc2c6c03ebd758b9f935fb934259038c01e148d3d007c117fe8c70ccf2cd83313ed60e33548a0d4040d2c473674d32033fbd90d0acb520dcca6ba5347f939690988629215052024fc0c9e6dfa9cb683b03c922770ebc94e187a4747990b4a9e0c86b58d0c2dd286a5e76189a6527b34241030dff97736b530330b2e7f5b20750f7692c9ff97bb7a2bb176a45251cb80e0e9503e7dcea71dbb0a1371bea77ada19d5cac4ea75124491fad26382649a64e7d239e03a447339c6158d10592a77a24e91f8a92ffe16b9bab4a8bee0c2cd57c14de49ca03fcd94059a8574e31a771bb4e0a55e6eb9ef0737716d4e7141fda141a7947619503f94f64da0d173fd232a48986c8ba5301d134cb9f05b15b4cd354dccc3e3cf7ae0381c56549a286c274df253de578adcdf58ccef6bee300b8d7e18bb039f1a4e1cf030f9fef7c33127c44ea705e766d77511140fd56fb0c42a269d9c58f640f58d0d203f618d26fec098565c90bce7f2efba037624623a3feacbe94a29cb159bd7a3e7903fbfa4ccbfe2ce0226ee11ac7a74ec2e1387f3503c74cc7e8eac3910a6f59c7ef05581e039db2235c19dbcc2149a5022eca6503d4811d6fddf0d7e3dd04f4b48cf00c0446438a72e15d800374a92d4c93cd0023f491afb6cb6c432d01ea8e4f8255598c858d945b4fe590c405581e03d1c31b3cf3912c92aa2408226ec12999f88ab89cf3015d5e603d0b1f000c014713bf22a07f680005581e03a7aac6d06ac987f5e0625b47e07f18a21dec014b410763a537f4396070040305581e03b1bdc9b291b4c7bef0c9ba1784b8dde5967a4815ea2f57c6c26e00e900040105581e039f196ee3d6acbba5e27bf97855a664c9d91b4616a82b27d55b6019b1b00c01472923f2da89a67d03f4f33ca12429799615d704f60b231d8dd4790aa093a71d2f4890d1f6dc3c6ade05581e038fbd03788e46fdc413cb705ce596c8907cdec92a34c2f20f8ff15b6f200c02470dbb6d5808320003fd01caa343526e8c3614a7031c39c536fc572c147c5944e291bd7020c1bbf90305581e03f1be3eeff1b10aa6340c566ff0d189849ffa95184daa244016d48bf060040105581e03b920e60759729a5dd7b7e0a2f69bc3c60fd0a2276d4ff7c88d800d8260084708e4927ed73f4f0219bcf903c7ad55c9751177c337eacb3380ef4b5aa55cc3394d1563f0d0b78a4b57ffce1e03d52c319cee7f3b1434e322426a4cd3829fa8b34cf8f995ac3dfc59b46c60df8903c75fdd04c34be3ed608326e3ed9533ca337850b205aa9e382499400eb2c803680219ffff03235a59ddb0a96aed53d133cdf8ab09a93db78e789d9202114c7493ab5e70e0d70360cacb069a14502466212ec6606650a0abdcc455324516a8acf49ddd57dad921034c874c73a1edd8cbbbdc0912802056132afdfab7a68a411d531ea909c3bd91f8034fb3cf0d394540ff2544a22fed3444ea93bb808fbc960d5a376891626c6d43ac03d104a8ebb15adefb724d41d2247af10c2676afe41b2fda5224cc9621a269789e038db0a58d968bed1c8c73ca0c9b4713a81c363eacd0f0f2f5422275e95bdd08d5034c850e0437172e1fdae76284138020b3d4ced99efc9d31bcd49fcbf7966d857203f802c63b89e2597b9b39954e843639c96898c3542770e0624a21401a11a004330219ffff030f806167475e1f4c58faed61dc9e4b7600483e8d8529ff3827e872e3c0db5bb10219ffff035766456fcc228b4a491903ce0dba30cbf219f7a8dab746de39340b278e413cfb038663ecd5b40ab7915443f2f72f127a92cc0d21f5962dab6c49b48cd3b893188b03205465d628ecec05f1d261c6f69cc2e055371c84dc832ece293e7e5a04e2afa203850aab129cea53a5eefd384737a5e01bc45ed0b9f5f8f02e920586dfb3f7f7ba036a226ab7b6a40cb9735457081fc2f0caa5913a492872dee024ba569d7e934643039bbfbbfe02d1d3d659e69d1ea9faa9e8cebc0b37d14540864a262d1983e67afc03273ea82f5f65f3bd79f421a05a25c7db52a406f5e600ce6be07e438257c76ca3030544327a72c22ac0e1b8efe65d9f7f033f2686624fd8bf9695185c3f06e25ff803c25f39096747098320389e421620db51a8b228874f6a7b9796220052c364f2870329c617433515030ab649cf6c7c1777b920fd979e8daddf9958b62a15bc8b7f4303dbced2e709d59bb3170196d780bbb55de9c8dec4e946ee98e86f037f6acf01cf0382fd2b1ba169107d0eac5a6d22483f81d4916b011cc19cd2c26447551eecf18e03573fcb1bde9cd26e63ba2f02a0ab4719d5160dfe80251e0be6d9559c7a70bb38034308730d17dcbea53e6f7c34eb9e85732291a1da9bd1540d248b1202862412a703db5d1e63e24942616d39abfbcd3c241ba1c4ad245d38aded02408d7d7e19f2df031448941f4555b50068372d9e42b2a3a491bda5a0c9a8b1c3999a3227dd4c727003bad84df6dfe74856f79257720136b9dab728c1e6c6b44bdf45f5f4fe972cd22a03fe06666339dccb5e85072862f9dd6b8258ea2b9d2e1a652c58e0c6ce3072b69c03cbf3831c91a742a0a92c50e761193a63f5208a8cc1e22a93363c86f1ab3a616b03461109726f40765f0d5c13b8707af77c0c601f107b7cdf010ca468ace526ae1e03d710da1cae62c0442cd272c82bc692c90099569ec8f28279094dd6f1c88ecc7e03fa0e8ad5b41d492ce9f27aa765f3705810cc2ba4d82123426a7e6f643f462248030890969a995020a45a0a43e4bf6b7eb61a871ccaab4270cdd66093d352e0ccbb030de6f1fb8d911322404c6769b2dc1a3752c15474557ce5e303b19656ce784b1b034bd9f24c53d19ae670b5202cad914d30568495da8e34e34dcd0aa48bcb376cc60397339bcda1e437310a9c702807a831f0eb5cb6920882c058c27e05453a35b287032689e80d0439eb1d7b8f811b021bb4c93fd93b9be8c718bb3afa073ba15a3ce40331183f86d751f8bc2e4647549b8d91ce1c55eb6ca5d547bcc128242495d8093703376f05210bc7184422c1045f84bd99e1477d444a44bc171f0ad63846338148e003761cd7fb346d209ec99108fef432de5d21506b42273818a673663755be7166d505581e0391badd839a197577d9154f4d0f8f9e64a1bf2a4ab5cd0980dde88bf6b00c0c47011e7ed120a20003c4a11cb726d3c95d3fd470edca879488baf46505df622614bfc59062640cab7303080f7e6e6a2bbae484f80b425e0e566ec6dddf72c7e21289a9a198cfc89a7bbb05581e039d5d39a0ea3b283443b82558dfe553e8d0545d099f2ce92d1414546d800c0247022cdf2d90c5c80335fee7d5d3b30561a777a57035cd73866853b4fddb5fc7930cb75b1b537c1f6c05581e03083b074d3eed6f5b6a15f515e0d4e5d736cf80389192502cac4fda37c00c0247c2c3012df566ee05581e035a1d379a7adeb376b1b2321ee89b90683b403c03782ec361d4dcbe5a600c01466d8c8d4f52b805581e038cca0a7f2153f66fce06233b5e72a12725f312431b831613347e947ee00c1851410103dcfc9e295ccbbd43c499acc1513d72a4725dcb8180737f0c75fc93cd072b2fc40320a427a4b93768ff64834873416940780da0aa01663611e0512026b32c7110de0219fab903ecf8d6baa1525d2916591774ff9f17ed444b3918bd87144cbf7a4e60d5e35e46031cc9b718de49de11b1e2a5300206d4963f3c614e7555ee1c5878005790905df0035985dcbfd051bd7feabf7f69ae81277b4353188562cf33e68c9a75e23a9d51660219ffff032d7440d4e2bb4010c60cf525d8c9daa81078faca7cd54044a40eb9daddbd035503fe5b0e2a4868b09f774658176a3f16d978b3acdaaea09ba707a751ccfdf3afa5032f73f5391bcdfcb3599c1d48ff5f62d60ad53d17ff5364e9c7a5afa36a0456c303cfaadf88121b1f6357b1a464163a1ba7d8683f8268b6c59022f707b311135f32031fcb34418d69cb2780ba77598b9c2c244d037c98107ee34476ba0a2a44c587ad037c8d1a231d4c49645e73a749a3d2c2389522c01d7ae43790b0302da684a7210003fa1a0966710aa84bd494e5dc7cb1f8fb09d47f42f081a96208fd0e9039f34240035d6b2c7e4648ba312c2e6ba81ecba562175a0f1a6cbb8b1471e871072bca157d0219ffff034b1b4f689342427df9df1d1e80ffd97d698969debf8f0a062c6babf9f0726eba03ca21c483962d18ba08f52c996aedd6bdbd918de019f514712f1e6665f2eeacdd0365912c0d7fb619048e278670b2f34097669925e690d3cf4c95697310f6622d2f037ac070d423ef0fc4e149ac68b59c94c3ef4a50d8104a3c2cb58781652bf870bf0384fc4807ef1c1d4da2dd80c9e7c8da98248844b64bf25f88380eb63fe7ab481803f2c5194ad8725248dc565fadebf6af7921e969debf619fcf7ed1f59ae54fbc8503ff9360fd8db51c39923c1d9e690cfaf918c40d7218f3b958bb2d58dde9dfb67b0219ffff03ea8872a7805fc1495bfdb584d633ecec3e0dbbbb2f7415ff1d72fb3d625354a8033f72fd586815dfc0dfa27f45454c03b7355ae47f235d3c019fd2212fc7b03871031618c23e96923632d4816fa69086f5d61e556a9105d7c8507084245b29e4084f0324ead8d0cf736930df9702a205118a0358b140b3ec64a847967626815810e29103da1c835fe6b07962821991f5489b72eb44148cfca9c201495ca74f7f2b9ca16f03b8fe5553e70c01d729ce963ea01c9480a5cd4a53011abc330718caf48a63048203b6336aaab8b29204b28d763542bdd22f4520fdb9fbef6e427229117c56d464cd03d18fa7101f57303600e3613848611173e902465d94847d4ea065c1fbeb5775fe034faef7b58237c561f15fc5c0b1f7e4be8237313b07e55a0637b22125797ba7ae03c163e30ea866c95858b6b49371d7996f64729e9b416c5d1f279ee97ed87515860219ffff031a3a9ffb2c6980aac0096880320a11eadb12171f53835cc47e2d7e09a41862c603fc1602064e895460e6a2f337cc5db882ab753fb16977ac899854ee48b4970b0803afbb3db0b2052dc12d6246e66196ce5bbec5afa35e4d1e734f0818cac225fed803401984df8d622b9a8960c957d36919312dad5cad79a9e98599d159b0d9dada870360a13fb61a9b593925f293a9ce43909fa2a006f8cfb8d23b8b74c07070cb996303545f603460f4dcf84368401e7a59f4f3b6394a5866d72c6c526c5759f9b7557503db5c4fca0f48cd8575cfd5fd9ebe67689e55d5d121de8c685bf1e8c19f4c59d701410b05581e033d58bf9175ab0ecdbf67fb954293ead8a978fb834de0698587d7409bd00c0a4695381934b1d805581e03203dbf2d6c90db9b3585393de5352d33ee68cdfd9f5d35a82fabeb3df00401032bd3637a03f70c37c25a7652083ff8a4d09dff74a6fa16bfaab182ca43143c4005581e03908aa3ea4e3e96517c8d8da4ad5daf377faf74b3ec9c871a1486d754f00401036ba77d57f2cbe51b14e658a8700b82281a26850cd07b1b363c7a6b728384eba805581e03fcdbde20f2c8f7f7aa95a76a87d04b18566bd1f4a956c9cffca58511900c03461dca55af1c6605581d025a91a7171b097b80bbe74ac45dc17c0e004c4594d12aff71d2ea59390c05470fbb6e84d4e00005581d024074c4d35b250a0f97add830f67ed3075b968bd6a6cca8726ba534ae0c0347149f2061c5cd530219801005581e0327712020494a68057d7e0360d98f32bea126e1e56b93b7b876144040100c094789497cc2a9300005581e030bbcf8f4fa98c30ce448c1764f411d33be13a2df5eabd350d83c7d1d300c01466526429196000354f444058dc7ff66ec42b3c47de98ae6556375bb241aeeeaa84542d5c5c3903f0219737d0358ebc7a212c98fd707b3b9b5c7abd8c70620a7b4ef016eafce9deada7521c931037f7e2a0fe009900089ff5ab0db2c305cf654d684e1c7d490e58503365c061ff403bb1d340fb89b535910e10bda5083614930a699f4d16c89c5de487993f5eceb2d03bc56bca7c128b1afdc9b7c9d8b6940e46c267235493c90e0f01615ebc4b56e4f0343b15e9396dc24b6eddbc49f36d6d5f60b49afc26d78cb1902529e53071fec250351e7ddb4f09919f018c1e68bda1466a0715a9034b67c17642ff9224e2fafce25030b936c4a74741c3e7d40e8e2f298d729f72ebd0fbf4486340408ed9a781ee048036dce4720bb16bb3427cfce625cbddff3e72aa050e1acc66d85c832baeac34e2c037f0e062d553af44982a6bea16255ac392a9278280d1e9d67c136c90a958bebdf038115da76006c6f52d33879711e32c7ca2768c7f133f33bc5b12bf452fb2cdbda0358dad7db3188547f4ec699fbfa9772efe6e80177e39285ca22706d76ce15cfc2038ef9d8b25fbd10552b8cc493814c2ca9ecaf59a1b0864da1af78fbf4158f00050346c296c5fa960e44540c9b5689425db6c97fd6beb9ff7f255173a16474da1f3903179f990588d3921fecdaca3e557a4a2b5773366c8830ab9ff7dab5bdb18cfc070219ffff03a6085ed604d5e190f78ed305c0feeb82115ee4e20c43736cd00e127671574ada03385fe939831810fcd63efc34bf2e76736f4cded7443628d691cf812508e9fa50034f773519d79a5a2eb9975dc6dc2a3ad17766e53131bbbff3ce81c43b302ff481039bb545107a2ae5de7ed2c7fcaa26b0724bad88378710f4958984bd09b92c9065034563d5ab10b0aa22fbfb21f7948dfe941ab3fc5a6942aeaf17f4b0857078aa0f032a29c51d00ffe4aba4606bdeb58b7421c5f9e546646437ff2e439885774c650b03064495a014e70e1ff39e2506ca357dae68a0cb26588b1d8d48b919aeed0fcd45037c93c31d3e221c1fcd0814f2002cdd3343fea84ea9074c0a9bfcb27ab8e83bc703ec5a4115effc099363635f695550f5d4abdf1801639b57f4b8cc6b4dc80db82a033103204c17af419fd5454d9a4ff35e98cd34b5c9688d7603b9377a4d3c1bc69f03700e049de64497d038cd1b67e0b23e431d1f453ddc538e1ffd86263bb35991d60379f3d532e8a5303566f67fbcba570ed749e6a0fb6bf82cc865ab6c86bf27332d03d75cb667bb5122ba6c5dbde8a5328069252692200ffc2d7e78f095b480245ae5030db107da957c750e516ae59df7b3b34e76ce09754129808e3ad650fda859206d03d589f849b6e900cc9b7073d4d4a6b1ab8a7d8995d78577f0a2df4fa0ce4d01f90219ffff0383a873163c2a0e3a3260fefd1c38e3851497fc28f06046eb20919cb98e61c7c90355bda558aa0894447aa63f38a66b4d6b77f861b07ca0d909d11cfde86873099d034361b554b525d279e2cb6fef3e076f8a189d758a4664945b4b035ce548e6ec3f03042028d3bcc91f60345460a8dfe300a47b9e5c033998921813561d7833990c4f03d6f1693c4171558251b1f0239ca24e7e5719fa89e5f3c0702449bc8c18d874c0033945859ff2c47cf1da4a8d8f0084c6377688c092cc4721313d34f982a323e9db035d4b8d84527b564cae47da383d0fa9053efd148a569cd54f19a8431be0fa14eb03019aa05c32bacef5da811e539f5967725f6d2c335e2752ba055b89fe6a175e850371a250fd9f9fa251c9df123bf4c352d916c8b49a4fdc26ef6989934e105aa49603517386ad2c57cdb5bd3955ec146a5c5970cbbc661f79cee2bac13574deb9f2610219ffff03a63dfc2739c024e897050d41b666b4161d58f25d8b39926f5ebff4fc6c5c893303d557b94e8646ddc2ea45ac4aed75b8354188b28a27a5617a882c2ac33ef106e803e3d974b35f6038a294e4c9c9b3f721317a0d809bb1813633b318e6bb599cb4b503947956ce913439a427556e0a1c8170b76e4252f49c093a13fb38aff5b24d5d4a036b5a81de3853564b747bc59b5f6f659d6bfb3419fa19569b0ad2907c347fd896035c871ce9efc625e6162d133fb44dfdc3f10a35b27794248b87e3e4fc8d9da5b9030b6162adf86b3a51ea7b0b33119becab75355546fc0cf6b0d5c637062cfa7be9036539f6a50776bc3f748cabf855c0f7bef6695a0f062a2450f7931a5b6050b228034f1c6c7e0258fb7b5112f37fa1f605efc4104576d6a95450b2b44b9d12f291c20335637f21b3e743164bdf590f7dea94fd1b43a781b4de5fc290154e14edc15ff803f117d011eda463815d57445753dd70d00bccaa37e996b386cd813cb377d5886c03eba820bb7501ef86e9dbd717c0df4fdcad83231b84b19fa42e69e0a6e40cc34d03e8798cbb8becde7d9aae1ca516d15072305ed14972be86fe5b6c1e2eaae6e5a4036683a3649b549b0edc35d8f493425e286aca1aecbad76e867afdf9db6140e3100339587568035c084c8f6f27ff16e3462334953e6bc278e80b3193703e1fb73f6b0219ffff032aac677f30535464a436236820fce80322129a90d2a2725ff7f50011c44a3e3003a629ca51f5cac9c1df37d84803a998577f133619c402a4fe53b9cd4fc607c42b03145a3d16e1aab6d39947331d1d0ad573402ffc062d898ed0f02a09e4f47610e103da422ec77388f6d9ff34ce16b0e000c89a4a23649835dcd1735732ad7ff695500307a5659b638f6c9a0905113c548327d70bccfab14702fb956492ecb982d24c9d0320d0d82af366d7f9c4a1c6c1a98bf0934100b26c41e330cbc1386b0e91e8dbc4031a9560cd3fd8993a42fc72b7373564b1a8410fa37f17c48b98bf429939e6adbb031468923da15255728858d310f8dbdfe184444fd046b0fccd986317dd431896cb03a642845179b4fa6dc1a67c4cfbfe528e30bfea7458a1f435d0a28bb1a23e475303c12013a4dc967850958d98a4f247c11a6efa43c0f96923d69a41ab262e2bc61203fb9457473a141036586524f04b6aed1abea8671980755ef187939a24c6b5542f03cf153c8b686fd131135af377cf65130e5d306fd513cf808b1144937993a18aff034394479fee1eca32421a404c3e018c2c2ebb6dc6cbaa3f9fd58b6ea266466650035a8e2f5d98602c659fd9fa51bfeab02f510e4dd147fe90bcd0d5350763e1979d03c0a7c4d6cc95acd6746fdb2e1fc5bfa13c8dafe9ca09130c247eb5067d9539a50348e981d3bea36117c3f2decc38cdf50557ad8021164db1a741d8a50734225a0c032b763a4ac1e2c92adf2432a1242f52c43840e06f93a6daae2fb62a9dad5cebfd030ac64f00a889cd4b618043f146c6b3a19816016c248d8d733a7f4161d4bd5c8903a895126e9a5c14857bc779e6025f03416dcf3e28dc889c00138c01bc31840bd203bbdd8a01d1cec8c0d9c2c1ec5db4894d162cfd01c6dad8fe567cc0f300eadd4803ab04773b9f73ed7aea5d12528feff1007273c7f29d91518ac0400e2f531d4484031ea2c42b7dd5f5077345a4f60371b3684f16ef74dfa4a1ed1d63bbdb8252b49403f8bd8059ac7c14922343d8f82f970367129f7cd2fc7b08ed4c1a6ba7bc9ea69403fc53abecfcac22204f5598932927da303ead5b2e08ce860f77a137e53dc69451031ad1ae2b100c1cf8cf53eebcf16991f20bacf81dca807ae7dc477ab0b073177303082dab33a0a78246dc22cb42927a98138b5f0b218cb124e4ae5a7abb96ca4714039a538ae0428ccbfee681aa42c0aad11730b5672f3a90dab30f6298b88e1635020302fe00d449b8c4592d8189ee89e6e3dd048f7b1d7533efdc13cf7af9828ef899037c5ffbeaae7fa8a6ea388a6b8dbf0a0b1108cf1da30c671dc2cc10fbff18599805581e0353afad72e936ba94a11f0babe814b910374f0fee1a583af4d53d1c74700c024701b3c0e0d9cac805581e03960d2e0046fd926b9288f9f1bf9edcbbd9f0d4f7ef76c1886f233299300c18374805edf2ff6b73a3ac034fabff6b78c82945e6ae404112ffa06102798de548eb99ba0cc63dbc9277f41c05581e03e0e945fa70d26518ddbcee5f784c04df94b658a10c7719580b448e0110040103b22bd863c55bc7a2b378988533e301cc4db2ac0a88132a90020a043717b42dd401410505581e03d66c7fdd07111d74981d26d700451039c70c707c35bfea970bb020c38004020395c4af6c6545128eb51c10f4e2d8c15378bf7d5aebb4e57093b3412f74c8c5a805581e031115710c046ef6f8259ea104b1d98f5ab1dddf381043da7e81d932bff00c0948070cae5e27f506ca0219c7a50365f3524ecd920773aeee81713dc2e6890e71da460461bd16f9a0c761f74dc38003479d3c061bf07cb417e2b82bf2a4d0a1ccc2f6f6c54be58e959f51ed054f709803dfc0e4d99c3070889965d97408dbd786ab3da9b489065c1ce8ec7017938f7d30034e11201eb4b9f47733084544d24678b1a3752dc2a42cbb0586cf5a09a6ef96a2030f7beec2ad0424f6ef92ccce10fe4780b60bad37bd9052c7c3a16127bbad6f1303292f0ebc26e6337e1a115a694836015302c9f10b8d63b78c7dc510c9123254c00319ef13fee75ac7fa0e47dbfc22dc3f873fb441e249f3065f4be0fdd2c5abd1090344526714ad6bfb4f4acfdcedc70dade9ff66db8285806679dbc433781d31bbc4034d7c0b70c359d6bb0c665f038aa64bbce2f707d26894d81a0f7a75318f0a5ffe03c5895e6ad6e0e301b9afccfe3e28c7ffa83f921b266c89c630eabfbd0e353421036c3ae8c91e3e7e935000b5acec821418f0ab895fcb2a8f544862441da3a4c4ec039b95b4a3586fe87b14a490ff71e00a6e4ac8317ae92b6e55ab1a94be1d043e6e03a657cac3308b743d10043c6b067e9316a3d41781fee5bf37d87cec72fea2a410033fb3b7e608e7b3740775f6b2f0bed398edc52239a3f5cd6fd38d0942df5c86400219ffff036341ad886d73d195080b83ff262eb9d884db8942a672ebe747ebbb4251cf8daa0357d85e52bd9c55d577e850c1e08409d20821a360aec37bf5c0927236d52d0a4903e561c6ec007140ff9dd0bf63c8f5ab186e3fd2c4e197fae8811773b359fb31ed035360cc59ed5f03004d505a4cc351e67cd31c1c764c633c4a38ec9c910d6d9e150219ffff03b5f135d1523ae6cf6e2e85d47c8ee62820375ebde1a5294d0ac2d3d28dc1336d03c37dd31e73ac45658e85c66531debb6e2209a1d794bac380d87183c3a4235393035d1f98ecc7426710e25f5fcd5c3ab697baa851a18b19e5961567bb1dfbba131a03eeeedeaf6ad59024cd6b961bb574e3d04051a13925e607d18994b5050a624adb0219ffff038ec213eaf0f7418a58eeccfaa4adeaa326e566dfa46d68362161419bf3a4549d03649bc93662e796c106beb254b5580b9e05a558db26e47bf16e0e8507a168a32803b7bf2a3ed427451a46085db904a494988fd161278eb3688b0ee0a4f8622fb67e03435b083e0a146f036ccabb3b125d9e6181bf730600436b91603f4471ce7a4fd903c56cd1ba60a3fc6f593cb8c18052aa56332ffe8038d7a8936c65b2049d5842070316de94d223cdfa49006af2f28448986dcb6c7d18be5b41d247185c089a7511c303193a4fd82bb7475a107fec0c02d2364960336aab5a388aa2a5db465386d8712d03deb751b2d0bb5b6eeee5bc23ee8dd6f5408d19dcedbe45f01f5c906eae9c99f903f098d39927a24cf7223238c5698123e3fa79bdf5aa93efece6321e5f315948f00372fde69570da4b695199eb5d034c503f3a9d80c268f8cab2b70ff712994f3a5b039222f2f31d19a1aff860aba3e06d1c8e0326e894c1eefee9f9a07e8162fcbe66030844f664ce731623fdbca10579199ce1c88e11f6818b27c5cb44484c9d8c980f03a199d8fbabb5145bfea77a7b2501a90950d28d5c04dda098c1044168193a0343035bc07383a73d20a1255a6b29dfe5d649f5b828910d244928d6a22ed1dc1e844c033a33979512567b7c978dda808d1f06acaa59c93f5ddf378428ee0d0d4c6b5ffe03f2412d7c1684144050768596bf0b1e9f4ec62115538662882add9ece2489a0270359bfbf3bb5bf9a018fbce0daa2b966ae03a9ecb13fbf1adf76f1b6d9451b446c032739525fb4a2e63617959fcd9574710bbe33ed346541dad7709002bd433e7b66033ba4f25d72c3ef42d325b4431f85538fef3a7dffe73fa7ffb3a7c02d427e701703b8496987f13359fe6791309909cfd6930dea7d2691748a49ded58300ea0f135e039f0df1ae695c0822de1504accf137ea478baff9ea7f0e69b9304346e935b9dbc03d9523127390174732d12e7167f9e1c87330685b5036536c579dd554b15cbc0b3032ad45103dbc1a8722f6b88d06a91b66df8c3188a2937e67c628b92def45b7ca903ad91f18f01865e3e343c239155a9bb3613e227198f8769eb4c84401800e7f4be05581e037a246659ad1277bc94ebf7718672c41693b6ba9809a8da700f45353d500c0647013a6282713188036bd2f6fd673bb1cac2934f93f94c2de4f98be4868e24ffeb6eaa388ce5dd025003bfcd56320225029b68c4e867535f02bb3c732ca2361014fad4959087f63c93f505581d02447e47ea2b62503484637027fce07a6bdc78e71a281f9b7eaae53d8807011bffffffffffffffff05581d02f8b11b4535312690a7ac7a2206921d6ebe80a9b3583cb8e97ef474580c01472d8959085c8c200219060005581e03aeae0c8ae44058c9dd44e76270572f26b3329da0b12e9ab9e8ec1d82f004030330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e0332ffa68cf6b6d7d209af1431e969bf7fa01299d28597989ae56845231007011bffffffffffffffff03813a83ac97eb04db0434a81bad6b54e55a7c5854bba50d07c49ca7f5e0e1982903447b19439431df262066b056eea6e4442a8464a10ca1841ffd40caff23ee5d7105581e03b2b2dfc995ba70f8d25ca88d028c533f2a6651680054ea715fee6a93200c0146989737f2a25f05581e033d3df8ddd3485af5567e4f577b509a8e70cf4cf99b1886a1ef96e339e00c014712538ca8d788e103f98371a39cb937ad96ab50c24fc3647c8d381d582d406d9b1113da5a2e14b32205581e03712cc01a942896746690743f9e04668e1bec8e3eb24d19288994c4bfb0040302199f8e03112333942e88f23414bf1cab66b153e87612ed03dba28ba62b620fda1c845e120347052a14b7c6211d5a40c54cae739339906ab62622beba3f57e98a0f6d3c880b032c4f78dd4efdd2315fa3de2d90563f46a1df16cf624400418313fe12180fd08a0322cc3650f7d6b10bfab74b5872ee01db2c0311c9a4fa8c9d602ec2f2394d3cbf039e1f459e782105866c97dda85c260796bd3efbe7420976d547c635d3a165df79037431ad5dde60320b6964ff2230d62d9a60afdf9066693c9dcf8368fbc8b935d4036a2cd4f61467ca9ed90ca654dde10a938904a2023563e4f4e2ea722c980eb87a0219ffff0359202558c7d2555d4b75adb2752d4850597d61c9de81319fc86e206f09d420010339e07dfe5d0f1bea3b832adb3d5e32591dd639decffbc0b4d675055d3442d4bf03562449a6347618ccad3cbdf61000d02cfad24bf283cb8c1429240f3474da307f0350db77ebe8155bcbae158c321459032396698dd03ce96a113644b622cae8d989039c1077a5eaf429dea834732bd0c6dc2da18881f30c2051fa988fdcdcd4819fde03ffac180195d8271e6a314d094d66eb8b6f85aaf4735938580f459aa0a6f5ccac03ce388adc031c4c5cadee7a62537d5a52eacf3457a0a973a49177c30cc82dde0a03617738074b16e6192d66d3b314a9c6b048c50bbb9f02ab139c83bc4e30de654203a8b567ffdf208eec43b1ec9f01cba861f15564554c0cbbc0d12b39d3f9194c9403ff368c471c78333855793c1768784ebb430f17d7496648708ffafaa371b5379b0219ffff0324da24ce436d5d4ac35270447b339f4268e33fd4b5036e172f9eaa4bb099b77a0375eba0c87b3bde5b7b8ad88801bf48f5dc8d0fea7b5e85cf0baa8bb78e334b71035a447dfaa7955e09b84aefdbdec0f1fa410a5e2b94e86fca78e8b3cdef1c50a30395261b9fccb2ef378228f6b9e9dfeb6ad83ac3bb85ec5d851eeb83f0b3dd228f0219ffff031525fb9ea9300f9e5665b365f9b1dc29063c3099b768ac8f8f11d9309431f7b603fd095b93bfa767343cc6c80f835e0cd732b6b9de229153981d1cae83b9fea88003c72bcbce91830fbf71c9734b4844056fed5d2f4b81065d505ab7acf24e28a16b03ad25c56a0672b7a6a1399a0fe595f1222de1eba00c44ea5782bea33a08253e1703effaa73e97a407ac0e60cafcd983e523da345d46520aa9c6a984844fdae4f382032d89af41190ea7dc55b1bd854deed875fb1e95ddaa70217ce33d9a7ff957d1be03b3d36f25af3292a47dcea1ccb7991bb954e8b6948428e2d34f7d14fce6de9f6e03513d3ac50db544b228258a69477fca8301485b5488246c0b65baf629e795815f03bd7e3313f6eef64d1a2c428d64225f6366eba01f56330984a99df979f72da4710311458e30e33a08314ad8d2fcd2427127070fc18e4a32a235d9dfd7c90de3974b03d4b0173523243df4d08d79e05bb7ee52a852e41f6d14a43a6d84513a7e96ef74033853fb391712b12e6f6d9564e2487a0c3c37fc2d04ddae564764f3c6a038773d0398aa49ed3c00c2b3f949efa15e051d825b1ce7f0491aed0ffed878d517855ee70318780173b2dcdc1e9dabef2f2f69ebf9c230f2d81343f4b9038a1f9e40c4be8803fa72a11e1baa7010cee9c90c6488b926e225eb9f195824217eca90bb5825a18b05581e03c186c809effe8550d2380ffb03f4579d98866788c6806058eca3c603700c024655719dc9ee100332d30476304436dd5f84020d0a376446c73466be20571d12ce24979e92d5b2dd05581d0253d2132b15619d0fc29bddaa44248514673e8f4a4fe7b9866dde7c360c1a006791df4a037800cdfd4d44fc233a05581d029f82066873e7a7a7bf9d5e412150ca2f86ca249b55d8c9b44bdb52470401021205581e03d66f23ab68b3d272cf0cb5ad0f8533b3f72dab37ebff0d123ab328cd500c0147010b8a39401ca905581e0391dbcc54786562c6a9ff727ded8eed4438502364ec2e1086ece7a376100c0d4701a20ad841505d03b3360117e25e2669d173b187258c9b1516470e03d26499e4e3bf888c2de9aea505581e034192a948a18fcbe58942c225b6402a189506fdf11ce9861c27be54d4c00c02472d1a213c4e8000030eac656f217bb75ed4fee49e9433ea9d60d909207c52c92c47ec645efb7bac4b03aab34f72f819cf9607774512d03b4fa72974829bd1123da97357dac4810e28af05581e03c15ffda83e78ef12acf0921d3be6d26a1e450611697553aafd238cb7100401031c631d2fcf9b6e7034431eab66eac87cbb4dfd18d2dcdda56821a2b1dffa7ceb0219baf603fe8b88fd363716207ecb4217baa7172fda4e12198d87995052980f6cc9ab3e4f03c912aa371204d5ba032f9ab8acaed070f26929ad92e2521cd08d5ccaefa8883a035b7cef6747b0e1de17be1401d4d09d8159846a4ee21742ac44c0a22abbc85b3f0341fd53f32182cd645b89fc7ddc580e2825b6d091b4c5b03c7f4be645079dccce036243a57d5c76371a55d13f972971fdcdb6642deb5a58972376d40bbf448c758003ea46466ffab0946ead42e2a5c9efe690a996263892d7eefd29b7554b2e8c632203ba443a74af3c0547c59e8450b297d8e462fd8ce29cf0335c79eb8e1036b6132c037afefcf58e1bb7fd6a2d2c79e4fd8d212d8ef5388c1e63b4cc69f55360077cfb03fad2e3afde364c5634b65fa6a2c49e2eb7632194362ad0dd2bde957e15287a790219ffff037af3215da02ea38512823bfc7180cd6d4a2b58c852fecc928dc1b463beaa6f5a03bec059447d017fda435a08fc5fd6febe6e964951e4c26ef2c38e24efc6a2baa60386f03e6dd30621bce4ac3358b821b38ea618d571fda4c12a316cb5a04a6c174f0343adde2d46d3659177641656d28af0ebd2d1a1c198c5bce91f33832f7990560f03e57fd4cf163376586cfa9acca9a995d712ebe615a82a878b2c07fdec5af6f437035cb9672172e25f09a9a7dfc541257d26041fa722a56ea12e49a8be540994a60d036a45c4d654cefb318bcd8ec699ff7a3c953f90b6c14f024ff02c3b37328e948003afb65f5566a61085fc3f05e6c0560b8fb6c0a0d350345a040d128ef631f63fa7034a2e5b5e3956cd22b8f168df523f3a3bcb371404a6d7c7ba4b80f20a3da9e4ae03609565c53d37338f13d38319e3bddbb75a7cea70bb2e117959ee513a183a23be03610635297b2de9015864b18a4bfb0298be037d5097c0e39f5f0fcda04b0a85bf03451b0bacfc8061e2a07f2f0da285f6dda53a8c307d8905ff428350d38e7d566d035d0676bdab1fc09be85fe022d6990e4d85e6aeb39ee3adb6a616b720e061cd6403c19fe50d01a62d1aa810b5ac0ee5d44e1f22cf97e2a7e468c47a5b3e0c85993a0219ffff03a48034a4bc1c51f8560dd0d487c90aab3da17b2730ea8c629c97587f60cd320503305e3e455b7e3a7418574318f8d69599853b51121729b5188a0d51ee65d4dea603060a27e2a82b98961c6909a58315619a6000fb7e6893f8a76fe24b8f1671b39a033ae78708069a93a9567bde78593906b579cde4b73cc1c82e37322bcf6c3751cc03659863541c9485e906e0aed51305500accf5e244700e4dbbeabc5201945363b603ed54ea7e2f51c9597d3e76b94ee0984565bf90bc6e81e645040df9ec440985150386fe14b19dc8049076b40cd0878b67dfe9a1759f812a355ea1ddbb4235ea4bad03adf57bb3e5a2c4d155688fa9c20b3bd23cc5297d14ac4058fc6e1bd94376abcb036c7e6bdca5202658ff62b35664c513da5f94dcf5bed30665961801f586187d7603e90ac6c461cd6624600dd0d8093e14363446fed8f014162466e5a7ccab5a5ec90366b92c9b21f4d72a86751128ce18ecf886b877a84427a56df28ec0e7d08c007f0219ffff03520765f8425d4bfd867f45e1cfcc5300bed3600a4abe73e4c273d0196dd9d44103fad66b91f6b5a48fe6e1f617c86ece3baa38c6dc591a01b86caf29cd11b9fee9035acbd7a5f747d6f8152120758de9152ee78a3bb21977e71f3f9230a7b15998ce03bd6434ef32b45e166959f7ed13bddfb73c18eea9aa0fff1b037cbcc1f476476f0399b5da90ed2aa38b53fedd0b5c60ab3312537d10522aabeb506536f9ebf0f31f03d439bfaaa945ff9c46387c506c352f11f0e539e4f714362d2c6b1c36daaca867035cc4eced32288aba2323ad7340cbc8422c918959e5974be9555de0799b6dab49036581df6924a176e067d4f72dee58b04f0f5a57b4fa3bc9cbcacf5ae516fe1c5703870a0248586bf6c29023fa377aa342dfdd4752cacfddfcc52e8cfc50623c18ce0317c29afb6557d3e7f48b30951d9187a8486fa23cc70d3cae1230bf710aa11584039c5ee227db8099c2b9922fd3d55e59b98a55a0a17c5cf83a728cf6f601469d06039cd96f1b33506ac09b0ad25426407cbf0d5f8f5f8bceccdef277926c06f63ebb03821a3870c18d84cd5ed9eb01262512637cf9f2664ea697fd7c47081871df3ddc035583ed8538b49992ddcc16d4b086d6b93f9c559d54b5167d29d6860f74cc4a6c033c722370cbde1908d05b4c26fba7d9510bdd3364d51a8fc1b43c1b2b3d4ae5be031139c2a736e5f0f0401821642d91cde0d3bff66c147e3e57d76fff145c3ba2c103a04590821e45a8e63a2667b31f1f54c900ffa66a51322b29243ec2f08693396c03475faef60a38369bc7b483ef12e546ceda1a824a2585fba298892080fe994ab90338189eee79d03a02f1db056810e3e688991218e0ace5aadc3706c53bb2846d24035668b9ab15cb7ba8924f7db97709815ebd01a2b02148fcf772cda61301797ab503e11666a92de7cbd41b417d849a9e5e84aa21222bb61b72514518b3c0d2367e1903d9c64b9cc58ac79169bbe56651707f646fe9b2c4dc21447083a3e7064ac81e1c039e5337fb3f04a58d06a74f4fb118ebc00a8a173c66dad965e64110b4e32b1d6a0365eb9364b27c3c49cef2a72f0d5c8b14aab4e91e0ce2bc6ed2ca3de84fd57e2903759f36a820309ee7bf0fbe59c95b8efef84dcf72322fd1f169d48abe445f0efb032a2fe2371cfbbdbf5ec7de8c3a8bf0b3d9ca3ca21427665009cdffa8db0eb66503741096f683439bb3e8efc2216894797f98b2203edc6cf1c71f398c7b9224b16d0374caf67994916d6b716ddc6576e3180d35f9a7b6023d55dba0175b39f2db545a034f5a1b8ab2f57bf3c61376433899a6eac90e31eb98c0c3eea08f15f87649a389039a556660a1e8c32330bea40336656398c27731c9371c0fe92fc8c7b5463601ad03f3608b2661802e77f61cc9194176e7d50927499b537b6daac02adfbaa1a93a5303e354b42675ee88f0f540a1081ee278bc0ad0ac611c7f381327685386cb40b91803896758f1b596e65a0f32fb9a3be10c3ea4fe28342dfefa92968e97bea9de4ad00343ac9a852dda7f569bc538ea1415b39250e2add42b487eabdbb23124a902286105581e03744cd955899d370ed56cc9acecf544672da594f9d4efa7c2dae372429004010459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c8d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613b86565b8715611aab57611aab7f000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c8b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c9087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c81565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000127452f3f9cdc0389b0bf59ce6131aa3bd7635981614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c16939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a039bf7a62301f74a47429b04a55e53b0e7cbdc56c207772cd80b3411f8b90fbaca03f29f1627819be0a6fa25815f852badd2e9077a7f94db98c31ff3dcaaadc9646303f5d6b4ecb12d90e83a26299784d24afeb2625e45b37a30a9b36ab50011c93ad10323eaf4b66ab4e5a12df8333356be6d16102b6b4fc6e8d766fc72fc0ed620b9eb03e96a02f062bb8fdd89dea9c385c63f9f5d4a3a814ad726756990bceb1921b2f9036c0cedb4975ecf80a601f159d48b5170203c39fc1689c60b69904f5092574adb03fe78740436b25c83c658ca8c9412d79eb7ddce2522a5581452616fbc318d3812030ce5fd2d89ff84731a4afb00c76cf55d6b15920cb1c9b5873823f760c0c7fb39033b70970bde6034e9fa9bbb33091bc518d5993e5749d6866c776528249b7a667e03a6cca776d24a70ae59d3db4bdfd36bb0125dc4c1321f65690936a8769c170e2e031911eec2e34fd63c2bc1188aa95af74fd16f6b0d1083142254f8e9cad2354bc000582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100004c004c0027fd507e00000000000000000009e1c4dc2d1a2fd92a6b3400582003865c668975925b5e650532f083ff94465afaa623414f7110ba84fb27d975e05820fffffffffffffffffffffffffffffffffffff3c77f145d40b3d420b5c98c22ca03e9c66a5bc46d44559ecc0efdc2032288050df8eba8761f24e922248b48eb8bbc005820039a972e3f02f04188e5189d4cac1dcec2d6f3135b0e61c415749dfcc65d574051055fb6f05db9dd30cc61425cb1294707fe03cd13985a032d3a6dd0503e794daa9edac55263bb9faa8b976b8f8cd9eb9d83f803831eea93eeb813db285912a21a3a979bd2a9ed37b3c8f28cc342c17820c8bc5b02199c0503b8f04f4d7aa1a46821f29bcd9f10ac862aceca2b0ed503992d8a20e7411c11350308209bce5caa239ff2dd6a33e24ee34ac94370959c8847a8f24287d0214e90f303313ab51934de3a909b39518165799db07ddc59d80d09466386622f8b6fb19a440306e2a4effb2c14076b238629d8178b6727ebc7a59a357c95228366ec1cd5222c037d443884524729848baf3cedde4ceff79c3292d0831684989dc53421b17feb2f03beeb4f1f15cdbcc2bdd26a71543561a9d9d071216684611ae686786bc83c19050219ffff035c529fe9b06d88df9bc46dd87f79ca2658604746a64032350edd9249c8fc0b9d03da6661d39f35e7991fea0d87ee947318f7ec14b568f45a31d0fb24d779a5e102033c72f304bed8db740febab0244ff7c0e37c8cb36569b3c8933a01485c6ed3e9f03f91a4d2b26510e99c261ef8feaef973256c1b44f4efa16c65af4374c6049421a03ab56ae2381ae57096974ede5b951969c2beae590631a29fb0cc6d59fe02732e503097181ad2d9e2bd26e98a6e95c8e1091b86ba80daa76779e0b9eb2099f386b2b03cbd94ab994600476a2acfd25583c4d364d0a6a7a551411248d67fd06921c17a30319e0e036470da7fc905a605f86e81b3abb6d0c168eb442c555d8d7733e52545e03e943cecb3681993b3047af673930451765d1a73fb0c9b0632c91920743f3f2e803b6e98d6748fcb23c82c30df771a847e8129c0c997c60960ce7eb502d4a56e26203cce16c0c69c1b8198b08a6df7af682a924cd39c6e22a8c33a956b635e968e1d4034674e11aa809203e91c7a20eb801dd5ad1155d5b4686d1d98665aff1a2ffd8b303a176829762770fa74e6d27c58d872a541f3d4fab9374d476e45d603cba13606d03ac90f3634d120476ef91da005a914d0b7d011e45cbc17a62b5a1f92d34e2fff80383e8de986a964bb8a6f8a357e69d58e5aff87817054549941a228acb15f6552e034d45087ce844a5d89dcbb24d24a7d65b0c1511fb028ce9f8621ac96423d085290377ace3aff74af545abcaa6e587c9d0829351c672722a9e435445e5b981ab0cda03f5e1fc0c3b6b66224ff2c512724488c461c6c9316b67c020986266542c3de883005820035fe9f7f76d1a6e4e5021aa2fedc8f21ccdb5816f96d03d11dc3578d15fb6705820ffffffffffffffffffffffffffffff3eebf4a100ace80eff31deca41e43d2517035d148283092227a5036fc4f900dc74345496bab3c9df2503b51b5f522ac9e4aa00582003cb5bd18b3599f193e7a5c7c3acacebe4bf5ea4895eb20d1b79be5d8029a5f05124d1cb472165cbb9bebe1c0b2d899096230058200312391ad66892a5bd5dddbb272511c3dfa0bada09d669ab791da74f125a7220520245279fbcb49d8982b998225c1d688df12400582003d09a27debab021af1a0c65d5ef3fca5d2b2414a3244626e0c74cc836c50a704e272bbcef7f708876e58e9916ab4300582003708a16205f28d9d651417a3bae9af1be12f2343d1ea8cc9bbc704f3aaba5e05820ffffffffffffffffffcc43fcc1e5a57c00000000000000000033bc033e1a5a84005820033ecd10ba10830ef26ee8c2c9b3c7ecff233b3848a36fa63673b490cbfb4da04e151c6a9e09f1500b733c939cfef4005820038b837a2a157992b5bbc6af24a4b0d8be4630e93c8767343ab168c44353afc0513cd8a0af677d587c684ca623fb51cd049200581f026be836398cca961f5bf3cc327a604ae40ed9094db3fe88f8481b4a84ac1b5820ffffffffffffffffffffffffffffffffffff9ecd7bb1ec9319ff27d3a7a13d4c00581f02630c45811123bf34f6255a3ff5ca4fb7aab08da1768e7fbc0667b322b2f450105d0904876e82992a2ddc696a57330400581f027a59c90d62cc7236ba3a37cd85351bf564556780cf8c1157a220f31f0cbb582001000000cf00000021948c37fa3e7c5b9608153360fff318e7850a5e668775e3021903010219cb4b0219ffff03c276ae1037e2f65c6c11d78580bab12c2e42d1050b605ecaa624f0465b3d096a03b93b3caa552079d63003b66ca4f6c4a103867e036346c130e07bd8b3b51eadbc03b1bd4a4e97964f3551437559fbc02a2c78a45e341c52841c60fed8a41645db84034e31ccb2393d61b1066bc19cd4e5bebc7a5af4aec4bb2bf67e8c449475e13db803d19decc24affbfffe0750178a4b1978fe130c3017e49666c441d9ea5701b704a03f86165e794cbbd280d33ef495354a7b1556dc28bc7a786ceb8fa33f91da9d4c403ca10721eec2fecdd99a76832b33c6f8bb825294720af4a695afc12c033f96bf103df43c3defd069288f128cb328eb07185aceaba86e2890bcd69ea4d7e9a66dd20030a0c682bfe31f55add072be6866175c55ecf4630922f2c862d4a703e29de0e6103dfc64c2a1a696040f67e27869400468629c4d144d4a863260cd0f2c75b3e658103ade4002f66efd29a4a4d657deab0f419fc746cecf0c8bc4cca94ec7681f7684b005820038342dc9b0561e741cb8e9644facdf56486b8c3dea3db4c08710b8c322b79b0511379a75b7973613358a9e4c9be1d56bdfa00581f02106b3bc448e279f32e77867a48054397e7b5bcb3cd2d6e6fae16b54043f4582001665b3e83000000cf000000218ff00c9b2f7a1e32d65e5fecfff38f4f06f0d200581f02cb945804617070a4f61ec1119cb6107f8aa264b912419d3f86e906bef39d5820fffffffffffffffffffffffffffffffb1758d89e587f4ad3e89a652b50afcdfb00581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b480abb8d5136f0b53d02183100582003414809fa40a769683fd356d4bffdf72383cd124545475ef71720c603c49b405820fffffffffffffffffffffffffffffffb9db5867a3e62c81a22b8e1db227692250058200327f331643ffbf9af2e7bd2499f970282befa33326a337d0b63223197bf54605820ffffffffffffffffffffffffffffffe6ce7d041173f6721a9afc1d72a4232da20335266559418d001fec59ef9e92386b79b1db746f3e6016ea81b71ffc3d092c030058200343ac38f49e1426ce26a459524f504f8ca0a9bce27a47f8732ac4f3761773d05137d465f6eb26a3543f26f703f6c342a28d03686a8e45ae2264dca674f7b9142e31d32cbc8dcb93c73f5886da3ed16827c6ac005820039ff0daae4f93c277d1eedc164898b140386dff0ec8042004f6b40e405df5e05820fffffffffffffffffffffffffffffffffffff304a69dbee972c8042d15ab356c0219197c03352d47cb09f533f31327a3fe803e7ced128758aa78bfe0425a9f7f846738af2d03208490f77637984cf31e044273ac2deb740cb6e757de0a6307031323e48c1f5a03be1fd9ff54d74b2b550b926b8e7688804481d113e871289fb1819eeeb5dd841e0376f84a0181d3eacb14f72874c21527c16b6b8b3543c8390f3a12308eeb36e707033a9908dd217ab6c6e512cd8238c6091940936a44f716ec1c3ba94312747278d20219ffff036495027f1f2643b59ff3fd405f2ffc6796672fab540d3ebdf302d395dcf4080603c4bd0fd69a3eeced5d3bc3c10fbc9b2b20625cbb007a6e2edb776ed882e2f4b30308f72a20e936a8de23f4ae343744ed57e15e0e9892104d7a08d39f9c80e3bb420366eeab71ed54616b9daeee75c9d32e8af92cce6d2c4f8dd20f005b39cb0f1c8703c6616bbe2bf91ccac5f38024073d36e4c0696f5e494c0de09656d87ed50987bb03e0dd639a96af46e663b6ecaee3fa977b09dc323c6d88e5b0b8ca4f718d1c836603d9eaaeaf6b2cbb7ff5d241506bc6ffa69ac2f9cbd2bf2bc262caf1f62b5a6d8d0328976607fc6d76883d14b2c0e012bf072ed6ee10cbaefe0da8159efb6d14913e039f3dcf4bad17d6d7803c4843baecc792a6639d87f909dce707b83c32ccf6cf69033ab33ddc1e3ff2dada91440d467bd23996cec57c284eaa7e5848365595952aa7005820033484aef6fb598f9f753daf162068ff39ccea4075cb95e1a30f86995b5b7ee0582001000000cf000000219495480c40f3bd3466a413b7fff317e19e84026687d76f005820034710cde5488de01c32bc8f3e7d134b4b60a9f2eee9838803dc6fd256f26df04df4a7a49bb621fa641c51fd41b7005820035086d37d807eaa4f806b3321a165e5e48447e5632247961521972d4f06f4f0517d5852c1b67a829e18f91a9caa1903b7530058200388698c15de85e98c0316f88faf1af0f90debe6fe791d455dd86a2c1e1413504e4ae372c628910d80b95e957b2b8700582003872b956567d0bd4277f040fc5dc387583fd5b5beb924ee13033ff6d531a9e051133b95160c7093a73e51206fcac3043a4b0307512b7ed491f5031a7e863658cbf53326e3cd9461c960de00b5ff9430c813e903743fbfee9316c9db2f14f84e9837b98c88d30cb68038c682463349068f930ec6005820030d348e126730f2591e466757921ce62de84efd151528d76f554bb94daa73f04e063f6997222b464c78a00cf3ed9e00582003f9126636176ad01da6d65f7ab42702240701f53a25e954c18a2185e50f769051845c7913b5db38b84a8d71cc91b7ca2dcb0351a8e4bf8c0c8c5fc08cd8046b88d897088d5c9b748ed3d388559f597d6132d500582003890caf3ece0d5988685278a86c55590e5007bd8a27b8713c87c6715c09d3005012b0c89ce96dedf97531b9e4156d990f0058200341ec7a8fdf26bad4bbad58634c4add83c7b29859ffd29fa76f93b2bbada5a05820fffffffffffffffffffffffffffffe286a74430f096ee5d137f388634249ce300219777f0355b4b4a7daec62aaee3b8663bd01f37950817f23714076229a14f8e6b4a25f24037c3f12f6d5330f1d6cbd90e1ea124dac79f360f6b4c524da36068baef11fc4de03ab3087978a6f0969783525b74db3cc46a364cb87e293c698e2c157353c43bfa503304ef5e6704bacf67b36b6af0094f9232af3df3a4df72b7471f14b168feaec5203ac5540e4d8fa84ed1cfe459bbebc4da57810ad40d4f436c363376a31ff74308a0383f541d963f9935100f1c514e52e18a9384c156cc1e00f90bc1e4c8212fdaa2903f68eee4ce139ecc5e6113f4c66fb0c1c2d8312ff2eb63b42173aeaf76a2e77f90219ffff036363982a2eb96a2069e5f4f067b5deb10e76029f6eba2b5da31448c30f62477200581f02066be7efa8a3b2bd75aa29aa19c3077a8d214279ce43e0a22d8d4abca72b51010000000000000000000000000000000000581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf652077aa88f69c7aadcb8b7f2c7572d1d6f47a602194008005820035048d736534c3611fb0ab8ac1d078b26ae214abcecb0b157da671e51cfdd0051034367e1c1a8182120c878f2f13faa5d5803d0b765e5f9a8b6b30ca44d6d3a8bcdf7b4b82dd8da33dbaad86f6a6e54643d8d00582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e0582001000000cf000000219492998afe09d569b4d4f188fff3182ee6bb0e6687baa7005820036851d95ed39705445d2326f50d898e16b3f7f1f05adfea271efa006a6e1960517aa1afc084419c41e6b231733ef4c5336e005820036c533bd71b3172ca641c64bc9aade2cace498805468dec5cbf026cf929e7104f38ead27e78cc20f32fa2916ed162e500582003f8ef6b8fb51c49f4d9d8f4d8628045b09126a63e56d12de03ef4c462e8e6005820ffffffffffffffffffffffffffffffa0e7b9972a80592223aa3f4a58283093fe03ac1dce3043d7122134ae1f924028f501aef2f462ac1c4769108636b1185e9096005820036c00e6170fd7d8d35a56221fa25ba5fa24b4a61475841ed7bf9087907b0e3051160671688fe25e5dfae5ecf46e2a91aa820058200388c9e6da1daff38e03c2d87735ec00985e519b053aff8780f3a72888602d605820ffffffffffffffffffffffffffffffff18e273591af14247f73791bcd2712cb200582003f0a2d8bdd090b7d362db3b59a4c405dc8366b1ab6461574bcdf553a075d5004752bf84537daa56021936df03e174a14912ecb3a306568bbd3761629deb7c7e05a964b72f77789d7f3b04827c03298f315d5b71ea0c5831972642dbdaa542f664aff5e2da1398d10b07f9ec5841031cecee34fa8babad9f84601cd094e40aaa21ed1bc5bbef9e6c0eb00fa3441c9f03ae5aeee2e81842d8ab571b03065353d9805f4354bd91452c96fd1bf9fa7b251303a47f2212fa8b902c11b9f150c0d5d051545e70b4ec06578803abfed1b152f6c803c11e8b57b06b9d51d2b61d0cda22f2da9ee5dc252f3a1956bd0d46cc95f8689403a3c3a397f3852f99a18ff4487e4222247fcab2bca8fe457836f712b78d2d6c8b03099d60922acfffe7bcd5ae18266d58a368664ecfedba56b30ddf6f39a708f72103c9674008ff79b6eba026ff0119b84335ddb4140ca863c583eb966d9adecf3977032f06b668857810e1f2688adf4070e8adde8b2bef08588fcea915b3c50f2fa05b03d2d1a889dd66cb45cb43cd4670436b6abb07d08672b19506c7e5638118bc56bf03a1d7b4906023e69f19804033ec7c77344e7400495b035299015dcb309d159383035c021700f3a71a29bf202f19ebcc3f1097abe177f816085952ed27b8a3e2b11503b6469bece481149f3e5e35f11c8cfa57b4bf3863a3d7783fd233fc6a6657b2af0219ffff03a02216256f997c1c471f423be79d07eb038adf13a49def971892fdec9aedba0f032fb1b16ef89eb94aedb5791017a57a17b2ab4aa479e9dc00646968fa176cdd770378b017cee2eba79f9641624c56b317904028e0b6c273b515d521edbb0b1b239f03c038c7732c27e47cf170b44e9725d7ec6c09ba2418a25022e478f6938dac287703b10759d2d185798e79bef572aa56c000a263236228f421778478009c853bd99b038226e3aebf57653efdd2dbd092874470e460a3f2492db911766edc9663a94c6c03738703f59669ddfd64873d2fe63b080ce560df263ee175a581c0c8824940847d03eb1cdc228a086cebe00e5d3ec8c889c840e394d52fe8b30fa9aaeda3c7b22560036522344151504376aa587c28ddb8b5c986d7ee0238a1d13d7ee5d90bf0be6bd9030f53b264d6b9d9cc758a1d682ccaff5805b4af062a27ae4cbd8ca9ceb25bc2ef03b2adfc88eef524874962e79b92c5bd1636c25925683a52dc2d23a58e6a7bc9c50333471ca340b5ad59e88fdf0410f7af0cb5a3b207983bb665a5e775ee2e267c6103d9d9401ae9cc83e85632be616fc3fb64d30bb8e50a7ad995fba73be19f91749803ff3e8f2d938971d9f87f87e24e422e542a5c9eaca1bc39cfda20c2377d0b2f9103663e883f9af737e9664e5fa041193e8788708655b14aaffbb16ad87a1ebcb94c03ea8f7712ff09d1824c41a5e274a9448394206e1f6f7d227cb81ad47d2472b3a60397ba5e884f8679b6415d62fae9112b3780ff50ebe974b1df1ab0ec710f21aedb0302aee1befb324bc8c4b645c764f2be552ced925de73b5bb8f9d03c2ec89c065000582003a9275037bbb3a67a240ebeb8c8dc012466c36fd6d4ff17b17289b15dbf6990511df9563440facbdbd2bdcd715affda4dd30308d4207a15a99b0d5f856fcaea36219dc59e4791879349027a6dafa7d90eb6ad00581f0229eee4a9193526d9f1dc1750887e9959ccce1065ba6f79a76a207e3e8c1258205023204519a85757b6ff97fcd77e66d13761f855fdd5fdb86c00a00618304cc400581f02d285eb675890659f03f8cf29704684e636c32d00d5c0b467037cca02ec09472a27cf4ad439a5021908800395faa145da3ae7a55291f10042ece501ffe77f6f37f923f4a0f5911779f1790103f620e4dacfadc336b9edd35e4fefc70b20c9b4fa224c296f86fbc59f480c776203cf0558d58744afe2b3621a9e70802667cea4fb85a45e1b93c17e425b8acbd91a00582003ec19e151ef351a147cb506937836ed9ae6d4904216e38231b237956879b3005122f43c4b093c1fc272ad1b40ab45fbf9e90313ec6309cbe16406921ce0c434504b0a06ad7b6b96e987bd59e55c06677dc63c03518ea8e9a7f4dc3d4866bd4784d24fe9a327f6ceea91b4a1251347a69030b9d80219f1f203c1518289a674284f4c71e6ff4af0b3a0bbfb66d4794bcadc6969a2a7f115a4b40219ffff0219ffff05581e03fa74d5a838d9a0428c53f02712552198554c14f23a20a5314b53e6f990070119567e03aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581e0327accb189999e2bfc4b033c76b7826d33a6f3ea4583faca7f0b130711007011bffffffffffffffff05581e03a15bb99d2aaa51556ce939ab44c81c6df290d1c1e40d36853dd74a8820040103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e80654036573f31bbf244b8ca64483095e9a349191ac49475c76d4f53bc727d21b73941305581e0349b6f9517f3c457ff52cc6e16588585b7035ae6df4473f6e4332eb271007011bffffffffffffffff03f136ddac898f4f05d064dd8841989fe7179c9013ebf8ed5487f32c6ebd86bb0b039b78cb1592cdcbe9bbce70707e488fcda3b0bd6dd1e5b669ce7dfbbec7f176b3036a093f9ba87776f112e9496ad8932ce67ddcfffe70053f9d7144f82b521037cb01410105581e039014c316384997f630b0b6d670ce8306c627d2d63fd645f2432be14b900847019945ca26200005581e033d618b280de2d86c98b6bb736806b20d3d3e9a40665986db8913916760040105581e033894df89880de38ff385993ce0191172139074f1edb0c5e2ca169144200c024708db3bdeba7400021998ff0219ffff034c4e9c0b305353f3a9e8a80e53ec67bd0f7ddcf03ba6fe8eb5e9643b0bb5698f03d794a6c5bfb830d51f24e96a74ff932f507d1f2d132064994f721ac66a1fee3903adf77a97e43ddad6b1ba89bea6b0311b6940a4571f9141fb60be9e677f569ad50219ffff036077e3202441fa108c4fdc71d8458dc621faae6247293db9f3bad2eb9d4fb06c03181e3146b4368985a02bcd850b8ddd4412d56fab60d11abbef6aa4b91e17751503221f484d7330e396d759c37404f2ad2807b64effe6eb7677b91807747233ec0b03556f2280a165188aa3f9e8a7798d858bdeff92cfb90bfc3542a1809d7e0ee8de03811e35f93c9835a34b3b57c5cb726954b7e811d7077d5d02dae6b32356cc12dc03b9963c3043a9fd3cb13c7a0774d0e7ead1b30db9b519202399fa1164bcc1bc5f0320b3389b281ed5e60365bc0c47ce4de940128e1fd7d0de1d188911aaaf6bb76c03a4ee9d87d2d898ab79f55eeb847a4cc7c8a335d97a03bf91278f8df3aaab93e4030375a657e87c4aef8a0f199f423dbfdfc2c14b7d200f2a4a5ad01748d00f17140219ffff038fc0e0f6eaec3188857c12560ba3926c325cfa273bd2e63221a4a0f74dccceb803fbc704c0a36ecc7250782603939b1aecdb37e217a59ed24494ced66aa01e72c60219ffff038c64f545f6ba113e2e82a6746f165094d0c46b436850d904160acee5c8499f45038b7a03659aa203b71a0d6718bc918d48d5d461b681748e80c50a1be45e1397b7035bfa2153f055d56b5c475f0472839d2c7bdabbf44681ab7eaeef3ed0ecb70bdc03dee00adf546f34d841c2df4b78f73ea9509768340015788d258d23ccbcd6eba303b4702c992158c48d573d0ea53adb601d02211b2d9932ac071bb8b80825adb586039624dac04e5982deab72f793e03711415a178ca7b290b4c5533a60a378ddea5f03d46e7bfcfa2a78ce2fb723fcf91186e0e1cb00599af4f251e07708e85f5c7730033b0eecbb3ef5213f1ba440bef417a50abe3d80b09aa57387086be1fd6581a30303385010603ddea7efc4c858bedcd1f69baf95aad0088d2a17fc5453a453e8649a03a669915b0cff30bd912c6b45f0005991ab9adcad83e398a7564d31d540c9fe5103f74f3c2fd6d08148f623d19f9063832b120bf4919a34b84a0c89e2b36a80c4a603f38c9d8b578422a9a576ec755aa3237c3c2b381f93fa0d7dfb7adbda5a232d28038e5287e567da1712683a0419e219587f99597b68609c3a699b8f6da675d9d9240358f91141d390fb9cd06df720e77742a8f0c47a9d92b56862646eea02050734e503ca765de51df0289919cb0970bc6bd7615a95480cd11212a844d8a453b918bf8503f19b59697eb2df60a258b1ec03859bb1a64d74c8b4c1db47e1f28c40b759b140039fe70a90fd3295e347c8f91241a2c11ef92f448333a8187b584cbb888e27349403edda81b3802eb997fd521074afe5d5d3107bba79ff75dbe15517b5422e3a49950364825922685e5ce8c5cc172085f6346d995754a0305178c3c95fd49fed92f7c203ba1a9fb8b4e3e5b4c736ae6285ca714f390468060e22d67cea657bedf8a7c2bf031dcae5c9a5573ba00ce4b2189ebbda3bdd0874703c77ab70700b9a823269d667038dc3e55c62dc7ad35edd5568af4cab561476245f53d44ff5507da7686f3be9f303722d43859280a07de8779b71e099dc585ea909b0e44ad941c771c14037c407f50364413c2ae36553523597cd98c15c33d7750b7fef4eadbdd5a5e58560cd131dc603e3b39978f1f223667ede54344649d45348dbe47c7ba72058afc7860369f186fd0364cc93f18717015b82abf26fbc1ac75ba0a6270d525b81f25a3932afc900112f0313e83c2ed262b5a9ca3461c0a8d048583c8412828ab20260f162c2f323f7108903746e7123b738c0adb42e172b0e62c6c4a477655b0f0ec85b220186e2cc7d2c9f03db1edd88da31b9173b3a01a4bcb70736f1fb7d3d7c4ff994859c9853af8d13ad0329f4779aa5b452b14f056e4a9b7939d5cded2558be947cbe51776770faf053a1038bd99129d8d5ac3a61eb5a2474a0b12003c08ad1d4d1d30dfc13ed6187ec8e5e03c21f0eb7f81557af2541b0c0b5757f24116c45fb8a982919a804f8affaf568830351b04acdc59d6d2676cb376513e6ef4e0e457fb7667841912288d0e20a2a80b303cf603aa4de6a946d150a191044c72b182176fb4021c6b2d18a383855a8f0234e031b5526d099906496a3a33d60306caefad770cd03a0881fe26d7f1a0de66b43ac035e59a8277f34b835258b96b4508bec0ef3922515e4142f0490770b3b2175569f033358e366920b2fa8afd4329bebc05770d5cd7b659426a391d8ed6a1e235266da05581e03e61bc331fa2bcfdfbcbaaffe43953dd29f5dae150f901483658d263be00c044707b05cbe758c7d05581e03e98f02ec287a7bc81664c3bd3547c9c43fc30dd780deb035cc572ed0200c044683c5a2e4fd4005581e0301b4c5ac518015a0bce436357c6ffae80bb8291afc971ebe35544f24400c024501aa2450d005581e03fe83da1ccaef9d9bd78ce53543b6368d6df3947d410bf2d34eb594c300040205581e03ec48afe9bed2ccb5532d8a32fc0cbb2e1ba61c7556de5f51e397c4be200c01463d1ec5ffb1f0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0397fc5d38badeb2417fc4af69d36e4965c61f33bb84f646b7d58a9da68007011bffffffffffffffff033fb0fa6f5661fde6378c4db73cf7f1243b922e4b55a3435735c010e477f1c24405581e037a436184a5fc4ce62ad4b2daaf8a45e35f2947e33aeb11416da640405004060219e48e03026455994a7764223a128fa757f29d61c41ac8e28bbab1f879c66e232fddb035036c4372246d91297c5eca3d8d1d450153f9522df23de517957182e29d8416b60c0346fede6b7d0c02e47d4b73ba916d50c6560915c7d711ff0fea6a50af366bdaa303f7070916e5abef8618a5b86ef9c90067f0b9cd0571950323e10a64c9ae9eede303c0b160d239ce0c71812917d0798c6964edb234491c2f32eb7574c8d7a16270d1035ab52e3783b4c240b92929d66d50e2eebb0d5a8af7ae707757e0716d1bf15b5b0219ffff0381b97d5f5e54ad1fe2e2fe530efccfe0e148b5acfa7783eb6d9b849eb409760e03bdc3838f5f61a24e53f359ca7165e76b4b7d123d4f5d64842a6f4075139064210305ae7026d11d5fbcbe4de0212add624314870b4c1532789e11273a8ba10e56c203973e358ab5582c748814ee0c54d83e22ea3e492f55b9bd5a40c63d93d09ea5ec03aa14db891fe725d91d209ec73aee30e8ec4e9318420de3ac1b054ed669a9c548032c58a6cfcba14f44ecaab62e153e6f564bb1edd960312b39a5b0d51f8ff6aace03df1b522adaf1ce39fccc3c0cacc7c100fae355380c9f5dfeefa1ec094b4da18803970d50131d6665b86b6a67d58debc492b3923adc1cbedf65c211445f168854e403746e9788d5a04b41a1967441e8f40ed5915a6ce4c41c5faf5bdc0e97e573ad57031705ee1a24aaa8fcb010d0d1846fb7d459822add84601e4ef2a53c5b512f2f0303c494844597473b86772b53e2322822dfe1b6bbdaba0528c074a025237835c7200219ffff039c5418df832c32390025d4a5a8613e19abde9438c33695d6b4dee37408ae66e303a89e88d26fd4cceb1ec4e05da51953937150e437b79932edeac52a67f8a9d0f80219ffff0330e7fbceb09cd80ddaa7d8798418071887af45da7dcd546c2e11556fa2a9f014039c5be4c1f1826f0f0fbe5e859559869df0fb0b5aa443a564350a41fbcc0d8e2e03da9e225c2f0f94c12b957422890a434c8ace62b7f62a25e5ab1ff9d769d8bbc303fa81883436e0c90f00cebba72c2385bb41f296b7507fdfd60bc7177dd9fe70b00219ffff0356accbb08f14787247efa1f69b647975b2fefc0e6244adee739f7424d57634f4039e1b49de128c02a0d77db25a734b09b9ca0f30582a573f235018801b7f264d3903b2d29567033bfc1a2bee9b8dd1ae1f4e2490fc76c7a587218bca677350bd02d4034a98e5aa8b759f855eadad1783438e86a1b313512d68b2aa2173e03e404e4754030517818001a66d1bcca1d848116b526ca279256e644d78c7ec2cef3bb7dda46303542fa0c5e82ff10fe47e0fc53dcab0ac9766eb1becd1137f8ead1cc1344818ee03b81977ec4857ea68ec61870fed83019ddc0311c2401045a5958945a72969994e035e99a18216de7c1b7708147a007c715141ae92e7a9f0b8e99cca064ea79deaea038ea7b92f99ed5c0e0ed2155f9558fa40472eac7eaa3d3afd43c9056e6835fb6a0394da0e161c11637e97d2f9629bd676c4bdb12fe83f79d38b20fcc33486c19f5803eae36d5141d52a485e8bb8ca06cd43ff66b34aa0dae8cd00a21a0540ffb8df970301403b0fad1c25dd0a2fee75ed02b492d98066341fa70fe3256084c5d90cdf2d034b0f24ef3f168522ca5f765666537bd37415c901e073eb2bfb51ff3e049b30cf03646233d9aac1837084f5f6fb47cf135b9217e952e97c0e6cde7fc3825b1d115b03b56428c1243e4a844188731658a7e8abf136a1d537aad775b82c737006b8692c0399b71d229efdbc6d36e4310ea83fe90e64a465a4287b50325adcabbe41ce72a403d0fb09c05f18ff80c79ad922e44e044f9b74a07316840edff092bc89f2b1430c038ef79c32166f9637dc1aedfda6dc33325dec0410a49c7a1f997e8b419de692ba03b5a90ed8125517954634b7342545b22d867154be2a242251bf23f7ff8bec597b0308bfa6aab1f1ccec808d3710937ca1d80e423bd689175cc46ccc4e850ca933d6038e859fb9ae68f5441159c12fa3802b90c8ae89e8d7c984023d576dde001edae103bce8a3e4a4e449208b926f91eae0bb949e065825c43eb899b038648a83a4c4130364e753c8e9e5de0658db93d0fe5bc9c58fbe9c5bf3246e1713f5d9ac8059ae0203d2f374513af1c9a4ae0d2eba681c30a048e59b8971b01a8cb15979fdee4435bd03825dbdd15bb71063961aedae48476445d08402c8dc9f79667a891a17ba70992903a3ff955dc09a02d65ca99b6be55b35c645654216fb021e2d1ec6b919d5ccc79a03b1eea779197695e1aa49940cd7edd0b1f069d9f0e25db6d48e405425a4c64b2103b1ff02426ddd09080a6c39e83a40290b0e650d4c16aece4681e310186a040aae03b5026b93f3054af9c148e41a5a8e3e86b635463168a84eea5c8628f7048677ec03a459f2f2ce9d1df45a7b6e2b5a80c91f6a838af053a9059cd7007960ce9cc3770381d39457c5b6f2aa560243a444971d3b034b4bc8b0a432bdcce67e6c0284315a035ef58c1838c70fa56e13d6f470c23dce14829637c904203a4f967cf85475cdbf03ee7cf68942e75f12143578968967cb512b744deebc66bee21ac3f98fa89fdbd505581e038840d35a0d9dd0781c4d8ee81211977fd14673757ae585e8b7785bd87008475cf042b6eddcc503e800314b0d348d2c75fe902aec1a6402a177a1096f6c41375df344783a1228aa035bf8ade0a2071cf7aaa9df15a6f089884c0adfe5ae84fccdfac277324eacef38039982405f81ee8871f4929ee8997a8215441eca19a9f93a92c0813125babfc14a03667db94fe27d7c28b379795a0120f97619abb05431ed638559fc1bd9d25decbb045938f460806040526004361015610018575b361561001657005b005b60003560e01c80632b0a79221461010857806359ead742146101035780635d094619146100fe578063741143fb146100f95780637f3a34e9146100f457806382762f5c146100ef578063aaa96a8f146100ea578063b30c37db146100e5578063bf353dbb146100e0578063c08d58bb146100db578063ceb5748e146100d6578063d7efa053146100d1578063e71fdb82146100cc578063f5537ede146100c75763fa461e330361000e5761216b565b6120da565b611a8d565b6118a9565b6117cd565b6116ba565b61166f565b611624565b6113b0565b611348565b6112aa565b611026565b610f96565b610f06565b610264565b600091031261011857565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161016057604052565b61011d565b6060810190811067ffffffffffffffff82111761016057604052565b610a40810190811067ffffffffffffffff82111761016057604052565b90601f601f19910116810190811067ffffffffffffffff82111761016057604052565b604051906101ce82610165565b565b67ffffffffffffffff811161016057601f01601f191660200190565b604051906020820182811067ffffffffffffffff8211176101605760405260008252565b919082519283825260005b84811061023c575050601f19601f8460006020809697860101520116010190565b60208183018101518483018201520161021b565b906020610261928181520190610210565b90565b3461011857600060031936011261011857610ee460405161028481610181565b610a0181527fff000c227e72d9ed7a35a09e260cdd5bd468dcd29b017bd64704cfce1a62420160208201527ff62f0b87f4ddae13a50237181ae2d655decb0b548872eb746437dc29c603a8b660408201527fd17c22a4911a74cf0e3cdd1ba7a2c458bb047103830bc29b593ed2f48e5a29f960608201527f3afc66e3990588eed1e58744ee5354c8ad0f89707b238c8aa9062d70df2c5ada60808201527e7863fae86713ec430593e40207e533419577858543b30dd6bb4dfa9d809d8560a08201527f3808f990eb738c7b7d80b6e57677acb4620a77cfcf09a626642b21da614f4dfe60c08201527fbcb4bcf63d13287d660a9309bdb9bab59ff76872f6f9b7b24dd67c51ad0b2b8e60e08201527ff0206d2e42a53d8612bb29a8af9b8437f80c1bb210d87b41eec5e1a5e3ea741f6101008201527fc0d248284c0d93c617b84910be77e1ceb4d126a1e6d6018fc50ef80bf5c1f5306101208201527fc1c08effd495d0bccbcd8946430f92777b22213c9a3b3143ba33b0d8a7b736c06101408201527fae103eb4c4670e603fe296b1f5e19716be0072f40b11c798c549b66a70f906286101608201527fd920d226bafd92be73127620319bcace9a4b2d9c2b4b67d5b2d85654d6137d926101808201527f3e679ed4fe7a0ecc01c34f5bfb2722d56214259515c9d957dd6ce338f346afa86101a08201527f0e05f4ca29152a04d9fde2396c01c5f065a00bd5f6edf5c88d1692ed8a4c20916101c08201527f0e96b6cf3e37146789a6bddbc81705c22f61fc381e3dedf870510028b7f1831f6101e08201527fe518adb1185658427f37764b95f6e2fa0aa93c511219b446b75c218a14f8f6c86102008201527f011dc314aa60cf09fa1a5690cb801168f7c8cc24eac0f98c5b9c46d6d61bcc0b6102208201527ff595d589c87a74b9a53db37719ba64eff11cc6e4d1fed32d931cc1eb00edb42f6102408201527fab7279b8a81d9262af4e61af885ef60ab76e35454b02b82a501ea6588340b8946102608201527f5c7927f0a70a02d86c699cba411fa35af839876d9564b84fcfd09ce3814dbd926102808201527fb820ad548a60d862d634374eb949dc1b8b849b314321c29860a5b21396866e876102a08201527fc3ecdb71c30addb7a622ea8f46304e9d2aafc66cb609b541ebb8a4d23123db296102c08201527ff05c2ef0c62fade94fced4263682f18a2e243432097f61967fee4d3a13eb4c876102e08201527ff0641cb056258345edc258f9483fd161bfc620fadbbe977c80262db8ab6680a36103008201527f06f0325e9454afff9fc0155ece278ea1b35dcc5e5e6e34ce8cbe562f49365cf86103208201527f61284ec040af6e476116603eb42f996ee3abb0d11029a072593878a65be8b02a6103408201527f8e3c0f409eb5e7b9802ae4708ab3fdd9519053eca479ef45bbf2242fcb2bd37f6103608201527f61793f65b55c2e240fdc38ad7607996ef02c8c3d0e4219254e06609a1e5235046103808201527fd5fa9041042d208bdb878b105a15a0b45e0026af4a86e314ee2e7e42ef26ddd06103a08201527f88561a5b5cf805135dad9b544f2faa78b41426de1313d1aa5984270cb5aab2046103c08201527f5a30555d50317c43ded2631e23c3b58b507c6a82d9314099a711bd90c6e69e5a6103e08201527fd8c778cde2ada0a21f3277741b8eb4c144950e66fab8b1a7d0791509ea33fa506104008201527fce453fde85b322152af6360697c8d1184a34c64d0c82258c0c392ac981e2cf926104208201527f2d18798abc3582d974933377d7b3aaf97b6330ae6ae017ffe03639b8f57105186104408201527f8476d21eab6b2d6077e926605837cf314a63f56c51c3562eb5b98dd1dc4e03ef6104608201527f1538f13ca2416bcebce40f97a28000c84a49910aab392fadda90deb77f80d61b6104808201527f18c9ee8c07c827f45f3a3d20ae87aeb8fcb49c2b88edfa636ef7a905543bb0c86104a08201527ffe2173623ac818e79c03ab9d05f80e9aa23c48f4ca8e18188818291ef0a400916104c08201527f40a491602d3d49de1c60708bf91c37af581648d081eada74c53ef98ab8ac1c6d6104e08201527fe73f14a1514a1834c615e3e1253fbda737c9c1702acb93ee2be9be6356d7b4416105008201527f854014a80600d2449a9bd8778f639a50e4f526e369414a681f4362931cb75c0a6105208201527febce4d904a804938e04219be2523093fd49aaae1ec428850a6c8f8072b43cc5b6105408201527f5b16ccfa84e49965964850180f7cecdde744ca6dd6e75edc737136e1bfd17d516105608201527ffdd5b21ae245d4e2977860b61ba8bbf23b02fb7b57e43a5fd14605027e09cf126105808201527f623d7b8a2e2abcfa97323098964740b39c22140236b3a60b4809a099f66b78af6105a08201527f7248346cac1c337fb90a2aaeb8850630cf89e0ba2c49b44df7ce719238e8cdd26105c08201527f0f02cc562e42bb861f4a1480fd67174397e6b5f5ff034954547722d7984b6a1c6105e08201527f0a872380d84522ad38a0cfb7988acb84a44c9ca43e41180a8c11d909881ca3086106008201527fe2530b8b8c4d25d4905c4b9d6ab2b9dd835b4c0f998f4358114e537ab05ef26f6106208201527fccbc5a3af8490605ec4c296b214f39f2df824351931092c864111c9f11a88fec6106408201527f1c50c121733b77e5e318d0d74921321c466bba4e6f5100dcbd0bf34d789e563d6106608201527f15a75200be93d6a80f5243547da6c84f02de61d6cd5da6aa7f14cd66e25391be6106808201527ff58236324708afd82005da29f1db650f875458b29d4fc00982173459cf1103b76106a08201527f192ba4326a55f31c73c82e56603ed9d99a7a1c919eb45b50de5625fef2d9ebba6106c08201527f25e6eba6e46c1e91e4fec753c9573289c52ee5e2de752166b7620861abe8e64a6106e08201527f4d584443ceaf64ee9fbc18c7b82924c563889071385988b75a4ea23f4f71715e6107008201527fe63ef49ffa48b907bf5aabcdefcd519ae9951135611d1f12964121b2205b57cc6107208201527fa86d173684673785b50b7c486746e9df785ca4ce95b9f399d1cdacb3f3e126da6107408201527f39bb2cca365dd90ac6cf7d221f0eff4bceacb2a6ce3c27d55d5eb4b86b8eedc86107608201527f3d855f9a7d5412c793f003e1f35f968ad50fb49f3f14663b5f2240bcdb6543a56107808201527f5a6087401c35ef060bd31c9adec8102aa51260613261feae673bb4a221b67c616107a08201527f53be8be2729cdc47d062fd1b7ed8b1dd049547b57e60bc324451350f456332926107c08201527f77e783da58aab9ab22c8f10d53a77ca98f64cc05f2e5edf9dd3a0bba074939e26107e08201527ff768730fd56580df686e694941be18a766840ded3f6414e67b66b4d914c8e2406108008201527f7423a1ac99b034c3bd8bb42a4f674de4204a03b39318fdae1fb97f366f92319e6108208201527f0968901d348ba2ec08c6734319a7ee3f2c8bb438b769e40c5d4e0f8cc732504b6108408201527f0f6f65804d4d45bfb96a774961729eeea88d1990904196c63178dfc1606b9c266108608201527f213144e811a39e5a185bf1bd59d028839b6cd37b04353adffd5e560f685a55d06108808201527fe745aca1e66d521f1a7cb744aba7d60b36cc109e7610a878d66e76094a7a0bc86108a08201527fe4d50db9c14e3086c43e41fa0f6f8a60a2c4c92fdd25b92c5974937e7111fcf26108c08201527f52705fa78e58da545154a1b08704d08d6bd890d8b2713f7b61e5a54c5b73528b6108e08201527f608a087fc1b4b9bee572316ab33ea77c31953a8be2035e83997bcdbcce73f3d46109008201527f9883dafced84f5378ff86a0c13d2a586fb749b839849c73bbf92f34877a1ad1c6109208201527f2596014a15752d93e960a7564c484e0ad54e5d14cab6bc287776864793336dcd6109408201527fdcbcbd0d4e6bc5b5ea3ebbb2f477c8f47638750e391c57d5d3f521f5894c31326109608201527f4b78879f7842fbb5e592764931d8bc93d8281b73727979466ebd1e74ec2432686109808201527f08ada9dc1ebafdd5da7aea3d3e72b6c7cb16555d9e0b29cb19dfae709e7b2b076109a08201527f732b00fffb2606f62031834c0202886b427c3815a9a556097a13f7a4c2cf80e66109c08201527fb1f34baa1c7ddbcd2e66dea13e8a0eb6965842e2f2edfd5c337eb9d908e068476109e08201527fc1d7830ea0d2e2cddd6f79642f7fb0b2b10b9363fec851aa727426bed61c9a59610a008201527f4e00000000000000000000000000000000000000000000000000000000000000610a2082015260405191829182610250565b0390f35b73ffffffffffffffffffffffffffffffffffffffff81160361011857565b604060031936011261011857600435610f1e81610ee8565b73ffffffffffffffffffffffffffffffffffffffff90817f00000000000000000000000048cc551eaeadedff6ecceb0227d9b709fa9344dc163303610f75575b166000526000602052602435604060002055600080f35b336000526000602052610f9160026040600020541615156122ab565b610f5e565b604060031936011261011857600435610fae81610ee8565b73ffffffffffffffffffffffffffffffffffffffff90817f00000000000000000000000048cc551eaeadedff6ecceb0227d9b709fa9344dc163303611005575b166000526001602052602435604060002055600080f35b33600052600060205261102160026040600020541615156122ab565b610fee565b60e06003193601126101185760243560443561104181610ee8565b6064359161104e83610ee8565b60843561105a81610ee8565b60c4359361106f61106a3461234d565b6122f6565b61107c60a435431061237d565b6040517f70a082310000000000000000000000000000000000000000000000000000000080825230600483015273ffffffffffffffffffffffffffffffffffffffff93841695602094919285816024818b5afa9485156111b8578891600096611289575b5083166110f06004358483612e07565b101561120c5716906111006101ec565b91803b15610118576111486000939184926040519586809481937f022c0d9f000000000000000000000000000000000000000000000000000000008352308d60048501612585565b03925af19182156111b85784926111f3575b505b60405190815230600482015294859060249082905afa80156111b8576111969461118f936000926111c6575b50506125ed565b10156125ff565b801580156111a057005b6000808093819382906111bd575b4190f1156111b857005b612341565b506108fc6111ae565b6111e59250803d106111ec575b6111dd818361019e565b81019061241d565b3880611188565b503d6111d3565b806112006112069261014c565b8061010d565b3861115a565b16906112166101ec565b91803b156101185761125e6000939184926040519586809481937f022c0d9f000000000000000000000000000000000000000000000000000000008352308d6004850161254c565b03925af19182156111b8578492611276575b5061115c565b806112006112839261014c565b38611270565b849196506112a390883d8a116111ec576111dd818361019e565b95906110e0565b6000604060031936011261133b5773ffffffffffffffffffffffffffffffffffffffff6004356112d981610ee8565b6112e561106a3461234d565b1681813b1561133b57600491604051928380927fd0e30db0000000000000000000000000000000000000000000000000000000008252602435905af180156111b85761132f575080f35b6113389061014c565b80f35b80fd5b8015150361011857565b600319604081360112610118576004359067ffffffffffffffff82116101185760609082360301126101185761139c610ee491602435906113888261133e565b61139461106a3461234d565b6004016129ee565b604051918291602083526020830190610210565b610140600319360112610118576113c961106a3461234d565b5a6113d760c435431061237d565b6113df612788565b73ffffffffffffffffffffffffffffffffffffffff6114186113ff612794565b73ffffffffffffffffffffffffffffffffffffffff1690565b9116109061150c61142d6113ff6113ff6127a0565b9260406114386127b6565b611440612788565b906114d461144c6127ce565b926114c6611458612794565b86519586936020850191927fffffff0000000000000000000000000000000000000000000000000000000000602b947fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809460601b16855260e81b16601484015260601b1660178201520190565b03601f19810184528361019e565b825194859283927f128acb080000000000000000000000000000000000000000000000000000000084526084358730600487016127f6565b0381600080985af19081156111b857849361157b61156561afc86115576115a69761158e978a918b916115f4575b5087156115eb5761154a81612839565b97156115e357509561264a565b935a9003019360e435612694565b61157561010435943a0285612694565b9061273d565b9061158882821015612866565b036124c8565b61159f6115996128b1565b60ff1690565b0260081c90565b4781116115dc575b80159081156115bb575050f35b82809291819282906115d3575b4190f1156111b85780f35b506108fc6115c8565b50476115ae565b90509561264a565b61154a82612839565b9050611617915060403d811161161d575b61160f818361019e565b8101906127e0565b3861153a565b503d611605565b346101185760206003193601126101185773ffffffffffffffffffffffffffffffffffffffff60043561165681610ee8565b1660005260016020526020604060002054604051908152f35b346101185760206003193601126101185773ffffffffffffffffffffffffffffffffffffffff6004356116a181610ee8565b1660005260006020526020604060002054604051908152f35b6060600319360112610118576004356116d281610ee8565b60243590604435906116e382610ee8565b73ffffffffffffffffffffffffffffffffffffffff8091817f00000000000000000000000048cc551eaeadedff6ecceb0227d9b709fa9344dc1633036117ac575b16803b15610118576040519384917f2e1a7d4d0000000000000000000000000000000000000000000000000000000083528160048401528260246000978880945af19081156111b8578594859485948594611799575b508391831561178f575b1690f1156111b85780f35b6108fc9250611784565b806112006117a69261014c565b3861177a565b3360005260006020526117c860026040600020541615156122ab565b611724565b610120600319360112610118576117e661106a3461234d565b6117f360e435431061237d565b6117fb612788565b73ffffffffffffffffffffffffffffffffffffffff61181b6113ff612794565b91161061183a61182f6113ff6113ff6127a0565b9160406114386127c2565b0381600080975af180156111b85761186e926118659285918693611887575b50156118805750612839565b60a435106128c2565b806101043580159081156115bb575050f35b9050612839565b9092506118a2915060403d811161161d5761160f818361019e565b9138611859565b60c06003193601126101185760043560443560a4356118ca61106a3461234d565b6118d7608435431061237d565b6119566113ff6113ff61193c866118ec6101c1565b73dac17f958d2ee523a2206206994597c13d831ec78152732260fac5e5542a773aa44fbcfedf7c193bc2c599602082015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260408201526123c8565b5173ffffffffffffffffffffffffffffffffffffffff1690565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273d51a44d3fae010294c616388b506acda1bfaae46600482015260248101849052909360208280604481010381600080995af19182156111b8578592611a5f575b5073d51a44d3fae010294c616388b506acda1bfaae46803b15611a5b576040517f5b41b9080000000000000000000000000000000000000000000000000000000081526004810192909252602480359083015260448201949094526064803590820152928390608490829084905af19182156111b8578392611a48575b5080159081156115bb575050f35b80611200611a559261014c565b38611a3a565b8280fd5b611a7f9060203d8111611a86575b611a77818361019e565b810190612408565b50386119bd565b503d611a6d565b60c0600319360112610118576024356004356cffffffffffffffffffffffffff8216820361011857611ac0604435610ee8565b60643591611acd83610ee8565b608435611ad981610ee8565b611ae561106a3461234d565b5a6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152909460208260248173ffffffffffffffffffffffffffffffffffffffff87165afa9182156111b8576000926120b9575b5073ffffffffffffffffffffffffffffffffffffffff8381169082161091600083156120225750604051917f0902f1ac00000000000000000000000000000000000000000000000000000000835260608360048173ffffffffffffffffffffffffffffffffffffffff604435165afa80156111b8576000938491611fed575b506dffffffffffffffffffffffffffff8091169316935b84840265400000000000811015611fc557611c1090611c0a906cffffffffffffffffffffffffff8a1690810202612ca4565b603f1c90565b611c1b81861161247d565b6dffffffffffffffffffffffffffff891690850380821015611fbd5750945b6001611c5962ffffff8b60701c1688880302620186a0898502026124c8565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529101959060208160248173ffffffffffffffffffffffffffffffffffffffff89165afa9081156111b857600091611f9e575b50611cc460018211612501565b86811115611f56575b5050508390600014611ea357611cfc9173ffffffffffffffffffffffffffffffffffffffff6044359116612e07565b611d046101ec565b73ffffffffffffffffffffffffffffffffffffffff60443516803b1561011857611d646000929183926040519485809481937f022c0d9f000000000000000000000000000000000000000000000000000000008352308c60048501612585565b03925af180156111b857611e90575b505b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152936020908590602490829073ffffffffffffffffffffffffffffffffffffffff165afa9485156111b857611e21611dfb85611df6611e3b9761118f611e269761ffff9c61afc89c600091611e71575b506125ed565b612672565b93611e216cffffffffffffffffffffffffff80851694169162ffffff8b60701c16612694565b612694565b611e318183116126a7565b60a43591036124c8565b935a9003013a0291611e4f838510156126f2565b60881c1691030260101c478111611e6a57801580156111a057005b5047611196565b611e8a915060203d6020116111ec576111dd818361019e565b38611df0565b80611200611e9d9261014c565b38611d73565b611ec69173ffffffffffffffffffffffffffffffffffffffff6044359116612e07565b611ece6101ec565b73ffffffffffffffffffffffffffffffffffffffff60443516803b1561011857611f2e6000929183926040519485809481937f022c0d9f000000000000000000000000000000000000000000000000000000008352308c6004850161254c565b03925af180156111b857611f43575b50611d75565b80611200611f509261014c565b38611f3d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91939750611f959296500194859262ffffff8b60701c16918461274a565b94903880611ccd565b611fb7915060203d6020116111ec576111dd818361019e565b38611cb7565b905094611c3a565b611fd1611fe891612ca4565b6cffffffffffffffffffffffffff891602603f1c90565b611c10565b905061201191935060603d811161201b575b612009818361019e565b810190612447565b5092909238611bc1565b503d611fff565b92916040517f0902f1ac00000000000000000000000000000000000000000000000000000000815260608160048173ffffffffffffffffffffffffffffffffffffffff604435165afa9081156111b8578591612094575b506dffffffffffffffffffffffffffff809116941692611bd8565b90506120af91945060603d811161201b57612009818361019e565b5093909338612079565b6120d391925060203d6020116111ec576111dd818361019e565b9038611b42565b6060600319360112610118576100166004356120f581610ee8565b60243561210181610ee8565b73ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000048cc551eaeadedff6ecceb0227d9b709fa9344dc16330361214a575b6044359216612e07565b33600052600060205261216660026040600020541615156122ab565b612140565b346101185760606003193601126101185760243560443560043567ffffffffffffffff8083116101185736602384011215610118578260040135908111610118573660248285010111610118576000938491828413948580156122a2575b1561229e5761220f936020838060246121e4612203976101d0565b956121f2604051978861019e565b828752018386013783010152612d3c565b81839793959295612b0a565b1561227b575073ffffffffffffffffffffffffffffffffffffffff808216908416105b1561225957506113389173ffffffffffffffffffffffffffffffffffffffff339116612e07565b611338925073ffffffffffffffffffffffffffffffffffffffff339116612e07565b915073ffffffffffffffffffffffffffffffffffffffff80841690821610612232565b8380fd5b508383136121c9565b156122b257565b606460405162461bcd60e51b815260206004820152600960248201527f4e6f742061646d696e00000000000000000000000000000000000000000000006044820152fd5b156122fd57565b606460405162461bcd60e51b815260206004820152600860248201527f4e6f7420617574680000000000000000000000000000000000000000000000006044820152fd5b6040513d6000823e3d90fd5b906014600092838052600c39338251149182156123675750565b3381526020819052604090205460011615159150565b1561238457565b606460405162461bcd60e51b815260206004820152600760248201527f45787069726564000000000000000000000000000000000000000000000000006044820152fd5b9060038110156123d95760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9081602091031261011857516102618161133e565b90816020910312610118575190565b51906dffffffffffffffffffffffffffff8216820361011857565b908160609103126101185761245b8161242c565b91604061246a6020840161242c565b92015163ffffffff811681036101185790565b1561248457565b606460405162461bcd60e51b815260206004820152600460248201527f504c4f57000000000000000000000000000000000000000000000000000000006044820152fd5b81156124d2570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b1561250857565b606460405162461bcd60e51b815260206004820152600260248201527f424c0000000000000000000000000000000000000000000000000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff61026194936080938352600060208401521660408201528160608201520190610210565b73ffffffffffffffffffffffffffffffffffffffff61026194936080936000845260208401521660408201528160608201520190610210565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b919082039182116125fa57565b6125be565b1561260657565b606460405162461bcd60e51b815260206004820152600160248201527f53000000000000000000000000000000000000000000000000000000000000006044820152fd5b908160901b91808304720100000000000000000000000000000000000014901517156125fa57565b907161a80000000000000000000000000000000091808302928304036125fa57565b818102929181159184041417156125fa57565b156126ae57565b606460405162461bcd60e51b815260206004820152600360248201527f42414400000000000000000000000000000000000000000000000000000000006044820152fd5b156126f957565b606460405162461bcd60e51b815260206004820152600160248201527f47000000000000000000000000000000000000000000000000000000000000006044820152fd5b919082018092116125fa57565b61276091929361275991612694565b9283612694565b91620186a0918281029281840414901517156125fa5781018091116125fa57610261916124c8565b60243561026181610ee8565b60443561026181610ee8565b60043561026181610ee8565b3561026181610ee8565b60a43561026181610ee8565b60c43561026181610ee8565b60643562ffffff811681036101185790565b9190826040910312610118576020825192015190565b919360a093610261969573ffffffffffffffffffffffffffffffffffffffff80941685521515602085015260408401521660608201528160808201520190610210565b7f800000000000000000000000000000000000000000000000000000000000000081146125fa5760000390565b1561286d57565b606460405162461bcd60e51b815260206004820152600860248201527f4c6974746c6520410000000000000000000000000000000000000000000000006044820152fd5b6101243560ff811681036101185790565b156128c957565b606460405162461bcd60e51b815260206004820152600a60248201527f546f6f206c6974746c65000000000000000000000000000000000000000000006044820152fd5b1561011857565b1561291b57565b606460405162461bcd60e51b815260206004820152600360248201527f544e5700000000000000000000000000000000000000000000000000000000006044820152fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610118570180359067ffffffffffffffff82116101185760200191813603831361011857565b908092918237016000815290565b3d156129e9573d906129cf826101d0565b916129dd604051938461019e565b82523d6000602084013e565b606090565b90612a2c612a246129fe846127ac565b73ffffffffffffffffffffffffffffffffffffffff166000526001602052604060002090565b541515612914565b60009015612aca5750600081612a50612a4583946127ac565b91604081019061295f565b90612a60604051809381936129b0565b03915af4612a6c6129be565b905b15612a765790565b805115612a8557805190602001fd5b60405162461bcd60e51b815260206004820152600160248201527f52000000000000000000000000000000000000000000000000000000000000006044820152606490fd5b816020612ad783946127ac565b612ae4604084018461295f565b9290612af5604051809581936129b0565b03930135905af1612b046129be565b90612a6e565b9182829060409485946000868051612b2181610165565b828152826020820152015273ffffffffffffffffffffffffffffffffffffffff9182821683821611612c96575b50508062ffffff91865193612b6285610165565b169384845216938460208401521693849101528181101561011857835173ffffffffffffffffffffffffffffffffffffffff9182166020820190815292909116604082015262ffffff9290921660608084019190915282526101ce92612c8f926113ff92839291601f1991612c7391612bdc60808261019e565b51902092519182612c676020820195866055917fff0000000000000000000000000000000000000000000000000000000000000082527f1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000600183015260158201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460358201520190565b0390810183528261019e565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b331461290d565b9350915062ffffff38612b4e565b908170ffffffffffffffffffffffffffffffffff1060071b82811c68ffffffffffffffffff1060061b1782811c64ffffffffff1060051b1760019083811c62ffffff1060041b17811c60b56201000083831b831b860401911b0260121c80840401811c80840401811c80840401811c80840401811c80840401811c80840401811c80840401901c809204828110612d385750565b9150565b90601382511115612daf57602082015160601c91601681511115612d6b57612d68601782015191612df3565b91565b606460405162461bcd60e51b815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e64730000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e647300000000000000000000006044820152fd5b602a81511115612daf576037015160601c90565b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d1160016000511416171615612e5a57565b606460405162461bcd60e51b815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fdfea2646970667358221220a987368c4091695666517a000c227e72d9ed7a35a09e260cdd5bd468dcd29b017bd64704cfce1a624201f62f0b87f4ddae13a50237181ae2d655decb0b548872eb746437dc29c603a8b6d17c22a4911a74cf0e3cdd1ba7a2c458bb047103830bc29b593ed2f48e5a29f93afc66e3990588eed1e58744ee5354c8ad0f89707b238c8aa9062d70df2c5ada007863fae86713ec430593e40207e533419577858543b30dd6bb4dfa9d809d853808f990eb738c7b7d80b6e57677acb4620a77cfcf09a626642b21da614f4dfebcb4bcf63d13287d660a9309bdb9bab59ff76872f6f9b7b24dd67c51ad0b2b8ef0206d2e42a53d8612bb29a8af9b8437f80c1bb210d87b41eec5e1a5e3ea741fc0d248284c0d93c617b84910be77e1ceb4d126a1e6d6018fc50ef80bf5c1f530c1c08effd495d0bccbcd8946430f92777b22213c9a3b3143ba33b0d8a7b736c0ae103eb4c4670e603fe296b1f5e19716be0072f40b11c798c549b66a70f90628d920d226bafd92be73127620319bcace9a4b2d9c2b4b67d5b2d85654d6137d923e679ed4fe7a0ecc01c34f5bfb2722d56214259515c9d957dd6ce338f346afa80e05f4ca29152a04d9fde2396c01c5f065a00bd5f6edf5c88d1692ed8a4c20910e96b6cf3e37146789a6bddbc81705c22f61fc381e3dedf870510028b7f1831fe518adb1185658427f37764b95f6e2fa0aa93c511219b446b75c218a14f8f6c8011dc314aa60cf09fa1a5690cb801168f7c8cc24eac0f98c5b9c46d6d61bcc0bf595d589c87a74b9a53db37719ba64eff11cc6e4d1fed32d931cc1eb00edb42fab7279b8a81d9262af4e61af885ef60ab76e35454b02b82a501ea6588340b8945c7927f0a70a02d86c699cba411fa35af839876d9564b84fcfd09ce3814dbd92b820ad548a60d862d634374eb949dc1b8b849b314321c29860a5b21396866e87c3ecdb71c30addb7a622ea8f46304e9d2aafc66cb609b541ebb8a4d23123db29f05c2ef0c62fade94fced4263682f18a2e243432097f61967fee4d3a13eb4c87f0641cb056258345edc258f9483fd161bfc620fadbbe977c80262db8ab6680a306f0325e9454afff9fc0155ece278ea1b35dcc5e5e6e34ce8cbe562f49365cf861284ec040af6e476116603eb42f996ee3abb0d11029a072593878a65be8b02a8e3c0f409eb5e7b9802ae4708ab3fdd9519053eca479ef45bbf2242fcb2bd37f61793f65b55c2e240fdc38ad7607996ef02c8c3d0e4219254e06609a1e523504d5fa9041042d208bdb878b105a15a0b45e0026af4a86e314ee2e7e42ef26ddd088561a5b5cf805135dad9b544f2faa78b41426de1313d1aa5984270cb5aab2045a30555d50317c43ded2631e23c3b58b507c6a82d9314099a711bd90c6e69e5ad8c778cde2ada0a21f3277741b8eb4c144950e66fab8b1a7d0791509ea33fa50ce453fde85b322152af6360697c8d1184a34c64d0c82258c0c392ac981e2cf922d18798abc3582d974933377d7b3aaf97b6330ae6ae017ffe03639b8f57105188476d21eab6b2d6077e926605837cf314a63f56c51c3562eb5b98dd1dc4e03ef1538f13ca2416bcebce40f97a28000c84a49910aab392fadda90deb77f80d61b18c9ee8c07c827f45f3a3d20ae87aeb8fcb49c2b88edfa636ef7a905543bb0c8fe2173623ac818e79c03ab9d05f80e9aa23c48f4ca8e18188818291ef0a4009140a491602d3d49de1c60708bf91c37af581648d081eada74c53ef98ab8ac1c6de73f14a1514a1834c615e3e1253fbda737c9c1702acb93ee2be9be6356d7b441854014a80600d2449a9bd8778f639a50e4f526e369414a681f4362931cb75c0aebce4d904a804938e04219be2523093fd49aaae1ec428850a6c8f8072b43cc5b5b16ccfa84e49965964850180f7cecdde744ca6dd6e75edc737136e1bfd17d51fdd5b21ae245d4e2977860b61ba8bbf23b02fb7b57e43a5fd14605027e09cf12623d7b8a2e2abcfa97323098964740b39c22140236b3a60b4809a099f66b78af7248346cac1c337fb90a2aaeb8850630cf89e0ba2c49b44df7ce719238e8cdd20f02cc562e42bb861f4a1480fd67174397e6b5f5ff034954547722d7984b6a1c0a872380d84522ad38a0cfb7988acb84a44c9ca43e41180a8c11d909881ca308e2530b8b8c4d25d4905c4b9d6ab2b9dd835b4c0f998f4358114e537ab05ef26fccbc5a3af8490605ec4c296b214f39f2df824351931092c864111c9f11a88fec1c50c121733b77e5e318d0d74921321c466bba4e6f5100dcbd0bf34d789e563d15a75200be93d6a80f5243547da6c84f02de61d6cd5da6aa7f14cd66e25391bef58236324708afd82005da29f1db650f875458b29d4fc00982173459cf1103b7192ba4326a55f31c73c82e56603ed9d99a7a1c919eb45b50de5625fef2d9ebba25e6eba6e46c1e91e4fec753c9573289c52ee5e2de752166b7620861abe8e64a4d584443ceaf64ee9fbc18c7b82924c563889071385988b75a4ea23f4f71715ee63ef49ffa48b907bf5aabcdefcd519ae9951135611d1f12964121b2205b57cca86d173684673785b50b7c486746e9df785ca4ce95b9f399d1cdacb3f3e126da39bb2cca365dd90ac6cf7d221f0eff4bceacb2a6ce3c27d55d5eb4b86b8eedc83d855f9a7d5412c793f003e1f35f968ad50fb49f3f14663b5f2240bcdb6543a55a6087401c35ef060bd31c9adec8102aa51260613261feae673bb4a221b67c6153be8be2729cdc47d062fd1b7ed8b1dd049547b57e60bc324451350f4563329277e783da58aab9ab22c8f10d53a77ca98f64cc05f2e5edf9dd3a0bba074939e2f768730fd56580df686e694941be18a766840ded3f6414e67b66b4d914c8e2407423a1ac99b034c3bd8bb42a4f674de4204a03b39318fdae1fb97f366f92319e0968901d348ba2ec08c6734319a7ee3f2c8bb438b769e40c5d4e0f8cc732504b0f6f65804d4d45bfb96a774961729eeea88d1990904196c63178dfc1606b9c26213144e811a39e5a185bf1bd59d028839b6cd37b04353adffd5e560f685a55d0e745aca1e66d521f1a7cb744aba7d60b36cc109e7610a878d66e76094a7a0bc8e4d50db9c14e3086c43e41fa0f6f8a60a2c4c92fdd25b92c5974937e7111fcf252705fa78e58da545154a1b08704d08d6bd890d8b2713f7b61e5a54c5b73528b608a087fc1b4b9bee572316ab33ea77c31953a8be2035e83997bcdbcce73f3d49883dafced84f5378ff86a0c13d2a586fb749b839849c73bbf92f34877a1ad1c2596014a15752d93e960a7564c484e0ad54e5d14cab6bc287776864793336dcddcbcbd0d4e6bc5b5ea3ebbb2f477c8f47638750e391c57d5d3f521f5894c31324b78879f7842fbb5e592764931d8bc93d8281b73727979466ebd1e74ec24326808ada9dc1ebafdd5da7aea3d3e72b6c7cb16555d9e0b29cb19dfae709e7b2b07732b00fffb2606f62031834c0202886b427c3815a9a556097a13f7a4c2cf80e6b1f34baa1c7ddbcd2e66dea13e8a0eb6965842e2f2edfd5c337eb9d908e06847c1d7830ea0d2e2cddd6f79642f7fb0b2b10b9363fec851aa727426bed61c9a594e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e779d8857eab0aaa2377bba6c06f5f1994903539b9adc088e8336cb83a45036d03b2896caf622fbc1b204afdf0b141f41690b7dd31f71a4161df4abe77789c28b703b043b0578d3a85439cdb9b8ca15793d9e86a913da6cca657e7c9bf0ecefe8c3103c3ca72db3185a44e03c47d2cf9cc0abdda81fb5c78b6a05dfd26896871dd5ca903c0f685279ce0416fee0b06656fe3bb5a07c83bc57c9eb9c97348bb3ea91cf180032c29ac32b132f3c2ae0b39c97a9e7f4bc07dabd5e828f050eb5bfc10605725a003a726f8a6b8c7d190ec23f45e4c854852a069cb2b787e00971ee03d07b45b46bd03264f1d2f6b823708d0740881dad02dfac2767876c4b91b5d5c4903e58a01e51403f7fe8a19b112c6f25a938c7a819ba7032a1130ba51a196e169ff8907ca55cff2035a66df751c6c23b731d663c2c97724a26ee540b282190a8f9a9907a6d6fa5059036508079864fc96aa9baa656ab2f605adbc3ff7dff1fc467957a95e33dc3129e0039d3438b9a3edcf0e6651b2288b2cfa28c567f051790c5f65f712241d10d0bfd803b75c1f80af0830aa7fcf4e03cf110aaeadb53a284cddb0aec5893458acdd49e103b031cf66be3a1dded76ccb9db69a9b56ec22519042479a5811792beb18e4f565036b4550a4a7cac4744734903c86ffd70bc3858626bb502c0cd4bd277bb38ef24e035ff61171d16936242fcca1d281eddeb3c67d9cecbd5bc41d9cac8ec57367dd780219ffff05581d02654548ad87004d0cdfeb3290a18320995a86d7e585d1d145ac5ab7c20f014903243befe6d797b7d91938f405581d02f3b838027c631723c10e58fe2fc435f8b6ec17b8acda74526406b29e0c18254727205f22f6cdea0219400805581e0312c5514662dc721ea92e4d7fd946a665297c0b13a68f02386192f7d4400c014718e54e8e61320005581e03bace677bc3a6908bfb34b9a8513cb51c4944f01d54203e28fe0e130ee00c03467da84a123548033e2c4de2c986cf07d43620f97604854867f5ef4d23662eb50172751ae808cfa6033186916e9213347033104e6fc3779d07d86002117e86c253f3757abfe7a3e8b40219bea603ff352caa2d783374cb9de464641b9bd4c6b04d805ee42f061ab740d1a9068b8c03ca7d3d6f91cc3dda6ad1abc446c3d410532b962415fea7164c65d0be99b61eaa0219ffff03a35d235969b54bb62bbef24701a6eb2683a8fa5e26e520a5fd573fc65dee330c03225ceed6c7ecf1ab7a1ee1c85dcb596e80a9e0142a99d2bda9f1c20d39cf91b3033cb7db94ddf2872aadeda1b729e00c739b723589279e9fdd7a659b640b944f4a0312de090fef9cd28910253ba65099c8640c0f109e72e1d337f816f2570625856b03b6eac253ed878e10d10b5526fcca461cbbd6fb56b214cd40555aa36214f77db10332feb71e23cce183cb578a81b57b48160b3df88bf34000e44e7d9d064b50a6d3038ddb47d5978b6f35634b506a51e17e06e913b02da5730b81f1cc258ab85c371f03c2705867c915678b6216e4abb9ea70433247e797f905c953462cc6c92f393c9f03b079b715cfebbadf1695818ed6f3b002cd7afd3fa891fe2569e523a3b3da2261035fdf540d57fca7c16a5e87c8715d7c461c4d4815685d08579f0e9e32137d6bad03f0bd32c2356924e073303f1039b7cbf8535531a0b8c698dff2857835e9768f4e0219ffff0219ffff0318db13faab2541451e199a8bbcdba9966a044cb1926622b19eb1ffe804cf4aed03b6e4279eaf44f961bbd25c0717c6a321e4d0ca3e5ef999f9b0aaac4fdd3cf25e03117df4df7c4f5c284a73c2ec41a957d00f8a7b0e52c6bebc6e9c77b704beb831031a3d2cf36120c165dea4d02a20c3204da623ec3a8cf3e4ff36d68558587d0ea003762665c635c25daae028c05b81cd10272a3002ce66ed2bf790e966395b0d4df9031f4836150717ec548a3c6e7de64c4ae7e6e410d18eb7863959a9c56157bb9875033bcd66b2f3e7730406e49c0f60003a71ba7e3c8917ff2d5f3ab2db054102c94703c6b19bfbd835d4b675bbb288a3b47ad6e522c372fde47b9d8252da16d9b1203b0358b592b0a5c8f126652c6b06cacc80caa7e837e83ccfd49f272e74c669d4b66f0339ae635eadfdaf35399f9c3f0a4d6bfa322af8c7ec03c094e046dfca3b7d7c4c033b71a29d8e9fb9f4df13e768aee2fde5f7c8050e1b06e55d273ca2c71c89aeb603a33ac181cfc76c80a893c5dba78277a3ea3affb41f2734908bebc4fe73e3d45f03b2bcff64a9832bb3ef29800b73cd9202769e7b8fda31347aa76410db7e1e88f30364cacfdcc138b896f5183b708c66c89f3b0b618b755efb23593d67c38f832d1b03effc1f08422b306620b4913717793dd6ff5c8eac02de20c088deeadb5d2367c0038edec8c5be0cb97fb5e45f7539173c73a3724cb64fa4a5ab80ea22b55e7cf3ec03fee7bb4923f6e985a3c78374ace6a442b4766dc4fb083b327b53e1b7b06284b403740ad8169233acfc8e6c9a51da9bbe46300382cea300fa2e843ee88dd1fa6b13038c982d7047d7f78d8a819cf2402ac90f9d224cd7ef1278daa0adb7a7aed3f7270385027b78c69e0032d5d083d45be56f98b80ce8c39a2ea06c916bc2b38a7f865a03d00f9ec8b13633f163bfb964a70cdf86de541e4085b10bab9cc9e02104d9557803921470d097b39602d27f180ff8d04684d602e9a2bbbb67bb4e099dcca5168fff03b6e01b81a079acda6e2d1e0ebaceaba781d4524a05c2583413ae6642ea386e57039b7ccd44eb7aacf90387ef64c86bc740110709e28191494bd828c90bfcffc17d0321e9b901db8167c5520fa294843e55bd3d7baf645c7e597021d965cdb25b13040365db65e251519f0c4d35a5c32f9f59964d7492be8b4444d0583487521ce2113205581e03f6ccc098525529b05edf3f7383b7711a11dc23bfd4aa35c42e22eac460040105581e03cb4a15c23d72e273ab2632f844f128ee18d6db0f0d86339b1e4320a1d00c07471ef6e6e23cae7a05581e031a225f5550c6a99cdc0f46f25a744b20940efad9480f95755f2daddca0040105581e035da097e3a37a2b643e104fc76ae51b89297fcec531a74a0e3fbf8f3d700c0247029c7a85e8f00003629235a05fd5ee877cedbac4eaad6f1898cfb9dc27aa136ac4a3139c2c9e4ad005581e03dcc63eedd597dd86d33b426c3922ebccf56fd3c5e3f89de19491e4c2e0040203e46eb321930bc242fbf7986310dcb2b23e1299b8757751718837da7e640e80b105581e03330f9109de44fa331155fd4ed7b842b0de17c7329e4b761d0314e8fb10040a05581e03a0f9d4aae6109e75da53808d90776a94630fe3cd0c5d4be6c1a250e5d00c024705d85e6feece00021926e70381bca71c495c060bbfe24c5a09cb6b4078b6c2c8bf7b6d5390b1049b296a2edc031ca97ca06ffee771bf9a46a5fa02180efbfba5ef4ae4545b13aa229ea774d41703dbad90df0b604c281153d53eba4a1768bb0eb139e55446d6f2742787d557ca8e034d5b4d98f659a6b9c4c36889aa2410b72bd0408fb303bab409ae18478543a57803021e5518be7268ab3ada8ee19a0eb63a0a673712e597974d26a72b3e592746d70336e1aa778c202928f8054914dc5f927ddbd07d8384efba7dbd02d61fd12d4e4a032dfb8596732befd796fe2a96e9dc70528f49d89dcd1f0264a78bd61bdd65db0e0304480118d2260214e8b66f13c60cd7d97aa06f01c1f889c6ee20c92f0b1ffc1403eaaaa62fa8674398425d23ec34f0a05e598770e0f6875347cf79058b23e04e1b03076030d105c8d5b34b37c43a41db5af37f0d8dce4c71f8b5168f15a34fcae14d03f15ed6ddb2479cc7b3fd11614c48899cf28b21a5d60e83865491d015b1ace4f0033573fa1e9bb5a3314300701e5e88522b4df537d8015cc4e03e18d5c6d77562f6035ae9368c5d8388ddbf768ec55ace5fff38c0f78b2ff6f58e338839a64bc6006d03a7caf0fbe873c0ed961f928f5dc20a99f52bca79a927caf40c8f4b45411d76bb0332b0d11c721989dded10555d0192090cf27d2f87725bce1b39116d16e58f3f710219ffff034b20e2b69366e3456ff3929a9c88948cbcc0dd1e6d9ea8a039a1bfb09407541c0333cb7eb9203e1fc487b9c34d1dfdb9429ab3f7b4d30559325bb7de188b7fbc180381b37f31ff8bb47ea6544e9a453cbc655c4b2c9286b35d3f2f40828726778fd5033c284e6664d96e8394b96dd4f7d35afc93ec549dbdb7736aaf0aaee80910a4d10353c4c2f2abb44c03c61bc09864caf9aa5958c79d66e2796eddd63c350d6a3c9903e23675c315931f7d43fd7b2ffb1def5351b22c14debfaedc9ff6ef56c3675cbc03aff6f9c52952ccedc2da2685265bfd7886a4f9a1daceb6d92c368e56fe0d8b44030b45b8758fe33c0f28f00a03626ed8aa6eb3cae2429c32857e8a3376e7147ba60345905bb984c4afc8e73ad9a5b9f77927f3fb44fd51b73e716e84755aff8f963103869dce33d861032f7dd9c6c280b8ec0eb1e716d92e201ba3cd773f41b29f623f03e54d7e67fe3cdb81d5d96b6d4245bb715d7f45f19e76c1f0ca42415703bd5636036fa6ce4714c365c22edcf82f9aa3f370f707168e5eb93d7ab4a1055582c8d50b037e773cf3c2b4772f9cc0f1ca25d85429b2aef6774f803d2b1e3c0f3c472cf1c703d765d6951c298a129d51c364b5f30ccbe9e230774aeddf20f63f2bd0f4ff842903f636859474b34ac8870b9128699f423c65a1e419e45a6e91d7e40d4771bc3fb80219ffff0219ffff034eb4750d4e4edbe6b67052d2671da002d6a9a31b2fd43d46a80aec2b5016e44f0383e04500cddf693a45269a8ac45e4b8a781c8d5f5ff418ebb4f919a631052da40219ffff035caf4159d88bef18fbb476c8adfd0ad7fccc8defbccb2722ee4f043ad0fb164e039886b0e8de54671bf31dfb82ef14c9d2da09e7b000fb3e38d6197aaa9e105fa203572751fe1a7d34e8733365ad3ec53f0b3403d3e245e11719ec7505a9b1105114037ad2e1566e415f2a86c268d76454cf986ec63412241a2bbf3e3e43d239455e860396c1945655a78da28e8028a4a85e95ef6b64a8afc5c9319d864a438cf3eb38c703324b4b712daf55644c583c1e2407edfe6c37ee34121a12f33f1c029d16afc31c030060b00b6a9823cc3f100c32b1a44c26b2412e26767c0e270c354186c09b196303f9e7efebc11158157af00d196fb13b467e798c9e9b3a22fda1b8eeb47d43e9d7034fd2e29af0ac6064ab08358750d09ce7782bcad90f040692424b4c8ac4b4486a032f12ded19f38d6329465881284a6b0f099f390a585a3cf64ab57851198fd8e130377b9d30bcc123dce2249cfe365d213aa7f14356fb6f56e3fc86265d3e644b83003986e03956f3cd29ad105e0e78ed36c24f6926eac0b91a0d206d9b857804c33a7039be3e8006a4b1e88b6e43c6596a36ffda50fe7aa2ee5a44eaf0afbdcd2b44a2203914f766b9dd709da30430a4b8663d5b046b7ab6ac23ea283bc20f676d250aa86037ba6a3abe7e9d1eb60b4f483fa864f89a4a4940d6858885532d1e654cb065dab03f1f509b05bd289ec1e0194b28e673bc51685e514b1d7797575b6971defb88140034dc3072f560eb7373874ac93dc4509e2be782a341e7bcf0cc5bc7764ff0e056403823221cf396e37bf110e18c270b1041e0c1513412e87347262ba179ddaa9671903c7cc9dddfe269969339037512fcdd87dda458859dd48bb26e476b9c2c9c43d0903d520fa079a28a5b8a1bb884eafc48848dd5131512009e4c3d1e4c57fff3203710339df002fc19c7d395c2093318d8dcf20ce1656f4a89eb814117786e962654bdf03144a587e9a82c365b9be02dfdcf39bcabc7a5565f46b133824bede9c398bc8e8039f6277afd6c0f7d81c09131cbe533242a14f62e6bb5f5f8a1c6db222609e48a403f1ee4da350e66b6424a3cd6b0d08c1718394339c9a5f1c3146f7d57f44fe2c7605581e0366d50b9c26e61674281ae9900eb16388f60638df663f2c94cc3d047780040103c173c0d49b67ccf3c9794158faa6d3823f94a8cebd04e9b5f599f91120c76aaa031b13acb942f58fa80993293ae4c28c626009d66ebf6aff2c5b3cfc20e0ca031703c9c4ab169cba7f29dee70016a1c439b8f0f7392c2aecc38779eaacbba9bc76b005581e0370cda18468e87e18d69de3eff52605631b08feb5ed77f065d436c5ce800c185d47039ab2fc32dd1605581e03f908d99755b23e5ac8d06b7a09c873eb67c646255d4cda2c2d0f2dcee004020341ebfc44c6eb111f7b7a41f40f99674f6c14073428cdf83d9df1b7a8afbbbec205581e0358c0ab205e02e32704cbb167d1fd758ab098146d65ccfca3b6b8ff3670040f03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0343ab3edb1ae5c8fb3700369acd86d16f4b0f6528274bc6f09fecce98c007011bffffffffffffffff021945f603d0c194d31640bb764c101f6cc2606e11d14708ac154f1122371485740bcdcdac03481313691bc90dc59b50393899f45bdcbd0f2442ad6acdd57a7b5e6239e61bbe03143b5595940f03ec57f51e1e9157bb0b04f765b2b5a884bebcf84e52d23033b8033778a0198a45e8a5f32e78fc105e7298081357a04fec0f2133c8759e803be1b3033a371a8f8cf938daed4167c91033a186e48baa07e4584aa7094359e8a657cab903dd115ccd2548e4d2c747bffca632706f9ee5ac2a5483f48fca093e6629f6158503eeb060d319c34962a37ad564b534134aaf36edc3ff477f0922649a78e401b5430399e2dfcd9207ac2931d8fb90116db529baef19bcc88d54053f85cbde1fe914cc03300870ec9f33dc4097fb5b8327770325befface8ba864fe5f9ba2c8b5735f19f03a494cff790cb16638fa86116f3b8d0ee622324dbec34bf5822ab882ca1504e8403890bc88d4a4ca7a0e76cea1ce62c7f019a588eaa2610ae08844ba21f10d7a1c903a9c33378258f6ae644b81a2153c00b691ec7c71d544186c65f5f7afac78c846e0219ffff037a9de1481b7933282ac5cfa9421c1820b8f282dde23db102183cd6ae073120fd031c9b2940ca0d13716c6dadec36a19db14a9a3f689cfe8816497a4923b25bf18803c0e14c626987afcf2c3bf6d86ba4cce090b82ee8ed9440f184f7723da8e680250357e84bbf8ab7e47fd271e45c419c0a5f7c2a11073da20f32a3cca99302a03f55034ff26a2f09118c9d03b2a65ec0ffcb0ceb9eb9e2bbd203deafcc7963b66bce82035c9eb2981001454bbecc86d2fb05f2e562369f5c45669fcb28dd5d9d2f1cb6ac03761d05df05e96a1397d0e6986201487d4c221afe9ee1699126b4d9ac5cdf344d03fcff18c68b222a300e0c2643910fa27fd08bf8b55b664a53a9dc7ce972df60bb03096424aea0b7cad361c5205e39015b2ee24be6302a8a158a2cd706806cfbd32d0219ffff038556e80ddc27f084087f40a1320ddce7a7b31d3166565cd6007f2908421043940338173179f7f698d6c450646c34f256de483c7c5ef6a2221a8ac8c8f972dd3f560219ffff0372638fe9db43aed912933d40dca657c382aa75b9ea917eee2c419e247cd235c603737e0d70fe09aabfa15b74a486731b66b25e35139fba646f0c0890671535c07403456b7c30c82836d86251a61b8c87562160f8df219b9f5fc7c5cf8f618d668fc603ab2d126614f2cd55173b56b159c4fd86bc44ea1fb280d026e39c511706d9dde303cb026e5c2130d6d44cae368fa39e3644459a5558b00a251e28f20b15011e547a0306fcf16f1900591c4b84a544c843b7e52d319dbfd0969a7fbc44d87402d23d2603771fd3af569d395a8666c37dee963b9ae3a1256f8d4146113bb3a88916f46d460340b37d2568a822517379df7329de7829ace47f186e0002ae43069658c53330ce0329c463fc1101f76d36023ae3f9c8b257697309d109a573f4b627d18c34a10e5e031e263d62112dab7d4a487b5ae90adbae560813d49f37263e43c52cfee55235da03f9c0911796633a22978f7272b6c8d515ca50720999fbb55df1110e218ae5403b0389c7b36bf3032283f9608a4c6c5ec270efbcda50ac417049d19904dd96fffcf8037887036b8f8825591980135a4165eb25d63b9be014c69a226a9c3f32c69b6077036d6af6aad36356dcff36b1c867ffb753f5b31209a56b9dfc8b2261bf3d65bcc703186a9a9ef29b8b571f00758cc9e67c2f5fd4eb3b137129548927371d1ee5ab44037af1edb2186234ebf29e55f7251f4238fee1767fd9aae5d2927b0ddf8d5d736e03c4b7c327b1fea0335fce6bc131dbd6ec9944cb7fdf604dfed230b859ec86ac5d0398431004d433dbf1e331e4b535002471e4e3dfa95609f71f524f9ee308d6ea5003d60c2dcdd6c78595e29935afa71c8cf7ccac2c1e589969b37416e31d183d72cb03d6958c9ae10c855e2e4fdf0bd0df801e77cc574c4d40aa76b4ce3d5efe694287035c465777d834b91d63df95ff931f04e78264713e7d05b52308138c0e61565d2303a0a129fc545bf645179db1dbc179707fadc287b836d71caefb7a7586ff8fe921035e090ef3620a2e591a35021451d46fcf0c1e5ab1879e9d1e6a652fab2c38fe9303b5dff6c10422215a484b5c07cf285d427d9a3dcd566f0b09cf2685206457eb700394a9f437ba949604934e55053be38d43647e16db55ae567508b29c02abd7676303cc133af8c7e37a7273fbf0df80e37adf5e77eedec7360c93d97d09082224b51003cdfe0f66ef5b5f1902ef0d92034b0fe14bc1bfd5d572a8972d652e34fd32c48a0317ae32817e1326a2f8469d327656efba827efb1480db5911e9c859f2f89a59b20364f277b517c2dae850c4ce6435ec4b56954caad4a7da904158ebc93649d42c8b033996f81a23cc0bf8b8468ca85ff1a60047d7558512c27f56e965dd1b08a920d2035581ac7e5d42a07fab80eb57dd8fc078899489365363a4c9898941717642b8480344605fc74b7ccb6d6bc581f9361904938bc512900c89da9f6b0f48cef058546a0355600f3520212fdfddab8699bdc0addf609de1cebca60c48593e1c602bfc004903f3628fc2e36a2258921a412e675d025bd1eba4b58cab195ae8031a955fca07450397848b1f6bf9c5d5346cd3145f4586fe21e190f2a6b2a006586f746f4e78c36603a65fb63a0328c173816d7255efa0f0fdfdd695d3ebbd61137449b2e60f55870703b7682fe3701200bc7326c8787f37e6b71fad9c51285205fe1b8c631209cb0d7403b49b8affdb231c79e60610ad97e3495cddb6ed7142c5b88321a2361965595fed0339652fc0530b91eabbee7d9fd164f923eb3faa9255c4917f9cd64ded4833461b03f99551e31d33ab159d48a8482f1044f587f9b16a50e41839b281c02872d9c637030c067731041ff0e8439f3a10added983ddefea456140dbaea3f345213216a5a703bff2ec3349838daa27fc4b76a6e100d243345aed1109bd37b3e05cf5ed7fef2305581e03a3b9b610ea632f813541c68908a25274b1e682de9910c13369101f61f00c0146faebe305766303db7b41d592ae91d7e975fb4269a56828a84339c2613bc0681a70a1b17bb2f6310372f20e7805e494fce60cb1c9f885c2621a38935b775c0344c8ada758613917d205581d029eafcdce0498a5bc4287058310c92e84eddb252352714e24f796045e07011bffffffffffffffff05581d022e2357258e2a513b1b5c641c504a4471c794ef76a8aae4989fd46cfe084717bdc313096400031e4366082444073b4bea23568c108c4288f2293bf126f5cd6359c41ec52fc7fe03904c9ab48739a3c601e18e346a2e2374c3ed4e3af34eb89ec94906befc488e5505581d02010b646b6160cd56f948e83f7f0b1954c55fe1f9cffce37e2edd38540f01472386f26fc100001bffffffffffffffff02198088039e2c94746c3a3499320aed4c22cbf58ec0b3a670ae1a25c74cb387bb0e617a4505581e032ef1c1957f9fa978e50e618e1f57e4ea4b4bf3bd3807f519e5bb186ff0040105581e03ec803e804ca0aa9dcce8997309cbc0762b358ec6821e598aac0869fc200c0246fe3508f5bc2003173031256819a0805d2b8f0ce7530a4f9137c97c89660016f90c4b4b0f1c94bd02194b42039cbe75027ffd8571e1dc88ccdf74d71db4bf1838853bf61f274d7ab4142f4f970326719b207450407f4d702510c008da5a6a8940da093786323b1d3062a9ffb5510219ffff0219ffff0320d021e6dc61aa90b2b14a26af2dc617f2531af9704fe2ade018afa80a7ac85403513daa316a5238a0c1792dc110666844ed61b3dc54e91417fb2bbe1c804df3440219ffff038fb9daf8fea3b99152cac50c99607f80da264134f8d397264d13bb8306424d3c03e1cd16b4c6040be826deeb715ed461f1a41aee9ef6f32d8fcb0da1156cc5b0f603efc237ad66186e735699cbeceff280943489f0e71f8f2c85f1ceed6c53c3425a03424ec0b7d4f511b9232ca661ca19f35adc2c5177aa70bb8ff9a65611710118a7030aa91bec6c647327b39bc787c244900e29597d37adfc716d5f143ca69ed8268403c82df3ed3cb3c016be7bc136c24452d32c4fae7446515f0fcac2ab6df855f9ef03232243c123dcf55d1e1b07746d355e9d25f243d5fe3e646d23b09cc2cb584a5d039eaf458247c50fedcb6857fe2774c1d26140ddc053ffb582f73498665a872dd403e5b6c8272e0f5fe011abca9061c6577bd6a9e4ad5acd031f539eef488b1c6aa8035174520eced098d4656dd03883ad4651aedd8030c0132dae027203cd8c8e848d03d4f78c442f6f00843826e6eef7d52cb3d2504d3f78079077c5e410dd87d6f77a038d684b335f2ef9bde199d92ae207b514b684b3f5e544d01096becc5cbb230aa703121c4fe253f36a33f42d0f39c3538f77cdbb0bae00d12c2a82ce18afeb080d1a030dfc01475c8c7a14426d4ffee190b61a6a4ad52eb1b6c9e426e31837e9e4cf01034eb80f4ebbea270629799b9a8ff809fc029001dc6440ff963bbc950849181ace0343719e7c73552e677e3a4a7a157970b7381dea36f8679ecc09f7ff536f12a5590328d46e9970915690c8faac6ddc65854e3a62bfd487387dce93f588d2b696b3a503ace68faae273743bdb49d304d4f8f146f726f5d6750270e8b632a8d1067fbdcb03c923563396c8d9e271afe3b03b0b606955810854597c360336c6d158e514e4510309d431724193fc2b6b3e5cfe580e2675fa45f47523088dcaafd027b2247d070f0397cc28ce9437cd9fb961c001635b1a2cb87fe3202da3afdfd55d03233ce5e94b038d7633e000b413cae6fe932307292a81eb4d96309c63756fc7b7320ec7efee850381eaf8795a4bb80dae21712590d7d2c68289921e39bcf3ca7f147f56d8921a88035db34cc89e6084c1683a8fdfba3106592558641f2a24c6dbc5554698256fbb16032889afe0dce7790e43a7f9a04c08816dbd09b1ad130648c6a5953d6c13aeaef20311ff17219b20ee8f9bd558a32a869b13f5247ec69b105a6e96e6d9469b183ff503202b5a224221ecaa0002800fb11b8ed9a7b7e10b66eba334c14a954b0f9288980332f20835443688d19c7b137ee8ff0b0c363a00a9564e77cb10c6ed4e119511f403e2c27e4927ae5ef0d0d3a0bb70fbe87da90e9b20e85582ac7f77bc54117e3aa003bd76a23621d81fe680691c10462a6f441ca2ade69d1d6d97026f90de5eaa6a4903210fa5b9760a8141c155c0802edad5bb00eba4ca12c2d3f25673ffbe27c44269039e121751d981e365d15daeb573f4c23fee763b8d2d6292714a522a10637c1daf03a1613d1ad291e67a52683c45faac54a31149573d1fd450d0c8e7046b8331ba8f03bfeca2a09435676173d81f61c0f14a9ff1919ad31c6f4887b77643310a4c6aec034bae17807a0dd072c4bddfa757bc06a45619f359820ebbed35de0c25bd893c6e031e9fffccfe7907fe4b2c2195feb68a3eef8907ce7ba458702dc1e40b3a64a23303c9a4c0594e0c9a18ac1c6ecab1151b3282754ee407ec4e21365614d968f2db900355eced903649f4c3f10a932740c21a71a23c50aa5eeaf0b62472db5d650f22fe035f368929feff7aa1b8d1abaf0dd53022aa31cc29213f94b56a7207d70f61f69503347aa5c9cb9c235a378acccdee83beff353c8a51c59bb3bbe297b421ca5f188f03d6ba0bfcbaa2f95e39a7c84282729aed066bf838329e46ed8f03bddcbe60226203f21f210d6820b4643fdb386234d7282b3987aed1cfc58bcaafd38cae76325209038f06046b9a6bd9d37b5f4962a5323cf823fb7979ec97f3a706e8ef5328ce95bd039cb1a64a1e0a51a85dbf2751250b35296783634f61d6294b0dd3477bc1dad81803044af34645093cf96163aa1f2a2138b3faf2868f0dda6aacdfce394dfb1c355f037d229b39851a1acfdbc63f8f6f3648d69ae9eb64b02ebcaaa674aaaea4e5f9d20364f732e1b4a75ed789a8b9aff4daaeffdff5d2f14c8391422eb1abb6f015cf4f03f6b81c8f60b72e4716ab6cc5791f81ad368aee37e566ca59a4ccd99dc17ca5f803eab1abac86d0dd812782afec762d7324f6cb52080453248e551d3972e092482a05581e03a9a9d0ba6f28cee5805d113161270e2560d5793e24efaf3da0a4a5ce00040405581e03c6816f8637645849669b660b55979e808b34fd51d61b14762ff4431cd00401035c3147d726228463c50bf5201ad731775d61a4457cdb75cf62355337285118ee05581d02acc80fb3cbc658f725ca666c49666d2f369f02d51a0d0a526023f5b20c19096548ad0085578e0009ee05581d02a4ad11060b4ef7d7916b45f84eb7281e60c7a495155535026f4acd300c014708280913f750800219820005581e032275358fcef113c04cec5cf910f366083584927b4e9d54e6a8c6fe8cd00c0147022377909a0d7005581e0301ef12f8ababd70d85962b45e6d4020dce68273ff8220e0e31083afc60040105581e03ec1c879282083077f04b1312d1fa426952e5f39b460558ecd46536f8b00c014703a57d590b595805581e0390ab8482f3f22cec1d96dbec4f79ae7da575d6ca0a74bd984496b5a1000c01470165abe905e0000379fb16569efc7a829a11721705bc4f97b97c5b83a9b2c88a69d1f539e5a7a72f03900435b0af8b24c74a11d6f3e7f3280f16c94b08b2881c1a30e26539c5476b3503df78fbf69c8f6d710101d6ca72e4f5d5c9314fba7424c966516e28e0e287a0f905581e0358353575e51d9fb876c1810f4139bdc19b50da128ea6910b3e1b0ff6600c044804fbf500010113610219fbee033cb2ec0dda0940204c2f8b1ded0d04c0ba8c5d2cc8b7962e34fc2b56942c9ace03df76f5427c232ddcf96f25b81e27a4ab3b41a520e6e824301f6626b7edd4eec303dfe3af97c9e0d42b50f340131c0d79c224507a39e5942d627dfd188eaa3b2a470219ffff0219ffff03e74cc30eb19bf51a178a61aa11278f3cbb80cde05109f79a1d9b4185e0bf2d890219ffff0396902106f1e0b9aded7bc60b2b66dfa57c55a0b9c4a8db4697f95145930f39c603be64319993a1e9613df05c63dca11f407169aac7d994d49f8491dc94a6c7c98f03636bf3bda6f434d1bbb3378945770380482b7e0117bf9cc7d66a3a38c98b87540219ffff03364d5a8857a0857f30d2f285453c3f986204309e6cc8b55148e4b51c1c356db703ebd0e46a42b8c855cd2fdb1009163fd2157c495119120ed158923c504507e67f0355aacf299cf8f3f853e0d8b8352249dede06bd76045832802d1f95ee40589a5e03efffa4b1be43cd01e64010354a2a61416803ab6475a6bc7c5c31d94517ca362d037d850ac16456906a6306e89b70c99fb57a0b501abf189d39485ff1605b78531d036d4fe883407b92a78bcbc70dd897503e6462c1d9abf1da19fb96b9009852984a0338d5b7a60aaff63ac8b8a88ea2a66f3c04b7318ae4447037d4e4ea1f6ac396f903360e0633594458de7e5ced64f6dfea664dbe16415e0cb1e83c01c264359d5846038d4782a30663950ea444a65dc681d8cf58147b3d8e4af817a14d87ea5a628a750390d0492aa239f64cbc431055f0574840b8b5a31a8076814a074618424cbb15580316d0ff98f03894f78df1941ab1fe8bc0fc54387c0ee9c0bf05dbd49a3d6d74f5036bdca7f5f17182b3a739c386ef5bdc3a8b7ae90f1743a22369ee15f80531a78b033216269ae1d41496df891bac3a928996de87898e5b21ed718839098df528d5b2038455fb3ea66e8efa960000174d991cc32389ca96400a2ca0c328903a29c950d4037c9c4f56f93de11fc04aea4f166817327b29c7db510ecf787a7b18800796083e037b05decb424e2faca9863bb5a5640a216e85fa851a0b76bf094219603c4bb4500322270b865d2355149c25ea8d295da37a5b65a4487880e92a26bdedd6afb0f42e03e2d4bb86383a5d271c0c999967b6d8013e47e3272c60b7e1601425fc4c86c8f603c97761c8c80e4a509ac259540dafc6bae9ff9ae8dce06a882b9cd27d8af873f60366d88ae964f25703e729d547eeed5be877d87ad094e88787ef5e637d2fce40de0377cb2e4c83b44e0b9bf945b29e29faff5722a5082f0e95ba346ecccae82a19c00388be9d0ede6fa6178826f6ed05b58eec61c7d64e152f3e46aac441fcdd959c5603c58a4bfef80f11f087c9383a71eb5f344f30afa41a1dc5f20ce3e2e3d709d74d05581e031c96b2e0bce76edf0f5693955cbbc9cb4b7c9afc8668910f0ac5ec3ff0040105581e030b4d906571cc5306c3b6916e9d82c80a86400a63d09161214f1b7e0a3008460b05be92490003f0f301d94d5b08b52928572574b92b11e68d0f858603daf4daafb599c7472d100370783e779e4ee9dde95db13f82bb5f1aeb9f831ef2e0d5e908aedf5fab41f2f905581e0369dafe3ff626a589ac434a0508d8c32f85fb9552407d95cadad8ec877007011bffffffffffffffff035988e6e35350a4d8b726ce8715005948cedf59357b18a45550ea6676ca88c29e03d1e32cb664561360b8db5d93e05149ffff0369c8e091b283a9f194a40c73bb5f0329164acf9a06c22bbe9da20100d94116c6ef93f44a5b58ebd6e1954c3bf436df03665081a76be9ad792eec7ba0b7819e48a97cd6ab5210cae849c1ea4777ba9b6a05581e03cba6b37ea0191a07d95ef181602dfbeb739118469fc58a325542e7371007011bffffffffffffffff03d23827d49ff13460d000eeb909902787a37f24714d0acd62305c8efe85b6b9950382e250e84fab18c55e21d47c0c1080a5333c5673c0110b6ba52f2fc70eb1bc60034e333f9fae131743920c3f7ada9d992666422db9ba9888f8edf5c10d55eb3baa03f8dd2d547548717ca9fbec2e1080363805c264bbabf9b7fb248fc1a6aee05fd305581e03073221a2ff09fbb47440135c55bbf6a9f5da25c67fe5fb17b4677a31200c044721d8a7770e100003315b295e87e69213ff6b79ccba0b28cf5c1705d5c048e8beee263387a466370b03affe208456e818f69a73122832d6db3a7b93175f3bf83dd7f080d11743c81ea90352b50106208b0dce3c80d2e9f04f9a259d491f21002b96e6e8bd8b57becf942605581d02b865f91197ad44de3a0e136244f8065443229e55587d460d3bba282907011bffffffffffffffff05581d02624b0bc1e11a3bdd944088c308f485534000cb29a3a8811054b54c9b0c1a000c86ca490394601e83d729b501021980400219ebfe03d3132a024b557ec0b05e56863d66c041f497065113a44faacf4d9e364c82b8030379e2c0b271396374985a3250424095d767ed23295db7fbd82b4e04b1e83cdcdc03567add56a5ea3ed80dc99a5b9ef0c9c3975e24d856dcea19c2da132181790c980347d87c61393e3e153ba5644ff9e019b469a11b5b97fcade0eb3a2a0829c7dc70036810497f2220559a33a05426c8c6f73f6f02f346e9e07e0f7bc3669885e98242037d5fd991a40a4f8f565a432fd0d5dae81caacc39654e156e800bdda7a226de0d0303d7ade78adb3e0b672d409676ead79bdb36b1d9ca2c694fdd7f90493cb21ed9039a207eaa35f55c95cd79f8d9ae1e9df46d2a401f738820e13e3853015779a9de03846224e37f38201c2e7686b96dd5c521c667cd779e20e671a67eecceba3d7889032b151c802896387140fc5a7ef94d9f7cb04d0a0d463bc1e6bcbffa7bbe3bad0e03bda9292b1831706c2e30c413caae3a224695b2f65d8daae93ee12b9437b593d4032e2283052e9617b692ee206ad2218257de2c21cfdd3e7d977dc81fc57d138b5a033ed78e187b4d8c010c5d31e7a0e44aea4ddb31e88d7a4bf3ee06ba67ee24b1fc030bb451dff12dca0c5f61a14937f50907c7116b3dee8c5a8664d3b8829d89bfba0219ffff0377ee2e75eab139423ab8745f4a37009ab5c17c9c25ba9da150173314684907cd032b49b7283e13ff490c70f4dfe7334442d7f2f12028c5e045185e679c9636e6350219ffff031b5659f433bb84064f045cd5adb512083029f8f3c85cb8fc97fa14ba48208dd903391e6c6960df13db88f39abb6e0afdbe5eb0bec876826b2c34369df0bce4d27903613e5dbcca53300217296c2b4b05fff85a4c418fe5a138d3a438458cc12a2509030061a682415232abe5fc16ed1193a095e2bddce898bcb66861e62d181b2445da03f679e9635de343ea8537aa0fdca36a1d80763a86cd0e3a1ea4ec271df8fed4750310b4fccf8f3d4d27ecc48ab272c75e1bcbe1df895d0ffaee98564383945231b90219ffff03d284a447b36203431191b4f4e8d6b4d94fc46f03ea7a665c4da308d1abd5b1ad03b0398f9c41ffe0ba5008854ebe38444336447aa694011340bfe1236d39da4ae503c35b5ec99261d434f52a19d8297dca36cf047d9f3e9deb95e55329f2d735102a03681f6bb9061a4c3832748f758044bbf7c5c9e353b0b98e09fb623aacc2b35f7d030d0776f0c7fe9d7c3db2fd47787f011e88ebddadf4d079ea7402a51ac48d315303bae5efeb8f92fa9134ec3495f5372cf0a012e274abd51a11c2b5975e5dc027e3037be751062fc5f8ba4169b3b320be2784b6c2ba12ed67a6936e7d9a859ee35459030d0e14832ce921ebd6b12084bfb32b578b28f942e5f44e3740c3d07724c8a81b033b3133ecf28de5b8af4189fe104fe24f76aa1ab132d4c927d6efb7d5b4c8649d036e360a70b7439657f525429d080cbd673128b7f89e577f5a16e5bfbf20947bc703ad3714c1ea00303643fbe92a9ee02a7da4f043f681a6ca39b24fad01695997f2030ddfeb86d0043b9a698df5af1bc52128e05e5e543055dcd86c18c19de6d88551038d08f0d9080b3321354d6fef67c2e512199e3cbb290dc17bdac14d26b4d8a9ca035ecb20de05b795874ce23c2717b51ccf0af3273ee3a818aee9538c32c136d94b0329106dc2475ee807060cbcbe9060a3015e31dc43925a59ff3915bd80b60513f4031c077147d488bb535f1a33136944360e7755edd1cbd606156e02ca693413a4700302bf9a48ab40e44f82629e7945701332a6101adc20747a5cb1d97f658f0ce8aa031011661a15c34524508caddb587861a08ba74057a89701a3e5e834b01832ba8303c5e75f1e826e7b57580494026586f1bd60c16ad8227834ed2957adc325ad4cb003c9cd83a8af7b9539e9e99ea23acfb26067eefc6e231f630925450252ec248b7b03cce1fed0341cb511fec019e659fdf9ba0e4223d6f3602f54a8d43a10f7f60381033f2af7e12193e4c1de79350ebbf3125dca0fc663eb8401db4636158456955adf0378dc874293acc90b6d7d5793e4530da27332a4e87e99b35f4e8e4711b40fa17403e31fe2b30b3c6f92ef3b03ca2da4a105e9383a558b2dd4533c21649297322ff6037bb3c318728bd08d51862b18015449ce91c0e1db225e08a8ff322f35f6b4ec9203feabff3d150e087f49e67ab313f9ab02f7acc77cbfec3b7591aafa26f9185e170348ae1925420185f27ffce2bea3c4ef41d1d737bbd85617e5a600aeb0b87d10d503ad2beb810448136aa164a59addaa608bf3a180c95f9a43b97a6075ab77537c0203afc8d54a699eaf9f87d6778f3cbc53114a034b62450938a463f6dbc3df2203430392f8b62eb3cd3cc967eeb09045f60a957c3b364352830b3563f0c47fcce972ad03f098a61bb5dda016ea27eaf2330970cb711b26fe88749b06dcac5bfc059c0053030e426c5f3c713c21d06ed06dfae2f7e8137e234c92acfeae11af88a39bf8fb57039e6f925676cb774bc15113f95bf9167cc7c5bb19b944bf23e24cf1a3334ed42d0459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f8b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000060594a405d53811d3bc4766596efd80fd545a2701614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03373973239eae6bc3864ce5c1d25f8b50282997286035eee2d6cb1660407b6a2b033728ac42036d48a3667b99e99745c7b7556afc52e0e8d5f8784d3ecbb1e641b5036690dd725e629af1bd2e113ba963165a04eb2f90e109f5eb86ed25dcb33da43e03991ca6fff7c064bde219de4be6131d6d147288091a04663b6ed2adf82230eaf50306ac7b53b9e4b7efb87db0962be9e74bb8190756a8130f5fc86cecef1ba5e28b03209aa86ca95463badf54c311ee694ff19ed3c8d8cf3c69cb31e082241cdbda7f0332951ddc3e4c4ad43ed9d3e0b6de0234e73d6cd28848d1bfd3d98f74aff903bf0317c1b6b3bae90d53fc880cda51bfa23552334bfd3d41d413768de516607f389f03737a60ca018d0d0a64f23ee2ce83e5836a6b41037a2a39cfa967ab50a40628610323100bf76b974f35c450e1a9fe4de2500039de5915a077eb3ddee1d59fdb51f10313bc1fdcfaf47aa7c98ce2b64c29c8c8c5ae44c883d84f34f9bc4c4e7679fe3700582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010000b400b40030fec80b000000000000000004b8f42ff923f6fcaf8072de036701b6f9851aabc98ad05b82e00c4cba6150845c15fcbafc82ff6c3129ecdcc40058200320d54bb1f51bbde26f9238147e4307e21608b1127e454cea9fa4a87a2048f04f23c4983d820e14c0c7ed2604986cba03f945ca119dbcb972a24ab7729d73fc05ca6687074996ca089fa4f4fa7b57ee3f038a226955ab6c61051b827e9c0edddc3d61e7a31a1efb1b56826038395310b00603be315690b2af9930d7000043dc3c7d1f00fd0dc0698f55bfa34025847d8e179400582003df8f6394145dbc053509eca29215bd6c7f2a97dd088679939c00813c67d1005820ffffffffffffffffffffffffffffffffac1f878bd9ea7fdb47c68f963cf2d177005820038208059320a1ed92ef2eea5f0301f0008a0efef016b8cc237617962e04fa705820ffffffffffffffffffffffffffffffffd87bd668fad208d44ee1b03383569160005820030464163f37575a21c77607072fdb77d4950fcccf0deec83e8905a614e732f04d031f52ff81233e7de4b800e370034b66918bdb63f774b6e45693a46b24490f1af004702548b8b095459f1d23c2030219479f03b8fd91004877202115159f95bdb8de776fc6ec0a8fac95269caece267e93d23a030b9651bd0507058fde96dd8d2b70a4571318aba495ab6247369c5f24ab33cb3703bb5c21d419b78b155ed3d7e4432166d66582bc07607cf3c4dfffda46ef8e71db0367e8ad8e9359b66dd6320a590920d42adcae970f53c65235d40a7246f0fd42b4034412c2936f90664b17397d4f49c7f525d0252050e928fd88751fd52e0afa6436038d4b2dd9536e588189506918204adc8f32fd64a39bcf740d32cf0f2dabb7234c0219ffff039b371dcb3844e847b5ac9a1b3c0d636edb836147ee1a2b4a7c72c98ddc5dfc5103adf16a23f42fe686f4c0dc2e899d64d3f9ada07e5fa058cd5a16dd3ab512e61903d1c1ab06273adf781a04a8948a837f90e46fa0e17b35ddd5ceb59f1c6e8347120359cb7b1d6e6ff1e3b6a3bf7e9a4c9efe7ffc72712a291831bccf614aa936935a03bfaee13a8dc73c64bf67a527c0007a866b273a89019cfe7369f512a7c928b2110305ca2ae16600505874b74e8c5e8c32aa1664fe44e8097c8bc809030b8107c8c4031bb9aa1cdb70ec3579b051f38bbf3c6a71b738ba88d6bb1abac3d0ff39bf4cfa030928fcdd2cb17fd643b08d11f47c6ab4a0041aa991ad4cf66a4ac8b0b4fc75a10330348cfc3b93e87f893064b44c0ec3c4f93f7ef152e687c677c5f51d458d257f01410300582003de9fedd7ad5bc095640ca172aa245d67b50488b003c4a4291989a96f790d504e0fbf00c672703ede4a2739f2691003e80444d41026156e4eaceccce1e5753453de8ffc697dfaff6c6c9c6dad144ffc0058200395c5dceade9603479b177b68959049485df8aa97b39f3533039af5f456199058200100000000000000000004b9d2d855e511d7bb20b7fff8feac0fa0d26687da2703b3868ab10feaf6161a8f577ce4337b2279533d1f3b06845e6c775dd264f8a6810390417cb3faddf67972d6ab8c798653d45e2be2ea9d11b7adfa50b03c4aa84df303392d153346fd19bebb4fdf670ce7919dd9322a17ece911069959a16f9af0f90000582003781db70ad0dce1d6e9a31c7da5370b6c77315e4c01fec911ec7283ea4415604f03afab9d52d2ca90baf5d4da607039037a5e945f5d9b987048056e2dfaf20de32d9aff651d4b049b97100f7764711a1b030cbe1a1dde82284ee6bc689a64d8ac397dccb050337337abebfd670ad8fa4111031b9291c79deb860adfbf1db7a0b386c573ab1c40e3ed835b214ed5118b179e9d03be089c10aa70c11247d3cfa00b579e7e6c8cc8fa58c94018cfd231194fb2b84c00582003d0e31265e1542e2305664a26843ee887309749e0791427267130b6886ac4504ffc5b029778bd42a362e9c0e5d018980219afbf0385db1ef4dea543cb0164f429b4d220d1d6273ffdb6edcd45d7f6e3c78901ceb7039b5857f1f3ec49aefad442cbe723edd7ab49f5c20d2487e55e5538f57df1184e0307faa2d5e56bae8087da9b4581ff6e982747f96bb098c62ce02c2334c345be13038641c3fdae72c810a565746df479edc69b486062916371634b3196ce71eb9f4103eb13010be53c53352d9b6192071ecdaed1b810a3808a3a7145a76c085fe99fde03aa01eabc7972171674ab40f8c9fa65325d3b02edc2851ca4dc788e803976a1b8031b5a86f310121807b2243b8e8026f7975f96798a20d3f18f015e1637a3f9a4af0219ffff032772352106708b0fc6b3c911e009ca18d25e6ebecd9d44deaab50f3187bbd6d70388a0a244e756c474678d729ce412550d64aa53a6be526a91d5de0c7ae8eb5ace03fd010d6f9a27b2e2361df208c800dc898a539e98326195d01df03bc907cd776b03fcc5d92f018e3817136668ac3f7d23f02fbc36126605725ea542245d1e99081c038376ad57e5f8f6343054eb3cc4f338019f48f347aff77b449800f25152ecc58603babf14065d88d7a9594a3a981144e77a552b83bfee1a246c1276811779fbc94f03ab879605375fb9e599ff9ad5e7c1ad9367c8c50e7d4abd29de4aa19173ef614203a6e9bad43999d04e4a7b98ba339b1b1a4b75670aa1475e557107c067c675fdf603a0cb8fe9e2f4a0b41ca3e49bdfa904b57efc6dab12b1a9b5adcc05ee00de24b603600d474b24c7b3220b9b7eebed433b8975337997cdd7f545ef0e287d61d77eea03c2c6d1e38010fbee021dd11125a4c41b5083199bb4c292027566f6300109544303247dc803ba0983b6806e77a4a99a211c1b91da621eb62b7e17cf0725257037ec0399eb2bab9f407741cf32be6d709338f359b067073af4d85e50d9401219cec0b5039458177f7269f5f564d628a0ec5eb92032f04dae824f3bb9cef7258c3be78bb8005820039ff4950acd5fa5dd74a6386acbfbf7e55f8b7d091ac7944d15cd5685d399805820fffffffffffffffffffffffffffffffffd8242fec220d9ec7e145ea9228969a2005820036478415c64ebf449aa87330119b8fd12936d555aeb7700709fc13a4dbed7004f0162af5c5b39d2336d2dc0f219db1700582003746cd7d788a3270b7556e79fc465f745b6c65a76ddc34e8d1f0a477dbe64604e19d372e722800ea6456e09cfb7a103f81b552ffc15d6417f4a04b3673516e57896fa60b6939d858d74efa0f2d23acb00581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4a30406567a10dbee3d2a600581f02307d6a58be4fe57149f4f667c6c7f7102d7f85fb737a6ad578de25360ac15102e79775b61bd8cbf9bcc9c732d89afbcf0219022203fba6f4c117d2ddba17fcd19a0809cbce0b88db7e4ae15895c63690924ce7c96603436ff31e225afc58d981353539ec87837a9890ad9f0de3b2bda6f8cf5331eb1600582003d44e9bce0685ddfeeefc1e6ffbfb3b9d7371c9c60ee5fc334fbaed2e0e8a005820ffffffffffffffffffffffffffffffff0b173758e90631cf4863f718c406ebc403afe38c52acca6238cac73d823821d70aabc11988f12f8d9e58ebfca9457b4c74005820035a305662f27abd5b8607b9af85f92c79da7602456d21f0f1fd53226f061ef05008d20f1d659cf43575b2f9420f0c32f30381b93bb9616b5f52f0fc410d0d75ffd854f24527e408233dfbea69599f9852e8030cca69ae9d88d73c56a2310c32fb9eefb5ba02ad73b74eaa719631379b8c4113005820033a56a7bb35a45e84a15d27206987ce6a6173aa7ed09a102585cc354b5ed4005005821916e2bf780f1ca23d51fd3d6e2a0058200380b14c881a283e78de2c0478341fc344fffb1f8d58704f7415d3fce04679704f5b17168aec1f11899d72a2d19233080219cdff03dd7b3a6eb20a7eee86fbf4438c1c64e42bc12cf604d61706aed6b6861a2aa98603680fec42b970d8872d768a99f70245fc592f39b6fc180f21c894069e9863b30303fd25da76a0996758c1d1c9d7fc6ab19dfc8d0a3420331c4df12868fcb23929490396d92d001645db37972df7d672a58e4b4cd583c2bdf4161c28cbc7f88e34802c03eeb798afb99289d1cc09ad643f0c5cecd819158c9468e4fd2ae6f0f25f66dd850219ffff032be628d38f65fec4433429057906e56383180461908eabbfc87441b77ab7c40c03b83e56da4476e69519a55b69d7606bbae5d5be0655db774c81a7bae26556d8b903a5e9b967a3183a1de8eceea629d9effedc0ed173c36ea4e143d921b77c8592e1034f8e74598164b26addd67454e76647c81440289270a6c119c1d8a601718db0920316e854d89d0de32e88a8382128c16e5e706526ce11a5f028d6aa31573a8fa06203d56fc4e56b1aed111dbd09c455a13900e13aceb09e601cd7c31832e3247ada7503d62beea8e6ee2c8f2101845cd44948e4e9e4346f291f9dff51121b10b8c767d7039c7afdbd9ee8c63ab046a2efa48af652a6f1c95762692cc1d350946b9ea4859b00582003b537a457fae47cd854f2d7d8a42b75deb90781a023d5a95c056f02a1b06c10581902d973c1807f06a2660000000000000002d973c1807f06a26603c41ab1c00feb4b140abbff9279afe299a0ab553d6813bc19dc14390bb6470a0e00582003f519b249f1f5362def5c8458ee9b5bacc2ca470f1406639f93a614af7dfed04f121bdf1fd157f669f16f8466b66caa031b76d9d5597cde25650aa925cd64a9e9228a5fff23712989087184a28e6a40fc034920fe7e21574e7757c2493e35aa05224fcd14c12690a4e8358b1db6806632f400582003043b39e219f09eacfecc203b6eaf34646d729bf1adc1d122a1e94482b836604f90324dd2d04d6b0c58c9a53b33373900582003e048fe8ce8dd304a4dd69d1df2cbde9f2e156d916f932e5195fbee79d2a0005054602d60837a300758eef8d3ee2811c603bf4096e9219bdfaf0bf16fb09b8dd5b4e867f64bd58ec109d06d3f863de6e3a000581f0282f6bcb9be86da206e4452bf357ac192d1ccf4ea73cf38228e8906a1f4324a01058cd31fd7cbc3727a00581f027d4798e9935b0525b3a8d89470d38caa9f5a7e809e567236ea0da3caa574500177af2530f0a3516afa6423b709c5b400581f02b5e0df1cd766167552a88982532c4fe4b59ec8337eaeecc52925b73658e7582081d200003c04400007020001a10000000000022000000003102692a5c00291080219031000582003969c8058365bb97ef95a358ff6d863adb6d74bd728705251721b2adaac07704d169d6d371d5dd4c5f9539c5c0e03cc807f12c8f7c4962a9560e288eab627bd3a3c09cca1e753ff5693db04a6c2be00582003ee11994a49db17a148ac0c10fbef7bcd8b68ce87d0e69ab65847cd5bb7e2305820fffffffffffffffffffffffffffffffffff3dd36aaad174bf10d77aaa7b73342032434598b29235ef6baf072de52d89815ace291c120a7483e031c15465f53dae702197eef03cb86a101ac135d177231df1c6265e0782d3eeea0dc5e59d75136051aa82476c003fc88907afc0df79711d63f56fc4a05db16b97c2213c2878f8369d5b2f144985c03cac9cead9917d0df2475fb841ad4c491e469250e6068feac594603a07b6c6655039bde2d54e35991fd40d84401c7b495c2ce7ee1670fc2d80ad20c9eed5035e23a034ea77517642b7d85e48c3bd406f79ca3db5b9d86decf94fa9f3b008d3dd84eef036c7873690c4e98658952dc31326a0391530b160a6cd5bdc4971ebe7e039a2bf6035de9641830aaa3edd759024dc08d2639e1eef2d8f7d505ba0fa58d0f017d742a03d2dc8873d57ff8390ecbd668016659dfc68fe0df841d0522f23e0d7e561889290219ffff038467a8fb1ddd93ee99e9b524b152d69750ebe4b26178c78abb156e662915b51f00581f02a1d25fda12c4a4ca74f27dba38de3f1dd40a5406d201ec3da8f8d84454f258187df43c53fa96895300000000000000007df43c53fa96895300581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65114b1ceba7e3cabee27f2c59d087af549b802195000005820036f2256f4c63f33db98981eaf03ffa99b904520b8f5adee1aebffd89a15cbb05001a338d09cd2f49a6351f78516fb4056038714719cdb37d6441e9451c715e587ddf8e97e90453a28d17f62c2137c10956d03dc1e4b689bef2502bb4b82609c0aec555044560f11cc5e0c092724460e45ff6301410d03df33419e1dbd8648399c4393bd9965ff9bbe6e39331875194cd348c31e37c72d0058200341a6ff82515a5d13fe5c2a480e42f7032f44922736343170608ee0584a186050012f7ac0adcb7b8d2b5002b7e261df8703e1ac7cd0f14aa1e66188d1f9ea37fc366828750f377efd3aff275849b92e45b900582003c90d0f53cfd13f960513c1ea1eba385db7f4c0db05f944244a86f6a287d8c04fe4ce6b0eb520dcf0238e7e5a4106be031ae537c39597fb2e11de27df78af4011db34b3d2ff012d7752cc378b7b05b8070363b97cb036c9eede642cfd378242a4aa3510b8ac4c9e7fb9cbf8afcac6c27d6800582003845901600071979415d0438f0ded7f8622ee34a2f83b1a8ba7f3acbf6efc004e03cc0514fd6a5ef4e9d173cd7806033f888d2998375332c9f8d8fc00600069d049eb2f2c73a1a33bc78347200938430349109d16ccff7f9647563247da27feb3f390733b42a26970ae879dde1ff9276a00582003c3cf13ab3232d7a8a578bb3d2a60f17ba26ece2684e9d0605925382b5244a05820ffffffffffffffffffffffffffffffffc85e310693bd8198e56f2e095cd742f300582003a48e9b8eb85deffb84176d8907b6df96fca08d1240a8981b9bc773bb4446304fec5f2d2d04a8afeaa4588a486c171c0219dfff0387e73c920dd7cd8aedf09b23fd1a77268ba56aa811c419956b15cb3da0778ca303738ec043f78b95a056e156b4ef73c2c49088df41973f464f1587d3224e38694a03c895829c048ceef42a9d30a6612a1b3f0b380cdef00777b080a5b7a816e2555f03470ab9737cee2e0a802243c7bb70ad810e27da17af12b1d15d6b1450b1726dec03716ca554cfb3a54dd54c3ef0bbda041717f8d8bfeb1f57bd23dcaf8e53f2704f037095a91218a23da703898176e5c1517766829283f6e3ff71ea04a2167be657170328c38fb9b28eefacbbbdc5e6d5ed89f2a6f7b0db60f7c6192428dc818e8e494e036209069dc4386d9330308463be4859e5b2f9284483995da7365b8d42eab3fb82039ea553eebe0f156c5c6fc79a1d71f3b1bfa1ae23df225d93cde7e1ae53348f4803ece85cb4efaab6b994811b1575f624910a43a3735e753bf91bcaf5583697e4f40301d3dfa981cd424c98383f7a389d244091509e58e5050551b58b12d55717170d037111469f5ef06e5acd6acb569774fb098edad5f26260c1ab93a321e7ee5705ff0341ab6910a511a1fe65245484759be0d97fba4655e02aa2f5833b397e2c2a3326038a151f98f94a098408fda58be9417a2a51b2ce3332d0e23942c97d159c1a00a60219ffff037d183985b92ee0c8351c5254ecb4e46770d61c97331bd1dcdd577783c88184ac0398005c3a95402be738d132fc89582cca70334bdbe85624c439578b942f94d63b03f3ec1af65df13cab511a92417ca35ec94fb3bf7b115b9716e39d32ce980d8ea803bcfc753b8665a946ae099c01d0727cc0b7dcaf37ba0ba97c5177520f1426ec3f031b404d109bd4cdb22c497fdb12ea6d646970a808b686db4c99548958e77c59c8039becaa32b04c2f55a84f9e7139f94f16b5bcd4c6eb0bf7f10f2a8ff6b398f4a0039b94f3e4a98cf4153dd83cb3239fda7652ae361594a50861219cfa469186f62c031c7f7a2ab8b170c3459d0c4d9a802e30b56172b0eb394eac4ce82306fd8519b403a2addf02cd5e51736f3e9daf24f431d0d638f333aca2ecfc8968866da31ff47703ac6f810a9d3056df79ef77c8bb86e2ffb7bcb1ad79f030db0d07aaa296509b56030a98ded531d5576f9ae6e217e75bc41071e68d63a557884388aaa86c6f09a5dc039ae923d5cd41483f3bb4331be220a718e30b38b50a5307d9d3b257546e9856fe0331287b04b07938af467793ab2c849f84b123f968daeed6705e0b45b9c1e12cda005820036fef70f8d5ddbc01ee3d903d1e69c18a3c7be080eb86a81e0578814ee58d3058200100000000000000000004b9d1c450299e78870136fff8feea96b31e6687a6bb005820030acf2bd25a63bb5089091cefde856f477211be4a55469fde68d7740aa07940508a24836eeda63ba31f47527b9af53ac5005820036ff7237c6a07beb17c0b081d4c07423432d1cc356258515b8bda4a0d656f904eea6f7085fa0b902b18bbaf1f894c036e0dcc8a1bf28f3363058beb73b06bbffe0b86981a18817a7765c2abe1f09c9c00582003e8cb27decab62fced6e368e162ee9fb9344cea6281d315701b1b244e1fda004e0aa066781d914de15eabd52d1e1f03299b28b10ff8b681d2b3382fe84ef7c36d7bedd3d9664fc3fe49c6a8b82274a3005820032d9a9b90dbe96e5b4138eeea2e8ae83f438b1ca8d3f0f801404a7e7249fd905820ffffffffffffffffffffffffffffffffffffe5768b8af5084c65a163b7d2eab200582003be8cce9ac0372263109346192a38b628fd076429ce21d09554b69c0bc058a04f02013f230863c90a19477f19513674005820032f3551a2c65f04cb031b229bdd64899cb669974fd8ef31fd2b3323d98c385050086438674b95d4b2d679e99bd1dceae400582003a858da6159128de4d516943a13924145226206f0653abe851560f199d632f05002bb347c513bd44ae8e2a934d7ebd49d00582003753b2744aee6ded734f534b956546369072615ab54117a1bed9fa4975f89205820ffffffffffffffffffffffffffffffffb236a0620911ef32cc6c05b96aad60db00582003cf4d2861ae583207bf6487e2517c681b77f789c1c89319b0d1ceea0acf9fc04eaba7a05f6240c2c11ace3744057f02197dbe0387af61dcefe2d48f03d559f273a434be1524dfe1063215b75bb133055b3739b40372c94f15b31a3a59be6735d8427c5a5656a8e6c3b1bb7a03a62464c0a37b254c03c82d48aa8911b8e8db4975de939d3d207e43486fcfd23a6b39430bd4b60a2bae0219ffff03aa84111dc617ea80ef09822c7a667418d9e5437111e3a11576cbb5a345c3f55f033a0c0c0a2bab9d783987efc4243fe4bced4dcb8bc375f44f555fb543deccdc4f0219ffff05581d02e1c1ede7f9dd6ef7c5e609aa643221cde7b5b49bcf04ac062817d199070119567e03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581d02f071fbcfa24d9139904667f2dee02db38ee62065b830631fff69da8f07011bffffffffffffffff0219180005581e039e986ede07f047535a1a3d81d4f578b64fe6c0862019c1b10551f293100c0247010df29b29c01003bf7f1353db4c2e452c0406b51a8a5e922da99f71ca278825c255b68e35c0f3ee0355a1b3a4c3f1d8defd5bd75781a4639a6954ad95c099661a480a0589d7087fb0039e5684dc196067c9e9a9578883a0b00527e7cb27f03e0594fb1809f5b611b08f05581e03a0af46d225c8d6d777977a6caef8b5cacf71c56d3952b5fabd863c4dc00c01460de0c3464e00021935c203db41c43aaf6ff063c166b2976b71df6db6c452a15433d284aab32a9a5e6f2ea103a5676a9ea5de8b4bb012a81729a0320c0aeed9e67e782aa65bb3405cf8caed3703dfd73e49af5c34bb02c4d29d795f78d60bf91679bf882ca55926e6b29eb6770c0306f63236ffa2ed13592a253ea22951c3775bbe3077d2f0b41b93f2c0136e708b03f28804c3ff4786960c5689ca757691e33d0b4f226033b003d380ec73ae41bd760219ffff0219ffff035b77132e6ffa40b814f4caafccddb1c3b9e95602b5753363db7ebb2c6eba38be0309a27260a014289f390f8b805f6f7d6ecaab0e3cb27955c817002eb69ed24f48035eaf316ec3a62d4c2ab556a8dc8ef39b15ccc776c63229200c776e187231ac1e0386a640dd3b0c7a3801642c6eb36d909c2da74bfce1ed96dada9196d3f2b3c4f103ae32c7288c30876158d2624eab4e9ef72b49f75a390471e46cef647aae38eb190360cab698c9c6279a501e59f02b102fadd8e037a2c90acd1f4fb2b26f26bc348203872db0056b61bd770689baffa056256cb0e0ceaf84c49ad3b7c74954c8dcbd5703d47377886f1ff8f5e5445ef4fc677977bd013e1ec8cc9b22ca506d64b007b7ce03a37ed44f35d8c2bfcbf9ad3ff0c7d0a8bb15b47b5a9ad21aeb501fc98096fa310219ffff03d8c275127bd4a517b4ed1374b76f9dc8e3bac6c49c8d1a1f76c3f409283e1cab03b8c26fe3f16428f0c1665be79b0e028ce79efe2caa68fff581c71676b136b6b003569591115b199794dcbf0bf9fc2fc4006bd72471c0fc9607ed9a5c69575a8a2a035bd01d7a223024144121d477758660018ec8ee89cb9dfa719abc89eb9704dd4b0397cc51d4596bc186603d96673126ee820a9a57edc6b576ffe4c5be68c6625be4039c6aa56cf1a25c67d92ed16ccf8a1c8703c849383cc4199b5c0476bd880813dd03bfe9aa176fd8d422e2eec6b0290f6c70e60cac36181210b5c818d7b5561cf2130313fddc187d17ebfef23526740d56315b657375cf89b2347ddb910f6cb70e5d6203c388864987fd13378fae5250ad8f574ee6a1019fa39a2035b0b46702f909db5903d537fea84259029b44394eb33487171409ec06eba974dc2e74f7f4aae23de63503f3f0e82c45dbd72daf42c07bf491f8212c07bc5ad0db2c5f5eabfcf5a2c02d120329dfd37d36f50b4f59e4da7b71494c59fbe404f972c0bedf3ead46a723b0313b0384d21b9f0250b6f65758ca34de3ae1a3da14f23f3210bf60a0cab9f3fd4bf9450219ffff0219ffff0219ffff"}},"code_db":null,"txn_info":[{"traces":{"0xa69babef1ca67a37ffaf7a485dfff3382056e78c":{"balance":"0xeb99112ea395be4e9","code_usage":{"read":"0xfe6b10a47e6f02df629ebc024bfceb97211d1343a434a71e8421cfe73180ed18"}},"0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000026a","0x0000000000000000000000000000000000000000000000000000000000000002","0xf1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a753f","0x0000000000000000000000000000000000000000000000000000000000000269","0x0000000000000000000000000000000000000000000000000000000000000001","0xad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3","0xf1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a7540","0xf1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a753e","0x0000000000000000000000000000000000000000000000000000000000000000","0xf1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a7541","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0xf1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a753f":"0xd51e8a6bde55186982896ba39b","0xf1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a7540":"0x112e396321c4b1da0d0f7d66fd72530e59","0x0000000000000000000000000000000000000000000000000000000000000000":"0x10002d302d3026202ff620000000000004803f5135a3e62d1f55867fee6b7","0xf1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a7541":"0x100070ee400000000000000000010b85eb4f3d51c400746a70000152b850634","0x0000000000000000000000000000000000000000000000000000000000000004":"0x277e04e50c1c64fe","0x000000000000000000000000000000000000000000000000000000000000026a":"0x10000000000000001eca53b8d24135d4491d737cb00121bfa159dab6687daf3","0x0000000000000000000000000000000000000000000000000000000000000001":"0x934b9563f7b80965776264b19827"},"code_usage":{"read":"0xa981b66c747a3d9fa29d7e200d5faaa2826960523d0e5a0df8148e8868c480b4"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3":"0xaf283c5dde5","0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff":"0x3349b238b437"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f","0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a"],"storage_written":{"0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a":"0x686cb3e6d62e9c76772","0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f":"0x1366b82e208aff6e26a"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d00c63bf72bad30"},"0x10a29ab757752e492abdbf6acba8f2ee10523599":{"code_usage":{"read":"0x519d2d21272fdef49f0dd93a3fa5e3fd2f297cb7276c1cbb391100c0482a1742"}},"0x065e3dbafcb2c26a978720f9eb4bce6ad9d644a1":{"balance":"0x12a541c031c7f2727","nonce":"0x339a7"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}}},"meta":{"byte_code":"0x02f9048301830339a680850238bc7c848304a80694a69babef1ca67a37ffaf7a485dfff3382056e78c83b6d600b9014478e111f600000000000000000000000010a29ab757752e492abdbf6acba8f2ee10523599000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f4ff5295000000000000000000000000000000000000000000000000000000147f48ae9e00000000000000000000000000000000000000000000000028d9efdf45684a000000000000000000000000000000000000004803f5135a14b11f8d4621df64cf0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006687daf3ff8000000000000000000000000000000000000000000000000000000001421f00000000000000000000000000000000000000000000000000000000f902cdf901839488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f9016ba0f1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a7540a0f1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a753ea0000000000000000000000000000000000000000000000000000000000000026aa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002a0f1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a753fa00000000000000000000000000000000000000000000000000000000000000269a0f1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a7541a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a0ad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3d69443506849d7c04f9138d1a2050bbf3a0c054402ddc0f8bc94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f8a5a0f56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3a010d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390ba07050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3a01f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341effa00000000000000000000000000000000000000000000000000000000000000001d69410a29ab757752e492abdbf6acba8f2ee10523599c0f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63aa075245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f01a041c3a9fc4d3e8fd29b5519c1c0bb909ee207dd4c82faf68840a3e45d3f3b0f82a076ef60f16ea2bac76505b530993d5ff9e5d0d10a6e9a2b273868fe6bf33565cd","new_txn_trie_node_byte":"0x02f9048301830339a680850238bc7c848304a80694a69babef1ca67a37ffaf7a485dfff3382056e78c83b6d600b9014478e111f600000000000000000000000010a29ab757752e492abdbf6acba8f2ee10523599000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f4ff5295000000000000000000000000000000000000000000000000000000147f48ae9e00000000000000000000000000000000000000000000000028d9efdf45684a000000000000000000000000000000000000004803f5135a14b11f8d4621df64cf0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006687daf3ff8000000000000000000000000000000000000000000000000000000001421f00000000000000000000000000000000000000000000000000000000f902cdf901839488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f9016ba0f1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a7540a0f1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a753ea0000000000000000000000000000000000000000000000000000000000000026aa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002a0f1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a753fa00000000000000000000000000000000000000000000000000000000000000269a0f1aa11075e6dd897382c41e1643bcd47100483206000e31c6b330029675a7541a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a0ad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3d69443506849d7c04f9138d1a2050bbf3a0c054402ddc0f8bc94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f8a5a0f56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3a010d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390ba07050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3a01f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341effa00000000000000000000000000000000000000000000000000000000000000001d69410a29ab757752e492abdbf6acba8f2ee10523599c0f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63aa075245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f01a041c3a9fc4d3e8fd29b5519c1c0bb909ee207dd4c82faf68840a3e45d3f3b0f82a076ef60f16ea2bac76505b530993d5ff9e5d0d10a6e9a2b273868fe6bf33565cd","new_receipt_trie_node_byte":"0xb9036802f9036401830253c7b9010000000000010000000000000000000001000000000000000000000000040000000000000000000000000008000000000002000000080020000000000000000000000080000000000808000008000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000010000800000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000002000000008000000000002000000000000000000000000000000000000000000000000000000000000200000000000000010000000000000000000000000000000000000000000f90259f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca00000000000000000000000000000000000000000000000019f4694f8a5c4f559f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a0000000000000000000000000000000000000000000000000000000147f48ae9ef9011c9488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78cb8a0000000000000000000000000000000000000000000000000000000147f48ae9efffffffffffffffffffffffffffffffffffffffffffffffe60b96b075a3b0aa70000000000000000000000000000000000004803f5135a3e62d1f55867fee6b7000000000000000000000000000000000000000000000000277e04e50c1c64fe000000000000000000000000000000000000000000000000000000000002ff62","gas_used":152519}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d25c409e150ad30"},"0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49":{"balance":"0x5bfef753e689807c","storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000001","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x5bfef753e689807c"},"code_usage":{"read":"0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e"}},"0xc465cc50b7d5a29b9308968f870a4b242a8e1873":{"code_usage":{"read":"0x7b287ee78288945f2c3ccb923d99243bbf70d6040de54ddeec372457739a4612"}},"0x974f9d2adfb2a59d41ca806c3ad8a2936a583277":{"balance":"0x594887bec26227d","nonce":"0x11a"},"0x7a250d5630b4cf539739df2c5dacb4c659f2488d":{"code_usage":{"read":"0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2"}},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000012","0x4bf7493e925fef6dd3293644093c5bb2a5b1bd714284d153add6d8e712cda3cd","0x7b67b5194503314e85385637200508f4b17aee7ea8293adc6304faf14a745a0e","0xa848e41093268b49e02783075d09ce258ca19bc169a248acbdbf8584dac4cdc5","0x000000000000000000000000000000000000000000000000000000000000000e","0x000000000000000000000000000000000000000000000000000000000000000c","0x7ec54d766f528d325375a8ebaf4337b65e22bde30c0ebe9051390046e4a9b729","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000014","0x0000000000000000000000000000000000000000000000000000000000000013","0x58439925300038b66f41070a729a1251f02cc8619dcaea891a191c28921aacdc","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000011"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000014":"0x10001764355a8cc85d9144beaa5ef29bc823f4149146c","0x4bf7493e925fef6dd3293644093c5bb2a5b1bd714284d153add6d8e712cda3cd":"0x1c25ff20a8857d39d23ab","0x7b67b5194503314e85385637200508f4b17aee7ea8293adc6304faf14a745a0e":"0x0","0x58439925300038b66f41070a729a1251f02cc8619dcaea891a191c28921aacdc":"0x0","0x7ec54d766f528d325375a8ebaf4337b65e22bde30c0ebe9051390046e4a9b729":"0x1989698bba6cbd0000000","0xa848e41093268b49e02783075d09ce258ca19bc169a248acbdbf8584dac4cdc5":"0xffffffffffffffffffffffffffffffffffffffffffffd1efa6fd0b7427b1659a"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x764355a8cc85d9144beaa5ef29bc823f4149146c":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0x16a9f4ab6837dc77a4008258f8","0x000000000000000000000000000000000000000000000000000000000000000a":"0x1b66d133311fdba00b5c4a18ebbf236bd338","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf30000000000002d5cd39e606c1c1100000001c25ff20a8857d39d23ab","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x241423640f5bfd019f885e9b6b544145f96bd6cc":{"code_usage":{"read":"0xba760604c9edb98f15680f47d56043cf15cdef34433e8391c07a00cbbf05a7de"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24394b284b84e293ed39d","storage_read":["0x886d18740f4a8f91550141bd1fa130e7cf96c012d2a4ffddb833473864b6a753","0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8","0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea"],"storage_written":{"0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea":"0x0","0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8":"0x0","0x886d18740f4a8f91550141bd1fa130e7cf96c012d2a4ffddb833473864b6a753":"0x2d5cd39e606c1c11"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xac903c77b64c827dbd19ccedb29204725e032f4e":{"balance":"0x213084a3717d1111"}},"meta":{"byte_code":"0x02f90275018201198509502f9000850bf55dd50383080b41943328f7f4a1d1c57c35df56bbf0c9dcafca309c4980b9020475713a080000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146c000000000000000000000000000000000000000000002e105902f48bd84e9a65000000000000000000000000000000000000000000000000041f47cf9bb524e5000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e18730000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687daf30000000000000000000000000000000000000000000000000000000000000000c001a04099fe2188b5bbced850fd3a6e4dfc4f8702400a5860828d7566cf1ec03c8cfaa001a37ef5091a0079da1e0ecd3e95c75a8f4919f9ac8e3facb033b612d403eb9e","new_txn_trie_node_byte":"0x02f90275018201198509502f9000850bf55dd50383080b41943328f7f4a1d1c57c35df56bbf0c9dcafca309c4980b9020475713a080000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146c000000000000000000000000000000000000000000002e105902f48bd84e9a65000000000000000000000000000000000000000000000000041f47cf9bb524e5000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e18730000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687daf30000000000000000000000000000000000000000000000000000000000000000c001a04099fe2188b5bbced850fd3a6e4dfc4f8702400a5860828d7566cf1ec03c8cfaa001a37ef5091a0079da1e0ecd3e95c75a8f4919f9ac8e3facb033b612d403eb9e","new_receipt_trie_node_byte":"0xb90a3902f90a350183064c97b9010000200000000000000004000080000000000000008001000002010000002200000000040000000000000000000800000002000000080000200000600000200000000000000000000000000008401080200000000000400000000000000004000000000000000000000000000000000000000000000000040080000010010000001000000000000000004020002000000000000000000000080000004000000000020000000000000000005000000000080000000000000000040000040000000000000402000000000000000000000000004000000000003000000002000120000010200000000000000000000000000000080000000000000000000000000000f9092af89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000023ffb7ed6565d6400000f89b945d3e8fca236461a159c93fe62b572444805869d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3a0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca00000000000000000000000000000000000000000000023ffb7ed6565d6400000f89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da000000000000000000000000000000000000000000000000004ec2d74c8df28fbf87994764355a8cc85d9144beaa5ef29bc823f4149146ce1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000001944f990793cbfb4e89460000000000000000000000000000000000000000000000003283ed61e30e8a30f8fc94764355a8cc85d9144beaa5ef29bc823f4149146cf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488db8800000000000000000000000000000000000000000000023ffb7ed6565d64000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004ec2d74c8df28fbf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da000000000000000000000000000000000000000000000000004ec2d74c8df28fbf89b945d3e8fca236461a159c93fe62b572444805869d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000974f9d2adfb2a59d41ca806c3ad8a2936a583277a0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca0000000000000000000000000000000000000000000002e105902f48bd84e9a65f89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000974f9d2adfb2a59d41ca806c3ad8a2936a583277a0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffd1efa6fd0b7427b1659af89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a0000000000000000000000000000000000000000000000000052719c382a26e1ff87994764355a8cc85d9144beaa5ef29bc823f4149146ce1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000001c25ff20a8857d39d23ab0000000000000000000000000000000000000000000000002d5cd39e606c1c11f8fc94764355a8cc85d9144beaa5ef29bc823f4149146cf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49b880000000000000000000000000000000000000000000002e105902f48bd84e9a6500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052719c382a26e1ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a0000000000000000000000000000000000000000000000000052719c382a26e1ff899943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a072015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499fb860000000000000000000000000000000000000000000000000000d30e5cb8bdd42000000000000000000000000974f9d2adfb2a59d41ca806c3ad8a2936a5832770000000000000000000000000000000000000000000000000000000000000375f858943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a0522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade97a0000000000000000000000000000000000000000000000000052719c382a26e1f","gas_used":260304}},{"traces":{"0x26bce6ecb5b10138e4bf14ac0ffcc8727fef3b2e":{"balance":"0x12a515f3db8a4396b","nonce":"0x36b73"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d3b28a4b75865f8"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x0cb865ff1951c90111975d77bc75fa8312f25b08bb19b908f6b9c43691ac0caf","0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f"],"storage_written":{"0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f":"0x1372b5302cc6f828c7d","0x0cb865ff1951c90111975d77bc75fa8312f25b08bb19b908f6b9c43691ac0caf":"0x18569ca4a01ab108ccb"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xa69babef1ca67a37ffaf7a485dfff3382056e78c":{"balance":"0xeb97bae4f64100f21","code_usage":{"read":"0xfe6b10a47e6f02df629ebc024bfceb97211d1343a434a71e8421cfe73180ed18"}},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x169228ca33ea854d54aa1e506e59ec687f618a41074f5f5de937a0e9c6343e5a","0x0000000000000000000000000000000000000000000000000000000000000000","0x6e9e84ae7b8edc848e54262afc59a03baa298e039f2917f989989f0639ac12e4","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x35d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406a"],"storage_written":{"0x35d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406a":"0x7b4f4de47b5","0x169228ca33ea854d54aa1e506e59ec687f618a41074f5f5de937a0e9c6343e5a":"0x9f8bfcb3d1c"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x11b815efb8f581194ae79006d24e0d814b7697f6":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002","0x51e86470d074b2eb973e9c895b2858f9860cc48a7abc1578969424279e898438","0x0000000000000000000000000000000000000000000000000000000000000106","0x0000000000000000000000000000000000000000000000000000000000000107"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0xb137be7b1f46e2feca110edb05ee","0x0000000000000000000000000000000000000000000000000000000000000107":"0x10000000000000009b150192e4f5a86d41e8bfeecffede3fbea270d6687daf3","0x0000000000000000000000000000000000000000000000000000000000000000":"0x1000190019000fffd009e000000000000000000038e18587ec5d35ca1746b"},"code_usage":{"read":"0x54f2b4c90d2939269a9d3ea8a3081dce03328c947d54bf3d98b2820922840b35"}},"0x39807fc9a64a376b99b1cebde2e79e3826d39aa1":{"code_usage":{"read":"0xc8d12b5cbb484dd0efd2f65c1bf8835db8ac8cc06ef62beb5241902712f82a3a"}}},"meta":{"byte_code":"0x02f904070183036b7280850238bc7c848303b9fa94a69babef1ca67a37ffaf7a485dfff3382056e78c83bbe300b9014478e111f600000000000000000000000039807fc9a64a376b99b1cebde2e79e3826d39aa1000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f4ff529500000000000000000000000000000000000000000000000000000009783bac6100000000000000000000000000000000000000000000000028db818465ef4600000000000000000000000000000000000000000000038e18587ec79fcfe5479c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006687daf3ff8000000000000000000000000000000000000000000000000000000001225700000000000000000000000000000000000000000000000000000000f90251d69439807fc9a64a376b99b1cebde2e79e3826d39aa1c0f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a00cb865ff1951c90111975d77bc75fa8312f25b08bb19b908f6b9c43691ac0cafa075245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8ff8dd9411b815efb8f581194ae79006d24e0d814b7697f6f8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a051e86470d074b2eb973e9c895b2858f9860cc48a7abc1578969424279e898438a00000000000000000000000000000000000000000000000000000000000000106a00000000000000000000000000000000000000000000000000000000000000107f8fe94dac17f958d2ee523a2206206994597c13d831ec7f8e7a00000000000000000000000000000000000000000000000000000000000000004a035d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406aa0000000000000000000000000000000000000000000000000000000000000000aa0169228ca33ea854d54aa1e506e59ec687f618a41074f5f5de937a0e9c6343e5aa00000000000000000000000000000000000000000000000000000000000000000a06e9e84ae7b8edc848e54262afc59a03baa298e039f2917f989989f0639ac12e4a0000000000000000000000000000000000000000000000000000000000000000380a0a55bc0fe71f1212cab13768a4ecf6f1b0b8de41bcbf518aaf58ac36358c17c03a06172e4d2b069a9f8369d8725c9197b75d97eb8325ac561bab9450752d7d44dee","new_txn_trie_node_byte":"0x02f904070183036b7280850238bc7c848303b9fa94a69babef1ca67a37ffaf7a485dfff3382056e78c83bbe300b9014478e111f600000000000000000000000039807fc9a64a376b99b1cebde2e79e3826d39aa1000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f4ff529500000000000000000000000000000000000000000000000000000009783bac6100000000000000000000000000000000000000000000000028db818465ef4600000000000000000000000000000000000000000000038e18587ec79fcfe5479c0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006687daf3ff8000000000000000000000000000000000000000000000000000000001225700000000000000000000000000000000000000000000000000000000f90251d69439807fc9a64a376b99b1cebde2e79e3826d39aa1c0f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a00cb865ff1951c90111975d77bc75fa8312f25b08bb19b908f6b9c43691ac0cafa075245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8ff8dd9411b815efb8f581194ae79006d24e0d814b7697f6f8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a051e86470d074b2eb973e9c895b2858f9860cc48a7abc1578969424279e898438a00000000000000000000000000000000000000000000000000000000000000106a00000000000000000000000000000000000000000000000000000000000000107f8fe94dac17f958d2ee523a2206206994597c13d831ec7f8e7a00000000000000000000000000000000000000000000000000000000000000004a035d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406aa0000000000000000000000000000000000000000000000000000000000000000aa0169228ca33ea854d54aa1e506e59ec687f618a41074f5f5de937a0e9c6343e5aa00000000000000000000000000000000000000000000000000000000000000000a06e9e84ae7b8edc848e54262afc59a03baa298e039f2917f989989f0639ac12e4a0000000000000000000000000000000000000000000000000000000000000000380a0a55bc0fe71f1212cab13768a4ecf6f1b0b8de41bcbf518aaf58ac36358c17c03a06172e4d2b069a9f8369d8725c9197b75d97eb8325ac561bab9450752d7d44dee","new_receipt_trie_node_byte":"0xb9036802f903640183082958b9010000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000010002000000080020000000000000000000000080000000000800000008000000000000000000000000000010000000000000000000000000000000000000002000000000000000000000000090000800000000000000000000000000000000000000000000000000000400000000100000000000000000000000000080000000000000000000000000000004000000000000000002000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000008001000000000f90259f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000000000000000000000000000bfd020c3bf8baa13f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca000000000000000000000000011b815efb8f581194ae79006d24e0d814b7697f6a000000000000000000000000000000000000000000000000000000009783bac61f9011c9411b815efb8f581194ae79006d24e0d814b7697f6f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78cb8a0ffffffffffffffffffffffffffffffffffffffffffffffff402fdf3c407455ed00000000000000000000000000000000000000000000000000000009783bac61000000000000000000000000000000000000000000038e18587ec5d35ca1746b0000000000000000000000000000000000000000000000001510323f93309c38fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd009e","gas_used":122049}},{"traces":{"0x75d308a90ef8c0de983bd6eddc4aae7d8fe226df":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000006"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf3000000000001a10b62b08fe53c4800000004c23a2b183b20aa58d582","0x0000000000000000000000000000000000000000000000000000000000000009":"0x4d1a839352aad43750b2de208df7adb","0x000000000000000000000000000000000000000000000000000000000000000a":"0xd2a2d5d5132374bdbba61b69c488b390a02c6de"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d415cc8441f2548"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x23a388860f785914a7b8c015eebe9c2acdce05da7aad8d476eafa6fbd18f163a","0x5cbfa816815399b57309f2cf2acec1008c447fba0a3723377c2619b46f2acb36"],"storage_written":{"0x5cbfa816815399b57309f2cf2acec1008c447fba0a3723377c2619b46f2acb36":"0x1a10b62b08fe53c48","0x23a388860f785914a7b8c015eebe9c2acdce05da7aad8d476eafa6fbd18f163a":"0x11ee6d5ebfed179a7"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x45c2f8c9b4c0bdc76200448cc26c48ab6ffef83f":{"storage_read":["0xae8ecf76df6ba8b39878b2a35354bb85c151086ac378abcb66bfe0507dec1a5f","0x8b729b29a0318dfbfdd5587a176aab55ace8fa40a50d188f27efe11f179e9e3c"],"storage_written":{"0xae8ecf76df6ba8b39878b2a35354bb85c151086ac378abcb66bfe0507dec1a5f":"0x4c23a2b183b20aa58d582","0x8b729b29a0318dfbfdd5587a176aab55ace8fa40a50d188f27efe11f179e9e3c":"0x115a86e8fe795bd58664"},"code_usage":{"read":"0xaf4ac80f2781a39541d97177e08c529c2258c99a6b30217cbf08b51ad8163dfd"}},"0x738e79fbc9010521763944ddf13aad7f61502221":{"code_usage":{"read":"0x5872e4890c2cb571b5c17cb0bd3c03ef1a63956dbaa15a391015805c636d522e"}},"0x315d2ee4fccda0def532ef4108ff57204f8d9eba":{"balance":"0x333b3e1f0f476557","nonce":"0x43b47"}},"meta":{"byte_code":"0x02f902130183043b4685061f92c5f385061f92c5f38305573094738e79fbc9010521763944ddf13aad7f6150222180b84d5809d49675d308a90ef8c0de983bd6eddc4aae7d8fe226df0000000000000000036e6c7f2f022ac00000000000000a137c8409e3e1e140e7d0be1fded5d964619b92b3672c08c43305529be000f90153f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a023a388860f785914a7b8c015eebe9c2acdce05da7aad8d476eafa6fbd18f163aa05cbfa816815399b57309f2cf2acec1008c447fba0a3723377c2619b46f2acb36f89b9475d308a90ef8c0de983bd6eddc4aae7d8fe226dff884a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007f8599445c2f8c9b4c0bdc76200448cc26c48ab6ffef83ff842a0ae8ecf76df6ba8b39878b2a35354bb85c151086ac378abcb66bfe0507dec1a5fa08b729b29a0318dfbfdd5587a176aab55ace8fa40a50d188f27efe11f179e9e3c80a08e12a2d4d4307efeddc09987f7dbb87d56e9e2e4d39285a4aad3bce054878bb4a0136863b61c593a4d7160e37f2c86a36d9fcdcec6abb4c007548f49b45f071030","new_txn_trie_node_byte":"0x02f902130183043b4685061f92c5f385061f92c5f38305573094738e79fbc9010521763944ddf13aad7f6150222180b84d5809d49675d308a90ef8c0de983bd6eddc4aae7d8fe226df0000000000000000036e6c7f2f022ac00000000000000a137c8409e3e1e140e7d0be1fded5d964619b92b3672c08c43305529be000f90153f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a023a388860f785914a7b8c015eebe9c2acdce05da7aad8d476eafa6fbd18f163aa05cbfa816815399b57309f2cf2acec1008c447fba0a3723377c2619b46f2acb36f89b9475d308a90ef8c0de983bd6eddc4aae7d8fe226dff884a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007f8599445c2f8c9b4c0bdc76200448cc26c48ab6ffef83ff842a0ae8ecf76df6ba8b39878b2a35354bb85c151086ac378abcb66bfe0507dec1a5fa08b729b29a0318dfbfdd5587a176aab55ace8fa40a50d188f27efe11f179e9e3c80a08e12a2d4d4307efeddc09987f7dbb87d56e9e2e4d39285a4aad3bce054878bb4a0136863b61c593a4d7160e37f2c86a36d9fcdcec6abb4c007548f49b45f071030","new_receipt_trie_node_byte":"0xb903c202f903be0183097f73b9010000200000000100000000000080000000000000000000000200000000000000000000000000000000000000000000000002000000080000000000100000000440000000000000000000000008000000200000000000000000000000000000000000000000000000800000004000000001000000000000000000000010000000000000000000000000000000000000000000000000000000080000004000000000000210820000000000000000000000000000000000000000000000000010000000020002000000000000000000000000000000000000001000000000000000000000200000000000000000000000000000000000000000002000000000000000f902b3f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000738e79fbc9010521763944ddf13aad7f61502221a000000000000000000000000075d308a90ef8c0de983bd6eddc4aae7d8fe226dfa0000000000000000000000000000000000000000000000000036e6c7f2f022ac0f89b9445c2f8c9b4c0bdc76200448cc26c48ab6ffef83ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000075d308a90ef8c0de983bd6eddc4aae7d8fe226dfa0000000000000000000000000d0be1fded5d964619b92b3672c08c43305529be0a0000000000000000000000000000000000000000000000a137c8409e3e1e140e7f8799475d308a90ef8c0de983bd6eddc4aae7d8fe226dfe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000004c23a2b183b20aa58d582000000000000000000000000000000000000000000000001a10b62b08fe53c48f8fc9475d308a90ef8c0de983bd6eddc4aae7d8fe226dff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000738e79fbc9010521763944ddf13aad7f61502221a0000000000000000000000000d0be1fded5d964619b92b3672c08c43305529be0b8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036e6c7f2f022ac0000000000000000000000000000000000000000000000a137c8409e3e1e140e70000000000000000000000000000000000000000000000000000000000000000","gas_used":87579}},{"traces":{"0x2fd08c1f9fc8406c1d7e3a799a13883a7e7949f0":{"code_usage":{"read":"0xe5194dd7af8a3cc2e61e50489d79efa7d9545c129ba856fd12fba91076809725"}},"0xe592427a0aece92de3edee1f18e0157c05861564":{"code_usage":{"read":"0xbb90113d2f9a5e9b7feb15a1d1fff06c1ee1575b3f9b1181778ffd0cf633e7ea"}},"0xfb2809a5314473e1165f6b58018e20ed8f07b840":{"code_usage":{"read":"0xf0fd28e064ac4ab479df390230f2c5892de76bb7de5ad9ec9b308003928b4f9a"}},"0x111111125421ca6dc452d289314280a0f8842a65":{"storage_read":["0x719470bebc5500c91c5ab5719b7e13b3e3b2fdfd20276f010f54052af567cade","0x0000000000000000000000000000000000000000000000000000000000000003"],"storage_written":{"0x719470bebc5500c91c5ab5719b7e13b3e3b2fdfd20276f010f54052af567cade":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xa5a286be4b80006cc547d7e899871aa01a0e0551e2a509233375405f92098c2f"}},"0xa2f1f3a93921299f071a002b77a5f3175492bc6a":{"code_usage":{"read":"0xed6d476ba87a9bfba1dfe9e0868bfe12c8a814a8d21495fc84ff8b751be1c531"}},"0x6482e8fb42130b3cce53096bb035ebe79435e2d4":{"code_usage":{"read":"0xf7c712fdf702b2aede2be38e1ce86cec3a5246725d8275a7bf2bb4682c2fdea5"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x135f4bd51752826f87b67c6b40dd69316ca1ac3f86c41cc9b38d2262b316d11a","0xc0d77e4c680df5a5a2abb9d4b3bae4b7867ef31d347f29bca1ee7e7ef6e39b84","0x0b6a97ac7c59f1bd20352a40b602d648747a1990e4b9f8634648bcebb0d33f93","0xe4a6477ad2ec91a65038bca5eb6e728371721992f081a43894ca870373d3a8ba","0x6817957462b7ba8b9477702a1b3d6ceb068c0684a76d47c3ced8eca646a96ff0","0x5bd2b91e6d7dfd0dd9ddbed085abc4e660dbe76a1d8c55b9ee584bc20b57af75","0xb1151b5f51c370d607b59e0034392dd388ea4cc8dded24ec75baf3df36983150"],"storage_written":{"0x0b6a97ac7c59f1bd20352a40b602d648747a1990e4b9f8634648bcebb0d33f93":"0x0","0xb1151b5f51c370d607b59e0034392dd388ea4cc8dded24ec75baf3df36983150":"0x0","0xc0d77e4c680df5a5a2abb9d4b3bae4b7867ef31d347f29bca1ee7e7ef6e39b84":"0x14979b6c0b1c8adb3","0x5bd2b91e6d7dfd0dd9ddbed085abc4e660dbe76a1d8c55b9ee584bc20b57af75":"0x0","0x6817957462b7ba8b9477702a1b3d6ceb068c0684a76d47c3ced8eca646a96ff0":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xeefba1e63905ef1d7acba5a8513c70307c1ce441":{"code_usage":{"read":"0x88004e820ef1c3d1dab4dc3a2419967e640b9977c6dee6a60a03d7d10da54187"}},"0x8146cbbe327364b13d0699f2ced39c637f92501a":{"code_usage":{"read":"0x1dc5a430088005e9e2cf69f323fb8818c48eb71f42d9b51b14ae495a45678c1f"}},"0x44a6999ec971cfca458aff25a808f272f6d492a2":{"code_usage":{"read":"0xeac0d8fb40bc7dca1a56d3b86444df73f67ed68e1a14b62734a91814e55c10d7"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d46a25ce3f038c0"},"0xa35923162c49cf95e6bf26623385eb431ad920d3":{"storage_read":["0x4d33ead68556d8f962cb9c4b907696f80281592f13048ee24bd42122acef5701","0x0f35726ae3bff83fcad6995b6195b9a193e30855073b62d25fc1fd35ef7df12e","0xfe16cc190790d9275c2c00b6aa53594330c96befc2b08cd09fbf83b6cf2edcb6","0x80024e042209d9c39eaed61bcb88cba1bdeff217cdba20178eab2192d4f35018","0x2b250753877ec7063e4bbc3e710fe06b18e83032dfb88b0d0f6155ee114aa626","0x6c16a957268b7668673bfffd26a2a0452c563b8dc143115894530c602074fe81","0x7b78963b2695ba3fe66f7332bd6093cf75f2d572c56b3cbbd13f9dffadb2cc3a"],"storage_written":{"0x6c16a957268b7668673bfffd26a2a0452c563b8dc143115894530c602074fe81":"0x0","0x4d33ead68556d8f962cb9c4b907696f80281592f13048ee24bd42122acef5701":"0x0","0x7b78963b2695ba3fe66f7332bd6093cf75f2d572c56b3cbbd13f9dffadb2cc3a":"0xad99e5b1415cba371fa514","0xfe16cc190790d9275c2c00b6aa53594330c96befc2b08cd09fbf83b6cf2edcb6":"0x547cf59d58c8745c048","0x0f35726ae3bff83fcad6995b6195b9a193e30855073b62d25fc1fd35ef7df12e":"0x16b1fba16b6153abed87","0x2b250753877ec7063e4bbc3e710fe06b18e83032dfb88b0d0f6155ee114aa626":"0x30edc125bfa8569dc78ea3"},"code_usage":{"read":"0x7ee7e0770e9b7a9f14bfcc23beb743e2e19243239e9f8ee24daaa7c9da5d0e4d"}},"0x8107fca5494375fc743a9fc4d4844353a1af3d94":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002","0x09d630f44b7f555eed07fae2912a5dc3cb8482d08fd0bb5516ec577adbc2708d","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000fde7a10000000000000000004462e40af331dabb4d4458","0x0000000000000000000000000000000000000000000000000000000000000008":"0x100041814000000000095602ccf4feb1ccaa6be6ffffab65b19ccbc6687daf3","0x0000000000000000000000000000000000000000000000000000000000000002":"0x16f9d9d8de1747a86c6dbab0b4e8eb"},"code_usage":{"read":"0xac09dc2ccbdea7064cb10313be2eb6a94ff8bf43be1c159d474c53a6610dfdf6"}},"0x22f9dcf4647084d6c31b2765f6910cd85c178c18":{"code_usage":{"read":"0x7f33c56fed037dca7ab27022ca254a42f58dc19bf31970b08504dae0a15724b1"}},"0xad67d3a4fe6040ccb8ae703a443202ec6b9e4a0f":{"balance":"0x2a2f5fdac3db0093","nonce":"0xa4ef"},"0x5b93d80da1a359340d1f339fb574bdc56763f995":{"balance":"0xd204a","code_usage":{"read":"0x791fcfe93041100a918e4d118d0f1bb79907801683a031c762889d98857405b5"}},"0xdef1c0ded9bec7f1a1670819833240f027b25eff":{"storage_read":["0x1454083160665801f09e29ab8f69468d8b8efd1ebbd910c5a96df81a9aa0224b","0x0000000000000000000000000000000500000000000000000000000000000000","0x0000000000000000000000000000000500000000000000000000000000000001"],"code_usage":{"read":"0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e"}},"0xea500d073652336a58846ada15c25f2c6d2d241f":{"code_usage":{"read":"0x3c017c2d75197546650d1d1a132e28d6fdf9a2e3373d4fa5ce03ae1a2029ae28"}}},"meta":{"byte_code":"0x02f9106e0182a4ee8502849159eb8502849159eb830caa94945b93d80da1a359340d1f339fb574bdc56763f99575b90c6605f497df75e26b99779fbef4784ad1e6ffc3c459db5f0420965b90ca551d31339be703054c0000000000000000000000000e1212b04daa889686d7e39361ae33d9afa8b79b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d30000000000000000000000000000000000000000000000008273823258ac00000000000000000000000000000000000000000000000707ce04fbc5089a945e924a00000000000000000000000000000000006687db9400000000000000000000c4c5eacde2edbe2025db614d571793e2ae96097720f99bbcbdabdde77a4434e3c0f667cc64eb5f3369ce26ad5eebd55e62032d6cb4748876ceee1f184ddb09130000000000000000000000000000000000000000000000001dea96c5d15486d0a800012d000948000000000000000000000000000001a0ac0d4e7938ea8ae1bd00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000a896482e8fb42130b3cce53096bb035ebe79435e2d40000010d0000007c0000007c0000007c0000007c0000003e0000000000000000fb2809a5314473e1165f6b58018e20ed8f07b840000b0b00001b6f6687da2000016802c9e2027afe00300234fc003001eb5b003001ac7d0030000b0b00a8fb2809a5314473e1165f6b58018e20ed8f07b840000b0b00001b6f6687da2000016802c9e2027afe00300234fc003001eb5b003001ac7d0030000b0b00a8fb2809a5314473e1165f6b58018e20ed8f07b8406687da08b09498030ae3416b66dc0000db05a6a504f04d92e79d0000339fb574bdc56763f9950000d18bd45f0b94f54a968f0000d61b892b2ad6249011850000f7f4f96b98e102b56b040000901f8f650d76dcc657d100006de5e0e428ac771d77b50000278c0886934b6416afaa0000ade19567bb538035ed360000506482e8fb42130b3cce53096bb035ebe79435e2d4252dba420000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff0000000000000000000000000000000000000000000000001dea96c5d15486d000000000000000000000000000000000000000000000000000000000000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000768415565b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d30000000000000000000000000000000000000000000000001dea96c5d15486d0000000000000000000000000000000000000000000019f5e6ed689e6c4b7b21c00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000052000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d300000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000001dea96c5d15486d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000012556e69737761705633000000000000000000000000000000000000000000000000000000000000001dea96c5d15486d0000000000000000000000000000000000000000000019ffe2c99d76896dd25c0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000e592427a0aece92de3edee1f18e0157c0586156400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb8a35923162c49cf95e6bf26623385eb431ad920d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d300000000000000000000000000000000000000000000009fbdc34d81d22573a4000000000000000000000000ad01c20d5886137e056775af56915de824c8fce5000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000869584cd00000000000000000000000010000000000000000000000000000000000000110000000000000000000000000000000000000000c337a07e3d1c3dec130aecf500000000000000000000000000000000000000000000000000000000000002adae80dde1779aba68000000000000000000000000000000000000000000000000f90395f8fe94a35923162c49cf95e6bf26623385eb431ad920d3f8e7a0fe16cc190790d9275c2c00b6aa53594330c96befc2b08cd09fbf83b6cf2edcb6a080024e042209d9c39eaed61bcb88cba1bdeff217cdba20178eab2192d4f35018a02b250753877ec7063e4bbc3e710fe06b18e83032dfb88b0d0f6155ee114aa626a06c16a957268b7668673bfffd26a2a0452c563b8dc143115894530c602074fe81a07b78963b2695ba3fe66f7332bd6093cf75f2d572c56b3cbbd13f9dffadb2cc3aa04d33ead68556d8f962cb9c4b907696f80281592f13048ee24bd42122acef5701a00f35726ae3bff83fcad6995b6195b9a193e30855073b62d25fc1fd35ef7df12ef8bc948107fca5494375fc743a9fc4d4844353a1af3d94f8a5a009d630f44b7f555eed07fae2912a5dc3cb8482d08fd0bb5516ec577adbc2708da00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002f87a94def1c0ded9bec7f1a1670819833240f027b25efff863a01454083160665801f09e29ab8f69468d8b8efd1ebbd910c5a96df81a9aa0224ba00000000000000000000000000000000500000000000000000000000000000000a00000000000000000000000000000000500000000000000000000000000000001f85994111111125421ca6dc452d289314280a0f8842a65f842a0719470bebc5500c91c5ab5719b7e13b3e3b2fdfd20276f010f54052af567cadea00000000000000000000000000000000000000000000000000000000000000003f8fe94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f8e7a05bd2b91e6d7dfd0dd9ddbed085abc4e660dbe76a1d8c55b9ee584bc20b57af75a0b1151b5f51c370d607b59e0034392dd388ea4cc8dded24ec75baf3df36983150a0135f4bd51752826f87b67c6b40dd69316ca1ac3f86c41cc9b38d2262b316d11aa0c0d77e4c680df5a5a2abb9d4b3bae4b7867ef31d347f29bca1ee7e7ef6e39b84a00b6a97ac7c59f1bd20352a40b602d648747a1990e4b9f8634648bcebb0d33f93a0e4a6477ad2ec91a65038bca5eb6e728371721992f081a43894ca870373d3a8baa06817957462b7ba8b9477702a1b3d6ceb068c0684a76d47c3ced8eca646a96ff001a050edbc965acba7b8480321d8e4cc105d53e9a37f8dfbdb00f948c6e422d9938ca0499340820d7f3affafe6cf78bef7371df4b7f25aaa1c5351163c7c4c33e713be","new_txn_trie_node_byte":"0x02f9106e0182a4ee8502849159eb8502849159eb830caa94945b93d80da1a359340d1f339fb574bdc56763f99575b90c6605f497df75e26b99779fbef4784ad1e6ffc3c459db5f0420965b90ca551d31339be703054c0000000000000000000000000e1212b04daa889686d7e39361ae33d9afa8b79b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d30000000000000000000000000000000000000000000000008273823258ac00000000000000000000000000000000000000000000000707ce04fbc5089a945e924a00000000000000000000000000000000006687db9400000000000000000000c4c5eacde2edbe2025db614d571793e2ae96097720f99bbcbdabdde77a4434e3c0f667cc64eb5f3369ce26ad5eebd55e62032d6cb4748876ceee1f184ddb09130000000000000000000000000000000000000000000000001dea96c5d15486d0a800012d000948000000000000000000000000000001a0ac0d4e7938ea8ae1bd00000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000a896482e8fb42130b3cce53096bb035ebe79435e2d40000010d0000007c0000007c0000007c0000007c0000003e0000000000000000fb2809a5314473e1165f6b58018e20ed8f07b840000b0b00001b6f6687da2000016802c9e2027afe00300234fc003001eb5b003001ac7d0030000b0b00a8fb2809a5314473e1165f6b58018e20ed8f07b840000b0b00001b6f6687da2000016802c9e2027afe00300234fc003001eb5b003001ac7d0030000b0b00a8fb2809a5314473e1165f6b58018e20ed8f07b8406687da08b09498030ae3416b66dc0000db05a6a504f04d92e79d0000339fb574bdc56763f9950000d18bd45f0b94f54a968f0000d61b892b2ad6249011850000f7f4f96b98e102b56b040000901f8f650d76dcc657d100006de5e0e428ac771d77b50000278c0886934b6416afaa0000ade19567bb538035ed360000506482e8fb42130b3cce53096bb035ebe79435e2d4252dba420000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000100000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff0000000000000000000000000000000000000000000000001dea96c5d15486d000000000000000000000000000000000000000000000000000000000000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25eff00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000768415565b0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d30000000000000000000000000000000000000000000000001dea96c5d15486d0000000000000000000000000000000000000000000019f5e6ed689e6c4b7b21c00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000052000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d300000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000002e00000000000000000000000000000000000000000000000001dea96c5d15486d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000012556e69737761705633000000000000000000000000000000000000000000000000000000000000001dea96c5d15486d0000000000000000000000000000000000000000000019ffe2c99d76896dd25c0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000e592427a0aece92de3edee1f18e0157c0586156400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb8a35923162c49cf95e6bf26623385eb431ad920d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d300000000000000000000000000000000000000000000009fbdc34d81d22573a4000000000000000000000000ad01c20d5886137e056775af56915de824c8fce5000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000869584cd00000000000000000000000010000000000000000000000000000000000000110000000000000000000000000000000000000000c337a07e3d1c3dec130aecf500000000000000000000000000000000000000000000000000000000000002adae80dde1779aba68000000000000000000000000000000000000000000000000f90395f8fe94a35923162c49cf95e6bf26623385eb431ad920d3f8e7a0fe16cc190790d9275c2c00b6aa53594330c96befc2b08cd09fbf83b6cf2edcb6a080024e042209d9c39eaed61bcb88cba1bdeff217cdba20178eab2192d4f35018a02b250753877ec7063e4bbc3e710fe06b18e83032dfb88b0d0f6155ee114aa626a06c16a957268b7668673bfffd26a2a0452c563b8dc143115894530c602074fe81a07b78963b2695ba3fe66f7332bd6093cf75f2d572c56b3cbbd13f9dffadb2cc3aa04d33ead68556d8f962cb9c4b907696f80281592f13048ee24bd42122acef5701a00f35726ae3bff83fcad6995b6195b9a193e30855073b62d25fc1fd35ef7df12ef8bc948107fca5494375fc743a9fc4d4844353a1af3d94f8a5a009d630f44b7f555eed07fae2912a5dc3cb8482d08fd0bb5516ec577adbc2708da00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002f87a94def1c0ded9bec7f1a1670819833240f027b25efff863a01454083160665801f09e29ab8f69468d8b8efd1ebbd910c5a96df81a9aa0224ba00000000000000000000000000000000500000000000000000000000000000000a00000000000000000000000000000000500000000000000000000000000000001f85994111111125421ca6dc452d289314280a0f8842a65f842a0719470bebc5500c91c5ab5719b7e13b3e3b2fdfd20276f010f54052af567cadea00000000000000000000000000000000000000000000000000000000000000003f8fe94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f8e7a05bd2b91e6d7dfd0dd9ddbed085abc4e660dbe76a1d8c55b9ee584bc20b57af75a0b1151b5f51c370d607b59e0034392dd388ea4cc8dded24ec75baf3df36983150a0135f4bd51752826f87b67c6b40dd69316ca1ac3f86c41cc9b38d2262b316d11aa0c0d77e4c680df5a5a2abb9d4b3bae4b7867ef31d347f29bca1ee7e7ef6e39b84a00b6a97ac7c59f1bd20352a40b602d648747a1990e4b9f8634648bcebb0d33f93a0e4a6477ad2ec91a65038bca5eb6e728371721992f081a43894ca870373d3a8baa06817957462b7ba8b9477702a1b3d6ceb068c0684a76d47c3ced8eca646a96ff001a050edbc965acba7b8480321d8e4cc105d53e9a37f8dfbdb00f948c6e422d9938ca0499340820d7f3affafe6cf78bef7371df4b7f25aaa1c5351163c7c4c33e713be","new_receipt_trie_node_byte":"0xb909e602f909e201830e952eb90100000000020000000000000010000000000000000000000000000000000000a000000100000000000000000000000000000300000008a060000000800000200000000000000000002800000008004000000000400100000000000000000000000000000000000040000010101000000040000000000000000000000010000800000000000004000000000000000200000000000000000020000000000000800000028010000000000000005000800001000000000000040000000002000000006081000002001002000000000000000000080000000000000000204000000000000010200000000400000000000000000420000000000000000000000010801400f908d7f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000e1212b04daa889686d7e39361ae33d9afa8b79ba00000000000000000000000006482e8fb42130b3cce53096bb035ebe79435e2d4a00000000000000000000000000000000000000000000000001dea96c5d15486d0f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000006482e8fb42130b3cce53096bb035ebe79435e2d4a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa00000000000000000000000000000000000000000000000001dea96c5d15486d0f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006482e8fb42130b3cce53096bb035ebe79435e2d4a000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18a00000000000000000000000000000000000000000000000001dea96c5d15486d0f89b94a35923162c49cf95e6bf26623385eb431ad920d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008107fca5494375fc743a9fc4d4844353a1af3d94a000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18a000000000000000000000000000000000000000000001a431df79c77bc5559260f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18a00000000000000000000000008107fca5494375fc743a9fc4d4844353a1af3d94a00000000000000000000000000000000000000000000000001dea96c5d15486d0f9011c948107fca5494375fc743a9fc4d4844353a1af3d94f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564a000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18b8a0fffffffffffffffffffffffffffffffffffffffffffe5bce208638843aaa6da00000000000000000000000000000000000000000000000001dea96c5d15486d00000000000000000000000000000000000000000004462e40af331dabb4d4458000000000000000000000000000000000000000000005265d1bb74079ffe19b4fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffde7a1f8d99422f9dcf4647084d6c31b2765f6910cd85c178c18e1a0e59e71a14fe90157eedc866c4f8c767d3943d6b6b2e8cd64dddcc92ab4c55af8b8a000000000000000000000000000000012556e6973776170563300000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d30000000000000000000000000000000000000000000000001dea96c5d15486d000000000000000000000000000000000000000000001a431df79c77bc5559260f89b94a35923162c49cf95e6bf26623385eb431ad920d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18a0000000000000000000000000ad01c20d5886137e056775af56915de824c8fce5a000000000000000000000000000000000000000000000009fbdc34d81d22573a4f89b94a35923162c49cf95e6bf26623385eb431ad920d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18a00000000000000000000000006482e8fb42130b3cce53096bb035ebe79435e2d4a000000000000000000000000000000000000000000001a39221b679f9f3301ebcf8db94def1c0ded9bec7f1a1670819833240f027b25efff842a00f6672f78a59ba8e5e5b5d38df3ebc67f3c792e2c9259b8d97d7f00dd78ba1b3a00000000000000000000000006482e8fb42130b3cce53096bb035ebe79435e2d4b880000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d30000000000000000000000000000000000000000000000001dea96c5d15486d000000000000000000000000000000000000000000001a39221b679f9f3301ebcf89b94a35923162c49cf95e6bf26623385eb431ad920d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006482e8fb42130b3cce53096bb035ebe79435e2d4a00000000000000000000000005b93d80da1a359340d1f339fb574bdc56763f995a000000000000000000000000000000000000000000001a39221b679f9f3301ebcf89b94a35923162c49cf95e6bf26623385eb431ad920d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005b93d80da1a359340d1f339fb574bdc56763f995a00000000000000000000000000e1212b04daa889686d7e39361ae33d9afa8b79ba000000000000000000000000000000000000000000001a0ac0d4e7938ea8ae1bdf87994111111125421ca6dc452d289314280a0f8842a65e1a0fec331350fce78ba658e082a71da20ac9f8d798a99b3c79681c8440cbfe77e07b84072db37a8298abf3bac9867a855eaa88b8796898b0c3e0bf69c0e1ec8efbfbf300000000000000000000000000000000000000000000000000000000000000000","gas_used":333243}},{"traces":{"0xa69babef1ca67a37ffaf7a485dfff3382056e78c":{"balance":"0xeb977d021d359f695","code_usage":{"read":"0xfe6b10a47e6f02df629ebc024bfceb97211d1343a434a71e8421cfe73180ed18"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x3445feddb98b2062e71cf5687700481086ec4c4a3d1ebbd1e9d28b960f4e8c63","0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f"],"storage_written":{"0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f":"0x13741402778feb54404","0x3445feddb98b2062e71cf5687700481086ec4c4a3d1ebbd1e9d28b960f4e8c63":"0x13a1daa45968fbeb83"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d4a808a756df64c"},"0x7ded03c7351680efbd3f1884a39567eae94fc6b4":{"code_usage":{"read":"0x3b8bc482bad486f470b89ec23bb441688949b091fdd4b3742202a9b288f3b213"}},"0x92560c178ce069cc014138ed3c2f5221ba71f58a":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002","0x75f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d2","0x00000000000000000000000000000000000000000000000000000000000000b8","0x00000000000000000000000000000000000000000000000000000000000000b9"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0x57121aad9b357967819f9391ddb1be6ab","0x00000000000000000000000000000000000000000000000000000000000000b9":"0x1000006b500000000000113e91cc0262b3b1d91a00003cc921772026687daf3","0x0000000000000000000000000000000000000000000000000000000000000000":"0x10000b400b400b100bc88000000000000000b2b1fbbb82da4985ca24ab658"},"code_usage":{"read":"0x12d81aede43b8d6e8d48d49a29c59100e3f62d5a9e99a84ad5ea921528beeab2"}},"0x9aab3f81604c683a1a0d14019fbfe15bef7aa1ee":{"balance":"0x12a4d3e85c08165fb","nonce":"0x315ae"},"0xc18360217d8f7ab5e7c516566761ea12ce7f9d72":{"storage_read":["0x6e9e84ae7b8edc848e54262afc59a03baa298e039f2917f989989f0639ac12e4","0xb9b36a210e39ef973a87c236e5d8be1873d574b4519d4cbca95be767568a8371","0x8b35d4eaad422f218d805cfae496489a3ee6184776d0b93a6219d57a3647fce8","0x99713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15e"],"storage_written":{"0x99713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15e":"0x920cb443d53dfb3cf0","0x8b35d4eaad422f218d805cfae496489a3ee6184776d0b93a6219d57a3647fce8":"0xe797b14361081a64bf8"},"code_usage":{"read":"0xed7067989deb19367543d864eae1f93825c9f568a17e5e9762aeaf4715e68a6e"}}},"meta":{"byte_code":"0x02f903a401830315ad80850238bc7c8483038de894a69babef1ca67a37ffaf7a485dfff3382056e78c83c7a500b9014478e111f60000000000000000000000007ded03c7351680efbd3f1884a39567eae94fc6b4000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c42f1c6b5000000000000000000000000000000000000000000000000ab3f9b9d6dd068e24000000000000000000000000000000000000000000069c94b4d24fe080000000000000000000000000000000000000000000000b2b1fbbb83b02321591e6cce8000000000000000000000000000000000000000000000000001c65945cf01a7f000000000000000000000000000000000000000000000000000000006687daf3ff80000000000000000000000000000000000000000000000000000000010c7300000000000000000000000000000000000000000000000000000000f901eef8dd9492560c178ce069cc014138ed3c2f5221ba71f58af8c6a075f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d2a000000000000000000000000000000000000000000000000000000000000000b8a000000000000000000000000000000000000000000000000000000000000000b9a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a03445feddb98b2062e71cf5687700481086ec4c4a3d1ebbd1e9d28b960f4e8c63a075245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8fd6947ded03c7351680efbd3f1884a39567eae94fc6b4c0f89b94c18360217d8f7ab5e7c516566761ea12ce7f9d72f884a08b35d4eaad422f218d805cfae496489a3ee6184776d0b93a6219d57a3647fce8a099713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15ea06e9e84ae7b8edc848e54262afc59a03baa298e039f2917f989989f0639ac12e4a0b9b36a210e39ef973a87c236e5d8be1873d574b4519d4cbca95be767568a837101a0a88c3d4655167276a2f26f8d46d7d364865c3830950c7a9b31f635051e59882aa041350df4774743177bb8c575ebeedf2fcfd57aee9652d24f61ceb79ddbc4b547","new_txn_trie_node_byte":"0x02f903a401830315ad80850238bc7c8483038de894a69babef1ca67a37ffaf7a485dfff3382056e78c83c7a500b9014478e111f60000000000000000000000007ded03c7351680efbd3f1884a39567eae94fc6b4000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c42f1c6b5000000000000000000000000000000000000000000000000ab3f9b9d6dd068e24000000000000000000000000000000000000000000069c94b4d24fe080000000000000000000000000000000000000000000000b2b1fbbb83b02321591e6cce8000000000000000000000000000000000000000000000000001c65945cf01a7f000000000000000000000000000000000000000000000000000000006687daf3ff80000000000000000000000000000000000000000000000000000000010c7300000000000000000000000000000000000000000000000000000000f901eef8dd9492560c178ce069cc014138ed3c2f5221ba71f58af8c6a075f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d2a000000000000000000000000000000000000000000000000000000000000000b8a000000000000000000000000000000000000000000000000000000000000000b9a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a03445feddb98b2062e71cf5687700481086ec4c4a3d1ebbd1e9d28b960f4e8c63a075245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8fd6947ded03c7351680efbd3f1884a39567eae94fc6b4c0f89b94c18360217d8f7ab5e7c516566761ea12ce7f9d72f884a08b35d4eaad422f218d805cfae496489a3ee6184776d0b93a6219d57a3647fce8a099713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15ea06e9e84ae7b8edc848e54262afc59a03baa298e039f2917f989989f0639ac12e4a0b9b36a210e39ef973a87c236e5d8be1873d574b4519d4cbca95be767568a837101a0a88c3d4655167276a2f26f8d46d7d364865c3830950c7a9b31f635051e59882aa041350df4774743177bb8c575ebeedf2fcfd57aee9652d24f61ceb79ddbc4b547","new_receipt_trie_node_byte":"0xb9036802f903640183105c32b9010000000000000000000000000000000001000000000000000002000000000000000001400000000000000000000000000002000000080024000000000000000000000080000000000800000008000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000010000800000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000040000000000000002000000000000000000000000000000000000000000000000000000000001200000000010000000000000000000000000000000000000000000000000f90259f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000092560c178ce069cc014138ed3c2f5221ba71f58aa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca000000000000000000000000000000000000000000000000015ed24ac8f32b787f89b94c18360217d8f7ab5e7c516566761ea12ce7f9d72f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca000000000000000000000000092560c178ce069cc014138ed3c2f5221ba71f58aa000000000000000000000000000000000000000000000000ab3f9b9d6dd068e24f9011c9492560c178ce069cc014138ed3c2f5221ba71f58af863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78cb8a0ffffffffffffffffffffffffffffffffffffffffffffffffea12db5370cd487900000000000000000000000000000000000000000000000ab3f9b9d6dd068e24000000000000000000000000000000000000000b2b1fbbb82da4985ca24ab65800000000000000000000000000000000000000000000032d8569555a62eec53b000000000000000000000000000000000000000000000000000000000000bc88","gas_used":116484}},{"traces":{"0x846484c4cd32bdc8cd8e64a63b51219bdab4e1cc":{"code_usage":{"read":"0x5e1b75e3deb7be1aad17dca52be0a0076e2358b7fc2d51d59b1d9c075ac7f925"}},"0x431b5a84acc1297eda88259f300262f1bc3a74f3":{"balance":"0x12a4e55a0279a6659","nonce":"0x30ad2"},"0x60594a405d53811d3bc4766596efd80fd545a270":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000001","0x0d190fc5d3ec8c2cdab9f50db5100a3713fe91b91a02f95d6d19b71ca86e0166","0x0000000000000000000000000000000000000000000000000000000000000038","0x0000000000000000000000000000000000000000000000000000000000000039","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x10000b400b40031fec7fe000000000000000004b83809c9b85bd8d2a34eb4","0x0000000000000000000000000000000000000000000000000000000000000039":"0x100000000000000000004b9d2dc903908b2918fb7fff8feab1709966687daf3","0x0000000000000000000000000000000000000000000000000000000000000001":"0x14b1cfcf3f46dbb54785bde85cc374c04f"},"code_usage":{"read":"0xc546a2e65ed3df8cdb0f17e6ca6e4508f8a257c3d2f73d98e3c9092aa45a5086"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d4d6ccaf693836b"},"0x6b175474e89094c44da98b954eedeac495271d0f":{"storage_read":["0x35d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406a","0x995f3b129dd3291868ddb9cf202c75cd985227d50e309847fbab0f8da403b19c"],"storage_written":{"0x35d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406a":"0x64784567d1bc93cca5453","0x995f3b129dd3291868ddb9cf202c75cd985227d50e309847fbab0f8da403b19c":"0x1247aae40fc3a4b519eec"},"code_usage":{"read":"0x4e36f96ee1667a663dfaac57c4d185a0e369a3a217e0079d49620f34f85d1ac7"}},"0xa69babef1ca67a37ffaf7a485dfff3382056e78c":{"balance":"0xeb974e3e152f54576","code_usage":{"read":"0xfe6b10a47e6f02df629ebc024bfceb97211d1343a434a71e8421cfe73180ed18"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0xf762dfe765e313d39f5dd6e34e29a9ef0af51578e67f7f482bb4f8efd984976b","0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f"],"storage_written":{"0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f":"0x13764b6a47041236cf4","0xf762dfe765e313d39f5dd6e34e29a9ef0af51578e67f7f482bb4f8efd984976b":"0x3338ca80679c3e55b5"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}}},"meta":{"byte_code":"0x02f903620183030ad180850238bc7c848303618a94a69babef1ca67a37ffaf7a485dfff3382056e78c83c0dc00b9014478e111f6000000000000000000000000846484c4cd32bdc8cd8e64a63b51219bdab4e1cc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f4ff529500000000000000000000000000000000000000000000019786a7675f3b929b6600000000000000000000000000000000000000252770340105e2000000000000000000000000000000000000000000000000000004b83809c9b56eb59a50e0b90000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006687daf3ff8000000000000000000000000000000000000000000000000000000000fd7700000000000000000000000000000000000000000000000000000000f901acf8dd9460594a405d53811d3bc4766596efd80fd545a270f8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a00d190fc5d3ec8c2cdab9f50db5100a3713fe91b91a02f95d6d19b71ca86e0166a00000000000000000000000000000000000000000000000000000000000000038a00000000000000000000000000000000000000000000000000000000000000039f859946b175474e89094c44da98b954eedeac495271d0ff842a0995f3b129dd3291868ddb9cf202c75cd985227d50e309847fbab0f8da403b19ca035d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406ad694846484c4cd32bdc8cd8e64a63b51219bdab4e1ccc0f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0f762dfe765e313d39f5dd6e34e29a9ef0af51578e67f7f482bb4f8efd984976ba075245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f01a069706fddadbda296a315d2046f431ebd8c15aaa99c7fc2abe7a8c35d22090887a00a89e278b9ffbb5b6ca5c93783610eda3b793eecc2ae082a9b90f139f1751bae","new_txn_trie_node_byte":"0x02f903620183030ad180850238bc7c848303618a94a69babef1ca67a37ffaf7a485dfff3382056e78c83c0dc00b9014478e111f6000000000000000000000000846484c4cd32bdc8cd8e64a63b51219bdab4e1cc000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f4ff529500000000000000000000000000000000000000000000019786a7675f3b929b6600000000000000000000000000000000000000252770340105e2000000000000000000000000000000000000000000000000000004b83809c9b56eb59a50e0b90000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006687daf3ff8000000000000000000000000000000000000000000000000000000000fd7700000000000000000000000000000000000000000000000000000000f901acf8dd9460594a405d53811d3bc4766596efd80fd545a270f8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a00d190fc5d3ec8c2cdab9f50db5100a3713fe91b91a02f95d6d19b71ca86e0166a00000000000000000000000000000000000000000000000000000000000000038a00000000000000000000000000000000000000000000000000000000000000039f859946b175474e89094c44da98b954eedeac495271d0ff842a0995f3b129dd3291868ddb9cf202c75cd985227d50e309847fbab0f8da403b19ca035d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406ad694846484c4cd32bdc8cd8e64a63b51219bdab4e1ccc0f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0f762dfe765e313d39f5dd6e34e29a9ef0af51578e67f7f482bb4f8efd984976ba075245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f01a069706fddadbda296a315d2046f431ebd8c15aaa99c7fc2abe7a8c35d22090887a00a89e278b9ffbb5b6ca5c93783610eda3b793eecc2ae082a9b90f139f1751bae","new_receipt_trie_node_byte":"0xb9036802f903640183120d00b9010000000000000000000000000020000001000000000000000000000040000000000000000000000000000000000000000002000000080020000000000000000000000080000000000800000008000000000000000000000000000000000000000010000000000000000000080000002000000000000000002000000010000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000002000000020000000000000000000002000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000f90259f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000060594a405d53811d3bc4766596efd80fd545a270a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca000000000000000000000000000000000000000000000000023767cf7426e28f0f89b946b175474e89094c44da98b954eedeac495271d0ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca000000000000000000000000060594a405d53811d3bc4766596efd80fd545a270a000000000000000000000000000000000000000000000019786a7675f3b929b66f9011c9460594a405d53811d3bc4766596efd80fd545a270f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78cb8a000000000000000000000000000000000000000000000019786a7675f3b929b66ffffffffffffffffffffffffffffffffffffffffffffffffdc898308bd91d710000000000000000000000000000000000000000004b83809c9b85bd8d2a34eb40000000000000000000000000000000000000000000030406567a10dbee3d2a6fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec7fe","gas_used":110798}},{"traces":{"0x3593d125a4f7849a1b059e64f4517a86dd60c95d":{"storage_read":["0xe6073e0758acab78dde6d02743b785e367643d6707ff869d9bd69ec0ea178f3a","0xf9a90a7d0ca6b6ad4ee2ecde222fadaf51aaff0fd4db14fe7ceed7633db96c47"],"storage_written":{"0xe6073e0758acab78dde6d02743b785e367643d6707ff869d9bd69ec0ea178f3a":"0x1cb5702440123c2419169","0xf9a90a7d0ca6b6ad4ee2ecde222fadaf51aaff0fd4db14fe7ceed7633db96c47":"0x185ce7618ac7dc01596"},"code_usage":{"read":"0xc9fd99ac640a13b7b5706b06142204afc8a3720d0c02885d8027241e0bd206a8"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0xcef822a0de865536fc7da14b08972173e69e1407da9c8c4416130dc5a59a8197","0x83527c15285f1e8105844570f1e2cee4351409b3e49ba843f6d6c999a35e304b"],"storage_written":{"0x83527c15285f1e8105844570f1e2cee4351409b3e49ba843f6d6c999a35e304b":"0x1eff38f5540924f2f8","0xcef822a0de865536fc7da14b08972173e69e1407da9c8c4416130dc5a59a8197":"0x1d9303ce39e7bff3f5"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x93793bd1f3e35a0efd098c30e486a860a0ef7551":{"balance":"0xc0da408b3050232f","nonce":"0x1fae9"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d500fb5887cc02f"},"0xe46935ae80e05cdebd4a4008b6ccaa36d2845370":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x000000000000000000000000000000000000000000000000000000000000000a":"0x383a0f15d01c2ef90dcb4e0f925da062d498f62","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf300000000001eff38f5540924f2f800000001cb5702440123c2419169","0x0000000000000000000000000000000000000000000000000000000000000009":"0x1b4e3f3664ff6a85eb248d3c6b5bf7d7"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x68d3a973e7272eb388022a5c6518d9b2a2e66fbf":{"balance":"0xa4812b287c","storage_read":["0x5f5a09b54e538f9aa6a9bd36e4e1a5370b6d3b889be76cfa9f33bf6e1d909fe7","0x83527c15285f1e8105844570f1e2cee4351409b3e49ba843f6d6c999a35e304b"],"code_usage":{"read":"0xd7d3a0dadc3c2b1c0b0ff149ba0ff8c6c2b7b597eeb8cc766ada3005eac903e3"}}},"meta":{"byte_code":"0x02f90119018301fae88501cfc598d485034aedebd783061a809468d3a973e7272eb388022a5c6518d9b2a2e66fbf840134d6b4b8a400000069000000000000000000000000e46935ae80e05cdebd4a4008b6ccaa36d284537000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000ddeadde0eef07bd0000000000000000000000000000000000000000000000cd470b967377a91762000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2c001a0ea465b42e3cd30558a1d74e1851e8af8979ee29227a4678d1bfd0ff3f47ede6aa0646069f3fd9fa4705db2568ab247dca0b907c297a87be74fea2607ee9d42765d","new_txn_trie_node_byte":"0x02f90119018301fae88501cfc598d485034aedebd783061a809468d3a973e7272eb388022a5c6518d9b2a2e66fbf840134d6b4b8a400000069000000000000000000000000e46935ae80e05cdebd4a4008b6ccaa36d284537000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000ddeadde0eef07bd0000000000000000000000000000000000000000000000cd470b967377a91762000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2c001a0ea465b42e3cd30558a1d74e1851e8af8979ee29227a4678d1bfd0ff3f47ede6aa0646069f3fd9fa4705db2568ab247dca0b907c297a87be74fea2607ee9d42765d","new_receipt_trie_node_byte":"0xb903c202f903be018313818db9010000200000000000000008000080000000000000000000000000000000000100000000000000000000000000000000000002000200080000000000000000000000000004000000000000000008000000200000000000000000000000004000000000000000000000000000000000000004000000000000000000000010000200000000000000000000080000000000000000000000000000080000004000000000000000000000000000000000000000000000000000000000000000000000000000000002000004000000000002000000000000000000001000000000000000000000200000000000000000000000000000008000000080000000000000000000f902b3f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000068d3a973e7272eb388022a5c6518d9b2a2e66fbfa0000000000000000000000000e46935ae80e05cdebd4a4008b6ccaa36d2845370a00000000000000000000000000000000000000000000000000ddeadde0eef07bdf89b943593d125a4f7849a1b059e64f4517a86dd60c95df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e46935ae80e05cdebd4a4008b6ccaa36d2845370a000000000000000000000000068d3a973e7272eb388022a5c6518d9b2a2e66fbfa00000000000000000000000000000000000000000000000cd470b967377a91762f87994e46935ae80e05cdebd4a4008b6ccaa36d2845370e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000001cb5702440123c241916900000000000000000000000000000000000000000000001eff38f5540924f2f8f8fc94e46935ae80e05cdebd4a4008b6ccaa36d2845370f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000068d3a973e7272eb388022a5c6518d9b2a2e66fbfa000000000000000000000000068d3a973e7272eb388022a5c6518d9b2a2e66fbfb88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddeadde0eef07bd0000000000000000000000000000000000000000000000cd470b967377a917620000000000000000000000000000000000000000000000000000000000000000","gas_used":95373}},{"traces":{"0x1111111254eeb25477b68fb85ed929f73a960582":{"code_usage":{"read":"0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e"}},"0x555ce236c0220695b68341bc48c68d52210cc35b":{"balance":"0x771d5ba7e35932356","nonce":"0x13177"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243943db7361ac42c4dce","storage_read":["0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a","0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7"],"storage_written":{"0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a":"0x6865670eb2f84b4e1a3","0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7":"0x1"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xe67534a9f24cc000f467eaa17f920bf63b87a2cd":{"code_usage":{"read":"0x0ad52aa045458d034e10b73045de66ac675d24bae3d4c2763ee0cd50d067d88c"}},"0x33b72f60f2ceb7bdb64873ac10015a35bed81717":{"code_usage":{"read":"0x1fb0841b24573c1a9f4091471d49131c79d2aae0d127c265836124dcc0a3db1f"}},"0x663dc15d3c1ac63ff12e45ab68fea3f0a883c251":{"storage_read":["0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0xcd42f7cfea4a1fa33b3d0afadef76575855644c7d27312e535ac5e13da0e1a81","0x85666f94a26173b9c3e389a3740c029d5e88a5af5fa6b800fbeb55b3ff0317b9"],"code_usage":{"read":"0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986"}},"0x21f2e5c36ff0c5aec769828031510dd11ab87e49":{"balance":"0xb277fb9cc842e8ed"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5173277957002f"},"0xe7351fd770a37282b91d153ee690b63579d6dd7f":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x198f7ef6d6d43e54752f028e2d7aaa072a7459cdfd424ab1687034e8d1d276de","0x198f7ef6d6d43e54752f028e2d7aaa072a7459cdfd424ab1687034e8d1d276df","0x00000000000000000000000000000000000000000000000000000000000000cb","0x0000000000000000000000000000000000000000000000000000000000000097","0xd67dbe942968b0f2f1d1c34a5104c66eeb77ac74e80cd1daa654775fbb59205d","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103"],"storage_written":{"0x198f7ef6d6d43e54752f028e2d7aaa072a7459cdfd424ab1687034e8d1d276de":"0x555ce236c0220695b68341bc48c68d52210cc35b01","0x00000000000000000000000000000000000000000000000000000000000000cb":"0x1","0x198f7ef6d6d43e54752f028e2d7aaa072a7459cdfd424ab1687034e8d1d276df":"0x736f6c"},"code_usage":{"read":"0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x5b60a69638bcb2dd73cec9b8e9eea3257269241aa3171fc39b72bec82367040e","0x0000000000000000000000000000000000000000000000000000000000000001","0x5918522d81a707d247543fa58a114c8631bbc4b976e099438ead7e1df9c55182","0x43cb05957f9185d0b7cbe5f806b641971b2b7b2225fca1f7edfcc6d8ae5c5b59","0xd3c7bccbcb9a38b179e4ff6c239fc7b692bc0144074f5c8371ef03ace723161f","0x1f1a80db9a82d9fd4ea3322b7d2dcad52fb678229d487c4bb44e821a2544709f","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff"],"storage_written":{"0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff":"0x334f772e9dae","0x5918522d81a707d247543fa58a114c8631bbc4b976e099438ead7e1df9c55182":"0xaffb74ad68","0x43cb05957f9185d0b7cbe5f806b641971b2b7b2225fca1f7edfcc6d8ae5c5b59":"0xffffffffffffffffffffffffffffffffffffffffffffffffffff7b36d2863e30","0x5b60a69638bcb2dd73cec9b8e9eea3257269241aa3171fc39b72bec82367040e":"0x228ff37","0xd3c7bccbcb9a38b179e4ff6c239fc7b692bc0144074f5c8371ef03ace723161f":"0xffffffffffffffffffffffffffffffffffffffffffffffffffff6992325dda36"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640":{"storage_read":["0x81f1b82d186a78ab92910cfb0ccd812594aba9ffa2b453caac4704d0cc3eb47d","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001","0xad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3","0x0000000000000000000000000000000000000000000000000000000000000002","0x81f1b82d186a78ab92910cfb0ccd812594aba9ffa2b453caac4704d0cc3eb47e","0x81f1b82d186a78ab92910cfb0ccd812594aba9ffa2b453caac4704d0cc3eb47f","0x81f1b82d186a78ab92910cfb0ccd812594aba9ffa2b453caac4704d0cc3eb480","0x0000000000000000000000000000000000000000000000000000000000000004","0x000000000000000000000000000000000000000000000000000000000000026a"],"storage_written":{"0x81f1b82d186a78ab92910cfb0ccd812594aba9ffa2b453caac4704d0cc3eb480":"0x100000ce40000000000000000000032b02cfe8184dbdd66bf00000026a68310","0x0000000000000000000000000000000000000000000000000000000000000004":"0x27002b33c8b905a1","0x0000000000000000000000000000000000000000000000000000000000000001":"0x934b9a3825b59482a56c5a851258","0x81f1b82d186a78ab92910cfb0ccd812594aba9ffa2b453caac4704d0cc3eb47f":"0x29119527cb802fbf33cf88a0bc9d37b0","0x0000000000000000000000000000000000000000000000000000000000000000":"0x10002d302d3026202ff5f0000000000004800f951612936893157d4b36515","0x81f1b82d186a78ab92910cfb0ccd812594aba9ffa2b453caac4704d0cc3eb47e":"0x26f20e3376fbd3f832c050b16"},"code_usage":{"read":"0xa981b66c747a3d9fa29d7e200d5faaa2826960523d0e5a0df8148e8868c480b4"}}},"meta":{"byte_code":"0x02f9079501830131768447868c0085024da1782b8305d6cb94663dc15d3c1ac63ff12e45ab68fea3f0a883c25180b90724c7a76969000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000005c4f5e97700000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000e7351fd770a37282b91d153ee690b63579d6dd7f0000000000000000000000000000000000000000000000000000000000000280752259507f7717b5cca3855e010396d0e4d999bbcd31474546b12cc953f88eb800000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111254eeb25477b68fb85ed929f73a96058200000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074640cdfccb3f375000000000000000000000000555ce236c0220695b68341bc48c68d52210cc35b00000000000000000000000000000000000000000000000000000000000000a8e449022e00000000000000000000000000000000000000000000000000000005c4f5e97700000000000000000000000000000000000000000000000073c9a5b394fdbdf50000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000120000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640fef84ee90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000464c358547e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000074640cdfccb3f375752259507f7717b5cca3855e010396d0e4d999bbcd31474546b12cc953f88eb80000000000000000000000000000000000000000000000000000000000000440000000000000000000000000555ce236c0220695b68341bc48c68d52210cc35b0000000000000000000000000000000000000000000000000000019082aebc5900000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000736f6c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005c5eafeab0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000074640cdfccb3f375000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000201d2c6b5d62d5c1dc5856ec50aa9c186adb420903c33cd30316da7aeb52c99b7b0000000000000000000000000000000000000000000000000000000000000020c6fa7af3bedbad3a3d65f36aabc97431b1bbe4c2d2f6e0e47ca60203452f5d6100000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001421f2e5c36ff0c5aec769828031510dd11ab87e4900000000000000000000000000000000000000000000000000000000000000000000000000000000000000201d2c6b5d62d5c1dc5856ec50aa9c186adb420903c33cd30316da7aeb52c99b7b000000000000000000000000000000000000000000000000000000000000001421f2e5c36ff0c5aec769828031510dd11ab87e49000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0ec4c5701ae13a6459e7ad157e3e6a4a3a64356b37538d90bc8522ea0020d6308a00aadeb0c341a61c343896d296be5a257c39dbf737b967b14944bbd32e4d3d569","new_txn_trie_node_byte":"0x02f9079501830131768447868c0085024da1782b8305d6cb94663dc15d3c1ac63ff12e45ab68fea3f0a883c25180b90724c7a76969000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000005c4f5e97700000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000e7351fd770a37282b91d153ee690b63579d6dd7f0000000000000000000000000000000000000000000000000000000000000280752259507f7717b5cca3855e010396d0e4d999bbcd31474546b12cc953f88eb800000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111254eeb25477b68fb85ed929f73a96058200000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074640cdfccb3f375000000000000000000000000555ce236c0220695b68341bc48c68d52210cc35b00000000000000000000000000000000000000000000000000000000000000a8e449022e00000000000000000000000000000000000000000000000000000005c4f5e97700000000000000000000000000000000000000000000000073c9a5b394fdbdf50000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000120000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640fef84ee90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000464c358547e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000074640cdfccb3f375752259507f7717b5cca3855e010396d0e4d999bbcd31474546b12cc953f88eb80000000000000000000000000000000000000000000000000000000000000440000000000000000000000000555ce236c0220695b68341bc48c68d52210cc35b0000000000000000000000000000000000000000000000000000019082aebc5900000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000736f6c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005c5eafeab0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000074640cdfccb3f375000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000201d2c6b5d62d5c1dc5856ec50aa9c186adb420903c33cd30316da7aeb52c99b7b0000000000000000000000000000000000000000000000000000000000000020c6fa7af3bedbad3a3d65f36aabc97431b1bbe4c2d2f6e0e47ca60203452f5d6100000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001421f2e5c36ff0c5aec769828031510dd11ab87e4900000000000000000000000000000000000000000000000000000000000000000000000000000000000000201d2c6b5d62d5c1dc5856ec50aa9c186adb420903c33cd30316da7aeb52c99b7b000000000000000000000000000000000000000000000000000000000000001421f2e5c36ff0c5aec769828031510dd11ab87e49000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0ec4c5701ae13a6459e7ad157e3e6a4a3a64356b37538d90bc8522ea0020d6308a00aadeb0c341a61c343896d296be5a257c39dbf737b967b14944bbd32e4d3d569","new_receipt_trie_node_byte":"0xb90a5402f90a5001831879bdb9010000000000010000040000001000000000000000000000000000000000040000000000000000000000000008100008000082000000080024100000000000000000000000000000180808000008000000000000108000400000000000000000000000002000000000000000000000000000000000000000040000000010000800000000000000000000000000000000004000000000010000000000000000000000000001000000200000000000000084000000000000000000006000000008001000000002000000000000000000000000000004000000008000040002000000000000200000000000000410040040000000000000000000000000000000000000f90945f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000555ce236c0220695b68341bc48c68d52210cc35ba0000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c251a000000000000000000000000000000000000000000000000000000005c4f5e977f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000000074cd8233651285cff89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c251a000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a000000000000000000000000000000000000000000000000000000005c4f5e977f9011c9488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582b8a000000000000000000000000000000000000000000000000000000005c4f5e977ffffffffffffffffffffffffffffffffffffffffffffffff8b327dcc9aed7a310000000000000000000000000000000000004800f951612936893157d4b3651500000000000000000000000000000000000000000000000027002b33c8b905a1000000000000000000000000000000000000000000000000000000000002ff5ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000000074cd8233651285cff8d994663dc15d3c1ac63ff12e45ab68fea3f0a883c251e1a0dde2f3711ab09cdddcfee16ca03e54d21fb8cf3fa647b9797913c950d38ad693b8a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000005c4f5e977000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000074cd8233651285cff89994663dc15d3c1ac63ff12e45ab68fea3f0a883c251e1a0149635d19f798f6b7c74c74a500d362c89316a0ab808abe5e0c0de45da9b1d2cb860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000697553985e925a000000000000000000000000555ce236c0220695b68341bc48c68d52210cc35bf9045a94e7351fd770a37282b91d153ee690b63579d6dd7fe1a0d281ee92bab1446041582480d2c0a9dc91f855386bb27ea295faac1e992f7fe4b904200000000000000000000000000000000000000000000000000000000000000080752259507f7717b5cca3855e010396d0e4d999bbcd31474546b12cc953f88eb8000000000000000000000000663dc15d3c1ac63ff12e45ab68fea3f0a883c251000000000000000000000000555ce236c0220695b68341bc48c68d52210cc35b0000000000000000000000000000000000000000000000000000019082aebc5900000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000736f6c000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000005c5eafeab0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000074640cdfccb3f375000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000000000000000000201d2c6b5d62d5c1dc5856ec50aa9c186adb420903c33cd30316da7aeb52c99b7b0000000000000000000000000000000000000000000000000000000000000020c6fa7af3bedbad3a3d65f36aabc97431b1bbe4c2d2f6e0e47ca60203452f5d6100000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001421f2e5c36ff0c5aec769828031510dd11ab87e4900000000000000000000000000000000000000000000000000000000000000000000000000000000000000201d2c6b5d62d5c1dc5856ec50aa9c186adb420903c33cd30316da7aeb52c99b7b000000000000000000000000000000000000000000000000000000000000001421f2e5c36ff0c5aec769828031510dd11ab87e49000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","gas_used":325680}},{"traces":{"0x7f86bf177dd4f3494b841a37e810a34dd56c829b":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000003","0x000000000000000000000000000000000000000000000000000000000000000e","0x000000000000000000000000000000000000000000000000000000000000000b","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000012","0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000019","0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000011","0x0000000000000000000000000000000000000000000000000000000000000006","0x000000000000000000000000000000000000000000000000000000000000000c","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000014","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000009"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000b":"0x9500e494f16","0x000000000000000000000000000000000000000000000000000000000000000e":"0x1950b0f77c02d37b60cfa6","0x0000000000000000000000000000000000000000000000000000000000000004":"0x9f22ba837ad13aeb050000000000000bb1ff7c813f64990a7c","0x0000000000000000000000000000000000000000000000000000000000000011":"0xdfda8acbde6321c","0x000000000000000000000000000000000000000000000000000000000000000c":"0x44ef06fb0","0x0000000000000000000000000000000000000000000000000000000000000005":"0x9f6eff8025f6acfc450000000000000bb352092649282f99c3","0x000000000000000000000000000000000000000000000000000000000000000f":"0xe1a2fa18b076af9","0x0000000000000000000000000000000000000000000000000000000000000006":"0x6687daf3","0x0000000000000000000000000000000000000000000000000000000000000000":"0x3","0x0000000000000000000000000000000000000000000000000000000000000003":"0x9f1b5083be552841130000000000000bb1ef39fb026d2c0fa1"},"code_usage":{"read":"0xffceb70c60b48d7d02df8305161e44ec2454c1bc23fabc528e9a9ec71e4e7806"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x5675f7f1194ee76a0caf981d71633b7c2799dcbafe4cdd4c246e301c8ec956b5","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0x3020d5b81a0bc3491f3cd5a8b8d1aaf1d036711f40535eff8ee52db3c2d1f538","0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3"],"storage_written":{"0x3020d5b81a0bc3491f3cd5a8b8d1aaf1d036711f40535eff8ee52db3c2d1f538":"0x9500e494f16","0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3":"0xaf02fff0eba","0x5675f7f1194ee76a0caf981d71633b7c2799dcbafe4cdd4c246e301c8ec956b5":"0x0"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xa69babef1ca67a37ffaf7a485dfff3382056e78c":{"balance":"0xeb9739815b573eb53","code_usage":{"read":"0xfe6b10a47e6f02df629ebc024bfceb97211d1343a434a71e8421cfe73180ed18"}},"0x0aa1a9ecdfd4cbe8b0c0a4f5f9b461f263c76208":{"code_usage":{"read":"0x612dd51e0fae12c9238f59e8880c61cea11b9dcf12b99bf58500c3747861ed05"}},"0xcbff3004a20dbfe2731543aa38599a526e0fd6ee":{"code_usage":{"read":"0x4031de700c2e5e41189dffb62c430bcaea2493c7ca522721634c3747647bea97"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d52bef3178a3852"},"0x43e4715ae093a4c86b5ecddb52216c4f879e9672":{"balance":"0x12a4b65e249365080","nonce":"0x369d7"},"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599":{"storage_read":["0x99713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15e","0x0000000000000000000000000000000000000000000000000000000000000005","0x5935c736e23ad4d6e6e460e0dc6b8b0aca699e3bf1f0848d0d58b0422b498124"],"storage_written":{"0x5935c736e23ad4d6e6e460e0dc6b8b0aca699e3bf1f0848d0d58b0422b498124":"0x44ef06fb0","0x99713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15e":"0x5136a008b"},"code_usage":{"read":"0x131ff5c755b710d543ea70fede2eb38e5d15b1456df0ae932ba12e2786f7e5df"}}},"meta":{"byte_code":"0x02f9021401830369d680850238bc7c848307222094a69babef1ca67a37ffaf7a485dfff3382056e78c83b1de00b901a478e111f60000000000000000000000000aa1a9ecdfd4cbe8b0c0a4f5f9b461f263c76208000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001245d0224020000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829b000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000253c6cf2b000000000000000000000000000000000000000000017ef6f16943f0b000000000000000000000000000000000000000000000000119109d8fe2f31000000000000000000000000000000000000000000000000000000000000000006687daf3000000000000000000000000000000000000000000000000000000000113d485ff0001000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000c001a00b6555a98846a504b678b653d9c7264dc60068b207fcad947b86cf2e7aba4320a0221ca54e34d5ad3e194379e9d9be0360e9063b90d0314e0bf77c4bb8f47d2807","new_txn_trie_node_byte":"0x02f9021401830369d680850238bc7c848307222094a69babef1ca67a37ffaf7a485dfff3382056e78c83b1de00b901a478e111f60000000000000000000000000aa1a9ecdfd4cbe8b0c0a4f5f9b461f263c76208000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001245d0224020000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829b000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5990000000000000000000000000000000000000000000000000000000253c6cf2b000000000000000000000000000000000000000000017ef6f16943f0b000000000000000000000000000000000000000000000000119109d8fe2f31000000000000000000000000000000000000000000000000000000000000000006687daf3000000000000000000000000000000000000000000000000000000000113d485ff0001000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000c001a00b6555a98846a504b678b653d9c7264dc60068b207fcad947b86cf2e7aba4320a0221ca54e34d5ad3e194379e9d9be0360e9063b90d0314e0bf77c4bb8f47d2807","new_receipt_trie_node_byte":"0xb9040402f9040001831bb231b9010000000000000000000000000000000001000000000000000000000000000000000000000000000000000040000000000000000100000000000000000000200000000080000000000008000008000000000000002000000000001000000000000000000000000000000000000000002000020000000000000000000010000000000000000000000000000040000000000000010004010000000000000000000000030000000000201000000000000000000000000000000000000000000000000000000002000000000000020000000000000000000000000000000000000000000010000000000000000000000000000000200000000000000000000000000000f902f5f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca00000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829ba00000000000000000000000000000000000000000000000000000000253c6cf2bf89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca00000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829ba00000000000000000000000000000000000000000000000000000000253c6cf2bf89b942260fac5e5542a773aa44fbcfedf7c193bc2c599f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829ba0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000000000000000000000000000000000000113fbddf9011b947f86bf177dd4f3494b841a37e810a34dd56c829bf842a0143f1f8e861fbdeddd5b46e844b7d3ac7b86a122f36e8c463859ee6811b1f29ca0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78cb8c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000253c6cf2b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000113fbdd0000000000000000000000000000000000000000000000000000000000001ec7000000000000009f1b5083be552841130000000000000bb1ef39fb026d2c0fa1","gas_used":211060}},{"traces":{"0xa0ef786bf476fe0810408caba05e536ac800ff86":{"storage_written":{"0xa4a3bce615585c08610312eca312668a5499f896ba32faa4304570f1c50c26c8":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xdeda5fa422d4ba17192985bf24ad2d3572b4d30d3c8180145b925b3d1a70c02a"}},"0x01ebdb64e1b470a9d874b63f229451a9b9195540":{"balance":"0x923edf1f517de1c","nonce":"0x6a"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d52e951f9226843"}},"meta":{"byte_code":"0x02f8af0169843b9aca03850227dddc4582b77a94a0ef786bf476fe0810408caba05e536ac800ff8680b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a01d2afcdb28d605b9b4102d3952092908509a9ee820e452f18482952713b9eda49f3fe32fbbf49d04f8968c6523de13524d5d7d239006de6698778c628bb4d7c0","new_txn_trie_node_byte":"0x02f8af0169843b9aca03850227dddc4582b77a94a0ef786bf476fe0810408caba05e536ac800ff8680b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a01d2afcdb28d605b9b4102d3952092908509a9ee820e452f18482952713b9eda49f3fe32fbbf49d04f8968c6523de13524d5d7d239006de6698778c628bb4d7c0","new_receipt_trie_node_byte":"0xb901ab02f901a701831c682cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000080000000000000200000000000000000000000000000000000000000000000000000000000000000000000000002000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000020000008000000002000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000100000000f89df89b94a0ef786bf476fe0810408caba05e536ac800ff86f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000001ebdb64e1b470a9d874b63f229451a9b9195540a0000000000000000000000000881d40237659c251811cec9c364ef91dc08d300ca0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46587}},{"traces":{"0x0000000000000000000000000000000000000001":{},"0x7cdf68ce9a05413cbb76cb7f80eaf415a826e313":{"code_usage":{"read":"0xa873be03126d64946ef888d2b014036c8271d0d781aec7f91ab85a56f6e1e44c"}},"0x1111111254eeb25477b68fb85ed929f73a960582":{"code_usage":{"read":"0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e"}},"0x881d40237659c251811cec9c364ef91dc08d300c":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x684fdb4b219d1c63474e6c8e4dc8c2611de744d4aaa2b78c4ec411ebb6ba9756","0x684fdb4b219d1c63474e6c8e4dc8c2611de744d4aaa2b78c4ec411ebb6ba9757","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xcc34a85a74e46f422c2b06b16156799b7c313a71390b4465cbc463bd99d76764"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d53cdac28f88e8f"},"0x01ebdb64e1b470a9d874b63f229451a9b9195540":{"balance":"0x91d5cff1c9aad84","nonce":"0x6b"},"0x111111125421ca6dc452d289314280a0f8842a65":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003","0x790cee4fd082100cf76f8a577f19844775b593101933c8da499823603e5ad1a9"],"storage_written":{"0x790cee4fd082100cf76f8a577f19844775b593101933c8da499823603e5ad1a9":"0x204a180441400003006013240244104501200221210ca800400000140180"},"code_usage":{"read":"0xa5a286be4b80006cc547d7e899871aa01a0e0551e2a509233375405f92098c2f"}},"0x74de5d4fcbf63e00296fd95d33236b9794016631":{"code_usage":{"read":"0x34285df013b925b34c7744f619f6ed193cbb11e1e08b0013af1dd0511a3e6f6e"}},"0xfbeedcfe378866dab6abbafd8b2986f5c1768737":{"storage_read":["0xe7b6ad72afe04fa9dbdd6577314dab61ca4586ed72f8297bca023293152c8146"],"code_usage":{"read":"0xe4655f85874e38780979963e8a05a76c8054ccbfe833ab3a3022b821470f5fdb"}},"0xa0ef786bf476fe0810408caba05e536ac800ff86":{"storage_read":["0x75bfc36bfa90cdd40f14b94ce404dabb9f11d6876f7e15d94f0eb3e432185442","0xa4a3bce615585c08610312eca312668a5499f896ba32faa4304570f1c50c26c8","0xf9c40ac9942dac8821eacddd469b908c37bff8605df05b6b1e397b5f01fe0f41","0x052e713d101c7dfed5314e4b3b8ecf07e42b12c3bf502e120438fddbb4b372bd","0xc37f6b5afe3dd6af967feffcb4afc675f2412e7b5a47c9f79eb8891e9bab8ec9","0xf2b7cb3aeb57c76a2fd1682687159c9e36d2b447c66212a18e665c2e3c22b554","0xe111b92a1c690f0b61cb9b36d6f5b56dda05cbafc3930f8b65b4003a9a312541"],"storage_written":{"0x75bfc36bfa90cdd40f14b94ce404dabb9f11d6876f7e15d94f0eb3e432185442":"0x0","0xc37f6b5afe3dd6af967feffcb4afc675f2412e7b5a47c9f79eb8891e9bab8ec9":"0xac9635c650e3fe463f6db","0x052e713d101c7dfed5314e4b3b8ecf07e42b12c3bf502e120438fddbb4b372bd":"0x1","0xa4a3bce615585c08610312eca312668a5499f896ba32faa4304570f1c50c26c8":"0xfffffffffffffffffffffffffffffffffffffffffffefef70bd9079f9d072918","0xe111b92a1c690f0b61cb9b36d6f5b56dda05cbafc3930f8b65b4003a9a312541":"0x0","0xf2b7cb3aeb57c76a2fd1682687159c9e36d2b447c66212a18e665c2e3c22b554":"0x0","0xf9c40ac9942dac8821eacddd469b908c37bff8605df05b6b1e397b5f01fe0f41":"0xfffffffffffffffffffffffffffffffffffffffffe3387b88b279ad58e7af461"},"code_usage":{"read":"0xdeda5fa422d4ba17192985bf24ad2d3572b4d30d3c8180145b925b3d1a70c02a"}},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004","0xf15a32807737fa4aa9e09f11e3fea54a78536265fea6d752494f9359f9c8a3a6","0x9e5cad666d50ad39668479fd3ad8d84f48a17b1e831e9e3a19597ff23db397f3","0x80fa8e3dbb7413d189b4c26839ea6b4078c9caffe400d2e49e3aa73482e5f3c7","0x7c084f6f66f1854b5ac1915798e31bad160857bb415bd586c5b093ebc7437f78","0xd90df89adf4af9ef50e7dc588e78158379d6c2506c43abd84e7aea17714300d3","0x90cb98f7e5cabd8e3b7d19b098ec4cf517ea867361306c44ef70fe0574c9ecd9","0x0000000000000000000000000000000000000000000000000000000000000003","0x7a01f545184ee744d0333784f14c92b860f1c0c4231d18183d2bef8b1b15b03a","0x6b644c172c30d411d96b10976dc92c5e2437d3c49288aaecc8b12ff001f316a1","0x0000000000000000000000000000000000000000000000000000000000000000","0x6b920524f3b7d8da2db7e8993fede4c9bacfbdd30b57cbb4e25ad8f163e13305","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x6b644c172c30d411d96b10976dc92c5e2437d3c49288aaecc8b12ff001f316a1":"0x0","0x9e5cad666d50ad39668479fd3ad8d84f48a17b1e831e9e3a19597ff23db397f3":"0x1","0x7c084f6f66f1854b5ac1915798e31bad160857bb415bd586c5b093ebc7437f78":"0x0","0x90cb98f7e5cabd8e3b7d19b098ec4cf517ea867361306c44ef70fe0574c9ecd9":"0x33017a84638","0xf15a32807737fa4aa9e09f11e3fea54a78536265fea6d752494f9359f9c8a3a6":"0x395808c80e","0x7a01f545184ee744d0333784f14c92b860f1c0c4231d18183d2bef8b1b15b03a":"0xdb763131"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0xdbb4aec6a2c6d335c74c0b2b0f7b2612f3b95f6b":{"code_usage":{"read":"0x064536ae3767949800b6e903ade44fe535b4cd371f0400a243ff9cf4c80c3446"}},"0xe37e799d5077682fa0a244d46e5649f71457bd09":{"code_usage":{"read":"0xd471a60f6c7d3be7f423430564405669d08ee2006e9ae4203a9aac81e8474402"}}},"meta":{"byte_code":"0x02f906b4016a843b9aca03850227dddc45830531cf94881d40237659c251811cec9c364ef91dc08d300c80b906465f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000a0ef786bf476fe0810408caba05e536ac800ff86000000000000000000000000000000000000000000010108f426f86062f8d6e700000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136f6e65496e6368563546656544796e616d6963000000000000000000000000000000000000000000000000000000000000000000000000000000000000000560000000000000000000000000a0ef786bf476fe0810408caba05e536ac800ff86000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000010108f426f86062f8d6e700000000000000000000000000000000000000000000000000000000c8d6a66d00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000001cf1c920000000000000000000000002acf35c9a3f4c5c3f4c78ef5fb64c3ee82f07c450000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000042812aa3caf000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000a0ef786bf476fe0810408caba05e536ac800ff86000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd0900000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631000000000000000000000000000000000000000000010108f426f86062f8d6e700000000000000000000000000000000000000000000000000000000ca9c7fdd0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028e0000000000000000000000000000000000000000000000000000000002705120111111125421ca6dc452d289314280a0f8842a65a0ef786bf476fe0810408caba05e536ac800ff86012456a7586800000000000000000000000000000000000000000ba4808d3011884fb9d9e088000000000000000000000000fbeedcfe378866dab6abbafd8b2986f5c17687370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0ef786bf476fe0810408caba05e536ac800ff8600000000000000000000000000000000000000000000000000000000cebed40f000000000000000000000000000000000000000000010108f426f86062f8d6e71000000000000000000000000000000a4d006687db0844d46e5649f71457bd0900000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000041407a29694d9bd5c9fb68b5a220fd16c27a7cfe86a874cb80f74ca2f0809489fe0b712d9aada261eec1662d8b69213c7529e708c75cc918e72f0ded97624003021c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000141111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000000000000000007dcbea7c0000000000000000000000000000000000000000000000000105c001a098c69ac8f25a0f61b8c2592fdb9024dbb412f5e705c26c49650d780a9b7ebca4a02f28cb924b7b7533983950a39a8b9d65cca5825d0e003f264e7407c2bfd6620c","new_txn_trie_node_byte":"0x02f906b4016a843b9aca03850227dddc45830531cf94881d40237659c251811cec9c364ef91dc08d300c80b906465f5755290000000000000000000000000000000000000000000000000000000000000080000000000000000000000000a0ef786bf476fe0810408caba05e536ac800ff86000000000000000000000000000000000000000000010108f426f86062f8d6e700000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000136f6e65496e6368563546656544796e616d6963000000000000000000000000000000000000000000000000000000000000000000000000000000000000000560000000000000000000000000a0ef786bf476fe0810408caba05e536ac800ff86000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000010108f426f86062f8d6e700000000000000000000000000000000000000000000000000000000c8d6a66d00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000001cf1c920000000000000000000000002acf35c9a3f4c5c3f4c78ef5fb64c3ee82f07c450000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000042812aa3caf000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09000000000000000000000000a0ef786bf476fe0810408caba05e536ac800ff86000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd0900000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631000000000000000000000000000000000000000000010108f426f86062f8d6e700000000000000000000000000000000000000000000000000000000ca9c7fdd0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028e0000000000000000000000000000000000000000000000000000000002705120111111125421ca6dc452d289314280a0f8842a65a0ef786bf476fe0810408caba05e536ac800ff86012456a7586800000000000000000000000000000000000000000ba4808d3011884fb9d9e088000000000000000000000000fbeedcfe378866dab6abbafd8b2986f5c17687370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0ef786bf476fe0810408caba05e536ac800ff8600000000000000000000000000000000000000000000000000000000cebed40f000000000000000000000000000000000000000000010108f426f86062f8d6e71000000000000000000000000000000a4d006687db0844d46e5649f71457bd0900000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000041407a29694d9bd5c9fb68b5a220fd16c27a7cfe86a874cb80f74ca2f0809489fe0b712d9aada261eec1662d8b69213c7529e708c75cc918e72f0ded97624003021c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000141111111254eeb25477b68fb85ed929f73a9605820000000000000000000000000000000000000000000000000000000000007dcbea7c0000000000000000000000000000000000000000000000000105c001a098c69ac8f25a0f61b8c2592fdb9024dbb412f5e705c26c49650d780a9b7ebca4a02f28cb924b7b7533983950a39a8b9d65cca5825d0e003f264e7407c2bfd6620c","new_receipt_trie_node_byte":"0xb9096302f9095f0183203cf0b9010000000000000001001000000000080000000000000800000000000000000080000000010000000000000010000402010000000004000088000000000000220000000000000000080000020008000000000000000000000000000004000000000000000002004000000004000000000000000000010010000000000014000000000000000000000000000400000200000000000000800000001020000000900000020000008000000002001080080004000000000000000000020000000000002000000002000002000000000000000000000000000000000000000000000000000030000000000000000400000000000000000000000000000101000100001000f90854f89b94a0ef786bf476fe0810408caba05e536ac800ff86f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000001ebdb64e1b470a9d874b63f229451a9b9195540a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a0000000000000000000000000000000000000000000010108f426f86062f8d6e7f89b94a0ef786bf476fe0810408caba05e536ac800ff86f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000001ebdb64e1b470a9d874b63f229451a9b9195540a0000000000000000000000000881d40237659c251811cec9c364ef91dc08d300ca0fffffffffffffffffffffffffffffffffffffffffffefef70bd9079f9d072918f89b94a0ef786bf476fe0810408caba05e536ac800ff86f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000000000000000000000010108f426f86062f8d6e7f89b94a0ef786bf476fe0810408caba05e536ac800ff86f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0fffffffffffffffffffffffffffffffffffffffffe3387b88b279ad58e7af461f89b94a0ef786bf476fe0810408caba05e536ac800ff86f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a0000000000000000000000000000000000000000000010108f426f86062f8d6e7f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000fbeedcfe378866dab6abbafd8b2986f5c1768737a0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a000000000000000000000000000000000000000000000000000000000cebed40ff89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000fbeedcfe378866dab6abbafd8b2986f5c1768737a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000000000000000cebed40ff89b94a0ef786bf476fe0810408caba05e536ac800ff86f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000fbeedcfe378866dab6abbafd8b2986f5c1768737a0000000000000000000000000000000000000000000010108f426f86062f8d6e7f89b94a0ef786bf476fe0810408caba05e536ac800ff86f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000e37e799d5077682fa0a244d46e5649f71457bd09a0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a00000000000000000000000000000000000000000000000000000000000000000f87994111111125421ca6dc452d289314280a0f8842a65e1a0fec331350fce78ba658e082a71da20ac9f8d798a99b3c79681c8440cbfe77e07b84020be9185ce18e8236fd5ce29c6cdfba59110c2abec9ac881bcb0930975531b120000000000000000000000000000000000000000000000000000000000000000f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000000000000000000000000000000000000cebed40ff89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000002acf35c9a3f4c5c3f4c78ef5fb64c3ee82f07c45a00000000000000000000000000000000000000000000000000000000001cf1c92f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000001ebdb64e1b470a9d874b63f229451a9b9195540a000000000000000000000000000000000000000000000000000000000ccefb77df87b94881d40237659c251811cec9c364ef91dc08d300cf863a0beee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630da0f35f348d53012d52a5d39f9390d246956ac932d5778d2bb49e359dba4fa0896da000000000000000000000000001ebdb64e1b470a9d874b63f229451a9b919554080","gas_used":251076}},{"traces":{"0x2a187453064356c898cae034eaed119e1663acb8":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000016","0x000000000000000000000000000000000000000000000000000000000000000d","0x000000000000000000000000000000000000000000000000000000000000000e","0x5d6f4b69020bd09af90b32a0662f52ea624f865688443de2c0161a34f57439e6","0xe68ea46365f9f585f15aedb53daaf04ae19bf1da7e02b06c025af5f7ed041a5b","0x0000000000000000000000000000000000000000000000000000000000000014","0x0000000000000000000000000000000000000000000000000000000000000012","0xbe00a84b82db45c48bea4163ed7d2a68676c02507626265dc7bc387f186bfd82","0xd699b17d5d8a87928241626640f6c2f6e3c32615758a1e0c15b73e277fb0776d","0x0000000000000000000000000000000000000000000000000000000000000007","0xdec0ab05f1107b5be765e5224fd892a74860166756a79f09417e412caeedbc51"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000007":"0xa082","0x5d6f4b69020bd09af90b32a0662f52ea624f865688443de2c0161a34f57439e6":"0x2","0xd699b17d5d8a87928241626640f6c2f6e3c32615758a1e0c15b73e277fb0776d":"0x2","0xdec0ab05f1107b5be765e5224fd892a74860166756a79f09417e412caeedbc51":"0x4478564865726f65730000000000000000000000000000000000000000000012","0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a87376709":"0x3eb5ade6348b2faa603812b5f3eb87ce62bc5ea98e8d8410d579d2c6621caffb","0x197f031cd15400a6f7e688e83ebcf67a8498c1b9b211a25d514ae5480c6d76e7":"0xa081","0xbe00a84b82db45c48bea4163ed7d2a68676c02507626265dc7bc387f186bfd82":"0xe95227ab68cd6cf512bf9ac3c4b41ab74fa30d1e","0x9621164337f3ed31e143b7e37ecf5ff11e7a546c8a40290dfa8fe59c9e5cc58d":"0x3eb5ade6348b2faa603812b5f3eb87ce62bc5ea98e8d8410d579d2c6621caffb","0x8b792142907d61463b38fd4e1be38ef0c8b7a15b4d706b352163874da9d9e6e1":"0x1"},"code_usage":{"read":"0xff1b6d67cbc9140909ea905d0ca4e6a6f3624a24b8e40d7607d51d637692ea24"}},"0x314159265dd8dbb310642f98f50c066173c1259b":{"storage_read":["0x3878962c258c285559a95d064392af0531859d0bd66286aa5199f6a68582a0c9"],"code_usage":{"read":"0xcad6eba5fdfe5ee65504c43ed6edd21adf904807e32b60b965d1e8887a2971da"}},"0x0f5d2fb29fb7d3cfee444a200298f468908cc942":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003","0xf0d870f11a3a00183d2863d359e93fe968877caad19c3fc743e890143822e794","0x58d6aff954f1422fb07ca2e2b30850a83024c4deef5e739dc65cddc657788d0b","0x2d2d4f6290f30bdc4fcb4ca4ada5e2be741ab3b239e89f18a1e7798161c6220b"],"storage_written":{"0x58d6aff954f1422fb07ca2e2b30850a83024c4deef5e739dc65cddc657788d0b":"0x2495e54a9f1f514f4c4351","0xf0d870f11a3a00183d2863d359e93fe968877caad19c3fc743e890143822e794":"0xfffffffffffffffffffffffffffffffffffffffffffffff5287143a539dfffff","0x2d2d4f6290f30bdc4fcb4ca4ada5e2be741ab3b239e89f18a1e7798161c6220b":"0x16ed1f7942a3ccde21"},"code_usage":{"read":"0x617135cb93e6700b78456350434272421d4367454e668704eb4aa73b1db6e275"}},"0xe95227ab68cd6cf512bf9ac3c4b41ab74fa30d1e":{"balance":"0x552142ad6939c1","nonce":"0x1d"},"0x57f1887a8bf19b14fc0df6fd9b2acc9af147ea85":{"storage_read":["0x73cf99cae7c55b08fca9ee91d21c004c8bed3188a9ab93cf4771a23897fa29cc","0x003ba5390dd2c147c09c7844b8b8b1e49cc75b0d990724d5e7ece4515faa8d5a"],"code_usage":{"read":"0x15557327bea19f454db3ec207da1a440b6d9318af56e52e2a3eba440d4b62e0a"}},"0x00000000000c2e074ec69a0dfb2997ba6c7d2e1e":{"storage_read":["0xf931e56e7c4eb91b26c466e3b1e5468625f3870bb711ce115567fb376da1d01a","0xb30b70c5a9bf190ef0ec9042b4b1df9c212d88dbb61cd5992495c1123a55e635","0x0000000000000000000000000000000000000000000000000000000000000002"],"storage_written":{"0xb30b70c5a9bf190ef0ec9042b4b1df9c212d88dbb61cd5992495c1123a55e635":"0xe95227ab68cd6cf512bf9ac3c4b41ab74fa30d1e"},"code_usage":{"read":"0xd6bfd5d6f1384a1f6ea57b8a8412de5552f138d42021cf7c4941e33206f529e4"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d54c6d1737a7211"},"0xbe92b49aee993adea3a002adcda189a2b7dec56c":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000002"],"code_usage":{"read":"0xe9c48c8f088b84fb80d0d13750591eb0ded131c9a5143f9efff54adea39aa62b"}}},"meta":{"byte_code":"0x02f8f1011c8439a930da85021355339583045f7c94be92b49aee993adea3a002adcda189a2b7dec56c80b8841e59c5290000000000000000000000000000000000000000000000000000000000000040000000000000000000000000e95227ab68cd6cf512bf9ac3c4b41ab74fa30d1e00000000000000000000000000000000000000000000000000000000000000094478564865726f65730000000000000000000000000000000000000000000000c001a0875f8a700bcd3bfd02bbf86dcd693687205d741c19d90d5cfbcb1a368266825ca03f2dc399d40b1904a7a57ea7c9a9c9cc7e35c234118cab6c693aaebd34afb012","new_txn_trie_node_byte":"0x02f8f1011c8439a930da85021355339583045f7c94be92b49aee993adea3a002adcda189a2b7dec56c80b8841e59c5290000000000000000000000000000000000000000000000000000000000000040000000000000000000000000e95227ab68cd6cf512bf9ac3c4b41ab74fa30d1e00000000000000000000000000000000000000000000000000000000000000094478564865726f65730000000000000000000000000000000000000000000000c001a0875f8a700bcd3bfd02bbf86dcd693687205d741c19d90d5cfbcb1a368266825ca03f2dc399d40b1904a7a57ea7c9a9c9cc7e35c234118cab6c693aaebd34afb012","new_receipt_trie_node_byte":"0xb9050502f905010183248f15b9010000000000100000000008000000000000000000000000000441000080000000020000000000000000000020000000000000000000000090000000000000008000000000000000000030000008000000000000000000000000100000000000000000000000020000000010000000000800000000000100000000000010000000800008010004000000000020000000000080000000080000000000000000000020000000000000040000000000000000000010000000000000000808040000000000000002000000000000000000004400000000000000000000000000010020000000000000000000009000000100008000000000000000000000000000000000f903f6f89b9400000000000c2e074ec69a0dfb2997ba6c7d2e1ef863a0ce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82a00058500cd570bacbce7dbb11497c280dea3f623a7479be7d8b01c2ae07b623fca03eb5ade6348b2faa603812b5f3eb87ce62bc5ea98e8d8410d579d2c6621caffba0000000000000000000000000e95227ab68cd6cf512bf9ac3c4b41ab74fa30d1ef89c942a187453064356c898cae034eaed119e1663acb8f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000e95227ab68cd6cf512bf9ac3c4b41ab74fa30d1ea03eb5ade6348b2faa603812b5f3eb87ce62bc5ea98e8d8410d579d2c6621caffb80f9011d942a187453064356c898cae034eaed119e1663acb8f884a0570313dae523ecb48b1176a4b60272e5ea7ec637f5b2d09983cbc4bf25e7e9e3a0000000000000000000000000be92b49aee993adea3a002adcda189a2b7dec56ca0000000000000000000000000e95227ab68cd6cf512bf9ac3c4b41ab74fa30d1ea03eb5ade6348b2faa603812b5f3eb87ce62bc5ea98e8d8410d579d2c6621caffbb8800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000006687daf300000000000000000000000000000000000000000000000000000000000000094478564865726f65730000000000000000000000000000000000000000000000f89b940f5d2fb29fb7d3cfee444a200298f468908cc942f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e95227ab68cd6cf512bf9ac3c4b41ab74fa30d1ea00000000000000000000000009a6ebe7e2a7722f8200d0ffb63a1f6406a0d7dcea00000000000000000000000000000000000000000000000056bc75e2d63100000f8fc94be92b49aee993adea3a002adcda189a2b7dec56cf863a0b8c56202a5ae8b00edfcd57a54ec6c3fb8d2f6deb3067a7ba11408a7bd014a3ea0000000000000000000000000e95227ab68cd6cf512bf9ac3c4b41ab74fa30d1ea0000000000000000000000000e95227ab68cd6cf512bf9ac3c4b41ab74fa30d1eb8800000000000000000000000000000000000000000000000056bc75e2d63100000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000094478564865726f65730000000000000000000000000000000000000000000000","gas_used":283173}},{"traces":{"0xbb7f50dd85093936a9f0b1c10d3ba520a5681865":{"code_usage":{"read":"0xe1d8cfe200308e3133b8b398bf706deb8415b25d751a09031eb19277331137b6"}},"0x7613c48e0cd50e42dd9bf0f6c235063145f6f8dc":{"storage_read":["0x2e78e216ef0d40b7a4a4e7cbf73fa699514f60e3e93d546916a1f51cc71702f5","0xfcd6972598bf13c7940ef8cc4a7379e7c0bfa4b19082e9aaa703d863a778e19a","0xd06f792cea33939652a2afb0a6489b8a20e8989ca3c1a3f025bd822aa83aac96","0x8eb1832c3768678bd3eda16368ed828b40d2de691682a70921de7548cf48857e","0x7e657570cf0441d30617e21228ca5e4c1a78dadb11b55bfed75b5fa9caaad6b7"],"storage_written":{"0xd06f792cea33939652a2afb0a6489b8a20e8989ca3c1a3f025bd822aa83aac96":"0x673ccf4a0b97c725820867","0xfcd6972598bf13c7940ef8cc4a7379e7c0bfa4b19082e9aaa703d863a778e19a":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","0x2e78e216ef0d40b7a4a4e7cbf73fa699514f60e3e93d546916a1f51cc71702f5":"0x1","0x7e657570cf0441d30617e21228ca5e4c1a78dadb11b55bfed75b5fa9caaad6b7":"0x0","0x8eb1832c3768678bd3eda16368ed828b40d2de691682a70921de7548cf48857e":"0xe13a5ce13d6bd9ba40000"},"code_usage":{"read":"0xbca611a7c82aabcefe0dc01fe6a659ccc52af049854944acab03f0f740589dcc"}},"0x0f9c71d9a402fa1f2b40ea080d08577e5fa16d45":{"balance":"0x5eee99ece374f2","nonce":"0xa"},"0x543ba3e063197b3025a4b2751e9b4b6a2489fa07":{"storage_read":["0x324fdf7bfe7bd2828491073f0b7868a9a19ee3eff384c2805040be3e426447f5"],"storage_written":{"0x324fdf7bfe7bd2828491073f0b7868a9a19ee3eff384c2805040be3e426447f5":"0xfff9a6fd7fffbfcffeb6fef7deebdfeff7fabd5f3eff53afddefbe7e7ade5773"},"code_usage":{"read":"0xaeb3f8a84bbe7c995ca1b020a947a4fe360796ef7a1240577d55e616868f7113"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5581fad8ec1791"},"0x6759acd57cb5ea451a3edf397734edddfc123049":{"storage_read":["0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000001","0x7e657570cf0441d30617e21228ca5e4c1a78dadb11b55bfed75b5fa9caaad6ba","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x7e657570cf0441d30617e21228ca5e4c1a78dadb11b55bfed75b5fa9caaad6b9","0x7e657570cf0441d30617e21228ca5e4c1a78dadb11b55bfed75b5fa9caaad6b7","0x7e657570cf0441d30617e21228ca5e4c1a78dadb11b55bfed75b5fa9caaad6b8","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x7e657570cf0441d30617e21228ca5e4c1a78dadb11b55bfed75b5fa9caaad6b8":"0x2268ed01f34b3300000","0x7e657570cf0441d30617e21228ca5e4c1a78dadb11b55bfed75b5fa9caaad6b7":"0x2268ed01f34b3300000","0x7e657570cf0441d30617e21228ca5e4c1a78dadb11b55bfed75b5fa9caaad6ba":"0x14a000000006687daf3","0x7e657570cf0441d30617e21228ca5e4c1a78dadb11b55bfed75b5fa9caaad6b9":"0x0"},"code_usage":{"read":"0xf31867464655b7f4c557979820c229810ec57bc25924758609a527e1f1721cd7"}},"0x0000000000000000000000000000000000000001":{}},"meta":{"byte_code":"0x02f9039201098439d1068085023b96d9d8830572f1946759acd57cb5ea451a3edf397734edddfc12304980b903241aee31d0000000000000000000000000000000000000000000000000000000000000092b0000000000000000000000000000000000000000000002268ed01f34b3300000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000068690e58000000000000000000000000000000000000000000000000000000000000001bfa61ff149e17a1557b5d8dd2b7c0c547cc553ccba8b09eda2ade670de5f0c20e35ef3f28679130d7dbf87714a7b9dbcd79474b1e99ea4b3a881de17749a1e9590000000000000000000000000000000000000000000000000000000000000010228a456bb0e00e6e43f494239d005984a58c9f465023c195b62cf82869643bd2f6fc8342b1ab62d39fac727e204065eece346b4d0a0914c1a95d06ea66bc1a2e3cb4d8736c7d2ba0c578ff8155d893a3cbbd62884ae1e3373f87a8fe893b70dc7fa7abc4ef216318b07f428dbf76e4d3a4ba59110440e864ba45c64d03d3b2df04deeb339676b45dac713fa5f10cf6c91e7b861309f5d57851b8dd38e904475961211f7f147de4c9dddbd5d22543f5c6d23b873138cf91ace5322424dec1b7958e08cedb2bf0e4ec59192748268ac7a226952ad4dd5967653f6f3add33bd832c62c50a69985c254430e84278f4858fb9bf89c74513770ef07706c187778d0e084a4cbecc337bdd7dd3de4d26b9a51acf40459c7ebe65dad978ef506e7efd56f3ee8d85a1327be93d0fdede6df5f4e011eed4489c24df195ce3136b54ca68349de53b6c0b433b063dd3303822145cf7d1ac96051eb54a7a001330bec83e39961c81a958ade5ad3c17df7daf617cc9c30d5e228313a0d8092b8caac8eaf32ea0ee57f5d9d194d4320b6c65fa1fb7877ea882075a9193a3c237c28930a515a445f39982048a415d2f211b699ca7cb13288207a5e9c6890afb83b9463a9e787c4c1428d15a24ecd4186801339bc2f637eb1241e41659ff91132e7537a913a9e9bce4f205ff1939a5b77b626a348ca29ae2c93b681a9f0c6ad4f526f63a9b3d196b75c001a0663903c11f7abefdaf240fdb7086fb7fea656b78eb65e0e01e066b069cc38af4a03e330c581b1a47f2f3d72ae9a3350b5de6dff2c19cd776200e9bfd5bd118b7fb","new_txn_trie_node_byte":"0x02f9039201098439d1068085023b96d9d8830572f1946759acd57cb5ea451a3edf397734edddfc12304980b903241aee31d0000000000000000000000000000000000000000000000000000000000000092b0000000000000000000000000000000000000000000002268ed01f34b3300000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000068690e58000000000000000000000000000000000000000000000000000000000000001bfa61ff149e17a1557b5d8dd2b7c0c547cc553ccba8b09eda2ade670de5f0c20e35ef3f28679130d7dbf87714a7b9dbcd79474b1e99ea4b3a881de17749a1e9590000000000000000000000000000000000000000000000000000000000000010228a456bb0e00e6e43f494239d005984a58c9f465023c195b62cf82869643bd2f6fc8342b1ab62d39fac727e204065eece346b4d0a0914c1a95d06ea66bc1a2e3cb4d8736c7d2ba0c578ff8155d893a3cbbd62884ae1e3373f87a8fe893b70dc7fa7abc4ef216318b07f428dbf76e4d3a4ba59110440e864ba45c64d03d3b2df04deeb339676b45dac713fa5f10cf6c91e7b861309f5d57851b8dd38e904475961211f7f147de4c9dddbd5d22543f5c6d23b873138cf91ace5322424dec1b7958e08cedb2bf0e4ec59192748268ac7a226952ad4dd5967653f6f3add33bd832c62c50a69985c254430e84278f4858fb9bf89c74513770ef07706c187778d0e084a4cbecc337bdd7dd3de4d26b9a51acf40459c7ebe65dad978ef506e7efd56f3ee8d85a1327be93d0fdede6df5f4e011eed4489c24df195ce3136b54ca68349de53b6c0b433b063dd3303822145cf7d1ac96051eb54a7a001330bec83e39961c81a958ade5ad3c17df7daf617cc9c30d5e228313a0d8092b8caac8eaf32ea0ee57f5d9d194d4320b6c65fa1fb7877ea882075a9193a3c237c28930a515a445f39982048a415d2f211b699ca7cb13288207a5e9c6890afb83b9463a9e787c4c1428d15a24ecd4186801339bc2f637eb1241e41659ff91132e7537a913a9e9bce4f205ff1939a5b77b626a348ca29ae2c93b681a9f0c6ad4f526f63a9b3d196b75c001a0663903c11f7abefdaf240fdb7086fb7fea656b78eb65e0e01e066b069cc38af4a03e330c581b1a47f2f3d72ae9a3350b5de6dff2c19cd776200e9bfd5bd118b7fb","new_receipt_trie_node_byte":"0xb9041e02f9041a018327cbccb9010000040000000000000000008000000000000000000400000000000108000000000000000000000000000000000000000008000000000000000000000000200080000000200000000000000028000000000000000000000000000000000000000000000000040000000000000000020000000040000000000000000010000000000000000000000000000000000000002000000002000000000100000000000000020000000000800200040000000000000000001000000000000000000000000000400002000000000000000000000000000000000000000000000080000000000010000000000000000000000000000000000000400020000000000002000000f9030ff89b947613c48e0cd50e42dd9bf0f6c235063145f6f8dcf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000543ba3e063197b3025a4b2751e9b4b6a2489fa07a00000000000000000000000000f9c71d9a402fa1f2b40ea080d08577e5fa16d45a00000000000000000000000000000000000000000000002268ed01f34b3300000f89994543ba3e063197b3025a4b2751e9b4b6a2489fa07e1a04ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed026b860000000000000000000000000000000000000000000000000000000000000092b0000000000000000000000000f9c71d9a402fa1f2b40ea080d08577e5fa16d450000000000000000000000000000000000000000000002268ed01f34b3300000f89b947613c48e0cd50e42dd9bf0f6c235063145f6f8dcf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000000f9c71d9a402fa1f2b40ea080d08577e5fa16d45a00000000000000000000000006759acd57cb5ea451a3edf397734edddfc123049a0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff89b947613c48e0cd50e42dd9bf0f6c235063145f6f8dcf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000f9c71d9a402fa1f2b40ea080d08577e5fa16d45a00000000000000000000000006759acd57cb5ea451a3edf397734edddfc123049a00000000000000000000000000000000000000000000002268ed01f34b3300000f89b946759acd57cb5ea451a3edf397734edddfc123049f842a090890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15a00000000000000000000000000f9c71d9a402fa1f2b40ea080d08577e5fa16d45b8400000000000000000000000000000000000000000000002268ed01f34b3300000000000000000000000000000000000000000000000000000000000000000014a","gas_used":212151}},{"traces":{"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x9255968962ccde4e835e88579004221b17e7787b":{"balance":"0x85b3df29841581","nonce":"0x58"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d560c798b741405"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243943e8c5fc962b24dce","storage_read":["0x1a5cef862424a8f5a3415684532b2fcf844b8c9067c666b1d719fb9ff53a0dc4","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a"],"storage_written":{"0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x1a5cef862424a8f5a3415684532b2fcf844b8c9067c666b1d719fb9ff53a0dc4":"0x675a83d447fac281b"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xc45a81bc23a64ea556ab4cdf08a86b61cdceea8b":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000001","0xc5069e24aaadb2addc3e52e868fcf3f4f8acf5a87e24300992fd4540c2a87eed","0x000000000000000000000000000000000000000000000000000000000000001b","0x000000000000000000000000000000000000000000000000000000000000001c"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000001c":"0x100000a740000000000000018970e5711a0def5fc000455e570e54c6687daf3","0x0000000000000000000000000000000000000000000000000000000000000000":"0x100006400640014039a1c00000000000209c6622e7dcbe3bba79070a949fc","0x0000000000000000000000000000000000000000000000000000000000000001":"0x664a87370b2adb756f83dbd755c1c"},"code_usage":{"read":"0xf0f014e37a3e76cc811f3ab9396a6c8ced9ceecf402997c77367b8f38570633c"}},"0xf19308f923582a6f7c465e5ce7a9dc1bec6665b1":{"storage_read":["0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02","0x7a7a25c12aeb669da472eba18b2678f36336c487916ce910108bd80eed100496","0x1ce130e20c3373ba275e248149bd84f5fe75a0287d0ae10534266ecd6c667673","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc"],"storage_written":{"0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02":"0x270659f2bce606bbbc6c671","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc":"0x0","0x1ce130e20c3373ba275e248149bd84f5fe75a0287d0ae10534266ecd6c667673":"0x2c463cd30598473af89d38350b","0x7a7a25c12aeb669da472eba18b2678f36336c487916ce910108bd80eed100496":"0x36a83d626ca4d901a8456c0"},"code_usage":{"read":"0x4cf0157c29ad7bcef59cbc1c9bee9e7567fba24acca42d0d8d2e109ec53d2190"}}},"meta":{"byte_code":"0x02f9043901578439a930da85020c65f0a18303a4a0943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87d529ae9e860000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd3300000000000000000000000000000000000000000000000000000000000000040b000604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000d529ae9e8600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000d529ae9e8600000000000000000000000000000000000000000000035964edde149fe3d46db1c000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710f19308f923582a6f7c465e5ce7a9dc1bec6665b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b1000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000035964edde149fe3d46db1c0c001a07dd54d5a329e3e8ea852f85b20b2f398f36e8a6e3f997231884e3761838ae08fa00d945d71b11b7e976dd0afea34e8e39e9684238e2c4dceea6897867ad20398c7","new_txn_trie_node_byte":"0x02f9043901578439a930da85020c65f0a18303a4a0943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87d529ae9e860000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd3300000000000000000000000000000000000000000000000000000000000000040b000604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000d529ae9e8600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000d529ae9e8600000000000000000000000000000000000000000000035964edde149fe3d46db1c000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710f19308f923582a6f7c465e5ce7a9dc1bec6665b10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b1000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f19308f923582a6f7c465e5ce7a9dc1bec6665b100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000035964edde149fe3d46db1c0c001a07dd54d5a329e3e8ea852f85b20b2f398f36e8a6e3f997231884e3761838ae08fa00d945d71b11b7e976dd0afea34e8e39e9684238e2c4dceea6897867ad20398c7","new_receipt_trie_node_byte":"0xb9051e02f9051a01832a32aeb9010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000008000000002000200080020000000000000000004000000080000000800000008000000000000000000000000000000008020000000000000000000200000000004000000002000000000000004000010000800000000000000000000000000000060000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000001000400000000000000000000000000200000000000000000000000000000001000000000c00002000000000000f9040ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000d529ae9e860000f89b94f19308f923582a6f7c465e5ce7a9dc1bec6665b1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c45a81bc23a64ea556ab4cdf08a86b61cdceea8ba00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000036cb4edc936997771332fd4f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000c45a81bc23a64ea556ab4cdf08a86b61cdceea8ba000000000000000000000000000000000000000000000000000d529ae9e860000f9011c94c45a81bc23a64ea556ab4cdf08a86b61cdceea8bf863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8a000000000000000000000000000000000000000000000000000d529ae9e860000fffffffffffffffffffffffffffffffffffffffffc934b1236c966888eccd02c00000000000000000000000000000000000209c6622e7dcbe3bba79070a949fc000000000000000000000000000000000000000000866ec4ccf58b3b7509d8c20000000000000000000000000000000000000000000000000000000000039a1cf89b94f19308f923582a6f7c465e5ce7a9dc1bec6665b1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca0000000000000000000000000000000000000000000023117a26c4be756aed914f89b94f19308f923582a6f7c465e5ce7a9dc1bec6665b1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000009255968962ccde4e835e88579004221b17e7787ba00000000000000000000000000000000000000000036a83d626ca4d901a8456c0","gas_used":157410}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243944c6d167d0a164dce","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x9a2670d7120f1e9b7a4e06731fa434bcd9bcb31970f1dba56cbce82cab565117"],"storage_written":{"0x9a2670d7120f1e9b7a4e06731fa434bcd9bcb31970f1dba56cbce82cab565117":"0x14de1af94bf6cf741f","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x1c6a2ab7836dd34b7df11ddaeff86e4704f86efd":{"balance":"0x2de8ede438d5dff","nonce":"0xa0"},"0x582d872a1b094fc48f5de31d3b73f2d9be47def1":{"storage_read":["0x1f93b5f718ae5a0ecb77c3740038ddb85bb81ba165c4729e10c5e9805b425126","0x38fc3b2d379bd26458e22ad88b3c56dc65fb6a00f273a2e6bd091f1dd3fd27f4","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc","0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02"],"storage_written":{"0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc":"0x0","0x1f93b5f718ae5a0ecb77c3740038ddb85bb81ba165c4729e10c5e9805b425126":"0x62c872fe36","0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02":"0xb3a0c917a","0x38fc3b2d379bd26458e22ad88b3c56dc65fb6a00f273a2e6bd091f1dd3fd27f4":"0x49e9a9894b6d"},"code_usage":{"read":"0x729c20e4448b145cbba2c7ca89c5ca939e4c20357c547a387daec922052ec9ec"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d56941e78a9c969"},"0xaf81e930620eb55a9a6927c4b2afcb4d61040c32":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002","0xca4d0c6c94a9477136dd41a99cc19ecbe441c8f6609efe7c6fa65be007a47323","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000023cfb00000000000005fb3afd868833777473941ac7bf","0x0000000000000000000000000000000000000000000000000000000000000002":"0xdf0336c0a13777ef63c59d11df21d7e913","0x0000000000000000000000000000000000000000000000000000000000000008":"0x102f1065e000000429985c0bd90c290ec63fc6904fffb96880b1bc26687daf3"},"code_usage":{"read":"0x448f72228de99400374a161085bea640c03279b3e1f8854574a4dd1818f76933"}}},"meta":{"byte_code":"0x02f9043b01819f8439a930da85020c65f0a1830393c0943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880de0b6b3a7640000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd2700000000000000000000000000000000000000000000000000000000000000040b000604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000624aa2d1a300000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb8582d872a1b094fc48f5de31d3b73f2d9be47def10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def1000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000624aa2d1a3c080a095bcfe58f16ec84fea4b7003f6c6a6d75ce8dfd35bef25fe537c47a60826fbe1a07b92bfcff90885d56d8b34e5ddf4781554f145803b72346792e43457d2e50b10","new_txn_trie_node_byte":"0x02f9043b01819f8439a930da85020c65f0a1830393c0943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880de0b6b3a7640000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd2700000000000000000000000000000000000000000000000000000000000000040b000604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000624aa2d1a300000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb8582d872a1b094fc48f5de31d3b73f2d9be47def10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def1000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000624aa2d1a3c080a095bcfe58f16ec84fea4b7003f6c6a6d75ce8dfd35bef25fe537c47a60826fbe1a07b92bfcff90885d56d8b34e5ddf4781554f145803b72346792e43457d2e50b10","new_receipt_trie_node_byte":"0xb9051e02f9051a01832c8ce8b9010000000000000000200000000000000000000000000000000000000000000000000000000000000040000000000000000002000000080020000000000000000000000000080008000800000008000000010000000000000000000000008020000000000000000000200000000000000000000000000000000000000010000800000000000000000000000000000020800000000001000000000000000000000100000000000000001000000000000000000000800000000000000000000000000000000003000000000000000000000000100000000000000000000000000008000000200000000000000000000000000000001000000000c00000000002000000f9040ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000de0b6b3a7640000f89b94582d872a1b094fc48f5de31d3b73f2d9be47def1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000af81e930620eb55a9a6927c4b2afcb4d61040c32a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000000006307d429d5f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000af81e930620eb55a9a6927c4b2afcb4d61040c32a00000000000000000000000000000000000000000000000000de0b6b3a7640000f9011c94af81e930620eb55a9a6927c4b2afcb4d61040c32f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8a0ffffffffffffffffffffffffffffffffffffffffffffffffffffff9cf82bd62b0000000000000000000000000000000000000000000000000de0b6b3a764000000000000000000000000000000000000000005fb3afd868833777473941ac7bf0000000000000000000000000000000000000000000000002216ce872ed83f320000000000000000000000000000000000000000000000000000000000023cfbf89b94582d872a1b094fc48f5de31d3b73f2d9be47def1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca0000000000000000000000000000000000000000000000000000000003f612b9ff89b94582d872a1b094fc48f5de31d3b73f2d9be47def1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000001c6a2ab7836dd34b7df11ddaeff86e4704f86efda000000000000000000000000000000000000000000000000000000062c872fe36","gas_used":154170}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d56d2442673cf87"},"0x02656fe285fac5d5c756c2f03c17277df9bac65b":{"code_usage":{"read":"0xd886827d6afbedf5139e9fc9fb45864eb0a1c63d0c4750cb1b5384384deb66de"}},"0x35fa164735182de50811e8e2e824cfb9b6118ac2":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x00000000000000000000000000000000000000000000000000000000000000ca","0x00000000000000000000000000000000000000000000000000000000000000c9","0x183e6f7fbc2a90f61b9b44cb3e55c9a30cf5d841bee0479a42e68fbcb60057d4"],"storage_written":{"0x00000000000000000000000000000000000000000000000000000000000000ca":"0x16c97143a5a23e7bf1984","0x183e6f7fbc2a90f61b9b44cb3e55c9a30cf5d841bee0479a42e68fbcb60057d4":"0x3321d34c39044bb"},"code_usage":{"read":"0x0b58ec11caee361ca0c1e484c12f6e7177634222186f7639bd9183dfee9d2278"}},"0x308861a430be4cce5502d0a12724771fc6daf216":{"balance":"0x12babdb137f68108d75d","storage_read":["0x00000000000000000000000000000000000000000000000000000000000000ce","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x00000000000000000000000000000000000000000000000000000000000000dc","0x00000000000000000000000000000000000000000000000000000000000000d9","0x00000000000000000000000000000000000000000000000000000000000000cf"],"storage_written":{"0x00000000000000000000000000000000000000000000000000000000000000cf":"0x1f7dc473c9029c70d75d0000000000015c7d829d4dc5def42e9f"},"code_usage":{"read":"0x0b58ec11caee361ca0c1e484c12f6e7177634222186f7639bd9183dfee9d2278"}},"0xbe9262c0dd8ba5117549c5940ede916416d95fec":{"balance":"0x279b9c43fc9a87","nonce":"0xc"},"0x1b47a665364bc15c28b05f449b53354d0ceff72f":{"code_usage":{"read":"0xa457f95b50cdef7e707fb74e5182d0e0e5637a394a4f5bb07893384cd56519a3"}}},"meta":{"byte_code":"0x02f898010b8439a930da85020c65f0a18301a80094308861a430be4cce5502d0a12724771fc6daf216880354a6ba7a180000a4f340fa010000000000000000000000002c47f450d06132fc3ef54ad8336212ade35a7841c080a0d8e85dc12aa894368f1cdabafb289c74dc294e8fd723000780a59a3f39dbfcf6a037223a2e570213c819ef188245c7428a5065c62b41a75ec057b391dbea347576","new_txn_trie_node_byte":"0x02f898010b8439a930da85020c65f0a18301a80094308861a430be4cce5502d0a12724771fc6daf216880354a6ba7a180000a4f340fa010000000000000000000000002c47f450d06132fc3ef54ad8336212ade35a7841c080a0d8e85dc12aa894368f1cdabafb289c74dc294e8fd723000780a59a3f39dbfcf6a037223a2e570213c819ef188245c7428a5065c62b41a75ec057b391dbea347576","new_receipt_trie_node_byte":"0xb9030602f9030201832da0d3b9010000000000000000000000000000008000000000000000000000000000000800000000000000000000000008000000000100000000000000100000000000000000000200000000002040000008000000200000000000000000000000000000000000000000020000000000008000000800000000000000000000000010000000000000000000000000000000000000000000000000404000800000000200000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000004000000000000000000000000000000000000f901f7f8bb94308861a430be4cce5502d0a12724771fc6daf216f842a0a241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90da0000000000000000000000000be9262c0dd8ba5117549c5940ede916416d95fecb8600000000000000000000000000000000000000000000000000354a6ba7a18000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000002c47f450d06132fc3ef54ad8336212ade35a7841f89b9435fa164735182de50811e8e2e824cfb9b6118ac2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000be9262c0dd8ba5117549c5940ede916416d95feca00000000000000000000000000000000000000000000000000354a6ba7a17fffff89b9435fa164735182de50811e8e2e824cfb9b6118ac2f863a09d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcba00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000be9262c0dd8ba5117549c5940ede916416d95feca000000000000000000000000000000000000000000000000003321d34c39044ba","gas_used":70635}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5705aac5fd14a9"},"0x60472ff372c6bc98d89059c4c0487a3b8544df3d":{"balance":"0x24a700bcb4f90c","nonce":"0xaa"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x563bfdb7b7598891ea75e3a737751d5079808efd9495d4114a17ae943d1ab7ce","0x0000000000000000000000000000000000000000000000000000000000000000","0x62a9bf182783bd49c8616780212c574006823acdc9031eed72696e504f515b0c","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x10a94bfd6d9db52d501cb969d7f8f69a0e2e4ea5d50026faad3f2b369599f239"],"storage_written":{"0x563bfdb7b7598891ea75e3a737751d5079808efd9495d4114a17ae943d1ab7ce":"0xacfda2bbb","0x10a94bfd6d9db52d501cb969d7f8f69a0e2e4ea5d50026faad3f2b369599f239":"0x0"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f8b20181a98439a930da8502135533958301741c94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000069356fd98d9ffd2740af1e38b0bc1f80cf4a41bb0000000000000000000000000000000000000000000000000000000acfda2bbbc001a0f5c7f2276debf9ff4f77d258d13cb37ab9dfcde8691cee7142d6b62ae87a43aaa0511978622ee4a0267a29ea8f9cda921134d7c48daefb703e8f335888c956f92f","new_txn_trie_node_byte":"0x02f8b20181a98439a930da8502135533958301741c94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000069356fd98d9ffd2740af1e38b0bc1f80cf4a41bb0000000000000000000000000000000000000000000000000000000acfda2bbbc001a0f5c7f2276debf9ff4f77d258d13cb37ab9dfcde8691cee7142d6b62ae87a43aaa0511978622ee4a0267a29ea8f9cda921134d7c48daefb703e8f335888c956f92f","new_receipt_trie_node_byte":"0xb901ab02f901a701832e8508b9010000000000000000000000000000000000020000000000000000000000000000000001000000000000000000000000010000000000000004000000000010000000000000000000000000000008000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000060472ff372c6bc98d89059c4c0487a3b8544df3da000000000000000000000000069356fd98d9ffd2740af1e38b0bc1f80cf4a41bba00000000000000000000000000000000000000000000000000000000acfda2bbb","gas_used":58421}},{"traces":{"0x52ed5632ee5b89d19773d79f1be4fa877acca536":{"balance":"0x7d8be900d6b2e2","nonce":"0x1"},"0x5f474906637bdcda05f29c74653f6962bb0f8eda":{"storage_read":["0x3d0cbeaf9c300ebd13e754dbd104cf8b2d17488df827369a2d985d8ae6d97181","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000008","0xf6582c9128f4a5184a93e5d9f7a9c677938847999442fbfd5ee34d39f527ab8d"],"storage_written":{"0x3d0cbeaf9c300ebd13e754dbd104cf8b2d17488df827369a2d985d8ae6d97181":"0x1b1ae4d6e2ef500000","0xf6582c9128f4a5184a93e5d9f7a9c677938847999442fbfd5ee34d39f527ab8d":"0x475204cfbbd2f1e40000"},"code_usage":{"read":"0xf9b310a7bb961ce196f6f4cbf31995d4f5d507933089b7345f8aeb1860e7748c"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5735ed06e02ee9"}},"meta":{"byte_code":"0x02f8b10180843814fea0850241c50c6383014f29945f474906637bdcda05f29c74653f6962bb0f8eda80b844a9059cbb000000000000000000000000222c7aabfbe2e262b33ba177e3fd0782e964143100000000000000000000000000000000000000000000001b1ae4d6e2ef500000c080a026e827994588dc650f1b42db88413c2d3359ecfa34fa672cff9aa48d43049f1ba034939f85f8e133dbc1e4fdd5e8835a6b91e4c0267040714b60d52caceb92b579","new_txn_trie_node_byte":"0x02f8b10180843814fea0850241c50c6383014f29945f474906637bdcda05f29c74653f6962bb0f8eda80b844a9059cbb000000000000000000000000222c7aabfbe2e262b33ba177e3fd0782e964143100000000000000000000000000000000000000000000001b1ae4d6e2ef500000c080a026e827994588dc650f1b42db88413c2d3359ecfa34fa672cff9aa48d43049f1ba034939f85f8e133dbc1e4fdd5e8835a6b91e4c0267040714b60d52caceb92b579","new_receipt_trie_node_byte":"0xb901ab02f901a701832f6152b9010000000000000000000000000800000000000000000000000000000000000000000000000020000000000400000000000000000000000000000000000000000000000100000000000000000008000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400040000000000000000002020000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000f89df89b945f474906637bdcda05f29c74653f6962bb0f8edaf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000052ed5632ee5b89d19773d79f1be4fa877acca536a0000000000000000000000000222c7aabfbe2e262b33ba177e3fd0782e9641431a000000000000000000000000000000000000000000000001b1ae4d6e2ef500000","gas_used":56394}},{"traces":{"0x674a8714b1a4c2a181b90e3a21c6f8f0b5c9d3aa":{"balance":"0xa5b81c21ab96d821","nonce":"0x33"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d57661ff205a969"},"0x40a50cf069e992aa4536211b23f286ef88752187":{"balance":"0x4563918244f40000","storage_read":["0x5e153e214cf2d2bb2616c0622c0e7c43daacfd086715869091cf567d229198cd"],"storage_written":{"0x5e153e214cf2d2bb2616c0622c0e7c43daacfd086715869091cf567d229198cd":"0x6687e1b6674a8714b1a4c2a181b90e3a21c6f8f0b5c9d3aa"},"code_usage":{"read":"0x18d96821efb8f4a16ae0f54a8ff74ed658dde175506b8114d7d61a79cd03c26f"}}},"meta":{"byte_code":"0x02f9019a0132843814fea085022edc737183010bcc9440a50cf069e992aa4536211b23f286ef88752187884563918244f40000b90124322bba21000000000000000000000000594daad7d77592a2b97b725a7ad59d7e188b5bfa000000000000000000000000674a8714b1a4c2a181b90e3a21c6f8f0b5c9d3aa0000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000001e8b8bbe3558b4659d4c2f7d2071ba4cf65c4e58d9d983db00ab17bb02260812ee914a5c0ef66bcbccf68a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687e1b600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020fd3524c080a0aa6a7d1ec6e545b542d662c1e8859e960a18905ceb3d4e5d27a59f0318cad17da05db3856424a190c1682e28474a4210e2dcc51c6e4d0d0565ada22d05f5c5093c","new_txn_trie_node_byte":"0x02f9019a0132843814fea085022edc737183010bcc9440a50cf069e992aa4536211b23f286ef88752187884563918244f40000b90124322bba21000000000000000000000000594daad7d77592a2b97b725a7ad59d7e188b5bfa000000000000000000000000674a8714b1a4c2a181b90e3a21c6f8f0b5c9d3aa0000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000001e8b8bbe3558b4659d4c2f7d2071ba4cf65c4e58d9d983db00ab17bb02260812ee914a5c0ef66bcbccf68a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687e1b600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020fd3524c080a0aa6a7d1ec6e545b542d662c1e8859e960a18905ceb3d4e5d27a59f0318cad17da05db3856424a190c1682e28474a4210e2dcc51c6e4d0d0565ada22d05f5c5093c","new_receipt_trie_node_byte":"0xb903ee02f903ea0183303d56b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000800000000000000200000000000000000004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000400000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f902dff902dc9440a50cf069e992aa4536211b23f286ef88752187f842a0cf5f9de2984132265203b5c335b25727702ca77262ff622e136baa7362bf1da9a0000000000000000000000000674a8714b1a4c2a181b90e3a21c6f8f0b5c9d3aab90280000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000594daad7d77592a2b97b725a7ad59d7e188b5bfa000000000000000000000000674a8714b1a4c2a181b90e3a21c6f8f0b5c9d3aa0000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000001e8b8bbe3558b4659d4c2f00000000000000000000000000000000000000000000000000000000ffffffff7d2071ba4cf65c4e58d9d983db00ab17bb02260812ee914a5c0ef66bcbccf68a0000000000000000000000000000000000000000000000000000000000000000f3b277728b3fee749481eb3e0b3b48980dbbab78658fc419025cb16eee34677500000000000000000000000000000000000000000000000000000000000000005a28e9363bb942b639270062aa6bb295f434bcdfc42c97267bf003f272060dc95a28e9363bb942b639270062aa6bb295f434bcdfc42c97267bf003f272060dc900000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001440a50cf069e992aa4536211b23f286ef88752187000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000020fd35246687e1b60000000000000000000000000000000000000000","gas_used":56324}},{"traces":{"0xae78736cd615f374d3085123a210448e74fc6393":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0xffb02e5fa1452b0097fc75fe920a695b255293eee893f77528f459f00db668d6","0xb996d463b0f10e37be7f56ced2692ccaceca940e41b9e2858f47edbab814f39e"],"storage_written":{"0xb996d463b0f10e37be7f56ced2692ccaceca940e41b9e2858f47edbab814f39e":"0x55220184a2025c0","0xffb02e5fa1452b0097fc75fe920a695b255293eee893f77528f459f00db668d6":"0x0"},"code_usage":{"read":"0xe34255314ec42825a6444800e6894665b8c74e84e9dd2f20866f7057812b3adf"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d57963c2dc93db3"},"0x1d8f8f00cfa6758d7be78336684788fb0ee0fa46":{"storage_read":["0x919ad863d9c79b8260912206244cc6f5511968f5c4f9408b41cb0c02f21918f2"],"code_usage":{"read":"0x06ca4c6dae1ac07c034c4db6ac4c2f7179a02f66cf2c266a383e090b3b407dae"}},"0x300a2017f8232dea84ca60b01aaa83df35a692c3":{"balance":"0xe8e3ba1cfb3443","nonce":"0x14"}},"meta":{"byte_code":"0x02f8b101138439a930da85020c65f0a183015dfb94ae78736cd615f374d3085123a210448e74fc639380b844a9059cbb0000000000000000000000001e9c0bb00ff504e2c4ed9368656e876616e25666000000000000000000000000000000000000000000000000055220184a2025c0c080a05e242032b1e569dd1fa1883407b8da2f07c4bd119a9060445db8b3019e1a8c28a0458690502e042d57e65b4203147dfd14d702e69c2ca0ef385952108bdab872c9","new_txn_trie_node_byte":"0x02f8b101138439a930da85020c65f0a183015dfb94ae78736cd615f374d3085123a210448e74fc639380b844a9059cbb0000000000000000000000001e9c0bb00ff504e2c4ed9368656e876616e25666000000000000000000000000000000000000000000000000055220184a2025c0c080a05e242032b1e569dd1fa1883407b8da2f07c4bd119a9060445db8b3019e1a8c28a0458690502e042d57e65b4203147dfd14d702e69c2ca0ef385952108bdab872c9","new_receipt_trie_node_byte":"0xb901ab02f901a701833112efb9010000000000000000040000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000001000000000000000000800000000000000000000000000000000000000000000000000202000000000004000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000f89df89b94ae78736cd615f374d3085123a210448e74fc6393f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000300a2017f8232dea84ca60b01aaa83df35a692c3a00000000000000000000000001e9c0bb00ff504e2c4ed9368656e876616e25666a0000000000000000000000000000000000000000000000000055220184a2025c0","gas_used":54681}},{"traces":{"0x1258d60b224c0c5cd888d37bbf31aa5fcfb7e870":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000010","0x61f2a744d58a5a148d8975b648966cd5588539479ac99fefd154e53e7e8e73e1","0x8863bac346c76612aa775c40409b1d922f97761823a02ab1839d76d48f608e1d","0x3ca49ac9047982b0833b32c2b40f65f0c27f139c04c9e328154f8ac3e12562f1","0x000000000000000000000000000000000000000000000000000000000000000e"],"storage_written":{"0x61f2a744d58a5a148d8975b648966cd5588539479ac99fefd154e53e7e8e73e1":"0x5bdbfd3a80730cbe14","0x8863bac346c76612aa775c40409b1d922f97761823a02ab1839d76d48f608e1d":"0x0"},"code_usage":{"read":"0xbb063ca69a07dbd99cb05b81afd3d97189d9282a4c7a6c8947ed95cbaf6dcb31"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d57c51e62e1f993"},"0xb20221c54128fab03425314983616c46d5bfb854":{"balance":"0xd060a6adafaa30c","nonce":"0x3b4"}},"meta":{"byte_code":"0x02f8b3018203b3843814fea0850225de3ee283015e9b941258d60b224c0c5cd888d37bbf31aa5fcfb7e87080b844a9059cbb00000000000000000000000088cba2e8883d09a5421bafaf4a6dea769877445c00000000000000000000000000000000000000000000005bdbfd3a80730cbe14c001a0ab88d882c211805b1814eec9117aefcceeffb3aca3af6a607187c5a82a12a513a03142f652d079690e60b9286f11f306dd9968cf4365646a9339c94611329156df","new_txn_trie_node_byte":"0x02f8b3018203b3843814fea0850225de3ee283015e9b941258d60b224c0c5cd888d37bbf31aa5fcfb7e87080b844a9059cbb00000000000000000000000088cba2e8883d09a5421bafaf4a6dea769877445c00000000000000000000000000000000000000000000005bdbfd3a80730cbe14c001a0ab88d882c211805b1814eec9117aefcceeffb3aca3af6a607187c5a82a12a513a03142f652d079690e60b9286f11f306dd9968cf4365646a9339c94611329156df","new_receipt_trie_node_byte":"0xb901ab02f901a7018331e8f2b9010000000000000100000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000001000000000000000000000002000002000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000020400000000000000000000f89df89b941258d60b224c0c5cd888d37bbf31aa5fcfb7e870f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b20221c54128fab03425314983616c46d5bfb854a000000000000000000000000088cba2e8883d09a5421bafaf4a6dea769877445ca000000000000000000000000000000000000000000000005bdbfd3a80730cbe14","gas_used":54787}},{"traces":{"0xc46072c1b2dfab6b3dee8dd30e9b04ff48a61dab":{"balance":"0x12da198f634a2b","nonce":"0x1"},"0xa5409ec958c83c3f309868babaca7c86dcb077c1":{"storage_read":["0x18916d353e31a073a89c28e3d0d152c239a97a911b320f188daaa33ad1ca6a37"],"code_usage":{"read":"0x01a61ceadb92ef3e842768754b065777484caff8a105d6872921ffcfc7a750de"}},"0x23581767a106ae21c074b2276d25e5c3e136a68b":{"storage_read":["0xedbbf040b8ad97ebf449a628a12c61ac278ac45567d6cdbb98b0a58620b4bf29"],"storage_written":{"0xedbbf040b8ad97ebf449a628a12c61ac278ac45567d6cdbb98b0a58620b4bf29":"0x1"},"code_usage":{"read":"0xf012e52b591128aebdeaf228ec5f45b3fc91d174b6df5d8974a92d325c28b2ec"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d57f32414858713"}},"meta":{"byte_code":"0x02f8b101808439d1068085023b96d9d883010cec9423581767a106ae21c074b2276d25e5c3e136a68b80b844a22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000001c001a0eeee3103d59f1ee01f1b9fb455e98a0da4d7a06fd8ceeb3a72b7b323783c27a2a043521453a09efb93463b2e683cced8e61e546f23265ecd52741d8fecad0edcb4","new_txn_trie_node_byte":"0x02f8b101808439d1068085023b96d9d883010cec9423581767a106ae21c074b2276d25e5c3e136a68b80b844a22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000001c001a0eeee3103d59f1ee01f1b9fb455e98a0da4d7a06fd8ceeb3a72b7b323783c27a2a043521453a09efb93463b2e683cced8e61e546f23265ecd52741d8fecad0edcb4","new_receipt_trie_node_byte":"0xb901ab02f901a7018332b4b9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000020000000000000000000000040000000000000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000001000080400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200810000000000000000000000000000000000000000000000000000000f89df89b9423581767a106ae21c074b2276d25e5c3e136a68bf863a017307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31a0000000000000000000000000c46072c1b2dfab6b3dee8dd30e9b04ff48a61daba00000000000000000000000001e0049783f008a0085193e00003d00cd54003c71a00000000000000000000000000000000000000000000000000000000000000001","gas_used":52167}},{"traces":{"0x3d06a7096f5c79398fec675615e248d0659a9405":{"balance":"0xb18e1f2e69aed","nonce":"0xd"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d582117f0641af3"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x95f7660780dd448d927f5bcecaaf9cdff1e4fdf7dd7f6a5a7cef35944c908a6a","0x8a52b28db900000d8df9c74b462332c4a4a8528ce3f7b6f53279dee7577d13b3"],"storage_written":{"0x95f7660780dd448d927f5bcecaaf9cdff1e4fdf7dd7f6a5a7cef35944c908a6a":"0x1bbb20353462ba1a3600","0x8a52b28db900000d8df9c74b462332c4a4a8528ce3f7b6f53279dee7577d13b3":"0x3635c9adc5dea00000"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}}},"meta":{"byte_code":"0x02f8b1010c843814fea0850241c50c6383013f4e9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000c635123a9a0486332575c202671ccd6238e18c1500000000000000000000000000000000000000000000003635c9adc5dea00000c080a07c55cf9edec5d34070aa14abe20552659b909c634788e04072ae161e22418b65a06980a23188858ba466beaea3e197a0a75bd186c888e9bc8c548513ba455ff1e6","new_txn_trie_node_byte":"0x02f8b1010c843814fea0850241c50c6383013f4e9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000c635123a9a0486332575c202671ccd6238e18c1500000000000000000000000000000000000000000000003635c9adc5dea00000c080a07c55cf9edec5d34070aa14abe20552659b909c634788e04072ae161e22418b65a06980a23188858ba466beaea3e197a0a75bd186c888e9bc8c548513ba455ff1e6","new_receipt_trie_node_byte":"0xb901ab02f901a7018333867cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000100000000000000020000000004000000010000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003d06a7096f5c79398fec675615e248d0659a9405a0000000000000000000000000c635123a9a0486332575c202671ccd6238e18c15a000000000000000000000000000000000000000000000003635c9adc5dea00000","gas_used":53699}},{"traces":{"0x1bbe973bef3a977fc51cbed703e8ffdefe001fed":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0xbd7af7b8dc55d64cecdc2355b3dfb8bae1b39a85e0b3d3be3d9f041b267abd03","0x02884b229a41d7c739c60a0882307abf79ea0b1b32d294be4ee3d67bb2ef4887"],"storage_written":{"0xbd7af7b8dc55d64cecdc2355b3dfb8bae1b39a85e0b3d3be3d9f041b267abd03":"0x5cd7a78e0b5d0000","0x02884b229a41d7c739c60a0882307abf79ea0b1b32d294be4ee3d67bb2ef4887":"0x69383b245a6a30000"},"code_usage":{"read":"0xaf45f75184f9619ae080a0f8211478fa4f485db6fb0214bfc7f21cc44f00f300"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d584f092b46bf53"},"0x76aa6466bff045a813379aae69be758bcbeeeec4":{"balance":"0xa4b2656b39d61","nonce":"0x7a"}},"meta":{"byte_code":"0x02f8b10179843814fea0850241c50c6383013f3c941bbe973bef3a977fc51cbed703e8ffdefe001fed80b844a9059cbb000000000000000000000000a81b3d2b75b936a561086560d555ddca4d4912250000000000000000000000000000000000000000000000069383b245a6a30000c080a0174db005eeee98b46e3f97c20284415fb2702bc64e8ca3c31fbbc08f7c1bcc25a031628e8db7b11a8996040a16ca4ebee9968b34fcb5e1b9aca6a45a1373dbd4c0","new_txn_trie_node_byte":"0x02f8b10179843814fea0850241c50c6383013f3c941bbe973bef3a977fc51cbed703e8ffdefe001fed80b844a9059cbb000000000000000000000000a81b3d2b75b936a561086560d555ddca4d4912250000000000000000000000000000000000000000000000069383b245a6a30000c080a0174db005eeee98b46e3f97c20284415fb2702bc64e8ca3c31fbbc08f7c1bcc25a031628e8db7b11a8996040a16ca4ebee9968b34fcb5e1b9aca6a45a1373dbd4c0","new_receipt_trie_node_byte":"0xb901ab02f901a70183345833b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000008000000000000800000000800000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000002000000000000000000000000000000000040000000000040000100000000000000000000000000000000000000000000000000000000800000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000f89df89b941bbe973bef3a977fc51cbed703e8ffdefe001fedf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000076aa6466bff045a813379aae69be758bcbeeeec4a0000000000000000000000000a81b3d2b75b936a561086560d555ddca4d491225a00000000000000000000000000000000000000000000000069383b245a6a30000","gas_used":53687}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d587b0f3e4b6e73"},"0xfacc10e07518f73c9f4d587eab349b74c551f140":{"balance":"0x57978178d0472","nonce":"0x23"},"0x3bd7d4f524d09f4e331577247a048d56e4b67a7f":{"storage_read":["0x742473417c14aef853ddc55270bc56a6fb97a6edab57e53125c7f84eefc6fa9e","0x926e2cd1c696d362b8a8aee2a16377027dcf986189809ecbac45ab33f3278bf8"],"storage_written":{"0x742473417c14aef853ddc55270bc56a6fb97a6edab57e53125c7f84eefc6fa9e":"0xf70d212ebecce530000","0x926e2cd1c696d362b8a8aee2a16377027dcf986189809ecbac45ab33f3278bf8":"0x9acef1dcf0516977e000"},"code_usage":{"read":"0x4225ccf794b0aa21b88818b7ca253caa70d7ba293fb4bcf22396b737cab2532c"}}},"meta":{"byte_code":"0x02f8b10122843814fea0850241c50c6383012fbd943bd7d4f524d09f4e331577247a048d56e4b67a7f80b844a9059cbb000000000000000000000000816b4590312906f88de128f24d2a746364402288000000000000000000000000000000000000000000000f70d212ebecce530000c080a0d7156413244b437a47e419eabd3f9f532e082484e1f39585dd499089686bddf1a0342928b167cb6ab56ca8139df55ff3ec76401e6fcc9219f08e8ebf8f921ab1f8","new_txn_trie_node_byte":"0x02f8b10122843814fea0850241c50c6383012fbd943bd7d4f524d09f4e331577247a048d56e4b67a7f80b844a9059cbb000000000000000000000000816b4590312906f88de128f24d2a746364402288000000000000000000000000000000000000000000000f70d212ebecce530000c080a0d7156413244b437a47e419eabd3f9f532e082484e1f39585dd499089686bddf1a0342928b167cb6ab56ca8139df55ff3ec76401e6fcc9219f08e8ebf8f921ab1f8","new_receipt_trie_node_byte":"0xb901ab02f901a70183352128b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000008000000002000000000000000000000000002000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000010000000000000000000002000008000000000000000000000010000000000000000000000000000000000004000000000000000000000000000000000000000000000000000080f89df89b943bd7d4f524d09f4e331577247a048d56e4b67a7ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000facc10e07518f73c9f4d587eab349b74c551f140a0000000000000000000000000816b4590312906f88de128f24d2a746364402288a0000000000000000000000000000000000000000000000f70d212ebecce530000","gas_used":51445}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d58a632df9801f3"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x2bc5377019d6e6f5360e48c67a7f2d189ea2709d9c07d884ea74f05818aeb75c","0x412de7ae17c1340a66f06b9f20d9ffe0d946707bff0f991086f1034f53e2b2d3"],"storage_written":{"0x2bc5377019d6e6f5360e48c67a7f2d189ea2709d9c07d884ea74f05818aeb75c":"0x0","0x412de7ae17c1340a66f06b9f20d9ffe0d946707bff0f991086f1034f53e2b2d3":"0x195b7959b388b80000"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x403e82700e33dc904ca47111bbefa7dacf8fd220":{"balance":"0x5acbb744f279a","nonce":"0x3d"}},"meta":{"byte_code":"0x02f8b1013c8439d1068085023b96d9d883013bc39497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000011a394d4bd2eab0c5260d0895c79db084916c9ca0000000000000000000000000000000000000000000000195b7959b388b80000c080a0c7773faf44568e67b8b5b8817a4e61226f0957d3704fa63ad489786b276bea01a0527e8d6a7fadc81aff4f3dcb3f79dedc2ba671fffa7aa8c6ccb31e92404a86b9","new_txn_trie_node_byte":"0x02f8b1013c8439d1068085023b96d9d883013bc39497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000011a394d4bd2eab0c5260d0895c79db084916c9ca0000000000000000000000000000000000000000000000195b7959b388b80000c080a0c7773faf44568e67b8b5b8817a4e61226f0957d3704fa63ad489786b276bea01a0527e8d6a7fadc81aff4f3dcb3f79dedc2ba671fffa7aa8c6ccb31e92404a86b9","new_receipt_trie_node_byte":"0xb901ab02f901a7018335e02bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000040000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000040000000000000000000000100000000000000000000000000000000000000200000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000403e82700e33dc904ca47111bbefa7dacf8fd220a000000000000000000000000011a394d4bd2eab0c5260d0895c79db084916c9caa00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":48899}},{"traces":{"0x967da4048cd07ab37855c090aaf366e4ce1b9f48":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000005"],"storage_written":{"0xf29d238f9e76eee2feb54330b01c675ff3bed03e27d5830857d2ac0b12026a0e":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x7779c4b5efd2135a6cc464c213699cee4c644cc294df0eb7b0117e4257ce169b"}},"0xdda8b238356d0ff85cdfe1a6359943a15a7c9fa3":{"balance":"0x84c713916ba48f","nonce":"0x76"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d58d12074a59e89"}},"meta":{"byte_code":"0x02f8b101758439a930da85020c65f0a18301202794967da4048cd07ab37855c090aaf366e4ce1b9f4880b844095ea7b3000000000000000000000000664d2f142cbc89ee9ed20c8e4eeb66c63b9ce663ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0909eb0ed0532c261870198b09424697d46760798c23940a195099478d5d82898a07e271c3a03b752903f922b169663f0dcfd8068d5b4934fb3b070486d210e6835","new_txn_trie_node_byte":"0x02f8b101758439a930da85020c65f0a18301202794967da4048cd07ab37855c090aaf366e4ce1b9f4880b844095ea7b3000000000000000000000000664d2f142cbc89ee9ed20c8e4eeb66c63b9ce663ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0909eb0ed0532c261870198b09424697d46760798c23940a195099478d5d82898a07e271c3a03b752903f922b169663f0dcfd8068d5b4934fb3b070486d210e6835","new_receipt_trie_node_byte":"0xb901ab02f901a70183369ec2b9010000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080004000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000280008000000000000000000000000000000000030000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000200000000000000000000000f89df89b94967da4048cd07ab37855c090aaf366e4ce1b9f48f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000dda8b238356d0ff85cdfe1a6359943a15a7c9fa3a0000000000000000000000000664d2f142cbc89ee9ed20c8e4eeb66c63b9ce663a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":48791}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d58fac6dbaf5609"},"0xbdbe9f26918918bd3f43a0219d54e5fda9ce1bb3":{"storage_written":{"0x1f05769f325bea695294da307a90556f2a8ea857118e9b1979d95e0fd0bd5a34":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x44b18ce5546aa9198206631542f3062a50ad814a76689f552288ac61076e35c0"}},"0x00633d01ea21b67fef6b1371a43d4c03984e15a8":{"balance":"0xff0fcc789d936","nonce":"0x29a"}},"meta":{"byte_code":"0x02f8b3018202998439d1068085023b96d9d8830116e094bdbe9f26918918bd3f43a0219d54e5fda9ce1bb380b844095ea7b300000000000000000000000040aa958dd87fc8305b97f2ba922cddca374bcd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a069ae63da11452f2a9f92c10cb790a4e939ca07f4a2bf21761152125f86789a45a0080acae0230052dc9813cdf1cac6d0aebdf77aba670743eb78a59e1117b8b3c8","new_txn_trie_node_byte":"0x02f8b3018202998439d1068085023b96d9d8830116e094bdbe9f26918918bd3f43a0219d54e5fda9ce1bb380b844095ea7b300000000000000000000000040aa958dd87fc8305b97f2ba922cddca374bcd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a069ae63da11452f2a9f92c10cb790a4e939ca07f4a2bf21761152125f86789a45a0080acae0230052dc9813cdf1cac6d0aebdf77aba670743eb78a59e1117b8b3c8","new_receipt_trie_node_byte":"0xb901ab02f901a7018337572db9010000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000001000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000040000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000080000000000000000002000004f89df89b94bdbe9f26918918bd3f43a0219d54e5fda9ce1bb3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000000633d01ea21b67fef6b1371a43d4c03984e15a8a000000000000000000000000040aa958dd87fc8305b97f2ba922cddca374bcd7fa0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47211}},{"traces":{"0x60d71e313709e0f910e15b277608ba8acd4eaa56":{"storage_written":{"0x79d60ebba9bf4a7e67590d45053ac9077f9ff4fff7c1ad6687d42c390fdddd82":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x564fe055af69767d65faefd17e62b0dc912c5df11553364ae27abea0620a1e87"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5923d786613809"},"0xeb02809c46b65a674995425a6db6c8d16fc5726c":{"balance":"0x7b0b94493f06f3","nonce":"0x13b"}},"meta":{"byte_code":"0x02f8b20182013a8439d1068085023b96d9d882b7539460d71e313709e0f910e15b277608ba8acd4eaa5680b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0bd979a42e64ede8422befa0e37ed654bc51e356bfe67f7e9ff9a46f30f2175f3a04342de79855a886cd203feaf14d78404e9326e0587435ab35c67ff0690a12e47","new_txn_trie_node_byte":"0x02f8b20182013a8439d1068085023b96d9d882b7539460d71e313709e0f910e15b277608ba8acd4eaa5680b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0bd979a42e64ede8422befa0e37ed654bc51e356bfe67f7e9ff9a46f30f2175f3a04342de79855a886cd203feaf14d78404e9326e0587435ab35c67ff0690a12e47","new_receipt_trie_node_byte":"0xb901ab02f901a70183380d01b9010000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000002000000004000000000000000000001000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000100000000000000020000000000000000000000000000f89df89b9460d71e313709e0f910e15b277608ba8acd4eaa56f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000eb02809c46b65a674995425a6db6c8d16fc5726ca0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46548}},{"traces":{"0xcc09d45e3cdac675ccda6ec2cf8ac612b566fb99":{"balance":"0x70d4e39d14570fd","nonce":"0x10f"},"0x6b175474e89094c44da98b954eedeac495271d0f":{"storage_written":{"0xe78b6d6fc22947e14e5f172e08f21b82d3419b1f56ddcd493dec57818691ec55":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x4e36f96ee1667a663dfaac57c4d185a0e369a3a217e0079d49620f34f85d1ac7"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d594cc650994b09"}},"meta":{"byte_code":"0x02f8b20182010e8439d1068085023b96d9d882b6bd946b175474e89094c44da98b954eedeac495271d0f80b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a044f1843a5eef9cb51af7e684e5c42c5b45fe0e8be18bd9f38c8e0eb20101a62aa003b842ff13ee753ebccbae7472b6189831b7cfa1f9a617e67096b183252e40af","new_txn_trie_node_byte":"0x02f8b20182010e8439d1068085023b96d9d882b6bd946b175474e89094c44da98b954eedeac495271d0f80b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a044f1843a5eef9cb51af7e684e5c42c5b45fe0e8be18bd9f38c8e0eb20101a62aa003b842ff13ee753ebccbae7472b6189831b7cfa1f9a617e67096b183252e40af","new_receipt_trie_node_byte":"0xb901ab02f901a7018338c23fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004008000000000000000000000800000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000001020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000f89df89b946b175474e89094c44da98b954eedeac495271d0ff863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000cc09d45e3cdac675ccda6ec2cf8ac612b566fb99a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46398}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5975758a5a4c23"},"0x489d79959e6ad1e3fef7c939a2d889deff1668a8":{"storage_written":{"0xd030e2d12735c482f80556d9ed36f4a83b779181f76c0fc0d682dfb42623f814":"0x12cb24ccf2edb381c0000"},"code_usage":{"read":"0x66805deea0a99db5f46c361bfdf4a5c78345d41d98c0d16ec15ba50e20ba0eb5"}},"0x4c1aa38c906d08dbef0c0b3a501d9849cc5650ea":{"balance":"0x5af60032cc0feb","nonce":"0x3"}},"meta":{"byte_code":"0x02f8b001028439a930da85021355339582b61f94489d79959e6ad1e3fef7c939a2d889deff1668a880b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3000000000000000000000000000000000000000000012cb24ccf2edb381c0000c001a05f569613aff2601414c7f2c4c7038af0d81cfa213bfd10aa0bee13b4b85a2c59a02fd18f1b27e568e48c692f3301e7e63a230bc2d1028821dfcdb855fedf3c075a","new_txn_trie_node_byte":"0x02f8b001028439a930da85021355339582b61f94489d79959e6ad1e3fef7c939a2d889deff1668a880b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3000000000000000000000000000000000000000000012cb24ccf2edb381c0000c001a05f569613aff2601414c7f2c4c7038af0d81cfa213bfd10aa0bee13b4b85a2c59a02fd18f1b27e568e48c692f3301e7e63a230bc2d1028821dfcdb855fedf3c075a","new_receipt_trie_node_byte":"0xb901ab02f901a701833976e0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000800000000000000000200000000000000000000004004000000000000000000000000800000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000008000000000000000000000000000000000000000000000000f89df89b94489d79959e6ad1e3fef7c939a2d889deff1668a8f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000004c1aa38c906d08dbef0c0b3a501d9849cc5650eaa0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0000000000000000000000000000000000000000000012cb24ccf2edb381c0000","gas_used":46241}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d599d9a59895583"},"0xa9e8acf069c58aec8825542845fd754e41a9489a":{"storage_written":{"0x50ef4dc370487d2c5a2be33f05d402a0e845884e1f3027e29af678cc402f2ed6":"0x15b8d45f001b060000"},"code_usage":{"read":"0x9de9d0d857327e85aed79ab531808def7cc2850bd4ce57d69b988669b8ad3872"}},"0x9bda5777be52e4898229de9294717a21a5f32bb6":{"balance":"0x11059f41140a31a","nonce":"0x2a"}},"meta":{"byte_code":"0x02f8b00129843814fea0850241c50c6382b8bf94a9e8acf069c58aec8825542845fd754e41a9489a80b844095ea7b300000000000000000000000040359b38db010a1d0ff5e7d00cc477d5b393bd72000000000000000000000000000000000000000000000015b8d45f001b060000c080a021e910b3d9efba75bc4110bc1c78c08358c37bcb189d8ebb316059f27c9f5c59a0085fb1ba05614ba8224dc49c21f474fce057300447e77482798801fdc1fc16c5","new_txn_trie_node_byte":"0x02f8b00129843814fea0850241c50c6382b8bf94a9e8acf069c58aec8825542845fd754e41a9489a80b844095ea7b300000000000000000000000040359b38db010a1d0ff5e7d00cc477d5b393bd72000000000000000000000000000000000000000000000015b8d45f001b060000c080a021e910b3d9efba75bc4110bc1c78c08358c37bcb189d8ebb316059f27c9f5c59a0085fb1ba05614ba8224dc49c21f474fce057300447e77482798801fdc1fc16c5","new_receipt_trie_node_byte":"0xb901ab02f901a701833a2e1fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100010000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000010000000000000000200000000000000000000000020000000000800000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000010000000000010000000000000000000000000000000000000000020000000f89df89b94a9e8acf069c58aec8825542845fd754e41a9489af863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000009bda5777be52e4898229de9294717a21a5f32bb6a000000000000000000000000040359b38db010a1d0ff5e7d00cc477d5b393bd72a0000000000000000000000000000000000000000000000015b8d45f001b060000","gas_used":46911}},{"traces":{"0x6e79b51959cf968d87826592f46f819f92466615":{"storage_written":{"0x64f019c7b0a5c2b4ae9949442746b3242497a327cdb2e499db0954beb2d30197":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x49d06170524a869509cd981693225ec8e00e4dcc34c4b5d3b87ad70ce45e1d1e"}},"0x219eca308d2c7ead0eeb89aedeccbd8b01e1084a":{"balance":"0x3376a0b4c9a7250","nonce":"0x3b"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d59c568d8687ca3"}},"meta":{"byte_code":"0x02f8b0013a843814fea0850225de3ee282b734946e79b51959cf968d87826592f46f819f9246661580b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a019b5e345319763fefd87d80eeebc16a65a361decf11ae340d70f3c4fb8b7e20ca037f486f19abdbdb1ead89c63165568de1d20cee11820cbf40829d1a60255f01f","new_txn_trie_node_byte":"0x02f8b0013a843814fea0850225de3ee282b734946e79b51959cf968d87826592f46f819f9246661580b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a019b5e345319763fefd87d80eeebc16a65a361decf11ae340d70f3c4fb8b7e20ca037f486f19abdbdb1ead89c63165568de1d20cee11820cbf40829d1a60255f01f","new_receipt_trie_node_byte":"0xb901ab02f901a701833ae3d4b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000008000000000000000000800000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000008020000000000000000000000000000000000000000000000000001000000000000000000000004000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000f89df89b946e79b51959cf968d87826592f46f819f92466615f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000219eca308d2c7ead0eeb89aedeccbd8b01e1084aa0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46517}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d59ed091c18ed4f"},"0xac7c9874ca597e95c7f88fb5dd3b81174740d269":{"balance":"0x2acce93154a0f2","nonce":"0x6"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243944f4564e6fd0acdce","storage_read":["0x920c5dfc13614f5dfd9544b229e8b4018f67da92cc0d14c97095ce39b331a63a"],"storage_written":{"0x920c5dfc13614f5dfd9544b229e8b4018f67da92cc0d14c97095ce39b331a63a":"0x2d84e69f2f48000"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}}},"meta":{"byte_code":"0x02f87701058439a930da85020c65f0a182b16a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28802d84e69f2f4800084d0e30db0c001a0381a30825ad01a9fd9eecc7c44cd499b327eb6ea61586889857ad46b08ef2685a058499f5547bc99548e2b6341ccda7d39e65be737ae8fc6842f5608b5ce5499ef","new_txn_trie_node_byte":"0x02f87701058439a930da85020c65f0a182b16a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28802d84e69f2f4800084d0e30db0c001a0381a30825ad01a9fd9eecc7c44cd499b327eb6ea61586889857ad46b08ef2685a058499f5547bc99548e2b6341ccda7d39e65be737ae8fc6842f5608b5ce5499ef","new_receipt_trie_node_byte":"0xb9018a02f9018601833b93c2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000000000000000000000000000000000000000000000000000000002000000008000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000400000000000000000f87cf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000ac7c9874ca597e95c7f88fb5dd3b81174740d269a000000000000000000000000000000000000000000000000002d84e69f2f48000","gas_used":45038}},{"traces":{"0x933502de8e228da3d19a2e2fbdd42767705a3a39":{"balance":"0x13c530d3cf54379","nonce":"0x27"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5a14999bc2998f"},"0x89d584a1edb3a70b3b07963f9a3ea5399e38b136":{"storage_written":{"0x9bfec2b55292fff4565a4779bb43d875354c387d7dc3ead77ae7c1907ce49534":"0x9e9e68396338f80000"},"code_usage":{"read":"0xfe4963db8609319fda09626fbab50fcf1c87df4e37b07d4c5b6d3ada141d7425"}}},"meta":{"byte_code":"0x02f8b00126843814fea0850225de3ee282b6189489d584a1edb3a70b3b07963f9a3ea5399e38b13680b844095ea7b3000000000000000000000000a56ce568d5af16c379cfd41be98754f9b257ebc000000000000000000000000000000000000000000000009e9e68396338f80000c080a0c323a9e7c69fe23069ad0d807e9c141c8219be100932a7488cc0e0e7b342f626a0062dbe0cbcc7d1488a0429c0137b7a0dd2cff3b56bcc48a7248b82b19db32c19","new_txn_trie_node_byte":"0x02f8b00126843814fea0850225de3ee282b6189489d584a1edb3a70b3b07963f9a3ea5399e38b13680b844095ea7b3000000000000000000000000a56ce568d5af16c379cfd41be98754f9b257ebc000000000000000000000000000000000000000000000009e9e68396338f80000c080a0c323a9e7c69fe23069ad0d807e9c141c8219be100932a7488cc0e0e7b342f626a0062dbe0cbcc7d1488a0429c0137b7a0dd2cff3b56bcc48a7248b82b19db32c19","new_receipt_trie_node_byte":"0xb901ab02f901a701833c485cb9010000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000010200000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000080000800100000000000000000000000000000000000000000000000000000000000000000010000000400000000000000000000000000000000000000000000000000000f89df89b9489d584a1edb3a70b3b07963f9a3ea5399e38b136f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000933502de8e228da3d19a2e2fbdd42767705a3a39a0000000000000000000000000a56ce568d5af16c379cfd41be98754f9b257ebc0a000000000000000000000000000000000000000000000009e9e68396338f80000","gas_used":46234}},{"traces":{"0x582d872a1b094fc48f5de31d3b73f2d9be47def1":{"storage_written":{"0x428f8f4bcf94fb4b393d2c14f8eaa1e232313c36aaf8bb4510bc358cde836948":"0x218711a00"},"code_usage":{"read":"0x729c20e4448b145cbba2c7ca89c5ca939e4c20357c547a387daec922052ec9ec"}},"0x6ad7cb100266ec6df8fbca8c7d554b4981509e18":{"balance":"0x12ef7baa98d654","nonce":"0x10"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5a3c2662075d2f"}},"meta":{"byte_code":"0x02f8b0010f843814fea0850241c50c6382b75894582d872a1b094fc48f5de31d3b73f2d9be47def180b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000000000000000000218711a00c001a04c6b31ca7581274b4920fe93ac029839dc5d293be0683484eb46fe0b24846702a00ae19647ca816e5814765e477736aed86b2ef11f7e34400e0288995e030843de","new_txn_trie_node_byte":"0x02f8b0010f843814fea0850241c50c6382b75894582d872a1b094fc48f5de31d3b73f2d9be47def180b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba30000000000000000000000000000000000000000000000000000000218711a00c001a04c6b31ca7581274b4920fe93ac029839dc5d293be0683484eb46fe0b24846702a00ae19647ca816e5814765e477736aed86b2ef11f7e34400e0288995e030843de","new_receipt_trie_node_byte":"0xb901ab02f901a701833cfce5b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000000000000000000200000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100020000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000100000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94582d872a1b094fc48f5de31d3b73f2d9be47def1f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000006ad7cb100266ec6df8fbca8c7d554b4981509e18a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a00000000000000000000000000000000000000000000000000000000218711a00","gas_used":46217}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0xe65fe4ac6b801e73137c8f7af7508ddad0cf646bf7f95627919aeb561e1186f1","0xeac746ab324b3d048141abdb66bac345eafa031dfa4f7a443ad0570e6e308526","0x0000000000000000000000000000000000000000000000000000000000000000","0x425ac43d034cdc6ed35776662ecd006d1043edd76f33e86b2bfdccd0427d8c9d","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0xe65fe4ac6b801e73137c8f7af7508ddad0cf646bf7f95627919aeb561e1186f1":"0x357a0e90","0xeac746ab324b3d048141abdb66bac345eafa031dfa4f7a443ad0570e6e308526":"0x873c34835"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5a639e206ca4cf"},"0xa74fc028e11742d063df49bfd1bbf910fff7d8f6":{"balance":"0x3936ff4bcb32fb","nonce":"0x2c"}},"meta":{"byte_code":"0x02f8b1012b843814fea0850241c50c638301107a94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000001512ec6c73c9a5c3c01a57ab114dc7825326d64200000000000000000000000000000000000000000000000000000001c38b4df6c080a003b66348a098979f0a931ccdb235243c6a91227110447e55291a5be012fef470a07ece0b43f132f6e8c4bf1ea899eaf763e44b4b8026b44fbb269a1dcdec971595","new_txn_trie_node_byte":"0x02f8b1012b843814fea0850241c50c638301107a94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000001512ec6c73c9a5c3c01a57ab114dc7825326d64200000000000000000000000000000000000000000000000000000001c38b4df6c080a003b66348a098979f0a931ccdb235243c6a91227110447e55291a5be012fef470a07ece0b43f132f6e8c4bf1ea899eaf763e44b4b8026b44fbb269a1dcdec971595","new_receipt_trie_node_byte":"0xb901ab02f901a701833db10eb9010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000010000010000000000000000000000000000000000000000000000000008000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000010000002000000000000020000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a74fc028e11742d063df49bfd1bbf910fff7d8f6a00000000000000000000000001512ec6c73c9a5c3c01a57ab114dc7825326d642a000000000000000000000000000000000000000000000000000000001c38b4df6","gas_used":46121}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x39fa571a3598af610940e1388d0b6217e38ab61811739dfd05b6c91d889e08cd","0x00447a04bd5f25bd6a7a834265a20afedd9912ccfeba9fc8498593cdc0b1a4ad","0x0000000000000000000000000000000000000000000000000000000000000000","0x81137cc1583303edc2c29fcafedf102d07fa8b4aa0b4f2cfeb78e796896174a8","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x39fa571a3598af610940e1388d0b6217e38ab61811739dfd05b6c91d889e08cd":"0x1f1a","0x00447a04bd5f25bd6a7a834265a20afedd9912ccfeba9fc8498593cdc0b1a4ad":"0x51efddc1c"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5a8b133dd5fcef"},"0x6497af269cddd099c82f09208b89c62faeef0545":{"balance":"0x4f99aeffdd974","nonce":"0x149"}},"meta":{"byte_code":"0x02f8b301820148843814fea085022edc73718301106894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000005e809a85aa182a9921edd10a4163745bb3e362840000000000000000000000000000000000000000000000000000000002fcec53c001a0e3649273f40835f3a78450985d5a486cce0f246da328195ff506dd149a2e92c4a06de7f46799a592969aedbf9ab12168bf7fb4e43decfd8b103351185e18881882","new_txn_trie_node_byte":"0x02f8b301820148843814fea085022edc73718301106894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000005e809a85aa182a9921edd10a4163745bb3e362840000000000000000000000000000000000000000000000000000000002fcec53c001a0e3649273f40835f3a78450985d5a486cce0f246da328195ff506dd149a2e92c4a06de7f46799a592969aedbf9ab12168bf7fb4e43decfd8b103351185e18881882","new_receipt_trie_node_byte":"0xb901ab02f901a701833e652bb9010000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000010000000000000000000000000000000000000000008000000000000008000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000020000000000000000020000000000000000000000000000000000000000000000000000000020000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006497af269cddd099c82f09208b89c62faeef0545a00000000000000000000000005e809a85aa182a9921edd10a4163745bb3e36284a00000000000000000000000000000000000000000000000000000000002fcec53","gas_used":46109}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5aa720e8e4626f"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x7e3a6f4aecc40e0a92891813be182e6598b35c268657597a08f8396e964b31fb","0x000000000000000000000000000000000000000000000000000000000000000a","0xe6a92e2ae2b82ee77e0667fed8440f1676889c03719916945e271c05ca6a5f42"],"storage_written":{"0xe6a92e2ae2b82ee77e0667fed8440f1676889c03719916945e271c05ca6a5f42":"0x0","0x7e3a6f4aecc40e0a92891813be182e6598b35c268657597a08f8396e964b31fb":"0xe43744274fce780000"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0xc4bd04fbe689da712b5918658ae04eb2d471fe8d":{"balance":"0x1247ed55d06268","nonce":"0x9"}},"meta":{"byte_code":"0x02f8b001088439d1068085023b96d9d882d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000666aa08fdbd1d349fdef63cb57841a365c894e460000000000000000000000000000000000000000000000195b7959b388b80000c001a086df0fec96f68aafcc7575fc4eaf45ef438380d1c308af96e3e239cac262d5e7a02741b2a5876f826e1007136ab9493144a5ee74f2a8a3583b82d24769cc2c7403","new_txn_trie_node_byte":"0x02f8b001088439d1068085023b96d9d882d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000666aa08fdbd1d349fdef63cb57841a365c894e460000000000000000000000000000000000000000000000195b7959b388b80000c001a086df0fec96f68aafcc7575fc4eaf45ef438380d1c308af96e3e239cac262d5e7a02741b2a5876f826e1007136ab9493144a5ee74f2a8a3583b82d24769cc2c7403","new_receipt_trie_node_byte":"0xb901ab02f901a701833ee162b9010000100000000000000000000000000000000000000000000040200000000000000000000000000008000000000000010000000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000000000000010000000000000000000000000000000000000010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c4bd04fbe689da712b5918658ae04eb2d471fe8da0000000000000000000000000666aa08fdbd1d349fdef63cb57841a365c894e46a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5ac31b3fe77945"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x9af3cba7aacd7c2e750b5e6395f62ba5a573c380504b3eac4eeed8c4643ec1ed","0xa50567e008aaa696f8ea0129fedecca5ff12bf7ddeb0050e4df2ae872bc1d407"],"storage_written":{"0xa50567e008aaa696f8ea0129fedecca5ff12bf7ddeb0050e4df2ae872bc1d407":"0x2aca5cc75ef6b680000","0x9af3cba7aacd7c2e750b5e6395f62ba5a573c380504b3eac4eeed8c4643ec1ed":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0xf00b0f7978169d8d0ece83e918c2380bcf7170b3":{"balance":"0x13d6f826766dce","nonce":"0x3"}},"meta":{"byte_code":"0x02f8b001028439a930da85021355339582d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000d0ed5ab614b12ecc639ec30969ff636a415fe0ef0000000000000000000000000000000000000000000000195b7959b388b80000c001a0d1d367cbc03e57eb8faa760a7edad51d59d9c7a4a3f02038f6452c4440cd0cb5a01cd04b7c75b2c6c66c9c09526d037f18c8b7f70f47468015beabda7c0c4b3d30","new_txn_trie_node_byte":"0x02f8b001028439a930da85021355339582d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000d0ed5ab614b12ecc639ec30969ff636a415fe0ef0000000000000000000000000000000000000000000000195b7959b388b80000c001a0d1d367cbc03e57eb8faa760a7edad51d59d9c7a4a3f02038f6452c4440cd0cb5a01cd04b7c75b2c6c66c9c09526d037f18c8b7f70f47468015beabda7c0c4b3d30","new_receipt_trie_node_byte":"0xb901ab02f901a701833f5d99b9010000000000000000000000000000000000000000000000000000000000000000000000000000000008001000000000000000000000000000000000000000000000000000000000020000000008000000000000000010000000000000400000000040000000000000008000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f00b0f7978169d8d0ece83e918c2380bcf7170b3a0000000000000000000000000d0ed5ab614b12ecc639ec30969ff636a415fe0efa00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x628acbac40dbd1a1190463f9b7928bd448d1737b1a9e54626fe689f6f7de604c","0xbcad436f32abad388099b165fa1d2129641ae24eacad3d753297fde9de9d8ddb","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0x6f6c4aa73324590984e4c745a1323e3f60eefd485ba8e82ee441757ae63f2abc"],"storage_written":{"0xbcad436f32abad388099b165fa1d2129641ae24eacad3d753297fde9de9d8ddb":"0x253c8f4a5","0x628acbac40dbd1a1190463f9b7928bd448d1737b1a9e54626fe689f6f7de604c":"0x1","0x6f6c4aa73324590984e4c745a1323e3f60eefd485ba8e82ee441757ae63f2abc":"0x28eb261f7750"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5ad9688c4cc5c5"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x7aafc2449514864f4c34c43362e6df3cbabc7b6cfab7b6032600a593042b25f6","0x482f9b877f5fd67f4deed8e6e77684b124747e9b32a8b41a0da671ec542c8921","0x41454207968c72ca1f3954c5598e356985453971691489da81cf528e5ddc46ce","0x5cea135548c1801a51ca3882686a70ca97c2305e72b9538a65533649b0d31186","0x9810ea0522531e31c9d6aba2c4472a86ff9cc1c2d12954bb0e320b00e195e910","0x000000000000000000000000000000000000000000000000000000000000000a","0xcb38462cd636897283a1c28eb438f4ebdbb1ac8e08b5c780ffa76c486469f1ab","0xb36be5688aa5f1fe502bee16eea4495205ccef19d4d43434f78908a09f95006c"],"storage_written":{"0x7aafc2449514864f4c34c43362e6df3cbabc7b6cfab7b6032600a593042b25f6":"0x1b44df077","0xb36be5688aa5f1fe502bee16eea4495205ccef19d4d43434f78908a09f95006c":"0x1","0x482f9b877f5fd67f4deed8e6e77684b124747e9b32a8b41a0da671ec542c8921":"0x4bcfd0cce74a","0xcb38462cd636897283a1c28eb438f4ebdbb1ac8e08b5c780ffa76c486469f1ab":"0x0"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x0000000000000000000000000000000000000004":{},"0x9b98039e8a03210204d39a1839229f30ff409149":{"balance":"0x289d27d0d5b2a03","nonce":"0x15"},"0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000ffffff","0x000000000000000000000000000000000000000000000000000000000000000f","0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7","0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8","0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e565","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000002","0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000003","0x290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e564"],"storage_written":{"0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf8":"0x4bcdaf690008","0x0000000000000000000000000000000000000000000000000000000000ffffff":"0x0","0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf7":"0x28e9d5e4c076"},"code_usage":{"read":"0x954a1e212c557c85043985931498ffa3e2fcbe7dfe9cd61513f36eb47d6f4dfc"}},"0xf0d4c12a5768d806021f80a262b4d39d26c58b8d":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0xcac7e0ff5be0fe60604acad89a1debe11750165fadaee06810c926948752fc12"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0"},"code_usage":{"read":"0xdfc206a29f04b4cee5b7b8d5b60ffcd2574fc9ff17cc5ec00c58b17013ea3f3b"}}},"meta":{"byte_code":"0x02f905d201148407bfa480850254a47a808304bb4b94f0d4c12a5768d806021f80a262b4d39d26c58b8d80b905645c9c18e2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000218711a0000000000000000000000000000000000000000000000000000000002180bdd48000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a02089dfca0c0a01c19a913a98b1628e5bedd06338e1f6b6413f638efdd7e5b273a02db0cd82efdab79d6f22c5cd449dcf489c1795a82ba46869c89ce89d82b4c24d","new_txn_trie_node_byte":"0x02f905d201148407bfa480850254a47a808304bb4b94f0d4c12a5768d806021f80a262b4d39d26c58b8d80b905645c9c18e2000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000218711a0000000000000000000000000000000000000000000000000000000002180bdd48000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a02089dfca0c0a01c19a913a98b1628e5bedd06338e1f6b6413f638efdd7e5b273a02db0cd82efdab79d6f22c5cd449dcf489c1795a82ba46869c89ce89d82b4c24d","new_receipt_trie_node_byte":"0xb90a4002f90a3c0183423e6ab9010000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000011000002000000000000000000000000000004000000000090008002008000000000000000000000000000040000000010000000000000000000004000000008000000000000000000000000410000000000000000000000000000000100008000000000000010000000000000000100000004000002000200000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000080000000000000000000000020000000000000000000000000000040080f90931f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009b98039e8a03210204d39a1839229f30ff409149a0000000000000000000000000f0d4c12a5768d806021f80a262b4d39d26c58b8da00000000000000000000000000000000000000000000000000000000218711a00f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f0d4c12a5768d806021f80a262b4d39d26c58b8da0000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7a00000000000000000000000000000000000000000000000000000000218711a00f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7a0000000000000000000000000f0d4c12a5768d806021f80a262b4d39d26c58b8da00000000000000000000000000000000000000000000000000000000218350b8af8db94bebc44782c7db0a1a60cb6fe97d0b483032ff1c7f842a08b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd97140a0000000000000000000000000f0d4c12a5768d806021f80a262b4d39d26c58b8db88000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000218711a0000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000218350b8af89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f0d4c12a5768d806021f80a262b4d39d26c58b8da00000000000000000000000009b98039e8a03210204d39a1839229f30ff409149a00000000000000000000000000000000000000000000000000000000218350b8af905dd94f0d4c12a5768d806021f80a262b4d39d26c58b8df863a056d0661e240dfb199ef196e16e6f42473990366314f0226ac978f7be3cd9ee83a00000000000000000000000009b98039e8a03210204d39a1839229f30ff409149a00000000000000000000000009b98039e8a03210204d39a1839229f30ff409149b90560000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bebc44782c7db0a1a60cb6fe97d0b483032ff1c700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000218711a000000000000000000000000000000000000000000000000000000000218350b8a","gas_used":188625}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5b013fce73b5e5"},"0x8143182a775c54578c8b7b3ef77982498866945d":{"storage_written":{"0x90142ae84e6749168e13908887e03af1874560ec86f00bf6ea1ab4554b8c8287":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xaa08f674a1ea319b742cab5f556cdd2aba406acc4427828a3fdfd6d257c241e9"}},"0xe66ccb8d3b6e64fbbc72d8cbeb72efd35503a11b":{"balance":"0x28fbb1f3510d21","nonce":"0x16"}},"meta":{"byte_code":"0x02f8b10115843814fea08501dcd650008301130a948143182a775c54578c8b7b3ef77982498866945d80b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0ec500a2478e9b5c3b4a090d51a81e2756b9f5d1bac539892a6b247c2775b625da0670c06540cf0142210fd01f0a26f6db276bfa24cd2519bb3579c5365d822ca0c","new_txn_trie_node_byte":"0x02f8b10115843814fea08501dcd650008301130a948143182a775c54578c8b7b3ef77982498866945d80b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0ec500a2478e9b5c3b4a090d51a81e2756b9f5d1bac539892a6b247c2775b625da0670c06540cf0142210fd01f0a26f6db276bfa24cd2519bb3579c5365d822ca0c","new_receipt_trie_node_byte":"0xb901ab02f901a7018342f447b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000800000000000000000200000000000000000000000004000000000000000000000000802000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000080000000400000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000004000000f89df89b948143182a775c54578c8b7b3ef77982498866945df863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000e66ccb8d3b6e64fbbc72d8cbeb72efd35503a11ba0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46557}},{"traces":{"0x90b8a07a3d6b9a29f0643a12c40b5c0738d53af5":{"balance":"0x239fa0f0248188"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5b13c69110e9e5"},"0x9599e7d3ae30443f30032f994f04fe69695e9491":{"balance":"0x6bfc5c324a2861","nonce":"0xe"}},"meta":{"byte_code":"0x02f872010d8439d1068085023b96d9d88252089490b8a07a3d6b9a29f0643a12c40b5c0738d53af5872386f26fc1000080c080a0ca2619339b8e4663e320d54d97547b3fa0d63341b21b7c06c87d1dc0d51ff628a0288193653229eef2d3a555b578fc434a006e139bf508a84ecd21ff882646b286","new_txn_trie_node_byte":"0x02f872010d8439d1068085023b96d9d88252089490b8a07a3d6b9a29f0643a12c40b5c0738d53af5872386f26fc1000080c080a0ca2619339b8e4663e320d54d97547b3fa0d63341b21b7c06c87d1dc0d51ff628a0288193653229eef2d3a555b578fc434a006e139bf508a84ecd21ff882646b286","new_receipt_trie_node_byte":"0xb9010d02f90109018343464fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x8b6115dcc89cd3f814092fe89605bed313a0e7df":{"balance":"0x2820e876a1010","nonce":"0x55"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5b264d53ae1de5"},"0x537612072db6a94688ea0f8a3a7560e2aa9ba528":{"balance":"0xba0c6ca6629cf9"}},"meta":{"byte_code":"0x02f87201548439d1068085023b96d9d8827b0c94537612072db6a94688ea0f8a3a7560e2aa9ba52887b9ce92a9c0c00080c080a051f39f3a0b31a21e6ccdd8cba5cbd8d6ebede13453f814727834acf5718bfd83a00dd12dd9963e792d7a9d5d948eaa5b0d5ca44d2f4da023d7d3fd9d50cd7c9ab7","new_txn_trie_node_byte":"0x02f87201548439d1068085023b96d9d8827b0c94537612072db6a94688ea0f8a3a7560e2aa9ba52887b9ce92a9c0c00080c080a051f39f3a0b31a21e6ccdd8cba5cbd8d6ebede13453f814727834acf5718bfd83a00dd12dd9963e792d7a9d5d948eaa5b0d5ca44d2f4da023d7d3fd9d50cd7c9ab7","new_receipt_trie_node_byte":"0xb9010d02f901090183439857b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xb9568122d3c0b53211c12219060ae23c811378ec":{"balance":"0xe3e28d5060d4c8"},"0xddd43da04f1173d58a3162a3f93b60f4edd9dc0a":{"balance":"0x610d02523c97c9","nonce":"0xcc"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5b38d4164b51e5"}},"meta":{"byte_code":"0x02f8730181cb8439d1068085023b96d9d882520894b9568122d3c0b53211c12219060ae23c811378ec87e35fa931a0000080c001a079f46682f77945ba852353e2783e3a2fea80a8a6e22bd197975015edb7184794a04777f3b3ae047144ef043d4b176639cf144cdf42e790db1048eeac0fc4790640","new_txn_trie_node_byte":"0x02f8730181cb8439d1068085023b96d9d882520894b9568122d3c0b53211c12219060ae23c811378ec87e35fa931a0000080c001a079f46682f77945ba852353e2783e3a2fea80a8a6e22bd197975015edb7184794a04777f3b3ae047144ef043d4b176639cf144cdf42e790db1048eeac0fc4790640","new_receipt_trie_node_byte":"0xb9010d02f90109018343ea5fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5b4b5ad8e885e5"},"0xeaf47884734f09899146799f44fedef9dd77bc36":{"balance":"0x37ce43c9b62ab","nonce":"0x1"},"0x80c67432656d59144ceff962e8faf8926599bcf8":{"balance":"0x3a274ddad19ef383e"}},"meta":{"byte_code":"0x02f87301808439d1068085023b96d9d88252089480c67432656d59144ceff962e8faf8926599bcf8880e14bf2942c5833d80c001a090156c3fcd75b4eb8da40b4d52775ce8558f686e1f338ec7155599be6900de0ba07a2036e4aad68e9158f3ff43520c9cb7c5d5076e040db6fa0046948b8bac6227","new_txn_trie_node_byte":"0x02f87301808439d1068085023b96d9d88252089480c67432656d59144ceff962e8faf8926599bcf8880e14bf2942c5833d80c001a090156c3fcd75b4eb8da40b4d52775ce8558f686e1f338ec7155599be6900de0ba07a2036e4aad68e9158f3ff43520c9cb7c5d5076e040db6fa0046948b8bac6227","new_receipt_trie_node_byte":"0xb9010d02f901090183443c67b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x7769a106735a629da33b5100d26ebec7a61d8d09":{"balance":"0x2bfec1c9d385218","nonce":"0x34"},"0x63869ec9f032f3036bcce1d302147437470d7d15":{"balance":"0x29cc61a374a2e111"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5b5de19b85b9e5"}},"meta":{"byte_code":"0x02f87301338439d1068085023b96d9d88252089463869ec9f032f3036bcce1d302147437470d7d158829a2241af62c000080c001a042d5f4a4124dcd89af6e65726ed367ed209e2e732249fa6832828c22304f1262a0055aa8f74fef2ce684bd36f148f563b91283bc7f3d64650673a6bce48e777e8c","new_txn_trie_node_byte":"0x02f87301338439d1068085023b96d9d88252089463869ec9f032f3036bcce1d302147437470d7d158829a2241af62c000080c001a042d5f4a4124dcd89af6e65726ed367ed209e2e732249fa6832828c22304f1262a0055aa8f74fef2ce684bd36f148f563b91283bc7f3d64650673a6bce48e777e8c","new_receipt_trie_node_byte":"0xb9010d02f901090183448e6fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x5af8005da89f903b46e5ebcb12ff39bfb9e3a9e1":{"balance":"0x1807fa5a80f2f3"},"0x918d92fc2ca24379ba1eea1dd1ca385fc5c8df7c":{"balance":"0x1e4922666dc0","nonce":"0x3"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5b705b9a7514b5"}},"meta":{"byte_code":"0x02f87201028439a930da850213553395825208945af8005da89f903b46e5ebcb12ff39bfb9e3a9e1871807fa5a80f2f380c080a0b8bad9e105c0a5fd73eb4bf7a21a60e51648afb7763e5c0af1e6ff59a6d21453a07c8fb957eef41e6721d94d39a42112a4e14e003b0840b34fd4eec7897fe606b8","new_txn_trie_node_byte":"0x02f87201028439a930da850213553395825208945af8005da89f903b46e5ebcb12ff39bfb9e3a9e1871807fa5a80f2f380c080a0b8bad9e105c0a5fd73eb4bf7a21a60e51648afb7763e5c0af1e6ff59a6d21453a07c8fb957eef41e6721d94d39a42112a4e14e003b0840b34fd4eec7897fe606b8","new_receipt_trie_node_byte":"0xb9010d02f90109018344e077b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x73491c4c74d82b8dcd45b5cbcb44e7ffdf39e042":{"balance":"0x1aafc87bcf9a000"},"0x43682bcf1ce452a70b72c109551084076c6377e0":{"balance":"0x51e11413f3cb18","nonce":"0x1"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5b82d599646f85"}},"meta":{"byte_code":"0x02f87301808439a930da8502135533958252089473491c4c74d82b8dcd45b5cbcb44e7ffdf39e0428801aafc87bcf9a00080c080a0a1e9e7aec41d60b238aea532aa7350b8eb811abe96c43c47560d37efca056659a00ebbd5495eb6bdc2f2f5f5bd833bdc9a4337abb3bc94b722fd7bd754cdb0da03","new_txn_trie_node_byte":"0x02f87301808439a930da8502135533958252089473491c4c74d82b8dcd45b5cbcb44e7ffdf39e0428801aafc87bcf9a00080c080a0a1e9e7aec41d60b238aea532aa7350b8eb811abe96c43c47560d37efca056659a00ebbd5495eb6bdc2f2f5f5bd833bdc9a4337abb3bc94b722fd7bd754cdb0da03","new_receipt_trie_node_byte":"0xb9010d02f90109018345327fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5b954f9853ca55"},"0x902037565e50ee5ae234fe3569ef47f69b534c09":{"balance":"0x166118c502bc2","nonce":"0x2"},"0xc1a86e5ce691370decff02bf587bc72871718a26":{"balance":"0x128cb9452c44af"}},"meta":{"byte_code":"0x02f87201018439a930da85021355339582520894c1a86e5ce691370decff02bf587bc72871718a268707404757fc900080c001a0a904d4149680770d8d5baed9a6207c86fcf3c6b27cfc3b27d8f3384f3d738189a04c319271c511d13fdbaaaff613b094ea9dd95c1dff4c0f48ece7f563836645a6","new_txn_trie_node_byte":"0x02f87201018439a930da85021355339582520894c1a86e5ce691370decff02bf587bc72871718a268707404757fc900080c001a0a904d4149680770d8d5baed9a6207c86fcf3c6b27cfc3b27d8f3384f3d738189a04c319271c511d13fdbaaaff613b094ea9dd95c1dff4c0f48ece7f563836645a6","new_receipt_trie_node_byte":"0xb9010d02f901090183458487b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x16ad995e03e97772a9a9d25362e7609b7af0a8b5":{"balance":"0x141491df02b4cb"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5ba7c997432525"},"0x59ddf7b183ba570a87739d54e82820d49c7eabab":{"balance":"0x1c10477a2e20","nonce":"0x4"}},"meta":{"byte_code":"0x02f87201038439a930da85020c65f0a18252089416ad995e03e97772a9a9d25362e7609b7af0a8b58713f7175782b64b80c001a02ce0a2c59817daf56dc44d130efd8e5b31316eebde82e20eac377849c6bddc66a041c136f94c25e85d378ab2ae91a5901e01e8b268a5196c1081f92952eb58f5f3","new_txn_trie_node_byte":"0x02f87201038439a930da85020c65f0a18252089416ad995e03e97772a9a9d25362e7609b7af0a8b58713f7175782b64b80c001a02ce0a2c59817daf56dc44d130efd8e5b31316eebde82e20eac377849c6bddc66a041c136f94c25e85d378ab2ae91a5901e01e8b268a5196c1081f92952eb58f5f3","new_receipt_trie_node_byte":"0xb9010d02f90109018345d68fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xdeb71cd16a916f0e03b0d986497b6bcb85d0a47a":{"balance":"0x883a593ff2b420","nonce":"0x5"},"0x0b088abb6c8ff11aab42ab4d74bc3c934b742b33":{"balance":"0x1ab6a123a1adaaa"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5bba4396327ff5"}},"meta":{"byte_code":"0x02f87301048439a930da850213553395825208940b088abb6c8ff11aab42ab4d74bc3c934b742b338801aa535d3d0c000080c001a003aa6dae9e1713cc031185cf932023e495d07b6c1bb9bfa9f1d6c7e676b41d3aa05db5f8326e7d183c4e540292e74086e8823bb26996b93118402c0448c718b7ae","new_txn_trie_node_byte":"0x02f87301048439a930da850213553395825208940b088abb6c8ff11aab42ab4d74bc3c934b742b338801aa535d3d0c000080c001a003aa6dae9e1713cc031185cf932023e495d07b6c1bb9bfa9f1d6c7e676b41d3aa05db5f8326e7d183c4e540292e74086e8823bb26996b93118402c0448c718b7ae","new_receipt_trie_node_byte":"0xb9010d02f901090183462897b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x2fc617e933a52713247ce25730f6695920b3befe":{"balance":"0x2b301b8ad20e9886b"},"0x7287ba6e4276985776e5a14b432a150ca00688b3":{"balance":"0x2d12fdd775ac56","nonce":"0x3d2"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5bcc46945972f5"}},"meta":{"byte_code":"0x02f877018203d1843814fea085022edc7371825238942fc617e933a52713247ce25730f6695920b3befe876a94d74f430000834ce34cc001a0d480b113c45cd14bc4c9e35d1387260fee05ecbba1527ff894a6d105e521c05ba01ec8e1720bff1826ea812193017f3ea581853c73c03a25dbd478575796d5e3d5","new_txn_trie_node_byte":"0x02f877018203d1843814fea085022edc7371825238942fc617e933a52713247ce25730f6695920b3befe876a94d74f430000834ce34cc001a0d480b113c45cd14bc4c9e35d1387260fee05ecbba1527ff894a6d105e521c05ba01ec8e1720bff1826ea812193017f3ea581853c73c03a25dbd478575796d5e3d5","new_receipt_trie_node_byte":"0xb9010d02f901090183467acfb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21048}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5bde3f0e90a7f5"},"0x84bd08354a6b78f4b75c0d612364cdf23f83e897":{"balance":"0x5aff5284f1b3183"},"0x1554cd0b5953d7014027b059d0d11d4b81bc2da9":{"balance":"0x2dabee0f5600","nonce":"0x5"}},"meta":{"byte_code":"0x02f8720104843814fea0850241c50c638252089484bd08354a6b78f4b75c0d612364cdf23f83e89787656f9e9e97e85680c080a082f6958588f4fd09ef9a5b682408f8f67d2092c1a6487d634a5086bb0dccb12ea04a40bf669327fef9a86401746c0fadf1fa66ec4ef3d8dc9242f283f5513440c1","new_txn_trie_node_byte":"0x02f8720104843814fea0850241c50c638252089484bd08354a6b78f4b75c0d612364cdf23f83e89787656f9e9e97e85680c080a082f6958588f4fd09ef9a5b682408f8f67d2092c1a6487d634a5086bb0dccb12ea04a40bf669327fef9a86401746c0fadf1fa66ec4ef3d8dc9242f283f5513440c1","new_receipt_trie_node_byte":"0xb9010d02f90109018346ccd7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x50d6141603e488f8e035e20e1c02bc64ffdedcad":{"balance":"0x9d333d6ca837","nonce":"0x1"},"0x889762a9bfab22f769e5c45a7a64848442e1aa1d":{"balance":"0x7bbe80359d400"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5bf03788c7dcf5"}},"meta":{"byte_code":"0x02f8720180843814fea0850241c50c6382520894889762a9bfab22f769e5c45a7a64848442e1aa1d8707bbe80359d40080c001a0bfcfcb8e593d45fa1230328ab366dc17802d1985f27c8af0b1c567042bc98c5aa027b291621dfb92625bb6cf665f33c8481445ace79a610769c482a16f78ec6a27","new_txn_trie_node_byte":"0x02f8720180843814fea0850241c50c6382520894889762a9bfab22f769e5c45a7a64848442e1aa1d8707bbe80359d40080c001a0bfcfcb8e593d45fa1230328ab366dc17802d1985f27c8af0b1c567042bc98c5aa027b291621dfb92625bb6cf665f33c8481445ace79a610769c482a16f78ec6a27","new_receipt_trie_node_byte":"0xb9010d02f901090183471edfb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5c023002ff11f5"},"0x6042101c88eada69377fa2a86244f14e459b2ccb":{"balance":"0x51842801ebddbb7f7","nonce":"0x63"},"0x314f929f3a237a1d1c100b4648b877f6301bd043":{"balance":"0x31cdfa95f1ec000"}},"meta":{"byte_code":"0x02f8730162843814fea0850241c50c6382520894314f929f3a237a1d1c100b4648b877f6301bd04388031cdfa95f1ec00080c080a060e11e263e39037c387b5a09ca21d0b3f2ba74461672d8912cb5e749a347d70ca04e1fe84f421c6fa68bac726d0a090568bd4601fdc6026c600397c7ddc574810d","new_txn_trie_node_byte":"0x02f8730162843814fea0850241c50c6382520894314f929f3a237a1d1c100b4648b877f6301bd04388031cdfa95f1ec00080c080a060e11e263e39037c387b5a09ca21d0b3f2ba74461672d8912cb5e749a347d70ca04e1fe84f421c6fa68bac726d0a090568bd4601fdc6026c600397c7ddc574810d","new_receipt_trie_node_byte":"0xb9010d02f9010901834770e7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x701d64870213e284002f593d70c68a71f9fa851d":{"balance":"0x3bb2a92d5d600","nonce":"0x5"},"0x44a6e5372bc66f04a959260dc78ac3203077fc84":{"balance":"0x65c635c9bf07bd"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5c14287d3646f5"}},"meta":{"byte_code":"0x02f8720104843814fea0850241c50c638252089444a6e5372bc66f04a959260dc78ac3203077fc848765c635c9bf07bd80c001a0c1891610b9b1149f2475e34a4b6f8d50c872f305e1aae1a1073b6d6c6b53702fa01170189410ad66ce481668b20dc71558d70fb7edc12be01cb879e9c508131803","new_txn_trie_node_byte":"0x02f8720104843814fea0850241c50c638252089444a6e5372bc66f04a959260dc78ac3203077fc848765c635c9bf07bd80c001a0c1891610b9b1149f2475e34a4b6f8d50c872f305e1aae1a1073b6d6c6b53702fa01170189410ad66ce481668b20dc71558d70fb7edc12be01cb879e9c508131803","new_receipt_trie_node_byte":"0xb9010d02f90109018347c2efb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5c2620f76d7bf5"},"0xfbbc042a6a9f34f3a61e58bce190017ee2a8e279":{"balance":"0xdb32ae210f8448"},"0x0599e0c1c430b4e62291ed6427669701871102c1":{"balance":"0x279cd5cd0a70","nonce":"0x1"}},"meta":{"byte_code":"0x02f8720180843814fea085022edc737182520894fbbc042a6a9f34f3a61e58bce190017ee2a8e27987db32ae210f844880c080a00911b9aa299f630b9cd368e51e0d7210463bb7d931fbbba65cc567658fd393d2a06f1591e2cf32e1ccba2caaa8ddf6429a29a654a42d01c50c7916cbe1ccd815b6","new_txn_trie_node_byte":"0x02f8720180843814fea085022edc737182520894fbbc042a6a9f34f3a61e58bce190017ee2a8e27987db32ae210f844880c080a00911b9aa299f630b9cd368e51e0d7210463bb7d931fbbba65cc567658fd393d2a06f1591e2cf32e1ccba2caaa8ddf6429a29a654a42d01c50c7916cbe1ccd815b6","new_receipt_trie_node_byte":"0xb9010d02f9010901834814f7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5c381971a4b0f5"},"0xf276593743a492ff759132ac271529e07decbb0e":{"balance":"0x279cd5cd0a70","nonce":"0x4"},"0x79bbbec8f9fcfa0a80c72665def63fce8aafc19c":{"balance":"0x1accfa8050796d"}},"meta":{"byte_code":"0x02f8720103843814fea085022edc73718252089479bbbec8f9fcfa0a80c72665def63fce8aafc19c8719b7f6ad1aaaf680c080a07c7ecdc4cb87441027b97a16f931509a25be97419ab0e4dc3211dde5e7cfa150a046cdba8e3d7397e572e625fcab729337201a44465b5ab600084bbd0b06e0b03c","new_txn_trie_node_byte":"0x02f8720103843814fea085022edc73718252089479bbbec8f9fcfa0a80c72665def63fce8aafc19c8719b7f6ad1aaaf680c080a07c7ecdc4cb87441027b97a16f931509a25be97419ab0e4dc3211dde5e7cfa150a046cdba8e3d7397e572e625fcab729337201a44465b5ab600084bbd0b06e0b03c","new_receipt_trie_node_byte":"0xb9010d02f9010901834866ffb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5c4a11ebdbe5f5"},"0xc69f9ee29809d33094e768d24b39b7ccce54d407":{"balance":"0x37f8c8e88e1f1","nonce":"0x44"},"0x80c67432656d59144ceff962e8faf8926599bcf8":{"balance":"0x3a52921442ba4cb68"}},"meta":{"byte_code":"0x02f8730143843814fea0850241c50c638252089480c67432656d59144ceff962e8faf8926599bcf88802b4439711b5932a80c080a0ee997aacc5eefaa8256f6c65627b0cb298c8db1cadc37f237c5ff020461d92b5a022cde72538abc62f7d33e50dd2df0f207a929a45d47ac174bc6445726873c06d","new_txn_trie_node_byte":"0x02f8730143843814fea0850241c50c638252089480c67432656d59144ceff962e8faf8926599bcf88802b4439711b5932a80c080a0ee997aacc5eefaa8256f6c65627b0cb298c8db1cadc37f237c5ff020461d92b5a022cde72538abc62f7d33e50dd2df0f207a929a45d47ac174bc6445726873c06d","new_receipt_trie_node_byte":"0xb9010d02f90109018348b907b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5c5c0a66131af5"},"0x07cac96f45e70a4a49d5484d84490dc09a1d98fd":{"balance":"0x496d78ac6f34f6d1"},"0x147cf7fb412cf5beecb9eac8cea9d49caaf04fb9":{"balance":"0x11030141cbc56605","nonce":"0xfe"}},"meta":{"byte_code":"0x02f8730181fd843814fea085022edc73718252089407cac96f45e70a4a49d5484d84490dc09a1d98fd87f523226980800080c001a0a6a09a0e5f486ad19cb66c8c3fe9c2eee5cf7cdd29c7a25c326df1cdadd9a596a01cc652736bfc45cc0d6842e9e436992e40dd9959e394dfaeb6b96b3d78daee9c","new_txn_trie_node_byte":"0x02f8730181fd843814fea085022edc73718252089407cac96f45e70a4a49d5484d84490dc09a1d98fd87f523226980800080c001a0a6a09a0e5f486ad19cb66c8c3fe9c2eee5cf7cdd29c7a25c326df1cdadd9a596a01cc652736bfc45cc0d6842e9e436992e40dd9959e394dfaeb6b96b3d78daee9c","new_receipt_trie_node_byte":"0xb9010d02f901090183490b0fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xfbbdbca1dd9beebc44da7da9953c6236764aa618":{"balance":"0x6f464a672f71db"},"0xb89b1cae881c158322b3d5cab51ee78995fa29fb":{"balance":"0xee76bd4070e5bd","nonce":"0x3e"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5c6e02e04a4ff5"}},"meta":{"byte_code":"0x02f872013d843814fea085022edc737182520894fbbdbca1dd9beebc44da7da9953c6236764aa618876a94d74f43000080c080a06d4ea4985d049ede810cbd886ec6f7c914f9acee5eda9561bd3d5503eae1b642a0491b958c46c29a15001bc27cc7ddef8357fad8ef7f26522963e2649a2566f1c2","new_txn_trie_node_byte":"0x02f872013d843814fea085022edc737182520894fbbdbca1dd9beebc44da7da9953c6236764aa618876a94d74f43000080c080a06d4ea4985d049ede810cbd886ec6f7c914f9acee5eda9561bd3d5503eae1b642a0491b958c46c29a15001bc27cc7ddef8357fad8ef7f26522963e2649a2566f1c2","new_receipt_trie_node_byte":"0xb9010d02f901090183495d17b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xd2b4c2ad5760ce7a9376e5f5f7fade28eddb67d4":{"balance":"0x228db65774a83ce8","nonce":"0x1"},"0xe60ccd8bbd37595316fcd490f828a66ec774e8a1":{"balance":"0x2386f26fc10000"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5c7ffb5a8184f5"}},"meta":{"byte_code":"0x02f8720180843814fea085022edc737182520894e60ccd8bbd37595316fcd490f828a66ec774e8a1872386f26fc1000080c080a0b7e4c4583d7683fabbd513dc42d765b1d22dda3ebaf74cecba7c8354d626bc2ca01ca302641a8f196b6f09dce11f5d220765b539e993350a071ac7fcb39270c7b2","new_txn_trie_node_byte":"0x02f8720180843814fea085022edc737182520894e60ccd8bbd37595316fcd490f828a66ec774e8a1872386f26fc1000080c080a0b7e4c4583d7683fabbd513dc42d765b1d22dda3ebaf74cecba7c8354d626bc2ca01ca302641a8f196b6f09dce11f5d220765b539e993350a071ac7fcb39270c7b2","new_receipt_trie_node_byte":"0xb9010d02f90109018349af1fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xc1af650288f866d766c12fe3190bc3e1c86cff1d":{"balance":"0x648c1784821b9","nonce":"0x11"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5c91f3d4b8b9f5"},"0xc1500fbab80b746445ef6483b7473045beb6bca7":{"balance":"0x49e57d6354000"}},"meta":{"byte_code":"0x02f8720110843814fea0850225de3ee282520894c1500fbab80b746445ef6483b7473045beb6bca787049e57d635400080c001a05c9098bc6d0f72302af5ba7956e239c69fdcfbb344f2a56893063e0b052ace9da070badcc0f6b3aa84916051fe838271867c7ea7d1ff437d39160e09e9256d0cf9","new_txn_trie_node_byte":"0x02f8720110843814fea0850225de3ee282520894c1500fbab80b746445ef6483b7473045beb6bca787049e57d635400080c001a05c9098bc6d0f72302af5ba7956e239c69fdcfbb344f2a56893063e0b052ace9da070badcc0f6b3aa84916051fe838271867c7ea7d1ff437d39160e09e9256d0cf9","new_receipt_trie_node_byte":"0xb9010d02f9010901834a0127b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x258ea523cccc041f7c340a66c6bce554f3dbe66b":{"balance":"0x1ddc84212cffc000"},"0x6bdc0dab21f93be3d11d16341e018d9ffa74c490":{"balance":"0xfc8d06ba4b50","nonce":"0x3d2"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5ca3ec4eefeef5"}},"meta":{"byte_code":"0x02f874018203d1843814fea085022edc737182520894258ea523cccc041f7c340a66c6bce554f3dbe66b875543df729c000080c001a0986e4aeba94abd616ef74ff3b86fba150100eb42eb602b2735d1db41f6eacb18a0555a6dde4bb78da288452b485187898a6f643c65d2d4a9ec9b7ddc5a0f9c8dc2","new_txn_trie_node_byte":"0x02f874018203d1843814fea085022edc737182520894258ea523cccc041f7c340a66c6bce554f3dbe66b875543df729c000080c001a0986e4aeba94abd616ef74ff3b86fba150100eb42eb602b2735d1db41f6eacb18a0555a6dde4bb78da288452b485187898a6f643c65d2d4a9ec9b7ddc5a0f9c8dc2","new_receipt_trie_node_byte":"0xb9010d02f9010901834a532fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5cb5e4c92723f5"},"0x1132f2cfd4a0f59497a68fd00b6920646cf28785":{"balance":"0x24409967cfacb9c"},"0x3c6b6ce6d48b1900206bd19fa04c0e26a34a5403":{"balance":"0x2dabee0f5600","nonce":"0x3"}},"meta":{"byte_code":"0x02f8720102843814fea0850241c50c63825208941132f2cfd4a0f59497a68fd00b6920646cf2878587c209de01d54dd680c080a06a7ab28944c917176552dd6958df091460d7d83629d299c0b7c9b20483ac70eba0758c8a5cb0265ed48c6435182229adb43d80d108246a42a3005cc563f62d542f","new_txn_trie_node_byte":"0x02f8720102843814fea0850241c50c63825208941132f2cfd4a0f59497a68fd00b6920646cf2878587c209de01d54dd680c080a06a7ab28944c917176552dd6958df091460d7d83629d299c0b7c9b20483ac70eba0758c8a5cb0265ed48c6435182229adb43d80d108246a42a3005cc563f62d542f","new_receipt_trie_node_byte":"0xb9010d02f9010901834aa537b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5cc7dd435e58f5"},"0xba0a1c6bfe6d7668c66d31b378608c1f8c308522":{"balance":"0x4fec695ff52d0","nonce":"0x1"},"0xea51d423b2fd341eb346114b9bd2b589a0976b61":{"balance":"0x201e66fe8e6a18"}},"meta":{"byte_code":"0x02f8720180843814fea085022edc737182520894ea51d423b2fd341eb346114b9bd2b589a0976b6187201e66fe8e6a1880c080a05fe935d08f429ac36ebd98eb97e998e2b93674abaed080eeff06ab6a8b31f756a02fc80fd074a43dcba2144cbe4a6a2b2983c472781784dc10d614a2588b044547","new_txn_trie_node_byte":"0x02f8720180843814fea085022edc737182520894ea51d423b2fd341eb346114b9bd2b589a0976b6187201e66fe8e6a1880c080a05fe935d08f429ac36ebd98eb97e998e2b93674abaed080eeff06ab6a8b31f756a02fc80fd074a43dcba2144cbe4a6a2b2983c472781784dc10d614a2588b044547","new_receipt_trie_node_byte":"0xb9010d02f9010901834af73fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5cd97dfc9b7b92"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x36414e081707cb4116de328df528a1855e7b3b638217990a79d40730e009463f","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x247bdde009df40be8061e1b826d1401d967868315f050010b58556f0aeba5b23","0x83368f80fcc16c076de9dde3d6a59790fd46d6ac22b18e510672aa738206062a","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x247bdde009df40be8061e1b826d1401d967868315f050010b58556f0aeba5b23":"0x1f382b","0x83368f80fcc16c076de9dde3d6a59790fd46d6ac22b18e510672aa738206062a":"0x29f6300"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x135e749469c10710f6d627ba48a3d7804ccc6cee":{"balance":"0xffa5d2c5b75b1","nonce":"0x3"}},"meta":{"byte_code":"0x02f8b10102841247bec18502c5be30338301132294dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000c2b06a5a76127876a358c209e6d4062e9e32769d00000000000000000000000000000000000000000000000000000000029f6300c080a049d6f71ce71b7befb8b5fa9eec83b968adb2b85e30e38b0a495db7ddf9e0fc8da05ee49fa4eb2ee0da4c2459d333946d8342b24f1ce132452a21e4c0ba09abe93e","new_txn_trie_node_byte":"0x02f8b10102841247bec18502c5be30338301132294dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000c2b06a5a76127876a358c209e6d4062e9e32769d00000000000000000000000000000000000000000000000000000000029f6300c080a049d6f71ce71b7befb8b5fa9eec83b968adb2b85e30e38b0a495db7ddf9e0fc8da05ee49fa4eb2ee0da4c2459d333946d8342b24f1ce132452a21e4c0ba09abe93e","new_receipt_trie_node_byte":"0xb901ab02f901a701834bee1cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000010000000000000000000000000800000000000000000000000000000100000000000100000000000000000000000000080000001000000000000000000000000000002000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000135e749469c10710f6d627ba48a3d7804ccc6ceea0000000000000000000000000c2b06a5a76127876a358c209e6d4062e9e32769da000000000000000000000000000000000000000000000000000000000029f6300","gas_used":63197}},{"traces":{"0x953be9c1adb9c651bbec52e614c06eee7ff9aa27":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000003","0xb949c195d1c3f87a491684547c128485fd0c373410d8d0dc6ae963063aec52f8","0xb949c195d1c3f87a491684547c128485fd0c373410d8d0dc6ae963063aec52f7","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00","0xcd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300","0x0000000000000000000000000000000000000000000000000000000000000004","0x84b51c1dd143f1a121ef873dd050ae25205b3d2826df52bfdea829b77bebe09d","0xb949c195d1c3f87a491684547c128485fd0c373410d8d0dc6ae963063aec52f6","0x7992a814c7399c374f477be28f8f81b53ac968117bf2a91943237d53cba12fc3"],"storage_written":{"0x84b51c1dd143f1a121ef873dd050ae25205b3d2826df52bfdea829b77bebe09d":"0x2e69a16b377faf31","0x0000000000000000000000000000000000000000000000000000000000000002":"0x6687daf3","0xb949c195d1c3f87a491684547c128485fd0c373410d8d0dc6ae963063aec52f8":"0x66fe81f3","0x7992a814c7399c374f477be28f8f81b53ac968117bf2a91943237d53cba12fc3":"0x0","0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00":"0x1","0xb949c195d1c3f87a491684547c128485fd0c373410d8d0dc6ae963063aec52f7":"0x0","0xb949c195d1c3f87a491684547c128485fd0c373410d8d0dc6ae963063aec52f6":"0x195b7959b388b80000","0x0000000000000000000000000000000000000000000000000000000000000003":"0x2e69a16b377faf31","0x0000000000000000000000000000000000000000000000000000000000000004":"0x383b4f91d40de402f001803"},"code_usage":{"read":"0x0a1e407962f2614152320952c036af1825d14fd929ed53a5ab33e77d8df5713d"}},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x5ccdb683c3881dcb0f3e060e79179dce31e3303d581fc2090e2424d06ea31fcc","0x000000000000000000000000000000000000000000000000000000000000000a","0x5b7fc932519d9093089bdd9f6c28d65e609c909d1eed47a2d300623ba7d161c3","0x45f2aaa57cc7c39f40b4093acfae1d227ef11796e59a9bf266920cc517d66c56"],"storage_written":{"0x5b7fc932519d9093089bdd9f6c28d65e609c909d1eed47a2d300623ba7d161c3":"0x0","0x5ccdb683c3881dcb0f3e060e79179dce31e3303d581fc2090e2424d06ea31fcc":"0x0","0x45f2aaa57cc7c39f40b4093acfae1d227ef11796e59a9bf266920cc517d66c56":"0x383b4f91d40de402f001803"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x7e486253b1918b3e4fad9d86e79b52394e326150":{"code_usage":{"read":"0x6ebba3ab8917ffd6da3cb332ba049ff742ebea5fd070e4abdd12b386176c43d2"}},"0x65f4f5a9139e0dfa4aed9802898d82fdc6379660":{"balance":"0x383e4f4f3998e2","nonce":"0xa2"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5cdf55e0e30112"}},"meta":{"byte_code":"0x02f8910181a18402cd29c08501853c9c3d83027d2894953be9c1adb9c651bbec52e614c06eee7ff9aa2780a4a694fc3a0000000000000000000000000000000000000000000000195b7959b388b80000c080a07d4dbc1104bb9a9875f43a1bc9de1d1d63dd35d9fddf05a30918946b6873efc5a007bd201fe17fdbb989c048218b069abf21205e1d9b4cc70083f3cc31e5d756cd","new_txn_trie_node_byte":"0x02f8910181a18402cd29c08501853c9c3d83027d2894953be9c1adb9c651bbec52e614c06eee7ff9aa2780a4a694fc3a0000000000000000000000000000000000000000000000195b7959b388b80000c080a07d4dbc1104bb9a9875f43a1bc9de1d1d63dd35d9fddf05a30918946b6873efc5a007bd201fe17fdbb989c048218b069abf21205e1d9b4cc70083f3cc31e5d756cd","new_receipt_trie_node_byte":"0xb9024902f9024501834e0416b9010000000000000002000000000000000000000000000000000000100000000200000000000000100008000000000000000040000000000000000800000000000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000001000010000008010000008000000100000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f9013af89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000065f4f5a9139e0dfa4aed9802898d82fdc6379660a0000000000000000000000000953be9c1adb9c651bbec52e614c06eee7ff9aa27a00000000000000000000000000000000000000000000000195b7959b388b80000f89b94953be9c1adb9c651bbec52e614c06eee7ff9aa27f842a01449c6dd7851abc30abf37f57715f492010519147cc2652fbc38202c18a6ee90a000000000000000000000000065f4f5a9139e0dfa4aed9802898d82fdc6379660b8400000000000000000000000000000000000000000000000195b7959b388b800000000000000000000000000000000000000000000000000000000000066fe81f3","gas_used":136698}},{"traces":{"0x85a1f113eea53a68189157914f320c0cc5093773":{"code_usage":{"read":"0x2ff1e77bf2ac8b69ac38ae9faab3b2477a13112544b4049d02e4f9042e0276d7"}},"0x73af1ac8bec10d15d9fced5d1169d2ed0fe70a5c":{"balance":"0xc558d0f6c77cfe","nonce":"0xc"},"0x754228651d8bca89bb3b5d892cbc7bcaea05e774":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000007","0x203212b826a0715417514e158e42422cf2aa7d22ea179b7322be3ac6a47ebc33","0xf0e662ee01d6dd35c19ff5305aa6dbbb4b99ae907ca0da6b691fbbf5301e0c1c"],"storage_written":{"0xf0e662ee01d6dd35c19ff5305aa6dbbb4b99ae907ca0da6b691fbbf5301e0c1c":"0xb8d7dce340","0x203212b826a0715417514e158e42422cf2aa7d22ea179b7322be3ac6a47ebc33":"0x2c3193c5e680"},"code_usage":{"read":"0xf8ce4eea38aa828196089613815e87d771942175d1a9b51d4630cb4cd185927c"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5cf621e9af5a3d"}},"meta":{"byte_code":"0xf8aa0b8501a13b860083010ba494754228651d8bca89bb3b5d892cbc7bcaea05e77480b844a9059cbb0000000000000000000000008d734c4cdc9f696f33a2150ab6f3e7473cd375c8000000000000000000000000000000000000000000000000000000a82237116025a033d439cc5f7a1ae9c395e090527a3acc258e807086c6be7fe9ee100e62001633a03d44d886611f96d9cf52fdfd173079a01b514d79a6f04bda2d17239e5af774bb","new_txn_trie_node_byte":"0xf8aa0b8501a13b860083010ba494754228651d8bca89bb3b5d892cbc7bcaea05e77480b844a9059cbb0000000000000000000000008d734c4cdc9f696f33a2150ab6f3e7473cd375c8000000000000000000000000000000000000000000000000000000a82237116025a033d439cc5f7a1ae9c395e090527a3acc258e807086c6be7fe9ee100e62001633a03d44d886611f96d9cf52fdfd173079a01b514d79a6f04bda2d17239e5af774bb","new_receipt_trie_node_byte":"0xf901a701834e9d5db9010000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000008010000000000000000000000000000000000000400000400000000000000000000000000000000000000000000000010000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000800000000002000000000000000000000000000000000000f89df89b94754228651d8bca89bb3b5d892cbc7bcaea05e774f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000073af1ac8bec10d15d9fced5d1169d2ed0fe70a5ca00000000000000000000000008d734c4cdc9f696f33a2150ab6f3e7473cd375c8a0000000000000000000000000000000000000000000000000000000a822371160","gas_used":39239}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d5cfa4cedd9de3d"},"0xc55126051b22ebb829d00368f4b12bde432de5da":{"storage_read":["0xc9b9bfa213870dcca18b4ec9462deb73bb7617958e8c77092476ab375d2c3853","0x50a431539a04d13abb882e6f9c6730aeffd1229c89e446a10ebf081ace61aa2a"],"storage_written":{"0x50a431539a04d13abb882e6f9c6730aeffd1229c89e446a10ebf081ace61aa2a":"0x5702eb44b5dddc5","0xc9b9bfa213870dcca18b4ec9462deb73bb7617958e8c77092476ab375d2c3853":"0x65fc8f4a999dbc9c2"},"code_usage":{"read":"0x574a98b7bd30da9de3edfb7134b4e9dd5b4bbc011bb85a984aa06dae0e350f53"}},"0x9fba5259a1a4654212849e87cfdf5b28d5bbcb5e":{"balance":"0x13206671ae896d8d","nonce":"0x2d2"},"0x94c1201e12d5773410c35fe509dd0f4bb440d39d":{"storage_read":["0x195db474030a803130581668521705fab3e9962922ba2c0ec8408cc3797d68f8","0x93a1239179281b214888caeb41ec4697832cc32c18f4194ce83a155b840652ae"],"storage_written":{"0x93a1239179281b214888caeb41ec4697832cc32c18f4194ce83a155b840652ae":"0x1"},"code_usage":{"read":"0xabf3ba52d6141da40940b5447d6ce2fe54069c5d6dd7c1fc1faa76ec39803f12"}}},"meta":{"byte_code":"0x02f902d4018202d18402faf0808501a13b860083021e999494c1201e12d5773410c35fe509dd0f4bb440d39d80b90264f3aed3310000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001183afc81328c933e0465ed82422139a36a0d3f8676c955c083760d5c43916ce00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c55126051b22ebb829d00368f4b12bde432de5da000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000005702eb44b5dddc5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005b07e70e7a32a5fc62090c9f797f27d936f7d6fbd4e0557b8d3bfb5ad5366921758ed675c4db16deff4e8034097b2dc34e7ce100f7594700660978b6a114a08299f29229236bdae391ddb7db4b85c2eec86da3e08e81d8de6d0549b8b17f7a9cb2106285bc885e8a68bdf6395cc969c2b0b247617cfc4fd7074624e6994ee4b947e8788958a3ee0cf96c911c952bb2b12999ca8b647a9dd0beaf603dd8c71e31cc080a0b35054f9452b053fb86af48f0fee26406e959e3cc6cfd212534be40f98495a33a051784be57ec659d8b13694597673c04b51c6eb61bed39e776675b40cb95763d7","new_txn_trie_node_byte":"0x02f902d4018202d18402faf0808501a13b860083021e999494c1201e12d5773410c35fe509dd0f4bb440d39d80b90264f3aed3310000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5e00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000000000000001183afc81328c933e0465ed82422139a36a0d3f8676c955c083760d5c43916ce00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000c55126051b22ebb829d00368f4b12bde432de5da000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000005702eb44b5dddc5000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005b07e70e7a32a5fc62090c9f797f27d936f7d6fbd4e0557b8d3bfb5ad5366921758ed675c4db16deff4e8034097b2dc34e7ce100f7594700660978b6a114a08299f29229236bdae391ddb7db4b85c2eec86da3e08e81d8de6d0549b8b17f7a9cb2106285bc885e8a68bdf6395cc969c2b0b247617cfc4fd7074624e6994ee4b947e8788958a3ee0cf96c911c952bb2b12999ca8b647a9dd0beaf603dd8c71e31cc080a0b35054f9452b053fb86af48f0fee26406e959e3cc6cfd212534be40f98495a33a051784be57ec659d8b13694597673c04b51c6eb61bed39e776675b40cb95763d7","new_receipt_trie_node_byte":"0xb9026702f902630183500365b9010000000000000000000000000000000000000000000000000000000000000000000000000400002000000000000000000000000000000000000000000000000000000000010000000000000008000000000000000000000000000000000000000000000000000000000280010000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000800000000000000000000000002000000000000000000000000000000000000000080000000008000000000000000000000000080000200000000000000000800800000080000000000f90158f8b99494c1201e12d5773410c35fe509dd0f4bb440d39de1a08b1927e0809f1e7682bb8c52fafe4c0445fea47afef60dd27e037e91fd104d2eb880183afc81328c933e0465ed82422139a36a0d3f8676c955c083760d5c43916ce00000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5e000000000000000000000000c55126051b22ebb829d00368f4b12bde432de5da00000000000000000000000000000000000000000000000005702eb44b5dddc5f89b94c55126051b22ebb829d00368f4b12bde432de5daf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000094c1201e12d5773410c35fe509dd0f4bb440d39da00000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5ea000000000000000000000000000000000000000000000000005702eb44b5dddc5","gas_used":91656}},{"traces":{"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000005"],"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x8a29188bf08ef320120878ab310816d19a9163e9":{"nonce":"0x1","storage_read":["0x00000000000000000000000000000000000000000000000000000000000000ff","0x0000000000000000000000000000000000000000000000000000000000000100","0x0000000000000000000000000000000000000000000000000000000000000101","0x0000000000000000000000000000000000000000000000000000000000000102","0x0000000000000000000000000000000000000000000000000000000000000068","0x0000000000000000000000000000000000000000000000000000000000000069","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000104","0x0000000000000000000000000000000000000000000000000000000000000103","0x000000000000000000000000000000000000000000000000000000000000006a","0x00000000000000000000000000000000000000000000000000000000000000fe"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000102":"0x58c44554800","0x00000000000000000000000000000000000000000000000000000000000000cc":"0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","0x000000000000000000000000000000000000000000000000000000000000006a":"0x8","0x0000000000000000000000000000000000000000000000000000000000000104":"0x0","0x0000000000000000000000000000000000000000000000000000000000000103":"0x6690e280","0x0000000000000000000000000000000000000000000000000000000000000101":"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599","0x0000000000000000000000000000000000000000000000000000000000000098":"0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6","0x00000000000000000000000000000000000000000000000000000000000000fe":"0x4ccc2339f87f6c59c6893e1a678c2266ca58dc72","0xa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c22097754":"0x5742544320436f6c6c61746572616c0000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000068":"0x5f","0xa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c22097753":"0x57425443555344432031322d4a756c792d3230323420363130303043616c6c20","0x0000000000000000000000000000000000000000000000000000000000000000":"0x1","0x0000000000000000000000000000000000000000000000000000000000000069":"0x6f57425443555344432f574254432d31324a554c32342d36313030304300003a","0x00000000000000000000000000000000000000000000000000000000000000ff":"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599","0x0000000000000000000000000000000000000000000000000000000000000097":"0x1223f41c6d6ff6eeee4a3b949a85b279d948a3169cfbb59430918c7e87589b05","0x0000000000000000000000000000000000000000000000000000000000000100":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"},"code_usage":{"write":"0x363d3d373d3d3d363d737c91794b65eb573c3702229009acd3cde712146d5af43d82803e903d91602b57fd5bf3"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8ab19ecdd4eccc"},"0xa5ea18ac6865f315ff5dd9f1a7fb1d41a30a6779":{"storage_read":["0x6cd735909eb1becf419156d99d1b2a9746d6be932390b474dfa15497215a02f9","0x0000000000000000000000000000000000000000000000000000000000000001","0x5c791760586cdb28f8f04cb44bebd8870f521488e992fe14c5b8a4b41923dc67"],"storage_written":{"0x5c791760586cdb28f8f04cb44bebd8870f521488e992fe14c5b8a4b41923dc67":"0x1"},"code_usage":{"read":"0x95248197a874cc61415a81f8bfe451c16bf8adfad954e3c490c8762952aadb41"}},"0xfd48f39be14990bd8d96a446c12e7fd08c51b451":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"code_usage":{"read":"0x91fdf654aaac344673e0bb9bbb110d040d202746eee066cbb398cc4a8d79f917"}},"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004"],"code_usage":{"read":"0x131ff5c755b710d543ea70fede2eb38e5d15b1456df0ae932ba12e2786f7e5df"}},"0x7c91794b65eb573c3702229009acd3cde712146d":{"code_usage":{"read":"0x60d11c464c56ff3cb965c263a763386ea2f4bf3f6f10411de58d19ae054cfeac"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x1e31f2dcbad4dc572004eae6355fb18f9615cbe4":{"storage_read":["0x0ded8c6da75e927a96a36d890ab802d84f38b544b1d6e5b5b8a6dca5ae026f77","0xfee492ec0b45d40affb3b3cc0a3cd89238eec9e67b31ce0604c7ab1d49248c90","0xa380b1373fb344a744bb29f946071ab90902ff745f6aae53aa9bd4f0b930ca71","0x4bd3fa2d72fdaa04a4e30f1f0022e8cd554c63d551073a2743447ff1b46c9918"],"code_usage":{"read":"0x7bd034a0af2d0bc655adce9ed7a3689d962e9b44612d9e7e0b46180760edc291"}},"0x55e4b3e3226444cd4de09778844453ba9fe9cd7c":{"balance":"0xc03383ce6677400","nonce":"0x192a"},"0x7a6a812188d01d08def011356b98425997800429":{"code_usage":{"read":"0x962daf32d20ad24574107a346dff1fa67d1801d13b94e03e81a07928bef92744"}},"0xf7f4260943db50eee7e917330c35b460ff70ad54":{"code_usage":{"read":"0xed9864c03025982fbb85e460308e53fb1339b025102640ef1a332635875ba289"}},"0x65a833afdc250d9d38f8cd9bc2b1e3132db13b2f":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x00000000000000000000000000000000000000000000000000000000000000d2","0x00000000000000000000000000000000000000000000000000000000000000cf","0x00000000000000000000000000000000000000000000000000000000000000fa","0x00000000000000000000000000000000000000000000000000000000000000d1","0x00000000000000000000000000000000000000000000000000000000000000f6","0x00000000000000000000000000000000000000000000000000000000000000f5","0x00000000000000000000000000000000000000000000000000000000000000cd","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x00000000000000000000000000000000000000000000000000000000000000d4","0x0000000000000000000000000000000000000000000000000000000000000001","0x00000000000000000000000000000000000000000000000000000000000000cc","0x00000000000000000000000000000000000000000000000000000000000000f9"],"storage_written":{"0x00000000000000000000000000000000000000000000000000000000000000d1":"0x8a29188bf08ef320120878ab310816d19a9163e9","0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0x849a60ffc0d75317f6f2faa0ec6995a42b72c57909f4fbcc043716ca61274dfc"}},"0x7c06792af1632e77cb27a558dc0885338f4bdf8e":{"nonce":"0x6cc","storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa13c0","0x3e2290970b39145c0f1abd6570571b4c0a06731e57d7b845197ae92fc0f1483a","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x3e2290970b39145c0f1abd6570571b4c0a06731e57d7b845197ae92fc0f1483a":"0x8a29188bf08ef320120878ab310816d19a9163e9","0x0000000000000000000000000000000000000000000000000000000000000001":"0x6cb","0xb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa13c0":"0x8a29188bf08ef320120878ab310816d19a9163e9"},"code_usage":{"read":"0xf3425f99ceb31d776a9262cdd5a04f5a3399b26d57148a01094afdb6652c2823"}}},"meta":{"byte_code":"0xf86b821929850649534e00830f42409465a833afdc250d9d38f8cd9bc2b1e3132db13b2f8084f87c7d9325a0db194325479375148dba394f1cb25846d140d8b8c6402fd4016c16c160474ca9a07395afc39240502c9c6073ebeb51d084454246d42a596e3b8306a1fb3a9f75d2","new_txn_trie_node_byte":"0xf86b821929850649534e00830f42409465a833afdc250d9d38f8cd9bc2b1e3132db13b2f8084f87c7d9325a0db194325479375148dba394f1cb25846d140d8b8c6402fd4016c16c160474ca9a07395afc39240502c9c6073ebeb51d084454246d42a596e3b8306a1fb3a9f75d2","new_receipt_trie_node_byte":"0xf9032201835986e0b9010000000000000080000000000020001040000000000000000000000000000000008000000000000000000002080000000040000000000000000000800002000000000040000000000000000000000000000000000000000000000000080000000000000040000000000100000000000000000000000000000000000000100000100040000000000000000000000000000200000000000000000000002000000000000000000000004000000000000004000000000000004000000000000000000000000000000008000000000000000000000000000004010000000000000000000000000000000000000000000000001004000000000000000000000000000000f90217f85a94a5ea18ac6865f315ff5dd9f1a7fb1d41a30a6779f842a0afbb5b30329d7def9553a137626d5bc919fda8f5d1d1b5a64aa6123445b9415ba00000000000000000000000008a29188bf08ef320120878ab310816d19a9163e980f9013d947c06792af1632e77cb27a558dc0885338f4bdf8ef884a0edf283b0b3396dd34e23a917cb887ad557f18a593be3a2e9c069fd59f19a811aa00000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599a0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48a00000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599b8a00000000000000000000000008a29188bf08ef320120878ab310816d19a9163e900000000000000000000000065a833afdc250d9d38f8cd9bc2b1e3132db13b2f0000000000000000000000000000000000000000000000000000058c44554800000000000000000000000000000000000000000000000000000000006690e2800000000000000000000000000000000000000000000000000000000000000000f8799465a833afdc250d9d38f8cd9bc2b1e3132db13b2fe1a0a217999b1c125c2a996f712c5f26a28addad7167bd8a67d5bd5b2a751148abb0b8400000000000000000000000000000000000000000000000000000058c4455480000000000000000000000000000000000000000000000000000000000000003e8","gas_used":623483}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8b856d9187becc"},"0x69420e3a3aa9e17dea102bb3a9b3b73dcddb9528":{"storage_written":{"0x5591fec6054c432d1f8d8ea2423cc3d35c0ee7be8c3a1725d393621f8dd88535":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xb23694afbf64305aacdd3a4b11a920fc00ab4fd4012e3cde25535ca9aaa62f69"}},"0x036f8aa8929e303706186ee619721f1cbbd9a072":{"balance":"0x5ec11b834198cd9","nonce":"0x38"}},"meta":{"byte_code":"0x02f8b2013785012a05f2008502a52e4503830100d09469420e3a3aa9e17dea102bb3a9b3b73dcddb952880b844095ea7b3000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a011abc045be98f6971451533fbac7aa224237f1d960600b1e87a070661b3b666ba0683f6edfb957630121e893a53658431144d2d1519c06c51a3e34a4d19767ecb8","new_txn_trie_node_byte":"0x02f8b2013785012a05f2008502a52e4503830100d09469420e3a3aa9e17dea102bb3a9b3b73dcddb952880b844095ea7b3000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a011abc045be98f6971451533fbac7aa224237f1d960600b1e87a070661b3b666ba0683f6edfb957630121e893a53658431144d2d1519c06c51a3e34a4d19767ecb8","new_receipt_trie_node_byte":"0xb901ab02f901a701835a3cd1b9010010000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000400000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000008000000000000000020200008000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b9469420e3a3aa9e17dea102bb3a9b3b73dcddb9528f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000036f8aa8929e303706186ee619721f1cbbd9a072a0000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46577}},{"traces":{"0xd879c1501243a925cf301f968c4acd03ab56bfb6":{"balance":"0x0","nonce":"0xa"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8bdff1e0d0260c"},"0xcf4ec02509cc5f251cea7b5c2c05a346b733b217":{"balance":"0x685b7de05437ea8"}},"meta":{"byte_code":"0x02f8740109850295a395eb850295a395eb82520894cf4ec02509cc5f251cea7b5c2c05a346b733b217880685b7de05437ea880c080a09bb0207aa36ec785c12ee21aadd6270d8450efdecbbffb1906919b3fc106a4e8a077aa2ea847aa7dfe3c95516b5ea5cdfde42ea18948a7a2ec291f14b2bc2f01d4","new_txn_trie_node_byte":"0x02f8740109850295a395eb850295a395eb82520894cf4ec02509cc5f251cea7b5c2c05a346b733b217880685b7de05437ea880c080a09bb0207aa36ec785c12ee21aadd6270d8450efdecbbffb1906919b3fc106a4e8a077aa2ea847aa7dfe3c95516b5ea5cdfde42ea18948a7a2ec291f14b2bc2f01d4","new_receipt_trie_node_byte":"0xb9010d02f9010901835a8ed9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xb23360ccdd9ed1b15d45e5d3824bb409c8d7c460":{"balance":"0x3345fbd2552f468bec","nonce":"0xf1f92"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x75f7f8a447801bb3acf20ed694b60cd14d95954391a921e8e0e05339d096a919","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x56ee5c039aedeaedf1032028e6c6acb8882795c2c1cf967aecbff3b2c39ab4c0","0x413002063a6aff70a825291c9b5f09ca7ab79e390376f950669fab01fbea9f61"],"storage_written":{"0x56ee5c039aedeaedf1032028e6c6acb8882795c2c1cf967aecbff3b2c39ab4c0":"0x29d9e5994c8","0x413002063a6aff70a825291c9b5f09ca7ab79e390376f950669fab01fbea9f61":"0x73363e26"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8c788a748976b5"}},"meta":{"byte_code":"0x02f8b501830f1f918502540be4008502540be4008301229294dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000045b84cff818b89875d297ee7b4256aa179c81abd0000000000000000000000000000000000000000000000000000000011a52706c001a0e9d5e161e0ecde095d036f08e624d1c9f88291d1b1a8d7f1787b0b126f67888da0333a9f6efb810925e8e21fc7b10e7eb32223a29f0db450a9f91e37bc699f647c","new_txn_trie_node_byte":"0x02f8b501830f1f918502540be4008502540be4008301229294dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000045b84cff818b89875d297ee7b4256aa179c81abd0000000000000000000000000000000000000000000000000000000011a52706c001a0e9d5e161e0ecde095d036f08e624d1c9f88291d1b1a8d7f1787b0b126f67888da0333a9f6efb810925e8e21fc7b10e7eb32223a29f0db450a9f91e37bc699f647c","new_receipt_trie_node_byte":"0xb901ab02f901a701835b42f6b9010000000000000000040000000000000000000000000000000000008000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000001000000000000000000000100000000000000100000000000000000000000000080000000000000000000000000000000000000000008000002000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b23360ccdd9ed1b15d45e5d3824bb409c8d7c460a000000000000000000000000045b84cff818b89875d297ee7b4256aa179c81abda00000000000000000000000000000000000000000000000000000000011a52706","gas_used":46109}},{"traces":{"0xc69bbf841ff4a305f6355f528972b591fff574a0":{"balance":"0x30d305d0b1408f","nonce":"0x27"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x5a164dba14be117a56ffd396c19a4a61d39ece4df82a558ecab53b968b02c4aa":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8cf010010539bb"}},"meta":{"byte_code":"0x02f8b0012684c9d97a29850304b5488a82fde894a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844095ea7b300000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0e806707269a6225269abcd547f55ee0f05b5bf3faac9ac2244898d134b3565eaa07caabc943f0543d7f55b5405272ebf797149ca537a37a372fa6c4565a47a3191","new_txn_trie_node_byte":"0x02f8b0012684c9d97a29850304b5488a82fde894a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844095ea7b300000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0e806707269a6225269abcd547f55ee0f05b5bf3faac9ac2244898d134b3565eaa07caabc943f0543d7f55b5405272ebf797149ca537a37a372fa6c4565a47a3191","new_receipt_trie_node_byte":"0xb901ab02f901a701835bda8cb901000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000020000000000000000000000800000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000802000000000020000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000c000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c69bbf841ff4a305f6355f528972b591fff574a0a000000000000000000000000087870bca3f3fd6335c3f4ce8392d69350b4fa4e2a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":38806}},{"traces":{"0x83869de76b9ad8125e22b857f519f001588c0f62":{"storage_read":["0xff8367b994ee5a2faf5f8f5c7201e0f6c927615f6968ae5b3186e043ff92a8c8","0xdb1321495b34017f574a1bfad9bd26c1c677ae6cf627130c76a23ff6c14c8911"],"storage_written":{"0xff8367b994ee5a2faf5f8f5c7201e0f6c927615f6968ae5b3186e043ff92a8c8":"0xd65fcb42bf4e7","0xdb1321495b34017f574a1bfad9bd26c1c677ae6cf627130c76a23ff6c14c8911":"0x11db9c529aef"},"code_usage":{"read":"0x89f16e040c34c67c648c11f8b496926640ad5ba7393c52730c9b8532d1ecad15"}},"0x0db79bbb99defc2356d82848a459a5a13869eb3f":{"balance":"0x5b6b1cdf82bcd0c9b","nonce":"0x71d"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8d52e1657b0c93"}},"meta":{"byte_code":"0xf8ab82071c8502366fee4182e5a29483869de76b9ad8125e22b857f519f001588c0f6280b844a9059cbb000000000000000000000000c61206fdc09e595b8be1d2b4a708f27d2bdea64c000000000000000000000000000000000000000000000000000009184e72a00025a079ed0b7b85c2ec09fd67e62408b1cea09256be834dc088b4d5805e4c54f7dbdea07ee8c9e78a0ffd3bd09b58307e1220ab8b50b429fb459904e1fd78ac054c9339","new_txn_trie_node_byte":"0xf8ab82071c8502366fee4182e5a29483869de76b9ad8125e22b857f519f001588c0f6280b844a9059cbb000000000000000000000000c61206fdc09e595b8be1d2b4a708f27d2bdea64c000000000000000000000000000000000000000000000000000009184e72a00025a079ed0b7b85c2ec09fd67e62408b1cea09256be834dc088b4d5805e4c54f7dbdea07ee8c9e78a0ffd3bd09b58307e1220ab8b50b429fb459904e1fd78ac054c9339","new_receipt_trie_node_byte":"0xf901a701835c61a0b9010000000000000000004004000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000080000000000000000000002008020000000000000000000000000000000000000000000000100200000000000000000000004000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9483869de76b9ad8125e22b857f519f001588c0f62f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000db79bbb99defc2356d82848a459a5a13869eb3fa0000000000000000000000000c61206fdc09e595b8be1d2b4a708f27d2bdea64ca0000000000000000000000000000000000000000000000000000009184e72a000","gas_used":34580}},{"traces":{"0x2e45e299810575724cf6c934d86ccb567a9c5c5f":{"balance":"0x7d140fa1dbc11c","nonce":"0x1c"},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0xdcbff8f00800c600b85fca604359c6f87e3a15c636d60b553b08aaafab831996":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8dd3a1d569e493"}},"meta":{"byte_code":"0x02f8b1011b84b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0a4747c31052027c01d94a8be69ce13ea3ffb5ee48fe8f6490f7c958be6144ce9a0762b93eba5169e4f427b262e98a64db0fa429f04fe93b1184e20ab8e3702dee8","new_txn_trie_node_byte":"0x02f8b1011b84b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0a4747c31052027c01d94a8be69ce13ea3ffb5ee48fe8f6490f7c958be6144ce9a0762b93eba5169e4f427b262e98a64db0fa429f04fe93b1184e20ab8e3702dee8","new_receipt_trie_node_byte":"0xb901ab02f901a701835d19f4b9010000000000000000000004000000000000000000008000000002000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000080000000000000000000000000000000001000000040000000000000000000000000000000000000000080000000000000000000000000000000000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000002e45e299810575724cf6c934d86ccb567a9c5c5fa0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x6d351292d8a099058b090fc52250f549eea76616":{"balance":"0x5584a80d856f8a","nonce":"0x19"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8e54624558bc93"},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0x90ad0393b7801afb6753801f5ca7f833b6e0b3c065ede6cf36ce16bed2fa43e6":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}}},"meta":{"byte_code":"0x02f8b1011884b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a02d1013c5b0f0349afaa4f3f0991147ff571e044cd499a22676073d9f47ba5b14a062d5c269c94094ac08de9bba2e2e47b7385311a617ec99e9cd8a210365a19dbd","new_txn_trie_node_byte":"0x02f8b1011884b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a02d1013c5b0f0349afaa4f3f0991147ff571e044cd499a22676073d9f47ba5b14a062d5c269c94094ac08de9bba2e2e47b7385311a617ec99e9cd8a210365a19dbd","new_receipt_trie_node_byte":"0xb901ab02f901a701835dd248b9010000000000000000000004000000000000000000008000000002000000000000000000000000000000000000000000000000000000000000000000000000200020000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000002000000000000000000000000000000000000000020000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000006d351292d8a099058b090fc52250f549eea76616a0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x6112a638a2e23d6e04a45f4818d37c58a99529af":{"balance":"0x5fb287e5d1abbc","nonce":"0x1b"},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0xa5ebbbbe9fa4e2b61c172a91d14aa4c6e3169e91dd2bd37984583c52c82ebfbe":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8ed522b5479493"}},"meta":{"byte_code":"0x02f8b1011a84b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a06b600be5126408ac5533169c984a7330d4ca3ec34f276e4f83995fee687afddaa073fd70b708afee0e015cc67d12551adbe923ef7466056606e6379108347cd76e","new_txn_trie_node_byte":"0x02f8b1011a84b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a06b600be5126408ac5533169c984a7330d4ca3ec34f276e4f83995fee687afddaa073fd70b708afee0e015cc67d12551adbe923ef7466056606e6379108347cd76e","new_receipt_trie_node_byte":"0xb901ab02f901a701835e8a9cb9010000000000000000000004000000000000000000008000000002000000080000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000002000000000000000000000000000000000100000020000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000006112a638a2e23d6e04a45f4818d37c58a99529afa0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8f55e325366c93"},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0x0fc9e1ba77dc6f97d2014b4cbc814f3637c24f1fdcfba2ec5c43837456067994":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0xa75aa719f8266b180c17258a4fe8629274920dd3":{"balance":"0x83be1aca8c3956","nonce":"0x17"}},"meta":{"byte_code":"0x02f8b1011684b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a01aba3b177a05eab92843eb9543c5f789c6ee4d531704168866ed7b69ab778508a02b8d5e8a750d5ca6fbe5189085165dc9fd2a5d5cebac8ac65a51cfd66aa050f9","new_txn_trie_node_byte":"0x02f8b1011684b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a01aba3b177a05eab92843eb9543c5f789c6ee4d531704168866ed7b69ab778508a02b8d5e8a750d5ca6fbe5189085165dc9fd2a5d5cebac8ac65a51cfd66aa050f9","new_receipt_trie_node_byte":"0xb901ab02f901a701835f42f0b9010000000000000000000004000000000000000000008000000002000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000088000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000040000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a75aa719f8266b180c17258a4fe8629274920dd3a0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0x9cf0f30c34f88565985ed05a88483173d4321d29d0587de17f21adf5814e2120":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x6eadb5de9dde5d45a92d09a0191dc381f672638d":{"balance":"0x7661d4e63b73da","nonce":"0x1b"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d8fd6a395254493"}},"meta":{"byte_code":"0x02f8b1011a84b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0f904a6748e575ec1b09bcfef3abc633040db881e9aff8b03001586028e314f66a036757bee6544e58da62f950c17c4ba0c6ea98e37f9cca0d5122e159f3862cb09","new_txn_trie_node_byte":"0x02f8b1011a84b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0f904a6748e575ec1b09bcfef3abc633040db881e9aff8b03001586028e314f66a036757bee6544e58da62f950c17c4ba0c6ea98e37f9cca0d5122e159f3862cb09","new_receipt_trie_node_byte":"0xb901ab02f901a701835ffb44b9010000000000000000000004000000000000000000008000000002000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000020000000000000000000004000002000000000000000000000000000000000000000020000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000006eadb5de9dde5d45a92d09a0191dc381f672638da0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0xb0bda431e927645c6fd647577e76943ac089461f":{"balance":"0x25edc3301fa3d8b","nonce":"0x2c"},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0x4504ce8bfd62be25353065ce4ab65361398a895f88f7cf624d4ee155f652378d":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d90576405141c93"}},"meta":{"byte_code":"0x02f8b1012b84b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a03408eff6e0e60ef879c10135f36ca66289d8cc5301518b6bea67f908474c579aa0474cab2914cfc997adea3bf5a4147223728ab7919007572a207ce16fdf088d5b","new_txn_trie_node_byte":"0x02f8b1012b84b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a03408eff6e0e60ef879c10135f36ca66289d8cc5301518b6bea67f908474c579aa0474cab2914cfc997adea3bf5a4147223728ab7919007572a207ce16fdf088d5b","new_receipt_trie_node_byte":"0xb901ab02f901a7018360b398b9010000000000000000000004000000000000000000008000000002000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000002000000000000000000000000000000000000000020000000000000000000000000000000010000000000000000000000000000000000010000000200000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000b0bda431e927645c6fd647577e76943ac089461fa0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0xa64f9b3835bd396998b0f2815f09d52779cf23c6":{"balance":"0x12eec82ec5ed73c","nonce":"0x20"},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0xa8b9901b97eefae00093ec8f397b562f7ef0a3c671b98255295046731f20836f":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d90d8247502f493"}},"meta":{"byte_code":"0x02f8b1011f84b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0d12f79c62efbf5569b50e3920cba55d8c1b588b1e6926a2ef34047aa022900a9a047d1f23ece85252d94ab7feeb96e67c774866310d5bda13dae47dcfc8ae56b4e","new_txn_trie_node_byte":"0x02f8b1011f84b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0d12f79c62efbf5569b50e3920cba55d8c1b588b1e6926a2ef34047aa022900a9a047d1f23ece85252d94ab7feeb96e67c774866310d5bda13dae47dcfc8ae56b4e","new_receipt_trie_node_byte":"0xb901ab02f901a70183616becb9010000000040000000000004000000000000000000008000000002000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000002000000000000000000000001000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000040000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a64f9b3835bd396998b0f2815f09d52779cf23c6a0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0xe536ef185b87a72c8b25c7dbdc485e5274ec1ce7e8d2a42eee0ea6d654ab41be":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9158e4e4f1cc93"},"0xc07d0dde983925c7ddecc1d107b419f072acf404":{"balance":"0x1a744213cf18c97","nonce":"0x28"}},"meta":{"byte_code":"0x02f8b1012784b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0758f56e9af51b80b5296ecefffe9641664b4967895128ff447af106877527ef9a0392f8d45cf8fc3cd5519f2e2411cd958810158c49a6a7a903c67c49cf2a05365","new_txn_trie_node_byte":"0x02f8b1012784b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0758f56e9af51b80b5296ecefffe9641664b4967895128ff447af106877527ef9a0392f8d45cf8fc3cd5519f2e2411cd958810158c49a6a7a903c67c49cf2a05365","new_receipt_trie_node_byte":"0xb901ab02f901a70183622440b9010002000000000000000004000000000000000000008000000002000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000080010000000000000000000000000000000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c07d0dde983925c7ddecc1d107b419f072acf404a0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x2344cc6c7895bbb632fe7e9f38d69b83ff004132":{"balance":"0x1edd77ddfde40d6","nonce":"0x29"},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0x4f3e4fe25bbb5392c8bd553ab445a7bb5aece635ccf952fdce585adfb1930754":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d91d9a554e0a493"}},"meta":{"byte_code":"0x02f8b1012884b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0aef450c9ab1d99a0504d642d4ca29c73f94f9b8e9a3252e50250de25a1664d9da06a0eb595d36a1afa0fb1cca95e5cb293b822ed3deb60899f1d738a699abe5ef7","new_txn_trie_node_byte":"0x02f8b1012884b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0aef450c9ab1d99a0504d642d4ca29c73f94f9b8e9a3252e50250de25a1664d9da06a0eb595d36a1afa0fb1cca95e5cb293b822ed3deb60899f1d738a699abe5ef7","new_receipt_trie_node_byte":"0xb901ab02f901a7018362dc94b9010000000000000000000004000000000000000200008000000002000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000080000000000000000080000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000002344cc6c7895bbb632fe7e9f38d69b83ff004132a0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0x6d486f85b767af6fd26c87ef20809666fc4fa9e77326329873da4873f185630b":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x50923776b134e29deb2c2e2171a84c66e166e734":{"balance":"0x19faeafdebeb15c","nonce":"0x22"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d925a65c4cf7c93"}},"meta":{"byte_code":"0x02f8b1012184b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a006fc4279a176edf71f2ceace33049852a6d407a66bf4b21b9061822ba4946520a047f9873eafe46fcfd6617415ec36fec0625f110485fec5971ae186d607c9100f","new_txn_trie_node_byte":"0x02f8b1012184b2d05e0085048204950383030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a006fc4279a176edf71f2ceace33049852a6d407a66bf4b21b9061822ba4946520a047f9873eafe46fcfd6617415ec36fec0625f110485fec5971ae186d607c9100f","new_receipt_trie_node_byte":"0xb901ab02f901a701836394e8b9010000000000000000000004000000000000000000008000000002000000000000000000000000000000000000000000000000000000000000000000000000200000000200000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000001000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000050923776b134e29deb2c2e2171a84c66e166e734a0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0xe6a822dc521916f1278dee5e285dbab96c865aaf":{"balance":"0x2143f12234ae37d","nonce":"0xf25"},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0x8f9beb1e6a50c68cc14e95172f148a69617affc408703788732c3da5d982c22c":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d92db2634be5493"}},"meta":{"byte_code":"0x02f8b201820f2484b2d05e00850292af671082deff945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b300000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a041a65f3ebeae4669604a6713e602bfba942c766192f1c8cd6464154fd8ebce8fa0233f6fd549fae8148d83f009fdc07f4d533160da4e04b87c23cf58a02ace1ba2","new_txn_trie_node_byte":"0x02f8b201820f2484b2d05e00850292af671082deff945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b300000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a041a65f3ebeae4669604a6713e602bfba942c766192f1c8cd6464154fd8ebce8fa0233f6fd549fae8148d83f009fdc07f4d533160da4e04b87c23cf58a02ace1ba2","new_receipt_trie_node_byte":"0xb901ab02f901a70183644d3cb9010000000000000000000004000000000000000000008000000000000000000000000000000000000000000000000000000000000000000400000000000000200000000000000000000000000000000000000000000100000000000000000000000000000000000000000000400040000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000020000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000e6a822dc521916f1278dee5e285dbab96c865aafa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x21a31ee1afc51d94c2efccaa2092ad1028285549":{"balance":"0x35bf5f5d32b463f6dcf","nonce":"0x951dcd"},"0x1c966f7bd37b64399b2e97a611a2c1485a9c137d":{"balance":"0x254bb7c9cc44c00"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d931472895d4493"}},"meta":{"byte_code":"0x02f8770183951dcc84b2d05e008517bfac7c0083032918941c966f7bd37b64399b2e97a611a2c1485a9c137d880254bb7c9cc44c0080c080a08289921550db24e462228dcab030894456a0c0941926c6a13e3ea5e5cb32c1cda031c315b96aa646dd8555a6b7c2e4e7c72536d7edbe80930c29ecb34646da07e5","new_txn_trie_node_byte":"0x02f8770183951dcc84b2d05e008517bfac7c0083032918941c966f7bd37b64399b2e97a611a2c1485a9c137d880254bb7c9cc44c0080c080a08289921550db24e462228dcab030894456a0c0941926c6a13e3ea5e5cb32c1cda031c315b96aa646dd8555a6b7c2e4e7c72536d7edbe80930c29ecb34646da07e5","new_receipt_trie_node_byte":"0xb9010d02f901090183649f44b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x78b35599871be95768b2fdfaf9293a4491ecdc8ef25b872ee404fa1e441436e0","0x5ca15feede336c76a4264f10fbd4cb21afc7de1c047390150b30f35a148f97db","0x0000000000000000000000000000000000000000000000000000000000000000","0x759ebf061baf585c99e31ae2e878792704a737b70719d1ed8895fe7d10c01bf7"],"storage_written":{"0x5ca15feede336c76a4264f10fbd4cb21afc7de1c047390150b30f35a148f97db":"0x135663fba","0x78b35599871be95768b2fdfaf9293a4491ecdc8ef25b872ee404fa1e441436e0":"0x1485c6c757193"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x28c6c06298d514db089934071355e5743bf21d60":{"balance":"0x282a8f99a845390c7792","nonce":"0x99741f"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d939249aed45293"}},"meta":{"byte_code":"0x02f8b4018399741e84b2d05e008517bfac7c0083035d1494dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000c4dc1399155a8722d2a576ed35eb611d6ae9c49800000000000000000000000000000000000000000000000000000001318ef8fac001a0249c0b45877cacf626f38a3cb9fc8afe8ba6fecf9051ef401d0b9de702ddc2bea016fd424e5039362bc41077d2df7b0ba1a919ac715ceed52e404a5c539691d90c","new_txn_trie_node_byte":"0x02f8b4018399741e84b2d05e008517bfac7c0083035d1494dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000c4dc1399155a8722d2a576ed35eb611d6ae9c49800000000000000000000000000000000000000000000000000000001318ef8fac001a0249c0b45877cacf626f38a3cb9fc8afe8ba6fecf9051ef401d0b9de702ddc2bea016fd424e5039362bc41077d2df7b0ba1a919ac715ceed52e404a5c539691d90c","new_receipt_trie_node_byte":"0xb901ab02f901a7018365536db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000010000000000000000000000000000000000000000000000000200000008000000000000000000000000000800000000000000000000000000000040000000000000000000000000000002000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000020000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000028c6c06298d514db089934071355e5743bf21d60a0000000000000000000000000c4dc1399155a8722d2a576ed35eb611d6ae9c498a000000000000000000000000000000000000000000000000000000001318ef8fa","gas_used":46121}},{"traces":{"0x514910771af9ca656af840dff83e8264ecf986ca":{"storage_read":["0x507f23fce2bd949c083e53237d2f1d0ac2c6004816f78e2de31cb8aec270174b","0x283ac435f618f77f47bfcb1c7211bf868694d2d4c6a3f6554d6d7f85ffe7cf53"],"storage_written":{"0x283ac435f618f77f47bfcb1c7211bf868694d2d4c6a3f6554d6d7f85ffe7cf53":"0xbb6a8f73cd8a2f9000","0x507f23fce2bd949c083e53237d2f1d0ac2c6004816f78e2de31cb8aec270174b":"0x4c3aa09bdcb360c7d65f"},"code_usage":{"read":"0x77c633ba07c8cb94cd4864092fd8b31e31cf9d065f6fb6acf617298bc0008785"}},"0xdfd5293d8e347dfe59e90efd55b2956a1343963d":{"balance":"0x33641817e999927c2c6","nonce":"0x8dc969"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d93f1c999584093"}},"meta":{"byte_code":"0x02f8b401838dc96884b2d05e008517bfac7c008303291894514910771af9ca656af840dff83e8264ecf986ca80b844a9059cbb0000000000000000000000003d07f0b23f8162aa0afa1cade282321eabafe455000000000000000000000000000000000000000000000061dbba0eeccc167000c080a010d0dde7c136f99666eb61d3b50b9c3885826dd7175329d1d1c8eb7aeb5c63d6a056c195e79165bef2144ebc0cac4c87241b3b40e19336b1029c7c180b75afd07e","new_txn_trie_node_byte":"0x02f8b401838dc96884b2d05e008517bfac7c008303291894514910771af9ca656af840dff83e8264ecf986ca80b844a9059cbb0000000000000000000000003d07f0b23f8162aa0afa1cade282321eabafe455000000000000000000000000000000000000000000000061dbba0eeccc167000c080a010d0dde7c136f99666eb61d3b50b9c3885826dd7175329d1d1c8eb7aeb5c63d6a056c195e79165bef2144ebc0cac4c87241b3b40e19336b1029c7c180b75afd07e","new_receipt_trie_node_byte":"0xb901ab02f901a7018365dc26b9010000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000008000000000000000000000000000400000000000000000000000000004000000000000000000000000000000000000010000000000040000000000000000000000002000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000002000000000000000000000004000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94514910771af9ca656af840dff83e8264ecf986caf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000dfd5293d8e347dfe59e90efd55b2956a1343963da00000000000000000000000003d07f0b23f8162aa0afa1cade282321eabafe455a0000000000000000000000000000000000000000000000061dbba0eeccc167000","gas_used":35001}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d942b15edf73093"},"0x27afa12357202f591b2cdc3c41e371a0953933a1":{"balance":"0x10a785997d86c00"},"0x9696f59e4d72e237be84ffd425dcad154bf96976":{"balance":"0x30857644f49ecccbbc6","nonce":"0x63b151"}},"meta":{"byte_code":"0x02f876018363b15084b2d05e008517bfac7c00830329189427afa12357202f591b2cdc3c41e371a0953933a187f68e4bb029280080c001a00688dd153872d9fac159f994cfc93f508275053d8b4e1f342c43248157ca9969a06ebd223685378c4dc04ebcb49ce90ac8c9a954083ed3140e03b7555b8da3e390","new_txn_trie_node_byte":"0x02f876018363b15084b2d05e008517bfac7c00830329189427afa12357202f591b2cdc3c41e371a0953933a187f68e4bb029280080c001a00688dd153872d9fac159f994cfc93f508275053d8b4e1f342c43248157ca9969a06ebd223685378c4dc04ebcb49ce90ac8c9a954083ed3140e03b7555b8da3e390","new_receipt_trie_node_byte":"0xb9010d02f901090183662e2eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d94646242962093"},"0xf3a77d989b99b42f836af399f8ad450a2981e598":{"balance":"0x16010324b4e9000"},"0x4976a4a02f38326660d17bf34b431dc6e2eb2327":{"balance":"0x32c7dadd1cd2b1fe43c","nonce":"0x3fe1b0"}},"meta":{"byte_code":"0x02f87701833fe1af84b2d05e008517bfac7c008303291894f3a77d989b99b42f836af399f8ad450a2981e59888016010324b4e900080c080a0dfcb5915d6b19fd024dbe1aa315b52234bc902fc85220e8eaa5a097406ea1416a0593f1669271b668682f934ae3f41535c0d45ca226dc1a607c04c1fd8c7ecfbb3","new_txn_trie_node_byte":"0x02f87701833fe1af84b2d05e008517bfac7c008303291894f3a77d989b99b42f836af399f8ad450a2981e59888016010324b4e900080c080a0dfcb5915d6b19fd024dbe1aa315b52234bc902fc85220e8eaa5a097406ea1416a0593f1669271b668682f934ae3f41535c0d45ca226dc1a607c04c1fd8c7ecfbb3","new_receipt_trie_node_byte":"0xb9010d02f901090183668036b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x21a31ee1afc51d94c2efccaa2092ad1028285549":{"balance":"0x35bf5f44a99349d4478","nonce":"0x951dce"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d94e2310648c693"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x31552aafea7271aa1fa5eec15a229856cb67bda5394fb7c97856f5a81032a210","0x0000000000000000000000000000000000000000000000000000000000000000","0xd8e9d8ea6f134d03da245979710275316370450c0e8a5afcfc4e8e535674cd77","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xdf70affd7af96966d2670c0f3ed33a9da6b177986dc23d985c9fbdd265f954a7"],"storage_written":{"0x31552aafea7271aa1fa5eec15a229856cb67bda5394fb7c97856f5a81032a210":"0x1238210b05","0xdf70affd7af96966d2670c0f3ed33a9da6b177986dc23d985c9fbdd265f954a7":"0x116608d2d50f"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f8b40183951dcd84b2d05e008517bfac7c0083035d1494dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000035a26565272f96529ca0060c86738ab83da1647a00000000000000000000000000000000000000000000000000000000a0ddcb10c001a089c784df2b13c7ef68151c27532655f784b031327745675a226f334eb80c56c8a05c4be1d6956804bbefa44027197c1062305d66d1774aa63c57cf0125215ba031","new_txn_trie_node_byte":"0x02f8b40183951dcd84b2d05e008517bfac7c0083035d1494dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000035a26565272f96529ca0060c86738ab83da1647a00000000000000000000000000000000000000000000000000000000a0ddcb10c001a089c784df2b13c7ef68151c27532655f784b031327745675a226f334eb80c56c8a05c4be1d6956804bbefa44027197c1062305d66d1774aa63c57cf0125215ba031","new_receipt_trie_node_byte":"0xb901ab02f901a70183673453b9010000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000010000000000000000000010000000000000010000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000100000000000000000000000000000000000000000000100020000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000021a31ee1afc51d94c2efccaa2092ad1028285549a000000000000000000000000035a26565272f96529ca0060c86738ab83da1647aa000000000000000000000000000000000000000000000000000000000a0ddcb10","gas_used":46109}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d951b7d5ae7b693"},"0x28c6c06298d514db089934071355e5743bf21d60":{"balance":"0x282a8f8953b34b90f97a","nonce":"0x997420"},"0x352acc8ea63ede8677a2289c2e11f39904fcfeaf":{"balance":"0x190b7897665a58"}},"meta":{"byte_code":"0x02f876018399741f84b2d05e008517bfac7c008303291894352acc8ea63ede8677a2289c2e11f39904fcfeaf870fa1c6d503000080c001a06308056246a455b8a7bfb4ccfe59f2ca8a090e5f106160a0fb6b2eea082f88eda02ef203ea5af0c8932ac4e1e490238136fc62664875ee7e23c90bfda0b53329a5","new_txn_trie_node_byte":"0x02f876018399741f84b2d05e008517bfac7c008303291894352acc8ea63ede8677a2289c2e11f39904fcfeaf870fa1c6d503000080c001a06308056246a455b8a7bfb4ccfe59f2ca8a090e5f106160a0fb6b2eea082f88eda02ef203ea5af0c8932ac4e1e490238136fc62664875ee7e23c90bfda0b53329a5","new_receipt_trie_node_byte":"0xb9010d02f90109018367865bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9554c9af86a693"},"0x56eddb7aa87536c09ccc2793473599fd21a8b17f":{"balance":"0x378003f1286ad82b522","nonce":"0x6791e0"},"0xf1bfe4f562c4ecc1fa293b1e47be9b8cf2420ac0":{"balance":"0x98fe17f7e02bba"}},"meta":{"byte_code":"0x02f87601836791df84b2d05e008517bfac7c008303291894f1bfe4f562c4ecc1fa293b1e47be9b8cf2420ac0878e37fb7f00f00080c001a03c8f50c302c1f6b9a1ddba17fb0d45e8ee0e3bf9acefe8239461a5141266508aa00689a68df9a25b6dceaaa24ad5f6644fdc7c2a853bed9204f347a4539e8ba73f","new_txn_trie_node_byte":"0x02f87601836791df84b2d05e008517bfac7c008303291894f1bfe4f562c4ecc1fa293b1e47be9b8cf2420ac0878e37fb7f00f00080c001a03c8f50c302c1f6b9a1ddba17fb0d45e8ee0e3bf9acefe8239461a5141266508aa00689a68df9a25b6dceaaa24ad5f6644fdc7c2a853bed9204f347a4539e8ba73f","new_receipt_trie_node_byte":"0xb9010d02f90109018367d863b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d95c3fcadb59088"},"0x0a2c375553e6965b42c135bb8b15a8914b08de0c":{"storage_written":{"0x46e98929902aecc544b0266de247dfe6ed2f549d7e82fbea6b3b7570903059e8":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x039ec11e93922de29e61f056f459acf01e33721387584588ee00b6a78e50b719"}},"0xea9bfaf4b0f42c3d912ca88dd365a87ddbf262f8":{"balance":"0xbc254ff16be9ec","nonce":"0x13"}},"meta":{"byte_code":"0x02f8b00112849caa0b418502be7f6c0f82b5b5940a2c375553e6965b42c135bb8b15a8914b08de0c80b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0ee1458b090fe797e94e6a07859545ccc60aa894e77dd415a94c5aa3f58b3c2aca05d775f821f142532eb962fc5071fd0ee51b0ce792823ea5a07938b2bae72ad66","new_txn_trie_node_byte":"0x02f8b00112849caa0b418502be7f6c0f82b5b5940a2c375553e6965b42c135bb8b15a8914b08de0c80b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0ee1458b090fe797e94e6a07859545ccc60aa894e77dd415a94c5aa3f58b3c2aca05d775f821f142532eb962fc5071fd0ee51b0ce792823ea5a07938b2bae72ad66","new_receipt_trie_node_byte":"0xb901ab02f901a70183688e18b9010000000000000000080000000000000000000000000000000000000000000000000000000000000400000000000000000000000000800000000000000000200000000000000000000000024000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000020000000000000000100000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b940a2c375553e6965b42c135bb8b15a8914b08de0cf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000ea9bfaf4b0f42c3d912ca88dd365a87ddbf262f8a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46517}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d96342e40e914d8"},"0x218436996d3de16cecf6a5d731b5d683406a0bc1":{"storage_written":{"0xe6c4e25aa528a67a78e4f779504829e83a37243e395cb0d8aefaed667d4e14f5":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xd8e28ab3e160677827a71d163f0ed7a994c467f4f2375d98160f5d336dd5f877"}},"0x740f7d64ff89631f1fe22a9898359f36da578103":{"balance":"0x1befc6bb0f6c77","nonce":"0x381"}},"meta":{"byte_code":"0x02f8b201820380849c041a2e850295a395eb82b81894218436996d3de16cecf6a5d731b5d683406a0bc180b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a05fad87a55beefcd9bdc9daacf32125c92ac943aa2ef937af82dd1a0ff0188608a0531d61bd4f374ec637ab55cb7890badd798cf8c0eb05f0fcfaf560f0063c281e","new_txn_trie_node_byte":"0x02f8b201820380849c041a2e850295a395eb82b81894218436996d3de16cecf6a5d731b5d683406a0bc180b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a05fad87a55beefcd9bdc9daacf32125c92ac943aa2ef937af82dd1a0ff0188608a0531d61bd4f374ec637ab55cb7890badd798cf8c0eb05f0fcfaf560f0063c281e","new_receipt_trie_node_byte":"0xb901ab02f901a70183694630b9010000000000000000000000000000000000000010000000000000000000000000000000000000000000000040000000000000000000800000000000000000200000000000000000000000004000000000000000000000000800000000000000000000000000000040000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000010000000000000000008000000000000000000000000000000000000000000f89df89b94218436996d3de16cecf6a5d731b5d683406a0bc1f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000740f7d64ff89631f1fe22a9898359f36da578103a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47128}},{"traces":{"0xc6208ee9866fe2242942f5a857698d6650464658":{"balance":"0x21e0bcbe35f51f","nonce":"0x37"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d969ecfe679bdd8"},"0xe9eccde9d26fcbb5e93f536cfc4510a7f46274f8":{"storage_written":{"0xcad94d80b1c88df3a28abbcfb924f5396f7acca8f141f3c55ea1d65dd9d88b51":"0x40ba175c00"},"code_usage":{"read":"0x556287af48f8513919cf7c47167e6a3ae7a4a1eecb767fdbfc15514c4d339b18"}}},"meta":{"byte_code":"0x02f8b10136849502f90085036cca24be8301150994e9eccde9d26fcbb5e93f536cfc4510a7f46274f880b844095ea7b3000000000000000000000000611b0906058744c2e8fd158a9fc7afd2e8c3081700000000000000000000000000000000000000000000000000000040ba175c00c080a07ab69afb9420cb54e8b398531781de7533a3f8656136ffb3430cdff896332869a0627065e2e7708bf3dbfc9f00609996971ffa33b093776082a8d1819d04e67c64","new_txn_trie_node_byte":"0x02f8b10136849502f90085036cca24be8301150994e9eccde9d26fcbb5e93f536cfc4510a7f46274f880b844095ea7b3000000000000000000000000611b0906058744c2e8fd158a9fc7afd2e8c3081700000000000000000000000000000000000000000000000000000040ba175c00c080a07ab69afb9420cb54e8b398531781de7533a3f8656136ffb3430cdff896332869a0627065e2e7708bf3dbfc9f00609996971ffa33b093776082a8d1819d04e67c64","new_receipt_trie_node_byte":"0xb901ab02f901a7018369fd61b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000040000000001000000000000000000000000000000000000000000120000000000000000000000000000000000000020000000000000000000000000000000000000000040000000000000040000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94e9eccde9d26fcbb5e93f536cfc4510a7f46274f8f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c6208ee9866fe2242942f5a857698d6650464658a0000000000000000000000000611b0906058744c2e8fd158a9fc7afd2e8c30817a000000000000000000000000000000000000000000000000000000040ba175c00","gas_used":46897}},{"traces":{"0x295286bca0f156c6850867f9e628998a11becb8a":{"balance":"0xeba73c66a1778","nonce":"0x36"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9705dd69bd45d8"},"0x0814796111e2be5efe9809cf2761cd72c3f7d7fc":{"storage_written":{"0xb787852868a1e3969ce857e5af70e33d7170d25be0b3975d45d1da4969943abb":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x3f2f3aa2952444808fab69edeb19d18aabfccb5786f75d44678484eb2ca326ca"}}},"meta":{"byte_code":"0xf8a93585020c16040382dc3b940814796111e2be5efe9809cf2761cd72c3f7d7fc80b844095ea7b300000000000000000000000077edae6a5f332605720688c7fda7476476e8f83fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff25a06c5a7ff1181ddc0713505411b3e2d7203a206539ae149f443ac119d721fb2a42a041939c6b879a4c731ad5736cc29ac36c35be7e131e4149067d6c47d2bacf2eb1","new_txn_trie_node_byte":"0xf8a93585020c16040382dc3b940814796111e2be5efe9809cf2761cd72c3f7d7fc80b844095ea7b300000000000000000000000077edae6a5f332605720688c7fda7476476e8f83fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff25a06c5a7ff1181ddc0713505411b3e2d7203a206539ae149f443ac119d721fb2a42a041939c6b879a4c731ad5736cc29ac36c35be7e131e4149067d6c47d2bacf2eb1","new_receipt_trie_node_byte":"0xf901a701836ab369b9010001000000000000000000000000000000100000000000000000000000000000000000000000000000010000000000000000000000000000000000000001200000000000000000000000000000000000000400000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000100000000000000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010080000000000000000000000000000000000000000000000000000000000f89df89b940814796111e2be5efe9809cf2761cd72c3f7d7fcf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000295286bca0f156c6850867f9e628998a11becb8aa000000000000000000000000077edae6a5f332605720688c7fda7476476e8f83fa0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46600}},{"traces":{"0x1985ba718c340eb33eec914151923a8dee510503":{"balance":"0x320358f675d53","nonce":"0x7b"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x429389645320ed1464f5c226937eff56ae0c01eece41242c7d19a458dd7783aa","0xc12518632fb9e3042a9f7a76ca205dc3e63768946a23706de1e186a78131ccba","0x0000000000000000000000000000000000000000000000000000000000000000","0xcffeebdfb39fb29f81850cacc1ee74c0fc9bf90562615f23d84cb3931c60c234","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x429389645320ed1464f5c226937eff56ae0c01eece41242c7d19a458dd7783aa":"0x0","0xc12518632fb9e3042a9f7a76ca205dc3e63768946a23706de1e186a78131ccba":"0x3c13b1f1ba"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d975c112d2af61e"}},"meta":{"byte_code":"0x02f8b0017a84b2d05e00850203f49d6982b48594dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000d5fbda4c79f38920159fe5f22df9655fde292d470000000000000000000000000000000000000000000000000000000002255100c080a0e3f0b910a69a92efa294ebd66fde3111726ce62fdfaee0d894a2110bab429810a05687e8d6bef762d82c35063f76ef36238635fdb2693feab26c4b6f085a6bbad2","new_txn_trie_node_byte":"0x02f8b0017a84b2d05e00850203f49d6982b48594dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000d5fbda4c79f38920159fe5f22df9655fde292d470000000000000000000000000000000000000000000000000000000002255100c080a0e3f0b910a69a92efa294ebd66fde3111726ce62fdfaee0d894a2110bab429810a05687e8d6bef762d82c35063f76ef36238635fdb2693feab26c4b6f085a6bbad2","new_receipt_trie_node_byte":"0xb901ab02f901a701836b54bab9010000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000010000000000000000000000000000000002000000400000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000800000000000000000000000000000000000000000000000800000000800000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001985ba718c340eb33eec914151923a8dee510503a0000000000000000000000000d5fbda4c79f38920159fe5f22df9655fde292d47a00000000000000000000000000000000000000000000000000000000002255100","gas_used":41297}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0xf407be0439585b2190f06013971607b18709ad002ab4f4997a19dce5248e051f","0x3d78edf5adc5c213b991907c2a614b8f5002d6b0251988b3fefc85321ffe77fa","0x0000000000000000000000000000000000000000000000000000000000000000","0x71565a6e793f259e707cd5cd06b7894258a4db60d9304d64504ad889d497ad79","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0xf407be0439585b2190f06013971607b18709ad002ab4f4997a19dce5248e051f":"0x12353ed6e48","0x3d78edf5adc5c213b991907c2a614b8f5002d6b0251988b3fefc85321ffe77fa":"0x13b7c4be497"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d97b84d52d9ac1e"},"0xa03400e098f4421b34a3a44a1b4e571419517687":{"balance":"0x314337ac793a6ea11","nonce":"0x3e8fb"}},"meta":{"byte_code":"0x02f8b4018303e8fa848321560085037e11d60083019a2894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000fcd21def8c3cf1ed26e5b2ef87aa0030b46b644c0000000000000000000000000000000000000000000000000000001e449a9400c001a0f68f1a195c06b9aab1e552d193ba32eb28c3035ba807dd084d97857f925cd47ea0308adeb79d8fc9a41b02153a215ddeb5eee4b2b5af78ef23f0835ec855c7a2a9","new_txn_trie_node_byte":"0x02f8b4018303e8fa848321560085037e11d60083019a2894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000fcd21def8c3cf1ed26e5b2ef87aa0030b46b644c0000000000000000000000000000000000000000000000000000001e449a9400c001a0f68f1a195c06b9aab1e552d193ba32eb28c3035ba807dd084d97857f925cd47ea0308adeb79d8fc9a41b02153a215ddeb5eee4b2b5af78ef23f0835ec855c7a2a9","new_receipt_trie_node_byte":"0xb901ab02f901a701836c08cbb9010000000000000000000000002000000000000000000040000000000000000000000000000000000000000000040000010000000000000000000000000000000200000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000040000000000000000000100000000000000000000000000080000000000000800000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a03400e098f4421b34a3a44a1b4e571419517687a0000000000000000000000000fcd21def8c3cf1ed26e5b2ef87aa0030b46b644ca00000000000000000000000000000000000000000000000000000001e449a9400","gas_used":46097}},{"traces":{"0xcbd6832ebc203e49e2b771897067fce3c58575ac":{"balance":"0x33c831fe3a218e1874"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d97e2075bf395a6"},"0x2573a864c6086904f3906fed84dbe662cc84adb8":{"balance":"0x0","nonce":"0x6f"}},"meta":{"byte_code":"0xf86b6e8501fd6069f482520894cbd6832ebc203e49e2b771897067fce3c58575ac873f27e471cc0c608025a0f58709340b103284a07521f9ded5a4a1b5240092bb13d84268aa2bd3e08b2f18a03b40645f5f6be8f8614ef5eed2cd4219505c8e661cce6e679e1bbb207c4c0a1d","new_txn_trie_node_byte":"0xf86b6e8501fd6069f482520894cbd6832ebc203e49e2b771897067fce3c58575ac873f27e471cc0c608025a0f58709340b103284a07521f9ded5a4a1b5240092bb13d84268aa2bd3e08b2f18a03b40645f5f6be8f8614ef5eed2cd4219505c8e661cce6e679e1bbb207c4c0a1d","new_receipt_trie_node_byte":"0xf9010901836c5ad3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x394db38c4ee2ee01a74401422b316c85ae6857ca":{"balance":"0x1b6eb1dca09affa"},"0x4207837d4cd914467eb76bf88c4d6e7ba11ccdf9":{"balance":"0x4da2ae7cc23482e4f","nonce":"0x1beb7"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d98083f22bac7a6"}},"meta":{"byte_code":"0x02f876018301beb6847744d64085e8990a460082c35094394db38c4ee2ee01a74401422b316c85ae6857ca8801839d8e2fce740080c001a0da15cf4d2c4110d64deea22f553a43ae45a1c375be6962ac8b9600ffd75464e4a02774d11a7f32d750945b6b63934495db374a707a4bde70b8f980e83cb4fc1f4c","new_txn_trie_node_byte":"0x02f876018301beb6847744d64085e8990a460082c35094394db38c4ee2ee01a74401422b316c85ae6857ca8801839d8e2fce740080c001a0da15cf4d2c4110d64deea22f553a43ae45a1c375be6962ac8b9600ffd75464e4a02774d11a7f32d750945b6b63934495db374a707a4bde70b8f980e83cb4fc1f4c","new_receipt_trie_node_byte":"0xb9010d02f9010901836cacdbb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x46f80018211d5cbbc988e853a8683501fca4ee9b":{"balance":"0xae73e213c620f5a2ee5"},"0x2ac488584a28fe3115460a7c4b8e2afa310fe820":{"balance":"0x8746f3f59cfe1","nonce":"0x5"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d982e7205cf67a6"}},"meta":{"byte_code":"0x02f8730104847735940085032aac05728252089446f80018211d5cbbc988e853a8683501fca4ee9b88011ec436eb1bfcc780c001a0a27cb4371402737ce750977d135ad3805136264da4d9aaf4178b5aec88fd61fba0154a0de161a8fba5f4d28aaa0a1f25eba6c1614552c76a0114dfdc13350e67b6","new_txn_trie_node_byte":"0x02f8730104847735940085032aac05728252089446f80018211d5cbbc988e853a8683501fca4ee9b88011ec436eb1bfcc780c001a0a27cb4371402737ce750977d135ad3805136264da4d9aaf4178b5aec88fd61fba0154a0de161a8fba5f4d28aaa0a1f25eba6c1614552c76a0114dfdc13350e67b6","new_receipt_trie_node_byte":"0xb9010d02f9010901836cfee3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x47db76f0e0cec6650e43b5e7b28f6f92b6146877":{"balance":"0x15abffe18c4400"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9854a4e8e407a6"},"0xaa0e9a1e2d2ccf2b867fda047bb5394bef1883e0":{"balance":"0x66b81fabcea880de","nonce":"0x10de2"}},"meta":{"byte_code":"0x02f8750183010de1847735940085746a52880082c3509447db76f0e0cec6650e43b5e7b28f6f92b61468778715abffe18c440080c080a0db54f6d8d7d55e68c5a91554d427c74ebc16eb186fead22bdcac890a30d2f007a03bd4ffb3e5fa554e1210e47889db90b1b9cbf043059cad98fb18ea9b75cfdb28","new_txn_trie_node_byte":"0x02f8750183010de1847735940085746a52880082c3509447db76f0e0cec6650e43b5e7b28f6f92b61468778715abffe18c440080c080a0db54f6d8d7d55e68c5a91554d427c74ebc16eb186fead22bdcac890a30d2f007a03bd4ffb3e5fa554e1210e47889db90b1b9cbf043059cad98fb18ea9b75cfdb28","new_receipt_trie_node_byte":"0xb9010d02f9010901836d50ebb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xb739d0895772dbb71a89a3754a160269068f0d45":{"balance":"0x5070a110115803f0bc","nonce":"0x12406b"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d987ad7cbf8a7a6"},"0xe7e4524870ea53f4526117810e241f4c0c31c785":{"balance":"0x22fc0ede7344000"}},"meta":{"byte_code":"0x02f876018312406a8477359400850342770c0082520894e7e4524870ea53f4526117810e241f4c0c31c78588022fc0ede734400080c001a07b731c9406070d76ad68b38d62392e3dbbee4ddff191c9391ab110a942bc9535a05780b23688bfe6ae357998432513207d1bea81de6deee710d7e3cbd787408467","new_txn_trie_node_byte":"0x02f876018312406a8477359400850342770c0082520894e7e4524870ea53f4526117810e241f4c0c31c78588022fc0ede734400080c001a07b731c9406070d76ad68b38d62392e3dbbee4ddff191c9391ab110a942bc9535a05780b23688bfe6ae357998432513207d1bea81de6deee710d7e3cbd787408467","new_receipt_trie_node_byte":"0xb9010d02f9010901836da2f3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d98a10aaf0d47a6"},"0x9a10da8ce77f26231860764a2caab36e70584c4b":{"balance":"0x13a1c67f2f7245bb97","nonce":"0x10ee"},"0xb080f2876901ddd278d531d52cf212bad1bda73a":{"balance":"0x3d5cc4432fdfe"}},"meta":{"byte_code":"0x02f874018210ed84773594008503195f8e5282520894b080f2876901ddd278d531d52cf212bad1bda73a87014132e580e17d80c001a06ceeee358608d96a645456014b0e9eb5bb3c578b06ae87ff464303427492242ba07448b2ceeb7c0954feac59ba27de4d0f81cadf18b1f36b03fdc6e80c52251601","new_txn_trie_node_byte":"0x02f874018210ed84773594008503195f8e5282520894b080f2876901ddd278d531d52cf212bad1bda73a87014132e580e17d80c001a06ceeee358608d96a645456014b0e9eb5bb3c578b06ae87ff464303427492242ba07448b2ceeb7c0954feac59ba27de4d0f81cadf18b1f36b03fdc6e80c52251601","new_receipt_trie_node_byte":"0xb9010d02f9010901836df4fbb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d98c73d9221e7a6"},"0x877ccbf3f1e824a902b51edb02b0b9dcfaebd2eb":{"balance":"0x9db319acb9616e0","nonce":"0x54b"},"0xa03400e098f4421b34a3a44a1b4e571419517687":{"balance":"0x3210edfe929083759"}},"meta":{"byte_code":"0x02f8750182054a847735940085022c35872482ea6094a03400e098f4421b34a3a44a1b4e571419517687880cdb652195614d4880c001a07bf51644c6dffb6b75343f8ce104637c52830ab1a1623cfc96d3fc6ea285de31a00466c29eb09b99e37dbcf7cdc14f7f2832373abdc70bb5833d1d4cb632d115bb","new_txn_trie_node_byte":"0x02f8750182054a847735940085022c35872482ea6094a03400e098f4421b34a3a44a1b4e571419517687880cdb652195614d4880c001a07bf51644c6dffb6b75343f8ce104637c52830ab1a1623cfc96d3fc6ea285de31a00466c29eb09b99e37dbcf7cdc14f7f2832373abdc70bb5833d1d4cb632d115bb","new_receipt_trie_node_byte":"0xb9010d02f9010901836e4703b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4d224452801aced8b2f0aebe155379bb5d594381":{"storage_read":["0x499d055781c7597e0f2858919e36ec49060596808044dd26a3e762515d70d47e","0x164c0d431a999b5e9f4dfeeb03c48841235e3d171aa85ecb5a0f46085a773b96"],"storage_written":{"0x164c0d431a999b5e9f4dfeeb03c48841235e3d171aa85ecb5a0f46085a773b96":"0xa72279afb56451239296d","0x499d055781c7597e0f2858919e36ec49060596808044dd26a3e762515d70d47e":"0x38f628b692646e0000"},"code_usage":{"read":"0x86cc3092a7d90269edf27eb088feea0d277b77a77bfbbe06dff0a1b1affbfb9e"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9925184bd86ba6"},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x682cd2b742a325a2e2e","nonce":"0x382dd9"}},"meta":{"byte_code":"0x02f8b30183382dd88477359400852e90edd00083015f90944d224452801aced8b2f0aebe155379bb5d59438180b844a9059cbb0000000000000000000000005b1c8bcda660216c193fc8677532b18957a8f5a6000000000000000000000000000000000000000000000038f628b692646e0000c0809f13b117390f41b3cd91da48377f8c8c7445fd946130d4f6282e136b780f1d1aa077b6b19c5b0149d659ea7056aff60c794781a2f2e8d73118862898c12f770cc3","new_txn_trie_node_byte":"0x02f8b30183382dd88477359400852e90edd00083015f90944d224452801aced8b2f0aebe155379bb5d59438180b844a9059cbb0000000000000000000000005b1c8bcda660216c193fc8677532b18957a8f5a6000000000000000000000000000000000000000000000038f628b692646e0000c0809f13b117390f41b3cd91da48377f8c8c7445fd946130d4f6282e136b780f1d1aa077b6b19c5b0149d659ea7056aff60c794781a2f2e8d73118862898c12f770cc3","new_receipt_trie_node_byte":"0xb901ab02f901a701836f1090b901000000000000000000000000000000000000000000000000000008000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000080000000000000000020004000000000000000000000000000000000010020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000200000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b944d224452801aced8b2f0aebe155379bb5d594381f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f89d7b9c864f589bbf53a82105107622b35eaa40a00000000000000000000000005b1c8bcda660216c193fc8677532b18957a8f5a6a0000000000000000000000000000000000000000000000038f628b692646e0000","gas_used":51597}},{"traces":{"0x0e4e601288042093d392fa68dd68720430f42755":{"balance":"0xa18f0164fd7c7","nonce":"0xea"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d99980cb1512fa6"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0xab34f168365cfe37082bf5892c98fc43f1718563183799178a7a24a80959a835","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xdb7fb894ad7d99d98ce07e012ab039527968e8e94f69c7be938b00e2bd373ee1","0xda394736de44da2ef72afc17d463d2f2fb34d9265d65c32e5b476f4040ef9fc4"],"storage_written":{"0xdb7fb894ad7d99d98ce07e012ab039527968e8e94f69c7be938b00e2bd373ee1":"0x3dcf8450","0xda394736de44da2ef72afc17d463d2f2fb34d9265d65c32e5b476f4040ef9fc4":"0x4c4b40"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f8b20181e98477359400850205632bd883011fa394dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000031177d188e43263d0fa8aac75d312ff9384148e300000000000000000000000000000000000000000000000000000000004c4b40c001a0097671726cc5fd3ebc73c5a460c0737ff36d078cf31d4f482455b0cc146aba06a02a8119d1013a4aabdc4af7f38ad3ab5def471c85d3e725131c6d8ccb943f8e61","new_txn_trie_node_byte":"0x02f8b20181e98477359400850205632bd883011fa394dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000031177d188e43263d0fa8aac75d312ff9384148e300000000000000000000000000000000000000000000000000000000004c4b40c001a0097671726cc5fd3ebc73c5a460c0737ff36d078cf31d4f482455b0cc146aba06a02a8119d1013a4aabdc4af7f38ad3ab5def471c85d3e725131c6d8ccb943f8e61","new_receipt_trie_node_byte":"0xb901ab02f901a7018370076db9010000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000202000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000400000000000000000000000000000000000000000000000000000000000002000000000400000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000e4e601288042093d392fa68dd68720430f42755a000000000000000000000000031177d188e43263d0fa8aac75d312ff9384148e3a000000000000000000000000000000000000000000000000000000000004c4b40","gas_used":63197}},{"traces":{"0x44898de5d7f96e7eb1700dd991132a12297ff8be":{"balance":"0x2386f26fc10000"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d99be3f9465cfa6"},"0xa7efae728d2936e78bda97dc267687568dd593f3":{"balance":"0x8de5a11d3628e252705","nonce":"0x2395df"}},"meta":{"byte_code":"0x02f87601832395de8477359400852f08236400830334509444898de5d7f96e7eb1700dd991132a12297ff8be872386f26fc1000080c080a0e1abea02f9254926b7ceb4192af8bf52bf34ab85927dd6273d45e0cc989f6adda02ce481bf864d4f4309c05d47ce04f3e39b23df9e7f0da7a04e5ee7d3c7897523","new_txn_trie_node_byte":"0x02f87601832395de8477359400852f08236400830334509444898de5d7f96e7eb1700dd991132a12297ff8be872386f26fc1000080c080a0e1abea02f9254926b7ceb4192af8bf52bf34ab85927dd6273d45e0cc989f6adda02ce481bf864d4f4309c05d47ce04f3e39b23df9e7f0da7a04e5ee7d3c7897523","new_receipt_trie_node_byte":"0xb9010d02f901090183705975b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0xdb11b07b6ab273ed64557f8c545356692103201a4351d8216ace847e332545e6","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0xb374d549c4210ce4d86594fd6e5e972db66a2b8995be56e77460d52fbd255e5e"],"storage_written":{"0xb374d549c4210ce4d86594fd6e5e972db66a2b8995be56e77460d52fbd255e5e":"0x56d0e77c322d","0xdb11b07b6ab273ed64557f8c545356692103201a4351d8216ace847e332545e6":"0x2625a000"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9a2f7a1040efa6"},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x682cd299acd31663cb6","nonce":"0x382dda"}},"meta":{"byte_code":"0x02f8b40183382dd98477359400852e90edd00083015f9094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000009de33b903225b5cd6f6430f021ff638bf7aea7a9000000000000000000000000000000000000000000000000000000002625a000c080a082f8bf5a8cb80ff6b8ba79fb9050c64425214a37d71e9b1ea49ecd95d91e9eeaa0704d835dbe01fdd98598fa3c192ae0e2de38496daddccb14e482967d325f1532","new_txn_trie_node_byte":"0x02f8b40183382dd98477359400852e90edd00083015f9094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000009de33b903225b5cd6f6430f021ff638bf7aea7a9000000000000000000000000000000000000000000000000000000002625a000c080a082f8bf5a8cb80ff6b8ba79fb9050c64425214a37d71e9b1ea49ecd95d91e9eeaa0704d835dbe01fdd98598fa3c192ae0e2de38496daddccb14e482967d325f1532","new_receipt_trie_node_byte":"0xb901ab02f901a70183714c9db9010000000000000000000000000000000000000000000000000100080000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002000000000000000200000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f89d7b9c864f589bbf53a82105107622b35eaa40a00000000000000000000000009de33b903225b5cd6f6430f021ff638bf7aea7a9a0000000000000000000000000000000000000000000000000000000002625a000","gas_used":62248}},{"traces":{"0x267be1c1d684f78cb4f6a176c4911b741e4ffdc0":{"balance":"0x6ffc54a3be51ca30903","nonce":"0x3dcc65"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9a55acf3558fa6"},"0xc0a3451397d0d5b3541ec590304843a617d08aa1":{"balance":"0x1e08c8b98063000"}},"meta":{"byte_code":"0x02f87601833dcc6484773594008505e094541082520894c0a3451397d0d5b3541ec590304843a617d08aa18801e08c8b9806300080c080a088df731037b4e70ed4a99d3caa115fcdcfd06a2e3c98c1e83f1910be83d8b82ea06761c0f4b305214ad8176ae06d61407ee4629dbcca1a1f1bf1e4759d28cf9c8d","new_txn_trie_node_byte":"0x02f87601833dcc6484773594008505e094541082520894c0a3451397d0d5b3541ec590304843a617d08aa18801e08c8b9806300080c080a088df731037b4e70ed4a99d3caa115fcdcfd06a2e3c98c1e83f1910be83d8b82ea06761c0f4b305214ad8176ae06d61407ee4629dbcca1a1f1bf1e4759d28cf9c8d","new_receipt_trie_node_byte":"0xb9010d02f901090183719ea5b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x1e5503972b88fc74ec70a22b63cde315fbbcc9b4":{"balance":"0x1a9f822b28b53b8"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9a7bdfd66a2fa6"},"0xf60c2ea62edbfe808163751dd0d8693dcb30019c":{"balance":"0x19b077b6fa56941baeb","nonce":"0x1f6174"}},"meta":{"byte_code":"0x02f87701831f61738477359400850df847580083032918941e5503972b88fc74ec70a22b63cde315fbbcc9b488019f83e62fa5480080c001a0341b056217d7c1a2321a521f551f23b4a82422795e5cffb05a0f9f3db0607a2ca04d3fc4a2efdd546b6d5f8f0b93b1813b23d1ff4f7c5136ffdb97626028248ebd","new_txn_trie_node_byte":"0x02f87701831f61738477359400850df847580083032918941e5503972b88fc74ec70a22b63cde315fbbcc9b488019f83e62fa5480080c001a0341b056217d7c1a2321a521f551f23b4a82422795e5cffb05a0f9f3db0607a2ca04d3fc4a2efdd546b6d5f8f0b93b1813b23d1ff4f7c5136ffdb97626028248ebd","new_receipt_trie_node_byte":"0xb9010d02f90109018371f0adb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x483cd72f20d1561990472d6d54881935aade3a0d":{"balance":"0x12ee786654cea55"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9aa212b97ecfa6"},"0x267be1c1d684f78cb4f6a176c4911b741e4ffdc0":{"balance":"0x6ffc43862db2be92aeb","nonce":"0x3dcc66"}},"meta":{"byte_code":"0x02f87601833dcc6584773594008505e094541082520894483cd72f20d1561990472d6d54881935aade3a0d880111395849cbb00080c001a0d21713c04ea43c41b40e7a7f80bc02fde5b3e8908ad8599e054e738b9ba87072a04bbd3d957ee79fa4febbee3cbad894f0ad9cb972b7f45f1c6e9f46da9bb5d865","new_txn_trie_node_byte":"0x02f87601833dcc6584773594008505e094541082520894483cd72f20d1561990472d6d54881935aade3a0d880111395849cbb00080c001a0d21713c04ea43c41b40e7a7f80bc02fde5b3e8908ad8599e054e738b9ba87072a04bbd3d957ee79fa4febbee3cbad894f0ad9cb972b7f45f1c6e9f46da9bb5d865","new_receipt_trie_node_byte":"0xb9010d02f9010901837242b5b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x13ff963fc8a3993f4269da5adcb07286a8616c6a":{"balance":"0x10616aa652d62872","nonce":"0x422e"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9ae9c9e2f1f7a6"},"0x7a250d5630b4cf539739df2c5dacb4c659f2488d":{"code_usage":{"read":"0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2"}},"0xa478c2975ab1ea89e8196811f51a7b7ade33eb11":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008"],"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x75d308a90ef8c0de983bd6eddc4aae7d8fe226df":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008"],"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}}},"meta":{"byte_code":"0x02f901940182422d84773594008502cb417800830493e0947a250d5630b4cf539739df2c5dacb4c659f2488d80b901248803dbee00000000000000000000000000000000000000000000057193787bb9c4f620e8000000000000000000000000000000000000000000000015423f4f5e531cd48100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000013ff963fc8a3993f4269da5adcb07286a8616c6a000000000000000000000000000000000000000000000000000000006687df9e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000045c2f8c9b4c0bdc76200448cc26c48ab6ffef83fc080a0e57b3179644ac44fa3fa63dc6838f209453a79cc3bf8d7de013ddd4f697a3345a001c3d29999d00a29b777032ddabeb04f2648e80a09068a996941dc3b8b5b16d0","new_txn_trie_node_byte":"0x02f901940182422d84773594008502cb417800830493e0947a250d5630b4cf539739df2c5dacb4c659f2488d80b901248803dbee00000000000000000000000000000000000000000000057193787bb9c4f620e8000000000000000000000000000000000000000000000015423f4f5e531cd48100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000013ff963fc8a3993f4269da5adcb07286a8616c6a000000000000000000000000000000000000000000000000000000006687df9e00000000000000000000000000000000000000000000000000000000000000030000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000045c2f8c9b4c0bdc76200448cc26c48ab6ffef83fc080a0e57b3179644ac44fa3fa63dc6838f209453a79cc3bf8d7de013ddd4f697a3345a001c3d29999d00a29b777032ddabeb04f2648e80a09068a996941dc3b8b5b16d0","new_receipt_trie_node_byte":"0xb9010d02f90109808372dcb7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":39426}},{"traces":{"0x48cc551eaeadedff6ecceb0227d9b709fa9344dc":{"balance":"0x667863aca9a9d43b","nonce":"0xa18d"},"0x6f1cdbbb4d53d226cf4b917bf768b94acbab6168":{"code_usage":{"read":"0x6cfc5f65736ee54fad5d76e8b18cb490671cdf067195519be85609aa7fcec23c"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9b2f787068c7a6"},"0xaf5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6":{"storage_read":["0x088aceb73058ac8868ac6c8b117dd323d2a7697b2375e0cdaefced857d4b5f29","0xf519a4612ac63d995f334705b8ace73d82500fa16dcd7bf89681afe4a2122e4c"],"storage_written":{"0x088aceb73058ac8868ac6c8b117dd323d2a7697b2375e0cdaefced857d4b5f29":"0x21e19e27e596f8a0f7c8","0xf519a4612ac63d995f334705b8ace73d82500fa16dcd7bf89681afe4a2122e4c":"0x2b4f9baff52fbde30000"},"code_usage":{"read":"0x1301f7cc610a8a70ae473db5dad66f0db152a54be4b7b788acfba8cb391307e4"}}},"meta":{"byte_code":"0x02f8d30182a18c84773594008503197e12d28307a120946f1cdbbb4d53d226cf4b917bf768b94acbab616880b864f5537ede000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd600000000000000000000000008dc8ffc2db71ea07537d1328b3be0799b604396000000000000000000000000000000000000000000001e62eb03c42504430000c001a0cee308b1e11c49fc17005eda4d1d14d9b070426a9f0b88f9d4bdcf07a4aceae6a05cc461f4d3b5550d331eeea0c2088ac3dad7a980dd8b3b82d4ce269ba9661203","new_txn_trie_node_byte":"0x02f8d30182a18c84773594008503197e12d28307a120946f1cdbbb4d53d226cf4b917bf768b94acbab616880b864f5537ede000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd600000000000000000000000008dc8ffc2db71ea07537d1328b3be0799b604396000000000000000000000000000000000000000000001e62eb03c42504430000c001a0cee308b1e11c49fc17005eda4d1d14d9b070426a9f0b88f9d4bdcf07a4aceae6a05cc461f4d3b5550d331eeea0c2088ac3dad7a980dd8b3b82d4ce269ba9661203","new_receipt_trie_node_byte":"0xb901ab02f901a7018373725bb9010000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040010000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000020000000000000000000001000000000000000000000000000002000000000000000000001000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000f89df89b94af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab6168a000000000000000000000000008dc8ffc2db71ea07537d1328b3be0799b604396a0000000000000000000000000000000000000000000001e62eb03c42504430000","gas_used":38308}},{"traces":{"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x790fcf8e6d3622be0db48fe17ce31972ac6acf79ac9b0c7cb2baff36563da4c2","0xf907f3cc63b42a2e1a7bf496deeb78f375d0f62e408eba71a65880939dbf427b","0x000000000000000000000000000000000000000000000000000000000000000a","0x771d73656d0d03cb9d01ba05e2e33b5b2030b3cb9bb635a45a0e2ca32268d8e8"],"storage_written":{"0x790fcf8e6d3622be0db48fe17ce31972ac6acf79ac9b0c7cb2baff36563da4c2":"0x27a8c51e4f0d52b859b3c","0x771d73656d0d03cb9d01ba05e2e33b5b2030b3cb9bb635a45a0e2ca32268d8e8":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x3c30d38ec285bbb5d7e805e140b5ca75509ce213":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0xc0d1c00078410fd0164580b0bad93d8a579580d06cf45fc2696a823498097b8a","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x1000dc2480000000000002c6773c8a93ef20204a7ffffecacb03eb46687daf3","0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000fe1de800000000000000000088fd13364087cd35d788f1","0x0000000000000000000000000000000000000000000000000000000000000001":"0x1f60ffd09dabc3c19658065849a9d593f3f"},"code_usage":{"read":"0x4cdd8ace1bc3aa682d59f855db6720c4b906a5a085435e26fc155a4b4317ad40"}},"0x127d772eff3627272cc019b4976feec52d7a9680":{"balance":"0x1f8bca5666d469f","nonce":"0x155"},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243944d84c9b7e503395d","storage_read":["0xa22e32ecb873b29d581996277a2c40af05b065b2c75e0e3a979a0577e53b33e2","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa"],"storage_written":{"0xa22e32ecb873b29d581996277a2c40af05b065b2c75e0e3a979a0577e53b33e2":"0x2487099116fc1fe0","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa":"0x9f4e08c34672abb","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9c2d00c6656ba6"},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0xbf38066c31af6ee240b7f72574a1fcf4db9b5eb1692c19bf8cb4da2ee8fd08a2"],"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}}},"meta":{"byte_code":"0x02f9039501820154847735940085023716cfa88302fadb943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903253593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000019082a9b6a5000000000000000000000000000000000000000000000000000000000000000300060c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000062417d8af6a3820000000000000000000000000000000000000000000000000000001bb49683619b41100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002b97a9a15168c22b3c137e6381037e1499c8ad0978002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000127d772eff3627272cc019b4976feec52d7a968000000000000000000000000000000000000000000000000001bb49683619b4110bc080a09feeaef1a005761d2917ffa8f3c181128ad438f67581283c494faf60effc57a8a07351e67f2ee8f84feb934d23062dd36740ab3d1bf3972e5e949ec2321efa0105","new_txn_trie_node_byte":"0x02f9039501820154847735940085023716cfa88302fadb943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903253593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000019082a9b6a5000000000000000000000000000000000000000000000000000000000000000300060c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000062417d8af6a3820000000000000000000000000000000000000000000000000000001bb49683619b41100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002b97a9a15168c22b3c137e6381037e1499c8ad0978002710c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000127d772eff3627272cc019b4976feec52d7a968000000000000000000000000000000000000000000000000001bb49683619b4110bc080a09feeaef1a005761d2917ffa8f3c181128ad438f67581283c494faf60effc57a8a07351e67f2ee8f84feb934d23062dd36740ab3d1bf3972e5e949ec2321efa0105","new_receipt_trie_node_byte":"0xb9048102f9047d01837592d0b9010000000000000000000001000000000000000000200000000000000000000000000000000000000008000040000000000002000000080020000000000000000000000004080000020800000008000000000000000000400000000000000020000040000000000000200000000000000000000000000000040000000010000800000000100000000000000000000020000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000002400000002000000000000200000000000000000000008000000001000000000800000000000000000f90372f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003c30d38ec285bbb5d7e805e140b5ca75509ce213a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000001c1bb02f0f3b589f89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000127d772eff3627272cc019b4976feec52d7a9680a00000000000000000000000003c30d38ec285bbb5d7e805e140b5ca75509ce213a000000000000000000000000000000000000000000000062417d8af6a38200000f9011c943c30d38ec285bbb5d7e805e140b5ca75509ce213f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8a000000000000000000000000000000000000000000000062417d8af6a38200000fffffffffffffffffffffffffffffffffffffffffffffffffe3e44fd0f0c4a7700000000000000000000000000000000000000000088fd13364087cd35d788f10000000000000000000000000000000000000000000001674e78f40145f451d4fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1de8f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca000000000000000000000000000000000000000000000000000011fd3d8ec2118f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000001c09b2f18079471","gas_used":139381}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x2439465db75add4eac396","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x505b4366d3554260ac094239fda8615f2b576e4d59b3e81f5c217125d8bdecb7"],"storage_written":{"0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x505b4366d3554260ac094239fda8615f2b576e4d59b3e81f5c217125d8bdecb7":"0x3eb3a91a57dc8ea2c6"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x683f71868e2b32aaadf22e0b5965ada551451312":{"balance":"0x30acdc3461ec2d","nonce":"0x24"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9d47a1d42dbfa6"},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0xddd23787a6b80a794d952f5fb036d0b31a8e6aff":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000a":"0x16bbe00d6110f6e82c6f1fa8a29f5d8416f465c","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf300000000003eb3a91a57dc8ea2c60000000125d609c7ed354cfa6f24","0x0000000000000000000000000000000000000000000000000000000000000009":"0x3660dd9469a53bc39d166c11af2ac680"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xa9e8acf069c58aec8825542845fd754e41a9489a":{"storage_read":["0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc","0xef4c3137e8cd2e32a51ad9321176ef4738aa61a7b6503b9fdfa94a0b3fff1548","0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02","0x0d78ece8c8a380610e6b5d4d6986618c937d10430b13055ebd529541910486bf"],"storage_written":{"0x0d78ece8c8a380610e6b5d4d6986618c937d10430b13055ebd529541910486bf":"0x719a2ff3788a0b8e8a","0xef4c3137e8cd2e32a51ad9321176ef4738aa61a7b6503b9fdfa94a0b3fff1548":"0x125d609c7ed354cfa6f24","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc":"0x0","0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02":"0x72d8eb2ca2c607412"},"code_usage":{"read":"0x9de9d0d857327e85aed79ab531808def7cc2850bd4ce57d69b988669b8ad3872"}}},"meta":{"byte_code":"0x02f9043b0123847735940085023716cfa883037451943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad881856abf5efe78a39b903c53593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000001908286029e00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000001856abf5efe78a39000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000001856abf5efe78a3900000000000000000000000000000000000000000000007152065e021a1d555a00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a9e8acf069c58aec8825542845fd754e41a9489a0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a9e8acf069c58aec8825542845fd754e41a9489a000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a9e8acf069c58aec8825542845fd754e41a9489a000000000000000000000000683f71868e2b32aaadf22e0b5965ada551451312000000000000000000000000000000000000000000000071097ff3887f2b570f0bc001a0ad595e68a1dc4572b8704d8b460db465d3f724d4314266668bb0b821ca92f20da0093353bac713f0852b153bbb43410b15650ea4ec7f91c09e330b375b5e332192","new_txn_trie_node_byte":"0x02f9043b0123847735940085023716cfa883037451943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad881856abf5efe78a39b903c53593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000001908286029e00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000001856abf5efe78a39000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000001856abf5efe78a3900000000000000000000000000000000000000000000007152065e021a1d555a00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a9e8acf069c58aec8825542845fd754e41a9489a0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a9e8acf069c58aec8825542845fd754e41a9489a000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000a9e8acf069c58aec8825542845fd754e41a9489a000000000000000000000000683f71868e2b32aaadf22e0b5965ada551451312000000000000000000000000000000000000000000000071097ff3887f2b570f0bc001a0ad595e68a1dc4572b8704d8b460db465d3f724d4314266668bb0b821ca92f20da0093353bac713f0852b153bbb43410b15650ea4ec7f91c09e330b375b5e332192","new_receipt_trie_node_byte":"0xb9057802f90574018377f1c1b9010000200000000000000000000080000000000000000000000000000000000000010000000000000000000000000000000002000000080000000010000000000000000000080000000000000008000000200000000000000000000000008020000000000000080000200020000000000000000000000000000000000090000000000000000000000000000000010020000000000001000000080000004000000000000000000000000200000000000000000000000000000000000000000000000000000002000000000000000000004000020000000000001000800000000000000000200000000000000000000000000100001800000000c00000000000000000f90469f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000001856abf5efe78a39f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000ddd23787a6b80a794d952f5fb036d0b31a8e6affa00000000000000000000000000000000000000000000000001856abf5efe78a39f89b94a9e8acf069c58aec8825542845fd754e41a9489af863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ddd23787a6b80a794d952f5fb036d0b31a8e6affa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000071e31332f5500151f1f87994ddd23787a6b80a794d952f5fb036d0b31a8e6affe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000125d609c7ed354cfa6f2400000000000000000000000000000000000000000000003eb3a91a57dc8ea2c6f8fc94ddd23787a6b80a794d952f5fb036d0b31a8e6afff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001856abf5efe78a39000000000000000000000000000000000000000000000071e31332f5500151f10000000000000000000000000000000000000000000000000000000000000000f89b94a9e8acf069c58aec8825542845fd754e41a9489af863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca000000000000000000000000000000000000000000000000048e33f7cc5f5c367f89b94a9e8acf069c58aec8825542845fd754e41a9489af863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000683f71868e2b32aaadf22e0b5965ada551451312a00000000000000000000000000000000000000000000000719a2ff3788a0b8e8a","gas_used":155377}},{"traces":{"0x1a1fdf27c5e6784d1cebf256a8a5cc0877e73af0":{"code_usage":{"read":"0x198af771627462dc9c1dafe453e431395c4cd76f7e3eaf5a318789a9d0bd7bbb"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9db3a1121e2fa6"},"0x6de037ef9ad2725eb40118bb1702ebb27e4aeb24":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x429d4eed491ec793d176b1cd2c9e12912f9df2c877000f2084223eef2d801813","0x99d2d431bfd6aa0b8f4329878614b24d46de445ef4b9259fafd45d1d239a4206"],"storage_written":{"0x99d2d431bfd6aa0b8f4329878614b24d46de445ef4b9259fafd45d1d239a4206":"0x70c1cc73b00c80000","0x429d4eed491ec793d176b1cd2c9e12912f9df2c877000f2084223eef2d801813":"0x2db6d50b340d7e400cae4"},"code_usage":{"read":"0x41a7aa6269eed68cc8837c6378797dba8eada7a546120dea07f89fd9697bf708"}},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x682cd27d74f076190f2","nonce":"0x382ddb"}},"meta":{"byte_code":"0x02f8b40183382dda8477359400852e90edd00083015f90946de037ef9ad2725eb40118bb1702ebb27e4aeb2480b844a9059cbb000000000000000000000000bcd56a7e9b2e5ce4ec9e1cd880bc71728bbda7580000000000000000000000000000000000000000000000070c1cc73b00c80000c080a0e3ed28fc1b32401238cf25cdebbe9e4882c11d156da0df60aba100b05bee4080a02e4d8ed544dbffed569e8a38ce1d552625dbb6912773c5b4b0369eb90ece38d4","new_txn_trie_node_byte":"0x02f8b40183382dda8477359400852e90edd00083015f90946de037ef9ad2725eb40118bb1702ebb27e4aeb2480b844a9059cbb000000000000000000000000bcd56a7e9b2e5ce4ec9e1cd880bc71728bbda7580000000000000000000000000000000000000000000000070c1cc73b00c80000c080a0e3ed28fc1b32401238cf25cdebbe9e4882c11d156da0df60aba100b05bee4080a02e4d8ed544dbffed569e8a38ce1d552625dbb6912773c5b4b0369eb90ece38d4","new_receipt_trie_node_byte":"0xb901ab02f901a7018378d9adb901000000000000000000000000000000000000020000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000204000000000000020000004000a000000000000001000000000000000000000400000000000000000000000000000000000000000000000000000000f89df89b946de037ef9ad2725eb40118bb1702ebb27e4aeb24f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f89d7b9c864f589bbf53a82105107622b35eaa40a0000000000000000000000000bcd56a7e9b2e5ce4ec9e1cd880bc71728bbda758a00000000000000000000000000000000000000000000000070c1cc73b00c80000","gas_used":59372}},{"traces":{"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x681bd2b5bb3b9f522da","nonce":"0x382ddc"},"0xe8a14871ca41a6297eecc705120eaa496b6aa860":{"balance":"0x26e44089cbd023bbd"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9dd9d3f532cfa6"}},"meta":{"byte_code":"0x02f8780183382ddb8477359400852e90edd00083015f9094e8a14871ca41a6297eecc705120eaa496b6aa86089010ffbdbe9a67e400080c001a061dc923c1798ecdd4774de0bc01558241f98444091ed1d9a6d15e310024e203fa018a7e1698ebda81fb6f405c9311ca7d31d3b879319852c1c8ff746c7911e2b1b","new_txn_trie_node_byte":"0x02f8780183382ddb8477359400852e90edd00083015f9094e8a14871ca41a6297eecc705120eaa496b6aa86089010ffbdbe9a67e400080c001a061dc923c1798ecdd4774de0bc01558241f98444091ed1d9a6d15e310024e203fa018a7e1698ebda81fb6f405c9311ca7d31d3b879319852c1c8ff746c7911e2b1b","new_receipt_trie_node_byte":"0xb9010d02f901090183792bb5b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x148f824355694598cd822936ced56e0911143382":{"balance":"0x1a65a064c2845c","nonce":"0x26"},"0xd9db270c1b5e3bd161e8c8503c55ceabee709552":{"code_usage":{"read":"0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e"}},"0xdef1c0ded9bec7f1a1670819833240f027b25eff":{"storage_read":["0x14f51471e2a872a43466257d50b98ed2b6fc14b87c42c329822a8ab1cf850650","0x1d7d00bd26810c73dbfbc21519e7970373559a1fa6ecef302c7826549c0955ba","0x19e035a7f11ad8eb0d6e7a4ff4d88a130f60cac8a86652f26ff9c6831a981899","0xbebbb785165d494ace168d89fb1dd3d108d938961ce0a1d2768489b0d53988f8"],"storage_written":{"0x19e035a7f11ad8eb0d6e7a4ff4d88a130f60cac8a86652f26ff9c6831a981899":"0x840f9f95029e000"},"code_usage":{"read":"0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e"}},"0x0000000000000000000000000000000000000001":{},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243946e1c6fa72514a396","storage_read":["0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f","0x24b194ebe2dc12ed2d76a865393421499cb672ee4a0f3852e43f352aeddf227a","0xe13c1ed57ee038e8bdf83e838dc2cc97c015cdb017a111fcfe2c13304656ae5a"],"storage_written":{"0x24b194ebe2dc12ed2d76a865393421499cb672ee4a0f3852e43f352aeddf227a":"0x0","0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f":"0x1376cf79e69914d4cf4"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x881d40237659c251811cec9c364ef91dc08d300c":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x5fd58f602f490cf406a57c0e7b15e7f6a08b55abe559fa93fbf416bf9219609b","0x5fd58f602f490cf406a57c0e7b15e7f6a08b55abe559fa93fbf416bf9219609c","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xcc34a85a74e46f422c2b06b16156799b7c313a71390b4465cbc463bd99d76764"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9f621f9021f7a6"},"0x1fcc3e6f76f7a96cd2b9d09f1d3c041ca1403c57":{"code_usage":{"read":"0xe2954e4fc20df7697f67197789b9b492d10a88a33d7a8c8bbb35ada58dff7a7a"}},"0x7bba8bd42a19da78326be908e2cd52604399a748":{"code_usage":{"read":"0x884987d3696b2604d6da850eb4abcff8d95072974136fb162969766657ce078e"}},"0x74de5d4fcbf63e00296fd95d33236b9794016631":{"code_usage":{"read":"0x34285df013b925b34c7744f619f6ed193cbb11e1e08b0013af1dd0511a3e6f6e"}},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x844f92ae8ab94dc289dde0b59d32470b32f9845b03b07143516e5db3136609db","0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000000000000000000000000000000000000000000a","0xa6a7af4dc3e91ac9f71314927938bd8c76c931ef0a6c1623bac4a9a32600f645","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x6e9e84ae7b8edc848e54262afc59a03baa298e039f2917f989989f0639ac12e4","0x35d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406a","0x7c084f6f66f1854b5ac1915798e31bad160857bb415bd586c5b093ebc7437f78","0xd90df89adf4af9ef50e7dc588e78158379d6c2506c43abd84e7aea17714300d3"],"storage_written":{"0x7c084f6f66f1854b5ac1915798e31bad160857bb415bd586c5b093ebc7437f78":"0x0","0x35d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406a":"0x7b48c94305e","0x844f92ae8ab94dc289dde0b59d32470b32f9845b03b07143516e5db3136609db":"0x684a1757"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0xf326e4de8f66a0bdc0970b79e0924e33c79f1915":{"balance":"0xeb86aed7e36691adf9","storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000"],"code_usage":{"read":"0xaea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e5"}}},"meta":{"byte_code":"0x02f9045c01258474d33a008502c09180d583041b7594881d40237659c251811cec9c364ef91dc08d300c880853a0d2313c0000b903e65f575529000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000853a0d2313c000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000f706d6d46656544796e616d69637634000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000840f9f95029e000000000000000000000000000000000000000000000000000000000006634211d00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000012a6d8e1122000000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000684a17570000000000000000000000000000000000000000000000000840f9f95029e000000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78c00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631000000000000000000000000148f824355694598cd822936ced56e09111433820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687db4d01ffffffffffffffffffffffffffffffffffffff2351b0cd6687dae9000000330000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001c0d52fe6c9798214573ab30a951b5f3cf8f94b47971c7628ce5031744e436120c38a858b5a8c641316981adc6b87a82f4c671b8b6a811cf19e8c134677d0b9f7b0000000000000000000000000000000000000000000000000840f9f95029e00000fdc080a081d44dd52dcd33694da5e5a2c44ea733bc84db58b97ef89e326897324879d30ea07a3ad5ad114db97be87781a1e302de8f3872ecc02c6690c04415178258848f86","new_txn_trie_node_byte":"0x02f9045c01258474d33a008502c09180d583041b7594881d40237659c251811cec9c364ef91dc08d300c880853a0d2313c0000b903e65f575529000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000853a0d2313c000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000f706d6d46656544796e616d69637634000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000840f9f95029e000000000000000000000000000000000000000000000000000000000006634211d00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000012a6d8e1122000000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f1915000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000684a17570000000000000000000000000000000000000000000000000840f9f95029e000000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78c00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631000000000000000000000000148f824355694598cd822936ced56e09111433820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687db4d01ffffffffffffffffffffffffffffffffffffff2351b0cd6687dae9000000330000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000001c0d52fe6c9798214573ab30a951b5f3cf8f94b47971c7628ce5031744e436120c38a858b5a8c641316981adc6b87a82f4c671b8b6a811cf19e8c134677d0b9f7b0000000000000000000000000000000000000000000000000840f9f95029e00000fdc080a081d44dd52dcd33694da5e5a2c44ea733bc84db58b97ef89e326897324879d30ea07a3ad5ad114db97be87781a1e302de8f3872ecc02c6690c04415178258848f86","new_receipt_trie_node_byte":"0xb9061402f9061001837c8759b90100000000000000000010000000000000010000000000040000000000000000000000000100000000000000100000000100020000000800080000000000000000000000800000000000000200080000000000000000004000000000040080000000000000000000000000000000000020010000000000000400000000100000000000000210008000000000001000000000000000010000000040200000001000000080000000000000000000c000000000000000004000000020000000000000400100000200000000000000000000000000000000000008000000000a000000000020200000000000000000800000400000000020000000400000000000001000f90505f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000000000000000000000000000000853a0d2313c0000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca00000000000000000000000000000000000000000000000000840f9f95029e000f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000000000000000000000000000000000000684a1757f9013a94def1c0ded9bec7f1a1670819833240f027b25effe1a0829fa99d94dc4636925b38632e625736a614c154d55006b7ab6bea979c210c32b9010018149840995e3f804a196e6d54c198238a45e9be6612b16c0e646eaac8cee0d8000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78c00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000840f9f95029e00000000000000000000000000000000000000000000000000000000000684a17570000000000000000000000000000000000000000000000000000000000000000f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000000000000000000000000000000012a6d8e1122000f87a94f326e4de8f66a0bdc0970b79e0924e33c79f1915f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000000000000000000000000000000012a6d8e1122000f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a0000000000000000000000000148f824355694598cd822936ced56e0911143382a000000000000000000000000000000000000000000000000000000000684a1757f87b94881d40237659c251811cec9c364ef91dc08d300cf863a0beee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630da062db2e87ad4360c521a990935f97f7c44833c4f99a8f1c09129331715b07f525a0000000000000000000000000148f824355694598cd822936ced56e091114338280","gas_used":220068}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7d9fc5c828622ba6"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0xe36a4fa825589ef64faf7dbc453440fc230bf04abd3b49546a9fafb7df4e9f5a":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x78029380da4ce8aea8f08fe2faff874287f38018":{"balance":"0x29e51edaf6d54b","nonce":"0xf"}},"meta":{"byte_code":"0x02f8b0010e8474d33a008502c09180d582dd8794a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0d7ef5f2690d81f790bd7c2a79f36c8b0761ce7d7d505c51de51cefbc363759a4a0241cb8d4da69c08ecad9fb2933cedfbaab277cd125ce8451524ab8aa96e2db2e","new_txn_trie_node_byte":"0x02f8b0010e8474d33a008502c09180d582dd8794a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0d7ef5f2690d81f790bd7c2a79f36c8b0761ce7d7d505c51de51cefbc363759a4a0241cb8d4da69c08ecad9fb2933cedfbaab277cd125ce8451524ab8aa96e2db2e","new_receipt_trie_node_byte":"0xb901ab02f901a701837d61bbb9010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000200000000000000000000008000000000000000200000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000200000020000000000200002000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000078029380da4ce8aea8f08fe2faff874287f38018a0000000000000000000000000881d40237659c251811cec9c364ef91dc08d300ca0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":55906}},{"traces":{"0xebc18d25d8122da21f73a6bcb78971671f21f6ff":{"balance":"0xff4641e1d34ed878c","nonce":"0x62de"},"0x514910771af9ca656af840dff83e8264ecf986ca":{"storage_read":["0x69aa1602b5e46368fa684a95556e5dce056992b374d454b6181d0a89d5f9e726","0x834e7031963bd8be26cd885b90a8c034b7555e422fa5399e8b683f71d4f80e24"],"storage_written":{"0x834e7031963bd8be26cd885b90a8c034b7555e422fa5399e8b683f71d4f80e24":"0x25f273933db5700000","0x69aa1602b5e46368fa684a95556e5dce056992b374d454b6181d0a89d5f9e726":"0x17d3c18f57a67521790"},"code_usage":{"read":"0x77c633ba07c8cb94cd4864092fd8b31e31cf9d065f6fb6acf617298bc0008785"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da01f8e04b4503f"}},"meta":{"byte_code":"0x02f8b2018262dd8470f2ba218502278883c482f7de94514910771af9ca656af840dff83e8264ecf986ca80b844a9059cbb000000000000000000000000ac26e61ba53d807118e7c57615400667795ed4a2000000000000000000000000000000000000000000000025f273933db5700000c080a0f01eca29536cccd550f89908de98133475259255ec3cfc70c5e6562cae6afb18a06303df674bbc30b9ccaa617f2ee0e46fd644f2472cddcc4c5e506d8f5f81eae3","new_txn_trie_node_byte":"0x02f8b2018262dd8470f2ba218502278883c482f7de94514910771af9ca656af840dff83e8264ecf986ca80b844a9059cbb000000000000000000000000ac26e61ba53d807118e7c57615400667795ed4a2000000000000000000000000000000000000000000000025f273933db5700000c080a0f01eca29536cccd550f89908de98133475259255ec3cfc70c5e6562cae6afb18a06303df674bbc30b9ccaa617f2ee0e46fd644f2472cddcc4c5e506d8f5f81eae3","new_receipt_trie_node_byte":"0xb901ab02f901a701837e2d34b9010000000000000000040000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000008000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000001000000000000000000004000000000000000082000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94514910771af9ca656af840dff83e8264ecf986caf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ebc18d25d8122da21f73a6bcb78971671f21f6ffa0000000000000000000000000ac26e61ba53d807118e7c57615400667795ed4a2a0000000000000000000000000000000000000000000000025f273933db5700000","gas_used":52089}},{"traces":{"0x08ec500ee137c1656b806b2b3d5c86bcc52d6f96":{"balance":"0x1dc0b719254466","nonce":"0x8"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da066bfb3f0af3c"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x3244c7c48f4b789b9fe5ab2b72f099ee5eb10c5c29745fccd56787fa2aeaadd6","0x46752741cae9c2dc5d4334787047872b9d761a844117abb27dd251368a9bd626","0x0000000000000000000000000000000000000000000000000000000000000000","0xfc2b5f5ca7b64bc4534a3842523609adc98da4f8516ba82dce95274139ec8658"],"storage_written":{"0x3244c7c48f4b789b9fe5ab2b72f099ee5eb10c5c29745fccd56787fa2aeaadd6":"0x0","0x46752741cae9c2dc5d4334787047872b9d761a844117abb27dd251368a9bd626":"0x33fa65ffa"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f8b101078470f2ba218502278883c48301482094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000000363bfc09b48616190d15ddee5987ae2d05da6f400000000000000000000000000000000000000000000000000000000aa8ffe08c001a0188e00a47bf59b2fc382036abd76926b9440a44c23e25f4e152ac10d56d2f8aaa04a5d086b8f25458517bd9371f343423ac0313e7bf2e0744e10fa6869731c976d","new_txn_trie_node_byte":"0x02f8b101078470f2ba218502278883c48301482094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000000363bfc09b48616190d15ddee5987ae2d05da6f400000000000000000000000000000000000000000000000000000000aa8ffe08c001a0188e00a47bf59b2fc382036abd76926b9440a44c23e25f4e152ac10d56d2f8aaa04a5d086b8f25458517bd9371f343423ac0313e7bf2e0744e10fa6869731c976d","new_receipt_trie_node_byte":"0xb901ab02f901a701837ece91b9010000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000002000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000002000000000000000000000000000000000000000000000000001000010000000000000000000000000000000020000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000008ec500ee137c1656b806b2b3d5c86bcc52d6f96a00000000000000000000000000363bfc09b48616190d15ddee5987ae2d05da6f4a000000000000000000000000000000000000000000000000000000000aa8ffe08","gas_used":41309}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da08aa7db50df3c"},"0x217824a8fc8626810f136de57662492515968c1f":{"balance":"0x56066bbd4ddcb0","nonce":"0xb7"},"0x1a07e6bcfbf312cf270e1ca433d5d68ff71ed3e4":{"balance":"0xad1248d0c5e089ee"}},"meta":{"byte_code":"0x02f8730181b684700e86008502f0ce8180825208941a07e6bcfbf312cf270e1ca433d5d68ff71ed3e48711c37937e0800080c001a091e83a4bfe9d075754342eb26e2f63e25e50a9ad910dee5cf546478cc1423a4ca0331cd59dcd64c7414d55f12b86ac341708234bd17e9e26ddce241d3693922b32","new_txn_trie_node_byte":"0x02f8730181b684700e86008502f0ce8180825208941a07e6bcfbf312cf270e1ca433d5d68ff71ed3e48711c37937e0800080c001a091e83a4bfe9d075754342eb26e2f63e25e50a9ad910dee5cf546478cc1423a4ca0331cd59dcd64c7414d55f12b86ac341708234bd17e9e26ddce241d3693922b32","new_receipt_trie_node_byte":"0xb9010d02f9010901837f2099b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xbd6c7b0d2f68c2b7805d88388319cfb6ecb50ea9":{"balance":"0x133dce44be54bc123","storage_read":["0xa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49","0x4e7f153a0d09c835f9e7a094eca4e3cd6875f6042a9df33ab90939cc55250a7a"],"storage_written":{"0xa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49":"0x46bf92ccc46df1a0","0x4e7f153a0d09c835f9e7a094eca4e3cd6875f6042a9df33ab90939cc55250a7a":"0x8490c6c1d0aa6e0"},"code_usage":{"read":"0x54a2621603b7e3d32bb26dc7fecdd6e90856e03cc43e7deecee9ef3e59adb019"}},"0x1de6510ca774e3b03870e45daf9b1bf5eec1a7a4":{"balance":"0x3409267547be5f8","nonce":"0x16"},"0x31a9b1835864706af10103b31ea2b79bdb995f5f":{"code_usage":{"read":"0xc207f6fc07b111370c4d536c8c36de974367fd8876c867e390a5535cb120dbd7"}},"0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae":{"storage_read":["0x5562126e3efcd8728c63dd6cb1edd6e1ba6e1fa4df857af7274ad8371b239695","0xb3f3361cb646afaced8225648f30eec402f4d7cd20ae3ceca8ad57b39fc3391e","0x57a1b6793381655140bd623273394b8dab82adb402765f3433b81ecf035e4a2d","0xd2f7908638440469f20a72e2201b930f344872824743c38f9d03d63541d14aca","0x407427e8e5872192e9a3d62b7fa9c91b6f75dcda1ed61d66e9789aca81026398"],"code_usage":{"read":"0x828f8a0694bfba25c80a406283f149d701cdc944acbbc18b57315cf157db9220"}},"0xcab82c42b5195624671b92b1b0d91adf171f103c":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x4ced6d0d36392b04cc5d8761b1327b3bbba6e1089c77f60a9a9ca18e05e4f00e","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x1000000000000000000023f56d308d7ee41716bfe000538f17df6086687daf3","0x0000000000000000000000000000000000000000000000000000000000000001":"0x6502903077a424017b67167ba5e912","0x0000000000000000000000000000000000000000000000000000000000000000":"0x10000010001000001ade900000000000000f554cc836fb465c75329054bd3"},"code_usage":{"read":"0x042cefd6d95a235b585aa909fd66215fe7b0a57a1fd6259f4adb9be72923ab41"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243946f37ccf3485da396","storage_read":["0x5f39631ae237ee9c04e95afda85cdedff73fd82b743313cc9e754da84820a3fe","0x6801d22be5621094062a3083b9a849437215c0e09dc27150a16ce51ba55d4326"],"storage_written":{"0x5f39631ae237ee9c04e95afda85cdedff73fd82b743313cc9e754da84820a3fe":"0x20322ee60e7739aaf","0x6801d22be5621094062a3083b9a849437215c0e09dc27150a16ce51ba55d4326":"0x1"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xe0bceef36f3a6efdd5eebfacd591423f8549b9d5":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000005","0xeaefc0766445b6536c5a5ea4131e83bd3c0876a56ae69c806450377b6f411031","0xf11a9c04d64ffa42b622132fdb2ada8716d4e2c964062fdb58fd89c400f7d1f2","0xe835a678db26c527f07f56787c8d8ff42ddcf0f4f37b3d8c42afb4484c051be4"],"storage_written":{"0xe835a678db26c527f07f56787c8d8ff42ddcf0f4f37b3d8c42afb4484c051be4":"0x0","0xeaefc0766445b6536c5a5ea4131e83bd3c0876a56ae69c806450377b6f411031":"0x18c26404c2052f74f5acb","0xf11a9c04d64ffa42b622132fdb2ada8716d4e2c964062fdb58fd89c400f7d1f2":"0x10439eebdb05904b224"},"code_usage":{"read":"0x4679e079aa7a50ef5b07bd15947298ec078cf6503b0c421ca468b69e71d2f5a9"}},"0xe43ca1dee3f0fc1e2df73a0745674545f11a59f5":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0x1010000000000000000000000000000000000000001"},"code_usage":{"read":"0xeb3745a79c6ba48e8767b9c355b8e7b79f9d6edeca004e4bb91be4de515a7eeb"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da20c60295b913c"}},"meta":{"byte_code":"0x02f9063a011584700e86008502f0ce818083044546941231deb6f5749ef6ce6943a275a1d3e7486f4eae88011c37937e080000b905c4736eac0bcc5074f744537a29adf5f0f080f8c9d87407564c7142f9306e50d2a17a493eb100000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000001de6510ca774e3b03870e45daf9b1bf5eec1a7a40000000000000000000000000000000000000000000000fc6b6504cc56547ae1000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000077361666570616c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307842346633346430393132346238633937313239353762373637303762343235313030343145634262000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000bd6c7b0d2f68c2b7805d88388319cfb6ecb50ea9000000000000000000000000bd6c7b0d2f68c2b7805d88388319cfb6ecb50ea900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000064e0cbc5f2000000000000000000000000000000000000000000000000000061065f81300000000000000000000000000000000000000000000000000000007940fb3dd00000000000000000000000000037e945ed26b17a631d7df3382c2808cc1c7f07ed00000000000000000000000000000000000000000000000000000000000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f5000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d5000000000000000000000000000000000000000000000000011b5d4c2349000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001642646478b000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000011b5d4c23490000000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d50000000000000000000000000000000000000000000000fc6b6504cc56547ae10000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000700301ffff0201e43ca1dee3f0fc1e2df73a0745674545f11a59f5c02aaa39b223fe8d0a0e5c4f27ead9083c756cc201c02aaa39b223fe8d0a0e5c4f27ead9083c756cc201ffff01cab82c42b5195624671b92b1b0d91adf171f103c011231deb6f5749ef6ce6943a275a1d3e7486f4eae0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a04a7aa853d536199dd095bf5adfcd90a5e8298cec2e283b1b5e6fd34464b321faa07b0d5f7ba5108caaad7a1c1df4a39de1408ae136fe98ab8398e22f3051db84b3","new_txn_trie_node_byte":"0x02f9063a011584700e86008502f0ce818083044546941231deb6f5749ef6ce6943a275a1d3e7486f4eae88011c37937e080000b905c4736eac0bcc5074f744537a29adf5f0f080f8c9d87407564c7142f9306e50d2a17a493eb100000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000001de6510ca774e3b03870e45daf9b1bf5eec1a7a40000000000000000000000000000000000000000000000fc6b6504cc56547ae1000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000077361666570616c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a307842346633346430393132346238633937313239353762373637303762343235313030343145634262000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000bd6c7b0d2f68c2b7805d88388319cfb6ecb50ea9000000000000000000000000bd6c7b0d2f68c2b7805d88388319cfb6ecb50ea900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000064e0cbc5f2000000000000000000000000000000000000000000000000000061065f81300000000000000000000000000000000000000000000000000000007940fb3dd00000000000000000000000000037e945ed26b17a631d7df3382c2808cc1c7f07ed00000000000000000000000000000000000000000000000000000000000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f5000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d5000000000000000000000000000000000000000000000000011b5d4c2349000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001642646478b000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000011b5d4c23490000000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d50000000000000000000000000000000000000000000000fc6b6504cc56547ae10000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000700301ffff0201e43ca1dee3f0fc1e2df73a0745674545f11a59f5c02aaa39b223fe8d0a0e5c4f27ead9083c756cc201c02aaa39b223fe8d0a0e5c4f27ead9083c756cc201ffff01cab82c42b5195624671b92b1b0d91adf171f103c011231deb6f5749ef6ce6943a275a1d3e7486f4eae0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a04a7aa853d536199dd095bf5adfcd90a5e8298cec2e283b1b5e6fd34464b321faa07b0d5f7ba5108caaad7a1c1df4a39de1408ae136fe98ab8398e22f3051db84b3","new_receipt_trie_node_byte":"0xb90a7602f90a7201838291ccb90100000000020000000000108000000000000000000000000000010840000000000000000001000000000000000000040000020000080a0020000010008000000080000000000000000800000008000100000004000000000000100000008000400004000000820000000000040000020800000020200000000000000010000810000010000000000000000000000000100200000201000000000400001000000018008400020200000400000000080000000000000000000000000000200000002000001003000000000000000000100000200000000000000000000000800020800000240000010000008000000000000040001000000000400000000000000000f90967f8bc94bd6c7b0d2f68c2b7805d88388319cfb6ecb50ea9f863a028a87b6059180e46de5fb9ab35eb043e8fe00ab45afcc7789e3934ecbbcde3eaa00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000037e945ed26b17a631d7df3382c2808cc1c7f07edb840000000000000000000000000000000000000000000000000000061065f81300000000000000000000000000000000000000000000000000000007940fb3dd000f90119941231deb6f5749ef6ce6943a275a1d3e7486f4eaee1a07bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b38b8e0cc5074f744537a29adf5f0f080f8c9d87407564c7142f9306e50d2a17a493eb1000000000000000000000000bd6c7b0d2f68c2b7805d88388319cfb6ecb50ea900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011c37937e080000000000000000000000000000000000000000000000000000011b5d4c23490000000000000000000000000000000000000000000000000000000000006687daf3f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f5a0000000000000000000000000000000000000000000000000011b5d4c23490000f89b94e0bceef36f3a6efdd5eebfacd591423f8549b9d5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000cab82c42b5195624671b92b1b0d91adf171f103ca00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaea000000000000000000000000000000000000000000000010439eebdb05904b224f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f5a0000000000000000000000000cab82c42b5195624671b92b1b0d91adf171f103ca0000000000000000000000000000000000000000000000000011b5d4c23490000f9011c94cab82c42b5195624671b92b1b0d91adf171f103cf863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f5a00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaeb8a0000000000000000000000000000000000000000000000000011b5d4c23490000fffffffffffffffffffffffffffffffffffffffffffffefbc611424fa6fb4ddc00000000000000000000000000000000000000f554cc836fb465c75329054bd3000000000000000000000000000000000000000000000165ff1453b376d567ca000000000000000000000000000000000000000000000000000000000001ade9f9011d94e43ca1dee3f0fc1e2df73a0745674545f11a59f5f884a02db5ddd0b42bdbca0d69ea16f234a870a485854ae0d91f16643d6f317d8b8994a00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaea0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea0000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d5b8800000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae000000000000000000000000000000000000000000000000011b5d4c234900000000000000000000000000000000000000000000000000fc6b6504cc56547ae100000000000000000000000000000000000000000000010439eebdb05904b224f90119941231deb6f5749ef6ce6943a275a1d3e7486f4eaee1a07bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b38b8e0cc5074f744537a29adf5f0f080f8c9d87407564c7142f9306e50d2a17a493eb1000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d5000000000000000000000000000000000000000000000000011b5d4c2349000000000000000000000000000000000000000000000000010439eebdb05904b224000000000000000000000000000000000000000000000000000000006687daf3f89b94e0bceef36f3a6efdd5eebfacd591423f8549b9d5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaea00000000000000000000000001de6510ca774e3b03870e45daf9b1bf5eec1a7a4a000000000000000000000000000000000000000000000010439eebdb05904b224f901dc941231deb6f5749ef6ce6943a275a1d3e7486f4eaef842a038eee76fd911eabac79da7af16053e809be0e12c8637f156e77e1af309b99537a0cc5074f744537a29adf5f0f080f8c9d87407564c7142f9306e50d2a17a493eb1b9018000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001200000000000000000000000001de6510ca774e3b03870e45daf9b1bf5eec1a7a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0bceef36f3a6efdd5eebfacd591423f8549b9d5000000000000000000000000000000000000000000000000011c37937e08000000000000000000000000000000000000000000000000010439eebdb05904b22400000000000000000000000000000000000000000000000000000000000000077361666570616c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30784234663334643039313234623863393731323935376237363730376234323531303034314563426200000000000000000000000000000000000000000000","gas_used":225587}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da26694897f2c3e"},"0xea173f401253436102da7a77548fc99322bd76b8":{"balance":"0x8f1505bed1e9ea","nonce":"0x2f0"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"],"storage_written":{"0x37d3fc5057fca22050af0ce5759ca5d7acf530024f39f535cd618940b4e7165e":"0x1eb7ca44"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}}},"meta":{"byte_code":"0x02f8b3018202ef846a61cb398502540be40083014a5094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844095ea7b300000000000000000000000025ab3efd52e6470681ce037cd546dc60726948d3000000000000000000000000000000000000000000000000000000001eb7ca44c080a03819acbac2bfe11dc524e3f2cbd517768bef36bdaa3fabe0cd657fd1457c66c3a00127ad31f9e119f5dc6acf182e04a0cf07979364c6338169cc8c3191f732e9b3","new_txn_trie_node_byte":"0x02f8b3018202ef846a61cb398502540be40083014a5094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844095ea7b300000000000000000000000025ab3efd52e6470681ce037cd546dc60726948d3000000000000000000000000000000000000000000000000000000001eb7ca44c080a03819acbac2bfe11dc524e3f2cbd517768bef36bdaa3fabe0cd657fd1457c66c3a00127ad31f9e119f5dc6acf182e04a0cf07979364c6338169cc8c3191f732e9b3","new_receipt_trie_node_byte":"0xb901ab02f901a70183836adeb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000008000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000010020000000000200000000000000000000000000000000000020080000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000010000000000000000000000020000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000ea173f401253436102da7a77548fc99322bd76b8a000000000000000000000000025ab3efd52e6470681ce037cd546dc60726948d3a0000000000000000000000000000000000000000000000000000000001eb7ca44","gas_used":55570}},{"traces":{"0x2777d3da309c49bf9888ccb1bdfd9683ef418c57":{"balance":"0x21b0222fec1010f","nonce":"0x9"},"0x92d6c1e31e14520e676a687f0a93788b716beff5":{"storage_read":["0x759d0d7549b94cd8d01154551c8016450d5b73f117adbd1b7798db8e1253643a","0x59e033161c0fd549ed8c52e2938a8a0afb2c83be1835006da6849ce188cf1be2","0xb890e05475d6ebc7d76ef350c7a64c0c81af1e27ad2f2c708603d3c7557a2911","0xe981b373ab08c5dd4730819e23eeee910b700c85464c0fe7827003d194325093","0x4a84fccef3aa19aec84011a4520a71fe86d4cb0d9b467311cb8d2e73801aae00","0x75bfc36bfa90cdd40f14b94ce404dabb9f11d6876f7e15d94f0eb3e432185442","0x7f76bb95947e3caba265eda7bdd3f738ec3bcb37cbca3425d32773f75f3badd9","0x3aa5a3059fd26cf73386b024bab8b24180892ac6540c6c71f4d30f736064761d","0x0de9998f1076a88bc441fa252519e563dfc7fc2aa42b9b77710c0d0e6a8decbf","0xf03277cf6842fbc3c92a2c35b406d54680304abba4524efa7b65f0709f4976e5","0x4547dda6791b2e4d2358113600b14a35677d1542f3b84928125b4779b0a1f973","0x13a661e3d95a76131543bbcb26fe0ca583c14d334c909728c5145030d5196198","0xe328cd55e91e3a5d71374514e154e7cb884c806d4efeeb2ec581600d7435631d","0xd398e9b5ee7dd9eeb1cfdf18302591d7e182e078bf8cfc720cc03001848aa97d","0x9f60ac95713edcee3a1ea3a2c927f6f54b638249647551a16bfa86ca63cb9d78","0xa804bdabfeb94afc8f28634f423f9d5ee43674770fdcadb993d378d6d958d1b4","0xf0ad331af46db91ce16dd0c8672c8d19c00715af2eb2b2595526adf98e356330","0xf07e9aa648bf261747c3f85cc513fdd154d639f74a3c0816d17ff6c8dfebcdbf","0x17b328e95462898737231f7aa29dd39fafc78d0a0f101cbb815055f112eca7fe","0x03c4b0ff7dde3cbf1014cd498acb01baa14640aa1f0c040626a569b7e9fc8fdd","0x0bc57a1c901a6ee1572da21a6edada24a68e4b7892b367a222a68d7b048d48c4","0x43d1c9ef576a4e0bd0d6791b8fc35c0fa829c9e03a36ff963d90faf8b7b2c5d5","0x41ad94d890fbcea202182212d27e91f84f476f5fe96ff0d42444b198696bcf31","0xf2d53313cb644399924bc7ac73566f895c847f1ba79f63bc95efa3f39ec7c40d","0x6c250852030c031868996b751b6184b0f9b6a9a3ad293c4b9c67ba62dcae124b","0xd83d5c9182076a09b55be6b18f8ec897c9af513b2df4bbf312dcd77d3e155eb1","0xabb11ac8c094769da7516d9a3514146afc15e00f86afd5a0a5ab3aa435a07580","0x2b98a298af42eb0311f8e10c8427431aa7fb930260642311b9fb4609259820dc","0xd095a611815d5ab3f7a9489c8edab9e6dd7b3b5a8ec2af3a6bb773b7478eae19","0xa61777d2220f736a43961fb36b305a8a15fa0d26677276f4460712a932c4fd77","0x7d919f7dd81f7014f9ae5e1989d5e6a3172814bf59ddbb61e1e02c595301228f","0x82180575a6dfa18c47b46faca9ba534311d20b54d11f3f01b08761a08d4feeb8","0x58bbe64a702ee290e76f3b0bea08fe29a4bbb47a4ab92f89d307bf0061e35c5d","0x6c95eb57b2e13826f2f888264bfecaa12013d36cca664c6a64cb3529ebfbbd5f"],"storage_written":{"0x7f76bb95947e3caba265eda7bdd3f738ec3bcb37cbca3425d32773f75f3badd9":"0x134d6b4","0x75bfc36bfa90cdd40f14b94ce404dabb9f11d6876f7e15d94f0eb3e432185442":"0x0","0x6c250852030c031868996b751b6184b0f9b6a9a3ad293c4b9c67ba62dcae124b":"0xee5","0x4a84fccef3aa19aec84011a4520a71fe86d4cb0d9b467311cb8d2e73801aae00":"0x177b48f71fb214ad370000000000000000000000000134d6b4","0x58bbe64a702ee290e76f3b0bea08fe29a4bbb47a4ab92f89d307bf0061e35c5d":"0x45d320ca8458cd1e1bf0000000000000000000000000134d6b4","0xb890e05475d6ebc7d76ef350c7a64c0c81af1e27ad2f2c708603d3c7557a2911":"0x45d320ca8458cd1e1bf0000000000000000000000000134d6b4","0xf07e9aa648bf261747c3f85cc513fdd154d639f74a3c0816d17ff6c8dfebcdbf":"0xee5","0x41ad94d890fbcea202182212d27e91f84f476f5fe96ff0d42444b198696bcf31":"0x6ccc","0x0bc57a1c901a6ee1572da21a6edada24a68e4b7892b367a222a68d7b048d48c4":"0x6ccc","0x82180575a6dfa18c47b46faca9ba534311d20b54d11f3f01b08761a08d4feeb8":"0x1a306c228dc64a9988c0000000000000000000000000134d6b4","0x4547dda6791b2e4d2358113600b14a35677d1542f3b84928125b4779b0a1f973":"0x177b48f71fb214ad370000000000000000000000000134d6b4","0xabb11ac8c094769da7516d9a3514146afc15e00f86afd5a0a5ab3aa435a07580":"0x1","0xd398e9b5ee7dd9eeb1cfdf18302591d7e182e078bf8cfc720cc03001848aa97d":"0x45d320ca8458cd1e1bf","0x2b98a298af42eb0311f8e10c8427431aa7fb930260642311b9fb4609259820dc":"0x177b48f71fb214ad37","0xa804bdabfeb94afc8f28634f423f9d5ee43674770fdcadb993d378d6d958d1b4":"0x1a306c228dc64a9988c","0x59e033161c0fd549ed8c52e2938a8a0afb2c83be1835006da6849ce188cf1be2":"0x1a306c228dc64a9988c0000000000000000000000000134d6b4","0xe981b373ab08c5dd4730819e23eeee910b700c85464c0fe7827003d194325093":"0x1","0x13a661e3d95a76131543bbcb26fe0ca583c14d334c909728c5145030d5196198":"0x325a","0x9f60ac95713edcee3a1ea3a2c927f6f54b638249647551a16bfa86ca63cb9d78":"0x325a","0x17b328e95462898737231f7aa29dd39fafc78d0a0f101cbb815055f112eca7fe":"0x134d6b4"},"code_usage":{"read":"0x09b771bde251cc95f8d1cb964497c7170f300839a72eda826deecc7df0142ddb"}},"0xf326e4de8f66a0bdc0970b79e0924e33c79f1915":{"balance":"0xeb86b420c2fbac25f9","storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000"],"code_usage":{"read":"0xaea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e5"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da634d8bcc4e585"},"0xc8c10815be32536685d12ce8305425163f0c6897":{"code_usage":{"read":"0xd058e260aa8fbaf393c8847707b80cbbd026d2ca9c6b2cacbb6e266778113f80"}},"0x881d40237659c251811cec9c364ef91dc08d300c":{"storage_read":["0xc03a2fe2012f4ccb13e695ea6f277edbfd1269ef86188b2c93b8db9f08993965","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001","0xc03a2fe2012f4ccb13e695ea6f277edbfd1269ef86188b2c93b8db9f08993964"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xcc34a85a74e46f422c2b06b16156799b7c313a71390b4465cbc463bd99d76764"}},"0xf660809b6d2d34cc43f620a9b22a40895365a5f8":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf30000000000002a43bf0aa0de4abc0000000001a306c228dc64a9988c","0x000000000000000000000000000000000000000000000000000000000000000a":"0x104136d2a8850a287a828d4e4cf0ffb8253eac","0x0000000000000000000000000000000000000000000000000000000000000009":"0x1e1fe8cda6982caf9720a557ee622235c"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x74de5d4fcbf63e00296fd95d33236b9794016631":{"code_usage":{"read":"0x34285df013b925b34c7744f619f6ed193cbb11e1e08b0013af1dd0511a3e6f6e"}},"0xe4ebd836832f1a8a81641111a5b081a2f90b9430":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf300000000000070d4eb78d3ba509900000000045d320ca8458cd1e1bf","0x000000000000000000000000000000000000000000000000000000000000000a":"0x1133e2fda50afed109940f15d0a10f8852df95","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000009":"0x21ce3d0f4f77033105f78c6d1ddc730eb"},"code_usage":{"read":"0xcd82e2d9daddbf51cbce8d5429a0996e16fc670c4056566f19cf8864ad45a746"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24394718e7a2d1f142b96","storage_read":["0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e","0x4e3a3737c59741cd252c2ca527604aa3e0c6be21bcb95061ab5d6da9a30df4f9","0xf470e5df3d489ddde2bbcd0e36faf15e3d0ebad939cc1e3cf88449a902d67dc5"],"storage_written":{"0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e":"0x70e5a2531ac0","0x4e3a3737c59741cd252c2ca527604aa3e0c6be21bcb95061ab5d6da9a30df4f9":"0x2a43bf0aa0de4abc","0xf470e5df3d489ddde2bbcd0e36faf15e3d0ebad939cc1e3cf88449a902d67dc5":"0x70d4eb78d3ba5099"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xd9db270c1b5e3bd161e8c8503c55ceabee709552":{"code_usage":{"read":"0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e"}},"0x3d1d55c23dfc759c5ae48500ca88ddf477b3c9e5":{"code_usage":{"read":"0xd5cb5ccaac51e8ccea5af51f6804b3761bed880a75e6fa6bc1589158797b8fc4"}},"0xdef1c0ded9bec7f1a1670819833240f027b25eff":{"storage_read":["0x516dbe802bdc9b283889b690b5a78bd4505f63be51997aeae73425a73dd5f484"],"code_usage":{"read":"0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e"}}},"meta":{"byte_code":"0x02f905dc0108846a61cb398502a76bdfff830bf83e94881d40237659c251811cec9c364ef91dc08d300c88025bf6196bd10000b905665f57552900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025bf6196bd1000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000c307846656544796e616d696300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff50000000000000000000000000000000000000000000000000256ad39d6b68800000000000000000000000000000000000000000000000017030f2f9f0fcc08100000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000548df951a7800000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f191500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000348f35b473300000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff50000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000017030f2f9f0fcc0810000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000ef787d8915d000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff50000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000016734bc4da0b800000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff5869584cd00000000000000000000000011ededebf63bef0ea2d2d071bdf88f71543ec6fb00000000000000000000000000000000000000004ee39e14408b96680ac92ba80000000000000000000000000000000000000000000000000018c001a02919778bf3f78227ade323e708a24d51d50e2d79c578bdc4d375ca32dcb6c1daa07b75dd558e6406694b2367022d46e222d17ec3ef7f5c5c9eb456fc26992c82fa","new_txn_trie_node_byte":"0x02f905dc0108846a61cb398502a76bdfff830bf83e94881d40237659c251811cec9c364ef91dc08d300c88025bf6196bd10000b905665f57552900000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000025bf6196bd1000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000c307846656544796e616d696300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff50000000000000000000000000000000000000000000000000256ad39d6b68800000000000000000000000000000000000000000000000017030f2f9f0fcc08100000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000548df951a7800000000000000000000000000f326e4de8f66a0bdc0970b79e0924e33c79f191500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000348f35b473300000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff50000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000017030f2f9f0fcc0810000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000ef787d8915d000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff50000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000016734bc4da0b800000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000092d6c1e31e14520e676a687f0a93788b716beff5869584cd00000000000000000000000011ededebf63bef0ea2d2d071bdf88f71543ec6fb00000000000000000000000000000000000000004ee39e14408b96680ac92ba80000000000000000000000000000000000000000000000000018c001a02919778bf3f78227ade323e708a24d51d50e2d79c578bdc4d375ca32dcb6c1daa07b75dd558e6406694b2367022d46e222d17ec3ef7f5c5c9eb456fc26992c82fa","new_receipt_trie_node_byte":"0xb90fe302f90fdf01838c935db9010000200000008000019000000080000000000000000080000000000000000004000000010000000000000010000000000002008200080008000010000000000000000000000000002000120008000000200400000000000000200004008000000000000000000000000000000000000041000000000400000000000010000000000000021080400000000008000000000000000001000000084020804008000000000000000000000000004040000000000000000000040000000000000000000000000002040080010000000000000000000000000000001800000000040000000020200000000000000000800000000000000000000000400000000000001000f90ed4f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa00000000000000000000000000000000000000000000000000256ad39d6b68800f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000f660809b6d2d34cc43f620a9b22a40895365a5f8a000000000000000000000000000000000000000000000000000ef787d8915d000f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa0000000000000000000000000f660809b6d2d34cc43f620a9b22a40895365a5f8b8400000000000000000000000000000000000000000000001a306c228dc64a9988c0000000000000000000000000000000000000000000000000000000000000000f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b84000000000000000000000000000000000000000000000000974a62fed5decb2940000000000000000000000000000000000000000000000000000000000000000f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa0000000000000000000000000f660809b6d2d34cc43f620a9b22a40895365a5f8b8400000000000000000000000000000000000000000000001a306c228dc64a9988c0000000000000000000000000000000000000000000000000000000000000001f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b84000000000000000000000000000000000000000000000000974a62fed5decb2940000000000000000000000000000000000000000000000000000000000000001f89b9492d6c1e31e14520e676a687f0a93788b716beff5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f660809b6d2d34cc43f620a9b22a40895365a5f8a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000000000000000000000000000974a62fed5decb294f87994f660809b6d2d34cc43f620a9b22a40895365a5f8e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000001a306c228dc64a9988c0000000000000000000000000000000000000000000000002a43bf0aa0de4abcf8fc94f660809b6d2d34cc43f620a9b22a40895365a5f8f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ef787d8915d00000000000000000000000000000000000000000000000000974a62fed5decb2940000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000e4ebd836832f1a8a81641111a5b081a2f90b9430a0000000000000000000000000000000000000000000000000016734bc4da0b800f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa0000000000000000000000000e4ebd836832f1a8a81641111a5b081a2f90b9430b84000000000000000000000000000000000000000000000045d320ca8458cd1e1bf0000000000000000000000000000000000000000000000000000000000000000f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b8400000000000000000000000000000000000000000000000177b48f71fb214ad370000000000000000000000000000000000000000000000000000000000000000f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa0000000000000000000000000e4ebd836832f1a8a81641111a5b081a2f90b9430b84000000000000000000000000000000000000000000000045d320ca8458cd1e1bf0000000000000000000000000000000000000000000000000000000000000001f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b8400000000000000000000000000000000000000000000000177b48f71fb214ad370000000000000000000000000000000000000000000000000000000000000001f89b9492d6c1e31e14520e676a687f0a93788b716beff5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e4ebd836832f1a8a81641111a5b081a2f90b9430a000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a000000000000000000000000000000000000000000000000e06a2c7325427faa3f87994e4ebd836832f1a8a81641111a5b081a2f90b9430e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000045d320ca8458cd1e1bf00000000000000000000000000000000000000000000000070d4eb78d3ba5099f8fc94e4ebd836832f1a8a81641111a5b081a2f90b9430f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016734bc4da0b80000000000000000000000000000000000000000000000000e06a2c7325427faa30000000000000000000000000000000000000000000000000000000000000000f87a94f326e4de8f66a0bdc0970b79e0924e33c79f1915f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a0000000000000000000000000000000000000000000000000000548df951a7800f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b84000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa00000000000000000000000002777d3da309c49bf9888ccb1bdfd9683ef418c57b8400000000000000000000000000000000000000000000000177b48f71fb214ad370000000000000000000000000000000000000000000000000000000000000000f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631b84000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f89b9492d6c1e31e14520e676a687f0a93788b716beff5f842a0a0a19463ee116110c9b282012d9b65cc5522dc38a9520340cbaf3142e550127fa00000000000000000000000002777d3da309c49bf9888ccb1bdfd9683ef418c57b8400000000000000000000000000000000000000000000000177b48f71fb214ad370000000000000000000000000000000000000000000000000000000000000001f89b9492d6c1e31e14520e676a687f0a93788b716beff5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631a00000000000000000000000002777d3da309c49bf9888ccb1bdfd9683ef418c57a00000000000000000000000000000000000000000000000177b48f71fb214ad37f87b94881d40237659c251811cec9c364ef91dc08d300cf863a0beee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630da0a8dc30b66c6d4a8aac3d15925bfca09e42cac4a00c50f9949154b045088e2ac2a00000000000000000000000002777d3da309c49bf9888ccb1bdfd9683ef418c5780","gas_used":600191}},{"traces":{"0x000000a8ab30632ef8477673d42702fd759a308a":{"balance":"0x28ea58d0d3f6800","nonce":"0x650"},"0x0b94bdee1cc83c4d98cac5502ee85ccb74b6a3b2":{"balance":"0x98e2d4c96800"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da65425853dd76d"}},"meta":{"byte_code":"0xf86c82064f8501dcd65000825208940b94bdee1cc83c4d98cac5502ee85ccb74b6a3b28698e2d4c968008025a099bf47f82bbcd7a4d41f1ada42f688eb12a3d9096159db1d00b68d46228b22dca05aa76ddb2d395e1b18b880dfe57f9a346aee35d30b719bd4ae1aa5fadbdad309","new_txn_trie_node_byte":"0xf86c82064f8501dcd65000825208940b94bdee1cc83c4d98cac5502ee85ccb74b6a3b28698e2d4c968008025a099bf47f82bbcd7a4d41f1ada42f688eb12a3d9096159db1d00b68d46228b22dca05aa76ddb2d395e1b18b880dfe57f9a346aee35d30b719bd4ae1aa5fadbdad309","new_receipt_trie_node_byte":"0xf9010901838ce565b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x0000000000000000000000000000000000000001":{},"0x411de17f12d1a34ecc7f45f49844626267c75e81":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002"],"code_usage":{"read":"0xcc89ee11ac70173a91e916d1aa3413740c95df806eac3ef64f134ebb69415a56"}},"0x90f91a0ffdc93a11c045b3155f0b3cc0d9fb9ef6":{"balance":"0x6c7f509b22878fb9","nonce":"0x4080"},"0x8c9b2efb7c64c394119270bfece7f54763b958ad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x7a6506529a0403c76c7d8f863f5e82a982fd78e2cf5357199b82d0f986e6f988"],"storage_written":{"0xef3f855b1ec26452379fe993ff3d93787edbb2ce37bee95841472f4f191b0309":"0x6687daf300000000000000000000000000000006f125563f59f382da70000000"},"code_usage":{"read":"0x7fba7fd603866f692fcffb9b17520505d8b0274960835c3d4a1921c77176a23e"}},"0x8b63b3de93431c0f756a493644d128134291fa1b":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009"],"code_usage":{"read":"0x5d884ec105c7265763b49cc6bdc63668b0ebc5574191bff1c4a6cdbfe613f23c"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da70091f4f4b711"},"0x9b2eed6a1e16cb50ed4c876d2dd69468b21b7749":{"storage_read":["0x4ed34335c2e25b1fd4feedbf93793d55aa237f234797e1f22271b170dc5a14ea","0x534ddf84e1a141a8e6807a4dedb0d28554ffdd1e487616b430438b4ebf25f680","0x3ed9d1bd0776562329fc6ab2a8083c036fb77453177e421f717d562f27f3ddcf","0xde33ad598173fc97d59f29771028797e9ca9cdb6705d3e39286e0168f9580b78","0x30d97d46662995cce80fcf2474a62c023c053989b27071d347e2544a0ac09a3e","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000003","0x4d9bd78d97437fa4950049d809f36da9f79d4eeda469d9abd87a43c03ee7cc1d","0x14467f2516308aefbe6c479e1040ad614c4efdc395b219e481f0f95333e76795","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000007","0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68e"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0x2b410200000000000008ac"},"code_usage":{"read":"0xcf25fe04700bbecb9827a6e642a0a041de7ef41e12a89c8256a066559425154a"}}},"meta":{"byte_code":"0x02f904940182407f846dca727b8501d9ae085a837a1200949b2eed6a1e16cb50ed4c876d2dd69468b21b774980b90424b1dc65a400016059e453c2ca94d0c2fad2be55e6548b0a0ebb25096b1962a18f9c93a59400000000000000000000000000000000000000000000000000000000002b41020d3814d5fd77bcf6f327d8d75f6337e66c532fbc6416da152fa9fb522365c9f900000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000003400101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b60acd2057067dc9ed8c083f5aa227a244044fd60000000000000000000000000000000000000006f125563f59f382da700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000657140b340ed9659e0f1d59a25813cf36a565dbfbea50ae9df98feb9f2db79b74e1c76fca8bbb34c34ad5f196b7cc370bf06663d2723cea54aebf60ef00403792b08300ae5d5a7b251559ab69d61bf96eb4c440cec8f7d22b793b76372dc888bec7be383524c54d8d09d55f8467a3724c9b07831ebdd163e6802c9e716b9b30e28d6839ae541b5c594ed185b31ea149bd6bada126399dda9e14f5f9d03c05f5b218545e1a02f38388b606275cb2fbc2460513060b01484712622eb02554fe700d0000000000000000000000000000000000000000000000000000000000000006204cddf3bd8788743febc33e0c7a8fdf5d6027f26efad62eb3593beafde7c44b5f59d773bd684600d9fbf0681d663f01e5fb83fbcb1ab98cc5f7bf3e6a8e01552166980af63b723e4cd4914e809eea476001b45b063c36749c60d661a003b8c625cfbbefece43ceaa80324e5f4d6a399761565504915b722836a2b5330c0aab85defccff033dbfe5d409e6ff3e450ee486293840b4dccdb9470494c8e581dcb43151929957750632c6d4c894cc1f01ce5f39d8ad30718d73848f4e754ffe972ac080a01a90e2fd9b0609f052dcac870721dc4d7cb0fefab347366452a2f62e1abe5824a0170ab73bbfdd68e1d99a1a065c4dbf47632a224bd8838672a1bd0a468ed7f0e7","new_txn_trie_node_byte":"0x02f904940182407f846dca727b8501d9ae085a837a1200949b2eed6a1e16cb50ed4c876d2dd69468b21b774980b90424b1dc65a400016059e453c2ca94d0c2fad2be55e6548b0a0ebb25096b1962a18f9c93a59400000000000000000000000000000000000000000000000000000000002b41020d3814d5fd77bcf6f327d8d75f6337e66c532fbc6416da152fa9fb522365c9f900000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000003400101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b60acd2057067dc9ed8c083f5aa227a244044fd60000000000000000000000000000000000000006f125563f59f382da700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000657140b340ed9659e0f1d59a25813cf36a565dbfbea50ae9df98feb9f2db79b74e1c76fca8bbb34c34ad5f196b7cc370bf06663d2723cea54aebf60ef00403792b08300ae5d5a7b251559ab69d61bf96eb4c440cec8f7d22b793b76372dc888bec7be383524c54d8d09d55f8467a3724c9b07831ebdd163e6802c9e716b9b30e28d6839ae541b5c594ed185b31ea149bd6bada126399dda9e14f5f9d03c05f5b218545e1a02f38388b606275cb2fbc2460513060b01484712622eb02554fe700d0000000000000000000000000000000000000000000000000000000000000006204cddf3bd8788743febc33e0c7a8fdf5d6027f26efad62eb3593beafde7c44b5f59d773bd684600d9fbf0681d663f01e5fb83fbcb1ab98cc5f7bf3e6a8e01552166980af63b723e4cd4914e809eea476001b45b063c36749c60d661a003b8c625cfbbefece43ceaa80324e5f4d6a399761565504915b722836a2b5330c0aab85defccff033dbfe5d409e6ff3e450ee486293840b4dccdb9470494c8e581dcb43151929957750632c6d4c894cc1f01ce5f39d8ad30718d73848f4e754ffe972ac080a01a90e2fd9b0609f052dcac870721dc4d7cb0fefab347366452a2f62e1abe5824a0170ab73bbfdd68e1d99a1a065c4dbf47632a224bd8838672a1bd0a468ed7f0e7","new_receipt_trie_node_byte":"0xb9022702f9022301838eb861b9010000000000000000000000000000100000000100000000000000000000000000000000000020000000000000000000000000100000000000000000000020080000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000500000000000000000000000000000001000000000000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000800000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000f90118f89b948c9b2efb7c64c394119270bfece7f54763b958adf842a052f50aa6d1a95a4595361ecf953d095f125d442e4673716dede699e049de148aa0000000000000000000000000b60acd2057067dc9ed8c083f5aa227a244044fd6b8400000000000000000000000000000000000000006f125563f59f382da70000000000000000000000000000000000000000000000000000000000000006687daf3f879949b2eed6a1e16cb50ed4c876d2dd69468b21b7749e1a0b04e63db38c49950639fa09d29872f21f5d49d614f3a969d8adf3d4b52e41a62b84000016059e453c2ca94d0c2fad2be55e6548b0a0ebb25096b1962a18f9c93a5940000000000000000000000000000000000000000000000000000000000002b41","gas_used":119548}},{"traces":{"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0xf119a2b0a9c52989c87a190f5a630bc35ed16f3b64074bd3e377b615497e1ce1":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da740f22cec2311"},"0x36cbfbdc6c2d7c1b082ffb59eb36623acf2d731d":{"balance":"0x3f8961d09e285a","nonce":"0x151"}},"meta":{"byte_code":"0x02f8b2018201508459682f008502fb92295282b9d4945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000ed12310d5a37326e6506209c4838146950166760ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a053d9c28054010e61c4adb20ce70621b2a6e7086b0b7b5b1989e754b4dc55db49a0610016d26dac02edfcf47f682d962c1373bd35b54fc6e812e9c9ee05b3e2fc7f","new_txn_trie_node_byte":"0x02f8b2018201508459682f008502fb92295282b9d4945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000ed12310d5a37326e6506209c4838146950166760ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a053d9c28054010e61c4adb20ce70621b2a6e7086b0b7b5b1989e754b4dc55db49a0610016d26dac02edfcf47f682d962c1373bd35b54fc6e812e9c9ee05b3e2fc7f","new_receipt_trie_node_byte":"0xb901ab02f901a701838f70b5b9010000000000000000000004000000000000000000008000000000000000000000000000000000000010000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000200080000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000010040000000000000000800000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000036cbfbdc6c2d7c1b082ffb59eb36623acf2d731da0000000000000000000000000ed12310d5a37326e6506209c4838146950166760a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x23bdad8d9056570240f47816cd8806406aff9205":{"balance":"0x22b092e09fdb5da77","nonce":"0x49"},"0x6b175474e89094c44da98b954eedeac495271d0f":{"storage_written":{"0x6417e408e73243411a5c4cdb160fd34c80ba10072c7aef7d4282e52edd7f868b":"0x65a4da25d3016c00000"},"code_usage":{"read":"0x4e36f96ee1667a663dfaac57c4d185a0e369a3a217e0079d49620f34f85d1ac7"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da7683d7cb47813"}},"meta":{"byte_code":"0x02f8b001488458c4d2198502ad3e9ca6827152946b175474e89094c44da98b954eedeac495271d0f80b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba300000000000000000000000000000000000000000000065a4da25d3016c00000c001a07cb1f1690959daeb529b0256bc986be4521bda7b9a0f66f45dcaac00edd6df43a051ed7db2c93726fb166d6555950bf3e06db799d96b1239fa4771cb935ddb7fc4","new_txn_trie_node_byte":"0x02f8b001488458c4d2198502ad3e9ca6827152946b175474e89094c44da98b954eedeac495271d0f80b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba300000000000000000000000000000000000000000000065a4da25d3016c00000c001a07cb1f1690959daeb529b0256bc986be4521bda7b9a0f66f45dcaac00edd6df43a051ed7db2c93726fb166d6555950bf3e06db799d96b1239fa4771cb935ddb7fc4","new_receipt_trie_node_byte":"0xb901ab02f901a701838fe207b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000000000000000004008000000000000000000000800000000400000000010000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000002000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b946b175474e89094c44da98b954eedeac495271d0ff863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000023bdad8d9056570240f47816cd8806406aff9205a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a000000000000000000000000000000000000000000000065a4da25d3016c00000","gas_used":29010}},{"traces":{"0xe44a083fe47c5e22d6ac6ca84797fef2638eb0c7":{"balance":"0x1badc0efdbc8","nonce":"0x1"},"0x8db03959b359e756468fa75e747771810b4fc4e6":{"balance":"0x16feb622db79a042b"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da782fab542e813"}},"meta":{"byte_code":"0x02f87201808453724e00850224fb943c825208948db03959b359e756468fa75e747771810b4fc4e687b301e9d665066380c080a03b59bb7dda75426dcc06b77384eff78765daadfc6d5d2067942dd9fac0464a9da04cccbdd2ce2a8e37eaaf4465d5b72880c19e17ae723b1e3b6d3402cbd3a6a010","new_txn_trie_node_byte":"0x02f87201808453724e00850224fb943c825208948db03959b359e756468fa75e747771810b4fc4e687b301e9d665066380c080a03b59bb7dda75426dcc06b77384eff78765daadfc6d5d2067942dd9fac0464a9da04cccbdd2ce2a8e37eaaf4465d5b72880c19e17ae723b1e3b6d3402cbd3a6a010","new_receipt_trie_node_byte":"0xb9010d02f90109018390340fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xc1c88785e9b5c9c85b3f6c99255c3bef9e3b14a7":{"balance":"0x8897408b4ba110e94","nonce":"0x13dc7"},"0x8a8bbaab7b1e8aec2aa0c8a69399e8a261101ec0":{"balance":"0x18fae276d3d9202a"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da79db7edd15813"}},"meta":{"byte_code":"0x02f8760183013dc68453724e00850224fb943c825208948a8bbaab7b1e8aec2aa0c8a69399e8a261101ec0880b1a2bc2ec50000080c001a0ee8589635210148dbc7aa3c494f3c0bf1e5c43e408641af008f998ec0cc30cffa007bfdc83f9381fcd4e49e9a077080c27c238c3bd774fc05b09c2996b73994b60","new_txn_trie_node_byte":"0x02f8760183013dc68453724e00850224fb943c825208948a8bbaab7b1e8aec2aa0c8a69399e8a261101ec0880b1a2bc2ec50000080c001a0ee8589635210148dbc7aa3c494f3c0bf1e5c43e408641af008f998ec0cc30cffa007bfdc83f9381fcd4e49e9a077080c27c238c3bd774fc05b09c2996b73994b60","new_receipt_trie_node_byte":"0xb9010d02f901090183908617b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xe43c569f5c95ad2d70d523d98fa47bbb241b9f8e":{"balance":"0x385030e07057772","nonce":"0x11"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da7b7700e38f07b"},"0x68a230e8f8501c415e0f617157bdf68d2c81d3d7":{"balance":"0x19059cb15072a13"}},"meta":{"byte_code":"0x02f872011084773594008501cb6bd0d08252089468a230e8f8501c415e0f617157bdf68d2c81d3d787b505474987229380c080a0ae29118ebd7d42d1d20aee5050e4d90b3fe48fcf15e22f84beb98adc013757efa0136ee6c1309f8f50a59e488662879deb37c148be9cdd784b33bc1251be229153","new_txn_trie_node_byte":"0x02f872011084773594008501cb6bd0d08252089468a230e8f8501c415e0f617157bdf68d2c81d3d787b505474987229380c080a0ae29118ebd7d42d1d20aee5050e4d90b3fe48fcf15e22f84beb98adc013757efa0136ee6c1309f8f50a59e488662879deb37c148be9cdd784b33bc1251be229153","new_receipt_trie_node_byte":"0xb9010d02f90109018390d81fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da7d1282ea088e3"},"0x69d8c47c5b95b103d79496cbeef54cd992773ae0":{"balance":"0x1e484df1c0a48df"},"0x4e04eb9bb0aebb12ef9d78bd70bc14a398b84940":{"balance":"0x0","nonce":"0x230"}},"meta":{"byte_code":"0x02f8750182022f8501cb6bd0d08501cb6bd0d08252089469d8c47c5b95b103d79496cbeef54cd992773ae0873a413e369f860980c001a0fc7ff7b6f478897c11dad9cf992eb685174ea8284f7f76e591e13c32cf9626cda044df3b341c8d053bd850734872bec5d497bbe86df84fcf835a008dba68cda720","new_txn_trie_node_byte":"0x02f8750182022f8501cb6bd0d08501cb6bd0d08252089469d8c47c5b95b103d79496cbeef54cd992773ae0873a413e369f860980c001a0fc7ff7b6f478897c11dad9cf992eb685174ea8284f7f76e591e13c32cf9626cda044df3b341c8d053bd850734872bec5d497bbe86df84fcf835a008dba68cda720","new_receipt_trie_node_byte":"0xb9010d02f901090183912a27b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xb6814175295bb1e9c7e37ce0069c59bac1bb37e1":{"balance":"0x2ba9e0c760a886d","nonce":"0xd4"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da7eae04f08214b"},"0xfe3e8200af885d064079aa0b729bf710b5947f71":{"balance":"0x7c585087238000"}},"meta":{"byte_code":"0x02f8730181d384773594008501cb6bd0d082520894fe3e8200af885d064079aa0b729bf710b5947f71877c58508723800080c080a0d54d267594a8b1e17b6be7f7681e3f7c797c482213d8e8d2fcc4f1f755636509a02a0291aaa526ffa6603ac809bad23f30328f2adb1cf27305bb06774f0037e3fc","new_txn_trie_node_byte":"0x02f8730181d384773594008501cb6bd0d082520894fe3e8200af885d064079aa0b729bf710b5947f71877c58508723800080c080a0d54d267594a8b1e17b6be7f7681e3f7c797c482213d8e8d2fcc4f1f755636509a02a0291aaa526ffa6603ac809bad23f30328f2adb1cf27305bb06774f0037e3fc","new_receipt_trie_node_byte":"0xb9010d02f901090183917c2fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x5d698e2960ef5eca810a3aa71ad9d3be2347ae75":{"balance":"0x1d648a14585af19","nonce":"0x28"},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0xb1aba724eea54f77b18035da2502b8b2c073289ffe12193cbf04ce988e4e1328","0xcf213b0f2731fd4db10ac794039404cc66c41a7735b27ee179a968a4b711e793","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0xb1aba724eea54f77b18035da2502b8b2c073289ffe12193cbf04ce988e4e1328":"0x12809f8b0","0xcf213b0f2731fd4db10ac794039404cc66c41a7735b27ee179a968a4b711e793":"0x542b1d0a"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da8222b8dc646f7"}},"meta":{"byte_code":"0x02f8b1012784773594008501cb6bd0d08301117094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000001bac08001d761c303901d5e32273a24c07d3f3da000000000000000000000000000000000000000000000000000000000ee67bccc080a0dff4374c7c309577e9f736bb344aa1ec67e6453b134d75ef90b3e8577bb44657a013d98214df35ac0e9cef9de368b51fe5096aa83dc05beaac7d7cdd2812904474","new_txn_trie_node_byte":"0x02f8b1012784773594008501cb6bd0d08301117094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb0000000000000000000000001bac08001d761c303901d5e32273a24c07d3f3da000000000000000000000000000000000000000000000000000000000ee67bccc080a0dff4374c7c309577e9f736bb344aa1ec67e6453b134d75ef90b3e8577bb44657a013d98214df35ac0e9cef9de368b51fe5096aa83dc05beaac7d7cdd2812904474","new_receipt_trie_node_byte":"0xb901ab02f901a70183922c8bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000080000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000000000000000000000002002000000000000000000000000000000000000000000100400000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005d698e2960ef5eca810a3aa71ad9d3be2347ae75a00000000000000000000000001bac08001d761c303901d5e32273a24c07d3f3daa0000000000000000000000000000000000000000000000000000000000ee67bcc","gas_used":45148}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da83be3ae2ddf5f"},"0x345a5b9dad345b3a1d5a794b0648f3a7923f7cef":{"balance":"0x11d26970b6a35c56","nonce":"0x22"},"0xa1c749c3ef2b31556aa5353725f7c0b51b819b2a":{"balance":"0x9b4967e89309044"}},"meta":{"byte_code":"0x02f873012184773594008501cb6bd0d082520894a1c749c3ef2b31556aa5353725f7c0b51b819b2a8809b48bed6823dd8480c080a070f233ea62e234adbb703715eae53af4a02ae5926705c80fb3389ac356d000d3a049ad30dbdc887b288b9c944de0891d0b863098231fe788c890f4f3826ab9811b","new_txn_trie_node_byte":"0x02f873012184773594008501cb6bd0d082520894a1c749c3ef2b31556aa5353725f7c0b51b819b2a8809b48bed6823dd8480c080a070f233ea62e234adbb703715eae53af4a02ae5926705c80fb3389ac356d000d3a049ad30dbdc887b288b9c944de0891d0b863098231fe788c890f4f3826ab9811b","new_receipt_trie_node_byte":"0xb9010d02f901090183927e93b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x7eb83a8e3dfc7f47fa5159d16fe35e6edcfbc14e":{"balance":"0x17a3a812752f6d0"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da8559bce9577c7"},"0xce58646052b98fa392c914ecda82ca5076d9b142":{"balance":"0x0","nonce":"0x7a"}},"meta":{"byte_code":"0x02f87401798501cb6bd0d08501cb6bd0d0825208947eb83a8e3dfc7f47fa5159d16fe35e6edcfbc14e88017a3a812752f6d080c080a0b7d097f464f474196829157b282d9a416dcd8006d24d7ce2eb4917c1c79bf76fa06ae46d69ec34dc45982fc78dd61ddc4cba66b0d9db19074431f89b7a4f2a455d","new_txn_trie_node_byte":"0x02f87401798501cb6bd0d08501cb6bd0d0825208947eb83a8e3dfc7f47fa5159d16fe35e6edcfbc14e88017a3a812752f6d080c080a0b7d097f464f474196829157b282d9a416dcd8006d24d7ce2eb4917c1c79bf76fa06ae46d69ec34dc45982fc78dd61ddc4cba66b0d9db19074431f89b7a4f2a455d","new_receipt_trie_node_byte":"0xb9010d02f90109018392d09bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x1eb7204564913ed28500c0e9701825eecd86cb45":{"balance":"0xd8fc050769fee","nonce":"0x2"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0xd19ebf1c06ad5898c8d176257b114b11ded64b41f216f78d01f1afc017599ef0"],"storage_written":{"0xd19ebf1c06ad5898c8d176257b114b11ded64b41f216f78d01f1afc017599ef0":"0x301283ab"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da89115211fcb84"}},"meta":{"byte_code":"0x02f8b1010184773594008501cb6bd0d08301388094dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b30000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d00000000000000000000000000000000000000000000000000000000301283abc001a0e8a41ed8df71af0100cf77ef22b006a36fb4a5b0490b6b13c3e6bc70e249c103a025799356583f8fccb985be4e260d63d444554801cc70f8e4f4488baef87478cb","new_txn_trie_node_byte":"0x02f8b1010184773594008501cb6bd0d08301388094dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b30000000000000000000000001111111254fb6c44bac0bed2854e76f90643097d00000000000000000000000000000000000000000000000000000000301283abc001a0e8a41ed8df71af0100cf77ef22b006a36fb4a5b0490b6b13c3e6bc70e249c103a025799356583f8fccb985be4e260d63d444554801cc70f8e4f4488baef87478cb","new_receipt_trie_node_byte":"0xb901ab02f901a70183938e4cb9010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000001000000000000000000000000000000000000000000000100000020000000000000000000080000000000000000000000000000000000000000001000000000000000000000000000000000000000000000008000000000000000010000000000000000000040000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000001eb7204564913ed28500c0e9701825eecd86cb45a00000000000000000000000001111111254fb6c44bac0bed2854e76f90643097da000000000000000000000000000000000000000000000000000000000301283ab","gas_used":48561}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0xb7ed0176f216788ddf6946baf7e75a51b3332f0f8780f990f7163e5a774ba61a","0x0000000000000000000000000000000000000000000000000000000000000000","0x4c2b66fe1a5d1640b9e345d0b7fd182932f1be3d37b81b163a4be5bf8a3baa55","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x4941788a7b041cfa5f84c8448c5aeef28cf2cae25659733cd67aa39b21cc3e62"],"storage_written":{"0xb7ed0176f216788ddf6946baf7e75a51b3332f0f8780f990f7163e5a774ba61a":"0x11b3dc40","0x4941788a7b041cfa5f84c8448c5aeef28cf2cae25659733cd67aa39b21cc3e62":"0x297864e0"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da8de7f09704919"},"0x32954be621dee4aa6c6df1a7f9a2ab02795af717":{"balance":"0x6d8974089e0c1","nonce":"0x4f"}},"meta":{"byte_code":"0x02f8b1014e84773594008501cb6bd0d08301117094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000f15910599b421b35aa488ca7c84be3246f14c40b0000000000000000000000000000000000000000000000000000000011b3dc40c080a04e5a4b3235b3cf3a010ec879fe80e801418f2a3d0250a33c37e23e90acaf5f37a03cab0f2e2411a8bae8fe3d6cea4b402b34a129fcff2dbffb0923745c880d9726","new_txn_trie_node_byte":"0x02f8b1014e84773594008501cb6bd0d08301117094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000f15910599b421b35aa488ca7c84be3246f14c40b0000000000000000000000000000000000000000000000000000000011b3dc40c080a04e5a4b3235b3cf3a010ec879fe80e801418f2a3d0250a33c37e23e90acaf5f37a03cab0f2e2411a8bae8fe3d6cea4b402b34a129fcff2dbffb0923745c880d9726","new_receipt_trie_node_byte":"0xb901ab02f901a70183948535b9010000000000000000000000000000000000000000000000000000000000008001000020000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000004000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100080000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000032954be621dee4aa6c6df1a7f9a2ab02795af717a0000000000000000000000000f15910599b421b35aa488ca7c84be3246f14c40ba00000000000000000000000000000000000000000000000000000000011b3dc40","gas_used":63209}},{"traces":{"0x0af5cb0a62e2c4e4645b08452f0e1c7cfbd29339":{"balance":"0xaf8839bae4ae148a","nonce":"0x67"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0xb26777e37857100ef40f5ed5f1d72ffc5f99ae3cc77b12007890a6ea3047611f","0x0000000000000000000000000000000000000000000000000000000000000000","0x1934452e2661cf18d29635aa9c4e78ad6abb15ce80b7e3981af9eb37ae82e94c","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xa1252df5248809ee849732a204831a92b3407b29f579f0b925864d972d3184fc"],"storage_written":{"0xb26777e37857100ef40f5ed5f1d72ffc5f99ae3cc77b12007890a6ea3047611f":"0x3f5476a00","0xa1252df5248809ee849732a204831a92b3407b29f579f0b925864d972d3184fc":"0xc3fece7c3"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da92be8f1c0c6ae"}},"meta":{"byte_code":"0x02f8b1016684773594008501cb6bd0d08301117094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000007fb89e0abd0c598ada116c0a57cde473ae66985000000000000000000000000000000000000000000000000000000003f5476a00c001a0c8d080e448e17933808d3be90cafe76e24c3a322a3d9e07ff4ab76e442d8da37a0130dc09d98d7ef5bf845fa972b46e0ab91f9a07f176715494ecfe2dbd3eda56f","new_txn_trie_node_byte":"0x02f8b1016684773594008501cb6bd0d08301117094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000007fb89e0abd0c598ada116c0a57cde473ae66985000000000000000000000000000000000000000000000000000000003f5476a00c001a0c8d080e448e17933808d3be90cafe76e24c3a322a3d9e07ff4ab76e442d8da37a0130dc09d98d7ef5bf845fa972b46e0ab91f9a07f176715494ecfe2dbd3eda56f","new_receipt_trie_node_byte":"0xb901ab02f901a70183957c1eb9010000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000010000000000000000000000000040000000000000000000000000000008000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000002000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000af5cb0a62e2c4e4645b08452f0e1c7cfbd29339a00000000000000000000000007fb89e0abd0c598ada116c0a57cde473ae669850a000000000000000000000000000000000000000000000000000000003f5476a00","gas_used":63209}},{"traces":{"0x430d54998e5cc67a50dab2e3066825e144ece7ba":{"balance":"0x2de21684c0617","nonce":"0x4"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x5e07a7a0e3f42b6fbbbb1e2f1de32c332ea95cd367682d9de18df655d5581bb1","0x99752481d8811b53d5141dc7483ec7883dfa854fe573c5a561b698ece6e7d44a"],"storage_written":{"0x5e07a7a0e3f42b6fbbbb1e2f1de32c332ea95cd367682d9de18df655d5581bb1":"0x0","0x99752481d8811b53d5141dc7483ec7883dfa854fe573c5a561b698ece6e7d44a":"0x209ba13fb6f9814989e0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da9510d779b8d47"}},"meta":{"byte_code":"0x02f8b00103844c8c8baf8501dcd3b08b828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000008ccc062bab493560e35022b78552ce47e72a3e580000000000000000000000000000000000000000000000195b7959b388b80000c080a07f858008c849d3b8a9503c0322ff3752f3456ffdaa9547152f6917e50163dd26a03ab55f8676b88fd118a8c99f1d0b5f2edbc23b54a7b466749eca1690aee21243","new_txn_trie_node_byte":"0x02f8b00103844c8c8baf8501dcd3b08b828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000008ccc062bab493560e35022b78552ce47e72a3e580000000000000000000000000000000000000000000000195b7959b388b80000c080a07f858008c849d3b8a9503c0322ff3752f3456ffdaa9547152f6917e50163dd26a03ab55f8676b88fd118a8c99f1d0b5f2edbc23b54a7b466749eca1690aee21243","new_receipt_trie_node_byte":"0xb901ab02f901a7018395f855b9010000000000000000000000000000000000000000000000000000000000000000000001000000000008000000000000000000000000000000000000000800000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000002000000000000000000004000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000430d54998e5cc67a50dab2e3066825e144ece7baa00000000000000000000000008ccc062bab493560e35022b78552ce47e72a3e58a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da97fcc2ac09c83"},"0x4719d584ac84af6eb32cdeb64d8b203ce25e3375":{"balance":"0xfa6e8ec9158d0","nonce":"0xa"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004","0xcb5f9f86a0a5262e918a48e852a58251dc55a9c0ef00e285b45a5f3d425c14d5","0xb0f21d9ef778865d3d472af65a2ab8ed179c71230381d86a5bc1251118f522e0","0x0000000000000000000000000000000000000000000000000000000000000000","0x82661d594655cc5461801b94ccf0c215022920d42a8e3698f8a67ae85a18d9d1","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003"],"storage_written":{"0xcb5f9f86a0a5262e918a48e852a58251dc55a9c0ef00e285b45a5f3d425c14d5":"0x0","0xb0f21d9ef778865d3d472af65a2ab8ed179c71230381d86a5bc1251118f522e0":"0x538f5c03cb"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f8b101098459682f008501c54bc4df830124f894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000007ab6c736baf1dac266aab43884d82974a9adcccf00000000000000000000000000000000000000000000000000000001dcb4c06dc080a0a3e0b09c78a651701a8e37453dd0b12b202d501dd4327e595299ef4ee002c3d7a02630bcfca7e5f12017a880502f7c88558783e01bba20be45c468bbf38a7d06f8","new_txn_trie_node_byte":"0x02f8b101098459682f008501c54bc4df830124f894dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000007ab6c736baf1dac266aab43884d82974a9adcccf00000000000000000000000000000000000000000000000000000001dcb4c06dc080a0a3e0b09c78a651701a8e37453dd0b12b202d501dd4327e595299ef4ee002c3d7a02630bcfca7e5f12017a880502f7c88558783e01bba20be45c468bbf38a7d06f8","new_receipt_trie_node_byte":"0xb901ab02f901a701839699beb9010000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000200000000000008000000000000000800000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100020000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000004719d584ac84af6eb32cdeb64d8b203ce25e3375a00000000000000000000000007ab6c736baf1dac266aab43884d82974a9adcccfa000000000000000000000000000000000000000000000000000000001dcb4c06d","gas_used":41321}},{"traces":{"0x0000000000000000000000000000000000000001":{},"0x76264869a3ebf51a59fca5aba84ee2867c7f190e":{"storage_read":["0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c697","0x4d9bd78d97437fa4950049d809f36da9f79d4eeda469d9abd87a43c03ee7cc1d","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000002","0x098351055a226d317a760d3dc6d04ecbfe01e5f15c90e3d19c632152e6a56326","0x0000000000000000000000000000000000000000000000000000000000000007","0x534ddf84e1a141a8e6807a4dedb0d28554ffdd1e487616b430438b4ebf25f680","0xa84ee1c4ffe4e62ff11503fbd37b6c4272a892b99708a5f9913b7f136c4eaef8","0xde33ad598173fc97d59f29771028797e9ca9cdb6705d3e39286e0168f9580b78","0x14467f2516308aefbe6c479e1040ad614c4efdc395b219e481f0f95333e76795","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000003","0x30d97d46662995cce80fcf2474a62c023c053989b27071d347e2544a0ac09a3e"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0x2931020000000000000004"},"code_usage":{"read":"0x8393725a82e07189f084756266e8944dc3b8d196cdec4bcc5966b1bcec00aaa4"}},"0xfc52b2196a94d08fc9614b8039821bce03bf58e8":{"balance":"0x13ec17618e09b73e","nonce":"0x4248"},"0x411de17f12d1a34ecc7f45f49844626267c75e81":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002"],"code_usage":{"read":"0xcc89ee11ac70173a91e916d1aa3413740c95df806eac3ef64f134ebb69415a56"}},"0x8b63b3de93431c0f756a493644d128134291fa1b":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009"],"code_usage":{"read":"0x5d884ec105c7265763b49cc6bdc63668b0ebc5574191bff1c4a6cdbfe613f23c"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7da9f44b3b2c6f73"},"0x8c9b2efb7c64c394119270bfece7f54763b958ad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x5ddab3d53a3e788cdff2f18392c7cc0d2873cf1f06bdb53d736c91878e818713"],"storage_written":{"0xaccf1093018c1ff31f4517da62534b2a73a39979941e57377965e805175c9620":"0x6687daf300000000000000000055f2c0279a0000000000000000000012584ce6"},"code_usage":{"read":"0x7fba7fd603866f692fcffb9b17520505d8b0274960835c3d4a1921c77176a23e"}}},"meta":{"byte_code":"0x02f90494018242478469ff9dee8501bb149b17837a12009476264869a3ebf51a59fca5aba84ee2867c7f190e80b90424b1dc65a4000158ce8fc4a0f994dfd6e0a25592e775701df72df104097ecbf9fefb87160e0000000000000000000000000000000000000000000000000000000000293102e6486e966c3211de5f6517e162d9dae88b66aabf22405768817d8b90442d6b5200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000003400000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000064d029850f1a09710000000000000000000000000055f2c0279a0000000000000000000012584ce6000000000000000000000000000000000000000000000000000000000000000621bc56026d279808fdcd58dac90c64ae39684f1b60e7aef517208b404b893c56738519b38c6aa824effe14714d17c6ee0ff596805f9d1553bc28c6ad3f60c57f0edc53ad12b06476d4dda167c372233db8244b6bb86c0eed2fc2add6f40b672a3a36bba4c404dc36fb25a068c27122a2bd1c17bb6778eaa0a087d4796f92d28400b51c6425e9d85272a186d0f088886e2e21947a71af82d742bf21358454a6fb15fb5d720123b3a322e430cb16c7b8873eee159c444adad57dd9f9069c3684e6000000000000000000000000000000000000000000000000000000000000000614a9919143f85e6ca7e8067a847c3d4c5a8f5b38225479aed93f4db1719442242ae793ca5a1fab40ed8310dce735e9fc30be460cf56fb7b5ae3eaa237009b4917e2c63ff74d48e1513cd70212faab5a5541ed5d93ff1257f5796fc30597ac00c258b61f0e31568341339f0fadb89315f7ecdb2741a15480186da10197ce093aa5e9a0205af58bf96c4125948bd8f4761e2742a64ddd92caefc43b0913072c83d52d7a9285ad57bc9048be65ff25a8f24b77cfdecf784b695ef745c8cc5fa0379c080a016114719c1a96b1221039cc6ac4d69a06287925b253f2cf6ee3beb5880a2edc3a015c6903739b6780f41afc1c771c41a4462d5e22538fdce446db4166de9fa25b2","new_txn_trie_node_byte":"0x02f90494018242478469ff9dee8501bb149b17837a12009476264869a3ebf51a59fca5aba84ee2867c7f190e80b90424b1dc65a4000158ce8fc4a0f994dfd6e0a25592e775701df72df104097ecbf9fefb87160e0000000000000000000000000000000000000000000000000000000000293102e6486e966c3211de5f6517e162d9dae88b66aabf22405768817d8b90442d6b5200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000003400000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000064d029850f1a09710000000000000000000000000055f2c0279a0000000000000000000012584ce6000000000000000000000000000000000000000000000000000000000000000621bc56026d279808fdcd58dac90c64ae39684f1b60e7aef517208b404b893c56738519b38c6aa824effe14714d17c6ee0ff596805f9d1553bc28c6ad3f60c57f0edc53ad12b06476d4dda167c372233db8244b6bb86c0eed2fc2add6f40b672a3a36bba4c404dc36fb25a068c27122a2bd1c17bb6778eaa0a087d4796f92d28400b51c6425e9d85272a186d0f088886e2e21947a71af82d742bf21358454a6fb15fb5d720123b3a322e430cb16c7b8873eee159c444adad57dd9f9069c3684e6000000000000000000000000000000000000000000000000000000000000000614a9919143f85e6ca7e8067a847c3d4c5a8f5b38225479aed93f4db1719442242ae793ca5a1fab40ed8310dce735e9fc30be460cf56fb7b5ae3eaa237009b4917e2c63ff74d48e1513cd70212faab5a5541ed5d93ff1257f5796fc30597ac00c258b61f0e31568341339f0fadb89315f7ecdb2741a15480186da10197ce093aa5e9a0205af58bf96c4125948bd8f4761e2742a64ddd92caefc43b0913072c83d52d7a9285ad57bc9048be65ff25a8f24b77cfdecf784b695ef745c8cc5fa0379c080a016114719c1a96b1221039cc6ac4d69a06287925b253f2cf6ee3beb5880a2edc3a015c6903739b6780f41afc1c771c41a4462d5e22538fdce446db4166de9fa25b2","new_receipt_trie_node_byte":"0xb9022702f902230183986c4ab9010000000000000000000000000000100000000100000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000200200000000000000000000000000010000000000000500000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000f90118f89b948c9b2efb7c64c394119270bfece7f54763b958adf842a0dd84a3fa9ef9409f550d54d6affec7e9c480c878c6ab27b78912a03e1b371c6ea000000000000000000000000000000000000000000000000064d029850f1a0971b8400000000000000000000000000055f2c0279a0000000000000000000012584ce6000000000000000000000000000000000000000000000000000000006687daf3f8799476264869a3ebf51a59fca5aba84ee2867c7f190ee1a0b04e63db38c49950639fa09d29872f21f5d49d614f3a969d8adf3d4b52e41a62b840000158ce8fc4a0f994dfd6e0a25592e775701df72df104097ecbf9fefb87160e0000000000000000000000000000000000000000000000000000000000002931","gas_used":119436}},{"traces":{"0xd4b58b0bca68f237040ee2bbfe6be3d0a2d69bf5":{"balance":"0x248ec14b047800"},"0x8fffa981189738a225ad2d960865212323a35ab1":{"balance":"0x290a6637cde8","nonce":"0x1"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daa08baef8aab73"}},"meta":{"byte_code":"0x02f8720180843fc6e78085023b03330082520894d4b58b0bca68f237040ee2bbfe6be3d0a2d69bf587248ec14b04780080c001a0dd2f2cfedd9a52f5421ba729c87c047ee6ccd5b01981a3700332f7d566f10913a01bbd287c49bf87838640b8f36db3294d2c568b87d4a7cf5c2b2643548dfb77d3","new_txn_trie_node_byte":"0x02f8720180843fc6e78085023b03330082520894d4b58b0bca68f237040ee2bbfe6be3d0a2d69bf587248ec14b04780080c001a0dd2f2cfedd9a52f5421ba729c87c047ee6ccd5b01981a3700332f7d566f10913a01bbd287c49bf87838640b8f36db3294d2c568b87d4a7cf5c2b2643548dfb77d3","new_receipt_trie_node_byte":"0xb9010d02f90109018398be52b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daa1cfd56040d53"},"0x03d22e70bee355cdf9d242fff8bde34b855244e2":{"balance":"0x2b3071923d90","nonce":"0x4"},"0xdc07e127cfd37065790f39956b7489aa5f32818b":{"balance":"0x160cf2284385429"}},"meta":{"byte_code":"0x02f8710103843f39853c8502412a5f7182520894dc07e127cfd37065790f39956b7489aa5f32818b86daad44750c6b80c001a042fb2f5717ccd8a81d0ea884b24c82ccfe340e6d7d23bee803718b68e7ca32f4a0668cd2db0af34f76c0088ac15e970dff6f1f013be5c236cc5153ea04dd074cc0","new_txn_trie_node_byte":"0x02f8710103843f39853c8502412a5f7182520894dc07e127cfd37065790f39956b7489aa5f32818b86daad44750c6b80c001a042fb2f5717ccd8a81d0ea884b24c82ccfe340e6d7d23bee803718b68e7ca32f4a0668cd2db0af34f76c0088ac15e970dff6f1f013be5c236cc5153ea04dd074cc0","new_receipt_trie_node_byte":"0xb9010d02f90109018399105ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x3c3d457f1522d3540ab3325aa5f1864e34cba9d0":{"code_usage":{"read":"0x637863b4940357181f66fc748cf3133b516864f6251bf89fde8dcf019d862522"}},"0x3ee18b2214aff97000d974cf647e7c347e8fa585":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x000000000000000000000000000000000000000000000000000000000000000d","0x830e1dd4fb3063e3e987230062dace96b883f3231d374b64034646f8082f7abc","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000000","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000d":"0x1"},"code_usage":{"read":"0x26aeb96c4320b04eeda9660276adf5920d056be2e1bee7f038255950e60d0a27"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243947395296afa8a4bcd","storage_read":["0x5bebc1d66255dc5622774be2d4302fc1e7eeff454c5a800f05e2040f4af24f2f","0x6f2249d4a05a051c1e2e225342bca1f1fc2ad84469f669066c3a2b809a1781dc"],"storage_written":{"0x6f2249d4a05a051c1e2e225342bca1f1fc2ad84469f669066c3a2b809a1781dc":"0x26f6d3f8c939afb7f0","0x5bebc1d66255dc5622774be2d4302fc1e7eeff454c5a800f05e2040f4af24f2f":"0x1"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xef499034e7eee113804e97c551c79e011f1994e6":{"balance":"0x1a2aa4928148d9","nonce":"0x497"},"0xd31a59c85ae9d8edefec411d448f90841571b89c":{"storage_read":["0x1ad64995e506cd893cb35b03aaadf05001e5319266abded7af21f79aa5413c2d","0x9dc702b3fb0dd67aea639e6fd76f2ea9987c9b4a93314f2c74930f5810b44908","0x85004db249576eb987b5b773c2f7450694625b603404fb918ec91c4c4712400b","0x436ed69ce596c9495e088f92451daa32149545028eb651dde2a9ec4d186dd2ad","0x0000000000000000000000000000000000000000000000000000000000000007","0x53e4e19371d54ef27377e5933457729aef429728c615ac5bf93249e6bb0199eb","0x0000000000000000000000000000000000000000000000000000000000000003","0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50","0xabd6d27d7a798bee1b7e6be84161837f00c50030f74a63d02eea37adfc517e78","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000008","0xe27cc0ffc66fa70ad140aea974b0bbe936631ef4da9b9cec7d10ea77d9580aba"],"storage_written":{"0x436ed69ce596c9495e088f92451daa32149545028eb651dde2a9ec4d186dd2ad":"0x0","0xe27cc0ffc66fa70ad140aea974b0bbe936631ef4da9b9cec7d10ea77d9580aba":"0xdbec585e297","0xabd6d27d7a798bee1b7e6be84161837f00c50030f74a63d02eea37adfc517e78":"0x9","0x0000000000000000000000000000000000000000000000000000000000000003":"0x16022011dbb70","0x53e4e19371d54ef27377e5933457729aef429728c615ac5bf93249e6bb0199eb":"0x0","0x1ad64995e506cd893cb35b03aaadf05001e5319266abded7af21f79aa5413c2d":"0x0","0x9dc702b3fb0dd67aea639e6fd76f2ea9987c9b4a93314f2c74930f5810b44908":"0x694c","0x85004db249576eb987b5b773c2f7450694625b603404fb918ec91c4c4712400b":"0x0"},"code_usage":{"read":"0x857e34d35e463e3728698b32ce340557501e07a7be9bf2c4edbd1301438be916"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dabbcaaa98b842f"},"0x98f3c9e6e3face36baad05fe09d375ef1464288b":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000007","0x9ccbe70f0ebf9580c8c443085390e3dfb5be5ce94c31506ca135827ebc1b9f32"],"storage_written":{"0x9ccbe70f0ebf9580c8c443085390e3dfb5be5ce94c31506ca135827ebc1b9f32":"0x49b84"},"code_usage":{"read":"0xadf9db5c37ff049019dd27726900e248d3dc675cee2b4eaf5ecaf18457a36b42"}},"0xfc99f58a8974a4bc36e60e2d490bb8d72899ee9f":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000033","0x552f3424470436873a09984329d37d04c118d7cbef266b7d2341a1a4f1883553","0x00000000000000000000000000000000000000000000000000000000000000cb","0x793ff09f3385775040513c78846c2015841be588e793bc97e81bb350ffd55d2f","0x00000000000000000000000000000000000000000000000000000000000000cd","0x00000000000000000000000000000000000000000000000000000000000000ce","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x0000000000000000000000000000000000000000000000000000000000000097","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x00000000000000000000000000000000000000000000000000000000000000cc"],"storage_written":{"0x00000000000000000000000000000000000000000000000000000000000000cd":"0x0","0x00000000000000000000000000000000000000000000000000000000000000cc":"0x0","0x0000000000000000000000000000000000000000000000000000000000000097":"0x1"},"code_usage":{"read":"0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986"}},"0x5ba073f65c751f419bf880d57cf51289cbdb55fe":{"code_usage":{"read":"0x4c211bffcc064f37d292da12cb7476091947fa082687c0060e528d5b1bb3fd19"}},"0x0fd04a68d3c3a692d6fa30384d1a87ef93554ee6":{"code_usage":{"read":"0xd71fb245ca071d285cbe654dbae3b9c488c640fb0ca5232f2622c07dccd62ccf"}},"0x118c7e8d8f7e088018edf0fb9f3bac0ce7490689":{"code_usage":{"read":"0x80302acc67b9e25821b27678bea9ecd2a142fe471876afd020d25e32bf3d047d"}},"0x127452f3f9cdc0389b0bf59ce6131aa3bd763598":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000001","0x6c022040c07534cb01197b8d99b19348fd43bbe7186223003a95f7580b2b36e8","0x000000000000000000000000000000000000000000000000000000000000002f","0x0000000000000000000000000000000000000000000000000000000000000030"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x100004c004c0028fd507d00000000000000000009e1b27b2699085e450385","0x0000000000000000000000000000000000000000000000000000000000000001":"0x77aa8b4876b43a86818eb9e158a55359e4d","0x0000000000000000000000000000000000000000000000000000000000000030":"0x1000000cf0000002194959be7823f01f6051db0e9fff317d82d7efa6687daf3"},"code_usage":{"read":"0x026a90d3253c436ace0ae0036064f28a63c3acc6537fa8694a1bd2f6fcab0ed3"}},"0x3b3ae790df4f312e745d270119c6052904fb6790":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x069f67e498e1f8baf1c77285945e43d755e8a876cf8f09ab370afb88890d464a","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103"],"code_usage":{"read":"0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986"}},"0xcafd2f0a35a4459fa40c0517e17e6fa2939441ca":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000007","0xd421a5181c571bba3f01190c922c3b2a896fc1d84e86c9f17ac10e67ebef8b5c","0x0000000000000000000000000000000000000000000000000000000000000006","0x000000000000000000000000000000000000000000000000000000000000000f","0x3d70f57bf420f7e8753975c04b8f1b78ad32f7b64e3ef8e8dd5b20857e2aac67","0x92e85d02570a8092d09a6e3a57665bc3815a2699a4074001bf1ccabf660f5a36","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000005","0x73a57a4b23b4e7890e23c1c92611e66c28b84631e74b4413299a7936e9c0e910"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000f":"0x1"},"code_usage":{"read":"0x70ab82da69861336b69195b990008fa6aad78d0b67bbbb928fdff07d0ed66350"}},"0x08f03724af0e0b7e51a3353ac452225314530a30":{"code_usage":{"read":"0x9489905b44214509863077648b57742467371648b47b3394e97a103e566d06ce"}},"0x381752f5458282d317d12c30d2bd4d6e1fd8841e":{"code_usage":{"read":"0x7b5dbbb9333e8973eb3e6ed329cf1505c087d69c4d7bfd3cf76a48a09c445ffc"}}},"meta":{"byte_code":"0x02f903fc01820496843f39853c8501e8505295830a0fac94fc99f58a8974a4bc36e60e2d490bb8d72899ee9f880206af3ddb762037b903843d21e25a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c000000000000000000000000ef499034e7eee113804e97c551c79e011f1994e6000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000001f50000000000000000000000000000000000000000000000000206af3ddb76203700000000000000000000000000000000000000000000000000000000c3484d0b00000000000000000000000000000000000000000000000000000000c3484d0b000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000004025397d5fc02eab3779665286f95b5448975db01425ef9d9f65abf249522f064c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c4d8837daf000000000000000000000000ef499034e7eee113804e97c551c79e011f1994e60000000000000000000000000000000000000000000000000206af3ddb76203700000000000000000000000000000000000000000000000000000000c3484d0b00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000127452f3f9cdc0389b0bf59ce6131aa3bd7635980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002c33574a76744843766b386f78586469484d38726a6f535a6f76784474524554467453464c536f3779696e64680000000000000000000000000000000000000000c001a059efc2f7eccf521f9815076ba259b96f01fb8369f74a440d9e1d162f126c71d2a030254f9babfaac113d721f0a8f5fbc1de01990b8d7047650971b8a2d4bc311fc","new_txn_trie_node_byte":"0x02f903fc01820496843f39853c8501e8505295830a0fac94fc99f58a8974a4bc36e60e2d490bb8d72899ee9f880206af3ddb762037b903843d21e25a0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c000000000000000000000000ef499034e7eee113804e97c551c79e011f1994e6000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000001f50000000000000000000000000000000000000000000000000206af3ddb76203700000000000000000000000000000000000000000000000000000000c3484d0b00000000000000000000000000000000000000000000000000000000c3484d0b000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000002c0000000000000000000000000000000000000000000000000000000000000004025397d5fc02eab3779665286f95b5448975db01425ef9d9f65abf249522f064c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000c4d8837daf000000000000000000000000ef499034e7eee113804e97c551c79e011f1994e60000000000000000000000000000000000000000000000000206af3ddb76203700000000000000000000000000000000000000000000000000000000c3484d0b00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000127452f3f9cdc0389b0bf59ce6131aa3bd7635980000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002c33574a76744843766b386f78586469484d38726a6f535a6f76784474524554467453464c536f3779696e64680000000000000000000000000000000000000000c001a059efc2f7eccf521f9815076ba259b96f01fb8369f74a440d9e1d162f126c71d2a030254f9babfaac113d721f0a8f5fbc1de01990b8d7047650971b8a2d4bc311fc","new_receipt_trie_node_byte":"0xb90fb702f90fb301839fa373b9010008010000000100000000000000000000100000000200200000000000800400000010000000000000021000000410000002008000080020000000000001300000001000000000008800000008804000000000000000000000000400008008000000000000020030000100000000004800000000100000000000000010000800000000000000400000800000000000000000000001000000000000001000001400420000000400010041004000000000000000000000040000000000000000000000100002000000800000840000000200000000020000000200000000000022000010200400000000080000008000000000000200000004400000000000000000f90ea8f858943b3ae790df4f312e745d270119c6052904fb6790e1a07724394874fdd8ad13292ec739b441f85c6559f10dc4141b8d4c0fa4cbf55bdba00000000000000000000000000000000000000000000000000000000000000000f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003b3ae790df4f312e745d270119c6052904fb6790a00000000000000000000000000000000000000000000000000206af3ddb762037f89b94d31a59c85ae9d8edefec411d448f90841571b89cf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000127452f3f9cdc0389b0bf59ce6131aa3bd763598a0000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9fa000000000000000000000000000000000000000000000000000000000c5414611f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003b3ae790df4f312e745d270119c6052904fb6790a0000000000000000000000000127452f3f9cdc0389b0bf59ce6131aa3bd763598a00000000000000000000000000000000000000000000000000206af3ddb762037f9011c94127452f3f9cdc0389b0bf59ce6131aa3bd763598f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003b3ae790df4f312e745d270119c6052904fb6790a0000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9fb8a00000000000000000000000000000000000000000000000000206af3ddb762037ffffffffffffffffffffffffffffffffffffffffffffffffffffffff3abeb9ef00000000000000000000000000000000000000000009e1b27b2699085e4503850000000000000000000000000000000000000000000000000abb8d5136f0b53dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd507df8d9943b3ae790df4f312e745d270119c6052904fb6790e1a01bb43f2da90e35f7b0cf38521ca95a49e68eb42fac49924930a5bd73cdf7576cb8a0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c000000000000000000000000ef499034e7eee113804e97c551c79e011f1994e60000000000000000000000000000000000000000000000000206af3ddb76203700000000000000000000000000000000000000000000000000000000c5414611f89b94d31a59c85ae9d8edefec411d448f90841571b89cf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9fa0000000000000000000000000118c7e8d8f7e088018edf0fb9f3bac0ce7490689a000000000000000000000000000000000000000000000000000000000c5414611f89b94d31a59c85ae9d8edefec411d448f90841571b89cf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000118c7e8d8f7e088018edf0fb9f3bac0ce7490689a0000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441caa00000000000000000000000000000000000000000000000000000000000000000f89b94d31a59c85ae9d8edefec411d448f90841571b89cf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000118c7e8d8f7e088018edf0fb9f3bac0ce7490689a0000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441caa000000000000000000000000000000000000000000000000000000000c5414611f89b94d31a59c85ae9d8edefec411d448f90841571b89cf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000118c7e8d8f7e088018edf0fb9f3bac0ce7490689a0000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441caa000000000000000000000000000000000000000000000000000000000c5414608f89b94d31a59c85ae9d8edefec411d448f90841571b89cf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000118c7e8d8f7e088018edf0fb9f3bac0ce7490689a0000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441caa00000000000000000000000000000000000000000000000000000000000000009f89b94d31a59c85ae9d8edefec411d448f90841571b89cf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441caa00000000000000000000000003ee18b2214aff97000d974cf647e7c347e8fa585a000000000000000000000000000000000000000000000000000000000c5414608f89b94d31a59c85ae9d8edefec411d448f90841571b89cf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441caa00000000000000000000000003ee18b2214aff97000d974cf647e7c347e8fa585a000000000000000000000000000000000000000000000000000000000c5414608f89b94d31a59c85ae9d8edefec411d448f90841571b89cf863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441caa00000000000000000000000003ee18b2214aff97000d974cf647e7c347e8fa585a00000000000000000000000000000000000000000000000000000000000000000f89b94d31a59c85ae9d8edefec411d448f90841571b89cf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003ee18b2214aff97000d974cf647e7c347e8fa585a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000c5414608f901fc9498f3c9e6e3face36baad05fe09d375ef1464288bf842a06eb224fb001ed210e379b335e35efe88672a8ce935d981a6896b27ffdf52a3b2a00000000000000000000000003ee18b2214aff97000d974cf647e7c347e8fa585b901a00000000000000000000000000000000000000000000000000000000000049b8300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e6030000000000000000000000000000000000000000000000000000000013b9ba34069b8857feab8184fb687f634618c035dac439dc1aeb3b5598a0f0000000000100012b89b45cb77bbcf736ba3172bd333a6e16bbc97fa72470c6bc4063ef074e976b0001000000000000000000000000cafd2f0a35a4459fa40c0517e17e6fa2939441ca0100000000000000000000000000000000000000000000000000000000000b5a84000000000000000000000000000000000000000000000000000000000000000025397d5fc02eab3779665286f95b5448975db01425ef9d9f65abf249522f064c0000000000000000000000000000000000000000000000000000f8d994118c7e8d8f7e088018edf0fb9f3bac0ce7490689e1a06ea4114cf93cff6c9ff22aef8d246e78a0368fa48033adc49edde5fa273f69a1b8a0000000000000000000000000ef499034e7eee113804e97c551c79e011f1994e6000000000000000000000000ef499034e7eee113804e97c551c79e011f1994e6000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c00000000000000000000000000000000000000000000000000000000c54146110000000000000000000000000000000000000000000000000000000000000000f9023c94fc99f58a8974a4bc36e60e2d490bb8d72899ee9ff842a0b9dae57db52a734b183c77227c96068231beb6a93a060ca7a9d3164f716714eaa0000000000000000000000000000000000000000000000000000000000000001eb901e0000000000000000000000000ef499034e7eee113804e97c551c79e011f1994e6000000000000000000000000ef499034e7eee113804e97c551c79e011f1994e6000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000206af3ddb762037000000000000000000000000d31a59c85ae9d8edefec411d448f90841571b89c00000000000000000000000000000000000000000000000000000000c5414611000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000033574a76744843766b386f78586469484d38726a6f535a6f76784474524554467453464c536f3779696e64680000000000000000000000000000000000000000","gas_used":430873}},{"traces":{"0x30f7fa697baf566033ca99064ca4fcc91946e2fb":{"balance":"0x2b3071923d90","nonce":"0x4"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dabd0ed1004e60f"},"0x137c46304cc4593065e9832aa2dab7c698db4d97":{"balance":"0x83c8a90ae9547f"}},"meta":{"byte_code":"0x02f8720103843f39853c8502412a5f7182520894137c46304cc4593065e9832aa2dab7c698db4d97878371e7684e488780c080a0416805f53b094a23452be97e6bd9fe24f949df45b6c5e31ef0f778b23219c4c7a0643a0af48bffa77fbfb92980767d3af81b59d293f3c037e5560373a53e65dd7d","new_txn_trie_node_byte":"0x02f8720103843f39853c8502412a5f7182520894137c46304cc4593065e9832aa2dab7c698db4d97878371e7684e488780c080a0416805f53b094a23452be97e6bd9fe24f949df45b6c5e31ef0f778b23219c4c7a0643a0af48bffa77fbfb92980767d3af81b59d293f3c037e5560373a53e65dd7d","new_receipt_trie_node_byte":"0xb9010d02f9010901839ff57bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x260f8cc08003922f56b62b80aa354372672da36c":{"balance":"0x766da17b5cd5917","nonce":"0xde"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dac093c6e93df0f"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x344aef310d50f5dfb579d47cc20d8e53377add6e9fad4ce6c48d1c502134f23e","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x5aeacf08aa810ec8d75affec84dd3e846a689ed0db8d7792f9c6f5bcd969874d","0xbdf1e7e4b5d492b83e588e1612ac9edcc9f2c4fd9cdf95a69433f2f0ae13723d"],"storage_written":{"0xbdf1e7e4b5d492b83e588e1612ac9edcc9f2c4fd9cdf95a69433f2f0ae13723d":"0x6fc23ac00","0x5aeacf08aa810ec8d75affec84dd3e846a689ed0db8d7792f9c6f5bcd969874d":"0x0"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f8b20181dd843f2e510085020becc1808301740a94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000008726f75e7644b7880cd766f629ac310a1499db9600000000000000000000000000000000000000000000000000000006fc23ac00c001a071b022c15bf5656ef4124e749f8cf9b454eefe88126614ad59e6fb1b486f0606a032b044213d907ce8cebf10c9d0b9eb3f1ce54f8c04a03c3a51d58ffa4948c3c4","new_txn_trie_node_byte":"0x02f8b20181dd843f2e510085020becc1808301740a94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000008726f75e7644b7880cd766f629ac310a1499db9600000000000000000000000000000000000000000000000000000006fc23ac00c001a071b022c15bf5656ef4124e749f8cf9b454eefe88126614ad59e6fb1b486f0606a032b044213d907ce8cebf10c9d0b9eb3f1ce54f8c04a03c3a51d58ffa4948c3c4","new_receipt_trie_node_byte":"0xb901ab02f901a70183a0d9a4b9010000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000008010000000000000000000000000000000000000000008000400000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000001000000000000002000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000260f8cc08003922f56b62b80aa354372672da36ca00000000000000000000000008726f75e7644b7880cd766f629ac310a1499db96a000000000000000000000000000000000000000000000000000000006fc23ac00","gas_used":58409}},{"traces":{"0x08a5e36d594955bb5cf6b1351b07d628e89f881b":{"balance":"0xd79898f007d995"},"0x5a945efeeef1dd15829a9e010a967b1d0b9cecdb":{"balance":"0x242a8e26dd10","nonce":"0x5"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dac1d22fa23cb67"}},"meta":{"byte_code":"0x02f8720104843e1adccb85022a20eef08252089408a5e36d594955bb5cf6b1351b07d628e89f881b87a526c604bc2e3b80c080a00eda700c2bc7a7a5d472342dc9b766c4d658d4f891f59b9396ce33b070d9febaa07fcedd5d7309d997e7b83dfdf351c849eee17088eada25b4d83dce740498f8e4","new_txn_trie_node_byte":"0x02f8720104843e1adccb85022a20eef08252089408a5e36d594955bb5cf6b1351b07d628e89f881b87a526c604bc2e3b80c080a00eda700c2bc7a7a5d472342dc9b766c4d658d4f891f59b9396ce33b070d9febaa07fcedd5d7309d997e7b83dfdf351c849eee17088eada25b4d83dce740498f8e4","new_receipt_trie_node_byte":"0xb9010d02f901090183a12bacb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x187fe1a8b76c60b85c00a2819152ff00ff642386":{"balance":"0x213ec85ffbe922fd"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dac307f5a9eeff7"},"0xacbf3b719aaa6d8acd3c71f676eaf9ebf3f350e0":{"balance":"0x7000e76d237fab","nonce":"0x5"}},"meta":{"byte_code":"0x02f8720104843c6bac1285028012d7ce82520894187fe1a8b76c60b85c00a2819152ff00ff64238687354a6ba7a1800080c080a0abfe86dfc45470584dec82fc420ae0329512897efa574a95d222a9d67bfd6262a0166fedfd5dd3d64c3a4f72e3410fa88a4d2ae7107afd78ba5f7bbab5ed210268","new_txn_trie_node_byte":"0x02f8720104843c6bac1285028012d7ce82520894187fe1a8b76c60b85c00a2819152ff00ff64238687354a6ba7a1800080c080a0abfe86dfc45470584dec82fc420ae0329512897efa574a95d222a9d67bfd6262a0166fedfd5dd3d64c3a4f72e3410fa88a4d2ae7107afd78ba5f7bbab5ed210268","new_receipt_trie_node_byte":"0xb9010d02f901090183a17db4b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x187fe1a8b76c60b85c00a2819152ff00ff642386":{"balance":"0x2f1f7f13a34d22fd"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dac43dbbb1a1487"},"0x3be4dd33578d199f661ed857e3abae2784dcfddb":{"balance":"0x1e02918d20b5249b","nonce":"0x18"}},"meta":{"byte_code":"0x02f8730117843c6bac1285028012d7ce82520894187fe1a8b76c60b85c00a2819152ff00ff642386880de0b6b3a764000080c080a059ef109f7b21e189e3546fc5146aee9cb17fac4882ab348646e2f748e0c9033ca04fdd09d00fede770327ee3e595336d4f65aaea4a65c12a0bbe2c2f5da4813aeb","new_txn_trie_node_byte":"0x02f8730117843c6bac1285028012d7ce82520894187fe1a8b76c60b85c00a2819152ff00ff642386880de0b6b3a764000080c080a059ef109f7b21e189e3546fc5146aee9cb17fac4882ab348646e2f748e0c9033ca04fdd09d00fede770327ee3e595336d4f65aaea4a65c12a0bbe2c2f5da4813aeb","new_receipt_trie_node_byte":"0xb9010d02f901090183a1cfbcb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000005","0xcb7d8e2664921124b175c483b9a0a360681eeccc84f45799c525071f89060dbe","0x65306887ba52e77cfe907fab1a470b71bacba33e13dd43a330a37dda8b2d7c06"],"storage_written":{"0xcb7d8e2664921124b175c483b9a0a360681eeccc84f45799c525071f89060dbe":"0x29acb80","0x65306887ba52e77cfe907fab1a470b71bacba33e13dd43a330a37dda8b2d7c06":"0x11170"},"code_usage":{"read":"0x131ff5c755b710d543ea70fede2eb38e5d15b1456df0ae932ba12e2786f7e5df"}},"0x5e809a85aa182a9921edd10a4163745bb3e36284":{"balance":"0x262627fefb660660e","nonce":"0x207f4"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dac75557c2d1f06"}},"meta":{"byte_code":"0x02f8b301830207f3843b9aca018501d02d730282ed2d942260fac5e5542a773aa44fbcfedf7c193bc2c59980b844a9059cbb0000000000000000000000003f9a5a0267ce4ff6d84c08fd5150acb593e4523c0000000000000000000000000000000000000000000000000000000000011170c001a04d82293d9ffd29feb7e8113fbf54d210604e3f033db9c4565a0adaf3e2ecd76da01117b28cb0c708db5bbc6b7de00b26742aad444a318a0efc036ed1f4abcc2265","new_txn_trie_node_byte":"0x02f8b301830207f3843b9aca018501d02d730282ed2d942260fac5e5542a773aa44fbcfedf7c193bc2c59980b844a9059cbb0000000000000000000000003f9a5a0267ce4ff6d84c08fd5150acb593e4523c0000000000000000000000000000000000000000000000000000000000011170c001a04d82293d9ffd29feb7e8113fbf54d210604e3f033db9c4565a0adaf3e2ecd76da01117b28cb0c708db5bbc6b7de00b26742aad444a318a0efc036ed1f4abcc2265","new_receipt_trie_node_byte":"0xb901ab02f901a70183a2a43bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000004000000000000000000000000000000400000000000000000000000000000000000020000000000000000002010000000000000000000000000000000000000000000000000000000000000000800000000010000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000200000000000000000000000020000f89df89b942260fac5e5542a773aa44fbcfedf7c193bc2c599f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005e809a85aa182a9921edd10a4163745bb3e36284a00000000000000000000000003f9a5a0267ce4ff6d84c08fd5150acb593e4523ca00000000000000000000000000000000000000000000000000000000000011170","gas_used":54399}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dac909ae9732906"},"0xe28b3b32b6c345a34ff64674606124dd5aceca30":{"storage_read":["0x35e2dbcb879914608e443a59aa2941034fe696341e48a6b52c842a983a869476","0xe59ea70579fc940d336c4140ab7c25fbeca09fc5009ad018e4cfb2ee22e47a67"],"storage_written":{"0xe59ea70579fc940d336c4140ab7c25fbeca09fc5009ad018e4cfb2ee22e47a67":"0x5ca05f6c998b7a40e62","0x35e2dbcb879914608e443a59aa2941034fe696341e48a6b52c842a983a869476":"0x0"},"code_usage":{"read":"0x2860075dbbe8adda4739434d6accb0f815f6c16d66c1334920c2dde5cdf67f48"}},"0xe6bd210394c8256844696c0649852b8914b86ea2":{"balance":"0x8b62adf35d1d","nonce":"0x1"}},"meta":{"byte_code":"0x02f8b00180843b9aca00850280bffb808287e594e28b3b32b6c345a34ff64674606124dd5aceca3080b844a9059cbb000000000000000000000000a9d1e08c7793af67e9d92fe308d5697fb81d3e4300000000000000000000000000000000000000000000002942b417e5c3a38000c001a0bd032b044aefd591dee0fd08304d04efec71691ddd02d1584c36e510d5a4ff26a03d89748ad163ce88541fbaff3a95130d1a7b2ec6540a5a31a5faac0906fb48dd","new_txn_trie_node_byte":"0x02f8b00180843b9aca00850280bffb808287e594e28b3b32b6c345a34ff64674606124dd5aceca3080b844a9059cbb000000000000000000000000a9d1e08c7793af67e9d92fe308d5697fb81d3e4300000000000000000000000000000000000000000000002942b417e5c3a38000c001a0bd032b044aefd591dee0fd08304d04efec71691ddd02d1584c36e510d5a4ff26a03d89748ad163ce88541fbaff3a95130d1a7b2ec6540a5a31a5faac0906fb48dd","new_receipt_trie_node_byte":"0xb901ab02f901a70183a3195cb9010000000000000000000000000000000800000000010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000008000000000000000000000000000000000000001000000000000000000000000000000800000000000000000000000010000000000000000000000000008000000000000000000000000008000000000000000000001000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94e28b3b32b6c345a34ff64674606124dd5aceca30f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e6bd210394c8256844696c0649852b8914b86ea2a0000000000000000000000000a9d1e08c7793af67e9d92fe308d5697fb81d3e43a000000000000000000000000000000000000000000000002942b417e5c3a38000","gas_used":29985}},{"traces":{"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0xe776725de2b30f17a62c784b15b8fbb51b76ade6c45f71602b783fda731a693a","0xac5d343e996572063664b7745eb7b38ba00700468c7acbf69c8b6162e2716722","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"],"storage_written":{"0xac5d343e996572063664b7745eb7b38ba00700468c7acbf69c8b6162e2716722":"0x53dbdea5709b","0xe776725de2b30f17a62c784b15b8fbb51b76ade6c45f71602b783fda731a693a":"0x0"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dacb54ff4e9b906"},"0x660a95643dc215f714becfc3335b8c15d131643c":{"balance":"0xb12b7285c808","nonce":"0x3"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}}},"meta":{"byte_code":"0x02f8b00102843b9aca00850280bffb8082b2be94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000a9d1e08c7793af67e9d92fe308d5697fb81d3e43000000000000000000000000000000000000000000000000000000012a05f200c080a0eb34b89ed5d739c4de008b484788ccfee9a368f53f8d49f2de9e2ee38d9c85f5a01e43692d8bbb7765a2c6f855d37e9ce0f7539cebfac37e4d590fee6e18cef2dd","new_txn_trie_node_byte":"0x02f8b00102843b9aca00850280bffb8082b2be94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000a9d1e08c7793af67e9d92fe308d5697fb81d3e43000000000000000000000000000000000000000000000000000000012a05f200c080a0eb34b89ed5d739c4de008b484788ccfee9a368f53f8d49f2de9e2ee38d9c85f5a01e43692d8bbb7765a2c6f855d37e9ce0f7539cebfac37e4d590fee6e18cef2dd","new_receipt_trie_node_byte":"0xb901ab02f901a70183a3b704b9010000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000800008000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000082000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000660a95643dc215f714becfc3335b8c15d131643ca0000000000000000000000000a9d1e08c7793af67e9d92fe308d5697fb81d3e43a0000000000000000000000000000000000000000000000000000000012a05f200","gas_used":40360}},{"traces":{"0x8f8097a2af8ecb317f05ff284069afaa87763952":{"balance":"0xd4490b5d62afe254","nonce":"0x18ac4"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dacd046afd10f06"},"0xcc8fa225d80b9c7d42f96e9570156c65d6caaa25":{"storage_read":["0x0923415f30b65598b5baebe78071e87a09bb6c365d292390b52ebf7597185020","0x222db22369476ec2d6e3ff9c2862a8c717fd3028b1dda8c87600457fea0b1d74"],"storage_written":{"0x0923415f30b65598b5baebe78071e87a09bb6c365d292390b52ebf7597185020":"0x0","0x222db22369476ec2d6e3ff9c2862a8c717fd3028b1dda8c87600457fea0b1d74":"0x7bbbb"},"code_usage":{"read":"0xb11c417edea72fdccdbb980797d15dabd3c636777108941de953606d739c6a59"}}},"meta":{"byte_code":"0x02f8b40183018ac3843b9aca0085746a52880083030d4094cc8fa225d80b9c7d42f96e9570156c65d6caaa2580b844a9059cbb00000000000000000000000021375e8ff94a9acad555e0d8a4f17c69c5e33bd5000000000000000000000000000000000000000000000000000000000004d364c080a0a4936cde7154d58717f69fab34dc3ced2054b685e9ef3f355255a514e739bd01a07120881161b5e15f1a93f8dcb8e56bbb2eedde5f55fd66770ddbad5bcc48bf82","new_txn_trie_node_byte":"0x02f8b40183018ac3843b9aca0085746a52880083030d4094cc8fa225d80b9c7d42f96e9570156c65d6caaa2580b844a9059cbb00000000000000000000000021375e8ff94a9acad555e0d8a4f17c69c5e33bd5000000000000000000000000000000000000000000000000000000000004d364c080a0a4936cde7154d58717f69fab34dc3ced2054b685e9ef3f355255a514e739bd01a07120881161b5e15f1a93f8dcb8e56bbb2eedde5f55fd66770ddbad5bcc48bf82","new_receipt_trie_node_byte":"0xb901ab02f901a70183a42ad3b9010000000000000000040000000040000000000000000000000000000000000000000000100000000000000000000000000000000080000000000000000000000000000000000000000000000008000000000000000000200000000000000000000000000000000200000000000000000000000000000000800000000010000000000000000004000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94cc8fa225d80b9c7d42f96e9570156c65d6caaa25f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008f8097a2af8ecb317f05ff284069afaa87763952a000000000000000000000000021375e8ff94a9acad555e0d8a4f17c69c5e33bd5a0000000000000000000000000000000000000000000000000000000000004d364","gas_used":29647}},{"traces":{"0xd76c7ccad366aa9ca16efb2b528438ce2926be41":{"balance":"0x9ba488f62700f","nonce":"0x1"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dacf0a291791d06"},"0x4e15361fd6b4bb609fa63c81a2be19d873717870":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000d","0x63795560e28f63c260a713abd610a438291b379406dade8964266471e8f92562","0x0447e2a105c5577b4657f1e4eab22fa64234d05f39e95a284daafb141eff9f8b","0x2f4e92dfbefa6a926ff4d1aa8335814441ecb9b070731c5698f0a08626d94a2c"],"storage_written":{"0x2f4e92dfbefa6a926ff4d1aa8335814441ecb9b070731c5698f0a08626d94a2c":"0xe249e56a69b2b171b03","0x0447e2a105c5577b4657f1e4eab22fa64234d05f39e95a284daafb141eff9f8b":"0x0"},"code_usage":{"read":"0x6ce012c476ddacfd956ad7a37dbe459005ccdd2c80e3def91243b650b399ad49"}}},"meta":{"byte_code":"0x02f8b00180843b9aca00850204d0644f82bd8e944e15361fd6b4bb609fa63c81a2be19d87371787080b844a9059cbb000000000000000000000000ebc18d25d8122da21f73a6bcb78971671f21f6ff0000000000000000000000000000000000000000000000ec33446e0ee1b28000c080a0af3beffe1fd6d2984026f2c0cae389f1eedd94d3c3306dafd1fcfd8c2917def1a057623350de40f31c76b1549e518fcfcd6ffcd5cb6defbbd7e18520efb7095494","new_txn_trie_node_byte":"0x02f8b00180843b9aca00850204d0644f82bd8e944e15361fd6b4bb609fa63c81a2be19d87371787080b844a9059cbb000000000000000000000000ebc18d25d8122da21f73a6bcb78971671f21f6ff0000000000000000000000000000000000000000000000ec33446e0ee1b28000c080a0af3beffe1fd6d2984026f2c0cae389f1eedd94d3c3306dafd1fcfd8c2917def1a057623350de40f31c76b1549e518fcfcd6ffcd5cb6defbbd7e18520efb7095494","new_receipt_trie_node_byte":"0xb901ab02f901a70183a4b5ceb9010000000000000000040000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000008000000000000000000001000040000000000000000000000000000000000000000000000000000000000040000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000001000000000000000000004000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b944e15361fd6b4bb609fa63c81a2be19d873717870f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d76c7ccad366aa9ca16efb2b528438ce2926be41a0000000000000000000000000ebc18d25d8122da21f73a6bcb78971671f21f6ffa00000000000000000000000000000000000000000000000ec33446e0ee1b28000","gas_used":35579}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dad03bc03036d06"},"0x5dfee43692347be378537e1b30d33c4820d91905":{"balance":"0x6dae556b8ac0f6f1"},"0x963737c550e70ffe4d59464542a28604edb2ef9a":{"balance":"0xf7109a02fc312365f","nonce":"0x99bec"}},"meta":{"byte_code":"0x02f8760183099beb843b9aca008502325c46d8825208945dfee43692347be378537e1b30d33c4820d919058807ae647c7a13f40080c080a0d2a11d2457b6a1a982cb34508b1b63e9959a43fa507dad6db55a82fe87936a88a072d858627698d30237204c053192fa4f811365adeca55c6e2390c41c1a287842","new_txn_trie_node_byte":"0x02f8760183099beb843b9aca008502325c46d8825208945dfee43692347be378537e1b30d33c4820d919058807ae647c7a13f40080c080a0d2a11d2457b6a1a982cb34508b1b63e9959a43fa507dad6db55a82fe87936a88a072d858627698d30237204c053192fa4f811365adeca55c6e2390c41c1a287842","new_receipt_trie_node_byte":"0xb9010d02f901090183a507d6b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x94909075a7a1d0919724de8e46f3beb9f746b90b":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000a":"0xfb9a7fef52e5840d151fafe35baa7de04","0x0000000000000000000000000000000000000000000000000000000000000009":"0x2a6c9e26536e3ee8d6e256ce18cf65fc8","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf300000000000036e1b6d72653e19d0000000000016a6ef3aff3952144"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24394729f77ea8e09ce7e","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0xb2d8e4a21fe21af8f93a7d99ef4f20e3f650c508f536a60e513fe9dc0a0ef7ec","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa"],"storage_written":{"0xb2d8e4a21fe21af8f93a7d99ef4f20e3f650c508f536a60e513fe9dc0a0ef7ec":"0x36e1b6d72653e19d","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa":"0x9f57e2f7e759aaf"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x0000000000000000000000000000000000000001":{},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0x3891b58e72edb4e321fa4e62da4c289f9cd7c56f7c09e1f38376090e0f8c5259"],"storage_written":{"0x3891b58e72edb4e321fa4e62da4c289f9cd7c56f7c09e1f38376090e0f8c5259":"0x1000066af67d4ffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0x4e0a23e7230529f8ed372168d17409cb9af8ea70":{"storage_read":["0x15cc1d813a5ec2cd14b55695fd78662374cef0c80169d6460c5f73d59a5e416e","0x000000000000000000000000000000000000000000000000000000000000000e","0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000011","0x3fb9214abc5f9d564f4eb2934f0944cf0c2d0043820360603e3e3fee8fe6103b","0x66726278b96c3a5f3c4b9ab99d191c1b1bdf617f94cfb791b75fb23e553acd4c","0x0000000000000000000000000000000000000000000000000000000000000000","0x4ca4c87649a37bc677df65c312cafcae01a76fbcafe732235ecb2afb24ae8069","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000014","0x0000000000000000000000000000000000000000000000000000000000000009","0xe322d8eab25b7185c32c2db13643238d3432f078cb79cac944b3e7a00b5a0571","0x28a0d6916d97b4e1f82ed54089c77049d6f0b4ce9483c65d3af405d77024e75d"],"storage_written":{"0x66726278b96c3a5f3c4b9ab99d191c1b1bdf617f94cfb791b75fb23e553acd4c":"0x16a6ef3aff3952144","0x3fb9214abc5f9d564f4eb2934f0944cf0c2d0043820360603e3e3fee8fe6103b":"0x0","0x28a0d6916d97b4e1f82ed54089c77049d6f0b4ce9483c65d3af405d77024e75d":"0xfffffffffffffffffffffffffffffffffffffffffffffffff9bcb2421b2fb1ae"},"code_usage":{"read":"0x88fbebbbb50043d97d544fd2ef1c252e9e92fcbc668a18e66e4479c3161877b9"}},"0x414ca9cfc5cdea4f52a2d3f5a2992763aee40edd":{"balance":"0x21bf8df8516fce8","nonce":"0x2a"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dadb89b0ab84906"},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}}},"meta":{"byte_code":"0x02f905320129843b9aca008501d01a603183043c89943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd3300000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000001600000000000000000000000004e0a23e7230529f8ed372168d17409cb9af8ea70000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af67d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e1dc00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000004186e91ae1857e358c2ec60e107f0f3f342befcd0168c6ca27819359d780b17e1b0920bef12dfd14c587c13bdb434ed4deef8dd1abfbd3043a918366a07bab1f711c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006434dbde4d04e5100000000000000000000000000000000000000000000000000ef8efde8be2f1b00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000004e0a23e7230529f8ed372168d17409cb9af8ea70000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000eef5aca266ab25c080a02f487fab85e9e4c14217a22fb2d1f8d255e47792d1d3374807cc392de8feabdda022477f0def559777ff6bd7a3d7b9d6a152e80f5831d550ecbfcd280f6159c759","new_txn_trie_node_byte":"0x02f905320129843b9aca008501d01a603183043c89943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd3300000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000001600000000000000000000000004e0a23e7230529f8ed372168d17409cb9af8ea70000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af67d400000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e1dc00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000004186e91ae1857e358c2ec60e107f0f3f342befcd0168c6ca27819359d780b17e1b0920bef12dfd14c587c13bdb434ed4deef8dd1abfbd3043a918366a07bab1f711c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006434dbde4d04e5100000000000000000000000000000000000000000000000000ef8efde8be2f1b00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000004e0a23e7230529f8ed372168d17409cb9af8ea70000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000eef5aca266ab25c080a02f487fab85e9e4c14217a22fb2d1f8d255e47792d1d3374807cc392de8feabdda022477f0def559777ff6bd7a3d7b9d6a152e80f5831d550ecbfcd280f6159c759","new_receipt_trie_node_byte":"0xb9067702f906730183a810acb9010050210000000000000000000080000000000000000000000000000000000000000000000000000000000002000000000002010008880000000000000002280000000000080000000000004088000000200000000000400800080000000020000000000000000000200000000000000000000000000000040000000010000000404000004000000000000000000020000000000000000000080000004000000000020004004000000100000000000000000408000000000000000000000000000000000002000000000000000000000000000000000000001000000002000000000010200008000000000000000000000000001000000000800000000000000480f90568f8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca0000000000000000000000000414ca9cfc5cdea4f52a2d3f5a2992763aee40edda00000000000000000000000004e0a23e7230529f8ed372168d17409cb9af8ea70a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af67d40000000000000000000000000000000000000000000000000000000000000000f89b944e0a23e7230529f8ed372168d17409cb9af8ea70f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000414ca9cfc5cdea4f52a2d3f5a2992763aee40edda000000000000000000000000094909075a7a1d0919724de8e46f3beb9f746b90ba000000000000000000000000000000000000000000000000006434dbde4d04e51f89b944e0a23e7230529f8ed372168d17409cb9af8ea70f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000414ca9cfc5cdea4f52a2d3f5a2992763aee40edda0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0fffffffffffffffffffffffffffffffffffffffffffffffff9bcb2421b2fb1aef89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000094909075a7a1d0919724de8e46f3beb9f746b90ba00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000f64f23b68eed43f8799494909075a7a1d0919724de8e46f3beb9f746b90be1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000016a6ef3aff395214400000000000000000000000000000000000000000000000036e1b6d72653e19df8fc9494909075a7a1d0919724de8e46f3beb9f746b90bf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000000000006434dbde4d04e510000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f64f23b68eed43f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca000000000000000000000000000000000000000000000000000009da34a0e6ff4f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000f5b1806c807d4f","gas_used":198870}},{"traces":{"0x8a867156809cc7752e36f353e0066d1fe20f295f":{"balance":"0x5edf7e963d5c5d"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7dadcbb47c429906"},"0x3a032eff9510599969e5d1ceb181b087254bb956":{"balance":"0x12ebc1359acde8","nonce":"0x1"}},"meta":{"byte_code":"0x02f8720180843b9aca008501d01a6031825208948a867156809cc7752e36f353e0066d1fe20f295f8758d15e1762800080c080a01fc4d475800dfae3999e2d9ad03d726a6abd358da38bfac7b111ee5f3840eb8fa04fd4353b13fd9c18f00d17c2c476b6f51596ee79f45e76d9e8e468f22f957122","new_txn_trie_node_byte":"0x02f8720180843b9aca008501d01a6031825208948a867156809cc7752e36f353e0066d1fe20f295f8758d15e1762800080c080a01fc4d475800dfae3999e2d9ad03d726a6abd358da38bfac7b111ee5f3840eb8fa04fd4353b13fd9c18f00d17c2c476b6f51596ee79f45e76d9e8e468f22f957122","new_receipt_trie_node_byte":"0xb9010d02f901090183a862b4b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x0000000000000000000000000000000000000001":{},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x2f7138a2bcff5ded200fcea415199ffdf479215bbdd2fdb9cac71384bfd5d870","0x2a306d7595987ab10375e6e054d7489cc80c1cf5351587e21ffbd126573f06c6"],"storage_written":{"0x2a306d7595987ab10375e6e054d7489cc80c1cf5351587e21ffbd126573f06c6":"0x3b14362c8c18ba1ee3","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x2f7138a2bcff5ded200fcea415199ffdf479215bbdd2fdb9cac71384bfd5d870":"0x4bf677f689ae7100"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xd06ef82a07326a6e964ce1700825547c428fbc96deb2e33e7e20498001080d7d","0xe9dd4de04638d36bdae47aa8f305bf947e6a9e14fa5862eaa5293de32c2ffd9f","0x7a464961c125fc990109c53fc6324f805cc788adf74934778792f1f7cfd292ba","0x000000000000000000000000000000000000000000000000000000000000000a","0x485c151f646ee015010d293862658dc47c828088bd28e4735650f01ee0ca233e","0x6e483ffc2384d2d2357812d7e3ba6785be00c114086905577f3f1a14f81f894b","0x19b9f7be1be4e06a1a626aa4e4e06bdca87649f659269c88cd1994732bb7a493"],"storage_written":{"0xe9dd4de04638d36bdae47aa8f305bf947e6a9e14fa5862eaa5293de32c2ffd9f":"0x8e7daabd","0xd06ef82a07326a6e964ce1700825547c428fbc96deb2e33e7e20498001080d7d":"0x2f12418fd9","0x485c151f646ee015010d293862658dc47c828088bd28e4735650f01ee0ca233e":"0x0","0x19b9f7be1be4e06a1a626aa4e4e06bdca87649f659269c88cd1994732bb7a493":"0xb069c05b"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daed07c3fa94706"},"0x3c571e3d3be1c50e35453bb46c628100822a8195":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0xded2e98f3ca583323b74cb7744","0x000000000000000000000000000000000000000000000000000000000000000a":"0xf33ffb4038285f16464d33300ea342a1f38a4","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf30000000000004bf677f689ae71000000000b69daec41654a8f758705"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0x1038b66b66e5076fb806fb0aaa83c69fdc00b591ee6184fc63daeda5318e96e3"],"storage_written":{"0x1038b66b66e5076fb806fb0aaa83c69fdc00b591ee6184fc63daeda5318e96e3":"0x1000066af67e8ffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000001","0xb1fbb53e0c0bd24c4ccb98c6765e13ea2ec793249e0bd19913621f1dc0379e6c","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x10065520c000028ed496c173ba682de08d17bc20bfff73d3ac84d006687daf3","0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000fd0098000000000000000000038dcc95354c9042159cca","0x0000000000000000000000000000000000000000000000000000000000000001":"0x3330c003439efc5f1c87fd30172a7c418b0"},"code_usage":{"read":"0x61bb013bc7f8bed8e3c050464e93985787d254f4236d2e3ef846700c07e00aed"}},"0x72b00e483a0ec40634f47043d3190be6ac210072":{"storage_read":["0x969cd63422d65634e6852cc53a34addb6b49c3c16f778e800fa5f8c1c7f8830d","0xd63133114f61dfb5ad7bc52dced5bf34b025c88b01a536a7903edc9184503287","0x0000000000000000000000000000000000000000000000000000000000000005","0x000000000000000000000000000000000000000000000000000000000000000a","0x3bc100b860cb2658b765adb5c92ee268f922716bd80dd78c6b2fb4928dc85bb5","0x22c6dbcbb8501ced661edf28ee23cf1b9c24cc74dc6685e6a94ac3d3d0a7e1b3","0x0000000000000000000000000000000000000000000000000000000000000013","0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000010"],"storage_written":{"0xd63133114f61dfb5ad7bc52dced5bf34b025c88b01a536a7903edc9184503287":"0xfffffffffffffffffffffffffffffffffffffffffffe8461ca47bbbff8449f1f","0x22c6dbcbb8501ced661edf28ee23cf1b9c24cc74dc6685e6a94ac3d3d0a7e1b3":"0xb69daec41654a8f758705","0x969cd63422d65634e6852cc53a34addb6b49c3c16f778e800fa5f8c1c7f8830d":"0x0"},"code_usage":{"read":"0x4b214c4a4c011257fb322b41977988535d2624d220c226f13bcec1d035430e93"}},"0xf09371ffba184912474fd7775db93c6d96911f6a":{"balance":"0xc2f0f4f6eaa6fe","nonce":"0x12"}},"meta":{"byte_code":"0x02f906920111843b9aca008501d01a60318306237f943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b906243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dc1300000000000000000000000000000000000000000000000000000000000000050a08000604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000072b00e483a0ec40634f47043d3190be6ac210072000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af67e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e1f000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041ffe4775bc0f2d4fcd0a2882f02164d59fd6446759c9faf5bd88b1daf7f1f15c23260d5c0f7800a494d13f5290f56b2bdbad4c91b91be84f57de2b2fb2cdce94c1c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000017b9e35b8444007bb60e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000072b00e483a0ec40634f47043d3190be6ac210072000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e39f82100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000008e39f821c001a088a98312c5ace1ea02e68d0e800146d7a51d4e1ad277babaa576aaa6ff885f34a008e1655bab214284cad856656228701ed332cbd1f473de6a09e89607978a5c20","new_txn_trie_node_byte":"0x02f906920111843b9aca008501d01a60318306237f943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b906243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dc1300000000000000000000000000000000000000000000000000000000000000050a08000604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004e0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000072b00e483a0ec40634f47043d3190be6ac210072000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af67e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e1f000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041ffe4775bc0f2d4fcd0a2882f02164d59fd6446759c9faf5bd88b1daf7f1f15c23260d5c0f7800a494d13f5290f56b2bdbad4c91b91be84f57de2b2fb2cdce94c1c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000017b9e35b8444007bb60e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000072b00e483a0ec40634f47043d3190be6ac210072000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008e39f82100000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000064dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000008e39f821c001a088a98312c5ace1ea02e68d0e800146d7a51d4e1ad277babaa576aaa6ff885f34a008e1655bab214284cad856656228701ed332cbd1f473de6a09e89607978a5c20","new_receipt_trie_node_byte":"0xb908f102f908ed0183acc2bfb90100082102000000000004000000800000000800000000400000000000000000000000000000000040000000000000000100020100008800200000810000002802004000000800000008000040080000002000000010000008000000000000200000000000000020002000000000000000000000000000000000000000100008000000000040000000000000000000200000000000001000000800000040001000000a0080000000000000000080000080000400000000000000000000000000000000000002000008000000000000000800000000000000001000000000000000020010200000000000000000000000000000201000000000800000000001000400f907e2f8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca0000000000000000000000000f09371ffba184912474fd7775db93c6d96911f6aa000000000000000000000000072b00e483a0ec40634f47043d3190be6ac210072a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af67e80000000000000000000000000000000000000000000000000000000000000000f89b9472b00e483a0ec40634f47043d3190be6ac210072f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f09371ffba184912474fd7775db93c6d96911f6aa00000000000000000000000003c571e3d3be1c50e35453bb46c628100822a8195a0000000000000000000000000000000000000000000017b9e35b8444007bb60e0f89b9472b00e483a0ec40634f47043d3190be6ac210072f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000f09371ffba184912474fd7775db93c6d96911f6aa0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0fffffffffffffffffffffffffffffffffffffffffffe8461ca47bbbff8449f1ff89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003c571e3d3be1c50e35453bb46c628100822a8195a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000b4f1eda6ae65ae8f879943c571e3d3be1c50e35453bb46c628100822a8195e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000b69daec41654a8f7587050000000000000000000000000000000000000000000000004bf677f689ae7100f8fc943c571e3d3be1c50e35453bb46c628100822a8195f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb880000000000000000000000000000000000000000000017b9e35b8444007bb60e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b4f1eda6ae65ae8f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9ba00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000000000000008ed916f4f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9ba00000000000000000000000000000000000000000000000000b4f1eda6ae65ae8f9011c94c7bbec68d12a0d1830360f8ec58fa599ba1b0e9bf863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8a00000000000000000000000000000000000000000000000000b4f1eda6ae65ae8ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7126e90c000000000000000000000000000000000000000000038dcc95354c9042159cca0000000000000000000000000000000000000000000000000356528dca37801bfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0098f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca000000000000000000000000000000000000000000000000000000000005b6c37f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000f09371ffba184912474fd7775db93c6d96911f6aa0000000000000000000000000000000000000000000000000000000008e7daabd","gas_used":286731}},{"traces":{"0x43185adf4005d7045f99b7f7e08e62680980f14c":{"balance":"0x8f5967ee0798dd2"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daee30302467b06"},"0x8e95ea3fae208178638f2ee17d90a2fd828e36a6":{"balance":"0x47390787893ca8","nonce":"0x8"}},"meta":{"byte_code":"0x02f87301078439d1068085023b96d9d88252089443185adf4005d7045f99b7f7e08e62680980f14c8808d73ddd6bb765ba80c080a099937ee2b38edfc1bfb53fda2b6d2f81180827929a7b4576ee6ec7ae5d09c227a068be54175603baadd0a9b5acac333a6638083e82661a712ed50e1a4a53fabeb4","new_txn_trie_node_byte":"0x02f87301078439d1068085023b96d9d88252089443185adf4005d7045f99b7f7e08e62680980f14c8808d73ddd6bb765ba80c080a099937ee2b38edfc1bfb53fda2b6d2f81180827929a7b4576ee6ec7ae5d09c227a068be54175603baadd0a9b5acac333a6638083e82661a712ed50e1a4a53fabeb4","new_receipt_trie_node_byte":"0xb9010d02f901090183ad14c7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x6a34df061f5e576a3d995c82902f46e2c62cb2c1":{"balance":"0x7fac404ff1aab","nonce":"0x1"},"0x80c67432656d59144ceff962e8faf8926599bcf8":{"balance":"0x3a6ae26efa68caea5"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daef589c4e3af06"}},"meta":{"byte_code":"0x02f87301808439d1068085023b96d9d88252089480c67432656d59144ceff962e8faf8926599bcf888018505ab7ae7e33d80c080a07320c12a8e6fefd37ddfa4ca4501addc1df10ba6c66f3c58f3d3b60f90ee3a4ba05cf670445f362b5eaf3b1f83de4eb365bcb2f13dd72df1601a07d11f80ba86bb","new_txn_trie_node_byte":"0x02f87301808439d1068085023b96d9d88252089480c67432656d59144ceff962e8faf8926599bcf888018505ab7ae7e33d80c080a07320c12a8e6fefd37ddfa4ca4501addc1df10ba6c66f3c58f3d3b60f90ee3a4ba05cf670445f362b5eaf3b1f83de4eb365bcb2f13dd72df1601a07d11f80ba86bb","new_receipt_trie_node_byte":"0xb9010d02f901090183ad66cfb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x375abb85c329753b1ba849a601438ae77eec9893":{"storage_read":["0x0efb2394cf0d13bc01658d38734d11e35885ca7d812fa694ce989ced6ddd2b73","0x3b187bb3a01f0229a841ab7cba89602ba5536fb7e62e26285c25060abe355c24"],"storage_written":{"0x3b187bb3a01f0229a841ab7cba89602ba5536fb7e62e26285c25060abe355c24":"0x8ac7230489e80000","0x0efb2394cf0d13bc01658d38734d11e35885ca7d812fa694ce989ced6ddd2b73":"0x956a1b42c3595e689303"},"code_usage":{"read":"0x597349c8c9d073c2ec437300f14c0d0229d03df7b4d1302096767f2bb214e8f6"}},"0x223041e924e0042772f3da12489c232d79ce3b88":{"balance":"0x5b2951a158c17a1","nonce":"0x140"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daf2304cb31a586"}},"meta":{"byte_code":"0x02f8b30182013f8439d1068085023b96d9d88301305f94375abb85c329753b1ba849a601438ae77eec989380b844a9059cbb00000000000000000000000087fa2107f1c0916848d9df23d6c085e157a3550d0000000000000000000000000000000000000000000000008ac7230489e80000c001a0351cba67ad31abf5535a5d666d0570a887f0120303f50d5103c9ac412118447aa0212a905159e2a9b2ded12762835174facb54abfafc29a8bfbe33aa86f7a083a0","new_txn_trie_node_byte":"0x02f8b30182013f8439d1068085023b96d9d88301305f94375abb85c329753b1ba849a601438ae77eec989380b844a9059cbb00000000000000000000000087fa2107f1c0916848d9df23d6c085e157a3550d0000000000000000000000000000000000000000000000008ac7230489e80000c001a0351cba67ad31abf5535a5d666d0570a887f0120303f50d5103c9ac412118447aa0212a905159e2a9b2ded12762835174facb54abfafc29a8bfbe33aa86f7a083a0","new_receipt_trie_node_byte":"0xb901ab02f901a70183ae3030b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000002000000000000004000000000000000000000000000000000002000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000800000000000000001000000000800000000000000002000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000800000000000000000f89df89b94375abb85c329753b1ba849a601438ae77eec9893f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000223041e924e0042772f3da12489c232d79ce3b88a000000000000000000000000087fa2107f1c0916848d9df23d6c085e157a3550da00000000000000000000000000000000000000000000000008ac7230489e80000","gas_used":51553}},{"traces":{"0x12853c21687dc99f1c1ff5b4554686470482a63b":{"balance":"0x14a4b989d8f6fcfb","nonce":"0x4"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daf4ee7b712ba86"},"0xb100d2e293291e426fceee8bece33b9def1a4379":{"storage_read":["0x27a837ffa9637beafd30241ada4da966b7843f77de50fbfc20bf209b0f4869f7","0xa2c58db7096b5cdc56ce178138f46807b12873cc5d8a844541c3b83322e51a0d","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0xa2c58db7096b5cdc56ce178138f46807b12873cc5d8a844541c3b83322e51a0d":"0x2d79883d20000","0x27a837ffa9637beafd30241ada4da966b7843f77de50fbfc20bf209b0f4869f7":"0x0"},"code_usage":{"read":"0x016016ea68836a36769cd43e35426f0596aa5b6c5400a36152705538825be4ed"}}},"meta":{"byte_code":"0x02f8b101038439d1068085023b96d9d88301442594b100d2e293291e426fceee8bece33b9def1a437980b844a9059cbb000000000000000000000000b100d2e293291e426fceee8bece33b9def1a43790000000000000000000000000000000000000000000000000002d79883d20000c080a015edcc2b6b88361f78686a594a729d41a96a82db3d74c617da8cc6bbcf4e861fa0090bf7cb0136f44e9db87b7cac7e3eead9e896b6383f930d01837f5747e00fa4","new_txn_trie_node_byte":"0x02f8b101038439d1068085023b96d9d88301442594b100d2e293291e426fceee8bece33b9def1a437980b844a9059cbb000000000000000000000000b100d2e293291e426fceee8bece33b9def1a43790000000000000000000000000000000000000000000000000002d79883d20000c080a015edcc2b6b88361f78686a594a729d41a96a82db3d74c617da8cc6bbcf4e861fa0090bf7cb0136f44e9db87b7cac7e3eead9e896b6383f930d01837f5747e00fa4","new_receipt_trie_node_byte":"0xb901ab02f901a70183aef282b9010000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000008000000000000000000000000000000000000000000000000800000000000000000000000000000000040000000000010000000000000000000000000000000000000000000000100000000000000002000000000000000000000400000000000000000000000000000000000000000000400000000000002000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94b100d2e293291e426fceee8bece33b9def1a4379f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000012853c21687dc99f1c1ff5b4554686470482a63ba0000000000000000000000000b100d2e293291e426fceee8bece33b9def1a4379a00000000000000000000000000000000000000000000000000002d79883d20000","gas_used":49746}},{"traces":{"0x34a0c49e2cc48be8e68ba2cf184b02755c6c5df7":{"balance":"0x1b037d0d4af800"},"0x2f39881d7fb1026af43d51ce859cd9b85a85a71e":{"balance":"0x3b8a18ed4781f","nonce":"0x10"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daf616e79afee86"}},"meta":{"byte_code":"0x02f872010f8439d1068085023b96d9d88252089434a0c49e2cc48be8e68ba2cf184b02755c6c5df7871b037d0d4af80080c001a0731c25630dbc326bae561443991d76591b9eda9be6ec2e572a71482d61ca473ca06097dcd1f53832fd4a00e3512b6aaf6e9d14f0ae839993c989a8bd328eadcb0d","new_txn_trie_node_byte":"0x02f872010f8439d1068085023b96d9d88252089434a0c49e2cc48be8e68ba2cf184b02755c6c5df7871b037d0d4af80080c001a0731c25630dbc326bae561443991d76591b9eda9be6ec2e572a71482d61ca473ca06097dcd1f53832fd4a00e3512b6aaf6e9d14f0ae839993c989a8bd328eadcb0d","new_receipt_trie_node_byte":"0xb9010d02f901090183af448ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xf6fc9a31e1b1b97a9ce6c0e699398f551a4fb6be":{"balance":"0x524c791c6eab","nonce":"0xa"},"0x5e809a85aa182a9921edd10a4163745bb3e36284":{"balance":"0x2627c307e18bf5614"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daf73f53c4d2286"}},"meta":{"byte_code":"0x02f87201098439d1068085023b96d9d8825208945e809a85aa182a9921edd10a4163745bb3e362848719b08e625ef00680c001a0a4a04c173add041b6adafe2c3e35d83b7d8c4c1d69a9446ae01085f3493f99b8a051b078b65d444a0a06b8b07afae98050c4c9aca1bf7b359b9e15331e3f84aa16","new_txn_trie_node_byte":"0x02f87201098439d1068085023b96d9d8825208945e809a85aa182a9921edd10a4163745bb3e362848719b08e625ef00680c001a0a4a04c173add041b6adafe2c3e35d83b7d8c4c1d69a9446ae01085f3493f99b8a051b078b65d444a0a06b8b07afae98050c4c9aca1bf7b359b9e15331e3f84aa16","new_receipt_trie_node_byte":"0xb9010d02f901090183af9692b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x75599d837135b3848f76a8b76b96e7b3b024d9a6":{"balance":"0x1d8efef488000"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daf867bfeea5686"},"0x69ad87c944c075e94d382b1cfa2b5e5f331915ca":{"balance":"0x98b9f5b72225","nonce":"0x8"}},"meta":{"byte_code":"0x02f87201078439d1068085023b96d9d8827b0c9475599d837135b3848f76a8b76b96e7b3b024d9a68701d8efef48800080c001a0d19698a8450209748938d433d7c2a63daa3e155355dc51cf3e5d656e4fade4b8a01e15f798bd1d3be10cdb97929e2203601a73563a01d83efa12ee7946f21220c1","new_txn_trie_node_byte":"0x02f87201078439d1068085023b96d9d8827b0c9475599d837135b3848f76a8b76b96e7b3b024d9a68701d8efef48800080c001a0d19698a8450209748938d433d7c2a63daa3e155355dc51cf3e5d656e4fade4b8a01e15f798bd1d3be10cdb97929e2203601a73563a01d83efa12ee7946f21220c1","new_receipt_trie_node_byte":"0xb9010d02f901090183afe89ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x83edda0c31acecaa74a1be10edfe6789abb49825":{"balance":"0x2b22a8073ca8","nonce":"0x13"},"0x71f591c7d6fa998e78cc7f851fe96e251027552a":{"balance":"0x3380778aaafa8f"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7daf9902c1878a86"}},"meta":{"byte_code":"0x02f87201128439d1068085023b96d9d88252089471f591c7d6fa998e78cc7f851fe96e251027552a87331d9af1315f5f80c080a062db4f0938e7afc894faa57f76a515e094275cec152bf0f430316fd249485c50a0668d81a6dd95fa834fd5f2547d0e87b393008b05bd3bea6409a43f66674ca68a","new_txn_trie_node_byte":"0x02f87201128439d1068085023b96d9d88252089471f591c7d6fa998e78cc7f851fe96e251027552a87331d9af1315f5f80c080a062db4f0938e7afc894faa57f76a515e094275cec152bf0f430316fd249485c50a0668d81a6dd95fa834fd5f2547d0e87b393008b05bd3bea6409a43f66674ca68a","new_receipt_trie_node_byte":"0xb9010d02f901090183b03aa2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x483778fefb36bb9b8669ea8d010058fbee07dde2":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000a":"0x50794748e5d2bd34df395d4e885e94ad20a795890","0x0000000000000000000000000000000000000000000000000000000000000009":"0x23d0c3c11056d7b389df0201a18","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf3000000000005b57afb70177ad6e100001dd1aad775d1fed3a1742bb3"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x636bd98fc13908e475f56d8a38a6e03616ec5563":{"storage_read":["0x7812c66d1918944e81773082cdcf4035d8fa7adf59efec4a691672c684646687","0xa9b23354b856090dbd7fa2696ecde47502b8e832234df301a5a248a9e23502f1","0x0000000000000000000000000000000000000000000000000000000000000006","0xc35518babe6f8bb1cb6a000a26facad0f6cec6680a92cc7de8340262070be49c","0x0000000000000000000000000000000000000000000000000000000000000011","0xebb86da8dc331220313e3e1c69c7fa64b0840d0572c96b2b9c0d9118a5953f69","0x3fa3e6233d4a4150ef6221711f60215692b5607d884e8e850c582d0268a7c479","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000005","0xac8d166ac7d59db0aab6655149e788a52d36048f30853abde1b25f6c203709ed","0xce20d2187a50de53ac51cc30b101bce9e1958f8949aca3606169ff72719555ad","0x9c13bfff33926a9a9716a9b4bd8ec916fd01fce33978e32aff9592536e05f6da"],"storage_written":{"0x3fa3e6233d4a4150ef6221711f60215692b5607d884e8e850c582d0268a7c479":"0xe0e1dd8df7fe689ecca3ec","0x7812c66d1918944e81773082cdcf4035d8fa7adf59efec4a691672c684646687":"0xfffffffffffffffffffffffffffffffffffffffffe330789224b892f7c0bc308","0x9c13bfff33926a9a9716a9b4bd8ec916fd01fce33978e32aff9592536e05f6da":"0x1dd1aad775d1fed3a1742bb3"},"code_usage":{"read":"0x4610ba1ae236913f9c436bed4f538b973db2c95a863ac7f75537cfa93b92bf6b"}},"0x279d3064973754920af8790f18e229261d070998":{"balance":"0x7285af9ff767180","nonce":"0x24a"},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0x09392a4c43e3f38b342898e3ef7a5be1dfe06fcbbdc4ab82e3582a69954313de"],"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db026b2b5626706"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243946baf1c90ba57ce7e","storage_read":["0x5b4db9ee385bdbc987021d4133a1dacf1ebe252e14034de11b46adbe944b78ca","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa"],"storage_written":{"0x5b4db9ee385bdbc987021d4133a1dacf1ebe252e14034de11b46adbe944b78ca":"0x5b57afb70177ad6e1","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa":"0x9f9ef0dcc6dbaaf"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}}},"meta":{"byte_code":"0x02f90394018202498439d1068085023b96d9d883037824943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd27000000000000000000000000000000000000000000000000000000000000000309050c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f4cc3821aa20000000000000000000000000000000000000000000002473a0427e89eff372fd9300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000636bd98fc13908e475f56d8a38a6e03616ec5563000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000006f05b59d3b20000c001a0bcfa7392721b0e738e9ad9933b229c5345aca53aa46da645ed9b41ea709fc696a014e4072bcb9ce7dc35cfa910cb761ab971075afc9fe99c8e5c00751225fa4ef4","new_txn_trie_node_byte":"0x02f90394018202498439d1068085023b96d9d883037824943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd27000000000000000000000000000000000000000000000000000000000000000309050c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f4cc3821aa20000000000000000000000000000000000000000000002473a0427e89eff372fd9300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000636bd98fc13908e475f56d8a38a6e03616ec5563000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000006f05b59d3b20000c001a0bcfa7392721b0e738e9ad9933b229c5345aca53aa46da645ed9b41ea709fc696a014e4072bcb9ce7dc35cfa910cb761ab971075afc9fe99c8e5c00751225fa4ef4","new_receipt_trie_node_byte":"0xb9057802f905740183b2adffb9010000200000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000002000000880000000000000000200000000000080000000000044008000000220000000000400800000000100024000000000020000000200000000000000000000000000000040000000010400000400000000000400200000000000020000000000000000000080000004000000000020000000000000000000000000000000000000000000000000008000000000001000002000000000000000000000000000020000000001000000002000000000010200000000000000000000000000000001000000000800000000000000000f90469f89b94636bd98fc13908e475f56d8a38a6e03616ec5563f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000279d3064973754920af8790f18e229261d070998a0000000000000000000000000483778fefb36bb9b8669ea8d010058fbee07dde2a000000000000000000000000000000000000000000024453334274d63ee6ac6d2f89b94636bd98fc13908e475f56d8a38a6e03616ec5563f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000279d3064973754920af8790f18e229261d070998a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0fffffffffffffffffffffffffffffffffffffffffe330789224b892f7c0bc308f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000483778fefb36bb9b8669ea8d010058fbee07dde2a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000006f4cc3821aa2000f87994483778fefb36bb9b8669ea8d010058fbee07dde2e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000001dd1aad775d1fed3a1742bb3000000000000000000000000000000000000000000000005b57afb70177ad6e1f8fc94483778fefb36bb9b8669ea8d010058fbee07dde2f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000024453334274d63ee6ac6d20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f4cc3821aa2000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca0000000000000000000000000000000000000000000000000000470de4df82000f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000006f05b59d3b20000","gas_used":160605}},{"traces":{"0xd9db270c1b5e3bd161e8c8503c55ceabee709552":{"code_usage":{"read":"0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e"}},"0x0dfe40f33ea60424afab92b4b32eee8d253453d6":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000004","0x68fabdfc2e311b8891fcd2142cabe136d3399414a014c652e46b1dffce7913ec","0xc751c6d591e141363991dab9ed393bd0fff04334e207330c1ef78be63aa00540","0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000005":"0x17"},"code_usage":{"read":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000"}},"0xdb031d114c9baff657f5dbde8be48d4191c6714d":{"balance":"0x103ea52e895edd9","nonce":"0x6"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db07cbaf52d7886"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x3b831ab87c7cdb3b497781aad5eaf906fe20344fdc2e50c1cf8bd3eb0d258f8d","0x0000000000000000000000000000000000000000000000000000000000000000","0x8a783d9ded882ff8af89702e872fc14ad81e66995ced364806da5ab9d67c8ab2","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x8afbb66580064d55db449f31baabcc1049c51eade880daaf3a27171bab44a795"],"storage_written":{"0x8afbb66580064d55db449f31baabcc1049c51eade880daaf3a27171bab44a795":"0x174867a5c0","0x3b831ab87c7cdb3b497781aad5eaf906fe20344fdc2e50c1cf8bd3eb0d258f8d":"0xf4240"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x0000000000000000000000000000000000000001":{}},"meta":{"byte_code":"0x02f902f201058439d106808501dcd65000830246c6940dfe40f33ea60424afab92b4b32eee8d253453d680b902846a761202000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000003136cf572c75131f254720300842813c5925159b00000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082190e9535387e92d2fdc4a0e3c6bd5da6fed8713fdfb332147edda4211bb11f740bc9934c1778d1c639aea1eb96e8eaf97cd71df20fcda219f95fda6f3f30aff61c000000000000000000000000db031d114c9baff657f5dbde8be48d4191c6714d000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000c080a05501d9f363cdc1d6264b745a7e1b2a41312b0929b13130a30048d8c8dfb36945a05aecc0a0fc26f36627b7dcb452106b33893e47c12098499510e03a249d3ea1cb","new_txn_trie_node_byte":"0x02f902f201058439d106808501dcd65000830246c6940dfe40f33ea60424afab92b4b32eee8d253453d680b902846a761202000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000003136cf572c75131f254720300842813c5925159b00000000000000000000000000000000000000000000000000000000000f4240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082190e9535387e92d2fdc4a0e3c6bd5da6fed8713fdfb332147edda4211bb11f740bc9934c1778d1c639aea1eb96e8eaf97cd71df20fcda219f95fda6f3f30aff61c000000000000000000000000db031d114c9baff657f5dbde8be48d4191c6714d000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000c080a05501d9f363cdc1d6264b745a7e1b2a41312b0929b13130a30048d8c8dfb36945a05aecc0a0fc26f36627b7dcb452106b33893e47c12098499510e03a249d3ea1cb","new_receipt_trie_node_byte":"0xb9022702f902230183b42aeeb9010000000002400000000000000000000000000000000000000000000000040000000008000000000000000000000000010000000000000010000000000000000000000000000000000000000008000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000004000000000000080000020000000000000000000002000000800000000000000008000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000f90118f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000dfe40f33ea60424afab92b4b32eee8d253453d6a00000000000000000000000003136cf572c75131f254720300842813c5925159ba000000000000000000000000000000000000000000000000000000000000f4240f879940dfe40f33ea60424afab92b4b32eee8d253453d6e1a0442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556eb84074e9f572a1546c699e2b079b19d4ec0b0fdcc3ee41194deac959e3cd5fe6224d0000000000000000000000000000000000000000000000000000000000000000","gas_used":97519}},{"traces":{"0xa63b008674dbb0e93f6da4f346b77c23e365a320":{"balance":"0x1e4922666dc0","nonce":"0x1f"},"0x6785c103bf503fba500cf5a83c2920a645125054":{"balance":"0x1c133cb386bd4fe"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db08f34f41cd356"}},"meta":{"byte_code":"0x02f872011e8439a930da850213553395825208946785c103bf503fba500cf5a83c2920a64512505487a22db784f6b3eb80c001a0872063b7303f28ce44c9f1136718885776cdf51abd560b3ad04f0513967abad0a0049814f41147ea192143566aeee45eb725db7eb6203fff6c131d420ff60c54dd","new_txn_trie_node_byte":"0x02f872011e8439a930da850213553395825208946785c103bf503fba500cf5a83c2920a64512505487a22db784f6b3eb80c001a0872063b7303f28ce44c9f1136718885776cdf51abd560b3ad04f0513967abad0a0049814f41147ea192143566aeee45eb725db7eb6203fff6c131d420ff60c54dd","new_receipt_trie_node_byte":"0xb9010d02f901090183b47cf6b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x5ed2b8972c0fedd538cc63c5c60468ee9026d385":{"balance":"0x256e5ea3babb5","nonce":"0x3"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db0a8b8a09999cc"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x175a7938a895faf16776e97aea2d836a5ac7206dbe4318e594a855077ceb3ecb","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x175a7938a895faf16776e97aea2d836a5ac7206dbe4318e594a855077ceb3ecb":"0x195b7959b388b80000"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}}},"meta":{"byte_code":"0x02f8b001028439a930da85020c65f0a182bc809497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000005ed2b8972c0fedd538cc63c5c60468ee9026d3850000000000000000000000000000000000000000000000195b7959b388b80000c080a0f68de30ee49a57b34b90440c50b53e1d5cf6a4381521ff3560adfb93a33cf937a02f2f3778412553b2f4d92ed058d3d48167e08c7b169bfddcb32c9dda39abcf1d","new_txn_trie_node_byte":"0x02f8b001028439a930da85020c65f0a182bc809497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000005ed2b8972c0fedd538cc63c5c60468ee9026d3850000000000000000000000000000000000000000000000195b7959b388b80000c080a0f68de30ee49a57b34b90440c50b53e1d5cf6a4381521ff3560adfb93a33cf937a02f2f3778412553b2f4d92ed058d3d48167e08c7b169bfddcb32c9dda39abcf1d","new_receipt_trie_node_byte":"0xb901ab02f901a70183b4ee3db9010000002000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000400008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005ed2b8972c0fedd538cc63c5c60468ee9026d385a00000000000000000000000005ed2b8972c0fedd538cc63c5c60468ee9026d385a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":28999}},{"traces":{"0x796592b2092f7e150c48643da19dd2f28be3333f":{"storage_read":["0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x00000000000000000000000000000000000000000000000000000000000000cc","0x00000000000000000000000000000000000000000000000000000000000000cb"],"code_usage":{"read":"0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5"}},"0xcd284a617b4ed7697c2e455d95049c7fc538785c":{"code_usage":{"read":"0x61d24f41aa74f514d976de717a3fba34e47c7f33a1e931749ad06e1fc3c743e1"}},"0x5e6342d8090665be14eeb8154c8a87b7249a4889":{"balance":"0xc79ce3d696086a1c1c","storage_read":["0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"],"code_usage":{"read":"0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db107a7589163b0"},"0xfae103dc9cf190ed75350761e95403b7b8afa6c0":{"storage_read":["0x48beba7036fb2a82c5beaf5286d2fb64ef2d7fefad743ac81b88075a76b4e450","0x0000000000000000000000000000000000000000000000000000000000000099","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000095","0x0000000000000000000000000000000000000000000000000000000000000064"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000064":"0x1be15ee340a2afd3165d","0x0000000000000000000000000000000000000000000000000000000000000099":"0x1bf591ca95a01a44b242","0x48beba7036fb2a82c5beaf5286d2fb64ef2d7fefad743ac81b88075a76b4e450":"0x18cba5b44bbde01"},"code_usage":{"read":"0x6bec2bf64f7e824109f6ed55f77dd7665801d6195e461666ad6a5342a9f6daf5"}},"0x527d6db79bff473b8dd722429bdb3b0c8b855d23":{"code_usage":{"read":"0xb15ea88d460500625acb26506f1a254c748c5f819486654695c956b26642bd21"}},"0x2a41d539d5a599a6ea6a79e32bd047277892ea28":{"code_usage":{"read":"0x645ff30bb0863525909279f43a1d91292d7cb1e127dc846a09235b3a3847ca84"}},"0x66aa28ff415ed66f940ca01e28b13587c48dd0c3":{"balance":"0x155f746bca9216","nonce":"0x1"}},"meta":{"byte_code":"0x02f89801808439a930da8502135533958302328094fae103dc9cf190ed75350761e95403b7b8afa6c088019174e6bb9e8000a4c18d7cb7000000000000000000000000518948e6dae180bba4fdb0f819481d44c317a861c080a0a8337ec4695019ee20548a5ab128af8279e136216360db3e8fcb64faf619ebd1a06f16e5dbe95cfed193c7d2138b6793a6a46c99c5dac17a640f090933dee84ffa","new_txn_trie_node_byte":"0x02f89801808439a930da8502135533958302328094fae103dc9cf190ed75350761e95403b7b8afa6c088019174e6bb9e8000a4c18d7cb7000000000000000000000000518948e6dae180bba4fdb0f819481d44c317a861c080a0a8337ec4695019ee20548a5ab128af8279e136216360db3e8fcb64faf619ebd1a06f16e5dbe95cfed193c7d2138b6793a6a46c99c5dac17a640f090933dee84ffa","new_receipt_trie_node_byte":"0xb9030602f903020183b693b7b9010000000000000000001000000000008000000000080000000000000000000000000004080000000000000000000000020000000000000004000000000000000000001000000000000000000008000000000000100000040000600000000000000200000000020000000000000000000800000002200000000000000010000001000000000000000000000000000800000000000000000040000000000000000000000000000000000000000000000000000040000000000000000000000000000000000002000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000010000000000000000000000000f901f7f89b94fae103dc9cf190ed75350761e95403b7b8afa6c0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000066aa28ff415ed66f940ca01e28b13587c48dd0c3a0000000000000000000000000000000000000000000000000018cba5b44bbde01f87a945e6342d8090665be14eeb8154c8a87b7249a4889f842a0bfe611b001dfcd411432f7bf0d79b82b4b2ee81511edac123a3403c357fb972aa0000000000000000000000000fae103dc9cf190ed75350761e95403b7b8afa6c0a0000000000000000000000000000000000000000000000000019174e6bb9e8000f8dc94fae103dc9cf190ed75350761e95403b7b8afa6c0f863a0e28a9e1df63912c0c77b586c53595df741cbbc554d6831e40f1b5453199a9630a000000000000000000000000066aa28ff415ed66f940ca01e28b13587c48dd0c3a0000000000000000000000000518948e6dae180bba4fdb0f819481d44c317a861b860000000000000000000000000000000000000000000000000019174e6bb9e8000000000000000000000000000000000000000000000000000018cba5b44bbde01000000000000000000000000000000000000000000001bf591ca95a01a44b242","gas_used":107898}},{"traces":{"0xe0707d635941c916fb26d1db149950f8fdca4224":{"balance":"0x1e54cf9ec518000"},"0xd08b8e388d245a48ebd0e6a8073eb8e2a16ef0d9":{"balance":"0x4909850bdeff","nonce":"0x3e"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db11a215780be80"}},"meta":{"byte_code":"0x02f873013d8439a930da85020c65f0a182520894e0707d635941c916fb26d1db149950f8fdca42248801d2d39a937c800080c080a00b6381951ea840b5ba4bed3d6d405429602cabc694b1456367b18867a2a9a3c3a05c1da86fd95b9148cf70b6e43e480ebc2af376d4a9f33daaeacb976588287f14","new_txn_trie_node_byte":"0x02f873013d8439a930da85020c65f0a182520894e0707d635941c916fb26d1db149950f8fdca42248801d2d39a937c800080c080a00b6381951ea840b5ba4bed3d6d405429602cabc694b1456367b18867a2a9a3c3a05c1da86fd95b9148cf70b6e43e480ebc2af376d4a9f33daaeacb976588287f14","new_receipt_trie_node_byte":"0xb9010d02f901090183b6e5bfb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"],"storage_written":{"0x0687a563d3bc9b60b7699dba52486eec44bf6ba05a6eb299e7ee0f28faa2a66b":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0xfd209fd5a863868ed399bb5078e8e185917a77bf":{"balance":"0xfb9d4636b94b3892","nonce":"0x63"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db14b43fa37a2dc"}},"meta":{"byte_code":"0x02f8b001628439a930da85021355339582dd4a94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a07688ab94a2068ea0fc19689b41b6fd550fcfc70616e3e204d85748ab29eac37aa03eb69556403a8dbccb47011904fed8414bbf998178fda7460fe8f520361dae0f","new_txn_trie_node_byte":"0x02f8b001628439a930da85021355339582dd4a94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a07688ab94a2068ea0fc19689b41b6fd550fcfc70616e3e204d85748ab29eac37aa03eb69556403a8dbccb47011904fed8414bbf998178fda7460fe8f520361dae0f","new_receipt_trie_node_byte":"0xb901ab02f901a70183b7bfe5b9010004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000004000200000000000000000000008004000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000020000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000fd209fd5a863868ed399bb5078e8e185917a77bfa0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":55846}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db1bfae546bd55a"},"0x1161ab556baa457994b1d6a6cca3a7a6891009fd":{"storage_read":["0x6cae7ddfdc285130210f004317c30451d19cfc7f6e2e9b7bb03aeb0c38befd5b","0x0968e5c4a1d32da1a5b900299d893b177de9f2e6126f5baaff542f9cecb88dbc"],"storage_written":{"0x0968e5c4a1d32da1a5b900299d893b177de9f2e6126f5baaff542f9cecb88dbc":"0x12e635b5fdb072a1511","0x6cae7ddfdc285130210f004317c30451d19cfc7f6e2e9b7bb03aeb0c38befd5b":"0x14cb5e9351999784fd54b9d4"},"code_usage":{"read":"0x870e666deb4d01c3cf701cf2c3d57db64fb1e4dc80631f77fec94561fe6f2936"}},"0x9e6396e732f7e98a76403cdd3ef9c40286a42649":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004","0x62c79d41f65ff69f3740e8cb670ab06abb0e5018deb0d2d99ce70c985ff70d08","0x2761fd71bc9cf14dee61a287868b4dfbee3b2a16364e131f22d83aa2e84541b2","0x2171e19162f773bf207d0b118a1435256bf82ac3b12b086a84e559f53f264151","0x2171e19162f773bf207d0b118a1435256bf82ac3b12b086a84e559f53f264154","0x1513f9ec4860e616a82a3ef67745ad3a5ed8244a92826611dd546321abca38a5","0x62c79d41f65ff69f3740e8cb670ab06abb0e5018deb0d2d99ce70c985ff70d0b","0x62c79d41f65ff69f3740e8cb670ab06abb0e5018deb0d2d99ce70c985ff70d09","0x52428123d7d126af95582cff7a78bdc19590171ab06365618a1e499fd4fcd629","0x52428123d7d126af95582cff7a78bdc19590171ab06365618a1e499fd4fcd62a","0x52428123d7d126af95582cff7a78bdc19590171ab06365618a1e499fd4fcd62c","0x2761fd71bc9cf14dee61a287868b4dfbee3b2a16364e131f22d83aa2e84541b1","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000001","0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00","0xbbc70db1b6c7afd11e79c0fb0051300458f1a3acb8ee9789d9b6b26c61ad9bc7","0xbbc70db1b6c7afd11e79c0fb0051300458f1a3acb8ee9789d9b6b26c61ad9bc9","0x2171e19162f773bf207d0b118a1435256bf82ac3b12b086a84e559f53f264153","0x52428123d7d126af95582cff7a78bdc19590171ab06365618a1e499fd4fcd628","0x62c79d41f65ff69f3740e8cb670ab06abb0e5018deb0d2d99ce70c985ff70d0a","0x2761fd71bc9cf14dee61a287868b4dfbee3b2a16364e131f22d83aa2e84541af","0x2171e19162f773bf207d0b118a1435256bf82ac3b12b086a84e559f53f26414f","0x52428123d7d126af95582cff7a78bdc19590171ab06365618a1e499fd4fcd62b","0x62c79d41f65ff69f3740e8cb670ab06abb0e5018deb0d2d99ce70c985ff70d0c","0x1513f9ec4860e616a82a3ef67745ad3a5ed8244a92826611dd546321abca38a6","0xbbc70db1b6c7afd11e79c0fb0051300458f1a3acb8ee9789d9b6b26c61ad9bc8","0x2171e19162f773bf207d0b118a1435256bf82ac3b12b086a84e559f53f264152","0xbbc70db1b6c7afd11e79c0fb0051300458f1a3acb8ee9789d9b6b26c61ad9bca","0x2761fd71bc9cf14dee61a287868b4dfbee3b2a16364e131f22d83aa2e84541b0","0x2761fd71bc9cf14dee61a287868b4dfbee3b2a16364e131f22d83aa2e84541b3","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x2171e19162f773bf207d0b118a1435256bf82ac3b12b086a84e559f53f264150"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1eac0c773690ec916d30564","0x2171e19162f773bf207d0b118a1435256bf82ac3b12b086a84e559f53f264151":"0x0","0x0000000000000000000000000000000000000000000000000000000000000003":"0x48b9bb1cc37f1b0b92cfa9c","0x2171e19162f773bf207d0b118a1435256bf82ac3b12b086a84e559f53f264152":"0x12e635b5fdb072a1511","0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00":"0x1","0x2171e19162f773bf207d0b118a1435256bf82ac3b12b086a84e559f53f26414f":"0x10000000000000000000000006687daf3"},"code_usage":{"read":"0x01a80bba0ee9026eb5a2b23436b315ddf4fe1c478bc50b697e2914590773656c"}},"0xcfd8429c13135f4ceb8704b61819891cc04a7812":{"code_usage":{"read":"0x3f5b63be8fc0543184081891e64cfdfa7d09df25f1b669a8130b12a0bbeb442d"}},"0x090829e69f6d7b7fcccee25f6259fcdc6e051d07":{"balance":"0xa78c694ef1ddf7","nonce":"0x12"}},"meta":{"byte_code":"0x02f87001118439a930da85020c65f0a1830331f2949e6396e732f7e98a76403cdd3ef9c40286a426498084372500abc080a028d5057adb7bac12fcc247cfcebd0aac0300f85e5730f0367bae86c92d400c76a0332a6843658057fcc002801194c7df512f7f0c6e7fbd418a6022e8f215ac35d0","new_txn_trie_node_byte":"0x02f87001118439a930da85020c65f0a1830331f2949e6396e732f7e98a76403cdd3ef9c40286a426498084372500abc080a028d5057adb7bac12fcc247cfcebd0aac0300f85e5730f0367bae86c92d400c76a0332a6843658057fcc002801194c7df512f7f0c6e7fbd418a6022e8f215ac35d0","new_receipt_trie_node_byte":"0xb9022802f902240183b9c4c0b9010000000000000400000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000108000000000000000000000000000000000000000000000000000008000200000000000000000020004000008000000010000000000000000000008000000000000000000400000080000000000000000000000020000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000f90119f89b941161ab556baa457994b1d6a6cca3a7a6891009fdf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009e6396e732f7e98a76403cdd3ef9c40286a42649a0000000000000000000000000090829e69f6d7b7fcccee25f6259fcdc6e051d07a0000000000000000000000000000000000000000000000073b514df917107eaeef87a949e6396e732f7e98a76403cdd3ef9c40286a42649f842a0fc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fea0000000000000000000000000090829e69f6d7b7fcccee25f6259fcdc6e051d07a0000000000000000000000000000000000000000000000073b514df917107eaee","gas_used":132315}},{"traces":{"0xf985b1b5d02702e5a63c84de1f05fac8a17e2f83":{"balance":"0x71ebfa292a548"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db1d228535b302a"},"0x91a76ba75dafd39d1f899ced66eebf1282f35343":{"balance":"0x1c10477a2e20","nonce":"0x5e"}},"meta":{"byte_code":"0x02f872015d8439a930da85020c65f0a182520894f985b1b5d02702e5a63c84de1f05fac8a17e2f838702f2a9f1efc60e80c001a01ec7032b653d2eafd6cdcf38a0bb62904252cb6142b3a6f343d3254858b437b9a033891281380d1ad1b0519d4ff3e450a964e076c754e27436f977f9a05edd87ae","new_txn_trie_node_byte":"0x02f872015d8439a930da85020c65f0a182520894f985b1b5d02702e5a63c84de1f05fac8a17e2f838702f2a9f1efc60e80c001a01ec7032b653d2eafd6cdcf38a0bb62904252cb6142b3a6f343d3254858b437b9a033891281380d1ad1b0519d4ff3e450a964e076c754e27436f977f9a05edd87ae","new_receipt_trie_node_byte":"0xb9010d02f901090183ba16c8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x40a50cf069e992aa4536211b23f286ef88752187":{"balance":"0x4c53ecdc18a60000","storage_read":["0x5d8436d8c11043de494afd49f9317ae5fc283fcec304fe4f410f2e4963d37b7b"],"storage_written":{"0x5d8436d8c11043de494afd49f9317ae5fc283fcec304fe4f410f2e4963d37b7b":"0x6687e1e82de640a18fe3480aa802aca91f70177ada103391"},"code_usage":{"read":"0x18d96821efb8f4a16ae0f54a8ff74ed658dde175506b8114d7d61a79cd03c26f"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db203b953e995ca"},"0x2de640a18fe3480aa802aca91f70177ada103391":{"balance":"0x2f51a52760189ae9","nonce":"0x12c9"}},"meta":{"byte_code":"0x02f9019c018212c88439a930da85020c65f0a183010bda9440a50cf069e992aa4536211b23f286ef887521878806f05b59d3b20000b90124322bba210000000000000000000000006982508145454ce325ddbe47a25d4ec3d23119330000000000000000000000002de640a18fe3480aa802aca91f70177ada10339100000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000008ddfd04372b022f838532ff3030c8e52b4426ffb24dde325416a3f86251bf0eb587368048d11c231409bb90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687e1e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020fd76aec080a003f8334f48e7c219717242f9555d254d23622896839d33c8eabdac73f86280c2a035ca13ea6ba7b49ad1ee89e42b31a6e33aebc54dc50752bfb5a047541a321256","new_txn_trie_node_byte":"0x02f9019c018212c88439a930da85020c65f0a183010bda9440a50cf069e992aa4536211b23f286ef887521878806f05b59d3b20000b90124322bba210000000000000000000000006982508145454ce325ddbe47a25d4ec3d23119330000000000000000000000002de640a18fe3480aa802aca91f70177ada10339100000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000008ddfd04372b022f838532ff3030c8e52b4426ffb24dde325416a3f86251bf0eb587368048d11c231409bb90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687e1e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020fd76aec080a003f8334f48e7c219717242f9555d254d23622896839d33c8eabdac73f86280c2a035ca13ea6ba7b49ad1ee89e42b31a6e33aebc54dc50752bfb5a047541a321256","new_receipt_trie_node_byte":"0xb903ee02f903ea0183baf2d8b9010000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000800000000000000000000000200000000000000000004000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000f902dff902dc9440a50cf069e992aa4536211b23f286ef88752187f842a0cf5f9de2984132265203b5c335b25727702ca77262ff622e136baa7362bf1da9a00000000000000000000000002de640a18fe3480aa802aca91f70177ada103391b90280000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006982508145454ce325ddbe47a25d4ec3d23119330000000000000000000000002de640a18fe3480aa802aca91f70177ada10339100000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000008ddfd04372b022f838532f00000000000000000000000000000000000000000000000000000000fffffffff3030c8e52b4426ffb24dde325416a3f86251bf0eb587368048d11c231409bb90000000000000000000000000000000000000000000000000000000000000000f3b277728b3fee749481eb3e0b3b48980dbbab78658fc419025cb16eee34677500000000000000000000000000000000000000000000000000000000000000005a28e9363bb942b639270062aa6bb295f434bcdfc42c97267bf003f272060dc95a28e9363bb942b639270062aa6bb295f434bcdfc42c97267bf003f272060dc900000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001440a50cf069e992aa4536211b23f286ef88752187000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000020fd76ae6687e1e80000000000000000000000000000000000000000","gas_used":56336}},{"traces":{"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0xed07b2048173e72f32251f94fff0869b6b0daedc3161fe07eb50d9d8f2e9489a","0x39c5d308e706ea667d5519a7d21a23e82b56e59847a8958e9fdfd389ed4958af"],"storage_written":{"0xed07b2048173e72f32251f94fff0869b6b0daedc3161fe07eb50d9d8f2e9489a":"0x0","0x39c5d308e706ea667d5519a7d21a23e82b56e59847a8958e9fdfd389ed4958af":"0x195b7959b388b80000"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0xd1ece8956a05bd12ebf64084e83f2b91e0679c2a":{"balance":"0x3df8bc2caa2716","nonce":"0x44"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db22ebf3c57ce58"}},"meta":{"byte_code":"0x02f8b101438439a930da85020c65f0a183013bc39497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000025d808d63375d83a6d66027020f8a8218ffe76a40000000000000000000000000000000000000000000000195b7959b388b80000c080a01258ce310f23dba1e59d27b760679ba73a62145e117af459c3f37c54a62abf49a0781f9b035bd6e3ce84fb70a557bcd020510bd2a3606684bccfefebd3dc144ae5","new_txn_trie_node_byte":"0x02f8b101438439a930da85020c65f0a183013bc39497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000025d808d63375d83a6d66027020f8a8218ffe76a40000000000000000000000000000000000000000000000195b7959b388b80000c080a01258ce310f23dba1e59d27b760679ba73a62145e117af459c3f37c54a62abf49a0781f9b035bd6e3ce84fb70a557bcd020510bd2a3606684bccfefebd3dc144ae5","new_receipt_trie_node_byte":"0xb901ab02f901a70183bbb1dbb9010004000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000020000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000080000000000000010000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d1ece8956a05bd12ebf64084e83f2b91e0679c2aa000000000000000000000000025d808d63375d83a6d66027020f8a8218ffe76a4a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":48899}},{"traces":{"0x61e90a50137e1f645c9ef4a0d3a4f01477738406":{"storage_read":["0x9fd090ff45f152e3228baf97283257f098b62fc47c5dcedc665eec45846f8c31","0xde7780189c55cc8b2e5f8fb90f30456e351b5df08f81d605a8ef510e44ebae32"],"storage_written":{"0xde7780189c55cc8b2e5f8fb90f30456e351b5df08f81d605a8ef510e44ebae32":"0x10effb1cb8b00a434000","0x9fd090ff45f152e3228baf97283257f098b62fc47c5dcedc665eec45846f8c31":"0x0"},"code_usage":{"read":"0x9b32138ce0ee976a23166c8337fdb3186ddbf1aba1945fcc3318c9539803c744"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db2589a40c1cce0"},"0x3a5a8be2d0aa14a47ee7c3a6fe80fb166667e5a5":{"balance":"0x68e1b6c0023b0a","nonce":"0x15"}},"meta":{"byte_code":"0x02f8b101148439a930da850200b8b9d2830133ea9461e90a50137e1f645c9ef4a0d3a4f0147773840680b844a9059cbb00000000000000000000000089586a8eeb91b7f6a155d380d5e5070c15fc65e80000000000000000000000000000000000000000000010effb1cb8b00a434000c001a01fdf63ecc9fa2b1d566d969a6e7aae77d225add8209ed8e5e28e5200c0cae36fa031eb7f764dc1d62afd3ddcdf69932ed672d23c87bd555c93883511cad0d4784e","new_txn_trie_node_byte":"0x02f8b101148439a930da850200b8b9d2830133ea9461e90a50137e1f645c9ef4a0d3a4f0147773840680b844a9059cbb00000000000000000000000089586a8eeb91b7f6a155d380d5e5070c15fc65e80000000000000000000000000000000000000000000010effb1cb8b00a434000c001a01fdf63ecc9fa2b1d566d969a6e7aae77d225add8209ed8e5e28e5200c0cae36fa031eb7f764dc1d62afd3ddcdf69932ed672d23c87bd555c93883511cad0d4784e","new_receipt_trie_node_byte":"0xb901ab02f901a70183bc6bafb9010000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000800000000000000008000000000000000000000000000000000000000000004000000000000000000000000008000010000000000000000010000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040002000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9461e90a50137e1f645c9ef4a0d3a4f01477738406f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003a5a8be2d0aa14a47ee7c3a6fe80fb166667e5a5a000000000000000000000000089586a8eeb91b7f6a155d380d5e5070c15fc65e8a00000000000000000000000000000000000000000000010effb1cb8b00a434000","gas_used":47572}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db26b143fb127b0"},"0x1cb3cace79476f4e14c0d0f56ee313f5ea54a010":{"balance":"0x1a5d68d3059eaab","nonce":"0x2e"},"0x1d5b5721de0f43a3853a7f47893a0b9afecd7e89":{"balance":"0x46bcad5fd0c66cc2"}},"meta":{"byte_code":"0x02f873012d8439a930da85020c65f0a1825208941d5b5721de0f43a3853a7f47893a0b9afecd7e89884563918244f4000080c080a0e8de8f6d222728160f653f4fde80230f5e4105c1ef03f7179d519cdd19763b49a03a4ca4132efa8936e215fe45150b9ffa274efec881ff2e914d3e1ccf7b1437f0","new_txn_trie_node_byte":"0x02f873012d8439a930da85020c65f0a1825208941d5b5721de0f43a3853a7f47893a0b9afecd7e89884563918244f4000080c080a0e8de8f6d222728160f653f4fde80230f5e4105c1ef03f7179d519cdd19763b49a03a4ca4132efa8936e215fe45150b9ffa274efec881ff2e914d3e1ccf7b1437f0","new_receipt_trie_node_byte":"0xb9010d02f901090183bcbdb7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xc81dd83aa4bd7dba64278c0e52972dca36b59163":{"balance":"0x1c10477a2e20","nonce":"0xc"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db27d8e3ea08280"},"0x28b1e3b2abab820cbf222518b1c3f56acd17fe8b":{"balance":"0xbaf0ead1ce7abd"}},"meta":{"byte_code":"0x02f872010b8439a930da85020c65f0a18252089428b1e3b2abab820cbf222518b1c3f56acd17fe8b87ba88050ab5dbe580c001a0254a1ed5c55fa3517d7256c0233c314a9a11c00a133a4c08fd935f41077636b9a008ca3d8f4a5a02646d932db5a4a62451779d54b36f0f2cb53e807dbf43834a88","new_txn_trie_node_byte":"0x02f872010b8439a930da85020c65f0a18252089428b1e3b2abab820cbf222518b1c3f56acd17fe8b87ba88050ab5dbe580c001a0254a1ed5c55fa3517d7256c0233c314a9a11c00a133a4c08fd935f41077636b9a008ca3d8f4a5a02646d932db5a4a62451779d54b36f0f2cb53e807dbf43834a88","new_receipt_trie_node_byte":"0xb9010d02f901090183bd0fbfb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xdfaa75323fb721e5f29d43859390f62cc4b600b8":{"balance":"0x16f94fa11d1bd3ed16"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db28ea6144a9588"},"0xd5766ef869e0958816b5ceea2ce7a386196441b3":{"balance":"0x130aeb6af500","nonce":"0x28"}},"meta":{"byte_code":"0x02f8730127843557f0218501ebedb9c482520894dfaa75323fb721e5f29d43859390f62cc4b600b88801dfb4eee7613bde80c001a0a10fafd40285e8e660eb467c49d2d61d0b2a22b8f3ca310cbfdf29cd37562012a01962e99f0232a0c8a694c241c9cb11df52332075f6ecede7f78a24eba38002ea","new_txn_trie_node_byte":"0x02f8730127843557f0218501ebedb9c482520894dfaa75323fb721e5f29d43859390f62cc4b600b88801dfb4eee7613bde80c001a0a10fafd40285e8e660eb467c49d2d61d0b2a22b8f3ca310cbfdf29cd37562012a01962e99f0232a0c8a694c241c9cb11df52332075f6ecede7f78a24eba38002ea","new_receipt_trie_node_byte":"0xb9010d02f901090183bd61c7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x0000000000000000000000000000000000000002":{},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db2b542821e36dc"},"0x00000000219ab540356cbb839cbe05303d7705fa":{"balance":"0x271cfa9fcc4aa90dbfa341","storage_read":["0x0000000000000000000000000000000000000000000000000000000000000020","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0x7c888b1cbbfce4bf05ecc29af2853b09a3101a84326de67e7dbcdf543ed27680","0x0000000000000000000000000000000000000000000000000000000000000020":"0x1800d4"},"code_usage":{"read":"0x6c029a231254fadb724d63be769f75eedd66362df034a3e663252b49d062a666"}},"0x79dce08ca2e820eef9f14a8a55910f459b4b6956":{"balance":"0x1a0afba41b0d386ba5","nonce":"0x4eb"}},"meta":{"byte_code":"0x02f9021d018204ea842ccdb4368501f6034e8583013e3b9400000000219ab540356cbb839cbe05303d7705fa8901bc16d674ec800000b901a422895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001202734877f030f9581d442aa8f36ba7b17509d5163cce6ccb3424410cc0a19fba50000000000000000000000000000000000000000000000000000000000000030af97281e7bdcefe5def0182550621bed3e3b65959268820864dd3fb2a754d197d33e6e676380270e9ed7ad652fcee46e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000fe31320faf8da1492eadf8deb79bd264d7cf21410000000000000000000000000000000000000000000000000000000000000060978716c7d937576da6c31bbb3efcd5f9bada8d5e2f5e3f9c264c89ad6def2099d7d6bd56ff48e39f775591845495399c11cb70d6b6ab75b4e3c0f03804340bc90e2178cb7610810ba730d6c89dbea9e680e697f61fadbe9f53de68082864e45ac001a0aa3591624271a5001c0e006d607a181d3da563f10759e1030a92baa5e2b8e477a02a8f72dcb9cde7b84a252771026aeb5aa091ab49534b17bb0701dcf47e812f7f","new_txn_trie_node_byte":"0x02f9021d018204ea842ccdb4368501f6034e8583013e3b9400000000219ab540356cbb839cbe05303d7705fa8901bc16d674ec800000b901a422895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001202734877f030f9581d442aa8f36ba7b17509d5163cce6ccb3424410cc0a19fba50000000000000000000000000000000000000000000000000000000000000030af97281e7bdcefe5def0182550621bed3e3b65959268820864dd3fb2a754d197d33e6e676380270e9ed7ad652fcee46e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000fe31320faf8da1492eadf8deb79bd264d7cf21410000000000000000000000000000000000000000000000000000000000000060978716c7d937576da6c31bbb3efcd5f9bada8d5e2f5e3f9c264c89ad6def2099d7d6bd56ff48e39f775591845495399c11cb70d6b6ab75b4e3c0f03804340bc90e2178cb7610810ba730d6c89dbea9e680e697f61fadbe9f53de68082864e45ac001a0aa3591624271a5001c0e006d607a181d3da563f10759e1030a92baa5e2b8e477a02a8f72dcb9cde7b84a252771026aeb5aa091ab49534b17bb0701dcf47e812f7f","new_receipt_trie_node_byte":"0xb9038c02f903880183be3e65b9010000000000000000000000400000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000020000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000f9027df9027a9400000000219ab540356cbb839cbe05303d7705fae1a0649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5b9024000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030af97281e7bdcefe5def0182550621bed3e3b65959268820864dd3fb2a754d197d33e6e676380270e9ed7ad652fcee46e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000fe31320faf8da1492eadf8deb79bd264d7cf2141000000000000000000000000000000000000000000000000000000000000000800405973070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060978716c7d937576da6c31bbb3efcd5f9bada8d5e2f5e3f9c264c89ad6def2099d7d6bd56ff48e39f775591845495399c11cb70d6b6ab75b4e3c0f03804340bc90e2178cb7610810ba730d6c89dbea9e680e697f61fadbe9f53de68082864e45a0000000000000000000000000000000000000000000000000000000000000008d300180000000000000000000000000000000000000000000000000000000000","gas_used":56478}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db2d42221948ccc"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0x5337ce5eeeeb2e3b1223488eedd06770dfa1104159423a3aaf8f352531514700","0x4a3fca04379e215d4aa063e4e10d41c3fa4cf49bc2fc292ebc6b27914ca0e7f4"],"storage_written":{"0x5337ce5eeeeb2e3b1223488eedd06770dfa1104159423a3aaf8f352531514700":"0x22ecb25c00","0x4a3fca04379e215d4aa063e4e10d41c3fa4cf49bc2fc292ebc6b27914ca0e7f4":"0x3a3d081a1b"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x2cdde9315852ff272f130b15a898b85bd3084dd7":{"balance":"0x15b0f4455496ebc","nonce":"0xbe"}},"meta":{"byte_code":"0x02f8b20181bd842ccdb4368501c51e5e178301482094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000ba13d2aded0db48012797d37117be74b6988b79a0000000000000000000000000000000000000000000000000000000ba43b7400c080a09f1c7d73156a34960a38ab0bc99a212e07d9b7daf9b5d7be691af2cf5123ca1ba03a9fe8a2f38f92cd979de97557ebc910d5d154dc18e814420c86adb8a211270f","new_txn_trie_node_byte":"0x02f8b20181bd842ccdb4368501c51e5e178301482094a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000ba13d2aded0db48012797d37117be74b6988b79a0000000000000000000000000000000000000000000000000000000ba43b7400c080a09f1c7d73156a34960a38ab0bc99a212e07d9b7daf9b5d7be691af2cf5123ca1ba03a9fe8a2f38f92cd979de97557ebc910d5d154dc18e814420c86adb8a211270f","new_receipt_trie_node_byte":"0xb901ab02f901a70183beeecdb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002000000800000000200004000000000000000000000000800000000000000000000000000800000000000000000000000000000000800000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002cdde9315852ff272f130b15a898b85bd3084dd7a0000000000000000000000000ba13d2aded0db48012797d37117be74b6988b79aa00000000000000000000000000000000000000000000000000000000ba43b7400","gas_used":45160}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db2fbf5d355060c"},"0x6357252ae7fd731a8d35855eab68be1afcc4028a":{"balance":"0x3f9e2d20fcd4732a0"},"0x85b82c1adb4f403a06f279d58df6a868cfd01615":{"balance":"0x5530d8c5cb4","nonce":"0x1"},"0x829c4d4ac09812a7a457a8626cf97fb80bf91d6a":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000004"],"code_usage":{"read":"0x035c33795961d2034d5b4ddf8b6fdcd783ec9ceaceac25f3cc50e6e33ec91c96"}},"0x18dabc6354949e7c04a992674408eef531032bbd":{"balance":"0x626f61be8dd878bd"},"0x98cf5948c7b26ff23c1ca3f49c9d3728d144d4c3":{"balance":"0xfc665ac3567eae72","storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004"],"code_usage":{"read":"0x15cb2aa7fa1edbefe8cdcd75280b89d5e0218c4dbd36ca27b767b1a491bdf0e9"}}},"meta":{"byte_code":"0xf86c808501a56d4f4382f47194829c4d4ac09812a7a457a8626cf97fb80bf91d6a8804283e02e3d2276d8026a0d43a1a2c303cfd29a5ce1d3ea52178db28894c5123e7df2bb3673dc82fdfc4d4a00df1daf709a0e341b445b305715eed2e4d15f53484bfdc79aaba9a7ad56c1f1d","new_txn_trie_node_byte":"0xf86c808501a56d4f4382f47194829c4d4ac09812a7a457a8626cf97fb80bf91d6a8804283e02e3d2276d8026a0d43a1a2c303cfd29a5ce1d3ea52178db28894c5123e7df2bb3673dc82fdfc4d4a00df1daf709a0e341b445b305715eed2e4d15f53484bfdc79aaba9a7ad56c1f1d","new_receipt_trie_node_byte":"0xf901e50183bfe002b9010000080000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000f8dbf8d994829c4d4ac09812a7a457a8626cf97fb80bf91d6ae1a0b643d37702a56f4c5ba4fc786239f56cfcb7eaa939506211ce99a04f0bdaab91b8a000000000000000000000000085b82c1adb4f403a06f279d58df6a868cfd0161500000000000000000000000000000000000000000000000004283e02e3d2276d0000000000000000000000006357252ae7fd731a8d35855eab68be1afcc4028a00000000000000000000000018dabc6354949e7c04a992674408eef531032bbd000000000000000000000000000000000000000000000000001548eb93ea9a63","gas_used":61749}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db324ba96841c4c"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0xe93a31b32223e91a8f016e3f82dc41d4534dc1082226ad68f30d7f4ec05258ec","0x3e83c8eb614fc4fd5c0e7582f224bd133248ce6e9104b606fd2f240749da4d90","0x0000000000000000000000000000000000000000000000000000000000000000","0xedc4badb45b5b2f8bfe3e9fb82103ad5245b8df7c530f33803b349e466fd4881","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x3e83c8eb614fc4fd5c0e7582f224bd133248ce6e9104b606fd2f240749da4d90":"0xe0724392","0xe93a31b32223e91a8f016e3f82dc41d4534dc1082226ad68f30d7f4ec05258ec":"0x29de947202e"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x897b425dab19eb886dc6ae2010fe2a0de85308fa":{"balance":"0xac5d48b1137a0009a","nonce":"0x14508"}},"meta":{"byte_code":"0xf8ad830145078501a56d4f43830186a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000016ed10d5f39dfc5f399936939208e8caff09101800000000000000000000000000000000000000000000000000000000e072439225a097fdfb671339c8a929e68dbd64f277a84989836439338b47a0def4091d911e72a014b0a097e850c4e9cebc2640d6b1509b15afa38d6b3f41233e01ba9621ad6b5c","new_txn_trie_node_byte":"0xf8ad830145078501a56d4f43830186a094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000016ed10d5f39dfc5f399936939208e8caff09101800000000000000000000000000000000000000000000000000000000e072439225a097fdfb671339c8a929e68dbd64f277a84989836439338b47a0def4091d911e72a014b0a097e850c4e9cebc2640d6b1509b15afa38d6b3f41233e01ba9621ad6b5c","new_receipt_trie_node_byte":"0xf901a70183c0d6ebb9010000000000000000000000000200010000000000000000000000000000000000000800000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000010000000000000000000000000100000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000897b425dab19eb886dc6ae2010fe2a0de85308faa000000000000000000000000016ed10d5f39dfc5f399936939208e8caff091018a000000000000000000000000000000000000000000000000000000000e0724392","gas_used":63209}},{"traces":{"0x897b425dab19eb886dc6ae2010fe2a0de85308fa":{"balance":"0xac5e9452c63c7765a"},"0x254492aba9910ebef0e71da8f113417ec38e27ef":{"balance":"0x27c9db813fe28","nonce":"0x1"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db3324601787e4c"}},"meta":{"byte_code":"0xf86b808501a56d4f4382ea6094897b425dab19eb886dc6ae2010fe2a0de85308fa8714ba1b2c2775c08026a0ec0a68bcb2c8ba5e31714f0f3dfc7c46ad64eb42b6b0606494d93967bb2657c4a06dbc0d65249d7670b11459d4a66b120209b634d6c5c698ca7b58735bfb15808d","new_txn_trie_node_byte":"0xf86b808501a56d4f4382ea6094897b425dab19eb886dc6ae2010fe2a0de85308fa8714ba1b2c2775c08026a0ec0a68bcb2c8ba5e31714f0f3dfc7c46ad64eb42b6b0606494d93967bb2657c4a06dbc0d65249d7670b11459d4a66b120209b634d6c5c698ca7b58735bfb15808d","new_receipt_trie_node_byte":"0xf901090183c128f3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x58b6a8a3302369daec383334672404ee733ab239":{"storage_read":["0x0afbd6ac2d78676001d70988487759e27f6f8da041eb74245c64ef2367fb412b","0x9238ee935d04507fa0290ce2f0715ddd741c87415640c9a546e2556c6eeda1fd"],"storage_written":{"0x9238ee935d04507fa0290ce2f0715ddd741c87415640c9a546e2556c6eeda1fd":"0x3311fc80a570000","0x0afbd6ac2d78676001d70988487759e27f6f8da041eb74245c64ef2367fb412b":"0x752f1d4303660000"},"code_usage":{"read":"0x6dc0459fd591c27aba456e5a097e3d34c3f82d5775621dd9654efc1065f1b98a"}},"0x2e02cf930374dfe0fca6ab2e0ae9af498f0eeb5f":{"balance":"0xa88c909c40f23e6","nonce":"0x557a"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db353b08bcc8bb0"}},"meta":{"byte_code":"0xf8ac8255798501a51cfc9783030d409458b6a8a3302369daec383334672404ee733ab23980b844a9059cbb0000000000000000000000006afe4f015d3d0816554b54843e599fd47a52261300000000000000000000000000000000000000000000000003311fc80a57000026a019d271ca5d2700a4537b0443e6e0e6585b7fdf5427156dbc3e7e20f2cfae9e12a003899364dd6629c26f0312c0a15de9263d8f62900216a02bf8dc31e8dabac122","new_txn_trie_node_byte":"0xf8ac8255798501a51cfc9783030d409458b6a8a3302369daec383334672404ee733ab23980b844a9059cbb0000000000000000000000006afe4f015d3d0816554b54843e599fd47a52261300000000000000000000000000000000000000000000000003311fc80a57000026a019d271ca5d2700a4537b0443e6e0e6585b7fdf5427156dbc3e7e20f2cfae9e12a003899364dd6629c26f0312c0a15de9263d8f62900216a02bf8dc31e8dabac122","new_receipt_trie_node_byte":"0xf901a70183c1f4d8b9010000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000800000040000000000000000000000000800000040000000000000000000000000000000000002000000002000000000000000000000000000000000080004000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9458b6a8a3302369daec383334672404ee733ab239f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002e02cf930374dfe0fca6ab2e0ae9af498f0eeb5fa00000000000000000000000006afe4f015d3d0816554b54843e599fd47a522613a000000000000000000000000000000000000000000000000003311fc80a570000","gas_used":52197}},{"traces":{"0x19a088cd8b206de5dbe840bf67a1be9622f3d13c":{"balance":"0xbce084b8108a800"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db3604f36e2f5e8"},"0xea965f5d004660924e89b2de6bbe514f29c837b1":{"balance":"0x84c80c150936ac99","nonce":"0x8"}},"meta":{"byte_code":"0xf86c078501a28a788a8252089419a088cd8b206de5dbe840bf67a1be9622f3d13c880bce084b8108a8008026a034591f99285ef74e3a0cfe9d379689295e8bb28ac0067977f3c1e75a18a12944a05f4b596078943b8af0088b7de39cba2644b571085f08a99390f294d49c05c832","new_txn_trie_node_byte":"0xf86c078501a28a788a8252089419a088cd8b206de5dbe840bf67a1be9622f3d13c880bce084b8108a8008026a034591f99285ef74e3a0cfe9d379689295e8bb28ac0067977f3c1e75a18a12944a05f4b596078943b8af0088b7de39cba2644b571085f08a99390f294d49c05c832","new_receipt_trie_node_byte":"0xf901090183c246e0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db36cede1f96020"},"0xa703416c2c0b27cabb162955008ceb69cea2996f":{"balance":"0x1a4aabaeae52400"},"0x08d4c87f8c818135ed618f795c618b3ad3d9121d":{"balance":"0x2906b39ed40f7eaa","nonce":"0x1f"}},"meta":{"byte_code":"0xf86c1e8501a28a788a82520894a703416c2c0b27cabb162955008ceb69cea2996f8801a4aabaeae524008025a05a3e0c074bc929517c2f4d83598157119a1c4bc0c89ac054fca692d75bab5379a03976efd1e6f3cbf8b49ae7ca303c0c90b67139b5e74d44e44367897a07723a27","new_txn_trie_node_byte":"0xf86c1e8501a28a788a82520894a703416c2c0b27cabb162955008ceb69cea2996f8801a4aabaeae524008025a05a3e0c074bc929517c2f4d83598157119a1c4bc0c89ac054fca692d75bab5379a03976efd1e6f3cbf8b49ae7ca303c0c90b67139b5e74d44e44367897a07723a27","new_receipt_trie_node_byte":"0xf901090183c298e8b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xb3cacab072bf328ec817165b4cc068ace1521c76":{"balance":"0xc99508b977c420","nonce":"0x2"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db37f675ccbe07b"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x55c35d4dcbfe503aa2890246de5c6c4616bc24429ec001ec1a3e8bd7e8ad2f93","0x60062ef312ef39eba5e4f130c1b5c901cca3557a55368124a15141ddd8c26bef"],"storage_written":{"0x60062ef312ef39eba5e4f130c1b5c901cca3557a55368124a15141ddd8c26bef":"0xd2c860b9a46078ed840","0x55c35d4dcbfe503aa2890246de5c6c4616bc24429ec001ec1a3e8bd7e8ad2f93":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}}},"meta":{"byte_code":"0xf8a9018501a13b860082d6729497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000006cd1fdfc5cf7ea0ac111e229b96ddc1c9fc69ff10000000000000000000000000000000000000000000000195b7959b388b8000025a04ac37c649a7a5067f8373efa0a36efa9e66377dddfbfa0ef48c7a7ef092d8933a00302cf2655beb7885706c0c782eca53f7a4cc35610a95ba2af186a005a518555","new_txn_trie_node_byte":"0xf8a9018501a13b860082d6729497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000006cd1fdfc5cf7ea0ac111e229b96ddc1c9fc69ff10000000000000000000000000000000000000000000000195b7959b388b8000025a04ac37c649a7a5067f8373efa0a36efa9e66377dddfbfa0ef48c7a7ef092d8933a00302cf2655beb7885706c0c782eca53f7a4cc35610a95ba2af186a005a518555","new_receipt_trie_node_byte":"0xf901a70183c3151fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000800000020800000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000020000000000000000000000000000000400002000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b3cacab072bf328ec817165b4cc068ace1521c76a00000000000000000000000006cd1fdfc5cf7ea0ac111e229b96ddc1c9fc69ff1a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x077d360f11d220e4d5d831430c81c26c9be7c4a4":{"balance":"0xd6bfa211f5d64767"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db38b9ab3ba8263"},"0xde932fe518a213f4ce608640dccc689bc8961b9e":{"balance":"0x65dd0837000","nonce":"0x1"}},"meta":{"byte_code":"0xf86c808501a13b86008255f094077d360f11d220e4d5d831430c81c26c9be7c4a4881633cb75ed5460008026a0be76dc1e9837a16d5fb3512946630304cca0a6850e1916891e662c3c15b4ae63a0495bdd8b10570775774612b9f0a96de9a4c39f79c7cca8464f087dcc0c6c2244","new_txn_trie_node_byte":"0xf86c808501a13b86008255f094077d360f11d220e4d5d831430c81c26c9be7c4a4881633cb75ed5460008026a0be76dc1e9837a16d5fb3512946630304cca0a6850e1916891e662c3c15b4ae63a0495bdd8b10570775774612b9f0a96de9a4c39f79c7cca8464f087dcc0c6c2244","new_receipt_trie_node_byte":"0xf901090183c36727b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db3a66483c12d0c"},"0x48c04ed5691981c42154c6167398f95e8f38a7ff":{"balance":"0x5fcb601a2be43a76","nonce":"0x10bed2"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xd9293a630e28d3a5e61462a4f5cf955d155ff86ed3ab041ecb0533dc126b3efe","0xd88205fe8489c19dbe1a88982103005ff103808cd01eabd96c90c1e6a2097f33","0x0000000000000000000000000000000000000000000000000000000000000000","0x2de45aa08973c6fceddda16f130e4f4a84841ca25a1fae4a4a37a89d4d2e0ea4"],"storage_written":{"0xd88205fe8489c19dbe1a88982103005ff103808cd01eabd96c90c1e6a2097f33":"0xc07e2d47","0xd9293a630e28d3a5e61462a4f5cf955d155ff86ed3ab041ecb0533dc126b3efe":"0xb235f032fc"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0xf8ad8310bed18501a13b86008303d09094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000070a08a6c3f6bdccba723f5148274f8cda93aa82600000000000000000000000000000000000000000000000000000000bdd3a67626a0f90c6f786155ad1ed73009be0b53b623e5f16285f8eb3293b03c7abf061ac895a073eefbba759cc320130420d9c10303f656939bfe11e4cf05abc831d1f040d77f","new_txn_trie_node_byte":"0xf8ad8310bed18501a13b86008303d09094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000070a08a6c3f6bdccba723f5148274f8cda93aa82600000000000000000000000000000000000000000000000000000000bdd3a67626a0f90c6f786155ad1ed73009be0b53b623e5f16285f8eb3293b03c7abf061ac895a073eefbba759cc320130420d9c10303f656939bfe11e4cf05abc831d1f040d77f","new_receipt_trie_node_byte":"0xf901a70183c41b44b9010000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000002000000000000000000000000000000000000100100000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000048c04ed5691981c42154c6167398f95e8f38a7ffa000000000000000000000000070a08a6c3f6bdccba723f5148274f8cda93aa826a000000000000000000000000000000000000000000000000000000000bdd3a676","gas_used":46109}},{"traces":{"0xd17b3c9784510e33cd5b87b490e79253bcd81e2e":{"balance":"0x3a8653e6e040e9a9","storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"],"code_usage":{"read":"0x72fd2b7e1ce82463717aba010deb02386e6fe7b155d5776115b3239c2b2fd58b"}},"0xcb1620778a758e9e7ab2de567ecf3fbbaec8f71e":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001"],"code_usage":{"read":"0x285a2e191433dc9b5abe1aedfc9ab6fa584da85ae9c78b5f49aaafeb90917895"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db435f01d11ae0a"},"0x4585fe77225b41b697c938b018e2ac67ac5a20c0":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000026","0x0000000000000000000000000000000000000000000000000000000000000031","0x0000000000000000000000000000000000000000000000000000000000000032","0x0000000000000000000000000000000000000000000000000000000000000028","0x0000000000000000000000000000000000000000000000000000000000000024","0x0000000000000000000000000000000000000000000000000000000000000025","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000124","0x0000000000000000000000000000000000000000000000000000000000000125","0x0000000000000000000000000000000000000000000000000000000000000023","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000044","0x000000000000000000000000000000000000000000000000000000000000001e","0x000000000000000000000000000000000000000000000000000000000000001f","0x0000000000000000000000000000000000000000000000000000000000000022","0x0000000000000000000000000000000000000000000000000000000000000043","0x00000000000000000000000000000000000000000000000000000000000000d9","0x00000000000000000000000000000000000000000000000000000000000000da","0x0000000000000000000000000000000000000000000000000000000000000027"],"code_usage":{"read":"0x1c1a0540887263a5e1b597a4f5f5948e061749defb0a05d65c647eebc7663eca"}},"0x465e0b6518603e0d75b4737dac052845cf855925":{"code_usage":{"read":"0x57bcf327fe5d0d36dfe11a0db1a4f9b7ba051a45c71200138a8eafd6a6ae6899"}},"0xc480b33ee5229de3fbdfad1d2dcd3f3bad0c56c6":{"storage_read":["0x157cca0a5ffd154e92ba28baf2af6284d79a9511aefd82b787dfb457d4ae33f6"],"code_usage":{"read":"0x61c59259b640ed2d79e2783e8fc1c4bc5c394e9d2830d31940916aff9ce57507"}},"0xe92b1734fc37f8acc950d0d13a41475372958730":{"code_usage":{"read":"0x3fb3f4effba5f812f114ac01b5c10ee00beea7fc425b510b823726d5552134ce"}},"0xaf780de01dc9c6ff4c29c6556b4666e852951584":{"code_usage":{"read":"0x6cc73df0d7083fa1e2a9b33feeeda8b993924cd37b5396b799dcad79401424a3"}},"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599":{"storage_read":["0xd0ae37648df8177af0c540aa744ade2ba5d7dda18fdb63bcc2b6d79fc491b195","0x0000000000000000000000000000000000000000000000000000000000000005","0xc2426ee1a8858a972145cc772b9458940da8656fc65b30af67fadd3b02858cf0"],"storage_written":{"0xc2426ee1a8858a972145cc772b9458940da8656fc65b30af67fadd3b02858cf0":"0x0","0xd0ae37648df8177af0c540aa744ade2ba5d7dda18fdb63bcc2b6d79fc491b195":"0x120757f0"},"code_usage":{"read":"0x131ff5c755b710d543ea70fede2eb38e5d15b1456df0ae932ba12e2786f7e5df"}},"0x37f6df71b40c50b2038329cabf5fda3682df1ebf":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000010","0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000000","0x874063873886df19aac13d8f1853d9f81894d2a0b52cf79d67521a9f152ca70f","0x000000000000000000000000000000000000000000000000000000000000000c","0x000000000000000000000000000000000000000000000000000000000000000d","0x000000000000000000000000000000000000000000000000000000000000000e","0x000000000000000000000000000000000000000000000000000000000000000b"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1a933f595a334e68000000000000000000000097f89d","0x0000000000000000000000000000000000000000000000000000000000000000":"0x25a924cc2fc54038600000000000000000000116f5f53","0x0000000000000000000000000000000000000000000000000000000000000010":"0x1"},"code_usage":{"read":"0xf8b01150de154ae5bd5d25ebc970ac484080fb4f9fc617c1e48ae91b086f37ad"}},"0x4a1dbc839b4ebad8db9058e856e90cb41dffce1f":{"code_usage":{"read":"0x18ab101dea1d78ad83ba52e003cdba43a468aff5084455c3a18c857aa88ed235"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x467f8ad62cee3bae8270c8878b27e6e8a45c6883a3f3e475643fb8f6ca930dbc","0xf47adf11cf8a2a8d01c37b303fb218041299738759b2b1d48328e98da59bf3dc"],"storage_written":{"0xf47adf11cf8a2a8d01c37b303fb218041299738759b2b1d48328e98da59bf3dc":"0x23754efc0c5df0ec1","0x467f8ad62cee3bae8270c8878b27e6e8a45c6883a3f3e475643fb8f6ca930dbc":"0x275258c1c568751ee"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x3a1d749fa4a9e650fce844ff1c58c5faf7e2a9d1":{"balance":"0x139bd4a3f43a24b5","nonce":"0x7642"},"0xc3a99a855d060d727367c599ecb2423e0bebee24":{"balance":"0x3e8b06ce0f8950","storage_read":["0x000000000000000000000000000000000000000000000000000000000000000b","0x2d19149b1370d1b8d94727bd8e48d7b4076ac79c9eaae574f3e15fd4ebd282d4","0x0000000000000000000000000000000000000000000000000000000000000001","0xcc9db57b0569a327184d8e6a4265ab0d3a21ab58bd79b42bde36ac9ee6872bbb","0x67ed16f2b0e86ba5398b2036f356b1a66e9b007c6a10a6888c88dce3939a62b0","0x0000000000000000000000000000000000000000000000000000000000000003"],"storage_written":{"0x67ed16f2b0e86ba5398b2036f356b1a66e9b007c6a10a6888c88dce3939a62b0":"0x0","0x000000000000000000000000000000000000000000000000000000000000000b":"0x1","0x0000000000000000000000000000000000000000000000000000000000000003":"0x2da736622","0x0000000000000000000000000000000000000000000000000000000000000001":"0x2f01"},"code_usage":{"read":"0x7ba84e3bc20a8da43bdc2069f3f066f74214a7d05863bf3f879a06d4a311943c"}}},"meta":{"byte_code":"0x02f90334018276418424a8fc6a85031dce0f96835b8d8094c3a99a855d060d727367c599ecb2423e0bebee2480b902c448f80c16000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002f0100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687da930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687d38b00000000000000000000000000000000000000000000000000000000000ad57000000000000000000000000000000000000000000000000000000002e447c6fa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000423a35c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000d17b3c9784510e33cd5b87b490e79253bcd81e2e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000423a35c0000000000000000000000000000000000000000000000000000000000000000c001a0943810780afaa56f372515d551deb804192dfdd1b21b77461ade82d42181256ba02a28f4b4978f3312621894e95dc07e30f488e51a3fe720c077e297b76ac5d685","new_txn_trie_node_byte":"0x02f90334018276418424a8fc6a85031dce0f96835b8d8094c3a99a855d060d727367c599ecb2423e0bebee2480b902c448f80c16000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000002f0100000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687da930000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687d38b00000000000000000000000000000000000000000000000000000000000ad57000000000000000000000000000000000000000000000000000000002e447c6fa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000423a35c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000d17b3c9784510e33cd5b87b490e79253bcd81e2e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000423a35c0000000000000000000000000000000000000000000000000000000000000000c001a0943810780afaa56f372515d551deb804192dfdd1b21b77461ade82d42181256ba02a28f4b4978f3312621894e95dc07e30f488e51a3fe720c077e297b76ac5d685","new_receipt_trie_node_byte":"0xb9057f02f9057b0183c805a7b9010000200000000000200000000004000000000000000000000001000000000000000802000000000000000000000000000002800000080000000000000000040000000000000001000000000008010000200000000000040000000000400000000000000000000000000000400000000000020000000000800004000110040010000000000000000000006000000000000000000000000000100000204000000000010008000002000001080000000000000000000000000000000000000002000000000002000000000000000000000200000000000000000000000000000040000000200000000000000000000001000000200000000200000000000000000000f90470f89b942260fac5e5542a773aa44fbcfedf7c193bc2c599f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c3a99a855d060d727367c599ecb2423e0bebee24a000000000000000000000000037f6df71b40c50b2038329cabf5fda3682df1ebfa0000000000000000000000000000000000000000000000000000000000423a35cf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000037f6df71b40c50b2038329cabf5fda3682df1ebfa0000000000000000000000000d17b3c9784510e33cd5b87b490e79253bcd81e2ea0000000000000000000000000000000000000000000000000b55824d50088b754f8fc9437f6df71b40c50b2038329cabf5fda3682df1ebff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000c3a99a855d060d727367c599ecb2423e0bebee24a0000000000000000000000000d17b3c9784510e33cd5b87b490e79253bcd81e2eb880000000000000000000000000000000000000000000000000000000000423a35c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b55824d50088b754f89b94c3a99a855d060d727367c599ecb2423e0bebee24f863a0dbef2fc26e7694e7a1c5a4801b1ad144136d149cf76f310a780689b4087f0ffea00000000000000000000000003a1d749fa4a9e650fce844ff1c58c5faf7e2a9d1a00000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000009f874197ad553f89b94c3a99a855d060d727367c599ecb2423e0bebee24f863a0dbef2fc26e7694e7a1c5a4801b1ad144136d149cf76f310a780689b4087f0ffea0000000000000000000000000d17b3c9784510e33cd5b87b490e79253bcd81e2ea00000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000155b8d443e3a0df8fc94c3a99a855d060d727367c599ecb2423e0bebee24f863a0f0cc99aeb224e65869630a14e23683d20b9c535c00427b50024ce8b6b21d35c3a00000000000000000000000000000000000000000000000000000000000002f01a00000000000000000000000000000000000000000000000000000000000000001b880000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000379e900000000000000000000000000000000000000000000000000155b8d443e3a0d0000000000000000000000000000000000000000000000000000000000000000","gas_used":256611}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db440bdba6a2132"},"0x72aa94613757ae5dd8acf2661161a0b310f0bc88":{"balance":"0x63372ae127f000"},"0x8f0d024e780b7e2fd633a4d6d43631a96e8cb059":{"balance":"0x1510710d060cfde61","nonce":"0x1c8a"}},"meta":{"byte_code":"0x02f87401821c898421b6d3258501d7ff8bfa8252089472aa94613757ae5dd8acf2661161a0b310f0bc888763372ae127f00080c001a0f72c7bfc0f5419430e8349b66d38aa1ee721b7a6bb0525bbc65dc209f260a8eea0251515a3cc3d143ec0ba8456bc64e27880c9b089d0e5efc63d6d36dc824e35fb","new_txn_trie_node_byte":"0x02f87401821c898421b6d3258501d7ff8bfa8252089472aa94613757ae5dd8acf2661161a0b310f0bc888763372ae127f00080c001a0f72c7bfc0f5419430e8349b66d38aa1ee721b7a6bb0525bbc65dc209f260a8eea0251515a3cc3d143ec0ba8456bc64e27880c9b089d0e5efc63d6d36dc824e35fb","new_receipt_trie_node_byte":"0xb9010d02f901090183c857afb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x8d18f629958b4f326e0bd0d3097b19e081ba8be8":{"balance":"0xc8caec3bebcfc0","nonce":"0x4"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db451d7cf359eda"},"0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e":{"storage_read":["0xff05559eba124a9258d5484bc3c3b9d8a50b4e121dcef360625e666d47969ed0","0xfa5c75810b3cf1450e4831e88165c61c6697e7a56991e8bb1968c5165e98edf6"],"storage_written":{"0xfa5c75810b3cf1450e4831e88165c61c6697e7a56991e8bb1968c5165e98edf6":"0x1b0e8c45c5f800","0xff05559eba124a9258d5484bc3c3b9d8a50b4e121dcef360625e666d47969ed0":"0x0"},"code_usage":{"read":"0x042014159da09b02fb69cd3e5d771a9255e3a8c35c06db788ebc0d03f33dde26"}}},"meta":{"byte_code":"0x02f8b001038417dacd0585022628256382ca48940bc529c00c6401aef6d220be8c6ea1667f6ad93e80b844a9059cbb000000000000000000000000baa89d1a88ca072f0431205a1c06e355e333e382000000000000000000000000000000000000000000000000001b0e8c45c5f800c080a0aff30f60244caee08bae80ecf919436e6721f7be2d424fcbd5c1fafa8cd61caaa04880688721ae329688924a6b09ea59253f94b1084adc731ee0805ff6a597ab8a","new_txn_trie_node_byte":"0x02f8b001038417dacd0585022628256382ca48940bc529c00c6401aef6d220be8c6ea1667f6ad93e80b844a9059cbb000000000000000000000000baa89d1a88ca072f0431205a1c06e355e333e382000000000000000000000000000000000000000000000000001b0e8c45c5f800c080a0aff30f60244caee08bae80ecf919436e6721f7be2d424fcbd5c1fafa8cd61caaa04880688721ae329688924a6b09ea59253f94b1084adc731ee0805ff6a597ab8a","new_receipt_trie_node_byte":"0xb901ab02f901a70183c90f37b9010000000000000000020000000000000000000000000000000400000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000010000000000000000000000000000000000000000000000000000000080000000000000000020000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000010000f89df89b940bc529c00c6401aef6d220be8c6ea1667f6ad93ef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008d18f629958b4f326e0bd0d3097b19e081ba8be8a0000000000000000000000000baa89d1a88ca072f0431205a1c06e355e333e382a0000000000000000000000000000000000000000000000000001b0e8c45c5f800","gas_used":46984}},{"traces":{"0x52a258ed593c793251a89bfd36cae158ee9fc4f8":{"balance":"0x49061e5d8ffb31536"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db458a1b841649a"},"0x849cc812eb721546a0c3ad0c3b62a9bd5ffb3c4e":{"balance":"0x31018295d500","nonce":"0x6"}},"meta":{"byte_code":"0xf86b0585019057edbb8252089452a258ed593c793251a89bfd36cae158ee9fc4f88774ff7ac1be40008025a0ab78bd0635f8ba440267fd55da45b11cd48f96433ef22034a09c550d450c1a93a03278cd5267b78e4797e595324dac57c55fc5aaa6181839a5cc6b14e92b3a5877","new_txn_trie_node_byte":"0xf86b0585019057edbb8252089452a258ed593c793251a89bfd36cae158ee9fc4f88774ff7ac1be40008025a0ab78bd0635f8ba440267fd55da45b11cd48f96433ef22034a09c550d450c1a93a03278cd5267b78e4797e595324dac57c55fc5aaa6181839a5cc6b14e92b3a5877","new_receipt_trie_node_byte":"0xf901090183c9613fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xb33328f4740d354cd8ac97942e54685c68bb5541":{"balance":"0x199cfb31ae50","nonce":"0x1"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db45f33dc5e831a"},"0x46c956db193f3386c24ca01b70660cd6f9ae2344":{"balance":"0xeff75b415f0f585"}},"meta":{"byte_code":"0xf86c8085018fa9e2d38262709446c956db193f3386c24ca01b70660cd6f9ae2344880e2480cba828c5188025a0af1c5fb0e3f021669a2bb34cc77c5debc8e525e9289f091fa32c88fda0e593dba031e664c5fed1a2a8fe0ef76974e5ea45045d4d51540760bdbc0ee16c050ede9a","new_txn_trie_node_byte":"0xf86c8085018fa9e2d38262709446c956db193f3386c24ca01b70660cd6f9ae2344880e2480cba828c5188025a0af1c5fb0e3f021669a2bb34cc77c5debc8e525e9289f091fa32c88fda0e593dba031e664c5fed1a2a8fe0ef76974e5ea45045d4d51540760bdbc0ee16c050ede9a","new_receipt_trie_node_byte":"0xf901090183c9b347b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x2439467b96edeb09a00be","storage_read":["0xd0b8c6f3157e5146d9edb8dd25b156d8af5046a6719564b8fd4978ec8532aea7"],"storage_written":{"0xd0b8c6f3157e5146d9edb8dd25b156d8af5046a6719564b8fd4978ec8532aea7":"0x186244aa26265b2100"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x4347983e483ea47099e8cbca160c92599791b76a":{"code_usage":{"read":"0x29da19e2a34ba5cccf5cd132ff2f22edb0da099d0435b6045a4fc8edba8b493b"}},"0x0000000000000000000000000000000000000001":{},"0x00000011f84b9aa48e5f8aa8b9897600006289be":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0x1"},"code_usage":{"read":"0xb9a2f8c1e26718dcbfd6b091dc077b3e3412f3cb3841913865a4f8dbbc835400"}},"0xaa31969dbdbaa86007921e1ba81e440a2bdf3af8":{"balance":"0x2fe07fe401e5fe5a","nonce":"0x1263"},"0x000000fee13a103a10d593b9ae06b3e05f2e7e1c":{"balance":"0x85ffd4ca4758173","code_usage":{"read":"0xef84d271181487e1160765f1759a9a1bc930c4b6f89dff56afbaaeaeb3233d76"}},"0xc06e7123ea64288d83d3fab5ef174ee6d35bae52":{"balance":"0x40d291a5fbc7e75"},"0xfbeedcfe378866dab6abbafd8b2986f5c1768737":{"storage_read":["0xa78162597700e786b993bcf6009f7a8056f28a5f39add77dce403940481c7194"],"code_usage":{"read":"0xe4655f85874e38780979963e8a05a76c8054ccbfe833ab3a3022b821470f5fdb"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db497b5eeaa10ca"},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0xe928d40113f31b6093550e33d681bed021bfb67447ce0bb9d1aea112afbd3f39"],"storage_written":{"0xe928d40113f31b6093550e33d681bed021bfb67447ce0bb9d1aea112afbd3f39":"0x2"},"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0xf2fe8eb032ca81c51208960499fcf9bc99aa663b05c9075f9290fa9054d0113d","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0x81b69b56c63e043848b61dbf780186647c0e0524f486e4b27e7fab4e993e7585","0x86c5bcf31e8706f6b9c8afbbdd155f44117e1a610c3558a2c1ba29821fe95e72","0x3dda6e7756202a68732c86e5deadcc38396e8eee389a1c7055fc3d1805a01da1"],"storage_written":{"0x86c5bcf31e8706f6b9c8afbbdd155f44117e1a610c3558a2c1ba29821fe95e72":"0x0","0xf2fe8eb032ca81c51208960499fcf9bc99aa663b05c9075f9290fa9054d0113d":"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffff335791402","0x3dda6e7756202a68732c86e5deadcc38396e8eee389a1c7055fc3d1805a01da1":"0x4571eb57e9"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}}},"meta":{"byte_code":"0x02f9073401821262841347e0308503ac5ff38e830aae6094fbeedcfe378866dab6abbafd8b2986f5c176873780b906c4000000330000000000000000000000004347983e483ea47099e8cbca160c92599791b76a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006442a14b135000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005e00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000052000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001000000000000000000000000004449cd34d1eb1fedcf02a1be3834ffde8e6a6180000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000323f28c000000000000000000000000000000000000000000000000000000000323f28c000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000011f84b9aa48e5f8aa8b9897600006289be000000000000000000000000c06e7123ea64288d83d3fab5ef174ee6d35bae520468323b0a703bf70de0feb1c7db9bf46549a1c5d9e15adfe8bedb7760ff2601000000000000000000000000000000000000000000000000000000006687dc0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f2dc35abf4862e00000000000000000000000000000000000000000000000003e3b2d96d220cfc000000000000000000000000c06e7123ea64288d83d3fab5ef174ee6d35bae520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000288926b942e8800000000000000000000000000000000000000000000000000027ed81fb64d06000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c000000000000000000000000000000000000000000000000000000006687dafe000000000000000000000000000000000000000000000000000000006687db3a000000000000000000000000fbeedcfe378866dab6abbafd8b2986f5c17687370000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000003f3251f9e299f3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041bd1f3f522ce39a735d70cda7f4bfbcfb851e8e364503e91ab9d813dfaab65afc5a08e9e2299f5a862d6c053bf0268ff1fda57a7bbc890fe3a5dbc077aea1d73c1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004103a696eef011bf60c6c94671b17fbecfa2c3b48c36e24849c688e11ec99b8d4a65b6aca26133f07fd31872476f5619720e663b834c07a67155a94798117b93711c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000323f28c000000000000000000000000000000000000000000000000003f5adb209bdcdc000000000000000000000000000000000000000000000000000000000c080a0db0b0dbc251dedab5343f7ceed08ab93ef26f1c4dd12aea03da9b215f835aa1fa03c252b1638fe5e9d9f12460dadc43f114f343f0892922ded082b79a796ac49af","new_txn_trie_node_byte":"0x02f9073401821262841347e0308503ac5ff38e830aae6094fbeedcfe378866dab6abbafd8b2986f5c176873780b906c4000000330000000000000000000000004347983e483ea47099e8cbca160c92599791b76a000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000006442a14b135000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000005e00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000052000000000000000000000000000000000000000000000000000000000000004c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001000000000000000000000000004449cd34d1eb1fedcf02a1be3834ffde8e6a6180000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000323f28c000000000000000000000000000000000000000000000000000000000323f28c000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000011f84b9aa48e5f8aa8b9897600006289be000000000000000000000000c06e7123ea64288d83d3fab5ef174ee6d35bae520468323b0a703bf70de0feb1c7db9bf46549a1c5d9e15adfe8bedb7760ff2601000000000000000000000000000000000000000000000000000000006687dc0a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003f2dc35abf4862e00000000000000000000000000000000000000000000000003e3b2d96d220cfc000000000000000000000000c06e7123ea64288d83d3fab5ef174ee6d35bae520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000288926b942e8800000000000000000000000000000000000000000000000000027ed81fb64d06000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c000000000000000000000000000000000000000000000000000000006687dafe000000000000000000000000000000000000000000000000000000006687db3a000000000000000000000000fbeedcfe378866dab6abbafd8b2986f5c17687370000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000003f3251f9e299f3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041bd1f3f522ce39a735d70cda7f4bfbcfb851e8e364503e91ab9d813dfaab65afc5a08e9e2299f5a862d6c053bf0268ff1fda57a7bbc890fe3a5dbc077aea1d73c1b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004103a696eef011bf60c6c94671b17fbecfa2c3b48c36e24849c688e11ec99b8d4a65b6aca26133f07fd31872476f5619720e663b834c07a67155a94798117b93711c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000323f28c000000000000000000000000000000000000000000000000003f5adb209bdcdc000000000000000000000000000000000000000000000000000000000c080a0db0b0dbc251dedab5343f7ceed08ab93ef26f1c4dd12aea03da9b215f835aa1fa03c252b1638fe5e9d9f12460dadc43f114f343f0892922ded082b79a796ac49af","new_receipt_trie_node_byte":"0xb902e602f902e20183cca190b9010000200000000000000000000000200000000000100000000000000000000080000000000000000000000000000400000002000020080000000000000000000000000000000000000028000008000000000000000000400000000000000000000000000000000000000001000000000000002000000000040000000010000000000000000000000000000000000000000001000000010000000000000000000000000000000000200000000040000000000000000000000000020000000000000000000002000000000000000000000000000000000000000000000002000000000000240000000000000400000000000000000000000000000100000000000000f901d7f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c06e7123ea64288d83d3fab5ef174ee6d35bae52a0000000000000000000000000fbeedcfe378866dab6abbafd8b2986f5c1768737a000000000000000000000000000000000000000000000000000000000323f28c0f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000fbeedcfe378866dab6abbafd8b2986f5c1768737a000000000000000000000000000000000000000000000000003f5adb209bdcdc0f8bc9400000011f84b9aa48e5f8aa8b9897600006289bef884a078ad7ec0e9f89e74012afa58738b6b661c024cb0fd185ee2f616c0a28924bd66a04dc95c7eccef8c49bf03bb8f3eb3d39854872ca4bfbfe41cc059fb11c5804946a0000000000000000000000000fbeedcfe378866dab6abbafd8b2986f5c1768737a0000000000000000000000000c06e7123ea64288d83d3fab5ef174ee6d35bae52a00468323b0a703bf70de0feb1c7db9bf46549a1c5d9e15adfe8bedb7760ff2601","gas_used":192073}},{"traces":{"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x92fe8ba293aa2365ca38e5a7f4861a58ca970d920cacefe40e6bf63e003f606a","0x1a99ebd52a1e7aac9536a0199cf161b4baa35ffac08517474834d9e7e9d9e928"],"storage_written":{"0x92fe8ba293aa2365ca38e5a7f4861a58ca970d920cacefe40e6bf63e003f606a":"0x0","0x1a99ebd52a1e7aac9536a0199cf161b4baa35ffac08517474834d9e7e9d9e928":"0xfd92bd810357300000"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db4a083fa6f02d0"},"0x98fe55d2e061a93db4b5381370976541a0d47efd":{"balance":"0x2d7ff13d56dad","nonce":"0x8"}},"meta":{"byte_code":"0x02f8b00107841dcd650085018d4dca2d828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000cf65a4e65123e0aad0cd0584da08d33bcb36e9110000000000000000000000000000000000000000000000195b7959b388b80000c001a01e40717c2e8176b030638f211e54a346a6de9de8133777c0405918776d261715a07c4403d08029fec902414de8c1d1b74d0ac2c29105f648627ed147fb943b8384","new_txn_trie_node_byte":"0x02f8b00107841dcd650085018d4dca2d828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000cf65a4e65123e0aad0cd0584da08d33bcb36e9110000000000000000000000000000000000000000000000195b7959b388b80000c001a01e40717c2e8176b030638f211e54a346a6de9de8133777c0405918776d261715a07c4403d08029fec902414de8c1d1b74d0ac2c29105f648627ed147fb943b8384","new_receipt_trie_node_byte":"0xb901ab02f901a70183cd1dc7b9010000004000000000000000000000000000000000000000000000000000000002000000000000000008000000000000000000000000000000000000000000000000000000000000020000000008000000080000000000000000000000000000000040000041000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000098fe55d2e061a93db4b5381370976541a0d47efda0000000000000000000000000cf65a4e65123e0aad0cd0584da08d33bcb36e911a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0xeca15cb8d0b3dbf2fda8ecd0e85875b3247668bc25170c2e4c527dc6e2cb12c4","0xe2957f3d3691ae6a317180b532a08f8fe0447b6cb3c0b632ae8960f2c1e5489b"],"storage_written":{"0xe2957f3d3691ae6a317180b532a08f8fe0447b6cb3c0b632ae8960f2c1e5489b":"0x2f8b838830a05900000","0xeca15cb8d0b3dbf2fda8ecd0e85875b3247668bc25170c2e4c527dc6e2cb12c4":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x854e47447bb6c0c44750ee69040c8b92f4c3b37c":{"balance":"0x2e79ca763db25","nonce":"0x3"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db4a9520633f4d6"}},"meta":{"byte_code":"0x02f8b00102841dcd650085018d4dca2d828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818b0000000000000000000000000000000000000000000000195b7959b388b80000c080a010f12e1bd0068ee2ad150cd6b48300b25b988ff68f845c022dcd69d4837702a5a018a05c9f22131d193c064398585c88eec2fbfb9d8b39873dbf2f498137c0ed58","new_txn_trie_node_byte":"0x02f8b00102841dcd650085018d4dca2d828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818b0000000000000000000000000000000000000000000000195b7959b388b80000c080a010f12e1bd0068ee2ad150cd6b48300b25b988ff68f845c022dcd69d4837702a5a018a05c9f22131d193c064398585c88eec2fbfb9d8b39873dbf2f498137c0ed58","new_receipt_trie_node_byte":"0xb901ab02f901a70183cd99feb9010000000000000000000200000000000000000000000000000008000000000000000000000000000008000200000000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000002000000040000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000854e47447bb6c0c44750ee69040c8b92f4c3b37ca0000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818ba00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x6c4ffcc236ae7cc5294cbe91cb76f823a278756a":{"balance":"0x2fecf8ecbcf75","nonce":"0x3"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x45c4be28ed83dbdcf471b96fbd8eabb27db6e45fa566285c6eec1bf5194efcd3","0xe2957f3d3691ae6a317180b532a08f8fe0447b6cb3c0b632ae8960f2c1e5489b","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x45c4be28ed83dbdcf471b96fbd8eabb27db6e45fa566285c6eec1bf5194efcd3":"0x0","0xe2957f3d3691ae6a317180b532a08f8fe0447b6cb3c0b632ae8960f2c1e5489b":"0x31213b1dcbd8e480000"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db4b0a683dba674"}},"meta":{"byte_code":"0x02f8b00102841dcd650085018a43ab55828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818b0000000000000000000000000000000000000000000000195b7959b388b80000c001a0d12f5f23a23471294ddfc68c57d4e76ae59f54516db11435573107c6a6fcf845a0703cb31b8eb8bb3471fed9c6954cc67729f161813ce15cdee75d4a354f0fa923","new_txn_trie_node_byte":"0x02f8b00102841dcd650085018a43ab55828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818b0000000000000000000000000000000000000000000000195b7959b388b80000c001a0d12f5f23a23471294ddfc68c57d4e76ae59f54516db11435573107c6a6fcf845a0703cb31b8eb8bb3471fed9c6954cc67729f161813ce15cdee75d4a354f0fa923","new_receipt_trie_node_byte":"0xb901ab02f901a70183ce1635b9010000000000000000000000000000000000000000000000000008000000000000000000100000000008000200000000000000000000000000000000000040000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006c4ffcc236ae7cc5294cbe91cb76f823a278756aa0000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818ba00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db4c1c937abd547"},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0x645d0cd54e7c5451f41f26e3f5fdd643a0b9d0c402bca3f666a2191a88634676"],"storage_written":{"0x645d0cd54e7c5451f41f26e3f5fdd643a0b9d0c402bca3f666a2191a88634676":"0x6"},"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0xc87e98867b392bdba50ffcfe53014226fe1faae7":{"balance":"0x3d4638c3331da3c"},"0xb6613cc55866e282638006455390207c1d485be9":{"balance":"0x32419759cc7df5c","storage_read":["0x5943eba31e93e006cdecea8ef76693cb45d61846559d79b1e5e88dae3c2ca322","0xdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76","0xf0499c137ef9dade75015af15608143eb2b5199c874c36b406a0220fb4c81830"],"storage_written":{"0xdf7de25b7f1fd6d0b5205f0e18f1f35bd7b8d84cce336588d184533ce43a6f76":"0x0"},"code_usage":{"read":"0x3bc588b3531b9f56dfc0a9f994e111aaf2b7366fb553354500ceb36034d6cca8"}},"0x000000fee13a103a10d593b9ae06b3e05f2e7e1c":{"balance":"0x8625fa78bc890af","code_usage":{"read":"0xef84d271181487e1160765f1759a9a1bc930c4b6f89dff56afbaaeaeb3233d76"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x81b69b56c63e043848b61dbf780186647c0e0524f486e4b27e7fab4e993e7585","0xbd876285b54cd9a1b4eee6ecba279923e72ea64c8382d445546c7cc7ff26e0d7","0xa5662284aeaac21f86d01768c1911d22601f2d202091cbc3f9dfb598393fe472","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0xb463d5e3e768d651e6d95ec119a4ebb0591f6ad6d2a21313c35df90153dc27d5"],"storage_written":{"0xbd876285b54cd9a1b4eee6ecba279923e72ea64c8382d445546c7cc7ff26e0d7":"0x0","0xb463d5e3e768d651e6d95ec119a4ebb0591f6ad6d2a21313c35df90153dc27d5":"0x9fe1cbcae0","0xa5662284aeaac21f86d01768c1911d22601f2d202091cbc3f9dfb598393fe472":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffc7d61f99"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x6000da47483062a0d734ba3dc7576ce6a0b645c4":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0x1"},"code_usage":{"read":"0x2c40c62a66e1f1c254a739de6e1e25b126f7dd677de74fa715a43d1114d89946"}},"0xee0b4d5d8e5df452504224bd08386c893bfe582a":{"balance":"0x2a8bc57e68d69323","nonce":"0xb7a"},"0x0000000000000000000000000000000000000001":{}},"meta":{"byte_code":"0xf905ed820b798501826e02488303102d94b6613cc55866e282638006455390207c1d485be980b9058498b2165d0000000000000000000000006000da47483062a0d734ba3dc7576ce6a0b645c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000003b9c6737b089120000000000000000000000000000000000000000000000000000000002f37d96b00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000004840d33588400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000006687daf8000000000000000000000000000000000000000000000000000000006687db34000000000000000000000000b6613cc55866e282638006455390207c1d485be90000000000000000000000000000000000000000000000000000000000000064000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000002f390ee6000000000000000000000000000000000000000000000000000000002f390ee600000000000000000000000000000000000000000000000000000000000002000000000000000000000000006000da47483062a0d734ba3dc7576ce6a0b645c4000000000000000000000000c87e98867b392bdba50ffcfe53014226fe1faae704683280593ac9392cb22b5078460fb0c8ffbdfd087baf9d70d91af3858a0902000000000000000000000000000000000000000000000000000000006687db40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b74bae8a74bec400000000000000000000000000000000000000000000000003a858027d140100000000000000000000000000c87e98867b392bdba50ffcfe53014226fe1faae700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002625ae7530f3c000000000000000000000000000000000000000000000000000258c30dc98388000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c000000000000000000000000000000000000000000000000000000000000004113151909bf715333bad23dc9752d7093d7c4cf4a04d34d1fb3405359592e7d8b614b25e8aedf76e4d4049d84b064fc7385d2f056ddf98042fdc8b91b85c39f631c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026a087b2d40e94cc1904f0d5750d79555b6dcc93f4467a86313b84ccf84541006982a0492b62cdabb1785449cd52ae27429b2e8f448038f762f99752be0f55b4ba3a31","new_txn_trie_node_byte":"0xf905ed820b798501826e02488303102d94b6613cc55866e282638006455390207c1d485be980b9058498b2165d0000000000000000000000006000da47483062a0d734ba3dc7576ce6a0b645c40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000003b9c6737b089120000000000000000000000000000000000000000000000000000000002f37d96b00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000004840d33588400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000460000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000006687daf8000000000000000000000000000000000000000000000000000000006687db34000000000000000000000000b6613cc55866e282638006455390207c1d485be90000000000000000000000000000000000000000000000000000000000000064000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000002f390ee6000000000000000000000000000000000000000000000000000000002f390ee600000000000000000000000000000000000000000000000000000000000002000000000000000000000000006000da47483062a0d734ba3dc7576ce6a0b645c4000000000000000000000000c87e98867b392bdba50ffcfe53014226fe1faae704683280593ac9392cb22b5078460fb0c8ffbdfd087baf9d70d91af3858a0902000000000000000000000000000000000000000000000000000000006687db40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b74bae8a74bec400000000000000000000000000000000000000000000000003a858027d140100000000000000000000000000c87e98867b392bdba50ffcfe53014226fe1faae700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002625ae7530f3c000000000000000000000000000000000000000000000000000258c30dc98388000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c000000000000000000000000000000000000000000000000000000000000004113151909bf715333bad23dc9752d7093d7c4cf4a04d34d1fb3405359592e7d8b614b25e8aedf76e4d4049d84b064fc7385d2f056ddf98042fdc8b91b85c39f631c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026a087b2d40e94cc1904f0d5750d79555b6dcc93f4467a86313b84ccf84541006982a0492b62cdabb1785449cd52ae27429b2e8f448038f762f99752be0f55b4ba3a31","new_receipt_trie_node_byte":"0xf902660183d0716cb9010000000000000000000000000000200000000000000000000000000002000000000000000000000000000000000000000000000000000000004000000000000000000000000000000008000008000000000000000000000000000000000000000000080000000000000000000000000000002000000000000000000014000000000000000000000000000000000000000000000000010000000200000000000000000010000000200000000000200004000000000000000000000000000000000000000002000200000000000000010000000000000000000000000000000000000000000000000000000400000000080000000000000400000000000000000000f9015bf89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c87e98867b392bdba50ffcfe53014226fe1faae7a0000000000000000000000000b6613cc55866e282638006455390207c1d485be9a0000000000000000000000000000000000000000000000000000000002f390ee6f8bc946000da47483062a0d734ba3dc7576ce6a0b645c4f884a078ad7ec0e9f89e74012afa58738b6b661c024cb0fd185ee2f616c0a28924bd66a0d47aa17863b0941d0e364e91cc31bfbc08efd1cc545664ea5a6750e28692dd37a0000000000000000000000000b6613cc55866e282638006455390207c1d485be9a0000000000000000000000000c87e98867b392bdba50ffcfe53014226fe1faae7a004683280593ac9392cb22b5078460fb0c8ffbdfd087baf9d70d91af3858a0902","gas_used":154423}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db4c3b2296cdd47"},"0x1615f6d387dd0c57cb48a631e3ffb03ab9c67866":{"balance":"0x164815117497e20"},"0xd6f5bd5c585cbfa75e4012e372d63038b501e6f3":{"balance":"0xfa70f2f735fa8f6","nonce":"0x1e"}},"meta":{"byte_code":"0x02f873011d8405f5e10085059682f000825208941615f6d387dd0c57cb48a631e3ffb03ab9c6786688016345785d8a000080c080a0de65a5a2258f16deef2234b5fdb527a916cf8bf40ad4999dad3522c0e92b3943a068b79064cc236cbbaa402cc76928d7315a972ec0b746e30127204ad4c1b33c23","new_txn_trie_node_byte":"0x02f873011d8405f5e10085059682f000825208941615f6d387dd0c57cb48a631e3ffb03ab9c6786688016345785d8a000080c080a0de65a5a2258f16deef2234b5fdb527a916cf8bf40ad4999dad3522c0e92b3943a068b79064cc236cbbaa402cc76928d7315a972ec0b746e30127204ad4c1b33c23","new_receipt_trie_node_byte":"0xb9010d02f901090183d0c374b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db4c8c82c8f2e47"},"0xb1b2d032aa2f52347fbcfd08e5c3cc55216e8404":{"balance":"0x1c54684d74ef28df","nonce":"0x4d3eb"},"0x320623b8e4ff03373931769a31fc52a4e78b5d70":{"storage_read":["0x8ec3e3d550e948a000c42daaf01e5ca2f340a3b1690d841f35ce232572fe112f","0xf0d573008543459e67c81074c5f622f65a54d0aa1c1a34307f60185f39c0ca33","0x0000000000000000000000000000000000000000000000000000000000000000","0x0e2c084012fa3ba97410790e062fa763600880e8c6809bf6ef0c7e993f51db35"],"storage_written":{"0x8ec3e3d550e948a000c42daaf01e5ca2f340a3b1690d841f35ce232572fe112f":"0xfb5f7231ce38551b7003","0xf0d573008543459e67c81074c5f622f65a54d0aa1c1a34307f60185f39c0ca33":"0x40201f6e2100d0cbcc00"},"code_usage":{"read":"0xed22054db32e0a387dfde4ba3235ecb3866cedd472f632acfb53d43a6264808f"}}},"meta":{"byte_code":"0x02f8b3018304d3ea8405f5e1008502ba7f690a82dd9694320623b8e4ff03373931769a31fc52a4e78b5d7080b844a9059cbb000000000000000000000000e40d548eb4fa4d9188fd21723f2fd377456c08760000000000000000000000000000000000000000000040201f6e2100d0cbcc00c001a087578f01fc1c17c0c8f5813b0bb76f016c306c831867247848bc187cb74f31b4a039256397ec784a6432aa27588d4c55da1b9139f4ea081dec4d63c5f237ffa0fe","new_txn_trie_node_byte":"0x02f8b3018304d3ea8405f5e1008502ba7f690a82dd9694320623b8e4ff03373931769a31fc52a4e78b5d7080b844a9059cbb000000000000000000000000e40d548eb4fa4d9188fd21723f2fd377456c08760000000000000000000000000000000000000000000040201f6e2100d0cbcc00c001a087578f01fc1c17c0c8f5813b0bb76f016c306c831867247848bc187cb74f31b4a039256397ec784a6432aa27588d4c55da1b9139f4ea081dec4d63c5f237ffa0fe","new_receipt_trie_node_byte":"0xb901ab02f901a70183d19de5b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008800000000000000000000000000000000100000000000000000000000000000000002000000000000000000800000010000000000000000002000000000000000000000000000000000000000000000000008000000000001000000000000000000000000000000000000000000000100000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000f89df89b94320623b8e4ff03373931769a31fc52a4e78b5d70f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b1b2d032aa2f52347fbcfd08e5c3cc55216e8404a0000000000000000000000000e40d548eb4fa4d9188fd21723f2fd377456c0876a00000000000000000000000000000000000000000000040201f6e2100d0cbcc00","gas_used":55921}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db4cab11e503647"},"0xd6f5bd5c585cbfa75e4012e372d63038b501e6f3":{"balance":"0xd2716bbe23312de","nonce":"0x1f"},"0x6445cd5aa1f9f6e382c87b5444c00d7d835477cc":{"balance":"0x280b8e495517e20"}},"meta":{"byte_code":"0x02f873011e8405f5e10085059682f000825208946445cd5aa1f9f6e382c87b5444c00d7d835477cc88027f7d0bdb92000080c001a0da955ff952ed77eca4fadb5b97b2a0a1df1d93a8269aa55a0d6bddc7c4a56de6a04e64cab77a9f178541ce27b95a760c91ec11b630f2126d4314439141faf83698","new_txn_trie_node_byte":"0x02f873011e8405f5e10085059682f000825208946445cd5aa1f9f6e382c87b5444c00d7d835477cc88027f7d0bdb92000080c001a0da955ff952ed77eca4fadb5b97b2a0a1df1d93a8269aa55a0d6bddc7c4a56de6a04e64cab77a9f178541ce27b95a760c91ec11b630f2126d4314439141faf83698","new_receipt_trie_node_byte":"0xb9010d02f901090183d1efedb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x0000000000000000000000000000000000000006":{},"0x63fb51c55d9605a75f8872c80de260a00facfaa2":{"code_usage":{"read":"0x5108f1e5222b8fbb63d09b1aa298a658e30ff79e9884f40ef45b4f6799aea012"}},"0xa13baf47339d63b743e7da8741db5456dac1e556":{"storage_read":["0x6a022d934a363d877344b5ccf9594b35d46d9eaaab9e9e0973c556068ac13d3c","0x000000000000000000000000000000000000000000000000000000000000009c","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0xa0334f216fb81bb698dbc6875699b67042bf4274ebecaec0ab07f739c9e957e7","0x0000000000000000000000000000000000000000000000000000000000000065","0xa617b30b4e9cf882bb9c531cd4a0d1b5eed191aabb1b74d4d40c63caa286558f","0x5dfc2ecb7564d0cdb30782cf01bc9876cae46bec79be53589e8104435f72f379"],"storage_written":{"0x6a022d934a363d877344b5ccf9594b35d46d9eaaab9e9e0973c556068ac13d3c":"0x2b7d65b675ca5721b986546595257ada627da353ba5ff66f5070fdf3dc7f938d","0x1b829603917c3e99fd58bf07b8ad29dffc9e573b5c950a49c6523c7975be04db":"0xb06e9467488ccedb45f102fbc8e6f9581ff0b21177b7394229dab67e572bfff1","0x000000000000000000000000000000000000000000000000000000000000009c":"0x4327f"},"code_usage":{"read":"0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c"}},"0x0000000000000000000000000000000000000005":{},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db4fa673a4b6647"},"0xf94afbd9370e25dd6ca557d5d67634aefda2416b":{"storage_read":["0x679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c"],"code_usage":{"read":"0x694834e36a09f882597fed4f317d4c305a748856b5ed0aef530e0bea3cbfcfeb"}},"0x000000000000000000000000000000000000000a":{},"0x4f250b05262240c787a1ee222687c6ec395c628a":{"code_usage":{"read":"0x4a8751c4ac6cdd91e91aa0ac61dcf2ba32e44c19f72333c2c595146fc61d6560"}},"0xebaed7a81c298b24ee6d59c22698a951dc448e01":{"code_usage":{"read":"0x2d4ff142ac8a483ddfd4f3d49de2c7909cf7146c096898021e61adcf10ec195c"}},"0x0d7e906bd9cafa154b048cfa766cc1e54e39af9b":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x000000000000000000000000000000000000000000000000000000000000006a","0x51639df40851ca6dc45e37a3a4bff7a0ec5da3cbc792728ad5cd3c2a34f29e4c","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000006a":"0xda853","0x51639df40851ca6dc45e37a3a4bff7a0ec5da3cbc792728ad5cd3c2a34f29e4c":"0x0"},"code_usage":{"read":"0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c"}},"0x03a72b00d036c479105ff98a1953b15d9c510110":{"code_usage":{"read":"0xa69a3ce200bf287833cb53d85a93e5a943ac51473dd9ee4dff855dcfbaeabb6a"}},"0x0000000000000000000000000000000000000008":{},"0x356483dc32b004f32ea0ce58f7f88879886e9074":{"balance":"0xab1b9f4536813ff5","nonce":"0x4327f"},"0x0000000000000000000000000000000000000007":{}},"meta":{"byte_code":"0x02f90c68018304327e8405f5e1008502ddbd0cbe83099a8e94a13baf47339d63b743e7da8741db5456dac1e55680b90ac400b0f4d700000000000000000000000000000000000000000000000000000000000000c0218fb805ed664fa873760635dc7919340e6117414de23f875001a30f9a7d07ec2b7d65b675ca5721b986546595257ada627da353ba5ff66f5070fdf3dc7f938db06e9467488ccedb45f102fbc8e6f9581ff0b21177b7394229dab67e572bfff100000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000009902000000000004327f000000000000000300000000000da8538f3106297dc6b58af86197480ef5f30bed558e80c9493b6ddc2a67d60c2c70f8010b4fcf4359ba0d1e5821458d00e1580796955c3c1fc872f50d91b27d85b181a80aad532c82eecd4e902f008df4b5b9c48b60e7eebaf78ec84ec36bbe38fecc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0390e42263b0225906e1e2ecccfe06fe733b7061dcecf24a6914720022a50ef1c3c687fce0c4084466ee07afa47d18def56321bf112327a99be2c6b261e5a02e885602220bb628e4d38caa9e4c1179ff7f0cbc009c939de826ebe31cfd82f8422a8093806556987bb7ce0bd9de90cb804b3af4a8dc3b105a2d2d5a1c1f5bde08a38e2f559e3da68b038ee5ac078f69dab29e17ed2de614ba6875f0e81800b5b300000000000000000000000000000000000000000000000000000000000000860000000000000000000000000000000000000000000ac36ca79f67ecea10198d8000000000000000000000000000000000000000000a92136aa860155da99d86b0000000000000000000000000000000000000000000021a60d995fef4310b5a6000000000000000000000000000000000000000000d195e4750793b073a19be80000000000000000000000000000000000000000009479830f3e6526502325a9000000000000000000000000000000000000000000002d95abe09e471f88b8790000000000000000000000000000000000000000003ec133e71cf9d161094408000000000000000000000000000000000000000000a743123f29e6dff3ebb40d000000000000000000000000000000000000000000001791505ecae48efa426f000000000000000000000000000000000000000000dad7cdd14a261bce1cd969000000000000000000000000000000000000000000841ca73b4815aa8b06352b0000000000000000000000000000000000000000000013eed28b577e45323bd723f09d1a2c8fd3b5b0fab735048c3f888482d12c0644cd7e8fd7bdce95fcff9e1dc01cf7e8c14e59ba9e9bbf6701108a84c5aa68f1f623b4bb8bddb57b1e9bc52a051450d6216f7b9f49c4c8954f984b08db4c71d8d41c098a9fe1f666980a861adff2623013015a133f1908d05fba3b6fa6473877c713957e7d1300552bb38414874c82e7a5ada66a7c55b505e3efad83ce393b306f6e5f73aa1ab85c48ccb603d9780c9d24a3df5c96aedc700e1c6af53150cf23e699b596788b8ac4dea840210eaae846a139d0cc8c7ca1f1f7ad0550f60c65edec7a4bbff094a3698f91411916f322e991722572dd441bc91be3475df915e89590352ff17c5a3a7017a97d077b6502d5095d79be4baf99473eb5302ce41a5928a0d67a73021ddf979d9f71231c97dff79925ed41676e56d31020aadf4cfa660d7062f672fabafb6c2a6693196094efb217c2d61bc4d409ca67b02617f0efab46993940c432f4e7e081ac152537f4188009d74abf1ec5989dc6a8ebeb1f6ba56614272355fa05d52f6310370562ed72b5969dddfb3d64829d2b575918db3b6ffeb48eab306391bcc7a04e140933f9f2e3fc59bed462026352738e314b9c666d88b0fa3b509064abec83f941000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020dcedf26393b1514016c9ccb4fe2ba57b88b618c27ead1768e495f75dfa3775814eeb0cc0374a392fa47d50357a8764fcc03b511921124bc6a8f9b8d075ec0551d782e3cfc4d2ecf2baac174f49f57c984d30b28cb9a618acc45b8dde2e1382f25e929fe3e6cb0dc8537609477b89f31947a701c033b72ed64cefa49a6e720151f74cfc945d5e5cc8371d96e5148a6376ecbdbccd330194f5f3bc7b62785f4a6125d91a19fd422a558e06b74cb63873e0f2c1d1bb1b53e21f0b00debfaf5059e13481aeb14f7ec75b01ab7c260da0d005e863ef3daedac6f52b39e6dc69944231c131051b010f34a440162b249d56bc31858ef0421285f087a6b4c1151f145aa2835bac54af97d60c5810e40311d3470d73edede236f12d5f1462809d593430b0b84eb0a424826a878abbc5af4a7a90c2eece15173f98faf9c1fca1831e7d9c2289739a28af6dfbe93f611e9cf26222080a9358e7f21736e65bfd916fc237e802eb64b2d25b33a511aacfe27f1ec3c0384c764ee2b31790bdda74f8b0855099a2c85c43189164377f4cad1bd79555bc5f89917071827f49f95d5a4eff81254451e27cc3cf90f88eb102867bdc03eedd557cf0f7485e41e03b943c0b2db4c619f2524de31bf1b8c2402f0cd163783ca895b880e2cc733f007e9e196c09cb560ae08ca74bc03ab5fd6b2c3c5a0c600eadf724a31d5ce418a70ae3e7abb60ed5b52133607b6cd9e0441a0798b395d6f03d84fc4087c71990a95f85bfc353e33acbf2e3ad7a41ba54886e7310c4878406b66d29eef29ac2c5a5ac34a0566640bb3c82a58d1f1d55e34062c11efdac167e4068729fb9a7d90b1a0bae13e3a035e966e0a71e45a384880a3d685d7698bd243f2a58186ec91327af35ee9800fd242935106f21ff1112f236b467ae4fbb4b35c7710ba8beea65b8aad532f3f8bcad0512b000000000000000000000000000000000000000000000000000000000000000104a00a0ade89e8480964224b3d0428230770c72bf46f6f83570d3eee14c72f040ece9ea58f74cbec73073720067de615aaf770e280ec071b97b6467b2eef80ab029080b819183407d156ec4cd39acb6ab7eef3c70095d5bf31f5113adb05f4370358b2537a40c4a714ac999c4b21bdbed52d1c15e2515709b4f57a5a2d24d357180f746499ef7af145988d21f544fc8f9098c698d537bf8e4c504a011a49998a140297c0a08eee18f06ca5d1775ac8ff85aebc06a83be324997222bda7ffa6021f635eac7b663e50ddd484bbaf97b91ba2dd621d96839ee36e944c4d0df6aa1723bd3a305c722ec08f6533a1744240e61ef7a97f52ffa8fa1986de1b96a6e6942058632bc9280a720bf7356a964504abd045185309fbba5d6884ebe9363502a9112e5a0ea871caf5afed5d824b3b11917ac8fb330ab6db077f9e15a2b7ddf41907678e538426d506723d0e32b7c3c7cca70170a6841ab11908b42a33272672500fff3eb92f1c15ad503a0893b672a209db518169bd2297ee2c27f9b9a1f5660505083d5b8aa57dd6b7217dca661c7e5fdd1ed76272cef3d5233ebf6252d76dbf10a12c180ad5fdbe6fbecf3d8735bd6d5ba0c59c43af1275967b24fa82501bcf1cb738510e1323cb8eff72341a50f7773ca186d7855f2377f79f9678ecc840870cf7a28b8ca7758eecb5040d34bb773b579c58379a3cf1540c1eb87a73550bdf2bd921839eaeb188b7a0a82f8c6f308c9a799fc6234d02da18279e3894d19c77f90131f89b940d7e906bd9cafa154b048cfa766cc1e54e39af9bf884a0b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca0000000000000000000000000000000000000000000000000000000000000006aa051639df40851ca6dc45e37a3a4bff7a0ec5da3cbc792728ad5cd3c2a34f29e4cd694ebaed7a81c298b24ee6d59c22698a951dc448e01c0d6944f250b05262240c787a1ee222687c6ec395c628ac0f794f94afbd9370e25dd6ca557d5d67634aefda2416be1a0679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28cd69463fb51c55d9605a75f8872c80de260a00facfaa2c0d69403a72b00d036c479105ff98a1953b15d9c510110c001a0b6aff9a05d3b0a5c28e02b1f819230371b8d81ece7287087b0dc6142d58fba36a05ce0887022fd4fb8f0b40b2e29452ff608a5c3d4684d55f321e135e533dfbf25","new_txn_trie_node_byte":"0x02f90c68018304327e8405f5e1008502ddbd0cbe83099a8e94a13baf47339d63b743e7da8741db5456dac1e55680b90ac400b0f4d700000000000000000000000000000000000000000000000000000000000000c0218fb805ed664fa873760635dc7919340e6117414de23f875001a30f9a7d07ec2b7d65b675ca5721b986546595257ada627da353ba5ff66f5070fdf3dc7f938db06e9467488ccedb45f102fbc8e6f9581ff0b21177b7394229dab67e572bfff100000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000009902000000000004327f000000000000000300000000000da8538f3106297dc6b58af86197480ef5f30bed558e80c9493b6ddc2a67d60c2c70f8010b4fcf4359ba0d1e5821458d00e1580796955c3c1fc872f50d91b27d85b181a80aad532c82eecd4e902f008df4b5b9c48b60e7eebaf78ec84ec36bbe38fecc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0390e42263b0225906e1e2ecccfe06fe733b7061dcecf24a6914720022a50ef1c3c687fce0c4084466ee07afa47d18def56321bf112327a99be2c6b261e5a02e885602220bb628e4d38caa9e4c1179ff7f0cbc009c939de826ebe31cfd82f8422a8093806556987bb7ce0bd9de90cb804b3af4a8dc3b105a2d2d5a1c1f5bde08a38e2f559e3da68b038ee5ac078f69dab29e17ed2de614ba6875f0e81800b5b300000000000000000000000000000000000000000000000000000000000000860000000000000000000000000000000000000000000ac36ca79f67ecea10198d8000000000000000000000000000000000000000000a92136aa860155da99d86b0000000000000000000000000000000000000000000021a60d995fef4310b5a6000000000000000000000000000000000000000000d195e4750793b073a19be80000000000000000000000000000000000000000009479830f3e6526502325a9000000000000000000000000000000000000000000002d95abe09e471f88b8790000000000000000000000000000000000000000003ec133e71cf9d161094408000000000000000000000000000000000000000000a743123f29e6dff3ebb40d000000000000000000000000000000000000000000001791505ecae48efa426f000000000000000000000000000000000000000000dad7cdd14a261bce1cd969000000000000000000000000000000000000000000841ca73b4815aa8b06352b0000000000000000000000000000000000000000000013eed28b577e45323bd723f09d1a2c8fd3b5b0fab735048c3f888482d12c0644cd7e8fd7bdce95fcff9e1dc01cf7e8c14e59ba9e9bbf6701108a84c5aa68f1f623b4bb8bddb57b1e9bc52a051450d6216f7b9f49c4c8954f984b08db4c71d8d41c098a9fe1f666980a861adff2623013015a133f1908d05fba3b6fa6473877c713957e7d1300552bb38414874c82e7a5ada66a7c55b505e3efad83ce393b306f6e5f73aa1ab85c48ccb603d9780c9d24a3df5c96aedc700e1c6af53150cf23e699b596788b8ac4dea840210eaae846a139d0cc8c7ca1f1f7ad0550f60c65edec7a4bbff094a3698f91411916f322e991722572dd441bc91be3475df915e89590352ff17c5a3a7017a97d077b6502d5095d79be4baf99473eb5302ce41a5928a0d67a73021ddf979d9f71231c97dff79925ed41676e56d31020aadf4cfa660d7062f672fabafb6c2a6693196094efb217c2d61bc4d409ca67b02617f0efab46993940c432f4e7e081ac152537f4188009d74abf1ec5989dc6a8ebeb1f6ba56614272355fa05d52f6310370562ed72b5969dddfb3d64829d2b575918db3b6ffeb48eab306391bcc7a04e140933f9f2e3fc59bed462026352738e314b9c666d88b0fa3b509064abec83f941000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020dcedf26393b1514016c9ccb4fe2ba57b88b618c27ead1768e495f75dfa3775814eeb0cc0374a392fa47d50357a8764fcc03b511921124bc6a8f9b8d075ec0551d782e3cfc4d2ecf2baac174f49f57c984d30b28cb9a618acc45b8dde2e1382f25e929fe3e6cb0dc8537609477b89f31947a701c033b72ed64cefa49a6e720151f74cfc945d5e5cc8371d96e5148a6376ecbdbccd330194f5f3bc7b62785f4a6125d91a19fd422a558e06b74cb63873e0f2c1d1bb1b53e21f0b00debfaf5059e13481aeb14f7ec75b01ab7c260da0d005e863ef3daedac6f52b39e6dc69944231c131051b010f34a440162b249d56bc31858ef0421285f087a6b4c1151f145aa2835bac54af97d60c5810e40311d3470d73edede236f12d5f1462809d593430b0b84eb0a424826a878abbc5af4a7a90c2eece15173f98faf9c1fca1831e7d9c2289739a28af6dfbe93f611e9cf26222080a9358e7f21736e65bfd916fc237e802eb64b2d25b33a511aacfe27f1ec3c0384c764ee2b31790bdda74f8b0855099a2c85c43189164377f4cad1bd79555bc5f89917071827f49f95d5a4eff81254451e27cc3cf90f88eb102867bdc03eedd557cf0f7485e41e03b943c0b2db4c619f2524de31bf1b8c2402f0cd163783ca895b880e2cc733f007e9e196c09cb560ae08ca74bc03ab5fd6b2c3c5a0c600eadf724a31d5ce418a70ae3e7abb60ed5b52133607b6cd9e0441a0798b395d6f03d84fc4087c71990a95f85bfc353e33acbf2e3ad7a41ba54886e7310c4878406b66d29eef29ac2c5a5ac34a0566640bb3c82a58d1f1d55e34062c11efdac167e4068729fb9a7d90b1a0bae13e3a035e966e0a71e45a384880a3d685d7698bd243f2a58186ec91327af35ee9800fd242935106f21ff1112f236b467ae4fbb4b35c7710ba8beea65b8aad532f3f8bcad0512b000000000000000000000000000000000000000000000000000000000000000104a00a0ade89e8480964224b3d0428230770c72bf46f6f83570d3eee14c72f040ece9ea58f74cbec73073720067de615aaf770e280ec071b97b6467b2eef80ab029080b819183407d156ec4cd39acb6ab7eef3c70095d5bf31f5113adb05f4370358b2537a40c4a714ac999c4b21bdbed52d1c15e2515709b4f57a5a2d24d357180f746499ef7af145988d21f544fc8f9098c698d537bf8e4c504a011a49998a140297c0a08eee18f06ca5d1775ac8ff85aebc06a83be324997222bda7ffa6021f635eac7b663e50ddd484bbaf97b91ba2dd621d96839ee36e944c4d0df6aa1723bd3a305c722ec08f6533a1744240e61ef7a97f52ffa8fa1986de1b96a6e6942058632bc9280a720bf7356a964504abd045185309fbba5d6884ebe9363502a9112e5a0ea871caf5afed5d824b3b11917ac8fb330ab6db077f9e15a2b7ddf41907678e538426d506723d0e32b7c3c7cca70170a6841ab11908b42a33272672500fff3eb92f1c15ad503a0893b672a209db518169bd2297ee2c27f9b9a1f5660505083d5b8aa57dd6b7217dca661c7e5fdd1ed76272cef3d5233ebf6252d76dbf10a12c180ad5fdbe6fbecf3d8735bd6d5ba0c59c43af1275967b24fa82501bcf1cb738510e1323cb8eff72341a50f7773ca186d7855f2377f79f9678ecc840870cf7a28b8ca7758eecb5040d34bb773b579c58379a3cf1540c1eb87a73550bdf2bd921839eaeb188b7a0a82f8c6f308c9a799fc6234d02da18279e3894d19c77f90131f89b940d7e906bd9cafa154b048cfa766cc1e54e39af9bf884a0b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca0000000000000000000000000000000000000000000000000000000000000006aa051639df40851ca6dc45e37a3a4bff7a0ec5da3cbc792728ad5cd3c2a34f29e4cd694ebaed7a81c298b24ee6d59c22698a951dc448e01c0d6944f250b05262240c787a1ee222687c6ec395c628ac0f794f94afbd9370e25dd6ca557d5d67634aefda2416be1a0679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28cd69463fb51c55d9605a75f8872c80de260a00facfaa2c0d69403a72b00d036c479105ff98a1953b15d9c510110c001a0b6aff9a05d3b0a5c28e02b1f819230371b8d81ece7287087b0dc6142d58fba36a05ce0887022fd4fb8f0b40b2e29452ff608a5c3d4684d55f321e135e533dfbf25","new_receipt_trie_node_byte":"0xb9026802f902640183d9f11db9010000000000000000100000000008000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000080020000000000000000040000000000000000000004000000000000080000000000000000000000000000000100000000000000000000000000000200000000000000000000002000000000000000000000000000000000000000080000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000404000000000000020100000000000000000000000000000f90159f899940d7e906bd9cafa154b048cfa766cc1e54e39af9be1a0c77f792f838ae38399ac31acc3348389aeb110ce7bedf3cfdbdd5e6679267970b86000000000000000000000000000000000000000000000000000000000000da85000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000f8bc94a13baf47339d63b743e7da8741db5456dac1e556f863a026ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2da0000000000000000000000000000000000000000000000000000000000004327fa06174717637e55284071a83ec32b7dcb26da4b4361b3fd8230c0231ef012808e8b8402b7d65b675ca5721b986546595257ada627da353ba5ff66f5070fdf3dc7f938db06e9467488ccedb45f102fbc8e6f9581ff0b21177b7394229dab67e572bfff1","gas_used":524592}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db4fc4b4859dc47"},"0x6f98f703c85e05ad36e04843325a2a0a756c8cb8":{"balance":"0x5bf1de12d38dde90"},"0x93abee3b44b324d9548bce013881f1a3fdf27054":{"balance":"0x6573ad67a94b2","nonce":"0x14"}},"meta":{"byte_code":"0x02f87301138405e69ec08502160ec000825208946f98f703c85e05ad36e04843325a2a0a756c8cb8885a4d82064177800080c080a0da85a161dfaea3e69eabcef558b0ad40bebe6540b44008ec4f2e45a835f64621a00e614e405a0fc62dcdc6ea419082d380bc2790b82a00851af975c3b54e79a9a5","new_txn_trie_node_byte":"0x02f87301138405e69ec08502160ec000825208946f98f703c85e05ad36e04843325a2a0a756c8cb8885a4d82064177800080c080a0da85a161dfaea3e69eabcef558b0ad40bebe6540b44008ec4f2e45a835f64621a00e614e405a0fc62dcdc6ea419082d380bc2790b82a00851af975c3b54e79a9a5","new_receipt_trie_node_byte":"0xb9010d02f901090183da4325b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x7396100a4c474a2151a1ebc2748510f9631fc4c7":{"balance":"0x22c1c5ba2be8","nonce":"0x2"},"0x95d708e96c8a1bce0a8d57c40c7ea3e9288a576c":{"balance":"0x2bb7142ad109ff2"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db4fe2f56685247"}},"meta":{"byte_code":"0x02f87201018405e69ec08501ed86c6008252089495d708e96c8a1bce0a8d57c40c7ea3e9288a576c872ceb3470ba5c2080c001a02bff79877faa16412f35b726a72bd0d812542ffd25dd271b7ab36e3992f82041a06b67409206004bd9aece291a2c434ce31475fff458c0252c9995e7d13946db1a","new_txn_trie_node_byte":"0x02f87201018405e69ec08501ed86c6008252089495d708e96c8a1bce0a8d57c40c7ea3e9288a576c872ceb3470ba5c2080c001a02bff79877faa16412f35b726a72bd0d812542ffd25dd271b7ab36e3992f82041a06b67409206004bd9aece291a2c434ce31475fff458c0252c9995e7d13946db1a","new_receipt_trie_node_byte":"0xb9010d02f901090183da952db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95d708e96c8a1bce0a8d57c40c7ea3e9288a576c":{"balance":"0x2eb608027569772"},"0xdea91b35c671493d30abb854d36c546b20cc3486":{"balance":"0x22c1c5ba2be8","nonce":"0x2"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db500136476c847"}},"meta":{"byte_code":"0x02f87201018405e69ec08501ed86c6008252089495d708e96c8a1bce0a8d57c40c7ea3e9288a576c872fef3d7a45f78080c001a04bc4ae22958064cf2bc87f872f375a937b2826dfa8626d7e5d410c18baa55098a07ac699c9bd94cf4141f4c200079490df3595e45fdba48f12024785a6d49e9cd7","new_txn_trie_node_byte":"0x02f87201018405e69ec08501ed86c6008252089495d708e96c8a1bce0a8d57c40c7ea3e9288a576c872fef3d7a45f78080c001a04bc4ae22958064cf2bc87f872f375a937b2826dfa8626d7e5d410c18baa55098a07ac699c9bd94cf4141f4c200079490df3595e45fdba48f12024785a6d49e9cd7","new_receipt_trie_node_byte":"0xb9010d02f901090183dae735b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x69420e3a3aa9e17dea102bb3a9b3b73dcddb9528":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000014","0x000000000000000000000000000000000000000000000000000000000000000b","0x77fdeab8a8c68abc33fb69e729ebaa3c4793265aa076a21251aa3fe8b4f76aa3","0x0000000000000000000000000000000000000000000000000000000000000011","0xe67a5be0df69d68f3df328b5d1afdca12b5b5277e06b2a3d4afc41c8c73db882","0x0000000000000000000000000000000000000000000000000000000000000000","0x426302ea6ce0b31f61a218aa0c4ebcb1efe542249edd2faf5d768bc2e689aa38","0x000000000000000000000000000000000000000000000000000000000000000e","0x0000000000000000000000000000000000000000000000000000000000000009","0x08d86db83d7689e5ff1d3502efe9cb01bacdb487b1be064e2f96f2949a7c8b2c","0x66f6e3cb58fb7f742ae43b24bbf13e74db6755cc43edb42d8891b250589589a5","0x7ecb470ce043dd6ffe50d965723a9f6e283733b4997c45d8dcea5682024b8a73"],"storage_written":{"0xe67a5be0df69d68f3df328b5d1afdca12b5b5277e06b2a3d4afc41c8c73db882":"0x429d069189e0000","0x66f6e3cb58fb7f742ae43b24bbf13e74db6755cc43edb42d8891b250589589a5":"0xfffffffffffffffffffffffffffffffffffffffffffffffff1928354cbf38566","0x08d86db83d7689e5ff1d3502efe9cb01bacdb487b1be064e2f96f2949a7c8b2c":"0x30527744f9d67a87d"},"code_usage":{"read":"0xb23694afbf64305aacdd3a4b11a920fc00ab4fd4012e3cde25535ca9aaa62f69"}},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0x429c43f5848949d5d6506c80b069e4053879c5d6001f3817cc831c1e1479b659"],"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243945558f7fbc0ca16a2","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x0a72b3e116c44be5a266507d99c29f916f17e479d8b3481be03197ec3e686ef2","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa"],"storage_written":{"0x0a72b3e116c44be5a266507d99c29f916f17e479d8b3481be03197ec3e686ef2":"0x80267190d0a627310","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa":"0xa05b9750621e641","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db50f0a69121e87"},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x4088890b10bc362d3ca7c219137caaf2cacb9175":{"balance":"0x623a7071a91cd7b4","nonce":"0x56"},"0xd6b117076222d95a05032a99f10738103c60d64d":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf30000000000080267190d0a6273100000000000030527744f9d67a87d","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000009":"0x25e57b8cf550ab7c1a6057c1dd68039e240","0x000000000000000000000000000000000000000000000000000000000000000a":"0x15a6b9e97b0de11986495fcb0d0e8743b4"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}}},"meta":{"byte_code":"0x02f9039201558405e69ec08501e6f84e8083038ce9943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd33000000000000000000000000000000000000000000000000000000000000000308060c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006e7cc54bfb024e10000000000000000000000000000000000000000000000000ed669534db8d88c00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000069420e3a3aa9e17dea102bb3a9b3b73dcddb9528000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000eccea579349a9ecc001a0fdd20827f609012b1a059e2f231f48b20f29380ce00b0d1440f2bd8d2fe5d36da054abcc6ca59ec25d9807074f2748fbe7bc0a9ad3a0a4815f99012fd5977db023","new_txn_trie_node_byte":"0x02f9039201558405e69ec08501e6f84e8083038ce9943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd33000000000000000000000000000000000000000000000000000000000000000308060c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006e7cc54bfb024e10000000000000000000000000000000000000000000000000ed669534db8d88c00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000069420e3a3aa9e17dea102bb3a9b3b73dcddb9528000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000eccea579349a9ecc001a0fdd20827f609012b1a059e2f231f48b20f29380ce00b0d1440f2bd8d2fe5d36da054abcc6ca59ec25d9807074f2748fbe7bc0a9ad3a0a4815f99012fd5977db023","new_receipt_trie_node_byte":"0xb9057802f905740183dd7070b9010000200000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000002000000880000080000000000200000000000080400000000004008000000200000000000400800000000000020000000000000000080200000000000000000000000000000040000000010000000000008000000000000000000000020000000000000000000088000004000000000020000000000020000000000000000000000000000000000000040000080000000000002000000000000000000010000000000000000001000000002000000000010200000000000000080000000000000001000100040800000000000000000f90469f89b9469420e3a3aa9e17dea102bb3a9b3b73dcddb9528f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000004088890b10bc362d3ca7c219137caaf2cacb9175a0000000000000000000000000d6b117076222d95a05032a99f10738103c60d64da000000000000000000000000000000000000000000000000006e7cc54bfb024e1f89b9469420e3a3aa9e17dea102bb3a9b3b73dcddb9528f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000004088890b10bc362d3ca7c219137caaf2cacb9175a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0fffffffffffffffffffffffffffffffffffffffffffffffff1928354cbf38566f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d6b117076222d95a05032a99f10738103c60d64da00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000000126c414a298415aef87994d6b117076222d95a05032a99f10738103c60d64de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000030527744f9d67a87d0000000000000000000000000000000000000000000000080267190d0a627310f8fc94d6b117076222d95a05032a99f10738103c60d64df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000000000006e7cc54bfb024e100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000126c414a298415aef89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca0000000000000000000000000000000000000000000000000000bca6739b42b92f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000000126076e2efcfea1c","gas_used":166203}},{"traces":{"0xc397685335614da34ba682f5e02aae9e64d1ec2e":{"balance":"0x2276420f714cdf","nonce":"0x1"},"0x20cd2e7ec8f5d8b337fe46a4f565ccef1561b9a9":{"storage_read":["0x37692d5b4eef94eb0007991adb4e0423d6c033afa7300ef3ff3c755ee4e5463d"],"storage_written":{"0x37692d5b4eef94eb0007991adb4e0423d6c033afa7300ef3ff3c755ee4e5463d":"0x84595161401484a000000"},"code_usage":{"read":"0x982e389ca48dec397946bc1d1700523cad0744cf6786060e6828788d9075673c"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db5133831e060c7"}},"meta":{"byte_code":"0x02f8b101808405e69ec08501e6f84e808301122f9420cd2e7ec8f5d8b337fe46a4f565ccef1561b9a980b844095ea7b30000000000000000000000005520e9e5475985bd078458205f51fd4d4820efd2000000000000000000000000000000000000000000084595161401484a000000c001a0a57f6c62a5d79d022ae8cacd709b80ebafce8edc77f9d9d416d6c1ed887cab6ca03f1a4d3269fbb38d75550b8c415f9861193217ba337302e3447ac9b8b5ab9858","new_txn_trie_node_byte":"0x02f8b101808405e69ec08501e6f84e808301122f9420cd2e7ec8f5d8b337fe46a4f565ccef1561b9a980b844095ea7b30000000000000000000000005520e9e5475985bd078458205f51fd4d4820efd2000000000000000000000000000000000000000000084595161401484a000000c001a0a57f6c62a5d79d022ae8cacd709b80ebafce8edc77f9d9d416d6c1ed887cab6ca03f1a4d3269fbb38d75550b8c415f9861193217ba337302e3447ac9b8b5ab9858","new_receipt_trie_node_byte":"0xb901ab02f901a70183de25bbb9010000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000010000000000200000000000000000000000000000000000000000100004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000800000040000000000000000010000000000000000010000000000000000000000000000000000000000000f89df89b9420cd2e7ec8f5d8b337fe46a4f565ccef1561b9a9f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c397685335614da34ba682f5e02aae9e64d1ec2ea00000000000000000000000005520e9e5475985bd078458205f51fd4d4820efd2a0000000000000000000000000000000000000000000084595161401484a000000","gas_used":46411}},{"traces":{"0x5e668302b7312fc79793fe75ae91dab705abd9d3":{"balance":"0x22fe4383ab91","nonce":"0x5"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db514f03ea7b4c7"},"0x9e2633636a420587ab2ffb6dea56b19114819513":{"balance":"0x48d84784798000"}},"meta":{"byte_code":"0x02f872010484055d4a808501ed86c600825208949e2633636a420587ab2ffb6dea56b191148195138748d8478479800080c080a0ed51580681f6e36dc70eef8043cf1fd099d33174a9b461617084264c82d3fe0ba03e2a9ec90e0fd262f9a07a8bb85221d7fe3cc7fde51a6bc4dc595ad17e612f5c","new_txn_trie_node_byte":"0x02f872010484055d4a808501ed86c600825208949e2633636a420587ab2ffb6dea56b191148195138748d8478479800080c080a0ed51580681f6e36dc70eef8043cf1fd099d33174a9b461617084264c82d3fe0ba03e2a9ec90e0fd262f9a07a8bb85221d7fe3cc7fde51a6bc4dc595ad17e612f5c","new_receipt_trie_node_byte":"0xb9010d02f901090183de77c3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db518522b7b48c7"},"0x10cbb57dd3510c9ef5856c8fa0f5315690b14348":{"balance":"0x12a36809c98cd0","nonce":"0x35"},"0xa045fe936e26e1e1e1fb27c1f2ae3643acde0171":{"storage_written":{"0x2863008212dbb5aa12111b1bc57d9caa549feecb401756440762d9e49223ab69":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x283fe41d6d21400594d471522fd6a64f86a331001defcc346793729ce6c56097"}}},"meta":{"byte_code":"0x02f8af01348404c4b4008501d21bbb0082ec1494a045fe936e26e1e1e1fb27c1f2ae3643acde017180b844095ea7b3000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0019f2c717a8c182d32460048c131e84608cca3fe47bac6d4059c0621677be03450a039bf0d947f746c8b8dd335fa0c43803580c117ea1806a9ea4c5ae308ec7deaa3","new_txn_trie_node_byte":"0x02f8af01348404c4b4008501d21bbb0082ec1494a045fe936e26e1e1e1fb27c1f2ae3643acde017180b844095ea7b3000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0019f2c717a8c182d32460048c131e84608cca3fe47bac6d4059c0621677be03450a039bf0d947f746c8b8dd335fa0c43803580c117ea1806a9ea4c5ae308ec7deaa3","new_receipt_trie_node_byte":"0xb901ab02f901a70183df2d5cb9010000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000004001010000002000000000000000000000000000000000000000000000000000000000000000000010000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000020000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94a045fe936e26e1e1e1fb27c1f2ae3643acde0171f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000010cbb57dd3510c9ef5856c8fa0f5315690b14348a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46489}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db52e20b8e594c7"},"0xa045fe936e26e1e1e1fb27c1f2ae3643acde0171":{"storage_read":["0x7c5dc72932affb814acd77172e0067ed7773d08fc953e58fb6404ecb0e7918fb","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000024","0xfee25217872e1635bd24c995c71de41cd4e73ced91864f0df2455b58d219eef7","0x0000000000000000000000000000000000000000000000000000000000000014","0xfe67c275a9b8603fe2d911a016f3c5513cc43503713f2407b8c2659b59630b28","0x0000000000000000000000000000000000000000000000000000000000000006","0x000000000000000000000000000000000000000000000000000000000000001b","0x0000000000000000000000000000000000000000000000000000000000000018","0x60f5dc3adf627cc8ee926272ae66c143f44c8a4c56003f4a26bb918cde680c96","0x0000000000000000000000000000000000000000000000000000000000000011","0xfd57e0da32991ba05427d33d4f637692387021e6a2ffa013302b53cb2e15044f","0x0000000000000000000000000000000000000000000000000000000000000003","0xd9e9c2c22396e000b1f264b3b0733e6e3c186870fb7f184d287682a50b0ce167","0x28629465fc8d6f267bb3b00b4d7d12b68e60868dccbe1313e7e7210f4a8ce652","0x4035bf734b71bff77d43d36a6499973e57c1f28205177031617a44eb72f861a2","0x5863876b8b768a68c6d552a88583e6a92259671e4e599036ce4b12d185e0153f","0x0000000000000000000000000000000000000000000000000000000000000023","0x046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299","0x351ef4c4037a1efa8274951f7413e5d1b195997bc5442d3302ec3ecbc682571a","0x0000000000000000000000000000000000000000000000000000000000000016","0x0000000000000000000000000000000000000000000000000000000000000012","0x63d8223f55e6f31bb9412432f10dc7e299ee0e2ab80cbd224e7374a8fa7c5623","0x2863008212dbb5aa12111b1bc57d9caa549feecb401756440762d9e49223ab69","0x0000000000000000000000000000000000000000000000000000000000000025","0x0000000000000000000000000000000000000000000000000000000000000013","0xff3d6a79cdec86d8a0124d26dcd60028d6aef4dad7bd3440c9a886b1e69792d6","0x4bb16deb91cae23cf83f6aeabbb8d2e78692b97abd61589e1ffc852057b39a61","0xda97703d15dae00ce8b6292828f01a1e3a5292f8f79ab8478854bac2f925f54f","0x497ba0e30932596afc8c15339844d90d5e4d9f254f504b6c53eb63b9636f587a"],"storage_written":{"0x046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd09334299":"0x0","0x63d8223f55e6f31bb9412432f10dc7e299ee0e2ab80cbd224e7374a8fa7c5623":"0x284300e02f41a0f862f","0x28629465fc8d6f267bb3b00b4d7d12b68e60868dccbe1313e7e7210f4a8ce652":"0x0","0x497ba0e30932596afc8c15339844d90d5e4d9f254f504b6c53eb63b9636f587a":"0x0","0x60f5dc3adf627cc8ee926272ae66c143f44c8a4c56003f4a26bb918cde680c96":"0x1db2c4d460e9b9133"},"code_usage":{"read":"0x283fe41d6d21400594d471522fd6a64f86a331001defcc346793729ce6c56097"}},"0xb2bc06a4efb20fc6553a69dbfa49b7be938034a7":{"code_usage":{"read":"0x001120bae5515679bd3a52da062bdc2fac04b2111d54acf643e1ef9b98b5f784"}},"0xf164fc0ec4e93095b804a4795bbe1e041497b92a":{"code_usage":{"read":"0x26a531b690d2a1ed10ca775554e708ec9f162ce9b40b545b630d6ef40352fe59"}},"0x8146cbbe327364b13d0699f2ced39c637f92501a":{"code_usage":{"read":"0x1dc5a430088005e9e2cf69f323fb8818c48eb71f42d9b51b14ae495a45678c1f"}},"0x7afa9d836d2fccf172b66622625e56404e465dbd":{"balance":"0x5452570ddc4b7f46e"},"0x10cbb57dd3510c9ef5856c8fa0f5315690b14348":{"balance":"0x705f8040d0f83f","nonce":"0x36"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x2439454f3847453c9aed8","storage_read":["0x6edd8277330a1cc2875d663cab43ccca345252f83187e79d9903785e3cde7d32","0xb1151b5f51c370d607b59e0034392dd388ea4cc8dded24ec75baf3df36983150"],"storage_written":{"0xb1151b5f51c370d607b59e0034392dd388ea4cc8dded24ec75baf3df36983150":"0x0","0x6edd8277330a1cc2875d663cab43ccca345252f83187e79d9903785e3cde7d32":"0x3b0483f70c223109e"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xb10d5acee2233a30f03adf6f425249113395d7a8":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf3000000000003b0483f70c223109e000000000284300e02f41a0f862f","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x000000000000000000000000000000000000000000000000000000000000000a":"0x4df49ae27955d0b0d0cca8930da828a5bbe8","0x0000000000000000000000000000000000000000000000000000000000000009":"0x239a4b433f589c9b6975ff7a345e9e68"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xea500d073652336a58846ada15c25f2c6d2d241f":{"code_usage":{"read":"0x3c017c2d75197546650d1d1a132e28d6fdf9a2e3373d4fa5ce03ae1a2029ae28"}},"0x22f9dcf4647084d6c31b2765f6910cd85c178c18":{"code_usage":{"read":"0x7f33c56fed037dca7ab27022ca254a42f58dc19bf31970b08504dae0a15724b1"}},"0xa2f1f3a93921299f071a002b77a5f3175492bc6a":{"code_usage":{"read":"0xed6d476ba87a9bfba1dfe9e0868bfe12c8a814a8d21495fc84ff8b751be1c531"}},"0xdef1c0ded9bec7f1a1670819833240f027b25eff":{"storage_read":["0x1454083160665801f09e29ab8f69468d8b8efd1ebbd910c5a96df81a9aa0224b","0x0000000000000000000000000000000500000000000000000000000000000000","0x0000000000000000000000000000000500000000000000000000000000000001"],"code_usage":{"read":"0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e"}},"0x2fd08c1f9fc8406c1d7e3a799a13883a7e7949f0":{"code_usage":{"read":"0xe5194dd7af8a3cc2e61e50489d79efa7d9545c129ba856fd12fba91076809725"}},"0x44a6999ec971cfca458aff25a808f272f6d492a2":{"code_usage":{"read":"0xeac0d8fb40bc7dca1a56d3b86444df73f67ed68e1a14b62734a91814e55c10d7"}}},"meta":{"byte_code":"0x02f9085601358404c4b4008501d21bbb008305f1f994def1c0ded9bec7f1a1670819833240f027b25eff80b907e8415565b0000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde0171000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000004563918244f4000000000000000000000000000000000000000000000000000000641604644b5c2700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde0171000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000004563918244f40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000002556e69737761705632000000000000000000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000000064f1abde606745000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000f164fc0ec4e93095b804a4795bbe1e041497b92a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde0171000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000dba77a150b1e0000000000000000000000007afa9d836d2fccf172b66622625e56404e465dbd000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde01710000000000000000000000000000000000000000000000000000000000000000869584cd0000000000000000000000007afa9d836d2fccf172b66622625e56404e465dbd000000000000000000000000000000000000000044cd581ce6a4d159dc62a5f8c080a0f0f9a2be58061bf54011a76b8991f3002ce35399f1507d8a6a187aae50d27b38a033e67c57523e5cd234e0e94e67e6329c777c01586724fedce89ae5dcf44734ce","new_txn_trie_node_byte":"0x02f9085601358404c4b4008501d21bbb008305f1f994def1c0ded9bec7f1a1670819833240f027b25eff80b907e8415565b0000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde0171000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000004563918244f4000000000000000000000000000000000000000000000000000000641604644b5c2700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde0171000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000004563918244f40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000002556e69737761705632000000000000000000000000000000000000000000000000000000000000004563918244f400000000000000000000000000000000000000000000000000000064f1abde606745000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000f164fc0ec4e93095b804a4795bbe1e041497b92a00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde0171000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000dba77a150b1e0000000000000000000000007afa9d836d2fccf172b66622625e56404e465dbd000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde01710000000000000000000000000000000000000000000000000000000000000000869584cd0000000000000000000000007afa9d836d2fccf172b66622625e56404e465dbd000000000000000000000000000000000000000044cd581ce6a4d159dc62a5f8c080a0f0f9a2be58061bf54011a76b8991f3002ce35399f1507d8a6a187aae50d27b38a033e67c57523e5cd234e0e94e67e6329c777c01586724fedce89ae5dcf44734ce","new_receipt_trie_node_byte":"0xb907cd02f907c90183e3c01bb9010000210020000080000000001080000000000000000000000000000000000200000001040000000010000000000000000002000000080000000000000000000000004001018000000000000008004000208000000000400000000000000000000000000000000000010010001000000000000000000000040000000010000000000000000000000000000000000000000000000000000000080100004000088000008000000000000000000000000001000000000000008000000000000000004001000002001000000000000000000000000000000000001000004002000000000000200000000400000000000000000400000000000000000800000010001400f906bef89b94a045fe936e26e1e1e1fb27c1f2ae3643acde0171f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000010cbb57dd3510c9ef5856c8fa0f5315690b14348a0000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde0171a00000000000000000000000000000000000000000000000000000000000000000f89b94a045fe936e26e1e1e1fb27c1f2ae3643acde0171f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000010cbb57dd3510c9ef5856c8fa0f5315690b14348a000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18a00000000000000000000000000000000000000000000000004563918244f40000f89b94a045fe936e26e1e1e1fb27c1f2ae3643acde0171f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18a0000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde0171a00000000000000000000000000000000000000000000000000000000000000000f89b94a045fe936e26e1e1e1fb27c1f2ae3643acde0171f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18a0000000000000000000000000b10d5acee2233a30f03adf6f425249113395d7a8a00000000000000000000000000000000000000000000000004563918244f40000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b10d5acee2233a30f03adf6f425249113395d7a8a000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18a0000000000000000000000000000000000000000000000000006573876d0067caf87994b10d5acee2233a30f03adf6f425249113395d7a8e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000284300e02f41a0f862f000000000000000000000000000000000000000000000003b0483f70c223109ef8fc94b10d5acee2233a30f03adf6f425249113395d7a8f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000f164fc0ec4e93095b804a4795bbe1e041497b92aa000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18b8800000000000000000000000000000000000000000000000004563918244f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006573876d0067caf8d99422f9dcf4647084d6c31b2765f6910cd85c178c18e1a0e59e71a14fe90157eedc866c4f8c767d3943d6b6b2e8cd64dddcc92ab4c55af8b8a000000000000000000000000000000002556e6973776170563200000000000000000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde0171000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000004563918244f40000000000000000000000000000000000000000000000000000006573876d0067caf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a000000000000000000000000022f9dcf4647084d6c31b2765f6910cd85c178c18a0000000000000000000000000000000000000000000000000006573876d0067caf8db94def1c0ded9bec7f1a1670819833240f027b25efff842a00f6672f78a59ba8e5e5b5d38df3ebc67f3c792e2c9259b8d97d7f00dd78ba1b3a000000000000000000000000010cbb57dd3510c9ef5856c8fa0f5315690b14348b880000000000000000000000000a045fe936e26e1e1e1fb27c1f2ae3643acde0171000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000004563918244f40000000000000000000000000000000000000000000000000000006497dff2eb5cac","gas_used":299711}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db52fa7e0b334c7"},"0x7314b272484968e6fdc545bd934ec52c12b42d5e":{"balance":"0x232d5712b7e8","nonce":"0x4"},"0x1eceefede5116b551c57a76a02154856584ccb12":{"balance":"0x4060495cb5f92f"}},"meta":{"byte_code":"0x02f87201038404c4b4008501c03a1800825a3c941eceefede5116b551c57a76a02154856584ccb128740018faac5a2a580c080a08beb3797b9103b31c4b45a39b2a850bae8648b33672430956ad11b3069f302a3a041603c2e15b5445c3e307b35cc49a460e7bdce6c46c2e9edf7da7ae65cbfd65f","new_txn_trie_node_byte":"0x02f87201038404c4b4008501c03a1800825a3c941eceefede5116b551c57a76a02154856584ccb128740018faac5a2a580c080a08beb3797b9103b31c4b45a39b2a850bae8648b33672430956ad11b3069f302a3a041603c2e15b5445c3e307b35cc49a460e7bdce6c46c2e9edf7da7ae65cbfd65f","new_receipt_trie_node_byte":"0xb9010d02f901090183e41223b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x0ab1a9f0372b53322a02553662f20576aa214725":{"balance":"0x5fa805756b4445","nonce":"0x2f"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db5312f0880d4c7"},"0x93a91579a3ecd98d96e4b1e90271edc6cbedcdd7":{"balance":"0x1d882cb9b208000"}},"meta":{"byte_code":"0x02f873012e8404c4b4008501c03a1800825a3c9493a91579a3ecd98d96e4b1e90271edc6cbedcdd78801d882cb9b20800080c001a0dde1788f648263651d25a851088bc9ad2c78976bfcd546121c1b0521ffa82764a07757768a6994d785c14373dec209c293b9487d0156e926411a0b9f6a48b51427","new_txn_trie_node_byte":"0x02f873012e8404c4b4008501c03a1800825a3c9493a91579a3ecd98d96e4b1e90271edc6cbedcdd78801d882cb9b20800080c001a0dde1788f648263651d25a851088bc9ad2c78976bfcd546121c1b0521ffa82764a07757768a6994d785c14373dec209c293b9487d0156e926411a0b9f6a48b51427","new_receipt_trie_node_byte":"0xb9010d02f901090183e4642bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x07ddacf367f0d40bd68b4b80b4709a37bdc9f847":{"storage_read":["0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02","0xef8212f7cb1fc5316883a859f489caea2846c848100cab7df5dc736b29aad416","0xc397e74362635c6520f1f7eb0f1559be7b1c6d12820b6f18f5fe70f1ea10e4f0","0x3dfcc3619b2b03aaec2a2dba8a48fb4b72780696bf59dcf53616ebcda17b4cf3","0x0000000000000000000000000000000000000000000000000000000000000011","0x0000000000000000000000000000000000000000000000000000000000000005","0x924f0922eaa5b32ea369ee9d59dfba4fc6bfe907b5eb25c5c319f734c091e7a5","0x89018013aee8a710670ff23df4ee4e96a21b609f02c5dfa416dce898291a7a28","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc","0xe7c8b6140e2b2c6331f4233092e7bb0274e98129b11a49c6df2e5a9b435ea057","0x94989ec8efcd994eebedf86b49f9f79179056a1312b84e7436a3bbb617cec989","0x1de968c16474ad908baac7582873a5bc232a0e0451cc5a7121e14cd9a3609e76","0xc8078de9f32929bfa327aba7fd52488ab8697a1a405e9486484d59752f3f1254","0x2ec361857c01346ff25f62f7da064c2882a338424dce37b3a268bc708b6cccea","0x36289b9dfdf2266af517480f1f00f4cc48f3fe9b09460e27e440a98d2f136d4e","0x6b52f52c6fc374fd197a941749576f5fdcedf0c7b79067b8c2e5d3ca48061b6f","0x5087f316fa1c34902e1bff8390720c56eb8a264d7cd80222ac7bc55634f7709f","0x0000000000000000000000000000000000000000000000000000000000000016","0xd0599f9103556caffe40cb864860d42772effeb0a7025434425ff932762c8b00","0x0000000000000000000000000000000000000000000000000000000000000023","0x0000000000000000000000000000000000000000000000000000000000000009","0xf8fedc420b168b6a11e9473ae9a1975e931f5970ec8018bfd1cb19a2dd9f933a"],"storage_written":{"0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc":"0x0","0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02":"0x1bb0ca01a7a67e3031899c1d5","0xf8fedc420b168b6a11e9473ae9a1975e931f5970ec8018bfd1cb19a2dd9f933a":"0x13e47e4127598670c7293ba3f41","0x3dfcc3619b2b03aaec2a2dba8a48fb4b72780696bf59dcf53616ebcda17b4cf3":"0x40016c8bf0dc1ca383a2e370"},"code_usage":{"read":"0x69e7211424eba919c9239d520448706176d73430e67afca63bc7f1b3dc1cabad"}},"0x81993b81f6c046027f1b6d6d3cd2c55c91065372":{"balance":"0xba658fb9f2ea9","nonce":"0x8"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db53f1d91fd18c7"},"0x9a741cc15028b32b159f173f3ae6f88ac2b6921b":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x000000000000000000000000000000000000000000000000000000000000000a":"0x7bcb305bc40d1b41f00b09ae3e95203ac9074454d28","0x0000000000000000000000000000000000000000000000000000000000000009":"0x7da8c242ca4e1d9ed549d4","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687daf300000000000107c06c3fd03a4eb6013e47e4127598670c7293ba3f41"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243945528cedffb6b2ed8","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0xcb9ffb2645c25cecec159e4830ea5405361383c72b7ce56e490ba384ddc6de52"],"storage_written":{"0xcb9ffb2645c25cecec159e4830ea5405361383c72b7ce56e490ba384ddc6de52":"0x107c06c3fd03a4eb6","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}}},"meta":{"byte_code":"0x02f9043901078404c4b4008501ba443700830463d8943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87354a6ba7a18000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd3300000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000003fd8c4330bbeec608c3243a100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f847000000000000000000000000000000000000000000000000000000000000006000000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f847000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000006000000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f847000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000003fafe78c84ad2a819615fa80c080a0cb6f395b163639e2a9156c10b070c29653db0ef5c45136b5c802888695a2482da063d231ed8160f447c24660cc7fe95f78f1fe33cec232434e330a8ce65acc705b","new_txn_trie_node_byte":"0x02f9043901078404c4b4008501ba443700830463d8943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87354a6ba7a18000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd3300000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000354a6ba7a1800000000000000000000000000000000000000000003fd8c4330bbeec608c3243a100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f847000000000000000000000000000000000000000000000000000000000000006000000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f847000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000006000000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f847000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000003fafe78c84ad2a819615fa80c080a0cb6f395b163639e2a9156c10b070c29653db0ef5c45136b5c802888695a2482da063d231ed8160f447c24660cc7fe95f78f1fe33cec232434e330a8ce65acc705b","new_receipt_trie_node_byte":"0xb9057802f905740183e75020b9010000200000000000000000000080000000000000000000000000000010000080000000400000000000000100000000000002000000080000000000000000000200000000080000000000000008000000200000000000000000000000008020000000000000000000200000000000000000000040000000000000000010000000000008000000000000000000000020000040000001000000080000004000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000004000000000000000000000000001000000000000000000000200000000000000000000000000000001002000080c00000000800000000f90469f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000354a6ba7a18000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921ba000000000000000000000000000000000000000000000000000354a6ba7a18000f89b9407ddacf367f0d40bd68b4b80b4709a37bdc9f847f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921ba00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000402a7d8019e2701e786ad5e4f879949a741cc15028b32b159f173f3ae6f88ac2b6921be1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000013e47e4127598670c7293ba3f4100000000000000000000000000000000000000000000000107c06c3fd03a4eb6f8fc949a741cc15028b32b159f173f3ae6f88ac2b6921bf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000354a6ba7a180000000000000000000000000000000000000000000402a7d8019e2701e786ad5e40000000000000000000000000000000000000000000000000000000000000000f89b9407ddacf367f0d40bd68b4b80b4709a37bdc9f847f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca00000000000000000000000000000000000000000002910f42906537af4c7f274f89b9407ddacf367f0d40bd68b4b80b4709a37bdc9f847f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000081993b81f6c046027f1b6d6d3cd2c55c91065372a0000000000000000000000000000000000000000040016c8bf0dc1ca383a2e370","gas_used":191477}},{"traces":{"0xa2f1f3a93921299f071a002b77a5f3175492bc6a":{"code_usage":{"read":"0xed6d476ba87a9bfba1dfe9e0868bfe12c8a814a8d21495fc84ff8b751be1c531"}},"0x22f9dcf4647084d6c31b2765f6910cd85c178c18":{"code_usage":{"read":"0x7f33c56fed037dca7ab27022ca254a42f58dc19bf31970b08504dae0a15724b1"}},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db553829a1470c7"},"0x7baece5d47f1bc5e1953fbe0e9931d54dab6d810":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002","0xc0d1c00078410fd0164580b0bad93d8a579580d06cf45fc2696a823498097b8a","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000fde775000000000000000000443c35d680c6652afa534e","0x0000000000000000000000000000000000000000000000000000000000000002":"0x499c6f6fd325834708b5e748555e94","0x0000000000000000000000000000000000000000000000000000000000000008":"0x10000000000000000000006883b83f47b5022aac3fffaae7a5699c86687dae7"},"code_usage":{"read":"0xdb19667827a7ebb454657336a66a7fbe6878100af4ae718900c75231dfd8b78e"}},"0x8146cbbe327364b13d0699f2ced39c637f92501a":{"code_usage":{"read":"0x1dc5a430088005e9e2cf69f323fb8818c48eb71f42d9b51b14ae495a45678c1f"}},"0xa35923162c49cf95e6bf26623385eb431ad920d3":{"storage_read":["0xb16fbe7ef4841ef6576adb8c26022ea3f159016ef1b3a0feae568cfe7592fd61","0x2106b109a487248ac9b2ea14501b87be254f665cd2e0f68b5bd49734b49aadeb","0x4d33ead68556d8f962cb9c4b907696f80281592f13048ee24bd42122acef5701","0x48bf00d99c0ae4b0a1b5e4120faccffc2da987959b2967fb5bdb178fbb20e069"],"storage_written":{"0x48bf00d99c0ae4b0a1b5e4120faccffc2da987959b2967fb5bdb178fbb20e069":"0x9b2fbbf5817988f16b3d","0x2106b109a487248ac9b2ea14501b87be254f665cd2e0f68b5bd49734b49aadeb":"0x165e62d2acd4e9e2fc4f824","0x4d33ead68556d8f962cb9c4b907696f80281592f13048ee24bd42122acef5701":"0x0","0xb16fbe7ef4841ef6576adb8c26022ea3f159016ef1b3a0feae568cfe7592fd61":"0x360d21e072a018e33b7"},"code_usage":{"read":"0x7ee7e0770e9b7a9f14bfcc23beb743e2e19243239e9f8ee24daaa7c9da5d0e4d"}},"0xdef1c0ded9bec7f1a1670819833240f027b25eff":{"storage_read":["0x1454083160665801f09e29ab8f69468d8b8efd1ebbd910c5a96df81a9aa0224b","0x0000000000000000000000000000000500000000000000000000000000000000","0x0000000000000000000000000000000500000000000000000000000000000001"],"code_usage":{"read":"0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e"}},"0xe592427a0aece92de3edee1f18e0157c05861564":{"code_usage":{"read":"0xbb90113d2f9a5e9b7feb15a1d1fff06c1ee1575b3f9b1181778ffd0cf633e7ea"}},"0x930985ef299983c9dc2ecee656fda80d858ac994":{"balance":"0xa01dc279416507","nonce":"0x6"},"0x2fd08c1f9fc8406c1d7e3a799a13883a7e7949f0":{"code_usage":{"read":"0xe5194dd7af8a3cc2e61e50489d79efa7d9545c129ba856fd12fba91076809725"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x135f4bd51752826f87b67c6b40dd69316ca1ac3f86c41cc9b38d2262b316d11a","0x3691fdd6d5524f1ac25428d184aedd362d1355ceafe4386055f7d0c27470bf74","0xb1151b5f51c370d607b59e0034392dd388ea4cc8dded24ec75baf3df36983150"],"storage_written":{"0x3691fdd6d5524f1ac25428d184aedd362d1355ceafe4386055f7d0c27470bf74":"0xeb1ea5b71837047e4","0xb1151b5f51c370d607b59e0034392dd388ea4cc8dded24ec75baf3df36983150":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x44a6999ec971cfca458aff25a808f272f6d492a2":{"code_usage":{"read":"0xeac0d8fb40bc7dca1a56d3b86444df73f67ed68e1a14b62734a91814e55c10d7"}},"0xb2bc06a4efb20fc6553a69dbfa49b7be938034a7":{"code_usage":{"read":"0x001120bae5515679bd3a52da062bdc2fac04b2111d54acf643e1ef9b98b5f784"}},"0xea500d073652336a58846ada15c25f2c6d2d241f":{"code_usage":{"read":"0x3c017c2d75197546650d1d1a132e28d6fdf9a2e3373d4fa5ce03ae1a2029ae28"}}},"meta":{"byte_code":"0x02f9089d01058404c4b4008501c03a18008304d04294def1c0ded9bec7f1a1670819833240f027b25eff87470de4df820000b90828415565b0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d300000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000003d5d5cb7bc4c62ee7ef00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005e0000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d300000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000012556e697377617056330000000000000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000003de40957536847e50d0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000e592427a0aece92de3edee1f18e0157c0586156400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710a35923162c49cf95e6bf26623385eb431ad920d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d30000000000000000000000000000000000000000000000086ac9f971be4f68e10000000000000000000000007afa9d836d2fccf172b66622625e56404e465dbd000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000869584cd0000000000000000000000007afa9d836d2fccf172b66622625e56404e465dbd0000000000000000000000000000000000000000eaebd067839720f95f0c6644c080a01ed3c8b4f5f1d4bfc33fdc224032f05f04c7080963bb0b15218c504d11213e1ba0579510014911519f49a1c4b7f932dc23f113da84708886f9220c5172a25744c9","new_txn_trie_node_byte":"0x02f9089d01058404c4b4008501c03a18008304d04294def1c0ded9bec7f1a1670819833240f027b25eff87470de4df820000b90828415565b0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d300000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000003d5d5cb7bc4c62ee7ef00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005e0000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d300000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000012556e697377617056330000000000000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000003de40957536847e50d0000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000e592427a0aece92de3edee1f18e0157c0586156400000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2002710a35923162c49cf95e6bf26623385eb431ad920d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d30000000000000000000000000000000000000000000000086ac9f971be4f68e10000000000000000000000007afa9d836d2fccf172b66622625e56404e465dbd000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000000000000869584cd0000000000000000000000007afa9d836d2fccf172b66622625e56404e465dbd0000000000000000000000000000000000000000eaebd067839720f95f0c6644c080a01ed3c8b4f5f1d4bfc33fdc224032f05f04c7080963bb0b15218c504d11213e1ba0579510014911519f49a1c4b7f932dc23f113da84708886f9220c5172a25744c9","new_receipt_trie_node_byte":"0xb9010d02f901098083eb970eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":280302}},{"traces":{"0x5b6827b70e230b10d48e58dab0ea3038397f6b3b":{"balance":"0x1ba2f96b841c3","nonce":"0x6"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db5549c3fa64840"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x9cdcd16c1a9f628e77ecbda1cf470acad644a06563a6d4fe77d9853c4460d413","0xf2e1413cefd49b675e56b649770a1802fc862cb317316678fac9205534f50455","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x9cdcd16c1a9f628e77ecbda1cf470acad644a06563a6d4fe77d9853c4460d413":"0x0","0xf2e1413cefd49b675e56b649770a1802fc862cb317316678fac9205534f50455":"0x195b7959b388b80000"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}}},"meta":{"byte_code":"0xf8a90585017ca1cbd682fc9c9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000002c78d5816fb404ef3020ffcaab89137cd052a2e20000000000000000000000000000000000000000000000195b7959b388b8000026a07ed6233184fd9584ea2d5f15a4a522a500acbaabc123e297eec9fd4c5f8fe08aa03cffe8f6d759f1419dfae522e0167345daea641b0b63a26b8ef5638fe166e440","new_txn_trie_node_byte":"0xf8a90585017ca1cbd682fc9c9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000002c78d5816fb404ef3020ffcaab89137cd052a2e20000000000000000000000000000000000000000000000195b7959b388b8000026a07ed6233184fd9584ea2d5f15a4a522a500acbaabc123e297eec9fd4c5f8fe08aa03cffe8f6d759f1419dfae522e0167345daea641b0b63a26b8ef5638fe166e440","new_receipt_trie_node_byte":"0xf901a70183ec5611b9010000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000004000000020000000008002000000000000000000000000000000000000040011000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000002000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005b6827b70e230b10d48e58dab0ea3038397f6b3ba00000000000000000000000002c78d5816fb404ef3020ffcaab89137cd052a2e2a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":48899}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x03888b75ec8c592e93622e30d8f4da1de6403841625d21751512b4ba641ff06e","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x425dcf18c79ef3fc69a78ddda7dcfdaf40bcf8b9e635cdbd63e77f4fd0d9378f","0xed9f777dd2574236385112401badd767f1374e4747cd77d773dd3811b53364d5"],"storage_written":{"0xed9f777dd2574236385112401badd767f1374e4747cd77d773dd3811b53364d5":"0x7a120","0x425dcf18c79ef3fc69a78ddda7dcfdaf40bcf8b9e635cdbd63e77f4fd0d9378f":"0x7252534c"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x05c7f56228d433f6af799a49d509d4cb1ebc110e":{"balance":"0x10e9e92bffb64d47","nonce":"0x1b31"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db55507939a46c0"}},"meta":{"byte_code":"0x02f8b101821b30839896808501a13b860082b58f94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000af38746c7e718e3e09dcc4679521ba927dd739ab00000000000000000000000000000000000000000000000000000000000493e0c001a0249aae828f97fe0f5711c1df9db8179c92934dc1319d22f044aa2de750bf10b9a04ee31bed1e4670ff4aa9cc81684263043406721795958ecd63173fb7558821bd","new_txn_trie_node_byte":"0x02f8b101821b30839896808501a13b860082b58f94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000af38746c7e718e3e09dcc4679521ba927dd739ab00000000000000000000000000000000000000000000000000000000000493e0c001a0249aae828f97fe0f5711c1df9db8179c92934dc1319d22f044aa2de750bf10b9a04ee31bed1e4670ff4aa9cc81684263043406721795958ecd63173fb7558821bd","new_receipt_trie_node_byte":"0xb901ab02f901a70183ed0a22b9010000000000000000000020000000000000000000000000000000000020000000000000080000020000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000008000000000000000000000000000000002000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000005c7f56228d433f6af799a49d509d4cb1ebc110ea0000000000000000000000000af38746c7e718e3e09dcc4679521ba927dd739aba000000000000000000000000000000000000000000000000000000000000493e0","gas_used":46097}},{"traces":{"0xaf38746c7e718e3e09dcc4679521ba927dd739ab":{"balance":"0x3c5e00e48d30b"},"0x05c7f56228d433f6af799a49d509d4cb1ebc110e":{"balance":"0x10e8479430e5312f","nonce":"0x1b32"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db555387893fac0"}},"meta":{"byte_code":"0x02f87301821b31839896808501a13b860082520894af38746c7e718e3e09dcc4679521ba927dd739ab870127e825fdda0080c001a0f24ec78bfffdcb85d875796eb8b0dff879eb693fca3fc4cebe8ca6b324c48b11a04f9179c47b8d2f598d0e7313b4d90a8ab45ee555874ca18b3c90074d8c3bf3f2","new_txn_trie_node_byte":"0x02f87301821b31839896808501a13b860082520894af38746c7e718e3e09dcc4679521ba927dd739ab870127e825fdda0080c001a0f24ec78bfffdcb85d875796eb8b0dff879eb693fca3fc4cebe8ca6b324c48b11a04f9179c47b8d2f598d0e7313b4d90a8ab45ee555874ca18b3c90074d8c3bf3f2","new_receipt_trie_node_byte":"0xb9010d02f901090183ed5c2ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db555695d8daec0"},"0x27eff43e76afa539e486ba1e01fc0a42e58ba9ca":{"balance":"0x49f060f3587978b","nonce":"0x9b88"},"0x24354f5d44c497a0ad5d00cf2062f9ff7b177315":{"balance":"0x98cb8c528000"}},"meta":{"byte_code":"0x02f87201829b87839896808501dcd650008252089424354f5d44c497a0ad5d00cf2062f9ff7b1773158698cb8c52800080c001a02b6502de890303430bfb38d855d231d5e684f7e9fb6e0ed195ec7fe5c9410352a040b7195643a88d011a498b0b2962cd1311df8d2659cbd5b4551425ec57171050","new_txn_trie_node_byte":"0x02f87201829b87839896808501dcd650008252089424354f5d44c497a0ad5d00cf2062f9ff7b1773158698cb8c52800080c001a02b6502de890303430bfb38d855d231d5e684f7e9fb6e0ed195ec7fe5c9410352a040b7195643a88d011a498b0b2962cd1311df8d2659cbd5b4551425ec57171050","new_receipt_trie_node_byte":"0xb9010d02f901090183edae32b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db5559a428762c0"},"0xbd1ee02056c1c818d97ba34d01da86ae4fae185d":{"balance":"0x9d23e1913c80"},"0x27eff43e76afa539e486ba1e01fc0a42e58ba9ca":{"balance":"0x49df3940061d573","nonce":"0x9b89"}},"meta":{"byte_code":"0x02f87201829b88839896808501dcd6500082520894bd1ee02056c1c818d97ba34d01da86ae4fae185d8698cb8c52800080c001a0690c2b7347ff095f7a166249a9a92bdbeb055bb3be3d5f1b0e239fe3fd727a95a049155214b56da001affa25f3bd24df8c6281c36cf81223e2db0dbe77c18168bb","new_txn_trie_node_byte":"0x02f87201829b88839896808501dcd6500082520894bd1ee02056c1c818d97ba34d01da86ae4fae185d8698cb8c52800080c001a0690c2b7347ff095f7a166249a9a92bdbeb055bb3be3d5f1b0e239fe3fd727a95a049155214b56da001affa25f3bd24df8c6281c36cf81223e2db0dbe77c18168bb","new_receipt_trie_node_byte":"0xb9010d02f901090183ee003ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x27eff43e76afa539e486ba1e01fc0a42e58ba9ca":{"balance":"0x49ce118cb3c135b","nonce":"0x9b8a"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db555cb278116c0"},"0xfca1e5c01042c7f2850d07884c1f90e3b28ac297":{"balance":"0xb60eba7b1d60"}},"meta":{"byte_code":"0x02f87201829b89839896808501dcd6500082520894fca1e5c01042c7f2850d07884c1f90e3b28ac2978698cb8c52800080c080a022c24cf23209459e33bd783641085841b6a9f4eea39fc981cbbef46088064198a07634b0e7b0ac4cb13ea836eee0340548be01ba190fc38562f2739d2d300c78df","new_txn_trie_node_byte":"0x02f87201829b89839896808501dcd6500082520894fca1e5c01042c7f2850d07884c1f90e3b28ac2978698cb8c52800080c080a022c24cf23209459e33bd783641085841b6a9f4eea39fc981cbbef46088064198a07634b0e7b0ac4cb13ea836eee0340548be01ba190fc38562f2739d2d300c78df","new_receipt_trie_node_byte":"0xb9010d02f901090183ee5242b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xe4ecbf251a311679bbe392591d9c5d161fc35791":{"balance":"0x17322410d8e3c"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{"balance":"0x7db555fc0c7acac0"},"0x05c7f56228d433f6af799a49d509d4cb1ebc110e":{"balance":"0x10e67bb6a5cb3f17","nonce":"0x1b33"}},"meta":{"byte_code":"0x02f87301821b32839896808501dcd6500082520894e4ecbf251a311679bbe392591d9c5d161fc357918701522de246b00080c001a016096ca61304717c73b4b92ee9bc6da9eec1489d36f0a0059f2b1a08ec07fc58a06e12ea54d07a5e72294e7c5c438a9f2db0dac60ca9d8d1bbe4dcd0151b3899db","new_txn_trie_node_byte":"0x02f87301821b32839896808501dcd6500082520894e4ecbf251a311679bbe392591d9c5d161fc357918701522de246b00080c001a016096ca61304717c73b4b92ee9bc6da9eec1489d36f0a0059f2b1a08ec07fc58a06e12ea54d07a5e72294e7c5c438a9f2db0dac60ca9d8d1bbe4dcd0151b3899db","new_receipt_trie_node_byte":"0xb9010d02f901090183eea44ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xa83114a443da1cecefc50368531cace9f37fcccb":{"balance":"0x2794ae56fb20e1d71","nonce":"0xb09a"},"0xa4476dbf9d5f9682dcc7f1fd522e5b5a47431aa0":{"balance":"0x2504a139f8da4d9c"},"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5":{}},"meta":{"byte_code":"0x02f8700182b0998085017b28530382520894a4476dbf9d5f9682dcc7f1fd522e5b5a47431aa087aa6d7c8e72130f80c080a05d34b1c4f4efd14a40ca8321b5970d9b106d1c29a0a7672952f648e0a2af2771a00317872e541f9c322901a33dded4afab365a2898999ce3b8abe413cd9f0c2967","new_txn_trie_node_byte":"0x02f8700182b0998085017b28530382520894a4476dbf9d5f9682dcc7f1fd522e5b5a47431aa087aa6d7c8e72130f80c080a05d34b1c4f4efd14a40ca8321b5970d9b106d1c29a0a7672952f648e0a2af2771a00317872e541f9c322901a33dded4afab365a2898999ce3b8abe413cd9f0c2967","new_receipt_trie_node_byte":"0xb9010d02f901090183eef652b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}}]},"other_data":{"b_data":{"b_meta":{"block_beneficiary":"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5","block_timestamp":"0x6687daf3","block_number":"0x134d6b4","block_difficulty":"0x0","block_random":"0x2a7b6019eff4f027dfc004a19822eef8216b63823ba062fe26e3cd5ad11e663a","block_gaslimit":"0x1c9c380","block_chain_id":"0x1","block_base_fee":"0x17b285303","block_gas_used":"0xeef652","block_blob_gas_used":"0x0","block_excess_blob_gas":"0x9e0000","parent_beacon_block_root":"0x5515fd3785b9fe785db376b82d43a7349e1407f0ca6e82b05a48da5ae2bef7d0","block_bloom":["0x5f3d66625185c33fde3dc0faec3998451b0b30bbaec520074f39c1fa8cafaf03","0x887f5d8da0127c580b377b1cec1e0391eb91e3bd8aa4fcba4a91fac873be86e6","0x415bc5eb860b5baa7d5e61acc3f18c2ba62cd0b9716c1ca27c3e5758c92e5956","0x56a974739e62f8b3cbf55dd04622ed4d0260f239555085aa8607a594576f3bd1","0x5358175086e6f34888e47951bbead0fec12123c7fd5b6e9cf720a07aeafc9539","0x7fd69d82fea2ef57431e58c1a8088529bcf8ac9a610dd8806769cffe8c9a8371","0x8b5734936e5acfa72044c62203155e4e3ee437864e6c0bbef9bd4d8e85816a8a","0x2752c1e9c410419cdd5d887834f6a9d663a9eba720ee4c2690b281937c71485"]},"b_hashes":{"prev_hashes":["0xe1c0c5e299327b5641f0c56fedf164b9eaabe0e71cb2c2286d900ce7cc8c9e20","0x7302a1eb37ddf60c39a515e0abe0e28830277214d4938f63243a9db6c53f0944","0x496cf4349e0bb38356eb1f84877aca8d376cc7af419054253bc564d8b76dd34b","0x0655fb0014657a10a253e19e81c916e67bcba6c407c5c18eb52a31b20542217e","0x4da5cd264490317651b6c71ac7ad9a98a36a9a55c6496fe9a08f8fc72e325dd6","0x760b1b5b290520889ca3962105e402128a009fdaec6a95946ca81b5cb3888813","0xbed56907b2bc12399cd960ecf6fb85d2b892e1b4aa38bcab92803e865dcb5890","0x723162f454e78ff104c773fd0b63cd2f20eb86ee4e90f8bf1ccac8c2703ae9e2","0xbae6928a9f3a24d9646a1be90d25dbd505927316e684bb7fe729b02cfaceac14","0xb2e76816eb785fe1385009959a2632d5e9133922cd164ffa3ad508e71dcad266","0xcf5caf4d8b460d2b9da189ee402a8fd7e965cbcb76f528677c53eb57bb5c1848","0xc660c45dd1c4d236d2aa304e8e9542d8e4e72601ba75cd7969089b20690216f6","0x591e943a30f34638ea8614b71be7245959dd63fe927c2eea4b146b4c8d0c3f38","0xb640dda7edcd6c3b757d644400c6fbdd1bf363d2c8b613357cfa73df02143404","0xbf0c46a96088d8f5467ecac8d5df216b48a81289c6c1cd5579724343610baff0","0x8c1dc59a2af2ef1deb0358d47814e37bffd9ea18dc49cb877bc33722d1e3d2b5","0x6944b1f4f4e92599ed2fb3b4b72397a6113b991e71a2c8ef164a583053bb97e0","0x3988e898f5e7509aa9425d744849167e30f433fe2d2ba99194e640b03b0d8579","0x82405d15cb32013ffa887e2fd020b8d9786dcfc54880e04eda672a7e8270ee34","0x544b87ab76e18e56ec0f02e396831a7d9a2c43e79eb287d4f959f360a3e9a963","0x2f55fb5063462f18687830c4cf7359554091d4bcc37d2c2b39ca3e77e2a4714b","0x3b30b7f559bb04d3be3108c8438cd040ac3974a7c682877f630280469cfa0da0","0x757553c994ea29ec69516607221f8e4bdc8eebcd477de841d121118940f3275a","0x74dace0775154246b9f6e9548cedcfecf87172ef88505c381bb1fb752f05dfd5","0x990c0a0ea89cb031db215df4604524b1d756a2f95e90f275d725a243b4c8497b","0x9df7ff7d32830b08420b6f51f6a091552a35650035d5b10e0d24b22b771f5b6e","0x6c7f37da20f5f6a6a834e4280120e8e737179e180d6815f35eee362afced3981","0xc787f044ecdb76e35fa74d9ea9e0925c8b87bda95217a21550d71fc43efec67a","0x9b4e0a5dbf6b1e225cef6aa7730e9cb9cb3ef33159e4151276d70364588b44de","0x650053989d7dff93fdfa6d4075c29d2e1cf0669f6a795c5b0a91b3c4828f5470","0xc21d0332c6e062e7c19b5a85e778c314d268b1f81a4d44aeadc4bed2726e476a","0x3685931cdbe133ed27ec739b891888b7364128d6ff7e7d14dc3df0c5254aa1ac","0xaf78bbc07b841849e288dffba7e0d6c13eddb511bd805863e3c52f6805a5ecb9","0xecce81d5e6150e6ffe5b9037a32174c94e8810c1d206cfc0172ca0102781f480","0x51894046eb49c307957b06982073f637f141158df4f900bc6c99308f1b65c43f","0xbccd9c8581f3a2189bad8e27f26c68efb396fcd794ffdae4c43a4fc1d63bb47f","0xa21918500a2100a36fb06d5f975639cac5ae380532c34c7c0ac08bd543306987","0xf5cbe94566de4e089b1f1696fe10290bdbee9cae13699c9da30bdfa7fb154a1b","0x53dc1521b2df1fa078b40fab03d552259786a7c6c665804a4c9eb97a62fa902a","0xdeb87feef4781d6bd2735c9c274204ed643aa026ea0a91a34016b9ea771b7e2e","0x1bddffaea3284f6dfd6e6da86d2caf7f46ca2ac1fa4040ce2b3dcd79913aadfd","0xc30ed958930bd5e9b111f87dd1278ba24717f234747a7fa0b5f44bc91271884e","0xc618486852f3d83e97aed26ca734b84ea7c184b0b1a8290506457054ff49b1e7","0x817c6bda8f67eb33165eeefe7d84e3c388cd21a75421fe995bb4dd139ec362fd","0xe7b1050e6e896462072fb758c773966b6d2d1598d25612f03e84b31c06f26546","0xea8c1d0acaac29bd203aa7f27de82c1cac126ce62d82812ead275963b5ba22c8","0xaef0a6601be1e014fe641a473886af5f40381bf27a739cdcc3c64c99d1c975a4","0x1a648c44670d72c05e0284366f023e5fbdf4d25bafe979644552f36ddf4d0443","0xf6e5620235af1dcb6caec7f54e382b7432828eeca29d3fac625996d616287089","0x56b7dbca70fed68d8c947527e8d0af786feb09506f14c49d28b1517238e7550e","0x4836823b99d8c29e2abbf762aec3b5f8c4b6e57e51662da0038f962f3d7b7608","0x44781f945135336d320b066130697cae651dcb5135ae858527ff37baee2befd3","0xcd62ff5cdedafc9189d32f0765cbb515ea0e2db02a72b4bfd624bbf6da8a6b8a","0x2a1cbefd7d69859e9fdeca026ee60cf84cbdb83ca0078ac36d78a7493539edbf","0xdf7ef37ceeb244b02ca277cea90634fdedeb4bd02e1e16d259e4b8146ad5900b","0xc172f01e09f9cfcaa722fae524b7dc1309310ecf101bb00cd7c7d32974a2b42e","0x5643d09f7fc5857ee9731bfebbe6556cefe42c4a4b55307a84ba8332dd07ae9e","0x1dc3f8d539b885f0833955dfb5fdf6e2180c5eb9cc078a2375103ed556806b0c","0x6186a70239332b157b64ea25c89d8f1a280d547ba6426471f17b94f5971f422f","0x0b600bc7e280db162c1c1418d61a4fec9ebbeaa8e1d7a73c1fbc6e1cebcde2bf","0xea6cdb36b2d836121a5327bf0a1da218d321f62a6531f308af57808ca0c087d7","0x6eef8caa279a0bcf508c227e855f8f0c6cbb8783042f93ff6e8635dbe3f138c5","0x1ba57ba335e9e4d2e506a89b05acc7317faebb27a5d8e4a2ac7f9bd3f6a2538d","0xe5a06fc4fc73d6b95a5e7debd744a59eb038415ec1a51824f0b7d636ec67cef0","0xde85575660a5371bf171516914258d4bf1f1a2c5fb738c170982402b57a64280","0xf01cbd86193727babca08da63ef8bfea4397959aa4114808de746f43d425b1c2","0xd322116cd8203bd8890f216d7554d64692c0b15b313d89da46ed2f64202a1ae7","0xe4fa71ca75b9c4ae30cfee0d24291b7d6ea6b19805290b4b8651d4e069b1b64a","0xd66ccd15a7f16f982f78c87cd9b2cf48752eb902c06c56f44e8709e69f3713c8","0x71191486e2dc1751209abe8f8424d44b2f8a848a68eac11513e81111f0a2426c","0x74640210cd1bbdc518375ac869b47992d147610501524afbb0709609d80f613a","0x166b1a039b6c0e3aa701d622cd39e7f72922e922b9496add0720c01e55d4ac2b","0xe6f2498ee02c9372b127df2470fd84a5ba51847fdb2c60c3815f3b6bc7b97696","0xefa1a25c959777b1db23cdf4af35bfc39bc485fe5722ec69ca48d1e4f237f19a","0xcfdccd0e209f60a80acf5fd366662640758e3c7f77cca5e1717380c491046fd5","0x1d83c0c6b4368e9412b3d42ac4eeb7a5d8d3d4a1544546a1299c670527c4b3ef","0x1a3223e3331cf3ebf0ec2ce0e7152d428045fac623422e95bdb8dde96b1e6528","0xa865e2caa205763cf5baae6d78ee6566a2d03f61a65ce1e2188ed52d5f807877","0x12e111bbd7d8c94e236c6acbcd906ccceb61fdb20031693dfcfe32b22bbef44d","0x695767929dc69156a70c029b292be694ea5ce618edbc6bcc8432e58a1a48a030","0x6f925e64ab81f86bf2a5d2e13cbc1b3bd62d1eedea3bcb11dd6e1765b8b32bc6","0x2bfaea1b0c526d1aa4ff989a99288d7e837ba9602d578ead15ee969046de456c","0x40330975a1d34eaf5e435363ac25be986a7432aba7b1e46ec74a0bc63f6fb813","0xb6f621e76fe931c74a2be30c851530ce6f5438507c85aaf794a948ba004c56eb","0x920592bac7304a13896461e2b385fede6d617d84f1772f8cc060b206d8618704","0x2340bb3d3b3d764b22b3abe9cf764bcb42917cae60c76c709b9a589f3ac902c5","0xa00ef09766c0fb94afceefe2d0066659d475ed0b0a0712e2995f4e41d82c03cd","0x48759875acb47f1a6e46a8bdc0a00f3ff8d4afa75d245c5a90c8835d2bec720f","0x768f53da3a844116acbe447bba6c697c0b9d2ea6fecb2ec943cf281099ac6bd6","0x95b0835f59d182b43214c2e2c2e8fe4df44c2662619182d9b8d5bb84c109c270","0x0ac16fd0bd86b2ffaeccadc69e907efa4ab2fdaa9bcf492e9df54a98a4d4d18f","0x98309e58844ab3263c55f6ec245afaae0fadbbc582d3a65374df1ffc9acb46bb","0x6ede934773317700056e9f157015b2882223be4a2ea6d6b80a653127733a13a2","0x239a5b79d9ba5ba7df398092d376c6c073d304b7eb61a53cf985e06340c5b190","0xaed20da1b635f4e38fa1ce44b0df1c1dad9518fa9eeab6111ba4195d82ed8b29","0xa18bcf5bae02d4c59645902cfbc175b67bfd45d0448fe9da45308f625dd1fd68","0xf29f899067d222e86f36d28a7514b1d1c5cd1f56e464e6d6395ae79b402b6189","0xea1de01f3bdd188eceb32bcf376dacd1f94789af73eddc25425e63115012d06f","0x5e35d90f9442d4f4061b1e3be33dd2aef30453de09cbb0ec0fcf3042fc855b77","0xc9b3a47d60a83c0c0b0ab0db31690f040a0a3d1338b6e82b576031ef4ed0bc24","0x1a0ef1e20e2861737051d9b5581f35b06c3c97cb09d8e832099c2f06c3fde9fc","0x7a167b087b03ca76eb714f4da2b090804731d427b52779becabf60e90e0d251c","0xe6abbb662ef1b46520f0a547054027246a82c081bef2487e01a0f33cd1758f28","0x0e66d70045c060f7d426996c130f0a0b344bcf7d1ac2e365e1dcb40b64bcb021","0x6605598fb35fa36987fdc9b3faf186164692657a6021468e872ce5ea7d74f1b8","0x9dd058561068a28856ec67e0e675c85c719975bead21fca0ed7198aca873de1e","0x6aefc7c783e361ec48af4abfec73bd4e7336352ebd7daeaed097e756c5afe580","0xce962071334292bce409f7d5ec94c88ae0bcc2d7d6f44f8530e2fa2f4ec3fb05","0x0827663ee0ffcbca56d6854b765773a59a8b96a412642e43e5cc0176d05aefbb","0x3d9c2b348f6c727093ed8b39e9dd7ec30e1b1e2763ca2273338c5e8e73b2c399","0xdd65a9687e9483728ffd68de152c8b89839c7967b4e43041fc1d8cae0dac2979","0x7710adc013b6ad986ca364f548b0ad31b17cfa9d7bf8b8728a96e9c276039d74","0xb21d5331eae38d8e42807a97ba3b80facc96f1adb3f372e015a14f500fa02199","0x1ec6fe83d435bdc9da909fb4a7b5c75c05086dc54dd87fff2771f9c85fec77c7","0x109a6acbc6c65b80695a99337db7040eac718c6b64e62a572aab135dba219b47","0x635a96272a390de4d9e66ebc20f2096bb6e5ac645fde06c5b09f927831bd5f81","0xcb80e5ed02244c6dcf87f6fc62b4d32b37f310d49712fbe58c78de2227d24181","0xce105d30fadd2814667885e6f8534da3c1bc22fefbe3435e726387914a0b4b8e","0xdae3738a884b4745a052d8e42f53f0be7de4b38c4aa4caf928b769974c6ced2d","0x82e37565cbbd557a53355163ecfc6b06ebc3f4f5b962c6da5d2be4076e0215b5","0xdb68664c6cb0dd12f599c71a3735d34d53a62d4a95f9e859f610a039c4545347","0x5ed41be2dd3cdfb05be61fe8effa0b89f39ef55365fc484b88cd92c56ee0552c","0xc8cbf1156da765b4cf233bd93e9e281f89fd076c1ecfa6e0b802b09216cea239","0xfe1de5ba9d3a7fc9310e33922ece6d52affa958ec989fb71b9fb37257ff736f5","0xe050a3db9e834b22257ac8910a2f87c0d300100b41d9de5dd86a79f83a532349","0x8eed9ebec98c5d9915df8595982e7d506cf063a77f265f50505e87297a44440c","0xb3cd18d30a64d1656cc1a93da82364ed1690328d4c25977df11254625688fa6d","0xf59495733165ac512ce74eb2e1bf533104086240dc8e80b1495ffb68e8a70d7c","0xb75c8098e825a6cad607530313337fcd7d7059a7193bd3fd6043936babbece66","0x62b60aeffb2756e62a09d1ebc57b06d43f9948d1fc50e6db38278f7b88388e83","0x4d1f683cfdbc4806aa206fc0bedfc11a7d29b29889ca09eb101ced153f8b4a9b","0x8d1ab3dd6810ef07730dfe2118dd606338b4888c80504504ee7e370fdbafb7ab","0x187a43978fecc19b7ba4daf33cc52f11fbddca81e944d0a9d0f2e50a7614adf3","0xade8b60d8c761c496ae100c1533928f6dc91570ea2f4d1fd6d03200314655a7f","0xc4640b4a634581b6f20c79872117b852992998e65c3413f5bd13eed82bf6db6c","0x3e160cfe376fd81520967519912bcc7835b61eacd7ba390823632c2347829e6a","0x5068bbd18614d73433b4539677b792d632ed67baef0593d7c084f217d51deaf4","0xbb6515edfe7e674ba03ef6d1b73a55be123e56c9a32f77c6ab43e273f2f2af3e","0x369a20c94805bead477af96f224ab147b7b4be2c249f1af5e22fd212604e75a1","0xdc869bc348a2bf325548b95bea368715e177c08d565eee82a0ae61167071716a","0x2555eea83883e48ddd0acc9b0ceed01fbddd2b89af129df7e32f8c9c46317063","0xc3b825e81ac9114376a1535d275ed901661e0f3d37b519cc7ce996d76da297f9","0xf4328a32c4591e438daff22c15d67ad17bb24ad8805494daa1df87ecdb865b80","0xeead7011665e916bcefa5a68a3ee3fda67a674e3d465b69525f48a93ba98c001","0x91b9e6b49d5dab216b99b84e6fccce2643f72e7b04c6a89e895057f365443312","0x47482e35546462d0b7e7ac21a706045632e9d9b2c25b3629158df6756b57dacd","0x2b9d7e81cf66bea6a65b8e0687e07f077d56e42f7dc7ed94b6dbdd93da9accc3","0x053495d619b586c5001872f3659c77465648142431df3eb92d1b7c8ef3e4011d","0x76b5e8f6384ab3116988a0268026eae5b7534b67d349281b703caebd6f34aedc","0xfa971af73cfa6a2667d1d9e9a06f2c3a12eb992c5022d4ef26f4e950d15e6387","0xeb6b360d4e67de6acccc87a319e0a88e0459f11d7a9cd74b8ee15e765d3b7cc0","0x9ffefb6e6d6bd03419a7c2178d784d3ffd23a65ad76906dde3365c75360e4530","0x2de24fcb6d5ada20e0a055109485ef997370beb653315d5ca7c742518d99fd0f","0x4a23086d7749f1afe4e5d39c8b7e5b3ee071d189e10e3868e1102ae987600e92","0x48de1260fef16dfa97e03fc9a0f859f5d8b31fb8bc7e005d1303adaa7c441b9c","0x30a6780bbc2e4e5291a4314f851b6a46e89e17fc8450909e00fd1f8ccdf7cb3f","0x8695b393f142957b97a46e6625a9dd18b4ad47d08f9df71a930314a6f03f1fb7","0x390081166740d06b04bd3bec61ee48da01b788b769acff031c8beb8c2e148cbc","0x4b7f0594f97c4441e60622c49cc69d6eae06b2d0d6ee57a098c5361282abc335","0x6580374f510adfab329dc3aca00d7b61d5bfcbd697ba4f796d5fdffc4e5033b3","0xddee84a196cc8a40b6919016295ef96d1eb20a0d620c51cebc8d773763d54aae","0x85401037303eb5fdddfb527101614be7f9330e98d759b01a6d8284a4fb7e73d5","0x3cdaeecd655c4309761566c4e1e4f8cf62047587bcf975d68b592c746a5888cb","0x7570d7bf5f2f11eef9ee045fadaec683c0b87fc57d4744e6d1c29af0b7f36cff","0x1e98333e828daac2745f72934478a73eab2a8b075ca213142147036459967838","0x8c8ac8ef50addd7d6f96855461c958d8f1ecf41aa082cdb7e6ad02bcf512fe28","0xc5a2e8476d9a54766c5e2242db3b7823d575662c4f22f4096f395cf5ac3960c9","0xf615377a3c6f318235a19492004bade9c51cd8e683f824d314745968f1dea95c","0x9095cd1c7a90d5cb1871aac9a174464341ba8dad804e39f7b11bd590a8b683f4","0x134fc3078c494c657a2a4ca3b2ec5099d68bfc7286f86b2095f488b35b658ba1","0xcaadecba186f8a6391dc898f6ce96164491eb3b6905d218efd7e896527693f6c","0xf56f03f58c433c62e869e990744a29ec5e2faab1f7429e17fb597a3fcab7604c","0x909665ef5fc53760e73b0157d3c70b592888ffc1160be6c44cb929f52a10af02","0x4884d0933e48ec7e343aad090d5fdd9696a95fb8afb80e7233a136c7b6558109","0x3f9492ae51f4ce0a8a245b57c1bf8d3faa333f1569d0be4c3d652b4e98d91f99","0xc1408e40d22a29a6bf554b08efa7d9fa912fd6c8571f6b99e950d2eb83e1ede6","0xa3c13c6165e74c61308964acb97c0788c7dcf2ba37902f5e3c19499d784d2133","0xcf4945352de96bcf598a0162bc01ecaff337cb66cb6e6124741a3108139a1851","0x5a7265df12f32b56e951838e4cdd2763bda8492c59d4cc77ae323cffc3d7be73","0x0b0faca55208262d968aa6d61915e6e38aaf35dcabfa7d07db6823c3b6409da6","0x5164464cb12a4141918a175418fd0f2483b3b40be94c6dcf7fc12e8c9e26bab9","0x6c0196e41b9d3795328603d908923c3db8ea71b4cabb20897ba1414dfabfad19","0x6a1a68ba79837232c41a223535dbdbd586088a574f2ce734fb494df1173f3e6d","0x3f52962e5b6e3d2d5c163c959b4b84d5f6fcdf74c68c2806c12c37b8cf2e2ef1","0x6691b7e38ecbb49d2c808e3b159457536fa0dfec57a99ddbbcb75f8c52504bdd","0x99e79c45cd04f630787c6f493d00270173aa0847a0c6acbe28dfe8855602c7f0","0xfce8f685d2dd527284fc63634b9a7f26e0743819bb79239f0be247fa073383fa","0xf5359456217dc9ba100a72b7b61303fe1c1fb3be751c1e5c7fc61dde32807267","0x616751e443d04b7307edb53a649b495045c45dd93d88e83c99577a1c5c9a4012","0x031a10f7320228b056a28a77ed4134dcd491603230e1ac9811fd4ed58a06e43a","0xc4660d64bcc0c234a3425aca1619a045f321761f38490a40e81a9516d2e78a13","0xb19c6a360e1984b1f75089f52e27c17b57a95e74c64f08fee78a3a8a963aa88d","0x9f811c37886a11567949fc09a809e174025ff7bd8b467a67c05228bf87008102","0x9f4b71a45fd6d36d2f8e95c830020f8a48e3c87e78895edf28b991dab24fff53","0x3a4c7d452e8676d36f185b7ef0f798e2a0b9beb2173f5b783e851b0f46fbfced","0x45f04a2545eff3d66d8e79248dde139b8b00d6bd68a39ab8eab6dd1c39043859","0x6507f4263112a64a3899f43c886ba3b75eaaf33779e0eae59902ee511be75654","0x6a0d92c6460717483c1a37ae05bad1b1dc551b4c7032908266bcf876b8af9d27","0x3d045678c760dbf22f1eee9a743ddaf480621dd07ec30f43a75bd503732a5b2a","0x70c7ad1c8657bd395ee69e486a848e2be20915a94e099c322f0330ef9cfa6f36","0x78269fc12d3bb22eca987c13af30cb530b5b26a2e1163e30cdfe732ed20c97c4","0x8556b4ff7887699238c38871801c438f71237ad654af609977f991b18454fe8e","0x72b215b8bb59544e04c359cac8725dd338970f48d3d7a0c4ba375fc408704e65","0xeeb7d8a6e0518f173454bba65bbb038b20ddaf83ba28d283ccc737e06611bc3c","0x6c055db1541096b40018c9e03925fededa26582223d45be3bc3be7eb25f83896","0x1529c9bd012be0a6815eb95a38504f772028d8f69a1520e93321c39e30dd4b1a","0x18617041916bc0a4c7be1152e4e98860f29dcd5d5330bb1d9c625968a10c91f2","0x6f41561f044d4cf31a79b515468b2363b5ecbc915857647cbb2f525df68ac244","0xef551cdeb3df17d7d70f44743a425abc319e433e36bac69cdfb51716e9138254","0xb6bccfa2ad6e9c082e74b512521fc681b94bf4432a0f0c4ad13e4322766d57bd","0x871bd85f41a627a3429131b044731b25adc12b62fa133dc88d7d0274ce32d810","0x36db3a6ff323fb5a2a1b7413b21d53f5957ca85ff01b7e581197ffd4b3c5785a","0x9a791754cc9d3f210b6bf07551cfa39ccfe4d557a54942c051160b2fb6a75473","0x679f2dec11ab924e2a23ac0951c0adcc333dfc219baedb8f394d5c80a218ee60","0xf8f0d516b2f02fec8556e25be2f2a2f0846ac81278f41847131df407e0329ef2","0xfd685ff814485491605e2bae904325cbf204985e433dd689a1fe394a0823c9e8","0xfe2dd7b99152780fac81f85c4f76e5eda5d0bd2e8163cefc13df1adc17478e1a","0xf2294b578be2af511ce7f5b868ef0a5b20bd0cb0da48a291bfc88a37614816dc","0xdbd0fd6aa1092048ec2b3eb7bc71c6cd41d8c6037086362493aae2648d7265c7","0xd7225d240dc916b0f224b3332e280c41d9d65485b1b88f9bb2ed62756e892be1","0xa4906b1952d32a73ce0a5bd0551c9405082d4068cbb680e58d5ef3693f707608","0x96dee061d89d31f0d219eba3b0779306b15480d0124fa87a7849f961060ee41a","0x8a06da5bbecb048835f8627f1bb880509319e1c6a408f7d42ee87aba008f936a","0xf6e851d13bf5c355e59d96772810a8f1668168940b473a8b1a84f4aa3bc5b4d6","0xc4e2e53acd2bf16ed28a0dbe332fc41651e6d7a6485545af5f1299d71c72f8ae","0x889077fe5765794f9c4f8a59de208a1c96f943b795a4b6c4d409c1618a9ec852","0x8662ca287c0bfc83e016ffe778b65cf9f093379f88432607209a4bc476be47ba","0x558d01ad58475bb58b5dcf9f187206aae2fc65f9074e68519d737af7302abe9b","0xfdf0ed63c07774019994747770cf8b454b3824843ae9699c2611a788dcd84aae","0x53accfd07543eff08e92e3fc5f8a975cf7b5fc25e2ae965bf12343f5ea73b866","0xce691cd5a0c0173efe74ea7ddb4ffa4a6947c4a2e9419d4dfb8cd8fddbbdf0ab","0x0327be8242d9887d801edb7d9944669b6b998d980b61a16d88b29bd0df2b349e","0x8bdc860c46bf25a37c502720a3cb0aca8704fe0890cde7371be94f35125a556e","0x310f522cf1e9287e842947c61fe9044c5a34672face3d455671800a16a514b77","0x48413cb9f7be37621be40d1565b7e6a46f9eb27da4edfddf52376546606f3952","0x3b466eb2033b2be92e665d4e6207d8d2d3e481431de40314c2e52f36cd505cbf","0xa31ed1dcbce01061a1954c68e3ccd4ae9fd8ffa467e2a8dce7ed7ef4396cdaf2","0x4209db5944c934955869dd074f49b724bf9ad573df5142d9b7422a6b2c16da08","0x1c041a14cd48fc8d57f4c7cf115eebf186f8ea4f722e5f6a5363bb80bc67b325","0x8ae6c370a88e7ea8eaebbb9f65e3d07a5ba710ee2a0c608363690a23156928fc","0x9f28dbb0417dcec023950ee3627358d64b62f4275013658ad7e5c932cc911772","0xbdbb40f6897d8ea2f3d69ee83141fa23d5f16dbd7694f378fba953d13bf0fc02","0xfb44db9cadeb21b2ce9b8e06b1289e007880814191e816cc061272b34c3ba6f5","0x2e28fe79f89d0a28e1f70829a884a74cb8f6e25178ed26fe3f76058e718819d1","0xf739cfef90315b0806206b8dfcfb82f17edaa678db578e063018288f4a36c327","0xd106227cfa25a45a97c26d4fc695a09740da79a6958820b746cdea36278f142c","0xcbb26109c8a57bb372a5f65d9633cf39d3a62a83ecc86b1db9250a66c8a375be","0x9c9f757db2a93e7b1f9e4cc03ef7b84b72ee4808d08104aa91e910bba99c7b39","0x7314c42657de433bd2e39c6956d3a30c144c9753097961e3a48caaa4f72a7174","0xd4788d37fce4b005c228b3357eb0919c9f2fcff0586b307e300351bafe43b8b6","0xa4b9518b8f5985418e85f854c12c3e4736046949abe9a6510f3a2e4232948500","0xa5bfe2bd7163b97738eaf21eb49c3833242432991d2cb6635cc86788dc7308ae","0x24eede3dd961e03ba0d7ac3e3026b95689eac4a59eff9ad63e597ec2dd740449","0x5e83b41e461661710f07873ba3d83bf5259814c133dcdc9cb0f64644c5b31589","0xf0d83e25c20c5ece8091848bc96e6fc4c110e97cf7a6d09417e035e0807c7fcd","0xa870f670ae8e85ad097cb45fbe57260ca4f053abafebad9b7d6ae7ba819e08bf"],"cur_hash":"0x500c31e728a280af1add4799095e7229d4a4cdfc6c9c73a62434703ffe34045c"},"withdrawals":[["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11c0f7f"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11b3ebc"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11be4ab"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11bf791"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11a64ae"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11b943b"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11b214e"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11aee8c"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11adefa"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11b899f"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11bd948"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11b96ba"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11c8e52"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11ad72c"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11c2bc8"],["0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","0x11ba27c"]]},"checkpoint_state_trie_root":"0xaeaab1c6af58526a7a36de5210273f9c7ce2dc936293520b2ecb19b1d786976a"}}] \ No newline at end of file diff --git a/trace_decoder/tests/data/witnesses/zero_jerigon/b20240052_main_header.json b/trace_decoder/tests/data/witnesses/zero_jerigon/b20240052_main_header.json new file mode 100644 index 000000000..9e6b54658 --- /dev/null +++ b/trace_decoder/tests/data/witnesses/zero_jerigon/b20240052_main_header.json @@ -0,0 +1 @@ +[{"number":"0x134d6b4","hash":"0x500c31e728a280af1add4799095e7229d4a4cdfc6c9c73a62434703ffe34045c","transactions":["0x66324d0360eea71d5a5e6d0bc0dbbdf35cbfbc3a3f121d028ad34c11426efdd2","0xe305bf3385425fe0387d926334de3f03150b31233df76fedaef472d635560e78","0xe410fb642fc29d34a9ec92a1ed3cb48748e2ac8fa7cd9c8315fb29656a8fec1a","0x247fa2b38f1fbf6758609e6d5cdc0f9dc899f37735496ecb95bf734eafd360ea","0x9d10a0dd7850ff99c98ec13b3e65905d1242875784b2d5420be80ac2e3f45c4b","0x53d7fddb6491e17eb15ef6d1e8ff3027735905bfcdfa66b3dae56f973fc2576e","0x40c52b14161c3bb6ea8914fc8a7e55852e0a51d36be4a43835015eb9cc330063","0x5df2a9b9eb1d800c76a1c6c90019e0b6dedf71e85764ed80d9cbba1e8e75cc4b","0x0ee9f351711baf9f66d36fda5c4e436b45c4942936d088ac826dddf781f2bdd9","0x74109ee77c85494337ca6db2975e00c9aded34403b64c9189fe22e7bae3bc4e1","0x9c53f84c1993f87c5ddeaea655780c24c9e265644ff89c839564802de661e4d6","0xcd13d2d4292e2a03c099f60e5db2de058459262c5dbe70ac792f533e47e15b09","0x03b719dad83d99a2eb847751faf36d4663a43d936f1c66948b139c6fc82209dc","0x2f417d2c35961dbd7cb522fa0ee06c95aab12b3d6a707ca8f74f97953fa34227","0xc26f561629de18df96ae9c1271912a90e7d67a9b85d99f603b63e87bdfb68e93","0xa4c4e1851441c900b82d8b90808f59535599884ef3363a5f46c05ef309f12c68","0xd3fad4b38903dfc6ff22954674dcccaa232146c3c6b60687dd1fb6bb61b95c46","0xc2f6717a22fd5b1efc93f59751e2467ea872777782e9201160d4af85aa16f91c","0x4baed9c20161fb6ef4315a198386a4c894f146fc278555e3f87c7f6e18d76c06","0xb91012cc7b849eb66779a8706453556467547c41b93394c36503141b4213a508","0xa33cb80d6bd6e5994c35c49250a00c69d49714e9ef343ca18901a4962e95cc5a","0x1fba689d944205912a77de9fcc53f4ea553e58240f09439d9b6b984495ae16b5","0xeaf101fa2a459f6b9812bba88b42dde5357befda42a35b1f5b5651cbd514e9db","0xce1e34de415dc7ba30c2a4d655c3f3e650275c323518ff2a61015d65cdd5a0ec","0x3d87d050821056a3ed8c1a3ada5bdc1dafd6483459f09054f5ec5112c3e2e833","0x60a7e890a6db8b50d93992c461dc16b49f57f6855fc8dfaacb1a525830657ad6","0x143336aadce774b79d069b72eed4d615df1078df98859476982ac00f35dfef3c","0x17e5787cdadfe3c01ae34f23ecab84d90a0fde083d1a5770cb1349b48ea49d45","0xbdb4b34276389846d8e7cba137033a3fabee90c084fbd65c840839fffddc0d2f","0x230eca8906bf58d6017fd8f3057a2c7e05de885b302b5c349c9d587659cc366d","0xbda38f281b0127034ca3d9b3726fe9ac68c800f34990069edfc8c6ab8cfc43ce","0xd58df4c85b7002b5762707b82d29475628319fa5ebd98dfa4e57721c78d5adfd","0xba4ce9b4cd284b96eee2f8db9db065376bbc646656fa04b2d2a623778b24c300","0xd5c2b6ce545a05378dd92582f6e3c77d1aae42cd88a174bce287073697595f8d","0x3c4295faecb8b630259b5ab875e1de2433d0f384d72bd836718d4384d1c7325e","0x46f5f9ef7efca04abc8e45fa48cddb5fc80493ae07ad943af7f10d94df6d5575","0x43244bec21354c3c918afc71ad11ceeeacadc8d9a114de8ee867cfd592dc63ec","0x95da6a534725726a0f4522ad3b5a81f79dd611290136f58506b7eb6c71b6aa6d","0x5a06e4cf4a51e7060d772d3052dd752789d9a344bcccfd3d5642774f8bf21dc5","0xe6dc810bdebe5c422bd9dfa2b444aa848300a9e7caab28cb856c95a40b68182e","0x153b92c7a60749bb79016c97d717c9a1b68e17fc237ad20763d4bfe9eb31443f","0x3c57f44269511d1ebb682f5b4de53f45bc6cb7bbd455cb18d971cc2a5414f4cd","0xfb2f82babaaecfb5190912074f1382706095f5dc04d7b8851b3de2f115a6cd96","0xb930db9657d311ee70e826e1af1595eb34ab0d9fef21599761f8eb6b57289a72","0x26de40a55c59c5d3e10bb86db6f012536cf65fe1599c589c6eeb32b27d9e7a64","0x90faddb5707b8c30beb8efe3b47d4d2b6bb2174088dd5717263e73cd36936f95","0xefa678a2771fbd1534bf85857d20f4b902d6d26e87e7a96af0e1e512c449c76a","0xede6ca6bfe169da516d0b0a17950d6b88f6d97f9a01569fbcf611504a7815f75","0x132a5b1bd116f732dbe91146efbe8f002411fa80d2113c3ad43c60811b50ba33","0x42b01e6112cd30609f68aff8c90e999fa7d07c169a8bbbababe15ee5d38be66f","0xed60c7c83d4831f55fcb573c8d7417fbe9bdd5d449d54daf67fd3d8623f1a297","0x458ebf545d76f78dea87cb03417bc2d299d669223e2b9815bada877a026df63d","0xdf1ce874ef2e43bc1413e05bf0652acae985b6d94f8a9fdd060a70a61ea8e0e1","0xf977ded6ab95ef5a028d10344c960e16838b81837fcb3f3d15128e9c66ace584","0x733cac76207545f35f1c99ee1145b403d31e24da8cde0a70eb3c25515367fc7e","0x5d53e264ba107ae92f4683bc126c5f0c38aff9a6cda1fd1c743a453b4870f4c1","0xc347abe53a5b5020420ab0da3eb05ec67c3bed42ebbe091f2f94f6d9c2fa168a","0x94e61a2fb7550c453a0c7500fa279cabf1fc661ee8c8dedbcb2479d5a8982196","0x945bc4e094a800c26361b627f67616ef4835cec4dba6e58119d68f10e6a1afcf","0x9c4116447040232cb1f5e13059e4ba12c2db501e45f78cf97f60b0db24695b31","0xaf22df09e9921d45535a0f5f80ea607a860d51681e02b9b57e8c53d74cc36310","0x28e6ee2a48b3c780affb3c124d4ce27acec3d40121f4607ecd565c70701c085c","0x95aa1652585dd525dd926368cb936fac87f81625ff6f6eeab1f2288507b61289","0xa5f466f9b62fea39daf0e0fd3c47d783de4aed4dea1d11d93ab0502f3a4489c3","0xf5be04d59b7c36b75ce6d86f02161123f2e5ad02d5f6e8cc7bacd7f2ec1fd206","0x425a10965f389cfc278c7300ac9a27e7891b178fc39991abaac7848f7089d487","0x3be1373318ad87b9957f5b7b4ae602aa19087b4177f3ba255faa19c576a63f7a","0xf250f0ffb6d574b82a1dad285b17835d68779c7cdb59d7f96794fa945fd4feda","0x13d9d1cc11e7f1af51099490be740a996eb7eb4975daa1cec851081c76805e01","0x41f03ef64f0015f1e8ea93f4381407cd12c83581eca09f10d124c12864a24f35","0x4ca92077f33bdc962bd76f59eb1327a096b9330b7e69393c16589c71c61efe1a","0x499d2f13d41a9e444e882891f3105b493112db8c188e650101916a6c00aab571","0x63afc736e099316f08c559498fde320fda3c5175605aee71dc767c41ba00a2a7","0x481ff76b4c9b60212a2cd281bbe79d048c2429e00ff4be2a86ccb87b863165c0","0xb34048c9549de5042db2c0398988724104dbc5e9470088583c2cf6c348b3dd7c","0xba9f94b5b8372d6b431b8735ab4081101aa9b7bda951d912dc722499c598a83f","0xc5a6251e55564b17bf44f7aa6d21cdd20f658d61a8a84a25c04fe4581895d5aa","0x3235c94fcdb5f9ff29cf70efa34af3ec931a3d1694beb027f0fbd5069ff4ec65","0x5f7915e8d005d97fbd262f31ae861e10a3c585a57a0f118ff0789bf045588f99","0x1d6290be9ed40cb5a458c03bb04342b4f14143bc873b3d50c3fbd671f3db7438","0x65866fc1fba54dc4e6bc0e82746757b49869e359726dcabc98cde74d8ce00c63","0x3d515de1807167f4230d8e68393f3d90cd396821bc8dc05282088caa9191e9cc","0x8c2c4d28db1e21b60f29b19a1035a6911e892a1a91609009d38e373279a56243","0x83df9f5987e06e737e6a28e40175e261dc4936e7832b746207f28c87d8373c5a","0x2d7d7fd66d324c4c14d05dd100ebfc5bc9b945b85a4de4a4520decfeb86e531b","0x0a4acb940c53253539d4b3bbcf7752aba3ccf240285f664a4cfbbd72cb192d48","0x193376115ab2d506755b01beeb7b88012559cb78efed68131ee944addff240eb","0x489e003f7d85c8365f378af589c2d83d6a622e85b6fe0ba58e6ea03c62a08e4a","0x8de8197d07d9f2b47a4316871e1836bc0c405b050cc6a5a27dd9faed74ffffb2","0x592578b40c288a1e25e65f6a056da0124db8bc97fe1fc0a904251ee5f87828b9","0xef29e4bc8e60d8fa76eda5f33f961ac1d36f9f13efb6c1c7a58402733f17a9fb","0xa116a77605deec75b2070955445c9d793b05e50f099d4d1497e34eaf87ed5646","0xa15aae1355633ed2ae9283334bf6db5cf5cd76e0134870389ae8ae744a7bb24c","0xaccc10ec12c433e98e3c27d44e5d5f18400fcbe13a8ceed4dd68dfde57c15449","0x6cfb2131e6b7e25e1ac468a503728903690dd5581fc8bad33f1eff4794229a34","0x4ed2e2e41ec55d6a5b42f1672fb89c619183ba003af4474162f5499c1f163498","0xddbf5ffc8adc9379ee0cfc8a7642c88b327c399a85ed1edb8c9b3960ebcbb9ea","0x08d7c8342bab8fdb4e79fc3b7d75616254df38af409d1d9f84657fd3ddcf69f8","0xd4001d19e4225a3a5cbbfe2934d2775105a7d7d8818b7cb98703c33012716110","0x2062cc1d24beecc20057ad331d690508c748e21d3040ffb37b38965966a3d3f0","0xe3836b1fffecb32d2aef998b4d3c0d606ca9ca2b002661a8f184cbe4d15bbf78","0xbf814b35d87c58629568108a5e1176f67453a1eeb324a510d00b927c477182b0","0x769e8a0d5da47949435d6f4d10f0c61c5dad97e492423675fa6db41580c553dd","0xc7e5d496ba456c2e79f504bae6b2ad6759bd16fe24e1322c9ab69ff971cb6040","0xfb2a55d870229c5128aabd6ac21cf4fa02ec0938f507c95267239818ddbbc2eb","0xbacc62ef0a1edd91c4803c5be166926d737bd76bcb129f4a6f57553a09ce535b","0xda567db58bdd46ea35271e1a53d29375b06054c845bba8f4cff3b0493125d12d","0xc31700594d2f23e26a90d4dc5af926b35a64dd7ccdd4049916302426a491b188","0x40e80109207cb7d621545f8f1c5436e2c3997eec7b521c5e0ab8373b05365b64","0x6d24f1451e0477cf59b0d99c18d6bd1d5aef818728886b9be3643fe7ae10701e","0x906d4b0e8f0a3a1b129138e453ead10750ae4cecf517e01b6bb99340bdeedde4","0x44d615725dd6a00816fde0b1767256e8d4a6796a6d1b2d34844d1389763bad4a","0x42182c0aea8452bf6d86618a0b5ba0237882d158eca83591fd2a7e0c4e123d9c","0x22151212da28291a917d43c2420cc5bc3fe8a0379607325cbeba0eb753eee1a9","0x90019486ad21e98d87ab8965de800d56104267dc2416d399d689ea159221bffd","0x64c1844e0cd95031ca18564892dfc038ce8338ee1168ff61b50ea34f9aa1b937","0xf1d5278d5006bb81ce58798252d790ff95503b63947c1000e7a742a8b1e320b0","0x3dcea3438fdf4b53b23d996f5714d4af758ffac6b82a03ac7d153ec850866bd7","0xb357d9022b4ddab68631c1ed393b46ce5b8048a69f98b4f8a1ea0bc86036c88d","0xfb608c5fb250b761fe4c44479ec398cedcc0f19f8196e96912bd3c02bec93557","0x3c30908976f14f75f5d48c0e61f19af6d417544f79424a737902787382dd0966","0x80be3649036b61d382618ba38055e3a6dbad22906928de3e58ceff5448e414c9","0x8d6f918cf7e15bbf0b9bb90f58a6477e050a7be687a1566ee2e34cf71e9683b6","0xaa3663f978d98ec7c3f5db5bcc547c22b55473e072325444be995b49694b68e8","0xf0dfde881f6672c39b92559e62bfb686c1f396c123ad0b078215601cd7833de6","0x100032a9090d3436f4428af12e4ac03aefd95cf8f54d91dafb898553ac65bb76","0x0813eb4603deb99d240bc27fb033d79b750485b255ad5a21718844e68afda6e0","0x564cf32bc2ede84eb22061684320c87877b13805b378ec9cf351b880d94d0e90","0xaace17676be5b8a1d00e4b21cf8de0b31d611a6037d6b6ba427c518c5dee93df","0xabaf2c962dbd67db95c6fed916950ea39ee021ee2ca366dcbae0791c1995eddf","0x55d2836440ac765764d2bc093143f4d33e4c76a67b24b63282129567bdd18891","0x32fbd38f876ee907ab850539e8622734b2b6166bc3c497a63bd9705ab8ff309a","0xe6b3c13b048842c64b4b2285a3d95537bea9932568fe44a14da9d96fe32af38e","0x326a95b803ec456ecf879056c0a062ec867c2b1fe77b5d7543886f744f9fc054","0x76e3b1f93f0c70797f32d34ab16c22aba26897b262bf3b9fea05792c0e44bc99","0xa406ddd554632edbd8fb29bf48239d32379377d9964d63b56a4b58a6342211ae","0xe507f04062a919707c1c3646fd9dafa6466ba9a5b99a45a5f711444074dfdf1f","0x9d8f75b125afb460c73bc48045e8e188e23230c97c10d7c1af65115a9109a3c5","0x1fd09384af3072d7ee6072df6301516d3a116faf3d22dd9c6dc455b3f3928740","0x496962b25aed0d28012906d7a640d01fbab66f4018b462a1ae53a063c0dd3679","0x78063ab277b776b33f80e283670082686a2462fe895c9bb9d330c767c0658f18","0x6d131d2dc122bfb19c76093de5ec81953dd9af621fc7b4585a59ce285a864aca","0xeb51833fadd3b8bfad8a02e89f2e8ecd27d8ff53c7c52ae13c12b4188369d6f6","0x6b8cfc3843f0a4bbe3e386599824431c874d40fd2c175353670fee2e8b81533e","0x7e09208d802733a55e117295f0b57c82e3e5db785a15b739746148e86830e413","0xf0018894e8d2f87813830ebeed5461ecf5281508021664665742dd7e94b15941","0x2142c7fc110bca3accc867ce813dae6b488fed792140796c78785cfe8371c511","0xe6517260872c2d1cffc2bc7f58d3c86645182a272cb6fae9755b7c84f46e12c8","0xe1a71aef34f4be1bcf8bebe2cbae269e8b6e527f6be8f58954346459ad64e54c","0x778a07a701524315fb01cbe4d04e89258ee7cfa6e2b4cccb08ee14d23d83d0bb","0x33907d1183d22ba055b1ed6587a5c1da14824ae516557d1aaaf32990bbe14747","0x6c3bc5aa7785b1d2b87e50aefbaa2d6a567c5604cbda95a48688d71ae46bdece","0x931dfedfe7d7f1376930ff1d99b6a2029b230386b0cf75a39fbac8380fee8e35","0xd0c77c7c70597ce712d58817cfb5b6e97b48de4bd6af393a64a5965701355003","0xe4d21108ca8e6a470dafa942eea205523c296cfefdb49ae53e932dd01ddaf84f","0x0b6b90b3c8786d4a67178cab8c41fb640fe2f7ad63c3e149e12bb22dbfd18012","0xe606244314e4b255a5c6cce60b576c17674dace61c4154c7f9fcd41cc56cf322","0x960ba88a8b1bc543da5124bc09aa57199c17ef37202587dbc8af2a4d90a2e47e","0x839858692b3a211b079ab222e5b8562c6833102a675f0881adc7a8ab4e14cdcc","0x61cfc1d59bd8b930670181f27237f9474eb676cf9d852aa79b5f871c761a2af5","0x56bff44d1fa271202f8d55b54c78c9b75ed53dcb555e9b8f92c4810a270357ba","0xa3aadc8e65bc5430f528f93b0c726b015a2786539fd1f8d850e6920cfde0ea4b","0x12fd47af11eeb08a9115c967c8c409589a3a1d583641e446f54b7535b200bf62","0x5061b45dd10a197ce6d8b21f21075f3bb79e2bbc035fc38c2b4ea715f37be67f","0x84e9a7fefa6122f61a757515ad05f8851f4eef88b11d5612093ec9a206750790","0x9260caf0b005584f7ac5a391df5fe2a2ba270e3e26fa1bc8e522aa1d4c263e7d","0xcd8626836baa047d6459fa00a728097b5b7c740c8800b1630d2c581403fe3905","0x79cd85af2442851aa4fd2295ef741ed935b212e5a155e37aff20a6390b885c14","0x21fe3176027e96bc49a7f7c49e12333c158b663bd03ed64398a2ed3d84c2d094","0x73b5fadcd5aca1a0c30d21823772bdf89512d81336d666dd721abd7e55cf3241","0x8a76f963963517352fff4307ab8026c36777fd47c392622cf0dcaa1e02634b09","0x170c25cc700000097486d3e58a3282108d173d6cd05fb03f4ee338cf3a4e98d7","0x9d44390378e14f9386ef7ac2821d8a1502f242f568528a8776697a455f03443c","0xffcdbfb5ce2e40f33d2ff957faf7f28790a2fd50948b358f430fe3bf9a744442","0xb414778b97281156ca05a5a8620eed70cd7b6eac94cc7194b951b4a43f253c97","0xcf4aeb1257d707c611b02247bbbed867bd4d427cc5c65e4552d2a4842198eff6","0x26dfa7935ba3a3de6ad649e215a48d0602743867d4e7bc1fd55039114ebdbe25","0xa3db4bd9f6c5ab9c0394e592f6e2ad56b0e16ccf7ae5400d2fefba50cf6a13e0","0xd49951086f7c3cc0d78fa7f06241edd0c514ec180bc3dfcf7a6ffd790f6ded4c","0xc1d1fe0cbbd448f65829e2c10783a1461f555f9cc4b41a4ad0b9a7d1a765d9df","0x37c77b747b9efa641342e1bb85f5cc3f4306aec4d7449f7a12d43025c813fa47","0xa052f59e3732d89bee1d7d4490340a42be97c05a3d7b270baae0e715422e481d","0xd03708cd291234da34a99fa6bcf69aca54fbb9b43308b4057959b8534fbcea0f","0x21ccd23bd7f7d79f297d79c23ac3187b7405e1dac52c62bf9210a20bcde6bfd2","0x0ed28691c1b0913319fc7edde29153b7bfadf4ed5c11d75bbeb8a4711a04ab0f","0x08565c5067041f6d8f5f8cad5e39ccfc676d0371b960bd7edc6a631d9fa544c4","0x1f14dd0d18aeb08bd5345c41c31ec54674271c25ec4c442d82598ef1ee99596e","0x7ec78b696485e00fa80211d099c1c947b6a76afa64dcd21ed7fd11352e837bbc","0xdfa91502d2588788465cdafab98f01c934c5516eb043897158905169433773eb","0xf5d6107e5276b246713aa53a7e20a3bbfbaef981f7eda633dbe5402ffc4b1638","0x4fe1ec8d91b3aa59180a0414b33f2c6850e54729c03e22cf26391bee2371ccec","0x9290f637bdf1f5418702e4ddeccab62927659fea210916aff4e322dde9a1965e","0x2093ddc71f77133f222805e75ee536c1363d540bc64896d8854d980556b5eb78","0xe2135122b3adc2aafb5520f31dec24981d9500aa8edf97fdcc3ed03508ddab7f","0xf45b12961b80f82d864e3578f80ac92324b9ef2964ee66a71e58b6241402fff2","0x064a66b3cfe8921f5da142723d4fa2af7b24318305c05f2682ccd9a2904dbe48","0xbd5b0789cb9ba73eb665c8b0a9f8db68fed9ea6e8f965111696820b6e66947c3","0xf1cd611a0e1e5b54885c75d73db9e70aedd3dce765e4faebd2065a47593f39c9","0x17c9a4553d2f689e4da7e8ee5093596ddb3563a03a72fd7ee430b885bbbbc229","0x087120d0240951ec75b3c5c7b637e873ff02f347b97c73c8b2ff3186f3ba5f8d","0x5b0caa9b293799fe9a4ed68a88c74195c3102d3b2cf7b446b89d949b3f80f0c7","0x3f9581b4e3c61fd718c45b2490c8fcdb4e47489ab50a504825830b50bd1419b9","0xd47c0e12e513b6ede8fff4ea4f65aa7fe3ff751e0b16ab1416fb2627ccd81acf","0xf35a605751f0cdc926413a984506d4eab20ae09cd0a5edcc1f505e67dd426c64","0x876a67d7f9ed4e926fafb91272290a01758a9b9acb7af1ad43896c13b381ae69","0xdaff5644cfce09133cb6db783019f4de406f06f8686962e683fdbfd8edb47ee3","0x79f54807878a24229f57f9193ee144e9ad4ddf90f7cd38a70b9d63677f6b37d5","0x98e840f518c6fb10cfc6e2a59e907bb195d6a7abeaec350163d7242b772775aa","0x8b6ec07092cb61afbfeff775a9ebb6d26608e5d30a0039e59713a77874d02988","0x9cd465d2e0fc07c1806b64d34decc57e5426825527a61906413dd2156635c2ab","0x7afff2c624a94881faba70688887524c30539d9aa51060176902fb970da92c85","0xd891cb85ba08a9ceeae640d8dd38c19aebdf42fcb5f36bbee21368ba7975498c","0x513dac3a3f8156c50a837a6eb6c0b4d24aafb40d823905581e97f73a3bc67ae1","0x77cfb9ce0f011db6c1eadc298884fad690c9e92a67e31e5c44ae18cf346d93b1","0xe84a489566ebddce63c7a29c3b39c6b571312f16b01b40b39d8b253d70e2994f","0xbe3664ed0f7b6f45bd46896623d09f0f065a622595e8be9dac57ffc86f48264d","0xcd581e7dd7996363d5e0423f901ddab44e4a74003c7dd2086c3f3f2ae51f80b9","0x702c9f4aec5a17f4033543956e96216ec6ea2614ec6ed28d2cb017b668482d1b","0x82d92d5a9ea7f42b6704a2abc97da2ddd57f9d3ca5996bc8c9e5ee7abfd0c9dc","0x9d8ed0c4005c6114247549dfa93ad39aeabd65011bf8cd24bd904bf5bcbd5932","0x0d88d6d7fcdf2378636b709c13d7292089b1ead9a00f8d42559eb22b9dce2430","0xf29d043407991d3273105cf98898ce206b5222e1070a053f421dd67f76debc51","0xe13a05f255b6ed96309eea1d53672c01b04578ca3dcca4f9b5b157701e853c83","0x5c028819e9553e9241e65e708a97bf8cba9a21264e1bb766799a17fe75bb553a","0x453490ea5195716fcca9adefe393cb5b244ea36317a82f50ecfeaddf3942c6b4","0xa65d52957d4f30dfe1c7ec5b62901603d89ea42beaa4a07efdc10aac94e5b88e","0xcf7209723d41c5cb01b13b63222db5c21b59a5d713d80da55ee70c676c154d26","0xf6887497dc94f67fb82fb4c12716ce481300f7f58304823be885893e62e88444","0x794c1a37c5022eeaf034775994264379ed8df96609a23d8c6f1fa864b57f21c7","0x047cdfec0fcfc9db1fc7a19f82da9c6559ef428ca0348450ca885f1d442f9a02","0x72a9eda4af2f63511dd6c14968d21a54b593164f4059e45f60f8536a7aa7c9c8","0x0cae67e525a278502a93bec1534476561c268f61a10471a2361334f6fc0aa52e","0xc420e00f2fe8fcf4235cd0a1f27bf0501bd93b81d30e2f91335fab7c886c8649","0x2eb6e625ce3508dd5b90f47cb28385465366f1c4612b9ad57a8a305a28c19293"],"logsBloom":"0x5f3d66625185c33fde3dc0faec3998451b0b30bbaec520074f39c1fa8cafaf03887f5d8da0127c580b377b1cec1e0391eb91e3bd8aa4fcba4a91fac873be86e6415bc5eb860b5baa7d5e61acc3f18c2ba62cd0b9716c1ca27c3e5758c92e595656a974739e62f8b3cbf55dd04622ed4d0260f239555085aa8607a594576f3bd15358175086e6f34888e47951bbead0fec12123c7fd5b6e9cf720a07aeafc95397fd69d82fea2ef57431e58c1a8088529bcf8ac9a610dd8806769cffe8c9a83718b5734936e5acfa72044c62203155e4e3ee437864e6c0bbef9bd4d8e85816a8a02752c1e9c410419cdd5d887834f6a9d663a9eba720ee4c2690b281937c71485","totalDifficulty":"0xc70d815d562d3cfa955","receiptsRoot":"0xe1d506c96b5e7377ab0a6157e6d0c9d65c7a5fa7ed28a9fdaf02595e6889256c","extraData":"0x6265617665726275696c642e6f7267","withdrawalsRoot":"0x4b42fc5bc316b8776e6fa1727c375ab18b2401624615fb71e0c95bd1400ef814","baseFeePerGas":"0x17b285303","nonce":"0x0000000000000000","miner":"0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5","withdrawals":[{"amount":"0x11c0f7f","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e2b","validatorIndex":"0x15923d"},{"amount":"0x11b3ebc","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e2c","validatorIndex":"0x15923e"},{"amount":"0x11be4ab","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e2d","validatorIndex":"0x15923f"},{"amount":"0x11bf791","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e2e","validatorIndex":"0x159240"},{"amount":"0x11a64ae","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e2f","validatorIndex":"0x159241"},{"amount":"0x11b943b","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e30","validatorIndex":"0x159242"},{"amount":"0x11b214e","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e31","validatorIndex":"0x159243"},{"amount":"0x11aee8c","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e32","validatorIndex":"0x159244"},{"amount":"0x11adefa","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e33","validatorIndex":"0x159245"},{"amount":"0x11b899f","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e34","validatorIndex":"0x159246"},{"amount":"0x11bd948","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e35","validatorIndex":"0x159247"},{"amount":"0x11b96ba","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e36","validatorIndex":"0x159248"},{"amount":"0x11c8e52","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e37","validatorIndex":"0x159249"},{"amount":"0x11ad72c","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e38","validatorIndex":"0x15924a"},{"amount":"0x11c2bc8","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e39","validatorIndex":"0x15924b"},{"amount":"0x11ba27c","address":"0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f","index":"0x30e7e3a","validatorIndex":"0x15924c"}],"excessBlobGas":"0x9e0000","difficulty":"0x0","gasLimit":"0x1c9c380","gasUsed":"0xeef652","uncles":[],"parentBeaconBlockRoot":"0x5515fd3785b9fe785db376b82d43a7349e1407f0ca6e82b05a48da5ae2bef7d0","size":"0x13671","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","transactionsRoot":"0x71e763ffd2b9a8cb6e043f2acbd02eb1bec8e2370354ba74e6a5c75ae543cffc","stateRoot":"0xc6cf0be4bbea00f4e3492428da4cd4287cceb0f673ed66f6227ee2affca894cf","mixHash":"0x2a7b6019eff4f027dfc004a19822eef8216b63823ba062fe26e3cd5ad11e663a","parentHash":"0xa870f670ae8e85ad097cb45fbe57260ca4f053abafebad9b7d6ae7ba819e08bf","blobGasUsed":"0x0","timestamp":"0x6687daf3"}] diff --git a/trace_decoder/tests/data/witnesses/zero_jerigon/b20240058_main.json b/trace_decoder/tests/data/witnesses/zero_jerigon/b20240058_main.json new file mode 100644 index 000000000..6c441d3a6 --- /dev/null +++ b/trace_decoder/tests/data/witnesses/zero_jerigon/b20240058_main.json @@ -0,0 +1 @@ +[{"block_trace":{"trie_pre_images":{"combined":{"compact":"0x000366daf1e7d1d2eccff1c93fddb0e1124c9c874f2c7021929334420e2c7a92cebe0347f914614ce63e9002b4d04cb128d7900c55bec2cde5b8ef95f60f2b82780d3403e0422759658cd7192057461c2ba6f1169ddfa34135acca34600b054a2cfd10020327361491eb54fb7d09f493fecbcf3e8ad0f897669648a3ebf024b6798b4e8985039cba256905fcdfb4a481ae4492e54621ddc34138b46a5c6aa76d078e9a0dcd130356631d866c4cc678386e56ad3873ea0da6df74b7c6c7d09f7ab5a0d344622cf1031302027d79f00c990d9da255a2ec2cd836a158d5cc75242b2932f5492e7c578c03fae67e56b9021eb542ae17210b28fe64f8e865b3247f98e3e66b28e047e1d2ef035e83f85a3837bd265ad236aaed310487d2bc4d1d7b64cc4b6e5b1c9080b7aea7039290bc5f0bb8f67e628cf23ee6727e74234d37a4e8d79c8ff719a75784e8c3980358d89a6a853489a64be0603633bc31ff756f6d838d0dca5d260b17268bad6068030a12ce76f7ef73b533d16557b384d7bda39eb8c41b8007c6c9d78889d5a559b80375e16fac6ff8bc47b8d70e974aeb632d61ab2a881709376eb49f4e978899e195033eb235e09dd0da98f509e08c933483d13883894567064f56525ad0a743555afe038ca2e439cb74b97c20ef22db93bf5a835f3e66122b13b69bbdc62895dea89adf03b64e8a95b6262786c3950ff9260e5862e3deec9f5ced38096d09a6484adf4a6d032cf64f6026873e3732b829e490ec6c097ebcbf2c0d8e50c5c21866aecff94ba803f8b9a4a61e7ad2f0b09dbf7c79a3463319a1e800cf93be28fd224e9941c3b506037121604394469a24fa45ff034ce368ee6c5ee86e4df354975598d7f5c3cf23e4032fe15845259544c7bbaf4d93b07728d8cfde2222ef5edf4b0baf4976fb4df36203010ecde70844f1652f7d113458c77ec4b9b6d09b8843c9d4063ff53271ecab490335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03522c4607e59b879ad6634a05fc06e92232f6bca923957df68be8aaabb007011bffffffffffffffff05581e033a74fa015c5fdc0c3a03969061993f65c5617d3872657990fd4c7bd250040305581e03e45b217869d82811511c9dc0d4bccd1505c551a8b31a5d4b207661b280040505581e034d2330d4d2076ab7d8e7fa7366a14a27997b0522b7e4326c308163da200c024704935fe631280005581e032c451125adaf186e0207fd0743afaf5c38c4e0377306e017cb59f811a008465af3107a400003fe0b294bfb9594509a97bc2c96b47ffff0064e7adb8e87140678161b5cb0465c0326c2918963cb44cd2adf58973da4de299917afbb4bb5633a077456ebda4c474c031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e035acd4f462fa570d1ef1277102763ba9c5cd9084e74de0a62d52d6e2ce007011bffffffffffffffff031aefc5059b793f42dd12e4808e08aa0cc37dc174a5e36eb039cf41aa6944f74305581e0363ef35d1a0de48c314e5dc958e99660c1f1f830bcd5b721333bb83a93004010219fd2a0302abd0cc871009f099f8d30d95ef17991ea42ad9260edfe913a0e5b00ca53ac103c93b153daa0c25a0367757a2844a3c1361c245b9fdeb148128383cf55bc6536703e0054517158f1561b13505a81c931af57a8b1816e6f4a20aef61bfe81272570e03ea7325c50c13d8e500b7c20106384755ac8d6f87e7c0e6897f9c7cb7152155220300489989d0605e0f03dd12e190d29535b42f8f3b253a965a6ec306beba1d2109030f1752f78e4704b0663897f59711d1da3427419273dde7d995275970dcdfc48603d5b2b21b0670ec28f60d186e48f58342c553356a26a4297100e4fd0745358c7e0375bcfa6a5b1135aae0c4d682e7a6c40d50c34bd183f3fac1b5432c878ead22e603867f4ee0ac6469bd7aa867e48d3d725b61b29413ad338b73b81e2c70a07f43ba036b946b5bf3099034e7cf674c9572e49ba09dfdc08ff712851d74a81ae53c3294039930348d39aecf044dd72f1e3847eba531482b0df79bc596354d14bf95a587de03aa577dfe699fa47428b43e6fa9f4dea0f13f928c54d9e53e6366625fcb3791f7032d9df48ffa74a1c48b1606eb88e7b28e1d39e6f620f159f3dcd1665723203ba5037609831694a43110c3e12e8821134f1480fbd862b1a8f14d9e9f06fc864eca540219ffff03ee44bf79a93f82fa909fd933442b856b1194e82cfce803b58f1a839d2e768ca70399c0f6a4473b24d95e5370a28af8e56101c17c5e8feff98b28e1f5afe11c63db03fae52033f6ccb94862804f1c9a099459acf173a527c12b5f90bd1d64183fb20c0300617c1a62984df89e1bb5fd5e2c13e4e73df45c7bb84642e836d8e5ec8492f4035e8d5fb4269a192d837234d77e2330703eb56479a4de99b64f2d0568671bf4be03cce5fda0ca32ec63c83cca1532aa58929ddf061b3756d4e69b5529ede45cd67b038eae498d96fb686814224719aac7331b91650ac42ebf20e80e8543ed709ee062038efce5aba65538e0630e68a8ca7f92eba9a9d0e627ddf8ffa05b0ff9f0d43f190311453539b6506b3ebb484331e80ac54be0509143fac0958e33aa4c616d3da24f0330a7d411c6a4e9e5788fc692be98482cb8c1b8dfc91e156bf2d4ac68e3bdfc56034ab29f97e10326bd3caf5608df03e20f9e7ffd7b3639258650b3616b76a5d34103ebbb7937000d17b980fc4172aaad447e71bcb03dcc3ef7dac1ab376f091b8fd00337499a6ae2c92e47c5b1f5182b380577db4a4f8a7f4152038a31bde7550ff62d03bb3be105389528a6295f2fc91b2c71d6c63915f9a50c55c558ab9efad2db990e0316e00bdfbf990496c095fe981d2f4636a94921ddf021def4592a9e1d756238540219ffff038c67476e36e84d86fd8def9688dba708b43d89e4d9023dd87ae60aaae4807f2103ed32e30fa6bf5c3117330dc8029587c6085c2d58a1c40ffbb40611b77daca35103fc1856a922cd374cb46a594154cbf8ca8b38b22c0978b7e2e179ecf829f9e59c03ad2c01dfb2a863d8d259f36f57ced6eaa6fe21a764482c8e715a5e3555dabc8c0219ffff03e79ff081a0eacee84bc37ae4545d663631d10dfd47c4fda7c181bbcbf321bdb503dfaf9ca311f7551f6e4c9226da23b5d270c1086d3954130c55d6c8f16a8e8f8903770e1a8b52894554e978ea4c05bf5d4db47abe31feba11b8c286b6f303a28390030c8bb7bc139c4374a035604ae356c3aece2c1b1cd741f218abe1e34c1f9f51db03d1f9021d1c12ef3396698301acced557f8265e94d5c84381a8caef002fbc890103787ec17f3758a91abf583ed07d5d3fc0229e2d5595bf8dc44e7507524260e81a0219ffff03dc8743d2f22deaf06bd52922dc7fc1a26c106ad5db47325e0babf4a14813020e030f1d9bcc6dd68be2bd50c9eb5372b71164981546e8d6a60b1979a8459b2e877503252ec0189c25c810a7c770974a1b81bdaf5a920652980978ef9aee3bb82936eb037b3ec03674c4c46c57c5617cfb124c29e79f2ffcb574398c408734500fa7eee103e4ac7d1344d65d46ce8f536a7051ad5f41485b187906868effff0a4dc427d5bb039558b7a55b3a392498004e498416a8330fbe1bf722c8eb66433ec87e8f84433f030ffd8a4b1e12ed3adf48af5e7894c29b9dd48397e193753898aabdba9c76e39303a8ccc61c9dc17de607f6f6bed9ba68219658eab91fe2d5365a1db4eefa4979880313fe8c0d5bf1a841e55a62d5859fb4c8f2e835da3330726f791929be677d5d7203358213cdd6cff658988b3ec7b1f93d09a35659394f141910c241ee4a6807f769034e0dd200246d2a4bd952b9133e8ece6e32ee4684b9e57affd9de6c4a5fb3bf670381ef47df600ce79376a5e7256bfa3e54b220a3ff3c21dfaf57177d768ca5d24003cf465bcbf1715a1b8085abf2f109e9cd89bf06107cdfd42bb47071c5ddd6734f038d069f353c2f230fea3bd705a452ea9668fd78ca0d51bf2474df31920ca9f48b05581e03e3b4f7378b3f1cc3813d8c3a3ad3af65f9f186ac687d8f84e9be5e31400c03480461c7c02752520005581e03907f2d81ef6eadfc02547ee9adff7cabeb773839483e5abfda5f573360040105581e036cdba125676edd112a5adca1a0713ec57d950499d95a67a198aa428d20040105581e03c27352a0feb353c5dc12b2de36a6ee056b54a50710ef577c8a4e1570900c01470120ce8c22315705581d0242be93b4a591b50dec68a9cf54a3ce4bb5ce8cc72fbcc4cb22b1dfab0c054672cb930bf93805581d0220703c32f23da011aa8a7a5cf730aa5dfd498605020b4948673e83980c014702a6b3aef211f0045941ca73e75ed6f453c602bd696ce27af11565edc9b46b0d321461003a5773fc9928f6590d853752824b0b403a6ae36785e535321461003a575b3d3dfd5b3615606d5733321415605a573d353d1a4360ff161860695746463560f01c565b6084803560f01c01803560f01c565b5f5ffd5b005b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601803560601c90601401358060e01c60e01b9060041a525f5f60445f5f855af150507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281602f01358060e01c60e01b9060041a523360445260806064525f6084525f5f60a45f5f855af11560695750603401803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601803560601c90601401358060e01c60e01b9060041a525f5f60445f5f855af150507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281602f01358060e01c60e01b9060041a52816034013560f01c82013560601c60445260806064525f6084525f5f60a45f5f855af11560695750603601803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601803560601c90601401358060e01c60e01b9060041a525f5f60445f5f855af150507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281602f01358060e01c60e01b9060041a523060445260806064525f6084525f5f60a45f5f855af11560695750603401803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601803560601c90601401358060e01c60e01b9060041a525f5f60445f5f855af150507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281602f0135805f1a3590461a523360445260806064525f6084525f5f60a45f5f855af11560695750603101803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601803560601c90601401358060e01c60e01b9060041a525f5f60445f5f855af150507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281602f0135805f1a3590461a52816031013560f01c82013560601c60445260806064525f6084525f5f60a45f5f855af11560695750603301803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601803560601c90601401358060e01c60e01b9060041a525f5f60445f5f855af150507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281602f0135805f1a3590461a523060445260806064525f6084525f5f60a45f5f855af11560695750603101803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601358060601c9060141a3460e01b90525f5f60445f5f855af150507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281602b01358060e01c60e01b9060041a523360445260806064525f6084525f5f60a45f5f855af11560695750603001803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601358060601c9060141a3460e01b90525f5f60445f5f855af150507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281602b01358060e01c60e01b9060041a52816030013560f01c82013560601c60445260806064525f6084525f5f60a45f5f855af11560695750603201803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601358060601c9060141a3460e01b90525f5f60445f5f855af150507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281602b01358060e01c60e01b9060041a523060445260806064525f6084525f5f60a45f5f855af11560695750603001803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601358060e01c60e01b9060041a525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601b01358060e01c60e01b9060041a523360445260806064525f6084525f5f60a45f5f855af11560695750602001803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601358060e01c60e01b9060041a525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601b01358060e01c60e01b9060041a52816020013560f01c82013560601c60445260806064525f6084525f5f60a45f5f855af11560695750602201803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601358060e01c60e01b9060041a525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601b01358060e01c60e01b9060041a523060445260806064525f6084525f5f60a45f5f855af11560695750602001803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601358060e01c60e01b9060041a525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601b0135805f1a3590461a523360445260806064525f6084525f5f60a45f5f855af11560695750601d01803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601358060e01c60e01b9060041a525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601b0135805f1a3590461a5281601d013560f01c82013560601c60445260806064525f6084525f5f60a45f5f855af11560695750601f01803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f60245281601601358060e01c60e01b9060041a525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601b0135805f1a3590461a523060445260806064525f6084525f5f60a45f5f855af11560695750601d01803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f6024523460e01b82601601355f1a525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601701358060e01c60e01b9060041a523360445260806064525f6084525f5f60a45f5f855af11560695750601c01803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f6024523460e01b82601601355f1a525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601701358060e01c60e01b9060041a5281601c013560f01c82013560601c60445260806064525f6084525f5f60a45f5f855af11560695750601e01803560f01c565b806002013560601c7fa9059cbb000000000000000000000000000000000000000000000000000000005f52806004525f6024523460e01b82601601355f1a525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1507f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601701358060e01c60e01b9060041a523060445260806064525f6084525f5f60a45f5f855af11560695750601c01803560f01c565b806002013560601c7f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601601358060e01c60e01b9060041a523360445260806064525f6084525f5f60a45f5f855af11560695750601b01803560f01c565b806002013560601c7f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601601358060e01c60e01b9060041a5281601b013560f01c82033560601c60445260806064525f6084525f5f60a45f5f855af11560695750601d01803560f01c565b806002013560601c7f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601601358060e01c60e01b9060041a5281601b013560f01c82013560601c60445260806064525f6084525f5f60a45f5f855af11560695750601d01803560f01c565b806002013560601c7f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f60245281601601358060e01c60e01b9060041a523060445260806064525f6084525f5f60a45f5f855af11560695750601b01803560f01c565b806002013560601c7f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f6024528160160135805f1a3590461a523360445260806064525f6084525f5f60a45f5f855af11560695750601801803560f01c565b806002013560601c7f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f6024528160160135805f1a3590461a52816018013560f01c82033560601c60445260806064525f6084525f5f60a45f5f855af11560695750601a01803560f01c565b806002013560601c7f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f6024528160160135805f1a3590461a52816018013560f01c82013560601c60445260806064525f6084525f5f60a45f5f855af11560695750601a01803560f01c565b806002013560601c7f022c0d9f000000000000000000000000000000000000000000000000000000005f525f6004525f6024528160160135805f1a3590461a523060445260806064525f6084525f5f60a45f5f855af11560695750601801803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f52336004525f60445280600201358060e01c60e01b9060041a5260016024526401000276a460645260a0608452600701803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f52336004525f60445280600201358060e01c60e01b9060041a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600701803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f523360045280600201358060e01c9060041a1b5f0360445260016024526401000276a460645260a0608452600701803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f523360045280600201358060e01c9060041a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600701803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f523360045280600201355f1a355f0360445260016024526401000276a460645260a0608452600301803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f523360045280600201355f1a355f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600301803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004525f60445280600301358060e01c60e01b9060041a5260016024526401000276a460645260a0608452600801803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004525f60445280600301358060e01c60e01b9060041a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600801803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c60045280600301358060e01c9060041a1b5f0360445260016024526401000276a460645260a0608452600801803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c60045280600301358060e01c9060041a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600801803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c60045280600301355f1a355f0360445260016024526401000276a460645260a0608452600401803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c60045280600301355f1a355f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600401803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004525f60445280600201358060e01c60e01b9060041a5260016024526401000276a460645260a0608452600701803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004525f60445280600201358060e01c60e01b9060041a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600701803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f523060045280600201358060e01c9060041a1b5f0360445260016024526401000276a460645260a0608452600701803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f523060045280600201358060e01c9060041a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600701803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f523060045280600201355f1a355f0360445260016024526401000276a460645260a0608452600301803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f523060045280600201355f1a355f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600301803560601c906014016084900360f01b60c45260843603808060a45290608660c6375f5f8260c4015f5f865af1005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004525f60445280600301358060e01c60e01b9060041a5260016024526401000276a460645260a0608452600801803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004525f60445280600301358060e01c60e01b9060041a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600801803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004525f6044523460e01b81600301355f1a5260016024526401000276a460645260a0608452600401803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004525f6044523460e01b81600301355f1a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600401803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c60045280600301358060e01c9060041a1b5f0360445260016024526401000276a460645260a0608452600801803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c60045280600301358060e01c9060041a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600801803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004523481600301355f1a1b5f0360445260016024526401000276a460645260a0608452600401803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004523481600301355f1a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600401803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004525f60445280600201358060e01c60e01b9060041a5260016024526401000276a460645260a0608452600701803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004525f60445280600201358060e01c60e01b9060041a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600701803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004525f6044523460e01b81600201355f1a5260016024526401000276a460645260a0608452600301803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004525f6044523460e01b81600201355f1a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600301803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f523060045280600201358060e01c9060041a1b5f0360445260016024526401000276a460645260a0608452600701803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f523060045280600201358060e01c9060041a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600701803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004523481600201355f1a1b5f0360445260016024526401000276a460645260a0608452600301803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004523481600201355f1a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600301803560601c9060160160f01b60c4523660020160a452365f60c6375f5f3660c6015f5f855af115606957005b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004525f60445280600301358060e01c60e01b9060041a5260016024526401000276a460645260a0608452600801803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004525f60445280600301358060e01c60e01b9060041a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600801803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004525f6044523460e01b81600301355f1a5260016024526401000276a460645260a0608452600401803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004525f6044523460e01b81600301355f1a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600401803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c60045280600301358060e01c9060041a1b5f0360445260016024526401000276a460645260a0608452600801803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c60045280600301358060e01c9060041a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600801803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004523481600301355f1a1b5f0360445260016024526401000276a460645260a0608452600401803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f5280600201355f1a81013560601c6004523481600301355f1a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600401803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004525f60445280600201358060e01c60e01b9060041a5260016024526401000276a460645260a0608452600701803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004525f60445280600201358060e01c60e01b9060041a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600701803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004525f6044523460e01b81600201355f1a5260016024526401000276a460645260a0608452600301803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004525f6044523460e01b81600201355f1a52600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600301803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f523060045280600201358060e01c9060041a1b5f0360445260016024526401000276a460645260a0608452600701803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f523060045280600201358060e01c9060041a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600701803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004523481600201355f1a1b5f0360445260016024526401000276a460645260a0608452600301803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b7f128acb08000000000000000000000000000000000000000000000000000000005f52306004523481600201355f1a1b5f03604452600060245273fffd8963efd1fc6a506488495d951d5263988d2560645260a0608452600301803560601c906014018060040160f01b60c4523660020160a452365f60c637905f5f3660c6015f5f855af115606957503560f01c803560f01c565b806002013560901c81601001355f1a3511606957601101803560f01c565b806002013560901c81601001355f1a355f0310606957601101803560f01c565b7fa9059cbb000000000000000000000000000000000000000000000000000000005f525f60245280600201358060e01c60e01b9060041a52336004525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af150600701803560f01c565b7fa9059cbb000000000000000000000000000000000000000000000000000000005f5280600201355f1a35602452336004525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af150600301803560f01c565b7fa9059cbb000000000000000000000000000000000000000000000000000000005f525f60245280600201358060e01c60e01b9060041a52336004526007015f5f60445f5f853560601c5af150601401803560f01c565b7fa9059cbb000000000000000000000000000000000000000000000000000000005f5280600201355f1a35602452336004526003015f5f60445f5f853560601c5af150601401803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f608452806009013560901c6044525f6064525f90806017013560901c606452806025013560601c5f5f855f86855af11560695750601401602501803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f608452806009013560901c604452604451632e1a7d4d60e01b606452806068525f5f602460645f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f60645290806017013560901c606452806025013560601c5f5f855f86855af11560695750601401602501803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f6084528060090135805f1a82033560e01c60e01b90461a525f6064525f9080600b013560901c606452806019013560601c5f5f855f86855af11560695750601401601901803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f6084528060090135805f1a82033560e01c60e01b90461a52604451632e1a7d4d60e01b606452806068525f5f602460645f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f6064529080600b013560901c606452806019013560601c5f5f855f86855af11560695750601401601901803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f60845280600901355f1a81033560901c6044525f6064525f9080600a013560901c606452806018013560601c5f5f855f86855af11560695750601401601801803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f60845280600901355f1a81033560901c604452604451632e1a7d4d60e01b606452806068525f5f602460645f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f6064529080600a013560901c606452806018013560601c5f5f855f86855af11560695750601401601801803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f608452806009013560901c6044525f6064525f90806017013560901c606452806025013560f01c81033560601c6020840352806027013560601c5f5f855f86855af11560695750601401602701803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f608452806009013560901c6044525f6064525f90806017013560901c606452806025013560f01c81013560601c6020840352806027013560601c5f5f855f86855af11560695750601401602701803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f608452806009013560901c604452604451632e1a7d4d60e01b606452806068525f5f602460645f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f60645290806017013560901c606452806025013560f01c81033560601c6020840352806027013560601c5f5f855f86855af11560695750601401602701803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f608452806009013560901c604452604451632e1a7d4d60e01b606452806068525f5f602460645f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f60645290806017013560901c606452806025013560f01c81013560601c6020840352806027013560601c5f5f855f86855af11560695750601401602701803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f6084528060090135805f1a82033560e01c60e01b90461a525f6064525f9080600b013560901c606452806019013560f01c81033560601c602084035280601b013560601c5f5f855f86855af11560695750601401601b01803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f6084528060090135805f1a82033560e01c60e01b90461a525f6064525f9080600b013560901c606452806019013560f01c81013560601c602084035280601b013560601c5f5f855f86855af11560695750601401601b01803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f6084528060090135805f1a82033560e01c60e01b90461a52604451632e1a7d4d60e01b606452806068525f5f602460645f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f6064529080600b013560901c606452806019013560f01c81033560601c602084035280601b013560601c5f5f855f86855af11560695750601401601b01803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f6084528060090135805f1a82033560e01c60e01b90461a52604451632e1a7d4d60e01b606452806068525f5f602460645f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f6064529080600b013560901c606452806019013560f01c81013560601c602084035280601b013560601c5f5f855f86855af11560695750601401601b01803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f60845280600901355f1a81033560901c6044525f6064525f9080600a013560901c606452806018013560f01c81033560601c602084035280601a013560601c5f5f855f86855af11560695750601401601a01803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f60845280600901355f1a81033560901c6044525f6064525f9080600a013560901c606452806018013560f01c81013560601c602084035280601a013560601c5f5f855f86855af11560695750601401601a01803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f60845280600901355f1a81033560901c604452604451632e1a7d4d60e01b606452806068525f5f602460645f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f6064529080600a013560901c606452806018013560f01c81033560601c602084035280601a013560601c5f5f855f86855af11560695750601401601a01803560f01c565b8060020135805f528060041a6004528060051a60245260061a905f6044525f60845280600901355f1a81033560901c604452604451632e1a7d4d60e01b606452806068525f5f602460645f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f6064529080600a013560901c606452806018013560f01c81013560601c602084035280601a013560601c5f5f855f86855af11560695750601401601a01803560f01c565b63a9059cbb60e01b5f52806002013560901c602452806010013560f01c81033560601c600452601201803560601c5f5f60445f5f855af15050601401803560f01c565b63a9059cbb60e01b5f52806002013560901c602452806010013560f01c81013560601c600452601201803560601c5f5f60445f5f855af15050601401803560f01c565b63d0e30db060e01b5f526064515f5f60045f8473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15050600201803560f01c565b63095ea7b360e01b5f5280600201355f1a81013560601c600452465f036024525f5f60445f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af150600301803560f01c565b63095ea7b360e01b5f5280600201358060601c9060141a82013560601c600452465f036024525f5f60445f5f855af15050601701803560f01c565b6352bbbe2960e01b5f5280600201803560601c610124526014013560601c6101445280602a013560901c61016452806038013560f01c81033560601c60645260e0600452306024525f6044525f608452603a01803560901c60a452465f0360c452600e01803560e4525f6101045260c0610184525f6101a4525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af115606957602001803560f01c565b6352bbbe2960e01b5f5280600201803560601c610124526014013560601c6101445280602a013560901c61016452806038013560f01c81013560601c60645260e0600452306024525f6044525f608452603a01803560901c60a452465f0360c452600e01803560e4525f6101045260c0610184525f6101a4525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af115606957602001803560f01c565b6352bbbe2960e01b5f5280600201803560601c610124526014013560601c6101445280602a013560901c610164523060645260e0600452306024525f6044525f608452603801803560901c60a452465f0360c452600e01803560e4525f6101045260c0610184525f6101a4525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af115606957602001803560f01c565b6352bbbe2960e01b5f5280600201803560601c610124526014013560601c610144525f6101645280602a0135805f1a82033560e01c60e01b9060e81c61ffff165280602d013560f01c81033560601c60645260e0600452306024525f6044525f608452602f01803560901c60a452465f0360c452600e01803560e4525f6101045260c0610184525f6101a4525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af115606957602001803560f01c565b6352bbbe2960e01b5f5280600201803560601c610124526014013560601c610144525f6101645280602a0135805f1a82033560e01c60e01b9060e81c61ffff165280602d013560f01c81013560601c60645260e0600452306024525f6044525f608452602f01803560901c60a452465f0360c452600e01803560e4525f6101045260c0610184525f6101a4525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af115606957602001803560f01c565b6352bbbe2960e01b5f5280600201803560601c610124526014013560601c610144525f6101645280602a0135805f1a82033560e01c60e01b9060e81c61ffff16523060645260e0600452306024525f6044525f608452602d01803560901c60a452465f0360c452600e01803560e4525f6101045260c0610184525f6101a4525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af115606957602001803560f01c565b6352bbbe2960e01b5f5280600201803560601c610124526014013560601c6101445280602a01355f1a81033560901c6101645280602b013560f01c81033560601c60645260e0600452306024525f6044525f608452602d01803560901c60a452465f0360c452600e01803560e4525f6101045260c0610184525f6101a4525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af115606957602001803560f01c565b6352bbbe2960e01b5f5280600201803560601c610124526014013560601c6101445280602a01355f1a81033560901c6101645280602b013560f01c81013560601c60645260e0600452306024525f6044525f608452602d01803560901c60a452465f0360c452600e01803560e4525f6101045260c0610184525f6101a4525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af115606957602001803560f01c565b6352bbbe2960e01b5f5280600201803560601c610124526014013560601c6101445280602a01355f1a81033560901c610164523060645260e0600452306024525f6044525f608452602b01803560901c60a452465f0360c452600e01803560e4525f6101045260c0610184525f6101a4525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af115606957602001803560f01c565b63095ea7b360e01b5f5273ba12222222228d8ba445958a75a0704d566bf2c8600452465f0360245280600201355f1a81013560601c5f5f60445f5f855af15050600301803560f01c565b600201803560f01c80826024015f375f5f825f856002013560901c866010013560601c5af11560695760240101803560f01c565b600201803560f01c80826016015f375f5f825f856002013560601c5af41560695760160101803560f01c565b63e5d7bde660e01b5f52600201803560f01c80826002016004375f5f826004015f5f731111111254eeb25477b68fb85ed929f73a9605825af11560695760020101803560f01c565b63f497df7560e01b5f52600201803560f01c80826002016004375f5f826004015f5f73111111125421ca6dc452d289314280a0f8842a655af11560695760020101803560f01c565b60205f5f3e5f5160a45111606957600201803560f01c565b600201803560f81c6020826001013560f01c823e816003013560f01c51905110606957600501803560f01c565b600201803560f81c6020826001013560f01c823e816003013560f01c51905111606957600501803560f01c565b600201803560901c602082600e013560f81c5f375f5110606957600f01803560f01c565b600201803560901c602082600e013560f81c5f375f5111606957600f01803560f01c565b33ff5b632e1a7d4d60e01b5f526002013560901c806004525f5f60245f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f5f5f5f84325af1005b632e1a7d4d60e01b5f526002013560901c806004525f5f60245f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1505f5f5f5f84415af1000605581d025d656732a96145e333634a49f94c2d80163ea896d54d00cb7342bd480f0148213554ca4ed0ef6f1941ca0219500405581e03fd3e6149d7932fc83b29e5eb80bd57585dc6d47338d2580a2b78c3b0f0040105581e039014d5cadbf538440f59d28ee382d89394b9684fc5303307b3578e1e3004020393abe4f76a9c9594fed9d07886c630d80dc2c95e23c20b74d1a974a0d20219f302196df103ae3df80d046fac6e179540848cc3c46b63fb674fad45ef8559f6bec4a437903803cde3f244ff0b9428264568f014efe0b01b8a70da0bb580d3309ae79f6d14112e03d76855efe3e2cab006d3f06a3bde800f85bb9a40382fdd8555b0a1a2960e74ea032118f3899e12d4d3c8b1d7c216cc219a906aa1c102b474e27e248aea53989487032017efa1e4f3364348cdbf7a0d9bdb5d0c4a0934532f31200dea16d58cb0898a03d92cc4dbb2367dddc16346efab0271b2e26abff64e35ea9966630989f81db2e1036f7b91defab6c026396174bc64e8533a5237966b11a4d23da4c71eb628bf9bc6031f692be289280540942e2a8540d3479c7a628bf991831e837dae2a28d23abcc30313b667f6065a6abb44eb19a9f08a4d63dc33b0ad27f232099d8fe8526fbaa41a034e359f07d86fc4f323828a276f1f60cabb9d12339328efcb15992cd6735eede9030eb4f985b4d744a6eee0cfb0274e3c6d8597cc596452eb834dfed616db49d4fb0219ffff03cd767702eefdd7b15fb5474819ad70e1cde681f7a9665e2b6684ac82d8443904037333c46ff4f0604c8b8f73d1e1bfaee712a066b10589939375cde05ade1a79bf030005b0f3bfcddbd37338f49423d36cdcd097842312cacb2e6e8ba0e71061352c03b1cc2eee382c8cf1d11395a9b0ae99c877024357c7226c187b414b868b5532c203404202729290f2d3809bb195079c419d589e457d38fd57adf984c1ec4db2c8d6035248e06b15ca6ec042ab3e85b1475a016a910b255672ebb42b36e48eb7291b9303d408f2a0d3f786af4f41acd69b84c80ddf5c1f8d77e3dc525257ac5f4744814903f90e6b89ecf3b3f1ecc30c88495c20600d269da6b59320528990c66817fcb558033991992639acd9a62b23d1f8b7ab1099af6f171386b6f8a568a16a4c1889e93a03046ed0577e2bc54ed33d69a66ad767c5df8f9f297779d1b00756859b7b9e234003446f4d4321fb1da7bb87288aacfc73b3ab97f39804e095f05f157f7963db26fd0219ffff0334cd1eefd45465810352cd4240eb307bbb434f402f2c3bf3886a2a56ed316d2e0371d54cc5c8b4afb841794b086d034f81f98322f2bdbe016e00f88a7906fa8ee40391dda5a88da7d75fc25ec44ad738e72656adbb5c6392c44daf7ca278a14ed1ba03ee74cf9a7fc03ab4e1cdb90ae8311e34699e0bbae22ed4a387533dfd0f8d7e6a03422a301b9274a7a5bc3d8cda80b711e016341bc37cbe1ac6d58de89186ba6b4f03e1b32a9bfa1699acc3acda8975f29df81136b9c67370a476c600ece400a310e303d6c15b9d1d4c8ad8251c19da791c6abedc7714d00274be85449105610e3d6ea7037a7e2b4eb031069c8003dcdc1bf3d566a21fdc42ad27dba9be45dcc6648aca3003fd819d195587980745d67c7836ab2e81cbd833f11ec7ce96b4a9114aebadfc1503824c2e309e7014e0111db1e7c86657b10dda9b70d5039928244bb1fee5a1a5b5034ef7c9c5611c5a28f77adca39677de61820a29b2cf2652367dc7f924abea5bdf031be794eb94840b5a4324ddc3ed9bf61000c9e32c9ce1abd9562440b617f14cd40219ffff03aa9a72d59d78b98445bc563c410a9b91007cc1ca0e7183790f479d91fc6c718c030251d2b4ade5bae87b9954fd2f72335b6c1f5a5dbb9ba0a74dffeb85f9865e6703ac9012378ec46275b46956fb0f55deb77301214598dfd2e873f85ec43af9eb760330e3a327c90c59382e3f712e8e8342c26ccf5921f9a828359777ca71830b2c11032aa189d273bb4e7d01d1903363bc920a4867b4ef01f246d51a52970fc61aef8703ea92b213389f25db18bb00f75863c43b499cc7ec6c4033ef829464aaab2148c4039f8d211596363a7305597a7cc51c087d013c5d8a69322f491c5ca4f08e863f22038de070b29c7b056e65954d16177fe3de7e9c0536fb975841f8c70011be21991303cd05cc884512d7ffae980db7b10650eecbe202779dc21bcf348acde6d1784f910364143e1b914db1fe12e2e1eab8633eedd76b183f7cfb3bdcca91dc3833b5ebd30333821dd2d7ba657249c7d3724cc014df3e4be6d212fb15dfe7afb862d0c4cc5f03d6229adc30778d56757b0acc52f940a17d34e503377936b62d0106e837e6a2be0380508b6d9b8ec1955812e96247e966a2dc98fff1f60a2d552008e159b8e3d9c0035d663313cb83f0df3bcf6ebaf6a54d8231d2dc833f9004e0db362a5e3676eacf0356c7ba22a929e70ec78a1c6561524038dc8e25272a0ae74f9e670fb2b9d694f40327be72c562bf1e5e3813b8017e9f1edc225dba189d3d094ef62574f4199abf6403ae94ac0993fa7b8983364863ce390df7aa69d085260180437aefeb99df748e46039db2c139f07309ef9ab241dbb5eb24762e8d11f03a2fb9cfe312ae67dd733a2c0337d0490fc06f5b4e0153ee966ef0c11cff179bdb255a489330e046f33ed96487036ec345804318933a42c7a721ef1f30b92b6825963322e5c4fef0e6583bc02bb1033f4a677de4dbb1ec782c8ca3b83bfe2171838f3a456360c4c10e93297728591d030d3c514df54442f1ef20d6f262e91d3bedb3dbe5699eb1d9dc31e61f5d7b8b9e039fc6d6d5b19c1f7e8617661d24bc2918cf8cd67e35cfe52073aaa56b50787d1c03b00209c659ff89e616e11a2e322465c3788b65fb659d31c7cd8b3abb307fbbfb03609068d87b31371bb2c2d48d90d28b233cf54f2f67fb96fa97520769bc9979410307aae4ae069b8c09b6f8fd15d33814b79a0efa7e0a09a2d489ccb919381c7a5603ef783424221185522ba2ca34411515408a995f4606b3a4a6c8a8e74522e6a9f5031ff783d1dcb21de121f58b62368627595abf5d380dbdd348cc19813b32ee59fe05581e03dccd6f457802649a9b5e94b57ec1cede2143a6cff848683eac6fdf26e00c03470815caaa64e00005581e03c7ce934307d72da87fcf47a428ca7284d31ac2bfc0bab5add04a01a2200c188b480157dbcc6696ea3103ea516a500545ba952360650e9a96a87403942e7fd6ca40621dd2b6cd9e91684c05581e03511cf4406a21d55d0973dade2c9606f4b9a2b9061d9aa6ff6899676720040305581e03bb2dfbfc588fb9d1430412424b5219a77418bc850f54cff4b09b0909e0040103b1f6d607e33338418599aa53004c661fe7b6f42740348a55990a1103b78a25f505581e037ed1c58212274b42e1d88e7dd8848a134066f75f16632cb47df0e6e9b00c064713c9ec6b6b8a8105581e03f95023f3a3979c8abceea5f8a73f2e76af922e349f25d70ff680d8c4500c044824a5c25b932a3ee4038a25106046436ab50ca1bfb4a1a8bac930961623542c8fcefe0673678fc5d13605581e033579f394e783c36190935a6e485ef40feb51fe72f5f704c1beb438cdd0084768ee7b1646440005581e033f59cfcf106256b54659c7ce4f228c30da053a9ec3ea5b83c70895d770040203bd2ce7768ca0e5e04fcbeb369d1a560023d352c9a4a0490dacb5dfd407b72030021977d703327ad8bf2ccf651ded0fb8a1400e8a4461f4d713782f1f360d4903ff7f38035c0356442ec1122b74ddef0a127bda321204c7db6c41b8bed8c9abb799f55275221a0377d4c4c914f241ca604c5b64101e2bc126bd6d7e194cf4392945d8182bc9c4b203395216e0f1186633c7973b27b34ded05dc30e6fc207b12841c3eb6c3d4b9b95e037c3902ca7281dbe866db58733aa063768c75f500228ffcc0ff7c90ea7985fe7a033867dc4fde31a6fd6943be27735b96adab83e7c388e2a7038b913c5bd317c3280219ffff0350ac1f9c7101c9be1e80619f533dec8b7e4ce3156216f031aadd14f51f7597f603f117f67f3dbec13f74a494289a43286313d6bf28da3bea804a68086d52cd2d4603d25a8fe6c7a07de547e7a7ef1fd7d1898e6edf63dede0b2281c4da60cce1c4e003c7464c8e9c42bb0ffd073ec63a88674dff80336ab3490f2b913445b14b9c235c037825a59f9a5c2b3cbdd893571fbca014b691a5f0c9e1e3f515d8e1ca49398e5d0219ffff03e10b20ec108c9ec9819d3520dc24dfd54d10972f46ba29fbeed3ba18c5b997db035703a4970bdc7b6a92809142ec6909b1cf535a87f3dd38dbff970d092927d62e03e2e72e1bce8b44eb613c36c316b03f37f7edc8f9affd5978ba181e0bba101e2003883345f4f318478c7515c4c81021126516fdaae37115bf9cf95b6adccab6e25503a3670bf320c6b02cf78b71d5acc70f559c7e2358d0164d354336a6ff5cc6f2490392bbf38641c975d2019b2f0b2b9b72d574c5fb2c27c7f66a4926df2848d33f4b0316f3fc5d7e816f26de7925e5c19c300657888ce5f938e58ae6be37af5815e822036c09d4dec6d935a4f5ad89b33ab3c34f2866d27a32ff6925b447df9e414741a4036c45abe9f79f3871d62bd537b7e6152c9a769171dd107423676a3601bd5b853603e154f0ccbe3bd9dfd9486eea6f24a4b55763d2c459f94c70991a6b2f5601b60f03e3247e6b32b762afc53eb0301e069de7df43b7dbb88d5f0b8fb8df6f221a0ec803bda82aaf04386b2decb85dd6a0cd217d4e26f1b3700dc3577007cf7b1d341b820219ffff0373733af7f6117c38b5f6e6093b0156432c4850ba26dabf4f8a466a4f902b3a5403377fb666648f0096662247e36541b2007dbc21844f3759b7cb687d562d6d6cc203f86c24be3780ef058847fc8707a505719cdd74244de478735e21c90cf860713c0313b7f39c010498d68c40c8d1d5d88d17b9ef45ea732e7f1e634189dea0cb5bf6030f9ecc7cb8ea0c7d9c0159a03894c7b0776877be496fb07813e49b860dd7cd4503f6e3d870449d027ee51360061418d57e6b5345cb6cd7fa381455db28d1e41abc03ae280736b3981b36690ad714cd18ca700c684e543907679bee9a99dcdbcf5e9103916b3a6c362c8718ee667d38627e23f787b80d016d06405b1ee071bffa7123d9037461969118214546a1f4436f30cc4292183bda56d18f3c14b2c34ceb6546f7f403d0824f8d15bb7b8cd2dc8a81870c0490629f3f63cf253386a2162d805ddb7ba60320839b78a6d4ccf4914ca67d8b45cf752e68de07f1efdfd4a35b5b4dfe6ca58a039affcc27df47f8d17ac541378e643bbd67ae4954340ce1a085e0775e770c93ea033c44a6f8f87220b064ad7c95bc9aade2eda7a2a56fbd1c476c12f87433decc62031a9344fe7b6f6c4ff779708d612919356973df10d0a2763cb2e62e722276fd8f036864bb49fd0bfd019c2df09315a63d4f7f436c49bb9ba5f177bd94d24c14f9de03154fce6043787886b3efd46ce95281528132709ed624c382db1345b57f7a74c50315f236830317921dfdaabeb920a6f308e16ff1c06ab19a03f223e65fef24bf9d0374353ce9004b2a27a6e9a5058b7f8923803ae85c673fdac0ff144a6d9368360a03645237bf3124ac64bb3c9e7e5e6e88558da12958208aeb49ed0ec3d63ca11cb403037ca5934644034fe6d05009d496ed109edc092fed883651b8ee16607c1dae6d037136a6c56b17ec61ba43b8168fa4828e6da00a570ac196efc3ad0f1103869bcf03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03084b81013b6587e6696fe7b719a0725c12b952ec24385e6e61292f819007011bffffffffffffffff05581e03a91df29e0b231fed9f835ccce160a54bfcd07d62ef0d072dc5a25a2f20040205581e03e485f8fa3ecd23ef16485af319ee03a7abd373a3eab3e24a2d671ba0e00c0547adbdfbbb33772c05581d02ba92575482222cc6c6f2ce3a509e5575c0916abc26f8e6abc20e7bd50847b478952baa10fa05581d02804bb3cec0269ac8b062c4cf2e0f525b8475d86816e5ac95f70d161b0c1901a3490c5a2df20c11629b9d0219802003a6cbf61f05a10a3503e7bbd2daf98492e120eb1fd3f31e56f8b48bcde38f091b03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03ab49bd0a6b152d309d49ddbf8a3cc062892cdf65b012d545ae5f08dfc007011bffffffffffffffff05581e03e1125504e79dd63cc52b693a4ba421c6d38bad7c748db6744acbe40b500c064701d6362429ae0005581e03842ea9e52f8cfb96036cda1019af4a90935a247448017efa5b1266ad000c181e48020ad924698d1fef05581e034a81699f33d820054e21486be616f2b85bb7ba689b731c302b510d17200c014701e32940b051a005581e03088dc52df1c821d602aea4b9943d4b4cc7cb1196800ff10c7f86ce315004010219afb9033144e8fcbc48da55792f3ee3c11822f43b32245b42f1cb440d7b26f2c0f8f24303ce4bd618fe6ab413cfaf48e72f832ec7a0aa585f19b457ae53cccec66cbd0eaf03d3a1afe00fb4b4e7400888b75c939e55c20e727c2be54b51d28eb70739ce949403da70b67e818409552ca15eebc8ba02eb64d455dce0186437ed9dfaa75144fdbf03d8fd4c90f8f39e168662557028a400e8b3f15c4d530767d43a42550a82ce9d83039f2b339675a4ca1b4e665e10c8744f53ffaa3142b4f36c183cc7df6f9ff416a3038541100000f85525800f73a2735668c0cdd433502c3d3f5374e4f32a22e296030318f2250c85e7d3fb3fa85b094df1093d2081c935e46ea664f029db69e671a35a0347902918c6df4e5fa13e2ac68a44cc489ec913f80769e2a072c6f3f57dfa60fb035e4fd561d7f85f605e67c24f9099ff5805567b4997a34a38ff83a1cd1518bf940219ffff03b6a9720c4af728e36f95cd51948fb6ad86437e65ac559097c6122117c4e082bb03f61160fa1739918dcb46e0fbe65ed04ff1870e2598bd055084b20b4468e919de03d898be9af53c36c682cf0c0a13676a17837fb626779b1c651a7a0e266f3f963b03d919fb509813f33cf8e84cc086dcef9bda450d1bd5f96eb25987545e0644624803c3cd7fcf0df5489364a1f6ea95df205ed908fe0baef33ab8bdea2444b162a2020334d9c9e88800d5f09edf6616ac49f42d3638bfc88664feac7cb5bfa8850e0fee033560c56d8a7b698dbceff711d029ebac4fb908af342be023b37a3bd15ecf023b032ab5e5cc84c332d08a94922422c0f202b3a499533690bc6b370477468cb90b8f03d293ebd1c3f1290dd4e58e9a7f8b140ec1e31e0094c4651df8e302a99c792c7d03447f19216c93d23182dc7dedcf53112914543a870a81efcc073ec667394a140003c8e12d11a87f4c8bae12f84d05b9c7ec5d951ed136aafc00283c036009181332031b5b5507cb947c8eb398f7041c735c34d00f5050b1e36d8e83c1091f2759f08a0219ffff0316f9f323827a1d04a6827ec6be2498c456fae2f9b11845bf420305fb814ea2ce03352ea53db0c7d8877a1d33d94caee6cb8d2b647688d1166811fc9a8f4867e94603f04aa84619f22ea84b3d17f98383a37c2416ab3172b6093fd3ef0701a974f27003aef24be8bb782272eb0ce2274d485696f1158b76fcf8760245fbf7ec69c6bd63033b1c07b9bc08831d42d40e8d06367d8db4e7f3da6787a814b9543c3c4974107e033ba00c4a2d53c6a8b6c4f1bd85124518f99817a06ce1c6780e3ad8b4e19682fc03c28ceeef5012393bb480c90be067fbebd2fe6dd78a3cabc435629b24b1bce2600219ffff035b3ab0e4ffc47637530056c461c0dfe1dfd1894cf95fc2567c84623097295cdf03d5e211a774786393cf368996f374fad17ce9422c472e6eca0ef8c27452afa41f0219ffff032efb74684837728c47c9226e55038799394c4708b276b1676e425c7dadec548603a61b617bde2c0aad99d182c1531cd8f0e15a18adc60a2826413e62c5b355ca530304450f97dbbc2da78629c4b4366843b596348095f650826e2278b2234e69c75f0390cfe120df4334ed0783d8e334bf531e0975b76a395097218e9faa5a676853a703b53b47559e83603d72f4b5be2d5955003dab339fd930fd59f91fab4c1891562103a425ae4496e821b559ec75314f03da03c4f6bc09117bc2749d9648d985b2c4a00399ec8c775febaaf921028db7aed02c84d698b58f8610fdf42d6f3af9bee699a403549bdf29068ab932a7aa6f601c9096e0c51bfa9ae65a1fe188d23f7175034b43034bcf4c93ef3e55da3f53fc47ee50c25505b7229ee6cb8cb2da2e37bcb4b5a9d60384795260d08ff6d8064b39e67c03e0c0393666866bb8c659f9a8b4cb03ca2f7503edcfcef819410c662ee0ba91aa6e90a6e89c5b06c4a2a9891325cbcad861b7cd0367ca4e6a63f9231f3a7018b2c51a0bdf530db239b17743b13bd1ffd05cb5a744032ff8f55223d9689ac826de8bf8809eb03c22a38ad60f27d0f49c2c954f41c47603a90e6b5a1abc81806730829aa3d2104b944cd8f9bf38563279870202ab9af9a103ae583eb45ce433ae287ff0a36a21fb2a9f6236bf258c156184c2631a7f181a0603b0cb0a577d589e402921f57b24ec3731b5228cbe24801be6c64c688008b44d8f03b949bb970d17f9a30a8dbb4be18a82c6bcf2cab223c0682958f849f154d0fe1f035553e91c8ba20cbca05cccecd828188246211b6e7b19351a8f8d6aaba7cd89b8034cbd8aac6beaaf53ebcf7d76d95809a8624548de9f64f5e96503b5f1b677152603c6e989a2c1e51d1eed31b4eee018c2c9f5a6b02278ef31119c9b59d39932a2de03553f34750e7d8743dc3506e2341566f090fcc3add1c359ea3e604dfbf91525650363282212e46fb1d911321d1b556c0313010d57e62c2bc784355e962117c567e30372b557b4965aafd6d0b65f849ba651f865c0cc767cb93411bd576d1949d74801035fad2b0d65b497628aa837de8e34878551b9c3113cce239bb0016db7b1bbc8820393a766568747d0661d48e699ad772f36b17a71dd71dffc4dc2b7d2b7b1111656035ede5358cde5c61735958654be1c835684697b85c9763f9802e4799da9cf0c3103bf6aba32261e5914bf97fd633e1a9b7e02541fee18ff959830bdedd4cb3ce16103eac7fce801a03a5531fe6d22b264b5c9914e7fc231faf6f652a00c41520a238003ac397f67b684547fa53fd9e22aa3e7817ac79554e9c428cd2c51e0b53586ebb703a9fc3d517579c64b9dc60123df7f206c7e0afc5ed1c9e1e0884a955d9a1fc79903a926d519c48a34780071315614e76a9dbd009d47ef93a4f433b907f2da3c098b038fe8ee61715f85b552aa1c779e21a022fc14278e6bcb250d3a9e6d99cab25a3603e5cc3f42bb478493c93650d9c0f5829a8425351747219c2d3de18588821ea942033599dcf24b4e8062579e50345950da100542f27a1b0863b60260a3631ba2eba505581e03589c9ea1584a64e4ab5cc1019a39e6e33efdf8b4f9da4d6546bde1a9400401035b338e711a90bab51237846d1ea4aa750ff38d3a84b8f0f610699909bace53dc03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03b65b29052e145cca7041da5ccd746e60ea082d56184cc8f44809494d28fab72a05581e0326915cd15d427276a1c4e27b1826ff0e32637fae9b6da143310da32dc00f014707bde888e8e0001bffffffffffffffff03d5aafbab2eb025b74ad22536579e32ec52bb8f8c926fc8d2a13abcfbd53335d405581e03f02cddf73828ea323771895bb8d1811349b328275f37be8771002db4700c01421388032d60dcd4ffd42251c68937aa3afbe42af20a4681b33f48d6759930130c369f4405581e03e5c1bb33a1d55c6e8dea32bc63c2593d7e222e05ed38abab8df5b534e004010350baacaa5a481a8ad7fec50fa189c9bd69f175c61d2b1e3ebc80b99e9fb0d30f05581e03dfa1c85b32417791b18620b8fab99f64f68e0b233c8dce005a11ce28e00c01462cb16b64ddb005581e033ba695996a5d62ae9e1fc87f9d4c4d6bef15da9123cd0bfbb2b27788b00c19069348110b3433e067ee5d05581e03b5928e762aded9d7ca1bb252eda954e81ed830bdcba241d02f24a966600c0747033d42fa473b0005581e0308528235b44a5094d5fe3349d47b291bccc48ceed66daf34924bbff1800c01470477b336422b000219f6f90353bfbae95168a96c116ee166571e71b42f4a0a4ca651a8a62a063bddad94553d03bfaeb795c529d959c71d3a9a49753c22f21ba476b5e3bc07b229b17b3cb9a99603ab2f7dfbb412c39ce6863bdeceeb5d4b0ee60772de17afcf47ff1380e08c056e03ee9e3a959823e1ad0fdc3e5a9956ea7252d4d18eded671d12df1d95722b8aaf80328518ee9c3750331f122b4f01702bd7823ec9674f2b443caea92b94b015a687f038cf694116af581fe1dd0963974c1898ab8c2499f5e59a2e85acac3bc17ef4f7b03a3610f8824eaa0a0660b1b4b762a5c1ac3efc322ad1dcbfc9b11738265a8ad76031887b852e5f468ab0e6956f6d1b8fbe713e5bba433268ac7bd00b1845aceb11b039baaa87f01c2d2fd18f4f4516bf86e09ea2de0adc5a102a060724f87a9549c460219ffff03beb3c1fb679954b1c2f3dc51463d4f39a43eac698aedd5bcf09c88485b6a5dbc0393967298964433b87c6e67df1a9a2ebad41b1ceea5ae555e9834327d44db6a8c03b46911959cbbdbefec2b7cdfaf8a2f199912a56272f28bf779de5e6b9f2d31dc03519a6e72ced1a70c1377b850ab57a5d64e0e97bd394bfd4774faa3f2f446fe02037f5ec6468590b328dcc6ce32577fac9bc6a7443c58d0a5b2f0d54a965c106b1d03be9e97758b4458d585293727e270494c50f274c98f2574fb4707b0d5b1e1f472030d78b0f7dbd29ebc115e0e14234f6dc982745d0a8d8f365ef1390cc6265677d403e608e41bb260257a7cbe23757b31ad7bc4ae95d55723c2bcb9a17bec264351c903f2132f831a85b4a5162a7730542c4eb0306ea447bcc25173b2bda38866cb05d10219ffff03e84aae50c86bd523a65fd9df8e5f95a92cafb315d0a45eddbea30d29ce4fedb903e4d7b2d71355eb2722d94ed5e15176c31c250553df8738b2003273da56f6de5d0369e82e081c481dd526bd087449ce5b4eb6609c6fcb5105ba13ca06ef6b6d64a70219ffff033f8f29610f2956e9df436186063f7d029490e2e9ad33a2d6df8b958478ac5a870318d2ab107fab4ae35bb60580bc74d6e84b4fa23f84582ff1fcc061cd6144265e03c6ba340e570ada001bc20232d93c663c9bd5922cd35e451027db6bd52d07bc6403c12f532dd8a68ba64a1d17789ef497b57148e72e4e7774b8a49cdf54b4c9cd9f03f20abc45cd78da4308e8fddb5820c5fea81116e5ca56d153067a96de82ab331f03ed668257f487e49820d9a759c249989a8cbad025233960ad7e1eeddee8d08774032a0261935f1761f538745be39ff8243dd3618fe6be3be8a1ecb0f95add38930c03f19a0392080f235170ffb32beb9e330a93e846551aca0e3abf684f771f71dcaf03c5be0012e94e874bcb48062a3582e830f7b94be18c4063f6695757d064c4ac40032103ff3b0bd2bc6704e4d40ba3b5cdbad2d4bd1686c37140371e5864436b14a2036ec63fcb61bce4b7da3075eccc4336a1bbcef20617c9b24bfb8479d30596373e03c860bf5e7bd702037dc868246fd3d59cf5d0ed5440eb97232da0ac54009dedbb033ae3305866ef7e54c1dbfe27ef55493be7c32c4961c168326b29b973037fb0b303377baa09e00d8e886a95ae88df25d57a70e0cd379f561122cef6c658cedc23ad03993f371d46a0d06be2fd000eff9121712511723bdec088a77b68adfef56f74f603e5eeee6dceebbdfd2c11bbc209481277cc1847fbfbe79be0c3c5e43d6527adce03e9f5aae994169b2c7d19edae3984d2330e26da9ef9df13d60ec0ecebe587449e03360a4561c10ef69b5cb9cbc3a578425234a2b5e2078849d7f42e717340a40ec203a776f2679acdb864ea18f76c89beb8ccc84818eaa7d004aa000ae999a8a36d3403180ee12ff72ef859236eee5cb8923faf9b12fbf008469f9d8a2168b6ba4f884e039977ec7700b6486ad86dc1f8b36bba07d3a259e0ad8d4853c49885973db74dec03e1e8075fca09b5fdba2816596747ed4491e8c4f53087dd82bb786336869b99d9038f8fd2d0a2f65175da7c4f4028de17d211eae841a1add3864c2d60271583e55e0395296b75a5946c990c34d6839fa75828a247574efced35fef8d6f105fd58ebe903fd13af56201227a3a459d890a72b0d2e0761fc6527da438a2f0df0cc4ba6bf1b03cacea1c9cfa22b6041e7f7e2bb20b56dcd1ebd5d10fc2b20d01dc04383b375de036e2d49776397788b9e62276d1bcf632bfbebb6d4b51aba80f0b7656bd6e2f51003090ecc3252fc274129d8cbb4f216c078ff1ec7bac4e38d330299764ebe9b47e703590b50d1def8ebb064ce523ad841d78bcb2f3de6bccaf0d8fec8aa57f052a9ef03d483a29aa3edf74804b01bfc5df58a9923b6b6ee8e4feee46d57afc2cf11563705581e030a006c883ae34a20fd36de9445b7799d29ace26bf2bce3c738cb05c99007011bffffffffffffffff05581e0358d6bb19f923773ef0e404cc41f0d6643f4458fc0da165f9cc8187b480040105581e03d842e746849a219256c6640c84568d4dac9002e34ad9281238ded527400c014745f6a25a28dac805581e033b707ef8382a86d79d95cc1ab3c422a0da1f9a8ea0d6debca10471c00004010326884e78819ad3a14fc6ae0a020cb419a91ec675f6a7b59a0d06dfb3225de5450347b18a4e20de99decff65c0b2853fb10f2ce5722c90ddb3308c76012d35f9ed205581e03143f86b4a164c1e612687de0e5f1ac6d66ab4da7e572ed952d46e73d2004010380e57db109b84866a561456734a7b46f38f76f71fb53cc2d5d343609197e2dff05581e03eb00f9ac5de5a017228165e55e0fbe99cab143d85c4941efded5842be00c024702c4f37c9a36d405581e0350855bceab6a6795785f3402249d9f79ed79cdfd77c66c731ac4c703f0084702ef68056ba80005581e034ac140eb72eb057b28dc9292056422007e044577a98b7a9fda0961672004010459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d581565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d58d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d58b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d5908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d59087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000088051b0eea095007d3bef21ab287be961f3d85981614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d51693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03ca3548307a779a5435a866a208dab02a3eaa07d06e04eb018bd5c00386b7dd7d037484d98d40aef04dba2c1be5ca65a7819717f495f9cc5551df7e1313cfeee2cf03a6935eb4a8b4370b0f7051bab2d3a2cc14ab02c1fee477b1e73c5c8b8d62b0b00354e455cfa0c82c48d53eeb4c2761c2ea851d5471f29f7cb39c89690070774ec500582002df1413d00a53b9ba00b1ff70ada6edbfe0b4705deb11f0785dba6d110b6b7c5005c7eb2c67f51cd2e57954ddf5b49e6d037d5341c4d8bb076bb6365da825fd8f4aafc85088a6a63b13c2fefa18bc8de80b00582002ebc347a10cc27029d440717932aa822168066328d218711ad97f4910b41bbb582001668771cf018b35e0025c71f848385324132de86aecad0fc7000a6c4f1d133900582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100003c003c001c02539a00000000000007fd6273d3dddc27aa74a053a3be00582003b228463bd5b8f6085ddad5c16594bafeb723caa4575e9744e8af683a0447d05050d8080a6f33bcf63867c462a2fc6c3a005820031f235cf7ba7dfce4fc9676ca2b8558607139c735ff2b289a0c5228becfed105820ffffffffffffffffffffffffffffffff4f03d68b562d54b5517c8b3a67a64c540219202100582002a948091c6496c7716a88ec2be5617ea4095dd749e3bb4e9b0033e055e2f28c5078089579ce3144d5f7192125e49304ef005820023e84ad6da1dd2369add7574ec4f3a87080b4b442bd88588a965b879a755f124e01c7d71aaeec90eb782ed6de5cfb00582002c24a6ab379abe5de3f76c401ac9fa7a96506ccabcffb7930c79ae2c08c7cc14e03e69cc2c5a67c4723d17e86400f005820020868e561247c13a3f9c295c99cee27418332b58a0398ca9b60516c711323f35820fffffffffffffffffffffffffffffffffffffc8f18bbd4d96e9a78d07e2fb15602197b0f03116dffc87fb17d54509f59f5dca5659868f6422732046fd19b311f4a8611e99b00582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c0582001018b35e0025c71f8483161b6b22346793fe485b9000a6c019e588d6687506f0356c3bbacef7d7e7540b498d7c0e0e97094db85cf70939418f14f754bfc2362ea00582003e2e15e68e5590ae599aef57040b1316dc1652a2d6d9e2a9024103b6904cc104d2c0476b6ce4471b758f5253cbc0219102203537ff29fbb43b9dd34cfffda89ad94267c2a19546a4901de6964799ad3099f4f03169e51173e3b6cfd21a0f77343ac463e03e1b2cd5414914a1d1699b47a18452f032a994a5f25d626fc0db1f61b13f0b4d3fbbed4eab471ff80fe0395367830ac4e00582002f9627b9c8aaf940652a72c38d1f351ae249346ad247cf63b5b3fffcba8c3e84d0517986b60cbe34f688f0ae9b90058200262f5f4bee0547d6f5e1f6c306d39bc7299ad0570db9afd9a69b41459cf79625820016684e51f018b35e0025c71f847c34c0d57a4e947645834c8000a666a4b2b9503a94123e39b72fdef4096496128cdbcca4fd353e73cac0f7ae483ae1a932a12d103eb183774b304037463f8f58d9b316dac3dc159b6a79fadf3c81b9a38bab5b39b00582002b5e0635faac679654e5f6ae8966c7e3f50b04955ab435e90b01d13d432d83c4d03d64fb60b09fc373ac3e2602a033cb0a2df91c8ea896901f3ee3b63ca0d00282d7b242cc8f9dbc1f38f84b0f606021906ff03c3cd15d33d3469d268f3f9cad8de6cfa29e00c25719e341fa4ae7e5ed60de009030146def2d6f6222a25bfded89cf9bfee5f77257553c456010f3348b686676c5b0058200200b5388e35a4d870007422cd9cec69cfd4839e5133ba2f84f9e98081676f2851011d68af816a2c8ae72ab1e0300aa8b6b0005820026ea86d980fe687ff63c038e7866e2abf4ce0248f232adc4c0b5b0ff71964d8500166061e8c27b57842f1b116fa6b525000582002d39c9c19fe8f86a5e64b8632a58750ab41920f033867e1fa05e026503ca24c4f55fb425e33a1bc7844c53c010ab2fa03d7282717af30aab5fd7378e05448c2b5b2de9c0c4591283321b0cfd40b593119005820026c6a6733d8473b1744ec6b9791524f95ccfbd40717339bb7d6921538db17395064713fc8de45ab4389f8a886273eeaf200582002ae6210c45d61197337af5544116bdc9e6d6484fbb340aaa569c7304a4a92d25027215cd547f47e61ac0770477daf56d0035838c1ae93e13165e4b9e0958ce60bcbacf77c852bfc9d29fcf7054b6be4d4a501410d00582002f99f746e6d94240d80d1c633fba77349a67a613af47a274399f3607db9f48b4d165979c77b2ae8b48ffb002a8b0344d08f60e91445682b075b3cfe1f1f66d5e6b268f36eafdb23d5c89b55a4d5b0005820031b19dbeae0617fd3d19cd440bc990376b71f34f9129895d64eab142beca0505820fffffffffffffffffffffffffffffffffffffd6554396878b4a0b982e15bc16400582003785e8241615bc80415d89775984a1337d15dc1bf4ce50f41988b2a2b336a70582001018b35e0025c71f8483b2498bdcde8b65e507014000a6c6ea5d5e966877f5b00582003332d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec40582001018b35e0025c71f8484d1871c3262a5e45b47342000a6d3798f2256687d5a702192204005820029e0c49d3fe76bf17c20c53b071560626ec5752a46d886ef49604df277a53c74d024b76fb201b186366462c04a5005820020e67eb94c0f9069a3480e0a8aa75f3e9931327d5d12b42222f947a09bdede74dd5b307d5e8df1aa5e9e52dc7280219b7db0311b6b972d7301134a84aae1c593d281d568346b27bca50233ea178a1b5b5b5f90058200281698dc49b2add199bd6f8e4153ef3d14582ec40143b02eccb2b01f0f0794b4e0164865048ef754d0e202ed35e83033d0cc33de820dbc85ce671fc5a794e66c07ef0de621f4953e462ecfb65cdf29000582002bc88085f560a705243527bfcd4f3ba5ada91142bdc2518395a2ba16e99ae305820ffffffffffffffffffffffffffffffffe7dba63fdf3e58e3d0955e737f386e4d034aa374d6995c93e9e28b6d11b752c3a02c376d0a974b4f9a2e1d0795c5b63c2f036d3944a54d911c8779f8a9b84ad977f52bb47af79d1a2eb6db665d5335ef822a00582002bd544e8d52df31d78459b0665babc3b947ad117d4b9d6c4f310d9fbf861be34e011de72ee60ab436694d23cece2e030b84f8391b1c36922986e0a937a6500b285d406c52ba1ca02279aa7634278be90058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4804ce9420e97d75d6039a19c16288dfce7cfa901c4428c299b16bde5baf2b290a2a70703a6af1a8e91c03cc348978641ee2bb77d417114b382e0548ef5b7b8406ba3a3cff9f9b590d899103c5526a14eb55dea2ca9ee7fbef72f8159e69817a0ff622a861d80cb1370dda4103eb4eedc97f9235887e93abf3f3b9e374018cff2fc64077b20e721c5918524d6b02197faf03915a677902a2fba02cf7e72df295772ed4714698f747589acab64ba11258471e03de802489064250e9e1aafa28ebcdc3a1e90ee6033667b477685045b399bd392f00582002999d817b6757290b50e8ecf3fa939673403dd35c97de392fdb343b4015ce9e582001018b35e0025c71f8483965be5259fa3f00e5ee75000a6c5b1d38b9668776f700582002b05da43b36da0cadaf13c4de2484dbf70e6621ad0ca7b8109a5b8745ec7eff4e09e5474888028542ada28627df3a005820028e884ffc2825341e27d4ae529655741c1c52ae9f014345cb4dd7d718b4edcb50029d0107f8f7adbed1f9f50746ccdda1031d16a8c550d44880fb93de869b6b5aea196c485a872fce6b38095856f86967970303ecefab5b5cc2c79e0bd0db059d662dfa760fcd40a6f15342d289133c7be46803d7978817f144f500f596d3e54b69e2f6e09806cd3104d76e0fda54ed069e9c7003cb41f064e3cbfac097f780cc56669a91c479813e24996afb7339c6d8999fa54a03332307a6a75c7730f59aa356748673b5f3151bfaff3626eab0d36b0770633dd4005820038148b7da5d4e6f30b8503a353f1cc22a1d1c280223d8c403a826fa8786b220581e10000040008001000000000000000000000000000000000000000000000000582003cfaa7ca3f0b612188fc3da3e4bd62ce3c9305cb878819e3527dc5d412554d05820fffffffffffffffffffffffffffffffffffffd342613332525395a6eda9720c80206005820026ea2f6992578c39e0e846e2b7c52ed66df7c6e4447702d5b0d77f390046b395002ebd238a4fce3a50edb48034009327303ea89943844726273fee3ef176f37faad1fe979c57a37493f34a83dfa8e9a4154005820024bbf5bc6f5fd00bf9a9272a66c2e62313fca43a694d6dd8745ac295473a4d450019c4da43e555e218e7e9765c60dee7c005820021d7ef94a47c92930d0570d82e7436408f8a0c3d436436b50542dac72672ddb5820fffffffffffffffffea1d7f2f481b7300000000000000000015e280d0b7e48d0034e9c55fd40168dc64ae53aa1edbad4e8ef77a93d31cf6a249a4c66004305ab160219fffd005820025a18ee8ee423fe6a59cba0b5bd1ed416f64a2cd95c1a8546feac2bc95afe6d4f05455fa79312736e75cb5cd98b631d00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6050086f025f75f3c3150266b8b38e049c6900582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e0582001018b35e0025c71f84846ec3b4e5020dd5851434e000a6cf282e5d56687b7fb0058200311ecb076bbab02d7d95c551e1904a75ba4b03401a1a986340417f1e298c170503d36d163d5e25522c9e4a51776e5c527021829005820027ce7269193cf016bc101c92dd576249973975a3aa6974ab7d3cd34027b1aab4d3315a0cd52752d2882080f0178005820023a24c89ecc368d3ed4851511ba85afba32b4d671588036a10a153ebe63e03150027a56510146644b97548b7fa994c89600582002b4c4a9c69ab3eb014370f7ccbbb0f53eec9fd11d24e89e8d6adf5f2bbf01ab4dff323b7b2edd82531914cf832a00582002cd6f2610085e9422cb2b57e075d15bba633923b24649d716dacfa71f67d1e35112308537082893158a9a3c0d1f904f727a03177dfb12e095d2711026ac438de7b8d986638b17914289d869f429d9605725590304455fe8c7a8137cf7a8e8e693978f8651a536e2baeb17d2eb2d20da503c3d8b005820022ce21590d9f00a643a1711dd6eb9f41b8d542bd6d42071894daf467d04e3fe500407ccb43a54c364982736616bab994603ee476aab265cc3ce5615be3a7ed2308284ea522c448192874e025a9f457be1b500582002ced09521047d05b8960b7e7bcc1d1292cf3e4b2a6b63f48335cbde5f7545d2582001018b35e0025c71f84834b9f9692809b3c96bf642000a6c26e5cccd668760830347689ff753147de6e7e0bbe160efac38e4c318ee403f00c59a84acf9c368c6ab0219fe970300a34448e1cf523c6bc3c71dc6e44affb705e2fb471e7c69ee9e3d8d02863b35032298d9c3c59bdc1fe5f0fec33cd70d33ead8facde063ed518f44f48272f764b903022c5b37ac34f2f3dbd863a5751e005f15b09f814ebe7de2e84f5c1c094faf490374394c98d8d52d45a845f32feb014ebbd06f53d7684d3e0d08c3eec70113f93f0219ffff05581e03b2b9ae37a328493abc887a522a49345fe86169004de007fe1c6b0eaae0070119567e0219ef3e03c4b554eccbd422a269d61826aa60459b2ab984777675d169ecf9d350792c12ef03ee6ebca60113544a3eb87df4034c62103100297ed8bc01c97020f6ad61f58a8203cf170b9b036a5c2e284f7ae6367a0bd07daa499e5a3b19f2120cd46805bfaa0603cc194446c780d1d43aa6d5f3e99d98d876e273763824b8ccec0b95e0a3a483520394a6d80cae88b04a16e786d1392576c14d381e301868b3bd72c9a1d1e2a764190219ffff03ad973d9e075226643e5af8168e53c9a2795c7dff366efc44a1e47438324375dd030c9050600918bafb054dda1100f5617d9e8d0633b7d1c11d0c51acfa477cbb53030f9899307d680c03887c8884e2886d3012f011a6bc7100d1ca80296e3c7fc534039e0fd79b2b58e9ac71275d2965b4ccb2308db780d8b221aaf8310a8a5cd3fefc03073ff210ee7fa3c3318ddd59c9ea1752052e7e1d70b9c72a53273ed5e47b96ae0366879e20792e55ca676bcc09d3332bb0beb6619ddbecbe2757bcd4b27b40cdc50384b4d4519e774a9a6b463ee9fa2582f5c2b3d31955a66a0ddae5e03bc367c480034879576fb083bd5212b3aca36c83150b334a570543c9c68c63f6a3f49260ab430347b41d50bc14425c035d99935078a8feaf2ed2e0328d7616e23cde9542c191ac0219ffff03589fcc8476aae8fa6ea1d3aa9ded12ed9c9c0ff58ad41fe14f9b1ced43625c00039bb7b77b63902be1a5cb91a1f7f6307b6ec19dbb7224ae718504be3afd5957e0031902eaf94813f024d6f814f3496fba843bec51a9524d1eef7a4905bab19c4b74039c95449af80492586d8aca24b8f78c96d59fd6d9ee8b6391e1c486bf13b51524038dd61cd2df8c43175f72a880118f67deeea1983d70c628c61d92e2cffa8acd940219ffff03c75e73f9220fade5a5645f3c8e300eff98befd8945d1e5937c0041eea579acab034a5e09fb43e6866d98037637deceb5d563e20534f8e633a0c4306339f55ce9780219ffff0353a610f08400687022f4f5289887db8e5bbe647c0ee4bdb88759c3310564a63e0384cf4ce321944462c6c904c315057648bf71346531eb8188934470635845120003b288e531d5bc01634f1da354cb8050ab7f5e332bea0120e79a4ae8126b0fedf70354f6960b34d46d224f9b1ff2beb7932419e034daf96e8bb95a3a69310f19107303f1f8df9542bb39b443ab16b10abcf9310da5eec53ad31d4baf0a47dc8e5682d503cf05591776d451abe71523df19ff662356ad86cc17f50e046b4c41c1d5bc2cc30316ca1d4e3bbe922e5cd92910ab077ad2ddbb06254dfce37217672b33645afebf03db84b2fc968af82b8bcb8e9c5df22255fa44aeb79b10181792d8361fa901204f030d64260bf84bb4c9e8f424ad016660fbc57d9c493233eb42b41b2b4afbb3e4ca03892d8d5840ab3c260367dcf04f53db02111b3d4d926c1f2d62be3c04f001f2ac030b944359682d70cc7c934c6b66414ac2356686bd586470b256d0766c5af9adc803216d0f05d796aada8aa573f8d1324484cb25d3c76bcdf0e773b3914dc745ed7e03876838cbea5b687be649ca7a5c7e323c4be0ec0310f6fb56b3f946680c8f0081032618ba911c4c824519dfa1d9a0d464661aebeeb7fa75c54058af042634ace9a903034a6770a9071f5dceae9097e04ddd8be7d364aac28459e485f04083eed2ae9003a19fdef10769d11906f2f519875425534cf1521f605030e09e29d0391210a6a8038fd7fa74b899f451a0f6bd6f1238023cc7ea18c25f90463d41b7cd435f8a2cc503f88ee302096fa0d1bb62217d7ea9bddc7b78204aa023c8aafd71201e4818e65c03efb8390c0594c5b5729d6fc753bffa5a806311708bba31113f2b7a03a2079fe603e466c996bc54778160c8ab46d6d1f7adcc1027222824ded5c9c65862f6568e860305e3e872701cff8964b8c3ac7a87ff8174a3ad7619dbf0ebedffcbdcd61d7cfd03529da0b7fc5f44310b774e5795a9fa4c5c0e938acc366a041a6eaa7d4d4362c903f62f2375c56bd3303b5678e3446e76986f8136f6e7feccc7654fc8ea8b287ae103e38c7e47b8e1e89ce34c7577a680353895d9dd26c62f5ca5648fa98a02c26a3203e31bc055b03821bb890ac5f8c634bfd4aadfeb35c3cdf4bd366998eeb3d591cb032fc8d3dc82c5da66d7233a8f5bf81940f0b7b8d016db7fa943aa3ee7aa01c065032d597276ef2e83ebb417627259ec62bb30b7e97752a9138b861532ddd400a64003e1be09157a171cbf60f4da6ce9ef780cfbe35a4b66676d1b7818fec221c215a5032070c776beaacb10c9044f43e11e8f621c6593f342d599aac948c62da75d4a76037c628fe2bf08f887ac3a88b6e4a2faf0d56b1431ee91aafaa1068996deccc34f03d488d4e8c005a75d736b27f31eaf6d3322a8c4d4001e805e5ee287c3d7224cab03686bb2e3bc40af5f91303c8293217641d45304d4d33634d25f05841e1ae7826703b295f581dc18129473ef66c2cefea4da335452a4704bafda2777e09802f528fa0383c0c2047591596cbca40e98bf5d6e175f49644d771d199f07befa3792a69d7605581e039e5b135467c057b1dd99c9041cc380c64a036ce0cc5fbf9c1c82fc54f007011bffffffffffffffff03d237aa8c61594bb5de63ec8fff46a6ca989350db3f54e4b45d7b54499c30257f05581e033350e577c3e8cef6fdddca523539ffda6470a78130d04432753e38f0f00c014650d13fa2552d032f32631dbc7f0b2fab24b834d70b5e22149e0a30645379829dfe19f63abdb91a05581e031888cb9586640b74cfcb0fdaf5953a3d037730be6c356fcc2ddea692d0040105581d02d2055874791ec5a7846b4191dea6d445f7b5813a35871c37990977120402045943fe6080604052600436106101a05760003560e01c80636ed6a48d116100ec578063a9059cbb1161008a578063c8e0a45d11610064578063c8e0a45d1461059c578063dd62ed3e146105c5578063f2fde38b14610602578063fcfff16f1461062b576101a7565b8063a9059cbb14610506578063ae60148014610543578063b5973bd414610573576101a7565b80638da5cb5b116100c65780638da5cb5b1461045c5780638f937cc41461048757806395d89b411461049e578063a457c2d7146104c9576101a7565b80636ed6a48d146103f157806370a0823114610408578063715018a614610445576101a7565b8063217b6da611610159578063313ce56711610133578063313ce567146103375780633950935114610362578063620cc86c1461039f578063667f6526146103c8576101a7565b8063217b6da6146102ba57806323b872dd146102d15780632dc4f5e61461030e576101a7565b80630313fc4b146101ac57806306fdde03146101d5578063095ea7b31461020057806314d0c4341461023d57806318160ddd146102665780631c537de514610291576101a7565b366101a757005b600080fd5b3480156101b857600080fd5b506101d360048036038101906101ce9190612ee0565b610642565b005b3480156101e157600080fd5b506101ea610747565b6040516101f79190612fb0565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190613030565b6107d9565b604051610234919061308b565b60405180910390f35b34801561024957600080fd5b50610264600480360381019061025f91906130a6565b6107f7565b005b34801561027257600080fd5b5061027b610919565b60405161028891906130e2565b60405180910390f35b34801561029d57600080fd5b506102b860048036038101906102b3919061318e565b610923565b005b3480156102c657600080fd5b506102cf610a44565b005b3480156102dd57600080fd5b506102f860048036038101906102f391906131ee565b610b3f565b604051610305919061308b565b60405180910390f35b34801561031a57600080fd5b5061033560048036038101906103309190613241565b610c37565b005b34801561034357600080fd5b5061034c610d47565b604051610359919061329d565b60405180910390f35b34801561036e57600080fd5b5061038960048036038101906103849190613030565b610d50565b604051610396919061308b565b60405180910390f35b3480156103ab57600080fd5b506103c660048036038101906103c191906130a6565b610dfc565b005b3480156103d457600080fd5b506103ef60048036038101906103ea9190612ee0565b610f1e565b005b3480156103fd57600080fd5b5061040661106d565b005b34801561041457600080fd5b5061042f600480360381019061042a91906132b8565b611183565b60405161043c91906130e2565b60405180910390f35b34801561045157600080fd5b5061045a6111cb565b005b34801561046857600080fd5b50610471611253565b60405161047e91906132f4565b60405180910390f35b34801561049357600080fd5b5061049c61127d565b005b3480156104aa57600080fd5b506104b361137b565b6040516104c09190612fb0565b60405180910390f35b3480156104d557600080fd5b506104f060048036038101906104eb9190613030565b61140d565b6040516104fd919061308b565b60405180910390f35b34801561051257600080fd5b5061052d60048036038101906105289190613030565b6114f8565b60405161053a919061308b565b60405180910390f35b34801561054f57600080fd5b50610558611516565b60405161056a9695949392919061330f565b60405180910390f35b34801561057f57600080fd5b5061059a600480360381019061059591906133ae565b611545565b005b3480156105a857600080fd5b506105c360048036038101906105be91906132b8565b61163c565b005b3480156105d157600080fd5b506105ec60048036038101906105e791906133db565b6117e9565b6040516105f991906130e2565b60405180910390f35b34801561060e57600080fd5b50610629600480360381019061062491906132b8565b611870565b005b34801561063757600080fd5b50610640611967565b005b61064a611f35565b73ffffffffffffffffffffffffffffffffffffffff16610668611253565b73ffffffffffffffffffffffffffffffffffffffff16146106be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106b590613467565b60405180910390fd5b612710826106ca610919565b6106d491906134b6565b6106de9190613527565b601081905550612710816106f0610919565b6106fa91906134b6565b6107049190613527565b6011819055507f2b3f4c022d9943b151090e389857495bb9d8493714259cc19a540f5a11475fb1828260405161073b929190613558565b60405180910390a15050565b606060038054610756906135b0565b80601f0160208091040260200160405190810160405280929190818152602001828054610782906135b0565b80156107cf5780601f106107a4576101008083540402835291602001916107cf565b820191906000526020600020905b8154815290600101906020018083116107b257829003601f168201915b5050505050905090565b60006107ed6107e6611f35565b8484611f3d565b6001905092915050565b6107ff611f35565b73ffffffffffffffffffffffffffffffffffffffff1661081d611253565b73ffffffffffffffffffffffffffffffffffffffff1614610873576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086a90613467565b60405180910390fd5b60018110156108b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ae90613653565b60405180910390fd5b6103e8816108c3610919565b6108cd91906134b6565b6108d79190613527565b600f819055507f4b39c36d20c57d220f61fd25c4349d4435cc03ef6c2a680942f15333c3c3e001600f5460405161090e91906130e2565b60405180910390a150565b6000600254905090565b61092b611f35565b73ffffffffffffffffffffffffffffffffffffffff16610949611253565b73ffffffffffffffffffffffffffffffffffffffff161461099f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099690613467565b60405180910390fd5b60005b83839050811015610a3e5781601460008686858181106109c5576109c4613673565b5b90506020020160208101906109da91906132b8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610a36906136a2565b9150506109a2565b50505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acb90613736565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610b3c573d6000803e3d6000fd5b50565b6000610b4c848484612106565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b97611f35565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0e906137c8565b60405180910390fd5b610c2b85610c23611f35565b858403611f3d565b60019150509392505050565b610c3f611f35565b73ffffffffffffffffffffffffffffffffffffffff16610c5d611253565b73ffffffffffffffffffffffffffffffffffffffff1614610cb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610caa90613467565b60405180910390fd5b80600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f2d43abd87b27cee7b0aa8c6f7e0b4a3247b683262a83cbc2318b0df398a49aa98282604051610d3b9291906137e8565b60405180910390a15050565b60006012905090565b6000610df2610d5d611f35565b848460016000610d6b611f35565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ded9190613811565b611f3d565b6001905092915050565b610e04611f35565b73ffffffffffffffffffffffffffffffffffffffff16610e22611253565b73ffffffffffffffffffffffffffffffffffffffff1614610e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6f90613467565b60405180910390fd5b6001811015610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb390613891565b60405180910390fd5b6103e881610ec8610919565b610ed291906134b6565b610edc9190613527565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600e54604051610f1391906130e2565b60405180910390a150565b610f26611f35565b73ffffffffffffffffffffffffffffffffffffffff16610f44611253565b73ffffffffffffffffffffffffffffffffffffffff1614610f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9190613467565b60405180910390fd5b6019821115610fde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd5906138fd565b60405180910390fd5b6019811115611022576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101990613969565b60405180910390fd5b81600a8190555080600b819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051611061929190613558565b60405180910390a15050565b611075611f35565b73ffffffffffffffffffffffffffffffffffffffff16611093611253565b73ffffffffffffffffffffffffffffffffffffffff16146110e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e090613467565b60405180910390fd5b6110f1610919565b600e819055506110ff610919565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61112e610919565b60405161113b91906130e2565b60405180910390a17f4b39c36d20c57d220f61fd25c4349d4435cc03ef6c2a680942f15333c3c3e00161116c610919565b60405161117991906130e2565b60405180910390a1565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6111d3611f35565b73ffffffffffffffffffffffffffffffffffffffff166111f1611253565b73ffffffffffffffffffffffffffffffffffffffff1614611247576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123e90613467565b60405180910390fd5b61125160006127c1565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061130b57506112dc611253565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61134a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134190613736565b60405180910390fd5b600061135530611183565b905061136081612887565b6000479050600081111561137757611376612b29565b5b5050565b60606004805461138a906135b0565b80601f01602080910402602001604051908101604052809291908181526020018280546113b6906135b0565b80156114035780601f106113d857610100808354040283529160200191611403565b820191906000526020600020905b8154815290600101906020018083116113e657829003601f168201915b5050505050905090565b6000806001600061141c611f35565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156114d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d0906139fb565b60405180910390fd5b6114ed6114e4611f35565b85858403611f3d565b600191505092915050565b600061150c611505611f35565b8484612106565b6001905092915050565b600080600080600080600a54600b54600e54600f54601054601154955095509550955095509550909192939495565b61154d611f35565b73ffffffffffffffffffffffffffffffffffffffff1661156b611253565b73ffffffffffffffffffffffffffffffffffffffff16146115c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b890613467565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f27aae5db36d94179909d019ae0b1ac7c16d96d953148f63c0f6a0a9c8ead79ee816040516116319190613a7a565b60405180910390a150565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c390613736565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161174491906132f4565b602060405180830381865afa158015611761573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117859190613aaa565b6040518363ffffffff1660e01b81526004016117a2929190613ad7565b6020604051808303816000875af11580156117c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e59190613b15565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611878611f35565b73ffffffffffffffffffffffffffffffffffffffff16611896611253565b73ffffffffffffffffffffffffffffffffffffffff16146118ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e390613467565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361195b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195290613bb4565b60405180910390fd5b611964816127c1565b50565b61196f611f35565b73ffffffffffffffffffffffffffffffffffffffff1661198d611253565b73ffffffffffffffffffffffffffffffffffffffff16146119e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119da90613467565b60405180910390fd5b601360149054906101000a900460ff1615611a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2a90613c20565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611abc30601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611ab7610919565b611f3d565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4d9190613c55565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bd6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfa9190613c55565b6040518363ffffffff1660e01b8152600401611c17929190613c82565b6020604051808303816000875af1158015611c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c5a9190613c55565b601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611ce330611183565b600080611cee611253565b426040518863ffffffff1660e01b8152600401611d1096959493929190613ce6565b60606040518083038185885af1158015611d2e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d539190613d47565b505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611df5929190613d9a565b6020604051808303816000875af1158015611e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e389190613b15565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff0219169083151502179055504360088190555043600960006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600f600a81905550601e600b819055507fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f60405160405180910390a1565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611fac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa390613e35565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361201b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201290613ec7565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120f991906130e2565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216c90613f59565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036121e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121db90613feb565b60405180910390fd5b60008111612227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161221e9061407d565b60405180910390fd5b6000612231611253565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561229f575061226f611253565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156122b85750601360159054906101000a900460ff16155b15612789576122e560646122d7600a5485612bbc90919063ffffffff16565b612bd290919063ffffffff16565b9050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156123925750601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156123e85750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156124b557600e54821115612432576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612429906140e9565b60405180910390fd5b600f548261243f85611183565b6124499190613811565b111561248a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248190614155565b60405180910390fd5b43600360085461249a9190613811565b5050600d60008154809291906124af906136a2565b91905055505b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561255d5750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156125bb57600f548261256f85611183565b6125799190613811565b11156125ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125b190614155565b60405180910390fd5b5b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561264457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612674576126716064612663600b5485612bbc90919063ffffffff16565b612bd290919063ffffffff16565b90505b600061267f30611183565b9050601360159054906101000a900460ff161580156126eb5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156127035750601360169054906101000a900460ff165b8015612710575060105481115b801561271f5750600c54600d54115b801561275557504367ffffffffffffffff16600960009054906101000a900467ffffffffffffffff1667ffffffffffffffff1614155b156127875761276e61276982601154612be8565b612887565b6000479050600081111561278557612784612b29565b5b505b505b600081111561279e5761279d843083612c01565b5b6127bb84846127b68486612e8090919063ffffffff16565b612c01565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601360156101000a81548160ff02191690831515021790555043600960006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600267ffffffffffffffff8111156128e8576128e7614175565b5b6040519080825280602002602001820160405280156129165781602001602082028036833780820191505090505b509050308160008151811061292e5761292d613673565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156129d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129f99190613c55565b81600181518110612a0d57612a0c613673565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612a7430601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611f3d565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612ad8959493929190614262565b600060405180830381600087803b158015612af257600080fd5b505af1158015612b06573d6000803e3d6000fd5b50505050506000601360156101000a81548160ff02191690831515021790555050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612b71906142ed565b60006040518083038185875af1925050503d8060008114612bae576040519150601f19603f3d011682016040523d82523d6000602084013e612bb3565b606091505b50508091505050565b60008183612bca91906134b6565b905092915050565b60008183612be09190613527565b905092915050565b6000818311612bf75782612bf9565b815b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c6790613f59565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd690613feb565b60405180910390fd5b612cea838383612e96565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612d70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d6790614374565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e039190613811565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612e6791906130e2565b60405180910390a3612e7a848484612e9b565b50505050565b60008183612e8e9190614394565b905092915050565b505050565b505050565b600080fd5b600080fd5b6000819050919050565b612ebd81612eaa565b8114612ec857600080fd5b50565b600081359050612eda81612eb4565b92915050565b60008060408385031215612ef757612ef6612ea0565b5b6000612f0585828601612ecb565b9250506020612f1685828601612ecb565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612f5a578082015181840152602081019050612f3f565b60008484015250505050565b6000601f19601f8301169050919050565b6000612f8282612f20565b612f8c8185612f2b565b9350612f9c818560208601612f3c565b612fa581612f66565b840191505092915050565b60006020820190508181036000830152612fca8184612f77565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612ffd82612fd2565b9050919050565b61300d81612ff2565b811461301857600080fd5b50565b60008135905061302a81613004565b92915050565b6000806040838503121561304757613046612ea0565b5b60006130558582860161301b565b925050602061306685828601612ecb565b9150509250929050565b60008115159050919050565b61308581613070565b82525050565b60006020820190506130a0600083018461307c565b92915050565b6000602082840312156130bc576130bb612ea0565b5b60006130ca84828501612ecb565b91505092915050565b6130dc81612eaa565b82525050565b60006020820190506130f760008301846130d3565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613122576131216130fd565b5b8235905067ffffffffffffffff81111561313f5761313e613102565b5b60208301915083602082028301111561315b5761315a613107565b5b9250929050565b61316b81613070565b811461317657600080fd5b50565b60008135905061318881613162565b92915050565b6000806000604084860312156131a7576131a6612ea0565b5b600084013567ffffffffffffffff8111156131c5576131c4612ea5565b5b6131d18682870161310c565b935093505060206131e486828701613179565b9150509250925092565b60008060006060848603121561320757613206612ea0565b5b60006132158682870161301b565b93505060206132268682870161301b565b925050604061323786828701612ecb565b9150509250925092565b6000806040838503121561325857613257612ea0565b5b60006132668582860161301b565b925050602061327785828601613179565b9150509250929050565b600060ff82169050919050565b61329781613281565b82525050565b60006020820190506132b2600083018461328e565b92915050565b6000602082840312156132ce576132cd612ea0565b5b60006132dc8482850161301b565b91505092915050565b6132ee81612ff2565b82525050565b600060208201905061330960008301846132e5565b92915050565b600060c08201905061332460008301896130d3565b61333160208301886130d3565b61333e60408301876130d3565b61334b60608301866130d3565b61335860808301856130d3565b61336560a08301846130d3565b979650505050505050565b600061337b82612fd2565b9050919050565b61338b81613370565b811461339657600080fd5b50565b6000813590506133a881613382565b92915050565b6000602082840312156133c4576133c3612ea0565b5b60006133d284828501613399565b91505092915050565b600080604083850312156133f2576133f1612ea0565b5b60006134008582860161301b565b92505060206134118582860161301b565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613451602083612f2b565b915061345c8261341b565b602082019050919050565b6000602082019050818103600083015261348081613444565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134c182612eaa565b91506134cc83612eaa565b92508282026134da81612eaa565b915082820484148315176134f1576134f0613487565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061353282612eaa565b915061353d83612eaa565b92508261354d5761354c6134f8565b5b828204905092915050565b600060408201905061356d60008301856130d3565b61357a60208301846130d3565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806135c857607f821691505b6020821081036135db576135da613581565b5b50919050565b7f4d61782077616c6c65742063616e74206265206c6f776572207468616e20302e60008201527f3125000000000000000000000000000000000000000000000000000000000000602082015250565b600061363d602283612f2b565b9150613648826135e1565b604082019050919050565b6000602082019050818103600083015261366c81613630565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006136ad82612eaa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136df576136de613487565b5b600182019050919050565b7f4f6e6c79206665652072656365697665722063616e2074726967676572000000600082015250565b6000613720601d83612f2b565b915061372b826136ea565b602082019050919050565b6000602082019050818103600083015261374f81613713565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006137b2602883612f2b565b91506137bd82613756565b604082019050919050565b600060208201905081810360008301526137e1816137a5565b9050919050565b60006040820190506137fd60008301856132e5565b61380a602083018461307c565b9392505050565b600061381c82612eaa565b915061382783612eaa565b925082820190508082111561383f5761383e613487565b5b92915050565b7f4d61782074782063616e74206265206c6f776572207468616e20302e31250000600082015250565b600061387b601e83612f2b565b915061388682613845565b602082019050919050565b600060208201905081810360008301526138aa8161386e565b9050919050565b7f496e76616c696420627579207461782076616c75650000000000000000000000600082015250565b60006138e7601583612f2b565b91506138f2826138b1565b602082019050919050565b60006020820190508181036000830152613916816138da565b9050919050565b7f496e76616c69642073656c6c207461782076616c756500000000000000000000600082015250565b6000613953601683612f2b565b915061395e8261391d565b602082019050919050565b6000602082019050818103600083015261398281613946565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006139e5602583612f2b565b91506139f082613989565b604082019050919050565b60006020820190508181036000830152613a14816139d8565b9050919050565b6000819050919050565b6000613a40613a3b613a3684612fd2565b613a1b565b612fd2565b9050919050565b6000613a5282613a25565b9050919050565b6000613a6482613a47565b9050919050565b613a7481613a59565b82525050565b6000602082019050613a8f6000830184613a6b565b92915050565b600081519050613aa481612eb4565b92915050565b600060208284031215613ac057613abf612ea0565b5b6000613ace84828501613a95565b91505092915050565b6000604082019050613aec6000830185613a6b565b613af960208301846130d3565b9392505050565b600081519050613b0f81613162565b92915050565b600060208284031215613b2b57613b2a612ea0565b5b6000613b3984828501613b00565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613b9e602683612f2b565b9150613ba982613b42565b604082019050919050565b60006020820190508181036000830152613bcd81613b91565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000613c0a601783612f2b565b9150613c1582613bd4565b602082019050919050565b60006020820190508181036000830152613c3981613bfd565b9050919050565b600081519050613c4f81613004565b92915050565b600060208284031215613c6b57613c6a612ea0565b5b6000613c7984828501613c40565b91505092915050565b6000604082019050613c9760008301856132e5565b613ca460208301846132e5565b9392505050565b6000819050919050565b6000613cd0613ccb613cc684613cab565b613a1b565b612eaa565b9050919050565b613ce081613cb5565b82525050565b600060c082019050613cfb60008301896132e5565b613d0860208301886130d3565b613d156040830187613cd7565b613d226060830186613cd7565b613d2f60808301856132e5565b613d3c60a08301846130d3565b979650505050505050565b600080600060608486031215613d6057613d5f612ea0565b5b6000613d6e86828701613a95565b9350506020613d7f86828701613a95565b9250506040613d9086828701613a95565b9150509250925092565b6000604082019050613daf60008301856132e5565b613dbc60208301846130d3565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613e1f602483612f2b565b9150613e2a82613dc3565b604082019050919050565b60006020820190508181036000830152613e4e81613e12565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613eb1602283612f2b565b9150613ebc82613e55565b604082019050919050565b60006020820190508181036000830152613ee081613ea4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613f43602583612f2b565b9150613f4e82613ee7565b604082019050919050565b60006020820190508181036000830152613f7281613f36565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613fd5602383612f2b565b9150613fe082613f79565b604082019050919050565b6000602082019050818103600083015261400481613fc8565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000614067602983612f2b565b91506140728261400b565b604082019050919050565b600060208201905081810360008301526140968161405a565b9050919050565b7f4578636565647320746865205f7478416d6f756e744c696d69742e0000000000600082015250565b60006140d3601b83612f2b565b91506140de8261409d565b602082019050919050565b60006020820190508181036000830152614102816140c6565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b600061413f601a83612f2b565b915061414a82614109565b602082019050919050565b6000602082019050818103600083015261416e81614132565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6141d981612ff2565b82525050565b60006141eb83836141d0565b60208301905092915050565b6000602082019050919050565b600061420f826141a4565b61421981856141af565b9350614224836141c0565b8060005b8381101561425557815161423c88826141df565b9750614247836141f7565b925050600181019050614228565b5085935050505092915050565b600060a08201905061427760008301886130d3565b6142846020830187613cd7565b81810360408301526142968186614204565b90506142a560608301856132e5565b6142b260808301846130d3565b9695505050505050565b600081905092915050565b50565b60006142d76000836142bc565b91506142e2826142c7565b600082019050919050565b60006142f8826142ca565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061435e602683612f2b565b915061436982614302565b604082019050919050565b6000602082019050818103600083015261438d81614351565b9050919050565b600061439f82612eaa565b91506143aa83612eaa565b92508282039050818111156143c2576143c1613487565b5b9291505056fea2646970667358221220c5cb0630d1f7586188c90aaf854b8bbc258feccf19f3314db0e8ce5fbe81bab164736f6c6343000813003303b6d54b7e019b3938ed2047956ce2bbc1e7ab61083df4d566b236f9ffddf775d2031742d81c3f089af5ed12df180db9dc06e52a69c50c14693847b0f730700c7a5d03234fd1bc1f128b0e63cc08bbe412c223505e7ec9e8ea382f2fd64ba90aa4d55e0308c6e861c794dd79815252ad4ba264a7d874cb24c217f6eebe91cec937023da603b65432c414b0c4adf305474fa0c528bac7ac58967d645dc87379952f7d8d5a8c014108005820039966573ae304af4a1f01282bfb5356a5f0840dceeecbb317367e34a4081fa04a65885c723467468079a400582003631137cb0555de8c1e47ea98b2bee9059c644e4c812bc913e64b3f3ee711305820ffffffffffffffffffffffffffffffffffffffffffff7782b73cd8bb5caa54d300582003dab1026d77ab4ed800e5646f88f960205f9483fc08f1148d40347fa2c254205820ffffffffffffffffffffffffffffffffffffffffffffead2fd381eb5096bab51036ea608654bdbc11b11a26e79ad992634d4e3f635396b7065c3f3413fb09825dc0058200313dae651b5b24cd5bcab1547bf39eddde653a017b80258a5fc1f61d92780104a42e932a04ea5c5c5429903c2f9d6075ba9b537562eb0d366a56890ad2af670082155c12450518a1d892a22032984f8cd4d71eeddb5f36dcbdd8ecd909e676873d0f4131aa1dbf72fe7cafdde0058200324f8f70be1e0c9624c0ab18f50b6b94ae3b80c8959be5110e28a8c059a1e805820ffffffffffffffffffffffffffffffffffffffffffffff6f8fb0e8dffdaf79ea0219c3f50398df2059e84cf4ec5680bfe61776821b50521a7da37e0f9bbe94dfc5288a554003c4f037dccd20ef0dba2ef0448638f8483222b8e4df73cd2fb5f5809335e467610310cef0f0ee24191a532377abf9440c9830e6c4062d61fd0abd68845ebdb8ae9903ec067190438a4d81772639a1395c113ae2edd6286e1aa2230e9e14947ab9a7380364cafa704760ff2916b188e26769c7a2c398b5fcd4d8a76267a29bf1713bb99003c48576b626e31cda6fd2d387a14c686096d4de08928880a9f0eb7677d588c11003dc4fa23346afaf7fbf99ce491fc96fb044d86e81d7f8b89c55c1e29f5307586003b0ed9c41593990e1f9bbd10b7f01eb423c542cd447f693b901939d00dd63b5db036bec5acea6267b1c8b45cdc602b36484b95d74cf9858ca851cf1e829ed13febb03db79dcd77b1422511df5afac44581465b1fb9187cd0549c44b44f3492d57bc4d03d817937747707a82e00dc926e65390711ee4d74696bf4a3625246f1d5fda593f0389bad34789e7536f11e7e4185d3afa25e281f25bee5a94af0f07ea9219b114390219ffff039bf0f63cd4b408f3fb358cc44bfc3f0f00064cf9e5f9b1b59b358b8cdf84a2430390f6988c6ca544c3df9ff3a88aea0584ca218aa64208f76dc74119ee32d5bb9c039b87d360eaf5b86ad3b9d8cf878c8b9827fc671a738f678f9de58b5525f4f4620377200b87a1a213efe87f074230ec933df26c95962c165326f1ff421dc1f36be403754737b73e1e3639bacd108d1f17a600ddfffc98079b4629c0d96755195ff3ee03a153f7fb14c28a7cd9d6832dee2dca40b013fcc9b79278d37d15f79956acde220337a7f54c7045c5aab78d2b098fb065f69478eca323122f4794e4b663fb0304ed038e79c38626f525b255292ad29a95bf1584becc266c40d037a81d7838032ae274039327b9fcf301a8fa5b69fd602fc1912e3e9c85073c412111e6020112e8e58220034a4bc9cf6ee7674ac8c2f7187f2b867ba0ac21f52454953d790bf297faaaf05503d810199462a64b258a6cb4c641fd707f0cc4b10274d411c44c73617e5b2bcc33032ae39edb8e928c1f95fee8820b40858eb4db97df630ce74dad2cc717950b978503448348cd01d5ab1f1959d738878ea59ecd1881e4effd9641087409f103ccd81703889da066e957b29bb30162f49fe5517d26a46b6a0eeb7e61870c4a996302a37800582003c08fac6ace256a8760494f5e48ca9323fe650ada36430769a933e70367c9a049878678326eac90758f00582003f305c62f060667fcd3219db3762d34044f1f6010c1bb731ebb0592a7c060804a03d8714b37d53602ed2803001ae67553dee8ee90b8993b67ee5f81e2f2ca99179ed8dcec9131c08d6faf5300582003cfaa7ce5a5832a36880058586721b44c3ab31ea9251b82b11cd79aee472f60498cf23f909c0fa0000000582003da3d2339c98c844836f92e86fb7bd818771dc2863573389e12b6300532c6005820fffffffffffffffffffffffffffffffffffffffffffff9131b64024b6e7be3d60362adcbd52bedc018ed035c945e4908cb1d3401a88adce02fffc6960a86590d1e005820035c8ea15c67e1d0899615610f2404bcd8b66199356b5294cb996524dfc137f05820fffffffffffffffffffffffffffffffffffffffffffff34b64bb459fd27fffff0219b36f03930f5b136ef82a8e65c952ca966dd3c620f89981f1be06b1be106966ad68276303e7d03fd141d9aa6e69151299ad3640d7d3e7d271a9a08a2a924a813aa92af7d60319d398100133a673c9f57f1036ed4dba80cc7e6fd9f71221e16f262815c792d5035526331b485dbe9eb9c69fecb3ef95c7258a1d790052eac02ff9757de17dc8f1036b09a74ffb680440a5478ed7f39970cd6c5040832c01d2e27f431959de3008840219ffff035d0683326d22105d3d5d29b6a7b603ee242acc6befc153f4e27dc68ce642b06803bf6063a7772e0bd0c953ae02c9afe1299054ab107f554c3bf9c7dc63425773c2034320a639965d955a290db55bf54b2fcc8f948aa9436879e4af20ee6d67af092e0307f601b81dad42c5896a4d00149a4b0ff3e655d057becffef42cdda3196d84c103d48df8f429ca8eda48b22f9fcebac08830b56598a73c24f68c346d48c5502f9b03e3d666ccca6c23b29c89c8ba3262531ecd9b1e984f9c5c7588e52b1d957e5ad0005820036dd4686fecb161c02c48cbfa5df4f4d5168541b17ed99a085fb4d0b2a84f804a1aff878bb48eb3aec0f20058200381821038a4ff4adf6720848253867d8a54613b7e0acbb2d5807d92bf8894705820fffffffffffffffffffffffffffffffffffffffffffd51ccb390209e7e1fa7a10306ef1da4e3e85b7c192eb13be9c6a9b399a8bd2e3115aa00d64a34832b3ff44000582003ca9c8ce65a74d72d2bdd5ba3f08584527d542c878bcc5a0ba317b9b2cfa4d04801cfeb6ad32d000000582003e1bb12e8f1e6e9706c6593997883e1e57a08c2db8566cf37455c28d9d4296043066b540304c6362902f00927585e7cb3805b495c02c850635dd8e64a8395331dff196b1803dc1f5bee028af425f3ea4874ad216879745abaed3ca493e956173fe64c6bb08703ce88cd6db34148fb9255f64b66430b8cdd136dddab7adeb5730bee3d32a259d50219cd6203f71a335e7c6adb004e9ca5f41cd3c492861be50467159e6e034f5b325f58a228035af88b5238d3a2b7674404f2c8f1d9d6a1fed98c17a5755f5165ffe790af0014038a407b712b2a14af2f9da28e6cbd84cc9a09d6597a3e0ad36745cc6ed3bebc1e030d5a03b1e5494cae2dde2188c7a5e4b5081d2a376bd0828d77024de57a8c365303e29b11590ede951cc969df46e9aa35c38d47b475f1495d8b318150a0998d4c1303a1c7f7b5eb81dbbb73f8f579c95ab44ba552f68f3b786021dfdcd3c2ba69b0ef034ef04c07df986003d1360c4d3ca63faacd78a1a779d5c5b183213a63a682b74703b8487261cf5f8e6c8828e7a458c3915bcfa18d7ae4e5e90051b3da5c7c5bef6a03e52cdef810046ebf179df9b18185509be56cbba892e282f09cd06ff4fca5ea0b035b566da6c9cdc6d301d7be63d6e33c0722bfe8a11706a680620f99c9b5a16c240368ac6bc5e12668ef9e1acb7a6682b3367fdb94d9d6d8bdd42f0454a4ba6d6eea0219ffff0372e9ae406350ccd3a03e442ebf8253055851ebbd7de140c4095d48517b69750e03328b404173567212e3f1d58199ba007ebb74c33b2cac79d199362eb707022a3803d18fb1aaea9239f17768b12b08c29eb937e450baaf82e1b053aae7a07ad2748203149014689aaa83983533f359e1d8c1d7b5bfc21dc88858e7e4da5c427cbfcd1803e561ea089b2bafe3c91f373a07b46ae520a832e510c0ae7cd43973481be430e5034ea081e55da3cffbe90cbd18fa70516ad902ee2cfbafac157ac4cb60bc4b2a0b00582003fd4bebe2a23c5ebd1f893c0785174385b039e6ad7a1f2be22d02be2076d9405820fffffffffffffffffffffffffffffffffffffffffffff84a69aefffddf56967f0058200388eaf3285647ab2870349a01bdd8d5c73d0245baaa908520be31c8ce4be9805820ffffffffffffffffffffffffffffffffffffffffffffe28a8ad557090e673cc60058200313fb90e9e01238e6aec21e542a413a44509f8a0b5b1e27035541b42a1ea7905820ffffffffffffffffffffffffffffffffffffffffffffe443df879af795b925de00582003b424b7c9a71bf1313e902bb0c46f9ea2564539d6e6e7c38df4bed9fc1d00204a33ce56329c7290275e0803911c64fbb861138b84e8566edcd67a0848516ad1c0cf5335133428b7122b15f80058200339eb46518daf8c32bd7096211a426d8c1f1c0b6554dc6d98839f85d0ff1570499ebccd3cd6d969b218038d1f201acab6d302fd40c0618927b7d570ad3ddc11f2a1731788249e8b82a3e000582003735a9d489394317a45d7baa79d0775882530a0f371cbc80c3f3336b3f3c6005820fffffffffffffffffffffffffffffffffffffffffffffdb95acec011c793377b00582003bdae4e5ef6f5cc24448450407e7d303ad446e8066da18dc725cef1bad4bd004a01b41e8915262c2f299600582003247cec1d2b577a175eae33c63d113d33a4fd9ead47630640405072b92991e0491659a8e0d5a345d1cd03b7af9864da7c27cf753d24332f284ff32773b26e28ceb78d83421c443015551803c6372bec514b855c926e2154722b95007418b749b017bdef6135bff5ef605050005820030e91e02b7c548052e10c0225ccf5b5bc61fc5ec3653674eca4644b9df4dc505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffab00582003b4e5277a43136b69cab74df09dd3cd47b191c106752b287d5a542072cfed105820fffffffffffffffffffffffffffffffffffffffffffffab9273d164da843929e031cfe72738f859127994e5eec3d14336860c11cfd795b7330a1542c60c2584126005820032c3c7d0adfd30e5993fade07abb135a36d2c73d6a7728df4356ac2e8dbefd05820ffffffffffffffffffffffffffffffffffffffffffffe3997faf68f2c641bef9005820035e175a6aaa245cffff1ba8e7c58a4e80ffbcce360d2dfb963ba9bb2a69cfc04a0ba3810b78206af16da800582003b3a85489bdef0def82cdf9b5dd931f88b513d15e8bcbfadc23a14fb32afa40440396e63700582003895da95c28b8853947ee312f6173887e6f5bfcc25b4f4c4cbb1b641818f98043e3fffb00581f027c0627d32daf8acaff69f9eeb8a5216e10f1699ae24f6557468dcf818df85820fffffffffffffffffffffffffffffffffffffffffffffa8d68070c208686dc9600581f028ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09057010001530433ee503a05c5dfc9ccac7740df230ee3adbd0219410000582003fbd813c1235cde5026555a8e7a5f46155118da650d1f52c10bda39e598d5505820ffffffffffffffffffffffffffffffffffffffffffff2ef2f8525f8459f83c9102197d0903ff670e60b26cff5a38a2c80189b64a1c238f414567b7dc0ef4118fe04d943f8203f6eef1c8a1580bdd79c2f4c87353791b7fbcba25540739a0554ecb9c9f16cb6303e2431ab975c68f236034a5a6b0c8f2ac948d3ad97c1556852a9113b3069f762f03f123cdaa6671ca2efb41327ae44ff18064501de06fba090b9d0c21d129b41aa70361894f0b7e1ffd0d51515a520546b97b7dfdb0304d4b1c8f625dfd69b70e8b6a036e1404ed9ada52a4ad98a79a9f14902510fcc903619a0fcca38a0efd418a911503538ff362d68520481272bb83d9a1a7a816e9e3a3ba1c00c725a898b8e15b75a903700d3043c3cf05840f05269bb501ab9e0e0e1f04ed4286adfd6c53da156d509c037f5ce3cbfaa8710f93d4511fe2c59c0a2730db36b58a1ce0f7e6af8f4d03eba90219ffff03488b5903ced8a6db531debfbe64f404f16efda023c17f1423b0f33f10daf50ab036aff520503f26c6a4556d325b4452424a20f18dde9fd46ca71a8977e1eaee63a03c4ee72a233ef405890d6e4d294a618937de3ad3f2c6282cd761a3679dbfea02103eeae1d4167b615cfa65a7190b24710985ea0ada26279f4e9df08e9bac2f0981003aee334f42add0acc95b6c49a609c60f805499a530aab74f9f56d1ae9bb09ee4103497ee9756fe8fde4e64d24d6743d53531da6d7b665c850cadf9118eb77f6f10f03f369e3bfa43bb7d5b75c713b1b0c7c26ab3f02fc4f9398646009271c6356861903d66f3ba005655280701e6ee4db0f0dd8a9ac9ae5e74ecd735ca6f0a7457671f30376012c5cb9b69a5528128fc8eed479d122b886906b7d0c4c31a44f8fdb9ed1250350b680acfc92f712c0424085feaca72b8b32de00ef10fd9162761f9c8d53c0fb03b5250afae04eeb42590a4f60cbc3976f185902a496b0a642754311a0bffe825e005820032c019aac95e4b6de95d33bb271c08b2ffc15695d095fc3b8aab40895f9b0205820fffffffffffffffffffffffffffffffffffffffffffffa6940dfb0b445ad11c30058200359ca2c64eeed01b90cd1c100effebbdbfd756685a747e215b80305eca3c9005820ffffffffffffffffffffffffffffffffffffffffffff79010e45c3c21c8fffff03bcd232638851bc9ea04009d0b462be0bdc2dc3b8f812f1844a6169734b8fc79100582003eeb6d8e0d1ef2e1687b304b277907721e4f9039f11f2fef0ab7dd9fc6c15e05820ffffffffffffffffffffffffffffffffffffffffffff9ada8bc8ef38813c767f00582003797ef2316c74b33c333c17b8c50f6fa6a87dd777d740122068ad9347be31705820fffffffffffffffffffffffffffffffffffffffffffff5f2bdd9be704aa8acc6005820035be6f2cc3974413c8bbb97a7d3672c47dc523fa9e2ecfd472e11644e3ef7005820fffffffffffffffffffffffffffffffffffffffffffee3760b5b701d29cc2db800582003081300e2f30cc3538665d9fe28319295bd714e101b55578b4f43828f9d13f05820ffffffffffffffffffffffffffffffffffffffffffff0b12468fdca4240a805d005820036c1f170439fabbe6e8caccdbf073bfa3a5d0aaafcb12020e29d0a0b392ad3049c7d0a4e1bcc87959fb00582003dcf2f5e628f5fbf83f6c4e2e41a7ced7737c31353abccef16a1bb80a1312f04a0105a31c8dfd20001e6603dcd67ca38a2018f7e98f2d9d0c87306e03016b19a896663c5a82be12914aecae0219f6ac03e405dde5fe76cac8c421a02d6cd14a652aa306d38a598360b123cffd49e8816b03050ba0d3eff8439dff3a75fad488058af0693f6d58928a23ef6fda53ee71aee7039b2c1fd4540e6102f53e384f19e61ff202cdf938eb79f5b1f4fca729405e0b1a03ce131aba38575e8c7564ce84f436c9f864a0e14359963d11bbb7d4b989dac66a0219ffff034c5ed77fa75ba757a5cfb3e43f48889d3736cec942fcb80b4533966824d4703b037ec8c9fb643cffdec418d7a0f3216ac88ac0a62e240aa2a3b36a4cc6ee6bfc92038c6fd9f56980c5b047267a535db9cb89989d0d3b733edf594cac61420e66cb8f030a89c19bdd389499dca00ad4c7194290813990b69a6bdb402e5c65f37721dcb5033448132ccfd5bbc482b05469c0e448960359bf83df9ee633be4e9fcec3408df30327008ee24c396c8d68ef40f9ffdf7c6980c590c159e6f769aacbcbfc3741e099036f9deb691e233dad121999229ab3d76bf5ed101dea87b8520c5b2808e9aa466b03e40240e31e2d9e9b036b98ba88184922672d965622befdb8a2e1dc92644a7cf703aa792a7d0996e8f96c4ccb2cedee59199833e3d6a1871da5a5118654404e24ee03d7d5da636fb2661fdf836b2f5ff2ec756837d665704c32b98f84d18ea274405f037e94a626a070c758f9097364267b51bc6335d3d98f1e6974ea3a432e3a57cb4703b2a00b235de72a1fa2d6dcfe6ee65a6af5017a55d435471e568158f9a542f758038feea866fe1737eae50974813692fbb6544edec8ee68a8fe1f324732a2ce394200582003f56c758d51438080ed57bc8d0297a7b4302e463d935df79b32cb17e00705105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f038e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80204b52b7d2dcc80cd2e400000000581f0355db97c30cf55eaf49c7e3c57989dc31b4b4a076754c68d543c94aeb9fd05820fffffffffffffffffffffffffffffffffffffffffffe24c28a27ca9027d6434802192001014101005820033165e08d605d210a736046a262251f31cfd5ea9050b71302bb38bb606b07405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034a9dc7947ea7e48bcc68659d0e1e3c3efcfffb89e4daa8ba5b323fc452d372ed0322e7f2149486d3bc6f3a78ec5546c3e6d54c860d3c699faa7149cbf60cccc3d7038cac106e72ce8e9d63997309ddce616d0462966c128d86905200774e1888a19b00582003b1596e797c6a8cb9861c4cb004eb6b16fd027d98689160e4e8c45fc08dfa105820fffffffffffffffffffffffffffffffffffffffffffefabb5d31491565cdd32b0399a73e43c83fb577172a55449e42305e8fefaf889402ab4ed2ecc4f7dc173b78038f9657e5b8d9aa565d8517ff5247babd58e5ff611f9c7c675369dcef9336ad570219d60f0379beba9362ec94fa0ebc520e1d23ba801e6a8d227c6a714f69c8fedb96a11fa103bf1e085c2bb69a348b0feca7705e0a8fdf8103332f56d76ef474c54698a6dfe80219ffff03392b26d2dc75037f6f9cd50ef8b0a22a9b6d6e4438f4b29896d73aef3fa5175e0328713d6b27b764be6218b60f2b580e93b4d6e179658a2e3c166e7da973bb68c403e7c5bc3db74ef52412c9d1b6f7ced36817c3573c6af57d23e1c9576d467a2a90035e36479dae3220c7c8e9dd842f6022615abf5bc40d1f0e048dbd5ff758a3605803a3a99121a2167292065874e61e4c32a11cae9dc1e8dd4bf295ddc55198165c1f0371859a13cdb1e21c78103ef9cc06b9b26a3d4208429fef831fedbfb3cc1926fd030fa49f70558aec5e24cb7e2a3f886f2bf62c63d8c848b2e1162c6cc71037a9e903bf768aad6391d4c4ba1fcd5c2e257abbc7648d44a5b41452fe1cdec02681960b03df4da6e454ca44583897bd35f4d1b40d205a1c8c10eb95628147b03bf787cc6c037bab12e08df741f563140b1047b1dd727f836acb7753366309e4002490305e1703136e15a3854311e83131de9f2eb2ec47b1ac894386830fcad29772915d94987703131626145b22047f826c1459ee8c33652255747ef02a70212dcb0c02b84b0c1003948688ffdb4600f993748b34b7be777d2fdefac6379b6a59b70ab37b8dd666f100582003908b753cec0ecd7c3121980ab4295ceea3b24eeb487a5ba4e02ade5b6ac9505820ffffffffffffffffffffffffffffffffffffffffffffb0e916952f98ddefd35d005820038d800aca658fd3a37a1b7e59592bc3ab9f8ef4d9d5af3f1e281e6bed8687c05820ffffffffffffffffffffffffffffffffffffffffffffffbf2035fe477d8c8d3f00582003e4aa16163dafca4382c596777f8e3b6a5cf7c09a5dc5c4ce261855e00550904a804134fc7766e2a08ea303a80c424e9bc7ff91ce29f7f96f18693e19ad7a5b2355c7f3d3a06888467e6bca00582003082b3bae246cce9cbe4e2c0f8b3a9446c2317e7a4391ffc4be93934a1cac105820fffffffffffffffffffffffffffffffffffffffffffffca9080f109ef0345b4000581f0232d2c87e320eec7a67592107f0b195bf40d85a45c9831fef08d4e9fbfdc749a1411f8a04e674f9fd00581f024a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd4b52b7d2dcc80cd2e40000000219082000581f028c4b762652fdff9d0f4e47f2eb20c86fff8670427b38bf065950d16195a74a029f18e8f4f096a35cac00581f02dbc873b19a02003b358b05285c8858361ea9a111a32dd382e4976c3a958f5820ffffffffffffffffffffffffffffffffffffffffffff9e97599bc073f87fffff00581f026a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444547a250d5630b4cf539739df2c5dacb4c659f2488d00581f02ae4ad657c99a251e59cf65fff2c790190ad81de314e3f9730531e56652f74304868f02191424034e406fb4343ba243ee50e2f06f311f7a7e5ea7047916f35f2f42d48465f7248b0058200349a083943e4b3b3b5e9022665e44f74b47c69f8583964bc476b7765e6b5ff04a0751618aeb67352d79e30326478de8991e9e7b7146506437d27b564d4efa88a2d6182537058895fcd5b4bb02192dfc03a95a6a35307568b11d2d8cea7dfee2f68fe8766ae68e541d2b0c7bae8f5e06b4035ad5524ad7a1580270277c2e186d9c63dec632eafc8af4e6e7c3b21035eb8679037fb6615437acb45ecb2a86dcaf9735e842b010ca0be1d6e705831b294f2124fe03847c62b4d36163dda231210ab607914d86686e419cc81ffa58fcaa605136fe800219ffff035b7ccfb8baac69c49c0cbfec4d776b74c0a669622e2b79f53c701206a680d7fa03b2d4a6e392c9b0eecc5ad29cc0ae9ba099b269bfb3e2a6a8e905b1e6987ae1d30396bec3f6ef9f75371d5d7221c60accff72724f4c1ba4366637cbe9890773738903241dd297390c760756ad394c8e3d8c9bf3f02aab3c6f13f2d1ff7c5d13b7d50a038febf9fab2ef1417dee483761577b395555feb24a8c67a62b78b22498716d10203ff2ec8e0491f288d66f521419e4ade5c7a624ee24dd464c2990120e3c8f10dee00582003209ad8374351de8eebf7118d1c12ff86fe0fc3884fea91de3ff4bed321bf505820ffffffffffffffffffffffffffffffffffffffffffffe9ce87a6d2bee6f2e7fe00581f02063cfcc417341bb747a2c3be8c7f68c57e0d1f4f845a278481b5c52a0b735820fffffffffffffffffffffffffffffffffffffffffffff9cbcc711961cbd5db7200581f02fb03999adc30328e74b3c3638525dd24444d86f376b9d54d47df03e1c82d5820fffffffffffffffffffffffffffffffffffffffffffffcd1fe7a89a6fa7812a90219410000582003a6c903d4b4892aefeaa2598732671f381c698be5441860045cf72d6e2184e04a064c1d47392e0bd3e01e030b2c2887ee1f322403c901813a3f79c8626ebeaffb51abb6607280564e7a119e03b2339b6b2e651947a827fc0d3db7fd92cb4ccb0c1cb4bf8b11ac145e033e7a7a00582003022abc1d768f6c6a126714c7d97c024fe596ab0dc2d947e8e92e010f3fc9705820ffffffffffffffffffffffffffffffffffffffffffffe3978a66470623a7ace703264f82a75eaac6c2c32d63f88cb779200a9cca73a44743dc79f0b39290d0049500582003279114a1f1ded557d850b4e19ddd908aae5a55006d5bd710fc7314b3bd97905820fffffffffffffffffffffffffffffffffffffffffffff985215d629a5d2023410219da6403c586c52b75c1446bb784b6450e6cc9c8786b3ff6491398a098490e80bcddd4e203f44f9aaa3a06674076586c2650cd6e8f567339d9d9ce34128848a1871589eda300581f024f622777a08c1ce5ec2c77ba6d1f20a8aaa48c2d7d3e9585686c57803f025820fffffffffffffffffffffffffffffffffffffffffffffb2715338029e773707000581f0271f6dfc4110c83941ee9c142309719bd1ac4669a5082853441b7b6c060444a057812e8b10c607eeea100581f02acf132e931191f39e7af8adaaeeb1c688c33a2bc5832b1c550f7d3b18ecd4b04a1f39200c27687576395021908c203bd2b07e63c05fab4f2211049f337586579d51a033d3ef46c58a3f01891e16db403657925788e88b681dbff20ce74467f388bc3f6b4b8efa1a1e67f4c3c7fa9355e0058200318a75019a2d96e72b4c9ad7794d0a982c58e8f3de9d9be0a83a16cac3f05e05820ffffffffffffffffffffffffffffffffffffffffffffe7fdeaf178819cb5ffe900582003b0d8928dfd82e69b983e99ebee1e7f73f997a5379c39636b67122f1a4ae0e05820fffffffffffffffffffffffffffffffffffffffffffff84ee53e8cb82b3ba67d00582003d21a5f32cf3fae75942bde1b4b4e4e71c7073d5ededa5ca06f76d542a9c0205820ffffffffffffffffffffffffffffffffffffffffffff3505cbe39a0bada272210058200358bd7ba469a943f0235e3b409400f2a18fd69b5b2be9e1820d8ddc175eefa05820ffffffffffffffffffffffffffffffffffffffffffff98dc46cbc15dda73eedf036ed2f96d69e19619beeb4cfd6f22d90e73ff45d3e1372ca99e716e2604ff34060058200395110a9cb02cb5177992ce447e8b442bbe11770bc2484fdec87196b40a531041010219db8c03d34e8ff9ac9def500e7497df8e72a300c0aaf64948aed20c61d69a08ae60b703037b91ca942771ea5f961ab3c9149a64400bb674db3c4a68c256698c3af1196547033191fd17b421d2ca360a3f308d8b7910c647bf3cc0f33f49e4c018bd8a8dc3a2031268efa875b05067f2ac04cb0475b1627834eec577d611e48391b9980d0c995d0368eb1aa47a48191fb20a06e5b2bae1c2d1f35ad64bff1e4889d25c24e1c06b5600582003e634cab9bf2fd9c4271a7e1b29f44e8142c14f4628b058452ddf608a24a5c05820fffffffffffffffffffffffffffffffffffffffffffffd6e3c898a772337c68900582003e2e94ccbbc358d4a6b8423ca7524a2ca265032c31a6dc82b3ea846162280f04a043c33c193756483337c00582003a117527fa704c1406fb3ab4a82c5ce02d2af8883534d9261b17e80bd84a8f04a07525c1c6ca92f76d72600582003e1e9395083d6dbe261650c7fb8b54621caa435a47888750cfc980f072569e05820ffffffffffffffffffffffffffffffffffffffffffff8a7d315bfad89720d525005820032f46fbf290478dfedd992016b489212675870b61c251d2f37ac6a6c85cc1305820fffffffffffffffffffffffffffffffffffffffffffffc9c7fac6b9fb925996a00582003afd5b5f018c198ad64286cd3e91c4743d10446bc1cd941ca0259f27d1577e04a20c1ad278ffdee1c6d34030894563ebec74d2a206bc1f2a186b1672d8e5e677fae08033d5b314ad5e4946900582003734dedc957e54610fac4ec0aae567e7af9a44a9056abf7d678aedb1f0cdc704a0643d7e15098f5eea1080219ccf403e79c053270c409ded0c52c7bd168aa2e60164766711e0a28c9cd99906b14ebf903086726803ceb0df85560d7955005efdb99120039c2164c7f5f879d72484aefa40219ffff032961351214248f9d49451b99164ff62e95d1f567599934b55d015ece1547f76f0314fc19bb0df29f59986b4177eaafabae47b7d08a9bfe7a76cdab2e10e36e8ae903ec136ec5592d61bc0987eb51b97663e02d2b1fd0876d3c4a55f1a765d44c3363036a9fcebe55d9cb49ccdc9a7605d5c3073c05ac2becedcc21c4cf2df76cd628d6032a80a297009f272330117ce80cdb9c730d3329154f66176f439e22a8442f4ef6034b9ededdd393c3230a8a5ae78574f0dba4944c9c7db39c930e913cd24a7d4e1e031b5005b9ead3dabccd21cef588ee76d8f6065e983296f72e4dd82d46642881ba031ca7b3afa989933fe466f2a3a554fff40eb77f730c4b288d374e3e76bc6a334b00582003dcee46025c7878b4947511d00460a5aa94ba757ca21e019076b1f2cdd02990490b7d236c8afa21cbb900582003ec6c3b373f7960d7c97ae25566546901f7fc28815adf3a26680b4f899340304a038dd95a92a2d088d270005820035cc2f1f15c3bdbffe0e3a6ac2e0708ab40bb2c5dbb59c31bc20e623ae05e505820ffffffffffffffffffffffffffffffffffffffffffff774b7c90e268375bdb90037da0548893eb40dedeb41a98ea7fa7b21ed5d88572745880be35da04deac195500582003cdec767bff306ab48a6ecc1dba5fb145a6eba64586f5659d2f3f7c95a2f8e049266d65480b263638af033ce0cd8e21447886a7267684c0e38bb9f7fdde99769fd8a129b3e02f3187186600581f02990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb542241800581f023e7926f4f544ac43d67069f33ac7920a6070edc47148a7d570bfd8c67f394a021e19e0c9bab23553bd0219084003dbe5405cc13bb06b6bebc7407e5340c4d9d0aa9b276e9f4cb2f936def027e74202192de503e91eb6c9bcf5f90259f4b3b0bfd6f169a6c87c2d347e7de5422f33abcd4fc47903ac744de5c7eb6ebf84ac990ed6679e07124ad43045165f2d3beb4ec46657d2b5039577f9d52908999d0af927ebe7616ed6b834bb2a3ea3bafb9aa818f3fb5e43cf03cc3028d99d40c4a7892b7bc46fa20ba2e5f5dd2c0390804ec69f7b01d9b81344032caa9944b3952416496b3e1d1dea1602d6742c3c1b5a975d872a32d0db88202f03cf35c5e0dffb1106cc8f726a387a106a6fbab383a9717bd34e49af71cb77232803370ec8f26d35b32e0e5bd92ca93b94cf79ecf79d9f45f34738cbf82b5d3227e2038b45862f2330d35521410af4c3f6ba394ff57e3e77db82b3ccbac79062fc400c0219ffff0320c7dc5fd56aa39a8fe98bb0a725bc775a044d1feefe937b102e42b11161d58e03928062f4c8e354683b111bada486b06de6b051f58f8f42ade3155367876d079b034bcbf192d727fbd1f0fe4707c8d4cfcadfce60b07137692dcf98d0b2ef26e1cd03fd7c6316f6b1a101424f9d43f30b36288272120debace48231c22f229d53093e0355446e2d6b5530bfa1c7979fdc86ba5cf9e97ffbdb57aecb12ad1066705b8a7b00582003587534e035d55f5ad5651cdc25d3a2015a3d5cb2c10256135097564be1de305820ffffffffffffffffffffffffffffffffffffffffffffff1ee0f8903412b888c700582003fce4064f55ea088558563d21e5b1cb59ebd6da552ac3e32f97579f0849c3c05820fffffffffffffffffffffffffffffffffffffffffffdf77997e56bef7c239d6200582003d8b20744fd03324c81a67493b5cef9c8f51f1862e887f81146ae96eabf3ab05820ffffffffffffffffffffffffffffffffffffffffffffd644d0efcfaf049d86d2005820037d9abf3011e44ef56e964315f9560f8288fc54df1183141c34805b64f42da05820fffffffffffffffffffffffffffffffffffffffffffff58d159b76eb76e959c003ae6d06c842842347299812cc20705bd285759cb6e3aed2b7fc505679fac27cef038b15c420c16ede816ceb67669600e7a5fd3d7a0c4caef7d4e130851f1290d86b0058200334cbbda32e6e46faba8611d1c4504510397d5608fa0cdf250c57f319c8d7005820fffffffffffffffffffffffffffffffffffffffffffffcd844f62f9557afffff0386ea8eeb7eef393d3e6d4a090771baf378b29289e24d57ce0431f9ec303dd01000581f022ef929136686f544f557ff8bce751fc930487ea38f861ed03254b89549275820ffffffffffffffffffffffffffffffffffffffffffff94a048afe4356046ae0000581f02116b26bb9003b8a47da5a1ae435a1eab3ae1da306fd3da1d0b58cb7e2ccd5820fffffffffffffffffffffffffffffffffffffffffffff8821dd92db32f2f198d02190810021955e9037a2ea9f9320c82dc3a528eb5072e244fd0ffb41a202da10a943bb5190013cadc0323a90dda6c8aa726282e42b67936dfa73d6333d08d6bf9fffbcd40d943b68afc03a8ea3391d2dc94cbd19782e40f27c09423b3a14c64f696e370e2cbe30742eb0203e3ca7cecb802647b19a7e2ce48bd40616913d64b21e2a892049832714c0d44a1034c68488a24cc2c06580d5f7435303ef58bc47baaedd2d730156dbaafe98f8960038ebac3942ceb28603b64bf858c151a9c76e1368908e8cd534843bec4dea3eb2803561e731043efd8381382e147f51f51aacabef879f18f138919ee00dfce45fcce03a24cb263627295ac9cd652138228283bfbfceeaf2f524c2a36837c6ddcbc975c03bd58731119bb869950800f0cd9835ad8ea08abdb7ce48ac56f8f438b2b3914df0398efc3c546d1ffcc151de86a75557398d4811a38ff5919ee311171ae23679e090219ffff03fd71798fbd6e75d358dc93ad1231ef36aecca0299c81f1d48a9dc7dc64fc42d4033fee6ad8fcabe7c98a18ebe29e67cd84b37f0df272e90d920b51877fb102061503471e29345c943fbd75cc16dc5ad966fe6a6f5dbcb2f9c22296536d7a15d40b1a00582003cb7432cc7ac57ef0d3012feceae156dcd8091db35ad923cd52f59cb59b31a04a021fee20359b349b7af10058200375cc9251481337b47266ffde97cc678770b9d3bcb8dd284f4daf4a690779104a69760b8e458d91e1288500582003f75e89f07117b837a78de06e6a22c07887aeb961bd8c7566b20d17bce803805820fffffffffffffffffffffffffffffffffffffffffffffbeecf3693bd04e70bd900582003c7170444431897c9ba87217b24f48dd64198df59e7d81f392deecd849c5b5049b8fecf762574a165d100582003f6b8ca051b9f27303e24981deb67b4e70277434fb82e1b3d4ec78fb0639da045b603642a2400582003007768ba130c7935061faef4d007786ce1eda5b7092bbd7b1d5f7e805d6f90443b97bb1103a3970b314ffea9ac34c77a85871b36d7f17a476544771ae47fedfc0cf157369e00582003c186a5959411e2e0772e89cbedb4d3c72d688945f68d6d4705c83f181a66704a7bee4f5159a814e7d0d50058200388080acabe10c288f513bcb10285d1a8609d09bec62d73b2127961ad238fa04a40e26e42878664a35a6100581f02729212f7b09526f8e73e69f36827dc7e88330f5fb186f67c9e8ba25a843d4a036edde45bb7fce3a0fc00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee344012cf3fb00581f0232a39ce562891d62f52e56907bdb78b595761e478b270a031f7923af1da65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021904820219ee4703d8835da3a1e8e54f8f122532405b066777cc7c0bd1285b6dd8b7fbbca499eb71032ae672c3a1de91d8423e6f3a8c3a920fc0c3ecbb1121c91721b0d7e40d7928f003a810361b0a8d27a1b17ddd69e70f6fd5497076f45e21c31e4c3afc2ac2c2e16103a6f823c3419a1101125bd2c30a1f58b593f8cc87dd5c7625e062b82671f7f71303a84ac314bfac839e6ac00512ea76e494b02f7d7b00d03fffa3b43b802c86424303f74a28849ac43c2433e36a1571aac516ddd0273de1ffb5335f1ae405e4209d910317de1906334d227777c76180c993a0c2e4fa29614272c24e3ab66143e126f2db038178dacfaf0aab404f10506bf3c0b175823cbeca96141620ff5b3b67d51dcd0303e39e186091645906207fb0d7dd447d38fad231e7a99ef95e78c4f18c7fa2671903ec92994508fe5a025163ea48575dcac5a84b4a2b82e5f47fd61bbd1dc0b21beb031e49b3a7a664bf0931113d3ca29818172c00df1869de473fad0f2e6408802279035535eaddffd9ec6d107f53f0393473f778d51af0e696943b5632cb40ad7b91140219ffff0219ffff05581d02c534cff3d3e53767f1cdd1f71ad29bdf443e264b9caaf61ec13f90ce0f0148015b19a1e28e40001943fe0219080205581e03cf4253880d70321067f69bd93f9e00a3ff4b415a0d4373d628070509600c01470f4338031b250003de46d8f404b623d093b791a328c2b7bb81321a380ec194abd733cc649eb25d8605581e03e85313d6fd4e0ac948193d81149882e7c73d6ba57a87207b8b1abd62800c0746cf4afb22272805581e03ae4d8b25a8b94ccc2135ac2ec73f05293b67baa492a0f5910f22cf8c300c01458e6e79f77805581e03b056e69cad465f946fba33a73c3fb48ddf6486fb06be64e2882523f2100c0146100d3a602a0005581e03b94b7bfb8208cf0eea0da12a94bd0d8f2b9e70af53a72f4f615f01790004030219fa7e033a58ccc22dc937e7737dbf333aec769b373729de49efbdd29000b9544f3adcb603589aae0a96c6967d59a16a68da309f44ec3a8124e3309f4a08e0fd3bf6c40bdd037dfe8abcc20534208e94ee61146fbb59b9819052840458639f83fcff116e966d03508187e1911bfcd8b037eb38765d6f47d750f622945ab529cdc0b07fb6e21da1039a77d928d2e9de6cde764debf84d77d383c0416d2aed3ca787dd17f506ac468d0311ed248cf79532d26b7557cd1bbc84ccd8c6ea1328ce2fa623f8fb12d0e7635003ad8d15db0125f88fdc43449019970f3d06be4563fcf8ae785e328356a874f28a03aa797c5ea7231b443ed2de97827a5667a43ba7a7a03c3bc42d6468caf2e98c0103223b95409934e8533e6b39c6f9ed550709545bfa7778e141baa2a842b6c1c0d00219ffff032107528e8f851fd9627b82256fa0732875017890c30a55562671dac257b8771703395c86427163782336db320b1b67094d399e80684c95bd3a8388c6c59c11ccec03e1b9bf0059edd7ac0cd96f4da7928ccb5c06b520a9bddd5f8dabc4a5bc9b069c03f1d2b9f2b32ffa84f1615ea7d7f906d0cf826e7dc24a9d6ee87087306c98c2fe0219ffff034e586d049b9d90849fdaf9402686d5c857a5b05fcdafdd2dcfcfaeeb22de6d7003edf341c6e03dc9a7849535575734dd4a6e22c3515d8ad0823f75e70a029caa9603944d5f69c4bfec50a48ac271dc56be61080fd818f745dce280f1f4b1ee9baba1035733919f6de686012b070456b64d94d5a5359e3ab2898b57b778bb6a75f8015903e32d6478e0496dfa4424a0c377c3062740ff40951d36379cc7d99cf53991fe7b031eaa95a28cbd32645f5f328cec2b72aac0f32fdc9c7cc6e9a75acee8e8f9934b0219ffff036935551ba9f9d25a4d6e41a7e07d2574d6c608b11044519ed137cdb1737fd10903ac6f6f62ed6f4539029fc7a3b74f6a12b5c2b8405b7cc73199cf7f0844bc0013037b650039c7308f10c4f6170aa57dd35c6d14c910d5e202797ed6d6edb070562e03a5bd2831615942c5e0b9aecc0875515ab09a02a007317c2700be19d88f6e42f003f2ec89d7ce30881bf7c5361c8c2fff76492d83f97f0e92b609e8f015a44ebc010384e37495d47bda6fd084d8b414636d7a15b40d5f2f4b3c554c7b4ad67eb1a4d503d6df3a29ea156e8f4919c94ee02f7da7977cf321696d0d2216449fa35ec7fbb00374f7315aa51bbd9828a93cecfeb32f26f89f91246ae690b2b02d31be6f62abdc03e59c93b9eac086730ba81ebf87299615bd8b4f02686d8bf3b8914003c7cda89303ed8bac7a9fb5a936074296537e48569d3fd3619755632c0a8255f257113035380396869f601be48cdaeb4fd202d1f84c3b22a181247fd14a1ec82a7131acdc5dd5037d5b18694c417d9e927df74b08807aee8c446e527a4b9dfcfec7de850926381103636c10795ff6aba46ecb7ac53076a48be90e2afb51bd2dc6aeaf7b24fd1fe67e03213fd059b7b0552df330bb48c0d5d24f2f1f08185eec71bc879aba8ab7406f0c03a76aea039452039433788b3388b5baa271e445800c00eebf997c07f19535703403251378ba972d60c94f13fbe154bd97d59f820dbe20c850032dca829fb7127f6d05581d02ca0ddd2c339010266f43a2ef94199e1f4943c600981d5e7fc608040904010459121b60806040526004361061008a5760003560e01c80638da5cb5b116100595780638da5cb5b1461010b57806395d89b411461012d5780639ddf93bb14610142578063d9caed1214610162578063f2fde38b1461018257610091565b806306fdde031461009657806316b3b4c2146100c15780634782f779146100d6578063715018a6146100f657610091565b3661009157005b600080fd5b3480156100a257600080fd5b506100ab6101a2565b6040516100b89190610ddf565b60405180910390f35b6100d46100cf366004610c71565b610230565b005b3480156100e257600080fd5b506100d46100f1366004610c28565b6102c9565b34801561010257600080fd5b506100d4610395565b34801561011757600080fd5b506101206103e0565b6040516100b89190610d3b565b34801561013957600080fd5b506100ab6103ef565b34801561014e57600080fd5b506100d461015d366004610ba5565b6103fc565b34801561016e57600080fd5b506100d461017d366004610b6a565b6105f4565b34801561018e57600080fd5b506100d461019d366004610b50565b61076a565b600280546101af90611194565b80601f01602080910402602001604051908101604052809291908181526020018280546101db90611194565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b505050505081565b6002600054141561025c5760405162461bcd60e51b815260040161025390611101565b60405180910390fd5b6002600055348061027f5760405162461bcd60e51b815260040161025390610f34565b7f4e96fb90a89341a56db7ad2bbf04c715bbf20be6a9a9e764671f718c4697649a84338584866040516102b6959493929190610df2565b60405180910390a1505060016000555050565b6102d16107db565b6001600160a01b03166102e26103e0565b6001600160a01b0316146103085760405162461bcd60e51b815260040161025390610fe9565b6001600160a01b03821661032e5760405162461bcd60e51b815260040161025390610f6b565b478181101561034f5760405162461bcd60e51b815260040161025390610eb7565b61035983836107df565b7f94effa14ea3a1ef396fa2fd829336d1597f1d76b548c26bfa2332869706638af826040516103889190611138565b60405180910390a1505050565b61039d6107db565b6001600160a01b03166103ae6103e0565b6001600160a01b0316146103d45760405162461bcd60e51b815260040161025390610fe9565b6103de6000610871565b565b6001546001600160a01b031690565b600380546101af90611194565b6002600054141561041f5760405162461bcd60e51b815260040161025390611101565b60026000556001600160a01b03851661044a5760405162461bcd60e51b81526004016102539061104b565b6000821161046a5760405162461bcd60e51b815260040161025390610e72565b600080866001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016104999190610d3b565b60206040518083038186803b1580156104b157600080fd5b505afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190610cdb565b90506104f7873330876108c3565b6040516370a0823160e01b81526000906001600160a01b038916906370a0823190610526903090600401610d3b565b60206040518083038186803b15801561053e57600080fd5b505afa158015610552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105769190610cdb565b905061058281836109b3565b9250600083116105a45760405162461bcd60e51b815260040161025390610fa2565b7f45f377f845e1cc76ae2c08f990e15d58bcb732db46f92a4852b956580c3a162f8888338989896040516105dd96959493929190610d73565b60405180910390a150506001600055505050505050565b6105fc6107db565b6001600160a01b031661060d6103e0565b6001600160a01b0316146106335760405162461bcd60e51b815260040161025390610fe9565b6001600160a01b0382166106595760405162461bcd60e51b815260040161025390610f6b565b6001600160a01b03831661067f5760405162461bcd60e51b81526004016102539061101e565b6040516370a0823160e01b81526000906001600160a01b038516906370a08231906106ae903090600401610d3b565b60206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190610cdb565b9050818110156107205760405162461bcd60e51b815260040161025390610eb7565b61072b8484846109c6565b7f7bf0873174a9cc6b28e039b52e74903dd59d650205f32748e3c3dd6b9918ea87848360405161075c929190610dc6565b60405180910390a150505050565b6107726107db565b6001600160a01b03166107836103e0565b6001600160a01b0316146107a95760405162461bcd60e51b815260040161025390610fe9565b6001600160a01b0381166107cf5760405162461bcd60e51b815260040161025390610eee565b6107d881610871565b50565b3390565b604080516000808252602082019092526001600160a01b0384169083906040516108099190610d1f565b60006040518083038185875af1925050503d8060008114610846576040519150601f19603f3d011682016040523d82523d6000602084013e61084b565b606091505b505090508061086c5760405162461bcd60e51b81526004016102539061107a565b505050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600080856001600160a01b03166323b872dd8686866040516024016108ea93929190610d4f565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516109239190610d1f565b6000604051808303816000865af19150503d8060008114610960576040519150601f19603f3d011682016040523d82523d6000602084013e610965565b606091505b509150915081801561098f57508051158061098f57508080602001905181019061098f9190610c51565b6109ab5760405162461bcd60e51b8152600401610253906110bd565b505050505050565b60006109bf8284611141565b9392505050565b600080846001600160a01b031663a9059cbb85856040516024016109eb929190610dc6565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050604051610a249190610d1f565b6000604051808303816000865af19150503d8060008114610a61576040519150601f19603f3d011682016040523d82523d6000602084013e610a66565b606091505b5091509150818015610a90575080511580610a90575080806020019051810190610a909190610c51565b610aac5760405162461bcd60e51b815260040161025390610e3b565b5050505050565b80356001600160a01b0381168114610aca57600080fd5b919050565b600082601f830112610adf578081fd5b813567ffffffffffffffff80821115610afa57610afa6111cf565b604051601f8301601f191681016020018281118282101715610b1e57610b1e6111cf565b604052828152848301602001861015610b35578384fd5b82602086016020830137918201602001929092529392505050565b600060208284031215610b61578081fd5b6109bf82610ab3565b600080600060608486031215610b7e578182fd5b610b8784610ab3565b9250610b9560208501610ab3565b9150604084013590509250925092565b600080600080600060a08688031215610bbc578081fd5b610bc586610ab3565b9450602086013567ffffffffffffffff80821115610be1578283fd5b610bed89838a01610acf565b95506040880135915080821115610c02578283fd5b50610c0f88828901610acf565b9598949750949560608101359550608001359392505050565b60008060408385031215610c3a578182fd5b610c4383610ab3565b946020939093013593505050565b600060208284031215610c62578081fd5b815180151581146109bf578182fd5b600080600060608486031215610c85578283fd5b833567ffffffffffffffff80821115610c9c578485fd5b610ca887838801610acf565b94506020860135915080821115610cbd578384fd5b50610cca86828701610acf565b925050604084013590509250925092565b600060208284031215610cec578081fd5b5051919050565b60008151808452610d0b816020860160208601611164565b601f01601f19169290920160200192915050565b60008251610d31818460208701611164565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060018060a01b03808916835260c06020840152610d9560c0840189610cf3565b81881660408501528381036060850152610daf8188610cf3565b608085019690965250505060a00152949350505050565b6001600160a01b03929092168252602082015260400190565b6000602082526109bf6020830184610cf3565b600060a08252610e0560a0830188610cf3565b6001600160a01b03871660208401528281036040840152610e268187610cf3565b60608401959095525050608001529392505050565b6020808252601f908201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604082015260600190565b60208082526025908201527f46524f4d5f544f4b454e5f414d4f554e545f4d5553545f42455f4d4f52455f54604082015264048414e5f360dc1b606082015260800190565b6020808252601e908201527f414d4f554e545f43414e4e545f4d4f52455f5448414e5f42414c414e43450000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252601e908201527f4554485f414d4f554e545f4d5553545f42455f4d4f52455f5448414e5f300000604082015260600190565b6020808252601e908201527f44455354494e4154494f4e5f43414e4e545f42455f305f414444524553530000604082015260600190565b60208082526027908201527f4e4f5f46524f4d5f544f4b454e5f5452414e534645525f544f5f544849535f4360408201526613d395149050d560ca1b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601390820152720544f4b454e5f4d5553545f4e4f545f42455f3606c1b604082015260600190565b602080825260159082015274046524f4d544f4b454e5f43414e545f545f42455f3605c1b604082015260600190565b60208082526023908201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960408201526213115160ea1b606082015260800190565b60208082526024908201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416040820152631253115160e21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b90815260200190565b60008282101561115f57634e487b7160e01b81526011600452602481fd5b500390565b60005b8381101561117f578181015183820152602001611167565b8381111561118e576000848401525b50505050565b6002810460018216806111a857607f821691505b602082108114156111c957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fdfea264697066735822122097aef730e38bcafe3a097fed3f6392140278fcd4cf93a5eab8a30bc8c33834fe64736f6c634300080000330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041010058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05820535746542053776170312e3100000000000000000000000000000000000000180058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054a377aa6822603cc52e4e9ed6eaa045c46ef6b3e2005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05820535377617000000000000000000000000000000000000000000000000000000a0219181405581d03252c983d17a51f568699304f712a1d4dee6d6564019ccdcf7ecb6a200f01490284aa36973b3e697019121b05581d0399f5bc979eacab5cf704999b04ce2b889df387928275ca3d2be3eb700c01470341d4ccd97ed0021980100219600003724dc17eacd17dae80e5eacd9eae630e52889527060185c3bc4384ef07636c0703849e24943bce17f6914db8bde04c8265fc12b5bc0a46919c65d1aff0eeeadd6805581e034995db84e8d0037539b6b3ad1a149c7c80288b9956197a357e4ff5d5600c06463fd50c439a8803e100bca76e1097fab1977f4c0799c268c9b6dfd794dbd6bdfd6602866119ef04031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e0348f71f9d7bf47dee91423391244fde4de8f04639d93f709f3b16fea7e007011bffffffffffffffff033e0376276ac78f9c4d5745a08198b7a9c3c4a9b56eff464b21c767b1e31a066303ea1b4d6fed3bd1b3888019f508b576a11fbd386a7a3d7528969aacaaf06532a60335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03afad49e222b0b4405256f6cc656df179451a8e54873c3a752c0e38cd4007011bffffffffffffffff05581e0386c9dfa9c960f56dd5731f181f7010511a01e159f3630f12320d747ac004020219d8dd038913e2438a57d6cc3b0797838ad6a167f45f9a1c1398ae56927f7e7b57f8cb48033b58950f930cd5c8557eb3d98ef5580bc8fdb91aa49d9fef5e71370f51903b2f03dd91aae0bf9ec93ea695287df3d24cddc63fb99c46b12e54e74930c5abc595f10219ffff03c45224e1080375d0ba5d581f704916a3d228303124b8deba2afedfc1e72f3bd403a14cc739e5c8dc391896a53f841127b5b8914c06a04794dae8ca187ab5ee6c44032e94ceb683c70a58a5f9c805e567cbf2017af92cbdc9f6ba6631b0c9a0af1855034617f47d75bab700eb04c848f0779682384c7d0d1f10177101309ce1f938c7150327d9d2e537bf2c73b1819bb2f00c9f26f7012b326d6e1aa01a184fca71d0c3820301b90487aacf1de8390338775e022e39e5e8d45c0a32a5e3e9347974f052630d035e80459a6c594826d8e80f953b5aaff687fa7c2e40f40ac4c8d8da393a3cb1990341222c521fada893867b2ecf76b8f551e0a90edaba97d05bef990c78cfee8fa0032ea78e195b25ca8c0b735b3b84bdc790a780a729f15f2edab2dfee639d96e39c0335e40be89ee40d3a0da45c60fb3ab4b51bf99bebd26229d7b37b30a6d9f9e591030f232e046e28574a41a635b9c1bf93049c44c55264f8b2e84b2d72b30bcb14ee0334e54772f8077f8f626886c11a6a1609f29200eac26986bbcc8606f7340f261a03ddac19f5b11d87c82e53ee837c347a8bee95c2c79cfcd4c09d6e595c4aebc48a03f1278ac0ea89831549bece452ecbc4b66c62062dcdf61ed916edc986998e1b1c03bf2d4aa040eb952fd47fd07fea8a9b1f850da1483a8bdb47217d1352c66a79b30219ffff03881fea76b86677715e5bd787a621e36786547c0353fc3a93568c11ba580a544703f862080209154a983dde84a371f97d8cec1836e11309a6f88dc2be7b1a44e53e03c0cf5ded9a96f943502bd093b70791aa728c54e0828f09251293c34c34251e1e031968e1f72d5fd98c32422d27465a2394a264a3c34d1fb1fa1bb168fcfb31383703577e26eac4ccfecca54416d01d436dd10c8c775960d648b9ab989a6ccaec3af003df1a7abb39613dc0d5e45532909532f1e6a25b20549be9d6f68a2fc603102ffa03d9f27790b2ad1ea4cd6d1a0dd2d01f433eec51026d1b6022975c49727c27296e0315543066d582a0248bf04e7023dbbd01f509744fafd15e6882838610b966800a0332b87a13e447d941e3a3e41df0675f1ad4a0c25f612f815e18944eb06637b66203cb6f51cfec297796a77a3a7c90f0a3f349cc47b219f7194e8cef7edb10331fd303b0a813ed157da3fcb31a73bb4610ab48d6f4286c12d0cfff8a99e22d3f9df40603ec964f09d45535e2880d5b234fb277430268c72ee0d43c848829f519f65fd21e0219ffff0323ec57ffe3bf94b6d8d7bad3fd59d7959009334090ef055ae76bfcb60af67c0d03a7a033c885c414989f5082f9722873ca0bbdb5d298a130af0d202bfff3b5093a03a2ae47df2320a8cf7a0519cf5d732d4eb62860e1cb08228fafd9b325ffec32380319b282c8f2769520bdef478d906b40381114b606736731ec84117d258492d39403aa2123d9450412cceadf12ca15649b501a64c06ab47a26a418d5bd27661e4ccb03102eab5cbbbeee14a9480ec05272a9d90b4db2e18286382d02a736a5206938c703194665f1bb732ae6b4f0644fae8201abc54d717d020b1c1374478fd9c9f201ec035d03600de0686c4b355096f27c3f0bfb8f58386897264976f7fd930c5e4ca362031d1c05187cb749116f167a44fd107f93360c712c9f7d7081be88aa0514c08a7c0373b1d182724af19c69cc3194e902cc68687d34b7d674caf46501aeaccd31911c038d7409b7dc23225b0b346405741640c0c1856d27724b8d0a00f067a62c8c0e5103e72f15b87977827b92701e74d69383828a0cf108d7ef0602906facd3b2d2c5ce03650a213a9e50943557fae9876422ace8834dc1b19e35e2881b2d72665d46e61203b97a526692a05801f3905daafd193117b99645b840e49fd572bd56fc80627825032b23bbaf2061e31f9e07e57eb1bb1f9a347ad27fe9fd649f5442f306d4b985ed03db00f725c178cf1977976199edc6f6dd2fdb92e8e44d541f29174428f2717c0f03fba648dad36c932559d4d2b6e53385e3bf1a57b1f0c474e030b8a266c6e7f34c034f6673e867842bf162915432a80447540e37a0f15c6159907208de473f16119403c344df21eaa320818e27d69dad598577517057992b22b3602f14f51b64a3fb9b0390ed5330eaac8ebe90ee47600e127a5f96271d3002d8962a015089f0e4c2dc08031cf21b55214e47b671dcf2d96a56a0e3dfbda4387b5f3d13e56410b7a14d219c0329b1dd92148ff5b56d8117669223ddf0031873140eeeb386ee157a8e9fd665fe03d130d584c6191a6f85e53c3b9f404aa575cbdcb779153c8962acce87f613c8e103a4b0b26519680f17c4f60af561fed159264fc0c67786da58334c3920b919be5e038562b389e1b01ab206ab83f782cea6f6d42d74122ee620a5fad969fde77f139f03716364c758f9f815fde8799f0785a7f35bdf3f647d3ac0e7246f78bd665dbb5a0391d8cc14be75d5c6f669bcc889fa8696069e233c53a1b457d00db921b029eac9038179754b7a476b4f7a70dab691cb328c0f55f2840a91afdef2c04550e9ced54e0306c526f7c962e3371b3794f7ccf4d24757962606cf354a49b551f14f30b993c30605581e0316ef150f8c470939e64034b927cbd7be132efa0e0e8acb6946202f710007011bffffffffffffffff05581e037619f967ad499f89549ca5a1a7f2796a159c60c55d9692079175e6bdb0084726b98e3672dd88031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0331fba7fecc3b5ab2974d9a6707fe1ab75e4c2e8dca2960c629da2f481007011bffffffffffffffff05581d025a4bce531075fe4dad6b55c9241af54abd927663acdf6c9f7e7de0c6040205581d02351114ae105b06ecd01baa8a1644824eb7c62fc8903f5d5d727582f00c0148030a75d8cdd4fde00219804005581e03c05577475c5d359a44091a115abe79bece4e2287ac405889ef6f24f1800401039d80ff6b54b1145e408cae0885f96601d80cca04ce14046f54ce56af7d6dc52603f6e510fdb906aab8fb000d73bb4ee0af842d4826b484942bbcd71675b6e5036203d48c8ef7f400107b1c5ee8ec30b90330e89ee32d428e7111b71eda95fef66a9105581e034fc826cd46c6ce41e95bac94c01838877e12c022588f92f5673909ddc004010339a29808799076640668ff4a7d262a7e5160623935aba39091b3499aafb2a14c037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e034f751291f94719a995f1eb03d8002a0a1cc2ac9dba57e8492462aa731007011bffffffffffffffff05581e035d8e0204cf313c5a45f87f7e733f9723c6d9ba2fdbed8047c0e860a3500c034616903eb2add803bf8ccdbf0c2e13d125779346eabf823135943864f9b410ceda6b8a8d8e3b66290219edbf0366eefa477217dfb5069db7ff56430273f4ffe2146a4c683f3538fa0f46d9051c03f4648fd53e3d2efd66d36e7c662f414c69f561c0d01ab97a44731cca5926b20b03389d219bb30c194e15bba58ec12b264e6f2bc9260a729b71c4687ec3b634728d0219ffff03820b12770e2942f9d595de16f0357e7d1502f07a8bd549affc0de47d37e890950352bed55ec8b2987044a35e258a4566104e62601edfd1b62a5c2a594d1032ce1b03243bc9a9ad1b4c634aa2e1c4416d088bb75006794547aefdd4fc2f5eafb4b2a6031ba1343eeb0e1b945ba5765e5d502b4082a3655702d6140a7be7bcdb9f0b50d00324e5399f7ff20c076b6374a7cda396444a7ae9e55756c91556b7e8a45ebaa597032e38f5bba8b3c5f0c3a92fa3d21e404bed9c5a042c5ea29ac79d1839b216ee1f036f56190008f1c938d0c923c6423a1f0c897b9a626c9f9b6e58a9f1016455d39e03dc06b299e80f869c3dd514a27153b4703e00e741d32c3b95f894b6c02d331eae03f27381de3af1448cb9c2af3594c1c523a5b1a2d6ed6c1c4ccc8672e178c9a5c7036bba67d2df80837ee356a121e86c3cb03379b17c0c4d3246b7b737fbb89c2d6603fcfb86aad18388618cd46205f4a2867bfc24c60c58cd3fedc842016cb313c93403d1690c85186cc5c82bc8b56a81627012d42b1c3d4ba1a4a7ddb354bb693a055e036b5787b87508c6e2cc78e03c1cda8e9856ecd3f4a3ef078afc5101cf16225d910219ffff035f002866c56c86c1a469827949043a339581d94c27f57449ee7303f5b1c0583c03f7ba07e4f054f5ab16685cec888273a53b76bb1b1eb5a8fd91c660ede59c24950317868d95f7ef41a83bcc1d0f498365dc52ee48c53a8961e15d9bf0f15ed45d8f034df9a67cd55bc136eb549c83f129d73859b46878a061e53886a6f6e9bb87a21f037e75dd9eb4db084086121a3beb79aeef3e590a0e733fe8b43bf9ab8f0fbe0030033436a61d3f0b589c333b3a465baaa3f54eb375092f5263d9d82b160cc6f4e4be03994853ce750c42be56e661778abe0d2839e96693c95b96c81d795b726a187bd50219ffff0219ffff036fb30a217aa9284be733451bdd026d1080bc8858d7a8daf2587fb03befad1a2c0375f46656298ff6fbe960b87ca8fd2bca03db6e98729369e5e3a1cdf4da2ab8e7033cde26840966eb59989141b97804d5423b47347f71e0dd365556a9822bc1888b03fea6f959d90d252249e4a846208406e89462c9fadd18f0a3cea7fc723828f50d035dc9f39bb80d13ad07af81a82f32ecc3825272c79676ca3e0645f96f347ade9703357c49b4a776003be3a5abcc6727d9b823fe75fceca9d98c66e837b25b8d3cbf0302444c9c54ed5217089cb051a8c4d3d8e411c85684e788dc3bd2a2474745ce13031fc6ca9a205501b2d60000e77c8cb5dbfabbbf74416f1f97c7711a9edc94f66003ce344840ef57fa863c09d0ca20d91f0f1ea60b795639b7f00fa59619f998a68c03182f4a2d217cf0393770466c9208bd16b581e9f4a981fe316bd9d82d456c4e27037152d7b2fe2b49ae49fed223e6d88f79af33ddbd23613713082fb2c3ab8bcacf03c13b66523552a14a1400f8d856ccd84552638d3789ae0dd1139f3e809f23c1ff0396e6db84df155ed6f2992e9d72dd52519c15b7366afe99666dca6bae4b5f25a50366e607047345466ceb841c60048559a82bb50faa825047cc21d7e5336c38346303a2da30338477a6296c25c6d46f6cfea8a5294d5be8254982e27a8199bcbeac6d0329cc860de0dc38f39c353aa0ec88897cd2b059f4fb0bd1d7921f27a886e255eb03141093ac98eec291a8fe800bf1c9edbd80894f59ebde0b93d5f743aa67c0df1b035e0761c36b5fc22d52842fac7dce4ef6bc1cf7089fc42e875c06f851689c0dd00375668f67afa480995989f5af3485b1987d402884a6eba2b84944698faaf53e2f03fdcfdbb02fe196076d81cafd12e3bdd6c26c35c6f14d5cbd9f5f016c31bceabc0328981bdf44c924624f1d2b8e024b3f720526768d219a0c0f8be46313a30024ca0391ccb0f2302736d8e9d63d94cba55470eb60e3da67c76218c951371c8126c2670378f97f3f98077a6622ae3b4433dc4cc8772f67d5dfe5a3de4e87958fbbd55fe8030ed75d823ee3bdd8848b2e43ac5ba2c88676ee71d00cb21db5bd053b28b1d42b036b381beace4c585aec5959b89f26576e06cad6221717577dc01cb6d7d5d3982b034386a41a225503d99f627f68fe2b8effe77e27997ffb97d9c28e6ccb788b2445033d748c973dc9eaf08a16bae7235a488df0093b16c70d62faefdd0e866f250b79038a5e54a8a87b70bc9ef451d289ba51150f0b66fb7cabf16464e2d8c55e7565ab03b36b043afb0888acfd8a3bede7fe29c91ce816ecaacac4f94aaa42a5391cb3f703b13955f825b33059b9abfa233b72614772f8fea7f5636a4f03ac156c08d799b905581e03b71e61acb5143ae9e09f920ccdf6f3cc50cd86c0374ba759413ce5dae00c034675499b62b60005581e03ad4e4ced258e854e44b65d407edbed998ad848ec025088c0cef0f0b690040205581e0346098e7fc16d7eae350ad4982af3c96aebbb60552f7c09ed9c24892b500c181a471768828e96dbf1031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03ad728cabcce025aa1a43ecbf27ba364c91981ccb2bec47cf4744b7942007011bffffffffffffffff05581e03a247009330f27e9192bafb761cda382a582c01cea5d7f23e517de9c2100c09450289b0cd640326e1567061f7394c224ace98f89b32d191facbce3837e0c9a47df06acd9daa6704594b5d608060405234801561001057600080fd5b506004361061002b5760003560e01c80635ed86d5c14610030575b600080fd5b61004d6004803603602081101561004657600080fd5b503561005f565b60408051918252519081900360200190f35b60007f080000000000001100000000000000000000000000000000000000000000000180838181818181818181818181818f097e43869b387c2d0eab20661ebdfaca58b4b23feac014e1e1d9413164312e77da01097f04cec4cd52fab6da76b4ab7a41ffd844aad8981917d2295273ff6ab2cce622d801097f0295046a010dd6757176414b0fd144c1d2517fc463df01a12c0ab58bbbac26ea01097f060105b3cb5aab151ce615173eaecbe94014ff5d72e884addcd4b9d973fed9fd01097f0233eff8cfcc744de79d412f724898d13c0e53b1132046ee45db7a101242a73f01097f06f753527f0dec9b713d52f08e4556a3963a2f7e5e282b2e97ffde3e12569b7601097f0549a83d43c90aaf1a28c445c81abc883cb61e4353a84ea0fcb15ccee6d6482f0191508083828584878689888b8a8d8c8f8f097f04259be645aaf0a661e7877276fa5559ed7d04349f577595702efed3050402c501097f071e67bd6a0b1b8518cb06837a78b92ab3dec98c4989f946285042655ffe516e01097f019b7924c29a944ecb61165a663d76d84e5ce44b4617fdbca8ff02fbdea6deba01097e70454f9541d96fc1552f984330389ff616cf80eaf699ba2e82b77f43fd163a01097f0479c09d33c38f1c8f73247aace507da354ae87ca5cd4aa096bd3a6229e3006d01097e6fcf0e32e3e99f51d8cdac9c19cc25179eb97f2757844fa0c72e7c3bf453e401097f04ccee6b6ecd4ea8733198e95935d13474d34cf54d7631fde59720e40378e1eb0191508083828584878689888b8a8d8c8f8f097f0627cb37206e5ee9da20c04a92cc765e3bd3f3d4e42ad4de0d709f366d446d8e01097f04183c04ef7d778f11e57b44c1a7f354c4497f1e3d420d3fa9f9c27c4bb5875901097f01e2c5c3fb2b47ea8cf33099c610f6132a5dd7099d29b02f4a041fe5947ff53b01097f04d44944716e0e13728fa8b84fde421f0f66a120ed2b7cfcf59f5ff6718b8b6c01097f0394d0eed011068acc2f55f541c4d113a9c0afe7269cd7d9711aa7e8be661a6001097f052b5bdbcf28603ba60abcbf52bd4f7b4988ce0b4e2346e4875a3f117d4143b401097f05975b93cee7a147a93cc98aabbb713f151924c4ede3306bb5e14e5e4d5d5c050191508083828584878689888b8a8d8c8f8f097f0787053fc3649b17965b9e6ef5e05e024cdc188e90aef1cbf13ba78542a0407d01097f07cbef72611c8e1e08e52ca202382a8545bc7fe124ec080058988e45771e3b4001097f032bd55700baf7283995407f470139326a670d60a5d5428904596584629a053d01097f03485ad12aa365fac51a6296931abdcb54fa848c587cfbfe5bdbad2d6f6d3bd301097f07f9850620a3435695ec7a6d9378cfe218ab0e5fa674cdc572fb9c197b0dbd2501097f01c7c40b6e4cd3d473e8f84b8fa63610ac6c7e3f4f0017f3ed84eae8f042bf1501097f01e3e1d970342085c482175cf60d93e1cc2cf96dec12f1d839b9b829cc957b7d0191508083828584878689888b8a8d8c8f8f097e2d1547488e174e0a8662decd2cf020dd40718f070c84cf36bfa261aa90f81401097f031b8dd40040d22aae383c1e628e427f7aa4a7b0c3a83f815fd7ae2b36864af001097f05efc7dfab3ad0b3f01e313c50ced95363d8dbaa9f91f801d6f1f00869467a1601097e724a3072c9f315cba63e5d99034b3218ff29a9bbf04155060ebdd6c848a65201097f02a0c1eade4037c10729bdc8a8f38bb5bf359078eedba633047377a09b6cde4d01097f06aacb14e31ebb5066e78eb597842812d7ad137880a6dd0d065c4acee231b7c301097e0468b88ba32ca1eac6c8d3196eea0561e25770818221ed0da3ae749e2a302e0191508083828584878689888b8a8d8c8f8f097f05b52f487f8c3d78fb6ea4be227325a7386c7e95cd5f9b72710cfcc870cbba5901097f02bec10dd6a541c12555ff040b5949407713b4227867f53a435e80847b7932f001097f041e1c8870eea4b7f4308e8173f97482d80afd055f07b1a058f182a775aef59301097f0126a03f3c5cbe523484111d915d6d7eab5edad02a327a383171be09597336b401097e0a8db86341624832893780e36fe1f60490da5768f9aeb2a5803240f29ec5a201097f0751a8c7382e8fc0141b4ec5bf37fa457ab8301640b58cfc3b6a0b8d1a12bec201097f05e56f3654b68256095b54a7868763aa3ff60a98ea3508039def82d2098d8a6d0191508083828584878689888b8a8d8c8f8f097f060a9a4ccb72bde44d8a6c5f1d7b9303cc32013ef621bce1b8af413f00e77ef201097f04efe82f8cacf9761cac9fefb6c13c1afdaed68ee650c37684bfce323070e48001097f040c43992a86359c71f5b8051d84d1fd6971eb36ab486f321a1fc50a52a02a4401097f0538392c6ca2c04b5096aa69392b76ff109aabe165df488f3d1a8e5c4022db6401097f02b783063fa1948abfa91d79d225d52ed2ddd11bf20fc388b1ec00fdb586792101097f01ec66f3f326120e659b78867bdfd7dac4dd3f1a92ffeaf46d39725de341afd401097e5f4ed6b86202d76686a0b4c1efdfc93c46dce1b843c7181d1db1f8cd4d6dfb0191508083828584878689888b8a8d8c8f8f097f034b9f6e8d5debbb4aea334310dc8d8075f896e7eb9f1c09788c7ec62ccb611601097e4e57c6677d3bd56b425a3b3a92517344d4875e1710667e3dee1954395269af01097f01c5110241881e087e201d211da338d8377dd228afbd84850b76f3e5dfeb936101097ea64b536ff29309d613af1c27c7229c3f6c583471c6b589b25026db08d3767a01097f03f6f9a9c3f6e175b59fd8e4268a6ae5734034fb1d7c43f97ef474b75ba80cc801097f0775ad15685181f15e34a6b0036c16fc8d1a9860ced1cc5ece39d19a6add939b01097f07775ec7b0ee9812c8df83957c5b46c316fdac82a2d736d4a6eea6124abc58490191508083828584878689888b8a8d8c8f8f097f041f320f863037e381ff83f2c9f1a8ae2802fc22cfea674d9cfd10171da6dea801097f067649ac75ea692acb3aa4432d48de15aacfa347a37afdf489cc7e954e4ab10001097f07fd8c6108133b8109f4058192bd614b5de2c50afe7ac08a7bb0e0b12ef04e4f01097f057f8ef270683ea78b167dcbe5bb122a79ba760c95f8103dc4c6e7788fb1ac9c01097f06dc0d996fc95036c8cfa408fb12793bf8a4773d698f55085c2ccbc906c6d2d001097f06713ddde3f2da61b676f5e4c52177bfc8c1576bc97ab3c48f08ff02d26cc03e01097f016b450dd2bb4712f6412b35603aaa02e7345124e5fd13e919c269f3874970f90191508083828584878689888b8a8d8c8f8f097e5f81b087ad750a0ebddd5239bb3682c84d88326b4679a24890f5fec98df45a01097f033f4151b710663772765df7f95b3710c3e8e81bacdbe3729b0a43b6d19e428c01097f05d122cd95f43fb6fc2373ef7e66072140f0f20d552f186faff2622b55a3e06301097e9b478a0767cca2c6f9b4268bffc9e907eb69b32f8ff7b43fc24edd38a88ec201097f0597cee65bc7c6f0faa3e0aa1958897acf7fd4e4e69569f5d18254b0b8c09aab01097f0218bc11c668ef7ae5f04a16dc9933c5bc41c194a439d0af802568e598c5463001097f03394eac0b3787b323686cddaef3af972d7fbbd75940bf7f682b8fe3676cd46b0191508083828584878689888b8a8d8c8f8f097f04aeb3836ccb2a9ebf9f1c5b6ee3c42f66c8059cc55188335a47a3583d98601801097e5db68a5c4527fff0ebf61fe064888b0fb6e277cfecca6d206986293256f31f01097f063372394d373e7a2f2fa6405509da05fe9cb546ea2742ac0716bccf50ad922701097f022d4ed1a29943bc16343e01eab25e45adf74b6a7072e4e26aa8d141f2cac5ca01097ef8ea3b2c0b72747301b2778cc071cb9d2e09bbdd7a386b7931582ab412dbd101097ef78d4b72e0f5f55913884d0714674dd6f534b211ec5dcdba419347828c7c3501097e5142430fc3f872dd6fefb7e9804e3e63714f71a2f43b155cebc53671f964af0191508083828584878689888b8a8d8c8f8f097f072fe5010e70102306b21cc388b7f2ab8b0324b84654cf98032b83a81099e72e01097efd959b09bb704fe63c73e2331f8e76dc1fbf85c2dc9dcaa0e8108664f7f98801097f04180556f79a47df725eca2c2f65389e27281443847a7d9e84640e6d589182f701097f02dc12726f7f06ef1adfb10747e5d4ef8052e4e57bad9bb10529d7994ef9103501097f03c62720cac42a262b58765d7c0588231c5c2c9ce9d48f0fd547575289ede8c801097f05744178090cdd56ae12fdd51b74bc097f23f735b7ca16e415a1854597b1caf801097e597cbefb648f47e763b9b1be8c3f815a0e8b65d0101e11b5bedc380c10e9f40191508083828584878689888b8a8d8c8f8f097e78e66ae8b3ef57289d92561dbe4ef72f4ee551d5cad363720a78d104a8916301097f03cb89319d8172da012c036c40116fd325d65af69f80a1df8f56ec890e92059201097f029d152196b7ea7446182efe778a2db796f5fab17286405953476ac97f94a96a01097f06348748d43d48acafb8ce688f25a1245df86dd20c3a96c5c85cfc0960ca2fa701097e3609fff81e15da2a88036d1c2d28814035ce829430fabcc3986c08acdc2d4401097f03241fcabfd99b666b151970558fb59fdfca47ded4caf2af4b15839767edb19001097f03f61241934753ca9c4f4210885b87863abdc8637d4dafe5da4bfa5e0206988e0191508083828584878689888b8a8d8c8f8f097f06a16c0b648c72c8d718d53099cb11725ee09fe1b49487d8f55f307a6a26592001097f043ef0fbc56a0a46c7099f5e6d6550a77e1ac023e2201f01bde0a3f5fb0f16a501097f01f6bf768424619cc2d34c01cbf4e137b6cc33a4a5a3db0bc704f790f86ad67c01097f049eac48d453d5de07fe3f4bdb5aac21e7fe69858afedfbeb0daf175459dd9d701097f02a390a6737563e9edc22b0b0cce94a67adc10db18d6f978c826f24b8848c6df01097f023e127bf290465acfb7500962d426be5241f0e8c6f844d25aa8e262df6e70cb01097f05e51a00b7437caee2acdb81781212bc3d1c397b477ec784d1a7b304c9f8c6870191508083828584878689888b8a8d8c8f8f097f06e52308f62433fe92ca9064e06aa17d793d3ad7bedb9590c8bb9edd3272fbae01097f07aa1d2348e13a031dc4fa20d453fcd59eead9adbccc3ea64997d09a0f58216b01097f01c02d3ffc30c7172a132ac604ad28e89466845c139dba509b896c997ee4ce8a01097f03ea018d81f9118cb5cf251d6c795b4ca4aeeb28d6ea5464fb4807d21945372801097f062c2fa993dee607ef195fb6620051b4df127d933de3a417d21de3b0c6dfdc9501097f02fd6fab5c4d0e6bd5bf5b950632e2dfc3be19c9a80e3bf8934e878003b0816a01097f012f2b0b280b64cb9f6bd77cd5103b7668ae42e5d40ae156607c69043b4da5a90191508083828584878689888b8a8d8c8f8f097e051a3ba83e3f68b2df85f3b9e770b5294312fd634fa48ace215a029fdb559301097f056f19df91009289c7f5304026cf6d2c26541cd4caf867b2d2ea8a954560ed7b01097f0362dd19b8207511079a352fad991df9582315ca2539ed4da5cbb5b82e414fc501097f02dd7ddf328b439b3047a93c6fff6ef901946438cbb55a4c1fa1848f80baf2ce01097f02120274511adcc680703d33146477a31c42684b5163a628eb3f84258ae7878601097f011076126b67298371103d89e76ec2fbe30b28c5de422e61d3fade2e190450a401097f01868ebbc59cb1c69b32ea2b3a7ce3f87b680731b96a42403878df0a0e4bb3e20191508083828584878689888b8a8d8c8f8f097f05b7abf66fda1917e0e1d44924cb73d713b5fc16b3a64bd4857d089adfd6a81401097f013df9c113e40f246d806089e437629de52f8a247ece912785004efcafd4ea9401097ebdcc31feec5ca8cfbf7227269d1e120132c51307ec03cc2d59c471e2510a2401097f03b2efe16624d8d0a1beeb037b02f0a4f7e11eb3859852cea1f83ab1752a409901097f0596104fc8bded038e39f0de5e80a2f2b65fd39fa4ab7b3453bbe8a40e06a31701097f05fec9e8e9ad35ec1091706f4f39c0e8a610f58be6c987c2327ce0794af7cb7c01097f05fb45888a7861e18a320bff7b0baee50ef9cbe1b06c78a5a16a6fbda3c6b77f0191508083828584878689888b8a8d8c8f8f097f02c15afc87ef81cb58ec29c7dd81b4cfe291e5d33a7b36126289a8ebc1af4eb401097f01f90c3eb7ed36bec79f803ab1884e5455581110ab713139cdb5207561a89a3401097f07c537f749e37ed15d7e5d5d0f88686c5d02242b6c487ae2c5606d2c7de986b601097f04db0795b76ed3b5cf3cbc23bc47d20abe9b9f76a2731f2774e6dd5ecd6eea0501097f03a7ada56cb16708c6eee7af3688765728c706a16baf61d0582186a3717ef55201097f04c9b9f2c154c6a8cb1fbf50793787d215f2857d042b21c6f5e2740732cca56701097edf2e87cea7f46ab09a5011d8afca4e7cb962e008fc991ea16d85c472dcf3ef0191508083828584878689888b8a8d8c8f8f097f04df83db997cffc8598b838a9c8373bfff5e109d71ee3bf2a18dc0e621e93d2d01097f017eb7ae4a950bce2abe1e7165594eaa60be7b75cefd8007425a735264a1371a01097f06c8258350c092e7b5cf658a6bed95d620afe0563482911a1435a93bcb0d5beb01097f0554563c23e6ec8a4497d670e81940a92ddad53c27e7bbc18de74d2b3734d82401097f06c9568c4a9f64874e71c88cc80576e4083f6d0649f66929612a9bb99bd958e101097f014e46f8471beb6479fadac1286dc86683c659bf1c77dc96bcb303d48c115d7e01097f05eb4774b76a39af609243ea0ca61eaf03255a02d90be9a83901debf64875f0b0191508083828584878689888b8a8d8c8f8f097f03317e8a32e8f82246423237d2a4039eba358a76adb8065751b6d7939fadb85c01097f06cfe464b2a4d4e77c09e0beceb4e368bd93aae5efaddbb92e003afc508fcb3301097f03b69a8579df2cea96435a07c81ae1d9f8a5e0e52433335c3e7ad81b7678978801097f03f26981ddcd3549baf47e3f1242b0bb90d6b7f426ba71d2ce628ceb801f373401097f040d8fb43bbc7e5c35e4b57fef4e8351ffb118c9d92346f97ff7cb48b0170eff01097f019eec9d276c006f19cfa904a4e2ead857e99000d16e897dc8dc955c57615d5401097ecfff274a78e56ec27e29d01f2e900bd226cdb493a83358f9b807235c9aa4070191508083828584878689888b8a8d8c8f8f097f013d4454abb9515f00c3daa6034ed3759ea722a953679c4f857511141b87da9301097f02ea5039159478e68762063624b0f396cb7f1bbfe8c1a159f65f0f663f21913601097f040508ab9b5b8d885f85750bb659071d6cc04639f43070b94a802d41723bd0f301097f040a9f47d93280a641e7f903b1e608cb443ed5d59f24cde6b92c6631cab1e00901097f05a5085cb551c472af264b5de50ebb7b4bb04539c9afac1339f903b943578eea01097ea89bb9df4a46c56f2f40748d826d50285082118f8995f5e7638a05ec117c4701097f05950e4370508dbfa764621025e9341994a3ac21848f3e39d02370b193ba69370191508083828584878689888b8a8d8c8f8f097f06f20da2f1a25f1fab33e7856067226784ad992f8bb53249ee7bb17e86c8207001097f042271e06f205c1bfc9f9d9411bf835f43941c88aa3dc75f044a0143faa4d5cc01097f0411f9def562556de87d47af60354512d9a1261152e7f4636038699d468fc2bb01097f066490371a5dfa3fb85bf3f088b89614b5e56cafc263eec39dc4a1bb39e0343301097f06d49bd35b4e4aa46b7098d306632014b4fbfd84892d6997b58d9463a0ea2c0501097ea9c2bf87d58d3f72d985b4b1129f0a1664caac1ee26a15675d1a5086de3a7901097f046df5faa750270394a4253e63ba3e437550ee216ebf8ddbbd7304940c85ad020191508083828584878689888b8a8d8c8f8f097f06e5bf767f3b0646dc16377f3bb7c17db6069555e100dd2215eb20c4d29fb1c301097f05d9acf8582d4ccc017af36a8a9863e4383b63893d3fb5d81f7fabf4ba3d102301097f06933ce3f88628188f7a1b1be5b0506dedadd9559c4766be0e7db1ace3adb59201097f040ba0e2f504aa0e9972018d91be21f56bde16361282915563796c750f8936b701097f06fd73eabd21a86dd8094dd0ebb5924b1aab0753a0d251571ea93f83ab4bd51901097f02761e32194ddef695d1837c8a3f48a3773ae392b5633bfa0c1451e51e33b69b01097f05519091c464bab5646294ae41d087ddcef8bd0508a94a07890fa07220bdaad30191508083828584878689888b8a8d8c8f8f097f03b160cef807b72e95938852093a3a633e72b61e0afad5099201885b54be409801097f07692b996dcfecd35db6aa22de10144724c478f85a328ab893c6fbadf43d7a9e01097f03512eb8a3bbded6fad1c19190d857629efc56f93fb4aa527e2958dfcce1215301097f0591ad3fb7ab83f8d9fcf184ab793baf3db128cda0de1618932851108771cf0d01097f05f7da39edb0781ca1f96af191cf4c70fe0c121b7b2c92f09b49503bb070dc9901097f04a94669a4901cb5527124a2dc7ff6c278d540da41a95e819d0ca10269f7b38001097e20a06257ccfa90a74adf9bb1130a8385b8c91bc61e18acc30843463e5abaa20191508083828584878689888b8a8d8c8f8f097f07e3c052c620ef7fcf180898d28e39348e96e92ed0634dcae3f5fc64be5094a601097f0578dfc700a95a564b41ba8f33b885ad04209bf5169a4046f603a3d84f792d6d01097f0796c9b073e2c56f55601eb1f6147d028553275e9fb792f0b76007c9710459c701097e8c2c75a2fe00432f77ef57e906f264ea76c439e0c4cb19e87867a6ebb34d0a01097f0525fee2e2cdb7a293f50f630a840d5cf5f29a158eadd6fa9d0159951712d19a01097f07991462c103abfc3bc31427227b1fb82f7fdf2be1b39316f46e3baef2fcf58801097f046d1e806178137e82ea97c54d8c15dd45c2a9a0082b18aeb9f849158ffc0ee50191508083828584878689888b8a8d8c8f8f097f025a127bbf961fe2b5bd9facbda706223206c40acff003152cbb3b28e966803001097f01e3d7c65a8f40b6f8aab1635e3b78d0f798746532f08771267a9b6149632a5a01097f025fc8ba8ab421b6dacf2ce03263e037374e4d61c6ce26422fbcb2e755c0d9c401097f048294f41052135cca94fcf88cf236437b8a55370c3de81fb0d781aa7b0f8eca01097e8c5762a12210a7fdc96a7d3aa966476d3b28650e7c49fc90f95e49a80d432401097f04ffe8275d3344b4ae2f7d9992d68598e50f365c0b8a721d723841485fc25c0d01097f02959a6947bc4eee0135bbd0a6f2053b62317a1718bcceecbd507417d31e88060191508083828584878689888b8a8d8c8f8f097f077efd8893058f8e00863205582a5e274c344b9af63b9c40ddd92c97c33b52ea01097f073796a0ce0fe851bc22b99faded48a24a21745bb62603e750f78b854d7c32c701097f02d2e43c0ad60d4265774479258211274ae32b5e151aacf6f8ac1b7708076f0901097f022b5eab11c9e1e6b8d64d5db4b12502fdf0899497f72ee1a27c8797b617f76d01097e703c768145191a10344e5ca400be8fd249e653d564015d46fcd7096cb723a001097f04159f8056bde7fd4f72615f7bdd0bb6408256b8b216ca52fee253113d9d007c01097f05fde2cdf0d23d5649e3aead1b2b90ca0309715a029654e8984e43de7bde7b060191508083828584878689888b8a8d8c8f8f097f050372d2aff2ebc566505a564d971c6491095e009d9887899aee0b5017fcb87701097f03333c3d925d8c58b9e4e533531e93046039577cf0e57d011c7ce87c6ef1a83501097f0575fb11a4d7e3876ae4c86b80b4b9530e0d3e9db218f4d5644f612348f8f00201097f03481879ec47fc8cfabf38ffaa75311c787b7006e7f9def35e96454263bba4aa01097f05c1e733995aad208f0697e4d2a6e28bec9fddc3e30bd033f2f50a83927baef101097f02edf44b1f59efb0f36c0fce5edbb7576c89cb9f191300fc5e0240def1b88b9d01097f01d46036b736e06016c817d2b51a0918189881a4f1b7c71d556db583df762d370191508083828584878689888b8a8d8c8f8f097f0258ef77b90879282ccc2ffcea5052cad266d77b75db36b7996e5fe7638e9b0001097f04219a0a13e09662f3ec712da51b36967947f6d5a09d8044e3005a7f0ab4591501097f018d0f552fd62f81b6076265c7a3a0b81f6bd37152a2f16c71210021ecf6846801097f031abb6310a44d65ac8c308011d4afab938fdacfbaec14c62b808452310b799b01097f01765a9eca4f4551f177b35089f8befc808613bbcd971a47d485b1c220d0bbb401097f07fd44af0ef24f061aa7dd5bbde15098dfc3721790ee9bac2caa71cca714ebf001097f0566edfbe3c59cbd43838ee245edfebe292c7163f79b1454b03ef3cf8af23c100191508083828584878689888b8a8d8c8f8f097f014d01a0c81aa61c5a238243e78afe80e5d0d7bf528c3d05a343d0f4470d2b0a01097f038445d5f2de7993c48c9da8e77a87dbe289dc0428b1e4ca87e30b237653554301097f0324db878e3842c25a78e94453c98434c54b41955db62234b0ec5ddde664155601097f0184f23c10c726d4a7036c39466db02c4fe7c3d40bade571fe07acaa282f4c0701097f07fb1cbd7a48f2d44a148bd4d17ccd47c438f4f1b45a02945cf4312afa0d6f9501097e20d2002cba899acc7d333031e0977d8df94557ca0749bef6c38b72dbcd462f01097f075bd5b63008c2e005df64ca189ecce11c060f0df6903011a3d95cf9f7b488780191508083828584878689888b8a8d8c8f8f097f0548724b5683cd6427513b4c4f84a6d888b9a03843bc0dbdc501b8752d99ada101097f038441dfe93fd3133faf52208f3263d4ecaca0643bf9c9d4bc952c86cf280f7a01097f0182e50e36b753ff5f95f2bc47a6aac8c6f2e5c3975476252a7c29250eefb05601097f02593b010eb6fe0f64833e4f22f6854c063085e0dd393226e6b5fb20ea7f432d01097ecc060a8b007b2dd0efa786afa5edcb512d83ddcba8ed69c27ccef5769deb2301097e672717b74bc3dca9e53494681a5ffa02edbb0290de1c5209843a16964df7a301097f053774852c8f84d21eec107e1da7a2ab3f4b5ceba6479d1f902ad404e7dde3290191508083828584878689888b8a8d8c8f8f097e96de7b9a7eac739df4d13902971804aaf40f5559d18593be0daac0ff86c63601097f0725601ed4fcfdaa392b91e8ea982fc57f1874378ab8d6b55301b3d4b6efd80201097e7bc4fea0ea687295d72735a62a19c1a160a1b9a19342717b527f94770aca7701097e3dfab578cfc7a1581212074e0969db9accb619a043dd7194a253af67ef369801097f044090861421dbb6b4a325a6832e02986be80f7ea475313ae01a3215c351034601097f07384363b4495aacafd81d0a139a66afd3243309395e3444fb3f1496832240a901097f04f6ea70b9090971f8de7071f27b0d036b112211403e0547fb7b7903704f295b0191508083828584878689888b8a8d8c8f8f097ed55dad93e837d31e8f120398e09b83ca68f160c16043e1c65d033a19adbc3001097f06cc09dc2faf0903dbf5121b97ef058300b18efcc30c25f55de752d395b568a901097f02b2091e41b10140bea196a1cc28d7f6db6ae1b55d1f115d882c321221a32eb401097e11b19b3abd2b297728768027b1370566bd845bfb6f49197a76255c1d8c661f01097f03236ab2e0e0b1b013c2100283e36fe75521bd50091f1c73deb165e86616d80a01097f07351448e92ce6914278e73ceeb080e280c146dbcc21cb35af8d2c7e5560aa7d01097f0100a89bccb889f183c2a6ced12bab8ef86403230ae6b23def0b784f73ff296f0191508083828584878689888b8a8d8c8f8f097f031e49312e1d59acae36bf3562443259500039a7a77d9a57a44cbbb4a80932e301097f0273647256f95d2e5f98bd7830191abd89dc4ab241fc7fa12b27e16a6bd423c301097f0424396bedfddf4192963ef0f87b3989a99f277fe2c60756a4a60fae4d6dfa3101097f06e3a0355459b8b7c35837f3f19f0d8954907326cb08d7d084f2ed0f4b2af8f501097e2d88caa65f47db103fb1ca354bf50c93f24bca5001598f716b6c9e5c51d1d201097f02dca037a615e8cf99f8614f437e953c5625b9b57d95f16c174f63346e31c5da01097f05800bf15808a39f1acfbb193af1ab0c22f18d9738753bd3cd2aeea81982409e0191508083828584878689888b8a8d8c8f8f097f04ad97a9b0ab95abc1b8fcff31a48e18fb2391ac95baaacc62125bd87fd75e1301097f05ba49d41f62b6d6903fc455bf02bca54becb6ee7f39650fcd0b717ac396159c01097e959c7bf3885d75ab3ca9480101ff64d62c9f138d35f63c137009c1b3eb39f301097f06da06ce868c140c8ff9ec1eb0323fe2c8b35b46c8d4f5a27727450e87ebd90601097f01bf01c19527dd1d9094c44e3acee4d1ec8c4192026b6f996776294cc9dbc4a801097f040d1ae7e7bcddc520ed8c0fd736e9b5147d278ed1b720abf76439377023abea01097f02f26fb29017b5ab80328de8488db547e47c44c0d56f30e330354d5b980e50ad0191508083828584878689888b8a8d8c8f8f097f072bcdfbdd09f13eeb0c01565dc6a79999a9642dbcb0c570e3e7621ca94df21501097f0140ed138dfc5b5417b25a4512bb991f3fd04cf750e082fd4fb82cc15b64583501097f040ffb20c2a3dba0a0d8b6aa51ccaa1b690aa08670ceee556d76053cd671d52201097f0283c74c8066141911634401af10106c29dd77458d059ff3b2dd7aa796b2a55901097f0593df80dd238cbdc6398146502310a5cb459b0e7d79fa9bee5cc389385c95b301097f0669bfada09faa64c005321d60752662598d69c517e9ffa462dc1b1af42228d101097f070cc78b821b198e72f8feeb8f31d81e5a4854de3575a62909e0bb51cee921d00191508083828584878689888b8a8d8c8f8f097f068539d0ccd1737a8b2e540f9165638f86f6c4e44943455d311999b0b3684b7d01097ebb867c323532bde3d5b0e08b1b7531a95a2a1706132dcd8ebb7063cd1b1bbb01097f0751a2c218f4feffc61e90939c4d2672a263d3b33528c7c6eb40042640f4514601097f06473d78fc37e48379ef8a9d57e3e92cf4fdad3a1bcc170dd177dbc51c4dc62c01097f07218f86344ea46cdcc372a22a14663105eef03bb0de9da9bfcd10818d36ba2801097eaa17b17cdb757833dd4b1670371ef55345debfb2c1b6bdfae64d8759e0434901097f038cb4173a2b057da41d5d30b55f6d11f25effdc69c14843cc43a9ab269630f00191508083828584878689888b8a8d8c8f8f097f04350a29d7b4b242b20b68f6eabd75b758d8631c192b7da5032181b71740b96b01097f042518069a18922e90fa2fa8fe9bf5e2371a40ea88c25d247e6a73a007105dd901097f07f43f7128a1b46f8ab168a06df9d0cade82a3193eec2d51e2b83f4f0c7fabd901097f06e694d9385207d7cc8a7cdbf90eb4ed3be49cabc0e6b8d0e69172d73f4a5c1101097f02782ab60e8e9c6cccd40f438a2d2814ef39f50f02bbeb790bc6df78d75af42b01097f0259f8eeaf6cbdabd37b9de029661bdcb219245a7599207d3df08c7cc452a13d01097e9345d2e4fc86ae78c4879ecc3adf9e6c482044052bc3738618247b60f069ad0191508083828584878689888b8a8d8c8f8f097f04419f27879dacd62144bde4f904890c6d5b312282335a57cf1b04b403bddbea01097f0581755fd25823d2f3b07ac5d8dd1bd5b26eab362cec3f9e03573a2b03f62ab901097f037622de79f6252ff6bb76900db06504434856faf33c59a1b2e39a4fa60ed14301097f02c4ffe18ae93ab53ff6d7d01a7b5bdc5b08dc8d144e0b917f47e60e3cf723f301097e42ca1f8224d317275c78ca7762a78e6c51978afe1abcbf535da6d299c799c101097f06403910df189d75aca61c604de3b0802a4ec2ffadb0ff60f1a01f363d66ea6701097f044094080f29bf84d3d5849f264713647289e9af1534ec38d1a7c3d2d2f1ab640191508083828584878689888b8a8d8c8f8f097f03dd2900899d2219ea16fc41413af028057f0c2a674e1cc65032fe4dcb062d4d01097f05a612887264b1ff8e5239b3e04143dc30d0a80cef1c880fe52ee2d5009092b101097f05ca2e5676dde96127ca85ff6ac82a8fb35b45651b88bcdbfab7ae5298d427c801097e4b135ec421e9138d09c709a5d92ba70e6944cd44a7eb7f705ab3612de315ac01097f0152b3265b01fa9ce0cdf58c17cd14c2cf3e3fafba140db9e27da4fdde7d3c0d01097f055554f904554d2f262d1db49d7c515414870717c829b73d6c439260a8bba3da01097e3e2b9e4151827bb0d04858df547978536215dc06143674d0d2e788dcdc9c360191508083828584878689888b8a8d8c8f8f097f02c30d5e07853079c9f11624e2431795e2bd8b4bebd8cac92f158306b45b054901097f04e922a3c7df1c668f86b866cf0c07ee4658e7754f6fc0fb62cb297bb696032001097f035b787fb9889163a9fb5ab831838f19092aa4ef8d8dabb299045740959573d401097f02d847968e995dcfcecc6ef98ab27f9f1db36b14ce3ba81b80cc92cf19750f8801097f06785d833096c9d9d06034ba4d7f8d71481d4b680b63693d9fa24ea10d3511cf01097f05617f72f8d0da5d7cafeef9269395ee34f921f5cc8d1a4f4c0292a83cb0b9bb01097f06a1373cca7777e3cfacc6502ca9bc645678445d98acf3d6f5ca6c82cab531740191508083828584878689888b8a8d8c8f8f097e5b07a69abcc274ea09eb67f2f6036b492db1f9b7e0a3497d8f3920de22b3b401097f074399a1effe3a13a8effe952dd57142c254ebe807a56f13521da38984a0b55d01097f06a399f5bede4f507c7251a7ccd110e21173729f5f9a57eb16a27203d3c5e73101097f013102ce3fef387b552a6b8967f788cc8f8502ef0f2ec293d2b872328f78b6c901097f02233376db0eee71ed0bc6ec0de23782ca9e244a06b8e515b2855b522259eda401097f06319176edd9fe726efbcc70108b516e26152cb56329b842a1e14adc2a3e47b201097f012e828f63839dc0dd62bc23385c0bdd5b11e7b6de2cddeccc47f85027c9862f0191508083828584878689888b8a8d8c8f8f097f01b5bfb21e549706eaf5c771448f91d1ce03498029ff4159d8cd11f4b6d523a801097f0223b2c9fcd5a1d4b0f7decaab98bdf87e5083865ef9b6562a261fc75009e72501097f06856abcc37696eadf09ac823f589a05b034ef8f86e41d2c6222f039707017fb01097eabbe74553aa10ee20ec6f0f49f73281124ca34d0b71c2e80160f37d3ae034501097ef7043785f78a94a68b669cb366c00538eafb8e87b5380c68518d4e23922d6f01097f043a4dbc140986d44a7099720e13ec46817f0131dd109a48fbbcf190671f35d601097f07fb8438581e1ae31877119b91ef1ea28181ba8c0a89eb356313c8a910295d7c0191508083828584878689888b8a8d8c8f8f097f0125399adcf39aaf7962e3be41c6f9c7691e45c2c31b937e26257d94b545498501097f03a3c97667e93fa5cc0531c8a2f6d9f84c4f683133b8941fe1382ca8f6f2fe0d01097f0253548b05c44cb4d8f2d97641773cf812f709663fe8f492f5a77bfbc8477d7901097f03e828a46091dc07cbbbb0dcbf390e4b5cc44d086b0ba74051fff237f7d6a74a01097f074a80f191573d77481059c14f56764dd2c11571b2736d355efa299c400f037701097f076169700b631b19086b8b1737e23f1c59cf1428075904c80db724383d3c6b5e01097f07febfa3ce41434e03eccb6be0099dc31d90e36558dfb6f9d21b3e0be41472b40191508083828584878689888b8a8d8c8f8f097eaee16ac845b8bdb7d9c1c85ca7b0e749a7c47229ba24ba097b4b6b8151cc4d01097f031cac8c51732d8aad5bc41c9a6440d482c2c4967e75a571c31b2d9aaaa6406801097f0203db741e5e80c19c2bea387e3091420b918fe1142bcf2bc13ae7e098282fda01097f02449d2be3af1fcd8984a9f857309ab5e0e5c010680e33b03a194c6e902a553c01097e40246dcd91afc0098ab9568a5c97d54e09065c551bc9d26ba0ab6a00089bec01097f050cdaac85b8d8bbf55a920bf8d213e333eba5f2bd92e92c61f3946617222ade01097f065dbe95ea2b7d1894854b235f2cc66e910fd2791ff09b92366c7685c652a8c70191508083828584878689888b8a8d8c8f8f097e18f3259c8451dc5007e94efcc6e90c6951543474925fd28ff35e56890bfb6601097f069021f5cefc75ce473977c2ceae2e7c66a84bb3d734eebf4bf497e56eb6995901097e4ded7eedcfca4ee336fa075aef6a017beab322cf7ddf83bccfba05f1c93cad01097edcc0df28639fd96570d93a6d1df1cb1dcf6db8a259ab092b34cdb411895aa201097f02333165fa7f9414f082253b8451638fe1e9da3ba8c1246723dbf9995e49d01701097ec8b65a737b5605606028a064d168ccf32d8d87fcb55c6c853fd95ae096141001097f071d72b0c23e31d703f0210ecb2b28994ad828417531a15a17a1fd401daca2cf0191508083828584878689888b8a8d8c8f8f097f0211c3e223a3c9c4a024b490a819254ee133ef9740a4026eb3a036bb9e5c658101097f0621692ad7ad27517f4de4e528e1271719cf5b344d463c86b9cd8424a4fc274f01097f05ab65084f4ee8261bfd290e2d5608fde744be92da2eadd5f2fb909ac3d1481801097f05896811c73c991f479c7af6238b51252178dcf4371c297326bcceeb8ee454e201097f0453705ada0d5db6b0afb289b29db6c9acedb01e742cb0d68705d07f8dfcfaae01097f0168f97539fdebde7280f4d33f7d5b469cca77495efd4660f31b7d8018f7f89e01097f07829c898e33552459e8fff13c01f1e0d9f5b098f0de7161cbf97da52914bc380191508083828584878689888b8a8d8c8f8f097f05b23dd8ead53bea28246af5a3a63daabf41e7987fe61255d97f2a57bb6d14eb01097f07b631dfaa76643b5f46a069b8c40038f77f088374320add0ac3c9924a12f15301097f02408fff139dae5eb756ea03ef15a2484f582f7ab27ccaa09fa8154f3bf0024b01097f028aa32bfd8c8d7ffcb0b5dadfcfd1b6bbd69b02de9ac1bee786da98ce76c8e101097f033eb39eae1db6ea48126be6b300b31f6bbe275845822f9eb293e9f7ac38a77701097f03e549a3d3849a09d8f1c50f84f7caa4aa0a5b8ef6f957dafcd13c7c90e4ea1101097f02f5e865731de5068f289b616b39c2294284c111540abfdbb33a39780eb0bceb0191508083828584878689888b8a8d8c8f8f097f04e51def182a5bd5672ced3106f19ecd94b760dcfc68e66a3656d0b5db19165f01097f042f46c19b87a82522476372ae65817f8d53f263674a040531bb37935b28989301097ef0bd4817ef6ef818a35ca3678f88abb078678a1364539bd7886dad527cb28d01097f0501f0235f18b49889497cf7c91fe0a1f81d74da8cb1e88bcfca9127392aabfd01097ec11cd155f0a514a5a419d10ffa72405817256ffc8d580b9d3ab002f596b2ff01097e9f712ae0384a87901ad44f53eee9e7c39544893d10b891a92e87e4d78e837401097f02d511bed457c57d7354252189efd19e4f5c3496c1dbe1f1408ff79c8cb970250191508083828584878689888b8a8d8c8f8f097f06c8d7abe5c83db80647ff904bdbf25bd0e979607d2310ffbefaa1edb7ae1bb901097f046e747695d9d234e15781125d05b85ce3cb01d676ef8fc45a939d5e6d4e2e5601097f021c86da8be11246b29f17d5f7f3566c20712711e03eba57f0ecace8c435541801097f07b851f4004fd9f20561e3755d7c89528ddefddbbbcbaa9293e416c0dfbb95d101097f031587ae13086228663118a1fbfad6d65bb9741d5682abfb43c7524cc6c240e601097f02ef1cb499e790f2de6129225457520b560c1c3120457e742957d1148bb934ca01097f0781fe3d95c096c6df1c9ced110914917e26d0860da4bd769e4682a17540768b0191508083828584878689888b8a8d8c8f8f097e7cf92bf7e933187b6ea01019ed1c2d9936e53a9ea89724e00e36672dca1e3601097f0290b573a86b30d59fd1301b7985a68fd9bf9dfca5451179bcd13d10eee988aa01097f04d3987a0850d8159f9290a8ae8cf99a0ece9961d22135b584d8fc742d42c15f01097f06247162754e5af6a0efa837daba678811cd749e92d91acf35d732aaf4bfb4f301097f01e3df9ca8b80529441770e007a27cda52e54307e4f3370a83705e0f3ffc86fc01097f025579cd0082839ce295d9bdb24140a8f2fe19f7d582a4993a88639a0347a52201097f070181ba88ba8d19c0220225ca0112845e23ed7609ffa4f2aea3cd40a40eef300191508083828584878689888b8a8d8c8f8f097f0481c8091e40139c67f7e69737f83a6c868e582526afd50b548bcfa5ec2e83f901097f01a758f2faad6702cac573f8ee11d83977ca75744f52d650a6dff79bd6c5caf301097f05a87e6f4731da56e8b078bdea4cc3f1fa2059943de95ba404ab38addce3d6db01097f062a78aa9e73bc6da0a8536da8dd43311ccfb52829e89e9e94f3b413efb8ff9301097f04cb8044c471e8cdc896ac725744d1a6942bcb26d50b3641e2a95f57b0e7dddf01097f057d63baf011722f5c5a9c4c60899bd918c3287302c97e91fc6f9f8ba089cb9701097f060de66fa4cc5d53fcd9d027cc06945a96de2f9b4f7d0c81c53a7567fde886dc0191508083828584878689888b8a8d8c8f8f097f0794e6f83556e5ffee6d83daf40a067363b22e157cdd970366757d5d6a02dbc901097f01dcd10514fdded828639c9c21d0c8064647947e9ced01014ba8943b1d81bd1201097f07cf749a9a9177ecfa46b901ce91a8ebe103f8920d83713df80efb7fc886834601097f01ecd644cdd8b92b3c042932407033c073c7da5f3a8726210a443f10af466ff501097f055b74b3af769611aa4c4fc71b1abed4396b218a9d5884844c937bc38b30bf8e01097f04fc4e265c8471510fe6f0dc99d7be1108eab6200b0845dab07c5a126c79919b01097f037edf969a82e9364a741858bfca74b30e86b1b69b4f33bb4a31666f4b2e7c100191508083828584878689888b8a8d8c8f8f097f02a3ca69d295e5e750b4db8367227f9cb347b3693251ba9761a22d411de1c41c01097f07e9f729b710f0fb173b36a6ee9611a9d309a9dc69a776c08dfe63c64c528a4501097f01e2c3057002cdd12b80fb157887fc066b41436bbb71e328bf79ed2799947c4901097e032124f76e477a3c6f5f4346f8abc19cd481b6f43088ccd1c3e8c634bd90cf01097f05007d334256950aba31d4bedb5decc0ba6ab62a09c41baa8ab8d0eb4cdc170d01097f03a06f0e39b3afd46934c41a79a317f220c6321664cbe236ffe1c191ee0b2c8501097f018db208640b40e1acf69b256f0cf86c76f381ee79fa0bbea47fed2c95b5467c0191508083828584878689888b8a8d8c8f8f097ea0c5ba0b916bdf79b70c0d23013443f65bd087aaca62088b0d1f7009dd2d7001097f05dd2afd2e8b09f86360d183e2700f71a4fb5e458c61823ece1a4e60200b82f301097f05b3102b46125dd26f3ae75c22cb8be10a3c98f269a2e91ce7d595d25c77e6aa01097f02c489389378216a8f4a24999efae5d41af3bf123b10601d2efb419999f329e901097f028bb7956a08b64ed0ed089f0219b05b282eb25c107731d88867f7a78c3e387e01097f0450e38572d5b45eba95a4368d52056640cc18213b3065bb7b373a05561cd44f01097f06931414c4f1e51dd287a8273a71ff946d1502d29539815c6652e6b71c95d0130191508083828584878689888b8a8d8c8f8f097f048fdfbe3980d1df8db00fd59b4b529abb0569c82a25c6b23186de11aee23a4001097f0680f30c7e737040028b548f49d2110d8889aa8dec6afe1de989e3f1f0c1c84b01097e8955f2b26c2c91645402ea61e0b3bd091758afa740b4478e3fd2d97b7d572901097f062796f07255aabe16df1ca5ebe7f7be4eb1e9b688defe3044b1fb8eb56765a301097f029f85ec8df7c753f09bd36309e6d7d65f5d5c327d4c80ca33eca932da5eea0c01097f040f21a24062575a80e5a6b6fa209f04178fce24323888c3fc9a083c6cfffe7101097f029eeec3cf3ff9267792e170045fcbc1358ad5b9c28b97db6f4cb5a131dd1e570191508083828584878689888b8a8d8c8f8f097f06d82291b429009057a7d89082c7c3ffeade1cbb4598b6bd1322c2e2d3c6819f01097f078ffe33137f03476882656c458a984b78bfe509d0ed005657860541fdd1650601097f013f6d5bd19a25ef48bb5a89c64894e9351380c31e98fcb8404c490081665acf01097f036d9f7e5746b465ccd284ac21d5cec14258587d22189b4f85ea87f9b4d7c2ef01097f054730884e1c5c7ff5bff889e8e5846f7e552f07beedb27035c0eaebfe67602301097f07344cd22ecc8029fc605bc46e5f2f60c2910130290257210f9db71f26dfbdcf01097f06a60ae65aaae41d02d6ad44360c269051a870c66a87e430eabd1c2c5dd8261f0191508083828584878689888b8a8d8c8f8f097e639a281c19217bb79dde39d86549ffeaa0694283fa876ab39fa6b663869ac901097f048a07a1f3adb4348f65ca07f7e1ad0b70a6024c4934df5724c35f1930befc9001097f0527d59fcf4e21663d7e921cf93b705e95fca41d9d2f88720800586e03bdc28301097f01b07576ead1fa791e38995e423ee788587adb512c1bda749fc0869ac6b40c6b01097f07b59c1f0252efd3b471c3047a2060ccb98cb86148c1b1893af4f86384821b0401097f056e48833c5707aaa1e38a0d644765251c038ac3f89ed4d58fc3b24d03a83e7701097f014d1da51db79b82ff5fc48e18ad84a98b1390d8e61e1580ef5c6100d49da80a0191508083828584878689888b8a8d8c8f8f097f06ade2f8ff114a1c0a0f108286f0f0e820073e7fee989a85fe11a97b972f077e01097f020268b11ea1f54c737a14073b8bd83a6151aa30b0d51182446adc72aa2bef8301097e937368e9df8289ef2d93e806914cc9ac730750d1ecc6ccf6c4aa6e6788d35c01097f0297d16ecee6310efbcf8a2946e1f03e23ce1eaf88fa6279dced371db9dbc29901097f074d40da7c08b8fbd488137dcb60906f2004a26faf06e6ee4dbe1feceb94d98a01097f05669aa7f25c6cefb4a3e1f5491dc50af7c44ca9f8405864906b353c4c3529b601097f04a5077d73c41429dcb66a5557cd392c5e8b64f4f93507e5e7b8f1cbe29a309a0191508083828584878689888b8a8d8c8f8f097f05974550418ba46ba346cb87069b6c17f9a6d57ce7554827c8191072b4ff835701097f06fb7a7f6c760b606b4f7cefa186540604099bd229b954096179a12ccd50e32301097f04fe2139f7019584c7f395a18bfca2f5ea89a9300bf208b9dc73686c76e724d601097f04b45d3cd223171c9e2e8030a3983c2e4b6ed61a560db3a8da8a2bf1da05ae2a01097f0223dbf6f82e6f2b2dce8397a7a6d00c8fe38fdd8463fe7612c1a90bb76a16c901097f013e7cbf6809b1c282b1716db08a549825b9e1f24479288cf615c6557249f67501097f013b2e8b26fec1c97c5fac659532830270b08cc6861df86b3f3b4894175551d90191508083828584878689888b8a8d8c8f8f097f034a45f657061a57b808e337faed21f722e6298262a2df69d6bd34ecf2e2924301097f0372a448e249504e459982c7d114b3c79270419467208096cfa6a96f3e5de75501097e05d62087a11238dba183191a31e686ffea34bd393310e7a2b11c75d63ec34001097f05f25fb2b70ae9e334bd288d6768a7b3b6b2f4672cb671f6b0ebd781134609d301097f01025bf3b6ef4dc8e3637f4dd1cda0ea30ebba8c30ce5638b5f9b5291faa003601097f07d2b1bf76ecca560b7409dee16ead5b2b3691ff75ef8fe5a844306a7e29b25201097e7cb9fc14dc4bbad427efdb3f5821fc9dd10fe8595577e39645ab9f62e6fa500191508083828584878689888b8a8d8c8f8f097f06f61949d4cbc8298879b470d1fa9aec82261a8099c448dfa4379a597ab01d0301097f0336d1ccaccbef10084bc4a18f8c86f699642878a2b5d5af3a3fbe7a773e690401097f0354e8d015485a06adadbf43a6bad63e9330c4070fbf2a704c166e1d278c8d4c01097f045526e767c14a531fbc10f287b2a4203e18daad8a4883a1900a63dccc1a18f601097f0688bfd9b23436077dd139ccf0a7286444429f3a2457ce7e2cc939be2172921e01097f05dd26663ad2931b249bcf054211723be60b5b46de16a61928c0a9326874f3e001097eaeb2689fd195377c86c55bb52ba2ee27c7c5395d8163355a3c04135b43333a0191508083828584878689888b8a8d8c8f8f097f073ce15dc2409ac614aba33d14c4ad294a3a8136eec69e8b34b0b14b92eb240f01097f073a3905fdf4a2f53d66ca4cb99ca729e776ce66d9a474fd71da35b3fa949d3401097f01d60249bd6492637249efa94de232264fa23d62153d7a36e99aaede0be5d84201097f0728595451b9c3918b04e7ce1637804c1df21495ad8f188eb46a5f1796e2e3c101097f05dc73d8837d2fd0c754ecd371e94f0af344396efdb4337a8c7c2a0755838f4601097f07dd917167308b602914680880c9c8c8519f34be930ccafbaca3d126a30c4a4501097f01950cc259cc77027d5c86ea77f51a34cd30ad768676d77a0503f36f797eb4af0191508083828584878689888b8a8d8c8f8f097f04d5df514fa9a8bd7515039e59bea7a1a1381a76f475a7dea23549106a7df8e201097f01d74577e412af12fd886706cdce3c238f2761d096043a084c20d2bd087ad4e601097f07871f7217ff1c7b739678e28908c4222f492ebf866cbcc410148ad1d143de0f01097f059a88072f92b384925c9091497269ba9f8226c24f740e928e410ae0bfb9350e01097f019c90daa3645b62f461545c7c38ce5bf8b5cdad399f417e0abbaf2b2df0ca6401097f053b86dc3cb8ef3d5920ea35c40e2d05496e45245eca4e0d058e2a0e2d583dfb01097ee00c78bcfc271dcc6556cb1cf6501e16d20b188c7412681c0b2ae0f2cbae050191508083828584878689888b8a8d8c8f8f097f036ac6cfd4f2ef6be5b1e83cf9e36e894b2575a8f4690c14484a17c222ec3c0001097f032cad92232ea7886b829887e6ca4ae084800803277076107b1078feb66e95bf01097f038269de0c80a2d8f4bef1d5e76805d1e412fef7b18886279e98c57a0fe6462701097f0217df85b26b6b3bfc67bec919866b6e146621c30685a31e8c93eaa27d5dbaf501097f04ee32b2ff29b0918618f173c4e5dc3b606a1ca2e0eb989257e0bf78dd2e958901097f02d51937feb119772693523625e23756d172e996d1cfb82a258580bd51c15e3301097f07c2468c14a7ea994c89e2e4ddd6d2d624b67a96e7ccec4f27a5e0122531291c0191508083828584878689888b8a8d8c8f8f097f0602aca232b11ad63241b5f401c368acb1e9cfd4e5fc8ae699491d9c51b4db1801097f039c92f0c55d99aa6b082d21129a9402e6b0fe38a639a8140d76ebee9dc4587701097f04fff8b45f7ede0580424c4e2c75213c4c42ec6c68266c8d5d750a2863bd474a01097f03ba2c93d59d6a361b9ac28d93e54d775b040bd7fca9ac72339ea4388c533dda01097f06d567c1dbb663fb2fd92140cf66ea33a19cda580d18c10fe56a62e5bd3f47b101097f02781266a2070c9d3f045010a32c98ce3e0765446e3ee20eacd73a0dc0c7c2c201097f07dcfd5001e21e030b006d54c7fe0f7ca97a2c18d4e00ba92c005705a4f0563d0191508083828584878689888b8a8d8c8f8f097f02fe4c112d7bfd4ad5f81ecdc4b30cf73aa51df4e4ba6d255a0e3eee283aff4601097f02433d40f2b8f9461b5368cb396f7604999a735414d3537ed6f1451f1fe93cb301097f072f959288185bd36ca4e23472ed7a2577f8e5f0ef0c0d5df6f63e60f40ba30701097f04c5592288cc342232d76c80e858c08ecbfde64b747637ccc9a2734e90f8526401097f048ed57151b6dc68b039dc327f79bc2c26db62ff957809c5538360facc04d9c301097f05ebd9b268cc66bb85a5e67a6b9d5fdbeba8b3672491068ef43b688a3a043a3301097edf6c1013f3076e6044f0a7032e0bf80833f3c7d9eb0c3eb1f3c2a37314d19a0191508083828584878689888b8a8d8c8f8f097f05f0cb66613216a1339c1cd15239b7f03c1d4b9098a931f65ae50b877f86188001097f05d5fbd560f7bf1e97190f888fa43b32db1e8070f046d6016b536b94d1473a5701097f033381003a653f0327cbdd8a11252ffe714e1061ee214329cb99e667c835af9701097f07b86849a979796096f7d7b46eebaf00913a082c638c5b2bfdedbcd78c48027201097f05f27bcacc10845ad41cb26244112faa8b91d46d97024445f50ced796ac5a93e01097f031cdca47c96b32e99077a96aa5cd73ec9c4da04212667805c82dff3e498f4ed01097f066a032c182ae70dd4487897d0c79dd860a25d21c61e3aeef8b9fa45349dee890191508083828584878689888b8a8d8c8f8f097f0148523eabde5554538a1114351f3d8730d4a4d003311c7b57ce9e709afeeca501097f062ea67803c421a4bbdc672d556bca219fd24e7145cb3e9113a625eeb445925401097f02c2c70075ac99cfe68a7354ed29842c5207bbdbd09dbbd225ea93d0c07fd9f601097f048b0cc6241c99407bb346db57db9cf82b2e66d1fcc1d756889a4f4b4bb8b39601097f0506f990d7037060dea08ed53c5b17483ca8a7c58f94ba5e64fae258be4c78ed01097f0777be5852ea7798899d4750e9decd1430bdad6a8b0d1827a7a89ce6f1afd89a01097f0689fb22cd95d6f1868a4e3cd6ef1bba9f974931f76153e73038ff5ae7d090180191508083828584878689888b8a8d8c8f8f097f0560fef0ed77bc94e16b9d9a21bec0ceadf81b26fe683b9c74b31e2d72a4c92e01097f028c74f03f409c942d16a773fde01b3f0bec544b42c1d46944db6253561e1ac201097f04d62e1ef04cb039a58dd8cb8c37dceb78b10fd84bbec6302c964b899a957d0201097e44094c265809e3d5765071826547999dce8ba7058a7c1b1301294d8291949c01097f04e0f90743d3df3d3c4aeb80e7f6db457620430ff28475c6194c757f81927dc501097f02cde734d2a82619ba69ca4f5ca5035f699a1e34b47560d761780546c9b04d4401097ef09069dc6a2745587b447ae03ebd6524aa9757f1090a92dc5e7ce8db8481950191508083828584878689888b8a8d8c8f8f097f05522f48902001bf41de34be900783ac957fd867cca0f35666ca491ea89d8fb301097f05b4be8af83915fd955ba32de729f6f2aef6c76501d82ee325d72d620bce8b7b01097f078e74ffaf944c363f3fc42cedaea8a9a450ebaac98bf1327590a11e064bd76a01097f06ade7c482d201c23145e3890086b22ab0d43495f5c83b1672316c10ca52af0b01097f079c066efe4c22c6e9e097e84401e183d3c45c645d986ed640a8faf8fd4dd09601097f021d59ca7451d83d78ab4d9d17a662367ac84b555866ae92d036d71de22872bf01097f06d100d3db14939bb442e5f5ce6a05939f201837007331536440a57c2bf2b6090191508083828584878689888b8a8d8c8f8f097f07e5bc177982061f124cbe521c713c24438aa021fe6928d82452e44f6cdcd63101097f0179e4b1e4817460085d47376a1971fdcb0287408cc7d11fb62cc3785772249c01097f02a7cd1fb12f896bff4d3db49ee74a51e970e3e386c2c8e7622412a6156a300d01097f03c5581c15733dcc4d548aa0a6e648e075e9be412680a76a556f91ae5f01e44e01097f04a4eb8f57c99e931a666de76c20173adcde82ff59fd8ecaf8b8c05e29b63fc901097f058fa31f9a4a7e8b238898eb1296ec55e3e2000a48a2edc8e65d260d31bfd7bf01097f02c37f85ac7b1aab52ce3d28bfc65c65b7d4ffd000757c07fc493d183b7bb5820191508083828584878689888b8a8d8c8f8f097f0461b788a24347588e4f8d4f2d66640f31d6b580223a21919ccef9480987db1f01097f047c3222376f8f18dc6e82eebaab03fcf4c425acd901a7bf9841a3aba54b82a601097ebece573771924d045b75bb992a87b26ab067a0f2dba4d1a9efbe502996353301097f067c2a0e19b59921666716fe2b3f9c7f59c4da17d993956eb87eece7ef54226901097e8940bc9dc45fd06ce4046337963c849324bbe5f82632b94972c0ccb205480d01097f038bff358ccfd92418537a9b9858df499d2c44404c1886b109edb14c897e74fa01097f0533a5a2ebd098297604e96118f2007ddd12af50edd525e9e5a0b154e620b2e5019150808383097e312411292b7fe7eee015fcfaab65b611bc2b9f9498489fc3c1452862902bbf019150808281614b1f57fe5b06939250505056fea26469706673582212202adb55b6fe5bf87791a94d501cad363712b9ee62dd4797913d226ae4cf24e10264736f6c634300060b00330605581e0397a7c2937d49e3ca5a44a80ffc20a44aa4c0093c72db019c142f4d74900701194b5d03ff9064282ddedd31f442e916280b8b7306aeabe01cad53a5e39b5049efbb4b5c05581e03ef20450a21f8aa24c88795d3a4d0b698af82567b613af31385506e48c00c01463ae6293437680219e67b03dca4fb9db6ade13aa82a05a1834c9f9f6ccd0c064b95984f30aaa250f6f440e403dfceb231f89891bbf545fe23bc4d9dc469bc449ecc8fb302ace7432e703050b603caab73a599c36a5444264d8ec2cbc7fb3e571307ae493ed6f18a49efece2aca303877e22a49ed14f0d5e6a13e76445905addb3f3918e0a156cfa24b5df123702de03d1df4a0179b1d9dfa70825126c321c40e5a0aea7741498afda875ca9acad66c10219ffff03f3e48c4512c6caec847de50bc637e4bf29875d656f38a9d5634f36c67a6cf3ce03c78dfb2e48b16ee00dcbca0aadb994792906f71f1ce8d9f9fd4b681e52f2912d03078db1e9e58cf517de1792c258b2ec64eed1544adf143984e179f764bc8f3f5e03eda0ae098f1f4bd5659b6052699912521d349995ccf84653d9cbd04cba1c72ec0359f174544dabb97c783beb8b74c5f2555a9bac55480fa2069215cdfc82232f9c0338018274e1b2dbe42863a7194fc60fc8cd962e4956febda866b5902b471ad36e03884295f27ac28c4677a62f231bc46f0207ed0b98d115d17ab837ad8bc34aa3c503bd55d3d1f1a23e725bfa90ec412617886368c01672cf801f5d393057d8c59a0203055fe7db0306ceb22a198f6c6b8000160e5a9b1d317fcd99e0e5a5eb4df260f203f0175308827973a3c7ec36e831b29dd5cfee321f370b8ff83d48e3066e523e410329fe99733b52ceafe76163629eaac961e9fde55a37194c3c2d60e3ef21cdd82603bf906a79aecb583f69476252a682c2166a5517a8980df173f1b65e1d4442b36b0219ffff031d5a77c40a2abdb00e39c1c544899b73ed20fa4d67dbe0e73af0d6d181ebdbd90397b71c7ec4eec61940af3892785b458f8a6f10250821850eebcc8b9a6e0bd4c90392338629f42895aac5a340e7cd7a898a17ec4ded02f958a855bcd1763613cf4b0219ffff0345fa196f2f7592647ad1e6508cfeb079734c11bbc275396286f3b523908543b6035efb5e780cd23d8f8da6d466952ff82aec2257fc071f4352953797f525e8a30b0394fa16d2ea637bc3ccdab8df48b0e6f9123cce41e80c14c7de89f0bb8c65eaf103a41355cb39c8376302324c024aefba9ef8b5ead39646101fd5c60f8c9f2c4d3903c004062dcbcfcad37dcabca738ecbe2c2d1609bc6ef19c85267027ea55ed4313039cf5b7994ebc5ff239e9c85994e72c0fb23ed50e51f1668954f63830b0aa49bc0316c9ad9dcbfbc5c01ad46febf47b4b60cbc27d87898c727fdf1eb24358f55b6203baeb95ebf6d133c39fbd04b23820b53f159a6f84d3aa5839250f6bfab21081e9036a77baf5d0e954e07c3ff3e1c528400704e66de211cdbd68d243b5bdb515b1cd03769490b59596e2051418fbf4e020e00850009e2d38b0f0b86b599302e8e212bc03b58518fe66b1b4da7012e3787786ac85876e4cb103e92b8a66b5ebd0752d0eb803ccc9a0ebcbc0c7efcc8295bbf3e04f0f0cf0da3ea18d2eb56950b560fcd541260219ffff03e9640e5e9731e4e929d27d9245d3c0450f1c94af6c53fa216f2832433ab91f0603a83cdc24e0724e655b5f9ffaf4c8011cc8c049c3137688c2cab6b8f50591388903a28348b7685af1e036000b45c7bc4980183527da1a6fb6d036b56fa3f490ede1032d4a3d16da199c02eb12492b1508ac41b8bf273a368b7a22831f9add50bc7ac803bdbaed74ec799f123191a830736d059a2b547d29db28b7477c4d5b8512ed6ad10309473b5ec24ed2ba18d098cd4ab38c464f02e6817655bfb21af1ad68b7b5689a0370d9757441cbb509c6ba3c70bda173fd11a5df424f1bcea715e386eec380c9f40368b38dd3e6519d1f9cade61b1887d932f6a7d5216c4aeaea1271283fade862e2039484e05afcd10a7cc0f6a5a0df6586e2e103e2166cf7a6d57f8172d030f00ec0033f4592162a636c820d494f5c91a79e10a5ebbfd41f5c1f09737d075e81c3494d03d38d8c174c0a34a075aa3ec417a170aa555b43f76c865e19c3b83268ec413cf40398399a6ab6b93dd6283d6a1373c4d3fcd78d191a5dca24ac6a1b4512e6611ffa03d8500c3d79196ef6b9629fc6397c8658a5f1ed9a6a0eb85e4bec6305ce6820dd03aa1a450e04ddd7aa382b37b879441e962d1a5a04bb820abc418e4064198b963503eb6514b49a0d52f3e63efb65ba79fabe8fe76efd49b2f1ea63ad7840f62c580703a1bacb659a216b9e90ba57fe21dbe6ec4dd36c73c012178c474457bada9e2bb003c850eaed58f61bb322dd53808721c84b6ad143cfea0716f692e0a371ee5ab441036de064518a7b880f14801f0bc87cdaf4a7a7b163fe9a75603eef62dcffa29ccd03dff7037f27819f4f29ef1c7ae734fa31df30c57bff2c37b3e243d350540d484403cd50c61c2422501b2cfed89c6bb21c6aeaf13e18f8bd3f3b348040daacda30e803ef1f8ca7145057e286ae092c8ef0399617e26018a5047ef5d1bc653d24397ddf036d02d497fb4b12b76794d518f99393f9f3257383eb68395cb884548fd45111a6037bcb923051452b83fa29adba5f250e8d32a97c43e28928e577edeeb8a9aebd30032b25eb548edd580a629e0b98cea8613424197b33332e93715a65b35cbd69c2ba03e6bdadb48aa87cf3105551a0f7ebee50f114b3a9738938f4b79087469d33a09e039dfe38c6272f9247242e8a618037c45b52e937a9047296a2e76f46a6abb0c57e03b6a562fe2726d44cdf2b8ccc6b2bb6bbca26f9cdab48063016022dabbbdd3c6c03cba6dfff6f0403f9e61801703f2575691b5dcd272f14d8995ec0b006efacdb57038a853f02baf7808712065b11fd4d8b7de09b60b8e159e248c9172eec197e25d80318698e890445bb7ea2daff25a6a75ab246d54ae9d612139d7f07296a04db76a603143f5d81bee02f0178722b484317f63ef81c112340b8119350e74cd9d176025d03d6f8584e3eb56805d7cff625399d6a382c37b5c0bdcfb4fc73b2c9becbd2d0680356785bd65e9b84a4cda6c645f1bd7e357269fa24883fbe31fe14ae45a58d06fe03cbd377f7f2fb7a2bb8ae60d2f3bf704677000f1db23c014524ffcc74484253070605581e03a16f243965f794ed19c9b5814d4c3a90f19cea4bf7cfe3f3781fd4fac007011bffffffffffffffff05581e03c761a2603ab79d75f7fb8aebe110b0f4781d08c5d4d0d259f4efd5af1004010459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d381565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d38d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d38b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d3908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d39087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000008107fca5494375fc743a9fc4d4844353a1af3d941614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d31693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03f425de9f50a92158dd5ed63265c871f73dc8bc3e0a9bde321c87a80aa7b9ea8003589d9a219b3c8ccad05a4280ae864a56346b6785fc743562b910acd96a5d21b40373743cb7c2d31f332d25c4547f49f0cf9a23b5c34250c91355114d45ce543b1d035b182e8386386d47cdca1e8b91e574f1f77ef99d5bbd6c57ec810e45409a7e09032ca97c0414273753ab15794706b6659d3acfbb73a41215d7a1cd8f0edd2e31a7033cb31eb5c3f7d9e44106b1659c273741103ac4df61b8234cd518a81a3941081203237dcd76ade6508ddccf28f9be40f395a0afdbb1fbecc326fe9f56539392b33e03733cf40116bcfd27606edb617c3d4939349ab6765c9ee9afe70ee48a93e45710039f82d0192bdc283fdd2a2d1895479851205efcca4b502af52bb9d9b179d1eebf03510a9b679bbec18f624e489567d4add6eeb1da3a53c6204e053f11461b2934e0033704acea5ac870fa3fa72f40f69df2774dbdc46c63dc9dd601075a55c928e08e00582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000fde73a0000000000000000004408dfbcd3b8c8c9f1c2dd03e261fd0525e6b1ef2c06c5a18e7755c09b4dc344dc769beee5bee6d6877cb07500582003f1fb135900d342b08c23f6fef21d18df0b9ad10bd15e97bfefb772ac75abe05820ffffffffffffff57d13f8089c77545d900000000000000a82ec07f76388aba270058200317847a80b5ca817220fb4dce0b1d7ba58bc80011b7d2f1439e307028f4fe104e72a4093ea6fd0a3d9cb5c479a08400582003bbcf1327c7a8583314505d3c1fc8c7bfc9c4709fb85bc9cd7aca888dea9aa05820fffffffffffffffffffffffffffffffffffbfb3dde9f76b5bc4e03716b54719e0219560103ca3ef07a31c7d02060dee9f591ee9bd4f4eae13c251a7e506dccb0451e17fc7d030c17d8a850786b99c7f74994c1dacaae2418d9ac2d1e9efac9f39e8e68b1fe3603b01cb4dc5cd5a8ec9c36038cf960a53c33ae862c0a1fb66f25c34be12d3457f1030cf85763b7fb9b184ee1172a3f5c6e90f9f56395ff6e43c8900e6580b2292c160360ec3cc4f0e0453c1554610db1cc8867f6e92195e0ea49109a035e8c64efc20e0329e51bf60f124f6872f69ab70d6f8ea4528b1ef2801d36021fd0da57f9fab9e60219ffff03bf1c76b0fa32cf78e0a76aa26e885812002f4fc56f78d3543b4a3496a7116998005820034cbd664d0d291fd7ae25119a34802130cc37b97722a2ebb1feb107b4ca9c20516442b510261006cac385e56acde826742f005820039627f4bd64381fa32998e2cd0dce227d6c23cbf225613a8567219fb23454305110f10bb129ae05278e3f90855d0e55f33d00581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4f16f9da8268b9e7b1ba8460a9e2344700581f02d218b8f0ecf0658414cebcc7d86d108cf292282340a7322f8c0d6e778e53511bc8aa865fff3b5e10ea1a5480e70187c2021902800058200329019abbff510f3cb61e706a2a33237aa5ba8a17b92c4c7ff6a27a015947404e98c5a54aed281c2e4a428c4905310058200359c9bda206defa413c73c3736a85b8732297ee0774debaffe943be1eaab76051138282890ce888a681bbc9819c5354d9460219052a038c9f37d05d3025a0a06719dac6e1cd1765d95c4c79690b8a030afb1630103b5e031ef713575612abd816e8798ad885980dbc8c4db66343d64376cd1deed7bd412d03dbd8e801d3ea15a507dba8d34605e2c510a872a4d4846f24f2ccdee891cf59bf032f1e0fd218904396100d315a41689dad6bc238bf39590475d61c4c1df2b17cea038d1348df3581931c51465f3da04042caf1b4ee9a8aa4a03b4788ad24cfb6e63303467ff2763c47e1828d8e9a844bff46277974a7bbd5e7e78fef6abf7ad08ec11003c66d611183053bb899b55b06106e36484abfcc05f7aa1e3637b56273ff313c2c032c5c38736fe2b6373b69d49f8f89901a4ec8bbb22acefc8900ef83e0dd6cda1b035308663bbf215680d97d6433012af9f62faf9709621ee2237988a369372b877f0375d2af821c2afeae9ad2df1559889ad20a6066b81f3957fc8e241b40f4008b5600582002e94ff9a88c0c287eea087d09c62b9aa289f6ba4ea452679df4934cfae7a02c4f01a78331224e28569c8e337b62718803cec990c0cc785460b686f10807913439f8a7c4e82b71b74f7845ab8cec922437036ede019aec96e891231f4a8a6a2bcddba58d8af1787896a1e0fc1df6a329336803bdd59a55e9e7efa1e1f23397eb7df444c258409198b82862b5dced8af5e082e2038a0b5f2a34a2750c778e105e5e242b85faf4a1f7177e70c94d3a5a3475e277b30219ffff03cc6eb628d2502979fe919a35382722b2539eeabd87848f16c75d4dce4fac4d5d036a031d23c04fa9d6ba4b1c483546fca2cabb30fbb05ddb2b737c0471cbdd65cf005820032ba1eb452ea76adf8a9d3dbf9a69202b9ebd7e4f7ff99d59299422b0755980581e0140008040055932141708aa1014830010384486c61073073c446bb31e960058200366f58d7ad72c104651b9b261223ace48bc0760a3f93a4c8da95a31826d51904f0177c0fdb1783f8816e9bf58126f6800582003397730e4fcf35a0aee00dbebf71279bf6e58ef02af7339052f306c59b078304f0223efbfa39cae99dfe1880e91dfd50058200362dc1ebfd2d6cc69b568b7c18cc2ba06736c2db06aed01b7b98fa4b24a803058200100000000000000000000000000000000000000000000000000000000000000033581300a9e9b8f4cf64ca9ffd1fa25f63b28d4df7ef90230ed2f9db03762e15f00582003e48ec466b09f03fced239fef11a3fa4e165ea1cb2795c78d57a561ab1fb3605820ffffffffffffffde86bca079f787400e000000000000002179435f860878bff2005820034d4b4256fd2fcabcedd2233b504688a4ec93885aae607d8d55fca5d467e7105820fffffffffffffffffffffffffffffffffffef71baa48ff049495d8851e72ab9002194d25033a6c45670f45eef26bc04f8f76f9b02491bdca82ba949a8e2a3b1c6cd886426e03c96581355cc173024d1d2880caf73b8d4d307677728bde58873848cfe678b9ea0361f02e9a1b0c8e9a3ce1fa524f21f23080fba8dfb969bebce7ee456d5997be610357daca2d9520c9ff84381d10d7aeac658481297cd9bd4bcd0f8c9d844c1fb98003a56121e4df81fe320c85513a69b033baf211dcfce67d285ab546e432ad6b47a0032a5b3532cba66b79805665108aa9a5034b542d7589b71873ed6ddb2ba6038d42035dfef3c357d1d04b1f05a6161ef2df45000e2d815be369d967af08709481ede5031e0f3a1e140bf00c5f952f8e2075a81092c131085a699956ae4f28ff76d782cb030024468627f4f9dcedde55f4aa1e3960588646bbd9bd5feb27e08cf5808894ca032115467361d72a32f32882be9c427cafc05197c9b87992cb760074ef05defeec038f1255af8c237b162d15c345517d52cddece63a9a13236169d1ccdee84e8061203b6adac5c3a9fd54c9b165c8b8a90ecac59794d1150f1ae3b29c1e02189829b4503ff5d2fc5d39ea0130174b330c02c9a957a49f0623a90eb889112aadf9be679df036e1b3ea083d02baa6bc089f98d51ab11d34229aea469b09dea19606fdad403520338f64bcefe5f0a35bb9a644332841f4f00b596d4c1e779792f815d05b9871d430219ffff03380c8ddef5c13cb88b59a0352caae14b1bcb02656db943670e382dc3a2e7efd803578f53a3900d61e09520fb31c5ceacd4b939bb8e2648e1043ad8a0cee251f2c7030aceef9472123408eeb35cc75bd716575c86aa114345db615c87546abeb94a2c033202f30b7be0da29f6bba4a9b882562f94fc58a4394e53b8c6bcb2135c43d27a038d4942272a6f769a1ccfe62121b0839a2eb3c1844af0eaf73deda0bc2ed85d5d03a193e9a1777b462eaae8be17a7507dcb4e9c246be6255c786f75b85ae6dd5751039b72e9259e85d8e7a79de877b97f640693ed08a2b01c09e1417a02ff245a8fdb033ea6f65abb19704d3f45ac34664e78df3158f498085eba1446a530d463776140031c6038f963cbcc793d2dabce6bca912efe3ef96e261d84d8848c34ec26e8574f037db2e4d366279559e7afd9a764a49038d34e3aafb22526de36c95824795650a100582003cd84a175c14c96e8afe0d82d2098fd7578b1d4a8a80155b0c7b646472a6aa0496a00e5c0dcabfbd509005820038d4f5e3568211a0f4af2ba1739583fc1ca22cfcd07da1b7307b07b782690704e1f68e060dfe09dbf4f4b5e6eae4d005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a5265d1bb74079ffe19b40058200351398a75bec25584da9694f75bd2c0e0692c3cea922b068b89d79d730317204e0a038986c8c3f55c291d422ba35f005820035b2094f0cfd784f6386eddce98a4a6f0ea4c73c7314fd6255d9a324e13bda04e1bfaa239a9b69a938f83c17a5ddd00582003708e932046cb36080e1a63452f54562b5fe3bed3853c4006b60d89ffdae1d05820ffffffffffffffffffffffffffffffffffff2d6a98a38f94d9935da4d03c4b22005820036c1a93ec1813ba29567356136c70d0e9b55e71687a403ba36b160c9cc64b004a04c3c33cb6ea6a2d5d730219560d036bce64f3741e187b047eb6f716535d3daadff6bd5cbf41d59503543a1051db6103be784e950cf2c0c750bbb1740bd653a96a50279f901e1e5b83d02872b1a3ecbb03c9add3cf86eb991a5f05a1a6d6952ad614c5fc2b269649ce03b0f0a70d8b9a4a03e086ca4f30f7e6c3c640e7e7f007d73628ec7599f9da2bbef15b02bc52afdaa1039a6e834e10cc10cdbc7dcac40d4c86fa39ef79c00f4d099408b08e200dff52c50219ffff03114c5e440985e9734176d2e73029db627bcca86f5beef311a9d54584f5e858f00364c732d6826c0f156ecbb4f89fa490b7cdbfe251d54aec9fb7712d32cb93651a03c1dbf2bbc7b05528090d0d2586b7b170e01e30fce9ff9b890fd8c59d9ac2eec20319901082ae50ea37c0981adbdac1c567ba2718d462f2f73c33b42c266221c89d034f7d3a6d94086253b9c5b5991711b01aafa853e8f8c68bacb5be51c9996cdafd032f4ec58d1f4e7aead9666ae1b6812425d8629ba9bc6ee8036dc3dd7916d8c71603628cc2f7db6411e56d117f4b6e9f716ae15533560413997f9eb0f338dee1c719037f6806cf982ee6cc304802ca4c11c4b3c667907afa12f63cf44104ca8910fa5503ed9f36e51139d4ebd4d34d15af2fd22ad6e2decd0565a20da678d6489c55512200582003533742c1b1f2c3364007881d8e16b7d98c233190af8bb8f3eb858e08a2a6e04f010a92270202ae23b12583bc44ac6a00582003067edd4f22f673808a8f0c117ce914bd1bf719da3fc5ff9d00e5175580acf058192392101027f87643c6000000000000002392101027f87643c600582003d2148d9dfeb2a8a8c3b8336b863532a505b399d764de7908864ff97743826051019c235ba24d1b045bed1e0cde8f9fbc06005820036f2f095a84ef5da2fdcb678d999946d133be99fbbc2c59f6549e6183d2e4f0510182d5cdc3c49acf2fddb4a47e750a7c61005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058200100041814000000000095602cd00a54d089fe58e5fffab65a9c02f86687db2f0219c32003fb721dcbabfb137a14dfc7fba776714597d4493453024825e789860d73f3d51403355674fad0b922687aa6d6a60481b57f29dc858bacf7491eed6d9515f0b5d9f803382aa6c04ff938c84c95c034d88063f4d4c4d7665af4c5f7279cff0aa31974f803eaec7e96fb52e0271b8924336445d3d597270e86348d246e516a3a862e88411c033ca75c883e3ad1731a52736fd38d2c69770b3457b3882845c36e1f9a3cad8e54037c35e390ea02187c9cdcbe7a4b7098e893757168704fb37de023209d1f30a41803a71ae13318cbc6d972df22f291cb4712014610c86937f3755b0074d0ce4304df034d6326af560727bcb387682acb9c6e3c69dec725467e35739fe8f486808069ec0324c844a6c5ccf317928f4f1f7703179579952d8854d2feb3830894ab74f4a4dd03e5b6bc251fcc7f42acfc4dcd7f4d7d6485e75d87f54e6c31e7cb202f6cf3c684036b93b4e1efafa12f9d476f76d76af4a4208d3ab29a100253388edb392150d4b103320bac64792840571230d0493d9b238031457eb1313871296209c7c9065f98560219ffff0219ffff05581e035a1359138e424d999e2f16164c03a729a76e449b85ec51e8968ee87f30070119567e03c6e35d627c24e911457cc16aebcc49ac56d83da3ee8bbbfb308f0bb16313778d05581e03f91085051f253d05c073066139e1cf6e5f87a4ef60dacb2299f0d6bf40084801462f97778d740003f793a01113579bd1baa958c2d0ef01dbd705afa1166e35c2187fb76ac26b654a037cde974d594775b9ec14dddd96a7f798e99a41491996b446a9eb18c9bab4fece0219c16603f2597af1008d197894e10f9a5950eb4e2ae522bdcbfdc8208779610a3683d07103e4e92c36cf37505df0aa71ea64c2c97f44dcf638d95e74eb0f34d632c225758f037259d6e6a74da86d606568e2b08b55d69fd5fd5cd2ccdb5778e2ebe5565a12f303a43cbcb084aa8b89812114b90c0eadf3c4b78431a24a15858027f7bd6f0f6a55035b080c5cdcff79f20cc451e73f45caacb3709f118002c4e77c187752ab4815e803989d271c3c2c1745e5c8a5049feefd73243c9fd165986f7b8e5667e5648605440309e60e56fcd3af51c7aa3d15307d28680ad49e72bbc1a736f55cbc16f15adb8d0348727185a7f57a2413755f6b29453f99f6789156f4536feff3822d0004a1d62603887821b6fd43fe7b1a64daf63c97e724a6502d55b50c8c42bfe680ebd73bde6d0219ffff033673845c60ac7a4d1fccdca227ac8b6f0713f7e908927513c847e536e76ad5ce0366889b4b54b5dc3b2adad861a15413b4f4ba0c242a00388522bd8872b30ecb250391babbeec976e1bb5e1f952758a4d8b2abeb1004123db3a94d9632dec5053d420388536b26d2a608e56621a5fdc0ef5a6873e37e05e659315ffa2653b19bc1db9103294271729b518ff7a322cc8eb2197c260776c9ec5bb89aec45cc1b07e6a237cc037428134d89efe9468b9fe0787a2f3a7aa538b0447037569ae0d52bfd32b5e738035fe5cf660fcea2ec6079a64f74f4d19344e1016dcf9c36bb56d051ed52abcb390385f9339ac5d2f41fc48f0e31c2df2d289d9924185458cff2c8eaf6d2d37300af0219ffff03fa2db3c136d90ebbe3ea8261085815f10b151d5b0c76393dfdbe96e5dbc7c1e70219ffff03befcad9547d4df99a03a1638a079839fdac0f73d746fd4de5fec3ba17f06ca6e03729c3560e817b535d64f7cada9d065db2456706f2cd329c76722e9c2b6c53c6f0395ca6d89ee77559b18915701372cd9816059a46bae19370cafed60f876a507700386e86bc12623f79b4e0879323c6b8cc0e872eca8c49ed3dc7f719e528ad31d7a036dcabcbcbb5cb3e681f49199b5624ad1cf3434342513ea7ff676bb2e441c19e90329c2ae6de047d809fdb3819a7e7cbc87ad37f3d21761efc7e7a084c785f1aac203e4ae393f98380cfb7671219a229c442358a88eb0de2530d1deb1ac8a6428873503871201f99d433c0934f4702c3fe01bd3b83cdf39570cd1a6cbd189fd68f8cd82033098abd999e4681ac42b4e1d1123ced3855747a1203057a8f2ff81af97eb8bff03fa0e512b4676e960c49cafe6f2530f7623cc8056fcd4648a3310e8a565a03909037afdd5b9caadee7c4b875554a193ca791ef4d61f3099326ecbbcc10bd36c4815035dba4259a8955757fb1557a70dc024a4298723fe8aca856cf9dcce36ccc4087b03f2056093a757a262acc65422bc2c3627c7131cf27985547cd42193255b7358810336fc7436f9185fab21e7ca7908f7f40ff88bd19af135990513b68703773c0009037e2550bde0001b7fa7385450068c9a4464e23aed90c67c07ac75819decb1d19203870ba1cfa21e68f951d564ce487a821e5226709d0cddbbfa384432dcace0d67603979120ad05c55ee32ef52ab02b9ec7fadf83788ab4ef47548ec97e8805336db003ba5f4603d6bfe16faf754ac7e482a2ca2a8da63a105f43c25081dd8fcd67654c03efa87d4436cb68373188f18abd42b05cb88c5b07160f72e96efc8093d3ec84f003d17cf2aa5dcc2d3c90dd22b2d0de3ab8e11c80e33fcaf1af4494fdad6923ae330301f51983ca945108403b20bea58108cc26142a5361139d8a74152bf8223726c203c092af4149f9a24e945a524deecd7aee718a0a23ae09fee82cd436a0471cf472033fcf6cb928aa91e63efd74179b94341e7934a1c7ba8764c7067e90f0858f5fbc03b072e079d87199176015290f09ddf3ffe9bf1b19f04877532cfc39f5dfd7083a03abf4dd3bc7c9549a085301bb59bc5f8f634abca2406f56c7bf06dca8b659d23c03ee8dbeccb46c37380e1a9814266046f64ce4041d4042561b470adb8f1bb2ae6805581d02477ae096f27b703ff2e9b508fb8a0b5754223f6feafd80eef766ba59040105581d02336c2c0d724dc6258cba1a754fc991fac4f91130e5848fb8e4fdc6490c1836470821d94f62df210219210005581e03d28a690e9e24bd3f84fe1f5bb66a18e511a9ed993f6614bae48e7274e00c0b4502540be41003148fc8ce20249a5c2b783185653893e770c8bba0857b1f600ec6fdc4280537c005581e0382ec57f08a2030cc295107ea6e94d711d1b43eba21b671f40b9fedf0f00c034805ce3c89af20eb8805581e0317571a34d39ee9c045a4f35c36c17b12efddaee31924b6adf12fd634b00c04470303e9aef0a560032119bb6108880931c3c6b17660baf75966bf419510133aeff15e9b2750c11fc2021992250332c238654f12fbe83bf12a9ef23fa4d81968f519707c4243c12721f7433e86c8036e2d79969050e916f0470b516d73a17037d193c75efe210297ad58682ec19788039631c4bde94deb08609dcdf257f11d4f3a2464b31ca9ce73b85d886c7343b3cf03fd1fccb981a12ffb75946364b65bba4d12a1930825bd2d5b6cd2b8774d7ea49a03c93f80fc29bafa6671e58f31a166e5eac53bb5a4c6e97730bfcbb565fcde221003153a3ad72cffe6798fd2b4163d40649f1e684e2eee4ff79e8b77f23b75edd40703c066d5a888b2d95fea2e730ae4547a4864c4bda60c7de40d225bfb6f69681a8203ec1bed7592fcd45c6560a137b06bfeac4c933a4b1fe06bf7d753d0e50dda13c3033949c4761c30c55b92cb81c01770bf9bc88d020360d17387bbea828940277cb603a1dfc29a9addc502e599bd205c830b5cb72ed67c9a7a2413445678550f1c587a0361dfe30831d1ca0de6613c7e61b62e92fc2ab94201af667524c2ecf22c0d6caf03727a70261bf5f03e4cc97e15bbc1c22607e050fe8e02b7a5485d9955e01042890219ffff03ffdef7e00189c52c90d5a248a548b50ab3079a77af356e7ad931b98d565afa2803f807f9bb52890d11b9bb28eedadd42ac513b27636bacee0d7e73554bfb102dbb038c595efe46517d45225d4b96994ac55f400f329e5ee6ee72a49bfd39244bb882038cb87d0763c7a4c3e2b9b20347c7447f51bd90289698b9bfd38a7ad1a704680c03e2f8c1ea06af5f37ea6ad1764679bf6516b58dc82975e829fe801181bb29457203e17a1f3525640a8fe8d78f65e5851ee5b047242dd25836247cd72519d30879e903713d91afff2e703ef54ebd5f91bae4976fed7f70e480fa7bba56373ddf94eb4f03550e19291092b039c96fd785d71538305ae8faaf05801f35a45a31082e05aa6a034ab272e1b427195f6296df79ed223ee14e59bf8dd340327e56cba96a5dcac45a03a11ef37366cf4aaed00f2066d335d77b518b35ba4f7d62006edd30d22dca87a003c830d1e05bd7acb074ea5e794e48766fd9dd0f7b6b64df0b288b2fc26ca3cd3b0315f20b212daffdbc944151fefab8d9c187a47b60b8b34c46280bf6f611a9ae050219ffff0219ffff039f7d318bbc5c57894bde09b8723cea0ecdd9c05fc38a1881b13f742ff9aca79403c2206de310c6fcb9d60213b230a930f58e6169014ec44b3f58e8e3b2e129a8c803808fe357f87be2f83f1b18ff088e2898ab1574a49b6172ffdf4f4d257840b7a20310b1bd415dd2e61aac5e2a90cd5a7085e3a9079ab09fa7068dbb6bbdc3013ed50315180bf6ccf5463462a0bd0f6b05082f08afbe62b61a6e4d03cce982fc16525a031ee99320a4817fa8baeca851209a1602772535c5871b9365db4a90d57f0ddfb703f6815c6671fa711a0aa91d778d52c329d99190c9ae2e26a422ebda64b0dfff660319bc0b5715400df51ed6d07066ace03e096ce396433bc2cc55262d1341e7d04f033d717d36b252b929d9f6bde6a4fa30ca99756b7f73956bd1c08cd02f96f3d5da03eaee3645508225f9efcda3bdfb897140db102a1d0cdfdee9efe734bc8d2bb987033bae19fbaa4647101367d6858a5981b975e1f34a9ff7ea45224bd88e9f789e180312670e8d3e4ba0a9d5e3e628eb9d33e2d77f255a90190c625d6ab9cd812ed11803119c42861b701749768264578d9314d77d62ca21f103f16b7b0c5f3c29a67ec003a06e378860f1736d3e013b76ca54253885215cd220a7b8387db08d9690dd816103f49b3e42ee4a83c2a18835257af481c4e3490ea91ad473a72281c7db0332f46a0375ae643de4b957a41913bb451280cbc26ea4d8b42c24b8bd3b7bde3eb69038650351b9ad032b888690715d212b63a5fbc15f97f2b5736864a252620ffd1a5648ab0309ada4c03f49fcfcf5d75fa6f2634ec59834f5333469e350ba82fac7d1d32aae032ba8e04eccf182eca6442e659a3fdc447b46bb53b0ca8ed31fd90b6f564d296a03d83611728f483775e785b5da2a92b6238965dcb2879454497093a6cca59098d1031a4312ddb8240e25307597747cb81fe1985d490d7bbac91f3489d3043157fa72035ae3a59aa1efe2de54b09233acc61c986278d1989c5a89f771cca09a7df044c60326eb097fc923c4f32e50ab2d6757bb23c656b72db781bd8010dfcacb8635f27303a760bec61b2d3d6c306b13b22d355466bcad05f693c56440f5bbfde427c6fbe80323208425ce4efc26d9c227915e618a662cf36dd22833e2380675002b4c38f650036661e05a86ee0f814a1b4717299e1f53ee50fd3d86fad1570f807b4cfb701bdb035f240a944766f4978584bd4edd94849c985a83e2ed759af19959787c4e1b774e03ccf18f56ba545e3c0fe086a212c29ee4224084c0eeb1c02edc1899891c8f567503032fbd4fe1e95b3bb3e434f93f195c15b217aec88bc50d6f6aaac7d2292092840303b965075ee08e0ba22ffeca7fcb39dab7bcac41b2cee13e4dc7c07e0ce9291403e5cd96d244b66551e2aaffc786a1bd43748cf9d12c5b2727c8780a110d84fc39033c0c8d9bbbf71587004acf2cf16b3cd376a1ff8a75c9332fa6120c5bfb66470f037a25a31f586440dd3ba578b45b652ffdd88197118d00a500873cd1536d2393e803c67cf887e7d002f59c21ff301801d93b81fd04be1b3590f9f0583cc581488da2032c2e98d9df92a28a99afb8b4299f6067e82325698fa1258df120f0e98f3650de0326f7d65a89f9440df734fba794a01d48da248e1b4f3920cc7661a1cb5cd8322b0331c30de628a056d10099d1f661195bba17b1671fd70caa4475995a92372d445103d8da9c8a573408046d9f85d84e618ec7dfc716cfba1533def4fee2a498befc2f03f100c8e9a69ca09beff9baa530c51b87e380d8d5b1cc485562a8718adeb6c88d035cb6e5b3cd210b5917af069be39aa46a5ea3ae09f925adee4a588fb421fff9dd03a82401b7416b25397307524d53f74a547ef45862a81a8159e3ccdeaa28699ef203147b8c0ebf3cfc381d7b83242cbba21ed167a52fd65d34525b702637cf15e39d01410a05581e0352722cd8ec4381fb274581558149ce0f6e1cb200a9f1f37e6c1bda51b00c024605f0e809f688045902a460806040523661001357610011610017565b005b6100115b61002761002261005e565b6100a3565b565b606061004e8383604051806060016040528060278152602001610271602791396100c7565b9392505050565b3b151590565b90565b600061009e7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100c2573d6000f35b3d6000fd5b6060833b6101425760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff168560405161016a9190610221565b600060405180830381855af49150503d80600081146101a5576040519150601f19603f3d011682016040523d82523d6000602084013e6101aa565b606091505b50915091506101ba8282866101c4565b9695505050505050565b606083156101d357508161004e565b8251156101e35782518084602001fd5b8160405162461bcd60e51b8152600401610139919061023d565b60005b83811015610218578181015183820152602001610200565b50506000910152565b600082516102338184602087016101fd565b9190910192915050565b602081526000825180602084015261025c8160408501602087016101fd565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000811000a03eabe87a36a299fa4ad1737a1103f0ac098fd6c41a7f37905503c14818614366d03c1af21f13a70da8d84e7e6c897083d3983ead63989315993de6cd9885991224803cdb61c83de85545e94c678e46ca0e1fb176c1e93d138d35dcdf21483e19b1fc903bcc89caba51d0f49f4627f0519f0700633179d7bc55c3790da287d7945747ebe030a304df0d96015a6b595e583bcd3b68678b01cd535151fb053169f9ffcb4f148032267b396ea1ee44f8a2dbd95d6fa070fd4efa93841507e0f940413745ec5492203ddd67e9fda09c9a82e83cd1ac0bc3e3f889e27569c5e6e7bb71e204f8621d57f03b4290cdf1619afd19b036eed537b1f2847fe4fccb16f7aab09e463b731e6c6cd037e0e2049984b4d37be31b13908cc8d703ed418e354854bff995053d06cba1071030c1f6996ee55c827ab4350aecf90c35e9c2c959b1ea138f288bd649b6c5e533303b2bb362a3f879312902656605da07adb4e4a42b0a6ecc4bdb05384805a5fdc16034fc8103aa47f78e98f52f2d0c766969a7c3cb4a050db53f81096d12829d35995034b135fcbe80c2232eb9d0a8f82f72a13fd369410f24486dbb6464203d008f62103a6449cbe74967b0d89736c87668ebc7d365c833200efcad2ed4f3922958d776e03fe8e0da3d676c945bf5a4e802fe76467b504611f2f71332483de637d0050dd63039dc750e7f7c76de7caec429cd2ed2473c3ac7c3f40de6bceb4ce0183ad2b3aa8035e443e6010e616317edb1bb57ea5dd358b5137ca7ec034184c7dc0c63be31ba103f3e15aa8d419361d06910a3bd481e15e508dc536058687d932818815d12d05e703a7b476412199887a8af33bd6eced698dac8f68d35f6c3af815612fff00bf379f03cdc74c41f13520e0b2be74eef9c7ba0be8c226095ce9f09be356de10cac96c3303fd4e7d9812abe51a0dad0933339423ea4a089efa485e6f916f32fbe193950c600373866edca6a1ed590f697051f2f7058c5d49f3166554972a01251d0af5710742032cd1522e52deab59a46a88c5c2c3f099d2417ee2e9378fd6a9d6a9ba32c0c278033a90375b01ad99b628d42c08374b70ef3a3798cd80a763db9a25eb7cc55a92b400581f021cd31bc12d962ef1c4f888953a9bfebf57fadd9601f4a32725f0b84c8c5d48039cdbe488cb2f6700581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05401a656024de4b89e2d0198bf4d468e8fd2358b1700581f03af05a1dd5bce3049c750f92392a549adeaa874ed6ee5b89cf8092276f950462d79883d200000581f03148d45b9c88dcdaab0bd9514918e4df9b6bb9280e2299917eede9c55161047b1a2bc2ec500000219402103f98b04616bafb4ba93d7fa485c817b76af6938892c0c53c7570e41b19aba2a3103b3511f2dad64f38f38c07c55d42ef33ac3e6972bd7e59675f5ebd1d47e275ff303c39832229bef1814080b43e6cd0b7c725e63b91ea6ec7792502a2e3f345d313503f62de0a1d4e1d71aa6df36646f5ea8043aae5ed6e202b35036e1cb7a28c047a400581f025036d3497185d2b73fcda7b3841619fecadbea233c0c43631f897abd9245462d79883d200003c8e55942c6789596f7cfed1fbbcf9437a56125794d8feab6fe780f879c9e1db70311e218d964dbcd3a1058b6091efd87db5342321120d1da547d4ddc1e9c8e2252034a7999e272e4ba842b908fadf669039e71458376b8c31f70dedffa4ed1e4817e00581f027a4837e552cf442e65027d023023fbc7cbc9dc47ccbf52e4f83866ee90f44603061d19aca203fcc58e0d18813f3c0420b6be93df823c109e69ecb62194bea6538946b6b4596b00581f02051623b8c3f9a0b41dad0acd7a3931d695ccc3f00e8bcc20566bf54be70e471e053af05a20000219bfbf03e7cb2ce601e27ab8bf0d210e986e20efe69ce1cca2c3ec774db7788b3ebe668003d3eaace0617700a1446c49d0e378d936af5a49ede4a47c22851ce11c8207ebf9039beb90996008500f5cb31d749169d43656c4f1e9ac3cabb20a41fde0be62d7bc0334b7b97accf9d90ffbf2cb8205b039786defe5e0a6acae9514e1b04e680170e40219ffff037097adc1f09cfeda7269cb336622047a7ae729627eedc275ba8550b646acc98003fa1d76c2b2d67143b8fe2483a1a1194076691ed83127f7a0e56add4b86054bdc03f7dcfe3b21d59c7f77a7066832bc07b09c83c2a697dda34749c792f4162a0cb20305bc0278105f53df55ad6e8055694a45fa48d8885da6e5d9529e031dc58f138d03252266388c71441357ddffaf8dfe8ae726a420951c39ef1d3ddfe3b3fe5ad85203bd5204e47e0b705b61bd6b125f65dcc5097b5d3d0d9bef3e5c8f8aaa0bf9c2b3037a191f5421d2c78b1e676a349bb7a3e3486e04dc89d1b004b58057f0d549b605036d3672e9d7276ad13ec125feaac748be20e5bf4fff57107c5c49abf14b53602e03f2cbb71efe9249410f4dcd067d4bf74534978810e0084b9d5cad547f081e519103ca64e1bbe3b36a543e453bd3ac8944f713a4745f9dda06935591c8e048eb66bf0219ffff03bd495121d7bbd7421c0697b4b3155ecc9f95bab0f067f954d3b3e3a31e40ff0d03d5e4075362ca60e9dcacdee85604928823d5582deb612344cf55366fa7cc809b03c2b10a172d2f2d7cd237277397bd394ae9d511352809f2fc79fe04bba4aab43f03b566468062a10f9b91c7e4b2866601ff84080a68681cadd76f43a04a0db3e76e03d9dc0236ee6d59b9ef28dea3b66fbdfa936f9e54fad6ad90090f52382665325b03e227ba7cf1f98af0ac7a2407bc5cb73e0cecbba1b0ba05204b0203c0802b05a60374aafaab034e49937a4f7508a11911c953e46838697e4b775a7423fbb4e9409e03136b84db3863edb76b6544af53dee29b7289778cfae47547ef2895721520fec003d9488d7db12edd1aca3696632bdd1792a965207da4a30cd838a2d84556f55127030a49d7a5ffb2a59cbbe160a5b1162d29f8cf54b4ada40157eda3f435559af68903d64892789f6af9713d2f2631ab2dc90215e77ca853971a410bfe5c7a23e72c2c0310af0aef4740ed26a56a4c1a67629fee3066d1e4f8067d1bada5d75ff89ed499034010e2e4b6c5e59270ab7150151cad4483cd64d3c98f072bd55e9f4819031773037f1b74a2b854a4fa8dd0044972abd83cfb0392e70c770cf2b648af98b7ffa27f034938c3b9922e6fbd1ae1e0a3377e82e347f54ce615f930401066f84d80dbda8d03e4cec8821e52b6f0f370ca51b761aa55285ec0df4d1998bbf24ac996b28e896203c670a46f3c376fcc8238ea81cd85376134eccccffe7342e20627c28982e371e50394b5b1aebe7dc29b6c0f3bfeb045b2887724d31f6ae542cf14ad327018b13f8d031f882025c8e0f9c09178570b0d8db6271a06a9f36ceb52ee78227938d3977be703b8173ac9522517d88b1e6945a4ead59fd1d1522cc4687604ea8f85fef4869af6034230e8ad80677289819fe5495aeae1145a5cb019618a20858783c6a07be1d50903a3b2402f04b2fe6589e5b674cdd46b117c4617898317d345629ba70eff30e27a03a639c43851d00ae16c60966c382a1668ba9b8718fd5329e421d6fb5f561da2ac0325add195ec521195212469c75ef6767e417a62b4c94b48c304553159dfdd75d10342fc180be894f7469c23ac1f57bb828895b128df0d0e873c8d4825f84d47874603dfb6e87214da498e4a694dd584d4bf7d905df7302322c923d8bd8e2e4a60b6bc03c606d3d0fb608cb3d702573107ee6c027c99a966681005d40e91ccd856c3e51903e90ca50eb0626f294920f1083251dcee111c17b3863fbe44beeab54394cdab5603a93115baec377b31a648b3b66ac4bdb79bd4b0129c588fb97fd888036daae4f90382b93ba8b86a229cccd8ad0fa67a7c337f6fff5804d70b4afae8cb1dff99291a01410200581f02753aaf2edb01d2271fbd726438031ff159d90629e432320fc8d87df3e59a4608df8b76726403cd07ee184cecc1faa655c588aea1e282bb66d54abc253e71e58ee3cbfa167df603ade4f4d9333989cd5f9d21fe8549eb0a7faca4c2bde11a2f10e5eaf708a7c16c00581f021efe088dce03b52bcc3fe23a1a61fdaaa8f6ba508f91da5a7a0e7d2a90674746b2f1cf07c00003827712bdab15f1326a3484b59c37c3cb47077ea0e762d5053c8c8f1ab013f2b500581f02cfa4d6694ef9f1ec61729b7cdfb14e34343549fe5b39aafae608226bff8a4701b377d103ba9b03d6743f66c955451d7afdb5cd5f54dea20970059647ba40e09ca440c8c05ff11a01410203d3f7a202da73fc7bb68a11e5deb22391671cae49d41b8145e45d982e884c7b1400581f02343d4a59e9ec00c7c4fc9824841c2ad519e214c0b9c3a69a448ae57da507460a4a564cc1d100581f0303acede49bbfb1ee461ef0b1906ab708ae048516dc4a0a97ef4e56f83c20461035f930400000581f037dcfb83fdc140118bde0fb05f45fe4729e775241f8b92899155f609621a047038d7ea4c6800000581f034eaf6166aaecfcc1af3347f62394d95a3a8219fb9adad6b2982681141860452b9bf331000219800a03909b45208f46652e1bb53d69d508afa6847cbe45113cf91f3e16f16042ebb438030849124d7d7085462e97779bc21dcbb141ee106dbcdd8f0054c4b5306c333724038c86f2ea28a795667e8645515c7392a9ce6cf4586507b60cc54c49769f38db980219ffb70389ae356a024dba60adb210cb7d3fa706916e9f556deb08b78e2a5c47221cfa6d0219ffff031c8120c4dbd4d93db689fa29c3c32454c0717388e7036dea2bba759d75d1627403396e5cd4ada42e92d96eeded34389606c11e0b641c7c6ff1682feea665918f1d0219ffff03156e973729e90bd6506a8b918b9005f76e8389e7daa32eb1b18ff8b69cea8c3c03a7ef8725c7b5265900597dc2cce371ebcfd1b72222f5170c99f60eb6fe124d2f0381e2215d9dbd617f4dc35d1f551ac75351660b2c81eb63507d23311746307f4803ff93239f8367cf96d1022d521b21594590f8d5bd0a935905b5a628c5c1fcf6340302ff17ff3f6b458a6da05ccca953c040b7b49efb27fee7c074169d4c19f67c5e0219ffff05581e03f490f29492eb7e572af3dcb8414997183e1c0d267a5d5b030210a464a00f014a0398c61cc8a4d55ee3191902a405581e03159055cceb8c3ac18f9d8ecf9ae4c00f7c6c9b08ef16ecec352ef3cfb00c02473627cb7a5e7a2e03ccce7545a29fc40e2053698f0071b37c0057eddb3ad5ddc562262a124a224cb105581e03c9205b611998d797849cd79cb0ded983030b662a7cf348176fcde38ca0040105581e0386e00834e40ab8e5b33cc46f3255c8c5a86129995f802bc6c59f115b700c02465dd9d17871d0021995a9034e577e4eeff9a03102234e82a02029678f263cc84aa6c140017c919480d7220503fe1b81a28062b7035180053d60fee762f0e5c1995f08b9b975512ce885aea4c70219ffff03335c12e808980dc95fdfcc4cc3773b028c76b09fa8946dd0e544e93fd9deef150398047549cf68cc4e5d3a5002cecf2aa538e45fd72b486c8f49ac29ee6416d02e0219ffff0388422d18a15399e1b32f64328b50783892718927783619df29b6f494dfb510c60219ffff031d3725ec573418a2ca48e064895126019cc392d049a2fb4834c90b4d833a208c03651a006338d3318b0a693daf8817a595a14421304b9e7cdee1569969671913d70219ffff03572ef64410b4adc4fd5772872b91065723fd165d7a96c7013a2c229243b4e0e503959fb69512a65ce905bb54cb86dcc2c95f4e20956239ab642fd0c3d17b3c386a03e438447b520e4058160513349f3b95b231d50bf696bb92d1fa45fe9c58bd34b203ff83f48a60fdfe3d4c331eed0ac765ceb26ea79ff81e80e382fbfdb473a6bc1703bb6601e65e776fd38505fa740e7ed09099bacf99b92dc9bc4b75df0d5a61386c03a2d34d2529de028f13b401597b4f0fb564228558d3a6cc1a0760b15e1a602b4303e830ad9dddec6821041640d9a3417fb1687faf274fc084f83bb494a7e6cbb76603e5bdd4beb15c2a62c4c1015a04cf5a4380cdf794dcd08b597b3a113d51a1f25a034e02b3e362c70b29587745899d00cdd3f6c06975c198d960d3d977696ea93159036582dcb7088a52305264f5c13bca3e809dddd8ada4dfb9b6e49edc0cccd19be903090db4e12beae1745862fa373e3caf9d71ac639e040b797ccab6ac0a7a304fc103c7849180d5fd726c827f94bb5e98a0d2db40b966ff2d2e9e46aae6e8087eeb60038802dfbd414fbcef995bd105fcf482b3c1074cfe092dfc78c7cab25df3e76d6a03240439e0d12d7aca0361ad40219e6210f7d2f21b8883763115779b05c811648403c111bb2d42988194d8a1620ec272b02d8976cb5e378043a216b4380d1e994b15032c76d37edfb378a1b16cd310bd81589d81f0973992ad6f4878ce6ab011ab04c203ceffc0d17fb0d94209ba6b2982926ca1fbc27bc6990130db2849feeb319aeac803417d3a28a18cbf711b8a7eda0a153a81428f832ebb22abd2bcee7e8971a5987003f0642fa3f880471d23a45ebf97fee0b0a22b43120fd75e19afe3ef8b389ebdd303a8590f12314e6cfbce944244f2efb252167a7acc8500b1649ef4664359c18c2c03849dd6d4a45dd6040e25b910e7df56dfe409c764c65953e477daba81119636730384a7ef091f5d07f65f27b28b61acac7f024ead60799d78acfc319f386c5926cc03e7eb09b5bdfdfddf64d539b5c04b107159f986a1688686d9e301140505db517803eff220e1d4847ea9f13643a8eec56a6328a895eefc27e6f6b27820b67f37148b032d9f1f766cf6e176e2d3f5cf1cb6c8d15860a251df63138645311eac4a1bb311031ea62297192ff8e2b58e651f4f16add253676b7decbfd56464a94a97c9cf4e3203dbe88f2811cb2fa480751ff405b148e83271034de4ca3b08951aade80339050b03ed38869047c5ee3c60f66ae2a19dae28d180cd3f6d2d191f2a711daac5048a24038c7713c1698de729efad0936116fed670f6bce795be1d86b28265d70a651381203a9e94b1d6690f8ab095c713d7859f272815c7204f20d268288e1f478e2ecd558034ca9e99f8153fff0250dcbda69df6aebba349e08427869dcc1d5ab17347bf514039fd8d731e5bfb66a8d96f1dda2961b590c0a1f4e14f4df37ed7cad2a698bda1f03c0c2abb51524b1f864f163037b0479191835fe08e306a2746080235fb2f108cd03461b43232f181f955027da928a3ee3a4747f8ce04973054c256a49a5eae3c5b004591fe8608060405234801561001057600080fd5b50600436106101515760003560e01c80637ddb11d4116100cd578063b77efe0f11610081578063c3487ff811610066578063c3487ff814610336578063f8077fae14610363578063f94616011461038457610151565b8063b77efe0f14610326578063c172085e1461032e57610151565b80638910faf1116100b25780638910faf1146102c2578063a4984633146102f6578063ac1f40e11461031e57610151565b80637ddb11d41461029a5780638129fc1c146102ba57610151565b80634e8845e01161012457806357806ada1161010957806357806ada1461022a578063702d75d214610232578063764e94ce1461025c57610151565b80634e8845e01461021a578063575a86b21461022257610151565b806316f0115b14610156578063214a6fe21461018757806337182c1b146101ac5780633d6aa5e114610200575b600080fd5b61015e6103ae565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101aa6004803603602081101561019d57600080fd5b503563ffffffff166103d2565b005b6101cc600480360360208110156101c257600080fd5b503560020b610706565b604080516fffffffffffffffffffffffffffffffff9094168452600f9290920b602084015282820152519081900360600190f35b61020861074b565b60408051918252519081900360200190f35b61015e610754565b61015e610778565b61020861079c565b6102086004803603604081101561024857600080fd5b508035600290810b9160200135900b6107a2565b6102866004803603604081101561027257600080fd5b508035600290810b9160200135900b6107c7565b604080519115158252519081900360200190f35b610286600480360360208110156102b057600080fd5b503560020b6107e7565b6101aa6107fc565b6101aa600480360360608110156102d857600080fd5b508035600290810b91602081013590910b9060400135600f0b610b02565b6101aa6004803603604081101561030c57600080fd5b50803560020b90602001351515610e2e565b61015e610f99565b61015e610fbd565b610286610fe1565b61033e611002565b604080516fffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61036b61101a565b6040805163ffffffff9092168252519081900360200190f35b6102086004803603604081101561039a57600080fd5b508035600290810b9160200135900b61103a565b7f0000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44c81565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44c16148061044b57503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e16145b6104b657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f4e6f7420706f6f6c206f72204d43000000000000000000000000000000000000604482015290519081900360640190fd5b60035463ffffffff7001000000000000000000000000000000009091048116908216116104e257610703565b6003546fffffffffffffffffffffffffffffffff16156106bf576000807f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e73ffffffffffffffffffffffffffffffffffffffff1663a15ea89f7f0000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44c6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050604080518083038186803b1580156105a557600080fd5b505afa1580156105b9573d6000803e3d6000fd5b505050506040513d60408110156105cf57600080fd5b508051602090910151909250905080600063ffffffff80861690831611156106165750600354700100000000000000000000000000000000900463ffffffff16840361065f565b60035463ffffffff7001000000000000000000000000000000009091048116908316111561065f5750600354700100000000000000000000000000000000900463ffffffff1681035b63ffffffff8116156106ba576106b08163ffffffff166106968670010000000000000000000000000000000064e8d4a51000611057565b6003546fffffffffffffffffffffffffffffffff16611057565b6001805490910190555b505050505b600380547fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000063ffffffff8416021790555b50565b600260205260009081526040902080546001909101546fffffffffffffffffffffffffffffffff8216917001000000000000000000000000000000009004600f0b9083565b64e8d4a5100081565b7f00000000000000000000000055b7736b9ea19ed7ecd613c97e615464dd9f9c3381565b7f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e81565b60015481565b60006107ae8383611125565b50905060006107bd848461135a565b9091039392505050565b600560209081526000928352604080842090915290825290205460ff1681565b60006020819052908152604090205460ff1681565b60035474010000000000000000000000000000000000000000900460ff16610b0057600380547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055604080517f57806ada000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000055b7736b9ea19ed7ecd613c97e615464dd9f9c3316916357806ada916004808301926020929190829003018186803b1580156108e357600080fd5b505afa1580156108f7573d6000803e3d6000fd5b505050506040513d602081101561090d57600080fd5b5051600155604080517fc3487ff8000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000055b7736b9ea19ed7ecd613c97e615464dd9f9c33169163c3487ff8916004808301926020929190829003018186803b15801561099857600080fd5b505afa1580156109ac573d6000803e3d6000fd5b505050506040513d60208110156109c257600080fd5b5051600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff909216919091179055604080517ff8077fae00000000000000000000000000000000000000000000000000000000815290517f00000000000000000000000055b7736b9ea19ed7ecd613c97e615464dd9f9c3373ffffffffffffffffffffffffffffffffffffffff169163f8077fae916004808301926020929190829003018186803b158015610a8a57600080fd5b505afa158015610a9e573d6000803e3d6000fd5b505050506040513d6020811015610ab457600080fd5b50516003805463ffffffff909216700100000000000000000000000000000000027fffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffffff9092169190911790555b565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000556b9306565093c855aea9ae92a594704c2cd59e1614610ba657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f4e6f74204d430000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610baf836115d1565b610bb8826115d1565b60007f0000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44c73ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d60e0811015610c4a57600080fd5b50602090810151604080517f70cf754a000000000000000000000000000000000000000000000000000000008152905191935060009273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44c16926370cf754a926004808201939291829003018186803b158015610cda57600080fd5b505afa158015610cee573d6000803e3d6000fd5b505050506040513d6020811015610d0457600080fd5b5051600154909150600080600f86900b15610d4057610d2a60028987898760008a6116bc565b9150610d3d60028887898760018a6116bc565b90505b8760020b8560020b12158015610d5b57508660020b8560020b125b15610dc157600354610d7f906fffffffffffffffffffffffffffffffff16876118a5565b600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b600086600f0b1215610def578115610dde57610dde6002896119e9565b8015610def57610def6002886119e9565b600086600f0b128015610e0657508180610e065750805b15610e1a57610e158888611a08565b610e24565b610e248888611a9e565b5050505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44c1614610ed257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4e6f7420706f6f6c000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610edb826115d1565b600282810b810b600090815260209190915260409020546fffffffffffffffffffffffffffffffff16610f0d57610f95565b6000610f27836001546002611b979092919063ffffffff16565b90508115610f33576000035b600354610f52906fffffffffffffffffffffffffffffffff16826118a5565b600380547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055505b5050565b7f0000000000000000000000008feb1c9c768480e4e52845b769543f409d2d0eb481565b7f00000000000000000000000062522578596cded6bd7f71d4c4dc654f7297a05081565b60035474010000000000000000000000000000000000000000900460ff1681565b6003546fffffffffffffffffffffffffffffffff1681565b600354700100000000000000000000000000000000900463ffffffff1681565b600460209081526000928352604080842090915290825290205481565b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709868602925082811090839003039050806110ab57600084116110a057600080fd5b50829004905061111e565b8084116110b757600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008060007f0000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44c73ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561119057600080fd5b505afa1580156111a4573d6000803e3d6000fd5b505050506040513d60e08110156111ba57600080fd5b506020015190506111c9611f92565b600286810b900b60009081526020819052604090205460ff161561124f5750600285810b810b60009081526020918252604090819020815160608101835281546fffffffffffffffffffffffffffffffff811682527001000000000000000000000000000000009004600f90810b810b900b93810193909352600101549082015261125b565b61125886611bd6565b90505b611263611f92565b600286810b900b60009081526020819052604090205460ff16156112e95750600285810b810b60009081526020918252604090819020815160608101835281546fffffffffffffffffffffffffffffffff811682527001000000000000000000000000000000009004600f90810b810b900b9381019390935260010154908201526112f5565b6112f286611bd6565b90505b60008760020b8460020b1261130f5750604082015161131a565b506040820151600154035b60008760020b8560020b121561133557506040820151611340565b506040820151600154035b6001548281038290039a9290910111975095505050505050565b600282810b810b600090815260056020908152604080832085850b90940b83529290529081205460ff16156113b45750600282810b810b600090815260046020908152604080832085850b90940b835292905220546115cb565b60007f00000000000000000000000055b7736b9ea19ed7ecd613c97e615464dd9f9c3373ffffffffffffffffffffffffffffffffffffffff1663a9c6abe085856040518363ffffffff1660e01b8152600401808360020b81526020018260020b81526020019250505060206040518083038186803b15801561143557600080fd5b505afa158015611449573d6000803e3d6000fd5b505050506040513d602081101561145f57600080fd5b50519050801561151b577f00000000000000000000000055b7736b9ea19ed7ecd613c97e615464dd9f9c3373ffffffffffffffffffffffffffffffffffffffff1663f946160185856040518363ffffffff1660e01b8152600401808360020b81526020018260020b81526020019250505060206040518083038186803b1580156114e857600080fd5b505afa1580156114fc573d6000803e3d6000fd5b505050506040513d602081101561151257600080fd5b505191506115c9565b7f00000000000000000000000062522578596cded6bd7f71d4c4dc654f7297a05073ffffffffffffffffffffffffffffffffffffffff1663f946160185856040518363ffffffff1660e01b8152600401808360020b81526020018260020b81526020019250505060206040518083038186803b15801561159a57600080fd5b505afa1580156115ae573d6000803e3d6000fd5b505050506040513d60208110156115c457600080fd5b505191505b505b92915050565b600281810b900b60009081526020819052604090205460ff1661070357600281810b900b600090815260208190526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905561163581611bd6565b600291820b820b600090815260209283526040908190208251815494840151600f0b6fffffffffffffffffffffffffffffffff908116700100000000000000000000000000000000029181167fffffffffffffffffffffffffffffffff00000000000000000000000000000000909616959095179094169390931783550151600190910155565b600286810b900b600090815260208890526040812080546fffffffffffffffffffffffffffffffff16826116f082896118a5565b9050846fffffffffffffffffffffffffffffffff16816fffffffffffffffffffffffffffffffff16111561178557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c4f000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6fffffffffffffffffffffffffffffffff82811615908216158114159450156117bd578860020b8a60020b136117bd57600183018790555b82547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff82161783558561183457825461182f9061182a907001000000000000000000000000000000009004600f90810b810b908b900b611f55565b611f6b565b611862565b82546118629061182a907001000000000000000000000000000000009004600f90810b810b908b900b611f7c565b8354600f9190910b6fffffffffffffffffffffffffffffffff90811670010000000000000000000000000000000002911617909255509098975050505050505050565b60008082600f0b121561195157826fffffffffffffffffffffffffffffffff168260000384039150816fffffffffffffffffffffffffffffffff161061194c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c53000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6115cb565b826fffffffffffffffffffffffffffffffff168284019150816fffffffffffffffffffffffffffffffff1610156115cb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c41000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b600290810b900b60009081526020919091526040812081815560010155565b600282810b810b600081815260046020908152604080832086860b90950b808452948252808320839055928252600581528282209382529290925290205460ff16610f9557600282810b810b600090815260056020908152604080832085850b90940b83529290522080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555050565b600080611aab8484611125565b915091506000611abb858561135a565b600286810b810b600090815260056020908152604080832089850b90940b8352929052205490915060ff16611b5157600285810b810b600081815260056020908152604080832089860b90950b80845294825280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055928252600481528282209382529290925290208190555b8115611b9057801580611b6357508281115b15611b9057600285810b810b600090815260046020908152604080832088850b90940b8352929052208390555b5050505050565b600291820b90910b60009081526020929092526040909120600181018054909203909155547001000000000000000000000000000000009004600f0b90565b611bde611f92565b7f00000000000000000000000055b7736b9ea19ed7ecd613c97e615464dd9f9c3373ffffffffffffffffffffffffffffffffffffffff16637ddb11d4836040518263ffffffff1660e01b8152600401808260020b815260200191505060206040518083038186803b158015611c5257600080fd5b505afa158015611c66573d6000803e3d6000fd5b505050506040513d6020811015611c7c57600080fd5b505115611d5f577f00000000000000000000000055b7736b9ea19ed7ecd613c97e615464dd9f9c3373ffffffffffffffffffffffffffffffffffffffff166337182c1b836040518263ffffffff1660e01b8152600401808260020b815260200191505060606040518083038186803b158015611cf757600080fd5b505afa158015611d0b573d6000803e3d6000fd5b505050506040513d6060811015611d2157600080fd5b50805160208083015160409384015193850193909352600f92830b90920b918301919091526fffffffffffffffffffffffffffffffff168152611f50565b7f00000000000000000000000062522578596cded6bd7f71d4c4dc654f7297a05073ffffffffffffffffffffffffffffffffffffffff16637ddb11d4836040518263ffffffff1660e01b8152600401808260020b815260200191505060206040518083038186803b158015611dd357600080fd5b505afa158015611de7573d6000803e3d6000fd5b505050506040513d6020811015611dfd57600080fd5b505115611e78577f00000000000000000000000062522578596cded6bd7f71d4c4dc654f7297a05073ffffffffffffffffffffffffffffffffffffffff166337182c1b836040518263ffffffff1660e01b8152600401808260020b815260200191505060606040518083038186803b158015611cf757600080fd5b7f0000000000000000000000008feb1c9c768480e4e52845b769543f409d2d0eb473ffffffffffffffffffffffffffffffffffffffff166337182c1b836040518263ffffffff1660e01b8152600401808260020b815260200191505060606040518083038186803b158015611eec57600080fd5b505afa158015611f00573d6000803e3d6000fd5b505050506040513d6060811015611f1657600080fd5b50805160208083015160409384015193850193909352600f92830b90920b918301919091526fffffffffffffffffffffffffffffffff1681525b919050565b818101828112156000831215146115cb57600080fd5b80600f81900b8114611f5057600080fd5b808203828113156000831215146115cb57600080fd5b60408051606081018252600080825260208201819052918101919091529056fea2646970667358221220cf54a837df6692f9eea2b8f28632554035b93dfe28c5b5c2a02c24bd6bcba1c464736f6c6343000706003303222f33fc96c9a6844133a39cc02288c27cd43c900e0dc5b51615ea636d13296d039ad33763e4da056d23a498b395a6bd805ac9d5f48e52a206d17f0530be6a4e6e03099088fefb42bdb7508f60d3516087158ffecf5facad3f3cb1bbde9865da81d2039e7da33d52093250d6cfc2fee277ce5df5bf190f6beb54f1941b635fe4e5377703b4409b1603ceda5ca04a186cb96e3d349764080581a5f03787136002d4b779a2036a233152fad96119104a1394c8971a85d6905974029889b7e0b57718ad7cd99c03d0162f182dea744dda01dcfd44eb6ac997f42da460104eebb07435f17bdbb305031d6a3df2ef579a97f618707546403135e58787be7b0b2fa4ae502b63904f5d6e030db386c8ce3682a21de4e4b7286b9e54bd7ae8d536055aebabd6c736ad5ce12f0351ad9fab7a0e1d5e23407d4c166e6a11dc3a2a449e604cab16f2f2aba33971a3005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65293a4f7618c0ab6f99ab1c5137602d013d559005820023dcd85182b96ea4989e4a7f3b2b10006282fa2cc58d8508e9e608bcdf22edc4101033065f9322e8a3e7988ffa67a50e044dad36722fe26f99b8cf13dd2920710760e005820021fc551c2bc88f7f4bb5026edc528fccdda65b17082884d101b34c7d622d105410100582002bc627c4850a48ebd901d067c0bcb89b59c5987ac1cfa434691850e687ead23410100582002b4b8bce44e29794eebf95d50679e406c8a7f3909ee71c3a2425b9b6a46f8b141010058200250a84f74b5a99345b7ca22411f445606d9ea5600b8a3cbbb04b97a69b0aa4d4101021986ca00582002312fa0c5c14e417769cfbe2785ddedce7e8e02af73e75f41f43e6b02f6030f560536957462820000000000000000000005369574628200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b55016687d97f000000000000000061b8c7d957778fd6005820023c328e7b2c279fbb02405e82997b1bb01bf3433e81f324d9eb8ddd17a5cd735820ffffffffffffffff9e4773be865daa43000000000000000061b88c4179a255bd00582002886a77f59023d7647314d1d53a7d8ccfaf44eed9d19b03c4f553a498f53eb841010058200293a7dbf765834ee04d015239b7e2d248e621d77772f5ef650e70cc3a46646a410100582002bbdb2e1a2c6366d0aacc6d75608862b693a3a97cf407e9ffd4228dfb1fda1d41010219818e03bb85039ef79623c7ff92d841c224c707281684a3d67c2a04f4bc4319c11c603903b917d596611f084a0a2a87901b20f778c40a624675e30eb56016d6c19ad5086f03df61a2fe82c86d68b82e0763448db3f201f76f8b15c8e38f09a2e0c983536a8b0219ffdf05581d02b6d264aca64a31686bbb82667b78b865acaf6722b1dc0cc50c7762da0701191fe803b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b0000311a5b6b61e9bcd4f7e95ea06525cc591d71622fc698bd0e3120d8a5ba4fab6c005581d02a0f28976e869d1e216883b980843bd7059b27f47e86fa05b9c981e7407011bffffffffffffffff021902040344cd07edbf0c301dc6bead2238436fc9cbb35ff99a443b7a5bd29e897da8b10505581e03f32a77625b1c94baabaa4a21bdd79840ae0fafb4556e9a69b2e729e9d00c0146194432262840037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03d538db8e997ded764ef0a22279d46a608bcf6daee448d872bb6a9f36c007011bffffffffffffffff036bb839249e53e208accaf3f45b4842c56448aec6c25375ff854fd9dd211403de05581e0392388ffbc818b34c7f6e1c75c83f6481a797c7ccbcf11a0cbaf61aa3900c014703ada0aeefca1805581e03521daec6ec6d04a7a9be100d9ba005ada24277637570b7aaffd0f408c00c183946867fe80f14c703a7f9c0a290d6db9945865a16be2b73f39a25e1d1dd616f0474a6ee8f62885c6805581e03993dbe168351ce99c16b84a444dc2cc554c8473afbca326a9760b82840040103879b76da95ed8567f1405fe2911ea11b42b4e677145a7b01770615cb334e162703dd6d24a845533b9ccf5c53f68d065ef064784e517d6c4ba9d5e4b174c66e4532037375c0ff158defe7e98b63ab873c66947b2e6fa28fb45161f51c301c823f0fb40219fdce03a9d1aa234d31a2f7bf69794d19b9c185c568010db8f88b6d3ce04ba0997e8aed0219ffff035a9a045767669bfc558c46c4f4739a10dae2a2693b629bebe009422c6a83997203d9adaec9917602c7b514f4ad5ccab1e7830b968ff882ac55afce19942b911455032175887930f6a0ba611169a6c7ebcc832402dc2158c3827db0667bc387ff11390219ffff03884e980f438324b2fd8edbebd1230feed59c697eb0c8a5658433fb95509d2f6103f8421155425e81c660adb76a37ef5f1c042b5e9a61c2043e2a50ce8a45be119003b882cbb36f9a3e34a06065d0b01ce3f28d2020c535e624bc1aa90b8fbd28b53d03fb32757f194c823e2b9560e38d25512bd71cb06ac17fe43f4ed8a0fcdacb21e70355576eca00a4569b4fc8c3154896585f2d632f443dcba846fde3ea3f0377be260334af62e6b70579a5a024f8a0d73b28bebb8ca856cbc5e352aa440c942cb07b4e03e65f402b4e98ca719be47aceffa5b6e734b382554cc251d4716b340f02aaf0890342894c5b708a96727a634ef4738e496cc738ab2c7b186c1635cd6e072db99f3603644950015dc9f7b76fa54d8f04904591d4ae5ef0ce984eb23022587ad7d4606f0327b8fcdfd9b010cb7ed80241fa2f7e0480a9d756ca880abbe5a699ab9430ff2d03257da55b81e0532cb86b03be09169cb3092c74fdf7144ec2607d631df7dc105e0387ce0cbb445b9705e28e4f71168ac26ad22f8641ef326ae894fab8abd732b5ae03ba5367f581b6ef3934e3b157c70372e8f43ece2fa04c2b0c868ef7924a5ede71034c557c2a467456e19815fb03f57d0758077ee57f8c064b86681ff76666552c77036a2eff897b9de5aeddd7f957fe3b3d758d10217869b3775a4099ea4d0101bf1c038618ec4a43fe8e2bba2d3d9c8db11ffe78560dedaeca45e13720889a3ec518c903859076aa5659651d4901c2fc24c23e6a0b9be3dd3f428bb17a24c308182bbdc203466eabe18e9f8e0a319c05ceb2e3aea7a3804479531ac449b3bbc3ac1d7387cb03f3f0c56d8f88ae975e194e7812c7e773ccc6da17690d4269df84d9ca7adb783303dc997695a8f3175ac6a44e864403bab26a8517c7c7a5984e13d986695ad49aca039a34faaa9b7d43da6343a361d365e358b353392f11f6fc56271ed98ca15aae9c03dac5795361b0ccd4381d5022518a0199c61a472b296213b880369a6e1250363e03d33dd00e3d841611ef31afe062a245a6528a421e994df3d5636579b5e1aee75203eb84505422dd15680cf20fa51255fc6b2126ee599b5098f90c0bc3b3c3253e7e03740e28ae907203315d63cec9587708359b265a3f50f3071376ae6c875894f01e032e24e06ed8f5b6dbbe7a49983f42965c3c4a23e274f804a7d77c1394d7d5a42803b904353e1f074b2e1d79bb357de33bad6c9a9ca13bca7cdd97c2b3f3432161db031c4f96ae827e6d4cc987ab2327481167726fed588cebf13350bf27faa24d477c03b965962d90442381ac5ccbb76fc39f6fafbac99cbdbe211971d14ab89c64a8dc03733d85746347853cb5cf1c74b51974b6219cc87b931e05115ae7aedd0abee013039af0cb08049860f8dde3ee3b562ff63c2dd570d1ce86d8eb35e50b9d50b09aad03941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03b5c4d7fd5e0996c55234d4272878372ded5f20d84265ff03134fc1662007011bffffffffffffffff05581e030adea9fdc9209b0e3fd6b794d1544a3b2a801a17804e278677867c91200c0146fede0be7d6d005581e030ac53779a2f8826154d625a7ab19daea01231882dcfa2b9ec0452bda10084728900b87269caa03f054da2dbe7d51d8013339e70cd25b33f3ce816fcb22b91a4c26e39c41adfd1d05581e03631168879f4bba89237544c8d32b4423305bc8c2b888fc4628758f7ae00c0446e3ac18a2421805581e03c69a34e22f0413d626dd4675e93d432fd80a43d2912d15d6bbe45452b008472c20c49ff04cfa05581e03ea9278f60f17cb7588629b1ca5ec4425cfc073f0980e2f78db2895dd000c1a0010dcc54a01a3ad725978142bcb800219f1410219ffff0378d8e92599b5ce1daffdc2144c45f851205593dfcd5aaa3c63b2544a23ced7e2033f32b7406edb6602f9996f1682fda23e796ca3a69de77d95dd154f17b8bace3d036e4b97e3deab9153c418fe2d5458a8bb080110f4b40354b8c7ff1af4c7ef817c03c28f4bfaa515450fd128a47daa24650d89ca5bcc864f51d49e82eb153f97da2a031ce7e53016e493cac9ca42f23215763f8456613015ec54410c294c03f5fa9f8d03764c527cada51931c6946cdc3f4dd9cf21e3650885d74c261fdfc9b337e4020c033d6ce04346291508e2b09fc6bca82353687ece9a2226833bd38719133001c95c034523b2e5e46eb3dea1ec8055bf3f6b7437a9a20d8c11beeef784219e8e53dde30348e2389c00b8a9486ff21c01da4f8c81aa1abeaee99ae9249c935bfec89411b2037e80e9247e50dc50567859cabfaf4fc30a4026935c52fe91f5e8cdb0709437af0219ffff03cbac993c80dce9b04f20bebd3833aabbb2d866c88ee8a0440632f60e9c4bcf6e0346507cf06f35f8f5a8bca210688088fef7857494ef783dbe8aeff30dece7a67c03351834206a924d0d7d9095c273a225271cfe4160dacfd82e46bd0e8ac97835ad0219ffff037eb15ba10cc038aa354f4985f0379f922ff789dc99d8d6990590d652bd627c81032837fa1ca8d7d396fa1d0a2dc3fc5ce239975c7af92dc6418f1e75dac60896ba0364f50e5be918a58278cc3096dd831ca5ba15015c23077d21cee5469c63f0945003eddd9d3023f6d7f2bccd075fc6fc31e0c8fd3ef65cd6e80c96d817017d31585f030319df446413a1a75ca143f41afa20a9effd9deff0aac165243290cc2728072403adc06532e64166bfe72c55fc9245d40d54b889123380372b0b7df1d21b07d3ce038e6e02c1adef49bc2899743ee5eae0e5f6668e60e7d1847f2fd10cc3c2bbcec7038a7d5bc947ed8b14cc5a34a08ba20423bd0d73ee565ce738323314d2c693ef19039772d63d819e04b9e406bfa4753641ec087df258042b5d9f395a8ed9374c453c032332f4c92f0cef9874799fcbb6fc6619d3f0e58d4c20f8a849247e7f64ef17800373c933182d04d7c9f8bf36fe5e2e15f24851426197c9effeae83320c3a6836150384b7d02833649b010c4d6c35904f326eec1a3958ccd9df95868dbe978c0a3f0e03d3b1a007a7f09ff778e916dcfa6eb0e5640cebbab9fc314ad341eaf1135ff364045939976080604052600436106103d25760003560e01c80638366e79a116101fd578063bbc0c74211610118578063e7ad9fcd116100ab578063f2fde38b1161007a578063f2fde38b14610ad6578063f5648a4f14610af6578063f637434214610b0b578063f8b45b0514610b21578063fb002c9714610b3757600080fd5b8063e7ad9fcd14610a75578063e884f26014610a95578063ee40166e14610aaa578063f11a24d314610ac057600080fd5b8063d85ba063116100e7578063d85ba063146109ed578063dd62ed3e14610a03578063e2f4560514610a49578063e71dc3f514610a5f57600080fd5b8063bbc0c74214610974578063c024666814610993578063c876d0b9146109b3578063d0d41fe1146109cd57600080fd5b8063a457c2d711610190578063adb873bd1161015f578063adb873bd146108f8578063b62496f51461090e578063b8eb35461461093e578063b94279ea1461095457600080fd5b8063a457c2d714610882578063a62068ce146108a2578063a9059cbb146108b8578063a9d3cd8a146108d857600080fd5b806395d89b41116101cc57806395d89b411461082b5780639c3b4fdc146108405780639fccce3214610856578063a0d82dc51461086c57600080fd5b80638366e79a1461079d57806385ecfd28146107bd5780638da5cb5b146107ed5780639164f9db1461080b57600080fd5b806346f1f5de116102ed5780636a486a8e1161028057806370a082311161024f57806370a082311461073d57806370db69d61461075d578063715018a614610773578063751039fc1461078857600080fd5b80636a486a8e146106d15780636b0a894c146106e75780636ddd1713146106fd578063707789c51461071d57600080fd5b806358881304116102bc578063588813041461066457806358a6d5311461068457806359e000c71461069b5780635a139dd4146106bb57600080fd5b806346f1f5de146105ff5780634a62bb651461061f5780634f77f6c01461063957806351f205e41461064f57600080fd5b80631d777856116103655780632e6ed7ef116103345780632e6ed7ef14610583578063313ce567146105a357806339509351146105bf578063452ed4f1146105df57600080fd5b80631d7778561461051857806323b872dd1461052e578063249ec2bb1461054e5780632e5091031461056e57600080fd5b806310d5de53116103a157806310d5de531461049357806318160ddd146104c35780631a8145bb146104e25780631c499ab0146104f857600080fd5b8063053f9040146103de57806306fdde03146104005780630758d9241461042b578063095ea7b31461046357600080fd5b366103d957005b600080fd5b3480156103ea57600080fd5b506103fe6103f93660046134da565b610b4d565b005b34801561040c57600080fd5b50610415610d9a565b60405161042291906134f3565b60405180910390f35b34801561043757600080fd5b5060095461044b906001600160a01b031681565b6040516001600160a01b039091168152602001610422565b34801561046f57600080fd5b5061048361047e366004613560565b610e2c565b6040519015158152602001610422565b34801561049f57600080fd5b506104836104ae36600461358c565b60246020526000908152604090205460ff1681565b3480156104cf57600080fd5b506002545b604051908152602001610422565b3480156104ee57600080fd5b506104d460205481565b34801561050457600080fd5b506103fe6105133660046134da565b610e42565b34801561052457600080fd5b506104d460225481565b34801561053a57600080fd5b506104836105493660046135b0565b610f52565b34801561055a57600080fd5b506103fe6105693660046135ff565b610ffc565b34801561057a57600080fd5b506103fe6110c4565b34801561058f57600080fd5b506103fe61059e366004613638565b61120c565b3480156105af57600080fd5b5060405160128152602001610422565b3480156105cb57600080fd5b506104836105da366004613560565b6112c5565b3480156105eb57600080fd5b50600a5461044b906001600160a01b031681565b34801561060b57600080fd5b506103fe61061a3660046134da565b611301565b34801561062b57600080fd5b506012546104839060ff1681565b34801561064557600080fd5b506104d4601b5481565b34801561065b57600080fd5b506103fe61144c565b34801561067057600080fd5b506103fe61067f3660046134da565b611555565b34801561069057600080fd5b50600f544310610483565b3480156106a757600080fd5b506103fe6106b63660046134da565b61165b565b3480156106c757600080fd5b506104d460165481565b3480156106dd57600080fd5b506104d4601a5481565b3480156106f357600080fd5b506104d460115481565b34801561070957600080fd5b506012546104839062010000900460ff1681565b34801561072957600080fd5b506103fe61073836600461358c565b61172e565b34801561074957600080fd5b506104d461075836600461358c565b6117df565b34801561076957600080fd5b506104d460065481565b34801561077f57600080fd5b506103fe6117fa565b34801561079457600080fd5b506103fe61186e565b3480156107a957600080fd5b506104836107b836600461366a565b6118d9565b3480156107c957600080fd5b506104836107d836600461358c565b60106020526000908152604090205460ff1681565b3480156107f957600080fd5b506005546001600160a01b031661044b565b34801561081757600080fd5b506103fe6108263660046134da565b611ae2565b34801561083757600080fd5b50610415611be9565b34801561084c57600080fd5b506104d460185481565b34801561086257600080fd5b506104d460215481565b34801561087857600080fd5b506104d4601d5481565b34801561088e57600080fd5b5061048361089d366004613560565b611bf8565b3480156108ae57600080fd5b506104d4600f5481565b3480156108c457600080fd5b506104836108d3366004613560565b611c91565b3480156108e457600080fd5b506103fe6108f33660046135ff565b611c9e565b34801561090457600080fd5b506104d4601e5481565b34801561091a57600080fd5b5061048361092936600461358c565b60256020526000908152604090205460ff1681565b34801561094a57600080fd5b506104d460075481565b34801561096057600080fd5b506103fe61096f3660046135ff565b611d6c565b34801561098057600080fd5b5060125461048390610100900460ff1681565b34801561099f57600080fd5b506103fe6109ae3660046135ff565b611dc1565b3480156109bf57600080fd5b506014546104839060ff1681565b3480156109d957600080fd5b506103fe6109e836600461358c565b611e4a565b3480156109f957600080fd5b506104d460155481565b348015610a0f57600080fd5b506104d4610a1e36600461366a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610a5557600080fd5b506104d4600b5481565b348015610a6b57600080fd5b506104d460195481565b348015610a8157600080fd5b506103fe610a90366004613638565b611eec565b348015610aa157600080fd5b506103fe611f9f565b348015610ab657600080fd5b506104d4600e5481565b348015610acc57600080fd5b506104d460175481565b348015610ae257600080fd5b506103fe610af136600461358c565b611fd5565b348015610b0257600080fd5b506103fe6120c0565b348015610b1757600080fd5b506104d4601c5481565b348015610b2d57600080fd5b506104d460085481565b348015610b4357600080fd5b506104d4601f5481565b6005546001600160a01b03163314610b805760405162461bcd60e51b8152600401610b7790613698565b60405180910390fd5b678ac7230489e80000811115610c0e5760405162461bcd60e51b815260206004820152604760248201527f4d6179206e6f7420627579206d6f7265207468616e2031302045544820696e2060448201527f612073696e676c652062757920746f207265647563652073616e64776963682060648201526661747461636b7360c81b608482015260a401610b77565b6040805160028082526060820183526000926020830190803683375050600954604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610c78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9c91906136cd565b81600081518110610caf57610caf6136ea565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610ce357610ce36136ea565b6001600160a01b03928316602091820292909201015260095460405163b6f9de9560e01b815291169063b6f9de95908490610d2b90600090869061dead904290600401613744565b6000604051808303818588803b158015610d4457600080fd5b505af1158015610d58573d6000803e3d6000fd5b50505050507fa017c1567cfcdd2d750a8c01e39fe2a846bcebc293c7d078477014d68482056882604051610d8e91815260200190565b60405180910390a15050565b606060038054610da990613779565b80601f0160208091040260200160405190810160405280929190818152602001828054610dd590613779565b8015610e225780601f10610df757610100808354040283529160200191610e22565b820191906000526020600020905b815481529060010190602001808311610e0557829003601f168201915b5050505050905090565b6000610e3933848461212c565b50600192915050565b6005546001600160a01b03163314610e6c5760405162461bcd60e51b8152600401610b7790613698565b670de0b6b3a76400006103e8610e8160025490565b610e8c9060036137c9565b610e9691906137e8565b610ea091906137e8565b811015610f045760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f7420736574206d61782077616c6c657420616d6f756e74206c6f7760448201526b6572207468616e20302e332560a01b6064820152608401610b77565b610f1681670de0b6b3a76400006137c9565b60088190556040519081527fefc9add9a9b7382de284ef5ad69d8ea863e2680492b21a81948c2d5f04a442bc906020015b60405180910390a150565b6000610f5f848484612251565b6001600160a01b038416600090815260016020908152604080832033845290915290205482811015610fe45760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b6064820152608401610b77565b610ff1853385840361212c565b506001949350505050565b6005546001600160a01b031633146110265760405162461bcd60e51b8152600401610b7790613698565b8061109957600a546001600160a01b03908116908316036110995760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f742072656d6f766520756e697377617020706169722066726f6d2060448201526636b0bc103a3c3760c91b6064820152608401610b77565b6001600160a01b03919091166000908152602460205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146110ee5760405162461bcd60e51b8152600401610b7790613698565b6014601b8190556000601c819055601d819055601e81905590819061111490829061380a565b61111e919061380a565b611128919061380a565b601a8190556014101561117d5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c6573730000006044820152606401610b77565b601960168190556000601781905560188190558082559081906111a190829061380a565b6111ab919061380a565b6111b5919061380a565b60158190556019101561120a5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323525206f72206c6573730000006044820152606401610b77565b565b6005546001600160a01b031633146112365760405162461bcd60e51b8152600401610b7790613698565b60168490556017839055601882905560198190558082611256858761380a565b611260919061380a565b61126a919061380a565b6015819055601410156112bf5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323025206f72206c6573730000006044820152606401610b77565b50505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610e399185906112fc90869061380a565b61212c565b6005546001600160a01b0316331461132b5760405162461bcd60e51b8152600401610b7790613698565b620186a061133860025490565b6113439060016137c9565b61134d91906137e8565b8110156113ba5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610b77565b6103e86113c660025490565b6113d19060016137c9565b6113db91906137e8565b8111156114475760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171892903a37ba30b61039bab838363c9760611b6064820152608401610b77565b600b55565b6005546001600160a01b031633146114765760405162461bcd60e51b8152600401610b7790613698565b600b54611482306117df565b10156114f8576040805162461bcd60e51b81526020600482015260248101919091527f43616e206f6e6c792073776170207768656e20746f6b656e20616d6f756e742060448201527f6973206174206f7220686967686572207468616e207265737472696374696f6e6064820152608401610b77565b600a805460ff60a01b1916600160a01b179055611513612d86565b600a805460ff60a01b191690556040514281527f1b56c383f4f48fc992e45667ea4eabae777b9cca68b516a9562d8cda78f1bb329060200160405180910390a1565b6005546001600160a01b0316331461157f5760405162461bcd60e51b8152600401610b7790613698565b670de0b6b3a76400006103e861159460025490565b61159f9060026137c9565b6115a991906137e8565b6115b391906137e8565b8110156116145760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e322560b81b6064820152608401610b77565b61162681670de0b6b3a76400006137c9565b60068190556040519081527ffcc0366804aaa8dbf88a2924100c733b70dec8445957a5d5f8ff92898de4100990602001610f47565b6005546001600160a01b031633146116855760405162461bcd60e51b8152600401610b7790613698565b601254610100900460ff16156116dd5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207265656e61626c652074726164696e670000000000000000006044820152606401610b77565b6012805462ffff0019166201010017905543600e8190556116ff90829061380a565b600f556040517fba61a96074b3d636edeee92caddc86293c917d5b6818b7d3698bb52e02ec86c890600090a150565b6005546001600160a01b031633146117585760405162461bcd60e51b8152600401610b7790613698565b6001600160a01b0381166117bd5760405162461bcd60e51b815260206004820152602660248201527f5f6f7065726174696f6e734164647265737320616464726573732063616e6e6f60448201526507420626520360d41b6064820152608401610b77565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b031660009081526020819052604090205490565b6005546001600160a01b031633146118245760405162461bcd60e51b8152600401610b7790613698565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b031633146118985760405162461bcd60e51b8152600401610b7790613698565b6012805460ff199081169091556014805490911690556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c90600090a1565b6005546000906001600160a01b031633146119065760405162461bcd60e51b8152600401610b7790613698565b6001600160a01b03831661195c5760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f7420626520300000000000006044820152606401610b77565b306001600160a01b038416036119b45760405162461bcd60e51b815260206004820152601c60248201527f43616e2774207769746864726177206e617469766520746f6b656e73000000006044820152606401610b77565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156119fb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1f9190613822565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015611a72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a96919061383b565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6005546001600160a01b03163314611b0c5760405162461bcd60e51b8152600401610b7790613698565b670de0b6b3a76400006103e8611b2160025490565b611b2c9060026137c9565b611b3691906137e8565b611b4091906137e8565b811015611ba25760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420736574206d61782073656c6c20616d6f756e74206c6f776572604482015269207468616e20302e322560b01b6064820152608401610b77565b611bb481670de0b6b3a76400006137c9565b60078190556040519081527f53c4eb831d8cfeb750f1c62590d8cd30f4c6f0380d29a05caa09f0d92588560e90602001610f47565b606060048054610da990613779565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015611c7a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610b77565b611c87338585840361212c565b5060019392505050565b6000610e39338484612251565b6005546001600160a01b03163314611cc85760405162461bcd60e51b8152600401610b7790613698565b600a546001600160a01b0390811690831603611d265760405162461bcd60e51b815260206004820152601a60248201527f54686520706169722063616e6e6f742062652072656d6f7665640000000000006044820152606401610b77565b611d308282612fc5565b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b03163314611d965760405162461bcd60e51b8152600401610b7790613698565b6001600160a01b03919091166000908152601060205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314611deb5760405162461bcd60e51b8152600401610b7790613698565b6001600160a01b038216600081815260236020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b03163314611e745760405162461bcd60e51b8152600401610b7790613698565b6001600160a01b038116611eca5760405162461bcd60e51b815260206004820152601f60248201527f5f6465764164647265737320616464726573732063616e6e6f742062652030006044820152606401610b77565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611f165760405162461bcd60e51b8152600401610b7790613698565b601b849055601c839055601d829055601e8190558082611f36858761380a565b611f40919061380a565b611f4a919061380a565b601a819055601910156112bf5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420323525206f72206c6573730000006044820152606401610b77565b6005546001600160a01b03163314611fc95760405162461bcd60e51b8152600401610b7790613698565b6014805460ff19169055565b6005546001600160a01b03163314611fff5760405162461bcd60e51b8152600401610b7790613698565b6001600160a01b0381166120645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610b77565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146120ea5760405162461bcd60e51b8152600401610b7790613698565b604051600090339047908381818185875af1925050503d80600081146112bf576040519150601f19603f3d011682016040523d82523d6000602084013e6112bf565b6001600160a01b03831661218e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610b77565b6001600160a01b0382166121ef5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610b77565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166122775760405162461bcd60e51b8152600401610b7790613858565b6001600160a01b03821661229d5760405162461bcd60e51b8152600401610b779061389d565b600081116122ed5760405162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610b77565b601254610100900460ff16612380576001600160a01b03831660009081526023602052604090205460ff168061233b57506001600160a01b03821660009081526023602052604090205460ff165b6123805760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610b77565b600f5415612453576001600160a01b03831660009081526010602052604090205460ff1615806123bd57506005546001600160a01b038381169116145b806123d257506001600160a01b03821661dead145b6124535760405162461bcd60e51b815260206004820152604660248201527f426f74732063616e6e6f74207472616e7366657220746f6b656e7320696e206f60448201527f72206f75742065786365707420746f206f776e6572206f722064656164206164606482015265323932b9b99760d11b608482015260a401610b77565b60125460ff161561284f576005546001600160a01b0384811691161480159061248a57506005546001600160a01b03838116911614155b801561249e57506001600160a01b03821615155b80156124b557506001600160a01b03821661dead14155b80156124da57506001600160a01b03831660009081526023602052604090205460ff16155b80156124ff57506001600160a01b03821660009081526023602052604090205460ff16155b1561284f5760145460ff1615612618576009546001600160a01b0383811691161480159061253b5750600a546001600160a01b03838116911614155b156126185761254b6002436138e0565b32600090815260136020526040902054108015612589575061256e6002436138e0565b6001600160a01b038316600090815260136020526040902054105b6125f35760405162461bcd60e51b815260206004820152603560248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527432b21710102a393c9030b3b0b4b7103630ba32b91760591b6064820152608401610b77565b3260009081526013602052604080822043908190556001600160a01b03851683529120555b6001600160a01b03831660009081526025602052604090205460ff16801561265957506001600160a01b03821660009081526024602052604090205460ff16155b15612725576006548111156126c15760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b6064820152608401610b77565b6008546126cd836117df565b6126d7908361380a565b11156127205760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610b77565b61284f565b6001600160a01b03821660009081526025602052604090205460ff16801561276657506001600160a01b03831660009081526024602052604090205460ff16155b156127d0576007548111156127205760405162461bcd60e51b815260206004820152602a60248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152691036b0bc1039b2b6361760b11b6064820152608401610b77565b6001600160a01b03821660009081526024602052604090205460ff1661284f576008546127fc836117df565b612806908361380a565b111561284f5760405162461bcd60e51b815260206004820152601860248201527710d85b9b9bdd08115e18d95959081b585e081dd85b1b195d60421b6044820152606401610b77565b600061285a306117df565b600b5490915081108015908190612879575060125462010000900460ff165b801561288f5750600a54600160a01b900460ff16155b80156128b457506001600160a01b03851660009081526025602052604090205460ff16155b80156128d957506001600160a01b03851660009081526023602052604090205460ff16155b80156128fe57506001600160a01b03841660009081526023602052604090205460ff16155b1561292c57600a805460ff60a01b1916600160a01b17905561291e612d86565b600a805460ff60a01b191690555b6001600160a01b03851660009081526023602052604090205460019060ff168061296e57506001600160a01b03851660009081526023602052604090205460ff165b15612977575060005b60008115612d7257600f54431080156129a857506001600160a01b03871660009081526025602052604090205460ff165b80156129cd57506001600160a01b03861660009081526025602052604090205460ff16155b80156129db57506000601554115b15612b5b576001600160a01b03861660009081526010602052604090205460ff16612a7b576001600160a01b0386166000908152601060205260408120805460ff191660019081179091556011805491929091612a3990849061380a565b90915550506040516001600160a01b03871681527f55678e47d0a699d3ab99b0184c4ff14f2246ba80522deb921aa0c8823578c44a9060200160405180910390a15b6064612a888660636137c9565b612a9291906137e8565b905060155460175482612aa591906137c9565b612aaf91906137e8565b60206000828254612ac0919061380a565b9091555050601554601654612ad590836137c9565b612adf91906137e8565b601f6000828254612af0919061380a565b9091555050601554601854612b0590836137c9565b612b0f91906137e8565b60216000828254612b20919061380a565b9091555050601554601954612b3590836137c9565b612b3f91906137e8565b60226000828254612b50919061380a565b90915550612d549050565b6001600160a01b03861660009081526025602052604090205460ff168015612b8557506000601a54115b15612c47576064601a5486612b9a91906137c9565b612ba491906137e8565b9050601a54601c5482612bb791906137c9565b612bc191906137e8565b60206000828254612bd2919061380a565b9091555050601a54601b54612be790836137c9565b612bf191906137e8565b601f6000828254612c02919061380a565b9091555050601a54601d54612c1790836137c9565b612c2191906137e8565b60216000828254612c32919061380a565b9091555050601a54601e54612b3590836137c9565b6001600160a01b03871660009081526025602052604090205460ff168015612c7157506000601554115b15612d5457606460155486612c8691906137c9565b612c9091906137e8565b905060155460175482612ca391906137c9565b612cad91906137e8565b60206000828254612cbe919061380a565b9091555050601554601654612cd390836137c9565b612cdd91906137e8565b601f6000828254612cee919061380a565b9091555050601554601854612d0390836137c9565b612d0d91906137e8565b60216000828254612d1e919061380a565b9091555050601554601954612d3390836137c9565b612d3d91906137e8565b60226000828254612d4e919061380a565b90915550505b8015612d6557612d65873083612ff3565b612d6f81866138e0565b94505b612d7d878787612ff3565b50505050505050565b6000602254118015612da25750602254612d9f306117df565b10155b15612db357612db330602254613148565b60006022819055612dc3306117df565b90506000602154601f54602054612dda919061380a565b612de4919061380a565b9050811580612df1575080155b15612dfa575050565b600b54612e089060146137c9565b821115612e2057600b54612e1d9060146137c9565b91505b60008060028360205486612e3491906137c9565b612e3e91906137e8565b612e4891906137e8565b9050612e5c612e5782866138e0565b613272565b60205447908190600090612e72906002906137e8565b612e7c90876138e0565b601f54612e8990856137c9565b612e9391906137e8565b905060006002602054612ea691906137e8565b612eb090886138e0565b602154612ebd90866137c9565b612ec791906137e8565b9050612ed3818361380a565b612edd90846138e0565b60006020819055601f819055602181905560225592508415801590612f025750600083115b15612f1157612f1185846133cc565b600d546040516001600160a01b03909116908290600081818185875af1925050503d8060008114612f5e576040519150601f19603f3d011682016040523d82523d6000602084013e612f63565b606091505b5050600c546040519197506001600160a01b0316904790600081818185875af1925050503d8060008114612fb3576040519150601f19603f3d011682016040523d82523d6000602084013e612fb8565b606091505b5050505050505050505050565b6001600160a01b0382166000908152602560205260409020805460ff1916821515179055611d30828261347e565b6001600160a01b0383166130195760405162461bcd60e51b8152600401610b7790613858565b6001600160a01b03821661303f5760405162461bcd60e51b8152600401610b779061389d565b6001600160a01b038316600090815260208190526040902054818110156130b75760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610b77565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906130ee90849061380a565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161313a91815260200190565b60405180910390a350505050565b6001600160a01b0382166131a85760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610b77565b6001600160a01b0382166000908152602081905260409020548181101561321c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610b77565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101612244565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106132a7576132a76136ea565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015613300573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061332491906136cd565b81600181518110613337576133376136ea565b6001600160a01b03928316602091820292909201015260095461335d913091168461212c565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906133969085906000908690309042906004016138f7565b600060405180830381600087803b1580156133b057600080fd5b505af11580156133c4573d6000803e3d6000fd5b505050505050565b6009546133e49030906001600160a01b03168461212c565b60095460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015613452573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906134779190613933565b5050505050565b6001600160a01b038216600081815260246020908152604091829020805460ff19168515159081179091558251938452908301527f6b4f1be9103e6cbcd38ca4a922334f2c3109b260130a6676a987f94088fd67469101610d8e565b6000602082840312156134ec57600080fd5b5035919050565b600060208083528351808285015260005b8181101561352057858101830151858201604001528201613504565b81811115613532576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461355d57600080fd5b50565b6000806040838503121561357357600080fd5b823561357e81613548565b946020939093013593505050565b60006020828403121561359e57600080fd5b81356135a981613548565b9392505050565b6000806000606084860312156135c557600080fd5b83356135d081613548565b925060208401356135e081613548565b929592945050506040919091013590565b801515811461355d57600080fd5b6000806040838503121561361257600080fd5b823561361d81613548565b9150602083013561362d816135f1565b809150509250929050565b6000806000806080858703121561364e57600080fd5b5050823594602084013594506040840135936060013592509050565b6000806040838503121561367d57600080fd5b823561368881613548565b9150602083013561362d81613548565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156136df57600080fd5b81516135a981613548565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b838110156137395781516001600160a01b031687529582019590820190600101613714565b509495945050505050565b84815260806020820152600061375d6080830186613700565b6001600160a01b03949094166040830152506060015292915050565b600181811c9082168061378d57607f821691505b6020821081036137ad57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156137e3576137e36137b3565b500290565b60008261380557634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561381d5761381d6137b3565b500190565b60006020828403121561383457600080fd5b5051919050565b60006020828403121561384d57600080fd5b81516135a9816135f1565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b6000828210156138f2576138f26137b3565b500390565b85815284602082015260a06040820152600061391660a0830186613700565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561394857600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220ab39adf21f464de6781b330e537699a5a3dbde25b812bad9a7232cb4e81e74ba64736f6c634300080f0033039bac7a549ba4e415e6562753fb6ce582d40752fb2c989663f0498375c5f1051e0312cc2028627f4443e2babd0f4f74bf556a74dd1eb1ffafed88296fc7d960ee6703b75c77d56adc5fb4fc0289fbefe1ba42fbe88b9e04adf1f15738542a41e4767403a18490c816c376b20bf78d63e51b924c74332cb2867612bf5223624fa27e24ba00581f02e697af337c7e137798a0371f797ebf79bb0ffec6967abeb1a66c48f34e1c4a01ea1852ee24604725ce00581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db94a69e10de76676d080000000581f02813ffad05c0ab96aec295be5c90ac5b34dec54b471b8d6d33a3e9e688f0d5820fffffffffffffffffffffffffffffffffffffffffffee401d39fbfd3d0fc1f2f00581f02b0f4aa5c7125816fd579b21436a75796db872f2b30b4d4a2179db122519b5820fffffffffffffffffffffffffffffffffffffffffffd22089c59648c177adf19021908a1005820039e3f06e9d290addd91f70b31b48e3ff3b9b03ac6102a0feabbb95976bae4f05820fffffffffffffffffffffffffffffffffffffffffffffe08f12cc43793e3391703ea876717905a47cf94f36dc670082834e8ca99e922a15fe5537df968da9af16203b9babd719d4629d9fba20b658474c993806309ea3d86d418afabdce18a0b0e1a0058200359f05d249a4bd13c4835b6460cbd1e1fb375e2066e12a15fbb4c5f23a4a7304a03b6c55aa525bc1de2c803dcde4bf5444a0798173acbc0889a1e05b221a8ac5d54c8e04779e805e130b78c038d87a9a54b6f6170964f5d742d1c7fa83e1e3e628995d375b32ffd5d608097190360b84cf9dc59c8189e8dab364fa5f2ba9148a910c4bc5ad26af975ac56195e010219fef0031af6c47890c4276a82a479a107d2ab973c524327a3ca069900ed022e4b62092f03b0b05aae491af1066366e1d9d2b33fa0b3985b8994ed67df49acee8422b17be70388292f6325522e37969eb1dff10e1340953c7a4f6043ff493e1d43c75d6eaf8200582003a1318e138358a38197c9a4caf3de7fd9704f485d78f75cb9acdbc9295261a043a67d3600582003e17cff07a2377b1e340772ea6845664e232a046da33858b1b0f66ed6cb76d04a029b394987be6eac84610058200396179fbad2a15608171e6951bec9f7415f621b3a9a4ad81db3b31ccd0b768049b4d305f193168ecafa00581f02d93048db8b11567f80d050a6cb34266e6b7a644909d65d00f0f7db83d5f744052aebf000581f0282b730988ae9ad3edd1fe5047e81531f63319665c56f14f3f01ddaaa0f8a4a01dc82072f9394a55a3f0218240058200347bdb1ee6953a0050e98d59dff914ffa4cdc818489f3ed99cf729a490825704a334a8668b2a7d342f7e403f33063ff74b68d0a0577f8ea37647619a5d9ec77d82d3b0a2df9860b1d98604700582003f87f64e95bb11b47f8bb0ffc39d7c3fb3272cd11a6320377fb7e6dc51454a05820fffffffffffffffffffffffffffffffffffffffffffff9cfcd4d77e772e4f5150328c9aaaf59985a49082c36d6de0fc03bbcd67d5ae59ff3c06818b91dbd67df7903a065778c00c6b3fa7eaaed5f07cc65e8bb444723e1ff5449e30a553f8e8d8a9c03ce0c41f58d908f33ed1a4f631ae468b726f398d9c4aac4f00b26b9569c71f7e0034014c34f39a2a904085d91dbbef7375f220363a323cb87ea9ef0915d2760d61f005820036d1ca003bab84b02efb7cf6f678b843d4e1d48b420d254f9ba48b8e3fdc1305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ff9903adeadaf6f76c1afddde51fe1de2ab3791cddba2a15b406676a0a543fa838393203d94c11b31533f2eccae34cd5d2e1a6d6fbcdd3f2f5295636d4dca49b4906903303efa99e96b2628f44c36f74b4d4aa1fcf3d7963b81896207a68e76faaab0943de039e9ad95a8681ea1e6d76a13b536d429b228171d5da29155109bd09162e385898038848cd63ea6fda2bab2b05cc2ada4588fa505cda7351e2c41f76f9e8d14d5d390383864f726d958d13e2ba2c9e14011e4af5b00bb225d71f1b7668268f4d554713034de54b861f1b245487af7fb51d146a6b9681ca9fb99db332ff6d762331838d31035f9d2a1e9cac101a1cda06dd295cde3b436b0db493013fa1eef7b88cec93714a0394593da8e6f746d0b58ff62cd8e271d72c0a0819b427f549288d5b16b01bbd1d03fc9db93a13054b56dd5021d8b8dc0eaf3d730bca8ad2e5acf1a0895e8788c2380219ffff03c01c2a637623585d4f2942f898846c9be6b3a8359982f771baacd615186acdb9034d8e61d55707613fd21d33ef55c17412960229c8ef760b8de2636e5156c69242039e802550786a62dfeb1f07adbabcea118bc1e9aea05198b1ea0c24314d4ae42e03efa7d55181df103e3607c9a3cf2fd62420c1ccb66e40035ada8d54fca12a2d2e0383a537cbe5b14aa324783c9a788425ef3247d7bd1a41663bf071626ad3403f4503060ee90b5aeae353f755a58e4874ec2f0e2a3d8d993332a8e1eed12d40572375032a451de008a26670b7629c3c81818f9510ff59be4f27056d7ba07ed7854d4ebc0333ff79e09ab721c492c1b52b9f0c88c8dc4a0055c6080f43aef18e1f98d13a4d032ff2c8f0782837410a23922d649dbe4f36f24dcc4421409c462a1ffc60a53a5003ab7e99d39756f300ca7ed4b4db24ad3f156f839fb20049f85b8af6ffdd1bed3b03f553d581a21cfe84260479e834b2066371a2f4e7b65d13d729501d24ffcf8a4f03bb010c1812038c048d1f344aafaacb36bb2d42c41adbecf16b5e1bb3c1e92c2c03006400bdf3267f41897edf34823a9285780a49ef3c4039cab1303dcbabe3704200582003c2e912dcf09f36cd5073bfce30a9b47b529d6d5dea39bdc977a03a85553ac04a02ed3ff2cfc287c5b17c03986ed598aab7c6a8d8eefd9907713d832b3cdafd0b2d62d64bf1a420aaa0d3bb03e05f9b2b5d69ab59d09ead8f69a4b00bfac46cd56a894b65398bd01795835cc4036fa8156df457fc0c3082053255b6a46a1160f8f6a79ba79a8bc0da091516dfe7039e4d2b40e64eddbe8c4b187a1ff8c7bfcffb7ff98d721ec8fef1270421b9cd1a03d65f0d9aa45b573c638d17250686f6dfbc0c69a2f7cfc027a03c2bcb70d3ed3a03e0faa6de1918b491ce45d57fc4ddb555ea494d6c0075fff14cc3e066bc880f73005820034772ba230a37fe1274e4eb1555547aba9f57ae31729fcd51cab7a17d2e60205820ffffffffffffffffffffffffffffffffffffffffffffbb6294bb5d04f8cd62c600581f022f3e3a20c9fa4fdca11ea9f11392f405d29309750bd07f11a50ec3d3de0b4a024850261acc9ec9ba3400581f02c4d2efc840d679a1cf7f2c6f6186ef0bdc3104bc88d9585d50fd4a58c33049e077b121feb407fcb700581f0237878c9d7a4e11f63e0009e7e8c83d4c4c425ad725d75642342bffa115964a0517aefeccc6e994619e02190540036d9b3e160e27b3debf6dd0851b12cbfda5b5b2bbeb2ac6769cfd2d5aca3f0df20367342e585948b8718b40baf08ae6d04e349063544c19340d60364700773229a90309a00a19166fe79e83ed4842fc530f059cf941c517d3a2360769a95f6f74757103cf0a02ee5afec08a43f407c9897ebb1117d1bc22c6847afd899d20468997352303452918d42078ab02ace95d9026f6da00be604317f162956977df68334d16fd4203fcc50622f870229ea3d86c721b32c7e2f8c51714a2785962ffc9d183542b30490219efff031faa3f475f6b0c1c152b40cbbaa8e4950aa27b9f77d04d7f264377fe5c54def503f0735fa00ddcb4b6f8d83b57b109bc62f019ed7ddbf26b34540b7ab656a4100803615dfda8fd9ab082d3b8e84cf92a728f9c81a780fc1fbac2227b2584d7bde9500219ffff03386bf2dd2add8737123df1654584dcd81cb78f1728411c67805f30bc19571bc5038ebe226d0e562bb4e44eaec135c28ccf21d9f516b6460062b8f197cc4b8daa93035ceb9d7a07eabda251c92c7540a547d5456b1621f60d6082c4ecde8eba23c9040356f48552bffbbbf3846107c3cb0114b4c314dfc036607542c41b46635b25e18703e5c802ab60922777ffb21d65b9a850e8462c15e607b91bacd72ab84e1f2f5b99031c272a51c7775b97d3642ec4770b5d09ab2dd325a958f359566491ee2a2584d203e009f8a1ed3d7d4b70be6f2b9201e4be7fabc8ea7722bf2e5ca6ae33f345db9f03cf123c3778da8e5309daa516f8ff809463ae134baa88cca258f5238ce346795603e1b54c97f5aa60c224d5c624e2752e1a2d39cb2482d272435bc94a9f086e104703be42f54a2d9654449e6831eaf339dab982a687f6197616be1683172b8ccd0d000332386fdc7777bfb17cb3efc599445f9045c5411a8bdb6b506b06f8293e31c10e0058200322bed6e63780ae3d796a378e39a047bf084a159bbdca42f7b5c25f9f1228a049c69caf1cf8f3b06a3600582003fb8f9ff40918e2147c2d41cac2573217e714db39afb69368fd6a1b88552050493635c9adc5dea0000000582003af42b7204a6a354a87e04fa9965a28fa36823ba4332e663ee41f0dd50e03f05820fffffffffffffffffffffffffffffffffffffffffffffd95e3b53c530f4dc75803d81abef538fb7523b7e23b5a83c45a3625d5c22b863b829005017956ab8c2d53033aacc6cf4b12c12f4bc916c258749f5e98a0e453cc294c1c033f153c1c5e7041032759a8376bbf771bbffdefe4cd04ecadf24e5a59926ea53fc9ac85a80fd4a84603c521cce141367b532e3446be76e0750b5f0637438acb0b56cc1ca105fc720ddc03b53e6b1585a0ea0d9848e12765286736d6fec0b528271955379b4d48164065ae0058200319917898ebcf87cdf982e8d5ba3615d1d0c8c02c3ef47e0ff3e4b1f1c330f04a01f5cbba83456830b7ea039dc33f13f432dbdeed5f5f951d990bf72dc32b725344a63b17b0959230532da600581f0256e099fa94b3e9ffb59fcc845026b133fa7fd927d69b77be548e2b13dea65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0289b58eed8d2b4f3c153562d17be27b14db488f65d5d0b08da11c8c3ed98d4b029ad7773498a35454f6df0219500000582003311455c237c8d815c7f9f45b153f75eb229787ff4c88f417b105c9a9fb1c305820fffffffffffffffffffffffffffffffffffffffffffffeaac2239abfdcb036fb03fc0d12dad75b13f6598e44d299c79a36678d840075064ffc9b01b3e9dd04547803a81ff16baf720cf7f247a1edc93ed1ec0f0bd8bafe94efbafc69cd263e774b670219dfff0311b2054b494a201c4ca443cf7db84cacce905b38bd01cb9464d4218c9a79f3ce039a5ccd4b6a84bf15c111d67f2c0e8099de360a41cbb885365fe0ad1017ca886103267428da47b19269e793e9b5f361d26c34e1cb86c6e5cb1a421a34c35a3a920d03019578d8034e6de2b17e8efc1084cc7ea19e128ba307e3748c731b16c0a3aaa4037f386786ad0df300f31c44ff1fc6f9d5eb66af5f5c0b52c2807ebb170fd21a8203770f1fa6da52b7b497c12eb5565bba1ecf975058b48cd2a0c5e068cdfda974a60398789820b8dee89a2ba6948ee34fb89b6617189d94972f8611c7d3027cab67340058200357f76a935f9c5385da16ae61459a275fd444271f4237d0966d316798a21de04965fa2b9ea93c2677010058200359992830035bad1bd6c3ad047d1b653ba7ef6d2d0569e5efc144edff7fc7d0481aefe6a6f01d31660302df6c7c507510a984b4786ef67faa20785e4e10141640a21b373861c9f89fe3039869c070c56f93502116ab6af985109baae1a3949b572a8186a50dd3b4657c06005820039394712153eae9175d69b7e13f7911745791336c971d4628805cec162a98804ad0247875f7880d4754fe03ac391d526d105d67c9196825caa3b9d427ae55dffcefcd7dd66bc4789cd9ebac00582003c382a8517ee9ad50fc30c2f5432d615197bfefa5ea08aed890c6b106d5e420494564531d4bd8343fa400582003dd795e380f2fb2f6814987813c225ce74b0b37ee1a764736d080f8c0b7c0605820fffffffffffffffffffffffffffffffffffffffffffff5dd9475affbad1f6dd9005820034d7be41b096c9782843362c30921f8be6e6b40c873ea2ce6cfd2ac16e23fa04a01d29d59e3f46d016aa700582003001741657558bc3cd1e7f4c9137dc042a658c9cb6a4c58ef524122be402ac04a019af622ab3ce293aa8002196f5e03e8f680d03b375cec0b3e51889e54ea9a87a82028fefe51e075522acbc634ed1e037d3135dfd074bbb5547d0d7e4802bb01b3df19b94614695882aa53c503a7c9590219ffff0346e6042ef5af0a46333618987ef634ea268ecb9c9680e6080f0ee18c02091c5f03c6228472eb6acd5148488c6503b1a8fa8ed99f913e1264d15f2a33d75c0aa2fc03ed0717297c3c9661bd34599cdb6d75fd1d8820573897d06cf1115abc3d9f2239035a7046f3d1f0897bff462fa6e101a4c4535acb84dc9aab6173efb8999c69751303fe7aebb7a1a9f16a8411af4f6d0099a4cad9446ebcbacdee2f950ece69237f2803f22c90c6fa33ed0a60b65abdb77a227261b50e8ab9d5051d1961b1edaf0efed0030fdeee170d91f71d108886b9e92a91ca6af4ad26992666564a25388716fb162603be960aea0819cd4cb8ce56859cd4f7e79e76e64f065efa18fe0325cf2570880600582003be25c7e22672390768789d04fc3f5002b3a22ea91872e61ea2864eebbc6d70410103e990d93f709c1452b16ce9f2edf929697996b91304be90d068700d45466d078403aaaceac6f5730a6911abc405e550b22c3e7cdee9b9571ffcd01846aef2051cd500582003c41993c5f3b6b5a5310f87a13c243eaa61679b7f18afa222edb038e78e32805820fffffffffffffffffffffffffffffffffffffffffff5503879fa0074354e3ae6034b040cbd9f5afda0810cbd98327ece992996f88345a1bc85139dd42240001e62032f8db79fe427d7577842e70ff766c92d97b1ee8bf44368ee8c58d1f09b4f1ff300582003e628017d220e32de99829980296930af7acdbdc855519ad5d119bd70797ab045017b89ed86005820037977d04b43b158b1705d0b823719b57490fceca97ed6a343d5d32caab091c05820ffffffffffffffffffffffffffffffffffffffffffffead2fd381eb5097df783005820031c5d297a71edd09fdd4118674c6b4232a2654393e96c2cf22f26b1cc9234c0498cdad9315e922fe4f9031d60ec69b386fd20a4a70d4164f3ae8cfe3b4bbac635a6008f2838706a22342800582003b89327d1c8626cae5001176d598e2e9f75005a18605de5e569cee79a2bb4205820ffffffffffffffffffffffffffffffffffffffffffffef2ca61ba5ebe436224c005820035ac05df76f1c20f76d3cfa010949c496f2baff85efd0e83d4f66f8216d02a05820fffffffffffffffffffffffffffffffffffffffffffe83c4b56cafdfb2f6cd0e03116439629d1a0a39db4fd67d7f229a5f12f9bb2a99c0b30b1b7204a389ad428701410902197fdf038c7b1107a17382ca96c5ecdd5db854b83523ce2007d361138f6e8339cdae977203e6e2b43b1b7046bf6b1ac433fd836b7d9c8eeab9c6dc1404cc4e45412f815246034732ab78ae1a0da842d28b9274afc1a3953a79758ccf8c36bc00e04db9d4f339035643f17e8b51f2b773d36924fa73a3cde1531486531c9bdab5f14958766bf99c03df2cedf70168192148f65f5becc04da9d1b557bc82fecaebc87f9fcd0e1bc72500582003c9a50b6feb11460b1085d16a9b2980ef537c89e62925d08a5a106037e12c504a650763aaa1cb3180000000581f038e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020440130106b00581f03e3255626e7b9ef9662a7ccd8ff958bccc1cd67031042e9924a5dcb2427204a5919ae44dfd4c150a0320219020100581f02df244570a3dceabece829b87e2c37f8fc607298cb1ef031abdcd6bd8daff5820fffffffffffffffffffffffffffffffffffffffffffff9629df8a9798cfcb60000581f027629cdea04c12d906b2b1d126c0e51579426e7a2171a8ca8196ee914fbff5820ffffffffffffffffffffffffffffffffffffffffffffd1f14f0cafe0bdf7fe5100581f02ece656e5e8b9475e3cfd224ef5519b976c3c41f0c136ab33b15d358b410d490e8ce814bf397cec870219042600582003b4c4a5cb4ca796760528e72d777e32ebba3bc09d0611af91a364cd298672b05820ffffffffffffffffffffffffffffffffffffffffffffa82d0c68f6e150ad63f303fa0a96d958cd5be4ff6dfa4b6e341165494d58685d6d25306d1d3f381e9cfe1e037ff93f3e47cdbf54fb25222950bca928e7504e88e454ef1f67655d5c867dacf4032209bf4728ae3a052861b59226d112de636df45e9449bc7620a7e4517967b539033d5ccef8277976d3f45d89115b9a0e243e98fea2b9a23a9bbf65b2f3864bf19000582003590b269752b72c3dd032edcdf482b92c0fd76adcfd23a337175eb401a309904a062eb5ddce38afa40181031237b306e4f1c4a8aa1638b52fb3f111c7d8c23f6d1e5a23a0f523c04bb51213005820034bc68faab2e290cb08f9947cee9e5f7a2b9afa41772cc7544dccc07ff39be05820fffffffffffffffffffffffffffffffffffffffffffff4e44d20b5245c6fc1320393aef11a429a294b52bada7075f4cdddee52a000d77792d3d161b386b856803503a5a87695750e9967c20a1347111da11af7595f4b1e7180267d4aa617158eee3b0382234f16f3671c7ad4be9dcbd345da520775774c3689f3dcdcedc729b55df4b70334a659f0a7efa1b31ba380bcc6b6639463c2542d498910d4373dae22203a3cba03e14f3c5aa0cbe8180ef7bdceb6fad05a9330cc42e113a746c4b86fbce5de675e0219bfff03a5136d0968b2139a7a2e4794c52086f01ad3d5dbdb94050912f5e9dea2a08618039f0fea5a7a7cdbbf2c08671cb67fbf00b6b0d44056874c4c7ab18f70f04b02520219ffff035041993870c6d125c1cb09cbfb534c932a2925f6b62d8b97a2de4e3378128ddd031481cea2986ebb7643ac40c8e8364e1b626153e39a6a1b1921c293e00bd81b60033e015e14edc48dfbdd721d9ea2cbfb04b1f819236c680fbe7b550f12a527cd0403d7461fee1e2721e1b3236bbab10409368c3652a06a7817095348d773f905832603d155628b234b67f6c61fb8a337a80b4d6c1ed3b2a67257a8c709b2cec346408d0374e4a285758ba86bd3fdf51d3d7be4bc4f3fa2a2b366f7d61574a8ba1c2b7885034b26068dbc58b5f47717500bfe02d0c782047e5de3b9b2e8b63c5d00ab6e34f203c102a01efd7f4c1a545820b912c01765774396c622aa417e783adfbd55c0364603aa13402f5dc24f481dd704795023857af9c2b2e7740cd10f65c3d292c0867543005820038e08f24ad72c33a7faa5a38097849ad90923408035912ff5e5a794b1eaae9049418d60554e3bb096b600581f02e3e5c5156923d4e4eb1353debb9cb947b36b5426e15e92beb689b65d5f7e5820fffffffffffffffffffffffffffffffffffffffffffb39a7f1c5274df60a84bb00581f027b00b954ce5ddce834823f593416482bb18ca8a8c14fa7109fcc1106b46f41010219081000582003e345e7088d11723ac05dc5019954a5dd411e9c9be3a6291cb445c46d7fd6704a0bb50a294a5222e657f6005820034303136b3f0ab47d4ff60954e131ef87ad98f92da67dc08c8d50146c4bbec04a02526755982e96ed23060377b01919f3153229d3d71137f74954c5e317a5c916213aaae915643ed70b128403b64776f2d34449b3857071a9157954ceb5203b5715c541fe1ae3a7f4295653c40301980f33926e5197f62f0e921036a226215de8c90d490d96ec614244f0e70f05005820035a5c89aa63e7d1cc262219f30dfb4fc5e7e7ec408489ad1c9274dbe93b6d504a11dc5d72eb3107fa6b8d00582003714c3858d9094d5aba5eecd458c0118dccbccf6c18bb4be743c4e317b974005820ffffffffffffffffffffffffffffffffffffffffffffd2f894c8e0aa12c6f18b0219ddfe0306ff07ae47692b44cb9af5c53d0766939853ace72b8708d94db6e31101efa6f70309ff35c25aaef91488c49c7e836ef4984229d71806008d7abe02739ed94d02e903f7abedf34e36f275394ddf40f3e75c9c9da0d25fe2ff73bdef976bee11dd13cd03897860983cfa7dc0229ac71e67ac295ab75248490887e850eee6791727753878037891b49dad4306c1acc80ff53fca7d0c54bc74ebd886ca88b1b736fe425b52bb037b0c2f58bb2ca7ce40baef1bc72a57d66d9a3a8325c56a2567b1ed7d081fc04b032724d8c93ee15dce3eb733e2e5e180764eab89ace09bf5680b8264e201a3173a037e4ccc2bf732a2c5d8a81a33e06a6e236d3db3308052838dbf64a3c048220b890302e51dc5593d486f051449ceeb4688f8edf348847e236dcf4d78c306b6d0142c039122270b9c54040e8a455be2a792881367c9f64977279e34bd91531a04549d810219ffff03d3a8b1e024b344a4e22e6bc651892bc4f99cc95b177bf73a7678939d21de01fa0351f7ccc41f660caed810f3a54f0f5d8c10fe22eb03415aac0332c70f846c10f203c7f22ef8504f3ea0e713a7c2973827276e4f0369f43da218652b2d1fe5a303f5038adc2dc722de165ecff584ff7256652b7243021756aee493b878243742c7862903184fa49d8a0146efc5d2e3f4412337d5d1c900966b09348d317b697644a9bf090362cba09f73c4e9283451e62f2ff595ac3c806b3576a6bff78b2c5336ea623536032195b85b0da2acad49092cedb8e46a11ab8bc6ff700b019f606ccbcc8a003121037a51b8594663a73cc19513ae98622612b12db2bb771ff0bb13e0363627b5225b03bd5ff837359cd7634e836fe58836c7fd73ffe68ad7950e0297610a71103b1fcc034b2c61c42d4714ca365d436642637659ebd65a61a0741faea72878f2435d876603489b36581448dcf0133b3d34643be7a0a3884f2c7839eb7aea5ab105a6cd91760357009c5ab8e0cf745c4e9e14a7880f9738851390bb3883fb657d728bb26e855400582003dbf2b65fcc213a2c786cea9a8eb16f05877f1ef9720b293d024b001c4f4a605820fffffffffffffffffffffffffffffffffffffffffffffaa617ecb62d4ee5c7c403ffb8e4901ed63e9e060075942482340e1e9155cb6e876ee806a566d72240f6e40388614fe58d16157945189c0996db2666983e3d47ecaa08fa0db54246b4efc6d20058200359a39d406fae9beaae859e5085256c408d1d5d84f7c7397675ec7140608ff04a540a87539976114e54e6030b91f6ecfefb2c4449ad80ebcfb01d1cadddf79be9a60b08bb2432c87c6cd1d900582003fc099e1358ec2960137c702a9d4258665076d1ad874170c9ea9b5d5c76c8c05820ffffffffffffffffffffffffffffffffffffffffffffeaf531c6b54b30a812ea00582003bea76e71d186480071c4bd2ac74bf415ba4ee41015940604a49e5fc43133505820fffffffffffffffffffffffffffffffffffffffffffff7ab909db8b1e126f135039a53aefc597bd8eead41f9cbe89807fe04f3a41108ba4fbe7684b145f672d34a00581f02dbc873b19a02003b358b05285c8858361ea9a111a32dd382e4976c3a958f5820fffffffffffffffffffffffffffffffffffffffffffcf79137394f619e5fffff00581f026a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34444301010003ef28fccec2a0cc7cb2df13d06d4674268898f8c2061d1fa9c6cea8508699984a0219142000582003e0177a0307e1e4b6ebe73da075627e728d84e957c5bf03646381b48274ab805820ffffffffffffffffffffffffffffffffffffffffffffff4243be1fcb74cfffff03bba7a57ef1be3e4d2c4d5781db8b9fcd5f9da1ef49b304c929a08cc287f4dc45005820034e397f6798cd1eb94fbc1813ee86dc1405822e823b1bd68edaba4271462be05820fffffffffffffffffffffffffffffffffffffffffffecf7db311312cd108984403435c744547bd11f02c87cd9d254c434b36202cc6c98745ca2137ffb33b530ac700582003c2bfe1f3b009ce3eb60ac3f78c0b1421986a048d32f396ffb9db0a07f07d504b04230593f332df3564000000582003d7b7e32afae55ce4c9a39f0af63f1b576a9832924042a9c3288549c91cf1705820fffffffffffffffffffffffffffffffffffffffffffffa92a7def3f12a0ac55800582003c5ea1e65d573787fa09bfa9b1234fa97667b4851aeedf95fd654e7e9d9ebf05820fffffffffffffffffffffffffffffffffffffffffffff4598459d03eb31bfa290219ffff0373b283933970ff2b618aebb4c110638c54004135d90a09446cedcf2e37ed82e30388d8967d83302064a1684c5a41c0c05b14d6494b609bcebb1f96e723d412ce7103f511625a9dee05cfc64a6e6d7740e937ba18caa54948b29dd87aededa2605c4c03ca7146ee024102164e21c43eaadca8c6f692ef073ea0cd138dbd7fb1508797e50219ffff03a5b9b11872f85581e157575f40ada59857a9e6dc544d8b32f3641f955c9272f6037c7c67bf12654071d0ca523ccfd1858bdc9641de590c96515499ee1fcbc1b3c50380559fc0d7aacd25776a9b29e1d11696c0ab427c77e04634de5d2c89caaae85d031a82a7c1338a99c61e344992f6359654f1b9a21a556ace1e6d524b333206bf8303a80e3ce8adcf5937d4348db8969e2f22f3c79bff87cc2a74e742255bf2b7d7e503b416972a555ed0bdb60e9ea2e31911ca09c671620cfec8a267c654de30ba2f29032a38215d1af68426cc2532d6fad98a1fc6c8636df125561a58b283a69f697a3403ff52c14f418e0bfe86ecbd207c21266c11443a83f355a81ca2adb2e98c983aff03846566845193f1fa2e23696edbad5ea5d7397e2547ee2cf74fa3a35744f8b3f103dae8ae952184695e939171a15693e1851486e8760288a063ba6f008734d003ae03867657e8ed32c1d06ccaf45f296f0ac82e5ccf96c583c3af4f648eaa9a3a4c510360a9753244695210ef8ab01a0b6c377156e47e8d1d1d41866d80d0d0a5eb12d00326db699a82c26102bd1b5f55505e86028cbf403e921d4a2db4f07d8d26d7b6c203b05af99c83312de80d4370dfb9120f62675ea77f796251701d2ec5d5c9b84e1d005820039a3c30080e06587a7d279bd0abbab40e9156a470f20bb1b514e4874bf7b1a05820ffffffffffffffffffffffffffffffffffffffffffffde3f5cd19ddc5615bebc03fe0c638a8a4a96434d597eb6030f5e4a1313c58221bd8acaf9b0eb614f9a877f03e8634d5d73ce86d86fe39a9ac41b08bed52c8e4a2d8789f1b2a49f3d7b29b0e403d305461b1c9a243032cec94769c8838a9a97c19e21ce75ba1320668f96f7749c030cb699b9c3dcebf755199a2f6df626228f09acec93f3ef7dc3b7230ad979af4f031cc8933fb13e74cc7fcd6c74da7c28f35020e8f091454b021f20baa0b8c85135005820037e6b776bccee52398ec86377e8a760a27fa813216be93bbd8be21f021c3dd04a30cab0ea6f7d709ef015005820039db055df51b727ad49a5cceeeb51cbca53f8fcea85f365f41ca1b95f7b86605820fffffffffffffffffffffffffffffffffffffffffffffc59fa91f3487e03afef00581f02e16abb4067102eb4d03534d6427806ba5f5ee0e5d89a3d6bdbf8c3d45d875820ffffffffffffffffffffffffffffffffffffffffffffb487d52a8d422a9ea25b00581f021d682afd76ff315c080f8f03903d7808f3ab2c996897124837122fb88bce4b1515322a4ac9e2426612c10219090000582003144375cf81033c8930f761719faab773d16e9d0432090578b8b4cb0da466705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030222a720f42ad30ea3d236f4e58e2424a415889ddeca681289c1d69ac28a618a03fed812092dd62d1c40c6f638ca94bccd93917eaf6b307719478fd4ef6737c0670219f3ff005820035ab5e4f14e41edf444a73a598777a9352dd943d6d59d8af1af55be175dae305820fffffffffffffffffffffffffffffffffffffffffff9f23dbb493474f5fee51003890c46bfd9eda0ecae4f35e3383979224a67712c0f3697095196448a2945785600582003ae2c02e1d4588f3b99e4e8c40be289627922cd6eeb6b382e3a6a9e6f027e305820fffffffffffffffffffffffffffffffffffffffffffff5d0be7a30a800c0d75800582003367d4ebc5122ebaae9caab54770f51148ef63e046f04d081eea50e8c7b9cd05820ffffffffffffffffffffffffffffffffffffffffffffebf96dd6d0e6e14c000000582003b8bc60fc9692acf8ce7145b2a73d78f2c4383df8cd694aa5c4e30b5668c0205820ffffffffffffffffffffffffffffffffffffffffffffec806a00ae9c23a94cac03785e8ad2f2c66175c639fb3880c05717b3eedecf39b6e7f409e1675863521a060390d1436c80415cb7231b4ed6cb3930bb6f61867f124220a1f6032cf876782d7503c0cd16551daff32b158504f06df73ae123f2de34e006a79215a8f4fdd3bed41b039167abf2ee994fe3c16ac50945b918d3f85916173d47c79cfaf79a99dee4e9fa00582003f02383222e78af3a6cee8d95ab47b692f556ecb3827790448a53225e1d4f7049db5a4ce1b16749dcdb005820033a29e69324e4408df016d5511958362f083b1746e10fa577cd6d10910f9ec05820fffffffffffffffffffffffffffffffffffffffffffffe3085ceb44ddb27162a00582003030495599200f2e814c2ea480313d66554a248edc8c3e56b28d031ad9ee8804a24781976fa440415c2ad035adb7f328a41b1c3f985a715919c529a02bd27c730e9bf517e72e52c9fae5a180219f3f703a683fb61ecbf15b309ad6848796c577d4f32e14b5c130b16c78ffc6431441d5c0388b3be2efc6071a57ac88ee00bafa4d0edb0c53573ad5404bf882bd63f4eaf14036914a0fb385f7abf616e56b66d2736d0b08efececf60632e2ec020ae608ee7780310065f6a389e780025f1eaae41e7db0da2e6eab1c3d2ad9931d49847acd2e7d70219ffff0382c72d4e4c68323a799099320e6e9004ac4d0516c864eb66969a7cfec2f07d9003403be8c09fbc04470bdb313f418b7ea4398877b1eee61fe1e83da9dff05863c8035d484004a83a6faacdaa8e3c0477310c791365615d0856ad608188830aff12fa0376838eb13e1be86e10a2e95ff02d946fa66c86af01645e83d4dcc0dfbf4e66f003e9e7ed6de78319ce2e20bf595347e25c49a87a1e69a7d185bcb5bc92fa1ca1b5038bb8b7eaf6965d45a955f8bc52c122c9a7321994433fdbb3d913cc4589645e4e037dfa8b3f68203ee0cd875983e7a211b00370f8b69ab1e07cbf127b0a540fd6b30311a9b92d82d0ab55004d662998a00f73c5fa3f6197072934794d4cb143c3ff3a0359fea4478ee3cc56c5e9bdc6527924c0f7a3a50051526ca8e77ba5b3f51ccf0703f8d4284e75d0281b1c339cab05d25079913724d1f20299f33a3a1fc309f74a35033363d2117275d6cc520173c8cb421cb7fb417917935c811384991da38ba10929036d0d98a12be4deeca2337ac68dc3fb46be1fcc654b17b7f9bc4a4b415be2a97803a75a32acebaa29b0bcdc64237aedadcbdb0a734346b239150f907860f12b9b4d03560b807a51d7e164d3051ce91d3fe899a838bc15fc3ef615c3dcd59cb68931290315feacd9729d1299f11e0fa64633392f98fab9ff43d2fb744bf81448d59574f200582003e4f51825f40dd32cbb62dcca5af01b1bac49a6665f757093080691c7621c605820fffffffffffffffffffffffffffffffffffffffffffffe696c9768b3fa4fffff03ddcbf1ec76c257b7185eefc9c0cc0f8d08113ae40d92230b1adffa1ac9989e170058200313559aa19e74e3f3608a4791f48a1dc1925896816cb99283e093e814433a105820fffffffffffffffffffffffffffffffffffffffffffff5a73bd2cfcdcad4764703d3893c9fcdc578281d2d28578c50735fb6fddbbafa35389ae067aad230c8fb0503ea2c297c2b2e1b4710fa16b8ec5aa24d16909428c443e286cedd75a7b6416e17005820033eca6eec8cb0db83c589eeb8675ae86a6ec287802a8f93361379dacfd3b1e04a0cb49b44ba602d8211d703bd02bcb42650295d1597ca8e5a0189b19403271e11335c3449c8d5ec7d05bb9003b5a9845475f47a3d864fc54968d12e154bd11980efbd74d250f34794f2f4924603e71da48c82f2e9aeeea1dcfc553968789ae69789cea716bf08fbabdfa009b43f030fedbb8313bc2211ab35c9d1b596ea2fd12463cd82be74bb787cff3cc3843d3403bfd60263848875c257fd8eaedc6eb14079a84031588b808a3193d9f23fe2234b01410600581f024b8ff6d9683a2a5853ccf6d69a3d5e397ff26f913b6e8df5c27f58b9e9b749ed45b0c13b4c247fb300581f02e672d04982374c27132a0d0cd63cfeeeb33bae444ebfc9b30fb65649a51a4a01a7c3deff6676bc338a00581f029ccc27f7b690f979335fc56d127eb0db3f2c2082f3fb32f5ccc1ced5e35a495edc1894965c717c0002192810035a6d64b962dc9edd76fee67b16b0c7696c40e1a5d3e2d5514ef837ca9c76528f0219fefd03366f50864fcbbeb476ef55498a41c1c355095e37f3599313c53b3ecfcf1d33850219ffff0219ffff05581e0387255724cb2d0be6baeb4f8e02b5ec641b60d81227e6023e23180fc4500f014803cb91c93741496419399705581e03b23a2199420607f41ab6971e68e30fd20e7d2406009c732df8a70ab4400c0147330aee4c0c488b030e2790b69935e5620b9ea238779bd7ee3f78c25f3b8a28da15cd1f8d7d52057803e150c5ec29741a12f7fa322a5f8768fee5d5d88b3714d7af9a49450369b05129030da0929a93bc9298febf9585b683eeae46305b512ce5e0f2c45ff941eaa8008e0335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03aa0be738df6115f31b70471a9968d25f70ffb351a50bda5e7d08218a7007011bffffffffffffffff03910d47f1b46b8e6427b4c98245379305342beaf3d309478f46c955cabc5ada1f05581e0333cb3a0de54019c7f78e26d41d9fec103fdb4f9ed31d7505964ff6aa000c014714b82c5054800005581e03d8df18c78dca8c1993caa5ece3e6430b7119a38efd2ed8300193b02e0004090219e4bf03a333d7b83706565bdb6dc4a9102ced9f9b44ca713d8dfa68f6bbd6fed2f7e5f903f51e730d3f82f51a928d999f1641391a432aceb8d51255cfa7c03b1314b9f55503f660e0ff4c185a9876698eaabadbd7454041364f9a2b0bb0f902bf3d10294e18038303168b87df3b352cacb6fb01d1328f113f630e9a83fbdcaabb1e4ac064c63503489b3813d0b7e129740c470fc069136831ebe1e1635cfd53a0fa71b3c24dff320370b43fdc5a77a4707d01cd8ec5fe09ff978bdeff5056485dfa5ae9234833c2fb0326423072ff110f8eac229fe43672fde31dac5ba6726e64db393ef034aeac2837036859096dcc355107b47cabae72baf9b439f963e9fe04e207ed633cfa4b1f1a76036752f05a0fcd1c3a656b3f0c611b4ef2e4e5f9c5509ee6d312aa0fcedcb34798031c12654a55bea072a820af370b750660083625a8e76264afb9722edccdc9676c03dfaefa44c161cfab99c265983814faca0bab8e68c8dc0d55f262164bc7b69e7303651a8b305f5455667a1d2de89ac10c76918bd391995a5a616667a95a79656a3103867bf913ba3c9e09a85fed4f345240b7ea3d11da2d1dec2bb4af45cdf758d11d03aebe54f3de65915e5ad7ae10a730cdb3e85c9c02ad83950afbff6a8eb093c5e70385aa51141a29c8ebb3850cc0b66621d1776d72243342bef844fb435dbe248f6d0219ffff03051843ca0a4553bd74d2a272747e5963e3c353c566ba024a5d66ccfee01f29360305b8da44652d13b14a01ab53aed68f6be43e389c7192bfad138974d6a645dde403a90de7b3fc826b8d73bc0c2a6b74a129e2546f83788939abe3147b95e150b1ee03426db15bc8ce678ef5280a644e89390d7711f09800fb4d929a3df22be31063730219ffff03426205d2adc82135bf326017b7822f7447b1754342719df8be24ce2343bf088a035a8c051e2ef50147432a762964958e52b4999085a8ff4e8291c66462f8fa1e14039746f1882e7ca53ff68ea0a78fb80994b49755927e121057953161b71c457bf40348154d76092d7e471fd317ee2b590602ee8954a888c4d9c97b2043b99bbd95970368ea00dcacbcec40ad22b4d66f8b58ec2c1d3bf4b0e066f75673a143894446f503714cc3806d77f84bab1610bc1bde840db5867255279be1a60db2520c18569fb403af0eecec6574024d3e9c63c0b147b32a214a15bc75678db2b62a1396b1e5272c0344eb3c02df8e9132fa63c6fcc8c9112fc950834c0b85837dc4b480215e4dbf55032c25802b2c7653cf19ee991196e1dc851472ddf7119429840211d095842e2c6403b536acf04d25e9bfff4a3d4e975323e3f075356e66b05275995e6755e3a09b2c034e1b39473cbda8d51bf40b744d55feeddd9e1d24697262b80c97a5429269efc303ca507099f738df5db23cee717b830bfcc6b777e1bd0288db25aba8d5aed120c20320212b15c1369630763ef88a5288c45c3a032080702c55d9f1d1d19fcba8b875038bc633e3b3ee8119145339a0b5ae2edec52c59c5aba8b8ddc0d5e60441d1e47e03b3cd085bd11a9edb2ab880dd2fdc8c5032258612c00c8ae538cd5c17698a86350219ffff03c4725d92f297cac2447610fd51e3cd987e08c40847a6c033236953b2440e11d0035560b05d9e765c0b91e39b7508e33ee07a6f487acb00b5f613f150b459092836031cd0d8c0e295ac55fbf22b21ad722128274dace77ac7183bbdbd07a1fcfd0fab030ce7da40dc731e3597458d76fbd70849bd1751315d258f243ded7f0020bbbb0c03cee1102dc3162521ec5235b5f2c40df946db8fe0a43773d8c322ac56c7953b75038a36b55df49ff42d1e5b432f1969a5bc63cbc19a7b6ab37065d141a7b4b74c340219ffff03ee4ed2b897ace87f52ba4a8b01b1925171918b24985675d7fa503cddad8c9d7203cbe66c26db67acd39afb626a85a8e774ae1a1969c9e274c482f363cf5c342b9003f42767eca99bac438c5bed40db874a225c9d547000dd34a86bfea558b954bf1703a3910e17be5aaefdeeef18d5b625dfe1993d492d9f68d1ab7561495844aec47303e40a6db06dbd1ad157520034a58a5b86fc4241c1c627e12b0b100487689aa33c03970bbc167cc8feca592cf9113f2715cf0c7949ab332d2290195a379b979e24ae034a989c1567981de0d04ece66bb6d38476795a9c6992f842a15846ddec923d38a03d6a0f60dced523297e6f8782d8d9907f5b68c3ccf6305e743796242066f4d04e03c1cce07ea24c7fb1cfaa2fd8fec75e5d4dfe0cb7a3f9bc02c5795833a679779c03276863babe6d5565e4d210f7bae5bcf0e9030fb5c101bca34d8b4d798f4ca33303a889a7f094094b7425b84f86f7f9bb6708d25fe718355a8d8b35d5d26e61914d03ac11f9b08f87e8dd608a2bcaeba681b60cfea800a75d5ae0640936db3367479a03b998bf4bca0bd8ad2468ba430d83ce167ca96e674526b05d6f8a99c4ccd2ebca0384d068da9833b03f222e56a1370112b1595ef6611c9203d35d98374c43ec7cb503b7dce72906903bf4f38a77026a7857d2aae7dc6322f50a346ab267994e13ed29032c5644161c8de2965549e2f8978a78d1b77562375be50fdd68de12ee83fa4b4a0320c557efbc561f39701f014ed338d092240cd4c5a168799af92568f3010e39be032661d5ecca5a608c014e9ad935b601a7387384c85608de5f496600aae00aa342034c1e19f9608cffbefba9a4bcae8c93be1e062cfa58a8d1555bd02d2f16368ef103ed4b93c2305778001360289eb4a8af4fa37e9d70c0b073cd6b069e685cd00c9b0351ba1e90f7046fb6bfee5c93606ce5ce82fb5c3a5db265509edb0d861dd94e1d03859df497346be72cfc6a074d8ca2b64e19a76359b259e3cdc8c66c4ddfb648850332c290e40aeace87131dee2f75fbe7d5da046b48f2308450025fcf10d1fef1eb03864ec0ba95b0d8041319092e54f8a426e1dfdd5c0b7b0bb9df54781909c2477e03115d13f66ad2ddcc96ed0541c3e7f75117fa1e8fd99c452127356382c08a2c0b031b1b9f004d8bc4397119cc9d6c9969d5ef42eceb62db3e26ffcb3ba9b72cae2903d48786a4c32a5dc954950cc45fa9e1ba1fe82573e0b4812f8844fc4eae69d4940357144ee1a7ca5278e42bb4a8bc4533c640cd1f8fc1f88e79bdab521f0f89602f0301a434871ff8ab7d9805a69af3912a67fc84923c844c1cefea65d000c9c4420103e5b1b7e731be7c5b66d3b3e9fd7be5ed639265b020b0d91ec3d05a717daa148e036d085e3d0fd56b11708690f1b8d71c01cb5196d1ad05f1a6acd7dee3564b1d7103e5de9617d2053174ec7ddec916b8e40acccca1ec45acd6db6e4f4302a5553cd703c6158205af9b2dc8c98966bf8aff212ff70ea45502fa32f8fe2894defc237e5d0394ba1162f007c612f36de8720d4b39b1e78fcb7f913c4100f3085201e6c6812e05581d029ab713aa2e78501ae9aecf6535ee95bb0ff27c33e037ee9f904c54410c02470700d71b6ffef0045908e1608060405234801561000f575f80fd5b506004361061009b575f3560e01c806395512306116100635780639551230614610129578063bd98b2b01461013c578063c7065b6a14610176578063cc780aa1146101b0578063f2fde38b146101c3575f80fd5b806328aee03f1461009f5780632c09a848146100cf5780635027ad2e146100e4578063715018a6146101115780638da5cb5b14610119575b5f80fd5b6100b26100ad3660046106c1565b6101d6565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e26100dd366004610725565b6102af565b005b6101036100f236600461077a565b5f9081526001602052604090205490565b6040519081526020016100c6565b6100e2610321565b5f546001600160a01b03166100b2565b6100e26101373660046107ac565b610334565b61014f61014a3660046106c1565b6104e5565b604080516001600160401b0390931683526001600160a01b039091166020830152016100c6565b61014f61018436600461077a565b60026020525f90815260409020546001600160401b03811690600160401b90046001600160a01b031682565b6100e26101be3660046107f2565b61052a565b6100e26101d1366004610840565b61059b565b5f8281526002602090815260408083208151808301909252546001600160401b038116808352600160401b9091046001600160a01b031692820192909252908310156102a4575f84815260016020526040902054805b80156102a1575f86815260016020526040902080545f19830190811061025457610254610860565b5f918252602091829020604080518082019091529101546001600160401b038116808352600160401b9091046001600160a01b03169282019290925293508510156102a1575f190161022c565b50505b602001519392505050565b5f6102ba86866101d6565b604051636b40634160e01b81529091506001600160a01b03821690636b406341906102ed90879087908790600401610874565b5f6040518083038186803b158015610303575f80fd5b505afa158015610315573d5f803e3d5ffd5b50505050505050505050565b610329610619565b6103325f610672565b565b61033c610619565b5f838152600260209081526040918290208251808401909352546001600160401b03808216808552600160401b9092046001600160a01b031692840192909252908416101561039e57604051632c3631c160e21b815260040160405180910390fd5b6001600160a01b0382166103c55760405163a7f9319d60e01b815260040160405180910390fd5b80516001600160401b03808516911610156104515760208101516001600160a01b031615610444575f848152600160208181526040832080549283018155835291829020835191018054928401516001600160a01b0316600160401b026001600160e01b03199093166001600160401b03909216919091179190911790555b6001600160401b03831681525b6001600160a01b0382811660208381018281525f88815260028352604090819020865181549351909616600160401b026001600160e01b03199093166001600160401b0396871617929092179091558051888152938716918401919091528201527f7a98750a395b9ee50a2644ffda039e31f1d5d06de45510275f972bb20b229b309060600160405180910390a150505050565b6001602052815f5260405f2081815481106104fe575f80fd5b5f918252602090912001546001600160401b0381169250600160401b90046001600160a01b0316905082565b5f6105355f866101d6565b604051636b40634160e01b81529091506001600160a01b03821690636b4063419061056890879087908790600401610874565b5f6040518083038186803b15801561057e575f80fd5b505afa158015610590573d5f803e3d5ffd5b505050505050505050565b6105a3610619565b6001600160a01b03811661060d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61061681610672565b50565b5f546001600160a01b031633146103325760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610604565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f80604083850312156106d2575f80fd5b50508035926020909101359150565b5f8083601f8401126106f1575f80fd5b5081356001600160401b03811115610707575f80fd5b60208301915083602082850101111561071e575f80fd5b9250929050565b5f805f805f60808688031215610739575f80fd5b853594506020860135935060408601356001600160401b0381111561075c575f80fd5b610768888289016106e1565b96999598509660600135949350505050565b5f6020828403121561078a575f80fd5b5035919050565b80356001600160a01b03811681146107a7575f80fd5b919050565b5f805f606084860312156107be575f80fd5b8335925060208401356001600160401b03811681146107db575f80fd5b91506107e960408501610791565b90509250925092565b5f805f8060608587031215610805575f80fd5b8435935060208501356001600160401b03811115610821575f80fd5b61082d878288016106e1565b9598909750949560400135949350505050565b5f60208284031215610850575f80fd5b61085982610791565b9392505050565b634e487b7160e01b5f52603260045260245ffd5b60408152826040820152828460608301375f606084830101525f6060601f19601f860116830101905082602083015294935050505056fea26469706673582212205f7c1380bbdfca74363c8683648784e336909537d499d889229f3ceb0e5f578c64736f6c634300081800330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054798576400f7d662961ba15c6b3f3d813447a26a603dad47ab05fe55e7e5557edc6d714ee2fb2961138301b8acc1835c60c1b159ee50058210370731c4fc4bf9cd8fc2be4d898bd67fd357eb0135035bf4500364b4c42c4fa50581c63fb51c55d9605a75f8872c80de260a00facfaa200000000000000000219208405581d0233bdafdc350c64ca9173697da1b88f371cfed874249a2c0f114d66e007011908e105581d02bd888345dbc49fec34229c536c1b530d2bd5c71363bedf0c225024f404030218e005581e0344fc85d8b00f73c5efb7cc0ed81d304f75e366cf040e0e24560a430b000c014701fa148b1f948403e15c04074fc4d4f5f0e6f5eccbc96d0dc8a57d819056804efb9c7ede8b68456003dd82880d7e5fbe2d062dcdcc23f9e3ce0b821b20ff9169efe5a3faf6220209e6037adc1370f07b3f093bd5493478ec9d571175956c4d642c08cec15151fe5f37e005581e03b4f67e717e6d7f0531bc2e73a9d82541fcdf02d24f1564bfb3ce9e57e00c01460da475abf00005581e0320b4e9912bf013fcfb4edd0555cdd2c17fb7a071fcc41a9e580f35aac004030219f4a403dee7ad1c83af835a3db904420ccd94d2d44e534831d1ce0c1f1e73e166a285fe031543f7abc56d32fb01a640b49c0c80b507878e7a06fddfdee26f7b41608ac9c403749bf0682d33738a97903a9c8ba48424f428b7115855424d5188a899f87a39e803f0baa04299f7a79fbab25fc58b346aaa712e05927ba7b77a6bc4e79053842b420313f0a0388a753c3148e9074728f82f9c29b57b462208889d802b28122d0c210003cfc93ec120b5d87324d18a22196c905407a83adcd46977ac1dae095592963a7a034ced066e2f8440c0471199a8e2f3f01458ebcb8905630826fae6b533754ac7c6033299b9b252f69c101180f7676bb47defe75b51cd28a3989a77cc20712061259c0372f40439c69870dd1d65b93ded3ecf412c694cf7a677d4846a001742dbd80f660219ffff0383dd6f36de9a7b5ba8aac8622e795903c2d283908e7849a7e061983a681595fa032546308aa381165c4fa9716aa04e31292ec3e4488ec5e0578e5a5340369a08e80219ffff035246f1f89863b54c35c81748db251cf920343a05034c96c42e03c767b5ab5406037dbc353ed4039207af2727b2a06d6ed5546669c70c617dfd9b306f081d917578031f9cd2c9f958faead3dea167b7b2c9a6088f60724eeee0a6905df89f6ba50c3c03acb7c066eb9d72ff6505fd8996e4d85a69744807481205279700c5ad4d6e12e9033cc5a6aa47d354c5e164f699954eb320e0de5f662ddaa3a1fe791a7e90decb8f0315277e0e7732f58fb70dfafaea6a5aaa7f3bf50e739574643eff4bbfa68299ff0219ffff0315dcc95138e042467054de9f28b798cc12f09718f96a1eff4ad138fc42bcb7a40386783c77d3408b5e9773914a8f5b647e1127a0b4b43e7b74233f1fcaa1d022f303d6b43576bbdf89b4c07df0f1fcb338ea796e9d0cc7e9084442c5e4307d5b9390039ed4f764c77f1e35628e6520c520b3eb2ba579df64bb014507303e56d51c43f203a9ade9abb5c2daf28f137c3d3ea4bfda94ebfbd6aa63e7d2e833a0b946f0d7320305ff70d66c83373d79d8fc29474c1b4db450b102e05c2cfe55828bc20d78e012036037b99d7b1ede40e6df46edaab2f68dec3df74828b2aef5cc7381458a5b993a031bac5e0e6511d91941b08181ae94de174660902ed7421abd9c564802dcb4b8d603bf40a975702cf677071b82c0e88f9106a7b2a1ce11155078709e8881471cb55903a660d8a199bdcd36efa0773bc29698c1ed45c9f4e57b80a6597570d282ce83a503389d0b43d449abaff4af835fbfa5444634f51a7daeda8cd8fd346f81ee04c42b033d813eedcde22caaf23fdf5b3394c060a6c8e2029308727e1f8fbcc96286fd16032a175f9249eb6c07a9e843171b3f4fea4381bf47e03444997bc3170e3ab2752003d7bd84a3ef85d0a6ea77b539b3053ea1949aaed686ac6c815014dc12ba543e3303168e73e7f7a1db4d0f2dfa7d403f2bd5ba702ebc563f3defd7d2eb3d3851f2f103d844e579f1ff520e30a50f5d701dcb5269a9dd1c4775fdca356ba7403c34b34c03d0c98d1034d4ec0b5b06a7109a6e10d03f06b153adc7011d95b0a0c2b9b6952b032f63b4e1cea9fe49789afd6f2dc0dd089db17bded315790b1ac62df12d96150701410705581e03c1bb0e86ee1aa18ba069e4ac6cdc8cf4649fd18d3b43f9300c4ff90f500c01470e1abe08fa25c805581e03e1075a2a9c72f08b429bffb23e55717cee15c0a9f3225b9c92ab407440040305581e033df9aad3faf56c498d1840193fdf4528b8580b3c5ea840cd2604501100040203cfc724d51effb54e7468e9b8200af5652c7e3fcc1a25d6fc311406f2b09ef45a03a0ba0a93243a1ba1b451e9a358030d0d0a87b6776563d40d47f8c5c567762c5503647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d035485a952b56c097ad744f45a0246568a89b2ab61847068f77b88c559436aac0b05581e03ef3d83ae7c833da47f1dd579e0f443dbd05db7dde4a5517249e830c41007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0315d20d6a48bbf921009e683d8e7d2eda3512f75813507a01644810fa4007011bffffffffffffffff04592377608060405234801561001057600080fd5b50600436106101a95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a714610534578063d505accf1461053c578063dd62ed3e1461058d578063fff6cae9146105bb576101a9565b8063ba9a7a56146104fe578063bc25cf7714610506578063c45a01551461052c576101a9565b80637ecebe00116100d35780637ecebe001461046557806389afcb441461048b57806395d89b41146104ca578063a9059cbb146104d2576101a9565b80636a6278421461041157806370a08231146104375780637464fc3d1461045d576101a9565b806323b872dd116101665780633644e515116101405780633644e515146103cb578063485cc955146103d35780635909c0d5146104015780635a3d549314610409576101a9565b806323b872dd1461036f57806330adf81f146103a5578063313ce567146103ad576101a9565b8063022c0d9f146101ae57806306fdde031461023c5780630902f1ac146102b9578063095ea7b3146102f15780630dfe16811461033157806318160ddd14610355575b600080fd5b61023a600480360360808110156101c457600080fd5b8135916020810135916001600160a01b0360408301351691908101906080810160608201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184600183028401116401000000008311171561022f57600080fd5b5090925090506105c3565b005b610244610acb565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027e578181015183820152602001610266565b50505050905090810190601f1680156102ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c1610af9565b604080516001600160701b03948516815292909316602083015263ffffffff168183015290519081900360600190f35b61031d6004803603604081101561030757600080fd5b506001600160a01b038135169060200135610b23565b604080519115158252519081900360200190f35b610339610b3a565b604080516001600160a01b039092168252519081900360200190f35b61035d610b49565b60408051918252519081900360200190f35b61031d6004803603606081101561038557600080fd5b506001600160a01b03813581169160208101359091169060400135610b4f565b61035d610be3565b6103b5610c07565b6040805160ff9092168252519081900360200190f35b61035d610c0c565b61023a600480360360408110156103e957600080fd5b506001600160a01b0381358116916020013516610c12565b61035d610c96565b61035d610c9c565b61035d6004803603602081101561042757600080fd5b50356001600160a01b0316610ca2565b61035d6004803603602081101561044d57600080fd5b50356001600160a01b031661111e565b61035d611130565b61035d6004803603602081101561047b57600080fd5b50356001600160a01b0316611136565b6104b1600480360360208110156104a157600080fd5b50356001600160a01b0316611148565b6040805192835260208301919091528051918290030190f35b6102446114dc565b61031d600480360360408110156104e857600080fd5b506001600160a01b0381351690602001356114fb565b61035d611508565b61023a6004803603602081101561051c57600080fd5b50356001600160a01b031661150e565b610339611680565b61033961168f565b61023a600480360360e081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c0013561169e565b61035d600480360360408110156105a357600080fd5b506001600160a01b03813581169160200135166118a0565b61023a6118bd565b600c5460011461060e576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55841515806106215750600084115b61065c5760405162461bcd60e51b81526004018080602001828103825260258152602001806122886025913960400191505060405180910390fd5b600080610667610af9565b5091509150816001600160701b03168710801561068c5750806001600160701b031686105b6106c75760405162461bcd60e51b81526004018080602001828103825260218152602001806122d16021913960400191505060405180910390fd5b60065460075460009182916001600160a01b039182169190811690891682148015906107055750806001600160a01b0316896001600160a01b031614155b61074e576040805162461bcd60e51b8152602060048201526015602482015274556e697377617056323a20494e56414c49445f544f60581b604482015290519081900360640190fd5b8a1561075f5761075f828a8d611a1f565b891561077057610770818a8c611a1f565b861561082257886001600160a01b03166310d1e85c338d8d8c8c6040518663ffffffff1660e01b815260040180866001600160a01b03168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050505b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b15801561086857600080fd5b505afa15801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b5051604080516370a0823160e01b815230600482015290519195506001600160a01b038316916370a0823191602480820192602092909190829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b5051925060009150506001600160701b0385168a9003831161092b57600061093a565b89856001600160701b03160383035b9050600089856001600160701b0316038311610957576000610966565b89856001600160701b03160383035b905060008211806109775750600081115b6109b25760405162461bcd60e51b81526004018080602001828103825260248152602001806122ad6024913960400191505060405180910390fd5b60006109d46109c2846003611bb9565b6109ce876103e8611bb9565b90611c1c565b905060006109e66109c2846003611bb9565b9050610a0b620f4240610a056001600160701b038b8116908b16611bb9565b90611bb9565b610a158383611bb9565b1015610a57576040805162461bcd60e51b815260206004820152600c60248201526b556e697377617056323a204b60a01b604482015290519081900360640190fd5b5050610a6584848888611c6c565b60408051838152602081018390528082018d9052606081018c905290516001600160a01b038b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280601281526020017129bab9b434a9bbb0b8102628102a37b5b2b760711b81525081565b6008546001600160701b0380821692600160701b830490911691600160e01b900463ffffffff1690565b6000610b30338484611e2b565b5060015b92915050565b6006546001600160a01b031681565b60005481565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610bce576001600160a01b0384166000908152600260209081526040808320338452909152902054610ba99083611c1c565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b610bd9848484611e8d565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b6005546001600160a01b03163314610c68576040805162461bcd60e51b81526020600482015260146024820152732ab734b9bbb0b82b191d102327a92124a22222a760611b604482015290519081900360640190fd5b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c54600114610cef576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c81905580610cff610af9565b50600654604080516370a0823160e01b815230600482015290519395509193506000926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610d5357600080fd5b505afa158015610d67573d6000803e3d6000fd5b505050506040513d6020811015610d7d57600080fd5b5051600754604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d6020811015610dfa57600080fd5b505190506000610e13836001600160701b038716611c1c565b90506000610e2a836001600160701b038716611c1c565b90506000610e388787611f3b565b6000549091508061100f5760055460408051637cd07e4760e01b815290516000926001600160a01b031691637cd07e47916004808301926020929190829003018186803b158015610e8857600080fd5b505afa158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b50519050336001600160a01b0382161415610f8d57806001600160a01b03166340dc0e376040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0057600080fd5b505afa158015610f14573d6000803e3d6000fd5b505050506040513d6020811015610f2a57600080fd5b505199508915801590610f3f57506000198a14155b610f88576040805162461bcd60e51b81526020600482015260156024820152744261642064657369726564206c697175696469747960581b604482015290519081900360640190fd5b611009565b6001600160a01b03811615610fe2576040805162461bcd60e51b815260206004820152601660248201527526bab9ba103737ba103430bb329036b4b3b930ba37b960511b604482015290519081900360640190fd5b610ffa6103e86109ce610ff58888611bb9565b61207b565b995061100960006103e86120cd565b50611052565b61104f6001600160701b0389166110268684611bb9565b8161102d57fe5b046001600160701b0389166110428685611bb9565b8161104957fe5b04612157565b98505b600089116110915760405162461bcd60e51b815260040180806020018281038252602881526020018061231a6028913960400191505060405180910390fd5b61109b8a8a6120cd565b6110a786868a8a611c6c565b81156110d1576008546110cd906001600160701b0380821691600160701b900416611bb9565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c54600114611196576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c819055806111a6610af9565b50600654600754604080516370a0823160e01b815230600482015290519496509294506001600160a01b039182169391169160009184916370a08231916024808301926020929190829003018186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d602081101561122c57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038516916370a08231916024808301926020929190829003018186803b15801561127a57600080fd5b505afa15801561128e573d6000803e3d6000fd5b505050506040513d60208110156112a457600080fd5b5051306000908152600160205260408120549192506112c38888611f3b565b600054909150806112d48487611bb9565b816112db57fe5b049a50806112e98486611bb9565b816112f057fe5b04995060008b118015611303575060008a115b61133e5760405162461bcd60e51b81526004018080602001828103825260288152602001806122f26028913960400191505060405180910390fd5b611348308461216f565b611353878d8d611a1f565b61135e868d8c611a1f565b604080516370a0823160e01b815230600482015290516001600160a01b038916916370a08231916024808301926020929190829003018186803b1580156113a457600080fd5b505afa1580156113b8573d6000803e3d6000fd5b505050506040513d60208110156113ce57600080fd5b5051604080516370a0823160e01b815230600482015290519196506001600160a01b038816916370a0823191602480820192602092909190829003018186803b15801561141a57600080fd5b505afa15801561142e573d6000803e3d6000fd5b505050506040513d602081101561144457600080fd5b5051935061145485858b8b611c6c565b811561147e5760085461147a906001600160701b0380821691600160701b900416611bb9565b600b555b604080518c8152602081018c905281516001600160a01b038f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b604051806040016040528060038152602001620534c560ec1b81525081565b6000610b30338484611e8d565b6103e881565b600c54600114611559576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654600754600854604080516370a0823160e01b815230600482015290516001600160a01b03948516949093169261160292859287926115fd926001600160701b03169185916370a0823191602480820192602092909190829003018186803b1580156115cb57600080fd5b505afa1580156115df573d6000803e3d6000fd5b505050506040513d60208110156115f557600080fd5b505190611c1c565b611a1f565b61167681846115fd6008600e9054906101000a90046001600160701b03166001600160701b0316856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156115cb57600080fd5b50506001600c5550565b6005546001600160a01b031681565b6007546001600160a01b031681565b428410156116e8576040805162461bcd60e51b8152602060048201526012602482015271155b9a5cddd85c158c8e881156141254915160721b604482015290519081900360640190fd5b6003546001600160a01b0380891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e280820193601f1981019281900390910190855afa158015611803573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906118395750886001600160a01b0316816001600160a01b0316145b61188a576040805162461bcd60e51b815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611895898989611e2b565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611908576040805162461bcd60e51b8152602060048201526011602482015270155b9a5cddd85c158c8e881313d0d2d151607a1b604482015290519081900360640190fd5b6000600c55600654604080516370a0823160e01b81523060048201529051611a18926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d602081101561198357600080fd5b5051600754604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b505050506040513d60208110156119fa57600080fd5b50516008546001600160701b0380821691600160701b900416611c6c565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e74323536290000000000000060209182015281516001600160a01b0385811660248301526044808301869052845180840390910181526064909201845291810180516001600160e01b031663a9059cbb60e01b1781529251815160009460609489169392918291908083835b60208310611acc5780518252601f199092019160209182019101611aad565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611b2e576040519150601f19603f3d011682016040523d82523d6000602084013e611b33565b606091505b5091509150818015611b61575080511580611b615750808060200190516020811015611b5e57600080fd5b50515b611bb2576040805162461bcd60e51b815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b6000811580611bd457505080820282828281611bd157fe5b04145b610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604482015290519081900360640190fd5b80820382811115610b34576040805162461bcd60e51b815260206004820152601560248201527464732d6d6174682d7375622d756e646572666c6f7760581b604482015290519081900360640190fd5b6001600160701b038411801590611c8a57506001600160701b038311155b611cd1576040805162461bcd60e51b8152602060048201526013602482015272556e697377617056323a204f564552464c4f5760681b604482015290519081900360640190fd5b60085463ffffffff42811691600160e01b90048116820390811615801590611d0157506001600160701b03841615155b8015611d1557506001600160701b03831615155b15611d80578063ffffffff16611d3d85611d2e86612201565b6001600160e01b031690612213565b600980546001600160e01b03929092169290920201905563ffffffff8116611d6884611d2e87612201565b600a80546001600160e01b0392909216929092020190555b600880546dffffffffffffffffffffffffffff19166001600160701b03888116919091176dffffffffffffffffffffffffffff60701b1916600160701b8883168102919091176001600160e01b0316600160e01b63ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316600090815260016020526040902054611eb09082611c1c565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611edf9082612238565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a90046001600160a01b03166001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8c57600080fd5b505afa158015611fa0573d6000803e3d6000fd5b505050506040513d6020811015611fb657600080fd5b5051600b546001600160a01b038216158015945091925090612067578015612062576000611ff3610ff56001600160701b03888116908816611bb9565b905060006120008361207b565b90508082111561205f5760006120226120198484611c1c565b60005490611bb9565b9050600061203b83612035866005611bb9565b90612238565b9050600081838161204857fe5b049050801561205b5761205b87826120cd565b5050505b50505b612073565b8015612073576000600b555b505092915050565b600060038211156120be575080600160028204015b818110156120b8578091506002818285816120a757fe5b0401816120b057fe5b049050612090565b506120c8565b81156120c8575060015b919050565b6000546120da9082612238565b60009081556001600160a01b0383168152600160205260409020546120ff9082612238565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008183106121665781612168565b825b9392505050565b6001600160a01b0382166000908152600160205260409020546121929082611c1c565b6001600160a01b038316600090815260016020526040812091909155546121b99082611c1c565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b0384168161223057fe5b049392505050565b80820182811015610b34576040805162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a2646970667358221220713a8bf21df06433f34b5c9abf186abb737e72524583bdf420105a289791e24864736f6c634300060c003303d75ca0325e1b4759c570158a7d6b223fbe29f77bc42b6a0e70365ca30950e10a039b9fd49ac05cf0ffce45b5b397af248999cbc8c90fa5cf26fece244c7931d77c031937a1a2d093112be67fa72669bf19b0b1ca2fdf6be82a9ac3277800c9d2dddf031e06e6037d735c360e5b5635dec3841f53e121a708c6ce4ffd51e1d3970f586b03839afa0362a0a3c311b859d09e39a18ea203c1a102d02e214139d5a212d8ef8b03fef6a0a044a7898e1618ed656e928b24ae915b8ebc345b62880ceafafc202d4403a807d2e899b891ec33cc7c0b41a9b8dbc3bf428812ff3f1a6712e67e139a08f303a7f0e6de51b2b61a27e5169ba5f647b35a3599224b2343a4926d74310575c8e603f9743170c08446e7ffe35f6f30abfb4aa8f5e5cab1f7b098fdc1463680fec77003c3c8abda122e98f5e50e1ad9a93f53df2f9ae66cf2d0601efa0333bff158b1cc03a55a7d49694d7f296a4951a465edb0844437576abcea93c3b3dae867cde9f8a903e46f4cd4f4d225a4fb76cc1086e0873caf2f7915085f0f845a4a2ab9f85cce0a03289dd1a561c604e097464148fc7b7ac8043ae48998f52b5edb0c2407be24670503eac351ad5f44c044cc5a2e423aa8c6dd8e4171d91eca49f9d7d1616a3c6cc0c80336713d4a3136628ea2457e3ee5653c3b999d412b351f15459f512abddaee089b03ab4d3265b677f9ab788f2dc045add80a4e6c2e5a1a88d964f6e868b06a583faa03208512e8b9db506fd5454acf2893ca1be374396b555cae3c9aa066c9825c060303695ecd26b8f4e66d4ce8baecb79df10647ce8c01640bd93be9417c481958c1e103b12dd861e4bc0d02b7001c77b5802fdf02535eef8829c0cc4e98036af92c68bd0324a4db96655159c026f8421f66adda18af14f1f054fea1190b9619a0718434660335dcb04c7544c064de222253ba48c764c4a994c0e503b66f4c80298936c4032000581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af51012cf740da47aaadf70e3ab221c0e9259200581f027d0d9a3c0010a94ddf27811422d6d5b3cb393c07e9d58a402c71eaa53c7c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b7dbb5f4059329ae8223ae1c2469143ef683f5e9d80b4bb182efb5452ba7349302194060031e90b54615ff00c528823add6799b8ae7a1d2475e7b8e0dd5923dbc8d2b5e35e005820032522cc325e82b8c3109bad62bb3766026c71f8ee2e62c1f00184d79abcba0047377ad1cb66ac37005820034c62cda3f6708a70cdda64a3efd3ea3d51509c53edff902e9bbb3dcd8f3d10410103d2fa0463a41cf87d24710c1819bf9a51b4f2760d5e37c42c73a13d19c9ce542f034067913fc552ba09cd21172b179dcb3121f5fc256835489c065828e2edec70b400582003318a89a584fa6b01fced343ed2875deb8a897b75eb5a674ec17be012bc2f805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e6f5bf8ecbf9d187a7ac37b1ae78e1eb2218843e5ea2f3d3767f6cb496c1d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032bc6c076091145262a668a33305babb56d01cf5065c7d02f0f2a35abb1e9f1ba01410b03c3d9905d0cc9d7e4eb4b12f1f4800b85c078bbe5198e7e99a94595cd3720989f03b7bc56ca18418a6c028d48fb35c4575282d614c0ae50e29240e0d33acca4a61c032767c09fe4e4e1e21f4e9ddcc60a500f5ec9ca600c711e664902ad7c81acccab00582003073dce06f97dba5b6ba2737dd219eeec2b18bb6a5d1a65002952e931fd0e605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033df3951d744b7100dfc320741b8be62d09cfc832c562a1b42e276ac7562eff7a0219fffb03cee5ed1086e887a655c2ffb9e8db2d5fce04d0934d9dca491577727702e1d92c0219ffff037e5cb5c1f8750409a9382ed6190184f5b6bf0ee4c3fc1a11911da83099e5a73903f6bb31122b99542d1580041c745493fce98e39b6efba6dc23ab442310f26af6403b5f999e31191e6327891ede09fe115d4fa58cc05f5c7e41c5cc34ff0b916e33f03a2a924be5b7bd621bf30c7aa104d97be5463e0017a7aae9d43c320bd83c4c9cf03c9e9d82adf24562673e84fc47b253440c5040e5a018cffac6ed400ea0e5b9e7103262e747b46293e9ef265f7919e343e28b987729ec8869e6ce671b410f1dfa5c403f68b00ef0e53d90284b2191ee2fbbaae59da63fed8d28585cb084b3d1c69cc4c03b8dcacc38c5d6fc5e6036255a3ac48fbbbf908dc9fc058a398067f68b51df3870374bb3f69176e91fdb3befb4c1a16ece0df4032dcb55bba256002eae9fa8c5bf5005820033089d3c4aaf9f963c77e453a784bf21aa55f835d8d421de32c6efde6f1eb505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0371f5dabc58dafa7e80398282da1e770395ce039f20f9958bf346a75fccc7d54d037a4757aeef5a96856b2d0bb0f490535ead4943ee7a3beede08e340bcfa7b83e20314c203a0dc1cc4ecadfe87ffc03fa896701d121add8ca315642d52809685611b00582003b2b950e173f26608b194c639b13168b5a469ee0e1b5f2099174c0ad69cdc604707172a7ffe2dc103a227d97c589c70078c14f61bd960df96391ae721e0aabbe0b4ed4210469a632100581f023c5eed4a2224fbe979ef659632b109b5be689fa8ae6a80b04f67dda38d564d0c9f2c9c4dc30e33c35d2c0ef300581f0247e81ab910079eb2636f66165709bed6e9540cbd475d3663c19c05333f0e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0256881e7859bf127639e24cedcf8c5b58b24104e4f78aca57f86b55d75215470551e9671e92ea00581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc202191c2003b27d7c9d7ec95a251f4420b61d3711d780d117e732d55181091080609e323280035bb4273f7cc3139c18482dcc8b401436d80cb29edcc36e30f197ca2da45a0153005820032f16153cc939f75709cce05f8f12d2d152f2648f788b104ac69232a01fd4005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0361c1f3304479aa89b241fc6e19c56f86d45f1c2f9212571da9d4de75f0d8255403cd425a66ae1dcda0c2221f19df9dd396bb58b046d20868f588a308c6a4cd1c760391a63944d6102bdc7c9e9027c45d57088528e2cf55553210ad8103aca9b2a8f402196bff030217c6e4933f1a16701432184d87604bbdfc21ad9905f805238136366f4b5a7f03ea7e3cf3ef30c064187179ab4d04b9ab692d526554df473272ea7a7e909fb920037669658e17cadcc4580cee3cae0fad8b124ff41e298bf26fd772686f6442f3cf03df6698c358c3c8c2120555d8e304450335fd3feaebb44cecb41f94fdc6fd1b8c038cbd5714c2bea4e1d43f1eda6daad33dfe3a1506b49c9e7c7ada07a524ce03a7031cb4f1c384ac00ef24d7b3eff7703d734e4c7df73cf90b0d8a277d4f46ab6efd03d06fdb4f709ec5d6c03cf7e076fbf87466f769703231d6d5604767eed950b2ae03dc6e35799c162cc2e4a885eeed950b4b2e23e0962d9e98329fa7406ad2b1783e037813ed3ad844714f6d7ee11b111d169b61bbb75c7ab7db6cec68f0988deabb300219ffff038980cfed8b5986f1c5cd1d95c17d91b1e9e0cb80333cc4f8ce507d0dbef30de0030401d87b8e34e883868cbf39f6a028a6cfe22b9f588cadbd8ee2f417d2ab7bda03b33861ef8546bc58929c28c1cdf2911c2e0990ea54c072026074a3189d9997320366ebfcadd82de43569f575a82f05329d115cbbf536c00052e053dbdc6f2eb8a50323dd0900d3e918fddab85576deadc658608cb693ef445f17978d709f48b652eb03e42f67d8e0f03a93921f628ee0b97c4ba311c138586a20ca47aa25bf4b908488039a8a64eb41ad90f7a64ea7ed5c0b2bc3a2d81b3b84deb643611724c294ced3be038a2736e22c53a00a8a56b765e277ad1df55cb3a06ca5879d9207729b5eb20c0d005820030d2ce410ee4a99d641033444ce4f87fc9a066558dcd6a875fd2dedd9e977c04101005820031979a27fdc7c60ffd14264ffaf54499b7ede06ba78a42722e04dfa1e2ee2d04101037e3549f323f19492e3d0740842e44d1745a2879896cee1d50601fbf5218c508500581f02bf322b35b25bab51e005a7168a52dd1e573002c8df2426553609f58511b844012c5c3c00581f02144f5cfca916931dc6f6c8a44cb3e3aab9b157f9ca88f0b7ab507485cb1f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8533cf873408af3b136309e7a5b55f76bdfc973ac021904820335bb655d054514ea754d5d5fb5b2daa61d1d0c3225b50260d465b5ed478ac20800582003006b70b19ba5ddc110b0a1f5cb9dc352589ca4a1d9b23ad8a183d27b085c305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d1527ed11da77ed50dca908806d8aadfb484ad7367c9572dbc7901ef8fa7d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b4a356b2eb1983dd4c7e80f64dbd1b1c00e064afcb61e04ffccb57be8b26b43600582003b7b47d14b6b1f3f39beb3ac36169c16b564038035bdece2d491dec492644005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a02a5b442aae1e3da34ce11b7aeffa38ed5147cfd6ec6ef617128eaf671f42b000582003fc6ade1c8db9a6b01f32e2f863223442b6653bd3712b6c58f50f2e314b36104101038a01470aabf94ed971af15ef08c4281d7f0196d29ddf95eb2890f54fd678fe95030477eb7a560ebb3fe4e32b85f880fcefab6d5fd293cd474225b7e8a607cdc58b0219fefe032a574d90bb9e716f5c3f1d5ab60a10a6eee347fdb387fab372097376d5907236037ad1b239dce108b9f28ece15e43c794ce133e5011b746e8586c8c95da8ec876a033a424ba7c1ea43fee56de1ca6d577114dd32f04665016c5862c91c3484ef2f720378c48f6d9fa4f9d4e98669abc5afcffd15be745bb9990cc58ded59853afa7a310357c6474e0714c649728bc22f5f5b417b8ab2a0964531f78f5b1c0d26a76ef2e203fcb0b878ec4110f6910979d4cba6974f01e143c9db0023e867aa3e97eac453570301d6d200907ddf2de95787a477e4b4ee37d39c35daf983bcd29151e2813af5f4038b55cafd554df4f304a17b29503f4000eb6cde0c13f4feb87ef07e51096477a303159800b5d198a0335d9b5dcbe72817d79b9dafeaa6fe07b23c4792c6c55111490219ffff0364a79f574c21d10b6211bbc191266da48a3a60e452ae1d48af23f93dd383630503628059fa6f70bf368a2b8aa621c58801b69120a7f15233c227db206c4c8b701203f4d8f81cdec1c78e34dd62af84f7b62ed000dad92bac5f6c2884b85c24baebe80319a16e61e3630dc044506f0d3b2c8b784b1eb05eb1408e7f552bcc421deeeecb0363de5e1f0d54f2fd11dbce7d59fa8f1a44e651245f4638e0d50beb85a4a72695036e2d17b70de3471aea49737bed7bfaaa2fa6ff77f7182cf39991e6090bc95fcf03ead2c62b6e922d2d675138afd2b54a222660dd22caa2b534b4267e28ea4f262103cb865b007528c6744f60800e691391c0381fa0f7699801b29df433f6ea36ce280352b0c6d460fbc2c7e9f6b6f536e7fd87b04c63c04024b709b3d23e12086cbe5e03291775cf7254dd6fcc9726e31b1c21d9073afc3c570e88f8a2d245c8d9f6d3cd03612bb46b06f63bcb46d256000468fe0b0e284f1818479c3425f77cae830f5aca03ef393a4611d28f88e92254987b2b2611087c13d6c0a3ceb6b37f510cab55b8ac0312cc35b5eb2c30fa08e77b83f3b7be28eb9381a3b1f4cc7655bff5c32ff4cee903f2061516581f0fb1efb4a13683ddf599e51cf7245e23fee74400e84e682c25d40313ea1e399ea072180e1ef4a4729636633434190d6de3c934b4942c185075d3bd038f38562c916a97a7203b86887412ca0a3bde67172994ed85a58b294038a9453200582003d75d6ed7bc7ed9beee2f400703a98707146f91bca789bd738357f01d40fdc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a061e2c7502be72289137e0e5b4805d0bdb51e7402f1370ed9ce5ac3ddda90bf03f708641a2f648acf4da254aeddbb28c46140e2fd1c0c9b46a2238695d973a8e103215735afec4e4629bedb2238c0748ee44a63197181422e5a5398c02c43c827a7034f5563db142311e55cd15694a2c28866f14f4b3bfce2c19c11c0b2d78480091c00581f021d9fd9fa70d3f99e7afec944d4e29b937c023b272e09054f221a4916c573410100581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410100581f02d598b02b69568e9198aeb38f77184129c0aa75f7a2c0ab6be718805e3bfa4cfffffffa7ce8a8cae2cdf1bb0219230003e4667a788b1180e89e943e687902cf0bad093420615001f129ca4fd1f62daf9903d7a1ac254079a536b427827b9c1f28fe4b451dd552fabb16bcaf77264fb3846d037bddea109b0d5c4289b5e189ea3814a016aeaa37a7925a9d862c3b48f2e8edbe03d86b95762e5899c6bcdaf108d46c322eb65da1557a9b36a00f10903084e64635005820032b60dee99e5c22d32e29405ccad8b40921f445fafa3415d21db321bab29a1041010306defcb5db8139a8ed65bffde4d4ff3afda2b6b037b4860fe1112a958f092667031553ed61d90ddee33f6edbf306534fc72a070eafaab23807cf94245c5f80fef303e76e2054a5667b8e0445aca2258dd261c610400e134e8effed949208e73087340058200314821d742601ee4c6331d14fc8ebdfd99b9c7a3039caf95b4dbca1e1df050041010219ffff0219ffff0399b0b6654a43af801ff94bc670b032bdf33fa6afb714a6a01f14b9b68a784360035df685734d89e0f7ce7fa84279bf450ccba0b011f01beff6123b8e7379089d1f0333317dad527fb9fd1550a0d53294a7f7fe416ba93678634a99047821ff7abffd03b6c3be313231ca0cf2ea478b0e22a21e134e1b2ce8d3f504c4cc1df398e68aaa034457c62e3573b78fb02b4bef9e3ea68b9e65d61e94e7ddf809237bee5f2bc1e3005820039b32522efb881f5682110c559053b58ecc91189e741e7847f5f90b0d8dbd00410100582003b707f91e28b64910b6b35329ce177168932d9d365a673afec4a4a1e15c4e9041010371696c51af7d75e5709b3ca9432804e873e70406665be95a1cf084933bc064de033975df310069e8e49086d5301f75407717e9cac512cca542c14119d82407a70203aaa26334867069635bd1de49380ab50930bf5ab196464f0cd0286b92d512990a0307ac25d52441a99688e22ad81771e7847017196441d3b3cb31c346481209014c0344d49e2fec4c8c78a8b17fa0f1f9d6963bf64058445d9e3bbafe5fb193a5f89700582003816e0833f144c875dea6ff2552d29e142cda6c8af0a95604a7e02559bd45105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03354907a1727989668fee647f73191ee35a9f3ec9aba40cf3cf3af0ae29ffa49300581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687da87000000000057e8cc2d8c09085c3600000003f01765b44dfc6790e98100581f022236cafdc09c00aace91410d4f8424b5748320e8a2a7040fe2c56e81ecea5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02664bcd7eebcbbddfbb62bacddc03332634140c7c09531b451351d7913f825820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219608002199f9d03d4b5db43a62dbdafb9eccd501d60188200c97ec077332e4150ff0f6cda1286fa0366f5b9087deeb862a9cc13f0ad9105f5ba4dcd599ac6e0ee27e0da1b5d1946ce03a85c99e0bf6f8c7c6541d0093d28971e43c7eee0e6ade9f829452d02a43da63f031662a52f07d90aa5d286aff229f091385677fef633d72b7bbf0cfb13982a2b4103631f1c6347999c8bf20de0680144efe7a9dbee86fd3464727f53aef33b91e54d03353b24002882b57436169327759202c6c811a4d0d07c842da809227ac5da4992034bfa7fe70b46d5eb87a9aaa04fbe2c832369d2bb8a8227b7e46eb091239c7b5900581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f546b175474e89094c44da98b954eedeac495271d0f00581f02ddb474855b5ddec4a46f02d456356f336e15d44bea19df0f13e82671dd2641010219040403a69d48478e04b68443308094135cde3370e3ae4a6c5d0732688bdb2c0f39dc9e0323a9fa5eaefc8dd95a1124540e21fd39a4044292d6d0ecff0ac6a79c07d63a2b0058200317df86b23239936f3c04b34939e36b431408bc8097de8525005192f71801504cfffffffff5275c337f55de6303671938f8d4e3c50e04e23eb9ca1b755e3732bac31f41624882b3410f8f2cbcd403e4b7d779a72b41605a8e93b7a001ca277b5f8d851ed5b321417382d054cdd0bb005820033dbd7b166eaef877ec4ef74d022e387b263acc0e0530fe6b5d52a499da5530410103b9d80a3bcee65bb0fa4b3021d8dabb9c0a703a7815bcc6704fc99b2af60d9bc9005820030885b561c698c304cb8c52ffe002d6dd9b93a6111cefe59373194114ee42005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d9906d64583bfafa8fe1eace299fb79d43bde16b9e567c354daf87131dc1705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d3c2300d594abca49953c5cf1ad41db1a6132cea51c9569b41d4ff1f5e718f360219ffff03eb80778afaedd8e568ed472e9c68f7e54c26001c1b39261af04e1c267c727d570395cf97a39ea38eedd45252becec9e4fd7390c03022a49d789f189c779c7fcf000335663d6accbaa05851eac578a19e4492d109cb4187acd643a620cdf3bd941aac03313dc9cef9bc74eddc818c4d5d21b5f788cbe3dd0b6cee84ef6ed9a45b1ed56203036a04a1872e105d03b05ce71804c581576247293cc9b23965335a0c918a9e2503834565e82f4bfb409a2c0cd99554c7331ac4511efbcb598b1be79cd8a67277d303713c4155200202e9dbdfd08faf0631aec0e2cb5fb6d2b5e56a43dcb002b4d65c037d7d1cd0d972abf844835917d22b0fed0e40d9586095c6946ea2fb5d932a910403b192964fe3083641c0830fa655684c58ce10aef1d10a9fe669ee19ebd7951c530219ffff0219ffff05581e035f9e69a75e639ad92a4b3d42e11b4533ba6b4482b30d15fcff7c30cba0070119237703b445fba86af34a5c5d18fb42e1011631fb82fc1b1403ce1469189bfaa1fe7bee05581e03d5d49f9ca9e69268b7333e57697999796f857a24cc37585e30f5208da00c01464c6358fcc9b802197db5039188ede4277d21fcb78eef16e44f361eb4cbcb984f2be8e910fe86fa5682e0f603ae271b6561ffd32b19220b5515f3c163c487511c183f8b7b83cdaab9c6244f65032749fe6bae0607f94ee7aca8f3405119998736c99982549e3b4e782225861085037d35fdd1cb27b430c08c635a9f0bfd91d1b64c0f03005b268b8f6c8f074bcb750219ffff03f59899b24ad80c7731f6618bfd8395199f07d8d764eb60ecae7cc03a9ed35ef103dbcd60a35ec5730f3a9b7f3d988bbe70d2d4ebab845e0ac7f0cd5df36dfaaff40327d42e09e76e9f87f01f3f336c2ab0830fde1ee8d7a929eef96071e3a5a549e9039286fff8bf0a90852192cd6dac4cd22445b658a4c39a42851a306855a10fb6f5039fae54cf53997c4bc7893a37a94587259e2d3e4a7383c3b886db4cd6f6bebd35035d576823e15efbf58169a8c21ac0a4ffd053db67f64946cba6025e1174a2f4ea03d0e6cd8ef68fbe5dcb4b6e9386e4d7090431c455a5b77129610137e11f494f1a03dbc6a0effd7d0e082284210bca816cf576cfc3201bbd1ebf49197de32f0cf81d0343009098f928ca2ab65f7a6ed7d42e19b8bdfa07aa5b73490576490ece6037c80383e867ebdd99529d66498b4595deab30cbf3aa6aedb28b2a7e1dab8601e82cee030345915ca8fc55e7426b959f15ec6c099df6f711e05f4718ea3e07d2f24bd14c03e764f2d505d8dfa2c409ce1173b281d46a50eeaa50267465e96e8c379df7dc950219ffff0308f4d565473cf7f1d8cc37ef54444dcae2113017f138b67def7f26665c4cea3603597a62e4049ae530c60ad906afce981116ca7c513b344dc0026fb9343d917d7b03b2967f729a1f233b38fe2145a1537c1959c142b3cc84cbab1ba82fedd280676a03c821979997d47832eb3a5a30e965b6357b86b3a7f2966e982118af15e76b122903af87d3f889fd635d4599144527cbf03bd5bee5ef6ed14d3dce515fbb4e000f24039e650b628b2b10386fe5e20e5b0a48436f6c28f69c01a3dfd27cd8591fe8dc4d03382c7438375f8df572d1e83f66ee32669ca916ea58a868fc6cd198b80cd1f7b0037458883103ac8aa01390716163240ad14132b5ae08a2f1a0f0ed57552df2b7890321edb48770765a5092bf4535ea41603230155b5f48643e72f59305a8fe7ebe7f03654f06f1dd454aa090f5ac7897e6235ad45ec0448cfa654dde35ad719664f53803e6d7e49da3aed3977d562aeccaa1fba477a17f564c1ada3af2f19d11d3c2e8f303e6c91abf8e184a5474f5ccc78bec9ad7cb0186502b18e86e7b347d82e3190c280219ffff034885f6662a7581192640a98e0528ec2f0bf35ec96a2b788aff8081724f8ddc8203d49f6664aaa39ecaac331642dcb6032de9a0a058471b33fe1bf20011aa6e0d3a034822380557df0b2f612c91690da82ab8e1a417cad938ca2b27c9506da8c4e33b03c11d5f5bc0e0c5a19d665662f0e2a8c9544e82bfe68c27dc4e91a5acb842d88403d6a81b86e3ec835e93460bb9001cd4fc2be18100d825173ce8015f24dbfc59d503de6d08f163be18853524de50872c425d555bb07709e0b07342b676abd32414690389991ef4658dec3ef7efee560df8c6686cbd22c7edfebbdf337eccd466c8163603ab7425313007257e2629122e85f929321e9aef46069ceb6f381d22ca12da175d0316eed8e7e9225c495e9df94776a31f4e7d60870f00e3ec2cdb3adbf5dd840b7303022046f2e8dc876eb167b863d5d0b9a92fdd2768fca3deb18ccdf612f0f53fe103a096ebaf3bf50ef80a4478941109b153202106c3127c77308828c7a97a6b82370375a48f335b47642466833cc5739d5ecfe4bdc3ce9db971e7f9e2cf36c0fbc6ff03155fa3344b33177c0da86b182941f2cdfe9dc0d7fc6db06932d83c1d46adeb3903585b2896696f3ecf2244957d7f97d9e814d9b90f666deedc700ef2aced0e3f1203f1c529f1782dc6a1fedbc060fe4258a43d81b6de8af35f4d9d14e57ba393298e03e2a9f7cae0d3f0b6171fa49dde878b5aea099aeb4497fba716c132f2de1ed64103c8427ddd4cbe238a6bf1aa93a7e8ba2dabe758eaedba9a241abcdbdf288f15be039d7069790e04204e4d66670e8cd145720811cbbfcbcbb946fe13411ea71099f40312a47b16f00fdbd66ae7b53303168f6f1e17e94cab258fcffad01e38fb9fb27503f3cd33d53857e8e1c62068729fd8e21166b7d03839284499642b4d626bcc4728033617d973fdb9b272252e4f384e4ec5e43a5301d16d73af25f42688bd7e8945c70305c72b0c0d33cb86dc35144f4211381f41902f36ca087fd48ce52c68c89a191203ed76d8588547172af064d1b5e162dda2d919fdfcc52faff06c3775f0fb111e4403c8d3e879a183ec8e2d277242a2d057117e7b3b13596f60e81507ff334e91215e03f777f9981628a02feaeb9229b19dc59861146857ba27c8a0ece50c183f9be32b0377913ac45b82941e18b11ded71ff48ce765b78fe4fed2f2996b6e1e7bf2536a4033b6d9b34188f5aff05fe2902617a13f5a952d010a252039270684e622c0d000d03a06ca960fc547d45a5574d8bfe3414f8a1ab3d43e403911b9a96efb47cdf85490342df9ef38c6f9190f101487138a6b73081cb41ddc9bd6f03725265b8f6ac748903a216bd05eb8cce0d017268c32ae46b8e30d90e93fbf1a711204adbf7b9622ee503e6d1f16da43bad1f28f3ed4151b74ee4e813f54f5e64d4d485e412c1f7ba59d1035c1863db03fcb89ad7a02be791489b8759ff5866cf1da12b729c5583141ef50903f172dd94412b99333b54c3a12db94c335bc25e43055b1e066f42d4d45e9429ee05581e0303dc0d744c20922b4d07008684fe1c66c75a27412e30d230cf76dfde300c02462bebd204505805581e033b3c01fa1eb226b51881adb4b16dc3d021d4c3d7f598a738c3fd1ab9d00c182048010ac0bd99fdd303038b5dc162ddb511467fe78ed77f22daf64f0609001876e0759bd495de27b3298703905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03a808bfae5513f6743e84c18a9ef8cf41ae40c9bbaa8f6ae3a08a6d61b007011bffffffffffffffff05581e03fe1f0dd4a80754d3c14030eaa1865b40fce4d8bebc521ed0ab90dd40d008470d252161ab400005581e0360eab51be188d278e117fc815323517d20887efc45775984dcf99a80b0040105581e03df0fff29f7b085448b8cf2128f4eae5bf4abac8156b7800ebbe8e87d700c1834471c8be7edf0bd7505581e031c246fc2f3b68e0b2d58b5a8b29894ef4b37a5f8ed0a0e97bd2e54a2a0040105581e03f6020ea2ef167777b37afc1d08353c33cebd19d5498425dd93c75110800c01470244cfda1c8ae002190beb0314fac9e1c153b85eb5c6298f170773f31dac94a1fe34a4ba2c92f3c0d4f554160372646c7de7576eb56241587bb9cec5891a40100fed45d16787aa9f6094b6a6910219ffff0219ffff037dffdca676f3aaa5b7dea9d10cdb2e6f98d838dbb1d482431962a48fbbd8ffa5034a468d34d5c886459b23357ef9ff7380adbfcfe57e095c4b12724707ddb76d8a03bab6e6d8caf92ef0f0481caf252473ea057113fbac235e2a7ef7d4a484c29d0d03611ab21a962be516da54ed120f83ff9109410a27272ed53c6a6089c8f4d8c4c303611c143bcb5214678a291c7303d86ad967d7c780fac68fc1b995f5602cc5095e0347181c196fbe472e66d551dd6a079b46d6366c9a76026c314670524f612c5878037f59628bf0d175a598ee4bf5c5373cb061c62699591838db0b08d159060a7dd003404d80b82b9ec5e427394f21d39e8e371805a61bb1f284750015291d78d06bd6033c8a2ca399de2c6da37106c8ab52ee74ab7aa7721864aa27cb31f52667b41a2103e1d734fde4d1907a893d7d3bb09e97121089d829c09558199a41a0133d944f3f0343f8bfc3234e999fe837499673246539b22404040e6ad08cc2468c122059ce2503cee5b92581dfd09014bb4638d2dbca7c66312d8ca8ad904f1088d05026e8eb1f0219ffff03ab7365d251518af9b43da905844e94748b26414bab600f7ff818cdb485d9adb503be3c8dcdf96251313b055c258bf72a754fbd50756b19bbc2e9226adba922863e0371215e1256d4916859f29f53298d5231cf2fad90d76bb1364c3ecf99aafb1e4003df2bab112ab6437aaaeba0f76f1b294542229dd3d59f4a11749fc608dcceb27203229dde925e9a88513d4289a944819de4c5efc980bb7071602da9d6daa883d2b50369bbb7e28c027ad048385d17c46928ce62604a70130ec14583a3170f508672a9031509040c7dd7c4b37435c7696cc89f9cd7822e2af1c106b623f05515f67801c20367531820d5698649b8df3a85c835264b22e7d6c745231d7c6243bddee782634b03dd0a65ee31ac0d7df917297913c995a5f99e10c644521c0ba50832dbfabfa37e035597fb3364e5552734d1e43f292fd534e3e47620e633353364784c7b06e92caa03ac5c4d39dab8d2119521cff268ce20cf376d7f8920860eed1c524d5a2c8ce42e03d17e5e3a0e9f5050978bd3e1079b0b7a76e90961a8f70c1093eb387b04a6e94805581e03b9620f552600b3325a47ca4bae3d9e00c1677d71c466513599fd6b5160040105581e0323783276afb868491f8b42fe23d5f5a47cf44682636e00510ea1144620040305581e038b989367a6d58bb2c03058113ef350d9f846d8ab0f31b4b725386bf3100c03466123fb4070b005581e031f09fe05ba010a98b607df56ca25f99597989ae0148bb7e57319d63540040a05581e03b46d854bc9e7b8b7013c32e507dad9bedc39f86370cefede2561efeb200c0347426603a7db378005581d025b96233c8661d8ced0e88f210eee6a8e92d3300f5c0366bc308e5d830c034702b19b64ffa4a7045905456080604052600436106100435760003560e01c80638e3ed7d71461008757806398d078b4146100a9578063e6d66ac8146100c9578063f2fde38b146100e957600080fd5b3661008257604080513381523460208201527f541643342e74eb4d6b8af5ccc861b1eb40efcd85cddf61975feb1bc0be7fcdd2910160405180910390a1005b600080fd5b34801561009357600080fd5b506100a76100a23660046103fb565b610109565b005b3480156100b557600080fd5b506100a76100c4366004610427565b610168565b3480156100d557600080fd5b506100a76100e4366004610440565b6101a4565b3480156100f557600080fd5b506100a7610104366004610481565b61024f565b6000546001600160a01b0316331461012057600080fd5b4781111561012d57600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610163573d6000803e3d6000fd5b505050565b60408051338152602081018390527f541643342e74eb4d6b8af5ccc861b1eb40efcd85cddf61975feb1bc0be7fcdd2910160405180910390a150565b6000546001600160a01b031633146101bb57600080fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610202573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022691906104a5565b90508181101561023557600080fd5b6102496001600160a01b0385168484610288565b50505050565b6000546001600160a01b0316331461026657600080fd5b600080546001600160a01b0319166001600160a01b0392909216919091179055565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291516000928392908716916102e491906104be565b6000604051808303816000865af19150503d8060008114610321576040519150601f19603f3d011682016040523d82523d6000602084013e610326565b606091505b5091509150816103755760405162461bcd60e51b8152602060048201526015602482015274131bddcb5b195d995b0818d85b1b0819985a5b1959605a1b60448201526064015b60405180910390fd5b8051156103dc578080602001905181019061039091906104ed565b6103dc5760405162461bcd60e51b815260206004820152601f60248201527f4552433230206f7065726174696f6e20646964206e6f74207375636365656400604482015260640161036c565b5050505050565b6001600160a01b03811681146103f857600080fd5b50565b6000806040838503121561040e57600080fd5b8235610419816103e3565b946020939093013593505050565b60006020828403121561043957600080fd5b5035919050565b60008060006060848603121561045557600080fd5b8335610460816103e3565b92506020840135610470816103e3565b929592945050506040919091013590565b60006020828403121561049357600080fd5b813561049e816103e3565b9392505050565b6000602082840312156104b757600080fd5b5051919050565b6000825160005b818110156104df57602081860181015185830152016104c5565b506000920191825250919050565b6000602082840312156104ff57600080fd5b8151801515811461049e57600080fdfea26469706673582212202423b649741bf182fda0e23aa2493ed8cce4f6ccb7dd1f7d364ec5c14a432ea864736f6c6343000811003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563546f98d78ddd547318d39f418264fa983e64715cca05581d02ae5789e992b71f103037e7742e9aeaf8cc098f55a094edc5810680d507011905450219202005581e034c3abae9672a1b8294efe5ecf19c1cd4e68d4784b7c6a441f97a3f4c100c02472e080af01fc800033fe4dc133d2cb136c08930c21c7ceab96124d22b58c2ab775610a2bbe92f1c9a05581e0389b1876f5256de0e1add52d334aaea176d01f2641b157d519c77b49fe00401038f2055c4b3b6a754cece936e59baa99c609af24abaf483bfe76e538ea879a8660219d5d703ef19fa36c3f3f06613aed7200155ff938da45e50abd948b1d06b3d10b8527fbb03bc6998796afe9258d653654846383bbcee5d4017c86daaa3b012725048fa63a8037b904dd1be7fb7d1cde3187deee4371e23bf5994c6d53c68e540dc9e0c35534c037135d280ecfb625471cd7ab2db59b2d53b0512965df5daa21e09fcdd14ccb73403aedbda8f97f6036f7dce1f7b9fe2e7e3d1e7db0e0d8210e64909b4c1b72b904203846c642d54d9b513cfa43d42c94b1743d560b809a7c116d1c054adfda4623c950379d75f46d81f72f93485ad38cb0a64a2851d9d5af0307ec25b80fe50cf51ac00039153d4f3bf4c93a4137c56f123f53471f5289f99c74c1dd82da8d7d5db7a911403db6e7a6d65cfb22a4c399855124b39da88faa74eb798e99ece4723d8c992a98c03c85e944e071d206c5c023f3c6ad1a6cd10085f0ba970868f0d90362bf22981f70219ffff030723dc92fb8f2e3bbbd4fbb2187e3625da7468f3f112e097767d2ea53ba3d37303c4a770972505b3455c61761fa00bde2badd4f3d03ed45f7929b1283d391c856b03ca32e60a6d64e757cc3d1d83e6c18a2e9b7063918fff6fb87687c9df57c69bd603647be2e427fc7369d7f4f3778ce8a8f77986948053ebe3b1af032c9662401d2d03977ee801b9eddcb550e3a84e4a0214c903208b17ea9bbef805e73b0f9c434b6a03316ff10bf0e31185b24eab15b76f056aa6b1d8ff33e4888c8638b35628dfb6e403f7f207e13d83a6e431f99ea694bb90a0ed1c5a0d584e19e21ec0c6d01463ba4c031570747109d4e942e73959e1afd2ef5505db16e20bf547e1d674aa33eadd5fda0306eaf6049349266d8bc44a2b445f7ea4edb935e4c075815e47890d13b6d858e103661f9d06e1e47db4ef03147b1b3298481c7cc85714a6bc90a7f4f650c63b90380219ffff03a7955138465d88582d6e49feb549d9a9bd8c911efd22d0456d2d6911f298f285036bb71f2c775cbc3d01f821b5d39e8fc745594ce2f63f514601542841095705230331d631c8a4ebe8261173e593079d55a33828d36647f613bf5f8e34acef314deb037f9a511684498b77af91257531c91d3491247de51fb9a7a03cf562c2f986f15403be00c484d47904c19997468fc354378bd7623f3229767553570c4b56af27318903150d4875656377524546a9344781cdb6f6edc55164cd79ac06f67e095f42811203ac5bb60f8a995dd01f3f25c59c1f59cbf267d5af8c2b5c478cd470ea7d16c74f0307723b6f5d7349e56c2a9b4ed3b17e03a602f751bd7c2d7c65d31451c5ad2f660376305ce628cacd95fb677f6acff38c0b30dd0e41e9a7122f5905f8e695726468030331b41d9b966dcbb096ea798b68f997a1a9931d6c614a848bf335fffb5a2e0b03b045f3a4b2e0d85b88155be16f75c6a96757bfaa47054e9e2b6dfcb96172764f03d2f62815bb0bffe3ea3994fd99a69b3481efefee3681a70f65a919117e8dd80b03ef3a4333a2c7f69addd2cfb6a4a4d852068e03d4053044186e034005d51640da03c07706bc771ce7e76aa6befe6c444f20ecf9cdc786117b711d900cd438e658330363a9a2be5898fbd0de27af77d51d8086f296ef1e02ae8255c70d9d9cb0f4b6110219ffff03db8053eb174e33ef3fec5e61985033039e15f4c4bda3c182d13c2cef6d18b06103509dab54afcbb936a9c239682d4cd725b9f70c40fb843b68daf4efc6675f5709037cb3284b0a7b8ecea82167b1a737d2a6a60c74bda19e70ff4ccdb7a8fa2bf003030843a22717eb96c313af78f87cc58dee75d8e7d666c50c3a3dae58cc8b8506c1031b7727df26b2e8d34f61a678180c91c21c806dcfb003b6134151334e509d35e50219ffff0374df192a032079301d042e6c48768b5f5157cffd52c0e43970a46fec99c3656a03ec05bae742f952e084e3458c10acbbf687acc3b10e95b82d07a6bd0fbcd9576903d77c577e97c69b8eca725cadc6aa6699a746b9789d834e22c424b0cbf89c7e750383de247e5e7cfd8abb8f962b488e22d146b992e26c455b5ccf8ae2d66bc7222e034da900084156c6e839ba98b9c1c3ce16b14be1bd3aead69ce05738a1a478dccc03ae43d9379f7829724e8f6632d30d1330bb83879166baa25e4df8127848741db10343c2305064ecccb817a9a4b90e938f88e75bdd46ace45fb525d415486301a5500344126dc98a8cbd870a2d996258b657fec893bb8b0d82fad950cd037f7f6f9d0203e6ee49c9c2542e3b4e436ecd886fa1e3248b0e5b984ac8b29f68ed71332613b103cb1a25623ba209b6b285899d326766ab86d8797c7e4c71d578e3843c030426f503cde8a6ac44edf8f685208a1643e7a3905830e58c7bc635c1be521ba675d32ed403b531694237192469651f62a95ce0ab567d0782bf313fc4305a6ab4bf11af2be803cf237e63e843e509a7d762301e60b72ef48ba39cf40d2a0447db7e123412857a03275b2af6de044414aded35a3dc07cbe45a19f1d6a877dbd2d13f3a4b0922294903301ef99567fc24e291a7b93e0a323f8840b186da9ca01c3f8e4806c105085ec50365a6301d06783cc4579e5d60654aab98904d2196a182862f62c32c58daa0147a033a35735e67fd3fce010b60b582ce312c1b773ca4ba71d49e9c682ef45e98bd4803f0a0b6fe3bbb32fb9c3a1652d844b282fdf567d57a9c558a4ef72e230c719c31036e7479867ba981a415dba3e5923005837a3b8cf33c29eb2e02de3fc122365b5c0352f225292c56b8a4dad37cbe5d29bd6439e72086acf6b379ec7cf2f2bf439fa803128f54535c6e842a9afe4c79c274854c8d517c39ac4ba408b6ec39bda4410a51038d33557390d6995e85fbe6d71aff546126c99caff2d95991e5e8498c493762c503a8c34a014278848cd5bc2d89fb1af07a9eee7cda3bcbc86ccf56ab9518967356039e65929b7f5f6a23d545d23c488c4166a38aeebdf7a1611ab0db10da63553da303c4be5bd518cbd433b68a0019ea88b04d59de9ac2a45c73bce8784ef9b1c3345503b6672feaca3d5472a1533756cc8e864582dc934b7f10a6f2f7f583fa3dd1a99c039b67c814846811a7295e5c8cbc7cfc696bbe9cd1d4c6ad7605f4a8f945386e52031fccabc2483776bc24e72c46ea0cc5ebf59ddb5866c9e6452b71b900c3f1982003dcffc648628406a1c13666ce996a72ea652dc623fb09321c701a9c862030e0ec03880bf27ff1fb2b9255cd23e8f46aed659f5e9ac0b28da0e2d7aa344aef4d430e033e3fd56755fc682139c558e204d393bc0e3c9621e0a2d943c420e4661c24785b03c297ffbf42f555da8328d4a20baddec27d1bbd1299a8f9ca7c8683ce77ca1ec1035732fb38d762691fa3786d21402a851ba0882fd4ce4f036e8c4d6dd1355179cb03243ea94f246b59aad419585631daf8de97dfe7dd5726aec776c82f9c376efdc103282925c8a7ccb46f2a1c234ac59cc99d3e880bbffd294fa375537f0bcbd332b4030abd1a9f86c9b6c52b84f2543b5f4162e88618b1a0b4dfabd192a6f9635c117003b96f8584042da284040bf555f458882083239a3366f4fc5dfceb3a437428583003dd90dece0e4fe951c44546dc46a9f948427eb2ef768a5566df6a4510c9bddd8805581e0348f2fba7fa2d4f927d212b0e2dd1821cee5d87960f1d83c0e3f4acfac00402035eb6cec3e7f732492b3c85e8502925aca566fd6631d06d41ef00ad7c5c06461c03ffbca76250fd1f0c28b01c5954dff05038cfd8c06ab90460b9fad7820d56cef805581d02374c263883f6f8dfa9b3878e4294e14cad9d33a654b48613129135b0040105581d02537647fa7c49e4a44d535edb4f2cada7e7a12fee5ca09136c4fa9ddc0c1841490368c4db3611c7cee60219020205581e03a8a58333c365b4be6911ade5d9aee5e5bd26c7be470d96bc16ef4360400c0547a6e5050fb5d35105581e031c5030e2708d396a42420156c2e279dbdf10cd7e44ab1c79aac3b67c000401034ff21d4a3a984ad1a5fd248b7a6ca716012d097f141274a91f1d48b0f6f5384f03ba05910dc72de80e3867b6ccd67c2b718e7c2d3b6ff244b65ca9d0c10c65747805581e035a3bbf36ad65b602c61cf83673e48c4a7e6ac98314da12bd94a4f9d290040205581e03f0dc37bb6882085cc9c0c6652afdd678ca60fcf9b7cadd780ff7ab0290040205581e0386826963d065e6cb6bdb726c6db8d233a2740dadc38836acbe9b715070040305581e03edadccd8548bba574ec359f8595527bf46f8715a85e1aebe5734c420f0040105581e03f1ff8e852a1ede0e062f6eb9680ed88becdfc4d8bf823de749b5197780040105581e0345124dbac1c768c67e8a5df7f24b422d273001bd352bd997de91b0b2d00847105ac017a99d580219ff9f0338c5a236452812f563d65be70c32ff00683f531212a59de9f4f56732566adefb0219ffff03cf50915db953a1d835f57381a3e72b00f3abe8dfd48458ed170e418073c709d70219ffff0389b04fe66a5f2276caecb4f2ef7172e454911b41e67bffcd30ccbf3d297ec9520344efe00afe0d24f8f69d1b1a0aef8545257c193c351e04e253d888c6b116074d03f750081818e789a95a39032cd25828bb7aaaa322004deea546c3e3a0d685f76703dbdaf49b5628c62daa4363ffb165bd979983aabf17d51e32a9d5d728f51cf92b03cad41c14386eb67d1c3b6adeee15f20b31ccb8f95d45f101ed8b60ab2e27152c03fb82f21aaf9c6418d8a5ae1105c854b8ce6872dc47c4f221b96f3c1f58e99bae0316507d3be1784bb900649ce98e8806515297c1fff9a0f9473ca49aa2f9aaab4e0396951139046ebfce7ed41c13455272f87fa577c8d31eb77c2704aa206357a8770366547cb21a3dd8d2d7bffb2e6c2424ab438d3b814229caee764b7c120de8ed32033044cd6b550426bf5171ddad75ae05e7bb4c54fe3afe3fbfaad5de8df5b14d6603d18d5a73ca3c2a1dc54ff599ba2701f5b516a1081ea05c6feede5f8e5059f74a0309cb5f87f5ea996fb265ddd5d7a7054a7c087611605ca8b16f0eb097bfd49c580219ffff0306613d1907903a3a52bcf32d58e9107bb7b685950cf6f837a3b290e6481faac603b929d78bc78efd9c0df73e04c898532d55ff4fd019b9916a7bdcaceb4be0279c0380c6070fa67ca5144df874e30144d72caff17b3d168cc6b7f3a9e11e95a55655035930ddcf12848f35362b987ce17c8e4efe879ffad4ac9cfff8ef52d769bfb20f0397d0dfca0cd4ecd8375a3da137180cb0b9e0f58ea273216ecacbcb950de9db0e036ff2cea442a03663737b0bb1f7b230be8b26472bb298461b9471c66294f60b3b036bcd2232847f2a6f404594f0231ff90bcbd104fd12fccf0f70bb05237cdd56ee03a8e001aefa75c923bfe5fc8a33b655d1be1c11248e7aa32c9482fc2ea3e69fe20219ffff031ded226abdbb19ad44c27019b4f4ffd4e8854eb1c65dd5c145bbed096d809d46032e230898253a59bd1cb43e880138ef18664f76bbedf03f9804d449635a42f42f0383c7783b21f02316b9338e2a9ada45b92c9527ad1b95d23172dd6fa97338d75803264684277fc56ab4a3373f4c20294267c7ac1d181af60b1e6af1fe8f34e046a3032f9d665cabcc526da5376feb109988590eb56458cc5dd25b39da4c9d57f755d30378124aafb9755bed41ff6f539d52a2b867c09e147f8f18d1d989aefe4468b527031ce6d21e45c831a78d0b7fdccd1cd4d57065fdc7281e77cd7371c6c588b814ec03bf2c76b22758ac02731240acc4acd485d99ebd83b0b56eda54a543c020a543a4030b4e43d8bb520781580c3c8ae1bc0c3ee9c1a50c9e16612a10a1ffe298c9fc0103330c0372d42ed56b7176044587d95e3e53a325a19c7da0ac5e72bbcd4c1f2ccc03e45694ace55b405c76c79fbd1906129723753983421f3c9b9ac4a26d175506dc03afc67fee8b8047b66cdaadba54f2d343d1d93ec0c7fb7aff43b7b98ef0407f4603d74daa3f2c43a20df5c65f46d123329338b6464314235f3302be47db1d9b7068036c744c07f99c0a7269d0907dafcd28bc9a4909f5b2dacc74e98438d016ba61d103b146f94b3c2e471a2d8bcd28612ebef8a9a6ede6d20a14e71a6ce41dcbfd956e03e6e327e1da65ec6d217cad3ecb3ffbba41e00bbc45794f1e8634db6f447f2f4d034d7e4da9d3b58a9b0690bb87c67bf6ed9b9c87236478184cf76d45e297a0e3f0035c32748bf4c6ec446f5cf16c7edb9cf1cbe72b6ccc1ba63bd445fd0f301ffcf603345e0310f01a21fba2dc45b884b9101d4960288d1fe4f57a2d14ff1c0ecda8fa031f2c07c36cfe267f480a21175cfedfd31eee9169585f49b45c375a199f00af9603562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03842a4250471e726c4be7f5a4a00a9b416aaf25e82669a258f740c74a9007011bffffffffffffffff03c40e3da03fda0ca036fa140f7eb37b11ca4eaa8cc6a83b0b446f1ac6fa76871c039cbe9aceddd24e1614784469486b45e6fb73a1ec5e2f90f17211b01ff12cb86603d6eea95099e582476aa8b3d23ad37e6d5c99dfd0bbc497815903d3490bdb645405581e03798b4aa9b601ed3208b8f543c0a6e0fbdac4207dcbc1f56a2a2662d320040105581d030a857f50816a3d6dd3eae7de8ac91ffb2b711d5c3c8e4348c50055500c02460edef5166c4005581d0337ad5ff66480fb503d933e9aeefd7afd5dfce55f15eb935001279a500c0247016592412317400219020105581d02337b636966f0db3bb64bf67915f256a36296f43e5a67dd544d8a04e5040303905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581d02da06a4c61cfa578ea2f70cfa201b1f1d0d74c525d489fdb7d62fc4fe07011bffffffffffffffff0219810105581e0365842e37a32e4d97fd140273751c156056b834229216dd0e7e2ffc04600c02470161f44eef691005581e03dd340a4af09421ddba8a8932a5c88e8cdda080fbb7ed1ba846e330b2600c054801ea5016161a2c1003f66628981c9cc781b09a113c5a77d834eae3eaa2aea70001622a96a9e606623e05581e034f1d5b7eedb3e3d9a56317876546e7c5de46c032b8c3dcc3c3914cf9700c09470108aab3a8a8600307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e03f0b2fafec7b9c20d74df1351db3efa7d308f4488277405d450ca0bffd007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0334e841d6a350b248a762c86329f82b4318471fdcd1aa255c7eeddf7b6007011bffffffffffffffff0219ffa603a9310d8cae185a366220f5aaf3c942511c0a5a0700c58003056fa36f868d61160344270eed59d2b060cd5dc05a6bc0e627358b7da821cd650218f65ee091e711d203befb75951e6f8488426effb2401ab59377cb92c517a4b04dae669288318df3c7035d52264bd4c0f367e42290764e25d819e36641a487472ca73ea2886bf29405fd035679b30e5ee0f3a63e9a85726ac5412de4d450344f9af36db2a5fa8c30730ca903bd27bd5cb45b2ca71d9f8ba168cfea61a8a41fbabd79a0951c1dc63037a433aa03353bc0ea7c0de91b3a994e03a109623c37c802b74567d26cd8a0d41de476372d03b58cbc77de2df59606abdeb902400d0178ee7093703839880ee9a12e153ed21c037e582cdc6cd2142d29f2ff669f1bed170ef41d93fce4a25a6da14ec51951075d03c59ac4a5e7878547b4648fa5d4631828eb9335d441d027d2c03cad89166a1bb9035de00520a92738fb869768cc682fe2491c9eef2a1ca031b323d7a70df65be4c7032c01d5960de14fbb988ca5408bad8446d6120746cb456ccc6c50a94373baa7c90382db0e8dc73a4f191bfbe427ef9d17651f855e783ee035845f85352e005c495003bd9b296d0f46c603214ffe6080974f7d17b952c16a77461bfe44aab7bea3de010219ffff03ab3c2e2c42e5ae84066e50c44dbe7afb1159c55d6387a10e6a1441478187778a038fea11f77c6e1311188010e33717c83baf4a5aa89251b698cd6cdc615d2f283a03c4193bf636fa9c0e17f7e46e70010ca61cfb5d2bd36e004492eb094ebc8b13d0036bfbe46ef122d00218e3be80bf9cade696c6159cfd78090735c2e7500871a4b2034c5c9ee3d311b295de5aa84025a784763d9151b71c58e203ca86371cf0ff3c620219ffff031a7819aea80a19863d1fe159c8192ad5a68c73519ae73885313b4f027247281f03f5900d84b269f48c33f50d17ccf91f097eaa1c1448b5f35beea95a5e6577686103e052374bb8180d5bf483e6c34358cef76e0842a84c552b5a8a80de7ab930f2bc03fb87c5a804d55b65f4f88d40c528c8626a442b6cfb7e755a4aa67b1046add684038fe6893b6d9f16259c104a310b375752cf6512a600dd6484f988d4144d9a4572037b18302dad837344312ce3de26fb1e579bcb5372ac9007c99c67741d74c6b9ff038b906d203c52b2026df4d3e5a6df25473a13ab3ff3b26d75894eae1fdd683f8d03ac80150c295399d5fdfe4de388ac3c2ca2c2bee5682b91020d63b1f5da8f011603ac9b811b8e1fef98a106476126000063fffda211a85e2915f68806de1fdade0803d0c9899b0b2b94509867ce799da257b861a69babd388b77c354beda867f2b271038b46fa7c4a97fbc41f3cf716a5d8efb35480cd8c0923e70990594085c104894b03d38ca19429f9025c7eb3c44372967e3403c8bb825fff9ad8b8c5d5c965ba0a7303f848cf7e761702c7230325fcc4834bc1ac9aed48069e29271a58891a5b986a640304ed9543e0cf066d98226c5c36073aacf54bd258d2dced31441b53c4f01ddc760360f4a734ee10a48263fd695e609d0d94a8a8178c319ecfc1fa0771adea660c0005581e0341cea33242879129ae74595719c8bd88e656354655fc1811f0781e5a40040405581e03e2cdc2d888df413d7dc1971ee014b6def361c8d2f8a6374ae7ffbcd4000c034701b3696e25a59405581e036f1285bd580b1a924f6781f152b890d96a80be8ff0de4c31dae3cff0c0040105581e0376aeb31eaa15f9ebb2cd264f6b28d5b18a9f354c7bf2e12829b563299008472391dc677dc00005581d0234aa65973a936d60f2c36e4ed008c076fefbf3606a1bc22f1e3ee4d30c0646e19460a77a7005581d021f1f93e793d005e222851d93c5c4a50da273b2a745d56b4c16e8a972040105581d0268bf56054b1ffd352ecdad9092b995c956a0bd597f3e55e9da42285c0c024703a7dfad32b0d002192a0005581e034cbc96bf58fc8694711c638f0539f4736838390d5f74235b7c341811a00c182a47073e54269dcb54035f41ed07d6ec187b8a230043645256958684ee091dc3895de93c58b2ff625f9b0315e8bd9bda7f2f450ecd90da9568235aaaf26d1205195a565751f5c13375e07b0219bdd3039ed3ad3a09c756690cf0bc897e411f8607222815c7828cd685e9837fb8397b2603cec59f92edfd9ab52820dad33f20214e2f225d951299ef73b93431aa4e78177103f02dcd389841845e10162d6d5e3264ef3440ef616fc936ed1278535ce5c8a3f8033e4062f6403e25b432de116bd42f09a3eaa66984af754b4dd77877bb06d4292103a7b2dfc267f182ec811156e9d8a2a821acf8cd5e132acd34951194b9cafde7a803e6e9e3bda5df50aed5361cd789333438390e65550d95c84f8469a2e9d96134e9037e742b6d565bad7a44a5748363d04d2c6155a9944ca2b7a3d096a5e1be5c39070379df3a8745ba04cf9ee56353eba5e28f3adc3e204173b647e59058df3d7039d20219ffff03df11ae6885d57bdf2d25bac137eedbd801cc356a95bfccd5683c74339bcbd91a03bdf0a61730006e1181b27fb209b469a034fc8975d70fbbe2a690b63051b7bfd6035d330b65524bb870c27bf711316652c39fda8ca9bcd515692994dcbede9a3aef0319c4e51c0539f2de934a965874dbea0df39ca4311aa911f523304ea03c5c62d9038b747b36b0a88a513043d4941241b2b52304e0ec5f5bcf39c0598a59eb39365f0371b2ab7af8600fc3224074314d311f772c0a25eb09c837e2b14101c546a79ce903b4e6f1dedc77ca3bea0cd47ebe7bbfba7963c5ea3fa420b73fa0d832d70fd46003019c2857559bb7935d34865abfcc28f176efddc6bdd9256d5a0dfdb9850863f203bd9cc038c495c597479e2ceee7b4a60413499f8a06e57013acc0088f734d371d03876a75fd941ed9b5a20f2754484bbdc3a4bdf297d64c1d724ec389f45b7beac40219ffff03a829429bb45492aa23d5e31382d9d0e2a426c9cfdea60f49daf32679db444051037c0e830d6dfaeabef3886a3375eb478a67b7250b7c78cb19abd77af71c915b5903f74336c7a4a283781cf994e73a0941f4c4329798f21b862b6515e390ee15e05603c51498fa3e48b97a858125dee8db3f92f8120a8caceba75c59d2e0c84f0ed875036f7a8309fca0fc9b0ba0466fa7d7d4badd2e0b70b6c975003fa5e6392f3edeeb035fa098e99a1004f29378d9a664d381408bbadfb2263306ac401129c2796e018803e170e77dbc201f263718291670229a801eeb44161404cc02be22c79dd8f596220368b807920190e9df93a9d41bc38bb061bcaa09e45f173c2a7a3eb711b2724b4b03ab164d8e6d673795ec8d6986c2e1064188cf3d1206f2c171c3bb979b252c171e038ac8f8b4c47647070c774f695081cef11fac0aaf47bbe33ef5c67ff0bc2a1e37032aabdeed4a3a1a6ec453481a1e819f8c1b55e1e63189524e660e093c0c61963403272b7a768c02f81e7f115f47d7041b0dd13f14982af03284fb8a36bd72b740b20219ffff0361854e95369f143272b063c9c5e2623d9a33791bfd5af98ebe4627f7fc15db2c03fbd84544e779d580b9636ab89db20983db15b09591428022a19bc508697b419b033b60e0be2cb6c12b62d38c2cd01798e9c1b264be08c38cf881895174b0aa589d03769cea67258949390f4265cde81960ace2ed040ed139da97424b051fe12800d6031c1cb5d34bf3cd7ca498929db5c41de2f9e1abcc2634e1f0df9d00f74e00224403ca79adb9134d7bdbea3f4b355ce5a4e1fa73aa756d0057ba57cc003901cce029035996d896fffb5433866e382ea5ed68cc876b6ee33cb81f50883d8945c30bd1ea03753e1c591910ba9dd2e27ed7362f73857177b55e58d1565c56cef78aedcfea0703f08c252911bbf642a26c07be50f3f2a9320c4acff90756e5c7e740cfb3d93e7e03e1f9e1a2abb137425368a01944d85f775957d6a6e9a5fc14b8adebe7ea4d87500357c3dd28811fe6d248cfec71fa15d2b4f91f4fdcebee301bfea4ae4f895fd6030391a44514248701fe9e7c307c5625208dfd5b7ae73d4ac089329efb5aed425f3b03f7096c57adf0d898ea77f8bdc7f63ab068339c4d3db89446a5d122a6f2d5776903fc39e69d976711a2d93559baae505d5c4d029243bfd0c0d324c4fd8437c8163f03980e9f499aa538e7e2aa878dd86f3fa7a42a5b181e6e25c9c96ff2013fb2f19c03c5d1fa59d4577511a20cc876508877643cb94bf80cd259829a0ff0362bdb02ae03fcffcebf0af51bae4a5df9447a7c1343a19ea13f7f1428f048679fa96039064e0391af1b32064ba7b6cebb1942428a7a1fdb825f4f5e81f8736b49ca5bd9938b29037ef18598fbf0dc36157a822b9bbb918352c6b986c384b6944112f31dc855b6e103058fc6763c0e8bf270b0dc47338a26dff686b2ba3ed344bc6b0dfd66a960a13d03ffb8773fd6344e4f229f785e15138352cde463f4d5456d5dca9cacbe26faedbc0357b125ee50bace0c55be02d7416ad9d5f1b0eb9305a4fa463c1db02ff91fad1b03bfb3da3e4bbd62c9ec06b8795f0f6dba0406ea2887a0af01571b259e804da2e303e86f12a228076b605a8067feb4ec588b1c4a6b3c8bd193f3ad3958e254b30003033f0a8a67c1db9441ca148f9ea6b4ccc07db459e449db1bfd7c485d6dcb187260033a91ee755a783ddb30ba14d92165af93fcb281caac961811adc301d8b50cc13e0362115b22d8990506bb127885df9ce47ac63d907fd128944a55e76aadeffa114203a63b9b06dd502b4a93fd3ae69bb33dc940457c053aa64bd66795cdb3b0a60a6403b16929a726b8b5260827482457a0e0716dc4f32e425bfb666c317944c06e7e55039bb49b8f3d01666facc74f2e46db8cc17ff0e8ce9d909a9acf5b1fd89ed3237803d48e822f7a330ed3fe8d0752e7b7e405382990b8035002089418cbccd69b22c203c851bd53290428aa3a33066d49691c8e972b43ba1a480c2a74100f8b61eb3f2f030631d44c0a75ab0b42d953f01ef21232f734c3afd44df88f04e2d5414a3d2e5b030bd6c95f431eea212acaf4b371298cf8ae26c94a094a1855a465582a664c3fe9037a8eff3472d4d8e57a075e0a45819aaa1d9c74b795749fa9470a4ae3f90a662203bbbed5a9f290245827a8f9b74b68bbcfb23fde8fa243bca7654fe72a2dbc834705581d02aa48363df73389c5ca122bf2b4ae2117f05dc789ee7ec08183068e130c1847471422027c2b491005581d024286af52369d104585e8545d69f70097286b4adbe47fbe9d0687f7070c02450165a0bc0005581d0296ff4828a95b2a8a9dedda5884d3568cd8153ff0859c7d604c20c3d10c024701457e923d01100219400905581e03b23c9fe75eddf2161b449f90e100ee4ccec1dd498349682c7d0c9bba10040205581e037abe2ee89fe3e4dc5228a6528eaf64ce7e739d54f49288ee850dc828f00401037cf5f75ce273b9269268320b698424516e8f41365d4756b056a3634d54a8699905581e03c3a735e50ad1b24a738b7f6428bb98c577c21caa24b6aa64bf7dd29d400c01470cbfa5ac321400030c5f956dcb8c00fcf4eab0116ded2c68ec8d58f8ca11cdf681544453408a788105581e03af2c57da142124b32ca8b47b717b63c46d25d86ee2d8019ef5cc7ba110040103123735fa0e02079999be41949ef2a5547aa9a4f5a48e1789a0c97ffacee34c050302060d1037a2aa25967f115af1d367a7afae28bc7136ea6b854d0a4dd59f054505581e03aade00a062da5cb62f0c458a53699f55dbb386f8f7c0f7098b2eab186007011bffffffffffffffff021930fd03279b067d0265b30d009e2d5d6c515306c9203cf182d24e190544a88f8598b8720219ffff0341ffa04f77a3fce08b75d37734c85e3d4a785dea641e36467c376024ee0421ce03a66ef28663d22fe4f014705a32ec5fcd3d402f7480300afa91862e87e016ecb70219ffff03ad48ff1aac23f3ba5aa554d1d7d46412399a8c96321c5118f73e3de08a2d98e8032c4b273668cba8237a5b4a2ebc3a5b8e14e368fcd3af5559b62101643a7dd76f03ea56cd3f907658b36c8250a9a4df1c29ef6a8aa50efdbcde063c5eb2648372c40341ecfafb23a2bbcf0b7bc03163cd2cf0a57c5ba31a60ed47c9eca4a9c08d7b08039f2e92a937d117bab390a1066806acb0a8ae16b93aaea113eb3d65f03d175e9403ee4d8188eb04c808b7cd879163a3fa6eb6b7c5e9611c01f14583822d2715e9b203f3ca185d936118ea6100ab90c63f46881592f54d504fe528eb6821d3c430f34e03ee0aa5b8ff754bd8af977ff2fa9e28c96425246fade4e74b12fc5d4da36f7b60031902ec4cb0f87d8a7399fe937e965f2869a6a9d32b4c36f0747514023b73b5d60219ffff03b70860dee911f4990c2888edd861452d5542dfa04661e590739ce92349a59a970304e9f4ac495ed93a49d5ac1bf0ea2306ca3524f9680ff26eacb2c8bbf063c18d03e77f28720fcb091a1f1eaa1f8fb46ecd8a71b7fd12059ca8d045c9c56603a52d03eced96bfab91f13082fc1b937e35cac278b325a134bebc60ab1391509b007caf0343c02b159e7bcff2d32d88650e730ced9da750036f4a46e44d6da64b9cb521fa0358ec3dea57420db7b5be1b5c2a509af6b1a11b20147837068883708e432d462203c32e335e8bd0de11bd7924933997cfc3ab8dca1a26f2c4acbb9cccd64d6f650c03bf0d970e74c3c8fe05e01378a51a01516395af6380ba91fd0c6e0b1297423aeb036acd3a57060c2b9c23893979eb785ae38cf0a3ac124e147ea23da4377f3ed05d0320c81cdd7e1d81ecc9db69fd31ab60cd9dfc872cc747cb3a9f556c0be65b10530319ec1167e662ca96a880f88a649b5bcb25912afacb9d9cd973ebb5a38398e7f20396f8f55096b2adb023f3bb9cf1f1b618e380ed3d3395108d990f698bb60166c8039e6ca4f931079abf410b9ad2aa41ecadfb5d4c7b45f4d28bb76bcd784041c8e20310c6666ad74e885cebc6cecad6a03e1cb40febc8e72f44e63a96d95c7536409003bad40a8a0b3fe5caf9977df79f40c077e9916e45bad98eecf033bcc43a4c6389034930089a7847c78b7c19c10f0fac67f8654544338e1b6db0ee0f664bfcbc9ee703db8a523ecd5f7d1c38e9e98ec943731ad4e222ff0ee1e080121681b560a5748f034d67835fde1dd705acaa38fdb19a49f3b5a562cf8daf2ea3714703d55d427f9603fb466b25ec83cd5f85138c81270c997dcd88190d9876a5183b9267091a4ca38203e34e39b9b1b3a7779bc162ed3709eac47ba5fb7eb8c8f2867d3f697de39af3b4031eb5dbe256a98511a6054e5a3eb70f038eb7314334431374601c69aacf1a387d0397ed2873179830366a5c67a6faf403307bc0e4cbbecd67de53df9995b7a1b5b003f2a4b119114f14a28c219ca008c3e1e632e46fe42b160ab3df2502aaaa1256b203a0bb8e29473370f0a558bc91499fb7ad5d5a6ac4cc94f7a62a901802c1269ec3030650b869665046385628d38aaebad7527af067e0063141aca16014711482a7fe039801f3ef02e699f93610efcebf3620aa39295c60287cecfb76073eb74dec6578036c8745c4d144c7f3897c946ae11fcee0b10a5557d0fa0400c1625741e378f74403f8d57c23b0609d2130c58d3c6e956cc32846d5c0ed4410955cd7f6498da9ccfd03376adb643eba5ada18617edf23a675c48fd4395280cf3ce185dd98eb76e15a750304f4f571ffbb33211ecbac2c35af7d89cf565c69bb5b30135fbbf0eb63bf651003a838e1949f7bcd21ea0364bc36c40ec421b4b0e2c2612313c7238fc5ad7f161d03d17fe7db74e05b66de0012714ba137a654efe5ed534c4f644fe19e8cc33eb9ec036771900c4e818c23b8247a98c862319005e45bcadff991939f0ad5a325d857dd036fee8e3c03ea963c9438e3fbb084b6d79c13b800768ef61c5c5b6edc94fb4f6103c4137de30977e5eaf6126b23ab8f414e2d49bb14fb28a0f911bd8ab91e7f9753036853eba17c1f501a3e33db66fc983e90ab16b11703f3e53edfc5b48c68b7e695036ee3293837680461ac29a19b991b3ceeaa999408e336cce0a35f16bbedfff26d0307a8b27735aa81d46812d286bc2795e813b85e0d3f2f6b0c3021a52082034dbd03bfc52cd29b7d14e2af9cd1b51a7b7e6b836dd849892f2098926faff9503e9f5105581e03339a816b69ca596048b9fdc1643747983551640213bf4edb88edd1be900c024701b3feff62e90005581d0204d7167ecd3377338ffd7db3ddf516294462710f9f92d39957e67ff10c024606ecd592d3d005581d02e6449a5986228ea09664fbc8b1effb0663c73af28fad804847577abb0c01474419ab25dec4d80219808005581e0370f7d2f8abf8e76c009d531209ec2529149ea1852090c0e904536156d00848016345785d8a0000033aa357423810abf4a1a3c235e00c8616344f6740a2e9d2bb9ae1c47201a50bd203cde2d09bc5422061041d40c9fd37887c4f44184bbdeef95fea0068f4a4b5f43903422b73b1e33c3071a5b7896172c402e31f565dc42609b3bbd6b362fd67f9f8ef05581e03feb71d94a459bead5be5010d96e4aaaf1412fe337f64659ed0d21398300402033893e689c1da3c33e7fac439c73777b5e46c1c9f1904dd732fae3ff3c2a07e9a0219c4d303840a07af9fd7de5bc57873e509b209b12ea2e78e3a1c0f7cfe85f6d51301c29b03bf1f2ef2ecf9c7652289e137183378d1ca545c52e2162ad548b1e64a9004060003cd822a6521a62a6a3d0be44f129ff58680b9ee717908e80484a12b683b1bb5260384650168f1fd47ee938c1f08069d0ff8563cda55f281b4cec6f2088f491479b10219ffff0219ffff03185a8ca5b784921ac5ac5f1e5421e708a76fe61b87c25fccb4dd6915a17a125b0354c63bea7d1420c6bdb26e995ecbd1ca71eeb6ef0f114bfe15962810fa49bc920219ffff03a5cbf5395f5e503061a2a529e6a914a9bea4a7436c444b263ddf648c17a8c84003aa9262f3a093907e65e2c00cce6cbdd55123b03f15d22ef3c278966ad2f11101037739b860e5b38b66d463cfc8dc015cb4b8c7dcc369d1207c4010e6f9dfaff10f03da1111f305f8397ccf65543fcd7649330c025d6766508fa296c1f474a96f901e0219ffff030810f2a671ea294b99e2eb308654ddf56024e3aaeeb6be45b831d25f089e96cc037a7303306db189d3684f2d65cfff316b33dfcdbf6379f5cb107602d687d24cca0398b2ef163f5a5cc1946cab6095d66ce36ef7c71873f848f345f53a4ec707fd73037e055c97fcb99dfa0a238531424a56bb20778f0feab117e7aec5c25c5e5a9ee003f85b1d6ffe7dcd801bee22efd8e8caf417e5511ff18da6e7f968a4e28f97552b036fc2133a3242e574f4c1d0c5e63bd95226f1083ae838718acf5e89ee8fbd675003f4361b4e2d42241d230b82d7f74a5e2e7faa82171fe1f15af984235808db83ae0333b1bb635aeef7a4054597f55e415f0e749edaa27cd43255a50a089a9964303503851d58e15d9efff207afc593191583fe2379c66186fd566e0319ad425b415fc703b8ab37538740e6183aa2c7abda4a973bbf13f51f144118c154262d24fc5465f103d03025d04e0475e852e5f219a3b0af2c4482eec2d642eef9a84db1e9e7d46258036ea8b2293576a7d604789fb661b7830f9d635ee96198c2b86955bf35b823beb3035537d5033c46ae6eb9442a9bf676b1d5b06a9cd3590ad0c4ae010fb39f624b7a030a9ba84de555cc5c649aae2fe576072955e068f2d1faede2063030b52f10594d03a6d905adaf21619cc7f15bb2619188640f88c09512610aa781967ceac52247c203bc600826abf7956faa8492cd7d297a04828f7fbc25297122877246aa6df988a7031bd5c4ff2a44638bfd86bab92a0d03301d6a5f817901def025e6e420f540aeec0393df70d5b2d832292184ea192fdc4abbbba6255297b7e98ceee90f03061b244503fa0cab539a3a687e0f7dfda6fe06fdb0f8d095e24eed3006d2566f69c683f366039d9d898151db77c635813551e56770657f5acd795ff0fbb20bff504cd4304bf603602277be4fc6e393c2cd89a02c7971900d24db26fd945f9324d328a8359b164a05581e039dd5a2265abff00ea2202de7e78c13bdb51c4ef88e5104f6456e3cf51008481abb3f58d2d2361605581e03dc35a024278c1f7eaef3bd4a1fc8a3a0a945d37e0b8526baafc7c464d00402034a6bacc99ad5d97df3324c60947ad902d5d1143dfe6159d42e60ba11e20c631e0605581e03782b1ec2d6c9867da3cb9a699344830d7eb5cc35e83949c5af06ef0d1007011bffffffffffffffff05581e032f4f27c3f5fb79d65256f802d6240b382e35d2fa9c6cb96c7531ec83c0040c05581e035e13a82c4f958c8518e2ca0c991b3aaa98437eb33c963d2fc3b676d9700c0146bbc9b3190b25034294fcc80968fbf8d28b43775c9ec84e16750379e0ee1fb8b83d6cec835c802004593a36608060405234801561001057600080fd5b50600436106101a95760003560e01c80637d1db4a5116100f9578063cba0e99611610097578063dd62ed3e11610071578063dd62ed3e14610810578063f2cc0c1814610888578063f2fde38b146108cc578063f84354f114610910576101a9565b8063cba0e99614610744578063d543dbeb1461079e578063d5aed6bf146107cc576101a9565b8063a457c2d7116100d3578063a457c2d7146105f0578063a9059cbb14610654578063c1adf7bc146106b8578063c816841b14610710576101a9565b80637d1db4a51461051b5780638da5cb5b1461053957806395d89b411461056d576101a9565b80632d838119116101665780634549b039116101405780634549b0391461044a57806370a0823114610498578063715018a6146104f05780637cada5bd146104fa576101a9565b80632d83811914610383578063313ce567146103c557806339509351146103e6576101a9565b8063053ab182146101ae57806306fdde03146101dc578063095ea7b31461025f57806313114a9d146102c357806318160ddd146102e157806323b872dd146102ff575b600080fd5b6101da600480360360208110156101c457600080fd5b8101908080359060200190929190505050610954565b005b6101e4610ae4565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610224578082015181840152602081019050610209565b50505050905090810190601f1680156102515780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b86565b60405180821515815260200191505060405180910390f35b6102cb610ba4565b6040518082815260200191505060405180910390f35b6102e9610bae565b6040518082815260200191505060405180910390f35b61036b6004803603606081101561031557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bc0565b60405180821515815260200191505060405180910390f35b6103af6004803603602081101561039957600080fd5b8101908080359060200190929190505050610c99565b6040518082815260200191505060405180910390f35b6103cd610d1d565b604051808260ff16815260200191505060405180910390f35b610432600480360360408110156103fc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d34565b60405180821515815260200191505060405180910390f35b6104826004803603604081101561046057600080fd5b8101908080359060200190929190803515159060200190929190505050610de7565b6040518082815260200191505060405180910390f35b6104da600480360360208110156104ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ea4565b6040518082815260200191505060405180910390f35b6104f8610f8f565b005b610502611115565b604051808260ff16815260200191505060405180910390f35b610523611128565b6040518082815260200191505060405180910390f35b61054161112e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610575611157565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b557808201518184015260208101905061059a565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61063c6004803603604081101561060657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f9565b60405180821515815260200191505060405180910390f35b6106a06004803603604081101561066a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112c6565b60405180821515815260200191505060405180910390f35b6106fa600480360360208110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112e4565b6040518082815260200191505060405180910390f35b6107186112fc565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107866004803603602081101561075a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611322565b60405180821515815260200191505060405180910390f35b6107ca600480360360208110156107b457600080fd5b8101908080359060200190929190505050611378565b005b61080e600480360360208110156107e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611479565b005b6108726004803603604081101561082657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611585565b6040518082815260200191505060405180910390f35b6108ca6004803603602081101561089e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061160c565b005b61090e600480360360208110156108e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611926565b005b6109526004803603602081101561092657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b31565b005b600061095e611ebb565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a03576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806139b0602c913960400191505060405180910390fd5b6000610a0e83611ec3565b505050509050610a6681600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610abe81600654611f1b90919063ffffffff16565b600681905550610ad983600754611f6590919063ffffffff16565b600781905550505050565b606060088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b7c5780601f10610b5157610100808354040283529160200191610b7c565b820191906000526020600020905b815481529060010190602001808311610b5f57829003601f168201915b5050505050905090565b6000610b9a610b93611ebb565b8484611fed565b6001905092915050565b6000600754905090565b600069d3c21bcecceda1000000905090565b6000610bcd8484846121e4565b610c8e84610bd9611ebb565b610c898560405180606001604052806028815260200161391660289139600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c3f611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128cf9092919063ffffffff16565b611fed565b600190509392505050565b6000600654821115610cf6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061385b602a913960400191505060405180910390fd5b6000610d0061298f565b9050610d1581846129ba90919063ffffffff16565b915050919050565b6000600a60009054906101000a900460ff16905090565b6000610ddd610d41611ebb565b84610dd88560036000610d52611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b611fed565b6001905092915050565b600069d3c21bcecceda1000000831115610e69576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f416d6f756e74206d757374206265206c657373207468616e20737570706c790081525060200191505060405180910390fd5b81610e88576000610e7984611ec3565b50505050905080915050610e9e565b6000610e9384611ec3565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f3f57600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610f8a565b610f87600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c99565b90505b919050565b610f97611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611057576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600a60019054906101000a900460ff1681565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111ef5780601f106111c4576101008083540402835291602001916111ef565b820191906000526020600020905b8154815290600101906020018083116111d257829003601f168201915b5050505050905090565b60006112bc611206611ebb565b846112b7856040518060600160405280602581526020016139dc6025913960036000611230611ebb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128cf9092919063ffffffff16565b611fed565b6001905092915050565b60006112da6112d3611ebb565b84846121e4565b6001905092915050565b600d6020528060005260406000206000915090505481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611380611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b61147060646114628369d3c21bcecceda1000000612a0490919063ffffffff16565b6129ba90919063ffffffff16565b600b8190555050565b611481611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611541576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611614611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611794576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054111561186857611824600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c99565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61192e611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611a74576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806138856026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611b39611ebb565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bf9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611cb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f4163636f756e7420697320616c7265616479206578636c75646564000000000081525060200191505060405180910390fd5b60005b600580549050811015611eb7578173ffffffffffffffffffffffffffffffffffffffff1660058281548110611cec57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611eaa57600560016005805490500381548110611d4857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611d8057fe5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005805480611e7057fe5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611eb7565b8080600101915050611cbb565b5050565b600033905090565b6000806000806000806000611ed788612a8a565b915091506000611ee561298f565b90506000806000611ef78c8686612adc565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b6000611f5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128cf565b905092915050565b600080828401905083811015611fe3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612073576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061398c6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806138ab6022913960400191505060405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561226a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806139676025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806138386023913960400191505060405180910390fd5b60008111612349576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602981526020018061393e6029913960400191505060405180910390fd5b61235161112e565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156123bf575061238f61112e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561242057600b5481111561241f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806138cd6028913960400191505060405180910390fd5b5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124bb5742600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156125db57600a60019054906101000a900460ff1660ff16600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054014210156125da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f313573206c6f636b00000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561267e5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156126935761268e838383612b3a565b6128ca565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127365750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561274b57612746838383612d8d565b6128c9565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127ef5750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612804576127ff838383612fe0565b6128c8565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156128a65750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156128bb576128b683838361319e565b6128c7565b6128c6838383612fe0565b5b5b5b5b505050565b600083831115829061297c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612941578082015181840152602081019050612926565b50505050905090810190601f16801561296e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080600061299c613486565b915091506129b381836129ba90919063ffffffff16565b9250505090565b60006129fc83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613737565b905092915050565b600080831415612a175760009050612a84565b6000828402905082848281612a2857fe5b0414612a7f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806138f56021913960400191505060405180910390fd5b809150505b92915050565b6000806000612ab66002612aa86064876129ba90919063ffffffff16565b612a0490919063ffffffff16565b90506000612acd8286611f1b90919063ffffffff16565b90508082935093505050915091565b600080600080612af58588612a0490919063ffffffff16565b90506000612b0c8688612a0490919063ffffffff16565b90506000612b238284611f1b90919063ffffffff16565b905082818395509550955050505093509350939050565b6000806000806000612b4b86611ec3565b94509450945094509450612ba786600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c3c85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cd184600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d1e83826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612d9e86611ec3565b94509450945094509450612dfa85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612e8f82600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f2484600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f7183826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b6000806000806000612ff186611ec3565b9450945094509450945061304d85600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130e284600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061312f83826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060008060006131af86611ec3565b9450945094509450945061320b86600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506132a085600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1b90919063ffffffff16565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061333582600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506133ca84600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f6590919063ffffffff16565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061341783826137fd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050505050565b60008060006006549050600069d3c21bcecceda1000000905060005b6005805490508110156136ea578260016000600584815481106134c157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411806135a8575081600260006005848154811061354057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156135c75760065469d3c21bcecceda100000094509450505050613733565b61365060016000600584815481106135db57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611f1b90919063ffffffff16565b92506136db600260006005848154811061366657fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611f1b90919063ffffffff16565b915080806001019150506134a2565b5061370a69d3c21bcecceda10000006006546129ba90919063ffffffff16565b82101561372a5760065469d3c21bcecceda1000000935093505050613733565b81819350935050505b9091565b600080831182906137e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137a857808201518184015260208101905061378d565b50505050905090810190601f1680156137d55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816137ef57fe5b049050809150509392505050565b61381282600654611f1b90919063ffffffff16565b60068190555061382d81600754611f6590919063ffffffff16565b600781905550505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320746865206d61785478416d6f756e742e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734578636c75646564206164647265737365732063616e6e6f742063616c6c20746869732066756e6374696f6e45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d5eebfb91e5184c81046721052ce2a4cd394419d333476e2f6147e2b40a54f6964736f6c634300060c003303bc7f5c982d4c28fe7df072f4fa4a67da83ba0f67cea0c4aff34e99e92a490bac03db2457131d7403757dd79613c804b93f1f7710718d0bcfccc89792a6407508e4039c1416db3a8a77308119b733df9f92f59e23888622dd072ebcaca242706aa65003053bfa45b74d5f9f023eed3dbd0f88d5b00e3fa1873411b394398461b1e9b5f9039a37c82fa8499a4613dfd8c488cf779b498082fe9e4edd75976523e20749e5fb031a586f6a9fa912ea609b57034bbe65dca135cb60d8238ff267134b4dc36099c303205103099cb26f7737a5092b01935ff033eb1583f0affa263591528770522111031b6f9bef7c8b2a4f032df8150a230294931acfa5a6d574bf3c2740878e6dddb303c667ff32e5070aead69e615ed30ba185fb23ed84890f21cb7cd7af1a1d87714a038afd56b32964bfc4eeaf8433d466ad9d671f623b3f7d3d9c4c46652b19620b2b030fba61762129986e0131ff83d3db14dda577ab675289dc6ff3b12393cb2ee20503f0e1e1a3a2e7a888fd206fc7d1bc9492014eeea53d0134fe92bcae4d41daee44039e6960634c78011b16d2ad279e0660d95700276e99605c15a26914e9480b808403f94767463b99f7503c9ad47d8d00960fc8e92e756554e49735d1a1148b3d906c03be4fe01014ec0e61407b42ffbfb85aa1cb6b5631002edc59339722c05e0709a503758db25cd13be2ca80b861ffb7ecabc284dade8ea9f2d394a74409c91ca78eea036346cbbb66b1c5c07e1cc52a293709314f99eb6b9d31d94fb98b0855012001b303ddcec40cb3120842f50ce4cae331c054cc08d47eef65a11e01980389bb3c336503fe8d4e2c90c34e1ada64dcc394b3087b94966cd7d259dadbd95af76f7954b7d400581f023e7d002c9bc83c153a608af923982a1a965839f2c69a0c8f2f254268c0d256a3ec3e86231475f0a6ab05d34ec57561d9123fc71afe00581f031abcc2bcc53a9943246f4dd9dcad2ac68a7e91862b8af37e6d3a5835d900581e06ed4873af81e6ee716653bb51ee673819642e3cfc4e088fa14b845072d400581f03b1d778f69a937657ac870407876d7eb4e16c4acda5bc2d29d9729bbd60e0581e0114d801d866ee9aafc8fc64682b54688255be96e8c64aab2a4744584c00021403a4fcf73e491514f2dab13bfe8ce90abe490ee11b9303cc2582539acb92d695e60395b6e8697aaed3ebe604c72ce8c93f895268bda6f37fc207f89ce4ad2348020800581f02240e2021d8d1586493b138b47a5f317d6b5ad60e406cdbe73a32d44932285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0258eecf8023121291f3edfc784f7ccffa2ca8b26db89f976cb49ff00f01ec5701001ccb8c2580a60af81df4a0a9fdb22e256d471f508800581f02d40fa3f76f5e5f3af0cbad1e0fee82aa9ef4e4fc4486615332c1caffebae581e28209acfa8f81a676f3dd61350bbd0920b2bd36fd374bc546c499d2647e700581f020e38a00cb078c9265a43bb79aa0ac793a9b1bd8cd59c97749b3eb3c0f9cb5820fffffffffffffffffffffffffffffffffffffffffffffffefc2ef4dd5c1534af03d6625869f802e409cc33f4c85b80029c8d97fde1bdef8b268a7a4c1b2f127b22021917570305dd8ea42306b34ea37312f941d6b1b9ccce94bdf2926dc402a1f2566cac3b4d035b35a59402667c6e7ae8b8564061e714de915d6bbb9d1e3c34f7429867b56a1303767ab7e70e2d68c05a1effbc2d8bb6602da333599f6efe1763235f3becf66d1d037b22a99582206cc5183d8b2227997170f61960bd2e76563f62a7f7b9a3f0377603c10b22d1233d51a9d9125bfed55652c72abf520bc8c0a9eaea31b92a42a87d670315e81783994e87b737a569a40668fb7680ffa2d602a51d601031792a17f0367d03969b764ea68f3511691084eb5b733a4aebead58185f6cf23e2215e01503b881a0391ecf7675a3a2413efb6682309f7419a0a2f75409f27834e649204eca130998b0219ffff03a46005114d59a760f82eb1c218722db87e27c15f7f16cd02818a3fb9b9b2d9b6030441c3e4aa83b78698825b5edfd74fa06b7782c1249c60bfb7a1180f165008470301e790c5f98566629702d13cbdb74cc749d31a953f3ba77dee814db1f375ec7a038ce00bed69672c3e30bf5e35335ca9e01ef2b7728e2cd1521d082a4999bbb0c5035cea83b4c5902c741388606af4adfde8178bc287231e507e10f15ddba696319c0326a297968eff53951f4367d68c025dc813f7118092dd40f99f2bfaaab1c3ff42030fbcbcb12c1001f74f11e29f2acde17024587db69641bb18b71e69843e3448bc03a0567efde2c3a184026971a1eb1875ecc88955c9af4fac699124d9dcc44b5a1a03235559b5f246b504183698ca6ca2fe2c496d3ea60526a164e399421306a3cc5803111cafe161dcd89f433237c06b421afcf386b4037ae24ff354f07c27a3876b4a032232b5a3a27c474b16154b0e4a91003fc2dcb0a474cc6641dbc158b6841d75ff03daa3bf5a5692bcff9d0cd1ac760ecacafb2ed711e1c03a00dc5e709b0f95df73034067625b6b39f666e0b2259734d3eae122af39e17f4c3a99fa82dfb2b96f2b8f03f0c5d3d77b6ba8425e60c3ac911858f489144954e11a5f14e1a50e42c35c804b030b952c31a85419e4e36e9973c8ca64b70a1acd93c4214b9bf3db84c64070d7b40219ffff03d64d8e8255dd04f5bf57c208f672a5915dd2166dcedce3fce625189cb16997ec03ae1c5f9ed27c3aaabaa4765fcd8170a97b7f5647fdf122f98c3bd725e53d35af03d381a1c452ff6fd44e102f710937de129c8557c110af5034f2c773e202dcf4c20219ffff05581d0252ecae481700816b06d37fbcf191085fa474f867f56215e41728f46e0701193a3605581d02448516a89301bea873a0380fb63cc20ce7441927b689952606c3cc0704020373239dda70139e6e2ff4b988b6f81999580056542eb559f6381ee306d9aca0cd036caac8efd84e3bdf340bd6e9e8fcc2ea500a2442b9a78d42c937c7477fdc653c05581d022e17ff71211f06fc5085dfdc69756d354143cbccba5f9a54b1dd3da607011bffffffffffffffff0219100c021949c303dc27d307b4c81a22f8e2bdf51ecda893e9ea652bcc329057917eb808c42c8ab8036d4c82265475ea86c546a6115e7ffdf76c47e7b074e2fd43971cfd4a439e0941031ca01b50a7b9f7acccc2a60223b47fb1db43465f23ff102f45edbbcea9aeb6e80341e57cdc552bd50dfcc542c197bc08884f1b5df2bd5d4bcd1a86548eb65930b303c4e254b3ce133766cdf0f95437ebbc2b9c770de3d8832aa2ede2f7b5892d86aa035594d9576de21a8edcef898c8afc4f458705b092ed94dd80af0a3a13784797a903fadbbcaa9769cc59d76e94b82a5883f81af768c2415bd6454b44af253f67bb2503524f138b3dbe468f5289c4812fc30f61c0c5686a0ba1561cd72008ec3586d866034239f027d6abc4d950d0aef5457680f5b669fec7dbf8158e21dc1d6e9ee4981b03366b801d5aa88d1b0b35bc5af0a8a0bb164e983b27a48ffbfa5b1028473fcba10219ffff03f341b01355c551bcbc8b4bf029edd3f40717a46af9e46b5b24a2d02d94765f4103759c8ab4f4d5cf17fb306c0916c66d515a2f21324431239dde991a565c56ca6a038177117b03b8d9d992e0113d66c8c0ed2e4853b1ca8605d6b71f06c4697a7deb0341bfe6805177df7c7f7e42e844a6141a6af9b5525561b199c93a72bad29c53d003f16dd2b67d67001de1020807a2c3b30da35aa19017d0ec23cb4effac5f802f600305c7aa7491766e691d1c357577819807af136f06ddd999e8217347596f9bdf4e03e6a42fed20bea2cc3f9de036109a418412a1f9edd625c01c7c5d91efa5bd6709030bec2dc7271f221f5682463c88ee17afd31b848cdb5d2d64a90dd748e4d7b69b03ca55a796a5d778d848df2a0bd65a34fddd06cf2b3f148a96e82f4e07825466f603efa87474de9f58933d2ccbed711e0349d48c6e428904fd6311bc21d5c65cdfad037973b74c97a7dc5cbdc7b527a175c6a9041d68fabdcefc9ee66da27fba6e939a0319df7533bbe571ff2b9b8260a440aff8c877f0b6e40639ea9a29acd7ae867fda0219ffff035d283345a0b826bfbfcb02ce12af1c41bfcbdacbc9f99523a4d7c54bfaea7b760311c3d6cdcbb1e06b2421ff49281a3f1f05fd7aa64423b32992ecd18cfb5818b6035de9129421443a927c4aa18088ac485436c040acb0dfbcda996b33ca84645e150219ffff03afb90b426336f8424d96c1f8e1404db081af9cc9a1c56e1c75f5ef750e2c40a1035007c9542b32307abf991c8f224fbbcc4099c1a03539f9798b42f1eace11d7d803d20cd4fc3e7877b4f87123dfed331c4d3149c2a5502892e41e1c8fe38f6dd26803e45ddf338d1fa102e7f3e435858c9f959e06bd1f1124333cea6917424a3fe97a03efd8f33ad6dd1d043cf622ed944999118ef8ca3f4087f8f2e7039e3800a145c4032780c3ced806edb781cce5d2cd0df675318b634b56eca47fcb90255418d102f9038268fe3699d33e8c07f478976eab4aba952a2de951db5f9441f62d78996fa91e03b51446a88a831fb3ba0684c2add6f813df621911a6574d87f521a221169586c0030dc7d8bf528cfeeef8495fd740c88c374a956cb71ba79b1dd98d5944227b72bb03a47980e9c1769009fdf04efd12ddb33c38eabca81db8da92ae6adee8e1cb81d703662c3cc4637863da56a54913e6765085eef4e7ef27cdb67af68dde9bf138736e0364729fe778cb1aa343702d5067eea7bfb2facec371562ff96a49f4d22a6d36e203bbe99b040c7b79307440d2be88a74e2510c2ee1a63b3deebb90d26376156262803632650e7a1a0c0e4d667ed7875a091ec40a46872cd9ef220527cba77707c45700219ffff030e2ec44146cfdb2e3dcf190df1629bacc0f5eedd1aa0a3e36071a31177d205e603fd2c28b873bf69424da5382e0863fb38760a31e76f68515578f1a7630766b7830395c1d04a3f99b806ed17b4490125fb7dc8ed16dd2798c700a3ddd244253f28960378178fe09403d3862f2ec9ad9188397341fe2ba34e8a1f4878a57b40d9d93c6c0313465a6ab30b1357c02975095b38417a8d5d67594b23f2af39cc94dfe0fea4050358c4045ca4716eb93dd75be1d43af81cfef3e59bb88ad0953af67005c2b1f5eb03155683b212ec403925e496ff9215508b487ef312f32c58429bb5dd563ce95e8a031c8a89ef34bac535b8a7fcb5d224667f3cdd5a1bbf7b77247f9925782d8008600360fd8790a27d3df4917a1ae299e561e9bc1aec6699e0eac3a2df6e22815fe770031c16a0cbf05b5ad3cb82c94a20f26cd9cabfa0106b3d81d15096ef7436a0d3cb03b55f0c399253c07738ad1d2381705d3fa356a5e11149cfe268e89ae8da2e5d4b039983ac3087fd193faf2db43781762a7eb848153e5794179e73e726aea57f512f03c774acf63c90b3f558a94d7b7deccd238a051000e6c3391598189bd34acc925a032ae33ceaf8f4ebe4efa4f462c68508f2b702afbb7b7e02e5472c22f22cf4fef4039d3876ee68e15bb02e49af3296c79caf603f3e029592b914d1be1fddf3c6fed30302bad0ca684609e71a8966df4693824b65ab9839c768e18a3f174a0ab5c23dec03c6c75250aa318019fb88bb2cb1eb33cd8f42d11cc4411fb39e55d4c89534f501038d37716c9dddb024d7feb0e7c94c5b59aa54e856ce6ee777494d17bdf99a3e74033a8a0ecb2305bce64b78d021ceb2ac6ac54ec114c0e8014f298f7faee0d181cf03a415c8af2c2e39baa504093a346a444aba4c6d9c30dd348cf6e921c51b4f96c703bcf314d96ea6838d2d91a676ac44436ff0292663f77bc13f5ec7eb13bff3b70603a6173adbc7a81f38fbf38f84caa92711c139e533bc4331b3154fa0bd8b69315c05581e03a0f6bc46015e625b5fcae37c0c86311e4544cb860d0cfb4477da34ad50040305581e03c35f733a758e2f2382a762c64bd134d966a9f7919a96b7af11adfd46600402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03dab782a184e8631e1a613f24559750a9fc94b88cc41ac1f44575885f9007011bffffffffffffffff05581e03f3e8f8ee0370aca8df3ec10900487738095b25eb9c3e1175f2873cea900401035a54b32003db71ae54e5fdd6957f561f991cc1613b2a0c319e6906022421c2c801410c03657519be1c53326645fa8c3dfa72233a4210b851f44287d39f4aabe30b9014d805581e033f71e6f0c15cdee0c0015494d5f3c7c497dd43e5be0beb42e859b5e8900c034645c0bcd03ca805581e038ee1ba3c1308a12b7dfceda4f4576eb320b37e56f36f5c23cddd46a420040104591b0460806040526004361061013f575f3560e01c8063715018a6116100b357806395d89b411161006d57806395d89b4114610378578063a9059cbb146103a3578063bf474bed146103c2578063dd62ed3e146103d7578063f468b4451461041b578063f5b3c3bf1461042f575f80fd5b8063715018a6146102eb5780637d1db4a5146102ff578063883b5be2146103145780638a8c523c146103335780638da5cb5b146103475780638f9a55c014610363575f80fd5b806318acd4cb1161010457806318acd4cb1461021157806323b872dd14610227578063313ce5671461024657806349bd5a5e1461026157806359b999cb1461029857806370a08231146102b7575f80fd5b806306fdde031461014a578063095ea7b3146101965780630e12062d146101c55780630faee56f146101e857806318160ddd146101fd575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152601281527120b6b2b934b1b0b7102137bcb99021b63ab160711b60208201525b60405161018d919061170e565b60405180910390f35b3480156101a1575f80fd5b506101b56101b0366004611757565b61045d565b604051901515815260200161018d565b3480156101d0575f80fd5b506101da60175481565b60405190815260200161018d565b3480156101f3575f80fd5b506101da60145481565b348015610208575f80fd5b506101da610473565b34801561021c575f80fd5b50610225610494565b005b348015610232575f80fd5b506101b5610241366004611781565b610551565b348015610251575f80fd5b506040516009815260200161018d565b34801561026c575f80fd5b50601654610280906001600160a01b031681565b6040516001600160a01b03909116815260200161018d565b3480156102a3575f80fd5b506102256102b2366004611757565b6105b8565b3480156102c2575f80fd5b506101da6102d13660046117bf565b6001600160a01b03165f9081526001602052604090205490565b3480156102f6575f80fd5b5061022561065a565b34801561030a575f80fd5b506101da60115481565b34801561031f575f80fd5b506018546101b59062010000900460ff1681565b34801561033e575f80fd5b506102256106cb565b348015610352575f80fd5b505f546001600160a01b0316610280565b34801561036e575f80fd5b506101da60125481565b348015610383575f80fd5b5060408051808201909152600381526241424360e81b6020820152610180565b3480156103ae575f80fd5b506101b56103bd366004611757565b610abb565b3480156103cd575f80fd5b506101da60135481565b3480156103e2575f80fd5b506101da6103f13660046117da565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610426575f80fd5b50610225610ac7565b34801561043a575f80fd5b506101b56104493660046117bf565b60046020525f908152604090205460ff1681565b5f610469338484610b29565b5060015b92915050565b5f6104806009600a611905565b61048f9064a3f43e68c0611913565b905090565b5f546001600160a01b031633146104c65760405162461bcd60e51b81526004016104bd9061192a565b60405180910390fd5b6104d26009600a611905565b6104e19064a3f43e68c0611913565b6011556104f06009600a611905565b6104ff9064a3f43e68c0611913565b6012557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61052f6009600a611905565b61053e9064a3f43e68c0611913565b60405190815260200160405180910390a1565b5f61055d848484610c4c565b6105ae84336105a985604051806060016040528060288152602001611aa7602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061138f565b610b29565b5060019392505050565b5f546001600160a01b031633146105e15760405162461bcd60e51b81526004016104bd9061192a565b60055460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610631573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610655919061195f565b505050565b5f546001600160a01b031633146106835760405162461bcd60e51b81526004016104bd9061192a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106f45760405162461bcd60e51b81526004016104bd9061192a565b601654600160a01b900460ff161561074e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104bd565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107989030906107896009600a611905565b6105a99064a3f43e68c0611913565b60155f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080c919061197e565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088f919061197e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fd919061197e565b601680546001600160a01b039283166001600160a01b0319909116811782555f908152600460209081526040808320805460ff199081166001908117909255945486168452600390925290912080549092161790556015541663f305d719473061097b816001600160a01b03165f9081526001602052604090205490565b5f8061098e5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109f4573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a199190611999565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a92919061195f565b506018805461ff0019166101001790556016805460ff60a01b1916600160a01b17905543600655565b5f610469338484610c4c565b5f546001600160a01b03163314610af05760405162461bcd60e51b81526004016104bd9061192a565b6005546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610b26573d5f803e3d5ffd5b50565b6001600160a01b038316610b8b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104bd565b6001600160a01b038216610bec5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104bd565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cb05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104bd565b6001600160a01b038216610d125760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104bd565b5f8111610d735760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104bd565b5f80546001600160a01b03858116911614801590610d9e57505f546001600160a01b03848116911614155b1561125257610dd06103e8610dca600b54600e5411610dbf57600754610dc3565b6009545b85906113c7565b9061144c565b6001600160a01b0385165f9081526004602052604090205490915060ff168015610e0857506015546001600160a01b03848116911614155b8015610e2c57506001600160a01b0383165f9081526003602052604090205460ff16155b15610f3357601154821115610e835760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104bd565b60125482610ea5856001600160a01b03165f9081526001602052604090205490565b610eaf91906119c4565b1115610efd5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104bd565b436006546003610f0d91906119c4565b1115610f1e57823b15610f1e575f80fd5b600e8054905f610f2d836119d7565b91905055505b6001600160a01b0383165f9081526004602052604090205460ff16158015610f7357506001600160a01b0383165f9081526003602052604090205460ff16155b15610ff25760125482610f9a856001600160a01b03165f9081526001602052604090205490565b610fa491906119c4565b1115610ff25760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104bd565b6001600160a01b0383165f9081526004602052604090205460ff16801561102257506001600160a01b0384163014155b156110505761104d6103e8610dca600c54600e541161104357600854610dc3565b600a5485906113c7565b90505b6001600160a01b0384165f9081526004602052604090205460ff1615801561109057506001600160a01b0383165f9081526004602052604090205460ff16155b80156110a557506001600160a01b0384163014155b156110ad57505f5b305f9081526001602052604090205460185462010000900460ff1680156110d7575060185460ff16155b80156110fa57506001600160a01b0384165f9081526004602052604090205460ff165b801561110d5750601854610100900460ff165b801561111a575060135481115b80156111295750600d54600e54115b156111cd5760105443111561113d575f600f555b601754600f54106111825760405162461bcd60e51b815260206004820152600f60248201526e10d04818985b185b98d9481cd95b1b608a1b60448201526064016104bd565b61119f61119a846111958460145461148d565b61148d565b6114a1565b4780156111af576111af47611608565b600f8054905f6111be836119d7565b90915550504360105550611250565b60185460ff161580156111f757506001600160a01b0384165f9081526004602052604090205460ff165b801561120a5750601854610100900460ff165b8015611217575060135481115b80156112265750600d54600e54115b156112505761123e61119a846111958460145461148d565b47801561124e5761124e47611608565b505b505b80156112ca57305f908152600160205260409020546112719082611643565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112c19085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546112ec90836116a1565b6001600160a01b0385165f9081526001602052604090205561132f61131183836116a1565b6001600160a01b0385165f9081526001602052604090205490611643565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61137885856116a1565b60405190815260200160405180910390a350505050565b5f81848411156113b25760405162461bcd60e51b81526004016104bd919061170e565b505f6113be84866119ef565b95945050505050565b5f825f036113d657505f61046d565b5f6113e18385611913565b9050826113ee8583611a02565b146114455760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104bd565b9392505050565b5f61144583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116e2565b5f81831161149b5782611445565b50919050565b6018805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114e1576114e1611a21565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611538573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061155c919061197e565b8160018151811061156f5761156f611a21565b6001600160a01b0392831660209182029290920101526015546115959130911684610b29565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906115cd9085905f90869030904290600401611a35565b5f604051808303815f87803b1580156115e4575f80fd5b505af11580156115f6573d5f803e3d5ffd5b50506018805460ff1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561163f573d5f803e3d5ffd5b5050565b5f8061164f83856119c4565b9050838110156114455760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104bd565b5f61144583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061138f565b5f81836117025760405162461bcd60e51b81526004016104bd919061170e565b505f6113be8486611a02565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610b26575f80fd5b5f8060408385031215611768575f80fd5b823561177381611743565b946020939093013593505050565b5f805f60608486031215611793575f80fd5b833561179e81611743565b925060208401356117ae81611743565b929592945050506040919091013590565b5f602082840312156117cf575f80fd5b813561144581611743565b5f80604083850312156117eb575f80fd5b82356117f681611743565b9150602083013561180681611743565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561185f57815f190482111561184557611845611811565b8085161561185257918102915b93841c939080029061182a565b509250929050565b5f826118755750600161046d565b8161188157505f61046d565b816001811461189757600281146118a1576118bd565b600191505061046d565b60ff8411156118b2576118b2611811565b50506001821b61046d565b5060208310610133831016604e8410600b84101617156118e0575081810a61046d565b6118ea8383611825565b805f19048211156118fd576118fd611811565b029392505050565b5f61144560ff841683611867565b808202811582820484141761046d5761046d611811565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561196f575f80fd5b81518015158114611445575f80fd5b5f6020828403121561198e575f80fd5b815161144581611743565b5f805f606084860312156119ab575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561046d5761046d611811565b5f600182016119e8576119e8611811565b5060010190565b8181038181111561046d5761046d611811565b5f82611a1c57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a855784516001600160a01b031683529383019391830191600101611a60565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bb4b7daf953f0fcc268a39c7789778364af01127acda91ea6ee6a273d3ad553764736f6c6343000819003300582003bf44087c03dc8de4de1edfed5e4c5b249eb11432cb1493a6c9fdb49fde5c105820fffffffffffffffffffffffffffffffffffffffffffffffec0ecd4418696ba16005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90410a005820039cae2c39dc4e1e784d19644928cb989ad559765bc7e2f71e6b302533d7c2f05820ffffffffffffffffffffffffffffffffffffffffffffffff9e4697db1d6b1fff00582003e5a5d31e508f1ecc3dfebc4c0c01b4d6ec51d5ff754fcbc707a08e7822655042010e02194488038cc6b732a81a8aaab64c40490890871b958f4b1714c0ad53371e99f47c679acd00582002e99bbc91a355cdbe80cf93d793859401410e201402dc494554cef3c635e319481a88e561ebfee17d02188a00582002b2f9ab35065891a709991cf9d60521a25ebbe4f73003681243ca772ab939a85820fffffffffffffffffffffffffffffffffffffffffffffffe9ec10b055b65d5a700582002f8d629bbc49a8dc3964f2b39c4c26030fcc518a89febadc3ad1346b66792f65820fffffffffffffffffffffffffffffffffffffffffffffffef9f52581204cc17600582002f4a2a46cb5833ac5ee296ed9942f185bd060ab35563c3c6b591c7eace99f54491c9d3de1bf5e12d84900582002fd696260f86a4dc557318d5cbf6915083be249b675897a0319d989c47305ab5820ffffffffffffffffffffffffffffffffffffffffffffffff25305587a59acae700582002897ffc8e7fcf7edcfe62a15c07e38d26ba9cf4ce88809250644b00a03ecd6b5820fffffffffffffffffffffffffffffffffffffffffffffffcf4b1b0c0de681d1303bb9b7af5c0e2d91b33166b11b9efb00e1a983e1e2baa8f732744786aecd1234a021909d40058200264d771e7b3d778d8ec778871b85ebc47ee8031cf2403b4af7b992e549b56be417f0058200264a37747ddb8c8c2bd13da26e5ee9ee5bca91529faf84edce591e88cc77b29489f3fbff5dac27c180058200207038af716ac4a603211e4db328faa4236678d4f4bd39e9667a929752cf8695820ffffffffffffffffffffffffffffffffffffffffffffffffa5cb5c703ff5ff5903b2f171f42e2d5a57494de1fc6e5b423cc7b01b9505a5b254ed4b187a4675af6500582002484c0a9c23c3a615d3e3ab8ca823a53ee5459f8da3f743730f88c952c33dac5820ffffffffffffffffffffffffffffffffffffffffffffffff43cdeb51320fc272005820021d7daf4c34829d9303f8b66c1383840dcd2d6ecc27173fadecd8277709789d5820ffffffffffffffffffffffffffffffffffffffffffffffff8d1f7bca7ba6a55800582002936a83b40782a0955449460cc6cc1fe888c8687ae153b3a91f5c71a3bb82b4483e973933c5c6b764005820021cc3434d5b1056f0628fb8c7a211a40fe32627222835faf7ce9f93e41b79a65820ffffffffffffffffffffffffffffffffffffffffffffffffd443d4b29cc7afd8021986a700582002ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6849262c6cae6882278000005820028eba70d0fb5313da020b107ff6f3c6343b3e726fbfde983b9779448475e7795820ffffffffffffffffffffffffffffffffffffffffffffffff33ff1be249c1ffff0058200248dbb746c1f47a0592057cf53a5ed54707a51d6984000373c9d30e63fa61825820ffffffffffffffffffffffffffffffffffffffffffffffff3071664db1fe17a9005820022f8005e770cc532623158e9dc0b4322c09923a279a6a36f8a57d562dff21e35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002fee4b722d0390d3f3a78194abbaa80e6d960821f24c53bcd9e691cf7186256490311d944813156c844005820025e9b18009bbf5e14b1917c85f829111aa16d6f0c4c4037490111ad93117ff95820fffffffffffffffffffffffffffffffffffffffffffffffedbeb417c55d5e86a00582002869c107adbef9fc92ac87b5152820760d0a015e80529cfd353fe36f5f58ae15820fffffffffffffffffffffffffffffffffffffffffffffffef23a4c0e5e3042de03bee0a0be028c010fdb1f9243ca6388423a97ffc8bfdf417684f214e0b6f8a64f00582002668b800b0c95099d80691c97b5b68be39877d67c4f2cc1423f52318f075d665820ffffffffffffffffffffffffffffffffffffffffffffffff807cc00218bbdc8600582002589bb9ab6428dc29364cec5a67eadbff45e04f5a2007606fbdb523f42d7baf421cf00219cd5e03049af4a6ad274a7e4b49fac783e36dbcd01dc650e902a17cda13f7f83d467327005820029046cea3c25688f12f41b716896cfddf0c3b0f3784cc389334f1272aa7609c4821bbb7e3d20138b3005820025093b94767bab72383d4c0a4bfd66c78500f18a2b40c49b7b7c3705bbe57e25820ffffffffffffffffffffffffffffffffffffffffffffffff3817f30c6faba5bb0058200275c10a69d41f7d8c612810bc0c49db4ae80226ee3328a2c103ebd9e060b22b41010219a1010058200257c15d17410dd7b7ca8d87fe982632429e8770491aac646330f43b004105d25820ffffffffffffffffffffffffffffffffffffffffffffffff0af2fdd0bc77715b00582002f469d3d427b71ec2ea1d5de3b7980ff034f1fb7e731920dc4162d37502365a4207d300582002f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475547a250d5630b4cf539739df2c5dacb4c659f2488d00582002cc61cb8e9d392217d6a20dbfebf107c4d449b5d6fa4568473cf356853636705820ffffffffffffffffffffffffffffffffffffffffffffffff52f7b8d7f791ade403d50634cd78082290fc19d45936e1c40f6ee276c0dfc96aa62c6850bc785c0103032c79542d92338708935a3d2db781804004cab06c718289a89e7f472c21618d9f0058200256261ac21ced06daae1f4be34ab39b6c0fbdb27bc65c84f74234cb4fdc19f74212d8036f20499231576aca5adc6259d46e2e56141d4e31ff9233f9f3fd1e80a02af4c502195c71005820021317ccf7e0e28afd2eb355bfdbebc244e748fdb8a456ce373aab03c0a8990c5820ffffffffffffffffffffffffffffffffffffffffffffffffbea387f8c60ecd1f00582002770f7af272431d8c741c54f3efaa739b177fd379cead31cdae210824297f8742074f00582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09004861b96824e294e00000582003501132807ef9a1a650861385bfb5a0bca8ca2b2c8971451b95a3494617fa605820fffffffffffffffffffffffffffffffffffffffffffffffd186c2cfcb325a6850219a000005820025ea715ad583efa5af9f6dae10fd6af2facc6daa925d154a46f3e40782f68c75820fffffffffffffffffffffffffffffffffffffffffffffffebe3fe1cbc573cc23005820029b7d9cf450ce60bf0591bcb006b30de6b64aeda0f27443a23a4fb28b26d5845820ffffffffffffffffffffffffffffffffffffffffffffffff2cddf7c5abcdab0103e3f84ef5fc1f9ec791709b30cc2086778ce20b85458b8fb7c0f9e7179891ed340219c84c03d412bd93c316116f96aeba69d58a6e0d1c48f6bc146220e3b95ea8d811cada540333c92f2bbf9a98f9432a5346e2fe375058dd12311e19592b2dd341cd184951f603950fb2ad9eb53d3f2d2845ef81db4ad351895126aebb0bf59a2e06ac3372392f03d501f2ccdf4655c3066e7e142a6220d7d03b06f01ccbb5a2aa060b076129b97d00581f022d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e4301010000581f02aa0e9f42da4c51c6142a01ec750c8d8321ae4002c38751740ccf5f8236ca5820ffffffffffffffffffffffffffffffffffffffffffffffffc3583db941ab9eb200581f02f7c65d021ffb832bba9286ba86ff6bd9f66c5dec4991cf055d4a3fa1b2bb5820fffffffffffffffffffffffffffffffffffffffffffffffff09fec928d4a897f0219e00000582003a2cb37d129a4581e0cd857c702e04be3798aeb6d1d8d00edaa48b0acd537305820ffffffffffffffffffffffffffffffffffffffffffffffffa2c3ec1acdba5baf0219400800582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0418f00582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444049262c6cae68822780000219018000582002ef4a36c3a793e0497a1e822f69459e5804480c08699a0ee820ffc56c86a71e5820ffffffffffffffffffffffffffffffffffffffffffffffff21aa99d729d3b11e00582002e680e97b0f95d873ad46393a9dec21db50a65383451b8d303f85a6fcd50b11410102196802005820025278d342c279018e7a74fb57d509cbc36deb76640906e4ccb7ccd0a857722d5820ffffffffffffffffffffffffffffffffffffffffffffffff4f9b98720e30d57600582002078d10bf28355781f500876002a4429b6181f3195d9dba3a121624142183ae5820ffffffffffffffffffffffffffffffffffffffffffffffff83d867516f1ef142005820025365867f57177ab40e960f58b7cd313241abaf3334849767c04a0f103c50965820fffffffffffffffffffffffffffffffffffffffffffffffedf89c189badbf618005820034b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c1504104005820031ed3604650b2aeb65f74a72d2bab8f72eeedaac2dde3d554b57f413b8aab40478392ad692d65ca020c00582002b572510bbb11771ff258f9168f724238cf052c6333457f7e2d2960f2b3a6675820fffffffffffffffffffffffffffffffffffffffffffffffeef0a093d57c8ee2700582002f1cf1409eff162d2c2fd9c1c419537218b8725bc3278e255c53ca2d8673e764cffffffffc5bb2c31b05fce6b005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec4892961c3753df500000582002b339bd1c51c488f6134f4ac63d1594afad827b3401c3fc51ed1da74a8ca14e41010219d0d900582002f65db2d357ebdbe047e8da38e54a8c55989659a9405958bd5353b201cfe8ec5820ffffffffffffffffffffffffffffffffffffffffffffffff26186cc54f703a6603cd84744745a59d87fcc120102a37d4086d4f71aeec6cac29b08f4e5b9eff54cf0058200233147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b51242895501fb97ca44ed942ea769a44807b0695323395a3b1900582002a753ea3b983ce6f1ff01c56b4c8e117130978582c4d1c3e553ff32e705d9c95820fffffffffffffffffffffffffffffffffffffffffffffffe97151793e4849f38005820023599a524b88c421ceda786c2bfacb0d3cff8f3d189cd19556e995aa9a64cbd481f1401d675a1ad1900582002e9d94106bf9953e7e7e5878682ee5090e3f10e00b1f673b55fe9263caa1ab85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03248c7097a662e5c74e501e9f9fc0a03c681f833f9821c8c5587d749ab203a987005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410a0219af820354262620f9d6d524424d70ac41cc239aeab8891ced427cc3a0e7b617926e2f2003f3bc9845c0526318a74a72be11f884cd95834c8424fc70e082ba7074740661290219ffff05581d02bc1094800c42a9cfdf13c48ccefa30e9c2201648bb65ac315022a9500701191b0405581d02187aec25ee05111e7ade823dedfd1bfaf42347061eeaf94899e414f4040205581d02de176cb4adfe79d590fa45282c355f909d241635cd0facba17c9c7640402021902220219ef3703861392d50126521dd9f1a621514de1b5911be51f2cb564a4b12d49c5299ace10032048bc3ec8c8f7fe5bb08db171b7cbd3ea32e04a72ac4f5ce74f164b41eb471303c2286bb44fbe8dd79d0f387aa824950c58a92327eaa6b5586db94cdc90cebb100219ffff0374454a60ab02f769150753ead3ae6b9d2b5b6551521b69ee660821196a64a46003d33321eab4e31a8378070d12e43798ce5b47fe8008b3c6d63a047b0c7707793703be574456b9bb2996682932c884ed1cb6a5bea6cc1a27dc60ae6dbeeb99537df703489b0d4f55f68654756a0ef3a89e81bbe6e1a5babb1e50de4eb32eeab2876d77039440a04be7ced293e8f199af9f97e440184352761ea9e76e18aef72da88d9fa403b5579edc906bba5582791daa65046a88dfd8544c6c9f25558adb1a89a1bd382c039c86e89dabb4867a3dcf42a4ac0b9c9f7b6aec0829777917601c8f99b210688703b1450da4cd380377bbf69539a01f82193af9b31bab40f4c4b99f29e5d1fa469803b5ca9ac9799af4657d2ec3a1670c71f853502d8ea509280e75f8b353b1ee32490338185594c2b3025d5d2fd694f0cee66b2d4710d6e06781fd5dd182993f4ced140323d0f580c632f79406599f6373908fbee7d85915a77a08d5e95bb41ec0d929bc033abdbb11e1ed708045f9097ca81987a14936de8f8d9a8ed44bfb1d5d3fdb583203195694428c8c4314a86b617e6f5fdd15a79dbbff171c0ed62ebf622dad9750f70371fcb722049db09a5e8fb1a31f182a78b826d63592aa4a6be458e9d4d175e5cf034489ce541ef60ee6302cf68aeba3f8439f643495875f4c14c643821f1f0690a50219ffff03ccde01b46242fc8499eed2870542f6f325c37df90ec8aca195ad8b79331b5c0403affeae10fe775713e326a9edc78a81db71e13e1baa856c6c8669b0cfc29fe56c03cfbf9623c17f876a5b1c218e99d177be9c26672c725848dc38ed7dd68b194c22035b8cb842fb7eebaf8ddfc1d1d9d0282b9d353c89344b8c5723a30ddf9f161f4603ee0d6b9374f318475e9be85306f5c52db8a6e854a5aad0eb7c8ecc1f1076ece203ed9f30465bf18de40f85014042bb505f8b364b7a27eeb73c13fd49ae54da568103f1234f3d3354bc46a25015708af9a3ccd6310669a3be88f93ed0ef9572d95a1b037beeed59262dc61a582c379e058aba622d0f3fa08c368098f836e16158d387e203d5d39aa5c8bf100e01032920cf3876bbbb0f67c05d8fd7673553029986788780038e6b9197b0b89916fdb753ac4002c2811e184dee220052bf7f58b3cd3ee7c22403613e441a8bfc49ebbe29117e0e36de05b455bf13c7ec7be6f408149b07fd443b030c17c2e1a3e9e4c19715b049d6cccdbea0f9dbadc265404c450f45502b8eba340219ffff03e61d6e407bb46b84a5a2473fb44e97ecdb300138f8e69c0b9fe10b6a6c5a60860349a3a2fce23048456831ab7fe12447e12d1907e3a3efb385ee45e1ba1a4f2ed603bdb426955c5a2f181633191e91fbd573258aeb4516beb16dfc7d2bb1768c9dc4033255cc786bdbefde0c8bc6fe1fe8152259b66ceff293c6c8fab1b0855d7d53f0030d13c75bddc93163d8f47876c0e2ceec098ef856206ca453c10a01e18bc26b78031bec7bbd3ddcfedf064b275f36bb2daa9f5c78dca9de54df2f93fb3c8291cd4003346a4d4f062358dc518965b7f7f920e1f3c17c80109dfc3d60db2f64933b5b0903e873429c79887f4fa583f848179b27841ec8022d9effdd72e8c2e8b4f20d95750314c6ee84267d9d031f15643b491034a8466fff07784372958c7051b6f8b8492603ecbb23d5b3d348558ec2e90dce7955696c802701888e967d4eee33724e1ed39003caf284eff3bd23242c0c8b7a3390742f023e198935feae467dafd99aafb225ea031b60ad7090034de65a11e72cddbbe08e0444badab4e5f18ea548da50c5f3ed2a0369583877880ad2eb114cec9fcbcd7689a76b6d6e6b999ea1e65c9a6a696cdd850316db5db5afd53e967036630b84bd2485110e4ef782c3df25e58b69f62901526c032f1875adbe1a5138ae4dd3c6dd52318e0332ded02a40437fa386ea6187449beb03768b01796532aff3303668709b921f8b45ba9e233c0c51b9a1ae532373a9470603e2f65cdbd2f8e92d2627f0ed9a645321bb76606221442f06e6cce652c5f5faf803ffbce8986b777c90ff3162b7f87d541a1f8561d4bef8b352d69aae2a29872d91037e6fc235dafb000d98c62b711ef84fd3267c53b52a4a11858eb30ed295905611039433be1a483b93d0a067bc78830c1a91ff69a8d9fe9975b470c304623de5e7c9037a2c0999c715d80b7960a36dafd4bb3c66cc932e72e7aab58d8385dbbab1ad5e03abe347c0905135efed5ea3718a3661ce42431d669a9ef05804edd1adf6304849031721374b8e54db3b1a3c7798c537a475ea6daba5667d961c66bd2d3771af62ab03317aca991a053d2d64947b6fbe8a9ee9d3ccd6dbab660d62220d8640f7c397a303f4239e5d75ae4ed2584dde84a3b9bbf5475946bab4d967e77909a2755590d17f03a569033c90a87376d9d338f98467bccf81c26e6169d79aeccc976a449f1d463b035bcafe532a2d4158258c69748a3daf642ce8a2dfbd3729f23450b8dc08f4fd6c039427344a7aef325d4e80ced0c9853e9dc34277ad72ea71e4d94689dda4e34fca035d361ce65f8305a9896d4c226d22738555bf05d3099e2196a57f1e5cc5d2bf4303cc8fc9c81d47bfb2ff2ed2b4a21d8bf712f55c3e1944021c2b9a2f398d5edca703239b7e4d56fd8dc7ff3f50646ac866e3b4aeaff8eb6cb20739e4051a908b0d5703d305e5574a4ae8e18448048a2bd14098431ff606debec728d9fb78a2a6c5c6e103a3a444138e8bc86dd632fc21d585c0669cd12b5082410a8997d5d88a178be08f0332131efa58430bb8137f7c7e0c0c4628a664bcc0d555cc2e19105e6be3b736d603d2c848d00932ec6feb8b5dd40e66a7afe0d65485d0013a87182cedf3d8b7b02003c609b9e58b22e23cc1ae916d35d055e33dc0c29f5a3b8ec2a60b8bbfdff8d15a03c42540ca4151219c784c747e9c1cd91b3484e07bb7ca71308ad10d2f1af0c1a605581e03f8b98d41d97acc45d56644b53e8b4a43714f8aeefae7709a3a5ac761900c0e4722546069fffba9034bc5d4cdc99c84959a596aaef17102eb525f7dae9da958d23d3a9b1625a9183e01410005581e03702caa2af24d74969745b32fb1525ce12a9bb075c982452796ba2990200c08478ab7bf5bf536800300d01d6370ea06df3eb789f0449a2d40028fab844477528de7840ec00102dd1f05581e034fa2afc4bfac6491cd31878ce966e814090777f3b9a65bf922175a7c10040a05581d021ad561e8ba0d1a8c6e7c6abffe9bb993a581d1342d9aa0671917d1880c024702214bf0d25000045925b2608060405234801561000f575f80fd5b50600436106101a0575f3560e01c806331fa742d116100f35780638a33623111610093578063bedb86fb1161006e578063bedb86fb14610405578063ea5f084f14610418578063ef6602ba14610437578063f2fde38b14610440575f80fd5b80638a336231146103ce5780638da5cb5b146103e1578063b571d3dd146103f2575f80fd5b80635c975abb116100ce5780635c975abb146103865780636989ca7c146103915780636d46e987146103a4578063715018a6146103c6575f80fd5b806331fa742d146103395780633b70c18a1461034c5780633fdeecb214610373575f80fd5b80631325aca01161015e5780631e228302116101395780631e228302146102a95780632362f03e146102bc5780632571098d146102db5780632b7ac3f3146102fa575f80fd5b80631325aca0146102705780631794bb3c146102835780631d49e45714610296575f80fd5b8062b0f4d7146101a457806303c7f4af146101b9578063059def61146101fe5780630a2459241461021557806310d4458314610247578063116a1f421461025a575b5f80fd5b6101b76101b2366004611f71565b610453565b005b6101e07f000000000000000000000000000000000000000000000000000000000008275081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b610207609c5481565b6040519081526020016101f5565b61023761022336600461203c565b609b6020525f908152604090205460ff1681565b60405190151581526020016101f5565b6101b761025536600461205c565b61080e565b6102376102683660046120a4565b609c54101590565b6101b761027e366004612100565b61090c565b6101b761029136600461228a565b610b26565b6101b76102a436600461203c565b610ca7565b6101b76102b73660046120a4565b610d35565b6102076102ca3660046120a4565b609d6020525f908152604090205481565b6102076102e93660046120a4565b609e6020525f908152604090205481565b6103217f000000000000000000000000f94afbd9370e25dd6ca557d5d67634aefda2416b81565b6040516001600160a01b0390911681526020016101f5565b6101b76103473660046122c3565b610d82565b6103217f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b81565b6101b761038136600461205c565b61101b565b60655460ff16610237565b6101b761039f36600461203c565b6111f1565b6102376103b236600461203c565b609a6020525f908152604090205460ff1681565b6101b7611247565b6101b76103dc36600461203c565b61125a565b6033546001600160a01b0316610321565b6101b761040036600461203c565b6112e1565b6101b7610413366004612349565b611337565b6102076104263660046120a4565b609f6020525f908152604090205481565b61020760975481565b6101b761044e36600461203c565b611358565b335f908152609b602052604090205460ff1661048257604051637b263b1760e01b815260040160405180910390fd5b61048a6113ce565b866104a857604051636af2a73b60e11b815260040160405180910390fd5b856104c65760405163f9a9465f60e01b815260040160405180910390fd5b5f805f6104d38c8c611414565b509250925092505f6104e6846019015190565b90505f6104f4856039015190565b90505f80600a6001600160a01b0316838c8c60405160200161051893929190612368565b60408051601f198184030181529082905261053291612381565b5f60405180830381855afa9150503d805f811461056a576040519150601f19603f3d011682016040523d82523d5f602084013e61056f565b606091505b509150915081610592576040516371ebedf560e01b815260040160405180910390fd5b5f818060200190518101906105a791906123ad565b9150507f73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff0000000181146105ea57604051638a89514360e01b815260040160405180910390fd5b5050508b609e5f6001866105fe91906123e3565b81526020019081526020015f20541461062a576040516347c5a1e560e01b815260040160405180910390fd5b5f838152609e6020526040902054156106565760405163092d315560e41b815260040160405180910390fd5b5f7f00000000000000000000000000000000000000000000000000000000000827508d8d8d868e8e5f9060409261068f939291906123f6565b886040516020016106a798979695949392919061241d565b60408051601f19818403018152908290528051602090910120630581350960e31b825291508f3560f81c906001600160a01b037f000000000000000000000000f94afbd9370e25dd6ca557d5d67634aefda2416b1690632c09a8489061071990849089908e908e90899060040161248c565b5f6040518083038186803b15801561072f575f80fd5b505afa158015610741573d5f803e3d5ffd5b5050505084609c546001011461076a57604051631d17cec760e21b815260040160405180910390fd5b84609c819055508c609e5f8781526020019081526020015f20819055508b609f5f8781526020019081526020015f20819055506107bf6107aa8860790190565b601189015160c01c60098a015160c01c6114e7565b604080518e8152602081018e9052879187917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a350505050505050505050505050505050565b6108166115bd565b805f0361083657604051635453822b60e11b815260040160405180910390fd5b5f806108428585611414565b5090935091505f9050609d8161085886856124bd565b81526020019081526020015f20541461088457604051633f707d7d60e21b815260040160405180910390fd5b609c5481116108a657604051632ad7756360e11b815260040160405180910390fd5b5b8215610905575f818152609d602052604080822082905551839183917ecae2739091badfd91c373f0a16cede691e0cd25bb80cff77dd5caeb47101469190a36001015f818152609d60205260409020545f19909301929150816108a7575b5050505050565b335f908152609a602052604090205460ff1661093b57604051631e6edd6f60e11b815260040160405180910390fd5b6109436113ce565b82515f0361096457604051632974c17360e21b815260040160405180910390fd5b5f805f6109718888611414565b60019091015f818152609d6020526040902054929650945092501590506109ab5760405163012137ab60e41b815260040160405180910390fd5b5f805f808c60ff165f03610a2b576109c5858b8b8b611617565b60405196810196945090925090506109dd835f61168f565b60c086811b600185015281811b600985015285901b60118401526019830182905260398301879052610a10838a8a611696565b610a2483610a1f8a60596124bd565b902090565b9350610ab3565b60018d60ff1610610ab3575f610a43868c8c8c6116a2565b80945081955082935050505060405193508186019550610a66848f60ff1661168f565b60c087811b600186015282811b600986015286901b6011850152601984018390526039840181905260598401889052610aa0848b8b61175e565b610aaf84610a1f8b60796124bd565b9450505b8761010060ff83010460200214610add57604051630808452960e31b815260040160405180910390fd5b5f868152609d602052604080822086905551859188917f2c32d4ae151744d0bf0b9464a3e897a1d17ed2f1af71f7c9a75f12ce0d28238f9190a350505050505050505050505050565b5f54610100900460ff1615808015610b4457505f54600160ff909116105b80610b5d5750303b158015610b5d57505f5460ff166001145b610bc55760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b5f805460ff191660011790558015610be6575f805461ff0019166101001790555b610bee61176a565b6097829055609980546001600160a01b038581166001600160a01b0319928316179092556098805492871692909116919091179055604080515f8152602081018490527f6d0f49971e462a2f78a25906f145cb29cd5e7bd01ebf681ac8f58cb814e5877a910160405180910390a18015610ca1575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b610caf6115bd565b6001600160a01b0381163b15610cd857604051632c0fc2e160e11b815260040160405180910390fd5b6001600160a01b0381165f818152609b6020908152604091829020805460ff1916600190811790915591519182527f967f99d5d403870e4356ff46556df3a6b6ba1f50146639aaedfb9f248eb8661e91015b60405180910390a250565b610d3d6115bd565b609780549082905560408051828152602081018490527f6d0f49971e462a2f78a25906f145cb29cd5e7bd01ebf681ac8f58cb814e5877a910160405180910390a15050565b335f908152609b602052604090205460ff16610db157604051637b263b1760e01b815260040160405180910390fd5b610db96113ce565b84610dd757604051636af2a73b60e11b815260040160405180910390fd5b83610df55760405163f9a9465f60e01b815260040160405180910390fd5b5f805f610e028a8a611414565b509250925092505f610e15846019015190565b905088609e5f610e266001866123e3565b81526020019081526020015f205414610e52576040516347c5a1e560e01b815260040160405180910390fd5b5f828152609e602052604090205415610e7e5760405163092d315560e41b815260040160405180910390fd5b6040516001600160c01b03197f000000000000000000000000000000000000000000000000000000000008275060c01b166020820152602881018a90526048810189905260688101889052608881018290525f9060a80160408051601f19818403018152908290528051602090910120630581350960e31b825291506001600160a01b037f000000000000000000000000f94afbd9370e25dd6ca557d5d67634aefda2416b1690632c09a84890610f41905f9087908c908c90889060040161248c565b5f6040518083038186803b158015610f57575f80fd5b505afa158015610f69573d5f803e3d5ffd5b5050505082609c5460010114610f9257604051631d17cec760e21b815260040160405180910390fd5b609c8390555f838152609e602090815260408083208c9055609f9091529020889055610fd060598601601187015160c01c600988015160c01c6114e7565b604080518a8152602081018a9052859185917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a3505050505050505050505050565b806110395760405163f9a9465f60e01b815260040160405180910390fd5b5f8052609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a9597854156110815760405163c22a199f60e01b815260040160405180910390fd5b5f8061108d8585611414565b5050915091505f6110a2836011015160c01c90565b600984015160c01c600185015160c01c855160f81c010101905080156110db5760405163f4f38de560e01b815260040160405180910390fd5b505f6110e8836019015190565b03611106576040516303d840a960e41b815260040160405180910390fd5b5f611112836039015190565b1461113057604051632781461960e11b815260040160405180910390fd5b5f8080527fc5dc36ae4e7617e4c4d23ddfcde33c79e9ed64c300aed766a9288a6b9b31f63d829055609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a959788490556040518291907f2c32d4ae151744d0bf0b9464a3e897a1d17ed2f1af71f7c9a75f12ce0d28238f908290a3604080518481525f60208201819052839290917f26ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2d910160405180910390a35050505050565b6111f96115bd565b6001600160a01b0381165f818152609a60209081526040808320805460ff19169055519182527f631cb110fbe6a87fba5414d6b2cff02264480535cd1f5abdbc4fa638bc0b56929101610d2a565b61124f6115bd565b6112585f611798565b565b6112626115bd565b6001600160a01b0381163b1561128b57604051632c0fc2e160e11b815260040160405180910390fd5b6001600160a01b0381165f818152609a6020908152604091829020805460ff1916600190811790915591519182527f631cb110fbe6a87fba5414d6b2cff02264480535cd1f5abdbc4fa638bc0b56929101610d2a565b6112e96115bd565b6001600160a01b0381165f818152609b60209081526040808320805460ff19169055519182527f967f99d5d403870e4356ff46556df3a6b6ba1f50146639aaedfb9f248eb8661e9101610d2a565b61133f6115bd565b80156113505761134d6117e9565b50565b61134d611843565b6113606115bd565b6001600160a01b0381166113c55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610bbc565b61134d81611798565b60655460ff16156112585760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610bbc565b5f808080853560f81c818181036114485761142f888861187c565b80822060018301519298509650915060c01c935061146f565b6001821061146f5761145a88886118f5565b80822060018301519298509650915060c01c93505b5f848152609d602052604090205485148015906114b457505f8052609e6020527fedae58bba15aea52a58242ef195db2cc4de2b75de265dbb0d58482df22a959785415155b156114d25760405163150e0a2160e11b815260040160405180910390fd5b601186015160c01c9250505092959194509250565b805f036114f357505050565b8082035f805b838110156115b55761010081850381111561151357508084035b8651604051632afb09e760e11b81526004810186905260248101839052604481018290526020909801979093507f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b6001600160a01b0316906355f613ce906064015f604051808303815f87803b15801561158b575f80fd5b505af115801561159d573d5f803e3d5ffd5b505050506101008401935050610100810190506114f9565b505050505050565b6033546001600160a01b031633146112585760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bbc565b8251604080516020830281019091525f918291825b82811015611678575f8061165c8a848151811061164b5761164b6124d0565b6020026020010151878d8c8c611966565b9085529a8b019a9590950194505060209091019060010161162c565b506020919091029081900320969095509350505050565b8082535050565b80826059850137505050565b5f80499080600149836116c857604051630168f63160e21b815260040160405180910390fd5b80156116e757604051630148201960e11b815260040160405180910390fd5b508551604080516020830281019091525f5b82811015611745575f806117298b8481518110611718576117186124d0565b6020026020010151878e8d8d611b40565b9085529b8c019b959095019450506020909101906001016116f9565b5060208202808183032094505050509450945094915050565b80826079850137505050565b5f54610100900460ff166117905760405162461bcd60e51b8152600401610bbc906124e4565b611258611c90565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6117f16113ce565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586118263390565b6040516001600160a01b03909116815260200160405180910390a1565b61184b611cbf565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611826565b5f8160598110156118a05760405163e4d8ae0760e01b815260040160405180910390fd5b6040519150808483378082016040525f6118be836009015160c01c90565b905061010060ff82010460200260590182146118ed57604051630808452960e31b815260040160405180910390fd5b509250929050565b5f8160798110156119195760405163e4d8ae0760e01b815260040160405180910390fd5b6040519150808483378082016040525f611937836009015160c01c90565b905061010060ff82010460200260790182146118ed57604051630808452960e31b815260040160405180910390fd5b60405185515f91829160208901919081908490611984908590611d08565b90505f805b828110156119f757603c81028601600181015185526021015165ffffffffffff19166020850152603a840193505f6119c2603c8361252f565b6119cd8860016124bd565b6119d791906124bd565b90505f6119e8826038015160f01c90565b93909301925050600101611989565b506020028201604052815f6001603c84028701019050611a186001876124bd565b95505b8215611ac2575f611a3087603a015160f01c90565b9050611a4085828f8f8f8f611d72565b94505f611a51886038015160f01c90565b905081811015611a7457604051638c5a4ea360e01b815260040160405180910390fd5b815b81811015611aa157835160e01c60048086018290208952602090980197940190930192600101611a76565b50509b8c019b9a8b019a9690960195603c95909501945f1990920191611a1b565b6097546020611ad184876123e3565b611adb9190612546565b1115611afa57604051634d56f17560e01b815260040160405180910390fd5b8c5160208e019650611b0c87836123e3565b14611b2a5760405163670241af60e01b815260040160405180910390fd5b5050508190039020989197509095505050505050565b60405185515f91829160208901919081908490611b5e908590611ea1565b90505f5b81811015611bcb57603c81028501600181015184526021015165ffffffffffff19166020840152603a830192505f611b9b603c8361252f565b611ba68760016124bd565b611bb091906124bd565b90505f611bbc82611f02565b97909701965050600101611b62565b506020850282016040526001840193505f5b8115611c58575f611bed86611f02565b905083611bfe81838f8f8f8f611d72565b94505f611c0a88611f11565b905082811015611c2d57604051638c5a4ea360e01b815260040160405180910390fd5b9c82019c9b82019b603c97909701965f19949094019360209186039190910492909201910301611bdd565b609754811115611c7b57604051634d56f17560e01b815260040160405180910390fd5b50508190039020989197509095505050505050565b5f54610100900460ff16611cb65760405162461bcd60e51b8152600401610bbc906124e4565b61125833611798565b60655460ff166112585760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610bbc565b5f611d14835160f81c90565b9050805f03611d3657604051631f18bc2360e21b815260040160405180910390fd5b611d41603c8261252f565b611d4c9060016124bd565b821015611d6c576040516302e3d2ef60e61b815260040160405180910390fd5b92915050565b5f855f03611d81575085611e97565b7f0000000000000000000000000d7e906bd9cafa154b048cfa766cc1e54e39af9b5f80805b89811015611e635760ff89169150600889901c811580611dc4575082155b15611dd3578060200288013593505b600184841c165f03611e525760405163ae453cd560e01b8152600481018a90525f906001600160a01b0387169063ae453cd590602401602060405180830381865afa158015611e24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e489190612565565b8d52506020909b019a5b506001988901989788019701611da6565b505060ff5f1988011681811c60011615611e9057604051632eba9e1160e21b815260040160405180910390fd5b5050879150505b9695505050505050565b5f611eab83611f20565b9050805f03611ecd57604051631f18bc2360e21b815260040160405180910390fd5b611ed8603c8261252f565b611ee39060016124bd565b8214611d6c576040516302e3d2ef60e61b815260040160405180910390fd5b5f611d6c82603a015160f01c90565b5f611d6c826038015160f01c90565b5f611d6c825160f81c90565b5f8083601f840112611f3c575f80fd5b50813567ffffffffffffffff811115611f53575f80fd5b602083019150836020828501011115611f6a575f80fd5b9250929050565b5f805f805f805f805f60c08a8c031215611f89575f80fd5b893567ffffffffffffffff80821115611fa0575f80fd5b611fac8d838e01611f2c565b909b50995060208c0135985060408c0135975060608c0135965060808c0135915080821115611fd9575f80fd5b611fe58d838e01611f2c565b909650945060a08c0135915080821115611ffd575f80fd5b5061200a8c828d01611f2c565b915080935050809150509295985092959850929598565b80356001600160a01b0381168114612037575f80fd5b919050565b5f6020828403121561204c575f80fd5b61205582612021565b9392505050565b5f805f6040848603121561206e575f80fd5b833567ffffffffffffffff811115612084575f80fd5b61209086828701611f2c565b909790965060209590950135949350505050565b5f602082840312156120b4575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156120f8576120f86120bb565b604052919050565b5f805f805f8060808789031215612115575f80fd5b863560ff811614612124575f80fd5b8635955067ffffffffffffffff8060208901351115612141575f80fd5b6121518960208a01358a01611f2c565b90965094506040880135811015612166575f80fd5b6040880135880189601f82011261217b575f80fd5b818135111561218c5761218c6120bb565b61219c6020823560051b016120cf565b81358082526020808301929160051b8401018c10156121b9575f80fd5b602083015b6020843560051b8501018110156122535784813511156121dc575f80fd5b803584018d603f8201126121ee575f80fd5b602081013586811115612203576122036120bb565b612216601f8201601f19166020016120cf565b8181528f604083850101111561222a575f80fd5b816040840160208301375f602083830101528086525050506020830192506020810190506121be565b50955050506060880135811015612268575f80fd5b506122798860608901358901611f2c565b969995985093965091949293915050565b5f805f6060848603121561229c575f80fd5b6122a584612021565b92506122b360208501612021565b9150604084013590509250925092565b5f805f805f805f60a0888a0312156122d9575f80fd5b873567ffffffffffffffff808211156122f0575f80fd5b6122fc8b838c01611f2c565b909950975060208a0135965060408a0135955060608a0135945060808a0135915080821115612329575f80fd5b506123368a828b01611f2c565b989b979a50959850939692959293505050565b5f60208284031215612359575f80fd5b81358015158114612055575f80fd5b838152818360208301375f910160200190815292915050565b5f82515f5b818110156123a05760208186018101518583015201612386565b505f920191825250919050565b5f80604083850312156123be575f80fd5b505080516020909101519092909150565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611d6c57611d6c6123cf565b5f8085851115612404575f80fd5b83861115612410575f80fd5b5050820193919092039150565b67ffffffffffffffff60c01b8960c01b16815287600882015286602882015285604882015284606882015282846088830137608892019182015260a8019695505050505050565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b858152846020820152608060408201525f6124ab608083018587612464565b90508260608301529695505050505050565b80820180821115611d6c57611d6c6123cf565b634e487b7160e01b5f52603260045260245ffd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b8082028115828204841417611d6c57611d6c6123cf565b5f8261256057634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215612575575f80fd5b505191905056fea2646970667358221220219dfd45bb730187d95aa317f6b810b53d08aaf4135fb4243c71b757bb219e1064736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02d3c46f012a31d9f8f49b41c1ecce3f10eb5a46f2943fd0147bf70e9307011925b20219200105581e03e9b9ef3bc414d7195263cbf3829dfc729812a693d94a33cf87de2188300c0247324e71ea05000002191770033b4565592fcc19f7352732f0bb28238ad5306529177e0d970d5c8fce922da515039864a136b181717658dc1dd105a1e6e7451f739be3e6c6496fe65b18a1c74be90219ffff0378fde368007d4fe1c6d0c038a6611e093b1d13bf1aed27b9329dc323b6797981036f5819ec45b503fbf121731540144b06e1e7feaf485b19c9cfa4641e428f3c7d0358142d382bf9b887ddaf014d275cfd7de685152c15d5928cee2d9e0690a03fbe03c246ffe87e1660cfe374c066ac1d13d36559560eec02babf6138f8dc360876e303a63cbd785762cce1021a6717f712130cc032615fa35acf6ec17bea68c84eb0c40346ad55607e500145c4f98861ef010b0774d7b9167762b046cde7306a8d7c55eb03690c65c3b863d5ebd8616a972f71329a672e0f23b7e200b7c490367764d0f162036ecebf51f0486490b89d825a484af7bac7c6a2090d6c89678d0910d2c10ce3b203aa27212cf71b7fe623c4fadf91ef54668aed0f97685def8ddef596ed4367715303afa27f9649c7824b80d536b0ff87b34effabdf59b87fbe3f2051484ee74388370219ffff031033b31a0fc7d896491cdd2cb01d5ea68bbe608b576e56cd24e45d0927b86c9803374891d153b2a66840265b7d346e2ea4a1fa87b46cd9bcc39df4fd565f5ef97403adb913f908166d7e1e725191a34de87a81aa2529284ba63f1443f45dd5975e1503bd14f3ee46cdfc56b5f263802ce7488f264395efa926f02ac929aef77319dd530374b7e7403f381eed431c878d3845661a31cf048d7780e44d037703035352ad6103043f88f3e1b7e341a9b4933f7bf8a0728df1afc1853e58b14236f50efe5037760219ffff0219ffff03b583a078bc02a98480d8f9d14244a68e4fbe0de0ca3dfb422779d94b4b51381e030b2d1fc7aac7b319d635d6c52094fb4f2ab43c74ac2535cfec73b9429ec9e72503a030ded06b0d50cd1293f34ed5c9efc2e0761a7589bd883d5408c556242db86c038ed5fa036048ce6328f934bc5e506efbdb9723f1272f631fd7dbf0d70cc02eaa038655df4ee61f95c7f842d51c792177da54c76426087c5fa1f29ae7c99505879b03968b27a5eaf54b8308bb1b1f932f1d8ed9c1cbb98422b80a2e67958fdff1e08d03d2607d0dbc6576dbe3403c826edb3d09410bbbe9cff6726eb3a985599c1846ef03ec0512c0f3d1366b7f2f4bbda632f6038273dcd81d70c93de79ca4c0190f36b6033a0e05260d298191c885b531808915b9312c86a1474e3c7290ea8acc623bef6c032f9d9ccbebc4686d082c89c842a7b7de9720e92fbb40eb58a7e333379148c3ea03472c23cfc7fe125b4679ab3c767dcbad55b0a8fe0b42666c26bdd48eaf0bf97203c126d67242ab27c107333998216db6f9ec6d2d247047f5880b9c76797c2861ee03dc911a239b859a7e8c5b4679cfa7c9db43a3d50a2045892935f32be48fd72478031d7755d5a1932d195efc67e7e2b1adc3ebbcc09f629e7d3c317b85d4358c84cc0390f9366583e7f7a37b826bcd81574f04434253555e5c601ed1c17b3d5e7d92b6033d64c9e51c1f0da786bbb55cc978fbbb072e580f1d27345b76e16bae00f9a9c105581e03f5b04cb64519aa95060f7a3bfef1616f08a2d8e8b1a1a1995c2ab114e00c02480444dda48b09f91005581e034f430f89ca07392bd9a8c1037fa07a9e579bbec985ce76f3a9d395f040040105581d021d2270a93b8f931c2a6882926d2023c61ae346a8327b8ef9da2b861b0c0246cbafcbf39e8005581d02acec9570910fe04473d0c9961259b67239637d553e5ca680c0ccbf880c094804d3c916fa75f0c805581d028ae4c1dda274e3db96355bb8223772c39a07bc75fd106fc4b94e884804020219600103a334e257a10074374a7912ab7e7bfdfe404e2736d0b9b200b95e4bd5bb23658f05581e033bbcfdc42a0f072de6bc46e493773eb243a7d594409a0ae9891dc2e230040205581e038cd7682d747693ff811c13b7218557593218e0a980feb3b3a66482571008470f068da049b40005581e03f5d90c35f163e9db75823114c2923a3c37d3668a728f69906cf64e1e100c024701b03dee346b2805581e037f6e36a4547e77274bde7b65f212c299c777d7e2cb72fb324215be4350040105581e03fd5234676b854175b38d40526d487aa988b97431b9880da0b6d9178a300c0247368399a17af61c0219ecad03907c922d8acc4b50dbc0a205f346647c828fd6a56170abfa13d1d062c3b7326c03b8c89974f112c384f6d4d6232d0e88377b3f46dfb045a87b23d99a02222fd04403bc9443459f939463649c1f48bb896ede07f48601a663e9797a0f4ac36d159a6a03772d16bb22969f0fc92e468df81c0e6569502fe9e811e6d822dc017c4f9d40f10305574125bf5db2e9ae185eceaf2e181935cf0896a173b1697a3101975886dc5603c8ab9d7e3e46447897761a74b189cba7c4e778527a72af488a207d322a907b16035fd3b0f06f106a871d5fa6b08e36856f5ce8bf53247879298d1f9ed1b16831f803de44ac21a9da56bf51ab40927fa7c23c3aba1baa7fc53f9ee9213325ea0b60fd0219ffff0328dd5543df6491a0a6e72371d46fc07c2a956e6e3080fd2d54dff1bed0137c5903785c53f35000f5eb1b35d5325dbbac71356bbcccbf982474dc38c11c30cbf0e003ec7456f7b8e04fde305204a0fe3a8dee8fd0f40680e05167b1dea124d6c591fc038dc83ec4b700585256e1e4713fa86919c3fbd7b1fe94b8e07d132935acb2229203d62327f82a402f8fad33fda34268acc6b4a86cbcc49db89f1590c80fd6459e0e03d93f781fd6e61858d93f5b98367d52b73a16d46cde37034b087b9d35c4fafa4303af0155bd341d2313159dee600f34aa1104f5653d8ccb4c38e9caccc58488307a03c31f63d388944d752f35fbd27a3e0ced50bac7e299f9bd30cb4833617182796d03f81c619db99bae745ca5c2b112f9ce99bc38d48ec608f946f25410dd5910e316030d060292c1551bcf63e4e4f68957800924b1ae2d5619747331ae27ae6caf8c610348e4a883ed1852ffeb2e9c05dc18c8aed1e2eb06bed27875edfeda918d6e8d2903da86a8b2ec21eb6a0f51343ec3aefa0c2475192c9c37fe5bbfe38f7b151bbf34035f12d84aced32175b2704993684c236aa27ca5d4afa99a27c492d150bf91aa0e030882499ba1de85de3da19669e4af6b3b0746ac98adca8157d815ffe08ed4a326031f59c3c1a15e791301ba8ac8034c269e71682cfb2de690e817a284caa64fc0e20219ffff030b314a5d38927abacff0fc0137e98f6ed760c4656a76298bdf1e91d3e90601c603ccba4054a4ed107a26a543efb34374607426ec5706c273383c80f6aa53705a59034ca42af16f1727fbf131e39555b3bab7b1ce6c14b6f444a5342cbd8e6979944203b67aab302f2a4e024f8f3d4676a63a874336b3ec220733e6754eca3112e1faf80363b1baf2952b7700e6ffcf20007f3c3912a07d2bb312d3b3f40a864e5cb3997903bea2757ad2f2c1e6c7964898cc752d9b287f46c7565d6117cdc1cb59006bbd2c0374196c5630856a0ea7ba261094ffa4db8c6d4d4a257f8d455b3a25eb14f78f030392ca43bb7b55dbb59d785b1bb7faf9fbe8b095e2ec0c16503395f6fc59e39da20219ffff03b4448234a95d5a859c9d9d07fac1ad5ccf1e75249e7382d3cb8e07223f4669d1035d3ec3a8cedccd219123a0b073a5d4c1463042dde2989fd8a2be8ca7b255eb5503bd020729c2c43d716cb0d522eeb14a1a4440f7591debe63f8d7fb5245f80c0e303c4871e5ca8fe952d89f2b6e23584c7e9bc1260beb3065555acd02818a5641e820379799cc2e62e4377ccbb18db279229546c7327b471250802d0192efa305282ca03b888e3f9158c020daafcaa2c268f3e8b4fe6d14983644bb16a70310341325a16036fb9389839a8149c53f75a9e17a271c32c6c8f60f55e5dd53209634a916abad4031121b0ec6773ff5d6a08da1391c0da93cff4cf72964bd459ee4c82f609bb0e7303469d7050bab2d53f2e341322b9d9b0421d6d1f28cde5644e35c9766bda25dd7003799fb44b6e4eecbfbc1b920242d6c43f6ec02e084325c50a0bba7da7a2efeff80349f262b5b6f68238d4bcf0ddd96231588069a012bf1e55e27908bca8ea2437bb03f0706b5e349ce404c3661f87fa8f30a404370c3ae08c11a3477f444829bb85140354e7f247a29691ac83fefbbcb4f351c40052b3910be6c956eda6c16593014d3f0313a7a1df49c603837df4085d07084a4d10bfeb480438b5f9afc63317f2626b5d039fb9b4b7a8d1ca7a3d1126dad42206b7eb39fb6853f9f3cd57186be95084dba603896c44750830b7b673437e07fed1212d9de891985521a6f75cc308a52fa2653a0395ddbfc7d9f1d1707ce6684ec0377566375da973c6e729b8a6a1f7196bcd06aa03512d710bec04ee78deaadd1650c063cd5d2a921b72e488b762c703bdad416e7e03e37685b3a56d6a1a368d8b028572aa04b84fe20dbe0bb4e21f136398cc3eec5803dd1cb8815ebd30920a89bf992f95baf115eec185de3e35aab8860abee35655f3037202a33a3c6ac65e68eafae2766c39a6cbdeb4f13dac5ef170e33e8894e3eb5f03b31809d607b9a3ade61b25bc0410f140ea0c0a84991ae9582d6636e9c13bd10103e1ca652a0a7a7ed0427222da97b7c8f13a8283371fd019e54e4f2ca1525324d40389c4f22e04c2716ee2a0a9d98700dca9ac6bd018eea84e4e9dc04bd3c53afe1e0344f50e3228980965054a7247f403a4ddb70ad47adb5e84938e827a19e9c6797a0348c2d782850ca4ce0434f883e67706c1761ed632c4161c1ba84e33adcab73e68031d774b1e085072c5dac098b168e9e6e144e8f35c2a8a9884a7c15ee5bd52f38e0335a9565f753191f24092522c216df6da2ebe23dd7e2c24500a87726b715925c60356b03831dfd35cbfdd3ea859da1642ec37a66e998443c2f10a18d172e523d68703765d94b8d7414d590ecc37ef5f5c985a4e09da143ec787267d858664549005760384c66a27129588f84818f35ca3806b09292135129fe955336a3b5c5363a4cf64031c7647bb02a67fe58ce0e8e0a121206a0aceca1ffd2d00c802b44e38b34e7afb03987af223cda4dcd9d525544a949be313b64671cf946db7bf83e0ebad6ed117b903def779ce9b75ee553955f3ee1be95bf85b34cbdf0d90980431f1b4e85e81e5bd03ccf4699a38639969e81cf9d0fd9e754e4a2b6b7a30a8e9088cbecd2724e0417903cda3ef92b333239abe42c0d7ca9fc6577a4111d391d73e666c649e9b9b9f21e3034dbf00d0e63ff3b33c87a33201acb82646f4b777fc109f195227457068c35dc30348a7b0c2aedefa14e036bb110b70da7f82c8350ad5b6385e4670a5a83116ec8d0306a517c15872df0d30a2b0fed199969d3702829509cb03261b1c95fff54ee76a038fc2aa836e5def7e48500ac48948119409d10d17305f5b76cbb72360402883d903a7a80442dd7f665aa654be10ac8b2ab81d7422a2ea21c79845eac46db8ccaa1003655323cefa6a3c5ecf89d6b28f1a88dab0686d505f5a7d4f0e77b8aa526e1bed033f0c22c8958a74323a695123d0c18bdd80b2763d41cc160dafad6757eafd479405581e03d115840b642a2668196df4b2b97ee5c69cc234097b20545e3869e648a00c024601ba60d338000398836e03073f496a6d96dd8b93a4dfca50bc95b82bd24d2078f26779a539d24405581e03f1969d4564c353a189c066298dd5a724a7318ad92913cf8641cb72d68004010459019a60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c634300070600330605581e03618200ebaa4fb92b23523c6b7aa334d8a73c2acceb4a12eb1eb2612d000f014601176592e00019019a03126f6d2821ae2da38027b9859f88223cda2694800db994876a6a32f2650471a005581e03e626b93bc844a3baba8e70e197ccceeedad6d4c1be78f84c8ac213eb200c014609499c671d5005581e03ff2a88cafe376bee2cb3d51a1148bc83c6301795717ff8dedeba503c700c0247a9a377b2e435c8021902fd03b405b18bebd2d72e3a1c1e54e10d9d38ceda7ba84d82c1b923b57588b5512297037f7714398e6d3a0d27d649084d1ac9761de54bc4e956083aece141f678d5fa3503f23a6ef92d53ec62592ec578669b1ff5c8d596b666c00f5c27ecf360c2dcdacf03a728c7947d7c84e7061b6e8ac14dc9d6d5754697b568147f83bffee6d975377a03a124e3866415d2af3f7bba9744afbd6ffc517755e706fd1a0b34556e7dc951740219ffff03590699b88701b7c286116d348b3fd6253c74573258f57112fb65da3fecef27fc0304df0ce282ea26acaa0acb8b05d41bba279f8fc304e445833f3b6de99dc3d62a0219ffff03a2e032383d6a87a73e187eafb0642796e2cdf6e7a8de71230360db3e0b1d91910302dcec2d8f17b2e254664d0894e22c802c0dfcfca85ef8b69b5dfe061fc52bfe03395e7f4bbac73688b24f0e44fc1582af54e9f1053f5dbac88053fbb5dc2a920703e68f3712b9d86184abab14e7c09fef62ec52262f2c0518c1c73c0898566c74e40219ffff031c335843ee8ac17d3b1988893f179cb4fb0e4774cb9ff21dca82ab379605d3b5033f846965fcdddbc7a538f80087a757bb03682bb2bc1c1d384fc48855be12fd4703ca5790a38b971432d4f446bc28bc26a0af83bc1712d8f75a43c632c8003bc60703017ae6ff87f2727bbc011bd709cc73b8b3e556b31147ced32475d5eeaae615cb030066dfbfa8addc58275e36cc7eeab96f8a6487e0897b6915c1a870ba796d1ad10219ffff03e3fb680df7d910e9c0d7471044b2f4c00435805db44ea60a2a27898f81f2eee403d97aa13af31860a7059686ba2a43353e71f38f4b7ce4348a13e8d5615425e47f03e4644cece5f2ab3d955289a1ac979ac1e755f8c49a67801d896f93ffe1d93c0903955432dc9fa1852bbe169ce64c725d2cdfec9c8936286813031259e76a338e7903b94aab576679fed5b9ed166127838933569933031023eee496955919689d0058039d4dad1ceb8a8f0de792a07208cea1d791a94891def06c0e8765fb5a0e8be0f50369a67a650fdad6ca75ebd7c939a1a8fc0e491b00a285d4da997a1f59700dcbd003ff06d9d79703a3cf55070aa49b38152283580f306c5f1e45052d99aa563dac7403632869759997711254c69aa43d02e8ff2925f94be3e862ae8a8cea08d3ff6779039eae1644ed2a319123ab09b4dbd36694d4468b3e62147b612c0c4ecd727a26af031f01b19e26aa3196bde59d96ab402babbd5fdaa76613378c25192edd982b728103d30c2debad90341e07bf8740c2b3325e42d352a00ec2cc0ef77b1ebb688e1cc4031985c9dad5af3dcf5742212bbd899f397302a34a7456a8df96c7e37e7094185503c0507093d4cc7b08f334a74412595f3bc553eb272c208ce1ff7d9a2415ca7230032b2c69c147e99e3e22f466e6691675b43b36fbfe5ae39f0b7ac21170e193d1f9038d5a2a1c1680a571ca7df9c0009fbf23d8b0f898bf000538d4af4ad27c73b3c2039f03ba96febade50fc184108fa35e2961b7bd89cdc278c7571e5ff5e262d294a031ef79b9f287b6c835c25f7ef2d9a7533d5ac367be86d643678a600af0b4a42160387196d3cd05acafb5e972d1270e91174ca7129f32634f05b9e95141c7c0f862f03586aa9065e519232c782e564c4ef39e486074986ea0db4279e214056e66ac33a05581e03e47bd342fcfb393f9b5bec46c568259b448e92a1e530ab4222242f77800c02470131320c3a8c0005581e03d47de102d17086729362a970a2738099fff6b5483ed0633629d1a7a4700c0447037f6a9897368c05581e031836faf35a443dff67866b1b94bd7ad4384ed054bd093ad03102bee8e0040105581e03c866ed18b8594feea14f87fe18753c073fdb60255e92962de1c4bb0c30040203af73aab199c57507ecc77ba5b5bd3aebe84a08b2bdce0f6446c08fef47ed92a205581d022da4cf846ee568e30ecb931f59907890a8da0431d5f42c202b73057a0c19020a480feb1096c0e8375003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d02efdd0005a0338b896a7076978a236e67d0d4028c06d3c2ca21b3dfcc07011bffffffffffffffff05581d02eee4ec40dc6347042d2e3bf7f82a6c37d85b1d1b035f3ef32a1bc9d104010219108803c9867c77b41cec204f9d9ac152f9c807941d7c905f20cb5c737606e52624e2c905581e0367446e5470ba2a7b40b9c0a077901867f1ec5996667a426c16e82773e0040305581e037ac14ae6f2bd7a624221be9a32994cc53e33928b005e8b32c5a189275004030219d86e03dcb3f2c60cddd7479646317ef9b264d08eb7160999bf10328f75698d8c7caaff0382f0dae0e60f858e8c76458eac95521785b8a34ba2975f8719a7c83b5b49dc7a03387c99d38803e49b5bfe5143ad8518c57b0a39dc7140ed6b29928c3655265e3003392d703a47f0b3b76c359534e8e793c1a12f374eccd5918525e97fd17a7fec0e030d951408bac898dbcd6ee929dc2768ebe10018c6e1f70667a33c44c51cac029603c4ee20b049f7e344193278d5dc693a7b3eb4b45a19e5da1143f735f532eaf90403263b980751c0f544abf8df45beb2e5fdfc0b1572d4998f23eff72487830ff8620370179bb43ff26af95b6dc1647412704c4d4945cce206296f0f1c578bf59bd56f0308c5e992ecc5d701fceeee919eab5c148de7def966eb46aa105dcf6231b58fc00321aca0f7659decb4b8888d3ca82a0c06d18213f6fa087d1af815b58e6a0ee7810219ffff03b260c3a991aabafd5d0290fbce7de35c4237c587f85ba0c1cb41e0a20ec3fe2e03019a45e3a367d796fbc1e1f58bf8cfd421bc3f0df9ee2251ff23e19cc3bfa10803137fcb81a8069860f9ee93ef8ced6f1b35aa4a071c6839bddb9bb660ac40a61f035186ede968aead1ce552a5f31aa36ffdcb413ffa3fdae2eea34c4ef3a389e2e40302a8d3b9cc3c0d910c76c279afccc8a9ab6b3a2a12b194d70aa7c2be8940fe5403c6ed1c98eb6bb161771857d56ef4df0d104f765965e15e235d77adbaf99ea8fa03240dfd80118ebc950b7a1f3dbee773b49d33e099207dbfe9baf5dcb5d992c85603c91b46d570f9e23f6d50250a1b863f3b7361a7e415c60e8666a391a1a25d81b00338fe0aacb0f044cc388e432f306dec047bd3918f96f470a3356eeb7444bf2d0e03697a30e6035386194299ae4c028f6faf696b40982b6b550518287ccc9131843a03b56e722ad3a597d15093245334a5099af8f989d1d2d18c55be79a11f6120642c0219ffff03f74bc6e3e8ab86d53c89bb6af4ae6b2555661703649182ad5d52aaf2112746c7039908bff17ca4b18c0e43bd8e53c3230a3a38c347e664edd949b79bd7b7f44e7303b321259d039a5d11a39ce66a04f979809c08f6a857b203870444b7ead52e95480305fec32f35ada9936523b25198af6359befdfb4b57cc99e01bc2fe5241aa2b23034ed41cecc414be449dedec2512805bdc607201b892c70889d2ccc1b85d15d1a80219ffff037e2aa621a795f6722d68e6a76c68ad811af6c7475201b9ca3cb0ef098b5314a50334f8267c0f8a0e0eac51b0052eaa4fd6ef87ae80c1e36b67dcec288a483debac03f54b7c143e6f9b5894804f514d2b757f281fe74705ec851c0765b9ae54b6d1bb03c790d699038582ae867c1c0a3ebc39df8bfa6ddc33c4af8f5458bd67f797e1ef03f1b900ffb51e356fdebb9101dc7d92f3294bd7437b3c819f868b15946f04f0660333735ae689d10d4a894374e98b745824c4b33baa809e2aeb819a054f1f05fc1d032e2c58f6a4783f688b63113b8d525d6e1230935c9b818260ecb7bd04160d6675039db2f3a0d6fc9091c343d90c9c1c07c4e1b3762da7c01a75208d5e5a414f7acc03e69f0c5dc588d8cf28477b742861723b22653c6ccfd208fdbb694d31bee9171903f254daabcbe92bfe9cd07bbaef5aeaa41acfe97bfb832cbff8c032156460168c03ed5960b2a718c4e2a13f6e601810eddddab1a2ae2a95900c2df0636d8929705a030bc64642c22ceedbbcca397b1f06c871543c3d67849a71f33b1a42fcbe4c8d82038e37f17362e68402eb869567add885abf0d3dc78c9fe881d3e973b76f547a2000382346f2a565cda1818b46f16675825feb90e224d7f9eab3380eb8cf87c23d9d903bb667cc433fc93f292cf831174978162bc18daefcfb811f347416796a94d9c2303255691eb637415baef8fcd7d1abeca39fca779cc08d686240eb2e257ad57ef90037ffb3d85122dad7a8c8405a3c3d6b8af2706a6f0e957beb02bd26230a90994c90368d13562bc878477f2272fbc73ec2220cec15c5baf1b7e93e8c0c975b1f26a200360a5dc008b9b09e6a2a34a15d7b19a4cb923b85501bc75967c1976a45d74818a039b7c7eea9b79d56b7afdc9160cccc4dd9c3e0dcf2740f55fa2a5a4d18ccaec1f032cdb641c57347afc77e933ff5bf74cb570b9cc8a5d01fe2668c54b01504d978f03230417d6a0bcfc16fd1ca793ae705e834609d69f1cc450fb8d09410274a0084103ce4696f5fe373a6b97fd89760773181d8bc24f2f16858b0833e0b693c90dc41303f8fb7aae5e4a8eee353f1c358e2373d25a7f1ab04180b9e973426beaf50335c9030655e36a7a2b185ce88c3cbf210d3b30438c4542b2939890c1dae24a501367f3032d500c4aee053113bcbc7af229b12129eb5ea7eb19d53e3b4ab02a4c9873ac1103ad23442d40ba3470e9010829c2a0d855e17634606de5c420862593fcff3b58640395408bf61890c2995be3a4fb11b8bb451e8fbe9639320da532867088eded533601410e05581e03b6eff48228f6059e4a808a736c24c7ce81dc03a6d816050aff820713f00c0347019b5eb293ab450399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803e716ff015d065f378f16ea4de2689794368ebd71dd316d7baf31db7362eb6dda05581e03e6d29ff620bc234efcc9a9503c177712f38196e9ba56f368c4b6864ec007011bffffffffffffffff0459031f608060408181523060009081526001602090815282822054908290529181207fbf40fac1000000000000000000000000000000000000000000000000000000009093529173ffffffffffffffffffffffffffffffffffffffff9091169063bf40fac19061006d9060846101e2565b602060405180830381865afa15801561008a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100ae91906102c5565b905073ffffffffffffffffffffffffffffffffffffffff8116610157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f5265736f6c76656444656c656761746550726f78793a2074617267657420616460448201527f6472657373206d75737420626520696e697469616c697a656400000000000000606482015260840160405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff16600036604051610182929190610302565b600060405180830381855af49150503d80600081146101bd576040519150601f19603f3d011682016040523d82523d6000602084013e6101c2565b606091505b5090925090508115156001036101da57805160208201f35b805160208201fd5b600060208083526000845481600182811c91508083168061020457607f831692505b858310810361023a577f4e487b710000000000000000000000000000000000000000000000000000000085526022600452602485fd5b878601838152602001818015610257576001811461028b576102b6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008616825284151560051b820196506102b6565b60008b81526020902060005b868110156102b057815484820152908501908901610297565b83019750505b50949998505050505050505050565b6000602082840312156102d757600080fd5b815173ffffffffffffffffffffffffffffffffffffffff811681146102fb57600080fd5b9392505050565b818382376000910190815291905056fea164736f6c634300080f000a03675d63ba6cf06aed07e123eb5dc173416cc823d57072523d78ff53f158f0d5a803bdc27ee1de5058830f1f03c592560c7aed6693076e615231d65011d7dfa520c5037a34211da9bb080f728ed96952b2b934636fc724e64ae6e38f03cf1c89c6d51103271ca723b8fbcd3e1af1a11cff08319a25d12a1f4f83812c7fc9fa756a671f3c03284587fa47275fdd56cc7c14edd1678d41724fb6d4cd3b2025cfbe95f336af5e0377ef9dd9fba9c60b6b4336f807d985ee8196775db8fdccede7538f3f0d51d855035d09becaa435c69423a8c4f46b9e3cb24edf4af7844a9c2a4ea71a3df7bef35f03791c994a7f90036cf2dfae47b2e36fba178d4832b12ea37dad44133d8d31af5703f943364e3306df06169ab69739d16c5433dd2729b3ee95e965392648d6237052034e9b84b06fa70dd50fcf7d2c1d4ca51d653b0f7dbe991c67873bd7bf23850588038b4ba30fcada3cb935084ef0ef3f1158ce31bf596c84164475fe54d1c4f0d8d9037efacdcac7153fe54b4509fb8e62e106ce21737c9398c60de91c7e457a0bfa9403c9878d2d07ac6cd4fec89825f589a211885ab8cf5e5763d2f3ccf156afa783e40324ab564eb4dd08863b513e5e44739e07d2d6ba729f493f2b9e82207a1b840bc9033a915524eb006f5f846a8dffea7f57b9f024cc237cddae39e5065b9bd591a03703769d7d01726b230e0ff838a6f7d6172811bb36a47927ecda7d533ad443c4afab0381b91718f62b4b608fcdc6297750506a1cc3ab619d41a6787bdf2f77ea01d00203fb329510fe9f7d0e13818594f12f85347c4a7561ca588c227bb606f0e5f5649003ae6c00527528a6dde6fc9995b78321c677966289d927710263705f2a2d2b20ba032d0c8b0861c14d6f073d4a8aec1138a7058396b250bc4ff97b928522325466a403dd20e35511e13a308d2b604d1b4fb69eac5d55819e94639133dd16acbfbacae20346c68a43ecf55bf99ca9ca9736e69a300cb5db441e86282e3c93526e8604f3d103621306abb1ce04365671b92c5ddb1d7ca8f3ba031e25c15a69696ea0aa8d017e03ea1ab381e3200498b9e74281d477843811240b196597abf3f7eab810a92680e7034045f1fe2ef545774870e1887b09d04fc7fdb3ca51391ee934db2b96efe4bcef03717b01a8fdd730a5be8066b92f5e3356cb20a323def9279f84d4aaf1957fe293035cef3ee55f2ee46a5d84ca4948d479de08353f2eea3fa55d0e31af4aba124a2a03562d7331f958dde4897df89beec73d25f1770e2b6b11ad8569baf6fffd36453703c02809e3663717631f1d774a816f7f628bf8310c2bb8f944d9d1352074d5813003b9e2d262698351cf5bb7d0d725c371c4ab21acd2ab41c5022ede325b04b4d97600581f026683c0a78d8def6a96159fcf01bff2bb15886bf0ee85ae0121b0d0105b24410100581f024ea816f7e52bec1e4d89b78772d7479ca9a6f431bad305216447da977051410100581f023e78648663ad83bff5bde0a02b18a1f6e44bcbd18fae6e7627c137fc52ad410103e840ff74018b2e4e6403e06597554795bbffa4e70b381957fdca3f57375fff1800581f029836a79251e7b53c6404a576af16c3b3b1328fcfd5ec04b5fe396555cc65410100581f02dc4a5464d5d1d1379fbdf8e93d09375e5e66d3d57f031463203a817aa77158204f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000003400581f02432fbb801232025d80456d698fefb40014b64dbf059c8731cf29be0c70cb410100581f025a264e9b594083b6b5beb52ed757003bd8388767ff936098e82f96685aba4101021933a303287da1729a5ba7fd4706e749c237f9d140607b9b59b5224a2e2a735e5479de2f0334a5f27d4f746b778f0d26dfe8980feaafe708e4c851b850c429ff9f173fc776034a5aa36222d54525c5f2ca17d1349b713b660e9a49cb469f7e2815efebb5c75803baa052823e179701ddc751b9cf99cb1c2a79f3670bc2aae26bb123891b470a4b0219fbff03780cc44845359f1eb42823c16317bb91ef747232340c3c77b683fe53f0a573840349cd846ef284e4f80fc735316a8ce835ceafbae9135bf5df4f4ca5322ffd89f20219ffff034ccc02f18389132d23685f00236db2b0c022227e736e1aa7ef77b930cc154a5d032c1d34acfc39a21cf7e46d1d349766b2704fe75be193ce1f6bc46750fac35d5f0302ee54afbfb765638ccc043f3f35534213ad5ba6391c0f03380244e4e542fce603fc0efd81f504630e1cf9ee88d2c673f479dc2360c77692907e3a603bec0f755503c94564144de9a1cb7959729228590a2920db9c9adbe6704ecfbcf1fff0f07d0b038a981a5a7e0fac7b0d8168b27e61b0e8290fe41bec610381712574bc8472a3a30366198b8f81f28aae41e1a84d872b16eaf857b13d0b6ec5beaf43b394a54ae4ce03afe052bcfade33e4170a3f5501de2fd69b24e99fc873c0d29e91a28739ae9ca403ca485822881c88d14a48a5692d035150370188588d336823ff3525d99bbdb79903e48b05e255afe786982e06c9f19227ada70cd630d6e563471ba307ee183d598d037ca067b1cb255e61bd00db8adadbc118acb96ccb858084d194a8ee49099b8f2400582003cbf46ff871f9fcca20986ef79e458818c5b31c2f62bd5aa6b8972bfbc34250410100581f02a68b8ab83474ba1a257b3963aae5244d4479d8f21e51684f7aa992b62784410100581f02892c4f9704745fbc74d415c8a6fb5cf974993c1c360a9a931734256110a8410100581f022c669285f1dd08c0e2b90a94f4e2dd0b15cbfea06336a1906e4196667972410100581f02f472a821551aceeeb0be42c48f5ec3d9cb52ce72f6a67543f0494dc4c8f3410100581f028b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e424b7600581f0290b9a22c56b44a7fc58e3285a454cdfd44aae9973f674ad02f1966c7b9094101021920f803ff517e9a9f82c7df7752357199ee273263f71cddfe0e90097040c3e52a472650035605e4340e6c1afea2f49cf3691540049bd359ea83ce00793fb53e46efee649f03115fe5a1e9f99ef0d43f4db91c1e23a3267c21423843c23c5b3cf709de7a794a035404af78b8292bb8eca239d5759fa200b97e136a534ad7573027eecd554eef7c030937f529562102607aae2a315e7ab11938610fc0257783f6371c3513af9699dc03f0736f884a395ee9e5537424f0e7b052520ad943f4ea3564558b08ce8395cfea0219ffff0398d2cac66e1559b647c41b8d4e923e020bbc048cb308a90f5d2d92fd758fcd6a03dcf6bb934a4ad075d07f8404f6dbc050eb573e1116ec1a41e6d7f0b56a9b5651032f613235306324a37a8d976c7a3225e6a7eec6673cfb7fcec929b69f83e8ef570394169a4220332e8f94430dee0004dbf3f5e34b57f5d4d20093ad6e7b89c296fd03e183ecc1b607da72125da636282f96a29d8093136e0f9ffb6d555193e7cd6869034132df2dc9a0cc72a7910931afe2fc5db81873dcca77d2176db9d705b3be371603154e0f237f75faf435c81580489581a7e3ad4c85f0daa1d69a773c9061c02e8b03337446b1c43b3262f86daa91313cead27c1149afbbc931f2106ebf9e60e3329303be2c133c2a53d5e7512a7a3faf67d1f39be837449d009c33a55c59109ace7788037e9978fadab5c1ad63d840d3edf5cceb222aee74537550dff685a800b7306dfd03ec797845a9987c75cb61e73889a7e25dfb3eb6c7e9fd0a902ee6f78fb2503a1803d564662766a92698dad752b5e5e9781f6031ed29b36957843597560a1bbedf580219ffff03af4527c56afe88ea09569ba5f9e306fb67f686535bac2ae4a058a098f158d48803589a3bea3aac9e99dfefdb8cba1b44e7af65e7c67462953b807266142589edfb03ec3e6ae568a469975bf0fc9b27bb07a05b29f8b673dd134bb8134f21dbb4eaa10357f18052babc072b43497b46db6e50d682d1899f9b3eb5cc1b31cba2a30f819f03aec81d506fd0b9e7ba8b9e5db93949919470752a798b1404bb67a9635b89902e037bf6fb3afecf738c1658fe8382b3cb2505f1ae3fe89d6b82d8436489bd51e4f603ef96c46becb7bb1c77d2dd4dd2f44e2742759e9ca315c6146a34b14904d5d78f03be69dfd4926825857baeca5729b60f2c4faf0957f8677b9b1a0c8c8b4286968d0351ab9bccc60c0d6b6fe43c3e8b09bc14b60cea0e86449f8d02be6480386dc33a03b7600c303d8b400befa9c86eb9e99aa7a7434fa0cb30534c1c97468d185308df03f759dd054d482a0341d68001ef6faa34d11a017d15abb3c9c98406e8c09fb04803e7ebd63a128035418cf2a25c7229a049f6882b3a41db8fd544ddef9b29ec5d6d0341521c77ba305ad452316523d3c4e7408f39127305167ecd7c7f053da6450a2403b6fc559dd949a656795185346e0685e7eb93a8907b65c2b9dbfbc01173656c0800581f02f62ff260720cde669734b412b1fd02a8af4aec585ff47f8c000d0a888ba0410100581f02d669b02d4a16eb7c4ec2b5d92adeec3007413687ae7c7694d5748af5ed38410100581f02cf6332ae3b1cdf867bc8fe60b152fa85f570020bc64cac579d0106b291cc547a616b25e7c96fc4d652966d7ddabb51de28ecc103f0a449d74c54d2b7b66e8557b429988b922df936df88aee9178d9501f896a2650219902803c56eb9c8fc22e327bd26035641cc600f8bd6b5d8c1237f56e08494edf0937e0b034f489bffaf3b139411e4e0b6028a68f5984d1141ee9c407031e9e7bb254080490324168d5c84ce57a459e0eee85fbc9f4ebc8d5d2fbd1403260b8d715b6d4aeed1034cd260420553d03042629896b0ef33cee5215e6a898bd86060f5fb678d11648e033c4780c45cfdab6585af83f6594cabee41e234ecdbeff72ca56cf2e5a1ffc0e203537b745703c96339de3800f2798faf6b5fb593153e12999878d95d73c45fddcc03c905d9bba56740615c371b38f40c3c2930d22cf21727e984223d258b010130fc03eb59d5bbe39e0423834c84f630753457131c194ebf480eefe3cc2887ceb4423603452a295e160f076dcef34e5f9664f9cb10976928a5f79d7e19c022a3876d861e00582003ab84e22904bee81e39070118f83a147a646d928f9cac8b1fde768378be0e00410100582003c2e63b0c46742dfdd813fad3a7f498a2c9f30f311f2aed2898e539237310304101033b19dca253e26ed28f7d390de6122d665740520e76daea936f232fb5d221d85303b015453dd7fc8f67885c2352b28bf161316e0b8860d69e19ac6eddac099a912203cfbd90ccac0d4ab56185a1f1c678ef7385b6e47b551f9872753d31b44ef766b903e902b8212759d3bc9557c6c796e52f0440d562f272063c2626c39589befea6e10141050219ffff031e90855cdc97277f2fa22266108cfe5c3e6f833ed487fbf35f36b7f2ba4bc6b8035a7d6dfb25360800dd770a71e0690aaa6eaa1501b39f7f2785a8e0d27ebf851e037934f538aedd5859e9df6e4962239e10eb565fc659c04fa0a419a76be9f5b23b036b1a49bff78b9a141cc78b2e6431275fb4b2ce6b0d9693b99b41962d39e0ad590372d56b37c531d46068a3daecff415a03738346394b5c5a1b128443744f915f7b03fb2a2b42c1430ae3c485fa19437522606dcb69c7e133024dd0c7b3626cd456d30219ffff03efdda75f81c390afb44522ed251e9fcd82387a856be41d03caadd1f64d4eb1b00219ffff05581e03287e685a684ba1c9b482d496defc35d4fedda98b3d2231797d63fd8200070119031f03784f787c88102fd9c562c611333594798a3043ac49cc1629e7696fbd875ff2f503aa491802c23fffd84d606f001223a9179de046ba822597c60a3fb2ddb89a202105581e0372df5b442e8814e70f1d9a16dff1dbebe9495ee28f321756df72294fb00f02475c5edcbc2900001bffffffffffffffff03eb14a90df3567a2ce6a542e138c68d72061388a519944d98b1572b85beef102d03cab12104b46fe7d2cb3324c1a24f071d05a073840517c29036f8a25b85f18e4d01410205581e03ab0ab209cfe761862ae6d5af85c4c4ec29111b9296281f810609546f200c01470792d010bbad8e05581e0305dcb4783621edf9fbb8bc6e9456a32b2a5f4dec7055a387d2647a18200c014738160dbafbd9a605581e03a5fdbf83d54e520f38924818aa1b36ce3985204c920d69f18be6731df0040f0219bbec0399008f52a41bc123280b359d11f2ec3edca1d2a7671b6224b79a7c569d8dbc0d03c45e1ac94eb2040c4b983f5c8ddc9dbc116a5264ae6f336d4da5cd7e96f2fba30339a1823514fa43abccd96ca6e6da4728d484d35d63326de1b76de5f15ac8d33303de2883623a32603837ece8d85ce8d6ac9b3a698eeb8ebb9e47465ae18772943a03f73ca1a622a1fc4f3ee768ccc47d1336b6e8b857a13d3658f84cc3aee8ce3e1403fe52b5499ac896dd28aaa3dbd85e5a3d8211d98b8dadb729984c1ffc62fcc354037a3edc9d4469a4a28b2b58b17a18fcd2d3358d58623c0ffade8103f4c9e811bd032de8aab3402d54e97aa176a6f250aca96666a0bf3ccbae6b856ebe66b3949802030b10f2873a83bb987c5ea644b029d4c4f45ca406f22e540b892fa2632b4a79ca03ac0f500e30fde04d23c66e262ec599c3a16eefe1a7ab7c056a15a41d89abf64203a0dce64d48e9171eba13970c8c53ec2d25bae7c9954d1d7e8b9a0537ddbcb37d0219ffff03a496d9cc075a54b0dc300e360ac9fce26bbdfc71ee7c736703fd4168af7b2ed8030694275ad079be2450d19f5ead0847c71825946666fd338df6eeaf27444e9c39030b3939509cc6e4d272545dea850c8eee3edf8c7fe2e7bfb86dc7baf66f7a8e090374305c31f13140e2d4b34d525ac4a0632d99811806301b8f86b9ccf9081dc69e03dd5c9c5f1f93a3da4ea4933fcfb150ea39fb35176174be26c9c79e6615223aba03e682918ed2f123c23c72182e7f52953a541de56965834ce0600a0a272faab4e50219ffff0373a3210786b41d871be6ba3d18bf99bbfd1d0276b00463fd81127418033b7010038b178a9a091b162e3b3618bdfcacb70c2bb0e715e5c5f7236885f7ee8eeece230385b4cf1d954c6da959e561f25f2d76f1535c30a0ac52e4c9529a7de51716896703839c4bb29273cc77c35e50d237c4bdca8b68ab2def7f1c542cea50a82289fced039b661d2f965a7ee02e8b7959b41e57bb7d5197843329bc227b00e39f98b95f5203899467d1f1c3a1fa8754612f3f451d2b68cd03ffba624e3529503a4d41a7f5b90322404f21dbab014e97ab70268b71c1c93b7e15fb43d115c069178082e8cf7ce00397e1815083ebd3cfa13fd14c31e94355eed98d5b283c9b6378a17847dbf22a1903ebfde13f1d99a6968c073c2bc545be30ea8098e416f6799d4c91c079753e1df5037af57f8a514ece11b333dcba741576f9d787ebfb17d2c703ec45eda20452cf7c0219ffff0328f391ff5823ee7e9fa8aabc77e5196ceb17b99cc0a443ff473f40430557faff03362b0d5d4baf1d1eeed3304b6331baf557747a196b830084d9c6af06ecca6aca03846b508e5a74b568156df1ee76e99218a4ac4e1af57a9a7e367087211a1b76bf0391b93b4f00abd215bcfb441ad597fd921ca82fd4a00b5e903ad8d574805b2569030151ebaa0841db7ba88a5477fc22870bb68a4068ca6e543cfa6e8241d78cc9900219ffff03444159d652e216abc8d340dbb4aa0e9aa6bf4e9c8975982a918b0163af5fae5b03f64f4fd74802dfb8d91802fa1e1499857bf53c02b59009b265e4eca6e874c60d039dac812756c001ccf72638add12f92f87031656b01aa12406b3704b0ff999f5503d3982211d3d49a586ee403e2ce6e86796f63a1020efed5cf265694a060ef7f5c03629cbf08f44e35ef26674af764e2297af56bd6a1d9e8b4e44eca669bb234a92d03c4161a96e6c0d0059632d052853fd89277d787e88e3ad2a442a8ecc77ae0f92b0324f7eadfb63ee313d3e64ec1e59e50f56d0eeb890d12e05c816b32f4162ef05703a6ad778689f9adda40c8173e36778c8a60d8b46e5f91b9ae6762d4e7d82b4baf03620f669dd092853ad6392bd169f0368c6a229fbb595329f50246e7bb5bc867ff0369760253efc12640fc362d1194acd17b37028baf5309acfb22de7a32089eb3be03b4db949ca9ecd56a4bf363194f7bb9e73d2ae98ac9fb9dcf060361f463ea676503b8202d3b967bba6e38db2990cde58e8118c8789632f25e4fe6965ee59fb1811203a53daffd2fdf1621d4d99cee51d7f963ee7636ce46b0e3be14f3281a505c741103c9c9b7502770247e22ddc6be7a2f77f8aa4e3ed6e0258c46fb72ae019af109d0031d1cb9ec4d1494badedb6ec9ccf7223325fce04f7454437953c0c311964374a803464f2f31dbb78e997842b90bb58d144e9a90c85086bc9371bc20f8dc5d95f628034cccf3f95eb1d28e4115140a9821ce63f507f5cb226066f8afce96383fb20729036b2f626475dd0fb743c2d3792646fc5cc01ad15602a436d0b53ec3bb92ac8c62035c911ceb948d5811d8edf0f5555efede31dd8ed70838b303e286fce4a3cf521903c0e2fc7a3996d7a3ab8b8f6dd934f0a568aa1e6aca98c75929f021cc04fad10403f5bbf855b7d377bd0b432403a5d59e0386a36dcc461c0b0e3bfee3f1e09fbb2603f66adb26360c0687c236e7ae2fe48dfce41b95ed3af1eaa43b5432459f8782fb0311856ed847a0946e1e881bb5f7ed49830e99a76c16146e51cad7b910dfdfe87403bb632901b17ae0d8b1ff23c199905aa9319a9448d9fa42b63c973ae730228746034f902e2496f1ff84c32214caf85b03589089aabbe7d284eff2d9a64823b93d10033700bc79bf415131015bfd7dff4730b5def5e3958d758afb2f430a36f19df06503e7d703e69ffc96cbdfcae160a6219ae3ef35d71c271e1a1657988ff3015d1fda05581e03d70b7347234480182cd209c3fe6920bd40f36b0eb4a1c0c1b3abd424200c19265647b927251d7707f9030bbb071e8b1bf29f60f669ee5ad70cb06a1a28a6ec0a022add6aa55b0a1acd5701410d05581e038073a302a5ff29f60dbf4a97b522d6296c9324301b7e9d32cf674aecf0040205581e0314734b0e47eed2ca45ed5f01348894e133cbdb9095bb21cff16d5c9f7004010395e8571f066dd586badbffd805cbfada5e2d341134b77a2b7fbc8526a17a1b7b05581e03e526f208c9e635847b19f7d121bf62792b842890f6e84a04cccd902a3004182005581e035a8bbb881f7925cdb099fdc0b6d190e4f498778149734373af383e5bc00c034628fde8f1d6000322c9a2babbb73ea04e68f0b9e3f3c86ddf7af811351130e1af6e4ce3b1bfe88503ac09cede644b936f01b31daaf5d5ddb8fd7016e01e8a05a61820c86da0d7318405581e03db2afb7ab21f865816789b4fdd79672b2afab83bada05f31cbc3d57470040105581e03d7c01ce7270f883ad3daf58cfeb007ea2288f0eadd62df14d8ef553e800c03461182d0aa43800399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803470ea67cee954752a89681b0f9f1cf5bf95b34ddcbdf6a4ed5e881975e0fbaef05581e03fbbb2dc52f7f8252fda9d1025ba972adeb456aefa24f607d99997d153007011bffffffffffffffff02190fff03117993efc8a16a1b62f3e6f7e925d9eb22a0c3171a612646d99d1530cd4587a70391e1a73847e6cd2195c4e830084ce5aaf1390361f18341473c07636c11cfe080039894c54161ee02ea829c3f62d144be8fb2d0eebe8dc4129ff266e61215547428038449aca73d231396ff26a139abe5ea16e11807fc4b3136363bb2a1513daaae3203493264856f03cf7d49c0f535462fd237efe0225e5b6f3bc6190f910a87cc5cf00305db8cebf657ae9699e6bf50205888c439a477ea64ead54905a7b8776814209a03895cf022a4e51dc909f657a6571949487f2e252ca0ab19187833e37eb4a5451a0219ffff034d23c28e9aa74bf8560f85f3686e31b8a8857d105903f45d92e6dfb540377e74032e43a7e8a238743227e9f5393a449a5b3fddcb4a31508b5930386af82ba45415033ac604bf320385e2232926c6179cd1b7d09006975a656a88439c79b24ff2c32e03b59ac6208ff55e5a22f1bc4f102a2e70bcb8e9a2536fe9e010974f5f5cfb36940314993c3bdcbe48aa9b85aeadfeb19c10ce6367a26433cda762779762e909ecff03e656f4f7244c547097bef71a3d22c494ee10f22ceb57ef98c4394eb469edeee6037dfbffe2beaa0ab2e8e59125570ad80b869fbbc2487600f89d182da7c1b8bba60379155a6b45a3328a9ca0f271805c9c40bf7f6e4e6024be2f17ae69f54b15fddc03dba85569726adecc56dc5e0f9e013eefaeac26d12559d3f9b6183a9cf9a6682803615b0316154804fb2a7cc81aa0315df90a3ae30228d951d1892ad279df514ace03529c1864c980eaa00bcafdb40eba8205be6633a5ce6917dd31cc361bf123aee1030ea60b80b041e10e93694fe153c63c8a49e7e91b85d197754209ed9712e78cc30219ffff03aa48bdd5e3a5264fb761509be7c36c2590bc85f52cca5a1e098f0d317f62774b03e859a29d364c7d5e74023ebb8c48cffa1cb2e1ded6bcb040acf328a61787012b038fa6fcd43a6a648d90f676c4d25eff4e4bfdab1caedd3b7b639132ec19fdee8c033b133ba424ff7421d44c09b967e2b04d5f4c497bf5f15757b3c6c8f639d52ad40308c8f73ed8a37e3c8d66317c50da59956dad4c97c12b292ce29e5ab346ac55ea03fd8c138e6c232b123e698d8870bbb0597b1de16f6c8c5677e6d878039ca13f930219ffff03efea8a2f63fbca698b3c86204122ff10ce46036fa1b6855853f8c26d986022ab0310912979aed65951055cd340c5ec84a8b7f486698638347bbacf7cd1a2a14abc03aeaa3c3eb40739875391bb127c4b13ba404ea9c6b5d3888e30b83c47e59514b703524c089d31471f35bb23f76497d1ff6041d78cc1d1fc8dcd2af03fc43e7899c9039e54f7b44b12ebd05cb00ed96400f88e0acc66014309af05abe4ca8ac03b95a5031d2fe0f06b1d8deddb87abcad2c54ada5cd19e492df170c22cb8aac606e43bbf03c6365d9c64f6e3a87e13d92f96a7a60e0ba66d9631bc63fe251a29dd2ea644c4035b78bf9656fd301294bb73ec1b8393207aa4ff8639b9661ef7e1582d6c8e6ca20219ffff0219ffff03a64c8471af80aeb2997e1bd9ee05124002398b7f61fa06c4b7ce60c59d249f9003a74591cd763329f55a10efafd52249a27f9b63de504fa3bd5c5b4e6f62f6b80f031ff46645ef4ae097292ecb6edb49eda8fcfb7fd54de7c5994258a9df5a9eb57703e0be272e69829022b77bf47f8f46f1a2dcf67947ff745aa05ce66693bed004010352f9006fb1bdaf923e66c3b42a464a42d1d6c685d825725760203cd7dfbf8e21037ac7b8a4cf7618d53422c9d7f08324e185f0a82fe76ec1a41251432718899ee0034baf577e0751a1b105e433750c40dd0f6dacbab1784c2b4e25d1c588c7ea49a703a91f11f68af415c3f25a2f6365432eb14745b7f7af87727ea300a1d37a3eb11403528515eb18709dfe2f14b4c39042561845adf3cbb7b344f2a44b370988cd30ff03758892d30033199211bb18004987f6780863d273b13d9d720c8ddd334db505a5032aeaf26a74b97aef2f4184fd4a12839df19cb30e2aa25f9a61890d51a73fca7b0394f6c6bddf25eac77cd8118af9419c6a2119560c230063c75ca9c5d59a53d9e2031a35908f3cc5c037df0f8cd5dfe3ded979b0695d30c5f30d4decf48be2a4eaf903556507463d2333f9454433e815a68724883b6fa3ab15296bbac647c4bceebea103f1435234b6c711d3fc71c453a884597e039fd1a239582d109a1563ffcad1925003f640136aee23b01e79ec3cbc0897d745796dc5c572fc248fb9037e440c2607e403e675b5b74be302bcff01e7b247d80333a0b3fc9b5fb66e11d845adaaf921b80603da9e2d6443b56a85dcf595576f7352a8504d5708f415ee73ed645ad4b1e7318803b7d38bf7e8219a34e97c240929bee892065f4bca7ba9bbf3a4e06c5996b5fc0803feb11ba05233b03effdbcc6ee5c4d5bdae8f65dbd027194a286519d0609d4c060342bfa2d50b3a321566a785754ae2aa79fc14db7d49c0e599bf6d4752b887775a03a24fae4fc315fbc391d959bc7a8724e49141206c13bfc7dbf73bb1ab50f6ed6c03034c968bad75d66512970e63bf43542cf252b36cb8d6fd787659d988ada3d640033f47147baff3c6494b85680137bbbef1a12e97ac4824624627d61b377c5b012303f0222dcf62213cc0dac6258ff05cc8d5db2647607a4e2e28d9f141baa8882fd603dbdfaab0f970111001e075291b3b3068d9f86c8e36e905d8ff53ce5a2549bdcd03358c6c945918322bfdb18bf9c981219d7904799cbd903c9ece151c9bdb3e9b4a0333e223eb26cae82b5ac7c6f5e0bcb6322419d6929082a2e043a69accfb995a4d03d5461c843fff54c5f77225dcceecbcf3210ee46c6528c90dc8c2eaf3dab8b35103bed19131e39c418254e8ce3d06b7580afc7e40b6d9053b7354abf4c4e07cee4d05581e03bed392cb915f67a1edd1e545c00017c00d18e5b95f903413e11db9af400c0746f41d43f629ab03b4dd1c7fee7c019761edded6a426a2caf085d133e2b6ee6cf2c7a340831017ef03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03a2bfaf2c77b12e0b2fb694056c06ecbcc074d0d4cba452617ecce4b17c9f577305581e035cf6213c04df76e9897fb884482c0f24fff79b0d6800774c58c55fee2007011bffffffffffffffff05581e03abb5374a91e6b6e0a3bfe9234339774832f8a4122eca3dd6984f67de700c0146b41bcf320c70036ba95750ad15f4b999f0b9c9562cc1399473e221bfe159cedf0640d14de8f54905581d02132191c5fe52d278070dce01fe317122039a322f1ba5c0804aef63520c09471c1572bfcb228005581d02461e6f6a79f5d8c22297d0af4fbcae5da77b3b0e7df4a9f6bba8172e0c182e48017951e7eb881626039dbe1d37c87ee4d62343a3fc29b3c0e02a8382842cb80e33a9c412ffb6731f710308347441147ae4842238594420bcd2cd689dcd200a2cd750ec745f11fbcee97305581d025acc1a53cc8b079f5fb634df72342689b01d7c7fcda948ce0a69819507011bffffffffffffffff05581d0202801696a5d19ee11068db110150d261e9be572b54ed0adf97848cee04020219904403fde003e9c97c0866c3208c422dca21ec29ae13b9a75f3537b38388d57098916605581e037367f3812ddc2b3a8d468a303e777aa806ff8658d133ff4d89a2836fc0084804daebe9fb7fb93003b6d4c5add3bf1d7fe64b217fb80c091cd206d66962fcc063f8a57de1f495bc7e0219f40f03c445d8cf0b9afa29724487c143d1f08f80a1cf8a896bddfab287ef406951dd0a0371c4f59041534236e5661510ff1b7c94532cb612ba7d560a4860ea0e18784d0c0315a5f3489016623f2f38cd4d45016fb52ba2d163fff21b9a02a6eef0c3afe0380388f8831ed685bdf01afba5884a60b66fec65a64c2b779c1ed1f297db2b76561e0219ffff035bb631a7f2a4e9f1006b7c25a7078fdc422da671e1e1b59859c1f2ccedeb44cd03ac63614373b754afb63d97e53750b019ff13206b85c28e1583679fc83cf00f730219ffff03391147220886bb437652343f983fdfbbd39779a6a4d04b4942475bcf6a436ca603d6aa38ca77c3a94d013dff03ea7bee53a085d913291263a5009172afe6b56b1e0370486269db7b4a51dca0337d397fdda7e8d22a52d795951337e17f1787b9ab9c031cc541d90ab7e55b85da4c6742edd06c9f07a852d11dd5cd5b5f5afca822394d03ffbcfb35ff77f5e53a8aab1ccb48b74a1a2d551e74b9e4fabb53c32e3f6f6835039ab1084c72d65d352edc4fa219b2164550ddc31c9817895937e354f194116fc00312a16e7a20fd12826ea5d0ee7bb3880a76d5918ab0b224454dcf9b4290d5cb8e03ebb62f9424295dac217961407e8756af3c0a48f64c0c6bff7595104ef6292ef70316669e717926e45190e0cb63125a682795425770e96e3ef50143f606269416a6037b6b47867a75be37e372c5a7e4e7f3dc21696f6680ac064e55c4960db3e175d50219ffff03c74a003a87262b990e2e4ba927bd2391a39859ec00f1736f9635bfad567f36b103c29a1bd74f4aeb713bd2fb1709fd9afe1d630dd3d310a5362c311e0d6c0fe9ff03c1e4a9ce08b40c8c505e17e5b29a80516568811a989c340ef034f083e4ddb7da03ab8749e0f40862692d9db605ff92f1730ab99fbeb5a0bf7c3beae862f44b7c7603d4b4f3cec8bd601155aba60051222ead25e37a81bcff8f2498534857f2e3061f03f9c8e3b5acf3560640fae16bf7502450315dc5b70b8627f5c605f4fdae6139690330f73819302c86b25e5130c4d69e4f46cb331c0245d21deeaf9b1b0770e1a49a0356b0442c718e9e36ff6e30ae80601cba984d177719e309bf1085be01eaff5f5d0357a7c8ed3b3bda4daa0a86b41eca316c73f585e1516687fff030f95ea05005360343398fdb9dccdeb70cdae182411ba2fa99de86a7a720ed03f64e61647c77e231035af74416c0db4f968035e86b19e30d26965e405e721c55ed2af61b649dcdefe5030b7c8f92581e3d3c0013791d693ae187b242814bde2ba32a34c6e09583477f7a03824ddd0958f30c4e29b6e01e002ba62d5a1b5e278997261ecba786ac374cc19103409615139d5f1331c2cf65e09af418c852c34f5980b653b5a478a881a0983b2903df9ecd3b9f9b7b5daeed9b69c72fb7487a8374a97eec32a73dfc3786dfe115b0033c21b4a48609b12d2fb26d46285e281fd4509d998f38d54b03a35f2c256a310b0397b3e30f794e395c2261f4ff47712fbcfc81dc25f079ceee63cdf6e769a2972d035622e7caf0c65fca579fd29f9e9ffd8a611e7c3ff787d06bbda3ac9df5146a8203ab0c4e6cefa16de104c28530de0ce31016f9cce84b6fabf082f60368643bf75303cb6b7a6b57f64f494e67cda2bfbbd8c23e4e16befb1928cef9d5d37ba92d963103e700b0f3241df5fcebdb2abe064bede601fd30904c09ed46ae524cf5bc32171d0383f757ada5ee5ef977c56a545754f16bfea24428154233783a2cab7f6046f1a603293ca071e30da7a680dbf0807a00b2053a4d7261e6ee6b1e57303e7bb4ea7fce0341a92e71dec0fc8f9df5e36a82cf519f8d0cd696a4d711f3517a07551fcd0ef003456710c0b73f07282febaa3abc4dbcf16774bd54df8d25b3c03026a0c508df5503818260836bba555aab4d35f86ae19f1cad7f788dc9e6d59a3680be8aea51c25403bd59750fe6abfc5980be3913e760d531294aade99dde354b2f2d19b51f65968d031fef9f4d5942013b8eab5faf7d42833d96522f13c6fb3c4a1b53a5e3c8dbff1a03e1bfe28ad6c00769deeaf7ca41c4d0ca495d4439a885e44d73dd883e2c16cf7c03d8cfb9dc969f2d4bb9fe9f0d0e3cfb655b319870827f24993c66c4c999eac61f036e5c87c2bae1a075f3b316cba8ae33976740120dc0869ce603c5f1e8447ad99203798c532bd66aea1f29645b602a7b861a81e48066f6b9e4caa5d42b141241c6bc03d326dc22220a372965c72a2140ce5f745c96e59925ce9ec7c5711619f55a553a03b3fca4421cb3ec417f469305cd6b8da7135224bb7c49858de2c018e59b7a38d503a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03eb2aeaff2e72d9049967d4c96885f351f7b1d97ccdf78db78fcd2fd600c10abd05581e035058b307ed1dfefa59a0bb179c90b35a42e17f81b45902c5b11b94554007011bffffffffffffffff05581e03837e22d9e172cac897d88303a3efb6d07c53daae58d094b0a7afac1db00c0346650fee2f09cc03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038e1c0aacf02f1f0a7ffd4a2d15b3c5f75589af2337b69892113b07938007011bffffffffffffffff03e53d0be954c067e7833372d62966695ac203e6d008aea907ac9da52600d7c53c035cbf0a35adb2efbb6d2912f0f68d17ab0a8decf182f28e421c73335ee8814ddf05581e0373329b4d07644765cdd7374ff75196c9926d2ec1cb38026f86ee04b1400c0544cae01f0b05581e039084a3b02b9be2337947ab29dfdc0fbd1111b2e1ce3065248cd444a2a00c01472923f2da7fc00005581d02fc60efcf680c88b02ac7407ce5197f4fa831c701cb571aef78d8b4950c014634d1a5979d1005581d020d929de6e4fc4b8b792b2aa055d17631990eecb14b5e28c7ce714f1e0c0746344fb85a820004590645608060405234801561001057600080fd5b50600436106100415760003560e01c80633fe317a6146100465780636a93856714610174578063d6354e15146101a5575b600080fd5b6101726004803603608081101561005c57600080fd5b81019060208101813564010000000081111561007757600080fd5b82018360208201111561008957600080fd5b803590602001918460208302840111640100000000831117156100ab57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156100fb57600080fd5b82018360208201111561010d57600080fd5b8035906020019184602083028401116401000000008311171561012f57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955050823593505050602001356101ad565b005b6101916004803603602081101561018a57600080fd5b50356103a8565b604080519115158252519081900360200190f35b6101916103b9565b60c8821061021c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f486569676874206d757374206265203c203230302e0000000000000000000000604482015290519081900360640190fd5b8251610100101561028e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f544f4f5f4d414e595f4d45524b4c455f51554552494553000000000000000000604482015290519081900360640190fd5b6040805160208681018252855186820193600290910491838101916000919084028901016001881b5b818710156102e8578651808552602080890151908601526040978801979094019390811092909217916001016102b7565b60208481016040528a0196506002891b10919091179050801561036c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f494e56414c49445f4d45524b4c455f494e444943455300000000000000000000604482015290519081900360640190fd5b600061037a858789876103c2565b90506000818452602086019350602060408602018420905061039b81610566565b5050505050505050505050565b60006103b3826105d6565b92915050565b60015460ff1690565b6000806103cd6105eb565b9050608083111561043f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f544f4f5f4d414e595f4d45524b4c455f51554552494553000000000000000000604482015290519081900360640190fd5b60208501604084026040600080898201518b515b60018211156104e05760018218604060208209888601518160201852878787086002909404858f01528d8401519395506020830192828514156104c657507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201918589018888880896508e87015194505b519052506040600020881683880152858584089250610453565b9290950151918b525094505050848314905061055d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f4d45524b4c455f50524f4f46000000000000000000000000604482015290519081900360640190fd5b50949350505050565b600081815260208190526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091555460ff166105d357600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790555b50565b60009081526020819052604090205460ff1690565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000009056fea2646970667358221220ea74c2184d65f86578679925804c507ed2cdca75f67dc2c7d8c3884e4299dad864736f6c634300060b0033032c7299840e5d283ded5fdea02d7dd6fa25a5d88410c45fef3b98dfbd297160fe03aa06e879b70bd8d399984670f0d7e2f38d07a777a2687b9466c0d7c399760d05034ef9433a1836b157d49f0ed21c1b7a8ef8c8f0535982ba99f5f7166325889e8e036ad1820dea303c10da703c645373693ae20524e0acf0078c00f93bf2669db12a03c78e403c6487463171d78872113cbfaccde976f4a1d44d14d7317cc89f3a2ff903c220086d6584f7d6f9808a45a56223383a7ed536a96f57085774355af25fcc0a03a7dd9e4ceec976a5bc0afd69102dd836477c090ae8d53a6aee4e60e5dac8763f039986cd991276b9d85cab7a544ff8eeb92017c843b830e366c3b33f09d4bb427b03444af60932b74ecc7d7d1ffcaf5f283bced2a5c084e1bfe4e148969c550bbfbb03cc85dbfc42c2e24e9bc55eda649c1ed62500773b268cf85f3043cb449b314c9503c1689a53819102641586edad8481ed1ecbdf63dbc0941b120dd37eb9e2c0600f0345015e0a3f7a869a981b8de453680d469e733ab5a737f2d3633b8713a330ead9035c3981db0aabde263d7f452f2fe907ecbf21a8287c2917f3d97f03471714be170375e36eaf4a7f684c9ada063054c00e321de6acb0c2298be2812bc643ae7304e1033ede41e9c6eef959bd8eaba8d188015dc3d397cf24d6489d44513a1712487ab8034b3b50d7576428274bc4cfd8e929fb5c39a121112179828eec79194c025aa3bc00581f02ffe686778b6f547d51f52bcfd7c77c5e3ab6288b42b713cad97e2d213a03410103aa535ff0b807f5b59239ca44d4a68714a4fb7bf4a586c43d2611a41849a12bd500581f020d5370eab80048fb41b111ecb4c8f2e82fdede6f0bf97f8e6fe36f636e38410100581f02ce4e162a6f8d5249ad2a38214963f4e1b4a9ad7b09c8b30b6867d89c7b86410103321aaf15fa94a599c1da9b05d8741c87d6a0a4608239bdc06f9dba570a7f7283038a0d7758c6642978333cd008addf533aa2e19c859805c37f5de396a64896bd6800581f02ca32c7835d2b7d166f1a205473228b5cc9d28771db1aadf910721d8014b6410103d6cf1f01814e46c6744605fd7d4be5aa53e91e3c18b91a4f09761e5995aa662c00581f02cfcc2b7d0e24c6dee811510dc1576a9044c73179e87fbfdf736258b1adf8410103deff0b00ef0485e2e9ee320521d234c8768bcbd9c7ac8a5ac2509cd28be4c9da00581f02b75148fe3769b425b92b51560acba4ed84527cc1a23554b913f06a2b6b2341010219f4f703168adbcdc7069a20b379ec5dd64768f7db8773cfc28c56864a183342252d436a0337d45d77939ae7aa0ed5d27718370f34e69149010db416e929c5a7eec428e0c703d11d4a34696455ff253a3fba253be91f5c3f24cb3a82dfc3cc5dab658aa710d9036fcebe542154482bc9892ed2e6d9cb300b56a34c67fd07319f99c866789c4a900359c088cbc867db94af5a248818f98c11c143500167367d74d7f7d7520e23a15803eaf8463040265366a3797cf7b51e9defff50bf5971f650d75bae482581092e9903e285e0b3df7c49802f5224e127bc85f9cab13b2c3853c290a14e10ae9c17adb403ce772af3ebf80884283f46d389e8e1823455296d3957b6937a32e1d2290773a503495a24cefbbc438e238a62f0783bdd644f3d303fc0ab56f884674f0dcf20127f03bf3aa12bc93186ee40f8d3409d86993a4af830713ab503b13d0372fef6598ad80219ffff03596adfd4ad4ea5c4d01b2748864ea80e05cde3eb7eac6bb8f71b62fd54cae16503ad10020742b6a30608b55d5c28b7af4a649c96ca2d2aa12a44a77568ada8a22a038dc37bfa29b2c37c1741dbda4de24588955d934467fe3b466efc221219a4d55c036f865e013f253c33696044cb0cbca5021e46b5337430342eccf1298c1e33be5a037c19350f9e5d8eb74bdc4e82e788378bfed3c16ce5ecf82056ca914aeb380a5003b6bbcdfb504aaa45a70e08c1631a372697e0d3ae30ca1b6ee309d95b320090d803fda58e731c8c9e9c39f0e931c677ba0dac7bfe0ef40353c90c4c118b36282ac5030a57ebfc41321e09e4fb29bf495823ed782f4cc6c3caa11ca5ff9a7a8a7354c9030481e06d76575c1c71d8000a6972b11aa47e04938ad1671a386a309344deb9c903bdc5e0c9d3a08292bc8916e834d7fc46e53fd6c448ac5864c0b9d1258475d3db0219ffff03a88130af690406dbde7c986fc6d07764d15387b25607cd098c6e379470f0c15203352fc24cccf75855b6ed2dd7107a8fb639014fcfffd2cda228d525735b87546503dab1b441bb1a630a206dcbb1e9c56396572ca06255f112f78728dc349524e0b703c561dadec78acfff29c48abb9d48a553a2a7940703d439bdbdd98eb9b3c9c64503a812418bb253afbdb13ec24f2e19fb13b467004d79c3398683293d0b1477162c0333ed0f8cc42b6e953f5dcf94869bc618844092f3730355fc8b64874f5670f30603d8ad4b800cb63586114769ce024766d76d9315ef45e847fea9ea002e3ec900570357769cfaa0137683d25f5ce0fe52dd468b1dd3ed303939360ec031a4e68bf45b0317464486f3add89dcbf2346bd02a92d220e0db35bbd28426b6b6131cde3b4aee03210a17b97f6d136e2f4016fbecc7888ed2a6d580c66c9840b6ce149ccab268fc039a06356081d8d50c0682e38f3b8387c3c64cac43f6e38db785621d300c550c7203ed074aeb31a34ac0818435f283a16da6939d0ee2b7a9c3f980255ccfe56232ea03ddb0769ecf4588449037b2decfab99d00caa1fb4b4e4cd9448da1756d342201300581f028c9b81a32080daa3a705c4accce4a55fdeae28376c672ea60d78d67fa76b410100581f020d18172b3efbff5a3c874c4b36532d750c460b397f003ae01111fd946ef6410100581f0207d953f2cb5e413d218095ef69e0c6a48759ee19193dd1acf7ad075b9042410103f6544e93d3916fcd288591b1d74bdf9a8e750aa1536f6c71edad2e4de6a3fd6303163d31ddb38eb6afd1d65453d5248e1eec057549fb5e8224d84c216ec4ca037c00581f03885e012af82acb701767f52f92a5ee5f2e5abf3a0046e8318a2ae08df640410100581f0333ec8f198e1b284e76477c107f597a24c28e9103fff2b0b8b9f5f6a5fb8041010219500000581f02e23da6149750ccfb06668a073e5dccefcf0f7b9af9a2af94f72789f2e766410103e0f6d63e22c62c28a300236586581d95866fe9f362de703bbdc4826fe389ca8200581f028eba749ebac987d779371c0eff3c8fa3f461a9c91821c13ef388667dfbf841010389e492b5d316d0c66768c89e1d39ed99bb27050e59bd580dedd3ae00b146014400581f02db3cf159c32061c3c9054d1b0bf656af543c92fa3f1fb54c257027637ae441010219fc3f03c16675ae0402c654fd568e6885cb1590f25df4d93daa59839f902f9413d86bdd0391296dbd4c78d5ae175682eb26d187f817069ba0e09fdb9ef69331f3a0611d6e03ddc0342f4e1359fc700be3fa30f2f7d2d9368a2c645bdc7a3f27592cea63ea2d032b6a7d006e535728f8955262091d8f16378625151cd36f1da841065bda1deebf03d1292c6841ea1e8fb5a5a9125061284994db12204c7f7e1b1b751d20d0104a5e038efdfc26ab708c74a38e9c6bf891998fdb3e887ac7c56b9dd12dec0972c4a5de0328fbb0f9c6d0477526b24590990899f85844ba2486235b5f034892a70a45c5a20366e29110567b8f7154996ac2d4abf529bb35e4eb90cecece4feef57276bf1fb303f456efd47b43bc955b78ab3f3df90f7578c073d4210cabfb3caa8e67144c688c03eb1dcdb4d25debe9b9d9c63b1f0547369b13d29e0bf7d560f115b2b9707547ee036524eaaa598f709485664173add848c4faeb81791db9b0cd73c65345317fe55e03fd4f545219f84457ea90cf2427f3545d71b5dd4c263f5c861ca90ebbb2df55f6030664b7ba280cacd664c622379be3715ede83cdb5bfc603f3f3290f0287ff64e30219ffff03321783c27ef0cad33058bc6cff3ce7161e26f2d638edd085ccebb244ef60cfde036ce34f3d696beb4f5ea76d838c9990528052848dc79863a1ead563974db4f566033ca6968109c1943d50412564925d3e261d6fe5766322819142428d914961f76503bcfeba53f2e600c356527c41d54c518fc5c2479e44dfd6ea054f6f401f2c2554033fdd8288212a9e49b0c2286158f4dab211d93c7acf3c4152760d9f10a4e837b203caaa1d07cbbad74966d9527d6ef142ae5ad1116099aef48d6a34abcb6c0b7707038f05ca49814fe7dbd34f51289b50234146c2884531d9249c75010203c087ba9003cf1fa69e62d9a458c3792c9e1f148f373b538e2ec63647ff73ff66c7e6ed7054034bae10eaa8299d74499a8ba9e89a7c94054f59b0341eb3011ede52a269f1894a03aa0d9b45629374ae47a4b58b22f7f94a3a444a7528b37e6e8356b27069119fe503fdec3e137b470c519a446b4c1be23a0b4c42ade565860d3514c2dc8b087320fe0219ffff0316a4cb17ae5da500f47a69a57afc3e88655e0f55fa337d0d5522ddd20b58f2530361ec1d8a3ff55353c491ca33059232c6b9b550e5e5ac1d3ee73a73a40e97111403bde09129b9c4ca39a36113fb62b3bec7797c0ea232e2222dbef15fcec806c4c503c245f966ce623537edc450e418fea48e40d6a6e0b074f6f825dea2f17f8b2e2c03c87d98bffcc2cd578797bcf4822012071a70fba768c46da77385c14042a17e2b0386d23c7745c4440d288ec77381061e57a5d9577d39ed1e3eabd4c921af8d837f036602a6f827432fe9d4fa56583af1c2ae898b63041b18fd70789f4452d6eabfef035845907bda2364d458997adaa033252449d9b71a2744c30c6087fbe4ea974cd603b724f8da07cdab63360be463a08a57d88910ccfa3dbcba2c0dd85906399114d2038efadc47997200e88686beab80ede134370264a2e885c51a9a5f110413e60eed031f2c5635018a3d67b059809a5eed9a7a7d4bddcaeda496b7a7f31f8c40004c0c030339e55d1bb1ea7fdc6a4bb824d1d67d293f10a589a3c874f8032aa19345f1650376b574c3c4945dcd31f111cafba8a48c1a33ca123b0c9a638266f6fbc8b85ee103ad05a08b6e82a29cf3322dc3a744e7ac80af4fe9a8abbc3be5a2a2729d29ed2100581f029ea9415ac14cd1abdc4deb6df0e15cb74bda071695be8dd2b7eb7774ccce410100581f02cc401ac1f9eea31fb318cf0c857b77e5f69c31bc33831f5d12493d119dba410100581f0239afd7608a419b8d4089b93c1b2842b06a722ccbbc43847edd582d518d05410100581f028af4cfaaa18ed3146d728b413126a252991cf433d8bf9022f90cf41edd15410103b83de3fe30932a76ab9ba0427244a831d3bae9bf234b9098e1ae313d027643190358d884ce6b485e3c3808ec6240547ea7b6cad6feb9611e91881a4aace14156c603d17644c8355148ed87390c839f4b29b7de1172f586a9c50a804a558617d0593f00581f026632f103efa0999fc3beed65387398ff285b45a902f36bce4caf56da84ca410103b6317771ddf91dcb6ab77d085a0878abc7ad512b38560ce793a2478c0fc1ab98034de841c6ef7e3a554ce5c5262ccc7603950abd74d0383eda1f9e04124d9349fd00581f02c116cbaf3ac0402cebf328d904bfd2d128af7304a1ef6cdcdcd13969516e41010219d1ef03c1288ff206dd66309db6145e446168ee163c663cabe20b503a8046c5c1e215ac03e43dbc133262af2ced7ae5f877e8bbcd5decf18a3fd51b93787b80647bc43006035366fad45b06daa16a5d47b8fb820a2366db3763f389607621868d109756625903908733030b580bd37194e11fd70dc86a004fd8f05960685bb68a6229322722dc0337d5fba3beae5457af06b07ffe7cabab2a5b228b713a2075d7179b7dd026a98e03f96f0f574ee5d5503518beaa6b910f5c25b038e059fba376aa9000dc2f5d06ea034ee145ed262e9f5558f4824dacca9b4e210e3b2fb4288bb632db8fa20cc20a55036c1d863372a13a5690998e3783729222545e9a839eb7e85ed0422037ec366e37038e7e85f50d0c26cf8c73615cf4416bd86319baa171fb971f0cf67c1e34a5722e037426e32638fd53910e60c36b0609ff163808cfe78bbd8b192dbe3582ace245f503768a67109a6a5b689b0a045c58676b07b6c4eccbfc95316e561acc2288649d9e03121fe1852322f6907d3c8ab082425b6e60bb8c97e2163dd19515d6f0502afdf30219ffff03bf494a00a1c1d0b7387fb3f55e3d2a17a2f7d6b1d31311bfc3dd4f3b4eb9ddfb0398e22a73481b1bd1bbac52c2e00769ec6068cb4f01af2f67024eeef64b287fc50378941111af732905cfa312d66be5e2780e534316e5ae20c58452f64ed185c3f403f9d23c094ad10544fc17db4d288adf93e5cc91954189cee165f88d8b9171e3310304c84c9f7116531055f110cb23310a362d71072fde46bbe90a9ce486d419f7a803fdcf01f8ff81cd6f477b1619d40d770a6acd079fd55a9efb64d5354b782e52420219ffff0219ffff05581d02431c8afd5a6c6af7f4fc5443661f7a57338c070e86d45fdf17628f52070119064502194440030a8e1c43883c61683457a28faf95dd45ff107c4806ff09e92a8e65b16c8edd2f05581e034b8fc61ee98f601f8c98d5fe569f7272dd67694370461412c032f670f0040103b1ec43c4fdc4a5ff8827aa96711f1768e1c623dfe27fcbea8aaf00bc851deb1d0219cfad035da7df64f01da68a7e379d9499b333494424d5fd57b50999015fead6c5b60e140301cc561a996db2de6586e5dea147b12f87f11ca5dda93ab7f38a07ad5063c40203d83a86933b84d8ba94a33248865209ca6623205c986e34694bcbf55272d3569603f9fe1546eaa877767d93c4324b57a064425375d76502538e9cf145c45c2cb96a03dacadc94f1f0608d93c4b612eb9254bf8bc723056de0b9e41ab06c02a6400a2903c56a9665ae2c97f46f3b04c634cb3869d617b62a5f4154a096df4bba5ea2a7280219ffff0363bb40bf1d94da2abc8fc139f68bafa51d2cac35dcc7771833be3923c6071401034a5f3009b49eb48fc72fbfcfc5f06dc4a051dc8877349f92158f6474acc34d77031853603fb7d24aded6af87d34abf7c882cef26b97614851ee7f40f51fdbcd1e903996cb9b68a95c54e97d9011d9df011d53c0a60843efab70fa780a5dda121b09b034721820b3f88cc57d453fba4729454d18181db1859bd60d911a0c20965a6a0600380b8970f9df15be6fa673bf13a0943ea6db1c4eae17bfbe280af5a4756f0fc800396da3762fdfe8fd21e7e44824c2b18b8008809cbf4559677f6f325b1dec7da2103b6e006fd336cfe41a3ccf75aa2d921803051e9d1c05d9d873a5a9bf9a2e327af03efa5f2871663db6512ffc0e259134e83609e9b4df2ec781e0afedb244197a87b0219ffff03e1c7509e63993cb5f668cb22f160f8e43ee02fb2c2c67683bb8012fc87ffc3fa036cf0ef036449887feedf55e6bb019832dc16139e18c199fcc02e835aa7aebdb703eed58f6b9c84b7beaabbf5ae3182c138140a89cbf639afa5b2925e31958f2a34039830768b7599478c6872df05d6923eb0730e3176ef7f75b17e08f36b2bd8e92e03d30b7bd1b2ffdbfddfb568c40192713b07af659c761aae1f0c86515531d268d403c7e84d4de9f903a1c92d5f47cea50a0f2c0c02c62a2f58224e9694e8336afb7403574d541ab8811094b458bb6b13b161d4292c52ac49a88305fbfa52db81a6c37003c3796cf36e37e9c61d5cb3fa37a0d81dd6e41d143cd693bb85a879d0b3f9730303ce460f90912bc3dfe8ab7829259131f0236d97c92ba702b3b2ca62826a3ce4ea030412cdf1e2d0f555e703fec212b81ccbfa3ba8014bcd86202689f9cbbea8cb1e036a7d94cb06d627261f289812bbaa537a676fa6d39096f7a39b330204cbc62d83033e582fc98f637b2afd5dbdaf7411b6aa9a5af7618c1ab352f25cc578c994021d0301b852abb6b7ca9c66fa3e73bc84f082dadef07857ed3dbdf24a16ec196ba52503b63865f13e0b437a3840d1986b3fbc7ac0f3b88e91d569e9a07eb66f29ee2b9603f9f3b266a739ca3c326865f3da13517a1f8da914467d32abd391c6b409a6557003e18a7aba195b93c3b0ee7ad93aaae3dfcda8be29eb642fd9ee620dc073d6c55803da04a1ea7c429968ae30c54a645682af7549f63c9b19f5e7be52fcb0f01321af03b65977bee9e530be65311946a4d62f73408b6bc4a418091f186f93821ebfa15903bcefc28489cdc9ce5c872871fd243e05c4d9ee5931913383b963dc4f90a111a703214b54c666a6d7b04ce0db12a4ccec20bd146d0070c3b85417a5bc1d84adefa403c641e85e109e361a86a8cecad213e2bfda48aa0ad90b1ce7ccd30dc979280cbf05581e0324c6fe7b2821562b9dc1abab4854e6632338b44a71228ebba7e52d0d20040203f3d4b76c03a8f3c433dfeb97b065421c3c79098c680e112cd4c33495f7bfbf49039b9fbaa232716ecfbdcbd8492a5a5929d3518cbea43169cddc7d4ab34a7da66305581d0203f15dc9d7d82ef05e25b9b6fa0d5a9807226bd712c6001c8b245e7d040605581d02c81237cd212cba2425509e08ee35af6142813e0306fa9db6a514470e0c014740b4adff1b7f4004594a93600436101561000d57613b96565b60046000601c3760005134614a8e576398094be081186103e4576004356004016020813511614a8e57808035602001808260e037505050602435600401600a813511614a8e578080356020018082610120375050506044358060a01c614a8e5761016052600654614a8e576084356064808202821582848304141715614a8e57905090506101805261016051600255733175df0976dfa876431c2e9ee6bc45b65d3473cc600355606435600b55610180516007556101805160085560a435600655336001556000601f610200527f43757276652e666920466163746f727920555344204d657461706f6f6c3a200061022052610200601f806020846102400101826020850160045afa50508051820191505060e06020806020846102400101826020850160045afa505080518201915050806102405261024090508051602001806101a0828460045afa905050506101a080600c602082510160c060006003818352015b8260c0516020021115610183576101a2565b60c05160200285015160c0518501558151600101808352811415610171575b5050505050506000610120600a806020846102400101826020850160045afa5050805182019150506006610200527f334352562d660000000000000000000000000000000000000000000000000000610220526102006006806020846102400101826020850160045afa5050805182019150508061024052610240905080600f602082510160c060006002818352015b8260c051602002111561024457610263565b60c05160200285015160c0518501558151600101808352811415610232575b50505050505073853d955acef822db058eb8505911ed77f175b99e6102405273a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486102605261022060006002818352015b6020610220510261024001516102005263095ea7b36102805273dcef968d416a41cdac0ed8702fac8128a64241a26102a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6102c052610200513b15614a8e5760006000604461029c6000610200515af1610328573d600060003e3d6000fd5b81516001018083528114156102a75750507f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6102e0526101a0805160208201209050610300527f572f01d824885a118d5d21c74542f263b131d2897955c62a721594f1d7c3b2e2610320524661034052306103605260a06102c0526102c08051602082012090506014553060007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6000610200526020610200a3005b63313ce56781186103fa57601260e052602060e0f35b63a9059cbb811861043c576004358060a01c614a8e57610160523360e05261016051610100526024356101205261042f613b9c565b6001610180526020610180f35b6323b872dd8118610510576004358060a01c614a8e57610160526024358060a01c614a8e57610180526101605160e052610180516101005260443561012052610483613b9c565b60126101605160a05260805260406080203360a0526080526040608020546101a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101a05114610503576101a051604435808210614a8e578082039050905060126101605160a05260805260406080203360a0526080526040608020555b60016101c05260206101c0f35b63095ea7b38118610588576004358060a01c614a8e5760e05260243560123360a052608052604060802060e05160a05260805260406080205560e051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602435610100526020610100a36001610100526020610100f35b63d505accf81186108f5576004358060a01c614a8e5760e0526024358060a01c614a8e57610100526084358060081c614a8e5761012052600060e05114614a8e576064354211614a8e57601560e05160a0526080526040608020546101405260006002610400527f1901000000000000000000000000000000000000000000000000000000000000610420526104006002806020846106000101826020850160045afa5050805182019150506014546020826106000101526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96105405260e0516105605261010051610580526044356105a052610140516105c0526064356105e05260c0610520526105208051602082012090506020826106000101526020810190508061060052610600905080516020820120905061016052600060e0513b116107095760e0516101605161018052610120516101a052604060a46101c03760206080608061018060015afa5060805118614a8e57610869565b600060a4356102205260c435610240526040610200526102006040806020846102c00101826020850160045afa505080518201915050601f60016020820661026001602082840111614a8e576020806102808261012060045afa5050818152905090506001806020846102c00101826020850160045afa505080518201915050806102c0526102c09050805160200180610180828460045afa905050507f1626ba7e00000000000000000000000000000000000000000000000000000000631626ba7e610200526102208060406101605182526020820191508082528083018061018080516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f820103905090509050810150505050602061020060c461021c60e0515afa610856573d600060003e3d6000fd5b601f3d1115614a8e576102005118614a8e575b604435601260e05160a05260805260406080206101005160a0526080526040608020556101405160018181830110614a8e5780820190509050601560e05160a0526080526040608020556101005160e0517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925604435610180526020610180a36001610180526020610180f35b63fee3f7f9811861090f5764012a05f20060e052602060e0f35b63f446c1d0811861093d57610925610160613c25565b61016051606480820490509050610180526020610180f35b6376a2f0f0811861096257610953610160613c25565b61016051610180526020610180f35b63bb7b8b808118610a7257610978610260613c25565b6102605161024052600b546102605263bb7b8b806102a05260206102a060046102bc73dcef968d416a41cdac0ed8702fac8128a64241a25afa6109c0573d600060003e3d6000fd5b601f3d1115614a8e576102a051610280526102605160e052610280516101005260045461012052600554610140526109f96102e0613d60565b6102e080516102a05280602001516102c052506102a05160e0526102c051610100526102405161012052610a2e610300613df8565b610300516102e0526102e051670de0b6b3a7640000808202821582848304141715614a8e5790509050601354808015614a8e57820490509050610300526020610300f35b63ed8e84f38118610c85576044358060011c614a8e5761036052610a976103a0613c25565b6103a05161038052600b546103a05263bb7b8b806103e05260206103e060046103fc73dcef968d416a41cdac0ed8702fac8128a64241a25afa610adf573d600060003e3d6000fd5b601f3d1115614a8e576103e0516103c0526004546103e052600554610400526103a051610240526103c051610260526103e05161028052610400516102a052610380516102c052610b31610440614065565b610440516104205261044060006002818352015b60206104405102600401356104605261036051610b8c576103e0610440516002811015614a8e5760200201805161046051808210614a8e5780820390509050815250610bba565b6103e0610440516002811015614a8e57602002018051610460518181830110614a8e57808201905090508152505b8151600101808352811415610b455750506103a051610240526103c051610260526103e05161028052610400516102a052610380516102c052610bfe610460614065565b610460516104405260006104605261036051610c33576104205161044051808210614a8e578082039050905061046052610c4e565b6104405161042051808210614a8e5780820390509050610460525b61046051601354808202821582848304141715614a8e579050905061042051808015614a8e57820490509050610480526020610480f35b630b4c7e4d8118610c9a573361036052610cb5565b630c3e4b54811861125d576064358060a01c614a8e57610360525b600054614a8e576001600055610ccc6103a0613c25565b6103a05161038052600b546103a05263bb7b8b806103e05260206103e060046103fc73dcef968d416a41cdac0ed8702fac8128a64241a25afa610d14573d600060003e3d6000fd5b601f3d1115614a8e576103e0516103c0526004546103e052600554610400526103a051610240526103c051610260526103e05161028052610400516102a052610380516102c052610d66610440614065565b61044051610420526103e051610440526104005161046052601354610480526104a060006002818352015b60206104a05102600401356104c0526104c05115610e8b576323b872dd610524526004336105445230610564526104c05161058452606001610520526105205060206105e061052051610540600060016104a0516002811015614a8e5702600201545af1610e04573d600060003e3d6000fd5b6105c060203d808211610e175781610e19565b805b9050905081528051602001806104e0828460045afa9050505060006104e0511115610e5957610500516104e05181816020036008021c9050905015614a8e575b6104406104a0516002811015614a8e576020020180516104c0518181830110614a8e5780820190509050815250610e98565b6000610480511115614a8e575b8151600101808352811415610d915750506103a051610240526103c051610260526104405161028052610460516102a052610380516102c052610edc6104c0614065565b6104c0516104a052610420516104a0511115614a8e576060366104c03760006104805111610f1f5761044051600455610460516005556104a05161050052611165565b6006546002808202821582848304141715614a8e57905090506004808204905090506105205261054060006002818352015b6104a0516103e0610540516002811015614a8e576020020151808202821582848304141715614a8e579050905061042051808015614a8e5782049050905061056052600061058052610440610540516002811015614a8e5760200201516105a0526105a0516105605111610fde576105a05161056051808210614a8e578082039050905061058052610ff9565b610560516105a051808210614a8e5780820390509050610580525b6105205161058051808202821582848304141715614a8e57905090506402540be400808204905090506104c0610540516002811015614a8e5760200201526105a0516104c0610540516002811015614a8e57602002015164012a05f200808202821582848304141715614a8e57905090506402540be40080820490509050808210614a8e57808203905090506001610540516002811015614a8e570260040155610440610540516002811015614a8e576020020180516104c0610540516002811015614a8e576020020151808210614a8e57808203905090508152508151600101808352811415610f515750506103a051610240526103c051610260526104405161028052610460516102a052610380516102c052611119610560614065565b6105605161054052610480516105405161042051808210614a8e5780820390509050808202821582848304141715614a8e579050905061042051808015614a8e57820490509050610500525b6044356105005110614a8e576104808051610500518181830110614a8e578082019050905081525060116103605160a05260805260406080208054610500518181830110614a8e5780820190509050815550610480516013556103605160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61050051610520526020610520a3337f26f55a85081d24974e85c6c00045d0f0453991e95873f52bff0d21af4079a76860043561052052602435610540526104c051610560526104e051610580526104a0516105a052610480516105c05260c0610520a2610500516105205260206105206000600055f35b635e0d443f8118611483576004358060801d81607f1d18614a8e57610420526024358060801d81607f1d18614a8e5761044052600b546104605263bb7b8b806104a05260206104a060046104bc73dcef968d416a41cdac0ed8702fac8128a64241a25afa6112d0573d600060003e3d6000fd5b601f3d1115614a8e576104a051610480526104605160e052610480516101005260045461012052600554610140526113096104e0613d60565b6104e080516104a05280602001516104c052506104a0610420516002811015614a8e576020020151604435610460610420516002811015614a8e576020020151808202821582848304141715614a8e5790509050670de0b6b3a7640000808204905090508181830110614a8e57808201905090506104e052610420516102405261044051610260526104e051610280526104a0516102a0526104c0516102c0526113b46105206140cd565b61052051610500526104a0610440516002811015614a8e57602002015161050051808210614a8e57808203905090506001808210614a8e57808203905090506105205260065461052051808202821582848304141715614a8e57905090506402540be40080820490509050610540526105205161054051808210614a8e5780820390509050670de0b6b3a7640000808202821582848304141715614a8e5790509050610460610440516002811015614a8e576020020151808015614a8e57820490509050610560526020610560f35b6307211ef7811861194c576004358060801d81607f1d18614a8e57610420526024358060801d81607f1d18614a8e5761044052600b546104605263bb7b8b806104a05260206104a060046104bc73dcef968d416a41cdac0ed8702fac8128a64241a25afa6114f6573d600060003e3d6000fd5b601f3d1115614a8e576104a051610480526104605160e0526104805161010052600454610120526005546101405261152f6104e0613d60565b6104e080516104a05280602001516104c0525060a0366104e03760006104205114611579576104205160018082038060801d81607f1d18614a8e5790509050610500526001610540525b600061044051146115a9576104405160018082038060801d81607f1d18614a8e5790509050610520526001610560525b610420511561177357610440511561162a57635e0d443f61058052610500516105a052610520516105c0526044356105e0526020610580606461059c73dcef968d416a41cdac0ed8702fac8128a64241a25afa61160b573d600060003e3d6000fd5b601f3d1115614a8e576105805161060052602061060061194a566117c8565b60403661058037604435610580610500516002811015614a8e57602002015263ed8e84f36105c052610580516105e0526105a0516106005260016106205260206105c060646105dc73dcef968d416a41cdac0ed8702fac8128a64241a25afa611698573d600060003e3d6000fd5b601f3d1115614a8e576105c05161048051808202821582848304141715614a8e5790509050670de0b6b3a7640000808204905090506104e0526104e080516104e05163ddca3f436105c05260206105c060046105dc73dcef968d416a41cdac0ed8702fac8128a64241a25afa611713573d600060003e3d6000fd5b601f3d1115614a8e576105c051808202821582848304141715614a8e57905090506404a817c80080820490509050808210614a8e57808203905090508152506104e080516104c0518181830110614a8e57808201905090508152506117c8565b6104a0610420516002811015614a8e57602002015160443561046051670de0b6b3a764000080820490509050808202821582848304141715614a8e57905090508181830110614a8e57808201905090506104e0525b610540516102405261056051610260526104e051610280526104a0516102a0526104c0516102c0526117fb6105a06140cd565b6105a051610580526104a0610560516002811015614a8e57602002015161058051808210614a8e57808203905090506001808210614a8e57808203905090506105a0526105a0516006546105a051808202821582848304141715614a8e57905090506402540be40080820490509050808210614a8e57808203905090506105a05261044051156119125763cc2b27d76105c0526105a051670de0b6b3a7640000808202821582848304141715614a8e579050905061048051808015614a8e578204905090506105e052610520516106005260206105c060446105dc73dcef968d416a41cdac0ed8702fac8128a64241a25afa6118fc573d600060003e3d6000fd5b601f3d1115614a8e576105c0516105a05261193c565b6105a0805161046051670de0b6b3a764000080820490509050808015614a8e578204905090508152505b6105a0516105c05260206105c05bf35b633df02124811861196157336104605261197c565b63ddc1f59d8118611e6f576084358060a01c614a8e57610460525b6004358060801d81607f1d18614a8e57610420526024358060801d81607f1d18614a8e5761044052600054614a8e576001600055600b546104805263bb7b8b806104c05260206104c060046104dc73dcef968d416a41cdac0ed8702fac8128a64241a25afa6119f0573d600060003e3d6000fd5b601f3d1115614a8e576104c0516104a0526004546104c0526005546104e0526104805160e0526104a051610100526104c051610120526104e05161014052611a39610540613d60565b61054080516105005280602001516105205250610500610420516002811015614a8e576020020151604435610480610420516002811015614a8e576020020151808202821582848304141715614a8e5790509050670de0b6b3a7640000808204905090508181830110614a8e578082019050905061054052610420516102405261044051610260526105405161028052610500516102a052610520516102c052611ae46105806140cd565b6105805161056052610500610440516002811015614a8e57602002015161056051808210614a8e57808203905090506001808210614a8e57808203905090506105805261058051600654808202821582848304141715614a8e57905090506402540be400808204905090506105a052610580516105a051808210614a8e5780820390509050670de0b6b3a7640000808202821582848304141715614a8e5790509050610480610440516002811015614a8e576020020151808015614a8e57820490509050610580526064356105805110614a8e576105a05164012a05f200808202821582848304141715614a8e57905090506402540be400808204905090506105c0526105c051670de0b6b3a7640000808202821582848304141715614a8e5790509050610480610440516002811015614a8e576020020151808015614a8e578204905090506105c0526104c0610420516002811015614a8e5760200201516044358181830110614a8e57808201905090506001610420516002811015614a8e5702600401556104c0610440516002811015614a8e57602002015161058051808210614a8e57808203905090506105c051808210614a8e57808203905090506001610440516002811015614a8e5702600401556323b872dd6106245260043361064452306106645260443561068452606001610620526106205060206106e06106205161064060006001610420516002811015614a8e5702600201545af1611d11573d600060003e3d6000fd5b6106c060203d808211611d245781611d26565b805b9050905081528051602001806105e0828460045afa9050505060006105e0511115611d6657610600516105e05181816020036008021c9050905015614a8e575b63a9059cbb61062452600461046051610644526105805161066452604001610620526106205060206106c06106205161064060006001610440516002811015614a8e5702600201545af1611dbf573d600060003e3d6000fd5b6106a060203d808211611dd25781611dd4565b805b9050905081528051602001806105e0828460045afa9050505060006105e0511115611e1457610600516105e05181816020036008021c9050905015614a8e575b337f8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd97140610420516106205260443561064052610440516106605261058051610680526080610620a2610580516106205260206106206000600055f35b63a6417ed68118611e84573361046052611e9f565b6344ee198681186127ff576084358060a01c614a8e57610460525b6004358060801d81607f1d18614a8e57610420526024358060801d81607f1d18614a8e5761044052600054614a8e576001600055600b546104805263bb7b8b806104c05260206104c060046104dc73dcef968d416a41cdac0ed8702fac8128a64241a25afa611f13573d600060003e3d6000fd5b601f3d1115614a8e576104c0516104a0526004546104c0526005546104e0526104805160e0526104a051610100526104c051610120526104e05161014052611f5c610540613d60565b6105408051610500528060200151610520525073853d955acef822db058eb8505911ed77f175b99e6105405273a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486105605261010036610580376104205115611ff4576104205160018082038060801d81607f1d18614a8e57905090506105a05260016105e0526105406105a0516002811015614a8e57602002015161064052611ffc565b600254610640525b6104405115612047576104405160018082038060801d81607f1d18614a8e57905090506105c0526001610600526105406105c0516002811015614a8e5760200201516106605261204f565b600254610660525b6323b872dd6106c4526004336106e4523061070452604435610724526060016106c0526106c05060206107806106c0516106e06000610640515af1612099573d600060003e3d6000fd5b61076060203d8082116120ac57816120ae565b805b905090508152805160200180610680828460045afa9050505060006106805111156120ee576106a0516106805181816020036008021c9050905015614a8e575b6044356106c052610420511561210857610440511561210b565b60015b612216576370a082316106e052306107005260206106e060246106fc610660515afa61213c573d600060003e3d6000fd5b601f3d1115614a8e576106e05161058052633df021246106e0526105a051610700526105c051610720526106c051610740526064356107605273dcef968d416a41cdac0ed8702fac8128a64241a23b15614a8e576000600060846106fc600073dcef968d416a41cdac0ed8702fac8128a64241a25af16121c1573d600060003e3d6000fd5b6370a082316106e052306107005260206106e060246106fc610660515afa6121ee573d600060003e3d6000fd5b601f3d1115614a8e576106e05161058051808210614a8e578082039050905061058052612705565b6104205115612390576040366106e0376106c0516106e06105a0516002811015614a8e576020020152600354610720526370a082316107405230610760526020610740602461075c610720515afa612273573d600060003e3d6000fd5b601f3d1115614a8e576107405161062052630b4c7e4d610740526106e05161076052610700516107805260006107a05273dcef968d416a41cdac0ed8702fac8128a64241a23b15614a8e5760006000606461075c600073dcef968d416a41cdac0ed8702fac8128a64241a25af16122ef573d600060003e3d6000fd5b6370a082316107405230610760526020610740602461075c610720515afa61231c573d600060003e3d6000fd5b601f3d1115614a8e576107405161062051808210614a8e57808203905090506106c0526106c0516104a051808202821582848304141715614a8e5790509050670de0b6b3a764000080820490509050610620526106208051610520518181830110614a8e57808201905090508152506123f7565b610500610420516002811015614a8e5760200201516106c051610480610420516002811015614a8e576020020151808202821582848304141715614a8e5790509050670de0b6b3a7640000808204905090508181830110614a8e5780820190509050610620525b6105e0516102405261060051610260526106205161028052610500516102a052610520516102c05261242a6107006140cd565b610700516106e052610500610600516002811015614a8e5760200201516106e051808210614a8e57808203905090506001808210614a8e57808203905090506105805261058051600654808202821582848304141715614a8e57905090506402540be40080820490509050610700526105805161070051808210614a8e5780820390509050670de0b6b3a7640000808202821582848304141715614a8e5790509050610480610600516002811015614a8e576020020151808015614a8e57820490509050610580526107005164012a05f200808202821582848304141715614a8e57905090506402540be400808204905090506107205261072051670de0b6b3a7640000808202821582848304141715614a8e5790509050610480610600516002811015614a8e576020020151808015614a8e57820490509050610720526104c06105e0516002811015614a8e5760200201516106c0518181830110614a8e578082019050905060016105e0516002811015614a8e5702600401556104c0610600516002811015614a8e57602002015161058051808210614a8e578082039050905061072051808210614a8e57808203905090506001610600516002811015614a8e57026004015560006104405113156126f8576370a082316107605230610780526020610760602461077c610660515afa61262b573d600060003e3d6000fd5b601f3d1115614a8e576107605161074052631a4d01d26107605261058051610780526105c0516107a05260006107c05273dcef968d416a41cdac0ed8702fac8128a64241a23b15614a8e5760006000606461077c600073dcef968d416a41cdac0ed8702fac8128a64241a25af16126a7573d600060003e3d6000fd5b6370a082316107605230610780526020610760602461077c610660515afa6126d4573d600060003e3d6000fd5b601f3d1115614a8e576107605161074051808210614a8e5780820390509050610580525b6064356105805110614a8e575b63a9059cbb6106e4526004610460516107045261058051610724526040016106e0526106e05060206107806106e0516107006000610660515af161274e573d600060003e3d6000fd5b61076060203d8082116127615781612763565b805b905090508152805160200180610680828460045afa9050505060006106805111156127a3576106a0516106805181816020036008021c9050905015614a8e575b337fd013ca23e77a65003c2c659c5442c00c805371b7fc1ebd4c206c41d1536bd90b610420516106e0526106c051610700526104405161072052610580516107405260806106e0a2610580516106e05260206106e06000600055f35b635b36389c8118612813573360e05261282d565b633eb1719f8118612a88576064358060a01c614a8e5760e0525b600054614a8e576001600055601354610100526040366101203761016060006002818352015b6001610160516002811015614a8e5702600401546101805261018051600435808202821582848304141715614a8e579050905061010051808015614a8e578204905090506101a05260206101605102602401356101a05110614a8e57610180516101a051808210614a8e57808203905090506001610160516002811015614a8e5702600401556101a051610120610160516002811015614a8e57602002015263a9059cbb61020452600460e051610224526101a05161024452604001610200526102005060206102a06102005161022060006001610160516002811015614a8e5702600201545af161294a573d600060003e3d6000fd5b61028060203d80821161295d578161295f565b805b9050905081528051602001806101c0828460045afa9050505060006101c051111561299f576101e0516101c05181816020036008021c9050905015614a8e575b81516001018083528114156128535750506101008051600435808210614a8e578082039050905081525060113360a05260805260406080208054600435808210614a8e5780820390509050815550610100516013556000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600435610160526020610160a3337f7c363854ccf79623411f8995b362bce5eddff18c927edc6f5dbbb5e05819a82c610120516101605261014051610180526040366101a037610100516101e05260a0610160a26101205161016052610140516101805260406101606000600055f35b63e31032738118612a9d573361036052612ab8565b6352d2cfdd811861302b576064358060a01c614a8e57610360525b600054614a8e576001600055612acf6103a0613c25565b6103a05161038052600b546103a05263bb7b8b806103e05260206103e060046103fc73dcef968d416a41cdac0ed8702fac8128a64241a25afa612b17573d600060003e3d6000fd5b601f3d1115614a8e576103e0516103c0526004546103e052600554610400526103a051610240526103c051610260526103e05161028052610400516102a052610380516102c052612b69610440614065565b61044051610420526103e05161044052610400516104605261048060006002818352015b60206104805102600401356104a05260006104a05114612c8057610440610480516002811015614a8e576020020180516104a051808210614a8e578082039050905081525063a9059cbb61050452600461036051610524526104a05161054452604001610500526105005060206105a06105005161052060006001610480516002811015614a8e5702600201545af1612c2b573d600060003e3d6000fd5b61058060203d808211612c3e5781612c40565b805b9050905081528051602001806104c0828460045afa9050505060006104c0511115612c80576104e0516104c05181816020036008021c9050905015614a8e575b8151600101808352811415612b8d5750506103a051610240526103c051610260526104405161028052610460516102a052610380516102c052612cc46104a0614065565b6104a051610480526040366104a0376006546002808202821582848304141715614a8e57905090506004808204905090506104e05261050060006002818352015b610480516103e0610500516002811015614a8e576020020151808202821582848304141715614a8e579050905061042051808015614a8e5782049050905061052052600061054052610440610500516002811015614a8e57602002015161056052610560516105205111612d92576105605161052051808210614a8e578082039050905061054052612dad565b6105205161056051808210614a8e5780820390509050610540525b6104e05161054051808202821582848304141715614a8e57905090506402540be400808204905090506104a0610500516002811015614a8e576020020152610560516104a0610500516002811015614a8e57602002015164012a05f200808202821582848304141715614a8e57905090506402540be40080820490509050808210614a8e57808203905090506001610500516002811015614a8e570260040155610440610500516002811015614a8e576020020180516104a0610500516002811015614a8e576020020151808210614a8e57808203905090508152508151600101808352811415612d055750506103a051610240526103c051610260526104405161028052610460516102a052610380516102c052612ecd610520614065565b6105205161050052601354610520526104205161050051808210614a8e578082039050905061052051808202821582848304141715614a8e579050905061042051808015614a8e5782049050905060018181830110614a8e5780820190509050610540526001610540511115614a8e576044356105405111614a8e57610520805161054051808210614a8e57808203905090508152506105205160135560113360a0526080526040608020805461054051808210614a8e57808203905090508155506000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61054051610560526020610560a3337f2b5508378d7e19e0d5fa338419034731416c4f5b219a10379956f764317fd47e60043561056052602435610580526104a0516105a0526104c0516105c052610480516105e052610520516106005260c0610560a2610540516105605260206105606000600055f35b63cc2b27d78118613073576024358060801d81607f1d18614a8e576104a052600435610280526104a0516102a0526130646104c06146ad565b6104c051610500526020610500f35b631a4d01d2811861308857336104c0526130a3565b63081579a581186132d6576064358060a01c614a8e576104c0525b6024358060801d81607f1d18614a8e576104a052600054614a8e576001600055600435610280526104a0516102a0526130dd6105206146ad565b61052080516104e052806020015161050052506044356104e05110614a8e5760016104a0516002811015614a8e570260040180546104e0516105005164012a05f200808202821582848304141715614a8e57905090506402540be400808204905090508181830110614a8e5780820190509050808210614a8e5780820390509050815550601354600435808210614a8e5780820390509050610520526105205160135560113360a05260805260406080208054600435808210614a8e57808203905090508155506000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600435610540526020610540a363a9059cbb6105845260046104c0516105a4526104e0516105c45260400161058052610580506020610620610580516105a0600060016104a0516002811015614a8e5702600201545af161322e573d600060003e3d6000fd5b61060060203d8082116132415781613243565b805b905090508152805160200180610540828460045afa90505050600061054051111561328357610560516105405181816020036008021c9050905015614a8e575b337f5ad056f2e28a8cec232015406b843668c1e36cda598127ec3b8c59b8c72773a0600435610580526104e0516105a052610520516105c0526060610580a26104e0516105805260206105806000600055f35b633c157e64811861345a5763f851a440610160526020610160600461017c6001545afa613308573d600060003e3d6000fd5b601f3d1115614a8e57610160513318614a8e57600954620151808181830110614a8e57808201905090504210614a8e5742620151808181830110614a8e578082019050905060243510614a8e57613360610180613c25565b61018051610160526004356064808202821582848304141715614a8e57905090506101805260006004351161339657600061339f565b620f4240600435105b15614a8e576101605161018051106133d95761016051600a808202821582848304141715614a8e57905090506101805111614a8e576133fd565b6101605161018051600a808202821582848304141715614a8e579050905010614a8e575b610160516007556101805160085542600955602435600a557fa2b71ec6df949300b59aab36b55e189697b750119dd349fcfa8c0f779e83c254610160516101a052610180516101c052426101e0526024356102005260806101a0a1005b63551a658881186134fe5763f851a440610160526020610160600461017c6001545afa61348c573d600060003e3d6000fd5b601f3d1115614a8e57610160513318614a8e576134aa610180613c25565b610180516101605261016051600755610160516008554260095542600a557f46e22fb3709ad289f62ce63d469248536dbc78d82b84a3d7e74ad606dc2019386101605161018052426101a0526040610180a1005b63e2e7d264811861357a576370a0823160e0523061010052602060e0602460fc60016004356002811015614a8e5702600201545afa613542573d600060003e3d6000fd5b601f3d1115614a8e5760e05160016004356002811015614a8e570260040154808210614a8e5780820390509050610120526020610120f35b6330c5408581186138085760015460e052600254610100526370a082316101405230610160526020610140602461015c610100515afa6135bf573d600060003e3d6000fd5b601f3d1115614a8e5761014051600454808210614a8e57808203905090506101205260006101205111156136c15763a9059cbb61018452600460e0516101a452610120516101c45260400161018052610180506020610220610180516101a06000610100515af1613635573d600060003e3d6000fd5b61020060203d808211613648578161364a565b805b905090508152805160200180610140828460045afa90505050600061014051111561368a57610160516101405181816020036008021c9050905015614a8e575b63bcc981d2610180526020610180600461019c600060e0515af16136b3573d600060003e3d6000fd5b601f3d1115614a8e57610180505b600354610100526370a082316101405230610160526020610140602461015c610100515afa6136f5573d600060003e3d6000fd5b601f3d1115614a8e5761014051600554808210614a8e57808203905090506101205260006101205111156138065763154aa8f56101605230610180526020610160602461017c60e0515afa61374f573d600060003e3d6000fd5b601f3d1115614a8e57610160518060a01c614a8e576101405263a9059cbb6101a4526004610140516101c452610120516101e4526040016101a0526101a05060206102406101a0516101c06000610100515af16137b1573d600060003e3d6000fd5b61022060203d8082116137c457816137c6565b805b905090508152805160200180610160828460045afa90505050600061016051111561380657610180516101605181816020036008021c9050905015614a8e575b005b6354fd4d5081186138a257610120806020808252600660e0527f76352e302e3000000000000000000000000000000000000000000000000000006101005260e0818401808280516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f82010390509050905090508101905090509050610120f35b63c661065781186138c95760016004356002811015614a8e57026002015460e052602060e0f35b634903b0d181186138f05760016004356002811015614a8e57026004015460e052602060e0f35b63ddca3f4381186139075760065460e052602060e0f35b635409491a811861391e5760075460e052602060e0f35b63b4b577ad81186139355760085460e052602060e0f35b632081066c811861394c5760095460e052602060e0f35b6314052288811861396357600a5460e052602060e0f35b6306fdde038118613a065760e080602080825280830180600c8082602082540160c060006003818352015b8260c05160200211156139a0576139bf565b60c05185015460c051602002850152815160010180835281141561398e575b5050505050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f820103905090509050810190509050905060e0f35b6395d89b418118613aa95760e080602080825280830180600f8082602082540160c060006002818352015b8260c0516020021115613a4357613a62565b60c05185015460c0516020028501528151600101808352811415613a31575b5050505050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f820103905090509050810190509050905060e0f35b6370a082318118613ade576004358060a01c614a8e5760e052601160e05160a052608052604060802054610100526020610100f35b63dd62ed3e8118613b31576004358060a01c614a8e5760e0526024358060a01c614a8e5761010052601260e05160a05260805260406080206101005160a052608052604060802054610120526020610120f35b6318160ddd8118613b485760135460e052602060e0f35b633644e5158118613b5f5760145460e052602060e0f35b637ecebe008118613b94576004358060a01c614a8e5760e052601560e05160a052608052604060802054610100526020610100f35b505b60006000fd5b601160e05160a0526080526040608020805461012051808210614a8e578082039050905081555060116101005160a05260805260406080208054610120518181830110614a8e57808201905090508155506101005160e0517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61012051610140526020610140a3565b600a5460e0526008546101005260e0514210613c4b5761010051815250613d5e56613d5e565b6007546101205260095461014052610120516101005111613ce357610120516101205161010051808210614a8e57808203905090504261014051808210614a8e5780820390509050808202821582848304141715614a8e579050905060e05161014051808210614a8e5780820390509050808015614a8e57820490509050808210614a8e5780820390509050815250613d5e56613d5e565b610120516101005161012051808210614a8e57808203905090504261014051808210614a8e5780820390509050808202821582848304141715614a8e579050905060e05161014051808210614a8e5780820390509050808015614a8e578204905090508181830110614a8e5780820190509050815250613d5e565b565b604036610160376101a060006002818352015b60e06101a0516002811015614a8e5760200201516101206101a0516002811015614a8e576020020151808202821582848304141715614a8e5790509050670de0b6b3a7640000808204905090506101606101a0516002811015614a8e5760200201528151600101808352811415613d7357505061016051815261018051816020015250565b604036610140376101a060006002818352015b60206101a0510260e00151610180526101408051610180518181830110614a8e57808201905090508152508151600101808352811415613e0b57505061014051613e59576000815250614063565b6101405161018052610120516002808202821582848304141715614a8e57905090506101a0526101c0600060ff818352015b610180516101e05261022060006002818352015b6020610220510260e00151610200526101e05161018051808202821582848304141715614a8e5790509050610200516002808202821582848304141715614a8e5790509050808015614a8e578204905090506101e0528151600101808352811415613e9f57505061018051610160526101a05161014051808202821582848304141715614a8e57905090506064808204905090506101e0516002808202821582848304141715614a8e57905090508181830110614a8e578082019050905061018051808202821582848304141715614a8e57905090506101a0516064808210614a8e578082039050905061018051808202821582848304141715614a8e579050905060648082049050905060036101e051808202821582848304141715614a8e57905090508181830110614a8e5780820190509050808015614a8e57820490509050610180526101605161018051116140215760016101605161018051808210614a8e57808203905090501161404c575050610180518152506140635661404c565b60016101805161016051808210614a8e57808203905090501161404c57505061018051815250614063565b8151600101808352811415613e8b57505060006000fd5b565b6102405160e052610260516101005261028051610120526102a0516101405261408f610320613d60565b61032080516102e052806020015161030052506102e05160e05261030051610100526102c051610120526140c4610320613df8565b61032051815250565b610260516102405114614a8e5760006102605112614a8e576002610260511215614a8e5760006102405112614a8e576002610240511215614a8e57614113610300613c25565b610300516102e0526102a05160e0526102c051610100526102e0516101205261413d610320613df8565b61032051610300526060366103203761030051610380526102e0516002808202821582848304141715614a8e57905090506103a0526103c060006002818352015b610240516103c051186141985761028051610340526141c9565b610260516103c05114156141af5761422d566141c9565b6102a06103c0516002811015614a8e576020020151610340525b6103208051610340518181830110614a8e57808201905090508152506103805161030051808202821582848304141715614a8e5790509050610340516002808202821582848304141715614a8e5790509050808015614a8e57820490509050610380525b815160010180835281141561417e5750506103805161030051808202821582848304141715614a8e57905090506064808202821582848304141715614a8e57905090506103a0516002808202821582848304141715614a8e5790509050808015614a8e578204905090506103805261032051610300516064808202821582848304141715614a8e57905090506103a051808015614a8e578204905090508181830110614a8e57808201905090506103c052610300516103e052610400600060ff818352015b6103e051610360526103e0516103e051808202821582848304141715614a8e5790509050610380518181830110614a8e578082019050905060026103e051808202821582848304141715614a8e57905090506103c0518181830110614a8e578082019050905061030051808210614a8e5780820390509050808015614a8e578204905090506103e052610360516103e051116143b7576001610360516103e051808210614a8e5780820390509050116143e25750506103e0518152506143f9566143e2565b60016103e05161036051808210614a8e5780820390509050116143e25750506103e0518152506143f9565b81516001018083528114156142f257505060006000fd5b565b60006101005112614a8e576002610100511215614a8e5760603661018037610160516101e05260e0516002808202821582848304141715614a8e57905090506102005261022060006002818352015b61010051610220511415614461576144df5661447b565b610120610220516002811015614a8e5760200201516101a0525b61018080516101a0518181830110614a8e57808201905090508152506101e05161016051808202821582848304141715614a8e57905090506101a0516002808202821582848304141715614a8e5790509050808015614a8e578204905090506101e0525b815160010180835281141561444a5750506101e05161016051808202821582848304141715614a8e57905090506064808202821582848304141715614a8e5790509050610200516002808202821582848304141715614a8e5790509050808015614a8e578204905090506101e05261018051610160516064808202821582848304141715614a8e579050905061020051808015614a8e578204905090508181830110614a8e5780820190509050610220526101605161024052610260600060ff818352015b610240516101c0526102405161024051808202821582848304141715614a8e57905090506101e0518181830110614a8e5780820190509050600261024051808202821582848304141715614a8e5790509050610220518181830110614a8e578082019050905061016051808210614a8e5780820390509050808015614a8e57820490509050610240526101c05161024051116146695760016101c05161024051808210614a8e578082039050905011614694575050610240518152506146ab56614694565b6001610240516101c051808210614a8e578082039050905011614694575050610240518152506146ab565b81516001018083528114156145a457505060006000fd5b565b6146b86102e0613c25565b6102e0516102c052600b546102e05263bb7b8b80610320526020610320600461033c73dcef968d416a41cdac0ed8702fac8128a64241a25afa614700573d600060003e3d6000fd5b601f3d1115614a8e5761032051610300526102e05160e05261030051610100526004546101205260055461014052614739610360613d60565b610360805161032052806020015161034052506103205160e05261034051610100526102c0516101205261476e610380613df8565b610380516103605260135461038052610360516102805161036051808202821582848304141715614a8e579050905061038051808015614a8e57820490509050808210614a8e57808203905090506103a0526102c05160e0526102a05161010052610320516101205261034051610140526103a051610160526147f26103e06143fb565b6103e0516103c0526006546002808202821582848304141715614a8e57905090506004808204905090506103e0526040366104003761044060006002818352015b600061046052610320610440516002811015614a8e576020020151610480526102a05161044051186148a757610480516103a051808202821582848304141715614a8e579050905061036051808015614a8e578204905090506103c051808210614a8e5780820390509050610460526148eb565b61048051610480516103a051808202821582848304141715614a8e579050905061036051808015614a8e57820490509050808210614a8e5780820390509050610460525b610480516103e05161046051808202821582848304141715614a8e57905090506402540be40080820490509050808210614a8e5780820390509050610400610440516002811015614a8e57602002015281516001018083528114156148335750506104006102a0516002811015614a8e5760200201516102c05160e0526102a05161010052610400516101205261042051610140526103a051610160526149936104606143fb565b61046051808210614a8e5780820390509050610440526103206102a0516002811015614a8e5760200201516103c051808210614a8e5780820390509050670de0b6b3a7640000808202821582848304141715614a8e57905090506102e06102a0516002811015614a8e576020020151808015614a8e5782049050905061046052610440516001808210614a8e5780820390509050670de0b6b3a7640000808202821582848304141715614a8e57905090506102e06102a0516002811015614a8e576020020151808015614a8e57820490509050610440526104405181526104605161044051808210614a8e5780820390509050816020015250565b600080fd00582102f652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f427a6905581d02c8261a6daac91fc88896a7cb029180c6b1ba4e4f2ba31acfbcbb8c6d0701194a930219220103b6023d6597e98c57d81bfeb414a2291b96c1e39adbc8d30613c8518a749b678e05581e037db6b713c55ab155bf155cde53052a42d527316f0b109a5d12c03ef5300401038aeedbe69c3a988181d3cc7af10c4cfc579d509d93a4cfb67e9dc6b742f238b10312ae6e5789e69808c3f114edca5d955943594a1c488571f78b5a49f473bae35e05581e03579d98907ac96393cf111d04cb6d69190e518e2b3453cb6d9c94c82e3004110219f3a503688a805a1eeb3d89e1daf2d1ae9188f87a3448f211b257b275653eeb9b72fa5103e1acb6ad5b863614c29164179097f0215780c51a3bf2b7b106ee69d16be7259803d5164dccc43d7cceb68c5c7e600a86c59ad6b613828a8da318ba02be2fe87dd0033257e5c46cc0f5338d1242c6a5baa604b2c22b1cd8a0544e42bdab39d103a78b03619648e71d3ea1bec3f8db3af0c3c01ae6641c1f9d56384b3e4e7dc1b066bad10219ffff0340b8861b182947ea2a496bb159988cf1fda0a09077c8ee1fe557822b13e9c8370308f178d085ec56cd4f21c2c74901fe81e68e6fc5da6f50cd91d5525493e6f3690359456e56d6d58227158605ee54f5dc8e0740fedeefaeefa416360f9cdc298d5e032b443286b0b4aa41a93cec81da7af01db8bf2e3e1fa555364a6bb26eb9c3aec603b4abc98652b74c57f88069b69f002844ca071272c584e625a83264000156768003d76448e294acb677f5a2c63d2a2c08300f4a324b81da3280a6dc1e2fea20dea7031045d410c19309dc8f28ea8b3c9da5b4e0aa598c8bca668cdd24190096bef40d039c80689b8b1e4710f55c1b2c62dbbead77bc643f09571f846e8209953a495a9a037e71e061661294ef6cbd481ab439b96434bdb751203aac36fe3626b1b41b0c150219ffff0317dc00cda328e071edaacc6d9cd9d40c872aee2884fe59551b040298a0affe7403c6bde2c3eb84a04461634c2d732ad3d1c88fd2222a3c6042690c52a5f2af633e03d12419a6c108e85d898a71edf0ec7f23e665db8c8719e76083ed11779e4396bd0219ffff0384441df9b7db9dfc9a9b94cd82946469230929604e848678dca5b8b5bb205d600219ffff0355829d7ca5e70077f17f30e081153392c56bbdd2603b6abdcd7cf607abff5e6703c9ca0015dae79260659d8a0027277f19858e54c508b74fbac24e9c80fd88f06303eb0d6541f76bf6657bc0cae80a2b04ff1579c2e2a5d8ac01b9b64ba4c530329c030bfa2580c908a85e413e835a78fc9acbaca15ef672c95ee4be4f37d0186d409503e456520fc41c34bdb9dfbba1f6237b3bf6bc041c1d21c347f3a97029e7ddd73b03764df82dd10d72dee73f08103e092e0502697eeed97566deb3bfffb296c0eb4a037925a700e92f69b13acff6b16494caa62df4fc2923b522143f546857780e19fe0352ed7d0d3574463b44b27242cfc93a38e7e3ac66095d759fd17d49dea7fa617003edab294679ce7bc019dfae4c1b348822baa2a59947ae6948b8bc48ac198da21d036f2165445af82b0876bb7c747816f49c3a07d084f0fc89f457d8709745c1dd7d039ed5e094acd2c0466755c24ea66e930ffe9b9855a2f61a583815284dcb004adf034de706b8fdce4110c74a9053592265c02c83ca59a32a8c5f40a13f53bfe93ad203d79dc5a6bbad39ece2cf311ffcf554c9ed57ea04554f82b25c7ac4a0171250b3030d8ea7fe31e4e6ee03e704a9eba161db77e1eb586bc8cd209b11ba8febe2d47f035e6482ffe42cd49b937ba11949bf63ce23b1d438171a84eede102fa27117135f0328ec1d8d8b5a9812207ebbb7aaa5e9a45e01cdc6d7bd6e41225400177e99b93d03a0478b2d638ae68b45c574b85886aa7148cdbbf615bddd537843f91355ccd467039d67434b18fbcebe9fbf1bdb89422e8799418af6cf247107ec808066a0fc033b0342fdbf3dbbc381f8b2b21546bb2f95a95f15e4897c023f6c13d21f09298701500324059fef8a9e43887dd0758f644cb9937af2a20401c9860ffd2dc889644a2f7d03ce849f633a79fa84fea25f00652fc9bab5f0dffd2167105712c9c9aaf57e26390373ae62ca02f062ac05978ae986d82920b4ab0f1512afeddb706594470d2c571403c8c5c14fd173567e1bcf4e62f19987caea5dc29ed14d33ed9eb95d2638f7ef420394dbddaae09350566820ea991edf23a10ef3f229d4826858cafb04d9586f5fb403859832500fb02e0ba56e65c4f07207d22d06102cac069c91a3ea6bb1fd46236c0395f1165302e75127c837c997f7abd5fabfe7db19bc88581aaa0bd2eeabd7e4b003e408705a3f9e5fe0372e83b6542371d7a3cc4dec8fb87f2b16c65bb758030eed05581d02b0a1239d60f428d55c0685cf201355f9a5a664a9479eed2a7ff21f8e040105581d02fc9f8432b296102583ea035452eaafeb12e4b089b384fe3a402dd1d30c014701b7929c0b2d0802190880031aa1793b5ec715f28e49bc70874cf454a312a167841382b7c3baf6a1720b4e2e05581e03f61df635e84fa19483cdff3d1205ce02ee6da24f382fb7525e43d06ae00c01467a45a5167ed805581e03dbc652637356774e13db2a1d314810cc5e4adc157151d2f89b18b339800c08463e207e28a70805581e033f20719ead0b49139f03fa50bd4fda914cb7fec1009be14e98abeeeea00c18494802e25d38602e0d7a036be98671165850c9b18c702f14af3672a4e55db30a7647ef803cbd1917b588d205581e0346d6eda51a6075c64202c4bd51025bda5f98e8162bf26c551104b0c5100c02470213c735c1662005581e0330ab369a1b56ab72004adefcccbba3167f2af56807a7c86d2813c3b490084705ebd312a02aaa0350f04eae6967750b3068935d6072a2ee219a1a2971e2b02d475c85ace8634c7b038502e339c8d4e84ca5184c6a4e39b6d04832def87a113c236de317a4c2d740b501410f02194f3703597f4ed252c682ab3a3b755aec2fb825ffe84a52ff65c3090a345d94790cc92f034e80dc683d9e77f05312a51a7802f32e0f73c6003e2fc18d28dae11cfc2d642e0379905f263116a4a8afe5b6776f25d168d6c876213c20f8f9dcbf41d8864fdfde03b038b7a83c6465007d1ff79ae8e531e40ff31a4baa94db347f7b206f2c2be796033d56118639551e02446f0ed662f3fb8407238b74cdb47b8f5b855c70681dd9590219ffff035d357a7480192fbc14e513dbe5092a7ee0fd25bc19b427066a139f0b5f1361bb039fd30ebfb39ea004a03f4fb3889b8a139db42ba813ccd72bff8b6ef5ce52ad1f035659a2669cb85654e3e0c07557af2ad91e6641fd27a8cb9e4d4cb128e1c57e7f03a9e568d758863b94e3cca1794e0514494b947436d29ffbcdd0764fbddcd38b9b03ff22ca8b103f7f11209c6f3d4d46f52d57f091762432099e1fcbb2c230407ac40336dd867e87ea02c35fc751ee05b903ae5907dede566852d795c4219edef671eb03da43c5f3e3b2a31f093f706f73b8b6ccfdc58a3c7b7843eb3537bad312e1a6f803555cadeaba7ae245c3572ac99934e290b66f324e17b1b7bd4536f9a79eff084f0219ffff039016a179b86fa0808917b1b0d3ac31d735a84374d5d6c2c0fefc0956a040a74603cfde879da3af668b3d281aa6fb67c2dcdea2a6931dadd7384df07cc127aa7a2a03290ae03ba23b424dc74cb6deec0bef5253484460e8e008ed11faf0f56a04d88403a797ab3543088212dc3f96940cc29a70432923b49390e0bcd862ff6b6da2fd50030e68fb2dfc1b1bd336642af11eaea56525a1ac0e0a92757d69520f9959db92930219ffff03f71986fde45ef63821830676affecba4b90df65aebdb199885e03329a171f939037a1fdf24dff9e365ba38ce0c94d631aff8343fdeaac333b6f86547aeac7ead6a03d58f0d1f0aee1df2a927a8c8d18cb19caeed543ec037b5cfc80afe909d47faac03f515685c69040f71b2100135d343748fdd175897d127f67dd77bdc0ffd804187031428b312e6c3f45bfc05e614e417b29119329f2f5c31e42b1f492053646396bc03a6b1ede21886f0f61b75ae5a6f81d5a6316f8348f973701b49af288cdd03131703e4276bdb98df699e8ae065b810b5bf94b6fe1b7442d2794d37140c53637c69fc03f0b6cd87ca0cad7a9387a419925d6c3b963a504fe8b213a7f6c0b5412031f64c03eda9ffe62b6b4924d1a4a809ce0a36663cfb046b2c2e8a45518aee1a7fed304d0323f7933e8770e602c783894306d4922a49b6a01a190adfed49972c0e47f6a5fc03e134e606e9fa8a5edc31674cb8bc079b7b22c22799df087695cde5d4216d1d26032c80cb0423be6d7458638e9690dd045321aad528ceb3824163f79b9d915753370333c432861e68c4638738a130bd2d88f873a7bba59e7b6fcc6476e91121eaee2e030131f4a9837c647bc0cec259f872df18ceb798b50e7542d3eec080a38c678d06032e2c591073e2219b17fbf5b406daf0b135c92ac81a0cf4066b7d5d432a7f40a403e6b44028a23d6257594b736f9ba4fb50fbc7fa9f92df0f64031b1e0e56a07393037cc75c863a460d4122589a74527ae62459db1231fb2fd3dee9f2f1f42640b2120308e76056a74039d6fb04cef884fad04bad2c5867fc3fb61d9129194961ab8162039de6292a65999b8f6b7b8f4ec32ac517075e9cca5850b1715e1110e96d88df9303804f765e4cbf3fbe93ad2588c9becd30ad03229787eda34d748a0734c3bb74b6034e1f63cafc06cb4391216992182c9ee3ce32acc8de1cad8ef8d874d4d3e5ec8b037b58b65ceaeccf3f90f0add6f0aaea4991d6d5a7a2c956597b066036a77d9ea803003b393330970fe2d86853e5fe9d8244acbbbcb0ded3e480753c32edd78ed3a405581e03601e3c26ee807f647f13961aba30b1e84e70833f66057aa95c1e58eff0040205581e03e078d58813dc4b84316dfd6a22db3dfaad74fc12f3bdf8cadb113dad80040105581e03934ac7f33258110c492f22489ff076c0013f2ff51d43c86d871f91ad600847082bd67afbc00003446effc83a5c062fae4e244e10567ba2c9e28bc62c186116096de7ae79e49380034ebf60e22debe940f4a31bb59a7ad1f0d31d3aed30fb722e3599371bb31a292d05581d02b87407128ff9d644a0f2d2e5e9f80c2562da642c045774b2ac4b8c8d07011bffffffffffffffff0459358d600436101561000d57612698565b60046000601c37600051346135885763f446c1d0811861004a5761003261016061269e565b61016051606480820490509050610180526020610180f35b6376a2f0f0811861006f5761006061016061269e565b61016051610180526020610180f35b63bb7b8b80811861014a576100856102606127d9565b61026080516102e052806020015161030052506100a36102a061269e565b6102a051610320526102e05160e052610300516101005261032051610120526100cd6102c0612935565b6102c051610240526318160ddd610280526020610280600461029c6008545afa6100fc573d600060003e3d6000fd5b601f3d111561358857610280516102605261024051670de0b6b3a764000080820282158284830414171561358857905090506102605180801561358857820490509050610280526020610280f35b63ed8e84f38118610324576044358060011c613588576103605261016f6103a061269e565b6103a051610380526003546103a0526004546103c0526103a051610240526103c0516102605261038051610280526101a8610400612ba2565b610400516103e05261040060006002818352015b610360516101fb576103a06104005160028110156135885760200201805160206104005102600401358082106135885780820390509050815250610230565b6103a0610400516002811015613588576020020180516020610400510260040135818183011061358857808201905090508152505b81516001018083528114156101bc5750506103a051610240526103c051610260526103805161028052610264610420612ba2565b61042051610400526318160ddd610440526020610440600461045c6008545afa610293573d600060003e3d6000fd5b601f3d1115613588576104405161042052600061044052610360516102d1576103e051610400518082106135885780820390509050610440526102ec565b610400516103e0518082106135885780820390509050610440525b610440516104205180820282158284830414171561358857905090506103e05180801561358857820490509050610460526020610460f35b630b4c7e4d8118610983576000546135885760016000556012546135885761034d61038061269e565b6103805161036052600354610380526004546103a05261038051610240526103a0516102605261036051610280526103866103e0612ba2565b6103e0516103c0526008546103e0526318160ddd610420526020610420600461043c6103e0515afa6103bd573d600060003e3d6000fd5b601f3d111561358857610420516104005261038051610420526103a0516104405261046060006002818352015b6104005161040657600060206104605102600401351115613588575b6104206104605160028110156135885760200201805160206104605102600401358181830110613588578082019050905081525081516001018083528114156103ea57505061042051610240526104405161026052610360516102805261046e610480612ba2565b61048051610460526103c0516104605111156135885761046051610480526060366104a037600061040051116104b9576104205160035561044051600455610460516104e0526106f4565b60055460028082028215828483041417156135885790509050600480820490509050610500526006546105205261054060006002818352015b6104605161038061054051600281101561358857602002015180820282158284830414171561358857905090506103c05180801561358857820490509050610560526000610580526104206105405160028110156135885760200201516105a0526105a051610560511161057f576105a0516105605180821061358857808203905090506105805261059a565b610560516105a0518082106135885780820390509050610580525b610500516105805180820282158284830414171561358857905090506402540be400808204905090506104a06105405160028110156135885760200201526105a0516104a06105405160028110156135885760200201516105205180820282158284830414171561358857905090506402540be4008082049050905080821061358857808203905090506001610540516002811015613588570260030155610420610540516002811015613588576020020180516104a0610540516002811015613588576020020151808210613588578082039050905081525081516001018083528114156104f25750506104205161024052610440516102605261036051610280526106a8610540612ba2565b610540516104805261040051610480516103c051808210613588578082039050905080820282158284830414171561358857905090506103c051808015613588578204905090506104e0525b6044356104e0511015610778576014610500527f536c697070616765207363726577656420796f750000000000000000000000006105205261050050610500518061052001818260206001820306601f82010390500336823750506308c379a06104c05260206104e0526105005160206001820306601f82010390506044016104dcfd5b61050060006002818352015b6000602061050051026004013511156108b05760006004610560527f23b872dd00000000000000000000000000000000000000000000000000000000610580526105606004806020846105a00101826020850160045afa505080518201915050336020826105a0010152602081019050306020826105a001015260208101905060206105005102600401356020826105a0010152602081019050806105a0526105a0505060206106606105a0516105c0600060016105005160028110156135885702600101545af161085b573d600060003e3d6000fd5b61064060203d80821161086e5781610870565b805b905090508152805160200180610520828460045afa9050505060006105205111156108b057610540516105205181816020036008021c9050905015613588575b81516001018083528114156107845750506340c10f196105005233610520526104e051610540526020610500604461051c60006103e0515af16108f8573d600060003e3d6000fd5b601f3d11156135885761050050337f26f55a85081d24974e85c6c00045d0f0453991e95873f52bff0d21af4079a76860043561050052602435610520526104a051610540526104c051610560526104605161058052610400516104e051818183011061358857808201905090506105a05260c0610500a26104e0516105005260206105006000600055f35b635e0d443f8118610b5a576004358060801d81607f1d1861358857610420526024358060801d81607f1d1861358857610440526109c16104a06127d9565b6104a080516104605280602001516104805250670de0b6b3a76400006104a0526c0c9f2c9cd04674edea400000006104c0526104606104205160028110156135885760200201516044356104a06104205160028110156135885760200201518082028215828483041417156135885790509050670de0b6b3a764000080820490509050818183011061358857808201905090506104e052610420516102405261044051610260526104e05161028052610460516102a052610480516102c052610a8b610520612c02565b610520516105005261046061044051600281101561358857602002015161050051808210613588578082039050905060018082106135885780820390509050610520526005546105205180820282158284830414171561358857905090506402540be400808204905090506105405261052051610540518082106135885780820390509050670de0b6b3a764000080820282158284830414171561358857905090506104a061044051600281101561358857602002015180801561358857820490509050610560526020610560f35b633df02124811861116d576004358060801d81607f1d1861358857610420526024358060801d81607f1d1861358857610440526000546135885760016000556012546135885760035461046052600454610480526104605160e0526104805161010052610bc86104e0612885565b6104e080516104a05280602001516104c05250670de0b6b3a76400006104e0526c0c9f2c9cd04674edea40000000610500526104a06104205160028110156135885760200201516044356104e06104205160028110156135885760200201518082028215828483041417156135885790509050670de0b6b3a76400008082049050905081818301106135885780820190509050610520526104205161024052610440516102605261052051610280526104a0516102a0526104c0516102c052610c92610560612c02565b61056051610540526104a061044051600281101561358857602002015161054051808210613588578082039050905060018082106135885780820390509050610560526105605160055480820282158284830414171561358857905090506402540be400808204905090506105805261056051610580518082106135885780820390509050670de0b6b3a764000080820282158284830414171561358857905090506104e06104405160028110156135885760200201518080156135885782049050905061056052606435610560511015610e0357602e6105a0527f45786368616e676520726573756c74656420696e20666577657220636f696e736105c0527f207468616e2065787065637465640000000000000000000000000000000000006105e0526105a0506105a051806105c001818260206001820306601f82010390500336823750506308c379a0610560526020610580526105a05160206001820306601f820103905060440161057cfd5b6105805160065480820282158284830414171561358857905090506402540be400808204905090506105a0526105a051670de0b6b3a764000080820282158284830414171561358857905090506104e0610440516002811015613588576020020151808015613588578204905090506105a0526104606104205160028110156135885760200201516044358181830110613588578082019050905060016104205160028110156135885702600301556104606104405160028110156135885760200201516105605180821061358857808203905090506105a0518082106135885780820390509050600161044051600281101561358857026003015560006004610600527f23b872dd00000000000000000000000000000000000000000000000000000000610620526106006004806020846106400101826020850160045afa505080518201915050336020826106400101526020810190503060208261064001015260208101905060443560208261064001015260208101905080610640526106405050602061070061064051610660600060016104205160028110156135885702600101545af1610fbb573d600060003e3d6000fd5b6106e060203d808211610fce5781610fd0565b805b9050905081528051602001806105c0828460045afa9050505060006105c0511115611010576105e0516105c05181816020036008021c9050905015613588575b60006004610600527fa9059cbb00000000000000000000000000000000000000000000000000000000610620526106006004806020846106400101826020850160045afa50508051820191505033602082610640010152602081019050610560516020826106400101526020810190508061064052610640505060206106e061064051610660600060016104405160028110156135885702600101545af16110bd573d600060003e3d6000fd5b6106c060203d8082116110d057816110d2565b805b9050905081528051602001806105c0828460045afa9050505060006105c0511115611112576105e0516105c05181816020036008021c9050905015613588575b337f8b3e96f2b889fa771c53c981b40daf005f63f637f1869f707052d15a3dd97140610420516106005260443561062052610440516106405261056051610660526080610600a2610560516106005260206106006000600055f35b635b36389c81186114da5760005461358857600160005560085460e0526318160ddd610120526020610120600461013c60e0515afa6111b1573d600060003e3d6000fd5b601f3d11156135885761012051610100526040366101203761016060006002818352015b60016101605160028110156135885702600301546101805261018051600435808202821582848304141715613588579050905061010051808015613588578204905090506101a05260206101605102602401356101a05110156112ce5760306101c0527f5769746864726177616c20726573756c74656420696e20666577657220636f696101e0527f6e73207468616e20657870656374656400000000000000000000000000000000610200526101c0506101c051806101e001818260206001820306601f82010390500336823750506308c379a06101805260206101a0526101c05160206001820306601f820103905060440161019cfd5b610180516101a051808210613588578082039050905060016101605160028110156135885702600301556101a05161012061016051600281101561358857602002015260006004610200527fa9059cbb00000000000000000000000000000000000000000000000000000000610220526102006004806020846102400101826020850160045afa505080518201915050336020826102400101526020810190506101a0516020826102400101526020810190508061024052610240505060206102e061024051610260600060016101605160028110156135885702600101545af16113be573d600060003e3d6000fd5b6102c060203d8082116113d157816113d3565b805b9050905081528051602001806101c0828460045afa9050505060006101c0511115611413576101e0516101c05181816020036008021c9050905015613588575b81516001018083528114156111d55750506379cc67906101605233610180526004356101a0526020610160604461017c600060e0515af1611459573d600060003e3d6000fd5b601f3d11156135885761016050337f7c363854ccf79623411f8995b362bce5eddff18c927edc6f5dbbb5e05819a82c610120516101605261014051610180526040366101a0376101005160043580821061358857808203905090506101e05260a0610160a26101205161016052610140516101805260406101606000600055f35b63e31032738118611af0576000546135885760016000556012546135885761150361038061269e565b6103805161036052600354610380526004546103a05261038051610240526103a05161026052610360516102805261153c6103e0612ba2565b6103e0516103c052610380516103e0526103a0516104005261042060006002818352015b6103e0610420516002811015613588576020020180516020610420510260040135808210613588578082039050905081525081516001018083528114156115605750506103e05161024052610400516102605261036051610280526115c6610440612ba2565b6104405161042052600554600280820282158284830414171561358857905090506004808204905090506104405260065461046052604036610480376104c060006002818352015b6103e06104c05160028110156135885760200201516104e052610420516103806104c051600281101561358857602002015180820282158284830414171561358857905090506103c05180801561358857820490509050610500526000610520526104e051610500511161169b576104e051610500518082106135885780820390509050610520526116b6565b610500516104e0518082106135885780820390509050610520525b610440516105205180820282158284830414171561358857905090506402540be400808204905090506104806104c05160028110156135885760200201526104e0516104806104c05160028110156135885760200201516104605180820282158284830414171561358857905090506402540be40080820490509050808210613588578082039050905060016104c05160028110156135885702600301556104e0516104806104c051600281101561358857602002015180821061358857808203905090506103e06104c0516002811015613588576020020152815160010180835281141561160e5750506103e05161024052610400516102605261036051610280526117c46104e0612ba2565b6104e0516104c0526008546104e0526318160ddd610520526020610520600461053c6104e0515afa6117fb573d600060003e3d6000fd5b601f3d11156135885761052051610500526103c0516104c05180821061358857808203905090506105005180820282158284830414171561358857905090506103c0518080156135885782049050905061052052600061052051146135885761052080516001818183011061358857808201905090508152506044356105205111156118f8576014610540527f536c697070616765207363726577656420796f750000000000000000000000006105605261054050610540518061056001818260206001820306601f82010390500336823750506308c379a0610500526020610520526105405160206001820306601f820103905060440161051cfd5b6379cc679061054052336105605261052051610580526020610540604461055c60006104e0515af161192f573d600060003e3d6000fd5b601f3d1115613588576105405061054060006002818352015b6000602061054051026004013514611a6357600060046105a0527fa9059cbb000000000000000000000000000000000000000000000000000000006105c0526105a06004806020846105e00101826020850160045afa505080518201915050336020826105e001015260208101905060206105405102600401356020826105e0010152602081019050806105e0526105e0505060206106806105e051610600600060016105405160028110156135885702600101545af1611a0e573d600060003e3d6000fd5b61066060203d808211611a215781611a23565b805b905090508152805160200180610560828460045afa905050506000610560511115611a6357610580516105605181816020036008021c9050905015613588575b8151600101808352811415611948575050337f2b5508378d7e19e0d5fa338419034731416c4f5b219a10379956f764317fd47e600435610540526024356105605261048051610580526104a0516105a052610420516105c052610500516105205180821061358857808203905090506105e05260c0610540a2610520516105405260206105406000600055f35b63cc2b27d78118611b38576024358060801d81607f1d18613588576104805260043561028052610480516102a052611b296104a06131e2565b6104a051610500526020610500f35b631a4d01d28118611e35576024358060801d81607f1d186135885761048052600054613588576001600055601254613588576060366104a03760043561028052610480516102a052611b8b6105006131e2565b61050080516104a05260208101516104c05260408101516104e052506044356104a0511015611c2b576018610500527f4e6f7420656e6f75676820636f696e732072656d6f76656400000000000000006105205261050050610500518061052001818260206001820306601f82010390500336823750506308c379a06104c05260206104e0526105005160206001820306601f82010390506044016104dcfd5b6001610480516002811015613588570260030180546104a0516104c05160065480820282158284830414171561358857905090506402540be400808204905090508181830110613588578082019050905080821061358857808203905090508155506379cc6790610500523361052052600435610540526020610500604461051c60006008545af1611cc2573d600060003e3d6000fd5b601f3d1115613588576105005060006004610540527fa9059cbb00000000000000000000000000000000000000000000000000000000610560526105406004806020846105800101826020850160045afa505080518201915050336020826105800101526020810190506104a051602082610580010152602081019050806105805261058050506020610620610580516105a0600060016104805160028110156135885702600101545af1611d7c573d600060003e3d6000fd5b61060060203d808211611d8f5781611d91565b805b905090508152805160200180610500828460045afa905050506000610500511115611dd157610520516105005181816020036008021c9050905015613588575b337f5ad056f2e28a8cec232015406b843668c1e36cda598127ec3b8c59b8c72773a0600435610540526104a051610560526104e0516004358082106135885780820390509050610580526060610540a26104a0516105405260206105406000600055f35b633c157e648118611f8857600754331861358857600b5462015180818183011061358857808201905090504210613588574262015180818183011061358857808201905090506024351061358857611e8e61018061269e565b61018051610160526004356064808202821582848304141715613588579050905061018052600060043511611ec4576000611ecd565b620f4240600435105b1561358857610160516101805110611f075761016051600a8082028215828483041417156135885790509050610180511161358857611f2b565b6101605161018051600a808202821582848304141715613588579050905010613588575b6101605160095561018051600a5542600b55602435600c557fa2b71ec6df949300b59aab36b55e189697b750119dd349fcfa8c0f779e83c254610160516101a052610180516101c052426101e0526024356102005260806101a0a1005b63551a65888118611ffb57600754331861358857611fa761018061269e565b61018051610160526101605160095561016051600a5542600b5542600c557f46e22fb3709ad289f62ce63d469248536dbc78d82b84a3d7e74ad606dc2019386101605161018052426101a0526040610180a1005b635b5a1467811861209657600754331861358857600d546135885764012a05f20060043511613588576402540be4006024351161358857426203f4808181830110613588578082019050905060e05260e051600d55600435600f5560243560105560e0517f351fc5da2fbf480f2225debf3664a4bc90fa9923743aad58b4603f648e931fe060043561010052602435610120526040610100a2005b634f12fe97811861211457600754331861358857600d544210613588576000600d5414613588576000600d55600f5460e0526010546101005260e051600555610100516006557fbe12859b636aed607d5230b2cc2711f68d70e51060e6cca1f575ef5d2fcc95d160e0516101205261010051610140526040610120a1005b63226840fb811861212f576007543318613588576000600d55005b636b441a4081186121ae576004358060a01c6135885760e052600754331861358857600e5461358857426203f480818183011061358857808201905090506101005261010051600e5560e05160115560e051610100517f181aa3aa17d4cbf99265dd4443eba009433d3cde79d60164fde1d1a192beb9356000610120a3005b636a1c05ae811861221257600754331861358857600e544210613588576000600e5414613588576000600e5560115460e05260e05160075560e0517f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c6000610100a2005b6386fbf193811861222d576007543318613588576000600e55005b63e2e7d26481186122a9576370a0823160e0523061010052602060e0602460fc600160043560028110156135885702600101545afa612271573d600060003e3d6000fd5b601f3d11156135885760e051600160043560028110156135885702600301548082106135885780820390509050610120526020610120f35b6330c54085811861244f5760075433186135885760e060006002818352015b600160e0516002811015613588570260010154610100526370a082316101405230610160526020610140602461015c610100515afa61230c573d600060003e3d6000fd5b601f3d11156135885761014051600160e0516002811015613588570260030154808210613588578082039050905061012052600061012051111561243c5760006004610180527fa9059cbb000000000000000000000000000000000000000000000000000000006101a0526101806004806020846101c00101826020850160045afa505080518201915050336020826101c0010152602081019050610120516020826101c0010152602081019050806101c0526101c0505060206102606101c0516101e06000610100515af16123e7573d600060003e3d6000fd5b61024060203d8082116123fa57816123fc565b805b905090508152805160200180610140828460045afa90505050600061014051111561243c57610160516101405181816020036008021c9050905015613588575b81516001018083528114156122c8575050005b63524c390181186124dd5760075433186135885760e060006002818352015b6370a082316101005230610120526020610100602461011c600160e05160028110156135885702600101545afa6124aa573d600060003e3d6000fd5b601f3d11156135885761010051600160e0516002811015613588570260030155815160010180835281141561246e575050005b63e3698853811861250257600754331861358857426013541115613588576001601255005b633046f972811861251d576007543318613588576000601255005b63c66106578118612544576001600435600281101561358857026001015460e052602060e0f35b634903b0d1811861256b576001600435600281101561358857026003015460e052602060e0f35b63ddca3f4381186125825760055460e052602060e0f35b63fee3f7f981186125995760065460e052602060e0f35b638da5cb5b81186125b05760075460e052602060e0f35b6382c6306681186125c75760085460e052602060e0f35b635409491a81186125de5760095460e052602060e0f35b63b4b577ad81186125f557600a5460e052602060e0f35b632081066c811861260c57600b5460e052602060e0f35b6314052288811861262357600c5460e052602060e0f35b63405e28f8811861263a57600d5460e052602060e0f35b63e0a0b586811861265157600e5460e052602060e0f35b6358680d0b811861266857600f5460e052602060e0f35b63e3824462811861267f5760105460e052602060e0f35b631ec0cdc181186126965760115460e052602060e0f35b505b60006000fd5b600c5460e052600a546101005260e05142106126c457610100518152506127d7566127d7565b60095461012052600b546101405261012051610100511161275c57610120516101205161010051808210613588578082039050905042610140518082106135885780820390509050808202821582848304141715613588579050905060e0516101405180821061358857808203905090508080156135885782049050905080821061358857808203905090508152506127d7566127d7565b610120516101005161012051808210613588578082039050905042610140518082106135885780820390509050808202821582848304141715613588579050905060e05161014051808210613588578082039050905080801561358857820490509050818183011061358857808201905090508152506127d7565b565b670de0b6b3a764000060e0526c0c9f2c9cd04674edea400000006101005261012060006002818352015b60e061012051600281101561358857602002015160016101205160028110156135885702600301548082028215828483041417156135885790509050670de0b6b3a76400008082049050905060e0610120516002811015613588576020020152815160010180835281141561280357505060e051815261010051816020015250565b670de0b6b3a7640000610120526c0c9f2c9cd04674edea400000006101405261016060006002818352015b61012061016051600281101561358857602002015160e06101605160028110156135885760200201518082028215828483041417156135885790509050670de0b6b3a76400008082049050905061012061016051600281101561358857602002015281516001018083528114156128b057505061012051815261014051816020015250565b604036610140376101a060006002818352015b60206101a0510260e001516101805261014080516101805181818301106135885780820190509050815250815160010180835281141561294857505061014051612996576000815250612ba0565b610140516101805261012051600280820282158284830414171561358857905090506101a0526101c0600060ff818352015b610180516101e05261022060006002818352015b6020610220510260e00151610200526101e0516101805180820282158284830414171561358857905090506102005160028082028215828483041417156135885790509050808015613588578204905090506101e05281516001018083528114156129dc57505061018051610160526101a0516101405180820282158284830414171561358857905090506064808204905090506101e05160028082028215828483041417156135885790509050818183011061358857808201905090506101805180820282158284830414171561358857905090506101a0516064808210613588578082039050905061018051808202821582848304141715613588579050905060648082049050905060036101e0518082028215828483041417156135885790509050818183011061358857808201905090508080156135885782049050905061018052610160516101805111612b5e5760016101605161018051808210613588578082039050905011612b8957505061018051815250612ba056612b89565b60016101805161016051808210613588578082039050905011612b8957505061018051815250612ba0565b81516001018083528114156129c857505060006000fd5b565b6102405160e0526102605161010052612bbc6102a0612885565b6102a08051610300528060200151610320525061028051610340526103005160e05261032051610100526103405161012052612bf96102e0612935565b6102e051815250565b6102605161024051146135885760006102605112613588576002610260511215613588576000610240511261358857600261024051121561358857612c4861030061269e565b610300516102e0526102a05160e0526102c051610100526102e05161012052612c72610320612935565b61032051610300526102e05160028082028215828483041417156135885790509050610320526103005161034052606036610360376103c060006002818352015b610240516103c05118612ccd576102805161038052612cfe565b610260516103c0511415612ce457612d6256612cfe565b6102a06103c0516002811015613588576020020151610380525b6103608051610380518181830110613588578082019050905081525061034051610300518082028215828483041417156135885790509050610380516002808202821582848304141715613588579050905080801561358857820490509050610340525b8151600101808352811415612cb35750506103405161030051808202821582848304141715613588579050905060648082028215828483041417156135885790509050610320516002808202821582848304141715613588579050905080801561358857820490509050610340526103605161030051606480820282158284830414171561358857905090506103205180801561358857820490509050818183011061358857808201905090506103c052610300516103e052610400600060ff818352015b6103e0516103a0526103e0516103e0518082028215828483041417156135885790509050610340518181830110613588578082019050905060026103e05180820282158284830414171561358857905090506103c05181818301106135885780820190509050610300518082106135885780820390509050808015613588578204905090506103e0526103a0516103e05111612eec5760016103a0516103e051808210613588578082039050905011612f175750506103e051815250612f2e56612f17565b60016103e0516103a051808210613588578082039050905011612f175750506103e051815250612f2e565b8151600101808352811415612e2757505060006000fd5b565b600061010051126135885760026101005112156135885760e0516002808202821582848304141715613588579050905061018052610160516101a0526060366101c03761022060006002818352015b61010051610220511415612f965761301456612fb0565b6101206102205160028110156135885760200201516101e0525b6101c080516101e051818183011061358857808201905090508152506101a0516101605180820282158284830414171561358857905090506101e05160028082028215828483041417156135885790509050808015613588578204905090506101a0525b8151600101808352811415612f7f5750506101a051610160518082028215828483041417156135885790509050606480820282158284830414171561358857905090506101805160028082028215828483041417156135885790509050808015613588578204905090506101a0526101c0516101605160648082028215828483041417156135885790509050610180518080156135885782049050905081818301106135885780820190509050610220526101605161024052610260600060ff818352015b6102405161020052610240516102405180820282158284830414171561358857905090506101a0518181830110613588578082019050905060026102405180820282158284830414171561358857905090506102205181818301106135885780820190509050610160518082106135885780820390509050808015613588578204905090506102405261020051610240511161319e57600161020051610240518082106135885780820390509050116131c9575050610240518152506131e0566131c9565b600161024051610200518082106135885780820390509050116131c9575050610240518152506131e0565b81516001018083528114156130d957505060006000fd5b565b6131ed6102e061269e565b6102e0516102c0526132006103206127d9565b61032080516102e052806020015161030052506102e05160e05261030051610100526102c05161012052613235610340612935565b61034051610320526318160ddd610360526020610360600461037c6008545afa613264573d600060003e3d6000fd5b601f3d1115613588576103605161034052610320516102805161032051808202821582848304141715613588579050905061034051808015613588578204905090508082106135885780820390509050610360526102c05160e0526102a051610100526102e05161012052610300516101405261036051610160526132ea6103a0612f30565b6103a051610380526102e0516103a052610300516103c052600554600280820282158284830414171561358857905090506004808204905090506103e05261040060006002818352015b6000610420526102a05161040051186133a0576102e0610400516002811015613588576020020151610360518082028215828483041417156135885790509050610320518080156135885782049050905061038051808210613588578082039050905061042052613406565b6102e06104005160028110156135885760200201516102e061040051600281101561358857602002015161036051808202821582848304141715613588579050905061032051808015613588578204905090508082106135885780820390509050610420525b6103a0610400516002811015613588576020020180516103e0516104205180820282158284830414171561358857905090506402540be40080820490509050808210613588578082039050905081525081516001018083528114156133345750506103a06102a05160028110156135885760200201516102c05160e0526102a051610100526103a051610120526103c0516101405261036051610160526134ae610420612f30565b6104205180821061358857808203905090506104005260016104205264e8d4a510006104405261040051600180821061358857808203905090506104206102a051600281101561358857602002015180801561358857820490509050610400526102e06102a05160028110156135885760200201516103805180821061358857808203905090506104206102a0516002811015613588576020020151808015613588578204905090506104605261040051815261046051610400518082106135885780820390509050602082015261034051604082015250565b600080fd0058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00430f424000582103b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672045012a05f2000058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace054a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4803ba07bfffd0aacd7d8cd84f4e1b568d938da5aa9ddf29f8e5c4ff004fdd9fca0a0058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b460249d59ac6da005820021108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802430f4240021924000058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054ecb456ea5365865ebab8a2661b0c503410e9b3470058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054853d955acef822db058eb8505911ed77f175b99e00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b4b0a812ff801384dabec4040005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8430249f002184400582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3543175df0976dfa876431c2e9ee6bc45b65d3473cc0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f45012a05f20002184802199d5305581d02a2d37103950f0f02712c663fd9e19150bb659097c1676d3eed4312e4070119358d0219180005581e03440b101bec94c4bd08183ebe639258877ece568fd218617f50e491a6d00c044728201770af0113036024642dc84865b730eecebdaec3447154ae75418f1a608bb13005c931206e090219960e03f0fda0150d163f3e9ac04f335c5c8fca3c734a13630cc186d75bff741cab4f7403abb112b1556fcb4ea30e4a5edae4bf8b6fde03c72f47dff3d5470f1cd4e3fe19031e527ce6f5a8eac6b23ef883ce5733789fd35539c294c9d18c147327c24636150361ef6654bce811b7f330f496c7fad70c81b3a320bd82c999eaf95f339ae81f0403278c952b362567afc13cee5fda81ffd76a96a17ac90d49341a636fead43dabe7037dc8f5689dce8001c4686fc31b6e295bfab3fb33a9d42783776b626bdf12cb5203bc438d3ad57e5e97dba2252ead2011e035649cbeb57103c3ab84d2f12ad11d1203d79b47f523fe946a266a216a654aee67ebf9cfcb34047906c55ca4a50d4243420329373bfd8246a5625b08e7400cdb6dc915af701fdc50b1e6a536b213ef4f612a03e2cc73339d0dceb451563982cd84aa72d17beb7716ebc3e591daabca88500897039b36736b066229d71cc7ede0d3b69bec12e32ddbe2b515b0ceda1578fc29a74d032ccf5639c683ad30ed5523b7ec43810635b28df5c170055843152057055cde3e0333ab30bc2aedd72d971f8d0509bd1a341773a414431fa7728fcb6a619dcc472c034acae624373ae88384e9780a2115cee71d40383063eed05b30598c61395693a50219ffff03030b230f9cfd0a63432780588d5e9cf1329a8226b0e2202136725c06b5d4afd103ecbf48d5c9395fe1a495b377ff2fb990974ed10d92e98b596de167dcd0bd09d8039a27cb675a5694f0918cfa5b1d3f8ac8216e93564bdf6ccdde3e44acb2cc8b9a03f3636fbec87db26b5cbbb25d3c8beec4de69c609e8eafbf4893056460f1d00f6038952084bd869fae829aba8b3b01ecff6e80fce357dca5400733c68d45d5e9f17035f977a07ca7c0d269b9c4eca6e365270d6b712962cd4136b186f337ce32cf00e03bb6266e318d07a0c4dce60a24df9613548203c8aa417b4d07d7afe28b0b2b49c03e43a40a43882c043cbabfe09618207fc9ac76e44da90521ebad44f99a18fa288038eb1e4e380eefbf00967563ed4f464704123e87c880b6423265508f76fc07cdc031bfa63f051d1714866aee4d0f27077f0290f573dff0c637aeae7c17d801da90b03942ad9bdd5f85dff2b7aeb87c8ff6a5dc460a792b44c2aceddd9a5dcc7109dc103dda2dbafd758ae4a770bf1c33b1345d647fc5915e4180aea82adf01a580c2b2b0337dc22fe2ec2857ca9afc09ab5a0c28b1379d401028d1f7f6eae1176a58c99a90219ffff0219ffff0394d56fe0af2a9fad451b38e34f1f84f053b3316c5125e7d515f96cb7c03e34d203dbb4a63f9543f2b69ec8bc1eeab1ffb55c2d4c43eb880786741567b5c99bfe6303cc254e74a9ad8fd119b365e6d7158636d1303232cb310a40e1e7fd8cb4e4416203a91b7da2c363de72567ed047a756a3d1c72cd657036f365fb39cc40654870de603a0a6c62fb193e9473a731d269cc5fc1e841140438414bc89f24a1b2df8eff8d303fbf4a19fe038d754133db2caf211541bb3546560746af4f5b5a0beecf5472cdb0377a94ee6059a4a758a9c2729b551aa366633a3967e05b6186bc80bbcb4cf98aa03fea819e2223e4f5a27b2a3eeb00c3ac45ad3da2d43c99026cb54d8880883361f03951034548e03a30e59f8c50f14cd80d6c516e445fc2c72d5b9d2fd6860fd98b40355140ec8658c3bf01c89925427ce39168328cfeaecd3939bf52d08241e8bffff0395706f1142eedb611192de7634193b8738d6cf1d9433f25cc553aa39bad176950359a266c24feb1aa93ecc145e5bd8d7eee51f3997af4b40fb56a6d211abadc2660399be70bf840194e70d72dccac8e82d8dc3a2cb3fc9c62c83539c5a576ee858440359315206de3f439c51862f9a77ab1e5b512c6a426e4e4c482eb46aed9242364403ee872e3a7a2caa51ddf18af06917bfa378a220f87559892420736515c008d192037435c21bf18006308052c0ff8405546bc4f53b5d6e4c6307c7030bdaea775b9c03873395ff3b315f98ac98afa2bf4d4810e9b92a363f854405a0ed93a3ae351b1e03f64f5128b6c0f428ec08e7018847fafff801ee423a637c1c4fdee55baa27a45f030fe6e750c0c4d7f8f0b0c8e52d774d7a532c2ae83fdf0034e53603f77959d19d03f9ca7c8df1c216bc6f141e7e0fd0891f7b7990bc7aafc42fc379f899a042191003fb74bc1208c975fda8ac38549223857e0e049da86249e9a99305c640da3aa1b2030e4e3b2f3544aea042092ba2cebb44857737b8fda714936346dfe7de591b895203161a18fb15cc50ad96078aed52072cf3a36c728c25e378b2e693d6cf7242539203b766e29cc807057cec3e042c3cb14d2a983db2adcb9829d3ff9aa156473f414203d92ec1a8bfb2cdfd81080aa81d05e66c66ee34e7a3d7887758cafe4711da1ebe03b3948f0c1cc9f5bf1c70ee7096569ba9b594512edd8437c25cc8647b9e1e7555037c06158e1d04c5782445b6ca0dba64f82a882cb2ca979dbb1a62df9609c617a803519118dfc8efbb943d3e9f8c3802bb953cd662d36f5aab3f4921bdf271d6ec6a03b0642ebe51abdc2e17551fc4e64d344ac9fb689f2e8d98d447d93b5b02adb477033b9ab5c12459a60633a82a78d2b80a5eefdedc27664c3f3de0fbdb4a4ccb46d205581e03f0e221f408d80d34ef2e5a700e4c2a6f5e90f1eee161475149c53370900401039e3d53dc3a4edc52b445edaac876e4f3e1ed78b7c717dd072436b510df811b1f045905ac608060405234801561001057600080fd5b50600436106100725760003560e01c806379ba50971161005057806379ba5097146101615780638da5cb5b14610169578063f2fde38b1461018757610072565b8063181f5a77146100bb5780632e90aa211461010d578063458fec3b1461014c575b60025473ffffffffffffffffffffffffffffffffffffffff16803b61009657600080fd5b366000803760008036600080855af13d6000803e80156100b5573d6000f35b503d6000fd5b6100f76040518060400160405280600e81526020017f41524d50726f787920312e302e3000000000000000000000000000000000000081525081565b60405161010491906104f6565b60405180910390f35b60025473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610104565b61015f61015a366004610562565b61019a565b005b61015f610268565b60005473ffffffffffffffffffffffffffffffffffffffff16610127565b61015f610195366004610562565b61036a565b6101a261037e565b73ffffffffffffffffffffffffffffffffffffffff81166101ef576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fef31f568d741a833c6a9dc85a6e1c65e06fa772740d5dc94d1da21827a4e0cab9060200160405180910390a150565b60015473ffffffffffffffffffffffffffffffffffffffff1633146102ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e65720000000000000000000060448201526064015b60405180910390fd5b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b61037261037e565b61037b81610401565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146103ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e65720000000000000000000060448201526064016102e5565b565b3373ffffffffffffffffffffffffffffffffffffffff821603610480576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c6600000000000000000060448201526064016102e5565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b600060208083528351808285015260005b8181101561052357858101830151858201604001528201610507565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561057457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461059857600080fd5b939250505056fea164736f6c6343000813000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305444835bbba9d40deda9b64858095ecfb2693c94490058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0548b63b3de93431c0f756a493644d128134291fa1b021405581e035d0f60482b6c11531c08b4e2a0cf0a895fbcfdb24cb82b0e465dbd7f8007011905ac0305781d2e9bed26d2f914dc46649bc8d42beb4e45714ad5a6a4f8639c040827fe05581e033373a3d4acf551ab1ecf8b6e1ea07461c54a6d076d7c64e48c14d83b00040203bed9ec9f6ca99fcb27ef81f5c7936006a8df48dcac37d58e14abf18fef73cf88031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03636617d0800ce69ac8da80b664285f5c99c467e1c3b69fecdd75830b6007011bffffffffffffffff05581e033425892500727341d259e1398ffc08e78f4abf4eeabbae35c2345e56f00c03463e8893072f600219d2750311d6b4dc6857118ee0c8692915491f24bd1bd810fc0243e4a6d16e723abc13f0038886253252d78d80028653499249a13f1ceeaa5d9af6217a555fc4c4bb392dbd03ae84484cef14d9b4a53ec6d733e6980817691fbea650a88865a4fb082458aa8f034a0ced2bfc187cc1c41fdc5818681f29ee55868575ca032a978c0d5f3ce0dc970329cf2164b0cbb62f62fd316908d07959ba72ddec298b30bc0ecfbd0706ec1205039c8e0eac4481247228afdc1fdd76d34554a33c50b1460a5ad9f3ef1de95f298103d35a486f9fe7141fa1b165da2da7be5a05d34cac4511f1bdeae10a7b51da9526036d6918670f5bd9e1013cb9aef2f33baa1f56bb994128a5571e098e8e6f4dcf9f03d29a13da678fdbd8a2b0b3f004c06aa8b5b21e2a92bd9dee2df54471759aa11203a32fae89f42bdd91b005e85c30d74ec503d72513512639fee7ee7c8d30f808ec033b64e31cde2147d7f90f8f73589cde49e6191e02ae2e1edc02f903cdda6839e80322e8172a9d1c14333e70abac88b1a61e24b9b485367bbc936b334cc8eeefe5af0219ffff03ab155b56ae7631d1e45ae4d58bcb5c369004f5b9a6487e1342408c569c9e0ffb03e8e7f1c07b564f72dd206d564366568eaf37b443706e55aeb08ac3ce7cbdfc79034b83ea3084687fd8a54ca54114785af0de5873dcf18ed62bcf1bfd862e5965790348279977a499a287d7e25bd52fd4ff5362c5fcaa676436a55dd39ffa9516855c03993090393128ad52cdad0b76a66f09ba614ee2ff8cb5b0ac212880c63a2b10ba0356f4b60cf5be6766153604575424802e030b4b5c78c75d29b73ad2587ee8f08b0354f6d57b0b22a2da7ebeeecd21b89a8a1ca5af0cc7d71d4bdc9cd19a4233968603fc5adc47ebfd35f383172930bf7ef0d98d866c7499c3a4862665d8c286a35ef90350877635122b0898c7dcdc83270724183308639cc1e04e84693968189c83cda803a6cd3afc72369b5988b789f052d2c37048e587f5298206c510784c12e1c6d60a0219ffff0356456bc88e2a6ef970151c79ea0d9479f379aef7127bae5e8763d734bb085759038ec96109977a6b183e891d761ccb0d801cb3e025caa0882b6ae8c8bebc96077003ad885e09b2f861bc6b6d45f747045d6092cbfee71243340942dcd1bdd4f0aa380219ffff0219ffff03fbe596d6827c0e2dec94f7578fdaa08b3094fcfc59262664d4ac55d6c3b665bf037f2399bb031378b7b9a34abb858339ff0ec0680996ac631e890596fb515cc87403076dd6a51c92fd5e2a4b701b232e6c4e502735ff64bd34418e12375942636e3a038f8a3d135f00c184e188028f7feb970a3a62aab5c9e47f05fdf16f31f126e38d03bf80e30fb56ec55bce216127976f695d096353088d4dbff3126f566cbba95dae037232d2607af360c6040416fb3be04eab169fd13c10d565e3ad8292be8131e601035c20dbfe481e6e77cfcab2e8502021899c53faa717928ced02acd44e2b15efa40379306b02b6a10628cd56cee66bebf4b97de1edb3eec2b971f3aaa51d8081e714039f9b2c3de2e10746da57534cbf4760087c748483d5e21d2ed85638baa9e41f93038ab6180b56a8d38f767f8b1bc5d94eb2413c928ff05756f9e8555d6b146a73840348e1374e76c82fee89d629d68d9beab5d77f47a0cc0c49870019891e4131b319038ea04e141096370395e7a7a4a6feaaf49751561ba7b271d3e1be9dd208eaf04a03677f6c3f07c52e10644effdc2b2dd24972af61e8dba1c07512e48b6940bf9968032c2dd8459a680954f66b6036eba542af0495218fe7227fe4b480e786f511680803b9e590776fc341da4d8b915fd1d6a8db7e4b1d43707c02f3890d46454de7e6cc0399465c229f8b4c31c8a483f83a622169e60fd9e22d2a8d4d54d8ba26242a3d4d03d94157a4d9cb9bb48a2f267129fe91ea45e9203dd2e180014d6b7259e61b953b030e7f33aff3eb1b73f8224ada06da3c83442130cc1777a4fec26c570991c86b3903838d0ed949a94806a22671ef860761b7559b4fa51d544ea20649bd7d2a6c78d40303456e9ad04b117f148be56df21783d607ad1d58281be258cd7cf3146125dc7f03cb11ec152bc989e644fbe9833946a4dd6c09d97c6cec42939271a0248f6b5cea03c1945d4bc65bd3e32bf4ca3b2f217864fe98d715ed481c32aab62f1624adb42d03b1c4334625e443353635e423f29fb2edac75cfc80a60e81f6108f1e6a5bbb1eb039c91358eb03621bb489e81ddbe6a81b405bae107adc8633127f585d01eec30f503f51f081cf4108d79aaf7b4065acc8e12e8614aa55c3d2bab2d09b67d073666ac03258a05e43631e8551d30dfec6b7d0403a0b7c77dedb928161a3e1353106afdbd03430aba4fce8d63a034fcb1f6b4a8cd0e017f49c24d81157f5e5ebbf0798e50f805581e03009715a0f8b0c05305d1adc60d475c8b0d200edb58811f79969f5c5c600c0b45029242479805581e0318015bf835fa4417c65f9e4482b844b990ededd6487b0a895b83435840040104591111600436101561000d5761110b565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052600015610203575b61014052600a5461016052600b5461018052600980546301e133808181830110156100d357600080fd5b80820190509050815550600880546001606051818301806040519013156100f957600080fd5b809190121561010757600080fd5b9050905081555061016051151561012a576778ef89edad16a615610160526101ba565b6101808051610160516301e13380808202821582848304141761014c57600080fd5b8090509050905081818301101561016257600080fd5b8082019050905081525061018051600b5561016051670de0b6b3a7640000808202821582848304141761019457600080fd5b80905090509050671080e992061ab30080806101af57600080fd5b820490509050610160525b61016051600a55426101a052610160516101c052610180516101e0527f27e46362a1e6129b6dd539c984ce739291a97128dfcaeca1255e8ac83abd944160606101a0a161014051565b63d43b40fa600051141561025457341561021c57600080fd5b6009546301e1338081818301101561023357600080fd5b8082019050905042101561024657600080fd5b600658016100a9565b600050005b63adc4cf4360005114156102d057341561026d57600080fd5b60095461014052610140516301e1338081818301101561028c57600080fd5b80820190509050421015156102c05761014051600658016100a9565b6101405260005060095460005260206000f3506102ce565b6101405160005260206000f3505b005b63b26b238e60005114156103825734156102e957600080fd5b60095461014052610140516301e1338081818301101561030857600080fd5b80820190509050421015156103575761014051600658016100a9565b610140526000506009546301e1338081818301101561034257600080fd5b8082019050905060005260206000f350610380565b610140516301e1338081818301101561036f57600080fd5b8082019050905060005260206000f3505b005b6000156103eb575b61014052600b5442600954808210156103a257600080fd5b80820390509050600a5480820282158284830414176103c057600080fd5b809050905090508181830110156103d657600080fd5b80820190509050600052600051610140515650005b6324f92a25600051141561042057341561040457600080fd5b6006580161038a565b610140526101405160005260206000f350005b63d725a9ca60005114156106ec57341561043957600080fd5b602435600435111561044a57600080fd5b60006101405260095461016052600a5461018052610160516301e1338081818301101561047657600080fd5b8082019050905060243511156104f05761016080516301e1338081818301101561049f57600080fd5b8082019050905081525061018051670de0b6b3a764000080820282158284830414176104ca57600080fd5b80905090509050671080e992061ab30080806104e557600080fd5b820490509050610180525b610160516301e1338081818301101561050857600080fd5b80820190509050602435111561051d57600080fd5b6101a060006103e7818352015b6101605160243510151561064b576024356101c052610160516301e1338081818301101561055757600080fd5b808201905090506101c051111561058c57610160516301e1338081818301101561058057600080fd5b808201905090506101c0525b6004356101e052610160516301e133808181830110156105ab57600080fd5b808201905090506101e0511015156105c6576106db566105de565b610160516101e05110156105dd57610160516101e0525b5b6101408051610180516101c0516101e051808210156105fc57600080fd5b80820390509050808202821582848304141761061757600080fd5b8090509050905081818301101561062d57600080fd5b808201905090508152506101605160043510151561064a576106db565b5b61016080516301e133808082101561066257600080fd5b8082039050905081525061018051671080e992061ab300808202821582848304141761068d57600080fd5b80905090509050670de0b6b3a764000080806106a857600080fd5b820490509050610180526778ef89edad16a6156101805111156106ca57600080fd5b5b815160010180835281141561052a575b50506101405160005260206000f350005b631652e9fc600051141561076857341561070557600080fd5b600435602051811061071657600080fd5b50600754331461072557600080fd5b6006541561073257600080fd5b600435600655600435610140527fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c6020610140a1005b63e9333fab60005114156107d757341561078157600080fd5b600435602051811061079257600080fd5b5060075433146107a157600080fd5b600435600755600435610140527f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a16020610140a1005b6318160ddd60005114156107fe5734156107f057600080fd5b60055460005260206000f350005b63dd62ed3e600051141561086557341561081757600080fd5b600435602051811061082857600080fd5b50602435602051811061083a57600080fd5b50600460043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b63a9059cbb600051141561093657341561087e57600080fd5b600435602051811061088f57600080fd5b5060006004351861089f57600080fd5b60033360e05260c052604060c0208054602435808210156108bf57600080fd5b80820390509050815550600360043560e05260c052604060c02080546024358181830110156108ed57600080fd5b8082019050905081555060243561014052600435337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b6323b872dd6000511415610a5557341561094f57600080fd5b600435602051811061096057600080fd5b50602435602051811061097257600080fd5b5060006024351861098257600080fd5b600360043560e05260c052604060c0208054604435808210156109a457600080fd5b80820390509050815550600360243560e05260c052604060c02080546044358181830110156109d257600080fd5b80820190509050815550600460043560e05260c052604060c0203360e05260c052604060c020805460443580821015610a0a57600080fd5b80820390509050815550604435610140526024356004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b63095ea7b36000511415610b18573415610a6e57600080fd5b6004356020518110610a7f57600080fd5b506024351515610a90576001610aaf565b60043360e05260c052604060c02060043560e05260c052604060c02054155b5b610ab957600080fd5b60243560043360e05260c052604060c02060043560e05260c052604060c0205560243561014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f350005b6340c10f196000511415610c50573415610b3157600080fd5b6004356020518110610b4257600080fd5b506006543314610b5157600080fd5b600060043518610b6057600080fd5b6009546301e13380818183011015610b7757600080fd5b8082019050905042101515610b9357600658016100a9565b6000505b600554602435818183011015610ba857600080fd5b8082019050905061014052610140516006580161038a565b610180526101405261018051610140511115610bdb57600080fd5b61014051600555600360043560e05260c052604060c0208054602435818183011015610c0657600080fd5b808201905090508155506024356101a05260043560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101a0a3600160005260206000f350005b6342966c686000511415610cef573415610c6957600080fd5b60033360e05260c052604060c020805460043580821015610c8957600080fd5b808203905090508155506005805460043580821015610ca757600080fd5b80820390509050815550600435610140526000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610140a3600160005260206000f350005b63e1430e066000511415610e71573415610d0857600080fd5b6060600435600401610140376040600435600401351115610d2857600080fd5b60406024356004016101c0376020602435600401351115610d4857600080fd5b6308c379a0610220526020610240526024610260527f4f6e6c792061646d696e20697320616c6c6f77656420746f206368616e676520610280527f6e616d65000000000000000000000000000000000000000000000000000000006102a052610260506007543314610dbb57608461023cfd5b61014080600060c052602060c020602082510161012060006003818352015b82610120516020021115610ded57610e0f565b61012051602002850151610120518501555b8151600101808352811415610dda575b5050505050506101c080600160c052602060c020602082510161012060006002818352015b82610120516020021115610e4757610e69565b61012051602002850151610120518501555b8151600101808352811415610e34575b505050505050005b6306fdde036000511415610f25573415610e8a57600080fd5b60008060c052602060c020610180602082540161012060006003818352015b82610120516020021115610ebc57610ede565b61012051850154610120516020028501525b8151600101808352811415610ea9575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b6395d89b416000511415610fd9573415610f3e57600080fd5b60018060c052602060c020610180602082540161012060006002818352015b82610120516020021115610f7057610f92565b61012051850154610120516020028501525b8151600101808352811415610f5d575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63313ce5676000511415611000573415610ff257600080fd5b60025460005260206000f350005b6370a08231600051141561104757341561101957600080fd5b600435602051811061102a57600080fd5b50600360043560e05260c052604060c0205460005260206000f350005b6307546172600051141561106e57341561106057600080fd5b60065460005260206000f350005b63f851a440600051141561109557341561108757600080fd5b60075460005260206000f350005b63f9a40bf660005114156110bc5734156110ae57600080fd5b60085460005260206000f350005b637375be2660005114156110e35734156110d557600080fd5b60095460005260206000f350005b632c4e722e600051141561110a5734156110fc57600080fd5b600a5460005260206000f350005b5b60006000fd034a9cd0414fb91700bc7aec6db5b00aa62c2252f847ef96c5f047b87367cbd31f03470a2b4303b7a2938a47665d9152484dc1bd5bb35011fdde0e5aefd90b1d6db203b66114b744fc0c459e700d3b1db51c3d97de8bad0c308157a164c4264bff25fd03efc0005fa555e82acf6098e690f64f478fbbbc621c388ce3ec8632fb553bd53803dcc04479d8c5c87f53eaac013886b61b279fcc0d3c99e15217749e80f9d5bb6c030a801f7a987b37a25ee11ba35277eec3e24a89371993fbb41570aa98758f99d603451bbd5beb8c288f35ff275862a4d3753833aa8077429fa3eb95c29ffdf69677031b3f65687429b118e4889acb9c6578a8e2b70a80d821d67bfac79d2bb4a400a0036caf027ef3e5dc82658ac8e12f143726920e0407993af732221cebc51547a90503c726b2b0d9de901df9a6e43f0c388865ab8754cc9182d0b9fa894f8c44d65a78034774b05cf58582f32dde32e8de84e5a252a40366bde814499c3659060b896829031c275c04c4fb232794038739f87ef44e25f774479aa8b2a6aabc243a141498a70373b9d2fa5bcb64b4021dc712b6ab4022c8ac52a53da7e9901291356ece89a2bb031761094e95b72314aa06adb36be64d0e06a459c9107ac86e633c66b42bdfe63703967268d4e70cf71f1778f7b119f78f369658264f484a9e503db527026f48559c030aec928c0ef85fdc63a1187a4ed1b33ffc07ac6387cd85423c818c3c2f077d800388ec75f8277504d84bcee644d029269a1cccbc42b6138ebfd5b227d1b0f86d1b033ef42b82e5258eb1fdd6ad42f0851291e478202bc5914fdd0f887a98622902e80318ce3b360599ba78c1941ab757a52fe7d0c83d2d5c92b2ade4a9e01a31f54e1b03f7725e24b6ca62f19a1ca78acdff29b5b8e8893a1b31b8ad9bb6b61d0950455703f964ca5738e21af8e392b431bc6bbcef9d415da6441fcdb23bfca974c153aaff0373ee56879c2f6406f7f04562556e3028651f53bbd07cac61f2a680938e66eb1a00581f03e4ae2b6141d892478e290463724b8b653ea99f5bb97a9f0d142270b7c8704a01212fc98ad8859f5ea900581f039dffe1166751c439096bdcca199b04e921c47273b22220a9023148330ed04c80000000000000000000000000581f03144536cfc0bf352c649ced025eaf730dcd27ddbe8ebbbcc09a0ec4b71f90476a94d74f43000000581f03b97e4217cb8627d662cd22565d17e4382bbfbda77327a062cd0fa43937305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029173df5a94a6653536135daa40a5842d3fcae3f16af8ceb9d70f956af042118900581e0201b0dff4f9d6727301ca0f3aed0456d26acb8fb3cfa1afb9a65b5be0dd4a1f113b348c989175e48f021908400219407803f8aa9914c60a960b8efdb7ea9d5be3c589ba1c119a74ae902ab305f8a845927601410c036e2525411659fa4321873ffa0525f85eb4d44ae0b9fe70c6365c31cfee5e2bff030349e941be30dbd0076d427a1f5a4457ab037f788c766b42ab38ff4cd8aa196503fc404719bb8829d918e977196eec5b4b77cf89a3f95cfa413e78bd869ecc9fa200581f02b15e9a6653207a13997a6f4a5589401dbf57d0a18473817ed57c92927de7410f039570ccc0644981300e5fd7fd7919b37edef788dbabec6fa71e9fe0eef355f298039594695e57558e13d5a221d148a77338dea88c14970e403adba68b12d5080ba403fc9e30fad39e79a860884ee35f940e3ad3c076d9e0ddca0323355fc912d3129f0219ffff035e33063696a0d413c1945fb3ae42002a5fb34b5a4cebb3f011678b210484680403930499396b17c7dd785b7d582786c965d0812ae1618289a7ca857633f72f5bab030e2f9f99df227a4ea6dce99e7dd6ae9aa7690c2d787116bc11352a914217750803ab32d3c2e5282438df24bbe4f32737936a90e89d3ab4ba6a8ad60fcdf6a74676035b13751119c602b1b86b2bb5ef94b65348fa11a4290c3562ae0baa69bb282f1b03bfe63a005e070e43f6e392805bc81e9085245936c7ce73a3c0e4c976ff83e35b037af60be8bd898cfa718a77608d16d9f87ad92679b4f3e77b54e4bea92fcc33e60359cae7cb6662852619b64735823fde5ee43610ae965987a4f4350cc94f44a6cc0343842083c16c68b8cb16bb7a8351cdb9a2d764183e00ff8a5b7dced1c44e986903a776fb81977b6f619d7d378144270151a5bc066c71faae7c0f40133413404f360219ffff0325054817ef150538fa8fbea94b52a19e8eca38837ada3eda95f1f5a99672379c03df82d939cb3027fb47beddf19338e93748dcf624c35e9ad519e089ae8f48f80f03dfe17da51762df799da6a719b9acdc3c9c26b72100b07ee3267b84857225656a0300acc8849f74005358cf1afb695c74cee445b93b8ba84d3d72a39831326df4cb038648206b521b9a7c9b941e68f5d22bdd4738d9716320207599c3924be4e063d3036846cfc19f758c773d7f2da53f72bce36e3229796725f866159c72d501280114031648e3d8d8edbcbb04b9373674d07559529738902f455f715024e334046730a30219ffff03931614f1b45d17164c872fbfac7242edaa47184e69829f16f58a6d45e2de441b03ca432b84c7bcccf68947136962dd4ac63e4e33d6ed5f4718c498e97fa2e8fc1a036bdd97eb19153583b3157f49179be2ceb0aa6330b3544555f8808a72b2ea954503438738819998d4eb70dd78ba738c4b4a60ee8efe233993c122240417f2d60058037f8d05df9687edb5410948d2939997baa93f0d29e18d43236622fb841efffb66038a64f0ba38faba8dce65ab95ebae1f72cba49d51daacd14c7cd6755393f3de4b038f94ea4fe8385732e42c8713f4cd773574c2e98bfe82ada5f12ab1b29dad2b6803d75df6ce4573a72c262c14bd7129fae19c28edce281f844efe9c7ced610d96840316c39cdf32d304285e5fa1df5f40c8e4e3bb17b8fec2d2b178b8bad8d7acd33c03d895faa0513f497ac6b163ed571292697bd0147b0d1c2b0de64471f8f535e49e0332c1cc2a86e1d40e54fe7dad07fb6cb3a8bd443e4f31fe46b7e145147fc43886034720976bd38e0d11fd1e8f6ba68111308df21cfcdd5f589e84da6241149def190350ad842a3aa92ab76f45701884804bc54145e23ba445c44c4ae3846bd276ee5f03d0ff61030363175f5bc9decee26adb6267befaa2b4f1e3b73320b133dc66b60603aca7e8e499b6206503514019d889d6a4356a4b572f3d3dab7b00041f41dab729033f19e45a14021df226dcdfff0a38b6ea9e6f36582bd8439642ef8076492917da03f14e4c41d075d8edef63415a019ce578a01772af1dc64d4eac105af5bb13a5e9030dccaef84feb4c825037023192057d0a6dce71855d480ad609899d39c65ffe9f03ea7d30096be20b62415d7374931976927dfb17bc6e76eec2ab40480d358d134a0323de675b6338ff81b4b19a0431845ed7a1689c6a510b2942ae72890d5e73c1490331e1d9029fe63587a185abf78d582edb6f1c8a2124345baf7912b1fa023156fb035628f34777a7f5127bcf72842774400cec6185cfae55a9e4466cbfbc801810aa03f13908ee3dc7c90cb941921ce504ab3e519ed2b2f10b59f7d3f81c4ad94f815e00581f030171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04464d9567800581f03e98922dcecd57b89e3760b41545de7f4d6a54fb417e32e79633c818b7a205820fffffffffffffffffffffffffffffffffffffffffffffffbe723eed14149f04200581f03d007fd02ed0e77af9ece71db02d96537bdaafb8078266761283a50f859704604b87638e16f0219019003adc20534492a18268861bf175b82c1f85d0d23e8284a6113070ce994af33b5e203963e6471588de04a4c9bf570c59b5cba9985cd9dc5e590a504f87d87652b77be038fa148d036c1287733f9e58ff9828a8acda3145648347cbb1cb2a646c33876e0032fb2c3d4372687b076f774e61f74fe78dc052f14a3772c58ccb9d114114738710343c2f4e8b6c1454b9652a01ff6b34660f3b57d47274a45383785456540ccd269035b2a3c93bedb2e75e4218c38cb3505e1d68121f0316c779ca0a04c2146d21a1b0391367427c410549ffaefe7ad255e437c0b0f475426fabcc1ee9deef047f7273703286adf662c618b0c746782ddfda7f25d9eb55cc5d01697b797ee34c585975a6a039d1c2e378e3ceee3790cc65fb653320d589edb564eeb80c5289a7a529c027235033fdaae6c43d31774eb0d095894734f08d92569216a9a78687674d1e7a8cb75400219ffff03ee0354918120963e9c667ee292b899501cb1854fdcaa02bcbcf5b60c9968786203830fc0674c332421062fa9f5431aa1d04938860a653e3077e06c100a164a062a03a7eb0323a6abfb4904fc5eac9d47a043ad9fbca727725effbb095f349a50902903499723bc35287670119bbeafab01c32500bae9cef57f5d5b51768f00ad64f007031ea5869bc7db745f66c4d0252f972db7c57d5d26fba2d194b173cf878be83e9103da46ee6d9c803ca5f69f6230a69b3c0b2b7f4dd79bc14948a80c8d441620db5903fe7f17e88ea3ce9204248f3b5d31145a0c78b8c2b8c32a1dff201d6dda447e62036faa3f38382debaf8a901a25df8d4fbd5d019b9f11acf2d7054a1d131e07ebfe036592e13f309d537dd687966b602c20e03ad15482b42ccb57edbd1b8d909b973c0351bf08c0661b7cadae601766a0fb113f9af41ac06366393355ed3edb18da496503dbd9ecbe034efb9bcef4e9f944c46f375fae285490c9f125794b2df923f7ebb903a4fe02dc0c72b92b522e82ecc4fd0275101ad6b2a18e393351f9fccaf970293303a9311c5a0651b03bd687984af7e94ef0c6cdff304b3160187a49ad58e2ac277703080eae6d5b20c457f584577e4249f4fd315d2ca4019906fee6c0e8efe2914cb20219ffff030f54b8367bd25e338b6481ce3b9b232ae78cba48485abedb2d095dc46f402dc10219ffff0384e852f4ed3d58648ede832937a91e02dc91df8344d6de49df7a7908eb408b85038528d6c770161fefb247eef81dee20315e91552510096c029302be75504f0e0d03647c38cd98cc23596bd4ee7546b04185692e0a4dc3fdf12dc63617208f821b50032682e4e57abe1bd221fb83625c74eb3d0c39c032512a5af1fc8a6c57c41eba98037fd7e945e0dba858aa944396e66983881117c15788c7014d6cd68b817c58c66803139309b34944046d5132e866190b0e2cb87ab34c3307ba5e14d92678004186ae03028e9904d12c22ba1a9b1f295f6690a57e39be43d73883595bc3d1fd18e443a403ced36a934ee5ddd7948206f3d5a20e958b0406d5113ecee5ccae5f915893c38a036c0bf6afa1e111982afce5488cf8bb81459b735843bf282df498596ad1b6489d03ad2a50012a646e099f5a569104362e8cbe2b5445499b8732be5bc17bd887fb5a030e05edc89ba420ddee715fbf75fe6a0c69ba4cb21614de51972fdf059cdd503d03b3502cb712e06f5daaaa9b03963fb04a55b7c6b59b3b4a0752226c443a0aedb603178a05eff24748503929f1f634806b2cf74d139d9ccc7dc1b9ebd88855a57da803ecad8376abe23fff911092016947b7569faf757426cccf6c862a639e7b097a8903da49de43427940dffc908bba010b01472cea3763a6421c99dbb2d0c884aeb23c036037400792971f060cd6c3ba0460e8d84c1bb05273cb1bce8ed46273166420c4038257b326364dc44dbd467e7cf45307b5d2e0ef84e3d411f2dee29a1493ce939503b7709aa403abbdf34191bcb1068a2a8ee503c0e9c9186d356d495dd757616fb903f22e16b7f41dfb0fcc33ee292cc8a54970caf1ac6789dc2ccaa4e8d4a4af532b03418e0904f8c1a5f477b76733697e11a3ab5cbed7e9681f0ab94f0dea00834e2f03f25d97496a7f6d55b45e343a79ec23bc8716b3301fa28a81fd56c923d3e2d5f5036396c3bdac7eb7a399f47507c54d6730f4e2322248b86bf9075df92d59c24b950355df5c349f3e3397aa9c8b301d49fbc59a91c0684eb0b2eaa9b18014099a9a0f03668525104e5ee4b7da6dde4328ad36cc7f32b25f2cb813d4e69858ee976df3ab0379b6e77f9aa7a97986fecd96ab29cfc8dd99d6150e0ce5ac280525f8d7834391037ab65a89cdbe8adc0b5e54805a50eb44c3a90f5f9c7a6f8845c9d83286646c7b00581f0397f5f61c2a0f358c7f1b21c9b127740b4903f322209dc87225adb5b92f905820fffffffffffffffffffffffffffffffffffffffffffffefe93084795aef1d40600581f03024a2023cf2c13224ccfaf032d63501fd6453e0ccf37cb3e189214d09e80490196acf6747d96d71300581f03bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a804847e8a6e2d8e2464e00581f034b7b9d3a15a0e19721d05e500b3e304b1ee8e43107027af31db6e3f319504902935e0f5a759ce00003ffeb9e65fafd86bd4337dca15c8f4ca9e9e5e634b966f1ac36973e7d2bf8c29200581f0368034f85d159b29e7e6bb8ebc51cf056c5568e5667d5ec0ce88173c573605820ffffffffffffffffffffffffffffffffffffffffffffffdc72edfe3d9b95d5eb02191589035fd0431fa7d28dcba7345b44600b31ba21ae5bc11c290f58081f1c1904c9215900581f02a7eeb46c20836094fdb92e8a75072e2fa735808d0a9e299466a55788e6324850a85f34ea920000035e24d3c355d960cd7df169b27ead1dbfbfdc0cf4e5f7d501b51c49f4b9e9b649039caf5862bba8d0689c898a083f6daa7b29c77ad13fef76cfe99a0c0f3414ed440360430eb93637a85c1158aea838171e00db2b81ea073563041ed0a6f4994b6ecc0219ffff037fb7c97ec8f38bc3031f792a7fe03d1182e0a68f26ce7e0c048e634ae9fe61470370d1aac9df8bfbf0315b7a913fb1d8b4f7f4303ff26c813ae03c494df453da1903eb496ae506f0234d231b32f94e9a7381de6268c8bc6c5b466a412032195c9ab403be811d008f7c111e26865a1fc3cf02ddf39247904914cfea30431d4e37fcbc100380bea1079a023cd451ec58158324b108a25fe86df902d052db6a6072662413af030c77d0a68d0bf0a28b9b1a9643ace79bf1c3cdb0a986d0c3418baf37d27d982c03f9fffab1a4e45af2ef037ce9ebfeae1c1767bb2468c3ec7d0e4ea87e463f3c7e03f6b8af15960b22b7996899120013ade83820ab8a74475139a465e28e5aea5a46039b8936b0603113e9e6a914edf2911c5602254e553e342de31809cb8e3a675acf035833d81028057e40b48517fcbc80d50664d4edc166cdca2bf2a60e85854af6390219ffff037f7c511a4b1116473de748a394376fc4115c06d329e09343d3e0ddd302b67160031caf8ce326f0333cd54e8dee389ff0815e5d03d6b37e0ba46222e992cbdcb082036945b32e6a66f185386f8e3000e5851df44e3f4c16a6baacc0bf8806671a3512037e8da67a096531cb270b76523d81b03639eecbfa254b7321daba23e6cad4c94a03cc32ff665a087654be375a5bf55a6591a2586b947a2c0ca820983492e3c9db7e039a2b5038aa98080d883f414219a421289114e49bccd6dd5554ef786aa521c0c803ed4d9d11131ab9c15abf5e1e61cc456a126a0860abb3fd1021e972d6403a35fb035f8148c9a865bcb884438b840cf86d725176541b575efcc7d8bbdbc1b7ccf398036247ab8bfe8e69bdab64a43ee7137cff836caa000e6ea541fa58c70897c2e9f10219ffff039805f8d12608eb4ff47af9fedc9facb6f70eef5e3ffa0e4e2b4095502c259c6803541af86d57c75494d6f9906f24350c5400b1e0b2b09ffea56f00544e047119f603e55aff5af4a5bffc37da5fd9cbf7d6df566030c24f7802fc853d11bed02e7e40038d23e8530857b86946f9da2035d04abf2b82ef0da9f5a44ab9e9f1a39848afb10368fdc1a5593c9bf7d88fc1ce137ef7e00db8c84a58cd3138552850785f91609903f9b0479f21f96adab11530479937ab6eba3e02bde8eac034bdcbd1ad938b3edc03d7b1741347b2c0196fa8ced847e2067135cda9c17d90ea5d89efef0387580c900379147d59fc46e40abdda76dae6f2d0d32aaff5382e9e8f42de096a4e382539d503ed58ead8bc47f5d85f4012b591a52a0d513781d56f6e20c35c5af6c32a66a61103dff80132f92d8ff36de67378aed11e77925b6367f672700a9e4723f69cded044034645261634d699accd4231e51375c95c0692d17e03fb7ea5066fd87ee5c4c3b1038607c1405289d2c565d3f7d827aa061085a8416e442932eb150d5c849e9112ff0332dfff0833666a2e5cb9be8e782fa394188f9cfed6bbd5c40777824eda3f891003fe745fa6d7e9021af979f5f422cf04b46da5ef87ac5ca476fb353af90239d96e030d4e9f164d7b06dd7c5151b1be8dbcd494cb2df6751b80f2bd06d82cc006370f03fb71ae5694a63cbaa5cc1f745d6c7bcef58b1182d836b05ded83c732c4070d500369f95fdc7c5f2126b504af30ae8cc860995619453571de904a8b3502cf59f11300581f03f03731fb68d5388ccee21e1ff2cd40ac254ba5ef0834092466f0601e6d104751878395d6034800581f03d83c2eaaad3ec3909d1318468ab1b6cc57229f4047b4a1d995bd39c7e8b05820fffffffffffffffffffffffffffffffffffffffffffffffef2617b835a3e77c600581f035e63b3b29d8edbe97540c71f3bcea763959f705db4289afa84a85ced6f504a04238ac3116c49c4764e00581f036afed7544e5a59fe1f3db62c6a0ecb32c27280ff61a6fc4695977e591c604901149595680589000000581f03a77b4263691133d59b1022cab2cd45d57c383a8de62c819e2fbd268048c049467457670172fea50002195805030b9c5587a6839dbc1a3996fd73f9b220c919403d65d6358e5b286c51af75fee803beac9f31783f06233dc5bcfeebcab6919b389d206dfd5a7dad97c2ea07e18667038c38190eadac33bba5559eff11755da98cbf4f4500202ee1a3183b8b3fa4eb4901410603c8ec44f4549180dcd0a6be3a65df982f492dfdef83538448224e689d23e2e46801410b0396d1d0fa4d0c9d7ea0d1082467147f955cb900cb6992e28b4b048ac317733b8f031bc28a88979b08365167d540d4947f81629b6d61668984b412eaca308fa43b8000581f026197415a5eb4932698586dadb5a2c8745702d445ed410e05ca46ad8be76f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036b47abf0c454a8565b88c1bbb78bde7cf37190323fc1c816f420b615d4f46adf03aacd587374d5862362b2d6741fe6bb94f94cd639129ed6ca6d853232016905280318c69cdbff2f2f026c8a835f761d95fbd2ffe0b2face7702e99f98f53402256b03669b8e905b05ccf4250c2e885d377e53bb1242fd837cc8a67749d2bdd48f4c1e03ae5b6792923d7af126e75768b13c1d22df56744e25460d9a5e59aa0126b4222c03aec733b74a66cc001e45fc0d4d829b4561073072a8437fdd96ecbd59cee128c30219ffff038cdcd843e94ba2b58b0b3f2dc36a2b5667dae466520b29baa83a2a0f6fbe44020344fcd00336647fcb99b1081fb4d384b37c98ae05e5455499f9672a450ef395c203e3faa021e9abb26c5833e5d9f31244d7d1969a31a8ce684530778069fa7f4e1403dc77a65d47411a222ceda9928afbdb6a4086ef723cefc99ba703da95a15a6aeb0219ffff03948e35a7e6a3a9cb1174794b01dc0305c2a40b5b6b5d127a2cc82dea46d38b0d031e0786d50984b6522f38c1ed1c7147ef7c086c95f54e5582aaba411a4fd44202033e505c78b7edc3312563501beecf817b96c31e12a9d800e0e5a70238ef62ec1c03ac355e99fee919deb42d64b9457a51f67dd96f3932d4e2ef6154d915f80b381203b103ba8b50296a161cdf836de00e4399c1ce3a02a23c624c74fb6ffaf47f62f2034edebf4052aa876ce473f1616be15db97cef2d1172af519f37fc2f5f34fabe5103747f1aa6b312e9325ff717852b7ab813525cd7cf4d21a48e273841e31638b49203a3e77b0edcb783936ef779cc242d2887c6a0386b94852171b8891f6e8b9a27a00316108f446c3ddf21ba4162732e9e69e0e909659ab7cb03f69faf08788082afb2037fe599aeabef0a7388768edd71dc28eedaff4e57a7e54c00861f458dc040aea203322b41d5d5277c8a1809a7e8f626bda82667f81508d5c5e5449cc84248676391039b211ff7964bab75c86ab9838c0ce3e6c4189e873422aae2eb7856c8ed488ab60219ffff03c0d37f1aa3059e7da2df046c3a58d385018b658b8ea40f1ec185b09d9352abfb0219ffff05581d022ed3ef4d4346b6fb9078d4f5873af24c7c7a5b2810e0496111c99bb0070119111105581d02e7288157e6d40589a7f812d6864f4752c4a648e2e780935286dff6270c014701c5b3876e01700219020105581e03f3c5cba6880ce0cfac3b09a7903aea98ddbebd399b133af5045db213a00c014501f3a2143d05581e03625758d2a7b8ff367f3ed7fe5dd3c9ec0ba27eec9dbbb4602ce29879e004010331109bb6b928fca18ad6e7e2fb639050b40a6418dac087e778f66e65859833f8036b6bd5f4efbbf00e88c74532b5bd8b8b5ab497dc3ae7b1cfb6701cbdb61e40040219a0bd03dec173f7ce19e57d76786b342159af986b9528feaf2267d1981fc1ed06c59ea20219ffff030b59dd71de552d61a02eba679535d2484bc421093fe2a22e277fe77741e63ab5030e16b18974310088338507e19f5512e598f96e9f32e07a3893732d105c29de1a03728f1c0815f92da4e6cea3de20be169ac3fdcaeba5e5fe049ce142296ebb228f03e4030c82ba5c022161e34728b57e5946806254dfb8170054479b42f8ea7b384d03f305f2ff3d31b8d09c1764e87fada22873306173b519df2d3e607abea0efc8ef03fdf30c8a124e4bbec10d8974a49f5f3036c6206899e1fc48c84ffb60b91ec354039f6bdc6f6776c3ec55bd6a3cb751c757277c65a1df813ccab45105d4d2eebc140219ffff03094f51864d3f860fb162030c28b40759bc3c9fd9d24108993b1aace8ae4cd35c03f0f92d13d86557dccb953f99f405a03479087447dbd7720c6d51a648efbb858b03fb6749a4c1d2e2dd049a38a91b20f66133be903c2170ab3c4af80fcdc297ba280345ec5179b15005a6c900c255d9f46a625bd7192ac04f722935cdb968a5ade57d0309cb05a07eab9c5cd83b5e5930ff7e062039fcc993d5b43a0e1c1e4dc37356b9038bf0edf402e6aa4c0a4ea6b8387e18052be93dffb9b850050d0b6d5e330bbe2a0307de407638ca1ba8e1592fbb33e21deffffa7d2a22162edd99595a6b8ff6671503612239e4409723731f6058492066eb8cc8e4ede7b5bbbc7dd788978e67def1a3037d0046086d88e8d7ecfa309f4e1719ec9d2ec1c883dd551407989034c90314ac037d9fcbdbd913f80b869641120cb292a3d3514c89e88c4cd5bf89598353d6272203c2afc77351aa891a25d174f6861a5a3bc78066d10d84276d27a64b7decc2a9c20219ffff0323856972abe56cd4bad7a38b364e2002fe679e00967d2445b303a1902ed5307003bd88695ba10b75aa67d05d4f3ac96f9b76d4ddcbe8a65b7019fa990d66901d1803179a3b92568d7381ce62b5358fb4fcd766680ae182bd12f5c6f3d50d278447f403a426c09d825b58d14a61b986d850cc4e3a960728052f762f705928f89002ad3103b774654b9fe838578a4e41aa09b18618a2a7771edb3512d72701b90d44debda703a4d8a696f38e2096d89a40b59f453239e060df988e4d6d6d1a0601b136799ecb03f957481bb57dabdaea58b91aed79c500c15dc2f89319b6fc8bec71ced174cabe03680583bf07eb244c84f3a21edd5fe7ce3d1797169e7ff0c5ae9f157e702b4d2103eb68f9d0b9828213a21f1bae8fafdc66ffecba0073126e58a5bd5ea54490ecff037c96ecb2508abebd00c215461280574220928159ec7d05ac8288664e0c9f0270031be6e16678206ee2b1981796711ba50d6266885fb7d22bc1515d9a4a73479d640375acd57515c003937071aae54d82f99adfa49014974e665f61f349bd8d857cbf037fe09ad10ecd48855e619e063466f25db01eb139ac9c7aa12f0230862b5c373a0304654de2bc5ce53396ac57bce76c0f6b14f84ba0067cf00140866fe896b138ea03f50fa5e485fa610b4614e522e1db6a91514dcd4b8e04339fa5c196ec2c6166240398e32673fbe734b71fa73edd344a2de9c446e28397ebcf2f8fda4e7b48c95b4b039a4eef5527fc6ac60b40782b63218c73cc77ed062569deccb13232531d3e9638030dd56322724852d2a2a62e53844ef1eac6c8db55ed75901b681165155b502a1a0335bbf071ec5349671d1d52625d3d5b5d26bc230ad67f65c089d8aaf73faab4f203d0204945a45907c5d68dee39fa4e45c01ce801dfa60637cb3f3605093ac43edc03eb206cf1676a2e1291deb85d60a49b7a09718639c97260a62c90a17da9763a8105581d02c8167f6b28fcdcbcf9aff16d75bef6f7f832df78c3f35cb5eec02093040105581d023b031efbf8449744dfc1829c7364418113de2a244b3e2cee73d9e2980c18624804a0475d4e32e2a805581d028c64e7be5a9bb1d8102206e38fa7961e31fdcf20d0baf1fc9d6c5f1a0c014702468de3f15b800219304005581e03fe6e0f0f2e54dfff5419de482660dad1820e8779dcd451fe2beffcf5c0040103b6954266585cd8d98305278ec7561c87784a75419ce23231894cd24e68e1a2600360436a024cee88c16a8858051a31999b40591ee43806a0e086d316747f7def900605581e0301221b175ff39ac1ec5ff3c8e04d0c75108f5a32d657a05b8b47f1160007011bffffffffffffffff05581e03a085914ea8b34496914df1dddded59ea92f5d13aff7b244f79ad34ca00084705af3107a4000005581e035d4970776deb0e3c9ba421570da0346bb65478a7ec081d2175bd1968f0040403bdb97e610865d4a24b6965decc2f10191987ca87bc6abfd4272f9381329421d905581e031df21410dd15acdf49020a5b9ecd81aad42a2b8dbb3f36443c01f70ba00c0246d31355f5a000038639c2f1f94abacd30bff92777fde295ece6c3222e69f2979809af344b9fbbf80219b3ce03b41763b3035f097081e57e426f2ee177a892e570d9461e34e6c4ee938e4dc101035dbd5071f2e4d2e0a5c5966390128eea28f21d9ce9d90a2152b575944076474e0317506775449924613878313422744d1bfb5f29d7af5f5b662902703f83892d9c03aee0cc4835c5b3534c5d2658f42e5ab8fafd37aec861766c81925c5903b99eaf035cbe89b30780787062d3c8bbb32ee738891c9c31de55943808a0df4fe6b0d6d0038170279af83c4b9dd5322cb4fb2613633b7a566c0010cbfcc57e5c4a93faf52f03f18ffb81353bde0ada0c7bd4b46b53f3227595b632f26bf249a20d3da7c6055a03a8c6ade552f4f7d83c563403d142d0664a83363bfd83d4788bfdd470565e5abc031236f1bdfc20a5ccbb26aba331ed43b42fd70a7fd12d6a6687b53f54e95f018303d2ee8adb7b8e111df108939360f973ac6d70fd480798c7c75ae84d3b4982718303db4da503cea7168f5b6813a93c51be3b3e53a3021f6776ee9f52ea90047f66d40219ffff03a7eaeda4473c491f140a5c58321bd103439438c7814321693b7f315870bfcc0f03d157bd5b4c83840a6bfc4c6dffa207f6a5fdb59f9cbf757bd0b490e632eb18af0301845035c9f265b112957fe93acd431f304ba54d1c45eee560a829024460f3f503860eb1d5ef6ad2a5deef6395fc327cd0e4665dc1d35b7fe0dcc6c098a3c1847a03844b1abc65d3032901b880b607b39b3b1ab5530f07e29f6afcf1f51d7a98656c032a6daa6add13e06f790ba1fdd49c274167a5d4cb6bb14b4a7bc5054ed383beb403949df64fea027d3a26777360a9584326bbf9d0478e289877c302d65ab522091f03e1bbd34ee1839caba63acf2c766af8de47b7a499d44c4754924670c961491f4703766e194a097955bf7f866a9ed2d8e32e63cffc92eeb8caae714f589b2c6513d7030d342b181be87f0ef3f12b7e1a7fe7ad097a9e5ed97fb7d3651c7b4371eae83903ee5c4a2814a9a5029e475cda12910a9bc895042090786d354a21f5fca23ea2c70329af67abdef6f7e267afca0e46ebfd375d613418dbc83513ee3f8a43fe1f35cb03dd3a4a1c9fc77e2f263aebb6ff843a559065146318f24ade66d964a460e36a1703066f996258186e06ad88cbc5fbdef620a532e3faec8f62e67cc9bdc42b2438ab0219ffff0219ffff030e28a2e765e590674e0cc752ca933770ed99eafb9007bff6bb2f48ab7563dd0e035225042d6c62f10aaf6e57439815ad70e7a74d323b328e8ffb5985c92db01bed03b683614d15eaa670520de9398c654730c20e59f10ca0fdf0ce80efdf61932ec903b55ebcf2f4ed97c0597ab859c045f30e1f91b466f94507a3030e8af4cc9a65ac035bad8d75ab5f26a97692b6d7f85bb7a6c244e8a7b7c864616e097a873d258ec003f8d43326e48ddff6de111bb06e9110bb5bf239a3de170bf49a113b2ebb9e1b280369c986950700851e9f62dcf46c38b3ce634fb1a4265655eb07a88f7b44b83bd4038cfdda55694eae2a93ae1031ac2b4404a94d4cd87278eb1066b14ebfe37bb99003cc3af646cc7866db2a96ae0217dc752b759339711ef24f7fcb95885a214ccfcc0389be62c75db621686b8f37c9914df5a2a11b8b12b3daf28bcafe8decf2fa0e5f03d823b791161212fe15460bf1ee434ea59f6377f001610ba46f4ee75aa59fec73035e628d6b6c327c2e252790286c23b3adce1e537ddc7aefd3db95f81f2a15daf3033b9a2b6b1f81b819da5b65ce6ad11ec14c335112188f07658355060179bf74f303a6972ac7badcd5974b1f8384fe164ffe9dd277059c032547d18cc5deefec06a00219ffff03ed7a83cc55e22fdcd2e7dfa6ca1f49f1fed8232198b1d8f02f989aeb8352812803ef22268e8bb5cf39d778bafcbb1483719e332471a2d7908e9382079066fad600031f8790671e3f184e06c20d9205232d27164374e44d33db6420b2bab6a3ca1f1503d48e394ccd9bef8ebde50c57f348687efe171170129b8e07fe931c7a1f4a38a003c06c40d7a1694b0e19dadcca0243b25fd7de3c6b15a210d41c6243b35a5dd28e036f9aa0f5b1d2291ac04c1e9777db62319304b476aefd5a30f15e4cf7afca6796033d30ed37ac12093f701b9abd53037a211083bd0d969fe4d83028c6bfb0d432e8034cd05add6dc1c8eb19cad8ebc7cc62129b1b13e6a6c0e123189567899ef80d2903f8ce3d429b762970862f7b5ae696c8d81cc2a75ad879c6d2f50aa85641ab978e03857211509650045661c02ed0792e0c1625e4429dda45e653d2651f00c057519a039bc6a974cf3002f1a80824253247642b56875e8d40b9390655aeff7853b5dc82039b73ee30c52fd3d23db47af8c05d81eab640d6c07456f9962e2160ef97ee348503eb33210e38e139f1d193ab0454c2ad556b2bd1b529a0b9130484134a671914c5032ec788471772c4e8518f11565fcbdf1ed3aec5154e442fd13ad95907ecd9a78903a03562286aa759911ee797157b103cadc0833e1e342c7b15861b056750646a1003b4e8a2ae1585f5e948f7a21486dbc35eafb9a52ff1940abe387e2fd518f71c2103d9209bf8156a8b6f9816edfcf7ecacc6c199f375b15cf882d8d23729f3f0fad203b85e097f11cd20ca8b0ff10fef73b617849e8fecd879b9a8dd7e48f24acb77190322dafe86946ac946d33afd90c74ee3b6df832a41048879c32791da4a99d9c7740395fdc0f1d42e2c0be930b37b5c0f8a51f35cf075353c6dc48fa77d07233bcae903ce2e09d7d5db0d0b614116cc4b41824855f67c642a4aeac47d3d44c5d6914ab503117fe5756171e8c82045b1cc762721a4811812f503757d2bb131d5393cd534b003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03705d6f7853bab1d202be83f9beba9e14679d5c2b661b08724dc80ee0b007011bffffffffffffffff05581e030337ab42b35e8ad302f660a93c0cfada5636983b3d14ee0d77dbfdb2c0040204592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630480f406e437279d4af00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af050698b5b864981f1247a1f6a36860d56cc005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854fb1f2605954124b76bd7b950d39aedccfe5f0b1300582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab047270b57b6e79e3f0219014000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820d34231bb004dc13796223e4cfa87feace607905cf93cdd99de73a9f4244ff7d5005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a851b11e788fcd5f030b34057d3e5fe8c64bac02184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd00480f1962ebbb92328800582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687d5cb000000000000042f482ae5b46be60000000000003a66e23915f439500058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218480219f44505581e03c2a03a223906f7278802890e94d4bb4494067223a75cda751d16cb8a600701192c1d05581e03cdefc8cf044ba962a925f1c90fd94e426efaa5f8ff68124088470515e0040105581e039997f789910dacbcaa083174286b406e90e372a60ce4b0452c1e1f6e60040103cbd3eba7bb84b36acebe39c72ca2dc0e9a82153e63f2015dc6b66579d5b8946f034d4e5a12aadc65775ddb1c701bf181ee079b6f210cd2f5f72e068fee10c4c9f005581e03bc4bee42703b7550be2c1ef67c75ade9bdf9f3e724009f36325f0a308007011bffffffffffffffff05581e0306c42804115e91555200f8c2f9e31c6ad8ab3be3f28f1a2f5bcaa035b00c024701c6bf5263400003583d64132ff17896a2a4be88287e6151fe3c6299b5f00f79504d95006d7384cc034ee5341c8850e5945921b8d9b947ae1878c2be5089888297ebd1a996950c254901410705581e03f5669a0873c20e990d9f39d2a70aa6158f1725fe1a0b7183b4d3dd2210084738d7ea4c680000021934fb03c7c132797c52df998233a3084ed4e583f94684b3b51fc637e012d842d5f2f62503788918bc7d04b6dc5dd6039491f225866dd31ea31ac6edd4ac2008644c5f5e1d033d7bb9106f57101c9cf214945ad2bb2cc2ea7f155d710ed62b8095b8ae378c560384afed65a523efc0ce6938908aa720839cd1a317b136ba5d5b9d3be827ca8810030f57ddae86d3f0bfed91dcc31dd1c7e69a8acaec36153229b8415a2fe94f98c903ea5ccc9282686910a2a67f607a35f7581fecb30f45a461d06f8cfb5139c6f961035a763f8cb81fdf233f6019cdb6705494bd9a5a6e4ff73566f8933dbf4973ad31032b59d90207002d76261f0eee04696d511b75ded6cd4b26a9785a78113a35d1af032f718dacd907d005bd3959af119b75ab8d76e9572080cfbf70a69d791ee95f400219ffff03d6e7d8a8c601f8e6f0739d8a3b7a819e73bafd821bcb1942238609b361d04a850219ffff03371a2ecaa2ff8491ba6c8b973fe6abe4711ee2920dbece0d8e538e32ca33ad120312eb0459dad8489f8b02d407d44ca7bb67d2626080fd820f53b6853bc286fb8503bcf3bb25cadb1ec2389baa4258ab078828c5ad7aa499bf857e0b55b38bdf8564033135d1e93ea5615f5d4491d52aa598980d1509e05d95f5c4502a4de01eb5ea5f0316f55d41fc9f3bcca9024aa85e673b57b2eaf615d5ea02e56742308adbaf986d03f0f6fcd31b2faebffa916a039f32db7564680afe3a0e27277288241aea83689903b759836f78d7349940c36e2b427f282587f0b009a875b53f81fc51c4ce91fce3037991ddea4bec7fe3c5624905a186217bbd07e2f6100775d5975542062a002ec4037e04f948eb8e17256a8500590317a1e709d6c485287f8dd997fe6cc14c9a8d76036d8bf52497112775eef130be81ba3006a3cbb6b67997be01b512b78e2c9c08c70309cab71b7446844997fa54e1489599ba4800f70c52c56471605d8d02b7015f820391b1964ed513de5d27237b86f458d915ce66a5fdb9a540598d8e0a5af036529103f9957b2af90456f76d11002ec1767a900b4537b1dc66fd9642019570e3cf258e0219ffff034238e980f46aacf19cee56faa1383cb1f89a5d36d2799bb6884589e8810bdd77032ef3dfd4e8ea7747fe674a07d48746579d547ebdfbf752d94f9ee686500274a003ece481b7018b881f3501d4d9b3357a03e32f713658da51194340ec07517ed6f703a2e6bdf6d29baf71600e81dd761f73d526a6965366e8464898f30060d0c178f0036b9a35ea28a4a947ac4965611d5857414b6e17af02b4c08e644a9d5ac91f7f3f03097adf04f6cbb7b83055dafb928ca2a8e008c7f3c05ec6d137567e70c7a3d29003942de2adf04fb20c1bcaa6ef4ad52100d76bb4aba9baa346c0f415745bbb187c03dec3f08a55e44556992323e83921eba457d068c705a14fb6a239236209df2aee0359737f4deea4569e958b27e9e4f3478d46b6b71ae0101b16549a7f05ce5c5dc20317ef974b26808672653614bf4fc26c8a53ef0e0cf0921ec7c2801394b44f2079038288407b40235c7487fe29174770a8f11e55fdabed03f8bd42f574b69ffc9d0b037da98119c0b7ea5cea43eac21be072c6479ae9e17e5d80f6731c7b7ff6e119ab03704780e55d2d878f53ae35f7c4898035d746fe8e48865524faa0258c8c07a958039ed7780e017812fd42850f8ee99aa23747b12ea593211ec00647560cb3a887540320ddb1af31cdb3bd11523df75c917aa9a206ff8f7f8a7a1af875d837d660bb5203f36f8f639067375676f97d0a4b182f34c51401b50e95520abd0e1e0220bc438d03cdeaf3202fd714e334bf702cf9679341aa8b3afdedfc1cd292da440ea5dcd93c03e2c1f616d11cae399f4c5843685355baa84f8ef491fef27015597057554c770e03d3e5b4bc8dd2277df5c874de410db6bf68e5430cf8d890a60909a4d525f5204c0313d3cd2f2feb14f2470eeb1fbaa5b8f6dbc8becafc814123ef52936c55c1ad81036c6a21d190f33ba95b126597231c85aab4ee31444a06a9aca937cae77eda1d80039e652ac5c9d6e7826d0449833a5d401a300f2dba0aea01e5a52855eba29b8a2503d2661a006a9170fca3faddefb0efa734381e9735f32cc1dc318e4651440e077203dbb8d7be9c6a2a8e05fa0412f817480e51d2933e8eadfb1ffb09e4f72d4afdd403adcbebd162b3a5fe8dd07d2e858ac9fad3df37e9527a75752c8ff817766b392603426423f8acb38c2a92162de71ba32df023a2355f50e93dcb51adb17a9458226103871e6222807f219451aa66fcc15ebe8ce3b8c59399934f5f94ebfeb9beb3c3c603c6636740c4b73f028fef046d6014345b94b834f4a0511b5f8ac349b79b5aae9103dba028be96b1ee55c70c9fd134f82e051abd615a325df8c482f4cec651a6d30405581e037767a268d30400f2535bd56ecbef1611692cec6616428e5553227519700c04470194ac9ffd856303842fae0481fb5d41204e7e52784aabac0641b364fd218932ce62a6f367bf54bb03fefb5b0c9221b749c0888c7aeb650abd7d9454fea9cc5c8969e6207eeee15eff05581e03536c2e503e8bc19f4e83fb02a5b417b9f3baf45176749f858071f987b00c0147038434ee8d26f905581e0346932601a7d50e0fab68c491345faf9ccb27c6061ebf69a1b0643581b00c19147e4905c888cdc676d82dff0219521303ef31cf4bda54614c7342790aa943a1ffdec16d84ce6fa41453bb9e781a7bd6a9037d04b20bb7141b0b692ff2870621e8ae5b5f7c4e7c965310fbfe08acbac1466f036f2e9d31293c648018c402b99c4586ec1b96ea0fc8592bff21994b471f891d1f032ea886ad22562d9662bf8932f32b1e14c762c1dce04bd07ea8d037aee2d0735c036ddeb58d5b6a180ddb9cff8840b39a5f8129c53e504b7cfc8d0bcc2f8c3b82fd03552a47b49ee5ead36883d337d9aabd49593d5065ee291a462cc0214c6b8427bc0304eff86b507baef2ba71d18293b097b0c5aac74ad512f5630e327b2eb708f65203aae367aec79b5dd200b538139c07bc1100a698d73f206d08b456045988d6112503a9c87596c2a231f1b29065f8c164c3be948923f8f34299e5d0e1c32dedd13a5c0219ffff0399d5ccdafd5cd9eb5b6208fb718d4f00612e382c20023f7b86229baaeb49f87b03ac2b25b74fb973e2bbdb99e539091c116bab3e6abaa31e598b2c715d532d1d5b03be4e76cdf7785167ddc80a9687d9feff9a0a346575238ec170ff1ae590903f1e0308a8f79eb5f28a261a502d3f2759a9bb63680f3fbaa1ef4578acbad664b6d8240219ffff03f357520d7ea5f27c8b491515e56bf87f299cd5a2b32dcf48cbf0a897fcc88ad803b9344759d2eaafce351fe6b82df006a96b1d23752e20686b35fb37c6bbe0974d03fef2c5fb2838d6a232f27df7114963686194dd06fc39fb4d61161878e9c9fa660320db7039da1397f83c72a22833d7489dda444fe81244c7ac03dc12123ef6a46503fc9cfc422b148cd2dbb21a88d606128580f2c6c38329c08feca9d4829bbb89eb0219ffff03a1892fca9e58cc2232aeba6e2d4bddcef19ec57342fb932d6aed4cb7b322ee2e034be2d383f713bfb4f29b7b0afb96aeb6aa065336fa27f04ba32d39913f660b2803ee929a52cbf099f9d8653dd762e387b56e43dbb1cbbdd0e9b5ed5098bb3cc6e903a3e083938bb60eef6d40e95a652cd279c916dc95ddaa606d8b7ea185a7e7fcbe03accebc21d0460952d69abb55b26b8d191a19adb80100d3f6ba63531247707af7039867341a8574938fc084636634e42634f0a63d9ed05478f959af2f5f520ed41903c82296505e52fc9dbf8f48c02b066f55c8a2906ad545669e4c41e2894b63e25e05581e03d891d5427c59ae9105f9852f91b20f4cb8722895b4ff6653b5ff6c96200c18794805236af59f90fc06030155617ee624fbb4dba38c65ab745d7d71d83684d0a4e8bcd94ca06012200d2b01410f05581e03729ca9bf2d4cacee0bce71350265369896f5dbd4577afad91fbde976b00c01470235f59ebf060005581e03d1084f7e487fee073c836518bc68a7ab3735d414e6afd8db4a8e270b5004181e037c764d7b20b3a2cef2528776af549b65e45fb645c8bb26e3aa932bac7b24b02c03467001593a5088fb41ad135c1be12662a99dbb026e192612410490bed8d5ae7305581d02a9abdaba548ccd65ef36b8293b49b1c2a83920720c2ccf4cf74904a607011bffffffffffffffff04593793608060405234801561001057600080fd5b50600436106102525760003560e01c8063715018a611610146578063bf86d690116100c3578063e529ee9511610087578063e529ee951461048e578063e89133b214610496578063f2fde38b1461049e578063f301af42146104b1578063fc0e74d1146104d4578063ff833485146104dc57610252565b8063bf86d69014610445578063c00007b01461044d578063cc7d510e14610460578063dd62ed3e14610468578063e2aecded1461047b57610252565b806395d89b411161010a57806395d89b4114610407578063a457c2d71461040f578063a9059cbb14610422578063b145a5b814610435578063b95c57461461043d57610252565b8063715018a6146103d45780637acb7757146103dc5780638757b15b146103ef5780638da5cb5b146103f7578063923c1d61146103ff57610252565b806339509351116101d45780636817031b116101985780636817031b146103805780636a4874a1146103935780636b0916951461039b5780636e553f65146103ae57806370a08231146103c157610252565b8063395093511461032c5780633969dfb41461033f5780634b0ee02a146103525780634f39059c14610365578063530b97a41461036d57610252565b806318160ddd1161021b57806318160ddd146102d457806323b872dd146102e95780632cdacb50146102fc5780632e1a7d4d14610304578063313ce5671461031757610252565b80628cc2621461025757806306fdde0314610280578063095ea7b3146102955780630bece79c146102b557806314d6aed0146102ca575b600080fd5b61026a610265366004612d26565b6104ef565b60405161027791906130eb565b60405180910390f35b610288610a4f565b604051610277919061314e565b6102a86102a3366004612e3d565b610ae5565b6040516102779190613143565b6102bd610b03565b6040516102779190613031565b6102d2610b12565b005b6102dc61116e565b6040516102779190613648565b6102a86102f7366004612dfd565b611174565b6102bd6111fc565b6102d2610312366004612f49565b611214565b61031f6112e8565b6040516102779190613679565b6102a861033a366004612e3d565b6112ed565b6102d261034d366004612f49565b61133b565b6102dc610360366004612d26565b611404565b6102bd61140f565b6102d261037b366004612d96565b61141e565b6102d261038e366004612d26565b611663565b6102bd6116de565b6102d26103a9366004612d5e565b6116f6565b6102d26103bc366004612f79565b611749565b6102dc6103cf366004612d26565b611878565b6102d2611893565b6102d26103ea366004612f79565b611915565b6102d2611a09565b6102bd611aa1565b6102bd611ab6565b610288611ace565b6102a861041d366004612e3d565b611b2f565b6102a8610430366004612e3d565b611b97565b6102a8611bab565b6102dc611bb9565b6102a8611bbf565b6102d261045b366004612d26565b611bc8565b6102bd611bf0565b6102dc610476366004612d5e565b611bff565b6102a8610489366004612e68565b611c2a565b6102dc611c93565b6102bd611c99565b6102d26104ac366004612d26565b611ca8565b6104c46104bf366004612f49565b611d68565b604051610277949392919061305f565b6102d2611db9565b6102dc6104ea366004612d26565b611df8565b606060006104fb611e0a565b600c549091508067ffffffffffffffff8111801561051857600080fd5b5060405190808252806020026020018201604052801561055257816020015b61053f612c5e565b8152602001906001900390816105375790505b50925060005b81811015610a46576000600c828154811061056f57fe5b6000918252602090912060059091020160018101549091506001600160a01b0316610630576001600160a01b038616600090815260048201602052604090205485516105dc91908790859081106105c257fe5b602002602001015160200151611e1990919063ffffffff16565b8583815181106105e857fe5b6020908102919091018101510152805485516001600160a01b039091169086908490811061061257fe5b60209081029190910101516001600160a01b03909116905250610a3e565b80546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610660903090600401613031565b60206040518083038186803b15801561067857600080fd5b505afa15801561068c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b09190612f61565b60028301549091506000906106d6908390600160801b90046001600160801b0316611e3e565b60018401546040516246613160e11b8152919250610764916001600160a01b0390911690628cc2629061070d903090600401613031565b60206040518083038186803b15801561072557600080fd5b505afa158015610739573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075d9190612f61565b8290611e19565b60028401549091506001600160801b0316861561079a57610798876107928468056bc75e2d63100000611e66565b90611ea0565b015b6001600160a01b03891660009081526003850160205260408120546107e29068056bc75e2d6310000090610792906107d3908690611e3e565b6107dc8e611ed2565b90611e66565b6001600160a01b038b16600090815260048701602052604090205490915061081a9061080e9083611e19565b8a88815181106105c257fe5b89878151811061082657fe5b6020908102919091018101510152845489516001600160a01b03909116908a908890811061085057fe5b60209081029190910101516001600160a01b03909116905285610a385760028501546001600160801b03169150871561091d5760018501546040516246613160e11b8152610918918a916107929168056bc75e2d63100000916001600160a01b0390911690628cc262906108c8903090600401613031565b60206040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107dc9190612f61565b820191505b6001600160a01b038a1660009081526003860160205260409020546109569068056bc75e2d6310000090610792906107d3908690611e3e565b604051638487474560e01b8152909150733c75bfe6fbfda3a94e7e7e8c2216afc684de534390638487474590610990908490600401613648565b60206040518083038186803b1580156109a857600080fd5b505af41580156109bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e09190612f61565b896001815181106109ed57fe5b60200260200101516020018181525050734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b89600181518110610a1f57fe5b60209081029190910101516001600160a01b0390911690525b50505050505b600101610558565b5050505b919050565b600f8054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610adb5780601f10610ab057610100808354040283529160200191610adb565b820191906000526020600020905b815481529060010190602001808311610abe57829003601f168201915b5050505050905090565b6000610af9610af2611fae565b8484611fb2565b5060015b92915050565b600b546001600160a01b031681565b600954600c546001600160a01b0390911690610e2557600c604051806080016040528073d533a949740bb3306d119cc777fa900ba034cd526001600160a01b03168152602001836001600160a01b0316815260200160006001600160801b0316815260200160006001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020160006101000a8154816001600160801b0302191690836001600160801b0316021790555060608201518160020160106101000a8154816001600160801b0302191690836001600160801b031602179055505050600c6040518060800160405280734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b6001600160a01b0316815260200160006001600160a01b0316815260200160006001600160801b0316815260200160006001600160801b0316815250908060018154018082558091505060019003906000526020600020906005020160009091909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020160006101000a8154816001600160801b0302191690836001600160801b0316021790555060608201518160020160106101000a8154816001600160801b0302191690836001600160801b0316021790555050506000600101600d600073d533a949740bb3306d119cc777fa900ba034cd526001600160a01b03166001600160a01b031681526020019081526020016000208190555060018001600d6000734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b6001600160a01b03166001600160a01b03168152602001908152602001600020819055505b6000816001600160a01b031663d55a23f46040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6057600080fd5b505afa158015610e74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e989190612f61565b905060005b8181101561116957604051632061aa2360e11b81526000906001600160a01b038516906340c3544690610ed4908590600401613648565b60206040518083038186803b158015610eec57600080fd5b505afa158015610f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f249190612d42565b90506000816001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b158015610f6157600080fd5b505afa158015610f75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f999190612d42565b90506001600160a01b038116734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b14156110095781600c600181548110610fcf57fe5b906000526020600020906005020160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555061115f565b6001600160a01b0381166000908152600d602052604090205461115f57600c6040518060800160405280846001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b15801561106c57600080fd5b505afa158015611080573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a49190612d42565b6001600160a01b039081168252858116602080840191909152600060408085018290526060948501829052865460018181018955978352838320875160059092020180549186166001600160a01b031992831617815587850151988101805499871699909216989098179055858101516002909701805496909501516001600160801b03908116600160801b029781166001600160801b03199097169690961790951695909517909255600c549085168452600d9091529120555b5050600101610e9d565b505050565b60025490565b6000611181848484612066565b6111f18461118d611fae565b6111ec85604051806060016040528060288152602001613711602891396001600160a01b038a166000908152600160205260408120906111cb611fae565b6001600160a01b03168152602081019190915260400160002054919061217b565b611fb2565b5060015b9392505050565b73f403c135812408bfbe8713b5a23a04b3d48aae3181565b80156112a15761122433826121a7565b600954604051631c683a1b60e11b81526001600160a01b03909116906338d0743690611257908490600090600401613651565b600060405180830381600087803b15801561127157600080fd5b505af1158015611285573d6000803e3d6000fd5b50506008546112a192506001600160a01b03169050338361227d565b336001600160a01b03167f2fd83d5e9f5d240bed47a97a24cf354e4047e25edc2da27b01fd95e5e8a0c9a58260006040516112dd929190613651565b60405180910390a250565b601290565b6000610af96112fa611fae565b846111ec856001600061130b611fae565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611e19565b80156113c85761134b33826121a7565b600954604051636197390160e11b81526001600160a01b039091169063c32e72029061137e908490600090600401613651565b600060405180830381600087803b15801561139857600080fd5b505af11580156113ac573d6000803e3d6000fd5b50506007546113c892506001600160a01b03169050338361227d565b336001600160a01b03167f2fd83d5e9f5d240bed47a97a24cf354e4047e25edc2da27b01fd95e5e8a0c9a58260016040516112dd929190613651565b6000610afd82611ed2565b6007546001600160a01b031681565b600e54610100900460ff161561144f5760405162461bcd60e51b815260040161144690613337565b60405180910390fd5b600e80546201000033810262010000600160b01b0319909216919091179182905560405191046001600160a01b0316906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3836001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156114e057600080fd5b505afa1580156114f4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261151c9190810190612eae565b60405160200161152c9190612fb9565b604051602081830303815290604052600f9080519060200190611550929190612c75565b50836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561158a57600080fd5b505afa15801561159e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115c69190810190612eae565b6040516020016115d69190612ff7565b604051602081830303815290604052601090805190602001906115fa929190612c75565b50600e805461ffff1916610100179055600780546001600160a01b038088166001600160a01b031992831617909255600880548784169083161790556009805492861692909116919091179055600a829055611654610b12565b61165c611a09565b5050505050565b600e546201000090046001600160a01b031633146116935760405162461bcd60e51b81526004016114469061339e565b600b546001600160a01b0316156116bc5760405162461bcd60e51b8152600401611446906135ec565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b73d533a949740bb3306d119cc777fa900ba034cd5281565b336001600160a01b0383161461171e5760405162461bcd60e51b8152600401611446906133d3565b604080518082019091526001600160a01b03808416825282166020820152611745906122d3565b5050565b600e5460ff161561176c5760405162461bcd60e51b815260040161144690613478565b81156118265761177c81836123b9565b600754611794906001600160a01b031633308561246d565b600a546040516321d0683360e11b815273f403c135812408bfbe8713b5a23a04b3d48aae31916343a0d066916117d291908690600190600401613661565b602060405180830381600087803b1580156117ec57600080fd5b505af1158015611800573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118249190612e8e565b505b806001600160a01b0316336001600160a01b03167fb32af138549e2a71563d1f2b1f7f0a139b3cdbc83d877d13603de1c3c5fd487a84600160405161186c929190613651565b60405180910390a35050565b6001600160a01b031660009081526020819052604090205490565b600e546201000090046001600160a01b031633146118c35760405162461bcd60e51b81526004016114469061339e565b600e546040516000916201000090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600e805462010000600160b01b0319169055565b600e5460ff16156119385760405162461bcd60e51b815260040161144690613478565b81156119c35761194881836123b9565b600854611960906001600160a01b031633308561246d565b60095460405163534a7e1d60e11b81526001600160a01b039091169063a694fc3a90611990908590600401613648565b600060405180830381600087803b1580156119aa57600080fd5b505af11580156119be573d6000803e3d6000fd5b505050505b806001600160a01b0316336001600160a01b03167fb32af138549e2a71563d1f2b1f7f0a139b3cdbc83d877d13603de1c3c5fd487a84600060405161186c929190613651565b600754611a35906001600160a01b031673f403c135812408bfbe8713b5a23a04b3d48aae316000612494565b600754611a62906001600160a01b031673f403c135812408bfbe8713b5a23a04b3d48aae31600019612494565b600954600854611a80916001600160a01b0391821691166000612494565b600954600854611a9f916001600160a01b039182169116600019612494565b565b600e546201000090046001600160a01b031681565b734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b81565b60108054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610adb5780601f10610ab057610100808354040283529160200191610adb565b6000610af9611b3c611fae565b846111ec856040518060600160405280602581526020016137396025913960016000611b66611fae565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061217b565b6000610af9611ba4611fae565b8484612066565b600e54610100900460ff1681565b600c5490565b600e5460ff1681565b604080518082019091526001600160a01b0382168082526020820152611bed906122d3565b50565b6009546001600160a01b031681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000611c8b604051806040016040528084600060028110611c4757fe5b602002016020810190611c5a9190612d26565b6001600160a01b03168152602090810190611c7b9060408701908701612d26565b6001600160a01b03169052612557565b506001919050565b600a5481565b6008546001600160a01b031681565b600e546201000090046001600160a01b03163314611cd85760405162461bcd60e51b81526004016114469061339e565b6001600160a01b038116611cfe5760405162461bcd60e51b8152600401611446906131c4565b600e546040516001600160a01b038084169262010000900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600e80546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b600c8181548110611d7557fe5b60009182526020909120600590910201805460018201546002909201546001600160a01b0391821693509116906001600160801b0380821691600160801b90041684565b600e546201000090046001600160a01b03163314611de95760405162461bcd60e51b81526004016114469061339e565b600e805460ff19166001179055565b600d6020526000908152604090205481565b6000611e1461116e565b905090565b6000828201838110156111f55760405162461bcd60e51b81526004016114469061324c565b600082821115611e605760405162461bcd60e51b815260040161144690613283565b50900390565b600082611e7557506000610afd565b82820282848281611e8257fe5b04146111f55760405162461bcd60e51b81526004016114469061335d565b6000808211611ec15760405162461bcd60e51b815260040161144690613300565b818381611eca57fe5b049392505050565b60006001600160a01b0382161580611ef75750600b546001600160a01b038381169116145b15611f0457506000610a4a565b600b546000906001600160a01b031615611f9b57600b5460405163d9f96e8d60e01b81526001600160a01b039091169063d9f96e8d90611f48908690600401613031565b60206040518083038186803b158015611f6057600080fd5b505afa158015611f74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f989190612f61565b90505b6111f581611fa885611878565b90611e19565b3390565b6001600160a01b038316611fd85760405162461bcd60e51b81526004016114469061349a565b6001600160a01b038216611ffe5760405162461bcd60e51b81526004016114469061320a565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590612059908590613648565b60405180910390a3505050565b6001600160a01b03831661208c5760405162461bcd60e51b815260040161144690613433565b6001600160a01b0382166120b25760405162461bcd60e51b815260040161144690613181565b6120bd838383612653565b6120fa816040518060600160405280602681526020016136eb602691396001600160a01b038616600090815260208190526040902054919061217b565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546121299082611e19565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612059908590613648565b6000818484111561219f5760405162461bcd60e51b8152600401611446919061314e565b505050900390565b6001600160a01b0382166121cd5760405162461bcd60e51b8152600401611446906133f2565b6121d982600083612653565b612216816040518060600160405280602281526020016136c9602291396001600160a01b038516600090815260208190526040902054919061217b565b6001600160a01b03831660009081526020819052604090205560025461223c9082611e3e565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061186c908590613648565b6111698363a9059cbb60e01b848460405160240161229c9291906130d2565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261267a565b600260065414156122f65760405162461bcd60e51b81526004016114469061355f565b60026006556000612305611e0a565b905061230f612cf3565b6123208360005b6020020151611ed2565b8152600954604051637050ccd960e01b81526001600160a01b0390911690637050ccd9906123559030906001906004016130b7565b600060405180830381600087803b15801561236f57600080fd5b505af1158015612383573d6000803e3d6000fd5b5050600c549150600090505b818110156123ad576123a5818685876001612709565b60010161238f565b50506001600655505050565b6001600160a01b0382166123df5760405162461bcd60e51b815260040161144690613611565b6123eb60008383612653565b6002546123f89082611e19565b6002556001600160a01b03821660009081526020819052604090205461241e9082611e19565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061186c908590613648565b61248e846323b872dd60e01b85858560405160240161229c93929190613093565b50505050565b80158061251c5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906124ca9030908690600401613045565b60206040518083038186803b1580156124e257600080fd5b505afa1580156124f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251a9190612f61565b155b6125385760405162461bcd60e51b815260040161144690613596565b6111698363095ea7b360e01b848460405160240161229c9291906130d2565b6002600654141561257a5760405162461bcd60e51b81526004016114469061355f565b6002600655600e5460ff161561258f5761264b565b6000612599611e0a565b90506125a3612cf3565b6125ae836000612316565b81526125bb836001612316565b6020820152600954604051637050ccd960e01b81526001600160a01b0390911690637050ccd9906125f39030906001906004016130b7565b600060405180830381600087803b15801561260d57600080fd5b505af1158015612621573d6000803e3d6000fd5b5050600c549150600090505b818110156123ad57612643818685876000612709565b60010161262d565b506001600655565b604080518082019091526001600160a01b0380851682528316602082015261116990612557565b60606126cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612b479092919063ffffffff16565b80519091501561116957808060200190518101906126ed9190612e8e565b6111695760405162461bcd60e51b815260040161144690613515565b6000600c868154811061271857fe5b60009182526020822060059091020180546040516370a0823160e01b81529193506001600160a01b0316906370a0823190612757903090600401613031565b60206040518083038186803b15801561276f57600080fd5b505afa158015612783573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127a79190612f61565b90506000841180156127d9575060028201546000906127d7908390600160801b90046001600160801b0316611e3e565b115b1561283b5760028201546128139085906107929068056bc75e2d63100000906107dc908690600160801b90046001600160801b0316611e3e565b6002830180546001600160801b031981166001600160801b0391821693909301169190911790555b60005b6002811015612b0557600087826002811061285557fe5b60200201516001600160a01b0316141561286e57612afd565b600b546001600160a01b031687826002811061288657fe5b60200201516001600160a01b0316141561289f57612afd565b8380156128ab57508015155b156128b557612afd565b60008360030160008984600281106128c957fe5b60200201516001600160a01b03166001600160a01b031681526020019081526020016000205490508480612909575060028401546001600160801b031681105b15612afb578415612a245760028401546000906129a39061295d9068056bc75e2d631000009061079290612946906001600160801b031687611e3e565b8c886002811061295257fe5b602002015190611e66565b8660040160008c876002811061296f57fe5b60200201516001600160a01b03166001600160a01b0316815260200190815260200160002054611e1990919063ffffffff16565b90508015612a1e5760008560040160008b86600281106129bf57fe5b60200201516001600160a01b03166001600160a01b0316815260200190815260200160002081905550612a118984600101600281106129fa57fe5b602002015186546001600160a01b0316908361227d565b612a1b8482611e3e565b93505b50612aad565b6002840154612a7190612a5f9068056bc75e2d631000009061079290612a53906001600160801b031686611e3e565b8b876002811061295257fe5b8560040160008b866002811061296f57fe5b8460040160008a8560028110612a8357fe5b60200201516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b6002808501546001600160801b03169060038601906000908b9086908110612ad157fe5b60200201516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b505b60010161283e565b506002820154600160801b90046001600160801b03168114612b3e576002820180546001600160801b03808416600160801b0291161790555b50505050505050565b6060612b568484600085612b5e565b949350505050565b606082471015612b805760405162461bcd60e51b8152600401611446906132ba565b612b8985612c1f565b612ba55760405162461bcd60e51b8152600401611446906134de565b60006060866001600160a01b03168587604051612bc29190612f9d565b60006040518083038185875af1925050503d8060008114612bff576040519150601f19603f3d011682016040523d82523d6000602084013e612c04565b606091505b5091509150612c14828286612c25565b979650505050505050565b3b151590565b60608315612c345750816111f5565b825115612c445782518084602001fd5b8160405162461bcd60e51b8152600401611446919061314e565b604080518082019091526000808252602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612cb657805160ff1916838001178555612ce3565b82800160010185558215612ce3579182015b82811115612ce3578251825591602001919060010190612cc8565b50612cef929150612d11565b5090565b60405180604001604052806002906020820280368337509192915050565b5b80821115612cef5760008155600101612d12565b600060208284031215612d37578081fd5b81356111f5816136b3565b600060208284031215612d53578081fd5b81516111f5816136b3565b60008060408385031215612d70578081fd5b8235612d7b816136b3565b91506020830135612d8b816136b3565b809150509250929050565b600080600080600060a08688031215612dad578081fd5b8535612db8816136b3565b94506020860135612dc8816136b3565b93506040860135612dd8816136b3565b9250606086013591506080860135612def816136b3565b809150509295509295909350565b600080600060608486031215612e11578283fd5b8335612e1c816136b3565b92506020840135612e2c816136b3565b929592945050506040919091013590565b60008060408385031215612e4f578182fd5b8235612e5a816136b3565b946020939093013593505050565b600060408284031215612e79578081fd5b82604083011115612e88578081fd5b50919050565b600060208284031215612e9f578081fd5b815180151581146111f5578182fd5b600060208284031215612ebf578081fd5b815167ffffffffffffffff80821115612ed6578283fd5b818401915084601f830112612ee9578283fd5b815181811115612ef7578384fd5b604051601f8201601f191681016020018381118282101715612f17578586fd5b604052818152838201602001871015612f2e578485fd5b612f3f826020830160208701613687565b9695505050505050565b600060208284031215612f5a578081fd5b5035919050565b600060208284031215612f72578081fd5b5051919050565b60008060408385031215612f8b578182fd5b823591506020830135612d8b816136b3565b60008251612faf818460208701613687565b9190910192915050565b600066029ba30b5b2b2160cd1b82528251612fdb816007850160208701613687565b640408ce4c2f60db1b6007939091019283015250600c01919050565b60006273746b60e81b82528251613015816003850160208701613687565b6405acce4c2f60db1b6003939091019283015250600801919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0394851681529290931660208301526001600160801b039081166040830152909116606082015260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039290921682521515602082015260400190565b6001600160a01b03929092168252602082015260400190565b602080825282518282018190526000919060409081850190868401855b8281101561313657815180516001600160a01b03168552860151868501529284019290850190600101613108565b5091979650505050505050565b901515815260200190565b600060208252825180602084015261316d816040850160208701613687565b601f01601f19169190910160400192915050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252601a908201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604082015260600190565b6020808252600c908201526b185b1c9958591e481a5b9a5d60a21b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526005908201526410b9b2b63360d91b604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526008908201526739b43aba3237bbb760c11b604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b6020808252600b908201526a185b1c9958591e481cd95d60aa1b604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b9182521515602082015260400190565b92835260208301919091521515604082015260600190565b60ff91909116815260200190565b60005b838110156136a257818101518382015260200161368a565b8381111561248e5750506000910152565b6001600160a01b0381168114611bed57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204e59018f75e49514eb50985cd61ccc587e3215e1cd84e072fc5262fced25c77f64736f6c634300060c00330396e996f73fcf844ae15136720e5140fbd06c8b2ef6627e11943c786edefcaaa60344ea0140a06b200129428ce96bb8410d454d32df79e1668030d9ea0dde69e36f032f88dbe17b4ae0fed51ca1a71b04b2f01d11ccfd7d2029932faefda39440b8d903b2c16f7f2d5e4c7a0eae1a66074522d56647ee442759948a00935b2aa2afde9c039fd189a0a1730f1445af4110535c35c4d397559789d529cb42b973318417ff670323d188ca20781a00b77a6dbc5730324da7ee29f49065a0cfc0a7f2d3971f100f035e8afae5df8a4f21b536ef30b57dcc9f83fd94a08d738044e24581e53bb4ec41032f3be93de5a01645c92cf45bbdff2aba95f7e25f16fbbf0b03bbb8ca7b8e9a210350302424bd56119da8a57b5015bfcb2e1809ff2b26fc31fc8a295880c4eafb9a0306797d987a1afbb0793649c1d7f23ea66970488145518057c079bb36fe30a00b034816dff8339d33e085a5108901a2ca834c6da259cd65778666fdbb39ff5ca6e3032cd41bcaca400d70b838bed87538436476eb24fc27fa68c65e30e2cac594cff203dafee40b0a245a40ad0f7a20b318b5cdcf96f3e526dacccf01065a15fe50653903c737a1187f61133ac8d5c578ef9b7380bf03225d92a0fd75a51b13f460b1bc1a032bd03424bd7d624072888f8b9ab195539498d8561459ea6cc4c4e7c96da99965034621dcc78d54554eef4336c800d539cb3b0b5198424bf82502605fdd5f4418fe0219ffff05581d024f5615c84835b704bf67f2bdb20e0623a35e1b16149af1098c6e213b07011937930219900005581e03d00b03ff60e1ec281da35e3e25cc5bd1266f9e0237de63c6a77b7773700c01470500149012080005581e0338eff3faf40d834257435a8f683f8d372d155eff77c99f7b014a2d9c400c014646a1a0b69800039e1b92c3a8385698e220c6b3446999371838a741f57a23ca0e8bcc27a9cceb4a02195fc8039fed850b6693fabd7958f34d78cbaebaeab6b2def4cf6cf845480275905ea3cf031a8c5f55b983e1568a3bbf5ef8c5d37e7437326f929934b8b77b72358e5687d803b8db5ae78fc7726028ece6a95dd6613ccf255b6c9d3729f0edf27c6811ac1e6f034f6c53bc9abe09227acb42f9ea7921784f426f717d6c8aa2a417c0c1e5721ef703ba117109166024e44168ff44408e29ff92cb6eea53703cb37f09ec3598a1fd97039a2ba6c490174b09da191023abd215ab077ebcaf310d0c05e6214167001426c603f7c566a059563f66e7f812b2579262a59a03f5cb6cb8079a0380a46f5ca193840352d2064116a476c58e5d4487d3dc2edaea0578f098a5db622d3d54ea7e3c3a7103720ffb0ce9cef5b5f1df80f1a6cf06e185df5526badc6d9d5901c6716b76a64c0320c8bc0b74743ce49b73be371ccd12ce4cd4fd09dd555db4fde30950eb150abf034cc72d3cf08cf9a8b0b5e1be4387e59d298eef3cc21adba685b18f78327b2e6903f4be6055e7360cd5631cfa911f9294022254fb769e8ccfd1e3ef867548fbdd350345feb40ae7b0617642ce777acde108c7c84cd27cc51059001c1e06a59d5c81a703271fda17230e52fb19b07498f1e833399c489c23621331b8d594d84a85551ee5038aa12f92832eaf39cb39a0f9c796c725478ca70be4fffbda3c66e482494af17e0219ffff03b5e8b6df4c025f5c2180349188e6161bef4712aa8f0b1876d3510df8b8a4804e032cebc04c482e189e3624c7805e9c600ff5e7fab542569fdb7abf000229ea72300325e4744a73b00196172f7936321ada0d3d230f2e4d62d424091955c609e0515a03c34dd35e5e096b4b9349ecc8bbbca09c9c1072ea30fd6559c6b651a41eff04de03d6e96ea15a46d432fa873d1f3562d824fbe7de94d31ccb582f7fcc5d9017d5f0036fb49d72fc61ffd3a7a533a9dab5aca4651060f4431eeb246bfdeacd4c000b3903faef46ab4c8058f190b37f4c2fc5a8308bd6a816e6b6c20823011b209bd0e5f30357713299799cc355d7614ab791c4c7b8870d44e4a7e1b61b65a2cede2329ef95033b7c0b34825a3016f8ecf652ef4f406d1c7c870df06b14b22e40589c2fa6250403c3a02478f30577733325ee67eb83a4d4686ac2ff5fb8f32ddf3ce63cf8c78a0803d9099bf63f5db6000f5949a4d8a70bc97da93610a987a64a0bbd6ebd2b238640035a7158c13af923b9f7fa257f6faac2b1d894d9e629d7e31f82e3c1ed8f7bafd3031d358818bc40dd03f9451c30fffe6199d7740a5d86b411f63975eb6a2e761e2403c934a3e27c033e1e290320efc9aa9520d6cac6502b0716bbc47e5975ce2d32ee0219ffff03e264889f50f06563a9fd972bcb94115fcbe04668ab3039893d847aec077cae69038664e82719a5b94ffb6009557f5da5774ea4054a8e1166d6b3959bfc378f4c5a0367fce3b1d0caae859f74149bfe858745562afb0437ce0cf743b4d6323f96aed303acdfd66839f681ef941a2d8683c34788421964645c98f839f4aa0c3788afc73103541a42c2f60e57c41d462bebe095e1b9c7977da45afa6fc12e330f085f857b2203c00be0d81f823f78ff4a7a9230530e9f18211df4179dae8327f9810b77a29d42031da2d9d995b79f83bbe1d76c2abd9b3c6faf3879449f00a0a57f3fe8e4cad022038e2d6557f498bb2022fa068d6031b6eea027e74116887f0b81ccb2241b6b984f03f5cce1ab45eeef3a1ae7187c7eb93f594eb84cb9be857df145e807a13fd7797603441b523a57fb0ba8b6814b9e01598e41be599a5fe7576b43b53509c5e60d4638037d0f3cb85470e9c29f24c8c0ca1b5438fe87f097a044b571a4525f5a91c8448a03373c27c9010c86ef3db967ae443ba767d4d7901149756552b1836fe7f8200c5a0219ffff037cf6fa45a9f81d655a9b0a95fa75aee4a71d4b86bbfa7086f132a58980d9f40903e884dfc30b5a7a458ec83e87e48955c8f24f179a35c102da8e788522d71cd4e5039da4665476388fe827799dae2a2cd4d033d2b3b505dd7547beb52ba7543ba220038716a2bebec449ded65fa9239d8efd5c33b2dc93b5e3f52fc082ca0a98b089c303a557c50b08b6b5d86ab9eeae9e111114439a177b4a6fdad05faedc479eca46c903a886e1b0b70a08c5b2ed771156bef2c95cbc8caaaa3fbb4eed9a8ac65a82e87703aab22762840a187b497a0249941f25a598cc75fbaeddb9170e71b0afec4cc32b0380a206a99dd8726c7c2b6dff102eb48e035d07b906b0d22e31814a38ad20feae035332e15f56e8311d40d4b2f9e152d63714e3591e1e7937703a1ba1f90df44a1a030c911e181d4cfe49d07269fb09cd0ffbc3cf0d346a728752adb0d767f210664d0365022d78b90dc83cf50bbb18af69078cb8fbbf8d3d7239875918e2654b80c8160329f0514d6ac417da350031cbed14d927d1e6a9d5375cc2dda798abd01236515003dedd5f48653219a90d765497f1d0b0865d7488ca24c4c9799c97c6939600c95f0355b0f35f50273359ac203b5ec412ad15c1de6fd75d5c501f0edcf772cebbc84b03a2f4473bd6b0fbd3f63288a18e1af18a7aa0619196a4c61c9b289ff13841d012037b1cd1f7a2b502625991c492ff474422f7cb89ed35937e0325dc388fd179a6570394ec8431c8cc88aa10a79b238f4dfbe0eb80f3741b7b19af9df8584488588a2c0374500f33633e954029fb94e333affdcf80b3b715c3f3a65a837839648169894f0376df6394b79136865d39037691513bf2a6b49f4d1ae933a02dd971c0bf78d61403fc73957620b83027799621d171e323c847e57219fc93d66080491dca0403138003ab0745860cff413c9f4a24302de2cebd0911980156e40324cd8ed6ca4a7bada80390fc49456dfc823f8b96d1008f824280322ff40493d719d5ae0569b7ad9bfa3b03c1d6cafee53f08151066cfdfa11a4a89dc127cc1877289e292ddd9b7b1af017e03a5db199de42000702a80cc4e89c87d5ac8b894b6c1d14afa1db4710aef2f54a403d09f731d271ef3455dfae5aba422aef639fe8efc54a90e20477778c70143774d0393eacea5617433f9a513a77ee4b92de20eb80b15fda3f68301f95c9b9f6198d0033a43151671aa77fddddb96da5f8c0f3c5730840df0e4244286f0ce512e137a0503264aee321e39a02215edb7ac08c347e87e17ce9faa04d3b59e3de2b69c81b5340319149efd85de195ac4677fac099816a9d367db7be06fb30cf5ce3d32b04619b403ee5868e43b3821f34a44d2d02bf53c0425993ef82ecbd60a41f8ee81f8bfd151036f049294a4ec1b42b965f03ab65c0db09bdb37ed0b773347344d990a910ea76d0302a0a4f7581f5c5755f2c5140ba453c648033e698003ff4e87093d721f0985a403c9a865a96e2857b460b6709ca342e115f71e8bba742b98feeb9e8bf178e7008f03eccb6dd546ae089b91f3e7912ef7e8a385ac7ef3bfa7b236a8f5875fc8b47000037e6ae8b4dd3ecfeb6e32f67c08c27492180df91bb588c2476c3da656f219846f03a3437015cc5d6e1802f59be33c6c8210a8288fcc6114bdea70c677f208bd8be803b3e75bdfc2a9425932a5aa6f0d66cd9db3b401492c423dc79f3147f1f4346b1203e279d13c19fcc6ee8154f5de5bdc4cb75c87b57fef7f5bf23b97b58499b525bf05581e03bb93da22ad629d344a32198d213ddf6fd6e44bb00a62f811896bc919f00c181845173b7437c40361d6568a25476b7407aec6523d71e58439dc97b08cf69e8282e84fc172329fbc0393340a93351db75cc7d9ca455f9b6c9a454e850fc86731d206bad0a591adc75d03f7486034abe9cd13fd7c8ed5fe5281ea5aeffb3872f03404e8ffe273a346950105581e033ad4c60701300bd433cea589664b92b3d54abccdb46fade538c3c8355007011bffffffffffffffff030c3caa86ba8340db369c63bdcf6059284d8cb4629b71a4b881a91b0848378cc304592397608060405260043610610198575f3560e01c80635c975abb116100e7578063a86f9d9e11610087578063e30c397811610062578063e30c397814610495578063ef16e845146104b2578063f2fde38b146104c5578063f851a440146104e4575f80fd5b8063a86f9d9e1461041a578063cb4cd0a414610439578063e07baba614610458575f80fd5b80638456cb59116100c25780638456cb59146103b65780638abf6077146103ca5780638bd809fd146103de5780638da5cb5b146103fd575f80fd5b80635c975abb1461036e578063715018a61461038e57806379ba5097146103a2575f80fd5b80633659cfe6116101525780633f4ba83a1161012d5780633f4ba83a146103065780634f1ef2861461031a57806352d1902d1461032d5780635c19a95c1461034f575f80fd5b80633659cfe6146102915780633ab76e9f146102b05780633eb6b8cf146102e7575f80fd5b80630a1553a5146101a35780630a245924146101c457806310d008bd146102075780631626ba7e14610226578063184b95591461025e5780633075db561461027d575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b506101c26101bd366004611b03565b610503565b005b3480156101cf575f80fd5b506101f26101de366004611b2d565b60fb6020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b348015610212575f80fd5b506101c2610221366004611b99565b61058a565b348015610231575f80fd5b50610245610240366004611be9565b61065c565b6040516001600160e01b031990911681526020016101fe565b348015610269575f80fd5b506101c2610278366004611c17565b6106f3565b348015610288575f80fd5b506101f26108d9565b34801561029c575f80fd5b506101c26102ab366004611b2d565b6108ed565b3480156102bb575f80fd5b506097546102cf906001600160a01b031681565b6040516001600160a01b0390911681526020016101fe565b3480156102f2575f80fd5b506102cf610301366004611c6c565b6109b4565b348015610311575f80fd5b506101c26109c8565b6101c2610328366004611d2f565b6109dc565b348015610338575f80fd5b50610341610a95565b6040519081526020016101fe565b34801561035a575f80fd5b506101c2610369366004611b2d565b610b46565b348015610379575f80fd5b506101f260c954610100900460ff1660021490565b348015610399575f80fd5b506101c2610ca3565b3480156103ad575f80fd5b506101c2610cb4565b3480156103c1575f80fd5b506101c2610d2b565b3480156103d5575f80fd5b506102cf610d3e565b3480156103e9575f80fd5b506101c26103f8366004611dd0565b610d4c565b348015610408575f80fd5b506033546001600160a01b03166102cf565b348015610425575f80fd5b506102cf610434366004611de7565b610e85565b348015610444575f80fd5b506101c2610453366004611e15565b610e98565b348015610463575f80fd5b5060c95461047d906201000090046001600160401b031681565b6040516001600160401b0390911681526020016101fe565b3480156104a0575f80fd5b506065546001600160a01b03166102cf565b6101c26104c0366004611e41565b610fe9565b3480156104d0575f80fd5b506101c26104df366004611b2d565b6110da565b3480156104ef575f80fd5b5060fc546102cf906001600160a01b031681565b61050b61114b565b6105136111a5565b60405163095ea7b360e01b81526001600160a01b03848116600483015260248201849052919091169063095ea7b3906044016020604051808303815f875af1158015610561573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105859190611eb7565b505050565b335f90815260fb602052604090205460ff166105b95760405163e5816e1960e01b815260040160405180910390fd5b60026105c36111be565b60ff16036105e45760405163dfc60d8560e01b815260040160405180910390fd5b6105ee60026111fd565b6105f6611245565b6001600160a01b03166310d008bd8484846040518463ffffffff1660e01b815260040161062593929190611efa565b5f604051808303815f87803b15801561063c575f80fd5b505af115801561064e573d5f803e3d5ffd5b5050505061058560016111fd565b5f805f61069e8686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061125892505050565b90925090505f8160048111156106b6576106b6611f25565b1480156106da57506001600160a01b0382165f90815260fb602052604090205460ff165b156106ea57630b135d3f60e11b92505b50509392505050565b816001600160a01b03811661071b5760405163538ba4f960e01b815260040160405180910390fd5b5f54610100900460ff161580801561073957505f54600160ff909116105b806107525750303b15801561075257505f5460ff166001145b6107ba5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b5f805460ff1916600117905580156107db575f805461ff0019166101001790555b6107e5858461129a565b60fc80546001600160a01b0319166001600160a01b0386161790556108086111a5565b6001600160a01b031663095ea7b361081e611245565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201525f1960248201526044016020604051808303815f875af1158015610868573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088c9190611eb7565b5080156108d2575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b5f60026108e46111be565b60ff1614905090565b6001600160a01b037f000000000000000000000000d547ca5d6b50dc5e900a091978597eb51f18f9d11630036109355760405162461bcd60e51b81526004016107b190611f39565b7f000000000000000000000000d547ca5d6b50dc5e900a091978597eb51f18f9d16001600160a01b03166109676112d4565b6001600160a01b03161461098d5760405162461bcd60e51b81526004016107b190611f85565b610996816112ef565b604080515f808252602082019092526109b1918391906112f7565b50565b5f6109c0848484611461565b949350505050565b6109d0611552565b6109da335f6115e2565b565b6001600160a01b037f000000000000000000000000d547ca5d6b50dc5e900a091978597eb51f18f9d1163003610a245760405162461bcd60e51b81526004016107b190611f39565b7f000000000000000000000000d547ca5d6b50dc5e900a091978597eb51f18f9d16001600160a01b0316610a566112d4565b6001600160a01b031614610a7c5760405162461bcd60e51b81526004016107b190611f85565b610a85826112ef565b610a91828260016112f7565b5050565b5f306001600160a01b037f000000000000000000000000d547ca5d6b50dc5e900a091978597eb51f18f9d11614610b345760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016107b1565b505f8051602061231b83398151915290565b60fc546001600160a01b03163314801590610be6575060fc5f9054906101000a90046001600160a01b03166001600160a01b03166366d003ac6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd09190611fdc565b6001600160a01b0316336001600160a01b031614155b15610c045760405163e5816e1960e01b815260040160405180910390fd5b6002610c0e6111be565b60ff1603610c2f5760405163dfc60d8560e01b815260040160405180910390fd5b610c3960026111fd565b610c416111a5565b6040516317066a5760e21b81526001600160a01b0383811660048301529190911690635c19a95c906024015f604051808303815f87803b158015610c83575f80fd5b505af1158015610c95573d5f803e3d5ffd5b505050506109b160016111fd565b610cab61114b565b6109da5f6115ea565b60655433906001600160a01b03168114610d225760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016107b1565b6109b1816115ea565b610d33611603565b6109da3360016115e2565b5f610d476112d4565b905090565b60fc546001600160a01b03163314801590610dec575060fc5f9054906101000a90046001600160a01b03166001600160a01b03166366d003ac6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd69190611fdc565b6001600160a01b0316336001600160a01b031614155b15610e0a5760405163e5816e1960e01b815260040160405180910390fd5b610e126111a5565b60fc5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303815f875af1158015610e61573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a919190611eb7565b5f610e91468484611461565b9392505050565b60fc546001600160a01b03163314801590610f38575060fc5f9054906101000a90046001600160a01b03166001600160a01b03166366d003ac6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610efe573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f229190611fdc565b6001600160a01b0316336001600160a01b031614155b15610f565760405163e5816e1960e01b815260040160405180910390fd5b6001600160a01b0382165f90815260fb602052604090205481151560ff909116151503610f965760405163343b80b160e01b815260040160405180910390fd5b6001600160a01b0382165f81815260fb6020526040808220805460ff191685151590811790915590519092917f9f0c7298008bc8a24d3717fb47d215e91deb098d3486d802bf98cf6d177633a791a35050565b335f90815260fb602052604090205460ff166110185760405163e5816e1960e01b815260040160405180910390fd5b60026110226111be565b60ff16036110435760405163dfc60d8560e01b815260040160405180910390fd5b61104d60026111fd565b611055611245565b6001600160a01b031663ef16e845858585856040518563ffffffff1660e01b81526004016110869493929190611ff7565b5f604051808303815f875af11580156110a1573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526110c8919081019061212a565b50506110d460016111fd565b50505050565b6110e261114b565b606580546001600160a01b0383166001600160a01b031990911681179091556111136033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146109da5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107b1565b5f610d476a3a30b4b5b7afba37b5b2b760a91b5f610e85565b5f6111c846611674565b156111f357507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b61120646611674565b1561123157807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b5f610d47647461696b6f60d81b5f610e85565b5f80825160410361128c576020830151604084015160608501515f1a611280878285856116a7565b94509450505050611293565b505f905060025b9250929050565b806001600160a01b0381166112c25760405163538ba4f960e01b815260040160405180910390fd5b6112cb83611764565b610585826117c2565b5f8051602061231b833981519152546001600160a01b031690565b6109b161114b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561132a5761058583611832565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611384575060408051601f3d908101601f1916820190925261138191810190612249565b60015b6113e75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016107b1565b5f8051602061231b83398151915281146114555760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016107b1565b506105858383836118cd565b6097545f906001600160a01b03168061148d57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa1580156114df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115039190611fdc565b91508215801561151a57506001600160a01b038216155b1561154a57604051632b0d65db60e01b81526001600160401b0386166004820152602481018590526044016107b1565b509392505050565b61156660c954610100900460ff1660021490565b6115835760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610a9161114b565b606580546001600160a01b03191690556109b1816118f1565b61161760c954610100900460ff1660021490565b156116355760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020016115d8565b5f6001821480611685575061426882145b80611692575062aa36a782145b806116a157506116a182611942565b92915050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156116dc57505f9050600361175b565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561172d573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116611755575f6001925092505061175b565b91505f90505b94509492505050565b5f54610100900460ff1661178a5760405162461bcd60e51b81526004016107b190612260565b611792611959565b6117b06001600160a01b038216156117aa57816115ea565b336115ea565b5060c9805461ff001916610100179055565b5f54610100900460ff166117e85760405162461bcd60e51b81526004016107b190612260565b6001600160401b034611156118105760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381163b61189f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016107b1565b5f8051602061231b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6118d68361197f565b5f825111806118e25750805b15610585576110d483836119be565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f617e2c82101580156116a1575050617e90101590565b5f54610100900460ff166109da5760405162461bcd60e51b81526004016107b190612260565b61198881611832565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610e91838360405180606001604052806027815260200161233b6027913960605f80856001600160a01b0316856040516119fa91906122cd565b5f60405180830381855af49150503d805f8114611a32576040519150601f19603f3d011682016040523d82523d5f602084013e611a37565b606091505b5091509150611a4886838387611a52565b9695505050505050565b60608315611ac05782515f03611ab9576001600160a01b0385163b611ab95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107b1565b50816109c0565b6109c08383815115611ad55781518083602001fd5b8060405162461bcd60e51b81526004016107b191906122e8565b6001600160a01b03811681146109b1575f80fd5b5f8060408385031215611b14575f80fd5b8235611b1f81611aef565b946020939093013593505050565b5f60208284031215611b3d575f80fd5b8135610e9181611aef565b6001600160401b03811681146109b1575f80fd5b5f8083601f840112611b6c575f80fd5b5081356001600160401b03811115611b82575f80fd5b602083019150836020828501011115611293575f80fd5b5f805f60408486031215611bab575f80fd5b8335611bb681611b48565b925060208401356001600160401b03811115611bd0575f80fd5b611bdc86828701611b5c565b9497909650939450505050565b5f805f60408486031215611bfb575f80fd5b8335925060208401356001600160401b03811115611bd0575f80fd5b5f805f60608486031215611c29575f80fd5b8335611c3481611aef565b92506020840135611c4481611aef565b91506040840135611c5481611aef565b809150509250925092565b80151581146109b1575f80fd5b5f805f60608486031215611c7e575f80fd5b8335611c8981611b48565b9250602084013591506040840135611c5481611c5f565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b0381118282101715611cd657611cd6611ca0565b60405290565b6040516101c081016001600160401b0381118282101715611cd657611cd6611ca0565b604051601f8201601f191681016001600160401b0381118282101715611d2757611d27611ca0565b604052919050565b5f8060408385031215611d40575f80fd5b8235611d4b81611aef565b91506020838101356001600160401b0380821115611d67575f80fd5b818601915086601f830112611d7a575f80fd5b813581811115611d8c57611d8c611ca0565b611d9e601f8201601f19168501611cff565b91508082528784828501011115611db3575f80fd5b80848401858401375f848284010152508093505050509250929050565b5f60208284031215611de0575f80fd5b5035919050565b5f8060408385031215611df8575f80fd5b823591506020830135611e0a81611c5f565b809150509250929050565b5f8060408385031215611e26575f80fd5b8235611e3181611aef565b91506020830135611e0a81611c5f565b5f805f8060408587031215611e54575f80fd5b84356001600160401b0380821115611e6a575f80fd5b611e7688838901611b5c565b90965094506020870135915080821115611e8e575f80fd5b50611e9b87828801611b5c565b95989497509550505050565b8051611eb281611c5f565b919050565b5f60208284031215611ec7575f80fd5b8151610e9181611c5f565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6001600160401b0384168152604060208201525f611f1c604083018486611ed2565b95945050505050565b634e487b7160e01b5f52602160045260245ffd5b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b8051611eb281611aef565b5f60208284031215611fec575f80fd5b8151610e9181611aef565b604081525f61200a604083018688611ed2565b828103602084015261201d818587611ed2565b979650505050505050565b8051611eb281611b48565b805163ffffffff81168114611eb2575f80fd5b805161ffff81168114611eb2575f80fd5b5f82601f830112612066575f80fd5b815160206001600160401b0382111561208157612081611ca0565b61208f818360051b01611cff565b828152606092830285018201928282019190878511156120ad575f80fd5b8387015b8581101561211d5781818a0312156120c7575f80fd5b6120cf611cb4565b81516120da81611aef565b8152818601516bffffffffffffffffffffffff811681146120f9575f80fd5b8187015260408281015161210c81611b48565b9082015284529284019281016120b1565b5090979650505050505050565b5f808284036101e081121561213d575f80fd5b6101c08082121561214c575f80fd5b612154611cdc565b9150845182526020850151602083015260408501516040830152606085015160608301526080850151608083015261218e60a08601611fd1565b60a083015261219f60c08601612028565b60c08301526121b060e08601612033565b60e08301526101006121c3818701612028565b908301526101206121d5868201612028565b908301526101406121e7868201612046565b908301526101606121f9868201611ea7565b9083015261018085810151908301526101a0612216818701611fd1565b908301528401519092506001600160401b03811115612233575f80fd5b61223f85828601612057565b9150509250929050565b5f60208284031215612259575f80fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f5b838110156122c55781810151838201526020016122ad565b50505f910152565b5f82516122de8184602087016122ab565b9190910192915050565b602081525f82518060208401526123068160408501602087016122ab565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208a753ba3d5b8645b3dad40a1108d2b7b7f4d8a93756ffe0b2a730294424be62e64736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e03a2c3db7bcfcefaffd81c070ec7044190f63910525f87a0d53e5975cc20070119239703b5bbf0bd92fd3f448623a3311f116182284e7c6c1052088f1c9bbfd165628e0f05581e034220572ce8cf16356663bbcebbd5d41e6ffa009bedc4fc22778d9a8d000c0142140005581e031a636508070180082e3ac553729e550ffc882ce1f63443d3442dae8590040105581e034f5c55f1277578939209b3d2a406c4ca11f9530195379f8dc2097ccbc004010307c7957c0b6700d05371b8fff9f1263da409918c1255bc97bba31e0db8542cd1033f07008477fbd34f4da0eef79b4eda15c732dac8ef60b4f809c456741075a5d50219e7ba03c56c2a2ba16dab9ac882ec1f52c9d7e5c9b4fef9f8145c86a24cc99295a9823c03b9d56c9350da333b00571bbc44b8f1b80541d2d5f8a5796d433f8f2606ec99d80219ffff030a05307345f3e4945fa0bcc86c4d2bc452132e05f9ac32a804fc055b752643d103d8ca1098a9b84351c1653d77716b8b1df2fb48431e168ec2e6dfb1b76b912ed10358859e3f348463c770103c8caee795a88601341873847ec1c35a76cee81c364f034687d79a84c6e94354012f80fb1b027a92ce514c6abfdab82ca0040c3a34e1790219ffff037a4d14f6829d6a4e7c40f944f216cc10e6ceedbea06900d266262286107841f10354d86fede336d070ba1f57aa2ebffff3748f8e7df9c7e23b3e8d6a17b6f87d730219ffff03c477a6c0c62c004c49fc951a22861e6eb3845789f1ed389479d0a65ba3c40697036a200ee3e162d26d89f703aef779203211ebaa7870ce45b66cdbd9bb707ccb1403b6a75aefa736139064dec97128949bef6f241d5f359b3bba26310a835b6e6637035c64da4420e6ae3c7cc735afc0fe0b1fc63dc58767aa1df2df15e2e0688ccd0103a8aa638a513f79932f6d48a4f0f97d89bfe4d3656dddd9c92a6ea0790ffbdcf4037d5f0f832d3ad60a77b9d577a22d5f4c39ce8a03e4dcfd2cc1d918564735dfce0362a04b6e6b17e681e664646f5ac12ccfd1f487754664c6c1d1dbe446b4997e68030f695cf3359bdd5fa04ba0416cf8e562fb5528607d9ef52ae3206bafb24f9f060219ffff03b1df329ad9acf0d96ddbb647994602cd3872bdb781103d2dec8f7d7f214fd08303864332156110bccf3b0882ebde1565580cc35ce6f4ad09d12fe41cc4e73f45aa0311aa9a16494e3aa9d23f6698b25c4d4e53a21592af1dbb042444a96a5f90eacb0326322642dcc4c96f401e9fe36a37a0bd4e1bd19c187a920930c7ade085243f4803d8db8f31a15c1e9557655bff9927de46ed893d62671e82a03c8cd6e169b604f203ed969379e15f2d3cbe47baf62206673c3c94f2557c68d8ea11bf64b333aeb70b036dfddd29662e5419c03b758618df4f79f83fe03f615904c204d2f513f2aad5d70395bdb64c4ce27a36590c001520d25817297744c1e34309f598675f6eed63d7ed038988d5697f94b69fe1a993e612cb26e0326dc5defafd7b7e9c4ae7ef7e0e760403f5e789e10473e16e75a0e68b15b8fc2f016ec3b6283515e32b6983666737c7ff0371b9b293b688707e2e1c58074a6216b745a5af7dc7b0b558d24c20a0582eebc4031ce8f0c257a44d3a4a1a150b25728169398b69f0684205b4466febbb73f334a5032bed0954dc12bee4522629e9de5049d37fdfa744e6a5750e93919599ffe8688b032b58ca3be6498b687ff8d5aa2e6d6f5d41ec007e150168d825544aae967b1e580352a61cd63de004f0ab6204eae47efc25d20c9c8bd99576fa401ff4907f4e5364030b9a909f64003031bf5d06b48d2b91703a53f5817e8e0bbbdbd35fc0cc4ff6b2031eb9aecb60eddda2db917678c07f9453206e1835c4524b286299f8c377ee4772034a5caee302f7a2c4d662f6902765a954015aa0ebef90aafb5dbd9ae58e73d9de04591d726080604052600436106100a05760003560e01c80635d799f87116100645780635d799f871461015c578063715018a6146101855780638456cb591461019c5780638da5cb5b146101b3578063b9624e22146101de578063f2fde38b14610209576100a7565b806304824e70146100ac5780631ed6144e146100d55780633f4ba83a146100fe5780635742f567146101155780635c975abb14610131576100a7565b366100a757005b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce91906111e2565b610232565b005b3480156100e157600080fd5b506100fc60048036038101906100f791906112ac565b6102d2565b005b34801561010a57600080fd5b506101136103df565b005b61012f600480360381019061012a9190611330565b61047c565b005b34801561013d57600080fd5b50610146610631565b6040516101539190611388565b60405180910390f35b34801561016857600080fd5b50610183600480360381019061017e91906113a3565b610647565b005b34801561019157600080fd5b5061019a6107d0565b005b3480156101a857600080fd5b506101b16107e4565b005b3480156101bf57600080fd5b506101c8610881565b6040516101d591906113f2565b60405180910390f35b3480156101ea57600080fd5b506101f36108aa565b60405161020091906113f2565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b91906111e2565b6108ce565b005b6002600061023e610951565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166102c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102bc90611490565b60405180910390fd5b6102cf8147610959565b50565b6102da6109fa565b60005b838390508110156103d9578160026000868685818110610300576102ff6114b0565b5b905060200201602081019061031591906111e2565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1618a22a3b00b9ac70fd5a82f1f5cdd8cb272bd0f1b740ddf7c26ab05881dd5b84848381811061039a576103996114b0565b5b90506020020160208101906103af91906111e2565b836040516103be9291906114df565b60405180910390a180806103d190611541565b9150506102dd565b50505050565b600260006103eb610951565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610472576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161046990611490565b60405180910390fd5b61047a610a78565b565b610484610ada565b6002600154036104c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c0906115d5565b60405180910390fd5b60026001819055506104ec8160000160208101906104e791906111e2565b610b24565b6105375761053281600001602081019061050691906111e2565b337f0000000000000000000000002f2dd99235cb728fc79af575f1325eaa270f0c998460200135610ba7565b610576565b8060200135341015610575576040517fe1a3cee200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b6000807f0000000000000000000000002f2dd99235cb728fc79af575f1325eaa270f0c9973ffffffffffffffffffffffffffffffffffffffff16348480604001906105c19190611604565b6040516105cf9291906116a6565b60006040518083038185875af1925050503d806000811461060c576040519150601f19603f3d011682016040523d82523d6000602084013e610611565b606091505b5091509150816106255761062481610cff565b5b50506001808190555050565b60008060149054906101000a900460ff16905090565b60026000610653610951565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166106da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d190611490565b60405180910390fd5b61077e818373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161071791906113f2565b602060405180830381865afa158015610734573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075891906116eb565b8473ffffffffffffffffffffffffffffffffffffffff16610d079092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f8c4e91db779d40eb9afbcebd8cf9aa9195b7b057611e32ad5dc9e4025f56ada0826040516107c491906113f2565b60405180910390a25050565b6107d86109fa565b6107e26000610d8d565b565b600260006107f0610951565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086e90611490565b60405180910390fd5b61087f610e51565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f0000000000000000000000002f2dd99235cb728fc79af575f1325eaa270f0c9981565b6108d66109fa565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161093c9061178a565b60405180910390fd5b61094e81610d8d565b50565b600033905090565b600080600080600085875af19050806109a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099e9061181c565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f77f67778e9529a2fd2147ffb2b10ca2e0d1efd8cb925e1f1d5702e39c5fa8da6836040516109ed919061184b565b60405180910390a2505050565b610a02610951565b73ffffffffffffffffffffffffffffffffffffffff16610a20610881565b73ffffffffffffffffffffffffffffffffffffffff1614610a76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6d906118b2565b60405180910390fd5b565b610a80610eb4565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610ac3610951565b604051610ad091906113f2565b60405180910390a1565b610ae2610631565b15610b22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b199061191e565b60405180910390fd5b565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480610ba05750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b6000808573ffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b868686604051602401610bde9392919061193e565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051610c4891906119db565b6000604051808303816000865af19150503d8060008114610c85576040519150601f19603f3d011682016040523d82523d6000602084013e610c8a565b606091505b5091509150818015610cb85750600081511480610cb7575080806020019051810190610cb69190611a07565b5b5b610cf7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cee90611a80565b60405180910390fd5b505050505050565b805160208201fd5b610d888363a9059cbb60e01b8484604051602401610d26929190611aa0565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610efd565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610e59610ada565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610e9d610951565b604051610eaa91906113f2565b60405180910390a1565b610ebc610631565b610efb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef290611b15565b60405180910390fd5b565b6000610f5f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610fc49092919063ffffffff16565b9050600081511115610fbf5780806020019051810190610f7f9190611a07565b610fbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb590611ba7565b60405180910390fd5b5b505050565b6060610fd38484600085610fdc565b90509392505050565b606082471015611021576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101890611c39565b60405180910390fd5b61102a856110f0565b611069576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106090611ca5565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161109291906119db565b60006040518083038185875af1925050503d80600081146110cf576040519150601f19603f3d011682016040523d82523d6000602084013e6110d4565b606091505b50915091506110e4828286611113565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561112357829050611173565b6000835111156111365782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116a9190611d1a565b60405180910390fd5b9392505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111af82611184565b9050919050565b6111bf816111a4565b81146111ca57600080fd5b50565b6000813590506111dc816111b6565b92915050565b6000602082840312156111f8576111f761117a565b5b6000611206848285016111cd565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126112345761123361120f565b5b8235905067ffffffffffffffff81111561125157611250611214565b5b60208301915083602082028301111561126d5761126c611219565b5b9250929050565b60008115159050919050565b61128981611274565b811461129457600080fd5b50565b6000813590506112a681611280565b92915050565b6000806000604084860312156112c5576112c461117a565b5b600084013567ffffffffffffffff8111156112e3576112e261117f565b5b6112ef8682870161121e565b9350935050602061130286828701611297565b9150509250925092565b600080fd5b6000606082840312156113275761132661130c565b5b81905092915050565b6000602082840312156113465761134561117a565b5b600082013567ffffffffffffffff8111156113645761136361117f565b5b61137084828501611311565b91505092915050565b61138281611274565b82525050565b600060208201905061139d6000830184611379565b92915050565b600080604083850312156113ba576113b961117a565b5b60006113c8858286016111cd565b92505060206113d9858286016111cd565b9150509250929050565b6113ec816111a4565b82525050565b600060208201905061140760008301846113e3565b92915050565b600082825260208201905092915050565b7f4f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b600061147a60248361140d565b91506114858261141e565b604082019050919050565b600060208201905081810360008301526114a98161146d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006040820190506114f460008301856113e3565b6115016020830184611379565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600061154c82611537565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361157e5761157d611508565b5b600182019050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b60006115bf601f8361140d565b91506115ca82611589565b602082019050919050565b600060208201905081810360008301526115ee816115b2565b9050919050565b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112611621576116206115f5565b5b80840192508235915067ffffffffffffffff821115611643576116426115fa565b5b60208301925060018202360383131561165f5761165e6115ff565b5b509250929050565b600081905092915050565b82818337600083830152505050565b600061168d8385611667565b935061169a838584611672565b82840190509392505050565b60006116b3828486611681565b91508190509392505050565b6116c881611537565b81146116d357600080fd5b50565b6000815190506116e5816116bf565b92915050565b6000602082840312156117015761170061117a565b5b600061170f848285016116d6565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061177460268361140d565b915061177f82611718565b604082019050919050565b600060208201905081810360008301526117a381611767565b9050919050565b7f5f7472616e736665724574683a20457468207472616e73666572206661696c6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b600061180660218361140d565b9150611811826117aa565b604082019050919050565b60006020820190508181036000830152611835816117f9565b9050919050565b61184581611537565b82525050565b6000602082019050611860600083018461183c565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061189c60208361140d565b91506118a782611866565b602082019050919050565b600060208201905081810360008301526118cb8161188f565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061190860108361140d565b9150611913826118d2565b602082019050919050565b60006020820190508181036000830152611937816118fb565b9050919050565b600060608201905061195360008301866113e3565b61196060208301856113e3565b61196d604083018461183c565b949350505050565b600081519050919050565b60005b8381101561199e578082015181840152602081019050611983565b60008484015250505050565b60006119b582611975565b6119bf8185611667565b93506119cf818560208601611980565b80840191505092915050565b60006119e782846119aa565b915081905092915050565b600081519050611a0181611280565b92915050565b600060208284031215611a1d57611a1c61117a565b5b6000611a2b848285016119f2565b91505092915050565b7f5354460000000000000000000000000000000000000000000000000000000000600082015250565b6000611a6a60038361140d565b9150611a7582611a34565b602082019050919050565b60006020820190508181036000830152611a9981611a5d565b9050919050565b6000604082019050611ab560008301856113e3565b611ac2602083018461183c565b9392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000611aff60148361140d565b9150611b0a82611ac9565b602082019050919050565b60006020820190508181036000830152611b2e81611af2565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611b91602a8361140d565b9150611b9c82611b35565b604082019050919050565b60006020820190508181036000830152611bc081611b84565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000611c2360268361140d565b9150611c2e82611bc7565b604082019050919050565b60006020820190508181036000830152611c5281611c16565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611c8f601d8361140d565b9150611c9a82611c59565b602082019050919050565b60006020820190508181036000830152611cbe81611c82565b9050919050565b600081519050919050565b6000601f19601f8301169050919050565b6000611cec82611cc5565b611cf6818561140d565b9350611d06818560208601611980565b611d0f81611cd0565b840191505092915050565b60006020820190508181036000830152611d348184611ce1565b90509291505056fea26469706673582212200b18f4804ac8063cf1f8c7f536c8b3729ad5732a1107d96dc9f709abd035f05b64736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630549287b8e84d972dd02f618bbed45b9a6d7ed163840058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60410100582103e14e6f66d02904012f00e7ea919d20817b7a9778ee8c9ee2670a7a02f46def8041010219480405581d025f8d4edb9b63e89c551b8e6344e398a452ef88be44590eb0fca2c3180701191d7205581d02ad6341820436aa380b2a3273a8f6e643d65c1fc46605daace11e10560405020505581e0340cea3f9ba76b8ac342d4b10c32fe07a5564e6c12ad81bef646c096b40040205581e03d0f325c343fb00b06503f967cab810c2a26b60078acccc9779ae9c4660040105581e034ec04ce62497995edb19d36a781243d8185ec097a8821a152a20faf6a0040103995c4b038f911bfd0eb214719ed9f04e1b850e7d004a81d14912e0b7d553023003e482510c931362f6c05fcfe85b5fcec0d878f6a6567b84a2f14df6e446b8a6b805581e035f8243c5e0af2186214c013f1f4521323fbc8d27eb56d63fe17f0d9bb00c0147116fcccc8ec00005581e03fb78f9bb1e1e83610234bba29cdbd28c0fbe855d879a7b93a882249ab00c0847012b013fe986200374cdc4decab12c9da35c5ff6d23eaaa5f53901b5fbc4c75e1f59f465c5adb05803b5885f7dc355c102564bfe3b368e3d922ae8c164afef16d19f043068807e507505581e039e975a3add901f74f21a589c617843f2f63c0b768e52bd2606c215ac300c0147091917ea57f04a0314164dc12d36b074e0b5014b927a28f1998ae46a647653741618eee5e0697e520219c7df03b2d2593563ff25d9f068b3f6a460ba094e8e540bc66cc0152493dbdd3154bc140348de5d81e8cfdc378d2814d256a6fbf340c47287e0111413c76333339030b44d03fcb9558d1167c298180fbc24e0989602e136908c4b7a29ff6862ef75576a1c8e034b1d913075a46baff1934b19fe456b968e6398c8180842050e5776f15c31197d039d20bbb070339a466e374ff2b3d8bb83a6f64a4b7746981837b9a588dfb85e170338049cb69b487f9c6dae461d1b1f966a4ec915adc2e4cec86fbf4d6eb25cbb3603e0db79b4eafff79d77335bc9cc54c544a06e56b5256668e4dca2fd3278f43c3e0365b82d0eb862ee9359032ac26d1e067b1573c2e1918d535e44f79109281e13db0343450905fdc5d797cb7d3d05316d3bfe88def16db15c11fc20c2332a5659ac8303fd790ad9645bb8c26d4b6873460cbf8e12fda04bff6909d605b776f286d0a6bb03ee03b5f14b9bb190d2be291b56c51c0b4ab181acecb33bcdb9e21009b8a3b3f303f119e3086b9c47492685ecdca05ef9d5457899af891ed6bd8a94d12fc908c3300219ffff035df88d5cff2e4be8e1d86a4944e8df306cc4c8d19e44013e40f8deaf0807fda10219ffff0315d3de6a6ca2159995b2e18bb10192ce370ae9d5611d64d66a78e6c11e86b28103da03b285c47918bf13ce3ad6d934b1627f495cc418c68098e8ce938f399492ce039d902f62cc37f4d18d49c11b200c1fc60fd92f6d360f92ade42b87af7a705151031f39a8e3bd5efb5684fd6cf87e31ccd4432d311d97158690f626db588a1d6b6303aba07a5b83df5602a109acca6518d0674e0db8d9a9e7bbb3c0ee7ffddc670244036125552f50f44b8a327d6af846a515c14854855a4ca5dfa7cbbeff581fe6a8500312e328038f30a4d71982afa2d6f3765324e2ff39bcddb75dcb6b2bc53c613e9203bca71137f84e2aa007a9a28d9f5bd72ece74bc1ed58f2b6c9b33884956e657f3031c2403eadbc10fa90978ceda518b7677a7e43a059aca0fc935433f435ac8693c0372640abc964c3c7588f0b1d91d6465ee4450a3d6ee102395832e2a148a5c9d4803855f7a2a8309b4c03967afdb4448c85b5e244ed747997739506dcb41b0559d510328f0e31ac767e8f68ac902412355b782711bf75b2976ceb0ad589ad25dca49d10344b3e8569973aae3ffb67efb209d048baf8ebcb486cf8d7b73308e8b7f12316003fdcb716b6085fa218f7a838ce0592b5cea4d585de402f0bcf66ea6b24574f3110377ea9a874e3babe85578c539407e9fa9b40466847c3b7755e3b71712db9cbfe60219ffff03b885103001860d6af384af259b59238d992de3f70477a47a837db00e5ce795190338200c3fd8f439f917f513e9e28057daaff8e66836032233fd04cfdb9e00a57b033256904fd315dd84881c6eb3a61aaa4534e1b56a37045c8903cd09f744e363ca03ba8637fc446277220fe60f3ad3f5937d86dcbd00004aedb835e7327ac80ba640034790b774123fafb4942f7324ad6fa4236d1a3ed9d74236a8c942bdc85ca6cfae032713dac1587bbfa120f5d68d5b01226cece3a7d96fd67625d8b9063a5abbaa8f03c31d4848becab7c62d7d7727fdb665f7f6914b9e1a943a231d73c0f6e35269a90377650cead81ac07c3b6d3fc57debf9da379ebb2a63a7d7ef574d4a2c8ec87d9203525e34a8cd4e08376f9354c69af44ee3ba816af6d128a8e3eb5a45768a16ae2d034aa1c44aaa165466710aa6b918a923ea66d9f469f847b03b94b29438a37f602a036c34597012c2ab88556110a2a406a969844d1c3f2712f17395908ffc1e83602703a87dfdcd945882cf0cb55acb7f695a9e35336246349f73e4d3436f18fd54c590032b21e8f9703613d08706961f3c2728e5383bf3f0e63e0c137de9e4614931ee9703d83b6519d4fb7c203131934f881494447a26bee069db37d5b6fe7464ef3b81420308dbbc358cf245193f5305c93a8f83e00fe32571f224277ac5e343df4889358a03a2c20b9b8a2e817ca45fd6951e98c0c2224af93e9207a1424f6e87c002c84c4003e542980b7f270452307b50aff7a4d9c8ee1e5c276f6cac9ed4df387976663f0c034172ed73b7a7a27043f5e062ba6dbc5a35309102618c6ae15d44597d30bf10df03e9265eebf36809a59ed02d81ced0ad5770ff5e8911b33d3b96cdc99a540a9f8a03687e6e35800243f1baccc4ba3fdb20db9c2cb04b084841e85bac22b5896953b303af96563a96744a1638abfbd0b60a5d8f36f4d98f66a9248f4eafeb4d8fc901c003ba723bca9aa8bf59e50959e2f7529a1a7a6ee29747cef5106038f995a08536cc03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e036232a4b2c000e413815191de8fccda98af457eff63c2600b72ed0a0fc007011bffffffffffffffff03e295e682e5744251d18a6362e3a8d465ecf9dcea51f73862d7e938417580087d05581e038124e028a2ec62e96b1f643712aaf66181fc821e48c686139d65054510040103d9261fb94cb0fbfb4c7d34fa677191dedd09666afb6d959a3372cc31ce9d9d3b0307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581d032f6a14d47f357f19a62e3e2160aca86b583990740487a7e157a2f21007011bffffffffffffffff05581d036310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d008490313b2c58fcbd16c2602183005581d026d18b5ed74eadb7c5c5b22834769445678c0c8168fddeb16e6bbfb5804020219080105581e03c1f7e420eb4d9b12912b3884e45c9eac000f2f675b8cc9b77035855ab00c0147053b45e0d7b72805581e03f271f1cb20bc5b0b74aa8551a2db46f5a669e9e60f67340a472e20c1a00c0f473102fe5908807903446effc83a5c062fae4e244e10567ba2c9e28bc62c186116096de7ae79e49380034ebf60e22debe940f4a31bb59a7ad1f0d31d3aed30fb722e3599371bb31a292d05581e03e10b65d9d50ad3f2ef4b13bbc70e944c69c79a6b2289cb43fd833fdf6007011bffffffffffffffff05581e03ea1c35e4e0ebc8269e07da4b4fb389ab368d2c66ca177aeedb19006aa004010327ea5fad69b96ff425afe7fe109b5dac7e66f8d5a26dd91036fd2afa37e626170219e7c9037e5c54489f98469ebe6a959fb8174e458eb220bb50754e1a3f9dc71fd4aee6340331ac71fa9deaa0f7cd59ec1c895b518616c5f70aeea27aa31113f97c875655b7039c05ec0a2badc9ac31912d753e787c3e20bf2262d105c138c678cf38b1633cbd033ab5cca1bb0dba5376b05d662037fe06893ddfc48e5485805fcd712e91b45dc5034d26bb8c0f3014ffd4b5c658408de17357710c174df876ace23300b3bf06c729038f9314486deeea5b8df2eaedf5ba85b77ffd171959e823e03b9d2722232d6ef103409d471b0032a175ae69cdab1fac55aa4ea38190262815bd5e4bcb6855770c390219ffff036ff8e187f5d9197bd41fcf2205043703acb3eacc09e1131e0e1af1b517ed6ccb034aee72859d716e463b79aa868c9a145e541e54237e4de697172c9019593fe5c6039c1b7f81dc70927ae389f4dea9f7acce403b7235fb12e82744c5ed8124a48873036dcc58ab97d5d4b4c57fe59e3271db718262f809d489d68258fe3eb61a4a826e03c95403efedc061a977fc71e3bd42e3b2c20711049de61c2c069a712134a2c85903057d35f377300089526acdca7ccd652453725e5292c1ef1bd5787a5c8b08727a03a78c5f154078d9f8b4de169a6db640026fbcdc4e661568e419e31bc83cc39b8d031d7d38cdffb79f62735238290baf75bcd71691ac9f266096b30766d38e0b646e0353135649e494d6b7e420e09bc3b76a0ed3a60ee97665d5634b45443fcd0d16fe03c8bdc2b1b39256e8adb37e0267d176e3a88987a211a4d9cadd646ce48dc4970003f518dd98840611aa27185b9fc7b1c4261725cc33001b3f591b593d865b4c6e6603096b4227864bbc85de64f9ab15ab381184248ad285a17667bf583081816a873e0379e9492c5d0875294c6bef0276eb73e9f96642eb70ff6433b0b87e5c3f21068a0219ffff03f153192dbfc934bb5266b11749a30d70dd238657c36b7b4377c1ee3a3725dcd3033353cbb83beeb68488763bad8174b439ab086707db0abbfbf2a153a7c98ba11d03931919672f458f164cbeee27104d7af4216721965b84c779c60f611e6257a54e033c763fdfd405358551746fdede42cd48fb914d2c234687ddabd33bdea25beb1c03cbca1547c363bd9dcc06a8ba073a5419ba1a6e82a6fa68fa41d9f4ed7ddf4cde03c753cdc31fc43d0ef77a0ce8847bbc4c10f28831970ca4c527564c0804b36d450362d6d75d5b21c47cb912cd632052c989864202d3a74da9f71cd96af2c8ea100c0219ffff03ae8e0d17c3a3e4134f7e48fb62f0803ae765119eda3a13f9dcf2b747ea68602b03e5fba9c1174a7671a5f797d3efbcd0ec7b2053fc34ed420b9f054a51c53ecfe10350342d123b0ceb01730dae2813911502d78477e0ab3eacdf36f642327f0cc0f4031228c55c019f8f93e6a117fdc7f4960ae2cfc8b0a5e6f6145c79b1dcd824c21d032590b0d23ba8d7e826d96b688e177ab0433396fa2dd6f0b51a499db25892a16603835ec88756f4e23b9f7f8555c562848d6bf7eb01172c632033b0a9bf2169522303f63bc4ddf8125d80cf1266b6d541541014f5374338552fd3f8e5b690cf5860d4035ec4ad9c932f6484310a90e1dce9d1b12dda96cb8d9aa940b0f4a6dbf8ff7ef2033913f15c956dd799846b693bbbca3a3afabedfcef0b90fba40bdf1dcccf75fb40219ffff0391d297730fbc098756e9aec3e5bc32b0a54b1566cbc54ab73bb0c201e9783924031d7116c6327e8ff752cc7f30e797443a929622916c82e3474394133f9e5d3215038aaafac8478429c9f7cd89791cc85d4b61d7da1d04df8d81a132388f763522e10351cc3e251560bdb2728879206248f7e8ab7e141fcdce4bff07a6498103589e46031cb3b56155b38cc41d42fb7f533abe2bc4a63476f0abff397c472be9adadfb6e03b5d4d09684c1b0511c1cb3329ac20ae0d801b34da1146b8a3f403acabdf28d4403561b6dcc25df589d46990dd2e1164002948c1307f505c3337d5b58942c45c48403c98a0bcd26b09a0cf2fd06460e835867bed02fa66b1c7582f363cf325fe6f0a903657523499cf60b4ee2ed0a04b1849c71e851c1462bb9cca2f073566413790cdc03aa9085111e8103467993800099f2de6cec5e4dada41d027519036edc48eb6a3803eb9915dd0ba003563245e5457ec1ccc6aefbc922462621533fa9665991ff438703aaa627e094d95a47dbf0644626f31943a1e0e5851980442fce66112e5bb51f8103fab0ad8cebdc0b184c9f94b4b3d64cbcb77ae4cf3f949fef3da705a7e7b75ab10361da45f286f8cee530d7e2935a238781aaa8f5cafd8f66ebf74601be7149e229035373afc68b6c2c58c6a4d4c58b174e64f92cd9b20749d6e8f2f6cb2fc60c98480385415fa40311197ba7b21a442e92aa7d95ea63b9b87dd711dd28af31432b04cc0319d955acd182fb99467da188e137593e7e11b01e598d5fe29d82e7290cb8d71603397098114452f8c4232dc891a3bef0aae5f0e91c9940ea200f3bab1ccfad929a0335cd0800e288a8774d2b2a48e5c320fddc107a60953888d828aeed463a1fa12703dcd317a4bf49193b45908f5d45808df24ad386637d87bfbda2cd316735e3001e037ec28eaa2640f6d2458ce428e46aed3c1e02e1efe71bb5f462db35be530f10dc03eca07e14a443990307d2da72328287ca69c17e2906b3c180165e5255cefb8ade03702e783a098cdb88c98517689b3f481c7188136f4a5fe4d08c1630f3b2cc032803a9733e2cbd7342560bb734ee43f62a167d2f4f5f7eea4ec0a57e914fd3b4e27e05581e03e8ef0afd970749a5fb79b44e076336f3c9a0826e32a6cf49a4df87dd400c01460722dc5fdee805581e03279720f95515c51720508a388d4756db68613b2b89b6e80169ba337a3004030302d19827e176a6ce33a843eb2f75e26527d7a6a4e2d67ca3fcc3525fa5718e0405581e03cfd64551738296f7bcb4d4b325ee20223fc6a16f2bfddecb1661b80430040105581e03ac4ef228f0b5fc5f6d5890696a2e70ce3809fb562aa781fe8e4a18fd900c191f3c48b9225bcc13a8b4ee05581e03ecf4745f9d73de97ecfee51aed589bcea74e3c2f2bd710c15b08057d400c19010f4709abaff619534005581e0374b71d7149811f14b9de813067c329f87347278064b3a80380d8b76c700c0445138eca47fe05581e0379b30adce72af5928c7b8de84d5be0c6146ea1e8fbbbb610c5080782000c0147019fdfaca9240005581e033d88d05ef52d83a0acff18066c2313f8f03b0f354d89201fe148ff83e004010219556e036bb36079bbce82b4bbd307008a6b260709d1292579229421f9c4cc282b8290790219ffff03e6c892a728dc6fd6198640adec57da75f234519ad92d87a0d2cb9ccf5471827e03df96f090a21c137dc274562a9a261b42575390198dd4971a2dd89920962612c303fb845b1ebb12d1df0b12a9835c8d0ed0110ca711ceed4e12862e240261301df703947aef1c52a76bd82ec64fc3dead2dfb419b94e7f76c888b0deee438608853d403373ac8c67718c1c5901afed81d2e2e623d87ca78a07724f45e6d70d57077c15603aab7efb81e539cab22fdd90d6dcc4d758ba60ffbfa4d086971bbbc9a90894f6503c0660d462e540df4c218d3f48487cf5bcc4b01ffa728a60a1b6570ee9e916a0a03ba78cebf9926d24d6f9faff73076757b60243478aa8aa1588a013d3a37f2604803e65ed82ae8091c516b82f0d07433b703b66fafe711e3ab4d93653e60659a6ced034d0578df2c84209aac4a7a58c25c50e2b396eae4d5ca844d733a78a0ff77f5a803c67fb4e4852dc68b71a0a020b7b26eb5d391385f7e581424e542f05792bff95e03c1d209233c9f5d0493e5bedad7398d0bbd0542caf06fd08a684494847336e53803484a12aa4f20bc7f7d90633933334f9a9f931241255c20258449a89e25b657f303156844211e1b3acacc130c45c929a0a6d701b3ca05a1e283b2a8e2a63f74b8790219ffff038c3dcb304e35486aa241f6fe41afc08eeb04c7c0ac9c3ce3f18db4fdbddd6b5c03de628604661038b6e47f34a7f2477845b38d64c7dc40c973a963d10d6e1f9691031db1a48e155b50765b800e0c9fff468d3a452e307ef826defe3cc04dc909ebfc039c350679da467fda8666d6b4fc54c2957106670ec0c18ae727c197a11e7c856b03bd6d84ebccf966ba97803b27bacbfc429378776c0c4bc7047a0d1b70a3a0e0a303072b18c29b7df1691b856f227aa432ea60b6ea783280448a69ed057ec5761d3e0314b37ddfb38585bc1eda760341f06a3b246a05566d48a6629171fdd55db4187b03ea69e4c2d4ef1859c282b0bc99ed0c1b409eb8ceb4d9cefd5fd4a15373575a2903ddd93c19babcb12b03e3d41110221d89ab6744a61e9983230029f3b419e1d2560383ab2883edd72e7a90a50437413122fc8e748abceebe63591f1da9d98c825f0c031750ff02ce989041ccb8273cc8ca558793f8c3e56553af71c27e1514272e955503275680d6da89a48d08d696aaa5a2460ee0e10fa9f99f0c6d3b7133b8c37d5b7b0301c088c0d62dd9d606c3bb68ec7f5fcbddfad2c199be054902cc88c56b96b68e03d350bd8aad1352e3149aa29436cd1c0353c38bc85bde6c94b6ce2600dc95213d038d0a337971d5209b1cafa05b3686d6dc7c26b84cda1d537f171110a01f6485c603183929cc4fe030892097e4b933bf28d1f2dd3053f11c9713edfd23c3586fbd96031576869fbed6c928d2e2ec055bc98d5551ce664872a86d31ecc93b42c8ece338035d48c137e1decae281242eba0a99542cf4939d7e7feee91144c254c699bffeab03ba3142a3113c6bba4709498959541204b97320c73eebdcba326d70fa7c698938030b5281a595294ba746419b2457cea009d7826477780b218b848100aef94f15d105581e0358b3d2a0ed2fbee3e4307bb6555c288ef85bbcf231bedec1ad1d64dbc00c01470ecb22ccd8400005581e03e324e96795594932cdb765f32cb3b059a6ea4fd47cc1df5869ecfe7900040305581d02c8d4c745f790a4c7639b4b39f02455924b008548a87d0616bb713bec0c185447085b33421efaed05581d02bb367ee423204a64c236fa45c7c828fc59a11c4e4e090cfbc16470870c0147013ec207cf1cb10219400805581e03cb410a5057124dee4e83b35e3071da8bdc2a7c34d7c915b7c1961d8d700c024701ba12d2fb1800035c61809d7178423e77433e06e05ba03aef896ab00411d28d4eecb2f9146e5b3b05581e03c34c4fcc302ee9ee9f830bfeae733e6e9b2a15ed8d6e55c9ff55ad60a00c0147114a90b666880005581e0382a4e0a833c091623313af1c4bd81ca2f9c56f49c12af980430c8edf300c0147afc8165ded21dc031ce3157c6c68362c50f70ecb928afd46ccd6fdb6b3cac66a5c8b12411ca5a4ef05581e0388558ab398a63fc258cbbdcb95220f0a05323989de9384b45e81aa2e2008471b4702751b5d1b0219b33c03a4474c208872afda3f850834704d17407060924ee9a91389fe82818a0266bc1d0219ffff03d17f19d0f5747509eed4be76b33bab5ed8ae3eb2d4c504e35be721a9ce69b7f5036886bd74f62dc297a8d4c96895a74e8e2340e72fa5ddbefff4ae46cae0dd16b60328e5481390bf430ad5b443fa84779d4265a1bb76445f066bbbbc05fafadf16290379ef4834feac6e3a9a92e3b4e28d74ee6a1553874d56b97083a520583146f18103e45a79cdb95e30b92906d60665901c50fab7bfa74da3d341e60c879322449d2803daf7ccc1cba23cccc4b70b588036c2a140e68efb277273a5b8ad59c2c68c148e037f150d5d58683b7d66f893f5dd173f74a6514e118e7e6036e5249dbe1321529003c0d542eaa8d8e520647a28ade0590ccffdbbfcda2ff71bdd943a0b0ded3274b1031bd8e1fd103672283dd738354e385b70bb607dc5c8a5988ce9724f868992158c0344e115c5c9326c401be3056387b2b85a77cd357e74fd65d6f35e2cf25145ffdd035c6d525968c2239146d15d71cec9bfcb7c11aa1916761b434152051fd81e763e03f501e97bdf0d322f5bf9b120f618fbab4421a3b00da9037d185299f6fa13dcdc0331e180bdac2963f04ce9d6f4bbd581396619547808a8ad1cea9a49f4b0a3adbe03fb2c5175bd7fe4a2e90322e02e39d86e32f77def39032181b7eaf8cbe302a3a103480497f597aafa4de7b240bcff8f87f6453dd8f469f8ecff26a035315503cf990219ffff0340e355e6b8d33ec9cb7fa255ed6be1db13880d1bad16e7697fab2f51f6a1b05803d12273eb4b7d41f11a980fc5e201cdc42bfdf818d11049659d47e4bac315a7e20391d63f5d1f6d0b8a550319eaa3b9bb048d5143df5ed6f642bfab1bb0425d2f5a03d9f88c2acb12042a44788bdedd22deba8492d016d1504d6005ac2706f08d545303634b2997e9c8245d37e6b3fc198b116ecd0125eed5d0650934aeba952b2ec21a0364524d6c5d4474e1c3c0d7d78e872145ff6685752f06d4b7bfd142d74a6b93300377de7fbbda388db0bdbbda4daebd21f333fa17268e5c35ed2e3220755210237e0219ffff0397433807010b0aa2807e6592005fca710ad8bc848c794ddf622f4f6d932d1c1c0368ab081e3b3a2b9327d539752a11a4129d6689ae858ac6f9ec2c023650b41c170322b034e48f61642c05570cfc4425a6c0a7eb891a2e57c20ff7ef5fbe6150863803f484209effd66bbf4a84c6f8092c225f7d3a6d4871c4fbdcf34a6c0f8c5d86ce03d7a07ef592c0a3587cd21c1c989bd30ddcd53bc2ace1edbd5b17c02f1c176e0103bce27886bb7798c069f910181aba8648ea3a08d7321970c91773d2340e1e8f3c034474c19e708de50b941a64666a907c9c2434bb72bd4bf3f18db55da4de9a144f0338534e14da3e4bc121b442f8a9e9055916d677f4afb62a0cee6f166736663a500353741e6716bf32038561ce39590759a4fc3eb7cdbe7374e0ad1b03135401a37d038abe742aae03fea394cc49f9359c55dd6122a9a587b0dbd104c2babd5aa54fad035911805aa6f8a650b91971cdcb0bacbffd569fa08cb1e90c97520b60c2da0c2a03ab7d063f9e9526f2bdabc58a5ae81844e13eae4aff5099f2b344e55e9cebab870328ee2e9c2b48885ff9696b4bb91bb5e5ae40ca853b7ae884d81e5c3676f6124e0312e41200a880dca1bcaf632799bbdc8aa419d1d1431c6df50996607fe9d531e403f07f87d6a215affeda9737b96b2d37a8595ab098fcf330dcf33d2c0c81febf05038273cd2f2d350a19a8e24950f7a480148a29d1a8e0d5ebe9966bf634b0b69731030255147eb2748f2dd31ba8d2a28d53ac7dfc7ef9a1f3b1a1cf60f552cfe8f7cb037b49474cdf08a6139064adc385bbadd01c9f6b172b4aeee5ec4479a5bd25fc310334fd9ddb6a41b16651ca68200958f7025c67ee7832c0c924656384e03654943c0394518e8df95efe7ab2530bacf788e40a7d4eed7821715a5c91c054b77f87f8420300d5ce24d7548276e241a988ab853e9e92bf973701b27c4dd12499af50e37e63035fa48869e0427a3ecd1962560d33f9e75bfda8abb1d3e7c4ee271ff01786e54e0352ea0d179f4bee02c7b52a117847676d2b22d87c87ccd4d8700790c6b5452a23035cf9f736a18bfe670fc1bc01cf3ee4798f46b038741cf88a34ca7176c4e90e3e0311667a8c04948f33b720de0f56c70ea1fb112f75bef9e045a9e54c679abfc3e7037b2f965696d6ec97fad311922898ba4c8e69846c2502dd9b0cfac1a6beb3e0a103f34e9c5c303f5f59e180d0d702463d195c537e5d47eb283cc02f646b5ba3a51803434918d47eb5ea485a0632ab6cc306014c5007b713cf6806580f2c17efc3634b03f0b332bc44312957c41e1c20a16725fe869fe75441fd6ffd6bd0e13f2703d1ea0388f6c90814631203ebcd879b9b2a01f894d317d77528d0a411dcdc9664a288fb05581e03efea86f69aef3f4f5d91599a3120fee3cb1f9fe68062f580d6330b212007011bffffffffffffffff031483d3a52f94c360270bedb403922c70e5d14b04bac4ab047125aa74c0d165fb05581e03226ab09d30c96e4667b1944d212afa9120639eeb4d0e28d3fe76ecb010040205581e03a9f85e7d47df7ac0002616b5bed73a5d50b6951894ddeb016a86be09500c0e47150dc6a81b5ce40380a887b90caf17a9ce21d865e1196d2d24741d1784a7e43d4f2c98b6a2af99ae03d03526a1b9ce28ef96815f82b24662989d1b2425753dd78edbe40fa386ae385105581e03a067cce9eaff53073e83de8aa82fbd999c5fded05b3be5169c57bc43e00c0346deb0ae6964a804593249341561000a57600080fd5b600436101561001857613243565b600035601c526f7fffffffffffffffffffffffffffffff604052636b441a4060005114156100945760043560a01c1561005057600080fd5b601154331461005e57600080fd5b600435601255600435610140527f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e96020610140a1005b636a1c05ae60005114156100ff5760115433146100b057600080fd5b60125461014052600061014051186100c757600080fd5b6101405160115561014051610160527febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a11891056020610160a1005b6357f901e260005114156101335760043560a01c1561011d57600080fd5b601154331461012b57600080fd5b600435600f55005b638e5b490f600051141561015757601154331461014f57600080fd5b600f54601055005b6388c2b3e3600051141561017c57601154331461017357600080fd5b600a5415600a55005b638980f11f60005114156101ff5760043560a01c1561019a57600080fd5b60115433146101a857600080fd5b600054600435186101b857600080fd5b60206101e0604463a9059cbb61014052601154610160526024356101805261015c60006004355af16101e957600080fd5b601f3d116101f657600080fd5b6000506101e050005b6000156102e9575b6101605261014052326101405118156102e357601054610180526000610180511815610279576020610220602463c23697a86101a052610140516101c0526101bc6000610180515af161025957600080fd5b601f3d1161026657600080fd5b60005061022051156102785761016051565b5b6308c379a06101a05260206101c05260256101e0527f536d61727420636f6e7472616374206465706f7369746f7273206e6f7420616c610200527f6c6f776564000000000000000000000000000000000000000000000000000000610220526101e05060846101bcfd5b61016051565b637c74a17460005114156103605760043560a01c1561030757600080fd5b600660043560e05260c052604060c0205461014052600161014051633b9aca00811061033257600080fd5b600560043560e05260c052604060c02060c052602060c0200160c052602060c020015460005260206000f350005b63da020a1860005114156103c15760043560a01c1561037e57600080fd5b6002602435633b9aca00811061039357600080fd5b600560043560e05260c052604060c02060c052602060c0200160c052602060c020015460005260206000f350005b63adc6358960005114156104065760043560a01c156103df57600080fd5b6001600260043560e05260c052604060c02060c052602060c020015460005260206000f350005b600015610d7c575b6101e0526101405261016052610180526101a0526101c05261018036610200376003546103805260006101405118156105dd5742610180511115610458576000610160511361045b565b60005b156104e45761016051630784ce008082058080600081121561047957195b607f1c1561048657600080fd5b90509050905061022052610220516101805142808210156104a657600080fd5b808203905090506040518111156104bc57600080fd5b808202808060008112156104cc57195b607f1c156104d957600080fd5b905090509050610200525b426101c05111156104fb5760006101a051136104fe565b60005b15610587576101a051630784ce008082058080600081121561051c57195b607f1c1561052957600080fd5b9050905090506102c0526102c0516101c051428082101561054957600080fd5b8082039050905060405181111561055f57600080fd5b8082028080600081121561056f57195b607f1c1561057c57600080fd5b9050905090506102a0525b60076101805160e05260c052604060c020546103405260006101c05118156105dc57610180516101c05114156105c45761034051610360526105db565b60076101c05160e05260c052604060c02054610360525b5b5b6103a0600081526000816020015242816040015243816060015260008160800152506000610380511115610691576103a0610380516c01431e0fae6d7217caa0000000811061062b57600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015250506106d0565b60206104c060246370a0823161044052306104605261045c6000545afa6106b757600080fd5b601f3d116106c457600080fd5b6000506104c051610420525b6103e051610440526104606103a0805182528060200151826020015280604001518260400152806060015182606001528060800151826080015250506000610500526103e05142111561078957670de0b6b3a764000043610400518082101561073857600080fd5b80820390509050808202821582848304141761075357600080fd5b80905090509050426103e0518082101561076c57600080fd5b80820390509050808061077e57600080fd5b820490509050610500525b6104405162093a808082049050905062093a8080820282158284830414176107b057600080fd5b8090509050905061052052610540600060ff818352015b610520805162093a808181830110156107df57600080fd5b808201905090508152506000610560524261052051111561080457426105205261081b565b60076105205160e05260c052604060c02054610560525b6103a080516103c05161052051610440518082101561083957600080fd5b8082039050905060405181111561084f57600080fd5b8082028080600081121561085f57195b607f1c1561086c57600080fd5b9050905090508082038080600081121561088257195b607f1c1561088f57600080fd5b9050905090508152506103c0805161056051808201808060008112156108b157195b607f1c156108be57600080fd5b90509050905081525060006103a05112156108da5760006103a0525b60006103c05112156108ed5760006103c0525b6105205161044052610520516103e0526104c05161050051610520516104a0518082101561091a57600080fd5b80820390509050808202821582848304141761093557600080fd5b80905090509050670de0b6b3a76400008082049050905081818301101561095b57600080fd5b80820190509050610400526103808051600181818301101561097c57600080fd5b80820190509050815250426105205114156109dd574361040052602061060060246370a0823161058052306105a05261059c6000545afa6109bc57600080fd5b601f3d116109c957600080fd5b6000506106005161042052610a5056610a3f565b610380516c01431e0fae6d7217caa000000081106109fa57600080fd5b600460c052602060c0200160c052602060c0206103a0805182558060200151600183015580604001516002830155806060015160038301558060800151600483015550505b5b81516001018083528114156107c7575b5050610380516003556000610140511815610b38576103c080516102c0516102205180820380806000811215610a8257195b607f1c15610a8f57600080fd5b90509050905080820180806000811215610aa557195b607f1c15610ab257600080fd5b9050905090508152506103a080516102a0516102005180820380806000811215610ad857195b607f1c15610ae557600080fd5b90509050905080820180806000811215610afb57195b607f1c15610b0857600080fd5b90509050905081525060006103c0511215610b245760006103c0525b60006103a0511215610b375760006103a0525b5b610380516c01431e0fae6d7217caa00000008110610b5557600080fd5b600460c052602060c0200160c052602060c0206103a0805182558060200151600183015580604001516002830155806060015160038301558060800151600483015550506000610140511815610d765742610180511115610c345761034080516102205180820180806000811215610bc957195b607f1c15610bd657600080fd5b905090509050815250610180516101c0511415610c1d5761034080516102c05180820380806000811215610c0657195b607f1c15610c1357600080fd5b9050905090508152505b6103405160076101805160e05260c052604060c020555b426101c0511115610c9457610180516101c0511115610c935761036080516102c05180820380806000811215610c6657195b607f1c15610c7357600080fd5b9050905090508152506103605160076101c05160e05260c052604060c020555b5b60066101405160e05260c052604060c020546001818183011015610cb757600080fd5b80820190509050610540526105405160066101405160e05260c052604060c02055426102e052436103005260026101405160e05260c052604060c02060c052602060c020546000811215610d0a57600080fd5b6103205261054051633b9aca008110610d2257600080fd5b60056101405160e05260c052604060c02060c052602060c0200160c052602060c0206102a0805182558060200151600183015580604001516002830155806060015160038301558060800151600483015550505b6101e051565b600015611024575b610200526101405261016052610180526101a0526101c0526101e0526102206101a080518252806020015182602001525050600154610260526102605161016051818183011015610dd457600080fd5b8082019050905060015561028061022080518252806020015182602001525050610220805161016051604051811115610e0c57600080fd5b80820180806000811215610e1c57195b607f1c15610e2957600080fd5b9050905090508152506000610180511815610e475761018051610240525b60026101405160e05260c052604060c02060c052602060c020610220805182558060200151600183015550506101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610280516102a051610140516102c0526102e061028080518252806020015182602001525050610320610220805182528060200151826020015250506103405161032051610300516102e0516102c0516006580161040e565b6102a05261028052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526000506000610160511815610f8957602061038060646323b872dd6102c052610140516102e052306103005261016051610320526102dc60006000545af1610f6b57600080fd5b601f3d11610f7857600080fd5b60005061038051610f8857600080fd5b5b610160516102c0526101e0516102e052426103005261024051610140517f4566dfc29f6f11d13a418c26a02bef7c28bae749d4de47e4e6a7cddea6730d5960606102c0a3610260516102c0526102605161016051818183011015610fec57600080fd5b808201905090506102e0527f5e2aa66efd74cce82b21852e317e5490d9ecc9e6bb953ae24d90851258cc2f5c60406102c0a161020051565b63c2c4c5c160005114156110b45760403661014037604036610180376101405161016051610180516101a05160006101c0526101e061014080518252806020015182602001525050610220610180805182528060200151826020015250506102405161022051610200516101e0516101c0516006580161040e565b6101a052610180526101605261014052600050005b633a46273e600051141561127c5762ffffff54156110d157600080fd5b600162ffffff5560043560a01c156110e857600080fd5b610140600260043560e05260c052604060c0208060c052602060c02054825260018160c052602060c02001548260200152505060006024351161112a57600080fd5b60006101405113151561117c576308c379a06101805260206101a05260166101c0527f4e6f206578697374696e67206c6f636b20666f756e64000000000000000000006101e0526101c050606461019cfd5b42610160511115156111f2576308c379a06101805260206101a05260246101c0527f43616e6e6f742061646420746f2065787069726564206c6f636b2e20576974686101e0527f6472617700000000000000000000000000000000000000000000000000000000610200526101c050608461019cfd5b6101405161016051600435610180526024356101a05260006101c0526101e0600260043560e05260c052604060c0208060c052602060c02054825260018160c052602060c02001548260200152505060006102205261022051610200516101e0516101c0516101a0516101805160065801610d84565b6101605261014052600050600062ffffff55005b6365fc387360005114156114ce5762ffffff541561129957600080fd5b600162ffffff5533610140526101405160065801610207565b60005060243562093a808082049050905062093a8080820282158284830414176112db57600080fd5b809050905090506101405261016060023360e05260c052604060c0208060c052602060c02054825260018160c052602060c02001548260200152505060006004351161132657600080fd5b61016051151515611376576308c379a06101a05260206101c05260196101e0527f5769746864726177206f6c6420746f6b656e7320666972737400000000000000610200526101e05060646101bcfd5b42610140511115156113ec576308c379a06101a05260206101c05260266101e0527f43616e206f6e6c79206c6f636b20756e74696c2074696d6520696e2074686520610200527f6675747572650000000000000000000000000000000000000000000000000000610220526101e05060846101bcfd5b42630784ce0081818301101561140157600080fd5b808201905090506101405111151515611459576308c379a06101a05260206101c052601e6101e0527f566f74696e67206c6f636b2063616e2062652034207965617273206d61780000610200526101e05060646101bcfd5b610140516101605161018051336101a0526004356101c052610140516101e052610200610160805182528060200151826020015250506001610240526102405161022051610200516101e0516101c0516101a05160065801610d84565b610180526101605261014052600050600062ffffff55005b634957677c600051141561167a5762ffffff54156114eb57600080fd5b600162ffffff5533610140526101405160065801610207565b60005061014060023360e05260c052604060c0208060c052602060c02054825260018160c052602060c02001548260200152505060006004351161154757600080fd5b600061014051131515611599576308c379a06101805260206101a05260166101c0527f4e6f206578697374696e67206c6f636b20666f756e64000000000000000000006101e0526101c050606461019cfd5b426101605111151561160f576308c379a06101805260206101a05260246101c0527f43616e6e6f742061646420746f2065787069726564206c6f636b2e20576974686101e0527f6472617700000000000000000000000000000000000000000000000000000000610200526101c050608461019cfd5b610140516101605133610180526004356101a05260006101c0526101e06101408051825280602001518260200152505060026102205261022051610200516101e0516101c0516101a0516101805160065801610d84565b6101605261014052600050600062ffffff55005b63eff7a61260005114156118ed5762ffffff541561169757600080fd5b600162ffffff5533610140526101405160065801610207565b60005061014060023360e05260c052604060c0208060c052602060c02054825260018160c052602060c02001548260200152505060043562093a808082049050905062093a80808202821582848304141761170a57600080fd5b80905090509050610180524261016051111515611766576308c379a06101a05260206101c052600c6101e0527f4c6f636b20657870697265640000000000000000000000000000000000000000610200526101e05060646101bcfd5b6000610140511315156117b8576308c379a06101a05260206101c05260116101e0527f4e6f7468696e67206973206c6f636b6564000000000000000000000000000000610200526101e05060646101bcfd5b610160516101805111151561180c576308c379a06101a05260206101c052601f6101e0527f43616e206f6e6c7920696e637265617365206c6f636b206475726174696f6e00610200526101e05060646101bcfd5b42630784ce0081818301101561182157600080fd5b808201905090506101805111151515611879576308c379a06101a05260206101c052601e6101e0527f566f74696e67206c6f636b2063616e2062652034207965617273206d61780000610200526101e05060646101bcfd5b610140516101605161018051336101a05260006101c052610180516101e052610200610140805182528060200151826020015250506003610240526102405161022051610200516101e0516101c0516101a05160065801610d84565b610180526101605261014052600050600062ffffff55005b633ccfd60b6000511415611b875762ffffff541561190a57600080fd5b600162ffffff5561014060023360e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015250506101605142101515611955576001611959565b600a545b5b15156119a5576308c379a06101805260206101a05260166101c0527f546865206c6f636b206469646e277420657870697265000000000000000000006101e0526101c050606461019cfd5b6101405160008112156119b757600080fd5b610180526101a06101408051825280602001518260200152505060006101605260006101405260023360e05260c052604060c02060c052602060c020610140805182558060200151600183015550506001546101e0526101e0516101805180821015611a2257600080fd5b808203905090506001556101405161016051610180516101a0516101c0516101e05133610200526102206101a0805182528060200151826020015250506102606101408051825280602001518260200152505061028051610260516102405161022051610200516006580161040e565b6101e0526101c0526101a05261018052610160526101405260005060206102a0604463a9059cbb610200523361022052610180516102405261021c60006000545af1611add57600080fd5b601f3d11611aea57600080fd5b6000506102a051611afa57600080fd5b61018051610200524261022052337ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5686040610200a26101e051610200526101e0516101805180821015611b4c57600080fd5b80820390509050610220527f5e2aa66efd74cce82b21852e317e5490d9ecc9e6bb953ae24d90851258cc2f5c6040610200a1600062ffffff55005b600015611c9c575b61018052610140526101605260006101a052610160516101c0526101e060006080818352015b6101c0516101a051101515611bc957611c88565b6101a0516101c051818183011015611be057600080fd5b808201905090506001818183011015611bf857600080fd5b8082019050905060028082049050905061020052610140516003610200516c01431e0fae6d7217caa00000008110611c2f57600080fd5b600460c052602060c0200160c052602060c0200154111515611c5857610200516101a052611c77565b61020051600180821015611c6b57600080fd5b808203905090506101c0525b5b8151600101808352811415611bb5575b50506101a051600052600051610180515650005b6370a082316000511415611cb4574261014052611cd9565b62fdd58e6000511415611cd1576020602461014037600050611cd9565b600015611e93575b60043560a01c15611ce957600080fd5b600660043560e05260c052604060c0205461016052610160511515611d1857600060005260206000f350611e91565b61018061016051633b9aca008110611d2f57600080fd5b600560043560e05260c052604060c02060c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c02001548260800152505061018080516101a051610140516101c05180821015611dbc57600080fd5b80820390509050604051811115611dd257600080fd5b80820280806000811215611de257195b607f1c15611def57600080fd5b90509050905080820380806000811215611e0557195b607f1c15611e1257600080fd5b9050905090508152506000610180511215611e2e576000610180525b610180516000811215611e4057600080fd5b61022052610200516003610220518082028215828483041417611e6257600080fd5b80905090509050818183011015611e7857600080fd5b80820190509050610240526102405160005260206000f3505b005b634ee2cd7e60005114156124075760043560a01c15611eb157600080fd5b436024351115611ec057600080fd5b600061014052600660043560e05260c052604060c020546101605261018060006080818352015b6101605161014051101515611efb57611fbe565b6101405161016051818183011015611f1257600080fd5b808201905090506001818183011015611f2a57600080fd5b808201905090506002808204905090506101a05260243560036101a051633b9aca008110611f5757600080fd5b600560043560e05260c052604060c02060c052602060c0200160c052602060c0200154111515611f8e576101a05161014052611fad565b6101a051600180821015611fa157600080fd5b80820390509050610160525b5b8151600101808352811415611ee7575b505061018061014051633b9aca008110611fd757600080fd5b600560043560e05260c052604060c02060c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c020015482608001525050600354610220526101405161016051610180516101a0516101c0516101e051610200516102205161024051602435610260526102205161028052610280516102605160065801611b8f565b6102e0526102405261022052610200526101e0526101c0526101a0526101805261016052610140526102e05161024052610260610240516c01431e0fae6d7217caa000000081106120e157600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c02001548260800152505060403661030037610220516102405110156122355761034061024051600181818301101561216f57600080fd5b808201905090506c01431e0fae6d7217caa0000000811061218f57600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015250506103a0516102c0518082101561220557600080fd5b8082039050905061030052610380516102a0518082101561222557600080fd5b8082039050905061032052612270565b436102c0518082101561224757600080fd5b8082039050905061030052426102a0518082101561226457600080fd5b80820390509050610320525b6102a0516103405260006103005118156122f2576103408051610320516024356102c051808210156122a157600080fd5b8082039050905080820282158284830414176122bc57600080fd5b809050905090506103005180806122d257600080fd5b8204905090508181830110156122e757600080fd5b808201905090508152505b61018080516101a051610340516101c0518082101561231057600080fd5b8082039050905060405181111561232657600080fd5b8082028080600081121561233657195b607f1c1561234357600080fd5b9050905090508082038080600081121561235957195b607f1c1561236657600080fd5b90509050905081525061018051600081121561238157600080fd5b610360526102005160036103605180820282158284830414176123a357600080fd5b809050905090508181830110156123b957600080fd5b80820190509050610380526000610180511215156123d85760016123e1565b60006102005110155b5b156123f9576103805160005260206000f350612405565b600060005260206000f3505b005b60001561264b575b610200526101405261016052610180526101a0526101c0526101e052610220610140805182528060200151826020015280604001518260400152806060015182606001528060800151826080015250506102605162093a808082049050905062093a80808202821582848304141761248657600080fd5b809050905090506102c0526102e0600060ff818352015b6102c0805162093a808181830110156124b557600080fd5b808201905090508152506000610300526101e0516102c05111156124e0576101e0516102c0526124f7565b60076102c05160e05260c052604060c02054610300525b6102208051610240516102c051610260518082101561251557600080fd5b8082039050905060405181111561252b57600080fd5b8082028080600081121561253b57195b607f1c1561254857600080fd5b9050905090508082038080600081121561255e57195b607f1c1561256b57600080fd5b9050905090508152506101e0516102c0511415612587576125cf565b610240805161030051808201808060008112156125a057195b607f1c156125ad57600080fd5b9050905090508152506102c051610260525b815160010180835281141561249d575b505060006102205112156125e4576000610220525b6102205160008112156125f657600080fd5b6102e0526102a05160036102e051808202821582848304141761261857600080fd5b8090509050905081818301101561262e57600080fd5b808201905090506103005261030051600052600051610200515650005b6318160ddd6000511415612663574261014052612689565b63bd85b0396000511415612681576020600461014037600050612689565b6000156127b9575b60035461016052610180610160516c01431e0fae6d7217caa000000081106126b057600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015250506101405161016051610180516101a0516101c0516101e0516102005161022061018080518252806020015182602001528060400151826040015280606001518260600152806080015182608001525050610140516102c0526102c0516102a051610280516102605161024051610220516006580161240f565b61032052610200526101e0526101c0526101a0526101805261016052610140526103205160005260206000f350005b63981b24d06000511415612b32574360043511156127d657600080fd5b60035461014052610140516101605160043561018052610140516101a0526101a0516101805160065801611b8f565b6102005261016052610140526102005161016052610180610160516c01431e0fae6d7217caa0000000811061283957600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c020015482608001525050600061022052610140516101605110156129de576102406101605160018181830110156128c657600080fd5b808201905090506c01431e0fae6d7217caa000000081106128e657600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015250506102a0516101e05118156129d9576004356101e0518082101561296957600080fd5b80820390509050610280516101c0518082101561298557600080fd5b8082039050905080820282158284830414176129a057600080fd5b809050905090506102a0516101e051808210156129bc57600080fd5b8082039050905080806129ce57600080fd5b820490509050610220525b612a68565b436101e0511815612a67576004356101e051808210156129fd57600080fd5b80820390509050426101c05180821015612a1657600080fd5b808203905090508082028215828483041417612a3157600080fd5b80905090509050436101e05180821015612a4a57600080fd5b808203905090508080612a5c57600080fd5b820490509050610220525b5b6101405161016051610180516101a0516101c0516101e0516102005161022051610240610180805182528060200151826020015280604001518260400152806060015182606001528060800151826080015250506101c05161022051818183011015612ad357600080fd5b808201905090506102e0526102e0516102c0516102a0516102805161026051610240516006580161240f565b6103405261022052610200526101e0526101c0526101a0526101805261016052610140526103405160005260206000f350005b63c3ad89566000511415612b855760206101c060246370a0823161014052306101605261015c6000545afa612b6657600080fd5b601f3d11612b7357600080fd5b6000506101c05160005260206000f350005b634f8ab24f6000511415612c7557436004351115612ba257600080fd5b60035461014052610140516101605160043561018052610140516101a0526101a0516101805160065801611b8f565b6102005261016052610140526102005161016052610180610160516c01431e0fae6d7217caa00000008110612c0557600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015260048160c052602060c0200154826080015250506102005160005260206000f350005b633cebb8236000511415612ca95760043560a01c15612c9357600080fd5b6008543314612ca157600080fd5b600435600855005b63fc0c546a6000511415612cc55760005460005260206000f350005b63047fc9aa6000511415612ce15760015460005260206000f350005b63cbf9fe5f6000511415612d505760043560a01c15612cff57600080fd5b600260043560e05260c052604060c0206101408080808460c052602060c0205481525050602081019050808060018560c052602060c02001548152505060409050905060c05260c051610140f39050005b63900cf0cf6000511415612d6c5760035460005260206000f350005b63d1febfb96000511415612e2d576004356c01431e0fae6d7217caa00000008110612d9657600080fd5b600460c052602060c020016101408080808460c052602060c0205481525050602081019050808060018560c052602060c020015481525050602081019050808060028560c052602060c020015481525050602081019050808060038560c052602060c020015481525050602081019050808060048560c052602060c02001548152505060a09050905060c05260c051610140f39050005b6328d09d476000511415612f035760043560a01c15612e4b57600080fd5b602435633b9aca008110612e5e57600080fd5b600560043560e05260c052604060c02060c052602060c020016101408080808460c052602060c0205481525050602081019050808060018560c052602060c020015481525050602081019050808060028560c052602060c020015481525050602081019050808060038560c052602060c020015481525050602081019050808060048560c052602060c02001548152505060a09050905060c05260c051610140f39050005b63010ae7576000511415612f3d5760043560a01c15612f2157600080fd5b600660043560e05260c052604060c0205460005260206000f350005b63711974846000511415612f6757600760043560e05260c052604060c0205460005260206000f350005b63f77c47916000511415612f835760085460005260206000f350005b63bef97c876000511415612f9f5760095460005260206000f350005b63f89464856000511415612fbb57600a5460005260206000f350005b6306fdde03600051141561306457600b8060c052602060c020610180602082540161012060006003818352015b82610120516020021115612ffb5761301d565b61012051850154610120516020028501525b8151600101808352811415612fe8575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b6395d89b41600051141561310d57600c8060c052602060c020610180602082540161012060006002818352015b826101205160200211156130a4576130c6565b61012051850154610120516020028501525b8151600101808352811415613091575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b6354fd4d5060005114156131b657600d8060c052602060c020610180602082540161012060006002818352015b8261012051602002111561314d5761316f565b61012051850154610120516020028501525b815160010180835281141561313a575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63313ce56760005114156131d257600e5460005260206000f350005b638ff36fd160005114156131ee57600f5460005260206000f350005b637175d4f7600051141561320a5760105460005260206000f350005b63f851a44060005114156132265760115460005260206000f350005b6317f7182a60005114156132425760125460005260206000f350005b5b60006000fd03f8703e701eac88d0d8fd117311e3eeda475e47d264685fcfc21e895c298a1e0d03bd400384c8f46fd7a49c1c35401d96eb2625e9d26a92c7a22b0e2ea155e6c25d03fc96e8130200cc56710e87e759d556497cf5b1ea1cf282918c56ad51b78f280e0399636d58ddb48ba9e278dfc6478da2a47f4944c295d8e1f750f0921d368a4e8803b11bf27ed360e437886c21fe359e5241dd85b405373089847bafe3adad8e0ed303e4f58d9d37c0ad8887bb76111bbd01f73699a58c488d2cda78f3502113d48ee1034b5947b7d2c82d062d46213fba2bfb87806d31f2fb73e5853ed06bff05c31b03036beafa0c8047769c73d3e055128c9f1910f8b2026be00638cc1049ef0b507af703f1c82a0604e095401f6f4803b49baf17d965e06f92519126e62c2ceb18c6a4c103fdeed46873c2923e9fe16541f53f002eb67d677470935d110331fc237a3fafdc035550a1578f3b73cedd3a136e0f55566d59300a28ed1fe9b1606a4ff72bb81ae103efb7fbc22b6061bf4a035efe1ad2b45709a17725b41644e0465be244a84371fa03bb4cad5ed557d95b33fcc5a2041ce568aa94579dddd341484681658992c2078f00581f02ca32f70bb258faa5e9962998a0a3e400d056eb76e6e35f9569274c2d6e68458133e3f9630368c35f101257e36dcd0ece68a9e220d19149318ed3581bddb78ebcfd75c7952200581f02c65efa93f5540598f7b9156489df3fbff779123f5a9ceaec92738e1a9410490e18398e760190000003e324545672d3a34a02ee548f3d6fa482c63fc034f3c635e11def7df86942ebfc0318b592ca865b731ee396744fd2ee6212baf9b0288e0984df9fefe17bced70d8503d1556bae9172753bfc7a25fb59bd58fe54f3d1047eb2d419b3c3dbb3fe12b53a03e6bd0ef55212188ed1b146e75cdd4c989f164c48542fe7a8302d7ea66208a1e300581f027f92ab56bb51b1bdb33b43953c26fa8fade54c357f5f19897673cb0f21d1440134cd8900581f024702b48804faf890c8dd4be96b0935e445a7ef95b509e543f07cdece0a664956ca569989d864000003e9ae883a0444ebb7d9e1d46328f2627ca4583477515c98e3400c7e877d56744003138c5d346e72ff6f1751e481819ffbc8068434621316197d19f06797abe511390219ff9f03c6e0d11597685634833d3d9765420f6f4c33f424b86b7fc4da7e16e4fd46585a033657e752a73f9785d21a270056069268d937e4f57d2e243908b4c212ec3c3ffb03d0eba39f3beff67528b682cc483a851edae87441e2d1be6370ad0c5a8163571a03c8a1b04adb8a46b412a9673ea23fbefa4522633f5f5226ee59ba358c94d6d3200337b0059bdf1625f7265eaee2c6fd61c8b5ed8b5aebdf7026cc39d07ed63102320305bcdea0fa0ee74a2aeaeb901576741158fd8f311ae812df60245964bbeda70d037a2570229593ba34c1bcf858d64a69d8d974712aa555fa5b0c6bd7ebbe85a62c038219b86677d696d16b6cd0b327abf0b9a59344b2b28bc40f0cd2bf923f0928f403290d5b7fb5c754124818d5fc87fba001a8a41f8f5e093572db3da3c639a4d67603fbc082be7f9d0302c1f85a8eefe71b9af6ba823c58b2b07f28f117e5acafb99e03d989ad06f18d3be6956177d1c1e85cebbfa92503f982daea012b9f9f98e1162e037eba1c8dc08d7a2387c220ee24dc5b718ef83e643d068dc0401a801ec2fa9d1303c21b35445f6856473b8d18b42a18503d09f9fa28f9ff85e5b398abf920c4bd410219ffff03ff87c45f1f9359f4a255526562730dbcefb21059ba5aa653b8a8936c98eef13f03a220c3c2dd3a73a47659580ad9c8fe4bb8cc56eb427063c8a91e16c4c4e2a48a037c787b01fb7cb96fec760721030d1a1c1a77e01553869cca30ced839786c073703dddc7f6d2361cb38486ce699e24b881180c64ec1a98282eebd1734d5301f651603fa02805d37ebe749c79e9117f25c1ca42eec07701a9370a4e015b68273b9142303e9f4983aead682a5701450f3859a895c4ed81cc80b363845a4cff33a0e464b9e032c59077dc88e3ee8257790c4f1dfa4c8b1b8b9cffadbdf231589fb1ac5748ee2039ee97270fc06d2772d5f066860398043f3de18ff1b87afde9a6ce03ebc78a6db03f21cb05d2e3fe510d6968a7244af781f322828f96468dae304c8bacb5d60877800581f02dbc7b507ee6853037fbd89188977fd149bc2f3c0b28543051a193c3f987b49053444835ec580000003da4f28d6c1d984869250fe7608141e82f604dabab1064e3e85fd0915c8459ca103ee1190552be0780815dd16ba1c19b6d933167f78f0e379366c7fa6f1dcf8c59900581f029d51d764e4f17a77b117659aa994ae268b2da13d3674261f3f7afb950d094b1d52734a9ae01736bd34fc03bcfd9c3497427989f208278044af43bcc6ded7239343911a944794085805fb2403ad67f2beb57bd474192df03d2de0ea950c5537f0b7a974fe1fcc50c0ec40f57d00581f02df4953570b0dfd829d6bcf9bc48ef70c3c8e6f9c8230bc0344f8ec50c39344011ccfea00581f02ee19214e70a20178f3a959a959848eae7ab0d9b00f8e3cd47b356b68f9b844012027d800581f02eec3500e825f4b1580aae10550136685871c6cff62d2118b343dc01d3f0c440134277e03a25fbb23c729e87e7219f8d20694005a7aeea6c424102b627248646cd7b43b8a00581f02e9970a7d07931410d295af2d43f3fef2ac547387e70802f64b2e580da5934460f3294802197b9f03c4756a97d017a2ddeeac0f43b6275752efd70c2a9a4ed8f3130a8ab73c455402032bc2dd9524f69fc74e7f4adef5aac9b44f84370f780d064e3900ff58389c42ed032da0fb638febb82694caa22c1442250d5695c1fd065f913a524a765fa5a7bd470338dcb9c1e5c75732b7a03f953aaebd73593ac2c42d8035e0a83f24f24969093203332beb68b6d1a3fd0c138b747e2f303d4463b0b71210f77c0f88958eeed8b34f037391e937f2f7dcc91092f517fac43105575971127e7f99f9a43ebf445a353c5203d4c65bfc6403a1ea881d30233653f245905c33799baec447b49601d86fd2254d031985d3ae34bd5b395dbc4efe246141894d090ccb6006c5e30816a8171bb534190219ffff03f38992967c265b9b80b6adb7537f9a5fc11d30ceb92d3acd6576b668d3855eac03aa2a558e938183ec1f6f1ff3252a0fb5d9e30d442bba89a230467e2f27f6a62e034f860fce8901720ee701b793106f8e48cba005e3e529efa4668dc86862d19075032caaa4410abaf777b333e6d9f3c77754218c7b944901330600a02eef6085ff79036649a525c79776638a85ab3d7e2ec9738aa06760fbdcf29e9875cf6406f8f76303553da694e3e9b30bc5362e68405341b48675905b08ddf26f69116a2e0748ccde0398497790523eee9d6acd9900a395374ecb76fa04991ec84c6432fc2e42057468034b99c6545f568f4034b56fd96ad0ac11ff56554aa929fb702adcc3f2b39adcc2034417ee23f3026fa150bac6c57023df80ee12ab151921d398ff642c7a45da50c503b7a34f5a6a83a46cad40666152154745d92fc85f7fbb421b3187e07a0d1465f903bea5b5dcbc44778d82254a2484eef5b1368cdfcf525d414801fdf7fa55c1ece3037e893a9ecad03205e40b943c92452251973812e4c1e78b10054698ea6a761ddf036deaf37d93d92c9705b15ed05b33ca785af4479d1ec03864d8a290d1dd5cc9b103457f31756f438a142cb3b9caab0aece49aea4b2d7c89fa55031dca75d21208f400581f02cceee0a7cf61adca52aa0ee5afc1f520b6c1c219ca186acb7b370cc4f61a4465e6534703f8a95c9216c3f45914e9277459d5b85c31e6b36fe08f781f528ea2efe748e5b703b00f028d7bd7cd2665b2c9c30ec49ee7f669c99fcbb9167cfd46f7266cfc7b42030844be90f78de917a8badd3b3f0888198f8d4329462190d32abd04b0ed23e0a303657653f9382b1507c2e86d4db7d55cb028b3d648d2568ccd18917ab949d5f2c4031e2ce766e248e1b5f1b8cdff4a07a9b358eae3e1e22aaace4c2a8d850c0e85b7030ba44972e1dda90fea2196f29906b922b417d47f2898fc97af9514be7f16306900581f02ae879107922b96fed2fbd8327494c1d64a0496c298291b8a08cad4e3631e4b24c4bb629adc515f75a90903d0dcc8effc656bea6f016cc77bbbb3ad501ad191d540a346dde99105d48ab19f0344ac8128813cf10b42780f7c4d7e1855a6377c8e3245f4f6a3c2226a6ba4f9e8031293e172ff91b44abf03d67b993fbc44c1ebe704abe669b5b40ed120a9127978033a1894af1dff8a3c4d03b666f11b5351ba141fa4e438bfe78e448852ef84dfcc0219fbfb0352a496387c97d04d3062a36c1b1a3bbab6df19f23aa9e0eec0af0d8118c468420347f04b2468ac1d3e1f593f89db3a77b9f85d1fffd9d5231cfa4b9dc5f46734e2030ef4dd79b3ccf90edb36c94aa965cae5d6fa9168c145cf9c06438e5dd6960f1c0369c11e53d91cca2b0a2dbef2db1c979a5c2ab0a0bd8d7e09883e98d6403826400219ffff03e7dac5b59ea0068bfa85618c5f3276b0b9f629bde4d413950910d2caa58b6c0f03a7e58b719451acd7110da54904e2f05d1b29177062278612ba9eec1861f9682803beae1c7930802947314f908cc8b01b033249bfac0321691d0ff85bae05f82fa3034b956e841694221a1d1ff54c6f19bcf59b33d6e8891695c1725a1b06ea29a11e0337d0a36e8b7a5946485be40a24283de64e32ea9b6c7fa08b4a73e104415e389403e80b6c32ee92139e8dd427feb735508465b4a6bfca2d7446625d9028eb2817ac03d2e86d8ff7cf924c9e1cbbd4a46b7545050ef823fbcf6170692bc408df65fca803108d46528e730c14073c54e372c826e460f2f6a911985b73704332a86269012e03d27fd58e9f1c1de2731d4a6066bb9455131db9b8e6619fcf904eee76be82bd450314618dd9715e8cec8f3779c62a6f01789ad27d1f5e0a6e1421217056a127b2e3038528741ae027fa6eec5f0f24720be5def85d07053c41d25c5dd339bbd72eef9a036065757eefbdfd124c4857f0cc193efecb1ed88d90807cc0b63717d0a6130f5d0365a46c67a9e3f1799bd084cf23e9fd01c2d02b25602a3911366a55c15d9e96f30318a5700631e77a1d796357ef0200d7f0d863b9595b61663695cb5585a9fa910803fa427a6cdfdc89d343ea0e1b9c344055c32615fab6abd22f7228051c9b2d357603330dc380e9731075091646364e476273d40dddd93036a8f1d17ae86e0761d43003a16fef7f51d256fdfbf8ca97fb5699f190731e64a0dfedf0ebc3bb48ef18e21c00581f02571d9f0f2be53bfc82410399c14ca50704c9157f37e5797c6d1c095b75a5440124a4bf0392ef1de47a2e8eadc8f53f63205f8b39d37f318bc21e969cff420e164f6c392c03efd174ed947e6066ba3b137eb9c71a6fa1f2df9b9298e15ce701e46f4d29efbb0376c4e5e3f887993809c1f0721f6025f91a39bd19003ddec89676da424e2b3a0100581f0236d8d8096dc155f1f182e462f992c691f88d6baaae802a0b9d606d556bb4473743116012e47e03f639d2b9e52ec7e477386836d947113ad243ec1b7d231a136685a84ec606273300581f03855812c3c3cd1147d4307c7e9c7ca55b488e6b521efd04997e85f7b6d0204b0d509b575f80559b7a2dfa00581f031973f1e39cb1bbafe9246335461783c11cf8f66ae7b244fb2dd4022c9d104a273c9391f22ee08d8e9a0219020803ee8c9082b27fc2abb028d27bdfc58b21f2396cb4c1fd40a84576fc6d584dc4190219cbbb0361596be70c4a041b2e894ae10aa532c3ddf8b02028ba4cd34ea76548fca5abf003830986a972e894589014a5444f94a7715e6a3e7335265a485c7809722d5a6f6f0311ee7062a5d2a8015b15b11c72950640ec2fb908cdcc5b60fed3685df4258ee80219ffff035f80df2abcc46a6fe0a9833fed0eabbb5122f58627eb49d9533f7d8d5729e2e003c19827ee972585d6763f6b32f3ccafac76e8958841c49af4abd4068e8aecf43a03d88afeec635c0e8825134cf847b4e1474b1cab7b66c61bd40fba40be43a47a5003431034daf440d52066cf9c51af20c95b3f41623f2273723c450e00a3757780e1032d5e899470d17335176fbd7e5c694b8c5c6a1ef15c7de67d29348a9c7081c89b0345c4fd3ab51aa0d831751a56f3d1ca77e7f7d65203ae21da080af230bf6b1317036677eda57f640d789431fc19c0e66e378432425d14be80c32847e920fd60631903b8716ee219a93caf1ea122af254a7ee980a6690d811f4c2df9c29bcde74f533c039b568dbc7d0814a07b9fb301bd43e2e4c179f985179d02e478196311ca51c9f003bfafdaa778d2715f70024f14c95368db00f7a712ad2154c9d6811fb176534a610313d587f8081794942579033eaf474b46f939d09b8bfb815a1a682386959e66ed035bab09526c1e36950c72fce77ba3bc7912b632ef920ece1b29f718db31868d8300581f038bc06595efdb1cae672c0c97300a0a4316f39ed5825028e1bd7a784643e047d1fc8b8c07bbd300581f03c83360f3429d6676fd926aefd9af8bbfb50ba4cbca789f7eb4ac6dafea8043d37f4302190402033eb73f8added7e5d7dd53b90928a8f3864b02c5197d2794f39b37cfc30fb896003cfcba37c0034a03b039f1130c4eca745fb5ba90bf06d25f29ad8edbde253c5cb035b0be82cdee88d9ebca097bcd96a52b3665e9571c60fdbde9a71a446cfed6bd5035c38005dd28ee40d439162938076bea91b5c122227e2f01b7a685654e4def2ef0351febd696b8d77658d3e6823c0008733ec53baa7428b8838c36b7fcb9144db8b03f8a9fd30dde891d0820a2a9fa7c297932e47cec4e72db019d02814e442e3a3f700581f0218394342ea2a6d0df1d520d108ecf3663c49b7566b5ef9be5c305cf12d134b1f83c8a3c2bf0fb7b1cf4a03b0f30ab76190e0981de35479cc3247ee964901a6bdda32ad0deabaf0daeffe8a032c26ef98240c7505fcb473ad561f4d579467d09810660ee76a4f8ccbc99bf2f2033923b10ed4bb891be94f3dc8fea23bb159b186fb81082bdc9c35bac1dfa872720219febd03384e073fbaf6f114171fb125551ac2f5012167c882a7eef9689e483782068925038482e820f96e154bcf7475a23004d5b758e9feae2caba60a68fa5bb33c78eb7d03319d298dbc2b7ef8b1ebb054680097cb7f13fc8e168861cf2dc501c12053e2f203b5c553d40545a53d2aaafe083848dc74aeb9c37ddc1abab464072f8f2892d24603fcc1f0e8bf9fdf946376b6425be96836f76027ff6201a947e29a5e256c48c6c903ff44cb6fd8375cdfc9bb7f17263af22904dbb640ecb8b6ddd62fc49df11ab70f031df1f486508f0c9c76063a7c516ceba06c8a2e2c0fdc2bd784ba4772a6839aef03eba27b540e02a89b1716f113b6dadaf0aaf8ff17c2340fee85f0958f25adb2a50219ffff0219ffff03930f58dedfaeceb3005ede2a042e336509ce36a83ad586396d2ce41822ad9f860348c57199759402a9880fa82fb70034f6c4a1c7c54f57f182e123015353e279c803c174083f0c6744e1e03996a7ef1f4113afe389c828135c125ba49c67c5e2225903f4dcdd1f0f60457a85eff2e446c404b13cd032464710b4dd411bc594a081dbba03c8cc4c61c47fffb5a92dd3b992be42c16143266370dff3d00cb20fe965aef7d403b4d3b7ad826730518280eee5f10fa2a849c33085f2fa8bd67a1d471a8ce3b5e803046d9a7f61442db5472a4e8106f0ab8f500ca8e02123e219b2efd2d42a3a715a033de837976db3466a153664de45393540e12327abf0de1e97f6c98d92febe4a4d00581f02a570e182a809ea0a3a2395f8593e59cb21bdc4b897da1356a60e113a6db4446211e86b034a5788de204971ef6fbd9a923995066b12ad50872a46f44c4c4456622185403d01410703601e7d97228dab614eceba50ea1c063729f51292cc5c54e5ec3241c00c9b73f603d9c4b5e3e1af2d2e3c3fcacc33b2b767b51df1a52641d7a016ef38b4d3cdd7fe00581f02c9c1ab6495ac78b9b730039c315dec03fd3d88b66edfb3cbe16e616c785d446359f03303220145f82aaf920af8549e68483ab0527b3a09bbbadd42f69a5772989746a10c03d84b5f739cb907f36c349c054a8239cde2536d967aa5ad00a6df3708cc4b92ef032d64a6e05dc264df77e75cd80c7e4fac6de3f5b6bf1dd6d186b25bf8dfb1f4df00581f02c78adb0d8a8851661d3a0527cbe0c2eff1c11a3a4d9c7e9edeb96e597f8a446541752b030ac622313f198f390b214b87c80b2417fff0aca6e1d28bfa7d02f83683e2f1a403b815596dae4da2d2303dd041be8704d05fe2e539460cd23fdcda6c831406bf6200581f020226770d590ef9401780cca0183bb83e9c6f3de2b9e6e9aba0a70f49bcc14a0af69a5afae878e7590600581f035952146f231b598c88331a134d6632a19b92f7db8fe711c29022bcdd94804461d5059000581f035953bede1fa57bd8816672771f682d1c7e1be0a80950acc69f634c6968f04465ba4e5700581f03a27a3036506d1c186f2c44e5ab0a05e847a9ac8c0b066f6913b0cfdaabc048048fac1b0369e5ca021986000219febf0329aec692de319c2d4bb37af26aecc0fefaec73b441e92f0f6cdd7d11f2385d1f03de3a50c6bdcdd39b2633d0e6afd216ea2e1b841df72d8c073a5b1523b0f2cf6a03b975750fe0faa1b99f719288077250827f2af292a8b8788155b27d8ddfcbc0650371b2cc439d607412849474cd5afc59aacd40308e6d505c012b421eae4c76c93103741d8205be7ba3c5dee75fdb4f75d01206ac56745deb5672cffb64c88f98e1fd03ff84f4ffb219d76ceae46754dffc987a7320e6b1faa33f3204ac831d63bfd3940311d2c80a41e33688cf4b26f7d29d916ea804c2484b04cbc24f38ed5ffd4dd815030a8e21aa028f9a2314b82a1402db99a5cef5a249a7c1d2876f49317f78b1eac9037e335f54f9343bf907a0a8e8d47cc3c7daee307eb70d8bed01a10f0fa864a0a703378aaa299fc6798a25ec239889c3e865ee72285eb3e76ca8730843585e9492d5038f7f0715fa6865c8a0dfa38b413b9a414852b21f03f5de289ea4e5ba58e0227a03d22e1944a116961610573543ea019b45100d00e30f30f8681479380096552ab30219ffff03c9bfa82e32aaf0fcff62797fc961b85de22366c6b00956766e71d402a70b140d03aae94bcb9f6085fd57e8a4071d0dcab6fd8d0d99d0fea768853e60c9499954e803bd9654a2718448010d9311818e80b3ab79d373426fe18f5db155aba20949c13d03fef0e9e10f00417e6c93962133b4114e69f7c09b50bfbb318e2fba1fd94d1e03031d2ac522dcb69913bf0a8fc88e2b07e0c82f07adeb245a19be651db9a0b627040337acd210c3f867a851b424bedc98c5463f36c0097fedefb72bd546da86a849ea0399aa0692bf0ba666691eec4314d59eff339e356ea335f1c544101ec0f8b58d6a03a9eb77d2ee7ff835d04085ecf41e7f0d328613f0407bd22d55d187c937a343270364443f6c208108a0cd7668b7d550a157b9b029ac977cf2f2e090a4838af2918903fd4a1a0e7e5b469d2b32c94248f995c169fcc304cb203b79ddc5972ac8255bcb032fa12d865c666b79e2964b8eca7ae753f992c29543d1420a491e8d9a105651c0037397bef840bdad122f31c949320a208c50f8f1cf8a6d99cc56270c43b9a0e82303898785693656658e931793559518bd4fea53646ad1671050ff3b066c4c621c2300581f02383b63dcebbe971b0bb6815eb4d9195355c416bbeee0d79ca1a34cb5dc0f460e09ae44f06100581f02e229eaa2615eee0b286d7a719efad4c2c5c1c73d641c4ceb65307a7c980244676c9c800320897c11e00b6f26a675d26006e2abb1e19e08471a59433cdefb7cf4e414cba301410d037c2e0616b0261e94a43a42b4e6063af73e01b8eb6e159d096e34b9dbcba4841201410400581f02bc2f7b89bfd786ec8bdcc0315899df5a8b4cf276a7b2e8101a0e8f4ff98343c3f14c00581f022aa2807302942140274a0450be0abcbece5fe895c956cb2e4cc5959fe0064a01e0e5db0b6d7a3c000000581f0225b8dd587500a2c4bb7d18bf39d5ce5c7e38c636809cf98c7357ff11f12644667f98bf0389cc4cd52dec05cf87d2132044f45f9454fcaeba637fe6189cee90f41a17dac200581f02d362628f652fe5167279361e0089bf241a0c62860bcce046e66e1d0a8f43487ce66c50e28400000373690065f4556eab28692227d6988a80e15263e57d8ee3bb4f6e599fb3929bc401410903c6c5e2e74e115580b6206c7cd7cc77becd595da0462822d6e2074954d5995ccd034432530a28d88623e9a0f8f32732c52ef3107054e4e5571bc64d28ff5ee9b2590387fd1b4199ecaaa394ad85ee6a825b51adb6dcbf08d721c225a74f610c45ca9202196ffb0300529baa24ad42bb24ba3f7ba39d43a13f9f7d177c79e93172b86b1c00b127e703f9c73414a248d90e113984b7b2face16dd5bad7c74de49b95ab4fe10a510b66a0368c557a80ec2fc883f1d14be8d88780811977b656fe71b2d220c1d1d86d8ce4e03d5fdec4c994ca6b3477e39f5ac0c6f47b89d9461b5b745e0348c60076669765d03e6d2030be780130c617f70b089989efb0028d2e968fbb68d67ca0494966d78c30343cc2e5e3158a6fe7ab33d7755cfdb4686953385bd1362a9bf17ebb8913ecf810348662fbaa076e2a303ff8daeff59b937897c7d7175aa74b4cf8bbf942cd5bc5703d9e430f254a70e8bc3247edb8c7507b3884cebb4eafd3f0c22b7d2b971d230d003f53630146ee2a4513784bfe0de5c549993d760805fd75ddd5a4b41ac4f33d7690219ffff03141d20140c20b656d3008f5f8dba59f74eda8789c5ad360f07fda20669e39b2903107ba27b4022dea1e2fad6dcc0bcd3bee709c9ec8b25fea2f36041c2edef840d031c77f6c1ebd161d55d86fbfde67c9915f73239be996d96134c5e243c9db159fb0219ffff0398ee4401610888936a28b8bcf01c33006a0a50e8a9b597de5f7b918519be2c8b039b0e47f4ca0f965b48f6c2a641d76bbcc8bb77ef7a79bd789332933f0131b224036de757cf4d57bdcd1b2febe8c2b3f26d6705bc1128f06fd95f5537b188d65eef03bd0c9158f883b0016357bdb01ab444742d48be2ab3034d4d336c6dd0ff1d80c6038c9391227ee776fba47e8b8b0ef8c8aaa145d3cbb3bb04aed4e99c22f4d9dde70373901de825093f0ea59638b0bf7c52f5bc8c7662a1c4430e5072edde48bab78203a539a58646242496e0d40963be908fe7b0266ab486d59986ef995e376969a89203d072718eca015ee7d1e4879d633df51b58db276db89f775caf7e67a7172df2d703b37164899c7e580280fb1d722eadfc0369f2f64f6677918e9f3b19026c84015e03454c92ef6d2b8b7f4754d9a68c9108fb19520f31ef4edb7c00cf03769d18cf330322e10218da931c17043fce8e9109b1c72218fff1c5341b2647160c71299487cf03730da9ea960a4f28b42a041dd31508dc919f7018d27348a0f53f17401613c41a00581f036da429baaef4ea596d6e632d7a50d82a4f15ff830faad5cb0f286b9df4e04b06241d14a76152f805881300581f0365e23c366242a26ad98179677f0630efa8937de1679ff2f0e2fdb6988f404b0bef4c90d6f708bba4e628021944000337a406d9ec989568c02896d7d256456e6f1f2a7dcb1c53fec4d89adc1eb5be7d00581f0276e1bb7ec1789f362c74fb8e1be82eb55ff8fb605d2a5eb5f5f6c57a503248045957723a4bc386034b5ff14573ed1433a1c88ad722074edac999d99d23f721f4b8d5e02a4fe2e35e00581f02c01becb5566c266942936fd8ee66ba38d3f04dc32d8c467f0663c2d793bc48038c152594e6d34a00581f021bc0f2ce546833b1bd159f490a29f2cda70ce425fce22a70b475cf85079e4b011a0c9ff0664ff9d78e0003c78550bff186e053a9fd7ea2e4ea90cb3d0ec08935ee51e0b8e0279db3d13d1100581f0250d5abe21175ef2868d3fd62e9c78e6ff88dcd973386a17505b00adc1b194461cf68a300581f0225d9633846c9900902372fbdc511a41b28e1288e53f152722cb296dd5b1c4b198052b0120543791b1c38032ee372c8465a6367528d4a427eab8267cb2b2f0c9591f9394c7a23745f9fc97403b71e2c76367a3fa6fb102208d026683e740e0b6138118ac96e9c8fc327378a0b01410903b7e265d400cdefaf880588e2bbab7457d3ee6ac844405ece89a13cca135a0b6903257650b34e54942a424e7d526795bb61e0bd5bb81d06858e30387ff3e295bff600581f02911181cc66eafccde523446a31fd29ed2c2854df7ce1593260da37e915004401305c9300581f024cfb48c4a35e3282f319284cd185974dc3ad3d36406177101cf11f024a664608b02fdfc20d0219f7ff0395e5453b4421a5baf5fbca194bacf1626fb9c3695e03269d0a81861273fef4c903cc63051c44a9a72fdec60c61654b337894e55b6097050347b5ee674c0be4945203145c4016a66528af7cd5e9bfcd907e0baaa2c89c00b1e91a57eb16a5485f5b17039e85d6c34c194bcc5d837417d34d0f076f2a63d645b557f570c2301d2605e49f03a0d0c797739ad77f17d78ba6b9f8098cb9214c9030577b1e576f6342f1a2b41103af86914f47c9a49681f847bd0fd6c60b832783f783de25b5c2e2dc545d600fbd039c28aedc032004ab106df89f20fe841caa440a0c0356ac08c1ed6e592be2f92d03c07ad611450d28e0651d583cb01f2a5739b98ef78f7fa0fad0072878ee80401f03e583bb28dcd397136e8aed3d21f3bfc5c312ec99b7c86618133f5fb491b67b08035ff17c8a691fb73a27f4870915b245e747da42b48f0f803c0ea80d62f56c12a803fd94caf2271fd1d7e4bd7011d8f603e19beb7889ea2640f3f863f63329bb49060219ffff03c8057ac71d6b63f01f474eeedb086c94cf4a4e6b6cfd02b846b741022486f1390366a15e20fea8379d0b0d4e67ff3b3308e54156c188f40742e8c8478829d3804f037c12512dda999d822cb762fd25c5bb9b89dda3776aa2b141ce35bc8221c4f36503e3c53eb985af383f11a5b069bf8ec385ed1e008510a9bc39e2cea7dab1527b540333dd36d2241f22d1f9d78e0b773c69bb7216ab4c2bae00f2eb76b4a61bf64a7503a0c6811dc1ff4fb84ea1f46614a0b757ddc77edf547367256b7e7247450abf100310036b109dcadab31fd472b4721f7dd516a543f3c96beb09708da2338083f3e8034d4cea1fcd7eeb2a4f752e9f1ab32b0e5d3a11ab234e3c593a5269429aa74bb60339431e09cc48fc9740baf6e58bb5a2984a314a43c6962a50bb2b647b0e54e9a7036b1d4bb520e6f0fac6b9a5f40e2677f435a3eb6cf8bbe48bb038ccb7ef0a282a03fe5bb4d469a0bcea758992e523c73deb0c1994e3f5f6e5383e0a17a758d28ba70378c694c364de21a6d665dd46e61fc5dab02704b2325c58755526122d657ea9310370f0d9e3aee07d05a36de4067c78648473e7b1c105a39672969c39a2bdc51a97038717e9d8026c4816cae374ec628e2fbc720bafb4ad041a271c8b9cf73ae9bfeb03bf3197efd4424036768c557c16eaa5930786d612fa591b5310f2563766f12bc203b015df0d8274ed4d01f36d1225e01575abc20fd604e5cec2b5422968fa60438e0393b8acbcb39ea32e20ad489318857c43077af59864010e05fc1fad78e8771e5503d2e9bdb168acd21b95c970477ab1475ce837da0a4b89db440eb2053cf23d996500581f02e5c66bf5c4895a65706a8525dfc981d218144443be7ea92f10696bb7b796446203ae5100581f02eed2f8d87f7e35ea26bf2cc3c8b3f4809c651cd84b5c36db1e6c2b4cbc0f4a0fc58820e709f7ba988900581f02671fb4e31f70aff589217e59b84d576c817a2a7238ada95c307e023a6ce44463f6b21f00581f0249fc786714b748c4630ab7a664c14cac6647336d5682fb043ff8f63bdf994507620d06ef00581f03ff8e97be382b191d0acaef57fc61afe8c0afbbaf9315e3cc4c08c0ae636044012b310800581f031059dd4b6218568678dd7e87681766152d0403fb838c9ceabf40d69885b04466876c470219500003890b37ab8a36bd67d272e1a76b38c000031208292cb57532210c3ad143afee6903c45f55cbde390f33525ccea6cedf919290b37dfdad70b5d8a09e00d5180073d5032af0dacbba98efdba28174e8af9ff4f5f270616956afbe6792b1181d2cf3f5e6038ae5d79162fdb0766a57315d1e6fd4279f6f5b86bd48c95a5914ec2a8ecf14bd00581f0299ce31e4a192efc408470f5c7e4e25d8a3da70a6d15cd5fb2032cad5e1b34461b26814021955d70219ffff039b7aad56b51554a282296b8b241ed91e2d17920bfde3031321da2d0710c27f810362a9375ece55e7f1ca5b401d91b0c96622f49ab1d52fc09ad7524374e240c82403f409820d9bb0f0b054a4ecd20907c529629fc461c0300bbe509fff7753b400a5035dd08bf0e073163986f01d851d7ce84c5738912a09b7b0ff1bcc296bb2ec43b60219ffff03b4003eb9d91576ae706a461cc595611f712405e97938013f25ca7d34421e9a10033f8d163e06afb3cf742c06a72720f41ee368e7461bccf163f8ef80e22e6e185603087eca3584ee02a7cca4fe8ff5b4449b157efb09e16a08e7df09619eabd41bb400581f0218288bbf45c72f2f5862fee998518f3673730c254dc3cbfb2be4678d95a84461c2f0000381e080d34f8eb53fd5498ab82fad5b0d7481a86ac34a8334bc6fecb6bb51bd6b00581f02357a03c2ed8dbbb3fd8a453bba81feee828299fa777a476d09fec6c2da214a01a2b808747e7d30000000581f02be1f186ac2340097a142e76a521c5e6352cd7ca19e1fa52d4ea193a374584b0e197dde34349487636edd00581f02c923964b972945e6e8822e9397acf68282ae39d2ab6f6956539698ac5ab04b0d06a318f71736cccfb0ab03558c44c44715e7331cace1e60a88c5aa620c567a20dd88da90f422c6d9b56576032f0dc965128dae750f7f2ec0f976a1f4fbfe6a1267353ff19fafc8382f1e8a6200581f0382b33c38c149554726ad287bdee0729a1c20973ba5fb6753953feba12e904b062ad70200b4cddc3b54af00581f03d02a58dbfadde7a1a48543beb6eefd6e44ee02471d6619f2c05b94c10cf04b0b2dd8c9d47bb7404a82800219200803b282259d40ef1fd6942058994637e530aac8f747512253d55ac9cc50469c229f00581f02724558a77e058827b3886e9333e6bf3b109f8509d0a7584f84497d90e70048038e1134a22c644703bebb984393f5cea7929e63d264ac11a7ebd6fdb1eeaabfb01de110ba7090d8800219f2fe038065fad9cbd457b3206d408972e15a6b638240a28b0a6229956d383e0a37a97103371cffcd2d7cf53e6140698ed69107b11dd6ae410a371020e1c27da9117c1e9b03ec55f022ff2ccfc982780ba99d8df6e7fc4811312e1a2fdd1ad6cf878d6166f303f0c5d6c6c821bcfcf46be2640a1bb9836eecb24524098b5ff20dd3a2b01063b5038bca7bfd7211800dfcb92fae634235a3a9184b843970255d89cb5b8f035b4f4e03ed5d92a083c8d5e7decadf95c730cb2c791d4a18c4da212909c3d536f9d445c003554a77b24c93ce512b477895453774853d48c5e87af2b7dc50eebc520fd2c77303abc8f5c7e4effd8c356ce406499dc80acfc5a5a16b38ac0a1d792559bf3dd42d033fee62dc1219efec54214bdf59c314de582edd62e89003343caaa289bc72a982030d8ec46452bcbd377f369732a31af8b9c814f4911b7b14f374d18e35b48f1a2d038be80b350cb26e95b4f8f457f0876ba190dd085bd4bb39474e2209ce2885b66903fc9ce986838aad8b766e9b0480d4b54109c5ac083adb0a6bc8835083e15dd59503d8f03c80f997fb619b3c1d6d2086267cf2de8a8769ece9302b1316b346eed3b403eeacba10912bf96080ac3c6ae2730f2a44bd5dc237e1346cf9e2ed6ab97e4b3b03cf462c71bef89475d866a7e1e352bd7b697eed437bbaae6c9be6a44665714f960219ffff03fa052c6856b3714d9e6cbbbcb5062bc2370c3881d4a0a3fb35649f1ff8ac9f880321ffcfe54bd8e09205110a5c7f3fe27f86b078580b1547dff90c6330a6cbe52f03bc6bbade9e89c72265269abf57cad6aaf4989fb92a66c056de7d73257d79a78f0379cb3475b0e34155799c40c77a9a50bd5d3c342c2f266d66e493c27d8e10934103dcf1853453f425e7676d2c489314acfea64686ef984438c4ceeca224a7ac21a10344cfc915afff4753ba59e519416025e763c83cfc1c89be2d33bb05e401edc75c03b9ed0b362692c0ec5002c1e0bb00eff42673ef9cc593d42c045b15427509df56032d784bd2ea610c6422fe5f5527e15ce1e6dde34da0b9636adea43f7a8e64215e03bf823ee008dbd6a872b1c4ca6d4c030259f1a5dd22a23660adc4bf88ff0357c603dbc963fdbe760d0687108f59e93f0a035056fc530d1d48d877f9ff968891c0bb03eca64a1d5afb3fb1a3fe30ae561f315519b00e60216394df2c92bd70d8cb43d003e28694666ab2180718eea9189ddadac1aef43cde6fc48c83046c8fe824e0220503b54ab3ec73454e8f3341a2689699a4b7b93574408e8ea7fac6884ab008a1eb990219ffff0361cf26a3c7f57cae2ee9fce37d7fb4fe96d6ac989c19529e746855e821f419c70361266042bafe037e8f9c75e0fa25ac236f8d40259bb9fc1f6ab940c7cce96e93037f2fa6914c39e586060d0f51f423cdc2e8b3e4afac316ad037995bb300591f580372a226520ee24d3f9df0668e3618e80157596bd403e46d2b78695a139b68e07603781ae29e9e74d42e41f9a5631b87287cdf054c9b5fc684d76626a89bc35636f80374de6570c114f099bd1c61dd477cbc7a259cf336a6f1c09e66783d1bed85ff84030ff867e96a022b3161528d1279415875ef81a712b0b379bddb5cfddfe13584d903fa7add6a14926d762b4f9fe6649ba1e363885480cb43d7d4dff3f295a19fcde903b9a3edf940a8242eb7c169145c50545e74c9f71ccae1d6e8ecbdd36d022c1b4d03a191b408aed2cc39dfad9cfce187037e3b5336797ba86fe3c3b873b601c47fa8035ae09a2cbfa8f9eaa132ec8242c1fd38235a90c95a75e6bb61a7560310a937a903f1e4a7917aa92a4f895a9c4f4a32f3c74e005104bb268d85a95b35c150180d6503bbf27f00889f21ef16e42b4bb29ed68f63be0898e2b095495c3cd592d3add8df00581f02f8748a4d586969232b5c60be26c383c5373b015bde629209c8e2482c71c24803b63f3c5de9726b03a7d7743b14d134d00f4db9dae327ac252ee41e76ccddfe8c05d0ad09ad60275a00581f025a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b422d9900581f02d97361ebb004a058a7815b4ed24a85cb36d7c6b3183de1fcd528d50191514b0b8f2041ae37e76cebf86c00581f0252497430fa720d9c776c91e2b2568419f6e6da7df4e05e59397833b1f87444676c9c80032d5b9a43b04398bf5c13adb6079702303d620c749b4bd4c950bf1e54cbde197b036039319445ba2e8487c912ba4da11fbf46af7500de158bb9a6788c7f0e66e1a303fa76b95b498a7f0263763b91fa0072425fdf8e0680d3bddb5cf4fb80f736fcc70315caaa748fba50eb085bee4687bdd9bbad0706ee1f9b3bdb622f3423d628681a03a3489caf44de9fdc5114302dd995f5fc42916edab0767a4ac7a900a025bab96f0219dffa039f2fb3d9176b60d6d7bc2f80d896a05cc7a35177f274b4574805b9f9e102b8d903a4457e9be71c304bf38ed6825fbfe6a1161b7eae8109b3b2451e925e504077c003bd45f5b9986ffd505a2ce229e5e309d4da211326c628f88e53a8d478a882c99f033aacea97ccb0d44c04a91e54c122a155a41289bc234d3bf311d29e78ad829e93038f35dd597cb75645aa12304edbfc8b4c1a145ac6edbbe869a4c1e19fc593734403646f713400c813981da04b20f24a75154ad457abfa25a84abf6b178535d387d10351061397d3e0b9cc39d66adbf2354d489e9ff2d6930f647c592d9da99e026eed03b7fe547264e4a815db2fa387b853ab2f2179f1372bbaf8ebf7ad234a09883bb303b7167f9e5438e6e4518658233f20db6eeb9723451314c2d0541951c6df9e904c030f6a4264a86dcd6d4fcffb612b870b7f9f3a6d043ccbf8544d3057114ae828d70219ffff03193163d6bad4a3bcc3f33dc1d31132e5bbdc59edeb5356737c0d4fb4e7f20194039ebb0cfebe5dcbc7b9f7b3dab2c229e409a026c098c49172366d47da700b0893031b1b3346b9036db51aa48faa9a7cb467daf7af5346a5debcd349e57e5351e147034bd0e16bcba3b940e61d538db138fae1cca22af5be2f6fe65a945a07d72587d203fd25634fc900498adf0a3a5f7266b429b4f0967fd41b1a57166d61ea9278bc8b036addbe4b72f0b16a4659af129fc2342bdb9ef8d5e84e808f6b0293ac2d452a1d03eb42395edbc3c5af5d5d0f0d7fa1f4da66c29c3e183e0ada3942b09cf19a6b2c03b4f37e535ffe74caa7971ae12edab39f5b263256ea80101cf0ecd1de43a4404103a7f230efae8aff3c0133981019e8a78f1f2eedc440b14bc07ef23f9e25971e6e03928e9b547923a2e4d29ab8b5d2b229cd66a427894d66c2bb32b9228fea2b497803bb6c00e7907e0bbbeae43622584763b189039bfcd7a2d9c932b48d64f3b7f27203d3a39a929bb51d7f0980bd782b24918295b1e9e51f028863d73fce831cfc2f7a03a60f2bcab9bc9701f617f8701726b7f568795e03d2343a388e7bae25cd50893d0219ffff03b66e21af7fa46b72e1ac4c3fc49f573f2ac2e4080d03f551dc932a71c9e6a2b003d191e8e31235a04df53eb40569e403ede145a45b21dbb2df652fd27517dd6a4e036b895048bd25bcc83766ecfa3374cc2b45e71604b47cb4a3f3d717d11685fb9c03fb0d5a7a35b094efaf31a59e08169248040a9d456a7fe2356ba1d739bcc7923d03cce2aa152af32330a2b5adc50583255acd26c5e72c047db96a45fdfd2ffa2717031e477541e9b69738eb344fa278308c9c1cbf4982013308936512fe84a6ca017e0372d00f75beb037d9b55f6a243f9ed713bd470f97aa27b203ba93aae380f72e4703d0922f16f4dd3827adc3083c87b4bcecaa19fc676714c309c48e857b0488f4af03a225a4b733359c4856183691991fd603f54524820314e5c0634b433eee424309037f33a4eb4334c86dffbf283ec7de0e3903fd098c21884a0d28de0b036681acfb03c68445024c68c17f34f68a6ab7324c6b06b84e16f087212afc1991ed56b30ef5036eb7a8575f0e2ed5408a14118ff733c0f76da9022374baabd5ef43868816db8603a82855b64fd9b3e2a024ec17908d9e2dff1f58186b94d9db256aeb1fb85cf3250360035df5c67c2751eb43f3b0ad685a98812bb74ca7079fee64e5ecf6b70881e7036b828b63bcba51ca4048b61ea12056f426ed19864e96a42d5e9a1a550521f44d03a1e25d20b4c85fab86205bd9c42b756c7d794ed2da5e7cc4a866bee6037d74aa0387a0e39d2d16c57a7f7a31b8c8bef8efd0e89260a2783351311ad9e9cbab6c0203967cc6088719e9cad18e82acbdc5237d63809bd391c10e64e6b03a94103018cf03906e8f11aa4ffe389fe0a9387331ccd73d118c75e2779fc60ecdfe504d26998d032228eda6416e0cbe185a7b83fbb0a867bef043b6fb25b1131a9951f71bbc408200581f02342888bd121b714184c31a8828aab535f94a429c394139b53dbf7a58493f43dc36ab00581f025a435f22d801e01d2102f09adb8362e1508317446ab84d39e745100645f043d8f10f00581f02d3386a1f2da6044d02506ed0a56fa69ee11a53769e02e3f4f79f2ad6cb614a01a8e619d07f07b8000000581f031206fe0a11b8afdee8ffd949965226408eeb9a5c4051b75afe10a5c53b104b22970e76a5c208fee2d39700581f03b53a2aa32654dd0cd83ff6538cbeaa1e429fac846fcf76767991bb3dac304201d900581f03ba16d97195a755351e32a94f6a57da1a9d21b0f55adecc221f93ef1b4d704b1fc817458d036a7761e9fe021980180395f3f2c6f574f18fb4287894ffbc8868dc0f0ccf359bad8d50041792f4e0066103cae60e958490bbc22a5f6d33ea01c373fc1c21e7334393f820700704fec637ee031bc46ecdd2b802ed2ef81bc31f6592a606e6cc540bf7db925a1599b2742b0d0b0312af32345693d3f183c6c7ddf8e20b09b927513c26d55f5918fe41a4c4b36b7c0344416b6c74eee8e6e78b8793ee97ae4695906eed56f551a26581bec2185dac770320483bebc7061fb39fb1299fab7de9e598c00efece3d9df6914cb82f73e3108200581f0276117c0becb40a9bc761ffaacd85f9671f22b2eb930bfcef1f449e4e01f348042cc8fbc29ef5a1039e88ec6b78374a8ece3595d78abd0e1619c91b4bacf5ce08d0966d95cf6c227e030296f2440fda8ae819a157fefbfd202b1b6b2965883b66b274d304d06ff852e702193bff0354c486e572b4918dcf53979044436c454ae771f2ce566bbd9870dba715cea0c60219ffff03ef0baf95daf6395b150d2ae882af9438fdba1e608efd52fc2072c003ff5aa73903215c42e1067c121ded8b6975890126dab82145c94136e6153e9ba94cea6a5f4b0361e8287620c9f12d39cd1c29029e7f1bdf0dc5c014f9903945daa44179f56098037e7b6f8462ba1a41ce1d1eefd9743e5111215a7eb787a64a5ca0da4d49b2b0cc03c0002bd6571ac5819827181f4addda7ed542d110013015fcfaeddc4887fc64ab03b086f77e95fb757f84cf119e99ea3c393e91af98b287d3cae28ab1b9defc777303012dddb378cae9a11d12bcc16e7f7d3115dc7ec629b79b079d0d123c24f7ca880315213c11b6714f8fc5381c6210dc2b349de8be380c511afabc4f07e47baa3d0b035f75d9056e33250e20de6d24de366b1abf233896fbc0bf1ec46db7d5a2e487ba03b0b0add5235ce7d99b97528cee3671473242f8b110234769bc62780403be3aa6039ff94b2b6f979cb4bb00a02b5806fb446b96882e466fd50ba5ad27f113c0ec470219ffff0219ffff05581e03c9b15a8461e3fda057aee71af9ac391230119080556c8e13250379c970070119324905581e039db5250d7477bac37f327108387231cbca9a2fe578c55b14f0b94a8e30040105581e033fbe92771580e833d7678418093160b7f4e2c9545b896d1b11b802e220040f0219b5970334aa1e2fd5a5d9c0e61601aa57ca1e4a0e59cb396a934b5425c56246d3a2e4340309797d85253b3e53297667e626de7879687fe11e4b7ba8182400bc49f93ff1f80219ffff033997cdb328ad8a7c9a2eb55a3f5090bce1497fa565e1ece8b8cc74fb263385fa032b552f770287ebc09ab2d18da949cf312d47093a15924d19e4114c7dc64cf00403f255ec87bf0f9fbd5c3439b0c0bd53c489ff98cfecf131d22a1a676655e21c2a03deeb90109b54be43c53dc52199053f71f6efa04c9546dd4a6a092e1c193cf8d3031452d9fd626dbbadf0aaf5c4f990c52f3f2e48db0febcfa4535ad8028965661c03a4e84415835e125f663cbb654898fea3bd98d89fb51aed26569bfe3be202e647039767c47ca2a388f9eef05507aca160b2e726904bcb2af5f95e61acc048d4dee50327da8362dc2d68dfcda119b38123308c5e3be830e1a3f0df757cc3ad2531fcf3037b27a854022361423c1f0cb16d5c95b4702a093cdfd88a3d5635cff2051205cf0335090176216f0f18b75f310220e9d88d02c59d0a5f5c439637c4a56ba59bb97e03892399e6fec885f0bb7e7cbae817d441ff70c55f7b940e5e0798af4962af99730219ffff03fda16b654439687698ba616efb2aed6b3502dc6ebbe4d54d790395679a15a65003cea4374352323b17421db37cdc55e46914da57fe50c3e3cb3a38eff2e086ee6b034d307ad58cbe97d43be0f997cce1b770275a69956b2e8db6581ba068e0df24f403768c2d92f113ed5a13bc5560e34d018a5048b1cea4664fa9e2547b38a5fd14ee037d0426af8ce26d44a8ac666d9aac17c92f1bf44d5bd70f6c2ebd03ea570e2a96034da1f90beed3fc08c215b7dbcbcbdfd8392e3e84e6e9be06d0b42d41125b6ada033938731e425a805fdee5b55bfc9ad6fd08dbc4dcb95dd3448b74206ed472fb75032bf358b0ed8f2b7e9e9b4ed3da8f467d8e0207d983094bfb581824fe8e11d7c70219ffff0338231026cf87b3e9762c845eea4b38a4904e239774dcd517fb806ff00afe1c0903bc68178c25e2aa5ba644a81e30a0c9ce49af5e389970a1080efc291813778f4c038137e6e69348149ff033cfe744b8271684f5e366389517ac18c85628f498b1120382c6fb9ec3655ed66d21754b6a274c3a560df2f2e19dbe63a6f9ac4178fd20a503e94cec53e5eeda93dc83f2b3d2edd7e8fbf0dec2457a5a1bf248b745f5b879ca0337d8c052bf31d9c1fb6fde249e3ac256798cb673d6ded66f9c0a6cab2f2339a6039152f1ed9eaafc92c8ae6e2f2543a50feb9554f2d8075363c85b0fc8b3cdac2b03621b3fb866cc7575bd99ea5750134f5402c1378acc64b4bbe0459e5308b0f22f0378665d5f4bb66dae93890f230249ae82b37d35a578c5c47e9a28bf274761ba76031c7b4fc50ae5fccbd7eb6f8749e5d7cce8a1719ec29c13411a99cd81a3fa285d032e011914f901257bde6fb7c33c54486211486e2e44f22243b80f2aafda00ddca03604f1c1d52f87e69514a796127eee723042d9f410c17a40dc05ae558b67fc211034c46bbb0031722e9926b3e76a1208de77bda3e76238ee3c38feff5e15bc6c4c10308818ee40c87764c6195174b6cd414e17862f153e8a5dadbcc84a4a1ea67e80e0385c746ec0c50c95e60580da9c92f0be40952331ff201f4b2925adf6375b055e403ccb81fa808116637934abdf5273c61356b2c2c103364986ff599362105ab270603ef4ded0da58ebf3e62de0192948883d6e6d61b9e77ab6ae3540fdb547d2724d703c175fce9b08af21d234451c89e3742e2cb79e93fe9e41d33fc10745ed69539120327241c3a83bf75a98897b97963fb32155e42c176f731e1b91de6ba2ffa19ab4e03088a931d87df5336c3df5120b0e96b090ace5473daee60b585ed3296d48bdec805581e03afd3688d7f7ed298f972b652fc29b4cf3806c9e37e61bfd6f2725bed900c05465fb133d4435803743e5bb58f58cd2288e4157d2858e8c5595f04eb470511c4cafa50c13a34c4fe03f7b539ae269b8cbd4bbeeac36b666be3d3f969243bbbb4f7283b298259eb0c6205581e0308330d744f7ff831a02c0b3f0f1fc6ade4660f653830ca1f1f7bc816a007011bffffffffffffffff0362fbb5ade1562c72e542d7740b6747955544e782c487bc8eb474245033b7641303f7f8dd4dd087331555a26201fb56984462873607b15084d7fa253f682733bb6405581e03c60872679b584ebe83197ea0e0863df7ae010e334067961160dd544ec007011bffffffffffffffff05581e0376e6485cb4cffb6c5f4a792ef8f62d77202f9df2160f07af3c566f2210040105581e0348b2813b44cc67df46e61ce24c0b52f0181677e107c739f45e96bfa020040205581d02255dd58609cbe2a2e7e420e6ce57906dd15cc1c800b02d9cb1563ea20401032ecd27c783d433c5f237916601119296656935366d76de930d9b002923e69a58033b974aef9fdfdb22bebe9b9a2141a659daf58237b1a92cb82705023193f1cbeb05581d023dd60e4f98d2aa3b6c146bb73fcb2334861ec42b91cd301035f411fc07011bffffffffffffffff05581d0257c29bc4b27c0b3a49a3f18d5678605224d1f53859547af8435132aa0c05470178325f0aef2c0218b005581e03d1c884658e0fc076c224498c4d5f02adb6e57c2ee7f60db850f6ebfac00c01470cfbffc712d2560219868d036ae8de52a6e8e0a6c4629718de3d09c83c682cf2ebee753c964936a62240d28903b8797d451064155efbe70e67088c37ada3f34553309a51b756a5017eca1168af032333426fa6c88f08e9d8cd3bd1bb935716e5ffb9e2f085dacbaa413072c0a9790321d75012eb89c3185f8d8f06c3173d8fcaaba9e9352e4597a3e8fd30945146e7033a6e0f8ca2e9441cc5d182cf2e54af18e721f7437343cea5674dda41abba10f8039fcdb7d7cf8d0a47140f722cf99195d0fdd00827d2d3d10b9efde1a37ad4534b036932aeee0f62e88a90cbd79bac3564d5019b7f1097becd8a0f803bb32ff71c5e03d06264f92c5a1a826c655dcf20d7ce26bb351fa7630cebf480dc96adc7b6a1e90300f40c1a63833e80514f6274296c77546c77c3611f37e8bd55d2248e63ffa91a030a4272aae65807d736a5355736ccf6d2e7cb9c4bd228734ea15c1d2a71e77f9803a1d5656561cf748ae25f389bb72a88400c445601002e6ab3e66f167d1a5495420219ffff03415a212710c3a49b676bdf2df7c5ba97b516c76c68279b5f75cdb15ad4946573031205c9da826560499e36ea3d25b81f7702d05df724ca583d9a8ad6ffe5288f7d0324ffac03e4c14eeeeadfe00e9d343d7aa8ee712f1ce9c3922d78a575b085c6f70219ffff038e47fa4ab1a06531a5ee4d983ed39496ac93eb88cbb96606a6a6a3b892da2cdb03122f4f9470cd097d462c747e6b2f48ee956387dcf1c6775c44a988d8cb48560c0313cfe8b1bdcc68696e98d4676ba3d3300ec1bf5ad571f3117ace914790997885033100f4f0e4d0a7f2ad7f4de68df249988e866f7541ca93aedef5dcb619cb843503651bf144b55a668edae0daa43920aca55d522a7c5955a526cbc8f306163cb42e038e74d88f98689437ae4c6bd2e04311a767bbfd340b4a2a3bbe7649afe92d08b60331cef49b03d3d17f2635eaab1ca10c986d33517c9175dc4f6f6456ab17cba4850385fc5a593619b6e79c1ca4b8598dd697d809f48b8d45a3e9f13c170ff8b9a40703a1ad48364be1f4efbc7fa652b190f1fc221d4d4a1cb5aca40af3408c3b8911c2032ac57a755bf2c7549a59c762b39541f94326bc9a7f40cb1b2cc9fe9c8b40c70c032c16804b86e5d610b25c902c31f182305d4b618c2b654941d0bef8253ba767a80219ffff037c7f088a931f1522536759fd75abe861d929aea0e53daf2acc2f43c259fa172203e1937ece067ba3f8c94df7de84a6cce35cce285c1cc7db1da0e1425351ccec3503aed3e6d1045d4ae997248b95d2d6d96d8924303c42ffac4e7acbd4b253e66e790364cf4bfaf7b138402dc1123bed72db1324f9f1386262a87dd86900d311c9612b035a04eb0cebc18846787d6291d24ddd2f56c70b90f92748556c72cc57e7042d4403b71bbcd5f06fdcd20a02998a614bd8ebb92c5794d82a72e6c9c3363efb14ffc303abab01c50ddd3f114a53859c081489edf9e2e05072818b3164c4954cbebd91f1039b97d8e79377cc65a133a37854023d40a8257487327be8135a17c1968fb02b83032e558b678f2ef6ecdc6f88eceb64dc6e6c0d67149bb173fa3cdfb415b6732601039cfe494960978222d6a774d894a679056c9075bc5fe2841955fcb989122d139003767f0e69c7b2921526575214a2de654db4afc5024f032e63a85bb60e736ee0c40356bb5a15b9bb8a13012dbbf0ca525b85263307fe713c66e0b5095da32af2b788038fe76ed514b4e39331739b1b77b357f69c00d33a5ec8c985ddfbc8818a8785fb03691d221f6e6e5c7133b9ddde4f491a8272eac453bdd7eb3f87d123149368e8ec03c69a5bd79d3d453c1c3bfeb80d1e314ad1c46cbb239424311d194899dca1b559034b18532db2c8c2c55c48cd1c49dca1a08cf99e15af4d4327a461188a5d511130038d67d67e914bfe8124863c4fe4fa8fc2d7d4391b1868af1e1dcfa61f285c698f037289d74e46b4f0392684901ac565154efc0c3477fa08818c9eb47f738f0b4d6703e503e50c51c5de5f266819ac430e6423a272dfd2fbab7800a67c186fb892a12003a45738cea56bf6ae1f4704cb16d42702645d3acdca4b0eaab259856324ebb51403460cca7ff5af0f2eb26c2d90f0355dfb50ec725395f2a0a129b52b420589447603327ea42441b0dbab7b517ef6613f21fc66d1a205e9d940bcc9786f663e29936e0315058a42e209f2ecd67c228331f40c6a2001478654d3028b232cfa80076a8d5f03a279d8ebb0dcb86a4b3b57dd592eccdc8355c6d23746d6d286de63769fc8735303e0a9e521a872faa6856842982d0f67c9ace9eeb08653868854be49774cf355a20379965f82f6a1e36285431a79d60d0dc445ab371ce7df82fa17b5008bd2828bdd03300d02e092a021d7c2efd6430d7c8a15bf126a1932c559beb71a2f1403af14b505581e0361957ba1668f92ddf440c58034c902403a6e59f51581f334a154bbbb70040f03cd0f76ec8e340c2993244ca41c1b525953338756392880fbed739a5749454a3405581d020482aa430df19a7752cfd624f781a755f952c7d761e7fd745909001b0c024706a789c3f16800045916f76080604052600436106100c85760003560e01c80635e3a97e71161007a5780635e3a97e7146103265780636684b1d6146103b35780637147855d146103c857806372a44f07146104485780638757653f1461045d578063b449ea5d14610490578063e907fa3c146104d7578063f9bcdde4146104ec576100c8565b806312f16e6d1461014c57806314778a831461018157806320cea94d146101a857806322175a32146101bd578063439fab91146101f057806356f36dbf1461026b5780635c60da1b146102f5575b60006100d2610501565b90506001600160a01b038116610128576040805162461bcd60e51b815260206004820152601660248201527526a4a9a9a4a723afa4a6a82622a6a2a72a20aa24a7a760511b604482015290519081900360640190fd5b3660008037600080366000845af43d6000803e808015610147573d6000f35b3d6000fd5b34801561015857600080fd5b5061017f6004803603602081101561016f57600080fd5b50356001600160a01b0316610526565b005b34801561018d57600080fd5b50610196610532565b60408051918252519081900360200190f35b3480156101b457600080fd5b50610196610556565b3480156101c957600080fd5b5061017f600480360360208110156101e057600080fd5b50356001600160a01b031661057a565b3480156101fc57600080fd5b5061017f6004803603602081101561021357600080fd5b810190602081018135600160201b81111561022d57600080fd5b82018360208201111561023f57600080fd5b803590602001918460018302840111600160201b8311171561026057600080fd5b509092509050610683565b34801561027757600080fd5b506102806106c9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ba5781810151838201526020016102a2565b50505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561030157600080fd5b5061030a610501565b604080516001600160a01b039092168252519081900360200190f35b34801561033257600080fd5b5061017f6004803603606081101561034957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561037357600080fd5b82018360208201111561038557600080fd5b803590602001918460018302840111600160201b831117156103a657600080fd5b91935091503515156106e5565b3480156103bf57600080fd5b5061017f6108c2565b61017f600480360360608110156103de57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561040857600080fd5b82018360208201111561041a57600080fd5b803590602001918460018302840111600160201b8311171561043b57600080fd5b91935091503515156108cc565b34801561045457600080fd5b50610196610f38565b34801561046957600080fd5b5061017f6004803603602081101561048057600080fd5b50356001600160a01b0316610f5e565b34801561049c57600080fd5b506104c3600480360360208110156104b357600080fd5b50356001600160a01b0316610f67565b604080519115158252519081900360200190f35b3480156104e357600080fd5b506104c3610f78565b3480156104f857600080fd5b5061017f610f9e565b7f177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b245490565b61052f81610fa6565b50565b7ff3afa5472f846c7817e22b15110d7b184f2d3d6417baee645a1e963b8fac7e2481565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f81565b610583336110f3565b6105c6576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205480610631576040805162461bcd60e51b815260206004820152601d60248201527f414444524553535f4e4f545f555047524144455f43414e444944415445000000604482015290519081900360640190fd5b6001600160a01b03821660008181526002602090815260408083208390556001909152808220829055517faf23121e2402485071dadf421078b368d7b67e54cabcc81540563c5d6bf1a4c39190a25050565b6040805162461bcd60e51b815260206004820152601660248201527543414e4e4f545f43414c4c5f494e495449414c495a4560501b604482015290519081900360640190fd5b60405180606001604052806027815260200161169b6027913981565b6106ee336110f3565b610731576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b610743846001600160a01b0316611121565b61078b576040805162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015290519081900360640190fd5b60008383836040516020018080602001831515151581526020018281038252858582818152602001925080828437600083820181905260408051601f909301601f19908116909501838103909501835293845281516020928301206001600160a01b038f168252600190925292832081905597509095506108119450610f389350505050565b42019050600061081f610501565b6001600160a01b031614156108315750425b6001600160a01b0386166000818152600260209081526040918290208490558151861515918101919091528181529081018690527f723a7080d63c133cf338e44e00705cc1b7b2bde7e88d6218a8d62710a329ce1b908790879087908060608101858580828437600083820152604051601f909101601f1916909201829003965090945050505050a2505050505050565b6108ca611127565b565b6108d5336110f3565b610918576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b610920610f78565b61096c576040805162461bcd60e51b815260206004820152601860248201527712535413115351539510551253d397d1925390531256915160421b604482015290519081900360640190fd5b6109746111ee565b156109b8576040805162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b604482015290519081900360640190fd5b6001600160a01b03841660009081526002602052604090205480610a23576040805162461bcd60e51b815260206004820152601d60248201527f414444524553535f4e4f545f555047524144455f43414e444944415445000000604482015290519081900360640190fd5b610a35856001600160a01b0316611121565b610a7d576040805162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015290519081900360640190fd5b42811115610acc576040805162461bcd60e51b8152602060048201526017602482015276155411d490511157d393d517d153905093115117d65155604a1b604482015290519081900360640190fd5b6001600160a01b0385166000908152600160209081526040918290205482518515158185015291820192835260608201869052918691869186918190608001858580828437600081840152601f19601f820116905080830192505050945050505050604051602081830303815290604052805190602001208114610b8d576040805162461bcd60e51b815260206004820152601360248201527221a420a723a2a22fa4a724aa24a0a624ad22a960691b604482015290519081900360640190fd5b610b9686611351565b60006060876001600160a01b031663439fab9160e01b88886040516024018080602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b60208310610c475780518252601f199092019160209182019101610c28565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610ca7576040519150601f19603f3d011682016040523d82523d6000602084013e610cac565b606091505b5091509150818190610d3c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610d01578181015183820152602001610ce9565b50505050905090810190601f168015610d2e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b178152915181516001600160a01b038c169382918083835b60208310610d995780518252601f199092019160209182019101610d7a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610df9576040519150601f19603f3d011682016040523d82523d6000602084013e610dfe565b606091505b50909250905081610e52576040805162461bcd60e51b815260206004820152601960248201527810d0531317d513d7d254d19493d6915397d491559154951151603a1b604482015290519081900360640190fd5b808060200190516020811015610e6757600080fd5b505115610eb7576040805162461bcd60e51b81526020600482015260196024820152782722abafa4a6a82622a6a2a72a20aa24a7a72fa32927ad22a760391b604482015290519081900360640190fd5b8415610efa57610ec5611375565b6040516001600160a01b038916907fc13b75a5f14b69ebdc2431a5d475b3bff371abe251b5064144306fbd9c4de35c90600090a25b6040516001600160a01b038916907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050505050505050565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f545b90565b61052f8161139b565b6000610f72826110f3565b92915050565b7f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d2541590565b6108ca611498565b610faf336110f3565b610ff2576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b336001600160a01b0382161415611047576040805162461bcd60e51b8152602060048201526014602482015273474f5645524e4f525f53454c465f52454d4f564560601b604482015290519081900360640190fd5b600061105161152f565b905061105c826110f3565b61109c576040805162461bcd60e51b815260206004820152600c60248201526b2727aa2fa3a7ab22a92727a960a11b604482015290519081900360640190fd5b6001600160a01b03821660008181526020838152604091829020805460ff19169055815192835290517fd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a295999281900390910190a15050565b6000806110fe61152f565b6001600160a01b0390931660009081526020939093525050604090205460ff1690565b3b151590565b600061113161152f565b60018101549091506001600160a01b0316331461118f576040805162461bcd60e51b815260206004820152601760248201527627a7262cafa1a0a72224a220aa22afa3a7ab22a92727a960491b604482015290519081900360640190fd5b60018101546111a6906001600160a01b03166115fa565b6001810180546001600160a01b03191690556040805133815290517fcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d29181900360200190a150565b6000806111f9610501565b90506001600160a01b038116611213576000915050610f5b565b60408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b178152915181516000936060936001600160a01b038716939092909182918083835b602083106112795780518252601f19909201916020918201910161125a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146112d9576040519150601f19603f3d011682016040523d82523d6000602084013e6112de565b606091505b50915091508181906113315760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610d01578181015183820152602001610ce9565b5080806020019051602081101561134757600080fd5b5051935050505090565b7f177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b2455565b60017f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d255565b6113a4336110f3565b6113e7576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b60006113f161152f565b90506113fc826110f3565b15611441576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b6001810180546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f6166272c8d3f5f579082f2827532732f97195007983bb5b83ac12c56700b01a69181900360200190a15050565b6114a1336110f3565b6114e4576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b60006114ee61152f565b6001810180546001600160a01b03191690556040519091507f7a8dc7dd7fffb43c4807438fa62729225156941e641fd877938f4edade3429f590600090a150565b6000606061153b61167a565b9050600080826040518082805190602001908083835b602083106115705780518252601f199092019160209182019101611551565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092206001810154909350600160a01b900460ff1691506115f49050576040805162461bcd60e51b815260206004820152600f60248201526e1393d517d253925512505312569151608a1b604482015290519081900360640190fd5b91505090565b611603816110f3565b15611648576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b600061165261152f565b6001600160a01b0390921660009081526020929092525060409020805460ff19166001179055565b606060405180606001604052806027815260200161169b6027913990509056fe537461726b45782e50726f78792e323031392e476f7665726e6f7273496e666f726d6174696f6ea264697066735822122038c13fd5686ed193adffa296e5b7596dacfbc0a6159ddb8e0e115c144ee0b0e564736f6c634300060b0033037d4fa0cef07137c575634cadc5f2af34550355c05ba5d1efce1e5d8f9bf94ced0376150c6ea1d7bdf5476b69f4466c53d1218eecb8d20d5fb334bd4ebf0f8ac5b403286de19fa19c1b4eb005915bf50ca6f102974c9fbcd2953fe712f5fe9e15038a038a007b02c3b5c35111d95b4f26da2c63e4d48ac7986aea035f74d62329d91e4d0374d3c22a595a750a195f27de5f24f0cfe9f5e25022feda6034971ef47e34086d0372e2323c8c5e59d69ee42b93036b3f44947c47aef06821b19ec8e6a5cf5b3a9300581f02351cf0907bc1e532ff9faf71bd33bcef0299ef7fef6201c1ca691d30797b54a42e2dd1dfb3e32aa11f6a363e90d2c829976fcc03d111f86678bda704db2ee7b7a0a870793219abc5b41b8730d6f2c139588ecee403c4af743b6a8c478d6dc8fae97aedaa1b085980b5568791a3dc197732445028d600581f026b9c7490201c4f1b2705862f7ea49e4d6ce86d4a726d18a657d8cef431c754157cdd176ac60e930c8ff97d9e21ebc1855a870a00581f02266abdb32fac935ec8e50ebadf54e094118c8e7f8f454a593565ae4ee01a54654ec834584b5803aa56e4e8052c5d1ae81d69720330fbec08fa08b6432336e3a942248961032af5f82ded6557a088eab9c2a783e60307966c67f190b6577c4decf0be28ecde82237780a2a8e36a4dcdfe36abd94278037dd894d8be3d3fd924869cfc2ce9455cd3f81c50da7255e19b1ab48f87e53dc8034fcb50530aa95810985c0cf6924e3f363a635b1fba3169fba1ed5eb9b9a538ce03b3354c192af222ea23a1671baa879e2b9a6e22670fe057e2ca19962cd3615061033708271cffb0b5dfe56949e5ccd65bbe5a877ef83e562db1613b199842463b2b0355c3928d78790cd7c1dcf33ad02febab909ed51727d334c6d033b75bf247658d00581f02cf74fe0187b226602e4525b0454f31bbbb63e2ca59a338dd14169cc53f0b440c892f7500581f037a84ed44ebfd81e8bb2d0aa550aa3f8bf2e04cfb1f4530c2dfa8d6d2205058200443cd2686a4a1fceaeaece113b2810c6b6a60dd0858feb42799c844cb54aa2f00581f03fbf106acf741a69b218dfc378d1dfbdc241facf737f007312d966c936c9054c1622a6c53fef093018bfe6274f79fb64f29e8c600581f0319f219751043344fa245170caabbcf1d8954b9f04edbf66244b5f1980eb054255ecb08b3f2094c76da633c193ca7817c1e5d5100581f034432338f75a19ca2d9297db2cea56510772be3d331da5d7c892e1c88abb0545976f72046c656eea48bd6839fd43bba8b01b3ae021903050219fdfb03185c76d3fb4b128763bc8cda0a17239aa45a582f4903c191b483549f203b1db5031a7fdf8232568da9b4d4aee2d0846f2aea32f2d5b3774606dd93f47c7fcde65903ed7bcb6681a9b44f14d15da0b350e794a94d16db607577a905a337779234907603e0facf51dd8b56b623e1f6cb3435169371d7ec9c6240c55565df827838e002dc03ac7802f99d611125f593a83497f08feb93d5a7a9ddd6cf239dfb3f913eff62e70326d428891a2e3700f163e924d77b9ce42042b3dc162bfa7080022a8d4f5e1476032c59660d7a67aa3badb73e118e40f5ea450deb270066092a14c72a11e406d5af03e90061fd68e4c86b176983df1006b155116a7904405ca97dc249820d68d4ebe20317fbb5b92714175811b254a3bce3e37d076bca201e43e771b6c093d62a691bf6033ccbc06228ead16de4bb3a32291660421628ac08e89b7b98b050a6cac631efca0219ffff032ff7f9199581bcec50273f79f6bf29d017b4223357e552679ef0c730b16b13c7038ceffdded561addb0444f52188a0c4517ab522b2b6897750c795962a20b190bb03a3ccf92ebeef629a895a72236e8d96b6e4fe380785b7c9b431b5036a6ff27cde0318e768d183eda0b06e841238460702cb922235fffa170e6adc25cb91e66069f7035eb3f6f55e663611d6c166f7186be09f534419468522a04c9c1031f22da53e58035c64ac4754587cbced29d5e53349ed9e2e621835c64a1dee4dbd49c869d8859103bc96886392643e646f3ae8d33d00c84b11d30878892d6c7e81691b4d5026dece03ef957d91a92aa4846d635ee44989358ccb226a985c3d0ebe7929699a82d26b6f03d5a9987dfe9cf5e8f2700cab27d19ed5832ae29f5ed757eba07899faf205da2603523327a4ba98cd492d89f7a268c19ada4fac188e17f01ad86c197c1f0a7f5ff703245b88af41c6bac509932d322aaf0af09e503ce59a5ca20376f340fba5fac61103ae315beab3f2aa982d6d0e09b422105224124f81e8ec346355c6c2f64fba35dc037bfdd11119c79040e85d3682da6c8cb544ff87d78337b2a98a4f5bc5b1a3d40603743b6a9e6b01c6099a135691d542479181c859a575e66913982b06439c16eed0038dce16298b454bfd85874cf9e9d92bf2b14226362d92667f7c322c367cad09fc00581f022c45b115b1bef5940ff7f69c62247dd61a57b287783cc7df619cb19103d7540e76f3e82638743a37600f47ebcd5318f2f15f3b038c178b3405731fb633c321160e740f6f10112f4971f6bf8125f76b0c150fe11c00581f0253b4eed7896369535b18e915207e5db99a26371af31ec3feda4fa898ba20546f09fc0a66eeccec98be3287c14dd9f135e3183e00581f03f99b19d153f6aeaebae2b7be90937175e45ceb71c7cc80a6168e5f2b10b054e1b7f5aa3705c6fdecc881fe8d429817b69460ce00581f03402bf73e4713782919ca8025b005e56c108eae8f3ffc1ed6d248c9a9c620543b113baae04e70182c880c7e259f8b7299b536d900581f03c0580f76646dc5b5481008387e88506ea4078f801d9e57e2c0feb45f5c504407b3458a00581f036c16363357d77115a34cb6b465a1dda27f7f15ce8fe47c3ba91552aa3e9054672e7a225f6dd69f8d3b2e18206327ae1d74c636021944420363d913e2f189a1270e423389a1c0036fa3e6d7a9c21e7ab6b74def75a79a25ec03dace63ba5bc005852b6953c9c317de8d8fe955bc2f95afbaac55da2ccaed933500581f02b24d7283188f014998fc167665e014ecedbc62dfd420ddd457c0b2f233fd544dee9375240b7e77b512fca825a08f391312116a0377d58f9c30d3223fec16d383375c590f208c77775071e1d57feaaa8a5acb1d8a0320c116508a610682621173e9c7adba48aad08fa4b60781077f4f1ccf2674fa68033e18c060d2576cfa034e72c81e2288b77f7d7029215705b461bbb0877dabe3db00581f02167b3f3dbf3a58483bd95c0ac7d97445cf1abd570313091359187da36cd4443baa0c4002199bbf03f43394ac0ec3c80562f373796f99c463e4be7c21841beb7074d9ca5d620b13480219ffff03006d702a7476dc62d5e540e02c352b351091e8a5079d4fd8ff8ca421399e6fcf037623bc88f7d4aee9c9bcab445c36a5c59237f84b37b5c774a1f43c7e658aa22700581f029ea73b9ed444a3d901a41abe623f848ffd6d51a95a15e90067c2139260185820073bf77f40259256b097809d1865fcb745d912e5fa1c38f59e55499dff0f3aef036d2dd4bd5ee38e93f2d30b3d55bf0fc90dc887306620faa4ed18dabab40f8ced00581f02bf93475a63ba6da06af745e327a12b5c74a7cbc5372ae041b43d7ccaafcf540b7505f1f7a695624b7bf7f7bc91c89f00d69f31032f2beba49af01045640b42a9ee0d34e0988b8b54c400b269974a6035ef5b801603c08407aeb25cfc1ce3ecec3a431d596f624d70b0a3e57889c37f586db27f5f2300581f02a2510d26cd18233816e82511b8aedcd914bdfd30fd6ac315102bdfe208585404bc7963243b031ab97d70d308b93d09fa1261a6031c9389985fedba6a6358fde010d88eece7510b974c9a305bd09e0dfd66dab7780359e8eb647b211ce79b30bec0ab666bb4ddbb9803e8a8576a7907456ecc454af7033641206f88030f33e7f475568752464985727458e9a2fac086dbd58cf1f7ab0c00581f0288757e1dde532c5162b694f8d05db5007d2f5ade17a90477331e4fa6a85a542e20f6f1b282d8094d812b82380bb843e903dba50219be53037acb313271038c4feb4db10c6d91d37880eea3240bedc5475377492e8bf908e4035f68f0b598ad3d5045772bece9536bed161a6ac1427e77f1a0d3e18db72759f0034f2132846d8298d2416198e77b9df82551d002864cb5c10b958a17f9b3ec8a8b03914e1855fdb8c159aa39fdbb000534da1aa860f610025c2327f8a4e128ce157503cadb06cde2be2252f255aaf6d4f4b9c55a926e899408f6796ba09c77686bc4e803f369a8d23cdbf43427ceadbe51c0ee0edbe5adcb2275dc6fef76c2aa9b504de503cb9b3735611b48695dd204a3fd1365629c1027a95cb575c3ade18f0de6f82d35032f28e6784d904904658e77c6939c69d5c4a271f447c260fe267dfc28d6e043560313fe1288b5957059a14a8ca161cdd350d914acbba71b4366d49e81d8be9c53a3038083888bd2860ac431bc38ab08eb71822c52d1ae37fce77e7ddba5af5cfceb0d03ac82290d4ebf1f13714a25aec4da8f598a531e745f024f80c512150cc5b254cc034416be5315d0aa76ee06466b159a043e5f33477dc36df0bbc3ebb4c675695ad7031507e4cfe0581eda62aea1fd70a7ff9b7ab70c41f7a93e5766645e58643925a70329b0feac06798d005cf7830af3a760fb8a20a3a27e9e270acd266a9b187ffc810219ffff0347b3c4fd74cc6b6f1411afa36206a6b79532dfc96b10dfe25e23105b8f91cf0203ba405c1fb4481f69c97f11c6fc752d7873079982b15e403b15bc283999c0785e0357ee98689a6a3b594d624451447d8ff9c79a3b30d9f12a9825bf24e7d896d78b0322d086bbec7b8f726074ebfffc1673356f14aba12ea10c024e8f3d015678f7ca03616cd9b2d1f4351428b46b0395787ce73e4bd2fb9bf81b16f26db3de849eaf0c0304f8ef4bd518e31e89ec942973cede96c9eadedcdcad5041595ff5323fab686e00581f02f6c55d4effb49d1c2d98a3aa138c8a75ce6acaf4c9248ca2f09c40a3984958200542b51ed758431b88cd0ac6e83fe04e8eb3b1edde877785b9d5b4600c457a3703a9e4e16f5ff053f76d12dbd9144f4bc98223c14e4715f9003de3271876c8a2a00391004a1a7549c7cd278910bb734756cf8fd7bd45b0a97bad1fcc8bf0c0871aa803a15e084459ae1cc956fa802df36aacc8a4e885a3a0391d8d397453302505e1b703c469ffca2c3ad6a4122fee58ae030b0fdb08ead0d85b1ce1d267c601b991569103e115830a25326753af147f8860a3cae25949bcdd5f965159fe549b55e986ef1b03505e10fa8d891d196d66f9cee65510bdbbe850521b9b3a170b2efb6d477a2f9f00581f0260bc249f937e3f2a5f4617d3fea86b5e8140c9720f6d1d6682d7e05f82ae549f693cc919ffb4e1fa1efe6036be2bece7f142f200581f02617537f575e481605dd42e151c0e515b9962fabd1758056c7329b36b0824547e9b24cd37638b51fece9f7f90367df5450e3bd60333e90623b3f4549e8daf5661e6f1a80b0af925b3c6992a1b9ee5a4a531b0545503bd2f736da9d009d0bae27ecb3b351365374d64008d295e806422b528bab4e25300581f02400415efc4ec689b1fc668cdf157373005796b50adb05eccc82b915a385c5452e5f7865b80ae684ed2d2bcc26750a2e16dd1720219beff03516fe100f4518016cef004d8eaf555b18bccc535769525c8a75c11429579572203b62c8dfca4c3a1a99c854a0aa2df0aa63b3af2670b9bc2bacbdb157325c6c45903f282edd00e3b5284701de47515638be52571a3ced58e6af1ac63dd6f5ceacf1c036eb6b8bf86a9d106bab98cd04f772830e6c1687548cc02e6c06a30e925f87fc8032b3221871358a38efeb4bd5dbeb3296e086f6ea0a40933e8b0de0186aa3bd3fb031eb80799d1c74086380a9c3f4f9c2e0d82a44a2bb006c7f12e6bd1032d9e09f103fef63897aceee7fd263e112568f0d6ead4ecc2fd3067368edc78f62d9b4e8d5a03b3da48a692d38da3f62cf7f44b445a34414e1ae622c81d49ef31fee7c756aaa803f8bc20c0a3d0b3ca9191c207b3cfb608746f21b6da8eb8d9269a896a1eeacb9b038c669884adbf3f73b3dff5093e7a9af14f45ce8aed230816e5fb1a350bf8bd0a0325fe020eb38f44356a1a7206a1ecade89155b28a1dbf3cef8a040cfaa073af8b036429a4040350fc4c6be604459ce56f0229ecbbe383c1db00f8e834897a2668f4034dc3f60ef2dfd1c53949671e2c6adf3a38d7111f26c53b40a9e71ef4c51738ce03363e20577acc17e76846481b7809f36c0856eb6d08a6a07a6aaeeeea8bea9cb803295c89abf7fb63680f85615741ede258cf0c8e71564fb2b072bc02c5042860fb0219ffff0336ebf7c101387e64713a1eb9a087b52ab55fc1aefe6fe6c72600af5de767041b0345261c1eb5740f0d589100145f8cdf03bb946e6de03628c59e18b33574324b98037bd8a3f5bcaf4dbc560d2add9a1b9c252b774846c7c54a7f466a6156d2a537a203d10ef484f648336e7e9d3f02204b16c8249bf14e8031c0c23e5b78a79f5532e70300eac8f6c268fb6620737c93ba08d7e0d1c9dc77b13b821be74243be039da31303b3f746e6480753764d5cb9ccc7ffe60a2b517a18359744d049721df8aa2d466500581f033c513533ef42cbb3edce5dd0d231e975249f0d36757ce8edad032fbf0c40540747ea27d553ec318e2e94a12ecb0a40dc39ba6e00581e02b0ba479e2cc4cd5165ff98cd913d75c93c848aabd9cbbd6b72da38e2b554157502efee190e24d01bb655296eb5c711969d6300581e02d92ffe7eccc6abc70092c47c1cb69f72ba086723bbb6fe82fdc28c4db1582005b754de68ac6ca37456b54e3d6740dfb10ad6c991c6ea8e63b4c207f12e657c0218280219820000581f026ffa1a9523f863074b07390f8c6a39a85c0200053d3c3bd4a521befd07df5461cff9ea0cc68dd260a056688dfa41da9dd0e3fc00581f02b506c086e303e31a60018927dad3265bd9a1f0adca152c6aad266084cc325478fc4bc546f718a1b73be270d7a7d1c48ad6520203ff4f745a8558551badb9a84007a2fa30243443fec73560d5bf86508a95099a32034451a4ff780be21465070ae45f7253e3aea84e3654e09917b43a534f9568ba2f00581f020b208b6321c6e6bd22130c495f53d2dff22336e198314bc272814f50106d54e807eceff9c9e54a0f465cf9a9bad3aca74e0ac200581f02cb4c18e213a9e1cf176dd9570813772dfe48e9d8d5387fe00624f6fd1264541fcea0f982d1fd3728331823095d26cde7a2e93103abc142f1acac6ad61ed5b7cd2c1ff528ab553c56e71303e3f0a4f121ed73fd2703b0c5e3ac1c4c9b322c2c9fd13f17350b7a08e18829a6031b7dcfc30a0423ba0103f2565515a1f8309aef2eb663b48aba1be34c38bf3258ca6d514244b7947fbdb3031883aeb91d6f16a28c2637423f86d187bffb6b63e2ca9b968ece9230e7602b9202194f7f033368a427e43f9ca68167b97b761a1bbe39e986be20bf364e957be90a058fa150038a62ded6c370f0767fcbc39c62e375290db87956298cdb534e778c616bcb285003e3503dcfd90ebcdf4f446c024e5c3f1b68edb46e84d58f807c244eeb8a6cf67103ed8d01afa83e863ead2e4dc8be9578a7b20be4c1d5ad5de92f957d72f6c033e9031a1b59996cc3bdbcb1f4f32f4c14d48e191837ccc2c872cb3e492220fa912bde033d0f62a19433d5765d119ec0b2cbb963580ee394a1b954b35b3d30102d20b2e203e8b15472fdb6511cccae6246106e10fa04566cedb851c77bc9cf7ea5841f770b03589b9684b4579effc132b56928027a668618a4f6b1128283b3d52c739e58d5810347965245fe3bee2c681c8ded03045e5821ca5505d8d4d410e05142a5df8d73be03bd273aa3a9cd0747e2e11b37e1029a1ce7399d5032dc9e9893321f1b08d56cae0362b9c2c3e1f4e35554d4d664a13db50bfe5c3d1f1bfb0a4ef7205e479729948d03c2ba691dbb63891f9dfcf0e0317296ba7b43bc64922c2fe066e21e2137f494e403c32cc891a6349772fd251d8ea68d8063eb0d0c4cb5b7dbf5cf945b90aeaa764e0219ffff034be346e6a1d7f252858660a6a1e2a2c8b42877f10065e49498b11751be54fb73034693347fcea9dd9006bfe5b6733d63de617291576a88528cac25a476edfd7c3e03879e6160a17b255befb5b78c473f3bf59c45883a3e745bfb872e3282b8cf61c30347c7587ee55c268e754d739b225bf736053836b199d9d55301af46421685d35a03e87403e2a676a072d077e9b515ea429a9291322da4d67e1ad420d3fb6282604303ef9c767e7dbb4b03297e08dee25e91fc42e8b79fe966594006c28f241f37523c03bba0f334fefd2f06594c70c0c360c9fa79e31e9712e55acbf5769890caadd2f200581f02680b01346675ceb6b6a2b3c8562bfb28ad6b4356bc356ae000cfe0cb92e245107c600e5203609edf617ae6e7f88b24bbb29ea3bcf12d371ec513dcdbdbac26a6f0b398da4a00581f02fa5d417144b82199dbd92c99f1b41f011f597831932f301b9617a525e8655445d0522a4a524521e7278cc9f83eb3730715a43c03b54660230c74eec2655dca4745bd4a2a22d3fb48cc7099e00077c6ba0f584de9037e14b4f96dd37e9aabee64bdebab2a5b78d11ba3b032f5a0bd46d29a0681dedd0345fac7eabd10da5c515b7848af9dca04cc084fb96656767b04e924885002b97803c4e665f06e74b091b25657fe0188d473b62ebdcefcc1226dc48868b96c7767d300581f02318de443a1b085b106dfc301ecea36869b71a8e265431b2ee3ba0fd1c3c95404eadc47b7d1d4f743a61418f137a9a383ffee1703d9f7e383d7779cc463c52765203540adc399e268a41fd0bda4d34c768eb314c303d8b59c22cc906efb08819f629b04775aeebe6538c59be662f7a23c5a5e05bcdf0219df7d03a5a73fe568b44553888fd5a6d5d14937fa02249df8ac32d42834b4fe210c264103b941873c4ba28d6602eea4071a44eac2963656d53560b229d07c64477d6dd9af03e9c59f054df07ae8d5e8c8caa370e0bb92acca5ebff87465fdd2feeb6ac3cbfb03ee16450b938bfa553f88cdd2152cc84dc8b6f73fce131c01b4b3fbd6ef8437f6032e699f54e1e28a523a7313eb5e969ff60d991ff69cf4de69e35a9c3abfd5611f0302f13908d5d5852b9da7ddda52e62478ad0fa372f2b17f19efdc4fdea6b27bee0371aa4d2d06d43c887fd0a1c08d15de83d187afc8cdc0b01eb528b7d9c8eb3f86037f727b8cd81d3ae689c2111e4ea697f8a5afedeecaf3d14a8eb750de617f3ba203a7d9f638b46b54591224783ec8271d8ea29e20e36028bbca1df42cc197627863030125d9adfa987d8cee303695acb76839fc5cdb5f67713f54bc7683f1015cd139039479714b0e91b38dc454d3722f273eabda6b3bf81b48497c08171065e826ca9f0219ffff0372e3b6343b5edc8f4c7168d0a969179c456cb41b907997aa0a3d0286609430c90219ffff03416c30d273f2ee13ff8391206fe6e66ac9c145d5f160b186159f102165da5dc103e478a00c01233b0899e44ac50cf2e5008b410fade7d3e0d1b741fc5d77a3661103f614d0c4a6a921725e6b94b89e2d4f874abbb99e4b49a6c2129165fe2e5f995103238213eadd401b7ceb6a1642453ccdaa82d26dc2ccea10ffebe84cbc430dcc920352731e19328c37f3c1178fceb1d73db5be1bb4ec498a123d8b830375581a0f4d03fdd872d9a9482d73e156d4bd9a3dfa21aa2d0d5428db9725d82d12a93b6a2dde03cc4ab931fab53517bbb882390c0d52042db8de7debf7da6e888799e3b675677103ab31ff7d855797ebc2db74a560234cf47bbb5a18258a1712a4f7a68d840bf90103d1de39b85d34c2ce566a5d7ae19bcf6098de2873a602ef9f198dd27714b9f850038e7203d6ab8f20d1e99ef95b5d2fed50226e18e50be2da3bdfa00c07ef4beea103b586de70519ecf8875a7daced796c365fd41f1c03acda079520fcc8f6eaf917f03d975c60bbbf01bc4ce8cf41eadc00ce147197e8aa76e79d79f8e73793c01555b0316c06f5de2ffd088d284965c7dc6fc33d6cc6c3e0ea65b3987c45e8bbc72ba2f0310f912e2f18bb521c27f0ef5ad02bba090c1e553009710f0b09cd0aac7df6d7103bed7f023640de58213f0e44a24c4703470412f7eb06f3350f31ddb365adc8e4203770a060537529e2af6c674e1f095e97cc72025ff081cb0a4b6e60879e6681b7b0333dc20b3cf3a94ce46e785dd1b5a2211bb4760011b24d102796149181e91fe9703cf388d73cab7f125104578ff57d26f098c97916651c0b51d0b3b6571290b176f014200cc00581f029baec880f397c353a713bd7f4b7e150d96f6bc96102ce7ce98f97d7023a15479bd66139531c886620bc41ff29f112f326f1d8903870151f561ae9f78e7d846f8baeb10ae0c4640813828409196f0029c144d530b00581f02fffdde4911deea8d5637e829353483a66d99a366df9d5f19157d73f2a1e5544a283adbb59b22c5454bfd3bdd04ff99b5569cc1030b954b96dea9b6653af62fa4e63dd4d8ab08cdf3832c57e136a7e1ff5485df3200581f036383af942d8ef5990a0cd897781092965f9b02f447d527e970a3325c61d0545f55980eaf5131f9fd487e1177cacb18d7609a2100581f0336a65be5ef57d2e41d8d48915b4933c2ce16c0b4901e3449997c050b6dd054e778bed61406143cb17a32257f442c95130e8ee500581f030ddc147056e6a1e8a5fa5250c48f1fedec35c96e88df4bd58445fed697f0582004fefe9fbb321738241a4ecaabbf01e0bd1d4960f130ae52ade2794f5e8918040219e0000348ff58f43f0bfc3b338ecda2a8691faf8fd2141fa4d9b81cbd463fe2c688c0fe03209a587d4810e62411b4e3017fbe661f8369d5cf23b79ff61330edc5a1af9dca0219ffe70327eab4461869f4ae7f9e9c0bcfc168fa95caa5300141ffbca60e78248e2b0d36036bad417840e01c0ab2b05f065b259e717f80709cc2bfb2139002a4e72e0e197803d9c555bd387408b143c9861ba0ee9abc35f0f9a22a5c439cf9749b9b1cd8875d03f2ee41593ac3c80ef873838da3c8bea1f08d222c78d5b9e6c114809bc87fff61031f70639918c9a787654267ceedeab2e40ea754e99b55829b25103d33006f8b8d03603d02bb57fed2a3b8e805c9a9b6c84d10371510998a469b778927b647680b9e0321bffdc27cb025b2f51292582924801c6fe5635b9b9a79c6bbffd823af0ffbfe03ff2490b6099058a1849da85c75543795b1148a5074d8eb688fbc68169109606d0219ffff039801b68e17462bea9dc98fdac6e960d0de4396ca169b71dbaa6f3cf73ef94a2703193cb74c859581787e997ef3fefe028aac3a7deb9402465f7deddd4399cc7a2c0359be49a7323d9e1d00edc257a1f2abca347f2cba4da1e394652ee931d663e5d003750036da47b8fd97f84c238756ff4e71b8e8df5e2bf59392c6ef589b3a2b907d03b888cb9127f37906c425bc89a9ef3ee7eb8bf16833e1d11845d6e957b84b0a89037c46ed2b94303fb6532d6bdf4897fdd44e990745fb4a37432fc6428912d88721031415749aad88dd3240aa4893edefdb5846f2280a9e5b76d77763a6a5875b5bb70356bbe803f81f87772ad1c343b7e299f5a12e67ddd32f26c6f4cb7f0440cdb41903217c96932bbe7ece2b78888f3f3ae58914db0181cf9e2aa1eb7cad26ad27e8ba03fe0a23a52a3ae847e3b413158785232f5e73dce2348883d65109c04cb93fcd4c03f7672bb6c5daf97d72d61060f6598d07029a8b7031d7601fafcc5ec6f029dda3039939bb6b22933b1e085c98de499be6771eb20856ad034867e9fb45d76a97a1d203b9b1e97acbce3e0bc91bbcea1039ba230adbaf934c107d13f13dbda813e5b1bb03953143c1ed8b40cf2f5c98f624d741c9012c82a3749808b51cf8f8e75fc63f96031dd85736a2ffd33ade0e6a9517d7882497bf0aa1307a51f88fca98e5440eb7800301291a0567571c5399bb55f50f537e3c175b0ec0eb9efaeb55eea7e693ffc9a10306425c0243176b3fa2514e763a98487fc70e45d08a67415520da1b8d8b2824200334a4a993f35937d8f27f88775f3e82416eec62db573ecbf1d003b540fa263abe03c09fd509918610c876154d59a5cb54387984ae22b715a9090e891f3376b52eb4035c947c615a6e00c45acc47bfb35880c68d9679da4cedadcd1afaeafae99344a103f80bb723410ff8449502f9f3c49d1f41305c6cd077e9a2133a5279acfd1859ec035a3c07a726c69214abc0136a5cad52d7763a86d644b854d131dc3fcda827ab4b03062701de5531a2b2932f747637e981584ac63c234b2619f0bb8770df9ec3184903d7501fd50b38bfac366ca043c565bf3d4db8c45f3daa622250de34453864e0dc03bd2c3a56bfc5a6267f3106ec12effa517bbccec040e7e4e92ac4ef20d75e58b903162837250dcacade21ab2de7eedd8890307b4541318ab4f45965ad006e04f8be033f24c3e8b97a7ef77042fd6f3cab6d22c281ce48d5189047b6a21837a7a8048f036e28834a03724a02536dd1a4bfdae490098a531f37b4c547a3f4266b8ff5b869037e208e8b6f7d2d6bb38d1b2a124d56d3a6d4b1c212e1aacaaa2c93fe035708d6038000f35d55a5f42d99dc65e4a472a38856f245294c778ad349f899ef6785c5d6014103030fe2f8b73c8bbe98a6908fa6ce698f28a93c4340a1badd47d101e8e17008598100581f039011600c4065b0273178df588019607b670d9eccf22d092147784a6d2f004509502f900000581f03f34a5ac7c458a599ca01f70640f62cd112b650063bd0f134582ee2c8cee054ae41de15018c3118168e267565e8228fc387c41d00581f03535fe07fe35585bd4ae97c99530c0a98874e1be447b63838ec17996a640054f8c7ccb98a34c2c094111fd14761428dc67e4c7900581f033c5a0b4a1de5b7711c444a14a2658f7d2f66fe715600e80184dfaf939d60548a11d27cbc31b95b8b9da61fce20eff57e00cfca0219010e031800c282beac55ecd06892ce339b146354e2a02d1edf10c60593672e944a2c3100581f025ed732ff4a83eb977c0b712af373305e59dbbb7d050b003e3735716d3c0b540153fbf8ce3d21f6e636e5d93ebe76d026f947e5032900b2a296faef6559a8d016b67a5e57485434636821ed95ffd7ad2001cacc0a00581f02f1824c13f97935c7a446d4fb8d9ff447b16c5a9feedaf592ac9d516ddaa9541a7826577a9034b509656bea38f049996a1a0800034c27901ce15579ebc137219ae6de51b13694e22d0d40dc526794432a92a3a8fd00581f0283e546d55b2f32b9833565f36b22338964e5a5bc40b171276dc5529be7de5435351b2fd4aee50054f8a99a5823cbd7148011a8021977ff0219ffff03fd51d6313a060a5a68a65dcb638879d5a457e612e1fe20a04a3f008bc11171e60219ffff03cc6bc0cc9761443219c4dda7a7b4c3acc67b81228b8a876ff4a1b55230ada9ad0317edad64ed953b874eecff3e34eadab3aa525a00cfdcc9860edb32022c93d10300581f02796c54dad0f83eaa7db268a657a2d8dbafdffb0f0a6be68234690aa3484e54f036ad14760b58987e4699d0ec876d9eee1cc43800581f0322fb85b8ac40924bd096a52c6827e3869fed5ca4b3d82ba94242ac1a026054e2c5b91336469a1194648d7c506c0968a69420c800581f03ede748f6d13ffb019692ae7da666867f8dd08cb1169aa62c56a7ff526830582005a056adb29a14133636dc1bb9af929f647a95448cf73ec37d84fb98840806730205036fccbafe9a20f048d1ae7bf95d48b9972cfe09386917f0de8376325d7f3273e500581f02e714e4fe3e1261660de35d5ee0b9b28111eb0b183e4a49092f19b5f6221f547a9771864fe1de1e1464ab34402a1e4752f9106a033be0c3a48b6bc8305ddce802ec1758187725a633cb8cae75a016c3113932a2d4035605e32190634e0b4fe325d53bb2f45cfa32b8a5e567d8856c923d72409db4f5039745c1aa9336ae364f9b34c34876ccde3bae6bc2ac158b458cda9fc14d4bc1c3032048b08f290955c17e6006bff9e590a17db2cdf026dd0b3d25f323db0f01857600581f02c11b2c25962fff73fd2e6ef960297248e94f36a2347a7dff42e132a5c8a354f3f5166c7d8972a123dbc45f1de1dd3cae28f68f00581f02a796596bc512b9c0bd11a7455a180bf961994a93788418d0cda9e0237e37582006b17c0ea15e9924ea938b1405c6cdd1253861524369999aba9f5e918375708203e196b220a8daae84266b53569824d705a415d5880338adc91d1a4957aa149f3f03b708ac8550c1228d9e2e0947f240505d3730c2da9889a95af479c1ff9407b3c5036c37aae2492a94246262bd7482fbbfbe74474e6a64120a45ed334d1414665eb903f5ea673a93e04e03c681897fddb406f3a088e21ab7fb0bfe2299672c07ba8459030721a5bb3bb8a0765b6550e2b17b465b08d6c2cd93dda5c2d4a23ed775879cbd03a727393170bae99052de46c109f7b13d6930076ba1a615399bcee2018b05e34f01410a0219ffff03f0b8487cad3b1802242168d73b24f2d0fdf4a93fcb807a4573417b12e9ddbfa6038218abf6d87e8608aadac3c2384ead293bc3fc581d3450d10531404fc7074275030da295243c21590ac6be981462070b2ac9fc16b304d11aa674538672559581c4039bf4f9ffd14a275e0c5c20e7330384327e89e15fe293ae56f56a15266800c05e03d2338ba25ea8ceb005f49a3ecabc19e8c38ca1c89f1cf094d2afd6e6b05467c203be8bf678052b2f9498c9b2453a0b949a3bf3d28fb6c80967637b264da763e9ba03ed85c1590556762f1c567f77f1be051c5b4465060c2a41921939f95bba977c93032cc6630a4fc08a3a9e9a39d30fad404942c67cec75087672b3a4a055ad1a2952035e8c4f9bf3eb09c4f99d68d46a50bf10c1c7a9fca6e0f13d8ea1764f6f218dcc03298f8824a00176813e44b5c20d3416e9710ee9c97c2562238ea31d702e856b4603ae30c2998e7788c8025a425b067488c88ebe1270801cac9e674b8de375c5770903b652ad80b2376932223defc5aff4ca8e1fc502121cb59bb93614f604998a4e0603f4c25e0f082c6ba75517aa5dfd515343935c799595171c475467413ed6c0852603bd9d4a37eb1ad7ce3fe0af706bc4569e65dc2793def647385e03f4d01b17a0940219ffff03ce83ef82c01e2d0cdfbfc78ee7344534016a1b1e76e54520e41ef6c70397254d035d5978f3a94817202bc0e2b5852bb27e38a5652a988ea760d16836cc68b30d9d03f5e02e663a49c42bec540800680f4f60b51c8b4d11c864843cd7dfd6b1d9d22e03d2dbfb8d1b96195a5f7dc417189c1963d704ac310b5d33392653dc1fd4215fcc034e11017ede26d475558dd889e7478b10327da2c89db347c0fea2895731f8e9bf0327d02e29c9521fee3a9e0675b270c60a0e0967619cce314357e6ecdf822fd31303e923ff6102a8a18355a891f70bf1bdac5e48643b602fa3d4cfbd61242df2d7100374bb259630353dfe269fbcc33856ac8f45a1a5344fe4cd6c6ec0c1d37e41c5b60317b334463ea24702c5425f0239b64e8a51a67ad405c7f4446c6334ba1b6c5e0403cfcdac01bf4829f79151c9b230684ac2d4644c274902451084cb60a721e439a500581f02f7f837aeff6e0e1c179e62a6d32c90bbd67cc5c3514e1f0234b8e85ca74f54ade36882ad0783383ce4cc2b4c4c7688756081020349191f889dd580fb32716b550f2a79d6dab3310302a3a65bfb49367eb21829f700581f024e640778120444bd85ad394e9f88aca868e3f48f14376000000bd40c65295468ff37a380c96ef7886a45d281282917df7cd22403e7772e3f001f6f8f14850bf9b07375674cd05a9ad4f0587d4d98f0dababc3a5e00581f033c319f212fcc297fa077e16824320bc1bb04b61d57e3227ccb469acc917054f0cb5dc8ddb85755f613159f0bb200ee47f97cfe00581f031dc7c05666f37d4fc0fd1a9e33d2f582639d43d41422bd8f0a8adb15a74054ecbc2873e9d0f280de2bdfc4c47e6e3d1128c71600581f03b5c9a32c2312cc51ed7f99cdd953b0c4b452ec057755e14c715f230c3d50582006954f20dd9c0213217217bf1450267e7085d742f559947591ca81f4f2125caa0219080c00581f02d2d7cd96a179dcfb2b9d08ecbee937cd1cdd3c2dd5df31c3c49e6c57c52343a7d8c000581f029e8d11e0e095702f092fd4d977ed5f20dfd44837273137c9132de37a431d54f8fb3ea6d4af20ccf7f461861c5d9fc21e0901930364e6e06efc952d3016ac63f1ad76123a8e3ca78e7994584743f118b99eebe3f403cdd2e0138b0fb4c27d6dcf1b35ace85c4641ff675ad5ee6b135d103069db4ccf0360ecd1f783f32810ca8e662882c195e3c827ec0b196e63c3d7e6482bd525358f031f7eb65789d926a31e4380b7dcb9a20efc4b1c7e44f8185bdc1edebc6e159f5f03eca09cda893edd03a74da4a91ad7ed6a0bcd78c207cb3470a169f17e6a841b960307acd64dae9671e2e99f955fb59d3697ea75aa68322ebdc07dd8e5f5fa12602a00581f02dd78a59c0a399af7d1b205291ddddac8e6e3e9690d172bf5324aeb1d08c154f41d5fb2b4ba56409cc94865c37127d233f318f20219efff037037080932d3b930793fdd36685d31525bca54dd83d62740f8da5830e7b1465903fa26109add5cbe34619ca0f8ffbed65ef102e49e07364ccf2ced2344e05a2a6903879f7ef66552cd14668ac53cfd52ee7c2cde1d3c12195fd69a32f02718ce550e0325ced301dec38ccf945735ed16751e822a9989695a9757e90c39077210cc262003f3461465d6e835027a00be17551264a609ebc874f2b6c5a39bb258749df1e0df03329802064464acf8cda93c29f69d75c267471bb834b452181f1bfd0cccbcc0300390b791931aa37b58aaca0a5f19cdf86e63cdf9b7a784b8a813e2e1a4596c332403e440de750c0e997a590ceb00759dd1a4369ef17cab85c85a8057b2ad7348161e03f9a387049993e885e4a8a0434fefe5c6ebbec4d3fe6104e4c66f56ffc7dd403a0219ffff0334eb51f2b7d391d003753a4f93f0d0b7258200b728cc9b1661e603a187ffd38103beddc8b7c7bd7c34c6da3d291c3e053a95d53410a822681505db06d2bbbfd1ba030fb73799a0a8f0099864533baf8a51c6743729c617458d36b0008a9eec2878bc03515cb1bceed8404c28d98c70a0e5d3928388f19d332e739b544f73e65f8ff578033c550c6e952bc6a2291a75b8317ae4c40213d0fbc43502a6a6870b10706861890300bc4b5b160b184c7ff9c3b8f59f215d5057a329e0abea721f5a2e5afff839a7034fa65d00e1d2de917cc954d47c9b5abb73ef8b2d6872ff99e6cf86478399c113031c02c9b11d0e28857e026d4c65bf24cd4060baac658f1e8728602236f5f6f96e036bada2644c16e86ffd15cb170e695b8c89e8e4496e90a6cf8a5658fb4f2df3db00581f02488ddc6ce265d5de11499064107f553a9fac2748737d6fbec53402df8e5e5437d2ec9e1a5abd95604478a70fd5e37e054b1dc8036251b128cc15e835465d835e86e7fba89a3d122e08a8303c465bffa9f06ebbe400581f02afb8e9453a06cc2393aef6bc4b37c944cee68a7113c481b21a260200708b54efce60762558e113395d48b58e8567c556d36f2303080a8318ab57a62e8dcd1c727969c66c155a84f8c378fa7cae8672d94183befa035c7ffe6384befda96c25398aa7a14a58159c19bfa85f43a558f8ecf6b30dcf93033339098c60f08325306503cbdc96b6596869ff8d903a52e36bc65222b5868b8e036aa3af988c034962f383a2d39aaa2f55f96ec68cb3c672759253a68cd457040401410b00581f03c2450fa14e90aa4a87ec83f639d386dac595351537e1da4584aa8dbf571054e1851e7454c86de54dfcae5db2d25f886c010a4300581f0315850620e5ae57d411c06146500020ced173243ada8b4a048b76c017c5e054a21193c9532aebc038d2c4f4549af2f86292d2eb00581f03329357e559279b05be0a6c240820479c74790702e078571286f967003d20582001cf868b74d4b377533717e5083bb9b214c0057529544b9d767cc0d706c3c4330219e00100581f02a141012246747d4c79c029179a1874ab7384fcc730e44cfdc38f726b57dc54e1cd19d059ce0a47b285f85c29fccd59fbb69853034c17ceb6888b9d04e990b161a53dba903ea8685204f40d6ebaee965fc482a32500581f025b13a58d36fb1cd97a1667fc21aa1044d669895b972f235a6db353c2f1d354017252042524df387a7ed994d41d7bde44f4670a03ef2c583b6eb7e1fa3ffa72c5f9b20577f9411f1458d25fbdd71110495b28326e00581f02c71aba88dc2a85c5f99a76a1598d346b02f8ddf625009a9936c952fe057054b85937252bb521b1c87835c94a8fbdf18000b46e036f7d375741c65c5bce0c11d8988f2981af963bbc1cbec8a0d77b0c64ad3eb304014200c30219ff6f0322a00e4b0e1e8152504ad3c3cc54121df94a0ee5d2f04879603c03515915fa7503b3b1575a396d25b68d76fbd2763c310d1884a7ead49fadea5946f189d31eb9d9034a18ac05679e2751acb0720938f2d9f44f41fb1ac912845d00b803f496bf423e03603f7305ded14118243ed177573d83646e2ce5fbc2fd2136a60e65fa7350f5ee039e0ba2e074c0a0325c1a2033b7563b860a3e5ad5cdee8c012b1b92f1f857d40503dd9830e7f371699bcaab4d2b5ae9e0d39d1ebc874abcd1f14a1f41ae10b8e1d6031d4793954fc4e7f41dc4b8dd37f157484a2ace070198c213bf485a6aa4dbd98603ce54d4c5980da5817239955f42584b20879b24d34bb468ab0e4d702bccdbf5f703a52f3bd0c0c2e3221fdad0e78dc985c04cdf676d23264a7cd8bf2abb0b7e0ba003ed6ddbdd58e2929528bd6a404448aa6e2c2c1c8853d5fb708188a936ab59515a0361a17d842f92605949f544e0d18f5dc8b68cd34bd51f38d52b87c3757b04e342035b81f65ed327deab474ca1adf86b5f272393f8f67cef6736e9bba4bceefeefb1037abeac9b8beca0deb100c8ae4a6448dad52082390a4d397bd0df6354ae18dd250335626ba4c28afadce1f6f14c1a5ce2fa45764254d108a970f64bf68c328b8ad903a63fcfadb5f1e0c3aeec4301fd16bf2f4ffe77a4a20faeaad71a8f5055e395540219ffff03c77728ee21b8536c951d3bdc9b04de2df30c146fb7a168ee73ed480ea482ffd00219ffff037a80f986a055d50f393305a91a4c3af7efbdf9eba93ba0bc31bbb4adcb9c18cc03f59625f90d817d922509ce94cb71d63855a578224e000695448fe68c7b72fada036d9fa66eb2c9ce86384c93290c20dffba61cfd5e38790ecd50509cd59b19812f03cd23f08d342925934e0d6e29b5c05f9abc58affa07f1d2c135bf9638cd3180eb032ad89787bd97c1dc074b507738dcdf5919291cad65c791f5fe179212e5dd956e00581f024fef77e8a56550a3d782bcd46c90d8b44581adbed6d8e29ddde544a2b9a454159e7024254442e68688f89b06a32f571c600e2c031f00f023c7a3da228f8104de96bb0e39304f09f067f0e7bfe08594eb9d85c30003b084223238ecc6cb164283f052e38f637533e87fe696dc118277607fd87d78f1038360eaea946bb7a1062b9fbb821b8e0552215fd38cbb561a09c45bba7066217d0398daacf7f9f946c878fb627d0fafc4250c8c1eea4c1f32a8b8f7bd8cd3568ccd0319a4903f5702fb8c7898b571899225ee4c4e48ead96633782cd41572095d15610379327125f599b487c503220ccefe38f9691a62322990298e3bab36ed5465791c00581f027ca443ed60b33a60e87bb917bae719b4d2607fedfe4487571fb43fd6c2035430f34c2366d69740f2bff58ef94cf95258a23306032bafe6847c6e340c1a71eff58aa4ab53499e7a1daa63b9426505181677e0ed9100581f023da966894dfede8629ff496a3ff15b79e4377d266db289e863e7335460db5453cb44ca949760d3deaeb6862d0240ecbbb7d031034bb03d8f12a4bacfcbf48bd32db61215b1323417f3617bd53f7aaf30fe4f05c300581f0282b7a420af41fe1b84c55826500eb0c6af798d1201bbf9bf4ea8b35679514501a13b860000581f029cd7b867cf2fcbc6511ad254e523e3b3f525c5749bbc0d090ff7025fef6f5421451f35f67f70cb7b295cd23bee84e577a23ed30219ffbd039618575c01ff49d123a689d60f164244cdf318dc490efd1edb6a9f38eedf4de303836d4105796ee5e766a6490a36a8601fc2a78888714a8cbe94368fbd71a6c3fd03bcb41bc62a473786d0bec9e50644e84eae751bbd41df9e7b515f8e6bb4573e8b037f74c9bb4de25e67f8131a25be6b638f5f917dcb663f20d593248a3d12b004ec0308faeeb0a5ac1239a54b1120ec059e7a346a22c85c5464c8f24c5fcc84ae5baa0370346479ee740034d56f1991f2b40c90e28230bcf8fb540cc4af052a174b9a3c03ee236bbfb97adf0e3cd4dfd046eee2e8521aaea87fd568b7e017d6b5fcbf16270307fc0e015884f1233546e56b9360a80fe7270679667809a97e779745109e11570328ecf14e5bd3bce6267960304b396d013c2bff906e9dade20df5d1d0acd962bc034b015c1fde90227733817a956d4b039d6fd2beb2ecd7834603465c6bfb5576f5037ed736e06891462bd7c35eab1a074a834cb80cc2616c6bf4c09e60eeedcde57e03f5ebaa547371f40fca908d5d0a0d810ec209c3fda853a59a2aa66067863be0fb0219ffff033069664179548b16ea7c975b14fd47131327f6cff0f248315e50c5ca56cff21e031529f86066503935dc6de88f2f3d4219873f21105bec53ceec7fa125b26141a1038eabf36121beb63aefaca550d52fbb4dfa4c19752c3ad7832bb29e9f2661f0c203b985a703263084544724ec7c4275f547fe8eea573fea6a2c6977ab8dfc4fc19003144690e011641799d7ab61551ec2f1e9dde5b4b851fbf6409f4efafa491a4680039e0d225627f73678676c064f18829766e05f70db4be558075c31dcfde5527e820333a1f3ed7b42c3949074042da1ee855c55c21a398d95076dbbbfa299b466ac1a03a6b56207f0f76f1a6be1143a6f3837ab50cfa99bf16a3e5c2eb54c109c8347f903bc3bc2050ea5f959e01c43a394f0a09ddf2c644fbb2e13cdc7ecb63b1348785303385beb52a2ae1bd8d5dfc22ca910b1c585f015b9d077be63d84af7c9af6744830308e2b121ef8771c6adde20ccbe5168a8b13f776b272fcc46f6b40350a054a999033b9bc08d5000fb3ce209f056495702d98f06827bdaa0037a7f504c597f2630b503e30ca36634153a1f50dbfd58c6c94f75d9d35bff3452947aa795edec7daf388100581f02d2e4bcd6c64a25f7449ad1a65a01e7195ae00fd63baa4a95640ba1f5686654c1ac3133e13355f6e41807da6b5d5dfae77f60f903a5f17ebe41d011c13e018392aa92c10ef038d4e1442e3214319d06964db0bee20398623fb1ef96c120759368ddf8f2350f27a964425ec4f7a837a99a43c80b095103e280e42f46368534dba193f3697ba5507157f46f87250bbc4e9c10c8cd5ace76036e929c3d23d2ed28122bc2ef5576f56b3ff4d7787fc6d7dc03a8fccf2bdac5090345bd970c77953e9c278c6bf25c77a05f8717ce0058be254c2c47f4d47d7d5e2d0310b50fa9dd202df923c5fa09fcf37bb8835775e7d156695979cc4286df4941bc00581f0251d0c48be4a577c5df6d450cf555730cd55247a8f5419358679bb14d3177542f1ae4aeb9c2f07152df995c0dd291526690496200581f0222e3af99223779fb2f21cab7de5264a36748e0e87c690907ddcafea187e15820029f31a257ee00498d257ebaa2a963e2158baffa3b9b454c544a2b972b2ee87a00581f023c85ae96c8174d3e672ec69bb014a340a69827d2a8bb2f3262314989ab20540c44be69d7f6d0ed61b5790d040f5bbab87e6d730219b1ed037a0402b9a412f5a6f77c1367674ed911de320bd382d36cfacb1dbeb4201e218103e480ab2ddf9ed63a3c73c2f485465d4311a75002381ecccc1740d65b958a9f860219ffff03a1c2b7a024a00180d5e9749c83f350e4d2225c11f4f785882642e65765cc7d76032b67fbf895fa86f8cc335d89da4848cfe5013c53649e663aaa2ffb47682cffa90329165809ac6dc9e00d880384e6e78d1941d9d84a62ee7c2cdff4596a23204a3b035598c8dd6bb76bcaa26208ce1dd7b2c0b1136f5e2b1cbabc93d52951000bea56034a60236e6e60095c93d1adbc7587842b6c084b6ac93d06efdccaec00be9ccae00332bd00d7d5b8ffeaf097bf2667ea93ca403b88ad2eebf8302b550d07848e551303fb458258a61b43bb2febdf6e46f7bd626464cef1439c6947dd7dc7c52c4956b3035a9d379e6933985eaa9ffcc603e6856609c8153e16c9272038740a81d49f3cb60373f1e4129f89a62c6f0c82cd15d5e7a6a3172b2cc2dfd966e102d00311f586df00581f026b95c1a1bb48ddb3cc88cf64acec86144201c08db847bc3a3daf4c3f261b54d87b21a831c1b5ea5deb08a296233f1ae2586d7400581f0227bee679055e780951fa001b16fdee12652cf8829744f5fa7a6cc41b6a5f542e16f81f686da97ec62bda2688c2ab90c7872bb403867ad605cc0f3748f9895787e5bf30641ee5062dc6716582c4034f8559a4f94e00581f02c5212380b558795921286b9e23c62cd128e68835bd70b4978d13d72035d154750c2cd89eebe6a343f0d27f3ec10b1b9091c01e00581f020b85d01b118d08839a5b42f7c0d93f03df8141449ac07ca9e6a19245b8f154b5f8fbafa8dd15c8a0d26a0e9d9805c63e4e5032034319b81fcf047b6931ac011567aff2dc5cc65d66e7c4a1cd10deab5ac6c7ffd80305465d01043aaae1e5b300618f70bb3704f1cfa0687750748acfedcce35222f303bedf595d26f23dd53d9dcbcbcce78e5ba0b34c4245905695409c4ecadb97879800581f025052e9a8639377312d41c82c05e4629f1e826bee40b087282e37926489bc54dccdeeda5d1bbe41d944af327d3465b29a8d398800581f03586f76e13699bb64672bdeddcbdb2d910082a50421fa0c5b8f260c2f67105820054a8f9e13407b36d81f650c54729f364e28d3436ea6725a4e724f29793ca75600581f0395d31854eb7d0e52e905ab29960ee3ee2faeae4a3cf56be11ade56c8783054af79162da548d2474b949f31bd406c60c74544470219010800581f02bdc57014eccf395ab4c10d6a4cf633d59435549f7855a8ee45f381626ca3540dfe822a98c6893c15f60ee454caa633c7a5c27902199feb0334559fc2cd475e57551827098e95ea59a73c2ead1737c13efcccbce1faf51888030eb1cccb2979b11ec45c284f61ab65d24e4d8d2ab5070d637a7909568a2764050314916672726ae7e0a7f18f474189a1058a74f4037c172fe58863f300b8c984e203c6a9f6a6d14fd0b530f2919ca68267d26e9daad1fd354ac062adcef4cd1310a803afe559c2bd3a0fbee71277fb7c03c97126c06ef4527e88ca6050549d98139b110399ed94883e5ac20e0409f22fc4caf53f00c8672d2cec9370b9e3e2edc264d5a50363997acf2ec404f39914eba68bb9c1b72835cee241ad27588de2bb7ccc33989003e557e85436c4aab0bcc3cdfb0222ce97a4951d896474bb8dd59dcbc6dc91bd5b03c2bf5fa39c52588d55554f5d7923826b5d06074b52d6a0c3963ed68482eea912031e82cc8eb4bf8f4ee4631daac6f700185599db85af534ea3d0e5491fc56eead60219ffff03d43177dd21dbe9385970f2c285f4de75c61758e0659831f807b268dc50e504e503a91ed4885849c081903c82a18ad3672901614e38e09daf834da7153772d736630348c8d82b65a86d79c617cf0557429dcfe858a6b462b1687396e22c1a189c8a250341c351b1eb63bc0b463aa77e6fdcfb75f33653510f1402a1bd3e588d91775c6703e5cb3aa1ccd49dfd0987e41282853844657cdd8c624792fd2535f61db386f78000581f0224c0269f86cb1e540c887a723c976dc4298f0085ce753793d82667d8beb35418ed54fdd2d7c72ac7df50aa63d18180b2678927037e72e0fdd028ff9679f7ba88e4cdfdd6f6570cca67eec13d48433693cac7f4e300581f02fc9e6ad91571b68bcba1171b738e7c751122a9b801779de9c986b497717354c4da149f8c7b81f7eea6ca339167d55f4b97fff903e09fa41c07626c76b93f98dbb056d2f01be6222edfeb75743aa8eaebe0bca5fc00581f03fb23baa226d7c6b310f4eb9d2dafe952c49cd75a013b9537c063b7c371d054ebb37ba6720b53fd5af81d8093ef2480a7f9913b00581f035b4e2bb792aab1adcf65e78715580ea919ccc3e9e02bc33ef94de42def904545d9186cc000581f03b736f2bcd29637b10757222ebddf5e254d8a6549f0020c90c4bd7723a550546c84ca65be4ff7aacbbb008d88216a2f12a8a32900581f03b0bf9f4bcd8265d80b74517d19c99f0092aae42ae2220519c8b5ca31d95054a8f26442bafd363e30d65c98d1ea794b58cbd52900581f0300739d4db15c61c79242d2fcfe94959aa987815f02314ad5983446f4cd905419a07ebb1c3349561fb19ba51804fae21ed61efc00581f0373c2cad3e2a3c50d1598714311707e68593170ec4b03140202a5b47624905373ba7860698368f32ac1b4c07f9de6c422dc970355463cac339627e0133441acf5aadd898162bdbf388551291b6b942360d1160f00581f03372e885bd11e46eb03f420becff11d3a15353c00d10e4052e27683a19d6054803be8c39c48ca85b71b1bf5db74de6ae9f9d7a40219f09a0376106ecdc42cda6ab4220bcfbea4d1d48e54123723c7fff96220193997d3b9c403e60a7796350bd8ec66ea2fdc9ce0ee0a08b27cf0dedca740d34b39f9e1a3aefd0356768eb2bea4c3b51819e0c59e1a16a0a3c9c108d04e94d69bc7719de2538aad00581f02166ffba947f4e739845944ceb4372e31f73e3520852e5d20df65249c9b0c5423efc4f3d0e81176628e91a62741dd752627347d00581f02174e9c065a633aad0524595e221309d1cd05875064ac1d9156539843c4e8442d423ad303a88b1d7c96d083717841b02f1d70535ffe3841f98102f5985f2d49ac56d1d7c9039dc27272e53ee50f4d4ef2c7e309d127fbb77660cdc5ab3d342616c563f4bcdd00581f0238d20e4f478098c359ece222d54e7e876e0e6e25df5f808b365b0d598e13544471afee8bb271415040f3af7c88fe6ac1b1e72500581f02acea7d8e09d682a1d57000d68a4486a9190913e7d8c32bc99f62dba98ee9541ff716ed9e23f759fcc849e9a4e3cfa4aedc36d800581f02d72c6b25d49df161359ee73b795ce47924d97b87b99593cb5707e2d9f3945419b47a2cdc9accfbbd1aad127e238f5609003ecc037b0aef0303b084e31b5fb56e576cc3e8adcfb966df9a7ab8999b5b57d4d6ad480219ffff03da25a117694a89ed15a4a760814aa8d6162c1cece947efd0b3099265e838de1303243f14e4a3a908ab372c5af4b1111c5f6382474efc35f67d9c3efa28f6e0c5940383cd7a2ecf224a42d8fd6f5ff504fa3157474072e466214d394c11dbd6f04154038e07826c0728aa55bd9fef16ca18ed7182fb669fdd446eaa94e0495eafa8111600581f022bb631befad6f1fca8d26c5fac16cf3884fdd4141aaa36e919722b926f5454ee78e40f73e9a9e71ae5068a053a5a4f3401d03100581f027d042008c3d155d053c12691d78909b4ad966c5d1bde6aa6b0e9cb07d87b54f8ba2793f7759dcc5d9bbbc7d2ccd427e8cbbb5e039409a9d33a18138fca408b4770b33e8fac9871af28ab0c5440198fdce36e0ac0033568f3bb35605226955f81a694254905f4668618139054a9cf96ce722f3fdacf00581f024567da388b2d6900add25cbf4122544930f04ce5c55b9c85b57e068f04ff5426d7cc878e5c4599390d3ba649c760addce264ef03f35fb02697d4731220787a2b229132640090e376275855ece006ad9d1a7e67ab034a6f24783f6f2d7b28308c709e885105ca3d83123acc61bf5ca42779b2df7d6a00581f02c7f98d5d8a603cf9c44529ed4817ed9d01bc888a8dd7cf8cb45479f627f654893fb6f4d430c213901611f1872f1f8a0927ec9f00581f03e3fa46b59466a502ba8e0c7e2806342a4434d9070625c0c14a8660d7a1904443fa797a00581f03270c7d24344b40fb1008d64c6b8862844a0da7bf85c17428d348e6cc6040582006212ada0635614c1e253b8071f1ed1d2515c15d32659886c388ffe7e4b5e2410219220003ec256c51bd7f71cbadcb40704cac5a8035b7dc960ec503730b8e75d35be15fd100581f0296ea36d910a447a33fa1cd72b5fd47b49c9b08f88d532822e2dfb750838d54c137d550dc1e65f5120fd4d1d14428bb16b0ca0e00581f02f41d42613de581a2e3b5adc3e0f0c5e5b52b7abf89b00b39401ec1d0cd7f5431ac744d251cf3f179c07bf081aa74ed0323e7310385ffd777031ec7f6cc35dc766881eda37dc4430c02242343150f3087dc7619cd0219fbfe03715f4cae4b695b73aacfb55ac60333317ab7fc4fdd4e04ba5493beaa39e0761d0370d3bdaf5883cddc47ac6f40a853534bd3017afc226a8195ce60b496acbf43e000581f0284a98782601d54fb361a1b648db5cb70d2dcac93256ee5d1a25aa5282ef654ea0213f55b22c40204c254de224d8b6d52f49b2b00581f0304aa3dc97a91a1f3881a218a4f0863603a935f702681c33957aca21a98e05820a30fe58016bcceb8c0f0c5750e4fe8b7ef8d6e5c8efe27eb358d66ad9a5fdaef00581f0300c57d99319217bfb41493c3381f32ff91e7eeb0fc9a539e1979b44a732054a5d3b8b365b0c636f7b7a6e98e41981eda617b4a0219420000581f0262d6e77b98ae7e86402df0ddcf553439822f7de383a2957d9a8312d312a154952d707e9013676712f1954acada7419d0148269036a3c5d864c631f3d243d80f6bee3e99553ac91365ae7f7c02e00b0602370d7aa037d94826e87ce8c845d895fba2b92689b724798fb242a893ef7ac90169e9bcd68030abf4e99b6b6acd7552c59d471700d1c82c4d8e8883fa0ec89031fe2b63e147f03ddc5cc9a6418c14e113e56a47b51a5ea9618b0d1d67c8ecc555e0de4e8abb34c03ccebf8c736576d31e2c44af182c519dfef76cd27a188a7904e0260331309e3e600581f02b156fb0d645c4b09bc3366e14e00cf348eb3ca7ff29cf31aa67a1efc172054338592799f432adb82e279ceeca986a2ce31090a03cbaa6a67b740c6a473457b96200c4251790a45ff371a49430294b9e638762ef100581f021e1f1f50e27257aab8a618b016d32a838cd53a43e84230c24ef49ea4f6e354c71c89468eeb1e90517236c524477109595c6bc10219d5af03fef04e5336e1f0096c6007b2dfbaf9725710c1dc4c38ed3b165cb7ac3797849903914dba053e3b8eefea1d6a8f909d818fa29d0e67a7022b0e89e8e52221035a7d0304a4422e6249c03d4d2891d41249d722b06051e5317c9c025c360917884918bd0219ffff0364dda759d4e3bba6bebb68e9fa939c5fc0461de2b8cab30b493b6d2d48647294032c2466723e2fcb18d9f300c9e3da86b575ed0b0369f6d9d55f3ade92af438aaf032622f57aa5da92424496a7dafa939c0e83e85b2c4b9edb026a7b58ffc4a01f290333a22ffac8ce9738f3962d380d82eb0f0ac383b8745e3922ebff01008980b4e703015c9f7b0ec3244fd9f33062be6f26148ec6446da6bd4f25a53527c9f5c97c0100581f03cf2a6cc5fcdf0ac7130a8e9bce36222568a08ff9500daebd5d42ab1ef970546c6e4ac39285617010a4e9715573e69e51503f1f00581f03d757a974352df23c79ae08ef5c1245524c23baab24458605adf2b85d71d0582001772242cd4849b1883a5ce776942fbe69461e0074aae1dc610933d50fb1f4120219024000581f02117c8dbc7996b75e8c875d363f4204a6c4df6dc2bce056c8044252cd884a546586413d926b02a0f78e68462315fc65c4568ced0377daefad1be809f1aa6f2a1bee3084392f18179d1c346b67b3749a8510d52ec300581f0288653609e690ab106db42b4331e09643be8cf7535a73ffcf12349d5d07b554d98c6ed04074fe00ef930a5b5c4bc63c7d6c72e3038f7345c76aadc4b9ae1af43499200e3249ae456c97d856dcc2f7232c3b72a02100581f0205be95a16a414f5c1d96a7a7d9733ba25c5a4dfe32fc665ccd2c38a4c39e54246d43ab49636ca0ea26b86c0ce4e41f2bc29e51035204fbfe2cd866582ebe405e7753c7a95f0dba11f0a96dcee5a13b87651aabb9038c9e315bfda73a4caefc4a11b0bdb92fc5ba1cfd85224596134472c6bd3759f40356f9949bfae2270c11a409dec7f11df145f0639e47cf07e6ac128280233bd3f70335415ac986f2df7084ca23b94d528ddfa48040ee22bc93575dba2bd47eb6f49400581f02a6c6d4b5fd1e78fe83e568be8074b688cd296d6bbcb4fd91c0e3ef077bd854546f4c0dee76636faad36f8f2105ae80db60f64e0219ff7503f49dabb60543188f972e9aaa018a805345d643b46981f0816381fc981f194b3703f7e466d0ace0b520bdbf3fd690423ca6f5b8cd0789c77a414be9c7527a8341e800581f02dcdac7d24de47b918ce92af55bd37b8beac30ff97d8e786fd1cd5dc89fc3548b1709dc3c04d323dbc415a904a051372faf3e7300581f029735ae4299a98e1794ab76882b5a4139a9553ba18d7ac4712cb94141f21b5312e4b91b38ebd24fb6e45a50cdc8fb50e41aab0315dcbddcc1501f63f4c20387ae0fe074d3375c608e2b431e4bf692f926261ee300581f03a65d464190a4eff63c1f8a0e50e3508d72a9c05e2d2755b1799e265581b058200401cb9ba52e6d6b7222c6352462ee89d88ccdfdad3bff34af21aa1138a42b6600581f039471babb0a49bbb19b1a05173351b2b124dfc407ba5d2828e5f314cd51405455ba6b7c1b1a5a56f82418f9b94ac1749fe3669e02190802034a39b39d409d6231f9490422cd6444c0b0e1201acf787e783e76481559230b000325d6c7ad5e2d9d9ce6a4ef2c845e0af8db2f5adccf3ef769d82a83e415daa2cc0367aef0007a1bc4b6ee085fc74285c2e62962827c8e96d169160ec65890d0022300581f02cd6f6993414c7bf2960d7e8414f81d3736d90cc39a9f4e410083a1236b6554366acfcced245ad391d178486f138367a10da86703b6be2887737a0f6b154cd1ccb32a31f6d33cdfc024ea54bcc96c41227f00b3c2036cafdbf423d3b61de9a655fc8c0303f28e820dda4775b1f78d8303a2538eb3ae03b7ce41d2b485ffecba1a14a0a72a3ef8a7fe404614399ed9f9b48a34aaa66a9c03258998edd85f4ff7625f88b8b6a26b53305a2cdee9371460af0d13a3c36f52b700581f020fe3ca7827996abe19152a73c2f6719578fc595520e2a793689d6f7f851d5497806849355aecee128b79f5cf54856e1607bbe10219bfbf03034c9cdef279b0fd3b1199433cf6b79a30fe9540c187e120f0002691cec2cee503ed1f01ffd2a72f57a558b2276d755ceb07b59631ed17059bf3a8e9a2fe642e3e03147276f22748ce68c0b53630b60b73374bfd7873cd87f02c5f6ad7fba363106403e5424e3a094cb80eb3930c6fc835bd4b2a244f336fdc030105bdee5488302cd9030dfcc00cc8d2c254d37c593fd20a0f6069c67ff4fe646dd8afcac407d999bf290345661fa923a2b9791d2da9e385c694513a81f6f3e2fb2c6c8e2027a8ea048279039b316830f9761ef44f75de6dc22a904eab37c6f8c211a4b009d087637ad486a3038f8041f68e9c576ef8ee6c85a5ab3f1f7e900f7c5072b646f91339d20004d28003bbe91d261f9c7ea7485d4a120012d4cf953a85af0b5b7cd88f1d5cb1a66db4a10328fea1cdf3deccd6fa2cb4f1d7f7a93052282b2fe2c4302349c4ea61b3286d7103b52e6cca23eafd848e805eb45e32b2a6cc630e5474de5c0a7a9b2f36f393370e03777ccca96820bd557b182a95e98527e2ec76d87c926241a87311eff94e7467fe0219ffff03d25a4659071a8b00452cdb7d01d78e6a7230f6b9593d4ec750fc841767039ce40322a30fa968ffda08cdc07c5effc9a40c47dd31efbb250b183b901ac408ae2eab03e508bb15b03a234035db1041b4388b929cb133d2b991930390ea31a59f3572dc03ed27b5356fbf0e3b2032aa7d573a1a5a0e247e9d5de6bd0700b53d2fdd1534a9036a9c1e1c670b18ecf129ef0721fc6703a885655e8aa51fcaa27ccd72ca9e2e9103b2cca5f41fac4dc8a72d4b8e790cf0a8cb7a291ef94e493a580ddcb8241677de03cfbedb2b33df9bfed68439e1ef700db86a95c92084dfc81f0816fef28649125703a42293082bf3176f68f806341b6f5d6486d59da566a0a6d326133372289e520103bdb1e65d5ff6c2c2366fa85c8dfbcb026d6198f7a8b7ac1f2e9b487ecf632b4a00581f0376ce6b020da4070aa31c8524ac2189ac2f94200bd92b620b7dc141925f4054b5ec2e06c19ec1663421f0166a5266cc888ff8cd00581f0379ba4f0406877f11f0d41aef0b5b4cc998604e71ee05fac957151e044af05820032c7927e720c37ad10472f16bbae4009fd6e1cff1f73c75c70d0592e7c67df30219020800581f02a50cdd6a602f08644c1b1171eb343d3f41f672e9a28ad61ddd3d797f2f1e541a11b6fac0f5ac69f5f21d67f0de1751026ad00103f306872d81c659c7fb355979186a529cf053a7189abe7d7d0f23d842ef9142d301410603337b53d2cae521ee5b4bc905dd3864ec83e50958c7da9265ea4ecefb15043f7903d976f6ecadb9056b11c31ff920467ea6caafab77e4bf6ba946c71d808d62298700581f02e9a043d6e4061d90c05808073381ef873f681c2621cf855a440e27ad496844030c9a0600581f0293750fe45206ec0295d9ff1b6ff213928c85c7efb70b93fdca892ad0982c54fdaa0eb2a6f82ece899a3675567db5141439fab3031f403ef2f0a2034482d4749f3b5221b9c003a4c6c4f7066c156d289af6f8770300581f022dba417919a7d225ea6ac17ecafe039d30d0b7755ad06ea08fdacbe6b49354fcf3019c290d8604079364f770b215ca29e923bc00581f0222fe32e366a558bdf6179ccb062d839a76ebf2eebcc6822877052b3588d95474c7f898c5ce40308c03c170cb725817b7c893b40219fa5f032ccd35e0b0c8534cbfecba6c37848aef9aa7030107749fd2bb758a54e5aaf42903236ad794d42bb6d17cfd28ea28b7c08f54c894b95bf1b929faa03797e64dddd303bb4a7cad4bfe766ea592330998dc50e4add8cc97f502567c6cfa89e5135cf19100581f024bd495bf828afe07dc1779cb605715b06c62812ef4fd5ec801e094346cf7543883d53b338bcf08f450e5c513ba440d666a180d00581f025d05aa413c818f7abcb39848a274d893cbb9f7bef77d55b163371fc98dbc54244f0754c303415d7c4ffce5330ea2f5defaf8e400581f02b320ca47c9a1781140ae2d2586a34e1302461cfb0e10ded2c59bd9cd256454651557fdcc80d44f0f5e0eaf7d104c4199c3924103018848046c76387c1e240a34bdb5c5d0081dd946efd546371a6e5a0976bdeb1603ec451792c1c669ed3c92f5acf8558db3dba633c5a34890241806e4a2f34794dd00581f02e32d66df50c3ef50db24133f87c6a423aed2fd25d9f5bf0fb46fa9834792581f9ac496c4dea926cfec5ab407fccbb8f4e6f9025f35b6bb522378cc2812139600581f02c28bb773a694bf6c9f883e1386b9afaa97890a1b76c42bc0ee2354a85853542e0919cd638fc3e324bff38b8039ad9a94d697ba00581f02f2de19882bc1d6065c14aac08f47f4a504611a95933680e78ede62bcf2fe540ebd5383ab6fc96e3b6f64e69a71d60a3eb5649d00581f0210d08533872ba88cdab744cbbef80d0767c3010a6d287d0633ac642ade2e545ce033dd554c47a5c8ddb9cc2377ef5686f71cd203608a62aecf14ec8cdc13c9c626a1305bd9dedaa1b41d624b232184d287a1aefa03bcebb1dca0e68e0af83ffab2526b6f433f2b90668529d65078df3a16aed924d900581f029f36dab912a0fa14bef38b873e7ccc761bf2ac1f686813f05f0798f2d71454b76e3ad862fde0e7a71876d146c0b79e13d0d28903003bcd0d6b87efa69bb8ecde7f0a102e1e9bc14004fbc75187c794b0ba7d90010219fef9030f349cb5010603b219bffa7f917d990bab0b869730e0e8454a413b0b88add11f039332b89a905584e489a3bc6c3b820344037872f5f5ba4a4d26887df342666435038296fcad21359cfd14837011ae444318c4a6e08fdd6b856278b5ca87e39f72fe0340caccd9b45311a001eced9bbdf5e481c40aeb0f5dbd785298ea7c218dd368ff032c3b4886ae35ad10595dd7a94b113d45e961d5209cd4142d602cb4924a082472032d6e5d9d53122ccdf1b03d779cdd76890365c9e0f15f54e693bd4ca12574488c03a8ad74b1c3fe548a716b86367d2ac13254bc0f94e736591fc1637fae455eb21d036ffae11e494bfeabf3a9aa8328167c01713b277e54df45df9299170564e072eb0219ffff0219ffff03422d054cabd29b13264b3d4c1725eb474078148626bc569af7ef50ae33b164eb03db308e44118c4ef18333eb5ac6f7bc3ef1d11d4980e02dfa8970b64d85a03e0f03310f3b38e6ecfacda1c8a370f0af51078e2613b8e67bb3e03b74989cc4f5476d03d409a4b64078a94238a0bb38abfdd029bac3bd31ac04112d9d1d93934615345200581f02186b1137ddd2ed0fb9f9b22e1df21a0c04b0332197de5b718c99aa1e517a5443263f8c32f6445c45429b041eefbb378d0c84f603508a43edf5f0aa09b5357f3df91348f056c9f58378916df2adba58e6526c447103f2197f28f41a5fed3ee133ea7fdf40ff192538c3b62c36c05d7cff95af6da767037eccedd69a2ffc9b851fa89002a3e11937b2f8498e0f10c9cb3e78f7a4b83019033662260d5abacb457a3f84770f0418becf7034add5f33446c97eeeb661081840014104032e55f8daa0851341212b05ee6fe3f9afeac1211e22be017046c7da9a650fd77a0312e6b51f1c9cc8fadd3f34a020d98334fb94798b102afb006fb68c39000175a500581f02578f244c789a30b23b581218b0e986b550749d69f6c0822540b43d3db6c64101033fa549c1bdac821f42aa4aa9718d2a8c19d1a85dba1dda41fec6bd0e80c34c1103379b8e18b1d724b753f85a5ab233f2f5f3d185b324562a92795c621b29faf8e9030fdc067824e9e11c7a3bb91adcac2b71c0598364a376a0a5905af418b3996c4400581f02cc710342c07a6e4d8b28152abaf92a8e55b4a57bfe4eb66def01249ae5695464bbeed8406c577617cb01999b246547e3a304840360e8df2ea977eaf3a8e073baba45343b8c9a0719b43ab288d960cbebb5a7f2b8030893902ec1c32956cbe10f9f09b4c14abd09f05ca9d1cc06223a6a4ee9b6857300581f026c055bee87b5370aae2a7656daaca5f8758e0358a9e17efad569d3b197045491d57c6094ebbe87563bdb61bc052322b6b516e10219fff7036dede7d4a29ff5221e6446b862045f4b1d005215a4fca68701af13bf8db98e7200581f0397500a9659971e895c9c8179fffbaa29fe60bbd59fedb304298ac38c683054d656b819898ba837f9fcc2dedb270d5d2623ea5d00581f03354909822009d604823efaf71a6b2679111db0fd94bd91132c24bf772fa05820073648beee76cc77df18f620b69e818c7eb02e4929f9375c91d8dc4f09801a3602182403bad664e0522949f3cead92bb7748696dcb067366b7781f0fb8d9786750e84e3f0358ab1b38157aecf9d0d341cca45805bd51916285eb04bca7f64b6b42bb500ff403f41a8fda3fc016b8d162a0b53e15dca9bbdcfb120950c95eaa6905123af9de5c0397d3efe677d857477364c663522b7dc5377cc83fd4fe22ef55a6f9b059f246c500581f027c7b693a9db9b6c60e0a3825f1234c202c1e717e8b44fd47c44ff61a6c9b54538672770506f77608b3830048e8569448c300ea03009ee088edb9eeec7acc61f45d6830ee07346242f24a026b121230718aebc29600581f020154ea6aaf6a719d0933e297f1a495c834a4748c6fdbd454bc2050224c7054cd25efc61feb785915291410f6c56512689f044403c4559abae31d4676d55dff4891773ee8cdbc03914c3c0de308879562de77fc4d031cd7567bedb50e8aeda10880a084320e757ee7b880fd70bca3981b9c38566b5f032fde4fd061881ab19cb752c91c55429a0ce30b17c549f58abced8ac2b3fd236103c938616d29e55b8d632527be54cb4bd1875ef98779009d51a8895b6e20b4ad71030ff1936869fe24b90a54d0c4940553e0019096780f2b78aaa0de76c067b21aaa03ad5a2333cee21423210c80baee7148f712e656654190880f89a1e3763abe569e0219dff703ce5542581e83a6f871098cc8ffa280d88f37f34be35ece443b5b122c7d3a8477031976568bee0bb96f1b7f7c2407b6ff5c260b60b216ab480af29b06c9c15441fe03a20c1d136a835e907097c94d558ead966cb19c5fe006eb06e323f9b48fd1dea903a58f196498f63da9bbf5c3634889572502332b7f3274fe5fda8bcf55931c678a03e88cbbeeab04e3d7b47f278ed938660721b6a6e43e22107ae1a812bacf1f757703581c4fe3efec9d34fecd01aef946239e70d33b00f6a2c01f745b9e4f80a8f1b203b4302ce2c553bbd33d1f211bfcdf73ad600cab75e21aad6eea8a0491edee740303f151bd6915a3df3d095a5b4d92c0d03007617a69c9f5d0f54ce42884a32894af03d401206750120521dd625524633164fa13536d48501bec31bc96de66e629ae870321dd8f5b1b64dbd310919120fc617783446c4bc57a4175fa0d9dd6c4c54ebd720219ffff0344817aa4221419f43c2f2c91b891928fa128eb1241ba3bf882c70e4bf378b14e03801c8fb02a8dcbc2c457b66af4a91c74b751c40bb723e8fd6bff4d30adcd9f20034510fbc1dd47ebd612c129c7414c739e45d1a6fc2fb31e5a43a17b0da2e62ac50359135a78a4657be9b870252d21c0f57781b50f385ddcc610bc1284bcc44ec84103248428afb671f1129c339d8829273bfa09315e2764a30904a28091c29f376c1603b147c04d0984c9c1f015b2090ba7f074d692c2f6193876b4a811e4db5b28bda70307f5ee0f703c478451633144f161de1a3e96d5f7b846ee01ad7c0e1b79381da803114bd87339d7648e35ed2775d3d6e5a6ef4ff2e67f341013769a51690a7863200394250a4ba1ef7f35ed75e9cef44e39a7492c31f6d7f07ba0327249daac8d29aa03810d14fae53619a35d0f2e50b1bafbd1d087b75c1bc45244099519736496939d037cc9e4754f8534ba75d1d7c76e9560e644cf1ae468b68ab09ec69c5b2ee186060364ee5d013ddf4a4c669f3fdfa3ca8a6ca22cfa7ae2d03179e3a8bf4daa9cc44700581f02a9bf42f48551a32225d7123af5408ee6a2c78e61348eac1fc5df8930248954fc9e6373948e9ee6a54f2bac6defa6caa390361600581f023811ab746131a5465e91d1e7734d4ad39b259ba7348844cd3bafd39ec43354561799d43de12018d3bcf1cc34cc8462307111e80373a26a166840b7c8ba5f5d785b4c1b420d2f5ea71e852cc9665a5a59546a9e4001410800581f02fea2003187f4fe88c2535d75706797e29b0577eaaf097401f03dcde2284a54b9d999773dde1029c2d9b788ca1dd002d93df25100581f020861ab8f17be604bb5fee5af4b647d72154aa971664cbb3798714604a02054d6437521a5c8c868f818398ad64b1db0bce604c900581f02b70b5aa5c2168123fb809e6080cb11f215c63d60c620d333f9e5263d53425482ebfcfe1b900d4199a56a117df04c84733391d5037b918f1a40c354d6ee57afd76e3b24125264e0b11f8ea7ce258fd875508ce4960317ac7d996d125bcca569aacb643ecd01e14ee1bec0b893510ce304432af1b63e00581f037da2a61f3d63f1ff6cd13627c289cf15a6e8ce312ab91403462bbd690ec05820031c1d4eeee2353a182d36abdbc73f8d36e60f65c98d3aefff0138ce20ec40f700581f0321f7d755063a449ae55f42dc4b10a6a8904508ef0272f90cff80514d5410549b86c43f57536cbc1fd9d393ca3cf92a30c3dd8f00581f0322c60be25e9a4300302fa2cab96bc6f845e3dd3ae2fe8b91efe701cbb040546ed02e84c57f9732f6e8a38d58e0e18709cdf4db00581f03238f68dd262b62bc813e603921290165095ee0b39c2dc1c0ffb447465230542af8901ef369d1029160a3e4f48118535830dc2d0219520400581f02d857a3e5036b76987c9aa21314a7996527d25ed3cc7fb712b8ae3c709151548776e3d30f55c82fb1a8fba892f211db1591f34b039f0c74bdb521d251cd38d1f9210f7564f3c363bcf325902b40479986eea8aeec00581f02286622b92afb436b6f74ec00a973e98b6833d24402342473679b5e9aee785480f5116765253a8c8fbefb720356ca255e84b29b0219fed903c41940a0c08e7c2d5c89f6770eb96f2e39cb2c59bead82a291f98c0b78495991038d3be8911f6d72149f7465aa166f641762032fa0c5a365b5e5067762e7a959c503f76383a36a8904577577b115bccb4b4ee616c5207e9ac9dde7c16bc7e62c3af903a4f6e8af6316b58167b216f3813dfa6cce67978cb5393c29ea5370329fdf3b2f03d1916f7375e929e0809fe941643b78aae43033357dc13f09664c6977ceaf2f7d00581f02288e61258a6e012790dcba81bf9174a5fa5b2a093f5f23f62c1049bdb374545cde4d01fff5bc906ec330e17e641ffd8882b5f200581f025e35f00c8f0cd1d92dc4b6fa59e0fa37fb29897bf4677ffafd7007e47fde5442ecb8880b841ff59a07ec51e3d918256c65af8800581f02ea02f9bd22a4ff0a27f0876e231453a32fe6177e1bf5e2bada7f314e1a4354aaf1841d816b95cc1b3f5ea0f366e4b8340fde2300581f02a4aced4282eeea208f78c20cd7567858573f9010c89e652f16f56ceb903254d184923d6b3fa646fd093f5ea32f3c620edfe9a503cbf488ebc0bd5b8bcb2dbf9a4a14098acf9517ba7925f160235892a5e25c94b300581f02ebe9483177d30773d5092e0b166f8da6ceac55ee3414a865b3a5092116d154eba1891a6228ba59e09e5118a76abde35fcbc8b603f792da4e372ce1896b732aeeb3c9be2dba0e5a4a4beee75507b5a8fc0534890401410c00581f02443587e107ab1404fe50d9f7dc8cbb1c4bcdc5bdb24606a4594ee288f31254590d5e2d152aeae4b7003908b8993afac326edbc00581f033eba94847e9f9df18ce1dafb21e97f4dff0ebfe3a3ce825a0f4fb245a03054526eec0645a93da3f215d4c3ac78c161820f790a00581f039fa1fb1d6ab27bca482540c6cb8749b704600d1a9f345d63293620fb0b20541aa1eae4b46d7b8ebc185e0334a44faef4b772ab00581f035ed592b5d1d9a2b464be7d91c0355a10696db78d6fb19974e72f744f8840549e4b9fe607ebd34e1b204649dcd048df8ba8c8f000581f03fc7040dfcbef51984312854a9ee19ae1375790c9009e2113cad7ca73334054df9c117cad37f2ed8c99e36a40317d8cc340d4a002194a20038267ff7187104da55eb59ef70d964f07f288f3a3d8a16c8cd24d37f7a4a9ea9b00581f029a1bf64e3dd72da4cc9290f4f8a446227aaa6fc71ff5fd073a84055d009454182a36ad47ea21d96d864080b7baceda7ce44019038cc151c708adf8bcd3b5dd57802c5df2e1a27eae3fda915aa252280dc221e9b1031f5ee2e3c901dd02fec07848e90266048ad9b2ea87ef3c71da6270fcd49346e203b671b4c848188769f80501c6710e5401e77e8857f71b25160a924becda7a01640219ddff0219ffff034cf5bbcd13f2206272f3c722fd7f7db270ca1a292fc6caf0b079a60b7a270df403d18c38ad442ce593197386685fa44f9eed8253a7e3abc8f690242ffc1d4960cd034aa27b9fa97bd40909a240e6a0d7953d73ef0864802c45f4b04fb60a324df41d03b726f1676e922a6ceedd882fb0945d1e1ede8e6e859790e5f3e66141291d50b6031b1cfdc8bcf20df3161089086035081cc3d7f50091ddc958d4d5449bb1e9b24a03821bb8a4f46fa05c74a63e58e273b4849eb28e35ed581d47f7248c965246ee7f03f8cc0b14aae267ceb9c4cfa916e57215afaa68b069167e7ee992ae90311a855d031959143e73b9330a66a2f9334a6e2ea340242502dfda9e47f9692757cefe190603a36232a0fc4ede971d6f718903d579e74f72f4c1105cfc40509593fadbd8f89103593e1441f839cf2bd14c0eefd214daf2d4ae5d55ceb375daee352bedc8c6ed9a00581f0239f0f7ce0fd3829f4c1359a559207653705a9be1a1e62844fece85fdbeb454383f42b5de515c564641f65f5da3bd8b4a35b4b4032b90cf1634e5b5af927e7490028f56171ca96f5e12056104c5e24680ab3858bc03c62fe633a20a007f34a32608d0ac8bdc1787644fb2704cb38717adc09a0adf0703c1b04a0d4fac02c528875dc01696bab363bbe0f5ef34323840770cb6a6414da5035cc4e6ec2afe534d4bbb935b3e27d14e3073f6ef94be16ded85780407fd7de8700581f0280f1febf122b28a7961525e93be47890b8b839544c11cd88015fc1abe352544cc0b3e6f13a91b7c96a20d5b2451ee31d92e37d03c66fcc22cedeacac2a19e83418d1092156106a259d03de4eaa552af63c9daf3003faea9ecdc0b774849927940876af1c4225ca3d4dbce7411ef203174716dcf76a03514bdd652a0ce101943882211597205e6fbd129275bb3f22d635647223d1821e03bbc956dd53566cd30777492a0f728bae5192e807360d68283b1ca628e1dfec4e00581f03afe316a57160c5c05530d51bcd401999f47c5aa85b0934930f2a6c76cc40410100581f035d31a480d4d0b56b79810ca924f4076ddc7a0a047ae9b4ece1d0090fd73054e7ad127e1683deabd6512a3ede9142bedd8f9a440218840219df370378dc9c6f8896a16ad8efeb557a933b109be60b1a40ae425c37f667368a53fe9703d027a55cf518f361df9ab2363886a11983a8b6f802add83ace7f75c55e396e08031c4f6afa9e6546c430eba8f2d7a281299a836a507d8081a1751bab3a02071e9403b065b5da5f01d57a592793ea103e87a5a1c86beb27a674b435e87a0d9eea8bb9031c7f975593887481fa2499dbaf6b0e5b053adcebaa4da9c9e3d8c6bda666714b0337f3e01518f9e8f609dcc01d8b1a1da6080034f07db3761a9e0d65f78f017ea603a588434851fc7a7618b7b32a6ae343b4ffcb02a0a2a8cb4dc4dd415f44ed699b036266c06a80574dd9aa9c1ddf08355fa4184f8414681250ba575b34c9938efede03310a8e7b9d0165ab8aafd357245fb4d9ac1b5b467d05a534d8f3ccacfeff240103dc35ca74bba882e997822243e442a08c832061cf1042484d45ccd98ff7de306503f2ade1bb582c9f0cafd59247c3525331dedfd2cefb7083ab32a1bdb78386a4850219ffff031eb7eeeba22135057256dd7fca07bd8bddbe82e054be3dbd0ec957c92de68f9c030c80d8cb6a9fa31c552861a49b98b1a27b7f928b299bfee7e0381797e26547400343c77a77a25e61e7d3ea3be67fc04c7b7ada52a8fe5ca29c04212a5360fbd768032c4ac1743be1b33c4ab9b4a6cc38d27e16b32a49afe6dc245fbc32a6ade4b2350219ffff0309e39e5f1efd36dce29c3278dd6ce774cb40384653e15f69e998097954fd95270390caa156b7b38970f61aa5de1042290651bc97bc39039d6ae77d6e58faf82d7503d44f8fbe68196855ca8a51c3fe923ddc8e2411b332ad82f4f65ce9580ca0b053037b0d93a5028474cbc73a1f7b683b6d0cd3cb579ab781dbdf9db3b3c0cc1d9a740375c9dbe2a2de6cb34402b7229ae176b6e8a4f057c37c946e45c2ab6c347ded6c03521d52e6fca5067254d8dc38c7b46f6a2222628e469e8128cd148ed0eecc49410339ebec7b288218968d9f8be1221a398584c5498ba2d2fdccfe577d7745f0d6bc03a4eb2e8f8db5e24d313e9a2b4032fed18a02794035d0064e5eee1bee0a42e093037bc3ae09d6849c7398a2fcf3605fe98b54fd162ed1a02caf48998c4f02c5d80a03588f44ae414535f6a7d863c026d03d7b1e4786ae38c45bdb1e87927f82cf5c8e033d71c1c35ef4a3285c1fba99ab54cd46ae7b2864ffcb99426fd1dad91b6fc5f403f4fae15145cbb37fdd13e503ac79155d50b4157cbe6461c27f834bce33b6f1950304b29c7e0f8e16afda73152e938934606ac801c6d2f970d475e033f04d0efeed00581f0289c01e3d0940358e1e7e552d876f791d567aaab302e69cce7f51aa094f86549af8a033f02ec1368d6c30e2f72c8c1098e55437033ef5bb75dc5b608301954d2923fe824b0d073792d4dda5f86aa9ecd1f211e70700581f03d52236e3287b48b58bf00588283b33e4d3831c7dc3fd32ddc4741059ba605478465d875068f9881daafef6cc9dab18cb6a7a9500581f0301601b379f6a9f29013e4f521d1d0e47770d33392e0a22f89dcc49e98040582006f2158c62e7852b3d1dfb5ecc835764ed064dac30815603d84884b2cc1fdc4202190810031d4882beb0ddb9e7a6a95c3b0ce8c2f6b05a841d277d7fd06d78f04a5ab98d010397672b83921ec0227682463449a13d83bcc8a567fb5d784e281ca59865a9595603a739a495a56acd87888fec94f30bd50548300966bace49ec44fe255493ecddbd034165ea36eb0f76b50073597e9216ba82bac953e43224ab9a4c421e6c6c15995c00581f02f92218f44f81100f9a8e2c9b04f3fd3232a4ecd6261d7c2c6c82f3b3ab2454491502882eaca86168336a33a2aa06de909650ea038e30273dc5e2284fee76a87133de43168dfc1d8467496650b8e5a21d8fc71f1503a4325ba7e52d22795db44fba5ec043b10bb4c6bab6c74eadaaa49221b78bc21200581f025f8c500e00ca93e69224f4f5c93000d7be8da88e574d2dca3918130442d0546a7b1e9315d336694cfb63c7226cd671cd29d3f103a8d1d63989152faf34542c1a00048c3310c3d6d4f29253a6a88982305376431700581f0218e4fe52307d3910284b19f330dc4cd35beec693f38b3af4f0454faaa2cc5435d4e913f3dce5b81aa5f26e0661b20e88dd1ea70317992205948d4c395acba23321ecf7a977ff7089dece2a50c9a7089b8cd750010351ba9baa3fad112c46f04f3042bacc166c60d38524ad5710e6b7bcfbac59181e0219efff0312c451506f1a828951a6674549fb8ad35c70bb688ceac6d67f57bceefaa99c2903c164e1e1e56d269f70486419a3bdc2c395e921bb09e24dd0232984e455b24d420342228f245cce30c3dd7512611570f9e5d23092c95b72e8c198338c52405adca30219ffff0310072af76718fe58f90a2317d175da83ee9fd7eafe5f71b180b49afbe9cb6258035a91dfb6574dbc6fc5e074d1efec6cffa96253fdb0993efcd05d192b0ea0dcc2032a7ffefa7b493c72be2a057e8c032007fb9d03316539b328b4e35864a481d5d300581f02b0fd2ccf326dda60a8f9a12ab5a1c2b3cbe982d7a54f07f2cdf7e174a75e545b1e67ee1729834389d3170d694293968f07451403194a53d0d4bb07f90279041d6454705f6029e4f0b3e91f238d1eaaf184e3dd4900581f02c4f1856afb64ae990c533d40e4a24aefc1df8649f1125ffc4423b7c822945820053e504edbeadb9aa5b36fa7c6b0e2d2998849b4752869511cac2f9387e6c6e703c634a924d81b6a86064d7ce2f7c5e04b26b089d1667dcb73b888864ca086cf8801410103f3e87fea1e75847b1053fcc6de98d73cf7d16178097b9570e8056d630d2dfba70353c01acb82d4eda06ffa33974f6d1f90b02ee56c4e24e69908215899c416255e00581f028338a3194c7e6af1cd29092236aa444446664dd046cc4b68cfca079a7c8b54084bd02d4dfb5af7f9d487a60682378b057d36bb03b9a158e4407d3efc93955214a1920a0357ae65fe31bb0e354f19d9f3eeb90c1e03a25466a0ab4a889b2427de4639b246841db6e64d479d00ba4761df8830e9a38900581f02d48d238c779d0500805d15b3f1618871427f10eab1538f180539cd10d0f05483a9f3bd34fcf7bccf4eb030dc5245f2a4e0fad300581f0290f091778a64c7afafcb2053ae89b377f8118dfca93741ba9ce9c56a1ba454f8fa528d0703f37b3bdc1fedb612fbc83c00eb1d0219ff770399a5cd274b56c35c28f48d425f422a56a0fe802a55b47f35be79cab70ad9c0df03c6bf5ee8dd6da35c3c2cbc735b2230345eef890fb1eaa94e6278a26e47268f5f03b8ab8a5f71aa4007cbe97bbac8e15613b0e09844be220252582beb2a57fe40800373313bbe915f53005a28b4dc82b78b0385376240fe08b6f6f819803e5fb7d6d1039a9e85e944d0189bdc58575b9223a352e62c2c8aa6acc9d5a9872134683442ea03ffb5cf9d72cdf2db4a816824647fc89eaa4fb16854fa8d3608958a74bf2cd7cf03f63522e5eb950793f85b597c42dfd83377b12a9d42dfd30ec28ca42a82b1762503a9d777b903aef06693f3d4d0ab115d2214647d6bfa1d46a0de1f66ba45f7370d0313019b686c7d9524388ef2d41c2500327b1a1168f5cf22161c07bb21692bd0780328189f7ff4dd9698ffd09e09c3388209dec633d7b72d31d5463b0fe8aab506ef03e3dc55815f63267ef22493879493acab743fb7dbc0350d3a5c7f94d337ba160303b27fb041c52f52f57cbc2458bf0a143e349a07927f8be31949add944236967c003c6f3d7e53ce8ab768c7873d788cdb44a6051bfa53cfb8bb45ccdcea5d140ec3e0341858e2f58cc24c2701c058370b34c341b93405d562bbbebdf477f2bcc44958003ffc58be00abfe8127932c894201226421f76af91949fbd122c7e4b513e2749ad0219ffff0372cb36a3f9fa5971a3728ee55e81d8a44ba8e849dd60634513b5744200cce993037a660d3bf183b3699ddefd3cdb09f23064a5bc46775055a095f0b1a65ed85ab0036f8efcbb7fc74a29923128951d2f6851d3912a190d7f41473e8e00af00a3f98b0301c9718b2694d7a4c7d662a19452b1b5b8fd8944f48e0e4643c8fba5d841e42f0349f8e7451c2da783fdb6fba16e04ef764a96c744a3f9bc06720f20b7c3932f6203c0511a6cdb325901db5a97d571998f5c10afc62fa2fd82b205ef200d5d3772730332944306c0eb833725ddf55faf3b438a066310d1ebb4cb74692d63f8547d953e03c5f77f31cd4c4d49d174e5cccf7db0f6a9febfb62e9f16729a2413d616a05d99030c4380d917a8d4060665def074717b7092e145542b8327f2388f35006dfb0fb403ec03614ffa52022ff5776424072bd8822aecbae9387df114dd75e57e4092f0c8030d97db668799edf1adef12a5dbb5158ecf49dc398c72825898e01e02cfc0b8d403d1c398d5e57cc460c0d8c222da13392678d7af98d9692322324279a5dfdbb4800304a6e8bed971dc69a6ab89e63ac15d8ba660bea39a5166568d595644c46e9c8103ee52be8700d24ec73e8c869b937a5074f44faf62bcabf3c7fdf4e7ff69f88cf803ea62c9d2619cb1fff263af3ed93757cdc2863746e3a06422052beb347685c6f50336d1f2b880b591deba668b561806c8422a421167da1d4baf4c9f4798d082b34700581f02d56c0874dd17ab18d2926ad86860504561f70f03097a2872093f6854c79d5454977f13559cb03e663e5dda2ea5e18bdd5ee98e00581f03f1d50526fb3f762a956936ccfece425696250c519faf659301c0dd8dfe60582001e9e172262048239b36c62b05d193b600db09bf61b49553d1939c748dc4252200581f03a6b0d8791a2f607dca65ba003824522766dcadd9452874bac93074c4dcd054b7eab586977d2e8e1d4aef5e1c2203c893cd09010219801003188c8226c2e416126b85db63480881e78593e113fe56ebfd302223afa6efbf500360333e673f7eab0669e5bdab5e521f84a40a1cc335f5711883272d76aba11c6200581f02262ba0a98d68f52aea10fd435819bfba9ba60aa94ce2bab68419e99852a1549a560c3cebb3a8c0f28efcc43f4d12e942f4eed700581f02107b26a8a010d7a19603d7040c736b8f4cc276adee29e61f3d79998ba7a254432461e992085f5d4d970fb0a8be85cde4a32b620302132ea80430e48f63e78e4674987fec0953fdf8931da4139268cdca352c9f0403a8f3d56917a4e4ec81944793b28c89192c9fa28188f757962b99a9b2af566f3803ccb519c0285a48ada9676f37c09f18ac241758efce243046ebaf4371ea0de8250391ecd13140fe47529bc4315265d9ba9f5b2743720878c67587ac9306efc375d303d7b7e00350ac9a0c5c27794b0a6f446c41facab9fe844a930a2a672afbb40ddd01410003cf1b6f79ff6512f1f18c317f2c04d024e2dc59ef4e0f2e6205a56dd6d95ae7dc00581f02696b2ac57dc937427d4f283ff1ba669f5751e6da7233375b907d53932a9754fba31dfa3c6612abca9a27f65af77d9fed7e2db700581f02b8adae1b31eba112b1838d5caf0a7baf93de68362a47e4fe5b0e843361115404dbf1dfbd438965b1b1d8ecc4265a2a0e53c1c803ab2d6489018fd119776a3b411f6b9f48afedc700f10efa5700880aa0f310088d0219fff70308fe58a45f7ac158496f88e40c64bd4dbbaf110a8578ad41e4892591cb65f38b03d6c817c1e707b28b80cbd064f4b6baaf031a104c6f65c8f5b8194339823eeddb0303d8b80bdd063152d052a39462830c797d3aaf206b92dd25210712052763a278034f98ec2c286bb56e90e443b935f55ef02c7eb959424239265be342fbfb75f5e10396969afe0ae9ad89df197cc3ee98d957b5df6e51c1c60d908787f81aca8e9cda03f609895282a426b0252a20d83b218d1f6262e4ae7bd14238db1c2742a9cc5ade034246f933db91a18e7748921b47118a2ad2ae429589d148bbb32244d68bd15607034327dcaf43e3a1aea2dd3940fd829c45b7b061649db444ee92c7e2ef08e5c72c03e16d28115c7a65ce2941d77d81985c40fa9514248b51414b8b0cac561d5bec2e03de2583fb47ac9b8e1713351c43e026dfc754c970d59d38c66cea7161466e721b0219ffff03e2142d7a24fe9d1ff2b0897c3a6963162503d7c0c23076d98f06bde7728ffc260219ffff039403c284cdb36e0ca8c2c79767e4aa47b5369a8dd2fac9a7c39d405cbb974e6903e2814839328c11560ec0a52498b752952c7fe8ad4a4274fae1697ad53b0518820376835402a9774a61fe37f91818fe915ac36327569021fa8b1685eda2f0c8ecd603d8d98a950f62fcb8b5793ab17678854f2428c4a658b448543ed0a6d7ed1b413403d9874379eabdfed2ebb878f3eb2c7c8c7e467f98026558d018b6f029c33bb1b803c303f7d4e2a7d995e4e22ce63e8c9e0de5be479661066ea0bb4e4d1928cdab6c0330113b76ba8452063abd8132951b64fe4dc69124ee7466bc62461313954d67ac0385950b70597a285f53a76d04ea06fd93700cdb5afa4746eaf4f7e0e63a4e67c403ec49c6f926e70225aafce2ef0def283e88d7ad15afd2a614b8d2a12102fbf39b033c5f7456e7617138bc8452cf9d3512ac8f05bf075543d10f9f065423c48e9d06039099d2b9fbafac7c1a01e7362f1e2fc5ba977bd8cd69349d0f9247c0c192544303351aec5fcae7aa4dcc41f3ca85c3c2a8aa5b4803721459d4c4aab8d8898f04ff00581f033c1f90ef9e730a5b6700313f2eb9ccfde5343ed5d4d9ef777582694f4320582002c1bf7893cd6b93323a8fcd9734dc6cebffebc3514c08046092ee17be3b28e300581f0364b619e1adb03f8e378a2c18af7bef840c9853475cb765c4e291a053897054404c75374e8bfda4ada5cb1d07d29928bc31b28000581f030ed45fea374d5c59af673ee0540aaa36a8ae69d584b81928e6666b5d4ef054fe09f42645db70788f5e21e1a2a4fddb715de4540219054000581f02cf3abfdb251c564e6d6d02021e60b1a168e95004bd43f41a002da8af2db254a6a0aee2ee8d27072492b07ac62f917c13cf76d403820d8cf0981655aa58116b6202654268728b55058c6556612f4fd13f69c3b07c03e3bf8f7708d563366e214003948caad950664e0699fae3cb0810d13fac13cc9c0394e3b0f8700098fd623ab988155bbd65004ab318b8b47cd206e50ecaab044f0200581f02a429b76eb8cf186767059d27b77642a4ba933852028f848e250ee706e51e54a92f2d20d8e5062741c4bc8becb4fb0a3cb59f8a039417a4e38498cbf3f0df7f9d8fd9a61855b56dd363d6de2c9551b4047e2ff2810366f2be265b4c5e9ad9377c85cde9e341f6d94abdfa2651b6064577bc09f69fde03817672335abfa8acc5345ed3706264c557ee049c30c711a2d17a9d20b227e1d6036a42764c0ec6edf2fb4a4d4203a2adc763b0c115a04cd636d843e8b28c56720a00581f026e057093799e1ac8b24418309bbdb588592fa6694d37ace53ebaaf2db6da546e5bcb29acd3665b3c74f738c22f75a70304045600581f02425b7f29f6245006834f5a1535aa4629073efd421b7b94f3f85d72d8f7c9543ce8d8d070141f1b2da5f67cd61a21ee6cee01a70333c036a580fb49ac07b2fff54d2d391e72cc455d94267ae337d86e5fc317c99502197ff303510f8119cf8dfd5c41b3c0ebc29c3aa6f2f4d324d907bef80b46278d0a7ad19003aefac6878d33be448f74900889107b13a913eaecfbc5e83ec4238445af394a7303169787a268e705c3f64c32cb99b0bc9a5c6a3fe6fa05c6d4e773ab500b5891ae0219ffff03ff3a60d22411e9ce78b264fb6401552428579abcfc1bb4fdc0d476278c2ed11b0343d04e4ca17fafa5af0919e904083c9c5f242e39a68ef9b8afa33f36b7debfed00581f03b239dd0ec012407e11898789b6e16b35ee7496aabf6fd583b1085777d260540558044fbcb67cde7c80e4806fbb381f8cb08a4500581f03ead27bdd1948c7048476555443ec10405b0bfbbb9c640e83ae8162a5d720582006ec4d9565d639de4e4722c5ce1bdd584693a98b71a194c91646b88242d747ec0219010100581f0222da6083f3ba6aec516d9884999bf07b991cf4f5e9eaa5827fad4222f498548f02c1f2d6030e6d5d0e3d788eb77bde49e52b7203b3702b08accbfe402922c048d166e6bf1ec6d7ad72db7dc0b145e08510b7121903d8d21ddeb3ca2fbcf76eabcc799c6f552bd060ebbccf1085d16b5c1da69d7935034257427ff406762b59d1ec3b77472513f886c0a91c93fa706099cc2f53b1be8003e3dddf958a995a9e0656711846d61f64a6bf456df0d948935fbf8bb0fd568d7b00581f028806a5d601a8d7ce6ee99dd5a92106c424e32dc05994e045b9487be7630154e417c9e2011b8b6ae1c56673a84e5e8478301da2039f2785bc26583952e0a9671138cc47f8218c8a8fff70127190428dc4e93358f900581f02dc22a0340253cb48dfc4ebe230de22db8884e9c1341cbad5d1c0a7b4ab7a5493853a2a05d01e3e64a3c18e1cd413b376215c1b00581f020ba9e0a95d05201967c8ee3d75360a64a770b138819c5afa6ae2d10ce2bd54f4011ba9dbd2f4ea4c66552d43ac7c762e49995800581f02f32e00ce5175ccd37f0c22603ee5307769520d7a6da03ce42001e47dac2d54f50548eaf53df40f147bfb874c741c65d2aae920036614ca7465ff192445a5ec3e097c83b6ac1d97a45b0a4297769029c0aa5de6b1033045fc1d1a7447b6616af8f7f07cb98450f3823515f1e788958e5d879c6de55201410102193dff03f47174073ef23289dbcda3ad039cca3e7ce3c200e655c72986fef3f96ed03b9503b976eca11eb2480f449eeb73d2953b96bda88f3f70517e68f6914a2d2abf908803c0cce41660ee0f5ad2817cf2ab52984f2461d8e85b997b829a75767fe985bceb0366b09069d80af661da76234e085c9169546391ed3fcd3543564bcac7a065452b03923e27548226ef3c42cf96b8db44ad95b84f187f0ce1fbb319768354a3a01cef03de1fd69f46ec5258f93c44e8d86a0c00c80f575a7fc49378177b477886ada2300395e88fe6cf2ef09dad77b71a54fab737b9454979b90f633f31f974b51ab441e5035fc6d689d49bca8afd76847167db92f7271c8bfb1b91e0909db1aa2a796de59a03d3677f1d394a7ccf7116e63160207db761b517c322e76efa0d282bad399afa6703886c7191dcf07de6657575a26c36a5c1bc9a8de060eef737d3cad6be98db900b032ef6874cd4b8e9950524d60e113a7dcb29e2d542220c630c886fa233f277931c03566e84c13f26c32a61e71f7d2b00f3d636883d7621451a7636473d167a3a554a03247bfe23a4887e079f44df47dd234f2e16859d0787f1c1375ef2896fd052cab80368a1f90921175d2b3ebef214b4bbddcd0aa481a588badcf93c173189e0f007bb0219ffff034fbc82627c5ee6e451dd16809d20f98bc8612982c66b54e57d45ae8f89ce450603eb40fe3fc44a84d1caabdc02d0c1b8c4965d1ee51b57a4f80159f89c17fb6656035db86e2aa30caa8ffb73ecfdbbf0e0e33ec76fd1c43396759f2d4ee9c6f4faff03988437717a5fc12171fdaa188556f13c89d4187415841594119bab24ab001bdd0340c9c2c04b90bc43225a3d1119b66ea1180a498c8634f91fa56de2a8829592f803edf22e8ad2fca3595c9d83eecd8a51d804413ff08d08598cd01b31c55a81057403f8d7b95aa8969f7bbc9ee36d49ce8b34a861342623049909ad4cdfdd297989920360e2f8b69781885ad088fee39a7cffe4979195f6a4f3120fb493f98b240c90ca033dd365c155a5bf7c4510beaa990d0a8bdf0a649dd5c661e1b0340681076250ca031b9f0d26afd32f11e2ab2b385de294404d15c5623c26b8b3a4f919c5f8fae6d803f5546c8f1100dc867fe7f1e882b0c04c52e2363d6d3887b2507915bf273da57103302509a31273ced07cde3f64d3fd2a4cd02d4583ff5b29bd4d989dbbaebbc34403350802dc96b99324f49e0a85ee87e09b1268c220686be9c4322b23b534ee8cba00581f028031d8cb7bad475a0c20f9fef8f9c3e18836225cf36bb0c71ccfb3867d4f54da38aff9d34ff382f12a1de111a10491566b987600581f02375669b03c5419cf96b0b8bbc9bfa091fb8dc69fcd21a98dc3797081539b548f27df96c15f6d4370de35a0cc8a059d3719e1e600581f02d976b17fe785c58bb733c7b03b33aa2ebcddae1f13931c72375744e42b2354ae74c57f5ffffc7e101cd8e6baaabd3e8440df2503cb04b09a007b2262ae5a99c62ca35712eb870d3f2236c801efef9efc7dd0970200581f029be29fce56a78b3271892d8cacf60efc8aa9f3b3796d00c4a9ec6a246893542d8e50e55e4aa5c9c022cfd842b9db5f9e1d3fb403dcc0e33b61b4ac3feed6f930dccd29a9078d14671c4c5da8f1097ee8fe9eb9a503115d80669fc2b45d0c3ea649654f7df6a13e8bca6d402d95f7f3a52047c6867700581e02d77be0a4ae876cbe7e5578d2fc326cd3e67de5e1e0d6c5cf78ed1b033854697410271c65ba1eddef1e6f8ff077cffe07002d00581e02341b7648e997b07652c1f7814a028276a333e7af597d412311023ea0305820014b8c123616fb4ee47ceb9d003e5e17be5b6baf90f0de24c2fbfa0236ceb25802184201410200581f02ec060e88eba410156594541128d656d786ca5ea6d0c439ff2651fe6e3bdc54d73a9539b59f077be4746c046f2d86d1e636906b03f4cc4c2918b62fd8e5daf457778984deaf107b07152592548c60d873852fe73f036c38059bfb584f1a0ebf456a518a5f25fe2401697b5adac46313d3817366f3570328b448d4fa1734c11ff414a19cd259873faa9289368771880b8088df4298766c02195fed031e53673962744173fd40d9ec473a3c895bdc4e760188d886aa7de69963642f550366e1321c0a7d0f7381d32126eb9e58c38694b69e3258acef8391437a7cfe003e038eb723b4ac85c86170437a9860439143e829470750e7f6b4e1d7c019da15517a03c9e9e3ac4b27d62e906a6f6acb6535ea9ea15daed8352dc539fbf07a7d226db1030daaacca7c2e1bb107d2574f57cf8afe180939ecc6f8ccf73c56d7fd1646a46103ef34f1128d072b7d4b12fb580784aa73939775515bc131e84035ad21328ed67d03dc2550d3aa93f9e253b173a0d68ca73758a5f35a8b904a49744a0acf625e59c20219ffff03b1c1ff177c0fb0ea118de1f27d1e3a5acc0cc28f3e570581dd878857a996e2b2037c78c7cdc2d7626be6ae883d0af52dfe82cb283ff8fe9f96c9520b5762fa654203ca7acd34b1fd9bb6c8d6cf2328908ed0452a61dcd30c79db42c0c2fb24462855031d1df750e684b00e1bb62bec2a668c396aa41d72a293c60ba22a33135022aff7035151c6b2012ef701e0f674eeb8d080b9fe6fa1615b0a04576baff104aac0359703b94caf71eec48d35eced57547be61f125c69f8238eccc6b33ade9397d336cf4a03c649361243a229afe7289e9dba0ed8cd315b2031b92ea884f5ee4906cd50cee20311bdac8d090db86a6ad3fd4b351e7b566df26dd5a2dc0f0942aaa967dfbdf16a0319b20a14945eda9d64a166d083e99ca32d3380b247ee190faa09b4b0108dfeff034e38169697586a2cbc33cc2562ca310b8888a1217251f0f4a4ca0492a27a3faa0368b44145e87ca07d3bd35568bd890ed89a68c3d8eda1ba15fe23f9fc33cffa8100581f02da9b8604064e7ec58d7e201190ba77ed15c2b253b179c25d1a8192898d5454330c3fbaa587a31651805525dd439abedbc5730c039ee5072a3d8f7e361b79c1855dbd8a6f96326a243e485f526d45067e24cc397103e2b34c399b510a2aede28837584314efbde8e0b6b94295d94aec7f3143b0033300581f0231b87363e6278792e09710e983d48f5f18d8c238668661a454f10cf00138541e29ea8dbeb92219e6ca9fa0c2e460bde695062100581f02bc416b73ab05b2286ddcc95de1e8409facab2d9f795e9954d42e7f92954954ba4cc2ab882746bf058e148e53e860d7e075622000581f0222e94d8896ce066e1d8cded3ba55b7b36698bb460be0542ba79f18091f6854540ff3dedc168f0f096e400a491a568fec6f91490317e6e1b892dbaf36b74a1ed1f5c64ea70058ad891219784f569f1dfce76a3abe03f72da1eab742ed9f044ff476852c08ee6215b1cbcf8199f56d7539d6b7f0686000581f02e4eb0004e6f554e8f4a7fbdccb0a9434c471fb9f4b5780ad31bd908f6e8454c5648074a5b0f7836b6a7c285f51762fabc04e2903fc6c0bbda193b2a666bc9ad37e7ae38be6b8ff9a5af473d38426e1e31a93e13c03a86a0c580a5f33639b436b7b4663758c5d7612019b30f103667c5eb1573d4ec403b4919b83e01da9dd8a8e8d9a5c22beccef940baec993d3d355f2e2a0c73df2f6034d2fad15b81858955ea1786b27924ce526e485ea2cdfa77f27cfdf508019815700581f02b305c7510b1eec9c02ace2b45f5d7957ecd0c0ac13ccb2b1aa268d3f85e8547a3ce3cbd66e85ffc20e6ae219461c3f300fc8ce00581f0310f914be914131013a09780ef96d87084f00ac984708689b788fa356bc0054b2b97980649f0ad167a6ebd6262ca478724e58f800581f03e744ed7f642fe7d39032fa90fdb1b5d3f606e6a0e5191f522748d127acb05476ab4d2fc948959d4ea412e62e6be45fad80724800581f033daa46f2ae242b0a32c6a7c435e4720d1ed7956e8fb0fba98bb6325af20054778002c539d8b0a94522983776fbc1aa37df836a00581f033524d4170b9ffa47d19f9bf774f9be9bd3d83ae75fd5fb323a7bfd5a9a2054eada4edf443defe2719245357c2c0d1a3c62869200581f03d6f34723d1390f069fb9c1d60f3ccfbed680694a42acfa981563fc80bac045174b5b48f400581f036f6052e6942796fd3e2c0bc75c134dcb6ec0fd4ff3a8ea8149e582e933b054500d54fb8a12665d23aa688a5299867fc1dd89c70219b1840219ff7f034e9ef67677110f355be4450be0d3c2980436817f8b516eea2540c19fb7c995af03e2404f081e4b72e8a1eabc7fac86e2b76fe9e1cd664203bc43c097b8a47d49aa03ddc4304874e81f4809f443458b593d10e976b3de05685a62540345b189e0439c03202a29bbdfd2b0e2ee74d83ccd7218bf72a63cad6e96a61e527a0d5851bc785d032556411ffff79f0f19348f63412cb26787f05cd1a48110b65c5fca303a138f9b0219ffff030b955f148c2ef738331111786b27756d06d416a838caba21e2b5b34fe1d8a4790394eeca390deee9fb476d060444c2ecdb8a38a3f9c8d9c42da022c693274468390344538685268a85937a6c9a6ba228e2ae763c0b6aff6dbc8806d3a28d5927bc8b03b96437d6c77113590e86c53047d60de134b1f6bf5f69fc94605730c4825861eb036f5878e30ebc91ae406d086265a6c5531cc9f2e7aec7855b337108a061ac753e0360cd82dadc511261ca93eeb09de1aae01409e7a916add5c2ae879d0666db0eb3033544c08e660d8989dee236276547c904ed86d7f8acf25754f7b3e34a1ba712a100581f0268949d2a1308b0319371488807e87180e8060fcb740e00513af6ad8ef1c954702bcfd1c220d1569d5bba49253629d689e7cec600581f024592bbc44969f07c27bf23fc49b7917136955973698996d1af5f86a8b67754b04180e0d414e51e7a775944f1a6ba20bf955fb003c3850697b95cda556667661d4cfbc140f7f78d4017a55b2c6d72323ead983e5b00581f037e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f0425d6c032b81d73020a7257d4f6659add91a2dacdb726b18b32e176ea67b298e95a60a34021901010391dc5b0b55e0e49dd6e51b07b878c757a4f961259b2802692d13572f02f5a18003e7202b643b07802c945794ffd3a5bb654c51dc5e65499b9e3d85cbe60f1fe5d90324eb5d41d9ea1c61be7cf1da6c0cfaba2b5efeabb98d7395125f84f62d8263b600581f02e496a612713aa8b65e8541f58a41c582552f3a19e811c2f15dc23d363a9d541ac754b3c27fe83fe61fabdcf2233f533a51339003cefd509d6e6b9c9bf7b443cd9e1ce4acb432906d3e50c0e6b5dd1f7e128730ca034ed27b5f221aedf8834523dfd11f76f4db3c11083b769ad64d11dfb6fe021d3003e98099beb356305ec180205a494c67f3b5801cb153ca95fe356044999c10165400581f02e401d69261e5391bd7fddf32e9892ed3e83d105e81d4264284e2eec328a154b8a06153492572706e1d5eb697c8c2c93432746f036c12ad1d90dc33e98d11eea23eee5dbd51bebd0054d8998c95557c3caf8199860376aa7f93b5902ab5d596d5e5ab57e1fc4764e95792692abc9e5d903fd886b0dc0219fbff03869eecbd62d8a694b28bec138ca66ca31b2444e67b883effc1a36961d233aea003b52030c304d98d9b951b53fb8817cf18d7256342f537f0ab5425f41c0eed96aa03fb2211bb47822e03d7afdd9745f71713427892fe15b5cbea2a0eb9fe802073e803e81cdc91cebcf6f469da3bb4a4d34d967621c532de52df99900941c6e460c84b0334589201cfecf0e2f33a58887dab4bfc8813546bca5ab2dc24fedb955d1bfc8e03d3be6781420ea2ecfe3eea78cb339854aad0af2b8a03cb3878174c6e4e3febae03e90c562bdd284c73ee5a8a6051e8e2882f61517363fcdbaccb7709ace4504f4803f644d8951d5079c51ca302d94e9cb3646c3a2e097b97e7afcf7e73c9a6196f000395a354ea4fc81009a05a0be6dbe0cc2aefb98354b8cbdcf2e230412c10a55fb203b015e1e9e389fb9dbc989c9023bbfcced13cc8562804a7c7cdb789a0657795c1031fa343c4a2606de75ad5d2cdc067c409b296a4c185962937fd18301da4e4bdc90219ffff03a0906db375198a211c4fdad0113dafe49fa43b98a7f5a84a8848b2cb97fc21f8032f0ee89ccee3fb7251f4b4cc9119cc214307d2ba83bcf4e9db4e4b4ff0a6c5730219ffff0320fd3f739e13c73146df0261ed31f6a49e4381122c90eb017ef79c4beeabf483030a0fb6c06a3a446e636ee261a147b970c3e7fd5fdffd40e8c73c2bea7d636988037ae06ba5d36be006a4aca512cafb4d2ee8f70ef9170501e5146bf2c263b9e7af03b88db22f5e76c94118b9e2b63e8ebeaed0259d9d24397ad0a1ae7aa2d6ea2940032d56475d78dd8f4a04f6fde94431444ed53b28df7a88eb20ad54b6d1bcf91d7d03508360ac71bf04d11c0ca42ff20abce1788bac9d549dff420348c1be0a0257100370cdca346c465355d79f608bb04c948d79b8ce3c6d9b9c90239bb571c6b9506b037030398a74db7ba5749bd998c3569adbd891f531faf74fee4e52f3c211c35f1703234a0e29ceae1426423db183aae323667f3ad778a4d244718cdba98bcfc41b8903e489b5ffe9551d4c937f817086a61f0a23f59fd9d2956ab661b2a93de081a9c803a3b47ce395680c88330192bfe445e2b39213646f25518762a1a0abf1e530396b03e28c49beb37f24f1ee8422730bcf56e0ecbe1e0522e2efdba3404e8111a7352f03782eeadad83bf8077ee32a0395d7544d61c9322fbc68169f92504013b04f57ba014106039432d653d95f99aa76db6d48f893fc96f3791a5a848311b7fee9af8f945dccd100581f03ebc96eaf466a5a5a02d9bc090b33e77250696c93a6cd4ba27b7aa755b8705467180f7e077497b9fc2567dd81e3eef02b0606cd00581f0379308aa6542c6e224e17de96dff70d48b9bab72712187bafba20399e6ed05820038b40a3cc927314917883295666bd170d67b008e30361ebbb2a6ef6ff499d4200581f0350eff268bd2b0182e449f7d68c80532d0fd02f585939decf046d9cd549805478b864a7bce3888460ae9793b827ce521ac0d7bf00581f03d7ff40475ee87c01aa7722621008a9083f9e6d754c88d11bd685dad556a0543019bf451d7a4fccb5b7070ce1a4d8226f8541e603dcee48e240b734cddb40cb966023613ff87470a0cf88cbef0acf426666027b8c00581f038005942b6eb55e9d2ed4316d4b8e44ddeccae8c7fa4b0e4053febab24a3054edfff561c72eac8c457c282837d44647185553550219854603a745acf3328504ade3a6d3c7dc219841fc5f1689d13fd43bb0fb7cd85d97be0b00581f023a09a805c7d562d1f3830dc3382ed38ebb692fe3360699e95fa83e5922c55461044050647a77cb3b8771ee41fcc732cd93a3a600581f020af983cd6f010cc99900b002a079880350794c73b2fb814f5f119144dea854baa32387bd55553ec806622d524b12bbb8242a19033def7bb7a51aac3d7841c7e17e19fba61fa073892080cca616a905945951b80c00581f0213096d6bbd2542110768dd7864735ce34b71947c7a0137a2f6ff2293937954dbaf59d5bfd7c831934ca888b0bfc1c63b087bae0309ac022e66f71b1ece19dc98103d9a161502dac813f3c5b8ba220cbe796e17a503c0ca071524e7d4981342189a91817c5123c1f2b737fddb61ef3a24b3dfc64fd503996b61710ad1ff54d6f34c0225b5af39c48ddde7352091ee480242d3cb8df2dc00581f027c473c72b74c75d453571ab4734e58b73f5b7da5506869a54fad9183c7cf54747443e6b2694644d89fbf76d7ee83ee124a2c5c0219feff0384993cb73c3323b20549a618238943ac0ec9e66bc0b3d1c30c2889cf06e33f4103869039671f7dca2edd2f2a56772c575fb22e05e2635c5996b150ef7edfe922c203714304f4c2739e913e10ce1b371b111871d2ffd91059ac6cf0c03d200e9e1b5b03411c2db7c93ba1140c8f0b32c729903dc8d98e25fe77f2875d137f5b39dce8ee0349712aece7b542c2a3aacb4f5a89c3bcd6c663ce3ff395335615dd295596071d034d3bb2634711a0d587c4dae039eb0a0f6d2ea9c8991b67a860f3cf283a7e883403828a8afad86dffaa78cd8e685f6d2dab5d9ae1b633b80ee02e918420763ea7b80219ffff033639b4f30da52c71a70c6f5b35a151a36f36c470e5963a43ebd822d0130fb16503a5e24535768cd4fb35d3b332d82067932a85ed6bfc775fa1ed58f77a5d1887ca0398f1a194974029e2b0baf3cf0b6429432edb050695ca3ebc7104cee19a2627ee036775dee37d8dd0e1f62d9efa970c8f166c89adc97692b06ae4ebd54a64e0f7780356e3395a77725b82053ae02cfbb5cf059a7c314dcc6df41b1e3278385519b01903358c3fec2edf93911b1dc21984a10090589152c91c1d0883e030230f5d826e210391d80ffb76ebb58ba09880614bcb9cc5d849da41b5c028187efe40f4846786d4038f7facbbc67c9ad0ce1d9f79a580603f22b6ccd6277f52e64973fd2dd08853fc0363851acb97865b62d51b73c1bd0d6b720238b57db9946611e6bf7d1b63b8a33e037451c39045a3874528e67c699f8edd50f44f74a76ee99920914e860b6043866503dcf33ed659d0b99d6cde5542f6056eaad7cd67c7b8177fb9b38021a52297d8d103ee99b47a5c2d2d266f2648e89b0bc25f0e741870b17b41502c1817c54f0f4dd10387950962c40295dd0df31a91ebdb72b796935bf0f077bbbce068c537aa24881500581f028704f51972643a8567484b5e20ab96443e450f4b26634d5ab2eb93ef8a9b54a575bb7e13a17f6d78e83712a603cc0db306f6e803161235baf8675aa09fee36eef4c0d1210964042bd72800348d71cbf632e37d3c03e03249ccd1a83e7f929bdaf17c1a04ed5a38345c93df7ba1ac6bfd181c57acdd0336b67ddbb5411731e01c061444f7aaa8b8d20733f924b7534a3ce112e0f7302900581f03d69a2e0211e6dbdd1f135bda7427e8e40b198fbaeea29ffbf06da2d883204398968000581f03702460b535ef7cd5a9b93c7c316167d750a57f447a1b2881bfc9782c0e9054cc6ac73d066c4ceba089e4363cf083c36588454600581f03c082cfc0273c6e7b276977b1b0687886a1b436534c678be9f0dd962ed180541a0264e835fe09d6246404f843906e3aa903bba70219802403718310e0e6815daa187ed28de8222993c99d8c6ca81883b1ad4db3635609c6a603a364ec4c698b77010aab893ba4f2a288be1491ab34a5f5875746958a2ecf59fa036a7b9a66870eae1c576c427b974748b29ab6300c402b0eb7dc7e93d3277a422d0314d4eac21e4051f0507ae522cd7ec82c48b630a32e84e5bc3a30e95e0e979dcf00581f02e225b05ae65f66c15ea15a2162ae031db735238c595defb6ea2931abf259542e7db877d269e715c78d2edbadc77837b7b44d6d0383428c846e0f479eed826f1ca10e73b579d1bf428adb255fb9bbaf8ad2c5478803da44e30e90b3e4c272c09e8a83de0fc240702aaa8a0f377559c8f0dc5ff393680219bff200581f02143ed51a952dfa96ba9fabf08b154dc68ed3eda7d1f4ae45efa58f8ec68f546c45a98b88b48026fd7bcc7f21d7c35a73c6ac99034ba7c7c945274d84c95d9826fb85f5acee7f16e370e2143253d0dbbd2a479b2600581f022c92fe165d9a40f2fbaeccb1dc60d7a59649e2f57166c6b6b414156c436d540ef85224522f5ebdd6bf39817a8d9efc0701241800581f02bd24fbc5dbc5cc5c65b36db2cf90afd171c75c0122ab30ec34b6b47226625435d9a196206fba4861313a28bc6d321c4c1e5c4400581f02b35b57d0b4e3d8df2d136e3adda1eaaca547cd2f88da8b9ca7daf904e9a854e799c38ea15a8e39fd95f700eb066dccfb84cce400581f039f06300551a6be8efecfd0a41788ed7986952924c19fc2b2b94032c05f905820031bccd53de4ce5aa144cf96f832e4093e3e993f35f11cd4918bf92de996043d00581f03ee2ec81fddedbbbaff83fd96dd5555358224bd7debde907e29ecdcc1b2a0540881a93fc1e3936ae1e0bf6f57f84a62723f28190219042000581f023ce1abe2468d6b46ea26e81126dedb8f37c9c97af1b8b8b16727a73a2a5b545e176c4698466243ec90b4ebfde7339ec17c01f303b5e91b9c34352c8be7d312d8f042f8a29276d92b74dc5d465bb83e6c223763d30303d02d846537c1c90eb011bceae160407ce57041c30d150aba4235aba8126e6000581f024a9e9dc2f7f96bc34b85d1477a8330e569cf5146ae74fc68248747aa96dd54addbcb9d0d03c373eb75fe0c7a774a2596906df7036373ca03d05ac6d1f8d2dd972d1f09a882f5dbdd55bdee20b75a3ae5b5f3d78800581f028e476aa73b37635364caedb445b358342ade8529411178f5ec0e155c58945496f9739bf12dd5ad3c275dc9c830b378193e31c000581f020d61e91ae216c9c1467a8511a0fb8f4efd972865765ca475e50efd74374854c96c97ae394194517f7b24cb9655be8d85cf0527031d107160dd2a770da5d77955041ec66fbbf50c40a601809373a4da77ee6bb07c0219edff0352ac1de34f61ec2512e99a61d1e4fd23bc99183b39545d7fed074bef3431a3a20331045455c7ada0ba7b2abe622fe7226c6a8bd41fd83de24b8b05e9b8e5213bf503b146236401014301b0e354db4ed399a0fb832ad8b35863d20e32b811531e8e6b0364d619334391f9205978142bbfd454e59b0630d257d23cedaafa0dde9d36df7f031823c579fad10e9e19aeba279e7fb77580e11ca20c14c9c342ac7a6a3996d91d00581f02221c6025fba36c7434b1b714b4d2a6425ad3ef06fb6b17658d69a704230954350225b9f4406d8d11483b081fed13e04ed2865c00581f02a36c9f1943bda748296c2bd8238a8c85e3be2e6144f3aee546036250358e54a34b4a3e1e7ed3e7fa8f76f36a02206ceae45fa003613410c40a67868c5150f9d67525f63b03d9aef24cd1f7b2338cc3f2631214e500581f0229d8f3c12ae2c21c549d5213a5cce82951e6b68d68eef26a5afd7f770656544e455cd9251b10f3e3b6182311d2c5507220329d00581f024ec940a53646f4db6c6049c5afe068e823252b1ae877d06f0cc76ba40c8454ef788ea7d0e38ac6bb0bae15547453aa58116b9303ed8c4ccd634eefd78a043bbb3cad0a82c4db9d21f8465906ccdf38c84a71161d00581f03146e538814cc6ef88ddb41214d755645672478cc6925c0b263118d5fe55054f87c47661a4a0aeb7eaf8b0e2507fc92f9c11b3600581f03c657c2e875b116da9762987c0c5a9f72bd68fadb1154e31648c888aba5f054033d815f4fb30b2459a396e004c5a7ecfe30ec3900581f033746a363d3c16ef6857b8f2bd082bb69e35f6234abfdc1ea666ba2a6016058200706a231efa8932e2cf71ee572dff6eeee3b1eb14ae44a035a60b896643e85db0219104203a060369d8fb97b6a35f44ea87ff35b43feffb333b2f7be4882725e9337a268b8038233908b23e1ccdde515ceb774a8e076be99466bb8cc543c5b24b4776c8015580344febf11cfab54e843ec0384e1ae546923476e8e754c11a0076428e90c4aa11803ebff52aa4fb771faa4549425e95ba193109f10de6c183042732c47ac81111e0002193fff03a135fcb95c9a736369d599cf7893fa11b8858408566f158162d0091e5342236c031413ee9736e6b33c2f644d873f96fce6b598a94d9f008d2d38165006f5e5ad7e0382507b48587cc8942e69a72a4321f4c9ba0aae5de7a711e24191b23dec77dd1a00581f02125f3fd913450b2b8303762d47ad9e6f64e8b1bd18e6bb5a9872a0a110fb54f7d0d608e68a7e970f51e8265eb2a8266d804c1b00581f02f257707e656bf88a0e8a6476e813f0f2fc48a76006f36350f23396c4c94554905ddb8bb0432b25526b451b40f195dcb474d5e300581e02a297e61fd16c9e50503e562bdebf9534b713df4cab380504a7195287e85476da0d7b1fcf8d77bcab8dfde9abce987bd0b66300581e02bb930b0289f2cf8e4900826d96246720fb80093d2054c0c22f9b051c0858200716d18347420ea748219ee4f2dff5a072f20726e10d6e30585d571eaf122ead02181801410000581f02065f681536f0e53f7f6824628ca7de64e9db5e04971021f06fa88ba6967154f338409c872f0281c7c6f6680aa741b6b869c82000581f024eb87b2a4b7ba55592b77edc623bf78132baf6c39d79460c78a46bd42a1f54b2b7176de95634545785bb995d51394b5d579e0203f777191d8bc014b552904a1f8c34cb25e99c5f3982a1803eaeda80c30e5bb9a9014107034b94a75370e9b69e789398ff5a5c5c82e5475a66d466bc8783380cea447204c503ff53b75f363830efba34bbf10af8f12c7a78d875d5e340515231af1c58881d0f03032902c94bab6db757fcf7e0c9de8e6e0b27fea2578ebdec8889d8a62a1a453503c2e2b2b17910b063606cf903a13752659cc3736ed5938019cd3e30bdfa4f797f03ed2ba074bdca0c30b86556f97174fa943a26647f0cf0971bb54e053b42b24a0803c7e1e4958e243c9e80cb70c083d68eac3d1ae31641e36f364a6b871ae448147e030b66f0451191c099330e132893d0f4d2c8d139db3f988326b3a4f2d81673105a00581f023a612558083796027e670633c406ecaa097375c8c948f3e82f5477a256d45449c30e52ab67b0839239ced720dab2b3165834f200581f022f91e63dfa341c74481869766c3afac219ed4ca43f074491d0b57a66ec3e5457f9c9913d6cdcd950a625836cfa57c8c2b9c9940219ffbf038154a56d551ead02c04403ee468f043a21cc0ef0a12b6d2987a2de0195787229032b2b9026a28b780ab21e9e6e311eda53f77a420ede03dc60adeeeec4e47bba1703758ecf445a60d6d6c7faebf3c8fd3b29996485a76a5ba4b0ebc4af2f13ad718603d8605ffaa437f3a470b01a95ded6466eaa0b8233cab3f4617bd582a259987c360219ffff03e0c237e084d74f6d0f1ae4c2ef03bdb1bd95d43575003483d8b789c0ce0ff0a903c2ca01230a71a241fe6fb728baf9653f691291a60e1feee94959a6a62fd8e1f703dda0ca7d2b59254af497636652a66db2fb47beb44d6e1b1037e0fa932935a4e600581f022985a8016415d935c7cf2cf0aab476c4549e14c1b9f937723c1351c48c6e545c660b0e0bb61003dfea60896e2d1f59ef7445eb03ab7369f7df6f9528a276797bdd72d96652f5a935373120743a76d15a2aa61ca6039ae59b232098eca42c137c98a15df1d061996e04b4ff79245e2bd3510fc41aca00581f025034f870d4fc29745e149adbc9d874a38234de611ae089b081c126fd8342544222db9069b2a6ea5a67434342948a3cb9c5f393033fed2c9c37e2ca47f34c03882937f485946b760acd11e01a91c33d7473a0348000581f034f784770309e30c8c4c6b9651b391b456df00cb2759faaf389c4223e6660582002098fdd7316e8e68de9570f4dc60345ea3e49eccf94a37d6ee83f945a2d924600581f03c6d66abd26debf441b0356f12981198308d49d94abb2df3b2b711e555a40549332eed6cb4b46abbbcd0f93ae063fcfc3bad01a00581f03647bb0e33c809299fe6745650e66d2f1a82b82f903da7421de4571d1b07054224c4255cf4c8b0a68402fcd57382fb49f9782490219100500581f02f7d83cfd807892b55d41d39a88672daf498056e42d88b7682d39fc0db8a854fcb05fe08a949d56aafb2439d6f1961a3fffe5ac00581f024e94fd381bf1452f886c9ccf21a20e2923d5fbbab48bef73fb423794d1bd54336aa477881c139f9b9208ab77ae7e689a9d85dd0360caf36a9acdcbf998574c49deed07901534c2d69b7f0be8e22405c32caa8ba8039e20605a6d49b6ac7c00c4ea69b24613d2a3027991e951a3fe1f0ab624b2731400581f020e1abe895c6804b9e17453af925632d14cc98a73a4b26e119353cff48505540bc358084b896bfdba74b6843f166c56f478c03700581f026fdeff49fd828b69a35d456141a215c94f521fb4a18997378f269d6bc8af54e3e39161d35e9a81edec667a5387bfae8575285403191468f430735e1011d21e309420292a343745173e98c6389372eb7d202b854300581f0207ade5ae9ad39329180e1b80530843f345b79b0c4bd44fadf25c76c72fc154fc978435e542bb9a04225076b8142683f0d7cb1503bdcf51197e797fc460462d68a896782fb71983658d28d3558b10c8dfe603f55e0219ffff03a08df8d9436e4ac50ca8e7bc9426a1b4b2a82b8ac2da8e0c55c62c826adc3e800363fcd02b36f87b34bf91b861b61958dacd014ef96c475da301c76013817140cc03d4633b590c25f7fd85d1f48414ffbc44163d23ee8c85c43522b6a0713b3368bc03a60819f1783a6aa17a8c691d0568c5000a0c448497fcb311fc0ec98cfe72daa203e0932b25835c23e1c3a156be08c83589545270e82a68ad16774db0f749acd71b03ae333a88c3f6a448aeec4608e217b3cb27189ba8b3c591132b9eaf2241c3f230031beb8981ea4a48e453d2c01c0c44f86d5586e1165137c89c305578ec257a79c00377d0a018c1325be1519fe5d2c2baf9269e58c6d96883844546bcbf820178e38e0332cac538834794dd4697d2ca8fed40b066c9c0008785052c6895c2c08b325af803a65e2634146d8cbaa067323ef9fb4ccc8ee6fe2bae5fc9e10e0b3fb19070e9be0377e7798c0d30420191a258800f3cdb20a90b6bd1e6c54c3d0f2380e3b20746f1030d4abf1e5e8ac6e26577ef3a942cc980d1a05d40e211524334c430ca9a84f73c03f6124e089c08bad07e985aebb3f25716a606cfd03b1c7662c8bff0bdcf31d8770219ffff0372f788799587110a28f2bfdfa07127dc14c30dc478a5f4ab3849febce88b7fc503028cd1291554e5a46743b52915886dccc3eedffbe97517be10b2c6bdb5ef533100581f0203df414011441b67130897ee6ea25903a1dee38bf6b0d22b431c7799d76454b28a13f686c61a2bf618092be7a2f3fc72eb248c00581f02bc70872b96a3e878d2dd91174f2e8a0d204d5b879aaebccc8ff6517d17145426f984b6d48964ea4a8004cae27d0466279ca30e03e2e8c53650cea2302c292c8d1400cd5f04c63956a86d9fdc87b603f58a79ce6b0360acb148019ad377be24c4cbfc9ce75d91d3bb2dd2112258777837690565077100581f031f4b4e34fd291bb3749e4c8a025e817f18d16e29cd027b17a6b8e97eab80410100581f03c55df6afa78b23faf41bb7ba5fa3116b094b41ad13acce5025ee64a661e054c49e4d304c35c780373a6f80551efff7cab403f000581f03ff6678580e1ff651a0540903710119f33757a8c5a675f0913b3b81a5b050582006d50d2c9b4ba8477d0a6189efd223e0a7bc8903e5e5502c2596bfd037d5cf1a021988040354c1648e7d5db95f193f6a233c9faafc668a0aca8617891557ab4121ea27b76b00581f025f1b4694a78eb93bea9b56fad92a1bb5328162aa6ea346dc59a35908580a54e5cad064b55d9cc7e8fcccfaeaca6f41e6b5fff603f60fac8d30dbb174ded24fdda3cec41bf5bb5f15c8af4899b6e9861237d948f000581f023213ed6b140a153ee4dcd3622558ac689ea9f7ef2517c9bdd6e0b705beae5423384e61d689ddfc98fb3b12043f48ce290cdc7e03b27858679731b355cdf931582f6ddf917c8cdceb6b279fff45747c2b0cc28892036044fa486feb675952e6f10bd911756ecd2304b5217272c70f8493e9d847fc6a03e523b8953157d8d007681bec36f257511eebe6e59b344897d434b762a06b72c20219f4bf034ff308de972f9dda44c086bb9b7db6e552451ddcfa9f1024f65442362298594403d163e8f8340f1fca181e65f3458c10add2a4d9417dbbf021a1ccc2e0644ac1f803487333e1ce2bcacf0666b571f46842212d6cea7bc84a52aeae15ce02e80e40d903b5dd14331dea4dc25d9a3e016417b7a24ae20a459a9dff2c4b5302d9955e5e6d033c323d7bdd9de279eb27300b3300edb2fae9d6c7b55fd522d907eaf94ddb8e0f03585235a5416964c988474dd5ed5d06c85b253d50bc85978c0ece196ac2f7c927033c96cced11c115fedd9b47769d31b92b3122c9f9efd258eedfda9c153e92c144036fad64ebe00e5d7a4ade46e351aa2c94b012e8287dbe1ef45d6605d235bde82200581f026725c491da541a05c6082ed841df0fb7b106b163c0b83dc6cd954214464554864bc3c73c3503784b4add59368a84b30f590d2e00581f02049274c88579ecdaaaeae7c1a35a4d7e8dd0378f01b2efff8349bf6092fc546a78a761fa1865fa76ce10fed946910b664e1d2b03adc7b90219438259e219c715201019f7d98fbd5b50fa49037c0b665cc1b37e67038b3c297dcd51b1f99d82d3d1cf2955d8bda101bf534436b94dc5691dcdbde17800581f02380bea37574beee8e7b978f06175f4107b01c687f17f3a320e6b0be07d645425d0423d8b4b57c7d39462d2ae3990ac6266397c00581f02b21566ccce3920f3e914bb28a11741ece14e9827fab413f56ebe13da63e9547f1447037d4f3dba437acb5972d96d26287df22803b5cd4c6644d20cbbb504fd7f6061cbd86adb036d78b5716aa51340a2b00c204603c41f742e782d5a9f27a44e149fac7af1a36aa1d095bdab653dcd0238c3b0f61c03bc5fb0b1e1389a300f5bfa2283a9dbdd1b342eeda0a65a2fd09598170fa408ad03498c8278dca85e08b52d310e4859e6eaf43619dae4e934cd638b01b23ec2729c00581f0393f69e3fde14d20b53c154ae84b0c19c670dd5cd987980bdc69dc781c9905820073233e2abb9d0b13c6e77c2dd815a3c89fdc6135ecec80ae963d415ae34a07e00581f03a55e83e1df71d20380d0bc778129a7f3a25b25c8b85f16f4a63313a635c05496ba8633ee16d83603b7d492f0536f949b2932150205037216866d0ee4ab5a4b6539a68d0ed9f35a3440ee1fb7c7496daf6a617ef4ef460219ceff033e36815c8156dccd7ede31716083745fd9ac387e201db3f9306d3aab422817970324c12be67efa748bd1fa963eed200217101fa95af339dac885a21027dad9d07a03592fb93d70488dd0018948acd73488e4d25d3489eb2bfd83f24a02797d2c31f00372e4a0a59d26ae9cb9baec554c38f8a5a4f08be97983802bc5a1353c18827f7203032cfb48912605b2ac240218541041cf79edebec07dd881e65522ee8b47a49a00219ffff03c90f73b94fe6ba9ea4a63b7fc29c9a8e3a621da84ed3be8e897be4542ef5aaa00219ffff0356d5fddb3005131038e26ef3fd19f875a026422f9e014e234993deadd4900f28032ab737d19dffe1610d81ebedeaf365bfc9fd9b468ac530cdcac1ae2d794e199003f6cdddae7f50b7d523996740a9b1553e0120ab05e9e9b31c6bdc9a876719d5be03236fff3ab36265ed61247deb65b1463c148c5740e94726d6aefc2f5c29ed5f2f03a8af52f3c7d2d67ab88b9964c2b997ecc1856ac01f8c09c13d0c37e8dd13a6c203b03ba1c273f69bb03044664926d7e7755dd52f65a9441badc86558e9f47f5f9200581f0221751408d7a53ce05a797bbbc1dbf0c17063637ce83c89d96d280e436acf544037564a5a4d19a8e3a0811ddf30b779d24cf7f6039138d6c030e2958b55750029494fe3794f87674f3e9056c16597c4d79e8dc17d00581f02b906d781ebcd6f613b081195cd01e18a968a209bd1397971d59b3c7a88f154fdddaf0022d6bc3cff495fc44abcad5bae74852a00581f0390e3fd5397d201313498418c44fa22349dde4d65fdbe76bae5b0940ca8c0540beaba98a76ee48578e27dd1fb1223fd8f63448200581f03058afe8fdf3e1b555e841bd3a9fa0321ed64b34ea2775008469ec0c30360582005c39ad83385470bd47c71440305348c807ad34d38ae033f1b58a01c8834c02f0219024003f7421367496d76735f1e18e88e87e4e04e68fa492e6348f844333dc1f7395ac8030360907e7df2078da89f8a50325a0ab2f4d6444a80b41c5687009ee1ade6276c00581f028ae45c1fcb99462d6dc0a32faa48590ca744f32c2bfddd175aaeefdf600a540a97b0a8cdfced031d539670596e1781908459610356cabc4012160a1944a01d74141b6344775defaabecf34da885dfc4b916539ff031ed4de3eb27b99db92e07be94cdaa11d16d36b969d008b699174507a3314455c0311818174951a78b7be37af8e0f475cf9c567c8efa33f838fbb4326d6be92ec3e00581f02ad5bcd0ee42a9b618337d78c2e73602cb67ba861c06755528ce3186a8d9d540934124e672e932c0f686954db57cfd3fbd1d4ff033d92f45c9f0b43f663a64b32998652d75eccce1c66da6c490f5bbaf52a46ae920219fdfa03ef3877da5bd4e9eb1a15f0f0472b42c6ed1f584c62031dd1ed31a475697efb6d0333dfa1260d777208e1dad71c5a562800648667c7bfdfe819e35cefdf50c39206039764887caa0f8d847f100e80e0ba802eeeabc26492d61f96002e0e6dbd509ad803b6239afa076186c76ef184ddf0c98581b8271925cdd426eba2aecda6c61bc31f0384d36f2b78d5c477c4226c0b7d28db5a4de31995b9bb41cc9c30cdf23af0ab1a03f660f53079b6c368c02dfbbc0ce330ca35a161b400ba791ab7e9a0b0893f34ff03644692d44110269fd38a4a595d319844eed85501913c5d27d4384cee689eca1e034f345419f0189bc8354b745f53e9b91c3cc0d4ba9ae81237ec84302ba47969bc034256d240c39a5cc3572229933a507e6d6adf3c62a84e9b27d578cc5334af6c6603c1cf178e4478a318215097b17f3021fb7861a06fa1d6b94df59d44225e7264ed030df4f0b3db898dabda1ff0a0d012a94e2aab99b4bd1d478419ba42774039de160219ffff03cb0d8474cd38608078f22be21972b22156f7da7b84b962be7ee6b0b769d850a50377dba43a5682623c1dd5e157fecd76df5df163c4211d06f8ef933eee90df067103689f86a8ce4e0de393fc2bb517301f52bbb666b823a26c234470a8a18ae0c7c20339f83ae60b309fba8b0dd30780e44ba37b92753f99b48acdafb4fd067ba099a4039f07a01ae93e86e96e5dfddfc23829925816da3e5963c6af968dc2f8e3d6e61200581f02ef20d322838de4e8657cabdd611438f49b4bb4637d50075487c72992abce54cdb88b84021cabdf23a0d4d88902c8b9183063a003011f01e03c02ac805b399f983521524c04beef8118ec1de494955bbccdc6309a00581f023fade87225125cf09845dd88b766b72e0cc505bd2e586bf1e441effa272d54bdd2649c092b174e6093eac2bce636bc7ae7a15a00581f0287d08adfc33555439d44001087406faeacc0529f37b42382973134bdd0ab542b19fde5d7377b48be50a5d0a78398a496e8b15c00581f02bee5a151f967dd9b7f53436ca0c5f73542cb7b3da2254fb1d08eae01e4f854cd609293ddc57ce4315f322614567e7c36e432ef03365c62a6cf7ee7e9534eab2e9b80faec44b7311387cc38ff75fa789ae7fc5aee00581f02e5c14878a06ad0e288f2384afde786a1c8493560c18b87ce81c60aaf45035444bc99f5fdb89d173479606b642c30016021e2a50359a1c2d19b74641de7e79d4cb0bca2de8e17e64a4ae3868126d6fa55b2f240260384325dcf190cfb356ccfcdc3bab80d432d36486e88bbaa57ae86ccb44129c3c300581f03ecf47c50feafcd18d56439ebc51268727606d64cb51cb4e13765ea716340582006682082a10cf4fd20b68b787b382571331c447d346e75c5c83c996fe521dcf800581f031480da7311a5cc8d68e3566e9eff60a115d4075437dbdabdd26b1afad760547bac60ec53a3cdc00c5cb8074d967996e591f68b0219600003222090468248fff806e5a935bf74caf9975a056a708e0746ca0d2bce362128d70373f1a1f777a2fef595ac9c0f86b24dd16c63364909d65c97ebd43e3937af6ca1032d6f3b31b212e97df951101c5b32bc602b5ea3be4354054802918c74a3a174bf0370dfa02ad070cef5c4e90ddb399fbf65429d5c9204044b6280a52de552914bb30219fdfb03a00227ae6b025075e9d6dfda031d8c2ca7ffab81db9fe1abe112c6e60992d088038649ff3e1a17f37b3837dc917b0b32858eba1326a4a6066eb1497c5ba1ecb286031c2bb2ae84aaad4624669e503b43e45474e8cca83bcea648bf179c06daf538c403180ab53ae82d128f6b799ff2576054f8dedf7582b865e43adbdd2e52ee72613b03be3c4ac2d33f83d5952efdb319cf27c584ef0c35b51d48f50c8c5d6911178365032908e1962acc38d0b40f480f147b601257cf7b3136bfd8c217b89e1c07e77154037b45f21d4ebf6479ae78ee53a788c58aeaf2d6815321cd72fc3723124bf0323a03b630c9e0b58997e9445d7960fb49ba6c57b1e263e85378aa2cd7c021e694d8540384bdcabab035bab684c9838614af14acb701fd2f772b620de583e0454db004f003c806002ea71da8483a8328bc48f40e99f37298fa175dfac3585bb45ab50eafbe035ad8d137812d8c979265b2f17c20d3ae8390f02599e2b331fb68493d969b20b00219ffff03327206d45556781526113eefdff26b261c7b7b81ad04131f0f5701ba9420373d01410f00581f026630a6490fc3b26409a08cb300ace32f2fbf77dbb205bd3f90cab56de601549eb85dad1443c84b51b6029c28b8a33011fad83b032271c0d73f7fa314138e044cc20874122a3fba55b547753f525bae0761a124e700581f02262a1b1afca79e125422e60a25732b849667c6c960260a7e2e4ee20387db54320a8b8366a216089d28a28ef737147ed02dbe98039e3b543fbba850aa9dd7bc9625ee842182fbe892b15b2100b397bc78baf111f703476ab51805d4d8d4b971890b7eac96a81535d5b99aa2afeb24db278fe80b78960328aa17077a183ab89d9362c8c770f0faa8019be23e5051d2bc1b2e5ccfb284a600581f02c95bcb08171b05f0dbb79cec84d45467da9a59b1fd6c039b3279c2a449ae5476a6d1f0a9f90a4be2d0f7eb261f33c9812ad68000581f0335014e1d3de3ba91f9a1cbe8f6c6ae3c5ab95d716988428a60b2c809a7b0540d5fcbc16f851b54ea9bdd004a7816ce2d22c00f00581f03bfea4e6583d6162e234b449c04fa77a9443e7e625d7b9f87a5a3c81b159054d98ab557e2ab7c73bfa5b0cb45d468823dbd603100581f03b1b98013a47be1592efeb51b9177c245969cab53ac0f60e547cdea47bf704510fe2d54a9021902120316210c1811166ec393482a240fcf5e49cf3485da5dce0a78352680512ef60598036ce8365b2c92e12d98f2598189af41f29c4aeab0ea9e5ae4d431ca9366983ee5032859b428deabfab4d650cfc76fd0e52ed797774b75d40fac16fcd84da50329010384b459f28fafbfbc2d4f98cbc4ca01c7e86ea80ed468450fa51aed5c78e2f8b500581f0288faf723344affd8174d423442a040f2210008ffbe1c7a0726033f6aaccf54f70b4fe9ec8db960cb62ddb3559a1066668aca1f0304f0c009a820cc853ef3e5f1f8ffd42f2d882d48c09e19b8844a2ebe92af7cc30219feff0311a4a3cc2d64df4402042562eb6167a8bbc27f47d4cbb50cbe90e6e9e81c70bd031393f5867602cd2c8a94c24098dcb565f457138d481cbcd6a0a84a0cc277afa403fc2396b7e777077f9405f448ff3a9dde1ec269d1a8a48da1902e4d5fe9b17c0b0320aa5be9ef52080c7eff791000c2d1b0e74e2e147d7e323ff88a7b037ee8d79103b5378e4df65abc610546dabf288bc25b7f4af091e45c0271754de1400709c20f03b0a75c425035a3f26e4e7a3f4ac23619dc086b60ec05e06d99e120b1b686a29b0300ce768a1c861d44dd8da58c0fb408ac7897f1fc9e10cd3fe1f20a705150b40c0394c452fd6415ee5f6f6f4278f75ff7c0f66d1fa833227793464099ad982788ab0318e4583e58913dbdc9c88c83d57a0369923ca47f637f24d57995bc548642b3c403797e942a4f249fee32b214aa531fa7e73c03d4498cd98566aabb22df8c2a43ad03085af6ac0a795d886ee80be5250f5f3265d640fb42b1d76d5f7b251982394931039a7a6f818186a811c3765235edb02ae3477ed2839b4042898fde0f25bbc8237503560095c3241b0cb13e8214a8cb370a0e9b1a048df814742b8c072589745eb19f036463a5c5f2202b7a9755524b1539ca5877b8db689d3e52843b63cff50ab40f3a036fb300e07df9ee0be3ea1269a2a042679e63ad4faf660c0f08af4f6c10e8ccd20219ffff03dcf03c32737d3fe7b7d708184196311ae2f7435c111c6fe96ecc408191a0ea130315818d977fd61ac1d3bc7e2b1f50328736b37587898f92ddcc8f691b4a6499d80351599498e69a95fef38a4352d791a30fb83d54ed580602aa2d2f45eb9293a1aa036797a8e1825c9c43d90d2fa5a2e98c282de33e8db1c3fa6d05affdb94e8b928e034e8444e10d49a869f890d14e8fee1c6ad9be146bb3abcd4584071c434033fbd403c301f6630b96569ec37b64cd26e7d5068dda561c162e63ab5a2b6fb0475c1f7603d466cac19243521ac925cd3b0198b185ce0ad766a3cf53630a2c86a65735471a0359c0c3dd7fd6c4be2bf086d067b1d414fef069889d798547bcee8a3f2e5e4f8903245de7dacfb61219c9289b937f7e765c91f3e0816efe52356765ed05417176fd03a599e8fe0b1c83bbfeab628d0cd47de94463e232f619c0c6efc2f4bc136c4dac03e6bdce7cbadf711c938b24ec15670e93bf6bce0e092be111fba873412a9c299600581f025f66d18ab2d009ded6ecc98504d0eb1e01e494645a4530eae6f65a7d0c9b54deaa85c633e0e602ed94ea250308cded7046b0c900581f0397f90cb902eae18a12b0991a89807bc2be9950a8f670dbd50afe898720405455e693fed790b5e22e24f8d28b77861468e28b7c031c3ccfa923befcf98d80483461623596a18cef55d0daedfb6cb2e18ae468b6be00581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b054626211c1e9bc633f4d342af99f4e8bc93f11f3dd0219060200581f024a95b669803efe9d62553a0922684ec8a5c8d6749d3d6179f0a59e69341b54758d63f509a9c0ad5053fd63d5cf9dfee791274200581f02efcd51d9f12bf280c36db68b4002f2fa72f69e85c61a0f34bee70775baa454841c5e7a2389febbc766d244ddbefb99b33279730373b746a872446cc4f6ab81d6be3b96e3df638298119e482046048cbd5b99eb5300581f02bd7d4a1d9340dcdf979608b19835dcccee747324936496b2b5f43d3f5d05542c57257eb43411289cb1c816ccbf7d9bd1aa2cf503f34649fce65d160bdea89466b79633fdd9ae27e6c94390ac9c3ab9d3bb6a902f03657e6bc993d63e6b338ea2dcda07160f9a327999489c31a8fd65887c904467660359611dca094a4ed887edf1fe3cf04f4421c14b5a91868da90e552b1fa7fef586035943ca8b816c724649ad09d14dcd43c4063bacee6fe3e809f48bc4763092e3080219ff3e039fb161a937b500a95d728edca054fb94f4b2ebc547dd30b1fe0281b220b732280359aca4bec743db19f1a78fb81cfe7f14373e74556e899a73c0058f908ed5119f0342abfb86dc78fbc2cb3cbfa656296a70de2e0ba011a1e244bb9ecf543612da9203856fc3b06c22f9efce46e2830f5677ac9fea487e3f8b3d9b834005af84349390030d9130d14dbe4a5d3aa519fe122d4e4aee774280f335d40479230983a8766bc303070a7bcf56a51a6cb595162f19312a4747bf4154fce593fcfc477cc9078dfc160339c8f0694b4d82aee2dedc1e3d6d8ba8e3e736ab0d56388d634aa12aee65f7ed03b50dc1a2c11071b969e0b808bfa6d57c85c29ee1a8039d70ce034306c295f6ee03b44cb60a3e0c05dd0a65c2a5a5d7105e3e3e6454244cadefce288dc10bc31d6203e764f33aa93bebb733df8cc582658ffe9c3dc174e8fb9b7507f065a55879c4ee03409066a5113a9e7fefbc14b1980e4dc46dd65112a9858d57f284985a1eab8c8703a49dd822079e45976ab359a10eb12bc57000533ccf4cdbb9bb79732dd9244c5e0219ffff030097087ae70497e9da8a36ff30d9cfe995eb4c939bfd9cddea75693c4ae74dcf0363572094cc1f8dfb9ffed25fa92786a2b79a98494aa715013cdb76f4c7723bfd03941196f7655a542c4731021541dca9b7ef9fe0d0aba9058b11931d0aece6785003f92d6be64f066091ebc92b27600ed1a087d95980f7da8ad6f46c6aa3d392ab9c03079094eeb22bc449546ead3c158812cfdf66468104444e1c4a792e06813d88fd00581f02bc28709720bbcabc344ee403a73bb8a2a4b79a842338038f121d2a2aab4654b4a71e54a34a3eca9ada543ee6aece5a8d94e3b303da5bd38a0a6bdb6800caa5abd3bc43b27e20b5476a3eb0d817bd222a64e2a3610314be8befbf1567511bf8553ecdc3215cba0bf076d495186f3a9a50543a5452c303583788a8860c5ad5a2c49892a933cc99c82862f4646eaea3aafc7d8f9f2f3ef70391256a94e88931979d01396e71e0f31cb34f240a7847255acf912c2b668f00b303f508329f69678c5b0fa48f409149b1674cddb08944330b44fa3896f3d6b490d7033ae853c42b894f6f3dc85205cc2ee309d1f7dd92f8d54fccda00ea792294437000581f0209491f6114d28c7d05810e29a02f7fde6fca4a4f8489dab25b1d6340dead54b6d6dadcbca4e9846b8d526bc8375e7ac9e7291800581f03339c08d7837bd454c8e207685aed2bd59356109dad147d088ee935cf600054480c77c6b33c8885cf2b9b08fd93fd9a9ff49b4a00581f03d6c60cb22a82a76504fc1fd9cd60340574d4bb6414e084fabb5b98203a80582002571f2a6ffe7cf5299df2d1a39fe65353e75cba70476470ff78617c151a290b0219404003038fb77053c2c9e72292f7902dc97c5d6c166e60afc5308323ab613fa0b89d5600581f023efccb4b3a2499aa72600503a286d5bf525e938a85fa35a77ea33a13c549545af7916d380e79b08448677f5cb6a11dbd65508600581f02a8fd9d916e11e1054b73c25c8c92ba79505625a91545ed3ffd917450083d54e340b00b6b622c136ffa5cff130ec8edcddcb39d00581f027b69868e357267a6f729690fc19732d9d9a45c05e0ea31c585060decc48d5454f3a4f7a85c70c0c0e99f42f92b0ac34a18c53403ce72eec93ec292478cf37b63d64d39723154d7ab3ee852255917a04b733aa8140361f40132b0dd1fc874f173f1a6ca58a9e58fb858cbba982fe0be6fa5b7029f120219fffd03304513464515c3d88bfa44802f6783b4f7323b5fe23c90bd522d6f60be943d1b030e62cd6f78a1666020ba8f5b65ef6611380c74656db2e90a4586cdbf2fa5f74703e4f9ac3635690bb551e544d69ee25a1b896a842b3888096f2a5391ad28b5e0da0311f189b0f3eebe543886b9bdf1e7b9bbe0dfaa0e7602d9dd2b81fe44065c54fc038776f1f709a8bfb667759fe7438fcd6af9916b405756ad47a5866cfdf7c557e603527d4580316b9409a76791caff4b2193b7224610ce5445544d9dfeb634e6be330398781affbf2fe11640cacf0d56b60570b098196cdba5257b4b45ca094b42017003de68f1890a58d7b24c4ed5cc3f4d486b59ef9d5ff9fce5c40c643c3774a19ae603d7db26d1fbb2f30140c2f468e02f4534045c19d294240945cacefff6a1418f75037bdcb4da8e5be606d0ecf29117ffa712f80c615020b3b8e8d038d09f4bd5a735030dc6156cfe9a28163018b8d4b3eada76b1f2351bec2ea6f716ad32409ba8e38103bc64ad4bedcc77fe355f92c77338b22ccde81376cc04c81d8ee9af6245f9d68100581f0382b91ca9efc9ec306bc37e821607ab3bb449392b0fc5ecdbd8a351f4439045012b6db46c00581f03040af9a2c92ed99fc9f1b0bf5884ed9b4443a64c76209bcdfa4e29df07a05443678a84a8d2ba16b33e1eb291c8b8862d41ec370219400403146fafd54ec6b927c764f1f300f887d473e9680c1793e77f2047b4ab40a318bc03c6652e74561dbd819aad74f6e3c56b1056fd3a7e82a14e81659ed1faa09829380313839735b3b1661a3a241ff03838c9112aa70aaa8ae65aea48cdae15f7b008d203e53a6ac55ff9bc039df1821eb389744821b840ec9600914c2b1f6bac7141aaf30381aded54db748040c4dead826e862eb3a2a0296c8f5978dcb8e72414bce27e820219ebdf030da48fe56fb882f27f9f60bd5c528970f48989d8d278fd93ae17810c1abb6b51034174bbbc3a5f92db93ef67e8dc229343fa9b74bec8f8492737a51f8c838c136903926bf51af579f16b97009eeca5f8de5734fea0471cdbd54aa770a247c7605b7603cccd5334611de131de1020101a98d01501e2128e93ec10ec5f1f029c37f10ef70219ffff00581f029308044aa98a4a90d4e825453200bf1eabb1d2790fa85cb170543d4266c4547d6fc0ee4aa797e091fb1f67bbb016b0dc5820fe00581f0238b52bd592ec89b08210442b3415fe9c65061bd25f27b02a2ce61f648ca654c0dc81e8208137f89fbb893ed6ee00b157e44bc500581f025a626219e9ab37d25c958bc8746c30b034df777d1dcc3d628a0d3f9766aa54191518d37610217390e9d23ecd7250190de5232303397f3789581db20ed566522e5570d0b19a1c16837bec4b1892845b36ee1853ee033a77f0334298f91a66f4de1c3bac231e9fcb675b06342a0470d42d91a2cfac6f0322d14dcd6dda1f0e96dab08ab84845f94feefe268cfc1fbe4bb79052cbf74dda00581f02b247bfd3ff7f56a387c9208d6498439633cbc12d89ce4c61f85c332af1c454f73b6bd6d39c41ebe90d173d62dab3e8e0ae3fe200581f02db1c4c0c62047852936e8c7333e2ff7ebf6124f994b6c8b07fe9bf54bb655405ed439b43cbb227b60027ff1396612071514de203e9e0f033ac7c0704f5d269c792269ca3a283bdd1ae4efa46f9a8f444e41f4f1003fa1951dad285c6f9a62bdeaccb73a89bd3cc8a58f116f0a6e38f4f72f17df4af00581f03c1fa65061a9471700f05ab2f5ebffa1e2b9a121322d377f028b9265105805455aba4af73a6eb23217a47260b762c34aaca4de700581f03c621d250c2038a9a7f4d2dfa4fbcd5290197fc7078d2e94870fc5de1c56058200411ad4aa08a6caeaa16508c33a6c5e431bcba175dd6f5ba9b071698723bba020219110000581f02cd7caebcdd9c823d27a15b42ccb78d1ee3fbfa7c1f6911eb4b3f0cd89c59548200c9e63b83c8183400595ee95dce24e876b07b0219fecb0355072255d5c26fc8f86ab6ea3e3d3e17703ae502086e38fb8f30440ee3f5844b035618a2948a9f4807c1764c7bfe4f174ca7018d6964b20835af16e694d5e9bffc030a9c7b63342ba9f1048737f66e92136082065032a076ccb1fc16ad823193498e03367fcb10c94adb88962a5593ed2d59d6656473374e143f887e619f4adee943ab0386e1505de709cb8e800c0b0bb0a9093684d5c439ebbf3a35ae1ec1ff4e35790003e074b6c064871dbafa6722356be0f30ca5c1686653b51cf68cdbd403c41eee9703d463dbfd93cd93c255b65c0326ef11309597a39e6300dfe8bd276778e10711ae034c594bd03ce4a2539299e2aa8b888dd3a484a0b3e7dc69a400cc8d4f8a5e36c4039b1302347e03db7f886052db3edc1d1f6e4938b9be07a09037f5c620604603750311e4eda4bebbd0f0a9411d49d690af22fa73a8250a1fbd26038a90d2344491d403d281ead4693e62e7f34aa303c5e1223a5f9c97090555f3a8daa290e41b8b2636038ca1d110ef16228192d5e39d83f84574739206ecab22df4366d54350f2b113a10341417b85597c843efead1991ef8ca191028e4a0c4dd933d0ffdc00877351d8b8037f52440775e28f15c95b8fec736bc9dd4414733e7025653e5657b877649ed5510328833b9bf0701b900adf713066c4ec7f64016a89651bb5a0ea4a1f915ee545c00219ffff03cc36f8429f1020c7d869f83b263c3a98eb1378189b75ee835d98d50250d070fd03934eb98add4ab54e205a9bca95f9845c60eacabc6a0a4eafce32608919b921ca035a0876af3b1de4b31feae2ad797f674221952995270a4c657bbc454a913079220219ffff0347367ce49fa6a8a1b85c9e28f4ac1bea3065cc6e0f4e8618c5e173a1490034280311dc0cb997c5cbd589726d5db73e0ef30f680373214520e304b586dbecc1f5f9031958343be84bd07d3e047edc4451f03655acdb4d6ce94fd45daef0b8168a3a9f0309f783f1601bf2a47e6ae94e98a1660a52c38bfc652029a41ec7f49d7fec0a580362827c91f6f4b083c6dd6fd74729f8f09c3ac76d1f40912d8911926e3d9a85ea03d86198e45cf81f10da43d4374ef33e1a504bec4f23e80828f51bcfa07ac3cfbb03b83bc2b26d115e2424646aef529350a7ac6c8d0938d12316efddbb168e2c2ce5031d240f8995b9eadccc595098598561db022bdf0df0c37e8e67a0c9d26732c2060391e757ac932289122a72557fe7cd141f23ab064bfbd616e987c0af69853f2d7d03f9a36063a434b9fdd3d2bb34fb7436edc22ba0ed044efe7c76078d49752c6f4303e75273ac0ff074d1022ba7eaa140bd615c840abdba79eb8591af32469d1589400301ebe03a8f2fd3337451390bee885971efdcc4dbd6cbe7bc0663954527fe614700581f0251a455433e9ec9e4e169a3d162ca50a2adb0db9a7bdaa8a4e89f451e91d554bdb441d1ca0013675b8979fd5f3fe020e84ddf6a03f43e05f31922f2cbb6e573ece28794df5136136b56cc6d3455e8e5c72bf0d16a037b9e83734a6b7ad381c20bdab43b317176fe2fbaa88e75f8f5cdf5616bf38ae400581f023b86769629454ac5484387f3cd08ee82b93d5957ac49f85b1860addeb4ce54c66823e88ded7fa9301eadfcad0e8b478f76adae03acb1105ccd6acd60ccebb218ee65ba201d08b6fe1322de01bb9645dde1f30c4803b6c9e0273153780a3920d1c080fb3ea0f85de86c35a1a1a91312c4958ab962b800581f03e290c7a3879e27a6f1eebfa667109cc1e660c83bf96acf0c324349642e4054e14112d9407b497834096c2f107872fe614b0b3503de048922c8473477a6ef2104995bb576d17af2a7b7b3f99715f829af790c450000581f03d4270f84acdd835fc8e2c16d18e976cb88ab4176f0d6f23120d23f2abec05458bf8752712fa52b3cc6e17fab57b2ac27f122b200581f0373bd1df5be7352977127d62b7ff0d554fa7c71d552ff38575c9285dc440044ae787b5802198441034481cacb95d31ca8be5b194ca257144595a73b53d89fce46514dc5c5612f4e50036f46ad6c6085766435d7e3ef8bb47ab208ce10a9e52921444b998a4c7d7dae8e0316358a5973e2cbf0b281975ebdde6cf066c7777a29f7e991ee8d32d90175bd4d00581f021a356cab931476192c8ff6f2068ff0b5c76b73bb4a9aad23e01d3bcc91a354e14ca0632c5430abddd40ba077da5fba8821a95000581f02e887dcbea53703be94db1d9d570a740b916ffffa5a2964365409a9ea31f95442bc41c38b3bad3fa0c43fa660d8fc2ebc1ab2530397df30f321d08ba879bb14eb8e3e65b0a096395c0f8645a666e6f69d4430d5df03c3afe0c307417406c3990104c3fc2fa7180709abaf9063dacb1555f897ed008900581f02210b531e447ed997ecb6e96d2c62a790bce5c52d778e88013acf3a2feda25444d11d22ed0f22b9f6f48bd409fb212a0c9db4760219fffb03d2c62129834786797c3ba290617a50747f99a725542dc6d30e822a5147da20fb03f892fb096295b740634c48bc4e6df08d6809d25fabebab98721b2e5bcd3921f403fd27f0f0a846dc521f4f739224dca94b97c53596e00f1a4e1f29584185623a670219ffff03431d3135f928d7ff18a6ddd667d4c8f05dba54d29a6b35cd6b2d978d99a87af9039440fbe8a60ddd495845c97c858b0bf54a8d26f7c76e210edf64e0f5690fb27a0381c4c643ba9355187096863d2be84cfa32c2cb88b669cd91797f2fb89fd184e803393b4e7a626505bd127270db1162c8afa2d1a64aaff241769a96bf61f7ad63310312f88062ebfe7b8c60c32a9ce494bcb69bc860a17a97abd4df81613dcabb07d1036c89b3232bc24a2ba12a336e843c52473cc847f1db61d426ce93b9b9666ad569031c082a5fb2f5045ab26d04d7e5b86fcf830cff2dda7d35fc61cb8ec22391773d038061da6fe7d6be14157e10966c5e016b9160b325ce12d682d7380534aec4b552036e5d1ff8ac970c965ac88b0e78c7be5e1c37eb330349f45521e4b82da4dcea46037e52f04ab39822b63c4fa77f0e2880b3eb8b3521918160399ac0bdac31dd31060341615875d13815158b9b32c390b51ce13bb7a8127f1b714bce7ee9e6632af76d00581f0249a759e65940299f527616897db1aa2e6fee387fd664f222119a9f74286c5454d925f320400139f9f2925767f1ec68b027e7c000581f02afefea6b39b5aa060dafe20da37036d5d6d0b42a9af8bb02a445edd106c7541ea72634f84676c37048144e9c4c44e3556150b400581f02f0d61cfb80182bdac7ef2bc9403a00c8151b3ee456a4e5d837278086c8dc544b5d5cfc9d4a5468fcc06663ee4ef4c8cfa96a4003c32ad483eeb4283e696e3a0abde2d18e60d1656847afb4403ab4a491f10ded5703fb9580b3402d566fdb68b6d748f4d10281e9cff6c78debb7c488fb57a5a31b2300581f03ed11e1dad72977dd80364ba5a0a63996ea7cbcc2baf25e885f879af5c690432b2bf400581f038273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c96950410100581f030d6d20b3fa39f298b0a41182a4f36ba68e52cde57999dbb3d66691b756c0543a845f698d5b4d0311489f41a54ec2611cec72dc021906800310f6cd2e142de352045292c618c2387bc4a997d692a2812b6426fd23debf4a5a00581f02a287e14579b3bbc89712edbb323b4251e8cf7d2e19c6c1929ce6409c33dc5487d515af98dee70b36992586fa71112c3a00e9bb00581f02c30f7b3122f11e0baa3395dd65abe8e5964badc232db4087464a7c54f84d547f576aee72948106422227082263cf22e7f926d100581f0274d552271d16b1ed6705d6688232efcfd524d315eb780df077445dd2b2605496da746ecf0d38ebc60fd391e3c6b1486cab53ed03804e82bc2e8c02676da1c102dba7836655813cf7db865ca6bf3672aa82f8ccc60219fbff03c3d72f70d1f9c20dc01905fce6bc5e873a889610d55dbbb5ae922aeedfe3c56103408ad20ca71f0e4c418eca87f3dfc26b702838dc3d796a64e71f2b0b49e7982803d12b047f0558498f5c2815d35eae215fe8e67109008b3f467f89e95eb220c3810300e2efa09d6aeaa182832eb2d3401bea3243e3535812090ca1ba2fe05ee18e59038541fd3671fb9b80e92053c1bf1c669cf2f6e22301fef30b030bac85ab4ee9710355cabe1dea8586c63ac54251bf34c1306bcdf9d157a4cd6756e4a601cd8f4d0d0355239a7ef411c0c9aa5fed736172f605aa8adf4b1e60bf5482126e4f931782cf00581f02c6b411987da4a5837964d0cac6464f5a5f8984e3dc8a1e3aef39fa96bc785421287bc0f05285fe0d2242b5b3ae8cee4a99b56500581e0294b2c78a0f957f2ab1492beb2c6d75bbc27932788e00677bfebf95ca8154183ee9bc5aca6c3c10f841e9faefed60df6b285d00581e02b4d43e564912a089ea48523952fe2d7f33f0d2599dcf40fb4e4ff35944441d403bad0219440001410c03edaa5e7e9bd6d52ca85bcdcc457345deaabb17746b816def61d47559aa153bd003692492b25eb516c3c3c08ffd4917ca6c0623b63fdd90c7289b9744389571632603c383f26d0a6faafa9881c691f6847ed2418f3379c1ea56468a44e8e744e2f57103fcf04daffeeba506fb9e89dacd3d1d41eed61406f4fd2d5da9b33d6672376aa003fc9ef68c2bcfe5d62046df6d72b0e100e8247e655a0734942c7c2329f2a9618f02191d6b036e80734c7b4ee741a5735255a0efe2d8b7eee5fa23d7ffa5bd40696a9ca85e0503bbcffd290bb17574d039924e259707478a30c491ddc561ac0443ffe93e2e56f403d55739fa1c051cd735ccd12117caf08df3174ad3951af1580423b0aeb027de000323cd0f7b03ea4e010f81701d8cd506686b11b99b1e8b91cdbec7e8907ac7e16003c6512acb3fb369d3671415364807e406a7c7c597251b9a3b4b15f5ced42aac2e0219ffff03ef42b4c3bb5a232eaab59699b3f6fd470246d9ee3daf508abf5bfa412f2c393c03073da0c9aec43740e11db22731f7e6341f7a3c63d53f0037235c4d5254365b4003cc4a145866e5999c50f6204df292b5662a8786fc61821209b29486ad9d3423570356958f8e81d89e99bfeeaa69389b341c4dd97ea6831131b48b370ea699df11860380fc42d9256e4e38df3a1bd84c42975f332832d35318ee3fd260f7ca9e3bc9c203c6349907bd951817873484ce9f967c750fae41ee09bd6f07b8cf88dbb7b89072034b3f33df314605f39b29732bd504da3266877cd7475ad641e3d590761111d6a0034ef1974b902e25a7ed87f91573328c7baaad499034ed4217fa03896ce25a1ae703444b05927c4773036bbcba51267d86cba40dac10a9d27d9fe570e2f303db34800313d5de6737acf85b9272c8d188823c4d321020b2330b5d36a8c3c73addfa3b6c00581f0334780cafc38f788f82f0466ba372d10d822ba1c6af24323f0813bf7071e0545ed1f14fe3e0313444122c6ba6c59aa11a6ffbc700581f030b2221f9d616e51434bc1975d4aa7296b47fbd9ced0abeb2e886adbd4f30582005b93d4381bfe361f959986e5523b24c16e1d8d8b15d99d6e693a1872be9848402183003c8f0b573b1dbb2a219c0a7fa72b6f70c40d5eeaf9fbf4a4f25b50b535da591c703c6fd512ea2b073f270abdbca8d020d857f91affe50b4a15cfcc35b53e8f8f7480306e0f2bf342c12b181a47f2e1c12e7a8b47d29beff4b34361f2718a31073d3fd0398b0a6df6c7ba7b1c63ad10497a7fc01a302f0fae1d70617c432a57a478001f403a9c332e2a954ceb977efc29d3510ea330c23995edbed26d3221c50a21098d64b03064fb85e3555c3255bfb1773bb6769bf90926ff2aeed22259f989880503946e500581f02aa388d3d4d4d037721b1756e986b8d6060011919d18be4cf53211c1c7687548682f76917017b52019ea125d1ec1995a025cda903380876735e9f15bcea21c37150c1bd0040d79a9abb4bba2e095c1e164595f68303d2e395f5d27c1958c31142bc726cf89d266bdd4ed2520b03a5d7bbac90cf664c03ee1fd9a188f60f4d439ed77f78d81fab72fa89b6ab6129cdb3779dd19e30fb9002196bf703037d3aa599f19afd2e5161b5cc0161add49bac891881a952a36ead97db10ee1d03fe0e757bcdd0b5b7e8248290acc4a3435fe1a7830d4577109aa3bd561439bf2e030e105f1a42621b306174de66893164d3cfe705d9d2b2a8a160255a8e89704e9b03ff83c52824323594482f3cdb9fb71b9b91e91388d7b4e24102addb69591853e6034cf074445b0ab61015efa01633b4333c5f13b70c6dcf71334cc738ad6d7ec0ff032947bd365cb674a7601c031c26279ea8801c7e1cc9465c19f6ba126c6890ad600372fca1991a9f00f7d283c42d8de086f824b5cb14800a7821597bb78dff299be00219ffff03c4190f4869b9033e57993f753299e4756209e9d0d9064d09e24bbfb8b78e05390384eff85d6c34f3964232d175c5de6daf3ef1bac04d295d9b76d6c3555476e6d003b64d90d1a02a1cbc2144c7c7c438ea97aaaecf6228a4f03ba1d644857c14e0de039cf5ab11ac73ef12991d410bb3c0351ae76cc03e1ad9c6c52a2c65acd8b64bba036891aaedb920f60e2ae0c285a8e376084ce1279b53b60e26315a62ff9c3b657f03862f1d09e203c4cf714eeb18438036780eb272a97d9cfd1ad40738415d8b38d30361e57287b45c2fa6d2e6f764437dd0f031d6ca29039b7c5edadbc7f645c31746030a55a7101ff3117d7984af6c69382a3778523982864ef6823ad4f56a6891fd040325ca7aeae43d368c11eae525f7a6bed61040cd950f8ffb5592c3f6d526011e080368af12c7318dddd05f77cb19f77c2ae59ee77b175ce2f315a2ca1d6567f9f03d03816fc21cec441a8a95b3eb51724ce63e3d6b903665e9c71db8717734be5a78500396e12f309107880ca9cc180ea55351d93c55cfb70fa6a03b2131c6a8f08e88bd03f0de1c65a160d5fc26ca36657750a6847b34bab2eb85ef046204766f7ecec707034c72ed19341e6e5032e6cafd8a2d258165e4461fc3ffdf30b027eaa0a1d4989703a4c492fd287b4557dfc26c0a7fbaccd8489eb1232c89b3eef4a3d67cd7c7413000581f0248ebf227cb551589ad8d914a5f35af4dd47fb081147640793e445f395a03548134ee988ef47c193cdeadac7d870024e72e405e00581f021d534152f2c21257ba385f18eedbc025bac6f55e4cb655ec223b4a0ff6715409ff707a98a1305fac33f4eb19266c01202b8d63038da22e1d7909c44c779a1647ee647ad2b9b1adc43d963f93cf82f04f4c90e4c600581f0259305fe0646cb9951630c8cdac1261fce8d642806943e907d699dffe3ed6543435e33b773883a84dd00e78bd7fe97196f69eb403a855510ed697ffbff14369893c37e423de64a7bfc291a60b8e32782887ff572f033237ff0eb504d04d3b8993bc3de6c6712799e0ebc6bff73cfdfd7d031c1e937200581f026871e400e6870332af903dce3c4606c881e45e01dd3cca97d60af6fdc48854645c15bc41d6b290f44e77578953ea4c71ee5b240320d46c3079fc8e59d0301bac352be4c202806af0a4b520f129d0d43be7debbe903a57df63c8ccd7fd79cdd1e1973c599e800fdcbd172b9a17b894da9f78c45cef000581f0385ccc557f9f21f3f82b1a4a366879d4cf5195ef5d8a21502947b18e58db0542598e878b0c4df066c597baad9b51ae6843ea0de00581e02f89e271430e6109c208f24658b756f55417fc4e7bd4d5daae6a0c8438254ca02d33cb465bf7bf9b1f62393643b0684273dda00581e0210340bccf470e688105ab76c6f48501faacb1ce58c1a6531b6394b601f582003cbd17769430aed60aa8b9a5867b375c3fdca23e56cbbd83e33290577f50449021901040219900003f6932046657065d66f45e721b8f7f28f15570ae56b14ed68cc1d75515e8465b403c4339b766d831edc6dddaad08c2f00e84b3fbb0b135a660ffb60f033eb96443b033f74c8c3057001277098b7de2ae21fe3fda6bb59469e898dcc3b66f1b0422bd70219ffcf03ef8fc78dcc78cdf11bc9b3a38b8c1acf693caba8ade617164e75292ba1378ad30219ffff039a3c8aad353994122e27752796bc2d714186984725e46419a0ec09753392b3f600581f0226b06f94280186126a4288e81589f5ff12015ce99c6209b5570ee97ac44754f320187b3aed99e8e4a550c899cab45460ea6298034e7bd7a3db8752461ab6526198336bb7286e2834579a553316a98c3e84aca39600581f02b340141a9c2786a4aaf8dd2ea0b631b624c201973482c9487287ea598002548ace0a01ff1fb0976b1fe32c1087220561a86eaf03207d5c3cc4b62927149c6dbd40ede60ca8bf8e774ed3a684ff4380bc88836a2103c3744d9eb6e8c9ceb57fa644cc79fbb063397f136f01a0a5f9fd21dde71edb9c036ef09946c156791dc28aeef3d52a97bcfa68f835f587d30ad7c87d02ff19ac8201410700581f03645de9070560b17b6eeb12b05cf4ef62efcd8e39e00add62d552856049104517fb47460000581f03eb3de70c734b55c3c8b6adc1a3ef5809c72b3b59e5141a86aaeab876b86054e2a16ddf313f188ebf8c45b46ea3ceebb05357dd0219800800581f02133b1911d08001bc10370e0288f2ea234a98943e37cf747997ec481f5ac854985dd248d84bc6f748960cfc0fbd48023b4af32b00581f02f3b84f5c7e2695f77065b467e1dfc15c1eb01f637cc1e4288d85a1f76ddb540743aa0fd4950ab54746f61ecf9f26ed31b41f2400581f023412b39096f2621348bb6e0302289ef43bfa70d3f3b9cedb813603c0e03054b95702f91c1e2e414b8c16c4fbb0ee60ff260aa100581f021dc8a53ebeddb510ab6ceecf29b1b3f360ef709addbf2a57c1229368464e54e4ffbeb03807618e427e2b600357d65d2b92e68600581f02b1e9ef01ae5947f1e00b9c226f68c441a16c468a0dafbe6406bba6c6c01854ba805ac5cc5701617253680f7e28abbe8ae6e03300581f02c22e06a9ef0dc6a8a2d8209884171a102f2df35061fd899cc440efa9e85154dac26a6b474342af343028f025525fb575e29e7c03fe8a5df878b26797db039fb7b78722a9a70737a3114243515c5b293a13353e2a032805058878f5d47f6d0b74ca6b3f9466959a06be48cfab0ef9ada06252570ff20219fffe038ccb1d4fdc70b3be42c3e2dc0a3e587e05e99649e70721c2764f91c60fca0e04036312daf09c021507a3311845f34727f14a25cbaa86e4e81f7a09733e68b08c6a039c4f139ee9dcbb934df39ee87b60a8063be2968cce2442b81d02d1f150484b600353c64861b31a23881912dd389240b96780b2b3ddb65109b0c995bd459a00985e03f265a900badcf961a0218d844fdf03a73f42bbc0c8ae5bc69f25ff6ed86262a00332e2b0c3ed007e2af02f97bdee0aa6495c746b3ab2c53391ddc52e9c6c14140c03fdd200f20c76f7ad1dd72b076f40e184db0405b253ab9c0772c07af37d181fd603256497e707077a45515092b3fb92e0c291190b8014304ca3b2c3123e7a7f75f203522b94a9a72536065a969ff3c38ba93a5baa2d7fc5313c92f0fa151f2de49f7203f97a4ce6c9f299ebe95cc32f4663bc95ceb62c9261c51483dc00652ba6262c0f00581f02378bfd1653fa2a8d0d16cff3ea7e2d3e9d98648d08e8bf302cdf5d19eb8f547b8033445ff41c1704ae3cd8702cdb365cdc0076036f8c23733df1b24c1588d61956e60d39a956f983ff74c1478fc84d58dadc95b0031d72f7d687bca012de4d4cadda7719229b623f8ab113b11c237e01b2e879035800581f02ceab37f8f7fa47d534dd9cf5b7aaa9821b9a839fe399c3678027c283d6f254121bc38cd4eb944bd2783da6973e4a3c814c75a003c3da5b6749a5278be1191b5220157557123ac72d322b7d1c454adba4783879a300581f03cd66a0f694f1f3ffd22f34147565e8b3c62626b6f217e608b4c2790290a0582002f97cd23e7d4d1b199152d59c080171cb78fee404470aa4b268350187020acc00581f036f24a67bd762653c1b9f5914c6451aa210178e61a85f7958ff3a4498fc9054ef868d7edcf872a964ff4c59bded37f906085695021980020351618ba21ed18d860350dfc28eaba5a9cddadbd91f65ed272b67282f8eeffc34035d282d7854e83a369f128be6d67ff31cf4b98e3e58041a9e30ad8b310a4d83e803508a0c5bae41478d2c72c8763b8803d6c0a97a240e61f60859c67f58a9c12a0403fb39f47e7f9911c3cf2eaa8d8d7e3e7f3c44d84a24840ceda241fe22d2eea7a1033e47e76d0a1a0678b16cf43722d7576c44f591d4bfa94b59d81ca644ed2c2b230219dffe03769d5a17d308fd078cad0cf8e783c9700c6e52d62f4a45b863f4265d277f87bd031654ab65b80326eac43e4f4b53f9af917a0a8925e73a09295f9c55599df7c0de032f7accd6cf979810570d7d42aefe4e36382eef163f8a724959554b9363717f6003dd083d7e930a5f13e3795d491862abc29575890bcc76a70474c4a2f68eff1215035d106d766dce73f8be62981aa448656b2b6310ee6f7a7e539b674f7d412c1a3a03f6a6da3b96e4de36e019b11e5cffaffeac57006a6da0d0385450d44e4ea600100399687aafc6aa18128e1dd0b1da8787afa876556fc4f225774cb7ccdc8bb8e1a30219ffff03925bafa49ccbaa3545e7a5b227947118e27e79bd7d20939c5fed0867df8be48503914efc3f840ab229e2f28f78f9dc1945360911514901fb47e3d6d7f28248951503b9f16d7312cd3cb50b18d2efa0690c4496e252c49020af83a302c4444c59899403d37c399299afb4e965692f3640eb4cc14e675d7f6f1aa25ab4cb7109f05206910321786c4e1550d42dda862b9d79c99606bfc75ae15cab93da1bd54d92dd22d7bd03d9dfb10de68635f320d08b57d26ca1f95c4248b9840f52c7c509d28b91658d090219ffff0372a3b628ea20dbf3d05de429faf5e118750d013c67b73e755bef08b87531b0300332452a572d80826d3c73af28d6d4de4c8ef0ab0a6db648da1aeda407734d828e0310eb691d73830f3cfeedceb6c0da64f20fe7b2dd63f93e0f7b8435032b446b38031d303b6a2c9993c95a861342995335cdf6c98cf90c7aa8453015ea487d934c6603824f4c04ee38ffed58a9abe683f566a6acfe8a1991366b1e71e60042360454e103465218ce414f32bfd4b3a6860556bf03010428357e137c3e4ac3712b7fe5dbe400581f0249645a964e5fafdc8cf47232e387aedac5a836cda7ea34ca08d40cbfae36441de8d2b300581f02d74f97412f85db06f67aa315db650fa84cddc9d85756023f9c8d3da00a3754db7dc9a6f822b07d113cc4578503c46ec01c3bea00581f021d3f36ba6e1e03d3dabfdd919c1e8486ddb49a16d35fb1b058db53f8644554cc010cbcddf9bc176ee196a38e969d8792d6817603ae8755319617b56896d2d5e5d8299332bc93568f7161a4566036f84e6c1dcb2900581f02fe64e96a4edd0627b5566bc61e8d26ac7d3ddfc27a92976dd7ed737ce14254878ec45982b46ad909b3458a9842e52da8791d1e00581f02beaa4565781005c508c632948fc6860db1f5226260e654e40f04afc8f5b1544bf977faa30633bea4b11fb0aa14ba61cbcdde4603c6db55ebea150c22477a4010175d7fd44ef7022222cfbd3ef2e52fae23b57a860316fbc30023048befb5b19e2425829c60d9dfac02dadcdb6ccd09dda54f2021ab03da92f6bcd54128c543bc7b26d6f852cb0a685d444e85baa1715f683074b76839039c1bd78324c9b53a4024a4abc62a317c39c36bf57862984565948d65dd931ed100581f028e3b3086345ec71adb2cb7c24d8021353622dc11a05ce5547af588a8804d543e672e408c38a71b35e5d876e9d35bbae981533800581f028a127a77bc29e47d16eab25ea924a1bc975b2579feba01294b543ca6674c54aaeb81e0dd1c729fcc0e91207cd1de68ad5f441c03f396d54a2807fa04b1219dea2fdacc97928e6722f119ec7b582d9f23911e78cc00581f03e36732a9d76f9c550a31d5f7fee30bb414182c4f76b6c5ad4c2901bc03504504a817c80000581f03f3263c37a33850441dd9b041cf3b67ccaffaff7083d0fb7434578e4beaf054f1641ce5fcbc1a582dc776c3fc77b4acd614743800581f03468f5f9f081580c6c7cb5318ce6251e3d855bdb08914ef0927286e23ca105486222e0dc1d1a9813b377fc4ee56d742128819c2021921020219f3ff032eb5e24568cd5eab43f02c5a859542ea7ac754c7771412c1b8ebe940f0e4c75c03582aadf8806e12237513ebba02c0a22c2235420a2c01f8cf187b48cf3bf69dfb03f096c518550228efa5009bedbb249be5da6b7584cabc14f07a30fadcc8e0a28803eff7351269207ef7efbcb26b4dcea9cf155a7080eb897df8e905b8c94a556ef303efb4acc5dbdf54917490f7b1514c682963cf3d5341f29941cfaaf9c4bffe96cb035cc7724cfe5ab0fd5c5039c552838da3bdad0fe33929dab7a7ab88400f345c3503810d95c53a9c00fbe64e2fe731b728e6df210fb3ff5c53172265c9b7f51d53f4030a8b2bfd7927b851183741dfaa3c3fadbb02afaecd3b9e4a0a0b490889b67fa3034078b7d00f8b795d381f966e4df2b5ec950fe45d7799d90135a07dbb1ea6a2b40383b2a7727b00322db0de2dfdfb53499e164ed9ea8e2f328119c5715d9736701b03e75de2fba81efb354f27008b0f3fda5219655e3506966bcaed7f23279f57931003e74f0d979aae3874fb20263abaa60fd9bd457cc410626b5434c390fb984684b303a8d16b62f5595e03e2751125ac9517f58f6b587b3f2be90f435bfcfe6f40da910219ffff0358f37cec426f59b09295fdde8a96dc2be41cc22c8856b65d63c028a36158517f0389f6f5b04a2010c4ba20aeaf3158127d86f2e48b6fe692e9533311c245e601b00301c77f18f1eb415a4c490fb8a61961b6d75a40aa89b6c6248147e74a327c2c8603e53fc38287f81fbcd00d71d63ef2c1de493a71c258f256119cc4af2a8e7bada10386d64a2dcef466a2be9668eb65c918d2670bda5d8007ad409dfd33180d97948d03845839aa80abf462db3960cfa5882b9634c31365e3778c263ddf40c2d761a9be033bbc91b5124a384b803dcdd7e1aa9bec68a0433afaf301bc39f2d226f61b4c8e0315afb94f7120b73c235740cc82e33363d784c686216ce17b210f361e1e7593b7036372bd92da32cfbea4c94a39349a1a5c8ad260a54f2dadf13b89ce0f800a799f031d8059be1b286681a177183869c203862c148d316dbe34213c69f8271aeb486803d1e1ae6af7084fda6c5e47232d63a1c297e05222dd69155ae8c63a8148ed118c03db73c72c3ed5d781bb3adf343bb7007ccb6beee2c167a577195b87b70899292603f491944894eaad4356abdb96c2872113645ea3a7ff04de15f8fd64cde8ae702100581f02e9d98c2c78f18f95d6abe5fed087d9bf20b9c0e5a521d5b5ae0fe092f6b254fe3f792a0cba494588d1e6c4227fc8c1428b744d00581f02db589cd3b53b6c6fa2b658c1df9371577002c960ada12659edc5526bab0e54ff5e401eef0258df7fd510e271c4d7c251d4b877034c748522fcde818c47bc5f8076b48e53c04b8459c4cef9e624375bfa16a5686a03aa1bded96ac839d9720ab4d1d70b6b2ca780f0f45220c0ba817ceded3787ed530312829df02d92a2b8b34a1ec15914333ec38e7f6d959fb5efc84dc3b4c006313503434b28921de0ef8ca4671f9452ff357db0d8be0a32313d0afe96bdca8855739e0338b0f8bae14fb36e452e93af1a3da56143e83c3bd15034f56811423dd0671c58036fddcdd96332fca979556be0748b68f574fdb8e7aabf6c3c0f166e2859cda6e003f2fac812b21a290e1463052dc33e91d21df8cb055d0e4451f39639cf62a73d8d03fa67bf0df52c5444573bf5634459485c62dd90af922303730143d218ca62888f00581f0265b9ae8559f48a4862f4be9a64fc114cc14de6bc5709ef90b92248ad4faf54fc74715f03762d41ba57afa1feabcdc8d59946ad00581f032368bceb883b8acff92cee36ee3898f8ad5237ed8695b132edea3a2fdb50582003cbc25167ffc91de5f57dc6595eb0b760007bde9f82cf84f0ce485c9cb335d103d69dc251d84bb90bf72b6d6249fd07ce2e52e9c3faf4e0c7b3cf1b0ca4619ed9021904100219fbfd03d00e629415fd83ca8f424efccca48ab3789466cef8215432d2e027098209c48803bb73125d314eb955432bfe270f19fca24bcea27890a9b1b699c41722b89e059a03cbf2aae1199cf1b883761abc5de3fbe88d0100f8a28e61d3bf41d1f7bef2b18b030b97a6a58e3d2f8cc153ee4244384eaa8d0acb6f421ef8aa9c5497ac92857c8d03ded624d7ec7e29030b68d352b270cc658f4c587f4a606d138a3374c359fca123030812a0c4cd1ded6e5844f144f3b676ae7cd07180d54726e2b602197393c9e334032cc4c1e581d39b1bd0411155ce4bd92b06763ff08456542bd86bfcfb4d69e5190339f7375600dc025db51f3fe2033fa02cd601e8d30cdbae72f61240acf216372403ec696045ba3e3b2816855a97294fab852d14b24dd4c1952f671883214fe8524000581f020b984818930527f4a164b85247df2866a2ea32173855f60a9a14ada4325c58200629d6bc84b8611db735a00644067d2aff8ae3ab4225ad7a3ba5ad9c75da4d85030c95d99854dc572b94949033902f11810cfe871cef421a12d700618d11e9a3810348580330f0b2d7b7301657fc9cf4ebdbc95e4f8a9222f8ef472caa47a7b61ffa00581f02d3e7fbe2fac058aadf1e232cdda880de9b74a1861c623cdeca8990ee154254f9a259f948b8027421e415d1eb7f43edeb0092f200581f02c69ce3f185f6225dd3334911ae09118ec142623eb806d876f608f1dfd13e4101039cb95da89e03d0b44355c8ecafc960312d698c0e2cf1a709223c5d449e12d5880338c35e05e36863dcd4bc93a4ab9fda5b4752b36984d9e3dfb7eca20b611ce33000581f024d5adad381d5bac13fd8e688d8b6c5e4f452d4daf76115f29bf1955e5fd8547d0f930e82ecfbe6719de52a09dcc3f0f3b4a49f0374c64ddad5626e9ccf88f8bf0339f0b3c0ca568fc4b851734af78f8a0af2047f0219bf3f0219ffff03a7f70afac17614c896e28bc34d4200d1194c5c71649028bc5964dd5e2be554810356fa3e5a2dabd073f614030d90dd06cfbfebb2af337e54cca2dfc7b9eb4a496b030557f7ecf3659c590a27237589fedbf806e288a48b58fc3ed3d2e034377426bc03b61c0938700c98879ac7266dc2d558f1c01d85960d3943c6e3608f54ee5eaa4a03d7ce196c60deb6706b950e25f5f818c60fcead17155abaa3d14528bfbf4ba8b2036332211940ec4bcf0b703e46b68194a69ff715894b98a5c0075961401afdf0860301ab6de08d0448f0a18a414c4a3ebd9b40b327f02d1e165bd70e5ca6645f77370357db4507287907ccab28aa4c929847ee282c86e73621d411e8e5fecd5c628fec03c55e03aad4fbfd3f3531ef5178aaed0dfe7434dafff775d21465c99a1bd0fbe20382fdbfc551518db2890815b62b44bd0a7cf19e8600d45f7882ff67378279beca03475f66cad7d0b0a259a6e0ae1f5cb265698ded3393b4281277aa24567197d5fd03162b1ee84115ddc356983dc7aaefb92ce860393d46eae74a20fb8b44d0570e24033be4471ae4d84cee838058266cc4a7e41ffef41325a7b3323164728d847e8e9900581f0277e48686e10f11b563b62f57b422b2f65fa75de41bc84f2fed1a08b2e1ea5820072d6c42503268fb4cb67ea415012451a3288d5b106bebc6dd3b11652c2ea42100581f02ca38cb8350b04aa97f7553d00c70953e42bea285b558a35d570c71c717755468659b4923cccf47811fd18e7c3aa8f6ed41ee520352cb48499cd97e610917060aba9c2fa8e3b9d30616b0ad6feb951f3a9ddb8be30325506fad48c79e778d722b0b9e7b2ee1e8c88ac6cdab30fb00b3882562649c0d038649cd682c38b10a554719d68e86cce2e2a0463abcb2e56c070395065f7300fd03a48f0f3834284a6a1fd30127ac7a772b5e8f046afc6939d36703dfa2dcefe55a00581f02a8f2c5bce3f6442a900f60dc3ea9640e4fc01c40f3e33b3a7af7c2bf2cf454fe12af210904bebf2abbe01f2d113cc99cf4236803457ef0762c5f1a67da8058f5c8256648a3c43648a8a956fcb400152dfdf41ec703b33493cb5e5cc82fda1670358b8978ea76cd8daa51b77af02dec594be0307b9d0393e508463ece2dd850dc98dfa8c4bc3619a70f94e8e800927c8ebdae80979a7f0327ca68fddeb24086e06d051adce1cba7e2c486120f787ca31cf42edd035ee17c0219dbdf0367d7bba4a7ae328278be11e65a18b5956ef39482530a4abfa16a19426f2ea36a032ce9272ee3e15ebd28987553ca5f7dc8c8917081bc7db5be7e8ff605193c2828039e4948c3999e2202d5ff1ca079e07be7dc3ac2b85a6a08a5aae80e1fb87698d703a35934ef969abfc621e70c2c2dd67ab644720fe24a0cb200c871b32ef6ae93c7039fac5f723098506732ac7d935bca2dbadc5dfe9b06d37287be3b6ed8fdc26fb6034bfa7bfc324eb692443a3e05396d5c41ddc75211fc33e613b09a100cba52c6510219ffff03315cebdb66181a1dc2909a6346d0595c4f53494175752771918e8f8dea712c4d033de218d9578e5993c9a61985a826a5c197170a327af96c28c839de067d752b98034da915b4710a60b33146122f2c1b06b95ca603b726622cdeb3beefe9167c79dd037bc0a59b8d9a47289f4b8cc445c269e0f9fef2bb928a667bab54cda58477f81f03b13b6cedae939b50b1a0e2b0e58dc3cecb0bece9e617a2914838199f8738673c00581f02f1ebb9f03765db7bb1067b01f3f41d49747da7f3a34e4ae45e7c6d92b91f547456b94ea14e517b30d307515b29c0b17cb0d88200581f02242b9ff4351d221d2fc9a6f474dd238861aecb0e0686b809ae00d52512b0547a22931f265b99713379afd0d37c671dc55819c900581f02478ae1b3a078c3ab9976963461a496344462d8043644df160a7392fd807954ac7c27a51387ea6d67285c802ab8e9ca382b6d4b038d78dbbe7364d950e6313996e1ad0c6f3825708c664300ba34d7ab72a7af9eb800581f02319ea48d76b524a2f5db22327caad69cca3dd02481162f9cf1b46557ada054b86e7cde83f4215811d0288f26bb10c92fcb7139032395bdbac85e94813a7d89f838221c311dcbe789734244cdce812a53571da6f800581f02e597b329a7f3dd4de526697349ebb3e482095b4a867c37f12cf74ca3de805424f99023f6741b27d3bf6189c7f3ae2fa45eed8f03b52ee3b2bd4ae31a845e6200272c28ccb26255d60b249d2158830a2166aae0ef00581f024840648afb04e70d365207f67b512b9bae3b15e4ed57de951d7f33dfec9254acba36ccdc570af421d66091108b4398587c23b100581f0330951b607e5cd7a630fe972c4f00e37409ccc39e5a9b955edaadb5a81c9054d7529b6592276f8714756152029c51ca8181171400581f0344f5e7d537908204d29a59ed4dab456c92e78eb085f2e288f1d1d754d03058200236433565fcae0d4ee97940d8f6bdae061690ef58f2b321e7883826a6c2e35f0219800203df540b9ae0a76e0da4ca21ce7c0ae7f12c49751e35e8eb467bfc719c9ab8b26f03fceff65fd494e33fabb163f009f0ed7c7cddb487bf625c69c6eb28a6676298b5037e2e7fded221d230cc7bc09ef0451d6a9ee43439ddaab237e3ad5b890e9b51540219d7f703024d03502389ded6110f639f950646c593ee5cdb26a97ddc467fb35de160a7440335a79219689adeb220ffe0c75634d888260ac363e55a18689d1c674964927379030cf390697a673d3e03a4088b1b39796d52fcc924ae1fd66d2d44f15e1a5b1c1603d4c1ea717528df2e431e3e1ef82a9f6c413ff18684b15b9f5d0bfcc634b5bbde038a704cee3dd27bcbf766bf1800d894056df393e3c697de77b316d6746f61fe0c03a1129de3985f0f6dfc177aa4502fcd7e5b4e2a1df11ea921c5c38acae519f6a6039f49f0de18765c08c8477ebf05ba459a998b2daa274e78541e57deb113d2c94f00581f022ad364f15433d946039498afece140dc5211f4391cccc6325114c3ff3ae15436825e8617569f24f3eb8eaaae1486b1fab271a4031bc6934a3e02b2ea069d66fc4f8c49cd7048917a9d05cb442f68789a0b3f43a903bd8d1384c81faec6420b6424cdb83bee3957f4701036ef738c16dd25e1f9e97400581f0262f824785876946f70cdf63e168c6a1c327e3fe323a61106a32cba8f623354e2bf74f082155a877719e83cb92292b5c2aee63000581f02e7e5b7ff3dabf8f42978af761d7b6f45f174e1a0f0ee4c4a14909034d27054ce1ce7b208c3474f76e6d1765246b07576f9829c039067788d1176b146ffaa12094bf2ea695df6c39ba5e212475c960218b6b29b4c0328c1feb63ef8a2bda3fa776e9f91aa24931b0e3049d8e7f4e890b1d6fa433e1103da1f8e0bbeef1e50ef8629a45a3283f2a3417a4f38e907baa5091141c7701e630311ca5e1d7e92b98bca48bed167d16b6c6d950fe24d38a3ede9e86d83a2ed95a803091f53839faac69311b959604d1d852372762a8a566a33806cdc4aec668b2ebb03a1c62607eb624b8e1d0cb2604f16d6424d979becb7f910b5432238c1fad0895e00581e028a15b5ac6671a51cb9f949ac9e04d8b821101d879e4926e3c15b2239f5450ba43b740000581e02a96701853456ba6e67046b29d913bfb7820e44db7ce196f0001b6f31e154cc5bab97581ebddf80d66d945f62744f48ec06680219140001410602193fcf03a32add648b3154cd6323906488c35032f83d22d6515760ab1345953be62bf07003b8862e0407e7029e698146d02e03cab45f2589c5e5e08d9f510b42e1e62218c20219ffff034bd99ec37bf553f99ea2e821fd5228ddc4f8cd1cf6000f9d95b9f5332525f7850344a37b67964c302cd5a607570857e7c662545b52752ba07bd8632524af046d1300581f029af5c5486969e28aef4859d8cc112a2ad3d14ab16d8a6f6fc1d719fee95b5455cb16c63e080986467f697f3009f457dfcf403203d066a39480d48320a04bd4e6e4b7d6a4e14e5e1b5aad959fb16c48dc781ca6710346664008513bd3fc05614b35569a47808d2c5dacaba8aa20927a872379f14a84031b4e6b4bb4391656edb613a3684177ff35703407197b624ea955379ac16f258a03bd4bd9c84511acb250f9aed6dcee8346c0ed376f95e78786804c6214f848ef8e03e854e4a9de31472497d83bbc0d58276bd67746f3800a48b2aa31deae79e1bd270382d83d56beaa84349f062348aa9112f4f862488f7f22fda3c4abe4b83750e06a032ca8ea4dfa9598f9467d6b120ffcb4197599e81dfc945abd75c1c0f4bbf97a31037fce4a2f8b9651fa5b553ac092af8a4de534553991d4786ec0ba117ea4484b6500581f025cf0c53b82ca3d3cf31fcec9d9945f0907809873b9fe74e2947f317b6e1e54a181108a7d90035639c83ee73c377cde3956518600581f03e2e4cd910cea34acaffcb333530755ccde5da9c003f0c750204de31ea370542bdbb0440bd0d29cea0a234cf3ff502a89b66dc100581f03147c0f00bad08eaac3312d5d1cc37d2a52d8e741d25c567a2032efec0180450ba43b740000581f034eca97d3d477996c19f44f3d6766b4dcf98e981bdec3c98c236236351b80549cc0391c6110e3e88a70d69db0f074a5e813f5a8021982100219fe7703d42a3598defbec7bf188d0ca0b59f7585a113e1d8fb145646f2d8e4eac031f48035dcf9241e5c7c2a42e39ee181c6b8514d3882ed5bf4fe6f4161f85f79a80408203baa1ada02d3466e27921094ca35f40d4a6c9b138e8026e7ff34d8d6b207e1d25032a858c5023614834935a9eb0cf1065f71366cc7aac435de43dd7b87a77a1cc41033c2fa51df0c635c113e6c8e9f77ddfb0f8eee73b8ec3468b48502dbf4e48387b03b27f5755ee51acaa86585efe0588ab16d926aee53e690b8c06740655ce61130d038d0164937adb63531e648c44d5a7cc8ec91afa463940cfc4c1442c6acf707e45037c35e167d9aecc85e97b89f9c9c62ff7c639ab23bbc570b068bf63b00c35c37f03ecec70080f8d52d2666bd45227450f16aa9fc81ba4b7c7bb7adf82d76f121f0403d693575ecf0105a9762dfe6fae63d9e1210c8720cef2554d6041ed1a2f47fbe103cdc8987ff9fa8e1f29f846504132522100f1b47020db4156e4d055da5d13983003bb5a01ec6370c8afde7b9b549d5eb579d47050947deb490cf6c2454b108484cb03f7720776aace71e76b1616852ae44fa16eb7bb6bcade345473c188d7c8cc09d70375c2a4af97ebdffff3214976696b90e065951ad31c6901cab506278dc44e14f40314a79e9179b5acb4fb8d5d62b6ac16d6b92c722660e2f61e186b0fcb1b0d50500219ffff031b0df97dac9127d66c12a9c8d69bf6c23f7a3e3f3d02f2f07de11b8c61e0dbc403dca241dba28c216bb3dc412661580930caaf412d887d6144de2f681e920bf8e803c4e2adf6fc772ea49911ac0de312610f14c89aa82456b94d88ba46577a22deeb0219ffff0388240bc29b220955468f9c8ad8f7fd2c6955def0f11e79d958accecd06c3a00403f9b6f0c53bacf1cea633d4e0feccde899ad2b8d5f95133456bf6fcaf2593f7f90378ef68f399ecc37c852a8b0fba7c100bdff9bd6e5d5c507c0b265081d3fc833003f8909f94a89b86cda0fc5f3a9043adc21fcabc0ed166cf7c0efe362eb2dac46b03ede9a0f1fbed5ba929750d3864a21c66f9fb70541f0917ac4d4bea3df8febc4003f12c5520e46fde1244049487e99797641872c3735141532d439bd5ca71c452e70380afa58bb8a8c7c204be73ea0a73545581cf12b25add2eb60c2e4fb5aa6d37c700581f029d2e254428da33be0d5ff4ab48d6a34e7e967bee96dfa98000e43b02d36a5453d67f8ce929e538f1fe6d103365625894fbdca300581f0266c15574d5046cf8c80ac13bf560719f740b3d24b1f905cd5067a0076f9d54222a7e545efd88e09046ce6cc59903b7247606e700581f02951023007526c3c6e85bb9417c808ebb13ec5649e7ef4c3d1197575f086654b5441471995fb01b5568a24b58982cc9c93989b40333a247bb75bd9f120f0a41fbb9a667d6f3cb8005c0eb7b4f02674940364321bf033a1188e5c6b1620cc092008dd7e912fd61e1a62893ca290e747ea9d1b9a52c2003044d0a0dbe5c2c605068376323eb65544147d0669bd03eba8430b2d2973ecf6603538e87dab569f478209c09bd40d960707757011d06f4d117544642ee8bbe72ac00581f02a34047d90bdc5490dddb233c15bc59de6001ac32cdf1bafce58b36cde29b545b74894c706d901f1654fb50e53faeeb87ae9311031ca5317a9925937c14f3f488e1dcda21c03b58d79da5ae8977e1fa9f42f04fee03d51402c1ef8bc5518e46688a39356051215a6ea03bbb7ec14c03542a37ff01eb037f8a221d13f0accbd6e91bac888943b6b66b13b9cc07c35a6448018ef64d7b2203bffaf97d1c85bb4927c9853aafb184cc95b1da5087074f5aca9a96055ce6d4b902196eff03715db6f980cc6c6c2215c858e8236942d27a5a0595ca11b3ebf3b006fc0adb0a03617c65e6759c34d5a6f115ff4e43b9fc541feab24314e7abc36e4780f36e9df9037338798fc35af36b53593f67c1e591e4d21a86f7c200aa2b36ca1cb8da4f1c980321a6c9077793dbe1f69a6c3a9750d70d51c76725ef5df947b765bf0fff04832c0330ece0744e233fee3c38299c66a1ffc137b07c33d636db70e7af3c9510840410031583a80bb31d50598bf132cd3edcbffb9fd3c0fc37cafd7a95943eb11f1f063403fcff901fc98a76d9e755f91488c7d7bad82ca6cac2dc83912b1ff4fec300a03f03fac2ad630ae49cd842317b0a3063d1dd5be9d32cb05defef93a80b8cb1aa5e4903a1fed947b56af4a9ea16ac55ab35868941a75291d57d4f167b57bf80582b8fee03ad94817b2d890547880a1006987fa10542b5d01b5745d9589d0c72a1d62fa56a035791a7cbbe4b434ad2a01bf52baf2c3ee6d819bd3e4e19cac664a7ffa9cf8e0c03c73eaa8ae1b45dc346829604940f511ccc52f67b330ef06903508f0e9278038803eb71b428ba6168e25bda453bc9b2a81f5e3b39ef186f51ef3e19580a747f332c0219ffff03c5faf28ef1d288425af04df7f94fa28364f89d484dd4122254b4ce3913a0140303cb345e0b6e65e4d350098895cf2dca63b5672535b65ae3987b9eb84ba78bb2bc0380599e8d82b4117c2180a0eb6996f43991d805ad79a3aa0fb77800f38caa135d0378c870aba2d315fe224b85926cf41b91693306f39f138071066c0f3538289e9103960d5a8c69fa982b92ce70212e9d387c075eac44065ca4ff70f4f07bf20ad64103754528346bb6777f99768aa107d496433238082b5fc61a13b09ac03e2cf7f80b032d8a2b2834b3f1d66715ba102519c6b3471c1084d6decbf76d2ac5d7c7f40a000357330960ac3df7cd3ddc559144115a8e469d916e71aab71e48501ee21a12620903d816a9297a28eff47846f5573ab695800cf405008d4aead442f94c6b965e534d03e6c3fe4be8b442dd779b5bca1381722150d0937b1b32dd6811957ea9ac9813eb033ace269be5265e863b7950f089d3e229c01a3d6f118d2f740b5c558fafbc648903d528c4e7df87a2c41bb824141be868982cc490dc585babe4a6b2c5c7e5b8570c00581f021f9cf4f9111491b2b4635e6b3d5eac4fcfa73b0c5484b597f3b066bac95f548ab9b0c08546c884171ef5cae2d4cd170e5015b400581f02432a404ec1a134699b01cd194fa2c143a211e9b33ab76af0d9b9c0f7d5b154617ef642dd313a2e56ba9a1ec83789a76cf5c44f00581f03512ea67a345e1e5e1dcf2e2aeaae6d6f409646ceca7faa2e85dbb05c2f10410100581f03cb31aa4bf47e2184f59b0d70d5aa6c7dd0ff9f40c82e235d789d5a716770542f8ad912a0460cdf165fdd60ab80c363729f14b500581f036a2889840f3f55315843660a41bff98de3529122ba31a6ba81f1178bedb0546b9dfc960299166df15ab8a85f054c69e2be235302192006033ae3478f6616144fc405fb1c04a6355ad15742cd0289b57665810e3fd0dadb0d00581f02a83721ba6778361056968a787ac57280b999700e9cf38177dfab03bd60955486fecd98ff3cba564ce2a3b297e216fbd8aec1d9036aae0f828303d006d3d892e5cd28d09f6b0fa12021bda32767054dee29f3ee9f038486c7c6234cfedba6e85fe0caee1f7a0c3d34f24fd1ee4655b37fa3e671495500581f02b641db78a16419281c2b1db29a47f233fc3585acd9f956bfc3f8a99a9941545986262898d94f2aab34c142b5b36e827d2890ee038adb3423646d1a25e3bc501be98881ce3068a058af73ca0368e9edac3c945576036bfa494215fab5d0fde3da77d5c86b5c616eb0906ba080ecb156683f8c7098e0034992d5c9669a77c6c5a3cb3c1e9fd7c14c616ade428db05571e170441d55aeaf039ec6d86279cb8b934e50a79d15b8916f5f171e7252c137efdc73073127ea12d400581f028da48b687a7826ed42c799c17364e06d7b82d27e70fdae06910571742af454cb248237472b1a82ee071330ffa0ce5da395d75900581f021ceaaad5cfa1119fc9fa4bd9ea731053cdf8014c66533a90ce4a7927dc60548e8c9304646473b618841c134ef287870f2fd129036c3a7efcffd53381e89765a21700cc14686f019e5349c97f10ce9d00274515980219fffd031cdb85723fa4551260def23255abd72de6119ade0df630ce2d440badb0bcb3410379ff61ba3a403511b897027b2e137a8fd7dfc114ed7696c4cc7f216fd2bdc767038af71b7f5d2fb6df5eaca06680fc558d07f82b5ef521b2cc9336fa3a3911bac20219ffff03fa9c4f5a22a96734108405357df6bdb41799390c46f4893daa5a8d447d3a2a8a034fe189d55ff55ce94641ad2ceaec20c28ffbc320ce7285c17e8846aedef9e67c035ad446b94d1666bff5c6c7ea688b12e099391f7457bce0b9a383db878e8ff41403caa9c375afd2250d12704a44fb4599838292c31a6b0fc7b1e8a4f6c56cd682dd035991d31d2447721488e394ce2fcf4a4ab06efb4e9c920e7a439fe1253d12495f03e06b62a635b99bd261290ebe7c02e748b1ac0e49f876433400db7792877a2d24031625c5a898bd796cf2c1040df437eb5f1e449ec85922ad1c66f54532b397832203f351d4e3c9f7bcb84c75932fed5f6365ebc0c2dc9f473cf07b1e2d3602ad18a203d0bc9b318636d32a482a0b7a46066c958914d77cd9bce985364f28944ae7c9df03485ea4a19ae7bed7830f1bef813029e00b2b1203562180b87a7efe31a09cbca5031c6ef8da5ad0a7991b95de51dd99d8b57d0bb92b97737f34848682d9042ad9420141080373765654a06a4692b48e5ae3123b961574be7522589dc524dc346055db478e9d034bbcf0a3353b4224c861dfb465e829271880e0d6a5442688652deb1fb821cf5900581f03c55822fdddbb073bd643a44aea205158c49644e1f674e412fb7d1186b3f05820015c810f030f46306c236b937ce4000e9fb7bb540ae46f33dd0c3d4929e8a7b400581f033af968bcfaa6e1c1ad24b37d0852c438f73c6af8a5c7614154c0e67f6de05449ead8f0db692d47293669f4df36cec73b90038e0219020800581f02f91000edc4a2a6af9131e8587e7dabc4f96ab6ecafe0de6804ae544551845491d092b37c90ba1cb0327a56a85d3b114ee4b2b400581f0241daf96693b1fdfcf57c0857184836964c50f17cffd1c04d284785d5f3d354aa6bcbfb7f41404e53badf1f5e3961b50e381d3c0325040ca3273c48ea199a612f4df3ca84232910927c46056e5668d064ab8860f703574fb68002eb72c275d6ccb226911f11a75958a24a864fc389f10bd83128c02d0344cf20334b6a7c9ba17b4728934cdac915c67fcfe93302fbc91900a514e6827c0219fefe03e9bf0dafe37a7460b4d846706bcca10f600975924466e21813f25010bf00494503ded562935cbc80a54f5393c0fb10a506a8b4993b2ea000dee5f3576ac61e09a4033af75e9d933c88b668e5d1bd947ab827db5c38ac1386dd3e6995a71634c4c3f203bddf2530b10e9da92b000b81f596140c9eace206e94bd3f450727970ab97da8f03eeea5c23c1e5643a822e4445a2be4a2cbece9e29a296cc3be89b986f958035a40304b2250db0fec7b4556ae32f28a6db12f77bd2e00a5de2cdfe69d812c53c218603b72e9d778714b9fc763b70254e0337b59e4beae8c762f0d0d5aff74190b9983803d6ca01385b620caea53effce901b1d51cfb824e672b2a0ce7800e4b5e8810f5103724fe3e5fcd7c9a5ec942cddb37a34f55c3ecc4b36177679c6a6581f3b6f63e50382f56ca5a77bd5a97cfe370d0f4924b3f4de76384ce6ab060c9238f5caf96bdd03c2aa8bd8ff230cb63167e8da933331203c2809e6d5d118d527eecf81f64c43e9037267f00f9da900bc9cae9dc98cbbe4ad71dd203f4de88decfcb6ea313e3c4108035de46d3724813043863695ed765717c8cdab0ffe7d6006d1ca4cdfc9316bf02b03043492a8333d808224166c1ae9726a20e6eb5c461df4a8d33eb73dcdfa7d78bb0219ffff0359a0874a4d1ea26accfe0a8d02f1bf0a7cf7a5054694dc4bf474f001348615190332b5e8c16d70c15844c1f3e2f89aecc05467aa68b7f8f84cfe93fab7868f88b3035582baa47bdd8b91fc30d985cc74a62b6bdb61203b38e370ffb83d73e7bccd6903602f53d21b4009accc6f66011c312f44c7903fc97f4a13a98cdbe680cbd828cc03f57c5aa2833b0f9c45a2c664c080ed1118818d3a49f2bda625fe980d0ce724db00581f02be9aaa1a04e591e47589049541f290dbb587ea89cbd039fc57f1cf0ab0ac5406c073b663279106346d119af579e5af16ee3a6503b260bdba8a5c97c9a6867cd3bf79f6b9fdf7b5174ab11692c5f3369e6571c6b603266de3fe216893f69d1c1386f9b59141e852b5d5c5de3c31b0c9a55b0a7b85fa0353b28b727cc44674318db361828e12fe70bd89201b99676b8d90a54cf6bde304031a871d32592f2ba06324d8a3e06b6370877917d32572931b01914e3369f9879f00581f0350401cb522a54f6928af43348a0d144eafc445914353c66c5d8ad801ffa058200675a0049f8478c6d167a3a530c58ec9130dded8e24bbcbe7b44533d27cfa44900581f031b1926bc239110a7906b2e8af062e31bec5ef5aec3ddab9cb569540b1860545137ae82caa8a7122e7199eb84c66d0215aaac340219080800581f024f1327c09102e12a68d67b76ae4c94c85174f39d68774f7a77f6394ea90e5407ab59de8f46f17114c228b48530a0ed8aad552800581f02e6ee8ba20a62e40ec841167a6946a5242db06fa269fc9e971b143895ce7d54207b561cd88f4bea01c1abe7f8c7809979e6e5940308f9c98ee0050e723fbce5e3f08ee4592c4d14780787d209fecb4825da224dbf00581f022309f292365e55640f9283d55a846285388a1642b463fc47bec86a214ac2546350ea26075220490324255cd8ae2d25385887960325bd5afba3ccc22c28c44bbd87506d29a11154c6e86b5600f5da51fe969edff30219bf5e03adba24a9ad7ba83021949f91232c2208e6db33156db4aca3e523ded17d3204f803f2a200fe9969a743ef9f01d274b2e76200e0b45a7b8c818c6808dd9202b4597503c25f0d7583815314ca679d03cbf06e65d63d2443c19a2ce4d119648646ebd5eb0371075e62883328848677fcfbbb1e1adbdcce69fa4e8e618e06eae00be1963172030295f8e74e23d4b713ef51d069a5e7c7263fe257603b747482dbb73ebc0abbf5032b0550e6d0f89c77dad6cbecf9447ad95bd25a2242bc5a32386408813d3bd468034292cc097fefb245958389d3bf60a7382ca572e06c38734b4ca0ee4b92beb7030342c382732327b43a15626ff07be523454fc5c93067bfb7532b866bae56f47af703ea5de3841825a3eec25d7817033cb711ed40afdfb0029273d8a9514cbab21a000319e2ad8cc98d37970b0a6fbaa7681fb04ac7c6abc45523ef74c684a8904273c503ab26eef10608ed8b21ac26e7da8b1c92d6a04d34db0a624182c728b2cfff78a1033226c613e3b7320a8cf394d09259c9ef8e5915e8c79f77d28c71a22b4af9b2ad0358b9df6a0c849cbdc3f875f7fffc03c4668842a4c4099ceee577163280309d750398e947513c478d5e08b8a9edf6f0c6c2c2bce7ef1ad17c8b09ea80542cb1156e0219ffff03f4eab2286d9ae29dcd5a371618d1208c0d588c0df0b06f885c3d3c30b378b1630219ffff0383d824cd10b668f9da46666c0ee5056a440c8bd5eb3e42af6f753177c316a30f0341092ee59e987c4f8e52e32e97da54cf532d45fa15afc712d32c852b5481c06003ad42b0b04c1c6faf6aceb80bfee13ae654e567b8bbda6972594e9f8fe7b379ea03c09ba84c77c23289b3b791437efe1e07b4be65b254528858ea2a87f03011d28b0331d071a0cc6e9bfb3f937fd70d52a84dc5117de8fb5bcbda15fd8fcc525aaed5037ff798694183a08f0192b0e58fcc300d6677e9b54e3c99c9b10e01f1235d566200581f02acb2dd88790adcf8ba6d9aa3f77c99ac50d6f391475cdd4adfe927b9b684543d10acfd5c0d2cb4a10e9a92813beecc3e8eaeff00581f02d99207f5744f87ea7a2667a8c6e0fb4fd0c1cb208b72734e1b03eaeafcc95462d63bb1a167a45e534cea90659b0968845aa3e300581f02572313eceb4cabce91216c0f55eda2a4fc9b346af97c7c5608ed96363b8f54529859c2c1538dfe9d512511d2334bc5c767cad60362aff56325f827ba328cb55b848bdab5e9e85284f3228184713196b63b7e20f800581f038dd3f928e229abd4690bc49745875d675d7850a25a027586ea236d67675058200787e4e055907dc154dc8dbfc16360f6a58ce354dca074fa44f61d95258d8c9d00581f03f33d3130906e4f26f2cb25e752c19b8ad86174f91cef8536cbdfb58f6e7054c04032bcbcce4d43ef978cc808f1d2da5c0db3c302185003dbdd437447d67061718f241570e3e6f62680a62e0e3f049fb6ead530563c906603aa76956b32c4e94fc9f5b5cbae5e2d117d519b612717ad9c6c40710da27bb20900581f0208609187cdeca47b3373e2a94e130bba21bf828f19cea2dd6876d00fe9ec548c2b76ffb4e2cabeb3857d38821722d4728e16a200581f024469440d78aef1011f48395c92ba9a5221f06bc0d2449b5a95f4f545b263543b312a1496322f0c3633241d85a59ae0889b815002198bf103ae6b457118e81260374cab6b2e32172be620541e08a87a012c1f2dfff97bd421030c63aaa23992a58f606862800c728093baad7bd22e14de17057c75f65be4d594032fae85b90e8b7373d3ac027bdc1f9dc912c23b3dc29f0e3e296644ef0869b396034798ff61b0bd427ea32996ba878472088de9e836c8f88e61fa797b46a4ca1c7c0332424f99b332e0fe14e42afb9b622361055b67ba3ba5a8f2a07e4ec7ffa7a21303c4c65a1580b3890000298676c5cafda1a8b2e7472dbe65df5a88fc5b46b17410038402af46233d76ab882398378d76fa4be6c82679efa04b56ae94b6e14c3b093003d7e0a4664dae182f9ec117c123d19047b6c9126e87b64e6872322dde7802ef6e036e6977bf6c503e0f4fd7be00dd1d960327eaa79e4f616beafb915380b7bb37b3036f4aff53a10aa610e08f836a235b5d9a34d81e2a833ae97f44a4b42d49dddd790388eaff9a4d98c7a985d8a4b328e37c85b7e5fc112ea8ccee84cd22cb68a9e58e0219ffff03a9e2a7eecacbe4494ba88b96e83d49626483dc4d63790f3302b2779460e5d1530371219da6f88d9d56116078483c4bf5368a1df48af2aeff15d5de6c0a4cabe63403a25675842d665d7fe2b21c0f73d8e1d27c183aecc066b9dcc2128f420961684e0392c7f129cb6b945d14f3262f1c8e360eb88123c68918819397ee8a3354088957030d8d4f192ea81fa586b916e3a4097db387b316af63bec55c7c1df5de3343ee5600581e02d854b085a0514f8755f6862e59235f885264505ca4df70b32f6fb5d0cb440510ff4000581e02173dc169de3ed27f4e0a961dbaf57f30937cbb8ad5dcad683071bb8bce54f8b584bd34e89070473c29c62d6d664fa8b834440218a001410903775e7932a88eeda7ac5fee1a0358a996ac13d35ca53fa2cd5c4ecd7eeb3b80ba0375eab52f3957762497c89787eaf1407ebbaf5f216d135b91947550a2679771d8035baa07814dcf103d380217e3f88611d3df3c55901ed2799ad5f2586995985f6a00581f02f551a5f10b202164ca5332178f3cbaaccf4a0689a83f30d4bbd066f30b95548dec71a81f696c5ca3649b49cc210979af75ea1d034f001d9ee28e0a971fd6e52e34c2e1795dc54a1e539659cff39d1ce449c1caed03a2125f1ad49297ce8a0b2dfd6efda65201390131e0c996ddf3315ec8dd71e48b03444519c9e79894b083ae80081f6d0eed60f10e4c0533e1837f2d9be070fe1d1403bc2dcfc9b3fa50c8a640d4f64b654912c48fadfa81439e6e4dd96dd32cf9a431030cb19591304d417a7f37c7642bb5efdd2bec877781e335bf9c4da3597a9ef0ef0219fded03a0a3459057195eb0cf1f10862593c1cead31c9503dba30bdeaf5e68ed6b00d5f0389c1cbebdbdb526efff71229bf43ae684c80fc255cc8873b3e8252714ad6264c036de9615e3302d20f35a01ce5a589e3cdadc881bf27249a20b75634238bc0160503fe26dc888ee85c0278e77be78b4d8e064a745d5da7a0a254b402163228782a5903374dfc321f31659464715334f7ae0ce361ef713c809cf0bcec3dfbefab7d4db303bd2d0e14f9158ecf0e2d68c3438ff4e0427ce65821151277bff89fbd3827871b03628134d3165e4e130910f261c908e48429af9282e3ecfbf2f7ba16a0e3f063360375570466795bb79fe2fcf048c6bbc2c0d031cd26b3d39b561d9e0398d0daf5be03e2dea9aae55b1b8ce0139ea942fbd5184414e9210d701bb6e19c1b3a26e3bb8c03bbb9e7deb74842d9298d76a167745328a47f85f59e423f495bae754bdaae7f5e03afc68616eb813afd02b21d36abb7b4bb50d25fa4c618313170498fa2e0796fc303f5138d8757d7c67fd9b54d57a22dbf602dbee960d6654d02de6c891e4f46c6070335da3a12cee231bab98e5b6edd6d5fa5f8b9a37d5c37f5d12b1e9d280c5c03ca03edaa3fd71a15ceb5486a67c810e7924eb67ea614d4ceabef5e9f69b6a154294d0219ffff0339d03c5dc91dec14ecb06d34ac906a21250014db928028cd31f82595bd6636b403e296188ba22a7835aaa5eb9beda2b2c929531b73810d561547286481ff60c1320397991f01a5524e82d854bf6c8fee0e5b0c10124735ee7a464f503eca95f9df66037cd23c4c1374fc562e137a39ecf9a36322b7941456c1a2cae029f79bf0065fbb00581f02ffd0a9ac9e2e02ae5552d657111950aa5290201b65ec8c59f0c8123437655471223842e35aaffef0fff7f83baa5d52b065b61900581f03c9dfd5244f770bc6ab935d296e887567f1d014710b55a7d508dae533eb40548c506d29f9b987a4d9e6ba305dfbe8e463bc2ad600581f0392ded2870a197a69fd581a33a8be2c90e82f344290058b8e62bef4d61530547bc388c37241065a47db6f3ccc8bb2b437e94ed300581f036d4bd7d636f5b75d9ee29d632e82621c8dabd7ecc2a1789beaac628c43b0582007c666870ba51d2b88a54bd889d9a2467f26f91c05728abca123c7fd6a79a81700581f03deeda03a5b4c7ffca04872b0e6f46e0b3c2c5745f411f78dc4f6fa921a3054bcb9b968dacbf3706175571d659e238d45a6d3750219a8040359dbdce6906b2e56e0b20c6abe384fd6cabf7f3a6d4d9aac1bb8da495bc150bc0312c5bde41554f40673797d933eb7722cb2ac12d99a6b0ceddd65bb1672ef6e160324209094e1bb8d262017244a6f47f3024293e4ed596a1dc89a25951402a73e3600581f029a1e37e41e5669c8f8ca2cccc78f211344f96da741947262dbf07cb8183254926a86e7405c60762f69246c97d037e1d90a83d803bdfc11f1815d740fcf28a3a64748445d24c04a65dfbfc1a814f8c2cdb1a6342203344c0434ec8ee30f52832b2fd83743d6bf5701a557819454b4711c639c0886f600581f02017f4437722d81fee53d94f580431c8d502a4d31bf05998444ab10a406f9543a3fd2ad9249bcf337c81eeeb6d950406ff8722c00581f024b71c8657d5f71a497475a9f4845790108f8dcea382880616ce17c6e49c7542f9a8cf29634e4ac431959ab9403bcf1eaa475df037674aec5ee9017b3a21f4b79e571c6e7623187d367a0cf04de40c29e21903b7a00581f02d0587c512c5e06bda17b2909aeefb8c0bafcfb527fb4ba6730750000e1e754faa0a5f1515eec4bba6feec1a69899c92387ff4800581f024b2e9baa9233c9aece13441deffad0d16b473b1b2bbfb63193396a51f18754422ddf9a8c3ffef50235be21ecd723aa1bdb3dc900581f02623aff0d130edd097c10fdca5d7b894c07df1ecb9cde9c40d52bffbdfb69548c7b15def17c700828f5507f2468ae6c94a81c250219bffd03bb24ba4765620f41b1c652d7bcd768ae76892771d948ce062de0bc34d2208621039951074880d9270a0cc86015448f1817955fed3f745763f1ee1035358d80ebdb03facde4ea2c2ac81e4922db053898364aa26b2a92cb7fb6db60189dc09cdd9dee0361ac761e64d4661daf957b4b1d7a4e6e62806880c43538320927436886c6b85b03146290250a9964cc5d5b5b47c8b1579d3ffff8be04ff88f4e52fc564e283155d03054855375d58469f1a89ac4e7709fcab6d74f5030e8d6d75c441b21994f6ecae032819799920a50b30ac2fe9a8d3913a29aa1d5dd4cfb0b47348ce71cb05890b5c038963d31ade7a2ff06bbf9d8de5a2f6137022931e6b83fe6b609e7b242183817b039d60ad1f9532ceaef3c25179fcebc9ece30acfa816b5f3741d3968a2babc0d3703b6e5f01d58b1844d1dc9f5e8f4504e24fc5187cd835b334372feeca738cfa7cd0395cfcf9ad5db23fb5ab222e0b8a4f91d97ff0c11894ed02a3fd830deccb4c31b0219ffff039803d9e90df294122f940e0822fa2d8253c1c04b907794eb9c4e6c68aaf400e003f10eb51be82fae7426523c0d50c8196c733864f347d139ea850a2f90dde3042300581f035e549fb59efd7792e0ccaef9965d6ca1c96639de38ec2377e4f565c90740581fa2fb59544b563aeab9fb95c0f02f955824987c36de3741b6080ea4a8d6ae0b00581f030997ff7c90e336a224d52c7111d1ebf3e78c02270ff7be55dd7f807e4da054e95b4e4e0e977a5f37e68582a90d630a3220b08500581f033846544f7d81f7bc8fa5ec15ce679a6b13d19f4fe8bd1c535bdf4de211d0546df91577777773fc3ced565d8de2d7cc0eb854fc0219450000581f026023b798005a449f2eee7c06e64ea8ce62f26a49fc4de29dc1b76960df3954b6b5b4bc3de29743860186c0afeb4f3f4a2e505f035b71e01dfef8acf0e31df060fe7d2864e0a045349f717eb6c2c499777f867c3f00581f0253a94eb26531e0c62b753d01ea8289c4d30b5bbf28d6bd466a653c2604bd54798fe61a7868cf4b76e42ff3e032a04100a6dc7500581f027338e116aef0db2ee6370dab65dc45ea1aebba9d84adcae9a85f9d68ecbf543efea58539f3e0ce0cb167b56ad18f2c3b4c47d203b1529324785159b1fed21320b730d3cf6562c78477fdd05cbbbd42979b9e136901410a03d06a634547fbf7f9b3427fe537ed4da5485b10d072d17942d7b6389867c3ea1100581f02ea331efec394dc33c0d24adcaeb415e19adc887db01a03678a037486856c54b3b89b50b4b6bf1adb0ebe821b32e355f6d47e3a00581f02706255eb612bdf776e0a2de4cbf846b3365f1ff25f933cc6834f8562091d543ae38d1e445311ff06389c8fc8bd325b13de711300581f020b4abdf53efbea360830df20e59f943f39b7506688f9db3fcb70ce80933754351840b13d6c769a3479c9b2d0a69cdf4855252a03ad66acd3770d5b7619660c94aceba506e0284a0a71c1b93f4eb6c5112078e622030f2f65e488ecca4b0b66d7cf9ac9ca4ad8563f8439e41ea7becd35e27f03a4930219f97b0379667081b30fc74f9fbb7990a55347dd8cabb722dee2c8d03ee550c1785d8f810320260002fca1efa622d9b417e0b07f9ab7088d97ae19c11dd1e5213a77b25f79031f0fcfe7773c6d06406e440a3b7ae0539199d034abe2456f805c23e52b5d62aa032f0edad3ea4047f34e5e255f61899f20b7b879c6bab70e6c0e6cb72080bc40f5032d997b0610774e0c366ac518762c045a28dd824a144bd867183f7c3ae06711dd0380490703f2be67daf17b364813719ed67e4200b12d39e4fd4b20d9c589b7ea0c03f306abc4c5d3f42f30ca87fddfd687453eb8bd4373bf14668fcc84d32a18aa8a0321315253f61e1a49a4362660f6b8b328af06db08dc4fa7a4e76fdeee8ec713fc03502bb452f9b3026eba8d18258466e89301f5c880c52e8dad682d59cc46fac01e03010b2e1e258663ad004bc6549cf86172de021946351ad36f47a5fca0a28d45a403c4ff89fbc582cd30adffa7e28057923abd0d5c4ce468f4efdc46b57927ac19890364eeadc74ec101f3eddc5006f334e1090a639c0cf39dd975632c70a9794382ad0316aa2313c6a682ad2c839eacb9bde929632aa8180f9dd072669c09e05510e9b70219ffff03741c45edc591df0b815bcbaef26373c09692043ac9c13f4f9843e7fb0c90904a031b2c2d2c3956f326318503d9ec815e7d68ee648dfa36d1316e7193d32a0cef2b037f8fadf1addfe5949f674054c2f39eb46cc543a479b9de12826968eda0db623a03de3218126362e729e6aa598d1a5729f573453e434e3cb262f38ab6d484e2c731037cd7f342c07b440ae0fc0ad8022388b30ff45f50f35b28ff6ba3ed869adac306033a9fe614a14bc29bf03e5c55a70459aa854129946d5ef7cd4c7b59889ffc30de039c601c230a4d3335e954d07c02e1e82154a3da041895d2df2a0a9cdf616c63c503a4cde3680f6b8494ba933d035834fa52206bf36d6aa4e258f0bc179a7e36018903be2d7796279fdb4fced5481544dc65fda2205b3a236c7ee6e0af733dda9f8aae030b2fce5f45f5bf1f04a17a0b31da10db109357b4a9f495757922297f361eee070373527d3d0080a5d9b505bb6134520c44ac0d0c34f79299c972573036d49e6a4c00581f021f93e0a09d5bc2f349259ccffca3309a5a2d5ad3e2099a74a9680005b8f954501fa5ac4d0864fb4b6fc8fef64280ed5a0b003c00581f0274a60a2dc2ecf98584de80d746abbaa2a705a78fb9f1803578eef5272c0354ff80211251f14514cda7f6a00e7e72edfee88fba035d7af3be17f09b1e84dd919420a0cf4c41f4f08d2ec41860eb0c5aeaf5c78651035aedbc734c309001bc4d5dbb5431c8f75e684b57282b1841c051ca595beab4ff03cd1c6b1cdd243741679cb329aebcaedc0df1e080519a21ae05c53b0c9b576c89036dfae69cffe6b23fed557d98d8e38111deba7fb4d242f75fab5caf7ad91fdfad03a3e48412d7dde6bb553f2b872a77f5ba789fdc7dedda067e154a1c7e1a7aa9a000581f03a7683c68253884a01f2c3aa3f8b42f02eb11bb012c1f6fdc8855f61054805820069c7bbe007c10c9c29483deee379313f77af1f3ca0ce4e372b64813fa89837f00581f030a8ba054f994351074ab7dfe069ae056175194dc9f3a58df341eada37860544857690609e5dc29253618863ab97a7a071d5a6b02186000581f02da5238b0c49edee14a0c708e3f9d99a514e4e237cb0dd7796a84ba399a23546e24fc2dac6916edf3c9398ee2b13f2908eb647d00581f025a4b4503723f8c993cc01be94817ccee92965fba3d39003d535840fec1da5445458a2447ed9303526566111d588475bd9bff0800581f02d19d8e5fb8f8f88db709ebaefe3ff181433bfe10f8d0c0214e37ef4718cb5405cee664ff7154969a39047282a3cc33ab986b3200581f02fee80a628a8ba778886f7bd4cdee9e9d648dbd20389294a885730aa65bcc547d6edb8860af2bfec2fd424906c8f8a3af6a3d820219f7cf031d6c2596fabc09ac77cd67bef38fb7e062c889f0a927e1038ba04406aa3850ae03b5e34d93710b532c47c26605af956d25a447bf42eb7efd3fa6c83a0438b20a760372a3b51ae0662aa7603f7d38b9d69fec2b9ae25dd28f70b4991f16a9ff9dba33031d34c8d57ebe83706bab4180e11ad0e04ad9e30d848db2db5ea1731c10aad4a800581f02719843824e099287afbe4ff634def74002425672815d67855749663263dd54ffe7b7b07c95e34dcca4e4f5e5b5d9669bc582b2036c50bb3186d1ce6e251207c65a90f0184f9329ceb0f848b29b75bca7c6d5ea3700581f03eaf38aa4ed2eb3fc85f8e36f2686b50864b05c7579f423fc87bd398ce5505440eb28243a4f5c7f6bf7f4fb383c67e74329c92700581f03cf6d8c9e0ef1b61a62799b7eafecfac1ac0da968b8c755383d15090b6390542c0df87e073755139101b35c0a51e065291cc2d30219081000581f02d86d13a2080f67d0192bea9e0e5d8ab130ea79e000493a65709ba52a97d354b108098168f80bb45400c66c69f2fee1eb58917e037bf6030e539972910d9848ca8fe6dd405f6e26943b16d1b467578eade710ccdd035241ca3add468583881cad32ccbaa3007f0e6070a6192e481532d22530356e9500581f02fb832d419ed94ca0bdd2341535666f35101f4305c476ae85ed0898796d3f5412a2deb352734cf2afab5d9827e7ae6f7854b02703daadf5c9b807a069a652b9739960897f307d59726cb37f7165fa7d23bac0182500581f02a32cddbe5be90ead9db639e6b6b5552441ef6f673d8ccd18ff753b2bf8a0542fab1fa377cb2631f0bb002fbcd0178819cd33ac030c07fe0f5dcbaa4b9e57e16282e1274f9937cba4d19fe133bf88ef0678e00aea00581f0286b3e8387ea64ba048206b7478ecd063e85014c9b21f263d2b99e22b68df54b393d1d503dd68d5c6fe9b629a46c47a998b74bf0398310f944ea84e1fa9a2085d16f95dabe8f099d44b1cc13fdf7a33244f594e7a0219df9f03b45e471476ba3b710724c127883571295d7bb6c7674310f5bda3f3497ddb164c03e728009f78e5ec2c88a6894879a667ea2d29d9ef4a2d30e634475ca591fa2eac03aa1dfbe5c3f8d2151c17aef83d5f96dda970a76d581d4885445da31dd490dab903a6027a7595cc7e588703fbe5f38e1eec7e60296708cfbfdda363b3f3efe3bcec034802a0ef681a5beb906eab777335dae038f8212c25db16ee1f12a395a58b701903f7395a1fe1b0b2f3aaaf66442f91e4d854f6ae89a6559f69edb68a210f14cb8803cbb7076d4398da2748c73f081174091c0afe102f9ae84eec7b0c6e8b544da82f0219ffff031ecba2aa673bb31ceb0b7108a743f90c4f6a92f33c0268bf7ce9b9e2024d2ead03fa290db4e7eca9c830c2f268d3dc4208146914e9c3f73a676456cfe5637e939f03a7b0eda1214313b248dd68f1130729015d44fd3996054d946bbd486276d95ff403d1f894110cff5a3d86f42f5a7af8897d428b28805d917bb6e42c670da8f871d703a74497eee9a77b4a33f8eb9055af30138a08884b14be2e168cd326bebdfc37d603c1999675c334c2b7c23cc69ff5a67d93b96eafcf6056380846dd40bef4d669d303e87ec9e0020c4f6e238a039dc7ac39dc111dc8b3bbe7357bd97ef372c7911a12037df0f96ac3894c1a58aee15413dabfeba7b161733c196b2fb104256b91802abf037074aefb4cfe1f2cc44a738c81c2de3ff1a007e3014072439f8076652cc990e103cea43a97c839f924730ae9301ec5aab5096d000083f99623ed0f6dc8b7cddcfe03bc18b87d1720cdf4201e56f2b12ad49b6114c4be25b9a7fe05ca3a4ce469e2ed031c3fa5cce46efa0073667607632837be459ccfc2c84b95d1e78d73f4b23eb74400581f02ebb218377e5415cb6cba0e100d38dbffaedc26826c1817abdfe7184f13645820034f0d27aff79a089020a8b7901e3929daa2bf72df21a8609586cc4cdcc1ace203ae17d02479dcc50a28fb0c0394cdfac50e2a3c3935509079044134141964e06b00581f0226007c50c062711a157e58d5df05e273062a5fa79d03df86f4aedf35270754a6b49397ce21bb62200e914f41bf371e5940bb41034d5fd9562b1dd424c24c317c472f3ae9b8d6a1d1f6a8e613b8047526f74b577500581f02ef29d91eb5795a9ef1ed6902fceed532f11ef8d02b3e36a760ad55fa3727548e4639c39c03cc69ed31400889662be8c8aa6ebb03de825bc0490c1b2d16160a4dc88a0db792f49ebc4a5c76d5e7dc7518f48ccb7300581f021618df22e94274c9e5a9bb78eafb63211e495f5fc3e4923bee37a9b57bc7544b4efabadee3d9313ecc8a3cba261efd62d9fc7b03f1bf3bae13eeb4b822f51da95d3df1bd2cbfbe860444b29796a67b810cfe70cb014105031a2bed044bb6a4cf1728a7203fa80602185662be7c03a0ba87478a0ee93d84c30350364a71490addf266e40879bebe02e74d568f4eebb0f309fb140c5c27564b9000581f0205517fe1ee6985e4170637867ed4acc9218aa1ea5de3b0638be69d91fb3d54ba70694b64718be42de058240ef704598fde8e7c00581f02e21ffe2eb6dc1e1eb90649455521049c8ebfb791a2ac3cad3bfb554c666254a2040d6b10595ecba2f751737b4a931a868f065502193bef03a036de49b2e12456445763f89cb6a868cf57634c4ccb40e7e623cb4685943f9603c1a794fb379659237db1c9cbef14e4b9f9fae3bd78efe1dc38261c49c513d2290335f0a55466c921f7b0f61fc39ba394589ee5ca80fbe752f90bf839187bc55c0e0219ffff03f27525af6a6090db01f1e8fb2f0f871b4996a720f38fb1075827bbe9cf1707180219ffff03c255f25d48c5e05c5163410724792bdc035ca5ee4eca8e46bad553b7230c74ae0361eebac074838f4c2f164fd220cf8c934a5670a6822634126813564f1308a44e031ddf7bff7634cee692ff5c5d6d7b3845ba0b38ba3cf6b82c92cceba4af0679840301113fb0781e15121850dc07966a0360489760fd44972aa50a522a539d73fb9403622f06a35c0a48c77f21671758b2c9e68401d9f91e43047a3a1339f51d8ab01003239f09e8ce10bad2e1811bcd0a59479009ee9c67ccc6506af86cab06a828986e03732568de6565c933b20ea514376eccd737a3096d6b83897042b57a60aecd8ac50311160d3a6971a8633fbb830d8d4443c7b9ce8685ec8c924eff445851c47c397503f79a505651f60dcf47b15bb34c618fd5f62ca213bc32a3ffdf7a21398d987744039626b50e454ca1af406421da3240d057bcb79d45489b5b47d80cd179e00eb1d70398270037ace7348f1305c0efd1a3369095dd874f0939093c56f18664df73d9c203af10d37367c5bc24beec88fd4fde98bd21a49822d6379c8b48bb68ae9978594403e454bf71ab2b2f5823fe02e86f93badbb44ecd11b666a44908605c7e860e5ace03ff395664cf04dfc6e43c6b6b6871e55b6954aa46a362f5929e6ad963be7b225903b261b92712efc1c51ac5b05cd3654d8ecc1ae00c33d7ad2fdc0aaa6131e66da000581f02ca9b3d4540115859a7a50bf2ba78fd0bf1e12666b3b342f3ad294674a4d654c7e294d5da58ebb9d2c7899c8e7c4b92446e6a79037eeb82d0cc1f5652ece76ce62617793fbe090121f4fd34e9c2758c053847345d03a4555fc90ec2dd9eebbbd11d8e674cfcf7eba3644e11c32c2aa6e2ed625c1dcc014102033010ef374a8943100ada92c327a052eb3a762c1bf1c648b11226b5835cf29f07030db64883bb3b23d7ef829bf312d30013ff80fc1cf1c3e4a2a8855d9bdfc5ddb5039577879c89eeb8ae3785aef62733387f0367197f75fbcda7fa07d0692b179aa700581f024b98dce41b3fd3af4e616969d04ad529cd8671337b97968abc8015f41c5c540b0b375f7c7e6948f51c3582f2aff559022628e100581f02f9e612d2a09c2d989bbd7d9a0dbd9afffdcf3f53e6b357f1fa1aba02f1e554a4c147404e65bd919525a1ddf131a6a85937801e03a6625710c3651bcd2728874f68ec81face9cbf98cdf453894bec3bb852f53fa203927c7ac3e2a4c00d90a1a68ea7aea7aeda6965ccb123b419a022a311a94c136303ad83b849782976835fd25d528074b2cebf4675788d42ad774de43e85f3e2ebf10369ac0d83d58d9b9def601f908393e4649b6ae512c7530e971e06ac2b1de0500100581f02da662ed5ea7c74528125eba285b2c8252710d77b504c33f8dceb9da4a7bc54d56a853b1afeafb7eace41f06d59175312335af5033278cb663ea6a052c4b3e6da25f7ab9d9d1e618f985fdb60af1b2debf5dbe76500581f038d3ea7720f932d59bbb1ae6f0bd382d227e16329a8037960b6ada2d691105470ff70a9fbe64f1789dd484bad7d099afebc908100581f03b5e2ca5af3d1e1f36ea5e1f9bf327df78dddbf1f8014b7df2e1e1dbb75a054e092ea3f77ecf2a6514856f3fcad0247bbb451b700581f030dfe4ed9e53ca9d02cb3744c3f0317da5057735ae4b2fec135adffb2c350582002893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d03aecc972ce617c726d82a99212d45ed6ce8eba8bd99c5dee8ad425fa611dc6cf5021944300219ffff03683c5df5304a67d78b351f029d2cc4c4928edfad8ce3721929cfa9fa6a3c23030219ffff0398605d51587819c75054a2db1d6c72b3a3618bc8b79d81e7da3e28c3d000647c03290a4e5708b50987238ad8f232d827a8b236d91e6c37c9fbe06dcff9b73d65290305d512b26166ab51baeac69b19556adf5f2d83dab1a887e1f425ba14356dd779032753a0fcf1030c01ac672e781a24f4ad0fd66445a53f37fdc20b7c9804037c0803e1cbff0eb639d61be7347812bab0733d6c316c800b9d19d182ec5cba21bedaa70389714302e0aebeb01e2a0486df51fd0217489bf63be490992f1854efbee01bd6033c602fdbc3021a673040b073a39aa81babf5461533fb0e025d9ed17120e8552203ec6c64dadb2039a15a4854ed4262816a2b93a1fd866c400717ce7527a7d052c8035b28424c28c82a2e32611a981c6bd87bae88cfc1d5c98a6505e796b67cca3947030e24f0aae56e80fd30058fc70e7a011506082092708a47342cea6b49ff682ede03dd21a3230341c3d22fecf3b1554816fbe4d2a8d194d592ff36857f38d3d501e50322f5e0455196bf52eb295a4442a605a9e33d3fe764b8b1a739ca708d5bd90dc703308ca6893b48963e92ca29c1790984b3d574492845140a3dc2cda62532a57f13036397c3bb1a4dffd412288a9f35df4206bd4560a3abc7a5e276671c25ce065bf603ed9b5a6d43267a61f939a959b7815e6edd394b2e2a15bbb676f75d9853cdc89e03935eca23a93c7ef9674c17a6643e7f6a6bba96f8edaad34bd54ba84a2bd6b1da0374ab210103884c475f69b3835052ddd84366d7fe8d7e78919d6a55addb410fbc03c47b7a42c98476dd004a5d4e543102edb6e7d5c93746b48a12f98ee5b7b965dd03ce17a25b0dc61e91640790f1fe0e70c07c2c84169deac907688db8c1bd8c2e3500581f027f7484927c694a74394eed95aaa3a2696acabe11f317865131564d0808b154e05cd69bac04778a52722083b216f3b62fb11e1f03921aaa95d32752dfdefb95908a3ae9040645bd02810756a5422909f2b083f8c403d70270fb9859e1e92bd63ac92536f23ed9ceb2bfdcdf82baa1dac0ff5650c76a033e9f30828ad27d1ae7dadfc9515066d7dbf2cb68f7de1903688986f9c2efcf5403d4cf88824b9876bf34372719d26f1d9a3c1a3dd86155368624a401090b24fb4600581f0227d49be76ceb02474a03ba3b13a849c068f9e8f71f4286bc262b87e665ed54dea752383f9b7906496e2ae5f33d66fe11a0b63000581f02c1de8331741af0910f052cc89b0d25da3456ef1029202fb419443a131c185453402691fd27f911e5dbc816dfbba281a178e2bd034a96987eb15ab1b6a607386d3dd6e3f7fd1dee672288df6e60f1419b1352e90100581f0219455da105c6dd35721e209ff907b4de51e2b68c7fd65640bae9167a224854d6a21400bb0ce8ff30241631d2c4224cb855efea00581f027f8fe00232e0c22aadecba2ac79f8cf17c4e653cb112800e3162d54b2d86542f573a409666730ded9c02a843abc13c2b357e0000581f03e51fa89f20576bd30819831bd4b2b0f071c58029728b21e14fb8b7ab3a104401b06b2100581f03d4ca64d2484ae565233839a1fcca2590f28bd269dfb58d47a47ef26265405820033b720c9a462badefa6e0aa15ae9d3433afe192732bd6cb7c761d8a12d363550219080202197e6b03c834e0b0a067bda98f25e8c3126384f61020c413a4bb636bd504067ba49d9a1c0312856c0dbf01e1beea1265805ca3ee17ed983a4fbd8f25094424144d437e5d8203965e1700587d790f7db36dfb7639d3498bddbe0efb4803e0499a3f3b92d4c9310219ffff03149cf1302fd34d55feb4c000c326040609c7cf3ff4266b72364d3a21b4d72ba90367830573e3e942da1126229698cf118802a02e1621222de9d591218c2036c9bd0392d0b9dabcf694f3d2648f770f5e15c4033d94173559ed759c63dcc528b8658e03c1f2741ebfa79f3556d5a6b74024bb1d3d932be32ad5a3635959ec7a42b85d0b03beaf08a9030fc93c0879b38eac0d62d033fd445b4f989bdf6400ccffa88a83aa03b03185e18cfd2c4f695ceb595112497f3ff22ef7d4dbea05d906668565fcd57d039e2a1a6a1baee9c21db8e34ebc37768b8730dab1c8b0c0c50a09b300e1c13aef03163994fefdb6d169503d830095764e414d2cb75e06505590e24d83efde8e45fd032cab66f11cb42358fda9e0d3e20bfb521c710607fd77c3bf1c9bd2269d127e9600581f02b398e9c14487e580e3975280bd381fcbff81b564096526d46c3ef393e49f543d00b20ad5bb7a58ab4a75ce80933644d2542596030ca8a3a48cbc42132f52016b063bd56c33cf65c8362c0cdf98079e1d2a8a785c03d15f8497d393bc4d82a414c112436778588c033f6e8687f04a30b1261de7777f03dd5ba72c56959a8ba7ec6864b31377c78e082b62cfe8c5f9493a13209f63c53003fc0aeab18d7f22a6bbbe5752926dc696471401ea3e6f03338714df8a5ebd3fb503d10566afed32f4d1ee92c71eaa9bd547f0e961132b94625a01155e11ed7ab35600581f027f7085d54d3fc3065a2a7d8fdbaab4f2449d04c5ac67d85c90ba623ec09a54a728d89ec88e1f2ff68264e7b0bc6c7b1dd367e400581f02aece7033d59bedd0f24fe8ac3921c2a7da17be93da22cf8898e387105634544f3215bb59dbd3a868510ebc02971570778aa36000581f02ee8cffd91fadfb3a17cda12a5481830ea484693add98f53d9f306197bf2754ea1c4ec45b22cae27da6587d7e09a31822664a9103002e884458abd49deb6fb50770e3ccda4186a5e6575d12ba59029a1ab5731e8a00581f0339d8d347cfc3a9fbde9c935303f3a62aa79be3773497d761055749327e8054f2d4da092a521518f9d0b9bcb97b6f88eb189cc000581f03dbf51e4454fdeb959b36ab24692afb662510f8faa2ee7bd0561bfb7323a0582002c9b30cd68b591c364bc227db1f6eeb5ebe31fa5653395b05268c99833a5d9f00581f0379b1cba3f903282c9690d7a0cc8e2d5f0943aa6f065636d70532d59196105426d8f11a0f5ce4e608c2d1953bc25a2c1b2e2a7c00581f03684e75f9fbbcbf74d7a64954e37933134058e35cf880535085d95478080054a7a17e4f4423695d11b332e28bed380d327e3a9302192910034f566f726efb9af33aa5a1d5f26757766d859040262933a86704695bb861e26503d4a689282c63b0ee32c245882fd2f073552dd52172c9ec8fff9c6b489f832ed400581f023837086b7fc5d6cb33b4ed46b61065f2ff99bad6b9acd0ffe8e8adb14f3f54c585f4bb6efe6a34952eba9b4726668abac3f2c702197fff03e0c0af47d6e71a2191f5234db683027a9fb788ed2d351907b4e80436aafdb4470330a8e6c22e6383fb86cf835801f93af600951c97a35720e4ceca41cc6737dcb003e713f141632bbf3fd54a6cfee9c4d90c17cacbbe201fea3df9b920c610453a0d0334d5bf09cfc984ca5fbcdc03df0d77c169c37c8efa7b14057c8bfd6f3a58c91b030de1ef751b7f9cb183f283b86e56e20d107ae90baba28b1e95d2d6316f2b1f1e03742286617f03ba42ae89ff20b80f574c7eafdcd2a8cf55adc91c4110534ded290366d137be4b5795cf5d4fdade4596bbcb329f62c1a5e5c9fd1fa71bc7040f88590219ffff0304411ecc289bf600f795f7adc96053853b5a779e1fc9ab428c69319f01b34f1e039fa3621b0fb018eba09f5428c4b6abfb963978c59392c4762fc3a4e41228cc88038304650dcae821b4ca87615b19e9b1e7e30c8d462e49a9bf565ea403f62175270321313b5c5282bd52c482e54885975c89b55a43e2ad38006168f59bc7d3abe9d5037bd72da2a8fb65e5a057efe73175a1e7543a63441a4baf4735eacd4d315bb537032a9686a2ac53bd03800304fc54fa2c635b175ecbe3a99145048b9f044bc66074033e17bc643380f449af1407f35dfd5c8c2a8d79f11abcc301767321c74a1c522703444d386bc274b41a0b49850ad1a3599d979b71b0f0e1656c6e995e698a7885980316bb1873004d31fae5cdffdbfd2e5b011d10b04604bbbc74c3e71e3cf1c54d0303360fe31817263d61427afc834afd7511fba0596c45dcb99de7086d0531faae3e037ac50658c7f0117f2058ace21ff7a5f988f4214326618b822c1bd50ff858c29b00581f02804ded62b30b07d74e901738e9b3a8b1ce4cbf38ef9e8ab7f656ef5144535489eb8d017454055649963c514bd4673ab4a74f66039eff28194bfc2575f66e9757da85db11505ffaaca001fac897706997db937d2c0376721fd0f33d45e7fc1e94d0f88e56e2e71585c6a0eae81849ede4bc442ae445037a2da9eab1a682b56bc6dd14bdecc711493a04333918ff9ce1cb037404338b7200581f02562ede0bbe1141fc6b281ec49aac7867ba4b826e3536912aec2c01fa6ac054367de2388c1ef1a9ec8d4a2414c3f8b0b041e63e00581f036c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70425c2a00581f031bbddab14849f4db2c264dd81e6ac7027d01209544b0c1398e22437c40d054dde729191d88ac25ba67c0e7d85505f09eb026e100581f03f3b72bda4b1d373cd68308f92ff57157c808b0d8092e00b57f84d1c61e5054834e45ee4296b949801033038ba4039172a6752a0219c0400359eab41fa74322a41e42b55cd854d3197df49802ec511ef1f1ae34b5711cddf9031faad0989a17605c0af1fc4ff67c34c7ee9a2d398af69a98eb75e9bdbcf78059032507df1cc7cb12b2cceb14fd3eb15c1d3fd49d8e821389817e62540f4be635aa00581f02229d175cee990fb75785e1cd10b0d13e7e1706a5aa3c32677b84095cae1154ad1a818e368b1d5cb5d7fe9ebb928141953ac948039bdfbe5bad88330ef3103c38b3920ce56805076868a4f0ac13dcc9a3615c2d090219df1d031aeb2f3886f1c6477d45fd342b5d753dead91d50e4473610783e984073d492ea03f35c39090f6345f20ab98acc1fc7ac047209839882bfbdda4df5a06734ac52aa03d37302e04587eb5a3623e55040f59ddd84f739aa33c881841f31b40209d0334203dbc115544d1f0c4c75c701479bdf5d5a89467efaa7ab7d7664f214dfafd5f26503e24a94571bc722d7e9a8bc4b495b084a886e84d78f8b1c754239122669f410f6034f81b30a3422b2038951da9ee98f967ceaa3bf465abe6b1a073a6aa1a1c4e60803fdbdf476b85343e95f57cf31f1346a98f22f6c742bd26c75debe023af723f41303162b175e47aa5b4202e9f4f861a60726b168e85229140e94e6a5e9fb148ee4920322a732629895dd0cad6dc184def2bf715c3c7d92141757f00625dff4726d7ee20219ffff0219ffff034dc3a91dba2bf2106396a52f8c58016ee73d6bce69735fba26032ba942e9d75403a0ac2105b6a83968daffc66c2656510ce56fe82b73a1e3babef106af7082cccd0313a219a75237b1e490f0de39833d01e5459a252470fb923fe21cc9bd52aeeaeb03ea2a675fd76e067d1e579a72d48f3115cb0b9bbef7812e625ceb35299f7025e103f5bd77d9da50bb79e03a77f70c75ca6a4fd41a00d62489305f32d25c2fde76af033fea74b60cdadfffe0092a48f393c5432ac599191aa3b963ec40a1d3f2b1e3c303fb709d5ce13208cbf076b185ede164f745a21c143883155f80322fb132532098038b7c7de95a9e90fb350beb024d647b03bb786c0926f40edb46232e827aa9503d038522a21264648d95e0e7d2107394b26268df2b14cb358d899423c4739878b7d9033505adbcbe8791b4e4ccc13a035b971f5d11151866720e19b76ab4338467499703b6386bf13e2da165a1e144ba12d5fbe25667380e0550a3f703cea0b954f40ab4035650a35b2dfed5ec94009a2fbafcafada50c14efc1559899c4ae4c123e18dda3034fa90bca1bf75592e784ac8e742a7e4bd8ec0ddc924711eb73b519af733b67da038079fdea5c2513009081a479779f188cd255f9e622f380fe790067b3bc2daa7a00581f02b540e58fb361b73b5a3f50f278215acf06273fc05b8b2a6ee49a6feb3e384406640a0e037ce3cf39572b797baa2fc3213a659ab2a8f1c04d891804823db1a572cd046a290396490f5826fe936105fdcc4f5e9839c890cc4ca2d40f3ffc8e0f8b436f6bb53e03c6a0c03b707d473c20542024ec551d563fd6f3cba99b3762cf269a9f118406b300581f032dd5a7ee901ba12b977b066ba2764c562d216e624d5c7b6d5b53400c1cc054a4e38467f61ff838870de3ea6d8ef22c512152ad00581f035c564e4831d3db9ab4fc2dff023614a84648c08d11f3205800070057b020582001d514cac5895e59a89067aa835af3b3caef1966003143635f7579f0c00b2b8e00581f0347ee59099fcfcde381a8fbd1336aefe38545ca0f1e8cce9debeeb37cd37054e5480e43612f708402266b2095d9858070c6f5b002194210039a538a2a4a4a175dce87a083f58c97c61e85996e147f4e48429609ae887dda5100581f02e26adf5218ecd896f36ab2b12538fa1e90f50f0461111bcc8949554bddcd549c956fc695bb8d9848832c908a9243955964a7e700581f0223b1a9ef86590d712ba8409b3c55cba15bd28084ae442c59ffd93e8f09ed54113deae33236d6c1d7452ee16149ea6bdb7bc1ab037108833d57d6b847c5ccd2f24a587412cf1d45336896e4875b2bc44ea5760f5200581f020feedbc2b47bad60f958cc017b6ce5b371ffd608535798e32890665251e754f86186d5cfb75937305ab7174ed9f1efd9e5fe5a00581f021cb9341a65816d31eb35ef35960ec1f1229d1e34cb2460cfecd5e9ea527c5480edb8ebd646837d50ff1c021a65651a9978323a00581f02394727b011436fd73965cb8aa29846d37591b3d77e3a123c3c55927f6ac954130bc8196a446418e25d99886c4eaf459feb9ded0219f39f038331fba53627316c2af023723ce37d8d5ac1f6b2345ccee4bda1a3438f88d5590374589a5461284e39dc076025fc69928e68a4bdfcc3211f51aff2b5b5ea323a580219ffff03ce15b38c5fbbcde99d19f7dc49e4dc70073272683316c6d81376e9360bcc568d03d6bb686b6d9428a77cdf352f8229d66e0e5e50749cb92a771ee35d145c6dd441035abf249dbce851f489f0fb19590a5a93315eb94fe0f62813fe8a8932930134720344c1b78b56a364647d5b415a276adfac6d9f81da9529283b76b9c3d7935af9960307ef3f27fb784829051abc8d3f7107e84979c29cf500f87c577ab698738112cb0391b72e58f20217a3ac3ceaaf687c739298bb80d757572e4aa670e7ef82d3f54a03fec2d9de2428c7412abddbc8b6f1ff93645a54c7b1e2a4810a5b8dfcb62b1a3d0308a5348ab69b3ba138e5e4b36c245ecda38233ba8aa1f8fbe613e17acb57a6b203f37a2c656df838592a896e26edb1d08fe8fc735dfb6a79575a1f21a7cd12c2840315e784509a22d7cbd753a3c5096936b7139a662160892628094a91e1a0d3df01039771cc7dd5121d5e72d985645b12b5bfac5e4fe1801af8b9c51bef0b2cd7301a03eca4f18007e39371c92a852ade8dafe87a56f31276a887503b75c74bb27cf095039888c6adbe2eb128a72a64a2cce37bb4dce0b6601ab35705374d009917d8434b03d0fb45949ad41d158632aee331b04911c8f92ccecc3e921ab11e74fa497b52d500581f02805dff6f4645a733aebe3b2f7b832175b7d07305414eeeb69f3dfabcfc7f546dcaa6330662089bb0f6617928ae817f33bb22a903422e67408462ea3f5b6e1c05b4e8fd20beb739b5fedb08979b254047eeb654d201410600581f0290d8a0709eac361a6136a75d55cbb8986533174d88b2956a1861f37f6b285413e30085b14054d3970c691f022d55e51fd1900b0344b357f11aee2936ec83a869b486b724cb243ee7830ef6024e926ac279660b7a00581f023b4a08cdbf9a3ed6dfa8e9a9fc169020473e2e2233b5c35e78f305f8bd9e5432178d595815b129b5dfd6d76766bf7748da2ba003be54613d9cf000807cbe99aecce2ab46b10fcc68213f8715255b579d084be51a00581f02711dbc1704aeda6cf5f72d36a2c39f7b7c1dcf6b562dbf93028b33c6da1e54f4c44178528b24c5fbbd81fccaeb2a40c248c5ae037734400d423a2190cdac17de293f076636923b6cb2f00cac2954187f51985b3700581f02ff1314a580c60b19e701ad94e618b23012e22a0b86906bb04f27a73ad03e582003cc4f20f85dfd549c4d1e3f2ba7cd7f206a24a506b21e0a6e7bd23c40b61fc100581f02d153a9507ed15ac87d61875124bb8a6ed3ae8a550eb821766597aa101a185443505dd391786e69abb003887ffc29a74136115002199dfc03daac267d8f82d4c43fe8bc45dae498fbcc42b480e594fe8204867d6f56b3151403d48b84f7fbf6369c1288f2dbe1fa249b9e4fbc542eff2c9ae9f1116367504cbc0356578d2ea80daae700b141c0b864de1a6d596da410d271f6329ae63634951f2c03dedf51ee44043861e40721503d029bdc87a64c9904310894776152e157c1cf7f0219ffff035fd9f7260f119c6e7b7c801905768a60677070ee8b8326ac488f17fa5b36ea8b034a70817e4a3c3f19a1acee8e686c6f7f5a5d1a54847b72dcc58d873684bffeb9032bd8f93455b95056efee7f61658880ea43b7888410df11e470205ceb14b0aa2a033a65cd77927dc5f75f03f64e491908fb0fb31cce7d52960f8a9c24a07caffa7b03c408923288980780a0d40dddccbdfd22dd7f9d5ed3b9d7b8baa208ec71a99ef9039ffdb949f4e7de81a223fde2aeca08701befe481d5e868407095c7e4e19c0f6f00581f026a302ec226284e823a35ae5994ac0e5ac0006aae2abb5a2b12d759da7fd7547b3bbf9cd21a9b5ac3d1a76bf6148747bcd142f8035e8fcde0e794119ad586cc95f203fdfab89c5d743b24bb4c57fca40efee1405200581f028e083496729deb4b8100e2b66296421c8e41f271225af68cc81d577b8d5754c3f0143d93bead0ca8c8c2d9603c90e3c386246e03631e0b143f5a82b6424b4b8e1868610368aeb4c6f8fa0f5ac671078e8e20e1d1032eae3a47f06272cb1f43cadaf8bcc2b7dead4484b826b7a606dccaf66db05cf600581f02fffa2cb9ed08bae80b2c9a1d6cebd53b939cd9cc01530d1a6d8272426dc05820020cd027d852c8d2e40b125f9cd2283edd99d4d4b020a78e7aea728fbbd36c6203ca98f19c51e4a406e4c660f8e469324abe0d2c8679a7c27ee1bf866ba317680000581f020b10306f7854dcfbd04edfbe1dbf7f200dbd391a817caa7e3751cf6e5734547945a2d34a87aad897e79379958b22461df3879b00581f0298b40640eaca430b3e512203966d6a1b83d7f04fba9df1b8480f5906a845542439eed43bd214aa2cf4d467b57b000fbf0b6f8503c31c9f5c43b9ff6c6aea8d9206cf4b2735e3865df1c67603a29c092ab53e8e9500581f0207e5a842dad9dbb5fb5c003550e2c5664bd2fdd7531c900e9763cdb7ce2854cfb89d3203ea8042c5cd0d577c03fa4e1c2caa7b0316e8c89e338e228115b0693590dc51c8d90f46f4355df79100f9c1509439441100581f021b5f7a76b13a244b181699ff40290a6fa50fb4862ff413cd9a17a51dd55d545ccdfd5ce86f952a2457f663948157052692addc03dd7e88aba320278226a10624fd9ca2342155f23e17622fdbadf26e57e416af9300581f0209c21b7ad8285f2a2aed9db10d24e5d96c2716031a1b8dfd0c159edd8b8a447eb4c13b0219ffbf03f42ba9152ba7eca9ac101846be8a6b7dff09be929139ec3b3f8d3aa8a87327f9039561ea97e58f9be90a2e68fe307788adae518012e578cf69c8ce4e53b04dcc0103279c9bdfdedf712d7cb6a480ab856d55e7d4719d108189eca5ea0b241f2e2016031b992cb4f6c6702b16ac40570b089a707cc9ce44fb7d61403ef9002f62477b20031ee3b326bde24d3d40d8d44e15b895796a2b046165c879858440090d156f8c49031289ba7fa275c97e356220b4d4158c071b1cac3d9fa386770442fbd7779d5cda03b09c560d77c48f12438f49b59958961951de0bb4bd63224405bdc4699d0e86f903e5d150ddf9c92405e7feceeb7f6b666df65c223240cc31677e990bbb031c65bd03a077214de0b4bf7c1128b25cb3f57488b08a8b0e02587a984fc5046dc443e9b80219ffff032e98b9295dfc0d7f4568df3ced3def9194832dd4ebbf33bf9d2359e436fde6e3030c71795ed7de40640078495630b9ce080873d366c810a2f13dbbfe8643135179035a397dfd89c31e9dd11bdce26b039c9975795707f34ad096d6a7ae155f2db59d036157876e82491b65e89a127e09558b56106dac055f2445c1dcfd8a19b029097e030643062cfc994b49c1b8ce4deff3bfeb0af292e03038a621acc2d51fe9a3f81e03d6f56001e331b90c1d8826badb2982503149e5cc9ad5a72301cedb726305dbb203ed9a9f6b6d3d7aa67c51b26150778b901c8a0b47f5423d39b2ee20537eaaa67b0320cf2883e71e74e77cb62de5f40bad4465c752a436d40298ef1f79943594712c03e40a34fec027bd1bcfeb4a87335401eca2b558734fc2d6ed44445e224deb850900581f02f0b523eee3eb59fc6363a292db47c7f80a947440f61c3a637d28ffed50bf543f436e96f7fbba9dbd764294c424b38e9ff3fff80340a00b49b124ff32b9af05db635735d323d77765cb64baac6d3692272f994ee200581f020362cf16aeb8fea574364c152098d1c9b9906af7df9dc8221e375fb5c79d5410bf45da5a116ace8abd9239a4c166117f74e8f900581f02a64df927bbd2dfd7ecc22f7e7b3e7c7b122023cb6dbdd922d474f7a75b73545f9e5e87e19f9d86d58a75697c53447616392f6203b570c85c7e1a495fdb6c1c6d8a341e3a9412d7cf11e61a881d1f9d171f12890e0381ed059f1c8dffbd27db81ed2db6413e978dc5dc82639ec9c4fc1a3485b9e42800581f02a2d584ca1f5c633c00f714bba30389988c6c874a22cfecc583dc8871823354b0da4975162b6e8fd09d28869d13eb4c77d235ae039a3c38ed5221ffabda07dbcdb4af6c391ba825d336b71f6b9032d0ef25c25b69032bfe7a14b3de0ab557dd6694b30aaa376aeb15792181a05a0acaf24f4489f5f200581f02a6ddb8b2be646a314cb77d5d0309bc171283fdd5018d23212971868ef5a654c8cb47cf706c800d4cf0b3c5a012a5559fe42e4e0307a34e7d2c39c8d86f7b847ddeb1c00f87c02fea8abfd8f3559df1c739b839480219dfdf03031218c97dd406fe381793334c272f8ad5f7f72a4db9cd104c0d01cf68987a1603839207a464ebe8951d469bb90ac8d37dc4e4b46664a182a38cc99217e8f0c60d03c9c12915f65a0804f58997cf97a3529d0d0deef85b04cf102c91a12661dba6b803681a00cf3a1164d78124934f810894942cdbc5190085eddb8125e7b433b81981038c32b6cf7aeb2bc458f99d66b8082bde439097cfcf5df2212f20a57fb3396f9403614f23166f5584c8a64fabb214a3327ca49695ecc0a5aed7f8fa61ca529617ee033c5e0f81f875225a81ac15d4279bfc45fd5d1c456522cdd6821e872ade34020b036248f20bb92ed55bf95ae0142830590f635bd2ef7eb69d89fb909873cfb86132038857f5bbb6cb2ce6c97cf4dc4c610362cdb15b8d8ef72627e12dc743f1ddf900038b44158b6bb4517fa5d66d296cffe8f0dee87a6b82b9ed69ddc1fff2258f77da03476d6f784474a34a359718168ae2e9fd522499e8bd0ef51d6e6fa56e6c2a00f70219ffff03a48e890cd9ad9487e4fcda893f2a0151dc6693eb31bf0024816e82c6f02629ea03f035bd324e7845258984c1ccf81656f39bb47deac811baec7f03edddd65131cf039d7099e7ccdac34fc98d7c58745dc5bb421f7c4f8157cf5f35ea9378f545cd7b032c9214689dcd0698a599c12b37c32e287194b5ef5055fa6907ad4fe40eefffb80320a7dd064decf859384be21cfc0fe4757bea8b7c647e43889351887032c0d5ae0361067c96d2011bbfd85c8adb5a071e07d749ef8a0b0aad9640d77dd1002152880353613d359aa9a877ee7ee0d011c8f665aa3156a4fd0b694116784b921b6ab4e403257d53539f786bab4b9ad78616fe43c53c9616c5939f06d060eddc69dd4573dc034fd1665bb592fd6ecd700454b87534f557312252309b30ecc02277b53ed2eaf803e4851fa3e1fe6a795da034190ea761213612bd8bd935bde3e792fcd669c95c8600581f020c77e05606ec878e967b107e636aec9762c6c8012e9f3ad1461f5075e49c54bd84c56ac16f28f0073b428a7bf22f77b1446704039a54429b3479c8036aaaafa03de6cd3ce13f4ff6d8981885c87c68a98d00b8f600581f027a52abab9e6d0bac046328cc8c43863da2b8d6e671afcaf0f1931b68dfcb54b7d82fb2d4f325b2116642d0a21e65ad428aa9d40348dd858896ffd75f3dd5ad1dbf721e8422b1580e32ea7e13a4aa2a01e31f212a00581f02dd793795c7905984b69565c2774b78970b499401be3e3a3184327477063b54cf5114afd4d1290da5522650e20df13a5c36d08b038808fb07d65759c3f443ea1d25eca2d8f10d7c98e70eebe53d12fe088725208b00581f02ebc002c9351f86044ca9c62b5a7ab2b1b62dfc1260199efc304fd5497b775444acd0ff3be9fdfb932453c82b5df5739d28b27600581f02d422580aa17a527d6cc39225e5a5085ebdeb15ca99e509175923c870a6a65411a163ef98b019dddb0dbec8afb9fade50f1e9e300581f029bace21776d98ae4d10d58a48b7ad60d7a3aaa32c82035241fcf1c543b275469d7b56e48f4a6e60fe51d4cb16e4d44ac2d3fc0039813de55d4f6d2ba4436d9da772becd31449c9a29018ac6bab1e5203124ddb8a0323a0679269e51455b08c97a1fde54f514ca8f969928435f7111b340505fdca4903d6dfe63d79a684ec3bbd3cf237bf3361532f1fd089adffb6ffa2d91607309f3301410a00581f021b302147e216105b9d0c893e823d67c65e1fd32460c2c663fc583e35bffc5460b22dbf7fe35b3d901dd051df42d6d1f9026cc100581f03545e88c09a58a80ecb9083ac1fe5d06b64368c3ef333ea10c4208927c9505820029b76f6d536776777d7153cc79151a4cad6bc3e2dc7802e50dee1090035ad5e00581f03b6c1da719c11585c38647b58b852e9b00f5392900cd0fd74043f0bb2442054af8cfcfa6d329c0264c2bbc337949debdef23075021920040219ffdd0372927128c17f80823378e2c05c0e6e2f67ace0c620c4a1e4fe512e51aa7aa724038bc40212211be04101a8ae4c18fe6246bcab5467ef90927cb739b73704e06e0d03fffedac2317d16bcd3306bb693eefc554a199062d383feb784c0d86fa24b25530334723058ee7f87a95e02ae1ab815c08488905a4e20dc906f7f2795b99b38b72803160ec5b04bc6314b083212994d32724ff24c6214cf020e70618751d86d3342e003b88b9b10364ebcc0482a5325d341f57c8b64cbe81f6c0c0950f27e324af0482400581f02b73945976554b79578f0d80df227788606de27e9fb1451555ba08b4336085448006c2fb7f24ba3ab70069d2cb29d4eb81414e20348c15942a588524915ef48b81701a7b53e157ca40e71caf1a98405e6636db55c0375121d5e969b7520fc49b89a2bb7251803346544e019b11fbdb31587d6178cf1032b20d9a2fc6c0870d4bb780963ccc5eaf1eb21e75e0d8cb2b0a32a4be3ca033c03d6637f2a4a8d2aebd4b438c5924eaf137bdf73b57a2e927997b1c3f9b31b91a000581f03e20ee3c63667f78fc3709fab9fdba03e938a2bc342b87d95f901cd3c42a0582001941e515e0e857906d14106f7048b5bb97644e204e5d2df657e57331d1f1dc700581f034d5320aee9f7d9a19edb19cc32cd9e834257ad13cc02c8a9356d9e807b805474daec62c9909b34412109d3df6ab92a2385714100581f03f45ced66adf3ef5217369af5805bd78046e8d36375cc912dfc6eef1e4450540f1acf03d4bd29a45ae96b77c6f0f89d1853f2e500581f03f8e545140417605a2c64c14199eae146d83fb438287742eb4022264dd35044066c624b0219c02100581f02d6069aff4fbd329aa9cdea9e375923b655bc3adfe9d6c366ad7fc42b176b545b9626e641ff68787dc7037a23e223100b2c0ab300581f02a87f4c16040e9a2209d573baaad643e2248dc43e396b31c9da88dc8ee853540fc675e8df0f556c57045be9d61978ae6295d4e803d2f14dd296cff869739606e00bdebcacf8cab8ee863b5bceb0dab552090c6dcf00581f02e0d6992e3e0241d0b5d31654be6b5edf60eb860bd0ace615339df981a53354b5e2334f56b571454d200655e212318f2c62a0f6032dcb392e9813967fc076d9bc2bd8d9e23f54429a57d184f99300e060f49da70200581f026c6ba980923b0f783636da7f69e175cd689b71eba16a71b575b82d46d2c154c8da57d0644da3c3d8c7107f842d599f47e6f85000581f02c0b9d73621d8b227fd51c43a1d9bfbe5797f2a8c6d8cb85afbbade4331e754c84921bd37a5dc54b23e7b89e7766c3800384fbd0219bbfd0219ffff0361a6e6c6c11eea7b574c20654072528449e0ad2a0f122e2e607ff1cfb224d21c0350af82522600da42a1d2615e2cf903b9e398c9f992825d0e3be01e60c6da0bf903d5003af3cd9884303fb34e7a141be4b1cbe2f27fc538b790bdfb26c755da03d70379a72107462c4617064e621486f504426e2a25813b5c0bcbd26a8dd266b82f1b03923c71bf21ee0853631f707e49ec5317cde756458c21cb4bde1e9813b0b4643200581f0227a85915dc6ee3aa1fd281a3fdb0b253355940fa90ea1e3d90f588e972f554912190dcb9dbd95106f3859e1d08ef290084d6900346ca51449df2976912581f49dc53c7b4fd223188548732596b181c8c7b450bd103d22e201eb2f6a88dda2fb211be3730f8d0802e1f31ea4397ed926226822419bc00581f03538dbd18c5ee88814d9b951fa47e9b841e062e36e7cbbca8fb6897ce886045174876e80000581f033a018e84aff3a31e7edb585474d0dbec46e4942322467e825da27bb5b3c0441dcd650000581f0395e508f44c921a20b065fe127469557f41239c3252ddfe6c699d360f56d054ee0836d2fe5e1f8482eb85f9165279d99d2bb2fa00581f03541dadb110f9f20b9c708a9710436f715076e699c120e2df7039691e621054d1c81c0f996dd9fe612b920a33ba696a741227b00219828103c7aa848402993524aa4bdc1969c8b5fccf8739365053731d8668540d177245f700581f020584925cad0082f752808c577b8b20528b22001d4dbd5fd6300c3b7374a85438bc00ea43ebb5ef5150593a0ba6c381803717e200581f02d114a1fde08f51e1f3d448459c3fa94982b53f473933c6ca65175089de03546d0291cd6e1b07f687e45cfe5025a2411171453800581f02a0372d2dbda01901f7f81a5c20885726775b6ed0060089021e185430595d540242c0bf400ea135f22ee30f91ff2239dd8c98fc034f325c77999baa69e2cb508e52f26cfc7be2526321ad577080e141dff22b76f1039b4f3fd91f18c04906633646c626f2eb6e0da24968933d9a9f1849ee851a133500581f022fe9bb8766e4b99b444beddecf1dcf30b880dbee14987f039196d386edb454eda9a85a23ae6bf5881bdc5bfcf53993cd47b75f03738e03f270000495a8f81b123eaa04f77390d7ecf396833f04b3c103ca7d2c110331470c5a6847c79c803ef401212eedbbbbc3fef487d209f7100c7326add4e9d003cfe096c3b81cfaf8b53483a9780a2bd36a74701d5841debb3c78e6813cca8a9e0219ffdf03f1b9206234582db81a10c8bf41ca7a145c0e881097478f6ea0d01ca12861896a03ab6ec914ae6e0cf21d943bf135f673231cd3bf1625f466ddd440af9ca012f98003f6101e9c31116a507a5f32b505a3f930ba29fd0a054dd9fb026a6acf9ea15b0f030595ed14a15c9b35bd81cd818d859facc25f756f7cdab2fb165335062e0f075e03600381572795c3196a3061b558982366fedbe16b2c101b9e4f107a54032b1f230366625637ea12cdbcac1dc6f3c2a4cd07a99e0575fcb0829a904e5d4125d1c5170348fbfbd3871c8f6d10168c59ca4770bcb73690dfd9dc6cc02fe9e087ebb3652b0373a47a0b5e73aa7b5e9d0d037b3fc71da0a9a9c213f872d17472980aa048fee3033b71f385e349b60372545d17fdcf494941cbd8d91c2d40b1808e3360c94da1d903dc533328b6de65c0687103e533291e5da5feb7dd807cffe80af550efb74bc42003c19938ecc509958f8f5c298765fb2ccd5c8ce41c823bab42b70cdd62f00de446039af0b9d4801f20a3ad82076a773ae78e030bc0e5a7d8ef3569b848e42df61420037b9b7955054f902ac4dc7a0ec41ec85350751e3cf377e58c167b3128ab05880e0219ffff03b1e0ffcb479771375ad21bfda1f97743cf00e7b8b8dc441b8518c06ccf5cd3da0219ffff0387fe45c39737504a3523d21c0af313347f5bbf894eac218caafc9cc068394907031e4785b5e1da445b55126a119b50fb724aee7c17fef9cf6d1ceee219fcca483103c21252141b53eb3051e1fceccfde4a25bea8a46184a858a5490f4306adfab33703c4f09615e51dea9596a6589c9a8324f35f0fe1f633dc107a3f1b8c45bea2ed720346b3929bddabc87cd47f8b226c6cbec4aa5334d2c6493b0fe46be19831e8dbe003f49f98d13830daf084c78c21c176da87000f5673a8b6cc62bea3540947876d940354611bfffc06c992832fcb60acbb99fe7258f95f97aee01dd9ef0ca0a38dd19d03b5d37bf1e77bc9ca6376f4131cf274dc52d90eb6a2a3c7d81542d57fd96cd11a03df35d37c1557b73a6f04863d6adad13139caa21bb877dd50dc0c3b7d0261322703f3d76811322f8172e1f94d533e4f14fb055b754fba73c2a763458d979f99feb703f3548fcd422dd342373933d725938ae882d9dd0536502a576d1cbead6e8ce4ea033817858241457fc17bc8724c06a19a7cb0812f90edd942ff03388642225cb88c03821558db90f0538a13e4f77a8c791d36be2670599741dd090f849992fba65a5303371f696f064633dd5aa9961ba66b9af43ecfba70011f854757ba65a9c87d2b82031594bd77942d2bed355fff26d6f9b969c73fe86bfcad9a44b64d095d031d723e0311a67fbdf80469948ded70e5df14cbaf704355039e125ae8efa0885eb4fa602900581f024a8f7d19c81b4bfcf9812dc2352f7693e0cb5f63e5dee880a3b191b2193a540e010ee0b612722b4c81df2c215c5e6a46dc754d00581f02a90bb16cfdd42db52ef55f6e83b17628df3dc4b21a3f1322a87eebb570ed542cc09e282d534b92049841064550d18ff4dc4a9b030346c5845c0092d99a9123da6918ca815646b845924e8bed06bffe9dc2fdaf8603d655643cb90b639f146eef28728cda8ebf023e2226efbb6d9a1349f64da4b2aa014101036387d422386788dd7269279911b194e92de5b11a586213a053989f3dcbda8b5d03a3033c93722977bf2fe2227527849b0d78b8e292f3070003d395904f3739f73d03756ef7207fb12688b158038320464fa10d8a0af9a56e3a9f2045b4df18bd84080371c6fc05bd665ac21217ee820524335e796c2eca7d5924b5009428fa1ef9ce7d00581f025c64975e0a87b1bf2b5b656edaf8bc83f164d4d213092bd4c404ce63e1a854354d25bb83cdaad837853edf5a8395833a81b93a03ceefb61afe9d0a6e5a41305c23cd014206cd2a0b4107f93bbab6965736d3be39034dc3ff9faaf59b53a757dc535e7d705ccba5f6db8a001fe6fe7a44ec1edf0e2600581f0274087a6bd2e35c093e4ab96d42b2196a896ba3f20f10a95d102d1d21e79f545263007bd0813c91942002d1a28c14ab6cb57f59039d6145aac69d06c55da6dfbed4444e69d06862c79818ab9823f66165b7f6909700581f02563c80c49986efc210cda343fe20d03b6a87ff1a950b1109b469bd7e78415478336715d815b4297301fe40e3c2490e4084bb15031e5984200ca5846f7f64ce7ae0822fdde967d23f4eafa6f5b215ca14f19fe1340219bfff0219ffff03cbd87e3ffdfb71674ab6fa45e0d4d36e99eee33abd169318c2d8889d992beeeb0336886c2748afe978d94c3b4163ed8f54bbba8ee7071ee60dfcf84792fdd9c760037c15a550c7b93cc20b9ba059ff530b679bfa7674a2ca09f06c909ecc7326cc26031410a4e36d754c558fe1d70327e38b5c964dc2ee572b5a664387f4b0962f75040344127d1307b3aa4271f51a46e3539239e33e29299fbf3ef1af65ee7785b6cfbc03ff82e71e058f7f70eaa22846fa8e8734037415d9e21ae6506e11ddab1cb0f85403f2ed94de71659cd28834af49c05d4638d17714f56fd48b5cbcaa11e867a2d6df00581f03cf97c126e68ff402f3c83d4b61315b023a6a95f378f628c65b96d51a5f2054b8f9d6c00b0b087ef4720b060f3ca8de5a6c4f7303740988e94f7a86e4b03c17f7826e1ad083fdfcc5985cbdeb7252cd3865e10f3200581f03e74c94cda3413a9a3f741fce39dbb5cbc30a644adacf2b7629d2212d22b05820065486a27ad7673fcd39e2087e09c5d93ad80e151e69323035460bc0a2b9afe502185200581f020673071cde9091dbf07c460f3ff72db41e60a757c36c4536e17c26df071b546cc1e375c5e3fa2545017a1c9eedd4543446b98200581f0204393154863d016248effe436b0b556ec0434da272e2fe7f73c0add525f35497c794690636959460e6525e604efd171f73214b00581f02a7ada773044e67f03fac5d76b371ade5889c25c14f366a3ae25a4f350ad6540716182f47e01ad21276665bdfc8eacc50956ad0038652bfb3ce982178e916120a75e68d8fb46367545386c62488c45a72d72801cf00581f02f298e4297eb09e9ea993f533ef7ad288e2f7015bb4a3412c2024295b60d2441bbaffc0034660f3f2a9f3b3b2e5a229523860c4e67b650f2d2245932ff37cf2e743ba239a00581f0280118822b91953a4f9424647294e6d5d6164ab50cc6796178e326e601210544061765d898928f4b76961d8f06a2e2d11bab28d00581f02ab2b541fe09f9b2993f7828d9d1e2a85b180fe13a569cdfbec9a320bfdd85458d12e38f9a4f097eee97dda9baac8a64e1cbbab0378ac31efe232cf0848c07dbaf686fa8dbfd1676f11a8ab6969207dd78d01ffa101410703f491cc6c469976b301c6a2c1215cef4bdf183744b8e32f281ef80a7503374a2d0361e43531311ab5020b2f156dbb04969af848813bb20023ae148ee17113d0d1b603343503f47f6183d8388557f4033770024bc84b84ad01ff1938906bb774e3b062036f0c3e4023b6840411cb4a2e1738af028a889e39abf67d24997cd9d7fb48d5fa03767417d1ea454a96a464d55f7972bf5e1acd694a8359b4fe46cccea0cdf549c903cfef33f9518e2a99aff0792125207f26990bc1325192632bfb2376d9b6d626440219ffff03b3730d15a1952419cd65cf4b571ef9f59d64d19bc10dad9092342c6b552704d403d0c08971ddc240773e68bb89c68ae68cf9323aad01e14970451e51e9c66f35720362c0e794d2d3a9b6193c51df6234e9087d41936ac3c322b724c78fc8bc2a425a0386d4d830ea5139c095a14ae43d9df52588db5f7629be20e3deab160c297f1d330379d91bcb47d9ce4142cf64b9da8f7f5577b7a36335240bc94772c81975ec12db0339b69daaecbd846a37563723798e2173ef99b376448a0d0c8585c9d3ebe3a7ef034c13e5abc1d7e5457be06656fffb51bc3aebe5e41818d012b8d6bc3b3f0a56b003b65cf1d094733abcdfa0eae74175c1b24e92305a304dce23e3034f77ee62deab0219ffff03ea50e9b33cc7e8d31edd8b5b946a16d49837f5b67b321df4887c502a5619ee230384acf80f579a935c07731fe97d23ccc191cf2fe1aae03442acc6c0734c31c81203e0d02ee2f27086b424497617dd3a2fefefc1899686dcfbeb1c5179c76e894d5203ffe080d423da0ac840420028c543a01749e959d02338cedbd49c847dd41945cc03a6befa8b209b0bc7a28202851d1953fd2f1e36ad14e05eadd15530c5dba76417035241e6572409e521279ff9797edd205d1c3f6d6e119335087756015881c8d2d103425a84d0d68ffe1f028b7dc97e02c2d34243f7ac2b35083d29b50f970e46cb880345bc4dde6eace42c3aa0e7e669f2ea49143ee4d03060449bfcb31afeaf2fb7d2035d36ae5158a8306fd32ca9502127679b7724de367d68b3309f0f05b66305b2680315d576811234a10c4017c42e268de3d720a50270dd621a84820ffeafd8ec9ed90361770ee0a272d9a7a3aea638aa294b143f2b8b6da39946abe0f29008b36d886700581f028527239ba613fac7d50055474229dc0faa3575e2c4faa958def7fe7162a254dc1467013865b1780c2ab23bb33e5331316f176500581f024a6a171cf85a4e5f78c1b4d5e03634fdd1141c8384b192af4b469a624eba544cacc1e0feab645ae445609c5973deb13b62d48e00581f0246a28ee32b61598b0a3520e4a23d3011aba86776aadb9450a34abd12c16c5492c93069af12e4bd5df296475537b51aab20821a036db9641cdc3a5b66247fc209708a1bf32ddbb4b4822e616f81cc5992b21a9f1d00581f0308eafbcf0db65aeb98dd315c2be36491ec54d5bee12dc3cb2b5db4d96e7054855d30f65b1bd7f68e504d768c3d2d7e620a62d000581f03af9dfeb5f53abc39021e7055ecdbdd0489da0a88e5072107646eca5a2540582006f6133d524c663a9cb6bc55da515e2906c3e3648bb756b085b5d66065d0e41b03fa7c161d9c8873ef52dea0c25b1a3d8fb5526ca47b60f4ca0c73df7f876aa1c600581f03556114e74f01eb7cfad875cdb7f6a53780dcd74c2865ec887c919f64a29054e704bd0f83b68f5d0b8ff64945741266f1e7df9b021920c200581f024ea569375961b815279649847754887c373bc0a44aa83e0dcb085c5dd42a5414621d7b99dd89f92a58d3b04352b8215869b01900581f0242ad261eb016209f9c52633cf6bfa9efc4944afc6a039f3d278d60d52c3d54457e0171b69ba56aa74c8cfacc01fce4a16ca20b00581f02682f95726085840872573b7a2b9551bb2bcbbedefb0f13447de8359333d054b5c29225d0c4b5889b74f38fcf1aa1d2bc0e4a3300581f02731720b8f29014bfb6d9202a5ea9e82173197885d3bb2781e8b65b6e15b854b831175bd8dcbb53d15c6f06a53490d94cb6306603ee771b5e9e484a426eca687f298b9dfc69410a82fe7fd789d22db58c038c5a1803183adc83a17b3104af4dfed8b1f148db4062babbe0f62a5a33a241ba24db888603839f8ddab083bc2d49ab1b41bb787b8bf035a576a072dd9a24f513e7cbaac68401410403d46a4db8d91720544ef52ce63fa3e419985a38c29f2abd5c000a0b83b09b907603048076920f5a352c6897711a6357d0c0057b9474fed910028c6e2ca95c4b45ca031ed6df6982b38e282c18fd8ee86b48cb498232625573e4c07616a8383f5fdd5203da588e7036956b1398d5471600d8bd3314ee4bc08d196a5f2808e80b506a63af0219ffff0399e787292a68024b1534457551d107e317f66b5589a933a14c413fb301c7aece03d3d5ded5e371789b445fcc0f8455a3173a36bde652c17c37ca22ead15ed8295e0386b75a4847bb1cf87ff0f0d7cd91093f7d2e569f1cbe96a08ce82abe9d23224b03bfc836af5d6055da50b219ed6f3dfd0c119f561f90f8a3b5e3bda2968b14508b03ec177c02f8e4fb810dd283dcbd2a1e3c2c807369bbe002cfd7a321163bd83ef90219ffff03a782a2ed16831cee96d28955f747b1cd0f3879397b005dbc03c0d2b080ce6bfb03e2c88869672c67032b531c615f2842367955e4e0ed57d2111ee3ad472999d6960302459d43902c758251470c00b4a4c37c33bee7da6b8051177267d9f1719c90870303ad34c15d59ec4e66310b85f301eb327c0c49495839aef2b7a172eb60264b9403ad6d5d271fd08e3f7d213fa315a2553576c2afa5b75afec1d28e8c4ee9a56e8703d63cbb5bf3cef9942fef26cfef17ac8d708a89143b202152a8d6022f018641d603b89937b52adeae2e04270100ebea9a4ff66fe30409276858408b8dfbf598bfd90348beea34617063ee9b71f0d49c8af2047ed333e2e0564f48198044a6b42e5a8f032bb702a1b19c9414bcf7e4787023cd057d94ae8bf0329c1835fad7de5936d9b403975446a95433501eaeadadfc777050c9c5c5fafe5704fec5d577228a4db4c7cb00581f02e4393b0af31dc54c36f260f1df2203dc5b5d8b7cba1df54b3b97f58f3adb549b464fabb0fe89b90ca2050e920f4b4bb8267cae03ae2ca2384622451c1da34a5c0175b0fed95c71869913eef3ee78a0a19238acad00581f02990857d3c1e5750648da9b2d0ecb9ad8dc043ce0ddbb177b00a56e15e317542b0faa9208363a288a162537b3e54c722ea0773803114f45e79a01a5d61d9ea337104b41220983f16da941bc76405c36d37abedf2b00581f02cd8433aa4bf9c29afc4f36c9236f0f696f9066173a82b6a4e0f40ac12b1954014b45dc6ff75bfd5ebe2d016e226408c5aa8c3000581f02c2084f527a61ddc4590b0baaf2d5970ffa1267ba6e72c4705eab0528929854e617baef2050f975feffc87de260e901d3bf5f190316f07e645a163c8eae7846a11c074c85ba7278f457de6bfc1318ff896ae77ce800581f02b34e20804bfd9402f70aa5a9d0b6c9fd232d2bed48edba2e03eb35c4b12f540fafefa2d3289051db7043907d4e74be35500c7800581f02b04a3cea5341377c4ca12703f946cd910c66da1486dfab2ea2f4ea64b23854cf2b7c6bc98bfe0d6138a25a3b6162b51f75e05d038f06e9bdc9296a2479ad8a21d3e20360c7178bf6c9b9eebea5e96489578ab45400581f0235739619201955d50d5ceb19abc011a8eea655026d741397baf41cc78fba547570eefaf03338cc2a10796bf3153f93fc505dc200581e0208b2ea0c1302f1da94b1e2cb85c46ad01f0aaffa78947876b2ba43884e54a0b6612a4ee2a422e68dd3a02670fd4cc8917c0600581e02f19b10663524079b3f186778deede677762ec558251207144ca0cd84f8581fbc2a629afbb2f1b34b73c5a1aea592c37837561c59bb0c7016a3ed72ed1bb00219c00000581f0348dbe04cc93d31c9a2b59357a2954a5d8b4ad710b858e402a4e1df055210543c348473836054a9ddfc5e9d600b0cc7df17339702190a0000581f02ef73be6427f6a97ad58a5fe08e3d4ee1759d9c748c1849943dc39dcef99e54c1fd450e78c2ef8d1ac0dbf49319e6ac703f45a30219bdff03a67ecd78d4dc5ebaa0f584a763a0744001fba6b5af74d83ff185e656d511421803782cd443cefaf4928d97b3fb888b335f4f9338a84fee7066f5a0ad47a7f5c67b03e153930eaf7e6f81e953fcee5c390c9fba919630d2d2709c42eaf2249c28bfbc0352d7c314111a814ac29d61b774ffa3f6e65471f59d90285a95eabd1418b02359033aa6b09225452172f21a0673e8d65ae6085013da62aabd88db9c191c71347d8b03c50c978269f0a871a6a75054de122f428499c73a32ca610cd96c8afdc5b29c7903ba3757bdef9658e25f5742456fd9819ea68ef587e0bd7a021676c1c25693aca70373ca131358aebf479ad6e39aaadbd54016bea6c207984b48440f65c508645cab0355ad2db2e34bf6c88644c90232bae94f8c7fd0d9f6c988229c94e829827d47c10325b668eacaf7dd373a1b99ac0c89941c0fa8af6d087f4858836401a3c8f44f1603b99d367b9c21b916dbe8f9cb8313e411bda439f40bc8c1d3c52708b4654b60460219ffff03ad478212227528562915deb9b8280818b3da2c7661988f8522ebefe8d1d053a503351a6155bbf6329ffc6b554beaaeaf515062d629bc4d6cd2ed6cdac65f2b248503c8fb31ec4fad5c332a98781f7ba2a4c1aa991e2a9244336f1f9d73cfbd9f89650367d5d351baf288614c09b4069d3453dffed793a6cd722f90f9107f4620edc9e2033a8ad6465a01761ccb982d7fff472a601e0aecfd11468619de2e691b5e1004aa01410003b980a6b9ee6ca425709b124f0c58582703334b9d87dd2689e8375bbc6d3f9a5301410800581f022925bf2fe0d3a04fb42088306930b6d1eff0210b9d9ffcdea7d74c43133e54511696cace976439ceaefe92ba401d42277b696a00581f020506695acfb459adec26cd618227a0267fe0e18a0cac22971352ea880830545a0daf865d9c25b926cd74ca448082e8ef3dc1ec00581f03d8c7a1809d7ea905779accd0d5d3927608de08b0dc29c9e6a9b56c57c99054f23754231bc4ce8c8e92c3badfb37d922d46053c00581f033220476411fdecc15e2ffd9a6395c6b09fdc27aac00c734920f1570aa6b054aa8226a64f53a0d8f6d32660cfab038953fdb2280219120000581f025d7eba7606d4ae0afade365f7930f873db8e0a51802e110054e92f6a220d541d207624c9466376e345310580c300611f3e0b200359d7dfd432abd7d5fbd410833f221e710d31f629480bb2a1e2f48baa8ce463d303fc31d59fc80480cbf25b533b5745faabf359f19808e179f0e5b0b7c9d002758a03b0551aad328d392f3b629206e9777c0403f5d3f2981eed21b0408cc3fbf404bb03c29cfe2f871be2d2e4320e94fa77caa26642fbae710c6df85ed7b85432dc501d034e52f3d76baa16f4b17226c7617f4747d35b1304e33931ad36fae8988e176b75038e326478938130af06472937867b53bfd0ebea198bfb97c8e49d3a7bc741bcbb00581f02aeef79c811bc0268f1c4c812a1bb035db848c0bf0d1a07c2c27fe3ff8181434c46230219dff503af618e92a1fefdd6f64138b452b39b8c35cc967967645c318bd12890433e170d0395a7fbdc180048e4c426d7edde40ce7b41cb07274be9210804508e802b93ea2203908e6e094a7aacde473b503f5b492ee1c35040e7f86acb74210925d8db1b536503ab050daab4159cd987db555b94051ba7861ac286cc052f348b130a92fd51264403ed62fde23bfa22fb2f2107954d7d4b4441ded9544a551775ee5c6ff662ce64a003a03956d4e113a06f9049414dc45190aafb6b146b94d5d1ace9db4de2963742fd03a9ab1b2eea0ef4b8ee9fd49e8f9db50d8180b41432d9d7e5a5207aa1de06fc4b0345242339e678ab1b712863ac028d77ff3cd8555dfd1d124f42912005da3dc064034d3352d15ced8d3c8546fc92ea1e56bc6c1fcd4b7773800d75c1681efb37cbe003b38e42d4a5ae293f9ea4a276abed1c30458200b82da7d1dec9ff232ff2ec582e033f7b7f45b728f474dbb158535d205c940572e90d05ac3f14b5e834bb35355dd603efc6c12ad4c10765a32023b4d8191ae56d35e0862b4fb3975c5d653a0049da860219ffff03fae0e8aaffceceba117898bbdbaa5d3a6fd98216d297c00668ac02a8b5ae7ad2037e87d7a7900fe7fe63906c6d050ea155ab14c0bedb7270cbcc7fa618fbeaa25f03030b4cc927a61492d47812a30737d25f17627fba4317d0877cb3fdf674528ff803041abd445107991d35e83d1df5a70b051c45bb52897e3b1352d90735e58e5a1103cafe63ba8c37603efdb8904bc226601f343b503c5a4c92c9bb255abe78f6fdc403a41307150ac186defeee6fe706a83daec6f34d6cfede06d982b426b06fa4794d03dcd6e37290ef0a59821c56670c74d8064b9b87323c7a5214b56b7aa0e39c213403bce4c7c3727aa170c9045770a8c79c68bc402302d71ca24222e272779e03a4a603eb8b5fbed9b6a1bdc9265355ed0ace931af5a2a6dd8a4267cd9da62649576de6031a19a8802a839e632e772053a9b5b392e628992c1e371838cca3be4b73c6cba403b20a9b88cab3c0c9508d6f514d96dcd4ac509447d76281d4ea4c6bbea4f08fc7032adc3e1d2c39a0e472f7b0ea5c79ede1c3a0e7ddf068e16576152c03e4d723f9036f21cb72cde169c26731107cc3624cbf0d8096f7de01990951f9ca06fdbaadff030896f07eae558850c1e3dda69b992c6d9b816fbc242b8b3599715e5d26b65aff03873c445ea01dd2b7b8a6b63cc4e982d3204d1aac7d2215951214c9cc1f77c20003e03d49c5eac3804c4f9cb087fc97de1d76894c025b394308bcd68d536fa6529d034caf6bf9c5d182e29f9ec144dff008f802eef00412230197857a98716599c79600581f020cf6a35c087a30aea2fb3b04b9d33a6cbc0120b4c680cd9bbd99a9bdd71e548da02d597a2616e9ec0c82b2b8366b00d69da29a00581f027ae5406437486da0cdab4d3c5ee658dff409232fa6a70d43d3118510664854921daffed2bce5de36c89926f29347fe05d8f55900581f029040c1c12e82e9f139d90b2ec9ab07199379f38fb1854bf97dd17da595cd543a08cac18a6b2016fe42095afb6721b65eb6f91103cdbc8284365a931233bb2fc4c1606655b43bca62285bf352214d8501f8b809c203697ebf938e998ed3d1e985ee901f9d89832915148d803d6e4838e7440b1d28b100581f03a8de9792b3dfd5333e8c91c9f5da8da93dcc15ad04899a5aa15870f2bc905820073f2462fe1f9988b60af995ca8a95a8a5ab846745b96da5b32048bd1c42253b00581f03b1786e701bc4f4be045adab5a758263e01a8e33d78e15c992f92fa2d39b0544e98ad3f265784a062ae167a908fa7ae8bf1aa8c00581f0306da6cd891cf10f5fa009a0542f459ed6f1f27f98815852d7102c66c4a3054dfad0c01a28d9d95486bb3f0821e4f5644704fa70219410803e6be06147b895ae4fe43c9774c9e040ea57e1ab96dc5b94b87248385d46ab24400581f02596f8a05cd253a7ee2ae666c74f7ee4ef61d79c548f7cedbe025ba8d03fd54d89fe1ed2b0bac7a27de004de595c0e43280ea6903b282c8e94d89db42f799d456b54ad452c4bc363b6ff89b0a50e8350d4f382b6e00581f0289854f01824234ad25cd8ccf7cd6e048db684f81a35fe9048d5381da4d3b547251e3acd3ded356c8e8f7da478b9794626cd93300581f020805fb84dbf5f53cfc15e21134d457f0473e30f0ef3d4c598cd2e64fc74d5402df4f6330a2810bbb61ccd6af0cac745129b2ee0351a3bc44c84126b407ba06416cdc421b8df73f571263b47cf716d9a4c02756e10347f95c6f907aecd6dd7abe162eb188d0b95434617dfea0937d14f0160435741b0141090219fdf70219ffff0388684fa0b8a4c40402b6ed88a0378db943e1af8b05960d7cdfe6d7936c314b3a0301037c171d35dbd815dccf41fbbe36b539b3d685a987dacb5b1190df5a67d126037b725f09f1c23cb9f87b06d74731ca039ff578f480d5187dbe81904aa3cc413303753eae9112e53ef9f62cc574f5b2b6e02afe328ca17926036542e4675d229dbf03602f208cf260e8b694cb8edd345ed2d38f2f7739c2a437adc80c2395f764e3be03647e1aa4909baa9ae889a72cb8b0faddfcbaae9ee38f9a12f5b8228ebf3d78e2030b8514a5df06e0890b622dfa44a0c8f6d14ec75a49b4bb26f17fa3a89db7462103711da362055193a4a509009b5c55938c0a221d87568989030900e364351f4642032f0895e7389ea405feead64a86579c2886c327430f6bff57d07c8c476d647bcf00581f02c3a0d82716b23f9201dd7c319e04ae5538ae887589503f0426cd2ba69acf540bdb8da19534471fbeadf87a032db8957e211ad400581f02536b30c24eb06187ce3f1c999b66833dc7876d5c22bf052909714dcaea78546bfc5b4388acb91f4af8bebd47d31f464f02c924036bcec7aa885793027aa91247c7385b8fe0b3cdd63e11e72e8e994a29d283a19600581f0260c280fed4235bcd442cbc49e718491c1c84a8d9864c7caca76d10be6e1454cacbf36bd571ec454aea6f3c98587aa495bda3b6039c87c54310c044f757202092ea57e255593369b4fd14f77cb8df8cffae75e75c00581f03d1a311ebab37ad4f394e88d49e1c7c901f4e1976e80041e063f2f5aab24054a28a29a75e605849a6bf121294d9746f4b5ad4d800581f03e974236d39be275d91cde9720fc752b04453f7ce124cb1ff384c4017c8d05820048db8a756d48b58d5cd9c332e0f9fa253a1ec6433e4365871cfd9a83c23d439021904100318a6bde0235362b56adf4d901f0bcfc2a9d80dec4275afbdcdb6509103b50dd000581f024d4aa57373b462a7e1e371d165ccaebbba2e2c950cac02cfe595ea6eb2e55487d01d8592882176431e7b2075a450243e57794e03fe1b6eb1c3369180fcba72ab14d70222c5613b3955c617a952beadbe8547f83a0343f4fc64829b6a34844ecb255f4a8d572b6d356d9579a02d7f172154508f66db00581f021a0513ea58f166423e800323617f3ca3401672badfb4be6c33264d389dee54a73c631505de6c85b4493765d87620d8fb0df8a103b3be3791a12b7256caa6d8601a133a55f0d831b7560f259d3588514aaad3e89203ff9d21917c13902be4782810942e558afd809bdcc88021218df81261ae59746600581f02cea49f70b1ee98ab036d331463c2f04428f7f011139a49b8d7ec45387a49542404a54d8b03b307d5c7b3ab0c425eac658fd4960219f7fd033e9a5a9cece8a4d50adfb2bf63626143913f26f12b19fdfcaf702c455f00a20c03c372445ea136dea445ffd33035ef7b8fcba74499c925b56414789c9b02652d120332ab0a7f26b758cee9dd5899db8e50f55f9469556e48b2bd85e3d7f8447129ae030283c9da2ea0c808cc4b78aef9632a2835a148980a34e0b0b4d98e6f017446be038f19345c39d51c5f450316f0c7c273291165f1433e519f5e496e8da775063b43034aa88dda98f7ce15e8bbe6435dc6e2b709551adc729012ad581fc98c628336960219ffff0219ffff0219ffff05581d02d27c878a5cabc5a751d6f795c906aab987953a602efd346c36fe709807011916f7036c74d65da337446792c9524c456994d795177b805dbf42e02648fbb382593e9b0219109003881acbe71f8e12f0fd11d03d67c55b83ef7ff2be24cd66a79f6bf8931379c9ed0346bc1d792b3be558c304e5c8674ee1082da3b665fe1cee7d51debb90f6f388ee03db0d15444e088f366ac2829aa31aefe0e6d2490394b07bcc875b745b6b7f38d203e8a3178a45a0223d292244d13d86ee3e9357f9af9c50818a7d00f3179d3246a905581e030feb2ef46bb6a21ce2de18c1be7eae8c86b99a60bd9d87941f71b74d700c014643c2593ebc0003de42076dc970f5f1901a02b8898da70acc68e7feeec75d3492d2d62f29b094c40605581e03a77e91aa9edbe93d57db641b84586a2deb6f30c38042564a3c35ce06c007011bffffffffffffffff0219b2fe03a357a1e39f9426431bd4778177ac5f9b1de6a022d4395e365daf9aca23d9996703b7ef940bd1a84a943694cb37060cd3c29e4df5bc06f1f64b837ddc3a8705eda003899e1c36d32972bce7bbc1c03e9ab42ef77ef8236baf33d0fb94190e406a0afd036a9e416b3b8d6ba531882078e6331cf66f4cbc602f5933706ac7beb0ea9121dc034bc6e1a7ac9350e3a48b6fd01fa3cf35090ed6793ffb021fee9111e1fbb721bc0386302abf8546a6c117be2110d45091bca8f825f1c58b7ae852a0886bdfe919f5030def274fe871774db4320a6be67a7f1184da226bb520be96a0b4916c740d18fa03421766b7494bfa046c04d7ff8d3d53e813113042d586e37995838845ee4a94d403dc964c1b3858891fb0b5f1a8b4293a87dccded3f81678a26880c8c472281c76903f452060ee4463e17c176f9fd8712ce7a41053ed9ea9e59ff6fb41e49d1f2bf5903456909142e66da5675aea48b98f16e1b861a0ae6c2341c3ecac153428eb4593403e9db9cf2fabdca2e325a4d2fa3340a8db65fd6efbcf5808e2bf95782d24af1ec03791e1b81ec2a02b5347e25155dfb3233690cfae1c9a9ce2e014e4530d575c3860219ffff03d25adb233f2b22e718b68cf0882d0f8cb8710a3f2419f78e0dcb59c980c457b1036cfc62b476dfca05f9a7f2a7c82e3c7072e4834ee42a1fbb7f03a98fd9524e7403ef59103cf0bb9fe753deef0af6e39899fa4e20ae7225fe6cb63c9d810c7a1a800219ffff03d83b3a2323c74e7d079bda802f203e4122967b2323c1e839cb46bf6b1d94892c036372cca6a3068076c450df712e8d5af5a3e30d3cd6c273b5c40f9000fb7e766d03d86a391eafe80da01b95411e6ce712951ad2678007851e86e1791fc47e26405b030b2ecfb20e54bdde2ad8f5ed6d8e8a3719656fe3e061528504957887557f184c0219ffff0219ffff0350fc27d3bdd125acf9f8794feef6cab83b3c0d71ef694a0eaae66b8c89820f6503e2e9504ec3247889091e473be0c10b797f92c9657b614886106b726640d39a5b038bda884a7dc388bfe58afc8487a7c3a65f6da2d761c040ff440ad5b5b6937a8f03840b1901226a9782c0431b3090ecc1258f6b0f9c600a88beadbadb495369261103fd9c6ff163cd5e44738e84a9f387cb55ed7182fcfbdde5743313931050c09ef7030dd98c9234433a4ec1d2a87a42fd9f0fc706f764a1d9cda866b38c7bf16240fe03303626f62d7a5b782e40f337abf0c864f6366e792e0b2a5e8fb5696047f2e9dd03e06e999c0e1afc9f25c85454dd99c03819c62ddaa0e2dc84f9e2958d15bf9e3a036cab6bfaf817ae9afceb197e6c8baf6ef9c450030598f768720ee5775954b070033e516d12fe25a487c93f20e44b94afe1b6d666c444aa726ae63cf0d4f6f470b703a025706b9af52cecad08d395c9fd9957c81fd042ce16b9c6429991ec3731b1ad03dcbfcf5c3b0592b0d06a0c4579dc5cb412956375c230a49362e4e20cd77060b70320f33050ea94428594ce62da45a4a4714bd6510e669cd97458b35e868d5dad8d03bccdb373fd82b85aaa5d9d0b8779d5ed1c0078d3fc794e439f30a0bbcb8c0d2f03e183578b97e85eead7209c8f3fe644732758c289fd1e4877cda55402d0a5fd3e03f40b719944ff4e135e6ab991215340e87115da7b061615396403995b5352a21c0398909cb582a7441c67c5b4a022fdf97f8861e6db8fbb772095419b2bc5f9f1f5036c2dfad5352cdd7a834f9bf671be52964354b46643e6b7d4e8961fa133ef24bf036bff8317da1aab8ce959c519b4f5916db9cecf5c89ba008aed54b56a8194eb7a0332f0de432488e00d8e5050812b64551142b50084cfed45433a69fa79d3ed3f5903847356ea34398aabd1b0796fa47c430ee65948fa7877d14f118500a96da6820e036930668bc05518106c88f4412d973865c75c27f562150b53627cbe2126257591038e79473d7668871f5c26281e449fcfd9f65bed4c3043631d845ff1957e6f00e703fc62def92414983d2bff28640770ec9d8371ba284dc7132341dafa0c50eaf1fa03c171b24cfc9f0f004de9accefdd8a63299642bbf38adfa64bc2fb8b7001312eb033139eff1028f9534c7d8fc1f2cedb5b0252bbe4ad6cabbcb3ba407bb9eac3536036a16e3eb163be3a83717a6608f670824e681b260e14f3b7166a381bf96e8ae4203456ba886617db71791319dcb83d2a6b7d93145624ccf4872b263b463c2af77fa039cfe10d9d726aff5b3169ab0c5b0c1f166754dff23107c39c5863f4ad4244f04034927b1e6f59ce1da679221772d753eb479105db4a4aecee9b4040e68797e5de70330b6bdd6457f2e19c46feb751b702001700031ba3b8501307172ab82037fee7a0317d4b791c3fd58fba315b7f40c677563733adc69bf4f6628ee5bcaa0cab175a203266ae1d0779c54256680ccf7e0cbe6680c6bc73c5e51884a976aabd932c428820331a8379f6a35c88a37313a05cda476d7c12fa1d66a9e4cea917f1c2f37fe2fe8038bc18cf1ef90d018817d9707145703100bc9c4bce64fbe3d5c686161aea347d903714d6d15800a5366d555370fae62bc6fa62b0588d4ebbcd2463fc1142a7536d403c5c7a59116527e4e0048a98d2f30fc685cf19c09b948ae99cd9205c349743cc805581e0378dbb9ace9a7012b599a55bfd3f776f38e0c4df9df783910855987bbd00c01471917db48894a0005581e03141beae71f59ff5489f0f47a858a929d6f2055bddeed1ecd79198f40600c014711771371b7400003d0cbceac971f6af02888e7291eac658223ebc239dfee20b1660d9720e7d826e605581e0349026bcd5f13422c15ebde083d1d6710854b94744a94c2ab8489e1b5700c0747035d8f69a50970033aa780fd301d5c98230dd3f3672d5a6035d4f596e26bd8c45d008ec751b8d8dd05581e03384e9124f40e747a7ea9058587aa3d339a8b92d0d582059b305567c240084792ad201acda80005581e03d7170a72cbe371c7cc6b8b28568a389b3aa95f054f7b722ef95916630004181f0459506a608060405260043610610326575f3560e01c80637b0bf5df116101ad578063d1ee941d116100ea578063e98cbf2c1161008e578063f1bd3ca21161006b578063f1bd3ca214610a26578063f82f604314610a52578063fa461e33146103b9578063ff74433614610a7157005b8063e98cbf2c146109c9578063ef2a54b6146109e8578063ef61a6db14610a0757005b8063e1c2d915116100c7578063e1c2d91514610959578063e3f236cb1461096c578063e5f42bf81461098b578063e7c5f19b146109aa57005b8063d1ee941d14610908578063d21d122d1461091b578063daf95aef1461093a57005b8063b15dfe3e11610151578063c0818f171161012e578063c0818f1714610898578063ce2e62ff146108b7578063cee97e9e146108d6578063d0c88b33146108e957005b8063b15dfe3e14610789578063b7d4e27a146107a8578063bc98efe61461087957005b8063920c39331161018a578063920c3933146106e65780639cb609ca146107145780639ec9ec2014610733578063a89bcb301461076a57005b80637b0bf5df146106955780638f4a0529146106a8578063905c9ede146106c757005b8063434ffed81161027b5780635e9833a51161021f5780636cf3321c116101fc5780636cf3321c146106195780636fbebc7014610638578063768ac73b1461065757806377b033371461067657005b80635e9833a5146105bc578063636a6119146105db578063649f398e146105fa57005b80635444155811610258578063544415581461054c578063544d058b1461056b57806356d3d2eb1461057e5780635afc90f11461059d57005b8063434ffed8146104ef57806349c36c071461050e5780634e2a27ed1461052d57005b80632dc02d34116102e25780633a904098116102bf5780633a904098146104735780633b7d0946146104925780633d5f976d146104b15780634177498c146104d057005b80632dc02d34146104165780632e7a21ce146104355780632ed3d5021461045457005b80630232d2bc1461032f578063213a51d11461037b578063224e5f601461039a57806323a69e75146103b957806323c0c09f146103d85780632a0aad11146103f757005b3661032d57005b005b34801561033a575f80fd5b50610366610349366004613de6565b6001600160a01b03165f908152600c602052604090205460ff1690565b60405190151581526020015b60405180910390f35b348015610386575f80fd5b5061032d610395366004613f8a565b610aa8565b3480156103a5575f80fd5b5061032d6103b4366004613de6565b610b0d565b3480156103c4575f80fd5b5061032d6103d3366004613fe8565b610b58565b3480156103e3575f80fd5b5061032d6103f2366004614078565b610b6a565b348015610402575f80fd5b5061032d61041136600461413f565b610bbd565b348015610421575f80fd5b5061032d61043036600461416a565b610c6a565b348015610440575f80fd5b5061032d61044f366004614181565b610ea9565b34801561045f575f80fd5b5061032d61046e3660046141d1565b610f5f565b34801561047e575f80fd5b5061032d61048d366004614256565b610fe8565b34801561049d575f80fd5b5061032d6104ac366004613de6565b6110b0565b3480156104bc575f80fd5b5061032d6104cb366004614280565b6110fc565b3480156104db575f80fd5b5061032d6104ea3660046142a3565b611322565b3480156104fa575f80fd5b5061032d61050936600461416a565b6113cd565b348015610519575f80fd5b5061032d61052836600461430f565b611452565b348015610538575f80fd5b5061032d610547366004614078565b6114c5565b348015610557575f80fd5b5061032d610566366004614395565b611518565b61032d6105793660046144d2565b611586565b348015610589575f80fd5b5061032d6105983660046144ff565b6115f7565b3480156105a8575f80fd5b5061032d6105b7366004614395565b61164b565b3480156105c7575f80fd5b5061032d6105d6366004614548565b6116d8565b3480156105e6575f80fd5b5061032d6105f5366004614078565b611770565b348015610605575f80fd5b5061032d6106143660046145be565b6117a8565b348015610624575f80fd5b5061032d61063336600461416a565b6118a4565b348015610643575f80fd5b5061032d610652366004614684565b61196f565b348015610662575f80fd5b5061032d6106713660046142a3565b6119ee565b348015610681575f80fd5b5061032d6106903660046146e7565b611a98565b61032d6106a3366004614724565b611b6f565b3480156106b3575f80fd5b5061032d6106c2366004614684565b611bdf565b3480156106d2575f80fd5b5061032d6106e136600461474f565b611c80565b3480156106f1575f80fd5b5061036661070036600461416a565b5f9081526003602052604090205460ff1690565b34801561071f575f80fd5b5061032d61072e366004613de6565b611d49565b34801561073e575f80fd5b5061036661074d366004613de6565b6001600160a01b03165f9081526001602052604090205460ff1690565b348015610775575f80fd5b5061032d6107843660046147cf565b611d83565b348015610794575f80fd5b5061032d6107a33660046147f2565b611dcb565b3480156107b3575f80fd5b506108366107c2366004613de6565b60408051608080820183525f808352602080840182905283850182905260609384018290526001600160a01b03958616825260088152908490208451928301855280548616835260018101549095169082015260028401549281019290925260039092015460ff1615159181019190915290565b604051610372919081516001600160a01b039081168252602080840151909116908201526040808301519082015260609182015115159181019190915260800190565b348015610884575f80fd5b5061032d610893366004614831565b611f10565b3480156108a3575f80fd5b5061032d6108b2366004614078565b61201e565b3480156108c2575f80fd5b5061032d6108d1366004614684565b612071565b61032d6108e43660046148e4565b612109565b3480156108f4575f80fd5b5061032d61090336600461474f565b61216b565b61032d610916366004614924565b61222d565b348015610926575f80fd5b5061032d61093536600461493f565b61229d565b348015610945575f80fd5b50610366610954366004613de6565b6122da565b61032d61096736600461497d565b612326565b348015610977575f80fd5b5061032d6109863660046149f0565b6123f0565b348015610996575f80fd5b5061032d6109a536600461493f565b61245d565b3480156109b5575f80fd5b5061032d6109c4366004614078565b61249a565b3480156109d4575f80fd5b5061032d6109e3366004614a29565b6124ed565b3480156109f3575f80fd5b5061032d610a02366004614a78565b61256b565b348015610a12575f80fd5b5061032d610a21366004614256565b6125ea565b348015610a31575f80fd5b50610a3a612746565b6040516001600160a01b039091168152602001610372565b348015610a5d575f80fd5b5061032d610a6c366004614add565b612780565b348015610a7c575f80fd5b50610366610a8b366004613de6565b6001600160a01b03165f9081526005602052604090205460ff1690565b335f9081526002602052604090205460ff16610adf5760405162461bcd60e51b8152600401610ad690614ba2565b60405180910390fd5b83515f8181526003602052604090205460ff16610afa575f80fd5b610b0685858585612816565b5050505050565b5f546001600160a01b03163314610b365760405162461bcd60e51b8152600401610ad690614bbe565b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b610b64848484846128ad565b50505050565b5f546001600160a01b03163314610b935760405162461bcd60e51b8152600401610ad690614bbe565b6001600160a01b03919091165f908152600c60205260409020805460ff1916911515919091179055565b335f9081526002602052604090205460ff16610beb5760405162461bcd60e51b8152600401610ad690614ba2565b81516001600160a01b0381165f9081526008602052604090206003015460ff16610c275760405162461bcd60e51b8152600401610ad690614bda565b6001600160a01b0382165f908152600d6020526040902054829060ff16610c605760405162461bcd60e51b8152600401610ad690614bfa565b610b648484612a08565b335f908152600c602052604090205460ff16610c985760405162461bcd60e51b8152600401610ad690614c17565b600b546001600160a01b0316610ce25760405162461bcd60e51b815260206004820152600f60248201526e18d95e1059191c881b9bdd081cd95d608a1b6044820152606401610ad6565b600a546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610d28573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4c9190614c35565b905081811015610d6e5760405162461bcd60e51b8152600401610ad690614c4c565b600a54604051632e1a7d4d60e01b8152600481018490526001600160a01b0390911690632e1a7d4d906024015f604051808303815f87803b158015610db1575f80fd5b505af1158015610dc3573d5f803e3d5ffd5b5050600b546040516001600160a01b03909116925084156108fc02915084905f818181858888f19350505050158015610dfe573d5f803e3d5ffd5b50600a546040516370a0823160e01b815230600482015283916001600160a01b0316906370a0823190602401602060405180830381865afa158015610e45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e699190614c35565b610e739083614c7c565b14610ea55760405162461bcd60e51b8152602060048201526002602482015261373b60f11b6044820152606401610ad6565b5050565b335f9081526002602052604090205460ff16610ed75760405162461bcd60e51b8152600401610ad690614ba2565b610ee46020830183613de6565b6001600160a01b0381165f9081526008602052604090206003015460ff16610f1e5760405162461bcd60e51b8152600401610ad690614bda565b610f35610f303685900385018561430f565b612be5565b604051419083156108fc029084905f818181858888f19350505050158015610b64573d5f803e3d5ffd5b5f546001600160a01b03163314610f885760405162461bcd60e51b8152600401610ad690614bbe565b5f5b8151811015610ea557600160035f848481518110610faa57610faa614c8f565b602002602001015181526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610fe090614ca3565b915050610f8a565b5f546001600160a01b031633146110115760405162461bcd60e51b8152600401610ad690614bbe565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa158015611055573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110799190614c35565b10156110975760405162461bcd60e51b8152600401610ad690614c4c565b5f54610ea5906001600160a01b03848116911683612bef565b5f546001600160a01b031633146110d95760405162461bcd60e51b8152600401610ad690614bbe565b6001600160a01b03165f908152600860205260409020600301805460ff19169055565b335f908152600c602052604090205460ff1661112a5760405162461bcd60e51b8152600401610ad690614c17565b6001600160a01b0381165f908152600d6020526040902054819060ff166111635760405162461bcd60e51b8152600401610ad690614bfa565b600a546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa1580156111a9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111cd9190614c35565b9050838110156111ef5760405162461bcd60e51b8152600401610ad690614c4c565b600a54604051632e1a7d4d60e01b8152600481018690526001600160a01b0390911690632e1a7d4d906024015f604051808303815f87803b158015611232575f80fd5b505af1158015611244573d5f803e3d5ffd5b50506040516001600160a01b038616925086156108fc02915086905f818181858888f1935050505015801561127b573d5f803e3d5ffd5b50600a546040516370a0823160e01b815230600482015285916001600160a01b0316906370a0823190602401602060405180830381865afa1580156112c2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112e69190614c35565b6112f09083614c7c565b14610b645760405162461bcd60e51b8152602060048201526002602482015261373b60f11b6044820152606401610ad6565b335f9081526002602052604090205460ff166113505760405162461bcd60e51b8152600401610ad690614ba2565b6001600160a01b0385165f90815260056020526040902054859060ff166113895760405162461bcd60e51b8152600401610ad690614cbb565b61139888888888888830612c52565b604051419083156108fc029084905f818181858888f193505050501580156113c2573d5f803e3d5ffd5b505050505050505050565b5f546001600160a01b031633146113f65760405162461bcd60e51b8152600401610ad690614bbe565b47818110156114175760405162461bcd60e51b8152600401610ad690614c4c565b5f80546040516001600160a01b039091169184156108fc02918591818181858888f1935050505015801561144d573d5f803e3d5ffd5b505050565b335f9081526002602052604090205460ff166114805760405162461bcd60e51b8152600401610ad690614ba2565b80516001600160a01b0381165f9081526008602052604090206003015460ff166114bc5760405162461bcd60e51b8152600401610ad690614bda565b610ea582612be5565b5f546001600160a01b031633146114ee5760405162461bcd60e51b8152600401610ad690614bbe565b6001600160a01b03919091165f908152600260205260409020805460ff1916911515919091179055565b335f9081526001602052604090205460ff166115465760405162461bcd60e51b8152600401610ad690614cd8565b5f5b825181101561144d5761157483828151811061156657611566614c8f565b602002602001015183612e09565b8061157e81614ca3565b915050611548565b335f9081526002602052604090205460ff166115b45760405162461bcd60e51b8152600401610ad690614ba2565b6001600160a01b0381165f908152600d6020526040902054819060ff166115ed5760405162461bcd60e51b8152600401610ad690614bfa565b61144d8383612e33565b335f9081526002602052604090205460ff166116255760405162461bcd60e51b8152600401610ad690614ba2565b82515f8181526003602052604090205460ff16611640575f80fd5b610b64848484612f82565b5f546001600160a01b031633146116745760405162461bcd60e51b8152600401610ad690614bbe565b5f5b825181101561144d578160025f85848151811061169557611695614c8f565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055806116d081614ca3565b915050611676565b6001600160a01b0381165f908152600d6020526040902054819060ff166117115760405162461bcd60e51b8152600401610ad690614bfa565b335f9081526002602052604090205460ff1661173f5760405162461bcd60e51b8152600401610ad690614ba2565b82428110156117605760405162461bcd60e51b8152600401610ad690614cf8565b6113c28989898989601e89612c52565b335f9081526001602052604090205460ff1661179e5760405162461bcd60e51b8152600401610ad690614cd8565b610ea58282612e09565b6001600160a01b0382165f908152600d6020526040902054829060ff166117e15760405162461bcd60e51b8152600401610ad690614bfa565b335f9081526002602052604090205460ff1661180f5760405162461bcd60e51b8152600401610ad690614ba2565b83428110156118305760405162461bcd60e51b8152600401610ad690614cf8565b5f61271084602001516127106118469190614c7c565b611850908d614d14565b61185a9190614d2b565b905061186c818b8b8b8b601e8b612c52565b8351604051419180156108fc02915f818181858888f19350505050158015611896573d5f803e3d5ffd5b505050505050505050505050565b335f908152600c602052604090205460ff166118d25760405162461bcd60e51b8152600401610ad690614c17565b804710156119085760405162461bcd60e51b8152602060048201526003602482015262776e6560e81b6044820152606401610ad6565b600a5f9054906101000a90046001600160a01b03166001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015611955575f80fd5b505af1158015611967573d5f803e3d5ffd5b505050505050565b335f9081526002602052604090205460ff1661199d5760405162461bcd60e51b8152600401610ad690614ba2565b6001600160a01b0384165f90815260056020526040902054849060ff166119d65760405162461bcd60e51b8152600401610ad690614cbb565b6119e587878787878730612c52565b50505050505050565b335f9081526002602052604090205460ff16611a1c5760405162461bcd60e51b8152600401610ad690614ba2565b6001600160a01b0385165f90815260056020526040902054859060ff16611a555760405162461bcd60e51b8152600401610ad690614cbb565b8115611a7f57612710611a688382614c7c565b611a72908a614d14565b611a7c9190614d2b565b97505b611a8e88888888888830612c52565b5050505050505050565b335f9081526002602052604090205460ff16611ac65760405162461bcd60e51b8152600401610ad690614ba2565b82516001600160a01b0381165f9081526008602052604090206003015460ff16611b025760405162461bcd60e51b8152600401610ad690614bda565b6001600160a01b0383165f908152600d6020526040902054839060ff16611b3b5760405162461bcd60e51b8152600401610ad690614bfa565b611b458585612a08565b604051419084156108fc029085905f818181858888f19350505050158015611967573d5f803e3d5ffd5b335f9081526002602052604090205460ff16611b9d5760405162461bcd60e51b8152600401610ad690614ba2565b81516001600160a01b0381165f9081526005602052604090205460ff16611bd65760405162461bcd60e51b8152600401610ad690614cbb565b610f3583613015565b335f9081526002602052604090205460ff16611c0d5760405162461bcd60e51b8152600401610ad690614ba2565b6001600160a01b0384165f90815260056020526040902054849060ff16611c465760405162461bcd60e51b8152600401610ad690614cbb565b611c568787878787601e30612c52565b604051419083156108fc029084905f818181858888f19350505050158015611a8e573d5f803e3d5ffd5b6001600160a01b0382165f908152600d6020526040902054829060ff16611cb95760405162461bcd60e51b8152600401610ad690614bfa565b335f9081526002602052604090205460ff16611ce75760405162461bcd60e51b8152600401610ad690614ba2565b8342811015611d085760405162461bcd60e51b8152600401610ad690614cf8565b5f612710611d168582614c7c565b611d20908d614d14565b611d2a9190614d2b565b9050611d3c818b8b8b8b601e8b612c52565b5050505050505050505050565b335f9081526001602052604090205460ff16611d775760405162461bcd60e51b8152600401610ad690614cd8565b611d80816130b3565b50565b5f546001600160a01b03163314611dac5760405162461bcd60e51b8152600401610ad690614bbe565b5f91825260036020526040909120805460ff1916911515919091179055565b335f908152600c602052604090205460ff16611df95760405162461bcd60e51b8152600401610ad690614c17565b6001600160a01b0381165f908152600d6020526040902054819060ff16611e325760405162461bcd60e51b8152600401610ad690614bfa565b600a546001600160a01b0390811690851603611e765760405162461bcd60e51b8152602060048201526003602482015262776e7360e81b6044820152606401610ad6565b6040516370a0823160e01b815230600482015283906001600160a01b038616906370a0823190602401602060405180830381865afa158015611eba573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ede9190614c35565b1015611efc5760405162461bcd60e51b8152600401610ad690614c4c565b610b646001600160a01b0385168385612bef565b6001600160a01b0382165f908152600d6020526040902054829060ff16611f495760405162461bcd60e51b8152600401610ad690614bfa565b335f9081526002602052604090205460ff16611f775760405162461bcd60e51b8152600401610ad690614ba2565b8342811015611f985760405162461bcd60e51b8152600401610ad690614cf8565b602083015115611fce576127108360200151612710611fb79190614c7c565b611fc1908c614d14565b611fcb9190614d2b565b99505b611fe18a8a8a8a8a88604001518a612c52565b825115612012578251604051419180156108fc02915f818181858888f19350505050158015611d3c573d5f803e3d5ffd5b50505050505050505050565b5f546001600160a01b031633146120475760405162461bcd60e51b8152600401610ad690614bbe565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b335f9081526002602052604090205460ff1661209f5760405162461bcd60e51b8152600401610ad690614ba2565b80428110156120c05760405162461bcd60e51b8152600401610ad690614cf8565b6001600160a01b0385165f90815260056020526040902054859060ff166120f95760405162461bcd60e51b8152600401610ad690614cbb565b611a8e8888888888601e30612c52565b335f9081526002602052604090205460ff166121375760405162461bcd60e51b8152600401610ad690614ba2565b6121418383612e33565b604051419082156108fc029083905f818181858888f19350505050158015610b64573d5f803e3d5ffd5b6001600160a01b0382165f908152600d6020526040902054829060ff166121a45760405162461bcd60e51b8152600401610ad690614bfa565b335f9081526002602052604090205460ff166121d25760405162461bcd60e51b8152600401610ad690614ba2565b83428110156121f35760405162461bcd60e51b8152600401610ad690614cf8565b6122038a8a8a8a8a601e8a612c52565b604051419084156108fc029085905f818181858888f19350505050158015611d3c573d5f803e3d5ffd5b335f9081526002602052604090205460ff1661225b5760405162461bcd60e51b8152600401610ad690614ba2565b80516001600160a01b0381165f9081526005602052604090205460ff166122945760405162461bcd60e51b8152600401610ad690614cbb565b610ea582613015565b5f546001600160a01b031633146122c65760405162461bcd60e51b8152600401610ad690614bbe565b61144d6001600160a01b038416838361328e565b5f80546001600160a01b031633146123045760405162461bcd60e51b8152600401610ad690614bbe565b506001600160a01b0381165f908152600d602052604090205460ff165b919050565b335f9081526002602052604090205460ff166123545760405162461bcd60e51b8152600401610ad690614ba2565b6001600160a01b0386165f90815260056020526040902054869060ff1661238d5760405162461bcd60e51b8152600401610ad690614cbb565b82156123b7576127106123a08482614c7c565b6123aa908b614d14565b6123b49190614d2b565b98505b6123c689898989898930612c52565b604051419083156108fc029084905f818181858888f19350505050158015612012573d5f803e3d5ffd5b335f9081526001602052604090205460ff1661241e5760405162461bcd60e51b8152600401610ad690614cd8565b5f5b8151811015610ea55761244b82828151811061243e5761243e614c8f565b60200260200101516130b3565b8061245581614ca3565b915050612420565b5f546001600160a01b031633146124865760405162461bcd60e51b8152600401610ad690614bbe565b61144d6001600160a01b038416838361333d565b5f546001600160a01b031633146124c35760405162461bcd60e51b8152600401610ad690614bbe565b6001600160a01b03919091165f908152600160205260409020805460ff1916911515919091179055565b335f9081526002602052604090205460ff1661251b5760405162461bcd60e51b8152600401610ad690614ba2565b83515f8181526003602052604090205460ff16612536575f80fd5b612541858585612f82565b604051419083156108fc029084905f818181858888f19350505050158015611967573d5f803e3d5ffd5b335f9081526002602052604090205460ff166125995760405162461bcd60e51b8152600401610ad690614ba2565b84515f8181526003602052604090205460ff166125b4575f80fd5b6125c086868686612816565b604051419083156108fc029084905f818181858888f193505050501580156119e5573d5f803e3d5ffd5b335f908152600c602052604090205460ff166126185760405162461bcd60e51b8152600401610ad690614c17565b600b546001600160a01b03166126625760405162461bcd60e51b815260206004820152600f60248201526e18d95e1059191c881b9bdd081cd95d608a1b6044820152606401610ad6565b600a546001600160a01b03908116908316036126a65760405162461bcd60e51b8152602060048201526003602482015262776e7360e81b6044820152606401610ad6565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a0823190602401602060405180830381865afa1580156126ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061270e9190614c35565b101561272c5760405162461bcd60e51b8152600401610ad690614c4c565b600b54610ea5906001600160a01b03848116911683612bef565b5f80546001600160a01b031633146127705760405162461bcd60e51b8152600401610ad690614bbe565b50600b546001600160a01b031690565b5f546001600160a01b031633146127a95760405162461bcd60e51b8152600401610ad690614bbe565b5f5b8351811015610b6457612804838383815181106127ca576127ca614c8f565b60200260200101518684815181106127e4576127e4614c8f565b60200260200101516001600160a01b031661328e9092919063ffffffff16565b8061280e81614ca3565b9150506127ab565b604080516080810182525f6020820181905260608201523081526001600160a01b03838116828401526004805493516352bbbe2960e01b81529293909116916352bbbe299161286d91899186918a918a9101614d97565b6020604051808303815f875af1158015612889573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119679190614c35565b5f8413806128ba57505f83135b6128eb5760405162461bcd60e51b815260206004820152600260248201526130bd60f11b6044820152606401610ad6565b5f84138115612969575f6129026020828587614e72565b61290b91614e99565b90505f826129235761291e875f19614eb6565b61292e565b61292e865f19614eb6565b9050818110156129665760405162461bcd60e51b81526020600482015260036024820152623732bb60e91b6044820152606401610ad6565b50505b5f8161298f57335f908152600860205260409020600101546001600160a01b03166129a8565b335f908152600860205260409020546001600160a01b03165b90506001600160a01b0381166129e65760405162461bcd60e51b815260206004820152600360248201526236b73b60e91b6044820152606401610ad6565b61196733836129f557866129f7565b875b6001600160a01b0384169190612bef565b815160408051600481526024810182526020810180516001600160e01b0316633850c7bd60e01b17905290515f9283926001600160a01b0390911691612a4e9190614ee5565b5f60405180830381855afa9150503d805f8114612a86576040519150601f19603f3d011682016040523d82523d5f602084013e612a8b565b606091505b5091509150818015612a9f57506020815110155b612aa7575f80fd5b60208101516080850151612ad45784604001516001600160a01b0316816001600160a01b03161115612aef565b84604001516001600160a01b0316816001600160a01b031610155b612b215760405162461bcd60e51b815260206004820152600360248201526234323160e91b6044820152606401610ad6565b845f01516001600160a01b031663128acb08858760800151886020015189606001515f6001600160401b03811115612b5b57612b5b613e01565b6040519080825280601f01601f191660200182016040528015612b85576020820181803683370190505b506040518663ffffffff1660e01b8152600401612ba6959493929190614f00565b60408051808303815f875af1158015612bc1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e59190614f3a565b611d808130612a08565b6040516001600160a01b03831660248201526044810182905261144d90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613446565b5f8590505f80826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612c94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cb89190614f5c565b506001600160701b0391821693501690505f612cd686612710614c7c565b612ce0908c614d14565b90505f8188612cef5783612cf1565b845b612cfd90612710614d14565b612d079190614fa3565b88612d125784612d14565b835b612d1e9084614d14565b612d289190614d2b565b90508a811015612d5f5760405162461bcd60e51b81526020600482015260026024820152611a1960f21b6044820152606401610ad6565b612d736001600160a01b038a168b8e612bef565b846001600160a01b031663022c0d9f89612d8d5782612d8f565b5f5b8a612d9a575f612d9c565b835b604080515f815260208101918290526001600160e01b031960e086901b16909152612dce9291908b9060248101614fb6565b5f604051808303815f87803b158015612de5575f80fd5b505af1158015612df7573d5f803e3d5ffd5b50505050505050505050505050505050565b6001600160a01b03919091165f908152600560205260409020805460ff1916911515919091179055565b816040015115612f385760c08201516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612e85573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea99190614c35565b905082608001516001600160701b0316811015612eee5760405162461bcd60e51b8152602060048201526003602482015262696e7360e81b6044820152606401610ad6565b61144d83608001516001600160701b03168460a001516001600160701b0316855f01518660c001518760200151886060015161ffff16888a60e001516001600160701b0316613517565b610ea582608001516001600160701b03168360a001516001600160701b0316845f01518560c001518660200151876060015161ffff16878960e001516001600160701b03166135bc565b604080516080810182525f60208201819052606082015230808252818301526004805492516352bbbe2960e01b815291926001600160a01b0316916352bbbe2991612fd591889186918991899101614d97565b6020604051808303815f875af1158015612ff1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b069190614c35565b80604001511561306957611d8081608001516001600160701b03168260a001516001600160701b0316835f01518460c001518560200151866060015161ffff16308860e001516001600160701b0316613517565b611d8081608001516001600160701b03168260a001516001600160701b0316835f01518460c001518560200151866060015161ffff16308860e001516001600160701b03166135bc565b6001600160a01b038181165f9081526008602052604090205416156130d55750565b600980546001810182555f919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b0319166001600160a01b0383169081179091556040805160808101808352630dfe168160e01b9052905183928291630dfe1681906084808501916020918187030181865afa158015613163573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131879190614fec565b6001600160a01b03168152602001826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131f59190614fec565b6001600160a01b0316815260200160016009805490506132159190614c7c565b8152600160209182018190526001600160a01b039485165f90815260088352604090819020845181546001600160a01b031990811691891691909117825593850151928101805490941692909616919091179091558101516002840155606001516003909201805460ff19169215159290921790915550565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f91839186169063dd62ed3e90604401602060405180830381865afa1580156132dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133009190614c35565b61330a9190614fa3565b6040516001600160a01b038516602482015260448101829052909150610b6490859063095ea7b360e01b90606401612c1b565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301525f919085169063dd62ed3e90604401602060405180830381865afa15801561338a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133ae9190614c35565b9050818110156134125760405162461bcd60e51b815260206004820152602960248201527f5361666545524332303a2064656372656173656420616c6c6f77616e63652062604482015268656c6f77207a65726f60b81b6064820152608401610ad6565b6040516001600160a01b03841660248201528282036044820181905290610b0690869063095ea7b360e01b90606401612c1b565b5f61349a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166137779092919063ffffffff16565b80519091501561144d57808060200190518101906134b89190615007565b61144d5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610ad6565b5f61352787878b8b89898861378f565b9050866001600160a01b031663022c0d9f866135435782613545565b5f5b87613550575f613552565b835b604080515f815260208101918290526001600160e01b031960e086901b16909152613584929190889060248101614fb6565b5f604051808303815f87803b15801561359b575f80fd5b505af11580156135ad573d5f803e3d5ffd5b50505050505050505050505050565b5f6135cc87878b8b898988613a3c565b90505f6135d98887613b8d565b6040516370a0823160e01b81523060048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa158015613620573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136449190614c35565b9050886001600160a01b031663022c0d9f886136605784613662565b5f5b8961366d575f61366f565b855b604080515f815260208101918290526001600160e01b031960e086901b169091526136a19291908a9060248101614fb6565b5f604051808303815f87803b1580156136b8575f80fd5b505af11580156136ca573d5f803e3d5ffd5b50506040516370a0823160e01b81523060048201525f92506001600160a01b03851691506370a0823190602401602060405180830381865afa158015613712573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137369190614c35565b90508a6137438383614c7c565b10156118965760405162461bcd60e51b815260206004820152600360248201526237329960e91b6044820152606401610ad6565b606061378584845f85613c61565b90505b9392505050565b5f808890505f80826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156137d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137f69190614f5c565b506001600160701b0391821693501690505f6127106138158782614c7c565b61382189612710614c7c565b61382b908d614d14565b6138359190614d14565b61383f9190614d2b565b9050808861384d578261384f565b835b61385b90612710614d14565b6138659190614fa3565b886138705783613872565b825b61387c9083614d14565b6138869190614d2b565b9450888510156138be5760405162461bcd60e51b81526020600482015260036024820152626e653160e81b6044820152606401610ad6565b6138d26001600160a01b038c168d8c612bef565b6040516370a0823160e01b81526001600160a01b038d811660048301525f91908d16906370a0823190602401602060405180830381865afa158015613919573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061393d9190614c35565b9050846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561397b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061399f9190614f5c565b506001600160701b0391821695501692506139bc88612710614c7c565b896139d0576139cb8483614c7c565b6139da565b6139da8583614c7c565b6139e49190614d14565b915081896139f257836139f4565b845b613a0090612710614d14565b613a0a9190614fa3565b89613a155784613a17565b835b613a219084614d14565b613a2b9190614d2b565b9d9c50505050505050505050505050565b5f808890505f80826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613a7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613aa39190614f5c565b506001600160701b0391821693501690505f613ac187612710614c7c565b613acb908b614d14565b90508088613ad95782613adb565b835b613ae790612710614d14565b613af19190614fa3565b88613afc5783613afe565b825b613b089083614d14565b613b129190614d2b565b945088612710613b228882614c7c565b613b2c9088614d14565b613b369190614d2b565b1015613b6a5760405162461bcd60e51b81526020600482015260036024820152626e653160e81b6044820152606401610ad6565b613b7e6001600160a01b038c168d8c612bef565b50505050979650505050505050565b5f81613bf857826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015613bcf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613bf39190614fec565b613c58565b826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015613c34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c589190614fec565b90505b92915050565b606082471015613cc25760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610ad6565b6001600160a01b0385163b613d195760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ad6565b5f80866001600160a01b03168587604051613d349190614ee5565b5f6040518083038185875af1925050503d805f8114613d6e576040519150601f19603f3d011682016040523d82523d5f602084013e613d73565b606091505b5091509150613d83828286613d8e565b979650505050505050565b60608315613d9d575081613788565b825115613dad5782518084602001fd5b8160405162461bcd60e51b8152600401610ad69190615022565b6001600160a01b0381168114611d80575f80fd5b803561232181613dc7565b5f60208284031215613df6575f80fd5b813561378881613dc7565b634e487b7160e01b5f52604160045260245ffd5b60405160c081016001600160401b0381118282101715613e3757613e37613e01565b60405290565b604051606081016001600160401b0381118282101715613e3757613e37613e01565b604051601f8201601f191681016001600160401b0381118282101715613e8757613e87613e01565b604052919050565b5f82601f830112613e9e575f80fd5b81356001600160401b03811115613eb757613eb7613e01565b613eca601f8201601f1916602001613e5f565b818152846020838601011115613ede575f80fd5b816020850160208301375f918101602001919091529392505050565b5f60c08284031215613f0a575f80fd5b613f12613e15565b905081358152602082013560028110613f29575f80fd5b6020820152613f3a60408301613ddb565b6040820152613f4b60608301613ddb565b60608201526080820135608082015260a08201356001600160401b03811115613f72575f80fd5b613f7e84828501613e8f565b60a08301525092915050565b5f805f8060808587031215613f9d575f80fd5b84356001600160401b03811115613fb2575f80fd5b613fbe87828801613efa565b94505060208501359250604085013591506060850135613fdd81613dc7565b939692955090935050565b5f805f8060608587031215613ffb575f80fd5b843593506020850135925060408501356001600160401b038082111561401f575f80fd5b818701915087601f830112614032575f80fd5b813581811115614040575f80fd5b886020828501011115614051575f80fd5b95989497505060200194505050565b8015158114611d80575f80fd5b803561232181614060565b5f8060408385031215614089575f80fd5b823561409481613dc7565b915060208301356140a481614060565b809150509250929050565b5f60a082840312156140bf575f80fd5b60405160a081018181106001600160401b03821117156140e1576140e1613e01565b60405290508082356140f281613dc7565b815260208381013590820152604083013561410c81613dc7565b6040820152606083013561411f81613dc7565b6060820152608083013561413281614060565b6080919091015292915050565b5f8060c08385031215614150575f80fd5b61415a84846140af565b915060a08301356140a481613dc7565b5f6020828403121561417a575f80fd5b5035919050565b5f8082840360c0811215614193575f80fd5b60a08112156141a0575f80fd5b50919360a08501359350915050565b5f6001600160401b038211156141c7576141c7613e01565b5060051b60200190565b5f60208083850312156141e2575f80fd5b82356001600160401b038111156141f7575f80fd5b8301601f81018513614207575f80fd5b803561421a614215826141af565b613e5f565b81815260059190911b82018301908381019087831115614238575f80fd5b928401925b82841015613d835783358252928401929084019061423d565b5f8060408385031215614267575f80fd5b823561427281613dc7565b946020939093013593505050565b5f8060408385031215614291575f80fd5b8235915060208301356140a481613dc7565b5f805f805f805f60e0888a0312156142b9575f80fd5b873596506020880135955060408801356142d281613dc7565b945060608801356142e281613dc7565b935060808801356142f281614060565b9699959850939692959460a0840135945060c09093013592915050565b5f60a0828403121561431f575f80fd5b613c5883836140af565b5f82601f830112614338575f80fd5b81356020614348614215836141af565b82815260059290921b84018101918181019086841115614366575f80fd5b8286015b8481101561438a57803561437d81613dc7565b835291830191830161436a565b509695505050505050565b5f80604083850312156143a6575f80fd5b82356001600160401b038111156143bb575f80fd5b6143c785828601614329565b92505060208301356140a481614060565b803561ffff81168114612321575f80fd5b6001600160701b0381168114611d80575f80fd5b8035612321816143e9565b5f61010080838503121561441a575f80fd5b604051908101906001600160401b038211818310171561443c5761443c613e01565b816040528092508335915061445082613dc7565b81815261445f6020850161406d565b60208201526144706040850161406d565b6040820152614481606085016143d8565b6060820152614492608085016143fd565b60808201526144a360a085016143fd565b60a08201526144b460c08501613ddb565b60c08201526144c560e085016143fd565b60e0820152505092915050565b5f8061012083850312156144e4575f80fd5b6144ee8484614408565b91506101008301356140a481613dc7565b5f805f60608486031215614511575f80fd5b83356001600160401b03811115614526575f80fd5b61453286828701613efa565b9660208601359650604090950135949350505050565b5f805f805f805f60e0888a03121561455e575f80fd5b8735965060208801359550604088013561457781613dc7565b9450606088013561458781613dc7565b9350608088013561459781614060565b925060a0880135915060c08801356145ae81613dc7565b8091505092959891949750929550565b5f805f805f805f80888a036101208112156145d7575f80fd5b8935985060208a0135975060408a01356145f081613dc7565b965060608a013561460081613dc7565b955060808a013561461081614060565b945060a08a0135935060c08a013561462781613dc7565b9250604060df198201121561463a575f80fd5b50604051604081018181106001600160401b038211171561465d5761465d613e01565b60405260e08a013581526101009099013560208a0152509598949750929591949093909190565b5f805f805f8060c08789031215614699575f80fd5b863595506020870135945060408701356146b281613dc7565b935060608701356146c281613dc7565b925060808701356146d281614060565b8092505060a087013590509295509295509295565b5f805f60e084860312156146f9575f80fd5b61470385856140af565b925060a084013561471381613dc7565b9295929450505060c0919091013590565b5f806101208385031215614736575f80fd5b6147408484614408565b94610100939093013593505050565b5f805f805f805f80610100898b031215614767575f80fd5b8835975060208901359650604089013561478081613dc7565b9550606089013561479081613dc7565b945060808901356147a081614060565b935060a0890135925060c08901356147b781613dc7565b8092505060e089013590509295985092959890939650565b5f80604083850312156147e0575f80fd5b8235915060208301356140a481614060565b5f805f60608486031215614804575f80fd5b833561480f81613dc7565b925060208401359150604084013561482681613dc7565b809150509250925092565b5f805f805f805f80888a0361014081121561484a575f80fd5b8935985060208a0135975060408a013561486381613dc7565b965060608a013561487381613dc7565b955060808a013561488381614060565b945060a08a0135935060c08a013561489a81613dc7565b9250606060df19820112156148ad575f80fd5b506148b6613e3d565b60e08a013581526101008a013560208201526101208a01356040820152809150509295985092959890939650565b5f805f61014084860312156148f7575f80fd5b6149018585614408565b925061010084013561491281613dc7565b92959294505050610120919091013590565b5f6101008284031215614935575f80fd5b613c588383614408565b5f805f60608486031215614951575f80fd5b833561495c81613dc7565b9250602084013561496c81613dc7565b929592945050506040919091013590565b5f805f805f805f80610100898b031215614995575f80fd5b883597506020890135965060408901356149ae81613dc7565b955060608901356149be81613dc7565b945060808901356149ce81614060565b979a969950949793969560a0850135955060c08501359460e001359350915050565b5f60208284031215614a00575f80fd5b81356001600160401b03811115614a15575f80fd5b614a2184828501614329565b949350505050565b5f805f8060808587031215614a3c575f80fd5b84356001600160401b03811115614a51575f80fd5b614a5d87828801613efa565b97602087013597506040870135966060013595509350505050565b5f805f805f60a08688031215614a8c575f80fd5b85356001600160401b03811115614aa1575f80fd5b614aad88828901613efa565b95505060208601359350604086013592506060860135614acc81613dc7565b949793965091946080013592915050565b5f805f60608486031215614aef575f80fd5b83356001600160401b0380821115614b05575f80fd5b614b1187838801614329565b94506020915081860135614b2481613dc7565b9350604086013581811115614b37575f80fd5b86019050601f81018713614b49575f80fd5b8035614b57614215826141af565b81815260059190911b82018301908381019089831115614b75575f80fd5b928401925b82841015614b9357833582529284019290840190614b7a565b80955050505050509250925092565b6020808252600290820152616f6f60f01b604082015260600190565b6020808252600290820152616f7760f01b604082015260600190565b6020808252600690820152651b1b5d9c1a5960d21b604082015260600190565b60208082526003908201526239373b60e91b604082015260600190565b60208082526004908201526336b6b73b60e11b604082015260600190565b5f60208284031215614c45575f80fd5b5051919050565b6020808252600290820152616e6560f01b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115613c5b57613c5b614c68565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614cb457614cb4614c68565b5060010190565b6020808252600390820152623636bb60e91b604082015260600190565b6020808252600690820152656c706f706e6160d01b604082015260600190565b602080825260029082015261746560f01b604082015260600190565b8082028115828204841417613c5b57613c5b614c68565b5f82614d4557634e487b7160e01b5f52601260045260245ffd5b500490565b5f5b83811015614d64578181015183820152602001614d4c565b50505f910152565b5f8151808452614d83816020860160208601614d4a565b601f01601f19169290920160200192915050565b60e08152845160e08201525f602086015160028110614dc457634e487b7160e01b5f52602160045260245ffd5b61010083015260408601516001600160a01b03166101208301526060860151614df96101408401826001600160a01b03169052565b50608086015161016083015260a086015160c0610180840152614e206101a0840182614d6c565b915050614e60602083018680516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b60a082019390935260c0015292915050565b5f8085851115614e80575f80fd5b83861115614e8c575f80fd5b5050820193919092039150565b80356020831015613c5b575f19602084900360031b1b1692915050565b8082025f8212600160ff1b84141615614ed157614ed1614c68565b8181058314821517613c5b57613c5b614c68565b5f8251614ef6818460208701614d4a565b9190910192915050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f90613d8390830184614d6c565b5f8060408385031215614f4b575f80fd5b505080516020909101519092909150565b5f805f60608486031215614f6e575f80fd5b8351614f79816143e9565b6020850151909350614f8a816143e9565b604085015190925063ffffffff81168114614826575f80fd5b80820180821115613c5b57613c5b614c68565b84815283602082015260018060a01b0383166040820152608060608201525f614fe26080830184614d6c565b9695505050505050565b5f60208284031215614ffc575f80fd5b815161378881613dc7565b5f60208284031215615017575f80fd5b815161378881614060565b602081525f613c586020830184614d6c56fea26469706673582212200e4a146fae49e9e6ff588351f154ed87dbe28a7073a89301cafb1e1dcc979a9564736f6c6343000815003303ed30d67316d88cf627f7ed093539aa9abaf930f116f9f1650486652378b7f6b903796426021157c6a1c3507fd4158390f86816812836618067cb07bf8bfc877a1a03f115f0e8f6fcff03cdbed5acea080cad4a14ecf6df04288a0c7294791fabff5800582003858a3a57057425694217859a05c648fa330a1cc144fe399059056d4613cf104202800340d818e3796ea6f268d35bdf53561a018e0e0f298476454782dbbf1a779158f800582003e08434e7720bfd4b860c53bddca7bb2cec24c318c41ac4c39d0c3233ddf850548662ca6da563be2bb4e5ed25171c7f1958b6ab9b0309825fcf03990d50cd289d6e9b80cbaff262d33a23b0cb6304135911d5d5602c03e0d21903b7ada8e07e45529d6ec681c68690307f1c4bb8e82a8eddb098b6324b03a4b81ef5fed22aa411e3aa33d92bae32bcc8fee907b8d451da83eb04d995c60e00581f0294581bedf25923bd90c8cc099ce1a1b50a45d6dde21a87e3a62121745b0254069d89974f4edabde69450f9cf5cf7d8cbd2568d00581f029abadab201613154f56cc3059eabcf26fac0b16527bec6ae3f23ae782b63410102191800005820039d186d1abb1c63f951546db00c3fd433d8e49bfe81cec27a36fd50acd94700410100582003fceb17cdb4cfdca73cf86e7929a876175982f3b9c1571cd90e9ac59311e93054d85ad783cc94bd04196a13dc042a3054a9b5221000582003e475d84f265beba1c819f28655a8190591e1ca85fc2786fb64813da312ad205408c32b0726c5684024ea6e141c50ade9690bbdcc03d2ee766a11f50f393eac74568140188fd9022f73fdf7635a6bce078187d36d280219bea7035df5df3d8bcedc36b4c59342f3a1862a7284e390b5e6d626efebd3422ff1f08303e80f0624612f00fb9b1db01399ba13ac64902aaae663f2fd7ea4fd7f94f953dc0338bcdf72a845de3534b27b1e01d42db99375feb74f9369f076a984f3f06851c303e7a5205513ad72d3e5c2b0f535f3651232870ee52f360e30f193b7b5aa46172c0398910fca023bdd58f38facc42f39dca6347c7b860011476835f676ed43f3de5a03c60aa3044f0be7d4bf745526a23222520c1464653f797b330958e94eab314548030487d44be1024d9f0984dc9bc382fbb70d6fa606abf203cec8f18a04560e3b2b03080bd456778e0871de3d53758400f65310bb3178ca2747c8c318bfa0af44223f0342dcd32381313797c4199ee9649db807b167307736c840ade0a58dabc360619703f9cd810cf2c34b597d84d914a2099f47a7379c1b08c63a0d19c58aab1a66121f03b337ccbb5bd255a518fc1ea5a510a2e6a06206677f715e2ff52cb0d5cf2d143c03238d2590027504adcb6c07573409d38cab3c2bc8507e475aa46d22fd3b78c21803b3baeae5263b129a2fcd438aec1a31bb8710f198c09ea0cceb648bf12c086d830219ffff03f55512a957eeb2db76ef2809c0c3a3a85e1dca12a2cc16a8b2213b06d1bb6708037ea52497380f7f8accddab79e359b03f7db6638032bea99fb934efb68b41602403bf53af472dea198222455e4b898641daf5582a5242746fa68150513d6c5ffc2c034566786093692154993d128892823fc7fe5d3a393df37dda21fe9450d6ec31aa037a16806bfc70b9a8dd0bda29b5d8a2f4b3feefa87a8280e33a17e2d243ee34de03c8e7ccefe602698fe8bacaf85e938d0abe9693adb87895f2b418f580e96b13ed035e140e5921f74c0d83093e6ba70b6e6bc14c762a6dd6977bb4d3c284de7861040058200332974f31d009851b061550aa0faec8307887bc88911b0efa4b5a340e87a91054b011e4eb4111ef00b620a5ed195836dcd69db1ff0058200327220f787be5fa888bb742e964e6d9eaf4a131624c869bb6586a126891da8054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc203442ac559ef912bb2feaf1756b1893c06d586e594eff143c0929dfacabafa7b7400582003ef167fee9bca1368f16f2a1f188f65c38491224aabcea2f125bbce53ba445041010309205738e3ec030f75417543c6768260fcfce3da94631ef2778c9e76abb89fdf03bb3fc11add6af9d025bce5b9af2ef165d9732043cd168d65488652533806a095005820032d801108cc79c64c0e4c3143e6cbff055c98e5e30e189c939bdf208b9ff47041f103735ad8fb3787782592fc30d79ced243d15059b50d1e0e23c862fb5d14c5be90b03e9f8c5a5a0d69f7a9f2246796c19100f22663d052c2b9e88e50a112e1f1141b10219bce403b167bc94fd002e5cafbbec2f492e24094fed07079b42408f3f1c65c1f967e12a037ee3dac0f91ab88d8a072e393ace14b6b950ec2092a0810ce065a2e72000318d03168b921f3cd5a824a1cb60a144d647b9acff91a9a0d9734f195883205549681c03284f2c903c91a7b8abcf6fcbcae9416314dff393d0c7055508418787d81a8a7e031540cf874bc70b9cef70d3f64c2b4f7b51dec5db9a681d68770d0b0d7369cce503d2f610e7f545b49be09f35aa42b7e47ccc1a7b9e3e7738ce103e3b8304d55f910324f9ba81308deb4b67d8b007be867109d6480e08c8e98e5f922e16af20c00f30033c1305290865b48144b36a8946579c40e2e22ab17f3cece3d8d3a5d98be5a08203b037da30f14af788201f9fb6f56363a086144eb82a4b3a28261a49eea603f8a0036ee9b1aff8a89cc38d9ed561d8a55dd2d5504cfe52c999379cce271219f69e1903a19b69dd505058087d9a039615c0e3249928e6fc6be873471efddf75bf44c08d03a7729f8deb9f828e4cbedddfa21b0696114b84d4de403c06c0ccdddc310547fb0219ffff03714b95e35ea8b153f72df49e4c725848d4a6e937e34080334969986a10e513f2038fb04b077894e9d3d8582b7955b3461c2a5e877a3b7144d3ecff4a24f658530c030788679d91694402b76226d346c09fa7f1c2f0f61f3d7ea740eea61f28ff4b5f03896ec28238ebb8de5e5debe2c5c3ad5f80812e7a4c137068e2851beba6d6aa390341de84f4cc76a39c406d53a41dcf66a44db3254e294c20a129931f34cd3fcfd403fba24f29f6bc5a83d5045d99204d7427d6280293baf723cbc280882e26cba29303e2a90d9a075da70d8705f0f26f2fcee1b02bbf42109861017efecb4cdaa27e220385c01142c5149e49d267dec6dabb71e7fa8d7be074b852e798537d497bc63c7103dacd6a0da91b8b53d110fabf0a92b71c8ef8eec810c65825314b815eb3bce67803321ad7eb767874767bdf3d932f5bfd9f672b5805cc4778fe994029235a6a9aae034ecc70fe566ca5a25fef2f8da10b46b3d2fe2a4496d2b546a518e5a24f37d42203ea24f49c362c299f74457348276d694ac06ef6168417d29d8a450a7d36cd2a9700582003b8aba706c33b5fee66e6f5b315d3545b9a34cb3ac9f0d4a5687d31f56a37b0410100582003dd595f693a416d1989509769ae32e79265cde4f6cbdbc9837c4bdea300789054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc203776b10a78a601dc4ab9fadee48f67474af8f73423b9a450527268cd0ecbc37b200582003c04180ec8ecaf4419c89ab20a0f14b9bb2d71e3dc883666bb383fcfed0de30410100581f02e3064fb26dcb6d6fe3162b1db09ddfb367d0d09c4ac52bcb135fc965b448410100581f02dedaa9e7367db04b4b74fa154e8348de2d90c4b95dd8f300d897e69852fc41010219200400582003fee596e42f3e0b534c7d9b61c2030e2ed69fdf31c7f160eb23a15e75a17da054e9c219b5a3d02b48d26a94992337181b8dd573d303490e0ccf385d7b0a11fe7b6081f5513604e43e0b813d932b676ecd246e8587b1021951e4036f4674c0d4ecd488b6f4a9a8f306f4412e80695dbc63411cb2f47bce1e49d53403d2ef15deac0713c6b04ea7b666c579dfd9c50da5ea73cf886deb604fb5677b9a0303c45f2f6ff5b60ff20acab4a1015db2b4de6f81b98c2439dc7b9a5c3760fc4a033814232453f30def761f181ada3315aa9d86aaedff68ccc6026497c18b71553a03497f80d077a80bb9214ad6a67359e3ec27413b412a00f9e82e918ecc0b46d6e5036bf8e1217db92ea5dd247f8f89cb817345ee9bc4711531116a4fee8bf9b936570219ffff0310b683c531aa5e96d16b394bb59e5a0772aaead1a420d3988a13138cb523741603da4b526733e9233d1b287bf2ecdaeb1f26db55366ee59f69e4a0f154665163c503b6f2695882a43b7ee08d78fcad7ad0e6446a68a64a0e0be8c5389264b6a25df603a8543ab9cda2c5d825727556a9ea5a173b30b58408194579c797c05c1cd2309d03a69ed1967b32cfc5199e4852d22f00ee9eeb0b36dd8191f7ed408a355bddfafa03281aaa2f9fb964ab82aa4f6915ef1513bbe5b39564d5309716c96133fde19f0403f0cdf241cf13b023d35afa9746d6bdbd6d2e9fd2b3c6804c11f03e9352750f97035612edef0349be16ab4fdd7f74f620038b0b8f108220d80e7efd85dc2ef1bcdb03d6f9a6a3db59a183f266794a88e10d8354696b023e9f62aa4f666735261defc9035a02b9b8f1ac4c5c6e6d26e9ff0102aaa57b5a261b8ae79eeca4b88d8fa03cfc03953d69a97ecab4c886578852697ed43172bf103bf55e015bd7e802514cc599eb0316de675f23c89ce3a1a69b005d4b95282fdaa8b18968167f223fcd3d679e369403dbaf8c5aa07b8945efc4169387defd0d3dc47e818c9fb2c36687f81b92f6fadf030b7c5323d31391f4e8950272b77c97436efaa08d4c5cb35543747e08be57aca103ecd90690861e921d310993af7477a22fdc8d7b146752fa59a899ee24c38528eb00582003b65ad6890ab19228a415ed27895a1957d77b7129bc1e2d45f57a33d1b8d9f04201770386ef6b360a9e35448ad40a1b40c6847b78fd97c1eceaafd9f7b61c2f0e36fa81005820033711b9a29bb181e8d706aa80ba93a07597b9684c080063ac08b51669646a705452db713d60249e52024dfb54a5b4c32fe0893f5403ed88b8b7a5f49fc3c4da9af2d14e0dd4cbdd65da9aa8ec35e686e8ee2f51b5b1005820034f5bda833d35de6ead5a61129e8fc4596a0342e2f9e150ad43f39cc23e6c20412403655bddec7c3f4d7c2ed474f0f04a2399cfea19785fcdc07b835127edf6fc1dd303cdf6f317d659d54cbd557191a594db55ea5d2091eb1e98ff5ecf965ac21f48f6005820038bf610e8899602720546cd406e9f1da2fbf96299eecc0545a804b7392abb1054a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800582003d4968f741b255c776e5b8c308b7908737c017f89fb731fb4ffae46ae032df05455296f69f40ea6d20e478533c15a6b08b654e75800581f02e27a06fd57922fe9f9bfe4a5e97965991bca7c889e4a5ecdf111e0220f8f410100581f028ade14cf82673ab7ee1576fc382c41d526a765f792f2c065ddd020d1c63254c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200581f02e55e979af48a9b7a5b9c8f41efa68ca20d1c03d03fe57686a24e356c9f7854d29da236dd4aac627346e1bba06a619e8c22d7c50219a4000219d79b03a43b3cb6b574bcc6737d488a02a66e7cdad46cda82fb16f37e0ef706e9709b5303ad4ea063a19d7cfe359fcb24f7ebfb1aa6d17aec3fdaac21c6a768dea38fbf5b03dbf2f73777cde5504cbb79cb10612ee7b83a5edcd09866715475a16d5e9ccc0d0219ffff0300bd5b97b840fa716f2b6fe8d772a08c6843b496aba1ebd04bc7cb22e55acec903235b854d38bcecaefbfdd12fdb940c9691c0e5eeecb78361e29aa831e60157630219ffff05581d0256771f6399c8c78159ada5385300eb682064630ac0498243eefbd9c10f01480de0b6b3a764000019506a05581d02d9105cbb2bcc48f5dcd94c8946c24e43ad59614f790a499a585df6490c014713a28908d68c000219050005581e0328f7a76132a8fbcb862a444d7f501faf3003041f0c3cfca0ae78f37e500c01472f74d11097b0ae0319a5c21cfb2a8a330a23a94f3264f6b09f54ead23932f7c416cc60174545ca3e0219f77a03739d5c922cb18be9d5958f5ff43753a40e33d2c3060b4ffe7d2c0cc3e764c56803e5f8295455959cc2f404f824bda977b4d18fd961b41b37a0df6d25c70a004a1c034ef7d4f4c7e0cf5b931ce8e6f6f90076bfec17978f092d8c345cff9ec97cea4d03c6d793ef897d3023c7810f67fb63a5d145aecea9855ec271581317516b73a8af0219ffff03345ad8347bd378f25a3d6b46c9ed92a24c84b0f307f334588d7f010dff7fc0b8033105970458b5e055652bffd810fc15dafc3c6bbc3cd4676e5d5c9cf0362722150391ec97c1fdac9e3541dde9971818265b2c1b6245f6f6bd7cd852b95403594616038e149ea4ef63f93d9ea590aa3485a4e387134673cf42c2fc4aa4a33d8237fec80219ffff037eaf4732eb746bcfd34f051dde4a6661177edfadb864176b642acd959e6d1782033933b9451d942f5ea78d40f8fded3d15af7c86ea7f9f965a41068e6ef56b544c03a0c2803a950e7a7e6b4d49ad8c11bd09ff3e4c4a6cb2e84b858befb737470d9b039ea15f17c9259cb66614343fcc35864ce6d8c1350de8ed29815d61b4c8f5206f03a08979fc8d59e672f084440f9e2752b06bb7594dc4e52e2c043aa90f8ab19666039145679165c3a2ec4db63d803f3ae1f0195c02062cac214cca96e9e450af3aab05581e037a53550dc399a156d54347ef50def8f425931c331dd2b8e53442208bd0040205581e03480a7c8dda2f8d183a8e975e60aba0e1d6bb1ca841027528c06d0f21300c0146b5e620f78d4005581e0346dc4933acd0fe8c0d3469bdbbd7522c52de9cc1c803e0a5f70e312690040305581e0342a72fd9151705b181ebc17546587d9113d29b35e7b87d6e75d5bfd2200c044702801a77a2f94405581e03d51b7fdff2fbaff38b64ad1a59df11a34c66dc0a2c648297d12c9e56100c02470119782e133fb005581e037c48cf7dabeaebd595de1ae697978a8fd4ab361157ccd3094d19998f40040105581e03e00c26999ded424d15fa5b92552e0638e325d168d234595c98c3c721000c014703328b944c400003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03e31911ffeab5320719c6d1778f576f6042a38712df31403962d169452007011bffffffffffffffff04590855608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100ce578063aad0ae5b146100df578063c4d66de8146100f2578063f2fde38b1461010557600080fd5b80630a5ea4661461008257806312ec8dcc14610097578063715018a6146100c6575b600080fd5b6100956100903660046106f7565b610118565b005b6065546100aa906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b610095610198565b6033546001600160a01b03166100aa565b6100956100ed3660046106d5565b6101ce565b6100956101003660046106d5565b610244565b6100956101133660046106d5565b610321565b6065546001600160a01b031633146101775760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e417070726f76653a2041636365737320726573747269637465640060448201526064015b60405180910390fd5b8015610192576101926001600160a01b0385168484846103bc565b50505050565b6033546001600160a01b031633146101c25760405162461bcd60e51b815260040161016e9061079f565b6101cc6000610416565b565b6033546001600160a01b031633146101f85760405162461bcd60e51b815260040161016e9061079f565b606580546001600160a01b0319166001600160a01b03831690811790915560405181907ff213750e75b7d8975215501c91778a99d0e1d7e30453ea61619aba02b5e0d17d90600090a350565b600054610100900460ff1661025f5760005460ff1615610263565b303b155b6102c65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161016e565b600054610100900460ff161580156102e8576000805461ffff19166101011790555b6102f0610468565b606580546001600160a01b0319166001600160a01b038416179055801561031d576000805461ff00191690555b5050565b6033546001600160a01b0316331461034b5760405162461bcd60e51b815260040161016e9061079f565b6001600160a01b0381166103b05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161016e565b6103b981610416565b50565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261019290859061049f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661048f5760405162461bcd60e51b815260040161016e906107d4565b610497610626565b6101cc61064d565b6104b1826001600160a01b031661067d565b6104fd5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015260640161016e565b600080836001600160a01b0316836040516105189190610764565b6000604051808303816000865af19150503d8060008114610555576040519150601f19603f3d011682016040523d82523d6000602084013e61055a565b606091505b5091509150816105ac5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015260640161016e565b80511561019257808060200190518101906105c79190610742565b6101925760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161016e565b600054610100900460ff166101cc5760405162461bcd60e51b815260040161016e906107d4565b600054610100900460ff166106745760405162461bcd60e51b815260040161016e906107d4565b6101cc33610416565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906106b157508115155b949350505050565b80356001600160a01b03811681146106d057600080fd5b919050565b6000602082840312156106e757600080fd5b6106f0826106b9565b9392505050565b6000806000806080858703121561070d57600080fd5b610716856106b9565b9350610724602086016106b9565b9250610732604086016106b9565b9396929550929360600135925050565b60006020828403121561075457600080fd5b815180151581146106f057600080fd5b6000825160005b81811015610785576020818601810151858301520161076b565b81811115610794576000828501525b509190910192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212204145507bfa15500c0eee86c57c125e8500315ccc134912cdaa0914a0badb3f8d64736f6c634300080600330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582002a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8254e1c7db7575babf0d3369835678ec9b7f15c0886b00582002f97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c75470cbb871e8f30fc8ce23609e9e0ea87b6b222f58021980040219010405581d024d11e8e3a1420889b55b40236f26171452fc5c2039b36c2ff7eebd1e070119085505581d02854c17c59cb0aaf03e2b09e171fa0bdcbc1962f2824e419468f3b0020c014712162066c8ec000219084005581e03c041a125d5bebf793e4fe76765079b1a6f58561779843267210dab21b00c044656385853200005581e0311f5442609a3d1c9d8b6fcd4116925086103aaa59609edf9372c61ebb00c014622f186d1abe60338d318867d6777429ae9d27eeb574a09ece60292650356363e87b497663cf7db05581e03a72e70a896c5e7e3fd73fc037f9e385a2ff1fcd346c335e8e608f124400c186d471f71d628f1f38803eea6e015c5abaf705debdb853983b714b38e22667b85ff6e05a2db41df0504dc01410f0219effd032930605605b300db6486c9818a9d69d8ffc1ecef6e1f607593b4656a78ded0a40328d5458b3dbf9d724bec5ff31654b01e50f4c08c56605e08252ff28fe281d26603301165959399aed0231e580d3353e2d4dce887ca12ea1ff0833e8e23aeea310b030d0e27176c717e4f5feab86ce524c89a9e0cf8c75f5376a69d67449f7541dc3803cf9cabcd443f934ee28d97dc5058325563f7c0699df40ac161d33e0c3320b98503b490b1b572961181293aca0a6fc477a20a6aee29c2ff743f3d6ef60293b9f2b303b71bb1b2a3b4bbf78a775bccee3edb04119e4445b60445fd7d7ce91b25ee79e2031a0f7ee027850c3ca6df42d823bbbed78b1645d43601741264c886a393a350f403bef32c6e09c28e007e1698a85a18e69b54459009776583991ad5681ab4bbf9c903ebf09ab17cba8473fd6c5629a3407126fb8f53fbe472e4d3242564c84989f15903af01367421b5f7961923c2523a4dc737bae7b106c77dd1273ee705b6bee2f35b035c52f86143284b4ffb948c26902cfa5ac33408c4d653b07c7c9356fb4f91c2a9034f7683e6b311564ac5d92c0659bfcb71135c52fb390e7f6886a92896c2d3623a0219ffff03c99a1202b5e7d9e15da0db742f2a789b0d644f6bfd6726435f73eeab8d0e6e7603f390aa501c426edd68b282aa2aca275b68e9972b0560c215517e91b2adc46cbf03c534026d66c684f68cb9cd17e4750dc030b8d6cffd6e1421c6ff0ea7db9f4b6c03004982b4204ae0469588de21fc74edd071319950c647d84f21e68ae7da516c5003fe6dd989d0239798842a8c3066bd0c7110214f62902e7bf4caed6abcfe78096c03fe083637d5b0342db93804d2733427a7e998662caa948eef17344232354c544c03b5b0377fe5287e9445af3afbeb6c3861ef1b2810ecd75520a9078e566e651bc003765b09a65c7cfe401dbc51463b48916239af2489c5baa93c3ccc6262bf42c7b403085af56789f0254c8623f0cf68822ef1c03464dcf271d6fc42b50e06f07c09a0032299468f1c9c359732efbe9a082ed89353820fdd45631231646198d71289ae8b032cbba80609047e0b45619027356ca01329bf9a375ae59a1090afca33bd4cf7d70397dd578d8360b8c8c3713bce5583fe42a5afa6be0d25a8600f71df4c320d93be0219ffff035aa4577e4c3fcc123051e2110eda2dc2a96fd30b0e07049aa9fa51132c0e089b031746a883bbef4487c1b6c4ddb874e6fd68f5c70caea4552b96ce68c6dafa33500219ffff0342ba7b28e32c768683f5c3bbbc7b653dce81a78796f5ce41f957aed8d223598303eacb8f96acdb393725ab14ad07bfd29820ad4754be2426fab6bf83f61fde522903a82244f966c19d267fbde2e4f6a1f9e37270d801729bbaf71369692c2e0b41ad03d116bfea2e3d9e54d2f93721144bffbd0769c3e1b74e6234526f808f60cab00a033d685a4c1add6f98edd731ff5a35227e2f5e7f27fd30ac0b8f799abc77c9e1f90353e27b06c6b3531a993e547abd2d4e7ce63e2f9568808dc774a4c80b06e415330344d5ea2d1aa2b26d63df95e3c5ae201e8a60aa8b6e54c6cd117f74cb742d411103b6d3db2b930211e8e9e15fb8ef0d1968895509abecef815117be7fcc911ace7703a30f3d6c77ec61d8ce2abba4a8d664bd7806d3b2a9af97a6b91be736d12c5a8f035cde7f9153c313f758b29555d5d4672899c2147acb4c37c97464cfd5c9776d4b03c29afbd5cb40e29b1363f788437962127510facb9c11b530b01b48e276b79751038acfbef6a532706d89fa50a637b3574bb6209265a13390192e3d72f8cc6a0fa903d11aa7ac1b291c6cea4068d6934ba1e15dcf62e358a177b8f62961eb35b839e00219ffff039e005ad737365ccf7d98c76cebbdb97fdfedda6621c89e7f0e1b731e97cf6b4703a288eb9b64c1149e83c2e8d952ee83db75e13f0118bf420d8665d9523535814303213eb1be104a62a10194dcf4e9ce597fca39f3a829125fb541a8a33c6fa5923a03632044d0449d4c9eebd9097159fb3fe697b6ded3abed0862a1aef425299f440603e2769793efed9994245e9322a9cc12579bf1feeca157c50255675838cd52b11e03ae54ae8bd4c55b0b9d1e75f2cfb1542573f5d6e59d827a649affd3167bf11e7d0359e7b69749bd101f3f769f14ed3725f8159dcf0bb0cdc9f9bb5bb45672e45d4703dd7087dd545e578a6d17e637169cda21afdd944063eff65cc6d4e2c274fb58ce031d0160eb0a5617af3f9952f2b0c22d874e02dd6c2cb6b09da6be7b15342354f40391aed94f6105fd4ae89cfcf1fbbf8c1fb390b1d9ce63c362f6a1b1031ba7908103c82c7a1ee225b3b3ce66d62ac289fe13891164510ec0972a48856262105c665b034d44192e9f0b9d4c39f7109c7d413c5fcf01495c60ba301083acf86fcf0004f3032e2a65264b2217fe7f2130e2031faeca97b192b3cbbd33497ce45ca54a7f12de034fdf73c3227c80e30efc741cc5307c74923ef12955636b730683cd7cdbc1445f033fd1440bd7617dacae19e0055dcfeabab3d123fa86610a2e16b69917fad7e59b03decc961cd911ef939e8bda57bf4cd531e8888d6e7e4a1d999c16b81d7c962607031b6503fb3b15d40685bf9f9cfdd41758b9df0a8963f20328843b70747371ee590316f96e8543dea4b294c9f9111f99dbbf3ebb9e9c881c9bb6d2844eda5232ba920331f0ec17199e9c479f506cb6f13ce60583e88478e6ffe55ee94e6e36522865b803bb42808c0b5cb8e232d93149d953921c0668970a2f06a32866cd60d1698ce39b031cd6fc2b980d087992c5351f474306a4a853e86a94b0c36c17b084e1bf951ab0034cdce2511ca1b429fbf7fddd574f3f45dcbf17b6195073b28598d45bf998189a03f147ce12786ff8fe170653f3fd8e5b2b6ceaf5ab81b340bcfd755ac79200ce6905581e03b112adf782cc80e2c277563278de10f9406e141564afe189730d3e7560040103f0b332bc44312957c41e1c20a16725fe869fe75441fd6ffd6bd0e13f2703d1ea0388f6c90814631203ebcd879b9b2a01f894d317d77528d0a411dcdc9664a288fb05581e03de4b59a239c6bd2ef75bccb5ab7588f067b2ca1ea4c0a5daeb81e2c69007011bffffffffffffffff05581e036a24f36219fb1bfa0889da45b02f71dabe2cd6f9e3cda361923f34ad40040405581e0367e08031e6e971a3865ccd26728ed39b5e54b95ed5be1cccd57ba5e5b00c074706ee4bc1b3ae0005581e032ab91f8b7aaa17ba0a0dec14d672750bd179e6be21d18aab85fba0bac00c181847038a69178e1e620459032260806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102ef602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b606073ffffffffffffffffffffffffffffffffffffffff84163b610188576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff16856040516101b09190610281565b600060405180830381855af49150503d80600081146101eb576040519150601f19603f3d011682016040523d82523d6000602084013e6101f0565b606091505b509150915061020082828661020a565b9695505050505050565b6060831561021957508161004e565b8251156102295782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017f919061029d565b60005b83811015610278578181015183820152602001610260565b50506000910152565b6000825161029381846020870161025d565b9190910192915050565b60208152600082518060208401526102bc81604085016020870161025d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000810000a035036b43e305911918132adde2c66c8ab024676671c17233490f7525eedd6448e0346bbf45fb322bfcd2e4139e22411f88106f17992594cfb834b9beb07f25fb0440383d8789e4e3c4aeceb0f00617cc311b4cff1a0bcc5fe084ae44aa07a94fddb970388a9073406fdcef43846a37afb057ff62ec299d702ca86a63d55be57e8491ea5033e1b7ffa7cb855b2122487bc50d7b0564b18ce9fcb0ed995b7673950f47440a903b375a344dcd9d4bd87fc8a4a65e7f73618c5995211fc2c859bbfcdd10fc0946f03ff85ddb7a15412b3f1bcf9e8de982ee539e1811a9316e00e5a5af43811542f060315675b62397769037fd7449d0df9b7012203ade22251d79708911526faef06d603b3ae7642ef15f67d6d8558a705c1df1ac3118b1b8fc794f370dd5a7f4a5334c703ae6e674d70314e4f2d6022dfc7c3e0468c4265f5284749980cbc75742db00fee03c5a0fcea34135ebf477703cd1573c033d018165da0aea1155f13a4635c1383ac0398e89f2ab9524189885624be5a53ff4824118cbce2944d403c3d17d706cd618203b33687bad6ff83e47dcd954ccbe61e6a28dbd2768414373c876cd292cd9ec0ef0388ec131938c1a913c381c46965bfe0d33f7f5bb825784099587849213d692938039f718217a087150d25fbb270745ce29276625ddcd3705b0552f6fe204850c7dd036e004e1b8a7af3c65460ef1c3fb21ad9e834f12136414eb80066f59a24ad23fe0319adbacb916b70c4a4ba74520fa2ae0dcac9ebebd21aa0df6c953495cfdd3bdd0373bc1183bba971d521d8a947b23f3af94a27bde061e8d8413832e926f364cae2033fdf000d3af739068cde58f328036e7fa08dfe79f8b52de07ceaf62eed7b152d03c2a108c0df64e0468266a673dc963a20069dd506b30172408a85e3a0ebedb4760336b4019119b515c206e725a5afcda12ff532775e0f1f1967aaed53bcc3b129be035a5f5066c84cd8dc6636b0e8481030db6dd712fa36ae04d79ba2fad31bd50336033b774b8659cf123e9aff8976b86276dee3a02a7efc2146554fb2dc788ee6bd58034ca8fd6c62c8ddecd58e8812deddd64bd306fdda0ad6e215cbaf9a80bcf09639036b755aa8b56e9c238beb1c65bac7ffa3505992eae5583a56f508fbe5415f4157036ce3a86d85351aff933f383b9c76282e5b740c48f67b037c04a15107c87541d100581f02eedc5b6fa3f9f089fe49e89d22beb8b9682fed0ff086c76dad4842a1bf3c410100581f02f763e11c8fb977b9a444f3998ec2ef40bf48ac46c727090cf36f23c2285b54a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800581f02f13b53dcc5768db5e70a4c43c65655c4197e305eb3cd0f9e7d63867770d1410100581f025485e3c9dad40e7a2a50bd4284800d7a7cdf822b6b84d1bd4505addf19a2410100581f02489d49a92f658fbd4864fc03926553758b955863871c819684ecf0cf438741010325f1385fd1a090e4a94d4a58885159bf8d85f557199f63650f29279ac34e399400581f0201aaaf86172de597a5bc6a0f39d3bdeba10f8c2d4523804970f0f12504ee4101032e0d7c154ff914e544db1f1d22d36f4595b27e1ed7814f2a38f1fecf132588f303e555890f524b0106a849185815172b7ea1b677eec992b34d3b8ed6171f7bcbb303d6862f852ce39a0cc606200f7d94c89e0161d49db15784e631566e9c8d40b131038a3711898681d3be28783a6fdc7106446b33e8082af1a14233c7575a574b7fa900581f020e12db173a585a8305a98d9db17d97ae09f0f331821ad4a2de4b53f84f25410100581f0233334373045ad64e20045a32149dc05a759539545d7ba1dd48e97877d58c410100581f02d0fe5d53bd0efa6d93ddb0f5d9de390076a5c195fe59058e277b35dc621141010219ffef03166d15ab46b1b06514cf49c72730af2b5887e2dccd249dd402253cd71424956e03f08dd32b016b18ad46121b7c190f333655f3adba3f533bdea335872400001190034b5d3a4c041886fc569a21f903f1c74844747a19ac457bdddd6f34c5ef86d8bd0219ffff032df99f0a308bf15a460fe9ce4ef5b93d7636a02abe346133dd9a83f51a86787f031b86c0f35ae21d0ce6cf17208658e149b90d862ee780f00edeac1765644f988703febc44b4e886f29dc5ba4ec471dbd9f57c0093498e00d8d45836e0ba6fd179fe03cdaca33857cd97307c05d5bdf87c851b4e87a8005b7453c61148211d62eea6db036906e08f48e5688b9dc341bba47f01eefc996406e28befaa9a15f38bbadbc1f203346af95fb9ea18a5a92a189b4599602da0b9a50cb87709d2a5d8e240aa17702b037fd149985be0834bb8d42ea0c3fc2ae905c939f1fa220a6b62dbfa5dfd53dc850219ffff030577deaf68c22d05bbfdf7631f679ae38bba45131d74308198d523654a4fbfa903082aab5a4a3e1a9a51b84ae529e83ed27dbe2556019c61c8a40a64a2992c5c2703fd17ceaed42039433df1e7a261eba9422d0714009d4c40640eb2941a340b0fc603537407b9ea9d6b9a6197a3df42f2b3a68d16423b41070ee43802cf7f975e765a034f8fbce4be32ab1c6c3770fc31a7521849ffaf8e62901c477505539d41714f4b03acf70a16781ef10fec90236639d55a3f23046a34dd8aabbf8d562fd8f7ce16f20305d36bf9559186cc85671911981b0eacc31a9c515fda0efffe7b289ef362cb1f0382f1e0033b12cf6938be09604f8461192d39b8a22d538faf00d8178eee0ed3c80324a72b24f263218d92dd3c357f29c15ec8540ca3f13939469c3ce48bd8b758d803f6d9399765c5ad16e182984c6b95d21960ea1fd0c9ecf7278ead76544f35f677036f12e4b63cb1f1a11a0007e3a72d1646d87914541df5ef3d21b14f8ad79d959d03866a5947b15dfe65d237328321e2ff0647bfd5b606ead038d2cacbe86f0989be03581ec9ed5bb93c004a4d94d2b1154a7102cf5d5f3f674b94eb0e84e75b910603036b3f0ac9f9d6b8bfdd5bce01c7dd4e9ed4fc780ed214704c8a5bccb09096776500581f02adbc6a5a4c22ec2b68eb884d9f8e56a0076a11b92acf7e0c65c563fbd6a841010339bff1965a8b8eeb1d8988cede9d3ad1efde2b74f56dcbb495a7b1b888337fc600581f0240f805453ddf1a80f65797f45e63813a5cb36dc385f26f5e2663f2d731ad410100581f025a4c56e7df2d10a761a3b4c5dddb30dcd2cec8c4cbbba9ae934113bb167e410103496d432945c242e697e83d224a74007c456672ab7fafcfe2949593babd03489600581f0214ac619209099495da025d0eee5a3fb61178bfcf0a5164198a8e415024d4410100581f02533d9a45be66ac79f6cc868c64c7f2d7081e2f2e39e410f8f054cde1aa06410100581f029e41435850a7960b4f90aca8e622e734404905ec9667eac74ec25ead0ef9450b3becfed400581f02e2547f2bf97d02d37a7f10ec1fe27de39451680f2d88640956293a6f77cb410103cd5745d123fbd7c7e99226356aad685bf667fcca5a9b0b7286686858a8c8f355031cb8902d80132d798d346626f18d5318c5dd70200d3f46b948fe6771d5e56be50335e720c522b86bdb4ea7a86ce5321f7cec666170130efbe88ad0cf65cac4ddbe02193ffc0383408940350cc3cb4336bfbc83eae024aa9348cdaf2fb47e38d36efc75fb55f50304d8426909ac1ffd43bbd400f34c6fe87acc807223344ccff4acf86794d7649b0319e540b7440f64138e3b2a937e0118cfc92963fec85233b19d09ebe025c7a1ad0313eedf9ee1f0722b41480d070cdfdcf2a7e65e95ac780f203eb4fc8a295d107803bedffa5462f12c24ed3055cc6e78dee70c0e0a29ee6603568956128168018751033eb5e28212cc523a4f0e28dee18652fdd77de7bad14e8d28723cb0c17596a9440219ffff033f4a78a96cb494a0864817044071c042e67ef054704af05eab3b58eabf520691034f212d33bec538220f3fd06a9948b88b4db5e332f3d7a70015c105f946d3f5130392a5f9c9db1b3fe407225ee00e227bec91cd7877c3eec8731f6a8227a39e7c9a0315018b489c259f64ecfa12196f5663e7f6b309fdc20c1f4670a5b67f08b2d68403435a31ba0d2b961bf1973a7cdcac85d5a352a8d98930e6e11e236f67bc2c22c003210e54a0b357505998e76b51386c87d2c8e07cbfa2b3b1e1114b2b5cdddacc1003905cb667d138230abab33521b68576e950045af3e2eb70e3baa9b54a2021888203ddf731260a27ec88dda6818b66bf70392de52dc2b8a5ea08440d6ec6a345dd4e03650e873c11f76cc9de521ab02773e7cebc6d4c3f219bbd6cab74f76fbc93ee280390b13d98374cd31e90dc561c9891f1bded3b717f3bb837b774da69c5750cfd9503a01e1d076a5e79fbdbc0373752f5fd244f3686a013a7020791a7a803433eb0a000581f02f90dfccefe5bc15d11b584b1220038ac339be2a041ff97a4c37117dffc06410100581f02e5e529892cb3a94290f38bddbaf8f49ebb29f7afebee7654d14ad5f6ffc6410100581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d5414eda572634627389226153f9fa5366a90a660db03656832006b54445ed45f5b7d8ed1d7d0011d4a39e9d623f30b5ebe621b8ffdfb00581f022063152ae98414dd2354933391180eed3301bdded16ddeaeb2c51fd4a023410100581f0297d9ae92a2e516642140be287c37b68378216663b02b46b594685137c073410100581f02bd1f0d68bb91160028375b711c06220d1f22ad7166da8e92850f7397cdd2410100581f023496ba8f2a950bce8257b7bb8d14290c20e5ed0bbb341c8bb9e7eac22e53410100581f02c42cbb06609746d715611cea73f1b1d2b89053aa99ec9dc20cee30ac328c410103072f83ba71f0f5ded82e0aff6a7a4d3e615eac2ce7511f20f454c1dbb6c32ba100581f02c503dd1eae3122801073bb674af6fbfa5f9335a8d409a4ee8f387082234c4101036fdf2ae5e6f6da40955a66d6717eb0829ba4caa88727ef8303fbee111e6313d600581f021a2fadc1dfde5526a4de1f9ac7f414df560b2e75ac779f8549d1ae6d3558410103570559507c099709654de127782fd38b05d7a08e1e84e2a2ce6c515198ed19ec0219bff7036d9f143433f4a17eb129a11cccb425d68088064672d1b07d6efcb1c980174f82039e6c142df1ba8c5ace911994c2c79fd12766facaa798a2cc7c5079dfa04a867d0374f302691e0fe5ba34bd6d6db7ed8bf5118acde9fc5b4540d307ae51e63de69b03cfa572086589fb7e93199ea53c5a6ee3ae06147742d17814161ab5d96a31de6d0219ffff0375d82329a7e2262151b16ba5493f2ba1e677c5215b460ac9b0bc9006b74ef8f103da96997f12e89d794f4e49ddfa1e8ebaf4fe3d1e5268033acd3560724e6c750f0317e5f330552ba3aa3ed72b7d114a6543ea6e8838ed83c596a447c8fec5c11e1a035ed19cb5b68b1a1c08ebd4c2f2fd7b941fb79a66523e45fe6c1453fa203235ef0338f1a2c10a9ed3b635d68ee493aafc8b2b0371d603203c7483a05657a9867fee031017b5e07876e0b995d890519e836fd739b52b094882be6a59657fd3a11d1fb703617a0ddf3ae19a7ed92fb7bda7d4126794c9527dcef7899480342f6777fcdab60316f89e1bb65aa73a9a9df5d177b26a56037a070e214b0fb3fa707e281811bb5303ad1423f8d3fc77ae689dcad6457117e96384cdd82d16f702c141188b77bab163032feda841bc1b591caea61d66fbf5b821b82a44323f3104e3c9307442e06e4d230219ffff03c20ac8f096e6f710c24b71336d5962f4f797388c20a1355093a6f6edf33b283b03e79d71a469b85606a733d85b7404d31f777d824ebbc5eb363b9752e44c9a9da7037d5cd43716f5c416922983af3703f3ffa029aa19b79a279373077b2e8e766cd603f80aa99c78ea5b7d18564066e437b4b1836d533e942861a03b445def5ab86df60370edc040147176f5d5200797ba7ddccc69596c0a3af20cded988cffd4e892bb603202e5e32990b33499b160d671ad20dca0b3e9afbf18b4aa22535166190a708ce03be5d1f5c15aa60b0fa9e0d3d8215ca3ecad775bfbc251327160d65e958d6d243037c2ea52751f2b9f37bb8dd12eeedcc3646af7e5cfa7a2e79213037202483d21d033617c86880e58cbe1ec8b4e1c6d5a1d50ece7e630e315088d3411a41496c7306038d4b49defe4692d36ebaff4adbb78b4bdf04aa95d48d597cdcf9f3d76dcc8903038d8feec18f612c9d2e8e75db14d5d3cf3080a6ddaa65511771d8bea8276cf85e030a853a9616dcff3f31c74844230dd12c1d8eb4dc1753e898f0d93b88b102ba5f031f11322ed376b83ecf6364b5c284f34c7ffab515a76737bcb34203d1243bff4603c9c29073a3e5085404acca0f5e2d74b9e56e81987ad81932ef2fa464af935a5103093d2bc923b70d7e58a15210fdb510188929bb0caccd0b89f38e58b042141a110368014683b1e2095be1014281bcafbab17c49bbe0b0e4530d4d26c13032a6ae6b03a87abf3152dbbd8eca8f957bfbf004111a88a13f91ed14fe8aea0844db6c0b1703ceb90ea5bb671e81a9c23f14a504a8f729b84f31750d2c402aedf2d29bd3394303bfa99eb971cabe740ff62a164759cf6509fe5ad069667086956985d20b737c76035c9d91aefd4c9707e06a16b4d72bafc33fce30b4dc4266235d965419c74b7f880352ccf19f1327c5dae66ed015c489a2546fe0fd4ab10694babb42c331667b6bf703fe891ea29efe0a80038c6bd23a761f1d8ec283cf05b4f03d78815897674b5d1e03445e4ceb886a93a424246a635113ba0e3e78ea19b5e5d643c6d1f156c9451c1f00581f02cf797c5574b80f6ba8ad27358d2a70777bb639c32b99ffb2c81bd344aac0410103781fc02f0614ab4afa9896fe6c9f3b70dc92c74d8130bb77d7792da857912eaf03afeb150df39dd15d94e3e2b766d66c7ac22a290555247066669cef77cb0ace5500581f0296566c7e69692323c60ba33519d965a9c4ee8091a30527dd1d33d0d72154410100581f0233818bba40c40ccaec17dbb87914919aceaa1bdfef9200dce5f71c38b6c7410100581f02a19127b393ffcd5af41d4b187226befff55ce68e93134d36e8da5b75dada410100581f0245607d831bd89303a0ac20abb6b3fb8b8bc6c2fc09ce1a50f2a51c85e4f1410100581f02219a1fd2c01133e9043479bf2bdd8a341a6ff6bdea782ebff1f8e8d6f2ae410103dcdd9ebfbd5a528eebd8292b059fec6324085a7487b284f0d97df75cf27dbe7400581f0277b4aa1640248dcc6423e483ce46599520f0148cfbda8bffacd6b675eb16410100581f02935e1e3de830a7b94b268294df6b8b8706d4e69ffe2a887bc30a8412c13b410102197db503e8707720a356c640f3f57f8806aec56192d596c83a4ed2580fbb6f23d9e60e29035b25613c1aa6a2ea76643a4ac59589868518a087f07cef4b73d59f7fc515e4f703c69cd5621fab73ad1165971dfaf4351b189b9f4b4e57f9dbea007d35bc655655030b6de82b011342e307bf6427d18e699d928d38662e706c24ce32f3e34879090c03bef67dadafd4bb82f4d366de55738c173d20d7c4762d8808d8633ed812c8a93a03df8cfcda98a61f8df12c4fddcf915cc2617e56718400a7be89310cd441f93392032212b1af0a31a42f6d20e54fd9cf930afadfba7bb460a30914b3cc501de01a0c0380b51e771d9736184cb0efab05e65505666d3edef705b9853d78731667a006ba03dd2064bb307a67fe88df03a6c15f6b0d3459e5bd2f45b4deb5dd979983996abf0219ffff03ccb8011d98d607db37a3f733e2f90ec3faa2db9802ff2842c89f85ea07a1511903826e4a8f34a5d7f7ccc9d41dbfd79d90974991ab3ff2ef103e40d32c2d61c69603259d6fb3775dd5b202472d55ddc474f4384dde62804bb6b2e6d081500c70e0b50219ffff03a2ba1ec01127ef21875bef3ca2e8a5d8b36ee587a5f86123261f357e9d7b643303c9516739704c2744053ac10b86e87305cde75ab374f958d8dc09a53a4d3a93cc0219ffff05581d022bd85f2744c8104ee508acceb0585823157bb4c8b2da4f5804a616c60f0249014b2849199e37300019032203905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581d026522675d5cceadce45cfa70616f2986031fb4fceca26b0dd9b8ffba407011bffffffffffffffff0219041005581e03bfe128f47b3c5337e3d00aacedaff26c24e72a803ef5224e2dc2bd45300c01470157c9fbb9a00005581e03365f6c890fe38f138118c12476ca8e79ebe92e3ac7377b7471443038f00c03476267cdd0d42d180219be8503d8f78154877c4541840f2dbca4c7b68f7eee31ea2b8c3d0d5e6810e0a5a7c9270318b7be3a89abad68fd675d76b3597f35d7ff5a1f2afb27b65f46de3e437167120219ffff03a2a383e45a8aa2d0b0545d8fd5081149042ba88f2d06d745c23ff26875b9066d0342abf73dd7824daf99f1a924fcefb8dc82ae76a7893f0b74e4e18a316bd58b6003898a7c7c373410b7cd3555b604f65aa9ef6227f7b8f8f32be263bbadfc934ff4037c895cdbf7ecdefbe9f46b155479778788272a5cbf471f5c4664e093feace0d70301589fa1f459d59c83d67115c6cd4ea050915a06fc967c72e19acff00c8f527e035086b2e2974e78a0fbf8860c9dcd36281fbe0373db7aa4b00e813fd18648a90303b7bd004cee0f3236cc958b3e92108f485f021febb90c241b9e9a0d2488f674d8034117228ca6b2de17b0c6783a80866feead69b86271ce667734293822d282ff7f03e02a508aacf5903cb589f06054c62e9c0c3e50af8199319a86b17dfc9e3033c0036325fbcbf9e1a4cd307ae641bbb3825d17c30e210f437ce8571002903bf9618b03cc9b33d58c2543cadf31e28354deda8a7a41b339fdc22c744445cad1c1e36809031aee330898d63b34070da54f8ae2b0e95fc989bf069bd3316ad8fd3e239612a103b7452ca41e123f702ced695b8220113d518998320a67872f0bc2df58edb18921033e6d00eee5d9db84ff728d34546377161c4d1a1448edeb4b42253ac899b521690219ffff033a3008bb9565e9efd334237b77e5daa8af60d5f73fa96f760ef1c66c20c1e64d03505bab1f163f25e067d7dbf645b4332e4b82ceed5e332691fc19b140867dbab5030431726e1775f64544f10bbbcb61b71d7fe5de3925a2b96a00ea0d676265e4880344a20f434b0a250e24435f3b1ce42891ec3b30e295fd8c7d022330cc8685b17e03c7b8415df2aa856365b7ceacb30d322ec27d3dd417ef04c1498de2b4aa7baf5203c928e5756cb286f6951af0e3fd5eb32da5d3fb5540598bfc756efe3257ec5cc903fa27200cfad6717d5821768a394a86d2f4cb18647f8f3b31eb7644c62529a74703efd7075ce2daa83f8f659d56f52ec89543cc417697618365e3d19250661a98af0304b67af590f503c9c8562584aacf2bb2cc94b4b03dcf889cf9d6a229ef061faf039c19ca49fdcd32543b841ca1ec045b3d031314614aeb4d237c0a74a53186500f032eb4fa3c5eaffa744c64b38720c7f0da7ad9e2c1e5636423bacb91a900d91f7303b94d0d529d9eac3aa6648648a2eb66fb3ebd47739e97785a39d091df0668dc9a030fa4bca899d52b9ab93f70b9224c43f3c0c9d828f2809e4a7106e1d4dd40587303dcaf2d2dfc0790836b156f94d189c8415e41f9baa8874637cef7dd59f40595eb0219ffff03e7c8392fbdbd2fe3cf437750c2899879a6eb1579af0c27cd7bd1288ff8e4350b033dbffdc73f633dc309a63428cfc494d28d9d102349a39e6d7c72b76c1d8ded3203657264b65c24e7b336c31ca878685e4f518243f386558efddffee4d7c5bccd13037054a367f5d8c62909cbc0509e7b3d419426eee4a5f26eda97ea6a3d9457d0b50339400752f05b183ba0387e48a8558647a8c4d5ff5e80e24f225238247baafafa036c355185169c5107e65d77a01b03cbbbb6c86fdc97f2aabe2d64b729f8748707030951982d0bff435d2b8249a5f1f199b0bf192c815ae41e709e7108408f19668b036834ae08441023bc034067dfee078f26227a8810ebd7b979b392f97eee03347803588e56e677dfe99b15e11d9a1cb05431aa2cf8bdc00e16d43d7f86c5e5c3a3ad03d08a9c4a79b80447d9fd4b612e200086e113bce4f0e7bda6944944a2dbe1078f03a5ab64079d08ed7f755cfaf1c6ffb55c2e992245e29b0a558a8c5ec9354713f303089474806a6fcc1e2e3d4710c13f4d1fdd43d5650e4edff1052be50b48ad693503ca54fd9944461e8f6fd1425bcddbbbde59aa5edb521ffc134a7ba4dde5bba8c1037761bdb01ac5c0c68fdae2759be54d58c63568fb5c11857ac0c00015c18b480303e80d9f5f4726fceeaad11326a51f3f6e28f9fdc8697a73471c2b1a340af7add403e90bbd25844a487b80fe4fb8ab19d19512c38bc3a75589addf780d2bef8f936803409a31674767e87cfb472642b6ec1c6d569757d65b5eb886641f33743ca7c08d03955045fe242a6a0d3809f2a6a7da052d9f6454fea366073c109b1976bea0a893038f7e56d33fdd8ade203dc4a32fd76b1446e8f6386d1417ed35dfb7c19b79d27b03ea928709f0bc0b7dc8975ac74825fbec0d382fe2f92f403a1f70842f39daab6103ce670bddc339027b9b9e55d7c12b34a6c93534be5bee59ed9345875c070c49ee03c274696a4f96807f090606467d78fa8613d899b0e21178cd214fa56918011ba903e0ff4461e778a7d502a84dd09d1569e05fa08838e6887ff86b5045acdcbdc38a033980451255e493e58008161f3645447b7f50756ea57a9af29b3dae54da936f0d03786365b161b741edf8dbf60a3eca05cbaf4627a06eaeb8189366419ec384a4a505581e033d311dabde725322ba543cad9e20e83132333a549d2a174ecb88e2375007011bffffffffffffffff05581e03ccae5abeb9efc82f4ab83a48711780343e02845e6cd4b84fda36a041200c034701c49971e9f54c05581e03afb9e58dbf5b0d93b1db8db82fe7ec8d45a6e3875dc5a2c3109d036e400c0347f1331fe702ef0003941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03865e30fee216ac9a9a8f417028270d2de4630810d9dcf034e59a6e1e1007011bffffffffffffffff03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e037ead1c31677dcb3c4938079d6bc8f5bbba74a62f287718a076b24d110007011bffffffffffffffff05581d02ac22773d1b0594e699ff5b7ef45b1234232319f1d46067078c5c241c0c1a00011b6b4902345811b604afcc2e05581d0220ca940b5f6b73aff8f227d700799b5f9c43e61a58027e213106f28404020219060005581e0338e8a70a0bc8250398e655dbec830d59fd9dba0a6a6e47b293ca8bafb00c014701ac2e7a7a0200021915da03eb87cc22da635ca2c7bfb970aeeb5e8b4bd185f2393893aa250e3e98c0fac8990376f211fe15eef075e3c92a64facf72e6b5d103db53fc3be8ea32f2e04de9fb7803d036ae5ac1f7cd9fee5836bfa72b936d488cc02c6cc051fe19f612308c3ebba903b431e59f30db3da59d5c0c9b76d4a2c2780b6c192116cbcd50076f33eccc1747031e92fa495d84d5fdbd492d9497959f02bd4828ea93e91b64bc961099dd8660a403b5e42961094d24135fc86e821e389d7252b0d09b49fbbd9eb3fc13165be2c3c003cd116556f99bda0f003c4b009533e99c08c18db74ae6d9a447a6bf7e749fd30a03a1b4010435911c24cc42edaf24d0e651e02c5734cf3db9057c7ed5bebad3ff7003d6880da8bce2616d59bf203148fc8100334e56977edc75f4409304807174dff603b0947442652e8d2024bece8962b85042316f206f33f044d89fdcc6c5c5c6b73103cd4b58e46e0576230b93b9fd057b9a9fabac1c04f3d4e5a61981301e25d7a7f60300acac48e0e09eee918d549a1c5d5108bb86bcbd3158b5910c50c26f5d47f618033a2aabdea27d84ebf19de24bf8590953bfdf489c086aa2e35a78bed624e5e1a50314774fce24d098badfa7943aa64a4dbdf42a568187e5d9881e82a601e8c7a1620219ffff0343490d4e465875eff64f9af86e650892f0ccff648c3acbd196f8f31e628456d403786d84ab41eb5469dcc907f9d5887dc2f86ef8d93051f0201b4bc3995b7f59a803cef014108a2b1d8d238881a5b6b22ab8c71a0541a5ed3c1a4b659b7afb63e9570377e084e0af26383343f43a708686e70e1f625c0528b63053ee0d2b075d6732dd0304fbf67f4c7b65764e96939e58d96ae8a0dcbb7fdec5842fd8df497b3636cc3e03339e111a7c1fc71a3e7f0d6805313b458b04071529d4160397625f8b866a4b250327e15ffaf2435e17287801e9f144d52940647a5d6916f1e9522481c6c1b283ba0219ffff032defe0b4089bc18f0002433c81bebf9a15e084d8f7f8593d9c6c6ec1f832ea3403a087ab710eeee1e0357c3eb7aa9e8e106fdcd3365a1ae17bf227acee2cdb7c9b0219ffff03743a82626d1447df1e24a7e30acc1a21893868d38b43d995efec8666f3af38d5032008591129922eff8910b4708cc512881c60406f900341985eaeac3d62b35a7a03904fcc9f167be015d67916440ec46312d625b64d2c0c4523fe143dd6f2d3560d03f096fc9fef5675e20f5d97a4f9aa61728e4193097905dbb744eee87c0f29cd3803837660a175de8aafe70aa642011b641228ae45d84ea0c02005d397c2c6c8a19f033c3d4f3ba52a3aae726498bba3485950f70de85099cbd83cb488088b5d9a7a7403a2f0508ce54b77a29d594b5d5ca33eae6a663747f7316dd68bd0a9f2e7964c7303c98ef45f7a35d67fdc19b68fe89d0ca1cf95a615d3fa74db569f9d24118b6ee203f837c6cedb000383906cd42d52f947937eeda08fffe4d2d39c654f15ab63ccbf032dfc4101d49b21540ed01a0e71f9bd2d6fce56a16b179c2e4bbf535e68f1fc70039a5f1a14b2a3a1c71448211fedb60d2fdfc9355c657e04ac3c9391cab7b8198b0328a2355a38ca51c4ab10746330c10d26f2ef520123e4459816231651146cfafd0370395923e36465f4cdb7640cb9db4894df79b5fc97c1e26d7f7595159333a72b03037f6aecdd74382f6b88cbb684bf18e3a5d3fda1b49f47198838f14d03d767070307be1842fe0a41e5a3232180d8ddbb4b21c854c8a1634452018245062d9d890c03a92378277e90fba15e6779106ae5ccd556a11b09d7061a661fc885f46d5e504c0375959193e95f1c479815fa9ab87b115a4e7fe625fcce97b071ad668dadd2c61c03e54ba16ad831af4e26c964811f2cac1cf93e899ea3743cc39f0c72c7d8ee31e5031a888c619d2cbadcae76e7762d5f00a82aa594f2402695e1b0c4757288ba6a9903b7946c1a71168e439014eb552526320f2990f2946edc3b53588836f6aa84c6b403688a0773afb36038504ee291c2c51245e81e17af54c3e935a4e569cc443204a303649e8f6e78044f03beae53e31a72e66847bc4dc3ff14c6f4b79e0fddede444b2036309bf1716a480b99c7c292e8c5ecf3a810a89c26931dcfa98e2ba913d030f17035b10f1472c2ef6103023c2a499ec45b8a0bfe78cd6eb32694ffe1997bf1fb19303b7d6f9a717085462f4e90a06814ceaf75b2a45f68ded78dec676d5e2fefd9f710338d74dca83864fb23eca3c1216d5bff2e4f255cc237c1f229c642d07b39a9a53033ad784f741b77b9f8b1960758551fd629261bbda30e5a77747417945c90bad7a03968c042f78417eb1d770888bd31ca7523d787367c0f604980bb73b55aafa47f8034a2d588c702ae2b5a9d13950e8b07ac5665523e1b36b9e65b90e906acc147bb9039efd0275c8ab7a8c09c67c31d44586bb6bf2c5f191cc68553c553f82d310cdf5033cf5b977dd287be49338e269790583ed3f0a887628f587c7a6a13bdec10d931603a362b5f470555c390c2a4b29649744c3a66bebfeb08ce8ec0442d30731d88cac039ec97fec8e91955c80d5bd62a09f987c81c24e13b68327189988cb2f248089eb037f4c23841906b24e58edd33dbd5d8d60f15b4936456279129df8052ea89b136203ca1a2b5e4e4d60ed2fdaa9c8e1ac86aaeb7d5de7bf00b7267ffa493c3c69a79b014106038958a329426aef2d66231aa265169c8f9f64811f8cc78a0c7d4084bd050cfefd05581e03beb0c5bf5ca2991a311151aba69725164d3d1d16df816dd5f2270e99c00c193792481c0db1051528e50005581e033278bceebe9884a636662c788c887fb76d74d4efeefdf8f8379877ae90040105581e034be4de3df62126ddbfe2e2b20e14e1ec3a15740c1613a7951ddbf653a00c0146b25ba33ab1aa05581e035a346a04a55dce43306378e3d6d2b0ce3d006da50303e65f4d25da20200402032d2400d10e8a50098961d0984ff0606b7cf095ddf3a5cc3544b7718966e2f3b70399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803a01e1cb585f316c81138ad6bd2af1beeefd318c6dc8291788454b4b0e743495305581e034b0da7c9641fa8b8658f5539cca77759ce9515932f56e5ffde2e5e22d007011bffffffffffffffff05581e03e5dedeceab2094455eea4a94a133278a00e4bc4a3c72fad04dc5ccf9300c07463fbef643d24005581e03bfba1450607142088c233a38d068b54f879855220ed5d5b519053a81b00c014704a14cc6ba7af80219bb5a0219ffff03c36540d330fa5a34532c2290759cab6cb4065a50b65f7eb407ccd08f9087d64903f5391222b3d40b82dc5df6527de064be46882f49113923e5f46c7e87cebd2e03038764ed5362dff05e1284e20aa936f95cdeddd88d02e777433fce36a67a10ae5403817b0191a086d469877aaf8d9a657060a160ff0645ea1c166149dd49cae957c2033800fe892b2e5c44ef9aff875193af759bf120a651c00561ca9fd867713c01e20219ffff0382a66da74b19b803eae9b34253d4b8001d37921f2df51623a8d6fbee24930577039c837d33934056ae047251aa8ecaf59e0582ae0fa62eca396f35c2803b46f3e0031e761771d36f7591c8ee78865e9ef27d434b863245c65f77e32748eb2d0bf2b60352ab0d2b5586e03a0a07ac06c831c8740a5a1d7bf565b0d8cb676048965fd56a038e28fb875609638aa939662d5b63a8c0327a262c7a7ebcc3c1adfcf3519aafe6032cf3f145216e8c6cca6874996026bc2685bbeb1a98b6cba8ecce2cb28915787d03363442da5d02341f439eac6a14ef5de207470b27d7cda45da745777f769bca8603bd6879e7905f190f5aab47deaee4fea6b5597a5d8a7241561afd25ab1eb634d803b2643d248e074babe0cfb3ad97b8e1f7400f8a95352dbfc5bf92b9df2e35247b03fe873218c35dac8f1740d4453f5a5823a61f1a964fc04b0ac289d2e94843f8a10219ffff03790c41d8fd62f4d2af2e5617ecfcdae843ef5de7de2f98924c87f226f963b07f034b2f42f79ccfea8f75f17136f577700f58f4fdf62313166581812f9cfb1465580219ffff03fa3df12bde39506e8f87302f9b63a593b3f1496b4de02d155461af75ad86cb9503c31bfe32956a3e1c7b4e6fcbac54da6ffc8d5ee8482f261b1d8636384f664044031b1767b820644707962c8eed6a8a1276e5d7f127be4884f75572548edafc32fc0394d39fcd7534995853ed173e3767a0803dc4e870e34cffedde4d9ef5cb52035703fc530782f7aa04633ea20ecf6a45f90d6fc96c172e32ffb605a5661c7230093e034353b3b0f3e10611248ffa35177affe4c5bd81471b60be9fb2791be8eabbc87303a0a2e6270498eaace5e209029e1ae4852b86f6cc343a5965d6e7afbb31ed0212037161a27a9a09c4637835c443d0225b0f257201147ee62c61daa4295d79f867d3038bc37e63ad9ec182742476de22132433c0b7b022813b1b4fd6786b2539784327030fc00b5107645a744d4abe40a240e5552463ce5cbffef0e19a66271c120410e503244948d9e195da93d0edb19199763894b3a3aff017179d377a442df8125f6db1039d4676d8177bcd40c0b0dfa0aa5e8c4a307235998f11ac998040b6b4a8fe2b6a039a4a143028bba31fe9d1461a45e3655d613f15490feaf5236656956c3329400a03e2a16594c1da41580bbf76493f51cb1bcc67d13534a52343094eb5f272e96a5d031232307ad36e59f5f9a16ca6e47984f451481c74b18a15c36f964f225c87e5b0038882c55393a886330482b3ee2b70da47cae1b2dd70e3bfe5bf4a68fa5dd336e603d8ecea33824d4e002a46cc81bfd553c0054988896141f92be650d86eedc4b25b03182096f6c059852cb3a203eedfd97febd600a9f220a7e907f2854e3db43b0f340374f1ed45abe399071e75880ddcc55aa7143af9753ed817b6fb8c2206a6662a6a0376535f85b67ce736225f34138da0ef40d3bdb5f9148d52ad56111161ac15500b03348f8b0a3778f9ebe86ae8cde0171a9c374893c7c050803bab4d92fa0bed43c103fbfd149d15f685374ac7fce0c52c20ce63af7dc0413835e8df8a606953e26c6a03c88b93b79238eee379b7bfc46972eb1121121c439b7b41c18425d8c49e026b6f035dcf70d92264fb3ac820d7145024aa57a5dac1d0442376a064b9cd1a7b87d1fe03ab580a2e5826171338c3d50f220f8344ad5577aec14effeb0a224edfcb9e84770376c396233a09bfb74300c61cc81603982e41ddd114e23b44314c830a5a8a49de032997494ed21a19ed7501babaf42bef852a6480bdb5f2d0c8cc892d6931ecb7260322590b8f0b73fd1d5385ad0aaad1c388343797265ff319cdc9da77d62c7fb57c0394056079226b31ab5b316d9a973c8c6cc4b859f5ca08fb5e72a23488a7a3c23d03d407d905a62c97f12d704d31306251fb1c335458062154d455f31ac533435a09032198dadc17d715ec0531bba2ee2d98777446bec5f180304782479e8c4017388a0311609a692d809fb9a22c497c96b50b03275a073cb72513546927a2b47cb0b89a05581e03c25a11f4e814eb0db0e39f8904b3b075095b9da135bacea591568cf4b00c05470551bf700756b805581e0344c4f05b115fd5acce2e3aed6a4a87c79aad5a4e9c27733e21b9079d20040103e067562b4361d64cfefd27d20a04082d79984b0f5737fe83a7cd85afad4af86d05581e03e2499d38b8347ed354f606075c02725bf12551624c7c1dffbde8899e10040603321e0cbb4b1fb8744eb6fdf04336ee569b23ce33cf87e8c31cc350a9b9f2b5950365425e147e534a9cf414c8d486cb8b773119d7587b7e996dff94f712cad1d82c05581e0375ec175b10c196f3b87a53119c4301834d6e487a649d442b24f5a752500c01472193980767b20003c5932ccd235cd7301f60c827078b7c3c478b586205d70679675890224363627b05581d02f60d2b139a30bbf316e7c3206a8cef1af8ef40dfff5bf3994f5905650c0446d010aa95d40005581d02914ead1f1f474d2218917f567d5da7d35ec16d8b3400183201bc991c040105581d0222c899acd977227ab532c4a24ff0c86d191934de2c296ba83e654cd20c190415482a42f2a492e772850219092003f1497db8d8d79e8c39c3e40dad248bce0e274abba296399238454df3a3dfa0480219979f03f9ecab94706f16a59408d7ad1144f320237ed8c60cd1de9125cb93edce474c3f03df01ba7cf80a88a12745562a7d31074b4158120720880f54bb9ad9f527271a3803eeae1656c1d1aba5c16f18e3ec6b8304b37fc9574f7a04e9f3796331efd69e1b035cb6a06d8650daa59208d0e49ec4d616114487aaee0390dc8f6debaacc9fa7c90219ffff036eefcfd8d297f4c74a1c5b9e04b34b0b3f4eda677dfae632dec506e08dd41c5a0219ffff032887c7fd936af9e0dce6c1d976e3f0dbfd561c745d5578541dded8cc6ab5422a037e3cb39d01e77c6088ad23ea987a3e5e6efbd062d6d9db0f118bed9b61098172039725a35f898819c92c6fc72d2f82f4138f3e8dfd6f4b866e932a3cff3f21d6c503eafc47bb47b4519c44321199b80fa14159f1fd0bdc571591be9fc51900c4926a03c3671dad1fddb00b612cd7eb9b0a14f45488a93226f4457a562c3b2207bea5670390270a000c8e0860d281bcb79e1625ba6bb2faedc045e41a64409dd05222dcf603ce0cb32bae51ea20dfef24d4b349a5f6a56138d631452d4d1c9ac0e6c7deaaaa03bba0748a7873533606c4c0eb71f4871ef34031fc67f41f5fce79ba2d6a301d550349bf3932aea31b47691faaf17c5e8c66e482191622d40672d60becb1a1a2da5205581e0338c2c2297f3459d6626a27c49f9173cbc8afabb5a7d27bab709a44bba0040303be4f0c8feffba0492f4f0247349a5a7538ede720baea56a2bfba2c28565bc06b05581e03cb23d8ca486569014ca7dece94b72d35c659272e2dcb0fd0375ce422f0040205581e03e7c935df4ce61a636b45c466ab93047601c55273a6e0d97e80cfe2ac00040105581d021dad97e22b8db540ce8c3fdd5cf341aaf3831b65693df2461c0847890c1a00951dd54a035bcc1fcb079c23726205581d02e5a8d042cbeb5e1868ea8d4a6b81e812f48559e43320a02039911a510c01464438a067940005581d02f330a7f3d877bbd2320e7f50e059367363a2e59242c67e1eddf5df9904060219015005581e03303b49698eb318a1bd8ed59bc0e5961a1cfef2bc4408364bb8b896c6300c034754e74042fb9014031eb514e0b20e4e889e3983feb66dfec009ead9ecedf04d33fb8ce573cba727f7032c2eb1b0dc731b6dbd1ffe97a8916554f1aa3078f34685c2287b23dd1f572b5b05581e03470f4961e24bc20167b1abafeace6a3529935d7a34bfbed3260566ba500c0447054d7bfede1042036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e0343c742e4d10bcc241630a2c813d20d8c1a2ab3e372c21b788103de091007011bffffffffffffffff036107776948a40dd0c7557d1a66472923d1a64903e60b55e4216193396641dc4a0219e5eb039c766c5a350853915a575f2b04e1216f0057c8750695601aaf34ca2788994980037a230e554fd1132c9775a97600c35892a646666130b10cda241cca2bee4e94f3034bda78e1346b914d3d6fbcba8e0c36711b7986422604c4042e0c69bbe2c1e8e7038d21cc11c46b5259dcb7dc24811f06696c2fcf36876a0a581718a7e560d79887037f684e31ee0c122780522dd487094cbcab211e0caf305bcfb334e7a7b763ba8203e5d75893936c939c2f301a6e5af02399b3389f897447144e33199d1e0a95817603cbb3a88afda7fa1db2d06bca52f690fc01a546b15991b6067307a5195150f540038db57978484554f47146dc8ac53fc024480994964fe6f6c05d94bed5e8c05a1a03c3eafdb02a097f7329affdb9f64a11af3791e4963122240c04f491f4ac94785603ed9e1d894397172f4c11e49fc29211d54a467fccb12d53a7ef4898d705b965bc03047256970ab100100a28923662ee73e32453571f8662e56cd63fd12abfd7745c0381330359c54b0f7a6a9b25519abb237a189ed1a2dbccfa79348bba3f8d16da8f0398820d46ec5f93dcf1391806c9cbc3905a2981b3508b169733542b2c1e8f7e96038d956e133901893cf54f935a865ad898fbf75d06563356c4812c9c49117e8d310219ffff03bfc2b79b1c5a20a25c2d90196d30c7d78e278c6424521bb035a3f9298ff9399d03f0908de15b52a4300419348d19af1fe004b1dc8272fcb9a2dc70465a115691e203e799d42fef1f229dffbf1539a4c5aed03b019e49bc586a1a85378d00661fe3140368e0848418e53e5f9401ecd2a073c5b526a4c9021048c5eec3153e537ef1bc09035e577b2f5b362f4de33b9f0258882275ecb86d18660f100b19dc604a8d78ec8403b1284ff1140ee1b8534c1045274dd1ba1082ec8c551e625e06ddf1e760c17522033ad9f4d01ba78265d723b3ed412da469f07dabb0592914e4bc6c6ba62391ac250382295353f2655425a498f3199222e0293cc335befde5f371e7743e60fe3a831b03e746be474bb53a34dd0594ae2d441c63e17b3bb9e2a272b0fb4b99f0de9ee2bd030d4f48ea318caf4ebb35db8f61e6f727f5bfe34e0c762a2a535983167a50796b0331702b084386f1930acdfd2957ebd7a9858c1f7ef20b8d9774e85e3d25bc97f5034fffb2ddf7b2b65b70c014b30b03272273a079e36bceccade29a73d56ca2eb6303081ec73d5f50553fc918604cf33e77774c49b9c731936f8b8c0ac39dd08da86a0219ffff039fc8fc84bc7c466f71131074b635813b9323a662ee1af2ca7cd883e1055edf7d0399362b8626060b9a7124393a4cf42648bd2961756c683d6dcb1299cb5c998abb03224da4d4719263c3f7fa396e8679ccf4e81d9157aec6a76dff1e46df65bacc44037de4407fa4900c28ca8f90c343b6581a6bab984ff7f867a229010e2a5a97950503cf552abee40a227f5056646e4d010427540971434404dd80a1cfce78524d38b7032c8269d28fe930f139cec60b9f0629c100d7daf6b8a52aa3539d12878f82a4f2035aad034735be8e3a5b21b1d53e373bb4222146c990a11374cc448048f7e34c8203e18320fbd41d1f5290c058ef25cbaa26d3792d849c02aa9e03539ccc3a82f3d30219ffff03b48f2f050687942ec60fe31c3aae584cdf1a2d20e47a713b5681d5e881cec05f0339355eb3ae42801aae2e3d45ec9938d55b0111c80a6b688063cf3ac6e46d727d0307278e06414f80a66a87a41deab8171b3e0762f4c3f02b79d8d7e32b510485d80321e76101f4838dde863da66c3675314eb8fb1202f8721b22823b7425d0530b3d03312e27610524417d5cbd7dcd1f852a7acc0d45a2b61908a09770fb3ae6296fee035f400ce58f72fbea5d81210003a619b88fe209477c86b436b59ef24ba5a7b2ac033bb243d90d62e1f0fe4e4957d5d7af8c49996b1eb39efd25991b8cc4e77bd0d00386a3093e10ec2bc9a39087a8eb777bb243e8598b29aac0c6eb4d79e6c7c846f703dbb3233263b892c8bbace764da4dc93d4f0bed6f1966dee308ecee9600bba8b30384441534e820eb4811d376bebde34cc87fb4a7523844ca8a23a61c354664ced404582d363d3d373d3d3d363d7385a1f113eea53a68189157914f320c0cc50937735af43d82803e903d91602b57fd5bf30058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db005820555344540000000000000000000000000000000000000000000000000000000800582103fc7853b4430c8fe9e90b3c084f6625fe5efa497a3fcec6eed05f3b2a2f5b14404502c307c1800058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041010313737ed0b4a2d6742af1674b10d2294a8bb9e4118dc492dd6777338c54fa2cb90058210343a6e72245393305bfe2a4c30c5999fc7af81ba40537df841b5fd07f138d4560462bb57a7f5480035a1c774b41bc8d8c46d2bf4776f800cd0da95bd546153649c3f4aa5ad841534000582103b6b018db6bc7045c7739e261bf388e7787da02aa0e20e47648e4ee5d96b8a06047461215e0ceac400058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68805648a9ff7ac88eac0d4956b3e98fe3c90f297b64c900060339a1eb7eff5cc3700269d6e9c26c82f77d3b8acf993620e8c17f3bb3398cd706005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b047463f8f690bcc4003c44cd4d311fe0eb09049717e96ee32e06433f75df01b0d389649b2de6f3e828902199f1f05581e0368e877326615ba372306625340995ca290a0ebd610ddc69ee43aa70ef00701182d05581e03ccc8bc619d51e68e8db7b5a0ebae6789e4d9e53b8864435a0f98f795000c014703f141bcdd758d0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080384d131ec9efa7c4d48a58b816eaebba49827348a319ab3c1ef4bf40a163d921105581e036a927bf35265b003d42d9e7cefe80f35fa09870b6272474acff3ff779007011bffffffffffffffff03b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b0000337712b8c82339f32264af9fff2d5804b11b492a655402b0992f8fcc911e5f92705581e0313d670d28a155be307f265b7827ae8ed48b747817c668819cf2dac118007011bffffffffffffffff05581e034bf1850671a65cc112be0584a60721c504e9ec0b1d2483edc4bcf792700c024702432a0ad68e3003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03e4ab3308c50cb379468abef1d8b9dce7ef2823ef766a861873dbc13b2007011bffffffffffffffff03f53da06cfe4fbc9e6ed2b210c79f0bbe705f74a1e24bd235e42d1d3bc58062d40219d6ac038a540943871c6c14f96afc32cac2a4a93ecda8eaac0ebb4b8c9ffae50ec6002f039fd74cae126c50b37a8fe600c361ba710d488125acf0ae0e5892566a874136e60358f914817860841b66bd6abfd58ec9d8fb6df967ca9c5ef3f4f7204d4bb8be3a036c95986a0fd74503e5b1a60725254a9cf5caf23522bca7784af7a4aa47b88e5403e2316bb55d3160bbdb2ffb856f26c16f9c61da1eb1d89f37491ba9c9c11c169d03706c6f4ef86738f86e84a9040be9f1ba6bce973782d2ab8a56bb5179d32ee1ee03a74a01b459353b707e950e16840c32891d3983c9d3047a5d32c933634539f6bc0338bd546cf23c9d71f4ea2c487fafe40fe0c9d655576de8ab7339dc12f4d6b5dc03870d2052ac2b64065f79ace7751bcf59db58329651750912d43443708ebd7a270321ac671885bf68e3d6975e55fb398bf6c2276ec44751a628d8f9162e52836f8c0357e9d811129929e24e624dd1bc51a0a108cebdbda5e9028b313c5fc628b51fa603b0b22b00b3c7156045994bcc4c80783f770b04d9ba9f3c72bc89f61d662230ca031dbd5cf6ac761b9d8571d439bb6596acaa178d53d9e3eaa59a61083503501c4103e6b05e31c2cf9eeaf1ebf580f196870aae7a3be82d325359013db14306bb5bb60219ffff035c25f85a2cde7ce0f24c12abacc50c9a92dd5569a68658e80d605be6e63704ca03464e039f0263811161798292dd67bcc55f4bab6b4249a9edfceaacb972e67cbf033a0dfd763db5885cbdfb07c9e11f3d86f93a3140f4f58a16639cadcaa474ff7b03b78731fc8e5b35c370c09591a6a4b70018fb70a9f53b2cb2116f1567b6511c5203f5bd9b58c4fb4e47371aed3fde880dae0e9ddbc317b6b7cf777f2173c7b0dce803cce11f2b428b37fca96895a0879bb38e5b56cd63b0aa495a9a40fc98f47b01c503c4aebaa8aebc9a77cf403a84ad71e1f8862e07b8015394e4062767c055c53e540338c0eb054da1312275d6195135f25f8d724b2ca7241577b72980a4e766b64266039221443bd9d5c1257e4226e4de5d3837c16e695d2567bf630f76bbe6e0e40513036843bb6c6c412ba24880058f0d0effae708e4db5df013951fc4d8218a236c9b0038fe6510d5ffce75691394857004dfe821657932515f4ed5324eb2e976344f3110219ffff03f70c21c7b3c58a7f8f93745807c880cb1f4eef844f9be95743b5384f7ae622460325100b68d331172ab8fd1137244bad804ac3371e216168c86e237e7571bd63aa03af62f6c3671b0817cf9259945fe72e4619e61dad3b745743aae6dfe69060d2c603ded6ebcdc6f1b74fa52096bc5b6445082e437c63d6d5517d6fda2b6768f5b95e03b34b6a559f9d5c3efae3246e8a6d58c13758c3c326751d9185373fca3556854e0376f91e46204cb245c6d5de6dcd9a6d26b1214e1119739d11397fe8eb6329df0e03331efd06d2f65bc715ae80386d3a3a5f3b966fde687f578e9bd82ab0eed95f5203bd52a55024b56247c11b91d8da10288e1ff83a3f101b613b8c4c92f91bccaf8803dc193982b0143f4551b5075b15478ed39cce4f57b1edf03cc5a6219482b4ff0503a7f559a1deef53b2c1dd9a55ed1b8b1476766178a8d6a648fd4b1117185b97b603380f467ea63ed0e65f46d2778c41ec49f8a513800b06326d6043a50ffdcf8464031dbd320142c3afa971ec0f53ab2f6beb61f50993077c9dbab8798f545416399203c2e284b9ec9fd9e6a1476550da8ecee4ee20204baddd0e92966cc0288b660f6703176fcbfbb5d3b3281cf5042ac34b397dd6a10dc4618af1c13fae2421ccf6407e0219ffff036e28ade76fceb7d4a90461a8f6ad27939bac9cd608570cac3aa609923d9da32903222d2d176b938c5f1719c2ea70639612d4e3e3ddab937659d2822a1a16494cf90371f622ecd1ed0f2a9fb46ca2f26e334e0b7caaee211beb98f7dd080ab4acdbfc03409cd015dcf5918ba05123e00ae69c88005ab7e00ee56a5ab2c123e60caba61a0344bb15c636d0772785df2e96037bb0decfbcfaed5569f551c65b8a41d0f3bcbf03c716f31b16687c7f5736ad05da340229c3fc61299630d89aa7b132eb5e98e8f203c597d3cea9cde76146c2b13be98fc491aa083c0dc614b26d7d0b7a5f3c688e220356f0048f2d8ce0dc95757e6c697bd4ebf7a9ce70a44f52678e3a2eeaafd578e505581e034567be57776613096f0a1af967f09b62a9e91a0b20520d8bd40e5ec3800c03469063511af82005581e03bedc719cef6208b5967c178218b57011ba7fbb76f1b8dc3b7f1a12d140040505581e03394d6aad9322a825634ff619959a106ed30a15b1138f116c6f0d0ad7400c0146394c549ef000038a12c43e159206e9400bffc98996b7470e0d1918175c72929b095782aec8c2bb05581e037c8117f6084dfc52afc5a0102edf817e68a43ae7471bfd43175a0bd8b0040503f61d7ead23eca97195821e508616148c11ae4cccfbcae60721253ddcaeed2a9303a74b99c3da42bf2a68a89f64afc3d921fbbc43688807ce26d1efe07ab523581805581e03f887bad44d57c9584b910fe2bd1013021b9ee5279e7bedab2af0d6792007011bffffffffffffffff034c3d1c863a25cb47f120980cce6191a8e55d3cd5198fb485e7c67a4f6f20b07405581e034cc698d3e2f6a253bb8659604a4f69b930be41b151243dbf9b3056f7f00c0247218fd5865d34e805581e030ea76bee2bf1a315fcf6e96449f298df938f224f63bd9a33a2534566600401045939656080604052600436106102295760003560e01c80636bc87c3a11610123578063a457c2d7116100ab578063d19d52441161006f578063d19d52441461067c578063dd62ed3e1461069c578063f2fde38b146106e2578063fe575a8714610702578063ffa1ad741461072257600080fd5b8063a457c2d7146105c7578063a9059cbb146105e7578063a91546ac14610607578063bc063e1a14610646578063caac79341461065c57600080fd5b80637dfcbe34116100f25780637dfcbe341461051b57806388f820201461053b5780638da5cb5b14610574578063935eb35f1461059257806395d89b41146105b257600080fd5b80636bc87c3a146104b057806370a08231146104c6578063715018a6146104e6578063796431d0146104fb57600080fd5b8063313ce567116101b15780633bd5d173116101755780633bd5d1731461040d5780634549b0391461042f57806349bd5a5e1461044f5780634a74bb021461046f578063537df3b61461049057600080fd5b8063313ce56714610373578063338d6c301461039557806339509351146103b75780633afe6893146103d75780633b124fe7146103f757600080fd5b806318160ddd116101f857806318160ddd146102e757806322976e0d146102fc57806323b872dd14610312578063241ec3be146103325780632d8381191461035357600080fd5b806306fdde0314610235578063095ea7b31461026057806313114a9d146102905780631694505e146102af57600080fd5b3661023057005b600080fd5b34801561024157600080fd5b5061024a610737565b6040516102579190612fe8565b60405180910390f35b34801561026c57600080fd5b5061028061027b366004613030565b6107c9565b6040519015158152602001610257565b34801561029c57600080fd5b50606c545b604051908152602001610257565b3480156102bb57600080fd5b50607c546102cf906001600160a01b031681565b6040516001600160a01b039091168152602001610257565b3480156102f357600080fd5b50606a546102a1565b34801561030857600080fd5b506102a160745481565b34801561031e57600080fd5b5061028061032d36600461305c565b6107e0565b34801561033e57600080fd5b5060815461028090600160a01b900460ff1681565b34801561035f57600080fd5b506102a161036e36600461309d565b610832565b34801561037f57600080fd5b50606f5460405160ff9091168152602001610257565b3480156103a157600080fd5b506103aa6108bb565b60405161025791906130fa565b3480156103c357600080fd5b506102806103d2366004613030565b61095c565b3480156103e357600080fd5b50607f546102cf906001600160a01b031681565b34801561040357600080fd5b506102a160705481565b34801561041957600080fd5b5061042d61042836600461309d565b610993565b005b34801561043b57600080fd5b506102a161044a36600461312b565b610a81565b34801561045b57600080fd5b50607d546102cf906001600160a01b031681565b34801561047b57600080fd5b50607f5461028090600160a81b900460ff1681565b34801561049c57600080fd5b5061042d6104ab36600461315b565b610b10565b3480156104bc57600080fd5b506102a160725481565b3480156104d257600080fd5b506102a16104e136600461315b565b610bb7565b3480156104f257600080fd5b5061042d610c16565b34801561050757600080fd5b5061042d61051636600461309d565b610c2a565b34801561052757600080fd5b506081546102cf906001600160a01b031681565b34801561054757600080fd5b5061028061055636600461315b565b6001600160a01b031660009081526068602052604090205460ff1690565b34801561058057600080fd5b506033546001600160a01b03166102cf565b34801561059e57600080fd5b5061042d6105ad366004613178565b610d97565b3480156105be57600080fd5b5061024a610e30565b3480156105d357600080fd5b506102806105e2366004613030565b610e3f565b3480156105f357600080fd5b50610280610602366004613030565b610e76565b34801561061357600080fd5b5061061c610e83565b6040805195151586526020860194909452928401919091526060830152608082015260a001610257565b34801561065257600080fd5b506102a16107d081565b34801561066857600080fd5b50607e546102cf906001600160a01b031681565b34801561068857600080fd5b5061042d61069736600461334c565b610f54565b3480156106a857600080fd5b506102a16106b736600461346c565b6001600160a01b03918216600090815260676020908152604080832093909416825291909152205490565b3480156106ee57600080fd5b5061042d6106fd36600461315b565b6115af565b34801561070e57600080fd5b5061028061071d36600461315b565b611628565b34801561072e57600080fd5b506102a1600181565b6060606d80546107469061349a565b80601f01602080910402602001604051908101604052809291908181526020018280546107729061349a565b80156107bf5780601f10610794576101008083540402835291602001916107bf565b820191906000526020600020905b8154815290600101906020018083116107a257829003601f168201915b5050505050905090565b60006107d63384846116c8565b5060015b92915050565b60006107ed8484846117d5565b6001600160a01b0384166000908152606760209081526040808320338085529252909120546108289186916108239086906134ea565b6116c8565b5060019392505050565b6000606b5482111561089e5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084015b60405180910390fd5b60006108a8611cae565b90506108b48184613513565b9392505050565b608154606090600160a01b900460ff166108e75760405162461bcd60e51b815260040161089590613527565b6081546040516305d77d8d60e41b81523060048201526001600160a01b0390911690635d77d8d090602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109579190810190613554565b905090565b3360008181526067602090815260408083206001600160a01b038716845290915281205490916107d6918590610823908690613606565b3360008181526068602052604090205460ff1615610a085760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b6064820152608401610895565b6000610a1383611cd1565b505050506001600160a01b038516600090815260656020526040902054929350610a419284925090506134ea565b6001600160a01b038316600090815260656020526040902055606b54610a689082906134ea565b606b55606c54610a79908490613606565b606c55505050565b6000606a54831115610ad55760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c79006044820152606401610895565b81610af5576000610ae584611cd1565b509496506107da95505050505050565b6000610b0084611cd1565b509396506107da95505050505050565b610b18611d2c565b608154600160a01b900460ff16610b415760405162461bcd60e51b815260040161089590613527565b6081546001600160a01b0316639d8374b4336040516001600160e01b031960e084901b1681526001600160a01b0391821660048201529084166024820152604401600060405180830381600087803b158015610b9c57600080fd5b505af1158015610bb0573d6000803e3d6000fd5b5050505050565b6001600160a01b03811660009081526068602052604081205460ff1615610bf457506001600160a01b031660009081526066602052604090205490565b6001600160a01b0382166000908152606560205260409020546107da90610832565b610c1e611d2c565b610c286000611d86565b565b610c32611d2c565b612710610c3e606a5490565b610c49906005613619565b610c539190613513565b811015610cc85760405162461bcd60e51b815260206004820152603860248201527f537761706261636b20616d6f756e742073686f756c64206265206174206c656160448201527f737420302e303525206f6620746f74616c20737570706c7900000000000000006064820152608401610895565b6064610cd3606a5490565b610cde906005613619565b610ce89190613513565b8110610d5c5760405162461bcd60e51b815260206004820152603a60248201527f537761706261636b20616d6f756e742073686f756c64206265206c657373207460448201527f68616e203525206f662074686520746f74616c20737570706c790000000000006064820152608401610895565b60808190556040518181527ff7edd1a72d399eb95c56c07c5a26f00a9096735269c96c75caa8fc4e15bcd5d29060200160405180910390a150565b610d9f611d2c565b608154600160a01b900460ff16610dc85760405162461bcd60e51b815260040161089590613527565b6081546001600160a01b0316639ed6952e3384846040518463ffffffff1660e01b8152600401610dfa93929190613630565b600060405180830381600087803b158015610e1457600080fd5b505af1158015610e28573d6000803e3d6000fd5b505050505050565b6060606e80546107469061349a565b3360008181526067602090815260408083206001600160a01b038716845290915281205490916107d69185906108239086906134ea565b60006107d63384846117d5565b6000806000806000608160149054906101000a900460ff1615156000151503610eba57506000935083925082915081905080610f4d565b6081546040516358d2b4a560e01b81523060048201526000918291829182916001600160a01b03909116906358d2b4a590602401608060405180830381865afa158015610f0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2f919061368c565b608154600160a01b900460ff169c50929a5090985096509450505050505b9091929394565b600054610100900460ff1615808015610f745750600054600160ff909116105b80610f8e5750303b158015610f8e575060005460ff166001145b610ff15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610895565b6000805460ff191660011790558015611014576000805461ff0019166101001790555b845161ffff9081166070819055607181905560208701518216607281905560738190556040880151909216607481905560758190556107d09290916110599190613606565b6110639190613606565b11156110a35760405162461bcd60e51b815260206004820152600f60248201526e666565206973206f7665722032302560881b6044820152606401610895565b60208601516001600160a01b03166110fd5760405162461bcd60e51b815260206004820152601860248201527f6d61726b6574696e672077616c6c6574206973207a65726f00000000000000006044820152606401610895565b602086810151607e80546001600160a01b03199081166001600160a01b03938416179091556040808a0151607f80549093169316929092179055855161ffff9081166079819055928701518116607a8190559187015116607b8190556107d092909161116891613606565b6111729190613606565b11156111b65760405162461bcd60e51b815260206004820152601360248201527262757920666565206973206f7665722032302560681b6044820152606401610895565b825161ffff9081166076819055602085015182166077819055604086015190921660788190556107d09290916111ec9190613606565b6111f69190613606565b111561123b5760405162461bcd60e51b815260206004820152601460248201527373656c6c20666565206973206f7665722032302560601b6044820152606401610895565b606d6112478a8261371e565b50606e611254898261371e565b50606f805460ff19166009179055606a879055611273876000196137de565b61127f906000196134ea565b606b5561128e6103e888613513565b608055607f805460ff60a81b1916600160a81b1790556112ac611dd8565b6112b58a6115af565b8115611358576060860151608180546001600160a01b0319166001600160a01b0392831690811790915560335490916318e02bd991166040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801561132c57600080fd5b505af1158015611340573d6000803e3d6000fd5b50506081805460ff60a01b1916600160a01b17905550505b606b54606560006113716033546001600160a01b031690565b6001600160a01b031681526020810191909152604001600090812091909155868160200201519050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fb91906137f2565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146c91906137f2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156114b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114dd91906137f2565b607d80546001600160a01b03199081166001600160a01b0393841617909155607c8054909116838316179055603354166001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606a5460405161155491815260200190565b60405180910390a35080156115a3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b6115b7611d2c565b6001600160a01b03811661161c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610895565b61162581611d86565b50565b608154600090600160a01b900460ff166116545760405162461bcd60e51b815260040161089590613527565b60815460405163100a3b7760e21b81523060048201526001600160a01b03848116602483015290911690634028eddc90604401602060405180830381865afa1580156116a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107da919061380f565b6001600160a01b03831661171e5760405162461bcd60e51b815260206004820152601d60248201527f617070726f76652066726f6d20746865207a65726f20616464726573730000006044820152606401610895565b6001600160a01b0382166117745760405162461bcd60e51b815260206004820152601b60248201527f617070726f766520746f20746865207a65726f206164647265737300000000006044820152606401610895565b6001600160a01b0383811660008181526067602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661182b5760405162461bcd60e51b815260206004820152601e60248201527f7472616e736665722066726f6d20746865207a65726f206164647265737300006044820152606401610895565b6001600160a01b0382166118815760405162461bcd60e51b815260206004820152601c60248201527f7472616e7366657220746f20746865207a65726f2061646472657373000000006044820152606401610895565b600081116118d15760405162461bcd60e51b815260206004820152601760248201527f7472616e7366657220616d6f756e74206973207a65726f0000000000000000006044820152606401610895565b608154600160a01b900460ff161561194b5760815460405163dd9db56b60e01b81526001600160a01b03858116600483015284811660248301529091169063dd9db56b90604401600060405180830381600087803b15801561193257600080fd5b505af1158015611946573d6000803e3d6000fd5b505050505b600061195630610bb7565b608054909150811080159081906119775750607f54600160a01b900460ff16155b80156119915750607d546001600160a01b03868116911614155b80156119ab5750607c546001600160a01b03868116911614155b80156119c05750607f54600160a81b900460ff165b15611b1257607f805460ff60a01b1916600160a01b179055607b54607854607454607a54607754607254600095949392916119fa91613606565b611a049190613606565b611a0e9190613606565b611a189190613606565b611a229190613606565b9050608054925060006074541180611a3c57506000607854115b80611a4957506000607b54115b15611a9d57600081607b54607854607454611a649190613606565b611a6e9190613606565b611a789086613619565b611a829190613513565b607f54909150611a9b906001600160a01b031682611e07565b505b60006072541180611ab057506000607754115b80611abd57506000607a54115b15611b0357600081607a54607754607254611ad89190613606565b611ae29190613606565b611aec9086613619565b611af69190613513565b9050611b0181612023565b505b50607f805460ff60a01b191690555b607f54607d54600160a01b90910460ff1615906001600160a01b03908116908716148015611b4d5750607c546001600160a01b038681169116145b15611b56575060005b856001600160a01b0316611b726033546001600160a01b031690565b6001600160a01b03161480611ba95750846001600160a01b0316611b9e6033546001600160a01b031690565b6001600160a01b0316145b80611bc15750607e546001600160a01b038781169116145b80611bd95750607e546001600160a01b038681169116145b80611bec5750306001600160a01b038716145b80611bff5750306001600160a01b038616145b15611c08575060005b60008115611c7c57607054607155607254607355607454607555607d546001600160a01b03808816911603611c5157506076546070556077546072556078546074556001611c7c565b607d546001600160a01b03808916911603611c7c5750607954607055607a54607255607b5460745560015b611c88878787856120aa565b8015611ca557611ca5607154607055607354607255607554607455565b50505050505050565b6000806000611cbb612244565b9092509050611cca8183613513565b9250505090565b6000806000806000806000806000806000611ceb8c6123c7565b93509350935093506000806000611d0c8f878787611d07611cae565b612426565b919f509d509b509599509397509195509350505050919395979092949650565b6033546001600160a01b03163314610c285760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610895565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16611dff5760405162461bcd60e51b81526004016108959061382c565b610c28612498565b607c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7e91906137f2565b6001600160a01b0316826001600160a01b031603611eeb5747611ea0826124c8565b611eaa81476134ea565b607e546040519193506001600160a01b03169083156108fc029084906000818181858888f19350505050158015611ee5573d6000803e3d6000fd5b50505050565b6001600160a01b03821615612007576040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015611f41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f659190613877565b9050611f7183836125ec565b6040516370a0823160e01b815230600482015281906001600160a01b038516906370a0823190602401602060405180830381865afa158015611fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fdb9190613877565b611fe591906134ea565b607e54909250612002906001600160a01b03858116911684612774565b505050565b607e5461201f9030906001600160a01b0316836117d5565b5050565b6000612030600283613513565b9050600061203e82846134ea565b90504761204a836124c8565b600061205682476134ea565b905061206283826127c6565b60408051858152602081018390529081018490527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15050505050565b806120d4576120d46070805460715560728054607355607480546075556000928390559082905555565b6001600160a01b03841660009081526068602052604090205460ff16801561211557506001600160a01b03831660009081526068602052604090205460ff16155b1561212a57612125848484612871565b612228565b6001600160a01b03841660009081526068602052604090205460ff1615801561216b57506001600160a01b03831660009081526068602052604090205460ff165b1561217b576121258484846129b2565b6001600160a01b03841660009081526068602052604090205460ff161580156121bd57506001600160a01b03831660009081526068602052604090205460ff16155b156121cd57612125848484612a6c565b6001600160a01b03841660009081526068602052604090205460ff16801561220d57506001600160a01b03831660009081526068602052604090205460ff165b1561221d57612125848484612abf565b612228848484612a6c565b80611ee557611ee5607154607055607354607255607554607455565b606b54606a546000918291825b60695481101561239657826065600060698481548110612273576122736136c2565b60009182526020808320909101546001600160a01b0316835282019290925260400190205411806122de57508160666000606984815481106122b7576122b76136c2565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b156122f457606b54606a54945094505050509091565b606560006069838154811061230b5761230b6136c2565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461233a90846134ea565b92506066600060698381548110612353576123536136c2565b60009182526020808320909101546001600160a01b0316835282019290925260400190205461238290836134ea565b91508061238e81613890565b915050612251565b50606a54606b546123a79190613513565b8210156123be57606b54606a549350935050509091565b90939092509050565b60008060008060006123d886612b42565b905060006123e587612b5f565b905060006123f288612b72565b905060008183612402868c6134ea565b61240c91906134ea565b61241691906134ea565b9993985091965094509092505050565b6000808080612435858a613619565b90506000612443868a613619565b90506000612451878a613619565b9050600061245f888a613619565b90506000818361246f86886134ea565b61247991906134ea565b61248391906134ea565b949d949c50929a509298505050505050505050565b600054610100900460ff166124bf5760405162461bcd60e51b81526004016108959061382c565b610c2833611d86565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106124fd576124fd6136c2565b6001600160a01b03928316602091820292909201810191909152607c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015612556573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257a91906137f2565b8160018151811061258d5761258d6136c2565b6001600160a01b039283166020918202929092010152607c546125b391309116846116c8565b607c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610dfa9085906000908690309042906004016138a9565b60408051600380825260808201909252600091602082016060803683370190505090503081600081518110612623576126236136c2565b6001600160a01b03928316602091820292909201810191909152607c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561267c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a091906137f2565b816001815181106126b3576126b36136c2565b60200260200101906001600160a01b031690816001600160a01b03168152505082816002815181106126e7576126e76136c2565b6001600160a01b039283166020918202929092010152607c5461270d91309116846116c8565b607c54604051635c11d79560e01b81526001600160a01b0390911690635c11d795906127469085906000908690309042906004016138a9565b600060405180830381600087803b15801561276057600080fd5b505af1158015611ca5573d6000803e3d6000fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612002908490612b9e565b607c546127de9030906001600160a01b0316846116c8565b607c5460405163f305d71960e01b815230600482015260248101849052600060448201819052606482015261dead60848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af115801561284c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bb091906138e5565b600080600080600080600061288588611cd1565b965096509650965096509650965087606660008c6001600160a01b03166001600160a01b03168152602001908152602001600020546128c491906134ea565b6001600160a01b038b166000908152606660209081526040808320939093556065905220546128f49088906134ea565b6001600160a01b03808c1660009081526065602052604080822093909355908b1681522054612924908790613606565b6001600160a01b038a1660009081526065602052604090205561294682612c73565b61294f81612cfd565b6129598584612e0e565b886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161299e91815260200190565b60405180910390a350505050505050505050565b60008060008060008060006129c688611cd1565b965096509650965096509650965086606560008c6001600160a01b03166001600160a01b0316815260200190815260200160002054612a0591906134ea565b6001600160a01b03808c16600090815260656020908152604080832094909455918c16815260669091522054612a3c908590613606565b6001600160a01b038a16600090815260666020908152604080832093909355606590522054612924908790613606565b6000806000806000806000612a8088611cd1565b965096509650965096509650965086606560008c6001600160a01b03166001600160a01b03168152602001908152602001600020546128f491906134ea565b6000806000806000806000612ad388611cd1565b965096509650965096509650965087606660008c6001600160a01b03166001600160a01b0316815260200190815260200160002054612b1291906134ea565b6001600160a01b038b16600090815260666020908152604080832093909355606590522054612a059088906134ea565b600061271060705483612b559190613619565b6107da9190613513565b600061271060725483612b559190613619565b607e546000906001600160a01b0316612b8d57506000919050565b61271060745483612b559190613619565b6000612bf3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612e349092919063ffffffff16565b9050805160001480612c14575080806020019051810190612c14919061380f565b6120025760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610895565b6000612c7d611cae565b90506000612c8b8284613619565b30600090815260656020526040902054909150612ca9908290613606565b3060009081526065602090815260408083209390935560689052205460ff16156120025730600090815260666020526040902054612ce8908490613606565b30600090815260666020526040902055505050565b607e54607f546001600160a01b03918216911615612d185750305b811561201f576000612d28611cae565b90506000612d368285613619565b6001600160a01b038416600090815260656020526040902054909150612d5d908290613606565b6001600160a01b03841660009081526065602090815260408083209390935560689052205460ff1615612dc8576001600160a01b038316600090815260666020526040902054612dae908590613606565b6001600160a01b0384166000908152606660205260409020555b6040518481526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350505050565b81606b54612e1c91906134ea565b606b55606c54612e2d908290613606565b606c555050565b6060612e438484600085612e4b565b949350505050565b606082471015612eac5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610895565b600080866001600160a01b03168587604051612ec89190613913565b60006040518083038185875af1925050503d8060008114612f05576040519150601f19603f3d011682016040523d82523d6000602084013e612f0a565b606091505b5091509150612f1b87838387612f26565b979650505050505050565b60608315612f95578251600003612f8e576001600160a01b0385163b612f8e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610895565b5081612e43565b612e438383815115612faa5781518083602001fd5b8060405162461bcd60e51b81526004016108959190612fe8565b60005b83811015612fdf578181015183820152602001612fc7565b50506000910152565b6020815260008251806020840152613007816040850160208701612fc4565b601f01601f19169190910160400192915050565b6001600160a01b038116811461162557600080fd5b6000806040838503121561304357600080fd5b823561304e8161301b565b946020939093013593505050565b60008060006060848603121561307157600080fd5b833561307c8161301b565b9250602084013561308c8161301b565b929592945050506040919091013590565b6000602082840312156130af57600080fd5b5035919050565b600081518084526020808501945080840160005b838110156130ef5781516001600160a01b0316875295820195908201906001016130ca565b509495945050505050565b6020815260006108b460208301846130b6565b801515811461162557600080fd5b80356131268161310d565b919050565b6000806040838503121561313e57600080fd5b8235915060208301356131508161310d565b809150509250929050565b60006020828403121561316d57600080fd5b81356108b48161301b565b6000806020838503121561318b57600080fd5b823567ffffffffffffffff808211156131a357600080fd5b818501915085601f8301126131b757600080fd5b8135818111156131c657600080fd5b8660208260051b85010111156131db57600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715613226576132266131ed565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715613255576132556131ed565b604052919050565b600082601f83011261326e57600080fd5b813567ffffffffffffffff811115613288576132886131ed565b61329b601f8201601f191660200161322c565b8181528460208386010111156132b057600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f8301126132de57600080fd5b6040516060810181811067ffffffffffffffff82111715613301576133016131ed565b60405280606084018581111561331657600080fd5b845b8181101561334157803561ffff811681146133335760008081fd5b835260209283019201613318565b509195945050505050565b60008060008060008060008060006102408a8c03121561336b57600080fd5b89356133768161301b565b985060208a81013567ffffffffffffffff8082111561339457600080fd5b6133a08e838f0161325d565b9a5060408d01359150808211156133b657600080fd5b506133c38d828e0161325d565b98505060608b013596508b609f8c01126133dc57600080fd5b6133e4613203565b806101008d018e8111156133f757600080fd5b60808e015b8181101561341c57803561340f8161301b565b84529284019284016133fc565b5081985061342a8f826132cd565b97505050505061343e8b6101608c016132cd565b925061344e8b6101c08c016132cd565b915061345d6102208b0161311b565b90509295985092959850929598565b6000806040838503121561347f57600080fd5b823561348a8161301b565b915060208301356131508161301b565b600181811c908216806134ae57607f821691505b6020821081036134ce57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156107da576107da6134d4565b634e487b7160e01b600052601260045260246000fd5b600082613522576135226134fd565b500490565b602080825260139082015272185b9d1a589bdd081b9bdd08195b98589b1959606a1b604082015260600190565b6000602080838503121561356757600080fd5b825167ffffffffffffffff8082111561357f57600080fd5b818501915085601f83011261359357600080fd5b8151818111156135a5576135a56131ed565b8060051b91506135b684830161322c565b81815291830184019184810190888411156135d057600080fd5b938501935b838510156135fa57845192506135ea8361301b565b82825293850193908501906135d5565b98975050505050505050565b808201808211156107da576107da6134d4565b80820281158282048414176107da576107da6134d4565b6001600160a01b03848116825260406020808401829052908301849052600091859160608501845b8781101561367f57843561366b8161301b565b841682529382019390820190600101613658565b5098975050505050505050565b600080600080608085870312156136a257600080fd5b505082516020840151604085015160609095015191969095509092509050565b634e487b7160e01b600052603260045260246000fd5b601f82111561200257600081815260208120601f850160051c810160208610156136ff5750805b601f850160051c820191505b81811015610e285782815560010161370b565b815167ffffffffffffffff811115613738576137386131ed565b61374c81613746845461349a565b846136d8565b602080601f83116001811461378157600084156137695750858301515b600019600386901b1c1916600185901b178555610e28565b600085815260208120601f198616915b828110156137b057888601518255948401946001909101908401613791565b50858210156137ce5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000826137ed576137ed6134fd565b500690565b60006020828403121561380457600080fd5b81516108b48161301b565b60006020828403121561382157600080fd5b81516108b48161310d565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561388957600080fd5b5051919050565b6000600182016138a2576138a26134d4565b5060010190565b85815284602082015260a0604082015260006138c860a08301866130b6565b6001600160a01b0394909416606083015250608001529392505050565b6000806000606084860312156138fa57600080fd5b8351925060208401519150604084015190509250925092565b60008251613925818460208701612fc4565b919091019291505056fea26469706673582212201c5e2937d2880cee7703cbef9aa055d49a0cbebb18be7c0d7e9d37772ec7c5d864736f6c6343000813003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e031c78667fce1ec0684e7fc825d01a9d86c1940356d7be25b3a60fac13a007011939650219ac3f030fa687366079d6229a3278b35762b0f815e7a35ad318a8edcaae0102308b2f01038ead9653f7b9ed7a2b667806f09e45a9d7f1acfd87522861d901b397639b5416032aca02391ef2b1851af6fe9917539195ad791d14b6dc59af5975c243dcdf7ec80361af32496fdbdd8328170d904f659ea64ff1620c4550bca8aa07ab9ad8f520bd03603eba9f9a0b9b8f7a3fe5f6eed11ff2425712b55d809de75ab8b1ae3bad245603203777d71d585bf5dbdee379dff69516001d209a353ad10e6d9ea3dcf62ded550343a5302e99c9b92af83601d012b092640e8a7a8b35db2a4fc2889aeb3f561415039c9fef308971a5a406b77930e3f19bd091635c211d82746e1671dd74b786484a03b6ed98938665107c96b0a2388be1bd182b73140afe3cfb95f52bcd0d7759747d0349ae3774818877a56a86e6749d23f4bf028090ef654c1003840b69a65a99037d038f9786fae39aab109ba9749943bb636d344a0da6d77379a24c1aafa5d716f09d03a7311744cf73c50bb5b59da3eb46fc58b2e81e76d41086c7b3929a87d6b3ad420357da6cef526d33b05b2a28213a6b44566cf9758b4198f598e6d48ad088a781d90219ffff03c5a3fa12a81294046b8e63b83fdb166cd3ee62cb71ad06c4cb24e21fc702ad7703642b48b678a73e9cd9497f4cc5c33635a727fc4c2df81b3fca410d6c028f756c0382efc609e8db6e31bc90ee4aaf7a6896c96809175c039d7dd4abea87367921050346f4809c33839b090e9895d4e0b1b4be63bfb2aa7fd444b7483d15a32258a3e1035e6ab88bf68bde57c2699b1fc97ff99f2ce83fa9485f1512f96fc8da693ba10a03e90467d30ffe5481270896a9d1e3f1d7c8f226a4f0726fca3f5014d7dad1ea3503080c0deb8f2f8d63e2a7052209184e1502638f0d5edf9bbb137535b82521ff08035ab773b71dcf82a1b03fc322bb1896bd520ab79ea65b89da810fc90cb1bdb72f035c163b4bcc2475970b6b198db41ca474d53d2e59403b118d8f0888bf5cff3267034e6e803e8dbe45d5132d76919bb89789c56ce7cc39dbfb2c2e33a6abb4f0dc160301ee7aa3de5b0168bccd9c391e09b04b96c3d12ddbabc99cf0bd55a5074652ea0219ffff0339df7cc03121e781a47683ab7f00985251a8956930283c6d4b7d531385e8413003c1885808b4519694c8be343a52704505635a8add8875e217609bfd37eac40bf103b9c3b4187b06851583e59c95a57f6e98460f6752ceb5f2d01465712b66e4eb2a034bdba2a26be6f89d690ab36de4122fc44bc742f6df9905202e783bb8d839b9da03579d2ff10dbcbb0d387ac4cb27e5546568f1613957e780e997f710cfdd717ccc0340a07f299f354d7c90b3df9d6214dad89a61261ce82ad26fc457d929c19a9fde030f9f941951db9e34924c430aae01d0d2c83cac24e782ae5ce32e103351d4922403c660e7d087b4fb934a863bbc9d8c601bf9c3276e85b1033305ea40d969523caf035f9ae4c3c425bfefe2352b8475914fcc2dbff2378b61a39f4ec277b67bc4ef8603a0799a2149ae719a0a17bfd723ca92066db46bb104aa27e0e9fed291cea3125403fb5a0563f039a6f09e9dfd43764d4f89c88e0f7210865de82963f3d2ee741ee503c0126da2e84fa82c27c3dca9c6ad64919b122f8088367017620a953d2111106d0346b33abd50129dbf1ccc8c17ce9a1bf4ddcd6def140609c6e113137b99b412d40219ffff033cbfa01736de28e11052275ebcd6a76c7eeb95c9f12e3a2fdb2aae9f93aaed9d03d9656bdfd419627b05ebda79144584b1c6c5db3fc470a7f0b1b5fca99f5e282b03e3b3ba56c89f387fe3796b36a7ce3ae239cbcd3cd592758eb97b9771890cbf9003eb462c63e5ca7dd9a9db78d7efc04d12efa2e60297efbf8bec351c348a8754200333fb99670bb1f868ade117a01109390332fe616291de3faac89c27276f465fa90219ffff0335a4d82f5de08e67db56229a10eba25600ff5ae53a30dbeb1bbf2df5de4a928d03f896e5d60fc79f84bee4d59dff078ac3aca6a5006e4c75e3029b5665016d37de033bd4911d4f07e6eb9d5d85c9d438f9c3f80925d0b928aa95b26f60b800524a9603b48f7b3f9de3de3cdbc831be53cbd22cc57a81f66324cb65b715e936ffe9cbf303c3a38c1ddb621c5ee511b551a00e08194ef55a79f4bc4f4123c79e7cc96265ff0303e7fdeb1d89ce7093b418829fbe43926bb474abe74ded3514f8a331e56756b50307b096c32035baeb0557a531bd9c3f90cc3591c933cf1dd842888c2fb108220403921915ef6e78db4fb1e6bee52dedba11b282ec237760709181e30868cf60ddf303cf1f84b117bf3ce30405f50fe05b38ba80a0f2ed3c4ec563686abed87b93840003677d7c02f6cf69d48ad9b2b39220971ad7b07e705615178425a4e95394a056ed03f6158faa9c721db89a04c8cc7886c8a5dba5f7bb532d71cdb1b9c90bafa23d76033c4082e2f8c690cf011969a5aef0a414af0e5268773f207f0ff00049fa1a0be70301fbd1a266b4c2cac1b06cb614e4893c77a85ea0c4659d01dbb31c80aa4e1c1403a596fc16e858fedb01670c8ff528ce42e42b6dc824f6e93de37316fe8661abb80309d02d55d469b5d48af4b2c7d1786b40e3e756ec01a155c6808a041e07f9ca6c039cd547f13a289cafa5e9f6c3e565beb3d39bf76edcfb1c48c0dafa3744bb205e0391c46112524786501e5afc0170b47971962f85bd11b503d60012a911295514c4038e63cf3c70602794d7177f5cd8ae25777abfa6a49d7a01e8e94cae0b3caa74080339ab84d02f5b26565641096c88fb067c69d1d7c6b55b2efca2aef5af01ea6aca03f99064fddc024fa697dea960d71ebcb077de54490fb3fe6d16fee93ef18e4eb90324c366ca152b424e7437425d1b9060d4e5a362ca5a09dfb12becae261273b613035a5e16d84d68f40a626de7afc418eee5b154330aa3a6c4f227692ac768610b56031ed459f1215eb17bc6e3d85c688859f28d5a064f1c09421d11c3cdb93f5f770b03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0342a0ba17ac87fb1396c33c900d65a8df968d739f696201dfcdcfad94a007011bffffffffffffffff03798d7b4bf663614096e14924e2aebc0430703917eebf736cc0e28eded34e5d2c05581e0375a11186a7ad07891f046ab5a477f91724a78e0e21dd49f24d340228b00401036304e38d59392680accf54552f78e172f74771ebe5f5df120d64a267e504253103d08f88da2c1b0df7b37456ec89db5336484d1279dd1da19b85348fadeb11d77305581e03c00720a46918ccee65be32b6851dd960b6b8ea27c0b96b59c7e44096f00c034617a333c338ac05581e0302c769c38544f6eb765f37b432d21477d4b8aedf754909004e4fef4db0040205581e03bfcc51c3af5be2e26031368a16b3e66fd1b3997806d0b692b92f2770100c0b460ece98a8d70005581e031e30f6f275dd62ba97cc4901b9fb97f0831d5392eacf9c44c7fade97700c0146bee6aae7f5e0034221c7b43df01b1a43fd4cbe822f91dad55032b16decdbd2bcbb01a31b24e07603f00355dba6b55ee90a1c87233b1ddac77981d63aebcf8c6fad75268f57ff5d8905581e03e470ffc2c9aeb4f1d4d5c23bc68a5dfcb12df533968eb4979a7f874de007011bffffffffffffffff0459383e608060405234801561001057600080fd5b50600436106103785760003560e01c80637303df9a116101d3578063b0eefabe11610104578063d0fb0203116100a2578063dc4c90d31161007c578063dc4c90d3146108fa578063e2cdd42a14610902578063e77772fe14610936578063f0f442601461093e57610378565b8063d0fb0203146108e2578063d6a0f530146108ea578063d73792a9146108f257610378565b8063bfad96ba116100de578063bfad96ba146107d5578063cb0d5b5214610897578063cc956f3f146108bd578063cfb9cfba146108da57610378565b8063b0eefabe1461079f578063b42eda71146107c5578063bf86d690146107cd57610378565b80639123d40411610171578063958e2d311161014b578063958e2d311461076a5780639f00332b14610787578063a386a0801461078f578063ab3662921461079757610378565b80639123d4041461071757806393e846a01461073457806395539a1d1461073c57610378565b80637b103999116101ad5780637b103999146106995780637bd3b995146106a15780637e29d6c2146106d95780638da5cb5b1461070f57610378565b80637303df9a14610645578063748743231461064d5780637aef67151461067357610378565b8063441a3e70116102ad57806361d027b31161024b5780636a4874a1116102255780636a4874a1146105b05780636c7b69cb146105b85780636fcba377146105e457806371192b171461061357610378565b806361d027b31461059857806362d28ac7146105a0578063647846a5146105a857610378565b80635a4ae5ca116102875780635a4ae5ca146105465780635ebaf1db1461054e57806360759fce1461055657806360cafe841461057b57610378565b8063441a3e70146104f5578063472d35b914610518578063509406181461053e57610378565b806322230b961161031a578063354af919116102f4578063354af919146104b2578063376d771a146104ba5780633a088cd2146104c257806343a0d066146104ca57610378565b806322230b961461049a578063245e4bf0146104a257806326232a2e146104aa57610378565b8063081e3eda11610356578063081e3eda146103b157806313af4035146103cb57806314cd70e4146103f35780631526fe271461043957610378565b8063043b684a1461037d578063068eb19e146103a157806307546172146103a9575b600080fd5b610385610964565b604080516001600160a01b039092168252519081900360200190f35b610385610973565b610385610982565b6103b96109a6565b60408051918252519081900360200190f35b6103f1600480360360208110156103e157600080fd5b50356001600160a01b03166109ac565b005b6104256004803603606081101561040957600080fd5b50803590602081013590604001356001600160a01b0316610a15565b604080519115158252519081900360200190f35b6104566004803603602081101561044f57600080fd5b5035610a99565b604080516001600160a01b0397881681529587166020870152938616858501529185166060850152909316608083015291151560a082015290519081900360c00190f35b610425610af7565b610385610c8d565b6103b9610c9c565b6103f1610ca2565b610385610e07565b6103b9610e16565b610425600480360360608110156104e057600080fd5b50803590602081013590604001351515610e1c565b6104256004803603604081101561050b57600080fd5b508035906020013561123f565b6103f16004803603602081101561052e57600080fd5b50356001600160a01b0316611257565b6103b96112c0565b6103f16112c6565b6103856114e3565b6104256004803603604081101561056c57600080fd5b50803590602001351515611507565b6104256004803603602081101561059157600080fd5b50356115b4565b6103856116e6565b6103b96116f5565b6103856116fb565b61038561170a565b610425600480360360408110156105ce57600080fd5b50803590602001356001600160a01b0316611722565b6103f1600480360360808110156105fa57600080fd5b508035906020810135906040810135906060013561181e565b6104256004803603606081101561062957600080fd5b508035906001600160a01b036020820135169060400135611939565b6103b9611a53565b6103f16004803603602081101561066357600080fd5b50356001600160a01b0316611a59565b6103f16004803603602081101561068957600080fd5b50356001600160a01b0316611ac2565b610385611b2b565b6103f1600480360360608110156106b757600080fd5b506001600160a01b038135811691602081013582169160409091013516611b3f565b610425600480360360608110156106ef57600080fd5b506001600160a01b03813581169160208101359091169060400135611beb565b610385612135565b6104256004803603602081101561072d57600080fd5b5035612144565b6103b96123ed565b6103f16004803603604081101561075257600080fd5b506001600160a01b03813581169160200135166123f2565b6104256004803603602081101561078057600080fd5b503561247e565b61038561252d565b61038561253c565b610385612554565b6103f1600480360360208110156107b557600080fd5b50356001600160a01b0316612563565b6103856125cc565b6104256125e4565b610425600480360360408110156107eb57600080fd5b81019060208101813564010000000081111561080657600080fd5b82018360208201111561081857600080fd5b8035906020019184602083028401116401000000008311171561083a57600080fd5b91939092909160208101903564010000000081111561085857600080fd5b82018360208201111561086a57600080fd5b8035906020019184602083028401116401000000008311171561088c57600080fd5b5090925090506125f4565b610425600480360360208110156108ad57600080fd5b50356001600160a01b0316612711565b610425600480360360208110156108d357600080fd5b5035612726565b610385612784565b610385612793565b6103856127a2565b6103b96127b1565b6103856127b7565b6104256004803603606081101561091857600080fd5b508035906001600160a01b03602082013516906040013515156127c6565b610385612915565b6103f16004803603602081101561095457600080fd5b50356001600160a01b0316612924565b600a546001600160a01b031681565b6008546001600160a01b031681565b7f0000000000000000000000004e3fbd56cd56c3e72c1403e103b45db9da5b9d2b81565b60125490565b6004546001600160a01b031633146109f3576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60008060128581548110610a2557fe5b60009182526020909120600360059092020101546001600160a01b03169050338114610a80576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b610a8c8585338661298d565b60019150505b9392505050565b60128181548110610aa657fe5b6000918252602090912060059091020180546001820154600283015460038401546004909401546001600160a01b03938416955091831693908316929081169190811690600160a01b900460ff1686565b60105460115460408051632dbfa73560e01b81526001600160a01b0393841660048201529183166024830152516000927f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad801691632dbfa735916044808301928692919082900301818387803b158015610b6f57600080fd5b505af1158015610b83573d6000803e3d6000fd5b5050601154604080516370a0823160e01b81523060048201529051600094506001600160a01b0390921692506370a08231916024808301926020929190829003018186803b158015610bd457600080fd5b505afa158015610be8573d6000803e3d6000fd5b505050506040513d6020811015610bfe57600080fd5b5051600f54601154919250610c20916001600160a01b03908116911683612be6565b600f546040805163590a41f560e01b81526004810184905290516001600160a01b039092169163590a41f59160248082019260009290919082900301818387803b158015610c6d57600080fd5b505af1158015610c81573d6000803e3d6000fd5b50505050600191505090565b6007546001600160a01b031681565b60035481565b6004546001600160a01b03163314610ce9576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b6011805460ff60a01b1916600160a01b17905560005b601254811015610e0457600060128281548110610d1857fe5b906000526020600020906005020190508060040160149054906101000a900460ff1615610d455750610dfc565b80546002820154604080516301395c5960e31b81526001600160a01b0393841660048201819052928416602482018190529151929391927f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80909216916309cae2c89160448082019260009290919082900301818387803b158015610dc857600080fd5b505af1925050508015610dd9575060015b610de257610df8565b60048301805460ff60a01b1916600160a01b1790555b5050505b600101610cff565b50565b600e546001600160a01b031681565b60025481565b601154600090600160a01b900460ff1615610e69576040805162461bcd60e51b815260206004820152600860248201526739b43aba3237bbb760c11b604482015290519081900360640190fd5b600060128581548110610e7857fe5b600091825260209091206005909102016004810154909150600160a01b900460ff1615610edd576040805162461bcd60e51b815260206004820152600e60248201526d1c1bdbdb081a5cc818db1bdcd95960921b604482015290519081900360640190fd5b80546001600160a01b0316610f1481337f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad8088612c3d565b60028201546001600160a01b031680610f65576040805162461bcd60e51b815260206004820152600e60248201526d2167617567652073657474696e6760901b604482015290519081900360640190fd5b7f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad806001600160a01b031663f9609f0883836040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050600060405180830381600087803b158015610fe557600080fd5b505af1158015610ff9573d6000803e3d6000fd5b5050505060048301546001600160a01b0316801561107957806001600160a01b031663b87bd4816040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561104c57600080fd5b505af1158015611060573d6000803e3d6000fd5b505050506040513d602081101561107657600080fd5b50505b60018401546001600160a01b0316861561119257604080516340c10f1960e01b8152306004820152602481018a905290516001600160a01b038316916340c10f1991604480830192600092919082900301818387803b1580156110db57600080fd5b505af11580156110ef573d6000803e3d6000fd5b50505060038601546001600160a01b039081169150611112908316826000612c9d565b6111266001600160a01b038316828b612c9d565b604080516305dc812160e31b8152336004820152602481018b905290516001600160a01b03831691632ee4090891604480830192600092919082900301818387803b15801561117457600080fd5b505af1158015611188573d6000803e3d6000fd5b50505050506111f9565b604080516340c10f1960e01b8152336004820152602481018a905290516001600160a01b038316916340c10f1991604480830192600092919082900301818387803b1580156111e057600080fd5b505af11580156111f4573d6000803e3d6000fd5b505050505b6040805189815290518a9133917f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca9181900360200190a350600198975050505050505050565b600061124d8383333361298d565b5060015b92915050565b6005546001600160a01b0316331461129e576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b60005481565b6005546001600160a01b0316331461130d576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b6040805163124fd3dd60e21b815260048181015290516f22d53366457f9d5e68ec105046fc43839163493f4f74916024808301926020929190829003018186803b15801561135a57600080fd5b505afa15801561136e573d6000803e3d6000fd5b505050506040513d602081101561138457600080fd5b5051601080546001600160a01b0319166001600160a01b03928316179081905560408051637e062a3560e11b81529051600093929092169163fc0c546a91600480820192602092909190829003018186803b1580156113e257600080fd5b505afa1580156113f6573d6000803e3d6000fd5b505050506040513d602081101561140c57600080fd5b50516011549091506001600160a01b03808316911614610e0457600754600e5460408051637c6b091760e11b81526001600160a01b03858116600483015292831660248201523060448201529051919092169163f8d6122e9160648083019260209291908290030181600087803b15801561148657600080fd5b505af115801561149a573d6000803e3d6000fd5b505050506040513d60208110156114b057600080fd5b5051600f80546001600160a01b039283166001600160a01b03199182161790915560118054939092169216919091179055565b7f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad8081565b6000806012848154811061151757fe5b60009182526020808320600590920290910154604080516370a0823160e01b815233600482015290516001600160a01b03909216945084926370a0823192602480840193829003018186803b15801561156f57600080fd5b505afa158015611583573d6000803e3d6000fd5b505050506040513d602081101561159957600080fd5b505190506115a8858286610e1c565b50600195945050505050565b6006546000906001600160a01b031633146115fe576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b60006012838154811061160d57fe5b60009182526020822060059091020180546002820154604080516301395c5960e31b81526001600160a01b0393841660048201529183166024830152519294507f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad8091909116926309cae2c89260448084019382900301818387803b15801561169457600080fd5b505af19250505080156116a5575060015b5060048101805460ff60a01b1916600160a01b179055600201546001600160a01b03166000908152601360205260409020805460ff19169055506001919050565b600c546001600160a01b031681565b60015481565b6011546001600160a01b031681565b73d533a949740bb3306d119cc777fa900ba034cd5281565b6000806012848154811061173257fe5b60009182526020909120600460059092020101546001600160a01b0316905033811461178d576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b7f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad806001600160a01b031663ef5cfb8c846040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156117fc57600080fd5b505af1158015611810573d6000803e3d6000fd5b506001979650505050505050565b6005546001600160a01b03163314611865576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600061187d8261187785818989612db0565b90612db0565b90506107d08111156118c1576040805162461bcd60e51b81526020600482015260086024820152673e4d61784665657360c01b604482015290519081900360640190fd5b6103e885101580156118d557506105dc8511155b80156118e3575061012c8410155b80156118f157506102588411155b80156118fe5750600a8310155b801561190b575060648311155b8015611918575060c88211155b156119325760008590556001849055600283905560038290555b5050505050565b6000806012858154811061194957fe5b60009182526020909120600360059092020101546001600160a01b03169050338114806119805750600e546001600160a01b031633145b6119b9576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b7f0000000000000000000000004e3fbd56cd56c3e72c1403e103b45db9da5b9d2b6001600160a01b03166340c10f1985856040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611a3057600080fd5b505af1158015611a44573d6000803e3d6000fd5b50600198975050505050505050565b6107d081565b600b546001600160a01b03163314611aa0576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b03163314611b09576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6f22d53366457f9d5e68ec105046fc438381565b6004546001600160a01b03163314611b86576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b6007546001600160a01b0316611bc757600780546001600160a01b038086166001600160a01b03199283161790925560098054928416929091169190911790555b50600880546001600160a01b0319166001600160a01b039290921691909117905550565b6006546000906001600160a01b031633148015611c125750601154600160a01b900460ff16155b611c4c576040805162461bcd60e51b815260206004808301919091526024820152630858591960e21b604482015290519081900360640190fd5b6001600160a01b03831615801590611c6c57506001600160a01b03841615155b611ca6576040805162461bcd60e51b815260206004820152600660248201526521706172616d60d01b604482015290519081900360640190fd5b60125460095460408051630452a26760e21b81526001600160a01b0388811660048301529151600093929092169163114a899c9160248082019260209290919082900301818787803b158015611cfb57600080fd5b505af1158015611d0f573d6000803e3d6000fd5b505050506040513d6020811015611d2557600080fd5b5051600754604080516358cbfd4560e01b8152600481018690526001600160a01b038085166024830152915193945060009391909216916358cbfd4591604480830192602092919082900301818787803b158015611d8257600080fd5b505af1158015611d96573d6000803e3d6000fd5b505050506040513d6020811015611dac57600080fd5b505160085460408051634ce5896f60e11b8152600481018790526001600160a01b038a811660248301527f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad8081166044830152606482018a9052915193945060009391909216916399cb12de91608480830192602092919082900301818787803b158015611e3857600080fd5b505af1158015611e4c573d6000803e3d6000fd5b505050506040513d6020811015611e6257600080fd5b50516040805160c0810182526001600160a01b03808c16825286811660208381019182528c83168486018181528985166060870190815285891660808801818152600060a08a0181815260128054600181810183559184529b516005909c027fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444810180549d8d166001600160a01b03199e8f1617905599517fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34458b018054918d16918e1691909117905595517fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34468a018054918c16918d1691909117905593517fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344789018054918b16918c1691909117905590517fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3448909701805493511515600160a01b0260ff60a01b199890991693909916929092179590951695909517909555835260139052929020805460ff191690911790559091501561181057806012858154811061200a57fe5b6000918252602082206004600590920201810180546001600160a01b039485166001600160a01b031990911617905560408051637d1cb25960e11b81528585169281019290925260016024830152517f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad809093169263fa3964b29260448084019391929182900301818387803b1580156120a257600080fd5b505af11580156120b6573d6000803e3d6000fd5b50506007546040805163b84614a560e01b81526001600160a01b03868116600483015260016024830152915191909216935063b84614a59250604480830192600092919082900301818387803b15801561210f57600080fd5b505af1158015612123573d6000803e3d6000fd5b50505050506001979650505050505050565b6004546001600160a01b031681565b6000806012838154811061215457fe5b60009182526020909120600460059092020101546001600160a01b031690503381146121af576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b6000601284815481106121be57fe5b6000918252602080832060026005909302019190910154604080516001600160a01b038781166024808401919091528351808403820181526044938401855295860180516001600160e01b0316635efcc08b60e11b1781529351635b0e93fb60e11b815294821660048601818152918601889052606093860193845286516064870152865190985095967f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad809092169563b61d27f6958995939489949092608490920191808383895b8381101561229e578181015183820152602001612286565b50505050905090810190601f1680156122cb5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156122ec57600080fd5b505af1158015612300573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561232957600080fd5b81516020830180516040519294929383019291908464010000000082111561235057600080fd5b90830190602082018581111561236557600080fd5b825164010000000081118282018810171561237f57600080fd5b82525081516020918201929091019080838360005b838110156123ac578181015183820152602001612394565b50505050905090810190601f1680156123d95780820380516001836020036101000a031916815260200191505b506040525060019998505050505050505050565b600481565b6004546001600160a01b03163314612439576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600e546001600160a01b031661247a57600e80546001600160a01b038085166001600160a01b031992831617909255600d8054928416929091169190911790555b5050565b6000806012838154811061248e57fe5b6000918252602080832060016005909302019190910154604080516370a0823160e01b815233600482015290516001600160a01b03909216945084926370a0823192602480840193829003018186803b1580156124ea57600080fd5b505afa1580156124fe573d6000803e3d6000fd5b505050506040513d602081101561251457600080fd5b50519050612522848261123f565b506001949350505050565b600b546001600160a01b031681565b73e478de485ad2fe566d49342cbd03e49ed7db335681565b600f546001600160a01b031681565b6004546001600160a01b031633146125aa576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b73bcff8b0b9419b9a88c44546519b1e909cf33039981565b601154600160a01b900460ff1681565b600b546000906001600160a01b0316331461263e576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b60005b848110156115a8577f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad806001600160a01b0316635d7e9bcb87878481811061268457fe5b905060200201356001600160a01b03168686858181106126a057fe5b905060200201356040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156126ed57600080fd5b505af1158015612701573d6000803e3d6000fd5b5050600190920191506126419050565b60136020526000908152604090205460ff1681565b601154600090600160a01b900460ff1615612773576040805162461bcd60e51b815260206004820152600860248201526739b43aba3237bbb760c11b604482015290519081900360640190fd5b61277c82612e0a565b506001919050565b600d546001600160a01b031681565b6005546001600160a01b031681565b6010546001600160a01b031681565b61271081565b6006546001600160a01b031681565b600b546000906001600160a01b03163314612810576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b6001600160a01b03831673e478de485ad2fe566d49342cbd03e49ed7db3356148061285757506001600160a01b03831673bcff8b0b9419b9a88c44546519b1e909cf330399145b612894576040805162461bcd60e51b815260206004820152600960248201526810bb37ba32a0b2323960b91b604482015290519081900360640190fd5b7f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad806001600160a01b031663e2cdd42a8585856040518463ffffffff1660e01b815260040180848152602001836001600160a01b0316815260200182151581526020019350505050600060405180830381600087803b1580156117fc57600080fd5b6009546001600160a01b031681565b6005546001600160a01b0316331461296b576040805162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b604482015290519081900360640190fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b60006012858154811061299c57fe5b60009182526020822060059091020180546002820154600183015460408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018c9052915195975093811695928116949116928392639dc29fac9260448084019382900301818387803b158015612a0f57600080fd5b505af1158015612a23573d6000803e3d6000fd5b505050506004840154600160a01b900460ff16612adb577f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad806001600160a01b031663d9caed1284848a6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015612ac257600080fd5b505af1158015612ad6573d6000803e3d6000fd5b505050505b60048401546001600160a01b03168015801590612b025750601154600160a01b900460ff16155b8015612b1a57506004850154600160a01b900460ff16155b15612b8757806001600160a01b031663b87bd4816040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612b5a57600080fd5b505af1158015612b6e573d6000803e3d6000fd5b505050506040513d6020811015612b8457600080fd5b50505b612b9b6001600160a01b038516878a612be6565b6040805189815290518a916001600160a01b038916917f92ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc69181900360200190a3505050505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612c38908490613376565b505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612c97908590613376565b50505050565b801580612d23575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015612cf557600080fd5b505afa158015612d09573d6000803e3d6000fd5b505050506040513d6020811015612d1f57600080fd5b5051155b612d5e5760405162461bcd60e51b81526004018080602001828103825260368152602001806137d36036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612c38908490613376565b600082820183811015610a92576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600060128281548110612e1957fe5b600091825260209091206005909102016004810154909150600160a01b900460ff1615612e7e576040805162461bcd60e51b815260206004820152600e60248201526d1c1bdbdb081a5cc818db1bdcd95960921b604482015290519081900360640190fd5b600281015460408051631ff4de0360e11b81526001600160a01b0392831660048201819052915191927f000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad801691633fe9bc06916024808201926020929091908290030181600087803b158015612ef257600080fd5b505af1158015612f06573d6000803e3d6000fd5b505050506040513d6020811015612f1c57600080fd5b505060048201546001600160a01b0316801561300857806001600160a01b031663372500ab6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612f6d57600080fd5b505af1158015612f81573d6000803e3d6000fd5b505050506040513d6020811015612f9757600080fd5b50506040805163654580bb60e11b815290516001600160a01b0383169163ca8b01769160048083019260209291908290030181600087803b158015612fdb57600080fd5b505af1158015612fef573d6000803e3d6000fd5b505050506040513d602081101561300557600080fd5b50505b604080516370a0823160e01b8152306004820152905160009173d533a949740bb3306d119cc777fa900ba034cd52916370a0823191602480820192602092909190829003018186803b15801561305d57600080fd5b505afa158015613071573d6000803e3d6000fd5b505050506040513d602081101561308757600080fd5b5051905080156119325760006130b46127106130ae6000548561342790919063ffffffff16565b90613480565b905060006130d36127106130ae6001548661342790919063ffffffff16565b905060006130f26127106130ae6002548761342790919063ffffffff16565b600c549091506001600160a01b03161580159061311a5750600c546001600160a01b03163014155b801561312857506000600354115b1561318757600061314a6127106130ae6003548861342790919063ffffffff16565b905061315685826134e7565b600c549095506131859073d533a949740bb3306d119cc777fa900ba034cd52906001600160a01b031683612be6565b505b61319d82613197838188886134e7565b906134e7565b93506131be73d533a949740bb3306d119cc777fa900ba034cd523383612be6565b60038701546001600160a01b03166131eb73d533a949740bb3306d119cc777fa900ba034cd528287612be6565b806001600160a01b031663590a41f5866040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561323157600080fd5b505af1158015613245573d6000803e3d6000fd5b5050600e54613275925073d533a949740bb3306d119cc777fa900ba034cd5291506001600160a01b031686612be6565b600e546040805163590a41f560e01b81526004810187905290516001600160a01b039092169163590a41f59160248082019260009290919082900301818387803b1580156132c257600080fd5b505af11580156132d6573d6000803e3d6000fd5b5050600d54613306925073d533a949740bb3306d119cc777fa900ba034cd5291506001600160a01b031685612be6565b600d546040805163590a41f560e01b81526004810186905290516001600160a01b039092169163590a41f59160248082019260009290919082900301818387803b15801561335357600080fd5b505af1158015613367573d6000803e3d6000fd5b50505050505050505050505050565b60606133cb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135449092919063ffffffff16565b805190915015612c38578080602001905160208110156133ea57600080fd5b5051612c385760405162461bcd60e51b815260040180806020018281038252602a8152602001806137a9602a913960400191505060405180910390fd5b60008261343657506000611251565b8282028284828161344357fe5b0414610a925760405162461bcd60e51b81526004018080602001828103825260218152602001806137886021913960400191505060405180910390fd5b60008082116134d6576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816134df57fe5b049392505050565b60008282111561353e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060613553848460008561355b565b949350505050565b60608247101561359c5760405162461bcd60e51b81526004018080602001828103825260268152602001806137626026913960400191505060405180910390fd5b6135a5856136b7565b6135f6576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106136355780518252601f199092019160209182019101613616565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613697576040519150601f19603f3d011682016040523d82523d6000602084013e61369c565b606091505b50915091506136ac8282866136bd565b979650505050505050565b3b151590565b606083156136cc575081610a92565b8251156136dc5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561372657818101518382015260200161370e565b50505050905090810190601f1680156137535780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a2646970667358221220c5d514fc01a91563fe8c3fc100910ae4fc8331968b27a2bd69dd0153a7e8620c64736f6c634300060c003303f90d351672bc058940b75be0516589844081bdfc93aa603d3a5e3d47c32448cc03150289256a9f6de40a275daf723b9dd71eb84aa10e33ce0e7de23d08a2203ad503194848da625b485ed68c5731f5b5148de4d53abf1e4c9938897fbc4fc37708e900582003cbdadf864df8d9bd05cf73b363b52475b8dcded017bb210ead5838dac5c6d0410100582003312c0b0d5659866a4073005e1ffd73c0e7965ce806030c3f4caebc05f453d054b3c8ce1ee157b0dcaa96897c9170aee6281706c9005820035a39497a885e227174a21218c0c82b5a948c2ff650f3cbdf7e1c23492afaf0545bcafc77f19f72bcf1420cc1722c3e06e16ec29a005820038cd25a0e4d84834b7ced263cfa8b1617ec738e99172681b2a8ef8a848b74705486fc29e7fe563d4a5254f24d9bc0f182e535cc030058200393a780ad3f1093346295bb37d4ba706051370edc43f80a2f5029241863d700540cd6f267b2086bea681e922e19d40512511be5380358988bb1050813a4fb90b68e6f5e533199b651b0cedd38e9e91d330a713e4976005820033a25dcb08c44aeae190263e26525b112de0ea6e3307f60ec6c0fd522f96f4054a5588f7cdf560811710a2d82d3c9c99769db1dcb005820032065576165da5322058e26369241cce7643a47fc428b143587a6d6936b65f05401ccde1dfb6c84e1cc13a6bf777aa2160abd11ba0219da1a032eec58d699df69f7c6b01543d0cc679988f5c291a8e96d9457d338ecaa67a41d0316a17b788126e7fd6cf42afd8042109da4c85af7893f1364dbb8621c2c532c8803f02fe6f829da906ef063330a0d32c643fb6d3133adad8c039f1fd411474f99e20324e24cd7bc41d455731d562abb1b424739a418d3aa4c3c49242a9f01b228b6ac035b7e77849ee1a2175646d0c43f2f6a1e877bd7f00c5c8f8b37d982d2c5cb9b4103cb286db15996ac8e6b57f56a74f9b99efe1e61f678211b43622320b7a94e09f003da45bbc72c3efe739c6fa306e3e877c87b33da05d10a1ae6026a79e3faa1be2e0329868deb65153b06e819a6fe447937f28c47f5124fa35b8d28d8db9d578a36560368dca0fee8bd0e9d458b6694a79e3c7ea92fd2b0a80ce7be8ada75e0117d55f703479a3b8bef9b2149922154a1b5d10b9e1cab37157e1be4b40405cd677965070803a8d9cd3b50ef771e8e0987ec630cc9d9a62f9f823f7dec52bfc8bd879057072503f6891aef577c23cd5d7403995f96d2c55e19adf3325e098b7635f5d89be94aaa034c0c8a25b70a8af601040db63da59cf74614c8d129851dc4a445d990b3163e0f03a1ed3efe88ebaff4341f0a40ab75f1c797841c4d5855563c495c93721ed0e90b0219ffff03bf0772751a7d467e103f2aedf08b70ad612014a9bd77a60a90280e1720501b4a00582003e76159cb1da5fbb32c4f9d7af889ba70b2f7af61e454c224a1f1ba1580db00547e96955b66c89b931bbdaf187740cc0ff2602f2103da8ec6f006fec9933f50975a5e9bc8bba881ca6046569ff647e58c2ae44eeadc0058200353bcfc6cae024edbbd98312b9dd9078c00d59996589861c6a0028015490050541053ec04658fb611b441c17425d07f6e9ff8ec3700582003298fd3e5901456cd0e00d0a63db2cc8b28ff1d6ff267a4332c9268c734d6005427cb9629ae3ee05cb266b99ca4124ec999303c9d037d1ef5c667b259a1b023134c889e25b4f678328b413eea4a816a021cff3ed2af00582003a01ea5dad352da29f59423daa0bb9991d0ccc4c47db78d3a2e127e931b3660543cfb4b26dc96b124d15a6f360503d028cf2a3c0000582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68054f939e0a03fb07f59a73314e73794be0e57ac1b4e0219517103f247d8ff4b057e85fe6cc5e93970d084645dccacbbe50e620029ffbc76b0e4db03fe2576ec0894e4d2e0fa19d111c994c5fa4d9b6d6cf9e2a530d79c57c0327e21037cca7801a505c7b27e3170693d1342632a7ba2b2ada4ed81437e227b6370c4cd03a96b0117038f2eb3174fbba3dc412a207185bcb769eeec117184594b87e257b4034070e31d9446ad9fc5b7634de49402c919c1cd12eb752cf22a0629587ef384490370acf913262c4eff4c4e3be36b7a8bda1e98bcdfdcb133267981db0d8f8da2760363707970456b7108e18ebf149e1461511f88f335a43c568d6b898f40b61fc78e0343314128c54013ba45d9261e76ea46adbb8a815198b6327d90415021d446c584036fb764de4d1490579e349ce3e8a29dcf520514cc398cbe9f01c4825d4c8ac7820356f915c5fa500c6a3c863c8d26407fb078e7ff6b51aedc0dd93f781e3c5188b1038bdaddfa1052cbff82fe99dff1dcd9735d0a877e749dd6986621a2c103b2ff5603fb6501ae38d51354b64ca0439566c2b1344e7fa4b5841c9e4aa83abb7a10be970345ea18cd96cc47defd070555af082d71ceb02b1d9f70b84460b9cc960410e93d03c6c365da7cf123a947609ad410ad9d73c25aecbe84901ca268a396bde4dba04b0219ffff038be9166e14fcde8ac97d607282c22e25064009d72945ed52249f7e596469c35b03ae42b00ec5695ccea258868422cfa5e8ebb080ebcbc71c0d54dfd1e2d0d7664803862e05abb8dbe53f1f052122a62f115e4e40e685ae37cba4cbcb663dc5b4a57a030a93783c461a4b14c39a0336b9d45ce1620c29b9a0fc69f2c28f3b5a322a783403e2e0d34182d98aecf472ac95c60de224e73c5efe4e6c17faa5a09536b95a3703031e5886cd9333d09a1b7b8b2ad3f633829cda15d651740c9ad48438803745a4890369ffb089791f5a7263b8907ec8a86d286a1728cf92a4f36ef58ae5de2b65933c03bb112c4bd5bbe66072521453df55b6859cd11ac824684c3f0af4c546d10b59f103829fce03d5d7832bb75cd9a5aac9b7cf1d9d8acba425b2829c6c002c1afb738c03bb7813492d27f7d076f3316a49a80db03158d1a382d2da1a9cbe559a157a370203fda4820c6bda67d2e284c7509d84b68f72d4d870f8b8a4f13244902301c2ec8203f9ed592e72c623fa8ffa67d96e9118fdcf4b3113e8948f3f9a9ae7c68d066aed038fc8db727727708c40d5478163c53a65e3838497dece3bf851103f67402d776d0309b58d3d618bc8bb15432b36889a778c17b5a1d98f795e20740d4f4caabecbb100582003c1175ffdcea0cc1d316ca112497268554111085e10386b40d59da46ef1e3c054d6b938dc62379639c41e74b87affa386a0a67e7403eb2a73e717fdadda3bd7ff6712e7053874b8a896d2ab9c9caa0cdc4c15709a5100582003c34f7f32f069b7ac4dd789d9d8a0996c809e216d38e3cd6a5dab7acead6150410100582003c98d87791f4b86662a23f5e23e37c26fa7e22542249a2e275d4e0d8ac364d054b75b7297f29d5f6211f112d24b1edf9dc77ed8340058200328c1d33594e369d3b3cdbc77984eb0668031ac77369305a830cbc9159dc330540f453a478fc2aaeabb1df45c713f9d82cc1d7b3e00581f02999c0c6dc62093959715eb31dfa0540e8ff7a0390fcfe7f0b42767df324b540bfb387b87e8bf173a10a7dcf786b0b7875f677100581f0298648c96ee5ec54aba5540b05c259ac7a2ec3203aa01f6422db00d5915a154b30da2376f63de30b42dc055c93fa474f31330a500581f02a493c420879f675ec2e051ade110a678b2a9c448cd859ee14c32d5c22c0654fa65aa60a9d45623c57d383fb4cf8fb8b854cc4d0219088202194ad103978f4cc403213c424527a9a3936277b5d0262bbfa66b9e52b96286be860d692203acc66333a9e5745038c35420b0ad7a70e5d25eda91a68f44fee949ac1bbf530b038c486565d2297b0f51ec78b7ac05de9d7a7304724a07be249371b012772e2bc60219ffff0369940440cb10b1df582b348300d3d6d17c18584db3748cfab228b59c8cfac5ff03b638a2756228842915cdbf3759d27035eb1480ea797c45da40c7fea924b62f6c03377489a5e78cfac308fb6bbee40be0425e06f13deec23a5637c99a5abb4866ca0361d77aee45e1ddb87c7f7b8991f389fceed67e6819c310df03d72915663b8d110383de2ce69628ce7fa8e442137076bde5bf14336a54400e9bfd30966f44c4c6dd03a7a039e39f78e10786ba19e97fd4bf14d770c3253ac50a145f730166c9a61d83035808dda8e2ac93672036ca64cb06658d7ca0faa43e6996eeee1f46d56b1e41c503a888b1367a1b86d91bf74d4ea64a955ae2163d1f614ac03c49bd3de2a4fc895c0374bc1a2166f3290eb690b9540aaadcf4c005f22963d521472e4e403266d1d20b03a1091f7ca821bad36471ddf8136ba3d5adb6de04560a8a55ea0e5f9105badadb0058200332f8263a68e575cfc080e86901f782ae96979ab5bb2165e9e29a0f951d8d1054b3627140beacb97f9ca52b34090352fdafc77d7200582003d602216e9bf912f904a317b1ef52a21f3d1907e0e7a34913ba6c0b35f1667054740ba8aa0052e07b925908b380248cb03f3de5cb005820034e151326732f6c0aed1fe72e817a885f9702744c079cc61cf43b59ea4b297054aeac6dcd12cc0be74c8f99efe4bb5205a1f9a60800582003af4ce0631b8aac2f3377aaced7d24316fe03dca1970eda269444e26bd31b0054d6982da59f1d26476e259559508f4135135cf9b800582003fcc5a8d664763a240f2d20224ae07d71dd9de25e07cef5aa55701914fb2b6054f95aaa7ebb1620e46221b73588502960ef63dba002194458035436b8025eb4743e618c132bbaf8477cdbcf4cbbfeb710b79895737f28af263f0386402123ddf2d6cfcd3b82a01a839d775dce5cb44b78df619811928fa8a27dbc03b2cc0d9f375bead51c8c921a8e783b51566cb792232138e5d1d1aa1b33665e3d038abb883a11a3f41454b631e19164aea3efbe89d0b5309316726e43106e42315803850f69a206780efd9e4e81a45e608c49590c1358a3089255b31e5a5bb7aa28040219ffff03b606857997cc219c85348ef592e4c336fa9ea6d362290ebee6e39d11de9759f30399bf02c94290d35ceda94815e6c8f20a9eb32fedd7109e8967448eb78de5b28603d14bf5a0acba112f556e8f29213bc327fbf78cf62fe37b28fb4b6336978eb59003420f484175ac8b9e66fc9c951ef723406fa542b9a4bab92c6c8bcb7fa32958fc030a421b158be5403c792507a318eb9821559a3bbebbe591c8e9cc6c67984985eb03fe99a7ecbef5b60a8caeb99878ef08944a531296317cb2b0e2e44e59d353502e03121bd165a5d83798f56688869b80c1a8b55ba456e5d14de05f048bc03166872803ee003891bde30c54b7e6d1fffb50ce20c617a7efc1e17cd0d26b2ba4f70e383103a1688d5762ac5a9f0ad3e4cc19e57862d2ba250fa0dffb0a798900dfb29db052030e994bca85133840fea000077d88af5e1af7fd5637cae182329b35cd92a776ca005820036fa4dcd9f93e3e40d0c38f5fb6a49f7e279137273b3d347ed01f8de3a9df705472e158d38dbd50a483501c24f792bdaaa3e7d55c0058200356041bb75a39b52efc354520bc7f28bc02d48c39691a4367df1a8a2bde6b40545a2724829d64147c1b5c279f6bdffaeaeee12dd000581f028b4aca525402d5d159d772267b5e6094f94aab6d1d3020e9b8999b5f22ca5459bb786f222d3f0f00b0da31b799fff80d55294000581f03c037e296d3a778594d132ab85125cc7ec304f4836b1619348ad46f465b6054bf7b90683fd7e64dbf624809d49bdcb20f09e56000581f0349be013afbf6c439b8e2e9a47773b950a1e80dd1b28680eb76adc5a2aee05426598e3e511adfadefd70ab2c3475ff7417411040218c0021940100058200321173eff6cdce857780de39805e7c199b705c8f8e20528d3481103408ba9c05454acc0381589492af06a670686d67c96e5f6087b03a83518bd1e0129bc896776e1fe181bb89064018fce66abb8124c57d92e979a55005820037bb88bc5770cdaa8cb6e5d57d9dd8dcca491ccb71b3d23f33749ba1cd9422054d2b756af4e345a8657c0656c148adcd3000c97a40219a05603645e7d1a65fffb96dbfcaeb5e4dadced0b7b2479262e5439a1ddf423063e564103277d7211a31d83c4b06462fe4e4dd737cbf9c85c9fe6523a98b3d4b58f2f377e031ebb817594bc90b55eed1b07a9fa31c509b62cf17c82c8e5ae96f2c77ed2d9c3037ecd945e33b1dc69e2a1828c5ae1630ead565beb836b3e9c404279fca995ab18005820031aff11449e8784ce8d60c02b5b924c4fac397a7e4a6c3c6149d2d07d0f1570410100582003891efdb6a734342907906edcc07d4b17067331b7ee9c8b5c92360b1c210b80410100582003c94ff3d346ffbc6691db83be7cffe7715a987c723adbbc47635dab844ff540548014083ad9a7e8e78bd2f5f2a5419e0a28d9436900582003b084ca2401f03c06f820313b075f4c74efb43de20c66a24d76b5b76966c990540df9c85b825161fe65d40dfd61917232b0f14e9700582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0543fe65692bfcd0e6cf84cb1e7d24108e434a7587e00581f02a0165d760cba24a64b7441ac5fc01fb837ed4de7a883283cc5351e66336354e0d993d3d6ee4debb0f5fb8f809b41d9e980760600581f026a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34444201730219044003aa6f64141036a623f4c6ff00bda920b9298b77d28358b5b940ed28b51650fc4400582003e60248db6f91959acd5cfad1c49d2b2225d09b5ade0b1241f683c793b0df50545ca0313d44551e32e0d7a298ec024321c4bc59b400582003a843e7ed8b2b9ca93400c50bdd9f8f7aca5d3aeb4f404407a6ca5fff7572705486c66d677aa2a156b1e0a0ab8a36f38f640e957100582003f6e0dc31fa4b9e3a186f95870d4c092f96b27fc269cc3305c69617ba6a8dd054a41c422b418ee4e18b13f40c246d05c3013ac4c500582003b76c8e91fe0dd273facb1a53a51a94a20de86189fc405dc38cff2d4ab96ba0545d02ecd9b83f1187e92ad5be3d1bd2915ca0369900582003daa17f8befa2017dd11877c277245c97ca83df4a7d219eeee7e157ffc2a370539acd89535dabc270c93f9b39d3232105fef4530219fdd903f0f8c81ba8371563f7283544ea06507c368f7ea861b4d84d6dcd669ae6dc9d16035e692181f10fcdb95e729c776d411d1276272ae6aea266a0cb68c659393a484a0349d7e0ef02b121dac999f9ee02c653c4fdcf82b0a7c6a7d866c68d0ed318bc78030d7b960f946e50da511a2f6f6038605e438e30e40250ccfd061ee056101acc390219ffff032558bee5d76387719f862cf019fa10a81f492c0b78b2113c656182462b24d5f303ba144a84f1a79ceb764288c40bee46897f8ffbc0ca2fbb869d3b0bc9468fc5d503085b1e79200bfb88e4aa0113db41cf247a9ed40e9682519ef4c8569dff4b04be033da3026921d5cc9ecfe3d0229569698cb9eb221d7f5dd121ddc862feb75f98f503f2a08db95a93e3af13dbc9b90244f1b8f03ba2a2f51727af9decccd8530aef9e038f6e3ea75e02effc45211c0a14a76360249605b4798b7878b352f3157741523f035d9d0225396bb45a50537df356c2662f53ffa0dea4c589c3fcb8bed71abc9c7b034ada6729437fb9fd5a4050e1ba5cc79b6d98a1c03dacaabca98ad0dd18efce1403891e8d59812783c29af4581aa6df0c336ba8ea274906b10803ea94eecbb85f2e03b9e984498a9aa807740934416fdf2224aef5aad5202e2b464d1aada8c221abb003e73d0927a5c2caeaf4153a5a575413accafa74b08db0c16ed7787e50cb702f2203207e58673efbcdcb75c816a1d2ac3c89be9bcab7035fd83ff2ef443df552754f03efc9b8a8defccdc455ba04d016c8a6d3101c682a3a60fe0a44e9f25416d7fe7f03030135589f558a9cf6cc4f8904e89fbbaadca8eddd8896d620549c6fad44d34403e1a36d9651b0c910f73ab592ef8ba2c151af75abf9677a8586ed5eafa0088d22038c60abaa15ed5b07f4f0d2f1e08d49a0cfe737701a3dfbd8026d200c789f81fb005820036a6cd46e3e49c52041a312c33c4ecaeb9cf1de66bbe1da09fbccfb4784be405402b1326c26f48eab33bb24124e2c741dbaf1a27400582003ef15b3971889887b64e60c3161ce7ac31433618beed5e5449a33ce79a25d4054cb08717451aae9ef950a2524e33b6dcaba60147b00582003bfd8abe33440f4a6a0229554d7b35f57e6874d6f559d178b684b9752a1ae30543c5208849fa77aaa98483527f20303caf25a1ad800582003413cc0e29283b27a4f3c5f595be4ff3c7e1b941cbd48e2b82683fc9aeeef7054459d0282d40d2ee20bebd4213bff77b3f5a5824c037f3256160d1dfc630526a59f8dc601921bde91ba8902d7f1fb2861c32f5d0594037cfba8b612a163d258e26900c24e1d448045ca042825155e575323a89f1829b9005820030353dac0ea5210ba811bd30873c15bd23f3a9e8a416ec2c18473b344759120546cb1933e49c48ae8ec12d39ad7d85695b247dedb005820039d5925e4b677becc984df26bc9c090598dc4ecbadcaa5538eb36c8562053204101005820034e77b4494e86fdd10451a2b9574b1c0cc12e308042cfbc763475b29126fe00410100582003eb641af48a91fc001fa2117650d50de7188764683688646fa8d4a7c8289f0041010219ac770219ffff033436452af8ea48805c97a2118681180cc8e2107a2a34a8124d38aca3e660873d0372d50ec4028fa4c5c2b9dc6a18d71066b41095bf3c37c1299e92d292e042e2300219ffff05581e03ed519732e8b82f13fbc31cae1ce58caaa5fac3985048ae58489528fa10070119383e0219cdbe03c862b4e07bf17504f6135c0ca976c8f7cbb803e57fe16b38c77b5527210585a503e7759208ecd5d52075c84002e309d57b7e20be5be2cfc182199aef29744e3c1103ec7086e1907262758195886f643c915c489c6b769cbd21954972b7c8883bc19a03425d7aec9f524ee88106afb717cce47acae1584c04851e4516de80ed01ad824f03366bdabd731bb91d768add5a68b26621a559b6abf42a67a0ce8cecbc83f1e5d403c77d9f2a93e4f454f2792d3ea15b1f96067e66567de7324627b7fdf928b5d3130340ebd63dd133fbfcd9489e1aeb47415059b665483211039ff2a56e0a45e37d2803ad8962f55fa20fe719eb933543481f5d7adaccab16f42bc9df8e4a02d56fb554033c87ef6c53ac0dabb92bb36936cdfdedaf94d0560bd743b7a9947d35a61dd98803458aece82c92fbe5dd04c1f818ecf143c75182b8c7613660c896bda7fbc26ba103edc2a63c50ba501cdf403c665f70bd23819bd17e96d2fd1a92623869fd2eedfa0335eaad338a1d3481c48646cd8a93293977436e769553d5c07044f194fa48aa8103b453add09669dc4092e3bbcb3e2148c103d9b63adef7ba127d83fefc16850bb903841517a8b2e7184f7f20ff9cef558de77cf5072c9092d249236c0d5427fc51d00219ffff032a62cd3b6d93c2a68cc235322c0f89f0fe2b2fd56eee69737ba20d89f81aa93a038049cb2a10151d9abe4073e71baa0bbe9ffd4eb96eb2b208cc7981db856dcece03d15935847b4ea7a4f53ca43b3b671ad3d47f745a66d7ca14690bc5b71d31bf800219ffff0307e0ba1ad5e679f2c7360d25b544d9af98cc0ede74387457ba03d2c475d7371d03ce6419484d27fd3adc0b06ca89353173303ab9de57f285124f4dd63c484bc4d803695ec3012bdd4d626f948ddda6a1d5c51c972c20de18d375164cf52abeb0d1e00341d058d6681774446a5aa5d6ef2ef847d30f22be0a636171c2707fc95fd10cf2031126cd411ff21765474e0b40c27d3ac0361cc74eeb98b962d01869b5ff9f0e550219ffff0324cc6a8f1a786e7802de7b8e0b1cff7a05765eaa2abf22c5370c7be429b5aac9038673a004174b5e1828180cfe6c8d3dcdc46de535c3eae462f804b19d1fa01de1039174f582f28e1f968683a7a73c5a474dbd278e54be19dce8a0add500d85911f303dae81dc3cb93a32357d2d0ee3f298be203a896097ed168654a76704a3762979703bbfa4038928295da5ec99a61fad7955304d0ea53194beb39ac351b6ecd162a6103419b94be7237c0f34d42956d0dcfe0262ae4897afe5a1894ea066e210637a7c403a8145448349225a4b68a8b08bb691cf0e6bb11d8a36445855453992a81c0f2a0038b19b8340904d5a6db92260ee4b1d2efffe42b447b6bf9c12ac7b6489819cb0403938122123608088eb2b3ee5d68e70c0d587d3cf4af1d8635be2d4e46529193890322334ae0018328afa30ddcef20f08e5dac9527078bdb379588bc8c32ee05244b0341159eba2046787c37b2dc73afa7ab51bf2909775f34fe08c78459c383497b0d0376198006f51305e10de5934372eccc102b7925fdf6f4b3cd435b00e05ba5fc6b037339241d027d3c37a3573800d383cb0f31535542ab4569a7bca9a1f326c353b40388cdd885605d197ddaff5d0310ff31ca5980218f70e2e0bf5d0c583d96b471c10348e4686cd79dbceeca895a1b9a55664cbfc4c6364c60bf12393a72cf3577637a03fb09d5a4ffc4722f30a9c7d43cbaef15f23bffface22c2f1e7cee2e4cf455b54036fe13320e2cf43bdcb76d5adaa40f012612d415c70a3e516fcbf1db72a33b53603afafdc1efcb550f8184caea0835755a652b73b7c68e3e6cab2074f9ac90393df03b61c44fbecf88d34e249df961521917b24a204317f16505e5e27e92aded07a31033d0782bf474171659275ccfe8fd22668862a30f2fe2756c147bea64300dba5c703bb863b4b7a513f7a66605600e008c138c64695450c136372bbd3c933fd27d68903c0507620a86c2a2528e8f31b1d4abb400e076c76eec910afe619cc556fc56035031540482975ce21ea469919c672f7ac85c18494548a4755ad855c0cbb7f005246031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03608cc54890132277a63ac5c3b0cf399a467d59354615d9b9a34d6dadd007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e034205e00020beb15fed65578ddf1533822a2dd915e5635248df1f99a46007011bffffffffffffffff03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03045cf9d664cc958cc96281ec1e367f19da6908a3f138ebe63f997d872007011bffffffffffffffff05581e0395d6c9b975d9351a466c33931fb37bb9a056e912351235b195f1f9e5000c0147030e7fb3497e8e032b94c39dd10ee48e928c25f244993f323dbaf6b506ef5b2d518547b876c46aa305581e03aa5817a26cefd8ceb13a4193672067cf81302dc159a6606f492ede9af0040305581e03b2c2ad96d8c149f6a4ecc7dc31601beb031b0cd1a5f05e0182b94d33300c044780956dc0e3465005581e03104ee76ba182ab9e204674f429a0c12a9d9bec4f0d26f8ef2120ee46500c024647843f18c0d005581e035910c0488299e34d151192bb624a86f098f028c5cd372ef551bffdfb600c094502516fb43505581d024561373491849625332d917224a649efcfcbc60191ea51d266532d910c0247132657142ce80005581d02ec1be5c1c5c074a5593d9070a2a0dc525e0e1a0383a6dfa644cc43dc0c014702d945dac908000459463560806040526004361061029f5760003560e01c80638585c9451161016e578063c7a823e0116100cb578063d547741f1161007f578063f010cb2311610064578063f010cb2314610906578063f3b4ebd014610926578063fd62e7501461094657600080fd5b8063d547741f146108c6578063dafe0ccc146108e657600080fd5b8063cd88b903116100b0578063cd88b90314610823578063cf34c76814610843578063d2ae21041461088c57600080fd5b8063c7a823e0146107d5578063c7b2370b1461080357600080fd5b8063aef18bf711610122578063c358de0a11610107578063c358de0a14610763578063c416aa5114610783578063c5e193cd146107b557600080fd5b8063aef18bf714610713578063b143044b1461074357600080fd5b806395d376d71161015357806395d376d7146106465780639e94496514610659578063a217fddf146106fe57600080fd5b80638585c945146105d557806391d14854146105f557600080fd5b80632f2ff15d1161021c5780635553fb8e116101d0578063724e78da116101b5578063724e78da14610533578063736c0d5b14610553578063741bef1a1461058357600080fd5b80635553fb8e146104fb5780635c975abb1461051b57600080fd5b806331cb61051161020157806331cb61051461049b57806336568abe146104bb57806352d3b871146104db57600080fd5b80632f2ff15d1461045b57806330bb3aac1461047b57600080fd5b806316c38b3c11610273578063248a9ca311610258578063248a9ca3146103d057806326e67a371461040e5780632de113761461043b57600080fd5b806316c38b3c1461036a5780631703a0181461038a57600080fd5b8062bf2e80146102a457806301e33667146102f857806301ffc9a71461031a5780631095b6d71461034a575b600080fd5b3480156102b057600080fd5b506001546102e0907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561030457600080fd5b50610318610313366004613732565b610967565b005b34801561032657600080fd5b5061033a610335366004613773565b6109a2565b60405190151581526020016102ef565b34801561035657600080fd5b50610318610365366004613732565b610a3b565b34801561037657600080fd5b506103186103853660046137c3565b610bcb565b34801561039657600080fd5b506005546103b79068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102ef565b3480156103dc57600080fd5b506104006103eb3660046137e0565b60009081526020819052604090206001015490565b6040519081526020016102ef565b34801561041a57600080fd5b5061042e61042936600461380d565b610bf0565b6040516102ef9190613828565b34801561044757600080fd5b5061033a61045636600461386f565b610c77565b34801561046757600080fd5b5061031861047636600461388c565b610d5c565b34801561048757600080fd5b50610400610496366004613916565b610eb0565b3480156104a757600080fd5b506103186104b636600461398e565b611027565b3480156104c757600080fd5b506103186104d636600461388c565b61106a565b3480156104e757600080fd5b506103186104f63660046139bc565b61109c565b34801561050757600080fd5b50610400610516366004613a43565b611268565b34801561052757600080fd5b5060015460ff1661033a565b34801561053f57600080fd5b5061031861054e36600461386f565b6113df565b34801561055f57600080fd5b5061033a61056e36600461386f565b60046020526000908152604090205460ff1681565b34801561058f57600080fd5b506002546105b09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102ef565b3480156105e157600080fd5b506103186105f0366004613a99565b611484565b34801561060157600080fd5b5061033a61061036600461388c565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b610400610654366004613acc565b6114c9565b34801561066557600080fd5b506106c361067436600461380d565b60066020526000908152604090205467ffffffffffffffff81169068010000000000000000810461ffff16906a010000000000000000000090046fffffffffffffffffffffffffffffffff1683565b6040805167ffffffffffffffff909416845261ffff90921660208401526fffffffffffffffffffffffffffffffff16908201526060016102ef565b34801561070a57600080fd5b50610400600081565b34801561071f57600080fd5b5061033a61072e3660046137e0565b60076020526000908152604090205460ff1681565b34801561074f57600080fd5b5061031861075e366004613b7a565b6116a5565b34801561076f57600080fd5b5061031861077e366004613bbc565b6119b5565b34801561078f57600080fd5b506001546105b090610100900473ffffffffffffffffffffffffffffffffffffffff1681565b3480156107c157600080fd5b506104006107d0366004613a43565b611a63565b3480156107e157600080fd5b506107f56107f0366004613bd7565b611c41565b6040516102ef929190613c45565b34801561080f57600080fd5b5061031861081e36600461386f565b611e51565b34801561082f57600080fd5b5061031861083e366004613c92565b611ef5565b34801561084f57600080fd5b506108777f000000000000000000000000000000000000000000000000000000000000006581565b60405163ffffffff90911681526020016102ef565b34801561089857600080fd5b506001546103b7907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b3480156108d257600080fd5b506103186108e136600461388c565b611f46565b3480156108f257600080fd5b50610318610901366004613732565b61205b565b34801561091257600080fd5b50610400610921366004613cd8565b612191565b34801561093257600080fd5b50610318610941366004613d43565b6121cd565b34801561095257600080fd5b506005546103b79067ffffffffffffffff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561099181612442565b61099c84848461244c565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610a3557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610a6581612442565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16610ae3576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610b5357600080fd5b505af1158015610b67573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb925060600190505b60405180910390a150505050565b6000610bd681612442565b8115610be857610be461247c565b5050565b610be46124fb565b63ffffffff8116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610c6b57602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610c3c5790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff1615610ccc57506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff161580610d42575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b15610d4f57506001919050565b506000919050565b919050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480610daa57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80610dd457507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b15610e1757303314610e12576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ea1565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103610e6757610e127fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775612442565b6040517f94fdc372000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b610eab8383612552565b505050565b600083610ebc81610c77565b610ef2576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a16602080840182905267ffffffffffffffff808c16858701528a8416606086015260055468010000000000000000900416608085015260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660a0860152600092835260069091529084902093517f7bfa20a9000000000000000000000000000000000000000000000000000000008152929361010090910490911691637bfa20a991610fda918591908a908a90600401613dc1565b602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b9190613e8e565b98975050505050505050565b303314611060576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610be48282612618565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756110c681612442565b60005b8281101561122957368484838181106110e4576110e4613ea7565b9050608002019050604051806060016040528082602001602081019061110a9190613a99565b67ffffffffffffffff1681526020016111296060840160408501613bbc565b61ffff1681526020016111426080840160608501613ef6565b6fffffffffffffffffffffffffffffffff16905260066000611167602085018561380d565b63ffffffff1681526020808201929092526040908101600020835181549385015194909201516fffffffffffffffffffffffffffffffff166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff61ffff90951668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090941667ffffffffffffffff909316929092179290921792909216919091179055506001016110c9565b507f7dd21e42791b013d1929e86f0c59085e4fca24251f0f1aa81917b3b1611766e0838360405161125b929190613f11565b60405180910390a1505050565b60008161127481610c77565b6112aa576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808a16602080850182905267ffffffffffffffff808b168688015289851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517f7bfa20a9000000000000000000000000000000000000000000000000000000008152939461010090920490921692637bfa20a99261139392869260040161401d565b602060405180830381865afa1580156113b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d49190613e8e565b979650505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561140981612442565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b3033146114bd576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114c681612818565b50565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6114f581612442565b61150560a086016080870161386f565b61150e81610c77565b611544576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915260025473ffffffffffffffffffffffffffffffffffffffff16815260009060208082019061157f908a018a61380d565b63ffffffff16815260200161159a60808a0160608b01613a99565b67ffffffffffffffff1681526020016115b960a08a0160808b0161386f565b73ffffffffffffffffffffffffffffffffffffffff908116825260055468010000000000000000900467ffffffffffffffff166020808401919091526001547d010000000000000000000000000000000000000000000000000000000000810461ffff16604090940193909352929350610100909104169063df2b057e90839060069060009061164b908d018d61380d565b63ffffffff1663ffffffff16815260200190815260200160002089896040518563ffffffff1660e01b81526004016116869493929190613dc1565b6020604051808303816000875af11580156113b0573d6000803e3d6000fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756116cf81612442565b60005b8281101561099c57368484838181106116ed576116ed613ea7565b90506020028101906116ff91906140f3565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000006516611735602083018361380d565b63ffffffff161461174657506119ad565b4281606001351161175757506119ad565b6000611790611769602084018461380d565b611779604085016020860161386f565b6117866040860186614131565b8660600135612191565b905060006117a5826107f06080860186614131565b509050806117e8576040518481527fd6d90193101048cc1b6edcdc2348f5acf7a4a4a97d3e7b668b74cb7602ab3ebc9060200160405180910390a15050506119ad565b60006118086117fa6040860186614131565b61180391614196565b612930565b905080156118a15760008381526007602052604090205460ff1615611869577f9bb9bddbdf537a2104255307230b323d7982f4512ee8e5bd15df62ddca50ab978484604051611858929190614242565b60405180910390a1505050506119ad565b600083815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b6000806118b4604087016020880161386f565b73ffffffffffffffffffffffffffffffffffffffff166118d76040880188614131565b6040516118e5929190614308565b6000604051808303816000865af19150503d8060008114611922576040519150601f19603f3d011682016040523d82523d6000602084013e611927565b606091505b5091509150816119a657821561196c57600085815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b7fdc8cdd96296241bbefda4a8e18ad2e0985a8da6495b34d409cfc4c886ee3b0cf878260405161199d929190614318565b60405180910390a15b5050505050505b6001016116d2565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756119df81612442565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d90602001611478565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de611a8f81612442565b82611a9981610c77565b611acf576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808b16602080850182905267ffffffffffffffff808c16868801528a851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517fdf2b057e00000000000000000000000000000000000000000000000000000000815293946101009092049092169263df2b057e92611bb892869260040161401d565b6020604051808303816000875af1158015611bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfb9190613e8e565b93507f87e46b0a6199bc734632187269a103c05714ee0adae5b28f30723955724f37ef84604051611c2e91815260200190565b60405180910390a1505050949350505050565b6005546000908190611c6a9068010000000000000000900467ffffffffffffffff166041614360565b8314611c7c5750600090506001611e49565b6000611cd5866040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506000805b60055468010000000000000000900467ffffffffffffffff16811015611e3d573660008888611d0b856041614360565b90611d17866001614377565b611d22906041614360565b92611d2f9392919061438a565b91509150600080611d768785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506129cb92505050565b90925090506000816004811115611d8f57611d8f613c16565b14611da857600060019850985050505050505050611e49565b8573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1611611def57600060029850985050505050505050611e49565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205460ff16611e3057600060039850985050505050505050611e49565b5093505050600101611cdb565b50600160009350935050505b935093915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611e7b81612442565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e090602001611478565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f1f81612442565b63ffffffff84166000908152600360205260409020611f3f908484613652565b5050505050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480611f9457507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80611fbe57507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b1561200157303314611ffc576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612051565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103610e6757611ffc7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775612442565b610eab8383612a10565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561208581612442565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16612103576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f07b18bde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906307b18bde90604401600060405180830381600087803b15801561217357600080fd5b505af1158015612187573d6000803e3d6000fd5b5050505050505050565b600085858386866040516020016121ac9594939291906143b4565b60405160208183030381529060405280519060200120905095945050505050565b4281606001351161220a576040517f0bbaf26300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3061221b604083016020840161386f565b73ffffffffffffffffffffffffffffffffffffffff161461229157612246604082016020830161386f565b6040517f1ce0bfcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610e98565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000065166122c5602083018361380d565b63ffffffff1614612318576122dd602082018261380d565b6040517f2697e1c200000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401610e98565b600061232a611769602084018461380d565b9050600061233f826107f06080860186614131565b50905080612379576040517f15ecadee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604090205460ff16156123c5576040517f9d6a45a600000000000000000000000000000000000000000000000000000000815260048101839052602401610e98565b6000828152600760205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610eab907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759061243090860186614131565b81019061243d919061386f565b612552565b6114c68133612ad5565b73ffffffffffffffffffffffffffffffffffffffff831661247157610eab8282612b8d565b610eab838383612c93565b612484612d01565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612503612d70565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336124d1565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156125af575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b1561260e57600180546015906125e7907501000000000000000000000000000000000000000000900467ffffffffffffffff16614426565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610be48282612ddc565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205481151560ff90911615150361269f576040517f58c8d2a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201528115156024820152604401610e98565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055816127115760055461270c9060019067ffffffffffffffff1661444d565b612729565b6005546127299067ffffffffffffffff166001614475565b60055490915067ffffffffffffffff680100000000000000009091048116908216811115612797576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808416600483015282166024820152604401610e98565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff84161790556040805173ffffffffffffffffffffffffffffffffffffffff8616815284151560208201527f863d338cad74814b108a06288ad5e0e80d56495e0332238b1d2cdcfa0ca8e5ce9101610bbd565b8067ffffffffffffffff1660000361285c576040517f5f86e17700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055467ffffffffffffffff9081169082168110156128bb576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808316600483015283166024820152604401610e98565b600580547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8516908102919091179091556040519081527fb600f3cf7f38a4b49bb0c75f722ef69f7e3e39ef3bb4aa8207fd86e724a2324990602001611478565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0223536e0000000000000000000000000000000000000000000000000000000014801590610a3557507fffffffff0000000000000000000000000000000000000000000000000000000082167f704316e500000000000000000000000000000000000000000000000000000000141592915050565b6000808251604103612a015760208301516040840151606085015160001a6129f587828585612ecc565b94509450505050612a09565b506000905060025b9250929050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015612a6c575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b15612acb5760018054601590612aa4907501000000000000000000000000000000000000000000900467ffffffffffffffff16614496565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610be48282612fbb565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610be457612b1381613072565b612b1e836020613091565b604051602001612b2f9291906144d8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610e9891600401614559565b73ffffffffffffffffffffffffffffffffffffffff8216612bda576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612c34576040519150601f19603f3d011682016040523d82523d6000602084013e612c39565b606091505b5050905080610eab576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610e98565b73ffffffffffffffffffffffffffffffffffffffff8216612ce0576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610eab73ffffffffffffffffffffffffffffffffffffffff841683836132db565b60015460ff1615612d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610e98565b565b60015460ff16612d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610e98565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610be45760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055612e6e3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612f035750600090506003612fb2565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612f57573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612fab57600060019250925050612fb2565b9150600090505b94509492505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610be45760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610a3573ffffffffffffffffffffffffffffffffffffffff831660145b606060006130a0836002614360565b6130ab906002614377565b67ffffffffffffffff8111156130c3576130c361456c565b6040519080825280601f01601f1916602001820160405280156130ed576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061312457613124613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061318757613187613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006131c3846002614360565b6131ce906001614377565b90505b600181111561326b577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061320f5761320f613ea7565b1a60f81b82828151811061322557613225613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936132648161459b565b90506131d1565b5083156132d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e98565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610eab928692916000916133a6918516908490613453565b90508051600014806133c75750808060200190518101906133c791906145d0565b610eab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610e98565b6060613462848460008561346a565b949350505050565b6060824710156134fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610e98565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161352591906145ed565b60006040518083038185875af1925050503d8060008114613562576040519150601f19603f3d011682016040523d82523d6000602084013e613567565b606091505b50915091506113d487838387606083156136095782516000036136025773ffffffffffffffffffffffffffffffffffffffff85163b613602576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e98565b5081613462565b613462838381511561361e5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e989190614559565b82805482825590600052602060002090601f016020900481019282156136eb5791602002820160005b838211156136bc57833560ff1683826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030261367b565b80156136e95782816101000a81549060ff02191690556001016020816000010492830192600103026136bc565b505b506136f79291506136fb565b5090565b5b808211156136f757600081556001016136fc565b73ffffffffffffffffffffffffffffffffffffffff811681146114c657600080fd5b60008060006060848603121561374757600080fd5b833561375281613710565b9250602084013561376281613710565b929592945050506040919091013590565b60006020828403121561378557600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146132d457600080fd5b80151581146114c657600080fd5b6000602082840312156137d557600080fd5b81356132d4816137b5565b6000602082840312156137f257600080fd5b5035919050565b803563ffffffff81168114610d5757600080fd5b60006020828403121561381f57600080fd5b6132d4826137f9565b6020808252825182820181905260009190848201906040850190845b8181101561386357835160ff1683529284019291840191600101613844565b50909695505050505050565b60006020828403121561388157600080fd5b81356132d481613710565b6000806040838503121561389f57600080fd5b8235915060208301356138b181613710565b809150509250929050565b803567ffffffffffffffff81168114610d5757600080fd5b60008083601f8401126138e657600080fd5b50813567ffffffffffffffff8111156138fe57600080fd5b602083019150836020828501011115612a0957600080fd5b60008060008060006080868803121561392e57600080fd5b613937866137f9565b9450613945602087016138bc565b9350604086013561395581613710565b9250606086013567ffffffffffffffff81111561397157600080fd5b61397d888289016138d4565b969995985093965092949392505050565b600080604083850312156139a157600080fd5b82356139ac81613710565b915060208301356138b1816137b5565b600080602083850312156139cf57600080fd5b823567ffffffffffffffff808211156139e757600080fd5b818501915085601f8301126139fb57600080fd5b813581811115613a0a57600080fd5b8660208260071b8501011115613a1f57600080fd5b60209290920196919550909350505050565b803561ffff81168114610d5757600080fd5b60008060008060808587031215613a5957600080fd5b613a6285613a31565b9350613a7060208601613a31565b9250613a7e604086016138bc565b91506060850135613a8e81613710565b939692955090935050565b600060208284031215613aab57600080fd5b6132d4826138bc565b600060a08284031215613ac657600080fd5b50919050565b600080600060408486031215613ae157600080fd5b833567ffffffffffffffff80821115613af957600080fd5b613b0587838801613ab4565b94506020860135915080821115613b1b57600080fd5b50613b28868287016138d4565b9497909650939450505050565b60008083601f840112613b4757600080fd5b50813567ffffffffffffffff811115613b5f57600080fd5b6020830191508360208260051b8501011115612a0957600080fd5b60008060208385031215613b8d57600080fd5b823567ffffffffffffffff811115613ba457600080fd5b613bb085828601613b35565b90969095509350505050565b600060208284031215613bce57600080fd5b6132d482613a31565b600080600060408486031215613bec57600080fd5b83359250602084013567ffffffffffffffff811115613c0a57600080fd5b613b28868287016138d4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b82151581526040810160048310613c85577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b600080600060408486031215613ca757600080fd5b613cb0846137f9565b9250602084013567ffffffffffffffff811115613ccc57600080fd5b613b2886828701613b35565b600080600080600060808688031215613cf057600080fd5b613cf9866137f9565b94506020860135613d0981613710565b9350604086013567ffffffffffffffff811115613d2557600080fd5b613d31888289016138d4565b96999598509660600135949350505050565b600060208284031215613d5557600080fd5b813567ffffffffffffffff811115613d6c57600080fd5b61346284828501613ab4565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6000610140613e39838873ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b613e7a60c08401875467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526113d48184018587613d78565b600060208284031215613ea057600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80356fffffffffffffffffffffffffffffffff81168114610d5757600080fd5b600060208284031215613f0857600080fd5b6132d482613ed6565b6020808252818101839052600090604080840186845b87811015613fa25763ffffffff613f3d836137f9565b16835267ffffffffffffffff613f548684016138bc565b168584015261ffff613f67858401613a31565b168484015260606fffffffffffffffffffffffffffffffff613f8a828501613ed6565b16908401526080928301929190910190600101613f27565b5090979650505050505050565b60005b83811015613fca578181015183820152602001613fb2565b50506000910152565b60008151808452613feb816020860160208601613faf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000610140614095838773ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b6140d660c08401865467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526140e981840185613fd3565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261412757600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261416657600080fd5b83018035915067ffffffffffffffff82111561418157600080fd5b602001915036819003821315612a0957600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156141d65780818660040360031b1b83161692505b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261421357600080fd5b830160208101925035905067ffffffffffffffff81111561423357600080fd5b803603821315612a0957600080fd5b6040815263ffffffff614254846137f9565b1660408201526000602084013561426a81613710565b73ffffffffffffffffffffffffffffffffffffffff16606083015261429260408501856141de565b60a060808501526142a760e085018284613d78565b915050606085013560a08401526142c160808601866141de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08584030160c08601526142f6838284613d78565b93505050508260208301529392505050565b8183823760009101908152919050565b8281526040602082015260006134626040830184613fd3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610a3557610a35614331565b80820180821115610a3557610a35614331565b6000808585111561439a57600080fd5b838611156143a757600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008660e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660048201528360188201528183603883013760009101603801908152949350505050565b600067ffffffffffffffff80831681810361444357614443614331565b6001019392505050565b67ffffffffffffffff82811682821603908082111561446e5761446e614331565b5092915050565b67ffffffffffffffff81811683821601908082111561446e5761446e614331565b600067ffffffffffffffff8216806144b0576144b0614331565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614510816017850160208801613faf565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161454d816028840160208801613faf565b01602801949350505050565b6020815260006132d46020830184613fd3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000816145aa576145aa614331565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000602082840312156145e257600080fd5b81516132d4816137b5565b60008251614127818460208701613faf56fea2646970667358221220b69fbeb30e38ef1b4b202031c8b88e5d5b004563c7ff42713ed413ed4f4901a664736f6c63430008160033005820027c07854b1e074e4cd795e5927382804215f500835f1c2ff556bd83b45cca144a2ee00000000000012cc8005820024f786969bd4bf6675c8bb78f8906897622ec61f66551df026af4877d15cb194a2ee00000000000012cc8005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db04901000000000000000100582002dcc63a51b94c16e874f4d0240fb384c95db355c9132a6ae041e4404e933a084a2ee00000000000012cc802188e00582002ebafe07dc2aa5d2bcc7ff1f178b43163a166be6504c172b35e912948312b454a2ee00000000000012cc800582002811e864f0c89966eec41dd76fa2c10cfd4c6233c772c618b51289ee4b96f844a2ee00000000000012cc800582002402947c8e30a12208ef4b971ad8cedbace4ff9d0ce04d33cb962ac116a00e14a2ee00000000000012cc80058200213da7db20c7dc91249f81f0a3ddb9155d05ec282f1ddd07b65e9dc1d73272e4a2ee00000000000012cc8005820028c620ba771945c007f6c04c30ca660147a8b8e0726f13439a2b3601e4224a74a2ee00000000000012cc8005820027b42acc65b7d3053fb7ab9a667b2607fed3db818f6f4696fbf133e5cfbdbb94a2ee00000000000012cc800582002399ece9a3dc5df004ac9d512dbf7c27d4c3ff650ac2a74c8d6b410835f12404a2ee00000000000012cc800582002af9ab19d6edf0c1d6d21215a6e028a982a2cae1adee446ed5a6713838743544a2ee00000000000012cc8005820029875ad6fbdf3c792ae268a1aff79f96dcf92313810a525997aa890c8bcfbdc4a2ee00000000000012cc800582003f457a9fa2882022e588d54110b5b88bcd41d45370d408bf004748bdcfff5c04a2ee00000000000012cc800582003ad25b2c533c28ba409c5b65633af8eb54fc7fad2c466e83ef934553886ea704a2ee0000000000002bf20021901080219f3cc03e73909c88e5e728da4be93fe4e18b0b90c028ef48c10ad81272c52c062dd1483030622ef243d936474969cc05f66f0ac16c80637a42190cb357456e64d5b937bf100582003175eb97bcedc3965d4230c2723740e546f54512d89832f32fa733d4e2ca0204a2ee00000000000012cc800582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace054c03f31fd86a9077785b7bcf6598ce3598fa9111302182800582002b77b68053379de9f2ae1bc89fb24a8639d7c0ff80b7449aece19aab67c3b9e4a2ee00000000000012cc800582002e58de4d73e23bf12029afcdf532901e02f582becb7df724fee6696364877954a2ee00000000000012cc8034489e043c3f768f33e5061b5adcd826e833f363ef57b92bf9323fcd7fadee6a4005820027287182cb1755b233241dccca16f8c92d02af82324c2faee9a6f53c6b6e6324a2ee00000000000012cc80058200259eaf50a6c774ea5b6e01c7f3db616a8ed9978d404b081d09ca75ecab0bc984a2ee00000000000012cc80058200277eee0d211865f3715ce6543323f6fe63221e79a81954ade682b686ee9798a4a2ee00000000000012cc8005820029ebb4a1724983d6cb4336865970552db3a612ac0a375f4778eba3353518e91410103ec42e23a4b16d16559db6d24b9113e4f55e353a555089882e350ca506eb5656e021981ef038b318bae10d6ecdd39b5542d27b3a6fd22aff1d637a957ede2d604735f14bbb2035ae03ab79587e452c11947f3ea70df9e19ac9fa94675e58f3453f86a560541d603902ef6824846fb80c20538310d2f513ba608df3f292c2a29770f36576053617f00582002d4e2092fe70530ea3f5294c6e23862e335271f2d0e4ade57612dd6da1a75584a2ee00000000000012cc8005820026e87cdf4ebd3c9acf6dc1fdde61574014635470dcef3f11c17d01cab07e61d4a2ee00000000000012cc8005820029b4d2a7300119ff5329b0595196f7e1390288b52fa6d739967f38257d6bf784a2ee00000000000012cc800582002e3501f2953ee765f3da0461c5a4df7f1c957354c6a6d3aa1888ab52747b4d14a2ee00000000000012cc800582002a2905cc526bb189b47e943d8722c6ba7e06ca0bfc90bfbfbfe1ed1298ab19a4a2ee00000000000012cc800582002d9c14e137cce70240dbb035b34a46396374e1d736c20d2cec58be494aa6f184a2ee00000000000012cc800582002fac4cf47ec6a88ad371166b2fba16971781a8c10e887b9dea2e2db675390654a2ee00000000000012cc80058200231f62f907faad6a6f641c6ff9e9bcdd05a4c74f43dbd6c4f61522d5751b4ac4a2ee00000000000012cc802193d6403cd45b5aa38ea0c45e69c9ece0c0218ddd79c44840b77d0c7799942880eb8efbe034d3f31db2106d6b7a167ae9c22e0ac15b19e2b9b39ee2be3cef67cc798a056b0005820029c6ae9b03d9f8fc58f31deea742040c8a8b5c6b21179f266a1b635f3233d8d4a2ee00000000000012cc8005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6581f2ee00000000000000000a7b5189bca84cd304d8553977c7c614329750d99000058200272bcbe7c9c6b3db4a866d202e8e59182ec2e691a15d22620c3f84ec5036cf84a2ee00000000000012cc800582002d38d0c12953d46e81ecada4f81f931742243bf6764de7c7f84ed213ac4b7ef4a2ee00000000000012cc8005820021474fbe82cc5e0c011e86051a472802566110f033bc66945ae911b7eeb0ce24a2ee00000000000012cc80058200253844c08cd2472facb18c7b35a91604e6783ea2fb8f78fb51bd1d0bf9b5b3341010219289303ed248d75d7bc9dbe0144c8bd118d38b8296fc01d9c2d973a9824bd937cc4b120037946d1f63941d3e21ee97129a6a79e88c8fa37be87949842272d4278cbd7f978005820020554e41b3ccaa005ccbaad6d25aaa468f6106a8dee737c8317a4e1e3320ee94a2ee00000000000012cc803296606c50fbf10ebe8bf932706c8f11ac34a022a982c9af370fb8906705e412f00582003e8c92d8a3bf137ede37c4b30af9a985b9d33131a2959fda30e161291c668704a2ee000000000003d0900005820037c7d31cb37193858b19567fd59a7750f38f259c8ee7a0be669334ce4debb104a2ee00000000000012cc8005820030e403f3ea2b5321b62da4a5105b26f63ef6428f5256971b633d8de8dd4b8f04101021958000219101203b4927d83b9c70dc840a00d410271fc0f0637f4fee1c7f17167df1cba95b03e220219ffff05581d02d7ecd07baaf8028e83cefc7202601f7343277e6de9c044e8c201ba8d070119463502192050021956f30341eb107fdf01bfb9ebd46299a34008fa1b8c2a712d971a4468b60ac0310fb38803b6a5b66e079ade1308736da87a7a166e28b42f678f09ddb7033969d357dd2f8003b75d81fbe4253676c6a1e96dd2f9283f7f11fb12c4db31051eeceaa2b4a5e712035bca25c9d1b2995c9afbd4d9788bd28f820193614bac9f9209c88959a496ee64033f9906e46efaf7a12dd18947da5e8a61b6538a9c213f10b463f6aea1f1c2aba60362a75d645647b26ac9e755bc980a612e25e6b3b3da28dec8e064545d2809f27803636364ca43715fc20d5c41cf3f04c9b3d570d10556e7a3efe8d7965ec1077a6e0219ffff0320426c1f3a2cb570eb2c9117168a21f711098a30b8f66046eb2769884f191272038f7497a0abfa767cebe068a5ae832c7f04e3360c1ccce2fec6db9a6a2fec7d3b03cbb5bce4338a22d41329ef33e9b536a7cf82631f1eb01388d94272e2a146b523039f27dae7d639131ce8f5197a2d39111b2cc9a02b18d77aa7b300d1ada8a59eca039c0fe62631e5bb4d25551cd491c1abcbf3f7d53b0c587706e15f034726aaf23b0397b450cf87f0e40509c21a5c106e084ff9d719fe12e6ecb3fc7f695b3cc338ea03663827a1d6f57234bfcecb60fa99663172f17be2990d7fbe1e62f9f892a87a49037f6b969e1c75128b0377e72e08943d0839202e8e61e40f1fb09c2365cb6aee81034a9a6ac621a00b298c15ae52795d11608f88aab79e4a1f4829d76ea4e7260da9039b288c7f47ee71619e208787c1d1c0bc050021e170135d58fe87a45f74f2a8e6037d1e73e2f502cf0dc75a657c3773a61863623c7fe9e8c39fc735f8111a369d1a0219ffff0348851b9e15d4c7cb2eec9aa4e474e5b5b7448c20b8fb8a8fc305d740b7e441cb034303f937ea2c650bec2a7417591de0f7089c7a357c7efe28319e651d3f0df309034d5d90834e74f867012b74cba3c8eea718e65c048a0e38e600fc0a7af55c03b903898620e886b7eadc16d3114f4f11f0e0c4b0c092cb21816d03dd5ff003406be7034b3daab73daf205bebdd53f4be46bbd9de1c53d5354159381156e936b64560d703cb254cd182910cf166f88321d19deb51a77e4bd77ff3436713fb9f82cb02ecf903dce3fe3bef9914b7a963079d02eb90fbd853f4993dbb2eb5b330bff46b93d18f03b6cac39958afca57c72e4aa8488994f1cd5f3b86d8be186d030fda57b5cc31310379bc1c0c5410f10aaf94136689e2273bbe70b008eed75ecc5a1f81c3227fac64033b4fa4fb7f8db91b626f4770412d768855c8a4c49fa196da06f2957af91feed90219ffff03ffa37c96944b15fe716333c1015ea9ddab9a18794b238ace0b7055a0641fb98d030b9dc038d3feb20f854f78d904cccdb11d74bc8ae8df59b206430435a61d4f9e03e214e3074d64af1a56fbb0ba24a9785edf909d64fa7a122321674f272d9a693b03df400694b561b70d094252a643b60e2b3aacadbba26b23d5d7a48a0772f863e40354bf6dc390300e9e9f629e1385077e9cc57e2cf93eb183994d1d97c423c5623003e31e3833d1ecea55d8b3c26f884e5183599177a570a65acfe980576dd7b0116e05581e03f8cf3e12f66db3b48356f58cbef24f840f0c653ca0a15ddfb77935b210040403baa44024e543ab27807b4bd26f8f3d3a4933157fafc872ca5ede7f8ae10ad2bd031727abbbcf99397e7c9d7412e0528315639a50429ad240f2fa9161139a43c228031c3a48db0643a046dbeacbf916100bece9f74fa1c1077e251441aff93d9158960389b05e33f329797827142c16c47bb2f1d01760dc519cfe5e1d26a344668ac53d0321b16937b4ba4b27e1004a90b1e674282a29d4516df65bbf90ff5bf72e8a05bd05581e0345cc6a8b8aade914e63b192d4b98a34e0073578a523727ccd7782f61e007011bffffffffffffffff05581e0346ca2e8313d61813ec8f80d4876838bb97c6c4056a9ef3816dee47dbc00c034736f9e4a0052d1405581e038b76d79db20b80d87e9614166b3f0658f6e9ada111f582d0d57ed055b00c182947164eea44dbc43805581e039d73dd3e09662dc4b7b15870ea1bdbafa6b33317de7ce3771829aec3c00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03ed6dd3a6fa195ba984f9bcd983fb3f7028a49d0f694e811fe366eef74007011bffffffffffffffff05581e037389ab6e8e607da6fbee4f46d7f0619b084237acb7f8c222d6f5db12d00c0247457d2a524d340805581e0398925e64c743453a4142e012dc9ac520ce5e1ef737c8f4ece2a3121ea004020219e5fa03a7934d29914539cd01fcf3c4c21f9b7e3b6e79549d65034551512b89f1b397160369777846b9df848103d54fcf74353eac8a5bab788488728c40e585e1fd81a96103edc6eb47d1e88574e403f59f1306a01fafbd70b7b8e365a3967984c4d021336b03eec7e9ecd5d1dc7bc28d99b06451726250b405faa2e02d66cfeb3f98c415f1ab03db266f299743edf1b6cabedd92e837e59633f83b296c957c51256fc4be6cf10b036cb27a31637b7cb2d15fa003b77b03b481689eb98b53e431a09c219d3c4e0987034f365a663f094463f2173f196479db8a01d36f433763f20cf3ab7f2f6bafd8f003243d303f88b3ff7a48b233431dc01b6fc7e6daf6f4879c3fa0dc21046c75100803b444128e2764105c393f3878ca707ab68d183e43cfbaf8db43461357678d96f003256bdcd4801d934cd5d9671d4cee8dffc8febeb95e3cf33d9fe715e33d0425210329f7303f61fd3f11d5c985e0a78227c90a68055a5652422561bfb3d63e597e8a030997bbbf24ee54f3eba82e5dce2dbeb2516d567ea00f328e9db13c86069da0c70219ffff03e7e63088a6352df45d115ab7510a41029fe46aa4b9ef9cc0dc545935c960bd3703d32fb49e87a3fc8fe5aca0be4fd15eab3d3bb1a3977a1c240a70b68800b31f85030b992a71ca8e69a60ee30987584a0d354f37f50b751085cd86d5f9e90be4a6610304fa2ded3bc523e56502b3bb37f91d5f624ea894bc1398899da44c7f112dbd8e03d605f1c945776a78ed9a69f88ff7a2b638ff90cab0720e40f76fc7540b75f8140358185740ffc15d87f2baeb2237069509a5273e86486876eed47c16a92c73a9280318136b3e3e388fd25d047966c033b245a27a3e85786bdf1bc8bedb0a5544326103a61a1b4bf284922023e6977366b030960e979e9502266bf9bf7c4b475254025f030b71fc27aac4d768b95712654615a56fde9f941793523e706afff2c987025ad20359a699470dcb9a18bf1aadd7fd3346e42999a92c7a23721b8d795547ae42a12703dafb03d32086a03859867c2f3d68519bacf5b2b31af296b7ec4b4b01dc9b894f0350d04f886ab21a68475b64a9fa4077a1ff99ad7c07704a918107d7c336dea2da0318bf0001f6e268ed9c4d5ad435aa1fde5207aa1079724819b8668c560b22aaa90219ffff03e37c423998e62d3cac252bb1c6b814dc6b2079206a87c8161faa22a5e918239603573f0b5bae9e050f9efe1da6b57a0864289181b858eed44838bde9bd5fd8f00f039e8354e0172bae7b9dd4c935718c7066058da984d0d21effd3d570d43c1bc1cf0328ac28afcd13dfe7a6996bec9c54aa815699d890f379af825979a531f0a1757d03a015237eeec2a0a75b0c0a2383b5e8df314c6a94e96656197a9d0ad3036848830334fcbcbcf500234eb8e6a532611cd6bb36b27edad3e9d7fb7f5ee9ac05b638cb03ce273002769b74b92853e9f92b3bb6e5bbe6bbd50628e87919f8717376868c5903c1196b244621bfe338436b945faeeba3a659e51fd0eec6c2072523903ec8598703920f3ffdaed25c67048a1b2ad5eeb8fb72f3ca9e83e51f7f34e5bf83533bbe2903ba62207b50388dbbbb4ace9cd559aa3fb0a70488db756727e6fd79519d41601c0370af0b3b6346cc9794651d6f18b554583a3638a513b4708922e1b8c4e6c836c80363fd4b731f61a2e4184d79f7dcdfd60ed7bcad557524d836348c5c1baaafb5a9030e752e78af4bad4cf13dc405de1849e5cf3188e5b625e80c53dfc1a9c6464bf0031aa20fe0a9bfd9051bfbbed8846afc2637878aaf899184f554f8ad426645cb0303a6018accf23d2007462b4687fd4ccb41160af53846010b75a507e49e8a604d89035aa3aae8fba4ca5a708e036875156aab31306a45f8626b245d86597b323e9ee803de0cebe5900218b9b8f9d2e3f83a2388b30b52cd0dc157cc9743613751b4c23c03ec86cabab4375148c5c77b17a0365e6384e75bc153fd32f5204c9eb2d63ebd49033567fde6f20ac817532f7eff61298178a06b98e3ab17dd5fd890f206e973eda505581e03596a0e717f9c8afcbafa6c8483fa764669f5ea58c76d00173e84556120040105581e037f0f574c7ca6ae00035a5ff6b9ec56e72fc925ddcebf72aed826d3d850040103067cb18c8003b05029af8709d5f1b693ad7143b9aefd36e0ef558afe6d65872105581e03b937c7a9a816e8cb0844c0cee07590248c5c4496364bf39512d8cc0b200c034753a483f02a363903433a5e6c1092101b7fe8f1448b0c0f58f86280ad3b6979612dd25c17beaa181c05581e0383e2608a71e4f3ceef7e2dfa007e2b1da71ddff28a86e555c3fe3fb5000c02468d3532bda34003ddf5ed16f4a3633a6d1bb5e6c634f512df27a08490c6299a3306defa3c44f8a205581e03a9f22f794c812c5c8636de41af59530fb5f588fbb8f73c473e40fec060040205581e03fb62e2e96f891bed8f552d32a6df94d31b1159fd395f41b1392e7454c00c01460f8021f6f40905581d02bd157f1a624621f4a6101bc94bceed1880864a7476aaa9d8cc738d1b0c02480371b76346492a5d05581d02eb2645fe142188e965c94a1b810cfba9c7d43a6bf7f56952a6a59c5b040105581d0234b334f8911aba45aaca26f943a48663462f2272e25df44d6183b3cc04010219400305581e033b8261fe3193bc94063f6cad62e9afd6dfbf6a4849da2b036e4eaeaec0040205581e03f81816b1cda90517c68f31f4c62613158a6a9b47666bc924d97f0f74900c014712134f179868000219ed3f037e5dd3f5db76aea9fabe98b56d1f473ab9b28bd1474d10d149609f10f43387b8035ccb8bf4eb6f9d6ff2ed1bb72717b5f6b57aaead4d316760fe1336437331cc6f03e62db7accd304be909177f82014f370fcc86ca0019bd9252c741bb3c4aa1a2f30380c80a9747740330dcd94851c9e9c20c353ed561f98ca10f61495ed2ca1d9ed403e840cbf65d64c3bd18f2ca82383853c3efe1f26ab4a2c933416cb15eed849850032169d123c1483997d0b9d46c346cad691e33840c2fb5c05ed2f42793ed10194e0332424d18db212613a250ed5833e781c3bc6d18240025f217630a010c0b01727d0219ffff03ac6db8afb6afba4c9abb95306f1051356514ac57b23af3f5f36db617e03a328303d42544ae7bfbce5d2fb0ccb80f849d5811d6d3499fee027f9e9d2cdf07314db603542e192a667a76d939a10f3a3a3285e4f5cf3e8559759b2e3f65ac1a4f0da4290354f5f90349d83b8f88a6a15d7e9fec1688d400ad95ca390ac9c1e5990ad10e0f0330cd661da70af7a8ff4ecafb59284ceb98e847ebb91003132599014e6b32299d035386e0ff400c37a276bbabb78a3cde70d2b6dce2db50a9236c264308beb3af1b034bfd124cd9a59f411e37c38f84ec9a2d430ee09ec7d337fb70f92373300133d3035c8fcc60d81a410e3f5d9d5377e5d8a2a57e549e82ed7b8ef9feb22e6be5fe44036ba63d62dc43847297aa16b56547ec74ad0eda2b6c1a307d1e7e95e43ea8f9b5033cc613f8c0e9fb0189fae90d8544b21c6f199f1c0dbe88ce6c54857a43f67f480219ffff033920b57da4af55c791a9a0e32a22d3835b85061ddf784dd7e0b017196a8a8897031ab2c41251bc19609aa6facde57b9e4baadb986641ce4063704074ea9135eb0303c2c4eaafd8f493d5b3303f8df5ad38b1392af55a97c1f9ff100655a438bbb97103ec5750be46a199f0e2a803ba55335f88462665d6feaf632ee919bc126a21413c035b638e0480f89282a25c1795dbb50064aa3d278bd89efa5836f5f0d66c69393203b2d6c5c19ae838a3c69b7b9899535792dbd47be9c13a634b135d3c50bc80e903039fe3b8400cf521f2ef8a3f9661d47b6fbc16492e9423ddf5ba016ce5feac2a140219ffff036ec59c980420992afde30051694477f598f31342d4c4564a9544f982a7999b3403a6d9b79c277c3afe3d3eefdfcfe8c857791f7ceb6dd3b2b923acd42e1a36bc94034a84792989497096c9c12a8367384e04428909399c3b46bd8f268e516e9b635f03fdf86c70767becca8d9836a2f42ebee77bc5bc4c6543981ed489812cccb1d48d03d061ad1696910ae8225cc5f27aeb5c10d1268b68ebc8b658809311567866329003802ac60a3a314d2e187ce2787d6d200395743fcb4645bf8ce6e53da1c6d3b54603395df4e1b30192d639a94cc1f5dea388998dd6e1c424287fb85bd87fd4d8803c0219ffff03467391bf72373c1c7976573152113b1ea6e13b9889feeb75cdf9c8f05f9893e9032b4035ec676948ed1201d1584c4e08bfc7060f383a1f67061c7484b6d96bfdaf03cb42e0d2ad4f706dc5626eecf5754bd231829f8e14a340390280f8660654c7ec03219a7c82f13851290f4d10e53331d461cadd4c3099a4d4bdbf90abc29676166c03a942bb81389ba34801d258f6870ae80e68d4508fada86d363bd461975385c2f903b0a43983a9e94ee5adec0012fc7cd427405b14024d0027afe76bd2d3bfa8b511033de2dace6c564b98df2f1f02d1e8a236fc9626f0bd2e762057612d85fb0149d00352f6e8a8f4ba89ce630977860ec2dc9cd233e40e539f1e3de9f8b7899994199503e86c1974bf6255cf92c900dce4cb81039a57386e1471fe5d6a42531e0f0ae59703b0f2e21f749059f58bab19bc2aa9368f9ff9f92658d41083516dcab550d7b1f1037d222dbcab32395130fc5873ec96d72bc3245478d82b98c5fdbe18954178bc4303484aac1abadb2c8704586bf4c2b1a762dc1f543a798d0e96067326e0c2ad759d03e32fe2f9a446b9100e66fcf109efdd5b19d3d13e96dcf225edc3261fb290f5f403c5988642b69925e71ddbd6a114e0143a5f287bb7df9d551706a08ed26ce0c8c603cf88af189ba92ba7a11542e34702cbb388a247338d07e0a23678ab80c02dce5203918d69e91604126d139ee20e3907763742641994958daa82b7bc424765b8935f037a6579190a20dcd61a148e25385f19b4c58aabcb78baf79bdb01f108cf17626c036953435d3c825ad2182a6f98e7245051bcc27d3aa16e221c124bf531739a5519037b126b8e399a4699a079284b97a17c5876c032b8a1e3f85c095d6dd0b294aea503ad320d39f4a51ba4bee0b61e585c8c8e37fd1dfeefe17b5a052690cae6c9117603140073fca0dda983980a2f99371bb3cff256726813d8f962761790776f83730e03820a481a4f3e1369b5c10a948b53f0a0eb4508e679a3b7f4af86594da280eb34030ce7d1553a7b2f2f38f2c693b00cfe8bf5294bef51b3f4d4554221a8aeb9ddb203b5ff51b58fa2e997a453606f974bf656de66f8d2c3898f9b489d58db7ef2bacc031964220c2aa09e05061782c2ccc8d2757778aea7c0f3ba283492a9a03ff3429f0334fa9ce072fbce07ef15abfb030ca1d302f6a4a771f4b9f05822438f85cbb9af05581d02689d9f17130b7bdba4b4720e8fe3b0191892f14a9913fb123846b96f0c0b48063e44ec33472ef005581d0235cec6288d99e3443b9db726989fa4903309fabf8010d6447f69d99f0c18c946740e1f873da8021912000398c6e0fab9df37e4409be432089061796406b48c7cb122d3dc9ca4779d4796c1039dc46181ff710ef8fdee3a6da07faad226b2d8e228f95a6d5749d66be5bb520905581e03288d865b940e4410b6951cf0389d5bc15f4e32e24e5a284c8eeea310a007011bffffffffffffffff05581e033a216888df1b443ad3af58b1805403d52b240866ded50f0cd3b8b8e2a004010342660bfafa5faa57826f8b36ed3854b2e7c436f6633fc223b74b7da6cbace6750303bbc41a9158df497e3f0f9df6c9a152d6c731e2e4d4efbfa73da294f6b4968f05581e03ea55fe44d99f43bf77ec85072579cdb41b4ecfd2a891d5c82d4c2dc8e00c08470a8e274cebf9bf05581e038a423993207d407ea80884fc0fdd08eca9482ea835b7ac4f76cf02ff900c0147020b91179fc98f05581e03df3d115c7dd78eefd5333cd379bfb493cc53f0bf250c42a6a0efbb8560040203d340683cd6bc1f1c78ec8464cd8d522a198baf1018be5e25714d59815c63379a02192acf03bd91c0c2d4e065c8898a7586cae082f13c2b0b2e1e40001a1d1e69a1a617e956037f59bce5492f0c5fc8614dabe85ad5e8ce72ca83c0d25a58c82dab5d519ae8f403e526067c11fb5d3a055a30333df730769d54e65e02aff5115f0b0958237d135c031d75676192b23bc0eac62e588d0429abf1e5023d48b01ceeea7588bd69102dfd0380cf4a978add2a830481fe58e267231c0b6853477bd8d0f0105dfd7feb43bfee0355c5b7c7c9080593da831a8ae1e8552f3e7f568cc8974bbf74dc656ac0ab34bb0385b1e9a06b7a571da85a2da587a00366891680635d89da54b3c5fb1eb2aa9a4e03bca3bdcad17be21a7fe360d55e7b1dd2853fa1fa219c2e223c98e3aed434f18703572d5f2abeb97338fdd3f9bce45241e733b96b884fe3e1cd36907d1ff18f7c1703f73b4465ab5929ea8b56c62dcd03e5ffb97deda13645e248deee69668781ec88037ac89bdabc929c7ab9c58740c586552c68d267d030c8f53a94ebd4211f92563a030c43c6657fb12fcd74883d547d61160f22ac6830639228757a2dd7530b327b8d03c1ebba0e7e1a6e9fb8d389c44974b08424dd80a7b00ec5c5abd0e1cd8ba0a6eb0219ffff033ba2d06088c99ac4ad3d6a5e6b79a35195f27ae35f3103faa96312a6deef5238038edabfa34fa3474ec52c5bcc37032cf70a00fe38967b1a0cf9b33069a787ace103db5c658377af4e915b5ae8e48b5b97b18adff3bad73d78343700055f86fa96e803b771c3bbf2542ad9e9e6cf23af6520196bd1afdd47dc250952117c22292776680339ee52762b10170d17d7ac55e23918d0704afeb45e6ed91d155179a9dbbd7d5903ccfaca9fffb6aec146f5907c17b626e436f65954dde1367df66b7bcb018f98f80219ffff03274cbd6dba4cfc248a9221fca56d7b203dd784702b6c70c8b4d0b346f1cbb0280219ffff03c935996198134a3bb320f39267c34a40b2e366f6d2ac093e17a6641cfb6017ea03553bc5620eb9774b9169677646c3bb4d84cde95be5b78967d7ac12e7858bdcaa03c0bf938c961bfc95b20315cb113fa3f2526e67e10efea6390b5d4c63fd8e125d03c96d58a172015a023eeb65991c38a984f18f6de0ddd3d8e57ef04f8a356ac311039624ad9d92e434db9d5da99e619b81553865a7a2c6d2b2e00f97cdfd6259c18d03514ec15a9a77fc1604693eb167729ff04a3aff4dc57eeb1f911e1bbbf0cf642b03082590a03ca9db12431dbabd1d2912a8f9c48ee59c59351fe4c4fc08e47ecf30030e83a56b2c7811f08c8d6e3729dba61f958d9029794bcdba268ceffcef2b3ec6037f6cc90d0bc300efb9903bd53cc9c5f0c8e18e0852df6476ba5936a9f9c6b29503bb818288c122e2d54185f98eb5d827ae2d68cd14cfbc1ec951f5931a6a19575203421de6cc966ca94c09a93c348ab82ef3786dc756c47bd837f8458ad20e100f0003d1e89884df353832b9ae157de2efcb48516fae7060cb7f5b3302922288f925830353b92c3454f3fba289d243f626340ca917593c77cd1490c3313203ff78eb5c9c03197586e1557d6cd1e591d49048a4319a4b415176c13bb5a7485b68614b2276c90320b00a6f5c58df5a047e5a82271700527296667806faf9b8754eabf75211ffc1030d5a5cdadeeab49f3919d23f775bbaea94e2a745648ab67a2919e48270c5bc46036ff0dc8b81eb3e4f47d81ceb5dfbb438b7ddae3e1dc2aa91cc4105568aabda7403b8f2c8a308458c669ea4871a06e968e46d1973cc6084fd8c9f293d1e5969791b036b07d8771f0efc519130e728523a801de528c758890d5fc81656f2d2a6ea58a703cc86da4302e20cbaf4cbd0393ab4060904864fc0c074e3e6fac6d5af866d064e0329c7beef9c2a58677d2f9da0e3114b66ffdeb951ec518f29566cfccb5f263837034cfe3bb14410fef6e94f10e9fb27a9c888c8c726591d9b8c1abf92ff9c3d7d1d033b6f431fc1b36468470341737d69681e69f5c1d8fef6141af7988dca5a3c3046037bfaa68bdc4f15c056beafbd6f209e32189d3f5995a87941516a1fa43a1b2ee10356dc8e232ee46c8763d92655025ad358520c3a17165c430698e660fe4156ba29031d8e9aed608adaf5af1cd7e7dc95217ce6eb9bea62795f32a69c7af8accbb76303858c28b7c70b5639812983a6a76663423ee2b1b7004caf863888925a47e1b5e703669892f3d8153bb053e1f1966dbd8c60e30037f36d276fcfd2bb196c4d231c7803bb80c53583c3fce56b84c63f8fd475df00bea60463297575c9c824931214b80a03a8400ebe15cadc93e8568698fd0b85c500a04e12f59504791509d561fcde1c4905581e03dfce05982605c8db601dcaf9af943af7a212e1c169ceafdbf4903fa750040103ddc2429231cbcb1c929dfde981a29653f893fd2c938174650a489e4668b2679605581e03b7999d19ad226490d4c213f79763c0bb476a4292b8479891ec71136dc004030318ea7bbc288f344570e9b653da53defa7e500d04f80143312fc7e8856452c6330350d2a2208b46e882f78eef8699ae30da3df95d6f383b5e00a3dfb850631d983405581e038935fd988062d112a4ad763f7fb13340728768fa7d183e156d9a220e90040405581e03f1e61ea47bb2d110618fc2b710d46b658c3792a40ba0bfe5de2125e2f00c084703d96e2388f4a00346fc160e5af5680099d2c80a4d711265ad2a226a7a3c81ddf7f2338ff3db0a7803d9459562f25bbc4689d02921fa2245b5099e7e4d2f0bbc9f73a281cc1e89f46c0334cf0ca8b32f8c83e66ebe7f70d18983cbbd489a92d1e3c769a1abc23acfaec004582d363d3d373d3d3d363d73b61915609e6dc7a7261b678073c53bac5875a8b45af43d82803e903d91602b57fd5bf30058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0541e4746dc744503b53b4a082cb3607b169a28909000582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0410100582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b044692b89000058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68804a11a5b0f07da2a6e6d6e00058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054408505ec4bb812b9b649a653390a7b683cea3d5400582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b446387ee80005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a854b7be82790d40258fd028beef2f2007dc044f345902184400582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee344692b89000058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f4a234b04a2777d0408ee0002184802199d5005581e039c33c899ff4822ad851dd55d02de60a0f45d7bd20b0896ed49d8e886800701182d0219f95703b6d61979cb081c8fc88bcaec98311405159f6df157b58484f85bb05d0d2309a303bb65fd530ffbf18717a5b5b900a286de7c05eed1f62a8c572860f80a8e397bc40219ffff03619d73fb9918df7c216c0d5ddeafe0cb5cb9e612824953ff0f18212beace4ca003ec3e6a8165aba15d8c1a4dafe305d0dcdc21245b2598623ce70a40d0f42b5054036b860ca67efd12cf3cb928e0b155cd9ad8d92fa6f8a6427c82b31cadc6f56ff2031abb3efe9ab549b03234657639d581072ece64cefff85b7bd04bcb57cfa1a10c03f995a6f1742d99e0477b13a8724eb620e227cb8d007dbde9f048b0911f8e3176038373346aa86af9b7305e0f3f604c30a16ea7dda66edbaf2103e7c71f3a11426303bd3ae5875a35a64f0d18ebdfd9abbf3c46e7e39b72fe5586a3c39cd456d396ec0331c2b353edbf4701f0d5327398aae0531014dadb24d59ca52681403e4956a5f703f5fe2a689eb792467b1dce4ed996889db4db6cff1db20689c09aa086b24d933f0393146549fe4cca37d8ec2bf7149525bb63acab1739fe9441a21057ab9fb8d6f403f17ee5fa0626461cb0054c5511b9f4633fd4ef19d83e7947b834ccac9ed226c00219ffff033ba1c8d2b8409bdedc7b67a1332094010b0187a108ba740dd221d897bd74a9120308c63c7355b9b1504d26ba940b1e072f0404552ed5fcaa17cd437c6d7b968968031dbd9cf71e39ff42cbd73b5e58e4dffff559afda19f7428ea1ed6b0432ae584c0219ffff0322c907cd6ce3f9f5e9bf8dd60c517407d51f3f828035061f51dd410089a34cc603e7298e715afcb33606073779a0f5acc1a10b5e9ea77f1da215a56da9d785518e0370c9bb49cabbd93a83ce297e5050521fbb13cb156eaf8a56154c10a208d0a17303732e91f769ea6c23d4697abf693573564b9fcca964abde963a1f6f8753432e9a0399ce85a1dd043baf763aa6ac4599e007f369a991958ee47274c1e16828103d810394a6e7e580c9d11c10bd3e3a621e95e73f9969c90567f4484ab1e6855066d464033c433072e044c4d95fd219e7f9439602bb2d0eaab39c65f695a8a86f43806da603ba2400081c81a26639be98a9230ea4025216e17258e241067c00353068c042a503e79fa73b0790c1af860f07127b509826c62da130932ea714ec800b7643ae54610312335667751b785b59f5f610643adb60c8ae07b196efd68db69d1887633fad0e03173fcba5f98e95a4ebf68588ebd99329d6bdd1add9bf00aba0303f7eb163f77103a2e17abc1380c0df195799ccd4519ba4e4d3efee7f78a702c9b4fb547b69766803b701b787a36ae3c61cbabd0dd2287ba10b550498353dee99e60524829761012e03e4132d5e8b21635a8cc98928b2525465f2ff53500eb07ce7b5dc01858886c06a03064cba18cb7e06ed831478ed42473afd228087dcad37cbe63cad464f250c19e103399a234c92b82dcbce6cc8b909d0323bed790368036bf5b6833b9ad7e01b5a3403b7ab297a357e4c745c5e3779e96c0f51598d3920bd109149bdc3f4b27d71f0bc033125af9590c149554f9e3c663e27c3bcb84ea7ed58cc58efe30e3395bb8f3bc5030c710d15b7c9bfa6489febefe99ba3b7e742548ff675574a156b15f320185e5903160da697d9e4a5e3d0a7ba0e6edc0edbad587cbe2aab01ae812704991ce2568503661ad9ac95a84605573e546c5a780bb7974f161b48f5ce94c4472b0956a948a303bbff9531752339d70452fcb1498272db886da2857b39eff3c2f3a11660ca2b3f03676387738f29dacdfe488205070140d84201955ab7a5f8961761e8228494b8e804590a13608060405234801561001057600080fd5b506004361061004c5760003560e01c8063405a6362146100515780635578ceae146100eb5780636a938567146101a0578063d6354e15146101d1575b600080fd5b6100cd6004803603608081101561006757600080fd5b81019060208101813564010000000081111561008257600080fd5b82018360208201111561009457600080fd5b803590602001918460208302840111640100000000831117156100b657600080fd5b9193509150803590602081013590604001356101d9565b60408051938452602084019290925282820152519081900360600190f35b6100cd600480360360a081101561010157600080fd5b8135919081019060408101602082013564010000000081111561012357600080fd5b82018360208201111561013557600080fd5b8035906020019184602083028401116401000000008311171561015757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295505082359350505060208101359060400135610422565b6101bd600480360360208110156101b657600080fd5b5035610821565b604080519115158252519081900360200190f35b6101bd610832565b6000808062100000871061024e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f546f6f206d616e79206d656d6f72792076616c7565732e000000000000000000604482015290519081900360640190fd5b60028706156102a8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806109856021913960400191505060405180910390fd5b83861061031657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e76616c69642076616c7565206f66207a2e00000000000000000000000000604482015290519081900360640190fd5b83851061038457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c69642076616c7565206f6620616c7068612e000000000000000000604482015290519081900360640190fd5b6103c58888808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508a925089915088905061083b565b6040805184815260208101849052808201839052905193965091945092507f98fd0d40bd3e226c28fb29ff2d386bd8f9e19f2f8436441e6b854651d3b687b3919081900360600190a1610417836108ff565b955095509592505050565b60008060006210000087511061049957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f546f6f206d616e79206d656d6f72792076616c7565732e000000000000000000604482015290519081900360640190fd5b7f40000000000000000000000000000000000000000000000000000000000000008410610511576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806109a66038913960400191505060405180910390fd5b83861061057f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f496e76616c69642076616c7565206f66207a2e00000000000000000000000000604482015290519081900360640190fd5b8385106105ed57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f496e76616c69642076616c7565206f6620616c7068612e000000000000000000604482015290519081900360640190fd5b680100000000000000008810801561060457508388105b61066f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c69642076616c7565206f66207374617274416464722e0000000000604482015290519081900360640190fd5b5085516001906020880187860386900660078b018b84015b8082101561072f578889848b8d602089015109600686030101858c8e89510960078703010109870995508889848b8d606089015109600486030101858c8e60408a01510960058703010109870995508889848b8d60a089015109600286030101858c8e60808a01510960038703010109870995508889848b8d60e089015109850101858c8e60c08a015109600187030101098709955061010084019350600882019150610687565b6007820391505b808210156107635788898b8651098308925088838a038c0187099550602084019350600182019150610736565b50505060208083028a820120604080516001818501528082018a905260608101869052608081018c905260a081018b905260c0810187905260e081018390526101008082018f905282518083039091018152610120820180845281519190950120938490526101408101839052610160810187905290519297509095507fb8b9c39aeba1cfd98c38dfeebe11c2f7e02b334cbe9f05f22b442a5d9c1ea0c592508190036101800190a1610815846108ff565b50955095509592505050565b600061082c8261096f565b92915050565b60015460ff1690565b600080600080600288518161084c57fe5b0490506001915060208801604082028101815b818110156108865787888a60208401510982510888818a038c01870995505060400161085f565b5050816040028120935050600085828989868860006040516020018089815260200188815260200187815260200186815260200185815260200184815260200183815260200182815260200198505050505050505050604051602081830303815290604052805190602001209350509450945094915050565b600081815260208190526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091555460ff1661096c57600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790555b50565b60009081526020819052604090205460ff169056fe53697a65206f66206d656d6f72795061697273206d757374206265206576656e2e7072696d6520697320746f6f2062696720666f7220746865206f7074696d697a6174696f6e7320696e20746869732066756e6374696f6e2ea26469706673582212206b4b867bf7b80f3af70565d01d5c0c5d7f338ebb385aa41d6897fa23766bfdf564736f6c634300060b003303ac3e677d3dbb0c3e75b7dcf2d4c29d3c1ecff0eb427220d23c14bfaf50cbd3b203154bc984a30ead61e4bce969d64d2f2b6f0f77cb907431de79b0222641a11a8e03abee361cd5aa89137e82d3787a021d4872d1c54617b455a692ad9fe21273afc203824c386b380c8c6b7ca1759b6f84ee6d9e446aaf2a0cf3e97f0a1a8d8db95b1f03bf9a0675648e2364454bcdfa316ee1f8c9e914e9c7e8ae1581531bd7e6ebd93f03ddfe75b0dd2e476db04a9b7986e2563cb55c5336baf939bdf0febbfee84e33bd030da145e83e8f25cb74e86934482097eba61c05b3446572f2a7610afefb445e75035cee954d075066d4438eca47454bfe58fc7668f54479831068cd4ec78ae6348f03df61738e19fe087c8e84c6934fc4f7980be39e632a67e1e48cf1ebb22e95b67903466845d330d90fa6883df28d72d4b0c1815f94048ada32bb142c495bab6c356b03b09eefca53e7a1b567657ccc1758dce279959bfa860933947783b13842a8f33103901bdea9182bac5bcb77a99178cee16354f6135567e9a18788e1203d07e4a3cf03c87484f3a048f48bd48f9a75ca6d48b3b5f862c84ece3459221d15ae920069e400581f0355f9ab2a3fea06cbe51075fcde54cff85f9829d9feea6c3a6340076b9e10410100581e027050dd8753468e38d9ec6fcc2099a81478fdfbda5b582df329d7efe4f0410100581e029b01d16743a96ac77087d8e2e56daca56d86bd1d8792d396a7e632e26441010219280002192800037bc9ea499a9c5d58cc5147bdf1580e7ba313b24978f6bcf9ce2637a31e86eb4b037078dd042282dcb9f16571e3bc07677a1d9c7e729cb6dfc54cf9e83958bfadf100581f02e869538bcff6511c85ae63402238b8c8693592a3f515988164479f4374ff410103422109af86c2537e42674f5d03a87e6193023f15f68abff58a82a0165a7f8e9c00581f0258a000bdda8b89a325043732428ae7de41dd999fa91ace03e1e5c701c15e41010373cff18e4024367cf71ed51f03b1c0253f8d939e15564c43df2c612c9391082e03146188a8e888dc68f237bf71e88121576fa3585d0cfbd6df5299b2025f043d0400581f02a299bd0dcb29ed2bec361f469f953c2b8b20d2117ce4aeec6c8e4079891a41010362e0f2afb057bfc73facdf72ca969072743aaf965331636ef72ea4c9655426c000581f028f88bb35f018e44e36d77af8470c26d7fd14022c93de1accf34e129156334101033f9927e4910e874e5ab5cbdbfdffe5b77b93152051aa8f7d3209ed70dc746f4b0219e7f703488d08a088ab8883aea7215618fbfacbf2a0a9eef94bfb5d50addb329ee347a303dd38bff0420c3a3a59d4f8ef77de34e9c77cc131c6ebf5a047522bb0d6e06ffd0308d9cfbe87982e33ae28674b59a5bba0785d2f7484002bc277ac15ed4bfabdbf034ff99b92860c40b0223b8c65b0f6f216a732eea215042ac4d5f0823cab36385a03878d18d1c9f8c4fc593754cb27fa977a3bd2cb5ad33b5df8bf9228354c10d1310341ab9ed6f26c7c9bc930f09c4b73c5a705899774c089cf8c4937940a276d125e031829dda33958fad36d9468d0744332a63816113df57db28a7979571c0696ba6603d53c021b9480cb536c416497217b75d2b54302ecfe181415de8dc2d6c3c81225035fdfc91e2a75922451999c02aa4771343c4bc854b8c76fe4270baebadfe35fbd03788e78cb97873654beeaa317aa4100f4ee9d950c15c90dbfece79b3dc458f5a30219ffff03de316a38bcdb236d008c9e90dff9159892d2d369927597dba890c9d6e493400b031cc0052a4325f7a78d01bca8fa6ac49243c28be0e57660fb4c223f4a18aeb7d4037a5c26e0c35f213200a9bcb336d51d952087fd08c4dfea13a43f43b9b49a673703724738939377dd3a80eb8c96db2d52bd865dcb1e5356b1088cd4d764ff0e292703b9769ab8909bcd19bd182b0347d0e7d231b13cc0e405b573a3624a9dc0f82e28035da39f12cbefdf93994995f15bdd5cc2ba6660e499582dfd6e82b81048e6ff9a03691d7e191869bda07d4a09ddb8b2f0fa5398ad585ae0d79fbc27b70413808a5c03a5bb66258f83d61f6fa2652c631c81cbb8d56985b87cb487b79428ebe839a2f5031a829106677aba01d1f14101618a8e5dc523df942ddd03fda0917c237228330503fd6be97841d66f3604a3bc4a9406c361febd77869d4114596cff0170b544181203c73e7c3b0f19ba6b3dd7f7e6aeb3d6150aade3911b8e3d574e3ed2cf6fc27d8b0219ffff038cf3f27f7234239e111ac167df2695a73d682d22094110e28a33401e2190c4e003ee3fd02cf56e41befd7f5ea27c49cf762c5a3c9c014178da765055d6eaea0a28033e08e447810a7855f18d59735f442214680641eaca42f524d963144cba9a532003754c69262d8716d803298d20a85b2a07e9a8f4e3f20d52958f478eed5008248603aa8febf7aaa88631d656d6f4752f5f34d94a98e9de70c9c617069275a0d00ed0031c8d0187087cd472dfd1053f727af30f2d8c464e91b00e615470173ed511a7a403e8c255cb202fb65d94ee0b648dbc7564c5fdc6d6eba5c7a0ca0b65ee9c7ece7b00581f02c88f9eddce6b192e1c35b85a77e45ef3e70c94f50825eb80eca0ddafd74b410100581f0251042d879665eb33a76a3f52d1b5e7cc096952a50c9f494fcbe48fb0c3d2410103ee232ff774815891457987b1bebe2e0fa5e02def7b47fc59bb5e2c6a00dd65f503bde9f2b856b483d5df33f6a45bb4443d9d2f2ca557ad576629f48d87bf2e399b035e16c58d625ba81af00d9106bd09123004c36034f9d0d4a25b0634904d35714c03d0ce78fd82d724e02b599a45598784319d887f3e957839d2b1322fde2aaee94303892f020aaaf85b863d4861d59900e8d5b41b4861036c83730afc2b686f9aff6f00581f02202be6337314caa1ac02d7e2a0a452d928242c206dc42172d69300fe906d410103b369f89585dc2f4526e82ebe1274c1a13398edf8523ed55646db39f674cf84d500581f0390ee386128cdeb1496f1d37d5313647a677bb79bcbcefb4da70205c209e0410100581f03962a2241050a1a3776f754dca5fbb9d1e714b932aa566e3331df4231ccd0410100581e02f8d005988abd461ba5c23f5afd0e58a1c65bb72a957b63a27c6a401261410100581e02799ec966559543455a793d36be19e09b5c91d7dbd74610e68a5205f268410100581e0293943196e9aa594ebf7ed4a8d2470951b6f2afbe8f77283898fdd877e04101021904a000581f03edee49cfd5ac8d5fc0b43ec8aa1877a004a148912425ed45f51548fa97704101021908380376f80ef55d00bf476acb4c3fbcc137d32a56f5b62351830138f7065e039eb1ba0378451448db511268cdcfe35d845d7b0696b4bed26d8fc06a2e48eeb04e7742da0219d4ff03737dbe73cec7e51bb06f62eb13e021d9cc8b49105df454b695919ff010fe74da03d6b24d77fce3f61fca04174a49496de6c2919db248c30f7334dba62547adbbd603198a964f7f2be75b9b0b28d2058f3d635541b4a3b9032ac218c6e8d332d8d76b03b5161448c4283de5de059a86cd6e40904614cac0cfea22d12550b72227e94f0503dfd5de2b0f197436b84c20bf3c247c30dd35ed1e50e8af19045977f36198eb8f030963785646e866e1525d09c8cec2458efff571a675ce8cb2d110cfc4118d8c10039ed950ff8abe928740dea553c468cbc79fd51ea981f5f2ac72cbfb36e4359a6903d8135f3c1e7c338e50d966047f6b5b59121415b9fd0c569870648d737d70b95703ae0b13ffaf3d1fd17fb07c3a908ef6aa25db6f067f73929db85860cf8fccc60303d4211958a550a85ae94ba80a3385c129e013371d763f7b234c05e87254841b410219ffff0306e5d3d4ffa88adcc1a3abded9eba189f3be2735f1cb9e44e7f814725e41736003b6c855d6f50e49702a18f37d033bfec41ade626985c202cff11d23094d6333fa03ad410d678079a66254c196daf04209f99587d3a413468818571db0d4957f54ec0349b1152b38d03b5be52c2409a033358c13b4ba29942cf01f007b48494749d7c003f5489fa6ab41e0b4a608224536db1e659d1017a435f69f8364f28b3eea2fdd1e034e390b26bfd451ad584d2eef818b9bcc9e3734a992a4efd6c06d50182334481a03eba9a9046196f5b65bd22c1670cfcece4beafc93bcf264ff28a4f03f8ed6cc9703924488d835e79d41e170c4df482339abbdf8439a8a5afbd3e9b84d0f11cb8d7b0376956d817903ab582d30c57cf956f46f2c7aeecea83d8e219f5c3b6dd93c5231036c9be9d35297b170504681a352c0e406723ebd97e41e04cdbac6d7a452f8ef1603853cc292a6b74341ebbac6a0109ad64c9b3c54a39836720d64427ac3fd05393003ed17f6972ada7de138a9ec9c2fe63c16a88828775045a7de9e59fb6061d08872032d23029ed4ba22d297e0db6a46e42a7e3b870e863d997e292a98172c331a1cf30219ffff03936bc26b976929c40d5b29689bb4d6d931b614832dddd4d9cdf0909570f145cc03bc98366188f38dbeea8cfbf379567e256c5d5c9fad78cf85f5f182c1ab8ddda60384ffa89e9fc68b8234c972e1bc2434de3b74867c2f7f64f7af96eebf8481fb62038786afab2ca1b64b12c8a42dab263288f06b4253628608f24aa9ffd1ce184951034956d73f9fcc8257266dbd9dda01ef238d424e0567dcc27ff72fd11ecaf3d7980368590767b396ad253929c4b89273d385366d9496203565ea118127285763ac1c0395e20c2ecbc8e983a2c11960090b0ec6e55adb1b0bd275847689168ff8eb39f503371e2d9e5e0195263222b31a187b2d33d395f180f335dedb6d870ab18e3a058603197d74719d78922202fe4e342bfdb86d53806f75b076c6ffc856ae18edd39b4a03d0472c256af247af65886503bdc0522322b99305c66167b45a4efe23c676b43803d94f88f6c008048237253c82373a0e3e889d49994e0dff61fdf03faa6a7aee3b0370dc58ee2ccc11a25659d163f962e16da095e0ce7175df39ed27f21afa6ab05f03b57867260571795b78d8eef18d560339a7f0bb5118a622f3269536c2e8d4cc6703a13077aa1ee61bc6f761f76aebe79e4e12bfb7e91bb52404ca83dd9b5fa1ec3003d7a951681e0abf1f0957b614d1264043e73ce3f4186596e09cd2f6143248ccc1033e356b41b3c1fb36dccc9bf1736e811b6483563d4f2e2f2c60b3b0e84888f73b03b429bea560c3ffc151c74d9026b4cbd13a6c20d194a9922a827ef8057c223fd903e96f3bf0aa0d6786039183250b8fe13d66f418435f1be60a0b4376bf89894f450313a9acd9968ba989e37ab32a2724003e7b3e7e4fa5dddfe0f8175f08c2b6528a03a5339e99c6aeb9ff8b1077647d91c6b4e4bb938a558067df19b7a0a614d953e403bed6923eb80877641528da1a4fd2c209a79b8a3ebf8d40089b1095a772459a93031da5680ead43adab4064d1e227c2b6c1b72a6fa77fbf9cd484d744d37d16b28d032e6914de2f9a3b482e8e95ccf2b22fea36234972823f54a0378e74ded1ae077303c94f24090315ee0f00d137759cbfe5b68e2b983dd6c7f4badf989879506edc1503ed69428639e8d7a24fa5749e6ec39ae6d3485857fd2c37353007642cf686758400581f0280e43e6f04793f712bbee0afc3a2976c2fdddfc47b8f12f8663f6a01354e410103d22aba13f12e69823dae6f0d8c9793f262e22d606a00700af6e0aa9c8a3e97910319e61d3c624a9daef9c546f00c30f782f17890d007a0ba83fbeb026ad649b2fa033f7db1c7081949f48d66072a8c366f416a273cdbe3d3e283488e057dcbe62d620333a825042964ad77c3db031f76d544d75c0376029ce8f91f7ab73a6d9a4d730203ee4ec2f13b011040a4893ddf5aab0fbb5deec76cdf0956376f8cb69a06ea32de00581f02550dead0b824ea21bc305eedc240b520df3da875f0fce1103130accf595f410100581f023d05af048a41518873a6bd5ad738e721fd81c185f62c9c13ec04d1ba7b5d410100581f024c2210f43ffe275fe382de1cb333552ee386d5819f2ade12861ee96cb60e410100581f02a7a731615c49a1916080e8566817023190829250dc5cd5b1437a9e72ee5a410103ed2bb993ad51344d98dad1354023bf0e1066457f9d7746351a013f72ac3a246e0391c2714c2b045eb2ef83c25c3bb8a8f41b44afba76d020e9bceaa08617ee29ac0219fdf7034703e352f1a5793f376003d356f26eef29d82027906fb8466c785f540093b05a03bd79dbbc3940804754cd333e88dcbb140f7528c2da8d50a15bc8b951da5daa3403a76ca5c39ef7d2e5d5858ae83c617846b64812646e743759daccbf7a6c06e1e0039561ddeb73a2f07ad6d6d213b81c1f28920f22abc7f168059ff745ae5fe83e3503963e5ecf6d8ef4514f1c96379a3a84e33904825e7dfe2262c6e40d79219d682003d7c972a3f3a9f3fdfa37f04c48f4900b0d5c836c0857d1203d9f925cc9ee35460219ffff03248f273eea5b7726073ba7cc120a31e4faa8636ba58c1e15e01bbf20e8c0ef7703f0230459581f933af3e04ce45a8d19340754f44d55916ef43109bc89e2aeab4103a83af2549edc909bceeb97ea7c028e7305953794267ecc719faf727a00b596dd0219ffff03fff9fe0774a6f126e7881fb7c84ded09678ed0ef3765e963a0399b57f3b7d0a0038f236a22321975a0d02167a8ed2d8e85e6d2c87e7348a216a2d3399190fcb97c03993679f420ae03d70cc8688e58ef58980e8b97b6f464a32cfcb8169b83a7bdc603f453743a08d1de7c508d8e09a59208e0f1a4e4b33411b7b54e22f5d46fd85fa303bf26d9481dfaf566732fe1424e8b92e5b07183e402722c0f776aff315c097dd600581f024063fa747fec190cf20d8213552dfc35ce8b8961059c416d90f8d549df8841010379b303acc174cd09f31f84d69fc255a2ee1a2fb3102d27d51da0c2a45e89f78700581f0360b49a3d55ced769c4eb395fb426c21bf88f3528e216d57ca49e484caf50410100581f03c55ff9434aabbe21f7b68253c146237bb6b900d94a0922d0098268b9adc0410100581f03a82818091fd91c17f00c76290f640f7dac4af49073d5de24efafa0481b70410100581f03144dac7de6ba13952b6b00492a51abc57c0b96aa3bf5b8938f972161bc304101021984440318a1eee688fd6909aac48236bb17ebfd5a07aaf3bcb42538eea98c2fbefb8bd003d9a1dee59ec7936d27be428550f44116d20f3f35329a1ad3d524fe96e9250e2e037c05003fd4d5748736b9ecb99ad96103ddedf02b602d1aef7b79a7c04685d54703951c08814e83465e6b00fff20d91b3f89e42f2112a9d808c5a444192e764254100581f0265ca2ef1cf81aa6000a0f675f004affd191484733f0f236c50529a9b4b1d410100581f02a12ab7dc1cb7ec31cdb2ade398048a62ce99e2ac6df104a119f9343f8e4b410103b994e8741d03bf955c0a6d7895f0f05a51874b854dc39fa0830eb5d4e8b3dde800581f026e699248003d9790a023563f2dbf5ddbec8de542b7d910d5e7cc1737e362410103a2fdd92cc671fd5d1c1553619543135651cc3c0e9b735cff9024ab80eb02873702197bfd03b956bd64ab412c4a64c742b99ba9e526a2ffc92bcfb7ec046e5bd19929aa6c9f0386885dc960a5b4435f7a2df65dc4c15e3db5e5922b407b61b51bf99c2683edf70365ae8de5fe76778b5431818d7379e66ba205c4b8ddd5a1a7b74e9c934f2cad170340e1a54a3a425a0b26d3018322e09c8685200c902e686cce0755e2ef862a52a503cca1cce91efdc0f1b896312d415295bd290e8a1b307867a246d25146155d8d3a03de31f026cf9cbfab3b775dc43196f20117aa0d9faa297717860f6b94cef69a1203f47fb1e47d1ec6fdf3bd17b03953ec4a10b68ea4feed428ad9ba8f63750b2f1b0359f052f271e048983bb086589816280846c6ef1d6ad90b969c728e271bd5454603959aa5460f7f8b29183b9a359c2f66e431593b8b6b2f1d2cab079a91ba4ec07d03ce710827f6783417c2204e778cafb597dc4cf440745d8e74f9103921f4c3e395034e12558de038e260d2bc5acc3ef9378b5f9f397621fecf5a770d5bdfa9ed4ad103c03d93a441c2ac35ed50e7f063985bea73d9674815f6cc7b78a63307deb35d3b0219ffff0354d7727498dc7e2db660663ffe981695d8f22a34a2e055ce9539609909cd536303a99eabafe4bbf18341ba93953ea0d5cb50e2450b8e269fd93724f5790bc572b20368d11a1f332f40ce2c7afcc112d2b4a07014fbbcfddb3143b9a61f17e307cf4103611c02b009be079c902414665928301d725a1cf5a40992cbd0b0e66c6983e33a034d018a159c998f76bad71f430f1abdc2bd5573656928a2348c266731d3b85402035e7b2d51eeccfd4b11047378a2c9309b9d68b6291bfa39efece96cf4f8975ee403af96c7ae884d56d7e99237699a27625ef43552c9e22a540bfce37b8307f4ed040325079bfe9f0ca5b7a8146509861cd0be343da4aa4a12a9e1fb8eef2067c3e707032e0507a4a287d9897df32d18ec8076c556e91b3f5183f060167ce77d279cc94b0379a109e8523b542d86b2c43b2871a8a6c5f57c5d90de4e6a5a21b141a7e2d77c039c5f9f9646baf263a59c895042be3934366022eb7751f4a9e4aa84a8d2efb7ea030b3510b23c3798247f497df537e33350ab0924975cb43cd226d39b54edeaa71403891bf28fdfa31026588d89383c9b83de56eb21066366ce7901102ba4750cc3490378177c6ab0cd78d6417aa8a72ba7146632351fc512f5f7f7f23e9c6f3df2119a031617acafabbe90e78fa304efe821baeacafb58b6d17623cbaa677cb73cf725f50219ffff03447ac498dfa4a975ce4ab86f7165b2c12706ed0872240507ff51c4d6978e5fc203461c2a36451f7960e67db45ca40c01235f1c5e7919e312ac6f5116b6949b59fc03b2393cafafe04e9d200d6ac0d5bae094261c1ef72ffd3b730040ebff33e5079103a0239ba06cf336abe90759cec5def35ea17f41f6c9f3e83ecd12ddfff2307cf2031d16d9dce5d5d44b05dd7216b440120dd0c3d5570251a93521ece41d6c5569f803297e8a1d86593b83776b2d59fe51ad157f1b419bec5743f7e8514310414480a000581f02777f52d6b992831261ecc74d7cfa29404e171332abc1a607d81e87eaa81b4101036439a7289b991dffdca40fe467904df55ed0aa69fa7dac2dcf65e0487236b5f00399b8a4a9afca3348132dbd465bc2f1765a5e4b3fd80db740ae8d05d9e034b1b2032844ca806928de4223dea82d2f8063f501f0a14f5146d6555a743cf3e7433d5d03784e21426adf9615b87abbc9673b94e2973196b8055be236c0c4541709d1a3de033989e0dc2ba24d33334bdeb55c99cc0f18cf763d31065cdc7b468b310250bdd803fc7ba1d3db83e7ef5d004c4aadaba99eceb3101787179e639976da0620eb2b330355ea8a5d830c97beda58d3a49c71e8b7bdd11ca238ba2988ca01799d20b28f0803961794ace980043e6a7323280662053d77b2ebacf37345e3e0f4db2f7374b6c901410a00581e022957b7e50d5e059001cb94ef98d159c4a2bebd7a3e830d3957e8c7b21d410100581e02527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf641010219204000581f037058058a0cabb0cee16aaa736eeb99101b51934a9b10bdff9839b315592041010219200403042fe7f714682f25c1c90c6ab6e7593d96e3ff4af87a9c2178b8043f9840ce140219fbff03082e2b724e6f07e114e0ef9114866a5505af2d9c0970cb6422d83201195f558f0335041466dca6bfbdcd9efbcd8afd9001dfdbcfadf11864b2469371e5c75679b00329726662c229180aa8168676ea9b2caa8eb7cac13bdf50cbcca0f53f1945b856033001dfd1872e8536838cba1095c3c1caf9ce9b4d07de04bb473c08787c1829ef036537da002478321dfba96fe954931e4d976df0b4f65ce8b95f54256bf22bf25a038e0d758d1f4aceddc960ee85171d81f863f2050f3567fd5b27919d904957229303d6226b7cce4f68083ff6fb2ee873f57bf108a9761d50ce174e3c751a5907e4b003e67fabe317a8752661893f8ecd957cafb93f1303debab6af39fe27bb6ca2a73103e5a7d2c8dea71831e33dd4928c2fd8c35c34087165873fa8abe43e2ff51002dd030c70fbeef6eb979770206adfa7c4d8ad66d4260f2567fb46a056b527d9bcd1f70389644bea5e7bd0b73f6c43a49f96317026523b1b5787c8d38a8721c134424116039c14c1606d18db7f1c1b84482356ff385bcc79b5a5029717f4f132751a1d355603e79417677b1cde130298fc8681e791fca13885ebdbc35d8dec1845de17864b2003146c1cfcf0ac9ec45d184998c1be166297cb6eefc6c94406d61c0f0b5e28c54a033c69073262917756b5dc2618a65d24979bd7b31bb3df9ce37b07f038648df80c0219ffff03c6f3eb14c223330fe4aa63221be5ee8c76a293525723a7fe7c7939feae72561703d57a0a6cc83b52cfe40b99d6c238c4cca6628160f8e4eb894667c042b7420a3303b1caa50b92c666f26abd072cfd71ad9a279848100a44b990e2d1dac6a49c9b4703f38281da3ac0d8d769544d7398336d3ef44f46f8de9a585d5556ad8a3ffb1e61034a8154fc9af85523e1634963fea086ac936b449c24fc75094686890c78908b2a03d288b0ad43b7b88f574eece089216a60387c6a8077e4f3815d17fc431c7a4dd003e83c53765ee0790e9b76250b05024a1bbebdaa19c70f079efd47f27f5e0c68960337e029fb9340e14c972573eef7638dd1d8c46a8fbe9537d51bc4d784ec56bb8f03baf5882e8cb51875ae678ea27997fb10db363485429ab09eae4e2ab4e6a78ddb03ff9a1741f9c78c58b119b196e36d41d35e61cfef2b99552518036bf3d43a09580371e4a2ae7fc537eff12086baeedd8ab67f9de6f87f5987934db87884e507def603e4869df678084287e01472ed05b3dcd2a6bccb8ec4a79cab36b3a26c87da43f50379a5a9bbfce07f4824cc0b0df82ce4454949b26026cd0a62319d895ca7d1ad8603d2eeb173d62eb5bb5c074980fb5d0176f3e90ebf1d859a500d42056af41170230219ffff03421c6a2f86c98e79b0b6241e90f916f094f77b39e8dff95fe13d5d2e642cc0f80335d2714e269a6d84c71e2e358282e52a2ed756ca03231becf678720d2b8d97730370823dc0b8bc498f011151a94fd695ff6cc0defe1e1988bf6da34277187a718c0335af60b0589a448a5c31de4e92f7aa86599ab84bb679b9d285cb138ae0b6f51c033eb3c0d95fcfc3721608bbde3f9cdeb6c275e4ffede41d623e2c9fac32b99c9a03f737408e9b41d75543ca1156dbec7c934c12d73ccad84d62522020468477f7340385c5930a4de43208816f954ac0d7af5670e4175169ce335a0f078dec8a90de1c03163784a16c606052ada68e95928c730c9781da0cef278e9f5567782fa286e0c203f20c88acd34e31fc42b25fdb562c691c6120847634dfaa213642dd4ec00f6540030a20c865435be5e8e7f6f71f4f045b69af259a08311b481ee22acab8110c7bcc03d9fc94eca02b07a8823502af6428e4fbc66d9da3063ac8a6425b765540f8e92c03cbd1963cfaf9e4388d4a2971114910eb4aa68d0142c02f8186557be97778f1b103762844ed11613495098fe4ba1f8cedae78fd4ff306ebdfa121a38c58064c2818032780c87e2f0689b0e698a37cf10c8e351481e992b75d8829e4f168b218a02f390369618e4629e90f35ef1ad5a6245ebe11781368d1ab66badcea4ae93f1a673ad503ec2d611a6485b4ba7dafcf9c726b169a96c8554322536b4acf3cba6fb075f3450368e68689f49d874ddd6e281116870d3fd5c04f95292e59e3619bc228ef652df7032db8d74812f11edba1a8d8ce5be6f1c86e806257c931c62c777104d2d770e5d703c58b5283f842bb2a8c29f8f514775b3d1bfe5400cde6d25aa05a10ec6f80ea7a038b215af995b0f0c590755ceb6056f110dd8fd6ebce1e5fc67b72dfa8426ad6f000581f02affd519ab7d708837d2838a99f0b0ad90eb9e573f7971f1e989f6a9749c9410100581f03a905331c20c386c2dc301dcc1ea53368b9eaeb21d490cfa57c8dc5a6ab90410100581f036489c34f36c058dc20de2e7e40372b6ca25bbd2da36fbee923bc5eef8db04101021400581f0226cc6dc5300374b2dae366b0f385bebc1bfcf32390b1b0eced43e7c517904101035844b81fde9b47c4f810b9b489bf584584c3e33371f6e4923adaf23efe33751400581f02ea2c33ed56c2490777ef1f6bb949d1b9874438aa26dfbdb1838d29de38a14101030ecd2fbccff0f24eab26024b16e49786b29a8b47321a47cc3b5230664efe0c76038faccd3425a71a1ab28a6f4b3fff963ce527b6c1ff0e7e32db7884c4a420899f0360512e35b1ed4828312487c2ce8e70121e5a38b23b13fab3c9a773b303a435d4035da6cf3cd15d3a02315b94084f50fe9bc1d2cc36581fa54f1db148b8956cf9bd03f11a774640e7b2a04608e637cb42d8ec3d116e1eccd47cf345f73269996f1f2403bfe8e2ccee29bca1c8b8e5e3832d2a5a9236d5e08816a4b739c7e7880cc9a7a2033fd6a7be644eaa78532293b8106abe9e41a9c9344d12f4a2318726d2f5a0fd0e03abd35c292cba2fde4e35e98885c17e28367b0836629e03a52ab35b3a9fbc4118035379304af4e732fccd0520fa011f32a5c54346d61eacf1f797be65e45cedbb970368e312454554b21f7bf8b25bbb1a7595a664feb9ec05b66fd25fe2cc6e73b62c0219fffd0219ffff0387ac71d66078a6a01ecfd9f0f9874657ce437078292691802a4d7b11053d0de8038a83e44d2e7aba46c734023f6b22701f016b5e16816bf045156386488dfeb7ed038d885cbd8eed8732dc8d2b5744c196e44f9e6dfc32f1629e95d80eac1e1b9e0603602b9c9d352a328281483fe79a5d725efeb9ba8e75370bdd09ac6c45d56e582f03867c172df9dc8dc76b7ad172eaeab75eec9c044778a620e17b462f96089987ee0377dc4b495323945660aed6e5e42917a5833028de19c9a7e09d861b856404c05a039f5211798dfe46f4d359e5ce393e77a703cdd1972a03b35716d2f31cca1a0eb603437a4124756d1944234d7cb86bcefefb5ee59fef204bac0269f601a24ab6f659032c6dc5b237c882c57bd76b80933b90c14742eb65c3bad6c1bef16eb8245ce2760316e1afa02ed25ffd3d15a146c8192867f158288086a4d6bd34f13b3eba64b841036defa500af2813acd62209462937eaa0bf93be744c26f70db28f393ab0aeafd803c78898d0990fe759f6064577672bb9b429d5373ca932609e654e335e2b27222b0385f51b4a0b9bb4e9c5a142c609a2e7211eb9e38abaacbb5ca20e1a78f27094520219ffff0219ffff05581e033e706cb1467ade2d414d79fe0a05864a3e577a1f3de2359dedbdfa8b500701190a1305581e0360669b08e8da10403c07146eace5700d4ea1e2b6c3a536ba67a31c6660040405581e037776e7cb26607367e63cde0350ed65dca69f52f8ce2610a2aa22cdd910040805581e037578421e4c672a73f9f1c71e59232c57150ede4ce26486bd7e4c5f66100c0147017e42b832f8000325462a84db67d0f3cd9936b356c591be7736af80c24c6479c313ee8c108aeeb5031fbabd310cdd59f05e5444208120b05d004cdd0d0f15b4ff42ee33baad871c2705581e033d40cc106661578a7f327d1d8ed28b21c822e1642a58472a2c32f9cca007011bffffffffffffffff0390398f43fb421ce9fd7209d2232b60cba68a6db834649e68f6f08c9c1e1b969e03473a1a7c17a36cfcad00f738f42204d697670af6f9f6445b24cb7c5e10599cfd03aac0e060eed02af7be608d4b11b44b347df786ce46daf347d20b63c9627d02b105581e03e072519c7cea37441198991fe6db27b71c7960416f970645949f579be00c01460a4cd01bd83005581e0381aba2f5a0c6d07e2e029732a69a694c1a44fac9f31a7e43ac4e5946d00c0447014cca063885d80219eb7c0219ffff03d196cbf19236d590338f698d47af5377f5539bc3f4b909ba6c5a1ad38e559e6303a1d7a3baab3ac8d2d09ee474427077717b436bb1b24ba6fc69feaf859f1c2a4e03aaab075404cd42649a9ec6c2a49ce76e4637db3981741afcf2db324ee35f6996035aa258211f0e91a4798bf99d0baebc9fa20c04f395fdec69f34290091202136f03202d7159da92ecec82e766d5fae0169eed6513e2aa1c567817b1486cccd798bc030c30fdd7e1c7bc55ee48ccb22cf65fef8f04c30963f2b27a3aabb1e01dd14d77037f3e57adaf94ecec642cbe2a0c44fa2855aa106ba71ca4897182b15c4fa2ba6a033826a0fb0549a4ad655ef401df3b838de57ee171fe01a149ad52ed55ee4596db03db766f3e6395c7b7170ab9aa8b16af42e61b672af50202c737632bf9b236546e03304777285eba48ba686b196e35caf920a0bd328f63e7b439f53f9c1d036a367103057681504a462f1541ffc73aa9002668918f16c36d133d9d4e945399deeef018035efedc351680f38403f0bd93f3c3b39594fb3aae8c0b4a7f916413dae7eb2aca03761f08053e609efacf4948bf8eae66231b9b14055425a23b525ae2adbafe44380219ffff0310c0fcbf42a2d8e5a189d62461bf64c6b982cbd0c4c57c607d10974a79da5a0e0381a1218cb09c5cab563a37d5dd5d0baf85519e175b16db917fc494dc60c2e390034c59e0835897c7333ecc838b2d475ac665c672da0dd0de9a7e48b4c17a8e4cbb039238b015e7c33b19e5ee7c10e8ac94b54ba988be83f729c7361556941854eb20038832553a52e344f6b3ec5ff0757d240c04ba0d2cd6b84e1f4b3a64e335af96c50381e6049cb9e99fb1db88985628d7d294afa8799159105a0978711c565691d618032c2ffb755a00057656e1eb0684b4864b42997752af50b4c8fd4ce7c647c7314303ff08555a6ef96fe637dfb284e1256fd63b27ac7b7b8c7d83c0e2b817d9eff23a03a72b77a3af642c3cedd4206303a8aa33490a7b0d5a8b59ba73638599c7444bbe03554033be7237ab4f47bf56f90fe1f1b40ad27aa61f52a58ae69962119c714218036c8baad9a94d4fe841dfde9139bf5daf92b4697a736043333604d347b10cd5940362721de69497d11105e90f73cadb7d7b301644a61ae24a7ab9e79bbe6ec5a7c50219ffff03e112c3904ef15d998ce0eec6f3fb8e8592cfd8edd554a4f428f3d94e5684f7a903bce82f11bff7f98968cb2e83a12581ddbb5d4430aa42e5ccaf8384919c17c5db034a74443ff1edd050c306eec55672615b3bc498973e84f0e43ff6f2cffc102c710342d60ba970e47ddf89748543dca3ee2ca4afc32eb3c4b9d6e1a6e358d7cf9df303b4602ea92d3ba1d85debe304f76766de4db579eed8f35396eed40681fed9c50d03806d25b05eaf7544f8a66e6831bff71a6069cef9cf5833e0af1e6b73f3129d1f0392909a6f362e7d66c475f06f4af690c0f1728853fa73fcc39a07048d12f5fd8b032918ade92d0f0b8b4ff1798958a26b7555b2ee9ac8fe1fc080d4eae5542635b1037b6df58dd8506b12f70ea09669c90dc63695a04b435f9b9d9d42458b9cd18d430373f6572abe1f9cc01f009edb56fcc2c86985e8aec42909000a4a0ce22290214b033f1272a6630376ecc5042f780c7cb80a330e227af301a34ff1b21f451f06ce36035f2eeee69a2360347a20c765ef5676030d2f98b9408507d6d205128fae36b52003b38b5e81186f7094f9d94f967d0c1c9fecf296a222c28d3aa350fe92b55a437f03f71d1bfd92b3925bebc05d04f23bcea84ddaec1e292f2c1310e8e23a05d0419d03b186eda7ac39e82f312373d4b30bcf2434c65eed526043310b09190d7e822a1b039976d5e95fe892432837efd03558f56a4c53e10e2c9a42499b73addead1da0c503354195e7bea0c8be002f050649ac867191bf131c5106cc704aaf9a1ee145b86a0362e590d882d20933b81da2789122123531bb3aaa0e07dd9330abac0cb166081d031edbf7a369951e8b62ce5b8583360eeb6b6aa32a1494edcf2ab5d5de07dfeb6b03a0e70a0551bdc10badc826668c92379c9809fcfe016a501164f5db39f163a16c03016f798dacdadd8390629b628e0ce4b67c889f1a1d4ff2e83714ac0a21de8d57033e902b68ec09b91a397e64f1e853e67f7bd3e5c82715834bf2672f54148590350394f9d671da79e1d233934d88b1bd600c9771825746f47fae3a2820dc454a941403c60f9b24427db0a4406717da285b17c18ed07829c8aa56e0738ee964980a0d7e03f667ef89bd0ff3c35858af28e14da4b24bf9114a9ae9f092db9d6038045d2d6f03f334e6c5f535c706fb73ff0cb653d1fa74c087d9ab37f54614041914e00dc3aa05581e0304189cec7a15426bd914debbb7ca8ce5d6071f9707b62c6ddeedd3e89008471b4b85b7ab74aa0459080760806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005821031a88f3936348d602f3078126bdcd162c575cb17fb9bbfe2dab00b167bd295c3054e3e57f917e788f3921528caabf76eeaf781d3326005821036501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354043010b30005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48105427ff92b30cae00dabcf8045cc68fc9dcb67c501900582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54a872bca05c9f8a97cc36d879e43b33db8ed7b69e00582002b4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308581effffffffffffffffffffffffffffffff000f42403b9aca00080a01312d000219802003be40a77bf26c09af7bfdc107d57a42efe9a1fbd183a64cf1cf88aae76219eb4100582103787eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae054889e21d7ba3d6dd62e75d4980a4ad1349c61599d005821032153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c2209775304408f0d180021907bc05581e03131a5671fdf82a7df98a3f3bfdf1e3206ac9237191b3d782e46db902e0070119080703940d05b8ea4df5f22fb8b57310ef6861e9fe75cf0df2d90bff89c43a858fb9df0388357295e35d19e4fea8a60e5692cb6818db91adf4c19a010b546f51f89a896a05581e03fdb06c678c594cd979fb768678d925af906388fbcd602eaf76728bff900c044622c683d97fd8039c915b22d246410f4b4f87f1e1bdf1da2453ebb5cf5c24024a01ed6256bd1b68021919510219ffff03ecf41cf16f71dd342ba1e79662ea483b893d715f557c211d0e3b4988f36744b50394d71509ce12e7562244b8fc275ca6086e979ae8e480744034568fc0d65f065403f1f47c5d1f57b933984b1d155d031d583d42bb71d3a5abaa31550c2f5895b811030d8e20d22929fc7a3cf97ea8eac3fdfba36b87c4013d5ce707dce5bffdbe27b60324280390595b2ac82a8d39d7419b925d7e4b4812ca2f483f53d851eba42fb8fc03db8651d935fff3d49b58adccb1e94c59e5a27a93dd64919540221cfaba62dfc80373f24b12ac4d365a9cb4dfc98227d254a4ac74608e0a8135f28a0c9bbf9bce2d03885bdf97def3c7203f21364c39c4f95d8671daf5d43c7a29442464f47fc4603403df15ffa32387e0c8c77cfec64035be9d1675e920463f0e409ff518fe954c383503fc01a9552608804cd96c8477ed6be372a6f7cadd4cec00aeb75e70ad0581bcad033ce6d65d06a9669fa7896e164af259257629838450657e1bebc3ea7f94abb94103f90743762c8c3f9f3b48c2a1d7127bbd3f95a9a73024cc5cc5ef164cf6703ecc0219ffff030989d8f9fc296d5e8569dd56080a81682d882e9eb6e4b399c4055512cc5ad0df034349aef8aaaa2f5d4fa20c0e95a9747bf56d3b338aef80ac4c5d2f4fc862c362031a85c0fdda93a806c782ab4e54fd482abe739077381c372cc70f2c5052bd797103a72f3c4fc0d64b67ab7490edc62a516b7db9b1ee3e4e3749bd537dc000415e690361caec88521b1eaaa7128353198e166b6ef3ca2385ad5769c8a7120cb02f20320324070285c2d8aa52fe549f0360a9602be3f771936d7acb0a80cdcc067f42779c03655faf10104ba398255d9cb840ba94738ae13e38c6f739b552bb4ce84f7d93850219ffff03aa7e88cb4e9c680de96241da23f1fe5d0ebaa017aa2852f4e3728d52daf5523a0307ae80f1f3f34d7115b1a96ff291ff9845057e80be50fd1df28baebf171a33e903e094df01ba9191180b40117f921d61d702c0bcf511605a0dc2de9c96185aba1d0371971cafe4adaa115903335ac1b800875af2914d86484415c719060f2b0248ec03c17fa8d42ef94afcd41de8a48a2d721dc4fad31aa5c6f5f797a02b508d0e25050360f99d26db406c0cbfcb747bb222a06aad437b1ef4ee649e26c0bfcf0ecd718c03df1e5aae5a950454bf55ae41cce411856ed3dc356e89c05efa1954823c1a20cc03ca4667c81c3157dfc2112d13adf6e6da45aa423427681dfe1524296ccf658e3103e79c9fa7b8b06bad671a8ec2990ad199c9bbf8cd1b61751c1f65c0dfedf03f90035136dc89e74959a7f9fcec0aaa733c2b6788735db0b9125f7c50ad4ddeefd2f60314feeafcf9596aaf8d9f53e05d85f94142fcd20918dce97d19e4aaeb1bafd1d3030a692aafaa4d161324678adcaf2369d7a9596dca2a49a46857d03acd42df845203f7635d4291e32087128e3de22706ef6aa2b3996073c09d730db3b3e27da9049703c6547feb1f1e1e23777e17c99730a956e7057c310dc67f6a3411d827654d363d03fd09f34e1db8321b05cc2d24fd9c547a01aa82d0ccf56e56eff4ac92606f760b0308ce44b53b91230e7a35119de4098bf2820b332709c7a7bebbffdb8a6301dd78030d3762477b193ccf9c086fcc824a9ca8f0b49c90694e5f11aa36b1a5e2f26ce803019c129b475f242635ba62b215f07907fa68ffd76d7d40d95c39d343019a9fec037a671eba4aaee54f6027c0760f13168b20b1199cee5a7f340caa71ce3a735c440350f7295342f6546f506fa677eeed58d3905c311ddda05b5b83e86a5d7f6de44403a8adbb1fd97756797e8c30fb9e92c47bbf930d62929fb8dbe0aa90ee3bc2d82503c5c3f042218ea8354b445bb88db93aee345aee3b9b32595b8ec4e0f777e463440390b69cba06d406fdb698c37e8effd058c770cdb3aea4d0815151580956597199036c4fc3b0c738c531ab2f3feb0cdb70f9537923996b226b947d77585d4c89083c032c1e73da5c53042c5f9e53a48392fd2d87b5809b5bc57c9ae3642d8b7ab050cb034218669383e52610d476e39ca08f33c4453891ac35593495329078bbb6dbbb8703268506efb94b79b44291c137f3b69e4432ff4658549919cbff763b73a5e5e4ac0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080315156db17212ce4a19763c56c6a60530bfdecb30d7b28638f8cc4f1718fa4e9105581e03890a07cb40ecac4f683ea2c37193b13f3738ea41d64dfb58fcc975d6b007011bffffffffffffffff03b68b92be428e026ae27745cb32c75cdb62faa6b94d52c3be5ad114362fb0b3dc03416b2a84e0c8d4f332ff259f14aba27806030d5bd32d780e846a9f548d7784bf05581e035334c602eb23d57ac9d920d0c97fca4e1ad8df37c5a2ca0f856ff0a690040205581e03dd2e762a991057af17642851fc082aba4a9bf5607b57fb12cf9f00b290040205581e0351b309be2120ab127f4fac28a33a2aa23c3bb31e3c5ab564a82b82b9d0084768b66913ec900003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e038ff25038c6c50c647933cbbc33a5e42d2cb3790abd1406b2d36ab2b66007011bffffffffffffffff05581e032aa31ff2916c8480c5f972b6d00873027abb8260521ae482023e3d21300c19021848074d1ab579f829e805581e031eb5b594bd9e3bdda353a3def85732336f56e8801283397d623c2bd5000c02460ac138ecaa00034ffbf223c5070bee6aa3068612573059ff35f82a52878f583d916955bb14456b033b2ccadcc9013a139a95c083b97c6605691d64ac535b54cc027b9922762f91e30219deec0381717cbafb4ce3c09b56cec44de0b7ac2582671391216fef9d4244b10ef95504032e16581da545c068f9da07555c95f9159319d3eea88c2939f19315f510748a9e0341762b2bdbbf6f8bc7d9da971b1b1894883e395c5c100e3414a1641793353f56036917fe4b004bd72eefff100cc3356f424186466aaa05b543762729ceeca126af0395b49b0ad4977175b746bac300bbab5939328f7e5374bc6e6d00617ae94c62c903617225748bd6931ea415acb01df0b12f7145a360d1bda578fe06d5ab90d83922030644512ea261c2372640c9035808398072a567affef34dd780b736090cd4d25c03276851eacbd6d72c7699eda033570fd537c7073f3d49411d858f74a152ee96980219ffff03e947d952186d0e589febb48b1d2b01bd9f5f6452084234f3e9e032c61ea7caaa0362179b865a926b6ef14554887cd6e0e8e199e92cf538547d3ce4174aafe9fa3f03b9fb49fb6a7ba650eac02f3b2a3de7d64a0264e4aa132255fa935fa39c8b363b03266dc15149f0b2aa95704c00c2d3623fb8c02a4d1336724ac97ac257c9a9caa303f82b7dbc71c85c5e3712e9b2efc6ae6b87978fb24cc8c93feafdc9428c7120a103dabee4efa3dc6da7826abce14106a56aa024a607f44351b87db9288e30168f81035cc34e1926c6f3e5fb43286300ca01ab0789a4f7e1fcbf07af6048e89424ff34031881c41340c174085abc02fa9691ae9e7422c3029d4e0447b52743c1b81ab4ee0219ffff03b2e75e1493b12b1b913b4950150cb9b84fcc8637846ce1cd69d5dd6f42cbbc7a03824fc4ac21238a151a8e49410d2d2de1a92caa0be13124eb39e2ad2b5d97ea3d03dacb9270092ef557485dead759d51a49b05be6ef0a022baec56733fe73838b6203eef04382eb573d8f2d00a181777ab4093766d63d2141e199387ad6798e180cdb03c0f33441d54473057111174324930d2cf8f0ac686fb3426a2f6cd7b71e24705d03498c05b5c17ee07b48b6e77609076b3745aa7a1d61083b4a5a9c8d3aa372cbd903cbbf62dc69d3c5cd72bf68c374d4c481c2240b23e268342245ef40b7f184ff6803285f2eb248149c8d788e466106f05ddef98dbed6c12b5850736ede2f8a1077c303a381d4daa17b2ae0417d207f805f778c1de991a00bf611de9d640b7bbd55a9c30219ffff0219ffff03477d0f078cf630c8bf188a8c3cf88926fbb9519e0cb8cb351864caa82a2ad62f034bd95be3d9179d40267a407b91d7120c682f84cb1ef752efd6ae2d62360a8c2203c3c21acb0fb230111e350fc6d3ac53e59b081bde5d78a7efc2ec16eaad1bed0b0377797b20aa924794cc64b694754d6b8dafc935031bae60dd2b725c1c18fdc27403a0eafe9e3aa275158464380dea6bbc8f6cbabe959e3e5b240335b5d9a278cf7a0355dd98bcb537f6d3decb397b4e4adcd604365e84aa662bcaeab8bedf572894c403b33efdcab7a9497d4ff4e9127efa78b8d564ddc69ecb2091bef5ae2d9a9821e2031099c7bb042b36866905e8499c91aa46665644af5b80506f9e7c5cffa785d54e0316154ff568063874e253120d7ebaf2b0f1a0403ecf7bb362c569453c79837e390341246c5b84c0cfe57026def80e90713eff0088e610da3230f4e394769097cac503ea0ee7853711f904e1b350112bfaa00b466b3a4d38d488abbace631c5f38a62a033e2ae15793095709448ce99147506624c8741dcc0bda7d5087e118c0801ed1c003c2a1b88fcda88283cbde6114a67db83eec9f96e1f3ef44cb397665fe48dfa01f030c99683724c408b3c7e9c27bdabd0c59246164eb169db48bdc4599ab4c9ce7cb036c001cd4ce51a8fd264e10e8536dc35a1b7af85dc5692c4cb8ee593c1f61988303a5213855fb1af12ea6555e5838a3fb71b0586feb75fb9bd69356c64cc106b6e203e06c4512e4a24be5135afda236c9001e48c6c4cc8cb0d5819d33eedb90d18a5d05581e03cca80699a7953aa1fe46b43a46e7ad77ff0f6efdc5fe15ab81ed5b3680040205581e03d889b98824d42e3cc2810d4857c7da973afd65d530593c44dbaf32b6d00c0146a2ccaf6a300003b92102004d43d9fdf34328401421252d61ed35663004fbba6228caaa32c253ce03abce5a4ac315b9f2068549938568f007018dc7fef293ebab6cb4f4a5931cf29a03be993f55ff1355cf430ea346f1dbf702587921351001a9c5a8274970b6d02fbc036fab96dc5427078e1227fd268bf43915b99b587b4969c1b51edc8647a9f66de701410105581e035993aa12d70dd2e6cedcc8c9cde8cc6c4b4e1dea189f77394f6b14199004010312cd6863653999b13c1c86eb01d40f0d2d3fa79874e8c432448610c87ae4af45030b95af39e8aaa900efc4a5cb2c826930b92f383c18d909be32a6a11365e358df05581d02958b18279209fe67171755576da28322f7ffdef5c7b3bc30df1e895b07011bffffffffffffffff05581d02af34beda108c209bd4091210ce4a180f9707efc2b675678e4ae71c4b0c02461529aade7c7005581d022f5b2e6f650ac101a9e23f6340ddd9f04a287c1691e5d303f5a69bc3084751b660cdd5800005581d0220fd62e4b58d69d3bfba83dbad10c5c712a6564700ab152c45d66331040305581d02bd09e4e79897b140eb80b07c56332665db141e64fd013177962ca65f0c1a0003e8fb4903210edfe9290837590219260305581e038289a5b1fcd77f5b21bd78e305aa5bd61f0821ecad65585cc8a7bf4f000c03470156848bf840c80374dca646708867f3bc110973edbc002bb3a28408435d3f13c46671da0120e57f02195eba034c435c5fa04b7530ed7ee1dac56da865f36bf96d9882fb18adf1c1a56309230603407555343bc0928e00b83abd14e73f118e6be1b05b933b12ccb685b1ac58cf2c03f5a7834281994c009e099b7f2abfb5bc419f0f6152b31f5255e8aab1813ee1b00219ffff03edadd0d5202545b06ba4ac121fabc3aa05c6a3a6bb7466886eb86bf62a1f58900388aa6b605c6f13c6420a576ff3a2b5e602820f6d4acc4cdd5ec8b30a9a80103d0365e09f700bab161345d91aa4abac3a9dc3311d811a979d97f1ba84d790f00b2a03c50bb6a7bd7d88597624ded9216c0638fc12928079ed0181d7fd6f3a573ab5130321633d6dc3f0063ceef4b3d6c7b9f75e248c013cdefd713f9269f516fd79a25303872fc1fbff415c34bd4ea97e93c310790da92027e8da98b95b77dc2560f7bdc803089c478c754173e63a3bda2bbe2bc325c29a87859d260a85526d7d0eabd06004031e92b1d97bd3a871d448f2375af948be35d6297b51a27bf05d710b8b7a7007190306ff5ade22b59cef649b07ce421d6670e2a0bc0e45dd681539fd7e6dedd4721703fcfda2dcb4bd1918773c47475496b759d059475e58ccdb671abdebe82cbdd3d9038a512d7fa5eb185a26ea05f0fff40a97e0fc70af8a87ce3ee1f866833f75c8df030727be42d78d9d26134a5cf7b401691dde1ab07119f040d6c0da63955083b4970378b6c51c7c9bdd953ee1c917b44660ba91a7d99cb265a20c662cc104ea675dbd0219ffff03216c34121ca644d58e3db5fe31dab62eaee9e846a4bd923ee72efa4d1ce3b7d00348ee16445d2da9683823da2c2dd512bb886eebbcbef3025dd1607bfab31633ec0384db29a82a3e8e5a170d01627420cc8ddc030ac4abf713e3f765ea47eedaaed603ebb38bdab4d58236ab35f65d3e2f44beeb55011d4e0dc2de3d0a0f5c5e6f68e003e3cfd83da710e9f7d82946151aa9b42f950e10249a199fbbb905602ecab945ca037832f61912e3b2ff6138a4ad106a0463c08a46043981393cceb7cce05c7826f403647bc8c78413df7ea62f9e5cfd9ddbe6ff5c73f9ad09e25cd0746dcde249e1b20341fcdb6304b2b940287329c06d84254120561110e9faddaf8cec40e4de23a74003552aa9f62a41c005d1b28f9180fe60f1c8e4e4f35de6072154e2e60fefb4c93403c99e658add297941b8e5e5fe3590b2efa406aa0baa4b5ad2e051cce3d53b2c5803d2b532f435e38cbb7e3bfe21abee1f8e3e62f469d344813f2c4ed9baf302d7860323b45b67488f5fba9d59e14454c2d0af97204e5cbf000185dd408e95d4f3718c0219ffff03e4dec8aff6cba0ed208d7f1b3bb5127d5c8251343cb375084594ef72330c5d0403a4bc14e6a32b297930120dc00c5e4e075d20e861ada7a2fb8e6edc875c3c5a4403256ae613ac5e57bc9d56a11cd9f8cb917f624fbee6d0326f1b48d25618d4a1d603bfdda83a8c7fc62cd3d09035ee6abdf72109aceb50ab07ccf237e0be53020043033c258b3c7a3b61e293e109ee97c65b487764b860fb4d16bd58e493ec368ebd7403c6296b440ee847c6a43935cfc17a1fa8a543a4f4427db349ab57a5e70bc3d4d003e02afc24b63e45c8e92171f13ab0e2f7e1d1854b3067071c602be3b67b47bf0503bc52667b0b3953b4f7bf127ec5c46bce2a2a8cb401148fbb4c7f5d78fa8afa6003064f9b0f9693ab6d98737fb7c30401fe2a9226e663b172bf0ce1752a88b5fc8c0369fd21f950b4988c19c33148e4a32ac70ff3018c217b72ba3f22c673ccce9c7803616a32f5fe93d77713bb0ef17f5eba49e7f43b71246806a89a8df0d290e807db031639b2ad0589fe71f1eced9f2251b374dcf3c895d8363720c695f7fbbb73220e03977421c23b81f424db38829cf3d0db3d5254cce3b3c69b983eed2a6b69962f08030cf6380d4e588cddc1bd9c336642cb3a8c467aaddeb32f9d7d46ecbb8890986d031e0faed551c9209b7f6b3a07c9d04a0501257e0e6afdb9dabb0a4519b592841e0219ffff03b3d610de6aa4e80e507970fa2bf1eaa30e83e76e9bf0a081c339b34844959fcc0387dce70f9ba81bdc8dd96f2f5911de1a93b8047271f7de3f37d2b54e2d837986030212ee9b12caa2d6e1ad802515cfbbd1bfdf0cb38310886f358e33749ea40d550337750ca05f5733105d06c29ef441b39ad8d40d54a416f53e63ce70a221c1feaf0356556fd0c3a69eb7eb9a631d0d762bd0e1c908e634b226876df41f8659279c85034b9c89e126dcc035401e9e3abebe0cad46c0eff2f170749cfcb88ebb487df73b03d8b09032bf4e3c57c958b425af6883c734d8bdd8cd54fefe295e3857927e56c60360093a20be4f00216a7eab78a9280ba834e3685b3dc2dfd3a54e9f71f2384f17031cd6db3e2d96ce396676fffb0a3a0e65e6f55fb028160b53ba586bb8b94b92e103656afd1b07fb01ccde126b3802123ac7fb2d1f22887ea11a50a39e0c76470d2d03b7ae34095692053a9540a5c486ece5011a4f182e4d1c9ec329642bb622d01c22035ca431629559406ac94e437e6ed751340aad55bc1e5fa90d420a3587a76372cc039676784b591fccfe1d9fcd4e32f5efb3a0b6f95a6e05c1412dadaa53ef7fd2d60394addab3d3ad7a020702f2ea74a5a7bb6f828ae6630fed8a5fda76153bba4fe4033fe3c2449ba09db7620f9285f8d6dfe3f263b990941cc23dbe88892909684e64033f16ebcfc1f7e12e355324aa8bc7f391e4edcf3d601301fe8dbfb25d8a3fd4ae03ee61f00d8c7e64ad365bb44a339e51bf90a64b0168ea9b59776448e3da290b270386f1a8ac21fe48bc9a40ed5ce24ab32f9d0fd049de36ab60db7082b05232e744034f1b60aff8eadf0de9d2e0624931d3fcac3204cc92968e2a7d8fee2e39241149035de45cdea68ae3bb777b9135853aba28ccdd8f9c751f3a3dec250aeb75da3f5f036e140fc9a481233c33e957a08412af4759466263c65999b8d8bd8bd444eb24ca03e542c71d95d9315c271a82e4137f87531a31a0775239003a0441fad433db7d9403201a9a2620c00f9ceac78a2593e5e12206bde2c2f6a13735a8009c3562752edc03110a75187daf82cfb40ce0b07aceafc3f6ba1b55ea4c7a3179b57951022e32800330a1410b09477263f33218819a56e9ae00290d74e226cf1a0080442eb1bd559003f6f6c49a20c7809b657d02fb7704fe8b8621b641b1b852c5a239ac0927728c7603350b3dddb2b30807a96391ecb47768265133990001c1db890ee53334d58977e705581e03f746785e56da0dc8a691026f181c9d1422c84cc4d730b5fc31685393d00c01470afc628ece8400045917de6080604052600436106100695760003560e01c8063715018a611610043578063715018a6146100ea5780638da5cb5b146100ff578063f2fde38b1461013457600080fd5b806301e3366714610075578063434ee01614610097578063566ef762146100ca57600080fd5b3661007057005b600080fd5b34801561008157600080fd5b506100956100903660046112fc565b610154565b005b3480156100a357600080fd5b506100b76100b2366004611350565b61016c565b6040519081526020015b60405180910390f35b3480156100d657600080fd5b506100b76100e5366004611350565b61039b565b3480156100f657600080fd5b50610095610493565b34801561010b57600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100c1565b34801561014057600080fd5b5061009561014f3660046113e2565b6104a7565b61015c61055e565b6101678383836105df565b505050565b600061017b6020850185611404565b67ffffffffffffffff166000036101dc5761019c604086016020870161142e565b6040517fc3baa0b700000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b6000806102386102046101f560408a0160208b0161142e565b61753063ffffffff9091161090565b6102116020890189611404565b61022160a08a0160808b01611404565b61023160808b0160608c01611472565b898961060f565b9092509050600080808061024f60208c018c6113e2565b73ffffffffffffffffffffffffffffffffffffffff166388a4124c61027a60408e0160208f0161142e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815263ffffffff91909116600482015260608e0135602482015260448101889052606401608060405180830381865afa1580156102e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610309919061148f565b92965090945092509050600061032560408c0160208d016114e4565b61ffff16156103435761033e60408c0160208d016114e4565b610353565b61035360a08d0160808e016114e4565b905061037385828d604001602081019061036d9190611472565b85610a5e565b975061038187858584610b3f565b61038b9089611537565b9c9b505050505050505050505050565b60006103aa6020850185611404565b67ffffffffffffffff166000036103cb5761019c604086016020870161142e565b6000806103e46102046101f560408a0160208b0161142e565b909250905060008080806103fb60208c018c6113e2565b73ffffffffffffffffffffffffffffffffffffffff1663c1723a1d61042660408e0160208f0161142e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815263ffffffff91909116600482015260608e01356024820152604481018890526064016080604051808303816000875af11580156102e5573d6000803e3d6000fd5b61049b61055e565b6104a56000610ba7565b565b6104af61055e565b73ffffffffffffffffffffffffffffffffffffffff8116610552576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101d3565b61055b81610ba7565b50565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101d3565b73ffffffffffffffffffffffffffffffffffffffff8316610604576101678282610c1c565b610167838383610d22565b60008082810361064a576040517e575ea100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5067ffffffffffffffff861660008089815b868410156109475760003681806106748c8c8a610d90565b9a50919550935091508790507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff851601610759576000806106b78585610de6565b915091508780156106da57506000816fffffffffffffffffffffffffffffffff16115b15610716576040517f052e551500000000000000000000000000000000000000000000000000000000815260ff871660048201526024016101d3565b6107326fffffffffffffffffffffffffffffffff82168d611537565b9b506107506fffffffffffffffffffffffffffffffff831688611537565b9650505061093e565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8516016107b657600061078f8484610e64565b5090506107ae6fffffffffffffffffffffffffffffffff82168c611537565b9a505061093e565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff8516016108d457851561081d576040517f052e551500000000000000000000000000000000000000000000000000000000815260ff851660048201526024016101d3565b60008061082a8585610ebb565b9250925050816fffffffffffffffffffffffffffffffff1660000361087b576040517fa169d0e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108976fffffffffffffffffffffffffffffffff82168d611537565b9b508f67ffffffffffffffff16826108af9190611550565b6108cb906fffffffffffffffffffffffffffffffff168c611537565b9a50505061093e565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60ff851601610907576001965061093e565b6040517f052e551500000000000000000000000000000000000000000000000000000000815260ff851660048201526024016101d3565b5050505061065c565b838714610983576040517f990776ea000000000000000000000000000000000000000000000000000000008152600481018590526024016101d3565b886fffffffffffffffffffffffffffffffff168611156109e9576040517e84ce02000000000000000000000000000000000000000000000000000000008152600481018790526fffffffffffffffffffffffffffffffff8a1660248201526044016101d3565b80600003610a23576040517fe5eb8f3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a2d8186611537565b94508215610a4f576064610a42866066611580565b610a4c9190611597565b94505b50505050965096945050505050565b600080612710610a7261ffff871688611580565b610a7c9190611597565b90506fffffffffffffffffffffffffffffffff83161580610aad57506fffffffffffffffffffffffffffffffff8416155b15610ab9579050610b37565b600086846fffffffffffffffffffffffffffffffff167f0000000000000000000000000000000000000000000000000de0b6b3a7640000876fffffffffffffffffffffffffffffffff16610b0d9190611580565b610b179190611597565b610b219190611537565b9050818111610b305781610b32565b805b925050505b949350505050565b60008415610b37576127108261ffff16846fffffffffffffffffffffffffffffffff16866fffffffffffffffffffffffffffffffff1688610b809190611580565b610b8a9190611597565b610b949190611580565b610b9e9190611597565b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b73ffffffffffffffffffffffffffffffffffffffff8216610c69576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610cc3576040519150601f19603f3d011682016040523d82523d6000602084013e610cc8565b606091505b5050905080610167576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044016101d3565b73ffffffffffffffffffffffffffffffffffffffff8216610d6f576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61016773ffffffffffffffffffffffffffffffffffffffff84168383610f48565b600036816001840181610da4888884610fd5565b600292909201919050610db8888884610ffc565b94506001820161ffff82168301610dd181838b8d6115d2565b979b909a50969850505061ffff160193505050565b60008060108314801590610dfb575060208314155b15610e32576040517f4796aee100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e3e84846000611021565b915060208314610e4f576000610e5b565b610e5b84846010611021565b90509250929050565b60008060308314610ea1576040517fc3a1858e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ead84846000611021565b9150610e5b84846010611048565b6000808060128414801590610ed1575060228414155b15610f08576040517f8b4aa70b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f1485856000610fd5565b9250610f2285856002611021565b915060228414610f33576000610f3f565b610f3f85856012611021565b90509250925092565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610167908490611063565b600060028201610fe7818486886115d2565b610ff0916115fc565b60f01c95945050505050565b600083838381811061101057611010611644565b919091013560f81c95945050505050565b600060108201611033818486886115d2565b61103c91611673565b60801c95945050505050565b60006020820161105a818486886115d2565b610b9e916116b9565b60006110c5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166111729092919063ffffffff16565b90508051600014806110e65750808060200190518101906110e691906116f5565b610167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016101d3565b6060610b378484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516111a6919061173b565b60006040518083038185875af1925050503d80600081146111e3576040519150601f19603f3d011682016040523d82523d6000602084013e6111e8565b606091505b5091509150610b32878383876060831561128a5782516000036112835773ffffffffffffffffffffffffffffffffffffffff85163b611283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101d3565b5081610b37565b610b37838381511561129f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101d39190611757565b803573ffffffffffffffffffffffffffffffffffffffff811681146112f757600080fd5b919050565b60008060006060848603121561131157600080fd5b61131a846112d3565b9250611328602085016112d3565b9150604084013590509250925092565b600060a0828403121561134a57600080fd5b50919050565b600080600080610160858703121561136757600080fd5b6113718686611338565b93506113808660a08701611338565b925061014085013567ffffffffffffffff8082111561139e57600080fd5b818701915087601f8301126113b257600080fd5b8135818111156113c157600080fd5b8860208285010111156113d357600080fd5b95989497505060200194505050565b6000602082840312156113f457600080fd5b6113fd826112d3565b9392505050565b60006020828403121561141657600080fd5b813567ffffffffffffffff811681146113fd57600080fd5b60006020828403121561144057600080fd5b813563ffffffff811681146113fd57600080fd5b6fffffffffffffffffffffffffffffffff8116811461055b57600080fd5b60006020828403121561148457600080fd5b81356113fd81611454565b600080600080608085870312156114a557600080fd5b8451935060208501516114b781611454565b60408601519093506114c881611454565b60608601519092506114d981611454565b939692955090935050565b6000602082840312156114f657600080fd5b813561ffff811681146113fd57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561154a5761154a611508565b92915050565b6fffffffffffffffffffffffffffffffff81811683821601908082111561157957611579611508565b5092915050565b808202811582820484141761154a5761154a611508565b6000826115cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600080858511156115e257600080fd5b838611156115ef57600080fd5b5050820193919092039150565b7fffff000000000000000000000000000000000000000000000000000000000000813581811691600285101561163c5780818660020360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000813581811691601085101561163c5760109490940360031b84901b1690921692915050565b8035602083101561154a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60006020828403121561170757600080fd5b815180151581146113fd57600080fd5b60005b8381101561173257818101518382015260200161171a565b50506000910152565b6000825161174d818460208701611717565b9190910192915050565b6020815260008251806020840152611776816040850160208701611717565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220eafb0c867f7c9a04f07568a27ffceccf0caccb0a5b31fef3cc0797ed446a7e2164736f6c6343000816003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563549f403140bc0574d7d36ea472b82daa1bbd4ef32705581d020427a4e3b79ea22ba99ef5d1ff73d4c5000f82f1db93d31e30d36b6607011917de05581d02638e2431236c8153efb3242c7f0316514330507120ea700171b47255040105581d025925159c2eeefcabad36874bbfec3096ce60c8d7a675193a9a1e9a8a0c184b461059bbaacc7c02198a00038f98ce0f9c330672c319f494113af6c59d4455c892d2c8bb8962f2ccc8eee9ab01410505581e03c579502b94bcd1166cbd8ab846e211bfc66bb941a3120df5a06b67ab60040105581e03cd5cbb7bafd533cf798f9951cb053df672e27ad5767d04e246a0e489f00c0247023e9c7a43a88005581e03df0c00f868a9c61624937d7cabe3a2446954621231e99a2f68f5a59e700407039d6ac45594068e7b8774c8a4db135c2dec4fa8c941fa369599d6662c832ddd7b03db5f692ba158879fe091688a6bced4ff11e07f262fbc37592ffe16a75886bc550605581e033d6f2421740e8fa760665ec89c5731d33a4f7d5f9e184e1557e14d292007011bffffffffffffffff0219abe403183dcd20b731c2c36b512f80c030360427e69a0d636d577e897112122d1314d703ee83aa71efc6514d6dd2416a516e348a70eb29d003f70ca57ca5a224502c9c55032b9f9cc318f430b94f7743a07539716499dbcabb810c5c77a2b3d68badbdfecb03ab1fa02a526aab46896cc4bf79a058a3faad294767f8151ad671fa9d162da61c0305e4b0b66e411cc700144f11a9550bb5868f512ce43cbac929890837f4372d7a035377cdb5ceb8605eecde23c3123b33f981c1907514c739c519f9946ff83e9c8403f87d4f2c15ecde0c7d09122e4d6027908aef000a20540d95bc977cadff5b518403c5b3bd18c5c27b4898a9fa8b7099d8bdd0aff486eeee76d43b79b567adb6153f031a799d30637a5bc226558f5c40dfca4415206fce439e16b1987b504c80636c150392bdaaa87efd0b6ec259db34050bd0b832fabc1520fc1ae9e1e4934d597b13520219ffff037d21f1f632294c98e7410864b070de70eb299a1c981b4e789f2171709e425c450219ffff03c75dc4ef936f6ae97c43dfddc7d7607bc4748df473e6692b157d1d233a7e063603a6d18a1c984f08b8a7c23aac26872bf5245ee0bd46d267f7b6d4258f79a2d9d80308acc806debf8a3180fe2c41789239036e165a39f08e6b3f29e61ce5278099fc0353ad850ed6b534ae68595fe01b3529b547d83ce1b8d2d4e13efc7b9e776883250351cd1930ebedc1d7ce2be27facfa2c6dd90c06248dc5f3058e5965d9934cea7c0306b345644e9a8a695571cdb3c0f847e94ece647a11bb2db70a7c3f737d8d8afa030c8034ec54a68c274d2b5eef965ee3a1c765d4becba48466f608c5c055f86f0f033f28e5ba56cf18ffa9eb89e6d168fb7de931042ffb423af0f4a124bd621eda2a0335d57779136bd962e1c8159bf4b7ba7d9f406a02fe827e2e52a6b22bab5e7eb003d50cce965623e4ba3d238b216230e1d59d4a8f03637bef190335cdf50222a0900311709c9dbbce2f7058787c0191fb3f6b04bfa0f0c7e16cf121ca01fa7f98daf00219ffff0323fc4f248e1f901bac12e84d6828677c655667723ba39feeceb54dfd411a628c03a2436e7af3b1c56803c888c46f0c7076886bc64510d9ca89abf62f8535ee1d0303072c2342a82da12a2e97f320a6d53c58740437ef147439188d04c8659213db9c032cb197e0149249aea1077f68f70d59dd63a0aa76e25dad064f31ae9dd1912bb403bd104f024cdb25c476f9fc3f4d011f0dd3835938e480b3558e45fe37fcccfae803b7a4987023bbb4a04085141f4f73fb922ad3b36ea2571f5d9e31e145889805e5037937d47421b73389d1972ec87b0b5abf08ccf21ba8c28913fcb072ed0781beb503f9e756122d7ea8e861002bfb5605418847709ef4ba7af2001674d4730342deef038ada9baa5e581153440aacf2aaa065e2785f98c9efaf98d9ac84d718111eb2bb03fd65ba018e21418ff42612dfcf7d436f5c7d790d0a0c245a5b16048cc3b9ea58038ae08ba536b98155734528b09a1051e6e1f65dc644ac6e1fbc439a7da7de2198039b1cf1947f82c1520bb462713d3d49ddf90d54e834ec23857482af48a52a24e30219ffff03fba3c711015f77714f1e543f720ac4964fd7424a18a39e80e9cd4d06e9fa2aae03ecf7ac929363e923c918a864b78a1253a733626cd9ae4522d902e93457e68daa0391306410bc1272fdfdca1fbb5dee24cf996dc610542525dd53a8f923d04eccac03fbcb93598ba644cf0cab36bc000aeac80eaa6147aba8aeba237ba733da86395f03b8c3818b21d8f6a096fd85e948724ab8f81c916b644b26e50d430a2c461fec0e03278855461f765215412cc6f05c165ed5eed5acd5edf88ac49f927547f1c5bc4103c8d2103af6fb1e76c4b3707d1727c29f2d957c9eabccfb232da2a6c2e6905c4d0367a458aea6c92382dd3dd43c6beefc94258e13ac29a1b8cb38afee40cb76eac603bee3d64699cae0d04cad52c54d08eb37312c70ae5552aa5d3a58d6d519ba68b503a3ec00c1591f411f36b268463e0b0189ed3dc574fe668634ad6dd0bb5c3e697803a2fd785f66598cba7c842dd9799f4613c35ce295667d87ebef33362311b1cfae03f89ea445c60273347743af7e68504f166978010d3472668df3820286c35069a20328fbab2064696b8e455dfec71dbea714454a00516225dc6043d58e929f248dac03ecfa78d844a980343b14b525111e306d6e30e5c31e1370bf81773d0e41f90a700312f3035def7a437ca28d980734e13f0868424cfb8d8173d80745db63b911b5210396941da9b57d6c0cd5ed86b868dc4a3ba2272a0dfa68ec4aca05d3410178fac6031bbdf5e0d642c359afb6b659fcb1aa859a724f8aed3a04f0e4ead2febd37d0e703767d9344adb845f1b0b4484978a653dc780036e6224890214d37997d5d41ace403c9cfa9bc53da03bb28b62c3088fac99b517c9054915e79ab137311957ecd60b003b12526a52e37d4fb052800f7377667dfc9eafbd47e940909b9615c6c22a1bae9039f61d69794be047e4dbb76d1b867a8f56dfdb1c9674bda70220697f3f0baa165037a7475cbfd72d9a24d557fba4a95a0db874a98a02bc4d638120d7455d58782d4037155d79681cdf15b0662020cdc4c95cbaf1225f6408fb28be78088452e61f60203c221de660fdc7d3e82f8112843c029889cfb6530f3e96ee730a813705e03294703b204d0b39c429d1b03406d41426637ea5774e9e6f2e49ceeaaad650392b8dd4e03a3d6b533caa2a26af814f678a45627dbcb5a4787b8603982d2ff8d25f1950b28036aaf4379071f08f0120dfefc454287b2401249f4b32c3dadf9e74814fb7bddf603a5e36631643acca3d50bf6447347b6b7d914ddb01a073d9c4f4ecc8e5ffd9a260397a0bd4261d929ddd5a19206c8e46befc97fcf2fd08697cbdd2182953b740cfd0397539d8a8ba84300f04751a0ce93def59d40eaa91621394c2cc73c5083bb829803db09edfb4a049e028d56d79f7f97e2697e6584c9fd10cc9a6aeb5baa2809b5a203cd2356168d645f854c6e78e2aee78aa74b2ba8bb0d7ac1ec08ae01d2f13e547c0312ed8978dd083ef962927f1caf25918456e3a6d072b83c084b6298c2de756b2603cf291797ee5d863f399a8093c4e26e787688bb24592e12f8fc27b6ac14178c110352ffbeec0eb271473f497a4263e3d2bf618a165fc01da8b1f5170ff6fcbdae6103623037a9dd798994ab1b81fae195950ac6fd21537f85fa9aef6792ae0250bff603126746493e86da490eb157ad56208f6ff911effaa8543b2c23d0dff10de78f1d0302d0fc205dd0a1c7e1f82bbd79aa7a96434c4ccae515361f4c7a48f17ed3511a038c32def9e4fc03f358ad5dec88995524891a2c93199a0d72c2124f7951cfdb3703e765b456ba817523fb5a8e75e9eb155b6b88baa241a8ede5313014da5bb1f1ff01410805581e03c460da7af03de055ac41aaad6c37d06388fa3c9f96f367535d4ab05040040605581e0356ccad7d80053924b47f97ea15a5d8d92aeef6a0fbfa3c843f9d2fd3b00c034658910c4ee80005581e03841aff4e4648202b901536d3707c2b9092dc085ada3013206ba09d2eb0040105581e03b77d5a394b1293bf9727157a5eb9c614093fd8d324492a09cee69e0bb00c0147182ad6e903c12d0459016d60606040526000803073ffffffffffffffffffffffffffffffffffffffff1631915060008211151561003057600080fd5b73af1931c20ee0c11bea17a41bfbbad299b2763bc090508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561008757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff167fe659bb22726afd6009b17c3ae23679ed41784f382129f7fb0b2ef6776e0413d9303385604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a250500000a165627a7a72305820d2aac5a915bf75f10f6a15e259465232009528ad32ea5743ce152309fcde2dd100290605581d023de5333a73ce84572ae0098377ee166c66dedcfba7d6d2c4a1e0a3f6070119016d03ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581d02af768e7deaeccede81dc5515a452c404889fc27423a39edcd2c5de7a07011bffffffffffffffff02190802030942fddd8341031b64d21556a2adf80f25d934cc7fa996b6f2d7e097c26bca2c031e4d71127ba8b3187b40d8d58fc470465fc5cd2faa774a779b91c1f9957908d803c1af8ebe16f412db47365e537b17248f3e9ee5a69426cb2a62b50ae48f20f3ac03f8a9d9b01f500ed17b67c19252f273d1cb9bd430eaf6bb353e3ceae279e9fd8705581e03a1bf088817b0e01c1f7166b7dd8da61770747322b310f77ed8e6c01ce00c18344711a5f3e168061f02191fd703b26238e6742671de30140d93bedea3ac0ae0a1410f646b0cbd7f7ca56860462a0383a5695e56c15d6ad108a7877f65b82d909d5e60ee8962318a47d356a2d4164c03c97164de5175b00b1001f2609a9a61829354d856824dded0cc45ad3901486edd0219ffff03c712c9f991e07a6622745c9e0d5edfd0255f38fead727e00a5e2d5bddf70e6ae03c2aeb74606576a2a55b02ce6f1c1963c6645266b8648180d03879fa4f21131b5035c75ad8025e5de4f62e1489071d3bf57e9f2e8b13b2d4a9844d8c70b0ba3b1f7038e7c7d1bfd307f711ad904f538db7807badf8f5a01c711224aaeba56988369e60219ffff037b81421b401ff4e08f69beec05538029e02a2f5e3283da64689d6553507326b6033b6645573033bc0ccf74da4b9842eb364de6f3285504a03039341050b9c52c9203cf1bc44e7667d894b45a2ea771ef7c6b912182235195e01eda7bf8f54d4acac203b7f61423f83a2416dc7e84a81ccbddff49f39e2d2cb5f0fddd19cf7e16d5d55403c46e902c8c2635941eaac9f8486ffc0d1fce4d317e044f28039d0e2d001e70b603fa34654a711175c9130382389235831b327a69dd71b5e80be848fd14068f7c7e0219ffff032a678749a09b78bba5c48d3da77583e33514136b366a7696b77213d21d6d4b72039b9f852aa970cb14c6990410971f49b7397495ff5d649c6120e73c74be82ddb00320b2c2aca1f28cab08087445c5000652442714882c66d36727ca2ebe243216e6030e52aed4d5c7d9e6fa803de13c62762d529390d36a4452409c08f24c399b024103e47e7d50b3bdf79d791e7732ad7fab963eeaf327d40e99e36181b38d5309dae3030144a9a98a5c98a64c5f355171a1ae75bdcd11faa802d8758cf4d8b0235889ce0353efb742844fa564024c32b833ca388f3bc6fbc02549c7ed3b3005b682b3614803bbdf3eeb026fee81574d4b65723ae016f07db1fedc4f269d51556025b3b2e05d032d91c5540ed25f7eb0730bd56f286721188ef6abe469006adef1dd90b32253fa03a7156074f474981ec4a058d725bed5e3efd0c44c055d81b94595543fa4a0ef6803bb628eca397f56ad56bbbd52dc05be1671dfc9c2ee97e0206b0fbd69ad4f98b003be90aa7a39544a91b2cfcfe5ff776a793c1fe56adc82f2fe692565c5d86eafb9031137e7cce39db00e653903fa6dd32a266d3954a78088b97273796b8a611c67c103e307150526a5e80a9191b1e165b4fb1c56fa74a61b0faf65fe7c95f09d9872460350a5b0ed1f3db66edc3116fa340d0fd37330670056005c2e464c33b79073845b03b3002f1a704605da77d6337c23973bce42571382044b377753857e38fc80367f039a1cd9d5fca62d53112393141e185a7d19cf5bee9e2de6b8e72c228d18e845b8031f2bc378a4d23cb42b9b69106e46dd01aa88b25d0afaebe84227d11e8017295103fd8bd8280c488b86d1ffcaba7701f9a98c8737fc2cccf36504123783d1df89d80319c78466ba828962708f0a5fd0074ff23888c9e5527f451c37e4324523cef1c803672c5fc7c44a1df9918d1cba4f52b75b342de83c1283ec63b8954bf635428c940398eb0f21b5ba792c19976dd088c1e32f608c7516d4985a030843255247c488190385f83ed2f3da3c29a05887c9a213738a13c2bba38e6ff739b72125281acf61f905581e034005c3015343c149ba30603c456d8a87b2c4022fa45eeb7bc7c1421ea00c014603ad6573715003713657bff2871ce3601484e175c9e009edf7faf4a8a3d29f1fb85a9dceb0968c0377e1bf3ea72a905040d504b6d90c5ed1074b26847f9f51a9e5eaa4f2ca8e227e01410d05581e03834f3476b371e3b4b271ce22d5605135abf8aadb5d85e2ebe642dc94d0040405581e03e5dfe494fe7d655d9faa42ed474313b1f82d06a60d176c41b19fa740f0040205581e03ea58a0ac8fe652f461828e63f22af1970624050a83f9a1068c545866a00c014648c27395000005581e03afe85268e458fa72a6be2b7ca0ee0735dfd55e727edcef669fe48bce40040305581e034edcf32333f6a4e46fa7a654d48662f92acc5a3072c7dcd75ea59620b00c024616993e01741003c0ec69d5bcd1749a977be500f1b80530949c74cdf78637aa89dd4ea1928ac06605581d03885641e54c2a638a545f02d9a386a82a444511650f25fb3ce4785ad00402045911a5608060405234801561001057600080fd5b50600436106101425760003560e01c806349bd5a5e116100b85780638da5cb5b1161007c5780638da5cb5b1461026b57806395d89b4114610273578063a457c2d71461027b578063a9059cbb1461028e578063dd62ed3e146102a1578063f2fde38b146102b457610142565b806349bd5a5e1461022b57806370a0823114610240578063715018a614610253578063860a32ec1461025b57806389f9a1d31461026357610142565b806323b872dd1161010a57806323b872dd146101b5578063313ce567146101c857806339509351146101dd5780633aa633aa146101f0578063404e51291461020557806342966c681461021857610142565b806306fdde0314610147578063095ea7b31461016557806316c021291461018557806318160ddd146101985780631ab99e12146101ad575b600080fd5b61014f6102c7565b60405161015c9190610d31565b60405180910390f35b610178610173366004610c90565b610359565b60405161015c9190610d26565b610178610193366004610bd9565b610376565b6101a061038b565b60405161015c91906110d8565b6101a0610391565b6101786101c3366004610c2c565b610397565b6101d0610430565b60405161015c91906110e1565b6101786101eb366004610c90565b610435565b6102036101fe366004610cb9565b610489565b005b610203610213366004610c67565b610503565b610203610226366004610cfa565b61056d565b61023361057a565b60405161015c9190610d12565b6101a061024e366004610bd9565b610589565b6102036105a8565b6101786105f3565b6101a06105fc565b610233610602565b61014f610611565b610178610289366004610c90565b610620565b61017861029c366004610c90565b610699565b6101a06102af366004610bfa565b6106ad565b6102036102c2366004610bd9565b6106d8565b6060600480546102d69061111e565b80601f01602080910402602001604051908101604052809291908181526020018280546103029061111e565b801561034f5780601f106103245761010080835404028352916020019161034f565b820191906000526020600020905b81548152906001019060200180831161033257829003601f168201915b5050505050905090565b600061036d610366610746565b848461074a565b50600192915050565b600a6020526000908152604090205460ff1681565b60035490565b60085481565b60006103a48484846107fe565b6001600160a01b0384166000908152600260205260408120816103c5610746565b6001600160a01b03166001600160a01b03168152602001908152602001600020549050828110156104115760405162461bcd60e51b815260040161040890610ef7565b60405180910390fd5b6104258561041d610746565b85840361074a565b506001949350505050565b601290565b600061036d610442610746565b848460026000610450610746565b6001600160a01b03908116825260208083019390935260409182016000908120918b168152925290205461048491906110ef565b61074a565b610491610746565b6001600160a01b03166104a2610602565b6001600160a01b0316146104c85760405162461bcd60e51b815260040161040890610f3f565b6006805460ff191694151594909417909355600980546001600160a01b0319166001600160a01b039390931692909217909155600755600855565b61050b610746565b6001600160a01b031661051c610602565b6001600160a01b0316146105425760405162461bcd60e51b815260040161040890610f3f565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6105773382610928565b50565b6009546001600160a01b031681565b6001600160a01b0381166000908152600160205260409020545b919050565b6105b0610746565b6001600160a01b03166105c1610602565b6001600160a01b0316146105e75760405162461bcd60e51b815260040161040890610f3f565b6105f16000610a1a565b565b60065460ff1681565b60075481565b6000546001600160a01b031690565b6060600580546102d69061111e565b6000806002600061062f610746565b6001600160a01b039081168252602080830193909352604091820160009081209188168152925290205490508281101561067b5760405162461bcd60e51b81526004016104089061106e565b61068f610686610746565b8585840361074a565b5060019392505050565b600061036d6106a6610746565b84846107fe565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6106e0610746565b6001600160a01b03166106f1610602565b6001600160a01b0316146107175760405162461bcd60e51b815260040161040890610f3f565b6001600160a01b03811661073d5760405162461bcd60e51b815260040161040890610e09565b61057781610a1a565b3390565b6001600160a01b0383166107705760405162461bcd60e51b81526004016104089061102a565b6001600160a01b0382166107965760405162461bcd60e51b815260040161040890610e4f565b6001600160a01b0380841660008181526002602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107f19085906110d8565b60405180910390a3505050565b6001600160a01b0383166108245760405162461bcd60e51b815260040161040890610fe5565b6001600160a01b03821661084a5760405162461bcd60e51b815260040161040890610d84565b610855838383610a6a565b6001600160a01b0383166000908152600160205260409020548181101561088e5760405162461bcd60e51b815260040161040890610e91565b6001600160a01b038085166000908152600160205260408082208585039055918516815290812080548492906108c59084906110ef565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161090f91906110d8565b60405180910390a3610922848484610a15565b50505050565b6001600160a01b03821661094e5760405162461bcd60e51b815260040161040890610f74565b61095a82600083610a6a565b6001600160a01b038216600090815260016020526040902054818110156109935760405162461bcd60e51b815260040161040890610dc7565b6001600160a01b03831660009081526001602052604081208383039055600380548492906109c2908490611107565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a059086906110d8565b60405180910390a3610a15836000845b505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0382166000908152600a602052604090205460ff16158015610aac57506001600160a01b0383166000908152600a602052604090205460ff16155b610ac85760405162461bcd60e51b8152600401610408906110b3565b6009546001600160a01b0316610b3857610ae0610602565b6001600160a01b0316836001600160a01b03161480610b175750610b02610602565b6001600160a01b0316826001600160a01b0316145b610b335760405162461bcd60e51b815260040161040890610fb5565b610a15565b60065460ff168015610b5757506009546001600160a01b038481169116145b15610a155760075481610b6984610589565b610b7391906110ef565b11158015610b96575060085481610b8984610589565b610b9391906110ef565b10155b610a155760405162461bcd60e51b815260040161040890610ed7565b80356001600160a01b03811681146105a357600080fd5b803580151581146105a357600080fd5b600060208284031215610bea578081fd5b610bf382610bb2565b9392505050565b60008060408385031215610c0c578081fd5b610c1583610bb2565b9150610c2360208401610bb2565b90509250929050565b600080600060608486031215610c40578081fd5b610c4984610bb2565b9250610c5760208501610bb2565b9150604084013590509250925092565b60008060408385031215610c79578182fd5b610c8283610bb2565b9150610c2360208401610bc9565b60008060408385031215610ca2578182fd5b610cab83610bb2565b946020939093013593505050565b60008060008060808587031215610cce578081fd5b610cd785610bc9565b9350610ce560208601610bb2565b93969395505050506040820135916060013590565b600060208284031215610d0b578081fd5b5035919050565b6001600160a01b0391909116815260200190565b901515815260200190565b6000602080835283518082850152825b81811015610d5d57858101830151858201604001528201610d41565b81811115610d6e5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b602080825260069082015265119bdc989a5960d21b604082015260600190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252601690820152751d1c98591a5b99c81a5cc81b9bdd081cdd185c9d195960521b604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b6020808252600b908201526a109b1858dadb1a5cdd195960aa1b604082015260600190565b90815260200190565b60ff91909116815260200190565b6000821982111561110257611102611159565b500190565b60008282101561111957611119611159565b500390565b60028104600182168061113257607f821691505b6020821081141561115357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220e905ad1a7e419ed6c4450c15a3249a7a816cdd698384f84c43e47d9cc66a804364736f6c6343000800003303b5cdb3a0dfec16bc762b7800c7d192a505e9f294a67787650b904ee4e4eafc2103b5faf14678ad5d661395ff4bd131359c2f448b646a9a0c73f1bda3c64324bc8303cf7c2ac083ac86405343026a30c9d9569e1569da70544921d4767b044b45478703dbec9e1b5c6fb39865175baeb819886417da1b0f8826fddcb5b84a615f883517039357019b9aab0e85639c350f8b959050bd5ed73d070cd887116279695d9d2ceb03d2f74b27b00dd1ee4ddab8a6ebf12e90df359a67fbe6b6c0b08b40e7c1544db703d848e70e8cf8b52aceee6dfdc0368e40eebdbb3d02d915016f6db41c4576ef1003284be4b99942c18677d35c6b6408333237039753aab537385a05293eb12feaf303566e7cbbfe12b6838643eed8ef52a9b67e87000364cbcc19783f2aa91634415203666d4cc74309c84516e6f4b9dff2e62ed736510230a7e6888227234526782a99035135599109b8715c1eacf0fab63fae10890872a3f072fccd05024e14a3df789403f006de7efbb20435c7627872e09875961c2a0dd0b65d033c53c4de0a9e33fb08032fa3afbddc3408fa3c8a436eb1582465dac43724a7ee834482c53d1f15697cd103db5b97812d307f5b7a034753bd672add373ee3660b0139460f6fdacca77be2ce03c317b38246c83008bb26f7b821d01d2cd5599f38e10e794fdf0454b0ed21ce4803507972730bd827853f8e71f00a2118633de27f201308f8ad54c224d00b055fd8033cd63ca4182a732917328acb3d884d34a5b8bb8ec0aa98285dd2794a44eb2add03caa06e8d3a14be41934baf2c555e5644c1f25c4f8037e34a0dcc7f098d1793e403e5780f62bfea9ecf34f8ab141f89c9858db43ff9be33c4c7c692daf1d7548fc903c4a667e106cd96e1a7e14f47304d67d493e48dd9e1cee356cd57fe1faf6ee80403627b6cd9724166c0569306b9a9b8cf292124228430f5b21c1d6bfc490362ea660369a6d11df81e4106cc1a7f5a33eed144a1dada87774f4bdf09c3577a9db91e7a03318c1d746bc2e062efa967aa5f802d5ae7e403b4ef8bd79e305d70b76d2e5bd703587e65d62b21b0b6f00a773a95265a9bef35ad621f37d078a2e1071c60f0688503503058ca3b7caa07b0552014c48e24cf95044da186359c751e87f49d5924e095036716faeb48b124720e3cc13436cbe15b715a0e3961c31797d7df0c951b8703a40367c85c5900f51d769eaf508a4c2914179aaea0d046810f5b318294df273e93e103fb8ed5e3d6b8c3df5929932c3382ee36eb9f2c473e5d945f3c48cc7d328212f7032a2d82a8b31e1cdabaaa597a67231d4c44e52f6721499156da7afb4c7f775fbb034048700f9d380024bc7ea872b20de6087428a8796c422d79fb86c74491ee52fa03c04f25d6d5e6fb979addfec76749944edb253899a5779e0a25f105f8eccb4cee03ce115449021703301ed95a9e9ebe7aec83e8b61094c74463c7446e69753fa89800581f03cf5bb8f6b5a4933ccef332b06211a428a3160ab0b6140b4abd18716dc3904c02aa7d7fba5be8084125700000581e03ccb5cfc179a3a2edf5307bc25510010bbe7e76aaa3daf828c5924118804deea4a862d342bde3458e5096f000581e0337a5a21ea8cc8fa80792aecefb0b0bdca24c8c8f833014ee440272cef05820ffffffffffffffffffffffffffffffffffffffffffa4841262ffe1f77ac55c300219500001410a00581f03ce9a3e6b2cf7863197b8e672784edb9ed227707a13d30db37594a1e89ae04b0acd1aff6cd4953978800000581f0336a47f50974ced007511c0991c7f98afd3e56771ad96abe5a2bef6122a005820fffffffffffffffffffffffffffffffffffffffffffcd1e0dbec89ff570febd80219488403a335592b501ebe43c3c589254683cf4f2683f7876cba1e1db70715abcfe728740219ffff03b47c07f691a9805aa78c565612502c8b845076ac4a031d0cc63508165d0f38eb037081090536e5c95c2f8826a67e49c9f27ef58f32167ac4d55cd6e7e97ad8f69e03da606fa4bc532bdb953047b81f60c7cb329db16c95703b8f538367a4c61cffc00366e6176267c11c97337d66793eedb30952e84bf4a7c218830b0f6d81bb97237b03217e4b90b66043fd94228ec31e34a37d69eede871cfb565449c1cd24218b5f4f0317ab22dd3197bdf5e36ea3e60b3e3548f0055dc27e12069199b0bce18486a2500372b0195823499b0d31213f4078b11b2400489d4ef258e7633200d8a6248042e80219ffff03b6a97252170f5d33e787152927405f884f92aa3c98143d5f98448cda8958a7e2037b8b7f9b8750adbb9e1d70da558ad0153dc0c6e5b5a80bf58580d6547c1f11a9038637c179066d248acb7bca91813b9dcec92a8c3a4f2221c95303ab023fb9d46c03814a875391e52a8cefee4e3d90d8c1e61fd9e2ed6e044b4431e0080514f7fbbd03341fc6a299e6bdc715185bb7dd70750eb59ca6c02418deb63758ac9f267a950e0219ffff033b788af048ace494b75d2b55e010c1e0afbf4da7d8305a0a57a88eb40d89a5f503e21ca2826679be3788d9a4c8b4799ea29c084ffbe2de2c1af161c09278e238110305b6dcc91689bc0d278ed1d1c58907a6b6b3a9023b6b8f6c3b2bc80d52993ffe035a427f3a49ff6e069cb576877372ce430110b0ce95beecea008f73a18d00019d030ec2f55303b589845fe96ea9b4340bcf310ea32099f57a7226ef48fb13d48b4e0391eee3717bc0fc51e526f13e3ea9ec5b7721af14fd2ae7dda25f559457153058033073b1771f962e3cc1b70aa496d17c7a00c99a1f5a68527b01cfc783fbf7ac27037bf573a17ee9f5663b0bc9653c181753dc9209c918648f13f9ff80582d9055f7038720120573b6fe2c765b37bc033858ab0f3e2a89b629d875c7bf3eb319d7b76c039951451df72a22036a23f37a026c572154c3dc81cd22db98a85ae16b7174a35b03e12b5cd4dc2babb3023673ebd71aeb00178316ba0104fb21430e71d8f23ba26303a99f6cebf563f8b9663ddacab46306c81721d67e552a105432efdb1d674e2d8d03e69ed4f39b86d2fb34abeb010a4196ed035e2bd31ea05c462015232e8a5876bb0345e1ecfcc0e1f86610cb62f9f3b50e35b67ec86ac87643f838ff61c86d7569d703682e164c73c8a1326070e52eb13c94c3c093aad3a8c4624b8a68eed87b4cd80b03d5e03fddd3044ea6d24f9b5b14a38d3706492c15d56aacb5da50e308fbb4076303c9e6a51d1d78e66b96aab8f200a9621534a090070b99c901d9c8b9167750bd1403e295e395b5287bba1d456370c8d6c51ae8456f83aa71bdeb8d6005c58055dbd7037990474106180331b609ae3f6f8d9a4ed76ba1cbc991491483a0900ea84afc090338eb7414e856e4abb47aeb4c8e02280c49ae9006096033caec6a322a4c8c0605036d13abd26ea4c09b4829593316345f17dea08caf39d86a723d14d4327fa4bd2903bd5dedbd9343a43a69e6324a42851e84121f98732eed7479a12933f71e7765e303c3b48378bddd4b7ff194727841e63179aeaf377729ca3d844b5bfe49ab5a655f03fd46cc4b1cb421695c53bf8dfb413cd046fdc7e02af0789b37be1d75983cab53033ae870b7fa4eea2617124590b7229a481cbbef83b317196d09b0af626360fb2f00581f0393394dbfa9f0a648060ac944237d237f5f992cf7eef847ac59cd5c1458204b03e9c8072d5e4821e5292000581e02171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af54a43fe16908251ee70ef74718545e4fe6c5ccec9f00581e02c2c1ad78e318201008263929cddcf1c8369ddabe74a24f79fd15ecf3d05820ffffffffffffffffffffffffffffffffffffffffffd6a416919bf9968dffffff02182100581f030d80d02c6bd80fa7b6d78be554de7eba43f65098ba1e810f3654d8ca3c004a0e546bd3413c35e4a27b0218580355d66b83adaa3c4aec2488e371d3d264b318d2863f5b315ba6bf8799811c796c039c35a7b38be72cfac646a5264273b7231de6fb787578aca1c6a0af9784c104f203714836ed6ba04ce4d3eca555292425d6c07de381af59a007c8f921d0356eba9903f2ec0008fe2efe17115818cad1ca84a8ef9c995dc6fa387cdcf6bef3a7767a640329445d6294382b812aec9283c17a5269c72a008f1e029f7bc4e95f1f97aa65500356e068a4d2d57982bf1a94b746457921a4489d1ee9ba4f2c90ca8518881018da03b83fb0606adfac1d629b132fa51f07eba55354305dcd376081164764d8edc00503b55e9e1194dcc4f886474446cce26785b75297fade5a61bffb6a3b78af84d02a0387027c8382ea2df50d6f0e87cbe736018ebbc4a36abc82dae78521b58c4e93f703432347260aafaaa823974fc01a1989a9ef42c20cb412a24bb9d936f05e9f63670219ffff03201eede25720d775a1c7245d49297ba1b513c28e361b767c82c19305ed89db6203ffbd0277192830a01db5d127dd0ec15cb74ef5086f9ad21b3f38b25ef93ae77903aa72186d39bb13fa1dcf4dcdabe84fceaba29dbcaf6f5f310f28941f3cc83a12036466a4307eaff30c0f9abb1ca6796e2807a5b6c96e71d298a88071c33fd9ec1f03769d9fd6928658b0ac9456e955e3dd4c7826146833cc40584669af69754607bf03fc44feb664670a9a36934a4fa1c6b62794eb15b9300189913858ac7b6585767d00581f0324acc84d4ddea836ddb9267591b82e45f250a4e2b05839f41d5e9ef73b805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03348f05342caf108600e50089f438e266a0c2e220a1145a808583d91a87c044fc0d9432039525b1a7fcdb6bf5f3c7e2edfc0305a25e3cc85c63c0bd4443b538dce457693c00581f0341e1b7f4b504d2bf8a78e4aed187e5f2b761fe162a056a20989d4a8cabb04ad3c237903a54efc80000037a7d8e37523e3040c27a4fe3653fb1cba07ab94dc0b0e91e4c04d457a2c224dc00581f032d8110aa53477da098496ef49319ec56a57784a3f92ce8fea5b78edb62504643d92a80100000581f039b9127bd1c93105dae8d35fe6711b44ac8130e8ce09dde153c6dedfa99004a9957280ace194e46d7dc0219d48303de14c1f6cb528ddd3647f829f764c2ee7a215a0295ac29b6f46d35f4f47ee891038e79da3f83fe219da354044981d597a379711ea344e69379db10a9de2480984b03ee8d97e77f527e5e8e7cdaf1ca3eb0f2eae8c47460692633b895d671d2b54da2032c77fbaacb6e6fd71d771480a3cbefb19f7734807dd5bb500ec49a088ef8800a03fae809d7ded4c1b664ca2e27607d1746981fe4ad92cd8f7252e96529752edcbb031d58ddbd6928148885d791b67207056d4721fa55fe8090363a870ad78f3bfd10030ac083c7368a6675cfa2ee2129d4fde8cdcc27f3ae82d1f69ebc74295466a678031414a84fac53e4e82f887e342a72ab0c773b7b3310a2412a6fd8ffaf99f7a01203180f8f45bbab89a443951c266afb50eddf67b4f2b593db454318e0bdc8e377f80351d99d431ffb8362c3b3d5420735db509fde74672fe7c67bdab1491e07d9db180219ffff03b25c1f54a84bec03517004e12bfca261b708013b00023e8176fba21319c36c8f030f5306df3f42774e723d7564341601d1948b8c6986d8133d4b121601548584e80371cb154cba73e083c3ea7f821f202bdae47aecb68cf9b76c2d301850284a8f2b03340c1f236985a5ce3a8fae10f0e30e7d456fa4ba0b8f8d6d9815ef488bcd20d603d65d7d3a03d6c0ff05e40920f8594240806dc61622383c00b62b61fdccb1b619035412675df89961340003538741f804930062fa32ba629b26c5d5f52c40e506ba03438841d6f2ca92ae0317ce63727c34fb1df166589bc99ee8d15da2ce07a393b603b010368af1a2a853567e67c99b73463ee9b8303e2f37c0e3759aaf43c7387fa503bfcc8bd08347705c5ce69807c1864f1e3ef0c6676c5e3c9c4f4111c0fb99699003828ae0a7d829f80db25952d0b6a55ef04fdc8ca20f83714be9e7fbf4e997afbb03506ce0726c43e5cbb3a2984c1328b855b26cb5efb7d891ce2f10c7ad4afa7499031f83c293b8d0c18bf25bb203afed968375de254724601d1820eeb2b8d4a1c8320219ffff0391991e4fb476551cb30be8a37f433bddc98a3f707d396257db7bc3467e9492b80219ffff03f97c56182dc6f0deefa852d0525bd4c3dc71e2e748774fd745410b9c6510ccf3030d713b8d0487dcd34293b90fac73dcdeaff55da88637f107d528e070b6f714e60320107528f243385cd860020780b00ec21975a4c7a6be0aff5df88652cb89091d033c26640f04712ebc45e9295f18ad431d27c35b8cde2770961de15a5092cd387c03b689a2d69e3660f2bd09f8c85f6f2003b79a80bc181b027de203a3411cc3fbb003be393ee1e231ae46d9dd5b7fc513f6d58bb2e63c3cce97f792308c51a1b9197803bad15f4269c365412c85d0bb2c288e0ec438bafccd80cf70f9ce8b76a813263503c5d90a790dceb35a830ae4f205017fe9894d1012153a79491a63ee22d7434016033e557d14f8de73c04fc297f77f4ee3ad16ea3ff9384a1f021b27773e2c994fe00368573b68c3abdbf1b9a3503c074a6ffaac729d81ad337a3c571d9ae9bb357606037cdca8a81d0ade950c9ab1914b2cee238b87467348f70d559652e7da12469a4f03f97eb7621e74e7bcb06db8887c8e9d63b08b971fdcf287cd4ed1bf0804318ddc031b44525e4e1ffc3ce391ef00036f990e80702027920cb3987be23a78bb8bb4550374d29301c1552129a12d2f7720f93741a32da741af9dd67d98320c30e5cacec303f278b97ccc0285e0e570e2e3312781684e460147fa555618d382edfd5c4e3981036ddec81c1f555909d577c3c0d07d45abcbbc3b61373078698c60483b5457c96f0304f9ac9a7ef1f68aa1fa33cad1d19deca6fadf8e77c5cc4e5fd22113433aff890320dafda2ff3370adc1fff4009ee8341044ec8a637fceebe65cfaee639561cdb400581f034f1eba050d768664fd4f32a478d75ff6f1296e479f713d29b4d642d627a05820ffffffffffffffffffffffffffffffffffffffffffa746b8522c634a1bde0c6100581f0374da7333e628e958756dea0aa65d82674b742063af241ba25550636f24d05820ffffffffffffffffffffffffffffffffffffffffe76e85f79c504273e24445da00581f034ff7bb5c0240ef570a9dabb1dcf56fa859da226429a480f4b252ad3e32b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f037580c8ba40cd16358e17ea9feba3f9cd6b72a7e0c2556f652b1729d2ad605820ffffffffffffffffffffffffffffffffffffffffefe2fa92edefe2467a13189b039cc4d0edaa39973d0757556f2ce62191b9480dfbcc38cdf2e92093d1af21389b03fc4026ff05437086ec4a8a1bf185f7f99830341c6f587b71a765e19c447739f2014107021980ec0366ad6b5b32f2c429d0f85c522f546ab73e11016fe5993fa5460329a232db3406033d55ab056e5b51909834799b2a8c087bc78bdd37f9ac4e032f430b7e94483b120322a27e9a1659f94e3af950c9b65edb0696432d0973595ccc93d51072a9d1c37800581f0265c23989b6c26d31bb14015171eda81fbf67aa83eea35cd8023727ba71025820fffffffffffffffffffffffffffffffffffffffffe22a24275478c5de28104510219ffff03456fc60446c9f0ef49f2cabfaf9fd1e4c2660bc4db17458c552a0fbf29a5164203e09d53dbe785dba113de2b218288b6c1a75b37845571b8125606466dc8c998ab03b3167b6c8843b44c4f99b37bfc38e8f56fc665ede3730852751b11667b629b1603d2e4689b16e402566c8fc54b481093324a6dfdd69acea6d8a37efcebc31e634803f3db938a2399434555bd53fb320f2e84cd1a674533c80606bdaffc067f5f95dc037bd2f9e025b876939b7a12bc8cbfc3c0698795600a08e822f353e56c1e271b89031c2f282919d7aaf90520b3f0fe3e528ba6f00e172174d6eb5f81dc326522498203356fb136c2e662c7e817d9f5d8658eacf12594a0ea084ced32a83192ca7d60a7039d81ed8b7d387d6236242acdcb33ce4b361e155a4a179ded3f6c252ea8607cf403a7a1bf3fd67f911cbf9f8e590ad9dc635510395de44b933ce1a934d1f0a9b26f03a903631f67de65f61c747437cf43d50bae2c69ec19f9271b4b472cb7fb1f3a8403c6d5260c462bc5e3f300ff2fda2a3391af11664f09cf2b18e6d3fdd37dd6337503aa2ea72d06bd3bb521499d8f8aa92263faf50c5ea9bf979855491cf4decaa86f033c75ff18077215e610ccc5db9034afdef05bb2a3247d42ba4f9eea537e9a2bd60219ffff039a96b562de0a070bb84d279c0ef03f4663764d54f9b11e5db278d5ef62c5593503ebd4df3fa9ac2053b597957e984e62f7795f082256117301b3b9a30161994357036b69ce0f5ae401acaef67f5f1f62644181bac89f71af2292e978aff7d3f3e08403370b8f484a3a5c4ca9a478ecbb4360af16a78b2d4e111eadc5588d510fe63c3703e6d5bed2e14a3c5e7d14f5c6ba435b546eabd80999ca7b10790369d06aae0e710398456135827fbf24b4fe35e4cd6ab71b343cba8a9a131753b487c717dbd9882c03090364504710f610fd2fcfc4ebdb864e94257b8677adec62614e028502ca9ab503d016d9b9ee20dfc3c1105af01ba346c1862b8444a2b1d9e9205d8c95fd43e076036cb9bf275c3751827a3ff6f382a5422d32604c8a81a9c2e80367eaff7a01ceda037b02938abdaf242bd6ca8d7559450cd9a058d04e815bdcfac2c766e2582f2be1031ce51f722efbaae63b18ae522bb3650a93e0e86586beb16225cd89fdc0a243b103b8c348b2597dbebbeb342e170ac35450b810363e5af2a63fc81e094e1a0924a103c744ca589dc383de192f11febe3c2dc13b879b5b24acfd5e8e16fd80496b38cf03d415b55bf0737ed7c71cdb72194e21ea7c626dcd5d770ee70a87014c0a239b8a03062014039d7f89cade9da4876171c5a8da2fc5c1c997b71b664cbcb1893327df0219ffff030f940b7222ce32e13bcaeb8171850160bbe15ad9dc02f84c971a101deb5fee5c03864f3c58d8ae8dccb66260ee939b29b57387ec35f9f143329f68711644eddd45032b755449e60577a27931e17af0af2e8339a509e46041cbac86f4e9fdfb755cff032a464db7a33af8f4fcd24cf03cb4835f68e9750266dd44c2fe8f24620b36f5fb03560b5026f1df2fa8513af9927d44386db4d06c933cf0caab44b614b123b9025503e86d1a30d89093a4fbe6aa25549074012c8050c5b4b8ec8f7673eaa0dbef41990343c9bdb34d6cfac723f22b89e838923a20e1b5c7e00c4bd50fbdd46afbe6b2a2037dcdca5215bd057cbf2df49f130de912d40ef20f493aed00b008a8b3184903f200581f0303d63d849f50abf0241f906668705c25fc1595d35e4bf220c6f833577dd04b04fb7de3267b1f3671603900581f0347935a94b16f7ee999acd73c64ffdeec8a0414e2414ca8074ad74b16ad304c0193ad57ac75b1336db0000000581f03ea5f5f310dd47de13f94339749f2a6db28a1f8f1ba237e414e69296b51204c0532e6d494df9e4c157d03af00581f039d7b23c4e77ff7d76cf59d19275d65ccc9e5d908428668b995c8462409904301c59600581f03314ea7ebef9e1922b31880848767bef2ef99050c3af095b89320ff6780405820ffffffffffffffffffffffffffffffffffffffffff17574cfe912542a84a1f3802191c4a033c9a8e365569be7db849141c331e8c3d039b6226947c1dbc26e5d8d2294f3ad00327fcff832518bbb21e0b5408ebcdf2da63bdd8ef41d4c9ef20305785c7ce5b7c037350c927c3e3df1dfbaa59196f427dbb60d0690e40aa62c78e2ed5bcf31a3d8e03f497025240ded8773336ab636f893fc9be7f3abd95814e540e5776b6408fb0c403f0f52c2c690633e11fca443d8c00db7908c3c6dec266051c78d14d4d0104b216031c9efa11cdc9e69817fbb9b0cb03aa31e5ca8fcf89db8c5535a3b6280a644d070347e7d653d8803dafa540f8fbe893f7f14f171d5dba65c34da11eb9f218e3a175039414159cbd5478f7530916bfd9f13e61d9843a0585ba57023f90246f9f0671e503e9b8c83d89c6f6aebd9be429109b267d5684543ab388138ea9ad75ce6ae0e8c703e58eb87d95b192b9492750826eff7e8b7496078b7ff8a3b41bd6a1e1a8ccc23f03f0735f4ad756cd0b3fd1d87ef3a6fa8238ed8cb40c3f6dce26d8430cbbf534c20219ffff03cd280c6d678e77add6daf2c7723662c72daccde6eafbf9d360fdbf856aa111c2036bea3aa489776c7b00db7431e648560cecfdee2e0992048810774fb1871fa0bd038656acec3cd6f848eb37ddaa6711e876a8a25f13938af98719d3ec2f75fb93c6030f6415f574b2e2be6223b94160af4f1081bacd9759331200f7fd9ac0e6ec68580363724ad3acec67e51d825f6f5e94af232700b3e6742fa85329bff0446bbdabf603932fd4bfcad08135fa18d1cb9ab57775861010bff0448991ad44acd87db90993034185441718097eca7321a7e6cfbdecd68d8a314c34e1d05a645518f8bf2c239503f1b8d523aeac99ee1fe96a9bdf3f82ba2feecf733f5470aa4c14c8f15f9a7d060375ae19a550c178661f70e1691fc7c5675e057d471b1f1caf46d0d3633a6e68cb03c9c18c3a6bac43a210be668fad9d8e3a18b3fe557892b931bebb9ae643268274036cc4fda97853483f5ed66c1f41ab568a3a30ce376c68bfef8bfe956c8aec86a80356969b56f9b2aaeea24714fd49c97f4eaf9bc0647c7caa9c676769bc8b3d20c003cd06b391263b8f672af0e6ef38317344a0b3fbbf1554d7bf20699d3b838be7a30219ffff03b52ce8073616fec4b2250281be08c6c3c17f5b71b75ce9b468a9da40f08f6c8a038e6aca3a5ec67b59ceac325f69432506b1c22d6c35605618ac3de3c71a6001af034338216ee3a61a155987bc449e741a2b0ae3f0e6959b1125035001293b729ee203518e7fea173246e1734c7188ba3f11ac47802e795c17b4d4432de9f6e770b3a803635385c15a95212c062732e9d6eb1cc773ef47b5bfc6eae2dc6e403c48cc573e0301aca29ceec0c0de51ea179d6965455a0f40820f4d1b22d55f4710e3f78f06f103e7881eedfbdf79559e7f6fd649c152bfb1e5cc03907d6cbd3bed6c13558947d9032991ca95b152d5c804e01437817942de477f6796630c0e651c7475464476a82903f1e2255b070db92798672916d2569fda2c5c23af79ef83e81de85f0e00ae5c4a03239a74f4ddfe2bc7305910b9fdc1e212d5b0c13c09db414cf6548f1f8cf0739d03fe140c4ed08cde22eb8751787edd5b23676a6ccb0de0a3ade711b857abb292f5036c13f7c8a52d956a4c04f776366fe6f8bca1bf9818959d1775ddbb900a9d5fd100581f03bb6abdf2207af7609659f28a46af7c3d699b3054ef89aa3cb57116b6c5e05820ffffffffffffffffffffffffffffffffffffffffbe44f78244c3c33ee63f75de00581f0340240cd5e4c0deccdfb378dd8793f0e598e524c3887314d2a8e83208cdf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032981e4e746409c9c0a326a5cdcccd2971d2571bb89423ab27606a1e321a91f9500581f03cae6567de2c025271a3d3390f12d094eae5e84da1cd90b1c9f6c5981ba405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0393e094500e0bbf879e88a02d3d0406c9d29ffa3ee0ad4febdb22adf23db05820fffffffffffffffffffffffffffffffffffffffffffa8b0c50d28b369b0cfb730219122503ac4f6d0bf6daf9993e522c8b68ba07220bd48a70fd381dc3ad3e9ea22905637b0334dc9c9ab8c225eb7c52ca2c043988ef85565f354d81e621cbad3372884c3de9036c863f8e9e8d7bb6e355ac3589d50a658bf9381959d85c95ab2f2c9c965fd865031a1f7dbb3a4d508748344f399215ec0fd1e20f199f287c7f264efd1667a07802033ec44c0710877f7c9e556e7d7f5fb2c7c302b0a44437e0bb9a24b2ad1d71ab7b03d90f520430622438f264155e0066acdfda49b0776611b2e68b813362555f0787039c97123d4fb20fa77c4354a34a8da7fe863166bd8f4e4c05c7cb626128cfbed4037e87ca03960677e49ee8420de44528f51b7521f2169b3e8ebaaf26b0f4cc260403f42aa380d644fbaa812421619100d1521ad76fa655dc5225a1e319c004c8d66403d92becdedcd20d5c31671dafb93e31d3675648743e113a22cef60eac27e343f50383116f03245ed8066d7c74f1e5e5a8bca40dae47d6611a7dd030dddc11791365033348b1a8411670b0c722422e70a31cfd48f355ec1b6c88a3ce51b5d1b76f97ce03b9f8f0bf0f7f3793f1f6f615a755e271316daf8567bae0e7172962ccf2479f230219ffff034154309129936a65a81a25fb317b8b151ba87e2a5c228f672470188d9d599c7f03047e02cca3a15443c000ebf570dc913fb193be1542911e2df8e16f78b9067582030fca25e03d6dadd814844456532a936a1c7bd3b010227d979a8cf88482d8ee8b033b460382b06555895b7dede9f92a4db9b13a3514dab70bcf07c35adda418daa40345eb653c6c05d645b7a15956d8aac87e215e0d9f5c6d6db40d46df98bb05d38e03df30cefa8459bb2a28d5accfc3d224cd1ec6c65f2f6ae87970294193e7837d9003b9a0a92ebfea89c7b520000f936e6c563809acab92deedca72d4d29fe2088c9003b403b3a65a4de415aada98aa703907cd1fb92e241bc2f0c1eb6e0cfc7a114eae035c6dde460d8711b6ce13048d5c7e685b35342fa805c64d5fc187da2b18f99350039b2cdc55513e087bbe657758c98eb2bc616330f3436fc7e1924096e4cbc2bd6e0219ffff0387e8bdcda4b4e55675e3ecc8bfc514dd58d401d9d9803ca4dfdc09c4264680610398bd3fb95880bd8ad00c1a6e1497d5a3ac5f8e91a1fe52e06f070400b337b94303a589cd0f27d1ec1133d9a67d281b9eb750826c5a57dbc9937bebffad7a58b9e903ab31e453717b02ec874fec3eb86878a669a0260c4d9c90ed87958cb06d3597fb035ca64bf2254ede49fb3ef93ab6b0a338d0d9c9b7d106c1902679dcf91a1f5ec303dc5539d5135015476fe250aab67019e12685e667759e51e62b1f6d0f5b789f7c03da7ccacbca152db2920cd308ef2f2a4315c8f9f6fe6f47aeed0b8da94fa8d7d20396f8b11714f6e0c26e127e8f04bb181ac93c7706d79647201f26710177ae5723039e5b393568620587307f2318784be662963913c054fb4c3906bfe7de085d2fee0219ffff0219ffff05581d03b212be555d2bd364a5806a102f2f0e45c6a159463d8d85767fbf4f8007011911a5020c01410805581e0395261d73a9b3ec48fbadbeef418d87a5e384df5dabdc5754584d2e59200848029140851372800003f5e9c7c74c61ce282a13d57282052003a9118d086b78375987d3dc5f90ffbe8d01410e0219fee5039d057015a9752c153d08ca22c0ec63057b22107cd09ef2b10069288219f6522603d782ccf518bbd5458e6c18456e9321b53e8caab17ab55f878c71e36574f92eb103b8bf0ec0ccc0820952eaaa8731681a58c561720b71d2dd8e1578453bc87fb6080301edc54995d98d0fc26796ad5c8956133e8ec07f56666080bda55dbd23ce47e4036f44651446a6d33d6af34ae70f7d19831202be8ed3cc77052dfba0984c758d8603761158140d690a02d665a0bf076bafe429c0cb9f9b0e740ac947d190b60fe32a03e35de4ae573b24582323f131254647707e1c87688435e18f479cbf13ccfbbcec03d3e2ac469a54e889fe541f4f84aeef21215db3f10092f612398f302c9e732153034cf01d7c2098d776f007e9a84f35b1ef0b7384066ebf300d247a9eb5aedc9391030e49aad2906e4c83dc5587012fd3b46b1bb0dcd0aa902f2b799780c9dbee1c8e0334f7fbb5e808d9ed7506a3cd8c7432600ad445e40ac804876f7e78599d8511d90334bdc62855afd664e7b085416afaf6c528a80825ec2ac4120501bf0ef8116256038bebba221a1fb458c365430411ce783b8ffe0ea0f33a35fdf2c31baf5ba6f43a0324b97b81972dc3abe77df16f45bcfb8af43cc01fa81c4e4c0be142e099fc949e03d85fb5223958e5078e228436472c59cf1bc0283cd39b77c65f23bfc091595d300219ffff0385f419fb19daeb7deeb02a06062a7080e59c18216cc35b9c96bff4559bba27e80219ffff035a91f9bd69ce1ac91f574bc0a4005d14be0dab0b75d693c0cb21cf9acabe25a303dc82b47430cd773f85a7fa51df9c08e1f735141335ea21be942c53c42c1d9938039d3209f87c8156e10f91c11fd30126409d932c9cc742f013f9928d83e079e0f803bf66aeb8572235e456533bc0009dbc7605ae2bce9f0c9783d924aeb781d9a3f6038c7625c07148dbafc2bf1cc6207dc474f29b6015c37f6d8012cbdc98f7f6d92603e4089b2951c676de9a4792ed4cf67222433cec65ac4a93a92b24e089aaf3bc5c034a495f3f690af669b0b5ff902df508f244353a82940125db5dab18d67280b70c03d742bb2d7a7118c9d577a83bbf69547551534133f5edff85dc7684f2399731e9038df238dfbfe507b6cece7a7198e468aca243719ca8e59b99da86aee7f56524d7033e1602f383f9063ac36b48341e236dda042cd435ff49f2674d54318e25418f7d039bcb416bdc90b5daf2bff88f39cbd4e0b0aa47545e199e3c03a6ec1034caadd20316940aa5a47ac4ec37de865777859e8016c729850cdcee60075a7523d9501de80219ffff03c42c00e42b4177ca46d41722ac47cda5c91ff954120b445321985aca6b4c43400219ffff03486a1a65201574cfb0ecebfb98316f8131ca2ada2495526e0745910f78bc1cba0388bcc451ee18d23d568b49c398087223686aa55c6e36eaec1749f009b6a75fc00319cbb1464171251d621004b0e087b6a715c72b32380096d4129875258d446e0c03bf8611845b4570d203300db2bd5df6d7d054f9e9089497144dc4e9e44ab7d29d03cbd50c274eb7409ae7d04e5f0cabf62eec1e1715a5ecd99ef159aef2f13b84bc03d3eb6ee687dbbf0effdd55f9de35a540453495a836a9b8f7bfd067dd46f1610503a14167959f3e4ca1a9905e741b33034a54816031c04b979f50e5fd590d3fdf9203577d88d8200a8d3216e1f2b18bc7db308865a02f7f61978d7163a449a6f6595c03bfca165e2dab3863bf52501dc08d7261a325c837472c87abf5b64102518f0f6403ba9f71020f53bb4822e1671a91cdbb0b1cca1527e73af7b094ddae94cba37ff7034c3b7b1ff3967e7c0e39a7f7d8b7d7f56f674bc048c8ae41abc737afe2fa822b03ac3612d3c53c48ff68ad168ff7b81442080c221ef96a804e08bcc9b214060d620318e9eb79751412314457104627dea9d7a92e8e46ececd5fe6d2adb3136e885d003050ac187322a340e56788276e7a6254feebf40dfafb29476fc1f68a7de6bdb5e03ed05f3adea66b3f14d96abbc4820c3bfd6322c41fdbe1ac60ebcc08b45b947de03a03ac5b27d7eca5c770450e8bbc1a4ddf9cbd919cbd52c874c9bde486b8f8501030805a80d4cccb78c08a962128f938c324887b568cd6cd3177b22e53e10aa76fa036143e286ab8f07513b87a4292eea871642a2310751b9c476af8761e3d703afaa03297eeb3a53034e7d2fc3054c5cf8f0811ddd989dd5fa0c36528d68e638a2fbeb035dcbd4eb719fff0a0771ea7c13d20ebff9f75e81f4dd4bd0b34ff4ab10b36a1d0319f0c41d116f67c858539315acd09356de70c21ae70034915c1959ba23efa4a403558f5f6209d2895803fc66e3ac9ac390ae3f3cdf17539125397ff2f81578682303c55d8bc01ec13daa35513b20303b33a4ad503d963c4288fbfa96129e9dda6c28031c7d2073a224cced42e8ee42f04e8b1c111d98960e4bad99afb9aabc5b592cdb05581e036f7a8df85c404ca7ecc162c45c2281634d03673fd7224664155980f080040105581e03c01a3eab6f73419c91831f86c4da44d5764b5a325c1e562b4144b134c0040105581e03ed32c909582c3d2b717457dc55177d838fa97c2dd3d59d0cde987bf28004030459383c60806040526004361061014e575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb14610441578063bf474bed1461047d578063c97c1821146104a7578063dd62ed3e146104cf578063ec1f3f631461050b578063fb201b1d1461053357610155565b8063715018a61461035b5780637d1db4a5146103715780638cd4426d1461039b5780638da5cb5b146103c35780638f9a55c0146103ed57806395d89b411461041757610155565b806323b872dd1161010757806323b872dd14610251578063313ce5671461028d5780633bbac579146102b757806351bc3c85146102f3578063622565891461030957806370a082311461031f57610155565b806302fa1f4a1461015957806306fdde031461016f578063095ea7b3146101995780630faee56f146101d557806318160ddd146101ff57806321bbcbb11461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610549565b005b34801561017a575f80fd5b5061018361061d565b604051610190919061272b565b60405180910390f35b3480156101a4575f80fd5b506101bf60048036038101906101ba91906127e9565b61065a565b6040516101cc9190612841565b60405180910390f35b3480156101e0575f80fd5b506101e9610677565b6040516101f69190612869565b60405180910390f35b34801561020a575f80fd5b5061021361067d565b6040516102209190612869565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a91906129c2565b6106a1565b005b34801561025c575f80fd5b5061027760048036038101906102729190612a09565b6107c0565b6040516102849190612841565b60405180910390f35b348015610298575f80fd5b506102a1610894565b6040516102ae9190612a74565b60405180910390f35b3480156102c2575f80fd5b506102dd60048036038101906102d89190612a8d565b61089c565b6040516102ea9190612841565b60405180910390f35b3480156102fe575f80fd5b506103076108ee565b005b348015610314575f80fd5b5061031d61099d565b005b34801561032a575f80fd5b5061034560048036038101906103409190612a8d565b610acf565b6040516103529190612869565b60405180910390f35b348015610366575f80fd5b5061036f610b15565b005b34801561037c575f80fd5b50610385610c63565b6040516103929190612869565b60405180910390f35b3480156103a6575f80fd5b506103c160048036038101906103bc91906127e9565b610c69565b005b3480156103ce575f80fd5b506103d7610e0a565b6040516103e49190612ac7565b60405180910390f35b3480156103f8575f80fd5b50610401610e31565b60405161040e9190612869565b60405180910390f35b348015610422575f80fd5b5061042b610e37565b604051610438919061272b565b60405180910390f35b34801561044c575f80fd5b50610467600480360381019061046291906127e9565b610e74565b6040516104749190612841565b60405180910390f35b348015610488575f80fd5b50610491610e91565b60405161049e9190612869565b60405180910390f35b3480156104b2575f80fd5b506104cd60048036038101906104c891906129c2565b610e97565b005b3480156104da575f80fd5b506104f560048036038101906104f09190612ae0565b610fb5565b6040516105029190612869565b60405180910390f35b348015610516575f80fd5b50610531600480360381019061052c9190612b1e565b611037565b005b34801561053e575f80fd5b506105476110c3565b005b6105516115e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146105dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d490612b93565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106139190612bf3565b60405180910390a1565b60606040518060400160405280600581526020017f54757a6b69000000000000000000000000000000000000000000000000000000815250905090565b5f61066d6106666115e3565b84846115ea565b6001905092915050565b60125481565b5f6009600a61068c9190612d68565b6461f313f88061069c9190612db2565b905090565b6106a96115e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610735576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072c90612b93565b60405180910390fd5b5f5b81518110156107bc57600160045f84848151811061075857610757612df3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610737565b5050565b5f6107cc8484846117ad565b610889846107d86115e3565b610884856040518060600160405280602881526020016137df6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61083b6115e3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461218d9092919063ffffffff16565b6115ea565b600190509392505050565b5f6009905090565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661092e6115e3565b73ffffffffffffffffffffffffffffffffffffffff161461094d575f80fd5b5f61095730610acf565b90505f811180156109745750601460169054906101000a900460ff165b1561098357610982816121ef565b5b5f4790505f811115610999576109988161245a565b5b5050565b6109a56115e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2890612b93565b60405180910390fd5b6009600a610a3f9190612d68565b6461f313f880610a4f9190612db2565b600f819055506009600a610a639190612d68565b6461f313f880610a739190612db2565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610aa89190612d68565b6461f313f880610ab89190612db2565b604051610ac59190612869565b60405180910390a1565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b1d6115e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ba9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba090612b93565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f5481565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ca96115e3565b73ffffffffffffffffffffffffffffffffffffffff1614610cc8575f80fd5b5f610d666064610d58848673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d0b9190612ac7565b602060405180830381865afa158015610d26573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d4a9190612e34565b6124c290919063ffffffff16565b61253990919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401610dc4929190612eb1565b6020604051808303815f875af1158015610de0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e049190612f02565b50505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f54555a4b49000000000000000000000000000000000000000000000000000000815250905090565b5f610e87610e806115e3565b84846117ad565b6001905092915050565b60115481565b610e9f6115e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2290612b93565b60405180910390fd5b5f5b8151811015610fb1575f60045f848481518110610f4d57610f4c612df3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610f2d565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110776115e3565b73ffffffffffffffffffffffffffffffffffffffff1614611096575f80fd5b60085481111580156110aa57506009548111155b6110b2575f80fd5b806008819055508060098190555050565b6110cb6115e3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114e90612b93565b60405180910390fd5b60148054906101000a900460ff16156111a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119c90612f77565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506112423060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a61122d9190612d68565b6461f313f88061123d9190612db2565b6115ea565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112ac573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d09190612fa9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611356573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061137a9190612fa9565b6040518363ffffffff1660e01b8152600401611397929190612fd4565b6020604051808303815f875af11580156113b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113d79190612fa9565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061145e30610acf565b5f80611468610e0a565b426040518863ffffffff1660e01b815260040161148a96959493929190612ffb565b60606040518083038185885af11580156114a6573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114cb919061305a565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161156b9291906130aa565b6020604051808303815f875af1158015611587573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115ab9190612f02565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611658576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164f90613141565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036116c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bd906131cf565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516117a09190612869565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361181b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118129061325d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611889576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611880906132eb565b60405180910390fd5b5f81116118cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c290613379565b60405180910390fd5b5f6118d4610e0a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156119425750611912610e0a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561199b575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611edd5760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611a3e575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611a46575f80fd5b5f600e5403611a8e57611a8b6064611a7d600a54600e5411611a6a57600654611a6e565b6008545b856124c290919063ffffffff16565b61253990919063ffffffff16565b90505b5f600e541115611ac357611ac06064611ab2600d54856124c290919063ffffffff16565b61253990919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611b6c575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bbf575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611cb757600f54821115611c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c00906133e1565b60405180910390fd5b60105482611c1685610acf565b611c2091906133ff565b1115611c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c589061347c565b60405180910390fd5b611c9d6064611c8f600a54600e5411611c7c57600654611c80565b6008545b856124c290919063ffffffff16565b61253990919063ffffffff16565b9050600e5f815480929190611cb19061349a565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611d3f57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611d8357611d806064611d72600b54600e5411611d5f57600754611d63565b6009545b856124c290919063ffffffff16565b61253990919063ffffffff16565b90505b5f611d8d30610acf565b9050601460159054906101000a900460ff16158015611df8575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611e105750601460169054906101000a900460ff165b8015611e1d575060115481115b8015611e2c5750600c54600e54115b15611edb57601654431115611e43575f6015819055505b600360155410611e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7f9061352b565b60405180910390fd5b611ea5611ea084611e9b84601254612582565b612582565b6121ef565b5f4790505f811115611ebb57611eba4761245a565b5b60155f815480929190611ecd9061349a565b919050555043601681905550505b505b5f811115611fdc57611f358160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461259a90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fd39190612869565b60405180910390a35b61202c8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125f790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506120cf61208382846125f790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461259a90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61217284866125f790919063ffffffff16565b60405161217f9190612869565b60405180910390a350505050565b5f8383111582906121d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121cb919061272b565b60405180910390fd5b505f83856121e29190613549565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561222657612225612886565b5b6040519080825280602002602001820160405280156122545781602001602082028036833780820191505090505b50905030815f8151811061226b5761226a612df3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561230f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123339190612fa9565b8160018151811061234757612346612df3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506123ad3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846115ea565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161240f959493929190613633565b5f604051808303815f87803b158015612426575f80fd5b505af1158015612438573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156124be573d5f803e3d5ffd5b5050565b5f8083036124d2575f9050612533565b5f82846124df9190612db2565b90508284826124ee91906136b8565b1461252e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252590613758565b60405180910390fd5b809150505b92915050565b5f61257a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612640565b905092915050565b5f8183116125905782612592565b815b905092915050565b5f8082846125a891906133ff565b9050838110156125ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e4906137c0565b60405180910390fd5b8091505092915050565b5f61263883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061218d565b905092915050565b5f8083118290612686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161267d919061272b565b60405180910390fd5b505f838561269491906136b8565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156126d85780820151818401526020810190506126bd565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6126fd826126a1565b61270781856126ab565b93506127178185602086016126bb565b612720816126e3565b840191505092915050565b5f6020820190508181035f83015261274381846126f3565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6127858261275c565b9050919050565b6127958161277b565b811461279f575f80fd5b50565b5f813590506127b08161278c565b92915050565b5f819050919050565b6127c8816127b6565b81146127d2575f80fd5b50565b5f813590506127e3816127bf565b92915050565b5f80604083850312156127ff576127fe612754565b5b5f61280c858286016127a2565b925050602061281d858286016127d5565b9150509250929050565b5f8115159050919050565b61283b81612827565b82525050565b5f6020820190506128545f830184612832565b92915050565b612863816127b6565b82525050565b5f60208201905061287c5f83018461285a565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6128bc826126e3565b810181811067ffffffffffffffff821117156128db576128da612886565b5b80604052505050565b5f6128ed61274b565b90506128f982826128b3565b919050565b5f67ffffffffffffffff82111561291857612917612886565b5b602082029050602081019050919050565b5f80fd5b5f61293f61293a846128fe565b6128e4565b9050808382526020820190506020840283018581111561296257612961612929565b5b835b8181101561298b578061297788826127a2565b845260208401935050602081019050612964565b5050509392505050565b5f82601f8301126129a9576129a8612882565b5b81356129b984826020860161292d565b91505092915050565b5f602082840312156129d7576129d6612754565b5b5f82013567ffffffffffffffff8111156129f4576129f3612758565b5b612a0084828501612995565b91505092915050565b5f805f60608486031215612a2057612a1f612754565b5b5f612a2d868287016127a2565b9350506020612a3e868287016127a2565b9250506040612a4f868287016127d5565b9150509250925092565b5f60ff82169050919050565b612a6e81612a59565b82525050565b5f602082019050612a875f830184612a65565b92915050565b5f60208284031215612aa257612aa1612754565b5b5f612aaf848285016127a2565b91505092915050565b612ac18161277b565b82525050565b5f602082019050612ada5f830184612ab8565b92915050565b5f8060408385031215612af657612af5612754565b5b5f612b03858286016127a2565b9250506020612b14858286016127a2565b9150509250929050565b5f60208284031215612b3357612b32612754565b5b5f612b40848285016127d5565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612b7d6020836126ab565b9150612b8882612b49565b602082019050919050565b5f6020820190508181035f830152612baa81612b71565b9050919050565b5f819050919050565b5f819050919050565b5f612bdd612bd8612bd384612bb1565b612bba565b6127b6565b9050919050565b612bed81612bc3565b82525050565b5f602082019050612c065f830184612be4565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612c8e57808604811115612c6a57612c69612c0c565b5b6001851615612c795780820291505b8081029050612c8785612c39565b9450612c4e565b94509492505050565b5f82612ca65760019050612d61565b81612cb3575f9050612d61565b8160018114612cc95760028114612cd357612d02565b6001915050612d61565b60ff841115612ce557612ce4612c0c565b5b8360020a915084821115612cfc57612cfb612c0c565b5b50612d61565b5060208310610133831016604e8410600b8410161715612d375782820a905083811115612d3257612d31612c0c565b5b612d61565b612d448484846001612c45565b92509050818404811115612d5b57612d5a612c0c565b5b81810290505b9392505050565b5f612d72826127b6565b9150612d7d83612a59565b9250612daa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612c97565b905092915050565b5f612dbc826127b6565b9150612dc7836127b6565b9250828202612dd5816127b6565b91508282048414831517612dec57612deb612c0c565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050612e2e816127bf565b92915050565b5f60208284031215612e4957612e48612754565b5b5f612e5684828501612e20565b91505092915050565b5f612e79612e74612e6f8461275c565b612bba565b61275c565b9050919050565b5f612e8a82612e5f565b9050919050565b5f612e9b82612e80565b9050919050565b612eab81612e91565b82525050565b5f604082019050612ec45f830185612ea2565b612ed1602083018461285a565b9392505050565b612ee181612827565b8114612eeb575f80fd5b50565b5f81519050612efc81612ed8565b92915050565b5f60208284031215612f1757612f16612754565b5b5f612f2484828501612eee565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612f616017836126ab565b9150612f6c82612f2d565b602082019050919050565b5f6020820190508181035f830152612f8e81612f55565b9050919050565b5f81519050612fa38161278c565b92915050565b5f60208284031215612fbe57612fbd612754565b5b5f612fcb84828501612f95565b91505092915050565b5f604082019050612fe75f830185612ab8565b612ff46020830184612ab8565b9392505050565b5f60c08201905061300e5f830189612ab8565b61301b602083018861285a565b6130286040830187612be4565b6130356060830186612be4565b6130426080830185612ab8565b61304f60a083018461285a565b979650505050505050565b5f805f6060848603121561307157613070612754565b5b5f61307e86828701612e20565b935050602061308f86828701612e20565b92505060406130a086828701612e20565b9150509250925092565b5f6040820190506130bd5f830185612ab8565b6130ca602083018461285a565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61312b6024836126ab565b9150613136826130d1565b604082019050919050565b5f6020820190508181035f8301526131588161311f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6131b96022836126ab565b91506131c48261315f565b604082019050919050565b5f6020820190508181035f8301526131e6816131ad565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6132476025836126ab565b9150613252826131ed565b604082019050919050565b5f6020820190508181035f8301526132748161323b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6132d56023836126ab565b91506132e08261327b565b604082019050919050565b5f6020820190508181035f830152613302816132c9565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6133636029836126ab565b915061336e82613309565b604082019050919050565b5f6020820190508181035f83015261339081613357565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6133cb6019836126ab565b91506133d682613397565b602082019050919050565b5f6020820190508181035f8301526133f8816133bf565b9050919050565b5f613409826127b6565b9150613414836127b6565b925082820190508082111561342c5761342b612c0c565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613466601a836126ab565b915061347182613432565b602082019050919050565b5f6020820190508181035f8301526134938161345a565b9050919050565b5f6134a4826127b6565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036134d6576134d5612c0c565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6135156017836126ab565b9150613520826134e1565b602082019050919050565b5f6020820190508181035f83015261354281613509565b9050919050565b5f613553826127b6565b915061355e836127b6565b925082820390508181111561357657613575612c0c565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6135ae8161277b565b82525050565b5f6135bf83836135a5565b60208301905092915050565b5f602082019050919050565b5f6135e18261357c565b6135eb8185613586565b93506135f683613596565b805f5b8381101561362657815161360d88826135b4565b9750613618836135cb565b9250506001810190506135f9565b5085935050505092915050565b5f60a0820190506136465f83018861285a565b6136536020830187612be4565b818103604083015261366581866135d7565b90506136746060830185612ab8565b613681608083018461285a565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6136c2826127b6565b91506136cd836127b6565b9250826136dd576136dc61368b565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6137426021836126ab565b915061374d826136e8565b604082019050919050565b5f6020820190508181035f83015261376f81613736565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6137aa601b836126ab565b91506137b582613776565b602082019050919050565b5f6020820190508181035f8301526137d78161379e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206c91d48ab73e8287ace05b6c61ca4a6b17d7acfe4996221ec065108861ff9bf364736f6c634300081700330321252576a5db6bfb77c6be9f544b218c174478286c34e1db4e6083e215f44858033a2e28183f3745568f88b12272d6e3d96d5f085c8b671a8e4e28ff6575fecafd031f81050d456b13c4e1a7448636b3dc17dd5c119df84f23501f077ffdbb39ffc40058200318283b41ae8c796827d0c002751e1cf96e2ef56b1e1ea4400720cef478f9305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d8c9cd2ccefe31415975cb0b1f0c2c6eba5ac751216ca59e399de04b81a8f3d8005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90411703dbbaa516465c6a344c52817c3d3852d839013edc9df26a3ced0e9b3e915e0ef100582003d790b33cf255f29259d578029074c71b8db2904b5835e4973b813d14deb9a05820fffffffffffffffffffffffffffffffffffffffffffffffffb3ed202d374aad30352054370403df2c4156cc268c175928189d8258a13581da91bba25e07af817ef03262e7b78bc0973ec3b7c6d2096c0bb805c5743c909ae16c7e58fcdec372dd0f8005820030de89ad48d47a26470e573bb3468667147f05f742d0d7d0043b10fe84574305820ffffffffffffffffffffffffffffffffffffffffffffffffff9a292ec6d234ca0325578ab433537fd51f7ffad8fe86262ab6dafe1cefbd228bbbf7153383d86078005820037b3b9c21f6ff6b43e858dc9d6d4101b82b4116eb49f8f219db5bc47b8d95e05820ffffffffffffffffffffffffffffffffffffffffffffffffff48ad2f57d6e29e03818747d0ae0df89d8f46649551de7ca4ecefb56280d939f9124b93ca9569ddd70219fff103f235965100b4b76f51fe8a6c2f8d3b50d841867277e3b3b1b33b22b2b43b90d503357a36c762934a1d906766cea45e3a1d95862e71c172dedee85b907020bc37de005820031b88f6eecf58a09b1634b2e1296f3f43a5a7800e245b879f5f6890ed8f959046d0f6e761a94b005820034308686ae71072ddf103cc10dcde4faee23c6b60f82a5af92ae0e23ff0ff10476a46e30ebf76a303938924e27f694d793307c04cd84d8a2ed0dc93c6fb9430d65d46b606b9fd5da400581f02a224b54e015158adbe28c536a9dd45c2cf7b2ce848051adf889d0367b2215820fffffffffffffffffffffffffffffffffffffffffffffffffc1acc5301e7d53400581f026384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db054afa2556c7204e47aec609a98061b42853156732400581f02395ea4adbb2511ce6e5e2b7ffc5272c9ee96f7cefe1eb311e9297a1b223a5820ffffffffffffffffffffffffffffffffffffffffffffffffffe719d97effd6ce02198881005820034feba81f18dbfbfce932627ffd24d89984b2090dd0c9142a374af0c4bad5605820fffffffffffffffffffffffffffffffffffffffffffffffffc2709da7b6ca8fc005820033b61151f55b93607e538e994c976c5e5ae88d990c9cc84b9e476e036ca7800470a4c4e7ed46195031c9303d0d90c4087409d17ec26e5dd143cdac8f1cb179ae563697556f1a43e4d03c3415e4221507a8e4328af96f32935f64f95ebf4538a81b1e8bd7abdba07d355005820035fc3e5ba89ca3f7d14c3c148f12172f79140c204160cd6f0856da61fa6ec905820ffffffffffffffffffffffffffffffffffffffffffffffffe9a310c3a802b2ba03f94446a689f4727d99064b455093bc9d650d119a35a00e6f4dbcd179228742300058200399441161f3eae1ded63174a44b39786332cf8b424f99e04a5f9bb7bfc9d7705820ffffffffffffffffffffffffffffffffffffffffffffffffff668ebd83a7038a036c8c1e52934991013a28242248e7444b4e8383243653d8dfe75464c5431b65f70219fdce00581f0201db23fce2875167bf46c7c3b405128289c5a6a226626cfcd6e97d334d904901cde5b9e2d0b253af00581f025ced1f5399d101a712ddb70a50f10be8cfb7b0142200e18691abce6f96c94725046826c1c2ec00581f022bf8307669dab2ccbaf46bff2382b07f4705deb9b937d3872ff865508d5247055e7a8c8842c302190250030f2f0500ca57d1ed89597ace8ac0f312cf20e4586a18782966be64d5d675ccbc00582003d4856a4ab2ebe400e6067f0a29d1f31de15d26c9797b539028daba9cd59aa05820fffffffffffffffffffffffffffffffffffffffffffffffffaa6f02965256cbc005820036c8ce35b37e71e87821a64b8b5b2af33df31a7c23e43b8bfcac161cd25e2a047413822b6f5267303183e0b08a9018580c4e830dca087ebf8818cacb97001b49d4f6efdb7b68c4d000058200362ce9d360c809f152e0fe2d19c74410bec92c7758b66a8e2635e7a69383ec05820fffffffffffffffffffffffffffffffffffffffffffffffffb21a9bb8cc2e14f0315ae8ec8cf0a91dcd74b36a5ff59482c21abdc7053f3cdb9e4ed1c01d3c6631200582003f29feffb4b7f08358472f580055ea7b5ceb0a4f86141395e57034d152e34c0471855057344e1580219654703c054dcd4974ae00d6ca1cd2e6481aca61cef8097be6f06ca72555a0e972279af03cb8f8b2ac32b4e77b448461e7c1c79cc2b7d096bc697190fb6ba03e657241e28038a44dc6ada759373ffe1a7c6dc31ed82957706cba5ab6e410ca3b3cf036b985803e6ba54afba1821239ee324759952fea9deff6ee9e61e956cfd94964fac1eb49703cf9e5d6ee91c772e2dc846807f861fb4f3c53abbeaefa53e87a4b0b8f683d4b803c9da9236e6c47c21c259a618f97401561a97c11bd88da419322fbd0db7160bae037826238bdb88e286fd1102343f48d496564d6605b56ed97aea7a3c5e28bad8460305a26eca6ca615af250a2583104d9241b19a7abe1d7af7a88588ed2e7b2bc03203abd91a9f434e95adb4acab1aae7422fbbd1e7581cf003dc4161c6e0b52e240330318d63f41d98081a8defe3a94aee043fb5efea6edc6128b6ce6afc2d4080081f703b08056c397c69b0e308a682021e79d27519f4c8830ecf4f78828cdce7ac2d5400219ffff0329db9532fa09adcb8957e204bf3ab0c61d675a4335b14efbc9aa4d991b3a2ad603217074840e90501e0aa0eccda94fda8f6ee43e158a371c2901c1ec51f004a81403838800c80bc2e9685966a4af40fdb99e4f7dbe3a69d13b87f623d7e04adde832039a514ece29a0892e9e519574a0bd70df1a65509e1dd4cba555189c223d2ae17f0313b29f8394771a6e9dc44be3941f102a389dde860a3d9a600e9d6a7fb5bf198803f4c377f2b92d721537bae4a10afca426691e09a60c4a77e9e1d1e5293368482d03a103e816ea57bca7500f3d95c05cf4f8b30ad90b03c5394f53c22289a1af117e00582003e150ff227931f00bcb60c8f653bd2f9a145a378c4121e78dba4c5effb076605820ffffffffffffffffffffffffffffffffffffffffffffffffeb6e24c5d519f96000582003aae1c378e65e946ebd915e5c0b375a3b4b6260337230513bfdf3a5b32634a04cfffffffffe10676ef8cbaccb005820034c3e26ba6683ae72f22656f49b988da6b436f006a20971db184b0464e94d90472cec6c4b00925d034db6de3e80dc43031d7f95d65c2e36d76fddd9f4e03fdf55732f940523b26c1300581f02e2b28a616e005ba1f0c485c00a8e78460b8e073ab7697a319cb2d95080bd48040fe2e17bc1e2a200581f02ee8569ade14e7f8fd9d64dda2da9e577b320923e8ef3e1f45d5a406b5a11479daa4b3e65f804033f6dfe25d655a7f3329710eb782523253c023415efe7bfce517dfa3c4cf67bc302190502031c6d999769a0f16ec25083d423a399389b397183bc1aad2134df6cc69c88245302193e9803ea7aad622586607eb69a25e60d05317f7e85718befd7bd6108b125829513d0030377f59f6626a83859f32482310093703ab8dd1ec0f3cd7d0eda011fad4335876a0364a1edad3605a64eec40e935173b144b5d01899fe81dc09a7a80f592fd3b1dac03580cc455c2345920e4aea3500f5e9c5edb4302ecd64d5d32d8ec57f75852c6d103f0ca1188dc943fdce0e88b47ecdff661abaf989b41fe8c0a0a8d8288a057625f030789bd49d7cdadfcb2f163b1890c3b72c700fe8c4da662cb1ee011a06a3d344d03e8919222119edd365475dc679d056c67dd5b338307ac66d7a87d6755d11b459f0378c9ba28776b4ba0e1ddb264c9b576f98e782169687f657788c8c960ce60644b03dbb3b5bcc9ee96be6fad3345f988360448184442855b8e0afbd8e2790b20e3e203a3b95d8c0b2ce7fdf620217dfbc5f0bd6f30e5a4d0ab1d4bfba1b49e65171d3d0219ffff0353b4e8bd9472be1bf71cb07ba1cdeb3eabc35670109ec302efb1154a60a16ef703a311b2ae55d842143c328b783f77aed781794f79e107fcb222eebf8df17803cc033a9fc6d00681d5fd756fed3a54fd55359f0c3ee42d961611ea71dc7547016dc703aa153028208872c82138d9c19d295404831c6ca11fc097f8279540e6c71b094e036731bf1c408979545f835d1bf09397ce4b1fe377b10d03fcf148814536cda8ec03bff6b7be4631f5163a35f7cdbd881316b88a5a63aa1c723c1c0f939781be55700318818cab71c2e80a47bdd918e315c3c4ca6e00f7eeab5a743c16eafadf5a5ed1005820038c724c61122dad3860cc0b14cecfb98ae14a4263d7f4fd5332b9abd62333205820fffffffffffffffffffffffffffffffffffffffffffffffffd2947b3274bb3660058200300839b724494669be8f4ee24ef2b5cbc93fdc45fb5fc6e22f6663316b40d6047eca7aa563cf49800582003515bb3404056420d61e040e95db2a6d55b65b2a52afdd9f5d60bf00365f040470371d3e1322b6c00582003ed5e5f79e9451cca3edcaf78fcca5c7603d5daf98026f9de5dd13f9bcedeb05820ffffffffffffffffffffffffffffffffffffffffffffffffffcf444b3990a4410323ae01efada22ef3801e66dd30efc24bb40e7e593bed38676bd7c02552ba44b6005820030f4a1f0901281005dc1cb5d58bd727476229678da57071b27d1c1b8ff3ac505820fffffffffffffffffffffffffffffffffffffffffffffffff0732ed129a3b6ab00582003628e4a80a4b715dc5098188d34d748cfade5210ee2ceecee35469d65c01370480100f2fafc26c274037813b5296a99f1860812f2375b9218e66803a2d53d5262c1b1cf352aa2d99d53005820037fad5b3bdc5cf4bcb79d65e3a2a86a9c75b9047e32aed00f9b1b953d75eca05820fffffffffffffffffffffffffffffffffffffffffffffffffff89368cb3ca49f03ef2a1c717fa9348ad8fbb54242e74c7305aba38d44929c5b7b2720267be17f2d03b870927da65d4d8086b8326e62edbedc9a5f5e21612d0ecc119405332440cc810302bc4d22702142fbd7a1068217c9be96f53b73215bebe798e6c05a56c59c6adc021967fd03c9b4b5d78b41099f2b2c9bf0d1791c16cbc3527f69f12048b6642ff235fb18a50058200393a004f582130baac406fe91a7033b6452629b93da74fd1cc13365f50d87205820fffffffffffffffffffffffffffffffffffffffffffffffff9bbbe7c2fdffca2031a14ecbe5c0a4d4a381a108baa99929e520492f4326b2e804f0e06010191ffe50308a3a5ddb73abd835bae00b910515e5c1daf4e9360433f98b4b985370100c5a400582003f3d3920f8b8204a5de2678f984332188e38e7e08d6540cc1a8542f49b124604801e05de27d60f721037f65aac0d272f4b1c27cfb88db0150db15b15f5f00e85212c19997e51a9f1b16005820037ece6978f8b92e413dbf0ef7156be3964aef3db506d228744280ce5f2d85404708103b7de0b96d033a21d3d611f782f28e116386ca26d1ba7e89ab409f351988c0e28ee7bfcc402f037319caf5dc947d84ad4bff753469f54c161cb005d23c9f52c3bb7651782d1dea038907b4a62b2a385fc954022a51d2c3fe1d65b9fe9b5c8227a08706d671768804037c345566538fb3194fca226831a96470e3e368f6fb8d827d6cd85c876608108a005820039667b8709ea7edca31885e60e9861684ebfebbe65da9bc2f7f98ad109aeaf05820fffffffffffffffffffffffffffffffffffffffffffffffffde83abc88c1f28803d526bc1cae4c0da0fed2aa5fc844316b8c5bdf45ec558b67987778933d7cb0540219bd5f0363b8669fd1267026a28e77a48b5db428ccf39e428acb8f391a7a5a4e0d9d1dc503d76187d41f99a3947b8a5f5e32e9f8f9e684a440f44eef26bc991ee21e85443103075d4bf5689a4272ee40657a28e524aae0a3c22d97c607b5144893221410ccfa03d6da27387f7ac089e91de3374ac21e537221d4e275e3b09ed84863958d7424a70372c8064a0061f154e26fe991285872ce339f7cc328596099e263725dcb4b5c9a036a5bdbc133d74978084c466e5a6d3e39b7e410b51af65af71ff40b65e30720660219ffff032d4254ca23fa829569297c7744ce7b8b1a361a0764f2064a0e6d4ae05d933ff303d3dbe2e12eb4987b29467dc6275cbfd014dc5580ce6bdc121b434fd8a4e2d650005820037c8a920afa4650c027c3ae68e91b0154a87dc58d1780a36dad3acab5d519a05820ffffffffffffffffffffffffffffffffffffffffffffffffff3b88ca61d6a4d5031bf68cf5384810d6ba4235e167f6d7faede2506daa52f9143087f6597a308ecc005820035001bff2da92560c1f63d6cf2e3f57fc1400d1f4e76d31fcb35d915894e3105820fffffffffffffffffffffffffffffffffffffffffffffffffa15b4d057984f670058200310a56317691b5bd2cbc4f76544dabc2ebfe41b2f2ba859aa97dc09bcc88f60471582c671e18082038acbe1b7d26cafc990d191430e627d77287b43e0781aee93e6f8f9dcf12a25940058200367cce842b5f36f6cd0c4bb067840eb1f660772a80201c437b2906ac24042c047155fd57595cd90005820036bf2dabda45f3155576707f22dacdbd8363dbe65ec460792516abc7bc69e305820fffffffffffffffffffffffffffffffffffffffffffffffff3fd3584d594401000581f0296003680612858d4f0c0f869ba3f24ee87c593e5b4f2cebb335fd95a22b547c1695078fab10e00581f02c21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68483a4965bf58a400000219104000582003e343983db479a513f4fc2797d5dc184eeed316aec22658cc6aa28d58df6c305820fffffffffffffffffffffffffffffffffffffffffffffffffe4c5e1605585d890219e16f03e0b6db65c4c818bcc117695f3caf798d03baecf781467368da70934dccff55010058200377f318243c3ca55359232e7dc0017d8b181922f06b919790db698fe2a1fbd0472386f26fc20570031930a8e17d4bf4b6ba2443133fb551315837927529a9c9f6bdaaa3ee80f4fd4703ddb16d3dfb16b86a933f7dd5f01d4d593f28c20a73b9610fdb3e3e3cb774b4e103e454c995fd928e5b36afca756f5044731f64bcacfba31426a72982f215138b3e03144b4d3d624ac8a8e86a21a0f78ef0c7158cc68c34f0b47e279bdf1e7c3ff0480346a2998809bf2468be7488f94753d3cef2dcc69a82cc2a36c1da3dd032d3ed3d0395edfb62e9d0641acfe94eae08410f0ab1fe0547169a0cf5c76839ed6eca11a900582003167cb49f5f01e760362445c755b8ad35380c2ffafebd5dab1d96079eae01905820ffffffffffffffffffffffffffffffffffffffffffffffffe4befc9495f76556005820035b3369ae5039e269a0431da81bc21da659e5cb2ed8c73ba20a3eed337ecdb046200807091b7d005820031268777883ceaf9be15e7601f6f696c867c27d87ee67498680c30de47dfc70410703746fcd78066e63fe32f5a4c0163f9ece8413beb06efce7515c5903b71c673ef103f311816fe218ab00288ac4b7dc1b83e995f2c3adb8565017074efa0d0ba80fec00582003b0c852c0798e7cce71fc6f5e325ad8834be01c009953f43908231a9c7fc7f0473097558becf91a0219ffb90363f885c6125f295b40af58786a289df892c47ea088deef714430878be464112a031a09ce16e9f7eac27f17209955d782a3453ef4182b33f78aa5dee6cdeda8eea803079c5c7dd2e1293c030c12faede19d5f0a64ea6aac759befcb1d1838eff83e5503f882cb454515a4aded95b94bac8392e1890e3fc16759dbc6191276cb8c327a6603739a7e58d01863808019404e24027c96be8c0bfb0b21fc52c8d0af1ed755717c03ace4fd80c5fc3ba0193f0cc811d7e0a62d5ec2cfd4fcc3c149b1230cd808253803d0e29aea953b46c50543acf7f3ac54e72020a2284fab2e3a0a42354d84cfda7803cdf5a6bebce7019985a1a0fc9796c608e70dc8b0ff766333ab13d4b733048d0b03f92a88ec197bdd1a10b824a2d88f568ffe1c649c3eda9bbe54f7508313df5d88037329e1ec18ce3ccf6788c691bb1e265daebbf6222ada505b2e828405e5f4c3d9033024c119e0c27f979f6769a94eec59e00d65b426221a5112e974251470bb6013036ff4a9d49b912fe36d051c958409829dc528a5961856ea3542ff6ee36395ddd10219ffff034bb93a8cef4f7a6dc860bfa77a08d002019d1dd48608193143492ff1378f7b8603cd732a6df18f8dfcf9c8e963c2a2a03e0afc1764478d94ef64efcc2561ee536703e6bb28f54dc214a23102a5ca1548b0be202aec09947437aaea62c8aecc48bce703e9565c69e85cca39b78fab41b8e8c6bfd9800166170cb9d99601dad30370201403ab18bc99d2c814dca7599f14361687e38e8264176d1cb7372d977218395cac36030d40da69f9a51d2261ee861618738e461ab91ff7510fa6246ad352b193cdfa5203f5842b96a6207ed2d1329b1f06a35a16fb840ce89f0972e98775eb580c3497d900582003fc6a94b731dc76c6205a017e20213521caa65a77af6fc6420642632e99e900410303be04683bb6304e56677d94abdd6a3596c6c793fb3f4f565a70e82f5cfcd7d88400581f02d4a0ff39c6078498b861847ef135d292b7cfc6dd286c34e5dbf69fb78e1247f19cc8529f969f00581f026f3dfc907c13ee997144efceaaaade5e99f7be5ca41e4930075e631491b55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021902040058200377964389a042e5cd477c60db18081e0d1a84500709f86b80d46f4b564c821048012c6c0c7da060a700582003210dbaa7c4464e077056e61a0c4f8d500844312700236fae7f973189e98e904427a56345036f3d5cc056041c36b0eea25d426b0a7e1b74eebadc38b052935827032def58d1005820038d8a480eae9f4871ee20c5a86042c7397e218f3b143b28c3c8468b46989660480370ffb15ea81de6005820031927b2bee85aff51b14d28adf8698c8024c6e747f172d68526be41820f2b505820fffffffffffffffffffffffffffffffffffffffffffffffff6b84429310413c8005820039564f48beb9bb76c9bdb7db8e6e8face1e2c270cbbdd9d9390a27b289d3c405820fffffffffffffffffffffffffffffffffffffffffffffffffe9b38c099324fa0031add5758e468d1c81de0e3c9d2e46a01d6b83cddae4b1ce95a496ae3326353290312612f00646eb47de66bf1a8798b1b8a3768b7d2bbb88cf762a139eb890ef6c9032c554e071003241debc5182ac5381b8921f9ad3e5093d4af2532bfeba766d01b03128860f63adde2dc2af537dd49c7600809d124866e78c645d589d1c848ee369f01410d0219e77f0389c728841e2dae458681b0e241638e213952041220dd68e9cb5a8d0909db1e6203e216aa21b51ff55da1bf672c7a394a515b80dd2a1831ce24e8bf3590ae4b7b92030bb0c44207bd451477749fb9ef10359e2dca4cfd7feb5e757ea583ff6a3d289603591d93da6ccff1cc9875f4842831740c19986a903d09dfd18dab1f34fcfa573603b8e119db1e5166a5f8e24692983eef1e119f550e67227950aa371868a75816f703a20e8623e625f60ab20201b419830ffa669fe9638e5f4d3253e87c5f3645462f0385644d66b4ebd7ee8f0e2455d26ed22249de862bfb73f7deedc20d98b87ba24c037ec4e6c58a3743ee0b82adbf836974c28ae39f1663cc9f5f47860f75369d45b40058200340637924ac25931db1d0c482da2e05414f931830d6ee8db5bb7582c4b795205820ffffffffffffffffffffffffffffffffffffffffffffffffff36093188e470e800582003c53eb717f8bcfb57517dc108a718be002f53c181a798afa50bb2f9b2b221805820fffffffffffffffffffffffffffffffffffffffffffffffffdd954523bd07fff005820034d298f9362dd19a1297a2519e7d216e0f5657bf0b2987b695400c20520e4b0478b4cc47f8827f80395a1cebabb1e8bf02b1759dd45ff11d530f8b8c57f7c7741f8fdaa161571e98e00582003918ef04b384aca37fe20cb8703e6cdaa9ddefa847dab53babbfd7c3b4195b05820fffffffffffffffffffffffffffffffffffffffffffffffffdc2811bba6a9b9c03dbd0973e0aaf1e6fb6654ab2e462f95f382ac9679bef0d7dea58b4373ab1718b00582003ee2b42d886f0705e80946c2dbb13be016bcd07c93d0df1753de01ebdb69b9047022871e5d7df1003f99d8ce77e34df2cce00d3f13b6805086f85c4fe8e1d3a5465fb2112798722b2030da9b05119465211062e5fdb8873055c159fbacc3d538d98d572d4f524b7f9a701410803c8ed15a868d481fdbda0611eb2c4cff70492e4a9d4609eb73b0e681079968b2903ee73c23c69551d547332bfccbff448053234569b8e9c67071c9b866aa5bef9da005820031c4d852c151d88d4e30f8d7a64d1291efbe7f6bbe4a2a2acc94027ac690c705820fffffffffffffffffffffffffffffffffffffffffffffffffa2968ac8570dfff00582003cf2d5a1242492d958d2cab926f0d4daf70296738f4cd7c7fabf151bdf34d305820fffffffffffffffffffffffffffffffffffffffffffffffffdec2d2b2fd62d1a0219ffb3031e00b7bb8f2d6bb634fda6f689755e69428a42045b3591b894107962034be6e40219ffff030530b89b340fe1a76944b845bc4718f285f879acb3c6e49c662855cea7f3fc2d036c3f2efdb18bf89637bc267d4e0d17868756467260910e5604e982df97c7402903a0894b07e1a42423966644d52e249b0c43718d8ba03352be81f412f19ec16b8b03be29d6169696c68527e1ddb56103fb1af6d81e806da695fc21b1c35993dc62d103f6139ee73e7f8367c84e70642d001ae1ecefc92d9134943f307635deeb66967c005820035bc3133fea9687f78b7931c9c0a27ac060e972f30a1720d4e82dbf401892a05820ffffffffffffffffffffffffffffffffffffffffffffffffffee37124bd720d303d8caf330a8c03ce9debb7e46e2ab372f2b133ffc20b5f061d18bc25f5453f77c03255a52606067f685f64bfed6fe7c6d36bb1948ca8c37e6f38e026da7f47d484e0355aa64874048983c58ba8152c48e449111ba1d292cb6fe49350cc99069e76956032a6a4b43455ac85f1223320d98f4fdff70740c948c1dceac1858323ab44b8d760362cd9f487f9a7d4ca125ea0ab0ecbe65d4a2752ece1ce2c6a33803da1a5fb8b4036e5ae65b0b8ccf98a4bc9cfe142f88270627db233af9ec9795331aaa1ff31b3e00581f02a1ad4c66923f985a7673e4190bcc5e860e2fcb070615c786f8f8317e0a5f47170756d3d388a300581f02ad4b00b3c5f300df2ad427679db410079d9ee938b688c42e839d17070f1c480547fdb2930b52aa00581f0296be0e0f983e5c020f1778cd39c64788de638e616704654f5265698858985820ffffffffffffffffffffffffffffffffffffffffffffffffdd5912079f34359302184a00582003f70de9aab034d2b6ef862fcc008da07d13c28d72ba7ba401078085fff5d4c05820fffffffffffffffffffffffffffffffffffffffffffffffff8b3b986d758d600030641e4d5f5a64e98ef0a25cb13eaa5d7db849699d3a54a441f63d01800f4ab3503957c63e07c3126a3d504a726d9692e16a2507c28d202fc137ee210e7b216322a03203931499b3b3bf21eff62e54954e208feda245a4bd91c4b3c62c0ff499acb65014109005820035426eebf4c111fa9b706351587d6c81afb1ca6d8e44cd85eea11a76a7c9be05820ffffffffffffffffffffffffffffffffffffffffffffffffff7dae1637a850d1021977ef03bd6604e01ea508352912846708f0ef3f4ea1b7991cd15f2b809f26d98131008f0390842a6080233e6c67f077c1474c1e0618d46dbba8c50d870ee70d8c2aeaa640032ff8f774eb4933caf056bdae1fbbd8e6ed3e8443b3918d9b10774da77ed4c929035512b4fb2fa6550c4659d028340ce4a3c95a40f2e8b8e759cd92f00f220c0c2603b004a39d5074a946011af557850b7e45d54ed27eb91697b3ba0c365724ac882003e4e8ebab3973df07c4147625bb05a4336e4c1af3714abda8343ccff52d513fdc034d49586d07ba9989964077e2cc076164ad7037d8836d27a36f27a72edbdd111803a4ce9f57a4cbf3da80ce0182974714a0f2eb84901f3c6342e0b99e014836a0c5033edc88787f22849c80de4c45089e9b1ab92034f65a4e8b770ad1a60e5ea62fca031d4a53e93d5b648f67a469ebb7dbd01d433d60e4c562d42e66e0f16ad19b1f03033bc029033b90774789d40cc7b977ddda7546ee92b3969441b0b851c8d99d3ff50219ffff03638a3a3122a2cd25673cf309f6c42fcc4dfbe32e1fde5f5b41694062bcce4f09039f29e9f5c00c93657c189a6d3d7f62d45294d291ead19597aaf41ec4171a4f0f0333e5132a297a9ef1959629f04b54a56e9b3e8a293b959926ad8cde4e284bed3503e6a55e8d40f9c9c514e7299ec6c31dc5285974c6017fef0fcb81bf7da120ec9d03a2cbca4127b6b5d39c2f070ab02740e7ef17c7d32c853948f518cdbb7361410f037779eaf4511f678c93b314f584beee0011b15acf5c7567df57598229df651a2b0366224e2301fea0a184e0ee9b72a62159cf3e4cfd0845d08ab623c3e9661bf2290345249aad68ff871190709f30cd55a1348224dde87c30a272d8462bb362830ff603015b1cc21bbc654881966301095a26b1b66d7a3b66ed6129f352c80d039d6f6a036e8ef0f299a0174b6e6ecdece88f6495cb2e6b333c7557f6bb9b79866ea61f4b030c0b63eff56b6216b4db38f6d74fff08e70892ef3c6826085da270f938b295c703ca31615c816ff75a55b9d6297ccc7c150cb7628620ebe00f71cb8388c08a7cb10327c026d6bdc7c043d463a2919ceae3e40affc4eddfb72147d4799b87494ab5ab00582003aa11e4bec460a3bf84e348eff51b6d008d246c6af8f633fa91d0bf8bb91ad047c0ac5c2160cecc00582003dfb6b4a7e132ce19245bcc2083c71348a5d7268703f601d050cfb1a92d02005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0385bf4d133a9910ed5c8ea092b3766824d27380ee1f337b14a7810a37065a00ff034c5dc91a96ecc2f8ded57ea99e06f5ab5f1575c021b1586caac41f4f4434461303a3c38b61b9df2e7a66a3c4b7a1fdf02f26928e087cff42551a9e8b666c8af187005820030bee7d625bcc2068f4c8e486e666b4a8261615acdffd4c25372370cf08ac40470195f213c79fc7005820037fc2b4fd7510e3337e768a4c743d5c57e770195e7c9fb85248a49b6ff44d405820fffffffffffffffffffffffffffffffffffffffffffffffffefca6e303657fff00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0423f7103c5cc4ac9ece59aa5adfe7bd8d3197bdb3c37323cee5f4d9f82443fe8c56248f203d1a9a0e9bff78cb8d94f5163dbd27ae33670dee982aa768d73c340904b4a923f00582003e3badd09c7bc66cfc4b90f5dd4e7186a4bb1a25e513cbe78e8537bfed9ebe05820ffffffffffffffffffffffffffffffffffffffffffffffffffc6f7d8bddba2eb03858271b6505f0073a5af7fc26e9240435b0e3a04de56c0e25e79a199ba44705f03e898d59634262668d75a6d17b0d6961573f32b1d32fca340c77d6f8b920afb9b00582003f5e88a4630ca3b363199b487adf073d7d629008291594da122aff22474ce304823d5ec679b8aa719037b162b3c2b86b2aff6985352b8e949fefab330ba620b26c34dbfbbaeaadaf84b02197fff0308710c6cc708ee580982c05beff4f4791876f844f9abf883e89a28965d18ad580318e4140f19ac1a5279b406497a27fd151ffc884db621e454830ed3824cdaacd203da349ba86546b87c3034680fe12a95cfb317d5dab644d6557dc8831c73627dd80374abd6a4a1d542dabe4b07499c9037436f3b8020396db9b84fd26e0330c536460219ffff0385d2b525683633f024a1944134c680578a9ed87bcab0837ff9371af274c32d7c0359b533516083c0c2de8d8b0bd5fc49c7acbf8a25a30807f17bd0600cd221e1c3039f7fef2b1b1f34d8ac024a9e5c1b8a9b306749fb09458942c6898a2105481f9f032917d627018cb0ac49df7e85423b92990ba3d2af2bbef1f508c9024dccf9463a037149352dc808136ecf51817a20f736a84af6a8802f3c7fcb3a5b6a158e2995a303ebf982c15f7ce95eddfa8c4223b49f6c732cc79f43e88ea8893cd3e3bf6b132c03b7a24e364ab536381cfed7711824ea4da970b71f1b1bacc79c952b77ce773ac803e73f975256c7c7a2b41baf07a335d2c2d1fea1a64fc8de698e5050911f54e4cd03d9cb1dbe79995719b364c4ddb0adea8595b50842eba5981d5ce3b29023a0d46d030c053f0821bf5c732d98deab59e3afa7fa16eb9186a4bbc3ccb2f67d0eae05a6031eb2459c6d780a22f4417f5b1f0c03caac4edfaf1c99f8bbd522079369995e9403398b897239bdc234e7ecbc0dbd11b6770d324d7b7ede71a5209241a609e1534d03b87a098e4bb21d877d28300d43d6640740ecc76ce35ed21b8147226d94399c64031537e0f4604c8028b09a030cc7cba788e8b8afcff1b772f1677265add13b705503a7a4aeaf0cd2d0f9517f02ed8d3c7074c34a278c11ff7f309eb7587bd4fe8ab7036a388c9b1fe7ab54ddc2cba6bd86f2d61f5c83b31a106a2e22109964ab33300403c1628f9b05a13931d541459a9f71eb11c52a5c4d3ea7441debaf1b6e4201bab103637a92a98a3aced89d6ecc1b26b176e301a82579d9be59203552e04b81397ff900581f023d321021c4d28f5518cc971ff5d87ec4f4c443668b6a98eb103267431a385820ffffffffffffffffffffffffffffffffffffffffffffffffffe6fb0a0c31840800581f027a78b96291379090d5ebc697b1a70a740053fa9c91d479b2079d7749645b5820fffffffffffffffffffffffffffffffffffffffffffffffffb9873137f5f945f00581f03b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec057010001e43459ce58e22ad7d33169cf0279f11f549f189200581f03f6348200e4b707647de589c464dab8afd53a83e47b94666d599eb3d276204806f05b59d3b20000021908800219204103487cb4181aeb2f3df86becaedcc58f78e3869c749098f1f97c67eea62e70730900582003cf8224ed462505c2df40525e8bd1abc708701309a7ca7fff8c211242f8cd204712c42decf757d7005820039a14ecb4695b9a183ea071f2b5f7c41fe6d8873a943d7d1dc79b60726ccd205820fffffffffffffffffffffffffffffffffffffffffffffffffef69897289d6391034b2dfb60dff21ee38b46b9f6cffad1e386637d27930a6a1c0944923357716c14005820034b844236b2d2f91ce0e42ab3e5c066cf1ea9aa13f130290f0dbb0fcc6b72e05820ffffffffffffffffffffffffffffffffffffffffffffffffa85d7ab4a5f70ba8036098f30ffe8cfd3044a3c8527686d360d3752265e97a4551ba334df647086d1f0318715a921fb8868ea1054aa762377f8181159828629cc618f19736870f80bf6903218e251ba75e8a2add724962245a5520ef946754e90d20e0a0de8267cbd8393b0219ff670367d9862683744ab92603b01c722ccdab738977add2d40a062d7d3214d63f11500219ffff031f57c2934e5d6ce13d782bc2a68c40f567acba2ee524ca60420a20fb1f5b03c1030ad842340a2df583ffc68948416e914084e894467369798e2b8738735a2692610332ac4c6d57dcfb0480b8d62275506b6440125791b27dd4cb2a36a1f780ab6611035e78a39309569954e3fcd036cf7c529a02c0d13cb3ccc3647a4dbcb1db774a21037abd59490a2d9549c23d7dfe6422b82c1c7b6c928d7bcd6c50a6d7c02d5ec98703cdf97f59e9ddab8fb32eeca09945cdbb431e88d6b9bc67403d4ca0f8c3a2451f03a57d6309c9363604a94d718a62ac15e3e0c18b3f894fe42ed6d6e1925c23f5370336cfe61e89483a1f8efcee7c50fc7443ef706750a74972a9f92886780e73825b005820031ce86f1fd0dfc4b0cbc46fdc4405e8a491d0af15cafff18b2ba185cd1627a0477998a18c82fab603557a3470e1ccf6213c53757d6fd7915315d28b3ba6188dda7f79b302129ab24d03ff35da426dfa186d54e31ea17ea760c14fa2fe49338b2197d92b3ca672cab8db03970ab41aca3dae9324a1a08ecf01dac5ad79c976c15e5dfe5d23b380310d1fbb03da5a23032382f949f0e9adf39b1a0db3ab7ba26e499f91f49c936a46614a8e2e0058200318fe6b3b95d5cbb3ca70b244cd70ee547265b794e97777ec765d5dc7aed3605820ffffffffffffffffffffffffffffffffffffffffffffffffc3255acda2343adc03d7d1fdea2c6c5737f134ddb25c65fb533f99c1298ceedd80802a1fc01b3aafb500582003a025aaa2c975d9208f81f6152ddded3f5a17acfb6309d2a6acf895ee84cd505820fffffffffffffffffffffffffffffffffffffffffffffffffb9a444d040da23d005820031df4f3b81d186ece66bee8b5410c1db8389e5185ca6d19c430319ba4a11db05820fffffffffffffffffffffffffffffffffffffffffffffffffa4f65a4d5431f0f0219b97603b0b4cfaaa0a73a5c222c96266046fe83c68777df7ec653b3c136f67dfc3f2a0503bc81ade1510c02e0dfd56805d8e47d932a78b8faa07deb8a2cc938033158a0a503d3867f62d1db013667f6ec6a3c16b25455aad0502ff410900ee425a58bdee3ec03ae33367a1d8013a732927a20dcc98a1408568eca92ce49310bb063eb41953be7030e4a67ec6ee3df91502a554601ca882d326a3007577c6bf1c18ffb8c0cfbf06903174ecb6e2283e90c9bdf59dd1e6294251824248d26d6e0f03d7afff9c0bb0f0403c90312a79a8cd1edcd1c9ef2014d1637c7fddd80604d678d675dddbb8145efc203bac115d2e4b1f6f0c64dc0f14e5786df29179d9419e7c3540ad299525332cdd70219ffff03bde023857ed0b45138e607a6bc6e5b3e3ebadc10462d8dad25d16a9bbb597a2303b1cc4968424c35bb4c6ae6716ca0e24ade2bcba088df1f07bdb9adc807195f610219ffff05581d0294caaad14f6584b0b288613df9b3d61355479b0e4906953790fc8f690f0148078461624befd40019383c05581d0283dafd2d14fa3fe3589a1de0d0a9ad646fa0b85c8537f2bc912d933404010219042005581e03178157005101d8bb20b3336fe053f37c5e30f769535cfe4b4c68c33c70040203ab1c07684d1a44b884813cfedd55bec34b6b1304600387d8b741a380fbf51fd40335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e0319831b000c1e8c4167bc936129a4caf36cff1b5db10a712ac720136fc007011bffffffffffffffff05581e031d34b50c639e39d115d61e014747e13f9ac21b06cc51176d191f323540040205581e03b81045262ece00435a873f93308c798be64af346f3be19e075382f51c00c0146065dd0837000031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e037245b14f5360045a02618c66f1fda51e69fd3c465009f2e340112b7e0007011bffffffffffffffff05581e0344c56a87faa8108a9202a91a322c320b68ce76a605b1be795462fa3890040103715fe2b81e716181e045bd6462ce86a1a517681b17db3475f3af98352552c22e05581e03d066bb479f5ab1ab1c612a7aa754e749ded25c06dad89df706b50022500847602e9612ef47930219dff703617cad25aece9011fe9f2d123290551c5152176df8d8daed7089fed633ac187d031a863a036d9b8731a86efd486873251a4dacbad199d34c83fe377d2351614e150328685e41a89ef80c1b7053efaddb17f5615a2cf094b40fe8d9c4e86cdfe7111a03665d63365e3010dce606d44fcc7610e6d8b57abe56f712736c4a708944d4b10f031a40a17c1ef9c8e9a2d09607b3a2d8c4b80115e5211f1b0b7d814ec3f5fa1be5036b1a5d1aed7cb0d8dfdcb826aa4b39fbf8d80605ba2900045e3d4a3a0f16d5a003bb3a88905012b3d79be4b046f0143fc0976e136de6408b0130ccbc8da2e2ead803555a77d0455aa21db24f886252fde5cbf5abd627b8e52ce0cb8409558923c56a0219ffff037a4b68916d20cf4870c11e243653ee8f5ec16082dfbbecd9188964f8dd9edeca038ef0f9b69a8d407f47e67c166a05bcbf858a49f7e69eae9a9f173f775ffd15d0033a590ed0d5ceb9f33d53a22262bdbed35b24ed26ec88293cd69588dcb1aff27203860fab3f41c125632bb53aafcf4e216138cc80a559f12fac64604da428ddb4dd0219ffff033f5855c3171b1837174c627c040c9aa0991fea1e1cc5eb7225bcd6750fd3757d03fa8a5195dbcbd59f816705b840f727c3698072fc6a32f9ace6dba323fabaecae0355f0afe831caeac4c4a19531d18d519e54961294f6643783067ca556b16ddec40376c38f5c2b428e88aa95400db884af13af8a8d57375a5b995cc6c167a83961e0034333d10a3e0bb4ab49d46a85c4dc9255b3cb3e3c9e3cb83243a4ee814a2a57af038379ee0cd0077bee6ebc417f6c7a95972dc7c1c27c3be5448366f0e1849bab1a031b444cf5b0e8072dadd22e1616c13603b3acc8dea5e6083122d50fe46a21326c031857ae7170dc3b96f5e58b884b40bc20e7369c06ed1830453fbb07a9719723e0030ec05c9b7ab284ed33c36e4e711e6fc255acb158af3420b35b8af5426dc1ce2803a5d5a4e30c9190ddaba2636a5b2a33926ba1feea330f7734116a9a29fdc2f6ea0219ffff03ae892b7b57c850bba03d86d477a96e4b3f065130e9771147a31bf8cb5b24e27a03d21ccaa4e26c9f81514b342c961ceabe531c7509bf86932905f50383c8d24d020365319e15fafc733f01f84ce118f89e29f6e0ca6f01415c92624ec31cab796d8903a1714a44a5ad58e0d5f501a6bb38744468517d17da234b90cedf238b73ba472b032a7584bb574ec233988cc41b8d62814717e5f120952e546c18ea1030299f09a103370c788cf8662958ab0d90c32e4f6608e0d3264c7b3d0e9ecf452d88ab741c5a03fca59083d7f55a4c1208e3ca5aa56ca65b629d2b28001e403727b7688b0a431a0315f592e48e7c981eb4adf53b46f65a5f6eeb24aff9bc57f7d97c4426008afd6a03355a5fc25b9d3271e730fd5be7b02359e30db20407c4523cfccf3c918a105b4e03c96069ad658d72c4caa726c7407b30f24970382a6a154e903e66110a4210971603a0d6b8a7a21b3ae62fae038bb5381145da8a6a6fdafed7b13208a01409ec1ac703d620ef2c8fd348a71e8b63af818eaaec1471a10e7387bbcf9983124cb3ffa22a03c4e6d193d49788fc35077405cfd73bfb27071d3bed4617e2b10df1f17e2ab81003ed719350346437a2e2e01888a5173e70f5b0f19d86aa01dc3ea769360ea4d2a103ec79e977dcfa3d36dc7a9f982f9d28430244bb80e0543bc06ff6223d3c5aa36403fb775db7e21bfe447a29aa0681833e1e72e61ec404fbc7380db95bfeb06c77b703fb5f0ea9e50fff1cb3c28e92e3e0d72e51f254aea4ca01316d4907fc7c6bb287030579eb9e22adea5cd766048c06756113975c800510824d945fe452f8645b3b1a03ff85be12b03d6975ad1aee36a239d3bab9005aba9f5894782a4ed74bc16808350300046f2bd5bb292914330f3e3a1d5629b7d4f1ac793df2d176049ebbd692d978031ec36065f4c29f25ce28f59f675e614082f5ff3c04fe962753b071c3013fa97e03290e26accb702f0ef322fba886a672690fdfa68575c44e8ce17e72b3be3b2b7903d857706b1a1b3edc4611274122c4570f723de031598ffdb85d3d1cbfa044da65034764afd13707552dbed5be0cd93a577c84e2101c0d740357fcad0734291cb16b03e8a05e537702be5d750a304cb56036ec14a5f75242d7042eb7181f453a5c7fe705581e03e9d288b164e6bb15919c968849e02caa75b16b4e79685fbc42b4df4db0040105581e0394795ba649ee620cac74e3d31406078f82794c7557d5af99abe3cfffd00847201872a945c000039c570485074cb956f8d25739a6836e17213bbf1aa238f911676ce165bd6512e005581e03526f59c729cbafdc639d829a7213dab13fb87ac9294385efc0f9c0b80008470833eeac526800034cde8b77bf1217f2eecf39a80a524af247c1452847786ade57083761d901172905581e034e7c514d94c32b2d4aeb78bc785615975b422680a08256b531eca49bf00c0644ee6b52f80330e65d79ddf6699200cf5febde90aa5ce6dc75c9a07c784db47573553669b65e03edaca3983e9b79b4c6aa91ae481a473e60bd4525680e648e1fce28c3d7d4843d04593105608060405234801561001057600080fd5b50600436106102065760003560e01c80638da5cb5b1161011a578063b85efd06116100ad578063d73792a91161007c578063d73792a914610474578063d7b4be241461047d578063d7c04a4614610490578063e869565e146104a3578063f8c8765e146104b657600080fd5b8063b85efd0614610425578063cc64175114610438578063d2fbdc0d1461044b578063d6f192621461045e57600080fd5b8063a41ce7e9116100e9578063a41ce7e9146103c9578063a4698feb146103dc578063afcff50f146103ef578063b3a408b81461040a57600080fd5b80638da5cb5b1461036d578063923c1d61146103805780639ce0ff9d1461039b5780639ec5a894146103b657600080fd5b80634e7adf2c1161019d578063641a6cd01161016c578063641a6cd0146102fe578063646780df146103115780636a4874a11461032457806372f702f31461033f5780637d4234461461035257600080fd5b80634e7adf2c146102be5780634f5aefcf146102c557806351e3fc17146102d85780635eb143ce146102eb57600080fd5b80632a554842116101d95780632a5548421461028c5780633d18b912146102945780634ab794a31461029c5780634ac032be146102af57600080fd5b80630687c4bd1461020b57806317b18c8914610220578063193ba6d1146102465780632439242a14610279575b600080fd5b61021e610219366004612994565b6104c9565b005b61023361022e366004612994565b61061f565b6040519081526020015b60405180910390f35b6102617359cfcd384746ec3035299d90782be065e466800b81565b6040516001600160a01b03909116815260200161023d565b610233610287366004612994565b61071d565b61021e61082b565b61021e610868565b61021e6102aa3660046129b6565b610872565b600260405161023d91906129cf565b6003610233565b61021e6102d3366004612a05565b610ae9565b61021e6102e63660046129b6565b610c1b565b600754610261906001600160a01b031681565b61021e61030c366004612aa2565b610ce2565b600654610261906001600160a01b031681565b61026173d533a949740bb3306d119cc777fa900ba034cd5281565b600254610261906001600160a01b031681565b610261733432b6a60d23ca0dfca7761b7ab56459d9c964d081565b600054610261906001600160a01b031681565b610261734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b81565b61026173f403c135812408bfbe8713b5a23a04b3d48aae3181565b600354610261906001600160a01b031681565b6102336103d7366004612994565b610d21565b61021e6103ea366004612abf565b610dc9565b610261737413bfc877b5573e29f964d572f421554d8edf8681565b61026173c9acb83ada68413a6aa57007bc720ee2e2b3c46d81565b61021e610433366004612994565b61108c565b61021e610446366004612994565b611134565b61021e610459366004612994565b6111db565b610466611265565b60405161023d929190612adc565b61023361271081565b600154610261906001600160a01b031681565b600454610261906001600160a01b031681565b61021e6104b1366004612aa2565b61184c565b61021e6104c4366004612b60565b611a5f565b6000546001600160a01b031633146104fc5760405162461bcd60e51b81526004016104f390612bbc565b60405180910390fd5b6002600554141561051f5760405162461bcd60e51b81526004016104f390612bdb565b6002600555801561060e57600654610542906001600160a01b0316333084611d65565b600254604051636e553f6560e01b8152600481018390523060248201526001600160a01b0390911690636e553f65906044015b600060405180830381600087803b15801561058f57600080fd5b505af11580156105a3573d6000803e3d6000fd5b5050600154604051635c2f7e8360e11b815260048101869052602481018590526001600160a01b03909116925063b85efd0691506044015b600060405180830381600087803b1580156105f557600080fd5b505af1158015610609573d6000803e3d6000fd5b505050505b610616611dd6565b50506001600555565b600080546001600160a01b0316331461064a5760405162461bcd60e51b81526004016104f390612bbc565b6002600554141561066d5760405162461bcd60e51b81526004016104f390612bdb565b6002600555821561070a57600254610690906001600160a01b0316333086611d65565b6001546040516317b18c8960e01b815260048101859052602481018490526001600160a01b03909116906317b18c89906044015b6020604051808303816000875af11580156106e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107079190612c12565b90505b610712611dd6565b600160055592915050565b600080546001600160a01b031633146107485760405162461bcd60e51b81526004016104f390612bbc565b6002600554141561076b5760405162461bcd60e51b81526004016104f390612bdb565b6002600555821561070a5760075461078e906001600160a01b0316333086611d65565b600254604051637acb775760e01b8152600481018590523060248201526001600160a01b0390911690637acb7757906044015b600060405180830381600087803b1580156107db57600080fd5b505af11580156107ef573d6000803e3d6000fd5b50506001546040516317b18c8960e01b815260048101879052602481018690526001600160a01b0390911692506317b18c8991506044016106c4565b7359cfcd384746ec3035299d90782be065e466800b331461085e5760405162461bcd60e51b81526004016104f390612c2b565b610866611fd3565b565b6108666001610dc9565b6000546001600160a01b0316331461089c5760405162461bcd60e51b81526004016104f390612bbc565b600260055414156108bf5760405162461bcd60e51b81526004016104f390612bdb565b600260055560015460405163e44b9fa560e01b8152600481018390523060248201526001600160a01b039091169063e44b9fa5906044016020604051808303816000875af1158015610915573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109399190612c12565b506002546040516370a0823160e01b81523060048201526001600160a01b0390911690633969dfb49082906370a0823190602401602060405180830381865afa15801561098a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ae9190612c12565b6040518263ffffffff1660e01b81526004016109cc91815260200190565b600060405180830381600087803b1580156109e657600080fd5b505af11580156109fa573d6000803e3d6000fd5b50506006546000546040516370a0823160e01b81523060048201526001600160a01b03928316945063a9059cbb935091169083906370a0823190602401602060405180830381865afa158015610a54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a789190612c12565b6040518363ffffffff1660e01b8152600401610a95929190612c50565b6020604051808303816000875af1158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad89190612c69565b50610ae1611dd6565b506001600555565b8215610bca57600154604051630c00007b60e41b81523060048201526001600160a01b039091169063c00007b0906024016000604051808303816000875af1158015610b39573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b619190810190612cf1565b50600254600054604051636b09169560e01b81523060048201526001600160a01b039182166024820152911690636b09169590604401600060405180830381600087803b158015610bb157600080fd5b505af1158015610bc5573d6000803e3d6000fd5b505050505b610bd2612045565b610c0e82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061235d92505050565b610c1661249a565b505050565b6000546001600160a01b03163314610c455760405162461bcd60e51b81526004016104f390612bbc565b60026005541415610c685760405162461bcd60e51b81526004016104f390612bdb565b600260055560015460405163e44b9fa560e01b8152600481018390523360248201526001600160a01b039091169063e44b9fa5906044016020604051808303816000875af1158015610cbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad89190612c12565b7359cfcd384746ec3035299d90782be065e466800b3314610d155760405162461bcd60e51b81526004016104f390612c2b565b610d1e816126a7565b50565b600080546001600160a01b03163314610d4c5760405162461bcd60e51b81526004016104f390612bbc565b60026005541415610d6f5760405162461bcd60e51b81526004016104f390612bdb565b6002600555821561070a57600654610d92906001600160a01b0316333086611d65565b600254604051636e553f6560e01b8152600481018590523060248201526001600160a01b0390911690636e553f65906044016107c1565b8015610ffc57600154604051630c00007b60e41b81523060048201526001600160a01b039091169063c00007b0906024016000604051808303816000875af1158015610e19573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e419190810190612cf1565b50600254600054604051636b09169560e01b81523060048201526001600160a01b039182166024820152911690636b09169590604401600060405180830381600087803b158015610e9157600080fd5b505af1158015610ea5573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201526000925073d533a949740bb3306d119cc777fa900ba034cd5291506370a0823190602401602060405180830381865afa158015610efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1f9190612c12565b90508015610f5357600054610f539073d533a949740bb3306d119cc777fa900ba034cd52906001600160a01b031683612729565b6040516370a0823160e01b8152306004820152734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b906370a0823190602401602060405180830381865afa158015610fa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc69190612c12565b90508015610ffa57600054610ffa90734e3fbd56cd56c3e72c1403e103b45db9da5b9d2b906001600160a01b031683612729565b505b611004612045565b600154604080516304bb6c9360e21b815290516000926001600160a01b0316916312edb24c91600480830192869291908290030181865afa15801561104d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110759190810190612d7c565b90506110808161235d565b61108861249a565b5050565b6000546001600160a01b031633146110b65760405162461bcd60e51b81526004016104f390612bbc565b600260055414156110d95760405162461bcd60e51b81526004016104f390612bdb565b6002600555801561060e576002546110fc906001600160a01b0316333084611d65565b600154604051635c2f7e8360e11b815260048101849052602481018390526001600160a01b039091169063b85efd06906044016105db565b6000546001600160a01b0316331461115e5760405162461bcd60e51b81526004016104f390612bbc565b600260055414156111815760405162461bcd60e51b81526004016104f390612bdb565b6002600555801561060e576007546111a4906001600160a01b0316333084611d65565b600254604051637acb775760e01b8152600481018390523060248201526001600160a01b0390911690637acb775790604401610575565b6000546001600160a01b031633146112055760405162461bcd60e51b81526004016104f390612bbc565b600260055414156112285760405162461bcd60e51b81526004016104f390612bdb565b600260055560015460405163d2fbdc0d60e01b815260048101849052602481018390526001600160a01b039091169063d2fbdc0d906044016105db565b6060806000600160009054906101000a90046001600160a01b03166001600160a01b03166312edb24c6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156112bd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112e59190810190612d7c565b6001546040516246613160e11b81523060048201529192506000916001600160a01b0390911690628cc26290602401600060405180830381865afa158015611331573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113599190810190612cf1565b6002546040516246613160e11b81523060048201529192506000916001600160a01b0390911690628cc26290602401600060405180830381865afa1580156113a5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113cd9190810190612ea8565b90506000600360009054906101000a90046001600160a01b03166001600160a01b031663857cb94a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114489190612c12565b905081518185516114599190612f0f565b6114639190612f0f565b67ffffffffffffffff81111561147b5761147b612c86565b6040519080825280602002602001820160405280156114a4578160200160208202803683370190505b50955081518185516114b69190612f0f565b6114c09190612f0f565b67ffffffffffffffff8111156114d8576114d8612c86565b604051908082528060200260200182016040528015611501578160200160208202803683370190505b50945060005b84518110156116355784818151811061152257611522612f27565b602002602001015187828151811061153c5761153c612f27565b60200260200101906001600160a01b031690816001600160a01b03168152505084818151811061156e5761156e612f27565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156115be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e29190612c12565b8482815181106115f4576115f4612f27565b60200260200101516116069190612f0f565b86828151811061161857611618612f27565b60209081029190910101528061162d81612f3d565b915050611507565b5060035460405163dc01f60d60e01b81523060048201526000916001600160a01b03169063dc01f60d90602401600060405180830381865afa15801561167f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116a79190810190612ea8565b905060005b815181101561176a578181815181106116c7576116c7612f27565b602002602001015160000151888751836116e19190612f0f565b815181106116f1576116f1612f27565b60200260200101906001600160a01b031690816001600160a01b03168152505081818151811061172357611723612f27565b6020026020010151602001518787518361173d9190612f0f565b8151811061174d5761174d612f27565b60209081029190910101528061176281612f3d565b9150506116ac565b5060005b83518110156118425783818151811061178957611789612f27565b60200260200101516000015188848851846117a49190612f0f565b6117ae9190612f0f565b815181106117be576117be612f27565b60200260200101906001600160a01b031690816001600160a01b0316815250508381815181106117f0576117f0612f27565b602002602001015160200151878488518461180b9190612f0f565b6118159190612f0f565b8151811061182557611825612f27565b60209081029190910101528061183a81612f3d565b91505061176e565b5050505050509091565b7359cfcd384746ec3035299d90782be065e466800b331461187f5760405162461bcd60e51b81526004016104f390612c2b565b600360009054906101000a90046001600160a01b03166001600160a01b03166302fb0c5e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f69190612c69565b15611a3c576003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611944573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119689190612c12565b905080156119d95760035460005460405163f3fef3a360e01b81526001600160a01b039283169263f3fef3a3926119a6929116908590600401612c50565b600060405180830381600087803b1580156119c057600080fd5b505af11580156119d4573d6000803e3d6000fd5b505050505b600354600054604051630c00007b60e41b81526001600160a01b03918216600482015291169063c00007b090602401600060405180830381600087803b158015611a2257600080fd5b505af1158015611a36573d6000803e3d6000fd5b50505050505b600380546001600160a01b0319166001600160a01b038316179055610d1e611dd6565b6000546001600160a01b031615611aa75760405162461bcd60e51b815260206004820152600c60248201526b185b1c9958591e481a5b9a5d60a21b60448201526064016104f3565b600080546001600160a01b038087166001600160a01b0319928316178355600180548783169084161790556002805486831690841681179091556003805492861692909316919091179091556040805163e529ee9560e01b81529051839273f403c135812408bfbe8713b5a23a04b3d48aae3192631526fe279263e529ee95916004808201926020929091908290030181865afa158015611b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b709190612c12565b6040518263ffffffff1660e01b8152600401611b8e91815260200190565b60c0604051808303816000875af1158015611bad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd19190612f58565b5050600680546001600160a01b038087166001600160a01b03199283161790925560078054838716921691909117905560405163095ea7b360e01b8152949650929450505085169063095ea7b390611c3190889060001990600401612c50565b6020604051808303816000875af1158015611c50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c749190612c69565b5060405163095ea7b360e01b81526001600160a01b0383169063095ea7b390611ca590879060001990600401612c50565b6020604051808303816000875af1158015611cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce89190612c69565b5060405163095ea7b360e01b81526001600160a01b0382169063095ea7b390611d1990879060001990600401612c50565b6020604051808303816000875af1158015611d38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d5c9190612c69565b50505050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052611dd09085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612748565b50505050565b600360009054906101000a90046001600160a01b03166001600160a01b03166302fb0c5e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4d9190612c69565b156108665760015460405163d9f96e8d60e01b81523060048201526000916001600160a01b03169063d9f96e8d90602401602060405180830381865afa158015611e9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ebf9190612c12565b6003546040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611f0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f319190612c12565b9050808210611fb0576003546000546001600160a01b03918216916347e7ef249116611f5d8486612fdf565b6040518363ffffffff1660e01b8152600401611f7a929190612c50565b600060405180830381600087803b158015611f9457600080fd5b505af1158015611fa8573d6000803e3d6000fd5b505050505050565b6003546000546001600160a01b039182169163f3fef3a39116611f5d8585612fdf565b600154604051630c00007b60e41b81523060048201526001600160a01b039091169063c00007b0906024016000604051808303816000875af115801561201d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d1e9190810190612cf1565b600073c9acb83ada68413a6aa57007bc720ee2e2b3c46d6001600160a01b03166313114a9d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612099573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120bd9190612c12565b6040516370a0823160e01b8152306004820152909150600090733432b6a60d23ca0dfca7761b7ab56459d9c964d0906370a0823190602401602060405180830381865afa158015612112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121369190612c12565b905060006127106121478484612ff6565b6121519190613015565b9050801561225b576004805460405163998cbb4360e01b81526001600160a01b0390911691810191909152733432b6a60d23ca0dfca7761b7ab56459d9c964d09063a9059cbb9073c9acb83ada68413a6aa57007bc720ee2e2b3c46d9063998cbb4390602401602060405180830381865afa1580156121d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121f89190613037565b836040518363ffffffff1660e01b8152600401612216929190612c50565b6020604051808303816000875af1158015612235573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122599190612c69565b505b6040516370a0823160e01b8152306004820152733432b6a60d23ca0dfca7761b7ab56459d9c964d0906370a0823190602401602060405180830381865afa1580156122aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ce9190612c12565b90508015610c165760005460405163a9059cbb60e01b8152733432b6a60d23ca0dfca7761b7ab56459d9c964d09163a9059cbb9161231a916001600160a01b0316908590600401612c50565b6020604051808303816000875af1158015612339573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd09190612c69565b60005b815181101561108857733432b6a60d23ca0dfca7761b7ab56459d9c964d06001600160a01b031682828151811061239957612399612f27565b60200260200101516001600160a01b0316146124885760008282815181106123c3576123c3612f27565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612413573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124379190612c12565b90508015612486576000548351612486916001600160a01b031690839086908690811061246657612466612f27565b60200260200101516001600160a01b03166127299092919063ffffffff16565b505b8061249281612f3d565b915050612360565b600360009054906101000a90046001600160a01b03166001600160a01b03166302fb0c5e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125119190612c69565b15610866576003546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa15801561255f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125839190612c12565b60015460405163d9f96e8d60e01b81523060048201529192506000916001600160a01b039091169063d9f96e8d90602401602060405180830381865afa1580156125d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f59190612c12565b9050811580156126055750600081115b15612673576003546000546040516311f9fbc960e21b81526001600160a01b03928316926347e7ef2492612640929116908590600401612c50565b600060405180830381600087803b15801561265a57600080fd5b505af115801561266e573d6000803e3d6000fd5b505050505b600354600054604051630c00007b60e41b81526001600160a01b03918216600482015291169063c00007b090602401611f7a565b600154604051636ba006ab60e11b81526001600160a01b0383811660048301529091169063d7400d5690602401600060405180830381600087803b1580156126ee57600080fd5b505af1158015612702573d6000803e3d6000fd5b5050600480546001600160a01b0319166001600160a01b0394909416939093179092555050565b610c168363a9059cbb60e01b8484604051602401611d99929190612c50565b600061279d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661281a9092919063ffffffff16565b805190915015610c1657808060200190518101906127bb9190612c69565b610c165760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104f3565b60606128298484600085612833565b90505b9392505050565b6060824710156128945760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104f3565b843b6128e25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104f3565b600080866001600160a01b031685876040516128fe9190613080565b60006040518083038185875af1925050503d806000811461293b576040519150601f19603f3d011682016040523d82523d6000602084013e612940565b606091505b509150915061295082828661295b565b979650505050505050565b6060831561296a57508161282c565b82511561297a5782518084602001fd5b8160405162461bcd60e51b81526004016104f3919061309c565b600080604083850312156129a757600080fd5b50508035926020909101359150565b6000602082840312156129c857600080fd5b5035919050565b60208101600483106129f157634e487b7160e01b600052602160045260246000fd5b91905290565b8015158114610d1e57600080fd5b600080600060408486031215612a1a57600080fd5b8335612a25816129f7565b9250602084013567ffffffffffffffff80821115612a4257600080fd5b818601915086601f830112612a5657600080fd5b813581811115612a6557600080fd5b8760208260051b8501011115612a7a57600080fd5b6020830194508093505050509250925092565b6001600160a01b0381168114610d1e57600080fd5b600060208284031215612ab457600080fd5b813561282c81612a8d565b600060208284031215612ad157600080fd5b813561282c816129f7565b604080825283519082018190526000906020906060840190828701845b82811015612b1e5781516001600160a01b031684529284019290840190600101612af9565b5050508381038285015284518082528583019183019060005b81811015612b5357835183529284019291840191600101612b37565b5090979650505050505050565b60008060008060808587031215612b7657600080fd5b8435612b8181612a8d565b93506020850135612b9181612a8d565b92506040850135612ba181612a8d565b91506060850135612bb181612a8d565b939692955090935050565b602080825260059082015264042c2eae8d60db1b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600060208284031215612c2457600080fd5b5051919050565b6020808252600b908201526a10b0baba342fb0b236b4b760a91b604082015260600190565b6001600160a01b03929092168252602082015260400190565b600060208284031215612c7b57600080fd5b815161282c816129f7565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612cc557612cc5612c86565b604052919050565b600067ffffffffffffffff821115612ce757612ce7612c86565b5060051b60200190565b60006020808385031215612d0457600080fd5b825167ffffffffffffffff811115612d1b57600080fd5b8301601f81018513612d2c57600080fd5b8051612d3f612d3a82612ccd565b612c9c565b81815260059190911b82018301908381019087831115612d5e57600080fd5b928401925b8284101561295057835182529284019290840190612d63565b60006020808385031215612d8f57600080fd5b825167ffffffffffffffff811115612da657600080fd5b8301601f81018513612db757600080fd5b8051612dc5612d3a82612ccd565b81815260059190911b82018301908381019087831115612de457600080fd5b928401925b82841015612950578351612dfc81612a8d565b82529284019290840190612de9565b6000612e19612d3a84612ccd565b8381529050602080820190600685901b840186811115612e3857600080fd5b845b81811015612e9d57604080828a031215612e545760008081fd5b805181810181811067ffffffffffffffff82111715612e7557612e75612c86565b909152815190612e8482612a8d565b9081528184015184820152845292820192604001612e3a565b505050509392505050565b600060208284031215612eba57600080fd5b815167ffffffffffffffff811115612ed157600080fd5b8201601f81018413612ee257600080fd5b612ef184825160208401612e0b565b949350505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115612f2257612f22612ef9565b500190565b634e487b7160e01b600052603260045260246000fd5b6000600019821415612f5157612f51612ef9565b5060010190565b60008060008060008060c08789031215612f7157600080fd5b8651612f7c81612a8d565b6020880151909650612f8d81612a8d565b6040880151909550612f9e81612a8d565b6060880151909450612faf81612a8d565b6080880151909350612fc081612a8d565b60a0880151909250612fd1816129f7565b809150509295509295509295565b600082821015612ff157612ff1612ef9565b500390565b600081600019048311821515161561301057613010612ef9565b500290565b60008261303257634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561304957600080fd5b815161282c81612a8d565b60005b8381101561306f578181015183820152602001613057565b83811115611dd05750506000910152565b60008251613092818460208701613054565b9190910192915050565b60208152600082518060208401526130bb816040850160208701613054565b601f01601f1916919091016040019291505056fea26469706673582212200268814daa35a3acc6c5fb278511aca5a14cee1f86d74b8c4e9c69899f39749164736f6c634300080a003300582102036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0410105581e0384fd9163f510f8823fe6206f83d48aa211ff8d0444c047a021c526e4d007011931050219e3bb03b018252a2d8142c7bd0d4d9252fd12ff8faca17fe1e77a9a5999d62af726719903a9ab1fab9b80d273241a65cf866e96706cd87bef8919e1dcbdc9cbe2cdfb609c037c6a4fb16e9da27f3780d15320a2adce6c7cb464140c4ddfd1e73d0411b610b6031e2e915d1d27a2cc6586e832b51550c13804c08214bb9fa9c37511436e5c7d7003d7f85ec4a7b8f01f3bf91a983d553b89a90c366f5c717147ad9948e77cf184fc03d29db93e5b06842b5faf386457076347899e70c2987a65f61ddfaa3e4e72d8780368e8e33abce80ca7d25c1c027d2ca4d6e5c04133a39735e33bdc35650661e13e0301ce308368fd3eb6b5c22245678e8d629a31432b25d88052de9e3cca856cbf6a0363b86f75e8505826844d05326c5daea630e3ec708ff1f0a1af0b480ef07042ac036247b9ddfa0d708ab784eb0fde00a27a682058575ce3c0e84198ae9c822df3a8035d38f22ef1bfb362a42b1ba4f746973e852943e2c7f5b87b6e066db922bfd483037fcf1bd38ba33fc69c4a9e90aa04e1c216f3d4d23f1a65c27212390fb4bdf8020219ffff03532712a418ba34bb2ef38116c86273d8499fef0e81c47c8ccae1aafeae9cf32d03b1196561895f3418f9fb30b30f22102bb181c45437397886be8a9aee17e1beca0219ffff03fc0c2211c02c28d7e98303d954070f4ba57ffc07e970382125e81b9cf1ec88da038c6833a1eeec752cac3655c135eefc07e2d8275b6091414e1754f2b055141d7903b572ffa696b80a615b0c4066e3888f35d411ab091a70273f265b80c2d19e0fc5039075ce563f1ece262a76a7f11579b1702606ffb596211b9f4fe0d69f9fca64e003cfe47b81152f49c80a9ccc3fe5cbf107adcc9dd09c89c17f20926550bafa218803e8fbc2f68a15720d9e84c723cf8c6e1000196cb93a37538cc8c7698e45b11632035b7ebd16836a5a4a659d6f5c905c3bb7ab042dcc3d3f58b974b7c6488b19500b03a4dce6ea0bf5e67fe7c19ae1defe9a3b36c70151759898f6d80e8e6adc9781c503e9ac4f6787004af215f9a61539bec85b806dc4202ca086cab153a1170cabd81003c183532fbbb80eda79ef91c8c795df5bceab4c9447aa9e33fbfde216d693116f03248e92deb8ae238477fd1847844d4cb536ec7880dc09c8a19bc79c3ae94f153703b1322a797e7ce45c9cfca1767cc146cf58d6a38e31beec7d59b01ac99b16416d033da07f43ff7ada7812d766b3954ef0d8818827baa333334e866a6f2f9fdf3048038478911bd277d1f1bd98c10c9fdd610538ca29a7e42674618e205899d22521bf0219ffff03cf11cac71c0b66a717f72ff078ff5466cd09d84e2cb3263106baf42e939345e9039e6f8ed9d71bf7e5482fb34b5b7698bc60c42ad1a7a44cb8c89fe76683a8a80c0393cc7f509df33b174014b1cad1ebce3d9a0b9d4b3dbd63179c778648e6a3a7e8038fd63c9a71858820f1b2a4d518afb48ca14805bc4f9cbb976f8d2020f439cacc03a83f21b43f2b2d6c875b013615d8c1d7b9a78d0480e73eacbae5700c05df790b03f8f4cb992acfb6a481f3106cd871480f8840a86df5fe2d2b179cbaf9bf35d01b03156d921d1c4a096b70add64df5de3dbac2bbf69645d042c6d7afa6522f15f49d0307398c7d0f196d73c088181d4759f8ceb5d9aed5613d70ad4a505a7da0dfd9060219ffff0399a08f09bb942c28c66558033a98cc49568f9f5bdf2c533a9597f6ef97535d3203ef52e30c7975900852d3c05e07d989016c712fb53809c5bee2d03443ef80a6c40319a58eb68b3b4176a240c9405c4497f3e6af64b501c881edbc3b02051e66547e039fb20129281ce88f3c31c1423cb0c3cc6bc83c50545ce30b9393daa1531ac98403726d0a1a148402a134626bcae04049b48afff3627f923d502a3913d584f456c6039d49fde54f770f8ee411029bcd70b97a92aa6b6046e135c4b80fa159d5b377c803ddc677ddbe32a4f3d09df5dcf2ed887a7098a3b6dd6a29fd9210ee6f9f2a5263038c632af44cea83c0bd97f30434de3194712e45fd3c1e97b09b53438ccba42e9a036dbc5cb37590efcd02f11e4b5727e2b151f90865bfa127c2b5eefcd3fe7113740321c6a559a900b0cee89f11314ffcaec1b6933f945052a137793aa69fd870d928031cc23648bc79040b33dd17c84a3e219f12b558faf4d58612c4f1d6a5795c33270373c54fd888df1ff4fc03a106e48455f9ad42253c97f4f41a91b46d68c894bc66031fcad9799ec43a7297b9ad8141a667607d0d12f9fb201c95dbfe0e7da50ed6f103f096b438a63eaa5a89833857a7d18652e73d84517ae250b03401418eead0c0ef038976d9bb74562ce6d0d5269b28954bc1dd3de002432bd1c8a0cc872c2114c08c01410905581e03c39496ffcd97166ad23d87e1e5ada01c7d3cbd5b7fd90203c7b5a8e6a0040105581e03c5a6fb7161e10ad8272028e6b4ec9d57685824f2c608e9af60d362f920040304592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203d632947fca6282d7646a7c18ef5b7ddfabf31cb70529963212a441b4f34509bf03c7b0def4dfc117eb6434dc8ce01fba4c77df242d9588a8f77223eaa8d1f80cd503e2183b8c4455aca37772d4e83841143599ca34438f2f4c720eb5715afafef54f03bf307a458e35ee92688fc2f9a42414f1cfdba5c31936326e419f78292565984e03b97021d0eb4dcf9bf7c79339bdeadcc5d9751cd9e36adcef2061c89863b7ed0500582002cfccbf4f1be926943aafd0567b48a88e95f02618e916cd3bcb1905937578e9488a150e061729fa1303a8a0f25b56bbf7fe960151d5069c667e829899d4c4e1cd424c65436921c6141f005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4c011eb89ca5bb7d6b9cb9519f02196004034abe89540d1a49281a756a9c8c937c19531c5113d9132168f2249a296c9939780385e94db7f9204a41eeeb89614f9ed0bd4e31883781e4bfa9c14d8457accd09e403d2296b4509b3027ffb0d1aae088786da8d50e263528f44189b57557b944efb3f005820022daf513b1750053d3825bb3adb9ba9f1339680800f958396786aacca857295481d4f54cf65a00000005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854dac17f958d2ee523a2206206994597c13d831ec700582002479367cdbae7f657d3c340130e219d31299ecac1076b79e66a8527bb6a05894857e6e370e753000000582002647301f8c5bf3f0a8cef3d5e39119537fe35f36d950329be53ab037ed791a341010219a0410388c3a8180fdd02b9b5084e95a86b86c6206776916fa5aaa99396bff50122367c0308a336f8f1084f172852c464b20383f335aaa62f5cf8d95a49f35ce619ff309b00582002ce599767a74609069204a0327c96855606e6043d9308e1e5ac92797d8c4b4a4857e6e370e7530000005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a858184d66af2042df601ebdf8ec569cd5d4dcfbb6508e2e4b9eed005820029bc283c15e90f553d5060b2384fa4c12393ebe6ddfaf05e263dc4610016e95410203dd3b328e4868015bc97b120e08e24da2829d5cfed2d0817489ae1394073ad16c0219245400582002f83252000db14af9e9d87faea966a3589eccec6ed897b9e1f89033535b143a4857e6e370e753000003bedcdafe85fd9217ae181f17e92eae71879204392c5d6f8bfb2376c8fe8bd029005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219a01000582103164b279363f5b952b838232d9fb207a9725f7c76c9dbba0d916785c1e48fde20481d4f54cf65a0000000582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687d403000000000000000000a6c8cc7f7f00000bc5a81f99d87bc914714be20058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5412bb890508c125661e03b09ec06e404bc92890400058200285aad12b4f01d59268ef8bf1b5f4ebcb4f0db9e4ed804830d4b915442a9aa6410100582002fa067e2f179d64a866a36efc10723d9cabc2a5d69b48c1e62b977d87069237481d4f54cf65a0000003589b75703d740ad2baeafd492229290914c19c63b6270032b85fe9bda3dfd5d5021970480219fffd05581e0331e3bb19a21ef58834286c22eb1b7544cad97bff556d4e94a85d0be2500701192c1d034b5631d608766caf9f4911c28a96abba3abb6a29f50112252e41e97dc6a82d7305581e03497af7f4ccca7795548106c930747784fb30b31cc02cc0e01d460ef1800c024714cd9de3b9dc1b05581e036e2711500b4eb5f5e7782368f54e3ce9e77f9a2834550037368201be90040505581e03cbdf0d7a15a9dbb062750e6137770e34a0d7e7ac9f6938acc60b7938000c02470204069cee34e805581e037432a34b083cff0e5e5ae247d77abd2231ebf6a97fa2fbb1cb7795b3c0040305581e03fc073fd2922451779c5223b2272004ed84a8db31f22df7b36c92f636e0040105581e032a59e59fb66e035733cec6c9f60ea0dc80d41eaae5dfa26d6da0aa0b000c05473a7e2db86b512f03d98d93201bc34d5c732463575eb4ff2f4e51032ff59ac63e829a9fffc4dbce730219fbe30353d0884a578194a345f14f743e4ea8b57281ce5f5e496e5c9f40cef46f519a6e03cec30b535e5d68e1489523559252a3449164b6c3171310f446102629ac3050cd033f853a80894bc97e5895402b497c6288f0c979e45a8455382a5397355ccd7779031feabc98fda3990448aa990163873023494b72b8f580265f266dfa3c8cabd66c0368fc9eca14572a242eeb93c06bf5642cc09cc452346c8d235a117714d3c4a5730375fe5e92b4b8a901d904ff47d5f9526ac0003e19112851893c5abed179e80b3d03ae45819bf37796d9c473ca5246e94d477c8ce04e389f0a11835f3ec1d5c9505f03e1729ff4710ee8870de12522a58f2acca9d174444f01d540931e566f4d86ac6b03e4d01fb1989124d1856e03d6719299b4b3131f195415d1814a144a23c8b04374030caaf94edab9567f822575a7d1b62adaba5ac471e79c2c730b893442cee951c20219ffff03a2b4ef1c51c40896f99c3ba42d00a67c316106fd6ce98579d683869802c5dd10031b41e98b58d56fa96b02f599f968652067bf6529a5864c0b1ce33edcfb53b0ac0362c9fc7fce29ad3cdf0f3d5da82cba5a74e16462c2c8fa53d4e1b460ddb78a39035c537f53a1f5ed2e0a7166ac741f4ef43942cbe9000247c8364b746103f7d34703b8a464810811768d7cc4bc593725aa4783e3e0bb9271dd890f1ad09c6549ea3c03e70c291ed801c5c834f2c996bd25f4f7af342be141b0eba2e9815383e4bd185f03b3dc887b07b7f833a9856d6e7a2529f37bd103a0c32a92ff6d2fb352b0287ca003fa0187459126ea4262b57e1cf381114eed0086c73b4dba65c2b3dbb636832c650319db3555bfcd6126046ede1eae0370a58d53dc0165b9d8cbb49de8d35a3553f00393d9e27b3a2580944edac465dcd7f3568a8edf954ca00ce8bb6f1f345ab9b4ed03b12015f57164437b04cacc89a684d278010f7c026b9d8de6cf944f68ff4ca5eb0219ffff035e53df2172275f30d32ce6379ba5eb1c06caf071432e41b931f1b451966f85c80326860858b99f6bb88a4764d2b89ec031617dc90bebac9b831eda1d1d5cd8116403485ac73894a6c4b170db29857f6b87ed58560f3468c8a74882dd6a745fe2d2a003a0f340fd606ed44f8959e1ec1478612b95f1d922dd88f965ffa6daaf4abbed3703a9e44b4e21eb91771e3bd33ad866ae1ab6673b5abde64faf3cefc0a4fe76df16031259667b3f17ed61b1b21b027434c95cfd9e5e651e48e18bfb8b75a36eed5bff037a1e6df2dff8cfec96c99448eec32d7bb93d142bf2e624215ac22c224ee323b8037f3c7d75578b4545d390475a366b5b0aa7d000738b01be2c2fc9bb68436504a1032231bf1c98160030bd2e974ebccad6bf7ad0287bac67550cd6222034ae6713290386bec0bfc2c8b110ee220abcef83df003b89625475dc2ae75505ebad85f7f6bd039676311f7a2b81a0d8cf266ad8bb29ec041aedc6ca1b6a4cc0f5b33a4ec81e210394292c30208105c69944fc7f36e7d26a541bad60628697addc8f0dc3ded3ffb3034f14e556f1894a667e738f02d7a9401f1f25c04704fb96097efa580e248a01820219ffff038182b1e78dd2e168d5fa67523daec370461d47ed5a1180cc289d88863009a5ff03c3f228c31c807e76f9fedd48de96e3b6613a0b7a5a2c2d797e9733b7ddcc9e13030538aefcfabb9dc8325d0ae50a0bcc88e84e18380ed93d5400919676dcf8c57f034f4d4c349dc87bb7f9556f4b6cbb5a41935b0e7290169c9c9a29bebdc76b320f03a566a77f7cb7348ec5be13a559f184802f099b8b9002863162f8e9fde8f724a00357e5bd30e06adfce86c13d3cbe1ff358c08d1b4d9d831f016c7094d1663788a20330acf09d624b78346108ccd296ad575cba80dbdf92bb0162e8bec4a0ae179d410344b95c97f43a0d42a3be5199d62d66533ef0ca2f1bb4f7fbdc66a51f1f5447b80371c09c2950bb69d60f79f9cce60f94658699aea06158232e6c65994dc55cf9a5037fb50eeead34d2b5a81d900976339aa2a0e9addbf6015a573b8a4f11dccdb07c03c5e81c23fb9475a4a4cd3cb5b45cf8b8dd2d3198dab78d36331b38447fc83acc03e059d22d4a9e649e2543431694674c86f1bbd05cd6bfb526f1e5b476e8b00050035a99442ff7651e40436a559f3002f6ef3a721c23dec2140571df788f42a6231903f03b91e27aacf92402db6594b6a72664dff282e0566484094524e1b66375f6f8039814fbcd9e13ae708a58afe730f80246f96ab981bcf94842c120bd7d4a2691a203455f576ccac7c42ec1f35fabe9741fdad4b5829d1bcdd81b767e463ea488129e0328bed5ce26b2a09daa0f89098184be761a8336508519272ecb4fdbf5b476b33e03a426f75ab61ac987593f64ab6c1b3f2dde74cafbf03198b778b3ce9fa094b76603d117c63a037f0d66cab133d215c1ee61647912cb2c536461e22f00501b0e1fcd039497968e4afeea5076be196da43fd91810cfc97d8fff0716c02bc40a54af728303d7343a144f52996ce9c52c49cbf3178cc3e080a10d972d9acc6d6e20420e57e50368af940f2b63959b2bb67d1f3f5e005594bdd30a302fe767aecbb4f76a5b023a035b552f1e7f193842aa2c810376290896dc1bf3c9b1e242422555c1c74270fe7605581e03c59f9310294aebecef82ac2c3086445a0b0cdac0e1fdf7c70b8edb3da0040105581e03dde9d4b4a2d8dfd7661be038d847e17ca6c323960671065263041346f0040105581e03915ce940b46f7cfff37e18f3a472995992ec9cea4cc849a0f08e63f7d00c07469ca9ab3368180319b356de05d9dcdf821a7229afe40a5081235950ca2aa5e94d7c1b1907400f79014106034382edc139080cc08d037d8391137c8228d09ce68c2ec6bf4a9aa78a657ead6905581e03a4cf9863c3591ad98395fe4d318a5edfcdb2ef5da5e8a155b69de0ee100c0d48016d143a80be400004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210378499d94ee32eb894d4715050a911e534dbc1db630e8dd540c8067e82dec57c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a09481aee4f6c86fc0a6900582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04f0e12f44ed82928eaa73273533a1ef40058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58200df9c0d70abf4d14b71a414f995b33af98169f4bd66b87472632983a498bbbe4005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85404a5e0fb1a7f2e994032e3c529534ba118a1adf400582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba41010219014400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd004a09481aee4f6c86fc068100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687db2f0000000000065c909b4196a6aa7a0000001515322a4ac9e2426612c10058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f543927fb89f34bbee63351a6340558eebf51a19fb80218480219f44705581e03c50b3972c80814cdee0e2f6b0f3a13a147eda187d437bb2c1b4f5c3d200701192c1d03e08d5e5bc734504c68d569e8501f791799cafee439de9c7a956a480f88be775805581e03561987dd3085c0bda040d67cb006ea27d0200b58a463cc940e5bb4e340040305581e0395717422b3586133128f5f177f412aecdfedeee71c5fa1577e42d956500c0147623a4f56c48ee002199bff0377d788389f59af01c4cef8c4923c25fa657c7c23a14e1f33e3aaee69628849ad03aabc039c08c42b5dc200c8c07270f7d40b37848213333cd60273012485ae965503d5fce47821406d3f12a9cea6bb64304443258e857215f834c6ace4e658f3ef9d039d889e954dca3d08a6d9f60dca65de5555dac5deee46e925557a8a03fa9d72ef034a534200183d64faae9dc55acab2c0a5146041b9a6b608fd016034ffe1f2d7bf0335fa4da3faa93cc397972f50f3992326746a3ca52483427956b1efb5c0a7c6b303b78aea4ea6e6b4bb12e54a97ad3b652217cf90611ef974745ee72125be7dfbf503ddfa741c6ff1e176cb20cb4686577634f2966ddb051f206fb00f65b4e778b14503f33794bde6ef7c80c41c703541dd61f8d91cb51b6aaa588094d14fe8b0b1b37b039ee90ed594e8d531ad13f66080c8e9d7369652d2b0411a1bf68694f0a33c7f7c03aea5c38cdd4e118631a7fc0bcd8da371f0337a740f5cf383c1fcd26947f6153c03e905b03a62e281638d6d2e91ec9e0b26fa8276592c9b4023252ee80ed247a85803292ccf8c496cd6f103597f1c19d4f0ac9538a049e1e1017298aa4478977978250348bf57f1993fd947473506378a2fd7a7b17a76577124db78909c0d82b551bb4b0219ffff03a435bec86c1a10b4b0a9f5dd083a90bedffd81e8c1f384011b79b1d63d23620d03f131f27ffe0eba5efcd46aa38e77dc6a63495dbc8c919d12ce1db112a8f62bc6039ac6ee5989ab63e904a3d8859f8df989bf0338a4f2cfa69f9ef031bcf75a60fd030994a41175d5064a70f84f2d9bd62c0f78e26e8835d95258a99c308577f0a456030889ea4354017c78df645d17fa12b8efb56970df6746eb3bd21b6f8af7ca18d903dc73dd2dfac312c4bd0da73bcc727cd32c0efa33e2ac0d2a3c2a7ce3e2e9078f03361f4fb7be3c7a94980b089e2da8d943fdc44f5939cfeed2727ad93ff374a2ba035c39c58d0422cc915b48be48a7c9f80b29bb3a0dbaa78f145614e20d76cf4ff303c58c334070fc1a1652aa4d3d492036efef90e0a47ffd35578b8358cb442617980219ffff03debe4434d362bbf81aa548edf144270bea9841815db3076cb40bb1f0589cf84503385768bdbc6546a292157f24ce2144fee228f13f87fc3391133fd3355c0234f2035438574f86c041240317e5c82aaa0cdf8154c6fc42370ac0f3e6d8ea202dc810032586c5128a77179264f67670f84b63bb87502e226b6473dc1f5ec04612b6a6e703cc583a836c03a294cfa2c2bda0ec3222f84be8b1898713fc7a15e0efa437698703dd9668b3221b7ba673e6ee45e46175405fd7097476d6147427d825beba03646b03694c41861f07d1bfd2f649d99154addd8677fd630376a0fe35acef7d94d36ed30319d5a724c6d19154f596c0fbc465db55c60a276c9d196598e29ebb18e95e626a03afb0e7511103e0f6454094de4ce6c0400989950b86431d8eb5d261f6186be2b8033acb67d0a7b0c7904c332af2b58723a3abcf05a097764e05389ab2468ccbac280219ffff03797ad71db96d4fb0346e807fa582e374fbbac5081679b1a7111e0f5d6980e5f9036cf2a50d9a1f62ae838efba85716750a16c6ba541a1a69cb1b967bde5509b4040389ec67cb4a56af4c16a8c4a2613e6d5ef968b87a855f247867764e9566dd209203820b5fa12941f2ef7e91c2ab8d9d736be0b37f35ef0a14756505ccd4846a510b0348088de387b862b53927a3c1c93c8d2b3a1406250de817dcf4c2e343b06e75950331b5736a53e5aeaef14ba50442a80db3065149d4e30ec32f4c8fc351f35a37be039c4b7022e9a2224072f83ac644b5c18bb5fff08a31555b215c5a7f54c7e7772203f2452670234162c0bad15072d269e45a3f140c92fcbe76731dd2b4f7b68de4f403f8a69b74df103648c3f135cebd8d04714f6ff375c6dac6da63ab50e4ecd57e71031f5fc99bd73e57dfcb4176775eeb3dd26e04355ed39a5b1b427ba340a6f5057e05581d023641145b1f90923e5a07ac8d368eaac61c4c16d707562a585adc54190c024737f16bda9f826a045923c06040608081526004908136101561001557600080fd5b600090813560e01c80630d58b1db1461126c578063137c29fe146110755780632a2d80d114610db75780632b67b57014610bde57806330f28b7a14610ade5780633644e51514610a9d57806336c7851614610a285780633ff9dcb1146109a85780634fe02b441461093f57806365d9723c146107ac57806387517c451461067a578063927da105146105c3578063cc53287f146104a3578063edd9444b1461033a5763fe8ec1a7146100c657600080fd5b346103365760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103365767ffffffffffffffff833581811161033257610114903690860161164b565b60243582811161032e5761012b903690870161161a565b6101336114e6565b9160843585811161032a5761014b9036908a016115c1565b98909560a43590811161032657610164913691016115c1565b969095815190610173826113ff565b606b82527f5065726d697442617463685769746e6573735472616e7366657246726f6d285460208301527f6f6b656e5065726d697373696f6e735b5d207065726d69747465642c61646472838301527f657373207370656e6465722c75696e74323536206e6f6e63652c75696e74323560608301527f3620646561646c696e652c000000000000000000000000000000000000000000608083015282519a8b9181610222602085018096611f93565b918237018a8152039961025b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09b8c8101835282611437565b5190209085515161026b81611ebb565b908a5b8181106102f95750506102f6999a6102ed9183516102a081610294602082018095611f66565b03848101835282611437565b519020602089810151858b015195519182019687526040820192909252336060820152608081019190915260a081019390935260643560c08401528260e081015b03908101835282611437565b51902093611cf7565b80f35b8061031161030b610321938c5161175e565b51612054565b61031b828661175e565b52611f0a565b61026e565b8880fd5b8780fd5b8480fd5b8380fd5b5080fd5b5091346103365760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103365767ffffffffffffffff9080358281116103325761038b903690830161164b565b60243583811161032e576103a2903690840161161a565b9390926103ad6114e6565b9160643590811161049f576103c4913691016115c1565b949093835151976103d489611ebb565b98885b81811061047d5750506102f697988151610425816103f9602082018095611f66565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611437565b5190206020860151828701519083519260208401947ffcf35f5ac6a2c28868dc44c302166470266239195f02b0ee408334829333b7668652840152336060840152608083015260a082015260a081526102ed8161141b565b808b61031b8261049461030b61049a968d5161175e565b9261175e565b6103d7565b8680fd5b5082346105bf57602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103325780359067ffffffffffffffff821161032e576104f49136910161161a565b929091845b848110610504578580f35b8061051a610515600193888861196c565b61197c565b61052f84610529848a8a61196c565b0161197c565b3389528385528589209173ffffffffffffffffffffffffffffffffffffffff80911692838b528652868a20911690818a5285528589207fffffffffffffffffffffffff000000000000000000000000000000000000000081541690558551918252848201527f89b1add15eff56b3dfe299ad94e01f2b52fbcb80ae1a3baea6ae8c04cb2b98a4853392a2016104f9565b8280fd5b50346103365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657610676816105ff6114a0565b936106086114c3565b6106106114e6565b73ffffffffffffffffffffffffffffffffffffffff968716835260016020908152848420928816845291825283832090871683528152919020549251938316845260a083901c65ffffffffffff169084015260d09190911c604083015281906060820190565b0390f35b50346103365760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610336576106b26114a0565b906106bb6114c3565b916106c46114e6565b65ffffffffffff926064358481169081810361032a5779ffffffffffff0000000000000000000000000000000000000000947fda9fa7c1b00402c17d0161b249b1ab8bbec047c5a52207b9c112deffd817036b94338a5260016020527fffffffffffff0000000000000000000000000000000000000000000000000000858b209873ffffffffffffffffffffffffffffffffffffffff809416998a8d5260205283878d209b169a8b8d52602052868c209486156000146107a457504216925b8454921697889360a01b16911617179055815193845260208401523392a480f35b905092610783565b5082346105bf5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf576107e56114a0565b906107ee6114c3565b9265ffffffffffff604435818116939084810361032a57338852602091600183528489209673ffffffffffffffffffffffffffffffffffffffff80911697888b528452858a20981697888a5283528489205460d01c93848711156109175761ffff9085840316116108f05750907f55eb90d810e1700b35a8e7e25395ff7f2b2259abd7415ca2284dfb1c246418f393929133895260018252838920878a528252838920888a5282528389209079ffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffff000000000000000000000000000000000000000000000000000083549260d01b16911617905582519485528401523392a480f35b84517f24d35a26000000000000000000000000000000000000000000000000000000008152fd5b5084517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b503461033657807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610336578060209273ffffffffffffffffffffffffffffffffffffffff61098f6114a0565b1681528084528181206024358252845220549051908152f35b5082346105bf57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf577f3704902f963766a4e561bbaab6e6cdc1b1dd12f6e9e99648da8843b3f46b918d90359160243533855284602052818520848652602052818520818154179055815193845260208401523392a280f35b8234610a9a5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610a9a57610a606114a0565b610a686114c3565b610a706114e6565b6064359173ffffffffffffffffffffffffffffffffffffffff8316830361032e576102f6936117a1565b80fd5b503461033657817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657602090610ad7611b1e565b9051908152f35b508290346105bf576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf57610b1a3661152a565b90807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c36011261033257610b4c611478565b9160e43567ffffffffffffffff8111610bda576102f694610b6f913691016115c1565b939092610b7c8351612054565b6020840151828501519083519260208401947f939c21a48a8dbe3a9a2404a1d46691e4d39f6583d6ec6b35714604c986d801068652840152336060840152608083015260a082015260a08152610bd18161141b565b51902091611c25565b8580fd5b509134610336576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033657610c186114a0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360160c08112610332576080855191610c51836113e3565b1261033257845190610c6282611398565b73ffffffffffffffffffffffffffffffffffffffff91602435838116810361049f578152604435838116810361049f57602082015265ffffffffffff606435818116810361032a5788830152608435908116810361049f576060820152815260a435938285168503610bda576020820194855260c4359087830182815260e43567ffffffffffffffff811161032657610cfe90369084016115c1565b929093804211610d88575050918591610d786102f6999a610d7e95610d238851611fbe565b90898c511690519083519260208401947ff3841cd1ff0085026a6327b620b67997ce40f282c88a8e905a7a5626e310f3d086528401526060830152608082015260808152610d70816113ff565b519020611bd9565b916120c7565b519251169161199d565b602492508a51917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b5091346103365760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc93818536011261033257610df36114a0565b9260249081359267ffffffffffffffff9788851161032a578590853603011261049f578051978589018981108282111761104a578252848301358181116103265785019036602383011215610326578382013591610e50836115ef565b90610e5d85519283611437565b838252602093878584019160071b83010191368311611046578801905b828210610fe9575050508a526044610e93868801611509565b96838c01978852013594838b0191868352604435908111610fe557610ebb90369087016115c1565b959096804211610fba575050508998995151610ed681611ebb565b908b5b818110610f9757505092889492610d7892610f6497958351610f02816103f98682018095611f66565b5190209073ffffffffffffffffffffffffffffffffffffffff9a8b8b51169151928551948501957faf1b0d30d2cab0380e68f0689007e3254993c596f2fdd0aaa7f4d04f794408638752850152830152608082015260808152610d70816113ff565b51169082515192845b848110610f78578580f35b80610f918585610f8b600195875161175e565b5161199d565b01610f6d565b80610311610fac8e9f9e93610fb2945161175e565b51611fbe565b9b9a9b610ed9565b8551917fcd21db4f000000000000000000000000000000000000000000000000000000008352820152fd5b8a80fd5b6080823603126110465785608091885161100281611398565b61100b85611509565b8152611018838601611509565b838201526110278a8601611607565b8a8201528d611037818701611607565b90820152815201910190610e7a565b8c80fd5b84896041867f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5082346105bf576101407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126105bf576110b03661152a565b91807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7c360112610332576110e2611478565b67ffffffffffffffff93906101043585811161049f5761110590369086016115c1565b90936101243596871161032a57611125610bd1966102f6983691016115c1565b969095825190611134826113ff565b606482527f5065726d69745769746e6573735472616e7366657246726f6d28546f6b656e5060208301527f65726d697373696f6e73207065726d69747465642c6164647265737320737065848301527f6e6465722c75696e74323536206e6f6e63652c75696e7432353620646561646c60608301527f696e652c0000000000000000000000000000000000000000000000000000000060808301528351948591816111e3602085018096611f93565b918237018b8152039361121c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe095868101835282611437565b5190209261122a8651612054565b6020878101518589015195519182019687526040820192909252336060820152608081019190915260a081019390935260e43560c08401528260e081016102e1565b5082346105bf576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033257813567ffffffffffffffff92838211610bda5736602383011215610bda5781013592831161032e576024906007368386831b8401011161049f57865b8581106112e5578780f35b80821b83019060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc83360301126103265761139288876001946060835161132c81611398565b611368608461133c8d8601611509565b9485845261134c60448201611509565b809785015261135d60648201611509565b809885015201611509565b918291015273ffffffffffffffffffffffffffffffffffffffff80808093169516931691166117a1565b016112da565b6080810190811067ffffffffffffffff8211176113b457604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6060810190811067ffffffffffffffff8211176113b457604052565b60a0810190811067ffffffffffffffff8211176113b457604052565b60c0810190811067ffffffffffffffff8211176113b457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b457604052565b60c4359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b600080fd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b359073ffffffffffffffffffffffffffffffffffffffff8216820361149b57565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01906080821261149b576040805190611563826113e3565b8082941261149b57805181810181811067ffffffffffffffff8211176113b457825260043573ffffffffffffffffffffffffffffffffffffffff8116810361149b578152602435602082015282526044356020830152606435910152565b9181601f8401121561149b5782359167ffffffffffffffff831161149b576020838186019501011161149b57565b67ffffffffffffffff81116113b45760051b60200190565b359065ffffffffffff8216820361149b57565b9181601f8401121561149b5782359167ffffffffffffffff831161149b576020808501948460061b01011161149b57565b91909160608184031261149b576040805191611666836113e3565b8294813567ffffffffffffffff9081811161149b57830182601f8201121561149b578035611693816115ef565b926116a087519485611437565b818452602094858086019360061b8501019381851161149b579086899897969594939201925b8484106116e3575050505050855280820135908501520135910152565b90919293949596978483031261149b578851908982019082821085831117611730578a928992845261171487611509565b81528287013583820152815201930191908897969594936116c6565b602460007f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b80518210156117725760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b92919273ffffffffffffffffffffffffffffffffffffffff604060008284168152600160205282828220961695868252602052818120338252602052209485549565ffffffffffff8760a01c16804211611884575082871696838803611812575b5050611810955016926118b5565b565b878484161160001461184f57602488604051907ff96fb0710000000000000000000000000000000000000000000000000000000082526004820152fd5b7fffffffffffffffffffffffff000000000000000000000000000000000000000084846118109a031691161790553880611802565b602490604051907fd81b2f2e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561190e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b91908110156117725760061b0190565b3573ffffffffffffffffffffffffffffffffffffffff8116810361149b5790565b9065ffffffffffff908160608401511673ffffffffffffffffffffffffffffffffffffffff908185511694826020820151169280866040809401511695169560009187835260016020528383208984526020528383209916988983526020528282209184835460d01c03611af5579185611ace94927fc6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708ec98979694508715600014611ad35779ffffffffffff00000000000000000000000000000000000000009042165b60a01b167fffffffffffff00000000000000000000000000000000000000000000000000006001860160d01b1617179055519384938491604091949373ffffffffffffffffffffffffffffffffffffffff606085019616845265ffffffffffff809216602085015216910152565b0390a4565b5079ffffffffffff000000000000000000000000000000000000000087611a60565b600484517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b467f000000000000000000000000000000000000000000000000000000000000000103611b69577f866a5aba21966af95d6c7ab78eb2b2fc913915c28be3b9aa07cc04ff903e3f2890565b60405160208101907f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86682527f9ac997416e8ff9d2ff6bebeb7149f65cdae5e32e2b90440b566bb3044041d36a604082015246606082015230608082015260808152611bd3816113ff565b51902090565b611be1611b1e565b906040519060208201927f190100000000000000000000000000000000000000000000000000000000000084526022830152604282015260428152611bd381611398565b9192909360a435936040840151804211611cc65750602084510151808611611c955750918591610d78611c6594611c60602088015186611e47565b611bd9565b73ffffffffffffffffffffffffffffffffffffffff809151511692608435918216820361149b57611810936118b5565b602490604051907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b602490604051907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b959093958051519560409283830151804211611e175750848803611dee57611d2e918691610d7860209b611c608d88015186611e47565b60005b868110611d42575050505050505050565b611d4d81835161175e565b5188611d5a83878a61196c565b01359089810151808311611dbe575091818888886001968596611d84575b50505050505001611d31565b611db395611dad9273ffffffffffffffffffffffffffffffffffffffff6105159351169561196c565b916118b5565b803888888883611d78565b6024908651907f3728b83d0000000000000000000000000000000000000000000000000000000082526004820152fd5b600484517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b6024908551907fcd21db4f0000000000000000000000000000000000000000000000000000000082526004820152fd5b9073ffffffffffffffffffffffffffffffffffffffff600160ff83161b9216600052600060205260406000209060081c6000526020526040600020818154188091551615611e9157565b60046040517f756688fe000000000000000000000000000000000000000000000000000000008152fd5b90611ec5826115ef565b611ed26040519182611437565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611f0082946115ef565b0190602036910137565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611f375760010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b805160208092019160005b828110611f7f575050505090565b835185529381019392810192600101611f71565b9081519160005b838110611fab575050016000815290565b8060208092840101518185015201611f9a565b60405160208101917f65626cad6cb96493bf6f5ebea28756c966f023ab9e8a83a7101849d5573b3678835273ffffffffffffffffffffffffffffffffffffffff8082511660408401526020820151166060830152606065ffffffffffff9182604082015116608085015201511660a082015260a0815260c0810181811067ffffffffffffffff8211176113b45760405251902090565b6040516020808201927f618358ac3db8dc274f0cd8829da7e234bd48cd73c4a740aede1adec9846d06a1845273ffffffffffffffffffffffffffffffffffffffff81511660408401520151606082015260608152611bd381611398565b919082604091031261149b576020823592013590565b6000843b61222e5750604182036121ac576120e4828201826120b1565b939092604010156117725760209360009360ff6040608095013560f81c5b60405194855216868401526040830152606082015282805260015afa156121a05773ffffffffffffffffffffffffffffffffffffffff806000511691821561217657160361214c57565b60046040517f815e1d64000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8baa579f000000000000000000000000000000000000000000000000000000008152fd5b6040513d6000823e3d90fd5b60408203612204576121c0918101906120b1565b91601b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84169360ff1c019060ff8211611f375760209360009360ff608094612102565b60046040517f4be6321b000000000000000000000000000000000000000000000000000000008152fd5b929391601f928173ffffffffffffffffffffffffffffffffffffffff60646020957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0604051988997889687947f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8752600487015260406024870152816044870152868601378b85828601015201168101030192165afa9081156123a857829161232a575b507fffffffff000000000000000000000000000000000000000000000000000000009150160361230057565b60046040517fb0669cbc000000000000000000000000000000000000000000000000000000008152fd5b90506020813d82116123a0575b8161234460209383611437565b810103126103365751907fffffffff0000000000000000000000000000000000000000000000000000000082168203610a9a57507fffffffff0000000000000000000000000000000000000000000000000000000090386122d4565b3d9150612337565b6040513d84823e3d90fdfea164736f6c6343000811000a0398b6d8b058df28912b72fc5d513601dc9b9ab8beffb338ec4ebfa96944aab58403ee1cc44595e5c41dac3c71d7afa5c8d2cd70b4050b9f960bf0eb57901fe93ec4035c60300f8a3f8a623084280334a615ceb96aa1c36e05fe576d0bbcc5e1ca3aa50359dea8dac5b5efb9021f7c32ea62ead975e192178f70c59cb046b6d8c367a35a030e5b94b79c28a9890a2153370c6bc1c802dac3240d4345838299b2f97a96a44d03e0ac90165c7d10fe297eb501d0b353dc2d13aa4f4f4fe310333dc1644b87a612037c47bc0ac9a8f883def7cd5837e92aa515277a2d11da8e871365939fc7bb487c03b6d003be52fd029f927cf4727999fc7ad472668a0bd41c1720ab34577bc33afd03374da3846d1df8127acd0c797f9da409f33e740832b0f4c4e91c4a042ea9e0ea03b7398b71b7104521713ccfc0d7d85753c25a0125c6ae4247d88cfc285da036f603f7afe2fe261faaf28d313f8bb628d7a55247e37e6a80a1a11959d0d33bf53394034e2cb60d04bd478ddf843c78ce829d6d932f0154713d72bd9570ca230c885e160393897555b54e9741b9566301f668f88bf9dbd571939ba8eeb12aa3603ecd3965031b3a6d693ce1f68fecda42e6497036fa8273879f824963275201cbb915149f8e03e493fcc80d4eccad90d38839d823470db653ea391ba5ce31ebf884f4ee1f5f11030731043ae39897b35792bbaaafef78fc6bea08467266c65193bab1371e7bf2080329f1ddfc49112fbfda346e25f053a06db3faee529c59f8b07dada831d8caccc603ceb784c82ec5c49293213c49065611e735734dac892209ebaf0449325e8396b8037db40bcf42a2d92f66e66719002ecd52c3ffebff2fd1e83e6ae8e9032c6905a803cd9cff7983ac63419c8346a39e43e477fc2138ad0b341f448a05e9de673b4f9803a81838ae84740e9b3820cb211a43ea0685ab8b9469f6e26168a0d6d0b096598c039dfc17323e8911431f1b89077032d5d8239807633170f70e0e6311df6d3994c0032cf843b1e3c57f4dfc784997b790073cc99c2738f6c5d7de5afaea20cfdf0867032d6c066b6178c5708c0108dc8ab1f3eaf5d00acd27680743ed14ec728404d1380317e5597a80041fad4b0c37cb3b6a224b139b9615bc69c52f1227c0678872b6ee0390943ec3c106f8428e145bb17a339a05cd1c28f2ef3fb2f158cd6a9d421565f003799227f9e6f9195fb646420136143581e638887a24ce38d0c4eee2877ea2d4b60354560399c1021fac5bbe040703576eba763e5b04b41765d0169d9aecc3b0beeb0306025ea8d8f24bddf0511805d9770f004ff45252bea535d4e0e96e2e3b3a4c2e03d111f1884eb2f62a88a453b869fb4da0021759c08bacefa36406b72b332dc31200581e02fedd7dd3c572bf7882dfa25ce175e6fa3397f78553c4af98283ba28897581b01000066640d83ffffffffffffffffffffffffffffffffffffffff00581e025a1125939eac43463be4bcb54a3ccf8abb3abf006c3aaaa62e42b89c26581b010000649d042dffffffffffffffffffffffffffffffffffffffff00581e02745721ab6e83e3ca560d560e39556973672e897694613b64a8c3a81b5d581b02000065fecf03ffffffffffffffffffffffffffffffffffffffff00581e02105f77d7b37eea270faec3e25509a1d86ea7a8f284ed5ddc8189ee1883581b01000065e680b9ffffffffffffffffffffffffffffffffffffffff00581e0269a0fc35185902486fc8632e2c357406d98299db14dead65935cfc14cb581b010000664d2257ffffffffffffffffffffffffffffffffffffffff00581e02e0e5de881c61404b01c8d3a57913d9fcf13075009141510e94f404aa59581b01000066a596f8ffffffffffffffffffffffffffffffffffffffff00581e028c770807ee3b7f88512f2e954549e135482b7bcb5c7e3f1b7cb2804edb581b01000066360bcdffffffffffffffffffffffffffffffffffffffff02192b5803ec7c19977cba07d24f0459f083259df0b7c1e45460907573befc4b561c7fc68d035842be45758efbfa2e0fe821315971ca6e66b16066f55a2b3e75a97dd7b33a7d0317506294ce734ef7e15e81a83298291b1d9d39271fb376f713ed3fe48bb785f603a060f02562f8963119c7c82a5c98dc98d251fc75aa034f786fe60d80816114aa03efc32e4489f7db3dd65f50824900ed5b01b66ad99fb2d579be02efd131f82b1e034d6c96de8444b079d0405fd32c05e57ae50616d3f0836f13fd55f087d8cc65eb0387c7c9cfc173db4f6da75837e8e3c7b47090977096e390b5aa5e9ad175380f450219ffff035a1019ae9be86c661ddf12c541410eaa0803879f782147a747ffbdab23c7803a03acb2c58fc921782258da29e9666e12cc13dc647d4a64728c161c085cbe63dd84038054579f66d4aa086dc42438f11011872294b8009b30f6564d3b366a6cbfc6ad03fdc558aec02287f79b2d6b405dcd1f0fb12b6938cbed43ef36d3a3e604d13159031d82d72a27aef4f48ebb50a2004bd5501be9e62f8bb65b17b7f977fd54b0dca5037ef4899ad83e0c6dfc356bb54388997416b9cf1217639760d86c025455b6d6900340c592ee23b38e364b2c751533c1b371c8a47d599182a241fe267c3ff9170ef9034121f4a9b328356da0fb64607794aa0f4ac70b3ebe66082abe153bfda3ab997d036b5042ed668c0ffa52504a492b1bddafd22101bc31b59b66da8c2d29527f1e8b032c202c64974c776bce28bf60a64a28f14030a9dba3bee0a8f8581b66be13ffa10355ba04a195aee45d826a533b3c6d93df111a1a3448c412a841e19375c3f8fed5034dabc9c4ecd6ff575c87a146eac0b2b7ba0d86a5a6d7a242bed4fba75d0a4c750219ffff0219ffff031afd457970a968dda10e77d029592ac033cd94d1c8677650165cc1b303dbcfad03d075ac74f15f8046bf00a1aae742492df4ef3319ce48161a75c4d29238c33658035d6ef73059beb96cd14c68c97e4bba2dd058a93513d57d2128d1e960b0835e06036d83b7a134246f4086e9805a71315a104d62116105cc52ee8de191a3859ade10030661384889f182a7329c1b3d943826c7b4c9b511176a7d030dfe06df7aa12564033010d14179bf40bad1281173ffc8cb5e437e10dff466aa6ffbea5f2fdb181b89036e0df4c12d8ed9795b97cbbbeee1daf7491cf8ad2dcb7c4ccacf2a11724ed784034e1e7adac4d414274f585e123f6a72c671cd028bd423d3f77733147231711e39035ba274618c578dc4597824ce74f02d97a037c9fa804b064e610283e6b3b45924032bf566d71da5d404f0e4f4c7e826ba8360a82902ee669013bff7e849c8a2189a03c6d83e1d6c8a747165e673b288aa9db40c0f4c3d2e5bbc78de163fb060604d86038b145a0886e8235fd20d5d77ff7ba546ec72fcf0019f4145cd77c590b87bbbbe0219ffff03493e49c2cc0c9bcc572edbce52a148245d985b43e244a0db88e78e9ae921f3b60332a3b6744bb6c4f3fdfb86e34362f73b4663ccb56ede7e8d29da0ab4c2324732039df787ca6a5e3212fe21c113e6e90c7a79e0b682457bfbb45c0926133ea59033039c6f1525d2a1860a94d40f67da535fa671e84201fd1be5db10c32414a79ca88103f1009c91bf3ad06a031d62fa1eced231fa436f08ebb2714b82714dad9b7d12d703db2870318665f34b4b2569ed8d573b70f3c9671e4ade91e20cec4f954f3327f103cb84eb4f936561f0ee38c4e3d8ecdd82869137cd58b2ab45f407125662979023037347f3d5d478ed95fed9d82357bf45427f8c4130b9ca024a59acc0f15575523d03ee56204e0bd2116030561ace38108c5329197d173f4a90a498fa757411dda6b00312283e7d12a7a0c08898f7d830355f53945103e091b79af040cc0118f9d1738103748bc12b1ffc4485ac1eca32251a16a0607d1c551187790b24212a5b555c4309037267aebe213d97cd4f9cb770b885031d4de39f8ea492509381db7e629915dc9d031c438ebc76a0ce1f751abe522453e4a94f9edbe83c2eff9fa3d6a9955fe0142203750dbd7c8a2d2ca1578ba4ddb8ca5ad72797ac584b7687741cf7e042bc0465d803ed429d2d004cebfcb531863e26b4dcac254ed65c46ff3cd9d3e6e7ad4f3c83b90358a4065c89e420d760972aa0d6c6eebb81e3c15c6319445ee4d27a1d8a1ed9c2038023eab85d0610b2fdd722ae656419b38a2bc86a6f41d748ae0a23fc6292e74603d1cbde52a09af3ab2206b54de4bd44a4da1639871bac3ebd493871f089b5ebf9035fec4b15bd94c6b8e328d11860e69fdb810134fe97405fb9bed9f89f5bffd13903520a78fcca865459975d061e4a09865515ec9d95fe8729f5413fb3ccff01738300581e02f7857011ce9ab4bfd46208377d91ce86508691a6c180cdcaafdc023103581b01000066767e00ffffffffffffffffffffffffffffffffffffffff00581e02f443a34e0cecd87b7b37b20d79f5855bc7900f8a32e6a0cddd1df7ba2a410100581e02036b7237ccdb43c1472d213720700ce1ff7c9c1c8259da371ad0f41596410103f9ec506818a2949912b094d016dc75a8360a8589fe3953bf28b055fd45b6686700581e0272cc3a5714bbf1d648294934c909c6e9069793e2542b4ce3e93575cc8c581b01000065646caeffffffffffffffffffffffffffffffffffffffff0219468103980fb8e3e7ab44a205c654acdac73d4c6946719e624bfc7eacdb01d867ad997003a008a39a388ef9a6ce9066925c70d81e27ac483d8b0bb6a9c0aa407ef2e4cb830320dc4c7d303fd1928335feb0f54bcf0cea0f200c88a6a2286940af5d48ae29b503d07175944b1f5b1ff2e5abb1321ecedbf364ba631807e8d772f0a63d2cf601c6031f9ccb37c063a37bcc4e1b89bc1783c92ab4e787e89602417929edf6eb9dca5e0325b710225a7a21309a1cf6d4e2bda0ca428f645d24b519b5bd43e699db242bb2038fb03b5794bf2450f7a228db5501c4d61332668a93dadaba7ab469bfc252d3b303e4aa7cc9925b6f552e7dab8327894535f3effb8ed83f959bdd8afc19153e04bc03ce4c1dca4f648b5976e4c90d860ad59a7663fab406033d7da1fc87d9e4680d0b036a185b2ebef25de150f10ef42feaccd1979d3082256427f3dad2633b18a9218e0219ffff037227069395067aa06c4b08fdcadea74b7984272cc28ffb91a7c462ca669b8e86030dd7cc8e87cbed9bc86b4e6c75914882c5fcebe9797c8959d1df07f2df79c928034abab88eff48975ddb5a264c7eb97e306992727b5710bda969afc48c80b56b8703f980cce38f35b94ef08bcf825383071303218b871c40e755b136146ebff81354032ce76337e078685092189e0b4a426a610e477593b6042cb6fc274a601fa3363b03325f3d774880c9419546886f628388d1b145d9820cf563f816722a5947a6b82203c93920352e03c13e1b54b50082f97e22cb282b839a4138c46d3be0433a51173703caf7a25e222d4a7e778517780ea79b0b64a7595f2750471e0c34b4d05b7241470219ffff03fc357a60b28f839d9c30ea1113de8bf830bde2bc7765c1bbe84699ff0aedbfd803d73f48e285417410742f2ac5cce361a6ecad96ec58be67dcdf49a8c9a901d0b0037572391721dde32abed6bc74d56baeab82ea43adf013ff712b3783e3814edafa03add8dff23f9e4452f129c2de94b7238316cf5979edb2e2c1c27fb06d5ebaa8bf03ddde9d7e2ccca0ea7c499589fe0622392be90a419307f4adf1aa6eff038a68a303d5b2a76b5f2dd03359661eb9f1071a534a67c797cea16c029ebe2589f494005a030b888115314ce82eb57e0ae92d7660dbd86ed32dcdc4492b026511fe8f066bdd03272b534fcf092a39173946ccddd07595fd2f9ea1aa71ef4d3d6e95ec34c097a20351990fba8456c7a832b96b16b806b48a8f1450679df4245ba3565ddf7ba3d1a7031527aa8d94ee54bb1f1667c5fefecad5abfaaec14677cd2979aaf7fedd55c91903627c26fea3340687ff06336211c1430e450f34abf9338fb25af6bdbbaa739b0803e92594c3010e0b707177cf006f94fbc99ee78444fe7fdeeebc8ccf3a51ff7d8e03167d73e0ca4f97366abd15aaf9a1ca0d7858a8973ead233db8a6e0c93f7b8a9f0219ffff03cf1dd56f7a2d9889eca2a673f5dfe370d44ef009b60da624d20574f16c146537035bc56dcf386e189fa2c2bdf669ccfdeec0e705e9f1acd9798fdbfa49acaa616903eca9a2e94ac717c0cc767a9db760fd4759f11ccc6d35b8ca3a31a226e3710fdb03e974211926a9203c698d8228e49d7802569e389fdc5ea51d4e4d97ac7fde4f7e0343912960ee109ac496c7d26cd1be60c0386596ee277642ef0e626887dc8b6e120359b19d1f82c70def011ec94b3b047f22113f19345367c8c17acbc4e9eb9918140384ea1d1d24e2b452b85daa4ef89da2e57ae68ffd7c3ce4c300be64724d7de84103214f83ce043bb0a9429528ccbcdc49b21e1ad7e9855c9237a21c63b96b963c9703210e37d100a4713f2b5a4901a7a02e53eec56b0071d4698fe63ab388792eca92030d5aee780b1a7708123ffa6d5d3cfcbf3d27400ab4586f76eded9d57814c6148030104feb8f78b0f0b725d9c0b9d6e8c16754029705a47ad02f79de9da65b2b77d0219ffff03efa2c5a7fbbe2262ac05017a1084dcd3c765312eea21685d57489be164dc3eff036485f029038d5a3dc433d48cfb5c403ef5d008d78512d9d1c783b00e933d12f60339653d34776ef84231028959526b71360359a52ab53302411dff9d4271f3d89503215ae60988d3e2b9e0f01d03db7f8beb9e8dd94a185b66375071633684a58b3503195036b86c864f5b6aba31067f938269129eac9b77f893a8ad54e5f881a2682b0396a4445f7c1e21dc5539b8f61285665fdc07aac9e7dc2733fc793d768c6e19aa03de012ca91a33e3b3a2f195f9189a64b365792ca275d3fc7ec7282eb5a49577e1031dee9b39008d74c834b0c8d2d8b987a02468425ae202ccd9c39d5978fa2b367b0394c74a57e0b59a835e9bd9d22819b422cb7e664f2893de2d5765996b3c4c3b4703abf154ab6e2532ef979051c79c022cad2a4468953bea96fb4ae416a4cbcbfe730373ad4a75e19459bde9dc1f84084517585523895787830f86025dbfd2e63b2eed03bfd8cf97f917de6b7381be344b6a7d6b0f5571a303a7a33720504eb488f8307e03f19091db6a7c49e6477f0e6417655f817e186ac89bb1d706e4ddf97c1c6dad3203da076664d38fad5ad8ddc2f91b6f7edd292f0d314743f19c66c6e3bf94dd8d6703e42923f6371aefb368a71e581f89eb55a93b29d2725f46d2c62b4e2e1d85e7b603264eed41cb3634b12e90f2ee68347070cbdb5cf48773bd102e6ff0dc76f0c3b9033761a5b423fce94736f50a8726e6b9c372f55e200075d99f338dedf282d5671e03460788aa7a3b851686666963ffd739505638b8cec7b2ecfb9cf0572f65e5637803a8910f56aee85a84cd1c72007a1e44212bbe85c2edb3aa488eea0e08673a25bc03aaf13b18a92dbf0bbb0e6c46b62b94a857abc990bade650e11699355a5f89b6203f87b3d7461a23b6ce463d376162efbce2078d1861214b3e75f1e8ac2c092fe2103f95457e477b60d1c45373796bc90df968a752898b71468930f1bef3b66b403aa032a5c2f8efbf9dc06c4ab6ac22e0c400cd958605b36a6c4ba16e71ee6d145d4140383da67e2f08b137f50da2f41106ee961b64f1523b906d799a29376bf42a8529a036f76fb40f6877651ba097f06eff5cce15697147c864afe905e4e22bd97fb9db7038e5dbd7e3a1c6b6459582d21bb3d806133832219c60ac40c1312f3164671569e03fb20491cf00eec947df29c93860ff37c4b5991fafcca2cd8017296e15e5ca6f90388e7560e5c934ce75d5244126b1dadf30de84c7252cde1294e185ee95e95968a03465065283b6e7ce19c187f1628be80f8696ccf96b0f0891fdd1344d95f1e33d6037ea7eafe862c646c423992dab4a37f6bda7e7854a86b9d0fbc8896b61f36fc50035298e3da3995eb848eb9ae9174d12236e6478d6b171067ed1f6734992a29922f03f3d01126716ec48f436bde91b40cbb7afac936dde1a49af76a713838f3493886030df1ad9672f88d1e63c1a6f070236e80067919b8fb09dc57813578cd0ddf4b0e032a724841128c06a33bb6362958d45dad69b29181d3a2016ace147b9e28e97b4303dbadeabdf39021b31dbdadfac7df8ed8390a9fa456664d37ebcfcb346b80cc0f037032ac2c4a0e5e210e58a9c441c1de03be9310e39967a826cdff0a3eafb1d45c00581e02dc91bed594a9a5ac215bb295d5302e51b1482375e6b0627b20e1aea961581b010000657b4fd3ffffffffffffffffffffffffffffffffffffffff00581e028851960a6c4885a3071069494cab44963c927719ddc6a19e6a908b92de581b01000065e87671ffffffffffffffffffffffffffffffffffffffff0379f74e91417b8424cae7e5ca03e90d78bc9708d9a1299cc5e7f62683c9e356e300581e02b3bbdb5b17482010195dde4352a2ebd5449bf3336f56cd96f8737924e3581b0100006401e3e5ffffffffffffffffffffffffffffffffffffffff03a7c86b21ab63440343960a2720a7e64eb8121849e302f80f3c74d55b5da7806e021992120340fc94dc73a67c404160aa2195e084a8e2dcd9372cff85ecaa44a8d3427b2375032099e7167a071dcef7c5e7310f1f8b8856f9c8ac221bcaffff67e3a10c3f00b303bc34fe1d8613b65e1fe1b97207da298dd83b9b67e297b76626b8cf9374f5a74503ba1937cb873ad36f5ec898876d53d7a3ce4399ae11d902c359c28517b616963e0353ed2b107561cf8142be016597d6a1a1ecae652cfc22489a9fa89224b7887c7f03d5d7f9d7e04ac90bcbd9aedd8b179d170ad7fb2fa2b83f1b11974214b1b6cb8f0219ffff03ce38c7d3c8cf7aeca9fe74d0d48231eb5a4ba8010a8d0343f4044bd692a70144037279ab1cb7bd7f5ab96e8a6f26f30aa16ab2e754cfea58db5c893a69da0afed803fde95cd2c67cbd8d2c69c6f49129fc5bdbad0f17fea031137c0179e64066f46f030074c5b13c19a6378eca3c6f867b2092ae6d38f109807fab72467f71b29f2e850219ffff03660321bfe36abdc4320dbc5957b97fb75dfb866eaab43e1ff9e515cd73fa4e6f0319e01e964a206f7352e4f485f43b320edc5ff2819a1d832fbb1b9a1cffc6187a03cc8bc5e7ac3eb80bd6dd9802a5d160b9ab6b8240116db38e5957657f470876b603c77af663b5d7cb7a84bcbb0a7ae9d9c107d58ec25f1e9256b00e3a71940f58da03b17333a1dcf68f42dd57a6ab5574cd1700954c742c83dd4dff85448d1d9f39460341f3ff33473558b50f01417b702e815cb091fe520dcd4f881f935c2f628c660a03a2341bc1fdd0505a33dee0ee1bd0849f071b0c8c9db577af3bac3838e279ae0a037d7e56370af4571fd82dc9f4657e98c881e90d6336e49d3e9a97688df9f04e3503108c20a6efe0afc0d8636b802a1601a09e8fa6d1da9e3fcf034456b757bea4c403b82dfcfb9d130bc05005af39c66c56ade170dd32f91fe26f97c916c20ebd9c61031ed06f30573e090227c3a4652014f57f7838827408fed64e14cf24cc716355b203e032536fdb5c12c4ebbeb0ceef46080774b8a3e555546fdfbf208be5bac0927a0363d51b5fefaf747d100f7205c23d18fb1f05c82cbf4d37a622ed49eb16c449b40219ffff039f93c69598ae53603c6d79330d5cbca9c8f8db887a265aff8a56994ce0894eb80219ffff03494a89d349b038a5535a09b4c3f815f7bf0a7c8e884c09d5f66bdd7d8574690903074588a75ccb0e71e1a4d27506309fdb32c011fc3b7ac6615da00789d6e632a103d890a2637b78055c7e09214bc7530c951918a507666160dafa210fd17301298403f90907950f1b41151dccfc0233721f7ccdfab4cb04336d9fe71fb03382354a420390959a6a0178b4f55b3cbe932572c4451e66c9216c44eaa9de675bf5c6ea6fce0309baecddab8bc76c1b4146c714d3743ad747415dc3f7a7632d290ece702c86fc03ac9ce0d1023a2294ef4ab6e2cdf661b11309d2ef07743d45ed9fbd07606d9d04030264b9f7ca26d8e1f5cbef51e426bbeec1aeb7bcac7fbfee56131aec25edd39c0360c1b3c07d86e68a3d87d7b8343dad3968ff3a271b5554c82888333a93b9e6cf03d371a4f859609966662c9647db2b937b94077e22b7b8bc85349c96d503ca095c034c8b1be57471e30c8c69b564f4caaf006eedcf12326ac593efb545768a79ef9f03e87975b6be74805ee4999f87bd13fa439ba31bd83d2de3097f4da484fcf8a10b037a006cf0d1fec3939aaf24584cf2db0401443f6b5efd1689155c06556daf126a0357a6a69caedd94f78bc87853487309f6f82c761b4d0bedb720484ad9f869ccbd032624c5e1b1d7f0b447f02961b87e394ad75429df5dcf750f710c023c62242a35037f1b3719e34d2e38501ed4e50ed3a43d01cb6b28cc6fedcae167777f0a30c6b3035c3497d83e72e5f2076aca8b9dd11dad309b6b7059e399f47601f46dc50791c203c537d06dc6069df41f3fea7b3f8112abf94ae9f59c08ee96f05ff21707951ca803696b9214feea8c1f2680370fce803d741536d27643d4a8a242c1e627ec6665500328d06c50cf99037bc645c6bfc481e42d8e2d44a4d1fdee40535dd440261aaa1403b6d52241c6685ce0f40d8bc83eee62dcb5a3d2fbc925658f65437c0c49f6c95900581e0277a180be2012b831e4d7ffda9c6b091e57af20e8bcd51a8ef4471edaab581b0100006624dcbdffffffffffffffffffffffffffffffffffffffff00581e0270805577cb5eaa7355f43c18a769ca5dacd9f73694013651f25eade106581b0300006648f390ffffffffffffffffffffffffffffffffffffffff00581e02ce16bbbe400113c33f169891dfd1ba278900227dbb6b0c31e8d4203384581b010000641ac051ffffffffffffffffffffffffffffffffffffffff00581e02c8f5b138b6b50b13e7f4a71df7d88e9ce88002c2c76c77d79890cffa2f581b02000065579a0dffffffffffffffffffffffffffffffffffffffff00581e023dbeb5483efa706053a16b3765257b4a04e0e96c6e74142d9e41b7b1ca581b01000064082e28ffffffffffffffffffffffffffffffffffffffff00581e027d49100cb0a8e032f99e266d8fcd57f46cbb8bb4a9c0694ddfb949662f581b010000646b9f12ffffffffffffffffffffffffffffffffffffffff00581e02c0df8dd77e18ed0cae57065d454c0fbe24e239a39b3e123e5d03a7bca1581b0100006491d320ffffffffffffffffffffffffffffffffffffffff02194d8c0219ffff038609cfc15e7cfe955a7d5fd3c96ffad7ae4529e421f0226e3852bacf86fbf3be0398ca0487d10214fda91a86cafc6b8ff2a1a5146fda7a9489b8c0bfb8d62a8ad50321ac70fc7ddb3ae1e4e8a156a8e3f559a671cc745bae7e601580588e2cdf209e0368ea8e9784efee47301f4cceb2a4f0d80dc5a904aaab5797b441daf66c11de11032cfd5e6f1fbe220ffa42d4372ec1a9aa83c0d411ddd7e379e3ade8ff8765902403961f2554912c2d4d41bf402f5c93632a3ba05de98d8385a3c18faeaa50b10eef03a512c6ef7e436fdfe5f0d04f97ac5e6bf65bbc251e348825c9ac4ab4bf923b3a036b53de4ed45b8e38e0891eed48373145e38cac09cd897311ac06d130117e4e1b03cae9507aa3dd9278cff37d44ee410df149f952bae848e3c28bdff6c9c37468af0361a59fee2e999ccd54e1c8b58a93fbcafd4d81213aa677981c6f033a106b6e7d032fd12b3e0a8681936d332ae562839526273e4eb89b98d131d09eadf54d8a1c74032972165bcbb644d951d7fa748233d05efccf94f45541b49c8fa058c4c310eac003123b92eb1638b4152a1e3ee838a9a78e633aa8ac9aecebd7cff5125b7c656330038bab6ec407a623f2b0445176333c4eb591ba1e42a6b173f469ba67325384853b0219ffff039bf6b110f5a66a54b8cd6e5e126b43bb21bf908e389de9d606fbcdc7fb94b7d1039d0b5d895b46e6014bc5a4c90d968321104aaec6ee9e9d064603ca8ab193b48b0388bcae833d374fe7d81bb6e4912b029277e64513fc8f1d2c15f310ae1e6156b90349b202d6f3c84a0ecb56c11975ec24dc053e25226c81f1e03973d76658bbb9e703d3d5695f5994b0645aa5dceeaca2c20c71c2f9ca410288c91f044dfcccc9b0ac033ef731785661c9afbfb805be71d6982af3d8babbef6aef2e9aa18c6c4521bd0d0369c41daa72dca96dc49f089337893bb539cc887de4fd9e5dbf59c783ad722d0103cd12db968476866264167a78ab5b7e5b4555812399aad6c13e36fcc9a9a6dc2b03a63fe30aed33e9f0b7c77412ab9d7517e22f9d22ed0154c82d800cfb1c8cc73903152ae5e28a835039dd191a3eb832336b4656bbfed2071d77282cf29c25c17839037f3eb2fc5fa5c1942224155c4304a6595dcdbd6f87f9644c609109b250bf458d038a4a92874c441a3f0ae703d74d1fc3a96592cf4280cc212dd9c71745099ece7703acb6298d4d15c1b773923f1a024142d7dbfd30fe267ffccbbbacc4394a2c336203abe689cf67f5e1ddd73cc2a8c7eccad77b18f588b41d595cadfd1fd402f3a9a60219ffff0337ed1cc8b8056427ca7000c5db0c3d60e64a7b81ef5b255bfab48ab8f5e92ab8037214636710a6b036c8f9089136df6d5827c63dc2fcee1357e63d35b82c85257503ef4657bddbdaae44d7419a6098c1e6ab2705ea33fda071ff2cb7ae4b2f23977a03c935962f54d326bd83d16e9c071858570154f73712b56b95f2ad7d7e88adeef5033ea602a83eadd1ecf47ca033fcfcd2a5bb82ce518340478dbf4b00279a2c7eb90326977a810637e55f93e7def2edb92011a0377e667823f2093db0495b80d0aa5e037046ebf43a48904b7715b87398a72372fb54dc8f09a571cd6cc4ae4bf34218af038b37358720e51706626ec11db68c0961f0f31899225d7dc609af1f671e3890aa03e2d80e8082e6af8208594194c62c4a40baf6bee5a3fa0c6f7e73f438755d652603e21b9372b4366c7181542c9eddcd0925bd5a73a5f7b0bd842c9c4d761268be0f0399fd4f0900a30add41564204ba832bb47f3990542e3dd1c071ad309353773af60219ffff039b5c4886ce3ade4b7fe911817762c6d20c3d6b921305d9591dfce9dab9ee829f03ed6718ecf31a342a312b09b4c37b88f21e054e0f3ce06715d09f7e2d44f708fa031e08737da54ccee7f9b4c9adee508711018a72eea56407138c41f248df159a5503e77436d75f2c7b1ee810d1f8d3313935f1b965c0cd9d7b17a7b5088a5d5265a203819223edc5cfe953be3e29c027af8709727352f128d38947f49da0cec57d5706032d131c28561c90e6b92ae8eb0c840f8234e3703a80cdac37ae542b6b72bf948903bd8282c2207fe31288b5739626eae41d3f238caed660c029951f33ee7ac323bc03dae5521f09f77845d319caa4d7c33aa812d6d2124f6d9d122375df7734a8dde30384ed5b8c8009badadf00868319800633502fed12fc71dc4318405b0f9944b572038009290783072b8d073db06d291f6a9fc4634c01d5ff56766637b63f2d5c461903b0c72f4defde6aeaf69a887c943a9459c1a56b7403fec6bf8d55858040663cc603a55dc6b3f06330bbe0e4a66e864bb7bf09840d71f5ffa1e378285331e3a2fcc603adb922eab8bfe13dda2b685c585da68c498ebb16ee45561141ee5581e3390bfc03ad4436679652f219492b51d4e7d34a86ac582505324c50d9cc7254921ff8caf4033bdb74baad6eda6cebc678018cf599ca7f13f0abdbe412ec1686db3f38bc3c09038d12994857d23a294af71dc94e703e64d9bd6b784659c0e0fdb1c0f0509de08d03f93181aa14200166a95d9574dedb772d39bc97008ab2b51579676abc5f4647a2030e0864e351fc10ac05653d364e250ae64c1eacc392bca4754a5d74cafef35f3700581e022ba7f5ef6df7c573b08f5cf12888e7be5143571e4ff6c98fb6d49a48d8581b01000066acdabfffffffffffffffffffffffffffffffffffffffff00581e025ec12c07eac3d68d602ed77287415777ab1e9daccb2184133271ba1aa9581b0100006516847dffffffffffffffffffffffffffffffffffffffff00581e0219da02e55f2256c97fc6605f8871ca8405f819940181d09794f3cdfc3b410f00581e0296c3b1788c9fc8115ee7231401fe077cd0a5e757e67457d21eaec7e561581b01000063f0943cffffffffffffffffffffffffffffffffffffffff03b13fc31d6cf0232c79641817b30bc366f6ca5fff03b5a3b975e4290022fe2d8c00581e028f994fbb973a7328bd4c0e78b4c7254d43dab85b1f319159284a8faa68581b010000642e0073ffffffffffffffffffffffffffffffffffffffff00581e029cb8dc872bc627d1268d7bd4350dfe0e964382eab8e58cdac8526f7d14581b01000065940f1bffffffffffffffffffffffffffffffffffffffff00581e0286126e1d6e549e206b304162f7deda4e6862461bbdd3aafb6194434950581b0100006580e0ebffffffffffffffffffffffffffffffffffffffff00581e025b8b904bf7aac2c825942b6b10fc477acce56103ab0c5ac65374e6ac58581b0100006400c01effffffffffffffffffffffffffffffffffffffff02198fc9031ebb86a5b968289aa92ed1e62f628946d7d17d4b9a4985dd977d98adac38669803d6468565626232741ed20e69d790558fd49cf493910890a739329c291f54adcd035e6343017c4b114a75d8ac8d05385f2dc971a5782a591b2fbb2fa03007b49296030b92527982f7d1195cc03a22ca57a5db9536d9255f6b49c2af24098ac7d1fd7c03dcc14eb00facdf9c5432f486cc1d6060da558858070e4111f7b45c5274df6cb20341bbacf9c85dcc974b8abed3bfdaa77c8243c3fa58b9c3d0deb5c46ec952bbe803abe9c0c83914179b4eb7163ccbcd0532f671f6849f498b517ec53fd9c17bcdf803eff553b01f2aa16dda3d9435923760958793eceac1b899a6eda85bc5e4be1a2d03a9a2e1cc5b89dc5eafb4f8ea31990ad2d6137d4fa709eaf97474d7c829b2874403cbb0f2e468d86f06d250fc69c72e1ae772f1865b288f8fc7e76068689d32f3610219ffff03a6636793f1e8f7e65bbc26d88254d5e73952dd13d3d37c06af21a20bf2f30d0003c1cbb8660fdded119fd18429bb3c23527e14eef00fc3f527d26a06415175807f0301429f0d71e4727c7808ef2df06265186c33b55e19a82a8933272fd2b7088e99039f188b55749c7e3dccfbe0d43338f0b8a4223bc1b768797cf413da745f329c2203596ae90509696ba975a825c316c2434f3e47a7a70a719dd5b7d020ae5efc565a03b9b345d2821fcad7ec80fbd9d8d5240eba6cdf1139cab39972b7dbb43ae7267003dfd3a7979278fd343ed4f82791b2842a5ba8707f67fafa1a8dd945bb39db1c0b03ac713acfb9ff8ad90e19850ad5b7eadeb8c8b5ce92e395703b4a04b1849e5d06037604097dc9e7f564f8d525b0aa0afb4581dd65e322cfb6a945fd8f21609532e60219ffff03ca1aa51da1b21b1bafb72122b205d49812ea7b6693735332f1d9757d82b81612035c8a33545d211401af77e6b9a34dc043ccdb85e68255e421aa9c050ad30e201d038465eda29c336c1b63df4103eb1e841efc5f818e770f494032f5d3b64bb68c72039500687d00f878b760852466a9335f6405066f59d3f616ba6833e8ef6d8712170399db7e5584cb07fa2baab458f0dda79d1b4042e4aeb11d55e94398a8978236a303055a6bc17c5f0bf31ced35c78fd5828ac5b79139bff4f3790a06f126f35239d10348d65a6496b615eb0004b338ca49b41cd9b34eb6e5c1dba61f3b2697900594da03ac75d7f8f599224ab72a147408f186e51d5fe7541eac726810772ed895237ce80329ff30e9d4e8bbd0f327f1532dc4ac5fbe99749e9871d518c6350a1214be254b0302e65ade014740310a17298c55c0f1f9886300bd981f5ee907b993262dee1dfc0337a18290ae912e0f9a60764066976c47facc261016324cf5d9a7fd762344fcd803a177d9a1685b663df62a24dc925e62b66a6d1ec1f6445e11e701f31c9a7317a60219ffff03e036282ea3cae0fa676015b1279fb85d960c316bbe24259652ea0327a11b5fd6030c7b047776368d998c8cf4e53c2384aba42b238abbd1de2c7c64ee419e94d92503712f7af40404c0b0b2e8043efc428391fd7f703d1cf965b90d2598a5dd2cac7403b5193bef5c64154551b35f89f8182374978958b0f36acb228ba1e38edc6accc10354c6f18e7496541fbf69caa47702ee68d1f3c70c911abd79c93dfb3b48c27816035c4d67993a6f617b3eef8f260b9e7e50c79edb96787adef216b278a5e82a9b6903a73534617f4dbda0d06f550e1031cc46736a6587c2570b8d8e17fffea2014f4603b1edd813dd22827c301bbd077e8fa2a4d073f2b01db927e9bb36df26bdb910af032b9558e67eaa99ff44f6abe528dfdaab0db0941111343b41b037ef3d4a88934303b502fde6a29c52bacb2c08c07c2498554cbf12321417938980a1e95426fa1b0f032ee7d1dd47f6caffed0ff9ed71a7fbf60989e187e205279f3ea37fc120ff20e30348ad4cdd06f92d6af9abac4128090e4456756986d34a2e9e6c2fa57093fecf7d0219ffff03417a1d0b346d6de3fcf5cdbd93ccc6b75fb12af0e904a10e4e162a34945ec0d603cec8b69858e0080771f9957f47acbcfc1a0d8b1964f5764e8fd0b36404416153036814824ba91c3816d900eaff2273588be39eca3624edc195eb412a7af4eaa719031d05b470c3d9559da8e4159d7fe6fccd2e0bcea8a4bc6491d7a5c430fe5fc1280388188073a98e819cbfd9d86f04484715593fee6da535129521d3cbd372e05a250344df9a6a41fae4ad28ac615ad76b6c17417f067bd031cfd7c607b5fb80fbc4b3033e1b8e2d52b35b48ce32161fa65329d738a80c777e54add1acd5f86663d49cc503a5097371e8e88d5585d3b7179a2d52c87218e05fe6cf170c7ea6d08038f991640351f9a967bbe605b528ff10e2d8a8332559b29e8c50b470923774df0193c5f1e20334f91d2b45b9378434410674261db805db4692906681fec635b5abecaee432ec03b5bc0b73b06e10f0c6f1fc906e597559a254eb11cf63e772a8409b3070a2cd470372d4eea774b47f19130003c04b0e66bc3695e374370da1c4dad97b378f2f010e034e7e2157bdf860380c6d1e5966c4630c69f971bbbfb998971d596b80230f23e003cac0143421747deac20bf8f773a110b80cddcdd55bbffc6ed634b1ff448857b4031ba59fb55970fcbe4621bbd152b187a07c7ce7529d59785ad50f75245ecaf96f0310e6edee2f3acc7a856cfab0e0bd7e0b3eb2eaa51a2ff1054e757ca565f4a85203022798298d92aa7ab79b156425126aaa6940cf5059d9f8b16573954ac815d05403973e356fc7b873abfb0e279f89174098a5cccec7a94e163bb8bb90231b76472703ad44b8421317714a1fa739891c5ab424ebab2524ab698e4ed52fb1fd79885eb6032d2dc524093620d00b8b7037f376b187bab7cf1f9047e13f3f69c5e3df8ed3bc0377aa2541ad445bbdf2b3fcf3417a1ddf7c297c9b4633a596169ce9125befebb603ce29c65eb819dd3424f9d81252d2ec4fb1bb6028724baf1089cb1f50613ebabb0354c0bbc5b3810d1ba45ce180f31756210e8f9fcbd2f93e3203f434b15a50ce6e03377919f0e5e3e714c3fc1a98dfc7879af1bcb1d1c5e3f21e911709d9b6200c500341f6d0b33f59e2e80164a6ddfc83a9f1cd5964fa977e29e57148b687ddf8ef9b0374e225e66f3cf438e8fd4b5bfe10b7d96272e27c7c94b3a5fca5784c46e4830f0361375e6adb883fcbb853bb8c4197980463d0048107ea8a45a3e28f5da8ccd7b303ea09ab1171f3992119816971698ba727c19a1a9181d76d3ab4ed437fc0528fb3035d3a1ac4675e039cc1ce6a42ba6507227ddd49814ecde788ef0c3f3b9a895f9903386e44abc67b1ada9f4bd56af3f7458f95b19f53691517244c8a1fc99bbc5b8d00581e028cc32c0de0de8caace1cf02884d8aa322a4a59b6533fa54a8af24b37ef581b010000642e7ebbffffffffffffffffffffffffffffffffffffffff03b8f011ae190a8e075d6aabc1be777faaf94d591a3e060d5929f40a74c6829b2400581e035c880cd86494a358eed1d5ebf7aca5d312308029153a779fcdeb1fab20581b01000064fd4f14ffffffffffffffffffffffffffffffffffffffff00581e03fd6ab058364f42b97817a49f9ef57fddbcb903f3312740927230a1e8e0581b01000066a159caffffffffffffffffffffffffffffffffffffffff0219440000581e0235f9b4012df24a0a9cfbbad0aa0ed8bb7ad22c688a5c083e24847fa73a581b01000065603acaffffffffffffffffffffffffffffffffffffffff00581e02e8c67e3273ae9928f9bde7b9fce51c4b4b32715430411f8f083eb87add581b010000788aab94000000000000000000000000000000000000000000581e023336b147895553ecc036edf68b721762b96a97ba53851524e8a3ef958d581b01000066479a2fffffffffffffffffffffffffffffffffffffffff00581e029835d0553b391e0d670e1a9996b1165d53cd6a6260d025343314ea5b25581b01000063f1ff61ffffffffffffffffffffffffffffffffffffffff00581e02142ca34d518b4554983f318591b83aae9ce8069734303e51030ff0f43641020219fd0203b37476997c4541f7c7d8313ad1ae14cdab2e34168345814562b517c774e912b30322d5faaf0ba8e5cbe6a5bc571915e2273910cbed56da04636b66e4b948f3deb1035b532c61fd09d8517348d8f23eedd61a78d00b8fb32e448fe74df7d46cc9a96203ae66fb8539dc2c44652991333b7076f3d635d87e51365b70aadee8e57dda992103c817a03e586cc0da21da6ed1ba88094e604aba4ada6104cc34900427c303f6170308e66bea2e4e78173155867a2d19da391bbf3ae6ed0bf1bd31d662d29ef56dde0219ffff032fc00632c7b650ba4ee330cbdea263d4d4336c356526dbd797767adb30f2d06b036136d10e41f456d0983e9c23c72ea25bb60209ba444c5a72ed6630864604cec9030ce419d79a4438471a64998013f8868b3826182a0c81d6fdd9a0d3fd6277bf64036ce987e325090f11cb86ebaf174ba3afb25614fc5de76c11b27c7e6c736b3f1603595bc1f20842ce2be836770949c719e6fa7fb6d13ae9ae4fd55a31ea31a0ec32032d1f4606287291ec67f631954ac2fe21f2be887f93666985652e037f9342da4c0219ffff03c00102e9a34b835f7478ec33e2e15c06ff7e1c9b745fdc9a51177d01ad5ec77f03ac963eb84777b417d0394ee86781505faee2f5573d5a499516889eff58bf739e035ecd4e50df573d3bd76920a0a83bbc41d93d0957d65efa6a8e7dbc9a11d36edb03a60963636d65008df851488c7882d8f312e68ff6d8474825233c4f0f068d699b039bd8c1e561aa2a63229406c8d0ea3a11dec4790ece516aea4c9c30a2b614748503324d1b8c5e35ba734498f4275cb9fe153bfcbe897bd9b935f3a87718660f0ec9036cabd0ce079a75651939564599ab62b27704222518a4efb88bb8ac40676e728603a199a8e4b22fd6612bcc0679c11b1279122ce9368a21fc8a4fda9b84df8a722703cfaef656bf3512296ba816cd6d6cec1264bfafa51ab9034816316ecb93d254d003b450e828acda8db55b711d25f87fe72f13af8b67d13ed0839e01379fcf4b1fef031123dd8daaf04eae0df818d9241c4dfb9183b0b5a5bb48a10b9463d330bbd8a003b362edbe7f2c18b0ce8202e3f649f0071d05b82b468882f4dc0e97c972cddde40219ffff0311a8ab2f013371315d2fee2ac453aa7c413e16fcdea967d7ac2f334fc6e0281903d9cc9956e8a09014bc77219f9a1c005a41cc038b2b04eba5b48a408a250608dd03c4dfa305b77a9436856ec91a19080ac2a1400f649afeada394bf0a7ac52452a803a63bff6a5fdf1cbf325720bb596ec3735ccfc48180f4ab6dc280a0311e994c63038a3c938b7ef3e5c179ff09ecd44e609301a7d4106b6f443d98a4881a32b59a2303400ab9746881f42ee9e253c4316bdb6f286cc253d45849bd71acd239c8b38c7303a652ca44e1a65cc5e1f16453c4375de168fb6d5f38bcb2141081a22473cc96cc03ecc47311a0ad0be237049792a7494b215bb08a6542f8ce24308f30218891601c037ee1a6f42a63fbc2646188c37db94080903c5b986adc9f809476ccbeb4e9517703c9d05df344778c700e569c9363a13a51844c01cde9da05115e794ea90306ecbf03e7d91fc5ea052219f5c9957c14d34f78f6d28b07485fc3d36b83135ab331b2bc0219ffff0327448fdb45b3dd951eaeb9802c13754ad28cc5f1e2475d626c067d144f00b0000219ffff05581d026e13bdcaff61b95238167ef377e01ba97f832b3f9c149aad1d9f6a2107011923c00219040803762f4d64d12bd066ef9778fdf43d2f954ff3d0d19d4e8a4eb4cfe8502a3da5c405581e03e92b1b9d463e39ca71cee60f93759b43f1d5d03f24a42d2585613b4060040205581e0332e44cf6d1f68b044b2ce38fa8cb417312144083cf9255bdb528a2ebb00c01464ed6ee996c4005581e038cc546a5f821a264843e2f2938bf7a6a1b0361a4fd317b4b111c9c82600c0146f67c5d32fc0003ea41189d362569b38146c94d07bea42f754a5afd0d2fd4178e3b6f7c2c8656a805581e03127bf4cbc6981d18f901c9fef6b8f3615e16582752bd62c757656701000403037e720aa2060472677111d56520d07b68d7b890b5ac4a75f8908054aadaf92adc0314da3c1ba100a110dafee68c76b700e909bd5515871b1c4d1c14a0ec41559e770219d4a7030509d7e0c020a1be9047b86e36ee95e3ae8f33a8a2e8a381aa84acd67d25bb4603130abde16b7aa7caa25df2990bfc5548d34fe4eccbeb95e1495932b1b983fe2f03b799fee2f1ff6db93d53dfb24839363243e222f55601a5f43711c7667d1abd1b038a088f545065fddb16aa6c6fe11c7697fbf1c18fbc5521aca1b736cce125322803b7ded3079edb4b5a9f089b514eee9d394e6e3ca1d848018f6167b3faeb5d8f38035952839fc806f3062986142336709b9cd32da239e9880af32878b1ab9976fbe60359f7a8c3b98d6095427f6e46cb8901fb3fdc1aa87ed81c248a31a9100be3603103fde132e9bb98a5b95e5c08e6ec3364159346663b33721198eac80a44a2bca2370363412a95485f018f0caa79dc40be87f8f416cacccccfa86f419ce7ddafd228b2033e920ad38d9775a34ce4ccbafc9c09d71e68b846f401afb54406c698ccc5031e03c75eae1d25b97b064f718f7fb786ee5de514c08d2488bb5d4ba06ef282a78b1503d9b116323972b9efbd70763f8bf9f04b003614a8bc6c173114c003cb00401deb0315eb6048c05108f12598e76d70156a9418b1c714d1f639b7bf0ed4c6683624a90336497f1aafc4aa32a7793a172e261f7b5104ab917f4189568a7c3c83855bd5260325385d6b19bc8a471039becf42f64df8c09031469a627c75d64f28bfc81df90d0219ffff03e18fc85c2cf500281676aae9656492cfc4c1ea16a8afdcb3ef86859b8cc80d1f03f7da18fa76aadda521439c33930e62927cf58284559cd3191e402576719d6177039491d0752c3ceccfbc6d7c9fb21da7ac3a82cb1966ee838ab0016bf8876424de0345f360c4d09ec3a602c9d27735b4fe053af9d15530d571dd742a9d17256cb3520326376a08130dace88742e0b6c48b2aed65b810e8231ddf5a3c4e3cd2350dd0da03327282fe4cddab48af3452e3a151ca4bf657af26518660159a7618f0ee03ab6a033c085bf9feb8c4a9f0685b4182cf95e7727fc605b7d7711c79944f8652933a780219ffff03d7c8a4e5fe328210dde0e4be92624a5619f4a25b9c76a19fff3c343a216b9c91037224b25e81e63075cc0b4e19aee7dff6b68b2b8cab2ba838a755f6297c8484d9034d4ef5a39c6829c42bb6edf88e80783ff17a2bca37558fc18210c7f130054ed2032df33f8f928b285edda698bd9eef4317d4973475abd59758e1548ccc5dc25f3703a4dd28f25ffc93ad3c3b82a95a473c46fe92758199ce4ccfede25dc27ea9393b03a100789a27988f354a57a8d1310f7b2ee5a5dcc798191291164a987499e447d803561638ab0a691ef25b33afc14bf6d211889fa789fe29f2751f8549a8556f9ebf036a36515b4caef9be0f6e1619b8fc6607d028425dc230e6c832a5ac68cd427e15037c9021940db467b310b8a6732e89243dd81308130fb9a6995fd017223303e096037ed22080ec9b94c579587bdd22cc05909bcbf33d4b717f56ac3db28c893e2898037e38984adcafc20bd6e4870964cd6f43d334e9c2cd6a90cba2ae82259f5ce2b103a22bbbc56a67a0d5a8b798d2831cee9fd460faba72a52071abf2bd7d2025e0e20358609788dd2318fd94f68d22d906798eb560d4dc4f0a3e15d48218ad314d222e03958eeb73ab175ae824eb9e27254479ebf4429c27218e6239fe6d51f001b29b92036dbe425335f1e1ca258c4207a2b3b71e6f03e7b776927ab8b3097d06d763dd68033c540efc9476f6cbe472588b7a04a7d8120b6a68b059998f8140db54b5d04c1b037abd810c175fcbc3df7d44be915faeac924d877bc5d93cf41b9608c96beae8450313fbec5bae23f66ab42977cd62c906fe258623976f16d71d75a2223caee03ad203e2ddb1e8368598d6f29ed6da72c857265dffb38d000f4903f8ed947f56a1c244032a349fe61a8c5d2e80196c9fc89de1577740673251748d23972059ded236c2d6035a06ff9a077ee06e00e8905a888bab5fcda568975ec01c022d3d32bd7a6f3c10033d2fedbb2a0f4ed7adcf929e6085a40a204b0ca6246d4dcdf502e1f73c6ab1fb032288ef4d335c9265167527f2ff3be6c4167cf9af1967ce92159b78684698b155030981bf4d7bf62e2f9f8c42f76624d60cffc92187283c825e8a48dfd6db5e0b94035f95c96bf3b97af6fc37de7d24878855c8844e3483e0b4013cf3f90b846b448303060ae3e6fb38778a351b9a9aaa1472fdf5193f226408cf9eaec1f35705c8b5520338eb341e4aa9e8d36c0e253afa0bc08645217ad985747076d604fb22a6d181690370a7a0ccc0f3467cc6ad01308639212b540812af12abfbf4747c92c30c7f0c8a033c773b4d2f7d41bf53a19859b6534903a5127f45f8f223dc42f6ffa910b49cfe03ac94257ccd2d38fbfacaa6af70a6292833237d59d51c312f8d48ca2c94a7a0dd03c813671471e2448a5d00406e1e39281b3d65cbb65f40129e7349211bd4d9437003c904df48506b220a336faf5b2002593461bc4a3c33e970891753aad20ac8489603b13ace956763bd43f8377b9a3d0a3e833e2a409953b7ed752d4c5052ef456167034486d2ea520e8b8eed299579227fbd815cec46dadd0c053f91184cbb85dffcd40301f079623f7e3f01663ce6db73d28d348c210a2f504e32fbb769b02ec000dd3903970304289c480a5f30d5901bdf89cf4398b0529b0142390feff0236af5eb5ce803b24b00e7287d3d68fa952869a77ca526a2e41d669b62a62a237ba0e0e64c399103184050bbb85dc15e29240f0312dbe0789845347cb98b8949e961d4c61a268df903d7d495cd40e2919f1654f99dfcf431b5023957b753d688be511da130c65caa220371468f0844296764aa8c5413e3fa98c6b68050b2a93ad04de666b41d170c66590367206ce94ceafeba760da89d004eddb0495c054a516e5acc7d0cd98fb412b9b6034b4f3cbf54c72e23b093ddc0fc83a3da4836449eca91aba3df7c7e23ecccd64205581e03e06473f811dd5ad8c0cbd24fa3abfeddfc58e306d0b3a34d85963e87600c034705b6c48254e40005581e033b783b4f14ceb4a4fd4e2d27c2f9e76b55ac02f3c1cbd4fc4f699e8670084734b10d6c61e400031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d029e9ab4140f9c00f04d9aed901eb8afdfbb0126bdd3df1412cfd71a4b07011bffffffffffffffff05581d02f0d0bd2129042e3218119d1c158936f968fb4104204724ab0f131dd40c0147028133da7f49050459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c634300080200330369e9b58b9d8547e4220257645952225edd5dddbebe95a428cafbf56191109fed005820027fec64d51b1f11f0ed3b17d7b3082720a661f4c2c772167c5b7c2d98cf25f14809f9b7965033232600582002cdb316abcb96e14d905a410c54d29f01ea1f96d654a9bfe0215dec276c40db49eff4bfe1ad37fa09bd02120058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410103425f0ed95b02ce1298e3e50a7f9df2295155d6e7c56d68464d4ce6c80cc2744303efb28d23e8755d4531e446c54c396293b0aeeaaed35bd64973f0bdb7b887f27c00582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4815413a4cc0750296bb72eb0006febec306551a4f47200582002075df80ec1ae6ac9100e1fd0ebf3246c17f5c933137af392011f4c5f61513a54e6dbf5861ed9828594af4c6ea6356411c3a0b1680214005821035ce9ae18fa359a0158b6e971c8da05c2bd272cc032296658c50083847716eb4049d84f0298113beb000000582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d5438391ea26f9eee3ab81de3c7ee9e168da514910300582002c8fe41b0c5d733c59b792bdc6e66636e82a16d8feb832cfe8d2c7fd191e28e50187c3e46195d46c1d5f9d6a14509e71d0219022000582103ff97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c705484a0856b038eaad1cc7e297cf34a7e72685a86930058200246ac6dd7de6b96975fec380d4d994c4c12e6a8897544f22915316cc6cca280542a5c2568b10a0e826bfa892cf21ba7218310180b00582002d8867edf2ee59b34ed596ae7d508f53c2479e6e9a587376edcad907091a0d54a06ea5a0fe600959c103902188803c5318a576157dda6060232ca131a60a2a62753a6bc23364e32f31f3979b764f803baa6fcba791770a70e9525c92bdc6159dfd31060a75dec85afb451da99b5800a0372ec140cf455624b74e9140b576234193dd7d0a7113d1c5a1dcccc2e9d718ef20058200228d818d89c0f4a671ac314c3af22db0f88589dec2a97ec18d7dc621be397ca4a31bd9c447fd5ad695bd20058200276435941df12d88f9070de39d07125208201a19cd0cbf83df9508315f4b0844901a5fcab6f36a9ccc500582002a3078b68945852c3116e5ebbd84a1270a3200fe45b18927d15b48413dd08a4492517343a303cd1dbd20219080a005820028ec2af2cfc251225e1968fd6ca21e4044f129bffa95bac3503be8bdb30a36754684f574ca8c6b52c2b713ad1d1eacddf3976e7eb00582002f1f81cb075df56e4ee91d424c1d763577dd3dbbe52ec7bd6eb65322efa6f424902060b3fb8f48e800002190801032eb4f26d927d0637c700e225611089a613ee94d97ed21347cab2b43d1cdb8d530219ffff05581d02097c1eb4ef2a16cfca2a17b2d219828e51dae11769befa79a2b6d8120f01486f05b59d3b20000019085d021908480307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e0342c8eeb01138413563a90b931ce967fbd6aac5272000ac78f8882fae1007011bffffffffffffffff0335eacdca6cf21b1dd8cfb0e07e71258fdccfb7f46e19efc7c01bfce1970d335601410905581e03152977560a26d5ce7b1208b48c0f6a00fe468547856c985573e96c4570040405581e03ba943cd472054d1d65d3fbe523a135d9565c5aad44146df0aec77243e00c014713d2fafdd8c00003b0d5e5b4962e2c69579d25b3b221cbad8c2d93ddab0d8e3f29766c947d4de24705581e03d93c089ce47b5e1f51e284102a2fd8e5280ad3593d7003438ce59c4230040203dfb6f6854395875d2476fa6f6ccdc046453595aa2849c05780ec54a53f6b17c10219d3dd0320266ccdaacfd811e3260142268dac9ffc0017ab91ff3f230f5c42471b27ba910219ffff03a5806014786004cd07f76710e25f94bc486b2928e6d5b17c3e58900c873bd709037c4e5d9232df4f3a5084f7cd5e3721b3b6c9b92b37f6fa44c3f5eff1d547aee40219ffff0219ffff0219ffff0219ffff031ddf8eca2661b5e6d581199546e50932d3a87e3e7d845347442ad2c7b06d8a9a037ca3a2cac330f4a8bc1afdb2594fc86d766e74adc1356f71c11b8e437a9d85d103140c1cfd0b04d384b1ee6fbfdb696cfeebc87b977ba4b32257b4e95dad21e0b003b706000f02704d9286234afdde24c72545ab186549d2d4787ac29d77855f9ff503e5181bd34a58ca4a5885fc279a2e98ffb1f9046e28fef4bc17a522a55cb1cce703489d501a031d68acd758efd767169a4a0a6fcd7405361ba41803f99e9d6754aa0350f3f88e97113eebe2858890cb091474563768a56842404277afb4519b49ec10030526a0bd63c72e275e4526a386bad49e03c965c00e15a125db8852f537a7497f03fc407a3cad51ccd4cc53217274e21638aa2ac3c42a547f621359da4a71d28c3b033b02f094ef892ea65d03a10af9e15dccdbc56cd4c58d762975c538fdccd02a1b032fe12ea85eaba0c52cd50b1967045c7eda0a1f54d6be2c2b14fa54a203453dce037f95d4cb112825a99327547ad804525df7372a812cba7503517b13cc69efec100397d26d2ce225430af3463293de08b6f911eb8121af378e204648e2bb6ef50bdb033d50ae036308bd1714ad0b270bb4c51496d167ff63dae343072cd5bdd555404e03498d7d1bf5c59553d506d1f30c310e6f3c06ef680190372888def4f078a05c5305581e03a762214d47ece48521f1c42d53f60632dd61d2deb79d717b9be34380000c0f46f6007f288fac05581e03a9145e73732e762740fc6dd676c31d553cb967b4b8cdb85f1b0dae08400401033602cc5effe0575d26acf5cdbe64438c0b8940f170a756657da9634a9b50bb4f01410905581e034a9051502e68f9fb698893c973df2f4c22f76b88bef7bcc828841abf800c024702ab2740c4f080034cf164fc0eca87fe89b8062b16875d7245b6f205345d65173add3f608b5677770342df6f3064615967998860460c8045f0187980cd863a69dbc65d76628a0cc92305581d022e65bb2ef79480adcdf63c01da7ec9ea4a8a8e3903a1e9cad620b8a208470196f20271fb240355c2af6488612a78778b9383cdcfc6587dd6c9162f6cf2bfee83ac94f2ff4e7e034324c42481efc441f72aab1c2f2bda984d2100293f35ec9828020c8cbe46b39505581d02cb1b2a4f79fbbf9bb8b3a98028f0f5f510576ac7853797d8417dc04207011bffffffffffffffff05581d02fb647a6b99c0be931dd1f944293afa3a2c30436eef8c9efc721089d204010219108205581e030a9237772dff9eb45e448263012005b6f56f2916d896b8882a4897d3b00c044670dfb6230fa8021985f403dbd39070db581fd377d4b34868b2b6778f5353e1b98bec67028f4a1fa8485d0903dd928597eb42d90d80f181ef26fc9772d69e0dabebc4bcadd6f1e9ec0bb8514e03b766dce6210de9c8b9d8accdf62947a562a39d3462f21300baee85a7379b79500388f74d582a243edc8c2a962648c11e83d94cc38a9d4817454a4b37672f7a3a6703243341b616d03379de326eedc210302d7946c8356ec00f723ff185fbb4236dfb038b96ea41423144268e3bf3c03a7cc4f61660b0cc25ebedf80992df04a0bb9add03fea6c88d131f1d016d60447f7ac0a04c44aac30cf67cf5170dd5ea1d711ae06303c498e75e9e0a2e1f3a1fc887aaa395656414c3f60b14b8dec8cafb4b573bb9d7039086acb64a821a017686dd2b8ae5e8d90eab5791a996a3092ac717aa427a2e5903b2de17ce87ec2003a1e0b833cf5fe7f24197a78a3bfba2b128b1f3a12f50df19039623fbcf9042686f5f669dc6c89c608021a870016fbc1fb743dfa3280246613a03aeefd44ee545d0b07db54ada0bdda6a0efb7660b3f9b2cbaed6ed12ce297e7170219ffff03d8f181b57b768e15b5743f836a402ee1949f32a284ee9d63e361bbfcd21e4a8c0393487afed5b471dd6b890695dc94423208f67480a22d7dd7d5c2fb9cd9b2b2fc033e174177d49fba70b5bae024a98fb9703dd7fe0e8c70387b9b7235c4807c98ab03ee9e2083928477b5aae81dfde66f30f24c9011d019c0685d2ac8251a0789bf3e03cf11b22eacaf61665da33db8131de628d2ed1577f3ceaf660e558702c047762003e83693072fc3a36edeadbb8c8a12922b7e958098492085b83a416b28560c6bf703808070c0d01880789d799c7855c2aa3cd7d88cb18af91311db24965ad7fae80c0349858e2c9701e06d4dc822470dacdcab3efeae133ab07094ce0c336bba9ec2f003627263a11c93f000aa317d4a617f8c94dd6b26d8bbd9e6985e31c955761cec33039bf32d7fdd03d2161871894e92566c5a4f5e7adb783cfe3876d814dae61ac1dc0219ffff032f39fac3aa66dc64d0589cff13e2398aaae19479af305699a90c21ca2a11a1ea03ef88e48cc9d05f91fdfdd8b8d0b356bd102e22491f8663d153f551eb4a8b7a2f032eed8c28f4716337766e707b0fbafb7926016f73d388ada10b9e5a086610533503b4359dfa83942c90f3821485333310abf3f6e272295db6ad674e767bd74690e203fb7f62c1f359181a0fd9e44202aa11d8dcdaeb46300a4766e218a641762d15fc039f7d7752359b09d751db86bbe49f84eca24ec9ae1ca98a4dc3411e09cbca2152032d04c4bac93d73c4833ee25848c780777e06a96fb25b5d3c5370a11daed56bc903d72fae2523b46b478e7846b2ac65fe567336118e962e9a3e54d67b6c8492c96203616ec381fd4b3a68cd67874d81dd8d66e48e9dddbbd02671a5e0978d00b4514503783a22acdd56cbe555d5a23040ace17a3aa6fa81874cca8df98308b4081dcc7a03ad7d578f77750411643704977dbd0d20581627397827ab308ebf08f1c0fccab205581e036e715c7b462ef9f96afd7af89cb6752114644bb9bf61e67494cac11b1008480de0b6b3a764000004582d363d3d373d3d3d363d7333bb0e62d5e8c688e645dd46dfb48cd6132500675af43d82803e903d91602b57fd5bf30399aa4ebede0368be1376928644f0924cec66ef9f94f86dd70b2fe070172dae6a005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90480de0b6b3a76400000058200375461786357c52bbf4e9407b798b15f4d0860472d5212323b75f767529bb205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820039ee3a2aab32ca7569fc04420a78dc9beaf04ec56fe757b0920af5c5cf42ea05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219428003cd4cdecf0bb2ab8a90ddfc94e516d4865290868d6d77b7c5f94dc7ef61157ba8005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db04b03076d13abbfe22b1dfeb603dd8d2ff99bd72b9b637da61b6dd660141badbac7c11834a66a65ce66191e1944036e5d8fd2b47826edf9bcd027c423f855324695372d7a7152cf5442a1e869f90f034ae759ae4bb2e3049dd98d69d4fd29fe3bd7e829435dbfe6816aaf9b2de4340e03f36c4c4314f74d4dc349309593e95c3d9c8619299f546328e6f125a508a668c703ac83661d3d992c1c4721424ba9a80153cbce9b2ca871396a9c5d7e862827da190058200223a90f2b90096242928bdd45085c8e6a77befd61a8d9de29a241df1015feec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820039a56ccf3559b9c83dca11beaed26c57fdfef866fbb57f785b85afe600c5d404b17314b101e872a2dfc55ff0058200359ad75c385704e77fdb15b7d400343fc29144062b1a945a143e44f0767bfb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d327ff5bf5de3888a8c59f89fb962d4bd79fcbf8e38eb87a5580b57149dd205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003cb274265596773f7c1b9236b2c355107eec1bce56d78d4ca25e2c77eb3d0705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02199402005820020a1e64f546b29329aec3fa488fa699802061177d0f17d3cc27e685e8585c715820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0371d768399021a0000519bd39a38a3a1eae5c56285101464091cdbe5b3d1c3b4a03366f415bd55ecbbe7eccff6fcd9761e2c71eeb791348640107e1836ed3d7b4dd0332ef647c324aede4d179e77ee935927f056a9db07262cdcdc016abef3f790fb60219fbff0365f0a60acedf381f966a28f16afc344296eeb056c626bac6b795fd922d7a9f8e03fe4e415e43ba6470849a9061be252275596235dd252f01882a4447efcb1e8f2300582002f4f2b89df4d2e5d6b91169b9bf7bafe0a851e190861409392d1934c2959dda5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002418103712750b31f872ab2662850c10c569b28320162987c5966fb42ac76ad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002711a8e524a2f5b06027cd08e9e8258d208b24c20f94b8dc2439dde77ec278c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036cece7fab58bd618846c907772de12b57fc8f3ddb4adf025c35e77bc0d3a533d03580acba12d55b3ce17c492cd8dc08108d1da8957b62d54f529c50a0a59661e6d005820022fb098ae017a69afa302d56e425570762083685cd98d75da51149f8d4def815820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a9053f593a1f6ec835b6362b27707f48b25d3aa0a2cf23f4d38637a848219f4a6518cda0b1c38589ea6e03822a2de5c2d33ca8ea252c342a2b77055f0d07c261b129eac920ef248559cf800058200298c908ae00b0f6116b10e0a08b94b63036c52aeff7f277f03b976240202e625820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033819634594575488afbc0e0760196b67e2cec3c38ea980e0725fe62c26e658e0030efe37e30fd79c75a50c18be7f6b509dda447092fe6a5022c6a5e9c3a16cfdb003b1df9e145ee56bf67527ebc0df466e1d8ba20f8fe99c10904515def8838c5a860379250359c7ba30be2f1167769a45b7e7369bed172a92d6af245407d331f50ff602198fff032742bf263b94e9becf19b12cf38a96bd9bbbf08f11b6069584196382b9878f8d03bfcf72cdb6a7e43c8db263f26213eb6b5dd887284f20914fc2f8c361e85d870203f87720b0203b2f589b844dde64c2983ef150137a6019e11b84d2fb64c29071e303986cd183421a24b9b68112018c186d43610ccf275a5aaed6e154a14ed543010e0352045ba4a0c56cbde90a825db735dbb2af31e43855d19d1ac35d106a6bf96811005820020214d1abcd7b9e796026cff621d20476221b3dcb58efc562c8bb9c748b2a1b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03716e42091d025bcb332230499d71795983184ad34c9915c08a9d1cad98fa473e005820039a6061cea19a5a786fb467151c2c1b76dc755e0fd4a58c1dab0d46e700b4105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09004b1731505cc87ac8efe5502e0219200403f0e547212fa88b65c38eb37fcc6a0958fd7ab5a19acbf744bb6bb6d494b7378403521fde223db1d2a87e1b20a078cc5e5de8aec634de03aab1b841beb81dfdda2203573417ae71573223c760b70d60d61e117a2f9a50ed82b57899f9faa888a52265005820023fc5958c07229254d676a9bd8628937cf24af443c28acd3d26af4c359598aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002f4bd5532575b3af5bca8567d2cf5db83493d1226dfaecab961ed9a122685255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032f5c80e0cb0b41e1b323569048797bd02c5a2b57f8fd363a558e2cd5469b609b00582002f3a239edf77108d7f7f7a74273c6be84ffdd1b137a4e0c2197ac11e02ca18c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021977f7039796fb3cf59cd6eecdbbd6b2813a272f453d0ebc22b0e60355cca4481cf51db60058200276d171fb41dbcc9f3454c8d0c0fb9f5d619b634d04d01a4295f7c58a86010a49134c7e11d4c7100000005820025a9b90c23e12758277f3708a3b5744b31e1d2b86b1cb18f1f07e632801f0d75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03337727ca493038b0332d360035bb288aef31cb1a6137169fa565f8e1c0cb2da5005820039da28e461c5879ad32061edd4fd5eae95b8efe748433542be91a1b4b7577f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820034121f0300cf0ffc09a260c37ffdecc7c2164017715496d919513a4e39bbf605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003053219761d63c3a0cefa15b976f62f1ed491f8b2cbbfe38027020ee4a634005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219828000582002408a2676301ffd27f599a18232ed542afd653a30b1081a4fa7febbce875f9c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002758a8b66ebdbaa766ea7ea788dcfc634803437db60b3be033394757538a0285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03fa05cf8e5b273d7c0d6274cef79796df2caeb73772a5a90cd91c59e156d924f203a50df5cdc7a3767e500edbca810f13c5824196e7c4b420f0c9576a2a388b8c6b03d1f935cabb247ba9f993da310c079351ea4cbbbc3a9b6fcdd42bb59b9fd4b0c003d16bb2390df0d409f77e4ac6b3152e41fbd49e9b4eb63dcabf563101dda8958b00582002907446aa06a1b309d230861a85e33ebd50e42e283f23b06924d488aa67c31f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039667441b3f63c82c918fe998b37e217fa573f258b465a031cc29a8588dd5c8ae0318a023f9659f1e4cf391ff0b192617559e829cbfe1e4cb63d6d257ad174301910389221b6a73adf726a63bb31bd97c1ed53b0ecfa80773c1803400eb6f78c0a952005820029308b18ea4783fe0c43cd58aa9c4d8b964d615b4676a2a83bf945f0c7121595820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff03fb0b2ff3fc9de47a5cd0e478bd4aa4231af0bf44d0afeaf50e2898220d313a02035345294ca84c5601afac6c594e27979bccda3c8a36660dcf90a928f8df71b245032cbff4f4eac91cc11b44f6656667f4d99ab9c223bcabe4391e79b8b37ff2b7120058200266f7c1fd711a0120a3ba7459ff30fdf5af33a92691e9fa92dddc6d0ac9014247c849ddbede9c3a031a9d8a9c60d9cda70cbdd99dbfafd3617fbb3ebaa04c9f7a0832d04c1d3c97e8033ddaa57d3bb4efb3def47338157d1b0ee6feadbebc4a8022921846c1fed113a4005820022399867a078b1e9a4451960b567593a08b00e8d2ac3c48be77de4dab03e5655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e66e1787b0cd59250ac8312952a6892a6c4ad9978df5012636dea569556eeb1600582002af93d9e803d8cf56c89ed19c35743a4e59dbb6ecefc6ba98a568fc9698e0c84fc097ce7bc905dc3d483a3fd65c5cf200582003e81bbff9d695a7567643947896f7032e78d74eaca95dd46ce752339d0d54505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04b1448b5fda6fbb28daeb2c100582003e2553d9896c9f3c8395621e1d8fa10703783f7a0ea4a2fde2b926e24beb6305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219200a036d2522242ab1208b3c330437a6ef3fc9fa5e50b748dc7b7904a863732222b7ab03f074a48cd02f6cc1dfdb5ed5e1728f4a51471e37a09c2966a2cca52554bd8744030b4a2a46ade3592a61658cd98a1c08b92d3ec80383fc28d77da68a3f5ce8e56c034ad140fe08dc006596e2728a14022748ed82e19575cd69c5312f68cf5f002d89033453540145519e351219f1c13b50f13195b537b85322545d2ac891cbbf5e75280219fffd036b62899e56341de4459acb2db6d1885cd757b7409571ce2d53f0ca88e94e43af00582002f409c5b0e42e3918c0581956f34b8f6390c441a307037e53d6c513691480f75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026e0e7eb961152ceb90fe444250d7492b9024ff8113eaa1fae46db25fd978f95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820022d4f131aa975be58de752e512087057882d74045e686883fff84dea9f0cc935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033411066860e90c8270595693e1456bb71078edd9e6ceb017c6b867e8b49ca362039d1ce8e428c599581294170a80060e41436b4a467cf5a9cca0409e007fc059d903ca86e2fa7766ed7edcd784c2cafed448c3a2821ebba970b193ff892c68ccdb5900582002fc08a7539f7c0dcc1650f4b4b6807030e8d16a990c12bdeb9bb6cbe14eac5e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820027a8ad9f06d7daae6f40a20750b846190a4012637112976e0c595b6f827e3145820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a54d7bb63b81bfd848a3749d16064b04c651d365776c142e49ecb6a240311cf30308f1566675e78d65eb717af81d7b1a441783f6430d0d8ab022e3740571655f7f00582002e37dcef6e39b5822f8391b7971d7499589c5ee22f44fb82dd8b068193217a85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b3f703a8b58c83114a84a83acf4aa846b0d579e67236bf42c41c2d9604f9198b7544d303b8d4bc2716fb9e3e9753cc0c39410128c6ac5db6d4f0606742a76b89d6013ce10364015955c75fcb5adcbfaef387ef9019f0159f6c19d5bf0c3271629c0aeeb7ae0304997b35554bc96105071b299263a68c568510b8742c80d671712b39dc1c898103296e723936ae6636fdaf9c4f01c1b520b4d17a1120af3897573da8cc6f74733b03746ff590848d072671b4f7a607cba6d1a70202e690bf23875fd9f655f62211c7035ce561cbdf67963c1b6b838166cb1f1fdc7c1b7d59f3a6d0799ef71a7f37fef7030c8ee28221705198bcb9e836e737a4ca5150bdc46828a5e7211dff8a10b86aaf01410400582002885f8ff9206589f122079f29e3eb4c32f6aa41c014edc567ffa76605cc74235820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032f8e1bb7cef82b0f97f8fbb98eef55211c132fe393fbc17610bee191a71d205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003795dcda7cccd247ed8271b43bf8a0e003265bb4157694e052f55418d73ad905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003bb2886f6b608250da5698a411dcd4c7ee39dfbd8e314754eb8e4245b53c1b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02194018005820027b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd58206c5553444652415842500000000000000000000000000000000000000000000003b06b8691f1eff7cc1bb40502f48d47413b3998dcbd573ab25a5327f3ae0ac1eb03ecfd5173f89ac3c0de515a7f785806704ff0546f1810dd6fb526f6e626a9370000582002a5da78a8993bf0b35a582b16df30ec1edf000cd9908fcdbfadf75772a862525820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03de50f7ef61fc66db522e6e64c4b42405b89ef098364a543a1b5c48722aeb07d50219fefe03d4147f555a849990a28cd13e02eac893d0520cb75bccea87edfadccde078606f0341a8ff4990a2edddef1aec803fb3e6f23a8b769fca7153415a8b05bf00fecc530360e0a784441027accca0f4270167613a9dce2947c15e619029136faf948db66c0374a4e403e4b6d55512ab35561e6fec1889053fd951b420aa148efc0b61ae346003f3391842ec1e999a6103dd88d06970210fd80bedf3a14fc9cce887ec1907544b00582002fb9dc62226147df96904fed96ccbde83701f869b5e0c6ffeba1b64516d98d45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002b7614584e614a2ecf05f9321dcfed17bebbbf9ba85e57d8b11f058de40ab0b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03da9b4acf35eefc763e5ea29143c3b5a2ecf85c7f7badd022c750ec011592de4b03c55925384541e7a2f9c9f18be7cc69e08b5d34f32e5fb70bb6056d68da5b50fc005820026f2fa0f06e290ce630eeb4074c9a263b465f83f998197c3a309293313a63e35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0386d7761621ae133851d26ab9bf56d6a343007b3125320d5346909acec04708070363fdbd4a95dca78692346bfca8598561dd6f7f62620103ca22f63d82886ce3460314073bf519ccd1c5a4d9e149f109a6f6de763fe922d7acddc44f1a1514d3221503ed9a580811fa52f6128b744606b990f8d2ae1f63724d8d92584e68712902cbfd00582002da2f58e5c302cd44c5841701fde57ced24e697a93f0e5e609e66089d86640b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219dfff00582002f7ed564241bccdc0a202baed2ff4f4b25ddf6e30aac6ca17efd4fe8d27e4b65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035a141fb3eef36d430f10c44f8a7d2df5d0c9e1fb465a8eb470a781da4f84c97a03d2bfcb019067cf6d25c65869f267083312d8647b1d7abc8980bc457118065dad03c95ae7c5fca9e6231ed617cef8cea88f1dc9b37725c808661930f525c27acbc4005820020c80666abef5b94cf042d6c6125dcefcf33ebc02719a52f670b3b0066575fd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038b1c08af5498b3f5bb0f95efcbceec7d37f82315dfc000e8098328ed9c25912103e0f4dbf8eb174279f80bd533c21909b2e228854ea9779e6f7de808dc04890ee103f00e66d7c593dbb00b87ea292df58e98f09ac2bfbb35f0f4e41d8dc99970eb7003c36a829d58b733d08d17560636a336d5fa3f8edaf95f50ba9782d6fa5ed4d42e030cbf0f1b702cd93dab89115d2eaeafb91abb61cd56fbb123bff1914f8ba5889203e6d3c83d14e1dbe7ed2470757781b7e68f7000a8a6a39a5a50068a68e039bc2d005820026dcd4c059482c7c3dcaf07316f34815776360bd0803d305af95cbd4af5386c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d6119ead0b903f1442d9fc742155994dd6dca090ba7ee1cef4c0cdc88d3ae7850219fafe0344109b94f27554cf4f209decb52f06742c878f38e97e4301253d46444628d4cf00582002d3fb0dcbb7c5f899383ff43ff114858610f526bf50089c6984a8947e07ce4b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c6950edd370aa0e427be30d484582956b910a504607d3dc95d8702b3a581082d03337e03bd031f7e32cc2f823f95a6c2b250af3d6a0bf4dd53d7fb08418da53930005820038aa4462d93a50bbfad0f6db9fb0c3dc2f0c61d6ce3f9bb311092768aa227005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30424e20021988000058200207bc00b0591bdbc1c6d7e34eb81f32df7ed18dce82c9dc5b5e933d90c0366b4fc097ce7bc9062cdd8f00116be6c037030f5e67f5f228f5dc2c9d855d604e2dbfa7e8c34c17405b437172c8483bade95803d0a444d5c4b5dcf8a31524ae3fdaae33a3767ec7a1bff021230805fffd87fdd3005820028085b4b2ff487d44e779cf9fb1bd59d6e5243b19c65d0fa31ecdee3efa49565820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002f691efdc775fb3d68ba12933845ed905884ff38317dd5bb02ab3eb451863cd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c75afd9acbeaf8a358fc7aac541c5c4940b0165f23490210befb49b99fb1033b01410600582003d20f07c34a07a9123441477b829a195425116850a052b84980846d49e9cd405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219010203b3f663258eb6e91d4bc7cdc6eae7c6301d324684b0c36611290ee78104a2d64d03033aeda5c33710dae3def75ba3ff494af3890a54f2ab0a9c4a32db00c33721c100582002799c5518dafc3971b7e5cefa7a385565d2483f5841dd1b61ca34c810cf36d15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820028f6b275969e9778886fb98929f95026571af74256b8f5f4ade46ebbeb4e29f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ef7f0219ffff05581e03074c9849cd367c52b1e47c387c78b7592025fd689d404ed55159f4c0b00701182d03f759d68baff322602670329e9b3ed1b70f95b9b9282dacc31a1931d1d5c589bc034fd8f3d5d01ac986870f5c4c0c761fdf3e519b14f67e1ebf90c7046392ceac5403f5983c2ab9d5ea76fae7414ff89753f000f2199a4eb4250149c20046ac55024005581e031bb8f8434b410efac8e47a9ecf685a1f57d1d33a2ec930bfcb5e41f32007011bffffffffffffffff05581e034a914acf3362a8d7b334c9e892c143ac21bee79e9894f3521ed3a89f80040505581e03ffca865c02dfcaa91f3fff3a40138307d72726a788f538a9f0c76856000c014702de59239218700359f04df810e602d3884eb3de786f8d761555745423aa8105684844ee8b60b74e037ee12e12c0d95bb3723e606336c6cb0f2f0f6374b7f606c28c7242bdf4d3b05a03152549a33abfba4539b3cc6d243ce69a47343f6b4c3933b42e5c69987c8e1b7a05581e03d1532aed63c036d4c588ffe62c2d5c013a76c4b5836d8585d359cfad500c0747c1b288e412a7f305581e033c69863dd38f660ca83d3ba2d18309f15b03aded288ab8f7d7ced351000c0347152e773ac4c18a021977d503e30a8475df5b94e14e193a9a6c0c04dcb9dfa2807d42895597db7f881846091103bf881d9b2eee58e9cdba19a42d215d98fc45bffc3b37e5e10ce4d764e564fc6f03f5a8b1bba3720cd3b6c9dd602527a6e82b97750b6cfda10fef5718d5565f8181032e1bbe7524514c22c019f0bd6a50f8f27e38a302b62efc721dd4681dd6fd8090034c4b0df089ccb7337645fe1ab8d46b44bff4ca7075744057f18828ba02162ebc0362d993211216ea5555b521d95fbb72395d59595f97a66b89da9563e5adaceb6b03a959fae6b3c8b3e43c8525c959ead299bb1df33ab1b6c9a97f1cfa49369d4cfc0360f60cd0d6d0c073b202d641bae81b893ade850f3e098a9d471af2e683545a8f03da9627bbf2dd446671dbee27bbac9194512c3bd28d8de44bc18d8128dcddeedf039e40c28089b1f286c11511dcbd4c4c6eb2c73681837759ebc1641d70d6474707036b8d7fae7b3c262d33fc995517d38f5cc0191eb7da371646d73b75df962e37910219ffff03389140763fc1b0f6a6ea8798ffe7f1d7b92c1dd7e2ec8aadc6e8d6d53f4d6b3b03279881e729e6c578553bc9e965f4aff674568f69d9b7b63042c60d7fdb7844b903b05f1b592be0e172802753cbc4a789f7191c63dee6dd7c37e32d00e222ae183d034f8a149ea4f05364cbb78b4489c2003bba82caf31ae71ef9b38075ff828530e40340175092ebfb42a8da2d6f8a20fd310a2e7890532469410825cd095a63c52d4303416dee0f3498f7ecc86d092748b5991f89c39014075cebba8ef6c458a81e67e603818df6d2ad1d75ae55cd9f08d4de4003294dd9ea08378cdaf997e486eb543b2803451ba86c6daedc8c264702d3f88108804049a2647685c97abf552963ea0c72c703f1c560881b77d3b40b236569076931dfb83c2795e00b6d1016826a12e2028777032e6c85024bd45c29b0498de580c7a012a17d198ccecd12dcedfefed33229bcc60219ffff032f00a0f323faef820b3e1dcd17671d9a36cf5b68cb0bc3263daee60f678cca1d0387a714b9904d7e4b6b8676d04acf6fa5f4aaad1a3f35bd8dc0c63a6aca12e47d03d961beae36174adff6b6203a456fc3467c56091754aa2f956011ab2ad045c7b6036164023dd68795df52b8879a416526c004a32fe7c1e60b8a34bb8bc7bc99c53703d57ab860d54b9df210ab30c585e874e01f6b4be740a602dde29ba11757e8ba560331c0d4b18fd03d162a5b3b99aa1821f56d527a223dff6b2337d748ee682b02fb030405a8906eb6d27325e94d6c34a3ebd8fe3fe530967c54b44620320b4890ce1503de72fd4b35dd72061d6919fb5c2d4731d35e8451abe038abb13d5514c951bca20219ffff033c8c96c3dace2b049b9d75ea98e298b83b1863adaf69407ad8edf1596213a73003b619a188d761f0d812217a7a3d6a00b96b18b36dbfa1e9ab4e1006513e31bece0337e1d8785f80c8cb9fbe1718571b8287fe066d1acf277433ab31930101e3b14f03511ab862f98f6f6e4cad8b29a04b1173c02a5e5624629fc2b61817808bc002d6039af893b340063d8fb3d40429853648024d12f34a412e1099064ce10b6ab175980328c9b2d4d227fcc5299208c136039b76202dc2eca368a5f78ba4596c59a0d0f60316b2c2017fbc6dc9077a2c3fe6a727c7355a42871c3e0ef97f6014b69506ac19032a1f75b6f2a1810567151310aa4aefe9ac51322c9f3402d841c3f5ad20843cdb03656137c4ad966afe0ef091346f649789cc14d9c4e2e6542f5d1debd106967af1038bde5277a3a83aea6eedd60a7852ff1de988890d22774c1c963a2569cf92b371032e13611427407627a98a7308b5f7f7ef70b9e88a356e12562eed9a79857cf3410388995799e7104a79bc15faec29ac07a844484b9d20f61c57e5ba0b8291bebcca0357036522f833ac453cdf75f010454bb9885a9cbc041939c4df9ef40f78d300a903000d9c8a48e625200e28eaaf322d09e4c59a2babc643f8cdb53220b1799b1e5e035bc5f68a7b533846b8c35c902cde0b082a9a0bbe3597b8063e053b3b1d4122ad037c091e7c5f313ad997754974784e13c7d3d78554286295e3bdef83ef8ab9279503355370c63fda7ff4d71f5723ca2dc6968f88bf71de4ddb6db9866a7b03670df403336ae1b908ce383b802d308e7a93e701661433f3788adba1a8b7012de436f01903a0700bbf6cc8a845549fab42aba560668472e5aaceb39bbb3c53b1ee0e99154403ec474bee50885ec12c5b3fbe38492d554eb48cd48433aa13988fb0c399bf0ddd0338e389f37553faae56f03cdc380562ea9c7d657996addf17838ca24d1b8889bd032226e2d3afdb8f6063f6573ce8d52d33a4afa7eb1cb07977d4cb1ef7aad88ce703eb06062a5f7dd44eb7a5566645a7f033022472866f3fb23ef782d5516c1c05f703484ffbf383437a7daa09d2a0507d2560a300c843588a0483b4c9b61201f5a0280366a07a767cb50a75628726e6ffea92cf9f98ed370e5b8ff37f23e8d17583bf89036f029d6c959b8f7a8b1c75dbc39241ad22f831c594c9f219919d14819538560103e3e14313766e581527477a7e41d3953dfef932a9d7a7a1b34dcdc20fe00d601503207d1610ac34f7c9c50d19fff5b033842cc095902e8bc0c281ca870515f2e2ca0395a3dc0faacb9575b0b38e1cb7a13430953eb42628a6530a52f45b673df0799d0334881a20253bfc0bba10ea6ba102e6012dafa0622602783eac27c07f75a93e8d03e408679e927b617f1e4c7adf97483d432102b0b3226daae8c7dc027b4e4ebbd7039a6a6172802dcafc0b30ab298afe7167d56b7213c23d28ddfd7167c43667c15903a7ffbd4f2b261c6c23154887b823714da1dc980a40398a615b39410ff37d266703115c2ff4e347ffb540597b9ac498b4d94ac3b0014d7116a9a29b3af4597d4cdf039e248736f87cfefa5c4add255952a7954748d6b0eb00db4f12dbe0747c5e5e7e03142550dfc05ee59861b8048a398954562e5fb14a8c98b55ed6e8bbe25d0cf503030c8081f3a75109d67f08f829e1702c86465fecded64665b941566d902c0515b80356893a8bfe9df6c4d2cd9a92caf9ab1bd6041b98530e47f16f04583d2606d1e2030b8ab2bea8a3ada8ab88c4ebec37c550175b673a9acf15eecd743f7aa08a1ffe03ca2897454f50c0d5a01858c6f2ae29fab7a77137ab6828f99b82d66452fc307b03949c9cc1bab14b21311149fa3644c3820a9eafe6d5027c325b80ba32cfce59b1037f9c535ab9ec05cba05ba8bb841ee0cbbf77876163721a3c07191c904ebdcb3703991dc525cd53d1a798338ef9e42b5f7082a4906713e72e1ae55925a150d0f53e05581e03a186cabc9f96d7a9e648738c5255763f5abe73e7415ffc83dd7b284ea0040105581e03dae065f2bfdbad1519f733186fe6ffb9efc76c1c80842503d36c48a0100c0246cff9c9c7600805581e0387c8cddb89b2dc6348b3e06673b23373f073cc2533fd1d39968d89b1a00c054501cf97787103e207a001535ac179ee0761657c5f757e9e9f80e47c147464442a71025c91b531014100031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d02a657ce428980144da34cd03f38116adb93850705c8304ea74790e48007011bffffffffffffffff05581d02ccca1668f87a460e6c02b999f8edeaec6c524ea9a9eb72d76d6921af0c181e4710ccc69acbaa00045935fd60806040526004361061014e575f3560e01c8063715018a6116100b5578063a9059cbb1161006e578063a9059cbb1461042f578063bf474bed1461046b578063c9567bf914610495578063d34628cc146104ab578063dd62ed3e146104d3578063ec1f3f631461050f57610155565b8063715018a61461035b578063751039fc146103715780637d1db4a5146103875780638da5cb5b146103b15780638f9a55c0146103db57806395d89b411461040557610155565b8063313ce56711610107578063313ce5671461026557806331c2d8471461028f5780633bbac579146102b757806351bc3c85146102f35780636fc3eaec1461030957806370a082311461031f57610155565b806306fdde0314610159578063095ea7b3146101835780630faee56f146101bf578063109daa99146101e957806318160ddd146101ff57806323b872dd1461022957610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d610537565b60405161017a9190612554565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a49190612612565b610557565b6040516101b6919061266a565b60405180910390f35b3480156101ca575f80fd5b506101d3610574565b6040516101e09190612692565b60405180910390f35b3480156101f4575f80fd5b506101fd61057a565b005b34801561020a575f80fd5b5061021361064e565b6040516102209190612692565b60405180910390f35b348015610234575f80fd5b5061024f600480360381019061024a91906126ab565b610671565b60405161025c919061266a565b60405180910390f35b348015610270575f80fd5b50610279610745565b6040516102869190612716565b60405180910390f35b34801561029a575f80fd5b506102b560048036038101906102b0919061286f565b61074d565b005b3480156102c2575f80fd5b506102dd60048036038101906102d891906128b6565b61086b565b6040516102ea919061266a565b60405180910390f35b3480156102fe575f80fd5b506103076108bd565b005b348015610314575f80fd5b5061031d610954565b005b34801561032a575f80fd5b50610345600480360381019061034091906128b6565b6109c3565b6040516103529190612692565b60405180910390f35b348015610366575f80fd5b5061036f610a09565b005b34801561037c575f80fd5b50610385610b57565b005b348015610392575f80fd5b5061039b610c86565b6040516103a89190612692565b60405180910390f35b3480156103bc575f80fd5b506103c5610c8c565b6040516103d291906128f0565b60405180910390f35b3480156103e6575f80fd5b506103ef610cb3565b6040516103fc9190612692565b60405180910390f35b348015610410575f80fd5b50610419610cb9565b6040516104269190612554565b60405180910390f35b34801561043a575f80fd5b5061045560048036038101906104509190612612565b610cf6565b604051610462919061266a565b60405180910390f35b348015610476575f80fd5b5061047f610d13565b60405161048c9190612692565b60405180910390f35b3480156104a0575f80fd5b506104a9610d19565b005b3480156104b6575f80fd5b506104d160048036038101906104cc919061286f565b611238565b005b3480156104de575f80fd5b506104f960048036038101906104f49190612909565b611357565b6040516105069190612692565b60405180910390f35b34801561051a575f80fd5b5061053560048036038101906105309190612947565b6113d9565b005b60606040518060600160405280603c8152602001613564603c9139905090565b5f61056a610563611465565b848461146c565b6001905092915050565b60125481565b610582611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461060e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610605906129bc565b60405180910390fd5b5f600d819055507fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de35f6040516106449190612a1c565b60405180910390a1565b5f6009600a61065d9190612b91565b633b9aca0061066c9190612bdb565b905090565b5f61067d84848461162f565b61073a84610689611465565b610735856040518060600160405280602881526020016135a06028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106ec611465565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fb69092919063ffffffff16565b61146c565b600190509392505050565b5f6009905090565b610755611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d8906129bc565b60405180910390fd5b5f5b8151811015610867575f60045f84848151811061080357610802612c1c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506107e3565b5050565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fd611465565b73ffffffffffffffffffffffffffffffffffffffff161461091c575f80fd5b5f610926306109c3565b90505f81111561093a5761093981612018565b5b5f4790505f8111156109505761094f81612283565b5b5050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610994611465565b73ffffffffffffffffffffffffffffffffffffffff16146109b3575f80fd5b5f4790506109c081612283565b50565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a11611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a94906129bc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610b5f611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610beb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be2906129bc565b60405180910390fd5b6009600a610bf99190612b91565b633b9aca00610c089190612bdb565b600f819055506009600a610c1c9190612b91565b633b9aca00610c2b9190612bdb565b6010819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610c609190612b91565b633b9aca00610c6f9190612bdb565b604051610c7c9190612692565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600881526020017f534c55474c4f5244000000000000000000000000000000000000000000000000815250905090565b5f610d09610d02611465565b848461162f565b6001905092915050565b60115481565b610d21611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da4906129bc565b60405180910390fd5b60148054906101000a900460ff1615610dfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df290612c93565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610e973060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610e839190612b91565b633b9aca00610e929190612bdb565b61146c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f259190612cc5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcf9190612cc5565b6040518363ffffffff1660e01b8152600401610fec929190612cf0565b6020604051808303815f875af1158015611008573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102c9190612cc5565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306110b3306109c3565b5f806110bd610c8c565b426040518863ffffffff1660e01b81526004016110df96959493929190612d17565b60606040518083038185885af11580156110fb573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111209190612d8a565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016111c0929190612dda565b6020604051808303815f875af11580156111dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112009190612e2b565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b611240611465565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c3906129bc565b60405180910390fd5b5f5b815181101561135357600160045f8484815181106112ef576112ee612c1c565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506112ce565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611419611465565b73ffffffffffffffffffffffffffffffffffffffff1614611438575f80fd5b600854811115801561144c57506009548111155b611454575f80fd5b806008819055508060098190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036114da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d190612ec6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153f90612f54565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516116229190612692565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169490612fe2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361170b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170290613070565b60405180910390fd5b5f811161174d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611744906130fe565b60405180910390fd5b5f611756610c8c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156117c45750611794610c8c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d065760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611867575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61186f575f80fd5b5f600e54036118b7576118b460646118a6600a54600e541161189357600654611897565b6008545b856122eb90919063ffffffff16565b61236290919063ffffffff16565b90505b5f600e5411156118ec576118e960646118db600d54856122eb90919063ffffffff16565b61236290919063ffffffff16565b90505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611995575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119e8575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611ae057600f54821115611a32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2990613166565b60405180910390fd5b60105482611a3f856109c3565b611a499190613184565b1115611a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a8190613201565b60405180910390fd5b611ac66064611ab8600a54600e5411611aa557600654611aa9565b6008545b856122eb90919063ffffffff16565b61236290919063ffffffff16565b9050600e5f815480929190611ada9061321f565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b6857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611bac57611ba96064611b9b600b54600e5411611b8857600754611b8c565b6009545b856122eb90919063ffffffff16565b61236290919063ffffffff16565b90505b5f611bb6306109c3565b9050601460159054906101000a900460ff16158015611c21575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c395750601460169054906101000a900460ff165b8015611c46575060115481115b8015611c555750600c54600e54115b15611d0457601654431115611c6c575f6015819055505b600360155410611cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ca8906132b0565b60405180910390fd5b611cce611cc984611cc4846012546123ab565b6123ab565b612018565b5f4790505f811115611ce457611ce347612283565b5b60155f815480929190611cf69061321f565b919050555043601681905550505b505b5f811115611e0557611d5e8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123c390919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611dfc9190612692565b60405180910390a35b611e558260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ef8611eac828461242090919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123c390919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f9b848661242090919063ffffffff16565b604051611fa89190612692565b60405180910390a350505050565b5f838311158290611ffd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff49190612554565b60405180910390fd5b505f838561200b91906132ce565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561204f5761204e612733565b5b60405190808252806020026020018201604052801561207d5781602001602082028036833780820191505090505b50905030815f8151811061209457612093612c1c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612138573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061215c9190612cc5565b816001815181106121705761216f612c1c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506121d63060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461146c565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016122389594939291906133b8565b5f604051808303815f87803b15801561224f575f80fd5b505af1158015612261573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156122e7573d5f803e3d5ffd5b5050565b5f8083036122fb575f905061235c565b5f82846123089190612bdb565b9050828482612317919061343d565b14612357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234e906134dd565b60405180910390fd5b809150505b92915050565b5f6123a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612469565b905092915050565b5f8183116123b957826123bb565b815b905092915050565b5f8082846123d19190613184565b905083811015612416576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240d90613545565b60405180910390fd5b8091505092915050565b5f61246183836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611fb6565b905092915050565b5f80831182906124af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124a69190612554565b60405180910390fd5b505f83856124bd919061343d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156125015780820151818401526020810190506124e6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612526826124ca565b61253081856124d4565b93506125408185602086016124e4565b6125498161250c565b840191505092915050565b5f6020820190508181035f83015261256c818461251c565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6125ae82612585565b9050919050565b6125be816125a4565b81146125c8575f80fd5b50565b5f813590506125d9816125b5565b92915050565b5f819050919050565b6125f1816125df565b81146125fb575f80fd5b50565b5f8135905061260c816125e8565b92915050565b5f80604083850312156126285761262761257d565b5b5f612635858286016125cb565b9250506020612646858286016125fe565b9150509250929050565b5f8115159050919050565b61266481612650565b82525050565b5f60208201905061267d5f83018461265b565b92915050565b61268c816125df565b82525050565b5f6020820190506126a55f830184612683565b92915050565b5f805f606084860312156126c2576126c161257d565b5b5f6126cf868287016125cb565b93505060206126e0868287016125cb565b92505060406126f1868287016125fe565b9150509250925092565b5f60ff82169050919050565b612710816126fb565b82525050565b5f6020820190506127295f830184612707565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6127698261250c565b810181811067ffffffffffffffff8211171561278857612787612733565b5b80604052505050565b5f61279a612574565b90506127a68282612760565b919050565b5f67ffffffffffffffff8211156127c5576127c4612733565b5b602082029050602081019050919050565b5f80fd5b5f6127ec6127e7846127ab565b612791565b9050808382526020820190506020840283018581111561280f5761280e6127d6565b5b835b81811015612838578061282488826125cb565b845260208401935050602081019050612811565b5050509392505050565b5f82601f8301126128565761285561272f565b5b81356128668482602086016127da565b91505092915050565b5f602082840312156128845761288361257d565b5b5f82013567ffffffffffffffff8111156128a1576128a0612581565b5b6128ad84828501612842565b91505092915050565b5f602082840312156128cb576128ca61257d565b5b5f6128d8848285016125cb565b91505092915050565b6128ea816125a4565b82525050565b5f6020820190506129035f8301846128e1565b92915050565b5f806040838503121561291f5761291e61257d565b5b5f61292c858286016125cb565b925050602061293d858286016125cb565b9150509250929050565b5f6020828403121561295c5761295b61257d565b5b5f612969848285016125fe565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129a66020836124d4565b91506129b182612972565b602082019050919050565b5f6020820190508181035f8301526129d38161299a565b9050919050565b5f819050919050565b5f819050919050565b5f612a06612a016129fc846129da565b6129e3565b6125df565b9050919050565b612a16816129ec565b82525050565b5f602082019050612a2f5f830184612a0d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612ab757808604811115612a9357612a92612a35565b5b6001851615612aa25780820291505b8081029050612ab085612a62565b9450612a77565b94509492505050565b5f82612acf5760019050612b8a565b81612adc575f9050612b8a565b8160018114612af25760028114612afc57612b2b565b6001915050612b8a565b60ff841115612b0e57612b0d612a35565b5b8360020a915084821115612b2557612b24612a35565b5b50612b8a565b5060208310610133831016604e8410600b8410161715612b605782820a905083811115612b5b57612b5a612a35565b5b612b8a565b612b6d8484846001612a6e565b92509050818404811115612b8457612b83612a35565b5b81810290505b9392505050565b5f612b9b826125df565b9150612ba6836126fb565b9250612bd37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612ac0565b905092915050565b5f612be5826125df565b9150612bf0836125df565b9250828202612bfe816125df565b91508282048414831517612c1557612c14612a35565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612c7d6017836124d4565b9150612c8882612c49565b602082019050919050565b5f6020820190508181035f830152612caa81612c71565b9050919050565b5f81519050612cbf816125b5565b92915050565b5f60208284031215612cda57612cd961257d565b5b5f612ce784828501612cb1565b91505092915050565b5f604082019050612d035f8301856128e1565b612d1060208301846128e1565b9392505050565b5f60c082019050612d2a5f8301896128e1565b612d376020830188612683565b612d446040830187612a0d565b612d516060830186612a0d565b612d5e60808301856128e1565b612d6b60a0830184612683565b979650505050505050565b5f81519050612d84816125e8565b92915050565b5f805f60608486031215612da157612da061257d565b5b5f612dae86828701612d76565b9350506020612dbf86828701612d76565b9250506040612dd086828701612d76565b9150509250925092565b5f604082019050612ded5f8301856128e1565b612dfa6020830184612683565b9392505050565b612e0a81612650565b8114612e14575f80fd5b50565b5f81519050612e2581612e01565b92915050565b5f60208284031215612e4057612e3f61257d565b5b5f612e4d84828501612e17565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612eb06024836124d4565b9150612ebb82612e56565b604082019050919050565b5f6020820190508181035f830152612edd81612ea4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612f3e6022836124d4565b9150612f4982612ee4565b604082019050919050565b5f6020820190508181035f830152612f6b81612f32565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612fcc6025836124d4565b9150612fd782612f72565b604082019050919050565b5f6020820190508181035f830152612ff981612fc0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61305a6023836124d4565b915061306582613000565b604082019050919050565b5f6020820190508181035f8301526130878161304e565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6130e86029836124d4565b91506130f38261308e565b604082019050919050565b5f6020820190508181035f830152613115816130dc565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6131506019836124d4565b915061315b8261311c565b602082019050919050565b5f6020820190508181035f83015261317d81613144565b9050919050565b5f61318e826125df565b9150613199836125df565b92508282019050808211156131b1576131b0612a35565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f6131eb601a836124d4565b91506131f6826131b7565b602082019050919050565b5f6020820190508181035f830152613218816131df565b9050919050565b5f613229826125df565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361325b5761325a612a35565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f61329a6017836124d4565b91506132a582613266565b602082019050919050565b5f6020820190508181035f8301526132c78161328e565b9050919050565b5f6132d8826125df565b91506132e3836125df565b92508282039050818111156132fb576132fa612a35565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613333816125a4565b82525050565b5f613344838361332a565b60208301905092915050565b5f602082019050919050565b5f61336682613301565b613370818561330b565b935061337b8361331b565b805f5b838110156133ab5781516133928882613339565b975061339d83613350565b92505060018101905061337e565b5085935050505092915050565b5f60a0820190506133cb5f830188612683565b6133d86020830187612a0d565b81810360408301526133ea818661335c565b90506133f960608301856128e1565b6134066080830184612683565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613447826125df565b9150613452836125df565b92508261346257613461613410565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6134c76021836124d4565b91506134d28261346d565b604082019050919050565b5f6020820190508181035f8301526134f4816134bb565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61352f601b836124d4565b915061353a826134fb565b602082019050919050565b5f6020820190508181035f83015261355c81613523565b905091905056fee19495e192aae1918c47e192aa4fe19687e197aa20627920f09d939cf09d93aaf09d93bdf09d93bd20f09d9395f09d93bef09d93bbf09d93b2efbfbd45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220a30ae6b202a2c63353d0a9f8ffe94ddf20b7f755448c6c20d372c994fc9d79d964736f6c63430008170033005820027127b1775ab1b1230b39d89541aa1a672aec0395b2800e1bc78dd1696d5d5a470a326322078a3603ba88ea92d25a50ebf1ee5483c9d99f44c9c0132623cfb19b69391201c58ff9ad038032eee7f9bef583f30a16f33a96aedf4a7a3a8b05c426d081d5c46971a1ffd4005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0544cfb079857e57181e4a0ae982d5c0589ba2e9bba005820032e8231d9e8623cf313560efd3179ba1ac846088358c4f83b936c0f7c2e64705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030d6a822ba1b54ae3dd834bd0630b28110592fecfb1cc04c901f8dbb7e9f8504710465c1821d8bc021980020312fa53e4d990b83141d619297faaefb16ae9458f7c09052df3e8116b15cabf2b03cfbb3fbdb4efbf0961dfefe0586fdd82c84a285baf2b3342d152dc85f728c80400582002c87fffccb186c14c18a3fd285edacf032de42c584a0f674b384635d0ba8c6a47b1a2bc2ec5000003b5796b3566de28f439f319ecf59b3b2949dcf7b10a78cca8f09c5f1c5be0aa07034a96470edc5ea54ef669f54624cc2c1b0d411bbb8c33614838c9f88e61c67ccf021986ef030af9080e9a850518e44079900796674d4881242905bf7d033003be42a986c38000582002b8aaedde86c357ec81e9367b8b3badb5cf421a06372d6bb60eb93fa361fef7470577d6376f815d00582002c47e05f62c399d6fb582543e2bbacd0e40d36a390042ee91005827e67f6d2b475f86858151818a005820022f29af123b26d74dc38762d005c07fb1d0d4162b565d2db0cea6c22c67c9d05820fffffffffffffffffffffffffffffffffffffffffffffffffff31c302dd18de100582002f4c61c9789368599804adfefa96fd6315b44941b6c0422af132961366c79765820ffffffffffffffffffffffffffffffffffffffffffffffffffc893e1f580ffff033dd6dcd5909435de658c66003655f6a2f067efea3835f0a51f76694db853cc6e005820024f5daf837ded91c4abadb39030a45283488a7228d883c4c6aa40110ce19a6c5820fffffffffffffffffffffffffffffffffffffffffffffffffff5267e69036f860058200229b1ff1ee3fa1aad4700cbbd703d9d78ae24646f651cea3e0ff872f1f6a08b4726aef922e6e475005820026847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672480de0b6b3a7640000034fd584e398fdfcf191087990509696c1acfc838225fb2e9dd2bf097ff3fc2b470058200281f01dbbc38e8e72376f52805012fab5bab20e6043dcc20fb316170a60db34470c27e06e4a696102196fbc00582002c58f8a3df733c96208472d83b00c6e11c3fb2f4d10a5f9b35c9efffe5ec49f5820ffffffffffffffffffffffffffffffffffffffffffffffffffc8dad2bfcbdfff00582002c16942d2d1aad35a82a1dde83b45f090c6f30d7ef7eea555b17247102732734708abc3edc2dc7800582002e215f77f487d276ef51513be9a11153a24b8c7be1bec0b10d3b9fbcde166d04708402b881ae73000582002ab3a490a29e3c5f881b7bcc35091751bf0653e27043b204c2f757094cea9bc5820fffffffffffffffffffffffffffffffffffffffffffffffffff4099725fdef39031a0d36d85e166dd917f463d35d7fc90eff96bd0a32a2ac542c7ad58da733227d031c4f014cf05101c5a2b3d44b9481a17736fa0adf09b89d3050c2cf567bb526430058200237896c3b417bb9c0fa4dc952044ecdd1ed565e0cb1ebd9fe1d9cc2736d49ea4716bce13f6ed41003eede43ca10057216477490d958e11b8556a002a27aa7dc91ea1c41c6f3e77b97005820027e2fa9214a6447f4d8a77bc459599c4cb053ea8eb555333b9f883c809c0d4f47199cde57cc1cdd0058200261755af9050f7ce03b3fc37000709ad8d13cc8cab1eba43d0146df57e3f4fa5820ffffffffffffffffffffffffffffffffffffffffffffffffffc8dad2bfcbdfff00582002413fcb0c475447e86c280e36350da5e3c93cc2faedb9978109405c81323f5d47ba091908c43001005820021312cd13ba36ed336fe145dab7a33d4f11b9c4d8208d5c9c2a82e0c1b119c95820fffffffffffffffffffffffffffffffffffffffffffffffffd942cf56a8d150000582002942f7b3f982be41439ef077b9c73ef1765790cbb96d4ced784a3ef430fcfc85820ffffffffffffffffffffffffffffffffffffffffffffffffffeb6a1c4de6446b03ab36ea9a0bb7a45168df435c0386ff7f1a8cb6ef70fa16ce8bf1debb64bfaeee0219bfef03603ae97815688af1c2f29edb3263364b24928dff4533fc6a3b7b6cc1f151f944035f014417dfc6b9e1bb4ffdd3766fa9a567f4228a41367b51cefef8eb1eca8a4003a66c644334c194086bfe41a1840bb670c80511a8b2fe72fb6202e6d6aded472a0058200201639f37636e8124d255bdc716b9221c345be2eb48ba01d7af88cdaeab78604710cd1044d3e1c7035451e36ea0805c9cf6d759b45d233f1ac70d8b98b72970c63f8980add356592f00582002164f57a061e789f589480292fe9843bd387268520358c940947ef27654773c4704f188cc46449f03e3aaa40920eda9356bd7124d5455707d0449a3fb2ca04296e36ee9c178624b280325d25ebad8f3d65afab17fd47df3f9bda0b65d44194c58c15b027d3f91c2b197005820020205700091de5afa60ec2dd74140f114329e728229fbd05d86ef8528ac5c1258200235fadd81c2822bb3f07877973d50f28bf22a31be8ee7ffffcee3538e7677c403b89c014186ad7ce0062bdbfa9975f0bfc77c93b26c4d9f2fd6256ab32af21ce70058200232a2abd35ac6d515630c0dd224858510fed3fa2a6ceeeffdf53215d3ae73df47050f25d8b15fcb00582002a7581e5965599390b75cb2d38555bc6f37c919d095d6ca32187d5c741f5db75820fffffffffffffffffffffffffffffffffffffffffffffffffff66e169d29a4300058200235052f824812c699d59a166e169657f0b03197832298922f2564b35d7a16b1410100582003d67d12d5119ba6295a5f07f761ce18e73821d99798012025445c7b12d95b405820ffffffffffffffffffffffffffffffffffffffffffffffffffefcb88b1daa4d5005820035daaebd3c0a244b6836867984d1a7fa63e7ab39ba1cce1d8e7494125b393904802bf71987a9f3843005820033a4b8718c74e17c554356ceded5ad03e6be2a071e8a8296aaecfd4a56fb1804101021944010219ed3f00582002770af4584021856aaa9579aa163f4085122856d9e1769387452e1b6cef6c405820fffffffffffffffffffffffffffffffffffffffffffffffffffbbdc6f2e833de005820029ee53175b461fe91fd4b1a14a3d344b99bdd192fe1d9d5361ca12b41e1deb158200235fadd81c2822bb3f07877973d50f28bf22a31be8ee7ffffe26396e245d5fc0058200298c1c65a7c1708104a5fd05f101e3517b58982a82961bdca3c7670106d79dd4101037f578b7a60a2e5b687d972de3be500a16f2d4296c5dfc67cb859f376a0f8f44200582003ba5060a84fc78db2b1d329c25bf384a889f2266e02eb2611cd35ffe4b853605820fffffffffffffffffffffffffffffffffffffffffffffffffff98d0fc212449c00582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900547a250d5630b4cf539739df2c5dacb4c659f2488d00582003501132807ef9a1a650861385bfb5a0bca8ca2b2c8971451b95a3494617fa605820ffffffffffffffffffffffffffffffffffffffffffffffffff72c7e693c34a390219a00803ebb07ef50181e704c427c2d16f4c49b2b39228dc3f8dedf82498ba33358779d30321deea50019fdd5a7c61a4d78c6336d2ec351b30cacfafe02a5047cd2834864f0359cd72e0af1df6d3f791bf80f4e0b2c693e9fae6eb22a95d2af6e11b874904b500582002e0ac2afccbb2b94a1875c115fb1bb7880423038d4bc2030552cd5e9fae471c471663070f0bac9e00582002268e3cf6c8487bf2c094018b7d12876e62856c06f66f89a60d5d7b1dccac865820ffffffffffffffffffffffffffffffffffffffffffffffffffc9d0664a37b45f0219d67303baed48c0ec53e382ebf82ddf3e9d29c6946a247bb3328e6cd095f958f447c92803570b7d2165aa6ebc3bb5a3de662ec9da2ab6f7d5450d2fab38e8362f2292f131033c2799367e349db8fc74f0bb6fcc19dfc4b5a97dc61c62d746d6d57806c0061101410f00582002055d3b6cbc8877fe6aa728928a98df97da99c84f2630c20b5e10590a67570858200235fadd81c2822bb3f07877973d50f28bf22a31be8ee7ffffde8bc514cacaca00582002deabf40bbe99e7dc26a16ce8bf661244eead7566c06b8c0347f093c14a50915820fffffffffffffffffffffffffffffffffffffffffffffffffff1ed3b2e4d2ab1034acb3597f3f9562a48136f7e2353d86e9f3d704bb0fe4047c8424631db7f6fc800582002025c5d49a90b50fb605a36a06e4f2da9781252d735c242e49752af90ab5cf65820fffffffffffffffffffffffffffffffffffffffffffffffffff30757ec7a9ddd00582002db806135c49b4d704913d06c91af2f2ce75e3ffe972b6e65ec67ebedb7c86a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bb62fbff6d47618145672841fcf585745bfd740b5ba0d69f5c68a06a3523b49a00582002890190e97e8751b73165898760da496ebec9527fd3a6264686eacd9745694b5820ffffffffffffffffffffffffffffffffffffffffffffffffffde1b07a658b2db03e508e07b1089032bf80304b8aa1665a135f5faf2eb5621f826222d1cdffadb920058200224e42dc90deec4ca5b7babe1b1adb1585912910c6fc9d103bc06373a49644a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e61dd665f38c85554943e8b8e99f93f87677f4afb7a3909c73bd9847b242a0410100582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020480de0b6b3a76400000203005820026245641a0e633fe124241e823123c04a9a8585d7072637338446af39f379724708ce780afa99200219bebf0334e136df574c81755b4ca79dde15ef0ea722058e693a3cc0dda45a460eb82a0b00582002f24dd8c033e73ab5bcd366b265ecde67f8fc89f07c8264f98d103b52acae474707f1493cbebb52005820025f60c6cf937cb9fddbb246da47c93d00d0ba1bc951b8ec7d4e894e70de8a205820fffffffffffffffffffffffffffffffffffffffffffffffffffb91a29190d040036e8121fa9018255a76fa3419e41ee7b44c2d8cbb8d61dc44e9c421bba6e33f6303ff1b8eca8b3a22533c2516bd0edd234f69d2408417eaeb49d85f2408bf2e764a005820028b37f6dcb3e326c22697fa6a7008fc0350a2e9ff198d40ce892b29ce1be6245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002e8148b2262c78a37b76732fe439bd0f24292f95313c7f11c9691f745ffb0e44cffffffffffdc8ef3184bf0c003ee737eedbf1548380f2bb8f96721c8044510b17e0af6ef53a9daf4a091c4b49c00582002fe119ad6b944a5deec748b22f51ad8d0011f73dbb02f073524b86f52dd4d25470198c58d4239ae005820027a7f5c5589afb721723aba9b4a9d5e5adb7a5ecabb72b94aeba843e0c9f6cb4752aa39c304c62b00582002f84ea0004afbba23032f72732002a1169fe4003945ee308c2dc5f936a339e45820ffffffffffffffffffffffffffffffffffffffffffffffffffc8dad2bfcbdfff0392e7f8789f79606670a651415e64af6391dd98a91dc8a1723e7ad1319bdbc846034e1ebe2e1c2c1ee0489ce4a1c36b5aa43d9e82cda26985871facf8308240be940058200263acd56fcb2f339fb3f7dedb16a10f2aff189c738a182fbc77cee7ab5608a8470db862e0d8a74702197eff00582002ad4027f446c37fa5637ee66534dcc4b55505696b348b1627176ca8cf5b1df6410200582002022610e5d785b247293a6c4d9368b61f683aa02b79d5534f6a18f1073e55a7471fa2221186203500582002382c5656e51d1a654077ed0d5f699fb1ee837f174f9dbc554546ac71635c685820ffffffffffffffffffffffffffffffffffffffffffffffffffe9ceade941d655005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6884116031cbbeabbdb894693e13e1ec37e7327f5c8dc6ee03c875e7c9bc4327770a322a80058200262d1150686f2359e09c91eb51bf9d0a7922bce8e61e3bf161452c063b7a3405820ffffffffffffffffffffffffffffffffffffffffffffffffffec97eff53753fc03042f35c2b7f240f6ea7568644bb89b0afd0caaeb990479d115f81d92ec69569e038f3b646910953b9e178687420b4642cbc24aecd33301b171184207d43f30596703a853ef19ae43c4092f77f7fe47756bace42b794c0de6814c9d26b3d3d339ab170058200254c497f6deb4239923862e7e45fdf71a3a8ffa8815c9986acdd47ca315c2f95820fffffffffffffffffffffffffffffffffffffffffffffffffffb6bc274aee7ec033bda64d449fcb68f61cca1a4b8dffd81ca5ab05ed896cbe5df7ba4e88cbe4202021977ce0058200283b7a4663de30cd5c4566f64329f9c5e7a476b9c5bf8a5bdcbd627ceab0630474725e254f8eb27032cbadcbf6fba5694dd6a3acf0a70edc504d085943d11c446c580c5c6fc95746c0355880f1514a621675f373d58652c79a05b4938c8508142886bf63eeb6daf8e000324635f6fd6c9baecf5de5959b77636b4134a49b6627cd3ca7dfa4f549b3b342103b158b242af6e349a52660340e3a61e9b19aceb24b843625193cc7f087043fa7c0058200234096da9859359b9f0afc3ead78a1dba487cc3c97be612cb9eddfc095998345820ffffffffffffffffffffffffffffffffffffffffffffffffffe503754a6c142d03e772ec7261a0b17777d127cdabd4aafb0b7f8d1ebfca898d9475cf0e7bef66ee00582002b917ac13ece0ea7898a399063904b31790d9677be211e74a6017d686d07b14471cbb107142822000582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd042017400582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440473ff2e795f50000031c18a21d30ddafa14541b13e64c21b173d70d68a7cf7e6805ce1fcdc806d38c30219058000582002f0a53b0d4f654acf7c11620ea0022ad58e383c8fc50cd08270712e74c9f7e84736a44a445e8f2202194f8f03ff90b6cd63c85ce54962938856f6532ee8b5081ab50cdeedb2ca1d4e138ce24d0387f747533131eca092f52e90402966d04a08cc1260be539f4aba392bfa92de9d014105005820029f010ac2deb3205fa9ce38b59cc496cb397108bb71b903c3cec84a26ddebb05820fffffffffffffffffffffffffffffffffffffffffffffffffff7f6375af87ae1005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a841170321ff20aac93cab147d2a8816806261d4b0472a3db89a94fd164b8a76c5eaa46403db93f0febf4676a36bf9f3205039159bbfd68f3a3d1746e53e175038bb913041005820025a1424c680c96b472b453f6a0a64f2456073ee4b4496d76b8030e813659f2d471f9025c2c47bb5005820022f8d5b8bc4009984c779acb1f7245eea662a785493cb5a2b80d17419b1d06c4702a4b796c6570f037bb6743812ad38ed4291edec60ccb63a530cc4ec870296c8fa7d41ff6b87b527005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec57010001a21332968a73172868ba9c7c9e6e27506b1c44f70058200252c55ccecc07387a95391edf7ddf83a9ffbc5047d797885086a8dcf4e728bd466dfa5aea57580219ddf200582002e93889cbdf6ca2441062339c7f07cd6ea29512c2e7c96560800a34ed0fc0855820fffffffffffffffffffffffffffffffffffffffffffffffffff411c672c59b320058200254afabedfd78099deac13d17e134677db732d5e176a76b9252aff009b5afa35820fffffffffffffffffffffffffffffffffffffffffffffffffff0f66a891e705700582002b7f2599e8b900f74c69090fe375960319e4ea1c4d71a51192f13c0871efc295820ffffffffffffffffffffffffffffffffffffffffffffffffffdd10abc729c9fe03377785d193c8b8b12d55870fa293af6dfe292d8408bcee20bc664dd795878db5005820023a600de2a7593485a100ce9f9d77c9648f51ab138d14ec5fccd01a6160445d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03fe754cd7a196cd768804b2aa2ea6ffb8856105d6865032fb0f51d39abf8bf2f00058200288fa16f7aadc4227ef81c22aa3822ef9d54e8f5a02dabba4c7dec9997436995820ffffffffffffffffffffffffffffffffffffffffffffffffffd2c029534a490c035839715f9e259d2e03fc1b944c0b04dd62eb78cd79fb643706f76885402ba224033bc49a866fac849623cf1328ff4f7d6ec748aeb233d05101bb5a14c9d9ba3cb201410703e1c7c6689b924d36a24154711bf21df2caf76c8d183a323bf504eef293fc4b29033eb6c7941d2d88ad1cc541880a4d3ebb3ff8ebebcf169e4268686563299224d000582002670c9e119fec0048e38a692a8b9a3684cb83497d9ffe9ddc4bf1f1c799bcf05820ffffffffffffffffffffffffffffffffffffffffffffffffffdacadcecdf4fbe005820020d36a6c892c5ebaf8756c9a4eb849aa2f922d8e805eea1825337ef5244d2cd5820ffffffffffffffffffffffffffffffffffffffffffffffffffc8dad2bfcbdfff005820028460ab88ac2703717c63a22022a1fd95ff0818417cff227599cd80368201465820ffffffffffffffffffffffffffffffffffffffffffffffffffef00a0908c8e2e005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410b0219fff703accd9bb7ed6ffa28d2e1c3fa0ec44b42cfd4a2d54aa31eb1b3b12cfce761f18103ca3b1207367ba3b9859a00281378c95d20c4f994877917aea535782c022e969c005820022e3e5c464e51f99b80ae1da3d028c55f706d6010083af18891c857e3b555ef5820ffffffffffffffffffffffffffffffffffffffffffffffffffc8dad2bfcbdfff00582003f4ab4becb8c012ecdc0d712e5a3e873bb2f7da6a08debe8110a3ad2d02edc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030e81deeddf1aae890466375cfb4b2ef79f8f88ffecf9b47a77d0ac28eafad05820ffffffffffffffffffffffffffffffffffffffffffffffffffc8dad2bfcbdfff0219801000582002692bbf9f3ee64ad30db6d40f362ff5e9d57370e47547af7040c997239e970c4737c7aada3b2023037f5031319eab187b5d3ca151c616fa4f8e9ad31b2320aa120ef481060a04235f0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f41160058200283381d6f6326e37505c09a1bf7ade2076f15acd4adf58a34d1a9936e0851b45820ffffffffffffffffffffffffffffffffffffffffffffffffffc8dad2bfcbdfff037915b85597eec7f54e77b8cf8bd8bf40fb07ea08bade9a05d5705b521ce7352d00582002ace5c16892a38ff6cd26b07f606b0530e8d809050b7e64fb4a67c7566cf37f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03198ca7126d08dc8b2fbcfc3c49a3da20aa70e027e332047c61770fb337c89f3c005820029e0cc09aedf2fb1dbbd689428b8cb0cecd25a21a2543fbc60bc72bfd380efb4706e3ad67e20687005820025999c3302a9c180366d0c1c07df8fc86646b24dd4e49e992da033f4812910347062bb730f19d630058200202a95af8de37a0fa18fc7c228e3d26254c7441ffa455c233b8971aaee843f05820028f5c28f5c28f5c28f5c28f5c28f5c28f5c28f5c28f5c28f551fd1886f4311f0219d7fd0219ffff05581d02976c9c0779d0f1cfacacf59d07d3cb9803e000bd6ea4d1cfea83432807011935fd0219680005581e03f779e5b3ba79f4899ec37a211770a547b4350c6e16111eb07a0d1522800401032c687b7b9ba8e41e711f31974198b8e420ea5a5c02479e67c415ffc01e03d87002194ea403c8be4862c8f3adb102994b168463aa7ecef2b59c42fd79abe8d7a98d75296cd40219ffff03d965ffd5c35bd8802eaf42d08f1ceb1db94500a2945d3a6ee4e79dcb7f7871b203d8755924a229e9bcb7448b88e8592f5b98e9f03ecfa74d4cc5cc08a8d199b263035fec5e1805a9d4ec546a9c29ca4fc446ca69543f1a2c8edd5c8fd1d7cd29a57d0219ffff03a10ebefb30cc5017ab1ce13ba620d821834c527e1da38077bb935a0c599208c7035ac421a51a36be528c71c7d949e1f8ecc6bd0194b82f02657c20597e5b19866403619a8af484f7aa16668076259f85737a09fa339a1164afb17ef7f51fd6709796030f10616dd0951d1415be8cc3fc4fd90f152949bbc0d1551a037d4ebcceaebccf0219ffff03a1d8610fa9d56289c3a9037b1592ed4a663a1732a2849c2b3d17e2e39000ce0f03e255c4002b03efa3df6eaa1000b31e70ed577785a919e722023b9f2c9670e99d030c286e5e5170ac3f58a5714cf169352aecb00ccafea4c01c0ee2f93e1229ef65034d119f8f9cfff8c05833b73146fb42291cbad805ae0d06928864a5a41da03fe403c17a22356aa6cccaf30501165cdb4168ba2e9dd7a8a1f948806e491b90a3b86c03aeb0acd50e08589297c22a713204a739e52228c78ac59001b1eed00ccc7e10a80301ac8527a9e2a0b2b1373e7664caf5a3f1d0408248fb5161b3a98dc4c53dddd303ba1448bc34164bba3582ced6634bc8e9360c69fe389fcb5cc7f7aa7748a6ea7d0334ceb1374602ea89b128264435813df2d3c54b80b3ddc44442b4fc35b4d9fbe6036970d50607ccc2c7eb79be62dd8786356c749b9fdf4e409a9e081a6d2fef13da037887356f2e938498c9ae9fb5cc54dd043f2c64ecd8af6b6301415551fb467fe2038ba1da5f71a8e426013416c2ec13cd7c10ea60920a8f380f8adcf2d3c181c15b03f416b66e76d2804a11f04a88db4f0c7b63cf07f6565bdb22b201f0cc995e106f03d6b36f66499ed38fc215c8cba01afa00420537019fb779226c1a49e9c67b8c65032ddedc802e4ebbdfae7bf88929bfb0d98cbb18d47280b7ac1be8b3aa9a19cfe70384dca1b4933c22d71cd6a5d5cf3e29549d9e64b3f761592aea1939ece89397ee0357501083605e39b82708f6ef996b4d28b119093260226384a0cc1c695bcfb8d003107dfdd95191a094bbd9586da9656db2913ad96231079aae7222d20c0870d1080352b89e7cd8e81a15329c3ff415ba9e671ba14d18a7270f39ef3c986ffced02cf03e10d96c2fed51042024974f217331f1a4e4fd722dbfcb9b6fc5f3b713e00aefb05581e031f43b02b62152e2084d8d2b03a7859d17218a74f2e9908b175f1cb9fe0040303581a26d03e1cd0d4e10bc52f69232b8532ab6b7b517bee5dc4781162bc4f470c05581d02a27f1063294b516721843a70bf93da456691c55e4f1e96bf588705b60c1a00012d7f48254b8f18f8715c7e05581d0233e6a516b8a5de08e6ddc60f362354c6812316c6d5055456901fd8df0c01460db40f2fc40902190c00039aa5640d7780f0b7ea324e8cf9a4bc9ba6c3c5d15d0a08441c8bbe8c7fef5d9703d0aac473bf303215faad2e955c4ecef46b26c6b78334f5fda3e632d25f66209a05581e035400e5a8791651ddbb24c9015ab25836e287f2c144932ae29461c25780040905581e03a400b938c976c9a771ef934f61a82f737fddb50b814b4329a88537bf900c06467b89c0f93ad8036a69ed3f8a0fdc6602b0ae5b9434b5f7499c125900ca4f6d1d4101537bc14e2303e24441013f9300cfb45255b937be2d6b159f23777939af4a00e738817ffad44d02193af803a5bc159c0f2d26661f3729f92429b2346635a8934cc9bd5df9d210b51707dd3a0365e68ccc58bb7ff27a80d7f39757ff99a2113fc43d232ab361903012654a5e9203b6f60da08e108d44e4b3b33bf1b9f1724b3299d956c4bcc302696fbce99d26f903cc4041ff078b1fbe35f6e36646f1ac754d361375c5059563ef554b5854e61980032635088a3014f08eb41928994c547b902e871d479b051a6d9b8b0de068e5753c03c2dd40b5365eba68a0ec1a4e799ed1d618b7df5274fd8ce2983e81e5e40073680385ee3db9f67a55201b5c9b92966aaf572a53fff55d88cdf49b29c64b8a37d33a03bafa0a44d67619fe590fb447a3f64a9d47968dabd1b4f0c6f013fafd529143e10219ffff033cb9a306d593fc09acbc3f6936e53083fc465800bac2b6f167dbd0193dd42be30337e25a5be0bc1758c8470dd1f963588e635bb35366829cbeef673556b0578fe803d394bc29bb429a225331b8f513616a259fedabeb2cb543ec5c54480c3d6b4d8703f04802f236f35da5be9a5f6bbe53804d9f9c43d7f8d7f1ea64b14c6c5efbaed9037518663614fc3c16932acdd12af25e1d4323fe33613464b76d32756b8482ae4e0396347699e5a76d87cb5025eca589c087173db190a2f54c7f2aa92b90d36ef3850315209c8b7ee60a91432a27936f9e226d95a44cc1f9c26e12d407aae0062576c6037f4eb054952433bd3e353c27642f8872ee9df1bb265990b7ae5508adc8eaf78603ff3366606248757c65a435c9312ac829c35170ecdff0298b25169d52483b497b0219ffff03e1363fa8501a60237b1e2f3d20a6aaf4bca77d9ba6a02cb38e5b19dc6885dd5d0383591d6a072b9fd0758c9ae152facae14f3edc1e58fd05ef11ea750bf2871b0c03127a1e36eac35c91b8d126459e5cfdb9608461a80d8d675c5c466656559e55970318bbe0ec0b3428ad6842d9ef595fc36354c29e34a53300fbc1314604a898ae86035cb5e3d389b542b683de0fd93455ef8c5674ef29e8a57ac745893d28d1a40b1a03f5537620cc29166e4fecb9b85762da95311c017108936e1457046d270ea62b32037294e4bfd08f83b5ced814069aae78008b58396eda0296a5f20e66b52371d14a03b61de5d92f12412aab32076da93be653d8482a2a4c0e071f22644a686baf51c203094976a5aca464f9b0cd685dd8af6ea9b81ebce79da9db3a6753d8038cb39198039a1ab7736de1a60749be62379b66984405ebad61a4c7695785bc3fc28d14efe2037e42049569428ac7fa9f607206fdbe67f4bad9a0c1655cb026be8e9eafaa81ca0219ffff03f3a17b6364270965a7714e6db4084f18e4f424aaba35a0eec346616fd048ebf50219ffff03500b6c55ac1eb045f45a1eed28befc87e75130fa93ba023b18e09a5ef251a80f03ab71f873aea403386c7978b9a20923da3058e5827838eb4485328a649b7a2be10348fed5f41de04dd22d23a298bd05168df46be9acfed3b2d64d4e9ffb1889e722035fe1630437dc2ee28cf99691b8ccdd62f233676a237a807ccf67e2b74c623c90035a0880f1d99a481dea589cb722b1cea4279d3c46f2585ce672545da730f42a5803edbc22e319ffabce19e73010d63e328292286b917718ebc2f95da1c8180c4bf903cc5b33882b8c89795efbb0c5bde982150e2ac8d6f91065f37fffc2294fd09add03ac24361eeedbaba417f56fc6a75f1532ee7fdc8ef5872266348a6cfe2672656f03f0ef1ed668c4306ed53ab3d781cd7252a1fc7083044b785b8b837d7f20b7fff103f9eb6faeaebf610e38875d02f68215ab484f17d171cbe7a41dfb9b7cac76ee7203fcf1adda52089dc10021db2f06428f29fcfb1650c6c0939752796431e61a920203bcfd63ae93400ca565a24185287de033db1de3e567f17dc9cb617a91036d6a0d03a14a8c22f5c2613a16500efa66b305df20c0b859683892d68d108079bb9ed3990310506bf05f988249ae3d07e9e6c8e8e9514009619495fcaf662c4273d00297a103e39111e743a0bc875e1a98da6edcc94260101c5d467a7f04e3d750a1da1add8003e443a9d5dfb91e482f684ac7568e04ac2a0cb77367e8be8f60b2b103dd97d98903ec4e2c0d7f99be7c40d5c6bc7b26c927c379794dfc2335463d935726a62ca7df030165c24ddaf4d26c877c1187c300421ae432d827728c81e5955da5d5aefd556a03a5b242e1f2abf24d084e4d8cca51d19ec1f0c6985b475d5cd5aab6e07640f46503afa27fa32095e3f2a79b28255cfb431b8b4322294b46e36b743bc93f1aa785d9039aa84c9d7018f483fe19e40729fc50aa98d1db1dded9fbcf793499c0fcdfc5e2038ed853460080dddae3f13c20fd4bd6ca779899c9af208ccb91f70fd592e62b90036559622924a029289b78cffdc5687da1d7117ace9266a5b0e0de37fd036c30ec05581e030279b6092fe2ecc1363b34e93f933cc2759c4016430cce0433bbabe120040104591b3760806040526004361061013f575f3560e01c806370a08231116100b357806395d89b411161006d57806395d89b411461036b578063a9059cbb1461039a578063bf474bed146103b9578063c9567bf9146103ce578063d34628cc146103e2578063dd62ed3e14610401575f80fd5b806370a08231146102bf578063715018a6146102f3578063751039fc146103075780637d1db4a51461031b5780638da5cb5b146103305780638f9a55c014610356575f80fd5b806323b872dd1161010457806323b872dd14610207578063313ce5671461022657806331c2d847146102415780633bbac5791461026057806351bc3c85146102975780636fc3eaec146102ab575f80fd5b806306fdde031461014a578063095ea7b31461018b5780630faee56f146101ba578063109daa99146101dd57806318160ddd146101f3575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600781526610da19595cd95960ca1b60208201525b6040516101829190611646565b60405180910390f35b348015610196575f80fd5b506101aa6101a53660046116b6565b610445565b6040519015158152602001610182565b3480156101c5575f80fd5b506101cf60125481565b604051908152602001610182565b3480156101e8575f80fd5b506101f161045b565b005b3480156101fe575f80fd5b506101cf6104c9565b348015610212575f80fd5b506101aa6102213660046116e0565b6104ea565b348015610231575f80fd5b5060405160098152602001610182565b34801561024c575f80fd5b506101f161025b366004611732565b610551565b34801561026b575f80fd5b506101aa61027a3660046117f2565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102a2575f80fd5b506101f16105d8565b3480156102b6575f80fd5b506101f1610625565b3480156102ca575f80fd5b506101cf6102d93660046117f2565b6001600160a01b03165f9081526001602052604090205490565b3480156102fe575f80fd5b506101f1610651565b348015610312575f80fd5b506101f16106c2565b348015610326575f80fd5b506101cf600f5481565b34801561033b575f80fd5b505f546040516001600160a01b039091168152602001610182565b348015610361575f80fd5b506101cf60105481565b348015610376575f80fd5b5060408051808201909152600781526610d2115154d15160ca1b6020820152610175565b3480156103a5575f80fd5b506101aa6103b43660046116b6565b610771565b3480156103c4575f80fd5b506101cf60115481565b3480156103d9575f80fd5b506101f161077d565b3480156103ed575f80fd5b506101f16103fc366004611732565b610b27565b34801561040c575f80fd5b506101cf61041b36600461180d565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610451338484610bab565b5060015b92915050565b5f546001600160a01b0316331461048d5760405162461bcd60e51b815260040161048490611844565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104d66009600a61196d565b6104e5906461f313f88061197b565b905090565b5f6104f6848484610cce565b610547843361054285604051806060016040528060288152602001611ada602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112c2565b610bab565b5060019392505050565b5f546001600160a01b0316331461057a5760405162461bcd60e51b815260040161048490611844565b5f5b81518110156105d4575f60045f84848151811061059b5761059b611992565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161057c565b5050565b6005546001600160a01b0316336001600160a01b0316146105f7575f80fd5b305f90815260016020526040902054801561061557610615816112fa565b4780156105d4576105d48161146a565b6005546001600160a01b0316336001600160a01b031614610644575f80fd5b4761064e8161146a565b50565b5f546001600160a01b0316331461067a5760405162461bcd60e51b815260040161048490611844565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106eb5760405162461bcd60e51b815260040161048490611844565b6106f76009600a61196d565b610706906461f313f88061197b565b600f556107156009600a61196d565b610724906461f313f88061197b565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107546009600a61196d565b610763906461f313f88061197b565b6040519081526020016104bf565b5f610451338484610cce565b5f546001600160a01b031633146107a65760405162461bcd60e51b815260040161048490611844565b601454600160a01b900460ff16156108005760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610484565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561084a90309061083b6009600a61196d565b610542906461f313f88061197b565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561089a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108be91906119a6565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561091d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094191906119a6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561098b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109af91906119a6565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109f6816001600160a01b03165f9081526001602052604090205490565b5f80610a095f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a6f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a9491906119c1565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ae9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0d91906119ec565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b505760405162461bcd60e51b815260040161048490611844565b5f5b81518110156105d457600160045f848481518110610b7257610b72611992565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b52565b6001600160a01b038316610c0d5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610484565b6001600160a01b038216610c6e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610484565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d325760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610484565b6001600160a01b038216610d945760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610484565b5f8111610df55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610484565b5f80546001600160a01b03858116911614801590610e2057505f546001600160a01b03848116911614155b15611185576001600160a01b0384165f9081526004602052604090205460ff16158015610e6557506001600160a01b0383165f9081526004602052604090205460ff16155b610e6d575f80fd5b600e545f03610ea557610ea26064610e9c600a54600e5411610e9157600654610e95565b6008545b85906114a1565b90611526565b90505b600e5415610eca57610ec76064610e9c600d54856114a190919063ffffffff16565b90505b6014546001600160a01b038581169116148015610ef557506013546001600160a01b03848116911614155b8015610f1957506001600160a01b0383165f9081526003602052604090205460ff16155b1561101c57600f54821115610f705760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610484565b60105482610f92856001600160a01b03165f9081526001602052604090205490565b610f9c9190611a0b565b1115610fea5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610484565b6110056064610e9c600a54600e5411610e9157600654610e95565b600e80549192505f61101683611a1e565b91905055505b6014546001600160a01b03848116911614801561104257506001600160a01b0384163014155b1561106f5761106c6064610e9c600b54600e541161106257600754610e95565b60095485906114a1565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110a557506014546001600160a01b038581169116145b80156110ba5750601454600160b01b900460ff165b80156110c7575060115481115b80156110d65750600c54600e54115b15611183576016544311156110ea575f6015555b60036015541061113c5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610484565b6111596111548461114f84601254611567565b611567565b6112fa565b478015611169576111694761146a565b60158054905f61117883611a1e565b909155505043601655505b505b80156111fd57305f908152600160205260409020546111a4908261157b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111f49085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461121f90836115d9565b6001600160a01b0385165f9081526001602052604090205561126261124483836115d9565b6001600160a01b0385165f908152600160205260409020549061157b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112ab85856115d9565b60405190815260200160405180910390a350505050565b5f81848411156112e55760405162461bcd60e51b81526004016104849190611646565b505f6112f18486611a36565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061134057611340611992565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611397573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113bb91906119a6565b816001815181106113ce576113ce611992565b6001600160a01b0392831660209182029290920101526013546113f49130911684610bab565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061142c9085905f90869030904290600401611a49565b5f604051808303815f87803b158015611443575f80fd5b505af1158015611455573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105d4573d5f803e3d5ffd5b5f825f036114b057505f610455565b5f6114bb838561197b565b9050826114c88583611aba565b1461151f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610484565b9392505050565b5f61151f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061161a565b5f818311611575578261151f565b50919050565b5f806115878385611a0b565b90508381101561151f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610484565b5f61151f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c2565b5f818361163a5760405162461bcd60e51b81526004016104849190611646565b505f6112f18486611aba565b5f602080835283518060208501525f5b8181101561167257858101830151858201604001528201611656565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461064e575f80fd5b80356116b181611692565b919050565b5f80604083850312156116c7575f80fd5b82356116d281611692565b946020939093013593505050565b5f805f606084860312156116f2575f80fd5b83356116fd81611692565b9250602084013561170d81611692565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611743575f80fd5b823567ffffffffffffffff8082111561175a575f80fd5b818501915085601f83011261176d575f80fd5b81358181111561177f5761177f61171e565b8060051b604051601f19603f830116810181811085821117156117a4576117a461171e565b6040529182528482019250838101850191888311156117c1575f80fd5b938501935b828510156117e6576117d7856116a6565b845293850193928501926117c6565b98975050505050505050565b5f60208284031215611802575f80fd5b813561151f81611692565b5f806040838503121561181e575f80fd5b823561182981611692565b9150602083013561183981611692565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156118c757815f19048211156118ad576118ad611879565b808516156118ba57918102915b93841c9390800290611892565b509250929050565b5f826118dd57506001610455565b816118e957505f610455565b81600181146118ff576002811461190957611925565b6001915050610455565b60ff84111561191a5761191a611879565b50506001821b610455565b5060208310610133831016604e8410600b8410161715611948575081810a610455565b611952838361188d565b805f190482111561196557611965611879565b029392505050565b5f61151f60ff8416836118cf565b808202811582820484141761045557610455611879565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156119b6575f80fd5b815161151f81611692565b5f805f606084860312156119d3575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156119fc575f80fd5b8151801515811461151f575f80fd5b8082018082111561045557610455611879565b5f60018201611a2f57611a2f611879565b5060010190565b8181038181111561045557610455611879565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a995784516001600160a01b031683529383019391830191600101611a74565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611ad457634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122078b12bee1418a3a561172735956529e65f64171576d4bad1a5edd0dbfa46aa7a64736f6c634300081700330375c1da46017b71f85ccca89aa5608eb7cdf9b7b6b5c2bca43f3d91118639919403abfd368383a4b5ca6af500e66d81802dc0c5cd944462212c86dcc05b3afd35100348f41ab9e346fb3add28181e3b747374c1cc82e5517c4e526ff8d2511bc610de03c75c4131f41ed942faf0c1faa67cad53d22833b1b21edee0d10cc974c466e8e1030d3a5ddc4c2420947f66ace637624feb8ce4a837a1534291e9f69c68c83c71ab039dd394d3f6db798e1024dcf60905f7ceb2c1e8b640631f608ec21cd899a4301d03791ad3ca5370c86e3f9354222d89495c7ede8c3ddf3108003f540c3854e7414f0364695af5ad85f52a181118348104c3826dc0e50368f985d974e45e54768b8385033b1242fe950c0ed2b43947fd7bad4eedc4ab2a64ed2f144ea7efc43a046c5d6c03a48c507b7ca17f341306ff0f41d96001e007bdbaa2d833622d5876c202c34317005820037029bf08fbbc323aa3148225a6ce3e9b7aab92392bf5c300733f5df56109f05820fffffffffffffffffffffffffffffffffffffffffffffffff66f0df0f2e96eff0058200382d218bae286c0c1535db5bb9172373577731f09d28bbed2100430e58f74f05820fffffffffffffffffffffffffffffffffffffffffffffffffdebffd1e6d67295005820030d998f87dca4447a713a1d386506751944843fdc419b5e775e9a7d24b673404101005820036474c7016ef30575495499a848cdd89b2c4328a22553ee891c3d07930f7a70480b25912845ac837300582003dbd3113d07dd3c1f35e09377ad2694628027b18488157d4fcd7d48c06c76a05820fffffffffffffffffffffffffffffffffffffffffffffffffe464ba6edf190fe0219c30803e705d0ca9e1a64f998f630a02f7d564d791bf05c7ed1c08fb0bcec39aaa0ca5d03cabb26f0a380fdb65b8d628ebbcfe27f4e2b9e6da8ed19e6dd53d6cca25834bf037e33a6c350ed12cd43aff5e2ce568d32beef36268e81e37607883e370eff28aa037df96f74a034d783341a890e0ded91788cbe087db5c3f24f82b44a0c105df63f03d25cc54944241d1f8fd4904f8e9735fd493af17b947fb70b1b5f08ba0a7e9fc90219ffff03bb991027c78a40426d9d77b3943ee354360370da66bb9b78b90308a4d8620e9703a797be3ef0fde5f15a455f258f3444e390e10cbd711a7c75c9bdcca94921b297038e2f1269b3b4802e9228f539344b0cf8cb990227a8bad09642013a8eedc297fb03e574845ff8704f94824c3c3a0c002db17f8d99ab04c9a4c350d51bafb3f7bb470141010322fb76145f8d22421ec1bab1b89a533f868e9e49d6e0084acc3000458fc2b78703087abf92aaf86ad8ab1a6d650356ed8d7a8d5ad786ee49b6ce44c5b21f9474e80306caac7855882a67334a5efc078e06ad4a373975ae0fa44581fe86feb74f0dc30375454792c2076bd83382402f33247c3f0db8ed019ea4bc60c362ca0aabc6c56b03299b695485abb7124f8e072698df8296640a0b8970b603c7560ad39b6a4b906803a75cd2db0ced6024cca07d95f0a6fc6609dc5c26c9e77398083e0f81615d2f15031a5bf63ed5a2026800d5a9ba431feb32c6d61922cced2ee28c9e973fbd7b967200582003c69323c414362faf3fdca9c33237077cf9f6229c90ed5a1ed1de4fbbf83b20480145aeb86a7b76f0030935ebaf9c35820fdd08a12c6fad2082513c8496dbb41fc955c2dbbc9d582eae0058200371710dd1330af0b8e0cdd39a2ad0b2c2b31de8a5a1276622a8da62ec7ea4b041010058200382bdaaa9d017a99acc9e2bb37b35ffc566cf9fe17b3642b4d2391dc87838905820ffffffffffffffffffffffffffffffffffffffffffffffffef5b03cda7dbbd6f00582003cef32b5f59f20c1237f6c10f636f2ab025d2938b0b93247ebd2acda17966c047de0601d2c4ac5500582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67204916ce3f1e16bf15000003ade0c9f9a1e84ae205a10e9ccddc21cd00545cb846af1c406941c16200ce129a037f2ebac314869654a10dc3314d3b91d8664e0f459615cabb5c7f75956a968ff400582003311234d600e094147251bda0d3b536fb50c1965f53be78a0f4fc2a616dfcd05820fffffffffffffffffffffffffffffffffffffffffffffffffa3e2a2b6ed9470100582003282024ae704d141d58ee7cb5b0a6369632acc52c2c5cf8aa4574a74d7d1ce05820ffffffffffffffffffffffffffffffffffffffffffffffffffcf47f64aa151b300582003f6371209580ea12cd6ab2b068a1d0147f792a091b75a62d7004286e51823b0471d57b74e9c31240219c5df03f0610ac4b78bc13c8fae9696cb347ae80a3ad6c1bfbab1d6cf6dd98f4df0fb22034b4db48b23635c8d4e43ff5dc9a1dc7d93562face4fc49556847bbddf0f8456a039b076f8a91bfd28c7ce0546e23a0d0f745d95d3ffd1dbd626488b777ced1cc9803be5e7709e7f896d3afd4a28d4fb19e2a406eee6214e47b98647a769c34bf3b930219ffff032c58266dc414d07a153038a67e39edefa90dcc0344817e2e701ea9444b55b6ff03e4660ff367b695f93ef866fc8100397388a147305defcd2e78690ab47ed1574b032cd7d6be908ea65edf4b9a8fa59c61f00aecc1c0881570505eb8fdddb4f230c503f5e803a6311bd593b68fd9ff3d06be9f2b0597d89d889597815ea9d22da09c9c03e57bf20601b7435c10fc71529d0e910c9e1d3667c4a8dc2d53c1c380ca97e5fb03af1ebf63469b773a6254a01267e1064e0a2cef26d7696f22b18ca300d2b5676003fcfc326f821bb56307cdf004ff6de12c30e86b2131d730a74283b0141abe914903810fb5eb7260f0c3b9080f1e6e00781ecb4396ed1f5a382482e0d2cbfcc2859103533bd72516965e35a67e07337844b739ad9e9db90439ce0e31e74df4daf94161005820039135fb1442aca0af9f13aac88eb6a443cb7fa07b0cdc1597f55d82e77e57205820fffffffffffffffffffffffffffffffffffffffffffffffffff81cb3a83650cd00582003ea7fa786287fd149e1387e4a99cbd520fafeb711cecd60debabcdd9be1f8c042017c00582003a23620279d4ef2ce88c7adf26406b06e2a5a55ecd200da1a5a9790938339e048507dbd45314401270058200303180764cb3a652be2832e909ece920284dea159cd7985daeef97deb0bb460480897e0b9aa37304403e99b869654235e2b6cfba9d34399aa1696d2e704794bbf24f5aedb59fa457e0e030b7c01dc64e1719706ce139e55da50dbd500a3c44fda51fac210605d8929b10b01410600582003486b538c06f040e5bb2eb4047909d793bffc0d80ede766fe707fd19ef4e6505820ffffffffffffffffffffffffffffffffffffffffffffffffd4a07d61352aa4cf021985350058200393d7fd50557d2912b386b68c41f430aace7381c5234de864cff940cc98a5b05820fffffffffffffffffffffffffffffffffffffffffffffffffffd688e969e22b400582003040ee07707a709f339d31ff2bab2b4df38ce2bbb738e245cd01fd125e51a805820ffffffffffffffffffffffffffffffffffffffffffffffffff457d0895a99db100582003c378ee273dad3dc9357a328ae4d5ac323d35a46472df6db55203a251e7f84041c200582003a9d4500493ba7f64369a02f7e59d7128376eec9d97cce0abc32c7e402de4e05820ffffffffffffffffffffffffffffffffffffffffffffffffdae2ee9eb57d5b65005820033a11a9ab0b81a63c86a5ec2d9222bc38cc521896152f2f8c9f3fc1b1d64d805820ffffffffffffffffffffffffffffffffffffffffffffffffffe0405f2dcf41a5035e845b963531968bf69d05f4591ff29fbf3015188b39b7d1aa7da5125784d120038526ab24b65bd86b52491ce22ddd089b918b4dcce47eeefafb4a47951053f4f2005820039d142566536883cc4d0ae9ea49233efcca0dfc44ad5ad8ac16c0de8a5549c05820fffffffffffffffffffffffffffffffffffffffffffffffff3f3d712db45efc50219663a03227e4b3a3633e30e82c2a89c9859b08b7d25958dbd592853dcf92ec58f0c48990398acd352e14f6e4abdecf3aefd9e5b4555f2467a014a069ab6f13eb28512d87f030cef77eaab168745281ea1dc1467bd42a05a8d8c137e503d70bca966b5ce3f8d03ba7a21c4c900e12797c2ad65db1fa40c8e6ec5ac6e646829f8ecf9116deabd9c030f670ea790fbdd825e322bef1b93a492b62921f4658f0c18827cf7ddff4f284c0219ffff0346735588b2079037d945c17a36a649b1bd5771751d22fed4307308b914f693e00337fdbdf43a441cfd8a3bd14d948b9304107023f18e37085851e36ef3dfb2bc790374ee848087083ce027a6fe1862ef7fca670605aad90841a654988679b62ef43f03c30f310dcbdc6333379c98991db4f1e75f9550959c3891daa204bfbac278b44700582003fd4b12ecdcd98c334b4373c863d1ea62d278149ab290f3e53558c98bd905f0472386f26fc0fffd00582003c9ddee8188024fc521412824abe66cd0d8d776b7071542d5790d4315ff102048014e1cf6b5e0aaf203709b6ff0e2b1622c838e4e63d5cf701f02b7053dcb3701d07f72f101301dd4040058200326d3a30e80cd34505124b120031b5e773d0c618ecb3fd15577da380d8166305820fffffffffffffffffffffffffffffffffffffffffffffffffe9df1cb10c0e665031e6eca1fcdafbc937f38ab3ef445fc9234b2844b4ea91ca6acb335fa58b498cc0058200352a3d5e2e3ca6a153d97750fc5e24ddcbda42dde14e0f481c3f62aadb04a204804b04a6d4781839403835ed8222d02d4a472340969a0588f286d11ab3f660a9a31cd56d522869a72b000582003006606a803778fe70061560d847bd0b63af4af9e601997b90e46268a1b42e05820fffffffffffffffffffffffffffffffffffffffffffffffff9e9a7a6d7a974b1033ecc88780c46912b6b57afc781ae9f4d98feaecaa7538c74ab239aa7efe2f35700582003f80a6306c9b9ea58711d26e49fa9c15ad3ebd48b2cf511086023b1e1a17c305820ffffffffffffffffffffffffffffffffffffffffffffffffffe0068c35057fff0219ede803a0ab6da89d5754c25fec426681a52e067a0bcf239d6ee0104df694d36dc91788032154341c145e33def339af8abf4b2cd20edda9b397408f4eb37ec45fda8c831a03970c920ad81b3383e0f9ccd6301bac9b81463d63d76e4e401c5f6a8696502a7b03c5dc4146b65e15f317986e956d5d014dd05a79b85e5cc856e0ce0a18bf4c50b10355d7e39f55c928ab93923e356442e3b63398d6485b2e86c29352a36ef903d1250343c1a61607a120a61cbf940d27d97d30077ac70a3a9dc4601519686867c5e7b2035a884728137b6603be8884d78391cbafed7bd6f21c5d1108153309cfcb218fcb036f33ded884a79a5dbcdbbd3d046bbe3b3864fdf413f87381573d8b285fa59d0803f158cd725e5927b7005c8f5121b67ee153b426bc253c0eb3b4bd0a4750b4a881035dc436c5cf59305d8b4172ec5f6b7a6dc356cfa54d813c76a6ac929800a5c2e0037a9f020c9e322a6d349e6adb91673beed5d4e84ab215d26b8896e034b7534b5203f45448ee303a53cb28c5eb9505162158532dd3bb92b0a53fb0ebb09eb1c92cbf0219ffff039b9c4db13a0b2b74836cd1e6920472ef44d4a0a9a607a04105734edc7d366965038606f69cd225168d1f07823ce11d1d13f2f7c938fe888ef506f47589274066b903bc43c35caa530bc0170fc5560991c63a65f01728f5a1d89484c823fe63c74d1803b9c3eda025aad74a3b48c50d3886606df5695fd2feb5b797878be8e71eceabf0037fd110ee14a52f1a2ada2d2dd4c0d7a90679a7ef789bfb7f603c709dd31a63230368d91d91cbf734258c5a8f12ec28d95efa4d0bd10791817ea8452d783fffe19303192a1fbd091486d05f2f5021ea1c46d9d535fdb852f89f48dcac3327b9e2387800582003af60e00954159731966b46feea3ed29d07600f7eb21187bff274b1cac1e0204101005820035dcaf5c42a77736a6bf503f9a1cb5a54699d034c7e8accc3163e802d690770410d03b22122fa24e5d4336644241f70fdab830c3ad770757e889741dc7ac781dcac7c005820033775c5d7ab291d6d0eb1099a41798214c6b9e595976a0668c9449c204e1400480adda795460f3959005820039c5a5597613d9e6123d4f5caa925a226b35f07170838a9559172cab406c0b05820ffffffffffffffffffffffffffffffffffffffffffffffffc3015e431dc665e800582003b2dbceed5d01c71c0e90e2437b188c679bd028b735923e9483618dcf6cf5005820fffffffffffffffffffffffffffffffffffffffffffffffffc10f13b7b63162d00581f0279bfd520785755a004c6f46c485ee14c54071628d3477bbbec26f113408d5820fffffffffffffffffffffffffffffffffffffffffffffffffa8497226465f88800581f028ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090547a250d5630b4cf539739df2c5dacb4c659f2488d0219480000582003501132807ef9a1a650861385bfb5a0bca8ca2b2c8971451b95a3494617fa605820ffffffffffffffffffffffffffffffffffffffffffffffffcc7cb7a94409d6000219bc3803f3c27cd6c352591fc7ea14da7b2220cbf39bb7be8f894b320c8b618ba43e9ef903cbd97fd93fc9bc6d5dfd29e7a8310ab955a31721794774f30c5335fb2851126a03232db1fb627db5280d6ce6f3345079c04629aea514c4dbda52e34557857813a60397b6d056472a62a6eb3e906d445421a614407325b88f9e5299287a3d51ba366303127eabf9a95493b369b23667bbb8870af9de49ffc7d1b56ba4864df6ce823ed10325be1fae4a7f8461a8eb3ea143a3885099b8e50e4a5aeb35e312958d682dfa2e03c7c13f593d8217b41773ee361bcd2a98d74ae7962fa6b84db63d3fe2983ada7a034d98b6c084d1d3a3a22357e5604e48ba9e6048d454da13f6c9ae17158f025d0b03ce33ec970e8adf868bae1988b30210d8bef3852723fac9563a83a340467723ea0219ffff03fc3b5156863a4808c3b3cfcca8a930c0418875c59cada321a6c7d3a1f5b61f4d03176a3a48211f4cd6ec866a34be9c642449c32fdf88e86a4a91cac65b6749b4c803643f428a4c48c2cae08a5cdd9e835ba686eb61967a11b8e95bd1097878ffce25031ec85240cb21d6aa03d2f923686e0b6acd35b42b488a6686bd7c1498d81e768203acf8f8a37c68870a6c276fa5f3aadda89bdc0bd3319914b6e4045842a6ee904503182184fa70d3602b63686a6cc5c6e2e2df5a9be8f30a1cb6b634089ffdb27a4503322913fb89f763ef1a6a3f88cbc2e1dba232cb661985354f3100bdeae8c77e5e038ecd46d578501facda5fbe731de48e6669e8ca53e231b87d88e701c48430bc0803c0f4989a34229b199f131ec617efdd3d7053b0eb6a5854520d5489e0eaf101eb03766e8b416114ee6d26aea1fdaca0bd9ef7f1b509337a41251ce09ff65131d1f603860ee585a24820954813994bb75b1421e34ae87d45c3fe0ce122529bf089616a03983c61878a5fb5654b403f11cd22d146d704e05cfbdee7c6a0f1dfa36efcd329032f00b1c472abba3368b641cc6000398939dd28139105b2fb6d497ab65298e1d303921465e91d9f75e11011c820bc8127a838447348fb313ecc51498403fcb6b641005820032c83089d84256208d7a67742b14ec70b39118d88b03b5369386c0da2a021305820ffffffffffffffffffffffffffffffffffffffffffffffff8b3c2d7a6cd17fff00582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80204916ce3f1e16bf15000003bc67d9aeddd5aea0df7a42319a434f55b6d6a2f409034ff9719f5aa6d66903ef03ed5289eb5134e25e6f7f54bfdd73aa0b0b0eaed0d4b96e794c3a31b5707868920141090058200382bede96369ec16a2a504572dfd2ddaae16a291fff4af4aa9836764edd24e05820ffffffffffffffffffffffffffffffffffffffffffffffffe2f7d51155ffb7e600582003b3335eca3c405659897cde7202a886fad89b984d9bada6a47215d5d2353dd04802fbc4924d222b520219250703617907bf218155698a9b006c067240839315f89a34444766bdb40710d4c38998039dc7b703f86b2ec08fa85a763679ab1ae6392287ef3e04296afb35f0f950842e0219ffff03c7ed6a3b56c326b14e92ec70424f212f2f076eb0e1deaebcad78c85349013ba203a74e7788030252ac5b83c75410a9df059f65d137bb2816959eec5093a5084ff603598431f4f3c6631cc4372d381d43fd464a10fa945d65a19a80356863af10683d00582003b846f315be9da806f97f197dc1352600a36eeac7cd4788a41c4b71844bb9a05820fffffffffffffffffffffffffffffffffffffffffffffffffcf251c8d21613000058200324c52188ea531458bdac087ff34d6e110ba86fad81603233d441c6f5c550005820ffffffffffffffffffffffffffffffffffffffffffffffffec75288dbdaf517700582003554f1b75a4bcaad17d83c68909d70130d4d1ffc96d2e52e23aace958450f904737e7e353cf053f005820035ce24b29a1d3b120b44d0ebbca5f881aa42af3430c9bd4fdf0fe1b3030d43048238ae23a8b8659840058200351a41e1f54626ed67acaeeee2f9f71d6d97cf7c5e214b71312b3a8b8f1a5e04101005820030c404aeadf463b24298408556497f5eff5a3424e7b19598b0c47c797a6e8204502443c242a00581f02c491f1b79804f733484aac0288d1cc0babc61de238200ec5aff7602f90c549016784b915e55cb87f00581f028bddfff3a4feed81671819cb96ea1669d0877b4a9b496725f637b3aa7ca047bb14f3e0c6616c021901100219d97403f66602ff6e3ef2acbf162872958492b1a7de0fbe189a3ef913380603b5a5462403299e51b6dd2fd72a2db5805a130b350c30bad6efda05e1928df6c833b735713c0319b13875dcab3634f242ee265f4fd3c76ffae615877dae879e0ae921a565b2640368bc4c60e1b0112ba5cf8efc16997221fa6c00797a1f48f650766fa020db01e203e29ad11c70c57b2adffd06348acdcede8542d4916140240ed8ea7c5034454be00370bed21addf72f726df53b593ae47a7f66ce92e493fee3477572d2909bde7e41037f791c27fbc1a0cabd1ef4b3b753ad3e9c732230bd9eb34ed767e581fa19c905031aae63b08469a3acff21b2ab9949eccaf667112cf9ba636b9e5c6886337dd867005820035bfd31c15a0f540dc986d3effb69fd06642297e8422c99741369d664ccb61048010471a76fc3f02e00582003d048f16e11281c1d2c109aaf84c2b77016bf6529fbc03b73fb977ea921caa04802b207a78b9d452c00582003722fe3a74319fd1268ad5804bf65adb3652828b2c98899c3b5ace8ac8b066047a3ab0db618646e0306a032f447f9ff78765aa1e04c5477125183fe4a1ed78122cb2106c2008d5d130141050058200390b90cfc0f29cc13f68258beb34a4aa67f22cb8a70a817ddbc5318dc6556505820fffffffffffffffffffffffffffffffffffffffffffffffffc38e8d091d7b94300582003fdd0d04b51e541a2f287c3cdf9c7541b56a4164a820f0116e0d3679146cb805820ffffffffffffffffffffffffffffffffffffffffffffffffeded511721bf5ba100582003e9ae57a9f3ca01e7a89d389d75eac3ef886a7da8bf68be6321572f5f45e0505820ffffffffffffffffffffffffffffffffffffffffffffffffee8486fa7f815e2f00582003c6a8baa9df9036a15360db823694a66658b9788d2bf797ebe54ba59f6d6c805820fffffffffffffffffffffffffffffffffffffffffffffffff879f0c25825d16702197e3003846303c1451555d4e95fe185c72a90ccb65517cf66f52a94681daca876504a9c032e25e57b3235b4edf608e456e0d82cb3cf154cec9a885b14b3daee80973acf6503224bfe02d415c9c77d1f989e3fad38ee91be90122962c63d610522447cd968ec035fbc673812828f299a19b8f3daca7a05fe907368ff037c197c860e0359dfc87d03e1c59348b1ef29339e8906472740a548c7a0f98801b14682f004616ccb2a362a030837d932b962c3e2e227d0a9cc017ef48fb3edf608298991c91ffe712ad0314d0219ffff03deb46a6a4822e7c83ff31764c3112fc69327bac3890e2253ac04c20858a2d98e032fe123baa99eff0a5ba907d210c7adcfa4c1686c1c54388cfbd45e6d02558aa00380ddc0ddf7dfd70e3e184ce2d010c6ba014b8d43829b1238e8f06652e2d9cd320388fe57c0dc7521ebf379d6fa950b4bf6c5f7f5ff4df9a48b770da0a2d74aed120336713d39c46f26ea7e9a397a73c7b30a3a3656bc26e6f49aff9e712effaa3cd603bfc402008ffcad05faabd9b7ac8d68b69147d1d852905b17cff25e94ce66414b038a8c39e83674f2896f06035ed1285081e7435c2536a74f6959d9ec6cba561976039a69b2f516a8efadf24dab4d37fe759ae473b8498fe3b976999b1ab2c6dcd98203f39067a7a20eade4548365eb63a8910e67eff03e07b6a376d4e25843a895db500367003e15d30ad5b42e660991dde5fd8adb116c1d93eefeea3f5242378567598e039d2a32df1a3cbcf3efc304545b49736bfef8e8a5a18d757c9f1cd56a34e2552700582003821d42829be0f46f905fe3cd1d70ecdfc39e4a9f8e3b4426fba0b6efb8dea047b1a2bc2ec5000003f9a5bf178236a3c85f51322811527c75bd26fe214836aad47908b82fe0d9900c005820036bb8fa5dcac7ce57d32358312057e9af75f9e9d859fbeb02381371c9d424a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd042140900582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440483a61e942c997400000582003b6fc6eb456935188eace39242e3666a01385cdcee3468440aee4bbb24a37605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037a055e445a9274eafcaaedfbadf047a819edf321ac6b0f7a8c16b583aaece05820ffffffffffffffffffffffffffffffffffffffffffffffffff618748f384afbf0219238e0310519bae44be65db07de2325ea775f04d615a2830ea6ef19713819e279c98c8e037a93756ddb6f0f47da11789cc48bfdcdaa8e922027320fe1dab04447fa4e894703ba78bc1223fb7d364cb6a8d7b057ff9100e9d9b8a70f2cddd5ecda15b7f7a2b503208f88f652a0a3b8f4c2e1c75a4e0df9e82fd230c6205cd8fced2a67caa4cf760219ffff03a89ffd4eec37b1eaa845cd17e4cef5bdc15b7a01553414dcc5628a0915d2af9203e1bfed36e9fb16c633e9b3a649d962eca206918772df4c06d7b2f7ba0d43db6e03f61eec29715969e03fa5f70dea8f795005aed85fd890a4024e44e3f3c1a476bc038ab8814d62f7d915a95a710036d0218f21508abc4892a90e549cfff3cb719f01032626c22e55711f780b087fdfbb24ad7e1121459b502fca78b3ec79ecf9ffdc84030f2e3aace61d8adeebc32e538fe4506597b49abe5b07370cab73c3e0e1183c39005820031ed3604650b2aeb65f74a72d2bab8f72eeedaac2dde3d554b57f413b8aab40480185825d9465b2ac00582003ff99831c5af5c227e78bd5afdba4df17becfedaa5359ba35068e8af442358048365bef75413172d700582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a804119005820036d4a42e1a4254eb27084b785d0f89eb40586850189dd4c7a611016e00959e05820ffffffffffffffffffffffffffffffffffffffffffffffffe471ac3b1a57aa4100582003d2ab69826a472aec6f67621eba6ef73815843d90e03f5560586e8c43aedfe05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190478039a8a30df6962247ea292a927962132e4f6f0724a764ffc5ed5adb9a0f78ec53103fd665aedad565425aae395a9da1004f5d481e03891e1ebcf5ef9504162af7a1c03d4ae449bb687189cbeaae9098a92a5c2f9bde21ef18ebbf8486f3a7eb05938dd03a5b91484701f6a078bd7430b6969611aa09dbdc1fd02934552073b30aee732fd033b11027aa0bfc30292709253a3df57ba0b4f21d540915d5a7bd0d19afe06829903ce427c8135ea4e4fbf002eafd7cf48c0d0aee1a4233b8d4562557c6339d6f6e303433ef1a82a099d4ddc43aa7df96ec9a3bd7b57e4abafc8078d6bbaaf0b6f7a300347560fa6cbbe0e17d73aa0609ba16a79578d09365e0a12f55914f2cfabd5efa60058200320b756e7e040835e5615d686b989ba1245204a453a660f635c4c2cae5093b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec05701000158335ba9c0167704a4a95ffb4872194f5080d64d03a8fabb3e0b8103bdec1e269aafe5eb9e88191acd7089b98d03efc64cf60de5f103a169e3acc787c0ea6bdd7b1d2f02f4ebfad81e6b47e44d687a350902e8663bd3032872ec8dfd6c9cb150868e63121c4a7d29c28964af7365abdcdbbe5978c2541701410003d1aebe1223717f7f1a4283acf23b4d02cf85eaa82a0d748ef24cd3fd276f591e021946ca036747770fa6a7d222d1deaa5100c5c3fc4ff2b3e2dda0c62a5cefc6a77fe895a20219ffff03714fdb3bbc16dfe20bcb58598ad77ec77dc35c35c729a62249368aacaf34fd3b034d30ba377005ccab325e0661f2453f48c0cb0745b04aff3b4198443f966f7a3503140a296d83ce744a472973728c8eb162eae1bd3c4c0e74c8b91b7c7102054eed03872700458a34f94637e50380c7025d1d9b272f82af36818d3f11eadf9a7c8f0a039c80820302aa5e17a8933ad66324345a76e000fb7b32bf55cfd7b396b069a10603cfa896325e4cb55dab3dde92048a565d1d64016f0545b8042fcdcd567078f79a037a3d6072bd42ad22985dad40a8fa3d04fe0edc259963e22c0a2482746a7880c90058200333c6f5e689fe704c8795cec4f1e86f93d948cfa1f04ea61d10bd2e3d6851b05820fffffffffffffffffffffffffffffffffffffffffffffffffbcf50f76d32599603a6afac5db7b43c2c09cd56b0fabdfafe4adf82bfb74a69e4c9db2b84877872fc036fe4f43cadc51daa7450065fd7d151e9113ad170eab7e0939bd390950b572da000582003241baac053af781a29ddc359a3e573e59d72b9cae25a785cad983c3c560aa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820034abb36c9f394b1bdd97804463a1593226c29b84f7e7c6ad6ca7a40db0ece505820fffffffffffffffffffffffffffffffffffffffffffffffffc4574ecd31c2abe00582003f203361f2f77fcde3347b3f6b8314f8ca1c2aa48fdbf55ebbc1a2c47220e304828663c4c12b26bc00058200334f7bb1ec3fc6163c6fdecf5e0a4c4277d2cc749c303bca487e164f129957048059bab9f056a102000582003166a93cb744f0ae861e2267aa46668dc4217d755f34c8cb5528964d7b8f7f05820fffffffffffffffffffffffffffffffffffffffffffffffffe01c63ffeb9c6d6005820039be32c01c71d2117ed24727ae41af90c09cb8e29fed755ddec1aec46055390410102197b0703e7658668ccaf9343db1e5292c8e4c77594eb7c73da211a5eb8897c6796e3cef303227b202a4ce6d48ab07ec541f5b78b2875ba60fbfbb2b3df34f32b4c8eaf1c1f03e84c4adf3085b66eb89e1f2c8f16f842660be510d9f4b085ef49fd79364b619a037c796218f5db8b96cb11606ecc144b8dfe641dde7acceea8686ba6d38e51e85e03305233085120ffad4525d81a9d0099e72366b1f0b31129eb9f684c3777a61b2d035a044749a4f981be27b2b862fa4982604de35eab866f58ab043e4ad4a81d5c1d030f4682a1923a2225c063e27c6e8301c175b8c364ee8a755838a9fe04fd7f724c0394ae5b078fd5778e758f2d7f1dcda810db8b1830e4735f3c06d6595864434b9a0219ffff032bc391ed5b397f65b42c6fe802a993c6f7fc7137fe52d3e6b8d4a3c25b40df4f03fb6600e2b45956ce37aec5adb3eb87f880e4962d8e58c9e8ea6c555cb4c110070329de76d19d02a1f98de6ffe09b1397aa1859d9e6e72ff5f6e5d2bbe5c948f9e2037f3a388348cef96c1cccf3ba9ee30ee206bfd251de2a4c8f7081ed2fc716f6e200582003ee37f86d960a06fe3f2e298ee235e27e5c9ee5ade9631defef99b5750030e05820ffffffffffffffffffffffffffffffffffffffffffffffffe1acd0b69e6f052900582003b889ad936e2ee9bcf3b0a63b3ad46da144f4aa477efa29e5105f4f30bd2c60480508df4682780aaf005820036f0f6deba412aca29bba4f26d17964603be505257536dbef994323d20e2c705820fffffffffffffffffffffffffffffffffffffffffffffffffe8c67a75a2be0e000582003b752768e4b8e2c10ca94a00d3a50eb81804428b8f81f5b602477b066bff3e05820fffffffffffffffffffffffffffffffffffffffffffffffffc933b984a1d19860393236108b46b84190162d4475e7fc765cf92bc144262de67828e29524629f0bd00581f02c082462c3d305b8cd10a19fa82b2b3da95eef4351e72efaafd70e4f39e7b5820fffffffffffffffffffffffffffffffffffffffffffffffff51d41b971631bf100581f025129370854c490ff4595e61ae72d01cb35e3a3c8af19fc34c802a0f775575820fffffffffffffffffffffffffffffffffffffffffffffffffd69a174029e50710209021994c803264dd19c3a0103533f5edbbef1226ed05847b1cb564ca148463c74f3521cb11603a0aa114a79c269d6769192f1232a9af294532c14be212baec9460fd26eb0ea7c03c756a56788ab325918eb07b6a68855d49ee25f0dd134655e3f93a755f0e10a23031264219444f5c40edd8db1171b5c1266392991b09eabd56b5259bcf6f0542f86036cd0700daf2879cf2c2d5ef714b06a8130c94e1f7693b4c015276e9d9a037112035a1a510cf9fea2f2d3cc504aa32e7fb421d2f689787fc1e1baabc83abc6a49d0030d8bf8d45e83e57ed62012775b7bb0dbc4c3fe6dd0b4a1df5a7e8b54a20fcd7f03b9ddbf98391a70ad14784b25855881a2a93bd55bbb55e9cad189cf0fe7e4d0480323ed3603ac601c7e5c86541b87841782f9d58e850e822d4da5b782e9b0ab644b03c1443806458cedf0deb008c857eb084686ca6957bf61e599a05e8d61c7d8e1f803924d4086e86ef994545bfd476b13a165fae4879c5253cf5a235e6312ceb5767d01410200582003749169d28017e1e2ab69a8c8eb7ec9822dd8c4e7ab2c6cc4c4c8b7d180dc604804ae8c928876bf2e0058200358bc201078ed151caecf77fccd48fd34c0cf47559b37863403c6b66880fe505820fffffffffffffffffffffffffffffffffffffffffffffffffb37532ef9e816ea00582003e8f78de8416e27a10c099ebb489f3d6478db7d566694a202f8c09b958c69705820fffffffffffffffffffffffffffffffffffffffffffffffff21aac7e875fc66400582003ae3bb88330639268dc17b53d77f6f6436056a66dc3cc4b96558f7ba47ac4105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003da9baeef89acb740ffd50a44e6e23b4e7d90b406fb4c4f9d283de8b8809ad05820fffffffffffffffffffffffffffffffffffffffffffffffffe2d3874ca56cec9030d3a29d215b6d74d1ac648a284d8707d0bc3d5e738a1086e3c8cd0cddc1a7fb000582003571f3426dc8a8ee1113ec4d6c603267fa196ba9eec073b132d9c098e54122047193c2a0da96a39005820036579927407e84feb3cff9ff16ce5d6fd5e89604e97f6fea88ead3724c5dfd05820fffffffffffffffffffffffffffffffffffffffffffffffff102b022f0ed76d9021914f703a47e91967e8f046f589ed2af50aab27bc10e1443a913d15111d6d2e28f3a5daa0219ffff0219ffff05581d0228de1f7993a21163c57685195a177f597fc8427bfc4ff6b83619b2330701191b3705581d02679f558c1326a3bc2d943bbdec4623643994ab4bf72132c1ff8ccd5f0c014774c0b97140f000020a05581e03678fbe49b844df7ac720f7bb6ca8b45f7ace017906c13f44b62ca844300c02471b12f5804cec0005581e03b001aeb7088d5b2f4803cf3432a1567cf793540d0af5b410b50eebd0c0040805581e032b5a0a305be19e8c699e46a7f0e9b6dcc2252badf7d786a53cde7776d0040103195b9b0ee0991636e16cc206855b2f8edf40042d8f36aa3a6dff190dd0a8152f031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03c451a497da7bb725ac92b7f51f14248f14aaa7e694924c578955618be007011bffffffffffffffff05581e03629878b81e1ddc380fe5f18d102c5a9669927f7dea09506763f2c372000c04471b5ed49962726005581e036c30a23e75152c8dbff08914aa04e72e12ae17c5ad3a587da469d74c30040105581e0360b91f8aad76f6da89b129e9991534d4408df08dd58cfaeaac671cca500847354a6ba7a1800005581e035fb111f254a323535377bbb53b4e265531a481efaeb658e0fd013dd5600c0a461d367562318b030f85d69f92b984f4566e65f852943c301cee005a8afdad4bf151bb2f7b7d00c202199edf037ef1ba078314720d85b7fa8fa3f78476fa5ce27ea4cad972022d5190c3377c19032adb36465226caf600787cdf0219336fa794306536f846cf48b16a181131b9b603145cdacc059edae2ef905ef08929d767bea798ae131ee95684433a3ed81f8b1703d2063c728bffe2ddf2d8b4c9682af23c4efbfad6977ef33d76af7066d92c273d03b46627dae32d1b766b732e8fd820d3af11a5d2924ab4cda47fd3bc22e14b761303a8cb36e462d72ccabbdd4559370a8a3ae43be44940456ae3d677e5c34b7c6a4803ae0057900cd693b5e113554a5900bdf7c5ab2ed58d2198725812d09eae0ba10503834c0600d67729232eac44a86ca474c0ecfe6996028b19f35053bd0b353c06bb03f0254fd5e681bb898b4abda8b60c49ebd6b3bd5dab5cdf03fc0bfe64b6557c800219ffff03090f3c6309568778aa2d3398852541bd0da88308645f672541a0a8cd8200043003b698928c9d5d64a1d96911e46777439d55713ebff3c5bf175b606e828b90500c03e466c717d7b3e34b0a716f60914396848c71263206647fc2845e4a8323914ddb0219ffff0364db03169806bd5b18caca93d13b791b1e9ef565da599faf81281ee3b0d52fe80306e5c413a59a283a15e84bdbf02d18ab25f66c78d49517945220410ea44d433203f394b1e1c24351d895b38cb6e27c3a507f7c666e0ad6cdf46f38b57fc180ac0d036c475bbba039cbd768f1ebf5246a990490c96345afa66b84ee6d727189e800cd0344430a4985ad2b51d59c3f330a36c1cc3c9edca703665a205918a9ef64856f7d0344239a83bf476ac7446474c3b59f1c7afbb89f24d5ece4ff5f924de4460f3ae50339694ec17228e86dac6dd05aee85c666d72372020f898e745739abfd290735740335b6facc1f1f2f34d7a9d8d2e55d2dbfd426a1d42374db112b039ef17232976f0389652831ca8cdaf85093b809de6be860627a85c808c4f296985bbaa79f8d823f035db27136f4ae96c55c2a14d69878414655b2595d233d7a556688f5e4fbcc22da03cd822e58dd4dd0a2ce78e09965a21d7e8299617143b5b09c5ad5b844017349f5030a614c84f43c22dab51e9219968e111e11a8b282a44c56bd89eb0c6580dcf51b031c42b635e16b34e03925e70ab5fe89bdbe937d850fe21debf281833e38c2c16c032734b1c5e6e1d85e30cc62030bcece72770491a04341acbfc5764993f456420703987dd621cfa1cb1e3a41c43757952f93567fe177178993aceb4bf5e6982b87050219ffff031ee4db6d10a2742a69febe64ebea5e381a6fce57b61fcbbe57e8145b698e2c4803c770f96ef4d6d3c4d5c015dae492e00e3e2cfc83066fa5775f322fc365a5748403144532b3c65c3f14c52af8421217c4c2d74c5672452074007e7f2aeab35307b90375f12db5d6d25174bb1b7f114ab4c85abadf02860402a2fb9854ccc0bf00bb0a0369b5a459dcc80a04573b392ea234effbcdc9e75d3ecb2a06bac966ffbba32c7503fce8673536c84dee3c3403d00de1fd52f425469847bc95480de1b226f7fa273303e0e4af830fbceff84e68644dc837b545334ef0d25d465f352b798712eca3f6220310875367bc2c295abb59f7a2e2cf9c116969f565241f2c56d29714589a712e1903609fb3b57d4833b78a150d37410c589daec5861bf07dd0404a6c96b1549cb165030d395d0d0abdbd4da0e338e956206299d812b6ee68004198d1ae6f4f00c87a270219ffff03d49f9fa6e9eebb2a9bf527234879311fbed96f8ee9f75ca52a313733cab0543e039655c19f07f9057c454622199b6823146ee28447dfe2e99fc0294143958110ef03fa9357187c3eb2d502e3f4e5e4e53336d52438acfb96ca8e02a66689566710dd0368c5f1050b10b6a040d3ca9a0db53e2f0da46a3f4c79ae7ceb597af4953b4f800335382251ead8953f9d493877898bd0af158d96595491ad9de6cb47647ecceb30039515bcb5379b564a2efcfb10c86eea19b2d0b5b8bde6073f9ca5e0050f36ad1d034e0f68877414d57880c8eee02bbf52c399538d06b1052ad72854fcd94b09c64a0363dc75b110d682b85c9c1b61a0b6e50290b108e7ccfe5b2b601a6a6ca09e93fe034daa8d2630979adeb7a37e59468a95ca313b3d74205017450bc9bf1d41913cf60367a0269d1e33c3922cd2145f5a81d0b18f28747b77c996edb81ea0d6bc622e5b03e4754d6303c34cd0cdb916de644566a1b8b9ad15e6e732a8faf8f9c84b6ac9ac0344fabce5b0978b15252788d7cc625e708ecdc768c82b47ff53c98f69cd9411f803a406b61bf530c48f6dd040ff2cc9d7a8f368777c87dab49d9f30fee599430b5e03249d7a9f0501699490e3f178e727a047ab08b6058a3b8da202bbd87f610b569c03d3cae4693112cdfb129c34d573d9cdb052a3ed147f5d6d17e1a5fc4b4217c838035050f8d38962732000edaf60574837a117611d8bf618d0e025ffa0700db5729903345d8647f6ccd9eb8337b846b0528880041669e8ac1fe18ed8cb4fdb43adc8e103a98d7473b5df26b47fde2e43b95b429d6ad3ed81748df1b09c0e5bb8788b81fe05581e03a82e3876df42156252732c2b5cd04db40239feab766aa0c96e2e56b00004080459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56401614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a0329af36edc0688a6717bac68046ec85f41c1a09f256e9d6f433911fc0b0153b7f03f610a425d08189ade937d2c8ac2f55ed2875f35a8b15905693a19cac5c13c61503fe3a41fb6378684e78d0b1c213a61adb2b103c4537ac77f91f631c3cf026adb3039c0f6b30a94147d260941bb1aa56b773f53b1099ae7b0d39c52e1316ec8ae9ee036ae423fd4c53599afd7a75dca16110c9281cd4c420a24475a6b5eb78c3fa949e03f29aa3bc746386788414609b86c09c6cb20c1ec1e48372a23327a286d7d5f1b103517b4dd58bdca5fe0714e662e44d4b37974d9636ec3c8b039461f1d11972df1b03fe3efba64aee0dd530a7ffb2c71e9e803e4d3d1216b469bd063caf3e74f3e47f035dd220dac07e44658efa9aa2a99a1dc8a1dcf1473be957b5c074ea12be8cf7db0346824f964245454c38cc76bef065e8a8cad4f21895d5db22dce06b2423a23319030102bfc23ba784620c436c163de38a587c86b4c56e504bb9d85e4ea73b80dc6900581f02a270d34a878c930c200816f97e27739de97d856508c62f1a70c0f0a87c0951688f5974132c86bc481ef98d07a14a5f89033f4a57d0d9d2bb8820f5157277a1236159b2bbdc6ca2d4eb88f34c95fde75aef00581f023f38a9332cf604d720097fe85a95bde0c644e5f7fac7df870ff2deab889c4e553aefc416af25c8b4a3ede74b160379e19c3fa9583e916e40800a0ccefef0dc40897e9111288a2b736b680c960c6d0358f170543ffc5ea8f40b4ae819c9efa998c463c930e44008f7d1fe6d0b66d0020352b6d995882095f8cba2eaa59cfb69198787ebb942a8648ac796f6274e1345ac035d8a50a4fe8862abdf75e25419c8eac42d46b9f880ab1a057de5221d24e7c40300581f0207d2aed1c22e4caee8114f1030a54d68b5bb045decda87a967692d2ae8f65820fffffffffffffffffffffffffffffeed5add836963bbba34c25d5a88e6c6041800581f032ae9de3a703a4e67beb7417ca9d3e1c00ea360d1727270ebb63174542ed04e1710a1db042381984d4765a565050361dcfc1abce5d6cf760509ec06dbd3dec7993b11f938b577ee6ff55e37328b4800581f03f1ea8dcaf4e3082fb14f2f614c5cc395fee9ba77ad1cc0ef543d465cfb905820fffffffffffffffffffffffffffffffffffff902c35efc45837deba9aff13a7900581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010002d302d3026502ff5300000000000047f5948ae768bc774572d03b95500219403803436af0c2f3433db1fce59d30c34721fdad29ccc950fc3b07cb47f654a74b4a9403370fbdaf166d6b422382bea4fff58fd7fec311620e9da4a75e1907c2aed3349a0219f2f9038367ef08bd1c7ea95d155b82ae0e626d5bfd6f35aa763e1a18851f831a1337bc034953686845a49637eb489ffd7b101bf39aac9298703642defe92f6656ab485bf0372d09587416ef0d3b43a9a30c5fcad278c76429e5d466f3eb65ad93d55acfc3503ed87163e68cb80317566197f3cb2e792b5137d9da63defd9a915b816147ef2b40380a5d9e35a5a049fe86051834164a00eb6fc7c3f5e20801817a77cb8dd0a0a9b03b2c187732ae44cf7d9afc6963c0754bc9f844517feee2c2935cc36e7c9ef6ff803b3f98b2afb42cc8ad1ca009dcdb77a0eeab2e86429816b504a531f178ec0b416034ebaed06ad7775edc7316d5eacc387aa9cf029bc4dbfbef475815d2dd503332b036fe978b3b37df48cc5e5da8017740c805c0003797552d999c144ef82333342ef0340081f63fd4b0a4229540eb048a60db7d98692390ba9172e45444da4d151fbd903ed81afdc12279c711f9ca6f373ba2f7df4282f8e460a769da85630292443d2680335491ac5185d0aa70064339049cfaa8d80de6a32fbb790e90a7348fabfd29d7c035c140e3ffc15cd1780b26ff4dd0fe3da65b96e2e3f3cc7fdef744d7a94e3ca7503f40c8751bcd9eda56741e9b3b1983ebfd40579ce15d10ce0b1df93857f46bb3003cad54f200f586de90954215f1a41cf5faf0b0393b63ca47a151486107cc4abc10219ffff03425c7d09b2d2dc68c5d14515e6ab13b3be9e16cf46092b2bc068627051ed5a6403d05c41a978e68d1e3afd4ed49d560e9a66c3b620eb189c1932174fd5117351c003ed2e16b76bd8efdcff27828244912a80a01eb974a6cfa8ec52e42a4924f1ea17037bcd3e3a8c1f79d8d0bad90c8076a59433264605b91d65fc3a246151eb1fabb0039d11a0c105a09b89bf868e7666020c02441ca99564f501da693e295c93bc9bbc031fbea22cfc75e413625d785b01f7a7de619d8aa9b59d7f4178aebd78cb53e9bd0219ffff037513dd6d9b65fc0f2e938bb1b5d6cf24e9d3d1d6920da5225387ba1b78bd1edc03dd5aaf0528059fc2250cd27952ad3b4a0ff5679f25794da7b2da8009c5f1625a03718d883ba3926428fe18389a83b7e824d9ecab8addead794c67e8901d77ac9b903807ed06874a8e7779adb5e705c0497287d5156cb7fdc78a8c6e0660fe81352d203793a4a912393b8c5c1e3ba64115233b700239a6651a9a6eaaffb8abb26ccc6e5038ccde2afded510811fe107111c944058da3bb7ba8f4d73e53932610c18701d970350fbd47b370708c3eb0c36662cdc1b00563ec2848dbafb5f60d2dafe393add4303196fc24869b7404a73ef35a5a1e107a8511121cd328787f801dd1d70ee5f78cc00581f026f67741fb5c97fd4e6e38587aed89a4c5f99bee0295dfbcb0e7c15a7126b5820fffffffffffffffffffffffffffffef29b5a3f7d0e6bb297400b624e55488c1303a9f555ef0ffddb36d4a0abc960bc6cafa5cbfb6dcb801ea0d4252ee5cbc0245900581f02038109903912d00002891821f81f0a003742e7d185c60385589efd6527eb51bbd881ba23f711227efd1b4228521fcfce00581f030d8531f14ffa0edd1b45a359742384f2590e0f5b52314fc8a83c6fc5386051315636a20608c5d3ddfe83c952f198010000581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0520fc2a280fb494c731d352fd7430a1700b9d902190110034a61fd180e182b77c38735a82ef8c961455d08b6ed71f227bab71a02e91fbd250378438b9a80a2e2a8719bebcb41ad60d46644d3749d328a6c8081c01c65ce89e200581f024e822ad8405b6f4ecf0e8b15d647cb42e09803d2e97a698b7d9870fdc44c52033401fcc8a02ed0b99c7a0ae488497a1d0703a627bdf904d65b61931928965f7c96dfd0eb3d931f5b058806e208b46f67221000581f02810f14e8c3d6e05584679faf9ffd115180b163d5f56815227280ae2a67bf5820ffffffffffffffffffffffffffffffffffffff8b1c82d67baa165f845dd94ffe00581f0296b1232df14614e5c12968ea51a5d83ac39ac0e2000def3a7dfd1b98d383511d2d29a9f6f630d5c4d7617d82a289d7e6034f5034a4be179c1d3f7b9f98500cf9316a0de5f5ec59d19b4c0e9d557765d12f0219fbed03161b75c340f3d96ee19e183b03c7933bd1b0b76e819931281642e60180778e5903e71cb224f610decc56c144d62d99ab34a5a9661598977f8917fa17659bdd8d040362941244d7c38690a0b443e4feecdb3234ceebeb94ff7e0f1d7def855ae80d3503f0a045d2b45e07ca6d0a0601422b1661be4067ab8cd41a9e5dad00d738c75ed2036d9b4d4802c6262c2e570aa67e22ae432ec6c826a2806ac1277169693f7dc0c40373f02e2822e20972951edeb9c8ac80ce4935b69eabe2f6132f8c676d1748f9d5038c2ee08083152925e6953e9620f15349c7fbec43afbd25f998d202bab461daab033cafdbc97e7dc588599697505b8f0414707946fdbd40e9b6fd16174673485a8d033aa8729ad6f71b61467849ead56d083fedf98d5e55b27a3ed65d8b2f435a00ce03a7254876156edbef4b4351c8361290ae780dacddc45c7711bb7c89fb1b8b5efe0219ffff03f683ca30a2a28b87a89a47aacc419cfdeb72f5a365b2b4fdb86b2e34248867db033240687260c2abe1d7573921353c24d8ca3890240967b75ddef4f305cb4596fa038a887b4cef33c4042058a21caa786d7e91bb492524839f94b908d78f79b89efd03cab1659e2f04e70d9b82890c5a80eb36e9324cb2d86152cd29545e8ce49fb8a40317df036024861ebb4f4855f5375d20336d2e2504aae1fe69cc25a3e951f8facf0325daf8cba7ea62028e23b6ce0881d4ea5e5381037994a8fcfbde3e58ee3d2f6403f072cdbe72501ee905b598001e7c0f725a69ffd6bde4556fe53c57438f47c8ce03f793c0a20008d162ff0c662ebfc89639ca40dbe954eaafcc0e81ec8a13248bed03998a546df84eef6cf2bcc36b15e070af7c28146f37dca4daa781e549c3c36ba303663c7bd6baf927792c665f2879b217140a89eaac5c270cb158a8eab13fc4cab4030018403a1e331c24c3ee7e2363c12efd89cdcd85c054d7065d90986fe49a6b6c03afa1c7432ff716d54f7e5e4f2c926231f3ad8590ff42275f86cf0f8ef435d2d003b47e9dd22688b518ecbd9cc0428d0f0affea67d172bf53a0bdc12a61b5cb591803bdad0b13cf6676da2c49362f8b958dfac6ff316932c86a02508292a50ec1e01d03f5b1f18359f7144f2ce763e78134f1936ce5dcca205713b2844b08f061fb75500219ffff03d8b75699c9331476b8166d73d6776d5007e45b2eccec61ec9fd33d98e85eb27903fc42863a3b94470e3bbfd79bb187ca9b28ab8fded2a51bb8a7eb2dfa0b6873ef03ab6ecd14088292b51e29b2b52f30e3651f8209bde41ea0aa0026852cbb6cca5b039bfe7ff4966df99aa1056f95dd0a00f3d3df931688eac25e2e120146b44c87ff03e39bd69018603967386df052bf63476b5cd5c456dda99c5377f8f7bbcc9e633503187cf201e7f8fb01906eba8dd3a5a799fd7e9c61d8ded74998141635e71a60a503ec2a64d52aa532950684419a944155fb170aa2dcd295edb866735873ef5aa5b903222743b194e03d7c69f176180844de26d0a849490f190e1f8f02ef071e4b4fef039f56cd200e2adc1b480f62671681903773a5736d8d26f572d75d1b995397cf7f03dbcbe72505c91509c717850b183354619ce4253596ed513ea17c070ee19a34b9033d4c784f53b57aaa0a6981a665f4e569868abc219987fb4da39e2c495508608d03267057fddf115106348ca586be42bb7738aa366638d0660f194bbcd5f5b741e9032e61ee3703f4b15290a3fa0cbffdea8dd4db0c303122751fb053bebb599cdbda03abbd8ceddf28aba8673c6be5b85538e764f27bacf8fd277879e2107d2782f1400343144bffd102c45e8bde126a96ef652732330afbe890c9f9c56f96da8cb8c09803bfa39a4a4035911ff8f9d83e7be465cab338c79d7d932ee6f149fea5a987bd9800581f021cbd3f4ff6b2e1ffdc9724674a9dbd7424f3307c61703c94c0f4aa8277f94e0595e10268dc42533fdfb1e31a3500581f02304180e4199135efbe7733fed16c32a46c6fc22b64bd08e6915d78f7997d4e0177bd23edfc737f455439d9adc003ada0a23da0d9991e80fa39d7fa4dc7ffab791ce2974c192fc40d844297cead9300581f03ee879e715c21f77aed1536e7aab05e9f0774c0a423b76699241127d720404e553d2f26bd3f26cec78c03cc547703e94470e6364aa93956f48eaf977686657b0d3c541367c1fb8c4ddc3fcbfbc1bb00581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0485bb0942131beb58900581f03e2898c2da6141ef1728d6a6d3c435e4437a98398c1be7a27025ec8c0ce004d0ef3077d434c0b6377b8c4cf480219148200581f023ae9a21ea4d07d15120a8a6f81b993753a000cef837befbb7c68a148311b5820fffffffffffffffffffffffffffff7ec2a7e9cc6fe18fa4f653882291d4108f50396576604990d6331227986c73ee2b9e2897cc478fffc06a6ff26357cf9c84bdb03de7d0f3505fd7f78967b4cdab85ff93e50cc03020d16de4b463cb361a31f826b00581f023c0c993e7c49514d47779dd63c54669ea03f430c64f9b05e50d712bab3c45820ffffffffffffffffffffffffffffffffffffffa06f4a6417f9d31db0bb8f022f00581f02b043595506c12c0e78b27989e21617b71e63b7e3a55d2f5e472c10973ba05820fffffffffffffffffffffffffffffe24bbc04bfe0c60f8493c54a5dc197e17e50399bf7948bcbfada507c1baf5ec90a15c2d2d4dd58465b2d6f0c32b87e616a905035fbad3d94611fb9aa471cc1231276dc2ecbb572be679fee8c1066e91e8a84d6300581f0234b85b242cefc5dac60a1dd953b1881f44db9e4e8ab3150f0799b32b44b25101013be52bbd8522223bd05058d2c72e0900581f020774babe33ae54966706c76740c86f170435a4f1ec938b624dacd13d408a519649e7be9f42bb8878c04107149b0bfdfa0219f7ed03513e44f2c06bb0771a2b6ccdccefdc31523d64725c6831f549c16a6a03d003e703a513dee84e9fb22c126b74255a2ed981c5cb8b884bef707c0ae05e85c1c21ae503bd78760820266d44afb553a1a54416fdd51a8a30c06e92be46d17b8725f62c2c03a993c4c101123f18374f5913efd9e36272bc28805af4214166be1a9e1303fcf503f68d303b2fce068fad597904008c9fc70f0b3da9cfabffe0514355bd5e39c12d0380fa520ad165e69be149a8adf3fc2f15fe4030dc61d6e619964fc648a771d4a503654e77f97c30d8da5f1da8fbe79fb39af24859fc3060e0285906239735d01dc903682f16a0207bcae2d2d8770db0f0f4a2780583790eb561d5944338bc2eb853c0035036d79b5ca703e27a302f10c3010b08c76a36e775f3b8aa53d5d38a321e70e5034fc89f555826f3f706cfc024d1068a7192f270be3b78518f79d17aa9061c816c03356843cd5c77f6b8e0d9c755ae51b08a664d31860539b536b0f749bd81ff9ac60391b95c27e46c0a9e3fb899a5f5211c8d6c37d893e033afe348c6f48d40c7aa850219ffff036274feaae3cbfc7a0febb8e1834838f83208856579bb9b634fd4c310c1ebf4f9033e717a34808c5cd07f38d9da1df192f8067a47edc2e2d5916264dda50d80c82903837ab0ecac42128ff5f6ed6291a11b153120e3afc8d1bf39a903c3876586571f036f45982422a88b02f84502ba6857b43e3935ed045c5ac855753f839ac8668e3003cf12ce3782f0e2ab03f24c8f465862c8a6d512f41b069fc3994868eac1e8aff503722fb6b65b9230ac5351ffd191b9d497faf937cc59c05b65225d9a0a62ade8e50363ce0b7c115662409240c6989f1dcb1ce7d4c61934312fab8d4f44eb0d612cbc0388be707fe31800248011801599a43e36fd6f266a62304789f0b5b9d465c677e703d793ad27bfa775815d8c6fc04ab5bbe42f2fd475d55a41a2cb36f9b234fc003703b9727723fd096f653e529caf7495def84811060732c1f760d706260ca68ed5df035dddf6f55d64d79074e4d932c2c042ae8f6e8cf0d24fce704572f37b257648bf03c12aefd2424dd72f929b29973327eed748cdea55b21ca8513c7860b55c691d74039d25125399931e034166c5573602dc1ce282ff5f36230fad5e92d0379c09e84500581f0207a4ec6c5c28665131640ffa84926e0ace27570afab248f8c15cbf229e2d5820fffffffffffffffffffffffffffffe1e75d0947fb4ae306f5147ea67b38d8ced0394ee3e003a9c41ce77dedae2bd6fc0c2083858ffa708e35254452ff5f28d6e48036b7b63f9817f31dbee9a852759a41fdc69a9cfa779f98b192e29f869910d8e9703037be26c95cd6f79514a05671b460aa51a3465a5a1c345540855ed3e43276b3100581f0214a316424a65ee1cc2cac6333a589c5b71cf1291b2c85025eb39a2c97b435820ffffffffffffffffffffffffffffffd54c4f7c8432c054b6516447d540bdfbc900581f02e4f5b8634c00c4b684f425f427f4e3105a7a435b85d690dd96c0715f6bb54d67534969d3bfb3150614cf9cde00581f0283ca3d3ef68e03615301483f3a5e619a56c87af63e1023d6216767bc27115820fffffffffffffffffffffffffffffffffffff359389c60a0d9b8dea3c0283d1600581f0258dfd7ff564a85b62fa11d867992f07ecdc8dccabed021e37861f06a43515820fffffffffffffffffffffffffffffdcd1958864d507ba10aaef5d30cdb0ce413031183a65dbc16b4382ab825641a88b929b180c6edc48ef44a55c012df51456a4700581f023be2e1951dbadd3468fb5d5c8407f62ab18103c8e7ec6a116524bd3f9a6c5820fffffffffffffffffffffffffffffce5aa83186accce08eb5985d3ae04b419ee03aaff3b175d1f92adc3ccb5287e4e32b458247c6e27829140fecc2aca04bc17f3032a56fd8149de2f94fdcfc5b65030def24546087711b0a6ebf4766956a94ef81c0320ccdf63b359569ebcfd0a59782c1881c69ecd306b23dc5668d65ebbb393f8c403edac7c8bd2777987e9be58b52bdce1551549aa51fe7f250f42f1a172f9899fa000581f0337fbe85ffccd90a955153fa2054d1f2d72999fc3a961f8ca21187f4fb9905204a8adf2ef2b2c164194aed35d087542fcf900581f034507d586979bec0bfe77864feb7a81fe1b84f1a7a44c9f02d95f6c28bf105820fffffffffffffffffffffffffffffdf042caf79f0ac44ac5ee44be8aafa0629100581e02748c526dc96145113197d472bfddfc33edc8a4959e57156030b2d1a3095820fe7fff35ffffdf7fff9fff6fb7fbfffdfef2efff7fbffff7fdffffff7fffffff00581e02cb6b5095bfed1797135c69be933c8c53931683aadb1ba383cf68ab5daf5820ffffffffffffffffffffffffffffffdfcca261af7b4896be032dfcfaf36c232002191010021906010219fffd035ccf0b2bd868d96bc2a6b657ef3be42dcc8389d8b56df4575d7ad6c1792b20f1030d3639809cd91784035d20b2102c25d10edf28343add5036f2a69975a91bfa3903098d3e114027b4347b75d7dfe6c53dd2841aaf77c978879eacea49887790ffc603d2fdaad5933770fc36586702118231b6de8d668c4d7cefb67d1ecf35bb7f815e03fc13455eb53c3cc3ec343a5030402948c93f353145ac1c72fcd18237aacf32680219ffff033bb1b29aa12b0e60cefb6adcf9092e474adb87c77901927cbbee1c8cfa525a680219ffff0332058479fcd1065a9acd41bb732e9b3167bf3a9d79497da57e27ce34e5d873e803434d7be7a538934c3058bf2d490803ab669b6300f880122115ac18fcdf330cf4036c82d0c9e9d6c65574fe4db9be46ae3325ad11ee90b369eb08b1e0a9e26fd84703a2325251eefb7a2fb025ab6d60cbb7d68d5228318824f04f9c4c1535938edc2f0316380f6bbd4f015e81564fc169ac546deacf1e33782bba1d3decbb37ab3e364c03603756efb4a8f2dd9b7fb811bc2c4aacc2625c6a17025bdbbb2114ba66be873603d15f68c42e9785c68017d2ce225a5b3811b4c08783856a092bad4ad4167670220219ffff05581e033e8ac06c4bfdb2157482e7a0a264c20bfd39bd733cb3bf258faf72c4b0070119567e05581e035cc3326b15d4214027feba1d57c66e93819dfb9230fb9164794fa0d730040703b118731ad716c6e8af4d155f5c808fb6dc606d84914e7538713b1fc0f91df89805581e03f8426f382a41d09c9d0763379a4a28c2fdbbf448ec3b2323e29e14c5400404033d060472145459f111fdcd47ad128a07a8a4be7d018e0c07f2ef0e1a4c2e89620365f2b060d60d8738e0ee34086ad609cdcb0b23e62c3a0c3d79a9b1ea4b1f4403031f667e6a796099f0d6530a3cdc55500b1f711c4910315aadd09fe9bf32d3d69e05581e031b791e75585ef506d27454c49c394e3f3315e93e149a124a53714d486007011bffffffffffffffff05581e039313397e5cec9598415ccd0f40eab2419de3d1f535ddb7b6610157d0c00c034701cd36bf697c0005581e033ab6fcfe51a9a320ba7905f5943c4c6588b5357d4b7f421ae4cd1e04d00c014501e7561a3802199e0f03964704a77d5cb79c17e67dddabeb1f5650211c6a52002d3248abe0b73c5d8994031a9180fec21ed5407dd8688c125a2e26a625e550951385685a27e8dfaf814cef034fc0e9e4ef7889032abcdb8cef245fc4dd6234584cb3bc826a2b32fe50dc955903bd305e6086dd02836127648c3f7e9e46c865678a8271a3bb4e06a52ca3b2c54403302a6e3a7639e2f376d95ca137d3fb17e43a2a36d653b0684daaf628714212eb039812387d74432f7da8db11eec11f02706876ea24d22fb82d7a439a9351365b0403009d642f86d510fdb885a295d049e1fbdd3cd7f07a3a3d69d90652c8e26e935503ec205affeef476cffb983a9f99f000fdb042ea6912abffdfb87c4ccc46a95ec103d34a847509e2932e76d90760e9dfc07defe5a093c42c584d322ff311742a41d1033b26a3856346b87c311124c11b177463c1e6590a168962f5439b2c1b343850e9030aa4908aaf795d8a4e75d59dd391657625191cafd87347f2e8addcb53c070f5503121e0517b36d4de39c2b540147815c86fd8cb506ca545e0fa5d3c638ac2bcc22030e132e05f9139c6690b4e6988e2c127968298d42a69fdffd6843669ffaad09cb0219ffff03ad4b250055eff0b1df55789f059319599394f285ee7fa95f7060c0f9033ee6bb0344c1f6f8734137e95a29bb2238a51d69169c648b1f8dc870ea23b73acdfef45403416cc78aa0de5f2518b71d0efd37506a1e5abbff7417b45585cf62bd26d148a6036d5143c46936c6ccd4267f8cf9d8d905a498bcca2eea6890f86ab0fa9cc8e091037d078ebdd5253d0927ca8ffd8e730cf02e0d96093729fff1c7e0740e26a1b23c038ed641b714dd5eaa6b81d749ed5f8b467f4d86556d91ef242bbbd602745a11280359ec2f6706021924664cfe1e4cfe4bd09d55cc676ef5dfba701b57a785e964f70219ffff03fa899ecfb924ffe700417d9dd6f1ad47e9a7a06fe8ea3fc0ed53963862396aa7033684ae5e5d369d234f3a262f3f13db7ebe4c59c8a331c91529632cc179ca279e0303853d34930903e0fd226b002cac0175383d856c2f7673a0a04ca6e2ca460ca5039ff779db3a7fab15db9b6c654178658f1aed9ed82827a59d7f5e812e6dc463ce030962d3dda6fd33d4cad719aa44175f770b10bc1d4ec407b1cfe3b5854db1fbc80334049b97a1b9dd0448d08bc722200ad42b1ad97507fb1eea7253b45ffce5093703483871d79262d33e67416a912c3245f3771f1d2512042e9c277cd91b64393dc3037099985662b0026db76cac400e861a54ca7b3f88dcc45d9736dda87e81ec427303cb569575ce2a507e420c9f35396786d67535c8494d25c7cd88011c1d34f3ec0103d9c2ae25e1d45d9c5ab95b6282b708ece3712775cdc366c68797d74e1e7619ac0219ffff033ac44d4352f4d2fd7e00b6595b34a208de6bd8fff8a126e2a851c9e70dd0cb8403d46c0f80c4182f9ad82daaad69998610d65c367134d888770b114fad376e7e930321273547b7a62f4af4b7374320db715b99a8571f8aee40a8e91fa89e7c798779037877092ef3257f332f674f665bf49542e5584105fa6a6859788c655d78f2dc0b036211136728dc1e20c8ebcc19e7dc3db4dec12e2af180478c08cd7c630e345f5303ac6733938e69303607b92a16c4a8d3f6b29af8fec3a73f4628cd140654cb255f03ac7e367d18ac71c78a67d91c0bffa2a0f25f32422dd41e1aa9b491f745580a3e03f86ea03c749f3104b81f006b9062ae2d4dd6d8f3e9d9ff619f7128f06eee552f0376a8ac227b60a68649f9e79d231212c4c8266e29fd42944e6261105c8df11f6b03cc2a776a5c2103bf7dde4499bb2b0a2e295df19b0e64895e1d0a5370d92b4d45033b7fb376d105941bc3bd2ccb984446e6cd1f9e8dd5835321d866802eeb320eb2035665ba8f97972abf0f9b07b11f991753b363b92d0746de582a7ce131c766b6ab039c3d805fb7384eec44c44b72082e8598e3a9abb4fa19e861383e39ad3c68bb4e031f45d4fbac6e08a61f2631461e313e4c73af330c1653fd47c3e0b1cc96c0a4040310bd943687d2dac04c24be398c21478e0d8456c751b031926599c2b0b1ee37da036aba20c9e716ac8d6b8110aab400cf4bbdd78ee1abbf8928d201ce55055039b503b2f3fbcf77c9221f0e341580f4804a31e9c41f20f5081969ff4074d7397510ad030c5abc1f220943c9fb5439c258a14f971e9c0123a85cfd1c47c6c3f460c75eca035c1ffdfae67dadd7f0d93a07d112468548af0102336be47e68b4314e6b7dbb7603321a86abcdb0c38455ab742874db05641e1aa39e5d99eb1efc9f80a1816b8ea703b12cc78e436861a5e25f51034cee137d821f283e2fe149acb1cc2d1e127f3c4103bcaf6edda84999bac4786f451061ac5c91fceb3808721b5ff4dfec206e98a9ab032fc01861bfbea3cd432202da18f7dbb4be501fac191064f6274dc06b03d4e3f103cd20252a3df05b5c2de0753b8ce84e29b2f839d1ac92083dc8a221ab353ae39703bd329be3f13d0a66b1c492bc3b59d33d83bda7b51debd8860fb43d531805b1570399e1a0927bfe1beed19bb14d167f96057ad130279d7a338a03137890427dfd0b03182e15c1a218ad47462981db2ef47081ea09d284aca37cf08977e52b4b4eb89f05581e03e28a74e0adf64ad7766edd4d0922c87463b5a9b2d680dd9f0ff2478ff00c01410305581e03d56eab0d671ebab17e5f230aeb1680fc4261595fefaf7f94fe87851b900c024703152b26458418032959c5e691a783f74bfc32ff476f99d88966142dbd98d12fb8c541b957cc166a037dda54160513696088b511548e01815df1ca0b5b3c56bd36022f6aebb9058c4803381c1aab926aa0619d81ae1f6a7e27af5c3522bf6ecd7328e425cc3cf13037c2039069ab295f8772af9e92ac2c64f7e3f65358fa5e0d30b94bc19b13b6ec3a77ad05581d02c5b9e6f3a59519931512f810c38c44eeb73109675e053c84c90292de0c193cfa4808aa131644a05a0d05581d023bbffdf8b791e1f94b72352dd60860ab6b1091f9ed617bbf6df15429040302194002032b6194e0f70f2f7d3fa186cb6215777b753a89fb9679ee261ea6a2116ff4969f01410705581e0366b4ceb3fff755459c132886b006bc64e673a99ca158e942f64310a8f0040305581e03c20beaab6b721f7246b3a4f2676f615c43c652b75e189859047ddd0ef00c0447010b643590600002199c9f03d08890405cf03062581b382621fb93070010f93dc4226c1e64365bb9ea6915e403c0f10d5a3c68048e5e9ea774055ac1aeb318a043b146d5de62d5ff5a8a5013b8031b1fbec02736660ca99cc43b9520782c965e05c5dd04601593abdc4031db416b03989d70f4d08c64a6f2e0a9992b8e88738353dfb4a5cfba640a37a94c074337830394e5aa9e3b1f0e48a6041950164fe49243efd0d31560ebeb5ef7a77c4f623f870219ffff03cd58bde23d47df2f800b97867e33c1cffc2ed2f795d7ef7fa231dfeb5ac4c78e0339f718c9a971d2295be01b5a937f94497e6320d01a137cfb766374f20c11cbf00378d6f2f95115ebf56d8958222d2449f59ad540ff843e21451faff6d43be90930035fbc9b040825e4496619f3e6088a6169e0427a52206c810a61508e6570bea8840385d46b4463179fc19ebb6affd21a4bd103673aced16cb33d7663f4f63f66839803684df90b2ab35df19aeaac620de8467d29272d6473613f366907e5f772b8421a0219ffff03b73c870c73380e12ebd3f748f1b1b1a886eb47f499fbfd2a5437ead2b68ff94303b72ba000e957d88e4e6f039a78579578aff94097957e43ff860ec321299239f8038aa810d31b205e8b2d7c081d93b8741b4a753066f841cca8036ffa231d618744035f526066f6c93ff371964c31577baeb4832b5a4fb35d0fb4a1bd19e5bad12abc036541aa71b150b83e8303a876ea0bcd70b0f818a7d62460721b43fdddd66e0472033ec40fc9f8c3cb97f989d4add51dcc5c5665c30abc39315dce0c97c1314122ef03eb0443cb22f3f5f90edde8a1445583429177f9772a83990473d75a100fb4389f036b4874497feb0d6b52915015644779afa05e4bdba39c5165e2e814cbdf03a0870219ffff03afe04872711b677453d24deb80fab2e574ea4fd9288763d3dceb6252816e04e403f13fb9297021fb2e4b3e4acaf358780693e8598d9d727787d314471e440edf3b03cd122602488a4cb7047d930a299cb50ec4f5f89e77963daca4d9236a592286a70395c46f1bdadb2537d340a61e7fdc5b7ca58a87b1bd317d8d379601d2bee20151034166300cf60a94edb263adb634a5a01277c7bc415bb5af529918962d0a743ce603ed423fdc93aeb03b7d8b5fde998a018c6ef7720e693f554105319fa492a92a9f0358b5bd91fa18127b2e693d42db46f195c8febce7d80b61bbeaa4dbb8f9026c6d03deb603d2fc9a52e479199b9a1349e69715cc4fed2abf5b77262bd68703d6b7d803533d3d2b603e2390940f69c8cda7c4baea57c093ca5d3ed707141d19417adb4c035b6b0e8e7ed08e5f9361b32a7ae692590e9646b11875c850c579c380dd2d40630344c36c25b4146b757e64b14f53af66807a104931833dbb3b7e5eb9028a6ed07303b391fb462aae5dcf3c7b1de124459c88e5694f3d950a18691e144ca885c59fc003e6b6d8e28b03b3543f3057c9b0268a1b737cb89b9276db87a0f1f1035da06c4703d138fe90e02710d03cdadead1620d6a6c25b2b50ba28dfc7ee365d773dfec489031747118364e1eb14dee71f9f477f6031847daf21042c2a91684a9bb22242498e0337457e2cb69196c09e8c7913f2b353d1cbf68850fc2f69ec79af98fe6dbcec7303cca5c38de0147a555b4846280ca861eb07141b5a00cadb36f0d62561ada543dc03a7996ef7909afad52fac25aefc5a307810b4bdecb554cd80565c7b0d785992c703b73f907d6a8713104adf51cb0d225700d73bd20e2479352ca8cf1abad864f9b603b6a26a0f6e495a3bb0446947322704f2c881dcd10bbff6022c15350dd35ce889033bfc1ff7a04cd310775b0c045b1aa4ccb183f97f2c844b04c652b5f00ea5851e035d338c6a03a5f83e9e1b27f13ca52a8293851139513e08c01fbd3d9f6428425303ea94721e9c8cf73bd83decf305300e219e924c5802d8e4eb5ec73001e289dcfc03cf2cedbe80ab45caaf246013cd7c645d16a76632ae9b7de3a4e1961223f5a1e2038744a74448b65cc7f8048b782fe35634a81c3b5ba656271d561c414f0c5d52c80366ae3618583681d40fc31382a4ae97ee582de7d98f0083694f401a3653f89b1403d8046a5834ad2afc03c66fcdea35ca3aace072e31a92ddf9f3177c666a1abcff03860e57c558d09e211abe4a59ee8afcdd525bd268129e542a0e4cb4054de27e8c037076c505f3279f266a5307f5f6bb7ebe5058e286867b808b5b7de45b0bd7745a039a3ad1a79aa94e3b8e5f86b20766b645c669814a3d1e7cbf6d943cd91f0dbf1b03bc4843e3f4ce937eaf8353b4865b41263d1cb1bd22eb56aa2180e66301fe9bb905581e033aac4bdf2e4b94170e7f06a5d1e3e6a76d99eb520c693d76d04b71a1700c01461b6924704ad803a609b1bfa626de2c905520b94b0d90a4f8d60ef2aee3ec9592a6cceb842bd03a01410a03acd1e9e0c6ab35fe25af0011d3e007ce6820e5dc6f5e90e68877eb148aa767bf031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03e1fa399b6896fd4320344930d2fc89a296e01d471d35fd25237733b7c007011bffffffffffffffff03c340b81c7c4cd3befa14a04d48b9be29f4b550d1fa15e875cc2dc00c344f1d5405581e03d0ff3a99a6e6932a0d9eab14a03abcf95635da48ec0e56fff9aa24a7e0041303e80f6860f48a5cf65ae74366de996500050d40b80ba3cfe2493322422224e5aa05581e03f644339d9ebaeeb41b2c3be44ce3d8b177226332371a0935ea853592800c02470233c351e2d6aa03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903991e905f1490a579c87d89d0513d40fe877ad5b706828247627791d112f631b005581e03368deabdb6e3a3fcd3be505eca93a1ae37fd7ed6b72c3b1cb753996ad007011bffffffffffffffff05581e03b3568943e957d605a1b920066e6dcd8cf7729e625205599ea23ec1955004010388bcaba36beeac7d213bfc4b62a7186386a8bbae9eeb02f7fd08c94a0b426c08031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d029951efd3355e3700fcd62bee75e163837a42a67e0604509be106e03607011bffffffffffffffff05581d02e60f1e1e32302fec2cf87334897685a452d65a941b8c18810500c7200c034718bac391e0f8240219c00005581e0378a61187ae6a56405a303356625baf11097dfb0a3bfa06344aa8fbbd800c0245e8d4a5102b0219ffaf03d63cb88180426a83815d2f5af7267ab486d6dcac5d0f281dce28cba381b2f61f03a3a7b768bf10734bd9d57a687b2b825ff2e24ec5e21679d6c8e0d707bef4654c03ce669017075109e0d59b86dfff6c15b055d8fe809fe9232b262666593c7f443703a3934e08d1a43170ae15b4d0c45a1c90b90a7d18743b620f6e38ae1e4e752db603c7b91918e8c33a996f45199d0f054037c5a84e081d56c4a8bb1f965926ba4dbf03e8af38efc078cb7bef8696a5996e42c88e4c2b2a7120bc16a8343e821001e588034082a0680dca2145b4550e95fc06c1897f426324dfabd777bd654f0d6b0e29bb032ef57dabf1307730509f413a73ddb7d96d7f69ea7373c136423eef9a079fbe1d0219ffff039d7eae2acc4f2340af2faf6f9c6eec817f73c65fa4ef024532f5c4609b178cb403d0304accdb264d6af18723afe7a606c76d92cda6938af1895de820233f6e9eab032086795984c1dfe1c85b1e2b4768974ba6c984036d85b12402a4d3bdf7419cc00219ffff0306ea3158d7b8579ef15a76715dd3762a1e5dd80711ec7678434102e6b8decefa03c76f260353575953229ef20769253f004a23176b0c437adb8d583db45f82deea03226b3ad9a03a758a2b8df2e39f4165e37a5d747f3001d8817ed380af8cdfba3203bf8c468326c320032f9aab68741717dd9d20624f100d34a522cbbaae1c406afd03322c611061ee84df82b4af73b6af52b0b1cd2fd2e6538b4a0d3d1c3c197310360305fd34a00ad6b770301409f2e44c70937b8cf8ab7f9fdacc0d705e19befa91a80376c5bc62c3ab5a9796fdb21b6aecfc06e6a82ce700bb4399dec8b15c9dccf63d0333fee01a9e340c6b13fef0a7d95cfe7038c273041e8314a5a86d3f534943c6360219ffff03cc511fc014c63c241b6db27128030c51c5e3b84eb918eef9d9891d473c6b43b20368886c3efc410c47e891f468fc647a53f5e2e3cd609e13fcd3f3b17bd37a640403d8c17f0c9ee8e485bd82e807c70ba828a41168aa4b0004718f72cf68f135a3cb034f645e9eed4149f7ce607b3d689a3d68d92827d4e0d9b864b502d360c409775603dd06dc3a04e9fa82c1e63de45a39084e82d6f2f16ee6c1d217b5b12bc950a82303b9bfd132842e558b14147c3b241a9d4e7459a43e42f8e1761ebdeeebefdbb185032b6d7c6ed0bdbbca2424d122d1a6469c7a0d797d7e738355667ed449e9bae4ef0351fb846fd0e14413bc7e6f3cf6d11bc0339c2d8e0b4bccf88952998ee91b5adf0383c0001f88d11d4b29219918ecc181f409a66f3baa536b528711f3a4cecc8637036720c0d9461a8847955736cbe30061072271e94f59962f77340c4c5023eb73a803564b3b03f2c610171612b5868409e4035c93198c8932c54c6436c4ad7edbf34e03d76cc0ca05c4cfef19c78c087730b37c1770792b83d3ca7eebcb6e29ccfd459d031d814742c45c1c8ff34effaba3da28d9bbdc8903bd501b31d91d4a84ee5ed5390346d86cf6992d2588339fd0376201dff4c92c26f0f8d0daee6739624e92a1c7340390a482e12abcca7403710d92704303d5f86947c31517370822b06f561da4ab6c03ce22bee6b1bd38d582f6cf30396e54d23d6e576be604a79d37354249bc96993b03512e478bbc647f0776c2e56a938b7625fe5a3be53687642c208ffaf268e71393032a13892452e68e26cd359cbef26d65ec1152bc63aaab935261048e8a7f903abc0349aae7af59394137003c6063f5b83e0efee5523b3abe757f2ff94d3fbddd3e2703bad48d29271ad173badbd93745bbe9d988cad886fc1409e29dc753376d996e7103342628d60e8b48f8cf9d77da2db0b8024d2fd90daf46ee6a5ff88912d662b10403dd0275daf7bb464aa992161a277ae4e8a868545ab509fbb6e601244460db28a60330ff1e363377f60495ab875844c08c7108a35abc091056b6a17b6b0b719f7141038e18ee64bbedd020ab44ee82f14a2243e9502ddfe9c614882bb2e005d3787cf903d9bb405a618924838c52f5ba1b2a9d4430c77386f062874fcd010578eddb999f0362c5bf99b9ff01b4e58d681106b75d9b8f8fc8632010bf33f702751913dd6ba903244222f4910e0da8d656013496969acde00eb2655d8b02a690ac3826596dbc8c0381c40991e2cb39e2d565357ca367c3ee9cfe183a94d31b64e05095a345b624bf03932fec38319b1ac4c42c200b8cb2715f31ef5eedebe8dbf6e1860fb0d8c4e98103012e80c7aa9a80c2a5b1647ccdfd8fdc3c7ff1171e8e737ee661faa75375b08705581e03ba96d473f11d8649e4bb6f3da1f4e30d30dbcd772c2e97056c7d38a88004010322b96688a14c7fe0c463aa5389c407765dd864a8150f2f6e95014cb404f7f12d05581e03e6e555a9f21997005f995e8feac6860eab1e83de57be4b706cc262d580040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c634300051000320311334c939cbd3af1ff868ea0cbba0345a53ffe43eaf49af7a7692c433080ef0503667257e60f0288e569184a8b9e600d2a229f3f77a1bf5d498c80a3ec0d54123503331ab80c75fcf1aef17fb8c1ede3c957f6549a70c0d82943b1507c8263a7577b0312b793ae405b82a1ed3c1b8b04c4b06bb7beaf88d371c9b93b7f0d3388c6cdb0034fc9bcb033e958c83a87c21e1971f29c37f39f23f6a7b57e5666fc84e0bb426c039676c6a4e66a08a2172eb63263c83a08ad36b967105d2ed415df1a2205a30a0e005820027aa4e993f65ec434e6d116c4ad7269acbdf21ea20cf0195b03396319a255f6464e1cf2c893420327e1fa82d59ee857583440a8a8cf288765a28a74b1c5da46531543759e08487d00582002e99470b5efd243e73c2b98d167a1656152967878544bdf74229be6e637de3d410100582002574c89eba26eb19f6e397517b30b57960687030a92eada7e9369feaaf57d5046348c8cb8ade30058200238e9689977d526f580531775c606e5a07c1ff4f40a9ee98e4cca4fe145a2f4410200582002cd6db730126ca067009f9be5f81de8cb22de86a27612ad202a19a6f4efc43b4101005820023ee37eb48b162e9dcf95eca50a2fa35f2a0662027b1d1f56fce3f27d610dba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5419b24d9c8ab2e31d9d46437bf2479b223265a474021966e803207125ea495e72632f8b722cfe111da065036c79806a57836bf478919a6ab3f603fd3f53111c583f625f6342ed3f74a2eb6b65d488e97fc4c094ad4586de5c6e1d036f3910d843533f23bca75666b00a080b27c328e133dad386bf7d395d5443aba7014108005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005820022bc362fd460acceae129f927809523cf34d3bdbbacc39d81667b61a38764f24101005820023fdadab0d03c72f6608414f2eaa28f7c189d8c8a88a40a8c0b01c960a1c3cd41010219114003d8d6018d19dfe9ccd5f143f83dd82944701a3793cd8c8914b2041e61cc934a2300582002c23c67f6014776d50ba9cefe42e33d9de8e92210002402249c7a30e78b70be4617c8ad1c404d00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820e6d9241f0ba2cb36020e90ae5e918d2fbbf3d04835ea3aa4e72a90a18e769130005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85002ac23c6aa06ea79ac15f71a70a268a800582002d88eaaf1667e791012f44b2aa806bc95de7c313a8c6576cb1128a51eb340bc460839ee5fbe0d03ad916f064cb778061e403db36bf70254d29fe91be19d8c52daad559de27f1bd6005820022495234844fd100f54ebd009c4a46011329bcd6e771ba63e2ecf056c236cfc4101031d25da2ceda7598285e1d2d5764a79b0163a81268919378a3288d402dbbccadf005820024996c1cb8926856c79ba35bfd23e3bf8d09052753d85626fa53cd5d3e1fb6147026dc862b69286030fc7e8b86a2bcff7c07e4e9b68f04453a1e5ffd1c5b1838b0366ef98b42676dc0219adc500582002081fa398a315e3766c7b68e23a76e143aed202796ac389c31ce1c8b8fbcd00410100582002c907e5d96bec71f7cdba4fe420cde1472a70fa7bf75c953bde484368a9c52d4101005820022c16b3039d96f2b0386062c960b59875e9362b971d2584080688ae28536937410100582002eb1c229bc019f28f1834c2950c99971d25d1048fb63bd1d72ef6960945d27246508a08b1905d00582002a62f54d4511b16709ce9a5b7dfe8797793577e75c897a94a5b6af6c79510664101005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219c42303fd21b4840b4a527a0950f7ee694210cc29236842ce5a36d8c888a47ce923c3c20058200251e39cff708212beb6f47c8e9b4df78c1a8a16f33524c3b0a584b145a4fc7f410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687db2f00000000004102f1d52d03a5bc8b00000000000000024d6ac27bce0b005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f054576e2bed8f7b46d34016198911cdf9886f78bea700582003bbf5fd2c7ba1fdc69e6ca2462ec57d70d70e8c0b6cfb016f6cf8bde3ffe2d041010219042000582002fcb6c817d3c53e821f936429a899bc41110bdd9f23706cd644e4fe386e2542410100582002b486d1a7fe98ce0e3c186acc1235383ff015dc24764ba99c568775949a9adc4701d2aa21f3b65500582002cc9a8271d90b478f35f03b33ae29e8307f923b28d44e496bf61fe82958205d4101021964490219ffff05581e03b0c228bbd4bf16a887b5278bff551c7ca616dceab47b240f44ccd501600701192c1d039da0f8e5bd5535e9b1b4086401c8f2ccbc64822b9d820a0615fe831d5115504d03f6144983115b8f1c3055fb137d9455126912352f5a9ae8734d780b0ff60da79c05581e03fdecee983b295aa8d9b72936810d1f1834e2e67b2f375b5a436ac20bd004010219b607037ea53b1e192418f067790719a5437b9ff7fe69dab0281e08c307679f7c8758ce03d03b90281604a2d9db2f96367eb87225e514d443a68e547792ed1a94836dd70403049d68acf03f0075404be5b4d3e548a87baff2601c670b19c4202701eacc5483032d4788ab62881394edca028ca3e325ffcaa35d386b4e904a14d062cba680c20f03e177dcb107f48ec30c81e0052a678217a4f3bda3c5c48849a480319a48f859d4036c4be0632f01f0018992608a4cc969f4b0d2ead16322cabc2b211e57e7c21b700219ffff03f5d6181ce031163b073ebd24e3f533cd6e45240b08eba47a8c5cac5fad228ace03652adf520e413ead8f72defc75f4973006ea7d035fd5d4799711c786f5bebf480219ffff036ddea11c13c3900b6534a724eacaa448e95e7da6df58dcc2f858b6bbdbfcf8dd037fcb274f5bf9d0b789f11352e8d35c4d777114f4f437495866ad41a5a98be64a0315894770c9d3a24f86c9919398189abe04ebc5124db802f0d12427409cb47f1b034d27e135ae9765fdee99531de76fa80b088f8bb3c075b3e8e590607e82c0f91703257c3426b4bfab9c0adc4896210c996624b2e843394c927b7a5c378ff861700b03f05cfde7975962938a6f0d94b2640aedeeb4851d698b463a6063967880a08cca033e492191b354eebb6fe11e2633dd146bef6fec9360dd3bc8c7b8b2af2b4baa8e03b9d70cf37dd961db433b2c64151d7070a792b07e37feb0e7f77b50adc8d6e16103606ec6db56cc3a2ff4e7bcee9826677faa52db3f76d97c05dbea9db4098203c70379da92de62d750d215a5e8e7e3548d756142269e7de03f92d13ca7f04960ec510219ffff031393fd120e74331cb7dbd844ae164f79e218c0a95e0ab29e4317684a095a2006031f9fd6a35b14ba03c22be401eaa78916bcb3d743f1a2ac6d927383d1a394c63e0219ffff03801fb430da78c189abea7ce31706058c1e71d880e6949c6a9f8f7782a887e592034640f491763f3b52854af82a5955fe94392602697a3b611cf4d0ecb18191aae903ef7415bcef76badd760a598161fbab1b2f2c0dce9fc774ba80b7f2eac4672dfb03433177e3c27f318cc5c253922320487e99b9d17fd5a1ba2b949c0c02a69083600336d29e9fa4d28b168dbe013282459de629f7369b97ef73aa37739d4e442b26d903c5911b530e6ed544fbd2d767ccaeae21421262fbfd9b731ace71a43cca53492703afdd29296c8fd454440c2ce74757938d1c86d9fe03c6c069cd757eae1d72070503a6f475d5b0998eeb7fcc6ce0f8c0e4cea3fd23d36069734a60e701b811501fa7037a64e53ae990efc515f1cdc7d36f704bb64e2e14f3223faa17a9182969c8f63a0391f67a0b00ea94c22e7f2a58e1ad6bd5e25076188f3fa614e4d1af1ec962a44603b80732b54c843b1093f95328f58ff4ede8d588ebe439b8b918ff563e932f998c03934bfbfee40f2226a9bd80fef6d76a3af3992afffd271acd5f41022c9b5efb6503f75508de42eb0f238c32fe4605b4bcc5aaab4b65092f066089a7f7ba43d6a0be03c3930197d077302a75eedf084fe20174ffb16e54b20404d0eee219e53dadc74b0397573cecd0012d77eff0ca221dc553e5e1da5b006c535cdc1ba212b12762133103d04873b7164d2e8880365c2e22d1457e9dfb85dc2b688ab87b4c10b4ed4b66ab03ae2590b2da333094f79058d824519525419b6f232f43fd3087c15fcea291d24d0302d7d7ee8b9a587daeac6c1b16e72badd7e012ae5b1085a91766f8c0021297cb03ca2bf84125435a654c6be3cf7b3142ec27da7db60ed25cb7759030b0f3a876460306fcc8ae60b36c39bcf148e0c661d3d02e854ef9be432acd90ba6338f514639203ab5143c2eea8db24864625eca217ba19c021d8c468c11021365d0e23946226980332770a298627fb33865993cdb4f8f48558fda3d047fda0573e4ffa0173eb21cc03cb43e7c4106ae46daa197e49a55911f43ae29c4b36e7c4ee43438dc1189d206c034771a0b451cfaf0d7b5bfdd5e5b9bcf21d8ac2ea7b95bdb960b41b92470410e003d1b3590906499c4854b722d7b15b48bc2ea63e2f04c3d701c489dae5c44d485803e588d4436d02582af16b5fa3bba4cc790e4235aa54f20c7801c0730de34a019b03d3b50b20bd7da3e2354cca4f574e20718835b805c57030369ca4f83aac5df80705581e03045e58f4d4fcb0d8ffa1360f7174da1e19587561b65b5791f60509cd90041103d8c5e8eb9b022a67f4bc3d7b4268de149ab8dbbd0e3ec0c6ae2d1b3cda9efacc03b3da5c51bb4bcd85b09b90f0e06f06754a36acca3ce359bc0d96a0a89f0449e705581e03baf666b34015f6bf653d06ddc5d93a293d71195b43f95855bd8dd089d00401039f9882b1b656c8c3e991f996d9454981011251bf8066dfcfe1409cc08deff2f203700331942a4b0f3c434f75f1ac8f77e8b1e4b03583e615b99e36328323d5a4a905581e03f0f7e2dd9a33e4f31314d483f8169812d50260f21f945ac792ee049670040d05581e03eb919ce39e23552b3f73adb7513a7e5658ce9221d3d84941ce7f1d6740040305581e03c3a738f0d5cf5d4dd933c3ad89a6b5feaf377021e69a7446fd6e3e27600c0346accbc8f0c1c005581d028cc08fd7a822b6bd7189de54e121f16c25aec86bd37ce612296e19c5041704592e116080604052600436106100bc5760003560e01c8063948f507611610074578063a90e87311161004e578063a90e8731146103c4578063bf353dbb146103d7578063c9892a5f14610412576100e1565b8063948f50761461035457806397645e37146103845780639c52a7f1146103a4576100e1565b806360c7d295116100a557806360c7d295146102bd57806365fae35e1461031457806378e111f614610334576100e1565b80631cff79cd146102955780631f6a1eb9146102aa575b6100e1565b6308c379a060e01b60005260206004526002602452806044525060646000fd5b60003560e01c63fa461e338114156102925760ff6000537f1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000006001526084356015527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54603552605560002073ffffffffffffffffffffffffffffffffffffffff16338114610191576101917f30320000000000000000000000000000000000000000000000000000000000006100c1565b600435600081136101d15750602435600081136101d1576101d17f30310000000000000000000000000000000000000000000000000000000000006100c1565b60a435308114600181146101ea57801561023c5761028d565b63a9059cbb60e01b6000528360045282602452600080604460008060c4355af1610237576102377f30340000000000000000000000000000000000000000000000000000000000006100c1565b61028d565b6323b872dd60e01b600052816004528360245282604452600080606460008060c4355af161028d5761028d7f30330000000000000000000000000000000000000000000000000000000000006100c1565b505050505b50005b6102a86102a3366004612b3c565b610432565b005b6102a86102b8366004612b8c565b610469565b3480156102c957600080fd5b506001546102ea9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561032057600080fd5b506102a861032f366004612be6565b6105e7565b610347610342366004612b3c565b610622565b60405161030b9190612c0a565b34801561036057600080fd5b5061037461036f366004612be6565b610681565b604051901515815260200161030b565b34801561039057600080fd5b506102a861039f366004612c7d565b61075d565b3480156103b057600080fd5b506102a86103bf366004612be6565b6107ee565b6103476103d2366004612b8c565b610826565b3480156103e357600080fd5b506104046103f2366004612be6565b60006020819052908152604090205481565b60405190815260200161030b565b34801561041e57600080fd5b506102a861042d366004612c7d565b6109ac565b61043a610a39565b61044357600080fd5b600080825160208401855af480156001811461045e57610463565b600080fd5b50505050565b6001546040517f8bf4515c00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff1690638bf4515c906104c0908690600401612c0a565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105109190612d2f565b905073ffffffffffffffffffffffffffffffffffffffff81166105d8576001546040517f7ed0c3b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637ed0c3b290610583908690600401612c0a565b602060405180830381600087803b15801561059d57600080fd5b505af11580156105b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d59190612d2f565b90505b6105e28183610432565b505050565b6105ef610a39565b6105f857600080fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260208190526040902060019055565b606061062c610a39565b61063557600080fd5b600080835160208501865af43d6040519250601f19601f6020830101168301604052808352806000602085013e81156001811461067157610678565b8160208501fd5b50505092915050565b600061068b610a39565b61069457600080fd5b73ffffffffffffffffffffffffffffffffffffffff8216610715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f64732d70726f78792d63616368652d616464726573732d726571756972656400604482015260640160405180910390fd5b506001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116178155919050565b610765610a39565b61076e57600080fd5b60005b81518110156107ea57600160008084848151811061079157610791612d4c565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080806107e290612d7b565b915050610771565b5050565b6107f6610a39565b6107ff57600080fd5b73ffffffffffffffffffffffffffffffffffffffff16600090815260208190526040812055565b6001546040517f8bf4515c00000000000000000000000000000000000000000000000000000000815260609160009173ffffffffffffffffffffffffffffffffffffffff90911690638bf4515c90610882908790600401612c0a565b60206040518083038186803b15801561089a57600080fd5b505afa1580156108ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d29190612d2f565b905073ffffffffffffffffffffffffffffffffffffffff811661099a576001546040517f7ed0c3b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690637ed0c3b290610945908790600401612c0a565b602060405180830381600087803b15801561095f57600080fd5b505af1158015610973573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109979190612d2f565b90505b6109a48184610622565b949350505050565b6109b4610a39565b6109bd57600080fd5b60005b81518110156107ea5760008060008484815181106109e0576109e0612d4c565b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080610a3190612d7b565b9150506109c0565b60007379071d243055e6d3bf9dbea842dda69905fa636f331060018114610a65578015611a2b576129ed565b7344151e75925860be5dba0d0f705d03abb6e6bbd9331060018114610a8f57801561125c57611a25565b7326bce6ecb5b10138e4bf14ac0ffcc8727fef3b2e331060018114610ab9578015610e6157611256565b730f3f32f5f684bb6f99b6f414ca27cded9e2d0e87331060018114610ae3578015610ca157610e5b565b73065e3dbafcb2c26a978720f9eb4bce6ad9d644a1331060018114610b0d578015610bd657610c9b565b73042523db4f3effc33d2742022b2490258494f8b3331060018114610b37578015610b5d57610bd0565b730364aabefc13885f05d8ca86cbe3e564cd07f6f1331415610b5857600196505b610bd0565b73061979019711fd0c9ef93510a996f770a9fc7b60331060018114610b87578015610bad57610bce565b73042523db4f3effc33d2742022b2490258494f8b3331415610ba857600197505b610bce565b73061979019711fd0c9ef93510a996f770a9fc7b60331415610bce57600197505b505b50610c9b565b730b275aaeb7e834520f34a24027091edba49b7a58331060018114610c00578015610c2657610c99565b73065e3dbafcb2c26a978720f9eb4bce6ad9d644a1331415610c2157600196505b610c99565b730cac3d1a887206e0f6169222c4504301a8b4b993331060018114610c50578015610c7657610c97565b730b275aaeb7e834520f34a24027091edba49b7a58331415610c7157600197505b610c97565b730cac3d1a887206e0f6169222c4504301a8b4b993331415610c9757600197505b505b505b50610e5b565b731bb9bc5be209b77786f59e739dfdb9fe9aac916e331060018114610ccb578015610d9457610e59565b73177b8ebe208cb71da818b6b8814c946c027240cd331060018114610cf5578015610d1b57610d8e565b730f3f32f5f684bb6f99b6f414ca27cded9e2d0e87331415610d1657600196505b610d8e565b731a54220656fa426a20331141324260398a549314331060018114610d45578015610d6b57610d8c565b73177b8ebe208cb71da818b6b8814c946c027240cd331415610d6657600197505b610d8c565b731a54220656fa426a20331141324260398a549314331415610d8c57600197505b505b50610e59565b731c8f6a5f009e051cab9c3851ca2da2c936b2775a331060018114610dbe578015610de457610e57565b731bb9bc5be209b77786f59e739dfdb9fe9aac916e331415610ddf57600196505b610e57565b73235909a5345af86536e4ddbe9f753db6b3c919f7331060018114610e0e578015610e3457610e55565b731c8f6a5f009e051cab9c3851ca2da2c936b2775a331415610e2f57600197505b610e55565b73235909a5345af86536e4ddbe9f753db6b3c919f7331415610e5557600197505b505b505b505b50611256565b73368dec1eb6e533119f8740c15613144bf5a668ca331060018114610e8b57801561104957611254565b732b728f85296b0cf98fc08f492e7f983636ca3870331060018114610eb5578015610f7e57611043565b7329d92a1517034636720fd3bd7e48c4649a249ee8331060018114610edf578015610f0557610f78565b7326bce6ecb5b10138e4bf14ac0ffcc8727fef3b2e331415610f0057600196505b610f78565b732b271ac88a4caa57e67b5bcb49fbea3d5963b990331060018114610f2f578015610f5557610f76565b7329d92a1517034636720fd3bd7e48c4649a249ee8331415610f5057600197505b610f76565b732b271ac88a4caa57e67b5bcb49fbea3d5963b990331415610f7657600197505b505b50611043565b732d525a7eab9b6645053e22816450f27ee242303d331060018114610fa8578015610fce57611041565b732b728f85296b0cf98fc08f492e7f983636ca3870331415610fc957600196505b611041565b732e9262b2a4f2934ab60c836e63029f52e296a55d331060018114610ff857801561101e5761103f565b732d525a7eab9b6645053e22816450f27ee242303d33141561101957600197505b61103f565b732e9262b2a4f2934ab60c836e63029f52e296a55d33141561103f57600197505b505b505b50611254565b733fbaea01b228368e67ca40d8cb195018fd09531833106001811461107357801561113c57611252565b7336a454aef52938c8637cd4689b2980c1cfd4338933106001811461109d5780156110c357611136565b73368dec1eb6e533119f8740c15613144bf5a668ca3314156110be57600196505b611136565b733cb3ef0368a6548f71357f4d346330195bca11603310600181146110ed57801561111357611134565b7336a454aef52938c8637cd4689b2980c1cfd4338933141561110e57600197505b611134565b733cb3ef0368a6548f71357f4d346330195bca116033141561113457600197505b505b50611252565b73431b5a84acc1297eda88259f300262f1bc3a74f33310600181146111665780156111dd57611250565b73421125ca608a35458b2c99da39cd55b70ba202a43310600181146111905780156111b6576111d7565b733fbaea01b228368e67ca40d8cb195018fd0953183314156111b157600197505b6111d7565b73421125ca608a35458b2c99da39cd55b70ba202a43314156111d757600197505b50611250565b7343e4715ae093a4c86b5ecddb52216c4f879e967233106001811461120757801561122d5761124e565b73431b5a84acc1297eda88259f300262f1bc3a74f333141561122857600197505b61124e565b7343e4715ae093a4c86b5ecddb52216c4f879e967233141561124e57600197505b505b505b505b505b50611a25565b7359927b1208051b07118ee542a86414ed74eef4b733106001811461128657801561162e57611a23565b734deacb315fc16b746aa3c5f42363a0bff694c42f3310600181146112b057801561146e57611628565b734bfcf7a62e5c0acc874d496182915c3642e64cb63310600181146112da5780156113a357611468565b734603180bbb8221157880afaa84638e0fc467738d33106001811461130457801561132a5761139d565b7344151e75925860be5dba0d0f705d03abb6e6bbd933141561132557600196505b61139d565b73479b454f499333551682214f3859c2520a83c6ad33106001811461135457801561137a5761139b565b734603180bbb8221157880afaa84638e0fc467738d33141561137557600197505b61139b565b73479b454f499333551682214f3859c2520a83c6ad33141561139b57600197505b505b50611468565b734c055329042980eea72b49e8b8f2b1f2672243e83310600181146113cd5780156113f357611466565b734bfcf7a62e5c0acc874d496182915c3642e64cb63314156113ee57600196505b611466565b734c33c0e010aa2cb240cf73a683c1c6c4ccab562633106001811461141d57801561144357611464565b734c055329042980eea72b49e8b8f2b1f2672243e833141561143e57600197505b611464565b734c33c0e010aa2cb240cf73a683c1c6c4ccab562633141561146457600197505b505b505b50611628565b73520c602cb82538e9eb71d0310449f3e2eafa9d1833106001811461149857801561156157611626565b734e3ca608f17ec15236a0ce6dff03175f89c2bdcf3310600181146114c25780156114e85761155b565b734deacb315fc16b746aa3c5f42363a0bff694c42f3314156114e357600196505b61155b565b73500af6e7c53dfd8e083e7e8c07f3898411face2a33106001811461151257801561153857611559565b734e3ca608f17ec15236a0ce6dff03175f89c2bdcf33141561153357600197505b611559565b73500af6e7c53dfd8e083e7e8c07f3898411face2a33141561155957600197505b505b50611626565b735687872eb3cba26ee20945e62647b438d309ff0e33106001811461158b5780156115b157611624565b73520c602cb82538e9eb71d0310449f3e2eafa9d183314156115ac57600196505b611624565b7356f03dbc2d16f4a252a7176e1fc3f05b53c6aad53310600181146115db57801561160157611622565b735687872eb3cba26ee20945e62647b438d309ff0e3314156115fc57600197505b611622565b7356f03dbc2d16f4a252a7176e1fc3f05b53c6aad533141561162257600197505b505b505b505b50611a23565b7366c4f101d61f784eccec1b5aa48cbac4e1512e0c33106001811461165857801561181657611a21565b7360b86af869f23aeb552fb7f3cabd11b829f6ab2f33106001811461168257801561174b57611810565b735a243879d1a43f48042c33bbc8051c69756f67d43310600181146116ac5780156116d257611745565b7359927b1208051b07118ee542a86414ed74eef4b73314156116cd57600196505b611745565b736046945c5b5ef5933b8e73a98a6ad7bf3e031df73310600181146116fc57801561172257611743565b735a243879d1a43f48042c33bbc8051c69756f67d433141561171d57600197505b611743565b736046945c5b5ef5933b8e73a98a6ad7bf3e031df733141561174357600197505b505b50611810565b736298357c08988e0229b00fca5cb89aa12c9f70a333106001811461177557801561179b5761180e565b7360b86af869f23aeb552fb7f3cabd11b829f6ab2f33141561179657600196505b61180e565b7364bbde373e909501de1309231336761adeaa07d53310600181146117c55780156117eb5761180c565b736298357c08988e0229b00fca5cb89aa12c9f70a33314156117e657600197505b61180c565b7364bbde373e909501de1309231336761adeaa07d533141561180c57600197505b505b505b50611a21565b7375bcdbc99d9ce8ea5c8b0298cf2db409c8a9790a33106001811461184057801561190957611a1f565b7369181a03fd84d1e2679eb520dfde72c97e1ce52433106001811461186a57801561189057611903565b7366c4f101d61f784eccec1b5aa48cbac4e1512e0c33141561188b57600196505b611903565b7372aa4640c61639b8df7f135355995a75d295b9f93310600181146118ba5780156118e057611901565b7369181a03fd84d1e2679eb520dfde72c97e1ce5243314156118db57600197505b611901565b7372aa4640c61639b8df7f135355995a75d295b9f933141561190157600197505b505b50611a1f565b7376e40d0a69fd81826b5eb7d18145626d46eafdef3310600181146119335780156119aa57611a1d565b7376dd32063b2899a59f6e15dbc474a160cc92275133106001811461195d578015611983576119a4565b7375bcdbc99d9ce8ea5c8b0298cf2db409c8a9790a33141561197e57600197505b6119a4565b7376dd32063b2899a59f6e15dbc474a160cc9227513314156119a457600197505b50611a1d565b7377eb9084ce8168901bcb11f14f02a7aab36fcd0c3310600181146119d45780156119fa57611a1b565b7376e40d0a69fd81826b5eb7d18145626d46eafdef3314156119f557600197505b611a1b565b7377eb9084ce8168901bcb11f14f02a7aab36fcd0c331415611a1b57600197505b505b505b505b505b505b506129ed565b73bd1876611b9ee9927d2c892479bff5b31e9e96d8331060018114611a55578015612222576129eb565b739da9e152ee8d6c6d504cb392f22039bb5205655f331060018114611a7f578015611e275761221c565b738e2400a8822fe2da5a8c52b7f7b412acb49813c8331060018114611aa9578015611c6757611e21565b7381ca1f172891be4573f88745eac074f7fea90d42331060018114611ad3578015611b9c57611c61565b737f63e88c8a1c65d1a25ac02c8d37645b96f691b2331060018114611afd578015611b2357611b96565b7379071d243055e6d3bf9dbea842dda69905fa636f331415611b1e57600196505b611b96565b73804abde86c3ecc4eb738c452a4cf129e151c3014331060018114611b4d578015611b7357611b94565b737f63e88c8a1c65d1a25ac02c8d37645b96f691b2331415611b6e57600197505b611b94565b73804abde86c3ecc4eb738c452a4cf129e151c3014331415611b9457600197505b505b50611c61565b73870b81cebf36c6ee34f98f04ae6f8ed92dcf5153331060018114611bc6578015611bec57611c5f565b7381ca1f172891be4573f88745eac074f7fea90d42331415611be757600196505b611c5f565b738d6e15cb3442ff24f2b8538c203b829f3d879705331060018114611c16578015611c3c57611c5d565b73870b81cebf36c6ee34f98f04ae6f8ed92dcf5153331415611c3757600197505b611c5d565b738d6e15cb3442ff24f2b8538c203b829f3d879705331415611c5d57600197505b505b505b50611e21565b7393f635372008b7c5d770aaa6ff313454c8dc498c331060018114611c91578015611d5a57611e1f565b73922b2b25059355fcea3bece46636e7bb234fed36331060018114611cbb578015611ce157611d54565b738e2400a8822fe2da5a8c52b7f7b412acb49813c8331415611cdc57600196505b611d54565b7392d6c5cb3b6148fde44d0d7295dbecb8dae40ef2331060018114611d0b578015611d3157611d52565b73922b2b25059355fcea3bece46636e7bb234fed36331415611d2c57600197505b611d52565b7392d6c5cb3b6148fde44d0d7295dbecb8dae40ef2331415611d5257600197505b505b50611e1f565b739a4b736749bdeb4b481fa57198ba4caeb3b07723331060018114611d84578015611daa57611e1d565b7393f635372008b7c5d770aaa6ff313454c8dc498c331415611da557600196505b611e1d565b739aab3f81604c683a1a0d14019fbfe15bef7aa1ee331060018114611dd4578015611dfa57611e1b565b739a4b736749bdeb4b481fa57198ba4caeb3b07723331415611df557600197505b611e1b565b739aab3f81604c683a1a0d14019fbfe15bef7aa1ee331415611e1b57600197505b505b505b505b5061221c565b73ac221503406190103b8cb7d9393ae66d9c9af6a3331060018114611e5157801561200f5761221a565b73a49beb93fdf20bc38c61d516804d87f2632fd41d331060018114611e7b578015611f4457612009565b73a2927844dc549ca7446e5ed3e007751716fcd3ee331060018114611ea5578015611ecb57611f3e565b739da9e152ee8d6c6d504cb392f22039bb5205655f331415611ec657600196505b611f3e565b73a483254773cfe94d502557099945caf90725473f331060018114611ef5578015611f1b57611f3c565b73a2927844dc549ca7446e5ed3e007751716fcd3ee331415611f1657600197505b611f3c565b73a483254773cfe94d502557099945caf90725473f331415611f3c57600197505b505b50612009565b73a5a13f62ce1113838e0d9b4559b8caf5f76463c0331060018114611f6e578015611f9457612007565b73a49beb93fdf20bc38c61d516804d87f2632fd41d331415611f8f57600196505b612007565b73a9f8db9d7791e40d34ee431677715ecccc5916c7331060018114611fbe578015611fe457612005565b73a5a13f62ce1113838e0d9b4559b8caf5f76463c0331415611fdf57600197505b612005565b73a9f8db9d7791e40d34ee431677715ecccc5916c733141561200557600197505b505b505b5061221a565b73b59171a8d1cff2647330096a28d73223e7b2739333106001811461203957801561210257612218565b73ad259a73b6b0b04fec294996064adf7a719d26e8331060018114612063578015612089576120fc565b73ac221503406190103b8cb7d9393ae66d9c9af6a333141561208457600196505b6120fc565b73afdc6373e653fcbd4583f41e2a5742cfcb5effc73310600181146120b35780156120d9576120fa565b73ad259a73b6b0b04fec294996064adf7a719d26e83314156120d457600197505b6120fa565b73afdc6373e653fcbd4583f41e2a5742cfcb5effc73314156120fa57600197505b505b50612218565b73ba4ff5f9d6508000b7fd0035bd616aaec070384f33106001811461212c5780156121a357612216565b73b9b4bb195f5dbfbd6f88643ec694996ad30f83b233106001811461215657801561217c5761219d565b73b59171a8d1cff2647330096a28d73223e7b2739333141561217757600197505b61219d565b73b9b4bb195f5dbfbd6f88643ec694996ad30f83b233141561219d57600197505b50612216565b73bbad96336943a36e3e292d973b3382dd0ba4d1ef3310600181146121cd5780156121f357612214565b73ba4ff5f9d6508000b7fd0035bd616aaec070384f3314156121ee57600197505b612214565b73bbad96336943a36e3e292d973b3382dd0ba4d1ef33141561221457600197505b505b505b505b505b506129eb565b73e58e5ed4544f58831a84c18178b911a5957ada0833106001811461224c5780156125f4576129e9565b73d1b076dd3b2ba2514cf9b02a5a425e1ec2534c89331060018114612276578015612434576125ee565b73c4d219b78ec5d105253e016d7401ce005ed7346d3310600181146122a05780156123695761242e565b73c140485899c3e0c739dd5e0f480317695ae274af3310600181146122ca5780156122f057612363565b73bd1876611b9ee9927d2c892479bff5b31e9e96d83314156122eb57600196505b612363565b73c4a675c5041e9687768ce154554d6cddd254071233106001811461231a57801561234057612361565b73c140485899c3e0c739dd5e0f480317695ae274af33141561233b57600197505b612361565b73c4a675c5041e9687768ce154554d6cddd254071233141561236157600197505b505b5061242e565b73cc5ce245a296667aca1b5855f1a05ca950017e683310600181146123935780156123b95761242c565b73c4d219b78ec5d105253e016d7401ce005ed7346d3314156123b457600196505b61242c565b73cf351e3b6fc104d9906897b16f2043ed593bea253310600181146123e35780156124095761242a565b73cc5ce245a296667aca1b5855f1a05ca950017e6833141561240457600197505b61242a565b73cf351e3b6fc104d9906897b16f2043ed593bea2533141561242a57600197505b505b505b506125ee565b73d68fe83d3834bf35c6e1aa8a9d81c56249a6188133106001811461245e578015612527576125ec565b73d295879063be7a6c49f7327afaa831a4f3f648823310600181146124885780156124ae57612521565b73d1b076dd3b2ba2514cf9b02a5a425e1ec2534c893314156124a957600196505b612521565b73d603499a2b0f8f5c5b344c361060d1acd89d1f033310600181146124d85780156124fe5761251f565b73d295879063be7a6c49f7327afaa831a4f3f648823314156124f957600197505b61251f565b73d603499a2b0f8f5c5b344c361060d1acd89d1f0333141561251f57600197505b505b506125ec565b73d6f9f050049d34782e934e40b946be2f70184d89331060018114612551578015612577576125ea565b73d68fe83d3834bf35c6e1aa8a9d81c56249a6188133141561257257600196505b6125ea565b73e43e0c27b0891e3ffdcf617d90c47be37d55ad683310600181146125a15780156125c7576125e8565b73d6f9f050049d34782e934e40b946be2f70184d893314156125c257600197505b6125e8565b73e43e0c27b0891e3ffdcf617d90c47be37d55ad683314156125e857600197505b505b505b505b506129e9565b73f34804568a14aac794401bd401ba2101a084b24433106001811461261e5780156127dc576129e7565b73ef491256a90611103395da600afe64bb062fd655331060018114612648578015612711576127d6565b73e6c4e99725541992a34477849c93901a96bf78123310600181146126725780156126985761270b565b73e58e5ed4544f58831a84c18178b911a5957ada0833141561269357600196505b61270b565b73eca2e2d894d19778939bd4dfc34d2a3c45e964563310600181146126c25780156126e857612709565b73e6c4e99725541992a34477849c93901a96bf78123314156126e357600197505b612709565b73eca2e2d894d19778939bd4dfc34d2a3c45e9645633141561270957600197505b505b506127d6565b73f0594c390e6dd5d4626d367d7fb2079b1d5cd67d33106001811461273b578015612761576127d4565b73ef491256a90611103395da600afe64bb062fd65533141561275c57600196505b6127d4565b73f20dce1e8efd106c871c3872200234225a20b71233106001811461278b5780156127b1576127d2565b73f0594c390e6dd5d4626d367d7fb2079b1d5cd67d3314156127ac57600197505b6127d2565b73f20dce1e8efd106c871c3872200234225a20b7123314156127d257600197505b505b505b506129e7565b73fa66759e7905297daf1e312751a85885fc2657773310600181146128065780156128cf576129e5565b73f621b27508b5bc902ff553d0323105c59351a634331060018114612830578015612856576128c9565b73f34804568a14aac794401bd401ba2101a084b24433141561285157600196505b6128c9565b73fa1d4ce9f0423bf353795ba85b47c3bb46e9a69f3310600181146128805780156128a6576128c7565b73f621b27508b5bc902ff553d0323105c59351a6343314156128a157600197505b6128c7565b73fa1d4ce9f0423bf353795ba85b47c3bb46e9a69f3314156128c757600197505b505b506129e5565b73fc23b61db3a1dce083e82da5a2ccfd91a2211f7c3310600181146128f9578015612970576129e3565b73fb9779477e5b4834bf2bc02dd29b97b344d0f7003310600181146129235780156129495761296a565b73fa66759e7905297daf1e312751a85885fc26577733141561294457600197505b61296a565b73fb9779477e5b4834bf2bc02dd29b97b344d0f70033141561296a57600197505b506129e3565b73ff82bf5238637b7e5e345888bab9cd99f5ebe33133106001811461299a5780156129c0576129e1565b73fc23b61db3a1dce083e82da5a2ccfd91a2211f7c3314156129bb57600197505b6129e1565b73ff82bf5238637b7e5e345888bab9cd99f5ebe3313314156129e157600197505b505b505b505b505b505b505b5080612a085750336000908152602081905260409020546001145b90565b73ffffffffffffffffffffffffffffffffffffffff81168114612a2d57600080fd5b50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612aa657612aa6612a30565b604052919050565b600082601f830112612abf57600080fd5b813567ffffffffffffffff811115612ad957612ad9612a30565b612b0a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612a5f565b818152846020838601011115612b1f57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215612b4f57600080fd5b8235612b5a81612a0b565b9150602083013567ffffffffffffffff811115612b7657600080fd5b612b8285828601612aae565b9150509250929050565b60008060408385031215612b9f57600080fd5b823567ffffffffffffffff80821115612bb757600080fd5b612bc386838701612aae565b93506020850135915080821115612bd957600080fd5b50612b8285828601612aae565b600060208284031215612bf857600080fd5b8135612c0381612a0b565b9392505050565b600060208083528351808285015260005b81811015612c3757858101830151858201604001528201612c1b565b81811115612c49576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60006020808385031215612c9057600080fd5b823567ffffffffffffffff80821115612ca857600080fd5b818501915085601f830112612cbc57600080fd5b813581811115612cce57612cce612a30565b8060051b9150612cdf848301612a5f565b8181529183018401918481019088841115612cf957600080fd5b938501935b83851015612d235784359250612d1383612a0b565b8282529385019390850190612cfe565b98975050505050505050565b600060208284031215612d4157600080fd5b8151612c0381612a0b565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612dd4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea2646970667358221220b5fc3879af9dc4ca98a5ca0c383e9738a3fc0e6d3e0c9cb398d76bd2a81ea32464736f6c6343000809003303f1d79a933a62c1e80ef11a9afde06f0696380de11fa303b6f697b0e406fc587e03d44101f0226867cc74440ec2000fa7e8456930acffb85f2b765b6341df814bd4031c72b57d9cd6636a1f756c755b54c8c799404964c6c506609a62a62717af482503f7f26ed20902a8916e6734abb3bba4d4a4ef930b2b11b9685eef50681989256603a7c4077f3b7182f600a8c9924b07443b091c8bebbb7b86ab9976f976be0f384c038146c36b359a94b9e00d517b95f1a4b68fbdde5d22a188a167a9312dab37697f0334e9c97cd0939952eb3f9859592b2817d9a8dcba3de462b694475b27f5351ddc03127f5ffd5c7ee793143607ddd1b6058961de074e79d2b36547045fda578df6cb038034507f93105e574ec0342d674720c7ce0c44ab180cf29248a27197d732ac76037064caf84ded10c579b9c76b7697d265408796f09b4ae8c07125c01ab7f4c671030f678e070aeb3c02f22045b0227c0017c3ac47b78bd918c0c6efa023569b7dba03098f8bed8cb0482550abf052408ba7b4c8b9bf4165ae540e76b99a467154d923034c79f77c0cc62f6e5da62d5866284a44e2f6fce7f1ddbaf27b0ee1a23d2ff4e803b05714a9010af3a23f0d3146c3bbfaa669c8b1fb40b92612450aa7852fc5698d031c099c2fc04189d59ed659eead5509d1275b6db1f8501891f00eeeb075efe6e9036a2428e1f9a4dd4f6e32742f54e696f071781ba1a4313529a7d1d459e278c88d0219ffff05581d02336e28220d76b6dd7f5108dc4ddf954faca64190d889a9f9cc66e4460f01490eb8fca2ef8c6e05ca192e110219400805581e03190db3b6aecd4f30c8381683fda9080d3bde6c906039c63c16c079c2e00c01472978b4b84a2040037dd7227b6031a70884a947666a6a11f74fd4fd47ead17ae817c8c3ee65e2c83903f3192b1b9722adac4fe969f814c90cf414ba51e31aff911673db5e6c6917330403431ed3fc4b3a305fb14cf8a4156fd171fa395d255648e3ce00502c4de52bc68b0219fe7f0311f16fcc6a53656e0124e674d13f0ddc84d97562bc719dde934a1a6cd3e4cb4103e29bb8503af3951e6719bf72f3ac66c9b3c295b395f4577eef94069a94dcdddb030b1422e8c78c62024944fc2bf864259d57950d20c3d33e94645d2ff3bb9fa5b7032c473f3aaadb43f9b29fc4f4741270de42f122f069104ca06432352c111bfff503b62fa8855626ed8326d65c8b6f43c375ab1fe0611540c22fbf8dcb717d1fda1c034a7230661eff2ca6e9143c0954a3f11868f71726644d21be70dbcc9927b5a9130345a6fdf2c0678a723aaf4ef1f78c55bc43a15fdef5fba53f519da09d4d2c3c690386103912be1de2f830bff5c0b8b0e6dd2c60bc89c5aab3a34b9b3d72bba9daad030f7898f52291726356cfe80891e44400a76751bc61f0662c60d7ed7c65d6d88a0219ffff0309eb57714d0e713ed88fbaf69890bfe53200e54276f24dff8114328d4d375ad5030564e5b19e58c1070ec590cb7daf8d9c5e15fa864d807dcaabdb8ba76cf8c8da0302e3f53f6047c436e07b93b0ef7f3144eb306827988774725f5f4d3e2d06d09503f634f9dc5848ddfb22ad5dbd4b833b616bf490c244eaf7fde8b2936a80bb272503616f535265f914a4d54425a294ebc1c62c010997a239f89f62d7a77a495cf30203d21b638287c85db409c70971831b4d7317a0cc8e8606a9517069c1d2d4a74fc70339057378cd4cb47579f5c610b968ef07db5fd77ca75e67476ad9b14a56ee6b74035f5f95ba7d0d66cbc24880a761cf82f98d1b13822a08643c867daea802d889070219ffff038fda90b179815e8f6450010d235f05b07e81841d53e41917e3094a82e09d2c8b0389833643b5bcb511125193354c14edf1847018c639b4651ec437e94985978a3c030ae2747001860b24477a2fb20e1ca14d9c07c47ad2555321629cb830ce483a6f03021e461c0b5a757ddc4f3d04240977f53acfdb1b0045437a26c7b69895f1136403bbd5dd279c46fff1f32e6ad02f899f0847d7814242e7b693517dae61e191d131032f1acd41f1e73a162bda5bfe59b1c24070988532288e5aa94099f28998f57e6203ed2f4a8d6ff75b2afb853b8ebf9ba2f30c814fabcb004edca8f043c81ddadcc303df5dfb8f15bd4848a93efbb33a40a3004462527c8d814e3a68cf337cdb135a920219ffff038ae0d6cdec29a1d6fa067659e430479da708c87607d19a78374b4be0f0f4c0fa036e25db2fcf247471dabacf063c420e4a730595d753c3539fa192cea7061e70f303c3f109e87052424df83fa63da1963d37e745da372b015535e6993c2ec50d24ff03b8c3903309df426f08a1ddcc28ed3876ffa728630a89fefc30aa03cabf82a12603dd70a4515a8f1987aed60fe4de860e11afda4472f8502ba9300cab0f45c1fa8c03b57c5b3e94c22b55da54f051f0c92cc5a77bd0e3f6b295c419471d04db3d1912033829f08aad425db9fe0a303601e6f682daed0be8dbeeda164d8a3ea3be8de5d5033af1201bdd04fc2a77121013b3df21a5b30801d84c5cbb66feff9f36c396c6e20386dd6a3a9447c3030e49845ba177d38731013e93ecbe92b858f4be5c890ae2f7032db2041f98d4d3250f762eede15f2892a5b79f29ecb26dab7fea60eee4b02ff60336d61cde67720f64b9eb217be27a1b0648b89a1ca3c71488c3d0f115e66b5565033cd4233051c51374a8cb1a810049886a7590a7d63b64e50aa4737fce3eac51d9036602f3aa0e80ab88b1d3218a894138e1039bd3cc48c54e1e4a5c23655dd36233033149ed293a279b1d132a52e57c539848f49afadfb3ee56af0083d9229fecab95035bcb3cca337fa45a5c8288baefe2a8fcd0c798271e2f5b8ca2336bb22d69465203cc070581bdc4eeb7d283d4e8b7469cd1600736b9a70b48ccdacf594265cbab8b03986f65ee5f580d95faee3df0892b58b04baba483c74c46ee8fcdb9d80e69eb26035205f68a09489632983de34ccac47dfbca483454de3561679a4755185cce7d0103e2f0900938961fc124d5c1c001d630471a5736c05c3a13c1afdc4819cf37df3603d462aa2623225c91966ffe22f0207015c42ae851d389964811861d47f1c72758039091f03382e1d781eaf6661e50675a88dde47c832eb6deed81eac44d7e4256d903e63ef816bf6c97d58d787cdd86d94df65dbd7b7d5bbf641b514ab2fd32618a0503a4e09bc4eacf55c56212e007de3c90a5ee42f71e487b1dc9dc09294e7af5d2d9037ce2b67de55c944b4a8269b8cf76c1fc6b197091acfc9f1fa90d47ede5049fa003685df72c5c23bd888278f665d44fabf53364b9c992a229518d51991c7c0f7bcc032d3d68aabd117610cd29ffa28db2f6ae5d1c887329fe25d1e90292668cfb0b0503b29fa7aaa998fc5d6d265cbeea58064376ff1fe53fc2590c7e3423275dd05aa403671af38fc64ae529c46820a54da32830121f44cd8ef858bb470e029f1546ebba03784196090bef1353cd18396f83f76de24fc6f9a00e9c148bc569e154bfa635ab05581e0329b52d950019a0fb995cf411028b40f4f42103ba47be00f36da9a9b1200c0246f8b54e8263680459080760806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a005821036b7d64daddca462c30b49208c384a27656e938b43b6b0e34101f75336961bab054ff000000000000000000000000000000000000100058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005821031a88f3936348d602f3078126bdcd162c575cb17fb9bbfe2dab00b167bd295c3054aaaa45d9549eda09e70937013520214382ffc4a2030e7c1b66f4326bd5cd276efe5a64cbfb506c4530abaac1455a0176da795fa254014106005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054543ba4aadbab8f9025686bd03993043599c6fb0400582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54f56d96b2535b932656d3c04ebf51babff241d886005820029b447f7065a8ab00b120178817a20d0bfe9df2d5e35b3bef3f6f3993b49d3e54e5965ab5962edc7477c8520243a95517cd252fa900582002b4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308581effffffffffffffffffffffffffffffff000f42403b9aca00080a01312d00021988200314623e9051e553e36e114ea2578266541e3c72d47ca570a4d3067495bea4a1060310b157b1af9af9f0d9ab7380bc962168aa823c13d20405e01b22b968b4bac41d005821032153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c2209775304401c9c3800058210323a600fc2e7bbdd9a8091855d9959a272052f76ecb052eed5dd9f4c0a21ae3a05425ace71c97b33cc4729cf772ae268934f7ab5fa100582103c15126c9d6cb6094f5d6f3cb2aac8dcbb22b2a1328bf6794f61b5e641c1be8e0440109d86c00582103bc8f8995f362b49feca8e6cf125f2edd8705b8fad62d9fbbb085a4a09e282c30545a7749f83b81b301cab5f48eb8516b986daef23d0219e7be05581d028a3393f0b09b417421a1e3efcc4ccb663996fd578780cf759e28d163070119080703562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d020d1ed86056b0ef9a6af3c03fe7f2ef28dcb21ac78ced1e795103a14007011bffffffffffffffff03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581d02d7edf90b0e0616dfb1f5076ed549bacb0cd6d73e52bb72bd1f29257007011bffffffffffffffff02182c035e59b0779e8f8240912b33a054403b920707fcea56f4876eb6d506253a9e9bd205581e0332fdd9402194571772ca7e887ead5bbd15d62679ee5704bfa9e34b5240040203905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03b6ef5b8d228ae746b618cbd352253c9e048bd231f10c03da82a20067c007011bffffffffffffffff05581e0368b985fccdee16cb6c60dd6c6d0e24b9284d7222f6b0ff0cc7f0a538d0040205581e034899afdbda696aac0ed5f2c73428cf80bf3c9b6f0e74bdecbed45b7f700c0147016bcc41e8ff9e05581e0324518d3134d3599acbd5af2100d9d15cf9739248eb05fbcc69eee45df0040302195ac5038536d99fd19748fa9e4ea6bcb6956a2d7c7fca1320aa5e0b732ce533c4510b42036f257aa0d081bbe55a2b7f09cdaec54d21ebf57b913c837c24bb676f8dda2fc7031511c891344e66e62432e9839babf0b73255e9670181d036c121fe9441979c0f03e2f0b53268e87eb0172cc8d5589091145ac0e4633f266acb5f64db3fd7c4fde103d51dc2d7d2b0ea18eb79bd0d4eb64d0da723817f8b87a02622336d64d45c671503f9158693f0849e492f2bd1821b0889d7dcf88d5648f1818b47293c30e92acb4203fe2749464c733ad282649d39f740736b134527e12ef735670d9b226c217120a10219ffff03bb2c105c506c439c8974babb9e6f225bd86019780dfa99344e7e3ef60f70331a03c31fb306c090e1a091c3d35590fea0f061f5cfd6ef0d6a383f308caa47f590f803ece0de65e3e597d96396c5353c3b7495fa59f3956e86d5c1299bcec609bdd5c003d8a9f80803e0162763cdd2f1c65c24243fe74921725432d6053dc6e2fe66d0d1031deaf5d3e1b9a5ee315b96799a59a9091140d153a4981d79f7345d28a01d961c0307bdd7ed480064232951bd72bda0ecbf986e3a4da6233cfc692c21a8b431e9e70219ffff03ae8903a64ac477b46f7e1a0d1ea2f85459d176fc6cb66ff0759f9f367e6bdae4036ea57e3fd09ea9c63e2e816e2d0be92dad2d9a4009fa909681ba3f14fdfa84da034fb47bad7f8383b155e022d30700f901af9b3638eda6cc2e1bd9d356fa63912003a4d0cdc034e844f1a2508bdb9bdf2e9647e4377f249f37c30792837b378c549c03f719170f4af60814cadf4d278ac986d6a5330b84a35c18f65c6eeca67b9b092403002593bc1c0313375f72dc4523029bf4e7112b20ba3a280af39b5ddf4d3271060374c3aa871cebbb475ed7e74ec46b68dd741bd3897b3ea3b9fb08cc15b86109fa03ae126a905b0f4e77c8d815ab798b0a9feeffe73c8d71006eccd1356180c4c6bf0219ffff034f0a9aaa68f80398cdf8c14e05d907b3a5a8a7b6c8eacb6910295362f255b4fc035d066110f6d2182683c0845fce665475d848da4d274875bbcfea8f1846b365cb0219ffff03393be614a22a1b927ce2ccb056fd0ef437b07f467cee274ac0c4a5b7c3812f2903b6be34a4b729476d829afb3b1b4253916fdcc552e7293d0784e74d50ae86772003639ed3d839f6b16b08e99821deba38109a95ce25c6dbfa5c1b4a8843f84eca3703a7728e6b2e19096523be6c9c8bcb9b700b35a5f916d4dfe78a8f685330c488e303e52b3fb959df390850e732f921db25fc7210fd4c882268ebea15e53c47911dd103d3eba81489f27e3022506b818ab40b770c63a6d212e17d18568b3f38c6e99aac037f3281e2ecac4cf515ee9ff15ac436ab792d0735b15663100ac189b6265c13ea030758226d91c227c33c0b5b8ca360b2a5a70e8538bd3f50a26030fb5759021b91034a29c9886d18783eea57797da3dd1254b6ed841a3dd302a07dd58d36beff5cb5039b29d71677e00ea05dfb016ce8836cb1061a7b7dc87b15aed7e4982177f136e203477d898b60702f583735e9699a90ccbaf1bbe68a91d2791a23e1ab93629462fb036a7f3f4468a1346f84ac56b9b4da06c1bedfd5dde8c43ecce929f46e8291e0510322e882ae7497d13bf03ec66d251169368f62d25972efc497959df0bbeae51eda03f949bcec6fe8126b964d1b91ac9505e5e2c75982b21b409bd434d4e7e1edf31c0357833fb32fe08ddf8f8a5d8732ecb84626a5d20c07746543909db097ebfc740203d4fcbbf9bcae8f687b7c685a79cdcee668f49c3da71c9aa8df0b53b13a50ab3403b273f8d13c76ed8a1349274a90a2ab94c8c79674ee5703cfa86e483f0baf9897034cea7ba2342b0fd868b9b8576665cadf57cd9e00fb6fc7d0e3d976373b7a2289032b21894badc9a1a2439a8f9bb6812f02305116bf4b18134de242ea7adcb24fce0333e0e0126ebb8b8cb812b4b3fe18a83b19069ff89e2f4f37f6e0d7184cc6442e03eba2c9c8cd90ce55339ae53120788e8e4e490ee914937a05595658ffed53e11801410c05581d02664ba864bd9064b6d63909d76cf4ff92a6f346fd40e85a1adef43b870c0d4908ac7e6f9c82e4d05905581d02b62bff2d526ece6b48b8a7034e3be92021d5cc92b9f1b13280306e8f04020219082005581e0376c537ec67af0bf976d9abb8f8c50bf38c5b7130d50797cd4653ba09d00c0147016da6d6226a5605581e032caa25b9a068e9f81344f6e216d8cb35b160c8086ec034800b15db0b200c0147167b21d9d154ba0396eb097f588cbb327f7cd7c008cb7bc21a49382bc8e4be1fe7d71b64b087274f03e79ed419e15baff3096634a0c1c522813fbd077c4133614b7230c07b59e1797005581e03473f4f3f0265f61600c61a3d992c44e258e2f78378399f2481063b0fd00c054703b6bb74ca5ad705581e03b883fa57a4355a0f5dc953af775b90b7430200c08900cc4e5063caaf0008480212cbac2875541a05581e0308df5d0ce291f0407d58c2e8c639da818469f0466578b76396fface0e00c181a470d28bb640ff0000219c94f038778aa19cb2353b52d9216c0762edaa8e33f2c8e755672dd34761eefb871389403c65648ff22ca10dc65870efc11d2e2fc477c2df723e87a24a0258c6f76be725e03f4e52337c5934aa84c16f694ebd803414dc07149b816d7fd3eb09f8301a3414e03cdaf3cc94f8abcfbd33a9a131a3624b81b89d5a520bab3302c99612e4dc44dd40374c4ce07dc0685dc509eb945a90c1903d8229641d677222d49b92ec23e6f2a6503f100bf54ffca1526b09b32510d519872d602eade23a88524dd500db29050fabf035af6b2d233fa4981cd93e721a3eb63189d5a7a5a97d774412aad24b039b86b0103f670493b322056edf3ac749357609649649629483bdd671ca469e75904f661900219ffff03bf610bdb57574ad52a291c2c91887755296610928edd191fb6f2ae847242c5e903ad28dce5772137fe654e0b3cf3c83426dd5b54d330030f87513df97f2653305603b6d3ad67269bbe3cb6466a31eebaa888887760697074dd6eee6ed777138b1e9f03e66748b89e8d2d11b2dd1c2fcdbd8c84a25b8a30f00f2de3b1bfef9af767d6cb0382daa55d9756a6b3c23bb3b75de43aa5623ddd7aae4b5de5f04382246455ea6b03749f210fe4f52091e3a22e79a601a97b4106dedf37cca7c000febc95ba58d3430394eedc16019c2909321f88943ec12277b09a3420b8320e78aa76a3ac29814eeb032a23f045a7ea5c97a239a92a7528188a844a8d82ba769403e32a41a60f34302403448292d10072596aa2d76ce7b34215d1cf6a736059085e6c9cff006c001e2b56038fc5d61423d5cb030c6878416727c2173bd3409d3e63329eeb24fb94722e6a7d03cf5461ec7f7b3f4598d75aea497913f1ece99c0af02d58dffdf96385342df9190219ffff032393d0ca3a55fda446a2bdb19b58c5c84f2286c9ca2639e8aeac2a43a8eabb4f037e51a95a067321a2b82b460ca8d11a4631ced0645631b716e1783115efb5e28e0363bc178b31c6cf725d14fd67c98f2aa0c51bf22130fc70cfaef3fcdb640a888903f091276fec40ac77c5d37156bd0e3e9253514975bf57c44c558ae6e3e594c04d033203ad1c76f866966502f3d4440bcce0a9d66d267a21ed4b20460aeb7322022c0310da9285003959c1b8e7b6446df6196d4b66f007ca371796c2fbb4f8374ba3270219ffff0361268d501ab80f251073de8283a2c68fcab63e621949d1e84fb264618ba1d2a30386fe32c8e240561a448eaeb89d4f03dc2a0085f3d3d8727d8415b5ac40c74af503a7982bae18594c3dce6a103f40dcb972dacee13d56770d5542e5cca8d950944203609732b677aba7a6e7997e40bc3917f40c558619eb9aff0e8f14a59a5a120a75032296332b4692f02f44566a391d6620defe7a4fca8a5e35dc026180585e39778b03374571d1a2b5ec83b21b9271e5151da92e0931caaebf082ec9779e11df62543b03dc6098d951a843d6a69a5c7a69c964be9654636ec7d748b11dabd73c94a5fc430336b6cf4b62d9afd61d8c63f548ab1c6718b42e4aea7b020dc85a2164eb25e8d003efeaf98526d34e08bb1af504ecf6ae76a826a4d61e69271f1de167d193d0993903bd64f032d1d390352f5affa250619d77aeb1e7ec81f80ddae6be8f8611f7f981036b2e893e56ba8156f4d5c7299ede89ba5369dd382b28f09c03e78b6cf66c055b03a61cfe79a08de51bcea14ef74713c20e0ef2a0414846b7728deead94795a4e7d03bb34c684ba0217276905d002c575c8162370f0ef0304c8d47165548c8f353c5f0355ddc787e834fad85bcfb657ab2a0fc18326441d39fc1b327d4eb625f6c0d99503222b6dd7a94cd85a15b9c34e69355eb322f2a1c281eb3b86c148f96b6048aeb20219ffff0369808fe4949a31d63f4b9368605388e7881e5ff21b3f2d2413ffede469a4e043039fe2a4ce4d12d197420f929aff03631922ac7754d55f2ea956023428b571ca93035c80b3c38b9fd3c23e4eceaba113587779928dfb6df4f2d86e853a27020d0e4d03ee531fcebd83fd47f11268bddc7b124bc4e458583b5939421b5585bf8ffb4ebe0360b82c97ab940565457a8a1f1923d6d7849be93b6c0f9dcae81934bfda76f8d1034de20088f98602e3d68767474dc4c4f77c199701a9316c34efcaffe93f13aacb0399fe7863cc44d32a2cf523e89e4fa30b83e31dbd551e1ad80faadab529b8f41503011601f864e16fae7e9c330d17d5a8ed399e395ca419d8f81fce638489bd5228039ebb97b32b295ba0184f7b9037c76c50999ef76c6e7d1a9ab85ee4bd3b9974920314f8447f6f639a714c2508e88f749d985cf0ccdf28bb185e77805e69d7b7897703d3efc5ed53d10f72ed966a607f2097abf8dc59c83d311eae7694f4981edcc868035a280089c936623080716596b631807b956e6cf98f130c76882c48b8b4343e8903cb17877cdfbfa95c0d68ae79afc1c4d36342616a17c25dacba7df4e8eee7a1b6034416edef95bfa88411f0b9fff34be92ff4b13c0b0817fb5b3c0134b26329830303a82d2cb42414796c46f795bcb4fe689198d3014d83b3bf3f5278ad8dc35018d50306fd7f9006297644acf72b6a43f4c15e03a0287a77dcfe349239f3422fc4ee6703ae81f0fcf69c9dc20c483318675ec4c4c82551c1dd0b641c70a589b066ed89c703c998bb10eaf4749b834f99a5653bcd3888a0bf818564f25a3bdeca7d0290027b03d0d828140284684113061761a26e89413d96d69503f99c63a23850f71465e3b603ca25efbb743d206ab3af3efa99dc4e8589849cdc05791c2bb38da0b15753248103bdf23620115f9bf14771b4f958854ddfc0e44274256313a7ead14feba598178903b35593c578b0045c3d3fd1e8d341a989e073fdea7ce5c13ecbe7f714fa3b641b036244847303a47e0fd2405d4c1417be81d3e22549c6e17db1d9e885f84909118c0327480994c5b903baf08ec7be70726e636c345271576bc8315b833cb7ccefda6f03d66b55919531c945c2e628ae657be73c87e05e8fa2216973fd41d29c0f4fdd4d03108d7f47a2c2df4a0bc3251e3096a6ced7d91de54a28e559a5ca9d793caf099d0398561836808eba906348b5eb49d51477051ae01eff9c51bdb46d5ac4d060d1a105581e036bcb9250077565a3b497d740b47e7af20d3fe710d06d25ab0a01cf3420040104594dc460806040526004361015610013575b600080fd5b60003560e01c8063051119f5146103475780631e2a60751461033e5780632335093c14610335578063264849e71461032c57806330f00f3a1461032357806335eff30f1461031a5780633659cfe61461031157806337b90a4f14610308578063485cc955146102ff5780634f1ef286146102f6578063515147ab146102ed57806352d1902d146102e457806354d6a2b7146102db57806358d9b4e1146102d257806360a2da98146102c957806360b068be146102c05780637234cd95146102b7578063741c8e2d146102ae5780637fe0282b146102a5578063827c87cc1461029c57806389a734c0146102935780638b0a77651461028a5780638f487dc9146102815780639fa1027914610278578063a5c9c66c1461026f578063ab115fd814610266578063b805f3211461025d578063c11d9ecb14610254578063c5d7ca001461024b578063c8173c4414610242578063cb4f999b14610239578063ce7f79b914610230578063d3c7c2c714610227578063d3e95ea41461021e578063d4f8232214610215578063decf2a481461020c578063eba7fb7714610203578063f1d2ec1d146101fa578063f2fde38b146101f1578063ff22f272146101e85763ff378719146101e057600080fd5b61000e6125f4565b5061000e6124f2565b5061000e6124ba565b5061000e61238f565b5061000e61236e565b5061000e6122d3565b5061000e61228d565b5061000e612258565b5061000e61213c565b5061000e612011565b5061000e611f1e565b5061000e611e8e565b5061000e611de6565b5061000e611d3c565b5061000e611c74565b5061000e611a2f565b5061000e61185f565b5061000e611767565b5061000e611626565b5061000e6115eb565b5061000e6115a7565b5061000e61143a565b5061000e6113ee565b5061000e611359565b5061000e611252565b5061000e61119f565b5061000e6110d5565b5061000e6110b0565b5061000e610fa9565b5061000e610ee4565b5061000e610d2b565b5061000e610cb3565b5061000e610b1c565b5061000e610a25565b5061000e6108ae565b5061000e610797565b5061000e610679565b5061000e610595565b5061000e610557565b5061000e6104b7565b5061000e6103bc565b600435906001600160a01b038216820361000e57565b602435906001600160a01b038216820361000e57565b606435906001600160a01b038216820361000e57565b604435906001600160a01b038216820361000e57565b35906001600160a01b038216820361000e57565b503461000e57602036600319011261000e576103d6610350565b3360005260996020527f475b83c893df40ee19fd0783cf26478cdb58478dff65bb62560e1e7c36e0f22f6104b264ffffffffff604060002054169261041c8415156133f8565b6000848152609a602052604090205461045090610449906001600160a01b03165b6001600160a01b031690565b33146133a2565b61047e8461047861046e6104638561053d565b5464ffffffffff1690565b64ffffffffff1690565b14613450565b61049861048a8261053d565b805464ffffffffff19169055565b6040516001600160a01b0390911681529081906020820190565b0390a2005b503461000e57602036600319011261000e57606060406000600435815260ce602052205460018060a01b0390818160281c169182156000146105135760005b60405193845216602083015260018060c81b031615156040820152f35b8061053664ffffffffff841664ffffffffff16600052609a602052604060002090565b54166104f6565b6001600160a01b0316600090815260996020526040902090565b503461000e57602036600319011261000e576001600160a01b03610579610350565b166000526066602052602060ff60406000205416604051908152f35b50602036600319011261000e576106776004356105b760018260f81c14612f00565b6105ca603c61ffff8360081c1614612f4c565b6105fa6105d960ff8316614179565b60ff6105f26105ec828660181c16614179565b60ff1690565b911614612f92565b600081815260ce6020526040902061062e906001600160c81b0390610627905b546001600160c81b031690565b1615612fe8565b610672611c2061065f64ffffffffff61065364174876e800828760d01c16111561302a565b42908560301c16612d7b565b61066c610e108211613096565b106130d8565b613da6565b005b503461000e57602036600319011261000e57610693610350565b3360005260996020527fc94089e0c0b1b79fdecc6e64fb759cdd390590a15c7e50d281e681ea8273261c6104b264ffffffffff60406000205416926106d98415156133f8565b6000848152609a60205260409020546106fe90610449906001600160a01b031661043d565b6107118461047861046e6104638561053d565b61074f816107308664ffffffffff16600052609a602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b604080513381526001600160a01b03909216602083015290918291820190565b6024359064ffffffffff8216820361000e57565b6044359064ffffffffff8216820361000e57565b503461000e57604036600319011261000e576004356107b461076f565b600082815260ce60205260409020546001600160c81b0381169291906107dc6001851161356f565b64ffffffffff8091166108695760009361080b61083f93836108006104633361053d565b9116931683146138a8565b176108208360005260ce602052604060002090565b80546001600160c81b0319166001600160c81b03909216919091179055565b604051907f60a99b51ae498c44acbbe11031aed2a06a32be66d2122e6e2a7a16c087865cc98383a2f35b60405162461bcd60e51b815260206004820152601b60248201527f5377617020626f6e64656420746f20616e6f7468657220706f6f6c00000000006044820152606490fd5b503461000e57602036600319011261000e576108c8610350565b6001600160a01b037f00000000000000000000000014eda572634627389226153f9fa5366a90a660db8116919061090130841415612631565b61091e600080516020614d78833981519152938285541614612692565b61092e8161013454163314612b7a565b6040519061093b82610c25565b600082527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561097557505061067791506127bc565b6020600491604094939451928380926352d1902d60e01b825286165afa600091816109d0575b506109bd5760405162461bcd60e51b8152806109b96004820161276d565b0390fd5b610677936109cb911461270f565b61284c565b6109f291925060203d81116109f9575b6109ea8183610c68565b8101906126f3565b903861099b565b503d6109e0565b604090600319011261000e576004359060243565ffffffffffff8116810361000e5790565b50610a2f36610a00565b610a3a82151561326e565b64ffffffffff80821690610a4f8215156132b4565b3360005260996020526040600020541603610ac65765ffffffffffff81610a967f7d7d1df74ef3a6434d8d63dc0a25d13d5fa94dbe738c38a3cce26e6f892e2a7693612d4b565b610aa1858254612db4565b9055610ab4843360ff8460281c1661475d565b604051938452169180602081016104b2565b60405162461bcd60e51b815260206004820152602860248201527f4e65656420616e20617574686f72697a65642061646472657373206173207468604482015267329039b4b3b732b960c11b6064820152608490fd5b503461000e57604036600319011261000e57610b36610350565b610b82610b41610366565b60005492610b6660ff8560081c161580958196610c00575b8115610be0575b50613df4565b83610b79600160ff196000541617600055565b610bc757613e57565b610b8857005b610b9861ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b610bdb61010061ff00196000541617600055565b613e57565b303b15915081610bf2575b5038610b60565b6001915060ff161438610beb565b600160ff8216109150610b59565b50634e487b7160e01b600052604160045260246000fd5b602081019081106001600160401b03821117610c4057604052565b610c48610c0e565b604052565b606081019081106001600160401b03821117610c4057604052565b90601f801991011681019081106001600160401b03821117610c4057604052565b6020906001600160401b038111610ca6575b601f01601f19160190565b610cae610c0e565b610c9b565b50604036600319011261000e57610cc8610350565b602435906001600160401b03821161000e573660238301121561000e57816004013590610cf482610c89565b91610d026040519384610c68565b808352366024828601011161000e576020816000926024610677970183870137840101526129ea565b503461000e57608036600319011261000e576000600435610e66610d78610d5061037c565b610d5f60018560f81c14612f00565b610d72603c61ffff8660201c1614612f4c565b83613e64565b610da86001600160501b03610627610d9b84600052610101602052604060002090565b546001600160501b031690565b610e4b610db76104633361053d565b69ffffffffff000000000064ffffffffff80831692610dd78415156134b1565b610df8610df1610de642612d88565b938a60301c16612d63565b8310613515565b610e0188613e83565b610e20610e188660ff60281b8c60101b1617612d4b565b918254612d7b565b9055610e2b88614019565b9081610e90575b505060281b161791600052610101602052604060002090565b906001600160501b03166001600160501b0319825416179055565b604051907fbfb879c34323c5601fafe832c3a8a1e31e12c288695838726ddeada86034edb48383a2f35b60016000526066602052610edb90610e1890610ed690610ec0600080516020614d588339815191525b5460ff1690565b60281b60ff60281b1664ffffffffff9091161790565b612d4b565b90553880610e32565b503461000e57600036600319011261000e577f00000000000000000000000014eda572634627389226153f9fa5366a90a660db6001600160a01b03163003610f4357604051600080516020614d788339815191528152602090f35b0390f35b60405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608490fd5b503461000e57602036600319011261000e57600435600081815260ce60205260408120549091906001600160c81b0316610fe56001821161356f565b64ffffffffff90610ffc42838560301c1610613cbe565b6110236110138460005260ce602052604060002090565b80546001600160c81b0319169055565b610135546001600160a01b03163314841461108b576110518261105e921660ff60281b8560281b1617612d4b565b918360d01c168254612db4565b90555b604051907ff6b6b4f7a13f02512c1b3aa8dcc4a07d7775a6a4becbd439efcbd37c5408e67f8383a2f35b6110ab9160d084901c169060281c6001600160a01b031660ff84166148ce565b611061565b503461000e57604036600319011261000e576000600435610e66610d78610d50610366565b503461000e57604036600319011261000e576110ef610366565b6110fd600091600435613e64565b81526101016020526040812054906001600160501b03821660010361114757505060016000905b604080516001600160a01b0392909216825264ffffffffff929092166020820152f35b64ffffffffff8281168252609a60205260409091205460289290921c16906001600160a01b0316611124565b602435906001600160c81b038216820361000e57565b606435906001600160c81b038216820361000e57565b50606036600319011261000e576106776004356111ba611173565b6111c2610392565b916111d260018260f81c14612f00565b6111e5603c61ffff8360081c1614612f4c565b6111f46105d960ff8316614179565b600081815260ce60205260409020611218906001600160c81b03906106279061061a565b61123d611c2061065f64ffffffffff61065364174876e800828760d01c16111561302a565b613c1f565b6004359060ff8216820361000e57565b503461000e57606036600319011261000e5761126c611242565b60243590611278610783565b610134546001600160a01b03929164ffffffffff9161129a9085163314612b7a565b169182600052609a60205260406000205416156112ea576112e69160ff60281b6112de9260281b166112cb81612d4b565b6112d6868254612d7b565b905517612d4b565b918254612db4565b9055005b60405162461bcd60e51b8152602060048201526019602482015278141bdbdb081a5b99195e081b9bdd081c9959da5cdd195c9959603a1b6044820152606490fd5b608090600319011261000e57600435906024356001600160a01b038116810361000e57906044359060643590565b503461000e5761067761136b3661132b565b9261137e60018260f89594951c14612f00565b611391603c61ffff8360081c1614612f4c565b6113a06105d960ff8316614179565b600081815260ce602052604090206113c4906001600160c81b03906106279061061a565b6113e9611c2061065f64ffffffffff61065364174876e800828760d01c16111561302a565b613119565b503461000e57602036600319011261000e576001600160a01b03611410610350565b166000526099602052602064ffffffffff60406000205416604051908152f35b8015150361000e57565b503461000e5760a036600319011261000e57600060043561145961037c565b60843561146581611430565b61147c61061a8460005260ce602052604060002090565b61149160016001600160c81b0383161161356f565b61149a42612d97565b906114e864ffffffffff948593848860301c16108814611578576114cb6110138860005260ce602052604060002090565b602883901c6001600160a01b031690604435906024359089614292565b16908414611534576110516115079160ff60281b8560281b1617612d4b565b90555b604051907f8d92c805c252261fcfff21ee60740eb8a38922469a7e6ee396976d57c22fc1c98383a2f35b906115636115566115739364ffffffffff16600052609a602052604060002090565b546001600160a01b031690565b908360d01c169060ff84166148ce565b61150a565b6115a261158f8860005260ce602052604060002090565b80546001600160c81b0319166001179055565b6114cb565b503461000e57602036600319011261000e5760043564ffffffffff811680910361000e57600052609a602052602060018060a01b0360406000205416604051908152f35b503461000e57602036600319011261000e5760ff60281b61160a611242565b60281b16600052609b6020526020604060002054604051908152f35b5065ffffffffffff7f7d7d1df74ef3a6434d8d63dc0a25d13d5fa94dbe738c38a3cce26e6f892e2a7661165836610a00565b611665829492151561326e565b64ffffffffff81166116788115156132b4565b6116a760018060a01b036116a06115568464ffffffffff16600052609a602052604060002090565b1615613300565b6116bf6116b961046e6104633361053d565b1561334c565b6116de336107308364ffffffffff16600052609a602052604060002090565b611702816116eb3361053d565b9064ffffffffff1664ffffffffff19825416179055565b61170b82612d4b565b611716868254612db4565b9055611729853360ff8560281c1661475d565b6040513381527fb8d9c35a714d4e29eaf036b9bf8183a093c5573ac809453b4e8434e25c9126d290602090a2604051938452169180602081016104b2565b503461000e5760006117fc61106161177e3661132b565b83875260ce602052604087205493959293919291906117a860016001600160c81b0384161161356f565b64ffffffffff936117bf42868a60301c1610613cbe565b60405160208101906117e4816117d68a8d86613250565b03601f198101835282610c68565b51902060289390931c6001600160a01b0316926144a4565b6118136110138560005260ce602052604060002090565b8360d01c169060ff84166148ce565b60a090600319011261000e576004359060243590604435906001600160a01b0390606435828116810361000e5791608435908116810361000e5790565b503461000e57600061192b61191561187636611822565b92611889969294969591953233146135f2565b61189e4264ffffffffff8960301c1611613649565b6118b26001600160a01b0385161515613205565b61190486600160ce1b891615968715611a12575b6118d0828b613e64565b936118fd60016001600160501b036118f6610d9b89600052610101602052604060002090565b161161356f565b878b614292565b600052610101602052604060002090565b805469ffffffffffffffffffff19166001179055565b61193484613e83565b916119e2575b61194384614084565b806119a4575b5061195384614019565b80611994575b508161197b575b50505060405190600080516020614d988339815191528383a2f35b61198c9260ff8560181c1685613695565b388080611960565b61199e90826149c9565b38611959565b91826119af91612d7b565b916119da6112de610ed66119c288614138565b889064ffffffffff60ff60281b91169160101b161790565b905538611949565b6119f56119ee85613f1a565b8093612d7b565b91611a0b6112de60ff60281b8760101b16612d4b565b905561193a565b61013554611a2a906001600160a01b03163314612cf5565b6118c6565b503461000e576000611a4036611822565b909291611a5260018660f81c14612f00565b611a65603c61ffff8760201c1614612f4c565b611a703233146135f2565b611a846001600160a01b0383161515613205565b600160ce1b851615928315611c57575b611b0f611915611aa48789613e64565b611ac76001600160501b03610627610d9b84600052610101602052604060002090565b8888611ad56104633361053d565b9664ffffffffff9687891697611aec8915156134b1565b8b8215611c2f575061190494611b0891429160301c1611613649565b898d614292565b611b1886613e83565b93611b2e60ff60281b8860101b16928317612d4b565b611b39868254612d7b565b9055611c07575b50611b4a85614084565b80611bc9575b50611b5a85614019565b80611b82575b50508161197b5750505060405190600080516020614d988339815191528383a2f35b60016000526066602052611bc291611baf90610ed690610ec0600080516020614d58833981519152610eb9565b611bba828254612d7b565b9055826149c9565b3880611b60565b9283611bd491612d7b565b92611bff6112de610ed6611be789614138565b899064ffffffffff60ff60281b91169160101b161790565b905538611b50565b92611c276112de611c21611c1a89613f1a565b8094612d7b565b95612d4b565b905538611b40565b945050505050156119045761013554611c52906001600160a01b03163314612cf5565b611904565b61013554611c6f906001600160a01b03163314612cf5565b611a94565b503461000e57602036600319011261000e57610677611c91610350565b61013554611ca9906001600160a01b03163314612cf5565b612e5a565b6020906001600160401b038111611cc7575b60051b0190565b611ccf610c0e565b611cc0565b81601f8201121561000e57803591611ceb83611cae565b92611cf96040519485610c68565b808452602092838086019260051b82010192831161000e578301905b828210611d23575050505090565b813560ff8116810361000e578152908301908301611d15565b503461000e57604036600319011261000e576001600160401b0360043581811161000e573660238201121561000e578060040135611d7981611cae565b91611d876040519384610c68565b81835260209160248385019160051b8301019136831161000e57602401905b828210611dcf576024358587821161000e57611dc9610677923690600401611cd4565b90612bc0565b838091611ddb846103a8565b815201910190611da6565b503461000e57608036600319011261000e57610677600435611e06611189565b90611e1660018260f81c14612f00565b611e29603c61ffff8360081c1614612f4c565b611e386105d960ff8316614179565b600081815260ce60205260409020611e5c906001600160c81b03906106279061061a565b611e81611c2061065f64ffffffffff61065364174876e800828760d01c16111561302a565b6044359060243590613915565b50610677611e9b36611822565b93611eae60018260f89694961c14612f00565b611ec1603c61ffff8360081c1614612f4c565b611ed06105d960ff8316614179565b600081815260ce60205260409020611ef4906001600160c81b03906106279061061a565b611f19611c2061065f64ffffffffff61065364174876e800828760d01c16111561302a565b613d01565b503461000e57602036600319011261000e57611f38611242565b610134546001600160a01b0390611f529082163314612b7a565b60ff8216611f61811515614b26565b6000526065602052604060002054168015611fc1576001600160a01b03166000908152606660205260409020805460ff1916905561067790611fb1905b60ff166000526065602052604060002090565b80546001600160a01b0319169055565b60405162461bcd60e51b815260206004820152602260248201527f546f6b656e20666f722074686520696e64657820646f6573206e6f74206578696044820152611cdd60f21b6064820152608490fd5b503461000e5765ffffffffffff7f34c3d1c46f89307d63d8818fcc5c2a9c07a5f7a01ea4319bfba1899f40c6f40061204836610a00565b612055829492151561326e565b64ffffffffff81166120688115156132b4565b600052609a60205261208860018060a01b036040600020541633146133a2565b61209181612d4b565b8054908582039182116120b1575b55610ab4843360ff8460281c166148ce565b6120b9612c96565b61209f565b6040810190604081528251809252606081019160208094019060005b81811061211f575050508281830391015281808451928381520193019160005b828110612108575050505090565b835160ff16855293810193928101926001016120fa565b82516001600160a01b0316855293850193918501916001016120da565b503461000e576000806003193601126122555780805b60ff80821610156121975761216f61043d611556611f9e84614ae2565b612182575b61217d90612cad565b612152565b9161218f61217d91612cad565b929050612174565b5060ff809216906121b06121aa83614af4565b92614af4565b92815b81808216106121ce57505050610f3f604051928392836120be565b6121e061043d611556611f9e84614ae2565b6121f3575b6121ee90612cad565b6121b3565b9161224d6121ee9161224861220d611556611f9e88614ae2565b61222d8684169161221e838b612ccb565b6001600160a01b039091169052565b61224061223988614ae2565b918a612ccb565b9060ff169052565b612cad565b9290506121e5565b80fd5b503461000e57604036600319011261000e576020612285612277610350565b61227f610366565b9061455e565b604051908152f35b503461000e57604036600319011261000e576122a7610350565b60243560ff8116810361000e57610677916122ce60018060a01b0361013454163314612b7a565b614c56565b50604036600319011261000e576106776004356122ee611173565b906122fe60018260f81c14612f00565b612311603c61ffff8360081c1614612f4c565b6123206105d960ff8316614179565b600081815260ce60205260409020612344906001600160c81b03906106279061061a565b612369611c2061065f64ffffffffff61065364174876e800828760d01c16111561302a565b613b81565b503461000e57600036600319011261000e57604051600f60f21b8152602090f35b503461000e57604036600319011261000e57600060043561245a6124476123bd6123b7610366565b84613e64565b6123d5610d9b82600052610101602052604060002090565b6123ea60016001600160501b0383161161356f565b64ffffffffff9061240142838360281c16106135b1565b1661240b85613e83565b6124226112de8360ff60281b8960101b1617612d4b565b905561242d85614019565b9081612484575b5050600052610101602052604060002090565b805469ffffffffffffffffffff19169055565b604051907fac7d23c4f0137a4cc35b0e4b4bc8061ea6cb65805e87ceb0a77ca0c85814858c8383a2f35b600160005260666020526124b1906112de90610ed690610ec0600080516020614d58833981519152610eb9565b90553880612434565b503461000e57602036600319011261000e576106776124d7610350565b6124ed60018060a01b0361013454163314612b7a565b612dc1565b503461000e57602036600319011261000e5761250c610350565b6001600160a01b03811660009081526099602052604090205464ffffffffff919082166125a3576104b27fd49cde4f679ccef3d23ff07aae4f6845e1c661e23e9fe6a54da26f0723fb695f916104986125676104633361053d565b948516946125768615156133f8565b61259a61044961043d6115568464ffffffffff16600052609a602052604060002090565b6116eb8361053d565b60405162461bcd60e51b815260206004820152602360248201527f4164647220697320617574686f72697a656420666f7220616e6f7468657220706044820152621bdbdb60ea1b6064820152608490fd5b503461000e57602036600319011261000e5760ff612610611242565b166000526065602052602060018060a01b0360406000205416604051908152f35b1561263857565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b19195b1959d85d1958d85b1b60a21b6064820152608490fd5b1561269957565b60405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201526b6163746976652070726f787960a01b6064820152608490fd5b9081602091031261000e575190565b506040513d6000823e3d90fd5b1561271657565b60405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608490fd5b60809060208152602e60208201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960408201526d6f6e206973206e6f74205555505360901b60608201520190565b803b156127f157600080516020614d7883398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b612855816127bc565b6040516001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600083a282511580159061295c575b61289b57505050565b813b1561290b57506000828192602061290895519201905af46128bc6129ba565b604051916128c983610c4d565b602783527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c6020840152660819985a5b195960ca1b6040840152612aff565b50565b62461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b506000612892565b61296d816127bc565b6040516001600160a01b0382167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600083a28251158015906129b25761289b57505050565b506001612892565b3d156129e5573d906129cb82610c89565b916129d96040519384610c68565b82523d6000602084013e565b606090565b6001600160a01b037f00000000000000000000000014eda572634627389226153f9fa5366a90a660db81169290612a2330851415612631565b612a40600080516020614d78833981519152948286541614612692565b612a508161013454163314612b7a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612a88575050612a8691506127bc565b565b6020600491604094939451928380926352d1902d60e01b825286165afa60009181612adf575b50612acc5760405162461bcd60e51b8152806109b96004820161276d565b612a8693612ada911461270f565b612964565b612af891925060203d81116109f9576109ea8183610c68565b9038612aae565b90919015612b0b575090565b815115612b1b5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510612b61575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350612b3e565b15612b8157565b60405162461bcd60e51b815260206004820152601760248201527621b0b63632b91034b9903737ba103a34329037bbb732b960491b6044820152606490fd5b9091612bd860018060a01b0361013454163314612b7a565b8151835103612c3a5760005b825160ff821690811015612c33579061224882612c28612c21612c1a612c0d612c2e978a612ccb565b516001600160a01b031690565b9289612ccb565b5160ff1690565b90614c56565b612be4565b5050915050565b60405162461bcd60e51b815260206004820152602e60248201527f546f6b656e7320616e6420696e64657865732073686f756c642068617665207460448201526d0d0ca40e6c2daca40d8cadccee8d60931b6064820152608490fd5b50634e487b7160e01b600052601160045260246000fd5b60ff6001911660ff8114612cbf570190565b612cc7612c96565b0190565b8051821015612cdf5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b15612cfc57565b60405162461bcd60e51b815260206004820152602160248201527f43616c6c6572206973206e6f7420746865207072656d69756d206d616e6167656044820152603960f91b6064820152608490fd5b65ffffffffffff16600052609b602052604060002090565b61012b19810191908211612d7357565b612a86612c96565b91908203918211612d7357565b906109608201809211612d7357565b90610e108201809211612d7357565b90601b8201809211612d7357565b91908201809211612d7357565b6001600160a01b03908116908115612e165761013480546001600160a01b0319811684179091556040519116907f8934ce4adea8d9ce0d714d2c22b86790e41b7731c84b926fbbdc1d40ff6533c990600090a3565b606460405162461bcd60e51b815260206004820152602060248201527f4e6577206f776e65722063616e6e6f74206265207a65726f20616464726573736044820152fd5b6001600160a01b03908116908115612eaf5761013580546001600160a01b0319811684179091556040519116907f4798f31ad3d0ccde6359edf35fc39b882e4e1cff2968ca749b72074d373db27a90600090a3565b60405162461bcd60e51b815260206004820152602360248201527f4e6577207072656d69756d206d616e61676572206265207a65726f206164647260448201526265737360e81b6064820152608490fd5b15612f0757565b60405162461bcd60e51b815260206004820152601a60248201527f496e636f727265637420656e636f64696e672076657273696f6e0000000000006044820152606490fd5b15612f5357565b60405162461bcd60e51b815260206004820152601760248201527629bbb0b8103737ba103337b9103a3434b99031b430b4b760491b6044820152606490fd5b15612f9957565b60405162461bcd60e51b815260206004820152602160248201527f496e2026206f757420746f6b656e20747970657320646f206e6f74206d6174636044820152600d60fb1b6064820152608490fd5b15612fef57565b60405162461bcd60e51b81526020600482015260136024820152725377617020616c72656164792065786973747360681b6044820152606490fd5b1561303157565b60405162461bcd60e51b815260206004820152603760248201527f466f7220736563757269747920726561736f6e2c20616d6f756e742063616e6e6044820152766f742062652067726561746572207468616e203130306b60481b6064820152608490fd5b1561309d57565b60405162461bcd60e51b815260206004820152601360248201527245787069726520747320746f6f206561726c7960681b6044820152606490fd5b156130df57565b60405162461bcd60e51b815260206004820152601260248201527145787069726520747320746f6f206c61746560701b6044820152606490fd5b926131ee9261317791613135603c61ffff8860201c1614612f4c565b6131496001600160a01b0385161515613205565b6040516020810190613160816117d6888b86613250565b519020610135546001600160a01b031692906144a4565b64ffffffffff906131e0613196838660d01c16938660581c1684612d7b565b926131c9600160ff60281b6131b182828b60281b1617612d4b565b6131bc858254612db4565b90558860101b1617612d4b565b6131d4858254612d7b565b90553360ff871661475d565b3360ff8560181c1685613695565b600080516020614d988339815191526000604051a2565b1561320c57565b606460405162461bcd60e51b815260206004820152602060248201527f526563697069656e742063616e6e6f74206265207a65726f20616464726573736044820152fd5b90815260609190911b6001600160601b031916602082015260340190565b1561327557565b60405162461bcd60e51b8152602060048201526017602482015276416d6f756e74206d75737420626520706f73697469766560481b6044820152606490fd5b156132bb57565b60405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f7420757365203020617320706f6f6c20696e6465780000000000006044820152606490fd5b1561330757565b60405162461bcd60e51b815260206004820152601d60248201527f506f6f6c20696e64657820616c726561647920726567697374657265640000006044820152606490fd5b1561335357565b60405162461bcd60e51b815260206004820152602160248201527f5369676e6572206164647265737320616c7265616479207265676973746572656044820152601960fa1b6064820152608490fd5b156133a957565b60405162461bcd60e51b815260206004820152602160248201527f4e6565642074686520706f6f6c206f776e657220617320746865207369676e656044820152603960f91b6064820152608490fd5b156133ff57565b60405162461bcd60e51b815260206004820152602360248201527f546865207369676e657220646f6573206e6f74207265676973746572206120706044820152621bdbdb60ea1b6064820152608490fd5b1561345757565b60405162461bcd60e51b815260206004820152602c60248201527f41646472206973206e6f7420617574686f72697a656420666f7220746865207360448201526b1a59db995c89dcc81c1bdbdb60a21b6064820152608490fd5b156134b857565b60405162461bcd60e51b815260206004820152602f60248201527f43616c6c6572206e6f7420726567697374657265642e2043616c6c206465706f60448201526e39b4ba20b7322932b3b4b9ba32b91760891b6064820152608490fd5b1561351c57565b60405162461bcd60e51b815260206004820152602560248201527f43616e6e6f74206c6f636b20626563617573652065787069726554732069732060448201526439b7b7b71760d91b6064820152608490fd5b1561357657565b60405162461bcd60e51b815260206004820152601360248201527214ddd85c08191bd95cc81b9bdd08195e1a5cdd606a1b6044820152606490fd5b156135b857565b60405162461bcd60e51b815260206004820152601260248201527153776170207374696c6c20696e206c6f636b60701b6044820152606490fd5b156135f957565b60405162461bcd60e51b815260206004820152602260248201527f43616e6e6f742062652063616c6c6564207468726f75676820636f6e74726163604482015261747360f01b6064820152608490fd5b1561365057565b60405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f742072656c656173652062656361757365206578706972656400006044820152606490fd5b909290600160cf1b811661389b576001600160401b039060801c169084926136bf823b1515614a40565b60ff8516936020968588809711613858575b50506136dc86614aa2565b1561376c5760405163bff4163f60e01b815260006004820152602481018290526001600160a01b0392831660448201526001600160401b0394909416606485015292945084926084928492165af1801561375f575b613739575050565b8161290892903d10613758575b6137508183610c68565b8101906146ae565b503d613746565b613767612702565b613731565b90929461378b61155660009260ff166000526065602052604060002090565b613797813b1515614650565b60405163095ea7b360e01b81526001600160a01b0385811660048301526024820185905291908781604481878688165af1801561384b575b61382e575b5060405163bff4163f60e01b81526001600160a01b03918216600482015260248101949094529490941660448301526001600160401b03959095166064820152938492608492849291165af1801561375f57613739575050565b61384490883d8a11613758576137508183610c68565b50386137d4565b613853612702565b6137cf565b61387b925060f21480613893575b156138825764ffffffffff60645b1690613f07565b38806136d1565b64ffffffffff64e8d4a51000613874565b506001613866565b509050612a8692916148ce565b156138af57565b60405162461bcd60e51b815260206004820152603860248201527f5369676e65722073686f756c6420626520616e20617574686f72697a6564206160448201527719191c995cdcc81bd9881d1a194819da5d995b881c1bdbdb60421b6064820152608490fd5b9290613a68613a7793926020600060018060a01b038360281c169564ffffffffff9586851680151580613b77575b613b5b575b50613954881515614206565b6001600160ff1b03821691613a2e90613973906105ec9060ff1c612da6565b926139966fa2a8918ca85bafe22016d0b997e4df60600160ff1b03821115614252565b600160cb1b8c1615158560088e901c61ffff1660c3148114613ad657508514613aad57780caa2927a71029b4b3b732b21026b2b9b9b0b3b29d0519998560391b6117d6613a038e5b6040519283918b83019586909160399266ffffffffffffff1916825260198201520190565b519020925b604051948594859094939260ff6060936080840197845216602083015260408201520152565b838052039060015afa15613aa0575b600051613a54906001600160a01b03168514614252565b6108208660005260ce602052604060002090565b8360d01c169060ff841661475d565b7f5ce4019f772fda6cb703b26bce3ec3006eb36b73f1d3a0eb441213317d9f5e9d6000604051a2565b613aa8612702565b613a3d565b780caa2927a71029b4b3b732b21026b2b9b9b0b3b29d0519990560391b6117d6613a038e6139de565b908614613b2657508b604051613b1d816117d68a82019485603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b51902092613a08565b808d6040925287812088527f9862d877599564bcd97c37305a7b0fdbe621d9c2a125026f2ad601f754a75abc81522092613a08565b613b719088613b693361053d565b5416146138a8565b38613948565b5088331415613943565b90602881901c6001600160a01b031633819003613bc857613bb3613a77926108208560005260ce602052604060002090565b64ffffffffff8360d01c169060ff841661475d565b60405162461bcd60e51b815260206004820152602960248201527f5472616e73616374696f6e2073686f756c642062652073656e742066726f6d2060448201526834b734ba34b0ba37b960b91b6064820152608490fd5b916001600160a01b0381163303613c6157613bb3613a77928460005260ce60205260406000209060018060c81b031666ffffffffffffff60c81b825416179055565b60405162461bcd60e51b815260206004820152602f60248201527f5472616e73616374696f6e2073686f756c642062652073656e742066726f6d2060448201526e636f6e74726163744164647265737360881b6064820152608490fd5b15613cc557565b60405162461bcd60e51b815260206004820152601460248201527314ddd85c081a5cc81cdd1a5b1b081b1bd8dad95960621b6044820152606490fd5b93928092613d1392613d709587614292565b600083815260ce6020526040902080546001600160c81b031916600117905564ffffffffff8360d01c1690600160ff60281b8560281b1617600052609b6020526040600020805490838201809211613d99575b5560ff841661475d565b7f8d92c805c252261fcfff21ee60740eb8a38922469a7e6ee396976d57c22fc1c96000604051a2565b613da1612c96565b613d66565b613d7064ffffffffff8260d01c16600160ff60281b8460281b1617600052609b6020526040600020805490828201809211613de7575b553360ff841661475d565b613def612c96565b613ddc565b15613dfb57565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b90611ca9612a8692612dc1565b90613e7d6117d691604051928391602083019586613250565b51902090565b613ea764ffffffffff91828160d01c16928160581c168303928311613ebe57613fc8565b8103908111613eb35790565b613ebb612c96565b90565b613ec6612c96565b613fc8565b6005908060001904821181151516613ee1570290565b613ee9612c96565b0290565b64e8d4a51000908060001904821181151516613ee1570290565b8060001904821181151516613ee1570290565b60ff811660fc8110613f5b5750613f49613f4164ffffffffff6101f4935b60d01c16613ecb565b612710900490565b9080821115613f56575090565b905090565b60f88110613f795750613f49613f4164ffffffffff61138893613f38565b60f48110613f975750613f49613f4164ffffffffff6101f493613f38565b60f011613fb257613f49613f4164ffffffffff600a93613f38565b613f49613f4164ffffffffff6207a12093613f38565b60bf60ff8260181c161080614009575b613fe25750600090565b61ffff613ff29160a01c166140cb565b6103e8908060001904821181151516613ee1570290565b5061084160c41b81811614613fd8565b61402281613fc8565b90811515908161403457505050600090565b61ffff61405591612710938560001904851116614077575b60b01c166140cb565b91821561406157020490565b634e487b7160e01b600052601260045260246000fd5b61407f612c96565b61404c565b61408d816140a7565b6140975750600090565b61ffff613ebb9160a01c166140cb565b600160cf1b8116151590816140ba575090565b600360c91b16600160c91b14919050565b6103e88082111561413457613ebb916103e7198101908111614127575b6123289081810692830180931161411a575b04604d811161410d575b600a0a90613f07565b614115612c96565b614104565b614122612c96565b6140fa565b61412f612c96565b6140e8565b5090565b614141816140a7565b61414b5750600090565b60b01c61ffff16620100000164ffffffffff8111613eb35790565b60ff601e199116019060ff8211612d7357565b60ff811660c0811061418f575060021c603f1690565b6040811161419e575050600090565b608010156141f75760405162461bcd60e51b8152602060048201526024808201527f546f6b656e20696e646578206e6f7420616c6c6f77656420666f72207377617060448201526370696e6760e01b6064820152608490fd5b607f613ebb9160011c16614166565b1561420d57565b60405162461bcd60e51b815260206004820152601e60248201527f5369676e65722063616e6e6f7420626520656d707479206164647265737300006044820152606490fd5b1561425957565b60405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606490fd5b612a86946001600160a01b03169360209360009392909161437e916142b8881515614206565b6001600160ff1b038216916142d3906105ec9060ff1c612da6565b946142f66fa2a8918ca85bafe22016d0b997e4df60600160ff1b03841115614252565b600160cb1b8216151561ffff88600885901c821660c31481146143d357505087146143ac57780caa2927a71029b4b3b732b21026b2b9b9b0b3b29d051a998560391b91613a03905b6117d66040519384928c8401968791604d939166ffffffffffffff1916835260198301526bffffffffffffffffffffffff199060601b1660398201520190565b838052039060015afa1561439f575b6000516001600160a01b031614614252565b6143a7612702565b61438d565b780caa2927a71029b4b3b732b21026b2b9b9b0b3b29d0519990560391b91613a039061433e565b90939291891461443557506040517f19457468657265756d205369676e6564204d6573736167653a0a3532000000008a8201908152601c81019390935260609190911b6001600160601b031916603c830152909150613b1d81605084016117d6565b9160c3604094828c1c1614891461447d577f28cf5b919ed55db2b14d9e8b261a523eafb98bab117d3a8a56e559791415d17c915b601452825260348220895281522092613a08565b7f743e50106a7f059b52151dd4ba27a5f6c87b925ddfbdcf1c332e800da4b3df9291614469565b600060ff60209261452b612a8697959660018060a01b03809716976144ca891515614206565b600180861b03821691851c93601b8501809511614551575b6145036fa2a8918ca85bafe22016d0b997e4df606001881b03841115614252565b6040519586951690859094939260ff6060936080840197845216602083015260408201520152565b838052039060015afa15614544575b6000511614614252565b61454c612702565b61453a565b614559612c96565b6144e2565b60018060a01b0380911660005260666020526040600020549116600052609960205264ffffffffff60406000205416801580156145b8575b6145b15760ff60281b6145ad9260281b1617612d4b565b5490565b5050600090565b5060ff821615614596565b156145ca57565b606460405162461bcd60e51b815260206004820152602060248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152fd5b1561461557565b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606490fd5b1561465757565b60405162461bcd60e51b815260206004820152602960248201527f54686520676976656e20746f6b656e2061646472657373206973206e6f7420616044820152680818dbdb9d1c9858dd60ba1b6064820152608490fd5b9081602091031261000e5751613ebb81611430565b156146ca57565b60405162461bcd60e51b81526020600482015260136024820152721d1c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152606490fd5b1561470c57565b60405162461bcd60e51b815260206004820152602360248201527f6d73672e76616c756520646f6573206e6f74206d617463682074686520616d6f6044820152621d5b9d60ea1b6064820152608490fd5b906147698315156145c3565b61477282614aa2565b1561478c575050614785612a8691613eed565b3414614705565b8160009291836117d661481f612a869760ff6147b9611556869960ff166000526065602052604060002090565b966147ce6001600160a01b038916151561460e565b6147da883b1515614650565b1660208111614866575b506040516323b872dd60e01b602082019081526001600160a01b03909616602482015230604482015260648101919091529182906084820190565b51925af161482b6129ba565b81614837575b506146c3565b805180159250821561484c575b505038614831565b61485f92506020809183010191016146ae565b3880614844565b9060f2614882921480614888575b851461388257606490613f07565b386147e4565b506001614874565b1561489757565b60405162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b9190916148da81614aa2565b156148e95750612a86916149c9565b80612a869360006117d6614961829660ff614915611556869960ff166000526065602052604060002090565b96614922883b1515614650565b16602081116149a8575b5060405163a9059cbb60e01b602082019081526001600160a01b03909616602482015260448101919091529182906064820190565b51925af161496d6129ba565b81614979575b50614890565b805180159250821561498e575b505038614973565b6149a192506020809183010191016146ae565b3880614986565b9060f26149c392148061488857851461388257606490613f07565b3861492c565b60008092819264e8d4a5100082841904811183151516614a33575b6040519202905af16149f46129ba565b50156149fc57565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b614a3b612c96565b6149e4565b15614a4757565b60405162461bcd60e51b815260206004820152602d60248201527f54686520676976656e20726563697069656e742061646472657373206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b60ff81169060318210159182614ad6575b8215614abe57505090565b60be10915081614acc575090565b6003915081161490565b60408111159250614ab3565b60ff60019116019060ff8211612d7357565b90614afe82611cae565b614b0b6040519182610c68565b8281528092614b1c601f1991611cae565b0190602036910137565b15614b2d57565b60405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f7420757365203020617320746f6b656e20696e64657800000000006044820152606490fd5b15614b7957565b60405162461bcd60e51b815260206004820152601b60248201527f546f6b656e20686173206265656e206164646564206265666f726500000000006044820152606490fd5b15614bc557565b60405162461bcd60e51b8152602060048201526013602482015272125b99195e081a185cc81899595b881d5cd959606a1b6044820152606490fd5b15614c0757565b60405162461bcd60e51b815260206004820152602160248201527f436f726520746f6b656e207265717569726573206164646472657373283078316044820152602960f81b6064820152608490fd5b614c6460ff83161515614b26565b6001600160a01b0381168015614d1857612a869261073091614ca7614ca16105ec610eb98760018060a01b03166000526066602052604060002090565b15614b72565b614ccd614cc761043d6115568560ff166000526065602052604060002090565b15614bbe565b614cd682614aa2565b614d06575b506001600160a01b0383166000908152606660205260409020805460ff191660ff8316179055611f9e565b6001614d129114614c00565b38614cdb565b60405162461bcd60e51b815260206004820152601760248201527643616e6e6f7420757365207a65726f206164647265737360481b6044820152606490fdfee34b8b74e1cdcaa1b90aa77af7dd89e496ad9a4ae4a4d4759712101c7da2dce6360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcfa628b578e095243f0544bfad9255f49d79d03a5bbf6c85875d05a215e247ad2a164736f6c6343000810000a0605581e03ab830644f934f69cadc27d6be7f4c9d164af2583515f3c35ae48194ef00701194dc40393020563bc0698c0a124f87c18a0b72425fa00c4c665a5c8b265d430c7683e3e05581e03eb3630927de3732b445b4b4759d98f0aeb80df3c8d821c479283984960040203d2b00d8d3dd28248becfffe2e4bacd14c9524a7d80cc6070d4c70cc2b5b4a57e030395869b5a221fbe5a160278db23ad413c2a5300ab6899bbc078279b6d29016803c2fac5eea6b31ac5836500689e4855647a6013a09c867cc8435817af47381a4205581e03f9f74d09b112858d7455b59228b30ca27f4ed28aa9d93a998710ba55e007011bffffffffffffffff034c8de4bb51d1fa32d917cd48fa218ea419d50c84f279c7e92cc92270ebd68f5c0370397fe853c89b230f1dd774fac4d8b60150fec16dccb34a2065e0319f228cbe05581e031c978a4aa97e4ead518df0f96c43ba6e4fa2a1eefed65ac4aaa4bfa4500c01470496ad64a633f003a5bc74f98b009cab91c1e5e3af6479548d02261a449081c93f7094127b199c4003f1c34265c5ddc31703279a7c4f0f447dbaeb4955faf96273867ce6a4bf02e1ce05581e031f223a89c226dd79f933b5a6fbe76657cb1aa6ce54d95b4ecf367dfac00c044744d0c5a71674700219bfae03beabc191225d26846319fa5b7ffe0ef61d29e991844d0b06bf1298a93ad7382103fb91d7f44c5c4c906b843d2746097a24f545c6f041036dfad6d45e45f66d160803811d0878f5e86ce4cb4611b4b5d1e743da16de421a27106d2e60b65f46d94f4a036c7fe698d25d19039c1b41d8dfd0c263598410fe7299d02f83f097ab7df918a80303444ed6774a10ed38dddc91cde8488d6e160f80e558d9ad13371006e191362d0346691a618130528ef437292faa3b4c71cce95e83cce39dce67e232666c5d68db03543c23421346567746989613d3518304c620b5a8181028806c2a4069855288b8036b3fe20ec448009fec7802d3aed891f564684dedf980faa706cb6d83005d72f903fc446df64fc373c46e1fcc6ebb1f768f4b505bfc2e6dee0aea76c3890f19b17703167f30ee58ff46ffd86ed9176f1dec195dfc64c1180a634d49a2a12428b527ef034df7a5558ee52820024fcabe9988d1b41d17f9b8e3ab090f50ddb795133b038f039c2886e1bc11aa98ad357e92ce80c40329698baa16dd9ad8a36eeb279ccceba103418b64ceb112f981542b544d8c516f022af8518ea2bff61cac4e73aad438cfdc0346cfbec3d2a3d03067a1b2147d1f4d803a6075228a121274de5f84b380a07aeb031d925992737acce164c34c257a81e655c63d8672cfa6de449f26c2a66315a7590219ffff035899ededdfb63f3dc39123916b3b8b75d146d48da44c5da4e874b90f02c9897903a9a4a9b4a4b8ccaf4a0bf26b26a862db74c3297fea6e4c2f4bfdefb3f9f16c7d03799a73424a3a6383fb7a8789afbc4e5b3c24b0bea7410692b39ed6ab32e6ad28031ba4c1dba2c56c9b7994693ee83d4834dd7e6f36d5e040aebcf409136fcba19a0314fb5df1f627f5ea7eead5adc7736b148b8cd393b1faec9cf32df1a35cd9939f03b625f622f15e84d02ffc951f2517a3c7bb459fe80b535655fd017635529e5a6e0359e43c1bb8e9cd7b3661bde650483475cacb8fd98fdef2ec56a55b798c85a6e903a2c850dde41f806da7b921eb7cb88afa08cd212bbe40e97299325a8f4ef6f49203ebed3e49b9cd9e5e9fba5af671d34af59573bf218554f6ba5789c7108b72c94b03068dddaab2c27ec0a07926592304b7fb607d0d6134258f383d116d37a291a0820398ba2c41fcb78a8e000fe0bb8341cbcaf4e2b6a339ae7effb32dde4b7e798f5403423dfb716f88953706ce13ed2bebd71f6bcde165bfa68cde6ce2cd7d3323b16d03f02770e72c7204c7eed05a673ebce2dd5d6834e3ca0865bef8fe045046ffbc920219ffff03a1866e1c0a421ffc41d6755975b0cf937d5e0b1dd33c25f25d73624458b4edd60364545cadf2456bdbb013faea7bdf514a46431a3333a2ff1b5ee1760720e7ceab0314cf7367060377467d731f02fd453f3e45d0d8ab9ba4f404bedc9c8533a918b003be646c267d32cda7a9b496872856c84a746102534709f76a5a18bd529f8924d4032386e327b3b8cb977463e2378f38abc89a8ff9f157cb9ca75b05079e3c07375b0219ffff0219ffff03db4ce2e9d9b3784ae1ba9880ab2be05b26c32e77d2ff834b205967e1b53f054503decebbaa330e88c05e050d19743b179e16db40abcf6cb2ecd372a85c95c7faed036897cad120097661d47d05d2efcb19b4a8afa8b298b451e3f620daff5a86558603a8ffc9b0709ef0c4b054f5afba379a0f5bcb46a4d8ae761a3327087b038649e203282becfda064781f9c80e342a424fd917cfd052b2c4ebe3f774081c5b9593a8b03cbfe9683c9bbc98643704d76f7cf496de764a5fd872f1ae3cf4334ff62f6147e035abd9b7fcf7bbb84d915d79d80e45e585116b6dd22226b86f4a6329ba0d053ba036dca2a714cd2a2eefb8519a9066a3057beb9bed54edc6c474b6c6cf18bd9692e03ab0d3e1a9ddfc9eab9400de84e4a2c6c4e7b98bc7e0dfacf291a9262652ab15b03a2c113e616a5f6991fb0aa92c90326bb09f0812c56fed08f591880b01eef90a603b92bca709b1832bd5691b509eca049ba34fccb4de03a62e961033b692b00a59b03d7a2b1c861a1a8cbcaf197381a503ddf32fc3ac21ce4857087d500a752226f0b03f8cead67c9aca823220fd667bba124433a97314f0978d30f29bab08c8ac3548e03ac6705e70463cf22f6a72846f73d740d5a686ee7e79e970cc0e610251a24612e03072520bb0cfc990a497d7bc7422a197ec7340dfe3c79df51ea9eaba36cbc46b80332a3e23da8559cb4415af5e2c69c2af828714eb87666c1637f9fe748add6844b03f20870b1b8b3d5f91a79f806a026611bbc39ea44d3bd2b8b612da34558207e5b0355b459286c9f619a3e8c8024ca4a218f6fb4c8e9e9e3bb3666b5701ac9af3256039b6cc5f4ec2a7bea3a8d0f4e7d85c51cda6472c641d8de5eeb3dd9b5cdee226f03bd0d88017deb3afc920dbeb787718c8ec9583f0cfc74fd69a9ab1778cabe63e50352908e67b1b378219115ad10aaf2a1df3a48f0b366f08a57c1b5feddcf2f91ab05581d02b34692b486c3620ef2ee8168f12e74a32db8b7e98493c3554495a4b1040105581d0392f8995ab93e48255cbea0e1c3bd8ee2b9397319bddc88a3dd92b390040105581d035cd709f0d1953316b2ad6b41e1de5c13bc19e0d8bde5d24d075eb3200c1820476fed8bf8e7ba18021914000219042005581e03ffe2874d06cde0361391b02fd6341c49e4ceb5111b384395c0a1b1fcf00c16467c82198350c805581e03f9ba67fd1f82c21cbd7e9530ce9a3c9bcac0ab2c364f56c5d90a47ee000404036a77287c183d5b406af392c09cecf32b72f832c6add520ba4fa1d179dc8cd61703a7f4d6d0714ab90170880644c70422b873694b440db9bc5b65c429720bf0960f05581e037c0fb2c2a1c4fa729399563350c033e2a2ba5c5e5c86339a0b8b85e8d00c0647290d2575b4f38f05581e0357c58ba5bb85bdb34b5b01d4bb1a4b2ac57fa4bceff66a11a306bd1fb00c0146045b423f9c000219732d031c6e7765238dd856653216aa4f64bcebec3b5493c132996329aa54777c157ca703b9db3cdc31d1540b85ac3efbdbb2b5fe809c9140d22b2fff588bb18a08f9e8b603d9a048b24f92b0ab4aa74af36622d5202ab72ed00436a626d395089972c2ab2803632b0bebc68cbad3cbf4cdc6f5b5edefccc0952356bb722c2b987703c114d3b103a02366f1cd536c2a0e48e3863d3a5678de3d37c2d08db87aa609852c5d5fa1e203bc147718b542d51bc0c2ae7db9aa2f9f96a095b6287db52c49e25999a61cff2d034755267ef95dc9e7bcfcf061508ea7f98ea8befb44119875e347913edffb9dba03860b73acc9960fae4afed52da4d92e787a268b698d6defca0a693eaaced72c24033e3915ebbd8351815e8938b97998778d6cec6cd59000431882ccb82aaa533119030ae8ed5a36576f024fe42df4f884ce7656bc66687367b8daecf12abded1674040219ffff03db18a4f25c2aefd2a6c30d48bf4fb2903ed2cfaa03bda091686487eeec0818e6036575d5850e84c41c0bf4fe014ad6e55e89f44694556929f5e18a468c2ccecc6c03a9981118a19bcfd2880d0e28823765a745d6f91f821f13813fadd089f6939d3b03e06b2e818b59b4981b564f226fecab228cd13cb4161211c16da4e008fd23bbdd033031555cafdef2166ebf9a6070310d56ba67170a2d247caa1822a7a2ac7543b603e014b1880e617824bed0d9ad1c3f8a0431f9597e05240f729e7bde2b782b68c303c6d993a6a8b7dfac2b17907b138450ba85f8ec35a4f34b9c716b194ac964ef7703ecba9ad37d39f6d6d9bfe45a980806e624878634ffb61828c0949ca5b63c524a03feac57e03e85caa105d7c8c98b9ae157c5ff32ef83d5346ac66ded2cbbea83f90338323986da9df67f3cf51588efe048e95cce550c5fcb52fe84fe0883b3d2ed540386ec664d28b3d92eccf7e0939c7651e28a68d2961890ebafc630b9d6f2d2a3470219ffff03e7d605d842bb7263ece6858d22adce1bd2e9673c08dc46631dc1460a338b5d3c03fabb1f82eca6319bec6d88ef6395e410429755d88229ade2ebfa13ca2cab768003c922b245ba2491fff4600a85afdba1c2e8eab8ca7353378351e181e5054219d003bad5d50112cf57b16996f4be58e5c624f26a8792cd4e2ba526fb00b649a984b703348b674c4d8352cfd44d078b15c5c669815fedb47148b341014717bd77f4eb2a0219ffff037534a4fd36f70d8355124b4a4076cfb10a0f9b2e8cac5580dce42e44711861740346fe8c701557f939c0526e78c4d05dc8328ff5469316a314af58c97d0c30c04a03ab42bcdc9ed86ae28abc1825db616df7bea3d6a2d4495fc52be019d0fbc86d4403c66b8f03391587b61c163e22e29f9158a839d8330640796e736c59442010bffd03cf18fdf628a72275e4ef7dd57f826ed87112be250082284865a3e1f4c057c1e90392f1079eda1480378da8370fed3e55ea05a1d3b0ac8570d3fc2996e6582956f303f52e3c6f718576a44ad977bc088044d8de40b3a842a2770e735af50f66117a0703d36578459d9baf82fbd57d1a8fbe6408df3e252d47f074f6be32f50949e1730f03895071f6385eb8cb77fdb06b8aa6393ea32db30475bbd3737ceb1a11dfad4bb7035916d0d936a18d3b82bc001fc4814abdfa8a4d05377d389b3e292a6c1d4bdd4503b548316b49abe7cccf0ba5b99d4cf989e619f5b92c6b5a41ddf0af3f9af9aac703f94e64def598de6193969d7a16a5ea07ba308fa97f39af9495116e9f5e43530203590df504cfb6e62ce92ed162e1c377425f2ccbcdb366899048a928b81c89289003471fc17176b70430e3c05e396d5581fbccfab9f1e0901a8ed9c26a276e0251af03b94c2bace204c0d65ab6be5946f4ef275f49ced1d667c0c3c7b34797ced6b47c0384c7ced58f651de36f82f211b94f4ef9597f68e9af20542f00c76453b55639f505581e03783953e8188d277adc8c8a31bb12c1d4247bca2586fbcb6f4c55b9ecf00c0247011b774ab965a803cca6ae36683ab17721c54b21265ed3b665b22ae4f2ae128f0da770ffa59fb54505581e0391c45f0f505926f213fe3c25ea30aba84379cfe9bf501fcdf192532be0040305581e036cd50346186529d4a0794673e3afe69ee17ae582551617e643dfd1973004182d05581e034584c0c78bbc240857498c911c8e9ed3cdf6f9058f6d254b1ecb511420040205581e033818c728ef3ab405d6f1a1a120d29031237241145a05b041d6290548f00c1a0008456b49155d19c50e529f700103cc590cbf28064ad78d5876eab6677ec4fc6ad5532b4178745d8b031d60c88c9f03edfadbeaa81d2673e40b8b705b822525ab7d5fe0f9687eb8c3f9386abcb3f08f03f1646eadbe97dfe35493fdd521ac43de59548cdfb51759f8d7c9c2aaf2a971e205581e03482aa969a476458d93d101bda9fc2f1d7bdf5e8f28e0719e7051766e6007011bffffffffffffffff05581e0389a4aff43ea3233c86a2eec824c06cd17a61a5fd16e5b583f568dc6dc0040205581e03b9d6dcadbe91eba1fdabd0f4cf1e7dbacae98ecb80ac313f2a6cba71100c024701b2739ffa4d7805581e03fc232722cf8f9ce1e3c3d9c768a718bfe80b5cbb98d86e8ab90e00dd500c014719e01f6d4ae80003cfda615034cfc12c8f0ea9ad0090c81680f87cd41137b7d0006d4523b1c82f2d05581e035dd46671d4e58a1cc21155b1f66d4f67dfdd2fcd4f7aefcae839bcc9000c0147048859fde5b800021977ef039b49cafd53cc29fee3b70cfc1889ffcf23be6f2e94457cabe638448ab6e6ce7d03da53be7009a761283c20f56cb409878dc41998f43a7f00ac734861f4144a5b620377e3984e755293ffd9818d0211ac1cc1f6a460aec58f87e9deccae6909638a8c03e4e13fd8e24e4faf6ab11617c1034a3c6866e2fbce8c73b94cfc360770a9f1c703f31f957912495571ca57fcce25700bda5f31a41b5d26711dbb75be0a97f5a9b203d1eb366e4c8aaecb1238a6c43ee02883cbe1bbcc81c85af8b540b57d6cbc4cb60374c79259a0066fda009808dd1a843a9df72fec4280fc7d1501addeb17a3f65da03e9080def54df6aad2962166db877288ec53e06e15c8ad808d0cfc0be08e149480373b332bd28326404b862079873af2ba3afa1b85521c40926ef37897f9265abc203490a4ae0d6c951e5e8a33954016744d6e4e6c01e1a4b67bcf59032e40336429c034f9303a4efba403bbc04e4288931a84d409f3f307ae6036ea3c510b62bc8ee180391ed616ae147ccb6ca984411ee7323b45368cbe8c693132b03d8c2e47deae6380384274abb54154d633ff2763687e903b3c9606e73f43ad04c28680b7d32537bcc03c470a963b8bb912f9bb139888a215cd0f4aec705125e377aa7cf5613e491ba530219ffff038fdb42357925d5d57ffcc426987c7ffeb68a614d0302b293141af8921580a2f50339dba07292f52fc0757f160cbb027e4e937401e04d6ae1531fbf9535d4aefa2b0364f8b60a4f656711583bfe0df1469897b1994f0d1ba64dfa492cab695eccc97b03f202837f3bf263c45a423e5397788e081d65d7ef735395d7105639e2447ee3e603e09c15665025bc06f4cda5cbeea805f9d574fb026a54f7d704a00114088a64a203dc9360e8b61edc30cdae36e8063efb7adeb5b6fc00da83cb34eb32b13c662c530310e7549ef75c7cd909899cd2efdf6f4e549866ef1c49155403d10fad8fa5fe550365c1366ec41f485e620448332ceed899b1fad9676d857fe71079e1114cd715be037efc0a040ee489f9380e42638add5f0afd68dc7216bedaae3a3c4c085ec7494603d7ea207423b242aef8ee1e494085e3306e074b0d42d74e5a9e3a83c94617385903a90be2b06f3778ebfb53e1e179a028dbf43d07077c99cfc51049207451e1c24d03d3c47acf9b46cdaabda60c462af396aaf6dc08d72c4404df46ae95e9307b29e503797a3eecf66d6d7c87fce79e94013b243cd374ea4ff4decaa2412e784e1df4c9038756096eefdd372bd78d707503b9c75c15e3e675987d83c67669135b41186c7b038ccb87ba5a37df146ed125dc7d44d1d99681bc0e4d0d19d74e0f3284c7ff03520219ffff03be864ea4b00463f2d8a7fc189b2e3ed6de0aab64edbf9e89964c99a49d5a175003c50ca9e74314d984b1f435dd37a3e6fcd6980fd3ce35d86f8527a65ee1d7189f039f0bd1d90931efc324ff2fdf55635d51a862a0b23786d95137c8dd4a348eb2090398af5d2cef11949bcdf1cee5b285ada3f4d684c4aee7f338728a74fc5853d62e0385ece766099cb13e7cbfa959aca3642f06ebbbba9dcf2a1b47fe4454cc4e04550219ffff032f9932ae65a37fca4ae24c819322fe9eb2d896425defa117493922ae6c5867120354cf5a7c58342c7ea5a096b2d9b01fb229c550764f28ee70676e185507cf880003ec511106a57677be3e8a63a408fb34f83e830eef9f2788c929c0e924c749c8a10382cf6fb597a7e5f522a1df50667230ae5adbb8b204cf89d51e479ae6eae777e5039a78665fd6909d5b59e1b236b5d3aab24db3326a23bce42e4268dc77a0cd3fc203d0760c334dcc95077be843d6ecd455560ffac25fdb647377e89a7d35cd6f194703fb2b5b8919a2d597629c0d1ab911f58596b0c08efd8e18c1fb50059527abb5530327a367b8725ca34d8f91ba93af76a826ed66739dcb58ffa5748817c7202a42a1030e5816a0a43de256e7641848a80eec4a2fa84c68327e895f34d5e59d51f734bc0337de0df7bd91f2d6bbe5b8621a7ce04d965b67284bde1433ebc2de655e09abc803c57e2fd9f6df221feeed43ff3575c0fe0f0eca0ba0326df5f4157d69357961ec034021c386f648633b590383f6e140617f295fc13eec3a761ecc9ac99461eedc50036b5a3279d41f35acd24ec1da693b1c4a1f664f96360f3526e9bcc1599e4494f903d183375055e775b9615bbfdf2f4a4469df265cb9d58ef5529294a7276c8e5e7a0390d65b1cc71f0a434527f88c12abe88b6530b8206e26fe1f85bc59eb39c6f527030134540b3f300213f9f560a4909f81dc51ce4e14035e036d5e175e051c180f64039e5c8e9e704a0c9a41b3fc9674ff03d8f62e850f68ca9de227f7417e4a8568b70302d490913ad01f0c61fadd19fcd7fb0bef1dd0e2fc2de43eb7f5f03b7a23395a03dce18a0b9db2628abc9ca3cdd56c0796460528157766db6da885ab159b80072b03420478563b339cd0d97cf0aadbb6c2b005e13ce1df020cbcfe846c4aeb335ab503daac445637337f5d0234de3afbd7fca0b406fb68fa2cf5a66f4afcf5d1068a5f03f666cd881977e82f23e9c5343fe89f232f5b6ba2b517909efaf9809ec52e464d03772a5f944cd131024822172b47708f399dbcce38e2fc845c163d83a569a1d20603da9468b2696a3fc3f623754dbefe3c7064abbd15c9f505b08e82c72b59fa0f3b0325e5c180f8ea2413eef727a4cb6d6b67f45d44bc03dece8bd0053a07c232e2fb038180d178154973dffa3f01a05717ce96ec620d217c57cacd5c685d662b7dca2203a68c85acdae713a4b65bef197d4c1a26d3522cb0eb82ef6e1f288337663e9a9003a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03ad6892abd7649efcab14bf0cca5b5150b4ec7840cf434b5ddb7b3a0a0cb9292905581e034603dda0b5bfd515892dee24c5e23c29d86c215cf8e3dbdae85a40164007011bffffffffffffffff05581d02b513ee587eaeec8571cea38d7e099194675769089c134cbeb322a2530c0346110e0fc0d32105581d0289b52658178f5155f174241f57ffc44249bd757df071ae0e6591bc8d0c05462532ef0a7d18045933d76080604052600436106101395760003560e01c8063751039fc116100ab57806395d89b411161006f57806395d89b41146103c5578063a9059cbb146103f0578063d34628cc1461042d578063dd62ed3e14610456578063ec1f3f6314610493578063f4293890146104bc57610140565b8063751039fc146103165780637d1db4a51461032d5780638a8c523c146103585780638da5cb5b1461036f5780638f9a55c01461039a57610140565b806331c2d847116100fd57806331c2d8471461024057806334376f3b14610269578063503dfc4d1461029457806351bc3c85146102ab57806370a08231146102c2578063715018a6146102ff57610140565b806306fdde0314610145578063095ea7b31461017057806318160ddd146101ad57806323b872dd146101d8578063313ce5671461021557610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a6104d3565b6040516101679190612346565b60405180910390f35b34801561017c57600080fd5b5061019760048036038101906101929190612410565b6104f3565b6040516101a4919061246b565b60405180910390f35b3480156101b957600080fd5b506101c2610511565b6040516101cf9190612495565b60405180910390f35b3480156101e457600080fd5b506101ff60048036038101906101fa91906124b0565b610535565b60405161020c919061246b565b60405180910390f35b34801561022157600080fd5b5061022a61060e565b604051610237919061251f565b60405180910390f35b34801561024c57600080fd5b5061026760048036038101906102629190612682565b610617565b005b34801561027557600080fd5b5061027e610741565b60405161028b9190612495565b60405180910390f35b3480156102a057600080fd5b506102a9610747565b005b3480156102b757600080fd5b506102c0610831565b005b3480156102ce57600080fd5b506102e960048036038101906102e491906126cb565b6108a5565b6040516102f69190612495565b60405180910390f35b34801561030b57600080fd5b506103146108ee565b005b34801561032257600080fd5b5061032b610a41565b005b34801561033957600080fd5b50610342610b71565b60405161034f9190612495565b60405180910390f35b34801561036457600080fd5b5061036d610b77565b005b34801561037b57600080fd5b506103846110af565b6040516103919190612707565b60405180910390f35b3480156103a657600080fd5b506103af6110d8565b6040516103bc9190612495565b60405180910390f35b3480156103d157600080fd5b506103da6110de565b6040516103e79190612346565b60405180910390f35b3480156103fc57600080fd5b5061041760048036038101906104129190612410565b61111b565b604051610424919061246b565b60405180910390f35b34801561043957600080fd5b50610454600480360381019061044f9190612682565b611139565b005b34801561046257600080fd5b5061047d60048036038101906104789190612722565b611263565b60405161048a9190612495565b60405180910390f35b34801561049f57600080fd5b506104ba60048036038101906104b59190612762565b6112ea565b005b3480156104c857600080fd5b506104d1611362565b005b606060405180606001604052806021815260200161335960219139905090565b60006105076105006113ce565b84846113d6565b6001905092915050565b60006009600a61052191906128f1565b633b9aca00610530919061293c565b905090565b600061054284848461159f565b6106038461054e6113ce565b6105fe8560405180606001604052806028815260200161337a60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105b46113ce565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d9e9092919063ffffffff16565b6113d6565b600190509392505050565b60006009905090565b61061f6113ce565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a3906129ca565b60405180910390fd5b60005b815181101561073d576000600460008484815181106106d1576106d06129ea565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061073590612a19565b9150506106af565b5050565b600d5481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107886113ce565b73ffffffffffffffffffffffffffffffffffffffff16146107a857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb336107ce306108a5565b6040518363ffffffff1660e01b81526004016107eb929190612a61565b6020604051808303816000875af115801561080a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082e9190612ab6565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108726113ce565b73ffffffffffffffffffffffffffffffffffffffff161461089257600080fd5b6108a361089e306108a5565b611e02565b565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108f66113ce565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a906129ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a496113ce565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acd906129ca565b60405180910390fd5b6009600a610ae491906128f1565b633b9aca00610af3919061293c565b600b819055506009600a610b0791906128f1565b633b9aca00610b16919061293c565b600c819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610b4b91906128f1565b633b9aca00610b5a919061293c565b604051610b679190612495565b60405180910390a1565b600b5481565b610b7f6113ce565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c03906129ca565b60405180910390fd5b600f60149054906101000a900460ff1615610c5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5390612b2f565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610cfa30600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610ce691906128f1565b633b9aca00610cf5919061293c565b6113d6565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190612b64565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e389190612b64565b6040518363ffffffff1660e01b8152600401610e55929190612b91565b6020604051808303816000875af1158015610e74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e989190612b64565b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f21306108a5565b600080610f2c6110af565b426040518863ffffffff1660e01b8152600401610f4e96959493929190612bff565b60606040518083038185885af1158015610f6c573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f919190612c75565b5050506001600f60166101000a81548160ff0219169083151502179055506001600f60146101000a81548160ff021916908315150217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611069929190612a61565b6020604051808303816000875af1158015611088573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ac9190612ab6565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5481565b60606040518060400160405280600381526020017f3078300000000000000000000000000000000000000000000000000000000000815250905090565b600061112f6111286113ce565b848461159f565b6001905092915050565b6111416113ce565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111c5906129ca565b60405180910390fd5b60005b815181101561125f576001600460008484815181106111f3576111f26129ea565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061125790612a19565b9150506111d1565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661132b6113ce565b73ffffffffffffffffffffffffffffffffffffffff161461134b57600080fd5b6006811061135857600080fd5b8060078190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113a36113ce565b73ffffffffffffffffffffffffffffffffffffffff16146113c357600080fd5b6113cc4761207b565b565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143c90612d3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90612dcc565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115929190612495565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361160e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160590612e5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361167d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167490612ef0565b60405180910390fd5b600081116116c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b790612f82565b60405180910390fd5b60006116ca6110af565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561173857506117086110af565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611ae157600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156117e15750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6117ea57600080fd5b600f60159054906101000a900460ff1661183d5761183a606461182c600854600a54116118195760065461181d565b6007545b856120e790919063ffffffff16565b61216190919063ffffffff16565b90505b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156118e85750600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561193e5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156119f957600b54821115611988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197f90612fee565b60405180910390fd5b600c5482611995856108a5565b61199f919061300e565b11156119e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d79061308e565b60405180910390fd5b600a60008154809291906119f390612a19565b91905055505b6000611a04306108a5565b9050600f60159054906101000a900460ff16158015611a715750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b8015611a895750600f60169054906101000a900460ff165b8015611a965750600d5481115b8015611aa55750600954600a54115b15611adf57611ac583600d5411611abe57600d54611ac0565b835b611e02565b60004790506000811115611add57611adc4761207b565b5b505b505b611b3382600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121ab90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bda611b8c82846121ab90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c7f84866121ab90919063ffffffff16565b604051611c8c9190612495565b60405180910390a36000811115611d9857611cef81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546121f590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d8f9190612495565b60405180910390a35b50505050565b6000838311158290611de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddd9190612346565b60405180910390fd5b5060008385611df591906130ae565b9050809150509392505050565b6001600f60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611e3a57611e3961253f565b5b604051908082528060200260200182016040528015611e685781602001602082028036833780820191505090505b5090503081600081518110611e8057611e7f6129ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4b9190612b64565b81600181518110611f5f57611f5e6129ea565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611fc630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113d6565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161202a9594939291906131a0565b600060405180830381600087803b15801561204457600080fd5b505af1158015612058573d6000803e3d6000fd5b50505050506000600f60156101000a81548160ff02191690831515021790555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156120e3573d6000803e3d6000fd5b5050565b60008083036120f9576000905061215b565b60008284612107919061293c565b90508284826121169190613229565b14612156576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214d906132cc565b60405180910390fd5b809150505b92915050565b60006121a383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612253565b905092915050565b60006121ed83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d9e565b905092915050565b6000808284612204919061300e565b905083811015612249576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224090613338565b60405180910390fd5b8091505092915050565b6000808311829061229a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122919190612346565b60405180910390fd5b50600083856122a99190613229565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122f05780820151818401526020810190506122d5565b60008484015250505050565b6000601f19601f8301169050919050565b6000612318826122b6565b61232281856122c1565b93506123328185602086016122d2565b61233b816122fc565b840191505092915050565b60006020820190508181036000830152612360818461230d565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123a78261237c565b9050919050565b6123b78161239c565b81146123c257600080fd5b50565b6000813590506123d4816123ae565b92915050565b6000819050919050565b6123ed816123da565b81146123f857600080fd5b50565b60008135905061240a816123e4565b92915050565b6000806040838503121561242757612426612372565b5b6000612435858286016123c5565b9250506020612446858286016123fb565b9150509250929050565b60008115159050919050565b61246581612450565b82525050565b6000602082019050612480600083018461245c565b92915050565b61248f816123da565b82525050565b60006020820190506124aa6000830184612486565b92915050565b6000806000606084860312156124c9576124c8612372565b5b60006124d7868287016123c5565b93505060206124e8868287016123c5565b92505060406124f9868287016123fb565b9150509250925092565b600060ff82169050919050565b61251981612503565b82525050565b60006020820190506125346000830184612510565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612577826122fc565b810181811067ffffffffffffffff821117156125965761259561253f565b5b80604052505050565b60006125a9612368565b90506125b5828261256e565b919050565b600067ffffffffffffffff8211156125d5576125d461253f565b5b602082029050602081019050919050565b600080fd5b60006125fe6125f9846125ba565b61259f565b90508083825260208201905060208402830185811115612621576126206125e6565b5b835b8181101561264a578061263688826123c5565b845260208401935050602081019050612623565b5050509392505050565b600082601f8301126126695761266861253a565b5b81356126798482602086016125eb565b91505092915050565b60006020828403121561269857612697612372565b5b600082013567ffffffffffffffff8111156126b6576126b5612377565b5b6126c284828501612654565b91505092915050565b6000602082840312156126e1576126e0612372565b5b60006126ef848285016123c5565b91505092915050565b6127018161239c565b82525050565b600060208201905061271c60008301846126f8565b92915050565b6000806040838503121561273957612738612372565b5b6000612747858286016123c5565b9250506020612758858286016123c5565b9150509250929050565b60006020828403121561277857612777612372565b5b6000612786848285016123fb565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115612815578086048111156127f1576127f061278f565b5b60018516156128005780820291505b808102905061280e856127be565b94506127d5565b94509492505050565b60008261282e57600190506128ea565b8161283c57600090506128ea565b8160018114612852576002811461285c5761288b565b60019150506128ea565b60ff84111561286e5761286d61278f565b5b8360020a9150848211156128855761288461278f565b5b506128ea565b5060208310610133831016604e8410600b84101617156128c05782820a9050838111156128bb576128ba61278f565b5b6128ea565b6128cd84848460016127cb565b925090508184048111156128e4576128e361278f565b5b81810290505b9392505050565b60006128fc826123da565b915061290783612503565b92506129347fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461281e565b905092915050565b6000612947826123da565b9150612952836123da565b9250828202612960816123da565b915082820484148315176129775761297661278f565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006129b46020836122c1565b91506129bf8261297e565b602082019050919050565b600060208201905081810360008301526129e3816129a7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612a24826123da565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a5657612a5561278f565b5b600182019050919050565b6000604082019050612a7660008301856126f8565b612a836020830184612486565b9392505050565b612a9381612450565b8114612a9e57600080fd5b50565b600081519050612ab081612a8a565b92915050565b600060208284031215612acc57612acb612372565b5b6000612ada84828501612aa1565b91505092915050565b7f54726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612b196017836122c1565b9150612b2482612ae3565b602082019050919050565b60006020820190508181036000830152612b4881612b0c565b9050919050565b600081519050612b5e816123ae565b92915050565b600060208284031215612b7a57612b79612372565b5b6000612b8884828501612b4f565b91505092915050565b6000604082019050612ba660008301856126f8565b612bb360208301846126f8565b9392505050565b6000819050919050565b6000819050919050565b6000612be9612be4612bdf84612bba565b612bc4565b6123da565b9050919050565b612bf981612bce565b82525050565b600060c082019050612c1460008301896126f8565b612c216020830188612486565b612c2e6040830187612bf0565b612c3b6060830186612bf0565b612c4860808301856126f8565b612c5560a0830184612486565b979650505050505050565b600081519050612c6f816123e4565b92915050565b600080600060608486031215612c8e57612c8d612372565b5b6000612c9c86828701612c60565b9350506020612cad86828701612c60565b9250506040612cbe86828701612c60565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612d246024836122c1565b9150612d2f82612cc8565b604082019050919050565b60006020820190508181036000830152612d5381612d17565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612db66022836122c1565b9150612dc182612d5a565b604082019050919050565b60006020820190508181036000830152612de581612da9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612e486025836122c1565b9150612e5382612dec565b604082019050919050565b60006020820190508181036000830152612e7781612e3b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612eda6023836122c1565b9150612ee582612e7e565b604082019050919050565b60006020820190508181036000830152612f0981612ecd565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612f6c6029836122c1565b9150612f7782612f10565b604082019050919050565b60006020820190508181036000830152612f9b81612f5f565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b6000612fd86019836122c1565b9150612fe382612fa2565b602082019050919050565b6000602082019050818103600083015261300781612fcb565b9050919050565b6000613019826123da565b9150613024836123da565b925082820190508082111561303c5761303b61278f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b6000613078601a836122c1565b915061308382613042565b602082019050919050565b600060208201905081810360008301526130a78161306b565b9050919050565b60006130b9826123da565b91506130c4836123da565b92508282039050818111156130dc576130db61278f565b5b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6131178161239c565b82525050565b6000613129838361310e565b60208301905092915050565b6000602082019050919050565b600061314d826130e2565b61315781856130ed565b9350613162836130fe565b8060005b8381101561319357815161317a888261311d565b975061318583613135565b925050600181019050613166565b5085935050505092915050565b600060a0820190506131b56000830188612486565b6131c26020830187612bf0565b81810360408301526131d48186613142565b90506131e360608301856126f8565b6131f06080830184612486565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613234826123da565b915061323f836123da565b92508261324f5761324e6131fa565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006132b66021836122c1565b91506132c18261325a565b604082019050919050565b600060208201905081810360008301526132e5816132a9565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613322601b836122c1565b915061332d826132ec565b602082019050919050565b6000602082019050818103600083015261335181613315565b905091905056fe3078302e61693a20414920536d61727420436f6e74726163742041756469746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122045632bcaceac7875ef2881f22d45cd3e436b1eef8fab68eb74339bf535c098dc64736f6c6343000811003303e2dd58b3d1f90f5724535635c572b2a0d7fbdea24a5f4217f669b060f0b7aa2003b4865fa6d23b24059f039623794cbbb600c6108514521e281a4d972fdfd9dc210325a7c741a295109cc3c55e69d1395eb5a21a0656fb3f54bcc94546f796404140032311285dbb9e0daa8c001c39cd0506cdb530dd8339ae480aec63c430e10f30910327ac11c8b41cc1d5fa298a76d734a5cf9f5ba77bb40facb16899d601d9e2da76038a6114676d80217b77954dc919688f154336426c7d20bd25a8616091e7e5624403ea40b6f9ccef56deef003ddf20c853558007acc567ccb9d748a62e5b4005b25d03fcfd321078dbf2d225caf3d5656ec81384f2d9734de5e3580b65f6debe8a28f900581f02157d8fb88018c30ebdce4a35688011512787a1b28d4d243cd2ebc1ba6e9c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffeb35262026d600581f021d2337aa11fad593bb3c4ddf09b8f05f32442ce88cf5d608c722a78aa08546031a275407ff00581f02592ae06a870833deaaed1a580b0fb962df1fccf38d9e2d6f1bc64f4e75cd5820fffffffffffffffffffffffffffffffffffffffffffffffffffffbce17b8bff500581f03bb3401b9b13371361184078bb16127216ac073604e6c164bc3bdd850e39045af8b972fd000581f037a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90480de0b6b3a764000002190900036f39380318a50bdf1d35c8a12d795217c7e596c7ecc21db95c9337d2a6ab31bc00581f02982d8548386090c88ebdfbee9f625e30b06941435c903b97047a574cc60545b3cc409a0000581f02b59a798e98776fed21b1f441fe6d8df4519c5b48a40b928a586ebf273d025820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031c45bdeb3fa4c5ee997d171ef60c7df724686b5f07d8a2ed099077ab7f271c5f030ef5d0235c11bcda4359561fae0e391b35506cc35b8d9588978fb7c20a1df6cd0219e92703bf25fe92f09b8860c417528d52b7e346d7e4e20e06c02bdefb11a387a65cef3203ff7e678c1001b80cec85b9b0af1f1e120c18f38a4c14b6e376bb8fa0578079700321c255b5bb5f6f7d384bacdda38e7a31519b2cb9566c122511463b1d942c7ef303f033d064b9ac8735217a52c7cdcb83ca8cc12a7c53da54030355c545900f0a9c03d3c5cbc94c9d26e2eb90ce515b5843b6a604557f55134762b0e1e1fb1fc78d26039990dd3ed245f6be605c38e4d2e79f9b961158f1ee96dbf2c990935bf544de29038fe0e2cc32fd018a6a36868a9b61701e1fdf4160d7e2791fe2dfc52a893cacc003b856e5f2557d97a11ac78b99eedf654acfb3df1cec2098dcd904f3551c3256e30219ffff036a787b05e7a0b2b6bf2617f9c4ec5086b4e85611ff86494bace27de58a54ba4903d54114e86e57f54adbe0f4b7571a9189d38e85df1f191d5576e0c375b9eb943403166211af9da211c3adf5e636ec14535187a3a5b96ae07dfae4d34917ba2bd2fe03c664d9c192371e2c02b30eeba900ccf0de4a739b2424babeea616387b5737d8a03d05322fcf8d8f38631e69f24a3f7c532e8a593e30ea0368500913b6836b5a54f036aa5f09ec26b89b399b6f9cb785337c1c444e6bdb4907dbe79abfbfcb3031a54036b6ee96a5f4516719dc3436269badfd179a10bb5e5874a1b04b579ae579c81c80346a571828040b851984fcd9d2a7bae39e7c1a18620d52a8886858371cb0435dc0304d494cbce7022c9762194ceb01c83934b7fb954736f440073f1b7eea9baa007031ba2329f11a2f42e386d6c047f5c508e90b3fc54346cd1101f6e72ae8c96b610030d7a837574c213ba5bf0646ca9e4da483006049244089c3a2d90f7e13bb43cf90397b20cb8107b10b5d7b0939962e64c627fa36cc840b9297277298ee478fc3b8d03109857f9628dccf086bc16d19411cd0b15207a890beee9e6807bd757db1753b303ca9241797f24ae9e6730e42e1f7131ed534a0b6ea5d451a5af0d759276ca60060219ffff032b6854ac80090eed708e16bd4294a71550c731efca65efe2a805be41e4664c1f031c01f9f1ffae7b3269282c1592b941ade88172d02f7798a1f191652e7d72c47d037059055a27b26f634431756b6475ab9849b154673ee4aab96b3973721eef4fef00581f020b634c57eda5b4ed8185149aef7bcd23dfc719fe9bfa3f351bd59a69c52c5820fffffffffffffffffffffffffffffffffffffffffffffffffffff3283184897c033fba6218306fde657690e618c673fc933ea68a5c1abbd1d5bc7f6b27ac547d1f03c3241cc85bd73d8b6db7ae2022f9c363c84ed70b3c8abcecab410aebc15e122000581f02469960f6c8a44897999f452a3bdb3929f3985edba42848f112904e7e9a035820ffffffffffffffffffffffffffffffffffffffffffffffffffffffb19a9ca8a600581f022431892f8c92e64cc9036d4be5a7d2a8eaa3e4c6b894204e8883016e81d45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ef35d3fa1eea453304c29f001dce7489745b5e00da6b3514e9371614a07f460be7f81f413f021966240315aaa48c087c13c8178b4c50aba8c243e5261760312ec388d46dea337c8a47f3032419f44fc4bbe74c36ee22c366b88ee7f73df89d7575ca0e805274eea986215f0393508d0d8e9cf661f6cfc47e6c3ef51cf5ba28c23dfa61a27f13c1beaeb2bcc5035302d50a5f188bb068e7b5fdec26cd58d7bc3cee541203bff27f7c059663b7fd03f39519b9bc2e764511315f4f416968cf246d5f15157c6fec969e252f2c4d66a103a530ffcf2dac02389b5f626035e78093562318792e34ab1ac39ab5cfd12756dc031de4c7f430919bc41ac261e88a273ba53a5129314af8593b9d5e52988caf14fe039a5955549c672faceb919b96dc359b3ccb9e1958716c813ac214c8abf251c85703f0408ad6af286b1381977d72e2b65e0186e9171f82d38347bc65ed80dfadc9de03ed1b4433e002ff933fce3496948d9891a443705f41ea45762d8a8220be6f43f803d02180ffcc4d1b4993a3d50f93cadbf88bddb7e786488c1b66d26b8e8ca8ec20038243149e305f8d5aef15163c8513127f45a030fab50b31efcb041ee7946da55d03115098a4e0400d4ad044b854c77b2719098eb1bcdcaad34138a3fa6bd5b3b5d60219ffff03bbce4b13cb81ccbb1861a505e66cbc8ec5f4259e3ca42421451ff8bb363fd9f20349846ce8d9ddbf72b357b257cd7fd81d88bb2c987f0390461a91419275f61f370375dbce0573e5c20a4033db2a33ffde7294c51435e39e4ae358a9be7ab7b7f25503d36899b0fd25c02f6110319fd0c716b3ed51cbe0f8f6b5969f9830f8b7e96f8d03cc8fede2407cde0c0c0f0ef82382a2955817a684edd505bd17c14d156ed78c0a0383933704f1751ad8f64ba1bb35781809e3be547c1e27d451a65690d1c155ab4403aad2cce8974232e3d0709f67c2634353c88cdf659e6a7782eff0d51f63dbd45103efdfa01edc3a181b951df305ee8d43a07b82f3d50e4be8e5eb55e6ddaa76636f036d5ef2ed99a23e7c50d0541004ddedb7231f42e35d4ffe0e3058cd84b5929227037ceb09b21958fde5c3ee34bd0e1d9e8c220fcc0bd8303f325170ede143754f33036105820ef0f904be42afedf89a46330a22e1c3def05d0ebf05382b0ada98a66603a3ca8ba85c383c208c13c59acc75e76b2ba87f725085cbe7cc85da3a35e2b44d03128120e74ecf1c85ba2b504b14f133a2b0c95517525728d8810799d5ba7ba75d0380b7c530ec33ca60dabcf9368d370ad82e90babccb894d505d0538b7c0d517fb03454590cb037679cc3367d87186e270d6fb59e5f421ad6022bbd175e23f7eb5e20351ef09e9c70fd82cbf2faf408a96a8f1bbcd8c8a87ee0608cff4064a16a39da60382dfbccf8a72c24028b2cecd8bc71ed2df8c1714272838d9098bb6c7acdcb87003ca49b846635c4119c139c26afc6432c6d92e3eb7530ea01964261473a75ee231030a0878853ae00d1f0f8049727f4f3cc6f364d7b5852b5e8a140e814ebffa0ca603f901d5c8e2254c55a103ecba3cbb7d7e4e1327a798cf52f265b63bdbdaff353803a169d40179ff008e7a2a73c2371379e7389b49f0ba741f2a07523b499bd7b47c03e6436b9a68bd68e2edbed3e76b3d6075b9c03869cfa938c23c260513227c5c8b00581f02c1e0edadf119dc4aad16b417994084a8d56d6ea94d50fae2708d7427bc67460c0d9a2d037900581f024cd5f806d2a9bdf7f9701d8b3e3baf801346b39f988632e88655d5cf1c925820fffffffffffffffffffffffffffffffffffffffffffffffffffffbd691253fff03f5de1259ad3f42896f873b9aedfbb8bae15dc4c663984a141e84842e5c52dbcb00581f027b61f0005b6f9dcaff1f7ba2074252ddd36d42ed3e78a8b95e412721db684606e6467bf4a600581f02fa9dca029f662f11ce7731224626230f3fbbfe1c8af8f3414df1c2d981135820fffffffffffffffffffffffffffffffffffffffffffffffffffff33fb36443d200581f02bd39a6428086d4b177d48e79c7d1620c2cce1d004dabf2e7a5aba06b87b14763ce099aa409ad038f0d431ec6592e1530167cb2135cea7c71f5f31386169881cbb74be297540b3200581f02309dc88a199ee97552a468c1b9c8f6e06aff223d46cc31f0c8d336b080ca41010219c8ce03df8da8c736c3deba3a7c83e6b672fecd8b226390d97d6b6fe9531a401f508ba7035311db6876e3efc8861870fc58c633204cf459d3a1c7f48b191af25c4029d3fb03c4f1cada9f6554af39ffb3693a21ecb30a68d96477d978962324f9b2f84e47c90219ffff030f7a1bc926fc6a94765e3977c0c8d086839240ccd09e28724a10ba32d25e094403f7e6c48d72c6a636b413059c6d5bcfbe4d7fc35be4424e820921268ebb57797d038bb791974b9e6c22c09869ac476f747a6fd40e2b04a73ae377f64e2d87213eb70219ffff032c232089ac09bfa5f45263569f7b32f81766052593745df33d72672947046c1503da1ead480057defe22c166afea33192131ca518905458dc733d5b4741c50ce5a03955c9519f86f7ce95e2cd34196d33167fea6eeb9676e5fa5769bf861bf4cb5ff037fb7a924a1f94861de2ba1066af8b413dfab95cbeed0b8b973602ebd0b6c5d0f032536955290cb53c202f3f4493c68df9fb24adc76a2aa18b48513d4c0a130026603ad611285c52b850b50e8ad38905361256b2e9c777fb7ebd87dba62e3d91262dc030a681b3d2520bbb12d4354f42a41d293e7ce8fe3f99d8e328de15f24371ee857035f057f9bc2e07cfb582fdf98a1c9df98119333c2934ee8f7508ff8ff117e734e03b5756b1e19ad731efe4aa35cabf7fba9d9bb4fd2c9bfd138c9943921498f9d0000581f02f3b7bd4a4e9073c97a2696498262723d07a8d35778fc09706ad63388a5ad460689f21dbcd600581f0245e85573ad2b26ead8be86f9521e13f813e72b5ab66af20eeba149961813470178524f55115e00581f02614dc5ccead60dfcf5a7ef4b47493dc104b85b5112b8a2cca1aed54492bb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dd94e76315a7324ec47862262037f0e4fe0c8d7a062f46b07f468b2dda6db4b800581f02f54162a38e0e26bf7ba8e6c51035ecc7d14d8a92597c4414a9dc86608d845820fffffffffffffffffffffffffffffffffffffffffffffffffffffd8c0ba604da00581f02844a8061a82d657fa009a617ace9f26e935c4224e8aa0a205c38b8041e3346035334af03d003fcde3cdb6851eb175d64933b43a5b13c9722dcdded021aa75d00d13909c560f400581f02bee756a6ac79597166076be661cf18af7ab3496f4b29cadd40a481e50f06452d741b324f00581f02e0053aaaad777048e87d7064808af5418c3b800c50d8c0cc255ac87c509f46232c8310439300581f029c47b8e2793e7986b16f82f0f873a97a274333d8b3dce97c231c5b222bdd460720db6196b700581f02d8d94186172e943ede63eac8970649cfe8164562b24dcb2bfbdf794b4ad45820fffffffffffffffffffffffffffffffffffffffffffffffffffff4ec9bc1af1e0219f97603232eea9635515eb092cbcdf7965f3ae3881d9cf296664f1b1dbd8f3de7e3896803186d232419cd2dc5f2ed5f69ec81f556c5c457245a5a04eeb3d0ec41474df501038ed9134addd63f56eb2fcc61f51fcc50b305e879d21b616c4ffd9a25a2b3f2b803508945c01c6ab566edf70111df6878709f5a3f55df9f55bad948d8ad1c7cfa0003b00be9991d52f1727a943196297d51abb17db37d72a67625f6ed23f04276cf820346698a98bf3d4152c1ebf148837768071ee32db5fe214d19a60db4f6ca4a41910307ce6cf25c00b85cf984f33e595eba3036688f7e5d0ad0860b078db7c997685803a8c17422fcf6e5bfb7ac7cc63d83c689d8337512bf16402613288ce387b6f42c03828e85e3fa31c40daca8e718bbf37862110d297c79290efc2b0c327e7758172a032604c9b248858a5bd0e9dba755918f876aeac41ebc874708aadee57e2f04542303668abc612a57dd93a11a792a3d13bcf750a2ed56854cdc38f6857dc7a188b5ee03ad6d538dc96d8c2977ef64d817084f3f8e88900cc91669b7bc5e0624cddbc87e03bb64365391129c693babf6df47da1324b32d348d4b9aaec791a41f41ece8e57d03fae69472c76687d492281b25c58f22cd69d6c9fef176a32c5ddea139bc1a53f003942e84ebab0f90030dd663d6af5815ac0d189e91c0fd6437c4362e875c4e61480219ffff03ec1af9592eceb55ab58e4128d74d0539df021088a7600dafc671b0f1fd1013c903dbe120870845d2ee93e4e6f8592d66f545f5c6e8accadd08e26428e6951c0f7c036eec118210d3a8b3a774f347c4422242d56239bef13f6ce6d44ef01094fe0e7c031a7d9693aa0a7951295e04faf5db8dc4c749af58dd8f1e31bd6de5baa0a8804503ea0b5197ee92ede489c842851971d8ca7ea9cd39a73682c23c92b35da0863bfc039aa51c90b8c7ab37c70a0b27a52153a6616ae6d6ae725b185c3a6af69def330003c5a8963e8ecaa07994d309594412037b91661e49c4c4ee0d828eaf760e087ae3035d2e59fd00d85846768e76119da8d0c634317226a8d3a93632f78ad2ef9a287d03ef48bbf23514fa3948324592994c70a26166ef3270c3e927847e2802480cb87d00581f02eb897d1af664a84365fda47c32de4c1c9f5034aebbc43f116a0dab3b2dc545c39757e04500581f022af570f2c75ace53923849afd3b17b991621b181f3936fd3d02402d92fcc46028f40a17df700581f025e258f4724af3d2319d71386ae9749cce3fd00e05501022ef5d1d723a1895820ffffffffffffffffffffffffffffffffffffffffffffffffffffc997855780fa00581f029805038b55522205b7abd3c4f9e0cd99e10de7826d22a12aec765fbfa0955820fffffffffffffffffffffffffffffffffffffffffffffffffffffc157ce0d24203f413cf3c53cb7b3efe19eeb64f78259a771341a1913eaa81641a1db1e8078b1000581f02ec073ea0427a2b1a93c7536a20284146a2e01c42b75d8620fcff9d88104a4529c1aa3cb000581f02e24fc830f5499c739fa59e6f8cef849edb058e939825859d5d4383d917ec4525dfe6ad83021935670330e896e5cca1f097e0b0ab3dce02e24d58f1940f198520eaf9aaf3071e1f6cc0036512020308fbe68038ebecd536864952a0cf14be86ec0ba945d493c5696e999c0331846b853fe91be4cabb7f53dd8c9b66ce26ea994c4508532fe49a039c76dd16032b33856ad954880fb61354567c333b86d0cb30990875559adf8e033f9086fa7d0342320fe14d3f64af3b5627519a8a757a1fe2cfe7fc860be5259ab13ce5dff1c603a3e1012f921b8485de31ef29becd768915d9b9d17506a367a1b73f85a249a86803e109f1730012bb66c0ba7aa23e51713469550ffbca01f89587fb1e9b18f43b58031c9c60c22d8e917003d54f708d9e6001a9c3f218c8cead7d4de52e0dfbbc7fb903d8a329f7a372a2e66879c2a930154a89a8fd998e02943eb1ba6afbc2c6c86fd3035a0454e0c2cefa012392daacc8f1bd45a5b3fccef86994096ab6a257d5bcc0a203c4ba7bd57a1c67f73155dff1e7acc77ee6acdab0490b72894cf6be0286f4307503c3d9eda8fc6d2fdaf7efc06238398414434782bd9cfa7057d1104cbdcf86c4dc0219ffff038aea3bbb74adda4d6fd2243a3b485970e0418a2f653962fedc01fec1a93cdf000219ffff03a682dd4e14c96c6913597838c424502d4127c1e6d76fd62d3d8f2a662711932a030a91b40ec7abc7f66e99c530b80f5c592feb73cce812dad314ef7ef908be1efc0329a5bc4557ba3f0966fe1fc1f86149c583e1775503a102cf23cfbcdb70daa234037c3b14ccfd1b1f8131606cd0aaa1b74fa2b4e82098fcfdc7438274a4086c347c039bf93363be1ee6f2be4917ae3ed73cf5bc134c5754743dec9dba7f53698ac5bb036c4f67ec743a2dbcfe9a18dbbabe166b0c5032130782c14f192ce8e0a608674803be1f2393982a757206963ec55f21fc721ffbb1b5beea4e89d6b344735519582e0343f68864a32a28ffce1e87f7346f4ffaa5741635b7269854f1bc7777bd334e8603f0974d49dff48b21e6e518a93002d371cd5aa146aaba4d1b87510d19feb15ded031a5db3d4aada5e52f1d79369c79799026bffd108152b03637df9689a45c58d43038a7f4722ba8d12e9952a3892e37e59e9a659b1efb90bab66cfe2da20e8436cc003c9cb343881fa1f92b2be915c0f52a30803fc85b5f358d348b584dd4587ab0b5b0362b2cec3020277b1f55d216b50ac8430f968603b1b128f7127480e05ca2fd82400581f03d34c57c02833f281e3c958d4a72ba793ae60fb171cd427579f2f3c96e2e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03d1f14e5961c76104675e9e47a8238321044a080283c04ae8d37ab03214605820ffffffffffffffffffffffffffffffffffffffffffffffffffff834a079a574b00581f03cee84347888c100d68e8d4abbf42cadb16c11bfd910f71e6821930039b40456a7a4fa5d70219210100581f0274227937551ff9b778b42aef66c358fb0f79a534a53926c7c8e79965a5175820ffffffffffffffffffffffffffffffffffffffffffffffffffffef533099cfff00581f02c5b995693864ac0f33a70784522b01428f66e3098cf7ccb7a00338f2557e5820ffffffffffffffffffffffffffffffffffffffffffffffffffff8f56d5c6ba8a00581f028d4c71ef4659956c3ec75d4cda70aabfdda0f750542c227d562211b6057246025f8c567d2402195820035ba25453970975c569a96ece2aa7975732e713d40ffc5d94e7f9a4b89bbcc6a20378213e96317949663a337cbd8d1b7737a0d42c8af443dbc0f14a465077789e2603e3d8370fdeefc9361f5442aa2eebe185a11cb4689b9b976ff73f5d0bc59d3680031cc7c9a21d3624ee2f1f10f5146360dd5bf1f14d7dfb5852452cb92c27a42185033a0f555b121bd99df7a77414bf4d25dc965e91dd34bd4402614e7c4e1548559503b8e071f2d40407aa0c77e2ffa3966974eb1be5bdae83ef80c7d969d78948089d03568abf308ec6bf053573b34b7c1060c01ce805481743e65f431be6f2ca2cf019036ea9ff9c85fa1597b7a242f305899c53d6c8e751e1711bf3f937c12112fbe1d2034b4fd63739e2fe292191000f3fed0d3321a92865c918ef35087f41d654803b4903039d8479b4ed0d6a1b750dc04eb8975408b0cc9d333dd9b8a53cae9f2692272f036beb44e97195ea987c52c79737eb29c2de0b7412ad860bbd521962f4837c27e30346f1455126e8c4c7951a94b6a3e9f50503ed6d7569d66bb586da5158ebfe4a0e03158173fc0e453e85c39f036a0d99cf9c2c034a5efd4da84e63a6ecc9d25946b803e22598f793ac2fb00ef07cd8d26c04fb9c9f45915ae53d79b994a5ebf4e06da40219ffff03fef4b179066446d01265bed9f15dd4cb24ef529c99ccda9dcbcf4032d1f5eff3039c2f0599f3687db894d3aa76aeb134e76d332799992a4dee0a182ad71e5e861603b409d59bd3d89179b73afa6e70d14c9653c68ee67a8d8ac09a2908a0c44075fc03ffb23c73d396f0a15ee8ca211d0d87f2e710be00c6c63575e3e11a183bb8bdca03da79db8c3c06055c038e8def2c3075f607b7cfabae501e64cdff40480921444b0219ffff035561fca5facbacf388cc7d332da595b34e984e6781d54078889e6ff0aaea1143036884079bdbdbbbb7274c54a2c4acc27c42c476d9ae888a36b7ed744e135744110345bc1e3a3b75cea82930655644d6a6e4fe1dd0f622f1aae3df17bfdeb598bd1a033d260f54bd7dc146a62b22a71409d491e21fc85b90e4a3c15ab9099a686b167f033c46d1542f9c4011d57e65f5af77b732b36028f2a9c92915a0382ff75775682703f229ba5f529bf44c82bfd9022b9a1dc4e4f8d1b8212c9c0f8d5a5bde25cb6b82033447d01e451c2c7fff3ca2d61ce1e327446ab03d7439d46a5cf522e0fe5e583e03afc17aad03b03845c6f26b85e2a24a4706e76d9e7b287aef84d24b30581fe8f50351196c144fa92fb67fbd2004c82067544a61fee77cf154612454afccd1635b9903adea9f7c7c9207420b617ada53435d794725ac7856fcf713de3a39e56db9a21003f027d62a51e1c678731d5ba2f90d0f8fcbcb4a567d663eec98a99f91f07c138c03a9f33c0340ff2109bbbe25fe33435c15fd1bf742740a34eae00682eb39c078e503a09773b0870330656284c93dba7fae61e1722be25c6aa03edc31c9f2f0eb7cb3036117d33f870812f68a9c1841d26f4a83e5c82f79db1b3a3b1f9387f0a1260d2403dfe9afa10ccdcd3164274f29329c55f8665ab2bf2e31ca7de1239bf98fc4f4320316343ca6de380c53df3619e968a6526fdc76b9a8a366a6b942fbc1399f99af8c00581f0208e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802570100019ec9367b8c4dd45ec8e7b800b1f719251053ad6000581f02d43381f9420f174be72bdfc6ec286012a2c2ad02424db440fc0ca44e542746013d3dec88ec038f7ab17ae70b7f981bf136c450df9b2078d77a3cdeef4ec09e27e7c3fc240dfc0377fb0fbbf23ea3357893033b54168c91996a60c046413d21990dc420cd8a686303a840777fa3343bfe32bcac49063022d7ffc1a3e55129a20ab9d871fdeba2adf30318d760969a1a4fc6f3adf0eed02ce297742f8d6d89a2bf6637ac9955c8349b5201410800581f02b6433a8d34f7ce2d5e05d29abd060e8f8edb17677bf14a20e9c5a3fec8f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033b58c2d7c104c633f7234319773480bc12d470ca5d743aa354e8d9a4a90f8c7d03f694bfc37fb120055dbb969ea6c1234c3e4b97b9de871a41bc852b66bc01bfbf00581f0237fdc19c4c454469e8e6cf4f72214a6d1a6dd5003874e56b6a955985ff515820fffffffffffffffffffffffffffffffffffffffffffffffffffffb91fe34b7ea0386f891451018487ef3abeaec7c5c5b69331c64493c59a84d81742d805be3f4a30219beba03ea51e686578b91fd5b14ac92c5bdf3fd57193a7f15f26b3e8d107fe3e425661603752fedff3eabb82927f63c101eef1577ffb17d002ea47a2ede380d97900874b203e0c3f9ab1e7990ac320559343bbd85eb97fbe6bfd6018e9924c0d73a4043ffd6036a32c9ac422455f022379e513e0fda67bd3526150d423934493b358d12dd34a503dd02061c38b67bdef63d499770f071fb1d50569a9cec9e6a0561e6b3ff65c601035a4a2f43ff3c2646dd5f25b0ec5d02fb7a79563414020bb938608ed3d748bd2403433c259eabba4c421103ef23c9fea3a389e83fbb4952ddaec7ba9e13a8de34fe031360d2d90a9a83fb96a067e2b818bccb8f66225a11e0acfbcc08c02a3777ddce033298f3ebbf6561fc19966abae77b25f1d53c3f5930c6010285db43c0c241757e03911d6d7dd0bdf63fc21ba4f7ce60e520e595277a0751b5da2a47f721c052815d036ea28db9ff7eac6fbcd7266cbbd93b3a67c787f2f5845f92b918a598c86b500b034f3e22332382448f35eadf27df9fa7c97f9aa3801f8077f0d4ca220b11abc50e0350820225f4e389d9b16359e256b3d2d6654428643730b0ac56d83826d57d6ee5035535e20030039af0c6f07a29d15c4d977ff96829dcc82360296fd33d421217850219ffff03592bdfceb7b06f602f0581cb2ff873dceac30237bfda3d8535d6c8446e382dde0367e97d59411fa925018005320bec3eca4e04f682b15ceaff605def43d46270ac0219ffff0366e91c3de1bd7d4c437d01e12416f01a79bc8e8972f27f794329ab8ad8a7174703e58752e0a6680795249f43d51677dd073e526998e9c422bf6aa5ac95040eed990355066960e0a521d487fce9baeb2ba07dfe48d834376983165cb9942f9ab139d30310a5378a5f86d58dfff8e4307246a2dcdb6a01e0be83248dd733eb80d603f9e103c9e8b403f2ed4616741bd8bb14cd5c656ab856f4807160b80bfa0c5939b3806803f9315566c50ff84944622150ea557c76281e8167286028a1f303c5993a78aa64035f9a374684b6919c78528818f4fb9b835d57180eec998cf2344d050f1b981a0b03e40bbf326de0f6da594f11c9ae88cbec9117b9a85f553703592ad8f1b812457403ed5d6dceb2187ec64ce1546e431e91b4db9fde97a3b9ae7717e8f186be74ff4303f090ae29ddc09fa4aee6204ed257c95e6a67a6ace4ccc1d81ea2fdcf8364ed0c030bbe80fc48f934f0f212170e7433bb85f4f962800a6618e862667fe4633c677403ca9d14a3689e4b792286f41f5a633e7bfeed7c5e63ee3cb93c25b895f6144c54031fbf39f491e89ccd251256229f4c8a62e512cbaecd080f745391cfcbe8bcc29f0323c15015a0593fa0f85b36c0bd2b482a987a7b51678627fbec6e14671802351f03b7ffeda02e935094b6424174007c30c9d776fcdd1538f78419051aad65c939aa03ef2462a5a0b83d23591109fb29d37889afe80ac49976c0b3b27415af5a450458031e3a53c2e237f4085b03258928f8fc7494f00182c06d35b9c03816a24068691a0347fe225fd3da9f116ed36217abf1c9d734a1c47c3d38e9c6746558ccabcf5f2d03093b1b1f961dfae8b45d9c6e691fdd6df3248211ef463193656c7f598e04263900581f022ebd55c925cd8adc79c9f15ddabdf863a4aa8be75bb2e8996feca948d2f446124fdb5272d900581f022c1cd0060f1ee17fee3b5a44fa4cafee93a338ec48a58615930f415f21634426d3390100581f0222ef0025de5dc2b93a9e3fcabb5ebce9adc5ff68c6481b5dab0365911079461d21406b843d00581f02ea0b4491e27b42f1eb4f26f3b41213767cbd61a0caffdca4ca844a969814462b5d0090757f00581f02ad49f6e95fdbf6f512ad72c82888ec6d792b2a20864722388020e994a872454bb14c610000581f02a3aa97913b1307ca43d2d05b82787c32db0e1312101a8748b7814bc9c83d460351b9d3723b00581f02be832568b37423e9639cfcf511524c7c12fe8e3e90fb0f05825c3d88cf725820ffffffffffffffffffffffffffffffffffffffffffffffffffffff75a909b17b0219f922038de7683a9e19102e92a8bdf1a122a8dc514c3ff7de5108ea7a2b8c5c64cc6acb0219ffff032534f16d747df20fade3b322d3e7726aa7b8c5c969dfbc21bdcad15c086c1a3703575915212fdf664ef115ff993f2f5a6c753dbdb450c3106f66e11838ae276b5103084aa45b4c670cabdf3cfb241c9520147c95f3a8a2bc4f5735e0eb1fcd8b71c5037abce8fd23ab88cad96dea900f969a2205114e6c243d19c4d2ab79344ffc87eb03258378f7badd1959d9806d347409057c606b98f0a95c40660c7f8e1cb876613a03fb744e7903470db798dd5e7b872c86c81086146c17e1191cef7ce1b39b9cc022033b8a395f10a9c0af2c222773b8a6dfac8caae25525c439b7dc36fb7709c7476403b94077bd4e4a1c7b661f2298edd4475c299be6666eef4930406004d083b920df0332c10e8970d5c2291ef7701b10ecc43fe6567172bf24e43862103f9468f81bcb0391b55b6c5f898d6e28b248b2091f24c6de1d84e174b453b92e48f06ed105553b03b68934b0d4154b0e6dfaeffd0f9baf344060fe6853f87cfb99850dd993fee3760219ffff033835f046fb5beeb82e6b8a9e2b9cb60dd813c03df97f78822d4c2d4df086b81d03f47f5fab62c61684d8170d536117fcc8a822309333e9f189976a0df29143b73f031fbe318fb32e6a302023c222bf8c98be606c69927a6f83c47b34c161ccfe4ad503fb1aafb66aaa854a983b8b3e00bad62114ad38da633c5013b09335e057b291d803cf1fb4c2157ac06b5378618cb544bbfe94467933a7f987d7f42008a951762d8a0351beb862e9f66e7d24ee5ae0f246080de12139db2d4313ccdd2c73438c0d109603fc182b562c4e2acc134c253862f58404c87991e3d28605eddb7a8d4a81e716070325e1ed16b3912963965e72e30999db8dc6588b871a79abc5986682fbdbeda5bc03a4f054c057d4d23f70e95fd40dfdddfdf10c3c13d6ca6b96511bed3ed75bddcb03821d1804cb68cd187fda51d915f5a933891f9e397f44cf2f49763cc1f13a3d4d03a92e1ce4ca4fe1b638bb007f263f320d79cf13dad0005cec9c8a3e65b58421de03689b2918e2cdcdc16f8dba82f0ec393d6ad5331c0efcc680579eefba680d809f00581f02c5731d4387555278d4fe292d93b0d443945b7ebfcba5615037f250d65438462e279a95b1de00581f02870508c0cc87f260b7cf8139e33007b4a001422a5f1293e5365ee08487fd457f58b7d70903f06470113c7c2cc6b3d866bf73f9ac80687b98f1d791420c87395c76b556b85503ea4cbeed7ce14a7d9cbc2d3319ed04702cc17a824cb27684d85090ae6f8df56000581f02ffad04b04f2c3c53e285d9a2e40829d63a29b848844f152c56a6d442743145559fd7b60a00581f025e56b482f7f16634eda36bdcf05af50e2a05a1de9490eb3c6baf60e085e54609293aae088900581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688410500581f029021e8405aa9cd766db4ff04345709cac118f2b8045aee6395c9303ed9ac459aded5164b035885f1235aec3d3f63b9a0ddbfec2c508c33c7cacc8f8b6e7c43af4ffe0cf9620219d32b03c8a1553cc829471e7f1a3c64c7cb0f3e44cacd4aed52e0e57ef0546e64223ee8033262ebf79be478295f66a00406c575693f60bd4be290b7056f8045a446549f9403bf440c10f1c5ee7277a913cde5bb89ef5011ef8ffd853097fdb84561d59002f30346d8f078dcfe816be3bbc5249e854419345e1fbb2439652dea035e83bb0a3c5d03bc14aa72915e372bc536e4bb0a33647943cf9aaa32c6a87a140b72b77dbe9911032096d351286b6e14f06c157486a264f0113fbe86c23792f44c62de6c325d2e6c03c91d187ecf2457dcded486f946846625942682cd533e597694043c49be734af003eee0d98adf34899594f3e7a3c4a2c3a3f3f72ba5c4f33b63d64242482c706de103b891f75f1ae1bd8f23b1a79861c8179cb37fb1d0d19495598318ff30d76bad400219ffff038b2e5ddeeb7c8bc92409b8e060aaedb50e23d1803be64bf49688ba82546ea2f0031c536b8f06d9794a576c6d233aae158cfefeee63efb41fba7e2d7ce7da0b40d1032c08057ea2c251ae00a0253e5f9561db18d97050019513dcedcd135a45cc07c50362ba0be995f1acd05bc9743ffb25059bd5e0b3635ef64bc1aa5201faf8bb47200372a1ba74f803a022a7cfd1d3dafe8c95fc8e64d52f070302f497bc7ee8ae323f0316a620548fd9f607cc78f9854c5b8f5b90a4a21e3c16148a21d3f9ec524e0de00360443ecbd8a4fd56b154a9013ba9485710b45a5cbf51ad2b6c655c8e6ac9c45103839f5efb3d71e340d5e883e9863d117c98ac11f4adb157c882ac59558a2ff44103d49a4579296f1179e5125532783da03c4c5cd9a846f5a8f65ee6772fdbd879ba036e18f1205f39d6a95d2f3bdf665ba366b7d24344db0d07b5b6c60c6f0b02b3d601410f00581f02aa496949e915eb7d3422972cfa6865508bf429491bad7283345ff72aacf8461f740e09baba00581f025b1ec446084ed21c7c71f4190a95946cfe5e2682cfd10922036fb12e299b4604a4db91c3d300581f0292e867f7ffdb5ffc4ffe3572ef8211f5233a40657a178d1457c6cffb009a5820fffffffffffffffffffffffffffffffffffffffffffffffffffff98842dc944400581f022f8afda25daa11db6a770a6aac1a5c3426353243d2f883b14995b0d3c4f14554cb8bb05600581f0289c5aa4b2358c18e1f5e745faaf1fb850fcfc1265517c92d4b1aafd30c5347230dde387362f400581f02beba5b00e5612c43cf8e73c2c908e5d42b67024211765df03b76cbe8d5c646b616b99fec2802191a1b03ba5489bdc8b121cfa4ca817ffa3c37460da681ab83e8dd62da0751bc6b202f90032fd508533b4f6bfde6f4866f6abba977cf4e0db3a1998e5d6b165a2cd52625540361018216cad684c87ef12ba535f4caf80eea2b871a8a1da3512e427ebdf4b5b303c0757dd2c7cc0be905b191e30d95fe25eb9c6c80dcdbf6cb281d5a37ae0ce225030c24ad24e3d03f7c9ebdcfbffdf9634ef202e8d16e0b8c96dc6c31e869025407036a70263e80f2a87af5ebec115c254b586b232ac5c7861a477b382efbfda7e08903ae1f85fb60015dbd5d7f3a9a5bbde0deaa69011f47f21783b9256dadcb31acb203ce4faf54636dd8928f8696bbb1f00978d777ab2a63db1d59f8981f551bdd6362035bfef4e933c3485d9da80e75cbbddc9cf9b670223973e33ce529f389fb2af58f031bb3e7644b37181c3c55eb1ef7fe8cc5493d7abb3fc9bd7f59a739a98961fb8a037e9ae8eac67d6e5051bf53ccbbb271efb9ae5e4fed4af3dfcce3ac52fb4228cb036bb3a6696244c456532b18ba8ff23736847f7093719da7dc094b8760ef45843c0219ffff03963b9024c56f2e9521febc28ab53b4ec99586f4f73b444159c9b19e80785f47d03ded5f801848b3123309ff30bb1635c06c735ea2b7afa85174fb9a0c94eb401080219ffff03603937d50aafb80d6deb9a19389b09be9106847fe5b18898a3a02b63ae3229dc03e00ea785252b08a3c7612dcced14456a23a0a33c8dd4cb90dec2024f76aeddaa033439e7342699318c113d0b939ad2c9cec951c5e1dd0e3cd13330c12b72d9d01d03022df00db3ab2ca0ed8feae53c9277082564e9e3e14afa727d00cbbc663a0daa03c78bc96357b3388ec90150a2fba290de6ec9390a036b49e463dfa2b0a2b564430329d27147900ee33c61b6d59cedcac208668a08f8b2c81015a15af5068a9306e0037bfa10d0f1d0a9cda867791ec99994500df3b32b3fdde5ff683fda0fcd82a1cf03cd701e1166b05235b3e8d397e830741049913fac36cc9c74f6ac7c1cbf68fc5803a045969d88c6a0d04c9b5f87cc8ee123ce9fd3372a439115fa3cda654a223e28034bd1bf6d128d2d05fef383e8305cc365810015ccc958f0f10278cf4e9bfbece803c2571e5e6425ef99cdb038a221677bb21a1d8557d5881299386b131d2d6a99bf032bd8c143ff7f211d7c36445b55c96b25a0f916dba7349dc01cc854f9a997441b035d53d64b577f8ee193ccc224526fc42a0c948385a9fc7445ec2e8e1cf0b49c3e03d9dc9a6b97a119f5ea66515972de3d7bbc7ecd05190305cc5e8b9205d9e1d7da03684f4cdaffd57e7293b695296236c75d3807d724fad0197c0b8bae73832f2c3903ff4cab1ce4b6f2511d26605d940ee5e2740574b70142a968dc54541d6f8cda5c0344d724a4818b351cf0fe4675d6132ea2de04e046ba710f817cb1238bb367038c031f0a9ffa5743bdb4aa2b4483e0b3cc1004f65fcce2d8d8f34a7606d2e58df86f00581f02f66ea551b6f3ee6739b42846a2865d096a7da90807b844fc23ec950212a25820fffffffffffffffffffffffffffffffffffffffffffffffffffe8b839cd5bfc400581f02bc78c2229afca378dd0d4210c1f012f27a823e9d11b0e13987bf333a851446013518086eb403acf37a45f0599172483a6dcf8a43cdc4196d856cab747b1698e77df41f759dec03ddfaec37220fd92cc742e62fae89f30193ebf876279fbd2e06f278546fc904240391db9415136abe6b7aef93a811ccfa3dcf3135eb954f73d5c0f63989612f347f00581f020a70d6dcecc7a3ecb797e453d2fd212ae64c008db2d69cf85035dab0a9265820fffffffffffffffffffffffffffffffffffffffffffffffffffffe2e56b5dfff00581f02ff3731311990eb20a2fef5f281c8cffe23c4bfc7b33e7b6a1b68c699be3f45f811ee185f00581f03a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0547a250d5630b4cf539739df2c5dacb4c659f2488d00581f035e64972b91c87bb9f8215fea5cea84c45f28c4651ac1ba34ba24ae422000454160f99a310219201000581f023715679f4cf1adf5baa12776af1df70b988db2d0e2049365537e16bc1e824519254d380003b2ba4e9255433a02b0e093816bd2440644305c50f4bbc8629c63b56877e9d55e00581f025113bcd14185b418824b4469a4a2d4bf7e3a2b4718ccb3fb13cfcfd01a9a455738b17c8c0354ba8bdcad3497392ac27e6a4c003137233fb51f959fac3aa66d68c285769ebe0219fbe503691fd8dae6c70bb695d2625e7e1ace01be78c2d175a0d80ef5cea0cff77c77c3038088df2fda9984ea0919761cdfd00d6b17a7091693ec721eb8bb91baa6615fbd03600ec2997b122e441035680f0e017d3ce9058941596218e665265e81a5174be50318eac0f33f489b39c0cd798043ac3b1c89101a7f79eb1ae2998bd9098846151f031ae99469a24ef2a7427d128004c98c2063462662881b7119e2aceec283accfc0039dd8f983c82ae4db86b8c635678412595b67d718a50e1ca25c8d7932da05a1f103d52f4b2d1fff9d646cb085460aa8705d6fab3713c78df50e50161908e5f29a66034ba4b6a7a5180064aee156c6bc1bafd91c582bf2b1c21e422d3844c08dd1c6d30219ffff038dce5d9dd2703c9d1a70e2beb8899a85ee88770bd4ca75005351881f92a7dd82033c63d65d80e119b2e08c8daa1af0f9ee3edc7e93a0363df36b93239320f2cb3703d8adbb38cc92ca8e9338eed0597273b2948a01dbe66c6d25060310369e945fcb03b47d22e68155059b8f71758f9e055f4aed1a1d65f90fa801e3ccf322460b243b0219ffff0362dd343e020d274fabc9251a697cf6426006fb7a62ec9d0871260538927f50d3031568a3b54b80e78993ab51d6d2a68a2248a216e46166e804d00493d3f5bab90503dcebf140e4d55a9115ccf3962b46602579ae4c671f28929e359ac1186d62cf92030929a3dca809c46476faac73ee93777493874683d8cb9ddfec9ff09a72ae5da903b09c86f4899e5a76619f247c7c8d51eb9efc7ddc8b4e08543a283659b172ca3103bea34fb9b0581689acd3cbe570bf189e091d894df5cd64d1f0f28fbcb1ba3f0c03526b9dce26c96965235aba17eb7b4aafad982ff73d2083536cd8ad09f987fab903be296da5218f4e0da661b6409b5b2ce65606cf640633f0bb961161f18b0c885f037acaa8459ac791b6f96f85a9186034c7d941603cceaa616d6af38ac7cc425362037dbfb69f9ac6d87b578c9c7c869ef78ff98001d6e70a07495c1664dedaa27a280335d115785c05e532ca0d326307a1de60c71c5571eed19d69f224433c70d22526030928778e69b0e45673d145cd48e3dcc13f97022c36115be4997cd45a577c7cc0030681028976139fca7f27026021b847739f0aa13bfb811b901030ec5ab135ca0500581f025afbd08b17b68c15bbf73f94263d492bc736f530bdfdc2fce7f80d21e8144404d4bbcf00581f024b3c021de59f049975c542cc9d61eac4718529b8d2988e0e2fbc086471325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffa261004b6203d65d1e192884914f4642c7ba5ffd0a22b5a20d0c634df8412e4e2b21b4b78d8200581f02582b0195350989bd0426e052b229345115abde24e642d47407e1081b67a646028a2eb1503400581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84301b8aa0310e1801a52d614062b8c4b19d67aef12692211769d911799ae9bc1e8be7e480a00581f0284b5ea1fca1f37d799fbf3a5b39c3f5d9fefb970a86cd7167565ce3c279a5820ffffffffffffffffffffffffffffffffffffffffffffffffffff3246aedcb11d00581f0225cec01ec92a7cd3e7cc75cbbb80d1f9931c34a3d47552c4f9dfdcdd6b205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ee89b4b9588d85eb8ed8cb508e36b43ce2952b564a645fd032631bd329f2a7f802197db603094d41ca2fc371f99c7ff916899b68d7df090478e73050df0e58206142524fd403f69a24ff7af367e327bfaa25be4057c12ea342f9399fe416dd7a62c2d069a7f903464286dc2e6b4a3f69035d15ae5fcbf2df63db946a2df7c5364e56c67780397803a56f382d2b449e1aeca88a41acca0f53caa172a5d45980561aca865a16b9d6840328c21416b45453d0a5d83017ffa29ac6af6fdffd92bd9db0758ed133c4a908dd03cff90bd6e05a8c21d8390ce1fe5d7eedce6e12b9799822d399fcd0c4c73f36c7035a2c6fe04450a382f089dd8412f007d128e1d4d5df4bfb58de12844c919ae5f403d81ccfebcba54440828fda13b6a5f5bf7343bb725126aa2a66dcb6fa7241c79f03b9bd4f75b6c618e7ca9a83dada40fb9d83f8b57abd953063b84b9444b9d8fd0d03aa8c320275c4f4824b19105ad151cc1f52234db9b1d6d97bacee9f2977eb2e5b0219ffff035e82d8a24a6351dd825857635c4914bbda99dcc6a75ddd5e06f0d74e6676c0140317a9f2a356c89348cbd89481fadc86c7da738c8bc0eb2edc07b7a668d55293b4038fd4456c07604515cba70da6ab304bf2967ac863d7ef0703921be7a734476cbe030d2990173e06e6eb9c447cc25a5b78fb05f9332857595241e3d7bc8ef93253090318f09db13f7d40fd431b6737fbd59ebeaac1a1ccab5bce5cb3a4822462002d19031cdede2329049552c36b203888ffef3bfe50db9be66a70cb065415c933a624d20386cb9bdcf8be5ac62563bb2e352173763bd890ab56c70ff1b086179ba5395b670383766664a9c34b8d6f1f1614b4e239c1d877bd7d5c5b97362bea2dd4c7bad9d40329d9b793a922a748dfde06e749d5ca47f58d37694617997773a81e7cdc00795d0219ffff03af6ad3e0e2bc1e4ce0e830c9d2e3ec6deb013013724df77dd4f225de09b082af038efbcab79ae22ecbdb300d41439d4936635c04effc5cb27cf67c09de7829aeb503f7b3d333bb914f318f8836557edc21ad3be53b3255bea964966d0c6345e76cbe0330f8f73bde19b4861051e7493bdcb8139402cda154036bc71eb0e9b7ef0da94003f78ccaf7dfbd5f7f77ffa318f4b099e942b2ffdce68424aa3aa168e6d7e39e9303c821092e2b60f3e23b2c4dc259195eb95f1a8961c98c64432f607c2700cf7ae5037643298ca7fc6a530cff3f1af5dacad91a2b5a00dac2ba1cd287c5c339f7fa7d030cefe0247f2bb0aa08765b470361a3327cadeac32939ea35bddf191b8d73ede9037a9858dcd61a198ceb0111235a8ad3c41ba2d6dde05c29129e8bcc4fbbae991803ae5ab8fe22e2b7c9330ab21733ea28e068379fa9330e06be543ff20d9fa1103903f3043b567491f868231fc548d97bf22ab407b5f0307b3ada7de8bee09e0cc58d035a6c3659d116b44183eac39a8164512e20f9012a3a0be315779aa8ca6fde652a031ae6f6a651f763e29f9d32b1ee94274829c2f834ed4dda1df9ecb95fce4f850e035cd85f08ae8da785a68ff4f2b72821531b1803b7bd5e2d7a71403aeb26b95047034d4c59a3722e6c855dc542e40a11c852630e541ce4012e96ba0afeb90b3aad3103fcced2e7f6ac9841275b6a8e0c2bb405925f6220d86eb3b005f0a20af813f15b0353c04f09626f0f8139ba3cd9531fe6fac4400dd8a9b87f9055ef0c124e9e36030328ef88cea7db12039004041e9f8ca1bee987513684cfd49a44318fbd67959fc8039774f314e54b2c0f20864fbc8afb9a5bf30742e037ccb5161f46807322ce50c803e465584362e5563baad6de03ade0dc15acef17822fdd5a36c4ad0f65514ae5e203291a023a48c9e1e582be14acdb624601824b1a9377157cec4123e6073e11f7920344c0b0c8e5a61eb11ebe2d913d72a148e8fe2b9227e9689d691adabc90f1aa9c034ffb19bc6aad7e35fb00ed30d8a5565826cddcf90d7b277e7f955880435c701c01410600581f0215ab455955ef57b8b54fa7e1b979f57dd61620672c361144f127cce5eedc4603b475de400800581f02fcf9573ea89034f0ba6922081cac4fec623a567217eb372abf8fc0140d85453e14fb692800581f02e746ffa7d1871b93c137e097138fee428cad1e91371fb84a0e3719fa181445be50954f4a00581f022252079d199bf8a50619bda57a28f5d75d06dd6f9372cc85c0309f4fe3e2462444d98813c800581f02c5686c794029a465d3c9649908be3ac18a390b4a1217600e4d8ef3befe7c45077359400000581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7480de0b6b3a764000003193b597851b2bc06afde55bd7b1a6216d1fad548ee4e87a667aab00d537a47b203dee8332bb69328e65a1dad62f241a9db0c6ed2ff9f1d5349aa7420f4ad2f87fb00581f02b55943ff59ec356e409a494c932af4d2e833ce9d3f77655292356add1c235820ffffffffffffffffffffffffffffffffffffffffffffffffffffec6bc7c2d0020219d3770363f110c32348b3553b192223df8d8155aacb3796e88f8a9da3d1edcbac4840ea03387c6202c54a4c5357b9a74d05ee59855665fcfffc3c06e5f2dada0eece944e503499a59a844415aa4e7d4fd812d545e1a63b8259f1f82da843ff8d0a398746cfb035fa84866137358ace24b7b64e83fa2dbcbd347040ec9ad8802e158ceec754cd7038e0d724e0ed3912d59baf2f2ec0d0c46c21134ca2c44608ed7f184dfa0ede1ea0300a1a37775474f1c9ce275121a07d8190959d03e7e0b5536e6bb47252243d35503ad453b05bbff0490cbfff19716d273ab3b5d0956c110aa6f54e43d0125799f69033a9bc6171468e45ff591468314f6f49ebb6e63cb072e38c53b7bfcd1aa13cabe0313f64c7d35282e279010771d111973ddef5cbab047b073cea7f9e9dbf455af0b0219ffff0219ffff036c101e82b46dd5cd5ecae37b3f107ad7ca79f7c711ff05cb41b9271166894c8b03cce0f1805dd2f3bfbf89a29137f59c9ef14316f2539a9498af0db171f7cc6942038d7d1075618a247c4353712726b6696ee460c1db33dfce6f398fc9873ab4f9ed03e79190ae27690a046fe87ca2727363852c4a4f089fb19b450d64ae7431b74b0f03d9471d80639b18a30d35426740165b780d5115cffead39827cef9b99d4af0e6103b70b367e7b9d1ec54ffeeb61a3c7cf186a504476e94a50121a06153c1172ab0f03b23bc10c34b8dee6eaefcb29fc8bc5924563f6a89d3415644de713d30221c29e03f229eb1e55b443dfae42e244caa98f82b47fbd256b69383e9d4a198840eb9f180337897c102a4529b3e20b21c3fcd8430cb1f4bf2236ca7097e710eb0f4284a8770374c3a9f0a0d6108e743b7285a92608bc89a22789c54aa7f9ddd45be02fb1d11d039850853611341ace47b4074c05aa9952ca3130165a2badece03f4d589b5b8f7d0352d8c095ab69bc261c415e3a4ec3b1a0a94e7b03d72b738482ac8dcd314f9ee303a19a295e7c9b15d2eb577fbbef2e09c537d34f6439c824f7c6b37c1d4a2ee17e03cc1bfef53698a9e98bd6b6a37aa62bc585ec859cf01d013a58e67b0d2b8030bc03c55f64577c0674553e005c6d7583d45dea10f37bdf72f283b1326c5420fd9692031a6e0f62c05d32b14753a15299cdcc482cec8b7eda131e81d41ea2836530f7ba03d4629812674b570216f3c2148415722bad48333dfb6850ad12785867d77367ce03ccd39361c902dc7cb2f955136a1094388f32532146a8e5d7f19a3b53c3e4338203e827720aa2ebc96bedd5bb196511f455a2d6b0849eb6b0139d00e48a35e5bff500581f028bf8e9c62da947d85446a59f44084102d3bfe3132eb6fd414ec34a730ed5463086e7d1bf9600581f02502660bea1bf2aba524c992b6459471dfecbb5fe2290c926cf8aabd974574602246ffb191903e05945d922201e97b9c4779768ef18b58d4d8f7e86535e3172bb09494c9a0782038fb7d8b332e24b66e4b44876f45d4865945eb777cb02bb8713d6fa525c3f325a00581f033e6da2a0ce52328f5c942dc189233c8d67f1fd610f90a6c4cece296cbbe045c2d32fb14300581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30413c00581f032c6497d7255b29cf3b690b94de9cbec0ecd36a6da01b29ad4855c2f48fc0452c68d295dd02190c0400581f0265c4ee5d124a17c17fff5613195be40710ab5e3f64e5d499f51fc37e1f8e460116699351dc021908d60219ffff03beadd35738b3cdac0170a0c557cf8ddfd83741cd11d4c5e7ac5b35b166a7b7bf030bddd1d3e6a09a27310582e4eafdc366137f34513ae6541644e2f181632201b603001f7b178884df5fe6af8c140dce41cb2e49d31a4967d5bcb6ac616889b622d30364dabb80ce64fc8efa00955ffe411e6af2ef30f30b59cbf95b02a6ddd8998858035d76699e5f29ac67ebcf6a22fc8611df0d985cc6505df41351db3505b939847f0347879f41a22d72e857c357ed09b76eb88df916c4e77cd469dae3e73127d29ab4037d895ff10ae36de00cad9141826bac290c996299437b470c852bd9ee99222a4703ea62b88d5b89c54e9da5ba2dd7bdd36a14aed581ae3e1d829a26ed5f71d34d950324e290d25586f6471c0c29e80f8d19bfcbbc5e238b0887d76dbe94e472059bb703f6f5d8ca370efe4e4ce1db8f52b35cbe1508b6d5903ed066764bd38b9032ac9003793a8a1930a4ea749693cb6ce02cb9c9e5f62b3bf7b7fa78329cfb2e0a3e7b5303cf42ab3cf3ad62f91acb609cd8ee045521984a7762612bdfd90ab62ecd353b8b0219ffff0219ffff05581d020ef13f2867ae5e020eb362e55bd450eb0dd8b67a840d0fea02c1226007011933d702190904039c4dd9b7039ab264d7c31ec66919b2b29e43b5b158f8fba3e711c1ff6d6595dc03bc5f9e04c449294c50cb3e92106b66a49798567036880e414b88a5ca3092eb3805581e0359ec7beaa79a400a7150c05b77990a84a7130ab1448bca58c0d8d63c70040205581e03404d4f8793acd22b236eb5c11a90d018f386639ec52efe6f50e8034ce00c014707489fff6130680219c45a03f282fbe001ed06165d31e0bc3bf5b9ce200976a9a7604b7adbeba022a00d67ee03893da56af6fa286c7efa64a9b9b65ef9e2d7b3d3786a29673abf24819b88285803004654782f0b1c7817300d0b2a0ceadac4577624884f151ec44192b5df45a65e03879ad2482c9980f947c91f7c1c97c4d7906bea7b8b11b3549aa02978a3f312770385934a722351abc1f6194147e4bf8ee013523188613f9633bbe486e304356c3b03c2cc283f12f7fdddda565e8147eef54cad6b0b36b5617fad98f266dfe4a70e2103195e3a74de2a248bd3cc0798210dd61e714fafbb45d0219b67297c2eac05bb2003f6894fd0d4e83c96e067418826f2dac264337eea82a14450c31ee5b8ddecec81039b11f87956f24b3cb626c33426a19591babf97092eaeaaa97011585fe9bb666703812b09d779017108caa02d79a1615417ea202baad9270d2c0690cf774313502b0219ffff0314b22acb2ff12f660d026662c6e71d2528711efeef871b38e29af73acb6964c3033032b3644043a22361c5aceb18034ca4f1e2faa112be203a31c6091006e46b9603e7bf4cb182574e3f0d6f0c4d7c0a369382aec9dcd17bd2b2f0382b34ad8cd7740393f5a4b22419b6b0de17a0249835ed88c890ac6e48358634e27bd37c78f9872303ac0a9e3de965cc866a436f3bad74f5dd2c411566d3a6d1ffa009d862c010f8d3038521a1bef126e3b1a09bb7f90c05cea8034f9c0484e079c3e5f4968bcd35d3940372a9b7f9848fd826fbfa1b90331f5f12a23bc0ef6d321806e9084eb2f8a0ca880377f744ac4d1b80bb00275a8c29da4f0d97ea88a4432e30b9f9373b8dd635f8810398649e5d767dda86b90c217c8281f626e1af5a0dc39ca06068cfe70bb38eb1280219ffff036bd91c16e1b8689daa78e8f832cf6c4922b6d310e6c4f64886a7c4544e955ff30219ffff03773a35449ae48c49b38d7235d54d873c981a4a2e1c4165e9005a74caf082abfa031ca828e1e3015fbf6e4d18ca44944fd4524337b468705692d0e45e4c01df79720363b785fa4293c5fb0daa205b6d275cfe0e9368ff882f40126ced8759b833d4f7036c9c5e1dc5f14fc596954dd08deb7d2c936eb597aec2b3576dce0c350219a02f03293078e5ed8bf6ad32124bb22ca3a9d68e42061e90023e2328aa0aef24dffa3e03bf244b23a8994e8a2f664f02c79502d299b8b1cfb13830cdbaa266ba0c997245032c969e4a79060f60b4ab2a4c9d1a0c03fa98249a36ca0b1d90cf0b05e498f27803f8d49b35076598bf0ae2cc23840deb024151164cb5cfdfb3c48070e0e21330f20368eca77951a99d0370e16324881c1ec26ee4c834e038ec1e42b3be56ccd0bc8803e9ab0a3df7352f7f892ae5459bb6af9ef2282c14ebd11c0815f011a9e9499e6503064d18aaad213ae51f85c74ea78658d8784736c6da4d130538564749b4e4349c038e8c764a57c26a24b7a8219801dba08f331987eda706a2eab8adbce8987b6f81035450b8c57ed673cbf506a923de65b45ba9f4c8087786bd4c40a52a2a91750c5603be0dd1852caaeff2387823649d731209f662fa207abb7518a665d400ebe260b20374f63c2a8089035edc396e28667ce362dd56b85cb6df0a0855b1aa885855c1cb031a20e09d72d0a5f1afb87bf32cbb0bd7b26d6edcd37d6f4250983c28e93924370380894c17c29539cf522cf91cd2ba358b16a98a7e97e6b013ddf266a60cf8e3c50394dbe5c660db1804dc3d623bba7ba61032fa3e48bec2d7c896757ca4ac35b75103d936aeb8c15a3c3f399414b135d3fff922bf44ec6a68e276ab4ab18c5d17bbf4032b052e7edc8bb6eb1f1080ffb2c46c7521ae5c28ad71f11002e68d88158ba0ac03dc8d608cdf05fc90be90f89b441014cb7d7b0c00065e9d155985b04850bfcea503b94ef0dcd62f9591fe737d50f3195219841d3dbf8dd6a9a8437c9f54be3939f403dbe20c01e02f9fa00e6212ab678ff3d0763ac274d1f1ea60fcbe4c2351b9d0fc03bdb6f2216f617ab7180f2f79e159a183460f3143f9ed4062a65f5f1a14f85a0d033125c0036557b05428845c12e5c74894e7d951cb1dfe913a95b28e4bf8665be60372808be47ed4bee08a95a332afcc3dcdd8935bc2d81080e25f86425b6ed33bec03048ceb97f812290c12a33aa6247335ce7b4a9474c3d5f2da9d5bfaf7d9382a1f03208d563dca38719536fd0d1621813438124330dfe3825059eed8a0efd97bf55303983def3a61b8bb0e880b6bec131a6eb7f24957f230d0d3e95617c7fe183a1c26037902573d746ed1dc796f6419ca1d9c8317e4e42bf547fb99dd320e9a7c5af98705581e03d5ace1d3296459b8ecca4f554c8091576e84e21fe96c1cea34550b0e10040105581e0370c220c643d7bcb2def49982e349a85c06889debe2792cd729fee1dd300c0146656f29d83f080330866736c7ac3ba767064904a9ac624dac1887bb1c7347e2505d879a89a030d603a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03dab96ed81a3f3b81967abfa44cb11ff9874523ea0077719f3315328303def45a05581e0316d9afd2eaefeb739f20cbd978476ac5bd34545a3d73ab7cb55c1990d007011bffffffffffffffff05581e03ca77a041efd618612cab2bb970afb6618db697ba7a5d82fa9158d6a0f0040205581d028f75b7bc7109bc055171d8dcd88e24bfd791b2e6857e624514c00bc7040105581d027c1bbe2cc7993fe754805f9ff1c27962c3039032beea67e3928bb926084728a3907ad7b00005581d025d17d138a76b18ccc2484933308d362d17506094379bcc4d55b0a6b10c01460918502950900219500103e04235d0db1626c00f185746c5ddebd529ae07cf9011ccc6c4bf9ede27d08bae021944bc038c509c4cffce065099af55a89f517cb4291fe75d452d03487285c811ecedf2d40383f1337aebd858c9c945b5d3e1c7e082ba027117c5e814bab81526dc2c7e210e034338ab3efef721691079fb8d067434fee0db00c395bc870a2fec68bec3ce8d4e0319cd9c98ef516b75d01b1d978887b0ffb8607dd562467ca6b415c0d4fe184313036d5a152d4f98d93613808ee09519e8331af26172e8e9c9b35b98c676411f34bc03dd054e2a54f32f2bbc71891c4baba2de9e0d0381c310f6a878116a9f9c685c8b0219ffff0219ffff0335584da502066433a9abbfeb2202350c31a1637ff012b12fc82ff533b707091d0393de5faf3c5a01b33f70fffacee8780c064aea389c1fbef7f0adcdc480bcdddd03a6feedd9b82caadbaea1210a0f98f46cc5c9ba9f76dd982c3009518dd1ab22f903f725e5883912e6837affb215f36f49e8bdcb51438046d2151a578276de2f996403894422d22c035974f77b3f9069cf2fa614ee5a0926cc857056c1b26d047d7d5b036ae6b079bf007eff188e69164f71f90cad4589e2434092090d3b048ac2ba40150365fc723c6b6b1a4aa8e19051e3dc015b36a4660433f5f52e6eab66faba188f90033e20ba8802370a95f412f9c721a071fca089226e19a1b77089a7d959b457994a03fd55464ee0395531c0367320d9ca3a740f7df2cd9eb20ce6eed269c4118abd7a03281ea5d97775ef4f3271d8be8d1af7d43b6f335d241f92923a68b7173d3db760034c1fc6fa00ff5448a2cb426d65f90464cf6d4177cf540bb1fa79ccebc923d07f0219ffff0362a5944cbd84df47302a9ca5cc77468a5addba98fcda05da4763a37985e7410d036ba6585760387258f5090f1160e54633773167606c1639e312177173c21e9f67030d779fe0353ead725b22f0ffa24765583a419f0b372fcf86c471b244c714f91d037b3fb3f9f9747f5ac413654c33235c691e5b5938084bef8d9f894458164402800219ffff03a9a49240a5e66f849560ba932ce9fce687f443105a1642b6e71767cc667d931003f7516c00fe6f8a143922215b71c5612df30415c9b26dcb59a532e406d175b57803e5186ab71583c45456d3916f1dc940c7ac106fcaae5111cca4c74fe4d0e8d91d03f4277ab6f07f814573b7f929be1a5f884c9b913650f8a5f225588b77b8ff544a039ad8f9ec433a3250a9bd4fa98428c36e7956ab7db5f9b379e48f1d181ab0d5fe0384eb627355f191dac1f001ffc4628c6ee31162b5ee8dfb9a7658589ad0d7b925037e859b3221d5da4bf68bfc15e66e8ecd80fb88957010fe4c7946117ff92c3b8f036d2b4945c1e713116f14d372e7845ddfaa8666e3cb313573b0c26840ed5cba7f039ca37b5e6811b06c6fbd5ce04f40ae0b9ba2988b90a6fd8d356eff9b2389500303b0efb7a6a19db43a59eec73f8366e0da0e9c2f0c03a0ddbd6f21bd7efe9c01770331f8b8e7a501bf72b0b38a50ff0754455d70165fc5120ad9a06c2d6b07b4cb7603b3658cf192e6f87da76331823a26d1b6047a8a5c7eac1ad6b8d626445217a02303658b918aafabfad728d768198bd0ec4b268b0aec20369dd8536a9e15c4e098e0035a324d744aa18e35e3aa3b65082dc8e69f50a38b0d7d9758dc877bd19aabb80d03accc5341de8f11ac8b5e262a8c480ea300f5d506bf151356c2981436681f09d703df882ee22cea47c204c097028d48ff81a015414d5271c605917b7f4794c05d430324bcd7d6528d044a86f3ede7c998795883e6ad59cdf1a28813185d938aacad0803d9d3eeb35fec3b3b7dfa1cff64c429a9ca68446a6bb2ece5faa8247bbe4c4ab5035d10622a0e718d0644a5aa445c0834473e78e96d784fd4355adc8316134ded0e037a837d77953484190c078a7b8d5819d82d8ab2d1b4a4f6ecda349e75e3f028c7039e06a6b40349b1b051b29da540eacd10f150dfd25b1bcffb4c040526b07c71df039e4f5085fde211cead8b61af5b539854121b3f737e3e4c0655bdba450ff9fde4039dc666735cc41c167edd6647d1c00950e98c156c5c8ec2966e09b0e7af5796ed03c3746a82a1e5d66b2e57e9b15824bee8865c6d5719c7275a02c675a31d70c94503e38cbfbacff4de509e9c2381d0c85097ce0d00ada6d03767f2b6f336910cb2ca03ea6e811c8b3f9142feaa54e23d948952a7662dffc56af169b0565eebf029a17303df7a09f3154d4b95c55b16339c1ebccc46df054553d7e7503286f4fb9a4bba6a036a8d254cfd5800bf9aeddc5355eafa3d4d75ca32b1877acce4532440810cfdb703a4dc313087116615e53886ce0d946a3c3782a75bf043740f7a9b8868c795b5f403e3a5f2ae3924709fbc0a7855a4e2f84b1104e1cc53a18e301701b2deaf1eeae505581e03d346002c5e06267afa8d5c1004ca2a7212545b1a90b7059a57e65ea7b0040205581e0307d1b6c1276199a89e1b7937f96ad462f403528fe7e0273cd6f0642470040105581e039c13a4ac2b70e70f097e89fd2eb18f5dac0fe91f082bd5f9139b2ca5200c0144e713615805581e03420e28ce5a05d4e6a6e167b6325213e97e0368c1f0026a83fdcb39ea100c0147028fd62d58f80005581e0326d012685ca91ae5fb67453addc6f77447af35955b9649bba3ce4c49a00c02470138c2a8b345b005581e0328f54a87b781253584f79bc1ab963e0f6e7702e5ab4396b9a6b2c79eb00c0146be13305304290393cc2ac8744106f77fd2a8ed20d341e3d8e26aa085b70087bf0bc96c7d534fac03f88c42a0ce3b78d76edcc4a37a91c28d54655c9b0d778ecb5b87a575a0e0321901410305581e03d59d764696fb8a47c16a90216a516fa853a39e001df411fee3e0fb29e00c0245012a05f20005581d02b91f6b39310b290ec4556e272eb8d225259e14ae008c22e5eba7a2a20c1864481fdfd10cbafb410505581d027161aff0a8244bdb33198fce639d3853759c3d9a7d64102990c8fa17040202182102199dcf03cbdd9c447b1d2efa25335385faeabd42dcf8dc00d2182e2f3e3c8860e9067439032dcbf26bccaf69efb625b5e3404ffd3d2d60bc81b5b154c7590c14ba6a33ecb103c1bfd56638a9cc72580e643a0cc487cafad85b7d34fab562d17b57aa5ce02cea0333e30a7a5b9509ed3bb5b283aa953c2b3a6af89e1bff5de1e70112a0f37429ef030b08ff01f1a7bed989e20a59a156dd339b1652f71c3e6e21c6fb7d04a09b18b30219ffff0378be8ab63a0e4331e4612621df67e6eb6ed1af240a978fa46340574e6aa6742f03d47a09114e4887074fb052a5b3f044d6d6acdbccd152edddb3a434897d945e4303c9414dcbb267d07816e0556b26db48231f6594fe12123e5fefb47eb054e48fcf033405e94c9d1dff15c54cef40988decf87cca9f182f1054ccdee993deeab28f4803afee7de8e5d7cd882c485ba210368894d6a829c6b9c287386ac48421ac798e0303e14d0cad78fc24fe605ed54dd7f73b12fa34663a17fa8beae713b78c500c4b8e031e7537f66f293bc05825bea83ffe0fab855cb78b78de5edf8f11054981887d2d037ab779d13d3851b2d07b24943ac57905ea3bad999b94582f2edebec07452dad7031e48bd87e65fee05233a0a6df1f31586f8ce69ce4e157e4356d9b437c04fbb79034fac9ff641cbca69ec23176c78df2723992d5d62c4f5454fadbc2c619067dcaf03c83ebebc547b263f35a3bfbfc6fa7829966a8ac069a14674adf3fb01a610bc7503b597635984c0a202ef0f603045a4f3e1097ecda3c5531185137a6bbe827fb97303af45bed6056e95bece95c0174f23b7ba68713c59a5483a1a156d826a278b4f360219ffff038102fa55e693ec44bf3f08bc206751872317218a7bbb3f73e69cba3777a9ffa90219ffff03ca93b78da6cbb09d3114079828722c4276dff86b6702b3879219d0305512e9dc0356317bef210ad9ee71c7dbca15b10253ea451751cbc3b09d49bc8c8eb64e56ee030822edc21489d3460fc748234c8f4c9703c0c47303bb3d4c85e7b67faadcb72703960b3b197c92a1d00db4c1bfc0e9044db39f2ce096a75e21a1111d7d660a000403ddbe2283e84c51a7d37d651e4e465caf3b0af87e0c3fd711a833f08da3ed9adf031d20c44ae956d0eda9d5d9ae5914ba3cfe12c9c0320a271021fe4f786726a09203c60bb4f81e98b3559149e2bb91099c5f7e4fd93a0ab984aae0e0c5de4512d866031aa331275160e5ced528b0420ebc3ced730ad6b7850e50b29d6e5fc7a92bbf2203e0245ea6d19652b9eb79c3d71a626b3e2ca336d12f7a9fdf75b1133ac73cc897030e1ba6411031eac4550ac68ed9634b60938642fd15a3416ae7aabcf7751f83ec0337bd51fa1970e36d968f740774f85a37d2f762d7450210b4ebc61660ff0e0dae038b39e389662b25f4936d4d7a7a4628437f4644814790af4b4dd37d6f71fcbe0f03bb63f553a5c3950853fbd2087e829937e0aa0533b8a67e5e061be1d85226ba6003da0d2422d83f4b27ab3cea66ad4ced7b76a7b3cb779b241401200150ebbd4a680333b0c14d60a5e1c075e365bf7294f57c9ef8851cbab02e6171d16f20029f467f03a1df74dcaea6807d75a8387f3e0edf6e4e1673f01f0e23a882aa7b5951f55b880304a6cdae5cfea50d67cf7a5cbe4805df0c5c26e3b25bdb9800fa6ff50de1a87c03235c22b95a1b105390ee603cf641ac34e48152d2d109e23d0ae84d2c238a0e1603c6bd0d1deb163e51d3033d4424aee109870f9687e5ca34682a66350c842c957b0364bb9ee3e2c4dfff512f87a9e92d97be980a78e646ace5e59fda2cc4f80d706303021001dcea1b864fd09b784d6386a1124db3e87856eacd0d4fad66505a2b07b4036a9cadb5b6e75311a025a35bb537f4c505a52e15e47e65c800aeabed1f989c7c03d516672651f79ac6d3647d733ac5902e1a337352a6fff52aabf5c757c6c501d903200c3e98755da1c748e0941440930ba210fbb2f3b2e33dbe7acdc61ab9367a0b039bbcdb184e5a96affecf4852521626465c212b6b4ce593a38e6091cdcd22d2be0384a3f1d7808312cb2fbbac07c37e265678bb790c4f63bd4b2344d56fa67ae2f7033c1f78ec43cc434593fcd8909a8aababdc9d8e82f676de91720e79adf158eb1a03d414439fdcf4a0d1a44818ab9e4381d940eefc1d13ddfd685d20fb29c07b66cb03086e3c411db1aa09577a8e104bc5378570b15d89eef5575b0bf170f6c225f9be03ce8ab43cc87a7673f80ae1e433a29ddf645bf17472cbaf69f87e5b1c7eeadf0303b3e170e88be454ef28335441133dc2154203fdaad2cb7682846ae3b8eb0e1b1f03698242f0775cc30caa9efa8ac29007399c34ba1524eff475556f1afcf95da2f405581e03b25fec8559877932b077ccd38d86a0de6788d5af399a3ca42637a784b00c02461bac820abe3805581e03ceb5d5a37df16f6b0cc7adc4ef889f7b1a686f53e9a3c27e7f8cd00140040303f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e031af48e440b358fed0587d607d396adbcb0867e87f554fffcd0164d090007011bffffffffffffffff05581e036c36da3c9fea6463b642abd34b34bb5326a08330419f600caa4bb5b2b0040304592f5e608060405260043610610117575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb14610368578063bf474bed146103a4578063c876d0b9146103ce578063c9567bf9146103f8578063dd62ed3e1461040e5761011e565b8063751039fc146102aa5780637d1db4a5146102c05780638da5cb5b146102ea5780638f9a55c01461031457806395d89b411461033e5761011e565b806323b872dd116100e657806323b872dd146101dc578063313ce5671461021857806351bc3c851461024257806370a0823114610258578063715018a6146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661044a565b6040516101439190612050565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612101565b610487565b60405161017f9190612159565b60405180910390f35b348015610193575f80fd5b5061019c6104a4565b6040516101a99190612181565b60405180910390f35b3480156101bd575f80fd5b506101c66104aa565b6040516101d39190612181565b60405180910390f35b3480156101e7575f80fd5b5061020260048036038101906101fd919061219a565b6104d0565b60405161020f9190612159565b60405180910390f35b348015610223575f80fd5b5061022c6105a4565b6040516102399190612205565b60405180910390f35b34801561024d575f80fd5b506102566105ac565b005b348015610263575f80fd5b5061027e6004803603810190610279919061221e565b610644565b60405161028b9190612181565b60405180910390f35b34801561029f575f80fd5b506102a861068a565b005b3480156102b5575f80fd5b506102be6107d8565b005b3480156102cb575f80fd5b506102d4610929565b6040516102e19190612181565b60405180910390f35b3480156102f5575f80fd5b506102fe61092f565b60405161030b9190612258565b60405180910390f35b34801561031f575f80fd5b50610328610956565b6040516103359190612181565b60405180910390f35b348015610349575f80fd5b5061035261095c565b60405161035f9190612050565b60405180910390f35b348015610373575f80fd5b5061038e60048036038101906103899190612101565b610999565b60405161039b9190612159565b60405180910390f35b3480156103af575f80fd5b506103b86109b6565b6040516103c59190612181565b60405180910390f35b3480156103d9575f80fd5b506103e26109bc565b6040516103ef9190612159565b60405180910390f35b348015610403575f80fd5b5061040c6109ce565b005b348015610419575f80fd5b50610434600480360381019061042f9190612271565b610ef0565b6040516104419190612181565b60405180910390f35b60606040518060400160405280601381526020017f456c6f6e7320416d657269636120546f6b656e00000000000000000000000000815250905090565b5f61049a610493610f72565b8484610f79565b6001905092915050565b60125481565b5f6009600a6104b9919061240b565b662386f26fc100006104cb9190612455565b905090565b5f6104dc84848461113c565b610599846104e8610f72565b61059485604051806060016040528060288152602001612f016028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61054b610f72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ab19092919063ffffffff16565b610f79565b600190509392505050565b5f6009905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105ed610f72565b73ffffffffffffffffffffffffffffffffffffffff161461060c575f80fd5b5f61061630610644565b90505f81111561062a5761062981611b13565b5b5f4790505f8111156106405761063f81611d7e565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610692610f72565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610715906124e0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107e0610f72565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610863906124e0565b60405180910390fd5b6009600a61087a919061240b565b662386f26fc1000061088c9190612455565b600f819055506009600a6108a0919061240b565b662386f26fc100006108b29190612455565b6010819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610900919061240b565b662386f26fc100006109129190612455565b60405161091f9190612181565b60405180910390a1565b600f5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600381526020017f5553410000000000000000000000000000000000000000000000000000000000815250905090565b5f6109ac6109a5610f72565b848461113c565b6001905092915050565b60115481565b60065f9054906101000a900460ff1681565b6109d6610f72565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a59906124e0565b60405180910390fd5b60148054906101000a900460ff1615610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa790612548565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b4f3060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610b38919061240b565b662386f26fc10000610b4a9190612455565b610f79565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdd919061257a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c87919061257a565b6040518363ffffffff1660e01b8152600401610ca49291906125a5565b6020604051808303815f875af1158015610cc0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ce4919061257a565b60145f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610d6b30610644565b5f80610d7561092f565b426040518863ffffffff1660e01b8152600401610d979695949392919061260e565b60606040518083038185885af1158015610db3573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610dd89190612681565b50505060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610e789291906126d1565b6020604051808303815f875af1158015610e94573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eb89190612722565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610fe7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fde906127bd565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611055576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104c9061284b565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161112f9190612181565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a1906128d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611218576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120f90612967565b60405180910390fd5b5f811161125a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611251906129f5565b60405180910390fd5b5f61126361092f565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112d157506112a161092f565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611801576113126064611304600b54600e54116112f1576007546112f5565b6009545b85611de790919063ffffffff16565b611e5e90919063ffffffff16565b905060065f9054906101000a900460ff161561149a5760135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156113d2575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611499574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144d90612aa9565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611543575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611596575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561165057600f548211156115e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d790612b11565b60405180910390fd5b601054826115ed85610644565b6115f79190612b2f565b1115611638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162f90612bac565b60405180910390fd5b600e5f81548092919061164a90612bca565b91905055505b60145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116d857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561171c57611719606461170b600c54600e54116116f8576008546116fc565b600a545b85611de790919063ffffffff16565b611e5e90919063ffffffff16565b90505b5f61172630610644565b9050601460159054906101000a900460ff16158015611791575060145f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156117a95750601460169054906101000a900460ff165b80156117b6575060115481115b80156117c55750600d54600e54115b156117ff576117e76117e2846117dd84601254611ea7565b611ea7565b611b13565b5f4790505f8111156117fd576117fc47611d7e565b5b505b505b5f811115611900576118598160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ebf90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516118f79190612181565b60405180910390a35b6119508260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611f1c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119f36119a78284611f1c90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611ebf90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a968486611f1c90919063ffffffff16565b604051611aa39190612181565b60405180910390a350505050565b5f838311158290611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef9190612050565b60405180910390fd5b505f8385611b069190612c11565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611b4a57611b49612c44565b5b604051908082528060200260200182016040528015611b785781602001602082028036833780820191505090505b50905030815f81518110611b8f57611b8e612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c33573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c57919061257a565b81600181518110611c6b57611c6a612c71565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cd13060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f79565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611d33959493929190612d55565b5f604051808303815f87803b158015611d4a575f80fd5b505af1158015611d5c573d5f803e3d5ffd5b50505050505f601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611de3573d5f803e3d5ffd5b5050565b5f808303611df7575f9050611e58565b5f8284611e049190612455565b9050828482611e139190612dda565b14611e53576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4a90612e7a565b60405180910390fd5b809150505b92915050565b5f611e9f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611f65565b905092915050565b5f818311611eb55782611eb7565b815b905092915050565b5f808284611ecd9190612b2f565b905083811015611f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0990612ee2565b60405180910390fd5b8091505092915050565b5f611f5d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ab1565b905092915050565b5f8083118290611fab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa29190612050565b60405180910390fd5b505f8385611fb99190612dda565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611ffd578082015181840152602081019050611fe2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61202282611fc6565b61202c8185611fd0565b935061203c818560208601611fe0565b61204581612008565b840191505092915050565b5f6020820190508181035f8301526120688184612018565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61209d82612074565b9050919050565b6120ad81612093565b81146120b7575f80fd5b50565b5f813590506120c8816120a4565b92915050565b5f819050919050565b6120e0816120ce565b81146120ea575f80fd5b50565b5f813590506120fb816120d7565b92915050565b5f806040838503121561211757612116612070565b5b5f612124858286016120ba565b9250506020612135858286016120ed565b9150509250929050565b5f8115159050919050565b6121538161213f565b82525050565b5f60208201905061216c5f83018461214a565b92915050565b61217b816120ce565b82525050565b5f6020820190506121945f830184612172565b92915050565b5f805f606084860312156121b1576121b0612070565b5b5f6121be868287016120ba565b93505060206121cf868287016120ba565b92505060406121e0868287016120ed565b9150509250925092565b5f60ff82169050919050565b6121ff816121ea565b82525050565b5f6020820190506122185f8301846121f6565b92915050565b5f6020828403121561223357612232612070565b5b5f612240848285016120ba565b91505092915050565b61225281612093565b82525050565b5f60208201905061226b5f830184612249565b92915050565b5f806040838503121561228757612286612070565b5b5f612294858286016120ba565b92505060206122a5858286016120ba565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156123315780860481111561230d5761230c6122af565b5b600185161561231c5780820291505b808102905061232a856122dc565b94506122f1565b94509492505050565b5f826123495760019050612404565b81612356575f9050612404565b816001811461236c5760028114612376576123a5565b6001915050612404565b60ff841115612388576123876122af565b5b8360020a91508482111561239f5761239e6122af565b5b50612404565b5060208310610133831016604e8410600b84101617156123da5782820a9050838111156123d5576123d46122af565b5b612404565b6123e784848460016122e8565b925090508184048111156123fe576123fd6122af565b5b81810290505b9392505050565b5f612415826120ce565b9150612420836121ea565b925061244d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461233a565b905092915050565b5f61245f826120ce565b915061246a836120ce565b9250828202612478816120ce565b9150828204841483151761248f5761248e6122af565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6124ca602083611fd0565b91506124d582612496565b602082019050919050565b5f6020820190508181035f8301526124f7816124be565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612532601783611fd0565b915061253d826124fe565b602082019050919050565b5f6020820190508181035f83015261255f81612526565b9050919050565b5f81519050612574816120a4565b92915050565b5f6020828403121561258f5761258e612070565b5b5f61259c84828501612566565b91505092915050565b5f6040820190506125b85f830185612249565b6125c56020830184612249565b9392505050565b5f819050919050565b5f819050919050565b5f6125f86125f36125ee846125cc565b6125d5565b6120ce565b9050919050565b612608816125de565b82525050565b5f60c0820190506126215f830189612249565b61262e6020830188612172565b61263b60408301876125ff565b61264860608301866125ff565b6126556080830185612249565b61266260a0830184612172565b979650505050505050565b5f8151905061267b816120d7565b92915050565b5f805f6060848603121561269857612697612070565b5b5f6126a58682870161266d565b93505060206126b68682870161266d565b92505060406126c78682870161266d565b9150509250925092565b5f6040820190506126e45f830185612249565b6126f16020830184612172565b9392505050565b6127018161213f565b811461270b575f80fd5b50565b5f8151905061271c816126f8565b92915050565b5f6020828403121561273757612736612070565b5b5f6127448482850161270e565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127a7602483611fd0565b91506127b28261274d565b604082019050919050565b5f6020820190508181035f8301526127d48161279b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612835602283611fd0565b9150612840826127db565b604082019050919050565b5f6020820190508181035f83015261286281612829565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128c3602583611fd0565b91506128ce82612869565b604082019050919050565b5f6020820190508181035f8301526128f0816128b7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612951602383611fd0565b915061295c826128f7565b604082019050919050565b5f6020820190508181035f83015261297e81612945565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6129df602983611fd0565b91506129ea82612985565b604082019050919050565b5f6020820190508181035f830152612a0c816129d3565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f612a93604983611fd0565b9150612a9e82612a13565b606082019050919050565b5f6020820190508181035f830152612ac081612a87565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612afb601983611fd0565b9150612b0682612ac7565b602082019050919050565b5f6020820190508181035f830152612b2881612aef565b9050919050565b5f612b39826120ce565b9150612b44836120ce565b9250828201905080821115612b5c57612b5b6122af565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612b96601a83611fd0565b9150612ba182612b62565b602082019050919050565b5f6020820190508181035f830152612bc381612b8a565b9050919050565b5f612bd4826120ce565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c0657612c056122af565b5b600182019050919050565b5f612c1b826120ce565b9150612c26836120ce565b9250828203905081811115612c3e57612c3d6122af565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612cd081612093565b82525050565b5f612ce18383612cc7565b60208301905092915050565b5f602082019050919050565b5f612d0382612c9e565b612d0d8185612ca8565b9350612d1883612cb8565b805f5b83811015612d48578151612d2f8882612cd6565b9750612d3a83612ced565b925050600181019050612d1b565b5085935050505092915050565b5f60a082019050612d685f830188612172565b612d7560208301876125ff565b8181036040830152612d878186612cf9565b9050612d966060830185612249565b612da36080830184612172565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612de4826120ce565b9150612def836120ce565b925082612dff57612dfe612dad565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612e64602183611fd0565b9150612e6f82612e0a565b604082019050919050565b5f6020820190508181035f830152612e9181612e58565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612ecc601b83611fd0565b9150612ed782612e98565b602082019050919050565b5f6020820190508181035f830152612ef981612ec0565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220034071091c7d421a4735869d8dbf0087faab7bce44ebee018f09401ec67f4d2664736f6c6343000814003300582003bf1c967bf66ec288157ff2d15a4e7f5339bdd0f61dce5333a72b5ca4f804604a039b0a06549d6b7626d700581f02c0270671f49fe6731f61aa3f156a6d75f85242a8ffa8621da78cd9a8821b4a0148de0c2e1e4f40d7e300581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db94101021821005820034dae88e45c7696e84c3351f45c0bc9b59b22c796667e26a8de9ab12b2576905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021902840058200286b955776dac2fc303853e2944adf37901cde104eec5d5d572735532203dd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a5b5b76778470a368d0c9b8a5b0f9eb731f53677671d8fa44da727fe6d10265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a004c091eebc3ff97b0032db81b766cdad4064f8b86f4a1e06364247dc97afd50141040359340512dedeb99f7ae4425f055a277ab80b663dc29e84182dbff5162540e240005820022908a911b92480e53fb39e554abebd0922004205cac7f4c68bdc46fc2185db4a19e93e8ee9a639896c8300582002121d4ea5ed70ff5599826c1f03eb142d8f0fc7cf30f4aa37bf460e24856f984a08860ced3ef740ad3bbd005820027cd3aae5a65544e28feb8d1065a4053ae914e66c0fde665d432c3bc5d922604a0ffe7d81a4794ba1f2fd005820023f7416678515ca8cf011c2831a383273ec4e9680e8b1211bb7cfbc4a80fe424a0b99ad3f935806e38fca0219774603fa5a93f34ec8042126ec9d1f4fdaea6c678aa89569bf90622310b7b39a30fca303e07656bcd618581498d905cec8bf4da43f8a33d6c2b0ffd1991e5db6b0fec3c600582002abea10cc6dfb18285c77b7100da92d90d4279e09cb169adbceaba7ae434ce54a096156176fdcd8d7a29500582003329ca016b6cd12fddb7a98ecfa35e81eabcbdae3671b8507f17c87d40a30604a0704b335a6ca6acc67520058200374d05ae4a1d8d05ee7bebcdf1b26563ce01bfb19ec243befafe911caac47f04a094e49a23b7148ca57bc021980100058200204e58a8e9c2ee4d7c3662c04d49735f20fd39084bfdd86b3c2b2e402ad4714440134d695005820023754802295f1a76e4a39479c8f56cc1804f96ede50fae118d81d61112c58295820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026213d3fb67f43245950cec43a9503aa67052fc25fe3447fd94c2aa56a3ac2f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02193a06038aaea734cf5442951ae6772103e3858c2aceabce358e8a4fa47c0d1a7948048700582003e55e1245f5cfb82521d9cea5882daf45cfd3e749eb6acae5af3e71545aa6a04a06ce83288c5d65ca73e500582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6804a043c33c1937564800000021940080382210be60121f9749a341d3ab79dc8b98ff01d2b468c302e68dc32a98ae746ed0357f97eda8023d4f20b1328a2be14331eb5b4f72cad7362042eb79392b5f68bb10058200222db1ae1f05c9112cc3198e8a90d48541708c7ace16566690a5dca439504784a017bb5fe0c6bcec18bf9005820031866758078387a07efbe0dd00a6ad7f3ee0452035389bdeb7f113c7e7212c04a291a7b570acb27fc267c005820036180ff7f8e1e09e01430e69477e22f65180e7df5991067bd5df5f3507ccdf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021920200219109b039f8777b1271bd0956f34bca2081636df6a73917a0fe47e170cf9f396c54e317c0141090058200230d7efaa145edebd476c9a3997ee09abab1ff28cae9d778b4ac96b876306dc4a0778f27d6d6a6d04ce7d00582002c7242f0ac7c1d09dab5d0697b89d891a2e2e4604fee4a72f04c963c00dffce440134d69403b37fa1273a7ae7df0bbc3d0ce4650707ce1f133931e70962f8f4518780a623750058200249454918dc942a4b6420df08169dc6726680efd9d65169d8a07c57e8a445e15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f588435a7295437ef515a33f992b1dc341a5c9e117d524d6bc9372383e052ac200582002624c3c3397bdecdcb98b53116903497013d40e47cbf1c6e05bb5bacc466ddc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820028a0a3d0be32af94cf36f7248af8e97844996a5abeaa3f549c640bd75e963695820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02195ed003f0ec8d58cbeac88d8ab7e370b17bcced1d9695cc9ced28198b035842cecfc68d00582002aef1c668f444a01e3b78e63c949762096ef6e6707de1bb4a0151fc11381fb443a3f40d005820027c6f2f51507068161b8c0da195c8356e294fe1e5a780157e76ed05fbad953f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c3fd3af6bd6a1c516cb62469a6ec7952b39f45227a394b790bee3657c8a1307e039f98723c5e2afa7e484b70534ac8ec590b63154174d22563dd8b4a756f10cbcc00582002f2abb1f6790a36c3546e7d87c7aa9f2baef32dc17687e4e6ac50e2edc8dc7e4a0a66e6386fab875a933b00582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900547a250d5630b4cf539739df2c5dacb4c659f2488d00582003ad4b63353774cbeb8ab76a6553f7a7faa454462ab7a6053022b9a578461d205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a000005820026329e420db1038a0835adce3467f11dd7ffb52070c29296ceebee9c8c533eb440134d6940058200293a31c3cc2254ff31d543f5c4584b7a46d2f24c9f31e4a752e64aa43e6bc405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021862dec42f3a85b5865266951a91f05e0d877a1d3000a8f4a41089d557bf024a2e963951560b51800000005820021bf0d4ad7c8937fffb335eb3a3f6d8e01276bce31a71e2b9fe2662d2d301be5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032f7ccab30f64cae8d036d9631951bf6df80c7c722701e05886f425884c3b005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200363fad308e6c198b7b5bb103a256bfcde5335bcfbc68a43ccdb0491003043a04a07f8dbeb075d41e1fadd02190140021956fb03b5b9adaad9f44395ebf2eaed4bd9284f273796712104ae02a40be44dd0354c370058200282733fee5b9d7e198b9fa61efa77f31ed4e1b837909699f549a1e5f7bf76be49f0ef0e928bc2f58818005820024a68e03c9ab1a3af809c1d40e1269a5f970a555925103dadaaf97d726334804a073d74e7663db84f2f580058200366dcc4e6f78acc9cf0fb7ec7cc3453fae7eb28a86d7af4abf6db430b2eb2d05820ffffffffffffffffffffffffffffffffffffffffffffd11fc38fc4d064353fb800582003cb25f609074300406db2cd49b75f7745a4cf3a2e98357f0e9a9c9ddc8160804b014811291610d363d81b01021940080354661a943d68cdc0b3dd99c877cce646da7d6bdc60d2c2f0d2fd89a620f4ccd400582002273eafbf5c4f3464488af9e218cb5ff597a7bed892d951db647b7777b518bd4a23b359f4e454805a3b55005820028500e911647a6984ebb664f97da99047af48f17e17ea64ffbc7bdb2fb2850a5820ffffffffffffffffffffffffffffffffffffffffffffd169c6aea9f4ae7fffff00582002890190e97e8751b73165898760da496ebec9527fd3a6264686eacd9745694b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820024e143d26c9a03c90348dcfdbefd8c9315de4e7074ed9f81c786a8c044bf66c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8024b084595161401484a00000002192de50058200274fc201434d5cdb7e7ba633293d273b627991bbfb49d947df2d1ba287223775820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002b4f51e0c5617d4d1a3342df0ccc491ab4b53ed034da8d2d0a04e3fb3e55a62440134d69400582002b862867e91546771f272df8c17c3416813a5a8b1fe9ef99db92bb148005f9e4a2e963951560b5180000000582002a7494692ac5412e9072e6a0d56e246cab14bc7ab496a633aa0ce5590b704734a2e963951560b5180000000582002d9ebf5f9dd9f0a43b2c217b6bc3c925a804ab89fa0e6846aa6df78bc34edd34a07c49f0b4a4bba4db1600058200297cb71c0ad3172c55a8d6b62cfb4da319d6845703b4951f2396bdc453415bc4b01bb775c70c61b15727242005820031270117c93127c2e7307004254acc04abb0db163acff96a714519714790fd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003fdc7402dcc8aafd7197e5877ac2512d31e76b5ac40775c31ffe971a5b82e905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020600582002b29d964354d392b78e2acddb819b6252a28741197cf2b69b730a60447c6be85820ffffffffffffffffffffffffffffffffffffffffffffdd14790bcf6d6a181b00005820023e744bfe655dc3478afc21164abe0fdace4a0c629b3aff9618a464cc8b188c440134d6950219b13d0345cbb98afce50c27a0f75b13d3429631fd1557a52fda6968d5030287f7a56e1300582002b1b3d92629c4211a82d527199e8b3f60064af38777769e02f4f8ef6c90a8f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200266ce8f9212549c419d5053c6d512963eae7954548cd19fb3c19e7c83a11ce5440134d694005820022b7449f4e6f85d7a366c7557ac5c8321eda0dfce61053d07a0e2a95149815a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002640d1e2ea100f6afc403a672bf389b4645827b3b24a677d2b233e8dcc2cc855820ffffffffffffffffffffffffffffffffffffffffffffd169c6aea9f4ae7fffff032d69fbdd601f530a4d27383c965062231c5778f5235af981a1696d8553b036ff00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0415300582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344404a23ffb7ed6565d64000000219018000582002fec15c181340eccce3b302aae5e84822d70c20df31e6199b19c4f8805696844a0a968163f0a57b40000003212d91a43050e866010893bc1fafa552682d850b15925883373ac9eb8939873401410c00582002a7570999c160fd193421b28f9ac94d380abb2b4f682f9eaf854843a64abd185820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820027c1dc2064360ce58cc85771661ff80c3845a747c956ffa0b3218ddf892f0275820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219f99300582002b2f61e3a17aa66f53319a3d60ba177b546964bc704c138942c07cab099c3875820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a596b7c4929a8f7898313bbfae5486923dd3b7079ce4648ed76cfeebe66dbe4a3468edb284e4fccceb9c00582002f44a4682b1fe259b8ef21828e7ccab4b3937c9c27f7c41dedff626301aefda440134d69400582002d3cf9fbdd8f1f0f8dd19ca38d0410b71052b0a26d39783ae0207c2feb95a2c4a0d04ba5812021b94930b0058200209e5111b461efef0cfe4a3494cd492bcabde58e21334f6161e0920e3d5b3ea440134d69400582002d26c46d50a81ffa162790d089df32862b1c7d0fdd47069fd4f4a7d1192917f5820ffffffffffffffffffffffffffffffffffffffffffffa91b4dd9ea1c8ba6a374005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec57010001764355a8cc85d9144beaa5ef29bc823f4149146c032d5688517b5e546e17f8a3af13113b12578ed16446a5f745f57a85d2b421c2e20219ee030058200265052b983bf57ebc222b70a7485562cebb4e8f376e1445cbbca920a9e1227b440134d695005820025da8b96541821177596e69788bb1d1fe8ca550ca96331bb476f0ed0fc93f5c4a2e963951560b5180000000582002ad4e2c2659582808fa60c2a272b72920b10f624278260105e694dccbd15e304a10acfd1d162915734c3d03879bd6392e945ace8d19aa2c284a1084445d0d1b77f3e280114e02bbbb09a0bd00582003cc4d46b3e4b7999dbdbd4421341e7c9bd67e189ba72775dec4f82f634974804a035beb52e730f24a4821005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50410a021908400058200297843ad41ab7ef1ec57995597363dbc69c472faa4a0dc33a47ed73ec9bb2cb4b0622c368e308536dbf297000582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70411900582003e62a74e2bbf6a1daac93a2bec60fbcd6545ac8fb5ba66c1bb4e7f3ac3d16504a21139e74a0ee6fa000000218c0021990da03953d79f61fec073cce1a1a60234ebdf325800f20bedd31c5d878b446fe375f7d00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee341170058200205a054f133c8c63cf1da4fd110d0a869e2538bd563a0d966d6afdb6c3b9477440134d69703d4356c95a591fa24ff1c756b888fcaff93f5d59b25a1a6e76f10e28289e804e60058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f55ac903c77b64c827dbd19ccedb29204725e032f4e00005820023bae2c533e5de9259be506a01b83afce15ec81e941c9037a8823b0f553a1fb5820ffffffffffffffffffffffffffffffffffffffffffffd169c6aea9f4ae7fffff03fb3eb2c11b27872aaebc936824dff29e3bddd106e193e42e3308251c078c7e6f00582002408f73ff670497866c8efd4192d21de3fb3e48bb3c54f6d033cf26677a54de440134d697005820037c1540da7fa257c6d97ae41e412a69e023d63d82c8df1256a1c7da67dd1e205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003652600c7b0916d6c2b71d83785e7cea168c0372ce857a3a1421c7e35e32410497936e9dc65545235a9005820031de816c82ac1489ae8ffe162c51ba090c1fa60993f981d57fa995cace50c40410102193040005820023b3bcfeb5cba1b672c4d7c983eafa0636819cead2c937099a8f2bb74e32d414a0927f62b6b654e5b2a6002198df80219ffff05581d02539db11c2b2b4ae528dadd88aa1c01d3a9b51776014e1c32f7cc918b0701192f5e05581d02d57ef2ab5d346b74dfacd49c0febc149520d805f743e167fd04a8e000c014701679ba93170700219800403af74da4e4f2b7461198facf46cb822bdd325765b3e32333d9d45e0e295b491fc02191f1903ee6c259fec26a07b7e463be90d17f9ce43bb5b0be8e1f0e16673465cc75dd56103217b677a7e0982c9ae7ed1950e9a9005330d44b7503da79fa14b83ddb3d36f3403800bc34d1dd69b02504df524df229db3f9b17722e19d0dbf83bff0eff7047ef80381438da280d914f157633ab78e4452557186da65338f57aa41e586f7387962e50349a340bb68caea1726b49fb21c4b424eac36e7fe906e96402eea08b5430a582103ecbc893ccd8c3dd7a42af2b551852ec8bde9d2246b65d3ea224c312a241a523303e20701521c4417963e6eae795ce88f226c1766905c1ab340cb8b93e3272d041303ad86722263a31a599d07ceea242cf3192a9a9f8c551e778159832b05c8767e390219ffff0318430fa5b01eb6493c7a6f0d7e26c077219ade2fde5778db61960c4e5adde06803ba2f70aa1ae42273bf77c1d6bcb497b15f66aec375646eebffa20ad87d848ff803089db14fbcc3e78770562f71d10df944a1d8975c62fee81976be1ff5fe76cef003029b3084a2aeca5c658a000923183c2f7ff687e68c19720237311cb5f936ab85031768d78137ef1c8f6c47201b35d912f40ba3402012b551a3c451caa7a60912d80349724740dc731b318173515c35741b4c012b5299b15377db7f25674424e39c0a03405e93ef75436fa1ff52f580cafd8532f0f8ccaf9c8d6deae42f32aefaf569e603fe424fad1396c5399e4012cb808846160d51a82e5fcc40c27772a439cc0659890219ffff0219ffff0375b95e065739d26ba8f7f98dfa9f7dbc4929edf5e36262a914a1359068fde2d303b340e646f1c763fe0f4dc17935f8913dd3111969a423cc48fee357146889f96b032ebbb988f00598ae8536ffadc146c174a85862fb9a6913ae88a8b92bba45392103d0bbeae644faa6823308da5678c18ccf6f386c1b119d2ece6a8bfe8d19ccf1640327966ee1ea532f3bac0269c17602c57e7e3fe2f5fb8e575ff1aa83d3463dc560030f484ec3f66974217e803bc397e457fdea716f2b59f058bd0b00f20a05c25c5303962f792fde04a60cbb600e3ed80b83712f835ccfbcc45ad5557371abc49255df03491519e887f98a1714938f08d8886fbab7cbd31c66b879a1fbc412e290c0687003946dfdfab11e13674f353c8a5fe2fb1ad1b35964546a7fd8d08c10bf06679815032ccca3ac5d550220468dd3b2cfcd38386d5cf52a9b74666386e06c67606c830803de5b1f04d5ed586802471f274028a5e3715ba514334050fc73e43fc6f32cd32b0358ab02c8f7cd5ee0b79738d2430525b06c78403f9e1571631bf335afe29b248b0360e6a5d110c268726abf48d510e0e0146fb96097a783fa186f0daee2b294cbe603cd96513ddbd40f23c0b6eb344e18513c54f8d38f14d5d22a7080bbec47da7dc0033912d8fac9e30a2e6ef5636898e2c4ba889c7c03d8fbead5fba837ec915af7bb03a9136e1ca1747a975fe02d0c6fe64076c8915fd0f2d4b22e82d38af872eb5de703914f50467fb92c7d31478f4b1130e6e9d34fe5aa9faf3714ab648af0f829301e0395e50a4a980956418067f179bbef7e02676a9bb863e59d5ef6d8c21f1d8cb6f7036f8eac5602bad18da16129eb20bc949812aba34063033e7603e162888bfdb09203502931b5dfb32ec8696936703692e86d6816f7cbfea92b168867e9a4c143f3dd03bda897a9f0cbdf688f6142b110e58465d0c5826d82d0020abf5a494a0e7dbce9038de270a23f66b3f4c47528b0e8872fa9cbac61128bf3eca750a7d60d9038530f037d957abe84676252d976f5876dd0e11213f5be9eb4ab9506e6752e98c5d0fee20347d59966b6961a6f4d6d7e004e9c9d8bffd2c690469e897ded99a3faf13d56ce032783b7c2afd5b1495a146cd4763fc846320782c405b73a46f6629c76c4c5ff3d05581d02a855d177322569be151d7902f2bca4ca09ff2cb87c71dc73c28bce2c0c0d473c053f54b0052905581d02e1ac4ed473f1fec9feb7424b834ba97313f5fd71eeb90ea92ed895440c1902f0478f1505bed1e9ea02186005581e037a119322421ab89b13da51d7d8d1118552364894ee3b4760644cb414600c0f470d719a75b9ef5e05581e0310e03b66aa43010020b0f10521a6e146421557018542997749d9167cd00c02466f93a64f0c5003915c345a0eabbbccae6f5303e6acb01143748ad23f51ad50ec731f5b14ef3c33030865cec1e9ac3048b12a85fc3b9fbc682c3831784e3396416635df4cb88c3fdd03a3c95032dec6da1194cabf79dcf787cc5f22123a66184ead3feea310aac3007f05581e033909ded43fd2938f39091c7b26da65946196d7e2bfd5bc03a58d0bd9b007011bffffffffffffffff05581e035a08efc32c4707728077f6be0a8a86ef71c2a1d1b0dae37d8bbbf1e9f00c0247455999492c561005581e03d8b377f3a8e215fd5a671706f314c66f1a4f29708189913f56875928100c024713ffb39fa3230005581e035d80e03741f255c94c4605f983f0e8f76e166815d88e9fc82fe73208a00c0447057255f57dc40003bf5a5b94d1f9f40f3a1d4f831c0926066ae8d86d3cbd9f24cbdfceeedcaa483203dff4dee06c1e73e2b7dcc4358a0d13a6f18fa5d81686f7b9093ee955d19603f805581e0336d2e807479273fdffe1e9c28a9a0c4437a5414fc27f83e8651d2a21800c014719553baa6f3d4e0219d5fe03bcf12e5f834b449ec838d7343c6e8dc5029f3f89370647e5b096c3649ecbe3e7035427acc09c2e5fc3c8235b8a076ddc44e251f25555c4b2ccf2b0c19fe0e27043031ecb1aa6232293cf60672fcc815b8fb6d3f5868fe38e2fb0d00b51256c906d7b0378ee2cf89351be11b01e0a9bb7ec37c4a48b1854ecef857f0cab9cd10d336bf10303700ca5267201dd8037a8d615bc14c20f7a8b32466fc408e4cc781dcbfc68bd03fd15be497d004ccae1165c8950b11f9731c4f61608957fd7618d8f42b33a21df0301742b52cb896734b34b0b2ee238731d1cf9fecf7b7434f4507bd245bd4c8e7303c4ca184d068f13b4a807d8e7ca72864d1e107f955a2cdcd25de762acc1691dc30219ffff03bccb517a46b22259f3bf3cc42b37b8dd5b5010975076f7bb544b25b31ea5d29503bd8ff9c336aaa8a57d49c42004e42f50aef321a882aa0e85a6dbc5c7c28d0b1c03cc0273ce6e1a59aa906ca0fdb13dacb245cdd5fb3fa13ce75053ef0503eed268039a9620298e9d5439a543323a13f4b2509949d13e7a2136c15f3ed027861ae05a0379c89fe367fcc4fabbcc4c2339b18c0fa7edf50f0d55ed9e6314190fedf1a047031aa852caa7d7f9bc1cfc6cab409839a8430983f078d982a209319766825475da03b8cf38b2fe330c4bbafcc4a4fb71688c2d1e1c0376e890518c24b171b7a4ad770309de5665511935a89b6c7be6179de05982859f2ed958ae1280d8469a821395a0038b2b91bb81d170dd419a424beb25f10f6ea6e1f04defa8b0338b91515a7a9b85034bc4a728e253b81c5970f729bb0aa1bec335a5c148dacec4a1d4b260608200ef030b4b199572a6783ce0b3bef6c32759e8bf685bb12a90202d3e34e7991526efab0312261d9174e1f4120ef0d0568bc21c7c9173896742a212157b72968a8ab68b470219ffff0302e45a8175692c3fbe33eba3957efd65efcd137a57496c2a687cd76daaa29a7703c00967077ad03f81a682b064edbe04d7505f227e0088f1eb7a5bba611643b3c003f2103867ba5371e1a2ea6aa8851dcfae29084f0d121a2064a3ce18906d9aa60303212b641bee11bbf1b8b30f25cc579fbb1a216b316eb4fa4ac5ac46817c9a4b76034f59197c102aedf922e7c5dbc9e297b5bcf21a642cb9f94b001fea35b63e0f8a037596790db2500ed4e5437a7a7e32ea51a140b11361045324182c62de038f670c034f4e10dfcbd78948828d1a835790f96d5f9bdb603956867f16a280a88d78ee8c033e264170275eb4583c521f06f89d5711a40028677cb960aec94ae4558901f41203a224f5db0dcc0954902ddc9aff01d373dc2f96331f2f7d13d8d4aad32779a99f031812ee70b749c5ec1dcb285d4b0c0fa0b34b4cdcd3d320827cd01976023426ca0219ffff0219ffff0366dbd2aaef7d2e64ef4d50bc8ce6ab3dd238dc934e9cfb4bc5062b8df85f578b030c89af99aa0b18a20124c04e23c547a0fea7a11d97cd9a73069eb54bfaf3774b03ebb8e6de365d3dfd44adb1f2d7bcc152fad5290e6bb711e12ee00a1008bb20ff03cc0112a54a337c307254ed282c8e2a9a04c797b5f51530deb32bb0ea8d127b01035142c4093e63fe131fc7ad0934b9d41c65d33bf3e88b93c7518c406c8cdc481403841825c55b9b106f5043bd6fcbcc8c1c4f4fc118b1035dabf384a2cfcc26e43b03fbd339ee4e70cb0f9ca4cdd1e2859897d9cc6d17138f9d8fef03678f3b6c41f7036527622e6ab8ba6a212405c3276a5200e347c624a5f4714c887178f1b58646260366a6d030460c46db9a5f01bd9f6c261a41d964792ac72d7dfa9ad2422d756aef03b5d9b57febf11b07cd6e9eeae2d8779b67a621a243d42fe49075618accc95ac703bc2da14446fb0ee45ca5d80436890806751e33f3ec0bb9b23c64b0c213fa77a703f151deb2cb98fb3633644b294c2e00af692a0aed9bdf22daaa2aedf74e114e9103e19baafee1e19690e3cdcca42033e7663bfa6ab45498acacb9d969d37f67f1ad03fd66eb360cde3f218c09a85f53abaa881c4f0eeb527f64cf13880ba2bb56b2af03b2c287d854536960e4649a41ab437b12e8dce74baae24f1da8e5dad972483bdc0316ba86fd8bbdb4b9d84d4d989518bf5d0624b8b3ed5353f628cd90895de495bb03ec7d38b896bf6091e7047678af56289f87606cb4f1095c41b045fe756cd5732e032400e78982a066773ac6d9fa4c06e83568cd1659303883c01178ab2f5d5a76a50348ab0c865e06876c88a0f7f2773b7b099d360012587226327dd6f47e89b9528f03a5c48b878ee721f1c141dedd92e584584050f6ffe760c8e84d3fea37125333e503502eab26c90a9cddf858a6f8e4431e021a0147e97fd68cae8d8a7100a37ea4f603c38ff81141dfc13b3a42d1fe75e8fb72b968d5a597ba635f5a175efdb122200903841f38688bba8612596c5b626dc69d64ad3289becd35e9b1bf56a6a60cbcb972032a1c48f45bad8e8420340332ce892687989092876c1a3cbcd79de36fcd533d49034ce1072a2d04af371f026150942d0ce224424f6b6070764f28a766651a117fc603ed4cb5d2ff48424da1328a77edbaedf325053c4350844eb4e0a542855e3c697e037ba011a42a7273a78292e4df9d9a1a556267842ac27d43a06119b46d8653060e037f8ce7159708edacf7a90b7ea0e41df120980ccf10a0cf3873d2bd936549a239032756515723c1182cf05805ec82c90009a4c7ef5fcbfa43773ca8f9d4ea03980a05581e03ebabd1ec1587624c83cc7642c99ca6b3d648e92c0109d3caffe7fc0460040103a62f0637b6bf81af6e09823403313a523530c0b6d62270385588853145ce496b05581e03622566b64e07562c00ae55712ae232906f840ef2346dd36fb72cd530200c01470a63d11a14268903bb58416f2b8b19191380a2714b7323d1b352cf2f4271e14091675cf2d58b89d105581e03b0fe552de14f1efed61bd40418ee8c59b8f23d3dea5c7990f1b609fb300402036c817ba86bcd28512dfcfa8c2f13b737f3b83e57ef527b81f5c715ac729fde0a03d1685c67d2fafab781ffb2944186ed1fa7c07c3a7465e6fac63339af206c2d4105581e033c25a3cec4b0a2cb47003bd4d7e6ac38b36c1a49abf81dd637adffef5007011bffffffffffffffff05581e03398f114e7900c96b2a848fae91ae3f90bc20372f5f501173da0561f5300c01471bd10672f73400037f02269e61cc0c51b1415731b782b3fa671ce40de31bd4f2af50372eb092dbce05581e037daca963f41e386651489d24fc9f3526aaa263af4225eda39a470d271004010300144a465b1b002a78870bf07a3ba140fd157c229bd8ce259d3b485583813aa905581e0323abfaf397cd46674fc9d1eb6cc455ce9bf5b09d8e31cdfd0ca83342b00c1902ba476d4be12f9cee0003d9f85c05e686da36f32a0c261cfc7ee7e83e66e99ce20bc6a865082d1392164505581e0358b9cf38c6ffd12852bfd36e89cfade34169b065d6d94b356c1ee618f00c19019448053f61187d8b1bc20219ff7503fbdebd88d1cdf360de542671c4d27707d76e8c18c171d78655b20053ee3be8a2032d48f688c669577b60fef44609ed892345c985ece2e7a24142d33445891dd60d0343e442b5f9d183f37a33151a26e45630380c83bc93f4bb2ec211bf61b48fab8303f9681374ffdaf1d0497dbae348a9d35fa17ca24eccbdc790875f0af26958b85e0219ffff033107f6e07740153d25e0cd50b583220f89b264dae1433f4ef6e3593e60c9630503c09bb0875c23cee7a25e460ea0295ddb6d98c74d2bac639f68736cfb4c685ef203efd80bc6d467b47ae655e7bf563404a3e4fc0f7842d641e90bb3cd50cbd1352e03ecb9d18ebe6e0dfd90dd11fac9782c3ebb0409ae3390862558eb1babf3ad3a5b03078a170cc057b7c0b9f159b027664c44e6a8917a94c96a9bd78582e35c3ff1330219ffff03d7844361e2f3ee6e3615faf9415215614eea9a8d4e999a7480d52aa1ef942f3b03a33524bdff79c75c25cc6837613d78630cc56ab6ffd8b272e706a1194aee1c7e0312387746a1b77e782899c9e89671722b0acf980d76d14a1ebd641e08cc4b74150334c734dcf71b5fa3d01f3e26766e29505446bbd2fe002daaf67bb86b545e7f2303b53ab52cb28c88cba85ede795fab21e04517534197d5c32c819f5644b4dd9bf7035629e3d418c02617f1928fbb51e516a4fc769675a8487ee8bfc1270c8007106d039d69f9cdecc8c0b1f6903d4e3309193106e52acacba13aab82123702a1e35ce203eed642272e6f23eddc59765858291bda47b68631f362aaa58331e5afdce3ed2f03b0326b063df93eff0075d45129795c13b2d72c4ad946533b8a15644b80a71de5032f450f26dad6fbe7a35bab367de86dd0a51be684831da5e4c1645709dac230a50339f47d8438e50a6dc2347b9211a4a1a0167b5419efdec8e2c36469380c3325bf033ce5883b245d87cc8517aa7ab59afe0505dcb20dd8d5e4c6f3a29d8502a9ac2f030b3c7c194d6aecbff6435e134baae137f0ae395d6830b944540492fb6a24388a03c32cbaf94fe5164d76179dd261a6c247020d3bd3f686311beee5216afe8638ef0219ffff0324070b48aeadf39fe07df35c8d15234291b320ba5496c8e2f17d65420a7c2f1a03e729dafe0b3654af7a7c6a2efc7229b95f63994ed65c17a890de4510c29b01cf03ad8614e37d7caf689534847705920042f13d7c56ab0b411bdca485a6c369cc3b0355de3c9734d831ffce0534c5be2eaf60cb81311b0032b8ce46058853f11fb666038f610db72ac350da3d02d6b6c16facd7de1b7927c38b7f1eefc923f54d03ab5a03a659cec02e3b5608f3dbecbe9afcbfed167622073bc5d85d8eb6ca367be3b6ea03c5fa2862432d0ac783b5da37559bb448c97ae1791f5e79c6311b9c4388fce75e03663c6df2686cfbcdd530553769ab0b006cbbfc64a88769846dcd13c8fb4f46730219ffff0394befc3a6acc2e565a4f62547ddba0b0af60aa5fa1addb0d7dd79e7b4f28da330372754fdc5562c019f5b9af703614d246533fe4d491a425528a4ab5826f44d4d003543a4e63d6118cea251928014e96a1d1dabd0cb837c7ec411cf3558f0fc461e4031f4591163c7a77d87977f142e06d591c3a51a5008760f0f5d72c34ea9847d6f303d4b161c1733cc7d2374e3756ce2d17efae0f2dce2aaa3391eb75646c88cd912e039765fd34991b15e7e197852cf0f9518a2ce77f5a329ec45be4dc7e2c19add00903ee85adc752def2e46f78f610c44baa0823e1b73b89c110c231634ede7f6fc2a0037ca1449b0051d36c7cb29bef588946a6725d2bd3c5fde79889c82c210d26bb340317110e6ef271848c7652c3800a8e43d649cfcfbfc9524efd07d9fcff53018d36036cc218fc00f42d7f1dbb433a32043cda0bbcd7d15bc75ec62506f304033b01f805581e037045fda28f758bbc3df61d0dbb9865ceedb4de9c03f0c05427a89fb75008476cf633d742e000031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e030cea6c984b84a87747d4c1d7e65c61a90a0ab9b073072ef7fc5fa3137007011bffffffffffffffff05581e037087f9bb89c2c1c0bd42a951369e37ccebbf8fd4a84817ebf883bf3bb0040103abc702e9be42d7e085f95b236d453f3246c192e4d71cfaf086f186659bf091f3030738ec3dd45cf615f8b3c2bdccd3a50592a45d021198ffddf68cdca68dcfea1905581e036d50b090978467d808f2d05a3e3707bd226f0abfcf056e13a6f07f309007011bffffffffffffffff03e8e59c2acbff6279ba51fc23807bfc4249bc2db19fccf38afb183ccf4dcafaff01410105581e031350648780e564dc516544e7a00517faf9d3e021c714759226bc347b900c034603a35294400005581e032160fa74d6b61dd3904a747ee8183cad3132c137ad90453fc4977049d0040205581d028fa2e59da6fd5049a108573b07583e02c210d162201593d54be90c220c0348016aed8c6a617a3805581d0224c22c19503a46697b44d3dbcb710d0776e44ad9b5da6fd34f8ecba70c07461d5764af5f1805581d024b96017dd615eb157c84eb517cba9e5fee98f16a436213bae259a8a80c0147029159e8d4459f05581d02fad53e5aeb7af4f2cbf2edaef0483e3fc913237d5a636d960614756e04060219012505581e03782a4c144c8cc7ba70992bb21a6af1527d86dfab6b1c9ad3b9769d6e000c0346b504da0d2458021995b70372e6c0d87a619d91b9fbafde9b43a68e5baf24bc3c8150c641fc23fd326e32b403a8df1c23f752c97e8ff41deb7dc8432b835af73c64cfcc7f23cbf7d93bb211ad034098f41e162686ae90179ca843b7e5b5bccce548c73980401cc747f72c22bbaa0388b3fb71de62ad15a15749c7273f6e842a3715513f830dfe189d2b4e11c71ad30347d034b7aa0a1e149dd30c0f952a8d2e9ba07ad219c2f12346b75e81cc9cffad03c1e45ca73ae0ff56dc3583275ddc1a932fff72ae9f5861b4829d2cedc996b31103ff60f3788da6220659adad7d21151958dac32b4b0680b5ada02d5c0ccdb62e2803f146d5c4e2f4c80a8bda19a44bcc7716ef3c9d2a573fee2b3e4f79db7c7430c603971659ca236fa8688e05a4be049bc63c146718b0b764ce1e8aba1587087490df0355f451eedb9b1c7c3123ae418e404a3bddf7880b91a8b0697a78df49303cfb9503aa99d5aa172e84a1b6aa1be9578e839d3e523d6b7c9dc3d1d31e3d193f0ca3a10219ffff0304b3e7b9468d4cec8d349e2430000ce48c0d325f8f778c2ad1860d454a13959903efb59d3d95bb5ac09417640a46aa71ca54e3043211c05916fcc08b3c0a68fe06036a901f7dbc15b6f36fa50548685a696b5f39293f5952899421753c26940609f003e19c31c38eb3b31f0e086feda5f7d3cc274835e375e740324f8c333d434a4913039add587ed844df5e9177c59150c2e98e9ffa5b91bc3272a1c660a367c836a62e032b784b057c44a3afcdba4a7ff86de14971b087d4d9cc442354d91a2e149f7ebc0311da09181f0d712136a79b26125e4e5badcbd79d0182b7204efe2063aad4d6d103a2ac58c0bba33bd4a0ca232ed525cf1a5093e21e8bb76cbcf912909014d2adec03fa1e7545dcbae98d29894f059463344c34fdd41c4691c6862f84712539856b9f038428913825363c291d9e9234024dfc34f1227d13fb0b31be5d21f08abfe2e6ed03e48cea38dfe63c766376b91bbd31f1089ba3f9b6d31560dd66557395a17d540103db27e5a19f0c36cf34040ca16da68d50ae90b5e38db4251ff951db4ec8ba5fc30219ffff03503cc69547ef95aef6b2ef247a683c6fea0f834773c81210b8edc858c26142cc03021bdd99248437ac93f6f400063b47ba142a0b4cf251bebd58a3a50ac583d9e60300d6c86aea0c8a993a744d7d83fae3c4a23ff06a8241c18359c2cf7b80a10cee03e5566c82f943dd7d9c7e141c7514261c5f42c27ad1e37106ce575feff9b66c7f036e907f539467213beb8cb9ac1434cab2e7260c2f3e45ba52768da22f3e21977603b375eb2bae878bf9661015c5fe92f153c214a4a45f94d9a02daf09657584370b03ef66ffa329a05667dc58a30f7d0faf001c3448c456f0d0572d639ab680f872480357f0a010456ce1482f9f29b44d3dd288d687fc2e4522e6ce4d8226e8f8a0235803762bd571062d0c7f37899909d708494b30c6a89e49d098f8226da1ed37b9323c03943ad30f6b5076c659e2382448580d0a1e24f1cc0e3c1bd5fd6bfa07c557bb310314f06ed93174c395a793c6021bd39de392def30ebebdab853bc6cc3e2ceaee2203af1eface05bce8c64a4c790645f7ad827e7263204ef3dc4fe6549dd32b5565340322892ca6e5d48a203a4ac158f19bc94e9116cd649d16ba8db3efa9f04e6d45870219ffff03d91c49fbdf31280c231ca4eaf480c0ee951920d33ca90a248c0fbda464ce731d037617cbc15cda62d2ace67b87990c11ac4ad127f590383949fe5b037934000e1c032b4e74626e2e04805c6a9b528a4155ce3208d6f15b975c1c81cfb1ff759fc8cf036ca5463f8ba700ec8abfaa92412e92b8b25fe4c74d3adc2c6c370742ed591021032e01bad98afb9f06a716c94a9f9783c4bf19476d16f2249392191b64e8f63f7803a1bd7683e9b9cdba29ce1ecab2348d376ec7cd42f0149676fce8cb560ec62fbf030fbecfd0edcd1bc64223bba6d62e4286c35852dbd76030a87660aace66702277032055918092065e62e638f78e8c570bfd2a263781c0adcfb6453bf5435104e53a03b7dee3c28dc1f1dc81afec6d788fc47abc4f61a2dc8f8dc4a558b02fbc47e62c033ed2b4534fe1f8c2cde46a924a91ed70eb62a8968135594f02a1eb37bbac4267030c5816b105d444c58656a556327a779a99050f2c6acc74b482fe40b9ae0287b703f5f8b4194e7302b5f66486db41a26721b859f40e07f3654433c91593067e27d90399c2ddfe28bfb97e0aa019a88fcef27180afd7e57194b9b41002b70ca5d89623038d8bf17575eb8988e207d1f90cfd2e40f67d0b4fa49597fdb329aeb6b534758d0308429906fbc99016744917ffc22847f5aa2b76088c2e84a28c773ca4c919339503bac66968e036caff8e691bcf3f11f3873b37ab006e9a161ee4088a2f0e60b9020361cf0d03b5385566ace753457e6740e5bd1fce68dc92fee944a334a172ad4cd5031c280e3ba5a9fb0cda81d9dc90c1f51780ed6ff36d73081894130bcb4864f4ee0366f8ac1dcffc0f61982e531105de7be9ffc537a7c58b5b69e661ecab80f5dfd6031cd4a01c5381c9b66e199f0539ffd5ef22f4cf6008354c321cf5ef7a34b0d5e60377011dede0b4290f8f8da9f23a2170f17c7f9509d43ee00624cea0e1b494c7aa032f1a2cda6ff0e3df0e562f3bb374e039a1d93beb2c7463c8827be1bd88afd00a039a8c8736834a34edb504556ffd6104f462dbde306411fefe10eec22499e6edf305581e03f3f5c301b422f0c8c2c8d96cffb79cdd4705fc7e7a00ead640b63dcdb00c0446d78cdccfd0000352390ab3fd3144c2a3772863410075b9825618c5ca5a53a735b033b1bb8c247205581e03d52445c512a55ae43a6189885ae22424a300c1b88372002f6b47a28ed00c034692013412fff8037a9cbd89be19b2b426c509701b42afe65a2856285eb90c2e558332cd8793044803126d77edba344a9fb64be1ed8aa72886c8d13a054b5d5efc27eac8bb7f3563a801410d05581e03ac9835a5566e56fedd4ba74ea8f91bf3d8b2dd2a8e46a9fe06bb44ab800c01477f04275aaa85f7030def17929b5119754c8c53fbd7a591797b7c942a8781ec7bc946208856b351760307c33ccb63a622f7a3d0ca3a2c7fe9caa2eaefd2fd015f127c27f2b650c250f704593a656080604052600436106100ab5760003560e01c8063715018a611610064578063715018a614610204578063756248a31461021b5780638da5cb5b14610244578063ab5cd5ba1461026f578063e6b43d0114610298578063f2fde38b146102c1576100b2565b80631d15b611146100b75780631ed6144e146100f457806333456d781461011d5780633da665f31461015a5780636b0d35081461018a5780636d70f7ae146101c7576100b2565b366100b257005b600080fd5b3480156100c357600080fd5b506100de60048036038101906100d99190612711565b6102ea565b6040516100eb9190612759565b60405180910390f35b34801561010057600080fd5b5061011b600480360381019061011691906128f9565b61030a565b005b34801561012957600080fd5b50610144600480360381019061013f919061298b565b6103fa565b6040516101519190612a09565b60405180910390f35b610174600480360381019061016f9190612b22565b6105f5565b6040516101819190612a09565b60405180910390f35b34801561019657600080fd5b506101b160048036038101906101ac919061298b565b610b3a565b6040516101be9190612a09565b60405180910390f35b3480156101d357600080fd5b506101ee60048036038101906101e99190612711565b610d47565b6040516101fb9190612759565b60405180910390f35b34801561021057600080fd5b50610219610d67565b005b34801561022757600080fd5b50610242600480360381019061023d9190612bfc565b610d7b565b005b34801561025057600080fd5b50610259610eb0565b6040516102669190612c4b565b60405180910390f35b34801561027b57600080fd5b5061029660048036038101906102919190612c66565b610ed9565b005b3480156102a457600080fd5b506102bf60048036038101906102ba9190612ca6565b610f3c565b005b3480156102cd57600080fd5b506102e860048036038101906102e39190612711565b61108d565b005b60016020528060005260406000206000915054906101000a900460ff1681565b610312611110565b60005b82518110156103f557816002600085848151811061033657610335612cd3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1618a22a3b00b9ac70fd5a82f1f5cdd8cb272bd0f1b740ddf7c26ab05881dd5b8382815181106103c3576103c2612cd3565b5b6020026020010151836040516103da929190612d02565b60405180910390a180806103ed90612d5a565b915050610315565b505050565b60008084905060005b845181101561052a57600073ffffffffffffffffffffffffffffffffffffffff1685828151811061043757610436612cd3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610517578173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c99190612db7565b8582815181106104dc576104db612cd3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b808061052290612d5a565b915050610403565b508073ffffffffffffffffffffffffffffffffffffffff1663d06ca61f84866040518363ffffffff1660e01b8152600401610566929190612ea2565b600060405180830381865afa9250505080156105a557506040513d6000823e3d601f19601f820116820180604052508101906105a29190612faa565b60015b6105b257600091506105ed565b6002815110156105c157600080fd5b80600182516105d09190612ff3565b815181106105e1576105e0612cd3565b5b60200260200101519250505b509392505050565b60006001600061060361118e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661068a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610681906130aa565b60405180910390fd5b6000876000815181106106a05761069f612cd3565b5b602002602001015190506000899050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161480156107ab57508073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610731573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107559190612db7565b73ffffffffffffffffffffffffffffffffffffffff168960018b5161077a9190612ff3565b8151811061078b5761078a612cd3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b15610833576108298173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108229190612db7565b8888611196565b8692505050610b2f565b8073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a29190612db7565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561092f5750600073ffffffffffffffffffffffffffffffffffffffff168960018b516108fe9190612ff3565b8151811061090f5761090e612cd3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156109b7576109ad8173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610982573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a69190612db7565b88886112ce565b8692505050610b2f565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a00576109f9818a888a8989611414565b9250610b2c565b610a0b828b896116a7565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a469190612c4b565b602060405180830381865afa158015610a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8791906130ca565b90506064605f89610a9891906130f7565b610aa29190613168565b811015610ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adb906131e5565b60405180910390fd5b87811015610b1957610b12828b89846064605f8c610b0291906130f7565b610b0c9190613168565b8a6117b7565b9350610b2a565b610b27828b898b8a8a611b17565b93505b505b50505b979650505050505050565b6000808490506001845111610b4e57600080fd5b60008311610b5b57600080fd5b84905060005b8451811015610c8857600073ffffffffffffffffffffffffffffffffffffffff16858281518110610b9557610b94612cd3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603610c75578173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c279190612db7565b858281518110610c3a57610c39612cd3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8080610c8090612d5a565b915050610b61565b508073ffffffffffffffffffffffffffffffffffffffff16631f00ca7484866040518363ffffffff1660e01b8152600401610cc4929190612ea2565b600060405180830381865afa925050508015610d0357506040513d6000823e3d601f19601f82011682018060405250810190610d009190612faa565b60015b610d105760009150610d3f565b600281511015610d1f57600080fd5b80600081518110610d3357610d32612cd3565b5b60200260200101519250505b509392505050565b60026020528060005260406000206000915054906101000a900460ff1681565b610d6f611110565b610d796000612089565b565b60026000610d8761118e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610e0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e0590613277565b60405180910390fd5b610e40610e1961118e565b828473ffffffffffffffffffffffffffffffffffffffff1661214d9092919063ffffffff16565b610e4861118e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb83604051610ea49190612a09565b60405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ee1611110565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60026000610f4861118e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610fcf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc690613277565b60405180910390fd5b610fd761118e565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561101c573d6000803e3d6000fd5b5061102561118e565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb836040516110829190612a09565b60405180910390a350565b611095611110565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb90613309565b60405180910390fd5b61110d81612089565b50565b61111861118e565b73ffffffffffffffffffffffffffffffffffffffff16611136610eb0565b73ffffffffffffffffffffffffffffffffffffffff161461118c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118390613375565b60405180910390fd5b565b600033905090565b6000479050828110156111de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d5906133e1565b60405180910390fd5b60008111156112c8578373ffffffffffffffffffffffffffffffffffffffff1663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561122f57600080fd5b505af1158015611243573d6000803e3d6000fd5b50505050508373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83856040518363ffffffff1660e01b8152600401611283929190613401565b6020604051808303816000875af11580156112a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c6919061343f565b505b50505050565b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016113099190612c4b565b602060405180830381865afa158015611326573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134a91906130ca565b90508281101561138f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611386906134b8565b60405180910390fd5b600081111561140e578373ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d846040518263ffffffff1660e01b81526004016113d19190612a09565b600060405180830381600087803b1580156113eb57600080fd5b505af11580156113ff573d6000803e3d6000fd5b5050505061140d82846121d3565b5b50505050565b60008673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611461573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114859190612db7565b8660008151811061149957611498612cd3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505083341015611516576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150d90613524565b60405180910390fd5b8673ffffffffffffffffffffffffffffffffffffffff16637ff36ab58585898987426115429190613544565b6040518663ffffffff1660e01b81526004016115619493929190613578565b60006040518083038185885af1935050505080156115a257506040513d6000823e3d601f19601f8201168201806040525081019061159f9190612faa565b60015b61162c578673ffffffffffffffffffffffffffffffffffffffff1663b6f9de958585898987426115d29190613544565b6040518663ffffffff1660e01b81526004016115f19493929190613578565b6000604051808303818588803b15801561160a57600080fd5b505af115801561161e573d6000803e3d6000fd5b50505050506000905061169d565b600281511015611671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166890613610565b60405180910390fd5b80600182516116809190612ff3565b8151811061169157611690612cd3565b5b60200260200101519150505b9695505050505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016116e4929190613630565b602060405180830381865afa158015611701573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172591906130ca565b9050818110156117b1576000811115611765576117648360008673ffffffffffffffffffffffffffffffffffffffff166122d39092919063ffffffff16565b5b6117b0837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8673ffffffffffffffffffffffffffffffffffffffff166122d39092919063ffffffff16565b5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff1686600188516117df9190612ff3565b815181106117f0576117ef612cd3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff160361195f578673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561185e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118829190612db7565b86600188516118919190612ff3565b815181106118a2576118a1612cd3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508673ffffffffffffffffffffffffffffffffffffffff1663791ac9478585898987426119089190613544565b6040518663ffffffff1660e01b8152600401611928959493929190613659565b600060405180830381600087803b15801561194257600080fd5b505af1158015611956573d6000803e3d6000fd5b50505050611b09565b60005b8651811015611a8957600073ffffffffffffffffffffffffffffffffffffffff1687828151811061199657611995612cd3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603611a76578773ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a289190612db7565b878281518110611a3b57611a3a612cd3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8080611a8190612d5a565b915050611962565b508673ffffffffffffffffffffffffffffffffffffffff16635c11d795858589898742611ab69190613544565b6040518663ffffffff1660e01b8152600401611ad6959493929190613659565b600060405180830381600087803b158015611af057600080fd5b505af1158015611b04573d6000803e3d6000fd5b505050505b600090509695505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff168660018851611b3f9190612ff3565b81518110611b5057611b4f612cd3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603611dca578673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611be29190612db7565b8660018851611bf19190612ff3565b81518110611c0257611c01612cd3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250508673ffffffffffffffffffffffffffffffffffffffff166318cbafe5858589898742611c689190613544565b6040518663ffffffff1660e01b8152600401611c88959493929190613659565b6000604051808303816000875af1925050508015611cc957506040513d6000823e3d601f19601f82011682018060405250810190611cc69190612faa565b60015b611d54578673ffffffffffffffffffffffffffffffffffffffff1663791ac947858589898742611cf99190613544565b6040518663ffffffff1660e01b8152600401611d19959493929190613659565b600060405180830381600087803b158015611d3357600080fd5b505af1158015611d47573d6000803e3d6000fd5b5050505060009050611dc5565b600281511015611d99576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9090613610565b60405180910390fd5b8060018251611da89190612ff3565b81518110611db957611db8612cd3565b5b60200260200101519150505b61207f565b60005b8651811015611ef457600073ffffffffffffffffffffffffffffffffffffffff16878281518110611e0157611e00612cd3565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1603611ee1578773ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e939190612db7565b878281518110611ea657611ea5612cd3565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505b8080611eec90612d5a565b915050611dcd565b508673ffffffffffffffffffffffffffffffffffffffff166338ed1739858589898742611f219190613544565b6040518663ffffffff1660e01b8152600401611f41959493929190613659565b6000604051808303816000875af1925050508015611f8257506040513d6000823e3d601f19601f82011682018060405250810190611f7f9190612faa565b60015b61200d578673ffffffffffffffffffffffffffffffffffffffff16635c11d795858589898742611fb29190613544565b6040518663ffffffff1660e01b8152600401611fd2959493929190613659565b600060405180830381600087803b158015611fec57600080fd5b505af1158015612000573d6000803e3d6000fd5b505050506000905061207e565b600281511015612052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204990613610565b60405180910390fd5b80600182516120619190612ff3565b8151811061207257612071612cd3565b5b60200260200101519150505b5b9695505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6121ce8363a9059cbb60e01b848460405160240161216c929190613401565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612422565b505050565b60008273ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff8111156122085761220761278a565b5b6040519080825280601f01601f19166020018201604052801561223a5781602001600182028036833780820191505090505b506040516122489190613724565b60006040518083038185875af1925050503d8060008114612285576040519150601f19603f3d011682016040523d82523d6000602084013e61228a565b606091505b50509050806122ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c590613787565b60405180910390fd5b505050565b600081148061235d575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161231a929190613630565b602060405180830381865afa158015612337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061235b91906130ca565b145b61239c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239390613819565b60405180910390fd5b61241d8363095ea7b360e01b84846040516024016123bb929190613401565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612422565b505050565b6000612484826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166124e99092919063ffffffff16565b90506000815111156124e457808060200190518101906124a4919061343f565b6124e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124da906138ab565b60405180910390fd5b5b505050565b60606124f88484600085612501565b90509392505050565b606082471015612546576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253d9061393d565b60405180910390fd5b61254f85612615565b61258e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612585906139a9565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516125b79190613724565b60006040518083038185875af1925050503d80600081146125f4576040519150601f19603f3d011682016040523d82523d6000602084013e6125f9565b606091505b5091509150612609828286612638565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6060831561264857829050612698565b60008351111561265b5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268f9190613a0d565b60405180910390fd5b9392505050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126de826126b3565b9050919050565b6126ee816126d3565b81146126f957600080fd5b50565b60008135905061270b816126e5565b92915050565b600060208284031215612727576127266126a9565b5b6000612735848285016126fc565b91505092915050565b60008115159050919050565b6127538161273e565b82525050565b600060208201905061276e600083018461274a565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6127c282612779565b810181811067ffffffffffffffff821117156127e1576127e061278a565b5b80604052505050565b60006127f461269f565b905061280082826127b9565b919050565b600067ffffffffffffffff8211156128205761281f61278a565b5b602082029050602081019050919050565b600080fd5b600061284961284484612805565b6127ea565b9050808382526020820190506020840283018581111561286c5761286b612831565b5b835b81811015612895578061288188826126fc565b84526020840193505060208101905061286e565b5050509392505050565b600082601f8301126128b4576128b3612774565b5b81356128c4848260208601612836565b91505092915050565b6128d68161273e565b81146128e157600080fd5b50565b6000813590506128f3816128cd565b92915050565b600080604083850312156129105761290f6126a9565b5b600083013567ffffffffffffffff81111561292e5761292d6126ae565b5b61293a8582860161289f565b925050602061294b858286016128e4565b9150509250929050565b6000819050919050565b61296881612955565b811461297357600080fd5b50565b6000813590506129858161295f565b92915050565b6000806000606084860312156129a4576129a36126a9565b5b60006129b2868287016126fc565b935050602084013567ffffffffffffffff8111156129d3576129d26126ae565b5b6129df8682870161289f565b92505060406129f086828701612976565b9150509250925092565b612a0381612955565b82525050565b6000602082019050612a1e60008301846129fa565b92915050565b600067ffffffffffffffff821115612a3f57612a3e61278a565b5b602082029050602081019050919050565b600062ffffff82169050919050565b612a6881612a50565b8114612a7357600080fd5b50565b600081359050612a8581612a5f565b92915050565b6000612a9e612a9984612a24565b6127ea565b90508083825260208201905060208402830185811115612ac157612ac0612831565b5b835b81811015612aea5780612ad68882612a76565b845260208401935050602081019050612ac3565b5050509392505050565b600082601f830112612b0957612b08612774565b5b8135612b19848260208601612a8b565b91505092915050565b600080600080600080600060e0888a031215612b4157612b406126a9565b5b6000612b4f8a828b016126fc565b975050602088013567ffffffffffffffff811115612b7057612b6f6126ae565b5b612b7c8a828b0161289f565b965050604088013567ffffffffffffffff811115612b9d57612b9c6126ae565b5b612ba98a828b01612af4565b9550506060612bba8a828b01612976565b9450506080612bcb8a828b016126fc565b93505060a0612bdc8a828b01612976565b92505060c0612bed8a828b01612976565b91505092959891949750929550565b60008060408385031215612c1357612c126126a9565b5b6000612c21858286016126fc565b9250506020612c3285828601612976565b9150509250929050565b612c45816126d3565b82525050565b6000602082019050612c606000830184612c3c565b92915050565b60008060408385031215612c7d57612c7c6126a9565b5b6000612c8b858286016126fc565b9250506020612c9c858286016128e4565b9150509250929050565b600060208284031215612cbc57612cbb6126a9565b5b6000612cca84828501612976565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000604082019050612d176000830185612c3c565b612d24602083018461274a565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612d6582612955565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612d9757612d96612d2b565b5b600182019050919050565b600081519050612db1816126e5565b92915050565b600060208284031215612dcd57612dcc6126a9565b5b6000612ddb84828501612da2565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612e19816126d3565b82525050565b6000612e2b8383612e10565b60208301905092915050565b6000602082019050919050565b6000612e4f82612de4565b612e598185612def565b9350612e6483612e00565b8060005b83811015612e95578151612e7c8882612e1f565b9750612e8783612e37565b925050600181019050612e68565b5085935050505092915050565b6000604082019050612eb760008301856129fa565b8181036020830152612ec98184612e44565b90509392505050565b600067ffffffffffffffff821115612eed57612eec61278a565b5b602082029050602081019050919050565b600081519050612f0d8161295f565b92915050565b6000612f26612f2184612ed2565b6127ea565b90508083825260208201905060208402830185811115612f4957612f48612831565b5b835b81811015612f725780612f5e8882612efe565b845260208401935050602081019050612f4b565b5050509392505050565b600082601f830112612f9157612f90612774565b5b8151612fa1848260208601612f13565b91505092915050565b600060208284031215612fc057612fbf6126a9565b5b600082015167ffffffffffffffff811115612fde57612fdd6126ae565b5b612fea84828501612f7c565b91505092915050565b6000612ffe82612955565b915061300983612955565b925082820390508181111561302157613020612d2b565b5b92915050565b600082825260208201905092915050565b7f43616c6c61626c653a206d736753656e646572206973206e6f7420746865206360008201527f616c6c6572000000000000000000000000000000000000000000000000000000602082015250565b6000613094602583613027565b915061309f82613038565b604082019050919050565b600060208201905081810360008301526130c381613087565b9050919050565b6000602082840312156130e0576130df6126a9565b5b60006130ee84828501612efe565b91505092915050565b600061310282612955565b915061310d83612955565b925082820261311b81612955565b9150828204841483151761313257613131612d2b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061317382612955565b915061317e83612955565b92508261318e5761318d613139565b5b828204905092915050565b7f6275726e20746f6f206d75636800000000000000000000000000000000000000600082015250565b60006131cf600d83613027565b91506131da82613199565b602082019050919050565b600060208201905081810360008301526131fe816131c2565b9050919050565b7f4f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b6000613261602483613027565b915061326c82613205565b604082019050919050565b6000602082019050818103600083015261329081613254565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006132f3602683613027565b91506132fe82613297565b604082019050919050565b60006020820190508181036000830152613322816132e6565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061335f602083613027565b915061336a82613329565b602082019050919050565b6000602082019050818103600083015261338e81613352565b9050919050565b7f496e73756666696369656e742045544800000000000000000000000000000000600082015250565b60006133cb601083613027565b91506133d682613395565b602082019050919050565b600060208201905081810360008301526133fa816133be565b9050919050565b60006040820190506134166000830185612c3c565b61342360208301846129fa565b9392505050565b600081519050613439816128cd565b92915050565b600060208284031215613455576134546126a9565b5b60006134638482850161342a565b91505092915050565b7f496e73756666696369656e742057455448390000000000000000000000000000600082015250565b60006134a2601283613027565b91506134ad8261346c565b602082019050919050565b600060208201905081810360008301526134d181613495565b9050919050565b7f4554482062616c616e6365206e6f7420656e6f75676800000000000000000000600082015250565b600061350e601683613027565b9150613519826134d8565b602082019050919050565b6000602082019050818103600083015261353d81613501565b9050919050565b600061354f82612955565b915061355a83612955565b925082820190508082111561357257613571612d2b565b5b92915050565b600060808201905061358d60008301876129fa565b818103602083015261359f8186612e44565b90506135ae6040830185612c3c565b6135bb60608301846129fa565b95945050505050565b7f73776170656420616d6f756e74206e6f7420656e6f7567680000000000000000600082015250565b60006135fa601883613027565b9150613605826135c4565b602082019050919050565b60006020820190508181036000830152613629816135ed565b9050919050565b60006040820190506136456000830185612c3c565b6136526020830184612c3c565b9392505050565b600060a08201905061366e60008301886129fa565b61367b60208301876129fa565b818103604083015261368d8186612e44565b905061369c6060830185612c3c565b6136a960808301846129fa565b9695505050505050565b600081519050919050565b600081905092915050565b60005b838110156136e75780820151818401526020810190506136cc565b60008484015250505050565b60006136fe826136b3565b61370881856136be565b93506137188185602086016136c9565b80840191505092915050565b600061373082846136f3565b915081905092915050565b7f5354450000000000000000000000000000000000000000000000000000000000600082015250565b6000613771600383613027565b915061377c8261373b565b602082019050919050565b600060208201905081810360008301526137a081613764565b9050919050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6000613803603683613027565b915061380e826137a7565b604082019050919050565b60006020820190508181036000830152613832816137f6565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000613895602a83613027565b91506138a082613839565b604082019050919050565b600060208201905081810360008301526138c481613888565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613927602683613027565b9150613932826138cb565b604082019050919050565b600060208201905081810360008301526139568161391a565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000613993601d83613027565b915061399e8261395d565b602082019050919050565b600060208201905081810360008301526139c281613986565b9050919050565b600081519050919050565b60006139df826139c9565b6139e98185613027565b93506139f98185602086016136c9565b613a0281612779565b840191505092915050565b60006020820190508181036000830152613a2781846139d4565b90509291505056fea2646970667358221220414123408920eb28e43ca4c5d6af0ad48c898d98be966217966f361e2bb130d464736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630543df3c01b72dc5d63565af0bcb20d847227c2201a00582103fcc7eda0119f5e4823cc710e9823cfbea8ecbd728a761123a861bbf75ea68340410100582103f93d48705492e6d7eac7fd1a2472d59f73feb5970ebe65514342e4b452ab42e0410100582103e14e6f66d02904012f00e7ea919d20817b7a9778ee8c9ee2670a7a02f46def8041010219602405581d02264d84a9ce97e74eb70bc9a625836221cf8dcd73a66391ee9e0c4a330701193a6505581d0298e1ab865abd6b116fb8178ba23e990c802f8b7aa0f419b16f9ba209040102188105581e03256f73a87410e567a04a9a70c35da311ff0de36e02359d2c991eaae910040302196eae0219ffff038be7043818bf8cb7132a6682b1531b3536f7bebd4ac24e55ad7864ef8427552503e5f92c2b4a86018594ef8f163950149c61e0d8ac48a0f7684c5f6af9da78d08c03e44352a9251d122b2775c628464658d2be138b9adfe93b1264ca91b7566660e7037de8f4220a391e7543c8d9e5062a8fdbb74d5fa482a002562d4ba32453f956d303149fc8c5515de0a431771cf9cbbcd9e5d736c1927e6756f3e86d08364e13793003b5bdd73d1331d34cf92a73d911a5d1457407c70121fa2f938ec435a2d7abcf1d03c8bf9735cddfb43e4f0320b01388ebbb62c98cc90b97bfab31ce96fcfc22df02030c643aacb06e90a3cefcf559dc81143f21ff6d5469a7b1509c8096f5c048cd18039b9fcc0e32942e227827b3f1d8d12a544cddf4c7a7f2891987ae1b818dc77ad1031b70430155fe56da1500ae3295f2aa6dcd17c6d7e662653cbf89d85731c6b1a10347ebfdd63e7cac9507dbe6fac62413fa7c9b498852b9f46668d902bde228c2bf03fb49a6dd1a01624f7524fcbfa41c2e0608815b75919764f8e1b763b44d62971703515dbddcb62b88852ca28f1a691c73ff756d0bfe6bbc499ffb89c17d8c684e1403ca5a1f2b550a415c9b62bbef888dacb62e1abbd6fd3600d789f87adaaac4273c0219ffff036f96c94f696c16d3b1f9c9b248586dc51661839f824e2fb383a950c2615e4c7d037793712824cf0fd214ff0cb1265c7aa3bd537381e58b133e6ef8067cb78c136503f8bc2a57cb1e7cdc68ea0ff8b0d4d069f7f6f281c3bb21d85fd8036b8c09709f03f3d2b1fd2d629b2e631fc743f109be984ef6b569260fdf3c641cd613b97719c703a15232f4a869f23f500c36833c2b0dc5a7dba07cbefcd29c9680d859cdff887403cc4e0af3838e3963a3cf1b19b159275271dd754027b8ced000a90c80da6c69400388f363d679462032ccd48cef8d2af4c9caf37ab29e668640da08ae30672d245d03dc7f36bb49ca7076a272b4983880a0800d9ab3d7315b6eda5dd86b201074bc2403859b0a6621ed19604c0b3ace2d1ca5021b690d8f5a5c944ae986a127a2db97c703a93254401c73ba330560ec641bf80bca17485a284fb8d5deaa3b0292a5f520650382c9c2c55755be154517c97b7d0c66f7ad60c51a6614da7c038ebdaff4892de505581e03f1a1ca796b9c6d34aaf6cf10538966d056b36f440b2d04f6d3acf57ad00c014713d2fafdd8c00003618b6f85b0597c27c480fe2f5c3c4deb1cb4235118c71dfd5cd155f0158dad1403dab9fb4953d473c1d541ac51973afbda9310530837b7159c7c57c6784e708d7905581e03a897146ababe75bd1698f0d0c033a10df62ae4d0974e4b091f6bf5bc700c182547139f9e4f5428eb05581e037d56f2550c3e37bb56f1bc96e7f4fa5fad7134cc5bca9de1af245368b0040105581e036f7943e5160f70c280b0fcd5121418f5bb9afd7dd55990e450f72c6ee00c02470148a195ee1f8003f13dabd8c669c8fa25b8ad0db70c32f24de5590429bab7f543902bb36ddf1fcf05581e031f76296a33e8914d49e02ac23ac7fdc42e0b880705eefec60e70fc26600c014713d2fafdd8c000045934a3608060405234801561001057600080fd5b50600436106102d65760003560e01c806388338ea411610182578063bd60b83f116100e9578063e68b0944116100a2578063f2db9dee1161007c578063f2db9dee14610699578063f2fde38b146106b9578063f682c349146106cc578063fbdb7ad3146106df57600080fd5b8063e68b094414610627578063e7768bf01461064a578063e985e9c51461065d57600080fd5b8063bd60b83f146105c6578063c87b56dd146105ce578063d011645c146105e1578063da95b76914610438578063db006a75146105f4578063df760b091461060757600080fd5b8063a22cb4651161013b578063a22cb46514610565578063a49062d414610578578063a92b6fc514610580578063aa44a39a14610467578063aefb3434146105a0578063b88d4fde146105b357600080fd5b806388338ea4146104cb57806388520dac146104eb5780638bd3ced61461050e5780638da5cb5b1461052157806395d89b41146105325780639b0df9131461053a57600080fd5b806332232aac116102415780635e387905116101fa57806370a08231116101d457806370a0823114610495578063715018a6146104a85780637641e6f3146104b05780638119c065146104c357600080fd5b80635e387905146104675780636352211e1461047a5780636867bd4a1461048d57600080fd5b806332232aac146103ff57806342842e0e146104125780634f6ccce714610425578063515c8b0f14610438578063568914121461044b5780635b151e6e1461045457600080fd5b806318160ddd1161029357806318160ddd1461039757806323b872dd146103a9578063250ea476146103bc578063265aa621146103cf5780632b180bcf146103e25780632f745c59146103ec57600080fd5b806301ffc9a7146102db578063020884141461030357806306fdde0314610323578063081812fc1461032b578063095ea7b314610356578063150b7a021461036b575b600080fd5b6102ee6102e9366004612b80565b6106ff565b60405190151581526020015b60405180910390f35b610316610311366004612b9d565b61072a565b6040516102fa9190612c06565b610316610829565b61033e610339366004612b9d565b6108bb565b6040516001600160a01b0390911681526020016102fa565b610369610364366004612c35565b6108e2565b005b61037e610379366004612ceb565b6109fc565b6040516001600160e01b031990911681526020016102fa565b6008545b6040519081526020016102fa565b6103696103b7366004612d67565b610a0d565b6103696103ca366004612b9d565b610a3e565b61039b6103dd366004612b9d565b610bed565b61039b620f424081565b61039b6103fa366004612c35565b610c0e565b61036961040d366004612b9d565b610ca4565b610369610420366004612d67565b610d34565b61039b610433366004612b9d565b610d4f565b610369610446366004612dc3565b610de2565b61039b60155481565b61039b610462366004612e0a565b610e1e565b610316610475366004612b9d565b610ec9565b61033e610488366004612b9d565b610ed4565b61039b601081565b61039b6104a3366004612e2c565b610f34565b610369610fba565b6103696104be366004612dc3565b610fce565b610369611051565b61039b6104d9366004612b9d565b600d6020526000908152604090205481565b61039b6104f9366004612b9d565b6000908152600c602052604090206001015490565b61039b61051c366004612e47565b6110a8565b600a546001600160a01b031661033e565b6103166110d0565b61039b610548366004612e47565b8051602081830181018051600e8252928201919093012091525481565b610369610573366004612e8a565b6110df565b61039b601381565b61039b61058e366004612b9d565b60009081526010602052604090205490565b61039b6105ae366004612e0a565b6110ee565b6103696105c1366004612ceb565b61111f565b61039b600a81565b6103166105dc366004612b9d565b611157565b61039b6105ef366004612b9d565b6111cb565b610369610602366004612b9d565b611216565b61039b610615366004612b9d565b6000908152600d602052604090205490565b61063a610635366004612b9d565b6113c4565b6040516102fa9493929190612ec1565b610369610658366004612e0a565b611479565b6102ee61066b366004612ef2565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61039b6106a7366004612b9d565b6000908152600f602052604090205490565b6103696106c7366004612e2c565b611799565b6103696106da366004612e0a565b61180f565b61039b6106ed366004612b9d565b600f6020526000908152604090205481565b60006001600160e01b0319821663780e9d6360e01b1480610724575061072482611905565b92915050565b60608161074e816000908152600260205260409020546001600160a01b0316151590565b8061076b57506000818152600c602052604090206003015460ff16155b1561078957604051631308ae0d60e31b815260040160405180910390fd5b6000838152600c6020526040902080546107a290612f25565b80601f01602080910402602001604051908101604052809291908181526020018280546107ce90612f25565b801561081b5780601f106107f05761010080835404028352916020019161081b565b820191906000526020600020905b8154815290600101906020018083116107fe57829003601f168201915b505050505091505b50919050565b60606000805461083890612f25565b80601f016020809104026020016040519081016040528092919081815260200182805461086490612f25565b80156108b15780601f10610886576101008083540402835291602001916108b1565b820191906000526020600020905b81548152906001019060200180831161089457829003601f168201915b5050505050905090565b60006108c682611955565b506000908152600460205260409020546001600160a01b031690565b60006108ed82610ed4565b9050806001600160a01b0316836001600160a01b03160361095f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061097b575061097b813361066b565b6109ed5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610956565b6109f783836119b4565b505050565b630a85bd0160e11b5b949350505050565b610a173382611a22565b610a335760405162461bcd60e51b815260040161095690612f59565b6109f7838383611aa0565b610a46611c11565b601354601254601454610a5a906001612fbc565b610a649190612fcf565b821115610a84576040516341a3c7a760e01b815260040160405180910390fd5b601454610a92906001612fbc565b610a9c8383612fbc565b1115610abb576040516341a3c7a760e01b815260040160405180910390fd5b6000610ac78383612fbc565b9050815b81811015610bc75760008051602061344e8339815191528054600181019091557f9c0edea247a057c4e16063140de72c14d2750a5bdea07c53ffa918662a8d7af2018190556040805160a0810182526000608082018181528252602082810182905260138385015260608301829052848252600c90529190912081518190610b539082613030565b50602082810151600183015560408084015160028401556060909301516003909201805460ff19169215159290921790915590518281527f1e929d7e2988c1e1a26286b445a3802c7eb75760e7137f543110cf0ccb19cb3c910160405180910390a180610bbf816130f0565b915050610acb565b508260126001016000828254610bdd9190612fbc565b909155506109f790506013611c6b565b60118181548110610bfd57600080fd5b600091825260209091200154905081565b6000610c1983610f34565b8210610c7b5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610956565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b806000600a821015610cc95760405163909fe6a160e01b815260040160405180910390fd5b6013821115610ceb57604051637ac8add760e01b815260040160405180910390fd5b6000828152601060205260409020548110610d1957604051632bc7640360e11b815260040160405180910390fd5b610d21611d77565b610d2a83611dd0565b6109f76001600b55565b6109f78383836040518060200160405280600081525061111f565b6000610d5a60085490565b8210610dbd5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610956565b60088281548110610dd057610dd0613109565b90600052602060002001549050919050565b8133610ded82610ed4565b6001600160a01b031614610e14576040516313ae7ef760e21b815260040160405180910390fd5b6109f78383611ffc565b60008282600a821015610e445760405163909fe6a160e01b815260040160405180910390fd5b6013821115610e6657604051637ac8add760e01b815260040160405180910390fd5b6000828152601060205260409020548110610e9457604051632bc7640360e11b815260040160405180910390fd5b6000858152601060205260409020805485908110610eb457610eb4613109565b90600052602060002001549250505092915050565b6060610724826120a5565b6000818152600260205260408120546001600160a01b0316806107245760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610956565b60006001600160a01b038216610f9e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610956565b506001600160a01b031660009081526003602052604090205490565b610fc2611c11565b610fcc6000612147565b565b8133610fd982610ed4565b6001600160a01b031614611000576040516313ae7ef760e21b815260040160405180910390fd5b61100a8383611ffc565b61101383612199565b7f055f408bc5c6d7bacc099d9cb2b83c4c6fde6fd3b196e6d18f0f59fc6c0fc363838360405161104492919061311f565b60405180910390a1505050565b611059611d77565b60136000818152601060205260008051602061344e8339815191525461109257604051632bc7640360e11b815260040160405180910390fd5b61109c6013611dd0565b5050610fcc6001600b55565b6000600e826040516110ba9190613138565b9081526020016040518091039020549050919050565b60606001805461083890612f25565b6110ea33838361223c565b5050565b6010602052816000526040600020818154811061110a57600080fd5b90600052602060002001600091509150505481565b6111293383611a22565b6111455760405162461bcd60e51b815260040161095690612f59565b6111518484848461230a565b50505050565b606061116282611955565b600061117960408051602081019091526000815290565b9050600081511161119957604051806020016040528060008152506111c4565b806111a38461233d565b6040516020016111b4929190613154565b6040516020818303038152906040525b9392505050565b6000818152600c6020526040812060030154829060ff166111ff5760405163d03ce9df60e01b815260040160405180910390fd5b50506000908152600c602052604090206002015490565b61121e611d77565b803361122982610ed4565b6001600160a01b031614611250576040516313ae7ef760e21b815260040160405180910390fd5b611259826123d0565b6000828152600c6020908152604080832060020154808452601083529083208054600181018255908452919092200183905561129481611c6b565b60006112a1826002613267565b905080601560008282546112b59190612fcf565b909155506112c69050333086610d34565b6001600160a01b037f000000000000000000000000ea7b7dc089c9a4a916b5a7a37617f59fd54e37e41663a9059cbb33611303620f424085613273565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561134e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611372919061328a565b5060408051838152602081018690529081018290527f70d4d13dc6a7ecab4daf04ef8818b27210ec56ba0fa05d767b00f95c3080df919060600160405180910390a15050506113c16001600b55565b50565b600c602052600090815260409020805481906113df90612f25565b80601f016020809104026020016040519081016040528092919081815260200182805461140b90612f25565b80156114585780601f1061142d57610100808354040283529160200191611458565b820191906000526020600020905b81548152906001019060200180831161143b57829003601f168201915b50505050600183015460028401546003909401549293909290915060ff1684565b816000600a82101561149e5760405163909fe6a160e01b815260040160405180910390fd5b60138211156114c057604051637ac8add760e01b815260040160405180910390fd5b60008281526010602052604090205481106114ee57604051632bc7640360e11b815260040160405180910390fd5b8383111561150f5760405163cea1042360e01b815260040160405180910390fd5b8260000361152f57604051629d330160e31b815260040160405180910390fd5b600061153b8486612fcf565b9050600a81101561155f576040516349b6be5960e11b815260040160405180910390fd5b600061156c856002613267565b6000838152601060208190526040909120549192509061158d908390612fbc565b11156115ab5760405162588ce360e81b815260040160405180910390fd5b60008681526010602052604081208054909190829082906115ce576115ce613109565b9060005260206000200154905081600183805490506115ed9190612fcf565b815481106115fd576115fd613109565b90600052602060002001548260008154811061161b5761161b613109565b906000526020600020018190555081805480611639576116396132a7565b6001900381819060005260206000200160009055905561165888611c6b565b6000818152600c602052604090206003015460ff161561167b5761167b81612199565b6000836116888184613273565b6116929190612fbc565b905060006116a08584613273565b90505b8181101561174c576000868152601060209081526040808320805460018101825590845282842001849055805160a0810182526080810184815281528083018490528082018a905260608101849052848452600c9092529091208151819061170b9082613030565b5060208201516001820155604082015160028201556060909101516003909101805460ff191691151591909117905580611744816130f0565b9150506116a3565b5060408051838152602081018b90529081018990527fd2baea580be49f4686f9010fd8d18c763f89350bdfac59a3479b37b9e5a355b59060600160405180910390a1505050505050505050565b6117a1611c11565b6001600160a01b0381166118065760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610956565b6113c181612147565b813361181a82610ed4565b6001600160a01b031614611841576040516313ae7ef760e21b815260040160405180910390fd5b61184a836123d0565b81156109f7576000838152600c602052604090206001810183905560028082015461187491613267565b6000848152600d602052604081208054909190611892908490612fbc565b925050819055507feeac879960dabc89f36df08da42d5d46e6b6d210be7a7bb8a20334805621ddc28484836002015460026118cd9190613267565b6000878152600d602090815260409182902054825195865290850193909352830152606082015260800160405180910390a150505050565b60006001600160e01b031982166380ac58cd60e01b148061193657506001600160e01b03198216635b5e139f60e01b145b8061072457506301ffc9a760e01b6001600160e01b0319831614610724565b6000818152600260205260409020546001600160a01b03166113c15760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610956565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906119e982610ed4565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611a2e83610ed4565b9050806001600160a01b0316846001600160a01b03161480611a7557506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b80610a055750836001600160a01b0316611a8e846108bb565b6001600160a01b031614949350505050565b826001600160a01b0316611ab382610ed4565b6001600160a01b031614611ad95760405162461bcd60e51b8152600401610956906132bd565b6001600160a01b038216611b3b5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610956565b611b48838383600161249c565b826001600160a01b0316611b5b82610ed4565b6001600160a01b031614611b815760405162461bcd60e51b8152600401610956906132bd565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600a546001600160a01b03163314610fcc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610956565b601381036113c1576013600052601060205260008051602061344e8339815191525415611d4557601154600003611ceb5760136000908152601060205260008051602061344e833981519152805460119290611cc957611cc9613109565b6000918252602080832090910154835460018101855593835291209091015550565b60136000908152601060205260008051602061344e8339815191528054909190611d1757611d17613109565b90600052602060002001546011600081548110611d3657611d36613109565b60009182526020909120015550565b601154156113c1576011805480611d5e57611d5e6132a7565b6001900381819060005260206000200160009055905550565b6002600b5403611dc95760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610956565b6002600b55565b6000611ddd826002613267565b90508060156000828254611df19190612fbc565b90915550506000828152601060205260408120805490919082908290611e1957611e19613109565b906000526020600020015490508160018380549050611e389190612fcf565b81548110611e4857611e48613109565b906000526020600020015482600081548110611e6657611e66613109565b906000526020600020018190555081805480611e8457611e846132a7565b60019003818190600052602060002001600090559055611ea384611c6b565b6000818152600c60205260409020600381015460ff1615611ede57611ed93033846040518060200160405280600081525061230a565b611efd565b60038101805460ff19166001179055611efd611ef73390565b836125d0565b6001600160a01b037f000000000000000000000000ea7b7dc089c9a4a916b5a7a37617f59fd54e37e4166323b872dd3330611f3b620f424089613273565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015611f8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb3919061328a565b5060408051838152602081018790529081018590527f92d941e0c114cd4379ba1e7d068a433f9e84070e2bd5213006935001f2720c3c9060600160405180910390a15050505050565b612005826123d0565b6000828152600c602052604090208061201e8382613030565b5060028082015461202e91613267565b600e8360405161203e9190613138565b9081526020016040518091039020600082825461205b9190612fbc565b925050819055507f14b4ef292c892a7b5ff4d146f58129326fdbf19e0723ba2696e147441cc68f488383836002015460026120969190613267565b60405161104493929190613302565b6000818152600c602052604090208054606091906120c290612f25565b80601f01602080910402602001604051908101604052809291908181526020018280546120ee90612f25565b801561213b5780601f106121105761010080835404028352916020019161213b565b820191906000526020600020905b81548152906001019060200180831161211e57829003601f168201915b50505050509050919050565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006121a482610ed4565b90506121b481600084600161249c565b6121bd82610ed4565b600083815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0385168085526003845282852080546000190190558785526002909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b816001600160a01b0316836001600160a01b03160361229d5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610956565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612315848484611aa0565b612321848484846125ea565b6111515760405162461bcd60e51b81526004016109569061332b565b6060600061234a836126e8565b600101905060008167ffffffffffffffff81111561236a5761236a612c5f565b6040519080825280601f01601f191660200182016040528015612394576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461239e57509392505050565b6000818152600c60209081526040808320600f9092529091204290556001810154156124355760028082015461240591613267565b60018201546000908152600d602052604081208054909190612428908490612fcf565b9091555050600060018201555b600081600001805461244690612f25565b905011156110ea5760028082015461245d91613267565b604051600e9061246e90849061337d565b9081526020016040518091039020600082825461248b9190612fcf565b909155506110ea9050816000612b1c565b600181111561250b5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610956565b816001600160a01b0385166125675761256281600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b61258a565b836001600160a01b0316856001600160a01b03161461258a5761258a85826127c0565b6001600160a01b0384166125a6576125a18161285d565b6125c9565b846001600160a01b0316846001600160a01b0316146125c9576125c9848261290c565b5050505050565b6110ea828260405180602001604052806000815250612950565b60006001600160a01b0384163b156126e057604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061262e9033908990889088906004016133f3565b6020604051808303816000875af1925050508015612669575060408051601f3d908101601f1916820190925261266691810190613430565b60015b6126c6573d808015612697576040519150601f19603f3d011682016040523d82523d6000602084013e61269c565b606091505b5080516000036126be5760405162461bcd60e51b81526004016109569061332b565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610a05565b506001610a05565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106127275772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612753576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061277157662386f26fc10000830492506010015b6305f5e1008310612789576305f5e100830492506008015b612710831061279d57612710830492506004015b606483106127af576064830492506002015b600a83106107245760010192915050565b600060016127cd84610f34565b6127d79190612fcf565b60008381526007602052604090205490915080821461282a576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061286f90600190612fcf565b6000838152600960205260408120546008805493945090928490811061289757612897613109565b9060005260206000200154905080600883815481106128b8576128b8613109565b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806128f0576128f06132a7565b6001900381819060005260206000200160009055905550505050565b600061291783610f34565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b61295a8383612983565b61296760008484846125ea565b6109f75760405162461bcd60e51b81526004016109569061332b565b6001600160a01b0382166129d95760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610956565b6000818152600260205260409020546001600160a01b031615612a3e5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610956565b612a4c60008383600161249c565b6000818152600260205260409020546001600160a01b031615612ab15760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610956565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b508054612b2890612f25565b6000825580601f10612b38575050565b601f0160209004906000526020600020908101906113c191905b80821115612b665760008155600101612b52565b5090565b6001600160e01b0319811681146113c157600080fd5b600060208284031215612b9257600080fd5b81356111c481612b6a565b600060208284031215612baf57600080fd5b5035919050565b60005b83811015612bd1578181015183820152602001612bb9565b50506000910152565b60008151808452612bf2816020860160208601612bb6565b601f01601f19169290920160200192915050565b6020815260006111c46020830184612bda565b80356001600160a01b0381168114612c3057600080fd5b919050565b60008060408385031215612c4857600080fd5b612c5183612c19565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115612c9057612c90612c5f565b604051601f8501601f19908116603f01168101908282118183101715612cb857612cb8612c5f565b81604052809350858152868686011115612cd157600080fd5b858560208301376000602087830101525050509392505050565b60008060008060808587031215612d0157600080fd5b612d0a85612c19565b9350612d1860208601612c19565b925060408501359150606085013567ffffffffffffffff811115612d3b57600080fd5b8501601f81018713612d4c57600080fd5b612d5b87823560208401612c75565b91505092959194509250565b600080600060608486031215612d7c57600080fd5b612d8584612c19565b9250612d9360208501612c19565b9150604084013590509250925092565b600082601f830112612db457600080fd5b6111c483833560208501612c75565b60008060408385031215612dd657600080fd5b82359150602083013567ffffffffffffffff811115612df457600080fd5b612e0085828601612da3565b9150509250929050565b60008060408385031215612e1d57600080fd5b50508035926020909101359150565b600060208284031215612e3e57600080fd5b6111c482612c19565b600060208284031215612e5957600080fd5b813567ffffffffffffffff811115612e7057600080fd5b610a0584828501612da3565b80151581146113c157600080fd5b60008060408385031215612e9d57600080fd5b612ea683612c19565b91506020830135612eb681612e7c565b809150509250929050565b608081526000612ed46080830187612bda565b60208301959095525060408101929092521515606090910152919050565b60008060408385031215612f0557600080fd5b612f0e83612c19565b9150612f1c60208401612c19565b90509250929050565b600181811c90821680612f3957607f821691505b60208210810361082357634e487b7160e01b600052602260045260246000fd5b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561072457610724612fa6565b8181038181111561072457610724612fa6565b601f8211156109f757600081815260208120601f850160051c810160208610156130095750805b601f850160051c820191505b8181101561302857828155600101613015565b505050505050565b815167ffffffffffffffff81111561304a5761304a612c5f565b61305e816130588454612f25565b84612fe2565b602080601f831160018114613093576000841561307b5750858301515b600019600386901b1c1916600185901b178555613028565b600085815260208120601f198616915b828110156130c2578886015182559484019460019091019084016130a3565b50858210156130e05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161310257613102612fa6565b5060010190565b634e487b7160e01b600052603260045260246000fd5b828152604060208201526000610a056040830184612bda565b6000825161314a818460208701612bb6565b9190910192915050565b60008351613166818460208801612bb6565b83519083019061317a818360208801612bb6565b01949350505050565b600181815b808511156131be5781600019048211156131a4576131a4612fa6565b808516156131b157918102915b93841c9390800290613188565b509250929050565b6000826131d557506001610724565b816131e257506000610724565b81600181146131f857600281146132025761321e565b6001915050610724565b60ff84111561321357613213612fa6565b50506001821b610724565b5060208310610133831016604e8410600b8410161715613241575081810a610724565b61324b8383613183565b806000190482111561325f5761325f612fa6565b029392505050565b60006111c483836131c6565b808202811582820484141761072457610724612fa6565b60006020828403121561329c57600080fd5b81516111c481612e7c565b634e487b7160e01b600052603160045260246000fd5b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b83815260606020820152600061331b6060830185612bda565b9050826040830152949350505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b600080835461338b81612f25565b600182811680156133a357600181146133b8576133e7565b60ff19841687528215158302870194506133e7565b8760005260208060002060005b858110156133de5781548a8201529084019082016133c5565b50505082870194505b50929695505050505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061342690830184612bda565b9695505050505050565b60006020828403121561344257600080fd5b81516111c481612b6a56feab6e88ec9844f266cae57004e7e0869495b951c20b7a4491e795bfa666c3d029a2646970667358221220ae3a52bb365b57a9701d4c99e3eab320f8649285c9c91061cffb5be310b77c9c64736f6c634300081300330338c972c4352f76c7fd206832febeef9c35c51c8530ab541988f66363541de38203d7b6166512ec8a5885f7206721b6c9c826fd768332eb141d5c19e77fff40973303605c86039d48560a4a8b19021d62defaf1c05d880d8a7feada4962086f552b600331bf5890ac288049dd9a023eb7514e1ef9c02425eb5ee1007d0fdb91c1da20430346e4b6c5e32f12c8625be95ada634ae60b4d61378ee955ce5a2dc3953894fad701410700581f0244d8a9967eb5c220de6f4dd0d1d7c0ba0775b1e82766ee7cae90b892b9f4410100581f02f6ba411b340886abc233a0d56e16476f7293396c92eb96bb5410b3e741ba42022100581f026ad7e17f915f881419a98ea801f1efadc334b496dda4ddf14f7ecb5f8006448000151200581f02e047559d3d537e3b876be875cc26064b3c415acdae6a5a85ee8681e86f22410b021920310322266fff3df320aeb658ec168d7be33613d5d9c3f6bc9e34a03be776d664ab560348d884189f9430ddd39306998d0da891abfa6a5bb54529ed4374e4e9bf4eb62e0317375152178cbf8dc57eaf0529914ac83e0651f33b4358a2477d8a92d2fcbe62038c876ad166c05a66be730da0785ba9151adb032a4fa5bd920c8f82430d8d171c033021565aa4e7b254032a628f48140125763848cef69f3e8af90911b22956f29d0380870a0603f6b749ee23515920d28fec93849fb8f119b6ade7640997eb4adef0005820039a8959c1e9ebfa885d53f3f9868a6063e854cb59b35ec2de46605186a8e230410d0219de6903d5017be19980882eab97bfaccf77c4cc2578f741cbf87c4be0e1aced6d8c5e5100581f023da8d2843cc08fbb3d6a6bc769454f0b1cb008f44a132ba5ae074c55c046410300581f02c01053c52c81fe6c4c67415157c471677dadd8b76e2f5d067b021cd0ad9b410a00581f02d24c7336b93a62f95facd659f60c79de222f4ccb30ed085a64ea123ce4dd410b00581f02c9848cb3e4ca3ab6d5544e82fee5177a39222d35bcc8f907231fc22c63de45040000c4ba00581f02e1e8b96a0f8fb2370faa129fe1d9e7f32085bf1b24b7e9bff7fa75cdd6d3446685deaf02185703fa18cfe2a9403cdec2eda849183511215012cd41415c64f35046d23210da0ec500582003a4cc74d31a68cee4533a1d3a0ece3fe76b501cc5ce1efee7b2187d695741b0410b03042a0644c5e8705f8fcd68fed84783e5b728158ac111158bc7cb4959eead382a039b4911118de18eb019311f8c7c8dd51d20704f2af7c774f2330a72e99765e1f503b49ea6b2bd1316b75aee492d46fb83efeb2504b01f5c446bf43a096e234fee9203775e07f9353c33363a22c90be0d4d4fe432b19a8cb2aba2c067b9fd1e9dedd7c0058200339a31bf4f65d5b131e7be3c885e8d7d1ffc22e10a5ffcb39088abd79035c20544bfba79cf232361a53eddd17c67c6c77a6f0037903ddd3a062ee82a22c03a0f1fca426c2d8c9c4ebc70f8ff13e75611cea71bd7b4d035c92e98169d5c729f22284108f8da676c14344341e01732651aeb2d5615c35a403a699a921bef84e00c84e0187efa641237ea076cf21b7338c3a2d0f942575b07000582003a3c96f51f53377dd2c01eeb1af634601102781a0d2a47b269103b6fc182d404201b40219efee03a9ffe7caabee4a83ceea3612d1acd9b917cb79ec107af72f9b93eba51e03ebde0303bfd0b6e694c37de0b1899d80bf5ea0091329cc7fcb9ff512a61817a938645a0359c8a5d88bf0711391d5615c09040fa5e2bb46c3f4bbb6ac10bf6805ab878046032660df7bdbb12f4185576d30dd231910c10a03d9a5854f4d42be0e61d71a6de0032f97b2794c78e3bc45146bb6197724e847240ded528f23a9d7aa0c1f3e38f39e03720d3e6559a60ab4314ba6133e73689d1d0ca83a76124a08654391f1cf743f77030c174929529a2a186a73913b67cddaefe5a74b6219f77bd865135d660bf1bf5f0352b123868505de4e20c5a93cd3551ae2510363111b2c9de5c4fc589e6a494a540370c0af2424d0b5f497494ee1efc6de62b0683e78248d41b57393d36429af99bd0326dede7b7b68e522e93e4a251e91fdbc241e49ad2fc6d74d3bb655bc3bc6dd8d005820036e697f76c3055d6f00d221d101951f87ca1ded02e916483abb0f9a61ad3f50446683ac4703cd157ef303f76d2a1282c914cdf0e4f328e8840c86652c6c643bc17a5f42541800581f02928dbe7eaa8f7335719bec2cbd1c9536a47ad475023bd3934ed4988c5c5645040000a9be00581f02000be82f4a9cb573b28c54b8db3e03e27ec0dbbe4d21b47f1bdc64bca3a1544bfba79cf232361a53eddd17c67c6c77a6f003790219400100582003e993fda61461b9cff4edec9237aa750358c6b4687f0f96172586a1d3cf12f04201b803876c1dbf1d63d6ac2786e9b5ac0f7e9744ca3d5a9c424094bd7f44fde6f7009903c3f73492f6b4193f7eafbf654999c5a114c445d4f737092d3e880ff5ffd458ea00581f021cdac7b339922e2a307425139f8fae8f86bedddb52eade34bf11b7b14b34544bfba79cf232361a53eddd17c67c6c77a6f0037900581f0254c0bc37dc7d7b9a4d4ee80a9186d35034181284516472420bfa54f16bd3544bfba79cf232361a53eddd17c67c6c77a6f003790219900000582003d2024aa9e6d6f345a0184fac07414ef0c8d639351aaf31612ab556064a6f404115005820030d80665df5bbd4626cc5d12bbcae451c576c43505501b80a313751a7af620045040000a8f20325c042e522fddd1ba41e9f4bf1d55082c71e50351389fda9ac614dac1052027303866737c723f831bd990f5be1d3bcd6cd533d9f8a81f5386e0c7e39b6f08735ef0219eff6037315a7583b88c7f90ae0cbc23239d1eac21125fe0118f13ba9580c67172cc8ae0058200376f5417fed6f5952e584ca05e4341d80c52e5a9df20c79728ae3784618d750544bfba79cf232361a53eddd17c67c6c77a6f00379005820032c2ab4c8bb3e4bf5e9f343f2b7908462428a97a41bda157d3d3da1e31bf080417b0336a9e3ed13218ae6e19410ac1b610d5b0509f56dfbcc748e14d9039d0e7bbf47036d4a544ff7cade6f9511574753bdf2e8e4462b2e4a345c785090b4e2fd24cade03bc3896d5f2b504641ff0fd9ff9ed4dfc64e94931cfb7d0c7fc8085e729a6fbf100582003e5f11e2e7c6d50493be6c8dd9096cad3f28d74e962c91d192288a13a44e6b0410a03c3add0cd7ec8b3342e7db551e0146d719fe023738c7220db89d93b8f067647d903ec4abc483872e8100646b3398793cb749276cba62161de6ea3cfa32bbe08f0ff005820031dbbc973c9d7b6c0afa9437a7be19182c25127fed4c4eeb1a2580a71fd8eb045040000a057005820034c522f284a0b036f2b9d2a42800f148bef78623fabf6466fc57304c1f0554047100040000126af0058200340102ef9182195a3ba97a327c48a4d748074a9aadace8d0a34d29d2bb9ee40470800200000df1103710c696615e049a820db9bc0252755c25058159700ca8ff52402de28f897561e034f1723100aed871deecb5681570e0d3eb54b520a330781a86304915dd8777bdc005820038f1bf6d7cbd68f556633394ab9f480eb1fb862072124242e9008b594c7ebc0544bfba79cf232361a53eddd17c67c6c77a6f003790219febf0219ffff035d9da6d241217e0a3404353089e3f6ada804716003c7a4ed8efc9d2b5adbbec9033b130c55cf5d38284a03c1b9043459dbbe917151333cf932ec1b6cec71dd5dba03100dac2e7402242ad27a4403536b46048ff394ed59b32528f73cc64f42e1511000582003f5f711f40ba42b212245be92ac69f8ff372ec4034e5b95a88fddeec8a0b300410b00581f02bf9e49471dbb41828800db9d14fa0351cae41cdd9f894159fab364b1e48c44667259e700581f02ba012e2431f6244a152fb8820237e5ab7c8a9e996980e0b2e12798b61a224201cb0219440000582003a148fc651c0e65598a7d8be59214e164ad17fb0a089453c6da8de0983c3db0411803ffc3699cc531bde902d8f40901398f5c772d306a958e69f320d8991f790cd6d701410b0393f9f673d07d5ab0b62c3e8b6b70474cfac6cb553d3ae02ead9071119c0ad26b0375f15dd0bbef7b5333024e55349a80b748e00053a591fa05e6a7a24b70154c67005820037a315bf20a192cf5b22fa2fb6f86fc6c458d04e99170f3850d11cf4a36c2b042014403ba5768efc8da3370c928746eaf6bbb225dd951e50ff21b1fb037858ecf35ff63037e311833240ca45de3d230c5bea0e70f2061e53edee7362d03412425fda001fa03fdd309bcd4edc70c23ba119fe4657c329257e92dace33722c2957fdc020b7a3d005820039025f4aa4d95b4b9d4b1dbb74c9ddb32c8de58faae9bc687b60315af8587e045020000625e00582003ef674f09c1f85ed8e2245b931c928432a3b52595be086e9122a872a4e25ea0410a03ca1eb4373b49866d8bb9238ab6533642d5b6d8afa0d29407d47dba1c5ae9298a0319d0cd78b541000d69791f512aa2824c7e7fa0ea314da3f1474a83e16aa5672f0219fefd03338656c3a57261db68d1849c062a6f00bae25ca5f3b784b7f587ef2b741ede8703489318596ae31b77d7d8ff2c89853f380ef1469925be7291a0066a07b48e4ce103b194a0be180cb22c5cebf567cbf5898614ca89b110b692eb30c3101ed8e6a0360306347203fedafe86f41a810e890111fa26e444beac1fbcbcaf08db44e02f21ee035411e98ce6e79b54e1196563e73245e29dad29349f498bef219ccc4ab0867f9c03d06881170f12d47322adf8f5e816602f39a074facf2c9a1fb85cde18e13c4a8a0397a85fa80e8cf678162773b9040b57be2a36fd9543419aa45d022f8264d4b8f003f99a348add8a56a124f87fb34333f7140e79267488de952fb3eeba8c43fa939a03e64083d8fa8ec7b8dbbb5915a55e9f249fa65ccf4f4b3995816e5d8b1110857a034948d497a2fce18f79e3f20a4300cad7a6e867db68796341bb250ecd0ec4dfed00582003d46414c60d4581911f0ca3f405366c37921742f263799e755f0c884fbf620044668643b30377a1ca7abc90bec2e46298d03c7ce780a831584ad2d0cbfee903fe27f5ebfc7f037cc9bbaa8bf8ef1b2d3e996b4da144b6027c63cdfbd9a0dc9da863f9b52deb4703f86106f4b86589493771f20a8e4dcd00344a3cf910dfe567c8a060c4b062dbc700582003d5cb433fd192e99e6eca899423efc066e4cf6ca01a734d702fce643c32cf20450800018dcf03047b54f7e4684264d0969967f32c9f183891d18b2d5c6734ba2f63a08e3fca4403af6b0224c4582bc6c79ab4025b02e30bbb80b8d7b9eb2dc8a7c11873e0839e500058200319356c330f1355f7d2c86ccc3e78b8c24fa33731bfaaf6f4f7ee21b8b0b9d0471000400001272f03b3c50580c54f5f3502f8f764413ae89df566fdc83554d14e4659340f35d1cd960365a821ef0db91ef15bfb30ee833a8730ba47d5e4277e2b5162ae2a0f446793f203efffc51e19467f74f03818e493c43f5d9e5a1e0b66322bf82776487b84767b360307db9e1e2a68f29a78b7e829e5994e6c7d5cb7b826627f4f717cf492d73c716d0058200323949ca4998833393aadd4ac6538772722f483b1db094f278667276334077041010219fdff03289ecdac106e12334f99a2c93152117ac0211368c0aac122aa818fda67389d5d031c5792deb3416303bdc2c2f75b9b1b74d7c7941570606a46d74d77506e9e08ee0349f3275a2df639ce0e9b20441ad4991d056f835a4133fcf65a1314ff8a5f1fa303b6b577efa65930ad6447907e43bb36fbbdb2ef16673d5a405ad12b95a7f8dbdf038cf166f3471a5acd9170f8a49b7ee483a993bba4ac60c10f15603cbf9908fbf303085cd7cfb56cd7d6805792fd285df66bd883bd498d60850854f5b00e9da6a4ce0219ffff03765a9c06b014a83d87eda002d039dd07679d8007741efcc23d814e06d176c683032671c27e3e0f6c927f0cd03faf60720ebbc8158ef4bdac7b4140b4b3a897354503dbf4bfa6be301c4075c2565e0527327d23bf88c7428aa8b26ad7f53f0a9babf8038044aa71d2dfc2c20859138eeab9ff826631fca415d03a436a71189a2768c3fc03ecdc845bcd0e85d1a8d30ef0f9a50c8829a98d1b9e6f956d841effe03321686f035ccfc90efbbbd37376038e42011f9fa1dbe5660f3fb0a2fa5a22a0e0be92710f031ea97e35c665ca78fe49c470b1483db795dcf40303d140a54a5e047111dbc24703d1ad1636c1dc9df7616202959e90922208368cebe9be2e3138b479c5cbed5869005820035c426049e13280971b0bc3264262e369b747cf4391756e9045cebd2015f5904202c903373d96db0d4e39369c83094a87f4aa6883b935689f484976b14b51883774320300582003f9b28943dc35fb70e729e16eb30925aa254e4806625c97cf9a0d66438d8b204440000c4103d3bd034646677797134bf40d5d101c26e5102dc776756bf007eb28cbbccdd46f0058200394de78526f565a37fa9576e0bc17e4f067eb81e565c2e86b4d3e221fba7830544bfba79cf232361a53eddd17c67c6c77a6f003790337222060e84e8679edf00d64cc13b66a74850a6d1195dd2a52a9c7ca8b194cc9034059637d2d2bc983a07edaa883f183fd248cd45068a87c4a752d58b35ebf46f80323fe9577090e76e75b81cc5f2191c9c01d73b78a65f159ce1e1112d433aae53300582003dea51bed7f4f54158792880072f6f9bf611bd20fbb17a356d3ac1177f357e0470800200000292a0361bcfc2a532ad1e24da661addf84fa50f471568010f21811698f89265ca7a28003fcaf780017c0042ade57006c401b2dbe7760b175b12d4921c11ff54a97c03f1900582003024695bbbbb0a61aec303ce2758b11215c4a4808f3a3e50609eaee64f3f1d0544bfba79cf232361a53eddd17c67c6c77a6f0037903a08fe96db88ad6bb291113256cc445f3e435b1b318ffc998bcdb502c83a3da1c03c2d11ea9b8064f29b556d83d5f8008d467755e87823a746e7d2c6166df1bf8700219ffbb03ecf68b2d13dd100dd9e6335ebff8c654301708854049224c4bca7a33710ebeea035d3b1b8eb442367a7205caa7f5ff3d0e2c648d69cef8d77f9371c22f78accb0b032e77cb7ccbc7509c02d6308a78491a515f91497c1e03fb6e3ce70c714b968d18038ba5c3f6e7f4f84a722e1996fe8ef3ad73e56719a7b1e945fbdbc6dcbf66350f034477d61670d7d4e530eb9c5812690f7f2b3827b5bd0f55a2f884f4dfadfea83b0373e5fd846388029af5d57bb8c90ad40f071dc5a40d5f649faa20fcf0ead1f5df03dfa874fdd73762e299b91d7849e547749cd45541eb7e5fc5519a6e9d214075150219ffff0348df07e5d7bd2463160f4d1b20166647c37f9fa2044bb4c58864bb77cfc8e0e903085030847cc0d8756e7553af5abdb9196b9a7de7ea1c64ff70376a65b889a77903607e834f277f1b387d03f7e531836b88d8a042f8b1364090d95fd7f88b045b3b03448b97d1bcd1493b3576cc027a4bba31e4038fad6acaa861944e0a266b9f2d2a035eda82c67094a088f27e54b24a75ccf05a39f04978d598644dc5de26b07eca9c03025abfff64321a3115c3a8b81986c8c105c27dd1db40f953ff2f11aed122da4603ae25dde69125bbffaaa7ca61211a1002c394c973ba407fbd429b74ea349a18dc03bc0515054ff4f43bafa88a1904b7ac27f6918b1f32b808c1ed2db2797d6c39ae03b0587f4a9a36750e689060e8039b258c13f25c0abd58912c23796575ce39e5440386642b8f36bd2eb9cf08f104fd284d53abede2216bd345e86498e7099793762503fd77049d29731175b6547b4e4fa259344e4f63b6bd2182180c5a934efb5ace02005820036690c64cf0f4b4d2e12d79aefea70f70ebe22cbf0103fa72da8a7e5a3a9ee04201b203dc6feaeae36dde4f3c564d5a23e8acbc864bec0fa2f0e0125f68fdaefb541f03005820030fb638abd74a1342e64b57c34c38af13260a23c8d0e9eaa0774e4cbdd7fa90410a03c89074cd486ac50e4bdac80d41907bc0a0339b5f64bb4ba722dc0f06ca70887b00581f026291b5bb7522c6201e22a7aad3f83c249274f5600e0547690d6c4a05b22f410b00581f0267bcfd2c3e9060344d59303cf67565a43f3f7e2ffd1d67a2a3cb034ccd7442029300581f0298ae5a4028279f1fa6d139d0c2a009b6c9d15f3e4ea245e082b8b62abed244665af413021932000334d403fc65027c1684b1ee0f0b39ce546ec5dcd5bd1ac5eaeefefff3f0685f6e00582003e482cf2ade94644e36fb0b16c97cab1ca3ff1faa2c5dcbbce306065460925047080020000045240384aae8c87bf272508ac98375f256ad508624a0f95e53d6c7d80a2aecc33c46a8036d3a7168d08b75370dc58faec95ad26fdad9e23075704fc7e62dfb1a35751db900582003d4778b5f345399bf1303d67a089de1d9053a144cf565c226a6730824a7fc9042019c0352ebd6f91d9f646b14e1b98bf9bdcc3e71b91ce48c650f94cbe160e1ff84e68b03e61fd679a8a22c456f4869fbe716d89b86aa55b359885de9cb88c07bc78f66b70344df42169a728dc217c296cf84b6e23f99549caccd4f4313212dd58bb0e4bad400582003d00bccf879e74b3f76a7dd335f6e3e742da3489f311cad13df925d73b240d045040000a70503cd624732095a8b922f5ecb6e0f0342a787ebf35504e402fc1f3e4c33708e71920219bfff03a9114c94153b6ce24e06c7ca8734fecd951d204242d29b49480860f1996b3ec1037221ebb99b18a826be1d4838e5642c20b78d97c027966fab10f05faf8659c7e103b07617b4839aa51e67e3bb185d7f8da641f451e89dd21ca07b48ec59a29c764903dece3c39d34213da705c4a081feb5d9f9f7815ed23bec839c772c22b53f3aa940219ffff037d0c851caa3d2b0b09eb131006a17dc07b9a2fb568153ed4444626ef8b1b6f50034af6874e0b6cad418b454fd6fda11347e1a69fbfa8c3d404f36c97923321b10a03e961f8bf8417d0c7cc355b058b735389920db1f8d38e08e4dc7fde9d7f640cc903d4146e146f4b7c9df6f8e94e65681dc25d411907f2da1ecda84a89ee52d0d2ab036b11a6ba375e6d21702fabcf5cbc317cbcbb290a24bcce0e12a729976834b6690348511e7e2595536011c1e114cd4b02cb05e84538a834b682c36bbe23b139cb6603c5e925d5c8873ef11a6e34d4e04e7084df6902635a00fdc972f5abaf04abbc6f034f6a1b957058139d07ba8724d2b68171835b76c7bb69711f0f519bc66246491c03553b86d6765cd8ea4c6c5a4084d4393cae5afe760ffec0f632e97a8fde1e84d40307d763551ed12b9b5158762d73ded955db1f71a6ba5728773bd3b7426f3d3c04037c8ceeecb5aa638554d07a71484b9bfbe525dc58f0d7e05c45ea72e7b255ffe303ea56aae4fae356ca10874ea17bdc45b5e5060cc314e5067605614389b15530ed030c65eb3e3f4ecfcfc0b99566bd0ed07df81a60427fa244c4cbde335a208a01a1030319e372f3cc09c43ad621adc82241f8a2500b1d649e69dfe905ae2d8bade82d03a17e4b21ffd09d66de45742b6e59491b1f511ad2037d045fed8c3d516f0be3a900582003d1cb567b29cf72d95e200a79cb5a22c463ad15c2a0aaba399f9c15d66b9f90410a0315dc7c9992bd2d5b7049260bd373192eca25ee4a395e75edc144e744925a7b66005820039a991e8616d2ba44cbef43ecf7a27f009a29d35d16ce2d429473ad323d4dd042040003c66d3935fc70696b204dbeaf1e21ae201230c27765b7996d4a4b1952f0c71cdf035f46855467d87831c9ba9af35a1f3898da3106aa328a00752f9ea6d276ac733c005820035610f9d19a0c4ef49549daa880eb47974202185bf046a09135e5e147430420410100581f02a27251d84c3389f6f7cc20d2b07466c086304dfa6e5a0f89e354aa3c81d042024c00581f022ae3b768d989c4dd500436c1a12b43fd65a926522a8ff487d88a048b7dce47100040000126f600581f0258845c7a5ddfd7970f479f045ac0c0dd68207cab7de383bcd65266970bd942019700581f027dfedab9aa867e8e90dc65e42578db94ce5ae6a3671f42f38c88733ced784440000c6700581f02ad78ce6b25c23f2084cc61e14e8388d0d55016c2a5b67cefd94a00ee8cce413102194b0203ffbc95678b914dd3e693fde65cb31c7efac637a6f08fd8adf83c748af67a6e7f03e93533ee5288b2bf0a048c8b5188bee912caf659b26237377ba968e7fc92e50203000a98664076e761589b184c2a4407e49c533e5e556230c2eefc9abef76a8d2800582003a3ee44819e2dc5b98e0f5aca56de9fdce8ad7316087154970823efa43a584047100040000126f903081ce5290fa08abc67227bf157d303875ad4a897c66cd7078b0c47aff0c70994033974f46a54f8c1924435c85d83db1cb727b81f22d33a9fb625c35d6c50bcbc9b0219efbf03e4cfa2665111cd2a893027ae91279cfcf4b61cc80e8e050d9635100b69f282d103b29b138adce55fa481a1f8aa6d627162ee63d9232c656bcd43831b23c622d6c70219ffff037d759b88d2cbe1363acdbc841a7fd7f458b95614cc83156ad72a4d4c919160fa03a0a1c9b8cfb21a5fb87f73af6482117751ca5e55f5b4706dc951d17aef18e8cf03bd414ae47f1642c65ea1422bce6864c9e08c3f80d8bef912cb12659cc5727ddd0306d12209e0c0a593fe5c3ceef4c9cc710b300ef3d757fc94286b3c4f67a504ac03f0aac5201920cf091a9cd19f90defe464f66433ad495b2b34b062174e5b42ddb037d1bec2e13278b884616102bb66c4121d602d1fcbd857dcacd98db31d063ab930058200337dae382fe40eb070c29ad25170acca34e69c3419a3fae020794906cd7e32041f3033221666a8c87bc6a554b36cd7564dc0c3e40123a65f37f33434c2a744c0f8d1303bd1b776be8b906e12589e505fa904ed669c95bfc88e416556c2e873e396f41c603c2c648ea4041893a172364976dfc36e0e0f837bbe1f03f61170c14497bb32c350058200393a834e2bcf0a034b1c3958f0404906a961dfbb8e72fef55ae079c4761c4a04204000351e081e5099339b0898b0a05a9088d30ea125998167f0bd683537b3fcb73dec3037321eb12c8aa7233591a202ad6f5ab47bf45a263edb1ee5643937101c3ccff2503de95754c7a36cef2336e79b431c0cc983e979bcd1b952972ca4b1790662c908400581f02ddee71de921479dd435cba7c01a0d265f513b748fa24bf7f8c9e8da4e8e342013f00581f02280bd7a95f0de35c5c5daf5a2440fac8fcda5cb5a610ea0abe1352d9d7cc45040000c54b02194020005820034a367b88717fdfc662fee46350f3747aea84d2f34f3694b30850d0f761b3704101021977fe03ff6d5fd27bc7f4136f820b231ca5600683b157b911320466f86c16a73e3f9870031c928784e57dec36fecc324276dd6eea1f3309909e762577300baec41846fc740369ae80268dbc37c82a05a3f13826fc996fd842c64091ee80e799db5fd079de4603a02571365656c0fc805f177dcbb7da53daae2c1f3fbbbe725849c12e950ef87b032d8f39a71156ce8962b50a876744616821f11cc6dabc7b378b0be8f9c645234103ee06a03fd4a60460f95129522ede48ffddf5c8629334baac6d367bc8ecedf1ad0338727eb09d34b72406d647a499e4b25b8e0f940d126597783ea292de8dd1719a03d7d514d52e6e764ac76d77ef1c6236182b190c662777c34cc04890a24ca33551030cea8d4809a0a402fe89e763704f977c8933a83b505e2c3a21d19da1e45684a603e5858fbb5a4ffbaa900a89d5545626d29ca32dcde613b24c689aaf0aaa2eab990318dff9bf6faea8962668def319250f9fb8d3d31e1a4cde51fefff632351332070300cd1eba0926970520f557299117c5f57eb9b0bdbea6055102848c8ba33d8ba10219ffff03dfd61c5ece5574e9117b2f426e2abf89ba310da62e89445c5b45c2ffb4cff82d005820032a794ecbb1465b73ca7522566e8f8dfe1e16e5392ddd2e09160a8d698d27e0410b0058200324eb4ad3fa2490432ef59d31fca5932d643042376509f70abcb786c090269047020008000038eb0058200382913d31183c17b110084bd8ca4821892e1ba988bf89a99eba7989b34863d047020008000022fe03a8952fc094c82fdf8ec1ffd30f44d38dd6a26c44e6524b15ea418383706db0f2035bae98712caf9c60eec8ef0a92015476026b678f58839f90cb8328ab1fcf8a8703b8536d93a7e4e48a7cb91ca7c6d83fbd3a9cb71e06daa4e72630a69d4b27f7f7039f193a3ab508ef3d3bac898e57966dd176e2f44a40b59faaaafc59272970c26800582003ef4507b77564ff5d09f22d9a935ba3746b8c53e6a9658c0bde79f59534edd0544bfba79cf232361a53eddd17c67c6c77a6f003790308111ae06aee5cf81b77bff1743df59fe92ad543d2f1b2e289dfb1b5a8518a5603e05415bcff8bba04ca07285fe75df19241b5050ff394edc5c17b60b09396cd6600582003720bdf7eee450f246d59b8cd30ef21ee5a4fcb292d17de012e8fcf04eeadb044664e437f03aa8042bd01b8c002e242acfa48385c6d2bdd25fc841fe39f9145209224ca9c4200581f02b7524e183a2a5954dbdfe7b44930232bdedf5fa2dbf7335f5874a78a83e342019c00581f02c3e0a5fdf88a84801fcfded34231c64987b75b40be320519704d3e674eae42040000581f02cadbb93df6a47ff5c88197d40b2a374f7bd808ca8a7c80ee1eda35faadd8448000151300581f022f955864dc95a237cf8d621feb9db0d5588182224339fde76c1b3cc055bb44200005030218930219f9ff0303f1296543822789fb965889255e2031f44f0be363dc0d11796d4edfaed4a0680394820b272e1a6f44614998e764feb66f2ad55359c2edcd40df4652b956bc407a03331e7e778b20f9e81eceab0278aa1520607d41ac7682d5ba49188c5f2e0b7646038fcbf2e211c7753042c77b0a1c23052f50da1af4fa00a8cfff4cb57e8627b33c035ec61653a0597fcdaef3473a65201dd725fb01f36d352cc1514b3becb0cb136000582003d715bdb48b22c0c7381f01f01293cee2dd4180930bbf21630a118efba4d8d0410100582003c685c65fb909d213e8811a4c7fac3d6447bfefd0a0d80f1b9783194ef8f1b0410d005820039dffc2001fbfe6ac327a9fd9b5c8c7081d3303419cba5518c766ea3a50c8e0410103d670caf94ca2c2cfe9d496ff4dea608dc156fa5a832dc7a4b9ef63a75f1c319c031ceb23ce139a7e1c90fc92f351b8e80b9f37fd671a43f291d37ea4271b4d0b1e03d625793aebc8a2a8a485ce6624c0a93172fd994954a0c8468bb12aa298c47d1203de48576f39b9af2f1eada2ffe2776e0b950e03fd444812dd7cb9a5a0fb413dab03d5490be9435c540630cd07b3709ebcba8133a5342f6862415f6e2fa854c58a890375aa3aab6637e5f3ed8b24209ddc2ca465b7d054d4c38a80edd8b680a862fad6005820034d986dad280f209a3faa8645d7b899f7b8a7675708f709daeb03d1d76762304201de00582003c33af47af2b8121719306d8fd4dfac86232fc57595a6e5774bda1d543b4cb0424000005820032785935475e26e436e34f9f2649025af979f85e529828ac545263fa1b8f4c04466724f2b03884739059eaf6a4bfc716bc11d0f1ffe3af6906e1b31815271247dba0cdb598a00581f026a6919e62fee79b5eff2e2609ec183a9d50a08c0b87688694e62f4df16a9410a034a560c8f10b64af45cf0897019252f73b513dd2b93d90d62fab8124d50d8be12021908010219fdfe03d9fdc382d9602d6206bb4ff0b07eacc69614ee0dea37be72bd833c1a789840e00383159f9b033d07b04ca0e3e30dc8ee8167fb23477aacc55da9a8786e5e31a9b0038ebe4bef321a9f2727e83d21102d45943b9c1923b567945eddd7e1f2da3cffbe035aba9492270705d38c311a5ca0675d0aa071a0b06d1d29f364c529682c23590d03b4a1731f026e7ddd5968d6f513c0a22dbafcf71f758eb3327948cce69656a91d034d5d92234f19cb8a2654ec58750c8c3fc0c77648cbf6bb0cf5b77137ca645ed403ac738f843a5f089d24469a813a7b8c6e3e6805289bd6b3b15cfbcbdd861f898303666eef33cc6acbcaabf643ce2fc2ff18f041fe89d1baf3241b6995faff2c8f9f034426ec3d869b9c4f167332e23189e3ea5cb7831e188e8750f0ed66643369942f0219ffff03d1cbc1d88b0146b0a68574368b6b59789e517969c6a709b5b2713371663eea1f037ce4405bb0dad3623e209d78466dfa1bc652f712cc3e8b61ceb3330895f77563035fbc740f94d954fcf90d6c28d134ecd34525d78126323c74d0e9adab995ed4d903792b0c7982a583f37e8b7c7d9de746d5946bdb580a1766653158b359fd4287c80374d29adb9c9024f09e37cfb67354c6cbba1c177f0f370e322267fc65674f9c8303bb84aff8ab3f2dc25a679059b21a140f093b1d87c7bb3599a5384105233b065c03c622bbecbc3c239f3765fe6ff9b3559ce88b20dfa4e135af9d076d812d1019dd03398d88215f770df8a7ae8f8a1562aea737b0941bc4e2932731b0945ee6feeecf0313a8ad8e36620893870d6fcc1ac47abbb41762066ee0cd8217680dd87fbf751703c967c1eddfcd9f6b8c0c66c4a4805d59445c01575d85a2faa1fc80840ed6a4fc03b4cf31c7a458a01eee3cf84f2d0d10686314101995753a72690520d5547ef6800058200358b2d5d7347340f3a4d3eb94a5dd3132cb2e12408316edc474b3b3be39d1a0410103e57122e7f04d3d1d146675f429c59ca1ecd7e6e4c31cc47239711feefcaf951400582003a19dbb5c515b70073b035c26503167c2ca22d071bf37bac4b4bacef474b39042017e03854ad782251ef2107804c0b229205d64f6877d8018ea0c82aa5c7dfdc55c02ea030f87aef37e61559b49eb22406b15d0bbaa9a0f2f6de7cc8b397a505dfb08ed4b0358361537c48c6f80e794f4715afd5ebbc9d6dace2329bff3d430926e14c407f303e9c609d59042fc30fac87f6a6b242c59bb349a5f9c90c1d09099dd9a7ab155e101410c039bbf4b494bed1749f844417796645b5a1e143f6787f28af563c693f2a604f25100581f02ba3238658198033b6aa97bdba8fef6e6db60f356987d29d70567c93e52f44466871e1700581f0293cec51cb3f4c452adb1637283d744b4e92bd6c23993c950d8f0d71628d742040000581f024ca7f8d951699f4ac4ea53473368d5a884c81bef9d146ef9d69d9d51e93d41f70219448003593cf6170a9faacf4af4ecd93c09752ae2cc99e3acdec2c49239994a36fd99e1032ba1869a24fd0f091fe55a4d619cb63cace901283c03c002778061e2d55a5f2f01410603af98fc381d37c4a2b68ee9ca8c47e9ee464cf7ea05b27438d50d2dc9ebbdf62c0356040b80782a8631a3d363a7d00647b8abbdfc5c39d932a8cd8c469275a1dd90005820037fb97980efb9d9f37e1ce1a61d0579914c2cffd683a1c8a079bdc2d5f7006054d56962a360d94e5b490a4cdbc63a9045db7dc62c0219effd03329f93075a81e26045a35131eb175482277809239d7750dd96abc0395e598a1f03bdf4fb41cd81d14dc36a44c186b6cfd91c606ed71dcbc1ad0a3c18304fbaef60036865e279b4fd994b232cee9da77362e4dc3f826510f0969538bab99436769f980347fd7405a5c3653ac3dbeb2b34f3eb2731db895700ebef044b0fac2e8ca114bc039f0358b3d1e0190ae66c7067d776cc1e801e9f770ce469c8aca34c6182fe482903a6d219d0efecf0eeaf9e35e19838f33da0fd0ef3afc5fc9828804ee085ef8dcb0219ffff03359a28ea3907e6dcddd6d9a41a2ccd67b85e0a358ea93c513a4190b391ab3871031758136af47c8412ea160524734d58febe66fbe190b80f2f6b31d29f2591af4a0219ffff05581d02ca4f9f3a4dee07456b1469d821852ff6bda7d0f92ea313656fe4930307011934a305581d024a8d2b1dd094339e2b8bdb49c7ccac7029e7d1e6ccf6885ff330aea70c034677f16f27b56802190c0005581e039272d5b31d97445bb34c0ebc0b5a40f9c58c5f90a1cbb80b841e09c6600401037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e0321facbc7f4ac9d73a7d63e2ed474d66352ccd7f6217683b455e0e1bdf007011bffffffffffffffff0339c8705d9433742f6f5df30f16dcf8b2e144f11f58b5ca7862e6c9212ae2f27802197ecf0374e4e0e6b6c8b16e14e0231f1f545d7e338830b3de1d1a9942de132356b41cae03e59054fc8b8f64b6e94de5bc761e36ed457df9fb5858647063b42cb38c9feb93035725ae43afbe30500fac9e609e2ffd04b937de973a2f0eb41592592e1582609a03c7ec5fef06fcdf3ed737bf3c3938531202a7bf4c9aca8ba364a7850a978ec3b4035dab660851c53f86c7122b9bc707a17b25ba4377cc1ef311e337c9cad28da884032125b2b421df7456334d02f62969b93705d00c26ec774c06be37ff9d01be794203f68fe3bba5b51cb3f6cfa8fc84ad8bb10fab611fd68c1ec444d6f83a3a4ccb34039ad71d1ff5b10fcb8077baebf0621411509507d0c15462c043980fbaf2b4956f0385b80e122f6168e1729d3c4d6f3f0a401314885d402a5e950923d337c244e9ad0219ffff03e7f977aa8b957300638d989bb1302338e1eae040df71cc6ec2f46ff4292ceef903baf0ca34fd1656de48e195936df12ea7b05c92bb4020cf43b25264d75af09a8103781949088d8034ce0e8ec77e2b2f493d15981d7e65da56d6a552a49f8d17818103945e7e9eda36e663822895876be2b688a5daf890f5a9ca51afe7bfe5c8f5ba4d03e0b7c946c8a7b8e19f034109db3ba1b874ac3f9ff3933526f924732f2062153f03d8ec160fb2fbbf3c67ab282cd349d29abd349897ba8efbb8fc4e15cb863c8b4b037645effcf035276d39dabf7e9827cfe6e9583f2aa13a2e23203e26c3ba357d6d03cbd351084a4274f8b81f88dcd188376bf329da27a2df51ea1fb19d0f53b0147903d848705cbaaa635c67114644328b22ad22c251f0a684cfae464974a3dbca0e13034fad4a8feb1455f28c0e56cdeb990e293e408923e31d993720ee354b1767cd1403a86e43d97b8d9059d81f370a75cd6dc4ff2c26232cd6b3a351aca008837085300219ffff03f0f3df0eaa04fd6a7e0c9283dedcfad9a2a594d2d4a8069c7da68f9ab35b61e0031f89d05f6bb75562c3432eb5dcb6f0b782f3fe2bba79864db6a9535875dca1db03a9ac43f14deedc52ddb6efd65945885eb35e7b225e34a2049f9ab3bdf6b4b5d8036bec464518b6399b2577032617f5ace70ef113c3df1adf52993b8e73b9a4902903aae8325a0042699075d7e7e5a3b9cce1ef96dba76e04ad3a708e5d040a08a14e03cf2df275a06597eb9056ed4b1b60ac6d4b7f046c7a4d16bac19951d2e415828b0327e831d122383f25d6326ee844b7049db91c162c90f6aa3082394de610531e5b03448b48aca505e069bc20bf033f2e85e1435659e581c08cba46c14393c797ad7b030dbd0820be9e55d237b5d0f0314f555feb9a6846179ff77d2b0791ff6d135bc20219ffff03f0306976501548e9174401fe958f62d18591cdd13b75d723b00836bce547df3f03b0b0b414e3f317e49afa7c254aa49cab030abfbb525138c0b73d1d04c3e5e6b2032a6d74d8dc1f193e429ed06006f1347bcf7d88bc91f40e802c21c6dc807de18103ad2e55b70c76de23163ad6be6b4d775dbfd6215d24eeedc014bae3de4719c74a03d1513f429bf1eb979e0b7002ce4d197881330aa4f0c08b9656a66a1a392e530803b5677e19d5488be4867bdf45bb7caed28af41367ad3a0834123164ddff3424cb03c0b4be496f9b7c04dafbb842e14b3e785987e436329ca7b5883beca8711a800c030e4a504dce80caa42b7e845112e15364c3ed9638db6c1a09e81d9b89cc78819003a0c4070623bc37188bc24e5878a80fc9c481e10feef0c1ccdde809a6300eadce03ed6ce933ba143f4745e0e7e43a9efca6c864be016e0bff4539f3d602ed0e69150394d8c27b5dc30bf7436c8821fbb9763cfb05946dc894c846a28649cb0ef9824f0219ffff0366fb98d2a0d70b67650e19267f485dfafc041693b0c86f00dae81139bd74f78303cd3edbe5ded4aa9c994935e8e24288f9e0620e2fd73b249698a1857d5e50365603b1ad21fcd44d9fcedd7d0dc02c479b830fe826955fbf6b023df536d7a80aacc80371a83b526b3a3547e0029e639daf377782229a1bc15038bc62df65406154cd2a0338872dede286d14a11a35d64aceb832e96a34b04d98e0a8fe0d88ed02f5f07db03f612bf3ccad1782cacdddcbf978dd6c167621d063751c0340279e544163853830395de447f28c4172e07024b6174e272707e417b979a0841719a893834378a8379037a32b367d21c750965b6abe32a05637d6f1253120fdd7f0912947cbd0ff613cb0360636a3cab0a1449d0ac651e5ce0c55b9d7427e159e0487d465d3d62a67f31050393d433655ef5339174ea4652841f41df6d521f1c5868eb5a5f7022995b80eafb03b1570a7e7ba2115c1b17c5e59d020c02ae29d25109c9639c32a0a1a711643458034e33c6dd06591110f75bd91c40ab3d9e396d9138dbbaf1d528f7f26d8f885768036c824d90793bc9c7626a3757d11d991915f94bbd5bd0ee540d34c746119ce51903cffc04cb3743f33ea61da0085deababfe29d3e4ea37a7dbeb89c558dc741b2c603a499428214c971e4e3e0c94a35300ce4d95222e346d86505a3f4ca9dde9c339f03e88fa53e32d65038d537f38e592384206d1ec1e02d74f334600022b1e2dc31d00340e0ee2922f626e8aaf6f51b2d815b1aa494969eb0eb09971966c7fb6d5206b9036f9acdc618adf9a9458d5ee974a10eb218cf3eedc308f7faddc6123e8fde793103967f48ab4844b7b1d67798c6472bac0a664e5aade4179c595902a6106490762b035398df0d8811ae3f585c8e3a3b28486e50282fb7fe66cc012c4be50d53f8b1d003f0f0ea6a0f314cfea4618178e999ae970755d681052cb2ca3cfaebf16f07fd4103f2f1c93ed5a55d8eda11d629c006d4230b6d81574288dc095b8b56fe8bcb526103872a5eb33c62cecb18d2b777293e00e524892d16a89561cbb2049d45347693e705581e036ed71488556182841007e571d4a164309ed2cc1329557a63ed7b49c0f00c0247131c11d6b96b00032971babca6fe87cd9cd40dcfb4df5c1bfb856ba4337585532dcfaa397c67bda705581e0325f5bde13efbb594d5950eeea3092298346d75cd8c0390ddef4181d2600c0446911f0786695805581e038d033e7310769a9bbb56fe26b4f240457f89dc1a06d00dd5e89a17d6600c0147186f349a27525205581e030a40721c7ca8794c8222d6ee14bc6421b9f9b57f2b205fac3ca48d29300c014719e01f6d4ae80005581e03e5a69eb1e56c0460407a235df76fdf2fb84c96505de4eaced0f60ae9c0040105581e03f5715a2d6dc43fb113009607fcf38988f3ad6fc36fc335b646aa6b48600c01474579b5d0d3c05803bd8b3abcea8d3d9a380df4792f722097e8ad9192f01f04300d470130219505fa05581e03c722783491047715d50e277ed3e1728a82e994146ab3139ae4fe3c29c00c024779fb33869e810c05581e0350ab42f6b0ce9fac04512e2933dc4430ec3cce35ee370ef8a96257f040040302196f7803e66dd7099ab65b5afc3ee67444faa41623150905783f0a11a1bffab2bc135b7c03bb249843ea16713d94ffbcbe29efbdcbec6dfc020bd9af89f62eab61ba9a01df036b33e09e17416beda2d57cc197318ae107f1a4b8088fe17a43718fbe241ffb6f036e734f5419ea778545023d0d8fe873dbe4219a4ebcf2d2659e7fb07dd0eab77403f2cffadb842ccda63d58bdbac58c46a95d3d9f1934447d516bae302982fa55820314ed69c485980e593342f6a4c7503a6e127405535b189bcddaccd4b360f5b031030f64bb07edb00834d9adedd8ef3db60437fe17c8680fff70610ede886930662c03121aa2799b68b68136ae594b760f75ab2b6735f7de6adc1a33de6177df95f79e0341ee9d897cb5235306b8bf8e9e821cfc20b551ac07944fd282ada80c5226ba3a0308b04d3269f817ec8e33f12705f19f36c4b83825d93160bad376aa37c48514ab0219ffff032e874442eeff8cfe07266c650fbd87a3d766a59bcb2639d9f2382cd17b7d83d503e0e9ec38e747fa5ceb9ea6634616f20bfa9b1033f9777dd74154349e8d81d19903d961502bcc6b8e4a3bc5962b0179df59d0ab8e1ef4621533199d19a240165008036baec64db7eb52cc7b08ec7411f6f67b0aec8ea38f5febb0542fba17769d0f2c03ea3b2051e3d84513f9c743c24690132cf86038fae052a54f4a1605fb5c6f8c49031ec0736906278efd53ae4d630d4c140bdd4cb653bd720bf856bdaae5d7ea86100325153302adbb48baad5f84205f5fe0ceeb9929769fdac54242dff42adbe40103035f2de5036695c9c08524421874fd19f648d7b57a1f6fefcf49aa5ea896c398d20346d0aff959cfffba886b944d02c1c7eae5c78f6932caa4edccc08efb9324304f0219ffff03afa241301cd1b11f528c2c4002a37ebd11d47f886e13f3c7898863c1026323300330bcbf141599d9c17ee85317005a628f4bfefcf91a7d117ceabb0d4c956f2c8b0378bb196308dfdf921426b21fb4fd2f608990b28564914eb7f8c268e3124f069503a00add453b3b206e3c11588939e4675ea5d3743be11ec104b3b066c1769b9e6b03839ab164b0ff0f690c4cb25014f8fb1043a3c1e25c9b9d2256d8dd8a7ed4ebb103c6fef7a12a775c8b768f0931eae75666a0bb1d3e1da8fa6c9e5f5136174616e20333e2244af07bcc6acdceaf395334cfe7a5dd864fec1dc5dce67c33fb028adf24035bfd8a047f6e81e25a9d3baacc46721e641b9e70d6214520b1b9142a09548f840219ffff031dcfd37acfb39f76ad0d4bdc839551e598c14b4698a77918bbe21872e744a1cc03e5e391bb90868a966eeaf761eeaed3e305dcd10105cae75f3bdabfd3b8759b5f03cebb014cfbb205089f8aa7d1498e710dee7b31b71c5927a965dd625d2c55024e032838e6c812e1d0b5e606d7c5d741f570246ddc4717068f9330e60a5d4f7051f003e32ac7b2c6f1f4039262665ccd999919c69c63ff324db8a734f686525ce242080379f44800c509e92c85064ef40bc60658775aaa6b5ac6d3cc5c01bdf22d0471de03efc5903f13447d2d3432b322f7af55e2365bfce096210de854d07a65d60c0b61038b0009ad4683da1e4dbc3e43949d54c3019df50ebbedc8b35171ff298b3e6aeb03780dad6c4a649ba76f91bb256634e9b620c4ee150fd763e388c1b24df9435c8603fbcf6595f541d0a51c3d01811f12ed9ec3baccfb2a84d69aefb8b14bc29b34a50219ffff03e04c3ac8880a512c2f97a72fd111e7381fb425a54294b51dce5e9a23fbb637500354dc7eb6500ffdab3ab8308a681b93b32fb49d7764ed9722a5ad4453205408fc034166cf932aba9a12993b63ffe47bdaa511817608d9e98510ac668078ef88db8503ac808cd2b11d6c56865616240b1ace05b0ba1d4a293d23c11033cc7f4009a58b0349e105ca1ffee86023776110924a45c10d2f945a5ecda8e85ae1b40c06fdc160039402516473613de42bf2b9c4fdb5dbf7f458c990538cc1159dcf86913dfbaf86039285755e7bd3580773f8486e159c274c4bf3b29a029511559764015cffbeb5d9036ee1b2cd6d77ee2fcf5ffc2cc785e4523d494affc1cb8e6e5350f9535ea81e7503a338b19aee7e6803335af1cb55bb18310fe1390663dc4ca31b445a8a30680bfe03dab21530934ba3e6cd2064b19edc5bb7679724ecf7db0943b53ba60658fdc46c03e7f2facefe4dc01b4bb466c5855f5aa5a595d584d80f3215cf1ab843d66a079b03f13347d65e209d7443707818cafb45802c00ad527c3c06c75c66b28e75311e0c03da0ed5a3646ca70bad0fb6a5982b8759b3d01b371194ce108eeb16fdd2173127038eb9a786dd422edbc0df28f88e8f8d6cd266e4962806e8d13edcb7affec73df003f867a05bcc43ca015e9722c5f91e45de19556a4365a1712627161b2b5d75516a03123579fedd72fd375a4447eb93e208adac3bf8680397f02ae2307f936752de6b03f9e086526fc68629587501011e70f785714a7ffed3f675b4f98039f140f7e6d3039e1a6671388f4379c8c2610cd5ebd420da156e390bed3c76efeb9cec9df45949032780dd73586119e1a912c3377b8150ae795e9e1d1798d59eee432906115f75a4032243a4427bb6198d196188988e6f0d3b384f334359b99fa50bb0f7c5db9d4283035f2068603c9f1ebb7a27db76c0738ac8b91753d12457ecd014f138e106dcfd310380dc228b0afc8002a771885ade71f437a1bbbf361e3716c6b70143bfa2e1b3b303f5ea95ad44ba95de610d87c63fc251ae84a616e7e593665275a9d51c1c1195830360c394d12f3478555eb57bac244c3c17c3301a29deef1c33fab13ce286ad270803a36e762c2dbf64cb98234c233363c4327008061a409b9797135b69a93ccda0a803905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e0338e751225df2458fa6b714512d4f59b4f6eac66c046d20888577f2049007011bffffffffffffffff034a187d9cc82af8bba4df4d4d68dff378dba8faad4b231150be7f24ef49686b2204592048608060405234801561001057600080fd5b50600436106101375760003560e01c806339509351116100b8578063a217fddf1161007c578063a217fddf14610376578063a457c2d714610394578063a9059cbb146103c4578063d5391393146103f4578063d547741f14610412578063dd62ed3e1461042e57610137565b806339509351146102ac57806340c10f19146102dc57806370a08231146102f857806391d148541461032857806395d89b411461035857610137565b8063248a9ca3116100ff578063248a9ca3146102085780632f2ff15d14610238578063313ce56714610254578063355274ea1461027257806336568abe1461029057610137565b806301ffc9a71461013c57806306fdde031461016c578063095ea7b31461018a57806318160ddd146101ba57806323b872dd146101d8575b600080fd5b61015660048036038101906101519190611689565b61045e565b6040516101639190611ba3565b60405180910390f35b6101746104d8565b6040516101819190611bd9565b60405180910390f35b6101a4600480360381019061019f91906115e8565b61056a565b6040516101b19190611ba3565b60405180910390f35b6101c2610588565b6040516101cf9190611d7b565b60405180910390f35b6101f260048036038101906101ed9190611599565b610592565b6040516101ff9190611ba3565b60405180910390f35b610222600480360381019061021d9190611624565b610693565b60405161022f9190611bbe565b60405180910390f35b610252600480360381019061024d919061164d565b6106b3565b005b61025c610719565b6040516102699190611d96565b60405180910390f35b61027a610722565b6040516102879190611d7b565b60405180910390f35b6102aa60048036038101906102a5919061164d565b61074a565b005b6102c660048036038101906102c191906115e8565b6107cd565b6040516102d39190611ba3565b60405180910390f35b6102f660048036038101906102f191906115e8565b610879565b005b610312600480360381019061030d9190611534565b61092f565b60405161031f9190611d7b565b60405180910390f35b610342600480360381019061033d919061164d565b610977565b60405161034f9190611ba3565b60405180910390f35b6103606109e2565b60405161036d9190611bd9565b60405180910390f35b61037e610a74565b60405161038b9190611bbe565b60405180910390f35b6103ae60048036038101906103a991906115e8565b610a7b565b6040516103bb9190611ba3565b60405180910390f35b6103de60048036038101906103d991906115e8565b610b6f565b6040516103eb9190611ba3565b60405180910390f35b6103fc610b8d565b6040516104099190611bbe565b60405180910390f35b61042c6004803603810190610427919061164d565b610bb1565b005b6104486004803603810190610443919061155d565b610c17565b6040516104559190611d7b565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104d157506104d082610c9e565b5b9050919050565b6060600380546104e790611f15565b80601f016020809104026020016040519081016040528092919081815260200182805461051390611f15565b80156105605780601f1061053557610100808354040283529160200191610560565b820191906000526020600020905b81548152906001019060200180831161054357829003601f168201915b5050505050905090565b600061057e610577610d08565b8484610d10565b6001905092915050565b6000600254905090565b600061059f848484610edb565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105ea610d08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561066a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066190611c9b565b60405180910390fd5b61068785610676610d08565b85846106829190611e23565b610d10565b60019150509392505050565b600060056000838152602001908152602001600020600101549050919050565b6106cc6106bf83610693565b6106c7610d08565b610977565b61070b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070290611c1b565b60405180910390fd5b610715828261115a565b5050565b60006012905090565b60007f0000000000000000000000000000000000000000019d971e4fe8401e74000000905090565b610752610d08565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b690611d3b565b60405180910390fd5b6107c9828261123b565b5050565b600061086f6107da610d08565b8484600160006107e8610d08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461086a9190611dcd565b610d10565b6001905092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336040518060400160405280601681526020017f43616c6c6572206973206e6f742061206d696e746572000000000000000000008152506108db8383610977565b819061091d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109149190611bd9565b60405180910390fd5b50610928858561131d565b5050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060600480546109f190611f15565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1d90611f15565b8015610a6a5780601f10610a3f57610100808354040283529160200191610a6a565b820191906000526020600020905b815481529060010190602001808311610a4d57829003601f168201915b5050505050905090565b6000801b81565b60008060016000610a8a610d08565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610b47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3e90611d1b565b60405180910390fd5b610b64610b52610d08565b858584610b5f9190611e23565b610d10565b600191505092915050565b6000610b83610b7c610d08565b8484610edb565b6001905092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610bca610bbd83610693565b610bc5610d08565b610977565b610c09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0090611c7b565b60405180910390fd5b610c13828261123b565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7790611cfb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610df0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de790611c3b565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ece9190611d7b565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4290611cbb565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610fbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb290611bfb565b60405180910390fd5b610fc6838383611387565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561104c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104390611c5b565b60405180910390fd5b81816110589190611e23565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546110e89190611dcd565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161114c9190611d7b565b60405180910390a350505050565b6111648282610977565b6112375760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506111dc610d08565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6112458282610977565b156113195760006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506112be610d08565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611325610722565b8161132e610588565b6113389190611dcd565b1115611379576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137090611cdb565b60405180910390fd5b611383828261138c565b5050565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f390611d5b565b60405180910390fd5b61140860008383611387565b806002600082825461141a9190611dcd565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461146f9190611dcd565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114d49190611d7b565b60405180910390a35050565b6000813590506114ef81611fb6565b92915050565b60008135905061150481611fcd565b92915050565b60008135905061151981611fe4565b92915050565b60008135905061152e81611ffb565b92915050565b60006020828403121561154657600080fd5b6000611554848285016114e0565b91505092915050565b6000806040838503121561157057600080fd5b600061157e858286016114e0565b925050602061158f858286016114e0565b9150509250929050565b6000806000606084860312156115ae57600080fd5b60006115bc868287016114e0565b93505060206115cd868287016114e0565b92505060406115de8682870161151f565b9150509250925092565b600080604083850312156115fb57600080fd5b6000611609858286016114e0565b925050602061161a8582860161151f565b9150509250929050565b60006020828403121561163657600080fd5b6000611644848285016114f5565b91505092915050565b6000806040838503121561166057600080fd5b600061166e858286016114f5565b925050602061167f858286016114e0565b9150509250929050565b60006020828403121561169b57600080fd5b60006116a98482850161150a565b91505092915050565b6116bb81611e69565b82525050565b6116ca81611e75565b82525050565b60006116db82611db1565b6116e58185611dbc565b93506116f5818560208601611ee2565b6116fe81611fa5565b840191505092915050565b6000611716602383611dbc565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061177c602f83611dbc565b91507f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60008301527f2061646d696e20746f206772616e7400000000000000000000000000000000006020830152604082019050919050565b60006117e2602283611dbc565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611848602683611dbc565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006118ae603083611dbc565b91507f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60008301527f2061646d696e20746f207265766f6b65000000000000000000000000000000006020830152604082019050919050565b6000611914602883611dbc565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b600061197a602583611dbc565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006119e0601983611dbc565b91507f45524332304361707065643a20636170206578636565646564000000000000006000830152602082019050919050565b6000611a20602483611dbc565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611a86602583611dbc565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000611aec602f83611dbc565b91507f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008301527f20726f6c657320666f722073656c6600000000000000000000000000000000006020830152604082019050919050565b6000611b52601f83611dbc565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b611b8e81611ecb565b82525050565b611b9d81611ed5565b82525050565b6000602082019050611bb860008301846116b2565b92915050565b6000602082019050611bd360008301846116c1565b92915050565b60006020820190508181036000830152611bf381846116d0565b905092915050565b60006020820190508181036000830152611c1481611709565b9050919050565b60006020820190508181036000830152611c348161176f565b9050919050565b60006020820190508181036000830152611c54816117d5565b9050919050565b60006020820190508181036000830152611c748161183b565b9050919050565b60006020820190508181036000830152611c94816118a1565b9050919050565b60006020820190508181036000830152611cb481611907565b9050919050565b60006020820190508181036000830152611cd48161196d565b9050919050565b60006020820190508181036000830152611cf4816119d3565b9050919050565b60006020820190508181036000830152611d1481611a13565b9050919050565b60006020820190508181036000830152611d3481611a79565b9050919050565b60006020820190508181036000830152611d5481611adf565b9050919050565b60006020820190508181036000830152611d7481611b45565b9050919050565b6000602082019050611d906000830184611b85565b92915050565b6000602082019050611dab6000830184611b94565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611dd882611ecb565b9150611de383611ecb565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611e1857611e17611f47565b5b828201905092915050565b6000611e2e82611ecb565b9150611e3983611ecb565b925082821015611e4c57611e4b611f47565b5b828203905092915050565b6000611e6282611eab565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611f00578082015181840152602081019050611ee5565b83811115611f0f576000848401525b50505050565b60006002820490506001821680611f2d57607f821691505b60208210811415611f4157611f40611f76565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b611fbf81611e57565b8114611fca57600080fd5b50565b611fd681611e75565b8114611fe157600080fd5b50565b611fed81611e7f565b8114611ff857600080fd5b50565b61200481611ecb565b811461200f57600080fd5b5056fea26469706673582212206afd9e7f983516028a0a2f35c6be4e3267a9754c0944a6f31641450b97ace43364736f6c6343000800003303257cfd1c06f4cde71f3ae0f568da27f3b9bc789ed827008caeb2e9af39e4765e0359fee75a54672c6aac26bed19b12b0716e4b1416262daa704c14d29fe21c7b86036f131dc47413ac2c8f6abc8e156d521442d442f6b0a1ec8530a7bc2f5d5afcf703c44b9706c0fa766c4eb5961a9a8939306cd7d75df3363d687d1cf2424c50213503e17f4d5327c8810abe53ce368503d35a8cad98e42b32eaa041adeb022476fd7a03b958bd45d735ee10ef1bafac4bfa60f602ba49b61f71f11fe31495aa4107df0b036ed0d8b4554e09b7bc28e68ef3ca3602771bac0bcdea3814e878ae0a6ae23c3e0364ccacc9138505c88aa4062ea6818dd298cbc96fc8220f8ea5b92cc48104639603db13f4528e8d8dec6f25de21c310666240a71c9568e074ddfe3cd06d94495a3303837738c64273eaa400b053449c20e07b3da1d4273f784dea02fcb6efdc992fcd00581f02f6fdce34183acd7cf1d90bed0b1486f1c44f758c5adcc95d44f214794257410100581f021eae84b28f6d0ea818e9018157e746b2cdd8cb6b641c1c5d4c67c788219a4912e7209f63da3c800000581f02a2a34abe24f7e229aa762f087bd542047f363be052e085fd0a305fa3b0b35820ffffffffffffffffffffffffffffffffffffffffffffffdec4ccac0ec56effff00581f026188308c31b15f1018233e3bb86469218f0211625509121a01a1c34dd7635820ffffffffffffffffffffffffffffffffffffffffffffff504d2929816136b75000581f0279129bc92c1f5c3e72078be9c1b8edf135db2c70848c88d9f46e58cd1c2049074fef8d7187fa52b40219244603843426fc0559aaad725d18c7e70d039e2ee785fcab3d33540cab7c891620f957036377643a02192f47cd92bc3c7ef4961fc7115f5e3122f7dcfe4cd0cc2f80db1903f2890a1918ac9fffe5f5436b9cc88bd73d5b90d501b72e35d3d3e117485d53b5035d5949b2cf28ff9db6ba2bc5a6e478a86ee9b87315aaf1b1c50e9b7bddefe71f0331bb29c3ba2ab09914a1410e79f744771f0a3828b52a8cc8d6278d532a7c057703d21a179da8ef0b34a429c30fafe01b24162ba06be1ed24e8ba3eaccf3f5c82940328d5304f4e8e38bdff51091958de8171ee161b9d1192deb3d4fe16e80c507b740219ffff0387c3f0446a6f341173253c39cfd238b760dab7c9acc2f2e75ad48b18cc65aed8031663470c002ead0eb81ab96bcb4b50df81598e7d443e95aff3724e5d209d517a03af813fdae82b62de5fff31dba847fe0943d66c6ad7c50b5e4c6d5758e7a28c0303363d9604ebf581e5f6ec61dae8f01ce30a7f24e9047c618083547e114b7f828d03d1389b635f891adb389ffc950acee5a515a99efbc44751886490ec465384b6780310460164b5838ff432f96ddac2b7da96b1ef4685b3cc483b577c665b6b22de1d0362dd9711f7439570b443c48257a3b6c09027fc4d31a1456f465d1b23bca008d703c4395c514921de4af38798419e2130dd3cc0038d375d82e7e34e56bdc73a1e070310a8256305e6a2e863403611b2ab1dcb73b4134f2e520f7b74e45b302341e1ce036bcd783d41e64503652d1764f1a4d5683da28cb052313d30f433d22d1ce29cf703730fc84f578eebd7daf119ef6c0fbd9502d9ef5ae690bdb8fe0d2733b4c9d06703e6406b2eb9ce3548d155c2d167ccbca44747392f8081754f7e192faa3e5bf8f703144869377102f9f5ddb7dcf6c381133f564973a02866805901ce03269fab47af0219ffff03c4be94ef43f67a837714acd4514c47be3fa2db02b097e1279f19658a9626bc2103417d1019d2237ed6f02a7c6f304a9f8be13a0670fb9e741266fc27c85c5ad2a7038670912f9a3684e41443d594c3fd5d4e9cd9f50107296bf1ae543fd691d3cbf803815dcd8d29349f9f289a739ae71617f073aaeee07252f1fee1bc7de9d770691203471ef2599ba16a73ae7f717d289afc1c75269e64e52d49ba993daa49db1ea1e003385e2780f18609af47fce5134b5bd8bf06a084fe5d2b91773bc6365a816f056d030275687a3e15a031f6a48ee5b0688156153189bea7d18582d16e3547fd1eb07a03cd58b7f9c0922beb88154bf4dc3be621a444d3500c0f819973f82f17591ddaaf03c7af7a3ed8c94bb2572970f84d9fc3a139b2e4436a5718157752c12b8aee085303608de23b768f30b28b28697f7c353bb7f407554693552bce0398aec591334a290325ea9b0d6266e38cde3dc8ad8af05714deca4b25a19d4af27af720b0b78299a703db64e3106e985d03b457a775e3bb21a39eb0815d46714e571aa4ddc5745fc46403bc19004c9d36c7c0ca19f543f9573fbf97d5debb5bf0e3aeaec5401c7933f6ff030cedf90a1b997f0f773f2a252d1e4a892df712ceb0976db8a0a7e5e2f62b2385036bfd780d54f9413c1499274b2ba8d8c2e5590a38e7aad3b1e85abdb72886441f03c2dd840a8bf9a88980e243740fceafa172e4cab10ccdb2449b3018e802e70a27038c4403aaf0b1c549f1ec93f70f0d9e7e2e0cc16d9e65df787348c2953848582403adb4dfcf811649858d00717671dd472fe93d4ecacca9e85ee757a7f478ccccd1034b4ffd97a93066b5c371c266d25b0beaa9821b0ed7d3869d07d7579e55368be9036ba1b056047f385bcc3fb9e6ff53ae982b3462c16324cb52b9ee15d176ba5db9039bc963e4635bc1debf7b809402926cbc28b7ed2621ed07bdd974ec52ff3757b703634cf7c8400a85a5e1e5174984926eed32c5d05a93bf7fe30eac49f35847da3d03852c8546a49aa45e1678161c6c6a3884f8a53f5c287aa50f82f9d8d71b5f0f4003d0dcc320ba2fa51341e00aa51478ba1352034ef007586ac2c72b260679c69a850357e3679d0afce0ae49e3cc2582ba18d267d6fdff3a9976569a4c6d2b24a14173034e1688f14e875ed2a9605540edccbad0bcb68c5c521de4e14a5784b599c2e3a1033ab0be2e682be6a34ba7e57ca8bd728929fe0e10392b6b4eaf2285c8df6b877e03bbf07f4deaa02ace4e13fc6046cdc457b5c915f24305a96f8e3c0fade2472ec2033b1a272505eb80bde2beef2897752c7aab4ca21d0e44d07f0c00f7b6557c945c03eb50d84b6ca97348cf7dd8092b4dcef8f28caa4858eff8f67d78b7d0732021cc03d9e5e32ca580d1a2da2eb169c3e1f58429531547ad1f65e18835aa406c15333303f77f983e541addf57d28496dca8161a6238d55cbb8a1ce68e3dc4fa9d9721af603432d5e368cca5bf697686f28520428cbe7a9f027990dc2cc287adcbb57f374010377554cbf8303b17a152c862dfacc0f0e86be3b60564c594edb65d6f43e1bc1cb0331337d57751177c5f1d3b423ccda3fdff01ad15fa8f81d22448e96159d54114000581f024fc992fd1bfd1d7f3b86b96d1face823c857e085432e584db6acad3bd3b65820fffffffffffffffffffffffffffffffffffffffffffffff0144dfe68a45bffff00581f02d18caf5625358e9cabcdad55cd9642373bc64e28d066bc610177dc7f7b9d4a0a579f281296fe20000000581f029a2043c1dbf2013bacb96975024ce69154c1e1fc149f67370fcdd4aa84a94903a75ce6e64554000000581f021c7ee8d1a3230527ccd2567d9d584bc02af1a980f60cc331e4bc8b031dde5820ffffffffffffffffffffffffffffffffffffffffffffffcedc10d0a2c4dc7fff00581f02d76c2e3eb443b278436b80a723ca42f17d9822c126deb203bb3b55b8e9a2470192ab83e245c500581f025b2e7f9639444f61db2799bdbc48bc035e268b8dc1d00509af28ec0e58cd5820fffffffffffffffffffffffffffffffffffffffffffffddd87b3fd8ac98fbf1f00581f02972345b34ed780abd4499dd2f50ed0ef63b6cc3619f41b519091ab94d8f74804b03db9bce2a00000581f02db9b451c6e63b7fb4eb6a2b5a4e3ba9a96e364752929d90b17873bf3eaac49013262a53be5c2e00000581f02b559aaab2b27ca49a7aaf66e3bdf8fd8f557a11ed08782566926952ac47e5820fffffffffffffffffffffffffffffffffffffffffffffd975385026ba3a229600219f991032218603f96af704bc4b3ebb721637ea513c3d32f086a8eee371608f56fbe8d44033495523d47e5369beb84622d3d50bbe3d564917cba7300813fb718fcad5e53c80331066905bc655fd23bd1d2c065e9a3099d9e71f4022e1087fa7735a0c3e824bc0219ffff0219ffff03d9479523c020a3e4bf6d04e4e35242dccee11e7af29426736009fc3c21f6862403285690c737fa31e39d2c3829bab6323bc1b1da48eed090bcab81076024766cef032e300c56c07bfd93d9916083edf2dba60870f47d1573fcbd8ed77c6178f1c2de0346796f0c89003bbdbe450c478102eb62beafe5a166a9aa0f08f889457c97779e030e22ee6e60ca2ce5a1215f4d88b95684c30ccee3b1c6e8dcf1e35e2769d671ea035d8e7c5e9cdf08df7cc9c498ab820ae61a5050a52cc0d8bcc03f256640c4b8300219ffff05581d02baa2e56b547073c6c8c52bb6511d348386c062529a5f4e7e4d7cb4e9070119204805581d0256e1a3949d62dddba8fdce83adb5c80f3547335715f69c00c070e7f00c1901b74634e5af7878180219808005581e0377ad9ca3d033a75c84b755f96ff2ef3257f6b48a118ba43f69165364000c06468de19495c00003dffe276744b8e2a9d6a9e552089a84393c8754ac19a2781cb0d34a7c92b185210366fbd4efccea59035fca1a628484bba2224d5b1a4d7be28d1daf102780155f05032130f2551e64f2220a18d7ce9fe4c28fe7f41861564b3f2acb6451ecb823934805581e03844489076df17db44bffe47d6cbf417637491cdb0754faf4c1ef5ea1e00c0545012a05f2000219eb8203be1c77f5d5881690b39a4473ea92cd2052d66e9d7d480ce8cfbc1c27c703e3260219ffff0350c0990eaf3d64fcd9a8c4e0776eed7764eff6ad52e6957ff77a9872418bc0ae03809d81c88feff9aa553ca4255ff4e63b6a58fe324e7c39373d334087df36dc0003fb5462c66a15a7a54bf7a0fed6d5815fb44557296e6e60a60810d91faf0928580327ab233f94c6ae7c64dfa66b3871fc1846355fe0d9a3caf72e50f13327125ed00332ac5b9200826d5a16b948b44b022fb98a3d9b1d3dd80830b2efb038fdebf33503ed5f529d88c8da55117379b75084cb99d4dac3676b19632d3480eabb9c8b13fc0358e8b830d42d4bec9b249f9b4e5816bf513bf94b22d1fa2a19590e77934f0b6c032fbe5313a89973edf138af3212c8853e91e53c778b8739ef20d611787262b76103e398c0b4084809c680a3b8e044a6d5cff054628ac1387d91477d820d481cea6d0315de544e05d5d308e1c291baf8f3a8f3f095d2439afbfde9afd96bac99316ae40219ffff03172858664fbc4f414050011c66e68efd8ce88ea48ba40a3669238e94e885036a03b94d8fd30d3e2af93204a79d5cd0879d896ae699d00248565562ac63c88fd602036dc5fc960bba83203f3007c80a04f97eb965eeac5a84ee2251b7abed28af924203d3b7668891fdbe107907b9a581632c7d398aa4e27677b6ffa33fd2d4a428ccac032adfce3e256fae1daeef4cd7bf335ebd62742a6c6973f6634cbcae1690288d940346567b3763e0be07a3525858217d4699a918a39037e75fa7d93293663d603d7403e6013d2f72a40efb439c13b336f37ab5654cfeb447076f49e36a9dab13c8fc14039091b7ccb0d7570d9025701d2545dd0666d00ea77867421d9b6a272125afcc46038ad414505a480919e1a8abec11cfc4face7ce13f3790986a682a030464ffc1c6033e3d6606c6e8c9c304714d90da3bf1dfa39ad6851b98c2f1d40bc296d2dd76e103615227784ea52a6be3676208915133f194b01c3dd81ca6803a3239ea7bfa957903c942e252ce8fe6dfb5f21deeea58d05c226f9916c6dba2bb49fed2d0166ac8bf035c4220e8b4587c18c274d6a9d2e7f108c1a358988b5f88b9df988307ac688cbb0384cb848d1580a46a58937626bf56a73d127a75fc7197d3a063d880bd40f98b730352f18b665a6fcb903e9104f4c44f92c4f00c9e985a8a800508f442387a97320f035c667f30be98243b88dd1bf9c5d26e77561d7d00118230960afb719675353c4903b1a7352b2f5411075efa8561ef0db6135fc70efbe03875b31c07a24decae4faf03ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03289f70f72b62a4b6a7b740b570f6e9fbd3d8d85b0d1b19b4db83ac2d0007011bffffffffffffffff03b61098e5166791285ccb4545fbe4bc29507715b64fb891fa3bab0bab20be2d5705581e03c456b8dcb5c1c109796bc5f7ec896c7d0b0c256197592eadf8ad978b9004010387ba7b2fc9d36775437342253750bacd2eecbeddfa3e4c717566a2693404d67201410703fca74b97ba9f99c9a5f1d24e62a2aa77f449048d1d74cc59293dd784331029ba05581e037fcd980dc8b82b18999a3c352312c463c2e71c8dc9ebe3f79d7b00b330040503c45ca6cb8cf5ca1280be0faf9f479674de2a3c3c92905cf2e7e80bb8021538a105581e037a66612ed74027c8513f633b91366791c97ef77af38f950ecc797675800c0246d844c1f022e00459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c6343000810003303b7f373a0a86ac28183411aae50791a2bc391a019aeb09ef8ecfe04814adbdfd903c58cf7d4353de4111e2bd4fc4bb60b89c0c4c53104d4f8fb5c4c76775020742303845805d42a713ff8f5f00a9de7428e3513a3bfee69b92ed6095c70696435492203f1446d20a0af45a7cc2ceb3278bc3f11d06f1f90fa3e923432354f22ea3765e70379a90e54f8f3716c640663e1c627e32eabdb3028e285a905aac0e5852682cc9603869a23d23c0c37fb8ebbb8675b25e8716afb4d8690b282af5c8bf140a4b3dfce03d753223902860d2df76bb0882c77e3899b2b047c5fb3b68d46d4fbefb4625e3103ae8305c193f736f0ffd4c1bd6b1ba35fc663ea468f12cbe61bba524c697a84d503c55f18a62d402900861c9552adc865aa4735550d803775ef4ab340abc0848d2b03de24178ab46eaaad5172b50bb5f30d346ee56084ef1d6784c38104a0ee379cef03e54846713437109b151a4ac561eff3aa59ef120b84226d9265999bb1895591af0334fcf3d565338c7ae8b1cc668aff38827779fe99ca01bc93809403e4e8d823d90359f337a07f070eee275a699c4a9f9dfeb9d9ce8a49c087a0b06077db37cb13f403a9f9598bf5af2f65f8376037ab5b959b4557d950ad684e436727082713fdae4903bfe910e22e7872f10af10419ef7be173fe70a40fbeadeb4890be03f6c441fe4e037c88ce67dc9d562823861cc525e6f0834b0e690f7507a0ad5eea83453f215c6403a2adb1707a3d2c95ba34417c23d78e0835001ad4ff7f513ec2dd9256fe51de6e0354077e77921dabf44182292199846822fd186cb45ee70f641f2abac1eb8f472803289742bbbced38ab62a8e1bd77ac11df414321e35ed476be0b3e58937eb0294003610a1c0860c4380b3d96bed20528fcdbf1e91418315a52968519671284e9e12703997a01387c80483238c45b7db516a07a81e2a5da0d3a33174ca09efc0f2f527703f2c242f63ae46309ea491bd1d8188f67da4282e54a765402b76bb58b6a01846a03528944a62cc442853bf9abdc39c196b46a9f8e222b450c772e97ba299e92e77203751fec05809f926f84ecc62baeba29afed3dcfb31c34b34fc963918dd248d30603184b77770f403dae6c2968bc19f56efed284dd7e4d8ab0bffbee46d7244ad1dc00581f03fc748a363568c881a805146294de56f56681a5b8267725a57bf8abd8c16058207870f9f54b39b5c72cda67d049642614c25d74f450bf92ff2b83e7764504d39b00581f0352103267700e21b7906eb55d43294aa2fa869fbac4c9373a1877de732f20582054c0d890ee38bf4fc0ae47f77b41a0ff0467f7908a5b4ec085c35814d6a5d99503313ecb87d5303025f9d0cb888426eb3f5e76ce8f9c23ae88128c80c35bc5daf200581f0343392fd37147383597bf7b5e31e3c0b713ee0e70a79c8ad9be4ac753e9405820f1f71f106501fc1307e931ae3f49736909b03ce38c37ce6b5c25b744d7502cd6039934c8aeb27dcd4b36e8e2a1ea56ac25853ddcd5edf1300f2b2c94e26fb4f7a501410903beca58e54513153f8a0a648db1bbb6f0a51536bc4273d88c07ffe3023ba92e3900581f03d8fb4a9060bf6518746f74e80080170c5356488fa6941844d141638227a0582039366d0a200311daec3361c08b0759e207ac0f4bb96e32476b9bee84f6901a330339f98346754b7c0cf07d01049e217fa5ca837e9319d984898dc0b4b561ce3d5b00581e026cdfddb1226d1a68b7bee51a58b43c2b4f0f752e87603a86070275b84f582072c090f63549ce0374d34c4d4d97dbc45485ce05ad3b4bd0472b324935efb52500581e02137db6e131133e7f2bab296045d8f41cc5607279db17b218cab0929a51430da85902190500021967770219ffff0328ea537ff695abd7f4c2939b1cc7405fcfc1daf902d595a2f148c0628433ceb7037b14adf3d04af0678302dba3b10b603721fb4adf3cb4f2c470914b72b51b03c80368e48a54b266d2ad2726a5bd74cc38e1bc89bf0f72271e7432fed7ed0ab72f62030c3f4577a64f85617d911f40f4919ccd01caf99c6b0dd75c738bbed4ea29c40f03f36ad408478e3bb9af16313ed8d2e76f6ffbf14f41d969cd4385a78378f92730039400504d651696ee8b49d3cb85f090b9e1cda0a7cabd383fd65f997dc37c8b2003a2a249aadaf02fc7b8c58c1eff0bb57a5a68ab2c94af4392df18be0afe46532f032257a55396d791464a8c18f0ec1b0b2907b89bd60393d315a704a6607e167251032417d403a30d3dc3d847a8dd5d3cd591eb55a7f9eb856d0fa9ed0a34f38f4b270219ffff035ee7a8ca077dd905aaa4c8ff7937d86129219b255782cc5f4e060c09a9d0cc4e03e5ea99e77702b41a5756fc42bfa4a7645e9e466437908c620095bcb50235d61703c8f07f42506774fd216770176bb67c9c821a121de2bb5cd17c26a61a662ba30d03a511665a547d9af4b3dcd3e762a3cfbd95b78c1fb77da64d7872d4a7f049c82a036121e874e2b811d94740c0e10d39d5e7bb5bfb889eb98f6865831ce1d9fc86f0034a25f73811335f79127ce7f240a15fff4b63838cdd0096fc662f2a02b9eb9c2a03a01432e4bd53e192d94f1d29f6142c24dc9f225277852a199e7e8de35c7ca39b03eb48f98f94ad26c97d302829f2324c74931b7ba1b78f8526dbdf7d4d93ba366003eb3c6031533ff42a26165da80422b381ec0260028e010958c8ff904c475c24f4030eb132be7783813575d26b5a34cd5a180326782980807ec768e7bdee2bf095ab03a23b8cb688177ab26cea00f129fc857b0c8dbc15c9f14d05070e54342fb3ed6603ae5dcca120800897f310743c018b10c6bf963b418d55c958d8ced9d51778183903a1d88c8cc2bab2ca5c6e9149cbd6bbced580231e9e30f00cc41aa5a71d0e7040039c894e9bd7ed2c141cc12a6aed39783fe2b1d8b7dc7e825c97a22de4ead369290219ffff035e69bc2934f85d2803a0103f57c64a474c927f9d461b43b18083bf148023ffb403fbec23fb0226494d78c3a264cdd6ab0f7ec68279f23d182c3f11b82e737ca7a10398b9175f3b76a8c64ad4c0cf9da4fb51620fda2a1b7f24546f204a65f787ae9d03d0d75df516f28abaaf3fbb20bd1f2f3b1ceea4884cc71d28ad86e612e153e17003c5a38c49b66f10ea9087826cccb952a841cc261513c9f4e3f7188ac52a1e97bf03a1bb952240d8a0eb77ca070e58359103ad2723377eb1629542dbc3dbf2dfd37003fc3d2c916082581343ec436b31a4b9f668e7043f956583e4a33263504326963303cee23e06831b549e1eec84d4dedd6ba6e184b776409c424aad72275fbd6ed94703bb971e526ea68db7735c50b1670fb6262dca242a20ffd96f98b91213913a599d0388997a02237b9e742c9c299a2ff6978bcb01fb3117af759d0ac199d4156bbc2a032229cd3bf7d9c40216aee0d277f9c94947e9d0d29a2857b3493f7d708ecb83b60336787bd6f7d1311fcbb2c008b218eb35ef9c87ae3f45aac839fa5319df6c319203142ac0b862fc3bc3eef6ac7792660ea28f5ab0b0e7c9ff7c78d7d1e7838a5a2a03d5d3d1f6f62a7839638e62accab7986ec26238dac40c6fba2a68b4c295ed6872038e9d30940cd6e8adb97d616b0ca2e7427b26c48b6d08e3961d0ed490290f2723039e589d48d98015a3bd129dab8507f8e6adb4501672742460aff2d7fffa5d5c1303f605dcfc1051927310e0b2772f8c39eff2e60c69a69a94368c5051a3969e6c7903fe311ed18427ca517b943ff78d77e01d0937c3e6007d17e50fb79f7430a62f5c03e153759046046ebf54365c735f4d3da709dc9099d9b80909b111434dfc00ad5e03bb84e28f2c7303f02053d7a12678b228d9d15271f5c8dfa28c86318866204aa80340bf49cec80918e009ecd75389c58faace8ecfdd2eb07f6b43cf17f56b47b0ba033f9340170f75af99fd7e5332f61960826751d2216dbc2d0cac5c8ed58654107f033bc284b2b1618cb2fc890432740640430cfa44dd884570b84db40fe0a4bf487903e64cf4b1dc67d431ae45e98f71eafb908900a16bfc604c02b24b8676dc538e76038b41035438db1ed065a95070b8fbc2638d49030b8002b28a78b204bcba3451c40377cab983a6e2c847e7e55e62e7b1c1e117f7c1e0d2620fc45a810f1b3fa184370313394eea0c21248440611b422bdc260b1fa06ac233b420c8c7934646516e1d5703a62000bf9e55d79baa550f17ca8098971190baf1e6c245ca45fa151fe8f683ab03fcd4a0ec2481bf2287ecae3101210a7be20b3ce04b52a484b6da9182854c17b80383edb47698f52e8d0aa5b783b1acc472d01bb1275d55f4b39bee3b008ef38857036ec9a980bcc5953e3c03acfa8b8d78101a6adee8ea7f70759116a4d3c1c50cb60381f72ae279eecd26ecc84da663e1b48ab40f426f4b6d058b2885d3bf26ee4a6903b45411a3babd0d982d4e1da18fcd71d06c65115bed85417e671b3c05f6e0be7000581e03c9d96948ddf4bcae7c7cc1f23750f77779ef7cfb5b7e0dfecd02e51d80582092411b2f1520830f3eb790ddd5a55f9a1dfc80fcc69bb16c7dd1832feb93913b00581e03f5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054eb803eb3f501998126bf37bb823646ed3d59d0720219202000581e02ab40c5ee046b58de13c072fe1aed84721795935904da9446546b3b06e958207eb7e6b30a27cc783149dc8e2d840a5354c129d3718e094d26acea6accb209320219880003dfc612e87a1440941957e3905573584f82e31a5e8fab1ab194b31d7872fb261901410d00581f03d1003d0d9e08f5a965207e559d63d77e8c545543543b43aa27f7f001159058200f3c6016b925a0f1952429af9c23317a06677f6fec1eaf725ec6f6595f8a6bf303a96d8bfe485e8e11b149143d5d8a8f4c7574f5f418c1d68c7e6b68b3a74c68ce03a0342b3862d0451e842de9d4ea4276f0fbd9932690c7bb94e9fedeb0bc96f8e200581f0339f9c59057cb42e4a4ef3e3c85d16932cfe0e6b1aef863fa0db4d7ad884058208ef7b67b239c49c640d850f4df0decaed07a41cda3bf15ab7fc6ff79c9d3019200581f03bf74f9a9e0f0e5ae36a447d9843d84986764abe3164cb182f069eefda940582061c7d3c380a8b49b3d46eb482fb6c451b25ab928096d6b428308d728c4c101100315c92c91b10de3c295283f9301178df50df9c2c18af4c49800286c93e53a209d034817455590008e3766fdeb6e1396fc88977e64a5581fdebc05f97809950041ba00581f03f5c8504ad6c6fbe7ea5c856947cfd5b52da51126717811f55bdde01e9d405820fc5d7528bcc166a154bd87e2fadb87ad0b124355bc42db4b10b172c91d7fbecc0219da3d0219ffff035f18bd619d7fc26f22b29b5e614b8031a55ae4d86029390568d5b56893b947c2038b078d42938a9d013400ddb58eb2b9a0205e49d2571692a561a43eed5c67bd230219ffff03c5aa45be835a85d70607524ce88433d3a3cd5eebb806cf1e906ba27ebb1bb1aa03d8bbeeeadcbaf89c57097d9daeb7f6e62e68085a8dce3661039425061705aa1b036ad908ccdb2ce75e66a1748be1e136aa41f53144bdd381b679e4206a9e3cfe8803af8a3ec8935bd8d8e5bc611218f58186b7e9aa9a12fca682ae84d79c08d425710379e52f45353bd869f5c6af0d49d988fa55a271e2054fa1594e0a8ad79e9d3ac403dbdcaf00f5991ad10d1dea0d4fde40b8ffd40e97c0f5e8a2b72772a08db15a4f03b9c129f220a09da9ecead88f16a8d9d1ec3f90d3217e7d6bb95bcd9220573422037c1104728c340d368802dd217c9ccdfa0db341b4bbf622ae679733364764199503daa750bdf93d7ac47d91e12f85d62b7efca994c3e08e6ddd53b193b28bd710c50309b5c6419401045d208b11268e8659945ec154d6fe81301d74da7d9ea1ae721503b43889a56069070691cd19defa9375be29adee442448324d2ecbd9b7ffc7d0dd034d9cd43dc2b0f48326a842ddaa10ac00dd30ec09b6235e4d2b596ee75837230703280466b510ff3d04d45ac1a5a733d81a84e51eb506ec400395482db42dd0b6430219ffff03d424f5f3afa9ae5bd98c49c4870217f55ff53d845a05e354ee1beda6b00cc46b03843373ef2a1a1e4991f8ddca83984d1464ae8fe81108ea7f11645d084c69a0a703e5fa3260f65ea5f6f3e7dcff2321f34bed6673ec94a15cdbed253fff9930bacf0323d9f61cfedfe53cca75f10e833c684378d573406b9bb6695ae3325a27c0fc9a038f79618b2a7f1d88837786a25a9f5e310da418f705229caf7d54dab360462daa0376d58179fd9d3e943e3399d6728f89c55a8f23165d11cb4b6abf8508eee3946e03bbdef3ea142e1c042e8628223df0dad46c356421bab3b01704fe75b2d63bea0d0340d22b0bd0d80297e7f63388ffda5dddc1423eab06532458d9dd0c6694e0776303216ec12d15c61413f41d3763dc4239aa651fa68018c4796fb4727a88aee0446b03d3df8c5f13ace029537914cf996256c7f2ab3941bad559f1b2e946af4ff4e0520393b45a91323094a7d17ed5835f9bb057788968e212fb873c365f6b88ac5ebf1603852f3b49e09dd53d2def44da1b0196ad7764cb6c4687f63f1092c471f376d3620322a4801ce4878025445d96e9e6f1253a8ca49d633048fe5f359817a5146e2f0d0334f269a056d786c6290882ec7c670f3ca14b4808a56b7ab7f6c0beab223fdce3033aa617839b290921b7342a85109bf75a88b6801204044815bc3f7d9eae31e26603cd768d419fdd2c4b9f0235c3545098278496d9c3fcf510040b6a117027ad21ee0337af7562fbfcb06450ed5802927aae921585f792d476276e795639c21128366103b32e71c2df9c491cad804966b5c488b86b9d8191e6adbb1eac476f32251514f003bfa9c1f0b79e02c466e7f00e33b57140e7ea4cc599cd42449cc05f7f9ec6e9db00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054ebaed7a81c298b24ee6d59c22698a951dc448e01031eb7e09cb20eefaf5dee7d85bc4d244ae3d68bf2aa043b0064a51db644b95c8100581f03fc2be6da64897910332f3288c658f29f6ae658ff9e23e23ed03157f51e10582058eef045608cebf4e4725a9353bd1e9a7f016be756237fd769f9a079342c15de03e248f5e5adba7a053964273ee20b9570f51b0613a9968f3f7721e2845da237ab03b6f5e8ea4c8bc5cc3b7661fce237e45cf23df29f6729e0f767e60859726bfb9900581f037ac073608fd2e0b856801b3c35d164f1dcb0530366d9d8036f12ea887b30582055f6da738b9692d5215107ec5ec59e3d70345ddd4809ed007ff3eb595494b6cc00581f036e843138c792250b5e4577d463f49860a46d39d4d4517b522fea5196cb005820f7ec9b05bce4c416bad401261e3e1aca9544ea2b0f3a80885cb499aab24f074f00581f032f333a031ed74d790b243b2ed82a32f790ae231920b6274547bef9a70db05820546f22a0e135bd687709e481a20f33347a5cb823bcb4789e2fbd07e13fa888970219754503a3f7f1ab406e1e6bcf705214dbdac298ef2956534309db9a776caca69ae1ef420354e1db0203dda744e598f5ebc0f89cbc4ae8aab44751a5e2aa59cc097a3c2d3a03d06961702adfc0fdcc3a7c8aa42a07e065aaad15efd37592a55e1c227a6f4b2f038ac2956fa9ec8786f9d9f7ab3f70f5bb75ad22907637b380ff98f6749e9bde3f03d71189d4d2e33b2ffce608d0b76cd7fcafa291d6173b9db1aa940cc515353c74038f1c046f48823c6b338256dc94e45adb1eda8d39cdc3ad949e909bdc85cbd39703005218b0400b379ed9e221a35e0aafed5d39e2cc35d03cae5683925024ec5ea0032fb1950f37f9525f2e50d0c11bc1d8336363ffc66bdd77af5c7ef0b32b31aa1f03d0e05cea2f9f312f0b0162b252be5312cba0847f2860139fb10090cc981cd0f20387dd2c6aa39e1ab991ac8e3ce3c2a6cdac5a24872d08d7f2c863c379d80ce259036a6227ab4a6e872baf57881aa04b58eceac6a0bede8b5f514b18886caec4671603ec4957e53875618a88342d0dd0cddf7acaf5e74368974b7b884680c1e0475c9503a37b03f870234a825fdae38d44539551fa3a01f414ceebfba0cedde27d8483e40219ffff035fb666188bae5523f44683c05a19b61283f701b89c79982db11fdecdfaffbc280360930d2696e9996cbdf9e3f7b757b747a25ce70a05c01025b8990232eeea2eb303d6d6114cc788a10a7a3f6e31052875e9c96222af609e202d5a9f09f11939356303ca8f69acceb8ce2dba4081ecd2a1f415f1fdcd8daece39ef7a70f98d9d1c84980219ffff033a83d870e0b152a66de96d41f8e1f8e2e1b4010b78f67782bb4cafcb6ab4068b03605d5e08f3e362199001bc90a30e2373a65ead6c0e3a92ea6dc94e139b541eb703e318c9f73e65faa461dc207887fd21bad29be2f65ac1a8dc62bec92c1fd1f7ee03cb5218b863a66e11b0d1ced1eb4a68958dc1fbc419ea2e9e1bb9b004a4346158030de4d5c037fb5d7aaa4da97d939e6038a4b2b957041eed3728db419fddb4b546030d679a50fbcd4afbdedf97e2b7152e506900883b5192cfc92752b6e266b17b7403bd370a371b5569141647c92e8f40257ce9a60f7e1bb29c2f0b5e4995595c55550346158c10f4661a42a927cd34ff875b78e271613aa306bc9bf352974ea4c7df0303c3cc662710496338d7c002e812c9fbac8843ec17c561db21744d9852e972b6a503c1a25df23490b19e0c1463e93a42e5adf0f5c3420585801c9ac9c4b26da773670219ffff03db738905f3a0ab316e8e0ecd0d8bb0898c87fb558990ce5d829507aea199cdbf03a99e3be87e9b23209105d3eecb82a4701a6478ab1cfafc52997ee1ca405f98b903a680c01b79be2cdf13d009dd8cc0312b3b9e3a575ccffd0cf2d1966c933ce60b03a34b26ad55ebced29bed081f496ed5ec93280055ad923b0cd02a3cfa02c7a59703be5e89ccf40f7fd6d88cd9bf2db331222dbb5118c6f9a1d169332b16ac089ef403784cda1b6248f189ea8ba0be89c1b781ad48d9ef181fa9517ebf57f155fa354e0309794786c1af0975057df78d9cde4aef5f7241aea3cb22ad236bbcd4e46cbe8903155cb479ffaded6289fd17650abfb73639c3b366495f6ca7ee2bf69be126407703a9068f1e649f57ef6424be98fd69bf791b4ed8f357cc6f51f8875bbdd0cfc19b036eea90ea07e6aaf8934ca2fc7535c52eb0bec4343c10addd4c11c2f0d7eb095103230a584873bd0bc2de84f280c5ede0409aacd97668c52a488f964a92573352b703887c3c14dbd24dd0cf36dd0daf11a3ec9cfdcaa7f281861240175adfef418a2a03eca8d235f6e1d59d92463f85765c7702363f576a467d855424c420c2b43e9a70035745af7fd1fd50c1121f56a3a75718c2485c2bfd4fa529d892a3478b8c15d5ee035917cc0119a48066083dfd24439b1f7d6f29b0e7eec4b07fb7bb9730944d587c03605fca63c018c4785737f576c1cdb3498aac946bc8a27991af1995f49614ba5d03920e3cbf4d3fbe77fa5f916e4c47a417ff3ce2fc732023526187f99f9fec367503dbe96d33816ffb23be9b5ba84d93790e7901c23104743a0f550454a4dfbbccc903b046754677a5d6a048fc4d27eac7b9357c5164c5ede9a6bcd9198e8069ea959d037b8942f56e62f9f34d3ebdb6dafddc17520658f5532fc0a6e9ca167e724b74d7037a4a141eb6e8c4547bf5ab72849d0ca039f5c06ca6da6a8a9483a0b09a30f10e03afd0356ab44236210295100c129def1b09208f232fbf1e65010a660742188814032aa20235cfeb7150a011dff4aaf462c3c5cdcb9693c8646d9c1e87addc9a5f830347862b13758df73d63e98a3c998c342bc1b222093af5d21a9eb6ef2f473ce2ad0344599786aaab1d0ae7fd3e3e8825e4ca0458f714f7968b957353895c815b22a503cafd9a283d813ad4e1917502225ea4e67209a86b53cc40a6642e50005fe85d3e030a8df247de31fd6facd0aed6d8598a9433c182808f1b93cb884e8e735b28b45f03207e02619b67c36a993714849a3053df0c623af933ad23e9546bebc88a0e6f4a03890e9c9926d7cf1552c5f57337c3ff9cb3fe37f59e80817cfc639eba3c2258b600581f03c33ecc2c77fc8944d2bce63e6189373c64c81193046f8c738038629838205820b28e0360c54767466ff3fb996431841428adf91784731e470de3c0d3e285a7f803866cdb095d3618cce0338512113b3ee6a6196294da19c1d22f73faaab7ea608103830d151e019b58b2baa04b164ad912a5f82bdf17d85857acb28ad0dc7744994500581f03b519423e10c9fee6fae87c0819d0a08570452a1a9469336cd7c9c11e5a105820186eb7571de224f89e62f6db89c82b3feb8ff4317163d87939d1310d0496eae000581f037ba1c6304d4efc4568eb766d3a5361f0f62e4f4f7c3894187658c178b14058205616bd039aac3280e570c8f62fd81c26c4246bdb675a8f3236aaeba42ea1848500581f031b970929f59d64d1222d6ca27617d9596d85cd3b0b0752e257f7cfbf865058201981c82d9d449a48dedb9683c868c086422805e0ad4eecdb1a207d641b5065be035797844cfe37ad5e4a27997b17746781e37770f213bb3069905ebdd3d3f56e3003615c75c297b528e0c8b2b4f880d8b87f25c5a2a56710c672ab9d458054e3826600581f031da7d34f0e925c3308430fe26a79732ca8e0a2550edfaf8b01e40eff58d058209d38f8ce69498f84ac27e29d86c3a616c78671111db17e57dcc780e09c7b06a9035e7b52c2cbb5d262b795fb8c27ad46f38ae2f4a3d965ab00b227a4976e9b1e5000581e02dd54dff8179527f1d09439a654856f48097aba4aeb39c502c64c8e7c4658201f57ceef920d3e106f63a633bfdbc4d229e280c67b0fc2df17da416d24c0ed2600581e02a02f2fdfb4093be763cc76f83cc96a8be847ba980543373615c0069abf58200f14d1b011852d0d3661a275d08ff734bb2d92806cad70221a40727be73dbe57021908200219fb73032bb8e23e70b6463ad03133a2bfad67ef7a816ac9abb2d57324f52de9b9938ace03ce54def7458aa2e039f6bc1a8702db5353d943741f4b104759fb2dd3e6545c600393cc6173c539200c338eadb07135468013811b99e1bb7b8584cac91357360a06033643011c1cf464f04a951e19600ec711111998e9beb67fffaed8a8c9775624f90328255c86394240616730f5a5f14eae2460bdcee1a363a2840f07b3acb5c47ba403a46a95254c00cdd164777cd95c34cec037b19b30cd58788a490e9343af10f9220219ffff0306855b8fe2033804c9779cd9fd6cf86d123299b920e88a6acdd3782556ae320303c82bffd305d3262bd135f3bcc88efec5435c083e1f594ab619b55cd4b1932b3303bbb453997f349d2e672a3e31cabb5c725df6ea09f8af374826036fd77144ce41036e7990e10b17daefd8017cdd5c7a89c6679d8261a973ed81f126f88fd6d7614b035827b552d6bac73210a1cee4c017d83ceaa907ef2b31584757fb0fedb00f8e7d030a78ef4684ab33dceb5b7114813dd8cefbc8b1fecdf4a4f6459d563fed1640d90219ffff03bdfcca7c8ad1c15395945de20ec430c5b49899d764db62eabd224793e3a6be3e03756eadb4d15a96e50f2bfd94be7349b75c51b56725d417cf0c4c75d2fbc9323e03692eff0c3cc6e2c1977eae76053c422bcbbfd4023fe561abebca5870434496b20349be327cb15849dc4ddc3dfedfda07352a6f1ff72a993933dc6dbdc25ee4032703537c090ed44a0e9e91431150c01eeac6a90e7c56d1542bd6471a007f301c51e20323aea94509e8b6c48bcd01abc69371a648b9f3cd25958f18b891e9db696c0bae03fbfc937b491c62f62579759555b183707a683e909d3f227780158b406232077f0219ffff03b102b913570911bb664fb69ac05f8d4e1bb9d63a84b640dc5c3847105e9f7d1603de8ae5241bb5fb3afe3ef812ea6c785170ac0cf11eff7c5a3cd33492dbbfc107038a370a7c29d8c52826c27a063533218ff7cac6863d69a744c57eb3e61b35c0c103b08c017b2e0443128640589b13d88d69f8f2f0dc15faa1930a0bde2f14c613380361d444c3b2a649e246eb8bad062b5847fb50677947b8aae5fc69142c0b3741780219ffff05581e03e0f9b8f4a113806f4398a7723a7cb71a4034ea331066a14f2862602500070119089e0219eb170310802d7f090da8d733f0f3fa1bdcb1f10a8cf595d18fba11bf33d9d399b9f42b0391eb42b9b271bda7fac2670dec33469cdeb50ac8c04c2ed355551daa101f6dfa031ca4df3e81eac0faf179965f6622fff9b5207518ab758f1aa4424467c010d9cd0219ffff03102ca86ff63bd05d77efd171e9e980bfab9e4f3dc6c342cf9c034cb262c49a83038360c757ef532a8fcddc14d8ac8cbb8ac9e5fae7d3fd3fb54bc14b14a9a65343031d1a9a4b9bf4174a20f8d85d87ae5dbb4790d32c406ac3ac3dcd119afce2e4cc0322accf9a318d5fbb208b298a3181ddb1c2f7a296e446da2d62f1c12d1ace6c310343e6ed41f9a2f21f30e1add1f491f1d3c18f85bb8f6afa8f9bf56e1fb3d4a28003e4de712f74c728bb82becb313137a73f9e4a02ae6b2cab93c99426a96678a80203350ff6850326106b1d129daf264abf227dd32249da820276077776191126bd9903dd2bb8977232239d813364031cfb0b82b392ece4035ec11e38d0b680befac58103b6952317ac47ea0d3f21bf40dbb899b24423f07cac5c987e22800178a6d91f8803fedc761f2b92666aa765f0e42bc6e62b3c9df9cc5fe1038f3b48e7a9e8a146850368de96e65da520deeb33e78576f500b6fd9d5ca10658dc64ebb61ac561e73105036672f08312c612f5081669427deee456b1cb392d75ce46e056282c9943361d35034a5c1e4819966401d7adf817c97f4a125ba062c8145d34d7fd260c909c11318c030953c306eb101298ee2ab521372ba591a32d94f65b4e604fee7c46cfddf96a620219ffff03a1c144beb8963d879f6c7053d3afc415b84ad02aa29bbc14e406d04831dbb75803c666d5ce27b6032ed0a578863f6379aebc6728b5d6378d6d6ae729033ba05428030c36b53cfa3a321bcfc9a59183a89b462aecae3c9a661d46e43b92cd803d9a8503f93a255d5bf9b037c2b102748a3e83c2949ef72ee1135f2e98fa0d8766ead772036fdf56d03f30eebff74351885d3d651626fe97cf76d80f90c9f17014e15a411f03e5fe740b6a2246d4c73a75085108feacdc1075fef5550e79d1e8f9300d805b030219ffff0395a524f7f5f8ccd19f403ef542c24e71a86ea7c81c8dc0c84d5096d5060b97bc037da9dd713a1114ced4bed0491076ed4a8d7a5199f57f4184f74597fd9a45cb3703ee3e37cb5c6f7a8b464bf51826c832599c8bd86ceaa3e25550a99220eeec1394034419e1cdfd3e8d9c7d7a79de8fba996d13415827f8ad9e2595a3373bdd90fa3c03ed57ae98a74a7cedcdc83301adf60e1e8613958f2c16df360320b262db2f2bfa03493050b3b7083cf78f736d48bf5ad8043693e78dc7a2e7867edcda6db02b42ec03250dfcf3d266289ec2b9cc886b4b7dc8795306c3cf80d01c3560d3ec92d7c9c5035847e7348d689bb9b3cab0afe61b9fb3fabfad348f3df7f068b6cb9070d350fc033fb30487eb38d62c8aec0f4d15be8955030bdef00be43e1cf8b3f1984ae8cf57034aac516aa3d2a5e177983355e50cef2ee61a723bae793efb8eb758c05ba8f5270322e8a1a244ad055ee80b00bf61f094b021123c27c5a6387549fd184fc2ce464c037a235f78ca7c628779c9395468fe932e7ce52e4db351faa5921dbe68245f613a03ebca223b80e9ad35b46c3ba98d71c8a9359a4b5abae748f064929af1fe10fb08033c5368df3945b05a2f9c5f9c648470afdeb870f34fcf3c2abe45521ef715795f0355b89269ee3011fa21f54bb5655f0070e55341ed33d352ead5d2106e5f3b014203522b855fcd01b6b69b358d46bd2e11acf7ca6dd005fdcc139a6eceda8648369d05581e03740c07589b6531ae0bf96bef8b6eec6602aff16e1d5061c406d10e4c100c01474346fef408d46d05581e038040b67792e1f3055a4eab17702b3e6f8cfd18a34fef657c822f0ee9800402033efa31c3d6f248bb364c09405d5488ef4052610da0d05c8a0256497bc65090220307f4b430236a4add02a596f7124b94e8f11600aa965e8d57e51c1974224e7cf10459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d581565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d58d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d58b8b613b86565b8715611aab57611aab7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d5908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d59087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000893f503fac2ee1e5b78665db23f9c94017aae97d1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d51693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4816939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03297ae5a9acba96c40b7e15b7befc0f30ad1955742e998e9e308020c4dfca281d036a4be5a44c07c994b33c6d9e5cf4ebc1ecf8527e8861fe23fd71c848bb10d65700582002f73ae3bf0f23cb012c1039a907e93d8b64ac1add4548e6794b9a93a90674be4f20eb13a3d95374b69fdd7bc8cae8a900582002653fc09fc27c51c1f4e087471ac9e4457e6d7a64a7a2891e0056e8c799aa74500dee8105c2d4263ebd23ce53fb5033a1036a13d67d09bd5cfa4e91e1d497ef2ceafbeaef705059d4d197246cc9cd1bb6940336c3de62eb07570ffd1508ee77b1ea96f9796e5608bcf83ad6c314d3fd7aefb5039c0cbe9f2c73343ba03751746b262ae8288315e41fc926585858bf67e0c9245a03aa099c6f4905222c6029e87ab89ff942e4b0fb09f544515ac127cea11dcb0a730330d9baf610026ca66454a99e40bb36689c0a36e12a256f8f4a6e25dc6073cc9603fd139982d9bd53fe4328e5691624773eb6fbcbdd0d46172dfc6c92cbf1c3fb2e03cde152f3b90656d879e84370b11dd44e52f273a815f4f7e37b92ffac35a75c0c00582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010000b400b40063ff53e700000000000000001c49fc567ac741aba2e0430a00582003a60b8244d3b63ca773fdaef66b674318fdb407395675b8f86532ae3246cfd05002fe7f06a8aca071b0df829026c47eb700582003b850d219fe6f39a3bb17da966fdb0ed5312c1314c339946ad7d7c37d31b7c050010a80a74144148035f9f9b3341e1ffd00582003e9e7fde5bd03e606d910882c3714d5eac6ac0d77c6f6ae23fd93856f5056704f5a07f185ff08799ae27cc43c5592720058200338eae0432693c6151182db971abdb7cc2011ebeb37948d8776c3681b1895d04f03818afb7d77d517ab43611007275c021873039ff20e8211381178061877e6b4f0221268d36745113521ea33f3d56559ca5bee00582003a51ab505fc96a0952efda2ba61bcd3078d4c02c39a186ec16f21883fbe0160582001015c801500111159d03e6404cb56183775151941fffd093c7c0753667a90c3005820032577ceecc9d445ab959401ad970f0c763699972eeaf69aa3303067da7da1f050017159d41a52b94c7df16bba7a5c0b3000582003bbe5334c0637bef476982e64ff3bff4ebc571d4599ae7ebda4d5bf3b69084058200165f86337015c801500110ffcd7d61b73d15f974002cd3328fffd60ae9d810302191810032910a07d8bb9ff704457816b5af14a81909f84f697e8eaa2f65f587fc0f44d8b03672f973f18ffb8f4b33a5c0fcdb0a08693cde3d5b646fc721ecad45fda9e6ee40353a3d7a57fc1fa43e9ab0b4025880b3fc7a3e068fc814e47bf7728f20b6b84b603cdf5559bdb1118ab0d4fb1101a5e83c6290bc7fca8b8ef08d3a7788e5473cdce0219ffff037745825940a895e193e55717b65db98d2e8a6d05c89298179271a4659bfc958400582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c0582001015c80150011117214d0b26b97dbbd1dba83394ffffd03735c601f66832c7f00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0500173b01feb5531f28580634a01af68b903b7ee1bd40dde9b7d910e09b974425a99a17a3105052b414a2e6ec506f99bf5f700582003804b1b10dcfae851318fe85af3e9c03eef25969d019683452c8cfdc0cbc720500160e1c26ecd2807cae3c8950fb6a14b021910a20361e212cead0c30a6abf576bd04ea003744e6c6f8b1a41545356a3a1710694028032f2a7975b4415b99fb98b07ac95f75f3b66d27d1bdd00c01744c3142128a2def032a9795d09a1c008d01e7d08cf91d044ef0367aa2da135dafc36480210e5af944031a683d36c649baadfc89f7c6ea44c8b3544c83a06f816c745dd45c7bb2e8fef003d0445a6090dc25e0483ce4832d08d48883e15f00bf2a3d932a629040386bf43f03aff0aed846944a6e6b188d13f18736cb9dff8fef2ea49932c5c107b2dbea594d00582002d287927c3ed84a462a9c4833094df610ce50f4538d6f176bf37f027cb8ca135820010003c0b400000000000000136ec6db0bd29ef646208ef044fffffd8607b76003e8aebb23a22bcc1e4717a1c2a39587626bd32c43cce05581d4a7c202299081f803118044b8d53baf0f71bf4250a3741a63a0f0d9766b9220260eb12b18bffc4565039f95ac921480a84c19c117022985f16abf53e9afe8e20ab0ebafaf5c98248e3e005820039797922fa4dda7728b4dd48771ac5f1aa3530026f35499dcd8968a1f370f605820ffffffffffffffffffffffffffffffffffff6b77fc54c6d03f2d116d959d6c1700582003d670610ddde201df76d856515a16f82e9acec0cefc61e395d560357cb27ad04f086bb0d3b74477d4224789723e645000582003b231447b76e273cbfd82c3d4cdd55cdc2817929363e8df377f2f9c0481c1305820fffffffffffffffffffffa26a8031a1e0000000000000000000005d957fce5e2005820033e1e06859b73e49492b3c27b75514574e4c70ac611a048f5a5ad300286291055400000004080000100000000000101ce31c8a0000002194488033fa210740abfd1eb20673957c3f51b6dc291ce8a13f2f5a240956d5d86690b2f03d59aac00415c3f7fa054489f236c35eb7bdf097ec288417bbad1390fabc9968a03476e97197f216068f194274fd89eec8c480a1c8d7b212199d98ec95b65df91c70391aa397eb438abf07b830e3b8b755538d7a620b8684942385019b1733e80b9b60219ffff03a8ecfbe0d5fc79c1d6e21909e7207ec15cb67631009911c08855c838d4aa2004031bfba70f15e52824a8eb99555e20d5080f10d871600250c60ac9043c226a77f6032dcb0345439397947a51563cfa6baae163a6d20f7aa6a8080ccf1fe4ea55a7d10331d41769d94c8f9295aad99849a43484fd7b18cef472a3da326861602d6b1d1e03a265b31e09cf458eed753de3eaa0a0ceabfcf822bee554e9904e99eb9acc61e503a362eee9981e3193607b161519675cf529ad87fadbda65e1d044e47d54cb8b9a03f273be60130a4e9feb09992c2116eae5a5bcf3b45fea3670e44f86e065313d6d039d5c1a3ad2dcadd6bcd02bd242e62e7b05de5a9b8bac21cd7995f3b62e7823aa036f9f6852516e1ffffa89a8c64f44ee10303462e7fa3c09fee8f68b51c160e011038b52c8a3ef18b4d1915f42500788fcb544b2cc2df8aa0557760af08cc16363e9035bef554222d78c79dc0c34b94f661bda578277963ce84fd6ac87a854a6b375f7035f9fda662bc734d15176932aff27327a35990379c5babd6f6880ee81a9bdcedb0322a1ca75b76fb2c3b1ec549be6c0692db8830f0e1a51a6c248b132991b974a4c005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b046537e0b13d7c20058200308d021f5027ec07f81fbfe9da54bf3dea3c7dfab90d25e933bec2ab7dbf8c05820010000000000000000000000000000000000000000000000000000000000000000582003e5d1c9bfd36be3af043bb892cd5c2438d184e15d752a889c62674d255ea5104e9a7f69b34e65efa2d3b9fecf54bd0058200338738c8a94cb41e7620bb0b0962f62ea7b9d07e79ed40667c7848ac18154004e11af3574196d83e63c96088735b602194c0800582002c788d058ca13af0a2f2c6d085bcdc4c2bf4a76c1d09adfa341daa91512f7e34f6b73f3a51451593d3331bbdc601a5203a56b076c7c2d9e9a36ff52b5597cb2d4630e562c74b47a79babc06f691c7be1a032d39ee94fd425da7ab9ce578705c315d190161f581e85aa559d54abc3be9b79b037aaa9aec425e392f1611e055badb313eefef12927845e6daaf1e4999ea51516903d130e81ff3a63637ad234963635e717cfb41ca92dd1847b2519ee61197fb5dfd0219ffff03489dc76c2db34ae54ba1d4982937d3c9925c42bb1bf714e02e84628030f3bb340355cb42b513e907473660ad1dfc9e5efa16c6455fc69bd7ac799bb4c615b60b44031662dda942346e23a2ce3c040416eed192d22866e16f34f777b0148fd01e5b4003fdfdaaf878dc52cd8bce96e1ac03b5a30b60bbec506d06183b7f028a03a559df031cdb388cacc5ab9df41fef068ede2c84381e7dd142eb8715fb558870a6602b3803b1e3ddb2cf5d5a71a2b94b233ac36bf886b4bdeea80fd4dd4ec3e854b58f5b86032e0f15682e09ca1096277c0fb2d168e547ba0238e63c5750f9ba896860442b8a03465b78100b0a7c422f307e0fdc1f80305d81e9bcc0e694fc8258281dd5b80d7b005820028792697ed876af8b4858b316f5b54d81f6861191ad2950c1fde6c3dc7b3dea582001015c801500111165f3bf4e6e00cc2633c6c1a7d1fffd0651bdf6eb667ee82b00582002ea01db3febe4d7744e490a1119043f12b20652f334d95f654cab8eafb3c9a84e9f634d7af77e8ceb4b05c345a18b03d26c377cd887e3872a198e5ca8402aa3d581c90a50122842b843f6b30f3c3c1c03f72f7a57eb4c8a1f2ff4e651ae71c8e675eba1804c29c35937ebe40ad6cd044b03b5ed759962a11329999871001fdaabb3f721ed4ca21271b55db6cf1c677a96f903d4e6817fece776b57fcde6f9f80f41d815dd8f85be3b52291bb1b72970552e59005820033cb8ece8cd1863bcd6082d65c5b0d25665b1ce17980f0da43c0ed545f98b40582001015c80150011117f7b942d8bc61ea15250e6641cfffd0050e1027b6687d5a70058200320c772d5993441de7c5f1dec2306629c4068b82a3efd38fc8b705ede780f004e1aa64dc89cc2a13161af0c81bdd100582003763e6b2fea36ac0c2747d34bc4a76ea930f2123c66a94bf295f7dc1f3d4fd04d3f7e04c9527e7e7b992573f6d800582003210ef21c9a04704ccbea5b76a609ef4c66e7d5136d16863d52f6c9ba46d3804efac4177484f8bf34c2661a2775330219443003cd1ee069928392570f52295303c9c8f8cce8f7555168ef434918afb4110d6f0c0355c2b51e2fa6bd3602cd8582cbefd0759f7c602fabc1c19c7538bbc4d091fd3b0219feff0312f9d70ebd5f7fdb94f0b5f82e60a3992fcc9c043aba61fe7509a6c931c422aa034bb8f3f8dbefd1d31aca27976577dfc756bbf0016464a74413a95cad467a8a0503150cc755b77d351b5c346ae21b20319441f691ed3edc409464a267dbad81a22d03d99d1ff7e179dc8bdf23de170deaa3ebe8c63ef78c5e5e9afba1cc6e20493d890219ffff05581e03014bfa84ca5492992ccea41dd4e56aa75c73883fd1e5ea160207edcc90070119567e05581e03575fd3c850447da465dd4f72803e3c0f135f83e10ff7801c0fbc05b6400c0246c2954053561803088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e03c19c3c47a9512b4177d1867be3d32bd563499aca9e476cb6bad6e95df007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e036c48de17ed97d69b01fd397bc51e0142b4ddbd7495694feb6c0bab8b2007011bffffffffffffffff05581e03626823e2462bfe6db8ef79add666756ced9c45f54ce6d7c5a6d6685600040b03a92b8e93c1ecc9bd899460f9587f62541562c22248950e5e885413586eeda09e0219735b0312e13c4238295c271262211ba283ae874c77dd75b18820301a2811bfadefb94803e81227048a875bc0feedf187f05486e272e13b55ba54ad7b9f9229cca9dde06e03502361238be754e7677d432f97ba6627804c9fe54984bf4ec956718bc803b244032ccebf765c5b0e19b4581148b8e82d9456bf163a33002714af2cdbadffae913f03c6eac2e13dcd023ad43cc84f499ef4d4260f53db6156281d7e39b27fa69c525d03522c288587e3f49d80bf98d039d29bda29e09c3f674637344fffa50715e02363033c08f5546a5c2f511976d1bef90a151b0531d3638109fe9d70e0eb1e01e455a1031dc87f322c931f390e64cf2b7f55d7924682a0b309d5b409146d4213b2ba8be50351340d3a51a5290da2963c5e8fc79c5d73652fee7324c27c39dc63c1e0fbea5f03a813c34039f0603d0d6ab1ce98e9f225304975a51a91be1929c56d952c679443032506cb65e784095f5e484a4bcb9bf06bc51e02e129115e0f734eeb38ea4303b1032092dc0fa8ff553d36cab3cf572a21071806e59e9fca670f33add5f9990bd6d50219ffff039ed46da3e1c8497d3f4f6b0ac7696fdc642e912d09ee0a0707c96c2fce7c593e0304e8a228b3b6922efe757b230e924fc12540e8386766cfa598680415adf5919e0341f2154f82d8dc1a40461796ecf05570917acef774c230eb2ba0bf24a7d20f100348c42caa3391bb53a792a7eeac690190b75435f43bfcada803b8052f44508406035eb583751e546e744ec10145d6e90f4a4aaf7106c291f462bae20da8476856b003c695c10bdbce3c8082cd70b445ec51b9d88587922bc67796766ca046a17b123203955797656a41bc091c3d4060247c94d5a4d6f77c99d658b42833620fa863bd0d03c9ce2618bf870e87c185d6cd4c25ad61b537ff52d520d1ffbd68f6fa89e15d67035a4a8f1290717c5f41140e1e29dc46b3b549e01271b9bc9635842fe556df265e033b60c2008392f60591215a52a67f1cfcf1b36a6789b53c3820aa744f076572c303426cdf05c58cc849e553ec2da14b698ff5b6eebe0ed27254b7261faa05f406a903025248c2de5d3c32425e7fb6f75a64473947d1e3f680579680df5652834f0b8403644bf23599267b53f2d213d631c5f92be3f809fa0cc89bcf81ee9d953eb3cad30312d83427cf0e2cc1fd587b5b34d88a22896046c56bc135839d103a0a9423cd2f034bcd3bc1f0898af6d0265be7ef3e5b2267372b2c7106e68dc533cded79520d620219ffff03b92f0d7868d2ba9213add1f2e398289df2585141cf74ecbb12fee055d33f6ca5032cd153215d233ce4be90c42f5d1457fa1ab7a590951e9eaa56f3b185202929ed03bfa21d04d3df801c01a071b318b3ef4625c0dfc6d6caf28d24fe8f76f7eecdc403c8bc618308956532ee5e6261cb6c56cf072abbff2ada41ca9c18f4955f0d25cb0219ffff035d7682a6111b860f5b35472727c8ade19a8048bcf33ef2dd0e9f7f29dfa0d3f0030d6aa1b2c34574e719beac723fe75eab136f9a55f2df0b07c0882f9ae482a767036c7a9f715f28183812c76aa8ebb6a2ac4b7ffdb05560470d5fa02c43870dfb75036edcf518257d29d51debc195b298d0f3666bcf955f336b3daa0c3d96510a72f203ea7865ae69348cfc0dce8fdfb3e05d5db30cdef8167038433c7e169c6a5965fa034d07ca3820b623f7343bfad2538dd0f1ea827bf556fb216c0abca351aaca11690375690b4298b708f522ebf28bb2a117263e4e41a0bf1a835e34362f29a9af6bd203580a9bd226770e435101588c06ef8a6a8adadfce64eb742938dd91e1da7d6b57037d8248c20a788ba8a60b6b69a6a7a6a0f046d50a92f2676f61029d209e8e322203690434e0911f9b27338eaf599456e4969346032ee0de3102dff723085f7481a803eeb0952504366a0b74f7b21e70f62ad00d864b3fe25f895a23f1a4ba76cf80a10219ffff03d61a75ae126b591da5337315f3ce3b91d070617da571f5204b2c876a0361b748031f2bc9ad69070ff09bef0196e90016fd2b1332e80b91c5ce5513439af2138b80035657ca5ae9b9ced06882e9226a43c8ecb2501bc94833ee3ee3b394e042adaec50371db8dc31721f730aa315f5480108645e5398e97695f821ebb5ccaad52e4978d03b58846fdc5a4de9b9de8b649d58e35754f4ba47684d2a586ce7bda7eceea5580039e6908fa3396cfd956a4d12dec2f4062c4fa2bec00fd969cda520aee02875d2d03179ef2dcdbd091fec17792d1382ee30863f47ef6f0ba90cde500c1de82dd85a3034a251ae6f66a67f8b41a3a1cc8a6dc3827716ea7e5a582a76a4ab3174d89f11403aef4b052134412906064eaf7c7d45d6279fa90b67770733b1b2eb732d550fd4c03c94135a8315d8330bf97065c678fea9d4ea2494bac6184bacf2161c6ff5a759403823db71e1fd2bae60f3663b189b3a2ec272189609fafe2e06edbe55d853926bc0305a4c9572db42cfbe984fdfd47f70b43c8290ec56fa73d3138d535c04dc68d0b03d91142321c46feea05c1408902cba7154388ea115f47380242eae8471157755a03c80dadf9a78639da47033ca216c9a23a99f3cd508e20824dfc9555cf3a871bd503afca48f091f2756d0af1505491ad7643b561e4ed69d38abd5059da4f4b9bc0e003de3fe85a131e1c6c4d1804d06b7778b26b64e62d4ceaa341de20ba7080ec8e88037f64fdf7fec2fa215eb51c8a0d371c480a7c775915cb4a21b5fadf976c047e1603689860d0cdbd2f55658847a6a914f22e2ea48177222d6512484d4c1226f4905f034e1d93e10e7e3b8e7fc664a21593be49bbfba1c4143b3b041e6761cf453622b603a3abe3e3661193c9dc1302be9416b0b1aa33e3d0491887501013a9a0d0b0abc7039c8d2030a37265c807c1442c07da2c9424ec264f3ad769b01b581f6eaace3a9803b79beec1b79165b640a2180dfc60b4d541169dd8bfd0d55603fcadca14947b7703744d0a7fa615a6afde1f589d115b1700f5dd20f4ca49a8e3643c36f65904a78d03302d6db56c36c346b98118e8809078d797d843b05114d7175bc7c98c42d33045037736ce067e5ab6bef2cc4d3b5b0f8d21e8cca359851a93ab18ca605c835e6def0313f333a8059cd467eccc538a0bc0a61ddbfc73cc0792728d560d848e019cd5250370cbaff7a40be77afddb15114e6d7acb87a1f611adef55fc2f1f64d7e3d60fdb033fe0e8f4fab3b755a6df23a11167fd9cee20fb1e6c614a2da6f2e02d1ab612b0034bd7aee847258f517d6c2ab6780f59eeb2cdc0cc122f23a1b2ff7e33fc2d9e4b03a655b7e0c757b60b0424f3cad014debe8a73c92f94a1edf8db0e7adc1074d043031b65c2776bf46f6b8f30e92c80b34bb4472076196a5ccbc568c1fc333c2f9976030a7ad3e283a60459e6d7e3305cbb914400db5881928e18e3f1cde1ec4d1b128e0350f54849e6f066cd67cea94a538d6628f4e048e86cd124081d5f21ae520c696303b96f2f87c82c73491c419cbb6e5fc1005bf2b6bc9b3c04a11c4a56b8cfaa81f803142223cc41f9ee30b08d8c25b4bfaad17ead5d7e6576784d2246347768c4ce9e03b6f7b45876a0407cb66ce45890be0fe32d0a54842ba7e60dcf19409e498be80a03b7654266e68efce67a8171d0d92f42df154f9ca6bbdcca0c91d4a4df4c18ca500313874cbf5c44d9f9eca7eaf7d2baf1c48c9491d781c57bb078400b28804089e505581e0380829ffdeae6265458ee643e5a3da29275458233e15397455babc9f5500c01470172bb222e38c005581e03be54a563a1e6ef95928f99984b596be306870f1a8013e1f49eecaa41600c0146010a001b87e805581d0267e811ba743eec4bbc36766bea62ea2d0ef85c6703e459b18d321a3c040205581d0293b3cf67f32b899d5713c33fdfde903b37934e5f5b1623d45efd35be0403045908c4608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101c6565b6040516100c39190610701565b60405180910390f35b6100df6100da366004610772565b610258565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f36600461079c565b61026e565b604051601281526020016100c3565b6100df610131366004610772565b61031d565b6100f36101443660046107d8565b6001600160a01b031660009081526020819052604090205490565b6100b6610359565b6100df610175366004610772565b610368565b6100df610188366004610772565b610401565b6100f361019b3660046107fa565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101d59061082d565b80601f01602080910402602001604051908101604052809291908181526020018280546102019061082d565b801561024e5780601f106102235761010080835404028352916020019161024e565b820191906000526020600020905b81548152906001019060200180831161023157829003601f168201915b5050505050905090565b600061026533848461040e565b50600192915050565b600061027b848484610532565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156103055760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b610312853385840361040e565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610265918590610354908690610868565b61040e565b6060600480546101d59061082d565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156103ea5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016102fc565b6103f7338585840361040e565b5060019392505050565b6000610265338484610532565b6001600160a01b0383166104705760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016102fc565b6001600160a01b0382166104d15760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016102fc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166105965760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016102fc565b6001600160a01b0382166105f85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016102fc565b6001600160a01b038316600090815260208190526040902054818110156106705760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016102fc565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906106a7908490610868565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106f391815260200190565b60405180910390a350505050565b600060208083528351808285015260005b8181101561072e57858101830151858201604001528201610712565b81811115610740576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461076d57600080fd5b919050565b6000806040838503121561078557600080fd5b61078e83610756565b946020939093013593505050565b6000806000606084860312156107b157600080fd5b6107ba84610756565b92506107c860208501610756565b9150604084013590509250925092565b6000602082840312156107ea57600080fd5b6107f382610756565b9392505050565b6000806040838503121561080d57600080fd5b61081683610756565b915061082460208401610756565b90509250929050565b600181811c9082168061084157607f821691505b6020821081141561086257634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561088957634e487b7160e01b600052601160045260246000fd5b50019056fea2646970667358221220cfdf7962771b464cfb4317bcdc9e6575e9a265eea32707c82bf64d0c77ad8da464736f6c634300080a003303c192ee8d13f02c5108b36b9f5ebb77b7943023677364fb9ed892394189aa8365038f630dfae48cec97048abb105a16cb2febce06a809a0a07103fcfd485d5f54e60373892d4ccce366b17482746d76ca5419351164cffa6ccea639b972847a3a80af03bbd23d3839964a6eeb778b7aff138eefd9bb3524c15f54f244550c2cdd838d25037ee917e6b1d68c4ca169cc668e2e3e002d7c1cb70ebccf65687b7e0684c89f220379369f537986520cea2f695161bee79d8113a887eb33a3c15bd5a62b7571da8503ab2cd310927c517ee787cc3eefb92f87edf146fe6ecde19c40ef2fc848cb60ad031c4accf806a29dcfa1879dacee56e8acf10a10925cb7f40e11e5877fe133fcc903da8c97c0644245d3ef034f57615aa9b603f8d822b28fb4da7a48e597897bf18a036fdf7a864fe08789882245d892e801d9fcc161c1957359d3b82b6fd661f41c46039fd3ccda54f1e130d476e9d113b809a95ffb9165b4d325eb8e371d13e843a81c03e63d9fe1be9a02953c320da6ce75a4c2625933bc601d3561485b2b69271368120367828386a1181bd9ea85215c220c38b064432507bb914ca552b36761732b7688033d6536c09670a95b5abfbd8d24472a4f9718ef0c0b463d57ba3b5c82b457a44a031fd0d55e4a3ba23ac3ab77772c513fb9758a5d72f99d79f9f07f502411b36303039e1d316f7a94deb6b6faf1bf62de96717b0d40d17cdd6de6fd70993e4f9dd95d03c4d8b9614490c981d9b94d4668dc638be7f2f0df68827ff2b2ad6c92e0efc88e03395a8e742fc9b19e715a81c4eb9b0ed8400911ca9790988e677e724468ab1d1b0384f816c3ac1177115ac5d69fd46ca9a6a69018d4755b7f53ce9ad2ed45f0c27503288292c60a26ff3784761c82ae9db89c68a1768eb60edd294653a2dce3299a8303bf218794edb6b48ffc73602b94a308dcde42bb55dfe1b2db95aa3e2321dc4a0903a98d3b1ab8d429d02ddd9fb5ade01240b9bcac14cda95b002c666f1bf488a2ae039de8d7902df50925e6b090c9ce2236fdf46070a18854e81d60a013175344b5de03b2f1e352b8fd35b1ece9e9978abd3cccaeab6ebe4d20891c1be099df2c990a2a03605772bb30172081f42957b5b019daa944d0377e15a29d2f4b129a9a1870a2d603f3697872bcf19d21d596946737068064691f19023f7a490d659040bd02f1d7ee03c2571e6001ffaf79fd8ee6496ea264b3ea07401dc6d84132586ec69bcc2e5085037eb0f61494418beb42ab1ec7a95b812faa2ff6e331ba3e533de2122fd866baee03af44cd59e6d91b9966152cff4fd7c31d490c70471f156b530a6ee60bc6bbe5850303b9852c33f175343038498369cb29e23a4db9d563fb1e510320f89976e2e25c039250e48c157ac23830314289787306c676576e182d6991aeb8d28a3732aad5e10369a456fe60edc4fcc1db76b83e00638a0c16b9f7e073112b380b4152f8ac0dbe035d4123b7e25f6c2ed06b11e32406276ae655d0e5facaf344b67933e2d738eda200581f034bde57c3496b2d524d90a9eca98420a15197a48e8d0608787397dd2eea705820ffffffffffffffffffffffffffffffffffffffffffffffd3ac424c54310b92a500581f039cf3657c37f17c8eea2898748dbdca11c5131b65ef79f40838815beea5505820fffffffffffffffffffffffffffffffffffffffffffffff932bef5dec7c7d46a00581f035d81b0d08bbdd4ef1a8e3df105df66d6e98c519e3f8e026dd57d2f3f7a005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f030437e12c3392320dd05defe0c46c17f9a5874a7207423d389609fdac7de047a25723f38ba17500581f0308ec42b8209e46677bab18f2f57b4a57d38534efe799a7c7a07353b3a7204506e8d72cb500581f03139d0843f5dde36982e4b180e4004342f25d0da0291680e6f56d1a247fd05820fffffffffffffffffffffffffffffffffffffffffffffffd55323e92881557ff00581f03d91ca98285ae44fe9f32fb195e6b31938ea18b2e219339d86ee9be4b5f0049303f3b2c93f1a80000021943e403826ea0aa5d459a05dc962c63a857d79e38155e9e8a959f9f66972d6438de014a039585a2f51b2f86732cf7e712c9ae2733ee0950726997287825f589aa12591bb30358b6595b59c45cab9b2289fa3453600dd27326386a78fb69491a47fcb32ddcde0347272b07d223848ca912e4ae04b47571845abcdec0de5279f9ab78e3d75486f803a1776e818f58d51c6c550728e9f669ad13b323b170fef7df233ef91d7d6faa3703f0be960749fdea67790ac56138f1f17652a1289aee08068a750c8bd05446ecc00307b6f0b90293c2116a163e88b0803c4d66d7ce9deb5866feb637d27fe4b7bc4a03c4f47a3d77f67a3f387a07c65ac733539ea8e0f36174b153fb720a8cbce69d3703d66935d3106b2391e38cb3c40c8f47b4851a8acfd142f32d630a27e9b43b668a03204a94ad5e03cfbebbd24d8512b0b18c661d3f767d0369eced76c09b77e51c3d0219ffff03065b78ab23e6392bdd1b5714952534379430cbbf889b597cba267ffc740db5b903e922376111f036123b790fcb40633775f58aad2be8694c0d1331a4152e70bec10219ffff03c14bf9be34d537561bde4f22da04bfebbc84c5a50130dd762d54602a9bed29e20335c843e1b28f44490ddd41067d9e2147186415a73fd0fb5c26b46ebe53771a080314fb28f25cb76490faf8b6ec9bf66633d8c03a5189ca87ecded764beeb2064c8035cd9204a7c4cbb5f0af025651d3c0549d9669d72ac8c7512fca792ab52e6249c033ed1b96adeea1b18a5a46e2ba32eb3b35c9212eebc778daa1e4e68b541c9467803d0cf3ecf43e6962f55959d5e3e8a523990d7f9a53357b4fecede9daaca196ba7035d7b93f9fbf4f33769224695428bd0b7e62975f88714facdd38553beffd6004c03742c46e8639971ed1d4f2249117db155d4b3fc60c7a6696f730d7b895ca681bd03eacf4485a3af39d5f2ca2c458c7ad856c0a8b00f76fc2fcd91badfc4e78cab370399073a68e12c0432ea12f86de652febaf344ef729caf56cc8ce437dfbde14bcd03835aa66a1fc795a8932d9d6d7995e1f378e2fbff3435318ecc062547b4b277f4033b63ea4c26a931d6497c8eafe9865c7b651d0ed4980426e6c118864fc9f7c40003938135e6303d1f59c199cbbc6a1f5c33804a84242f374a10d357da4268defc8203e79723ea3a41223c53e3878a2345133cbc4c672840bba4393faa99657a326a770219ffff03b0ae7bb4ca5cf088b2e9ae89069d631a508efc3bb50ecad185d19199f31def450219ffff05581d02bd0bf74c1dacfd68e8c8b97177d07d52362a09807ff09d911f34f0a707011908c4021980480219286f034ebf8dd698ad62e36711e0647ca580ad58a58030bba724dc8108ea6e557b38770219ffff03944e01df1eeed880564eb299f1d77c4214c2c3f2b1a90d06ae1c5c0c168b5af7033ccae6264d21c797e45f51bb58e988c6f143ebc73dbb3d3e4a8413132b347cca038792d3d42bcfb17c8e2fe74614e21ffcd9f4d8101f916cc70304441a2969207b03b7280e29bb8ad7d4d7ac29bfcee5172457c95adea1c543c62a5199a6a6387be703b1d94cd4e9828b9aa161100e26883b11df168c1cdf157a9739eb1c17a420cdb403b283f5353c631d0f5afc3ed4231452619e86398327ed65447e1f520d38e2b08403989433ef0dd91e190457f9e164d7ad07ffa70eedc494447011a5cd016e236898038fd0b02b0238762dc85ae3d50fc9d24e69d22d87ee5a90cd73050ba5c74996450381b3c57627088f74cd9285cb399d6942db5955f7137f90f60fb0a7e52f78fa6a0219ffff039d5131506eb5d198b72c7fcefe6d3b480cde2124d77d7f05b742325e3231f4530358c5f6ff1efd072310cee2a6a0fcc064c2788e71faaa61650e12428327d1f41303265a3d7d88342d76533214da38b1930973bd75d0dcb7dbb524149dcee0d5d9500351bf9d277ac3e0c4dc41eaf96d5e9ff7a34d6c3d1f8130d53c227c108813594003f212868d2649d384375d090665276411d3d66e8ad14a6e1d52daaef991f05b9f03995231ddcd98c61c83ad6e3b1741c9b7f8180487e30c9aba1b4bfb190a5dd5ea03a45ac1c4770fc22b172dbe24332154f17208b1e15e875589715d930efc621abd039777a389f330f0c534b41b27fb777bf0b43ac1d316cceec23dcee3ed8f2d5a7603ad23125285a816bb1b2f222843e264e33d34133e997dee994216c3d6274599cb03ee5d83ada635f00fc6dc5a0f2034f9a96ed4f027e2131c91b5fecad6970f8cbe03aab8cd3b283faadc1df3828e7f75870ff2b5fb0b15634ffd420dce8507abc587036b52f43d92078e6a669f74020068f9d6194f3f663b4d1a9be377ecd0e7f62ac403d3b34ff3c0ca806deccbb56d33b50cb3ca7bd17dc03d4d1a6ca6a11cd2cabf9d03e0348614f0ec5502f5797780ebd6d66ec295fdc29d239a44c2574b83f52a8d1a0219ffff03fa9dd07d96b0afbd9d6bcaa8065480cb0ec317f20713e7b8e49adf76f237ed640361a7ed4403bae92a5179da74138a0e4556ff79ae62e9c775174c1de902ad39a003fbea13236e002b556a18db8745491a52171bcef09c332ca324dfad416b4d39d2030b597a624e762f949310cf114af090e0319ffc80744d3d176a8873422c6655a403cc58ef233b33299f9ed0d19b719827b0ec52c3034c631ef150a3cc430b43194803957d36b439f2738f25bb1cb4330fc58ac251d8f2e672240238deff8a860a44e60345c07d65574e07294b12e7e9dd55ecfa09310696e39c4863d70ad0895815bbef0335072bc5c0b76056df7ab5916793d6948c0383a973d1912236c4e555fbeac25f03b08101d3c046aa7ed711756573e339e1ddb3d9eb75c7339e857e29e7a5005dfd035d6625e831a8a413f1814bd10a8f8ee3f33c848a8635af89f3727258da653d0c036e4183e08788f6c4a0219fed68bb0222327b4b00aaa2d0cd743db774a6e7f100037827cd38f1d12ad8bc17ae34ccc8d77c4d319cfa72abe2df535f31ce00c2646c033ccbc0a528f7d1f00e68b4dd4a053d59bd795a8962d44bd647de80f46514f4db03227aa0a3db66fab7fc8cbca58c0cf22122012f67fc13eb1b114320b59814a0b50343f46608c0e761a4b697bec48be47727d2489537f07a775b26ad1109fd1985a503a17e4b805743e5bfdb15a13574a5dc97699c2be7e40a96fbabb436185e59c1bd034d8cc359cffed26c4491fd13b91a6e1f7a3a82019b3ebe3d6fb8d57154c6421b03757a59f48efd8ddd71f9760233807f953353661caab41c30b079e6bba4842d8003e0d6a3b6fa7076407b02a4bc4a88f440e31c731b9728d2b0c542cdafd321902703dc5e68ee5c58268afa53cca7074d5a4707be59fccb853b3d02e8ce180c7ba6bd03847c0561468e3e7d95b9ca0c037039ef3b0bcbbf159e4c739337946aa3e8d77403acfd76d306a4e314e9ab9e21e770089b10460f9b2672e7e0a1050605e9a969fd03921741b19d8d09dd0e85a98b9baeb1f61d87f144f248ba8a7260a215511235d1034af14b3972d195ce3923f76c37eeaa8d05d3646b9c769b83b03f883bedd8cf79032dac0bb6758a3689ed7d20dbeabf6cff78e2ad73161790b6612da215b619b79a03b19f48f61fea1e891a27b64f0eb9c79b3ed184fc12cd9b0e089b749a8c75884003b9728dec73579a1f6eaa6fce2e008d690909ffa255679cec67dce18fe480eeb505581e032be5ca4139337ba9f0b64bb4b0f2c51def85057824b0ed801fb7bd9360040803c6945f433b5f491aa79a7b27c61213742a6b35554a48cd54be5cad21c4743bf405581e0346562884d661af4215fde102d3fcd28c72f2313a883b584a752f6e8d9004010305743ac61ccaef2cedc6aee588e37ea72d71f209f6b5363193e0249373a4882305581e0392cba662f7cb5623a11ccf5694a880506da33c29f980148c3d7c89c09008473383ac553e400004592c64608060405260043610610195575f3560e01c80638456cb59116100e7578063b51ec32811610087578063e30c397811610062578063e30c3978146104bd578063ee45abb0146104da578063f09a4016146104ef578063f2fde38b1461050e575f80fd5b8063b51ec32814610456578063d632cf3514610481578063e07baba614610498575f80fd5b80639d7809b5116100c25780639d7809b51461037d578063a2f7b3a5146103ab578063a86f9d9e14610418578063a91951a214610437575f80fd5b80638456cb59146103385780638abf60771461034c5780638da5cb5b14610360575f80fd5b80633f4ba83a1161015257806352d1902d1161012d57806352d1902d146102ce5780635c975abb146102f0578063715018a61461031057806379ba509714610324575f80fd5b80633f4ba83a146102885780634ef36a561461029c5780634f1ef286146102bb575f80fd5b8063161072901461019957806321e89968146101ce5780633075db56146101ef5780633659cfe6146102135780633ab76e9f146102325780633eb6b8cf14610269575b5f80fd5b3480156101a4575f80fd5b506101b86101b3366004611e2b565b61052d565b6040516101c59190611e69565b60405180910390f35b3480156101d9575f80fd5b506101ed6101e8366004611eac565b61057e565b005b3480156101fa575f80fd5b506102036107b9565b60405190151581526020016101c5565b34801561021e575f80fd5b506101ed61022d366004611f31565b6107cd565b34801561023d575f80fd5b50609754610251906001600160a01b031681565b6040516001600160a01b0390911681526020016101c5565b348015610274575f80fd5b50610251610283366004611f74565b61089d565b348015610293575f80fd5b506101ed6108b1565b3480156102a7575f80fd5b506101ed6102b6366004611e2b565b6108c5565b6101ed6102c9366004612012565b610a08565b3480156102d9575f80fd5b506102e2610ac1565b6040519081526020016101c5565b3480156102fb575f80fd5b5061020360c954610100900460ff1660021490565b34801561031b575f80fd5b506101ed610b72565b34801561032f575f80fd5b506101ed610b83565b348015610343575f80fd5b506101ed610bfa565b348015610357575f80fd5b50610251610c0d565b34801561036b575f80fd5b506033546001600160a01b0316610251565b348015610388575f80fd5b50610203610397366004611f31565b60fd6020525f908152604090205460ff1681565b3480156103b6575f80fd5b506103f16103c536600461209e565b60fc6020525f90815260409020546001600160a01b03811690600160a01b90046001600160401b031682565b604080516001600160a01b0390931683526001600160401b039091166020830152016101c5565b348015610423575f80fd5b506102516104323660046120b5565b610c1b565b348015610442575f80fd5b506102e26104513660046120e3565b610c27565b348015610461575f80fd5b506104695f81565b6040516001600160401b0390911681526020016101c5565b34801561048c575f80fd5b506104696301e1338081565b3480156104a3575f80fd5b5060c954610469906201000090046001600160401b031681565b3480156104c8575f80fd5b506065546001600160a01b0316610251565b3480156104e5575f80fd5b506102e260fb5481565b3480156104fa575f80fd5b506101ed61050936600461211a565b610db6565b348015610519575f80fd5b506101ed610528366004611f31565b610ec5565b6060610537610f36565b6105758383808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525060019250610f90915050565b90505b92915050565b647461696b6f60d81b610592816001610c1b565b6001600160a01b0316336001600160a01b0316146105c357604051630d85cccf60e11b815260040160405180910390fd5b6105d360a0850160808601612146565b6107b3576105e46020830183612161565b905060591461060657604051637bb2c12960e01b815260040160405180910390fd5b5f6106146020840184612161565b610622916004915f916121a3565b61062b916121ca565b60e01c90505f61063e6020850185612161565b61064d916018916004916121a3565b610656916121f8565b60601c90505f61066e647461696b6f60d81b5f610c1b565b6001600160a01b031663c3f909d46040518163ffffffff1660e01b815260040161010060405180830381865afa1580156106aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ce9190612288565b5190505f6107556107016106e7368a90038a018a61234f565b30866106f960608e0160408f01611f31565b8d358861122a565b61070e6020890189612161565b61071c9160189082906121a3565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061126892505050565b90506107678463ffffffff168261128a565b61078457604051630c3bd7cd60e11b815260040160405180910390fd5b826001600160a01b0316816001600160a01b0316146107ae576107ae8463ffffffff168285611330565b505050505b50505050565b5f60026107c46113d5565b60ff1614905090565b6001600160a01b037f000000000000000000000000b0b782cf0fcece896e0c041f8e54f86ca4cc8e9f16300361081e5760405162461bcd60e51b8152600401610815906123b2565b60405180910390fd5b7f000000000000000000000000b0b782cf0fcece896e0c041f8e54f86ca4cc8e9f6001600160a01b0316610850611414565b6001600160a01b0316146108765760405162461bcd60e51b8152600401610815906123fe565b61087f8161142f565b604080515f8082526020820190925261089a91839190611437565b50565b5f6108a98484846115a1565b949350505050565b6108b961168a565b6108c3335f61171a565b565b6b7367785f7761746368646f6760a01b6108e76033546001600160a01b031690565b6001600160a01b0316336001600160a01b031614158015610924575061090e816001610c1b565b6001600160a01b0316336001600160a01b031614155b1561094257604051630d85cccf60e11b815260040160405180910390fd5b5f5b828110156107b3575f84848381811061095f5761095f61244a565b602090810292909201355f81815260fc909352604090922054919250506001600160a01b03166109a257604051630c3bd7cd60e11b815260040160405180910390fd5b5f81815260fc60205260408082205490516001600160a01b039091169183917f89d0dca869ffe08b709ca9ff5adfd5ee8d9de2750d0561e15df614c7a2596d8e9190a35f90815260fc6020526040902080546001600160e01b0319169055600101610944565b6001600160a01b037f000000000000000000000000b0b782cf0fcece896e0c041f8e54f86ca4cc8e9f163003610a505760405162461bcd60e51b8152600401610815906123b2565b7f000000000000000000000000b0b782cf0fcece896e0c041f8e54f86ca4cc8e9f6001600160a01b0316610a82611414565b6001600160a01b031614610aa85760405162461bcd60e51b8152600401610815906123fe565b610ab18261142f565b610abd82826001611437565b5050565b5f306001600160a01b037f000000000000000000000000b0b782cf0fcece896e0c041f8e54f86ca4cc8e9f1614610b605760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610815565b505f80516020612be883398151915290565b610b7a610f36565b6108c35f611722565b60655433906001600160a01b03168114610bf15760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610815565b61089a81611722565b610c0261173b565b6108c333600161171a565b5f610c16611414565b905090565b5f6105754684846115a1565b5f80610c547f6175746f6d6174615f646361705f6174746573746174696f6e000000000000006001610c1b565b90506001600160a01b038116610c7d5760405163fd85d29d60e01b815260040160405180910390fd5b60405163089a168f60e01b81525f906001600160a01b0383169063089a168f90610cab908790600401612860565b5f604051808303815f875af1158015610cc6573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610ced9190810190612979565b50905080610d0e57604051631cbfe78f60e21b815260040160405180910390fd5b6040805160018082528183019092525f9160208083019080368337019050509050610d3c60e0860186612a00565b610d4b90610160810190612161565b610d54916121f8565b60601c815f81518110610d6957610d6961244a565b60200260200101906001600160a01b031690816001600160a01b031681525050610d93815f610f90565b5f81518110610da457610da461244a565b60200260200101519350505050919050565b5f54610100900460ff1615808015610dd457505f54600160ff909116105b80610ded5750303b158015610ded57505f5460ff166001145b610e505760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610815565b5f805460ff191660011790558015610e71575f805461ff0019166101001790555b610e7b83836117ac565b8015610ec0575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b610ecd610f36565b606580546001600160a01b0383166001600160a01b03199091168117909155610efe6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b031633146108c35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610815565b606082516001600160401b03811115610fab57610fab611fa8565b604051908082528060200260200182016040528015610fd4578160200160208202803683370190505b5090504282610fea57610fe75f82612a33565b90505b5f5b84518110156112225760fd5f86838151811061100a5761100a61244a565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff161561104e5760405163a239527960e01b815260040160405180910390fd5b600160fd5f8784815181106110655761106561244a565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f6001600160a01b03168582815181106110be576110be61244a565b60200260200101516001600160a01b0316036110ed57604051630c3bd7cd60e11b815260040160405180910390fd5b604051806040016040528086838151811061110a5761110a61244a565b6020908102919091018101516001600160a01b0390811683526001600160401b038087169383019390935260fb80545f90815260fc845260409020855181549690940151909416600160a01b026001600160e01b031990951692909116919091179290921790555483518490839081106111865761118661244a565b6020026020010181815250505f6001600160a01b03168582815181106111ae576111ae61244a565b60200260200101516001600160a01b031660fb547fbbe529d240965181270c1e2e32a80761e8807dda1ee9765e326178bd6804a9cb8560405161120091906001600160401b0391909116815260200190565b60405180910390a460fb5f815461121690612a5a565b90915550600101610fec565b505092915050565b5f81868887878760405160200161124696959493929190612a72565b6040516020818303038152906040528051906020012090509695505050505050565b5f805f61127585856117e6565b9150915061128281611828565b509392505050565b5f6001600160a01b0382166112a057505f610578565b5f83815260fc60205260409020546001600160a01b038381169116146112c757505f610578565b5f83815260fc602052604090205442600160a01b9091046001600160401b03161180159061057557505f83815260fc602052604090205461131d906301e1338090600160a01b90046001600160401b0316612a33565b6001600160401b03164211159392505050565b6040805180820182526001600160a01b038084168083526001600160401b034281811660208087019182525f8b815260fc909152879020955186549151909316600160a01b026001600160e01b031990911692851692909217919091179093559251908516929186917fbbe529d240965181270c1e2e32a80761e8807dda1ee9765e326178bd6804a9cb916113c89190815260200190565b60405180910390a4505050565b5f6113df46611971565b1561140a57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f80516020612be8833981519152546001600160a01b031690565b61089a610f36565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561146a57610ec08361199e565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156114c4575060408051601f3d908101601f191682019092526114c191810190612b13565b60015b6115275760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610815565b5f80516020612be883398151915281146115955760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610815565b50610ec0838383611a39565b6097545f906001600160a01b0316806115cd57604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa15801561161f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116439190612b2a565b91508215801561165a57506001600160a01b038216155b1561128257604051632b0d65db60e01b81526001600160401b038616600482015260248101859052604401610815565b61169e60c954610100900460ff1660021490565b6116bb5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610abd610f36565b606580546001600160a01b031916905561089a81611a5d565b61174f60c954610100900460ff1660021490565b1561176d5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611710565b806001600160a01b0381166117d45760405163538ba4f960e01b815260040160405180910390fd5b6117dd83611aae565b610ec082611b0c565b5f80825160410361181a576020830151604084015160608501515f1a61180e87828585611b7c565b94509450505050611821565b505f905060025b9250929050565b5f81600481111561183b5761183b612b45565b036118435750565b600181600481111561185757611857612b45565b036118a45760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610815565b60028160048111156118b8576118b8612b45565b036119055760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610815565b600381600481111561191957611919612b45565b0361089a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610815565b5f6001821480611982575061426882145b8061198f575062aa36a782145b80610578575061057882611c39565b6001600160a01b0381163b611a0b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610815565b5f80516020612be883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b611a4283611c50565b5f82511180611a4e5750805b15610ec0576107b38383611c8f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f54610100900460ff16611ad45760405162461bcd60e51b815260040161081590612b59565b611adc611cb4565b611afa6001600160a01b03821615611af45781611722565b33611722565b5060c9805461ff001916610100179055565b5f54610100900460ff16611b325760405162461bcd60e51b815260040161081590612b59565b6001600160401b03461115611b5a5760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611bb157505f90506003611c30565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611c02573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116611c2a575f60019250925050611c30565b91505f90505b94509492505050565b5f617e2c8210158015610578575050617e90101590565b611c598161199e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606105758383604051806060016040528060278152602001612c0860279139611cda565b5f54610100900460ff166108c35760405162461bcd60e51b815260040161081590612b59565b60605f80856001600160a01b031685604051611cf69190612ba4565b5f60405180830381855af49150503d805f8114611d2e576040519150601f19603f3d011682016040523d82523d5f602084013e611d33565b606091505b5091509150611d4486838387611d4e565b9695505050505050565b60608315611dbc5782515f03611db5576001600160a01b0385163b611db55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610815565b50816108a9565b6108a98383815115611dd15781518083602001fd5b8060405162461bcd60e51b81526004016108159190612bb5565b5f8083601f840112611dfb575f80fd5b5081356001600160401b03811115611e11575f80fd5b6020830191508360208260051b8501011115611821575f80fd5b5f8060208385031215611e3c575f80fd5b82356001600160401b03811115611e51575f80fd5b611e5d85828601611deb565b90969095509350505050565b602080825282518282018190525f9190848201906040850190845b81811015611ea057835183529284019291840191600101611e84565b50909695505050505050565b5f805f838503610180811215611ec0575f80fd5b60e0811215611ecd575f80fd5b849350608060df1982011215611ee1575f80fd5b5060e0840191506101608401356001600160401b03811115611f01575f80fd5b840160408187031215611f12575f80fd5b809150509250925092565b6001600160a01b038116811461089a575f80fd5b5f60208284031215611f41575f80fd5b8135611f4c81611f1d565b9392505050565b6001600160401b038116811461089a575f80fd5b801515811461089a575f80fd5b5f805f60608486031215611f86575f80fd5b8335611f9181611f53565b9250602084013591506040840135611f1281611f67565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715611fe457611fe4611fa8565b604052919050565b5f6001600160401b0382111561200457612004611fa8565b50601f01601f191660200190565b5f8060408385031215612023575f80fd5b823561202e81611f1d565b915060208301356001600160401b03811115612048575f80fd5b8301601f81018513612058575f80fd5b803561206b61206682611fec565b611fbc565b81815286602083850101111561207f575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f602082840312156120ae575f80fd5b5035919050565b5f80604083850312156120c6575f80fd5b8235915060208301356120d881611f67565b809150509250929050565b5f602082840312156120f3575f80fd5b81356001600160401b03811115612108575f80fd5b82016101208185031215611f4c575f80fd5b5f806040838503121561212b575f80fd5b823561213681611f1d565b915060208301356120d881611f1d565b5f60208284031215612156575f80fd5b8135611f4c81611f67565b5f808335601e19843603018112612176575f80fd5b8301803591506001600160401b0382111561218f575f80fd5b602001915036819003821315611821575f80fd5b5f80858511156121b1575f80fd5b838611156121bd575f80fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156112225760049490940360031b84901b1690921692915050565b6001600160601b031981358181169160148510156112225760149490940360031b84901b1690921692915050565b805161223181611f53565b919050565b63ffffffff8116811461089a575f80fd5b805161223181612236565b80516bffffffffffffffffffffffff81168114612231575f80fd5b805160ff81168114612231575f80fd5b805161223181611f67565b5f61010080838503121561229a575f80fd5b604051908101906001600160401b03821181831017156122bc576122bc611fa8565b81604052835191506122cd82611f53565b8181526122dc60208501612226565b60208201526122ed60408501612226565b60408201526122fe60608501612226565b606082015261230f60808501612247565b608082015261232060a08501612252565b60a082015261233160c0850161226d565b60c082015261234260e0850161227d565b60e0820152949350505050565b5f6080828403121561235f575f80fd5b604051608081018181106001600160401b038211171561238157612381611fa8565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b80356001600160f01b031981168114612231575f80fd5b80356001600160e01b031981168114612231575f80fd5b80356001600160801b031981168114612231575f80fd5b80356001600160601b031981168114612231575f80fd5b5f823561017e198336030181126124cf575f80fd5b90910192915050565b803563ffffffff1981168114612231575f80fd5b5f808335601e19843603018112612501575f80fd5b83016020810192503590506001600160401b0381111561251f575f80fd5b803603821315611821575f80fd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b803561ffff81168114612231575f80fd5b5f610180612585846125778561248c565b6001600160801b0319169052565b61259160208401612475565b6001600160e01b03191660208501526125ac604084016124d8565b63ffffffff191660408501526125c46060840161248c565b6001600160801b031981166060860152506080830135608085015260a083013560a085015260c083013560c085015261260060e08401846124ec565b8260e0870152612613838701828461252d565b92505050610100612625818501612555565b61ffff169085015261012061263b848201612555565b61ffff1690850152610140612652848201856124ec565b8684038388015261266484828461252d565b9350505050610160612678818501856124ec565b8684038388015261268a84828461252d565b979650505050505050565b5f823560be198336030181126124cf575f80fd5b61ffff6126b582612555565b1682525f6126c660208301836124ec565b604060208601526126db60408601828461252d565b95945050505050565b5f8235605e198336030181126124cf575f80fd5b5f6060830161ffff61270984612555565b16845260208084013561271b81612236565b63ffffffff16602086015261273360408501856126e4565b6060604087015260c0860192815f5b600381101561277d57888603605f1901835261275e82856124ec565b61276988828461252d565b975050509184019190840190600101612742565b5093979650505050505050565b5f61279582836124ec565b60c085526127a760c08601828461252d565b9150506127b760208401846124ec565b85830360208701526127ca83828461252d565b925050506127db60408401846124ba565b84820360408601526127ed8282612566565b9150506127fd60608401846124ec565b858303606087015261281083828461252d565b925050506080830135603e1984360301811261282a575f80fd5b848203608086015261283e828583016126a9565b91505061284e60a08401846126e4565b84820360a08601526126db82826126f8565b602081525f6001600160f01b0319806128788561245e565b1660208401528061288b6020860161245e565b16604084015263ffffffff60e01b6128a560408601612475565b166060840152806128b86060860161245e565b166080840152806128cb6080860161245e565b1660a0840152506128de60a0840161248c565b6001600160801b0319811660c0840152506128fb60c084016124a3565b6001600160601b0319811660e08401525061291960e08401846124ba565b6101206101008181860152612932610140860184612566565b925061294081870187612695565b858403601f1901838701529050611d44838261278a565b5f5b83811015612971578181015183820152602001612959565b50505f910152565b5f806040838503121561298a575f80fd5b825161299581611f67565b60208401519092506001600160401b038111156129b0575f80fd5b8301601f810185136129c0575f80fd5b80516129ce61206682611fec565b8181528660208385010111156129e2575f80fd5b6129f3826020830160208601612957565b8093505050509250929050565b5f823561017e19833603018112612a15575f80fd5b9190910192915050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b03818116838216019080821115612a5357612a53612a1f565b5092915050565b5f60018201612a6b57612a6b612a1f565b5060010190565b5f610140808352600c81840152506b2b22a924a32cafa82927a7a360a11b610160830152610180820190506001600160401b038816602083015260018060a01b03871660408301528551606083015260208601516080830152604086015160a0830152606086015160c0830152612af460e08301866001600160a01b03169052565b6001600160a01b03939093166101008201526101200152949350505050565b5f60208284031215612b23575f80fd5b5051919050565b5f60208284031215612b3a575f80fd5b8151611f4c81611f1d565b634e487b7160e01b5f52602160045260245ffd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f8251612a15818460208701612957565b602081525f8251806020840152612bd3816040850160208701612957565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220377560a2775eda06711afbe98e0779cb807e9f4213d5b9fedeab12d4c1b6d84864736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e039d68df204970e6643c360b213e8c70e4025c8c9c087e55b749e9ac7c000701192c6405581e03256585d28b6effda1fe7ebe79f7758501b614188219e1b7be91dfdd0500c18204714100b468a3c2805581e03efb0dd8b0665d61650867d480a41b5ee91161c0700796e6698f8772e10040102196cba03df4b643d8ccea76c095b9f470b5d90d7601e566957bc231d9753e6fd5148b81e0219ffff0343794b5190374deda12f22f63beb474d24eefea624fddb3b109293170ec1a49d03f7f9b34743b27855cdc00e62d22b7857a8244e8ef4f1622ae05ad6143125c76f03dd9513f75fb71618b8a3e47e4091549f8178de545d8448b28527a8c2528741e60393b4e53388adb84fbbcb5e7b31181045690d6655d257859679bd61257974ac9f035dad77bbc0eb69aa17c3bffdf4417a44de49e1ef677bb56c35ade24fa6c161c703361e4e6a0570843957e331a623d61b6beebd3da09a072b5a3ca8b9d979faab8703c98809d96ad2173323078a3a784f8530e96e9de46b905f0f93c917a03694971b032ce8b15388b7660c8f2b0a0fb707a67e2a248b8ffa88f05a5148f23055894ab7039ec7f4fc9cd96de584a07d624ef5970b9a875a220867727146286a80248cc01a0354c95cab223be456234f7b83459def7084794e3908787e26176cdd1bb75e47a10219ffff038ef4789faa308d461c2b54c9995992af388686eaaaef6ef149270466594affe003c77506627113100563cac0e788d31f1789b3d50b39f6a9cb8567488c8450f7920346a03151e5f0cb34338b1c0eb1587f9a2925ee3c4185901b0802e68c75746b8e0354ca643f5fd48a85fd0d703a1dd9c4017bce5aa962bbeac6838e502d146775bf036678e7153777d93139713fd2b49150b8d9109822fb6f3f28f06211d6982e3548038e047b154a2141371df70860808d48fc3490ffbb33bbd48eb5976758d8752b030365f65d6168f811e2b5eac567f2c3b3eaf0748a8bf11e33c6785df0f681ac82df03c611895b9f4a8907d0469caad3e1ec68ee12b280036b8978b3897573647024b0037ba31f7cbd1a8cede61c67915bb9a6fd09db5dd3762199ba9401e458a32a0b5d03384b88f7e3ae7a8bce333b781238cefda8a8d1bf534d0bd69a68b14909b3183a0219ffff0219ffff0316503fe8194edf65ff07b1b6c9ec38fc3808d5f81248bc8402c6b2d7464a3fda034dcb7997f9c68ed9032251674bc017449c25318c2e6415dde2efc2a96be9369303d36d5c7e0f59940ee0ea6754c7c9509b287779ae0cc83058ce6982b7f2efbb160219ffff03a35867a3c1daa07c9e05a2c3fe6138a823b29ed3064d535e49cca8663ab8ade6035c63d07e5d27bf5b4b8f0d7b56853e49e6806877792027ce8f63c89033776df603afc4047a37a1a48a644aee077b949ea62dc64b9bf8f8da4a0dcc03ef2a6f239303914f19bc22430762f8205be8dfd047b268252840cec05600bb4b5f5e608ebad3036551797ebb45bf86db6605c98c2dc79ac58ffdcb7ca06c49d7c9cc2a3a5c663803f698ff44af9dee8c6ca9285db4ec41dccf8f5299f0479cec3efee8c1b9b09d7103b5ea15ff64773defc00f50fb1520e9a9e584557f22c07e7120e252c28316dd52033ea76f5cc28d65cc78a1ba8b00faf4e063ba3de0edfffa7a74f9ddd4b8699d0c03a0735332f4607ba531f597fe80bd8353b0e8e38475e90cb1d248aa169fdb8ff003f158d8edca5b29ec4c100558890190524fb3b60dc4bcbd4de2d0ec80f3f1e0d6030aa8a80d00eb88b81d03f2ec1218029f13e11651fc828fa690043632474a65f10399ca352954384043a431da7cb63eb17c36fabf937659c9b0f234c520c9c0ce5a03b6f8d3521cd3a41aa7c45aac18acaedde395b5472915ebf7509ec195233d9a8303b4ae6946c1ae3511552e84ee8a0923f65d7ff08db7bc243a2e6d8eb8ecd12caf0371a2ce1f2642177725745b8dcde253213e257acc7a171a777ff126a9aff1a84e03b07511e66d1aec101573f33db62b26dc7330ddd05bb3a0fa4f86bba0d746478503b0ceeefcd6c40f6fcf734fbb29bfe8ca1494cd1d239b2c74122d64564c046d5c03d45f7b7a7f40e180375bcedb11966a3ca6dbcd1d382fbf2c09000ae6778706d403b3d195636f46d4687a0bad332a15277eca1028f9e35532bea3d6dbea11f67152030642adaa475ca7d201ca8fb70d4cec3fd8694a3106b2a6e7fcd06143a92a7f0303c978681c0d257ae48a36eefed9a7fd0a737e864023243af84207dee968fcaad80357094a3bad1aead5f49d8ed820bd42b583c4333a8e1b471798269d41c0d2d770035587acc006477785d98ebcbeac39e0f7242727458fce33b75d37ed8cf7781fd0031e0990d3fc22786485881f20059efd49c491df538b1f26c31b7c6183a04b594903f1328df28434a4c78acf1debfde8ea9600e048f2be5f73f923ec6d8322d48a1903ac4b9c40485adaf322a4611362ceb27c1f5e8c75cd39bde7b2598d836f02e5d30395bde02b7a4f65083b272f28e482eef60de7c408b0e1f43d229557a4c413331e039860c0918dfada6d89fc234f108d729695c9a1476f82f6c2a276eb979aaf19f903ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03295b687c81deef1dd8359c0313a56d4cb14aff1ace7828fe6d01b2eb0007011bffffffffffffffff05581e03b412ff7da04844b0f78206b174f506fdf389fa2c1f3c1cbe0afd791cb0040103aacebcfb60b079e109058007cf35d0888b51a207fc05312196e8cdad7a33505a03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e03154880ed5a2315b022ceb994e03f0b2973001b8acba2048742c950348007011bffffffffffffffff05581e03c16000f16d28d3863a9e0e9e854dbc5218076ae52a1184cece4d16cf900c014711466d55444c00037efb18aa41797f3f0676b80a2100033b1ab4a47bb35d1174d2c878e03b701f6405581e03249dc4db5a6c2048f8d5861275094783bf48c95a39a22d668cc4e7ccc00406045901d0608060405234801561000f575f80fd5b5060043610610034575f3560e01c80636b40634114610038578063e4886e501461004d575b5f80fd5b61004b610046366004610129565b610090565b005b6100747f00000000000000000000000003a72b00d036c479105ff98a1953b15d9c51011081565b6040516001600160a01b03909116815260200160405180910390f35b6040517f00000000000000000000000003a72b00d036c479105ff98a1953b15d9c510110905f906101808682375f5b6104008110156100e55760ff851661056082900383015260089490941c936020016100bf565b50610180850361018087016105808301375f80610400870183865afa915050806101225760405163439cc0cd60e01b815260040160405180910390fd5b5050505050565b5f805f6040848603121561013b575f80fd5b833567ffffffffffffffff80821115610152575f80fd5b818601915086601f830112610165575f80fd5b813581811115610173575f80fd5b876020828501011115610184575f80fd5b602092830198909750959091013594935050505056fea26469706673582212204b893321eb19b4bb10acdbd0440d0e25aee69932481164068dc190f24f21c91a64736f6c634300081800330605581e034aa69c33a26713ec609421bbd528ddb799434be12ecbf8af86574b97d007011901d00219e3790391204c4649c2baaa6cfcab7f466562ba8aefdabd9882e5229dd50de2274d1d32038e452b97a72c160db474cc98c44f1f14fe4b6ffb53c86800c7d675249b08a2750219ffff03734ec4258d82cf1ec56a99e9b0e3ffe2b30c6dcfaedbe3903db1e929f7b6b9e4030462cf68ecafdd625b187360ebec759a2696550e8421a27b6c115cfd67b76122038a18e1233af0c3bd20395ea725c8a847106865a462878a579b95d44d0cf88a8a03b1996cf8b691fe15db2881403a6ce077f56ba70832e6e414169954d863a0b96f031bb39770a65aea280c5775765b6f6a06c274a8a257a0aa010948f097430f90870312abf4e1b0c4d714da31456554325ade96b7257ed43a13620e5e48b7bc6ea43403c0be9a1001bba5f152d3778858392b3a6d20f56cccc622cbed4ade623544225103b018ed995f605ae27d40eabd537983020b4b83e670605997540cd12f8016f17f0219ffff0339587f53f24f6e77aa4b21a3d00b6fd99741af2a3d4ec17e1c70422f175147af03bee6ea181ec58b1d617d9620d78aaa55c5e6af8a228ec9de9f2dabce8f1536de039d78e958d234566e8e629d1be3fe865af215ce9bbae521e74dee449f2512eee403cb7292fe8c3010568d222320855375e61727f44929783520215ce0ce7e2ad6dd03b05f2b4c6a0765c9fbf54ad409c25d40203e48b3eda147ee5d2fd2b338ac61ff03c8da51bfbff0a535660ec6b72d1617971b3ec4da3bce4b4b56f3de4b9796b5d703a8ffaff84073ff2234a1a80652689b5c0c710cf79b88cadc1bc82d30996cd1de03bd8b64a4e47e8e4721e345ed42c2f598ae65994d07985aaa260ccce481ebf0070322c5925ccc9a47011db47148937fbb73ea32ec5919a02df7afaf8ea7ea1d330a031c5c2b04663d9a610ab6358d80aec3580a0005183347b70364c4ce1813c9101f0361a8874b8d47a935c958a90420aea4809800fad7348645590fdac43716f74f130360b98fe52ce21d9e1c551c081fcccdef00790a56a8220f0c1ceb958587fa226c03a81efc90217d930f4fb0d551b6e6d431a9d2df952ee18a3351c7a7e0b585ceee03c282c9a992f41df6d387d835879e1510027be88dc1ee66b6321d9da88bbfd7390219ffff03d2f59ef0e077da0c248b5084c5767d0b8dd37360e49c23ec6a84f9028676ee19031250b6a4ddceca8b3ba45b053488b5b579dbf9df1093ada6d67f33a5b3d0d67e03ee5900e6ec145f357781e8471aba1300e057fbb29c6fc218be13a9392ddcf2fa0358e31b9f22e4b670b6ef2affdfb43a8b504f7dc9044b56c7d75731e80f0a1fee035011b4753b6ff67e2ac3ac1f5c144fdbcdeac0c2afc52ddb2cac651a4eb4ed9f03f5855df989a72930111d96860cdc24f197be24f16bae1adedcf993b36a8b8a22037dc06fcda8b55aa8ab44f430899a1cd4c1417080c0eb7fe6f5768d1dfbd0c4ea032cad2df9ebe5e9be4aba06dbcc0194b79a4032f452b6c5eda66be7793f78271c038274041eca72fcb7fa0776d8dc83a1916d13d9351d2a6673ae336e11b8bc108103821faaff937e41ce19ca20dd2d8c3171802c8c15b92c366578e529b96250a14603c83943ce9a6496d72290f23630e950fbdf11f7ba97e676dd34bd08178cfb4a6203f4d5a7c9c51718e1300159be1bc96fcbb7dc462814cbfc776c43e2a3a80834a40396ee30aae490d2af8b0ab24ac3ac12e27dc823f719b96a2720db38debdd60e7b03bfbe4c110b926598740f9bac0a8fff4b0dd1af425f1a7be0b3e05a24b7eb0e650392f477899f31c579c7cfadeb98bec6fff59f3ff1d865bb1e697524a17f71f15b038fe57efe5cf2b2afc3c4561b5750d438b241dc77e508b3591956adb9b4cae06303ebff0b2c22e884f7e5515e713151f6bdebd8cb047b32c496ce1d47597299a97903470fa606b84fc9925e9fa64b2d20fd172c9c13e5361448fc0438d646c4890a760322c4ef11dae043f2bbf24b9b3184079bb171c65e28f140a3ec6cc563107b1acb03ad0cd1201806da3a7c3ac5c3c309e27d32afd885fa152375107ff8b94f193f250341d69eb65dbefe231c70ea0fcdec0ed7d6307f6cc41b6b5ad38dbd9189904c7105581d029646b9b914e976e17e66034bf06677ebd0876ebcbf3d52d8b9f7af76040304592616608060405234801561001057600080fd5b506004361061002b5760003560e01c80635ed86d5c14610030575b600080fd5b61004d6004803603602081101561004657600080fd5b503561005f565b60408051918252519081900360200190f35b60007f080000000000001100000000000000000000000000000000000000000000000180838181818181818181818181818f097f023a2994e807cd40717d68f37e1d765f4354a81b12374c82f481f09f9faff31a01097f049d16d6e3720b63f7d1e74ed7fd8ea759132735c094c112c0e9dd8cc465382001097f06c930134c99ac7200d41939eb29fb4f4e380b3f2a11437dd01d12fd9ebe890901097f0347dfb13aea22cacbef33972ad3017a5a9bab04c296295d5d372bad5e076a8001097f062e62fafc55013ee6450e33e81f6ba8524e37558ea7df7c06785f3784a3d9a801097f023b940cd5c4f2e13c6df782f88cce6294315a1b406fda6137ed4a330bd80e3701097ef524ffcb160c3dfcc72d40b12754e2dc26433a37b8207934f489a2036281370191508083828584878689888b8a8d8c8f8f097f0603e3a8698c5c3a0b0b40a79ba0fdff25e5971f0ef0d3242ead1d1a413e443b01097ea401d8071183f0c7b4801d57de9ba6cda7bd67d7941b4507eab5a851a51b0901097f037d720cf4c846de254d76df8b6f92e93b839ee34bf528d059c3112d87080a3801097f05057b804cff6566354ca744df3686abec58eda846cafdc361a7757f58bd336e01097f076b4883fd523dff46e4e330a3dd140c3eded71524a67a56a75bd51d01d6b6ca01097f01058ff85f121d7902521abfa5f3f5c953fee83e0f58e069545f2fc0f4eda1ba01097f04eac8ffa98cdea2259f5c8ad87a797b29c9dccc28996aed0b545c075c17ebe10191508083828584878689888b8a8d8c8f8f097f06e7240c4a94fa3e10de72070fd2bf611af5429b7e83d53cfe1a758dee7d2a7901097f059fef071cf1eeff5303f28f4fe10b16471a2230766915d70b525d62871f6bc601097e480d06bb4222e222e39ab600b8aadf591db4c70bae30fe756b61564eec6c7e01097f07d2292c8660492e8a1ce3db5c80b743d60cdaac7f438b6feab02f8e2aade26001097f05a593d928542a100c16f3dc5344734c9ef474609bd7099257675cef0392fab801097f0761717d47600662a250116e2403b5115f4071de6e26e8dc231840eeb4484ec301097f04b74b468c4ef808ddcc6e582393940111941abece8a285da201171dc50525c70191508083828584878689888b8a8d8c8f8f097f014ef999212f88ca277747cc57dca607a1e7049232becedf47e98aca47c1d3fe01097f047b2a5ef58d331c30cfcd098ee011aaeae87781fd8ce2d7427c6b859229c52301097f059bd7fe1c9553495b493f875799d79fc86d0c26e794cce09c659c397c5c477801097f03ede75d46d49ceb580d53f8f0553a2e370138eb76ac5e734b39a55b958c847d01097f06e0bed1b41ee1cf8667c2924ebd460772a0cd97d68eaea63c6fa77bf73f9a9e01097f0739edb8cdd16692deaba7fb1bb03f55dd417891bacb39c7927969551f29cb3701097f0247573f2f3fbd5386eac2d26851f9512cd57ad19773b8ca119d20852b9b65380191508083828584878689888b8a8d8c8f8f097f02f6efb89f27d2c0a86ec1e6f231b225caf2af9be01aca173a15fa02b11fdf2401097f075a0f99a4dec1988f19db3f8b29eeef87836eb0c3d8493913b7502cfedcef2801097f0278a7c68986adbe634d44c882a1242147e276fee7962d4c69ca4c8747b3e49701097f0675532b80f5aaa605219de7fe8650e24fee1c3b0d36cdf4fb605f6215afacee01097f05599e790bd325b322395d63d96cd0bd1494d4648e3d1991d54c23d24a71434201097f043545892bb5a364c0b9acd28e36371bede7fd05e59a9dcd875c44ff68275b2b01097f038db61aa2a2b03053f5c51b155bc757b0634ce89baace113391369682fc1f740191508083828584878689888b8a8d8c8f8f097f071b2b6b03e8cc0365ac26c4dbf71e8d426167d79f8bd1af44738890c563062a01097f03a663fc27ec3ad56da89d407089bcec0971cebcb3edf0c393112501919643d701097f01030d58878296e14b1c5bcafe7e817ebe4aa1039aa96b9d0dd7fc915b23f42a01097ecb3335374cc2a2350fe53d2389f04952c4d634f489031742dfccca17be2e0901097f06ae3ee97ea5dcfbb7c36cffd89665baf114fae391c0367be688db09861a8ca101097f07b16c33c4a8ffcecbd83f382469e1d00a340ceab5e7d9c0bd4fd010b83f431001097f010f236430f20aafda49d1c3e3759c510fdf0c0c19f89df6d5d71deac88b547b0191508083828584878689888b8a8d8c8f8f097f0104b04e96151f5103118c4eb556cd79899148fd6656e73cb62f41b41d65e4d801097f0253bf2869135f4bda4029cae2819b2f468ae88530f3ea771090b2727814c49401097f065d50aa3c1d84a3deee14057eec98656a1296cdcbe32250bfdaa50ffac4c5dc01097f076323f8567119897f10d58e1552c98f5a62f03a16d3737e20fc2b0a31a3a84301097edaee1c7b34ecb34717b7313dc4a299dd1a161447e2e0249426a6fc33a7228901097f02bfd1294f111a5a90842d19cffb97481aefbc09ab6c47d7dcf91ba228019c0701097f04f63db02e10fbe428a5dda8d9093feef46cc19568a3c8ad2fce7e75190040950191508083828584878689888b8a8d8c8f8f097f0761a240cd8aa2f135daf0760bfc2c9d5e896e93a45426571cdad9118722e2b001097f030a2e8ac9e6605fd722dffb4caca8c06dd4a8968a7bf41a5371cb1a07d11c0001097e5ba89e0eb3830039d0f8a9ca00acef15db22374c965b01abc49dee46270a7d01097f07e8659c39d7a102a198f0e7c3814060926ec0410330dd1a13dfadeab4e7459301097f05a00feeb391114d7b976654ab16ddf8360f05671b34d4a97da278c0aef34d7601097f033ff2d848bf237f536524da818598ae0f2516ebee526b77957448973eefacd301097f04e0a5dd802deed7cb8d06527beb15dad32547bae77141c32473f4c8148912e30191508083828584878689888b8a8d8c8f8f097f0776459dfedbbdfcef7a31e0f60c6480fc0676b280fdb6290859fe586d6e610601097f059d0d8ca9ecda81081dfcae7580ab3c08a72195438c1556000c0c1dbdc0817401097f06eb66d366da57e4ae717307dfc3351579fe857c51aa82b95044473c9ed1437701097ea758a70ba6a0cbcbc65abfeca51359904f790752c3df55d42707253d8dea7001097f02046e1b4fd4c108e8f832f5bcc4dd46abf0d19ef0237beaec29d6c12fb9832e01097f0472d99d1a6e1a6aef339eab1af3d53af7a8326e4d0a6bac73c3a159031c368601097f01b0fa36439192f135c239918bf47ad14b55ced699f4582d929a60dd227b34ff0191508083828584878689888b8a8d8c8f8f097f0728dd423dbf134972cbc7c934407424743843dd438e0f229afbcca6ce34d07d01097f04e42531395d8b35bf28ccc6fab19ea1f63c635e5a3683ac9147306c1640e88701097f01ea9bd78c80641dbf20eddd35786028691180ddcf8df7c87552dee1525368ba01097f068a8c6f86a8c1ebaeb6aa72acef7fb5357b40700af043ce66d3dccee116510a01097f025c5f348c260177cd57b483694290574a936a4d585ea7cf55d114a8005b17d001097f0339b405bffb6dbb25bc0432e9c726b7f94e18cf1332ec7adfeb613345e935ab01097f023590dabe53e4ef12cba4a89b4741fcfaa232b7713d89df162031c8a627011e0191508083828584878689888b8a8d8c8f8f097f0534a4f3cf71c93023e473f12e407558b6c24b712204fd59ddc18c7bcddd571e01097f02e1b2a3c32aebc0be30addd8929c01714783aaf01be8a1d35e830646e8a54f001097f0605a244f646a825602891bf9ddffef80525010517b32625759b0bf5a7f2c38601097f04f81a946bb92416d212e4d54f2be5fa8043be6fa482b417d772bfa90be4e27301097f0655038ca08eba87484bc562e7fd50ce0584363278f9d716e31c650ee6989a2b01097f044938959c2e944eb6e5c52fc4ee40b34df37905fa348fa109f6875c1aa1800001097f030b11c32e8aab0c5908651a8d445395de52d5ce6a1efe75f2ad5e2c8c854a300191508083828584878689888b8a8d8c8f8f097f04a92733a733f225226a3d7f69297e7ff378b62c8a369e1bbf0accfd7fb0977e01097f01345876a6ab567477c15bf37cc95b4ec39ac287887b4407593203d76f85333401097f0580550e76557c8ff3368e6578a0e3bed0bac53b88fefdde88f00d7089bc175d01097f07d7faca17be1da74cf132dda889a05fce6e710af72897a941625ea07caa8b0101097f062be425458d26cfedf8ec23961cdfd9f4abeb21f1debbe87bd51469013358fe01097ed77a8e8eed7ce4931a6d2a4774c21864e2c9f468d080af9aba6756433a1a8d01097f03e850e31c0345726c1ace38537dd88a50c85d6819ae98add1bbd62b618f7a1c0191508083828584878689888b8a8d8c8f8f097f0375a5d9b11c83d06a04dc9f1908b8183adc6f04e5b2ceeaa23d3b68c973ee7701097f076640613af9ed1a125624e0c38252bee457ce87badb24fc4f961e55883d907701097f05428ff423f2bbabcb5f54aafa03d99a320b4b255115351f50b229eae552217801097e6dcfc3a99563a5ba4368ac4f11f43e830c5b620a7273330e841bedec0bfb5a01097f02652523cbbec2f84fae1a17397dac1965127650479e1d5ccfc6bfbfcbb6799601097ea737d6916aa6a869252d8ff294a55706e95e0844e6b047755704e37d978e0901097f02833391a62030808228d14437d6f91b31c0038c14988a23742b45e16f9b84b50191508083828584878689888b8a8d8c8f8f097e284f7815a7eabc1dcf56da511f7d739f1a199f8ffaf3474f645d2fc93327dc01097f01e141c5429a369996563573bf61d7f713cb7d25baadff636ba2756c65a910ee01097f060bdb98c079bd5cef216803b056afce03f6ea41934275c965d6e196240fb95301097f07f2abefac9e7f8109b0a2d25d0bd297059e45dd66798ac8b299f0a3e442dd2c01097f041776c662b44a36c7075097c14b6010cb321591a4eca2866d58252eaf9471ac01097f0573b13b32161c11c9b16eff7cf93fa770a3ef667547a27503e39092aeabf73e01097f0327319fcc0d34a0d64f5acab00244b43674a60bef754844fb2920c87c90cff00191508083828584878689888b8a8d8c8f8f097e755f0e4c374e2fa4aa7eda10041e2139a4a7793eea44f415c73ad4fcba175801097f07b9cd3b277f00a75a17961d2d8e46e6a1838c8500c569cdcad08bd4e0cbae8401097f021f5ea8660d290f28b9300e02ed84e110d7338a74503b369ad144a11cf79f6301097f05e4b0ecc6a6c15ed16c1c04e96538880785ff9b5bff350f37e83b6fed446f1401097f03d8506e792fa9ac86ac9739d3d5bf63cfc13c456a99c8581adf590c8d9b72eb01097f01e3b6498f0daba2fd99c2ac65461c3fa519cb738b53cd6f002e97199fa4161c01097f070930735d913d54915fba20c97f07cba8f33eb8f4f81fd869699a10e83264cd0191508083828584878689888b8a8d8c8f8f097e16a36769ee50227c564bebce3d9cd7c4ca55702a7c7ccf403075f68f05a0c201097f03aa748723229eb8b33354e0901f50ad052b6c1006916790c979133c4442be9001097f05db8c52b6adb520496f9edd7105c92df67e8605ff4e0cc59992c3eb651ac7a401097f04b2222d0aee638c7e5efd8ada791638ac155a01b78f3b532283574653998bb201097f026a4b2a61f40c1ad77737b99cb27d2f3118622be64f0120907e2589d2f25ebf01097f05820792f23a13d58ddef0607950d422598bb1f21888dace88929fbe7d4828c401097f03678de28b6896959edf5c9dc0caec59b02dfbbf54811f87939b32d0523f58bb0191508083828584878689888b8a8d8c8f8f097f03cd13f84bb7ae6eeccc1012837d2f3e017f069e66cf047172bc70371f5aed3801097f07af8995e2ceed8841e34d44365c7ca14f5980a6a5c67b9813fa7bfd74a9c1b101097f06d7af6524127a117184a0c12a6ff30d28b14933a4e96bb3b738d2a36db72e8401097f073200d12e733294b5cbb8ffe7fb3977088135d0b0e335135f9076d04a653c5801097f0229d7fc2a1bcfbe00d5773f8dadd70a2641d8578fa73e66263b3512d3e4049101097f029889daac66c404d6491ec3a435d810a2877d885df1a3a193697b79b4af39c401097f0171f0638dedf0b69655fa9930bcbc91b257e299a6717bd8ea23ef550c8faff50191508083828584878689888b8a8d8c8f8f097e0ded0f75cd0a6a5401a954d26880eaf12050ce6458d3254c9dd6354bf6627801097f07fc7d854c9d0b3bfbf826c384b3521af0f29f975613e8ea6dc14f37d8beb54c01097f06d1c3edcf1de16a4e0ad7d8aa099a31fa2cfbf81f6d1a5798bd1ef93ff906af01097f03444c0f008988c8f600270b365ff926f016e49a54ab35bac4f3b3a42a5879b101097f02a48058c77edcd75dd4323d9bb9eccb854009b1184fd716a8202f8627bb544701097f056cbe248ebbc2f57ca8b943b219ba245791592f687815293a4499ef598fa9b701097f0658160ea7b654d786dc624b258c691f594e080610c2d41d6ebea0d8e33968490191508083828584878689888b8a8d8c8f8f097f06fcc261ded0ba97b4defc7c9bcd32b5dac89e4c08cb55cef98c6b50f5a3a28901097f07b74edd15d97b289da4040272cfc573f69a8c9a8b36d05e3e50b598508b7f9d01097f019637a12aa8b822c4a3f3551ef6c538043371a12a962de1dc25d67e0a5ee56101097f04c05a7abaaf08f21d93b2257d4f4a3ab2b44f4ac44ce0444418c864ca18470b01097f0657060a10db73c4a9b6aa6288dd6164e0b50a4e6efbc2ee599a0cf4fda33b8101097f0688c61ee887c1497ffcef82163f1a81bf7778f2c314ffbd325627bf0b25dc5a01097f054ab13ae1984dcc7d38c867a47f4a8cf786079ee07cc94ab5ec1962c21f638b0191508083828584878689888b8a8d8c8f8f097eccee381472bb7dcae008316038c87a44fd9295f730e389eff14e86442c41b801097f0610bf9b7ea4557d72411ec90fb677f9a2ccb84c76f003954da4e7f439c9a84c01097e51d6322f7d582892421e977464b49c4e6e64af2438da9a7f21a061c77712dc01097f07d92a463e2aec09eb86f4647dc9ec241904135b5eb53ea272e809e58c0a271e01097f017ab90241b58bd3bd90b8a5c7f30aa9e5afeedbe1c31f21ca86c46c497b573c01097f0199d80ad30b4b330fc8a063d1e87307993e1d98822a1729488ba8a58604569101097e601a139ed75acbecf557cd6513171385a119087585111c30bbc1b65cd6d30d0191508083828584878689888b8a8d8c8f8f097f077b10e23b08892ab18cc6b14dfda6f4be5c2fec94a12e3622622376edd0d6a801097f02a17a5c34f9f598deb5bec334fde606eaa5601df908eb5825ecf70f9cecec3f01097f07e176a66dcfd58e240c4546cd760b7e5ad02e4f0265c6a2f38d710bbdf99d5501097f027e76848780aba5b12061bffefff1710995586618a2f32792d62771d31ed51901097e043f51dfe0f1cf290c9a522e2a5e734f79d220be80348438c676295c3d429e01097e0f1f93c3d919653f02fba06fcba1ab89497fff53eceff6a7d129887d5a9e3b01097f079fd6f5f9b042ece36af6b10eae2eef9de9c9dd18752eb66868a0c301015dd90191508083828584878689888b8a8d8c8f8f097f01958435eb08883bd69b6a56a8f3103c22f8ae206a3d4deaf4a04118b4dd6a6c01097f0329230075f64ffbf631eb0c40b97d71b4dc38a08bd18b638f57e5644680068c01097f0219557f1604be8622e697e986c03d2a49e40cce558a264bf4f1ebe06493eceb01097f07238f034b8c57c8b59b0f744ababf9da8229152a051d4f3b3c4995233ac111101097f0201019c76d9aa29a00e6b18a4eeac7b1322b44285c57cf4c0b68a87120b1d3101097f069d95f3c7892a1cf65b45c324be2294c4c5459e05e0feaa0b8bb98cd8bc958f01097f078aafbe80fa5ee9a846e991bf35b81567a6dcbb1b190e7ee47e53fc66422e840191508083828584878689888b8a8d8c8f8f097f015ba3c5a882d4dfe3e23db18368ade6b2d10ef52e34f12ce0d62e7183c10f7e01097f01a4bdaf2bff969eff8cef73e762b6346492b8d0f17b2e42956c526f625241ea01097f04adaabee9ab3c6ee7fc67a2ddc09c5185755dcc76cc3b814a6b71aa7ae542ea01097f02f47cde744314dc0502faffb0387a2e765e4354b0516ee9ab0b97a1b6c33ec201097e90b2b18b3fc2919a55b71ad6d6fa67dda752bd02c985b59e6554f557fe4a2e01097f06eba866251e1dca38a21c8b3fad0aa3c22a45dd89884c4c68bd7ef67de64f5201097eb8dd33ef8726747fb368aedf80c2f4a720bc1b5220f4a3f0e56e2fafb7e2430191508083828584878689888b8a8d8c8f8f097f01fac2f441d05a3b483675200cb1ebc6f4ca6ecc5ae60118fe8745f95217bf8b01097f06d28879c6f75c4ede18e1b94ffff964d08c79038fd9ba2e7873cbefb5f323db01097f028b38e0334fc06af4c94ec4f9434923d4149cc51817526597423fd4692c59ad01097e84add7269e2e41ea57aaed996f4c012ba7003ea2b994670cc0d554b7a8bd2a01097f064d672ca00300ddd5e9c9d2db433d7623bb54c8eb2db51b235a07616f1517e501097f07f71cb5526600d15d3413ec971ee3b133718224b3cbdc68171a53d7c868438201097f038e5702bb10256e1856a5bfb03a06b231b89a36e2f84af80bcd2d027153d8470191508083828584878689888b8a8d8c8f8f097f01a8d4b2044b8e03b325c353f3f92283013920b92f479064b6e93159d2ed3ba001097f068384718bd3bb23f32999f1edcb2dbddd8136259e676c4492d0cafe80ffd85601097f031a77aa370bb597dbdd0422612a7dd947aae09a5b0b17d1996f13a85103d15001097f040a9cea0394d15ef057c2923d4185f290fe2347e00529d92f927ef506e3b5e701097f02a427d70a34b6b5237894f065ef5d60a9872ba444d47d98648b080b8ddb2a6801097ee505592d606917f898c54a7afc45b328be3cd48121aee2e8f05185a3e23e5f01097f045b4e74f19b293bc3d3d172a101e344558fcf4ccfe5eecefe31f45a45614df70191508083828584878689888b8a8d8c8f8f097f068486394265c9dc8fae42c8fd39605d3179c981cb44cbe33740a3deb907bc5901097f02868a08eae382c069047152ee964ac5ebd242b44267e97e578802440ef764f501097f03159144c85f2c515eb806e5aedd908553057b69c556d226adc6e4511a35423c01097f04387edee6899d4a85883d2f8524978a4634ff82779f150b7b0c861bb315ed3f01097e68c5830832f6270a189b074d7675fcbc1d1c5cc06ce9c478bf8f4d5ac1bf4001097f0399c00b8ebb398248bb1f52528d5241e7366b73c2d89f57a11dc82c530cc57c01097f03238aeb8f6bea8bcaaa1bdd5b4f917ccfad8eab031785ccdc648b47d7ea4be80191508083828584878689888b8a8d8c8f8f097f0357bf5d87c973292381fa4320114551a837a1d6cb6e2bb0eeba534fb2e0174201097f0360274f27df6eeec0b7b65fbb227a8214ac3e55cb37b1970e18489ef5b574e101097f01cb6e2fba23730f5bf9d8e726569b6e8bf6b5ffe8520339503c5469cc3713a201097f03924324af1994280f87f289fdae0b9a2d8cb9914ec37d319c18daf02921181501097f03c4ad04a5a057e4411487858dbe16af8e3fc065ef7400749ffdc248bdb25bc501097f050c92b3e6848a21001be2a268615e1e26cb4918ecb09640efaaf1d8b71568fb01097f047d21828025d0cbab84084965a49dd14c7833aac562b55de808a94777df2ea30191508083828584878689888b8a8d8c8f8f097f06207c6a2fd70c19a10430566c9efaad95eab8cbddf308f0057c81f3155a25a001097f02d4acebd804035257147ad8d8419a5f5762b4b543c4846ef9acf41856e672ee01097f078f49c214872b5cce18ead0207a165fb741ea818a69cfe9647737323f70f4f501097f022aa8c5c5ff26f9a0edc768ae32ff4f71a71205b4e83cfa0cc687a1e02566ba01097f05dd2e0680c7eff25211f31d3c30a9f454500d6eb09d46d87a75a42b190203cb01097f05ac4bcdb9c14634ab83c13a30822ddbabc54248cf1177b11cc2aed24d2d32f501097e77dee5f03389585fad0d1f2a8accfa4cb985344891b8befaee42f3462cb48a0191508083828584878689888b8a8d8c8f8f097e0737dba18eb055a12d842bfae32fd146dcd2d7bb932a2591aa864458d6d65201097f023bf372b0b59abf250463697ef4b2096eb1c9674613918b4d0c79aa10d9fd5901097f073724274fdd351c378e597da1615dc51058e14994464cb7b318766199ac2a3501097f02e14e83be58cde3ed5f3fec8ba6462493a4a2f0f7d6c846006220eccd49ef2501097f04846d310812d81ffda3731e8289005e2f0e05411e76b1c84332c3ee9e831afb01097f0160abeb38bc4f22af5fe618c19c77c39903007900722bdbdeaee059f31544c801097f0264a535ae10091157ed59b04955dff66897af74cae20456bb830336b803ae470191508083828584878689888b8a8d8c8f8f097e316ce6b23e720b8302e2d4bd968c0f140f69930e46a54784a7cee7e0b8a0c801097f0775d95a0beb287c98663a3f9a9c577ffc67c1fe6fbe2db5b08829a2c3eac92201097f02353c4a418bdc1e461be162140cc69c26eb9d99f08924991f85058f87f6df4101097f0181ef9cde124459dc0e2aaf93512abd49a10328fb93dfc4d49ab671db64bbc401097e7ff76956e0cd2b490b47a0a0497df5f874cf47f54c45f08101256429b4846001097f0318e5a52d685eaa06e0f39159a344b3d97b52688b671d133954aeff0bc1770701097f07616cfc6834643d4b95ed1cfec036f816a7c3d3b9800f301f98ddf341712ebf0191508083828584878689888b8a8d8c8f8f097f059869515fb57ea7733567e5d849bcaa00c00e0f86f4ebbd2c7a6f4c0c77692b01097eb806f4e19770279fab5427b8eaf5bc68bf984d6ccea1e878a7aaf32c9975d901097f04fb0c93fe30da048576fe5e839483636218dfdda3d05f1d68847a4c0167597f01097f0685af2d7bbf30cd0c5c3d41c430a8657eeafeeb4596165faaa73d802087ad8001097f06f617dce150ea148cb8c7488fe4caa920b2000bc8122cce1891e4b76cddc9d401097f047f02fc512b153462379f4f793c7cab9e659bfdb07d3439d29039f566b7236d01097f04ce0a14a5a9c30a38062eb8870eeb4ff3562db743c0f3eede2e3d3862a2eb7c0191508083828584878689888b8a8d8c8f8f097f07b077d27c7007656025224fa4e528b4c4261f43c3da1e42bd1349403af55cbb01097f050f5f6adbf0b9abc6e231b855018f4ec806a4f199cc511bed5c423ebef298e401097f05fcfeb78685abb1ce610e516ab7e2aa210fd90844c8d1c89cd798f3d71bbcb301097f04255a568f4597862e1dfe0c391b97059d179d7eb4d868f61364835e5028f9dd01097f0206d7f23d0fe1b1c0967486ebb792d7fdf5b1691d2c2f9306e211d3b849526b01097ec61c74cc988663ee09f4c725d5b1f04549bd342d3550ce17427ac75592b63701097f0175a904681c7a91856bf7fcf8410d2c19eb8705267914489664a1ea2af5b8fe0191508083828584878689888b8a8d8c8f8f097f01bd842a4ec97e1489ceb542bd3161e5a00ce431547bfadfbced954d993b0a1101097f014899e0f97aac917d46ce5e9ddf11194fb846d2c52726af4085f27c570a98a901097e842955243a56778a332ba9be0b22b2af62efaa50068d3078675fb76c225e7601097f06dff267c3bbce68474294da908df4f5cf2a4160c638f7cb45c098057e968f4401097f072c0dd24a576b47a84cdd1a20227773b5621f85b781c288625e3368e1cf738a01097f0728771890334d0c9b0f400543bdc13ea6890497bc87c509a04f8014916c13a501097f030632b3865a272a1a00270430744ee90b40ff16e1fc44515876ce8e36215ca00191508083828584878689888b8a8d8c8f8f097f076d656560dac569683063278ea2dee47d935501c2195ff53b741efe8150989201097f01dbdc2ea2e555309578eeb2352fbc47c8fd5ed77cc09903b577700f9a4d1be101097f0119bcf6402ad9953851bac8e318d50af699b0cc75e2597aff0a2cc521975aa401097f07c3234094dff9a45064a5b9abd0667c04dd76c62722984f7f8475e7cc344c0601097f01495d40cf3f13c5fc90653c2b2f02e0b833790c07576286d3127f745ea920ae01097f040f019a18b8097235264cb8efee7d149321a199ccd32ffac43b5a778dfadda101097f04e23809ce49747990e43b2d976083dc84d67e75cf22e5a76ad5b7a2dca50b3d0191508083828584878689888b8a8d8c8f8f097f07f0a3bec1d34f2fd632993a3d9c6432401cec25ad9d6196b909f3672980bd0501097e9460aa25f77fc10cfcc4579e2011e39ce477a32a768aa553201e556ed2bbe101097e611384709c407d85c93256b6aff04c4ac515450c70cf507994165abfe2347b01097f02065bc7a4aa38d5fe86f9b593ccd060f8d4a5a19a9ca8b182c32199a4bd27be01097e9969a08d753e885857a5696d1cafd39f62bb193acc99089df76c240acd2fc001097f06df73a948c95439f3230282814ba7e26203cfdc725901e4971ad9cff4db439601097f01cdf0446663046f35c26d51e45a5233a93c51f4f7f1985dfe130dd67addefa30191508083828584878689888b8a8d8c8f8f097f059cbe680183d1dc3161ee7f945f38ab9461a5293748b2b7be84899e62c9860b01097f05030fda0c29a929e6cd634b9f3d1bf975c363012cfb439cae13495f8ce1022501097f049aadcf98ef59c0e5d2097845949988862b96194abc8c5453f056f23248289201097f0319c68159cdf104c2543486ff784860f302187d77effb9a5fefe4e16f0ddc2c01097f0575531b404cdba72a63dbbd17aef7d9ae00f73eca7c6dcdaf5e0778c921be4101097f035ca7fa56aa38486833a976804899ba3c97fdaa0a23056cd2dc9bfdbcdd2e3101097f047dc0e209ee8d0b67f63d9e63837ff2ab462c4839bc14a1a3e802327ff0e31f019150808382858487868989097f0744bdf0c2894072564f6eca2d26efc03ef001bc6e78b34bf6be3a1a91fd90fc01097f073c57ecea0c64a9bc087e50a97a28df974b294c52a0ef5854f53f69ef6773af01097f07dd14b0299ff6064a96fe97e086df3f64a4c7e8b4a58a5bd5fe1b9cf7c61e7c01097f0562f636b49796e469dfe9e6748c4468f340e8f69e3f79cfe6925a261198dbb30191508082816125d857fe5b06939250505056fea2646970667358221220eb0b1be1409f6ede0bee5a4d2120d26e96b1669ad48f789169212094fdbfd74a64736f6c634300060b00330605581d022a99536d54b2657984c7e6c5a18b6349e9fb02b8176989de17b22112070119261605581d0219aa44639d3a68afae4cd1c475fab6350c7f9e54abc3eeac722e097c0c0147036ada27be5fa905581d0240ed555eba364d451a57ca86e7ac1196c038026ca4261a4a0d9df5ca0c0347029bcc90085d1e0219c410039a520bbcc99836978c72d509667befd15ec9e8c72a49016b711cd18933e7316103a8e0563cf2acdc9e0d10e21b4e90385f64a3718d584e410a868b99778f0bad0d03cf5864b6aa4b28e78a3dd5db6b8e5e9913ff305e43b38e04728636bcb0e80c5305581e034a276955b6dc1c7fce792f5a8c7cba10a015520a7fb5d350542079c3e00c0147145b2cf917fa8005581e03696f8907e85914388404fde7df17c840c6a1bd27392420caf6f62af520040102197bb203be67de590e09324614f6a2ee7e1012f340a05c35a8ea94de58064b9d2733cb5d03801fc0ef1bd0170ac08ffed6ca9aa01d2d98735f47871b287f950a74ff91d02b0338b82f80e75885da29af7cabe0639597771f22abf652838c56e4a33cf1cef72a033690162d3521bcc911dcac5c38eb4c895b024e06455d5762ccbd9d9cc0db311e0323c6e823155556d7b83d07e6e2097778fd24fb8a9e9fa066864b04a96732d8d40374225f3e8de65f4966d8f0a8bc5aba2895ae5725d9b8d35977164efc3458b9a303b327b27418322e533b28cbeec11031e7d53e56c8ce00478550582cd81b3dcee903f26199bc0310c57803a3d9b777648cca5d9000f3479a185ef4e710b15b795aaa03d56d2834a02fcec46567d7d2e0fcaaf8fd564da9000bb489934f23b5457e8c5003491c09392487f8330cd7d3559134028f8bcc6e878e8620c62c5e4c1a18c3a7cb03808b248d5574a98199472fb2c5422091e77633c3cdfda16a98c5ac025f1b48610368b9cf36d41e0be53934271569309a2abfb8eaf93cba7753df63f3c476ca25fc0219ffff032a3328d54902a6df1d8c349a396d81d6bfabd7c7a3659232734b5c839ae0265e0327cba528efcc4bc70bd447b33401ff6578f3da798eeb770c474c6e4535cb6a0f0338428e52191d92bc304fa206c2a75dbb992e447592984aef13af7113df1f6c11038dbb8c8bcdb55de6db36c37aa15ecd4dc25ddd02361727febaadea8ead4c60be0399fad769f6680444923a7b7201afd794b047623cc8100a3423e04ddf45ecfcc003568c30d5bd4c2188f15832df9964147e3bbb3b13f90759e1c09ec6397ea7104703c548d682378c60d336fa03782b79c5f0e81ca942daaf97d84d49d449ee6cb51503f64aa710b2a077f71c99b8ba708b3e4d5a3eca598e7c4185d0b565804ae31e0c03b344799328b0e33973b00fab04565ab69ce614a4207696a3f61819e89365ccc40219ffff03c7bd57ad12b32aa3d97c299720b5ae9804371cb41beb348876806bc4f32c3f2c03b79e828050aea36b79ccd97fc202e37d8f1ce7e2e7614a71776520409567e89103fc4012708a6e7a73eade4ba087fdd7ebb52b87b122e8c5c5003dc3a625b692ed03f625bd2d230c83b66b64aea188c962378816b7b12d3710a64642e00611944e440315f6fc76f64ae26b0afb6a7171d6c035ab1ff3069e1e8cb2d47169d99e249e1a03b761cc9fcebcf672e8b7cad03cde11233523517410d2d490fe8fd690dc2e4bdf03d6e90d8e536404227536ee100785125a8792ec13b120f3ab9640369709dd769103edb29ae7fe47d9966f607f21c9ddb83392c06c81e5a1f3811145b5feb27bd8c30333eea4f2b1171832090797613dffd186b975b3d2db2e7fa8fdde7fe1c4b2cfca0357c7dbd49c5faebbd9dbab1f27c5ef72493000748375f74bd843c71f3a9031e603c73527dffc9dfe6c39639c8d2ef5c200b1ba1bb5b65170df021a20f7a924a0240387263c935b157ef73268a3843081fc1dde334e8b7696f9cb99f9285aa25396310328a35676727572ce86d8fe34749875405e6525e17778eff3c22ce87d03bd632903e121303d272173f6108d7c8d373e5c4a0da6db19ef5630b2cb2f64eadd20d15a0365b2f00322b80702f71cbf438105bd92ec75d184384253ed5d7421489151c8990219ffff032d9bfc036eb46f3407f59de6a22fd0c433b7a8e9aec0a9b4a4b1cf45f79b2f9603dd77dfe178a47b09bdcfcdaa0b3ebb7789cb2f0565fc41e17088b31d68d06cb503bf26a5bf5e6f5bd0291c12627561d8887db356deb9c0a8c5e2bf732814f610b403c359056a12e41c2f827caadec2af475775b4852b60f11ec219a14306ab6a0dd403bd304a1bb070ec255f5fea4bf7201cb4d35e56e2962a75bf9d923b7c87bcd75a03ebb7cf712d89a25a9b04480e8efafd8feabcf04bac6ed1a17d33568dc41fd60203b6e478dc852f92efa6432010251b8a23827746c2b75de1db1b596129886648af03ef6f19691005186971ff11d802021a4b196888e666ddb14ea19099b6e578164103962db353ff56bc177793f63064e38fe7d2bd730b0fdae731d4d24e477fb48a030356cc6cf1c1ed514538f5261ff5bd4d518f08fb48b88fca79443e84ead02596660360b0d10c2d62474e2a5f7f8170c0a874a662ed3e8c1a9f431b8b0306efd49448030760ea49c02c23a135b7c2c9e64432426bc428d26ec758542d376434dd8862c2034a9f9bfff81ece71ed4e6c1e31390fa2ad843d6026d9f007df4afa9d140d2c2c031d16cf61b65f116bdf703b77b7513e7d1456200fce10f8a966f7fdf42077ac380353adcfd995522c8936d1675c2939f5142cc4ae598dc22f1e8004238ca62e098e03607d1ae1bc2c11e409e5295752948bdef70f7d5754c5a3de40a95e4606edb89d036b8001c07d35da90d28e8198b786acf03e5fab77c55ba5665cd141eb5799679c037d0dea520f891a44edb59fbe3eba6453917cf282eb4562dfd05fc3e734d9388803e9d4dcf791fac2fb107d226648bf2ee72ff576998d878e149e015a808579867903362800d8ebbbd751836d56cee4ac4d4ab39f32a71305e97e120bb19993abdd7703971c3180a29eb5c9a24adc1148b89c8b619710121a6873b0f12d0667588a2fae03c4d2a4169f149eadd01cc803e5daffc2d7b21f6555c01b31b9ed5cca9f27758e037e6a78221f955f45eb1df0073ac8ca6c6983429200a4deddce023acc93052d02030324c5567952fa320ad0f98250e28365d1e4eaa65c57078692cec3459c26aa1703715778c47531377fc3d2202985ca8bf37352a5b199f0e280d704bbf81263147f0372b410f337e24c14dcc102687af8cb6ab6fe40f348dd1b9099734660b5458596039e4e2c2b29b68419c713408defcf728106056e8eda1fca1e202011ea264f1dff05581e03988735ff52458e3a9a9305666eeef84ec0ead1f3d383db33854c84f650040103bee884ea12c6f036664499088381149941fb088690c2f2d13808154a6cfa881a05581e0355083e86b5044cc80107a273beb0ff1f854868aff355a96a2afb4ed10004010353bc80d6aca2c38ac018a82496880289f041501d823db2e367dcef9ad045a82505581e0385a68bca3026110269d9eaae64b3070999cb964bfa6646c2a4b6c1d20004010459184a608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638da5cb5b11610104578063d5ad4a97116100a2578063e3176bd511610071578063e3176bd514610403578063f2fde38b1461040c578063f7013ef61461041f578063fd0ad31e1461043257600080fd5b8063d5ad4a97146103b0578063d7704bae146103c3578063d99bc80e146103d6578063e172d3a1146103e957600080fd5b8063a85006ca116100de578063a85006ca1461036e578063ae453cd514610377578063bb7862ca1461038a578063bdc6f0a01461039d57600080fd5b80638da5cb5b1461033757806391652461146103485780639b1597821461035b57600080fd5b80635d62a8dd1161017157806370cee67f1161014b57806370cee67f146102e2578063715018a6146102f55780637d82191a146102fd578063897630dd1461031057600080fd5b80635d62a8dd146102b35780635e45da23146102c65780635f9cd92e146102cf57600080fd5b80633e83496c116101ad5780633e83496c1461025c57806355f613ce146102835780635ad9945a146102985780635cd8a76b146102ab57600080fd5b806329aa604b146101d45780633cb747bf146101fa5780633e6dada114610239575b600080fd5b6101e76101e2366004611381565b61043a565b6040519081526020015b60405180910390f35b6102217f0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b36781565b6040516001600160a01b0390911681526020016101f1565b61024c610247366004611381565b61045b565b60405190151581526020016101f1565b6102217f00000000000000000000000072cacbcfde2d1e19122f8a36a4d6676cd39d7a5d81565b61029661029136600461139a565b6104a5565b005b6101e76102a6366004611424565b61065e565b610296610853565b606854610221906001600160a01b031681565b6101e7606b5481565b6102966102dd3660046114aa565b6109e9565b6102966102f03660046114aa565b610a43565b610296610a9d565b61024c61030b366004611381565b610ab1565b6102217f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e55681565b6033546001600160a01b0316610221565b610296610356366004611381565b610ae7565b6102966103693660046114ce565b610ca0565b6101e7606a5481565b6101e7610385366004611381565b610d20565b609854610221906001600160a01b031681565b6102966103ab36600461152a565b610d47565b6102966103be366004611381565b610e32565b6101e76103d1366004611381565b610e80565b6102966103e4366004611381565b610e90565b6101e76103f73660046115a6565b60100261520801919050565b6101e760975481565b61029661041a3660046114aa565b610f65565b61029661042d3660046115e8565b610fde565b6069546101e7565b6069818154811061044a57600080fd5b600091825260209091200154905081565b600881901c6000908152606d6020526040812054600160ff84161b161515801561049f5750600882901c6000908152606c6020526040902054600160ff84161b1615155b92915050565b337f000000000000000000000000a13baf47339d63b743e7da8741db5456dac1e5566001600160a01b0316146105225760405162461bcd60e51b815260206004820181905260248201527f4f6e6c792063616c6c61626c6520627920746865205363726f6c6c436861696e60448201526064015b60405180910390fd5b61010082111561056c5760405162461bcd60e51b8152602060048201526015602482015274706f7020746f6f206d616e79206d6573736167657360581b6044820152606401610519565b82606a54146105b45760405162461bcd60e51b81526020600482015260146024820152730e6e8c2e4e840d2dcc8caf040dad2e6dac2e8c6d60631b6044820152606401610519565b600883901c6000818152606d6020526040902080546001851b6000190193841660ff871681811b90921790925590929190610100818601111561060f57600182016000908152606d6020526040902061010082900385901c90555b505050818301606a5560408051848152602081018490529081018290527fc77f792f838ae38399ac31acc3348389aeb110ce7bedf3cfdbdd5e66792679709060600160405180910390a1505050565b6000607e8161070a565b60008161067757506001919050565b5b811561068d5760089190911c90600101610678565b919050565b8060808310600181146106ca576106a884610668565b60808101835360018301925084816020036008021b83528083019250506106eb565b84841516600181146106de578483536106e3565b608083535b506001820191505b509392505050565b806094815360609290921b60018301525060150190565b6005604051018061071d60018c83610692565b905061072b60018983610692565b905061073789826106f3565b905061074560018b83610692565b905060018614600181146107ad5760388710600181146107925761076888610668565b8060b701845360018401935088816020036008021b845280840193505087898437918701916107a7565b87608001835360018301925087898437918701915b506107c0565b6107bd6000893560001a84610692565b91505b506107cb8c826106f3565b905081810360008060388310600181146107ff576107e884610668565b60f78101600882021b85179350600101915061080a565b8360c0019250600191505b5086816008021b821791506001810190508060080292508451831c8284610100031b17915080850394505080845250508181038220925050508092505050979650505050505050565b600054600290610100900460ff16158015610875575060005460ff8083169116105b6108915760405162461bcd60e51b81526004016105199061164c565b6000805461ffff191660ff8316176101001790556068546040805163e3176bd560e01b815290516001600160a01b039092169163e3176bd5916004808201926020929091908290030181865afa1580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610913919061169a565b609755606854604080516393e59dc160e01b815290516001600160a01b03909216916393e59dc1916004808201926020929091908290030181865afa158015610960573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098491906116b3565b609880546001600160a01b0319166001600160a01b03929092169190911790556000805461ff001916905560405160ff821681527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b6109f16110fb565b609880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907ff91b2a410a89d46f14ee984a57e6d7892c217f116905371180998e20cef237e590600090a35050565b610a4b6110fb565b606880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f9ed5ec28f252b3e7f62f1ace8e54c5ebabf4c61cc2a7c33a806365b2ff7ecc5e90600090a35050565b610aa56110fb565b610aaf6000611155565b565b6000606a548210610ac457506000919050565b600882901c6000908152606d6020526040902054600160ff84161b16151561049f565b337f0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b3676001600160a01b031614610b2f5760405162461bcd60e51b8152600401610519906116d0565b606a548110610b805760405162461bcd60e51b815260206004820152601b60248201527f63616e6e6f742064726f702070656e64696e67206d65737361676500000000006044820152606401610519565b600881901c6000908152606d6020526040902054600160ff83161b16610be85760405162461bcd60e51b815260206004820152601860248201527f64726f70206e6f6e2d736b6970706564206d65737361676500000000000000006044820152606401610519565b600881901c6000908152606c6020526040902054600160ff83161b1615610c515760405162461bcd60e51b815260206004820152601760248201527f6d65737361676520616c72656164792064726f707065640000000000000000006044820152606401610519565b600881901c6000908152606c602052604090208054600160ff84161b1790556040518181527f43a375005206d20a83abc71722cba68c24434a8dc1f583775be7c3fde0396cbf906020016109de565b337f0000000000000000000000006774bcbd5cecef1336b5300fb5186a12ddd8b3676001600160a01b031614610ce85760405162461bcd60e51b8152600401610519906116d0565b610cf38383836111a7565b3373111100000000000000000000000000000000111101610d1981866000878787611281565b5050505050565b600060698281548110610d3557610d35611716565b90600052602060002001549050919050565b337f00000000000000000000000072cacbcfde2d1e19122f8a36a4d6676cd39d7a5d6001600160a01b031614610dce5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c792063616c6c61626c652062792074686520456e666f7263656454784760448201526561746577617960d01b6064820152608401610519565b6001600160a01b0386163b15610e115760405162461bcd60e51b81526020600482015260086024820152676f6e6c7920454f4160c01b6044820152606401610519565b610e1c8383836111a7565b610e2a868686868686611281565b505050505050565b610e3a6110fb565b606b80549082905560408051828152602081018490527fa030881e03ff723954dd0d35500564afab9603555d09d4456a32436f2b2373c591015b60405180910390a15050565b60006097548261049f919061172c565b6098546001600160a01b031663efc78401336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610ee6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0a9190611759565b610f275760405163181f985f60e21b815260040160405180910390fd5b609780549082905560408051828152602081018490527fc5271ba80b67178cc31f04a3755325121400925878dc608432b6fcaead3663299101610e74565b610f6d6110fb565b6001600160a01b038116610fd25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610519565b610fdb81611155565b50565b600054610100900460ff1615808015610ffe5750600054600160ff909116105b806110185750303b158015611018575060005460ff166001145b6110345760405162461bcd60e51b81526004016105199061164c565b6000805460ff191660011790558015611057576000805461ff0019166101001790555b61105f611327565b606880546001600160a01b038086166001600160a01b031992831617909255606b849055606580548984169083161790556066805488841690831617905560678054928716929091169190911790558015610e2a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6033546001600160a01b03163314610aaf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610519565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606b548311156112075760405162461bcd60e51b815260206004820152602560248201527f476173206c696d6974206d757374206e6f7420657863656564206d6178476173604482015264131a5b5a5d60da1b6064820152608401610519565b60108102615208018084101561127b5760405162461bcd60e51b815260206004820152603360248201527f496e73756666696369656e7420676173206c696d69742c206d7573742062652060448201527261626f766520696e7472696e7369632067617360681b6064820152608401610519565b50505050565b60695460006112958883888a89898961065e565b606980546001810182556000919091527f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308018190556040519091506001600160a01b0380891691908a16907f69cfcb8e6d4192b8aba9902243912587f37e550d75c1fa801491fce26717f37e90611315908a9087908b908b908b9061177b565b60405180910390a35050505050505050565b600054610100900460ff1661134e5760405162461bcd60e51b8152600401610519906117c9565b610aaf600054610100900460ff166113785760405162461bcd60e51b8152600401610519906117c9565b610aaf33611155565b60006020828403121561139357600080fd5b5035919050565b6000806000606084860312156113af57600080fd5b505081359360208301359350604090920135919050565b6001600160a01b0381168114610fdb57600080fd5b60008083601f8401126113ed57600080fd5b50813567ffffffffffffffff81111561140557600080fd5b60208301915083602082850101111561141d57600080fd5b9250929050565b600080600080600080600060c0888a03121561143f57600080fd5b873561144a816113c6565b965060208801359550604088013594506060880135611468816113c6565b93506080880135925060a088013567ffffffffffffffff81111561148b57600080fd5b6114978a828b016113db565b989b979a50959850939692959293505050565b6000602082840312156114bc57600080fd5b81356114c7816113c6565b9392505050565b600080600080606085870312156114e457600080fd5b84356114ef816113c6565b935060208501359250604085013567ffffffffffffffff81111561151257600080fd5b61151e878288016113db565b95989497509550505050565b60008060008060008060a0878903121561154357600080fd5b863561154e816113c6565b9550602087013561155e816113c6565b94506040870135935060608701359250608087013567ffffffffffffffff81111561158857600080fd5b61159489828a016113db565b979a9699509497509295939492505050565b600080602083850312156115b957600080fd5b823567ffffffffffffffff8111156115d057600080fd5b6115dc858286016113db565b90969095509350505050565b600080600080600060a0868803121561160057600080fd5b853561160b816113c6565b9450602086013561161b816113c6565b9350604086013561162b816113c6565b9250606086013561163b816113c6565b949793965091946080013592915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6000602082840312156116ac57600080fd5b5051919050565b6000602082840312156116c557600080fd5b81516114c7816113c6565b60208082526026908201527f4f6e6c792063616c6c61626c6520627920746865204c315363726f6c6c4d657360408201526539b2b733b2b960d11b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600081600019048311821515161561175457634e487b7160e01b600052601160045260246000fd5b500290565b60006020828403121561176b57600080fd5b815180151581146114c757600080fd5b85815267ffffffffffffffff8516602082015283604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212204fa949da5a6f969c6a44c7a0a63bdcaf482a68da34d665a46449b23066c0951564736f6c6343000810003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e0312471120af6c2769bbf7bbe7bdb03e254fd656be940b7b514ef0191c90070119184a05581e0349e9e7725b0c78cee3902c5c959188ad900b63dd107b31d3e02d4ceb900401035141f3c4cccf0bb559926e1e0aa3109556804c966f3d103805729fc7eff797c605581e03c8259f2d0bf9e7e34ae27ae3614607615ef1329a4b4d930e80d76b1c80084806c810e86bfe8c000343a92124021391bcc1ff7b583d94795cff03ae1b4a424f94b8f7cffeb5b64ee90219bf2f0359be0ec1f2f5fbd417d63e8832618c99831032b74e69cd45bd0287c677dad94903f56d15b4ae58cd80df3e5b27f7049b9db013dd5433c12bccfb74161aedeabc3f0365a9a8fad3b16d2affbbf893239522f13031a462fb810fe5f95d1ec94bba45e00312e20cbb8d1ca2ece18436786770891e9e3b9fb60450c6db867d01b90c67351503b78e89c49ed537248127dfae8104d37a5e4e0f1d1498fb6eb55e6f2c388c61dc03b4e3d667c5960e58f72b930485cc672867cb9ab77a960281e4f5a7646a9418ce0219ffff036333af6d9c471e1f803e2a90284c49535976c380bf70b7dfc3950fc0706721f503bd228074c55fbee3a17209f8c10434b40e4b29c8d6a6749a594eba0519fb05be030c9338a4c5f39adf203e4c637295523523c3d8a6b305f6981662c0380a8f53ed03ae2f07d8ec2fc3226913bc2625a4588c7cd00339618030ce00940625325f8ff7039911df481b986099914f4d3ec06a5b59179a0f08fd05184a5005aacf8e21c7c5032c47f82194768c97cdd4362c2536da94427a17b6437f73504b684f83ea397b2203df66cf61883f62c99f93d935e699eddaf6f4e606d204a1f0b3bf5daba96abc5a03c4be20918fd4b471619abce85d450a3d94fa9b6cfadfe7236dfd21b2ee9798bc0219ffff0325beb0c3f61a50153c249ad5be2519f52f196078091b204b95106d029db649d1037346bb0d9eeb2e3a6868150c2bec9703e56cbdbfaa561b3983dea79788cca1d003b79b5b3db348e46cc16b3b77fb8ac417773a961ae4bda2c50682e756ca07e5eb03cf10b63e288086103d745e0692c9505769f126f8b9f0cb759b87576a55cf8c5503146ed5d93a4bf9ebe4f30aada0cfa03f88886d75e25b98b2f314429cd3f41dd103a020be9ecc1a1d16c025cc3416b1fa19d22e759f68b8e12120420681edec4afd0219ffff0219ffff031594b9b1da216bab2aa2803645a47b0fb9c19d7cadcf6cfe79c9b1d7c930ff0a03e09525ef1b6292cd0b0ac71e867fbe94aac5f475bdba0480c8596f55bd16bbb7031b03d39e4be284c5e3033481ccff888de28e477ae01084e11cd25aeaaa65f52c03cc4c178ce37bec1e96746d00214c88587c1ed47914fb157387748951f1cb511703791022d18016bf2bb5b2b4f8e6ef563a49586c798830590d59615e2212c78b75033368e4660dc0d2deae3b21190fc556987614c3e3c566bd6b0f416bfebc547102036097b935a694373a4171565645302047e018e7a7f2c2e4a4ed5d2f2ea773f20d03d489071311ba810f820c056b604962c05e256aa20954498dde8d90d3f420646b038663384706524022609eec0159eb1f0f699d84ace155b95af148551c00879bd1036c600d71ea693cdd38f2ceb3c93fc00337d6d62415668e864dd7f0fe5a4048de03028ea7b0973da15bb9023e9a386c8a0e383a4ebf10d26010afed1c41b6d100c30326025dcfb4974c7fe32c2b625dfd78045e4cb32dad7e5e1daafd0d87c2a3dd1a03f6e90d4a04e07e1b9658e2f46d9ee02ec8e2ec5a7e89ef75b2cb4b11aa1899c703d01008337c9092be1e5945689aeb30e82c7850171946592159204b6302209c9103b8120a15b4596da6ada6614ce87aa1ed3db6fb8137cb8fa062e82f25fe98b27703da76d97f79e047f409684f8d7bba1d29a33ca177fe0991d6fef9e035e16d63d703fa80aa7d4fd0aa1c9ec90a1db4561c63be7c917287c8215d1c2a0b5b84a621df039eb78ec8cb39e66a37227c1cf977c1102225ee42417a4087fefd71e18be56de80355924a367d2250c6a138c58dcbcd4ffea9e3c8be433382d764bab9e98c4c2a7403ec6bf90eb4f0f126ad7f1e7c5400286ead86615b8407c3ea177a3f3a05cc0e6f034135475ae6c143ddc6840e649dace046fed809c5e0e53309d86ac8746072c00d03b12ed3862753f24727c443ceed4e767c83853289e4e095bfd0cc83b1c43526db032b83a17e705dde049ad42c6a1968b2fdf95d1a119e317aa607dbd218dc13211503bcc779a1459b8b8589fde60a727edc9184e00548fcd478250b5f9c6880b503d503f77d2db0c34d703da3c982ab5cc60ea7633f5b81dfcc06a3e04024008c2aa05503ba3b7e38ff2e0b5669060d402d38022b513be445580dd6f7e759141058b3d81e03932814c5c8211dc72f324832c435f94dac882454238e0e1d87f6114f3ae798c10395b7bc5cddb16361928b5c38c18eed42ce030e04125f4f61a6c7acd29592305d03855f8bc85b0f555877dfab4448cf429eaf3ff81328d90334c9b04637adde37ee03492117ed5168ad5e717f8a4c8adb20ff6d2c6cfec4c30040c27022791b67439d0309b791c2246c8d14fdd8813f3f4c8677a41c944cbcfec6649d65c8022739482b03d1157955b2776af04fdc3385e895d673d553c91c5d11f5355ceb05927a5cfee6030c12f54509569eb8951c874d45afc9c0d18e63147651d95053e9a12fb89d1f6003dabb7d1164a1ce952120b654d7997adba1056f32614f0486b16832cac5de9dd2039b768629b7fcddcdd0e916e713a10f04246d91dab900e248445aced7baf7f18f0325eab4ea32296de1ad75e98ba4397cd70f8bb094ce91a36416c6eee08842ed7603c2915bf5fd1fdafe075e6fca0ba5e50e4bd79a5bd681b4b44c19be33d59b3d4003af9377973f95f770ef64fa9cfc932c0c38424ac1ece2aa803b87664620cae46c034f591a78df8d4f3cd474850855841b57c0e08db46d34b780a89dc963d955adc003d8f72ecdae4c407bcb8f66991fe9287454a0ff72dac6ca6698b5eb2c4ce1f79e032a695fd5cea7cf29d9cec4622e8d906eabca99ad8d547286ee10111fedac9d8b03b55d296a59c291c640f600a337d6d7ad6b0476d15f0e4406e777286cc7a44fbb05581e031ed3bf5e4ed2dee73be14751a36a5a162be9d8110198f0c6f3c267b9400c03465957fdfef3b805581e0311107d066836d6b872846d9281c3835c2cd5c45c2e7615b3118db14eb0040105581e03c5eb288cdd45011eacd92001af7949d2317f4d9372c7913bed9f47627004020359109d388e3d6eee36c8ad575d02cff1f13d8d14fc0701e8f05900790e80035a05581e037573ba6bac927a6933e1a1899907a3576737bb567118cc10715447aaf004010361e47ca0d7547e8d1fac153f3f867fb5a2588390862a7e0570bf9853d24e603305581e039f44c14f957898df2b4eb5ec960aefbb64e697bbfc721ce174d133c9200c0444b3cd215405581e035523e67458102949817c454e28ac00590d13fde28793085aa550c3a2d00c0147126512702411ff039d237410dd19c9c9ed4728f251447972f4a51939ef508da4e68416976500a2780459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000003927fb89f34bbee63351a6340558eebf51a19fb881565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f8d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000003927fb89f34bbee63351a6340558eebf51a19fb88d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000003927fb89f34bbee63351a6340558eebf51a19fb88b8b613b86565b8715611aab57611aab7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f8b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000003927fb89f34bbee63351a6340558eebf51a19fb8908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000003927fb89f34bbee63351a6340558eebf51a19fb89087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f9087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f81565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000000671e648b0735fc4d839469181cddf3dde4e67431614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000003927fb89f34bbee63351a6340558eebf51a19fb81693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f16939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a00582002a3606a6b04e3f60149c937e53a720ae6804e81d2cf87c5cbbb6d4ec2fd1138581a4c258b09f308eb0580c80000000000004c258b09f308eb0580c800582002dd40eae5d9d36413549683514227f4233c921c4ac6b1ad58e4fc9044646eff458000000000005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100000100010000ff560c00000000000000001d134181fff07a1341d455d702190304005821033421b8535585f3267530c92b6bb41daaed1438df3de81af16c918a60c753caa05820010000000000000000000000000000000000000000000000000000000000000003910cf4baea91acd9daa77954f17d81f79fb93168ff6fe317e9957c25c504c88d00582103f95af650961f6e36cd62f98df55bc511e5482816d332c8e75e2475107f6831505820ffffffffffffb3da74f60cf714fa7f380000000000004c258b09f308eb0580c800582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358200100000000000000000000000000000000000000000000000000000066875e67005820021622d5070f8c9a72d1b55c6cc8cec8cde591ec8a21700ff6afa6536a19e7e24b1000000000000000000000021908080219a24405581d02250f25aefb0bcad106b49ebc599a8babaab4d4d6ff5df267ea2ec048070119567e05581d02e228aa155d708ccb50f97fc60fdad8acd19cdfed78f14d09c2a080c3040105581d02ede0bc43fa4a3c7decc86d2b8540be56ad3527df738fc60ebe6366c10c0246a7d2b9687f200219040a0370ad4b67983a7155fe3bebdb663903770c4e05bd23671cb1fe7bab63ceba31f6038cbdbb5211ce4aa63cddd1860bb28c0c184b10e2ccc7c47f1cff10164577c25805581e0330d56ed054b7e7a920dbc4dbaef09231b0a403b49543f6e069c77fcad007011bffffffffffffffff0219a7db0219ffff0368378e9b56ff251fb6ab5959f2b9db8dd77a4534c45e205f3d6f9f7a6342118003ee00d41ef964deafddc151c0b92da0b49672b2094ef426fc3b955441c34fd4d60364d818c0da93f680ca227895d6a164ae54af36f7d1fb67468c7182dc98a052d6038a15708f0e4405b2870a30f4d2d9ca3e60d3e4a7cd7b750ace2d1ada6936822b0219ffff0219ffff03f23e878b25c27fcc477243d69a70bf1486e1897709ef13d48b2fe5a05a37f5c703b1129ffc099a3cbed7d52d4d1aa6ab8367a039a090a5fc449da0db3870f3d577036844ceb09e44534d912c2a4580d3d223dd2a4aa319bc5a6393e589d9fabdf26f031fb61993373e995735d22645bfcb4f660d4c1a4d2d24c3a2a59e533db937db8d03c6602a61dc24b2a4a75e668e8077d4b274ed86aa211425413ebcb7f98c0f138803e15697e6c23cf15f6035daadead863c35326897948a5e1c1fd7de68daf56529e03ccaae110b5cf0e33fe72dffcfe4a893d20e2480e32d7afee59deb0df362a09af03b57a32431e0929ab6c696b0ae3bf5184afba5472eafa6da4792beb775f89bc130376156600a2f959aa3477e9bb1b9ca0921b9e783d2d5f6f41edf368dfb23be1ce03bcde1ad5292c27012d0fa791b70498a1278aededc779b5804862f36d348a9db403fab441c1b5f0308fd30b3c4324c9aba70f67af549cc7a3054dcb48047c6694d5036b7bde6281788ebfb4f6412b9491a8d8f7b142c4b5f40cea0c322cf382a9992205581e03dbc2598990506d19d535ae34fae9750a5d4a66fe67c61e6aff4e6dea100c01470387ed6f6d387203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0338de6a99c1a8ad98af8b894db2c546ecdb57edeb3abaa55ffd9f03dd7007011bffffffffffffffff034c1f3b836e785d69e49712a922618449e4763b735b63905f623be9336bddc8b00605581e032d1bb5d39d63d01ac618a6da513d35bc5c965a3ff68aae522fe378458007011bffffffffffffffff05581e0388b76bc933a865b175c0f163c4037f1ec4b5de86c851ccc2cbef41dd900c014603012b88bc4005581e03c861a1a1d077db5596f5ce3916e2c4b6cb2d71be1fc7729c642c6cde70040305581e0346fdca156273bf622d7c8f3d20bb71a77689fa52bba3f83e1b3d29bdd00c186b47b432533474c10b03d6379485f4e5039f4ccd5b3d9845462fb82b4bb84f1e9b8cd134d68c89a21db405581e0370f314e79188c0d1481ac8743534300d100107ce7406edb9a986fa07e0040505581e032fd60b2c46c3bb20c9e3561647a12bc61d6f44b952bd2be76c475441900c0346a0228a05775103938ea15a77f54a8959b6fb3de836917b0b6c2b83e94d73cf4b8fc502a92739bd05581e03603dc1c1f99b74b34e2b587d0851bf230eb196f2113d8ee7e3dbbfa4600c024606a3a9e8280002193bf50396ef6e7fe0799c3b3982cb9215cdee227eb1362aa4260fc817cd51bb2232033d03c047a6f50cee8d2ff22c46520304bbd4389a745d922d88ae637bb9fef9dcbbe40388adbb44e1de94c44b59474d0693b29d3bf6af7e72a353da64ce04cf8de21f6203f64bbf29ede6c5104a96a4439877befb9a5d503b5b6ffc949914467499be8faf03a61521e40024fb97f75a726ff92ed1c0d3762e76096fd9444640fd498cff904003e52a6789144e639290051b866bcbdbd8084f523da5a4aa6e45b4fd4a391fe01e03c2de79bbcbf7e7118616e3e33a9e7aa71d4b4f3c4763982681e87fed2ac9f77803f96b883d321986a03fadd4d408970fc451b792f16adbcd45dd25d3679120f7a40219ffff03e1339137f3b53c952273d885c9a15309fe4c7151e856f41da0dac7b347089888039827e1e4e3ba821f312b78c49110922b42cba4d0a70f94f44c3b5a5ecdc4261d03422475758f36b585ce63a7e8d0d95f7e86b37e031b1b6def914d1be6271edb0503557fc51a646a538369ab8fb5aff8fc572d0c7c61434bb171fe4955f618e1af3103bfe6e8a08606f638f4cc6c2b0bf14d36c15e690763c051478f1227633904b7dc0342b361c82013b83c8b039cc66f8483bca692403eee97ea759e99074318b4783203d1e2937be954f70da940d7a5acf449804a44febfe007744738da30b04601f38003ad2f2bf2b739a15f9098838ac508f9039aa531719bcfbc5ce1ce1957e8c6d3c403fa749904eba0b8ed4d9cb87a6f4afc97764ea9a2eb461251d158be3ec311e2fd03060bfe3c5e592c42e428ab207122575c1b59f5c66a042410288a22ba2f40eb0303738754ffebdb3c9343e1fba6f212aa1e81af6d97e067b8c21d49999d4fc220fd0336ccb3acf77ab7d9a166e69d3da12c38a704896ef454f214422d577ffb0e5b4703d1f9ccb9036135537d9b9d141f7ca6214c7e3bc8980a6671e98a872a62bed6f00219ffff03cdb3e82bb87c91eaf0458938af93ecb4701cc1af9d30707d40633644b16dfae10348d8de62d4ee5a803c97c6706e655eee05a9e295d5ed001111f85d6353a0e23d03f3dd50ab8130588e45b6d492194bf2255f4d3373b1d810ac63eec89754e65a6f03e018a62d2dcaf6bbae51e0563c32c0e0d96231a6ec2b2a771b21598ca1b1993f0368dbbea1eaedc7ed3ced7d70a13fe5de73a7e81ed1a718dafd0d4ad672a8166c03275b93243a4e90a413921f5083aab631fa1524904f118bafc3c46a9a20e3b8d203f8dd4c7d4d65dda5c374d1ec2dc18a4fa771f5634ee9572bb391d0c1c7c9df8103d8395adc72ed4a46ad0c05c318f0880e6a52f42ecf676280408965097021227403885703c4da38ebfb3c7a852de36c9edbd043bae7e1289c0f3d6dd2520bf6dfad0309fcdeaf8b101890a43175bd6a76a6674e3206460ac3a76fd12230a256db251a03a1821ba94e66ff224daf3103783a29f479da80742f38bd01596317ae1605eaad0304c116a3c46a9af9918478466379fdce09636e5aa36f9303e437a6a7680f86ef039abea56fda462cd78afa266a00c649c1bc231587d2beaa94f8f6ae01be242ccf0219ffff03af43d505240890ae7875df80ee20babbe4176ca06fed4a4dc6063cd74da04e5a03474830d496e6aa4a4e90006fa868636341d865a8672aa6f7f2fe9efe30f6aea40306d11af325a4062b940d3bb46333e528ff0521993d90f84502efff24c08d2ec2034db9480776a160c7b045cdf00d81286018285b220059d79115a013dbe09f1b5b034812dc92dbbb34e10b8bb7f0ab176127da62636f40711aec3ed7ad66a9af0b0803983fcb697076fff9ce4d9f19802171d65565d11748e8005cb3fa9194990adc1d031f0148b37d5458078a53db8db61ed25e0915e5d885b7037b350d40d4a947ab3903131feb184314c7c73e460e779fc30fba5634e77ef12ebed54a98f22bc4c2257f03ee34de99f1d175187a71c7dba5855935ed6391e2c2197e9ef8d359c735efa2d8038d49fad56c0a702e1e111f00abe976a9e2f1ed08945bd490531aed73eab2670003fc8db9266ee43f27f9ab26993c198b6d15567b0adff15a2b32b61037700d747603c58be52215ce81ca6f771d998a517256b61cb7365798fcdf443eb0f40bbc5dcb033d43d0d405b43b353bfaad0a05d59a05266de77b5bab08b4e96a169c946310c503137bfa0cb52176ceee2182fbb832a81f4069512b1e697bc1dccb2acf5ee67d5f0324375ddff8c8d3dc9008ad73afeb593f8c5e9b375a520e19255f2bfdbf6b469a035531ed56feac0e095c4f7c604ec488fb104827f9e8a11064aa0b10e3e56ad9ed0308b9630f948ef83bb9328fe52594640545d6af03863405fbf6f3076185ec24f603ce5ebbb4a8a08d631e5a27dbc2b0e002cf8935ad3148d3f61d767fe6634118db05581e03a44aa30dd4a6558c9a5d6b1f4fd0088167879d7478f4114436b0e701f00c0147068bf7bcbdc400036432c028103b3d8cc5eef0ef2a234c4f0f04c4be73bfce23cf8823317540e3b803c7d971f0a4b4e260968495ebe2047c948cde688eaa0e6c0848b47f114b2f6f0f0377184efabb126d1d0de0f51e9465b3ed60d041705680b96074452e17829f5c4005581e03f00aa00cea6ad052c9ff40a6ea37f6f036565cb3ea12f7964962660f4007011bffffffffffffffff05581e03bbb899c210de51e38e16dfe063fa5bdb67a18493c87be51743b51ff3900c014704e76f457c420005581e034fee7de842ad4bd918bb58395306747336fa01c576120ee006f70350500c04467a1df65dfcf803e840a06eee14ff56a79a394f542e75d0c589fb7a240290b1f24c95ac8b0397fe03933b975930b54eb1dcce0158b193e9d6393ffbd512c3ad05f69fc7d510dcaa5201410d05581e0375d7ae58ab6cc6858a6db68107fbfff68cbb951bf9ddddf402c04747600c0e47229ddeed6ff40005581e03ad3e7ffce0a68ff6744bc3be391e35bb7f822228cd09db93e08cb5cfc0084201a803647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d035485a952b56c097ad744f45a0246568a89b2ab61847068f77b88c559436aac0b05581e03df0663362a9a54e27d42eb3bfada5da5abd1f854e9231d8717d2b0886007011bffffffffffffffff02199edc03d5487f23df5e15cb482bc911686bce908110525e6f4c2926eee8c1a86363249d03f6d91914459ef90408c093c4ce1a95af90df9f590892ad520c8c488f3b40baba037326afab0a25dd40ecf2508e158e6375aa38598cae1af89379733f576cacf67f03af7e24e0f6027e31fd21d6271de28b6ccd59aa71137de159d2d479845307d40d034855532c35d5220cd1425d43e62d5a0570de9fe6fc3b5d6f4494650fcf0b7b1b03860408bd9e8f1b7e7966f1d1b002eb4d84e5bfdeffb9927317b532b8ec714249031a485149c7bc398d419b317353f185d405bdc9a338b4541ddc14110d062b25580219ffff038f2901c937c7df5d9b73bd5fa17cdbc75af1d0d7d85fb6f40aa2b3fc32bd68d8030d3b8b21a53f77cab11cb046148ea92e5200703da3a0a5dde2905a7bdd786b27034f510fc7aa03d6176a4125b6c38ad3aed3d499e30ee09a35698ef28cb818d9cb03c8fbb97647b1d137e928912ca4c8123e2b7a4d9d0412d0a51f144e649791daff03f482e76587ca23a5a3bbc7edebfce56f717fe29a983d93ce74aad1af26957135034c86fa4d22f4faf212f0ad6f2e290196370b9828cfb2ec80ae7d0eaa2f508cfa03e5728807f67fcc44d356e84f7ff69b68104e203efeeada6de390e19b13ef367603dc9f9066eba77407cafb4e8bdc762a8c9ac50f39605b879e1454e8dc6ae7925003dfec6d83734e6b4a52d10dcb106a736369ebc3dca8ec43086be088e547f46a8d0350f2f088b9ce86459e2fdeb4c001a389c9d4b32abfe509312592f7d4d57e0bd1035f6b9942a2d8897bd377934ce0c5e46a2cf9815d6afa3c1a3116b4a03907a840035400973d7a62b8eb9e28229ff73e2a9bc588c71bd1e65003bc534d697c7104a403507cdc63999c5a688b817e69f0b17688a76116f35b17d9fcda30fcb5c88c934b0315c31c69fb86734625fef2b571133c042cbdbcabfaea32547a71759042cb52dd03a715546b7aa1331fa637504dd7fba8ac454319486008f4cdcadcb927322b19700219ffff0368164a4f6c5edd44232dc9edaad1a451904be7fa36584c45df20d588ed87c5930302f84e9c93e973df7e1d296bc61e8b8bb5ca33a9a56a20271ffca5c53c7894d9035dc640bb28b661d5a4d8e6471ce4ac257a05c9a127f3f784f2062b2859b5c20f03d2f74912a09ec245d25cac27cc9f5009c636baa2d87ee762879299c347d5465d03ac41002aa758b5dceaa047ec36efcbe79af91f2feda90135538d3b04d9eb64b603ecd5f5ef26a4a607b8c5463c14070b671b0f0d9ed1de07f5cd311dd8a684d9ad03711c814e9875daf66c1f8547bbab4dde58b93330f5736c3273daf26af1642c6a0219ffff034db1e8e3df61d213795f42449f4ec09f94082d3463a13ebb59d82f2ced6cf68e036fb8f3c8ba0cbbef7b615bb285c0fedbb3abd6921fb55f1e9019255cdbbad1a203b4162d5b470c2426c5d36ca326fda100c8f244d8ebfbc69488c679c12f06cefc03a7cb68b722895a2e0bb54f633d3e8543ace598e73124f48adbb3ea1d487ff24d03680aa8d0dd476b039266c22ed5242741b94710ae6e0e53f40f3dccab0955abad036c92a0aa94fef01318ed492f78c82cf45fdbbb87ec8e9ead09261c85e824af1a03557a433934377dccc2366182f294b5e91b6653cd1ec6f61139bcefa28671ba83039aa37aec80edf9435d3336957e315851bbfb859b746a9935c82c7830e340c2bb03f96b7c73872d92f10bfa51199ec1d2d2b1d2b8127a60ba640a378b2a85b5d939035510b5a9324a59a32d46a1ea79b39fdc55c0c9013471bca25767dcdee6631bbe032336dbb4af870ea83c66030d3047f4cda42929734aa372def2de4ff52349d1ce03f42468175d002764b34dd79a51443a8a9dde149cb1b86e4e0aba0fe6ae3a858f037191ca061d9ffbaca329185ffbb86c411dd870a7b9eb1f19c22286800526a96003bc134915baef6838dc3e4b03467bcb346381cfec6fff5118b1fd63772a34a2a503e7368dcd934480874e4558897913876d8828777e0dc22387d7e36b9288900dbb0372156ff65d240496e9cfc8ba3a66f9eb86f255c6d8d40e7c332c75ad7ecf52240396b61308722d73ffc40f7a8edd006e5ca54a08514eec303b45f78dddfca85ad8030a1ebd2a74f17874087920508d88f298338501d75ecda5f76cb508186d3f86be0362cf1167d9d70ca28ced4d6746b3b7da5453cb7193f9ac29ba27c9f650303dee03c69b9a84f07a3abe948444f30d8231f70e6512d0858603779f843955956695d303592c9189a5ca799df269d9a7b9f70ec1da7362b5e905eba8ac2ddc485a2c671f03428ed08f863e95a5e6b52cd0fc5634d757ce4bdbe06c85606a0ed3133d0b4e7a03d61b1bd0ff3588d6a5d776ac42e0d10d87c87e1216087f376c72d1772b7ad2e2030f45c22f859d7928f1efb3fab09c795e1ec5bfeffa093947e22e9201af3ec7cb05581e03324b394ed5874b90fb1dfb1c93ef0eaec71d57a610b54417996f6620500c014701a4ec79ff53a003e9dc264c719ae0301594e0f88eccffef36f1183799698fde687d46e1b5287dd203870a989a9b42abcad84c6498c1c6fb0984119a748a4f5cad318294ede734a9c103f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e03481cdc659effaac01faab030dd0e61c9d7186f9e62631b0139d7e1976007011bffffffffffffffff05581e03de9d43a5b900b435712c61cbfecea571236e8809b5f7f84f2be2fcbad0040205581d02abbd1e49103a7a2a1367af7461c7bb2946234a349bdbb7f693a31331040305581d026e820b6c07792e5ccc9e916e34864fdc9759fbe6b537e065a1db21d408470196f20271fb240218180323d6c1bfcc1cabd78752e95a4326c92b30c46a23ace920295bdbd747f161207c031b1f01df55cdedfd0b07664469982a1d6f4f8670562db751848d59326da8c8eb03b811700afc970c32c69cdd62c805028638fd12761ef2488487646c9cb8e9a0440300c041e789a0fe163bf0444ead725a68bfb68f51578ec6e84cc31f5588f4ff090219efec03938a4e0fdf0980c72cc362bac7c5546799f3913bc214a799a7685347ed6ec9af035e9b79730cfde1fb75227243a5cd43f072eb707651419305136bbfd52326bc590219ffff037dcacbb8977f55363bd53efc41193f779e2486928ba4ff1eb0ef13e311941965037ec77db96262233ff173b9c8dcfac660c4a14533f597494ca86f1ce6d4f95c4f0373207676000e07c65ecbeba9ee065c1e39016339bcccb22e9a2d6f10cd71cbdf03f868bb50b782897565e757e14e8e3c947643dc85c21ec5c6c0d64d43f5704ca503f98c29d8a6f930b349c6b013f30b3c5fb92cc8b5fee7c6430d0d9e9ae22acd3203b9741eb39c6a9c60c2ff18608396a6e688ea33e247d2a5cb2ea733dc7de4a8cf03b3be2cbd0c47cbaf4a0d312e976f35b5a3e6aa4adc0b9e690fdfabdd0d3bcfac0374af6b8bba719b9304af0265746e8880d94ae40ec796a71445d83c52c1926ea003b49561140eed72c93fb2963fbca0a116507bd9a74ef0c8c0063b397240f4f4af0368bfde980376086e60c7ffb6ce04a136bdb1f1ebe3efd3d3f2545a2dda23becf0381cfd7f1e27bc7d5629721d461f86f388c254f05219aa061fe747121ce1169da035a5b36a8fe6ffd43955a543387f76431ced21d51e24a2e63c150263fc7369d9b030d0764dd13d85eaf23edb27b7ef58baa7b6b586449b410cd123c6cb18c33f097034151ecb2ba5d0743a2f35d574841cda4ca669feb9b1f1e1f0869efcc06c648c403a46f19907298e43a5f7a7cfed06a692cebf806a4263f0694039b2565ed33470e0219ffff03f388cb990dd5cd4fe832301d456a903f708daa6cbcf5179d3ad1f61fedb1746603be674dfcc17770ab913c6b9732cfc32fb20f08bdea56726c1d5630b5d38e418903793b62794e32c563a9d779582cdbdab4c6f05576b4e2a24e146ab417c65e9e030377779998ea66eec11accfe2412be230096633808ba1be01276893777336bd18303e3c4ddf11611deaf24fa40e423815c056f580a07a10acb153a2d933656fe403e034f54779834dc9741f014c9b0c87c47a7345882858af49c1db1a21a9172eb0e3f037a908dfab35f58d6093a929c6a73e7382b905761bd6f9d7d47e0ecfae5e303440219ffff0304cb457bd7822f460ef73c64cb1348a505973ab62988549f9cacdca8d8e3514a0301a3a7130147915976ccc4fee43d9a559ad185efdee2b49756e0aae5c902e6b703450db3d3c73885742a8aed686e628da8f78e7cf909a6dc5b4d6e276f1fba849403df011457618926979057a2d355fd813333875b91b947a578e35c7e60b90565b903811650506ec8eb1ae3a972277d28f8d31c2f73c0fa1e0fb1ced8fd317f6dbe8403d25e4c2ef6944e047872fd1b1402e7cb762eda672bc36f45d2d588c482decdd6031b642053280d2b12aff27ce55a4055526fb3a6298cc3dc6f1d6e38f618342e3c0399dbc2fdd11b4cb6a67932775dc4b21ca8252b6b26a8abcf06fe95f706cb189f03fb39fd2cf5be2cffb66b6c6cfa3eaa8c89f68ac79db791c2cf7cb8d121c107f103f71cfb5d985a9552895dc875b9d9c1d132e7d7dd395a152cb20d78ae0f9bb1700347c17f398808904bf66ac053569a40ae4c33e8339254ffea720bc257a63340e7033f275209c1a399354f263832923fe64f34f193b52ddf9c6f128ce5e36de4c32003d4be4cafd419371be149d17d9da6b18fc50709b53ab6f95f7ee8e1826d124fef0353baebc7903ba3cbbc012cbecc2c0df62b98922ba225097a5b38d81fd24fb21803a3ef8742fec292dc021fbe61381401b17ae3925664a52522a2606a474731982f03f1c11e65efb6aed1454be1db73aa17dfd5f5f455d98d54836f50aa6a51d20bbd03b45913207e2dc6f8ed671273e6e29636ec8a0d4049c6f00dd83e66d044bb400d03c1a798088f64b0c3ff7fd0da070f4fa5867208a3ce8d5f092664ea37292f578a03cd9ca2394e2e35db94c12033116c5e059488c9e3f25b06410f4df4ef06845116037c46f12ad6e0936b73b0481b65730a394938161d4454b4cdd9fdb8feac948fe403f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03b53cefb13151d3ea739334332f86ad6163237196c0051491a2d5dc29c007011bffffffffffffffff03e7d6d4bf38f7fbf6bfdca71d3c3f193a0c1fb43e5b12d33e2f0ac3bd9cfb969d05581e0339417f53536bba4227f5cb51870c5847ef80a44aeaf3e093b0c14f57700c01470212332ba49238031acbf5e7c35de55bcf219f28b70513751643069ca2d08e6c5c8ed5155379944405581e03ce740d960b8821b71133e8c52f388b5fd61ecf46ef775f5b02a32c55a00c02466150e0fdb00005581e03a0e7ae6ee780d73afa7f5380cbb3b3f92d1b2ab6d6dfa8ae5459419c200c181b468194889b0e3005581d02141901a790db68a3a643583379e1f9512dd27547a0b5de4ab97805fc0c024803809e5b7397c380035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503cdc78f2d392a26db98abffb8c65de5826345081c6cbfbf923332bb06377cd722038b31eb1ac8a22480bbda59b41e2df0ad47fbfed68fed92b4f1e2c8d5146fca0503ddf0acfc21b90241e0e10d60ba41775672054edb7f658b1c0a22a02a4f4f4321038aadfed6884803f56e99c49786efbc2e7f3fe2d590e95a040ceb50fbd67d34d903f10e6c7e0a28aa96f6238775822d483a31ecdb4a2baafd4fe061e4b98315bb6703a7a2b94e76a0de28e5ea53b74a796eaab9091302ede3db074144a8b40c867c55035cb832226fb17455dd172504c9ba6d9ee7dffee5c0eb3d76d8bed828b7087ebb033e4eba26fbeea31de49d6781d0997d529a04fa20dc64a7ae8c15fe9f83e46bcd03bbc90244231682067f19d9b0d3266062b4c8e4453aa3f2067796bdf92118b637005820026f361667f7ee1e9ace99c6987ccffc09eedb099e6aee7f46216fb45f7491394101034442993e432922ce0d46104c3d162e37e0419605589f0fd3ec0b73bdd116046d03b90a75193d114f5743312b932710091b9027c9e9f1100190bec9f1986891cdb901410b03d3e0ccf1ad98315bbef0bebea204aa839e9b9bc6fbea3a45bc27a8d2c0dc5a42005820021d0c74339f41010a2af1165288a2a43aaf4282af47b9a80b6b495887b927215491fe14df53eae3a87e310ec6edcdd2d775e1a23f031fea15b9a92a5d08e05ee13407fa8a89caea44111c96b745230617749338159c0362ea1d67ee41463cd30475c651d0e473214ea918ba6b293fa693da01158ebee70058200255684a30f31e445beb432fc9d1560c3b6e0008c669c698ec96d80458b4c3b1410103d2ad37a9d43bd44d1d1b945f66e281e04b34313ca828a426843e8c78363f615103fcbe4540ee430ccc354dcadd1bee398e9b97049fa9c1c5c38f93966b2373ad4b03008c6ef1a24370c9ba3f8bf265e18c3fc610daf875a098d72f578ba68b3ecefb00582003453f76bf4ef63a64beb78477a75a99d993000f051353077193bf1e44bc2b705491fe14df53eae3a87e310eaf6bf1cf52873a35b800582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0501b4e3f3664ff6a85eb248d3c6b5bf7d70058200326acfa3d88747109b47ded6459edebbf7e71d4bbebd7a55c0e92e43dd06200410100582003a9e373bb5248977ca31d2db97ccd49d64bdab8b2030ff4845ec011af34a6905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219600303603b028c75fd55a4424e9e3544c97cd87d1a40f80e05cf8e15eaef6e1433bd360219ffff0306a33feadb4e405c34b4df7e0d57de833fd40f699d620f5cc823eb3b8f4c871703daad3563a51d4f2f56095ddd13ab935ef1a969ac5e7f4dcc6c7dab35bfbb542703addc0103de647a621ab130d88fc6075d9022ae6c83bc620b2a91e1b7b61b76d9036792b7b2c4c02a571355799a70a4803087cc78014999db3a2f34f05cf4f3e860034fb9ced6cfbb81d76599a30f90c62c1d5e388d0353687b2dacb50bc7331acace0367a7ddc6c1a2bb64d946881546c762e3c38016e83235d51123518d8bcd73535c038dc6b34e34f7144d03e30add7b8c43175f0d6f24cae2115f107421788d146a3603a48ea2dcee221aa433ddcb9748f71b9e9461e10f8cd979e81c0703f77b41d1dd00582003889dad707c970c8bb51d9c0faf413359b99c3d4a4ff92c07b2efc46baa1fc0410100582003875e19e8532df6e065f8bd5cb2979595d961ebdf0fd3b6b5610eef3e05c3d0410100582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20058200328e7be13eb7c1d3d7cea8d64fc68f6916bd666bb02a3fcda6d4f28140a57705491fe14df53eae3a87e310e1ad8cd0366f7d311e1005820036dc9360308d9789582899fac59da10bc04e3bcb8c196a0ced9d41322bbdcc05491fe14df53eae3a87e310ec6050d47dd0708cc9b0219a05103b51ff144372d230a7d04025f7c8aba7a237428c0c4c3a0728999c0b3070c39610308fedeab1aa228988abe792c5995c8b9fe42152382e423c3f7473fc5ca2cc2d60320ffb1ddbaa5a84e590011429ff3480ea3870cd46c26a412af0fc3676bff203b03a168c9dd44fb301927b22c088c1c813385dd2627e997c45ea0a586996e618cb303750db7c41eecf4869717d7a7147b6e28d46062f97c2714fdc9cd98c7b8484d27005820022776bb5b4e0b36dce5864f6391f0d639536ba4b017ca8bc415893625a7e3505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bf6e41bca11f1dee4620e7e269d5403832e562240acf3e4839a37a4e9a466c91005820023b2ef6e5bb0391b4444a6ded317c30d3f1240355a2e6f3b8f83359b0b16085410100582002f6d3854d497429b663d38469425e078d6f425d7db17de7efa7cfeeb2b5bcd741010219ffef037007ab7a20285119c71dff09405eba50dd31ac92b8fc40b68ba49002b1b8244c00582002b0ece139d107ccfc815a5659f00ff3d757d6edf17f7f1ac1ef91ed52ea751c5491fe14df53eae3a87e310ec55b59207d7f8da23f037055488ed4753946b58a9bd8fb9cf8c43772301d5e4e9727c7b3e7716101931003a1f57de57ad8635e84a86ec80ab97afe1bf91eee84a5323123206675902c78de00582002e7934c7494f73d6c4290bd409680806fdb26c6eb861339a91e479318d78fc55491fe14df53eae3a87e310ec5e62043820975a23f03cae506452f9dd337a3070fe032c9155034fb2a416ff51a8fdbb6f9d0044c4d8d00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80540383a0f15d01c2ef90dcb4e0f925da062d498f6200582003db97960edd65bb3e0baa2319480a4e805d30461aa1f955b4ffb5024b9683b04b52b7d2dcc80cd2e40000000218a00312f14bb667ab5fe88985b5dc01b7684581a7fd504442f0db2893f018f2c914fd032ca34348e7e358686e87c1aa6ee0ff9417aa6b3ff000b9699ff3327d3eb71f1c01410803ca0d731e573ba6a7f046db2bd89f3031866c13c56e2be81848c8644bf16e156d03c669e402cbade2f41a99dc47c3656c66d909e29d29dde2d12230bb6a6fe8737803089bcf6d9d8e62949a0d70fa989a7f57472f71a1d3923faadf193ff69d1d075a005820022ff551a89069a30d2995e301c175757e530e5a958e72004b328effbac25b6e5491fe14df53eae3a87e310ea86f1d3dcd8354f46203fced57ffdaf4c6d2c0f53b84d0ed2254a89ea49f0c4693727507e5a5140ed0c30219b7df03ba86ed27a935aa3048074e72730d31ab83faa60f99c63e2a83b824e51b1fac4d03a5cabe1e847032269c6d564d7f0599dfd41dde09dfe3f32d7eee1d425045c46403f58c84014a775139bab74eb4a1b8b0b9921561e6e2a939d340f4f502633d0e2a0317cb349bec44b3f404fc5f5c3c4c3f559db3a7c799b3e66267063c4191e9010d0058200233985dbf42069378fa61d034d1d37ffe8deef1ff2c8ad59ddc204ac3b736615491fe14df53eae3a87e310ebeb56b56be01c864e9030e00bf7724d90ffbc6e3b9d747fcbd38225b517d30629868da6336a4b592b21203b0d21841aa6c7932d43361fa8578976b0d839ac58892122a1f2ddf77c48df48501410c03ff4d79dd104d10b708c7cfff3e20eddcd4263c005c2d81a1096a1a234ea3a180035dfa3a7ab74a72c1dbf568d6ea307d20012d22b0663a062f71ec9da947d53fb503e9c10fdd59c35f28fa7e43b89aff45a8e82dc47eb6afb86e040fef6fd9e5d9af00582002ccbf31d9acfb07092d5a39d72731ad838e5d9fbcf7c3dfdff423701ca5419f410103596ffd2872aefecf3102738554dabe6c7c1a16d22dd5af3f476d01866d8998060058200255f003f0a6715e2f8bce428ac7a578e8373278a7a2c027152477321e68ed595491fe14df53eae3a87e310eb47ec817698d7b98a1033cc29f017e6d001e3e64b45d24d3188d3653ae25294b252bec6c0d9c7ab5b09a00582003caf7e82f98e3a215d3f147ef4b2c394028b52e982e35b2a97c671a5902a0105491fe14df53eae3a87e310ebd592b0b141c8f462e00582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005820038918af5cbb2b2449c8ed19937f1d18ff9d99b874f369e005a260d04e4f6ac05491fe14df53eae3a87e310ec6edcdd2d775e1a23f00582003cdb04b7b773f90c43b9462a4e1bf728282988eabfaf49d865c001c1a63aa404cfffffffffff096fb4da20000021941600219ffdf035a0832ba324e9ccb79f8daee4fed6699cc4f0c13a3983e550dc3cf12a2e53efd00582002efe1cc231d9089a04f5319bf3a58af35a1087a1b42d25f1c2b3f8a414376c85491fe14df53eae3a87e310ec6edcdd2d775e1a23f0310b00c53b008c5d73073590be1c8f7d4b031a5247e49704fa44d48e1d747bc3d03d7f52f7d625179bc340a804e03140177413a7b14f91cb534901582e9efa0634000582003917f8027f3bb9962b7910916bc45491f48cfbbf6275e63ca7d39ea589f7de05491fe14df53eae3a87e310ec6edcdd2d775e1a23f03e02f47964c66a16aff8ca5891d66732780b9d08a01de4df7d95795128fe5b34f01410700582003f85cd6872e71dd4aedfd0c12d22e6c7d5aedb3b87ad543af836a0c2dabbe005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200398e0e8704b0031963770b0bda79e9d5b9e12400872ea806e7bdabfc6486e904102005820030182606a477b17f57bb53198c2aea32b6d346e3acf61b6fc7ed2a509863d004101005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058206687daf300000000001eff38f5540924f2f800000001cb5702440123c241916902198c1a037fd596a14f9129d19bdb134bbc02f48044223416722bc16c2d7f9bd4cc181374005820024fb259ed5dafbff7de429c7d77adb1ad638bc6ddd537e25549ef8276551e135491fe14df53eae3a87e310eaff19f394a3841a23f005820038a69bdf56c6396b2904b2f2abaedeae9c161d2248ca0a93f5d06d95b69d170410100582003dd2746f1974e2c36a1acb1c36faf7cfe651a5ef16eb48bbadb2489eb586e904102005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0543593d125a4f7849a1b059e64f4517a86dd60c95d00582003353a3b7db391f8535da14dbe8f2933acba550ac6eaee2db8f572b466bceb00433270e00332a12a0cc1f0a02807281c5610311302c0b6699be417c77af4912db9d445900100582003540b3a1f4d0b990fa52e427c4cd45256031e7ed5ee617ae2035b04e61c63704901b845f6b71e0ff04e02190c6c03dd878998729108cb5c77bb18ed80e316f1d3b2d2139016270a7b1cc684b4f097039e8c24adc796928a761e64b777b7369027e1a5cb8c395cb335bd0def0fdbc89900582002ac4f9b127ce50ee3b2390ba897c19080a190142bfebbfc8fdcf77320bdc3314b52b7d2dcc80cd2e4000000036c1dc6f59e94e7a43df698f3029ac4b59dea93f4bf75859e124ea4c113df1f570058200295dfcdba03a60fd913d4bfeaf67d0400b923221e78fb597ad799de5cf0e36b5491fe14df53eae3a87e310eb8bdb3ca3c21540f95031ce039ed9dd302a6ee60e2a7dd88b4657846d02d4570ab34018b65199eb9182803786c033a2c04cba1eb1ccf65f46378e1fe8ecae26f7656bb0adb809dcc8e839403e7b8f8364266a0f6091c9e3c8f4cd739206331e3f44d0d2fc893923e95aa054403f96ded3e644a8a42d8450410857be4a31ca1717b521131f09d7153cf647479c10219ffff0219ffff05581d02d51e41c14b735c288a64a7be9626c31afd04538c5b9074152a8439c507011bffffffffffffffff0219040205581e0378c2af91cb8e0793868f21086fc4e407adb5943772ef1a5dfd203235c004010219ec160343eec5b75dda7a528369d094f5a43185ebcd807b82d167a3864494baeb0df5e203b1f7a7a259614dbbbffe82f62826df0cc7cedb57d8898896b13ea26cb47ddb7003569799fc37441c3a94a8aefba1b4b3b6b1bdc1aeb6bc0930ebcc8d761135b49703625b650780ef24234970a1b399200029bd764596774a881974a39577b2ab2e1c03d924cf1c825a6e78a80e1a39745f01239bacd4769aebce9b4bff1c83a935b095036be700cf2881752211946c36bcd8f2695c62a7b2f55b62fcd7e0afbd9fe30a900383f8837b540a2f7c70309f2beeaa2a6b81410a701aeb57d086d0705ab1b60a39037ed0092712c7b65a02c1e675924efe6a08b882647acae6dba2957cd0a34c73e4035d85cc53587d61d695f015a2032317ecc2df920b719016c9fa88f966dc670f0e03785b20e3eb675e393dd5e65c688f4696ead47faa6e0afe0f04d58eb5c77515f80219ffff0312ffbbfd10eb0339a2fb70ae79eccfaaff0cc3d9a710c36b1351ff40babd2d3203186a35ad7945a0473f91bed75b0cf6bcf558969cdda85048bb967da493ac1d9a0383c4a2ea696e2688764bb7156b2c154c4259c607d87a5402f5703b907e96f61d032732d61ff20ad3184ad9ac781e60d8c31576623e43a7eb7d0287d5afd1cb396f03c5976705242541ba53be3f4c952535930f79147c829a55243d8877986d9a258003286b08b3feacba55b34ce81aafb884e34b29530fc53a56a48b7f1258c3addbdd0392d675ce712101beab4e4b098f39152b3a90c92c9b39889628647f2e4e4ec1890334b1b0295fb70b3b0a6faf9d6ceef0a2842128b8033c4eff0b86fcb7027fb85203be708e44c3c046f13123163817e100addb93dc3db9da5abf6de250695c19b77d0219ffff03863d0ff1dc3396b26bc3cf371da81f5c7cc9e1bc81351134f995765c2d6417e3039f3cf6f68c5a0ee31188699eaf75975acc9aebd30442cbcf20dbd3032c51d40503024327383c6109fbbe582485320e8e5a4fa94430eddd211b5aa848ce6efdb9480362a79e73295420bba2ede5a27d464c779eccb6b4fa8ca9b1b9ee12a49ee62f7c0392759686853cf020f78eaa3f57537cb2b33f873ca9200988d953f9ed4288ced9039e6ba8429a5144ad244b8b64e2779c0e43b3ecc4037112db91401079725a2aee030e8dbb4217c4ae6b2ebc98d2a01aaf97436416b440d7334a284394fcab884fe403413044b6e1ab4184c3908f46cae3b6f37d8a44ba7e9405d6424e2fb192947dcf03a093ff25fc9527d96e382363bed951b2b913707f9e837372bc47734842673baf034d806f8ef2c7f61b94cf4e2cd95d9eaaf23ddadcd69797ddb71dd666dad6a12b033eff48ae2ea18ff149d0252ff2f2c834fe2fdcfca09ea937595c39f0c9b6fbdd037ed1f8baa97b38a9acda01d80fca017c80d7b109ce1bd9d28adc9909302b4f7f03e170de24ba5d2984f8e83f926b9e2ca2137b8c41cb4e2fcbd179860a8e1beba203bdf32a2acc97a7d094947429a86463eebfa3dc0660e1e0b26704490cfbe3ee5e03757fb31fa6524bcbed5e9544ae36ad5a166e115a684e2a660ca26d6ba1d8794803f9cf99503af6eb801df0e86fd62adcf9184be3b68884cbc1c84182f3f8e96a96039f9ed1bf7eea00533d92c8dff1eaf9e4a83f0fc4dd7683c3c01a833564aa012d03bd38dfd3cb8d818f8082847a28d8287b15a2c634ca63ac62ca1c1b8988a1c2c403efe4c219844c5f5a11f5e10b795575974cb2e1c4f2712946c8151c2049a5571603a3157650924bdee090e4c65d55dcee452bb9075a8e2701a0c789d52310ab8fc603df7233645d511e8437e1bb3f2ea5831cbed3eeb308ed051e9d08ba30ffd67cf303790e6e3fc4cb53a4bedc5f50e48ae84301d99bf3c857b93ffad62516aedfac3805581e03eff6d0497a4ea156e989c59bd4deb1434218be4976d75ef27a442452600c014701a81a09fa4a8405581e03508a4b5c5033e7f1b2a93db578d8276a3402817e1cc8b95a803cab4a100c1a00033aa949012a4aff4c95711a9e035c4a0f2946c41de0dbfe15090a89103b33ef9e96ca8ae60722cc1705b3d2c13405581e03764aa7891c7bfc59d21c378c81bb8eff8bdb9714355ca98783b07da9700847093cafac6a800005581e03ad251f8909b2ce35952b205f9ef9a1c74b6fa5462198e6028b24dda2600c0546dcf341f84bb803ea16a06ba5cd98227460a7ec56e47bed2936622e1e20dd8f949839400bbf60ac05581e038cee7abdd0dfad2f9f9abcfe1f8fa97fc69e1898195c137c11c92824400c064702c6218b68e2a805581e03964f08bd6c7da1969214933d7b659aae16cd87cf2c46bb3bb4642eca300c01470524ffcf7eb00005581e03955773aab397b85a046faa4e99c9ce9bf9e40dd9dfba68f37fe3b684800c024742d563964f094005581e03b3b9a0a99a639257d4d5b23882ee8d02d00dd845558dd7563584b9e78004030219c9fa032e821cc33e9c2fba48847e59f7bdd1f6c9afcc7a36a295fedffde90a9cc030b003984b31ec8d25c6ae2da0002ca7810432ee4ffb9ec35db52ffac86290bfd540ba03cb6e16c3ff244088945d2a1a1b941679bef72741bc529f086d506c7af8eab0040315d364b019bc0ebc455cbfd9082291195c3d7f50e57b3fda830db5d73b18995d03278c8370187163ec4bd34446fb53336936cadac2243d121d566365070eb12fd103f69e5fb604e6dab9b3588cf4538c008dbadb337243eddfe59033b5621c96cdf3032b4e19a25e01039da2663276163ebeebdf501a3ed911ca17768dad546891e70c03a983dfdf09ff0bdd552cf4e5383dfaa91444c57111e0468e26d3b4b14751c3c103b4a51f94ce171d41e7ffb925845a7685b3f4606d35aace6d416a2ef51b94cec90397d5df574d5f52ded6668fda074e25bb98f8de49e39756ac8e508e2d4badfd090219ffff034bd03a3f502cb276dfd74cdf8ee7f0f812881176397bdd9d2aeca1279231b51503868b9b9418b0c5a509cb0147bd7c6efdeb2809594bed256c1dd1f948b5004e780219ffff03496d4a23fedc8bd0677c83ec640269f4c57060c20eeae39883c37ce3159996d80219ffff037841c0c0466fa7551bc19b07d6efdbf7600a2e0adb62fa2fafbb5fb9856670df03616a30f46059639d0def866710cdff20040847ae75514278a0cb20ceef5b8df603dc47a1dc592f7364f58a5240419ccc37041723efb6d948a699093e3a2136ca16035cbdb51770dc33c547ce9878ac229e856519588e18eeda426f2777314536f0c8030e55c5a227c8794a98fc35960f79b19dff5a6dca9406ce68ffa4e90c32b67bec0381ef5387a3593350008570dc4a267612802f20f13dcc10b098eb5f10199bb05e03611df86e6e91933bdff908812538eb1307e3831bc18851d8dfce207e55a1bb17030e95a1ef83e8faae073727c43062a0efd1981535870050520e0664deda07dd20038985559ee53e815ec0d68e3389a468e77eaad5f1967f76644620eb4f4b8179b8035884a876bccfeecb569785617975fffb686d7fb5f2fadb5a3dc823bf462bf3d1039c60e7fd2eb7eb3aae85c7b21aec8dc504b54d1bcd22aa77fa58a34f4d1c5df5030e4447be2bb5104c7e01bb9560b3019625fafb568c7d12c1132ce3e38c142033032ae2debbef9bd120d3cc3651de836383c796e15f484eb8eb60cf288f7deedc4703f1f67668ea8d1610eed17b4204cc60695faf4e57e2dd2c4c1161f4cba81f61c70348a3677fae385b728b6c7bc9eab2c53737e3557d034cb2d8a21676d96c65c0c203dd10dcac15e3e666872aa71bcfed13b2eeea2db29522173097aa67fef7a63c520316e1c3a312b52929049ce4aa1d08827299bae017118c05d59e2cfc0d2715463803755028330e664779ea7267538392744327b97944be6934fc06df45fc8a9154f6032a93b1e2dba14b5d5f03ce404b86b496432ad93e1014f2072d58df2b043cafb40351f36f65f4194462d18575a61412a14d69bb75b0982442f0a1d23434ca14eb8b033ba6169b61a28e5dd8372cd659be4f47e10e8c612c0c0eef3912ecdf40f428b903462269bfcbbb19be3860a76523d69c567c7edf42d07648ff13237a246906ea210378e373f2a2fc7b0815bec83595a2082fce250e7814997b69a38bed6f0bbdb590039474ea36626fe4c5c0020bfcac3073a303c79dbb15b652096a03cc3e2e040bf003ecbfd1de4a489e18452d9b1af815f5e0f35d7c9f84fffcd05834fd215778c49203bc027eb63fb5332c2898bca5ba71f6919a50c375e58f1eea98a4a0c053819750036ebad9b0a5c71bc96e8915e42eb8754d08cf779762ee007105932278786ca50b03a20e52fc4576942ca31bf926a7f4953beb92133b54372ac0211bf3b96858f19805581e037f44278e86716cb6fd47bff233530cb1da0f6564b353f24f39083ddf70040105581e03881e78e3ed099150b0024e91f87304cd99a844116bd0284551fcb15830040103c6b973352f573509725d02713f48bfa1ccc74370b1964142d07c3a032f678e9105581d02f0cb1caf5cc030ad78d58cd8f0dac53b9849155803fd2cfd42e6d1ea0c0346389c6a4217d004590aa1608060405234801561000f575f80fd5b506004361061007a575f3560e01c806382cb6b721161005857806382cb6b72146100e5578063920caa9714610117578063da7323b31461012a578063ffb390761461013d575f80fd5b80630a34a7391461007e5780633d722c59146100a75780635e9bc536146100ba575b5f80fd5b61009161008c366004610749565b610150565b60405161009e9190610764565b60405180910390f35b6100916100b5366004610749565b610280565b6100cd6100c83660046107a7565b6102fa565b6040516001600160a01b03909116815260200161009e565b6101076100f33660046107f5565b5f6020819052908152604090205460ff1681565b604051901515815260200161009e565b610091610125366004610749565b610328565b6100cd61013836600461080c565b61035d565b6100cd61014b3660046107f5565b6104b2565b60605f61015c83610328565b90505f61016884610280565b90505f8151835161017991906108cc565b67ffffffffffffffff811115610191576101916108df565b6040519080825280602002602001820160405280156101ba578160200160208202803683370190505b5090505f805b8451811015610215578481815181106101db576101db6108f3565b60200260200101518383815181106101f5576101f56108f3565b60209081029190910101528161020a81610907565b9250506001016101c0565b505f5b835181101561026d57838181518110610233576102336108f3565b602002602001015183838151811061024d5761024d6108f3565b60209081029190910101528161026281610907565b925050600101610218565b5061027782610521565b50949350505050565b600254604051634b152ed960e01b81526001600160a01b0383811660048301526060925f92911690634b152ed9906024015b5f60405180830381865afa1580156102cc573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526102f3919081019061091f565b9392505050565b5f806103098787878787610609565b8051602090910120905061031d8382610672565b979650505050505050565b60015460405162438b6360e81b81526001600160a01b0383811660048301526060925f9291169063438b6300906024016102b2565b5f8061036c8989898989610609565b90505f610382865f1b8380519060200120610672565b90506001600160a01b0381163b1561039d57915061031d9050565b604080516001600160a01b0383811682528c811660208301528183018c90528a1660608201526080810189905260a0810188905290517f07fba7bba1191da7ee1155dcfa0030701c9c9a9cc34a93b991fc6fd0c9268d8f9181900360c00190a15f878152602081905260408120805460ff19166001179055610420908784610687565b905083156104a5575f816001600160a01b031686866040516104439291906109d8565b5f604051808303815f865af19150503d805f811461047c576040519150601f19603f3d011682016040523d82523d5f602084013e610481565b606091505b50509050806104a357604051630337323560e31b815260040160405180910390fd5b505b9998505050505050505050565b6001546040516331a9108f60e11b8152600481018390525f9182916001600160a01b0390911690636352211e90602401602060405180830381865afa1580156104fd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102f391906109e7565b5f5b8151811015610605575f6105388260016108cc565b90505b82518110156105fc57828181518110610556576105566108f3565b6020026020010151838381518110610570576105706108f3565b602002602001015111156105f4575f838381518110610591576105916108f3565b602002602001015190508382815181106105ad576105ad6108f3565b60200260200101518484815181106105c7576105c76108f3565b602002602001018181525050808483815181106105e6576105e66108f3565b602002602001018181525050505b60010161053b565b50600101610523565b5050565b60408051602081018390529081018590526001600160a01b0384166060828101919091526080820184905290869060a00160408051601f19818403018152908290526106589291602001610a02565b604051602081830303815290604052905095945050505050565b5f61067e838330610709565b90505b92915050565b5f834710156106b65760405163392efb2b60e21b81524760048201526024810185905260440160405180910390fd5b81515f036106d757604051631328927760e21b815260040160405180910390fd5b8282516020840186f590506001600160a01b0381166102f357604051633a0ba96160e11b815260040160405180910390fd5b5f604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6001600160a01b0381168114610746575f80fd5b50565b5f60208284031215610759575f80fd5b81356102f381610732565b602080825282518282018190525f9190848201906040850190845b8181101561079b5783518352928401929184019160010161077f565b50909695505050505050565b5f805f805f60a086880312156107bb575f80fd5b85356107c681610732565b94506020860135935060408601356107dd81610732565b94979396509394606081013594506080013592915050565b5f60208284031215610805575f80fd5b5035919050565b5f805f805f805f60c0888a031215610822575f80fd5b873561082d81610732565b965060208801359550604088013561084481610732565b9450606088013593506080880135925060a088013567ffffffffffffffff8082111561086e575f80fd5b818a0191508a601f830112610881575f80fd5b81358181111561088f575f80fd5b8b60208285010111156108a0575f80fd5b60208301945080935050505092959891949750929550565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610681576106816108b8565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f60018201610918576109186108b8565b5060010190565b5f6020808385031215610930575f80fd5b825167ffffffffffffffff80821115610947575f80fd5b818501915085601f83011261095a575f80fd5b81518181111561096c5761096c6108df565b8060051b604051601f19603f83011681018181108582111715610991576109916108df565b6040529182528482019250838101850191888311156109ae575f80fd5b938501935b828510156109cc578451845293850193928501926109b3565b98975050505050505050565b818382375f9101908152919050565b5f602082840312156109f7575f80fd5b81516102f381610732565b733d60ad80600a3d3981f3363d3d373d3d3d363d7360601b8152606083901b6bffffffffffffffffffffffff191660148201526e5af43d82803e903d91602b57fd5bf360881b602882015281515f908060208501603785015e5f9201603701918252509291505056fea264697066735822122000c2580405b840785a0a9dd21f9459d83ea4643d8e526b49682d1752291eab9f64736f6c6343000819003303049ccdaaf1b205f1626e43342395afa7b0668210442041b97391dea85b0d222203a5ebed93d0bcfe12183c12ab9805669f781b147d72d00a42ce3f34b873aaca10038b2baa8e69a2374378b33dd3263c7240987541ebc7acd74eb2614d2274beb22903515726266ed4899d590a69dde62ede222c8ed0899ca59e315503bab7118bdb2603f47d6727b9160bbdc917e720af234de2eed1ea5606958319a16910b64f4e775603310407d53f884ac011fbde4884bfa9d5bd8623486d90067e613bc2a3a93f3b5f03a162b7bbcaad8e63322e2b8175696a52085ff625f64c4666a196f9ff2b6a036b035c2d8152bbc727bb91fb7b5e2671c0da3b51581cf5fe9f7250856686c4dff56a03fcc9e026e8feaca6f139da42a787e1802c903294e0c2ba229c5fa18a0781535503ac413b6c1a2d0243b566296fda91a633e7b8ae1a00a7b59e125649653b139d33036ac41ef6ade9cc01b9fba55f2711243ef1402b48caef852bf8913ad6f082822403e389f03252e337e187c768c459b6df72882cb1ae9b38df62880dd7fa7726d71503e0ef3a91bdcac25032b3c3a02ff4b1eac713971e2b0deff78fd1e2a2e1a79d44032f34686e07c4fb926026fdf54da43208409a82fdf56166a075634ad9231a64bd031dde7bd3547f0b65eaec40862fcac336004904dcbb7246001985dec997db70a7033651f4b98fff9e70bfbca1beb789cc76b2019abfc7c58c48a20a6786b033b8820219ffff05581d02bb5c7fc7ceff1d602ff0f669b2a508dde26a4755c0ab2e76c3c6be700718c6190aa10219240005581e037227f8c42d0205ebba1e1e6c10e6706c5f1eaddf89395117ed3d219a200401033cd37118432363d51da881495e8b39fb36a82d281eb1b80c24d27fc1f2e4b53703ab18603b38ab17df4ae33190fc6718e3140d135c9c123b6e8c486f42c30cba3c05581e032bf3032f9d910f2acac10b0f94f407b9059274ae848a0e95864ef817800c024801830d3564d158d305581e03bf49ba7c77096464f0358489578da29b9edda45d4347dd15233fb63350040203a81c5b7ce5556ecf616d3d00051188890acbccf29d6ba331ea8751dfe2b51cb1014107033eca590ccddfd85222ca02c3363e00baf030b0b1647b503b69f8f0b50f28a6d002197ff0031fcdd6887a7e8e91d0af7951310739431ed0a1b84fb267913c16fa7b1d167f1203147a1695fd4a4e8e03d7f5fdb46eaf5dff30977fc0d4faa395118c80b60d016b032fdf2a4098e82d91a09fcabdfba96a9c6a82b85b5892ee34f459523f08cf46430219ffff0333455e1df02f8bb7079edc4ae9b73c993cff4c4a0464c781935d95e5f01c3f4f0349ff5447a9c46b1a2cf0bdf6dfd5bb63c1f27dfb51cc2d743aad37ec4692acc703e84231400025cde8fba8ba5cc6c8c22f0e3cb379e98146befcaf761359f1aaee03a124175cbf213dfeb5595b2bda290f41da96e23dbbb0a74e03db1f090f3371ab0366041210bd8cf1b23b7ca7d51fff03ec4076553c5b9c5e744ee44e862b7a76dc03f0009f0d83a4445ec88abb39dbc6993d33cd466f21a000a07fbe39eca072475e0342edc975bd0a523e86cd2d31bc7098ec44494a97804970a5f8e09d8de8614e77037d90f07ffdbdc0d3048a814af9644659befeb21d899d2427adc72d939218e6b80368198ed09ee47a474faec41b489dffd0de41ff60bd5aea7b16a31dded17cc6d003a0d8b601b6288df627616bdd271bd40112317400a330ed4d31918a52e6e198ae035e13b9cad0b8c36a7ef547d157665555f5970fc3d096409b7b8ce42f2d29117e03fcfb3a31ab315529924ea7466fecbfb876a077b1b5c8d0ec4d6df7f0592af04c03247aa5379a4526af06d900ce83446033713e4d550cc994082b6c6cfb898aca060219ffff034b879ae466223d292da42326c9110cf0ff118ec3e62e2f658506582a6995bb600391c9ce5643a719518d1cf0abc8a0a73296b2cce85f14362205549435f42597dd03005daf18f88a99e16482509e186e6d2e76cf1aa3ed1b2be5cf031523d24254ed03807802da6bd8953e695b63ad7014a4e1c3f6739de6de6fec5720bbf2e0e556e30219ffff03f7394e74ea0741817cd6db0a3fbb0d9960c2b484f53585498af029b14f399b4f03dac2f2d4a36bbb133d320b9d1df8f348360a10bcb07f067ba4eb10b4d41727c20219ffff03f03eb007677a368b929c05726f4ddd260c38a6c2644d5e6fdb22f687c8285c0d03f7855330b10f2e253fdf7ed1a890654b0150eda5063143c421f5d2b2187ef16a0370325c19f9887c183c17f1dc4b1fe988b5579ca4009fa03a88dadfb6c8ffa8fd037408383708e078de3b24dcaa28886dd6f6dfa59285ae1af2c2e1022b5fe3777103463920283ad83bb47b1f24fac1b66894cc7c32bfc4c0b455346f35954fe78f6703d7cde40e388a7fded3a711fc8b4354a9a0b76f11b9450b73d450b4c3c6cc9bbd030c1dd8ef31ac80e32e208e250eb6c7f09820a03e4e4a429ba31292af3e64f32203665ffd62236087403eddc7b3e2f0032126e935a441fa99d1c2f4423adceda7700366db32c2a989f3bb280ac4a78242325c598e6fc505b239f2e134deb938eec6f9037582dc68b6aa13773c22256b9081fccbb21aa7cb978c07b1860c1a8bb8bec8b803d667354f54309ea352dceec94f1542941a6f7d338315b4d7f1f5dce083e9eaf203b3b7682925dcae54938f17283c8e199f154d8d3dc7324176a0e573163565285d03e74149430c945f1e514145413a15e8652db34fd014a519a224e8caf04d3f18ac03fc7cd5040c27dcf724d7ce413e861d1bd59f253c07a6fa32ad783998ef85b698033565282310bc7cb3fb5a309b4987768a79e887895fac1f91ddb587bc58eb235a03adfdf27639c899a02bb8853dd15450522155e7f72c4a2150fc815bf2b78aad1b03537fd7a1af4cba8e3683b56750782f8fe53e005d38be1bafbd5b9f866b7aea2204590e0d608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063570ca7351161008c5780639dc29fac116100665780639dc29fac146102c6578063a457c2d7146102f2578063a9059cbb1461031e578063dd62ed3e1461034a576100ea565b8063570ca7351461027457806370a082311461029857806395d89b41146102be576100ea565b806323b872dd116100c857806323b872dd146101c6578063313ce567146101fc578063395093511461021a57806340c10f1914610246576100ea565b806306fdde03146100ef578063095ea7b31461016c57806318160ddd146101ac575b600080fd5b6100f7610378565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610131578181015183820152602001610119565b50505050905090810190601f16801561015e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101986004803603604081101561018257600080fd5b506001600160a01b03813516906020013561040e565b604080519115158252519081900360200190f35b6101b461042b565b60408051918252519081900360200190f35b610198600480360360608110156101dc57600080fd5b506001600160a01b03813581169160208101359091169060400135610431565b6102046104b8565b6040805160ff9092168252519081900360200190f35b6101986004803603604081101561023057600080fd5b506001600160a01b0381351690602001356104c1565b6102726004803603604081101561025c57600080fd5b506001600160a01b03813516906020013561050f565b005b61027c61056f565b604080516001600160a01b039092168252519081900360200190f35b6101b4600480360360208110156102ae57600080fd5b50356001600160a01b0316610583565b6100f761059e565b610272600480360360408110156102dc57600080fd5b506001600160a01b0381351690602001356105ff565b6101986004803603604081101561030857600080fd5b506001600160a01b03813516906020013561065b565b6101986004803603604081101561033457600080fd5b506001600160a01b0381351690602001356106c3565b6101b46004803603604081101561036057600080fd5b506001600160a01b03813581169160200135166106d7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104045780601f106103d957610100808354040283529160200191610404565b820191906000526020600020905b8154815290600101906020018083116103e757829003601f168201915b5050505050905090565b600061042261041b610702565b8484610706565b50600192915050565b60025490565b600061043e8484846107f2565b6104ae8461044a610702565b6104a985604051806060016040528060288152602001610d21602891396001600160a01b038a16600090815260016020526040812090610488610702565b6001600160a01b03168152602081019190915260400160002054919061094d565b610706565b5060019392505050565b60055460ff1690565b60006104226104ce610702565b846104a985600160006104df610702565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906109e4565b60055461010090046001600160a01b03163314610561576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b61056b8282610a45565b5050565b60055461010090046001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104045780601f106103d957610100808354040283529160200191610404565b60055461010090046001600160a01b03163314610651576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b61056b8282610b35565b6000610422610668610702565b846104a985604051806060016040528060258152602001610db36025913960016000610692610702565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061094d565b60006104226106d0610702565b84846107f2565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b03831661074b5760405162461bcd60e51b8152600401808060200182810382526024815260200180610d8f6024913960400191505060405180910390fd5b6001600160a01b0382166107905760405162461bcd60e51b8152600401808060200182810382526022815260200180610cd96022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108375760405162461bcd60e51b8152600401808060200182810382526025815260200180610d6a6025913960400191505060405180910390fd5b6001600160a01b03821661087c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610c946023913960400191505060405180910390fd5b610887838383610c31565b6108c481604051806060016040528060268152602001610cfb602691396001600160a01b038616600090815260208190526040902054919061094d565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108f390826109e4565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156109dc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109a1578181015183820152602001610989565b50505050905090810190601f1680156109ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610a3e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610aa0576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610aac60008383610c31565b600254610ab990826109e4565b6002556001600160a01b038216600090815260208190526040902054610adf90826109e4565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038216610b7a5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d496021913960400191505060405180910390fd5b610b8682600083610c31565b610bc381604051806060016040528060228152602001610cb7602291396001600160a01b038516600090815260208190526040902054919061094d565b6001600160a01b038316600090815260208190526040902055600254610be99082610c36565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b505050565b600082821115610c8d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209cce6cb582ad452cc3a5fdbd29cd513d6ec679300871dd0d39018beb7e85b64864736f6c634300060c003300582002d45b971dfe2f266e69968ba8e81967840cb8cdd5a72849c6403eb1275c67dc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db055f403c135812408bfbe8713b5a23a04b3d48aae311200582002cc3b382e45b6719be6a1303ce4a40b672e9afbd799d5443744363a85c05a045820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200245184920bb1cadb2791eade0df8bb6883b6804851b9d02770b9242dbc07aa35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021a9535118f4676579435b8cdff227e639102fb5dca128d09fa6a2867ee07c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026c26e62a8cb02103ef6ce5b832b1aa6f8e948aeacfcfc853f3ab4fbea031475820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002cb07061488be1c020d94ee653692a82ef707837799053b217fb81fdfb68b6f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039dea2e26a0a51da6ff52259d50987339b6b833f7a386e7bee388c314b69b21be02193d8c03283c4f66c1f5d3df20cac40170c65881fdd2253bc3efeeebe92d55613d08859f0058200284db4a68aa8b172f70bc04e2e74541617c003374de6eb4b295e823e5beab01582043757276652e666920466163746f727920555344204d657461706f6f6c3a20610058200233c6e885bada8fd477a1d2875e89ddfcc9b972e56abbd636781c9296e782845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820022e54f2bad0c87319e0d3eabb1fce4658e14a412ee2a5b230080693adb64cf25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002f55ae369431d373851b974adeb6e5652ad84e352dd33ea7df9b1a5874ae6795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190aa0036f37ca63141b99aa3d06adb644c18a32ca28b73494a14c96c854297d6f169b75005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4b1703e9d4b8b0cb297c469400582002e40a0f0bb8f05e995fe13d4b63a60e894263dc70e39bdf4c69cbf65323b4875820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200204521f8c30502ba927c3ae67b69789ccd1ccfe69d4a607132798d762262f8e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002b0f736d8e9b755ca4cfc03defa53025503b6889cdf1511cba1d84568ac04055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820024798cb24d0cf0de5f845c27407b43f7ffa4cab71a042791130206351d3bb955820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002f5f9f5a8a64457b00ddf0cb7a1e66d19008784fb64d483ce1692ec7f7abbac4b1703e9d4b8b0cb297c469400582002d2dfacc440fdd4a947a35cc6c7ab2dd0729d970d18e00cda909bce1e82adb25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820024a6488489a18b1a3a34b9243f12bf2acfbbbd43a71fb74ce52e2b3bbc514915820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002e996bf2091f2fd5e01e3c3a4b4b39811076d9344af3cc890f822ab95c93c745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191ea703c4aecd2b4f9a0e77b8eed448e80ced1f05eceb8d78e68f8d28e7f0d6fd55f9f203b70a7148342edbfe5ef10ebaec928605f1da0d5125eadcc817c08aebd59c5e5703d353f59ed2af1c1015446f5325660a11c7c27dcfafe83958ce11ece8b822376703877d994de74915eb370bd622fb5c9802dff74603105e9e7d5f94be96a24896d103bc64b8a701e01658c2f3ce8f4936f15779933e378a1b93421b0ad8d55bc9e2ea03d7d5e17e733f8b3a079b0743e7f986878fd2daf93b27ffa46b2dcaec53ef766c03d432a2ebc0ffac25bfbb8705e5181104a44b7216541cfa5b0d7b93424dc61def0333b8bb6bc83c1697002d124a306df93d0bba54c6afea2bca3fd41a3d3d7c513503ced9d7c14c0bcbd50da0e6dc84eae05cd8ef55b27a8f02ddec7bc30f19affebb03862f6975eb8ff0b7ed160ebbdcc89d73cc61a63d1c5cde12fa7a5ad320dd6ca603d6d8a1820e89cc57d6671643204a4d1e72278937c4cd7b8e8f63007e0441c1690219ffff05581d022c502a0bb76d38eff1ab9462119f61facbc4a4c34912cdca55c3396d0701190e0d05581d02d00b67e93c8e25638fe638876f68b218113710420497a71a6cce3a04040105581d023bc77a5a66f199344d65b658df3219065fe4cb6a854b10208a52aba104020219068005581e03e1e31c7e400afa4dfe2385014716598bec17233c74b1583ca422c985d00c014703d01c0330c84105581e032dc38d80fd1e58971ea215ad0aaa0ae0f7bd7c2c7ffbd441d16e466090040103f0a8fcef5c30752ead24ec0bcd5d971ef4b87a4d77533188aae506b63218942e0371827670b59c60c57e50074c84637e6d8909d51b86647e58ce7ac8d94f8480b105581e03657485e347e8597fccc91b87e6558c881d9299854dfd31f63cf4fbfe600c06477534aba005b6e003e24f0d850be47f9bcda34a0f5487c9486632ab8792d96303e2644ac9259a8afe03de88d901873c4a10bf9b2167e42b11cb0a6b3e8e8b53e115d78f80db19e32dd402193c8d03361e9b1c7b68c8abc5504fb14553e76fe9bc045e4cb07b8321da4ed95a3ce0a5032b7729118d869f20129b008df0cab9d818eed23c028b73f7849a37cbe9d35e2903c6058e2a3c02fde42190518a72f40349b4b8c34d29de22951920ac667e6572ab03b082da5252288862d783633cc89cec0ecb99050d42b5837be89219028966603303fa7593fbed4eb9db4e32b9d640211a22600c57249bd83c1bd6e7fede99decbbe038cbc851f0b22a7c82d5d76bc26c69cbbcab1f3dff7f19d7ac4449b537d02277503a1dbabf050887740fa061b61ae336063e075433b69699bd029fb0c6b3ea49d3303a3aaf07f06f60e5199e3bdfa420f54a7db03fe113e469043f86eaf10b05d2a5d03019c67ab097ee004aee2798aeeb4f8d47b30e48641124f04c9d6828ccca17d3303e35570ee57bec60eb21ec93e77190b7cda85cf64f9f8d97e7293cb914abc0b5e035eb041930572e1e1fef6bb16f5f01321fa72652f67e081d8625752cad2962cd1034c968b77a165399968e08b066a57a47108aedcc0aac1dcf151b2f5721d594bf503886571edce2039107cf1c52f1445e419871cb121c3526b923a156b01fc3507910219ffff03c34cd664bc130a7567e2f3ac115dbeeca47b8e8487cb3de1cac14204a44cbf2103a93398050c87dac327a49590b33cf9e2c3f6d969afbd68836f739f90e22f342503805202bfc01d6231bee13bd0ef1f5e73badfadbd2aa24f65f67084728a20da30033c06597e237b04321e092d31bb8ded5e3a17b37e5052041a62395fceda8a8c9e0319e337e2c8f0a80eb33c275f49bf4b2a5870fa3850b1804bb88c763cf38d5e6e03a2c0280e8d47e7f26ad67af51575bc28bb77063e8dd5bc3d0e8e40a50bb12e3f03b986974a16982e24b6580686ec03ae15b7b5863a4c91d210377f3fb319505a4603beb56da43bb3bc42629fd8a598600e08d82ad31201ad6940cac164a35d95a053037b18407a5b4bdada7a4f84fccca9a5932e47ba12a23f1a3b8e29e7c26e8e626403e356a8d4195480f25ce06726b2498b2fd3245a3c532bb8405a5e935156b6c5cc031526f53b5daa8791b1781c685b91b1404bae2361dc146398bc4bceeb1d1a09190219ffff0364b731124d5ed474e42c78574bc5706550e924ed08c17b0530c8eec2c521ba7103fb378b3098a6070b44402644d729f8ebf829920c62ba16633052250c62f13f8703188936ce7fcfe79e5b671a1dd73198548c356b915d0d190549b29b384281f1c8035e1cc6bfd10cb304a6c76226d6ef95b2b1a724d9bb3d9dcc3d4826f11070a5cc03be0328ef5464c6e2ee9527d817d3340d3c70816ee15ea03d2ea1d7d95e31eef103ce608df11d52fe3940801d626f542cf70f9f51694cabe800c648eb5d4cf2c3d10219ffff0309a3a859531b28a94cd595b97376a3cbb0c58c03efe1b4b78b757f8b25f6b6a2036600b3bf98a45d81c9fca7f606a8c7897ab6033444ac78d41a39c564f5b0858b03d1abf3ee3e840390a3dfd98ffcdd876b2a3ef5149d3ed662e20606e7abbb870e03e0e2718c192168965327eb69a9f23b90b5d7cc6063d972a12b20625da7d9419903eeddbd7d7ed8f062a394f72aee170d9d2da9484f1dc3f0c15b5d7b6e7e44306d03b7df77eae780bd4689b15a2d8d3ec602f3780b02ab177eb6fc1c1f4b5e0a772f03a65bb163520b458cbc5d4bdfaaccc2dd83ae4e05dacac6e37dc692fc49b2fa9103650650c1c137084ae01c4510421d5a4ec2e93a86c91a4b251aea10218453fcc1037efb5e1e343f8f6930eefe32f4a943ae22a102d8dae9c2c7f307ea9f75db734c03282abaa387b9114dc2a7af2312e1144ae097933b11c919d9617af00d723f414d03304e12d6d30ed299648cfdaca8f18044f47f5a1d32d567883c2d303b624d3d650354e1b3918937dbe79b182a9288ae1dbd6df5006716e8587bf56ac6b9421d179603355d2dcea08f829411f7922861b0f936f796705c3fd1aa979a43d4ec1954c5e1035e45637966f977b5850a6bfa90ce003cf852d2f8077add00386e5cc6fdac4c0403e98bdf96e2e4d17e22318dabfc6a5fd9880946bdef125c1ad7e9138dc506523b0347dc1754e53b16f4283125ab8f9af9d6345ae96e5c4aa21c16041bb7c1bdb92003fe78416d43387370f055df102956e6660f5db33970055d19468ee4cc171c7ad503d918aae2a6643f0731fd1f8f7050a7e7bf42b76337c404d314f303e35184638805581e035589f249cc9ee7e0e56111b9385acbab32c6047b706eec2fc8c6976d700c014664f55d97e20005581e0385709d61b583fdab70fd6c07d847ff396e90e3bcc8626c97dbe3fc03e00c0146e1b573efd660030a5c4b425f5b2b929e7f44272cf4b9bde5a0cc776860d0f6d58b28527d72995a05581e039fb7fbbbc265e2e03d54ee78f776022d3f91451a4b581466bbf67948d0040105581e032ec6cb207076109ea74e4090e9742cf28bf0b03321a81abe1ec4669c70040105581e03f38ee93a3d50cc81b904c9e38beef4adba455daee818942d99636abff00c014725f864405b1ba805581d028f3b4dc713b052ce171e2895dade166584b2b64fe1b2e4288725a7280c0e481507f6b913ccccd405581d02b48e010ac46cb16eaf22955d41843190cbefe609d2b123298211b901040103a334a9e68609a746c5d6305d47e1018c9fa4fc13a52cfa1c1dfe0e2d9ecfd34c05581d0201f6e9756b5db36dc0b2e57e0c06901478657124f9a11e4616f36b490c01471254fe1f0a80000219018905581e0317992c5239bce397587358167f3425d323690668dd19078c590056dcf0040103e85ba783750ac83a12ac6e989210d8a3e9822405431712af41eddecc81964ba602194dd903439ddaa93909b63bd6e986ce2c045afa0cd38e9989e3462fd35844c3ffee71e4033829e177f120946d5ad586487a4899bbad98a8adb0038e60f2beb7a72cd9b84103c699c455e5228840a1330b8a785796c7d837c247a187b04be0c4ca5e41da290403cfb3b18406810e79f8c822f0e4d772bc2448d9e19e5e13e3c26a1b4887ecd4fc0396dd3a2bc9cc9291b495cca82dfbeb137e3c4ae03ce64659d4d2a604b50310a3030f5a5e7c00160bbce38fa6260596f2a75c3d3d8bd9a3f43cf940c867f86bee0803f57413590ddc614731fe8a4c584b26a8c8e60907263490d54beb7929a644e9b2030fc59d7317eceea042a9953bbb1cc2e1691a57c5d585b1eb805ac1c53eddffb303d2fea7c6c15186b9f4a893410b855c5337b4a39277095c77d0c81de108a858230368ad3ade6c3259bf4cde4653977410c94c9b8e70e1b62e6814f7582438a7cae10313fa625ddcfea2aacf90f4ab5d9bc4fc044b5acdf412aa16e5a5db8cedf3050e0219ffff0378317caa58ec7511a7494245049875bab0ab5ad12622c0c63389f235432c4efe03a9956f108572f1c9efe90926622820e452ee20761670ff02f90b2e698eaac06a0354dc8ef9d588157c2f25f29a6a38efa6d89e8372a887d767be703140ad05455903a3e78b65c3e0ecad0599958ab3b8f494b81ca4b05714953cf7e25d536cbd17d2034530a295eec049e333605823755bed75299faa9dd8b22efc53fa5e1a5cc9dbce036b8e8253d2988a48c0d17e68414e3f53b028280d1ebb2b4349ec8d53161b684c0335911cb2f15d587e960f988e26e82d8ba653d9d3610a3b3b035c56accd2b94a5039285ccf2fc062163f13bd1bd96d97e595c5f985fc70aedeaeeda02657ec282710314e1ae20ba06e89cc425c13d48b5324a14bae5f418a78f5e2e764632470c2e9e03cbb31f16a862f2adeb5aa769a8e8bbf4c18ac11720b04aa91ad64fd03cb7473e03a25bc40a19c038c520ffa2554f651dab8ce9086b79cc712f0d60b8e342b8a24403606d09d7db0da4dcc32a85ec2025053097c6dbb6e9f6f82e3f12ba0440cd72c00219ffff03b847754d8e0765f810018d5f9283866ffcfeda6ed5552afe23eb5ad0a933221d03309173a929e65d63259fe7a6b0b4c58a4a543d27ff8ae57c0f099cf115d332ea03ff64e8a115be8714470b5d0b810c2a98c533114338c16d9a9988483dad47e2a403dd088dcd6061e9ef6b5bdde888c71aee82ada0f4ce62afdf429576cbac7bfe30033353d36ad91b63073bc36b15db3e492a9ef7d4dea3feead164c38c218a8f16f40219ffff03857cae4231e8793c68f8a7a30093ee6943180102d15014764d570df4c40b9d34033ff00570c94719013e0eafa5524627b94adcbb850656b3dbe5a0ff222a96150703c5a1248651c71d6f2f1ef4e74351906b3a01249e9d2ab849eef8312dfeb04ab603082fff2162a597731efd99ffb481242dbd80e645f131a24c6d379639c715bdc403d09c58e8c09a38f2ff3694d5ebcab9b2d46165844a0cc80f8e865069b58b0ad4036297de38762093bb471a4cd144d91981b9f5ad3536527ef3e0ac855b245a13ad0304cd41624ff8885a364f2791f5bb02ea1194db20276671a4d1c3ddf4b4c117e9038161855631e09e1e0ed9900aaf898011a5c150f5a88dd20cfbb0730efe8774ac03fab4dfe4d77fa15ab529f9b4233ee7e52f3bdf8da18778084bd35acf82e8481f0394567fbf7acd9d3e8d7418730d6e15ca2f1e9dd9804e7c8df93d97c4d8d79d2c03f3b1cb928546b2c1ef3d5374725ef912b07c427f4995ed452c72c11a0ef32a380219ffff030cf5f48a2949e49bebdd21e88ac3110f14e394225f843537bc8732ae7d08e9a803e3b0215386e56d3e31d482fa55768e2a15608ffbf02bea7e3a643c4c7ee58b24033cbd28ce4d61b3515ce5eb55829bf247031fc1696629aebcff854642160d48fe03cb0c0c7a441b20d9c255463d4108b21c99ca0d04d41b2d892a8a51f115384f4f0375450b19821d9f3ef92c838449c45fb08b5553b38c8633c13783d0e179dbf76403304c07827c26c1e53ae37081b0d3d3d795e3a869d4ae0c51a872e6aea32d3b710337e17054a8a1443d8d3b8201c2f2408c30944148d3e432d666c1a78ec42c77be037ed7c2a47c6e5c9aa2bf653441c20b66376894e891a2cf3794492e93de0ee040036a82240379f67950fd34a5c9406d2cc6519e4fc896235c3a55b293226645f889031fc1502aa5834672146ae779b8d83d30ee5f205db456995326521defc3f94631033c1512041fb8ade19b7bfe9e179cb05786871a3cbd2210446e640bcd72a6c53403203f528225f47f98b9756e40536f3e5bc59a214b43fedb347f06f4a7211b44640393f9ea5325cada1d8d52610f59be2bd104adae5ae4669fa5128dca2e95c1dc7e030fe0a7b48c2c9fee7eec47199da1d6108eedfc7738ca1fd673d71d68929bc2ab03dbb4e843a87760d9ea8c66657a37b74ae69ffb4f0229bc75ca7acb9a992a34c0036470b1432648c3c83f040e9e9e23c28cf791705ef338937dab37b342a47c998e03bcc3e8f0f35771d6db1976478c33e753632be8beae8fc83e059ca63f3079bfec032ca7817dd9678bb49047eb6765a0a84176f9740f747d6ff079620ba4596c5249032145c8e166771f94ce8861bff9d3e8bef4597bf065e5776e75e9f82206eec2b70311e4133027f4ea73dffd305fb12ea5005c036409affa157c37829fcc17c516e3038346cae298538c01e9d7e52a92d398aa9e1572e33c4e146eee6ca4fb6acd9f0a03f2057884155168236a37cc8744f132b74a0a900535aa314d4c3e06a34232d7e90380ffcaa8def78df7a61cb57da115b2f2d96b58b31a7ecaa92fa4a03495ded46c03b2a31695324d5e0b5b9f67173503ea91338586cdb970e04b188b1a87a649728603d090ca3634db25860ddf854d9afcf013ba403fc49eb96d981fb78d4877e1092d03436ffb11904c5c001e7eda9de733fb23ec1cbb2d00daeb5c336e8501d733ebf303f82138bfb7aa6cdcb95a58ba084824f24825ab533fb5079003282f0e6f006cfa030d63591935113c8499611a4154ddd5c4e97aa6fc47bc113cc1b0d6a8f5c3a70d03f4a4f7cbcfdf5ab2b236274b51e81f9afaae9aba0d9a84f8446322a70800109505581e0335dfb4280a87ffc9865e2b6efab81c30e2a060d199cca5ee608ee97260040105581e032cfeba677fdb863a89288999d249dfe2693591c82b9328ea5dc76c5aa004020373a914214fc099408f21628e58ca82a91c1ec761d60115d56d4ded0f8a50177905581e0325d780c7b2194f40f7430f7062f21084952563e3f2e88fe3efd69a50f00c014742d56598504bf603cb35ffb031faff0a35d9686618301e18f5596da529f1c25836341224c83c18d6030cb8420dae6a79085014ec73371785ebf4601f6b62e5580084607953c32cd33403677e89c82577b9c571fdd38d50ac4ea40fe6af12961d058d17a80907fb39b8b204592329600436101561000d576116b0565b60046000601c376000513461232457636b441a408118610074576004358060a01c6123245760e05260005433186123245760e0516001557f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e960e051610100526020610100a1005b636a1c05ae81186100ce5760005433186123245760015460e052600060e051146123245760e0516000557febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a118910560e051610100526020610100a1005b632a327fd78118610126576004358060a01c612324576101e0526101e05160e0526100fa6102006116b6565b61020080516102805260208101516102a05260408101516102c05260608101516102e052506080610280f35b633f9095b78118610187576004358060a01c6123245760e052633b9aca0760e05160a0526080526040608020546101005260006101005114612324576101005160018082038060801d81607f1d186123245790509050610120526020610120f35b6318dfe9218118610463576004358060a01c612324576102a0526024358060801d81607f1d18612324576102c0526000543318612324576000604435106123245760006102c05112156101db5760006101e4565b6004546102c051125b1561232457633b9aca076102a05160a052608052604060802054612324576005546102e0526102e05160018082018060801d81607f1d1861232457905090506005556102a05160016102e051633b9aca008110156123245702600701556102c05160018082018060801d81607f1d186123245790509050633b9aca076102a05160a0526080526040608020554262093a808181830110612324578082019050905062093a808082049050905062093a80808202821582848304141715612324579050905061030052600060443511156103cd576102c05160e0526102c96103406117cb565b61034051610320526102c05160e0526102e36103606118d1565b61036051610340526102f6610380611a87565b61038051610360526044356103405181818301106123245780820190509050633b9aca0e6102c05160a05260805260406080206103005160a0526080526040608020556103005160016102c051633b9aca008110156123245702633b9aca100155610360516103205160443580820282158284830414171561232457905090508181830110612324578082019050905063773594106103005160a05260805260406080205561030051637735941155604435633b9aca0b6102a05160a05260805260406080206103005160a0526080526040608020555b60016102c051633b9aca008110156123245702633b9aca10015461040a576103005160016102c051633b9aca008110156123245702633b9aca1001555b61030051633b9aca0d6102a05160a0526080526040608020557ffd55b3191f9c9dd92f4f134dd700e7d76f6a0c836a08687023d6d38f03ebd8776102a051610320526102c05161034052604435610360526060610320a1005b63c2c4c5c1811861047f576104796102a0611a87565b6102a050005b63615e523781186104c0576004358060a01c612324576102a0526102a05160e0526104ab6102c0611c70565b6102c0506104ba6102c0611a87565b6102c050005b636207d86681186104d557426101e0526104e8565b63d3078c948118610520576024356101e0525b6004358060a01c612324576101c0526101c05160e0526101e05161010052610511610200611e1c565b61020051610220526020610220f35b6395cfcec3811861053557426102c052610548565b636472eee181186105a5576024356102c0525b6004358060a01c612324576102a0526102a05160e0526105696102e0611c70565b6102e0506105786102e0611a87565b6102e0506102a05160e0526102c051610100526105966102e0611e1c565b6102e051610300526020610300f35b6392d0d23281186107145760043560040160408135116123245780803560200180826103e03750505060005433186123245760006024351061232457600454610440526103e08060066104405160a0526080526040608020602082510160c060006003818352015b8260c051602002111561061f5761063e565b60c05160200285015160c051850155815160010180835281141561060d575b5050505050506104405160018082018060801d81607f1d18612324579050905060045560006024351461071257610440516102a0526024356102c052610682611f4a565b7f6fbe76157c712f16b5a3c44ed48baa04e3450bc3fab0c020e848aca72bbccc84610460806040808252808301806103e080516020018083828460045afa905050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f8201039050905090508101905060208201915061044051825290509050610460a15b005b63db1ca2608118610755576004358060801d81607f1d18612324576103e0526000543318612324576103e0516102a0526024356102c052610753611f4a565b005b63d4d2646e8118610791576004358060a01c6123245761044052600054331861232457610440516102a0526024356102c05261078f6120dc565b005b63d713632881186110f6576004358060a01c612324576102a0523360e0526107ba6103406116b6565b61034080516102c05260208101516102e052604081015161030052606081015161032052506102e051610340526103005161036052600554610380524262093a808181830110612324578082019050905062093a808082049050905062093a8080820282158284830414171561232457905090506103a0526103a05161036051116108b65760206103c0527f596f757220746f6b656e206c6f636b206578706972657320746f6f20736f6f6e6103e0526103c0506103c051806103e001818260206001820306601f82010390500336823750506308c379a06103805260206103a0526103c05160206001820306601f820103905060440161039cfd5b600060243510156108c85760006108d1565b61271060243511155b61094c57601e6103c0527f596f75207573656420616c6c20796f757220766f74696e6720706f77657200006103e0526103c0506103c051806103e001818260206001820306601f82010390500336823750506308c379a06103805260206103a0526103c05160206001820306601f820103905060440161039cfd5b633b9aca0a3360a05260805260406080206102a05160a052608052604060802054620d2f00818183011061232457808201905090504210156109ff5760146103c0527f43616e6e6f7420766f746520736f206f6674656e0000000000000000000000006103e0526103c0506103c051806103e001818260206001820306601f82010390500336823750506308c379a06103805260206103a0526103c05160206001820306601f820103905060440161039cfd5b633b9aca076102a05160a05260805260406080205460018082038060801d81607f1d1861232457905090506103c05260006103c0511215610ab157600f6103e0527f4761756765206e6f742061646465640000000000000000000000000000000000610400526103e0506103e0518061040001818260206001820306601f82010390500336823750506308c379a06103a05260206103c0526103e05160206001820306601f82010390506044016103bcfd5b633b9aca083360a05260805260406080206102a05160a052608052604060802080546103e052600181015461040052600281015461042052506000610440526103a051610420511115610b1957610420516103a0518082106123245780820390509050610440525b6103e0516104405180820282158284830414171561232457905090506104605261034051602435808202821582848304141715612324579050905061271080820490509050610480526024356104a052610360516104c052610360516103a05180821061232457808203905090506104e052610480516104e051808202821582848304141715612324579050905061050052633b9aca093360a05260805260406080205461052052610520516104a051818183011061232457808201905090506104005180821061232457808203905090506105205261052051633b9aca093360a0526080526040608020556000610520511015610c18576000610c22565b6127106105205111155b610c9d576013610540527f5573656420746f6f206d75636820706f776572000000000000000000000000006105605261054050610540518061056001818260206001820306601f82010390500336823750506308c379a0610500526020610520526105405160206001820306601f820103905060440161051cfd5b6102a05160e052610caf610560611c70565b61056051610540526001633b9aca0b6102a05160a05260805260406080206103a05160a05260805260406080200154610560526103c05160e052610cf46105a06118d1565b6105a051610580526001633b9aca0e6103c05160a05260805260406080206103a05160a052608052604060802001546105a05261054051610500518181830110612324578082019050905061046051808210610d505781610d52565b805b90509050610460518082106123245780820390509050633b9aca0b6102a05160a05260805260406080206103a05160a05260805260406080205561058051610500518181830110612324578082019050905061046051808210610db55781610db7565b805b90509050610460518082106123245780820390509050633b9aca0e6103c05160a05260805260406080206103a05160a0526080526040608020556103a0516104205111610e81576001633b9aca0b6102a05160a05260805260406080206103a05160a052608052604060802001805461048051818183011061232457808201905090508155506001633b9aca0e6103c05160a05260805260406080206103a05160a05260805260406080200180546104805181818301106123245780820190509050815550610f52565b6105605161048051818183011061232457808201905090506103e051808210610eaa5781610eac565b805b905090506103e05180821061232457808203905090506001633b9aca0b6102a05160a05260805260406080206103a05160a052608052604060802001556105a05161048051818183011061232457808201905090506103e051808210610f125781610f14565b805b905090506103e05180821061232457808203905090506001633b9aca0e6103c05160a05260805260406080206103a05160a052608052604060802001555b42610420511115610fd257633b9aca0c6102a05160a05260805260406080206104205160a052608052604060802080546103e0518082106123245780820390509050815550633b9aca0f6103c05160a05260805260406080206104205160a052608052604060802080546103e05180821061232457808203905090508155505b633b9aca0c6102a05160a05260805260406080206104c05160a052608052604060802080546104805181818301106123245780820190509050815550633b9aca0f6103c05160a05260805260406080206104c05160a0526080526040608020805461048051818183011061232457808201905090508155506110556105c0611a87565b6105c050633b9aca083360a05260805260406080206102a05160a05260805260406080206104805181556104a05160018201556104c05160028201555042633b9aca0a3360a05260805260406080206102a05160a0526080526040608020557f45ca9a4c8d0119eb329e580d28fe689e484e1be230da8037ade9547d2d25cc91426105c052336105e0526102a051610600526024356106205260806105c0a1005b634e791a3a811861114d576004358060a01c6123245760e052633b9aca0b60e05160a0526080526040608020633b9aca0d60e05160a05260805260406080205460a052608052604060802054610100526020610100f35b6372fdccfa81186111ae576004358060801d81607f1d186123245760e052637735941260e05160a0526080526040608020600160e051633b9aca0081101561232457026377359413015460a052608052604060802054610100526020610100f35b636977ff9281186111d957637735941063773594115460a05260805260406080205460e052602060e0f35b636f214a6a811861123a576004358060801d81607f1d186123245760e052633b9aca0e60e05160a0526080526040608020600160e051633b9aca008110156123245702633b9aca10015460a052608052604060802054610100526020610100f35b6301c0821081186112595760005433186123245760043563b2d05e1355005b63f851a44081186112705760005460e052602060e0f35b6317f7182a81186112875760015460e052602060e0f35b63fc0c546a811861129e5760025460e052602060e0f35b63dfe0503181186112b55760035460e052602060e0f35b639fba03a181186112cc5760045460e052602060e0f35b63e93841d081186112e35760055460e052602060e0f35b63d958a8fc81186113ac576004358060801d81607f1d186123245760e052610100806020808252600660e05160a052608052604060802081840180828082602082540160c060006003818352015b8260c051602002111561134357611362565b60c05185015460c0516020028501528151600101808352811415611331575b5050505050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f82010390509050905090508101905090509050610100f35b63b053918781186113d6576001600435633b9aca0081101561232457026007015460e052602060e0f35b630f467f988118611440576004358060a01c6123245760e0526024358060a01c6123245761010052633b9aca0860e05160a05260805260406080206101005160a0526080526040608020805461012052600181015461014052600281015461016052506060610120f35b63411e74b58118611478576004358060a01c6123245760e052633b9aca0960e05160a052608052604060802054610100526020610100f35b637e418fa081186114ce576004358060a01c6123245760e0526024358060a01c6123245761010052633b9aca0a60e05160a05260805260406080206101005160a052608052604060802054610120526020610120f35b63edba5273811861151f576004358060a01c6123245760e052633b9aca0b60e05160a052608052604060802060243560a0526080526040608020805461010052600181015461012052506040610100f35b63a4d7a2508118611557576004358060a01c6123245760e052633b9aca0d60e05160a052608052604060802054610100526020610100f35b63a9b48c0181186115ad576004358060801d81607f1d186123245760e052633b9aca0e60e05160a052608052604060802060243560a0526080526040608020805461010052600181015461012052506040610100f35b635a54915881186115da576001600435633b9aca008110156123245702633b9aca10015460e052602060e0f35b631142916b811861160257637735941060043560a05260805260406080205460e052602060e0f35b63513872bd811861161c5763773594115460e052602060e0f35b63afd2bb498118611667576004358060801d81607f1d186123245760e052637735941260e05160a052608052604060802060243560a052608052604060802054610100526020610100f35b6351ce6b598118611694576001600435633b9aca0081101561232457026377359413015460e052602060e0f35b630a3be75781186116ae5763b2d05e135460e052602060e0f35b505b60006000fd5b600354610100526370a082316101405260e051610160526020610140602461015c610100515afa6116ec573d600060003e3d6000fd5b601f3d111561232457610140516101205263cbf9fe5f6101805260e0516101a0526040610180602461019c610100515afa61172c573d600060003e3d6000fd5b603f3d11156123245761018080518060801d81607f1d1861232457610140526020810151610160525061016051610180526101405160008112612324576101a05260006101c052426101805111156117a7576101205161018051428082106123245780820390509050808015612324578204905090506101c0525b6101205181526101c05160208201526101805160408201526101a051606082015250565b600160e051633b9aca0081101561232457026377359413015461010052600061010051116118015760008152506118cf566118cf565b637735941260e05160a05260805260406080206101005160a0526080526040608020546101205261014060006101f4818352015b42610100511115611845576118c1565b610100805162093a808181830110612324578082019050905081525061012051637735941260e05160a05260805260406080206101005160a052608052604060802055426101005111156118b15761010051600160e051633b9aca008110156123245702637735941301555b8151600101808352811415611835575b5050610120518152506118cf565b565b600160e051633b9aca008110156123245702633b9aca1001546101005260006101005111611907576000815250611a8556611a85565b633b9aca0e60e05160a05260805260406080206101005160a05260805260406080208054610120526001810154610140525061016060006101f4818352015b4261010051111561195657611a77565b610100805162093a80818183011061232457808201905090508152506101405162093a808082028215828483041417156123245790509050610180526101805161012051116119b057600061012052600061014052611a0c565b6101208051610180518082106123245780820390509050815250633b9aca0f60e05160a05260805260406080206101005160a0526080526040608020546101a05261014080516101a05180821061232457808203905090508152505b633b9aca0e60e05160a05260805260406080206101005160a05260805260406080206101205181556101405160018201555042610100511115611a675761010051600160e051633b9aca008110156123245702633b9aca1001555b8151600101808352811415611946575b505061012051815250611a85565b565b6377359411546101c0526004546101e052426101c0511115611abe576101c0805162093a8080821061232457808203905090508152505b63773594106101c05160a0526080526040608020546102005261022060006064818352015b6101e0516102205118611af557611b31565b6102205160e052611b076102406118d1565b610240506102205160e052611b1d6102406117cb565b610240508151600101808352811415611ae3575b505061022060006101f4818352015b426101c0511115611b5057611c65565b6101c0805162093a808181830110612324578082019050905081525060006102005261024060006064818352015b6101e0516102405118611b9057611c24565b633b9aca0e6102405160a05260805260406080206101c05160a0526080526040608020546102605263773594126102405160a05260805260406080206101c05160a05260805260406080205461028052610200805161026051610280518082028215828483041417156123245790509050818183011061232457808201905090508152508151600101808352811415611b7e575b50506102005163773594106101c05160a052608052604060802055426101c0511115611c55576101c0516377359411555b8151600101808352811415611b40575b505061020051815250565b633b9aca0d60e05160a0526080526040608020546101005260006101005111611ca1576000815250611e1a56611e1a565b633b9aca0b60e05160a05260805260406080206101005160a05260805260406080208054610120526001810154610140525061016060006101f4818352015b42610100511115611cf057611e0c565b610100805162093a80818183011061232457808201905090508152506101405162093a80808202821582848304141715612324579050905061018052610180516101205111611d4a57600061012052600061014052611da6565b6101208051610180518082106123245780820390509050815250633b9aca0c60e05160a05260805260406080206101005160a0526080526040608020546101a05261014080516101a05180821061232457808203905090508152505b633b9aca0b60e05160a05260805260406080206101005160a05260805260406080206101205181556101405160018201555042610100511115611dfc5761010051633b9aca0d60e05160a0526080526040608020555b8151600101808352811415611ce0575b505061012051815250611e1a565b565b6101005162093a808082049050905062093a8080820282158284830414171561232457905090506101205263773594106101205160a0526080526040608020546101405260006101405111611e79576000815250611f4856611f48565b633b9aca0760e05160a05260805260406080205460018082038060801d81607f1d1861232457905090506101605263773594126101605160a05260805260406080206101205160a05260805260406080205461018052633b9aca0b60e05160a05260805260406080206101205160a0526080526040608020546101a052670de0b6b3a76400006101805180820282158284830414171561232457905090506101a05180820282158284830414171561232457905090506101405180801561232457820490509050815250611f48565b565b6102a05160e052611f5c6103006117cb565b610300516102e0526102a05160e052611f766103206118d1565b6103205161030052611f89610340611a87565b61034051610320524262093a808181830110612324578082019050905062093a808082049050905062093a8080820282158284830414171561232457905090506103405261032051610300516102c051808202821582848304141715612324579050905081818301106123245780820190509050610300516102e05180820282158284830414171561232457905090508082106123245780820390509050610320526103205163773594106103405160a0526080526040608020556102c05163773594126102a05160a05260805260406080206103405160a052608052604060802055610340516377359411556103405160016102a051633b9aca008110156123245702637735941301557e170bcdc909b6ac6e12d020fe8942256312cdcd555fb6d712899eba56d2f9016102a0516103605261034051610380526102c0516103a052610320516103c0526080610360a1565b633b9aca076102a05160a05260805260406080205460018082038060801d81607f1d1861232457905090506102e0526102a05160e05261211d610320611c70565b61032051610300526102e05160e0526121376103406117cb565b61034051610320526102e05160e0526121516103606118d1565b6103605161034052612164610380611a87565b61038051610360524262093a808181830110612324578082019050905062093a808082049050905062093a808082028215828483041417156123245790509050610380526102c051633b9aca0b6102a05160a05260805260406080206103805160a05260805260406080205561038051633b9aca0d6102a05160a052608052604060802055610340516102c051818183011061232457808201905090506103005180821061232457808203905090506103a0526103a051633b9aca0e6102e05160a05260805260406080206103805160a0526080526040608020556103805160016102e051633b9aca008110156123245702633b9aca100155610360516103a05161032051808202821582848304141715612324579050905081818301106123245780820190509050610340516103205180820282158284830414171561232457905090508082106123245780820390509050610360526103605163773594106103805160a052608052604060802055610380516377359411557f54c0cf3647e6cdb2fc0a7876e60ba77563fceedf2e06c01c597f8dccb9e6bd726102a0516103c052426103e0526102c05161040052610360516104205260806103c0a1565b600080fd03ad7a39fd3345b301facddbb6bf5f236cc80e80ac0437cd58cb384f1cf1b589b503a1bdd0813b6dc047b324d645dbf62da9eae3121b7f89f10820c885230f04336b0361fc796abaeae79e5aad7a2c246c18b3e9f2555548fe0dc85476924ec7dca5b703f60d55d5e0feff9c87e713e31caa334ac4119cd27b13ae89dbf82f22835d2f39030d62ddb08063847fb9b5ec61631b2e38333b925987b30c1f0425b7fe10fed48203ed5ddfe644486822db0389152b1d7f37db0564b4c098ce56a5c970ded0830c8003526cd165089813169ef973f258aa8f6526cd4d6dbd3da75de5310d152dbeb8c6033b7bb21e851e3c2181b0f7dd2435cea9aa91ba86aa40239d4159bead3652111e0339d05d6e9cb486a4e84e96b66605d76de8465a1bd55b5858084e7b450acb04a1030699921b8f599d8f27c2aec73afffb9c0d492f0101dcb6631b6332bb7dc1271a039eb550d488d2a898eb65f4791e1a55546b42217b9f9f49e3868bd84375bc29df03747013e09fae749a3a978719d1762198a64e04578e859916b69218ebd73669650328ce14e1b0af0ca8f77edeefbadfd3c9a5b9b654a3f9acb10a367eddcd5d7333033b83b5d8a4a61f488a226779b35c00330dadb232e57df80c06587de1247fdea7032aef02f76dc46b2188af6b08764465d06d825b5be8c78deecbbdc7bd1179593c035e7378cd6fec5d25331c320336b66c1ad42ae03e96c0dbbd9b1604600260de2503c2245e63ea3487b23950fc82580dd3a66f8353d5e95b463dd357c27d2bc1dff6005820036d40a76aa7b77cba44d34bf9cb0e35902fe8c56600f46f9f622bb169bd4f4042271003c378c0f3248e957a8f3a5595423e76616f5de4fae349d81e5c4bbf4e74d5536c039da43e77d9f1ba49631ce785c0b028b253db4adc751e4148d5e003b23736901d03b5547cd1a8a3aa3e47b4988b1abdd15fc578b2c394ecc762877cfb1b8572e23c033e7613f2ab4e7a7ffdfca12a66c0ffee1e3fa56d47df57ec8934d966734d7c7b031718ae53fa510992984be2a7a09a92d252137f2d1cf5b4202d0dbcc642371e2c03f4d355982f089db0f4fbd2ba1970bf11bcedb60af307d2a94526dac9a4446d7900581f025d0fd55816abc9820aab84462534fe7abcddfdec19fc3766f4f26377d24e4702992a569628bd00581f0214e72495bd30e0356139b513f6cad95410b82acc839f8361d94867f4a8a24702f2e8bb47f55700581f0285969ec3d9fb371d4adf81b9edb56925933afc40a5c42466beeee5898b8344668f208000581f028c7593482182aadcc69fcff38f2648aefe17cd285a7cc525bc898efc6b92467cc351a5330000581f02e1fd9f0ef73267612454640ce57aa1fd1c8ccb6e9c867513c33ef05a5d31446579129b00581f02c1e49d38c716342bee668d734888ae4c0e75cf9853444e9c4566433cea144701ece0137a89860219b12403bb94c42685d8dbbb651ec414410d14eb2dcf30fa82abceedfdba3124dd6532b10341d2bdf40de8568701ad724b88e83e2ecf583e53d8dbb293951e3ef0cacd81ae031c9d0b808ff28ea2d8867e034e8f8937197fbd4c783234da111d3cba90fb73f703b3dbc767e6d6e3c6cb51e6cb7609571a5fd854560c013825f527aa545621477c030583eaacaf8b7b6c1aed3813ebbc4bb059215d23e50a26585a09b067b81569d9032d418d734cb58e46001765ec36424589c55963c27c74f6b0c0714df588079cb70219ffff03665503dd3719c8486cef357dd8eaa343e51300035e174e5553f3a25bcb5adf58032f11d882a2826f21e4f0fcfb8610bad29616a437d5bf9d962685bbbe447f46620219ffff036d3036d04c9933fd4575599bb4b020edfdc1eff40f43d26998a1af4f7b7673840323d711f58be1d4d1f9060adf703259553e41e6aee22438ea84e787a6f3faa08203b61353f06d146227a2f565a5dcad710c8eced1d2ee6642e360bb13e7c5fd3689036833ada1fa27fcae73656c2fad43e8d6af3094260fce54a7efb85e39b4f3520e0399cf70f56a583c768b857ce3d86c0447b01f61af1e0400df07eb40d921f6c5d8032f34fd9ab5b472b59346c1632f498c83ef09dcee0ec375495dd3ee3b106cf00103e4082941b33b04ad76bdaac16f32e4b11a8b4df31ca4b5035c2d1f5463bc8a1c037bb2b439e98e8ce743cdb558070bd752fd67489310132c10047cd53c5c09ff7003bc1d9dcf4e30cd60a98a77d63f967fbab195c9c8cd7b68d0a1b32f28632b43c603b624aa686f397d4d50bf0b0c2bed9d82b6cdee5d6e72204c8cd2e40670ae5e440389950529a5ca6fa1c0acafc38d926e3713f1cc23bd10700744bd8b82cf8e4ee103b1e46c8c01ee7e53762542200bc0668e94d514e6aef5ca18a5815be523b8fe5603d4a6145e97308c71da4a7ba4bd8b539091dde217b84c16dbbbf389bd50676b0b03dc7ce7bb2ed5a60e3563cc66296d2464e95343746442f888b65ac97de4448caa036e62da75f9029ed51064b7be2795049c2ae43e0f7727d09319d2fe65356a0af2034f547667124a865a5379687c69d043d121737a87cd4784bf969516129a627d4f00581f023d3ff4f877584a9806f97399ea2a61f7dbd612696894b4f6014c29875f9d4935a56541be33e66ce800581f02e72207377b17e044c7e079672829f32345f8314ca226d8482048b8bad24f4a3371f2a3c29387a768680349f0986eb598cf62aa16c358ccd1a09f9fccbba580a7b2695a188bdb3f02387f0219090203bf5dbd49f19fb6380ff80854af08b8fe00d2d13a786b424816006238e53b53ff0219ffff03fcf83e33b5b07ce5d2df7621aa93006df720e7a176b99898f448aa465f14f6d3031d383b4216286603b33082ab246bba5ef7c08e93ed64efc658aff717b1b11f340339e114d5c3c8f78f71396b3ced7256c64acd8b471c14530422fa1292f79a36c403b8b1bd22779c22c73ca43b49b8f9fcf989772f3bec6241a66785e9585571184203f28bda3afdecbd1e72e6f0c69d723506f791f332072dd323865c2ace6533ff760360e5cbdefd24e196a05fa3d2b754e261a5ffaf8d3b7e6a4828ed381bba61602e03ea6efc5bea7fd4e7157c74fb44747403e2bc2c8cd2f16ff9fdb99d573efa57fd03e1cf04754429dbffb372b8dcb9beba203d6f6eeb412d139e5d551614cf927c38036170930eb280e3ab5a0d9dc9705e2e7481b07f00bd9e892b6700e8e3a26f4e9a034bd9a5a53f4d8ee7cf5176c07de880202e8cc2574133aa56c302685aa6bb9e9c03763dbba997671de443a551266f492bb14bc8573c5df63ec30c12ae50fcded65e03f7e8186938b18f5e468aab65a4bc638f2377ccb79bad0c565e0f05b904689cc90341eef0a057335c5792f42b2f1f2ec00abfa81ff854434170216211e50d11aa5a00581f02f935b8f335e0883722ca97274d9624ab66f838dce8b945c0189253ee4dd6480f92ed7e32ac43e800581f02af0d45f8e363060f83f20a93f6409a79f2a223715237dad8e951234f093b410a00581f0283c9e86e429898de023d46ea534bfb556f252717857fffc58506ac66e77c4b0160ed45f329c2897f6f6800581f02ef5391c4ca3aacf6820a1acae634c5bae4c50f674862b3e124de5c77df934b379d665a193c06638500a800581f027fd420f936b07dbc4e5b9a54958490807a63643c31db30e5c1b355551900471f39384752dafe0219163003a53b89292236539547ff4574d02c2361d58a22c1f2f18494bc28101dd8a5904003114d5aa93ddef1754aa21993d64e913e18acc29fcc5f90215c9e7e8aa86031880343458b65aae4f203391c04020e698938ae9fdfa2665bb4bfe4e452289d31a1a2037e7ae07a8c1b7e863a11b05c24b3eb3e8cc93880bd3406973c1e103f05b059d60338e48073e33b2272d6b16b6953a1fa743728aa12dd65959cad6060ca6ccde9e20219ffff034eba7c4b0b4dce7529c255e014fc850543e3b5b5601ac1855e0073e41cba4bda03c4c3f253edccb2ab0c9bfc0aa212b97ba060db8fb69a93ace3c06c32df95b681030feda172a35f3026d794453294ac65176be79e0779889a7c95061e9cb4d0f26103338a8946870457067a811691decc5b4f4cf6ff1c1ee3ed0bca3bf9a193eb048503802e945aecd4e6ce263fb0895d9c9d912bec8a3a48c5b2baf103cf8c839e256703c0bf185079fa2ff4995358bb3daae486b8f893db6c7deacffe79707fa0af246a03afa379fae9a1aaf70ba54fde6e94ee977b2419d043c6be7c8801497eca08fba003111c3639050bacb8a46790454e4f581905a634d490bc7385fd04152f8b4b7b99033e1f2c06fdf61b0d27e4e8ebb9de62c3e0db1da3f8cd22beaa2042d3aa1cf9da0219ffff03d86ee7c06921e35ec8a2fb17b2fde2d3601982c98be91bbd635328181a10b138039cb240999cdf8ed4356c6f96061b516f39c4980ad48c9be00bdeafd987bfd64403fc61e36b3cd45f9663a00a1b8e3f655fff787192bb403d77f8611765b7d64d2803e7bbfa14ac5ddbc14548421d866da4cbd506c2922fe90e2c6d235d8f10d15f8203d6ec84ba68496f643220cb468199ac5074892a84dc92f3cd7fd55f2e12553fdd0367a5a4e43d725ea6e3d4b481b24bde7c188559b0213f9ff7ddb76bebe803712403754179db80d9a921b89196403fb2aaaa8bc66d1268c98e3c3b283ecf1f08736703f6cade737777c21c0eea2aeb474dd4ef560b047cc0e6c332d5d790299960fcf303eb0177d52d9b39d882718632fc32c9e91ca6874eb254e5f2f473964e3c6fc094033c2f91a25528fb5a902035b7488a7dc02c4bca38de2b7e978c090c727505ef1103a208b6e720bd22f8f37cbf6339a59d59865d9110cdfddaf57f767b670ef9f65103dfddf9b41ed921de06a285302007df93b1538f58a8aa83f0fd991d3728b2149f0341b7f47ac49c1129b600984899fc8663c02d33812bb745f6aac3305c506f0a1903393e719d348f0a9a4b772d6a98398d77700f35697abb4e92d61984e9656f092b00581f0245b70f969d7406c9dd15ac5bb47ce699c54ada0d54c1b2fdf5d140235aac530324422f5269c1347b1baa494c5c183da0000000581f02f2a6e1c3189fc62fdec55e71377437bd17ca5d4d91562e40b4a72e68c53544623e307b00581f02d0dc278a9fa7a571c8171ed53e489aafdd31fcb9403694247e2bdfd2e63e4708e0ed97fe218800581f026cfd8a9d33e631a84ca8a6b34a012fecbc4e46f158937c10880504a6b791466188a8e2d56c02193160031b4196fca0268060e22ec3379da2551e028db3086d27e385bf8d2e9f4c4b88c103acae9dc4eb87a4d7ee213629363e5b3c1bc964f6e3a046dc7329e08569ddacc603885266d372d995502cb95d3ae59650b18c4dfcba44cd41e8d49deaa102a401b303f68f5f20b8068fd8779a370f7e7de1a5c857405a86256b05e5052e7b321f68ad0373c194610c2f8f7b2a1130d980a39377c5f8903e902175d00cad75dd3b95cbd903fe616476a22cddb5ebc17eace6c5b2aef5836d5e0e5486ba0b0d38c66c9481d203da6576831bdbde37bcc7e38b770dbbc79dd13d7a52541a67ffa83d2a7084f89a03ff86ba886dac8224a2ed4878cdf12e0ea2889d4a6cf47d503e49654dd1be0e32032697a764ce19008c5d60d82e59d8ac23755e0b84bff50367351dd0b6371419b10219fffe036ef797c4dd033c58c722f8013b69369f8a7022a9f29fa0ac33ec5d10558d8ce00356fa60589ec49b9618246a1f8c4f334cedc709b83845c215adb56f2b699726b8031d1acf10df7b93cc7e0946f69043c1af13af00b3ed9955f41b02269b2e5e8d34035c836c4ae17d489ff05378d3d995be823eae1c299d317cea5a2e09f75413b6b503dcfe503d5fd9eb5574073277e6f1a2c4b231369f7c8ac4857dcd0756a5dd002403209b8c119d9f3ac44d7253fbcf5aaa05449fe275d708798aa9a530b34cad943d03fa7a05ee1924ce94471fe83fa730cc0f7b930ca7d6fc43ccd8329ad378334be90219ffff034e5e28b05b172ceb80ddf028003e149c518513623a869f9e447bf774108bbf460394a1adae3cab9662c05bfcc58344a8bd76647e056ad618677af0b4c95b0a8bc603aae1f3ffb6920d7b17988ed9b8a224b2ce5a9a28adfb08caa215d144a60830b3036e667aa3fe230671ba9b2661ddfdd02e08b6979e66938c0c50cd8cb4e592506503d398b6e0f5ac96e32376d32b34c5c0b8fc45442be71223c6eda92f17100e6a6103a14a29009b4ae89eeb12c4a8539f937f7a87973525e6c9c9fb13d02481e9082d03a3415112d5a028280c42b73ae2fc88709f704d1fb4f4de08ea8a68a15494ad240320e6fb291e33fc2ab3a48e2b9548a690bb192c28e9a7c8936db68b5584c0a00a0394986fade8d5a9f0bb0e50577f497bee7e9eb3354ba0b8ec115b1d112dbc11db03b421f1f4e77b9f8d1edd7b14f5f2113e32308732102de416cc2f75550950a5a503329ca793bb755a01b68dd95571c070134ce421c1b10c9d55ad22d7e340b9f10c03d25420dae66412fdaef9ebe422b32ed417e1189c53bf0599aa82afbc7c8d4a460372d694228dac2969e01c9fa2b06270db0c3bb7b0a845086a4d66b69d0114ae5e034a5033261dfd33dc8922f89c2ae9619e04212fd87dc78d835019c199d6f00411033c471f24fc71d5cd7d6c89938a8931085f5993e8a19f911d47ea75d9e0f3d82e03c5a26d5b7b74ee46f4e4a929815a214a9ce9d95cb5e2e2f2946f462bb4f7882200581f0248ea6c7395866ce6cc68f7381581b15c3630e56a3a0b16397cfe0e088d344b062ee25aa43acdf6663ce800581f026666dd94d0f26a4ae68935b8e81016dc814316e9ef0062f08bcd15adb84348051b0ac48981b66800581f0231b8b29a762db73483c3818154d9d45bcc3a10eb154f217799648fe7a5b15301b905fbbf49807f6d93a3ba4c5b1282e0000000581f025404f43357cd165c9ae634f0cf76b7212b8947cea0e827976065e82b04b04704d841ee17c8a900581f02b2be1343f6e9c1a44c71d2785b5209ba54d361c0f0945466c9e0f815f5e6446685e60002196061031bc90c06da0d5a634126d31ff787d1fbc9250477fbdac784099c4d2584afe1420219ffff03d216ed5aa32ea74b3bc427a65c6a2849f74886135ce88a2e63eec2fda20399850377eb6adebc29001f7c68f2b4b2241137fd0fb4e3d7fea3c7659a1eeeb6c6aed703d362dccb4603c9d9c3af9e9e5b66aec05b093f8fee020d2da7ad22643369ff6103b36a20bf1e89f88dc4b5fe9907238a38942978fea4ebee80fbdf7d840f8b2f3603f9c4db2f86b17df1997b8f55df30ac7cf8e5ce1561f4e93a53ce01beda0d2ee503c7b6d6c467c4e72867ca144365a2e298d6225d8b0437fc2b38f8c11e1076448703765245ff8c879e9f4aee833231e14c36ddcd3f752c6e017580cff952724b20f103a457ea07a69048a3b391756f0c73a1a760ecc97005916db49c461b6a5ff6e2bb03666d24f26a0030bdb9dd6674ce5ce149e5199615889553f8445a37b51d4ca6e203289f8b0b7a537be12557a912cd4f054214aafa09c1dbeba6192c3f2e3f6a3837034e4b0b0ca54c0311aa2dceda4555c289217aa4c0aecaaa612aac01984eae212603faad4afc9c66c2969ffe1ea26e9cb7dad3971e3a6791d2094af3da7f675b723d038d0ea39076c29b81d94c1dab5d0f1bee671dc3acc6eb5ba82514f34cd17937410219ffff035e093c15a845899c1e5a6147d2d51b5a7d296829716e3d0740c4d98530f17fdb03170c4286147c9ba9dffca37015072e1582ac26eab37c7fea7653609c837d15fd03754e7f313ca3eca5d8424bf93e13f4f9edcb96570a1b3e5328c0bc9f9ec8c63703fa2ab7777658b52b8530418aa1c491f743b6e8a8af482a46935bc1ea94b5301403de12fab1d665cb522aa7a88cb30544385378668f44f42e9691676aa9b015928b03dd17e54c03e65c0ca6641205fd2786df8b0dc9183467d49c26eb66165f087fcf0377f72b883350171bfbebc0da1de2d5291a52bb2988f9928aaaba237b61350c040305ee3a788b64d3abd9b4252044dc840011c380483f084c7f1962f4dd30d8436b03fa5a8563111c39fbc32755c4bfd691ef0292a8c87a22f63f15972ca2b6046b2e03283881c25ed17d41396800ec258fed904f20607a468ae0ee9080dd179528a53603c1c01f2c8aafbd890294fc9860eda013d881752176617e5c687fce91e0bac67103262e8117a1c23406052cba8bf2136e1dd4ffb6dc60ec7a0ebeb8280c272fbdff00581f029bac47f969fb2b9ba541336c1925c27994249bbe6a5cbdb2fdc0fb6c1130450853aac44700581f02fe1e438ac2684126c1fc3477f4a0f5f93d67549cb0c7166be374ff096ad3446996528000581f0210f2a6426bb18497fbcb5227e399b47316fbdc14f9d793864761b0a1568547317e5f76b3b9e100581f02f8633d9ac8812d65c8bc319d50cb53de75837a853a38f33d46159c7cc56a4a3cd82c723f64962df6e800581f02e11bf8fe2039b8d6c20d914cee59bd027ae77b16eeaac8b9e721055ebc7c470191ed682383670219210b03ccf6045abf8f7216bbb20e27f65dcbcb598f264250b2cf2317823cfb626859240391c47d51124e0ff303836781e517570836fb3d0182d060c1614dc2c6d14eaec503ecb05e5daa7290e959c0b0d68a61007a1e0670c3fcf69c500f1e809e3a9c689d035575ec3efb7cc275a2f623090f89d6c13edf96b1d5ff8c34ff1312c0df71334f030f13d6a4cee17b57f98640aa06d52bc38f417375fa4d0845930da88f241005ef03040848befd56b6d2dcb66000d5b2252c737a14da074c65f68a42b962dfad7efd0326031b84df3b196684b030ccef59101c5cbba6865118a1abd3eb92516d4df92c0384e3d6637a3a464f2954e51d737e28cce954537efc893560ccf02b4e5a3ed39b03e56d2f6a1d57f6f3e8bb7789d79c47af9e0018f927eaec8dc79947b463d9da1c0319c54e6849f02127fa21de7762d45178651422f8aa80dc6b5c7ad4ec52742a980219ffff03e97b129de0e3a15b55bd0e7b086a17ce072c7cd3a3e85b51c22f7180e9263d9903a092b09df40b2a2f196a7e036cf3ebe4b094b4eb496bfe0ca73856fbfcb7d86903de809a81c2e0c325b34ca49b93a41a062508735941f9834c779114d96395a08703553409fad4adcae50e02a75615e4d2bcd792f94700178d48f98dd75fb4d577b403cf0e6b9ffb06d9afbb2b7db6725463c5b281eac2118687fdb8251c30106e1731039c568d75ff94888f7706ac6e6b0b6c7bf680b1922834b65c226a0b49c210056803654f79acc3e6c7f7e5afeb9dc0c2333a0ff197b7f0249e0b750c54353dd281900358a7fd2cb7b3b4538db5c264eebf837098e68de6d3eb8aa5c810369f9a5b57b10219ffff03b3495f3662ba82ff2e6748ed33c5cb620ee56c62f00c3baa2cd12ccfe8804f530323f99a2c4f2de26e6592238385ff177cb6fa8da7d1c213f90109e4f331a94e3003f6fe0da18f7150a143d95674cf57da96d96363b6faab72883f36d2a56bf401c80376c80ae3b9335f77d6f35b0e69b314e8ab59cbfac492eaec35c1e6bdf0e9087203b4389d4b9f818ba2bfc8463c43e9b0482ced09bf4be4e20c4b9de65243d1ad2d034d5daca1f2843093eb7ffeb9664f712202683536f280ee79e30a5a5bb87e14e303e1853fae841240eeb959f5808ec87e2160b2c83f497fe558f760af9e8f5035d503ef06902ad72fdc57112b4d6193a5fc88497e65bbe74d8a184e59fe388c5616c3039d6f269c0b1296cccf3d4454a0cb212ca69c892a9f079c44c86c45ef813e2a8e0338cf9dc84e146e2d0e188cc35ec6dd3ed215af787ae00346f61a7f83feb20d8203c4a85a336b4bb45ba2cb79eea3f3d43f7c0d76e753019695bdd4b8a04fe3529b03304711bfd1e1a0fa5348247655e8f14bf2ed7c73ede662ee368c3a3d68a113a000581f0298affbea2bb045f7301cb6a98532e6a09c27f12ebd123d8c15e4acc33c814710eeb5ae4454e300581f02319d90dff9142ff671c1dbf0f2eff924a355ae03dc4361b534ffbff2a2b0474d6fb899ffef3500581f021290bc8131e507c9750e900dfb59d904a6eca6a2962e963ca9040fad99b4443d33ba8c00581f0257f08b3802e3935b9342a7ae362971c6869c11674747579aad6703e4080b4a73ce1f49367c7171bb6800581f03f42cb40748e7f5c1c2aba4dd0e374fa4124134d4c99794fd7d557ec4000047807f7f3d17650800581f030ca306339b40c2d4da646dfbfdf97ad536efa87f60225269bebcac9559004701b5f3cc2e3ce40219060000581f02c0a34cf673143749320fd1ac9b2b47f587b9e0c875c54616f18ffb3e3d4e4a04a7e05f488ac7e12a680219c93203e65316b0229b175aee379623c2822af24615f87333072abaf3e479fc517f7d16034c74f6f874bae86d946e2fb4cd46500923fa6801636076768ed87a6c6effa43e03b2bb791e038965e0fbba51376ab0027469da5a45f72983208f8c30b38fa1667c0332a272c6f90b4e3ea9c4188375be9190362e406f37558a8f36c83b27bb6c8cb7032216694f0963e0ed718035ff9c248755b35892cbf7ea33eb6d47ec200428f782032cca221da3848cc9d99d374862f6e9dc0b7481e397a99965e6889d1bbaf762200300125c94c1dbc27f9be968bc900fb99ea8715281f6154e3a4e9a5c48dd057bb003a60adfa08c93cb0066398ae55cb32cbee46cdbb2785ec0a58a1ef8ae3929161603edb446488a5af0ac1d24d74a05a71d2f21d9bba1e1b06fd1b4eecd7f968db8a003870084e06d4e7318ff9d275ab05e8d582576169d3095259a04f55acb7be77ed803e59f446e39309c5962bc6675c66e89cbf23aead37fed08968c5ee580c5dc58470219ffff0365a2d52425b7f1005da2d3afd00fb7ed2189d5a302c7b361a4c215c615acfba903cbd85025c808ddca62b4d4e4b237e562e033de8f5a62cd7c356d60731b1c629f0388a246a66558540a5a1ea99366ac3b44ceb74e9683652a54a1394240b34a609a03f11d11d7549f9830dd9b8fc47c98e84048f9118afae599556f6ea1ed39723daa03e673b0119aaa6a62677ba70f402d5ac44e8088ac4494f19fd2bf586f4d9206b90374024739b134ac04b35e4303b41afdd978c032fb95323a613203db1630d8079f00581f02f81176ef03966b33759b6a131d74e43fc327679826438feb648ecbea2edf47c8af1edaa923cf00581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b410100581f02afa7ee8dabd70917965ad411ce1dd1718b29429a2012d7a40a4c39a3ee71470a6221ee83870600581f029959878724146e95bc7c2364b1c66f466c52970520382833cb36510479454501f1d60f0103fd42552e38d9f3d17708408306257fdc7b1f0de3c64fbfd15739c4f07d5b4c720219d024034fd839409ca5283111ff946e61ce09c4552c6308f73ccfa8d1212cf9e7051c8203e10c6ebf1c37033c3ff144b64dff90772b3f658d310fe71118591d2422756feb03330fd19c9fb6f0be7e6c154b861aa787cca4c54095594132d53055adb066f9f9032e6408cacaaa0a97f02775042c1da05b94182e735441ccf69c3f43f6284b894803af3b943a1421f300f8008ac72f01ae8587c278e5f3e9982d2c2add8a89d6b0e4030ddf84285e20144bb5efd8ff796c6f18ee3766708f3111835e04eb9088d4fa750307eb3a7622a8085aa12a9a5ece74ea664b095b077e02cdf2caa00e8f6b68ca0003cbb10460e4182c91c4c9ea663c759e86e0f397fabaefaa5e3bca55e95cb8bb28034e468a55ca5d829b1655fac79e6bb28b35c8ad0721fec008b0b16754dc66ddc003f8790d13f89718ce7c40aff966f3be6dc2123560a8afc01a79b3b3920696b4bf039963738038b28eac799bca1628eef692d7df2a982226fb1b76e212b482c71f91034af2d0303b5c14989f650d2cb5ff93923def798cb7459f8de7caf29d9270dbf70219ffff038418be1341b79c020c3a2e05211569b9f32597b1cf81206d7d1b2346fbeb0ad303e89f65974ad5e4edae9ad870ae2661c3c16dfb1fdbcc44220a935d1b7bad657b0331d137568d847093645a0ed5b846e905db585984c36f1c27718dfcc2ce89637d03ca93bbf88750545986c8b512b3d0b62c860c7806f27f3c8786f76d76c40359b5039dd4c689140eb5dc2c6dc16f65a79403b8327deaad77dc59a6baaa7a88bf7b1b0219ffff039541a1925fd582e00e0a12ed684808d2dd737ef236e599ffdfa3e8b1a4e94224036cfecc91f8e95919a15e100312d1f0cb2da709d6972cd4cda772a69b9ccb630403d0612ba34b3c52b679892ddd58eacb84b4d1198174ae06a30fe8d79bfa4b7d9a03ea239d61a86a42c07f550006a0f767270884a78deda34df93b0b441e1e76f6fc033860bcec2e805357cf8551327cc9b837aa7f7356f5862adb918987b67540346d0377f32d601fcb5b6be1d378e3b51647cbc187d52cdb2ead045cc81d2abbe64e9a00581f02fd7d62078c7ce9588643c23ae9e51573435f880f76b7da44bb0b57cbd3f7480de0b6b3a764000000581f02b3dc7b0a3b76d1ba4dd781e4ef884fdb35bdc49edf1cec6693ed6329286b4a1835c510b7a30515456800581f023795a772ba7b49f539e3b62207b2874d51e43f6b5a466e87a61635b9bfbc44697aa30002191804034ddf1a4e366a871a64923ee5412260a68beab5913f2fd51d9a5d81153928c38803d3928f3b053c6def96eba1536708d68f02817bfef3f53cb8d7e8c7290763896a03cdf8e7bb5816b7de2b0d3d8d6d813b39ce3614d6078385eee8bf584e1a447bb10391207e63d64289fc8e3220c734bf690c96bebd67a067f0cfba6bf15958b8f43503bf0667cd8af5a8f39c8c6ac0d2cf84f809b0581ea4e3a9c6d0957268135a1e7b0330faf29f9283835c2ec3e0ba03148e4047c28d25b9688fa04602104577e369dc038531f2c5e2145c330b379cc357bbf6b3d7a1a49a31a4b50cd1346319d639b39c03e67dac46ebef89ea524185fd25661ecb2575e0f230bb927437d8ef2bd29658a603ddc94a59e2ec240c5a26bdb981e4fc0ab6bece90942f9f384eff3a96e53d7f67034fca3bc628c990050642ea5569e8093c39fc2d1e96c1b08c218b6a2235aad75503973c41d9292dcaf1a686f43bc349b0b13d6c824c8ec36687027242975c83efff0219ffff033a239511709cfa45998a3fe8af392cf7ce3c8d5e8fdc08a99fdc8e2bb5910a25035fc161a12a8d2aff012a509a0f1e3bfff6cdadcd8d043571f3f8dca0e0099a3903980b16d06e3245814f4ad7b00404eb17e3ae3de903e324ade60a7253c2002f6103eb95ea8cb856f7dfd50de4e416f505bf5cc9ef7c6779de93ee235fa2ea79e9e3037fbd36b78eef2d2c7d651d01f056169395c0676622faf6b2e8c174ee742f97f2031b96b8cd0f4a57ec65cba5656ed4a5c2dbdf6d35a4933357ebe36bf6a5b1b86603acaec81ccf845d170fc1bccedb01ff2ce17e1e6d57fd93d4bc2fc689e88687aa03b3dbb4f02133ac5f204ff8cd9e521aa4b10fe0b44d36856e27189829d9e147a1038c825d68dfb247b58254cde1e09b1a511e4f0333970936b6d7ddae967b4a209303abcc7b46e1ed1b9c60f1b2a980f88746ba5139b15651cb3112a273c0dd70b1750342fac4962b0a609c727e0936b0f9916cac8940529c84362ce49c7de66b02a23203829201f1329cc6571ce3e82fc26429fdba6e16310b9093443ce4a37578c018a503bf0ae00e5ca9e7217c9eca0b9352f3cdca472ee98d95852f9e5ef5abb15603b903b682cf8f5092e5a5bfa84ed71145ff3dc96ae86f5258f521d50fb01d60aa314103647efb27620706141ba289f540535e8ca1eca38427b27f0fe686bccb0c8598cb03975d714c3c9400f6f5849ec8a9468db83f0dbaf1ef0ef5b3a73ea5efa617591900581f026cd0532e5fcd5401085b174be9be9328d617a00317edfae967bc64adf57042271000581f02f9cf5595ff1df916a52e041ab1e32a0408aea604b8cf61fd5ee2501681df4a8cba50efa5f75f6825e80362601bbe3748a5c485a553a61b2f44536821b7625f433584c9cbec353c2de4a400581f02475f80aeac8377549fc0897820c0273623a6fc21568bcb8a47a6ca7d3a8844668f208002190164035475cf2386ca1a50f676a2d0de4c90bc768b3c64832b1104763b66ec76533bd803fda2a78531426133647e152b783ad33b03243756caddd06d8109b009e3e8ce970219ffff03d522cd8c50f294dc591702e5fc2b594959a42e72d090d81f635cca30cacbfb0c032ddbdadb0d3eaf27ba45cdb1af3611bf940a47c691a04deec4fe8c67d031586203100fda6de0415eeacd46bd94b9cd52d14f74bbce525fbbe4a8528738fb940f1103b94dcbb03a309099aef96134a9820af9d9bf8d1f2ee9870081df765191690b4803757c7a290504c40fc437fe5a6f15357ae2342efa395aabc37b257d693d23bbdd0374fc1874f1cec1c0ca831fb72eb02be5bd448917992cbb00040ad47d4732ea8b0373b7c17a5580947221ae8bcae8230b02e1cbe4ee491406a397ce55ebd4d3dd0a037593a961dba210ff2ed478ff4c50ba9101059a905f970484f741123e15c746ce034ec195ef5c27283f004459757d8da0dd9cbfd8538cfbce0e27500c7de4c939c50219ffff03f2e277ff11b598ecfbf4847b8bba49654c6588230659663dddf3510f612e2d26039bb687c6ba4b581f71b04e245a7038b560d2d0fd6db0c8ad3cea2de223be7f650367c81e01fd4cacdc4d01aa8030887360973f8ea69ba10e18db69798aaba263a103a7e8fbcac2e1d8acfd9cc8f3737d9f116def29dc5209dcac27ca32c632fa743303b244d035c95857d4264962462fe0b6fd52ca7b9eb0c3cfaec71f3d13609d41110368ac13c461b47ed805829b167a39ae373feff82dcc005aa6efc341cb61f39eec03afafb57e3af6a705ec56703141b13fe5f2ee5fba92a8034d632cfc28fae00992030c65dc771b14a151ec27bea4cfe98e5287d70bd407349f53deae6c7bcb653523030136b7ec98b520361810b2c933cd5e64c9072bb878160da1f3483ebf126b536301410703fe8cbc964983f0ea6efcb71eab6247af211963d163989ccc428479266bc6165803ecd3e2b8266b173373fefa153c8c32804d521c73fa5edb374e90685b72a0239d03738c7ac725ccdac22bea49f079b32811e753b6740b2a7a5a533507e71b40eed8030c7ea3b2167169d30290d835f9a4df3acec5c8ad0be02ecdfea2d78acaa775f203d7e96eeec12a49353cdebc3c5607b0cdfefa45714b7d79d6199bf2f893a2174003eaab3f96b48ccbbea41b79ce43f32c5615809ba4fb8373a667e9a17e57cb885003794cf0c0c148ae4d67c8997be9206b49d9734cf1cf667127312f2f57c885e21c03ce3f8101939f247882713700dbd22f644b33e7ce061e292a2448cc3227aeaadb00581f02569401a885b605b99b0df739c76de613d5aec9dc70111fd11a0e0d070ab84803d01c8c69094de200581f03d6c42ea8dc4408cca4e245f38728aaf629737ad96a77db5ec561c655b460530303cf9d104e2709b800a4dce188d9d9a0000000581f03f7a4260da1b74218c7e38a6135273e680d9008576ef3f000c7e784d8f83049a37afbc69ddb8b7f68021918000219a100036d6840e35aa7fa4369fe23a9fc8ae00aaf48634a9572a100601413d1f1e15ca003d1305034fc210bce705ccd11a0201d605101d84bcc5a7391aeee9d7c2b48ab080398c605a6c92f62ba426a87bccdd457da8e37c9b8e93b40655732de59cc1d730f03f0ba51cbd05bff366a22481131fc68614f0c92227999772efd7ae8c68439cdd703389819948d1d5dd436e9bd80ed1c76d6661eef98155b8f88bde172063584d34903e34652fb680ba4774d0bd7e654f356ff35f4b75259e44f1650378568d259f9800219ffff03e1d05af17297fd6128ccd537c22f1d11798dc0e2f361cae4ee89c35c10cb662c03a8b7a194cc3a77d9d8fabea39e946b42c39cc888758b9a43a1f8208e4bb9504603c6967dfcc5369c92e28408455620a128ed9c8aa41abb6a1edcb5954b54b5691b033c31df99be20b3018ae679517dfb6312a46ecf5eb2ccf4e9fede34e68242edb903528fe50c4999060bee341e7211b8780205569c2ac85b57f755addff1cc0449ed03dc8664fd66e4aa987283deb10f9e6b3cf41f53118f80d5acac0fd73595119d680319c486b035caf46a2ad8ebfb99b074964f3eaf931fd50d2dba65f8345722c6760327cb90af717adec9eceaaefce5d26f21f018fe1ea1701b182ae921df767b0cae03a86ac9716d02820b49008c4530841928d20025ccbf1d3274099eca4202699ec40219ffff0307937ab3aefb6e0eb8d4338be34c3a825220c9d95ddd863c354ac5674389431c00581f026408c3c05f80855ceb5bd601bfb561bc52d613fcff396b42b0a8a8b404b9446af5018000581f0290df7539a3e6ffb5d337f2e8f2d4ea9b8b76ef6edca8539fd3c06bfed951480de0b6b3a764000000581f02ec1967dc7936f8fdc78f480c4d276bfd008c64a77ef90cdbaed192da30054b0574a302802c07e3e854e800581f02fb81904a299cffda6b94b55c2341ba7026fe663c160e19971fe864a5dfc2446333ff4700581f0272054db52bf9019fccf9ffbdac9381abd9e8e7dc838b217d70367097b3d94701ec7c396c631c0219384203029224aeb29adb2555c3f4ae1582d301d73e62c4f5caaffd1cd49eda26a9d1a90303f4ce1fe7414062b717097d7ad96fe41758949e0f5b4be23dead6baa2d009bf039bf3306a9209f444d9b83002f4704af79976d10b467e82d0d13cd72c3262a751036f3d16ed038cb67d9d145d070a054578b2ba3da2f49463c169b2696c3153f2b2035a3e682f0da4eb4a9c75f9d24658ea7745ebbef82a03870614a9b17c1be02146033afbda3e764f2e03ffd011265de970c55c5358fe06631ff9bb4482394dea6ff003617da0a092bbcb7aa18166ff5b0e526812ed2c8f42f0fea290a3573d06e6ef19037d746949db13ed3b44818f29d10a73b0cd0d121ebffa7757411a08a22a7a38a401410f039376e297f0fd5e487c82d3035f521b64ff0c3767437fc6bc4212248f91f837e2033bf86c084431f83e3e34ec793d07c5ac700e28811b25d4ce67750ad49278a0f403d4c123cb4f8893c5a1bc6be47ffa012cedf61a7641d170b6b288590703d6a9fe0306ed9d8536b4cd2aebf1f1e0a9126ad44ad776525e91baddafb14694ea0dd81d037fdd2d840457ae7b774861b68f77cf50489624bfe3a0f94e032ed61609a5015b035d9ff78b98dc057fde458a91abedaaf459ebfd53f211b56806d3769875e829080219ffff038c822fe99e0f3f84a0805ab616217a813346108bacff260aff4d92ee3a652f43032682bf3da49ea2a795f978e4bc13f92660ac8570953f4b1c38d940bc1d3ff9b803c935a15ae98b04eb3bad8c2bbf8d6739127aa107105fa1e02ae645329bdaab250326499e7ad9dd67d73ed3fe3a0571db6afecdd2dcec5e05cbe8238674c7e3090e0378c6a53212baaf4dd5b9e9164fb89e854d090403ec7bc31b1c8b101a75be864c034a85628c920cfd13874efe3d17ed81bf33c138c043358d0041ea2190dba3654d037a7651659f0430166f8fb94ba593104f4e2df5abd9f75a53b1fbc4fe438fca260305f114a51c12a2d2dedb7bedacad18bad57288ae7c7917e65c7fabae68ba05f003e28d11dceca4dd0aa442dc619073cda485aa628aa2ddf57d582392ee772e5806031366abaccb5a377e523d166f7dfbeb4b46f3971f99142322e67ea41bd7d6c085038f7c7b06a96ea719f1a2df855143b5f5f5635870a4ba1bf0189fa87de10a5fed033c704308f4ae13f406d457ced2074f01dc093fdab4446d6e8d8dbb7f78a7758d039e2ffa020b7c500297a6f8af4704b9b023f86ae5c04ad2f24af1f1dfd547faf70326e538805bb15d79b75d9da4d13463d98f3448bd3e85cb4f2f109dc9c3c3423d03e1b595eb3340b6fbfbed898443cecfe10f3f28d49103b61f64087687ae6bebd200581f02db530e4665c35b63fada4362ed81c89420f88e9c438576bd74c774821dba446419a0fb00581f02fe9509d460c20b93753f3471f9d3299cbb8712fe67be0b7ded8500db8e884b045fad689b045e9fd5cae800581f02891432384286fb81210de4dd4dbe47ce3796b8936d2fdad611f4e09b4536480a1bd952c930566800581f02d5c4da0607441046ae085114343854864f158918218619c9bc05a97ace364705fd24b9bf0b7200581f0216560a1926125dfb56fcd7e619ba8948123005d92da9f3e590295c64a5d24a61b0d24a35029b10d2e800581f02424a2467f148586f16ca4a59c8b158a15c9367b91ac9d373e371ade3d4bf46860b75f8c3c00219883c032f7f771897a72eee1110c54e67cc05c2d63bca4307862d36a7fc75b64210655a0364cc36a72c22ea37aee8006e5dd8e5094cc7dce1a2587800029b6356e500c597035dd077ccae8a40002bc3e040b45f20b32432dfcb16af6dd662054380e9f2935d03b50b8175dba46467b81b809f53d115c13ddce5c0419ec20742d316b178999d3f00582003a2878a4481834e531cc8154cde9386af809c17ceed7a3dc91484e17b89f32046771bc92225c90390d4f8847ae1c72f8d66891d275e5406b76f3a50c76c4eb08d940a84ef4b87dd0219ffff034388db01f2ad0975c4f3d7a22734722d17ba5ff270715fec3b5d11d92e923090036ea97529f71ec3592aa81ec9bc14d42138bb7265b7a330ca511453742fc90beb0395d75770d986b5645bbd3ed17909d6ce6f03d8a8d5206541ffa12cfb9b981eb003289ae3fcde7b97aed050eda24964ebc659e5c9183675555690614df4a8e01aa10324c2ad9fe222aff6d868a006f908eb38f481570edbe42a3ed1b84b1cba674bbd03ea51c11bd5c66f8ddc4979325c353ed880a5c3aa5653a21e8fad65f3b45fd6ab00581f02ad9fb15c741daf85a24d39d1c8849673f388dfced5b1921c48b28a5a52704702a60bf3961f3d00581f0336a725386f2549f8c02b64f8f90d2594c8c02394218a9415799336e25670479e7af2e4175f4600581f034242955acbe0430e86ca889af96bc50f20eb4aaad1cc0f813287e0dcdef04504d64f672f0219200800581f022b3e3e15d4eb3c40f7f8e7052cd4c52b27e9dbc54f3f7ac4a5ed066f2e5d47020f760a14715e03b943622b11448ec3b2cf4b6241314edea6eaa0226b4819cf00b310895edf0efb00581f02ce07423f4062c7c597403d687ebfbcd4b4788ca009b387f789fb66c38cd54711bcaa9f1e06a902190f48039a5007250c41247e9b55f3803ddd27630f6206efb813372b5868660c2ec7159a035e90ff62898298cb1057f466e8761e09cf238ac9230690d7b7be0d8341d996cf03a4761064b83a9ceaa96f82e9e4890f53bbcc4f280b6711c39f9eb30043bf9e66038a860c44c4918d6300a6d3209c56365c1de4bb8d7f6a86076f78a1cf0346e0e203dbc8b23ca4d030a3f0aff0a6c6784ea55b78153f8b3e102680183dd5833de3320330a8dca6cc3952710ca17d336cb4a00085865bc7c8c5f18ee8d25d71557b23700315dff051031e50553c20598e94487a9afa75c07fe69c3e9d83a60d92c66491e203552bb743140833425d685e0fbd6fb674955d2d23b514b88b7d4a5183f343f715031c2f1837324d172fa128c20825495ec4a668a692ddf22271e663d3b826a5bd2203cc8aff714839802a483267a3bb9d53841a294e7d86ecbe24936e6a9b8f622cda0388e1cc3d5a49cb0864cbf50795abd2d971702f9830da4efb9e0f3c9e3b79291a0219ffff03587a3b9ffa22c484b52f4807b3d3d9f0984366334c341a2b40d221c694046ef500581f022cc94a201493a85843d074c551ea3dfc6be8c8d95a274ff367e8deb2b90a4a66ad2fcba529c01caa6800581f036e5659240f07fe64c3759bfdd2961cf3108643a0863116b4917115205b30410100581f03b3e51cae3f9fcbbc0220e01c41e2cf6a563f8e0bfcedd33e2e45abab14e0470a3980cf4db77102182800581f023c65bf4dca3763b3e0aa216ba44566a21c30f6ecc7804cffff6d84722e9d473b7a2b24efc33e03759759c5a02eb8e3c2d8fed480a0eedbeb778f960c4035339af766fa1d86bb2500581f0217c5b0a9aaa089a8e17527688d3bd1196fbd4a87bfb15bc6c9ffe97282d34469f29b800219d0500058200333d021899b951ce4a026c2fdcb88e521fb260a8baeefa07606f743f3d9be9044690be500038e373b88f8c199e72c4a750a09b1f2e1e391c61b891d88f90eea893b87ebc76e0058200373c50028588cac838a82a4b07534f0d3bff3742b013741136c168029575ef04b02599851ce4856e02813680374c010fb2c69ee8fb75b86faaf71605d30460d3b980b975980d4d28f78f0e29e03f907bf89bfcda12dfc7d4b4c8e18a6078ae5b50982f35b67312abd05c78093fe03b31cb34cc3ad314a4670e3fbb9aa5d197a44c736cfad6ae72cb19a9f6b83e47f03b34c530ecee415ef9ca5d707a07bb6d655230fb3d8087e5d4c669977ee350e6c03b7ea9ed06de9d61017a7765445d78860251a200bb374d8c6b1360a8c82e606e2037f64b3e5d5ba80861395fb65b6f9f84a859bebcd4ddeea7761848d77d1cf303d03368d719018290172f9f787ca9a557d863549b56456a2a9f97982e73343c2b7f3031c4195d929a5e5748f2f6e8f26630f4cd8ff6401919fc58af347eae0eb13af800393fc41346c88b7fe5ee5674de4fa35cf76f92485a4a68e5ea6732c6876d430d503a1876d109b527e5d5cc38d2ac9d66773849d814d18672d2fe00e637f6a19faa1038d7fc622a74b69fa971cb8233fe468c01eaaf06cfcad93865073302b144b58ab0219ffff03c6acd3090ee96199d09417e3cdffd9833b7103d64126ee4ea251cbc761046e5003c9da9e372fd98abf987cd2470f3089a6ea88b59c29ffcea586d78efa0d702da20309c0771d6c1789770005670363c8f4d7623bfdd6e7595a62dba34490c362693a03d9d4e4abfcacf6bfb657ef7bca9453411fe1dee4e4601f248791531e5f14e2b703bfb30d04f52f0cb0d56e91939189d6064933f59d74ebbd6248bef80d1b3031950219ffff034d1185a1d43017693068526b0a01aea49ea6ba2a6539a1c2069e1a633cc6977f03f06245f0ce52bfd5d5f7046979fbcb6a373c1ea486dc2bb7c659e42afd77e01c03c8de320887ba802d02308e32bc0faa662a9363e8544dd99c67fb4878ed99b54b03c300e89c43cb477c4f6d385a81fe24b6901cbb9def1d17a4fa8c28d1bd2e6ee5033de7447c75b5eebc30725a925ec52bae5e8271d6c3aa72963bdc9f72e5616f1403bb9ff821d3ec99fe547993015886e844c7ba44a2933979a83905c3878a3f6c21033d101e615e3564c64fb05fc6af6ea313e02b75d7b3bf6609504143617b70a95903713b96de25588ec61e6f9f49cbd69f7bbb73a6d9e42a8bd9634b810aa23605aa00581f027e8272a39444bbfbcfe34994a124e2ab22ee57b85318ea3b15008ff772334b027abcded3369ebc02a96800581f0249c285149ed98183b6fcedf7954ea532b716dc6fa98fd222a6527c91ac774a7418b2980e671d62026800581f028d3c1853fd56530dad64c07de0bbe497a65d7b0acfa4988430fa069bd510470b27d84d9eef1d00581f02d589d3cd33229bdc20c4a431ebf5530e21cd9a1bff79c2d3364023d2001e4462c06b4c00581f02ebb994402da05a328f7da876f730bdb0f030c347b43adf1bc0931c18fad844629481fc00581f025fda13e102e97c3f8635ff57334ff50b0324a56bb42038f6362a93f3c7de48495977b1fbab53e8031cec0e1a20811b3b37f19d3856a0d25d1580e3e4f5388abba02287dd3592857900581f02ad748812eca4f953adc65161eba4c992344971190ea0c9988d939341488f4ae0dc4d6641cd8baf316802193ad1005820037a4c60715b94a555cd878395ec8c627a2be95227e735b4d7a03e842f15eec0480940ee2a990f43e8033e5537f01cb3028b81b39ff888f8a521085e0aca61c8439ad0d61122c3355d1503f7ac574579d5a098af8081a17b06bc0eb527c59b985d310b5b8d325d5dbf4929031ab33296aa7095b3b73fbcb7cf6371a10185b8a0e52b9a6738d9626c46c68f45032f36c32fc631844ec876da620ae8f0682f0d690554b754496aea968c0662ad44038345a0578dce4ac21ce63d7fe0214f5bf4f128367fae813fb1739fd24d8e4378034a6dee2ed00b2d44a10cb431b60fac8aa12a924ffc093d14a00ffb686d6ad518039f7c6d0793c1805ce35e2c2d460a1b6a3e40e489a35b387fba1582ee6178afd4030cd903f3c5a7a3ddbd55a4c0c783df1d6f1ed51f5f4a17b81505bf6ce0fc14e703912639bc66697c372c6d05397d47407c9a4138b92dab77bf76e2abf6eacc455b0345dcbc96b9e6efd8161c70021b8590c67716ce867bfdb9b5d7e97dddeb5d29950350846bacc54c59b59b21eaf156647d723fcb3022590ad90a2c08f4efbf2c13ff0309cccb94e629acd38e44fd939e0f3e234017aba3094a6066b5a14ae787f7ae630219ffff03e156e5e4593d0e8e6a13b4397b90b01eb96969a71d91183db55f1d67df4b639303e568845e2aabb9efcb3a725d365e9bf8496c1b7c7c3f512e373bd83ec37e03d703f9289a006e1a10f65f24dbaab94b213aff47b73556d293f8982349d3d87696540392eccdd11bc53f0933d74b42bf263b9aac075a45585119d991891cf799d8c6b0038f54cbb9691d2ac4fbd3bb8eb6fd642e29ad3b3241086fe7fcc03062daf97e43033af924c1ee8ecd5cdffce047a6b3f62e3d554578fca6511363ed9e3dcd849bb60354facbd670d21ef53d33e9d54390359b18e62eaea9acd9a1fc0e8ca8eb9a852a034e386fb94042b6a0f19adcecaeca3db0262bce1598cbf28e5652d84f69bca44f03dbdb225291ba49b4293bf88daf3cd194c05b035420352e463472569d937b8628032100c4fb04cedaf623bd1709732dd8a841cdb27e207b558220cc9d68c6d0924003cd42741db7fd087353e7f52619480029b71c2e2f432db7d05b12e3b1b0db0568032dd9e8a34131fd9a2c8d4bf17a0b285c00cb2af4622c823c9a88bb38f410bccf037916d49f7f3e99bbd1bdf89d80b23ef1d4a668a1eccc12548ebd0af02c1fcdd600581f0392d886e68a3f4d2b074ea308c06bd69a313d51c1f2017e85605d1d8bf8904b03ef20d2b7f709a3190a6800581f03dfee15a73d0b0197546332ca6fe0468c32209000b42c749ec69f7b6638f0484083b3e407f102020219801003f6e50c4c94668aa164c6ec28789c9e74375f468a424a79f51895e15f79c004a600581f023a9f02df4138b2d0b1cc9fab9a35ce70d8ad3caf26121a738980285232e54a08954dd3cd294dd2e96800581f0226259c97b156e22c4fe7844e0ddf6842dbd07fd5b9bc9af8a9ca0bd9474f471b49862779609d0218aa0318bd8da7ff4f00986cde83d8871d481c3af8db50fffd27336c082597975e0139031cd7d0e2ebf5f314c86f3f26863a983801496d1440c87b8a2c6e68c95ce2bb33005820032ee7a001d2e6e7ebaee55909a5db6d8b8cc2228e6ed1cc13e6870b675b6c004464dab3030375cfa53f597005dcf4af37b0a7618e947b88544c2021ae54828580375b238be70219ffff035b8692374166f757fc5a7181492feb4972abfb755b534272d4a3f60bd165deb803b7995ab708b8acc6ad153d3ccfdeed72383bdaf301fb3b83a88bee0aff1fddd503fed13567c0eb81e19c303114ecb401ffafbccf71a462dce837cf605b52a60f2403b645c17157fd95bce8ae64e933714c18076450f3e5d2b082c9a2c9feb31b3756033b469d132cff326350b7ebe6f3419a2a515f85ceed6b11cd17e7b1895c2fbd43037b1b05318243621662c912519417399eee99849517fd187183227ee5bfc178e10219ffff0377e4c0ec4cdb2667af82737be0e0326337b27463632b8adcb84e56886be9eb7003f51a0b3499eb6ad591c82132cf366dda8c674213d5dab7503e9d248da7188db7030c56969422a15d67f19e26778149f56585a126d6ed8df54c6e6627ac23c2d791032ea02d3041b9cf17c4e3d9848a7166b2c040c6d3b3f1d0186510af6937b3affe0361d4751d370e5fcfad636d12c8c2047ee1c0707886d95f77516a323225d33a1e03139dba3a47aa19d4462de75a793d2e718d9a59167690fc878f9f248d2398c6790394a2f03b2c4c19d698f7d21f9c79452b10f99f8cddbe5a3d5542e5574d4aa802038f8497efadc1fa1b978d7f5af5fa74d5d5c5a0999847e5e60bea48ede451d6910380431170857ab2176e5c81173615708672afdda334f066b9879cd64d58171625036a88b58a01eb48a4af2dd9dc371ab8f868f8e80e8d47d2c3f15d8dcb3b7eb4c00334fa30a6f91f3f5e8c54887982a468357373c9a2cab8a494534765630105cdb903bd2dbc497a16b6a4578675d131db38ba5812de432da2fce01672011375b24265035387606b3a24afdfca63726e46a945a720dff22f27a85aa68bb4063512d276f9032fb02f2f17806a02267c11b779606bef7b692684358ed88f10be6ebe849864020395349fe7565c2732ee73dbf6fc76aa9a97f4a7514ad419a7f89df2aad40646e3034971a97cf11d64502c1e26993a5900c3f0f86f4271354fa2d6faf25886ff093a03004cbfb178ea3fd1c942a1956f547d3294f03b4a6edb75d786527d0f1e68fb1203ec5cc4ada2f6b23d09182a43c800594537f3aa3d278dc199fc2f3db0d3ea7dd9038f105544901a9120f14f7adfc78c4e41c70628b0a1344783ec31e040f72097ff033a979a41f8d2322c7119a5367fb611078d35f2ee85584d85184695c36e7b3f7b00581f023937f4d2bbc3ed439e82fd9a936abc39f65331301f1e40df6f08ce4d9d4f446837a38000581f0223028699b1a1bcd0a46813ca8e2a6b6b9fb892d9cdba26470c48259f3b8c44668f20800219012003b625d349e42052602b77ea7304efb25eefebf42f0918642e6e8c1331ee95a4c003073ecbb4554e24414d2256339c0e68166715f9b4b743ec694fe5f89e7d667cc803e185dbd8597cb25a733876b523d9982d7d1b8349d8d5b3b23fd8f6054833fd1f03e6d6c2cff57a43a5a18eccbbf8d3afb3bd5954e2d0b55f981427c78f0e8a201c033654bfb0ab24a10cd93c0c7a90b5338640495cd139b680bb96d5ac13174199e80379cd7fa8596a0e9322fd2f064c13672c24ddee25bc1a73790a85fac4938c83240219ffff03ee6d8f9d07133a1b2d108372645a1e9c7ba66cf87b745ea38f9f7260d6c2568903e10d5c0e7153cd6a810534b93941940a357669a7acbc7a81abbe7ce8ffcfcb3a03f0e593301524e2bfc15c92d5574eb68e59de99396fe7cbb8e27db73cee76ef87031870a5f52ae97da5e5c348d8906667644d747a096ff8697863f7b96d1f2faa9e039672e1e4ec96110bf57db0e18b44c471ddf3543ddfbd28aab45297f389bce3450219ffff0219ffff05581e03ee639d6734049c0ad734f298f5af82e93783021955f9d4937ea354b0f0070119232905581e0398b4aebf904030bb412434497c3e5de305b2727da7fe14dd16d255bb400c014703d64bc50fb5a70219eabf03af183f3cda5e327f2bd72fc5027e810f49b5b15e212fe4c4b1c54081413d9e3c032dcd7062d18044cc1dee58249e2a4ccff8766b83d17445b8f7b28c2cb44aac86031ef96d1e831dd45481391e496db1885ab9823a7c6ea2e62d14d0af70eadb5a6d0300fac903c30f60bee70655a80277d2bd18d09940f2ea4c7e362229d55bb5dd4f03f3baa4ac2104cd2e99bbcb34c3a90a84842ac63c679087744e923394e21dd4f60378e5306d56218e7aebae0279f019c5497894b88c4c3f91d59e4c5fc4f540727d0219ffff031b02675048a0bf8e31d6f070cbfabf23734f80dcb149e8c62c97f1e16fdd19d30306ba79fe31bc6eb7397ecacfcef31c34a35acfe154bfebca6e3346a35c61eb1c036e200ddc44a4fe8dfe0f011e46aa0ae74a0ef1e1aff22ff823d86f33d52e4eca039195fc1fbeee1ea4e64c0241eebb2696ec802f73679561ae6780d796695ad2490325b1a71a29438397054f3f03bb1e2f5fe3b718f6c51c8236ea98ddfbaa6177b9034a82e4c465fe843e663f23bee25914dcacfa2e0d6e26b067df9d36bb62d84f7603177bc9b4622e65e8312ad3e2d87322547abb0e04ad2d17a5dc3d9b60f44cadbc0324e39fe13551c9ae9eb03920bb45e0467627ddff0a1c48d6820cfcb635237a480345d5045d0e0c50e995fa8463be864cf698ed2b4db3d3daf40e827a11abb7cd4f03249b9a1e204b13c6a99e46c69e199e004af818b29f94c79ff12734f1f654afda035d0ecaff98468cf0eb67c2ae419530733d1203743411cb86b9590e782b29b83c0349f74c1a2bd41d08928a6f33b6f4d575f4a895dd030315261c9cd5041cca0a44037ff02d275af0369640fe92fd19debc24d31abd3e54c0c55dc668edd0b78a8d110317e463e1a17a2e71b4b27bb2e6fea36a216d8cc4cfae35843f818726de6881080219ffff03d4b0265eadfaa1d82fefaa3e313bfa5c448cf7511742bd82dd924a64cc1fb1ce032d22ad3eac3930b0eb428c03ad86673aae2b011c156e0f2e2f58999c85452c11031ee039c67e952a8a576131e37bfee4f0237672029f01d66e8e35c03e4bbf892c033f2c834429113d4f4a37422a41e67b23683baf55e8fb9a1eee7d9edb32c0df2b0344da82bd4a46f3908d7c8d1fe03452a6a4ae6cd7dc1adb57da7c6259153df1340359fb79cffe7484a28ac2e78604b772e031168913260e98a453d11abce108ebea0303d97c5e446c930684964abc00d534c8817020ea6fd108ce2f258ebb7c28403403d2eb73bf6b681a1f9fc467c20e7cc130d47af00c982015212649be4e5c66447f031cd4ea5cae9c56241c256c7a640af9415ec37c3bd85b2067f9f9b10a6cadbedb034b5fcbee9713ed67ea59375d34cbac6f62a0abeca346097dfe81e7b94d14093a03cebf80195059e2737bdefe865c23ea1e426aa645068aa1fd909cf1b52fb0699b03b063a9e06eb64fab42112b7d2cb8bf5d865b4f4b9cbf167f81179c8b4643e87303485324438c4c9a3206113ca10f3f29fb0d5ecf9e22a990e3e353c82820b376d1030921ab0a9af4c59d54d394d85cc66d8e8abf4baa8032b8e78f6cbf85243262e903725b42efd09722b2eedb8ac29d9a70a497f4961109727d6b8fee4deca86f1fb303b9d3ee1a82e44005dd3d6ff092ca964c2d35341c7200afcf6d692eb42f204eaa0310aa3ddf46b72a091cce1a78519f63b5463486ab52ff0e49b7bb0b28376a73db037e4f4357979fda7ba6820b7c15b0f8cad5a916f8410a758bf59eb62d84f24eb60369ad5b264ce2aef671f8b613504c550bb1dc7766376bfdc9a9bef38aacfe6ab0031f82a66570415f16ca3b11eb7084796c7107051ada027c54f5aca56227cee5b6039ea4dfde78d745ede5d41060acd1cfd70463a8306d185a0bf95987defd92154303ebc5a8260242afcae1fd6fd765034d7cbe04a35b8d135c823d5dd63bcc5d735203d618c2d53ee3bc6ace104140811afc2044dcb05aa79f4c9986609d937dcc2ea10386f5f0e70d1288a794868250b8e66d0f4bb4f1662c82149cd4f4e08513a1816605581e039e553f7cc4d420ec621e1964a6aaf6b2405a40de1c77d2400e0a36464008476269a623937c000380311deba9a5b775b883411ffd6c3f935de12a14cb3a57d69695483af0a4d02603337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba0380d63d4b726bd5433c528dc7201a83044c068981afe5e3f0bc82273853b6f57805581e036a3a4ec3ae888e18e3d773be78ba624993b0f8f615c3456cc2a7bcc1a007011bffffffffffffffff035ce3818465215bcead011339f747716a794965253d25ad63ee74143b1b47a36e05581e03a23e6304d1e8efb7a278e0531beffd809b55d17d4dbf263fbaba50d2f0040305581e03e8e436a9b81ba89c66ffd6a575a8f52fd0aa114f5ceca00cc1e46774a00c1548013f12a0efec300005581e036aab08796a6b6da74deedd8020e9bfbd30161503f40051cdf2fcd15ed00c19029947013406abaca4d303e3f80bc56dfa9d681109efedbd225d1564a6bb608ddd5738cd91b89c8ea6021e05581e039cf71bf66194807c3f6faf6bfd6dd615ab98750b0d92e08f394dba84100c094709aec44a8e528b035aa245fd7fb550ae5254598b7ccb02d7a0e87167ccaf2b53b15ff60fff38f77d021937d5039a544450832a6172f6a2c2cfd9ce3f80753bb8470ba6cf6dbfe16de0eb6097710376249d68cb2f092451e505abc6704b68ac1ca26212921ea9df7bed24bf96f0d4031271deff9e65f72711f2dccdfd472e23c96128947e7a04a049e05eea9f5d9950035b5c1a357672dd646738546795ee631f9a95b748bae49f6538e55b34b5321f9603a0acc9f8a3a5fce74d3fc14d1527665639d3102ea8e729b67aaa33b005b6402f03a0ecbb8e5c37c4ae3d1426ac0d6551ba96c3c34aafc730d9c639c3df78be3dbd030ccc82d98cac8c9ce0f25075786eeb0ac3af3518934b51d7b32d177af279acc003b3ef89d9fac26b54a8529438f20fc9b43010be9b032708000f7d26004e17b011033a12747a7efcb480e61b8eed524f4eb6dd21b90d5c710611639592f94dd196e30396b54ee270a1a08bf25d0849d9a03082d9eba160ca883bf823405ffb5949fadf03355531a241b6829e7164ab046cef1661a657043aaaf8e4131d3123e098b703290219ffff0335a00c98e56080f0f6f54da846deffe0be61bc34f1d608e56f451600a9b34bb70219ffff03a55d809933bd831e57d64cf3e5a3fda4229b40cd3025e8c1e8a6c98f254e964f03f27f6f8e96b7edda9e71e0737ea285018a146b7f1a7b5a613055ede565d164de0219ffff039c5d8a84d8dff90d494dc519f32daab7ea67aa08caefe45d82f60d233b36a1d003f821cd16a257243313e46ec03c9ae47314f824d4a1545bb38605992184f13ed703b710a30037f98aeaf2a6d779ba27f9528644b2ad9cc3718ca2bbaec7a291d8ac0323064de6c95d441e9d16bc079cca9b205720efa22f437d2c9c73f9f2772f719d03a5b9e2ba5f1492385485b33e4c0ffe68b7ea2bbe5e50bbcd04c5b3bdee397ad50219ffff03ed37ee678b02ce67e545b899d0575cffacfaf5bac50d08ec85ad0380007b0ac6038939bae0c6096047f393e6de0a7622f790caef8063f2b4258d359a7a5be13bef03ca36324f5f007f45dfeb55376c93f077c5961c1571f748c9b43b729fd18013de039bb53756908d97a8a28ed128eb8c1240b2c81306d8537c0ed492988e7f345b4e03ee8281f34c95cf7a7dbe6f13416f44a5c08fba8a22e9c4ac57cb06d9adb7230503ca0022a6bfad8c0c2c7a4357e62148fc6a9dd2790053fdcb52da1cb4dece9e3503e4519dc49ce2be604a90059f5839ba68a89f64d5426296b6cc4cf8743d4b5edc03b18f3342089ff49037feb522535707138651221bd9c3be2cdd67ec6223af6f4e03b5819d2967660de575b4aec411be5ed9f04595ec366d37fe8fd33849e5bc95ca03841cb3c97290f54f958da007c72458805a4c587e1a58a1e65a798e7cf4f5906403e4a83a6bcbf9217de66445f9a9234e6294c4f681e78d6067aa7e9c5034212cee03f6ce9f6df0c5ffcfb554cc9fcfc38e9fa0217e6fd16e5ba2051ec9160401c0d903fba890b10d7b1f0dc49e289add4e30ac6b59ba97c65c3508a9e25613108920ba036ad565425a1e8bda3cb18c5e28644677ca664190036758abda757c823bd2b79303831c8e6e962dc512be40b697d175181b0d7387fd29d4eee1c4dbdf58383a0c4103ce328362de9d4d008f38caa6cb74d7431ab4d7e75d42690ae25660bcd07eed7f03fcdbb25c78b499d8133b110057dde7bf555930a56a49b39e8392555c70643c1203b4e8afc4c13185277ee3f8dc651ed1d4ff9b126d741df222f4a84f5e92fb9697036881b9e29ac2b42105af6d3864b4ccd24a5648a2afb9e213e993cf4df915ca6a03f80888a0dd1108bd1da6bdc70dd688acfe5b0a10decfe7dd3087f49845fe40d103c617dc75f2c0fe7ff4e46ec0a351c44dd619a94baa23fbbd2f15006eb236880d03aac9eb1c7bdd363a02d560bdfa7ffbfc4b692c3e2f9360a364dedabac9508c5f03ecc410fe65cf60be6a82eb72f291f556a6e7f26f8d79f3fe92644aa562b1fda4032f6b87295c9204bd002d3611697ee6b1143bb81e7f076c6352016ae5940cf99603555bc64c7cfff4365504d9c4f2097d430ec02b1fa4b03b33013ceee48e232d3c05581e038034b362de0e898a05c48f4f9a4144ac9b0dba4891c54b26044d1df7c00c0247012225dd61820005581e030d1e3ad9dc95369d7d2040c69502355641a5a93393c576ddfba4ef7280040a035f6a51db45e211171d2f9e0b1ffbfd360f2eec69939b4176f03b546a04b733a7014109038b7c076f047b9a003d4d67e849c645d463b6dccb3e57b39fd6a3c0eda19d041b05581e03ef74fd211b7c504a5760803af9ba281facaded23ca8919d3e9ad5a3970040805581e0364724bf033dea10b63542103911eab9a770332aed50919a346b0feddd00c014609c3cdf5319805581d022109001bbed2e764142c8abf5a51511396c77645a215e089732eb7640c014654e036a6d75405581d025de82a5b24ac494962130ccbcaf740619835c815f264a47b5a0223f70402045908b360806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122012bb4f564f73959a03513dc74fc3c6e40e8386e6f02c16b78d6db00ce0aa16af64736f6c63430008090033030578cd6c40db4b44252ae95d384dc56051454b31b2b0f699458a4f82ced7430503c6618db03bcb14a68735654640b1ef5b81b6618fd0592ff85edbaf57e9c34eec03fa3df0147cdbbe8ebf7bce29eb1227ef8640665a258f5e720ec65d0d7987cfb300582002383b983d5cae3ed089ede12c8defa199d6c0e5128099d5abcdfff91f6e8fe84e0200000000000000000000000000005820024a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff94101005820021fbf05d413ea90a1da917dc865ed63f1f9612875cc54744f4c746f0b44dfb54404ff821e0058200293909fe34c1949a185f07c3349d2d833bc1e8898f21c025e889b005570c6905708000000000000000000000000000000000000000000000058200255f2a359c255e6d51e7c7bc25030de4d391c7298420fc367fa65ac506654ed4407518fcf02191528034c6321160421ee2bfb992070a61c0d468e8c7bb082a9e93514baf52b1f0083ad00582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48154fa24b9f8de8005c21fab37bda02c4989ebb7008900582002016bd989a9b588398e8eb4d569bcfd3116f0e5da0ed7af1b820c978ccf9da6414003de40ff46c8c3f9ddbc2af8a8c9c45290a1a68981291ed2822758f8f9d38e256a0219020c00582002c42b3594d217260c757d44d3d290fd7dafff54c37b3b1eada0745d7ee95ead5818020000000000000000000000000000000000000000000000005820025fb3134ad82c3b8022bc5464edd0bcc9424ef672b52245dcb6ab2374327ce354634b69cc4168cfc1c366078fdeb874affbb478b5021902040058200235821348adeb688eb855adc32db6d63b5d1aebb653b8f595c938806c9591785504000000000000000000000000000000000000000000582002a53097950813c3d466c692160037ffd557b95743e4970eeb2e07602a8ef749440f4c3cb700582002a7a3b83cafce981856b815cb673fb88b8ca131ed29e2831838a02b727e238d443835617e00582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54dfeb3460771148799b2d4344c369e2b2d6c26c420058200222ef1e37a19954cae9707c039ff1bafd191e7fe4a76a4d61b674c96f749ec55818040000000000000000000000000000000000000000000000005820022b2e7c9773e69dfb11872ebeb9dba3007260faea50492571ec3355e362ba6f4407c855d5021911270391e3a1233177be3c094cee3ff3b1bfdfbd7450b58d803dde7aaa4a8ad3caae1103e6ee3508921c2eaf1d365fff0685a60707396590cb0938dd0942c5ff5599ec13032f7f1e008631b254e8617aa01f83e92442cb28e1529623ca3001a3ec6559973f03d65f8320cd171e2a081c95940a8640ccc2050fd8adbb6582e40274810f3e2ddb03bda7c53501611cc764b16f86a0334bedb4d9c0a07bbfa0f31964f88714ca838803774560f0daea18584f8037a81e346ab0cbadd956fed8dd25f9b324f725ecc0a603f42e9c072066c30ca8c5ec855664f372c9f99bc7144608972ebac33aa8b6dd9703e997cf9faae3edd89b588cea8c374d4accaac21ac5d022527949241355132a940219ffff05581d02fcd5badce0add0fddff1fd681ca684b16d7ece828aafa86eb205602707011908b30219908005581e0378232b00ace042120098dcb8791fd0aa1907c869b36578c9845ddaa5600401036a59b73d798740dbcaa8b6c2cc22d590956ad21aa11c92e62b0d1491fe936ed101410103727e42c5d7d0ca33d9967159c97b47fbe9d7ad98b553f5ae67fddd3803bbdba70219f8fa03e2d3b629d04c73bb223afc52c3b7ec2a168adefa107d7d8d68a51aaafdcefa3903f77ff986d5563bf56fc3944e442b361fd5b3d116038c3368d99406a8947fc0060351d85ecd410e97acc88fd57cace0ce52f9d3849157a6326698ed55dc94c1cdfa03705aad9d6b17543b0bc4ea76e7b0b80cb0f5a7e9960febd6b0a798be0367b49f03b399032fa850974d7495f5a5beaf1813fbc7f9e6d08ff4bc94d5236474eb70d503720f980ddfaffc9496358b7f6a9a02487a90261d16eb4f2baea04c22a4d34ed50219ffff03550943ac38979efe70b3e236a3a1bb9a1caea089e216a8682d578fe3e489c99a03b1fd0ab19f3dd94b013cdda75c6f26ea512975f8a577a49fca5b2923a1bab7a703c533ea2dfe579ebce8d6a6ae6fb439f19a37868a2dd9d0c13e161d96f8966267030070438318862692bee7373e0a877ca85cf927bf050e40e4c2fa5c5df7c17e970356aa9778ad6aeb537619fd31f99df7ff67f8ebb52f20d4baa7930f1272255e240219ffff03533c2552226f4ec02d54f86ef594f09e44db715b1c6e401cf7c28e2a555258d003152b7cd85c8e85ad96f7cdc563be010ed0a5e22a66dc22c9e8119da47aee15630377fed746645eb06446b85f55b51cc7e0849af2322051099c5f70646b6721a0ea031b8c8ba2633f7b99640f04d4421981d1445ba9aef173a367c55557c4862ef11503697957cd9e1d25d7ce5d1e4464ff457c2dbecab3357d29f3a0cb782ea257a1ab0334fa1c8340ca573fb82b99310aad50f54ae4a21beba3aab90762a49c4e01ccd6034a0c2594ebc5976bd2ca59568e9a50717558518e771db6ce01e4a17255b2fdc703e77643709f2df5bd0754dfbdaad133cb130f4264973979480d754510c635f24a036a6d0c2ab5dc3427342174569eec6e4823fdb7c13fb12ab0677b615aff82e3a0034b75356392eb784916996384efc058008361ae05be9aa31fb8be32f75bf7169003a25d59202e937b1a72c40585939de862450b909fd6ee6c225e32bc8c478833b303ffab28d0282944e25f6074aee0ee74307701cde07672942f29da82392c40875003b11d8e74037dc5162ebe5c747eb25b10ba82f6a172576e061dab09d0cc0d859e03d7ac1af811976ad201b632ed4f97288be82f0a89360ff334c48a55b4a58355d80391cf0a5e76e5e8844e64010e2c41eac82302b9cf18756f55b616ed427ffd7d200219ffff036212d9b1630b362f47211a75ff5fa986b1679661d5829dcf720ba8599965afa403ebfa996f593af7dde42216aa6acaac16eb4f463f34e27c60c8a4d4e56712283803f3d815257e1262518843473a90f35fa492b191a19e2d631ef10d0cb761af477d032ad715a9cc8a96a0e24424a1a189002a3965fc852880eb2f902a70cbf1b95f96039dbc0d0b7438235c8e71afa9ef37b4d828175205fbd66fb34ac59d1995a89919032341b25a50f59c51ebdf034a177060b0b38dedfc506062d9974542fe7317145e03793a4529b9e48cfbbbc1db2e4b75a55257a2dd57c32cdd0ff5055003881ec193035565ca40ac16aa999101a8f032432465675d6aa45d95d1ee0039c1886ff54ee903ad441e7ac8e74eacee199982167ab5c0e644d9c64f8e13e52fde34b4fea6563d03992a27168a4809126e63789548e126126c519a770715dbafbd2d23a258611bff03d186afa71dfac79c406d386e1c60a5ffbfd3a10547c3fe34a8ab6a56944e1283036aed1a873bf657678e4c8b20e3ae34097f896ba15a8f4ebba302a3fc21b2a5f10347a73f9adef848a03d01427a5b0f5f408cd88a8a07818201b203eaf4a74df61803a2cc4cc691b912fa98af09fa780d762c35a0d1554105f82aada2e7127da27b57038989fa798ec0a408eb8ed9733c8e095580566b1827b21c7a1b517f2a3c5fe48903aae8210bc24302bc7f69223d77ea7c5edd0a1f000bca1fca17de00d461e6b825033979b5e2ece69f7b8937af4aea76f445e1dfb91a5dd900c919cd6bb2d7660cb303a098d2a9dd0a71cbb9c37210972f4a5e860450d03eb133ee03c6e1ebf5e42df20391fc72343034b359dc9efa437a3a778dafa0a131039165179ea1b72a3628f80f03623d8ca0c14413794998774185cf2ad38472d182d342d8d45e203c59475b53a503b68d6f8e0a56c9183c97daae57f51417a44a68e98a640e78086aa65bf2f1c1e5039a6effebca318c76b94b222ce65a169f920ab9372cfe31b06b5ee1c68ca91b3103888ac8f79f8ff2d92c25822272b9479481d7b78a00ba334aa1954a102d568152033aa6d504fc37321704a647335dc1c9b97a69a975acf5d2c547f7a30d2f51fbd205581e0326d78351ae3d0f9dd3b785e1f681f48c9725693f2047183f5f8d2af8600c03461319718a500005581e03e9fa33edab91c569abb2ed46f1faf07d168e1c45527912a3eba1ac3c10040105581d0280374e819c1955c46fe70abc73b8aef39bbd3010997e98bd0a951481040205581d0259ac5fb88bdc512b5e18280f52ffee1c9d657567b618f5eeeb9aa9c80c184f480c02c66b515ec11a0338665606aab6c07980c3dec894f0bb46f17af596ac4c7b95675d083f0983fcea039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581d025932fcd34a1b8a56826013888595446c1e04b2b427779ee9bd9bcb2907011bffffffffffffffff039faf1103c8730d1d7d7c49243698b2cc948e9e92b2ca7be0f8cbd1e4530abdc30605581d020c830bd104584f6fd408158852dc2114a77078c2795b5cc0aed3c88707011bffffffffffffffff0219120c03c76a1be9b4e5d81c14eccbc39a730d3f71ee826c90d08f03992713cf52b444370390884d713abcbeb10d69ed70b6f299bf751a9a0cd5ab628cac0fa901f6c7c1e5033da34a20a17791c6cc994231b645176d29a4c60f782af6a7202d0fe2bd7d38a005581e0370afa2e2b82bf484b6d6268a32f181bde71e7ab3b9cf066f604e5466300847200e92f02d3cbc0397a6900579d121c5b9e98f4c9140c88598749937cbfbdcae9f43b74223634c2503b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b00003cbb8a6d5e85306d627a4257281e1af8d216a7ca18d84b714c57285fbcc71d45305581e039270cb1b914e23b22e1c79d588180164cf35313ab80ec9b8e45bb25a700f0147038d7ea4c67ffb1bffffffffffffffff031e4366082444073b4bea23568c108c4288f2293bf126f5cd6359c41ec52fc7fe03784c62f8e6820848eaec669ba628d822a254040ef8135cb332810cf4aaacfb2205581e030b33e675d098b8cf6c5f9868db643a8c8d4f2d0f3874cba5df4021a1a00f01472386f26fc100001bffffffffffffffff05581e0352b121ddf6670b3fe3bc85e162bd18156b5a8b865e9118c20f00e83b300c0147074e57a62afc530219c7eb03392b6f80ed3ce3739fa41959255c6478b4a9e5cf3a9b783de0852f30f38fe00703046a12a912a709819d691a3fc1b90e84805d258da129ae9fbe147cb14df02d5203b7ae59cffa43004a8f66e59fdbd1510f6ce483a791de40abd0bff584d34828b1031b0ed365cae46e6828ab07f5f5ce55279c037daca64a7ac301c4aba94a8d268b03082cf9f15204672f03f8e57f47f9fcd6ffa7c931822f9c0dd416a74d9528c637036a338fc70cde255573f8b7b67a213683b77ea5a96f397a66f6e454710f3860ee039edd66fb05596185a53cfbee9593c4c669cd066f957cefc3fec726d353e426ed0304f7c3ad0d228efba9e49226f420bc6bfea04b4948975cc194c13c588bbb56520219ffff033cec4d875b77ac1be8f0339542aafc4bea45c08de3e741efaf5d1362c61f47a903b74f953c7b300aecf2d4ab969e0d00a9dff477b7b90c38629084024e6a16c8440316debff1dc9420e660b9b3ab67c1e18d885370349b59d100f3b00ce682549a960219ffff03ab95d9921dcb168e5024f219d160fccf04c8e18f075ca9754a80ec31d089117603bd0334381b94537a34fc9452a99621d2cb86a43deb260355da0c4f5eae20f58f03731d326ba7f8920c515281251c4154a98fa83133a0bcb875504d1811d144672603ab71bce2e470fb29f6af8f7f70fc0521dab05b58c67ff8c41e8af50a88464b5b03e8d2644161971097e9893c3c1b8c7863a5926a303193e0568bdbe2bb11d7565603293150b40350cc6f387ab2aef7ca0379f8487a77235ed391e19e5b00e72a422d032873fa73cee04d44eb089cd18b9502da0db7368ff08567761e2d6256e1d2016b034c52dac58c291691a1b0c20a5f9597e45dd772eda6fdf2af8df1edd49844ee7003a480deee8b9ecb0eb8056db009206abe98073507413175551e4925bbe9ce803203c6ed602fc68fddceacbec43f9f53e541bdc1b0433ab3a4e7e6b654354fbacc82030b90157b5493176a960309baaed0a909fb94a546260f58d9af495a98f5a5c2dc0219ffff03a73d4609d856c02a0af244b6f81aaea17bd22ea948e6debcb2b2056f08e15ff70362d45506f7726018e2a3a6203f7b1b23d6f06b0ed1ebdb03fc219265b02a65f9033249524c72b1617ec9b27d250eaf6a2a8f57022376133519ac71da942f50aac303b15112d08440c59fb11a6fa91db87d665b7504d75d05407513999c533ff75fa6031eb66b33db6ee24e775a65cc9118cbcf5524957c954a886df573ccad622ec082037d396deebfdb8c42847dc3e8810ce6fbbf279c7f3d1287d27e132fe7bafc5e1f039efa88943b57e11acc4acb6b6c9f1e5c80d0340584388dc383263cf6b3b7c781034c3a6806fb1b18df3dcbbb662d063eaef07b4c31ff04aab54d3555c1374ff99303fdfa7e044643f11b2a505e776609ea03b65ee8a8139a31dc0175c56e5111d54a03cbbea6f166962cc9de2556f3b0913d01f22007c70d3d835dd7d54f075087559003175cb062c4a87e24349c31db8078e01275f7672c7b7f739e3cb05c4f78624036033723fa7361fd5c4b63e55d20bb6a5ae9550e25153e1a0d47745b664c68c6513903337c325de712afa26a647f114e0508c27de997a11c46f62ebdf18ea30641d3f3039d05845a8c913fc127b8657d953795e43d822e9ca39c0130a85a54b07fcfd9f803b52ef996e745a9ff24b643f8cb85f260341b66bcb5c5feec83ca6de0a48f99ae03a1392379ef4fe2075245d26394480a5c63ac744a67e2f90f0a9320e51383d74e03f4330c1c5bb5f7d2ac09993e6e039d77285fac647e73405e88c6417a7e0e163a0329916653b33f5a6510dc0532dbca3b1dcbf17b053a51a64d9bbd0d25176b9f0503f32960f5ca6409d28455da63c0e9bd7c61c4e97d29ca30ab9a42e11a7c0c03f20383a91747d6825b40c3fb3e52cdd863eb91eb9c5f6263a7c0bc798af9f72ab298036817b8fee9a6c6a2a034f0d290c6f56a1ff308006d87dc03371a13958adbecda038f728df79e398c039cd2ad20ee55aaed210a03d776366d300111af582248836c03b63cdbf228a05b5d09c0f315675b721390eccd11f103111cb332a278e79db8380385a4c8c058e8ed466304de71b9e270401391a93af2821d208d73f2d6570027c9036b79a03f2a794c5c73b2f98f3afc20f518411a43f52204f11d5c199419316bcb03a990ed0126d1586c5910555cdf1520720f1c8158ceac1267165f3ebb95ef10b803cae9d00943a70ad3c777766f00a70a9b77e0ea9fba4613a505efa3dc14dd48c30338e54879f7bfcee6dcd6fb3a7e0d3d6b5b4b4f6f25511702dd1cd4aa84912805030884b66996ba1179d4ee1fd1eb1feaf5888714c67e3e51dc496c6d3410c6caa003fcda9b0e838507bb3ca40b951df2731afcfe1f92e8647876afc2732bd64b178e037b26fc69d8613f452f285be426e5f500d6c59f42975220e4a9a9a28a8a2630e1033e03331f405f73537283363c2b87024902c0d4ba0dceb2aeffffac0a6e67d899030426a377f2d750f3c73270e3da30ddbcd1e87c4a1bd834baf78d7ec257e4bfb205581e035f7557c32cad28607d4edf1c0db5b11d39659f749a6404921d201aa1700401032313d7550e6f1d97033634b8092adecc58d01965e571fa75c9df8a430b4ed56f03fca7d57fec62bc23ebbe0e93da7e9db3b7b2e78013bffa918b8beb48854a4a9d05581e03704cfabcb15c10c19dab23f35a318ac205f11379da3de0ced94e14fbf00c0147460d22afd88e0003312c57627dd0baf0b9c9209146f52c6b8d5f84c07e187daf81121afcac9503dc05581e033c4ac1a51eb8ed21b3fbc3d600cc8e16108cf04e31b00dfa302a7257800c014701aacbab4572e805581e03914cb087f36e4a9683a4027748786edd68dbf94e8318e78e2a5cb7e5100c01470195a4cb9dc40003d47348b2acdf63054666e4ec4005d654a876996ca90f8f048189e430181bb55c05581e036619ca3a73af38947a75a111ea8f1848ecab9690d32eb159a0d18b5ff00c1898480384c0f026bba3f405581e036dfa8379384edfb76b0965bcf1ece11415ddfd976e1e3842052e1c78e00c01470384d5ad48832a03e985dc158972e36fc960decf615c5f9f8be9cdcb9e64bf4109135b7347e66c560219dcdf03db9cf31ceb2ca6851e947d293f76f204a212ac10801799a6fe65cbf81a074c8d030440efc751486f9aeadba4e13b2ab06dc3840474f5cbc3394a62b4a51385b0980369573eda6a296e277c0100cb9d57a5f1525030bb9c082b5433e1f0fce04434840219ffff030c4abccacae10f86cebf2c76c5e2a8a4a26eadf6364a161ecbb47415d955f375036d52ec6ab545686f461e3dd9ef90483bd2736d0554a09a523c745ca09e52e7bc0219ffff0333d13039a835190ef9ad0421f3c6beb024d96d5bd18e59e42c9ee13c63e12e28037af9555b47754307df654dfd004fe940e5fdfb2a7bdc50860eb41a4c01f81ca303d723f3e00728a8100b02cd9a351cf1bec85db50173d7aedeae729c6813a73153033992daa9e0bf4f255f1a2e2cf881c4d01d00e60eb385ac2eab0e9b1c13dd560003d5a72895bc83c3bc95fd16cb5231477bb92c43422cd8984f59e737edbcfd590f03bd9c143de45fa00f44a090d36edc7801996538eb5ca97528c2d4f969eae231400368904349d899e164e5d803a8af3f7e811c363df512e0f0ee1a8e3ce03db4514f0370b041a050a02b49bddb6912b7f0c6b5e755a6280c7d8a733cadb98ddd0090120219ffff030432377bcabddaae98323efe1720105b8e611c084d71a0d4b075d3c55842bc3e03206bf9bf3926ff3d85d655ac0e7c168d2b908d25076db59950842ea0b0995cf4032117a4eff252f0d1904e1e9f9a773aba552236df6419eac35ec5e72926814d70034dd5c88f7a30eb5591aec0fa723ef29b59158fb16473341d9dc5be1ce16bfd3b039eddbcc4e9deeda985c426c46d2031d0f1f2dc8f18c7f815deb2a12b8e0dab8503c79c8bfc332bc59b577165bd45166fdb0aea92ff0a2cc44db5ed7ffcae22dcbc03bf13ecb92cd8c8c9d3a1528f599bd26e8953abf686d928e96e4b3457c472e4d503e43d2812b4a099c1f677efd70ce68b6faab4353db1ad611e9946ff9cca7be8ea035584284df560c51e4cd613df1c5e04c9eea23b85e956ada6f55a36743fa5e54403dab181ce1236385f62a7f006fdf784ea9023d5583005dd8cd82852e18800968d03c30154b676e2e8f427828febb237ed5684a2d040aa14451a3a99376fa0644e5f03561e9fa3eb90c7fbeef221f005620ad9fd0b69a528511ff26c5902689a5cc6da031480d0e790cfa35b918a2d28542a49d0c5f6f91e4e4ee786ea17b5a204276e9203f84f3411e1c883283767e60e3b07d88760bc2bb59dac50893873be59389379ca05581e03b32679cead7e3b766a1fbc8699c0ca3b8228258ed998a204f75ff88480040205581e03fde6b86d22fbb600218e1ae8c8e85f0888bf0b1670560c0e4f0229c6900c01470452c57910780005581d02de8368e0ef9e7715983e7f38df726eb7147300776c85e8fa67c7eb660c034701049b6a09a69005581d02aa25738bb24eeaeffd0c4f76445c1c35c957f10e3e5e4c98230b41df040a05581d02dab2cafda3e1550a42b405934513acf9a7a95c425389b967f7d16f16040304590c7660806040526004361015610013575b600080fd5b6000803560e01c9081634ce34aa21461006657508063899e104c1461005d5780638df25d92146100545763c4e8fcb51461004c57600080fd5b61000e610362565b5061000e61027f565b5061000e6101ab565b346101465760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101465760043567ffffffffffffffff8111610142576100b5903690600401610149565b9133815280602052604081205415610116575b8281106100fa576040517f4ce34aa2000000000000000000000000000000000000000000000000000000008152602090f35b8061011061010b6001938686610532565b6105c4565b016100c8565b807f93daadf2000000000000000000000000000000000000000000000000000000006024925233600452fd5b5080fd5b80fd5b9181601f8401121561000e5782359167ffffffffffffffff831161000e5760208085019460c0850201011161000e57565b9181601f8401121561000e5782359167ffffffffffffffff831161000e576020808501948460051b01011161000e57565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5767ffffffffffffffff60043581811161000e576101fc903690600401610149565b9160243590811161000e5761021590369060040161017a565b919092600033815280602052604081205415610116575b8181106102685761023d8486610acb565b6040517f899e104c000000000000000000000000000000000000000000000000000000008152602090f35b8061027961010b6001938587610532565b0161022c565b503461000e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043567ffffffffffffffff811161000e576102cf90369060040161017a565b33600052600060205260406000205415610316576102ec91610acb565b60206040517f8df25d92000000000000000000000000000000000000000000000000000000008152f35b7f93daadf2000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81160361000e57565b503461000e5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261000e5760043561039e81610344565b6024359081151580830361000e5773ffffffffffffffffffffffffffffffffffffffff90817f00000000000000000000000000000000f9490004c11cef243f5400493c00ad631633036105085761041f6104188473ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5460ff1690565b1515146104b657816104a6846104767fae63067d43ac07563b7eb8db6595635fc77f1578a2a5ea06ba91b63e2afa37e29573ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b9060ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083541691151516179055565b60405193151584521691602090a2005b506040517f924e341e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9190911660048201529015156024820152604490fd5b60046040517f6d5769be000000000000000000000000000000000000000000000000000000008152fd5b91908110156105425760c0020190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6004111561057b57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b35600481101561000e5790565b356105c181610344565b90565b60016105cf826105aa565b6105d881610571565b0361061357806105ed602061061193016105b7565b906105fa604082016105b7565b60a0610608606084016105b7565b92013592610712565b565b600261061e826105aa565b61062781610571565b0361069657600160a08201350361066c5780610648602061061193016105b7565b90610655604082016105b7565b6080610663606084016105b7565b92013592610882565b60046040517fefcc00b1000000000000000000000000000000000000000000000000000000008152fd5b60036106a1826105aa565b6106aa81610571565b036106e857806106bf602061061193016105b7565b6106cb604083016105b7565b6106d7606084016105b7565b90608060a085013594013592610990565b60046040517f7932f1fc000000000000000000000000000000000000000000000000000000008152fd5b9092604051926000947f23b872dd00000000000000000000000000000000000000000000000000000000865280600452816024528260445260208660648180885af1803d15601f3d1160018a51141617163d151581161561077c575b505050505050604052606052565b80863b15151661076e579087959691156107bc57602486887f5f15d672000000000000000000000000000000000000000000000000000000008252600452fd5b156107f657506084947f98891923000000000000000000000000000000000000000000000000000000008552600452602452604452606452fd5b3d610835575b5060a4947ff486bc8700000000000000000000000000000000000000000000000000000000855260045260245260445281606452608452fd5b601f3d0160051c9060051c908060030291808211610869575b505060205a91011061086057856107fc565b833d81803e3d90fd5b8080600392028380020360091c9203020101868061084e565b9092813b1561096257604051926000947f23b872dd000000000000000000000000000000000000000000000000000000008652806004528160245282604452858060648180885af1156108db5750505050604052606052565b8593943d61091e575b5060a4947ff486bc870000000000000000000000000000000000000000000000000000000085526004526024526044526064526001608452fd5b601f3d0160051c9060051c908060030291808211610949575b505060205a91011061086057856108e4565b8080600392028380020360091c92030201018680610937565b507f5f15d6720000000000000000000000000000000000000000000000000000000060005260045260246000fd5b929093833b15610a9d57604051936080519160a0519360c051956000987ff242432a000000000000000000000000000000000000000000000000000000008a528060045281602452826044528360645260a06084528960a452898060c48180895af115610a0d57505050505060805260a05260c052604052606052565b89949550883d610a50575b5060a4957ff486bc87000000000000000000000000000000000000000000000000000000008652600452602452604452606452608452fd5b601f3d0160051c9060051c908060030291808211610a84575b505060205a910110610a7b5786610a18565b843d81803e3d90fd5b8080600392028380020360091c92030201018780610a69565b837f5f15d6720000000000000000000000000000000000000000000000000000000060005260045260246000fd5b90816020907f2eb2c2d600000000000000000000000000000000000000000000000000000000825260005b838110610b095750505050506080604052565b8435820194853590813b156109625760a09182880192833560059181831b948b60c08097608094818301868501351490606085013514169201013584141615610c165789019a890160243760061b9360e0850160a452610104850194600086526040019060c437600080858982865af115610b8a5750505050600101610af6565b869394503d610bcb575b507fafc445e20000000000000000000000000000000000000000000000000000000060005260045260645260849081510190526000fd5b84601f3d01821c911c90600381810292808311610bff575b505050835a910110610bf55784610b94565b3d6000803e3d6000fd5b8080028380020360091c9203020101858080610be3565b7feba2084c0000000000000000000000000000000000000000000000000000000060005260046000fdfea2646970667358221220c5c8d054d9d5df7c3530eab1c32506aad1fcb6772c1457f0da5443ad9e91b4a364736f6c634300080e0033030262d3cebd2ded7de828e8d11cb9855dd9cc4eae3ba67de6ed24146523b3bbf200582103fb397943459080c735477e5b22409232943ecb8231c3ab8e96c35d63ccaf456041010219110005581d02d6c0eccb3770dfa2bc20c3b100f0dee5532a92faea02fec37960e21f0701190c7602192c2005581e03f7cb0a43681faeedd73e90a98b10683cac28f30d5a16b7af8b775fd490040103bb311f7c471f50895a141da91bac8fac938465aa3954805e4dee8c14fe3cf4ee05581e03a51a7cc403726b26201fbecf520c2710115865faf80d3de3b027619e4004020316d8727ed5f3ddb30a3de2c3d9a39e2cabfae3f0f81dd6af6a9517aa212cb2a20219e4c8033d174cfa092dd3749f6f173a5a3888c3ba5db8ca1012c2a87bd2dd36561b25b903375ddf9a1a73be6093417d00ef96d8c26449c6d1257a1884ac9554dc5430757303e207719a0ca09994f32cfc38f8e6bad47a37c4efae4d73902b3db175aa1e1c7503129505914d4f6f64bcdd9f1e7a510482c06383b044c95aeaba6cfc8d0189623003d35fa099090d31161032aa40a5c4dd16202b4c4f971e93c3156db1e3b7bbd4cc03bf5d7f09abd68f608c48c90efc1fb365f1c9f06419fdd7ca1fc9789b3caba884034dd89f6498ed2171141b56fb9eae5cb13ce1ee1432b36c986958effecfb1a3b9036938cea6414f0c800f8773e38d17dff9ddc08c283667fce0652e8d30e76ad235033e423421bd27845355bde9d159fbd84ccf4b01caa73d874329230e7b977129f603e2a315fc174028393e35d4f680a0624ea701bf1dab59508c832a014a0b7d372f0379f2294c86686ea9f4984866c2a68841356bfd4276e86d7bda9633a046b9163503e33c7c97c1f0a83dc370172d68b412c45ea25d685d8e42bfaccc890db8118d6c031efc3f3713e518044023c9d9dfffa1f3b96e9776dd3bc75f5c4ce89fc74fdea70219ffff03f56654f223569ee8c5f10eeae7182a894820262e5324ae9b0dd5f2b9087a9ee0038d6a6eda0b2416a604fdd3fb174fe7dd7c5dd5a92ea29ded7f325af634c9f92d03026aecbfa71f414a74a9f3fe1bf470b2cf7645c93c3665a5e7e7d0fa3179d20a0391d8d421733e667ee5d1cde3bbedc9d3d2575a069d1985807879e030062bb0b103870b1bdb2bfa60f42bfd83368331b42f33f133105d050a58f0e269d4e0ce36da032ccda8edddf85f6aa58858ff2220aa259040cc452d796cbbe04fafbd6b2f704b0219ffff03694ba338526230fd9f305da31013fdbf15ddb99232f228f93c680aecd309cb9f03a00a8d18eea7d23a7a06693e84a8d7106ad659b90f296475ce62d3e631f8b5b60310465f9f713711c51eb61276f8f0302081ab8e4a4233cec57a9f8c0507aea73a034419170230047f1ece42c45871584512cab1105ef1e9bc80fe599f190f3c731003f81a824a80053550cd32dc3b7ecc86b4633fd4c90e7464a2cd8b284a335ad33903fb3e395ffa7da9f46df38b98af4fd5186cbe380608fe7e866406fb9d6bdab16e03779932e1711fbe5478a0fc6ca784c23ba75e1aaf9e7762afa525131c31a6ff76038b26f1101432999528d39e32ef44b04c16a165c3ab81eacc8f36d8278ca134cd037f880111f3efef858922ecf46bf3f4c2fc91c7386f55647f448d7f603e384f84037666a63a06d64ce6cb3f3a2217950236ae9a32261006a05afbf0dc50d722b147038dd4cf4c761bcf43a91e227dd3cb3fc39c1c5bd8a74a1fff4f6883e254df15fd032385195caa15a83fc1f8bb5316a572452e1f4cd16823e94e1bb1cf1466f4d6020219ffff03306c5bde3fe2d302c3d98d9fa273dba8419a0a8611d8168c7698730ed4a88bde03baa46887b1a61f3acf41321337f9bdb6b934b51e77a67dbe7d05427fef4b608003e8f57b1a4024d012496d36335f6d5635a80a06e521bd43e8a0ad97697491bacc039e6f00cf73f8dac4893794816637b8588226e80fe77bafaad48a26e3a529d21c038cd0b3a946d1000dec8d308f7728e02866634288cedbe1173d1b39b01f48257103555b09b7f3e084be54ba96285ace3f9c3837fb109ec54c1d9ad6f1e80419e22c03153e67120abaf9807bd87865335f3a3114882c2e49c6fe89667eeab8f8a297f503e3a1edc77921309f4680102a82b859a36214e8107f628087b909abf8e47eb3240349ce7c0bbcb21f2cad7948b9881a134373fdb9d7768e512a4763ac0ff53bf19703aea194706b3eb8b7a35012ace222c76ff58af4639e0a285cde229288d350772f033a72db8d506ee903a4a0a3969f1d960f9b4819b1abb40d82f84a2ff2e9f986930390471e3eb9a827bfef739593eb67b29faf1c962afcbef1f9a6f2da4b17d97ded036bbfc9f0984e86c0ad312591a74a3d06b9d081bd2073039e5ed86c76a4aea63203cafad6a7b54f771ab8085b468e2deee367cf8bca99168a7ae4b6935e27d5eb1903245e5b2df8c05e086798e7fd95cbb8cd0c57a8255dbfa7999437fe160afd20c7033fdca6996d8e2181e3a2c6329aa0420ba5f9fa0fc7116d74b7c2c40cbb1e8ab003896f65842b00cee587dfea7b31cab86f3435689a728215966591c2455a96deb90366720bb3edfe2e99b521a9cf76c6a75f00777ec1647bdfa77b694702de346c0a03dffd33d6cc5a1f9ba27162e39b5cdb1681a7d634de312d108d49f4e96577c81703e6391fbaa59cd4d161fac64af48533da0aefa314209c06ce5b80f1e2f39711ad03546e5e98cc83f0983c368d203e8bfba08e83e21e61720aa56e4fc4c932bc963a039f2dbbc90bb1e3146dfc06751fbe9b529e3bd7acf3f805273585f07de7fe092a03281ccc61485fabeb16a44654828e0fab24e2401a9d00b7f03411b94a9e1e94e80370dfdeab96ce9a00f54b57b4422fcfe1f9947236055572f3bf55fff40cd4037f03a73aeaf1a914b76b49075ce0407e4d25aa00e6c989dbf489ce125da4dd104383034751591defdd53c9c09204aae9360e9661d6afd48aa7e47119559253940064790302e111c88f4d67fb880bb2f8f3f409184a29ac17668bff2aa16541fd698ed88703d41f3dcac378ef9296f725be27d9d3d15cc7f1289c69eec95da8b06d9337ec5903ff1967f1c57d226bf6ffb2e5f74f0de212791f3a036dc64ee5735bebfc85e1200377bb77043a2976f26ef1cdd8552e46a007240d09f301d40829ba0c4396a5573703b9b383277b74d6fdbd4373e31687248db2dc976def54a28897b7f68116bf998a05581e03fd5913ee95bf5d9e0de10b412f423ab0b4454d0eadf374aecfb2739550040103f1d2aa4db07bedfe0f0149afade7a31bdeac77397fef95f0017e0973c3965b7905581e03e3ed340be29de6505218e39ffa6c9741874d47204d9d67ef3780bd18b00c0346c7f55f7c8ce803a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e038b83ddb518f5b6310b2f27be787596f1b6e375cbcc3da9784faf82bd0007011bffffffffffffffff03a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03f96c769108c58ce7c923e444521458d3c6dee45516929678b96313f4b007011bffffffffffffffff04592eed600436101561000d57612ee7565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052636b441a4060005114156101105734156100ba57600080fd5b60043560205181106100cb57600080fd5b5060005433146100da57600080fd5b600435600155600435610140527f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e96020610140a1005b636a1c05ae600051141561018657341561012957600080fd5b600054331461013757600080fd5b600154610140526000610140511861014e57600080fd5b6101405160005561014051610160527febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a11891056020610160a1005b633f9095b7600051141561020f57341561019f57600080fd5b60043560205181106101b057600080fd5b50600860043560e05260c052604060c0205461014052600061014051186101d657600080fd5b610140516001606051818303806040519013156101f257600080fd5b809190121561020057600080fd5b9050905060005260206000f350005b600015610341575b610160526101405261014051633b9aca00811061023357600080fd5b601560c052602060c02001546101805260006101805111156103305760146101405160e05260c052604060c0206101805160e05260c052604060c020546101c0526101e060006101f4818352015b4261018051111561029157610319565b610180805162093a808181830110156102a957600080fd5b808201905090508152506101c05160146101405160e05260c052604060c0206101805160e05260c052604060c0205542610180511115610308576101805161014051633b9aca0081106102fb57600080fd5b601560c052602060c02001555b5b8151600101808352811415610281575b50506101c05160005260005161016051565061033f565b60006000526000516101605156505b005b600015610553575b610160526101405261014051633b9aca00811061036557600080fd5b601160c052602060c0200154610180526000610180511115610542576101c0600f6101405160e05260c052604060c0206101805160e05260c052604060c0208060c052602060c02054825260018160c052602060c02001548260200152505061020060006101f4818352015b426101805111156103e15761052b565b610180805162093a808181830110156103f957600080fd5b808201905090508152506101e05162093a80808202821582848304141761041f57600080fd5b8090509050905061022052610220516101c05111156104a2576101c08051610220518082101561044e57600080fd5b8082039050905081525060106101405160e05260c052604060c0206101805160e05260c052604060c02054610240526101e08051610240518082101561049357600080fd5b808203905090508152506104af565b60006101c05260006101e0525b600f6101405160e05260c052604060c0206101805160e05260c052604060c02060c052602060c0206101c0805182558060200151600183015550504261018051111561051a576101805161014051633b9aca00811061050d57600080fd5b601160c052602060c02001555b5b81516001018083528114156103d1575b50506101c051600052600051610160515650610551565b60006000526000516101605156505b005b6000156107eb575b6101405260135461016052600454610180524261016051111561059957610160805162093a808082101561058e57600080fd5b808203905090508152505b60126101605160e05260c052604060c020546101a0526101c060006064818352015b610180516101c05114156105ce57610691565b6101405161016051610180516101a0516101c0516101c051610200526102005160065801610349565b610260526101c0526101a052610180526101605261014052610260506101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516101c0516102a0526102a05160065801610217565b61030052610260526102405261022052610200526101e0526101c0526101a052610180526101605261014052610300505b81516001018083528114156105bb575b505061032060006101f4818352015b426101605111156106b0576107d7565b610160805162093a808181830110156106c857600080fd5b8082019050905081525060006101a05261034060006064818352015b610180516103405114156106f75761079b565b600f6103405160e05260c052604060c0206101605160e05260c052604060c02060c052602060c020546103605260146103405160e05260c052604060c0206101605160e05260c052604060c02054610380526101a080516103605161038051808202821582848304141761076a57600080fd5b8090509050905081818301101561078057600080fd5b808201905090508152505b81516001018083528114156106e4575b50506101a05160126101605160e05260c052604060c02055426101605111156107c657610160516013555b5b81516001018083528114156106a0575b50506101a051600052600051610140515650005b6000156109e1575b6101605261014052600e6101405160e05260c052604060c020546101805260006101805111156109d0576101c0600c6101405160e05260c052604060c0206101805160e05260c052604060c0208060c052602060c02054825260018160c052602060c02001548260200152505061020060006101f4818352015b4261018051111561087d576109b9565b610180805162093a8081818301101561089557600080fd5b808201905090508152506101e05162093a8080820282158284830414176108bb57600080fd5b8090509050905061022052610220516101c051111561093e576101c0805161022051808210156108ea57600080fd5b80820390509050815250600d6101405160e05260c052604060c0206101805160e05260c052604060c02054610240526101e08051610240518082101561092f57600080fd5b8082039050905081525061094b565b60006101c05260006101e0525b600c6101405160e05260c052604060c0206101805160e05260c052604060c02060c052602060c0206101c080518255806020015160018301555050426101805111156109a85761018051600e6101405160e05260c052604060c020555b5b815160010180835281141561086d575b50506101c0516000526000516101605156506109df565b60006000526000516101605156505b005b633a04f90060005114156109fa57600061014052610a20565b6318dfe9216000511415610a18576020604461014037600050610a20565b600015610e4a575b3415610a2b57600080fd5b6004356020518110610a3c57600080fd5b5060605160243580604051901315610a5357600080fd5b8091901215610a6157600080fd5b506000543314610a7057600080fd5b6000602435121515610a885760045460243512610a8b565b60005b610a9457600080fd5b600860043560e05260c052604060c0205415610aaf57600080fd5b6005546101605261016051600160605181830180604051901315610ad257600080fd5b8091901215610ae057600080fd5b9050905060055560043561016051633b9aca008110610afe57600080fd5b600760c052602060c0200155602435600160605181830180604051901315610b2557600080fd5b8091901215610b3357600080fd5b90509050600860043560e05260c052604060c020554262093a80818183011015610b5c57600080fd5b8082019050905062093a808080610b7257600080fd5b82049050905062093a808082028215828483041417610b9057600080fd5b80905090509050610180526000610140511115610dad576101405161016051610180516101a0516024356101e0526101e05160065801610217565b610240526101a052610180526101605261014052610240516101a0526101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516024356102a0526102a05160065801610349565b61030052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526103005161026052610140610340525b61034051516020610340510161034052610340610340511015610c8157610c5f565b6006580161055b565b61036052610320610340525b6103405152602061034051036103405261014061034051101515610cb957610c96565b61036051610320526101405161026051818183011015610cd857600080fd5b80820190509050600f60243560e05260c052604060c0206101805160e05260c052604060c02060c052602060c0205561018051602435633b9aca008110610d1e57600080fd5b601160c052602060c0200155610320516101a051610140518082028215828483041417610d4a57600080fd5b80905090509050818183011015610d6057600080fd5b8082019050905060126101805160e05260c052604060c020556101805160135561014051600c60043560e05260c052604060c0206101805160e05260c052604060c02060c052602060c020555b602435633b9aca008110610dc057600080fd5b601160c052602060c02001541515610df65761018051602435633b9aca008110610de957600080fd5b601160c052602060c02001555b61018051600e60043560e05260c052604060c02055600435610380526024356103a052610140516103c0527ffd55b3191f9c9dd92f4f134dd700e7d76f6a0c836a08687023d6d38f03ebd8776060610380a1005b63c2c4c5c16000511415610e76573415610e6357600080fd5b6006580161055b565b6101405261014050005b63615e52376000511415610ef0573415610e8f57600080fd5b6004356020518110610ea057600080fd5b506004356101405261014051600658016107f3565b6101a0526101a0506101405161016051610180516101a0516006580161055b565b6101e0526101a0526101805261016052610140526101e050005b600015611072575b6101805261014052610160526101605162093a808080610f1757600080fd5b82049050905062093a808082028215828483041417610f3557600080fd5b809050905090506101a05260126101a05160e05260c052604060c020546101c05260006101c05111156110615760086101405160e05260c052604060c02054600160605181830380604051901315610f8c57600080fd5b8091901215610f9a57600080fd5b905090506102005260146102005160e05260c052604060c0206101a05160e05260c052604060c0205461022052600c6101405160e05260c052604060c0206101a05160e05260c052604060c02060c052602060c0205461024052670de0b6b3a764000061022051808202821582848304141761101557600080fd5b8090509050905061024051808202821582848304141761103457600080fd5b809050905090506101c051808061104a57600080fd5b820490509050600052600051610180515650611070565b60006000526000516101805156505b005b636207d866600051141561108a5742610140526110b0565b63d3078c9460005114156110a85760206024610140376000506110b0565b600015611108575b34156110bb57600080fd5b60043560205181106110cc57600080fd5b506101405160043561018052610140516101a0526101a0516101805160065801610ef8565b61020052610140526102005160005260206000f350005b6395cfcec36000511415611120574261014052611146565b636472eee1600051141561113e576020602461014037600050611146565b60001561123b575b341561115157600080fd5b600435602051811061116257600080fd5b50610140516004356101805261018051600658016107f3565b6101e052610140526101e0506101405161016051610180516101a0516101c0516101e0516006580161055b565b610220526101e0526101c0526101a052610180526101605261014052610220506101405161016051610180516101a0516101c0516101e0516102005161022051600435610260526101405161028052610280516102605160065801610ef8565b6102e05261022052610200526101e0526101c0526101a0526101805261016052610140526102e05160005260206000f350005b6000156114e8575b6101805261014052610160526101405161016051610180516101a051610140516101e0526101e05160065801610217565b610240526101a052610180526101605261014052610240516101a0526101405161016051610180516101a0516101c0516101e05161020051610220516102405161026051610140516102a0526102a05160065801610349565b61030052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526103005161026052610140610340525b6103405151602061034051016103405261034061034051101561132b57611309565b6006580161055b565b61036052610320610340525b610340515260206103405103610340526101406103405110151561136357611340565b61036051610320524262093a8081818301101561137f57600080fd5b8082019050905062093a80808061139557600080fd5b82049050905062093a8080820282158284830414176113b357600080fd5b809050905090506103805261032051610260516101605180820282158284830414176113de57600080fd5b809050905090508181830110156113f457600080fd5b80820190509050610260516101a051808202821582848304141761141757600080fd5b809050905090508082101561142b57600080fd5b80820390509050610320526103205160126103805160e05260c052604060c020556101605160146101405160e05260c052604060c0206103805160e05260c052604060c02055610380516013556103805161014051633b9aca00811061149057600080fd5b601560c052602060c0200155610140516103a052610380516103c052610160516103e05261032051610400527e170bcdc909b6ac6e12d020fe8942256312cdcd555fb6d712899eba56d2f90160806103a0a161018051565b6326e56d5e60005114156115015760006101c052611527565b6392d0d232600051141561151f57602060246101c037600050611527565b600015611716575b341561153257600080fd5b606060043560040161014037604060043560040135111561155257600080fd5b600054331461156057600080fd5b6004546101e0526101408060066101e05160e05260c052604060c02060c052602060c020602082510161012060006003818352015b826101205160200211156115a8576115ca565b61012051602002850151610120518501555b8151600101808352811415611595575b5050505050506101e0516001606051818301806040519013156115ec57600080fd5b80919012156115fa57600080fd5b9050905060045560006101c0511815611714576101405161016051610180516101a0516101c0516101e0516101e051610220526101c05161024052610240516102205160065801611243565b6101e0526101c0526101a0526101805261016052610140526000506101e0516103005260406102a0526102a0516102e0526101408051602001806102a0516102e0018284600060045af161169957600080fd5b50506102a0516102e001518060206102a0516102e0010101818260206001820306601f820103905003368237505060206102a0516102e0015160206001820306601f82010390506102a05101016102a0527f6fbe76157c712f16b5a3c44ed48baa04e3450bc3fab0c020e848aca72bbccc846102a0516102e0a15b005b63db1ca260600051141561178657341561172f57600080fd5b6060516004358060405190131561174557600080fd5b809190121561175357600080fd5b50600054331461176257600080fd5b6004356101405260243561016052610160516101405160065801611243565b600050005b600015611b79575b61018052610140526101605260086101405160e05260c052604060c020546001606051818303806040519013156117c457600080fd5b80919012156117d257600080fd5b905090506101a0526101405161016051610180516101a0516101c051610140516102005261020051600658016107f3565b610260526101c0526101a052610180526101605261014052610260516101c0526101406102a0525b6102a0515160206102a051016102a0526102a06102a051101561184d5761182b565b6101a0516102c0526102c05160065801610217565b610320526102806102a0525b6102a0515260206102a051036102a0526101406102a0511015156118915761186e565b6103205161028052610140610360525b610360515160206103605101610360526103606103605110156118c3576118a1565b6101a051610380526103805160065801610349565b6103e052610340610360525b6103605152602061036051036103605261014061036051101515611907576118e4565b6103e05161034052610140610420525b6104205151602061042051016104205261042061042051101561193957611917565b6006580161055b565b61044052610400610420525b61042051526020610420510361042052610140610420511015156119715761194e565b61044051610400524262093a8081818301101561198d57600080fd5b8082019050905062093a8080806119a357600080fd5b82049050905062093a8080820282158284830414176119c157600080fd5b809050905090506104605261016051600c6101405160e05260c052604060c0206104605160e05260c052604060c02060c052602060c0205561046051600e6101405160e05260c052604060c020556103405161016051818183011015611a2657600080fd5b808201905090506101c05180821015611a3e57600080fd5b808203905090506104805261048051600f6101a05160e05260c052604060c0206104605160e05260c052604060c02060c052602060c02055610460516101a051633b9aca008110611a8e57600080fd5b601160c052602060c02001556104005161048051610280518082028215828483041417611aba57600080fd5b80905090509050818183011015611ad057600080fd5b8082019050905061034051610280518082028215828483041417611af357600080fd5b8090509050905080821015611b0757600080fd5b80820390509050610400526104005160126104605160e05260c052604060c0205561046051601355610140516104a052426104c052610160516104e05261040051610500527f54c0cf3647e6cdb2fc0a7876e60ba77563fceedf2e06c01c597f8dccb9e6bd7260806104a0a161018051565b63d4d2646e6000511415611bd6573415611b9257600080fd5b6004356020518110611ba357600080fd5b506000543314611bb257600080fd5b600435610140526024356101605261016051610140516006580161178e565b600050005b63d71363286000511415612699573415611bef57600080fd5b6004356020518110611c0057600080fd5b506003546101405260206102006024637c74a17461018052336101a05261019c610140515afa611c2f57600080fd5b601f3d11611c3c57600080fd5b600050610200516000811215611c5157600080fd5b6101605260206102c0602463adc6358961024052336102605261025c610140515afa611c7c57600080fd5b601f3d11611c8957600080fd5b6000506102c051610220526005546102e0524262093a80818183011015611caf57600080fd5b8082019050905062093a808080611cc557600080fd5b82049050905062093a808082028215828483041417611ce357600080fd5b80905090509050610300526308c379a0610320526020610340526020610360527f596f757220746f6b656e206c6f636b206578706972657320746f6f20736f6f6e6103805261036050610300516102205111611d4057606461033cfd5b6308c379a06103c05260206103e052601e610400527f596f75207573656420616c6c20796f757220766f74696e6720706f776572000061042052610400506000602435101515611d97576127106024351115611d9a565b60005b611da55760646103dcfd5b6308c379a06104605260206104805260146104a0527f43616e6e6f7420766f746520736f206f6674656e0000000000000000000000006104c0526104a050600b3360e05260c052604060c02060043560e05260c052604060c02054620d2f00818183011015611e1357600080fd5b80820190509050421015611e2857606461047cfd5b600860043560e05260c052604060c02054600160605181830380604051901315611e5157600080fd5b8091901215611e5f57600080fd5b90509050610500526308c379a061052052602061054052600f610560527f4761756765206e6f74206164646564000000000000000000000000000000000061058052610560506000610500511215611eb857606461053cfd5b6105c060093360e05260c052604060c02060043560e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c02001548260400152505060006106205261030051610600511115611f3e57610600516103005180821015611f3257600080fd5b80820390509050610620525b6105c051610620518082028215828483041417611f5a57600080fd5b8090509050905061064052610660610160516024358082028215828483041417611f8357600080fd5b809050905090506127108080611f9857600080fd5b8204905090508152602435816020015261022051816040015250610220516103005180821015611fc757600080fd5b808203905090506106c052610660516106c0518082028215828483041417611fee57600080fd5b809050905090506106e052600a3360e05260c052604060c0205461070052610700516106805181818301101561202357600080fd5b808201905090506105e0518082101561203b57600080fd5b808203905090506107005261070051600a3360e05260c052604060c020556308c379a0610720526020610740526013610760527f5573656420746f6f206d75636820706f7765720000000000000000000000000061078052610760506000610700511015156120b2576127106107005111156120b5565b60005b6120c057606461073cfd5b6101406107e0525b6107e0515160206107e051016107e0526107e06107e05110156120ea576120c8565b6004356108005261080051600658016107f3565b610860526107c06107e0525b6107e0515260206107e051036107e0526101406107e05110151561212d5761210a565b610860516107c0526001600c60043560e05260c052604060c0206103005160e05260c052604060c02060c052602060c0200154610880526101406108c0525b6108c0515160206108c051016108c0526108c06108c051101561218e5761216c565b610500516108e0526108e05160065801610349565b610940526108a06108c0525b6108c0515260206108c051036108c0526101406108c0511015156121d2576121af565b610940516108a0526001600f6105005160e05260c052604060c0206103005160e05260c052604060c02060c052602060c0200154610960526107c0516106e05181818301101561222157600080fd5b80820190509050610640518082101561223a578061223c565b815b90509050610640518082101561225157600080fd5b80820390509050600c60043560e05260c052604060c0206103005160e05260c052604060c02060c052602060c020556108a0516106e05181818301101561229757600080fd5b8082019050905061064051808210156122b057806122b2565b815b9050905061064051808210156122c757600080fd5b80820390509050600f6105005160e05260c052604060c0206103005160e05260c052604060c02060c052602060c02055610300516106005111156123fd57610880516106605181818301101561231c57600080fd5b808201905090506105c051808210156123355780612337565b815b905090506105c0518082101561234c57600080fd5b808203905090506001600c60043560e05260c052604060c0206103005160e05260c052604060c02060c052602060c0200155610960516106605181818301101561239557600080fd5b808201905090506105c051808210156123ae57806123b0565b815b905090506105c051808210156123c557600080fd5b808203905090506001600f6105005160e05260c052604060c0206103005160e05260c052604060c02060c052602060c0200155612491565b6001600c60043560e05260c052604060c0206103005160e05260c052604060c02060c052602060c0200180546106605181818301101561243c57600080fd5b808201905090508155506001600f6105005160e05260c052604060c0206103005160e05260c052604060c02060c052602060c0200180546106605181818301101561248657600080fd5b808201905090508155505b4261060051111561251657600d60043560e05260c052604060c0206106005160e05260c052604060c02080546105c051808210156124ce57600080fd5b8082039050905081555060106105005160e05260c052604060c0206106005160e05260c052604060c02080546105c0518082101561250b57600080fd5b808203905090508155505b600d60043560e05260c052604060c0206106a05160e05260c052604060c02080546106605181818301101561254a57600080fd5b8082019050905081555060106105005160e05260c052604060c0206106a05160e05260c052604060c02080546106605181818301101561258957600080fd5b80820190509050815550610140610980525b610980515160206109805101610980526109806109805110156125bd5761259b565b6006580161055b565b6109a052610960610980525b61098051526020610980510361098052610140610980511015156125f5576125d2565b6109a05060093360e05260c052604060c02060043560e05260c052604060c02060c052602060c020610660805182558060200151600183015580604001516002830155505042600b3360e05260c052604060c02060043560e05260c052604060c02055426109c052336109e052600435610a0052602435610a20527f45ca9a4c8d0119eb329e580d28fe689e484e1be230da8037ade9547d2d25cc9160806109c0a1005b634e791a3a60005114156127045734156126b257600080fd5b60043560205181106126c357600080fd5b50600c60043560e05260c052604060c020600e60043560e05260c052604060c0205460e05260c052604060c02060c052602060c0205460005260206000f350005b6372fdccfa600051141561278857341561271d57600080fd5b6060516004358060405190131561273357600080fd5b809190121561274157600080fd5b50601460043560e05260c052604060c020600435633b9aca00811061276557600080fd5b601560c052602060c020015460e05260c052604060c0205460005260206000f350005b636977ff9260005114156127bd5734156127a157600080fd5b601260135460e05260c052604060c0205460005260206000f350005b636f214a6a60005114156128495734156127d657600080fd5b606051600435806040519013156127ec57600080fd5b80919012156127fa57600080fd5b50600f60043560e05260c052604060c020600435633b9aca00811061281e57600080fd5b601160c052602060c020015460e05260c052604060c02060c052602060c0205460005260206000f350005b63f851a440600051141561287057341561286257600080fd5b60005460005260206000f350005b6317f7182a600051141561289757341561288957600080fd5b60015460005260206000f350005b63fc0c546a60005114156128be5734156128b057600080fd5b60025460005260206000f350005b63dfe0503160005114156128e55734156128d757600080fd5b60035460005260206000f350005b639fba03a1600051141561290c5734156128fe57600080fd5b60045460005260206000f350005b63e93841d0600051141561293357341561292557600080fd5b60055460005260206000f350005b63d958a8fc6000511415612a1a57341561294c57600080fd5b6060516004358060405190131561296257600080fd5b809190121561297057600080fd5b50600660043560e05260c052604060c0208060c052602060c020610180602082540161012060006003818352015b826101205160200211156129b1576129d3565b61012051850154610120516020028501525b815160010180835281141561299e575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63b05391876000511415612a5d573415612a3357600080fd5b600435633b9aca008110612a4657600080fd5b600760c052602060c020015460005260206000f350005b630f467f986000511415612b4a573415612a7657600080fd5b6004356020518110612a8757600080fd5b506024356020518110612a9957600080fd5b50610140808080600960043560e05260c052604060c02060243560e05260c052604060c02060c052602060c020548152505060208101905080806001600960043560e05260c052604060c02060243560e05260c052604060c02060c052602060c02001548152505060208101905080806002600960043560e05260c052604060c02060243560e05260c052604060c02060c052602060c02001548152505060609050905060c05260c051610140f350005b63411e74b56000511415612b91573415612b6357600080fd5b6004356020518110612b7457600080fd5b50600a60043560e05260c052604060c0205460005260206000f350005b637e418fa06000511415612bf8573415612baa57600080fd5b6004356020518110612bbb57600080fd5b506024356020518110612bcd57600080fd5b50600b60043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b63edba52736000511415612c9d573415612c1157600080fd5b6004356020518110612c2257600080fd5b50610140808080600c60043560e05260c052604060c02060243560e05260c052604060c02060c052602060c020548152505060208101905080806001600c60043560e05260c052604060c02060243560e05260c052604060c02060c052602060c02001548152505060409050905060c05260c051610140f350005b63a4d7a2506000511415612ce4573415612cb657600080fd5b6004356020518110612cc757600080fd5b50600e60043560e05260c052604060c0205460005260206000f350005b63a9b48c016000511415612d9c573415612cfd57600080fd5b60605160043580604051901315612d1357600080fd5b8091901215612d2157600080fd5b50610140808080600f60043560e05260c052604060c02060243560e05260c052604060c02060c052602060c020548152505060208101905080806001600f60043560e05260c052604060c02060243560e05260c052604060c02060c052602060c02001548152505060409050905060c05260c051610140f350005b635a5491586000511415612ddf573415612db557600080fd5b600435633b9aca008110612dc857600080fd5b601160c052602060c020015460005260206000f350005b631142916b6000511415612e14573415612df857600080fd5b601260043560e05260c052604060c0205460005260206000f350005b63513872bd6000511415612e3b573415612e2d57600080fd5b60135460005260206000f350005b63afd2bb496000511415612ea3573415612e5457600080fd5b60605160043580604051901315612e6a57600080fd5b8091901215612e7857600080fd5b50601460043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f350005b6351ce6b596000511415612ee6573415612ebc57600080fd5b600435633b9aca008110612ecf57600080fd5b601560c052602060c020015460005260206000f350005b5b60006000fd036409960ba42b6389e0b6580937d7ba87fec18e4daeb81290c7ba9a34714752850341772ade2a496bd742a447697bb2e889b2b32b237bcb055061dc7190a3f53051037987ee9389245e02f59ab042b686ffecea85b25a68cdaeaaad2a82525832245c031b79392a90f9e49d2a3181eaab093b7d23f4910701618b54d1e809cca368023b035401b6fa519b8346dd7d96611c48de804ff0fa46303e7416a50e31674a3a299a03bb6a60729b93c9c7733f0fdb89d2e5747810e4f91f07f356ada3fdead1b5077b03614ae40383bd162cefad9ab462a4f0729096cb388754e75eb866f9e54203f27000581f029db6d2d5de3b8fb9df9b93b2f7720f2eb7de59170119033095c4cf7be9d244636644b700581f02e1a3da02f4dd3c0c2f4cb00abf114cd14abe7901e0fc5845e443c2cdfff74b42acaca38e104668545cc800581f03330dd5a43f7f2696ad8b7ec004b87ac528ccaaf5bbb088b9c8631c3068d046e9b5dfe65efd00581f038617fe9cf1f0c8b12d1ed9979e470e09ab9103e8e914542458e9d2e8f430470136417692554c00581f033368ee84afc07ddea030bc80a17636b12ab8d69f7fd063546a2ced58739044668f20800218a400581f0232a98d7a488fd740e821a091b93631cee4919448a3ebdf77174ab9346bf7467798cbee66ea03765563fd52f8b3ef4fdf045e36b0a8bb49aef82f9f39540883a22ba17156330c03422fba473ecd34adaf9d163b09b74582bd63baf31985202e260ea610ea4f105000581f02a293cd0fe40475ab2d3e7c83581785043db8948ef2d8bae172c66c276c044466e22f0000581f027b823c5ed087883b0fcc0c6f9c7c803de863b48e265ea22f80fe942666344694172fb98fd703e69d2f918c26a7eaf46c8a4dbe725f8cd050a7171c0728981077d6b001573d4000581f0257627f548e2e1397949ae50f235dba46f85c131ca9310e6a498bdac2c8374b03de542cd94d598ca9938003e7b10a345995f2757ce6a6a4745d94090a6132a1ce07df37f1febde4ba82eb2400581f02feb369f5567698293183261a21ef8a9ebb960134b583feff0f173a6bed004b079e1ea049d277f4e7d78003f174ea59a47bcb745314a407367441c106902e3368f5397031d1af329c291ec402197d7f03a5a380f191c4dce71790f263f0915c5de7fbf2474d45a19cf8ccf8bf362fc75703603b98b8fa574933dcf52a4d29a8213fd6be92e6cbfda4effafb82e17841cc770386a6e2bc0ee99eb00f7d9204d94e6188f6a3932d4737a17df7eeb6ca6ef9dc0503121ef8f1f93306f6fbf59d5b64cf81932be9bddaad2c55cd530df88332958b4903e6567588aab22818f72d3da7d50ebc6f6a9b3ae651f290163f94fdddb76d5e26030ac0c91c6924d4ea34fc325f9889da7c2095decb62ae7562e3a6de58fc0402940354a638ec9124798807ca90d1185a6b93963c01ae5443729b76f46809a2b0706b03af307b8efcc71f9ccdf0b36ed4502b2cf46e77a5d4b5767306a17699a49ecc070219ffff039580087972c5d74079c5a6eb638b0264196aa38c0f6a6c2c982e563382b0baf503032c1197bc77090efaaf4b96b3696d3772df7918b93f10c951a1f76a1de2c9c8039b120340fc8ea4801f542b497478ba6d098de4a26f3143ae4f33c67477ab73820300ff62b1bdcf8c52c06ecd69d8456b5efe473940754accc6478eae726e1d6be5038c9b3f3dd64d351abd026177673046fc0587ed6596489d0629c9b4a3037703430354ce7319d03c13c0ccaef85eb4ac5715c177b0cc52a0e59640aa5229b5e286eb036edde1d5e8fcbb9cba785e5b11f373ba6c1577445f3895591930ccacc80c282a03c7da5f57dfa8d1ecf90ca7cfedb7b638fb7837b8c40311593fc59cbe0c4beb3f03aefa871e625bd7ac4207dc043e3a3b0633ffe98809c3691f0379f917533bfc0100581f02b83c32d81ca77bf337ac9328b8ccf6a7b4fca6f5dad4d29e49ce1d7d0b984a043087aa89f4328d970003a56eb534d3b448079d8ed2017dbdc062769dc2cfe5e484faa68c6a7c6d4c450300581f033ec8a3e8ce02edfff7cee46c803b0ecbe2fa0bd81e022f6fa1dd1ecb3a204560fb2c1ef100581f03c6034284d31b179e0aa54a1cf05ba40655c3233a2d49cededb97a446480047227e6ae75deb1800581f0380d515fcbfb55c88541a3f0530c9c2105997ac3dcaab90fc54d12082e8004735581f61af35c00219801800581f02abb78d6513dbc9b47dff553654fe0f7fb3fab53c6940b4d6d2e0e17e979f480be0aad55cc8905b034e7a55e9d9ac6723e2b91eef91de3d731785fc8f799cdda46aa211d0c205d29a0302bde468438ba586e0e7d170dece4b52fcdb7df1b2aa4fbc854468e774c146730390ca1fc14a3786eccfe2de61387f93a6226ae7af8db4917df25f76af3e1e8c39031f9fe73f2ba3dd24d4721a6ca8fc70073da33170af7432dd2d989d1153c46d62014200fe039c27078888e105898c1c79bd66e626e15d95ceaea471193a5106d42b6a2d5492036450704d759389da7d014462744d3fd019831a4e84cd71108a0b39402cc5076d00581f0293f9d29793f08320266d488ef48c16ef1f6b52b4a320694fd9e897fde21d44697aa30003b986aa155c3e48ca8b72b720227c4badf298b755f68d91128b55a3d67647906d036b4844acc181eef1aff95170c1a4211f7aa906ed30a52d8c07810f9173ffca2e0219f3ff032d8d59d778f9bc0553cb095ba272987df3f270133d49cd4967f00c8f45b2366603ae45e336330624e5a1aeb83404a3989cea3d319c1f1eac4c08d14e64e20f785f03b7fbd21ea8cf3f73a44336224129161afd1f484ae9cf59ffeaea70d4caf7e39c0302abef733adeee105b5766a185bebe9f6d114de630d4958aa0a044ec9c7e876d03201a8319341eb5d3a430e4f3df4e47efa78655042d16bc736623374134a64bb4035409f89eb7e2fe09968506a6df7e8d9524d209b8f003c8f6b0e496c2a7ce1b9b03c77f19dec08dcadc4ae96be31d2ec986af030ad6d17ea2c97998abed395c4b36035dc1e5caf9fe48c4c5bf8bf6832e0a532fb101983ac137e2aa0904e271d0582303ec909f37a557670f5d39c8560a2ab13b436b4d70280065700791c08510e77c8b03a8f7f78926fb63c36baf0fad6f1c6d532f80400f0c759a5a348546988ff315970219ffff03fdd4046d3b9176613c25c491eb1676a385ec70489a4d33095798fc769dbd563603af91d56dd5723ba24471163de4da5f3982c5c57f6fa4682278d66c1d0e805f4903828dd8c990733d5e5b486bd5fabc125bc7f2dca35738c948442faab4d65f8d33031097f661e5c82977b1bd0737ffb44a2792d31f2a4f426a3c35caa21b5afd7b2c03949144e990f233a4a1e43d785b0312552173bd8330240a185801cbe621fa37b10308d182bab802e11e689acc4bc1ff377dc40c4b2f17d0a18549423d13e48f184803687bfabc3effc56b6b8a332d7b0383640a05e11317bcd660d592e5e3597253780378ee17bf43a7d841dd7ac6ec84cd7adf98638e50a0963e3524127519e84a98b40344ce357a6f086782eac64797279e21ee71502a9606338d2f298d095f37de75b20398081cd8ae4baa9ed93ecc5a5bc0a8f0cd6174f5f8e9e032195c509d46f1cda503551316782c99ce267757f9e7823d3fdf12cd25f157daf80d5cd0dfb819483d010384f84e86be0e11bdfc0a500a40d5ff6772f86f170ddbd45d3aa15c95cf9fc22d03451326468eb31de429a0b08c9e1d59cd325283082fca21953ba19d52f5ea36ab00581f02ebda7750bf1d332ee9fda65eb748f3a4d056666a999cd8f70816e8741f1a446b5a850000581f02f01fef7bc1e7084aa695eb11ab70da700db0ab364ed504e8928e0bd7e0d344668f2080039050d9cb2358789b0fd756fff51d99578657bdfa59c04f9fa8d1ce89c3cf512703eb2e6f4ca114cab43d0b5f206dbb616493c861a587c900cf95e3df12d78a4c3903bed0dd909ab6836e5df6b4453b45d7fdd67987ae3e1df5a4053e18d390a31d2203a35a5e3eaa97fd7da0c00b6ecfca7345a9afc2d0626da9cde22f2935077b2e3800581f029681c139eaa79b8f38513c030bd4f2088dabce08d98b9890323e6ed8589442271000581f0225539805b7d8dc04535caeb18777f8d5ee3f8783794a2f0161ca13f66f5c465a1fe9e63e7603711d7c90b1c62b037c83ddc80bba1acd0cead720fd2881e33860b5119a7081e000581f023703200e20d95904ffb2dc3f4f478c65b656eb92221ea78439313f08dc174a01d49cc3fbd903d07a000219f7c903ab8b55094dda1b1555bff9f09a9e2a14575c98f78b3dd180eb8a1363c2ef672c03fa1aff0d06039add28183ec5da61ab00d5a20f3ed29a13d31ef03d021fb8f82403edbbc28bef0b1c037c1e10333d10aee6dacd12aed7f969127cd5abfc6e59c3ad03e014525b229587bf4fed32c84d1643cc0a557109c6e97c3103f60401316d47c4030851a85bcb32b17d96efdfa5d6ae56882b497188d1440ce2810e6a66e814f96003a1c06d85456f94ab6fae4663aaa5451a0935644d80f375da36d3704117167be803d53abff5b48dca4bd7afbd09923e51f2cf4ced04821fbd323592d8a78b3c964803439d3e3d426c3ed593cbbc341412c1301786757fe9fd1245e554931874d5dfc1031a46556f990536b14267674dddcb870991f7c9bda4608f79acbd9439268cd6c60219ffff03b6eceddb24b594384c58b06edce3a0282e101786f37a2b7942bcbb66fef5556b031396c4604b52e89f4d537126616280fa5d25df27da654b7c4d6b02dfeba7778103153c8d4952c0c2b6a92602c1bf5e73fd492fd07649b0d248625394cde8c4b26f03c0ad0b01247bac363261ed0741d82c3841d4cb120ffe2b501fceebef829ad02d0363a743847905f0241e2cc5e158d25ec0ae25dfaa6f24fbc43414736b0970e85503aad9424aba7638b23325ef88a41b665d4dfeb42e24430cfa5b0af0e07a9fdc3403f4dbd9d650ce4712782c8b6e2541ec684f1a78058a68cb42866771dc0e64f3ef036eca0e2e9b5735adf75c1cf904f10b73fd783f3a3e4263b4d5ffeddfa0960d5e03292f9e5aadd73cf8fa52b78bc5fe2d3cb9e9b05e26bcd27bf33f2ac39c231e040323bed569b28697ba433e7e56486c571112d3b319e36ba434e629cacee956f5bb03e3eddb428ff62bb8a482d8bd192afd2ee6bd4e56abf786d6ee3f3263e65cb55403ff4280c6939c95658afa3147426e8ac9417a6ff465165d6356c3e901c18faed700581f0216787ff04219ff0c665bb2b7455c6e0c6d42f8fb3415c6a50ae85e359e794937821d6dc121cbb20000581f020d009fa0c492ea75c8afedcc5f0674bf28d9c832c6c831b6bd375e394a3b4464bea3e300581f02ebcf83fdbadbdfd9443c7c6ad916b51efe5a5704191e806f7da86ece5221446a864380036bd4e0fdafa4928801c2875abb4ad2bd6d0517348e26bf65878f3d2a21934ce200581f0284b75d11995fc947bd697f1b60d7e3320c6d30fee0df161fbdddf92d7dcf470b9c8313da0b4a00581f02f6af1b84421967e64cdcfa541a7097d1e518bd5be0e6f35e98e6b7ee688d446271075b03cadd53f1851a8d14def4f8ce75777cef8d3039226a6a791afe7968c359c2d82800581f024b92e7cc5bb522e11c6e7d1ad9287c61214cdec72340ff6192af14f417db445fb7c306030df0fa9733e56429275610b4f26d6c2bd2d41e01c3ad87225428a99b0f4b08570336d66568e13dfe9909703eee83caa1d9b21adf771c492160e5cd8c61ddd5faf30300d742b169f2b32d32e68196274322b1b661f5e9ceb8b64e11130c356be55b42039d94b131ad77ba3c5c074b73d4f36cd4f0430b2d249f65a742bcb75168dfe39c00581f02d93ad8968f267fa81205af9268fdf85c773e43b0f8d8140ea7154fecaebc4b1ce72b2103b99fa7102a800219bffa03ab671edc63bb97bd7cfb011edd130b9b4e7c994cb0c7af4d72007abbf962697703d530059f44fca17b106b7200bec7e63660bde427f79064ccd3d0ae3b313eb6ae03f121fc491e5c84c1ba5e107d89ada4d6953f2aed02c1b9d4f20596dd84ec257b0395b8511ee84d2efa1a764a201e0042c923b0308aec2f4f77e60a6dab00cb983d0219ffff036b38d8c643c0281d198cc1c94a686d5de214797a146b7f385402852ded732e6403e34e6fc689f6113f429e903ab5b6b481b15b20ad5efeb194bdbbce5250d1c4cb030329ddce4de1c001a298515b86e342b815a3568bf18f2579d7ad19b9768a2e1a039febfe28261a83d301241182ca5c2fdec679c3c081a5f818aa3209fe3780992403055aee003a1b37fd3447ae1d83d12325395b6b5b3ecc618c5a80c3dc5ef64711039ed1895ae450f3b461761ea5f675732f6c76e55fc7f720e17d9060d76be29b51037163189e2467ab97abab1f40eedb78a9dc82a528014bcef94f0f83179be5ff19035e0104861be7a65e5ecce3c0fbceff26e0b810f4995a99a7e8425a798583c3f30392419b8d2aae6d066d47fdeca316a256a8fb411bf8618e57ed8cd772f25040610312c0b834ab3a73b229e0de1e18932e56d7d56e0f219ea74a8897e859449f2bda03a3cae88ab1f6a6d60a26a74c688319976c2aac25955b4a9a0f841087938ff85503ed3e66d9ff6e91e3539fd0781fe1734ebd08ab1ccef5595452b47015e0785f25034f397223120578f79e2454033725781b79a0ee656f8de49e4160f036b7006e94030e8d30ee6097caec297c17d2a18572308117e3dd6bebe0635cb377096b09f981038c48dcd6fd42aba3582c3cec4863453f6336ee545ed869a0dbc8028ed0f345840384d8cb2e8a4c2f1c28ed782745e93a2dd1f3c74acbaf6c828f03606441cf9d1a037b05c9e5cfbd851eb9d48473d06128a960e5ae5c959ecc31c7e4d87c961e14ac00581f024aff1c9fbd0aa95871bedb823af624f2ea34cb37191d4dfd6f118ab94eea4b0313a8f49c7b921311b9000372027aeb89e16fe44d6b76d479245f885e2d6d383d795c8e03dd954d6b6218ed03069bc07f8679fec8ac04b43e1a51aea1a3cc2d5dfc6fd8914dbdf1ae9d788da00304a0266f221b8e93e04dd9fa0a69add37b7bc51e6888817b6df92ec17bebdef000581f03740dbd0b1c8a0895d16bfd9892a9926be5cc519f60b0506402d38b956c9044668f208000581f038e1a87b36a59e586034dfccdc20c22fcacdf462be7584fb4fdee493a9c404902004de2ae4c3c25800219100200581f02fcc22cc9e59efbcd3fdea7bbb9f08863119e78c73e7331d5ea2664548d38453586de724a03ecd7c69c192c1098bb7adfbf18d4497403d7109c93815d59f59773ac7b29da4903cc27a7db786154d86e8e23ed8814ba8ef87ada07f3bdd3c8fec698e5a1ab7e8101410700581f025123a5b3d61575421971bab7b972b48c84b3e0e243a746863ae7b459e50e4b04afeb7e4b6346c18b9000034787fb34e0d6d5e371eedb4cc39a549fa51f87e2792af66b87b419e11952278b036c804d0f73fc12c4e007577a517fe8549c121c6dbe9372fb696d3732555fe36d0219ff7f035fdeeee3e6d3c2db68617e40d1a78a0de8bee5a8308394238409a58511a125d4037671f9e467474ed8797412fe3ef58436020ec401c0b795206d0cf84ec12cc3e10219ffff0338bc20768f1c4684e4c6c587a9e957a816d99f00742707eb9740d1123d7b57e1034b95ee07e4702ec6b11524fffb08d1fda7d75748d89aef51ab2be983fb17b67a038c60ab9b465379936b55c84f84a86643b7e35854b242804379d15e293b87bd2b03a34bb0f556d3f3bcac183e0088cf07c8d74b3045793c4b5d7d80210f71a5d0f70348fb03f0d94d7028424d22b955f0561dde597146f6b911daedff8ee94e6e1a2f03180cddaeff935059f46ff74388997437f0fde4547b1e00101a1da86e30212274038f4f11d0e05cf64c91d32ad3c6dd3de189168fa368443018981600d2b93c3e1c03856e7e8b7c503bb259bd2e7f1a957a979f4dcb41c9bc82d24f17c348504046bf03cdf80321c72909e282d5d2f80bda8e922dd8d15acc129e3cc4b114e9b6b6b1b303f765e2d4056d48d2e5465c1d5e0e4ab479ce48c9f1c192c0f1d1220c04f5dec500581f02fefc6419eaa546d858bc857d43877de01e04500950da8b774b868adee98d4742aca709ace38d00581f02267a902987d75ae7545d7b1cdf5208b3e0f77960d70fe0912ac38f4c7a44543c8542d9ca68a4709959b984d94d74a27a6644af032363cb20c19a70775e5eb350a124b88951a00162da3549f9648e28175603209200581f0209abcf02d21f4e78d3ccddf3c6587e1978aa2ae488d741c535f2cc2c2f384a04126dbb7daf3661218000581f02a9861a31ae02535abb81a4087f24d4aa22e4fe5b756ed8df5d44adfbf82545144da3d31303ed0c8b07bb945cd2e255bf85489b2289c04bcd0d650f5ccd1a7ea2670892788f03e46529619caa0a694ef138c7ea8700daac1ebe1ff1d5e1797e8529f0ac90fe9303ae65215736ed980adee57c91117f1685e9d62888da7c5a743702d3810789f44903512a7c0440217955349a26fd9bd3875f2b7d3af5800cb7df0d531b531b91bd7e00581f021df4567f3b87104d1597e4137d6471cf3e5c6cf9b6ac59c7988e0a6ff564446dce0f0003517b7dd0b3bdb699594a947416e1b03ff7243f5016e2138d2d49a2c231452a8900581f0212ebeb714820c901d52b7f3f75224d08c153f37a5df8a34378ce851715fa44668f208003e6ca75b60dda6ccb523d9b58e1690391a7b5ead30b3ea40b421962634c35120c0219efed035f2dc6c30a3b3f628d04fc56a0a219d71acd581a1b7d87f1f6fbee708f6f7043038710160bf584a15feffadbe134dc79c24625e8d2eec36019cbe5ab8de88751470316be1e897afec2f621565e76fd05497817b8583ade0046a4535ee5e1af3de34503decb09344671104c52e69a2b797f3bf517eb69b59d8baaf3bf57bb1ad89ec1a603eba3263c50afa311190bb8f1fcf8c980349c19aef903906d838b7003e806e3730219ffff0219ffff03e82f023ff456637fe0b8c925471d26c540bf99e6cbc2baab3063031970c47aae030d86fb4ea12fbe747c15d294186093dbb456589e83af88cd433eb429c257120a0353f4d5ae7684e56393c6965a32858e65e18f7c886658e66af83d4f56704d804303658a4c3d4d221b040ea7c323a1ea0498141094df4432e805361e62f45571d2b9032e036a7aad43912c1e908a5055b91f455fd9d263f52b74680ea809bd726173f900581f021dd8fdc1737450b91a3c664c05eabc8c0d884820c19e4dc6e3314f41067b44624321c300581f0353e07e5392269cc6df69602577c26907775059b50b4335957f43ed4311104a02221b3dacecb4cb870000581f03f58937aec9d76245dd3dd63dd9d750221194b5efcf99d0ecf1ae94b860b04a0cb40e9846b5c28626000219040803d4e11dc5dd16c3006ae5c47490a2d02da2db43cc91d5296f4f3f45c32f7f455403e2699378702539f0aaa2661608437436b6154c4f62caa01357601232b49f07ef00581f02cdb4b1c61e9ba2bddd85f9333e06fac4f36f9cd24250a68ecee4c17ed97b4612bb154070ad033d5f8c8281e06829682390bff8abe83fd9a038fdc34e9205613c011795cd8f7200581f0284e349977f792e9a2e460ad89ebcb0fb18947a33ff17fe66dc93e298d51345127520915700581f029e7d214ed2acbeb09368bd8dcc0d789c9e367ec1c4a7196e35ee425c345e470573a5904664ee03b8577d3945fafcbe0162b05d8d8ac072c8c6450af1fcf3e18830f149d353f82500581f02ce8a0ef3bef88a06748b5cb40801920fe18d6fd5ffe07d0c94d72f8d11804904788ac23da333568003322a0b96366c86b765e67c751154caa0bd5642445735d5a9c15dbea0fa62381b03f9ade7e5c872ee859c73e081c7074448564b77dfb23cd54187e632728274679300581f02bfd277a024ae12e1b653f486d7c8bd8fb79861729eb6d01ee7d6e2b08a234b0378e5b3f500b75c1319000219affd034e71d3c33581c105cacb509791eddcbfbd46dbb23afa768eb7d34c5a34741152030fd0c5934b0a08fafe334376b2b983061026f2041ba821a26e4146a1ae8fbc2d03b9f2f0172f4b8f0ae4dc0ac3faba7e27ec672e5a930e641eb1a3d8b070c7266603768ff677434ae66c5eefff2baa0c2b3e9189bbfd311c20548449acf465a79655032191acf52b5ebb5f608cc2326277debcfd0855ac361316b4ecab41f353515e0703dd71ab2f499a55bb00555dbf530ed762d83fabd0eace8c7d36f7c57020faf0530345c1a7a644789d028ee4d078a97f1cbec56a5771147707264be079db5bc6eac803bc5daa70f83558bdcd8c4fe005a0058f0f3a80b8c3db5ff181a0b21f5818805703e7655b35f879020e3a7ab45794ba5ee6543f7bdcb82c5a3b97864ebffee3e6a2033c84eba09070f6b140a943de37b76f1876ed6553ee7c585c3f0164507d38f5bf0219ffff032402fd5a9dd1aebef066b717a6a2b95527b998ab04afbf4159cab68d3176b321032c8bdd1d925ac6b94ec4b76b59243414b1cdb054a437d6e34e12ceeed9ad3da6031005fed30399c87eadb270372b92f785af32d85682f34c3df80631c9a24dfb6a03e767980ceb629847f1484a6abd489c448dd075d2da50dbc07e8e6c981438f1c603063527edcf84561165d0c77696b7678773c15386050ec1850ae54bbf0adefbaf0396e9b04b006a588b0c1e6938857fea412451eee3453d8369c68df2172f1e3e930365c298856b60f26ec1a69de1294351ee39b223f4d511802e6d39e8c85261b21303b9e690d4deab7208f4990a62b55decbebbdcb09c20d4546cb74dee1a302f96b10327fb76ba183e8a0c6b57677ae5ea15f3bd20dfdb5aed7884f74301b6c6efdd9403050eafe6d3aececa778f3c0be2d1cad3e06df7589cbeb1fc4dceaa5089889b4303d88d7efb144d2395a915d4a27df4917ca10cbcb023a6225ebe0e6a6ad12f425d032559fae2a5856a0819796343c3efd3916bdc1aaeb7303cfb6cb0a18e9a84d0410326c97a3cc50e857ec45ddeac48ba1be8bf69e9c9d0ce37ff294972310d19118f03ae3b21f7cd27c216f4372b46371eaf5a264e00577dd26ea3d2fc6bfc3ef7502103d91e64d21b53b42dd48e0fcab4078cb72e4c0de17ceba1a5ec3a9033045327d200581f0392793f2f6ac4131aa880c9f31e9db22786cc15c4c9ff8730758cba0a518044621b2af400581f032c2d3a3fc775caee3a7b81ea754a06b4f35554fe587fe967c59d5255867044668f2080021980400383c4393af3751e059ca0e1b502559187ba08f7acda21f8ffea38edde4760579600581f02f3007799e6c98c2d53d1ead62618aa1038248421d6259f3444488661f29a47465b9049a613f20388f8cce9f8a23780fef73117aadf5213ee55631c11657c58366d636ddfeed49200581f02d6b6515af13b3bd160f3988119f6822cd34eae7ee64e555c338d6638bbac4a2b3d42c19f18d0bc198000581f029d9a9288d0b349da329a0f125ae0d7d522cfd0b9b862bfaa16f24aa3f0bc4b0239c8c8691c29c6cd0e0000581f028139701921182b490466b857358ed30933d92a50c225b7cebb8e65cecebb4b055119ccf159773823d20000581f02e521f74471d82a818f3280b6597e3c3ecedb126ee41313fde316b7f2321d42271000581f02e4bbc85422acee6b4e5a1315e9e2c09901f49d15023b78c66791f9e253a8445f8f7f9700581f0272efabc5752085c19bce70f1155482f30c8a22a7c6df5fb5d5b8275ddb104801d7ae91182dada000581f02f402266f1b03e89b3936ecaaef37df3cfa51502ae04f2b0dfed1d9c7110c4227100219bf9c03a87e75a77f7214150211228311fbcea0c2c4bfb27c7a906056ba26f8dcaf94f90219ffff03645a2ecdf1594ea16827ee40410f77da94311820b6a8514b22126efcef93b1b003e9175f0e58c1b3bac3e0486c9a985c74c09941a8d5f27cb088e746373fcd6782036f2ea67c92ba09508274ca5b18c485030d17bf8e48f116ab079912551770bcaa033e7d57ec935b9a062ed2a69e0aff7a3f6e0fd1d89e251da0b6fa8779811cb87a00581f02761e05b2be816d0a3edb7b4f9b25d8e7f91a2d612205e17e2e300a86e9de4702ceb100afd57503bb9de706216ddb668fab945459a1906f9689f261157f3ccfedeb2849da71e1e200581f037c6f4399feb1276730c4472f8fd247f4ea9c1ff52ad0513125e1cae50c00472cc56615bbc4e700581f0301312488d5c8955615f5abfc65fe74e4143a1a028c1ad3a810339d3e15004466fdde8003ae6f94b7e380f34963dd2d5866682a8f28cde0274b28f325d7ee450b565aff160219209000581f02493502b4e59aa5ae13c3934c776c7e62448de7b052e3223803a7261369924a2d63d5bc41cc020f5400031b51e17f0df8b640f52228cebb4c134cb9907a2e882f3e2268f4667aa76512d600581f02bec1a1f8926a3736184651f06b5acf43c7ab66b94eb4ae6ea77232d30aab451b639b0f8800581f026c8656b2a72e3574940f741d62aac3315dfc37840b297fb8b1f7e6d9c0dc472942fdf622bdbf037cacc2068bb33c7bd3c185e7c281555d22aed2f075acaa82d93cc1671ad1150100581f020a9ee1e1d61671daecb357794e606989b1d63b9a7a2b0b153ea36cb8179a4a01ba8f59a38b2223488000581f029d9efb4424e61498be927714ac4519332e01cf5f51588a3a62d8638787634aa713ed4fb1f9d31a668000581f02df245921510941441d3c201a2260b1cd112ab0b2a898547abbd951d7d0fb451275209157021947fd03a692941a9a30593a2688c49d394e0180f814dd1e97cdff4466feb080d4dd3d3b037ee7abed2a1ae0c839d58306fe55c575574c1dcb17ffa58e7d1e6816208576e30337d1e022c26f11617e0f2785f84d0deea312fad24bb3fd891b097b458cfe01a8035282e94fe3e1a1c5fc8c1a3619ac7e9db6dbce38e5bccc7bae7738ed1427339303ca1d5c4e1d30fa0e43c4ff800b07e69b544b584aa6d4a1a1f0a89daedb6be804030bd639367b7df702650ef94dbefeca8dd014fcfd9ec40c6c15b3e1e335bbcc71038b4c4d9b3456d567f5fb061b7afbb344767b95babc47c1b98e1c1be7c9eff58603d371df836a4979f0a2dde5996db520a0bf218bf230c487b4c57b35f6041718a60309c9424f4608ccaf315757e8e921bba7915b90bf1c89d34df981cae034428d5903da4eb0b89a8f1183199d5879e7225752fabd6ea0653611e482d8f6747a9e3f2c033464add26b915d937a3e5dae63e618ed9bff0f0e555e37daaad7336d9d2d370603851e3a18cd3aa024648a2092723b6c1a06975ce71e7c068427fa0c637738b61f036c40f648af357adbaee44a6d3a80d21b9a6dfd13385e4ab3640ecbdd311e39100219ffff031256818a37aaafad92fcdd3f4ecf49065e3760e41974dfcaf054d3494a2065a203a7c7ac949b7a463f159d9c7962055efeba739312ee92ff419e35be3aa89e4d1e03f76aae00c245f9a77713c2813326f5f14a17aaefa3f7d98598dd20b5c7b6fede03f871a0d7d7ed98e52b54f481aab60b9e12ac2b5b3d559edeab04515de24ed3f803bc6e27534bce30838a96d9d8021273c93ac4025da9a5c6336ab60f60eb53f32203d3211d2df6697a25f316404760fddfb7f9f8b7e3e3205dae67ddf35abde9f06b032e5b89508ad7974b09723c1640f3b23ff867ca77e56d454459369773c9c4772103c1df10e1981ab984bf52f32b0b89cb1a045a0397a82bb68e92b91616c262c75a039306cf861159472f2e0a14d3700494bb70652e010a8c64e0f399b21b5ab9ce6203da47b14b01e6b83602a3d4bd917b9aa0e3a24505ac28488d2e4c46f4c59f190b0307945a8a03445a6cd5bb455b4512773c76f6e3d00e1407329762bf1bee00615c03fb3701be12436912c733bff08bb377ef16be11d8ba3882ead8067e4f44caab150366ec5f639596d63d168a9060e98aab500375fe8e79e2f64d8bdcce30de2b6b5c030880c3f10ee34d1b1f80daf87227b033ef194423d52e724fb46154409b6bcd34032543ba6bf4c12675ecd8bd97e9a0ea19bd77de188c5d13473e6adcc27056987b00581f026890ca42a712067aefba74035e1fb8eed400315bff63c0c22c3a324bd1a9467a6eb420d58e03927664ea502bf61f755c2ad6b38e7c1b0f1d48b5a6f4dba016b2bc1e7296b297033cebedd16e77ac103e694b64deaf613fbb5fb58bf346cd39e15678ffa04b7b4b00581f0229d3015a73f17ed89470b14001cc858fb42f564f5ea517d21a1a6eee5509473688e10c69300f00581f03803c1c90c1dc2a8350fe9dc08f71a79db721c9efba4a8f68d9ca0372a8a0480515908763a66a5400581f0308e3bc6952e8587159a70b609768f9d87dac7633df920c810725a89ba97047afcb3a84852e290219080200581f02393af45527a553633f6f0cbb051ecd118d393181dd9ec73a72cf77d00aec471193f3390b563800581f0267bc73363bb2c4ad9a2f25437db5c73aa1f3b1de47654ad93e475fbe28174a6e64f6e7a8bcc61eb08003c15963d898acb5c90efc647270257ba59b6d2b32ed5a1b6adf22c4e0e0fea21e03cc0db26884c82d43840ca3d27b5b608ddff1f2f44fd44447d6ee879c221e2cba00581f021ca0da035181147584e47678db8fe5b402eb0179ba0793c47f835fa09f1c462d9e6566c7f703851aacffce13b90f69af50fefde57677e7306e07aff9fce36fd90955b67a37560219747f035c68578dfb031112b16f9bf5035ee57d45583557b8da9ab19589adb536cde5d70219ffff03c2c7cef66674c9d99feb6f76d065980d4b97726493c7b0f341833ce3533381df039e811d88499a4b2de7706da1d340aa9df4d2301d89a72849d39cb4423edbda7003c4d3b33a1ce1972ad42f4aa41c247f8dd73e1b8faa29e5b1a0f60d2325a7751003aa98be411554ea20885baf776dc6a9340128529ecd933d23e425a548df4184fc039572e670bfcf8dc23d8282ea7a225d0101b2427d9bed68efc30ff5fe2ff5377a0322b1ae9ccdc253385a460cb302a63633296253c3a125084296c88c5f0f2ce67d03b714aae909c7267596c90075486a7c361de66a99a2fd9c52c14911ff32bba37800581f026e3557c55ecfd639f8354308c922eea22850b794dd9246b116d08084f88f4462720aab033d8e9dbb375e0dc0de5d60ac40818071f5c0d720341d9fe4c0026266b5b8017c00581f02547a53e3664e31c8a2ea060f37fd87abbe68711b2d2cbf51dbbc333f6fb244633c182f00581f02d2c864a21d911ca2952638a34e96f8c485e4ed107e51b11260db7e458efb450b3ef906f600581f02773c28c0958a7fc1713268a88644992768f4b2d2b55983027fe7716849714466eb698000581f0323feb9cebd1c59b9b2450e683e95d5c3a8c57d4c5c40a7f0d72408f7ca1044668f208000581f039cabbccc8ea30ce93f4856f4c0bebc5e47d93c05cb44959668f891e383604462823ec70219401000581f0261186d80241a5d3e85f758119fb3de6902ba19039d6abb405a244c01e874446673654700581f02d5126e8d91a92f18673a9d02925f0bc65712932d01661643523a78fc7067460dab011b71b300581f02b6105c5062303447562f8657c4c55659b9f673e5abf23c3847bfcc100af144668f208003355708057503e461111b8f8c921da3c4ee44430c6360c1cbaf34e9ad5fadf60a00581f02402f3ecc48f591f352375565f04751c04eff572fd3085d72deef64b201614b6fbac6f1c9e3caa4df278000581f0259be4d7ac938e0056e675d6885dd60c1a64fa34919c432f9a579d855d1f14b0100c93d49dd0b2be7d78000581f02948bc8522040c3c67bfd3fdcbe6d1ce672b4cecbed5c7a74236205a62cc84468252e800219f9bf03ccb60b11a27a53e990d1ef6d5a11e84208e622b589e99e89bfb3f68eabf337c6039ac580a463671b467013bc3fce85cd9e717057b84115e906dd9925b9037a9ce103d633c94ba245018a99fde6b4ffba655255075723c467938562e2fc762c5c1f5f033c9745f341bc7f9e97787bbbb1c52e0b6363b0aca021fe77a67dc8d768ad584c032b36bd0857d32761e51d16ea3b6f56d81ae71e39daf1cad5006a7e0c4c93adfc03a93f1e28b3c88ca3d4abb462effa23ef5a73dacd025320a048b6804bf09d44de032f18b907b0d25f05b175d1c5c0f243c57e845d1d24b2014990be128c1f97897603647a907b13c2ddee811bf52563b9a655a10312ddb0761e3f57f9c74fda384fcb03a9f68ce359c164e829ba2cf23d090e366cf27c4c547df6c8525a93e5727923d800581f024d430381c1efd825ab95f2581b45cc12082eab9ca2b1565b5c7b6bfd4ea3446d03080003a4bd8c49ee979ba4ebc9ece354f419dbd8ecfea91b859f8f69c03c093ea7157c030393110a6be561bf9b9b94dd63883801453bb7d21c1d0a19b3b62ce8f789106300581f026629bee87f0ae9d104e9575564de31c517617c8cf8476ae060a2d0421ed4446af5018000581f02845c9257d6d5dcb05d4bcb8a9f2db4327d6e38753defa98677bcb7b522754715783d14166696033fe6126fa36716dff3a9afe44585792071c6b024f511b57d99731fce139aac040141060342ef997a33d2202eb68e916509710b324a0a175dd8b2cef945ba502c61b2b640036671e4452fcdde32348c69cb9dffef07d2d304124279b88d97ea4637fadfbea800581f0259b443ad6bcb251d4f33bbc15c1fa25442a53cebed5650cc8e24b0aba9a84ad3cc236cdefffb1120000377454ac8ad2a092eb5d043d2628ecc56a4889c41161947fb58c70cc68875cc1101410700581f038c5d6c4cb337731501aa9b7b1ce4c8ba1d891f71c2fc84b39f8a33e7fe204a0d83f1cdb9241cd8550000581f03b487a1790b9ace6f869c97e8ce5cb1737cbded149fd40a7a4247bc07c1a0480de0b6b3a764000000581f03741e1a500cf31002cf4d0b29b5abf2ecb25bc24fd4360d9d9b4a09e61ac04464a7da9300581f038d5de58c997798c55cb51ec527e9f2af12b2cb42abeff7f3c0e65ae18d30470af6acf683a09400581f03705d76bbd9e4c0348e8b5a8c36b5634c5208cc10da8fb6c54f506995c9104b0237df564888aa2cd8da8000581f03d73228765b057ba40a5c6dc0d24c0251518b9bce6823f7097d1a0d5836a0480de0b6b3a76400000219680e00581f023f781a873a766a471fb84b48400de6e7006d4dfe65eb2d0e978c8cf144d34227100219fb6d0382855aadda13f700e853ebc07979a123a51f15b95a887aa08e650b287e75835f039b059e73690b83d7fedec46bf9079b3ba9e63c5d4a3cd0d918136f9851bc0a32035957a5a68a2f5db228585fb44ec2dfb18e78141417bbc2b2d6f828f17143fbb40357ac94a69cc2e757990115ad2cc4214ed6c8805a9992159317ec7df6db48d68b03d1d40951c26c2a2921404bef350c4dd3d800a31d132796d628f7fe8d22f06b9c0219ffff0219ffff03959a617ef38a566492cf07191ae14c27f1d7faeb461a9ce9bc17c4e12c1a7151037f19ed2fbe2d1c87fb0e2365739bced765649d70f34a0df0e103b7fd6acd4b71036710474adba417be1682e5f45b84de80c235647275e9c7343f637896138a80b9039b9136f71286a2baa5ee5d67b582a61d2a8c60547301f490ebc0fdc42cb6b82803ccb1e946f41187e2a370d8ed0ed99f89c04bcf070f7d934bc8839e8c74eef22a036ec44b5d3f222560698f9c1f24226535bbafa857256b3de2816a03044af402a503c0d5b0d1c0ba3b0ec701541294c80df4a08354f5890571dcfc67d666b6e85f1b03814e961defd68656ba3e46862d332d07be696147d9a75500c931cb96f2593a2903b588880a6cbb2043b40416b67f9312673891ab3079b37a8530632200d077c4ab03ae18d9ae2224ae6a91597e72dbfbbf3b2faee998759beed902ec51c4c5b09e37033fe50e3963fb73f4e2e1e78e1d55e667e917262841ad37d38dddff9dec2bb814030250c08ef8ba9684d07e1baed43eae3f695b5f13632b9eb4eb2711726866d0af036ef6c7e8c378a099be6ab53f5135654c28e1f6bd7582ea63acec8ea59d73877503c8cac24f85efb9b951edfad24bb53e09acc69b553dd6b6affa5ad163e89b53dc03dfbf0a0c67e2a1ecdba621334af6a6f0f76e4302fdaf50c42d50d5abecc37ee2039159c58c32571e33f54056b64917a41c479ad2c546f62a7f63f92b659f11882c03ce90c0e5a61270dc459980961257510ced932995e117ad9a160dbe116857929200581f026c1f43469e90a90738d3e1366a62720a90068fb2c668e67070cb9e5bba6d4a3c0d15362f5c5daa410000581f03656854b6e7d03177ec5454d9f4323e425c81131271f8131c08d99b4293c04aabcb5e1142fd77896e1a00581f03f47e17a714fae4d52596c9ec358958795eb65f821ec2203f339c3357dd10480de0b6b3a764000000581f03f62fb074593e27bc3e499f29fff8408c4eee77eb9221697f8babc43c65704708f35e75b714c700581f0340b2638e2dbd53d87965fda7c984a152d688efdce4dd130be22575e57fa0498a0dcda6f3f5449f800219055000581f0292dadb84d2024114a97cfb58a560f5530f6107fce2eb0f310f2d9e1afd794a1074d5d52e64cd17c10200581f02eb57d31d8d39e4f7700d10421dfe10adc670b497c480fb607fba99da541f4b01389d4f0b19fdf53b4a00037a2791caff6277c4f1cebc4b475de821fb8d8957eac98df5d7a7c790aa42086000581f02e29209cd9ecd3ad1544507db3a9f2d6f0358ff93484d89ab8bf66fd76e7a472049193100825f036492efbeef1b2aaf8eb5dbca23db58840fb8e84b809675958d919f603ae56b6300581f0284b8698247858f4986d68861bb72fcdbb3ee8c83e822b18044a3ad477b3a470a07ed428c31b803eb9f08a5f6436166f3aff6cd25b729adfbe62baf2d050c6633a773da7b5422b9037b5c13e4b6c0e694b0c753a5e52d29fdb08d71919c26a3d8a3cf206b56e5aaf202199e7a039193d76cb8edc2e3c346d90f25335a36cfb56873780ad684a7e2ef5e3e81176203bfc96eaa567d4630fdd02993c4dda2b9b50fde8d38e517a3981b4c61692c6baa0219ffff0313905e4c14de3e5f91d5c85870432bfa824c9b2fdd094687b06c8e2a9166bf73039c3bc93441d2f65707aff299afaa9aa6990efff553d2fd624050af424f9fb2c80376acc02aade5d748c0a19eb60617c2d86e223afc6130c02454c8270a1cf1d05b03a9e64cac3102187a182067779c9bbebfbcea71533a01cd05adc909839b3b6cb60317099a8a872f7cb45c3ef756902b3323a375181a66f08176948d01e513e2789103d6e7e070d09071811f85b2ca4d97b0f56422200e7c71b8089671c63bebd7fe2503247d82c6a5ba6c4f36d53834417373a0c5896a87b4cb37cebac7a52ac54f6648036fd6186ab77abddc433f83a4623c1e9cc9de088d29adf0d9e5010cd3e29b598003bf5df14f39d3ac8f732d65c8f10b77d75ff9946f7a0b461ad844443cd603162403444fe684457b3d5031727307f14ca974be02d2dbbee9acba32e9262bd7254c62038fbca86fd24e261023cc1e12d0e273cbb58460d5e01e9d551860bffb5d3ae74503f367157b34bfc3b5d85f4fc8b4388d2e981d37e3740310919f41951a07ddbb190329ed29a1741f33c6dca2a232e000195ea180ca71bddbc53600040e88157f8eb200581f02db6a5c4a0c9344cc73de67602916e35b1a040f5efab79f7379a3b3d2129d4b097abbfaf79c9d674feb0003dbd896f0db8c184f851164bae7ed246f017e250f1b1d980ecdf401b2515b499400581f027d0b15bc51d4c1b2574a2a343df7873b2bc2ed4d9edd184621f77719ac71470acda1fd48733600581f02a653f41486fca2e0e17440149f12e71c7cfd0efdb7da17f3276ff9a02afc4615b7ff03015100581f025f7eba945ce2373f63e14a1bbb0f83c52965ee2e180b71d93f57269d3f6a480de0b6b3a76400000378a2fab97050a2896b066e6ed25ecc4b029a232c8bc2f9d90604436c3a18fe4a00581f0207853cd8daaa73d031617f5fbef53e6950ca68bcfe7e40ade98ab14ef16b44633a95b300581f0202079c6c10b8424390b1438f3725ae12c10c98295017d9e8acf8f4a60f8246eaface6006bf00581f02299c68cddd07ff969a0539a1294baa4ca2e88be8981c896e6527ef93cad047525225d735539b02193efb037836999a5f9b1bb80a2a78f2451937723ee8538cdcb75121bdd44174ac26c61d03ab2cb0f86a65256359107c69b2eb7f2f88596751edf6c213207f1f94c0669d4703bce5a0853ab6dfc4875935d9ebbf65a844f0d311583a02817147489b247841b503efced1bba2bc57020e107cada9defb645248e21ddc8ea7ad81e05f6c0f775ae80384ab3ce036ffd34631b9a18db8ceb39d33f4a7778fc1f880f7ba80401a88266203771df4988f80336fd8e4a53a6563eb761d2d6bdbd8a971fd5143ca6d98b299d50305ba4fd2bd95e60863771c9016ba0238049e926dbcfd19be2d3a493473583a39034ff2c0597739bd9b6353c73aa6d91563178a663bd77b8d07d5679f43f8857174031836d676e34465234b432a01f4e8570f3c4c5c740bd89bbba61ed1c61408af0b036cbe3df740eb6c2af6523288042f4a1bb4f9e153398a2491ee1a4905f0049da70219ffff037e4ad734df2e203c6988be9f09b961fb64ca5acfef1a15acc32bb4bb62cf39b1035db1e3a77a971f7a010235fec57c5152f3a2c515d599cd4ebeaf794e8e7c1d3d03b3dc5c486eb12f7b0f486548f7ddb68895c5feff7cde177bc7f4e17be040704703ca700e56423fc97bdee70ef71ff91e55ad44df35a74b9614fb3925c58ef1beb003a2dbc34d2504e7983fb2eee0ef162986a14aaf335109cbd32d45cd66b002cf800367ec936c58560a99c8ee8b1daf9226645024a1c965f4d83bf4e088cbded2e29c03224488b0cf1f4f1c5707add791af9003d793e98386ffced41c74c82ea26ae31800581f02d99761335b4b49c0a01dde63a578a62141eb435b26b85027b235b18585ac44691e5a0000581f029a741e356f7171c44a247f9d64f62cb033ebc63ed2c4ed3baf8d18648240480de0b6b3a764000000581f0201dc62b504b32ca1c5949db0cc9f531b32db81be20ae47a5204a2495dbfb4a35865965d2ff7a45ea80037f1261bad4dacaad014f5b0bc36ce2376f289c5be1ebb10a3e3ab5f1c917e6be00581f02e7d55d9bf5ee61e80ba817a69eec92513a3e750e85e2d1752cf75050d54c496c4b7295045ea40c0000581f0287c6082a853e11f1ae2738917bb0dd97dca08c03e8dd06b0670cf4ae0b35446617280003c11b136ec0c1920b66f41b869e956d5650c6e329c2e8fee862ac1f176ab5b9a900581f02200e1cfa5c5465760f702425355fe6400e5f17f5fdefde686575494e4201446b359b0000581f021c88169760732f2aa857e2c853ee91a9da81b8501dddba0f6190d7f33f0648026f8280f3feb7e300581f0283f762aa90843d5900a8449c64c68e54d047d81d657cee98f5eef5cbef00463d2d4134490403248cf96f79c43d009d95f58ee2731972b5a948c2ac39e0d5f1d71c8f88c5d74d00581f02a64c1d3dfa018d40cb8e8f4c8e2abd5156e99952d72419e952d31de7623d4709d400b3a3c5a50219be7f03a9ca347dcad315b03fd957cdcde461b15a85d871fea782a711aec25f3774364103fa5649b0aced07f6059b4b1b63ec1603acae456118d1f7a74933d56611e29e0c03ed0b3ea3d4218b3c73e9318ad1ac22269d7aff5b48d9c46223c2d4dce284f9c603b34df3a5a897c1455a4ec79e6bacc09d626d1fbd249b02ebda010040d0e3b0fc0327b054a8ded8d32fd17a6c45399294d1340f88ca3033d462392d066024570236036a0957c709eb5e3bbbb71cff7ba0aff66b6a883b587ad88e5f7e2358fc03567a03b47ea3e17e29a83a9ab5400a8fef0f9d7dddf88d04c8c7baa996d09a7eb0ed41035aefb33451e57f434a06c24c5fa3ba5ef2132dd35bc623e8067a85682215001903bae342089aa05b02541d45044dbebd94236b5e8507b318b002bc5d09d952dd4803ff71b6a3585437d4af98748fd026c44d6b51081f0d23eba7a50623282860f8ed03c36d9f56eb9190a4c39197d7bc217e523425c2e4f204fbb69296b209ce13e2ab036d6ac2a0ebfc28832bb18b263d7d01f07f866521d91776bd1591805834ce769703ca2dd9f4d8443e4f4b0f5496ef9a9be150c88390eac66dc0be6108547bfce9bf0219ffff0219ffff03fb96f199b5e51e69c68d6ec4b7c482c901641cc1588f918e888d05d2e77fb84b03e821b29d2e2ce44fd533deab04a920452180afa0561df023761873d6aa6b6e4e0330a91c68b2b0c21df50c89743889b66ce2b231a0d7ef8732467b1b660ab264a20383abd576f9c4cd423f0d5d0f0785f3b1e53abc6d2de7da03acf9b323b3cd0b2f03cb453f626bba3584da55ed044500431e0ad475ef5c6f9fd0f82540508622739c0341a44cdb37d1894a32ab644af996603af8d3732e6e55f960f9393e0579dd824d0393bd891c5e8ebb330e8891087ed5c55edb8ac6976b8bb12af8b5680e9f566c6e03a34b831bae58a89edbf874be8042adec02d83184d56da498b019e506652a0c280313481d1996d00ca88d9f139defa5791976039e232fb6648ae4977356ade3239400581f0219446b74ba1878ecc0dabfb0906882c52262fb4ca59dc354d650480fe3454512a072c8a90306e36e3708f18cc94d5aae4fe86b437dc2700fbac5ce3c98eb46b49af515285703b5e122e66f42734847ae8637133938b5f0eb3816d8715af8e5cb40a4ef60175001410b00581f02b3081e58454b5495e9035d101e09b0237a067ced899209ce98e215c4982d416400581f025d15d62f950125d555c438dbe596bc5053670b8f776ad47819b84f22cbe8471f41a0a3c090e703c445699a833c4a15c3aa145ffdc3dfe69c2204af29062e71b60b41416464330f03763d48dcd08a2a28970c2173151a9b82e669442ab3acf2d8222a577d8f41267e00581f03c5ea64e842a7a4113f63c390dd47f7bbea9210ef2d5776ad9ddc7138ae6047069604dc78139000581f03c06f2c80bc7f48494b7b5dcf5e5aa24c1b5bd7b21f9ef0d2fbd6bc787090446722c88000581f035f12822e7b1a8ec1d3dba5c3d8ee6ff2b40e5bba9d4bfe67e6baea1bb90044668f20800219140203247cafe1cd4dc370cde3a206566860214af1f84934c5ef33a6f6085bd60e8d8401410d03361fa5213c4c86bb97de6f6871152a3084dce5319605a5dcc05dda9d3d17e2f40380c371775f43d4014543d09e794425dd1f53c01bba75dd2a1bb987268a7a417103c27e1f7e2a27b6f817ef53104345f1d1a614a45549f1453cf48313cc30cde4380219bde7031f504b0c78737bb25daa0e18b74a4314c332d410349d2c2845383e01b8a863580331b2ec64e0ca8ba80bfd40555993499e8f595b639057bf7f358bdb90071a1ea603d28997075113a1457833e31b031979a244ba37d8492e11b3d08c638215afa73b0338bd4ca7a91089d423d16b816ffa5007dfb3f230bcc680abf1e10079c7b25db10376bbee7b64b2ff4e6768831fe63b3a3a3e7f8497766d8fde6758f4cefe29b0480310974309d2ff25877d98873f212a241899a5010780b774f239c492f2307d742d035d662cc076e661f2928e75ccf943f086aca6dd51ae2059a165b7936f36ee7fac00581f03703586fec4be1ffc57187d13dd74bd0015e1fec42312fbbd9e199349695048055620dc016c45ce00581f03fe9f59bccb3d83f6ffdc1415ed3457a23f2662e093fa9d531a83c29aacb04b02eea370944e340643ec8002189000581f027d899ec99637dd548f1857ee9b84d9599bb677846df130ff625a26d27f564a285f7dce51bfabcf108000581f02db7f99330ec7ac8da01e49953a86c53f0ef4b5ae1138875953e348171a9a4712af3759e2052a03bce407ba5ee2aeae1e93f5ef2402c449db0fa930926685df5a3a13f1853dfaa600581f028c7bebadad4412a03c830cd30a7be732b304e1526d68acf7de8d57027a5c46e9b5dfe65efd030ec192b5375705cad3547e1e60789108d80f0fa9774f962b4a4376740962b2ae00581f02f8664bb9c6089887bc8cdc63c5b02b8699dbc56b6a1fb124a436e5fbf8a2446484704b00581f023a8f6bac2d9fb3eb87e87fdad3c7efae49d8cd8920628d926cd6055d20f644667aede7030073389067a38fda8aeb08cdca8118d9b12a679d5f7aa3879b490564687dcdf00219b6af03a0c498941e988479cd50d6bf4a261a98e30e093a45a10fbf6602c428c9c761be036b557add497c35bd5a333e6572acf22614f7967a1ad951c830f11ac683140c30033d2c0a59f54586e2dd83703a84d9264f38bb8fc9115f6e8a4746ccbecde59bc90219ffff0368949cc95cef7360f3b8535024cbdc5393494e627e34d53d95494c98bde56ee90394d0d8152d98985b719b7d432d5acf0c67902180c140ca0a08f6e09bae494dc503c4361ad9441730a8bbb3f8ba0642b4ad461c94813f7a961f14853b27f99557a903647e5698e064a21eae24b60f6059cf5200856003a6f3b41a36228c2d341fc415033e26e739acd648d6113eeeacd2cffb1c565727554a40cc23bd466bf24db302b903996affa509e9d87cf024a348e49d9f487a9c17132fb7aec1e3a4e7440d4560ad00581f024a6f6405c1e4b25b3b3f08cbc9384bc6c5f182569e0d1436151acca4e85f4a62444a6059479f8c4b0c038d91917ab104bdb4fa1170a1a009da9b3607eb90cd5b972cd299bea0da5d944d00581f02fb11df6121593d29a48c439ae254cbd13d148f593ce49f201a0f6724ce1d462f324c46d7b60362d715c17df75b338a71f88fa023f95fe0a160e065a93c56987e753b75c24b8903a922738c3878b8e664a0b441e68d5c8619aa3a9cae8450286d3716bb4375523d01410d00581f0345d22761f55dee15df460aad318f2d14ca651725088a9b917b78bf6807404612c0572db2dd00581f03a51a5b0845190cc11238c86e4211eab1551022d7c9476c5e08aec4e8aac0463494c95df8b200581f03d007b9b5e5e2c858f54070e9ef931babf05987a6f86de26efbcaf5de7c8044668f20800219422003f4070d4e769225ab3391899893f594767c700098bda554ac5a11af7c03efc57c03dba1c26bac4a96c01dd72b52adae622b9bd9e21312b57737fd149fd0a5f553940141090381421ffbb1674abad0c31896f691ec21297648cd47a65cb6cce225f9836e9591030c3be03742b7920bd79f513905114b5ab51ee1f4ef81ac84f350dd22be58599003b5ac2274ae07bc113e58b9a7eeb02cb39833372550eb6198dee72bec045f2f8800581f02b067f513ae33a4d301ccf6bbc4a8b880afa47e78583288957b5a11873edc472ccadeec3efb7600581f020b79024f3465266dc0f1166d8096cc308315b86ea58bb95b89fbfa1deda0446b5a850000581f0234b7f519b378229e59953017834b03a484e7dc5c7cb5d67ed7fc2dc75b5a4613238391d7690219bbff0315c8842cd6621839ad9986d07c7b20bacda318f3213e6916f6e4b0add489546803570c45ba9fd08c450860fbb175d94a2213aa31789a4e999698fdb8d89fffc27e03ba3a421a95ce9408d04514d2ffbadf16b01285c449192e317fd14fd4d3ebc396031c853def8a08a55914de80b5c3e2f19b84ead2a88f4acaf6b74d0279c1be452203521fa325accc370b870978dd56a63d3b1cb0fec09fca29cde589d743d179660203e1c901f07b139f14106afbf32c4991e45415c818f327bb9f4acb20a46036b8ad037f91cb8fda4acdfe90917e87469a38cc2305567a0343bb383d28cc8fb04a14a2036b4fac445c830d41bc5c4ab9208b65e68e0c2e38d9bc2844d3962f0c04cb5e2903bac74dc5324b4ccc193ec29f1075235ebb71cb51d1a85166b69666e48f0ee61a038a9118b8001f3005e4200a4a38b337c3a6f8ea6ff9afb3de7706c58e3cd3b534030e657f6c252c9016206564230970057a29f162a640d6e892f9fe059d48422c9003d6aedae7ea85cd95c23b8ea2f9cce195ae8f35ab21dc072c630f2f54ba2cc7ad0219ffff038f031bd342a07b15d719b546ce168872d99c6998d5913cc5bd90947f3a0cb31a00581e0299afc9269b389e0d266e8bf756c829603e67843da3dc769c18703e094e44668f208000581e02e330310cf401a89935e63009df8ee064aab16dba1ab760ba1d61fddb8f4b0adfa99893b69c7040e880021100581f031343d6fcc00cc8e35125f75cd48b72f3c1b3ee25380f052f490b3fa98a404b0bd13d83d2fcc827a04d0000581f031485833176c1f1ff7e19ae7f62bda94b178cf729dc81b2bc785e9d1a35904b034b15c63c5b8b53aa34800219c002039e7ca19129700dfae59f740b6d433d508a2ec83af12ece0cc20424af7cf49f1700581f02f7b7ae57d399e033f18834709196742779d48e2382b364a943a0cb6271ca45fe65f1f2e6032cf64c63f474e9839a0d2600d5827b43258d9c4d47b8114dfea86cd58c7bd96600581f02e6d41477beaa00b876112d8e1e19fbe8838129e0a029ada4fcc0a1b7f0e448797f473b44afbd0003bf5c73cc13db5209f25605c95391a9d10ddcbd9c1458460284670cf74fbcf62803ba915d1e74be0652900db569c11d121f76c278635d1fabb249f96adb539e6ae303cd1da619fccf741bad2b213f5820fedb24f4c5e80f42027340adff7a4330f2d403491a870b581877a2dd20939b182fa220c1b19e9d55f87f41ecaf3d6e7ab0320303f10664e428b457168fd07f823425fb3de3d4e95b3b669a6ae5117085e8c922a300581f02fec00e0923255dde798af725d9dd9584be53624a95ebe2d0143ee95aa10544651db30b02199ff80314df94eebf42dc12cc37d0c62d3d15befa9db661d62bbf957977a1ce7dbd9b9a035e97b6e38c1085a426be4e44dbf3cce87c8de69aa18f5d83a272b76110dad579030c031c9cb9ec47456852023fc24ba2bcbe91079b08427e44f734b3bbf37dbda3033c15c3921398ac3533ddd733722f0d6955d80a9fd632f40b3098e6d1b801040903718338edeeb040f754ad4e0d2a622ddc347a26056158d1cf64aae0a02fb4c18103af01acdf75f9885a5db632ca6dfeb19cb06bd6b1f904cc8706b8078d1ec3c43b03fe8018256e89b207880b4ee1861f8accb2b178b8e3157c67c40bd3fb8db6edb203fdf1d01f6e411a3f4524aaef4a34a80c48131eea3c8e80b4f89c9f8c2f0ff74903424f60c5400cd7aceb2ab13a216d5e57319edabc93430aabc3e422dd2fccbfed036524c3a84d0faea236dce4a7654f7cb0da342b0885efc2c0db695551e368183f034ee8fdcb4322e2b7210b784123982ea5d83cfc5c94f158d2a695e422c270d97e03775cd3b100765bf363bcfd958749a38ac8a3e186c10ec8e6cb59aec69bbd06f903b0120f4fef9c42c7eefec231cd28f3291c19703e27f83c4536ab82543467c7990384b5975e06731d89a1b5ff9133580fd73eef0e6a673ad790d32774a76036207a0219ffff03d8adad05cfc4115efa8b17f396bb8b2643e2266dab558d317ad8378ae21cc49b0353ed1063d81c9c40a8e511ca50f18398d30f0dc81ca616e71ca795f4178933cc0388ce25394e3763c4aba7aba6edeed6a205f01652e1e242d9b36a50be6e9bfc4a03232673c4e575bfaa6226e644641b5c3b4657d8ed1cfdc839b2a2d07930c367b203f582f5b964c12fe99a42333262d3f7ed662e054691b967c7b38248b9169c26c200581f0287bf9a70e1c064570a4a24b45dba7e411fb1475216f77149277cd36af7794466736c6703fb93f061381f34501ec46873f03a5d95e64925ade658c549e826a919a08012f40357bad763eb142b71e9ae023b5688e2c0a7f3ded157f3d314550b832873ac708203857b1f6d893ed8b4cef856383866d7772acb4c5407131b4d2bed5e68dbb94b1d00581f02c0c510f7ae077b9f042bdad386b45c00c576302a43a24c05f653aa12816a46043c81019ff300581f0210e2d6991da0a2a6e1cd840697feebf85af63e87b2f9f565cec61ff914d5446a581f0000581f02ce99b3bfc4738df95c7ccc93d71ff04c40ba7b2da431fbd11ad30c929c5048073cf6ce325023d403be74b5fb59c35f209b809990a965fb411a3069e608c44383be841101ff61db5a033225ffad91fccc7940adb512f5af9df66c5066064a7455e4244373c8be8beb5f00581f0348dbc96a0235a381fc440e687ab2b8f428fdc12d2233a1b7be9a2f2be170480de0b6b3a764000000581f03d8c9dec252eab98726cf11519ab204d8a2d721f7205e0442dd26fa9ac060472b728c59ca86110219402003fe1b48c8d063fbfb9e123535f7e87fe075ad182b2d751b52316f93bb5b2963ef00581f02bcdd6cbb20cdb3c17af778883e7c0a4ef4620c934a6fd137cec4fd8a152144640d8e0b0219dd5f03c41e59400d63f27b0dede29c0f6d92419636e5f41eebd0275918d737794c413003076ed0cd11e20e9860decf89b5b877e72f9baaa7a98855cdc248824463fae156033a4993dc114b9f610955a47acf81b8970649d1a25d1f521f6d93180eb12f830603712ce6d6168f442247c5ea5e22116e89722b038bd8d1c5a6ce39a912fe05186503c913adb61f34526699e858f96518fb8de62072223142808ccc37342b0e589b9d03c70c2f149ee651509f263030932b142aad6001f961e9b0bf2ab07b56664ac35b03c01a8550a79337de7dcbeb20ab22f99a1d8315b3073e3acc47a1f3cebe9ab259036444dea39f893985202e4ada444d6be9a2a5ba6f54e6bc1e0e36b6fbb616b0f903b7d0682057dc1522770580d8ff3e266331728e2d991ff7b0be11f4448d02ad280313a2c20d30e4d12af9806a5bbd0177568263c52fa2ad429726d899481bcaaa9703182d543df2717d60f9493babddfccd9b670e17cd5f3e5bcfe4377c3f76964b3c03e3e66ba0ddd020295dcee64b46e41f9139187626476e1064e418e1ebdf3179bb039815782c9956d9a24e2efe5f0c24dd3f3022fd4a4877a1b678acf812a7f8078103c683813a9eb12d993c843e959e956b3924164d9f9bcee25b02347ce50239a9010219ffff03e8d543408f237e9025517e188d6d14f6644246b6548eed84aa2ea98a086886e403009bb780278009945b92ed53a0c9c9f0ab9e0dadc980ba005813068a3cab92d40219ffff03b47c90640babdbefc08da77d5b022bf7e36ea3fd83d34e995058a3eaf9c8398903b9ad90cb565afbb380d8e2dee776fa826f656d2b903b9c0a91900b9889cf6a4203402327fa86b4cc67acfb87818dfcbaa32706465fc271a869a6e78708e72334bc03876e4d92d0bc55b78818129fd9637fc5605eb6f0f27d7e1ce2879ffdd39e3d2a034512e0baf7c86089ea9cf2aa0171e63e1e7253a94c0dcc4d8cee1509c10d9dce0316ba86a0eb1a62b718f9f28eeae0716317896e93fceb78432ce5071d4e3942960339da7221e973490fb93f0c50e58fb12e2bd085e836ab6d9c420f818ee73343c40342aa8b3c4f404699e5065aa1d9ba12861cfc3c0ff955d8efdc21f24216071ead030e8cfb4b954d9cc7caf0d86eeff8f4b970668a20a92e01a7fe6e0be2ac77a14503e5abae0b59a65206d48bb05206fc717331a4912e220b39cb6748f1c7c7ca712c03ca184a845064a551fd367a05f394175c3c1e5fb541436430fb513bf89dbfc4120332eaed8c5d7e2b414bf1275ed21ed09b2693e7b4c9321543a828fa2d3eaff86903113eb6540bf0603ecb72f89567f14e32893281b287a5dd67fd73d6a73e6c59e9036f0a4a531ba77c7d98d9ae8987412ef701e75710425c21bb3d607537d9236c9000581f02f99eb3fa346a7d78db9a964482c40b9232c55279d32e0435c2dedbcfb3fe446c6f600003868be4a0f20090983b1a305a5e50a1a0e5c53b273c02c8eb70d9a02d1b5907f603c447eb2a799a5c63be2999214d0149debdac818ab283bf06997c592708c61bf4036b146a53cac682ac51c5befeb29eb15f371f36d0050d144d7be58ee8c083c2f4032d0ee0a30c0183bc89b44bb5de00e3c57beff5476b51b6ae9078245b2393e54b00581f03acb34f656c002b11b43be47684974d385d97829a412b5dc4becd9cdf45504b70c8fa36043079ea578e8000581f03ddfd68dc4a5cb475ba99d131f4b128494d6dfad148a302407ac9de6bac90446162fead00581f034fafa6b4b1d5173c4e39dbee82e6fadad4b86a6aa70476b512ab8d17fc904a1fb6fe74460ece791a0000581f038afe7b22b74bfa13c7f5ddc4a1ce2019ba25f7f05d8a368870cbcff4380046e405e29ad68d0219320100581f02fa04c65a42dfa44802cd881157c789ee0d9a1591b443c6b07c99145e79964469fbd60000581f021fc372f8473d7ef83d19619afdb9c48c5790a27e89d5117e7068f3e2498049aca930f1a4835bec800332c29dead29126d784514602e09b6ae0785ce6ccd8480789896a70739f2ccd5300581f020ff6c615b6ee9ab7c9270ccdf77196ad985777a6bd9c3affb6107c1d644647019bbb208ae82500581f02451cd65b5c70039399babd41e2c51fddec1cd1325668a56bddbb6d747c62422710030e1a7ee513fa5b6d51a45ff01aa771ab82258d9f07e7b6bc54d9e040eebe598d0219bfcb038124c23a85fc25dfce00e357cf02b7d32e165eab88f6412e56af82096ea33f72036dbd71dbced32e88019787ce94efdfd4b93cf77d15e457152a33754d6656f5a403b0be652eeb4e3f71d8d0a9f3da699df36889b77eebdc569d582f4961d27cacb103418a875f4f3729edad26d87631df511f72c2e01eaf762c016b3c74e578e1b6eb03186c0e7466a10a4e72bcee1e6cbe35ca8833ab5c8efc7b55c0dd908a2718f25803b73c0864c08fd0ac2a9447f9b104002b202e7ade37b48f49f25351b027df4876034f7e82a1a874f75938a3b83a75be450d485021e2d112c161954d6076843e9e730219ffff03364f07ec2e54d5c6068a75d770fe7822ed1f197d1a6ea828609137ced71017ce0310de6ea985d46926551c67754e6ada572ff0e08994f2640125c6eaa1312e37ba03c8752975d87413a12ee11acecd53b29edffd72cbe14f7b846ae9ea1cdbb612760361aa838653886cb7d9fdfc644a00135445e490f593d67733c40967accc1b92f40336b748ff9b1a134ab872617f58c6dc4997a05f720a4be65d084d0ad39b3e51eb03d15942c811cea653cff752384a245a8310a38e70dd2f05a4536120b3af7d68c70385850855f65233991c76ed61a8c8cb30090090f713e40b5d07544b31fe12265203f90757e85a6e0dc7eb2342cdd4bafc8a371905ff708896f3941898e62b39bf6603c1cbb697ae8c5b3c377aeaa38927d6ed4f8dcdd3ac021885ddefd0bc39e4c3a103e817a595a801181d057b5ae6908c0f7215f5deb2faaa11d3ad0ec95a3a4aa51a032204207c25dac9fd54a8b97574acca990b958589cfb4bdee1c75a60c29067a64038db325fb6d04ba57bdffd67517314060e73fdd555895ab9a2b48ace71656f5d803c055622849cb1d27c5b61b6fcb7028ba5dd6fdabf994270c6328b3dc3b28004e0336c9e718e0cada6eb1b0a0aaea94a18778faf39b87713b86d07baa5c2372d50703cc7d98e34cfe06eab13267523a519aa8a9da3084a07b9024fad50a90e4368a0d00581f02a9900c094b28d2f442ce42098cffc69e69b434e674f8eaa08f9d20b6f1344a5c312979e218e0f6d68000581f02c576be927c52cd8accb8a9852f83cd6e876c2585b0fdddd68429d1ee22e64467e4950000581f026cf108fc1cb0c0e8786354217158a999de7e839bba9cfa3287df643583b64a3a86aa02eb31e1a2f78003e4578a572243020cdcce0242c723605652bfcec4db193ffd6a0cd03cfea876a900581f02ba5620c9f4f5522740bc1fcc8cdf342eb3bbdec3270abacdd8e79c8d89f44a1e1b15b8a5cb58c38900030f5d5a1663966e644640db29d17c8fbd44894774fdcb22dee6c0d29740121fb4035cea5f6be8ad88060be21619dd5484a0fa510e80b8023e5fe97e6d56e68368a000581f036fcdad3a8c863b607a71ebda8fb5b0aabc392eed5782bb51bd7996c2f2a047092424e381df9500581f03db62322002f2a32282b0920534bda8e7644a5b0c30d0f6f829fa206f91f044668f208000581f030edc948614c2abaa27cd0e12167fe503b2859e6509cf521f524c477bce6047464e75171946c90219090103dfd379e87af3e317b81aa7e59136031b22679f060c199fcd538f2aa0be621bb400581f02f1354e48e960896f8fb19412d47deed8d702d08f372baa98cddffcd789f14b053bdd03a17daad2a8738000581f029e350ff8b99c65f12ba8266420a04a094758a4fa16ae2cbb6013e2299f434467edcf8000581f025ea9d19b3e033ee84f7700414a821c1d72ccac57ed1830a3da8661c2506b4b0406faff63b00b77931c000219f7750219ffff034ee690772e52c9ff91b2cf2a8b378ce889e350a9223d2c1992811cc4bf27d5cd03cdb3b49d9af4034c092d3144cf8f7bd2624c869b7ddd18eeef2787fc98754d7503250cf9563b5cc556d2bb59320cd191fdacaaf72faf4f06d2e3ad73a8494d9c8203326598fc240ca03e64f6eb3c65d8118726af75567354f3947736c3f856ab7bee03d27662492e6eb92b0818a7ea58b454dfb59d628027d0dd481ea020f6d9d87b57030b44be7d7baa0d5f0df64d16989a3262ca752b59d4d88f07f87e74c7d56d7708030e2e8b9a97f3f9190b35089278ec34b4b8b93eb0f065784aac4dbd7b05701a5903ae03c8b95c237704cd6292cc6cd05781f32fa36c6631fe35f28d414732b18a6103898deb4d658f47bd844793e6f4a59b50f37201400797b5f4bf83971711c0c7af033838dfae065ff3bc5b19d71f8714cdcec321c5c07114975fcb500e463c6addb80384c8fcd12557c04bd5e83599a698fd930ee1cb588f9103e16d207fc3c087b009037d1572e35d1a3b7afd6767199d293a0f2750965254e64f674f0c9901c569b40f03d470a3adc65327d82ca615b35dfc00fe78590b92161cbd9a2bc9e87d2ae4f04c03a92433e9f2125d78850e21afd694ab416316a7e939501eadd2a9713f112fdaed035725f84749802fcf171fec31bec854ebe2f818f79dc502c502e457ddfe77fa310393909dec472d22716015c226bbac71223ab21c2418edadb427201efc59bc90cb03fc6f5e0325298a02605396d6bddab6948e4b7252bb005733022bac352b1735c000581f032e8b5dc61e7d026840dd2ae5e5acf698876ad3b84db3d1f53a2025473980473ee6242dcddbc200581f03492e27f03f78e6a6c3341145366ee2f061dcb28699ca32eefbfc7b609800480296cd5c607cc4a200581f03330cb03ba8e481787f787eaa2f35cbc6c991951667f7a3e3fe51ca7c8a404a04473c689315e614cd8000581f03585e2c4833be520d4c587940965d9a35d300246d8240cecee333dde9b550471741c7f4cee53100581f03c69c449b424eab7e152e1557725a22d0d2a369ee70e2a3e43b72f5753560445f80e5be02190968031b30ccd4ac731d73a485e8c8336bebed59c0bdebe494ee6acc8bd25effa1924a033ee2b7b90829a721cf95ed41f7bc5c6f4ad1bd4c01a440c62156df8edf48efc4038335e3c562a495be8165e3812f585bef955aa914c27a6367951a0944dd068a3803ba2915de1540afc59cebdb6be6cc7865c85e109653e53c013510920cb21db38001410303513f008fa4ade41778b63cbc6e5bcf041e9f39d0b8f4c826eacf5dabaac040ec03a0315664e60957c51aa99486615ac3156385b89374f3c685b2a4222d76582f4403cf335c6ca29f1d8fd52833f50675387d8e54fa9507ccbe5a616c7d8d1b50b84800581f028207157b5e5ff6269c0855e3c479d7983589f882b01ae7d7b70da707ddf142271000581f02185c3c96cb5b4d0d59b9a543d10a63479d21066a44c595b000126e1da14a4b0a2f8ebea2a2d9bfac048003350ec47bb58ecbd4b4e3639973078ad52fd45a0699fdf414d66a9cc80219db8e0219ff8f0219ffff0378a47a9f2f288a5cc63437390023d4aa14ed5610062ae990151c1de52e1b9cb703b3c48e75745107b4e66d1fc97933b910bd864d4c81b8ce8788e2ea0d8310ce400327c56f6cc081804943a6b008ead7d7af77cc6e8288e8a0b4d62a8197c946055a03b34b3b0764b96b6f482db8c9186610a1782325f843b53746e254f349339dd9f0030686e8eece8581eb7ba17b2f37668617d38178f0435cc09d54beec84b91e09f30373b618cf3b1c398ea36b357a3587e180a227b1e7517cf580394142b44b65e24a031ab61a8c1ceccedd3c6a6b7141dbbe74e8d9969e3b85796fb14b24f6f3f18949035595a4c8336f5b2213159e09e8523f3c566aa5befaf9e139fbdadf8ab4e4c7b40372390cf4206f9a98ec00882630fe4705a974ab50619eae14f14cd0eb2b08dd02034ec7d523e4c8f87cec6d69884a4371075b8bc3cf0d8003beb59088650ced670d03bbd291e1be06e6fce834a2604dca4460c2583b7398387bc1e0749b294b7eeb3a03aeb85d4e956663c71b5421b78f97ff4d3f2031f6c636f1e073c11ad188cc3432032bb0d1c9e769b3778161aeff2ac37314ef2126cdfcc1eb6cace19442bf37de1a00581f02e6465bbf3a1b8639d2c4f07e638fa8838807e6cda21f88b034b3c637dc9e44668f20800333b6561554d0c2fb49360faae041b9bab9251b552b51661616347c9ab2b05e7700581f02c5aa003eb6891e2c8bcca510f01c372f682ccaa323c8386fe26fca86bae2471c29f8d1c6011a00581f023480d6f2f616bcbdf295d20bb760462a4dab8602ac60db23eaddb14f88b14461e95b6100581f02cee85e61316f87126232c7d234ee3700dfc35c522736d5f7d9f4e431567344652743d700581f02df253eb961f77d95c08ed14ef0f1aacc0c04f702855dba91f2a1883af5a84a060b51409d95461b3f2600581f022faa412c77ff5161b6ed3168659848f03693d4fd5bec4b700bc93f200ca04b1529e7bd4ab41ff01b4c000300b1055768009d230e31f081c79599a5beff2ecd25d6ce3521b17c81bacce12f03b9492e9c4ef835186b37482a82b4d9591071b4a596c18ee13fbe4da3fed42e5300581f029dfaf7db94e63c7db4337e461f3fdf4570d7cf3289ed2dbee9711dd98f7f4a26e0645447806819498000581f0257920881f0aaa4b71ab7cbf09beb907b4a91c79ee295e6609008d150ef624a6dc8317b3919e541d00000581f022e6d7582cccf71aae3f54b7bc18a85016b8fe29030d832a8a0e99b2ea7a04640657440bc0d0219ffb803fd441ec0219d62c50e1d55e0430bdacd9b2cbd405237851b0bf4840c3e1160f103ac26c754462c7856a5a3248a92b6a77dde73017c722e5f48ed2d7f5b9ad59b1303d8aa27cb97ebf8a6f54f5fe88960c8a5ec868cb513d181e56dc341e33b95789c0219ffff0332fc0f55eb5cd6ba59e77f02aa8a98b6664fb27e90c9f756afa6b2d804661e7b030431a0cf05129f53209c301c4389a7d4df9e341112a9b54e5ad521f8dca88b100319465aa48c44d941f0750844fd817b3e10a5245b76f8468618480e305a2618d503f9d067797a42619ee333f4c1b9be69ac24de1c655920cf76ce0d92626984719403d5419e20c6a8467a43bfd2db3a392fe655f6674d6ef104e4a68d4a27c6498e5003b4d9eab5bf88d441a033e6114e21022ad470eab93295f5856132854f94a3fb700373b4d6b923270426352c54d9a53dda04006d3bbffc083af12442858e014c995003688b975c38dfca1b62ef8eb2cdde0e5fb669449b62cabd445c90455af3ad1729039cfd8dfda6aef45c77dfa7d0aebce28bcb36689fae5a92e1c6ba125100bb6ee5037ef4b05a4e25c69ef2aa226c60e95029993a81c056af1165a4e665c24e568c9603aae9704b0514ab772277cc1a6ff2cf9b83b39b103018071120d9040d5560bbf8037b2055010e43cc50322f381d1dca887c5d38d1002c65051cffea58850e818b1b03b8ce245e2e7c7f1da9198c163d2d47489d289b4bd7d5f9aa4e0df6a4add91f1300581f0212f58b21099f52e1d7cc1df31d2a15104e1a8bad80f862e1c26ebb8e672647234702c1ade9b400581f02e2520ce941a5c55daa29029944b1620a9cc6fec41eb2ddd659af05f5c1ef4a589f908d1e04cd90708000581f029c31e9b025589ed3df61d500182998ebe2fbfe1c8ef45d56b47c5f3af5e64b0117f732e301fcfeb7d1800358c4e6ddb5ba59b5dcb0dc512a6a78cb15071ac7781c03f0faf6282af5d0ee470313e22f9e614c89c1038839a68dcbbf41fd060fc40410b59f0a465616aafe29c100581f02b236b6218b7744b1c69bdc4eebc55f2b57370b196d707d72aef3b92971eb446bb6ce0003422341b83d18e82ce8ead1719f64b6576fef132e2bc30b113ef567a38618a03400581f030a7964d407971c6ec2f8f51d500126bffaa85a389d97a21e2c1ae696c10044668f208000581f03fc5dad7d322694d51017e04dbe0546e720494f1602220f9b6c10862e69e04b17d8c6b158904f58c8e300020900581f02b90dddd4088c204aea69ba0e6f6a778b7b47698448a40b04db588a12388c4b013649cd0ab5512bd3ec0000581f025eed09673232e0ef87f2adf6140a7cc362e688d67c4e8ddd6f532e8270ed4a247647a3b59b5ff0600000581f02b9bffded4677fb79adde452d1e7857297dd78166b459b4a275dbb93cdfaf494801fb83c66533b1800219f65f0307123e514f3bd07ce34509383426c90e5dc70bdc3336be174ee55cc973040368037594f247e28087dce5f653007adb269d7de19babb0ebb3ad0fec07ce9b110cc5039c241a6894222d8b1046554e7000a268a0fa68308a7904ff6dc941cf675c1ea40219ffff03183bc25f6802b8e4103306d33da94ec23adbc2c16257b49d1e33fb120b76ef7803f37085d0b430430808133da827b10f8647c4949fd41893e32fd4d559c4e9305600581f0237a62d2a23a0bb057efd531652c736ee617f239f041bdc185bd8c2056bf6495f4f9e7e7b931ac68000581f025f97c21faa213bd62a65e3697a04d3cdcaf5afb903fd4e80d0dea24fa8a947ade0daa741570d03cf625e555d6fc41e25aa2ef37db2816b5718e7da1f74fb9c2c04b9e517c13f9300581f025bf4e4c3addad2a6e906ebf0bc655b36079ac75ced9a90b4f4941a5a3f05480de0b6b3a764000003987ccd9d8f3796db762456660e9cbe588954debca8d8f690321e5f745422d071038265a8158f2d1d058812ed376f0d2e0fa644cbeda3d99690f1c51f42e232d9da00581f0205c88204ae101e09edbf773af457bfdc43389451b0516ee1fb844b390770422710035d0ead4696c3dfca45bc71defb860ef1384f9726ee93650f8679e53bbd5dca9d01410203d24f30753a24cff2cc3d0bf6ac8405d02c565505a4f8b022df7a9d8c8a78373900581f02fac5a36b4f930ea0bd9d1f3f47df9d59cec2851c7cedbc36793289fd83b1446c413b80033435a98a9723a8deda5d28c8e04676fc1eabe4d5e13c203b5e093812d17cfcbd03d0e49898102c3f91690b4da0f2eab838a4bbee94c40aaabe26de9d2638517fb70219df770322ec2401e6ecf14e8f84839773e6b12479a7791756b7a01aa96bce991a7429470323c6e8e3712aef9a976a828e429b6927240b8796cef5929006222a07d874c9f503e99c031481fc94b2f563df55f9042576e85dd10ee47b82d69769906487156a57039fbfc943bad4a8c0abccfd5cf59c961a60f9a80b2593bb9c234f59d8174e36a5032dc70e22efef68d80193ebd4f0c184d75e599e729a29cc5e32d41497a23c172303e24bab8b9feac7713023290bd9e93c6d11cf323ba5e8baf9e5174754bfdd1f6d035ff852384b93e1a79b277798329aba29b0efa00d13e8fe66f65c8eb39e3667c003862cfd5be963ecbf1968c014150ed34430dc0b22f23225c1be8a03f9db9f01230333837007f5f5de2fc7c6acf2770b20ce0fd2a8c0737dc3ede881c1b4babeb187034c19ded64a3496564b44274feb66b2caaa75b4a0fad463cfc65ea8d8a83baef10374717ee92cf1b8011df1868dcf92f9de8b4935f2ce2ef4be721758b54e95bebd03ac5a172a95a3749f1a2ae8b9dbdf8f380478e8907b096a011796ce31fd5081b4037bf5dc4da3740c53da8364a32dff1d301bb102731a6257c70a4719f1ab2022db03e092484be971303c791898b1facb7f305e6fd81847dcc18f00f54a25423d65ca0219ffff03bba8bd014ab53030851d11709186244374f43d1d40be5c5f363b9950fa1ea694032829bcc36a1e3d90372c760bc0275d7ca95366df83a7a5f6dbcb2f851d4420ef032112becd4700363b701aaf0e4b9875fd8e29e189a818b84190c6c46dae8139330219ffff0323e78b7b0e9feceb1e46a7740821d0be26b2ff53a3a4fddc83e115553cd6f3930372a4b081f8ca3905bf87b23851b1b1b9e127b35c8f062cc761417504826c31dc03a16b44e5ae11552b86e5192ae3b7d85bd92ad31e0700a9806dd6c07e01ad07b2030515c78b1e66ff356e253ae224c7de90484d5a92371c392fc0d71f77f1af344303f62467038b2bf4c3cfe05084e77f23272539009a387e7cbbe984b69e66985f4d03ab48c8cf08bd7160882c227d0fe6c992c37ead3a99505e93835495654e64b6390397630dd66b3fe5f987548d46f238fd7f4e93e0b834499715bd928fff4ce0dafd036401ca7ec1a5fb7288eb321cd868cea28a79d9a751752343cdecab9fe62fb3d903f0bd107a2134d32f0a53cd3cf0be4f91a8f1a386c062927d1a1a9f66c28d0d1a00581f02c53ffcaa834457ca638f23106e22c04886fe97c3a341fecaba7c775906e3480de0b6b3a76400000356f336ee8abf053d7d60e4ef146926cfedf05e454cd99347daceffe92a0a376e01410800581f0269fee7712777b245de10eaf7ebe13ea66f983e7d171090f948eb560178fc446270fa30031d59c571833018462e2714a0f030c875800cbbcac829180b1840fa87e633f85a00581f025cad3617116bc6034469ac5f1c94b95c0fdb7ae4ca27c634818a310de521473e843ef70705fd00581f02c88b26910bef7ac2d539d18deac74635659c684db26706e076e3431fdb584803a5efc5385ca9d100581f027f495b6d96de1cb6ca333c5da1ed0a03bd1c8edf13584cf206e4d501acbc47526ac3229dd00903a60d6e050ff347c0f39c201e76e33eea259d722104c9a1d77e59999dc146caa903b3ca7242d0dbf6f6349b1a04cd80ddc5def80a00c5b79a0dfce42aeb4ebc98b40389d8aa4066ab8b777fdb6bd5d0371d603f7744dd4a5f3a3f70266942683c308a03fb1f8a70f12a4fc0cb8b1d8933b5cd2e8e5eab40121cb99902c1484c9e0f739c0392eebdfae6285cfb959825063355c21908dd110366f8a2df462e2d950130fde300581f0268018eec40f6340c13bec0f765909a7c6b49fa37cbbbc7a7e2bf34c1a676446a73ce800219bb7f03481db71c0203bcbda8c1a73c0b1817804cb9d9e773e52ff17069813a6bcc6f5403181e162b3e837c6772dbd3d86c19bcefb662e3a40e529d9893c92387fda469a1030449157c733a1ba6301ee6ff2a016f143e8730c5ee4cd85d901e44cee8ef1f25034e268b81c31709508f4e055189af50d3a99cdc59ada5429661bba215c615b37603e00f47fadb7d4dc32ca4d5845d4a26b85a7fe2e01c858874c305e3336ca62cc5039a837a3ae0350ded98244221fbf3c1aac89266a7b11a0a7be0162a505d5cc6a3039bdba873b920b13ea76dc4d1da8b9ef874d645297e060b41e7bf153c0d112e0b03f36830ad0b836d1a770d0a4640764924f5d19e69bb124257eeaaa1e4bd29ad6f03224a71898a722fd62586bf3811f9d72e61b1057abb1093f57d34bfd0dccde43403fed09a348ac0d7cc899fee6c835c571eac01baa315cff07402954b21ab04e4b50219ffff03437a419fd7810a9809a5d5de90ea34d4775dd59a9c18d042635f0e5a977a160a03357c7c89ae90dfbd81eccbb91dd96adb6f9ea785e53649480365e6cd15323b8b0348b5859f7d49739c68933fcdede376bea5704be2eed52f25c8d38ad05243310100581f022037ed6be792a14552bc9d49b9c75938277a8f9816c0390f1fd77d2a9121416400581f02339a042ba101c081e81bf3c18a1ec877d2493419e3dbc0b24d539c3792d74b01af56847b353a5345000003e235549d3b6dc9e961dee350d1764a4e54125b2d58e2c5b0532240024df2908700581f03ef315479b32c222b54267f51e251235b70d002fbf8ece9ab90e0dc4af4e044668f2080021901020317797e9e6d32b32ed65dac044ca561a0fda4ab947e2037c0e3a61b12012c0b9f03c7bd6cba1bb17811a07cba0b4aa981a7de62f2177391040de6e43bfc7c4a437100581f02172ad136178b9da103e358dfacc8c8ca529b5df10cb321d102fb0f7222a54b01b8d02f67793148132b80030a12807c0066c7016ae7ae2d7ba1fb403c9eef261018b2ce2864b8b65f33ba2900581f02aa26ce79697d8ed48dac8bf1cd4f66e3774a8349ac588e2498bb2a083ad344657105ef00581f02f4a9076586fb53f44e845b8435fe3256f7baea4b95ba4559bf577852e4d54b01275488838f139eacb60000581f0272417a4b67d797db21914a9143fb3e9a3b00f68933c75e27b4d7dd96e2c744623b789f031a304c7ee1786fafc3eb0623b3dc9b4393427c3351d589f2d3f759d41cd7fafa00581f02de3a04ef0da861a8451da43145d31b593f801cb47b798f49880aa7d3df7e44699f8d000219be9f0326d45786e80da8c3c05dc102df6acafe57f616cb7922f30c28053e70f68556fa03362187b0957be893e128b0a66ff82c9b5bd179d830022af721cf6008563fad5903ce5607a37e4d3e2810c502216ce9725b591e51ad30433166c0a0e53883bfd44b03db0ada57773073d1f746ef45ba77a4c98debd4680d581979b00257dd8f62742b0367322410f4ba79ed82e11b0f5cea023b8463384a32a16d9594f029d64759f1d3035271a13e57edafe524f951a3efea148d372b730b5ff73d0a1b576a0315fd9db70399fe9ad1bf7c9ecc9403785407782c7a7dd39644b11810bca33a971ffb21351003eabdd28925d03ecff15da6d26d84133f643f8d72875c0523cd6acf935659b2330384e2359e9668e30949fe91f4ec4a0b3506c35604223a1f753080f0c648e740d603526b599161e63550f4bebf365fd8182b95af25333f80c26fcb056cc4fee3832e03b17f2c3adea29c64d90d6742ec32f8ad827afc7029b6919cd176b91295a98a2903f63e05fcea3ab71cc3392c0e3fe5b0e750a7730433c9c61f487c9259c7849ed80219ffff034eb6574d06f37cebeb966537e5a6643cef7ab965d0ad5df29a10a3bbb90690f703d249c8e2558420fad4dd96e0298e7e9d87eee5793e6e38afbf0922cef05e1a570357b69b234daceebbdf944836c68f21b0a07d0df32bcedb05d02d9ef255ca09a703026e3dd9e8f42fc7bd58c11f11a0258ccd9f4e76c1c6eb40936f2d5b431264590300de79f906c84ac73e08ec4b035c609e7c304323c9090c435b993c7f482afed5030585a088b2caa6b1c5ee9d32a686ec2fd013fec8b5beab12dcee591d85305d3c0361c092e23d35b68abca223880c2120fbfa39b452ecdb65b1afae533b26f2822c03c4da07cd1a252ef3f75cda234eeb3ef809c5cbb011b36491bf9829b3bdf1673403379142f903de4268fc58344f84a7fc240a85d5cbd77d153f6d4f20b3ca20a74803c28cc594f1e7972725643ac1bce75a8a51c92a472c86254fbc86e766944d1e4303cd3172a11f85482b47ff49ce31bc30ea9d7e70ffa0240af60f1b46a79b0ee0da03a40f110e4c03d3243e657cdf49f226dfb064a271b1f2adeca8c09b98f561d88200581f027575c3a08278dabd4f2eed805e83b8a4fcd42da5de8796d28278513c0e5042271003a4f72e72e83f2952784fcdd33631175b077dd2801eb74e6db4b3f7b9350b44d400581f021e3635fd4510f78fd8d70929e3d8a215aba5cc8584653dce3a24e2fdb182480de0b6b3a764000000581f0282286d53f64e1cc58d4d1fc250c83eef7d841bcf4ee44406907b7f57c1074705221736e61daa037aae2b210632fbd80e2b9d150ecc5c63ef8cd684a036cde05cbbf40b7ca1fc5803e7d81192e144bd4c3551397b91293c2fb4d71ed9cf50bdf808967aa14e5ee29602193c7d038ec6e588482216e5e0cbe6c45775c1081f025cb1c4a18b4d34dee3087e86250003ba15295c631c407da015aea30c4876a19fa08951f30b852e5582bac5b3eb64c803bfc70f4fea4dc21fa857cd9c939ce011f40f1968b1a6d2325bc73ca377999a0600581f02f66709dd045d424fa57a8bbb488a44e62c7de2dfe7a3ad1865a929d269184a0799dcfe8d115d668a00032c970d04a51396f9750ec5771f9b314c9da503e3c0839ae7d11bd972e05fb182032128e9d29f69a79c00cab89e6cfeadc2688db92739a2b1b99c7a209663e8d70e00581f02710184f0ba9a6c2939f414566fe4bc74e4377361e535d7ebc1fdf0d8b8a0446dbb9a0000581f023b6493c7dd03cf1c5b670e661746c06dee9c1760bc6a46d85854542be9b744627253d000581f03ab8ef434c15d434fb47fec80fc076719c7b3ada72dacf1830c4d3bfc2a10445f81598e00581f0303ae93ad29aa4abaff2eefc29cec9ff7e6cfa320b7970ded894b2bca5ee04a07d7649fdb9bb522e38000581f03b30f14a645ab9f590ba86106ce490bedf9783a9d6295e7c704452cbec9b044668f208000581f037af7a58e9a0a07e3ae89bdc0ede2dc8bf9c771fff623d0ee59d5718a4b00446707190002198b000343c9aafe7f51b2828caea33e9816959ea9ad46a452309930ec722ad022371c8a039796629947b0cc2dc73a0dc6ef7eba6a0403b618e195f44846801afc8b83b39103e17ff137b08b7c8fb7506fd6aaaa62d5ce6b78b32770392de13034059e072c4d00581f020026135c877e65ea9146b56a51e99ac75d060d7a1ad31a6046e16b9140e94726f0c2286b860c03231d835a86b359d65871efcf622611a699ecb65dc57d03f084fbe1bddc283d7f00581f02b1cd6ac9ef158ded5f9a5f24903de81c66dd33f9516dc1732bdf10d9d3c1463ae96ecb8bc30332b78fd26c855147e4d8eef78e8b133028d4360fde6f7a73cabde3cfa97f4c4700581f0231feb6b6bcfa8d91e3ff9b7949b671d5015441f1e4f255715cfb47da66074713836eb3210dc600581f020bc03865a5fa4c11cbd2546f0e123ffdc22c615429919312744ffe8543004713cee3b57d5fa60219ffdf03a23011ed8f2132c8a0f983128734e800b8836288fc23bf7c5c5a3b313e4cfc8e032742c4a1df163f07534194e3c21b784f3c49dfe165cd9a9dfa1e2c684d8847c703ade6c481b4e9d361f60540be618695786a6743349d32edc911ed99a8252c142703b97d376273ff6c1216f5495c3324212de5dfdb06bf6bfc9bce1319e60929c4f703a8fdf6f1007c97280f38e0ac9c5fcf9e2a9cea70e206729a05cbddcacc084bec0219ffff038b7321008fec0fa1ff04801068626db9235fd281c43c139b5f8f8a2f4db7c7e803111e1503bf2b5f9e2a85433bb149a73e2d09152e4e3ffd66b5ffc7138963ad7003ba7df0faf13ce6ca5042924b78b6e80c69f6ebd58d3960c6fb7ea63cce9ada0c0389af9db8e66f6782d1fc646aede50d6edecbaaee9f5230da3dbb42574a2adf6f030c646f3d86b0add744dce0c69099d0dd5513f8f3c6209e9904f1b32f9e10b00503652e7c4b519a8eacafe4938fd1f70f5b939a2bb40a950ab2d5dfd33ce4d3789f0372088880d5c124e82e3086ddd85464ba48fb533e3225933911c511081125c26203d934e60d4dcb63c8eaad33095fdec6d6e1685a12861d1b927c644da176e280cb0347c85f7b94b3854c06c5b150783670191c71536713484c3ef06052d787bf458c00581f0297bbc3c107df7bed89c31fe2340af18cb31fb0839f91f8c644edc373769e47013e07ba362da500581f024239fe103220fa7319fb1b68aab7d48b93622f86c9dad047f229eea8de044a01272f8530ece761080000581f030ef7d084c4bdc98ec778bdbce0a2bfd403530c568f2c13694e5b979bdd704467edcf8000581f03f0a7b18fdc3dc38eb5edf120c6049e684e9f0ba5e81155649640b3c52ef04404b9a1ef00581f036c653e7a29554e827d8a522718033b46461f71242667f0c891a9e80521a0470a6c8f48a69b3700581f03eb507ee7f66724e0104b86c0325d86379150011f1341ae1df7fedbffe3a0470407aec86b6604021961200371650cddab5c4f1f31421a360426613bd7a87e8985ec33f3336d8c8afa68c5a800581f02b16bba81dc9cc2d970827d12b2fc0af35c7b08863877b6f9ea31992bf066459607d6e8fc00581f02fea5cce4a424abb40b40edb7de504b63a078e0845070573d634b9323bdde480de0b6b3a7640000032716b23bf5b69676591645341a45eb7626fb923a6b6e710db4f165b6c75ae53d00581f0218cf4533695717840d91d26a814211c553fd105c50114b8fe8260e7231414b01c8809d7ccdebbe66260000581f02933127183dd4b9854de3dea7a9fb0d2da81c2bc694b428faa2e16dd04706446b5a850000581f028247e5ba9e738f70ff1f8c862620e71deed003049d64b8d2110de78412684469e9610000581f02cacacd9c1707b0b02c43e6989fb54a4d40e080bc77ab0a3d300f570068694712a985ed6baa1e039b352c2d0ac97d49dfe3d222f705c765461efe426fce3bd5fbb7a95c92830358034d53af64c9920f87d6fecf6225209f3aa77ccf7cf4bea2d14e7494061aa9fc160338554180b115f9ede7539e52f2b0cafa8b9448b86a56d2e636876ed7b8f9c8e90219ffeb03d711120cf9790e3c64db07cc79ec589710f9d7f090dd8033d57b81daa809cda3039107a06e3607af24e9c4ddb207b64e148052bfc95a3159c63b6eacb4a6667c56031a1e08700f5f42b04159a6bf378d0a70014a1222732cbfe275ddc6ec1efffdfa0383a9c334be39a105d16f7f76b805063865ff643067ea1047ee6d1791e0f7bda5031b465ec5156dedec9d23f3031ff069d2d141933ed79a55f45b1df1a1df8f28130361bc5c6af1078227ba4d72d3210f111893322901e851bbdb7a5805497d773204039efeea57b6de75fa592c52554d292fcbdb0f7490e7d552c83d4e24a297c671ec03e5edc8ed3880116b6a79682f84a2a8a5180ea28a4a89ff717469aaa1dcafc2a00219ffff03b06b8dc3a6dbc782829a4f1d7a7530b6ecc98347f2c47ee40647079f36eb1358031db01794380f7201252043d01dc0f9b9bf423c4700e0ab2927d887e5bf577ef403a423b612629b9ecfe86f7f95b55fa610fc37699bb6231890b7a76b43ae837fd9039f3e6fd1b0dabd53f83aa61a578d7feec3f1ae085e9af78db0d059f3543d6ce20219ffff031b18350ea0254e94ffa281d6404a0cf01ea0eb8d64b40e843b98b93ba0720141031d7bbea220185aa468f8a9c190ce150a3e7a5944020286907b93467c428ff45203065a10e6c220afd9d89ab4a7144cd474aa2bcb743a4f599a3fd5a38b221a3e1e039411acaf0b2dc71f0b3ce645e42c7ca6a5e766142acd6c6dae2a4fc3d5d5f9ea03e0dfd5309011884a17a9035e75842c5bcd52e3c7249e90ddc6abd8c1a118cdbd037860fe6e2685ae5292f05afe397848ee8c6a516d14440ceedbf92258b0b6d4aa03ff41f5dcd2782637648d929d060e5f618c6c8d0af8cd6216fdd9181c8763106103425bd553158fb56a9397789ddc2f13b470d2778a0c4afe6fc12cf6f7bb9fd3f003565bc871c29c6b8e41404326c5e251cc50650fba5e84f006c7941809cf53280003e429e92c4318315e5bdba4a960c6de5c65281b311abe7c8e4e1dd590e288fced03877b2199ac5f5ac633cc0311f0176d166fabc13b2495cbc63c5d75c60bab32fe03edb3f99aae88192e0c3a7d75b36610d8986b03bc6e9ad552b4c514d8bb9e46560353acd066566e447629501c7639911e5be9ef2a77a578e6defceca862d415d10d0338e9943eed9f0dbe207c358a0ddbd276280f994c0d67ce336116eb6f6b2fcd2500581f020cb3bb299025c404457c1774a05928b016ff6f890d529206ee271c473bea47130915e20cac3403508fe521d6cc413694a6b5562c289eed7c943a8e5f381f765ada61ce94fb6ee003dbbccfe6ffb3188a15570e3966736a3491c2528004629f5ca604163f8aa115f30342c2d85712cb4656db5a8ed5a943df4cbbc5409d3ab65814fb2d100c144aaadd00581f02eff0415c2c7ee9c6b3a26aab67a37a8f35ce532a5aba9d7b7e6f17a3df8144668f2080035d2f26cd0e2436664c5bb37b3acbe8abcbe8c5bd7c78d223786a7618730b0f6503b0cb3048302d0933f670b9ab1c402eeef1c500f7dc292ed2e848dd9777ea3b28033ba1025c41b415a8102e04482bc2c6373644696dcd5affbdfdf62db63b4d5ef0030028154db9ce4beb23efb02f3a3684ef13d73a0e2e04b8f37303aaf8efb335ac0219e2fa00581f02dfa94cc389291d1ba52e6fa0f496a7ae7ab36778ede7cc7d86a175f56b3a481adbe4035fd0c40003b77ce65d61ee84cccf841e4d6e1093bffbcde4a7fc04f9eb04a048c9942eb24a03349b0c70c6280cf989d0cb1ae6a3d12c9f93301803153c3a70e987ca44eb96f50324769388dfa89cc15b2e283ec8e3069f2839fb36f6745c4d96f1b687231d0a23032f2348d90cb5472cfdf5668ee8d6a7f6d52aecc65f8ee6a243c6d261b8e6c39303ac31340a604862c40eda40032d108c52a71c6de5d1c24d5ecf556d08e908b551035f19f006e92fc0d9f10bbf4f35f55eec66c9c898e7ef1a2c6e16fbfb67732cf9038e021daa604e9bac9ba8604e1c93a61430ec163f3a9ad0623317ec6535b30dc603a9acee88278036b0a09e87d8eac78d72caabda3698a650e5eafe1d66c33f76bd00581f02e0ea7f2d65d24d05c4904bbf64ea2aa8dcd70a32a945426b8486b9b710964464ba60bb00581f0248694576c0140e78bf677d9b342454c49c6d7b30ea590d3f09485a13b23a471da18c88547c1f0329ed436a6a5d0008975fff2f6250a2d1a798e5b4ac048bff8c5215b01b36e11600581f03380494d9474abc8954b2883eb5a9fa7ee2393953a54e85625011ce6a80b04463574b6b00581f03253797ce050b72916e98722a74cec15c39e36da5a46d9a85e15fafc2e5b044668f2080021940020219f6bf03c18fbc9644c8970112cbdb95c6ff7d91b327874cc539ca5c5490390e862c0cfe0385868f057bf989befe47404b43af2f45ebc10edc500313fb82c80d09d9ffa1380219ffff03f8d2ed9d749b1707397197e71e1f56295949245a8975591cbc57ec3571253c5c03c0df854b7552fe4b7cba6c94edd267308e2e82d10f9977c1a41f3726383fb63703efd370683aa18fd748bbab333cf40f2d7825961a3ec170b2f79074963b385a92034dafe92dbcc57f97aa85a80a5733e0154d74dba57d412dca26f79d4a75814890034ad5a5a994beba7f51bbdcb49391afe1b6dc78d341814daba1907dbb1e3456b003f7bbe2eb07a874cf0020d6c3b10fd48010bf0aa7b1ff6f86ecbe4351ec4cd9cd0374cba79bf2fd84d19a76926603e3a895b93c16f57c4aae2a516ad9055eb83c4e038bd7c427874dfb1a878a154c8e04eda4b5808e9297bc6f2325c58056e79eb87a033666127e47fbe1d3bf701eb949dd8583b50c9aeed6552f73106b8c81d2c95a4d03f83811e5870241b68a147c045400627ba13646fbd5e79f8fd3f81f8073a0841c037a4b66bb65e70d416cbcb45f9443febf23dfaf7781dce14d7b37d54465dbd260035d4dd923dfbc1b337d67b87740a891719127023854b9cc9f0fdbb4e855f3607b03d6b4099d622e3ef7cb70b1b9cdb5db23dc0dfe89753dcfb7e8a1aad8ac12679f03801b5b3943c40923e3bdb9893c05e8a8c3373ec45beba4fe3d711afaa6083c5d03f3d77061f9ba1c6cbea5dd34824a539213d36f45bdd6917fad3775c29216229e03e5f13742ca2af024d94ad1a82a3bdbd4a8920a04a98787eae332db3652039eff037f0377efd7c8a9820f33f24f93c09e11d80fcdab4832edc761091b6e6528661400581f02067f33524614b4f0d307cb4dc17daa7449661028d7f19443bfbd3c721b4a4714155f0a5ca65100581f021a056c0e389f7bc74e826166449dc7032256d4d80a349d46c9893508d5834a036410c0fcdb39ad5a8000581f02764828c80fd6f9cc55db003178bb497ceba0e0c4e1587613158b554572ad470163d1b399a33e031c9b0b9347b87dbb9652aed00435c8dac67564e80e8490799d91511a0907fdc603c97eac9625e975a4904d1aeeb096409f368e6980b83b0e8715249004d3a1ea510369ac096a555891c5cc8f6c443bda981e642707ab0133b40f100c3f18521efcaa00581f0275edbea22ab83326a4001e7fe7273e2813440cc83ca8e60a876391a3fa67480de0b6b3a764000003f85caa5fbf418580dae9fe29b7747dde2194ee0a63522b717f15c7f358617f8d037fe9befa88985fa38a120593f15c2183807ea705c2b3590779c493e2959e6d3a00581f02fc7ecff33b57d53748bc4cf6f812ac12cff1ca43af1ca1c37b982e331ace4a5d3443c07b0b6376280000581f03ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090044668f208000581f03e7bd8b027040a70eeae37366cf393bb07f09c19ba3b29eb9c2379494b11044660f452f02198100034b014af0734654ae310949fde3aed385160f1c9e50274d0abb5564e74436e3430219f57d032ced61d5fcc844780ca73911fc3bfafb2474ee6a5b82be408caafa8cd588e47003e442064b6d4b40045ae3b66c648996662cc2f54a86bc9674e701c8c2e300ae010219ffff03ade75d9ae82cc48752701174335880748ea550e3f98c03665500de80ab24c0c703255fce77d8d156de8549ac2594ad6e38546bde355e861548ca9fd4b0117c904e03a233d4adc8115715692da53857730f4ab94f7e1e12554c2b716c3d518c2f1ed703e16c9fc21bb85befb463aca0ce3275439b2a29f7d3f10063bd8ff5465a24d0790362e298cc91d16a39fc79a0548d65341a6ade71b6de7b5b75fd76618145d22ef300581f020a4b271e32cd79a10261696a977785be5861e7ba4902515941dfe2ddb544446528698303475fff5231c6adb67273f7c62cf4d6a085aafe3d5b49fd300cce69f148b79ac400581f0273836192424494d35252c77111dca81f09de3f18de0b1e3a5964905db4544463c5111f00581f02c32a9b0e661be282f9835abade9e4a0729d7ddbf6adf249accf1313e9c394a2616e7abdb113ec80f0000581f0280d6931bcec896aaf570ff2615936e87e5d3fe3b5a88a6f0c5aec1d5f29646e9b5dfe65efd00581f038847e62f363581a8327ee5a360e18775f88d295c53f9898610b346b0bdb04a204a36c6cafd05d3fd8000581f03ef31c5b94e2251f389c6a8ffdf56a73bc71154c256d80d1e07736f194c104b1e31d295818caeca9e47800219030003ed3ca19c9b5e233e16d7e9221a4ba0d2e382eb0bcf59a7e389d44000a9f83f4b035d54bd1a8915256af8cc53462838e0a6ac26e5708889555f53081468385917d503bae9e5f994b6e8747ddb1be0f134d1a28c4900d63b58a12480b5856d0384a84000581f02988ccc3d390aefabcad931073ba251fe12cea8d12332635ed7d336fb3dfd4a05478a296aaaddfd00000327d4ebb6e70d886ebd2818720651bf0379c53e114f0820a9ac4deb62b22119aa0219dfcc03d5957a4acc3fe8d0fe651452cf52fb191ea4f02c6e0c3236c3c0d0137ca61f64037dba80ca667fe1b9580a91ec19f42a1f62a44958132b45663f42e762aa51577c031d2b24db39da02b6d0087f0adeaf7c88c9ced01870e3ab8ce8407d9256bf7e9e03c15767eae8293204c218fef9e9739be4edaf48eaf459861b65983e064d2b15f300581f020363e5674c998f5a226930538b6c9c2966546d9e39dcf625970ef26817d8470b6085c9222a7f036d15d06b5019ef51b85f50af333fbf2735c5633675862ca10538558e3e0469cf0378b1e295c52e78622cc92a167e9c8971af318f59082e8b12b9cf919cbe59f2a7030e29a4cff355755a40dfcce420866f632100bc9c9baec8654a2d7395c35efa2c01410700581f02af36e19ad2ae483ef2fa0042677371da6e290c9dcc74c7691c7ae6c528814648198737bd7300581f02ef2511a2b6a2f5cea529447c30a348b4faa9aa20a5c202444a8ff8c5d6804b0260e0d4643011156a0e00031ac140590ad9ef7b760e7e4b38660c1e8e2187da8969754a500bea73737cfd9d00581f02a82162d948d8c5fc41de913fab3e1e64907ea3f7b58722df9a9a37b73d36491593af23b8af78c8800354cedf6cdc049f935c3e0db6da78082f1205952d877cf956575d21701f2da40903f8b4deeb5859a61ed15494120bb5371d9b625d1692fa667dfd6a80d7b63c623e03cc1a7e41767dce6912192cfe2591ee272b00f0db3c1022dd831699f75b4fe46000581f03e50013557444338be2fffc37945cd25de4c04fd828c92994b83da0df67204b2609049203b94b9601a90000581f038e8ca0ab6f1c4559b757a190203d79116e9e263f79c317553be579ded7004720bc550406c40e00581f037d99060dbc5ddd9db139ebf9f663bf71f4ef942d78f1ffc12aca27e72620471aa0168b970b9c0219030200581f02930258382c9e3632c101fd710f23ec55224fe0a07a347034fd4f610a40b94463c6938300581f02e0348e63d384d3cc5dde18086427fb893f0ce75fcdcbc07f1a27032bc8154467edcf8003ad6a06541890a634bef35aeec1ef50a83084129da66c2caa5c63589cc3ffc6ce0219ff7f034ab0711ef8f7c686646e488a436f6fcf21d0a5c35e5697f56dbade80a862061a036cfcd26a75a2b69e8d0c772aae846f597a7818e9976dbd102c351947be9d5fc60325c8fe1687eaa9d9e957974d4642a8080196d56e5bd018e792c4ffb734079c6a0388d36f2fdb3f270d5a78cc189c329cb3cf4a896d4969434c2bc9d63bf9fc792103654d7cf54a41ad0cace2bcf78521166604d6c9f717b97a079b788515c731610f0219ffff03716a924207615d01e9a0fcadd28445abab4e33b88cd1a9f51106e7e035a29174037ce5b9ee696380d4b6a5b957f7b921234c51e5c0412ac7fc099921256155f42f03c42c7b285647b65cbe8fbc4b0cc2c737e6c887cbaaadf92d7494e39556915b47035c48b4c1a93ded4860e7476a5df44ae4714ea16ee834b656b55098ee1b65a00503c35f8defbc550a2a2ff03589a6bf77f66f1d560038a667a5247aa938fcb4c08003e56e4280b7fc191f22a4f31876bbff9230455f149818b4acd35d38d431ac544203560351f5e10431f9aeb744796f52457e7865fc987a9d0c2fd36f018a7fa4810f037a882cdbf8e2d20f8d290ea4d2d872bb9dd3866712a26b7a710870407c48e5b003ab0a9de5e7c76758cc10e1e17a5e85e5576ea8b6a82c1efc9bcd1d9777e824b400581f0281d6f0486fafab1fd9f0550c00d11819423845c45f5258bf4fbb3e85a84946698660bb6f4700581f025cd34d7c1ccc2933ef76535d1c5d2cac7de369e2a190abdec230268bd9a049792d67671eb7d3e00000581f02c6a97f8c2d2a487c22e291ea2081945eb469d85c9d9a68cb2cc8c78202e444668f208000581f0294d28246be4acf0198f4efd85992a5870259cc8a912f5eb647981777780b4711b703be4bfc0000581f02ad470153bce1fe3ba956147a003d4cd1f19ffead922116c3863a42e18b0e4b37ea928ab3e5754329ae0000581f0248169d579d29fc082a5e1e06eb3654389db601a5ee0b856de065ad76aec54803b8671d566ce22703412dd3b388e8ffde198335fab8c8101ccf106684f500165d785dbdaf8ff6cf6203e5de55d4113bea77c0f173f97d6c2e5dd95733562a93bab3785f54de8734af1803d7efa07ea59293ac7032417deccc5f7cd37898b22d85563b574bdcf3404ecd5400581f02fb0bb296bb1661ac3c178ff2f196e175edbce64d8b78dbfebfa695177cdc4802f184ed3efe2ac20219b5f503c6dd3917523eec04b7e9b355c3823a35685fce9742ff164eea8a7a17feb9b462034f65c4c6ae6a5c16a0d4a34b74d442b8c9a868897995228cd457426442d8f22c0315ddcbbc5a302ea3e42365f40fc56ef98482ba1f010d1c415aef8a74fe1690d40324d9d161f7cc864379d730e4a5067eb1fc013065a50ddbcb9f146ab52d317f6e036eb0633077f4445402448437a3bbbd21046a5f8e3dce9f252cfe47f3f7290e53030c74425b74e730ccea70917ddd97a81925e65081fdf715e7f919e5911401403903d92517c87b62e8ee7dabd8a4eb2b1aee577dbef3f6713657b152a69cc52f53630219ffff030b23325d516aa8d5648ea34f702de033019aa4222fac9828cf967ff38e6e723d03ae5a0c42e660dee63237ed138dba3b971d75386a460de723bd153f1516db964303ce86aac5f6d1c27d9eca143b069118c2fcf2b7ff5b1cc533adb45c95ec94ea0003ada889ddbeba4f1f5c3586882ac205fd95f5024d9778b06081824a4d6bc7cefe03160787cf4c404b827fe4f63f95220003320db927ccf1de8c9349df12ae2b953f030b0d4501d650c72b59934594a133ad70e687195ec6b2ed02c513ad0b4618ad7d03884c7f70ac77c04f101379fadd57be062fbc8ecdfed8392b6732e465ae37c03500581f03f849a0df8bf65febd94f2617d85ed9359d0279149be6b007d8b1cc454690410100581f033dff42507c55bd5ea17ba202f817d900ac88fc63878d02171acff20302c04adee2115f446b24dbf00000581f031d5f99a5067bf19cebe0c145b47da955dfa3c67639caaf8589fe9f0416b04a13bfdd660cad4d9dc380020703891aa97da2e88769ab3fce0d55ec6d29e045e1b70df61abd5751292fb523a9fa030396e280f07ed7f5898351031122fc1120cd2be484889d4595837b395822aee9014104039db6986e06333512ae326cd1b6a52e8345cb627d05065c03d5a1fcdbe8d4e38703e4fd46a621ff1f595329ae36f4f6c626079a9244e92ea67cff96c9a970f8741800581f02c83176ad56953e383aa3087c48987463e097b5dcff247ba6bd5c41c9a75954512a68dd5433563bad526c8c2838c39debc9a756035d960b76392da72c8b08d86b4e9e091bdb97ee1ed27a2b30344c58314a42c581038453a4b97257389dedff1276a0239a85598a966666a03f350e2c46da2785b37600581f027768f7675201656643f6e598f0dbd6fba44b98c398ec80a78d9211d68bd34a0464d7a0f0ddeb13ba000348fba3453fafb0562f926a14e213d0d9bbd0cbbedd7908b78f0536fc1ed3c53001410700581f02e92cdfce869eea5ff833768191476e3e089ff3b5c86deb07c4a44ce5a12c4702b5ca0dbfde360219d7af00581f02f9cc76adc4192183199b8263245493143da3305464c72e2aa9fef182b7d942271003d8c348e732cd7abd192dde430d14b2d0f0ae5725e2bb09b30d85388dad158de203f4f3aab070b095694adc0cd7fbf75d0441c3d2f7b444619ef821ea3485c458ea038bab38949468e0c30a744aa0124f4a31dbd17fca67204ebf70f9213be87769c9034e3ac0e1588f6aa7457364cd3e5f82596a103093ca4e5622bec896317cdc08c4030d5b61cb701fc5fc226e401c484c0b5ffee95314102edbf7f86b9a4da7aa07d5031d1442c7385c3e74525a2b6b9fe9c9269fa35ba43aa70f3e2413ebcd0a15e40900581f0250472c454dc403e2428104598aa4e8c44d0c79c1b82aad76d88e4cfddac94461a2b9f800581f02545a65f9295b1fb79d073a37c9370c96a500678b62115d011fc78613d6fa548d5af1f5dd3dc4b73e3a9af682adc3641fade9a500581f02cb2921a657054c40f0c4cdbb03cf2f345f1869d9536a1cae24bc7cc497b24a7bf379d9375292957c0003cca7103564c4c5bfb78d179327c1fd6d9b683e3eada94c4bf99cc13cfd70487600581f036b6e9357ef21b7a13ce27b3269808478d1bae3cd4ed5d3cc423d09b0b96042271000581f03a1f4660593cb5a940707a800a05996da9878f4b1fbb4c228e1c72458e090461f0d5b8c6a4600581e021edaf7f99036381a8940ac3c031958a19b49262fb075cc8db06f3722d2445fbe3f0100581e02b23c6525ff5a13a53a19c9bd6f77a7113914d72f28b100405ef0825afa47a80148c6841d8200581e0297141d4149ccadcfff6903e129aa6e39139882b12e16f0485154aaa988471248ed165279780219500800581f03270f96b6c64f1cf0a5ac9a85f8e3e512de4359d005145b02bd38f741232047466244b855be6302194b0000581f02f7b04ad96d8348f3eb350312b872e6edae6f1b6c87d2a70b1ea837fb7bbe480de0b6b3a764000002197f9f03ae9c685d11a9951e07c6b1d96c9e973c3477a773a76b5a5c4be859b650eece7b0350103acc78ea8b93e1c5ad75ec93bfc64c456ca1e87b7c36b60caa2defdf06ae0350cc94a4b31c38afc24d376d7479668feaa3e83bf0e7e2582fb3cfdc733efb4b0322aee119212e97fff9450a978c44aad60f6abab7553b8c3bcc19ccd8aa694f5a0353ca6a576d6c8e0079dc8c5092f9040b5a4d4ea5953b0fc4a74bfbdb9a4df31803085cf68fdf1d525bc5a089b3409df6a251693d48143bb06aafe6adefb2875e12030a31c9e809b4c762ad62968c0818ee389dd8b7d29f294b6557ee92388706d2a3032a3f350a0da1479f522ff80bf6b0bb75690d443babfdf1f69e279f18a118c5530365cb24239d6427c2e36965e614170650907455f84b4370736f3a518470ff21510219ffff037b90220d5ca9968e1a3fe8969f1e54162bc716895daf85756b3c29fe623fa888030b832b1dbe1a8f1f09c4ff8d5009a9963d1975e34dda86e49f260359756926bd03a2aecc9ae431bcd10215bdc69e49c23124328a4c6025aa18a3979f0436e0dd23035c80be4af031ac2eb63a8145d00c75bf179cb6c7a6fa1e87dcd18959365cbd76034f3df1541d5ee9b35d0304929c4b5d65b77acb8528986fbaea4116443ebd15b7033623f64d6a6c7d7c2b20b3f2150ff1f97dcd080e3dc0f602684c876735cd359303b38be07a438aaeb7d0695456f07f34ca895724f685a4e2ea4da2d9a99f8a0af703a9c41eb8b7d91fc281a3d628090c79297bf0dda7817226e93869b1af4019db73034f27bf89afca264ac9804a99ed3db56eb141893fdd587414c5abef2e953c896d0343d3e2bb8c2cb118f6d7e21e3d6905e36f518a846304d0c61f75164a2c4a532b03b66f8b4b950fcb88f53bcb3b602f198b4ffbd754b6ea210240d5fc6050a964d3037497ffb8d44477b298d1eedb63ad922d1419f95e703bbad93f133d83e25b66f403454c47ee9236781c22b0d37e452d3ecea0a900dc6c77b8ac2c5b1a1cc4a44b8a0329133168fc604604cbf10949d693d8ef47c64664a7839639889c9c7ed31b70060321f073ac6e24cc0efc11b9bfa80a02f753af817d0c69eeaa35d673bfc576a46d00581f03ca59bbc330c85587063609551eef1b7b1a77dc838b30b5e6efc71a7357e0446aab2d8000581f03d7309ec00e117d2d7ca4ef5c553043a0ee228d6fb27fff326bb27e3f51904b1ab2dbe205067adc712f80039aeb4345b9f2d72f15c9712d5863566ed2a1baa587c2bec6b1d0510daa92e05702190148031035b6076ee31ec4256cf346d55fc4a84f75fcae55d77995d3f5509c7411ec2903521804180c04245c702a7ea2916c5594b01b26030eb06030c938dee5f3d15f1003ff4d6647e1956c45cc6b0fa8efd876b28ea5d3192e40de62a168d78465a53d4a00581f02b3b90415364f3e1a072f4eab5d2e6bea39a8dcd6748959e7566ee698f3064709bde983a305dd03d9b610b4f8afeb092aae28f25863a804a4c898f3446ed6a8450410aef5e415ca01410a03e4af9cc56d57473f801564f43beff485adac0d628219332517e7119622b5381100581f0251920f8d14451b1e4c4dbeb763dddb9c4826518022637218e19f9ecd46ea48cb3aff0af00e168000581f02d1ce8c4c68932f970dec0d2e636a211554eb38ae62a30f3059799d2e96a74468ddc08003bdc461781bb12be9a92870120f004d493a327896e520e0bef610813844cff241036fbd7eb3216dfb9b52ec52042f8c28b2ec1a7f5b5cfc6aca0cfe14d408ddaae40219dfd703b1e140177b5ff578bb69f1bde931e057e5ad2c5fcbc3963b352522c3c2affd520370c1ef684ae5b238cd1c6f560c0383f4d8ebe6027f1a3978c7fb08e9fe7f2a16032488d3126e232d0717fb96991c3709ac3f45862ee6fc62ec76d504d04031c50703fccf2a001890e001fbf009fed0e234fe033ca1f7738c1babee72fb47689002360219ffff030ba1937bceb17a3ba12c44f4af9ed187be39db32c422c5a2c9fd65c345b8a75a03de471e4b6f9ba7cba23e617ac56487da6909dd4509a52239b8e269ba985c8be403a9a38116c9b71c8fe2bf392cb9de144126df764d62e7b81c6c0cddd77373ffe903e15d8f57d80e3d8684239ea35a74d488ac4e565bd0b4e5043dff08487fa1fb4403a16146eed82369a6b2e48d2c5fb18ee97696df476eb9601e499685b2d3f3b1af03ae4e8ed99b6111623af19367890632321b7dd4608f97cb3bbdda43bd9d40699f03e4b8a1dd0206b177d77655e9164b5ca2ac076fae32379f0d27d6013697151268037c555d1614dfc81403b8161877c49876d933da5c53ce71f3d441a7fa0481921903780e6582d9320f1eb637ee2dd7823848a1ca0faef1e7512043587caf31b4052d00581f02197a17fe82d456236f988277f165490cd038a0a102ab61c6d0632e120ba94a01731516572c24d5a6000306426ed6a2f6e1a92944af0232835a32d90d94ed899bf60da767362a1f1a0c3200581f02604845691c3f74b1f491002e3af63538edb4141bd1960b2b3538bd925c324b0b422f908889804c51248000581f0278ff0c3181dc7573c90200186e6265e5dab5c3259639d724768d8d5cdb154abacce55ff2057d882d8000581f0248a0cecb4dc2d5827f16ddd03fe4ab5efc0b5fd6e6290f01d93c1858d1ca4a8c40be91a8f82886ce0000581f02b6410a0ac798de0e85a1baaa043786ef0923857c6c357fad54492326888a470cc726b3e0c80f034279946a272313cb9b915281f13037c04ce771e297446ffb2b4b4e18bc044c8f00581f03e91f4d263637dd067544c8e044d8057016e24a2453aefae4831128af64e04462721e2b00581f03fc08edad3fbdcd6172be1e78087b098d7c2b08294d3977bb3f40ef032b80446927948000581f0394ed7ed5b6518117340553820352113ce3f86320148b75a62413e581672042138800581f03ad278abb56154ca88f5fd1a05fe9fe8ab33896f4605c12461ce3edd64ad044627c4e0000581f0325b1b16d3c57c8265d95faad309779d4f3eff05b5d0d65dc913997c46950450c417c066500581f0308496dd547d0d61f83c78191778e82c08388efa524567a7e8acd7b994b8044668f2080021902a703a37f12574275b8b73d04d6ae21453b4366b3a30864e48097ca7644eb2836939e00581f02529d65793ccb5f0752c4e9354b2b1f179d46964d96145c08f674614e13bc446df2f9000219f93b00581f02060862f430aab5fc6c6355de2deb5929ce6c12d69ed670d92239e3309bbf494967097a2f45c8ac0000581f02a96a27952bbfd8a758b1c110e3d5705ab84cb51c673991b33a5ced0507d5421388039ffbd5514c68fbbd2fcaed69c35392a815bae869992f3c1d0e148de0cc65a5ea00581f02c2eb15a225cd861ba5ddbf48347f610808d09c95ca5c8bb8b69aa226c856411400581f02a9ea12dc32933a807cc3a7606308bc08047a92577b070a094764ca25254d42271003085c198b062a8757860fc2e418a7b3e63db539d1be255cc5411779768f67a17803ba4569a37dcfda5fd1b4c98518819024abbdcfe4122ab9f68d080f44a8abd9bd03aa48f3daace7f8d55fd9134e762e63787dcd57db66b05bb288cc648d04fa54c600581f0255246320a6dfa347bb1b50b55a33089ac7b9906a5a4bb4057232d5f7948747263557077e43ed00581f02b54bb1186e3665cc509df3b08ed689ab2dd363a8f34aead8de2c3ee2091047d5ff9352d9f99700581f03c113e8919e18ab75984a60fafc647c2ce6ac060734b8e030ff897620c48042271000581f031aaf04e668b74c4d545ca0b75ce95a2326ad3e9ced9e89c7d8b63869c350480de0b6b3a764000000581f03791d70760964ff92966b2d532eb12b909bd2a3a54bd19f213d807f6fe00048013e78d2e5a014cb00581f033cce60337ad1b70d48cb9c2c42d499086c6bfb57d318d730971fa2cd77004a274e529aeba1d5948e80021911280347fcc6f584847d2e4cd6334055a83389197cc1e4fa12d4ac329b696c859295b10219cb7f03fa90c66b2d92aec086e4f15424df4dc1157e7781c454e771fea1c1cc4bd053cd0307b70b21e91f5a4904e7592e7e555d7d5823f471d943800855d9eae8032b3a0603d0a0e1d5e82312405887a687143dd39ab8a0414cacd6d500815e872c5fdfbd52030a418be72d5969a54e64554e1f45775b3c54e227bc5335660c247fcb61932f1c03b616c356fd635e04eebc2ff5434610a4d81630371971fc12bd0de5296677836d033df3dbdfa450e4aff0a37e70fa4857f40df7a6325f406ea3de3392fe7a6b6e2b0219ffff03241551eddd5e4cba207dc218b0fed87460c6ad897d30281da38160e934efa62d0219ffff03f7d3a552d8fafae085331b2452674141a0ffe0d1f20ba830d4452a27f0d01f14037d31aad03df3e0788fcfefc5190b523372d9d0a0a2222d782dc2be9f00818ffa03649f6223821badb5e43d6302cd5cf2face2952f3d8489cd82b811e41d53fac3c031818fd7cbf6dc06d38f3e7543c11c6db708e84e35cf48d5f63084e8f70aac2f2035ccc75a55c180fa7ced8695ed425fcce5d699e0f1d1043feb25c8c0dee86d3f80322eda4b6c75e6e2a8e0af7415d46c9f1ca38cbc4259c92b9a837655990e7fb0a03edd5e852cf768913598ae64990baf71367d3b0b8cb856d728153bab8e97437e9037aa8fc8057a7ee112bafb6410699f5daf747b9e011a9e84a763fba630ea5bd5e038a775db6598eedcb1d27b3a32fa934a75e82ed0d7f8b849f06d1b1118dcbe20403ffd302ebbe49a1c04e7c65099c05dcec8fb07191b89266b4749b1f4102ba6e1e039cf25f59061548319690350c97e0e0ad4a030f2cc60452be511ec9c5bfa8fe5c035ae4bf5efd409d6831098e738267b602e9adcf12c0bd12b87c20612b9e8d587d0379ebd12303e6192c754efb039a1592d201e3d23997db4d9c78a8ea571f61fd4a00581f02818870191634c9899fa01fa39d3dc3f7e13d6dccc74e0f3a012d9f1864f5446012bb7b034bc58e7c809ce3612c6e7bb89ef3f4a6669a35a0ba93b0fa346be8ea340cd8c903fb52a6150341201685c72bde70fc88d7e300e8868879d4329da44dccf358f66a00581f027a3bf315b8776c6fcc73ec90378fe34adacf375f4755dc20ce9387acee564802257c72d2fa8098033d817eea11f551b65ddb2faa3d73805cfc3ca833848ce4cebf7cd682cd0b128a01410f00581f02f7ccb149b77570f2bcfaf16d4894306a3f866a0f877769f1df82cc6c0341462ff241998c0f0330c2f44c7b9914dab9d8ed333e0bb057e2fb2e00fd1bcd4ebd9be0cc895e96690378d78b3c886db753cb924b988ed8fc79f67d464ad4c3a0ad8f6d5605b342e00600581f02a2e11c913380b5d2253b9209c151ddcbc0feaf7362511d176e63c694bba7475cad30c375a9d000581f0292f30106960a575bfee896a7a52e409036ceee598ba5ea71a762f1026e8d470983c703dd020600581f036b57623ad64a5150c4979a5e70b7b7cd8f0bc393f86d7cef0e0384a6a6e0480de0b6b3a764000000581f0397881a96a86253a60657991b2e6ab2aba71b507fb81da0205c48d4dd7cd04717c89a627a32fb00581f03c37cf336ceb3355ea0624bdbd3362dd412173986857fd7dc33830037b100470872fdd888338700581f039d76ac4efa78dbd83453bb98b0c982bd1f5458e7c3234785bf2ee6c86b70474322e0ee7cb96a00581f0368d646f8428e14561f9d08073da5a92d59506f278663d4eda6c0aa7a0eb04b02c0e3800f4235f339c2800219025500581f022cff9f306d9b6d41c09705b5fb435dc2e9f79486ddb0fbf0bb1f8d6772044706c631b1ecd2b102197f7603ba771386d63bd032504fddf669d63b66d4cd074c003aef71bc6124d8a6f141e0036f1e7049bd6b19d2c0fd8779b92a356321bf4a58dca095cb38992abb6ad2f35903152dba5585919e400ab3a39db007fb4b65f447e07e19660a719163536081b7b10335a5db061bcf987e5b7f9205e7ed63df525943a88f93f316f3fe106c9b59ed2c0219ffff032e395f0b3887171b4b7a846d7f21003fc41f0d08f979536f87979797055707970329a45414876a2a0554d10add6bf7f3253c05030ad0b90d9cb41dced6d7a3587a0324fb2135e3e35a69e38e1e1e357ff8c6f1869795aba9a26033377fb6e53ee65103133502f8772dae54c174f6f41af78287fc6bc962f8ea8375be2996995b5d385a031bc3a4f46f032d4011298fc8c0579a9af583ea6eca2b1a19a82cd57652cc0b7503bdc7db0ba87ea14f2f9c223b990438afd9d59d29f4e301c1242fe8e6939d77c7037725a1fb79bc3909fe2090945a16ccf075f33457d17cf5a670df341ec918f05203a8cdced246ebe81dbc1f767c101b1c368c6dbe939bc68b66463e1414944162ed03438dacb2ef0959c89016cb71046cb5dff5e242a0142b369274e3a53112bf09ca03ed560f08007bbbcc65532aa29b8ac0ac0fca535e7c05cac66b53eadadb9096450372be0dc5bd53124adb605d2000bc4fd5d1f899f085d6c14f223a6ccb97bf2b7403500682695d9423c31720bbd8a1c603ff720038e4d2db0d4ba09962074e71fb9b030a3a268ad79a2f87f9534051bf4ed9010c32b5c208b27c6d9a1ccaf65f93f5ed038147e683fc24f9d8301d64558bb70b15b9bf79ea5bbe86d8985d36233284695a0393bdbbb4fedd028b9df599c3d6321eba7df238228d03b08c6ec0d6d6bc56d4420336cc4e8ef8509e5c1eaedd4fc6646f344b35e4a025276bc8979930573dfc12e503b7b994396b5f2e9210f42eb657ee8f16e64eaabd8caf9ad44652f558f7399e2903fd32dd78f870192c2acb410588ea70501f24d091c5a478f5d6bfc22c01372b0d03d2fc697b3e3874aaefb1a9aadb673a4367cf936367e5a10b1919586eb81a642703de1a0811ad6432aaa56dac52e0fda2436fb3d41dd1821ed2e71bd2b5b4afe5d8031f4e61f2c72fe7f3b1b72f0cef468a9517fb26f702580057f21da6b262d77d0603998aea2f25b2c07a3808b37b8a82874841bad0fd63e57c68802c97cf41b41ec403d508a07ab9551e5866890492a46a84188d89f17d3ddda845efc6594f4dea4a31031a0accc995f29dee82caaacd8ca31267c1e38cdfae4ec12a30aad04bd4865fdb00581f02c076db80e15be80d6f3efbbaa10035a6e0bf4d0f3290fef7870e54828f8a446004f66400581f0219c13f4706a89ba5a9ed302d65d584715c4dd843c960b391fa515ecf6e5e446707190000581f02f68c1b9f272c15f669922a7ee2a672a4e191795ef0e66791e6c43c3d8122480de0b6b3a764000000581f0255f8e6a124d890a21c87e40713327f1c421c2cd1539e9b494bf789be8bb74466736e53032ed8a717d09e366f0f2a4f4d1fb478bd3e975dae1bf3d225627e74104d011f1f00581f02f8e8fb2bf916271e33248b7564a70c26aea16ace8c4c3409599f9189189d480de0b6b3a764000003446a569aa31c3268fd67b91a4626fc5b731dde98bbadbb2a54365d8d11ec6b1703b79928c62cc59603ad12f3a84bda9e8fd44f333ac0a269e4918a8995fddaedbb00581f02173b57b52837fbcfd048eb528e267a9c4c0107ea8af5e6455506fe58579d47430602bd386d7800581f02461ef841d5f1455c48dbf6699075584b20dc29720a0fbb840e7d41489207471898bc28e595270219db9c03c0d322b826cd7479bb5c0bfd7960e3b31d35dd0646201d621f7a54654dc3fce8032d60134351081eaaf12b98e0c6a0a09f02a4d6bd588173c2520da851ed8ee76303af5ee105479c5a3389e9d5e15325d52b3b3b0b5a7548e7cf622bcc6dd4450bb00219ffff0219ffff0387a1cc5f17836e93a95bc7927602b1051eb5e95ba369ad0c5380cd4128ba2be3035db28e7367849325935c4a358fef6dd9c6d901946a8ed782d72b18a9775aa04b0301de847825d5eea3fdbc02da4113533eb86f45650b15dd3b39fe07fea79dd1530395d94cf1eacb9e0a9e69def6286f4ec1f6922d75f5676953c111ca77eb70955d03b9b3624c8e34b18ca8e8a3e2a3f41910ad1387dc3f4fadf72c50e88525644ea4037f0a4756f80e3cc946dcab05401b92c1e51c0fd2c4e2b3950491283a5d24c08003bf26a2abdc73683b475f21cc1b688f687a5446420a119d14609770796ac937d90360f3904e4ab7ea0457c679bbb9c046c7594524d3ebabc98a4a44e100be7b838a03272a5ef26710f462d3d502f8efce5bd914fcb50cd0ee3d9a95e6520124263ac4036af9861bab3290d0f2a5145a4d61ea9e898bf54219563c38c95dc592fa07fc340332564cfed0e231eea3cf6830233fd650ecc7084cf539fdfcce45af55d075daaa03a461320c29cd34ac2750cf02b56f749d4a13ff44dc6ef2f531e3937991caed00035fc84c29d961fa42f92195883722e9f2e00bcddd9f485c6c0a720a1e0cf5113503fc6011c7cfd990f784cd89bb2ee4adb95f964a89d6d8286f4dbfff1885ff01c503e01e867b83e81c539780005cbf365492fe3f982ab08bee6de6ae8ffe305591b003031f53f3a827058e69f349d90f5588f0249ad32e6790c4ca7d1da72544a16c480376988aa6ed2f5c042eaab23ccecae7ee5daf57f1a40f8c48612788b5b62ad45101410a03fdfb27a6d1bcca95cfe215a0f63fe95183f1f7189f60bea130ef0a1994a03c3d03e6d03a1fad577500d869ac016f6ccf984339f37813e478575d1803424ff0fa1900581f0217238a303b4920a8b856116e972ee9720c7fa4e12643774bb12abe8a391b4a59e0170c61c05bc16a8003d7c05fc7c1528859559d3900981bd9945e56b3a9093ce1e1ac6b15ae7fadb11003ab41050f62af9d2ac962387dd90adaf09aa327abdf4bce60b13ff5d9d0ce816b00581f02e19a2cb73e68549372e2a97edbe40f727ec64f0b68d5d9dd35feba5e63c244628cfc3b00581f02054aca2f94f68b808e74695e9a3670bd7f24d4c7eae17486d2101e580e36463f8c4bb6613203877eb166e22ed28b6ea0d21bba26acf8bfbc737ec21ebf7f8d7ad521a441b42b00581f03759e68b1bf022e2e14f9cb8e2f706eb155639c22802eec05626f45f5384045093a9048ab00581f03c64f24a46964e4b0f70894a51644af891e9e4739f589b6eb8f03f1f567304ae7f3a3cd95c80e96028000581f03057c72e5426ebc7bb1dc58a56149bece6269fc889f6773316df98be760804711c01deffe7a1800581f0324d986d142b1d7ea0b4cccabee987bb7f40b91b8211baeeeb23667bd5810480de0b6b3a7640000021920b000581f0271d65a050916f39bbef2fff6c4d6f6d3f96eba2fb1f2bb25b2b7a4ca093f4a5717536f9deda806490003a23aeca59db577284c07537ab0331fe65920778294ac454cfdd79c8f127d0e5f00581f02f73b5d0eb8319a06cd049f21cdb7f4999330f267ed4f0fde2bb8a279841a4467edcf8003acf288ab348b528657505dcf1e8d03671dd699b30c8136fb39e5cb5906d6283000581f02d2cd8309076d15d8f5c14f976e68ee5a65c3d58a01107b7147b21820ab89479d8ddfd52c80660353b051730f5716ddeb8a97000c629c8fcdf264ff16aa982589af3ddd8e7479270219ffff03f43b62546cc4713b1265883bc55bbf14410157206908adb7a5d70969e3a3843d0219ffff033ddce40691dbe04bedf757e3c401175b08aa0c6b0400bbf9837da759e73ee64d03da6be30f472723dbed6a0b44826e2512d03e4dd90a04b3bbba3884d68dd7c98f03f2bd81e0d77c2c092607d41a01f2dded1c4838f54d2f678868ac3ff54de06e830372abd085d248a3c6d200a52e9107493289a1ce3d3f28ef11795d3479265758a803fe749e79b1be132770379df3590ae0ee8b1ac1c0c399fae7f8d4e8f9a9dd953a0349cfec79c9ef6a7f6c18117fd1c0f8fdc574338727426314214b5f1f0ec5579e03d286b9de1ae84826aa36bdb970717920795b2a18785fef7757541995b201b845032f803e89e06381a460fa8954999b41a0abf375ab0af9f1793c644bf95f04a0520364810dc719ffb05916a2abb961e2e3d1066061e64479d1aa578dee77f87d73ce039713c794f87b3d9e29245e2797895ce41a7b4f149727a13070d9e6001925411103a13778d5b6050eaa8a16b496db7468b669ffb69769ad7e91a573b361c17cdc5300581f02d2cf0aa527d816f7a5d65f9da0851585fe292e594e5af53d75b1e6f99a0645195c3d4bcc00581f03e4aa5ccddf5cf8496b966f73e5db21b4ec683cb1650973248336d82d8d204469e9610000581f03945e96d4295cd3e5364dbdd51814e1504b494aff2e6196bb7d4fe82302004b023043d92104a1fa2f1a0000581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0410d00581f038d4dbff25fbf4a2e4f043f1cadc8483cd6c435f836ac3faa6cd4104a19e04b053cac717c50c3ac1161000219461000581f0253773ad0a2761e9e9e70e9b0096dcc790df1d1e5761f1cd71d64754de6cd446710538003f0dc7bd4d8c641980bce6fe313fc611dc9da145fe343be790450512fb5dfde700351a4e88fdf5668995974f337946817ff0b93301b304daf1713718f365ec196520393e5461dc7ce692b74dda993888de1de41801c95f95e62411c0fd865fbbc46eb00581f023b0e399d7a0f36f13f33a03a329b16328e308f1079b51ab7d844313da2354aa114bf545dad85154c8c038c9c853fd08f8e4173632975f8057a2de78677cad8db9b945006d8a78081047c03f0fa37d16774c7af5857f87db314aaddcc049a8c00719c35978e72896a14c5d403f3b5cf3c0af20d8a3f481751f17a7d33059b49b3b2de473a0a2c06c9399548dd00581f022e76e01301944b78ee2916f7d98758b2aadf6e73368fea529db71e6689de4466c67f800219fdf4034f20e3236be5f6bf5154fe1f215d98be7f01738c43041c7216738ce3d3bc6d3703bedd13cb81f7f8fd7ea44040af0b4a9265c253e3cd51f4c55fa56f333437c472031d317e8d162936a98cea57669c1d79623424ce767c80421760b2dc80bcfcbe94039aedb1ebee17b8e34543977511ea6119dd605601182a0253b6d790d9c5b51f02037b9abb0668c61b5343df57f3254813e810f82017f3c721b01ef61242c7978366032968294c040eb5f612920f2f2021c5cea621215404bf2e511b5ebdfa2cd290ec031f618b1c746a2846467d8e31fa0db84f48802068b39267c0bba094eb117503db03b997eb81505861f232217dda8b293d4ad84b54a0110f3d4ba02dc8c15ca6b4b20390de7996e2a340e4cec67b5fcc6d075110ce0212f72f04b1e979845bca758ad80311444299835a12b64b1f95fa48bcc743444589cea4ee0057226ef90de2d5485b03776c36fc1bc813659ea24ce16522d397ac827d8d3d02f9fe4b84e596424aab6e031608ef2fdd8ce432a7c4e9fed2bc515657429722e6d92dc7b997eeb4d7575d5a0219ffff0305250c26886d6dfadcacb9f09136cbbc84f68c96dec8b353d75c791e15b63ae30351e768f02c7c9005d015b51d142227470b4385082339078fa1d1f30f9412c41403d3b0fcd57ce3114dd57678330e243b0c7d823802845af22451290addd5eb7dea0327980f0fe826d8db733accd611e11321be7498d2da118ec08a4e97ed1c02cd170391d9e1c474247091b5268a0fd1405a508e8794d0d2cb11d9f73fb69a0359e75b035ff7ba4e1f712e17e4d795c9eb8a5c7c650675b385cd478fd8fc040f134e032703c1eb3bd1fc344a6b1cdefc885a8a0e7187c0f26e6a2d245fb257660f08f51a0603af297eae8c5fea5befe2129d246589b1db06e37e4646ef31a83b8b0ccf0766b6034028bfb95b6abc21580555a4702d28716fcac658c4a31e8b9842e990757300b800581f02474f7efe4dbc7e39d1f5c42f1293f29cf6ae0d80deeb21e0a61127ed555747084b849e0e0b330370b2c70d4a0bf52a03f7eb59d47abd893769dac5b7b6d3c6ef5f8bd974a0800c03cb3a6381cfed8a4e9c4102a2c5bb5759ca3307d6e35e7fe33bb8880ed46e4a16039b049f02821d9fd51f104f740f91f8f4298c7681115b02ab5c0fe590efe1cd7503368bc8f915dec864d1cd93daee53b273f14bf4c97e549aa14abbba7dbedf1e1e00581f026bab7ef8bbe5731e4f2d9709470e25561f90904468e47a2d21c524f8c39d4466fdde8003fda24d3bd9bb86a341c6032f3ab29f3e547bcda03c2d49d9440df63c27e1ba7d00581f02b30c134be05863cf192cee4a8cb73a879f65f9a625ffff0ec1d6b9b81e294a02f030d4ce78cbbad00000581f0218d621f8e9414768d3207c5445a68faef7393537a1cd1b314a7cff669409471bb04c587942690341e07ec8029245b8ff5e8bf3e99a96c9b778b9bc2e0f2a8c3a06f5830d30ff2300581f027c250161e774bfa01ff4826870cca95384932b36e5c50cc88e6623d0b6cf4461a1f6700317b7eb47f20b9d5b94f8e5af598c87e865e83ae68d5ec2746b3648eebeb7370103e67f7cc9f92806a7a1dbb4e9ebbffcd43cd3cd2f689066738eb9ccb54a29ee0400581f02d40fb6e106b744f27f29022bb7b5b63a1006635e862cd8f3d3b7a810d93744606ad38d00581f0328408366456c4347c8c296be56603e70c648639fa2607bb88a1b88ffd6d04a53ed307f82415f34c60000581f03827645e14b1ae95578f2ac64b1f2a6531d21a629509d02ceb4c58081f9e044668f208000581f032080bcbef46588af4ff91a18e3437ebb90f109c157b46317ca2b1396000047bf9f70055f6d8c00581f037a9563c8978c8703cc5455124a4b16d7f9d1448cd30e72d6ed729afc5f104695ac561fc6b302190c300219fffd0361cdd7515efd62bab7bc764eb0f6c30862fb4fe580cd04a5f83fa0e3902ff65b0395cc380295725e7bffa1c659b17198d493b4ffd99bb4e62c120eb2c4cb7de4ee03fdbac7d2a4618be797ea9560b632e672b34f3186cc751bd5e185f0004078bb0d03ff79f3e4b157890a34ce6b306da63620839d76afeff117e83b634b6ca9f9d3c903f0beef887e020b1d2792538783af0eb80d3abd27aea122ae08fd1139be971cd103571403ef7aec3086f3ee7857093e6c689e202e96499dbe60aae212641282de97036e78763e382ada963fcb7960af3afc7236072672ecb4e273f9c729ed333fa5d803d43f29e60c98d94313be4f8ea9ca50b2a851caec1a2dfab5be662674bb7308c00219ffff035abb5c8af74ffa1239f7d6e67aab3cd8be6fd4cf64acb0f69a2a56188e57bda1035eaaa0da030a67f9943ec662dff4bd2b2031e458c634626fc5e72c9399f806500219ffff035001be36b7192c9387dcff6c3efa37810d47a69832e2dac3d0f2c2b6f6b1302f0366d8a6778a41827560aed4ad24683cf9cc1eabfbd3589f577cd653d51f602ef803450e073dea3d8d770c0c59ba22c9ba26768a79ace77a7620d2d376eaef4bbaf303e94ff347d784fb91046bab22408683eae1086540295dcd1d1a90dbeee786b0580336b7be7db6a68993367e5118bd0a12ee71f09d5cb315707e60bced689489fa86034216f9b8f3769b3b32529d25f428ac094b54f614ccb52e2982aceb8b40a3cb0303f08a249a20689b7c42179e4ec960a90eeacfc27639b8e540226b6da69d77083a031b07e83b7b276a19c8c0ea0123760ca6070d3682f8bb99435f66c1aa3b4b3d9403b80b168e80032f5fdcf997fbf9f357b0d354b49d81393bbb0077c203243f6cd203cdf9a1f6cdb8edca65d59f5b145b4f40dee1683204b95549e7ad5b9f258cbd5203421c1d8c17e31a25e9f3d6037217ec8f2e419a0f267dbc7680e0ceefe3c4b9ee00581f027ac9c856e2ed29fca134ace242af2f90d0296ef51ea7dcf876dccaa375ea470361a006c1e3ea037c66a5fba687e7aa99d460cca4cbcf6ad39dd771fe8ab9dd3316c4e35586746d03c5d633a9c51be43c629357b51bcec508bd0a8c44f8a0ec45d680f5af9506d6af00581f025ae8143e665289a623a12e396089bc0fb7b0148e0eddc41abb71842ee8cf446bad9380036a088bb04decb0b994427ab52016e180b420a47dd728079927dd2bbb8873541400581f02ea1bbf06a5c213b9b3863986570530133f5b4d053c37a5238744ba6767cd480de0b6b3a764000000581f02d6d6a1da0b2ac9771a40d9cf6ef2191b6a6af41dbb40ffb1ea4a61ec146446e9aacba5da9f032b3a9367caa36d97d107eb265b8b80ed1650cf78c166dd1ec9324214e437bb8500581f027c26709fff467d75973c87eac096ffe407aaf6fc3e8ef5de841d7189516742271000581f029d4b22928887f8de6697d26911bf7cd1779805e69e6f87df0b15b5fdd8ae481e376083cbcadc8000581f025a6c69dfe705ac9956074ddac44c04af369bda4e6e793ce06c399f6553a24738d2b61e7baa31037aa3058e08f585d3e779b2f8f54218bb280761e5e92b90e5bb5fa4a44030429e0342f923d269c947eae50a8e0dd62747170e260b2418ad761da065c489d52236cf0320134ca81b73a1b7e910585dd6a419b82a097cd6b27e69fd24061c1c054d470200581f037be190149b7bf12e209316add0eb3936187aca4296a1eebe7de49397f4a04a07bbf350e5e384d0ef8000581f0326be034f89e032fd64829a8d22237d5b9efabd308d7dff403fced8dfb9204b131bade7f5206e30fc3f0000581f03c460b20ef4db64d15fd2465a1156da9f661a963d4cc0f829c08249f421904a0a7de2dafc98dab5d000021910280219feff03d8968b8e842cd5d490882e17047918f00791581ee6d0df9d56ad4842dcc927f20348859beb5ad7d7d0dacb175870f61a8b16be6a793b0436f50f46dd007aeca2d7037ffa76ec5892f3be41ad7e98b66d20cf2496e6f8bde46bd407ac26221d5393a9033b6212eb63144c44e47bc30ab12ec1b56b56e43ffe2e1149177bec6229797bd8034c1778b667bc9277c8d4414a82db7a0869c0668cf7aea99a2f12a569f57e762903e30f47b8744d7f22af15ec31319313622da9245f4e9c0ce5daf3e173d56882af0219ffff03467768efa44ff7c5c2ae256c142d16c0c3e345bbaf0f4a1672860f6f365ed1a203da4170a0e502f845ac85c8d7ffc99a05962099b387da8d5f77e214938950a43e0340dac3400a75fbdfb590b1b228d349cf41a6adca9199532f3ce77fb2da63ad0003db295075761d62ea7e6b274f7ad1b6f128bdf22bb614f38d40aa9bbc374004810365a73a4d0116c7323a54468c71984381085229a85061799a2fd749664aefecf403ae6813bb1b0e04656eb9362b809cf22b415182c3ad254b678ce38aaf0dc9182d00581f02f4c6875df1d38ba097285a5b8c711fdb570d0fa22b3c864a6ea7cbe9d8b7460a42207f29af03e956c582172179dfd7abac51d63c3398b3a08f9f2ee7280c9d8d6a4b74d8cc8e03eb05f062c5fe8c194379e53998bad7d8cad7a96435b5f044050d194d749a89f7039c758997cd78c9fa28fe36058dc9f668d67aa97e822dfb8efb6560b469e5a84103140c474371f776157f94492ec7219a9437f24831a16093d0b010d61d530ed41400581f02a7e7b45e0c5c6701e16bbccce04182e020af18fc7daa5046788b687c1c5146052b038f4a8103eb95daf1ba2315157c7888e47cdbaa9d3804570a472732219a3e62435cea24a5032c64ee8ac50ee7b16e22948f74b631a9f927c3b481b43c695addb9e1d918016f0351bf1a1de35dc543085ca6a5cfb307ed881a3213e539c1597b35eef8fcdfa9800351764034367ebbd645e2f467e25f191818d2ec3fb66a76ff4fccc26996399c4700581f03f6a763bbcb2f431ed987224b2a7a0de74ad44ab5290183f97f6a6b258c204a222c673a870aa78c4a0000581f03524d04860b85e7187392d1768f27bf0aeeaf2e6c6cf2e8fbe859be1af7304c01ae3082b367c707905664c80219300002195f6f035602723ffec34c73fed74b7484b988a8d754e5426820d1eaddbf8326b4d2780a034cdf15b04e521b7e831b62bf007790b3a3f640e3b0642670a98690485b922e5303789fa71740c905274d52fcfc9ad808ce9f13b7cbeffb8050d0315b91db924eba03b6f9701efd65727d8e5e635c2d2d526f4168aa8e6aaac92be1b77063184c3b9103d6aae89226b4249184a411be888c202d5eff424ea7670f70c464554b26247eb903494c92e5f7d36a89c2cd55b7d5e9bb67a3516f721b37e3c9250ed0721bf6126003d560526793f5ec9cffb4fea201b2093958f56eaebe58738edabb295ff47c24f6033dced9fc47db95585b7b3a7b8355189a70e2c100413253e82e454fe1039650500377f1e997ef77b4c038887b6d486d1b851af55fda4a90cdd604d0b812db2e1db903e45ad9d1853cb3eaf338fcdbadedfd93402b821ead8b819a8112f1e2845897890350ff96170114bb895c4cbf4da4c07290c5b895d59b4a32ba389cabacb2eafb290219ffff03d0f891a531c0534816aa1790efd7761a225ae925d481f512252f73cde1ee632e0353e3404745b3e425a779ff5256a65a56862ff6ca5cf19d070097626bf0a17f4e035fba3cd7a3a8e4ce35f0f9319aa7a0421d5122be018cdd8ceb3c5bb72902bcd60392a5031608ba2abc7a018e8aedca9eea0734d0c0ad642e6ebbf0ec304e8f3a2a036757b4a5b4a07e2b07ba6d3468c0ff10d0af64334fdbb6b107fa4854da6c4697031bc8f2044e66f5b1c0680c991222aced52566d478376f6f997c0d77a4508f03c032d13f9cb48b9269687de08e00edf9d453b65ddbe5b832a6293ccdedde6d8401603b893626541e81fa5c7035d22b075302a5b67c267faac231c24c88e9777d46a9a032b6204e9b8ca25970761cb257a9f8c9dca3fbbbc565d5d52a40ddd0c4d8b084e034cb5e459cff716e241049b8342bd2f08af30d3ca38062bd544080eb9a34175d8036c64ed58ea09f8dd77c3cd654538b57b8e8e1109d3e1167cec02737b50a7028a03aaeee69f63851f523eecc792eadc47ff74d5a0323a265d93c5b36e03bc9b546f0374facb4ee2faa652d43ee8d65cc9c4f10fb9e18ad919c2db7c9bbcb4022313e000581f02d2218d486c55b6597c1d0e4556074b769f7952b98f79fd197c2ab2ddc1104b028e8e120643d2b5379f8003096211df4d19dcffe5bba76fa9c675f9d5d1f8b0a729033b44305a08f390575203abeb602aef3cadd63fc8917575e2a68b47d4779b47d2c255069f0ec56b92666d035094c4b17f238da417ee330fcf79080a298efbf61c02d4971178e582a43f10cc03c6e83f7f9832dafd1955484e5cb454ce2e290be99c919be6c7218044864d6a0f00581f02fe37452f2087e861378ce9b053f1738f67f2f3d2b94fbad73370577dabf5460c117b7600a300581f02bdb4d209e76256e29c2ef598afa3a9be35eeda32997e6735f0e3d3903f4844668f208003db5b0198e8302ca6021eed9cd2a34104126d62228152509bfbac6fc9bd88dfbb00581f020eeb39e1f51d79d8c761c4a6c97bfb8f21a17c48759ab9a3a9235e96f44147703fa45268b9dc00581f02a31a602a789fae3601a3038d6c45b50aada73492c0a224f51f0765cec5c24465124bff031802bca25690b7c296ae1e4ceb5ac24865627eb5bdf3fc47727ae30b169abb3400581f029124de22cb03a1304c4f1c7c5ffa7ffd27b725d49e31013733944c7d825444648765ef00581f02e0ef78dda94cac84df9d8db537fffeb23ec2183f69395d503a188872ec6c47401b63434a302300581f0292197c5f79356f7eb2163ad28fd4c36438b9c8b9790ea1c2bf888d9123af47465a20ff6e02f800581f02e8a059a7bcbbe832f502ad545c191096ab643a1107e0095d6635884b06ad490379e6ccb8c2453c000219fdff03d02325aef8b1ae037948ff6d8afba23125f9e32181aad736a28e3e2f194de98c03852650a7406459b7cd9c66b7634bc94088f48c2eeaae0be7bcf1d53f7c951447038e2f920e871e52f7469384a94e392618df4b4c79338b8fc944f54bea4dee25ce0327c04fb3b31459340c8391450903049db50cd9d2d4fa9c62676e75442e7562f4030c8e4cdd8c45c192abf402d5a22237799f09c4f4daeeae2cf17dc82ffc276e6c032a0676ce07c8fb132b9f8f373dcdf515398d8b903f58a5b68a621e1947cb07f60219ffff034d87c2a2fac15b8c31fd5ea369a0c703229cd1ad46e82c59fe08e1a1d3b0242003241809d35ee94404b726db57dab81d354ce15fe2ed5c45287cd5e7566f3e0acb03fd3e74eeab7c1a85efa9e0d6015adde2b2922f9650846a70f8e1af5fcb77abd3032b92e58c35c5e5846fdf557edd686bf0698994dfa50c175af3e52281f834efe7035635f2f9921848d87728d665b8f56f708ffbccbf072c355d7b36e20f6124b0bc031d5c8e9041db8898c433293495a8c7415a52a75d676eef1003ec1b7ea63758ec03f1fe1fa7bb4402f2e5a9252c0993e879bb4224238f8ecf02445ae8b04d37be5a03a9b19a1184753afbfed4fe30a3af9bb75cce766bd0a916e8c205d07e0bb24ca00353a6e9a68ab21c5888ef4f94a3517be10a6221af3516c26478fe979632d263e50307fe6f30d2d40704a3e0fc77fef367200d74ed03ed0d296712c205ace033f56303fc40ae11d5d056a45cdbb4597395fd73abf87dbbe46f9b6807c2a7d4075f27a1036367041057bb27d6467245406d8dc9a064fc537c510428a58bbdf1dd2e47b605036a0d2d95db17e042ba05fc2d6c540533c84af96cc6ca506485fe3d10ef963aad03bab283e07f6697195265cf60e86a3ebd1aab26e57aa0e07689b2e10809e6ce2d032125564e272fa92d2d25e891a2b4d9969fdc0e21c6c2a66f80a847de23af0a7700581f02a8b56a18fc07bf6f5c5b9dcaca1588fd9d7f5ec5fb0d98b18f86a3399a7f4b0559f7344761cbdd43fd0003e629e88a372af8b890cba625de7ff24e1715d598731d89bdc6cd51975e265c4000581f028d6786252db3ea8d1043c0f566b4247a7e127bf2a433c49cf8ccaba26e5e470a25fe9bd5e60200581f02a0bdda5d2a1fee1f2d9fd5cca0d8b72547179ac263ee95b462f54a0e848d53164e23724f5aec1a995149ef9d7fd60e200000035d12d748ca567173e6eb990d02a6e8031ced95fd660ba73eee53deb3b92235fe03e87a687c4fb763e957488a51adedbc4f582088bfb07bac37f44c0064cd9c1ea902196b5f03cc27d6e7f937c8eb91a33f72231f44fb73004498a2f16b038d817a8c9809e2b003912b51f5b9e88e3c99ceb943ae3296c4024712037364ce97ba64cc1eccd93dbf03b3103bf44d9bb0584564b948f17f583de801f838b022506996018202d3f35ff303e66555a0df5a4df0b97a3234ca55d536c0331c1a8477ae4be16686fd4ec8394403d2ee082c33fce143271c4097109756f641098300c4b5b0fddd057cc9c15653d90219ffff03253e622bfe862abf0974a0f4e21c130c38525e9bb4cadf3d707d55c8c35a9447031288989035db4d7814bc2a8151fef3f1cac837de36873a34e43d6c9d9ca0ebc4034e6723c97b0f41c857e30bb4cb9a1a21739d4c148cd44f706a41dc9aab23cf6003e7bb98f2544add1c0308fee4de1ceef2b7bbc53081c94f269979a860cb817e87037613c8942c00b4ea5217a8604465154757ad6f475ff972ad09666672c9c7869303438c90a86854b5d707ec0043a99c72bd47998a6d952d2b1f8dc390eb5ab45699031a9df9a1675b92816a1e6bf39b85239f97a96dfbb0b5c2d04e6dc87d5a64bc1203abdda515fe426df4a9ce1f0846c694f3c9a274cc2655e82b6a0f05716d2d00f8031126b28946cd9519f30ec2b06888756c6f54b76288662dc94c0294e9c6ecd75703e4fdf9f6f96d950dc8c47f8e8d740abee262a81bac2b3c9391d5c4d20909a0ec033e0ae69e2f9128c2f0cc4bb53e4e4809dac6e13de283458e55974a95615ef6de03cdd350249d81f00245c210bc0434c451f807222a463f043cda237ac0bb12695300581f027dfa3370149366d14971d7015f16e371e56c5e1ecfbc2cc6eaefc20a620f498520d342c4b6759e00030384930eb0c375533df62845c77f030c2e8b00f372f1ea8572648b48ef9cc80100581f02beb55560e1d327923aaafe7c600d3d7f592b3bd5705344cda9474ed0a9f0474e4e6e0e9e6b320371dfde475f5d911bdd544a3e1f6c3b37d7ae733c3d5a7d66be65a34cafd9476f00581f02aae84ffd5f1ef1136a52cbdf0002bc43d25a5806a001a908b548c9e06fff4468097f0000581f0206694304973be671e7d4156127510a7ad527d8e492a35bb212d3a64675e5446840de00038c53a0b0185dc76a718f2a00b1a99bc73a8fdf14908466a4cc6d6aacefe6f7bf03656a4dd28628ce42dc722fbc685975ec52bb73d8b681d89cc1c5487f1c432e0500581f029da2e7b8c6a4c2f51b188883708be588df626b089b2f909a525cf8370ac049288ea8c2f9c037be0000581f03448065b091132ae678a9c1e2f5b0cc1bd473757af5f098c9128f8451bd304a01c275ab80a31b24120000581f030485278b035c5dc8f9dd4331801b005c198073fb7242b8e87c189c7e0bd04468a6618000581f037e7a9f7bbd43def1cc5b4bf4a18c4b89c645b90466fa93ad3dc6a72ccc004b04e27b45b3722f54120d8000581f03e6b5c6b40a9a71bd5f185377a5799ed29dff1295358ae3196a770888f8a04467198e00021940070318a0ff58418531b4bced5cc82fea04bda1972464f74d470766d4ea3eaf88528a00581f02acc6c82c9a067fd2da33732a48b0b6bcb74408857cc7c6d612cea283feed4460cd2d650219de7b03c96ba82345a36e24aef30f6f3ec872d8b38f3d22c012a4269ec2884776869f00031709682eb7d2b01c667a0274f803cbce707e2dcde62bec16992393d894e2a9510396b47548333a704996e94be59f25beb600465a66e5932bd75f992dcb69398a920219ffff03d93ae90091c48f819c98409f2e508281a2e3eb6e7c218e7141877741e730edb6032a67ee7cd77a1577a807cd850e33b7164a66c50cbc85ffe60799d1a6da10863203513721b4ac7a571b0e5ce3e391edc7e09961e6c52d4e1f25121cf5fb59179c000384e7c4d2e1cc57e3c70f0b6e201a7f20baf5c9dce20efdec60c1989a2d26d27e0219ffff03c6719c077eb03bd44c23b3c90bd9b903a4075de2806627ce6405fcd2f85fd1e503bbd7f0f0e6fdda871566dcf21e15dbbe9e4385e39af0eb85b57b313e45b5a860033fb792d601158b9e02eabea35beecc335969cce0c121ac39131aacfba2ac978d03f461cb02be4d2fcad1381ebdb35e3d206d95cf7bbac0a5d4b0c91a7c71eb08d90385f23d25f191e5df587bb5b6aaf649dd10608a84a0199c8d082c5c13c831b1ec03202c852c11c140278d37f714e5478c79e220a04a064f176ba2cea6de98b8bde903d266a54c96c3ed44103fc43f4459507fee0e32e31d6c17598a13ad2f3a5eda46033a5956671669e8fa3a50acf21ca01387e81b8dfd33bf653af7c31f32160bc2b1037e75fe1d1c5e8b9b3db2a6372e51dee363fe48c2b68f9c937609e266de5dc04603b7cdadb188b2b8308fafb0ad5eb8820c88cd09c970d96162d70d86a7f3c1d07d031c5ddc490424084ee091a03cf6f14b621dadf6d1e905aec5b393d6009d1e0557032ce5fc3023e17c1fb024b770d5bbcaf8694fd4321f25274febe807d3fbc1350c032f333c62f52dfa20c681f5bff397b71d3ae9ce597a939eef97cfddcca5abc65a00581f024c0776f20089cd84e685be1aadc3837128f67b8d3b2a61ce79f956160b4d470648d0ce28068700581f02091eba1359e209d3f73b1e07af5d6dca2183e70eb2b5f3bd32b16508f9754945a9ba6b967a52d20003cd35f7fbde5e3306ac2a464b5058b027b73624d909422cfd73293d1ff08d55cd037a65e11b94624efd80a43afe10ad505e0b1ecaeb377e79ae477d2b87e40049a0031ef42f79c7f652e1eb52b52bd26c16d6dabfd4e85b954af1ebd226b4a594d10f034402e2f292abc5277a6d3ca1300dc901f1e90bdd8656fdd7cabf158c5e0d417b00581f021040f0c1f9b11c748d1cbc94bf9c5fe2686d4ee420c98fea8448788b4c1a480de0b6b3a764000000581f02c789f6f161a9f047dc21566d1d2a57952be81586bc1aad3221e2a83825ff531cf06d11f0c9e35aeae633dc9749c2c6200000034f7e9f52e36ee7dcbe75e6d453e22b67bcdd2c5abca1a281919070e6f1fe958703b32c474abba7dc246395edc4e9454e5edf7d3d3175eb9e7653b851094cefc31e00581f02b25c8d9d8c080043778459b7c063d9aff76fe43c87bbab6d682463cf0d88410100581f02e7d5f7879b41edd1bd52f5a4daa5242faed25a576b9efb1f9dd06b9cf44845093a9048ab00581f02dc190ac4001d0c09aa8d847c7fd4c2d73ddf1aeec403d1c0cdf39990279a470145484a4a6e7200581f02b35d5a49e397c0aa3d44a6217323bccd6fc824570f6dc0f50a24d6f0386f41010219ef7f03ac616310377d3ff9af987f2fd813077377d212bda72429f5aa6f1de5e3d8f46c0306ec08fe096dc08b325d95524d589ebab9acf96908a5e6aff5a42bf561a5cf430219ffff035d885ab12453bb8496297a4a95189100a6038fc7c071f5ec17ffb4b52929507a037f53a204ceceafc111fb855adcba58668300f74292ccd8f9a3ceeee62d4f3e8b039d6e803cb395ff631b7907e236481010433539d2c6493c94da0d6bf7ad0a0c3803f48adb7e9c2d8ee806c900afbc3c2e49b92933ee6f8c61127ed0c41bb0f573d8036956ff941d12f10f31f515a42ce4f461d91f2aaa25ff824956f3175a0a6975e603c2ea395cacf0bc201c78cecbf0d3ca60d655455dc528f0a292e28d5431ae033803f305f0ec50a853866dc6ea394460c223805d904a97b1109c0c00788115d3b41f03012dc8c70c2ff421672304c1b025d6d5a802b85fa1bf88bf3a4385eb9ef7cd11039f1103eac7d5551a3b0e0c30973ab317c406dc394d32009d930d03c1c24ecca1032952362d1a0e4cbae359e0c7267b78748db0a4cc4c86034d666210720864061603fbda8b3e1f96c7c0120e3a59341fbd865cde3643c6975787b352a924cc853ccc03b6c71cad01b690ac30ca6577adf85834f4de3ddbadb21dbf35ef51c6851e4e2c0386f850612a8b5c65312e58c37162313d0612d23b90b8ce9dc8bb5761ecf58db3035a9f35aeac0fbfae2f99d9f7811a5f52933a16b7e76efcca14ac331ac2427d9403164c3f97332048979444b6221571ba9d4d1463629c605887ffb190cfeeca504c0357696b6ec5fe429702c05b958901547622305c2c05dcf87488d87067a32dc128037ec34d0589ee2e581dc4a745423583132843ef9ac9a96c5a65f1d7d7a217f88903ec99faefd820f2d81cecb8d35946eed3b3e3244fd07534fca8edfb1628652d06030f5b3607b67d550823c004131bcdce07bd1f7dc945c31206a2014605efb2378300581f022afc7d426efa02d954849a07e1b314ba2cc82a47ca472cfa859866edbcf2446be4f2800347b30faab88743bf51a9cf1dc2e007a1af471682c5bdc39338af5c8679b9ccac03d198bf9a0f53751544a52d6ee6156b60b30e3e46ab7b73d2c47aa80e4fde3a5b00581f0270182b3e478065d2574393871301e8f837ebbf9906865040f9757726dcde4a400d52229c95c844a40003363348b307d0f9db8f6fb9b0eab54719d4b3cb03e229b53590140e65193fa28f0344b39f38238a27a3675db95fae59ad70782d97e1b10e0f867199f91c0b6e57080361d8de4d460be8d8a8a9463568c2f0f55092c53f10055b518aa90e74ea9319d400581f027cac21a5faf380b31380f54a97bd9aff7f1b0c5f6d274c6d01bc4c3c69634a2c0f9823c1e5e1fa2a0000581f03fc0c3f4a5567e6187346ebf0f1bb0d6588ab6b634e310374f04cd7b8c610484130d16c052bc00200581f033de242eb0600585419ee0cfb63c8a7a58d2e2893a9a2f7141378fc9aa6f047040d0708c07dd50219420000581f02dc14525bb0a9c966cf20a986a2bc290a00a7192efed61418137adccbf62d4a02f0609279334f1b378002197bf70219ffff036790f3000f27b27addab3ff7a45a2ec64d63100956fabdc11ae6f69cd16ca0d40341a3c60f1dac1db2736bfaa2889047d734e25ac8afc240c57cc9d8c78a98d68c033606384b67b3a81b4ec90456cfd07f057cd6a4d860667e1fb6d40de1ab5f8c5b0356b724226ee8de32efd8e5db681074fc34cdc20f7a674747e26307e4d7c77a9503739f0caa156210de1a3edbc1a1cd44972ca99ea11bc571b5bf700ea345bb488903f08c3ec386842d65b58ac52e08028e16935b51816c57ccdeac7d825461e0507f03504b76cdbe3a396c518b3c933dac81f4909935de51851247bd022a72b150cefe00581f02a06a29fc50137496d2666234d592ca778a2605b720916a69ca9ffadd739f4b012b53c0a94884724ead80039e741f7cabc75cbf8407402d093b3689bf922fce7fd2957c67882c1a4ed13e1400581f029eba3eeb706fc0135dc3f4294bb4c3fd74edc8f0bfaa83e0a43349693c354728488e337a2d5e038cdcdaeeaf947fe38400cb805ae1da48021b3c5f5341fd96613fa66d5f5cb3f900581f0351d08fb48bff3529a2e4c45bd3da6d5342ef0f4c22795e03edb313f62b204a48d502b01961c68bcb0000581f03b7deae7c4c35155daed2809640ebdba777f0d37611e5ffce74803f458f90480de0b6b3a764000000581f03567e8713205e0915e7c40c3a5ad8f5d34a2f28fe7b9733e0034e839dede04465e6d45f0219011803c54f270180076bbfc7461f59e452307ec233db3be94e7fac76de3d2407928fc400581f024fdc4e44b1f0ae05392a26ff4ba2b73f34c6dfb2e31adf70e64a8c787a08480de0b6b3a764000000581f02428419c0a8f452f961c1eac069b3ea7f07583249a9b8ca9d077e061d7ca64463a39e0000581f02d178f0e5cdcc7c9a6a68a0dad7f29174b0ca3917f542518cd875ff3d85f04a0452fcda9d309bb963000377c784f3f3b05ce11f428b305ba8523e4a32ce65d66d44976e153160b94d64b103aec539a52852b545178a3af36ef7e3af12ed7f8d8e2b2ad1a557e65a5e1c195e03b556f3cda80631966670ebcc4645fe57df9f87409b07c08905f1fe72d94d039b00581f02e0709e31a0e71c4d5325bb0e621f1f06743c0df58429d574f8fed76604fb41050219fff2030b781dd41f4aff894be738f7aa0260fe726f0a110a24a6d80fefec12550400dd032ce54ea3dab6aac2bc1a58422a96a0a7a65cdf78425d8a7822556acf43259f6603263450fa3dcba4ef77e71507af0ec4f451b0c87c83e911949b8b4d61d64abfd503e75e3097c76db20b528328a98654680d014827ceb63bb0e617320d9f63c9007d033a8f1728b8ef9a28aed4a72a17688bd0ebff7fd3513ffb0a9781ee9ff2db1d6c0392f8bd21f4f46eded320ab967021e56da8e3b3414c538d6b6ad04023c509381403ac11d3e1e60d078081eea5da1df5bc9d8d74eb8362d187ec1eddf559310971c80303a8d3c1faa898cbeb2689906602cdf9c1d89fb5af17f2b562d93f8c8af987e7036ca639c3aebbeb4016cc0c6dbfb58c9fd0d95634f902620793048d43f7306dfe03eb0703e319c0929ef40e0dd6c0c28a52e46194d1c3a54eccf79a89e6aeca2ef3033f01ed7b529e8fabba514c311eebb1118c8abbc53d34d351e244f6b845256e4d03db0cc5835b3c65c66de777a2b0de4fda1b82c2ebcebbdcd67f1479cb1a77636a033ed24e6f592ddc17b7c3225ecaf460ef2cb66365c7e785d205f7067a449ae55903bfc711220aba8732e932d762cc4dfcd4952dda0902504293f4a7bcf2e0b769160219ffff03e3e7467e7bb09146bea1594517557c82f926d46b5643cfa3f3c959ae41a97ed603d35ba36ea82c661ae062a6e3c5034d0cb47b21dc9a7c4d2acfed027bbc39416d03eb8ba3995a6bb719e3282c301b677a1a92f4e17f4f3f036a61260490f2123b57035f9e1f110478d6a2489abcc08f76adacd98412c59a85d2d7744763329285a05e0380d9b367742fb9740e196624bfccfa1cb997a3ebdca1765018a086285c818cc803227f23488af300497dfbdda821d8a993e37de9a91b0e772db64edfc27ece56a70219ffff032d2cfaf5d1568d6dd2286280159abdff1624125b3270b548c80e7a158666bf8e030847d4d74c9b031884e21ee7f7cb56be4118e99c4297dbf6e7a7eb53440fa05b032b4ff01015826c5095a453a3aaf338ed16f56db9f0b772be49c7833d6806f9f40319326620e08b7ebdeea206d384ce76e5ccc733d4328e1226c39c529de7e5dcc103ee23e9a64e6c43da1767a4e08a17ce3f58462fc6ac4caa056b9dbdf3e77ed74403625364d360cf4e8788b0c6d653de79e1361223cb8118f21d73f9bbd19349997803dd9eb5e75d6d001691b501520d1a56eeafc02225a9d0fbfdb6f698263db3b46c03fb2d9a01deae01715da8c3e5f39348a3ff95913b37e7ae063b585c57da4c164e030df246f5e5bcae2752d7eb56682c7e6203f3b345f332682d34abec1e6f411e9d03a0420d5927f4acd20bc97c23cb858d7859747b82e40e921855d3da84d5dc50b3038ce3062e4f0ee151e6fdf3b7bd6496bd39b2da2dbbb011dd035e6403b0e52d8803f27cd328a518c4146825e20b013821226bcd5c447e480ded8c1e0ffd4d973e0d03a000fcb74c7025e46eecd94bbfaa612bd0b28eb3f764e5c384a0b06ebe7f4266032c2d34317ecf324112ae5da3fc842b974d3679b2412bbc01c3771b990e73c23703d25991dd30179f71ecade1150c1d60b1edd2dfd38460f327c85cc4bd0198053203fb0071f7a216afc8d24ca13f0a558f237d039c0529224783ac37892750fba7b103e45a70d0a9b0b9aaa1c96937c6fa3ef1e24237c00f43bf1dabb2ebb9f0d483010363a7d3a1954d1a28a9d55fef113714029b16f8839f4f5ed2983eea49eb69fcdc0374bcd1e7406f79e6ee452b7383f13875534de7a4fca40aa8de1c4a827ca3ecb403805c3b78ffa1554088faf7b604fb3818dee866a18e9cdab922ac50af03989957036083f56509690209c0932715319150c4ade490e7557a54c50562fa44b7cc841e03f7457f9b7d89658d57f4a162ef50f8b258040b5ebbde15e827de6d16e621b0e50364f97b2f7809e553ebeda0b1f1f717880ba0ed182add77c2f20f4dc1bccca7fe00581f027021c54fab8cb54ec2a8571e5fd66a505be5cecb847eb48ab74f84e39b974a2d3798650f595ea47580030a37ce53baa7dc3f1df7ac1d8f09e67575e948a9774bf1be3d33e4366e5fdc8100581f02bb5faeb519ab8a0d00a077ef831c864a6d29559fc5ab22195a9f17f5ae57470136417692554c03754d804106e5e088f17b8be4f3f5975dc7e61beeae4207490a728c5aa3fe646200581f02834c8b589dd2d0367a927d5a932058435b601132755c00691bfb79a4c82c47038701fae031ab03fa9dfb0d3c1ea98973baef103ed4ea41d0dd1a8aa95f68227e8a694ea9e0ecbc03f3c28df1cb1a7fb99e264e38316d52875ff5f7aabf4a1d4c1cfa667582637347035f6499bf61bc9f0d716fc6212ccc5f2254f75084ab73808e85165df07de3745603876c3bcc98a00f1fb806754cd5665c70de8c6b8b6ebe412d8cbf1ffcd773493300581f02dda3ade39b1ed847db17f35cd710fbfd33a7abd9abc9289bca9b48d658cb4801a2fcb5bbde895e037f8b29df98f2a2f213c107610e5b655eaa4d15e4299fc3372aece8a377079ce000581f02b0a214c72ac3bff91c595c77d39adb3c8d229a45aa18a79fa5a5549ddf69548f8e854ef0dc76d88d2e217d3c2653672d13b25200581f02c6416d6e05dc5bb414951b2fd7a6539767d88a36fd26fb2989d4b9dd50e24952fbc72763a97ae00000581f0399bd2b0aa7dad8725c5b9adbc2cb15629734a83f2e150b4eb32e037b27804b0170e6aecb95156b60818000581f03f940ff166a14f69ebc4d9584cd225c1dfc7baf1e4188a590aa47d630dc804a0150d33c107d4695350000581f03c910acb29ab4cda913afa70e40b62014a10f60b5c02188da45561a2eacb04704fb541a2151eb021908420219f7fd0219ffff03dfdf8cec5e073e0f52f38c6355f1f8e4d0b3e773a8616641c3da60cb0809e2bc03b1049c51cc0e22e47516b5978314b6f4ba6192e1f5a6f568e36e6fe60c8faa1f03c4e365e0baff60c93fa7290e4f9978b099b3fd56a5e03bba7f798823fdc1ed6303c4b5cf0096d654cdefa8ef1ce7c3a09b526e37a4b37def95b8b3415e4455f883039742bab50ce2669fa8fb36707b4605f6c411151ee0248d65200c4d7263f328d2034e826e46e013d68b4517dc31b1ca480e6663a099f566a56b14e7bb69d251501803166938ce1429faa7d49076eff0651d78b7bd8837486aa1a42dc0de4b0e9b4b0700581f027f3a1bd3906382f1f8464ab31e83ae2f0ba39c70113e03f4f93d04a744d54674e5a06d3bb903d17dd9bc7502185fdb0f34729877da3de6d768de1895aa7403966e884ca7a65603f4517c255dfdf1c8c2eda5cb1fbc2a0409350daaffc5a68f33cf17be9cdd7f8400581f02f0c00a1e068513e495be3ba7840e272139842eca1ea0dfc6d65b5e1c89724a7fa1322c41b937fda0a600581f0375b942d745880a08c3cd760f657bd8219c37ef613042e9c34554d82d46904b133392962220dd9d9d440000581f03f62748abfa5d98620676746d898a3bc3b178a8246747b2d598669164d0704b0d13b2a7ac7418b0dc988000581f032bf2b32a67a9f4e1733ffa9dd967b7fa0587165977363e6d7f6d6a1a4ac042271002181900581f02b52787f6f24f2b0d2a9c9568a82089a59b10583ba24baa2dce86faebe13649017944472c6b7b230003be1e325b33d01dfb3696688e16c837b83c9b078fc2b1e5d60bb418fdd65e5dc900581f0269543b94369a44ab82637bd1af73fa2a8ca5c280a2ab598fd995f03c2a7242271003d0fd2b1dae261626dd30277d4f3903dc41f835bef889ebefa6836fae8afa2b400308ef9319390bd211e618b2f35c5be15014ac652e7e094d1d22f18bd88ffe690c00581f022ad1f4fb37f9b9409164b644ae1f11f1e55d68d7f9fd8cc13c49ff65c7bb471ff0e2bf990afd00581f02e6e9f66371a4d0ac76b9e3fa4c33b67ed4002736555742cc2ed10b016bf1480de0b6b3a764000000581f02e77c1d8929876cc4d5c5810b8912488df18990781ae7be7692d26fbead9f4a57534cbfffbd3fdd0c800340501d264bf1a1e5e9cd27600c43d8e580385a4e4f47f80e3e5df8a438b1b43f0219ef7f0348a35126c1bfc5d69120edb845cc1c882afc8e9c75ab5c8ae01727a38cad2764039da1f58ac67813776b8654f4912b0104307e0f1360782f8be73f173060b3e33b030d7dcf7442c3739b736bfa3781075742e776fe46169f16f2a6bf0f15b1872aa0031c637206371f1e3a3475c1fceec5fd0a2426b37db4b32095952837aef64b0bf703400dea3ba9c61940ab2fa308e25deb12aaace58020cb105ffbabf3134418c3b8031a14a3704f862d120694cee8554dad0bdb215752ae60fd304c4f1b000a31bbab034a7f58c693e65237c15916b01e7ff3376764f61894cc9d8aaa1bb5f746509b1b03fcbebf377c19938c8c11a07091c2cdebca76c0502064c40062e10e61db1c104a0219ffff0327a5b2e67de241592d2f734a0382307ff946a1b0135c6d5ad5bc6c7c96af26e60337770060ab33dc92943bb9ddca1aeaf76cc51551bdc02527ed5e8cf1e65bef1f032c65489bbc75fb29169eed91e448360372435e2664d5e94ae8dbdee9f72c00450373ffa1e64308442b76034603cd44c8b432ea6f750230650293283e78bc8480be0363d19f64bebc766a848cace2baba766737f4d23de0231f270583cae4c8819aad0393f12323519c5bf9dc0149ebe5973b3d7a208f1b7dee3f79bee534651fbb60500219ffff03bfd78d7e96eeb4e980c378526ab05b62436918bdf2c6edd9911c399921a67b5103b580f3ff49ded8418760b7c4c589756f77136cc59a84d8e8e08c59aed1cdf01403f73d5ca6b4216aba085519411854b97689debd995375211bd2311e47b809ab3700581f0204919bab4516d5e53a3142778e817d5b701251653f0a7ac5349ede2f693546083f3af2acb400581f0201205b384e4ea3f6d7a648dfd6e1025db3ad4665fe238253ed4a6865f5144a0909b8c2b5b5e01dd380030485f61b590f8e316bbefacef2af9d1e0327a452df961af8f1c30cca5474168300581f03a43ae9e4226610a2f1104313d9603a464b18f66b26fb9dd095c6da6e78d046052b038f4a8100581f0352236e475a739451ff61c833125e5000f3ae99540a256d034da95349335044668f208000581f03a588f37bb4c4d0ad22032024a14a6d406f8ad27f1ad5d1875bfd376076304462727f3c0219540000581f02cc7ce8bd5c29a7171610f08bd6fbe7d7130a81334370e0d6291de354db8c48012dd880eaa6553100581f0291783d82481559282fb039af8bb2e1abadb1aba4f8b0b0983e2464efb1c9470435685bfaaeff00581f02ab549b99d85e8bdf245e2c8b92a6f10e6d2dd4849811be080b85ba3354e145144da3d31300581f02c67f0b2bd3a751c863f813c16187e63ac9989d7fdbd650d220cf7bb8cc454465b122a70382dcef52db67bbeb75748924da9b4d1e0ef012d0c5a08f753cbcef5e07a7f35600581f023f702e7a724d66f52ea7b121ee69d775af89cbde54f1660c182ae46f91a849967edb71b7fb6aef8000581f02810296b98bcbe77267a10185bc65dcc7e2cc4bf10ff18152cef759baf4714b03681023c847e380bce400033c26ea5144225fcbf7e159a2a406f7462ade61d579f1b28e2542542daf0f8f0b0141090219cfff03aba17749014fbc502f7591101beed056ead06b6a62ffbae30435e41eeadd0bff031aca0d8d13be8eafb101af3223d45a267a1f3e9e97642dfa9612e725bb0fe688036ccca03a34e3fffc307a1ddd15df141101a9c7ee6b6f8e711ed61096be09140b037b764cf4d27c36327dc69d30cdffdd8ef9080a2f2453e68eca2bea3f0bef8abd032fec8c81a8dd20791bfacb3c0af0467fb62716b2c3ebf17ca6650ab545f4814400581f032690a41e099c9ac85603d1d5f91b14e872660af1a84d81c43fbe84fc5aa044668f208000581f03a19262949dc8a8d48df1e8168441c20206470641dedeb7b4307c8f0c3dd047894a0d5e4f1bee00581f03c04d8f0a0b8ec64408affad64d82cb700070efd150e0b3f6c675c1c4b8b04b037860682fac175b420d0002184a00581f027f0d90ffe7b24608bcd36748b686b9d7d9c0dd95ff5a1a3040215330bb36446b9b1e8000581f025a30a052102157abf4213dc1d6b2739ce51524b942fcd7cb4f0290b641584a0220f164c4ea3ce8850003604bfe802fd28759bb9e7e11afb64ee75b5e0a664d59badb984ae8bef1353db6035468eb1d513da5e96eb8991a3b02bb1d73569dd532ce15fb4f8b9b4c441280110347b1775ded1acef17409af4c5571c987c11cb2a768a67e603505458e90d9031200581f0204b25d168bf7e0d460ab7032d2907b499ee0f5bbece35dc340cdc1f691e2480167568eeddb4d1203a3ce43a9442adf440dcec03ca5a0a707b3e969b261c93a6242482ceffe43e3430378d96c909c00899175abe51460b294d8ecf2f91b1de48926b826635f03eaf6550219b4b303dbf45398e0626055ffdf42f79a87086f14e35e044ef73133199941b031a515af033295324a73cd4408f8e9cf46541e03a286aba0e3c002a098dcfaf75e1251aea8032cf4a47c657226af7932b3c0bcf0c152e38f22b7265251eafc4f7db6ab64e79a03f88c0117e2cdf026ece30f37c022cb491d797c8050c78ccb379083a115a5ac3c03613caaae0b75bd6cabbc5a6e22086d5ac6b1a59a394c3cd644af607b25eb028203dc3c238ecbbe5b6e66b23ca06787fe66da1764ff73a2690400a1208bdbce695a0331524da6514e3bfef18dd4579d6f5b58964250cfa6dafb1f29a3841583333b4b03b6a38a2984c37fd30531b3219d4dcbb54fec7386ae5faa895327f3f3031128e6033cdb83d6cd869baf562b793ae3a86dbb1c5842edf01cbe5bd8706dcff1501f8b0219ffff0376a22978a1441f8237ddd04d8e8e06f267c00985f2bcf9adf86c98faeb72158f03d13a56994878aa05efceb6469e844d94a18c6b86ec903913dcf88a9562a9609303dc71560d28dc47d386e7a8b185670d1d2bd0a1b648c470403163cf2b42285b7d03b4dc49f51f80d05335ba183c1d13afd95835ea7f3e635313210ea54b014e0a6a032374cd16607ab8959ec45d26f60447316e5259c14d52427a36c3257cee9f941f0391f9ec58539e313059bbc0957fb0e53b13c5a344c681a97f65ba3f6b244f7b1b03edab8388a861e9d7807b246914174c0a51c10885a74e405fe5afe2f7e4a4ec3803161c2d3ba738c3ebab65a8c8beeb1ae77dd5040b99499035f76cb0819f39976a03ed87c77c750eff64ee99f6aea69abdc2bc79d8e7541c2d0ce71218a7329295cd03cd69612f0da7159e2f8dc1086662565a29fb97aa174a0fbf1632ede58561e33e038da878c764d882379007aba912cd76977dc77ec07720a5e75807eba180d217ff03ade55bc856e473c0b7e57b83873600db4924d6634d25f3b641be29876aedcda1037c1dfc25c9726c8f00e22e0c7c48f8de91a546b006c76107dcd46d687ff2f633037c78ce5bd9100a8513669fb50d01cf6d3f712b09ebe90f3c85d552647abf605b03d92bf3e0224fc58d3eee6514c33ffbd5de476e20bcba52a59a6b57cd708d2a9f00581f0207e5cfcc299f023d76bc7820d91fc15da01bb5e655643a5bd87f4fe1973847010364b36b812c00581f02904e2deda25dec6de6edbd27124aebb1f5b649f2ba93cd4687a770e71c8a4b0fd013cc19adbbee60e600038f02e289cd117fbff7dc094f19e364d0088406497816b699ba0a08a1a1190dca0363e26713a9a0b912116c2413f98fa270294a0df138c4869715093c634fdb60f603758ae7d9d87a9bd139039d9548bc283b7d860cc8511fbd4ae424fc455be1db8700581f02d19957cd0dd813f45344ef7ba12ddace32f95f69eab5105e9dfa1e2d9f9f446a178580032f685216b6b249917755848fb688cb6a22548226e7d6cf838e02d2f115a8c62803673161f0de16279747a69a11ab51d8b6f9b899f782ecc428c445ca5dc899379b039004ad0d67cffa8ad846580973858494cbfc6c57e8269c6b52b70621269aae2c00581f02d3b31726f67ac27c165c1734435841de400ddd1716b0222680e8fe1551304a1438d316ab99a8b3e3800219fb5b0398815b6050f8b997325ba9c02b93fe44d50f559a6b9a6f35e304db0c8a401dde037c7ca9f1d97281bc228ae3bc4ddd2b10308df41fb2ef29cc194c09941745231c03330c4705bf2fce327e59bfe9e5f13568caadaceeb59445064a4fc58b70a8024b039126d876b347fcaa3b9fd7a2c445e20e23416f898be7601bb066c45682103d14038062c0b5086693abf717e5365970d07bd320275e0d61f945bad29047279345cc031a356362045473ec73aca605c57551d4542d224026f703a79d52a0591aad5b170219ffff03529e0c0e60da5b3d23342d4bdde00de8ac8303083666e0c6439030d891ae8c21032a9b49a358510dc28d009b73af12c6510d5d969161a043902b2942e866b38a71039d7e83ca1ec1dcdd921ab6e5659c8cac229ddd3c6b624b54645dddfb5aa6550203de6a37c186a827f0a86b24f7674f26c28c45eb6e5e44a74433097fc0e22bdb2c035365102bcb6433e76ea1c65547fe81607300e66b287098f6eecfcb12cdbdca3f03de5042593bb1538f197565495a4f3c4b19365a21cf69ea41d765dae89533f19103934791377752200271e3d09f38e03e493131c6a6e35a7396a459ef9d393332ba00581f020e0ef4874081ffdde5baa7ec12be12b6bd3e0aa8ed5bafd5ffc1d7f58be0478226263718b56200581f02173de465eb20e8330d08d6e6fc14b529cfe45bcf92554de80d4a132627f14656b9bcf1fe420397277a91e70c42ad99d9cca3b3fd2b94cbe4c2ab097dcd637821e680b9ce89d600581f035cf796ae0e7a80c644b3d8d1d3ba4217baadf3f884669577d3960620093048059c97f919c4a45f00581f03b7475d9d02130ba6b802ecb52ea984fd6fe589742239afc7211876dc14b045a7ab31cccc00581f03466188b49b572c8e3e24448915dec58c3e3b30e6c59ed071e5f8834f99904467edcf80021300581f02687a034b8a85ebea9e937814b18a0f5128f7d62c1ef79634d5dd308e15654709dc371a740d780303cc8b15739c002b038f5fa636efb7013dd2924c78a114bdf3ce7e4d2695a2db00581f025963e3cee92d9c5f13f908fd7e58fb2ca95b037af36f1b700e920df86fce44677f118003dc5acf712ce62fca1485e51c56cd636d5af812858ef77e85638f27fea5f7c993031ad45f00ddb1d788baeb94b482fcaba7881684412bc4b9f6e32fbdd7f4b8f83700581f02640480f0c4ebc1983e653aa177de5af2d7ce366f86f5b758dd114d5cc6554b01b49971452544a553a6000219fff603cf751bfe5b5322c9d4c82a773ddb361ace647b8524845f86e6aad7b02565fea403329b1ee1748f6c1098c4df1442b5c7741ac1b2cfb42e32acd6c1e3d8866603210382c4c8b28b64061cf933383bbd5973b02f245c1441d7b328947c9d12ca0a0e610311b26db7d11ce97b116ed4670d4187e42b05af4636645bd232105edb097ab77c03e408f87909e4008b62becc74b749b64fbf258d52d644b1ca63ec9de3f1e2c61f038c627a726476ef6657cc1e2ceeaa7205cd0e28cffb008c4bc5839a5d8b243f4b039fcd2e10ee45e5f06b1db128c289e25105fee364d542e923e15bd73b8a1c165d0375a4f151c7a14ef6f97b8d84876f3766c3a19e3d1b503df0dfb074a3375dbe6903bec9344b4d7e50fdf56d4833fc952ce43ecb40160c772f5d23c97caa18a8fcac030be9f906a17428772f6b62a7e9ad49d68ed3537e12a609dac81b4ad24bcbdc0503f53ac80eb62a13b245817995573d79b3167745f9df70d2b4a0e6e44abdc1086803e6f177f6984562834b8a1b9488ac1e73e787895959bbcba909694de4172034dc0359d4e915272339717e1e1360a8b7788db2bdaa7a30555d4bff4e2dca2bf5bff90219ffff03075f57fea26f3b7a94fbb325f6e2cb9ed77e3535d33f8df5ddb482734cd5bbf203b6d308d499695b79ddc935f360035cf569f9d9277cfe09e5df63acd8335d95850385594510bb49201af6fe86e5419db417914a1a2c49b34630dffdf19e99df28c0039f48b003c45130f3d4b0e54fb3b2d6ade713d5247bc26522a75f0047e070f9c0038081a27c285ed8df76ba776e855ac84ca131df2130eef790190b30891b2e28d1035dbdf3c26388dca37ccc35d181d3521632a1e8e87ef30d39bdc0116222e9c69503f327283f3817c6c247b9ddb87def3104b3170d78a109671bc7276263a898e8c803978553797c8d0b366106f7cadf281b3216989d11e160102267ec2aee8bde4e7d03c1749772bb723abfaca7def7a2e81a8469841451bf4a3d058a4d02d00dee37bb03768dc811b87784ea9dbf134759c278e633912d7123c681b27c2912b70e4623ea00581f024666905d461e6a2f7ea2e93aafcb94b066cfa897eb2fc5bd7072eeec10a24b065d69504cf3061b7e0a8000581f0212638b6fa1c6ae6188534d337710aeeabbf9fb51cc43ffcd722a500c31c74462e5d05a00581f02d7ff06f360a74f2ff2b516db23326cc5ef34cf0deccac92eb8f77d1b3998491a44bd157ec186788003c03e74c147c43a081a7c0cd9ab01cd8e80195f985bf56d39e21f0c301fd5e524031b6d8f3dfd87947e9fd9af94fee5da788b9fed7c4fd0e742d04cf9b42e229b7500581f02c0bd21a71836726869419c994e0a7e20c6ef1d633db63642c5ad372e76cb4b0b8a927fb8730cdb41be8000581f0376be13a3d515a5f69e859d5624e4720a541cfc7538d8a1b76688826740f044668f208000581f03fed77498ad33b9f0ad8de6e951ab8c1df23088291c613d46bb93392ed5a0446d3a6700036651ba17f6c1eca4aa1e05e6a1e530c0f1f72168794a2c299c4803f7028bcc2c02190c08037da137a2816b12f9194853283e886fcfb17898baccefce41e12158d6ae508f0200581f021427470fe3135bb198b47ff4bec815cdd032283f2759cdc386a29aea0a184466c67f8000581f021493db2645af2b90880505d37e91b5dafdb072f10d175b97b221346774ce4708cb14850e3f06039f0515ae32e02c57d0b4165e26f2b1e122d6e304f3c515665fc8b57cee6796a9035d7f323c6915fdfe6669b3ead8143c2d2d48254d81451f1cc39f08f189ac9cae00581f02f29a09d6c220f814437f3b592a21d2a44df529411806584dd9b83e5bf96d445f9ce392033ee1cfa8001e9690e9572ba988ba8e6484999f8f9514bb65a55c7cc6862f5d5503874045d3e4bd279c99f05dea1fb59d90b6d2556e9ad0996c376c10514787c2a20219fff703805858634c8e4ff9b65ad9553ed5d35c966063cea9c79965124db92b3f373df103e678d83b2293521e3b04a973aec394ecd418e983c63fdb685c50284328d289b50379d40d38d6d3628e26d0d08925bc6d0d0cd265e431aa86afd1abb6f9b4b6bbc003c94e1a6ac174af1abfabef75d9974794fc02871fcb182b53645c8b537ad82a6b032a0d513910c3744249bf01a8dc386e3c06e4aabb1036b00fa80a7b5c51cba333031fe8559ff6f851476dfdabce3c4125adbd1c33427114e6d700a39e2ada70db360219ffff038c6c24248c333053151d860cede4ee47e0af27dc75c1e8b3529f793499e2f36803cdf23ea650e6c7567c8391f1780beb0963ad6a5b7e323cecc10c9193169ddf11032720f7060b37ad0fc14a2150260417d68ed506eca9131ffedb7a14a2460b0c8103e8418f9c061573bbe6c964b1d72d1f87caaf164557e1bc7545e12fc384e88fbd03df9b6e98a0c807d67d06e8dea399973b00beec4f8f55e0e86c056f0c588fd2db03b5785898413bf23eaee7e1d26abadb917d44354dfcbe08f3d38054bc166be17503f7b03c954b4a112b45406f7713df08d31c7d8eb434912f20fed9678fcf35db780356668695c5a4499f2039f9b0c9080b8391bbeeb1a1a219d1a1b969ba691b256e03e490060d0d6512d9566b3f94cacf7c5ff10623ad408dd267169eaf58481f359103a274af83604c055124a3128c96eeeb83ad6105dcf51168cc0e3fedd2245cedf603760907dd18d26d1d7a2ffd768d3581aaf04bf081f8f6908a4b49192bd466173a0376e48bb333d1010a38d2f9e791eed36fa8e9303d344e7c1bc10e2f8d2edc61cd03d33ad7a1bfa8ed47ef45a79d07affff03f6edc80f8619a4f6234b661749dac1d0363b572ab0707d3a5fdd28e0fbddb9fb3c86db61df116b22047d8d095707594ca03e190d23ae365b9fb0b3fbf3a7c8af41244c519cca58c41ac5ef326b27442251600581f02f511445a25521550ad8d5ae41ac4af955cfd624386486d9167f8b2d13f2d44605214b400581f029b5f191794a1e25a1853a0cc8428987ff543e75a768369d36b5a10ae5b4d44615510bf00581f02448dff38977741000e2d50f05d180f17b8b260930b7eb6e8302a45ce78f845b89345ad6a0389a88ccbddca603d27ddc047e5f03831a9467f958ce3eeb348b81cc377770b9003b0ad16b3f7c5251f2d10c6c8206db059b10dc595a0c9274bbf73153a7f7de37d014100030000f647a05cae082f4975525d9194e9ddb08cb84c56099752fdf65f2841055700581f03b0da701b9c53e598af7e791b854585a52fdaa1218a187af6e7b3c016f6f044694c7e8000581f03868f59a8f7094183ebd30283264aae44f897e530fdd784c603bca008298044668f208000581f031da923447a3d1eb45eb2f0dc9abee72cc0dd7f9d3b9c1e7c9381eba7ca104a2378248c6d17aa3d21800219030403d84789bad48b8efe535819520a8635c49a55b1a01c71c152c30c09d69537504500581f029c53ccca4f82f8102094cb868f1beaeea6b6b326f42a9c98d40bd9c094e9462b900558559700581f02e58df7e427fb7956e252ff2e66a1f8ca65301cb12bf75a58174167c9f8554a0476479dbdd67deb1b0000581f02d0f2470e8682af709e3dfe3ec7dc191daa991e6a07e5f4744d136956e1da4a295fe64bd5431368740003dc8f9d17ca3935d544575e0e0e0a86363ee5c97b809dd5acceb0eeddb862a4150219df6e0219ffff03c16b0d43736b4eedabaabbb5febb05f2c511b2fba3e18bcd4c490e65c6393efe030fb16baf725e08fcad1a269b5ef86d13f30ae5cb8502b9fd94927058f9a7c4eb034e3fbb8f3960fb4d22fc02837ebed1e62d7bf66e1fed9c5cb8d0ab0cc149f46403cbcbe0a32350ad13d4a20aa6e40dac1451c407ba58d8df4238a1188ae514770e0219ffff03a9ec95ceb0093187e2712ca603c9d9d582848235879a8f89517e269e1da7c7d003d528da8394996f1a657483974e8b25d74b8a1546c14fde8e08fdf9beae5e78ea033632635f21abdca4ea110e8e453f4b37a2f6adf2ec40e56036a22114f471f32303055866672f9b142dec74ddff46a8d3bcfbcf183dcde7f58e94145f9c50e03df8033e268cb64990609d72b67a00aa390c1d817e7d88bb52e6a746e7cb24136e71cd033d93f4cba9bf4f9553db706ef1cecb0c7a9110321b007eeb91aac47fba6043050335035db48e100abc76db820f0314aa714d41be3c1862787ea7fe2aa4af099ab90352b25d0b6c414cdb4f31bdc6dd93b21721d747bb202b54c796ab85a914b3687703e50208de746ce4832df17db77d3b831e1bced9f5eb3d5cf355d1ea5923ecec2e037059b1c595d65b9e458d2630c57f5fba344d4446ab4f0c60ae586a7938cc8e3b03588d3c3cc899e22e64257e77c257dfe8a34e88a583db09ba45a3af02457479da03c97fb1756e4267a1064e7c342dae139cabe1160e685b471edd654ccc51d8329c030b88d351e1e2655c7ce34c05fd039b2b05b512ec93c0c264b64b247e28eea7f80335807b78a9e47abd3cb081215219330d0f2dac35491dad6f0e93e5ffb37da78503ebb46feede7507590c771f0009ebafa49ff557eb0937c002008370649e9be2ff03b3c2cc7b582342dde71fcc4304f6c8e51aae1d6c45efa309bbd13ce00dd0e83e03cf58d4df5f49f349fc7edcaedc3ce4fa64482d0d61e0a5b2b3a8fccd7ecad0d700581f026144f00689d7ee7a86c59ab6474cf83601649b7a5054c46382b23ec32352480de0b6b3a76400000303ac35743055ee688f900292a7f70e6ab950a23fe52e6762312cf86b7c2f4db70306d86ce68adc0ee2b8ee2cacb9f519108d9703638b8dd6e0621b356a194d2e7400581f03338e4cd9abaa3fd71c73c47525aafa3c9aa8c5b18636510296b100864b904b013766a7e1465eb665698000581f03c2ac2291d4c2588f74a773c4a6ea9c3754431ba0eb1e01e9e05a21302d7047b966e6157df26000581f03d908ff0e5f44526c25178a1d3f24b4fcdd02e3a96de22ed36630bca864f04b05f1fac4edc58caec936000219112003c65d3535cd9d4c70e92735d04af135581248f147796e402dc1af3262103add06031a69c4ac338f69f110132a491379642b9914e0256ec20c04615dfa3b5c6082aa039e2a9656e2023bab1ceea4f084678be21a402b45e2fd3b9faf5404ef621a0a4703986191d4d8d1dfbe0cbe9698a53c65e8d5561fcae36898938e0aeb7afc4ce6eb03e871380397b12a4eb2b6a6f98778dcffae30bb60c3bccf72bf48fb1471cdbfe803d29e9040adfa27cf5a321b862cc20a16c3ad460bd1d3f0165902c8f4efeacfb1031c49d68f44f312489d4220d8eff5b829668e52f087a81ae81da459fb612e55d501410c021978fe0219ffff0337575aa0eb353ecb27dfe34f231d0c4d5b0e7ba48487b241a0a906afc0d242d2036c18a86fd2fc7e3b49f5518a2d60bca592e524fa892009e27da4abbca0335da103802b6a4a02b8deb9c98a4d6acfe79074ea5c3119d80c79837ebbb03dae358b8f033f57d868c19fa75a34f26c1167b16fc49c4c869e383839700a05dcd955e907b20306f45d8a608946091b34925961d5307b14f573b806ce3a986dcb7c6771ad2a10034475ae771e12a0163e7871d356271ddc510e0fa328922bdc796a33576526caa60367f17780bf77f937b0acac5015a1857b2c744744432f584020063d22c72ad2d20388659914b3f0706e19816210526df16a782397f4c079db1b967cddf5762959c303685be9cdb997fae15eb3c21358f8e0b4488bfb17b49eb43846e0e9bdf1a60843034762eb74aa9db4c3ed3a70f464c42b9f1613b7ae5df7afb119ee4481c13f4a92032dca2264632abf096e26f604cbf42c81e116ba55c92b9525da5963c5c4d194cf03dfbdd00eae053f2576543f7a76df98cd6889e6e4ed2df33a3635abb7a1b7e43c03cf7a205eb4f25bd61e925cb721873c834a5839cfd90c141699fbde598d9f43c203d6f6f45513fddbc2a3ff7743fbd8ad4e8de0381ed2a7839662e5ebe98851b66103307aaab248d1fb47ede6a1342de9bb1fbe317bcb037d7ffa1b5ba6a87f44663100581f02afd2a4843d21b190ab85a36231f204799148ecd1d025b6add0f2b9fc548b44668f208000581f02ed16911c35b9a4f284d0aef98e65ac39a63f73c7f451f80d46586dfd47904701652eff47c50c00581f0267ed77123059ab30094b629aedcd64862c27a578eca5bceedbdd8346fb9b4462858ba100581f02ff4b352b3a9341d18c07fb7f337f692e37c5fa99164bc434b6cad0cacba9453586de724a03a814cf8002c58d29c608ef16af654fb138c5a4e0f3b9ba154084ca77eb300d1701410600581f022a47123807bd6b437b725fa2e23257006444fc6173ecac111e5c18c3e8c24b04ad7523d6648049071300031e477c48f554319060a2b0d2dd35f4d5a0087b3ac87ccdca4f12fb5ed8acc52c03b25d1b41de76aae44529e92366dd89d0137da3d3a5235d5fa9dbb7938051c2ed00581f0363b2a4e906c351c3516293f5a4a6d0ce0ba87244d73791100c9a430eb3a0472a52909cd8c4c300581f0359adce3de29d3bbae9ef02ab730d6fcf293693a9024f2b12e2537371d9d04a03c33f871770f19588800219104003bf57546bba2805d56e78357cb7ebe5f9868f8ad4d813d8254556d4c081e1545500581f028fb381ea54da87dc3ae3776752772bd1eafce0eacd13396870cb656d424c4b017f28acd00db591c60280030e9b0c19f100187dbcf24db28c21ca0029ab764f421f9ee9e5095974df4b91f80219dfef0367172acf4353ff50503aa090a54d745329ee9aca721d501ddcb4c92ce86207ca032074c47868cb778ec1bdc3c303f6ebdb7112c368a5d0d60bdfdb8f44df56f1420219ffff03b5c2ec045149cc90b62fa11c71b62113a724595b7b9400596d43b95ee9784a3e03995ad15376c3c0b0e5723390cfae26bfb6796a22d740ae9fe494a6598b3901fe038c63d3156fea5ef7192bfe578b2ca7f3ed3cb18e0c0599031ea9650faa7d3ee8037346d0a16573478402af718645672bcd25cdffc236111c631d486a705bbe37750349cb4c777a27a2c717823af86cd9d7d25884a1c1a81ec83b25eca38438aa82f7039aa16a0f7e9a6a181e47fc358a14c61ea8b355d935d53e97b7a3cb7bf8a14f7d03e9f4d3fa912b1ef91023ae0c35a788a3ccdab66c91d102d942deb425de7445d00389e404731971dc17da801942e51f673a7dd1520709d63bb153855f30a686e10703c01232a85b98984f68be7fbb29fc65591c6eb33c64f873f4589367702e5567f0038772feb563f13c1cb3eadee8f43d67494638dc365eaa62b6afad3168e8b43862034473ded80ee19957c238ca120c83e3608f496553b7135eb3b2e84ce42d30a6ac03ebd4b77db48dd2bf73605521ba0c0d782ea542a0fea5fabc01d6cf2c4234150d03ea2a621e6b84cf4d22a5e24c6bc67bca7483c5c5feae54d39aeb5cf96506879303565fe93993cfc5204d4bd86fba24916b249e97bb469d7f33a467f11be0b20e3e03baf79f8a2e9af2f3ceccadcbcb86cd4fb00786f61892940aaf5cad2f31cd3a86035d4b5e4ffbbeeeb11845343aa39d14432f8e8ff25dbcfe7524b0abb12f11b9ec034665409aedac625aa8df11d9f3d715e24155bf72f6ef28b918ed2be1fbc06cac03399810b16ab168517ad0bd321461b829fd371a7193fb86146bcbdd10f634c73903413b57615ec7021fcc4a824bed25ea2af44edd2d77ff1254c5f6830138dffa0b03f56d2253fc6703e5590ca0e06d69cbf1c51a377956b0f21190e49a4e50cc18f100581f0291e61e885da19aef28445edba21c10100f3ecbf988b050a2e39ddf4c0fb74b019e9a705b37cd6a050d0000581f0274316ceecde6fd8fcdf5a47e87651d241c1bc4ff06eba36b971a66be13c6472f7d07596ffb0800581f02119a1dbc5fff172c0fb5b1670863ffa25d0bed3199a7d5ee887c9ce836e94a04bed9c457988693f58000581f03ba5d7c95db9bd8e9543cbbe53822409b5128922a9be8b1a11c33616764c044668f208000581f0379004f73dde26a380d5653281d753c9084555701da18349a169e865ebf00446812b98000581f031d93db22d0a0fb6446d3e1fcc79ae5b7ef1afbc03d0a9f85c52e5f05e9304b04eaa23912375bfd7ec08002190c800360b35357d1ef9a53c9bcaf26d348ee8cc61f082f17572a2dcf49455ecc6a7b3c03cda1a22ae9f4898e0db95afc5da2939c3160d1c308203f2764b19c81dd65194b00581f02ef6b0fa4136a7bae33e6729e95aab83dc6c6dfe925e935b757b93af77b7e4464aa5d9b03556bb2004e52b34f4925dd7ee4f6e88281a143ea24e987b8d0ce1fca154f5d5a00581f0247e2a1c902736d959c45302c97e25a245be29b0c437cfe5cfb13be50642144668f20800311a4c784c1b7e3e4d5342dd053a4a54fe67bb4b3bfad0a547a07996bb6a388ca03ccaae06c63cb019f1c59606d0232ea3e73ce767303dcd8f7a5e7e047e004241b03ce5e41e6dcca3da8fb1014dfbbf8c49a4428933fe00af8df72b1aee458d0fb68021957f703792a4cd399760a64fb85a219edff87fefab302fcf269f95e60ae5458f545f90703a7fa8b122949cfd81a45429a9f5cd6a8a157b2cfefe627f63e5081dfe5a74b930300395929371ad19ac231cc254190902962622632d57f345999652d520768bf820219ffff034a583c5ef922eb8099ac71841a6e6d52b75238b900c89f10b2aa820851251eb603d14273329ac8cf5429c808e8b4293744a6899e96c03c79f2aad8e38152f798f7034873bc6342093007a4e1791f7438ad48ea0c69b73cc6e2d6c7021bffa146d76800581f0236f6b8cb877dccc589cd1591c5bfdde52ef751cc3c8cf1a90616a901295a49788648ca8d6e61720000581f02cc165e42227b75476284fd76363d04de44819014c1210eb746f5610d0f864a03e65e8a3ace99bb1a0000581f02250fd7c8aec9095ec84a4890208525ac47f71e820a8f9d5b758f21ec88e346011fffc3ce9b00581f02cd2399d88f359b082017bc381fbba06cf855909d68af40ed1c07453112b6446aa1f300036260b5253799b9e7405b1a592af70ca79932b15bee1fbc0d6c67ad75d793af4c00581f0231d1f11e74554a1826ed80a499282827f9f45ddbae3746a8e2732a82043a4b100e31350f0ff09042b70003daaaa3108477b2e88e5d8f3c072d1ee9958a8d726313e096fe319f56d6cdb10f00581f02a28c117e18f6805b9700469f200acbc2fe7959a7e63de0798e8e9eae40494a1d0d4bf4182ce39db10000581e029a142690904ab0319cfb8dbbe2ca7bed472fcfecec380a33307901de6144668f208000581e02c93f1383bee435831537b58917b2e87f5d6f5b3d2e655e0a59e335efd4470b51b26ef0fc6302184400581f0340fb532d6dd80155e35990b56095169107709baf455b6591815097cfd1104713d3a519c8502502190c0000581f024e00e7a556b939b4dd08a083ea548a47b66e1552ebfe22c218c72bb16cbd49434a845b319cd5940000581f02052598feceb0d814d4024d68f4118b73b82ac0485cf017d32b620ab623a2497c60a34132823c5c0000581f02e00782a90c0accec31c7213c4c45228de650dcadd20205d8fd4db85a99b44801ab36c095f92988038e4aecb184d79c11a317edbc04c29a81c400bd62e4e70f9cde75a3d52ea2b17303bc3d541fc18b6c7142ff5d5739f15324d15a812ff0c520f5a8c5ee42d65b50d800581f02642dea66e3102baff7f06c8176a61d84ab14cf413d2d9d7b65a2152f3c6e4788e8b02c9cc2510219ff7f0327931fd5ee5a062b0bf89412544d42a9c3f4e61af27fa366397a9e9b0999de2e00581f02b93711354d20cc14a72c611c1279a7a3f1705f690f70a48ee313bd962ef84b012b516c3c8872fc538e0000581f02b4bbffa0d6e1bb28373735ad44a4647265877c8c306e77b331dcddf71c5c446bad938000581f02114e593be8827a6e478cbe6c9fe3e0f7324868112e2b5e6f3ba41d65c2f94b035c3a75e4150dcc118b8003eb951bc5ae23f862f473378f49a88275eb4b9f1adcca4f66ea09e038b7e84a7a00581f022c297319dada65c37eefc118c87b48de0739e290549c9d20d0c29882f6454464125eb7033e4badec09c53948320a97e4520dafaab2c5d4b3485885f238d71f44e97fa8cb00581f023103eeba94932673b6a450b31cf9fc2577a8fe8f8af1b7c3f2c61df8c4074467e4950003d61613209f684632a3c1d8d861feb4e34ca534644158ac57f308544d1ee9fe5400581f02f727ff619bf2b7dc434b32b129c31b6378f0f8763ce11185d4fe06c3b0ce531d1a3ff563361269e6ea86b5ff883a7e200000032d867aad2d3bb5d405563f866fb350338a5536f1f3ea79e28563165aa470ffc60219fcd4039a3d70d04d12cfe405136b3545f02fffbdd8ffecccaf9f0d8c8467adb1018c9e0304dc2243fd36a74b0e2d85f69c59ff3141b3058e674158da5f876523cc14642f03efa0617eb7a1e6a5bd76a7c6972cf0693f6b9c2dd811d2546813480bd804a023033f888742c63fa1bf5975d6b05ab5948b5744246f3f7a58d764e92929ef2f6d0403d67184cd0cb9a9a0addbe76031c662f6033083a67d5b36617be3ec67275a341d036ee6c21513998ff3c1601763e7fb0060788f20701015a03d11f2cd28de45ad5703284f0907ac6cafa22faf767932864d42b9ef4203cc234764f897f2b63c901373039aca3ed00ff9770fae507963af6cb59e6dc63d3e9d1f47436ed8da0c76920dff0341b2782ab70171a5e3053a2bd6fa20a8e23911175b4f0017c96e31fdfcbce916036f306ebe9b1acfda11ec5d14566bb35afcb69eea7fc0c320d0d36b8e334064410362c324101dc619f9e20da848ec19b821bb6f3c7905906f10560b3f7c1c797af10219ffff035f5fa87d702902f76cc383ffb083c59c789bf67a6213c06f77e3eb2b445b02be0219ffff0358531b5c67eda247124ea40ca4292be43d77991e6889841b842187350c6cc8aa0399c43b6c0df2082912e468151153598f59cc38a99076106df176ff7fff69934e03fe5a2e937fbe5769aa267588cc486e3e6aeb71e6cfdc29161eae92d6bbf7bbc7035e866228c733e98bea06dc93b583d710ce2f6d48058bc594c5905d520d25887e03d2ffe717528b189555c08482478de5effb3ea6ac34ddbd293b25f9651bedfce5032a70779ff6489e072d2339c40595b489cd9d0b5e393ec18605491a074559766d038cad873500fcc16fd6f16a2ae89ed64c0652fc6c61257c27e7bf8bf54cc2bb5603e6c6e1ac74a6a03e973fed87c8c294789588400ecadcb20aa5530bc1b18dcbd303c629aa2f3a5551f774d01e37381d12dd28c5027a56dbd5ac753ff568cbe53dff03919a551a7a675dc50ee232a8d60f9d924afa8ec4aa87458532a3a1b58b80413203ca0ee7e0871b96b5ef87cef8a704b288d13540c8a2481cbf88cf1d85d581e1580308c4cacd1e70039e986b0ea4f1431169d47936774618c3968936822606c55acd03a0b9bbb36b93bfe0d5ec87c897f59837dcb49b280e11f7599a7bf872d30ddf4403c6d7d8e52063d4841f70043ebb6127f207b40a8c100b6721942b74f1ea4d88b0030d7ef422587cf5ad172ca6e7ce5075563eca641ef82428e60fa77a77c4b275c00317e96fc981cec208b46f1a4c7981740c61b72a9c212988fe79c6f8f4c43cdc8503b99e820ec78046e1bbfc95e83a183cd874c9974770bd6cf6e7ec4bac942fe3770379cae9281aa3e206b1536995ad564a0cdab935f791d6bd6dfdb9495255f3788503713383d5a484f90b006c0a621a9bd87fa0b66f85d24761437ec7dbc911f0982e00581f02e19264d9ef93fac32ced07dc6b1fb37d8a1cb0e49487ae7238c9f003abc24801d1f93b1029e5160322a9314e5c8114d373fcbd7078c318885fd137a8e8791eaf8270ac2f4e5af02303571522a823c68d93e152e8bc3f36bdda8559702e40fb4f4a8862283b96c331e10351aeda84dc6b68ff42e4f7fc049e3e6e3a151e306aa63a3b1017e5f709523f8d00581f02549e10db5a75e3f8876f4570d54de3619f3b898eff7abe31b541181bb1b846224f31cf2e280303b544bb5af19bff9130a08294616a534cf2136cba955f743d0631bd5a65d51300581f035dd7b209ec248f3445df3b0df4e8dd619c2716a0f6c920134d7037f290a0459607d6e8fc00581f032897ada110303e639efd21736722e81bfc239c608cff9448a8bad46ce9c047a954317ef1c79900581f03e002f9bb7c28839601d104bc7934e39af5f6615bde9372860bfe676808d0480de0b6b3a764000000581f03e69302dceeb85dfb3a61d0b1a892f94166c7c38171f702029b0960318a10470136417692554c021970400300884f768c0eb9682d449b8f70129bfdd0071ce55b1244515b176a010ea079040321b1d84838fe7786a911ac63df87e86b5b0b18cbb61085e71cfc39a7354b015f030c384eb006cb4bbda80d82b628c6a6a99ffd919747aec150a37c0f0fb7a3d43c0344a3a78973dc04d8b8d54e09a7ab6d61d06e4952811f8d45d19972501193300e02198ffe0219ffff0372946fd36669d6856decf306aed3d9591780fdf522554271e05675e3b37c084c03231417a2c365c4da234905f68fe28ea8b204ffb4045983250f4944e9fca9f81b03db8fc4749fed135532da644715d534bef5fe42c67a5c58b438b10004781837220375049a2db88846277639ecd6dd70c9208e0b4779f801be9a178fca062ba287e6039e4858d5a417df37a8b5138b032fd2e54ef38d654e1796eddc4bede7753354b0033eef1bfebb23c3ad0bac1abe3551e6866995ef4ab3f3250f3e454b0320efb77a0302741617d18ce1e1d20f55e4a0f7a34c33a5a29b18ac6664b68e707a13468529031438b2472f14958378018b63daf25899a9504ed0c0eaee35aa5425cc0d1d9860038396cf83e3dfff8b70a4a3d172b208b7d0c720ba1d1d497cf9feda060187a63303658dbdc21ac49b840220a18cea00b013164db5e00bc581824b5abfa1880292c70300670118c845a976caa244e921a60d9d15c27a065e84c832c715d955d3f1562203aed0f08ce46d2475375e84f0de037882f37ff3197e316fb12988ae973448b405034d2012e6dba3786891d260a4f807dc7591da7b87bd04660050e9f4dd06129509030a00b20bd4cc677b701ec286da213150251abb8ef36de637b840ebaf9a307b3903f7a48389bdbe1fd9e651d7daf7eefb643095f1524f77bfb3d84b78bf1507d34a03611ee5d562677e3d3b32ceda5abc7aca8a48c6f49982a58b1e6a960e2f7b04cc00581f02eb34a090f5c4a646cc79e9b2c30954127ecc3b781d459eb899ecf2cde46d4729a87c5585628000581f022d87ebd4cd1f077b688b3c2a44cc57611fc81c01bf07349d3eeccf78f05d4467198e0003afde42947e91fdd60386471234d7225d983bd6a8bbd3533ddc7a9453979e6e7300581f02a7175bcab29640505600b9f9d3416a9909a6dedd7b9629b969daa5e9afd84704003c35cd7b3600581f027b1dd93df2b929fd0e7390b58257d98c074a96cf67cfdaa5413eb3d341684726f0c2286b860c00581f0238884599315187ec7380eb44fe807ec32b29992e37bc2fe3fa3c613035c144650a1f3703854cea887c81a35ef328b5b3e78bd729b02988441818eafccad21ffd99f0c79200581f03123e30ac5174ddbf8dc825a9e81f64aa0152f59f9052ec9545b975c1f5904a3764d1e221743b25aa0000581f0365740a5229bfafcc85e72359daf8cc9b69c94587d5efd44b84ee8f1624104227100219048003469e11b8e08a8b044ff079bcc17d0c3c77104aa86bff71af5f7092655a95967800581f021818e762d47f0e85e44f2ecc94c861dec7a055a1353a0320ba75f39cd0074468cb4b8003c4530c1ea89f70d4764125dd7099bcc2e34f83de817ac698bf9ea52f21d3132b00581f02876cbc437d8cb8b6b6e1b1be568930d048f08c52351d1f19d1021641217b470eff6eefc0a97b031bab5eccb41cca13e1a017571efdbea06c989181311ca3e94db50013c04a5a5d00581f0276c77c5f4d0a32249536d2d0763f8b56c0bff782694d3c292f8e49ecc47b46faaef84de8650219f7ff032f7490ffc1958e1ee08793e22d2a3da8210c94b8ddb7625db2c9ca6784d5307303c952a58be4510cd8f3b0338d7a45bb59c7563ef98c5c240be0e049cd879f570e038e98b46a35c7f1691600fb7210b87b61188f165c254ce3887fcb37d8d716b23c03d8e7e9d6bc83a7b1750f904be565ca118e81f8fdd66e3facfe8919123ccc6c8003b0e516c6d75fc47222e5ad235196b63ba52a4b8604e852d93955ca1e72e5872c0365d0becebcec14212187e6dcd354b643ab183c3518b12fa29f7151e50d2acf4f03b679a49c349db122251fd1c53e7e54b1fe7c8a24d8faf70b862e36d2a2b741430219ffff035932e5f0148590479465a4266fea2c85deaf3ebd055e9037e091deef13ae647e03f66da87ec22ac69de6dff6f45b4fb7214742f8feca23674670fa10220fedbb64039f73239987d792676b08e41cf78b7910b464e67db1a82814df3a52a5ea2bc691031facead09ea0e73c3aa75a981893ef4b677a3a637add2ffdf7feb52f2229531003acbdfb242da949fdcaf196e5e80f45d538b1880c937fe0db8371cc3064a745500354687f0b9a1e7a1b71da83c472bacc95762977ac9bd87590d2e04cf7840766bc00581f030efd310d874deb13e3f5bd3f937447eb736a2f533107851a994ec7dd17a044668f20800370729264af12a2881d546b3130d4f10edfe99593111f1e0f89b8c400b8eccfc80219100400581f0265d70eacb7113412d289eda9973ffd030ffe820467c1bfe4cd8542cea70e470bc7c9f6417120035260aa0aed4838520ca5169718a0d1e107fb0fcc49c6a1452613e08fae087f5900581f02c69b8b268ba53986791bf7f2ed8c28d5aadb7010192500f9696425ec6094471665dc60399d1103f0250b91f04ba3957d5931d2afa736331763e4ae9542f24ee2263f4b831c04a600581f020148a76582115ed5f2c85d1c308cae1138b10bfeafb454a089ab8056265e470e3db7d3d2255800581f0291301794c5b6927de7e410637055d782d13266883e54f542648c281696ae44694c7e8000581f02a865a03072e2f8c8fb00f719a736fecfc26effdf3c0c930f59c18975b08a42271003026c6edac6379047d30a2c69a7b8fb726028ebc3c99d2f27e2edc6c2ba667bd300581f02397daf0e5169c04109fd0c738820a6e62517a8a2aaf851e3f69142cc305c4601df0f00395b03e9ce8fb8902ebb28f19c9154dd669602e980d717b9aabd8b0ca13c0bd44fc6240305b94de51ba97c3ec71e7013f83f9f71202039e4d4989fd1c8eea17f505a601f00581f02b0dc8cbbf28c084b09b28660a2cb6d4f73d42e99f940ae6e4cbf7bd6e8c44645692d1302bd0304073a25afcd960ab178e564c38a365be568316aa429126bd21acaa20ba9ca2500581f02a11b33758ec0095ca14b94f1898570c9b8306588ef393ccba63205d79ed2446bdbb8000219fbff0341ba37ff7db0c2a2a20e06ceed57bd0f6b3e5ee9f19576031fcf98ec0694c2540358af858efaa0636b98253cf3de6bd483c61a9abbae904efe4dea85cd6dbfa536031880a41df5628a9e37dbb4ad7f014ae0351128d991791444708ba1969e7e230d0353af83f956ced009a44fc621e335d2efcc7bd392487d0918989540050f17be0403f9c4a256483412eda1235c92c07f88cd7edae3766e1efe973a7ad905b7e7ac6003d3e6e0177ea42b56ca4f75916b84ac20f7ed9ca439dc11e35a888a25c39db28003906cd75902a4bd3d105cc48469d21dd47d27ef09b568f26047797f0f88b26b0703c4e0ae7c12739393f819d0b0174ba0846508f9b654321b8b3bbdd55b464c7be900581f02778a4d7ff96aeabdcd9580a39b7e13b33c2eb2f507fcea68ece0806120ac4715ca1268758e4300581f03ebfc4129346ce69b7f8b646f87897f1f4f33cda297abd35c69a08c1665704a75df027b9369f9881e8000581f03a10a985ac24a4f0309c0ccfb2add20c809ede02e39d2090444610d0ece2044682e690000581f03f23ba9d3736120149baa8ea06f61fa5e0416b2a6e1ec578b146e3a4bc4f0480de0b6b3a76400000218a100581f02d17ac7aa84f554914f07b74a096e02610a0693671051982cbfb20c245206475d19ba87fb5cef00581f02cfd1a6ccd89b87de3aa838242c2d746504801853c5415c3bbbd15ecc269b42271000581f0241630bf8c1e1648cd01462d50150475794dc646bbe4b80a36b278cb21e0a42138803387d9897378a3acc11da5dd50cc911a995c02a64a4642e39f206c616ced36a1603d4597b07f6f4be611e69e7f07e913b6330e55344321bf64750a2c58a9d2d82c300581f022b5e94246c67ef0481817dd2044d8ecbeb9af23d1596c5549288f9e4a082490148b402e76519030000581f02db1eedac446e2892873c56a9a59d775220447dd10fe3793320bd15cb62ed4b0128729cd203638659540000581f0238c348b5934b7df99de98473bf68b60f7637fbd9d19468c976fef83af92e446357d61f03a362c261e45bdb6b252701818e39758a2333d272a85e01a9f5afa9d3614f6f1a02198eff036c7ff220d41bbce2f6c21a0e38c68236886dcb9739505b59b121db43e577d31803cfe0290b9fb8f8e2614a70f1caa0888eee31356f7ebd58cc2a61674c5a926bb90219ffff03ffd0675caa30763186cf9dbcc711c7c26b5bbcb48f72e17493f35515175d2a120330d67e1cb4f8f0089b009f3bdc2a7e6aaaece1b5ae6d10ef9181f8bceef618670219ffff038ab80faa042e5284bf480e07249b6f6111c806283068028d2ff88b2b534c1c72035fe11bd88a76a8584e98bb0503eeae1abae7c7a1917ca498eb198a2078bc054603ccd9d27a31c30f80f8d1bd64bd4c0e2bd32b53a89fa78f51b11f6207895971310332ee57d641f330861057abb74d5396e4faef6a0c6a56b43af1ebdfe94c60ae5503bfd99122d529d4924806e32af7866da5a4a37598b31e761bb4e31a76c1396682038f8f3ba8eb46fe01cd3041d74a47e53c79f3f40cbe965c915186c967adfa1fb903453f5dd471aa9c612ab72140a883ad6978ecb0b9aec85adaeeb518c962fdad6003bda7897dad06b3c71a0e2882390f982ae472c0b09640303b53b510e20bca13e303020e8cb42e35aaf16daa429c78a4d0193171becf6359e87c9a95e25c1584113800581f032b562254cf8e7ab821868046bfc79a5b0f086416163846313571e613d7404714eec6b70e3a2c00581f03ad223107184861e1ed0ec78012fec3819fd85c7f25a2ac6320ca26495a90480de0b6b3a764000000581f03b6873357d733443c4b61d0c0d80b82cee1fe63316e9ae3d18f2bad9f349047be19d0c8f635680219a00800581f02b293222b07c3403b9fbb2c887efeb22b648e82d317880d44db32aacde86d470e03ce1ae4803503c97cf6523f7c4c1c1e7cd9c3b8968fa7d744e4f67137f8aa023f83ce0290fd2d00581f0245d1f830dedb5bf548d222390dfa628e235b28968f5ee2eb6df5cf5e44ee46f1d276bec5c203e24878dd5293442fe345ae35e0cbfc6c25b1aa00f1847139c15401aabc3eada200581f02fa1f985d04a05475d11dc534e150b7bd081001da367d9befc8ca78c8ec8f4a023f3bfde81b7fa2848000581f028be8760e856387b85303b7f6635292e3f4eb71c8956eb5925f364c94dacb4a5531941a9648d08d588000581f02fc88bd7d82a420e15dcfcc9b58e8170881312c520f2e89e1f696221f23ad4a0148a3a3cc0a725cee8000581f02c7953277e0b17c3683c5db44ef38034ed78e8d1972bfc829b728f1d087d848021d47648befa99f03baf5b4f78bc06dd8917a6954c3ac7eb6b248968c9730e1d1434d34b144cb3a470352909aa2ab703f54461ae169f5b153243bbc99b75e676217ae34f9c29a1741eb00581f02a69ae6fdef4d21e31a2cff05e69250c84d3c92894d560aa1a81fc9f334404aa6f8a60635dd34fd32000219cffe0328ad5b5f490411420ef7ff4bd10f0769f4474be265f603a209736807d1e6768b03a43ef1af22185c51a36ea59d9654d720ee6ec09cf72a29fd6d8a948a4ae05225036b3c33e36e7bf77139a9b5685efdef586e738465bd79b226a10cb5a9d3406b0103aa80fe37225fe921094c6be04c5da2aef4c4c0b69b89dc2f90f491701790401203f397f4c0ab29c1fc9bc118f9cc39182cad331d5d66c60a5ee5442e6d545bdf9f039139d57e42b0b762de977a0a4b9efad319b5561d669e352312c2dd8cfca5ef9403e677f4dc49be95d3cd0e8ffbab543384b16990bb9d6e1e39bde3a48dd43fcb3d0219ffff0398148123bb84a20d71bc1e3477a07237850851fc083f92dca155d183f705c7d3032b60fd406bfe54fc406fd93e275b76038cbb6ed98e3e6e779c25def7af66ce6e0324662a17b123079cf4398c7e2139c9eb0043a6c5fbf4a9b11cdf5be607bf53cf03b4bf148deb1410896ae9c6c00a4d8675c6f37c1782a2410476628b7d9d7953c4032173cd9ca35271833f4c5ba319d8c4b3baa021c3a7e3478e44c5bb01915f81fb039ae6e5e4bc1263969bcccb6970f2fd46692d02ab56768d410b60ce9afffa760e030d3df62662bef349ca8381fe2bade18dc570f17dbe46323b672003a7282fff30035fc376dab7c27ee8854b859121d9ff972cca87c0fe5ab536a7608dbaefacb77b03deac474b388046c77ff548910b0172f22a8f80ea8384edf118cd0f8f3e3184a703a6d778264ac780f0a3580956925130aade14e522c46055e782a3e1c1366f1651036854b298339aa5c585fc91606364e26d68ee3c4ed631c1c45d635b0be8de8193030c13f0e8fd04f906af340d92146c085f66680a3d2d3e1d30fb291c6ca5eee1fb03a92f41ccf1abb71a94470103f74c50dd1eefb8a550303aa7e0096da39d2f939003220f768ea3b075ab6390030d3b5e613a23fcf6e2e5eabd72229e237497792eae03abe076a6982c105e96e2be46cb9ebcfd5b4cd5468fd5416765e2c54dc3cbe72200581f02ece08555bc782fabcb02075f4a196c6bfc86d1df9eb3c23cc5d94a5eb60342271000581f02a2f62906be1d9afda6372aeb4e6d653559a7fce2b55b6b0c48ef71e323ad477a81a1da6aebd700581e02e26c132d85eb21dceae640b3e30031951ddb893ef24c6994951b6880c24b014836bf4e799b21e6910000581e027a488e05342552540659e0c56fb590529054738ac478360cb1f6dda94e4507374b0440021200581f0332b1e20c81ff5f2e58f6d345954d790e1490cc773f9450ecd2a6fdf9def0470586f07ca6284002198200034e9f3c9b70e4a1e0f468f72b854b3c66cc57b964fd967d2880d52e82108bec7003821d64fcb77c59660ab672fa8a9301c51f9256ee3c7e58435d12f906c3851130039c773c397b9645a881a699a0be4b8720b2098d2bd4d2144921460bd7bcc138ad0219cd570333124fd2192ebc1ebeef750c4378f4ebf358180b0a6dca06b06fd3175d17e53703f5c2185b2523df4b681186c7574113180409da89bebd490c748f820bdaaadb9f03b29035c572d52d77c7780870051838d51cb1f908610a600df5917928a3ef944b03bfe88db047704ec961565ae7581f938334aa2b99900136ac566f38b6736ecbf903c3474afc4d59931477eb8404903f92a67ed6170ac6bd7d3089623fb561873ffe036b439995b62130e53ee7f40f0e0fb5a06ef0d1ce556857b163c7287f2b4539670219ffff034c046d19b598a216ed4ef20a5983afd0d6fd769a9d99302ebd035cae72c60b64037c826ad053ee65dac3d9f81558655cf9fd50bd2b0621a80332afb0559ec2f74403f0103359ccecf351f008bb6fb5b380a1234bda556c31e8c96dddd00faa7fa50c03ff2c50215a71f31b4f21c1429b0736d4ac2c1ac6ce616e2b41e538311c00dd980378131796b9adbf2b501b44a46120aa62e271409239d186911829c473ed3b6b3d03b1b6ff128f7bc77c2ed19929b5b84ed64bb6a641dfd9144b2dbef84a74c5dd090394182d7a390aecd7cc6808ee6f19c8e5202143a2140e9c0c931c5982aec38dc603fcf20720901fdd04058d46836db6296ce819bf4212c740d05b4a7937500ff7c90364225296b34d9dde6ce4eb84fa38dea9f6b1b3aa294a44ac8c4da08bd8bb8c5203d634d96262a5027b6b03ee9dd0ffae17ebde1e5d9446d6b5b6ded2345390bb1b036e8aa070840de1850bdf08719ab47ae9709f7a2a0af3dc45b61bffcca8793556037ea571d2a82a4407a3cc804b80b4b7ffd4e9337a8cf15c3a273429f9a59767e80219ffff0219ffff05581d0251d27564f387adf7af9e9a5a8195d11b3334b010b8a70766e9dcc32b0701192eed05581d02c83f9247d28050c10a5a702a04d6b5ca5617c7cb47e86017cd55f654040102194004037259ea895d12daa67a1674487ae7edcbd4270c8e8fe402eb93334b09f2682bd503562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03126fb904be197f74192381203ddf7a297081306cb29b9b98a9aa9994d007011bffffffffffffffff05581e03e77304efe9c319f9f0bcdd06110e0e47e1f3da6750830b1a37afca77b0040402192fd4032f236ddd8396c2bd02d833f3c7995acf443b36537c93f26cdca748e549f25a820338fef8c86d2eceb56a75475b80e8df6957e605105bbabba1500dac411e9f710703bed2f962bed3a1dd7f6ccf811579e328cd2493685f6b715c5ccd85b8a5dd03a503ba9a6f5f9470f45628d747468996176065e9d2d2bdebde78881212cfec71b15503de4078ddd6c61eb3c101fd3e7f09e497d0c9ab88a6eeb372e59537bf85d8df8503315ff16261b8be6215a359307a6d6ec36268d6614ef709f076fb3388c3649f8703e8ec9809a7a76efebd9da4a7087c322a0e2af1f3e4e0b052c284529d85ba93660219ffff032d74390cd3d4c3bbde141a6b8910471fdc6c7ed8ac00f9d4fd78be49abe96c7f03d0c3a781c1b8c9af2e4960d4e418ac47d3c2e3852a316c58499095edc3ecbfa20219ffff031d6fc1a8179bdc707bda78efce6b427bb5d198d3f6d2d6f1595ddf99e410ab1c03161a55c8d74a26181eefa6ad5d3924ae9ed81f7ec214a833a96ba595cdeb40ee038e97b2573156eed711317dfb765f504dd496d9aae783b161933b60da9069db7503a0f9a9041966ce6a185224b699edde0c636ba39c06cc5c9c17585b9588569c6c03eb7eb0bebdca4afca818ac7326bf2981ca49fa7afd6263da59c1fc3d3161e72e0219ffff03b530c8f54895b91cca9fac765b4ccfd12211742eace4f8843ebb625284fac660033a759fddd41913d4fde4c9444c88084396ad0f207ebb0b78ec200c521c42b5fc0357305240bae153c5b854a7b93d8b21c06af9c54c55f6b215f139d4fcbf9d55990386ee33e4113f6efd90ce5cf187860eae862f0352aae0728cd6c79ff1e866032c03040cafc452fbc1eb2333ac2643ec57d3d92372d4276d41af02419cd2b5e34f2403bf298e17510dcc323151769861875723c587e8e8b78a54d1d5da5d388df61db703a3bdbd5630516ae40cb582d1499205e1f7ab7d505bb90d83bcc1e4a059a876a10340c0850e65cb8aec435903cc2a7614530040f94ab5d1fbc9f24b038b255e2e8b03f9bfd59158b444064ee14754c6ce0ab1e3913ae973c6aa42da15541c56efd808038074605bff246f7845796f241bfa5f62d97274fe49ef3073b4f1d688006c731b03c37f1a977463678420af7489173c18620bf0b9b4c63eaf0593c5ae921aa51d47037860d6cbb1b9514fbc82f0ffaa3cd732560e2f041e92cb7ccb88a951387fe0c10334b96c0b9913271c8dcb203d28aad23aee7b579042fc872a9bedb9dd6e5359c1033d19521335ff07756dcb99a2fb554e3cf493b51359430276644a41a17d3b9b83038962b32223eabce832b8ec0d9b4664958f6ffa145df873dba326cb938ac0ba5603fe26d32d06de74c0b8ac652a5ca54e8a9292f734c4ce3d12de32ddd87af4a88403b6124ce36e25db939da24f2e8d4398be16d726c5d68aac950ab46c36a9677f5e03b071ba976a2fd5fcab223d54f1cbcbc0b9a0f4c15f097dec35e45d9d2f06a71a035fe4493a85b332d025318ffce81e09b01c2871651238e41b72090b65bb087d420342b958d62ab101858d97eba736925dd0351c0f9b9798eab48dd44518fd3a3d06039cbfe0ec932b469185885d0a7718b6a81535c5e71f6b4227ba574dd8661337a903af4ac599d7253e001cefc269df12927d356a5f48957652ccfd32f0ba34643ad0032bc12d44d388d7a86d25d20ec6a75fe3eb4771c50b84326a571274cf14608f2103d401fbfa5538a7f65213abba5e1b43f43874ad9daad91fff181bb5700b9fb5c80351cfba1a87eb253fc716dc12c24d1fff8f20a271bdd8b043617cc54b343ea6a9039c9beb042801f09533382d6f96f20f67bebc6fb09ee07869d51c801ae0ef47ac039e99d88f750af4949a9fad4fc8699d46e74f53924d1da2b9c4548845697c289303befe6fa8c883636797e7d8f336b2d65ee45a222616455d17be67a3c911fbd33105581e03b07f7ddcf01149c84a560a48488aa210bfc4a681570f5b30542a371cf00401045904a6608060405234801561000f575f80fd5b506004361061003f575f3560e01c8063576c3de71461004357806359ab4e23146100ca578063d8cde1c6146100f1575b5f80fd5b6100566100513660046103d6565b610106565b6040516100c191905f60c0820190508251825260208301516bffffffffffffffffffffffff8082166020850152806040860151166040850152505062ffffff606084015116606083015261ffff608084015116608083015260ff60a08401511660a083015292915050565b60405180910390f35b6100de6100d83660046103fe565b5060c890565b60405161ffff90911681526020016100c1565b6100f961032f565b6040516100c19190610415565b6040805160c0810182525f80825260208201819052918101829052606081018290526080810182905260a081019190915260631961ffff83160161018e5750506040805160c0810182525f8082526806c6b935b8bbd400006020830152680d8d726b7177a80000928201929092526105a06060820152600f608082015260a081019190915290565b60c71961ffff8316016101ed5750506040805160c081018252670e8d2cae4bee6cef60c31b81526806c6b935b8bbd400006020820152682c73c937742c500000918101919091526105a06060820152603c60808201525f60a082015290565b61012b1961ffff8316016102525750506040805160c0810182526c746965725f7367785f7a6b766d60981b8152680d8d726b7177a8000060208201526858e7926ee858a00000918101919091526105a0606082015260f060808201525f60a082015290565b6103831961ffff8316016102c05750506040805160c08101825275746965725f677561726469616e5f6d696e6f7269747960501b8152680d8d726b7177a8000060208201526858e7926ee858a000009181019190915260f06060820152610b4060808201525f60a082015290565b6103e71961ffff8316016103165750506040805160c0810182526c3a34b2b92fb3bab0b93234b0b760991b81525f602082018190529181018290526105a06060820152610b40608082015260a081019190915290565b6040516334130f6160e21b815260040160405180910390fd5b6040805160038082526080820190925260609160208201838036833701905050905060c8815f815181106103655761036561045c565b602002602001019061ffff16908161ffff1681525050610384816001815181106103915761039161045c565b602002602001019061ffff16908161ffff16815250506103e8816002815181106103bd576103bd61045c565b602002602001019061ffff16908161ffff168152505090565b5f602082840312156103e6575f80fd5b813561ffff811681146103f7575f80fd5b9392505050565b5f6020828403121561040e575f80fd5b5035919050565b602080825282518282018190525f9190848201906040850190845b8181101561045057835161ffff1683529284019291840191600101610430565b50909695505050505050565b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220ddc73189ede9a20c5757def1db7aac683725c5cc3132116f05b0196c3a59aa2864736f6c634300081800330605581e0331e206b177ff6183eb15bb98aa3d1846c853cf892e4b3e8f2775df228007011904a603a3380b038531695efe167d4afb30cbf6dbaf2603f24206a860c39de686773871014105032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e032e54bc8aef73a3b388d699b41fdd79ed8b9c510fbbc6f1c19ad467ae3007011bffffffffffffffff03f96e938d886d1e711501dff2db24985912f512d329d3774d0e3a49c6a3eea19405581e03e2239a3feb7f2aad19a615a14b5ded4e9b3c7d1314558bb490d5ac5b300c01465fb96cdcd4000219780503a5c9011b9e993f741fa210de57d18f0f5df8a5563c522256f3353e09a90f9f62030b74b9dcf6804887d47d833fb4025a4c64e552ec7e283aa6560a7cfe4967df070338c2d2ad9b6aeda160bd4397f6f9ab2cdc6bb63c94a098063c9338f4e47a9b2d03eeb855a5df446eca87fc2c5eabbafff2816e45e8c1320431feef07713315e8e1031984f31ff084a8d202786954ec2aa7e3a8624b1ccdf1e55976ecb92fb305f92003554cba52318b78a10c99a112fdebc3493e4d6a43fe733d9484cecd68f7256b13031105d5e63f7f65eeda1d6cf4c7a3d94e82d0b50de99514962655bce2b5fb7a3603293216dc8d32fb23beae9e85564b280642ff14ba67a5896f5bb432e5f84b4a590219ffff03744084fe7ffcb2b905e363df9fd703b754fcedb5a055d4f491c504891ddcf2ac033281f78def13c28d80c490467d4b3ecca5418fb90b1a6f6e5291f9b137d63d4603a2139e0a1e1d6457132659766f708103d9bd85846518da373412ee63a6f601250391482eb68c6ff06738840e9537939b168c57f6432f1570e0aa915f5e9f5f310103fd41a59f310ac5afd4cd2277e196b5e899400e7c9c91648cd5d8d0d4f828edbf034fffaa226e7cfc075b4b10f4f714b46b2fbed9d4542f4789c26eb056490b493503cfa9cca72d78de8129e44b71ec991283f6005b4d77f19aa016b9fb474b21ee770219ffff03fd9fb89bc7ec64204729beb257493cda05c5684d93cfa28b57ddaa13d4aa00e403bc70b9dc1aa766827cd0b799b3980ec8798a1cfc9b7b96587ca76c1408ee6f0c03ca44cd51aac9c3cff933e0ebc3fcfdada71b7f547840a71e7076d251caf8e37d03f3389e2b25213f1222a510d83cbac8322a82544f9ec3d4c39eaa4424936d89c503ec09316cb2b76e172d5b315fb136545a8533ae15a4fa52b6d65dcb2efca3ef72038167c17f6e52ec894db4e43ba3a2de28967b2b9c0008b2c62321d6a7d8ea9f4a03b632074ce1a0c06c938ffda6f32cf6a9ba46e086d1eba6b574d62d386d5e4c250219ffff0219ffff03be0072afce70081aff04a4d65b7eb3d8b462c23aa13b487789845285fd9676450348f83b22d0119321822a9de77e966765cfd982e68469af85e03de0ef43046bc60308d46e226a4d300efd0b0d3727bd233e519bf2139e9d789b07198c4e0a9b9b8f03621344183df46197814718b253d95f8aee4f661e496282da23fcab92d36d9eba036fc8283ae66bcd439a69ccfd5a5f8b74d0119c1f3bd501963feb772ae98739c503f14f2d152d1a0c0532a0932c8b30a4ed70215833ee1f7c2bbf57ae0444691a65031f81075eb7823a5f6997e4c262cf283792ba320220ca35ffe26d72bd3bb78e2a03a54fac895b22657d7f8b908f16ea692d70b03ff21dfc80223639667d808dd9d503dd33443afd226a37807aff485513a6a37ca6977aec8a440da268dfb0a1cc4c2003786bb339c5da33ae25ce1ce7476316ffc4b1efec03499a342f6ed16428c697d803120c1285b39ac8ea6fc53195507f13785999f356bc6dd3c795a8fd08527c2b4c03fd6d758116f226410fba2e6bec042f91ccd0492e3ba68910a8ec6172acc4ce69039b71bcd81c13166b421206477b0a0e672f298ba93a40674f887fc20507cc8c4203f0231cfdfb13e8e09f0a99f827a5ceb723aa50c64c03bd7cfe9d983bd26400b70300603848631ff2998b0b56f654ce2a52747f30bb265bfc2183cc1192416b02a40363043d090346d9fd0bafbe62f1becce3daf64e96e6cfc209ba2173d42b53f34803cc9a13c40e8ead5dbdce9502e1d251f04925fd4593dea2279b1d1b22292c881303861ea7699915b9b471942698ddb59adde1ef42f12416d277b62f5cc2ed68832f034acb3309271a83510910f984dd0e5ae5a1edf26f32689ef1daf106f40dd8123f035aa2e3836fd621b3aeeaaed5e2971f24ab842bf81bb88cd0fd1533d6674330eb03eeba376790da720a1ba70f64c74db1698f1714c1b81fc3f99821df29a8706a86033f5b440267381c2e74016055013e84ad603c3bad94d1920ad3524cdc2458125e033d08d918640f5bacf4553596c05b352a1ec9019ef08cfd667ab88b11c17a00ab03c157624368e3e6f729ab7d4189d9763b99c1c8f6ea35229af60c1e33d98bcae1038ac1a6b4e5541bbc9f9a8b27e2e5b98228c3026162dcb2a5664835bfb80f2b650339a992432282759517be4a8e02df7e62adf02ec99e7866d97d3a3e8959b529ac03d52659be7130248da9a36acc240aedef1f36ab231427e050220c97bb15f938a903ed677a3e95b772d2d04c258f0dd1cea850fcad07ecdf50f7be5885eea697ea7005581e033f464e098fb28eea464d4a1927412ef1a0932ac0574c32946e5f573b800c014623542665b62805581e03762b59c0f1f1e4508a6a9a945d576812b0e6431960e558835a2faa2c30040b0352a4795ab05965d35738f6a229cb47fdff3307c90e659150cf75b789df99444c05581e03db2a369057d72bd411350fa0c433242b1e22adf37976fd1e83d15af3900c014613481fca231003ff328dfae88a172575ffe25d642ff57a8e670f766fd687be04e07e58b098baf705581e033889d4be35c05cf3bbc4d7f9fbff4b704e24c1b3707820d1d53d6f6440040205581e0316e7d2356e72ee6a46d25833e6337d92513cbedec0c0cce2cb60ea6e400c0146a6a1c17907c00357d180c26a3778c81eebbb08f5c965ee2564d3b864d2023c23b7a798300950fc05581e0356299b7c4672574c345e38ec1ea5f859461a847688ef940df408b2fc40040104592813608060405234801561000f575f80fd5b50600436106101f2575f3560e01c8063715018a611610114578063b78aece3116100a9578063dbe7e3bd11610079578063dbe7e3bd1461043f578063e985e9c514610461578063f04d688f1461049c578063f2fde38b146104a9578063ffb39076146104bc575f80fd5b8063b78aece3146103f3578063b88d4fde14610406578063c349026314610419578063c87b56dd1461042c575f80fd5b80639cb2b69b116100e45780639cb2b69b146103a7578063a0da6955146103ba578063a22cb465146103cd578063a7ab14c2146103e0575f80fd5b8063715018a6146103735780638da5cb5b1461037b578063920caa971461038c57806395d89b411461039f575f80fd5b80632f745c591161018a5780634f6ccce71161015a5780634f6ccce71461032757806355f804b31461033a5780636352211e1461034d57806370a0823114610360575f80fd5b80632f745c59146102cf5780633d722c59146102e257806342842e0e146102f5578063468f25b014610308575f80fd5b80630a34a739116101c55780630a34a73914610273578063172dfcd81461029357806318160ddd146102a657806323b872dd146102bc575f80fd5b806301ffc9a7146101f657806306fdde031461021e578063081812fc14610233578063095ea7b31461025e575b5f80fd5b610209610204366004611e3f565b6104cf565b60405190151581526020015b60405180910390f35b61022661053b565b6040516102159190611e88565b610246610241366004611e9a565b6105cb565b6040516001600160a01b039091168152602001610215565b61027161026c366004611ec5565b61065b565b005b610286610281366004611eef565b610771565b6040516102159190611f0a565b6102716102a1366004611fe7565b6108a1565b6102ae6108c0565b604051908152602001610215565b6102716102ca36600461203e565b6108d5565b6102ae6102dd366004611ec5565b610906565b6102866102f0366004611eef565b6109c5565b61027161030336600461203e565b610a3f565b6102ae610316366004611e9a565b600a6020525f908152604090205481565b6102ae610335366004611e9a565b610a59565b61027161034836600461207c565b610b07565b61024661035b366004611e9a565b610b1c565b6102ae61036e366004611eef565b610b2f565b610271610bf6565b6007546001600160a01b0316610246565b61028661039a366004611eef565b610c09565b610226610c45565b6102096103b5366004611e9a565b610c54565b6102716103c83660046120f5565b610cc3565b6102716103db366004612110565b610cde565b6102716103ee3660046120f5565b610da1565b610246610401366004612147565b610dbc565b610271610414366004612195565b610e55565b610271610427366004612210565b610e8d565b61022661043a366004611e9a565b610faa565b61020961044d366004611e9a565b600d6020525f908152604090205460ff1681565b61020961046f366004612230565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205460ff1690565b600e546102099060ff1681565b6102716104b7366004611eef565b611095565b6102466104ca366004611e9a565b6110d2565b5f6001600160e01b031982166380ac58cd60e01b14806104ff57506001600160e01b03198216635b5e139f60e01b145b8061051a57506001600160e01b0319821663780e9d6360e01b145b8061053557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606001805461054a9061225c565b80601f01602080910402602001604051908101604052809291908181526020018280546105769061225c565b80156105c15780601f10610598576101008083540402835291602001916105c1565b820191905f5260205f20905b8154815290600101906020018083116105a457829003601f168201915b5050505050905090565b5f6105d7826004541190565b6106405760405162461bcd60e51b815260206004820152602f60248201527f4552433732315073693a20617070726f76656420717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084015b60405180910390fd5b505f908152600560205260409020546001600160a01b031690565b5f61066582610b1c565b9050806001600160a01b0316836001600160a01b0316036106d45760405162461bcd60e51b8152602060048201526024808201527f4552433732315073693a20617070726f76616c20746f2063757272656e74206f6044820152633bb732b960e11b6064820152608401610637565b336001600160a01b03821614806106f057506106f0813361046f565b6107625760405162461bcd60e51b815260206004820152603b60248201527f4552433732315073693a20617070726f76652063616c6c6572206973206e6f7460448201527f206f776e6572206e6f7220617070726f76656420666f7220616c6c00000000006064820152608401610637565b61076c8383611145565b505050565b60605f61077d83610c09565b90505f610789846109c5565b90505f8151835161079a91906122a8565b67ffffffffffffffff8111156107b2576107b2611f4d565b6040519080825280602002602001820160405280156107db578160200160208202803683370190505b5090505f805b8451811015610836578481815181106107fc576107fc6122bb565b6020026020010151838381518110610816576108166122bb565b60209081029190910101528161082b816122cf565b9250506001016107e1565b505f5b835181101561088e57838181518110610854576108546122bb565b602002602001015183838151811061086e5761086e6122bb565b602090810291909101015281610883816122cf565b925050600101610839565b50610898826111b2565b50949350505050565b6108a9611296565b5f828152600b6020526040902061076c8282612332565b5f60016004546108d091906123ee565b905090565b6108df33826112c3565b6108fb5760405162461bcd60e51b815260040161063790612401565b61076c8383836113af565b5f8060015b60045481101561097057610920816004541190565b8015610945575061093081610b1c565b6001600160a01b0316856001600160a01b0316145b156109685783820361095a5791506105359050565b81610964816122cf565b9250505b60010161090b565b5060405162461bcd60e51b8152602060048201526024808201527f4552433732315073693a206f776e657220696e646578206f7574206f6620626f604482015263756e647360e01b6064820152608401610637565b600f54604051634b152ed960e01b81526001600160a01b0383811660048301526060925f92911690634b152ed9906024015b5f60405180830381865afa158015610a11573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610a389190810190612455565b9392505050565b61076c83838360405180602001604052805f815250610e55565b5f610a626108c0565b8210610abe5760405162461bcd60e51b815260206004820152602560248201527f4552433732315073693a20676c6f62616c20696e646578206f7574206f6620626044820152646f756e647360d81b6064820152608401610637565b5f60015b600454811015610b0057610ad7816004541190565b15610af857838203610aea579392505050565b81610af4816122cf565b9250505b600101610ac2565b5050919050565b610b0f611296565b600c61076c8284836124f6565b5f80610b27836115a2565b509392505050565b5f6001600160a01b038216610b9c5760405162461bcd60e51b815260206004820152602d60248201527f4552433732315073693a2062616c616e636520717565727920666f722074686560448201526c207a65726f206164647265737360981b6064820152608401610637565b5f60015b600454811015610bef57610bb5816004541190565b15610be757610bc381610b1c565b6001600160a01b0316846001600160a01b031603610be757610be4826122cf565b91505b600101610ba0565b5092915050565b610bfe611296565b610c075f611639565b565b600e5460405162438b6360e81b81526001600160a01b0383811660048301526060925f926101009091049091169063438b6300906024016109f7565b60606002805461054a9061225c565b601054604051634165b5b960e11b8152600481018390525f9182916001600160a01b03909116906382cb6b7290602401602060405180830381865afa158015610c9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906125b0565b610ccb611296565b6009805460ff1916911515919091179055565b336001600160a01b03831603610d365760405162461bcd60e51b815260206004820152601c60248201527f4552433732315073693a20617070726f766520746f2063616c6c6572000000006044820152606401610637565b335f8181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610da9611296565b600e805460ff1916911515919091179055565b601054604051632f4de29b60e11b81526001600160a01b03878116600483015260248201879052858116604483015260648201859052608482018490525f928392911690635e9bc5369060a401602060405180830381865afa158015610e24573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4891906125cb565b9150505b95945050505050565b610e5f33836112c3565b610e7b5760405162461bcd60e51b815260040161063790612401565b610e878484848461168a565b50505050565b610e956116bf565b5f828152600d6020526040812054601154600e5460ff9092169291610ed1916001600160a01b0390811691600191610100909104168785610dbc565b600e5490915060ff16610f165760405162461bcd60e51b815260206004820152600d60248201526c2132b337b932903132b3b4b71760991b6044820152606401610637565b8115610f5d5760405162461bcd60e51b815260206004820152601660248201527513951408125108185b1c9958591e4818db185a5b595960521b6044820152606401610637565b610f68816001611718565b5f610f716108c0565b5f908152600a60209081526040808320879055878352600d9091529020805460ff1916600117905550610fa691506117319050565b5050565b60095460609060ff1615610fe757610fc182611738565b604051602001610fd191906125fd565b6040516020818303038152906040529050919050565b5f828152600a6020908152604080832054808452600b909252822080549192916110109061225c565b80601f016020809104026020016040519081016040528092919081815260200182805461103c9061225c565b80156110875780601f1061105e57610100808354040283529160200191611087565b820191905f5260205f20905b81548152906001019060200180831161106a57829003601f168201915b509398975050505050505050565b61109d611296565b6001600160a01b0381166110c657604051631e4fbdf760e01b81525f6004820152602401610637565b6110cf81611639565b50565b600e546040516331a9108f60e11b8152600481018390525f9182916101009091046001600160a01b031690636352211e90602401602060405180830381865afa158015611121573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3891906125cb565b5f81815260056020526040902080546001600160a01b0319166001600160a01b038416908117909155819061117982610b1c565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f5b8151811015610fa6575f6111c98260016122a8565b90505b825181101561128d578281815181106111e7576111e76122bb565b6020026020010151838381518110611201576112016122bb565b60200260200101511115611285575f838381518110611222576112226122bb565b6020026020010151905083828151811061123e5761123e6122bb565b6020026020010151848481518110611258576112586122bb565b60200260200101818152505080848381518110611277576112776122bb565b602002602001018181525050505b6001016111cc565b506001016111b4565b6007546001600160a01b03163314610c075760405163118cdaa760e01b8152336004820152602401610637565b5f6112cf826004541190565b6113335760405162461bcd60e51b815260206004820152602f60248201527f4552433732315073693a206f70657261746f7220717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610637565b5f61133d83610b1c565b9050806001600160a01b0316846001600160a01b031614806113785750836001600160a01b031661136d846105cb565b6001600160a01b0316145b806113a757506001600160a01b038082165f9081526006602090815260408083209388168352929052205460ff165b949350505050565b5f806113ba836115a2565b91509150846001600160a01b0316826001600160a01b0316146114345760405162461bcd60e51b815260206004820152602c60248201527f4552433732315073693a207472616e73666572206f6620746f6b656e2074686160448201526b3a1034b9903737ba1037bbb760a11b6064820152608401610637565b6001600160a01b03841661149a5760405162461bcd60e51b815260206004820152602760248201527f4552433732315073693a207472616e7366657220746f20746865207a65726f206044820152666164647265737360c81b6064820152608401610637565b6114a785858560016117fc565b6114b15f84611145565b5f6114bd8460016122a8565b600881901c5f90815260208190526040902054909150600160ff1b60ff83161c161580156114ec575060045481105b15611521575f81815260036020526040812080546001600160a01b0319166001600160a01b038916179055611521908261186a565b5f84815260036020526040902080546001600160a01b0319166001600160a01b038716179055818414611558576115585f8561186a565b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b5f806115af836004541190565b6116105760405162461bcd60e51b815260206004820152602c60248201527f4552433732315073693a206f776e657220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610637565b61161983611895565b5f818152600360205260409020546001600160a01b031694909350915050565b600780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6116958484846113af565b6116a38484846001856118a0565b610e875760405162461bcd60e51b81526004016106379061261d565b6002600854036117115760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610637565b6002600855565b610fa6828260405180602001604052805f8152506119c4565b6001600855565b6060611745826004541190565b6117a45760405162461bcd60e51b815260206004820152602a60248201527f4552433732315073693a2055524920717565727920666f72206e6f6e657869736044820152693a32b73a103a37b5b2b760b11b6064820152608401610637565b5f6117ad6119de565b90505f8151116117cb5760405180602001604052805f815250610a38565b806117d5846119ed565b6040516020016117e6929190612672565b6040516020818303038152906040529392505050565b6001600160a01b038416158061181957506001600160a01b038316155b6118655760405162461bcd60e51b815260206004820152601860248201527f4572723a20746f6b656e20697320534f554c20424f554e4400000000000000006044820152606401610637565b610e87565b600881901c5f90815260209290925260409091208054600160ff1b60ff9093169290921c9091179055565b5f6105358183611a7d565b5f6001600160a01b0385163b156119bc57506001835b6118c084866122a8565b8110156119b657604051630a85bd0160e11b81526001600160a01b0387169063150b7a02906118f99033908b9086908990600401612686565b6020604051808303815f875af1925050508015611933575060408051601f3d908101601f19168201909252611930918101906126c2565b60015b61198e573d808015611960576040519150601f19603f3d011682016040523d82523d5f602084013e611965565b606091505b5080515f036119865760405162461bcd60e51b81526004016106379061261d565b805181602001fd5b8280156119ab57506001600160e01b03198116630a85bd0160e11b145b9250506001016118b6565b50610e4c565b506001610e4c565b6004546119d18484611b71565b6116a35f858386866118a0565b6060600c805461054a9061225c565b60605f6119f983611cd5565b60010190505f8167ffffffffffffffff811115611a1857611a18611f4d565b6040519080825280601f01601f191660200182016040528015611a42576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611a4c57509392505050565b600881901c5f8181526020849052604081205490919060ff808516919082181c8015611abe57611aac81611dac565b60ff168203600884901b179350611b68565b5f8311611b2a5760405162461bcd60e51b815260206004820152603460248201527f4269744d6170733a205468652073657420626974206265666f7265207468652060448201527334b73232bc103237b2b9b713ba1032bc34b9ba1760611b6064820152608401610637565b505f199091015f818152602086905260409020549091908015611b6357611b5081611dac565b60ff0360ff16600884901b179350611b68565b611abe565b50505092915050565b60045481611bcf5760405162461bcd60e51b815260206004820152602560248201527f4552433732315073693a207175616e74697479206d7573742062652067726561604482015264074657220360dc1b6064820152608401610637565b6001600160a01b038316611c315760405162461bcd60e51b815260206004820152602360248201527f4552433732315073693a206d696e7420746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610637565b611c3d5f8483856117fc565b8160045f828254611c4e91906122a8565b90915550505f81815260036020526040812080546001600160a01b0319166001600160a01b038616179055611c83908261186a565b805b611c8f83836122a8565b811015610e875760405181906001600160a01b038616905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4600101611c85565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611d135772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611d3f576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611d5d57662386f26fc10000830492506010015b6305f5e1008310611d75576305f5e100830492506008015b6127108310611d8957612710830492506004015b60648310611d9b576064830492506002015b600a83106105355760010192915050565b5f60405180610120016040528061010081526020016126de610100913960f87e818283848586878898a8b8c8d8e8f929395969799a9b9d9e9faaeb6bedeeff611df485611e15565b02901c81518110611e0757611e076122bb565b016020015160f81c92915050565b5f808211611e21575f80fd5b505f8190031690565b6001600160e01b0319811681146110cf575f80fd5b5f60208284031215611e4f575f80fd5b8135610a3881611e2a565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610a386020830184611e5a565b5f60208284031215611eaa575f80fd5b5035919050565b6001600160a01b03811681146110cf575f80fd5b5f8060408385031215611ed6575f80fd5b8235611ee181611eb1565b946020939093013593505050565b5f60208284031215611eff575f80fd5b8135610a3881611eb1565b602080825282518282018190525f9190848201906040850190845b81811015611f4157835183529284019291840191600101611f25565b50909695505050505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611f8a57611f8a611f4d565b604052919050565b5f67ffffffffffffffff831115611fab57611fab611f4d565b611fbe601f8401601f1916602001611f61565b9050828152838383011115611fd1575f80fd5b828260208301375f602084830101529392505050565b5f8060408385031215611ff8575f80fd5b82359150602083013567ffffffffffffffff811115612015575f80fd5b8301601f81018513612025575f80fd5b61203485823560208401611f92565b9150509250929050565b5f805f60608486031215612050575f80fd5b833561205b81611eb1565b9250602084013561206b81611eb1565b929592945050506040919091013590565b5f806020838503121561208d575f80fd5b823567ffffffffffffffff808211156120a4575f80fd5b818501915085601f8301126120b7575f80fd5b8135818111156120c5575f80fd5b8660208285010111156120d6575f80fd5b60209290920196919550909350505050565b80151581146110cf575f80fd5b5f60208284031215612105575f80fd5b8135610a38816120e8565b5f8060408385031215612121575f80fd5b823561212c81611eb1565b9150602083013561213c816120e8565b809150509250929050565b5f805f805f60a0868803121561215b575f80fd5b853561216681611eb1565b945060208601359350604086013561217d81611eb1565b94979396509394606081013594506080013592915050565b5f805f80608085870312156121a8575f80fd5b84356121b381611eb1565b935060208501356121c381611eb1565b925060408501359150606085013567ffffffffffffffff8111156121e5575f80fd5b8501601f810187136121f5575f80fd5b61220487823560208401611f92565b91505092959194509250565b5f8060408385031215612221575f80fd5b50508035926020909101359150565b5f8060408385031215612241575f80fd5b823561224c81611eb1565b9150602083013561213c81611eb1565b600181811c9082168061227057607f821691505b60208210810361228e57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561053557610535612294565b634e487b7160e01b5f52603260045260245ffd5b5f600182016122e0576122e0612294565b5060010190565b601f82111561076c57805f5260205f20601f840160051c8101602085101561230c5750805b601f840160051c820191505b8181101561232b575f8155600101612318565b5050505050565b815167ffffffffffffffff81111561234c5761234c611f4d565b6123608161235a845461225c565b846122e7565b602080601f831160018114612393575f841561237c5750858301515b5f19600386901b1c1916600185901b17855561159a565b5f85815260208120601f198616915b828110156123c1578886015182559484019460019091019084016123a2565b50858210156123de57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b8181038181111561053557610535612294565b60208082526034908201527f4552433732315073693a207472616e736665722063616c6c6572206973206e6f6040820152731d081bdddb995c881b9bdc88185c1c1c9bdd995960621b606082015260800190565b5f6020808385031215612466575f80fd5b825167ffffffffffffffff8082111561247d575f80fd5b818501915085601f830112612490575f80fd5b8151818111156124a2576124a2611f4d565b8060051b91506124b3848301611f61565b81815291830184019184810190888411156124cc575f80fd5b938501935b838510156124ea578451825293850193908501906124d1565b98975050505050505050565b67ffffffffffffffff83111561250e5761250e611f4d565b6125228361251c835461225c565b836122e7565b5f601f841160018114612553575f851561253c5750838201355b5f19600387901b1c1916600186901b17835561232b565b5f83815260208120601f198716915b828110156125825786850135825560209485019460019092019101612562565b508682101561259e575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b5f602082840312156125c0575f80fd5b8151610a38816120e8565b5f602082840312156125db575f80fd5b8151610a3881611eb1565b5f81518060208401855e5f93019283525090919050565b5f61260882846125e6565b64173539b7b760d91b81526005019392505050565b60208082526035908201527f4552433732315073693a207472616e7366657220746f206e6f6e20455243373260408201527418a932b1b2b4bb32b91034b6b83632b6b2b73a32b960591b606082015260800190565b5f6113a761268083866125e6565b846125e6565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906126b890830184611e5a565b9695505050505050565b5f602082840312156126d2575f80fd5b8151610a3881611e2a56fe0001020903110a19042112290b311a3905412245134d2a550c5d32651b6d3a7506264262237d468514804e8d2b95569d0d495ea533a966b11c886eb93bc176c9071727374353637324837e9b47af86c7155181ad4fd18ed32c9096db57d59ee30e2e4a6a5f92a6be3498aae067ddb2eb1d5989b56fd7baf33ca0c2ee77e5caf7ff0810182028303840444c545c646c7425617c847f8c949c48a4a8b087b8c0c816365272829aaec650acd0d28fdad4e22d6991bd97dfdcea58b4d6f29fede4f6fe0f1f2f3f4b5b6b607b8b93a3a7b7bf357199c5abcfd9e168bcdee9b3f1ecf5fd1e3e5a7a8aa2b670c4ced8bbe8f0f4fc3d79a1c3cde7effb78cce6facbf9f8a26469706673582212203701e00964c8b8bebce8fb80e526d7aceb5a00d3f3a257cdc0ed7bbc4eca4bd064736f6c63430008190033035776b921c6d5a79c3e2ba53c87ac9f640f52b945b6d1174801e603a44d4dbd38036d684b38d4921165451e7c1d00051a68c0de2f1151764018c9b7002e12386c5d00582002d0c9ee19464574f4caeac303b92df821fe9106de6121bcbb251269b9d8598b54010e8cdb84143bfbf77442f2f26d6b5096c4850e030f83f75c1be29295344f1fb66fe57010efae6069e431e73fe668301daa807d1303319f52508dbae7d255b24161bcc310d74551ae1bfc251419ee122992c6c6eca9036959448485aceb51b7ff44e6b07f5a58ba59129299f00569d7158621e9be3373037582d1d91f992374faed61891c3c58df7d63e015dbce9b99a119cd3fefe9a2b103d5ce543f8c6d81737f83872f5126d9108f5841e4c56f66ae5f97fa342041a5f103c2559a5cf0ed91ec53594fa4554d6569a4767dc0843dc3b98b99da9ae881e20200582002af752d5c2c06df04449b81bc1e75f7db2cc431c11975bfefb9e3649d90d3414101005820036cd2b12f764b6d045c76a0f87b912d0740a301b21d8ff4e1f110a8e6856570410100582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720549eb8788bea8beeb00427b3cbfa826048c0b4b343021848036c0c0d9082357aeeb13affd6df9e705ac089800454fe377e38b3d56972adcd95036dc6fca53cda505ff32be9cb7ae353e41eb14cd6693fa9584de1ba9deda1ec5702196ffa034a3122d3e83d7e35fe53ede20acf51bcb4fcd536fd74592735e2328afbabc1c400582003731785b3f8cdc4b4bcb54d9d57f732e7f8af3a84772c9a98b16ca598a98cd0410100582003fe77a9c5f04edd773c014cbf17138de3d23c62344a8402b73be389532db860410100582003d2c22321be29a05d82b63fc8f13a91b4de569d8051e8f45b17e03f59f031a054dd92cfce4156e2a6f2acf85ccd92f62f747c84ae00581f026afb46b7ad152c16336a8fb1fd9d55a7906c8c2e234a1a3036b50dd3ef44410100581f02c21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6854b032ca260b1cabd144f47825c6ae32fb3026f12c021911000219410c030eb161ce892151ac07919e813a3f76dabefb95f09745156824505e47e1409d880327dd930f77cc25ecffc2d63797791a71327a3d6ac33fe964326560d8a3bb71fe0303181bfd73e0b431bae3159b3df4ce198a4b1ddac5bf013de6539585da8ff34f0330f7da3097b096b3ccdb78a9a53debc18b5aa55d55aedbb501d417969d669e8a00582002596a97898eb2f240ba173d858276b391dbae067b7aaae06460d4d6cee5345a410103386c8421f53b46f8b75681948e3f6209bd26927dd36bd8f9e5a114fe4661374d03cc0cdd78920470ace590cfc5d9f0e46c22b34300d357dcb21b6a174d1a292689039cd8d96322beead0fb2698f793898e1f4ea9e6ebf5b84f8b3137748238c26c5100582002aea7d818d806eac026b851ae8db9050ad09564a1fd9c2ca51a923a8c1c1fc34101030bf3042fd396ed76d52aa99f11847d090dd927c0c6843894fa88548315fac9e502195f9e0364fc67148730b88c03919b3b1d2882f378ba7d429f2e81be107f77cd069d80a8031a15b087eecccb92e7fa8a6b8a1c30392bc59a0a606c0b143c1245a5fc055ceb0305707101398d0fc7d3b6de7b86c131a37c497f4f4a065d6af6fac4652e6892dc0346606b1306d73339742f164530b8a3ff557bc23db1bae446503b0b1c0e218c9f03c84d5b57e12e6dbe6633c6e61481c9ab7b7a9a5966167034307699a20b6a7dd403d7bbdde394eb8456b426aee9bb44f47997b1b70578c0dc356d3378b5d34f70960142002500582002330778f154aa84bc70e486d46e1827ce1bd27ec36868fb789bd3bfa781a4a7410103a6f2cf16905033551f939ee7f25743dcee63dd2cc2ff9de7d2a46c4d52be50c303863b09a9ef429bc5039315b1af6260761c1c1c228acac05e98edb1163dbc68260320ee1426638c80691f4928f536554691b06e0d445ed53ef293fb6eecb70183e903bdb07c84db76385777a0904fa70d345b8b91389da65dc25de29196af7d40aa2a03bd5bd2af0e0bf9de9cae2a3e660552411a170cbcc949366806684ca35e6df2e700582003a6ad299d3723da28c7c540b7e12fae38385d6e479fe95ee5dc746262f43f10410100582003880964e8828fc5321608f0bff02f8777bd9b4deae0faf27229aa9ed22067104101021982000219fe69032552c98b094eefd3690fe7e634153cba22c131770f78153b5ed250f2ff33660e0058200251f6d06fd012078023b5d08f59e26478d3cc1f1ef2713c681a04cadae20e354101039efd568dad391d6b3016e36e2b42a56e44691d7b228185b737ab1d8ef0990d5d03d3086a6b4f1408d4543f5754425e27eb51f170dd2d8deb06645ed6d542283d9d00582002a865e0cea8c71a8ab6b3cc81bb2de47e7421cc41869b76f8fc6bea407baa074101032eff15f545382c1140ff0471ff41ad03548f94752872d1b1b99163cc05f6840e0058200209ac37190b40fe5ea42bbe5051889e3d4ee062fd86ae28c42935822767a26754664ede85a3dc5e5b96b56af5ebba4879b113930400582002c8309e2c89efdebd3e22ae24a7a919414bdd6ffb7a0354c9dcbb575a828bbe41010384e3e3efc1fbc2dcdd99eedfdb46fa7e6bc7be69c7f8b3365ea24f83d7966c1c03eb6b255fab8505d86641ee8ccde8372560e3990fc6847a8c3d91eafe4c8d259c005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b041bd005820031d3eb575f5e94db0fa5dd0c66a4116ae71b27d3f7def258fef299904c82aa04101021901080058200230643d219c547cd16a7e1d13147fbce1f4417e5ae77ce7ab556318eb2aa96b5489a6b5631703b18cf3d42bda7af71beacd5092500330943036fca675465793738747a02c19f238778c4ba1b9290d96406e59f3ee5e03da5adee9c4da4053fa43770ab6151252116e4458c0000536929861980e03e10c03653a12ff09c4918f45dde963c17610bb9aee880c45125489724b70f7463d192502197f7f03297e26ef14fbedac2aed023f609f06e9ea50a8e3b8163eada54d4c13e34df4a8035001aa1e30c3b18319d27f1737b4ce75494bae82fe01d84934f729691e89bc5c03cf10fb8ce89d7e37de856a0e35693b4fa7e291010ef9b94faf47574a533f99370308d78ab356e4c7422d62f894173d7234fc8973a0a8979e94f4c5a4507cc2663800582002c6cec960077741c9452d31b6554768d1305ef918e266433d85813be977989f410100582002d8e75a43d0340a7936978a35e5573951bbe206b3005a1e5d19a5dbc12e481b410100582002b4b5eee42cdcacf39a4e51d7f34aceaa41de274616584d52dd411f9f893c1641010304e24115a059a592d79a61bcdc229e976b18d1729de43738853734c59769c96903132f84be68c97167e2cc639a763d47e625719eab5e528617ff1cc0bd969f836f01410003491949e95eb3027df05214227090eb8378aa4cae1d8990c56f3677338a5da7ac005820022ae90141db0015064ffc9c3a1b42dc0b99abc396c278bdfa15c9eac60ddac3410103a46e28837ca989e500eb2d203bc3490862eccff9dd71b08da1981c02ad870f9f0332115041efd0882b4cf252438a72e81e53fd5380e700eb4297a745059178112b00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd055a65ba71d653f62c64d97099b58d25a955eb374a00100582003ff92fa7d7a17770961d590d783897fa242058266ca7d02362dff9461cf3b3041010219018003ac45e490a6ad1b63e1d6c7c29dc6fbd30727f106b71ef1842e8cb01c3b65242200582002479626ce644075bcf7ceef36f76b83c743cb4276b463d117a817357c91a635410103e6c4f44d1af67a2d4f6d9b3c7c810e05a0de0f1cee4bdbc73320c35e965a1f3f0219bfff03d1005beb1e8659947e2f85d8bc77b9ec7c5bbe05a709a329223f5e22818ff44003626e300914dde661d1276c9336164ebe1451774416f27e91697ac13fcdafd79f038a2c8a9cb75cc524c3a44171a372605419f6691cbe9c8ab0522e34f652f58ced005820036c8f784c69667fa210bd0ccf2d0df21082bfd112a66438114b3b3c4719c6f0410100582003f3dcda05b4fbd9c655cde3d5ceb211e019e72ec816e127a59e7195f2cd7f5058207ffffffffffffffffffffffffffffffffffffffffffffff800000000000000000219240000582002f2662770f9120272a5a293233de4bcc50c1d6a9fbf1c7161987eec40535c8654544926c26cef8fb87bda2bec6019595f2d5045a403d1c8c961c7454decabf03ff21f4aef3c93369c7465b1627bea10e5cfd951a30700582003c0b1c1da01c021835b2535e8c190f72996887ac4d7e0ea2fb1cf3cdf4eecd0410100582003936dc33bb0cc67a4651ad8c2348ed7796c0eb914256cbe821e659ab4df1d3054da63a0b9945d493582333ac5c2432463ff2ec031035f3087a279c1c2d26523364d662ac2c54e5adf43205f9af75cf5351fe19ad79a00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3410100581f0280eb2a45f361713daa6138d9ef3f04ba969e651a855d246029193ae3cc325448225986b3899df770335b58f4e357320978cf970219808002198c0800582002c8cc0209154b201b4537dac575b334f3724b32047ec72b61f2a97e1bfac2e641010317c547d9d59e9c69af72294cb02734a87101980d33e22f713b762e302683bad201410e005820028d260207fe657f2346775cc7df9e07ba0a08e64ccd28972b30bb03ba9b295b54c19f587dedef4f816a5071c438a6a17b6b0c25dd00582002e4aa6802bf11262c32bf9d21c2c7d7b184cfa8257ade658e5ceb5a8e52b9ce4101030fbf9e29cf2dbe8207dbfcfdba5f6372dbb71ab117c3476b7b079aee41c4f53d034596cb50a5bc91e448d50b7452d2aab3abac1da4a558808eaa5f9705597b69f100582002cff0d5211348ad4802b8213c8e260735050592494dd21dfcffe1b7dd66df984101005820025ef2c2c2d5cd4719963e673c314b8434feff00dd6d5e1048a651f6dd4d5a5b41010219fe1f0219ffff05581e03250ce96d17413af9b3b0a8492313265191dc2a6f612e7c83f46312c070070119281303ec7c913372d3ba1cdf39bfc903aa2c4b783eb4e449d42d909bdb326bbd5ccdc00385114766cbcd4c593b7af69f236accee62609390e3dc76d2277ff5cd3f6e353c0342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e03152c3dfd2d95cdf73b5b67f48f16e189ff7e072845ca0b2cdeeb42a61007011bffffffffffffffff0219ebfb03b99c2601b7103d2d7eb85563bc7f3592e33c4a6b7dae5976f464bea8aa7735c903d31c0ac432699adb6fd38be6e41596957e11f1e4e971529e4caedf7df069e02e03cda5d1ac9228facde160b54fe6d8a2c1a9a9a88ab149ca355e7a4920155fdf4c036d0c9cec106fb68c3d78b1893a3e9d5c9876927267a7edecabc59ea19a45006303567dcc604357986f316d6fe802d335365ac494cd14529a7a30c77e84b47e524203dcd61b20787ad49cd73a7fe5e665f41771003b0f709abe1fe8271ac1ab30cb040219ffff036d71162043d503b713c2345cce312d126ecc52fff1d5fd0bce3d748b71f948bb03f3a7fd2ad4242d86f2a0f765d48a3a1ce8a2011a076da2a629bd88e7bc55ef2a0375222e3092ecf75d479c43800a77c961835cd83d7d934fd3a413ee29a633e9b0031b28d1b94ccac7ad7e8eea82e1a3d3f5720771a23a1f6140156d1256a20c038d0219ffff03502380bbf9c480706543369db4c1eb4df7d31db102deac54d5f2b7d0038ad1230395219da665a1831646f9bdae8abc9d77d0230d01b6d385c0b9dbb96ff9a2103003f907d65b63dbd56f8b9737acc8f7085eb39a6b1d384bbb8e209bd84559f7d63b03d791304022b562b7f01d58780166734eae598a048634c6c9cae2a7991c61e42103aacc3b58b465ed30631454c478998ecc6fb8434a578f179ac7c85d8ef07f3698034bf82b3fcf067f66c024adc04c986de0ff17e8860dcc428c8c3dc29d04883e92037f200c4aa4db2ad69d589897bd5dc4e6054d1395ea5497dc025d787c81b1610b03d9cd3ce08ea9bed359ea1aaf2eeb854912920bd84e92e7b1defec7376289d9cf03989528079b7dcc4e56a0fb134bb244d75a33d13541a004ab769851b8fc6892cb037b97ac09601e074e5ad8bb94e524d67e5c3d479e7e7b771bc519df5f212b2f64038d7d6f48d749057b87b542df27cb11ebce9bfc274a6affdac0c2792dd3ce61ca03f8a1327125122e166af061b5596b788d328aaed6b217c91729ae4ff51f90ecd50219ffff0311b36f23784e85f1d0cf966cf735ddf71646ca8cd7577584747c4d4e040e7c9603f2a3d7e7ccfba6417d9fd9e4ec4a6e6dcbc9d0abbdd137a919500ce353eca1750372c574204ea1a6966626a6c1ef9d41b5dd1747f5f91df53e88e3b7ff1ddad5390330df7d41daf09fe3960d4e5ecddd657b6cf88e0ec164c90733500c12a048b99e03308439ed91dcbd538b90cf27f0c5efed8cfdc11f84723d0b2563f71452507a1e039749d801b2b7af2a7813e0c3ea620013fe8c407fb87b596bf967b0b9daa781ac0381c09ac05d5bf678bb436a18af054a583aed6e9563369c3a56690cd78b114b64038b559486782efbf2e1abd6217819fb22ed1fa29d68318195a17bcc31910badbd03c900d20bfddc4c836c7f962bcd22072fc1428df9f3d0eec68a4408df0874bfb8030e3d677d4674efa6b1edfe50c355f5a29f6ebbd38570b031596da6361267f06e0388b2c5493cdc99cee6ea1c0a39fe35b2eeb080f7e3d4d716b6fe8f503908bda403e266b85b61c36e510815e9a2da7b45655a7cd1652699066f4b090766c76967d003cb9aaa1f026fbc76e2e398d0ebf363b24005bf7c105cf31cc804f04e26b3ba2e03a396497f752bfa893807f9c3ded148f5349e8282ca482b54923469132d93a83103fd8f32b54f6933873ebffbb64703e9c8d88f0df362f5a4cbea1d61fa302396cc05581d020090ff78c56ed0b02959f35afedee72e54d7334aeb47c30f307885330c01470314d608b407a805581d0218238c853bb9db6752892e09ff0052d6baa83bbc349b2b99a39ecb610c014703e872df46b20003c9fd99ac640a13b7b5706b06142204afc8a3720d0c02885d8027241e0bd206a803e24e8d081769b35cfd9aeb4e0814a0728be8382977f5798502160bbdebff1a7603f8da7b9ab7c68a371e3775b7d83c42ac9aa2591830108b5d79688df7b5f7769f03a88672ececec66ab9f9be94f963fce999da621848f40f391e99b636e22875bcc03997761c56034316053a074906ce74ca6595f7555d7e7cb7c3f5c438cd78a7f0f03a2ba186fea1fcb9255843b56f3a3e52a26b1e4f7df69d79be642b98af3ee8dfb038499465f0ccc3b84b6d8a4fedf662447f43616235729ce0110e56b74cd90e32903daa31843cbc969353e5bf263be1d151a005beaf75d5ac4ce7bba5a467c3810410306c4f3cb9e355367c3eda89943dd7857e094823887734924af591d88eb5c79ac03ff8d020aee3bc8cae1527873de64d5d7ea51aff859b91190119e725ac84b06a503aeb92fa5b5f519f85698ec02cbee8aad14eb6621d728dd67b295ed1a310d5087031c5db64c6d374e74f04d7f5ef78e409cbeef5c31bd3427bb65596d412d47d81703eefa2c913f172cf1ee599a88a39936f94a0d1bdf5724eed79014b1c1f38bdea1037cb65f5ff86461fe9d39353b29ded706c4fff06eda95eb2dca725ae93c34fdea033609072d79fd39802720194746c2b31b40c1a2bca0166e011d5007b034608e8c03b1e7c6f5fd1a0adad4a5065d2bba132d550513de49f797d945acbebdbdb847cc03d36cad20aa91dad26512c8a34a26a5325d22c1c40e49be5fdb55042d16e63e3a03c17437ee3cc08158ea97877978ffaa4b3622236eee51861cd3ae45b197aa75a203f54f3304ad7c4166f58984fd8bd74f845239802bf29b939a2b5ce38fbaed4f9b03d81a129494543d6e67ac5b701ec2fe2c2bada7215d4dbe5cbebac79a27722dbe031583754d58dd9feb9a5e959e9dc37dd0ec49945c19aecf4f5245d07189732f7603d11b59a5e4c668ccb5111e9c24e550dd71a4b1424e9ffe7bf72205740298646b03a6ec255c29119f36ff8f20a3af91d7feda94c05899f05010fd4a2386a2c66c860386dc065a65c9e9e71e786df924ab2bb0a061d879b4c455ebb00717ec7a06b9da0373a1e492992dbf8941d1d1c3be549c41e4896733c2226f6534167456ebecabbb03250e4164e8a4f8d4b3dda03472b231b40080652b21b44386b0a80c1114e44dee036da2540526860e6207f77f6a908b0ce8a0506e09d17adf85d2dfe58fc9294e26033bd251a5868266a0513ad9c168d3fc4d8252576bc88510170604b1f7e0869da000581f024de2b982d451dd2f39dfaa26812b8b4cf069d88ebf6f2e7916c9e07ed9bc4a065a5622c0225df4de6400581f032c2f62630c6fb15f92c5eba497ede7428a75761c5a8fde989cc37102fb204904c51b46cf1a9f000000581f032f4e0044b0af7ad07e008f708c5e1d7534765e8a74ba0c013183ee8395404a039afa7e19e2be5b13070219030003a208d8aff58f0f34d8da1ec504642bd0b24ac3cef2aca022dc6f57d926fb86d700581f027cd46ea451f60a268b0ff3f28d2f0cc4f8b9f16fca0d7784c2ca0712901d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021908c2035bfc3f60d6a0d602fbfde7691394828e856037dab4086003c9a528fab66d991a03136ddb98bfeb8a879c69e6b73793aa73848cd102d483122d7fa2cd411fcc2e3203e5aed4b6c8335e50d33d52b241af121abcc7334fb514a417946536105f1152dc03667988cab201afecccc5420e73fca9e0739b170ec4230040d32db78a26aae0b40346471294e257d0b9d436bb121957d63b21308d48e705510da7aacb0e7c49bc390219ffff0305c3600f85b0f8b2c8c5850721df678ed685355eb874a174a4ca53f16f6e00850320cc4eb17bb8ec39572b458cdd81c5c70ae7df3fe888d45dfa0e9e7f58ad1f05030d0060fa6dd352239794a3b731c33b6cd69925da6f067252a20982e87a8b2a55037eb1118e936134c361f0a5e68f1793da6eb42f3fa05e74e547c5e57fa60e5c5903ddcd87e3b05e02b057ee9b35b0bb42747f420bb118512c9c9e0837a453842c0d0219ffff03c15bfd7ab394bd845ba606933fca787845207670b15a54bcd52e38686fee75350353bf8df1aed7de7f0dce13304114f9ec7402b4c239b9f5910d639cd1c9cae3c503e504ff2e0943dfdaada855158f19ee4dcfea45901275de67cf2b21eb6db767fd03cc6a99c5676bfebc1726d03ee8da9e3cbba37ffd39c6a096aa01285f72a345400337998d042ab542a7d4513a712921236c57074b986ae79a75bf780cb0da77ddbb03bab38c278721858d995941e84f453316369e4c2710b321b2a3dab72f9ced470e03d8b37220b0149d52c60eb5368bc250e0965a3caa7a6664b35389edbc397954d903febe129a1fccb035937c30901363b2c7cd4507d9e009b6c2a96993c71f3d8f510305789b9c005879abb33b6c40715a97bfc6fc6d5737fcffc7a2a5372dd33b412103a30acc2f432a6d402f9bfc915f34882cda5bdd805dfde8f4424a4482a83d9b3d03b21557c901d8100b8c8fc66d917e0d38b8192e607a83370e1bcdf414eb9cedee03a3e44f818877665834671a0a3c5825ebdf4de91b4346bc3d201432ce58ad7c640323b63c3929711abed3194b6a8b1aea2ce464988101cd5765803072a6979e3e7600581f0250c97d3f30aa4031d61e39bfe43c4d8d8f3ccbb09e3ec3f2745dea7559295820fffffffffffffffffffffffffffffffffffffffffffffc9e1630a121bca99b5900581f0216a12da0ff46bb7732cbf9ca883948c7e8882df053deb4743e3824e0c46a4b01cb5702440123c241916900581f027598cb10c8c937c7575ea942419c95faf6143a5d1fd0a3df544c7ae6ae28480f004b91c406300000581f028525232ee2e8b2b565dfb2abd77fa13a1d1f4fcd0d5d972371b8f04e47c94d01431e0fae6d7217caa000000000581f02a184c4d72014003a63d3a8926071fe66bacbbab65fcd2387f3baeca57d1e5820fffffffffffffffffffffffffffffffffffffffffffff9a5b25da2cfe93fffff00581f021490944e18f10a4886c36d8493b71e82dd42bd333e3f77b3b740b96f90d25820ffffffffffffffffffffffffffffffffffffffffffffffefc01a090c49ff77ff00581f0260f4a012b3a2a18ffc8ba9d38234e63bb3a0688cd61dc4d414acc197111c5820ffffffffffffffffffffffffffffffffffffffffffffffd108d6348057e1cd25032159e8a43f8a10914189f4826643acf8827cee39eba001968c3ee8af9726b86a00581f0257cfbdb7170f97e9dc6c01989d0573e6e957b4e623d85f3bfc469571f42a5820ffffffffffffffffffffffffffffffffffffffffffffffc4d22c0dcd4452929803e8126bf964752ef4160e64bb2da94254db5dd4d79fe43becd506373814bee43301410d00581f023be373229ee68f57cc41e68cc27133009d2d9888d4eab4f2c5253d61d1fc4959803a48a089ec74b10219fa5e03a796cd311f60a580f44cb2bb399e3ff125f2126b07e74eea05e9ea072dbe94c80317863b78e1377544c0a23d052269d3c82e6b7796ac95e0fb3ecc9e322c74236d03231a74d2515e5cbcbeab1325faf81c59900c4ece1d017d33afd291e075736e88038f4e884a80aa4e60bc35f6378ba32814650e7fab577f44f4e5c5803bca1777d2034c164fc1a9cd9f4ba5b348eb64ae40379285356dbfada7cedb9f7c649cfca161034c8e04d3dbd07f4b8dcf623222cc811502dd7baf1ceae44d8233f19acb44714103b1c0da57c8e3909d219ae058287e93cd1323c3c7f229b4abaedc64439f5366880327a231d805f32186f0f848d9e59aef119ae79037ab99a3f7cd6771f104db9038039ce6915d9e93242c421066901d6ad182e95bdd0fa4c7b4a1f411c92291b3a5fa0315d53244001ce637424f33a8ff452dfb6cb4ce05ee872b8d1f52d32702aa762f03a729385f354eab18723143cc60a67b3930b7728dc5a0035c8a36075a498e370c030bc8122b6bf6d80f8daed8b79a1a17bd3c4896853d9e44c7ba104bcbc37ddb3803a4716316ad6e84348b7773c9c4a5a8aac5b9cbf3b89aed62c882bf680e0d133803c06bbb6044645c54dfa65b646539eb6931ad2709b777f82a1c2ed5de6da55bac033c77022cc3ae6c9bdc99542de1b6db337354e99593d3e6ad32e7a2070aa570b70219ffff0351c37b60851c0d23c6718bbb16e6e4201920360067b3ad89b8d43707147b588c035af8164bf5e7a1555134cdd973a144bf21e5f74e55208575326ea2ca1a27e1fb034dc2b1b352eced9ddf7401d21073dd9d56e51bf99f4f4c27ba9bc0ea7e365c65033387d71714bce33fe377e4fb3bf051956abe41dc0c3f4e4165d969f7a850e5bd0219ffff038a261b4a7deb110aa736914a0d7a0aa98fae54946efef7910b438d4edf3b3e7b0344652b77e3bac64470c31eaa5c8a3cd98ef600a43030b8318e77c0bb814d541303c96a287dd7586ea9cdc173af3213fe396def37d5ed368af1f2c782ae7552e4a4033126fc68f3d517d23303f506bea9d63ec4388bf43347da933ee72b58224ff1ac0312eaa2356685e369a6c9b4d57e4c9d4eadf841926437fbd3815b0328287511a90219ffff05581d028c11acde4d56a5f0bfb33b64d1fe6406c3ab68d0e587f4392dfd99fe07011bffffffffffffffff0219841005581e03182c966adc5b2b6da5637b5857c133c72b33ac232035ea79f78467ff500c014631578730380005581e03506271afffc2f2fd534d95fbd10664879407b77d51a0791dfc5644c9c0040105581e03844c66be97a818e817038fca46f64237717b471648abdc05fa3f96b4e0040a05581e036b6e01fc07c124f1b9e1786720e1782a457a0d741c83829cb68066bb600402039fa87ac15ffffc9c7741678b06b8159a0be7feb79c6b3c2f637a6cae5f2baa1e0306e8403d41cd210395eb0a72601edfc6ef0c0c7a0a5515d20fd3a7c69780064605581e03f0cd53f41561da0a2ae7ffdf3d057209b0e763c9dfa7b8b1b09e640fd007011bffffffffffffffff05581e030890d1b2e675aaffa0a46af6ece7ba80aacdd46e0579809247cd2944200c01464d7dd2a0bc0005581e032923e45d60811952298973ddd3ea5bee71e2397f2c729baaa978a9ddf0040402195ed8030210df13e636df830757ac60895261b73834af2e233c25843be31924825e9838036713cb3111c56505b898e2089cfdc0b7bbf2c37a04f5b97759747737e91f6876037833120253008e484fb1b465df7648e44921544335d0b71019b03c0a145c3411033106b06166f838028063af4389b9b4b47144cb56592663874dbddd2467451af003eaee52910bcbaefcad59e66fa102a645946e9461b47b63b5d85dc3e77b736e5503d953142eaed894cd23a9a48f229cb2b68b6e26f039b1b146182db69fc88b8c24031f201b85236c04f418576e94ad783850635f5826799aa834f51def56efb1217a03c8de64bafa1ea4bc6522ec63f92ac56c4436cd41be8c42c607ba68ccfbd9105c03e669910ea33ceb4c7e6b3187d21d0781f61b785c093bd4aec754ecf54000fd5b03f928bcf558dd3b79c86c16fc334b3aec5059be6283a1ac1b38ee8f4aa47b133603f6314a26edc978eca63501e668c99a7f0a1aa30a37ff5b92a342c176df1a185203d7ad95ac6ca9d41c0bb136d51a435bfa63cb48cf53deb2507f395483642f1b72032f0befaea9b18f360604261490acc4a7ef9a78197f8589533156966b7b39beca033d8f5a48b5bd11a89fccfb3bb514b61bc737375c9e167ef50654e6a4eeb93e84038c3e79acdd7f76649a4c2899e8a27d91c33e70bd71cf3c500cb78c66f57220fa0219ffff03e5af027e6f2b29c9ce616fcdcb304125fb393243834541bf589915cd6d6d9d8d03e589bc8b6cfbd5a5a4170d54ec7c535add56b4d3df0430533d84f5979f7e3ce703f04cf4d5307d634e5d7562cee8972b1f003ed0d5a63e46221eeca797b5c350220359f52133b89ae4ab69e0979879780cc240aa0d4ecb82bc045dd4dcae3ac40d5d03f92532d2211db53e2521a654426c6e75e5ba524fb15c9339ce1d823e82404b6d030242780dadd1a6f9a6a98fc6894aa0c8a54eddcadfb5eff61cf51e51f4b77e7403c083bdf275c4466a5f5cc9bedecd7a04ff104992fce326347b1bd20b3c60cf34031eb955944ab64fd0226d437ddbf0bcc9d42c59d0b65bb5dfa5903ce70983d7060314c5b17f9b5e2ebced2d5fc22eadba20d739bc9a0d93d871f4c636af044e4361035a1dd5adf937ae44a584d9ff15ad2b692c3fb0125c5dffa6f9666a4b5b1e758e0219ffff035e4dcf4bc02284ca7f4e032929b7447f4ca516e4d61dc2dba7d946599c03eccc036ce087d6310542cb26425003fb64767ef1e90b49a6ba6fa2df143b672c367e41038417ccab1fb586b11abda0c4f6cd7c4d7a3737e099cbd9324d03775792f82737030d0f3c92ffc1c11fccb6dfc385eb3eaf8968af34d00f7190c7c8a63273024dee03a10b188aa230e086ad2eea5ac6382fd2a918a6a5c10b2956f5d455bcd13304a0039773da16a1d15991b9c9f5111ba4c82a09f62e339690daee14593da74924732f0219ffff03d651e01f811c32686ac40836ae86ff2ebbf80a97a1c3429582c160323f716bf203f583a97716be5030770f8677b2cccca5e0039675e8fe7b16e1ccb191c0cfaa3d03089c06b134b43b6183bf6542d6b42436070ca2f111a76911ee3d2594e6a448cf037844d9669f194bc1d522823c54ae81063b33edcac26b818395cb75e23fbbf8490348573653c1f3af211610464ab2c504bf6bc9f30411d5a42028b83779e65d03a903df431b1a4219b92334eb98d8b3b574995d845acb1f60c0d344b526d8c3024daa03eb03161d98af31e80faffaaf1d69f3219399c2b9ce33586fd59246d8cb9fdcbb032a059fcc55ac56305a5bd2bacb4fd74b93e5f7564e7f7095551afd6fce0ca98003a5b666cebc9ffa875c0ae0527c1e614227ccfa0777904d5b7b3b5ff72cb6ff0003b34b245cccb685815a50b498f07adbc9d9f8f6cf8e6a465eb9695d10692133a303e196a47263916c02251c0abf7125e5fcabb631e5f038f0a0d4b278ac9a4ef4ba03e53b2e1872fa70fd7d1469254a5a34eb17f872ee6ee00e122cdd1015c11775e803d680be3500f6c1cb4241dccef4bf56f0859da8639ef3d731da35878991b0b16703af99320f320f05b8c87dfd29a945cfb78efebc2fe42764da68a1bbbf55eb8a9c03e1e0d3cb9d9dfcbcbf7ec61da12f2d2ec0c32fd75f9b33e9d45bee061b386fbd03e22266d7ceb51c55ad32245856899b44507b461b1dc8029deb48824e01a7112e0333e4ea226274fa5a6dadcbc6f7207b9658b4da9d53e486a438fb6f378a3f45dc03bcf4ab5d82a32577853f21e07ecc3d75e0ebaad3bbae0d0e6a3b72ee067d9b4203a4800f63ae4cf18736216595101bb2235cd171cfaefeafe5407b35743fa4bf330359a46ca467c1c222eb87a62c1d2c35781a740cc113e0a28e87adfc247192f09403b90a3065909856d2fd4d18529d73a06dc8131a1ce34cf1e59956a1529f6323ae03a39f405ea42c5221fc97353325a12860b84e282ebe794faf2eb6712207a95edb03d08fc41c3e86ecfab00d2e02777a50edb17d04c660319d0ecb52e96f24244dfd038906d1820d465656b1b967a9d58fe61a6176996858eaa276653551a6bed4668d03267c33a277d0f447ddfc807c2e600edd398ae856534a880f3d529ab4ecc79b7c03e3adcb9c560d93b0df8c8c6ec94bb5c65f31c33a687831ce91a083b8820dcde80322248958d3650e68a317b98f251fd25c3a40f3fa81441b865eea47c50759c4830370ea6956d90dd972e17d9271ccf5adab54d8b1e7f53c18e19b7a46bdfd0ef48d033b87da4b3220b1990cecaa9232d7a7b17774f4638e0de249aee9385669cb0ceb03a80ecb1edde4793c642a4aec9ae1d90f965ffac91baa0e97f457f5aecc591f6405581e03fc2761cbf79e16957df5ddb7cd0536bc6c084e0b08651ac7b66d73eb0008476ad76ee20e24e405581e0368c29ceb735a4170ebbad9c8e469a5cb364478ca5a38d804659032c1c0040205581e03bb5d20852ddc516e210dc6950b327bf2c32ee0ed57ff438da546a32980040105581e036e3ed287674df17455e1130120aa79cfb8c5933db88b39cca1f433c0400c01478a80d7195e06b805581e03444afed6575098ad7b734cf1919a6ae29e2215be8bdca6c5a49a0ee320040105581e033d9519af895b1cda276f2196ddb08b605382396fc081a06ba5213de9200405037d530b5da62994e38bb3754371119f76261b46726913923097efe6632845d5b803dc9d91419fc47714a216ce8443f7028cd5d262758d1b7f8e73a1a94e7e8a6fe20339b2abcee24c128fc061dbfd33c0218a2f5013d8e0dfe8a84ea4035313f0227e03e2a8dc4348189117f14e30eb98ca8c3162e5c2614cac46d6db5ecbdea04ec71405581e03d40363ddeff2d1f617a449e8716192e73fe25f2cc8f9b3174c839f360007011bffffffffffffffff05581d0258cd151817f5db27cf7e98ff4b391341526a3ed24bf67f285b9686370c0c473029a9a62e3e7405581d02fa941ead65636e8f3c9218dcb48015f962b6d4c60294a08e2fdddaf504030219102003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038634020e3fe4b7175ddd822d32b1198d7032e41ddf9ff84f76b45b02f007011bffffffffffffffff05581e03b74ae07717a99ac0425846a2960df98baf2902af260172a95d19ce24800c024701a48fcebac9680219fee503d59cb9f209eaf5a1741d6dfa6d7fb9de58bda774e38cb949e53bb481da3f1aa9033cadd3f7166409dd1645381b52549c73f18d985c4d72a522748024e618fd8125035dd0f35d079d0dfe1e3a13ea503fed0cb3dd46e8194a880fbc30c0b3b34d09b903d87c851cb9bc333477bc2a70a4e6089d86b87b7ced866b1c9f64752d5966de4c03b8002d4226534d9abb272b004365bfd461f530fb68573f5809089f4475034a130219ffff03900e0666521e42fa57a45ab4eaf478c20fddfbff96aa4fcbe5d677370e02285703b15ac665f6d061f229af6e173d336598a56646b4c858d08fba9e4111b61b5309038a16baafe504881d7d253442c1e01c54522c38e17751527efe4246feb3d76ceb03879fa6681c3edff91a098b68999e033d0b06c79098a49d599734ed645a3c890a031257fbf53d8493bba6e8273bf0f0081b1492d3decc5e73b282c1709d2837430d031c5515cc74545598e263b676bbe35e4b0808df3fb0e231a866fd51b9f77487cc03f84a0fee49e796373a0b6c08eafea96597f6cc32da2a19ba64363154d3ffe74e039341df45e3be50eebf7f9751e4ef6f97c42c14ecfcf7bcf94a2760c537e62ea80219ffff0363a60343d1586c2b0b60517a57672f3dd6691e2ff4415de3b2b3d9edfe345b2d0325ab3e9c0c9ccf67d351c9f39bcd90c1e457de0c81d37675f712b025ff9209420219ffff0392ba33712eaf548cccdd47711aa2b93f01289b56eb6921e1542c35e44a334ba403f50e797b38c426eab701e518797886ec9b12252a49fd55945091419b7cf6e4f8031b4f6148b1ac933747e1ebccb66641ad26e0207026c0baf8ce03db2e6fb6a22403f99a8eb5c0ab1db481a129bd61a4689c7a6390500e13aebfcc4d072ddf85080303530bbb39eded25090b283888f197fc51dfc146ce69e15f7accbd124018595d9a03f5c3ee347415d4e94532e48ad75836863e8b107a73c6db87e4ff9f9df2f7f52c03aad0f5c35951bf3d9b35c201350f645911a47c44ce93fc48e8a153e7dde7bac30341511a252a859b23b54b5cd6bb1678112f5ff03d5e3be09f90f90e7d53104b4503c67319f387537fe9de2385c357d143e185770a493361915a0fb87312ba1969ac039782c24e48aa348be52cdfdd65314e7d9c365f52bbea6a3501784d9d65b907a60366c79c39815e68eef31d7157d81c07860df147c02b0c20e3dccaf6520723f721039e1ff958d467399919e58821eb03ff11a730f6d453c20b6f2bf7e310cdb40fdc039d6b0ac9a273463960450052ef090e8df7d60519ae21d42f845e364d8b0fb80d036f90e05fdaac8e123bcf56c8a5f1cf985f307069b84ce989074ae69f60cc768a0395a4b260b63e108aa0a08578ae187a31ae42234090254ee227365dbd86d1d52d0378b306d6db5b8a8dfade902972481ce5ff06832a72b9c46b5e4f97981680bc0903431cb91e3b577f2b030d8227053411af17f3ec02c5acc3c74291e5ffac11cfe803a9b0d4e01c1f870b26578259d30f34e93193cf2729aa7d1bf18c9f261787ad6f0357ca311931f5786a5985d65415af0f22713964efe2da9ba710a778c6f8e3682605581e03094dc9d4e143cce2a43416b550b6a8524a31771d27120e8fc5e867c9100c1901b548064244b1c87fee9205581e03fb1e524cbb42a4534be239de4571cb6a370393a4838e7d277c0478e7000c0347012bfe30f5e2f8032c8ad74ae60da9a33dbbf31085ce0a4860f517db94a8d5d5d3c1840a887b1f6705581e03c675617aa40d04263c8c203afb001571327fb9fb756aa33ed6a310cf100c074704e71a49ca400005581e0305927a6d5bdab4eef8a0625f50640b3cef4b39a8f5535cf1ad3a62685004030459022460806040818152306000908152600160208181528383205483825293832063bf40fac160e01b909552608490815284546002610100938216159390930260001901169190910460a481905291936001600160a01b039093169263bf40fac192909190819060c490849080156100b55780601f1061008a576101008083540402835291602001916100b5565b820191906000526020600020905b81548152906001019060200180831161009857829003601f168201915b50509250505060206040518083038186803b1580156100d357600080fd5b505afa1580156100e7573d6000803e3d6000fd5b505050506040513d60208110156100fd57600080fd5b505190506001600160a01b0381166101465760405162461bcd60e51b81526004018080602001828103825260238152602001806101cc6023913960400191505060405180910390fd5b600080826001600160a01b03166000366040518083838082843760405192019450600093509091505080830381855af49150503d80600081146101a5576040519150601f19603f3d011682016040523d82523d6000602084013e6101aa565b606091505b509092509050600182151514156101c357805160208201f35b805160208201fdfe5461726765742061646472657373206d75737420626520696e697469616c697a65642ea2646970667358221220d96dd78b72a44c11bfa8efb98d29ee53776a02c67052599da176325fcbf95b6464736f6c634300070600330395589d334cac37c6e752250c911becde05af3b56f507ef23b2918258d88ec35f037dfefea89c4327ae5d7ae209cf6deed81fa9de3155726912d941cf34bbff7c6c03ba1c894516c67627c31ff4eecccb577c3cd82e3a193bbcf5bd3ffa02a5f1b7aa0336c69d00474b35ee3e7cdd4cd1a7f2aee01333c873c5d52f2b7ac6680db0f4a1035ddbee7ae92f38f6ad6c54884ec27c8ffbf06bee03cdd22d33a014f8b970cbaf038c27ab6612b71003f9c43385131eccf2bc31130b326026563e32fbd1cae1ea83034f66a26aa6bdeb73ca58f091249bdb0570b5795458f4086bec638c513978708a030392869481351a733ce200bec8be2fc15d315bc52f42c2ba7e5d9c7e1f34fd3603b2f8043afc666cabec03bab561568751f3512c2e6367dba4ae3613cdb118cf4603816516d418eb3f0716906c5ceb06bdba54eb585389a151244f5d1ef6c51ac85d038973260ce0e8fb3ddc828827cfde34457f82e5f19ea66e3576548fd0c20bbaae00581f0268245ac42d7991cad720b31bade6ade4ac82ff11ffb5f351b7edc89af16d410100581f02370ed2fa76654336e84c94ad84f1879397112565c80333cc627d6d18b3c4410100581f02309838b1f0df6506b64eb19c3e7a90ae2200dfb75f0a5252c7b6df62d4b8410100581f02dae9273d96ff86fc7ad3962612ca1e9f869265f19b422e72bde767bd8726410100581f0236870d18f32a11fea0f144b021c8b407bb50f8e0267c711123f454b963c054beb5fc579115071764c7423a4f12edde41f106ed0219ac08033083f95d561de3c3fb5dcecbb20473ad2f6de82331ff93183b6c2429511c0000034449537182acd8e40b38eb0b6387e1440f97953651341ce902e59d117715f0300334e2a3863b4515f92f60f09bfd611102325b0524226f2adb3c7bebc1e39399250327c37648203d66f2e31a25fd22a1ab9cb6fd006040c410fcbcb7724bf2fac6f603d5e3d100ebb9a514d31d0d49e4456a31ab6a9124a000e831cac564a38f986c2303fe684b8d4b77055f82e90bf10ea8aeb957d3e292968f83af0237d59f2642bd74036d8ba585b637f1455c48af025bd768a226eb4a81c4f5b071bdfd3c0c988a598903c31e84e8144ae76915bc75a853d6f84cdb4d4ef2cfc48fa970a817602f7119c20366606ebfb27a9434af284d59516a62f26b07f5e3cab2c6401f9f145bb271da3a033f4388b864289b6d7775f4d27153bf32fa68c0291bb9dccaf43e810bd61503a90337f9c78a349787ddc1c4a4f22a9e5571811833616961f0487fd060d4cdfb3f6a033b6cd4fafc3f6f175bf62f0ac122056ceb3524893dbbb21d22779729913379a3039db1a71accaf4c82a2c1440ccf4a83a3cd721cdaa65bf6ec2c5b12604c2ff76c0366b32d8359972ffa81034f7b8b953955ca2b165b0ef10ec0dab5b4917de529370219ffff0374ac8e1ebbf478f11039552350e129f8749b3bb430ffb1515f73e0c5c9aeb0fe03e05b0ca36f28d09b7106a6c3c74ad9e8e8c6a64b928e78be1f6c59a9a3c7b72103ae487356e87e2121900b96efab31b0fbc66ca88ab743e41d1146a2ec3bd7c58a030a7329dc4450754cc8e6f189bfd9a08c6e0d761a133006826425ffc15e91b047032321eb4250cfb4a93b6aeff740181d7c460364d4b8fd457df102d109c2f9a6a70328a602d39aa7378cc3f8948238e54fc861ca3d5c5bf19b035a463b5cf1eee2d503fff41f626625fbe40a753c074aa344ba4a0f1b4b9395b22ba6b588760571f868030958465bba3b5f216fe6d24bb688098bada9f983b86aa187b8838e3b179d39350219ffff034a824f1aa4fe6caebc819f2752dc2abfb404b13676aa3a0f199acce2354e40cb03aa5ffe9b2e4e8888c23abdff6cd5a8fd4cea1878fb8a62556a0289e372e2279503054e2efee18763cedd2410e19cba121be28d5c78b0d2e0226a7f2c496219c4d703dd58a157a81f1c5c310c4b6b15bd9e81c081334c51cb6a205dc619a1f463d69a03720c41df2b6c4ec0c5a58832e3704b4153aa34b267046d125ed9753d3ecf4cf803c6a0efab7fec05baf4d498c7bdc754c3325373c6f17f56b02cbcc05b4a6af3670335e3d73cc01b206649c2ee5fb0331fc9ea251982c38be96fd944e35ba3786ead03b04b83963f7af5fa4c853512651f8b19a791c42f3984a20d9ce9f91adcc22c240390b6ed62deb1926db62674b3c9c24bf0563e1e258b41d4cbcd8afca2a1bb32a50348eabeb90c712c7ee28d3aab07d50a41673c095f98a16b36dbc716a9be31ca51031d223fe025c991f1c09cd4bbeb7b0ef67148ce330a3aa0261f13fcf12e3e0e890315f10846f5e23c6c7ef04a87a4b1784f8d1a5963d57756e35c585538d1fdc1510377061eb6763f1442e884522c0a64e3b6957e36fb0ffa052e2a7772b4e3f6e76a037913d41fd87bfd1d286587c7f7e9151b260b57122568a1b7a09791d6b1aed36d031b1e4dd062d0c62db94e0f2205d6485e2d665450cb2e7366e7926f643c5e9fec03b8cef8f07d41440a6fc95999f45d63a101001279e0bb41976c51b2c17425b06d0396e0f056eee311d47192257b98a9df13cf7ee4938a46d16945a62209554248a1036c34071fb88162ff87fea903157616e33337805e80618803642e1a7c2a61ecc500581f023d295974a7cf3c869525dc132b3bc8e18d54df10d489d1bcbaeccaa23934410100581f022fa35734d3e43d44f34ca12ec7a45dbadd9926a8166103207eae5bbb9a7d410100581f028b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e4301df8c00581f02759144af629634dc2d2b5f3411c3f6d5a0ada1872fe056b96688e35f4bdf410100581f0281b8fbfb5ad5e470b2c3e74eb0bca5bbbad5e114eee23d951959f5053253410103df8b3355602773a8d2930de6cce3891d2b2a56c81466d9c32f95a71b36cc062a00581f02f702ae4fdae1f2d746c893b7d82a85bc3aa34f5fa2140a07f3887698112f4101021999da0388b9795f9a7183de41c4194a24a4949f657b18843ab9c4d45b5c1f5be8c746a703f48a84d15d46a053225297d24a092bbf621c1ea67496be902f7362fb324db7cc03a70acef4d1604cc58481eadf14139f63701bdadfbad275ca1e543498073f1b6a03c85d181e25a01501bc9cee2b552b19475d4a06bb1a4ceb693a8fe5c320c7129a03628366a785338a46524ee010b7df895d1a933faa51af5d61f7b654478493ed1903d8896fff72d41a2d4467f0ae306abdbbcb1384d7e4652974eef81e8337aa01a70219ffff034682bfa1a95b88b148b68c180d41d1abf4911161d67dbf910d8bc14f7c85b89c0346ad8ce779ca6e8540f4b6be4f4dd953520693ed06869e4d9a6c692611bd002e03a6e092d9b25523ab00bf82e5ac63e0d41bd29ce6dd866fcedd78082f9d4a867c03f621e5044de977ae9954f846ea1dbd4eca4b029918e47cb95180ba9ca5ec82d2037da7716d21d7e19759801246309736579c1633ce978dbc7a09887f3519e255c603aa67459ef2ce5af6875f7b86ff9b737467a336e736e30cecb3ba011ba33bac7c037242c0b257499fdfe97161e371836c7dce7519aacd0536ad2a608768e1230bec0372bbb599c10c9677f54c8fdc7c3f0db586d772c9a4cbc94eb3485174e203ae1e0399f2c8cc9df2e1472289774bf5ec4b53435545631551dce24eb1af810ab88d440328176363bca8bf4de0f01bbff6a033a68466767f80ff3a72532726509368775903648065eca435d55fd4e7f4856c760ff476824bf0332552f2635d5be1ac8b9605031653e3939f4327d70617d649151dd9927734de2a636c58167ed7806adeb6210d0219ffff03160f556ad49d04df5510637918014f0e2800a09d1251e689cc8279cd164128d603cbc1a4634ac2366d6014b911fac5e023fe24dbdc4e4b94c1e7a57be808db93dc033340364da619cfde97c3b5be871892b848596dec39d462b35f1d25165e7a8d860302fbea88e5496f8a4c7707d055046058d68538af6be5f5d29ad462e62fd9aba8039937d3ba47b80ac0899e5a2612e78b07e3a7deb1a71ee8fa6bd135a8662260ec031504f7bd8130376c8c14577e4461b5cde43fff92c335a450b55723d55a7c77a703d500f2ead969783f31d6b8faebab3f8acf2c8ad6f0660df29537afc419714ae700581f0234bb0456f9ae5247e95ec216d0b52665be38b6ceb1e7b3d5b517a4842bac410100581f028c74f38849ddfdf27d2514cdcab3a32bc13a9641d9e621c8cacb57a914b558204f564d5f4c3143726f7373446f6d61696e4d657373656e67657200000000003403d9df7db416c45ec5d6a12a7d8f841408d759cad467ab6a2f19f0f556344713ca00581f02a406b5110e0b7deaff9b9955d5f657ad8254a91b9e83e37ed4c033db0048410100581f02780460f8a3e66173caee3e68e84c8bd635266a8a09bc45d3dedf9195eb89410100581f0273a65f625710dc9a286498922720f3960129678a765174da94c4daf9768a410103d6fbfb05131c822746ba40c4124f6b8a0cec02dc54e91b94fe4a5f21cd33098d00581f02e127760f7c5a657f433810f8dd9053132dda3bafd01047e81c2541124bf5410102194cab038fad5d948fad17c0ea6304e355b6d003bef866ea3f1b45f5a120dc78329ce999031378119ce758337250dcb70f5d59bc33a69f9963e05a26222e8f6a28907d538603354b9986b4cad47386189dc43a1f1c46d8f24ab3f6e13ec42499a3fe783cf4280335cab26a4c4c19d6f6368e538e40f528005edbf582587b4fcd0eed85548e180f0300c4b55ea7638c46d025eccb2ba7152c09fcace38129136641cf7ec64ecf210c035c24de6eeb3cc5de647705843433cc427b1a23d9c8ffbe704a29bc8733fe0b6403712f99438063a7990eaa01d9383bbbcf91df4de39b6ed61bd0d08c838b29b50703983fbd36b015c98a77288f58905936a4b680d1b581ce8080501362cb2278abf30350c31327d003b8729c2f7c5388dd881c4e550fec488ecc4fd6bcf522d2af00a2035bbe9a262b1772c43a447dc6a20de62a0fdf0863badc18bb7a10a7c0e1e2f73a0361d75d4903c02345b41ef853804d0e3c7b611b6ccc4f224824f66a0183e12d8903e823f1d030b6096c7f6aaae3a38242906a78840afba9ebb54a7814d9d41aae510387096b1fa30eb3773d04b4097330fcea40aac68b5d38c9fa702b22cb8dde5969032a3ea903b4fd857b9d2f32b9b4ee44e79e9cb42166e0e960053c559558d52f9e0219ffff03d842f9a5010062dff65a815efaa1d47523d4450b4fc5c8bacc0d2e31ef2f1be103b03c706d95e9768385404ca1fa268725f9697cd0af91eeaf144b2684c7bbbaf903d558b649e4117cf078b392c6d2f2827f4e3bb6b3a1bb5ed3a9724f3a3540b8d003200e9054cbb4a3504dedacdc6973bfa40c8f549cfa9718fc9c2f7698465468a5035a41dd618995f92ddd3cf80cb2b216e9f4eedf607df6ca30742b54cf0d31c3ae03f56fdce2437b1816f6dba01e732e316615131cc1f6348212b7de3f3fa7c362c30364f3127038dce1f2f6033d18941edb4b4aade3f1a7d97cd6a6745150f335b92903b3a5b86723a6e29a59b6f9d028bd27341eb737c600ccc05e6671a2df2bf5f0f403a3dada20c0e7aef2967f1067992aa1f92c7483dc07432bd92e6b41d35adfe73c03b772f6d8820cf649be90636478e0199d9b1205844f760186c67edfc8d9c93ee6033ca2b9c49712754fdb6adb0f3819f140b86594af9846a2c1c78c2c636a9be87103ad9038199c57c75da48f4977380bcc3c4bce9d64627a27f977b223e6841f3a7203881a888c720f214c71eea7069b0550961a1c1af5b1fa832216746455c60ac87903ce10d75a770831b58e0d37ceed8975272da5380aa08fa99fca319b41ec36a7f803046288f71ac81706be8178afeb306d134f6ce5173991e62cef2d99d1c1443a5c03c9351865243cf6a9fba25df4839c7fb6c494f99d261eaab7524f27a5cecfd31a0372147312dd45e94d4a06949edf14de882170e3217da313e4a349994e93600ab800581f02b7f74d8d5e3c14f77cec2650aaf3f20f8c689f6165f3813da6306e95cd38410100581f02b2813a1fd6885f3fdb1924daebb7901921c616382fff6131be65c31670c9410100581f02904819009bb94a066719831741fbc89082a7ea1eb97cd39dc066bdaed34a410100581f027f9203c384f02d876f627686188cf9df4296ec3d9ff03ce616b4ebf2931a410100581f02d0beea261b40b76648c9bc4f695634ff763943f134ca6c496fac3637adb8410100581f032b3461afcaea874fe3d2b98fa00463e68ba924b749332a982a0ef5756e70410100581f03954e2cfef495862221e91bd7523613cf8808827cb33edfe4904cc51bf2905442000000000000000000000000000000000000070219240003a26b633c06a510663ee9d51422c1a30a8b0d30922abe30694937a171ff1c98bd03b00744a93437bd6b26e00db9a4db339616bcb0715cace1c4b9b5600803d78e7503715ed8d5e8613c5541c34dca70025d5255bfb690a5b7b13c5d2e130e893c455c0318417249afe94b37dbb52f3ace42ab322dbe960d9238d0044c40b0eb3357d6b400581f02c748102213606d9e74211faa08ba3c1ccf521d6e0b7bd789875be94564e04101021977f203884a646a0692d9b2875fe18f44f2ea8287187c624d8c7f1b6532e08467d8972c03d0ec5c7dc1c3d333a99eca7e6ce7c13928543614fc46fe671251a7668345d8e1033643ccd98bc75fbd473397652127573262d46f648f6b9ab14a75acd90a3a08f60313a92997d9ed746c6bab7e20afd84facdf8a66dbe4fd08fbb3b7c86c8e2841b20219ffff03ade5cdd3d3a91a6e1d52a8aaa24a93d781ea13623108864c01624115087e60180349a1ba3fdaa3d4bec3488cc366663f1295a210dd278a6774e224ee7f13861b280398ac19631ddfab50657decf806cd1699b4fe20f1a7a27425adb74e4266af1b770219ffff03a972b8b10c2296b47137c90bad8dcb12d102fa732acee13337df34d09a46b89e03e8ef7590b707d4717f7a26fc5b29b9505b75c99c462df5e14581fa1cd72a452303052885f094385481d011e2d96143e6d9e1555380a3940343f4a1fb34be1513c803705bae9a1ebea40cc4e2c879fbc8ba7285cb9ba35e67831330002344b7f0f13b034fed02f306a5ceda3391f085a7696a3f4e4a5b863a07e5b5c922f6f431574e860364090c06951f11b8cf30776daddb5b4de9c11bf7383fc23d9ae5b405c960eede031f638fb71bc5c830011d215700246d999cc5f8fdfdbf6024753388b4aaef538703f8540b6b7d7ea036cf83eb9eeaaa407665022edeba8a154aaba6ad5a0d7862c50330c15b7008f4fdc374c667b5b5538147228007b530c8e1e18da5d9ce013169d2037ff73d5077d7f1fcdc992f639abd1342a4bfb7afe07c4f7426f79ccc0746cd8c032c1a9df61187a11ee35a9bffda6f628ea54b7f9aceaada4e698c2d20e6a43ed303657acc60a97291dccff798db07f281b3d3a7475d65645ca2f7f705c790049b3a0388584d790f6afb386ea783cdea1b89a2d868bdfec7ee2673984e0a7873f58bc603c33409796d95a140a2f35009ef1177c48df184a9ffbf1dc361b1a6635c7604f603a511d92d73a9b83069019eb37b2c5ebf853b05db4f470eef82f2f1ca7bda04e500581f0210d7e1f7e9fdf81402a44a31abc5633455c1c7991c1ba50844171587d390410103817766a02c10b9fb7a190c31b8ac9bd01a53e8734fb70bbfc77808c07445f8d70327bd5dfe57ed83bb7e60b74ed939029648e77d5c6f09def4021d5071078c0ea60350e048e0c138ec253fb15380d37639b711dcd420d8c0710055813430c1abc49000581f02b0f80e45fb681a56dddcb299ecbba441b4c95a38aece2db62ad1366772fc410100581f02bb530122d4382d729fc96b1280ace580633f940cc38674a90c70ca41d4cb54de1fcfb0851916ca5101820a69b13a4e276bd81f0350892db917762168f3682ed7dfa69707de6449ec5e02746dc683003bed2304f300581f02563856cb15731120207e05d4fea8a42d02fc9da63e4c886362357942b5e9410100581f02e6667765f5157b4508524c5ac16d4b903a7ab6be6d734c7f1343f830fc4f41010310546deadf594f36de333d5564ab884b68c9649de96ad4bf84325f45b18c4e6000581f02de91a7df98d9eb5192adf929991270f0ad462ca2997c35022fc0e6a8ab1d41010219d7d50347cb18f7b980f4f57ab1c148539d04d44bb3eeeb09789466ea3beab853638bb3033546ea51b67eb7baff92ceb4838d033de91847eb09e50a38bfaa14c8f098427d0337444237a08fd5327d938f08ae54e1a51a9fe046f4f8a669d80be5d1123c678b03460ea23e5ab1460fb6318414b709543f4fe7cf287a2c2bcc759f65fa7d7fb501036a3f2923e2bf334bff3f9656c1283f288ca4793628b643b77b18e6351301ae6403bb7726ec22ef3a9decbdeeeaa8912fd66c64d13dbd1a1e5b9fd8984ee34a0b2b03ffe0f5127e7402afe8f18de4293e64d20c222c5c0cac9ad3a61aa4b56b2195c903fd194c306baeeb50602acaedb3073f20b0da8eb7389aed6c2b4639abbf1ceb0503c5c0f9926af3a0a5b22260b162edcb0bece44d1b690ae16f4cf6afb51fd827e6035c0c671d221f67511888704a2c53d4eb0867b12ec1a450e90c39fb0101d089c303cbee586d2261a081525ea64fb0a2e45289e85422902bdb725314514eb76824a303fbc5e5e8c96b7953021a132ea8aff0b1d070c4eb47ced04a16154b84c97877200392c9851fdf6666a6146409ad8f518b426dd407eafa6f610f024069fa151b318303596b78028164c619936c0496687dc1617d29e01334ef1f8e63a5dc3f5faf4d6b0393cb939bfbc450689f68bcb59b35777226454d1dcda9e380ed9ed6f2b6466fbf0219ffff0385cca625f2a80fe3ddce7dc7315b3ef1b6a7c901956f6d1f26d7039a825258890219ffff039fabf27cf30334e6f18456cb5ca66ec1f43dd2613e8d0099d0dc114a807bda7d03aca0c3b9a5b6a611ad9e314f369a93a16bd9f0e28def8d82e3367c73375b55d003e87df8eec279efb36280d3fcfe8fa5fccad9ff3dc98623898bb4c7f0ad860b6a0219ffff05581e03619cb068729aca8efebf6a5a62a28b8294233e6deec3af452dbba40720070119022405581e034a64cbfd210d2c2f285662e132ed4af804046a7ab787a15a55f12817500c0247313ce512a5df6005581e03094793545fc4b214904ec47496c4deafcf62305d4d42a3ac329dfa2580040905581e03427103cbfe42d58dccc336fe3765b15886611a7ece17565c96a9830dd00c024686cd7428b31005581e030659472940870ce13cf038e515257f31d732bb472a6613266697da67d0040105581e03d20932c8217b06d919896f622643cea559a5800e20b3076e37296799100c01484c6c32870dc1000002193afe03a6928309e33a58ed87a68818bbb996628103e0b526e7b1d8f72d1fd570da0874036ec381fcbca54d5a05e9f85380ea6d29337d6e47a30c0564134ccd1e3c99cdc003f7ef60f204457f63418d434bb3fd25a74cf0f22827ff597fb69d47c35a6544de03b3a3db703bbcbe5098c9875a6ada371d378d7c05f41f9cd396b5ff1b1834bb69032e5bc13270bdd1f7f5d7de509c16d9e170f5310d21da52a1bd9658c7bd9c9b31039a63ed569d9b35f9547ca6ce84be967b9062a7b118ee3f7bbe2f00c046dae6210219ffff035ba8e8a4628202514290f945655bd9249fe9e15e97a35ca2b6b2365691a858d503993e982d4c779f8e0e201089930bb988cd7c3292103d97b623b749cac4e1147103d4a80b0e4d205573eb6140a9036d688b20d5b09b16c54e11bf4176f0ee3feeb103aab71569bb6ebd1945b6cf152e3d389302d8c6206a46c9a10f4177afc5b6cb2d03036e5aacc8a6c1b681f79c8c41ffc49d7044fc78ed942e721c5c7b0fa9ca951303214653618f6088cf96a2465db59b7a9ed84cdadf3981b1343bec5628af14135303514032615015782b462c1560e969f3f17748e7c176d230c3f86a4e6b413524e003fb7d8392d86f1ca089456061cf2e2cbfad713cd38875a5622070f246a2d7b8da03bb5cb26f8a68fbbd535f49f1590287b42eb9edcb1d8c10ffb00cb21ae8f1a42403b85351b090ff1cd3983745b31d0d244898fa4985173983fabbeabcf3f7cad4e40324d8e860695be75a1a70f09fa1929e00a3c81f157b6c17e4b215e2b371cbc28f0219ffff037b2fd16383a0bdc8d1f0ac6be9c0d4bde580c128add9ff29ed0d9dd39a989b4d0399e69e1459c8885186f4672a31969ca0b611a4c5e42479324e85fd44b8c20ae00390a43697485997a3af5ec448a83d97d760a9d838edccb89e15a890137218650403fa899513755751721cab17f5f6a354a9e7afb1a07e69b64a7d17c677aac496e203711eb1fe64a40dbe8c5d62004e215609f23cd40d6e60c4bb13a8c4c5bbd1561a03758af296baf4dd893d3eeb7882f74ab676579b3504f0bde87207ed1b1286893303a695e5b991157d50b756ceb35334464567eda3bf3b8718baa30d2af1a6efcdf503ae3ef9cbea6bbb5dad19ea30f9bc738f001534350562fba741283b82b3cb0cde032ddf85ef8e5c6d94ac562d333833e6951e9cb17145538be00fe1cbff701a5dbd033e547d39b166dc7509bd5406a3a84196f81f6c305f944541c6f04492987a3d38034d8b4bc59be7615963a9f923d50aef31cd41073910335506b57bc7821c3336be031dcfd9050d9fa52c93d0e548f531a998dc4739e488fb508f1c98ce920d5c93c50364119db805f731d9330b3d53f1b0e6114e9e74b2b1a94c9b73c57d47a1a880b50383f5915b0ca1dd3e75c715804b1853aeb32836af1c596e35ad207161ebb183340219ffff034837579ff546831715ef8ee8fd827fe7fdaa260a78daf357fee3e39539efe367038fbc4bd69b41df5a8add328e5c10f063de8a576284b0ab7806ce7edc9c3691970219ffff03a4b3f2b22b19fdc38f16da941f857b99dc13c472047d3de895371fbeccbc1d470371505a97d18e71c803c042f2104343d7039fa279958ad988fcb49b02ecbf22cd03247f267e418cd931530adacd594d4cbcb230390b0ec8c0b91e0c316795ccd1e303cff3fb74386fdf99b9873eaabc173663a1a2b828fae2fd84dc6c28a50106735403fb2e0f35b3d0348f30281cb0ad7abed691e1366cb7ae8eb9e35c08e658d040e603823e16b1ee7b50978ed66a926f7bbc881f339889f67e824cb6ff04828786f79403ac421fdee6aecf3ead7c54dd3447937838fa731aa1f1387400d39057dec27b7b03dbb2bd92cd9581352b003672220d71eca845ad8a785e6579bba2f54496073c3e038d9627c9ed8b43cd30661fa61e4154a46a800f8f4d9060eb66f41d640ac10ef2030b9ceba26196c5a12a6294710e4e8d46bef28e0015f20fd4d92cc08e216bfb2b034065b6d8e4e6bec03e40ae330881422c3c49b2ead2886ede2ec503b5f18a9d7703f2ab63836acfedcafa5e5037805103fcf57637eb610d75f17c6b721bbf9faa56030f882e7a5fc12b7cc1e48f1ef8e7fbe180faf52c712c3a079ed7c17c9bc5185603f3a1cb92b5f384e3f73086b0edccad7e5f65a663739028663b38cac90d0d569f03ad60549b79a2a4c55c0c157fb9bd377d463bca618793aa7319f289c8ce3fff32039a5db07e94a1c942a3b5fb1549f168f562db114bbd58c9775fe4da9a30cbfc4f031be74e65f35381d16fe4997d17801b64b752c62e17c90b4ec7c2f46360767c0a037b1c12d35d22f7e1d6d993a1bb857e95db9ffc2e6cd22f1f2e5e3ad0f81e268a03ae687a702af90178ae98e7f9deb79e7bbf0a6c65454b214f3fcccff20e29fabf03e3f05e79c20ad15f9b60cb161110c2a6ac55f5927d8f5c4fb201e05abc68fd7c039bcd2f48726f898ee3a7bec4cbafb7568fc550e97b04819c0d58abbd2a45b5d303d17e8c95b934c1a7411dc94f3d6e67a0196fe05dff129af1b85c5c7a162a6faf03e3b5a09f211306b0c37fa18dc46a8a997f13fb04a9105beeb630d1e812f2e7ac030d6ab1306e323cdc10eb7ee19cf32a170446d44f4a6b67fa5fb8ed5d80a7056a032c53e4633f67dd8f1cd3b97857e2fa1888a08113bd4ab0ddd9f3f0667b75f31d03b8e34721b046e74319102b8ff646b328588d1b84e72cfbf186041c88386412f203e0414af533edb23b377e58da622436a7e1bc72da8005d38e7403e9c796fc8d7d0354fdd1dcf7c140089c99e10173a00bde1620974e76caa85b89c61386854d2e1e03a4fe5ae7bb248ad34f6d6c3cc546f3945bcabb9ea6832e5b2c126fb2948d37b003bf2db1b6c6d7c794bfd746b35a3d94409f7cc8c399e7120a0dca685a43861e0c033ef1123618d733594d9bde1b472f2695835b273426ef0e82d2901eced8db7402036499aa00f5cc368850094bfc120b9b888f16d1b2882fd29bae671a5c415cb83c03d27584f834991d48dd9d39eaf146fd21299f67af62a7f0f8c56f316b58c812f503c22ffb33a73ace056ec28dccf8f19920c8075a47151913e13bb76de334454350038a40fb3acff1bf64a8ec7aa75d9849c3ecea7a6a315f5266bd19496af339ad5f03c892127d3f6cceb7c41af2f17aa67450342f091879adb9acf3a7b5a8c1035ddd03cc4580320cdcb139bac7e937f94b88bd3bb6789b4eced0b68d34e3227f2885f803d75011ff315b670f0aa99eee3f548ddaff22036ae0ff9d9a72367ff2e86d065603fffa2540a1573b228956fa86248745aed31ae6e2c983714f32fd9dd7fc58c36a05581e0329328c87be9836183768908f30171daf16714c1f39a360b617bd23df400c0a4629546746ae0805581e03934cc196d443b1d2c5588f9fe55fa70f673923ac0eef128d9203835d500c0147c7a8357a0fa80005581e038bc60869ca403f3d41ddf8575cfa5be7785783dfb7dccc395b1ad999b00c01470d35cd2acec40005581e03d4abd7a5e810b20841e6aaf7fdba78949602e371cc5ff9aac8f74876200c054702c0246afc0c000458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff015500038622caa5910acfd4754eda2c0c79d415e2c1b2fc7468b608c968a2c1ece982570350123070f19621090757e55d756c62a676195074784bd249c83e6211cd21cc2f039ab3729cd5ff7318a43dd0bcb3dda474644da294d5e79bdd7612c34ba826499d035ba6ef040c5fc0911c9b31f684940c806f407c603fb5dadfee08fa56ec1d2f4e03e29f2df61b47e3cdd33a85a6d768316f5188c5101311a69df381206a4da33d3b0398fbb29c37ea459151f8332e8728a591cbc25421977e62f6123a914edd1360470379f01e8f117e43bcbd7a761d730bbb4bc0f6fd84d1c87e8ac37b16fa65a81b4e033cdcf1feb0a5da0af9edaf6ac0734e4264a62fa32816f0513989926e05e3669e00581f02e1cb2f873a3c80e96f6ab774b6cdcf63edd0b2767423f38b436f4957e0ed446686b1f300581f0252f7114fb63f549193057c854820da7b62d8eba5bf2a9387fb7beb25b1de446686c6b700581f02130ca0ee791b04ba24274d790fa2c65819ee77bb43123ddb2950115acb9d58203da6d95672de979eacb0d6f670f935e8e15a265e131f065422210e63e6faa06300581f020737bd15911b37934cb800e99937ac3f826fc8817a94511d1148ff8f3d145820d231d40974bcb1a8f0893bb36d46389f59e9e399460530976b384eaa81b75b380219c208037bfbbccb7a5e8c9f9d2396e4bf69626a7389d1f7a4473d62e154b989c96616ad030955762c1676930682aa900fc5a97024fd9571dd08bffd8c606946b1bca895930399c563b81f2cafcde826b5a86205e79a29fae6eca2f4e71773b72f1b190555d503ccf1a0277eccd2828c7fbe492e6962979782ad5da2773702ba3e064674c420b7034e78de4f948ac484f43417f0a524641b9984334c0b332ccd77e3d51428143ff703693cb5595e82470f7adf96f28c96792c2625bfd86ff4981b2d56f8a8642efe2b03e7f039c87d570f585437beb1b97e14f5acf9688add83a7b27757746a85b0cbc30331e657427763d6243f996017feb8e66dc55b76280cc954ef99b8c6b25d6ac75603e8621ae86ecded4bb53df454a88c4a3e85f899d09f445d98d0a080dc3509a6a70334fc060cf66f28754bda4eab41c27869fecbb12fab9a32f60e4ed82455d1ac8b0370dd732b9c0ee2a2c1f91cd4f99dc6b2769c2c6af1c455bcc0624f78dc240484031427a3a366f6bbc9cee5511a113a45bd7932652b0e9c67bf8d101b3fb5d7afdf0219ffff030c2603fdc29d3c8b84b136976eb1a1aa1b1f6c699376fd8e4de85aa8445fbca60339e1790bc57f0da4749793409e45192f832f245e937f633f872e764bb98e598e036c8df19afb5400deb0e8b550d717c2eb7afefc02933d6bb8628007f8a7282b1503968a5b783459d2d9ceb6d9c3b7352c6f0bfd7685a90ac104a99467ecacf85173039a5ce9c0eb7d9330460afcb0c57063b8c6d420d87c60c938b56847ba74ba2c2603ac48a11d13591adcb5bb860c06a85901720708db523675797eb5c9710e00fa690312bda2a1cb44af3289aeb66a179fb19a53ce423e2bded953b088adb07c13c15a033c2f12a64eac465be385b1f0e2dc518eeb14d9ca91b25674e53a5db2dc3462a103fe06563621c59efae7a4a11aa8b3b6807e94931c9890b0a089064f9e629b590e03b320a0bf1bd7bbfc510e0500f57be811d7274379fbf75621d655b1f48c0a6b84034a42875aaed46970b611d51a6f8d627e3557b29618809340ccedafbc07550a95035707a55727daea04d143782c9b6534608ecd26a59af81cdb7ff34fe33fc1f6d103ff8919c35d827c33d3d6b2877d7ab9aaee2753b1baf4768def87fdb0c5c71ba303e54f46c4c59e95b0f20be27efca4bdbdb68bcf0888e6e0160229ea4e5716ac560219ffff0317392cd410f815d131e2b2f98c8fa312e70a8846db5b8dcca03114eb38326596030d4945cf9cb081189dabd634aacc258bfef2524cced92abad6be896f4df50346037e13d1ad9f6e093f8eff477e2ace5e28c823065ede25888318aa2db203a1d2360392c2f8d137c0040d671d1a5dbf9ae22923452e853b7a5b577d7b92abf9cc0bf8031b06096d68dc00314f62c0a8b51fdb43037cda97f222caa9461ed86b55df4c9803293ebd28e6c9a0c210d3c9759e1018e3a484f9672e83d6e5f480dbec54ed093403dd441295e62372896599b7e6bd868a90a02309604366bf8be4c5a717e90ad6140389c487584a103c16191bd47105372e5cf8795c8c198218fc61ad9681f0208c220373d367e26d3b6b85d28cc5ae9412af2dce07f7d85cd9a2ec8d09224907cb57d5030397012e0890182ace2b03c4acaf5a4db1012f507e1b4104994d1471945c47fa031eb6d681f56543b234cb61246e9207d780344d916690c0a8a2076b7abcf15ff803f72e7e2b3faede454b56f62a344bf24a6a3152339ec46a8912bfc1a7f9776eb20325876dabc718b4d2d323368be00d8c792691fe7ab5c01f4fe560c0f18f607eca0333424dadba87d7d90c8d7e3a141c415516ee1ccdc0cf55e31bd6c5364f4790e2034488bc5468a3f7d324b9abf6538efce0b9e3a381ea6e436e56a74f1485c74e4600582003c9d530c21a6f70b90f727e6c3fc056fd36deb865fa4841c2f7690f1e5d0170446686f78f03cefcfe58c5d5ade1ce5d99af482d365c48e710c4af2622f2ade67d88049d5acd03b77a943ae771dca88254c035abb8215ea96bcd11ea7dbfcce9af6fd43b0cae72037b814a9d5fefa28d21e0f76624c12cb3d3f6d7aaa44a003edc9104c03db7b2970363726ad6663380dbf59e4ec2229644e1ef49cb2fe1473e18604a9d15d8c2f79e005820031d6583a1f4e7c8d3f79c321c2b47bdd298e6dce4dfb5a985d6523e8be595604466872e2b030dcfe901b6c30cacfb9947e7f831cd78e6d10a1622c2b81854dabeba0d72d69f00582003ef25b90ee1febc0d3c2ede952846bf006faa666c1869a3a8b16bdd4a698e30446686988b03b42f040ef522430d928bfe2eef40faee46f3ee5c2d21596e811c46d4f0f2866b0393e9addb4041d106f6131256a67b8e61c556026b3014c1db13b26728b3dcd4d70363a6b1fe3e91cc864f9fab5d7ad5c199fead0f085d90bd92bb780b9d321e4a450319571a37b3a0a015ea8dce943b95264a4bdbd167e8233d953ffd4d691bfc956900581f021c950735f8842cbe98c1894c5709a9596c5be847e61dbef8a5983bf038a1446686bd5700581f03e37ebbb5e2e7338d0fd8b4a01aa2a886e22c88ad2cc798b931779b8c1b6058209cdf23530df44eb7036fce841cbbd467e275412523e6e4b153796c55777c2bb200581f03839b9060cd4bfd3938890ee83afdda23f65c8ea33e3d547eef7fbf042d304466865b470219840000581f027e3b4a1e948db944f5475b1878949616b0044799930de07d1b2c8e86a5174466877be300581f02e3dc44bdc62f2d962999bb0550ec7d8e135393b1faab50df17acb97e843c446686a92300581f02bcff34d07e9258f53d7947e95c1e4619d29c76c7953a9dbec4ad24927e1858209b46ba94246b6aa501647527726730c6a2cb073ccd67e6be6e29a5c356019017021986820219ffff030e6ea5e8dbf5956145d5f134990da3683d10ecaf8f326e6643fecbb21ab1ba46032b7bd8a620ecebdd65643108231c320370180cbdfa9e542022e76edb1df4991b03e11ffee8ef77ed47e9a756ebb1fbfa06f2633f115225dd82c22ac40614b42724035d9a61e7efba87ee6ecaf20081b07b6f12ecbf1d07a144bdb92a2dd4f0160cc0037e0a587264502473254f5aee7c6ba3899e970cc0064892a95431fdf02c37538e03a0526329ee8a7d08ae2f53fddcb46c536ea86a7818fe13db6f39cf56ca27b7580386f9f8ed40c06d5a307c8215dfd34618f830bfd0ff87b43af361c03a4610579e031715dcec9c12ec61c5270452f85f3e2dff95830845e73d523840d086a3698c8a03149719ff16df905078531d25b1bb3ff5d96ed543c4667d0c22702da7af38e88d03301e1e8b7c931597a3096ebc9e155bb749a09e48a15fac497f2751638f37abbc03cb7979266c12d9aaf922ab4d0d5086ba98b7c548ff3bd3570d9430a2252013a3032907ca7e4dee03f85e363cb19a6e794785dc7dc8a9ef31ce37131c08200d33bf0219ffff031ea3185051e674cb260d4b07d289b2acc8525f4ff7c91efb6fc3f765334e33020219ffff05581e03a92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e4200701186103efc4a95eba2b0e8ca1e7050522d539fcaee456a9baaed13b74846ce6e9f5284f05581e0387d430445038d44dfe5f67a6a29f0e61137f74004f19eb39df5f6507100c134622a41c68726003c067f3bcae4816c225d64bda2118b6dfea311f19bc83bdfa92aa0257a3f4136f0219d595035d3b51473708235f94b7786ec3d9e1141cffde44d1b3c2f8f50735bc89406bdc0219ffff03744c3d9f9e8af8238491a4131db3804b75706fc2b3530e93d913312d0ecc894303f8f0c5cb87f9bea1092767088ae646383533fc930db7825aea09f8d3f18c823003920893268482e5579da62ba604832c125e3ac39f09282a57d32f2affd273a10b03388948d1260f5437d59805bffea1efe73766e691e01f13c46b00df15a1a933d0039b3d0418bb491f93dc231e47e24ba72bcd11c6ad8b853224c4a5db0bda3c5f0403f8065453bea1038502c0a1e1c67b3264929ab78a1fa22d0d32877025826201310378ab7f9cead2e9f293197d57afdeba9196d2d6c29492ebd1c9a7f005194ca3d103ee2d1f85156c57cfa96116da7601e2f9382ebe1a0becefbbae500f08248ab5c903b83ac232608aef988d9f40d63e0d2cca291a8ce2c0209dab2e6ac20598aea3e903d2d61a1c5970b521406572e1ad5f09bb61f6cb2d211892e89d7b7c798cb9e3c70219ffff034472e940a7007250aa8fce1ccf84c5648d01735591dfe3dc05e7931cf534af8503e2b969324ebab8ca7a5d1a694012978389a41c9893f4f3a18f4842b9723c675703a5865e89a989406e7ec35d237d8e603a82d03cdfd4eee2d5a8a292569170d8ec034e93d86a8fc0e0e7144623dda081cf2edd10de4cae86832c5ddbaa40b64805ed03f0fb31254c19a3884edc71146a4046005cdfe984a390fc2cc43498f8e006cbfb03dda896f3dfeead9874a4456ae4263b276d5e1528cdd8f1e60c64be09174689660317edf68c71f4b62e49bebff3e4d250ea2c1b95ba6936ecdea37a8e55fa099e48030c4487822b4daf91e12c2e494f14a5c3157fdfd44cc3e2dd287020a077b974c2038d7e8b55b9585d199b5ce9d18a5d70c7f16ffe8b16d53ddbb6590a3aeace19000219ffff030b418a313445db6e20b67599bb6fc69014c1d3412f2c08b1e4f0fb899406ea510389b8e966462eb3bd8e1663bee262ae9abefa0689b7e6387fcdf2837c4f7afdf80219ffff03ed57c13dd4a22c0dcc474f52b8f074f8a48e9a2db7ea271c80069ef37ec085ac03077f791acf689aa574f8ce3636e7fecb472608a0db191c7fa9ebfa0339aeca340341096ab1d4d04b1e684444016aae65196eb6c3145157eb5cbc6d8ba2e284d0e903390c569ab7043f6d415e10a2526bad9a98979abf98b89d266aa76db06ceaa99703690b9c483cd985c14a100770976609e6ac565c411d08a9e03ba886fe497986780316946ea1bf370e59225400487d774adce873b97b4f6e2a87a17de1710cd90c18032fb46fc879f0192bc4c4617891c4ea328ff50d845929de895efaf645619ec72b038f4e44b33dd1a41687d555a23c013896eab2688462f5524ffa3d8240f727ec9c034e076098daffcfff8d91934e3911d75eb4d7782cce21d4909cc1097253bec70b033d76eef7f0eefd7c8efbb7f3db0ff88187d6d6f09a7fba432c0f807ef41a04bf0305b6b57fbb388a8b2a72f56364c4d2f4bb2ec1128b90b85abb7489de7d26cd0803f956f23cf8130db6dd31cd0d872275c9908e32fa4fb75e2d2d1220b978e94f0e0318f545c0250c64db1695987359105d0b551551355acc0d7f9a6dee93af315f970375939d5924991688bb6d63b0f7842d84fdae5c1602ff01bea56e262d23a24445032230be88b34752ee61f44ae84d4a0bbafbc5a8268a1ae0ff293c7e6d87ea0ca203fb64592ad08de50fc0b99785b3c41249e7bd3d27d744daa7c91cc6caa086101e03199697a4774f2ded710f8c8e4736657efd8687bdc45cf96dbb9c2f4c8a9f2fac03d8afac146bdc5865956df5cab4cb7d42b3a530fc120f24dd8c952e27056125c2038b1a5daf5ba4b91cb491c22f558e8375553f8ef00b4ce028327d0f5bbe3aa56b038d76a0a98ed65046145f36b83b794c086f6a967c662395b56e531e3b310a854805581e03c1ec25a854061f337b87c80a6d20093fd748d326cabb6be6b9a5136620040305581e03f84c9d4dc76efbf0c35ec62f6de727d61ca1f414b7808d2e89cc0543900c0446ee0d9f5c35f005581e03686a5ac7f631a2217f3fae9ee4f7e16c9b19a48e55ec67fd4180da4170040105581e0324073df040464fccad08b9868264f884be305a54386c7330770a7cd870040203b2c1d43420bc03118f5ad9daa5a341a79d0f5311b0bda3884bc4759afbb0d9dc01410b05581e03ed866086b83f69bf8eb51b25269869aaa9f438e2c199fdce97e9d03190040105581e03034140d67407b488ecd2caa9f0db63a8867389154ab27e54eee3b95ac0041005581e03e985889e5582db7e36ab345612d2377097de106eeaa907ebb467210d40084746d4988ae3100005581e03521dba585402804c34236bf63e4b25a978e51131f5f590ea21382d2d300c1a0006a8c6490aaeaf9b862b2e4ea403c3896ca1cd99bf42fd06883bfa0cf1f7129fa76e9bcc44f53cc1929fa2fd173f05581e032dc8d00f49e9520d58144dfad13fb50be1d7c97a21158433cbdbdbeba004010374b5402c60514a84e0dd839f04ae36522a2ea7cf187ca6fd6ca0e36009c1402f0219bf7a03553ef58a0244c4a8f26953eb3f8206e4e04ea74969b6d1c2a0b7cb208aad900a03ad87991f14ce6244a7ac7f14dfba1a106d302247214348ef2f285ee426b1fa45036c4e364ec9d0dab352cd10ebc9f3398e3e15f83fe209e4b946dc7fd9c8bd233c039a939006fcd7f772d84c4117d7e531cff77acfcc8a70c148033da855c9a6486a03d10fb8d23371556e8f3ce6ba1f03bb33bd2693f2f8095980793b61f07a31014c03085b8a8db75f0a2c4fc303a1840e3f405bbcd004fbeaf50c9cf9adfec6be62c80219ffff03cefa949eeafca95516f56ea6007d917d5e9b3b2416455f6e53995ab21d33f77103a31b664784611d376ebd5fd2c31ebe69573e71b4d2e119a0c99cc6fd9fe73dda039960565664c961c65667c52cbe4ba9495ab9767e6fc56e47f80867ec862c9d28030b8c169db0f727880713244ac41fe140d4e0c6883b8a5025e2cf5f5d4eaf9e2b037fffab2fcb5f363576aec044c24334ec89770c267763b72fd95927cc7c5cc03803c89e38a1c913ba510223ea4711f26fef515c18080cc7ca7ccd6c246e6acd5d6603143ab8798b44a0b43b040840978c7ea4f9c266f9c768d19f33c0c1a435be814e038aa262d55c762ead27b9a301849fa83a7c0a84d50468c026688b55ad3a405d1503df16e0f2d2f62b4059172eb74e1cc800f4374e5f22b984314af4d411c5b513d0039eadb05c523c2fe48a9779593e544d14146c9dc3b26975817e7451ea00627d1203ac87c9be65bdd122573d310f8b3efb4344993204336bc9b59df92908c6025691039e4588b908096aa83298d8ae21acb48ebbedc1633e848c890ad571e758bccb120315a6a32630c52896f4746c3e2c817d17c1d093e6cdf30b155ea1303426db11d103d1efd301707b57d1f56938283a94d330c69925eb5a992c4c4662991888002e760388dceb2afcd9a2cc402aed0d47c794a7c2e76b1797b9940d257a0bf13ddac1950219ffff03e00b8ca01847b4c9fcc1c01f40c1644f0dfdf16ca5dce8b223f03040502820a703472fabe1e9085def03c6efb38a7f269bbcff5c625485e6d2711c901477bdc38f0352d1ab3f21f78d006b4e88e9066e948900078be2948a500dfd6c82251883d91c0350d7242c5639e7f85462f07cba23549b5e469d5a044bb062ddf7a22128ca3b6e035be4cdb98958245572421e6838ee8b3d38eeda9a73604b6120e70bf5f48c84ab0219ffff039ee680da160bd338db4a43decdbcfc3be2e65d64947626b13e84c97c3d89e968035978329ee97361bb301a54455bd0096e1712284d76f687be96e29a0f579690e90376ee6b3f542de4b8864b0fc4b0e19702b9d4d11eab871eade66d0b65baef98cf032b527a73bf82457ad7f484a60ac7995c7e854ab4b0862bb444f3b00630a58ca103c357df2dcd5b274be134d9c4265e750a27f41cd32575c68b92247d2e235675c403f65c42d2d8a10125011f2e9810c6acee8b8e531ebd69ac06a20b42c0dd81973e03d2e4a7abc47a735d1aa67ccfa5dae14e226d66f1d23bd9562ddd6040de62f282037b9e1a26bc92d4ed098cff6edfa86cbeb60dca7bc3aed99515f61383a1ef402603b365d92afc508aeae776c504be19947257654635a8bc52131fe4848744a8dfa003edab2fc29fb98256113b6683e1d1cff10a1808d356b248374839f307e7d0518903f501e5b3621ca8b0c53b7a4bb8dc032735b91ebdc4c92983513b5b1df885429f0359e8bc2831fa4da970fa71a2eaf4bccbe42d08db3a2b41fc05f7d99114cc49ff0370c8e97cebc1f7c79fdbb736de189a93b26297508350c5deb36193c8034cfbae03d4ed930cbaac9387e1fb5caa345d218547265236bd006dbd0ad2b3f06ffc5c0d032f01d208339686a41fd4f5b54d63d22e965702bf95e37e7e6386dd0c32c5dbca03181198a30af5bd0667e2899f25e4840b2f033623de7de8838a8d36b5933cca590377dec271f872047685d53eba7bb89ea8b47710e749b925ac7ded615482649b3f03011b367c1e2af5d595a4d4f9e042a7db02f008c70eda84d6cf92feffdece4a8903d122488e20043dd4af9c12e2f367de530788e18074e372aad06ebc7b7fc66e570383225f8576ddfcc0fc63ad6f8ad446c45a2d66957e6d35284bbcb0e54205e3a7035f0210c228d9c743b0dbfc002c4f0bc3e7138caa9c646010aa825500d985fa990313dded243a5658e8e67f22f38246fbf43df69dd6b1ae9b81db0ee5ef5d7c5f660340a8a50a47094d3e1e9d695724ede64b0fa3f18be43fa8f9311a08a449fa2d3403d1ad3392232051b63a39ca665a40a097f3c7cf1c9b721917f567231a8cbb76ca0373d1dae969f2ad929c50321c5fb2df9fbe68cf16af1488e6fbbb3bdde7508244030041f7287c5db6f51cab77c19f820eed82ff37256c7bb9e1a5f886f5c53aea530328bfe3b9ae1bb108bd1636854adadae0852ea8da5d5c7eebbc57f6760cefb02203b650f06e3ab11d5d81205631d5821be1d50ca2a14292ab56d1d2640f1fe64f6e038f0778a5ee4e78bd7b741751b930a0518f245a547113dac563a528ce39b8147405581e03eb01ede8dfa9c9e75d6d84980551fd9c4a168af10c8355b5412e3e6420040105581e0328963fa2108816a7d392c87c209e1af5689ac154c78dcc72733388f8900c190181472b09e65c5a6a4305581e0318e37929d86cb9d47e4670dcfc8a35a8d863eb4a98a020d5186298bfa00c014617e57f32744e032e89f8b5c77638f77b05602a8a7bba58298384ecc709cb48db61e23edd7a22d203660e07dcb04ebef2994fc42ae980a997501808b80d9de5a8f1a7945b1a4d6184035d60570e0f116ed1b6df4368180ae31472641e8fa65462c8312c5b113b78992605581e03bb5728bd979b9e845c7dd94d8d8c7fd36778a167442d1aa0bdc0ccfa7007011bffffffffffffffff034cd0dd00c734328e2e213ac1daaf36981d3aa907fac0d89208c26681885a181d0364bfbd2daef59a0cfeb71c827b640cb04a24c308a46ed34748efa246a5f3f233030b58a7fe15b5953897a50fad968efa756417475131cffe02c3c18f71e2f9888705581e03bafbfc2994adfcd2cd3143f25c10902005a0dc747949ae878342a247500c18414708aee55068ffaa031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0317f221f16570e0c6a3f2cbfa5132df7b06f9f0d0274269de26e313f40007011bffffffffffffffff03844d6865153bf313888c8168a61965e1879d0cabe2a39da03663fff56e45ee7d0219d2bf0311ddeaafb8881a9667822e8055c39f5105396e9cc3980f3a146138c69a99964203e66c4e7c9f3c82683aaf6d4daad1d75273c5d09f9a5200f053f687893b3c5314031989912d7a60b3f53316d1fdd1d7c31b7ab64b8958e65633b9461ef169c6671003a350036aff5360a000c664103ab1fdaef2f02ccb9062d31a963aaa0547bd4559030917f8976c5bbe61242587080a4b0b582c255fbdf7c74b9623ca4e6197b72b4e0219ffff034ac2709c2a113dfa01cfa10936c54e954531d29f43125496e58532ba94a881a10306ea22fadbb32e00d43e092de28419bf48e5b50b47b92277b99b6a14504148e403dfd76b3d55d2ccb2142d7e0dde9ac514bb4a1745aee72382c20575633918c7f70219ffff03c67b8e1c72b1e8738a195e11bea8bf4d8f3000c605c1d94cb3a72bcd131bc22303faa4b84fd68a140d81a275707c57c67299c1a7d440395746954b6d0edfa690fb031aadd0deff29d5d770a131db914ec254190317cc33367fa758e51a02fed99e540398d30a040eb92dd9adf04fdb3e6afa1ac02b6de48431bb474b5df2485489130c037e89db82ce68e5c204f03398b3e64f4a5a9c1f99d87ea45afbd039be38282e7003aac9670021cb3bff0826617f4d730be872dbef9ca89c69939f24d33d429a7b78031ae0b7246063ea54f6e4a02aad32b2547818bf7ada5ead923d4a3f76fd619f8d03b1b71f4f8aa28139806682eeec53994faf990f3e1acf1ec47c26ead11c593a33036b40c068c54ccc9df554d011685f23f6b32ae204b114f4b7b169f6694d98e62603628bdaa5b62d21f2f1b0d12e3697fce482748c42de7b5432c9d180ec61256f04033ba6268f9ef8959557f77e98cdfef4e71a15dcf7c54f7fc95d1181ed91fcc4d203da6e357bee9d5d017627278523ca688b1ab574cd71d51a7902b4b8007c3099510341eae0a7eb1451b64a97b3704d3d43305546048c89f611eb901ab038f85c7247030fbd62e508250e42c51f5923df27cbb04c970b1a85780d96f63470f35d36d85e0374f5072c7b8e4ed399a5b27305bf2adda57756a983adcdfbef9aab2a538db3000376b83cf61b0fa77372bedfeced937ef9eb56e7324ceba04a4e7923900a3932b90309ea5c5fee8702b3657bfa61fad8a8a3fdf26b053c4754633215c667cda48485033a88273bd089ec2f473b37833bf26cbae17ddb4660c95f1dac0a77971eb4bc62037a4abaa9886fdd1291d0d5ce9890065775791b506aa1f2702f3c0d5ddba1d7bc03938e5ba9ecf7ceb1acdd3d903be97fa383dbbb1c4531948405b9574a7531cd5203348ba9396b034361160a076064214320d9d73669b1e942f77419413a480ad18c035964b9c56b90a66c8fce49a04c205fdb3cb8a1c63c774a43ca11c01f2ab9c81f032ce98dda253321c31d9bb698f728d956bea093e58c2aff65ba8a4db6b073c6a203f8992799988d37a3f9a1b1ea55f0b4d09c0b9af9270d815bf2473ca4aec3143a03f7c701faf041632ce6fef84e079d2a4a3a8708f19902dec78dbc3649713da7b203595aafdba41b76b1da0b53a21f1f7282f364e9806093b0875a50059521f5874d036e79a1a7e5c7b2885e1b84b8f84ad1f1d14a0f9c708fbc4241cad9bcacc24aa803515c2a16251ae26af845e836b3bae76477c8195ccc52738251da2a1b0725128f05581e03a33f544bd4a42f78719b9ce45a00bf2c39c8729b1eca4acbaef5ffe71008480dc7c1a0fa7e680003f9a397db310dbd7112046ed9bb1f952febed0d9c907188473169a3064294be7103cf54bd4dad7502d3693df84c06af83a5494779405e96af715a11ddfc833f7664032dfa0f22711a3decb4a8802c6264ebb84f34b8358fee6951c14293ae8bfc6ff2035d932371aed412ccd0500779597bf6b3b43e82204eec745ef153a35452d4ae9405581e03bf3795f4adde31af0c16f0535f7eff799186996e64781c3e7a73858fe00c014701509dff4c7900036611cf859b3c9b625acd23ad6ddc14a013a641bf92c780e5e99212d6dd8a22de01410805581e03d5be1a37681bb3d8200af81d8f3cc62d99b5e216b4135413c4ba848c5008478447ebdea38ee2021925bf03523deda10230b79d5b8cd1d0fe444ed9249dcc82fc2be2239166345de961d71803c2d7f01a9abdb4f7644b15808216c02b5d09a22bd8680909c1b5f2d89dabbeac032e110656c43dc7894d60d65fe2eb09ff4ee28f17c653ab86c9d9feab22b72df20390afda5d6208edb93695e2fe632a8b5ba26ad285122ea146a3e00e4a88111404030711acf874618f16e37ea8d803e6aca90874b490f0ff18009e31042e59d2760e039d9073033abb9260ad182cd2720594e5abdcdb206af58beba1a3082ebb8d43f30219ffff035887a7f5e921b8a010859b5ff875347307a83b9750a56c2d8a490c080b20462203c004986110e73737a54c6d4aa7e1c59213a71df7bcd492ed0bc556337471476803b5f47fc3a3dce94e7f73d20721ca8fb13ca54d332e5442f5ecbfe0bc21298a8d0388b7fc9f61c5a4fdbeb4ff9806630596487ab9844329a82497ffa5ba30e20b8203d70691ed1923995ed5f50c255a492681da993335ebf5deb7485a296c0ff2fa620219ffff0219ffff039a62f8492c36901facce5591e05be637444da6f37c3e74501dd4b535a60472fe03f5405384541f7b81f01bcfaf5ffd6970dd14144b40d7892edea9f5f73ff5e85d0353eba9366dea6fade8039762f5ea98880c66b033f3332755689a04ea5ccce8c303f5cd40e4987465ac4121a29e6e21e2d2364122c4a47d0867f0002c7ab2580a0d03fcd2003d21c54868d0c49810d834422364cbe9ba52a5d04c9e97273086072825033ff0a1098334cf4bf002ba6f321d93b91a27abdc11635f58e5c7337958a0a10d037c16c0df430c823be3eecf72cfe3f978195cd54732ab84077a0d24792f0cf9c70307cca2a39f65815194fa82560ad9530df57ae9f2d4cd62ba09be3c82df34cc1203096eb40d15575a48ab392e2e2088abddc2982bdf65afb237d3ca54acf9477ce403286ffce7d2a1efbe1c435ad5dad01cf657c739ac2ccae55c9f929f3f5e6ec0fe0337b2165c246966079804fcbc0a6d76ba81edc1e577e1905113836ee0b80bc06f039cdbb9aaddd50bd024f2aee6f09597da55e324bb0951e298f268c715f9ee13a00369a9617377666ae7c2cc0788af4e83cc978ab541e0ba1d770a8091ff12199378039cad5df51f16223510412bc1f04c310b2e79f2de397d44d789fa1c8009f1b5a3038ef242230ccd8e8a783d611a35a68234c6927adae02993b1d56c8dfadfc23f5003dcb0b94332b20d8d2d8f4592092e875d7d23b85a6f4ef0afd6f595bfac04b825034642e2f52be622ac77835b129c2e1ee542fde4a2e267d85321d69493e6b1c72303305a4e0c4edcdc7f85eddf32efc3d5c43a8db00adfbf2c6ed9ac880167ce153b03a0a549243191c9acbff4adc3c7136d15be553d2018fb3c743964744bb09b5464033223c8925d28cd30876166ac13838adb851b0e01e9d002ce41008dc4fc63b9d9033ef0e0248122fb3f0a87bd405e0e2abac8574ad15f74afe3feedce1fb71e2bbe03b4bc667941d8bc9ccb1750f17f9edc5d3a8d8969011bd161ff05f58932b0cdff03f112531caf775002f95a79fdb9562e6b43a24c526fa080942abfbd0fecfaaf5705581e03b744620f7418ab915a92ee565c581d7f891079d0543b18fe2ac9c7d85004020352d18748349baaa9df5cb50b15adb7f1fb0475d061bef60cccddd8c3484eafa3034ec26265f2abbcdbe2b6bd853ac380625ae1e4271285e27fcba50cf235393f8c05581e0354f0a674f223f16d12c5d0e4df8c0179ee6fbb6b31d590f7eaf44da8600c01470aa22467235e0005581e033a97883f1454361a90c88702975c0ce3f9a874d681e4ca149bf47842c0040205581e034be3d4659a4bc094754a01a42b19775bf7ae1ba5481ef7ea749f4601100c014723adbe7a44160005581d022c3dafd7570792d0564e2330c06a208594337845ea677c2a0d0ccaba0c01464e88ed138c0004582d363d3d373d3d3d363d7395741e961a68e6d71290595e7145a4b58225407b5af43d82803e903d91602b57fd5bf3034f79ff6e9a2a825b167f905194f3a1d033944c7300cd302eaba1e5d41770222a03e80e80288b2f7e513119a5db9a05cb5959d9b0c889ca326fa2cec467ea5a81580058200216d5250dbfc581145c84a4234af688c0b3f963e08c33a84d8522385391a61c581f1aa5ba3ca7b142b30108d4972ea8dec4beb9d83c9289087ba48c5fb561b5dc03c34ae66855633c8c5342d5524c0b7bf247324c31b844652f4042e0fc2f4c4ea9039f9400605dcd2ba6b152222c84c9365f5e61d934ce2bcd1ce435b7f812ec13f403f723408398f41ab68b4da3a91f87777dc326cf4278c39957193fc0d0009b6e5703be05850cdd26b61ffa4e50c0c879a0e8d16044d23a2742820c7802d9e76f27ca039314d4747e33cc5208c69b0f4a7e7d87366fb8ae12e14d5d844beb9dfc1f446503482fe09984b5680a948dc9aa722bf272bb593a7e845ff09a15e481dd7cd2ac430392d11a98d3d4cc3f8786e911327e781bb5ae3e8bbbc7bdbcbe4ed59e99e278bc0376cece62063851256059c2958437c99a5a9fe9a9e89ea46bfc2efa47cb741fdb036f537b6bb0425006739a2becb0066b9f97dd76545a14d384dfa033b7d3f59b9e00582003b4e6b72fc7fb0eae497bd48918c6e7c82064703ed66a1624fa66ccca6291a05820fffffffffffffffffffffffffffffffffffffffffffffffffffbc065423a94b800582003ada1f2dbae48ae468fe0cdb7bcda7d0cffee8545442e682273ba01a6203a7054eab8047477be41f076dd450b85b6a7ca2b71df0902060219f7cf00582003fea137db6e131133e7f2bab296045d8f41cc5607279db17b218cab0929a5104809935f581f0500000058200352436cadcf18d281d505d6b2228b346eaf68bcec66a41a0254114fd36a452058191abc0267bdb7680a95d17a400e176196b205bae924c58ee69f021904400058200247b88d3f563885da2492fdd47d5c4b897d63d76d8e7ff3c4193fcb3f0c69515820fffffffffffffffffffffffffffffffffffffffffffffffffffc3f798b18b28f005820025e1b4cfeb2550444a270793229284d7d56899823ad14639fe50e31b886ed8c5820fffffffffffffffffffffffffffffffffffffffffffffffffff031624215d2e803c4f06d9b04fe826321d8030d52f555801f485619e646d4ac9cd4bf75181107eb0334406bd2e309789262d406de9513fd6509874dd88f86856e7f067752e16ae2a3005820023837a0cada165621a5f79d90c66ed7d966aeb93bc2e88a2e678dc2b3b3e77b5820fffffffffffffffffffffffffffffffffffffffffffffffffffec7d7d614bc540343d173597addfd78e14138ab6982ce81b40aa43181fc1b47c26a4fe81446070a005820024de3bb65bde72bf7ffff033d52ce778b98f79c92b77d09aeacf497fc6671d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039fc6ce6bf5e95a88c5f89094037aea87a74fb7f982f5a4c7c734e21e70c18a86038d37fcb9d0572ce2f5cc5881c32cf80fb859ad176082c72124f0b3dad3ba433002196cee00582002281c30d4193f7a2c2b2cafea1010b86f9f53451d9c84ed716bb73474b4ce65581e0c5a57e32a1fd7d67951baba83be126088f55a1e939d318e5ed3a60c5d4903fa67b3308dd5f993edbf23b3acaddfa43220a3d0f66911794b4274d99231113e036305e775c70533241711cdc46a2e34420270cdc75795dde92a9dd56a6c39e0a1033a42108850c49fcb5e749397cb2cc87d5cb7d2432722cf1aa6134af8e8cfc580036b6dc491e026225dce11c8f1bd14f34e91273406fa9925365743b70e6b199bbb034fc762bd58de5875f2939ba67855786679bc06c2d1ec89f729f70cc178963ce000582003bdfffe7773c42a512fe653355411428e1a1d81c40f036931f246d67bbb81e058206fe0176b854a4a1134cdc4ab74a61092ac98f0a0e3091ebf857320789b93a7da00582003d7699520e7aae59c09bb6fb833a109b7de13e4f461fda8c71eaf5b0ac6b3305820ffffffffffffffffffffffffffffffffffffffffffffffffffff7a8588e534e60058200323d32ee5900d105ff871fb01260ce9bd282e692aa81fcd528e5512242d1a20581f0bd1de08724371417751623f61ebe1d638f70ba261bb8db9cd673c5b73bbaa0219011200582003ab08cd251e2953222fc571d841562f2af94bc3c3eb840af539a6bf728bf1a0581f16e2a07ba65628cfd1043786cc04317f83b9d551505d246e4ed32bf702210403b73770e6d56751ead2ce7f1eddf9e95f0aeda3e088b1f5b5e014aba1f1f314c60058200350850cb7d77c8a1880079c612c93f68c0fa6881c13eeddb2354b96498e9ed058200cbdbdc3d8e8e83f4274588c7798d76a40eeb1aae244a24490181a3e8eb3d09800582003da0bd67a717e0045c55ee101816d349cc5cb1d6ef9753628d28a4b61ace3c05820fffffffffffffffffffffffffffffffffffffffffffffffffff33bf13b72f81400582003c7a1d999769234394745367825f2c41cc1d7946af706671cd518f1c2afe1c058191abc0267bdb7680a95d17a400e176196b205bae924c58ee69f02190649005820025d4f03ccdf0b647c995e9fda514274036bf3d90324f2fc621cc71782063b22581f0322c63d75918da842a1a01d6b63b19a15c9a2793c9ccc4fc0b1ea5ed551660058200279a39468acdb9e5356b1f6d12f0f8353d9c439c7624b98b259f542b8b6771558191abc0267bdb7680a95d17a400e176196b205bae924c58ee69f030ba3f9fd1685290bdee9d52d3f1cf53fa4a424618cdcbae845249899bae5985103a4014d725eef8240dff9e80f808f913279fb29bd73e2a669bcc4184dbb2159b10219ff2b03462ae54b77c862c602877abf4924dcb108eac1b2571b129f3fadea7e05caf28903f25987d974a98485def11faea8626ebd9d5997b9d7d150e0a3fa61cec8c1c46b03c0b8e13c9955ea4cab1cb4da8bdb75d00ff8e700fffa4cd6399d7d98af8d038603bb28b46ba8d622f1453aa0b4dde0f69313d261f2c64a743aed22d5b2da092ea400582003d6fba50fe6fb00d849556563db742289e01ec3d7395c85a2ca9bebc73e13305820fffffffffffffffffffffffffffffffffffffffffffffffffff657c7a0ed9a8d00582003d9c6acad215c68b9d82dfd9aca450b0ca616d69985890b598618ad8fbab870581f5eface48b805eface48b805eface48b805eface48b805efacad04dae49800000582003b0f3d90a77068e70a7da8938b283dccb7cc9b6583b978067764940ba4ba6b05820ffffffffffffffffffffffffffffffffffffffffffffffffffdcad9981098700021908300058200201e2ac78531fe9693bae4eb7596ba67e532348eac2cc2822616f93a6e6dd515820ffffffffffffffffffffffffffffffffffffffffffffffffffec816d7a57e92003913a9a61e4831cd654cea569ff4350da835d6dd4461331d3334f5d70c94c2dfc038195067a37aaa853187494b0799b717b6604b97dd94546e471ae65340ef6142b00582002301ab5d468b21af957e770f5ebad01d561fb9cd26c1478f61324fb744b42d658200d399dbc3f47c9c3895d2a0ca126a3c3a6198a229319194d07044361e031b0c400582002f29d169b93bd0360e0ea8cb13162eaae7482dd1c52661353a81829653077425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002161f3b5c805f7bd5d3d39754ea143058432a0f500ad562d8bb533a7ee75d1f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033ada8f9bd46ef3685ed0ee855e4aa658c3e757cae65bfac19050fc9ae1321ea300582002526635978e061098efcd2bc688fa1f0e54eb28dfcb4bfafb948897450c9005581d020bba25904e34deb624f74bd73f0599671f3d3c10121b7fe3e3c0783c0219fed903f04584cbcd5109cb9e934d35770b48b677f8045fc1e2afcc1dfb3aa492cd17500369dc671870533e9a8f9ea4400425b8569d6b9a357785728cc7bb73dedff8f95f03ca20d3513b2289a6cd8e8241f618c916da32352134de0577b897ffdb7e9d28c503db5ffa841f06290ce55b6f017d235b1890e2363a19d70b3513ca98f985e2156b01410a033f8fbfc8076e567fa4e3b170dc4844a4b06fc2a881aa6f923502398bf766979c005820039044719a1ec3b04d0afa9e7a5310c7c0473331d13dc9fafe143b2c4e8148a041640367d6d6c098fe14df2fa505c41956dec5df38f8ccaaf94686c69ad3bdf2aba901021910400058200278aafead1b533ae8e636568b6f891a16f5616aeea907522ac121804588a553581dbfdeeb20fdd39280a11783a6ce79f4d2e00451af777a58a47e319b884e0373ffbdc4fe8012d42ac8f5f3cff55861c58b6ef30bb6270ffa1682da9b603ab203c8c95a5fc722f5bbbbdd6ee96f6ec1123c74b07a64dd3facbf8d538d87ef78910058200386384fbd41e509555e678931604a53b2b530731cd98b48a90a1af67111d850581f5dfc5f7dcd440128ee42f48a092fc165bb7659ac2a6fa4c0cb50d75543ce16005820032eb23561a53cc4356fc3609c5cbfe25d09b2845b1c5fc01445e158a2aeb2205820016c7404e5f46ef695b32d1f9e4062b3cd2eabdcc85d463b76237fdc810493ce005820033fb058c6bba7a4e76396639fc4dd21bd59163db798899cf56cef48b3c9ec904702738d24e5200002198140034216d300cdfdaf112552aa9b547c7971b6241d6a106878f2b788f95313c923430355c54d144cd685b7129d8a2f323aec17372f1fbd57a79bb80bb63cac74a0a3ca0341919756e12ee237d0e0e94d16e40f543c454cf4fefe500ad3cf791012310ce80359e11b9be571a3c77d238fc4e7ab890f0214fa89967f1daf2fd2a924b0bef81d034c42f0aa9cd2ba2236eede2b5bd27d68648a24295bdd8c963022eb8c0a1d8d8d005820021bd34c0953eedfae10f603f32aa5280e24a59d20ba5979bc0b87cdd74834a65820020455c80333cb5601a7ddb71c401297aa5ae255dfb9bc5ad0af146701b1b5720219ffff03273dfc96e3aa21885217aea68c0c4fcd972d49796bee5428f2d9824e1c2c579800582002b90474c50bbc66756d3ce110b81c15b65feba4c435e390bda516bcc29ada8b5820fffffffffffffffffffffffffffffffffffffffffffffffffffb8915e6038c150378cde164b34eefca387b0b02b1c5d7112c9aea9fd3d0a30be89ab3cd9d87ae7e03cf09bf7293eddc5100124925edf5d7359b5220c7f1585ac411d8010d34bbe4fe03ba09c52393e7fadf0ccc8b8ca5819bd6cec60988b417fef5d1d1afcfe876311b03c8a39c0b995ad84ac41fd7555bdf868419e38f8851ef10b908aa6d1a9ddfcd510058200325e85f1a4743fd8d60ba595ed74887b7caf321dd83b21e04d77c1153834080560100c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582003a08530aa1916e83228ab73eabaf8853ca7489b7b367a32c9ca2d1fa0dc17705820ffffffffffffffffffffffffffffffffffffffffffffffffffe3502f6e5c3e70021982000058200320c5706891f63460bdab640672425e7047a4f604d7fa1037c8b3959128721058200153e7f728ae0f8f0e1179e52f2ca9a151d577276997ba27eb8f234328ae1db800582003c08f54d78c13299416bc1193c34722beb7906a7ef0c327a915dcdd25096e005820061c016b331ff5ed3f8fc448bceecc61bd0911f25c8d00bf7bbc2188839e4fb60219081000582002b36517ba6678902b5ead037807c428334eb1a4d37b41b1c26d5afc3c5ebe7b5820011b1e63a6845ffc01b14d862062ea010135932acd8dbfd60ca4e34f8aaba47b00582003e3b296178e3e93f383a33abc63d4cd1ebf0539fef940ce970ba4ae3ac8f6f0581f46b08f07ba28438214790693feb8d0249badfdbefa3be2ee0af1c8fe69a1c500582003f735ca700d85c0cd6b0c27aaef4fd069d9643c386f11935ec5913e5a1f86605820ffffffffffffffffffffffffffffffffffffffffffffffffffdc790dcbd9ca0002190810005820025f97169e318bf1f389645a8f69100e24b088ff8bec97364881e8840097ad7d58191abc0267bdb7680a95d17a400e176196b205bae924c58ee69f0058200293207afffacdb38b3e8b0f1e236db4a093c1c5f2f04a425b9b5a1be9b6673058191abc0267bdb7680a95d17a400e176196b205bae924c58ee69f03d4a3a016aab970044b49f8a471d0d90703690f4924bf17eb467fa66ebb41f0cf0361d916a3ccd2a8b5b088419b713a03a8046bb586de884f23df8173cbd1792ced0219beff0313956d4b9c7fde5064fa5eaa72eca1405c82d0bd5e1f1a1f2157f158d5985d4403fbbc938cf6f48ee962d3f049937d3bffab2ff643e1a801e37144e4640c684b42030af1764b984c9b02ed81f461fcab8c6b1c0322543e35a7df485d988de76ab1c5005820030f6284c9e3ce2bed530fde6a15f0bdc6fff148eb294df6e1501d03c455a9a0474f7900aed07600005820037c91c8cac6e2508e6fc3df5c2f8c895ddadac69c57efebbc9c9c58911346105820089f0534299fe8e8f93e27f35eb00263e46b99298642fa25ebdc8e68072dbbe000582003388bb26744816c025dc5ce5065edea554e38f1afe6e8d56b23c6c8bcf720005820fffffffffffffffffffffffffffffffffffffffffffffffffff7c058e4bec5090218a20353c67796429cbdfbbb301084a782c528acc2fd2932ff589780b8e4c5e3fef0c203dce4e77787c088d1ac7bb1b3fa766a7ed56a6e80c46d4425e7937663de3f13d400582002fce494794d92ac286b20d6126fc49ecb9cca2fa94b5c726f6ec1109b8914145501e3defae93fabdc93da32aec7ff71d5ec85e2e0bb039fb2d450492df5dcfeb50b6244fc1b1f66be36da0539a892536aaa5e245f3f3e00582003d8c979bc8ce67c2008872501282c130eb4163fb43149f7dfb4b4030e401060581f331ba3f0df481034106687bfcde8d5cbfabc41643c3a3d56ae2e18e265d14b005820030a75b5c4adb1f3ab28c9145c96c0e2bce4460e67b3c4557f76b96bc00166904cfffffffffffbc2f3f7d7352600582003cc21e3b81347329bbfdd237104eb861c4a25c0a4277c6794ae5e45801de9e058200464098c0da2711ab7c028534423a9fc1cdd76c2d56fdff4b249710ac5e6620f02192410005820034aa89e82d88f43cdbb90e38c161012d684d14b94dd968e74a31f64ed675de05820fffffffffffffffffffffffffffffffffffffffffffffffffffd6305f55708b200582003fe739c5101b56407ec1dd3086e20fed252183c46cf32336b0ab29797eb25405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02184200582002aa137705324278d01c9412c8e459681c83076ab1c8f2770483700531a90be6581fcd855e3940ad69f9f42691548929d9cc3fe0f7cee873a5291939f9f3035e9703cf03e61eed5381dfa04ec8d6efed8c7b6a02cb219fed4217286e2c3235507cf4038abf50c0f5894cf3ddcbe21d746df5b26221d52880cbd9cd34eba5936678f03b03b4dc28bdf770193d9ba5ed27ef66c4be5625a90f9fed0ee789acb94d7ab8d2f40141040058200230f80e30d6b6831d8f64b952649b3588c7a7fa0609dc9d914e149684038f3c5820fffffffffffffffffffffffffffffffffffffffffffffffffe652e7da29df83c0219feff005820022d84441cba6c5be8dcd9fdc89d1c5a57421794312880bd1e7259ae7dc69684581f568e81fc5dba1e755711a79b9d96f7671b812496947535bd8b1a99fd9e997b03a47340665100339ba27301ebed749462d8189b40a1801c41fe9cd20065b01b83005820038ea64826800354784b46ce6caa83e83db73fce3c58174d7fab995455a2c7105820fffffffffffffffffffffffffffffffffffffffffffffffffffdbf19172173e60058200376d4cd29172d9d136030dc02975f5520ddc39893f2bfb7b0d482247a419a905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200375bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82054eca677b8eb7b5ce088d342f33271e97d3090a74802190460036341631433dff38ec66557c0ffb1af55c25e81ed623dc4214c18fa8717e7b2af005820021fa1ec258c80e9527b1cde20257e368879e7f12cce7fda7087513e56f808b35820fffffffffffffffffffffffffffffffffffffffffffffffffff556a2610daf6d03fd69e9bf98bf203782cf6a275b6186fb77fe1799ba6f2cc9fa9858e2381d38280324bafd059968f8942c4908fac0bc77ef89c29a91d0917fc5fd6990d45ef7456400582002d01a6f5e2c357b4c2c9f9df385530a71ed96470a8d9b9890f2ae60870bb7495820fffffffffffffffffffffffffffffffffffffffffffffffffffe581de647c4f6005820026f4c3d272665fbb0cfaedc0d233756d306bcd3a361a4b31da03cb85ec31ac658191abc0267bdb7680a95d17a400e176196b205bae924c58ee69f005820025009c75106df50654f1aa726e9e6690e75f66923a2925277ee7cfb2847ba985820fffffffffffffffffffffffffffffffffffffffffffffffffffc5c32fcb77b3c005820028eff107aa1fc3ca22abc199e4aa25b4d9532e3194f28651921f63dc54b7d8f581c0873c56b2780313252a153a0cc72be4e719858979a051eec60ef110f00582002c6fb69531d98d70dc0420e638d2dfd04e09e1ec783ede9aac77da9c5a0dac4416400582002e754ca6c94093a90eafa8e80e7ce9b0751808e659b7126a43bc4be86d8c98558191abc0267bdb7680a95d17a400e176196b205bae924c58ee69f021977bf039b43302b8cd0f1cab5d786dd2c2d3052a2910dd2570b12d1bbd31e070e91d6d2005820020099206f073a6fca7f4943b1fb63c7cdebaa4f8c70380d9217262d6e0244c54cffffffffff9eacaa673182d60058200222cbf5d0ddc505a6f2f04716e22c226cee16a955fef88c618922096dae2fd0547a250d5630b4cf539739df2c5dacb4c659f2488d00582002e19d7d6c34048175531d25037cc48f6528c3c7ff3f14234b1d43f76c5c39ea47137e9285a816e000582002662308f49999dc5eb59c22d95206866aa4901f3eca3eae157318eb00af19e358191abc0267bdb7680a95d17a400e176196b205bae924c58ee69f039f915d77220c1eed26038689eafa3306bf8cf3238c0259416e6119adc5063f03039a1cec480c10c24065b7ef6300879cd5140da697ee08f715076a179b6aeb347703b11d27e81e66fbfcb88b28d35376edeb1a4f010642545d0720ff4b995cd243a10058200230d9ff0dee0ef5ca2f7710ea66b8f84dd0f5f5351ecffe72b952cd9db7142a5820444558544552000000000000000000000000000000000000000000000000000c00582002c4e0e95d52ff05317372b0f889eec3cf7479365e243a2c47064c3043158ca45820fffffffffffffffffffffffffffffffffffffffffffffffffff86280d6a1537a00582002b47a1a21a952ffb97e0d91f6deaf4eb9203633e3de93d92315be73c9dd292a581f1bc8e89e7c233c876506fe215c961e3bc6cf05d980d12c8fca2f265b29fdb50321b8b49e7670fa62cf01da3b80c6370531e63058e2e5fd2691ea02f79f3b3fae005820029850749e62110696883a17d7aa9817608b9f5d1a5833e7199bfd2077eec421581f482cc3a0477d869790a5e94e6e45f0c273c66a5c626016e6b0115a12d49a1b037d29f91da37fcf97ce19d60bcacf76afc12213cad16b5c57169e768099f8d24e03a47d4dec59c05fc8576915a55dba5fab165ac3c26b53fc24cf0c12599eccee0f0219ffbf0307145002a05579884ea784fde2a6c812e55304a7aa2557ec6870c835397c15dd005820024ded9ec787350194dacf36941ee1ff0f4ea56b50d1db985e3a6a666098db86581f03e2d6c1de511851178a7b7ad82da1d6658760b0d6ed6b3cb1e7cffc49476e00582002a0974d8c7394d7d84866068432db340186a7e7e213814c9d961e80d6076e165820fffffffffffffffffffffffffffffffffffffffffffffffffffd230301362551038eebcb3f60643c13b82a49a42190bdde5a909df799ed95652b155f35999de94100582002848245268dc03ac47319705555ef699004c407ea6130f28eca536bdc2cfb7a5820fffffffffffffffffffffffffffffffffffffffffffffffffff80d9edfa35d790058200253cf6aaa452b1d0c1406a53baea691c918939fbb17dde81c746fffbf20a28a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03415aa1105dd6da2f9c392778055f80fc685817ccf9d3243dd685a12c41b8004103161f8056c1d7b7ea33cb7866e2620484c3c8f9e15134fc187946511642e9ef3c03c3d635b6e15b1cbd2884f87ca356a6f2c4d720368f73cfad0636af6bcaaa40bf005820033c8ac5320dae1c4a00ff23343947ed0fdf88d251e9bd2a5519d3d6162d22205465ba299ce92c965a7d87ecdf6ba0ee1e3193716200582003d6eb207e71bacd526a1551c7cd83dd47d34437991899e8c27e22000a8eb8a04cfffffffffffd6848144cc21502191002031d86dbbb8f1553026d88404284e111a24c76f4996dcd3cc27568564d5d10491303645c195cef057e6b9363feec864970fa1ac7939c73864d97e3afdd31d68ff18300582002a8fa41310e5b2b744341935147e8483979b6434760bb2aaea5a2aa7d7f300e5820ffffffffffffffffffffffffffffffffffffffffffffffffffefb9970714396c03df7d483ff1cbb12bad4c2eda4a38d43334ea8b37b3825443ec09c97cde4223f603b919324b753551735c830e3610c9adfcc5b03a324d219e6e68f2e0204addbfd60219fbff005820025626285695471eefae1a75c4d18c9250649e6fe4742505a78f0c633a634e154cfffffffffff8f48ad22f4cfb03b63c6939ae354ecbfe5934ab81f8eb85487f81ef645ec5473e2778bc395ae2b803cd2d10297e80e11fee5d1f7a1c8f3e76e1a1af3e28680314e5d3ce0ce75b02d2032c967389e0ee5e42da95fee78fc6a69a96221c95156f900e970065b8af81bbd803444ac8d404ecfa92aafb76bce5cfd2439bb558423d53e30f6aa71b424271d65f00582003533c7f34a1a0b038261f3b174c5b8c0f4382f2208a6773de9cd19bc8c93de05820fffffffffffffffffffffffffffffffffffffffffffffffffffc2524aec1ce57005820031420b3b71526eeaad6fbdd1514b2602614ca68e8cb050a2b1d8e6d379c9ae0420af400582003a49dd1bf9ad2b7ac645c38add607bc4929fd212692f9e8c29a19d446f9a0c0581f3058b73407d71634d5dca74ce32dd213c5092a56fe3eec5a40f0edcc515d9700582003707bded7434df39961c760ecb6f178ac7a71c53cd4e36c68c99961b2e26cf04712daafff0f8dd302196401039ce1c1431fd791aaa874e2a9717fcc801cf3553b206dbc0daf24b39b3acc2f1703119a7bac36c08fa5275624258c82810e1beb72378614238bfead9bc94feb18bd032fff8ec05ca153ff33385bf5584070750e0db3538b53549be45b47b55f1e15c4036a8b9afc82950fc2b275278122c47f05faa31be227c19ecd8a4ef7743c3e1dab005820037336597adf4d901b81fd79537f8138abf4c46106e18147de1a671c19e071005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003dca525b74ea28bdac4d844e2ee5ca39610e53c2c765b0ba0d49e836b521e505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219080403c91b3f381ccf8873ea0305ae9158ea1d9892f458ce0a065611ac447f2e22067b0058200243cb8ece8cd1863bcd6082d65c5b0d25665b1ce17980f0da43c0ed545f98b45820fffffffffffffffffffffffffffffffffffffffffffffffff6a5715fc21b00000396b4b76257ccb45761f008c9eaf93f8b53b7c6f782df72da933f2ceeecd307b103cba26de1b03496408e330943bb9e94473f8a15e809046fc85db9c78e34d962ff0219efff03414bd122983acac468f97522f2931171e34f1de1d0741cc63688066f4671197d0304ee4d583a502e841705acfc146871ff9aabdfab0b5db89e1b929741937e674e0058200279f03af00f20be9f0837f603ad094ed08ac3dde30805ae9da0ee21650a195f58191abc0267bdb7680a95d17a400e176196b205bae924c58ee69f0392c59a3a11125222dd64b923612deb0af952078029c49c52f0fc2d17f3456dc0039b60003c2bcec094b47ccb8679b43642fb2f11864699f9cfdc925a0333093bc803bcb672b63d3162e885690212b021698537b2f3e9cace7d9cc00c3b1038ec8cca0331afc94867da6512cd95c8841efe6cd9908045bee784393cbbbeb0954a495ee003509fddcae786e915835a02cb4c39ee165681b82273888af7ed1ecf4f3ac116c3039f25286ef9051d517118b2b3b35e11a779970f99a59682786cdcc2b9edf2e9ef03dee02287c9e3793aa491868ee5d57b5d768032fe0b6d2cbe66d54385c02fd28f03b8d742f37de0f476d16cdf7be84c41d535866a40b15b100c82096b6ca4db10a9005820027a9b7522cbde7a0cec3f808e8164c435edfc5008172abf9fe12a935aeaa5925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a3dc56f179875616ffb648b119bf75d2b139668cab4c7ecceae5ea2694a90e5820fffffffffffffffffffffffffffffffffffffffffffffffffff3c34be2ee67ff0345e298da22d5487f9e823c16412fac3efffa0af6502d9b92232126dfddb4018a00582003553011f26bc432864cf2d12c04ea058a834a5885ce924bcd91f56e4b76d2d05820fffffffffffffffffffffffffffffffffffffffffffffffffffc63627d04b36a00582003bdc67621925783ee5274e7423ea485583700f61678f7bd483664ba587cd9b05820fffffffffffffffffffffffffffffffffffffffffffffffffffeb62fc8321b2c021901020219f7bf0369f16c4b6f1e8c81c27adab40cb4636159aa9f098c2a373a90b87494e757fbe800582003f883bbdcb30a52d7d0586332d3ad5432d1f3ad30298f594141a1cf88549e005820fffffffffffffffffffffffffffffffffffffffffffffffffff2db7d6c360cb200582003020a3aca894f5d0e11f4bb09ea5b23e3152bf7606703e3e76815bdb5a8adb0581f0e04283805540f801dc0543ed3b302ab0b425870a9fdd366b91b43831048980219880003e42ab48006eeabeadde540ef60d2ed0279a0c357bdf8a0a9197495d8efc528a503b69052ace520f13098adb1ea3141dbe653b721a24b402c6ac3a44fedd283a59703e9b97df43f37858d740007cd0205ac2de1ad354edd8614c4b9c420d025f301ea03002f8cac3ea584a8151264b53a3b01374511d97deee6d975e0cb493f727f98db0058200249dd279327ad21bd8334e8b421c8ef1aba4fa44fd199ee53fc5be27bf439015820ffffffffffffffffffffffffffffffffffffffffffffffffffe4bbc8e9e8c30e00582002b53fb2218bba475027bdcf035cdc77fd1bbf3a97f149edd63feb38dee1a3c35820fffffffffffffffffffffffffffffffffffffffffffffffffffe9bbbc01eb73000582003cf3957d80f40f68c539c9a8278b075eba9d7c005e1a03d98ae3efe25965780581a2e5e142bed0a18725bd7500718708d415cc1f02c5bc6a3d7fbc400582003259d6de952537dc255623fb94e2c7ec3d0be8572e6e0c89f8f02172ac481705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219200200582002d3c580d2002cdbeee526238a58e67abd1f025ce320b700c367adb832170296470d252161ab40510382dc18ac02c82338adb43a4188fc3f1da6b72cae98817112fd49756268b4021b005820022f6686b05792e397d3342d2b18f7cdffcc767cdbefbfb5368d873fd9a23dac5820fffffffffffffffffffffffffffffffffffffffffffffffffffee10dffb38723038c6cd498717deb3145065016dfaad651a961a581e70bb39b24b7f05f2dcb775400582002391eb7964e78c0e265f3f70929129fa4537389ca9871e6e2dc40e7261ab5b35820ffffffffffffffffffffffffffffffffffffffffffffffffffea35ec601be9a10058200237bd92ec6c6fcf0da17ab95ee72e94d186522a7442dac7c1b31112db1b18fe463082f1746bf2005820021e74e21135f5c2400b947f4113da2b0346ffd34a67b46d87c200056b238219581f1e22c2ac3e09c4817f87b1e748b484b43605e44dba88706ca635a1b5dbeea60058200221842893ed246b07cf3a389f5bac97ab55b1043f53bc45bac97afb0c73db8b581f02131e2035459384e2493b0501857f71b1bfa6db483c0b1449090b207ca32d0219ffff0219ffff05581d02ac3c3a3250221129b1d7e9a2a7af6ac9640abc8504f05dd29489e6240f01480efcee47256c0000182d03affe208456e818f69a73122832d6db3a7b93175f3bf83dd7f080d11743c81ea90352b50106208b0dce3c80d2e9f04f9a259d491f21002b96e6e8bd8b57becf942605581d022ce6faabe8360aa974fdd0f9f13a5e9f4dcaf4a92d8482b90740f31d07011bffffffffffffffff02193001030697bb6e4ff8fa8b720924a57ae6aa20f50c6202c7c8d39f36b8bbd8528efde905581e03f238e896180687983fb98b9242918493d208082caadb270c3d794f3f200c0247139d3bdd5d1a0005581e031deef471132b2c8a6bb440bdc2b5fea5f464a310db2e5edf0a99e134000c02460579d56b461803e43438e302173e92fdbd187387215f9c9d0db4af640160fbcf7b5f64f1271b39021975f503b19e6c6d0fbc1b54431f6b54a2477d3fcbe54cc399acd3bade4233afe605e66f0315188d1a2109bc4edc9a2a37c57c0ee57c9de8eca5c3725f83a665d4e99ecb53034f72ab70520b8a2b26d73fc936405af3e429a7fe1040f2ce98ed9bfb6e628c9303796db98270157dc81f9dccc11ca712cff27c6e73d22aebac680b3f2a76eb384603491f70a08121479c1a2b4bca3ae142b99bd919f81d561720280656f4d6c2361c03cd189b493ae757954ae30028beb81eb6cbd29d0b0ea1382b6927936cfdd4eb5d03a7bb2b99e3433c8ad3ff00a00dc71b4c61e80a58a2f9d4844cd979fae1ebcbad039194c72aa2c28e40644dfdc64cd45aefca5c0a1cfa3a8f2089156e73d18eed0403eb063bf1add4b1e5c5b18c0ad7d749064ed85d49078195eef8acc6870f733c0a03958c7d735dbb0e23a8782d68a92e65a72fd56c6c5884381bd3c41044c55b6aef0219ffff037511dd4f892e11de3733b0e5c9eb7b8624066dfb60f9edb220d9efc69f9f24f70305269e3f1c879653eedc20d53258aa9b5f71795d0853bc6af746458242a5d0de03f95cc2bc2f85bf3bdf0c01811111467edd343f2187b4b338a28c0195ac12b5e00381ab12647235b5caf576a6c3a19dad7728e88eed94c5879bce369eb222a91faf0319d12669abbea559ff87d14e741e53acdb0bf38ad66d358e56637a145fb1e88b03764adee221309ef774db627d04af0bced7f6c004f332d823f6e15d01781c905803217b215fe2e7971a42c46f85421c25bb2dd3e6ae70d40a837e9c6dd2b92ea72003775b24c83a73d71ca1e0e4947a7c4544dd6309433e9173cbc7f599bc5777c51c034fcedb2b7d61874141bf0ec12d9702d25d38d56fd99a0f7ee7a9698b175091b4038bf329455dd1cd9cfd090b580a07a885026855b2e78f51b4675719edd85c0afe033f052626a05b7e6de9f1bc027a209623426c849e8efcd40149ec6f1c752c980e03067d02f8fbbf48f93dba1bac5030f2327329a8922fa971d8a75d258924f030a403247a6e16c10620865cd63401505bd40f417fa732d874bd2f704ba9c49068b9b2031a7e8a7c29ef886755b000d23483925d1de9986de26d395b7da2a47fb449cc4403ecff09de2d7e09fb3bdea12952fb1bc5ed0fdaa992262739d34819453a7f6d230219ffff0219ffff03a42ec43a957dbc6f786c04e464f25b6b5def46ba7600f62c44149d9dfded0a9f03ecca03b20c4ce819edbe9885c15e758db86f822ca71804a17723ba0aa8f0209503417043500fc60ea3bf5712fe1fa8258357eecbd36e0b458cc8a72a66b583eea3032bfadced702115b0a33d64b3aedddd2725a847c3a61c24ecb666f8ab3eb76ce003d059f9312882cddfbc96d9b83f1300fd7d4e2086b4d6bfa3aeb2c2d8cb6960fa03397c9c15b3eb9d5e59eb45947a542dd55888087ca6d7cb118cb205191940a9ad039783489f2a0cf680a4a8edc50267d51ec97dfc35a3cd5e21da9ecdba6c23f52003b1dc5fa680a745cd7d9309ecf2ba4d23e2f55c448c592df6e4ef3da0513b63c903f18c0ef615618c1f12313564132126eb98c1a384f25eeb38ec5b87eae3f24f340219ffff03aa93c13af0797c311e3a770b619f975fd77265b16f50c200ec4a87a55565b2c3031101712d0319d2248fccce02fa9c6830ace62a78a846f7ac73a4a94f7373ecb00399dc84ca13279b2eac5bee723b2a6bc7f73555ec11343531c356378e40ec36e30367e04a564b56a62a638b5cc51a0881f65c4179c1acbac3e1171f167784bbbf31030fb96d1f276c9cbfc1eae8c459fe2a38ca6fb3d9e13eacda0fd1891af4a163370324c36b1da6f9e7c933e4bf3fdf570dce009d86cec099d4894cc12da72dc72892032e9e580399e54c82978ffb54ab72ca34c239708231c76bbaa64cb294429515f203e701db09801c6d8b5a35982ad2e3dd0b48e0596496f832e810c81142cb229dd00306877f19fc6297b3d6051dbf59fbc4d82cc8e0945fa7410801e45c5aa90dad6903e3f76c61b23997bce466e5e2893c0e185133c98d4a1f90d0feec04cd0a9db00b03775d86e9fafb956ec878ec50e0670aa8d19c7e514a77d5d9e6bc6f3e9bdc42d2037e13e83c55231d7a17f502a9c1cbd3454a785da260a45da7eb9a91a538ad6c0303719a725af10979d9054628ab10a5c33486d03400bd6072680f2acba728c923630605581e031a9964554b364d43d572da6ac5820198936cc38da2d0a24a13dd914c7007011bffffffffffffffff05581e0337d1254d34b310db1ba55a03881857968aeda95676159032cf4baf4830040105581d02be49824159ebddb793306725c9f573e6f279742e0077e1cfdc7a2ef90c0145174281070005581d028ed0c08d028ffbb0d77802c7b9cbe9e6587e357d9de6c01684db8c4b0c03480233a3188592808605581d02ab0fd9f84b06ac770bd06a7ad668374b6f3c24b2eee3498e86f4037e0c0746323201c10ab00219021403b9bfd4b87230ca1ecd63441de0933898e1be03f1d4f2733af709ac04f5fd478b03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03027a14b368da4fcd203dad22df79a6b735cbad707165e6f997bf56b4e007011bffffffffffffffff05581e038b399644feabdb633f3c2bed9d3e8e3a07b2cc450ced8288a2d0681d400c014656fed655b0f0031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03f04bcced7a4f396d1e3c7cace4dcab9b93e92eb150e2bf8c9ca4bfe77007011bffffffffffffffff0345da1d0662733c4595d14a12f0ac89e15d28b08cd0b22a528b277d8a9aa7115c03bf24776d4f6bd01550fc7a323e87ad42c899457857558304240ecfe82f94f88a02195a970371aa5dfb1f7ef8ceef065f0865943da116ec4c483fad20ef278e94f42794bdef0313e534a3e5318b7292d1ccfd8bbc535b60d458f7079609e66f475788abd40b8c03dad227639c3f24ec79a46f2cddec9f4316e6ca9c87aadd658cc83ee5a718740803369e53916edcd221794d098eae6c02bc8ada8f2571fe10a6e53ff70db21f2cc8034e13c6d7ec34124f77554ea7118c01a4fa734c42bbef46f61b24a6a657996f1203315a2ece1d48551288f8bff404a9d73a31937fa118e54ed77c67b4de3a33100603ed1cb0a2d3750d2ee29a1f6c27c668409cc83f583e5b2b454521d01755eeeedd03ce1a1bb1a66e95bbadbd53769b9721d9cebecee725d6bcd1765990f639de8600033f690ba78bc617d33867002562ffa96a415349e0fcea49468e33ca09554ce05103948591a7442c6ea9ffa6f5d93ba8349a6db3233a140ae41e6da855758b84edfd03e05a0542356540d1bf6cce571690935785d198f2d3733aee91258f620f5ecfaa036958650125520a124d6b36b74d9e32a1d87de2120b715d19d3c8b15caeddd8980219ffff03bb806a8741d7b29542afacb0320f11463a06e957652aa7bec592fb69e02ad284036023ace6b9636b94d9bece751234f72f729b64ee97dd8c1a401bad4bc11bc58b0301d4df335fd73da958956286502bc0257b01035ab5247769e49099c2f8465d7d037b32addf2e2ff3077e6cb1976392655b32404682189c7633ec7defb206fcd82d0367e9884136678a883fa11d0ffc1538ab6015af4f4d419c9d568408e13aa0775d03f9f3373ee37c9f8a680abdac9f7d52c4085b40828327df466b09a1e6ec36b8920355ffbe824f9b0388443f0c11f240436f1f1bdb3c514310553b67afd256a4391003d239dcb022791765d91c3ba15f542ded5c38177110a78c966b0d7cfe2bd09152031fc71464f3484327258f3f4833fc4a17996dd6e437489377c81adfaa7843828c0219ffff035f67721a4934987fa25a92e8a06947db844c4681c177ea2c00624a0916c0c10703ad0498479ae1c3514d5c0c4f6abfe7dad96857ce341be74fcf84ec0da1b67ccb035f23b998429bb7e8c6bccfd51bee903e5487fb49f5bda93abcafe3aa42a7857303e009d650c1abcf905cc5c59d77371bba2b483ba7fc15be4cfbe8758fdf737a8403dc64a376bbf46add633bcae64575dc7baf0316f33d1e4b73092cfaa26f79461e03e9846d711185c4bed91f4587e12de638b6c68529effff266b072a21b7a08fd8503afe8d66f634ccaee417e74da5e8bf0eeafb3baead422b99fa1c12affabf6a06103e9df16a117b0823a51a08b4cee37754585d969d22c6d29e6dc5628b4bf1da2fa037b59c07d123cadf58faa018b99ae5d31f9d617c87d9858266b6a0bb109b4c08203bef0706b74e516d974ea988976b485b420c996fbf1bdc1e6933f940da51b8fc803a1065805c11ecf6d7b5d6f889472415c1de3043319a9c84ad93de28b3ce77189038c0f3b7b57aa5431a2a4118697f9b5a9a88f6ad03378b0aeefc3229b6984cb6d03c4c6b1fd6ab15114f1c217f1138d5210b6917fbd784392f9eeaa5fba1ad96eea0219ffff03634fa2e7181e5b73af010d878ce757fcca63a8e46e017e1aba93fcc4edbe7026035ac8f710315987e31706f1722b4dbbe4366fcb1897b461e534924c3fcec89e5a03821698cae3b589d40ee15a3a0d58433465405eda748d16d87590be2efe1b8243039ba8901f01ece184338f56ff6b41727bb8a8a6f05aeaf24876a58c7bcbe06f5c035a5af9bc5e91accbaed92c84d44c6dd3ea1f08d21db8b228de50dbf957cbb1b003b4cd10aab066e5fb98995c31fb71cb02b8f268bdf11d54d7eea0f5a8122acef9037caff0779e47f5802869861b050e350683bf882637e06ace3525b939086bd1cc03a557ac985692efd74a4f0ffecfc1f3e4e05332505ddd08731773cb57c7c00c1b038a5553258e6820603879e15c38020652af62b3ca2ed9444a959a9098e36295c8033a8dac3b4997bc15bdda88ad05383b681cc6a879d1d0336cfa547d9db7e956a10302c31aa7d3dd94c20354c582f8956c0d7fa37a68ca78d8be311fddae902a5400034211c49f66af7f03edf2a81962f3c5606da3218dd3cc6b894899eb44acb28c570308889f8c06d4f19d260beaee9044c0848ea3d05c928ca096b15d879b1516140703bbe477c0c5f1a7a3aef98909e7a7f47ef2dac5f60c58bdcff7022e62d798478d034bade391770691d58cdc427025182ce391a819129ab951ea41b5a0c97d85cd200383f9cebed4c7d4d14c6238217e559c8d8bd35f83a5007fdd8035ada725a0e96a0310d6400fbed61ddae6f978f19f00df5294c2b61f43a4f6955bdbbdb1ea7b5e66031c029db9d50ae5e9ce8bb79525bbe86544e633027eba7f0860cbf00e63abe76e03cd19fb02a7d7b182cb8fb235188b7466b2b880b768ffef544d5bd3a086bef6b3037d018e22130899cb777f9ad9556ca07292c82f2b3b734a717cbc1ecfa4ced0d703531d34f331801b912999c1c5adac1d284e2d317e2581c6a96420485a63bc75f103940bf6ed0a1d72620fcaf90b9e71f50e832bd7d194e72bf5bb0423ebd1fe1e470380823a1cf51e470152cac3ad40535d88500f5495b3aac9b6a9c0a3cbb17650a803cacc382ec3b1a708074636173c9076b30a58a404192b844e3a8994b33bedb9a10399a1ae93be20c4283ee0066f703b0aae5cea3c055384efbef95a7bc9bec2b3c1032d79f9b3fd73a8322e8b04b9d5573319fd6d07bb29314eb095172eba6c04f92a033a1287415869481143b87661b90d2f4167e4f4fccbf5fb879963c569aa8584f1033a3beab48bf9a4fd3fbdfb61324b0387d3d55a00289bd809c044e3d6fe76684703b44b3e13af28c7516774ef36f0cd45431e9eb2404d3a551db57e775ddb1723180330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e037aea8dd9c670f5dacc3d2b54d73c8118b836de5fdd1dfcedeaf9653af007011bffffffffffffffff03b4896852ee7cd20f0b4a0395abb70e121323e50fb574683a2c255a7760fa235103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03034c3b3b4b6f86d604eb1ad27a1962aa5b70e52e07b059efd6462867d007011bffffffffffffffff05581e0385be63f9aa3a2905e44025d27e3bf4dae2441b3c70453145dab78e30900c01474250e6b70250bd0379493823d90b3406ec725b5d32043fd047771edd04d5766e0dff80295a5bed4c05581e03c85d3206999510495fdb11d74eef7a34aa877cb5aa1a897e4beb5d6130040105581e03820cce60f0f8b7fed2d740e5aeb3ca2a65e40bff9b6cf9f1286b434a200c0246dbc143a19128045925e4608060405234801561001057600080fd5b5060007f08000000000000110000000000000000000000000000000000000000000000016130a0600080376103c0516080516002026130a0526100de565b60206141c08181526141e08290526142008290526142208390526142408490526142608590526000918160c08160057ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa6100a857600080fd5b51949350505050565b91019190910390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6100eb826080518361004e565b6134e0526100ff826010608051048361004e565b61350052610113826002608051048361004e565b61352052610127826008608051048361004e565b6135405261013b826004608051048361004e565b6135605261015082610100608051048361004e565b6135805261016582610200608051048361004e565b6135a052610179826040608051048361004e565b6135c05261018e82614000608051048361004e565b6135e0526101a18260808051048361004e565b613600526101b682618000608051048361004e565b613620526101d0826010608051600f02046103a05161004e565b613640526101ed826001601060805104036010026103a05161004e565b6136605261020a826001600260805104036002026103a05161004e565b61368052610227826001600460805104036004026103a05161004e565b6136a0526102428261010060805160ff02046103a05161004e565b6136c05261025c826040608051603f02046103a05161004e565b6136e052610273826002608051046103a05161004e565b613700526102928260016102006080510403610200026103a05161004e565b613720526102b18260016101006080510403610100026103a05161004e565b613740526102cc8261010060805160fb02046103a05161004e565b613760526102eb8260016180006080510403618000026103a05161004e565b6137805281600183036134e05108613a8052816136405183036135005108613aa05281600183036135005108613ac05281600183038208613ae052816136605183038208613b005281600183036135205108613b2052816136805183038208613b405281600183036135405108613b605281600183036135605108613b8052816136a05183038208613ba05281600183036135805108613bc052816136e05183036135805108613be052816136c05183036135805108613c005281600183036135a05108613c205281600183036135c05108613c405281600183036136005108613c6052816137605183036136205108613c8052816136c05183036136205108613ca052816137605183036135e05108613cc052816136c05183036135e05108613ce05281600183036136205108613d005281600183036135e05108613d2052816137405183038208613d40526102e06001613a806137a05b8181101561046057828152858482015184099250602001610444565b50506137a061047385600287038461004e565b806104d0577f08c379a0000000000000000000000000000000000000000000000000000000006000526020600452601e6024527f426174636820696e76657273652070726f64756374206973207a65726f2e000060445260626000fd5b613a8092505b818311156104f957602083039250858184510983528584840151820990506104d6565b50505050816136405183036135005108613d6052816136605183038208613d8052816136805183038208613da052816136a05183038208613dc052816136c05183036135805108613de052816137005183036135a05108613e0052816137205183038208613e2052816137405183038208613e4052816136c05183036135e05108613e6052816136c05183036136205108613e8052816137805183038208613ea0526105c3826105bd6080516010608051046001608051036002026130a0516100b1565b8361004e565b613ec0526105e5826105bd60106080510460006001608051036130a0516100b1565b613ee05261060a826105bd60106080510460006001608051036002026130a0516100b1565b613f005261062e826105bd601060805104600180608051036002026130a0516100b1565b613f205261064c826105bd600160006001608051036130a0516100b1565b613f405261066d826105bd600160006001608051036002026130a0516100b1565b613f6052610691826105bd600260805104600180608051036002026130a0516100b1565b613f80526106b3826105bd60086080510460006001608051036130a0516100b1565b613fa0526106d7826105bd600460805104600180608051036002026130a0516100b1565b613fc0526106fd826105bd6101006080510460006001608051036002026130a0516100b1565b613fe052610724826105bd608051610100608051046001608051036002026130a0516100b1565b61400052610747826105bd6101006080510460006001608051036130a0516100b1565b6140205261076f826105bd61010060805104610200608051046001608051036130a0516100b1565b61404052610792826105bd6102006080510460006001608051036130a0516100b1565b614060526107b4826105bd61020060805104600180608051036130a0516100b1565b614080526107d6826105bd61010060805104600180608051036130a0516100b1565b6140a052610800826105bd604060805104614000608051046001608051036002026130a0516100b1565b6140c052610829826105bd6080805104618000608051046001608051036002026130a0516100b1565b6140e05261084c826105bd6180006080510460006001608051036130a0516100b1565b6141005261086f826105bd6140006080510460006001608051036130a0516100b1565b61412052610895826105bd6180006080510460006001608051036002026130a0516100b1565b614140526108bb826105bd6140006080510460006001608051036002026130a0516100b1565b614160526108dd826105bd61800060805104600180608051036130a0516100b1565b61418052610902826105bd61010060805104600180608051036002026130a0516100b1565b6141a052508081612020516120205108820361200051086130c05261204051819081908008820361202051086130e0526120605181908190800882036120405108613100526120a05181908190800882036120805108613120526120805181908190800882036120605108613140526121405181908190800882036121205108613160526120c05181908190800882036120a05108613180526120e05181908190800882036120c051086131a0526121005181908190800882036120e051086131c0526121205181908190800882036121005108806131e052508060018261310051612480510808613200526121605181908190800882036121405108613220526121805181908190800882036121605108613240526121a05181908190800882036121805108613260526121c05181908190800882036121a05108613280526121e05181908190800882036121c05108806132a05250806128605182036128a05108806132c05250806129205182036129a051086132e05261238051819081908008820361236051086133008190528190810360010861332052612a4051613340819052612b405160a0518392839190090880613360525080612be0518260a05161336051090880613380525080612c60518260a051613380510908806133a0525080612ca0518260a0516133a0510908806133c0525080612cc0518260a0516133c0510908806133e0525080612ce0518260a0516133e051090880613400525080612d00518260a051613400510908613420526129c0518190800961344052612f80518190819080088203612f2051086134608190528190810360010861348052612c20518190819080088203612b0051086134a0819052819081036001086134c0526130c051819080820390829080090881613d605182099050816137a05182099050818283613ec051610460510961044051018309840892505061200051816137c05182099050818283613ee0516104a0510961048051018309840892505080816128e0518360a051856129e0518760a05189612960518b60a0516120005109080908090882036124a05108816137e05182099050818283613ee0516104e051096104c051018309840892505080816128e051838461290051866130c05188036001080985612a00516130c05109080882038260c051612580510808816137e05182099050818283613f0051610520510961050051018309840892505080816129e051838461290051866130e05188036001080985612a00516130e05109080882038260c051612500510808816137e05182099050818283613f0051610560510961054051018309840892505080816129605183846125205186876131405189613120516131005108088803600108098586612a005161314051098788612900516131205109896124805161310051090808080882038260c0516125c0510808816137e05182099050818283613f00516105a0510961058051018309840892505080816125e051612520510982036129805108816137e05182099050818283613f00516105e051096105c05101830984089250508081826125e051848561316051876131a0516131805108088603600108098384612980516131a0510985866125e051612520510861318051090808820382612a6051846131605186036001080908816137e05182099050818283613f0051610620510961060051018309840892505080816125a05161316051098203612940510881613d805182099050816137e05182099050818283613f205161066051096106405101830984089250508081612a605161294051098203612a20510881613d805182099050816137e05182099050818283613f20516106a0510961068051018309840892505080818283612a605161248051086131e051098384612a60516131c0510985613200518788613160518a6131e0516131c051080889036001080908088203828384856125e051612480510886036126005108612940510984612600518661316051880360010809080881613d805182099050816137e05182099050818283613f20516106e051096106c05101830984089250508081613200518303612600510882613160518403612a2051080981613d805182099050816137e05182099050818283613f205161072051096107005101830984089250508081826002613260510983613240518586612a60516132205109612900510808088203612aa0510881613d805182099050816137e05182099050818283613f205161076051096107405101830984089250508081828360026129005108613260510983846125a051613280510985612a0051878861328051613260510889036001080908088203612ae0510881613d805182099050816137e05182099050818283613f20516107a051096107805101830984089250508081612a005183036125a051086132605109816137e05182099050818283613f00516107e051096107c051018309840892505080818260018461310051612480510808830361252051086132605109816137e05182099050818283613f005161082051096108005101830984089250508081612a605183036125a051086132a05109816137e05182099050818283613f005161086051096108405101830984089250508060e05182036129005108816138005182099050818283613f40516108a051096108805101830984089250508060e0518203612a005108816138005182099050818283613f40516108e051096108c0510183098408925050806101005182036124805108816138005182099050818283613f40516109205109610900510183098408925050806101205182036129005108816138205182099050818283613f40516109605109610940510183098408925050806101405182036124805108816138205182099050818283613f40516109a051096109805101830984089250508061016051820382836124a05161018051098461248051866130205188898a61288051610180510961286051088a03610160510809080808816138005182099050818283613f60516109e051096109c05101830984089250508081613020518384856124e05161018051096124c051088503610160510809820382613060518485866128c05161018051096128a0510886036101605108090881613da05182099050816138405182099050818283613f8051610a205109610a00510183098408925050806101a05182036130205108816138605182099050818283613f4051610a605109610a40510183098408925050806132c0518203826132c0516132c051090881613da05182099050816138405182099050818283613f8051610aa05109610a8051018309840892505080816128c0518303612880510882600184036132c051080981613da05182099050816138405182099050818283613f8051610ae05109610ac051018309840892505080600182036128605108816138005182099050818283613f4051610b205109610b005101830984089250506124c051816138805182099050818283613fa051610b605109610b405101830984089250506124e051816138805182099050818283613fa051610ba05109610b80510183098408925050806101c0518203826128e0518461304051866129205188036101c05108090808816138005182099050818283613f6051610be05109610bc0510183098408925050808161304051836129605185036101c051080982038261308051846129a05186036101c05108090881613dc05182099050816138a05182099050818283613fc051610c205109610c00510183098408925050806101e05182036130405108816138c05182099050818283613f4051610c605109610c40510183098408925050806132e0518203826132e0516132e051090881613dc05182099050816138a05182099050818283613fc051610ca05109610c80510183098408925050806102005182036129205108816138005182099050818283613f4051610ce05109610cc0510183098408925050806102205182036129205108816138c05182099050818283613f4051610d205109610d0051018309840892505080818261238051612380510883036123605108612f005109816138e05182099050818283613fe051610d605109610d405101830984089250508081826123a051778000000000000000000000000000000000000000000000000983036123805108612f005109816138e05182099050818283613fe051610da05109610d80510183098408925050808182836123c0516123c0510884036123a0510861234051098203612f005108816138e05182099050818283613fe051610de05109610dc05101830984089250508081826123e05160080983036123c051086123405109816138e05182099050818283613fe051610e205109610e005101830984089250508081828361240051612400510884036123e051088384612440516124405108850361242051080982036123405108816138e05182099050818283613fe051610e605109610e40510183098408925050808182612420516640000000000000098303612400510882836124405161244051088403612420510809816138e05182099050818283613fe051610ea05109610e805101830984089250508081600183036133005108613300510981613de05182099050816137a0518209905081828361400051610ee05109610ec05101830984089250506123605181613900518209905081828361402051610f205109610f005101830984089250506123605181613920518209905081828361402051610f605109610f405101830984089250508081826000518403612200510861232051098203828360205185036122a0510861330051090881613de05182099050816137a0518209905081828361400051610fa05109610f80510183098408925050808182612220518460005161220051080861330051098203826123205161232051090881613de05182099050816137a0518209905081828361400051610fe05109610fc051018309840892505080818261222051840361220051086123205109820382836122c0516122a0510861330051090881613de05182099050816137a0518209905081828361400051611020510961100051018309840892505080816122005183036122205108613320510981613de05182099050816137a0518209905081828361400051611060510961104051018309840892505080816122a05183036122c05108613320510981613de05182099050816137a05182099050818283614000516110a0510961108051018309840892505080612240518203612260510881613e005182099050816138e05182099050818283614040516110e051096110c0510183098408925050806122e0518203612300510881613e005182099050816138e05182099050818283614040516111205109611100510183098408925050806102405182036122005108816139405182099050818283614060516111605109611140510183098408925050806102605182036122a05108816139405182099050818283614060516111a05109611180510183098408925050806123605182036125605108816139405182099050818283614060516111e051096111c0510183098408925050808160016126a0510882036127e0510881613e205182099050816139405182099050818283614080516112205109611200510183098408925050806102805182036125405108816138005182099050818283613f40516112605109611240510183098408925050806124605182036127405108816139405182099050818283614060516112a0510961128051018309840892505080816001612540510882036127205108816139405182099050818283614060516112e051096112c0510183098408925050806122805182036126c0510881613940518209905081828361406051611320510961130051018309840892505080816001612720510882036126a05108816139405182099050818283614060516113605109611340510183098408925050806126805182036134205108816138e05182099050818283614020516113a051096113805101830984089250508081600161266051088203612760510881613e405182099050816138e051820990508182836140a0516113e051096113c0510183098408925050806102a05182036126605108816138005182099050818283613f405161142051096114005101830984089250508081612ac05183612b2051612b205108098203826102c05184613440518661344051613440510808080881613e6051820990508161396051820990508182836140c05161146051096114405101830984089250508081612bc051836129c0516129c0510808820382612ac051612ac051090881613e6051820990508161396051820990508182836140c0516114a05109611480510183098408925050808182612bc05184036129c05108612ac05109820382612c4051612b2051080881613e6051820990508161396051820990508182836140c0516114e051096114c05101830984089250508081600183036134605108613460510981613e8051820990508161398051820990508182836140e0516115205109611500510183098408925050612f2051816139a05182099050818283614100516115605109611540510183098408925050612f2051816139c05182099050818283614100516115a051096115805101830984089250508081826040518403612e805108612ec05109820382836060518503612ee0510861346051090881613e8051820990508161398051820990508182836140e0516115e051096115c0510183098408925050808182612f405184604051612e805108086134605109820382612ec051612ec051090881613e8051820990508161398051820990508182836140e0516116205109611600510183098408925050808182612f40518403612e805108612ec0510982038283612f6051612ee0510861346051090881613e8051820990508161398051820990508182836140e0516116605109611640510183098408925050806001820382836040518503612e805108612ea051090881613e8051820990508161398051820990508182836140e0516116a051096116805101830984089250508081612e80518303612f405108613480510981613e8051820990508161398051820990508182836140e0516116e051096116c05101830984089250508081612ee0518303612f605108613480510981613e8051820990508161398051820990508182836140e05161172051096117005101830984089250508081600183036134a051086134a0510981613e6051820990508161396051820990508182836140c0516117605109611740510183098408925050612b0051816139e05182099050818283614120516117a05109611780510183098408925050612b005181613a005182099050818283614120516117e051096117c05101830984089250508081826129c0518403612b805108612b60510982038283612b20518503612a8051086134a051090881613e6051820990508161396051820990508182836140c0516118205109611800510183098408925050808182612c8051846129c051612b805108086134a05109820382612b6051612b6051090881613e6051820990508161396051820990508182836140c0516118605109611840510183098408925050808182612c80518403612b805108612b60510982038283612c0051612a8051086134a051090881613e6051820990508161396051820990508182836140c0516118a05109611880510183098408925050806001820382836129c0518503612b805108612ba051090881613e6051820990508161396051820990508182836140c0516118e051096118c05101830984089250508081612b80518303612c8051086134c0510981613e6051820990508161396051820990508182836140c05161192051096119005101830984089250508081612a80518303612c0051086134c0510981613e6051820990508161396051820990508182836140c0516119605109611940510183098408925050806102e0518203612e80510881613a205182099050818283614100516119a051096119805101830984089250508061030051612ee0510881613a205182099050818283614100516119e051096119c0510183098408925050806102e0518203612b80510881613a40518209905081828361412051611a205109611a0051018309840892505080610300518203612a80510881613a40518209905081828361412051611a605109611a4051018309840892505080818283612d80518503612fa05108612fc05109612d2051088203613000510881613a20518209905081828361414051611aa05109611a805101830984089250508081612dc05183612d8051612fa0510808820382612fc051612fc051090881613a20518209905081828361414051611ae05109611ac0510183098408925050808182612dc0518403612fa05108612fc05109820382612de05161300051080881613a20518209905081828361414051611b205109611b0051018309840892505080600182038283612d80518503612fa05108612fe051090881613a20518209905081828361414051611b605109611b405101830984089250508081826102e0518403612e605108612d60510982038261030051612e0051080881613a20518209905081828361414051611ba05109611b805101830984089250508081612b0051836102e051612e60510808820382612d6051612d6051090881613a20518209905081828361414051611be05109611bc0510183098408925050806001820382836102e0518503612e605108612e4051090881613a20518209905081828361414051611c205109611c00510183098408925050806001820382612d4051612f2051090881613a20518209905081828361414051611c605109611c40510183098408925050806001820382612da051612b0051090881613a40518209905081828361416051611ca05109611c8051018309840892505080816129c0516129c051098203612e20510881613a20518209905081828361414051611ce05109611cc051018309840892505080816103205183846129c0516102c0510985612e20516129c051090808820382612b2051612b2051090881613a20518209905081828361414051611d205109611d00510183098408925050806103405182036127805108816138005182099050818283613f4051611d605109611d405101830984089250508081600161278051088203612800510881613a20518209905081828361410051611da05109611d805101830984089250508081600161280051088203612840510881613ea0518209905081613a20518209905081828361418051611de05109611dc051018309840892505080612f20518203612820510881613a20518209905081828361410051611e205109611e00510183098408925050806129c05182036127a0510881613a20518209905081828361410051611e605109611e40510183098408925050806103605182036126e05108816138005182099050818283613f4051611ea05109611e80510183098408925050806103805182036126e0510881613a605182099050818283613f4051611ee05109611ec0510183098408925050808160016126e0510882036126205108816138e0518209905081828361402051611f205109611f0051018309840892505080818260026126e0510883036127c05108826126e05184036127c051080981613e405182099050816138e051820990508182836141a051611f605109611f4051018309840892505080816124805183036127005108826126e05184036127c051080981613e405182099050816138e051820990508182836141a051611fa05109611f805101830984089250508081612a005183036126405108826126e05184036127c051080981613e405182099050816138e051820990508182836141a051611fe05109611fc05101830984089250508160005260206000f3fea2646970667358221220c023781ed117bdc6cc9954b21124866409d513f41d6e62625c05c7258b1b8cbd64736f6c634300060b00330605581d0279562f0a8e4d268ac8983b120a2b25cc7efe863baf9f3883d35783d407011925e405581d02118b770d0c18af93c925a370341e52a3e7ef3ebb63babe9ff2ef571b040302190140038db160f3934511a65a364988e06b62309bfce9624bfc35d87b47b1cdf390d04c0372642689e6177a24c434a02e0b9ca03c8f949c62f4d1cbba3eb30a243898904b021972f9038427a4bd9957b9c53d5997d15cf1915731887e62487ee27daad4f9ca1437c40903ff1dfadad6915319335437540de5a1117556087bde24071ab9f511a593a4490803ee7207875d51756eeaa3c55d9828630f8977a14eb0529ba1bb27ff5013585a8b0219ffff0370ac842ceea956f3cd14c692c6b16e6c525fc53891ed380769d49754885afcc203d0f84500689e703241824795b39e509a81728f02fa82b1743fc681e01af31f2f036bd38926f1b9b2fca3741dda4970d46752cece16e63d8fc0492896d2d2a7a642035fdc733c484ae71aa6626ca50fc7e476db57ddd6bf0ccaf5eed794d7f1f1cf2703b2675e41a00039556ae92c0761a57bb5305ec056a2469617212d9a9cb2129b7d0219ffff033664feb9e94ff00ad71d5a213a9982bfd0861f9dfa6e5e4bf00c646a0198a0cd0305b3e4e88e0478da561cbdd815ea8a857fcaa35fc3847ea617d386a11a8d22250319f79332c7619a1086ce667069a2f5d1443c9f7fe502196c3539a33fa071d0a3037aad59f050e01b7d92ee7ca82dedb81a268a83d6fd30b4c3de93b9187cfaea89035a509b6a2b0493711d64b35dde3db186eab20e148a4eefdecd7972c43ff3c535030fe914755e0b31aea9b4aadb25ddd594e311a3def6d1b5e9dd875c13ca35737103e5565c51247d4d626dd32ceaa0e72898348043f7dfecdc7efcabdc351db34e2303463cd3b9e6bda54f8a24525819aa3e68165866ca274e0011719768ddae9b931c03f406970040d25dec8b5bca962214f06513990389619aeae2d75f60976b9b00120219ffff030ed90ef01582b63a56c77c9b1238b35ecf423907d13f5afd29896c796135d766035138dd123f0557d205e2f8da6b1f941259754f9c61cd34281d6fd8a6d025f02c03d10c617a906bcec8e5a1f9eb833e58417fc0efebcf88fd72c9354beca6b35d9c0367297edae0520ce9f571259ec1d4dd6a16586c663b48af9cce4c63a64dc83a2603a9c5a99e4c334160eb58d229d76cc17b21fe5a91b40c1da8d268761aeec62ca80322a59fbdb678796810e2a9ac80f66aa905bab9fc19ab38c244b8c5b5b199b6fe03c2d642a30aa1247486d2f56351a20447732acaaf6e64c932e6d3be33441e313703e33c1f5bf460787900e7815c2dae785091c875fe9f724cbf47d47680f7f2ae8703a855491913425fd82da822a8f5cff11caa805621f978daca62f97bfa289bfb9703cfb54c5c2750fcfb253f0163a9247c8f84bee1377f65589cc1c161f375940db803e7c2a5d9ac64160b8b4c4612bf12f0106558c2cfd0175c465482ae20ec03b762036ca2b0a9125ec8d60ab67443a9f960df9698990ac66599f0656a86b38aaf4e08034b72b8626f07b6a3549ea7cc11be9e0ba874d9d9a081330952303cb51ba8dede037217d8f0e7e1c9f6ad6cbe3471db7bd5c569a3f6876f3399ca9ac586785c0bf1033530b829e656d1e1f38ec086f6c249d552706f51c2e1a8cd732e45b743cd0a1c0303775b1a66d7fc100c42aad073a7efee4aabe576e1bbe8cf4ea654e2b8c3e43003f5106384404cf25a971dcd5ce9565f8839016a589a5fc5878f36413f581c3805035b59cc0422225133d774901bc11852a38b97c0277b22d78fb3ad68c11b1b20830357ccfaad06f18ab363dec868031aa36b71d6d992e1382c419dcb8ed7ae9efc41034dc58c88617ebcf1178a62931be944c498fec366363c605511c21cc52b6c88d803eb22e3a78613f7ce8082ad7f99a729bd7d401ed955ea6770790b7e075c61afb9034e84ad5c8b259bd1b8f6dd2a2de8b7b04e0d1e1ab7c5f4751e841b238ade3164036e10bad52c11a78dcb6e038489ed4df202d7f0c5945ea482b9eaee0f2b6b8fb20389b9798611d7b96c123287202473fe8fce238db1112aee44aaeec9cee5048b9503ae64e6cd0619ea6d05e349643fc508f0e8ecd82776b88cfe9519da42a1ee787805581e03f0e889df8395ece39ba2c795df9f93fd511aecbd1e46c592c889aed4e0040303baad22c6b2ce0f0fe3d4c022d8560beba7eb569e69c57f94d3e8ba455fc8cc5e03dbf9a4c18770d8326995f74d750f9ad6659287b99bd5fe06175a6176525320b5031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03dc908fb351d157d77ee46d880d8270261827d22b868179d76b52f7be3007011bffffffffffffffff04590ea1608060405234801561001057600080fd5b50600436106100be5760003560e01c8063715018a6116100765780638da5cb5b1161005b5780638da5cb5b146102b1578063b8f1c460146102cf578063f2fde38b146102e257600080fd5b8063715018a61461029657806381993cd01461029e57600080fd5b806343d9564d116100a757806343d9564d1461020957806368a78781146102355780636c099dee1461024a57600080fd5b806316909bca146100c35780632e80d70114610100575b600080fd5b6100ea7f000000000000000000000000000000000000000000000000000000000000000081565b6040516100f79190610b3c565b60405180910390f35b6101bb61010e366004610b91565b60016020526000908152604090205460ff81169067ffffffffffffffff6101008204811691690100000000000000000081049091169062ffffff7101000000000000000000000000000000000082048116917401000000000000000000000000000000000000000081048216917701000000000000000000000000000000000000000000000082048116917a01000000000000000000000000000000000000000000000000000090041687565b60408051971515885267ffffffffffffffff9687166020890152959094169486019490945262ffffff91821660608601528116608085015291821660a08401521660c082015260e0016100f7565b61021c610217366004610bac565b6102f5565b60405167ffffffffffffffff90911681526020016100f7565b610248610243366004610bef565b610377565b005b6102717f00000000000000000000000077b2043768d28e9c9ab44e1abfc95944bce5793181565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100f7565b610248610543565b61021c6102ac366004610bac565b610557565b60005473ffffffffffffffffffffffffffffffffffffffff16610271565b6102486102dd366004610c75565b6106f2565b6102486102f0366004610cb1565b610778565b60003373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000077b2043768d28e9c9ab44e1abfc95944bce579311614610366576040517f32cbf11b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61036f82610557565b90505b919050565b61037f610834565b620f42408462ffffff16118061039c5750620f42408362ffffff16115b806103ae5750620f42408262ffffff16115b806103cc57508567ffffffffffffffff168567ffffffffffffffff16105b15610403576040517fcb1d3d2f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600160008963ffffffff1663ffffffff1681526020019081526020016000209050868160000160016101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550858160000160096101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550848160000160116101000a81548162ffffff021916908362ffffff160217905550838160000160146101000a81548162ffffff021916908362ffffff160217905550828160000160176101000a81548162ffffff021916908362ffffff1602179055508181600001601a6101000a81548162ffffff021916908362ffffff1602179055507f3d36fffb5220a07a64c12b747423f0dc01a37a0a9d1b3ac2ae00325f688812d28882604051610531929190610ce7565b60405180910390a15050505050505050565b61054b610834565b61055560006108b5565b565b60008060018161056d6040860160208701610b91565b63ffffffff1681526020810191909152604001600020805490915060ff16156105c2576040517f1dd7776600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006105d46060850160408601610d74565b905060006105e86080860160608701610d74565b83549091507a010000000000000000000000000000000000000000000000000000900462ffffff1660017f0000000000000000000000000000000000000000000000000000000000000000600181111561064457610644610b0d565b1480610658575067ffffffffffffffff8216155b80610666575062ffffff8116155b1561068657610675848461092a565b61067f9084610dbe565b94506106e9565b8167ffffffffffffffff168367ffffffffffffffff16116106b5576106ab8184610a3c565b61067f9084610ddf565b6106c8846106c38486610dbe565b61092a565b6106d28284610a3c565b6106dc9085610ddf565b6106e69190610dbe565b94505b50505050919050565b6106fa610834565b63ffffffff821660008181526001602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515159081179091558251938452908301527f0ec04394b19756dd5cac9bd350faf4aa4448cd0658118f0b86496179e726c4a1910160405180910390a15050565b610780610834565b73ffffffffffffffffffffffffffffffffffffffff8116610828576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610831816108b5565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161081f565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8154600090819067ffffffffffffffff610100909104811690841611156109ba57835467ffffffffffffffff69010000000000000000009091048116908416111561099657835477010000000000000000000000000000000000000000000000900462ffffff166109d7565b835474010000000000000000000000000000000000000000900462ffffff166109d7565b835471010000000000000000000000000000000000900462ffffff165b62ffffff1690506000811180156109f8575060008367ffffffffffffffff16115b15610a3557610a32620f4240610a188367ffffffffffffffff8716610e00565b610a229190610e1d565b610a2d906001610e58565b610a6f565b91505b5092915050565b6000610a68620f4240610a5e62ffffff861667ffffffffffffffff8616610e00565b610a2d9190610e1d565b9392505050565b600067ffffffffffffffff821115610b09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f3420626974730000000000000000000000000000000000000000000000000000606482015260840161081f565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160028310610b77577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b803563ffffffff8116811461037257600080fd5b600060208284031215610ba357600080fd5b610a6882610b7d565b600060c08284031215610bbe57600080fd5b50919050565b803567ffffffffffffffff8116811461037257600080fd5b803562ffffff8116811461037257600080fd5b600080600080600080600060e0888a031215610c0a57600080fd5b610c1388610b7d565b9650610c2160208901610bc4565b9550610c2f60408901610bc4565b9450610c3d60608901610bdc565b9350610c4b60808901610bdc565b9250610c5960a08901610bdc565b9150610c6760c08901610bdc565b905092959891949750929550565b60008060408385031215610c8857600080fd5b610c9183610b7d565b915060208301358015158114610ca657600080fd5b809150509250929050565b600060208284031215610cc357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610a6857600080fd5b63ffffffff83168152815460ff81161515602083015267ffffffffffffffff600882901c81166040840152604882901c16606083015262ffffff608882901c8116608084015260a082811c82169084015261010083019190610d5560c08501828460b81c1662ffffff169052565b610d6b60e08501828460d01c1662ffffff169052565b50509392505050565b600060208284031215610d8657600080fd5b610a6882610bc4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff828116828216039080821115610a3557610a35610d8f565b67ffffffffffffffff818116838216019080821115610a3557610a35610d8f565b8082028115828204841417610e1757610e17610d8f565b92915050565b600082610e53577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b80820180821115610e1757610e17610d8f56fea2646970667358221220ab574ba77d477f3c4bc06e93d79401ed06bbd481d7dc783c24356754ee02bec664736f6c634300081600330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054e37f7c80ced04c4f243c0fd04a5510d663cb88b5005821039cb877dcca3ddb132cc85136c4a39c0eb086f476450e4ea7789cd3df31e1aa3058180a00000a00000a000000000000000000000000000000000000582103d94d57ffd1c4e031cc66bf0e62a7b0ac8e9025da965534a9bb9fb7011bf85fe058180a00001200003700000000000e9774000000000004dd260003a27da9e1f7e4b842c59a7b4cce4094e3afd7e3cf5e30c912a0783d76ba9bd58f0058210342823925c61dd0d19fe7c19786c2432ae2772e5cbf04922979abbe27aa5a9a3058180a00000a00000a0000000000000000000000000000000000005821034e840d0304c8c180fa9f7ec693c3fcea35a16169f044bc4fa582687e12f93a705819025800025800025800000000000000000000000000000000000219998405581d02657f4fb23716ad4ad018a5c176830420507e34993943a528dddb4b3e0701190ea105581d02599653da9a925951aebeb3bd202f3e43116c3934fc9d7b6e2b654b9e0c014702687fffc60bdf02185003dbf28506c2968f542161017685c7b9d954f76378d887a15b35ffd5b4960ddee905581e031198d65c576d9edf4a47059eb7543004814a7127af819f3b983a4b427008465af3107a400003acf0299032047945276a2973b8d4459317d8508ae0f1de1b78628f3b0436bff20141040219a36303afd25465fceac7837471e41d8c16a5e6cbc50dd4324533276a3f844552e9fd6b035f019d2b14587240f7471f9047bb13c736ce644e0f3d49fd862c86c3b7fd504a03468bb634a8dbe391acc5ac1aaefe4592a43d826481f8a5cd2207de04fbb40d38032c355af7aba75fe46fd91db2c83a6720659380e53443dbf32bdbbbd7c1343c38034dfec0e90adb2142d7c8b243aca028d862bac2bdd4d29ae6c8b00a1172bf413403e0244ce31515f55da13fcdea2bac44d47cc8506bf82f4609eb9ee973f614b219033758ac39082912edae70614647240a01cd9663a7903876a0e26a0b7437c51881038d05415dc62f4774e246622e67ec66ff1c693b331cf2a20c18ba94fe5e91b33903aaf3fd3438400bf931fd37af2c4d121a43c438ea1a8d533efc20fe2a4150b50303ec96eadc3a91d6aea986ee87e87e1191c587c1ece71bbd0d32787c980555cbde0352047e454ed55e13d3ddd828513fca86650275ebc4eeec5f35b945007496f6f5033ddc117f4d0b1320ac72692c7a96656f9a7f89d4413a9fe80e285dc9fcb6f9c803fb2f531d43b5284c6f71b8bffe70e1bcd67e763a34bf3c2a0fec9aec7dd1082203d2a4cf3dde255bb7409133b644ef83755e156c14797a962f954111d2231c86ad0219ffff03b1e1fbb805ec04cbddff06253e63ccc42811ae4a73590aea92403eb0b04e7cc50219ffff032ed20a522f70845b62d7081c00a051c10630d9a14f7b9717ed3c5e2a8f30f28f03f32fb5f939229a8f598afa44653bc9073459d26472d6667932627e8ee9ac2c3903b3b92ab3df7be396dc6a0a93945eead783b7a7dcedc3abed15b96bf2125160480363de967c6450c669e1b8f9ddc0faa7a2d324bb2937240752321287d155e01fab03dcc49532c3cfed3483332e4afd6fb560861b5ac3a798a0c449e9b3606bff7b4503a75a2e4c027d994a6ffa474421fbdec135e823f4033ff9d15a358fbcd80e91c403782acaa696a7f88a50711403815131f98f722498388a635f6914636f2a158e7703d8d736bfdacece22cc5821283617d1e5341fa563a777216a3ce98fc54495349203aad64c016a307a4f96cf1312f9490f706a590b41e30dd50b493439c9a92b8759038cc3f39c989d146f331c8d89fdcbaea76850bc7f1185d133afd62c5cab21a4c40306dfb65267f639825191cb8d4bcfc83208f58043b2407ef337b9c06f5c5b92d303e02422b643567762f10b149fb4c1125e1b9534bb1602a1a106df60d67400f8f203ad6d1796d63339c8675c3d92dfd1f9ce80a3a300267f8be84e3b583148b97f09031b07dea95702074858e78f4145348d34033fb4f9398241df842ee79b6e83bd6b0219ffff03b8ca74fc85482dc7eb9ee2fd3b4e47b2ef4ed1b2589a7e3845abfefbdcf2f56903dd99cd83a548f421b0fc90257baa540594bdf68a05ee0b5249388532a3d7deae0219ffff036d629f4d12525944ff9fb5901062931184aececb0ed456934dcb44c227b4ff020399ce440db7034af99114e0baed2a88552715e91fb20b49df602fe8ae82935b3b03cfd5d3d7bc5ce7d15420e77127e15b59cecd543a93b57374a518c533468a972c03739152434fc466d392f771d143854d0867ef281697f6335faf7b7752fdc4e0f503450dd77507b2f5a46b9f67d4f10dd80882104e70d0380b08b78362d32c24ad0003a40dcb094f958eccdc7b92317c2b1e5338f935197740adedb178e46a9892ed78034c9dc07829f93cbcc8a249274c177c43570a09c2e50270de823f09dc72b7d43d03ed6572447442d4216f96ec4c0893b86c95c450a2b2f2a7593efc6a44ec162bb903781fff9f186b6f638d2b50e6e951fafc40d0b7bf4e0e5737eae05ebf01877ae803515de1ba9acfbb44d9f665c66c25d6ad4bca4a79795e15d2fd1ee2b0900a9a160394556ed1e7faf10fbccae9113e0e505e934c6db71d56d876279170375369e03403a3e2cd6fb23ffe161d65380ad90547e8dd8242fcc769e43248abf639ab1cbbe2030a770cceaf87f3c20c31e864d8b60248c36b50784290795526fb3bab0b23f3d003e141ef1ba98b839619db73252a8fe242d60e09ebc548617387144fd2dca38f0303c1fd8248b1aa98706aa3580cf8eed0a95439bb2c4c68a8c00eb3575cecb6dbff03e46f4b4695607a2e67104410aed110bf4b8e209d6295a1127902076d60f4c3b803dcd45488217684e9ef4969ccd82f0569dccebda010dbd12a5f2003c84a88a53703c6b50ffe6da24a2f1b858d52e17c8436de9bb180bbeeb9de9069327aceb0ba2f031dd291cb7c89b577d53e4ab2a0b0b983e6f7138063f11d8fdb20fb8b70ce567703adbf0e50bf46fdde4917af12fc700b53f8e4e87ad892dd6502291f5bbe527ee80314981b74921ef52ca94177bfdee1013de127c2e4f294e0f6a03c6c3cde215de1032d0657db7a55bfa8ad6c4e404150ab59f1b4edd06723ee568323f57142c3ddd703478147048366e3d6910fe6855e80ea4020376747dc99361ecd63701156d786a503ca27e474a9dffcd03c69ef7dcf8182980253160a64d592e0140433cf16b09bb103ef3b4b4a615fc41f04c9974f1c64bb9fbe6ef7a53cc605bc1ea1fe18907db88b0336c09656d89ea57fde331fc08267ae9900dda2aeca6ca49c179c9f8dfefdf8840368c977c18209d48d19782ff5204126532b46f1afb291e8f933739b0323d22a32036485146ec117011759656590d2c062d3b929c12066d7a7bc8154f4dd8430a10d03eeae5a4b9e2b486cf879f20d99cdcf4a27ca1818e6a122bc6df15fbc01e6f5ad0385561ec83aca1c024cd612aa35d4f3acf71c30b44d041d0682f1431e2f54ec2c03d64648ca04d52c3b6e0c9de1ab252ef823a9ba3fc6595a33aa454bfdc7e6bc400334fdd51351cc32e5f051c29797447b0c8ac19f80c0492227f47908bb25ce19820309c73ebdce654b630bd4a47fa32dd8f5d857173243770cb2f7ec10b534eedd4003ea8794eac4ef91b11c9e2a96c9886f036b83cbb40ce78f7f7f51ea753312fd160339c8e491face6ea2191593a6ef2a84e576a883f6ceb6adb999afd67556b02c240316c8b0f501ae662ef539e902aa45b8619f9e0f2092f13c4b8cacf17c2de9269e05581e030b06ca4ea2b6d3d000f8a758860c9a24bf89f4167a7d5de0974bde36c00c01470d3cc6fa6ee00003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e037281751ec39295c4286904ae5d7317d54d7c64799ccf92fbfa4f51e43007011bffffffffffffffff039c9a022bab599f603e6471c5aaa82aa1cea2a014f4ab88b4b5e607cfeef87dff05581e0338d445a57d410114bb58665c3ee13d4dba435250fc3a199fe88ab2a8100c024702c88f402d37880385b47effb49126fb267d9cf13e6adc15dfa223b1e666b64855c79e140efa745b05581e03582e55f5be6bde08e997461b83ccc5e17dc5c25506f36753cf0583fa4004030399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803576e9b2dfbe79b5f8cf920538168341b71a8def8b44b556910dbb66ae82a762105581e030f29b16a45e50a5a7e79441d97888a5bc0d02d82f8e991f1369ef92da007011bffffffffffffffff04590647608060405234801561001057600080fd5b50600436106100575760003560e01c8063715018a61461005c5780638da5cb5b146100665780639b2ea4bd1461008a578063bf40fac11461013b578063f2fde38b146101e1575b600080fd5b610064610207565b005b61006e6102c5565b604080516001600160a01b039092168252519081900360200190f35b610064600480360360408110156100a057600080fd5b8101906020810181356401000000008111156100bb57600080fd5b8201836020820111156100cd57600080fd5b803590602001918460018302840111640100000000831117156100ef57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b031691506102d49050565b61006e6004803603602081101561015157600080fd5b81019060208101813564010000000081111561016c57600080fd5b82018360208201111561017e57600080fd5b803590602001918460018302840111640100000000831117156101a057600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061042d945050505050565b610064600480360360208110156101f757600080fd5b50356001600160a01b031661045c565b61020f610570565b6001600160a01b03166102206102c5565b6001600160a01b03161461027b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b6102dc610570565b6001600160a01b03166102ed6102c5565b6001600160a01b031614610348576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600061035383610574565b60008181526001602090815260409182902080546001600160a01b038781166001600160a01b0319831617909255925187519495509216928692918291908401908083835b602083106103b75780518252601f199092019160209182019101610398565b51815160001960209485036101000a01908116901991909116179052604080519490920184900384206001600160a01b03808b16865288169185019190915281519095507f9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c94509283900301919050a250505050565b60006001600061043c84610574565b81526020810191909152604001600020546001600160a01b031692915050565b610464610570565b6001600160a01b03166104756102c5565b6001600160a01b0316146104d0576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166105155760405162461bcd60e51b81526004018080602001828103825260268152602001806105ec6026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6000816040516020018082805190602001908083835b602083106105a95780518252601f19909201916020918201910161058a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120905091905056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373a2646970667358221220b47b03a0c984a0faed73425d34ee172acb8f5010c64751f78c7f645cf8dc2aad64736f6c63430007060033005820023533611852dab601968360acc774c587d788cd52e8b4afc2ecda8b8d709a595425ace71c97b33cc4729cf772ae268934f7ab5fa1005820024c81ce61602334f862d550d29d38f0a8152f0feb7dc26f6c2b1d2681a0a45a54d3494713a5cfad3f5359379dfa074e2ac8c6fd650219200800582103c8c66b10bbc312583ad31e7a050abff2d6a89af301a993655b4f4f4beb50822054b0ddff09c4019e31960de11bd845e836078e8ebe0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054543ba4aadbab8f9025686bd03993043599c6fb0400582103244665d0ac1981dbf5cb7735da0437aa38311e17622d656e71be332b336bab1054420000000000000000000000000000000000000703a84f3b3fd24dc020c1507749c8da3f609cdf1f749cd7c32c40c901923203746b005821032317db4c0b8609ca9dcea495369b9dcdb86a32f49e761a38266e2a6677cd143054be5dab4a2e9cd0f27300db4ab94bee3a233aeb1903cb0b416928908755e908a490841bf7d4e41d2c25a44738385b77a05ba733204f00582103335211957123dd4406ed5baa0bb880784b321625ef3775987388985d6686e330545e4e65926ba27467555eb562121fac00d24e9dd20219b03705581e0356ff7da9d7df05e71118619f9c448bd5c7292534f9ccc38d914a8a4c90070119064705581e0320af2cffb94f6241c3b697b23498833912f5dabe61f0d2d4d346dce2900c1547882187252ef746021969f20219ffff0338e078358796dd998cf387406d4e1f33a094f95881ad85f95ba74e8dddb100b803a908dad6d145ef1aa48a6d3d9abe34c6190579d8b21e1244e76248248b1a60510219ffff0324c6c2e2f2c16a00256782fcedfa774401d60e119483fb0bada79d2cafa378fe035bf04c475c763c6ab72a24104f97352562b067b30aa73b6d2fc82b5c7f123c69033ee2a80c6d14479ba3ba9a269545397e2679e61ea32e4299516fd0200b66ae8503d817895c4fe6896d36ed8ea1942362e952ee296c948ee914756f100a710ef047033efe6ccea44fe70c648482aa668242aa0ac5cf5412096d86997265251bee003603fab75cca98cfea5028075712327f030163f977c473c09559ba1c13162f75acf30388a0ebf789eb2cf5018e0c7d57d3c7ed267ae7bbd3434810d81e2a0c17e00e9b032bd070089bcaee7442030cfd112f19a30252e557ef4ab2d1bc70b35a1522cd4a0219ffff039ca19bc5cf1f9f154d450dd12174e0716f0b561441140ebd8876a7a2226d027903b4e054b48e0d19d364f047f89146ccd0b71930aabe2af502d498afd0d1de525703db479b117bd7058985d9738d6791d4dc05131ba981f3c640499e2c508bb4d4820381b5e2f517a510fe7cebcdd5596157dd6055dc5982a646c858d608004a62cde403ff3c25375eca45a76e71453a7404a57c260d4671610a74edecb0b05183a7414503e9ff587dba8c83a72a80bab507537e3786383161a01b6e0feb29dfb525c6008603ba2eb098d1fd07f574c84f7fe68baf0b668adb05829c44d7ee05a601e0388857031a23780cb3ff3b57089d58a9d0981c7ff7a7e1b469069327f1c268dc080d84b503d29139cb6ba7066a2f6dd3c6dad524293690268c8e7a2686b3ba7e1d04cbb1240375189fbe4adb2eb175431acf278f587e0eb1d319e458f82782bfbaf7acd34596031a5217ff6fad41849d99f9827e3677372e3657564122bae5f981d0a9ea0027e703c789e20d98d3b9eb93abee2077a0445698a8afa0207ad2b0a51046d6010568df03d15ecb3f7ee8acf744ea1a9b291edcfd91262b211e057c8a91a2f8fd46cdde2d0394369b31fe245e9251286728cbb1d6815da2af74c681c3c36efec63df92383fa03206708f6059ba19605c3eb2af8025105a424436585bad376ab7e2391f509508b0219ffff03e686c9e2cb5323d2083fbfa6f2a3b84827cf755b9def496dcedde009e35a96ff03277def4e985549d6dbc959fa32dde6baa9f8fef0e209e61604090c4ebd86118803adfd03d18062f0612b2f959f52173162506fffd600a08fe55bcca26a9e5c75e403b738d35fe97b8e1fad7c4abf84979f3a1e4ad932f0cdfbc1f24a0405e42044ee03fcb87e50f4742a2c0ef08a5d67210d5e6e4c029b6adfc0e3220a9e6079de21a30316819cb02eb1f0875f2676880735476b62160fcf4f842d6e007cd5c1757ad9db03436d52297f8a97fc80b3104ffffecdc44a3a433908f3f7d54705db8e972b9be603722a9be85aaa90c2ff4fd135371d90e78e6c1c87653dd827af58e35664913f66033392d2fe8a1743908d4193dea7ff262997a032b0e4de20b2f9bfe5ee3967d1140398650fb113b6a68911cab0f06a4066fe71eae66f7f86e2e577ce4ab1ba2896280343a41eca606e84a130f67905b0932cd29a458ea5aadb010620374b148234868103376270d10090087fa49d225047e3e8454ace794c60345f9081a9f7fdd0f8d14803589674ab42858c08745fb1b7dae1df07fefb426a96bf2d04520d7c02581646c10314b64583472abd491c3d70f0a95644905cae8c280f9804507a7c5ccb7ad32d66038a70a82e0deb85a74eb686b22451bc8849142ec11471ca86216281735cccd4db03d7068209a91ffff8f38c60051a989b5f251209a817612d4be049ed273c77c82103f698cff3b73236f36133960ccdd4113f52a52bf2e3fbb6752c864a9abd67de6603cef62307653bc0ddb7b8d8a45320f107a0e24f97af6a71d116dd8c04c51461d30347da50cca34f958ccbfa647931e9aa78bca79afaf9155503b3e92e3374cdc6f80327f2864f836361477e1d490120bf8699fb44c7ad84d73c68d81e648aeac6e73203008ee15843ec20e15e3f26eef046cd18e92caf686f911b157258812f21c2aee203dba37332366dc5c4253ac8f72727c04c058bc6ce8c2eb9616e2f4a4326725ced03d52fec5a481a554a3ae28ada04bf9e9d75b77c4d5f19d44756f58714f8d352ec037ab7c09a1364731db0291e22a2504b32b01c8e7ac5e53b3d548d4dffc0f7288203fad028f10de5c4d993352d15c2866531fcbde56a0e114008732c635a69cf6f570327b8ed6afa274df9046961b3c8511f87ea372d2a72677a8f6cdb2742878b490503de03008bce3f62fdfb9c0a590e15f0980717a3e7fbd14fa22ed544d5d92a0bf603fdcdf4b48ffb2a5eff11233a93af85e02e784bb10d875904552e402adb7b0b3603d566e4a23ee0c02585fcdb191d9fabed804aadd5620e84079d448cd95d47cfa303b6ff29a524330d0078e31cd124560c62e45b82d2c5ab66949d49b6c7ed3e22390343ad76620dce4d91097b77e11ea5210041cfb1ef3c8ea6c40de923a10e892d5d0339dc33b93d62f3c3af9c4eff0e73f2144387e6f2845dc985aea9be67c8fbd6580385c4be12728879b2d3f51525b6cc86a49d3990e186f383f6179066daf70cc69f03ca7d94ba5c26cf98495f01198069bfeb612f46281b783c95d16c4b4dc1c5dd1403427778d181beadc2272ba2a0495765076fcb1a984b4e21ad1f8f242a8bcb300103dfda723b40863a4e7d650fcf1a4171a5fdc72750d08f1c5c9c5f0c0b9dedbfef03ecf68bcd4723f760c2ee042a72ad18134eb62c631e5d1155b509cd64b6d45a9703bcf7dfcd7dc1f5ba40b18804d680bfa7ea6285dbd0610736ed5de70964e2dd6903e64279ad91044040b711c4ddefc2af2d4ecddbed1d62b534739b41acb0df2c1303868c0285baf95be7d3c590da5ddd5007812da9fa4f601a55dea3cde82b4babed0348487f8261483a26e931246b8a54392f2295f8b40549bf2bfb1f95335fecf1d50337721547845f0749a8254fc7adae319a4397384ba5051a4133293c9d86664ba5039e587a9895eba4b8a1cad41c01831cdc2fa2dc551e2b5526cee7ce55ba80f8f003f82d9c027e634402c16e2e5709314962af61f94d3991e0bb5842d17cc018690d03cba6f7bd37a6f23aa6a4766efa63dc73bc931cd21e878c31e3e603cfcbc2b86e03e7ff96f9ef5cff285b4d2735527a17e77e7c3686beae9cbb7dc36346ea29459205581e03c51ada2611914b767e108bce0d3481fb32cc121a6448c0bc41de64f2c00c18404637fa7050f32805581e03b0cd7fc1334605b6eb7918350e8faa9500d735650abdac0486997e07900c024719893c9e7ebf30045909126080604052600436106100595760003560e01c80632c82595f1461017e5780636b9f96ea146101c45780638b78150e146101d9578063c0ee0b8a1461020d578063df8de3e71461022d578063fc595e101461024d576100ed565b366100ed5747600061006961026d565b6001600160a01b03168260405160006040518083038185875af1925050503d80600081146100b3576040519150601f19603f3d011682016040523d82523d6000602084013e6100b8565b606091505b50509050806100e25760405162461bcd60e51b81526004016100d9906106d9565b60405180910390fd5b6100eb82610308565b005b60006100f761026d565b6001600160a01b031634600036604051610112929190610710565b60006040518083038185875af1925050503d806000811461014f576040519150601f19603f3d011682016040523d82523d6000602084013e610154565b606091505b50509050806101755760405162461bcd60e51b81526004016100d9906106d9565b6100eb34610308565b34801561018a57600080fd5b506101b27f03fc19832df15cccfc22d6c1176bc6092e6e1cdebf6e72e4f417fc07366ef17781565b60405190815260200160405180910390f35b3480156101d057600080fd5b506100eb6103ff565b3480156101e557600080fd5b506101b27f73d3105b92ae9fbd8cfb332a89d43eef25531c5299a205f2357f60c321a115af81565b34801561021957600080fd5b506100eb61022836600461074b565b61047c565b34801561023957600080fd5b506100eb610248366004610818565b610501565b34801561025957600080fd5b506100eb61026836600461083c565b610308565b6040516321f8a72160e01b81527f73d3105b92ae9fbd8cfb332a89d43eef25531c5299a205f2357f60c321a115af600482015260009073cb6767ad20ef5e808c0c20a95c3cc2fe1674b34f906321f8a72190602401602060405180830381865afa1580156102df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103039190610855565b905090565b6040516321f8a72160e01b81527f03fc19832df15cccfc22d6c1176bc6092e6e1cdebf6e72e4f417fc07366ef177600482015260009073cb6767ad20ef5e808c0c20a95c3cc2fe1674b34f906321f8a72190602401602060405180830381865afa15801561037a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039e9190610855565b6040516326341e2d60e21b8152600481018490529091506001600160a01b038216906398d078b490602401600060405180830381600087803b1580156103e357600080fd5b505af11580156103f7573d6000803e3d6000fd5b505050505050565b600061040961026d565b6001600160a01b03164760405160006040518083038185875af1925050503d8060008114610453576040519150601f19603f3d011682016040523d82523d6000602084013e610458565b606091505b50509050806104795760405162461bcd60e51b81526004016100d9906106d9565b50565b3363a9059cbb61048a61026d565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af11580156104d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104fb9190610872565b50505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610548573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056c9190610894565b90506000806001600160a01b03841663a9059cbb60e01b61058b61026d565b6040516001600160a01b0390911660248201526044810186905260640160408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516105e691906108ad565b6000604051808303816000865af19150503d8060008114610623576040519150601f19603f3d011682016040523d82523d6000602084013e610628565b606091505b5091509150816106725760405162461bcd60e51b8152602060048201526015602482015274131bddcb5b195d995b0818d85b1b0819985a5b1959605a1b60448201526064016100d9565b8051156104fb578080602001905181019061068d9190610872565b6104fb5760405162461bcd60e51b815260206004820152601f60248201527f4552433230206f7065726174696f6e20646964206e6f7420737563636565640060448201526064016100d9565b6020808252601e908201527f5478207761732072656a65637465642062792064657374696e6174696f6e0000604082015260600190565b8183823760009101908152919050565b6001600160a01b038116811461047957600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561076057600080fd5b833561076b81610720565b925060208401359150604084013567ffffffffffffffff8082111561078f57600080fd5b818601915086601f8301126107a357600080fd5b8135818111156107b5576107b5610735565b604051601f8201601f19908116603f011681019083821181831017156107dd576107dd610735565b816040528281528960208487010111156107f657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561082a57600080fd5b813561083581610720565b9392505050565b60006020828403121561084e57600080fd5b5035919050565b60006020828403121561086757600080fd5b815161083581610720565b60006020828403121561088457600080fd5b8151801515811461083557600080fd5b6000602082840312156108a657600080fd5b5051919050565b6000825160005b818110156108ce57602081860181015185830152016108b4565b50600092019182525091905056fea2646970667358221220ab405a26cee063cb6668503f85d351b85649823d5ff8e66fa76005aff91a8c6064736f6c634300081100330605581e03eb9d7112034b85845f2ff96a5688eb79dbbcb9d07ebb8a8e5678d70cf0070119091203d8ad25e161a29da763bff5244e05b3b0d838dd5962ff1a68cd3b95a1a4a3cc6105581e031cfdebec247b52984efec0403946e881c1f6c0ec82d8dfff81f9549df0040105581e037ac6e80da048ba57f9285bd90a59f201138e76d231c4cd610242361dd00c0146b5e620f78e0003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03aac674350b59fb2b61d0b8d6106ea3372fe0a13e0c7dde8c99b8cd9fc007011bffffffffffffffff05581e03431808355e6c1a5c623db112958bdce1e260ed7a71dcb586b1ba5535f00c11480e188a4bc2f095b003404231b46225a9e8aff1e19e87502348147f7ccf7cc924d1d11d91ea4c87d1ac05581e03e47c6f9c4e1ab01daf98eaa78351687db40bc36042f4184db726b4ece004020219abbc032d67a88d2256a15ed16f48bbfaeced0d22833325da7cf263cec5fa54c44aa6b903bbc06d1853d054f1c2d145dc0d7c60568eaff13ec180a2840036760eb89cccc203c368244ff0d222d1beb0361c8a90c2d2af96a3ca92c9bf57d6a92a7ca79d6074031edc7192ec60634618504f3e59808416e3d67bd6a15fe7e73a36efd69f03461d036770005e00e1a49cbcc9242138d18527458ffe54ef10adf77c87fb216dc6a31203ab7484b78e1c211a371d46b5f753fec2f9fe0aa7da701790277755529f7bfc3503ab9b3156f6d9411039bfb746f0bc2283edf8b595dd0c16e21ea89c94413be92503bfc932f5c04af3f71394cb99706fbcad38c02ec627c56ee65ddf05fdd4cbe7550312508571e4362fc459cc3c809854498d9a49bbbd6394ef811b31001d6f45e3480219ffff0219ffff0219ffff03f02f8834c9c722eb1587f54e74ace2f73a7129a96fd2b3862325d51e49da5a040345c66e7176ecca52f4ddd5c03d92c3deea1c3806e1530607d1a2f0067a708cc703d26635183777511969444524f56ab4b94ec585c827da194e0e9ed66c451bd5fb034249c68396b29b6ac9fd3c77df2f03b19aef971146808bb17d356f6b73af22160300d7db96840ff999b9dc5f5326e9b3d226f0c9d0e55c76ef14b5c3009b899f5803792f0ee44aff655f26c6df6d5734b032f42a85655c0487b96d7e4521d3daa53803f4176a23df103437a949ba38bc1fde9b806d683428e23d661b6d1b95fec6f4b5036a60245457486cc39a13da3d5810358321b79034525f080b9a7094b33b0b6551033c4abb1b7724817a1bab3f528954da6febda8139a9712070a67d4986715e358903a1798dadf65183894b5dc947e0a1d55cac24833f9f2a8cd6aa3c0576c2440faa03a52e66f46e22a80355197a971eb0a866e4ed6f333788d5612bcb3e87b8533c01031af924b85832ace458b0df23d6e6c5b2c9aa6434b97fda488a4343abffaac4ed03956d11de53983170baeb3a3ccb56079216545bc589535d8a1955658b10f41e2f03902a5c4205de27d0be0911222386d8c82afb001143a5398118b432a8999e2f5403f3c3f134db9bbb826e19e64f8bce370ce84f6dbf5e6e9651913c1d5f6bde93750327704b75653ca4f93ef4b789a1af8c7e7e241e13f6c305e9eb7d28f2334e064c03d34e327f13f1b2cc3eaa1407ddda97125d68c34ac4f926fcf74d79458488b87803b11efcf09779f51f53b2ed8a9272448579b886d9db43c3d35d1997c1bbf03c6d03cb30c9ad7ae6e48a10eff53acd4b1e07bec6e7e43f1f97afb2fce356e926e93d037701e8fa95984897cd92c26345704457bad380f44683dfba72dfe00dfb934bdb03ecd7724d699f9a1e40158ce8a608c0d763b675a8abd25ac568c6bd5925c9ca0b039ce37a41135ccdaa5220c402a39da517f010fa7778c43633a13812ff819dfbed03f7128dc8caa4aa0a299df83bdc6e003e1b652c78e7be37b3e91a4c0f4c28dcf203bcd6158991bba849cdada900c78cc2a1279aa213316949ab7971596c8f650dbc0384ed659fff52f3d6920237905d1bc6fe774cb0fa7fd27a91c219d2842d1d1c61030672f7e2d0eb332384fc1a65c782250921cbb19b25acb5b99551e5a3240111ce03c08d1fdc979f170082c3eff517c2d3e84d5df8ff2599c3b61c7896a57cdc91960347737f32ce04433b8c010854c8740b31e06d08547ae83d703eac3af62970f78c0302eda51d1c4c3aa7bbb8f8995708d54d5c9dc2d79d3df8cf1eb7c0dad162d907032e9ac318aa5ec1f1addabbe83404505c3aabf84cb8f095b2c0cdbea7a286e9680362a613120ea06a89d47b19acecc47871a671e210f1eeabf16e85e06690b327da031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03ae188c50a20e374478e44380413dec05ccd100ed7543a444dc750ba84007011bffffffffffffffff05581e036b54e84783b015677db7404dc51dc2031090512a458fd04055826d19c00c054738005fe182214805581e032f95929193ca4b0107e8ca8e8846157a342450d44ca2e5e4cfd15b6bc00c024702611be7e929900313701df4e7e9a55a6c504950c9e38dba21171195886427fd2702e1e06ce912f00322b4cd2858f4bfc561a13094d7a477905da2fb332b57485603ba98c834ce3fa405581e03d766316fc271a4a43519f39265f8e7e0e03cbcecb4e3f89b71946bbb600c0347100e55619c1b00033b8bf6e74007aad96dd5e5b5bd1aa9c6fa04e721295072f5241f85b4f780edda05581e03db41e40755816e0d0294a6be20d3bbed8949bef9030fbf5bf16a60dec0040403fe8c2a02ded4b04276b7b756ee6cb3d5f0e5bbc659bf41df70b0f66672e3aeab03caecf49255f15609d0fef6e23faaccf8dc841beef896178299556026d718f30805581e03177d469ecc83176d6c42a12651355000c2186ac8a2b66365e6b34d1070040205581e03880af1aa960c9d304ace31014c99b0031b3066158ceed9d29b5a5c3730040105581e03c70a7cec2ffe58041b139512220107cd2785050b8d11d4ef30db81dc000c01470bc810e2aa47950219ebf703f685ad5ffddfda98d3b50a0e8d64df5bc3702b3fe1a89031beb391624235ad2d0314e9d10d69607da3890f72e10c91dff9056cfe90419e614b7ebe256d716f576f038f162c4969f12c06f20102f62af86b4aaa31a8b95c499f26c26d8ee73ae08d8f03bcb50dc863b5467e6b5fe1f32eaff149fb98706c4e12d3f7076e161f9dd290870321bc947cc976cea13d12f0933280cbce03695e5fc79de98669d998dfdf661fb903929653b426b20db869ff1720f079145ce4759c1942d2df62b7326a499a98f8fd0219ffff034eb8c6ece8908ac7eedaceda78c0ef1f9b7a7837ea80994b7d9ffaf7ac21d4ae0219ffff03a26754caff096cd47bfbaa74326c4f80cf543d901a2d513fc2d5756444af669d034ba54f6456be2f03ef5b41e03bf07d49afa1e6934b51b6269ca0bb6e3c1b4d0903582ced6718c4e6892639287afdf8383816a06c91337575318376bab57ee9a673038c4922ed4872e6df9ba3e68ab0405f1c71ab768caeca4209e08743f82d025bcc038b365a5f91a8ba574b99a2b005ad4f7d247549ee5fef987a23dce09e0283365703bb4e28ce2c2da38fdec2d7e9b96d3e42851652d94e66ffa27b2ab062fa371c7303c82854fcd89a776d7c4194eff0ebe7007ce1e258d7d8397e1862e4b9d7b4c8a9032a8f6c31c24c8969e7c40d931ffa091405c066469fed932fb635c06a62916fd8032a9ec058697c0c9d6de6d79028acf28f9b55ccadcbfd9a6ee6b7e111c7bece9203c0d730238a51a0bf5c86c341cfd4771933116ec37e4043bc4ecd219680c26bab0219ffff03b9c554247e4534c3c8deb025ba1643a130bf970117f19ef082dad1984cf827090219ffff03d7e913f47bbb48e0f4541d03ace5ff8759be3b295e7ee3a8d6a0aa4fe4e03c89034e0b317182094722653ef0a5ca8c371f19f510c030fc4f1a250139c4f0aaaa660372444b70bca6f26a3d41ee0ee774ee6ceaaff73e6f16cfa4fc6160f31d6e3ef7033417f64cf19894cc1d6f49b21081bbb5309059d3b71b95e7e828cdb19206419c03ca17aca0ac96e449dfaed9e4737b15f95a1ae2dcc45d24b1153ad570bd4d9ed8033aa7967e66a8ceca8307ebe7a21b4f7909207105347d71c23be911be0383635b0392c74c9b1c877524a383ff687ebcaa2c12d00c475b098510149c70ee3e81bec003998bf1613866cf41c8f13e3e120ae3272493287c693149665df2745e80aaba59032fc20cf3b85443c298f42c96959ed6bfee5cabce4b0e33f8d513630c4867510b03aadcc7594bf59dc4fccffd6751fbf9838f246b722bceba9c28991c0ef136663f03e04453f905b49f59f546a7260e47a197a9f846495eb43d2319bd910036c9e13a03e7254c895a539514c09ff2c0ca76b0e6845bb551bd7c2c7e027ebd26c51a73e70378516c46da5ffca48855cfd0d62780146e74738f10eebf03695a44e6bbe7af48038eba2bd9c96ea2ace7c8d7afac3a319caca0f1b882b53d4838272651ca2cab4a03787426a29c47c7b45b1cdaad34df7272bc2a87210a45eb6091e802ca39fd45bf03921b67f1efa8a8752fd31bba012cd2491c8b63dba54350594cbabe24c03dcf6803265d86c38b7e336c3b785d2cf9ad791f92aecf7d7be7a99a1f5e04799de93a0203469c02947d4aa991ce6c402182a9b6d18664c4fd6a27b99ebac85b08591473750347a1bae1744c059d6998949d3ab32035820aebcf88f182a17f3a4142f351b2d403bf7c8b9b346d67450a2d76ade0c0a0705c866e34daeb2a442f4309d485cde11a03fa01943e95e53176bd721ebed0caf588e4dddfabb0400710ea1eaeeee79292a4038dbe4f1495f4218c3807fcaa1dc802f6b6f750ab5d97240fd003b84919d013ff03fc50504cd587ede1ea47c14b781c488ec01dbeb67ee0a1b61b7019ca85522b9003414416d384ff28f457b9928b2f3b1a6850850816197ff547e5a126fdad1c571103041fa61ea16818df5f26faca35b57f8dbd85ba58da2bf3469bb9c4832699342a03451e528fe33aed448734ee767eee689b98775940e9546831a92049391452634603f534d211af64408ab4bb13bd5bd909c23b7db693841c7fa9e4acb2848347ba44038d92c96f7d39e45676bb58509996f133870cad81fc0d0c058872c40c0ddae74b032c0552677e0cab2c5fc22d4d6ef2ea12d3cf35c36827915f632b634f6e68e67503d1ccceeff5065fc7eea3e81b0139630d395631217ec2d55a3ec1da718ea40340038254301c49eb97e753127f0f90b050f8dbe2eba893b3953b9971e2aea3f60217034cd6c68fb52c716f436b7fd66ed9574e32a4e74ec253316d940ee1d9e571da7a05581e034f861ac05c24a9d719ff844c07d57dd7cc128f191eff5bbbf8997ffdc00c18224632007a5fea18031c53f2782ff42c4b8ecdc53528f224b98c0fcaa014a1b62c4d822278528732f005581e03f4e9a9c4261c7de50b4812409f6593234f78bde5de60612920259d4e400c02450be5cc1f00039a2ffa4919562d0aac8babd0949c2e7da36ec98d2944b6cc5556728e48fbc64805581e0302d6a0fd36378f3e50a0eb8c7240d37634fe7ccadf892f82df9f6199c008470886c98b760000045901ef6080604052600436106100775763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166313af4035811461007c57806321f8a7211461009f5780636dd5b69d146100d35780638da5cb5b146100fd578063bd02d0f5146100d3578063c4909a7014610112575b600080fd5b34801561008857600080fd5b5061009d600160a060020a036004351661012d565b005b3480156100ab57600080fd5b506100b7600435610189565b60408051600160a060020a039092168252519081900360200190f35b3480156100df57600080fd5b506100eb600435610189565b60408051918252519081900360200190f35b34801561010957600080fd5b506100b761018d565b34801561011e57600080fd5b5061009d60043560243561019c565b600054600160a060020a031633148061014f5750600054600160a060020a0316155b151561015a57600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b5490565b600054600160a060020a031681565b600054600160a060020a031633146101b357600080fd5b8115156101bf57600080fd5b90555600a165627a7a723058202fef324f550205ca404e32fc9d372d72c6ee060a66fa108f1f47de5d8840699900290058210315dd135d7bb17ed38d9e8ccb8ecdda6e88afaba34968b3e88022c2e93aff01d05437858402f90ecf6efe1f7d894f5ddb0b19a85e440058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630549c2e057790463257bc57719d55edd8344f8c101e0058210333cea4f44aea65666211d581ed1d5674dac2d16ee45661fc737d489ca5f6594054b5c2bc75d03f45719cea25090826e000a33d4be700582103dffc14a2bd83e4ae2b57ab9ed623795369965bb3aa6faea3104fa896a975d2d05443305382781d9ad351923b8748da7037a160f67700582002217d64934efed728c84d25243ec3ca5be372d69716fa711adb27035af0e60754e0156b254de8b7e998aacad649771c84e2bbe0fe0058200244001768c00f660dad2b59c93be1a1016069d9e070ebcd5308f1cd80c93ef0546691beb46bc5c300c00d1ba16cf4e5b6de554e7100582002520f213a227c3f5b6ad1861a66d3056a2bec36998b9a870557b392e60231245437858402f90ecf6efe1f7d894f5ddb0b19a85e4402194600005821033352784c3dc8dbb217d51715af32ec572c44929e58cc0608da44596c44d6a8d05443305382781d9ad351923b8748da7037a160f67700582103a3b8812170978bf9ef6945442a9ae37c6b58a850fc602602ead3b3f0ec20347054eb663f485b61e8ca005aa6842e43e41d969526680219c42e05581e0370002d7c577c273ac13f394e938d23c571a8e19e1f2a3fd76aa3524eb007011901ef035b390db9a19ee3dd2bb9c9519c101cd70c4b5e09dde32fbf37f5eabde802be02021976a403742e73b5b90557b0f4e51036c12806280f6ff39018e042db06a474ed2c3fbf5603358c00b2b2be3e336686af481d49952c1f89bfc144636781dbb10eec57d2177c03863109ebdc0e01e2ea6290c311e7e81e8d8de960c5be67903789ebb11f7f406e03bd9fee3ba6d44f8a0d5a19df7bcb43f1295b28b7b037edc604cbea671f3bd76303e5bd6c33f349733189f5648289a5190b6579b219b0d2f0b924a323b97f656feb0219ffff032989a237cf2439a0acf5248aa6be97f1fd75572292c66978d973a6a85f8d52870352f9e80b671e3d5eb2670bfa3eed53f02a3080196fd2cdc789eec5ba55b2129103341a4e8acf4ba638703c4351e25a6753146ec3deb51dbd7f8d28e0ff9c971a6003fedcf5fe889fa452a0591db443bfa1b66bc723e607e23a1d7f6172f8a40218f30335269156003ccc1656b216808fddc8b5108b370907d356c0ce37dd0b568a91c503d643ef6fa63fe08803beadd279a416341919bc9b60d810540f4d26748feacc590219ffff0391178055c07cfbb19f01ea6d2461c05d34c5f86d482e8d15a816ef3d645834e6034ad7646f6e195413c66951f9233001d120cccb48c17b9f8fac907708f9a6586e03e1c7471b571f511d593ed51c71fe1b333b56f482bd880b0a6a01d6b3fe9e29c50387431f30dedac0c7918563dd8c987b986bbc26c67b463809ef0e6a6bea9691910219ffff038e21b4540870381dc48440196a66289ff515a1a90cfb544b42b736a1fa25bf2c031431f372319986afa8c3b1bbef7cd06f6a00350a104e13600e328244ae505f6c03e25aaa56e484447ac229a4282f037830a0c8e0b475d7ac96e2db73e6e3e091c60356a9864a3ea365f1249a59e691d5dcf4d188ee1b2d2b9c262ec6a373fdd9517303f68860c4454ea32312bae6e0e6e650372354c4b3acc4f555bcbeab8161d45c9f0351af557da972a9f6b9e7f2009126202b2af10cb0e77098830719e8eabbe26c85037b921d2289b781a376b543381fd7eb7639a059ae245e15abee94726fa5b8edac0397ad70a2e258634f1e50a1f43b8af245e1a305943121d098f01e1314883250a70363a356e9e89592f0b1f9b452d9f678efbb23b387136141c051bc1694a9546f4c034989b4b87d4a714ba3c7edd52ae5d90f4cec6d9f9dab7c88fabf22ef9dc75f0a03f14206b7a71db07c94ef625f62b96043d57a210cd9ae9cb52ad5b810f8fb411e03b8191e100f3f523b8ab7c35c339da990761a163f5507cd99b708d66a874d1569032dbfa634afca353e0e4faa5a114f8ba5f6861331552629e1c25a340012702c4603844c978f4761c4a9c56deb7989b69275dbbe515f51935f4f068a756e58228cc703f1b6747ac3fda8ddbda930fc77f545d9997f1eabdc86fa938c9221f3ec6e07cb03b8d1a821546a1cae4eb075af4ba094cbdaa94d8d84ff648d7bd8d99ef6a3b91803e9365f978d02adab54cdb7e68c66952c06f4de7d9fe2ad2339f0d8d5ab434e8c03b64eca206e971bb9cc6bb0587f68326aecf8b7a0051e41fe90498aec0ec97f4d033b8d59d697859a1a2e87092f468c65a5c50529d4040eae9748f23fa8139dd261034b67c58b2979eb03bdb661b068fbf5a0faf2de74941aaebd80345fbd8939c9cf03fb522babf5147876ee4bc01fccc4d99598ecbd71c1e9ba4493b9cfe489f93fc403a24ea1603f6c3a84c7835a370a5081d78fdd339c08c4e95bbe70f34c898b165a05581e0332f7fb3fd24c95546b91c35c4946fa4482520ce9ac5d1ac8b1dbdd9b700c01470107c6b4d9c3c005581e036d7e96b214e1099f2ab0e27bd27b7567f4cb96f021445c4ed7ab246340040105581d0230314f4a1b8b15f8c58d6df9cac11a0a4d2f3efa7cb40ce16b4975c50402045957c960806040526004361061010c575f3560e01c80637787633d116100945780639acabb08116100635780639acabb081461031a578063a773a59b14610339578063c42cf53514610358578063dc7fb4c914610377578063f611be301461039657610113565b80637787633d146102ab57806380a672b6146102ca57806383197ef0146102dd5780638f32d59b146102f157610113565b80633a571299116100db5780633a5712991461020e5780633c1b8dda1461023b5780633de152331461025a5780635c905bcf146102795780636264257a1461028c57610113565b806304ceb9e414610188578063085a33e8146101a757806309c182c3146101dc5780633a1c6847146101ef57610113565b3661011357005b34801561011e575f80fd5b505f60088161012d3682614c91565b6001600160e01b031916815260208101919091526040015f205460ff1690508015610186575f8060606101633660048185614cc1565b8101906101709190614d7a565b919450925090506101828383836103b5565b5050505b005b348015610193575f80fd5b506101866101a2366004614e05565b6104ed565b3480156101b2575f80fd5b506101c66101c1366004614ed2565b61051b565b6040516101d39190614f26565b60405180910390f35b6101866101ea366004614fc5565b61071e565b3480156101fa575f80fd5b50610186610209366004614e05565b610b8e565b348015610219575f80fd5b5061022d610228366004615077565b610c5d565b6040519081526020016101d3565b348015610246575f80fd5b50610186610255366004614e05565b61118a565b348015610265575f80fd5b506101866102743660046150fa565b61127b565b610186610287366004615148565b61130d565b348015610297575f80fd5b506101866102a6366004615163565b6113ab565b3480156102b6575f80fd5b506101866102c5366004615148565b611401565b6101866102d8366004614e05565b6114e6565b3480156102e8575f80fd5b5061018661159e565b3480156102fc575f80fd5b505f546001600160a01b0316331460405190151581526020016101d3565b348015610325575f80fd5b50610186610334366004614e05565b6115cd565b348015610344575f80fd5b50610186610353366004615163565b6115fb565b348015610363575f80fd5b50610186610372366004615148565b611630565b348015610382575f80fd5b5061018661039136600461519a565b6116a0565b3480156103a1575f80fd5b506101866103b03660046151dc565b61180f565b600154156103de5760405162461bcd60e51b81526004016103d590615214565b60405180910390fd5b5f8313806103eb57505f82135b6103f3575f80fd5b5f818060200190518101906104089190615256565b90505f805f610419845f0151611863565b9250925092505f61042b84848461189e565b9050336001600160a01b03821614610441575f80fd5b5f805f8a1361046557856001600160a01b0316856001600160a01b0316108961047c565b846001600160a01b0316866001600160a01b0316108a5b91509150811561049b5761049686886020015133846118df565b6104e1565b86516104a690611a13565b156104ca5786516104b690611a4c565b87526104c481335f8a611a83565b506104e1565b806004819055506104e185886020015133846118df565b50505050505050505050565b5f546001600160a01b031633146105165760405162461bcd60e51b81526004016103d590615308565b600355565b606060028251101561053f5760405162461bcd60e51b81526004016103d590615326565b81516001600160401b0381111561055857610558614ce8565b604051908082528060200260200182016040528015610581578160200160208202803683370190505b5090508281600183516105949190615367565b815181106105a4576105a461537a565b6020026020010181815250505f600183516105bf9190615367565b90505b8015610716575f8061061187866105da600187615367565b815181106105ea576105ea61537a565b60200260200101518786815181106106045761060461537a565b6020026020010151611bf7565b90925090505f61065e8887610627600188615367565b815181106106375761063761537a565b60200260200101518887815181106106515761065161537a565b6020026020010151611cce565b90506106d88585815181106106755761067561537a565b60200260200101518484848a89815181106106925761069261537a565b60200260200101516001600160a01b03168b60018b6106b19190615367565b815181106106c1576106c161537a565b60200260200101516001600160a01b031610611d99565b856106e4600187615367565b815181106106f4576106f461537a565b602002602001018181525050505050808061070e9061538e565b9150506105c2565b509392505050565b5f856003815181106107325761073261537a565b6020026020010151111561079357846003815181106107535761075361537a565b602002602001015142146107935760405162461bcd60e51b81526020600482015260076024820152661c9953dc99d95960ca1b60448201526064016103d5565b600154156107b35760405162461bcd60e51b81526004016103d590615214565b846004815181106107c6576107c661537a565b6020026020010151856001815181106107e1576107e161537a565b60200260200101516107f391906153a3565b3410156108305760405162461bcd60e51b815260206004820152600b60248201526a1b1bddc81c185e5b595b9d60aa1b60448201526064016103d5565b5f479050856005815181106108475761084761537a565b60200260200101515f146108d1576005546001600160a01b03908116908416811461088857600580546001600160a01b0319166001600160a01b0386161790555b5f6108b98588885f81811061089f5761089f61537a565b90506020020160208101906108b49190615148565b611eee565b905080156108ce576108cb81846153a3565b92505b50505b5f60025490505f80886001815181106108ec576108ec61537a565b602002602001015190506109008184612041565b90508092505061092a8960018151811061091c5761091c61537a565b602002602001015184612041565b508960018151811061093e5761093e61537a565b6020026020010181815250506109568989898961207d565b5f8960048151811061096a5761096a61537a565b60200260200101511115610a33575f416001600160a01b03168a6004815181106109965761099661537a565b60200260200101516040515f6040518083038185875af1925050503d805f81146109db576040519150601f19603f3d011682016040523d82523d5f602084013e6109e0565b606091505b5050905080610a315760405162461bcd60e51b815260206004820152601860248201527f6661696c656420636f696e62617365207472616e73666572000000000000000060448201526064016103d5565b505b5f80478b600481518110610a4957610a4961537a565b602002602001015187610a5c9190615367565b610a669190615367565b90505f84610a748386615367565b03610a8357505f915083610aa9565b610a8d8287612041565b9150819050610a9c8386615367565b610aa69190615367565b92505b610ab3818961242c565b7f7bf178ffbe60d514bc776f4981560b01f88a33d43bef23be499093e646fb0f4333610adf83856153a3565b838f600481518110610af357610af361537a565b602002602001015186610b0691906153a3565b610b1091906153a3565b604080516001600160a01b03909416845260208401929092529082015260600160405180910390a160408051338152602081018390527f3310ea14266209db2516cc8eae3e55230d2376e02becfb8094363ad465b7794c910160405180910390a18215610b8057610b8083612505565b505050505050505050505050565b5f546001600160a01b03163314610bb75760405162461bcd60e51b81526004016103d590615308565b6002604360981b015f829003610c1957806001600160a01b0316632210dfb16040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610bff575f80fd5b505af1158015610c11573d5f803e3d5ffd5b505050505050565b81600103610c5957806001600160a01b0316634e606c476040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610bff575f80fd5b5050565b5f807f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29050806001600160a01b03168560018751610c9b9190615367565b81518110610cab57610cab61537a565b60200260200101516001600160a01b031614610cd95760405162461bcd60e51b81526004016103d590615326565b60015415610cf95760405162461bcd60e51b81526004016103d590615214565b5f8560018751610d099190615367565b81518110610d1957610d1961537a565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610d67573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d8b91906153b6565b90505f87600181518110610da157610da161537a565b60200260200101511115610f6d576005546001600160a01b039081169086168114610de257600580546001600160a01b0319166001600160a01b0388161790555b5f6040518060e00160405280895f81518110610e0057610e0061537a565b60200260200101516001600160a01b0316815260200189600181518110610e2957610e2961537a565b60200260200101516001600160a01b031681526020018a600181518110610e5257610e5261537a565b602002602001015162ffffff168152602001306001600160a01b031681526020018a5f81518110610e8557610e8561537a565b602002602001015181526020015f81526020015f6001600160a01b03168152509050610eb1815f6125e8565b50600288511115610f6657610f6688600181518110610ed257610ed261537a565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610f20573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f4491906153b6565b89600181518110610f5757610f5761537a565b6020026020010151865f6126af565b5050610f91565b610f91875f81518110610f8257610f8261537a565b602002602001015187876127e9565b5f8660018851610fa19190615367565b81518110610fb157610fb161537a565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610fff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102391906153b6565b90505f6110308383615367565b9050886002815181106110455761104561537a565b60200260200101518110156110905760405162461bcd60e51b81526020600482015260116024820152704e6f7420656e6f75676820746f6b656e7360781b60448201526064016103d5565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03851690632e1a7d4d906024015f604051808303815f87803b1580156110cf575f80fd5b505af11580156110e1573d5f803e3d5ffd5b505050505f6110f282600254612041565b90925090506111013383612869565b61110b818861242c565b60408051338152602081018490527fbb9b838bf8ee8d0eb7d0a37afd5cdd707661780ede55ba2c8384368ca0c9db16910160405180910390a160408051338152602081018390527f3310ea14266209db2516cc8eae3e55230d2376e02becfb8094363ad465b7794c910160405180910390a15098975050505050505050565b5f546001600160a01b031633146111b35760405162461bcd60e51b81526004016103d590615308565b6002604360981b015f8290036111fb57806001600160a01b031663aa857d986040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610bff575f80fd5b8160010361123b57806001600160a01b0316637114177a6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610bff575f80fd5b81600203610c5957806001600160a01b031663f098767a6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610bff575f80fd5b5f546001600160a01b031633146112a45760405162461bcd60e51b81526004016103d590615308565b604080516080810182529485526001600160a01b039384166020808701918252868301948552606087019384529685165f908152600690975295209351845593516001840180546001600160a01b03191691909316179091555160028201559051600390910155565b5f546001600160a01b031633146113365760405162461bcd60e51b81526004016103d590615308565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa15801561137a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061139e91906153b6565b9050610c5982338361290d565b5f546001600160a01b031633146113d45760405162461bcd60e51b81526004016103d590615308565b6001600160a01b039182165f90815260076020526040902080546001600160a01b03191691909216179055565b5f546001600160a01b0316331461142a5760405162461bcd60e51b81526004016103d590615308565b6040516370a0823160e01b81523060048201526001600160a01b03821690632e1a7d4d9082906370a0823190602401602060405180830381865afa158015611474573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149891906153b6565b6040518263ffffffff1660e01b81526004016114b691815260200190565b5f604051808303815f87803b1580156114cd575f80fd5b505af11580156114df573d5f803e3d5ffd5b5050505050565b5f546001600160a01b0316331461150f5760405162461bcd60e51b81526004016103d590615308565b805f036115195750475b6040515f90339083908381818185875af1925050503d805f8114611558576040519150601f19603f3d011682016040523d82523d5f602084013e61155d565b606091505b5050905080610c595760405162461bcd60e51b815260206004820152600d60248201526c6661696c20776974686472617760981b60448201526064016103d5565b5f546001600160a01b031633146115c75760405162461bcd60e51b81526004016103d590615308565b60018055565b5f546001600160a01b031633146115f65760405162461bcd60e51b81526004016103d590615308565b600255565b5f546001600160a01b031633146116245760405162461bcd60e51b81526004016103d590615308565b610c5982825f19612a01565b5f546001600160a01b031633146116595760405162461bcd60e51b81526004016103d590615308565b604051631d70c8d360e31b81526001600160a01b03821660048201526002604360981b0190819063eb864698906024015f604051808303815f87803b158015610bff575f80fd5b5f546001600160a01b031633146116c95760405162461bcd60e51b81526004016103d590615308565b6002604360981b015f84900361174f5760405163662aa11d60e01b81523060048201526001600160a01b03848116602483015282169063662aa11d906044015b6020604051808303815f875af1158015611725573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061174991906153b6565b50611809565b8360010361179257604051630951888f60e01b81523060048201526001600160a01b03848116602483015260448201849052821690630951888f90606401611709565b8360020361180957604051634aa7d2f760e11b81523060048201526001600160a01b03848116602483015282169063954fa5ee906044016020604051808303815f875af11580156117e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114df91906153b6565b50505050565b5f546001600160a01b031633146118385760405162461bcd60e51b81526004016103d590615308565b6001600160e01b0319919091165f908152600860205260409020805460ff1916911515919091179055565b5f80806118708482612af5565b925061187d846014612ba8565b905061189561188e600360146153a3565b8590612af5565b91509193909250565b6005546001600160a01b039081165f8181526006602052604081206001810154905491936118d492889288928892911690612c52565b9150505b9392505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0385811690821614801561191b5750814710155b156119e757806001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004015f604051808303818588803b158015611959575f80fd5b505af115801561196b573d5f803e3d5ffd5b505060405163a9059cbb60e01b81526001600160a01b038781166004830152602482018790528516935063a9059cbb925060440190506020604051808303815f875af11580156119bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e191906153cd565b506114df565b306001600160a01b03851603611a0757611a0285848461290d565b6114df565b6114df85858585612d06565b5f611a20600360146153a3565b6014611a2d6003826153a3565b611a3791906153a3565b611a4191906153a3565b825110159050919050565b6060611a7d611a5d600360146153a3565b611a69600360146153a3565b8451611a759190615367565b849190612e03565b92915050565b5f805f80611a93855f0151611863565b919450925090506001600160a01b03808416908316105f80611ab685878661189e565b6001600160a01b031663128acb088b85611acf8f612f59565b611ad8906153e8565b6001600160a01b038e1615611aed578d611b26565b87611b1657611b11600173fffd8963efd1fc6a506488495d951d5263988d26615402565b611b26565b611b266401000276a36001615422565b8d604051602001611b37919061546d565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401611b669594939291906154a9565b60408051808303815f875af1158015611b81573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ba591906154ee565b915091505f83611bbe5781611bb9846153e8565b611bc8565b82611bc8836153e8565b90985090506001600160a01b038a165f03611be8578b8114611be8575f80fd5b50505050505050949350505050565b5f805f611c048585612f6d565b5090505f611c13878787611cce565b60408051600481526024810182526020810180516001600160e01b0316630240bc6b60e21b17905290516001600160a01b039290921691611c549190615510565b5f60405180830381855afa9150503d805f8114611c8c576040519150601f19603f3d011682016040523d82523d5f602084013e611c91565b606091505b506020810151604082015191935091506001600160a01b0388811690851614611cbb578082611cbe565b81815b909a909950975050505050505050565b5f805f611cdb8585612f6d565b6001600160a01b038089165f908152600660205260409020600101549294509092501680611d0e575f93505050506118d8565b6001600160a01b0387165f908152600660209081526040918290205482516001600160601b0319606088811b82168386015287901b166034820152835180820360280181526048820190945283519390920192909220611d7591849190849060680161552b565b60408051601f19818403018152919052805160209091012098975050505050505050565b5f808611611db95760405162461bcd60e51b81526004016103d59061555e565b5f85118015611dc757505f84115b611de35760405162461bcd60e51b81526004016103d59061559f565b60408051600481526024810182526020810180516001600160e01b0316630240bc6b60e21b17905290515f91620186a09183916001600160a01b03881691611e2b9190615510565b5f60405180830381855afa9150503d805f8114611e63576040519150601f19603f3d011682016040523d82523d5f602084013e611e68565b606091505b5060608101516080820151919350915086611e8c57611e878185615367565b611e96565b611e968285615367565b94505f84611ea48d8d6155d6565b611eae91906155d6565b90505f86611ebc8e8d615367565b611ec691906155d6565b9050611ed281836155ed565b611edd9060016153a3565b9d9c50505050505050505050505050565b6040516370a0823160e01b81526001600160a01b0383811660048301525f9182918416906370a0823190602401602060405180830381865afa158015611f36573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f5a91906153b6565b90508015611fbe5760405163125012df60e21b8152600481018290523060248201526001600160a01b038516906349404b7c906044015f604051808303815f87803b158015611fa7575f80fd5b505af1158015611fb9573d5f803e3d5ffd5b505050505b475f6001600160a01b038616311561202d57856001600160a01b03166312210e8a6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612008575f80fd5b505af115801561201a573d5f803e3d5ffd5b50505050814761202a9190615367565b90505b61203781846153a3565b9695505050505050565b5f808083156120705761271061205785876155d6565b61206191906155ed565b905061206d8186615367565b94505b84925090505b9250929050565b836005815181106120905761209061537a565b60200260200101515f146121cb5760028211156121cb5761211b846001815181106120bd576120bd61537a565b602002602001015184845f8181106120d7576120d761537a565b90506020020160208101906120ec9190615148565b858560018181106120ff576120ff61537a565b90506020020160208101906121149190615148565b60016126af565b8282600181811061212e5761212e61537a565b90506020020160208101906121439190615148565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015612187573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121ab91906153b6565b846001815181106121be576121be61537a565b6020026020010181815250505b6121d784848484613044565b836005815181106121ea576121ea61537a565b60200260200101515f146118095760028211156122f5575f838360018181106122155761221561537a565b905060200201602081019061222a9190615148565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa15801561226e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061229291906153b6565b905080156122f3576122f381858560018181106122b1576122b161537a565b90506020020160208101906122c69190615148565b86865f8181106122d8576122d861537a565b90506020020160208101906122ed9190615148565b5f6126af565b505b61230b8184845f81811061089f5761089f61537a565b505f83835f81811061231f5761231f61537a565b90506020020160208101906123349190615148565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015612378573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061239c91906153b6565b905080156114df5783835f8181106123b6576123b661537a565b90506020020160208101906123cb9190615148565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b81526004016123f891815260200190565b5f604051808303815f87803b15801561240f575f80fd5b505af1158015612421573d5f803e3d5ffd5b505050505050505050565b5f808311801561244457506001600160a01b03821615155b156124be5760035480156124bc5761271061245f82866155d6565b61246991906155ed565b9150826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146124b3576040519150601f19603f3d011682016040523d82523d5f602084013e6124b8565b606091505b5050505b505b604080516001600160a01b0384168152602081018390527f24c07d9526daec95fb72ea7cecc4cfc860c60f857757a60e897a08c0cf534e08910160405180910390a1505050565b80156125e5576040515f90339083908381818185875af1925050503d805f811461254a576040519150601f19603f3d011682016040523d82523d5f602084013e61254f565b606091505b50509050806125a05760405162461bcd60e51b815260206004820152601e60248201527f4661696c656420746f2072657475726e2072656d61696e696e6720455448000060448201526064016103d5565b81341015610c595760405162461bcd60e51b8152602060048201526012602482015271536f6d657468696e6720697320666973687960701b60448201526064016103d5565b50565b5f80826125f557336125f7565b305b905061265c846080015185606001518660c001516040518060400160405280895f01518a604001518b602001516040516020016126369392919061560c565b6040516020818303038152906040528152602001866001600160a01b03168152506134fa565b91508360a001518210156126a85760405162461bcd60e51b8152602060048201526013602482015272151bdbc81b1a5d1d1b19481c9958d95a5d9959606a1b60448201526064016103d5565b5092915050565b801561270657826001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004015f604051808303818588803b1580156126ee575f80fd5b505af1158015612700573d5f803e3d5ffd5b50505050505b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d5f612733828686611cce565b905061274085828861290d565b6040805160028082526060820183525f9260208301908036833701905050905085815f815181106127735761277361537a565b60200260200101906001600160a01b031690816001600160a01b03168152505084816001815181106127a7576127a761537a565b6001600160a01b0392831660209182029290920181019190915260408051808201909152918516825230908201526127e090829061363c565b50505050505050565b5f61281b82845f815181106128005761280061537a565b6020026020010151856001815181106106515761065161537a565b9050612842835f815181106128325761283261537a565b6020026020010151338387612d06565b604080518082019091526001600160a01b038316815230602082015261180990849061363c565b604080515f808252602082019092526001600160a01b0384169083906040516128929190615510565b5f6040518083038185875af1925050503d805f81146128cc576040519150601f19603f3d011682016040523d82523d5f602084013e6128d1565b606091505b50509050806129085760405162461bcd60e51b815260206004820152600360248201526253544560e81b60448201526064016103d5565b505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f928392908716916129689190615510565b5f604051808303815f865af19150503d805f81146129a1576040519150601f19603f3d011682016040523d82523d5f602084013e6129a6565b606091505b50915091508180156129d05750805115806129d05750808060200190518101906129d091906153cd565b6114df5760405162461bcd60e51b815260206004820152600260248201526114d560f21b60448201526064016103d5565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663095ea7b360e01b17905291515f92839290871691612a5c9190615510565b5f604051808303815f865af19150503d805f8114612a95576040519150601f19603f3d011682016040523d82523d5f602084013e612a9a565b606091505b5091509150818015612ac4575080511580612ac4575080806020019051810190612ac491906153cd565b6114df5760405162461bcd60e51b8152602060048201526002602482015261534160f01b60448201526064016103d5565b5f81612b028160146153a3565b1015612b455760405162461bcd60e51b8152602060048201526012602482015271746f416464726573735f6f766572666c6f7760701b60448201526064016103d5565b612b508260146153a3565b83511015612b985760405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b60448201526064016103d5565b500160200151600160601b900490565b5f81612bb58160036153a3565b1015612bf75760405162461bcd60e51b8152602060048201526011602482015270746f55696e7432345f6f766572666c6f7760781b60448201526064016103d5565b612c028260036153a3565b83511015612c495760405162461bcd60e51b8152602060048201526014602482015273746f55696e7432345f6f75744f66426f756e647360601b60448201526064016103d5565b50016003015190565b5f846001600160a01b0316866001600160a01b03161115612c71579394935b846001600160a01b0316866001600160a01b031610612c8e575f80fd5b604080516001600160a01b03808916602083015287169181019190915262ffffff8516606082015283906080016040516020818303038152906040528051906020012083604051602001612ce49392919061552b565b60408051601f1981840301815291905280516020909101209695505050505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f92839290881691612d699190615510565b5f604051808303815f865af19150503d805f8114612da2576040519150601f19603f3d011682016040523d82523d5f602084013e612da7565b606091505b5091509150818015612dd1575080511580612dd1575080806020019051810190612dd191906153cd565b610c115760405162461bcd60e51b815260206004820152600360248201526229aa2360e91b60448201526064016103d5565b606081612e1181601f6153a3565b1015612e505760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016103d5565b82612e5b83826153a3565b1015612e9a5760405162461bcd60e51b815260206004820152600e60248201526d736c6963655f6f766572666c6f7760901b60448201526064016103d5565b612ea482846153a3565b84511015612ee85760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b60448201526064016103d5565b606082158015612f065760405191505f825260208201604052612f50565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015612f3f578051835260209283019201612f27565b5050858452601f01601f1916604052505b50949350505050565b5f600160ff1b8210612f69575f80fd5b5090565b5f80826001600160a01b0316846001600160a01b031603612fd05760405162461bcd60e51b815260206004820152601a60248201527f5369676d613a204944454e544943414c5f41444452455353455300000000000060448201526064016103d5565b826001600160a01b0316846001600160a01b031610612ff0578284612ff3565b83835b90925090506001600160a01b0382166120765760405162461bcd60e51b81526020600482015260136024820152725369676d613a205a45524f5f4144445245535360681b60448201526064016103d5565b835f815181106130565761305661537a565b60200260200101516002036134ee57836005815181106130785761307861537a565b60200260200101515f036132d15760604661a4b11480156130b5575073c873fecbd354f5a56e00e710b90ef4201db2448d6001600160a01b038316145b1561314c57816001600160a01b031663d06ca61f866001815181106130dc576130dc61537a565b602002602001015186866040518463ffffffff1660e01b815260040161310493929190615642565b5f60405180830381865afa15801561311e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526131459190810190615699565b90506131a6565b6131a382866001815181106131635761316361537a565b60200260200101518686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506139e792505050565b90505b80600182516131b59190615367565b815181106131c5576131c561537a565b6020026020010151856002815181106131e0576131e061537a565b602002602001015111156132cb575f855f815181106132015761320161537a565b602002602001018181525050846006815181106132205761322061537a565b60200260200101518560028151811061323b5761323b61537a565b60200260200101818152505080600182516132569190615367565b815181106132665761326661537a565b6020026020010151856006815181106132815761328161537a565b602002602001015111156132cb5760405162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b60448201526064016103d5565b506134ee565b5f600283116133065783835f8181106132ec576132ec61537a565b90506020020160208101906133019190615148565b61332e565b838360018181106133195761331961537a565b905060200201602081019061332e9190615148565b90505f6133a383838787613343600182615367565b8181106133525761335261537a565b90506020020160208101906133679190615148565b8960028151811061337a5761337a61537a565b60200260200101518a6005815181106133955761339561537a565b60200260200101515f613b1e565b9050856001815181106133b8576133b861537a565b60200260200101518111156134eb575f81876001815181106133dc576133dc61537a565b60200260200101516127106133f191906155d6565b6133fb91906155ed565b905061271081886002815181106134145761341461537a565b602002602001015161342691906155d6565b61343091906155ed565b90505f875f815181106134455761344561537a565b602002602001018181525050866006815181106134645761346461537a565b60200260200101518760028151811061347f5761347f61537a565b602002602001018181525050808760068151811061349f5761349f61537a565b602002602001015111156134e95760405162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b60448201526064016103d5565b505b50505b6114df84848484613c04565b5f805f8061350a855f0151611863565b919450925090506001600160a01b03808316908416105f8061352d86868661189e565b6001600160a01b031663128acb088b856135468f612f59565b6001600160a01b038e161561355b578d613594565b876135845761357f600173fffd8963efd1fc6a506488495d951d5263988d26615402565b613594565b6135946401000276a36001615422565b8d6040516020016135a5919061546d565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016135d49594939291906154a9565b60408051808303815f875af11580156135ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061361391906154ee565b91509150826136225781613624565b805b61362d906153e8565b9b9a5050505050505050505050565b5f5b6001835161364c9190615367565b811015612908575f808483815181106136675761366761537a565b60200260200101518584600161367d91906153a3565b8151811061368d5761368d61537a565b6020026020010151915091505f6136a48383612f6d565b5085519091505f906136b7908585611cce565b60408051600481526024810182526020810180516001600160e01b0316630240bc6b60e21b17905290519192505f9182918291829182916001600160a01b0388169161370291615510565b5f60405180830381855afa9150503d805f811461373a576040519150601f19603f3d011682016040523d82523d5f602084013e61373f565b606091505b509150506020810151925060408101519150505f80876001600160a01b03168a6001600160a01b031614613774578284613777565b83835b6040516370a0823160e01b81526001600160a01b038a8116600483015292945090925083918c16906370a0823190602401602060405180830381865afa1580156137c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137e791906153b6565b6137f19190615367565b95504661a4b114801561382157508b516001600160a01b031673c873fecbd354f5a56e00e710b90ef4201db2448d145b156138e0575f876001600160a01b031663f140a35a888d60405160240161385b9291909182526001600160a01b0316602082015260400190565b6040516020818303038152906040529060e01b6020820180516001600160e01b0383818316178352505050506040516138949190615510565b5f60405180830381855afa9150503d805f81146138cc576040519150601f19603f3d011682016040523d82523d5f602084013e6138d1565b606091505b506020015196506138f5915050565b6138f28683838f5f6020020151614111565b94505b505050505f80856001600160a01b0316886001600160a01b03161461391b57825f61391e565b5f835b915091505f60028c516139319190615367565b8a106139415760208b0151613964565b8a5161396490898e6139548e60026153a3565b815181106106515761065161537a565b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0387169063022c0d9f906139a59086908690869060248101615719565b5f604051808303815f87803b1580156139bc575f80fd5b505af11580156139ce573d5f803e3d5ffd5b50506001909b019a5061363e9950505050505050505050565b6060600282511015613a0b5760405162461bcd60e51b81526004016103d590615326565b81516001600160401b03811115613a2457613a24614ce8565b604051908082528060200260200182016040528015613a4d578160200160208202803683370190505b50905082815f81518110613a6357613a6361537a565b6020026020010181815250505f5b60018351613a7f9190615367565b811015610716575f80613ac487868581518110613a9e57613a9e61537a565b602002602001015187866001613ab491906153a3565b815181106106045761060461537a565b91509150613aed848481518110613add57613add61537a565b602002602001015183838a614111565b84613af98560016153a3565b81518110613b0957613b0961537a565b60209081029190910101525050600101613a71565b6040805160a0810182526001600160a01b038781168252868116602080840191825283850188815262ffffff88811660608701908152888616608088019081528e87165f9081526007909552888520549851635e90b82560e11b8152885188166004820152955187166024870152925160448601525116606484015251831660848301529390911690819063bd21704a9060a4016080604051808303815f875af1925050508015613bec575060408051601f3d908101601f19168201909252613be991810190615745565b60015b15613bf8575091945050505b50509695505050505050565b5f80808585613c14600182615367565b818110613c2357613c2361537a565b9050602002016020810190613c389190615148565b6040516370a0823160e01b81523360048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015613c7c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ca091906153b6565b9050865f81518110613cb457613cb461537a565b60200260200101515f14613e745786600581518110613cd557613cd561537a565b60200260200101515f03613d2957613d2487600181518110613cf957613cf961537a565b602002602001015188600281518110613d1457613d1461537a565b6020026020010151888888614221565b61401f565b5f6040518060e0016040528060028989905011613d6c5788885f818110613d5257613d5261537a565b9050602002016020810190613d679190615148565b613d94565b88886001818110613d7f57613d7f61537a565b9050602002016020810190613d949190615148565b6001600160a01b031681526020018888613daf600182615367565b818110613dbe57613dbe61537a565b9050602002016020810190613dd39190615148565b6001600160a01b0316815260200189600581518110613df457613df461537a565b602002602001015162ffffff168152602001336001600160a01b0316815260200189600281518110613e2857613e2861537a565b6020026020010151815260200189600181518110613e4857613e4861537a565b602002602001015181526020015f6001600160a01b03168152509050613e6d81614529565b505061401f565b86600581518110613e8757613e8761537a565b60200260200101515f03613ed657613d2487600181518110613eab57613eab61537a565b602002602001015188600281518110613ec657613ec661537a565b60200260200101518888886145e2565b5f6040518060e0016040528060028989905011613f195788885f818110613eff57613eff61537a565b9050602002016020810190613f149190615148565b613f41565b88886001818110613f2c57613f2c61537a565b9050602002016020810190613f419190615148565b6001600160a01b031681526020018888613f5c600182615367565b818110613f6b57613f6b61537a565b9050602002016020810190613f809190615148565b6001600160a01b0316815260200189600581518110613fa157613fa161537a565b602002602001015162ffffff168152602001336001600160a01b0316815260200189600181518110613fd557613fd561537a565b6020026020010151815260200189600281518110613ff557613ff561537a565b602002602001015181526020015f6001600160a01b0316815250905061401c8160016125e8565b50505b7f337b70af243e3976087dd0929c6e8560d0f87d28eda4d0b26203ffbe0dc8feb33382888861404f600182615367565b81811061405e5761405e61537a565b90506020020160208101906140739190615148565b6040516370a0823160e01b81523360048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156140b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140db91906153b6565b6140e59190615367565b604080516001600160a01b03909316835260208301919091520160405180910390a15095945050505050565b5f8085116141615760405162461bcd60e51b815260206004820181905260248201527f5369676d613a20494e53554646494349454e545f494e5055545f414d4f554e5460448201526064016103d5565b5f8411801561416f57505f83115b61418b5760405162461bcd60e51b81526004016103d59061559f565b6001600160a01b0382165f90815260066020526040812060020154906103e58290036141ba57506103e86141d7565b506001600160a01b0383165f908152600660205260409020600301545b5f6141e283896155d6565b90505f6141ef87836155d6565b90505f826141fd858b6155d6565b61420791906153a3565b905061421381836155ed565b9a9950505050505050505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031683835f81811061425d5761425d61537a565b90506020020160208101906142729190615148565b6001600160a01b0316146142985760405162461bcd60e51b81526004016103d590615326565b60604661a4b11480156142c7575073c873fecbd354f5a56e00e710b90ef4201db2448d6001600160a01b038316145b156143105761430982868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061051b92505050565b9050614350565b61434d82868686808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152506148f492505050565b90505b85815f815181106143635761436361537a565b602002602001015111156143b95760405162461bcd60e51b815260206004820152601d60248201527f5369676d613a204558434553534956455f494e5055545f414d4f554e5400000060448201526064016103d5565b83835f8181106143cb576143cb61537a565b90506020020160208101906143e09190615148565b6001600160a01b031663d0e30db0825f815181106144005761440061537a565b60200260200101516040518263ffffffff1660e01b81526004015f604051808303818588803b158015614431575f80fd5b505af1158015614443573d5f803e3d5ffd5b50505050506144e984845f81811061445d5761445d61537a565b90506020020160208101906144729190615148565b6144ca8487875f8181106144885761448861537a565b905060200201602081019061449d9190615148565b888860018181106144b0576144b061537a565b90506020020160208101906144c59190615148565b611cce565b835f815181106144dc576144dc61537a565b602002602001015161290d565b610c11818585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250339250879150614a199050565b5f61458d826080015183606001518460c00151604051806040016040528087602001518860400151895f01516040516020016145679392919061560c565b6040516020818303038152906040528152602001306001600160a01b0316815250611a83565b90508160a001518111156145d85760405162461bcd60e51b8152602060048201526012602482015271151bdbc81b5d58da081c995c5d595cdd195960721b60448201526064016103d5565b5f19600455919050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031683835f81811061461e5761461e61537a565b90506020020160208101906146339190615148565b6001600160a01b0316146146595760405162461bcd60e51b81526004016103d590615326565b82825f81811061466b5761466b61537a565b90506020020160208101906146809190615148565b6001600160a01b031663d0e30db0866040518263ffffffff1660e01b81526004015f604051808303818588803b1580156146b8575f80fd5b505af11580156146ca573d5f803e3d5ffd5b505050505061473d83835f8181106146e4576146e461537a565b90506020020160208101906146f99190615148565b6147378386865f81811061470f5761470f61537a565b90506020020160208101906147249190615148565b878760018181106144b0576144b061537a565b8761290d565b5f838361474b600182615367565b81811061475a5761475a61537a565b905060200201602081019061476f9190615148565b6040516370a0823160e01b81523360048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156147b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906147d791906153b6565b90506148318484808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080518082019091526001600160a01b0387168152336020820152915061363c9050565b84818585614840600182615367565b81811061484f5761484f61537a565b90506020020160208101906148649190615148565b6040516370a0823160e01b81523360048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156148a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906148cc91906153b6565b6148d69190615367565b1015610c115760405162461bcd60e51b81526004016103d59061555e565b60606002825110156149185760405162461bcd60e51b81526004016103d590615326565b81516001600160401b0381111561493157614931614ce8565b60405190808252806020026020018201604052801561495a578160200160208202803683370190505b50905082816001835161496d9190615367565b8151811061497d5761497d61537a565b6020026020010181815250505f600183516149989190615367565b90505b8015610716575f806149b387866105da600187615367565b915091506149dc8484815181106149cc576149cc61537a565b602002602001015183838a614ba9565b846149e8600186615367565b815181106149f8576149f861537a565b60200260200101818152505050508080614a119061538e565b91505061499b565b5f5b60018451614a299190615367565b8110156114df575f80858381518110614a4457614a4461537a565b602002602001015186846001614a5a91906153a3565b81518110614a6a57614a6a61537a565b6020026020010151915091505f614a818383612f6d565b5090505f88614a918660016153a3565b81518110614aa157614aa161537a565b602002602001015190505f80836001600160a01b0316866001600160a01b031614614acd57825f614ad0565b5f835b915091505f60028b51614ae39190615367565b8810614aef5789614b00565b614b0089878d6139548c60026153a3565b9050614b0d898888611cce565b6001600160a01b031663022c0d9f8484845f6040519080825280601f01601f191660200182016040528015614b49576020820181803683370190505b506040518563ffffffff1660e01b8152600401614b699493929190615719565b5f604051808303815f87803b158015614b80575f80fd5b505af1158015614b92573d5f803e3d5ffd5b505060019099019850614a1b975050505050505050565b5f808511614bc95760405162461bcd60e51b81526004016103d59061555e565b5f84118015614bd757505f83115b614bf35760405162461bcd60e51b81526004016103d59061559f565b6001600160a01b0382165f90815260066020526040812060020154906103e5829003614c2257506103e8614c3f565b506001600160a01b0383165f908152600660205260409020600301545b5f81614c4b89896155d6565b614c5591906155d6565b90505f83614c638a89615367565b614c6d91906155d6565b9050614c7981836155ed565b614c849060016153a3565b9998505050505050505050565b6001600160e01b03198135818116916004851015614cb95780818660040360031b1b83161692505b505092915050565b5f8085851115614ccf575f80fd5b83861115614cdb575f80fd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715614d1e57614d1e614ce8565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614d4c57614d4c614ce8565b604052919050565b5f6001600160401b03821115614d6c57614d6c614ce8565b50601f01601f191660200190565b5f805f60608486031215614d8c575f80fd5b833592506020840135915060408401356001600160401b03811115614daf575f80fd5b8401601f81018613614dbf575f80fd5b8035614dd2614dcd82614d54565b614d24565b818152876020838501011115614de6575f80fd5b816020840160208301375f602083830101528093505050509250925092565b5f60208284031215614e15575f80fd5b5035919050565b6001600160a01b03811681146125e5575f80fd5b8035614e3b81614e1c565b919050565b5f6001600160401b03821115614e5857614e58614ce8565b5060051b60200190565b5f82601f830112614e71575f80fd5b81356020614e81614dcd83614e40565b8083825260208201915060208460051b870101935086841115614ea2575f80fd5b602086015b84811015614ec7578035614eba81614e1c565b8352918301918301614ea7565b509695505050505050565b5f805f60608486031215614ee4575f80fd5b8335614eef81614e1c565b92506020840135915060408401356001600160401b03811115614f10575f80fd5b614f1c86828701614e62565b9150509250925092565b602080825282518282018190525f9190848201906040850190845b81811015614f5d57835183529284019291840191600101614f41565b50909695505050505050565b5f82601f830112614f78575f80fd5b81356020614f88614dcd83614e40565b8083825260208201915060208460051b870101935086841115614fa9575f80fd5b602086015b84811015614ec75780358352918301918301614fae565b5f805f805f60808688031215614fd9575f80fd5b85356001600160401b0380821115614fef575f80fd5b614ffb89838a01614f69565b96506020880135915080821115615010575f80fd5b818801915088601f830112615023575f80fd5b813581811115615031575f80fd5b8960208260051b8501011115615045575f80fd5b60208301965080955050505061505d60408701614e30565b915061506b60608701614e30565b90509295509295909350565b5f805f806080858703121561508a575f80fd5b84356001600160401b03808211156150a0575f80fd5b6150ac88838901614f69565b955060208701359150808211156150c1575f80fd5b506150ce87828801614e62565b93505060408501356150df81614e1c565b915060608501356150ef81614e1c565b939692955090935050565b5f805f805f60a0868803121561510e575f80fd5b853561511981614e1c565b945060208601359350604086013561513081614e1c565b94979396509394606081013594506080013592915050565b5f60208284031215615158575f80fd5b81356118d881614e1c565b5f8060408385031215615174575f80fd5b823561517f81614e1c565b9150602083013561518f81614e1c565b809150509250929050565b5f805f606084860312156151ac575f80fd5b8335925060208401356151be81614e1c565b929592945050506040919091013590565b80151581146125e5575f80fd5b5f80604083850312156151ed575f80fd5b82356001600160e01b031981168114615204575f80fd5b9150602083013561518f816151cf565b6020808252600690820152651b1bd8dad95960d21b604082015260600190565b5f5b8381101561524e578181015183820152602001615236565b50505f910152565b5f6020808385031215615267575f80fd5b82516001600160401b038082111561527d575f80fd5b9084019060408287031215615290575f80fd5b615298614cfc565b8251828111156152a6575f80fd5b83019150601f820187136152b8575f80fd5b81516152c6614dcd82614d54565b81815288868386010111156152d9575f80fd5b6152e882878301888701615234565b82525091830151916152f983614e1c565b92830191909152509392505050565b6020808252600490820152634e6f706560e01b604082015260600190565b6020808252601390820152720a6d2cedac27440929cac82989288bea082a89606b1b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611a7d57611a7d615353565b634e487b7160e01b5f52603260045260245ffd5b5f8161539c5761539c615353565b505f190190565b80820180821115611a7d57611a7d615353565b5f602082840312156153c6575f80fd5b5051919050565b5f602082840312156153dd575f80fd5b81516118d8816151cf565b5f600160ff1b82016153fc576153fc615353565b505f0390565b6001600160a01b038281168282160390808211156126a8576126a8615353565b6001600160a01b038181168382160190808211156126a8576126a8615353565b5f8151808452615459816020860160208601615234565b601f01601f19169290920160200192915050565b602081525f8251604060208401526154886060840182615442565b602094909401516001600160a01b0316604093909301929092525090919050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f906154e390830184615442565b979650505050505050565b5f80604083850312156154ff575f80fd5b505080516020909101519092909150565b5f8251615521818460208701615234565b9190910192915050565b6001600160f81b0319815260609390931b6001600160601b03191660018401526015830191909152603582015260550190565b60208082526021908201527f5369676d613a20494e53554646494349454e545f4f55545055545f414d4f554e6040820152601560fa1b606082015260800190565b6020808252601d908201527f5369676d613a20494e53554646494349454e545f4c4951554944495459000000604082015260600190565b8082028115828204841417611a7d57611a7d615353565b5f8261560757634e487b7160e01b5f52601260045260245ffd5b500490565b606093841b6001600160601b0319908116825260e89390931b6001600160e81b0319166014820152921b166017820152602b0190565b838152604060208083018290529082018390525f90849060608401835b8681101561568d57833561567281614e1c565b6001600160a01b03168252928201929082019060010161565f565b50979650505050505050565b5f60208083850312156156aa575f80fd5b82516001600160401b038111156156bf575f80fd5b8301601f810185136156cf575f80fd5b80516156dd614dcd82614e40565b81815260059190911b820183019083810190878311156156fb575f80fd5b928401925b828410156154e357835182529284019290840190615700565b84815283602082015260018060a01b0383166040820152608060608201525f6120376080830184615442565b5f805f8060808587031215615758575f80fd5b84519350602085015161576a81614e1c565b604086015190935063ffffffff81168114615783575f80fd5b606095909501519396929550505056fea2646970667358221220fc9d79ef9b9984329b76d707e7bce61d45fabd2fcb97d7a1e9e2925c567e7bc464736f6c634300081800330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db005468b3465833fb72a70ecdf485e0e4c7bd8665fc45005821035caba9b7964eb3968315d40936e1d4737e5b1e2b0a01374095550ba2010639f05820e18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c630303f272fab95e72174428aab90fac80d81abc7664ce7527607e6168807c21d5ccac00582103dd2028330df776c4fed2c9a10ea8685e7a6b6b07ea01d06ecf0f9dafc8ccb0b0582065d1a3b1e46c6e4f1be1ad5f99ef14dc488ae0549dc97db9b30afe2241ce1c7a005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4164005820028cc52865a410929c44a3fac591e2788b11d4e8a749973c3c1d7202eb724dc14203e803e2d68b2b9ca121c98bb27a0a846c37b8c638c5af1a7ea37701807cbd7346ef250218910365a82ffc3741851080a07f912869f27452bd6c04f4fadbbc8a44491aee7ee8b000582103460087afe8e50f610496233eeb2943c3d6ee071b8c4395b081c7221f6f734cb0545c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0335494ce268528afb35b99987cdd801ab3cf8ed8744e282aa86408cf94a52647203db2f0881c04df21c1a7c3a90f9c930da7bed885e26bcdcb08eee1709065032e103eb903a1acac0aa0b9bcb9942ba08120c248da1e5d275ac9da94e7dfb7e4e76df005820026e029445b4e46554a8406c854bc18348e09ccd7f2726aa5a03cb52c749268d4203e5005820021fee03dda90e99abae8b94258f28ff34ac2a060df24c187660021ebf6d759a5820e34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b540219400400582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b4207d000582002f62144f58fcf31ca17bd4fb58ed33bcb0195f10f6cca0e979d4343812f79c9582049d9acd3e20042617be7e378294c731749bc579b09dfd560cd3357445ce0b9e900582002aa91c7ffeae068f4ad3654d56f34efd60d1e2b908f57bdab6731541491e3f64227100219041403607f253080b51ac0d34bb689fbd63bdac17836f07737451ac1e28ad7b2ccc1e00058210367836f005c970edfe49c2e2eaedd1b6a8d7e323c205ed98d09e3bab3e6653690582096e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f02197bff05581d0294699ec3e609bbf05135daf5c2145c2f4bfef95c6833e9c5afa2d0720f01490db4677571ab2a56591957c902191040034bf2cb65b666ae44953b2699faede0edf6382bd707ca415f5800ef152fa55b0c033a42dd502a04b193680bb1b1c9ff66d9c6e87efaa28235f418d28640f629516303562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0308301e71c171d07401096c80e01e0399367c286dbd264a4d0429c9b06007011bffffffffffffffff05581e03c164c914b3534287eb73824d72e4777b93c9031bb2ecfde1d3a3e6c7a00418d203afd39efbd69d165f63f2f590476037415adf7120b7227a203921862ab4f7161b0219cad103a5efd7b39d58a0ffe612713823d86eb1f44745bc2645fe5918b451cfd92945cd037d08abb595bd29c9dc292a22fa51813716c1fc2874e5e3e6b253f4454896d857031fea75294efd9472b7f8da39dcc8beb89b6fe1d9b2dffa7fcefc5aeb93e20a780219ffff03084d9ba5e00a9aa61ad3814aa40a52dcac007fbb609761a614b8bb582612d2760383c2e9950f58075bf7781c64450a92900e49950325c73d76828a4aaa09da9a9b03ccba38907ca28995222557ff89c53c1710a8f14ca9343256185a69286ff77f6603183d1db39d4a666b096c9f3ab2a879380ad11f6b585e32ac20af63cc4dfef66403f986dad2cea673cdd1d80e3faf5442675a5999bd87ce6a40b1d7cf4dc3899042030b2987f387a658babb3cd712b21cf7e7c3a70d4031c64720b190338849a9e3ce03a7b97dcc62d631806a875cecc60778238fcfc5e69842a2d6051ce8f2a4ecc9df0334fc275cbabba91a4e524ae589c79b7c038c8d7967190a0e82dbbb69b05ac11503108cb24b710fb66635ac6f28b7648388e2182954236435028e181f96cfee11cc03706217fb97b7d00e01f2fc65ab2921b51b97e891ec27973c17a37454328631ae037976a2530b6d07995242e0f0239c45df2cb6284e92ce370eb350c344567ae52603f46d1b5dc98b5889594a7391afe401290fca224f1e921a709bb3cb820415b0b60219ffff03c27c3c051cc66feb3d502b248c52605a342f9ad2ddfad3c34130ac20aba4536c033b33885a25f4b87db8a158dbe67a4e083ab477460d10988417ac5809882129740300042cd50913c3825400d11cd215934e8c25980e584f9ca0a86f32fe6ebf55b503ea3b7c57e01cfed25f084d678c1adccad24e8fbf3bdcb3f004c14d0bc17bf18903004d6812e1679d67cdb97ac360e85ff9077d9e151174070303943e8187583ca403cacf46f462761eaace5378ec9161a8c41b80a0d30dfe09ffdc857c5207ff79c203f94be9e4ea6c2b4aa5c0fee8ce95e8b76fd53320b383ffe145675a8fe27f7302032b009d7ab11743d863d51b3e7275bb19ddebd64e1274034367d4534b9d1e52d7038ff817670ce7a7226a4f03cdde7b9be62d15dc5e832325910f7bec31c63f11210334a67a657022bf4b272e4e59cae09bb05d4623e1860d0f406fe8570009769b7b031573d0ef946f7d0008427e81ef10b48a22cf986d0664d7fdf7891efd3afa998f03a2a8f85a7e2c6757cfa5ccabad6df7b459ab1528a5fca4e1764f8430cce262ff03295066b328ca6e07d0e952cf7b92fa47756c9b215262edcbd7a249fe7f14ef0303a165b4c57c3dc0c91729e56f8638923092a9b329374e1ce1445d195a18608efb0219ffff038dad74dac12162d57e0b2eda03e13c06f8a5fd8fcffd327ebfbcc5eda9ec82dc0382bba74e5193fb4e2faa879de11988304b039da0f96955f441a994702541762603527cf854e4e73d1be050f185b4c8a4ba46b17d102815d2809e6872e719df955303254f69b6529848252c4442c35bcfe2682e3d4d772a6e52537b549c92091e93560334b0cf919af1a610c67b93302daca35d2e0621cad0f7b79b3fc0d5d0235d845e0367899a243b0d351285f3918a7a6990aef18db2322cc219b6543e52354d6549a103f834d28ad26027c5dca97d8948bb224fade6b14a28d5ab43f937d5cbd0cab27b03c87788ac4c01e11954f20b6ae819b8d44f2f066a26feab72e003866211f5fa4403c628b535e2b749d74e63216b86db020c02a26408454462217e4584d0da037e330379ff91f34eb2129889228bd8c6014ba073e04127c021f425c1439bc3445e400c0387802b52916c4c1c433cc5f2b955bd05e035bd69e1584cfab388c042a7d1247703fdb8e09459d974918a7bb83b6fd25c6a0ba7337fa2119276068e2caee9646aae03fc4df651b6ecb5706974ac361c4ed9de35d6a19a3327d6ef2cf83fd3c1f9b75303b33bd2b5cc102b9769076e6af44cb5ca529ad386017ac94dac4e7776c35602e303ee1c65b74fbe493d38e5622ee9ea68e0e621c75041005093ff876469ced6af4c0371605da0a87d37745a609955dd6442c616389f8f30a53ca6b2fe11ef3650926003de9940db38fe30aba527253f96f17d76e876fe7ff6fb0e8131932a819b43e4df03f536823fbc4d09c86524cba1fefccc74791eb13e742d2224606594491d713b3a0397672fff811f2a54b0ac9bc0be8c3e295bc7afad59f500decd3740c25612ca180374cbd47b2a85cf8d902a6f77c2a4758e62b14de5645fd4063667bcbea6e2b5a90383dcc24efbcacb0074082926332be89dfec7ffeb8656d2b03df05f9159e2bf8103bf6ebeba36fbfb7d3619ca3a28b2ba928b0a041087520c20f0f30051d89665c803014dc62e38b6d975b3c00a3d3110dd26648f526f6ecba83e4ec349bb9adb477403cd88f4605dc9a668d45b542482cbcbd57ac796301b28bbe21d3d609d5d59327c03daed27078de024d73e58bdf5329d62ab491201bb00554c2afab4d7379ef312a903fa0e0fa57efe1c9e311eb663e2879aaf6161b0e20038e49678c19023e2b8762f05581e03e8b8dca85ffe2c5e4c2ef43f243deb7806e1b653591fee27eaf70694d0040203ca9f636e56a361e6defba9b7192edfdc289b14f42fb5377255acd1e7e98b265403c3401e9391108fcb16f9fda33813ee9017fc4c8deeda6686fe11c5ce2b4c3b2805581e038134f2dd62328881cc71035f4f3e8b20c8a1e7656e1b5cb09cf73c0f400c1819480c66394ee161893705581e037f266aaf82d11e3fda936939201c3b3ece7304ccad466ccc5e45b9f7e00c034702b9dbf72ffb6c05581e036698074bc1ae6eba9f0eb4df5c4eee97a4fdd9313a9373d63b7f0ebb40040203078b581b45e9affde36d7c3250cac5b3949cf0fad943ed76eb88a957e316f3d505581e031b17876372d11acaa14e3754d2b2bae98d03bd692d3a83032fed3501e00c0247295d27e6a7c80005581e037e4f1643aba1cdf2ee2423c0c3c0e1e3b8a691f760fa54575d31befb40040405581e03b5ae227f593a204e805e09e62b5fb88ad90e44ff614ea56e2bfe660bc00c174740657746a6476e05581e03a385eb7710515b6e5721e00b3d9ce3356dc84db2ff24ebdd8574e632800c0146060b16519fd80219d5f60219ffff03512baef651e4939ce2fa8f387d551ca348187743029c0b439d6a4077c71a01b6034ad52a3b0ec768bf4e3867ed9c0a59d90a8d425e4512016fde37948291240b2503fe3848540ef9efe817a8fec0fd8672e398836688df0ae5157238056950a02db5039cbe65c93a717e6821d6198452436c2f797972460fb2ed766f0bbaa0c40e73de037e8461679dc7d7eb737b78ba1c7061dc339128782c39890fc0219d8c493945c003334d043d3469112f781f7f32d9b548761cf78bb4b20774007763fd84f081864303a10770b86c2d5677ca5342c06b9318534b75822cf812f6564cfac9a5abc0c3530385afc39dc773be57715aabdcc1c46874829f080df6d962f0b40a0472d63be2d903c3f2036d475b387a653e899e97ed816a5f61f406c758e34a394c78be689e92930219ffff03e00f2126e98502191ef53840c027099643bce7fc7af4f3a3d165897977460f93030058a36e31746b5685b4fe01a321556f200fc2874b87e9900d1f77eadabb81e60384dcd1079780254c406a7fa42322a79c0d6247bed2aaa74f118086152d49e4ec03a21d2865d12e13c2459cc97bbc26e38f3a1ba808100bb648021f78a972389ffb03d8c2ca7090a1774aeaa1cc5308756a9c25410719a997d261a1ad023bedb16d6f03711b1b3c5aca93ac595f7f209720145caf629a2b01880bb361849fa5f94ea0b203893d1f4b2488b46f85183e653aa6d71408a913d8e60fc15a623c912b102aee3a030a83183590de1ea5a6071b8cd855dbe88ddddd7d0cbd3afae04e444628dad135033982c404b8cbd4995487d55fa0ab9005c453f1328a00ba0efb353a44bb5197d1033a38af1c7c2d99708570207b1361d495f68773e58b6900ceb0c3c261e376d72403ab99d5f83b23ebd023c476edcc08d30724e165f79a6c8488bd2c28bda2d1521e03094e21137a90c1dae86de923360bb1c4df63db8a16499882683ede613dca892e0219ffff0335a90d45c344df29ea1ec286c2fae3d46905c5013e8ba75486e1d526d1befae8030e09fef2801c4db531bb4d279ebc1d9a081e38587de11790184f83a3a7cd013903c6acb28c99ab9c7f44a3676879dabee43d9baf38259184e93befb60753b1a702031f54b193fa6adf9da46ea59206a966f6305fdf30c9f922f775029cc3ff46bc060219ffff03dba8f4f9dc0ef19aac264df0a46c44142f6aff89eec24a0a9a2877a09024e0500351d3f0f927db45900d7db35abe5c48057b33419fce1e94031b7496a0d1f31b71031a5f8aa84710eb895f78faa3f2f5ee49208f3140a9ed45f81dc371792e6f85cc03c0a6612971f3d5741ffcaccc9e6a04ea8c90849e3575624b967688984efa392d038bb91ce6fa37e84188d5490604cb016dee0a4e73a9687bdef6fd706c2879062a037e5758216ba59bffcafe76ed7b25d6bef1723524de164a0ba697a8bc93f8f1760387197a3fc90bbc1cda52f621a6fa30d4f7f59b54d46a929b2b65f404a9438872039a10bad24d7623d66365f9c4eddfbdc288110564575b8487b11d0cbd2d0061c003fd6572d1fac01dfa61a31c91dd231fb9320a19133aa46eddd05737121f4ccf49036d8aded985ceb4b9bcd5015d50933d84058f03f034e77ea06ed749a358ce5d570339ea5b5dfa3d3abbaef8c0c7ea52ade32cae355c821f16cab72a3fbcc9f169b20350fe0d0651561a06609b945c141a96f634fd96f48823e09ce192753b50d313d0032438c46bc7b27e4ad0b16bfa3873d5db35c372629ba35973ccfcc9a17374137b03f43517d4da3874f9091cf9674bbe77f3959dceca969182591ce749c3a43cc57203f8ae6a639861f8320cbfd38500bd6af293263d0b65a155228e5b93cdb5b3fffe035b29e7bdc3b58658f0673543fcb621a90597a274cadba9bfdf244394ade3200d0393893a5c7b9f958a1b2b5e8ddc2c40f2204c6466b304494e4d59c2057934e5a6036dc0a0193633411f1a4d78665bd4fa2ea98a59998643f4021b21a821098da3f9035bb304b245880187cf968d5053bf9adaf35808bb43e8eef9d906723a71f0ba93032123ffc4f99f111d4ea846e3f4c86d4f52a802e38d4b425dd2d787eb05ad038e03108b6d0a25e4b1f0bfa062a146701b0c76d82dbeaf17489f82c079259c15e1bc0342b4cdf456cb481f63965419f4b8859e3d76a7604b2243c04f7be73a8d5a7fdd039590c4f1461385311f4d37616dd8763acba83b991310ea90ddc519d11d1181e80391407e3c0f7e9bdaaa4a9930bcc96187073b78c5c68a4f788c64f6ad451308950308171bfa8fe3c7343445c7ad4e981f2fc56220b9e380f46e132e5baea9cb79c3037d333876a6357afe8d0059ce8e0aaacae8e7fe9baef39b5076324c0f101e5545030173e5931c708fd98e9bc0fe031144d34af1ce04f86282a0f26ca2cce8bd485703b11ccf0e1753be84816a07cc91f9ad91d00b48480d61a107670cd36d032b8e2a05581e033cfd843c514b3fda915799b582e55f9ec34c52e51337976605990402900c024744aa16afd0068803ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0343e7ff44d4634562faf14c48c04b7f5b38f99de26b90f7b91e9fe753b007011bffffffffffffffff05581e034fe21ccf40a601ccd52717e513790d5f6cc4aa0daa021827adf6715660040105581e0386c96546875ff41b995af11599794a73fe61c444e237d80a8f4ce28170040403c3546258a7374ccd71125e1a9afee0af4bb6ac91f56260a2b703a85220c666cf0340475d60e8662296956c61922e108cf5009f809be249eea838621bf3caa4998905581e03aff74fadc63040ff456cbddab0d4a8bc0ad43bdc5bd5e41fe5475384000c024236b104593ee160806040526004361061023f5760003560e01c80639326b08a1161012e578063d1b4f192116100ab578063f0ff372e1161006f578063f0ff372e146106b3578063f2fde38b146106d3578063f667526a146106f3578063f8c8765e14610713578063febb5407146107335761028e565b8063d1b4f19214610613578063d7ac683c14610633578063da74222814610653578063dd8b992314610673578063e479b099146106935761028e565b8063b238b533116100f2578063b238b5331461058b578063b3524e3014610593578063c47296bd146105b3578063c56326de146105d3578063ca2ba943146105f35761028e565b80639326b08a146104f85780639500fefc146105185780639d7de6b31461052b5780639ee933b51461054b578063b0261e531461056b5761028e565b806352a30127116101bc5780636ef8d66d116101805780636ef8d66d14610477578063715018a61461048c5780637cb2b79c146104a15780638456cb59146104c15780638da5cb5b146104d65761028e565b806352a30127146103e257806353403fb514610402578063572b6c05146104225780635c975abb1461044257806364aa1ad2146104575761028e565b80633ed77114116102035780633ed771141461034b5780633f4ba83a1461036057806346fbf68e146103755780634e7e36e2146103a25780634f20f840146103c25761028e565b80630102c1541461029357806301877020146102c957806314fe72aa146102eb5780632cd271e71461030b57806339db7d0e1461032b5761028e565b3661028e5761024c610753565b6001600160a01b03167f85177f287940f2f05425a4029951af0e047a7f9c4eaa9a6e6917bcd869f86695346040516102849190613d75565b60405180910390a2005b600080fd5b34801561029f57600080fd5b506102b36102ae3660046134b2565b610763565b6040516102c09190613d75565b60405180910390f35b3480156102d557600080fd5b506102e96102e43660046134b2565b610783565b005b3480156102f757600080fd5b506102e9610306366004613545565b6107ed565b34801561031757600080fd5b506102e96103263660046134b2565b610998565b34801561033757600080fd5b506102e96103463660046136a1565b6109ee565b34801561035757600080fd5b506102b3610bdc565b34801561036c57600080fd5b506102e9610be8565b34801561038157600080fd5b506103956103903660046134b2565b610c17565b6040516102c09190613730565b3480156103ae57600080fd5b506102b36103bd3660046134b2565b610c2b565b3480156103ce57600080fd5b506102b36103dd366004613672565b610c3e565b3480156103ee57600080fd5b506102b36103fd3660046134b2565b610c7f565b34801561040e57600080fd5b506102e961041d366004613545565b610ce8565b34801561042e57600080fd5b5061039561043d3660046134b2565b610d30565b34801561044e57600080fd5b50610395610d44565b34801561046357600080fd5b506102e9610472366004613545565b610d4d565b34801561048357600080fd5b506102e9610da4565b34801561049857600080fd5b506102e9610e38565b3480156104ad57600080fd5b506102e96104bc3660046134b2565b610e81565b3480156104cd57600080fd5b506102e9610ec9565b3480156104e257600080fd5b506104eb610ef6565b6040516102c091906136de565b34801561050457600080fd5b506102e9610513366004613545565b610f05565b6102e9610526366004613642565b611047565b34801561053757600080fd5b506102e96105463660046136a1565b611241565b34801561055757600080fd5b506102e96105663660046134b2565b611783565b34801561057757600080fd5b506102b36105863660046134b2565b6117cb565b6102e96117de565b34801561059f57600080fd5b506102b36105ae3660046134b2565b611934565b3480156105bf57600080fd5b506102b36105ce366004613642565b611950565b3480156105df57600080fd5b506102b36105ee3660046134b2565b611abc565b3480156105ff57600080fd5b506102b361060e3660046134b2565b611acf565b34801561061f57600080fd5b506102b361062e3660046134b2565b611aeb565b34801561063f57600080fd5b506102b361064e366004613642565b611afe565b34801561065f57600080fd5b506102e961066e3660046134b2565b611b8c565b34801561067f57600080fd5b506102e961068e366004613545565b611bd4565b34801561069f57600080fd5b506102e96106ae3660046134b2565b611c18565b3480156106bf57600080fd5b506102b36106ce3660046134b2565b611c79565b3480156106df57600080fd5b506102e96106ee3660046134b2565b611c95565b3480156106ff57600080fd5b506102e961070e366004613642565b611d03565b34801561071f57600080fd5b506102e961072e3660046134ea565b61213d565b34801561073f57600080fd5b506102b361074e3660046134b2565b6121ea565b600061075d6121fd565b90505b90565b6001600160a01b038116600090815261010060205260409020545b919050565b61078b610753565b6001600160a01b031661079c610ef6565b6001600160a01b0316146107cb5760405162461bcd60e51b81526004016107c2906139ea565b60405180910390fd5b60fd80546001600160a01b0319166001600160a01b0392909216919091179055565b600260015414156108105760405162461bcd60e51b81526004016107c290613c8a565b6002600155816001600160a01b03811661083c5760405162461bcd60e51b81526004016107c290613850565b6108458161222b565b6108615760405162461bcd60e51b81526004016107c290613a8d565b610869610d44565b156108865760405162461bcd60e51b81526004016107c290613972565b6001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156108c35760405162461bcd60e51b81526004016107c290613cc1565b81836001600160a01b031663dd62ed3e6108db610753565b306040518363ffffffff1660e01b81526004016108f99291906136f2565b60206040518083038186803b15801561091157600080fd5b505afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610949919061365a565b10156109675760405162461bcd60e51b81526004016107c290613904565b61098583610973610753565b60fd546001600160a01b0316856122b6565b61098f8383612314565b50506001805550565b6109a133610c17565b6109bd5760405162461bcd60e51b81526004016107c290613cee565b6109c5610d44565b156109e25760405162461bcd60e51b81526004016107c290613972565b6109eb8161244b565b50565b60026001541415610a115760405162461bcd60e51b81526004016107c290613c8a565b6002600155610a1e610d44565b15610a3b5760405162461bcd60e51b81526004016107c290613972565b60fc54604051630348a6db60e51b81526000916001600160a01b031690636914db6090610a6c908690600401613d75565b60606040518083038186803b158015610a8457600080fd5b505afa158015610a98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abc9190613570565b50509050610ac98161222b565b610ae55760405162461bcd60e51b81526004016107c290613d3e565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610b225760405162461bcd60e51b81526004016107c290613cc1565b81816001600160a01b031663dd62ed3e610b3a610753565b306040518363ffffffff1660e01b8152600401610b589291906136f2565b60206040518083038186803b158015610b7057600080fd5b505afa158015610b84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba8919061365a565b1015610bc65760405162461bcd60e51b81526004016107c290613904565b610bd281610973610753565b61098f83836124ba565b670de0b6b3a764000081565b610bf133610c17565b610c0d5760405162461bcd60e51b81526004016107c290613cee565b610c156129e9565b565b60fb546001600160a01b0390811691161490565b6101006020526000908152604090205481565b6001600160a01b03811660009081526101046020908152604080832054610100909252822054610c6e9085613e1e565b610c789190613dfe565b9392505050565b6001600160a01b038116600090815261010060205260408120548015610cd8576001600160a01b0383166000908152610100602090815260408083205461010490925290912054610cd09190613dfe565b91505061077e565b50670de0b6b3a764000092915050565b60fd546001600160a01b0316610cfc610753565b6001600160a01b031614610d225760405162461bcd60e51b81526004016107c290613b7f565b610d2c8282612a57565b5050565b6065546001600160a01b0390811691161490565b60c95460ff1690565b60fd546001600160a01b0316610d61610753565b6001600160a01b031614610d875760405162461bcd60e51b81526004016107c290613b7f565b6001600160a01b0390911660009081526101026020526040902055565b610dad33610c17565b610dc95760405162461bcd60e51b81526004016107c290613cee565b610dd1610d44565b15610dee5760405162461bcd60e51b81526004016107c290613972565b60fb546040516000916001600160a01b0316907f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a811908390a360fb80546001600160a01b0319169055565b610e40610753565b6001600160a01b0316610e51610ef6565b6001600160a01b031614610e775760405162461bcd60e51b81526004016107c2906139ea565b610c156000612acc565b610e89610753565b6001600160a01b0316610e9a610ef6565b6001600160a01b031614610ec05760405162461bcd60e51b81526004016107c2906139ea565b6109eb81612b1e565b610ed233610c17565b610eee5760405162461bcd60e51b81526004016107c290613cee565b610c15612b40565b6097546001600160a01b031690565b60fd546001600160a01b0316610f19610753565b6001600160a01b031614610f3f5760405162461bcd60e51b81526004016107c290613b7f565b816001600160a01b038116610f665760405162461bcd60e51b81526004016107c290613850565b610f6f8161222b565b610f8b5760405162461bcd60e51b81526004016107c290613a8d565b610f93610d44565b15610fb05760405162461bcd60e51b81526004016107c290613972565b6001600160a01b0383166000908152610100602052604081208054849290610fd9908490613de6565b90915550506001600160a01b0383166000908152610103602052604081208054849290611007908490613de6565b909155505060405182906001600160a01b038516907fbf2b46285c2ba2766660d9f8cfafdb8abd51bbba1f29c584b7dd34ecf853dd4c90600090a3505050565b6002600154141561106a5760405162461bcd60e51b81526004016107c290613c8a565b6002600155611077610d44565b156110945760405162461bcd60e51b81526004016107c290613972565b60fc54604051630348a6db60e51b81526000916001600160a01b031690636914db60906110c5908590600401613d75565b60606040518083038186803b1580156110dd57600080fd5b505afa1580156110f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111159190613570565b5050905061113673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61222b565b6111525760405162461bcd60e51b81526004016107c290613d3e565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461118e5760405162461bcd60e51b81526004016107c290613cc1565b60fd546001600160a01b03166111b65760405162461bcd60e51b81526004016107c290613aba565b60fd546040516000916001600160a01b03169034906111d490610760565b60006040518083038185875af1925050503d8060008114611211576040519150601f19603f3d011682016040523d82523d6000602084013e611216565b606091505b50509050806112375760405162461bcd60e51b81526004016107c2906137d3565b61098f83346124ba565b600260015414156112645760405162461bcd60e51b81526004016107c290613c8a565b600260015581611272610753565b60fc54604051630348a6db60e51b81526000916001600160a01b031690636914db60906112a3908690600401613d75565b60606040518083038186803b1580156112bb57600080fd5b505afa1580156112cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f39190613570565b505060fc54604051634f558e7960e01b81529192506001600160a01b031690634f558e7990611326908690600401613d75565b60206040518083038186803b15801561133e57600080fd5b505afa158015611352573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137691906135a6565b6113925760405162461bcd60e51b81526004016107c29061379c565b60fc546040516331a9108f60e11b81526001600160a01b03808516921690636352211e906113c4908790600401613d75565b60206040518083038186803b1580156113dc57600080fd5b505afa1580156113f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061141491906134ce565b6001600160a01b03161461143a5760405162461bcd60e51b81526004016107c290613be1565b611442610d44565b1561145f5760405162461bcd60e51b81526004016107c290613972565b60fc54604051630348a6db60e51b8152600091829182916001600160a01b031690636914db6090611494908b90600401613d75565b60606040518083038186803b1580156114ac57600080fd5b505afa1580156114c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e49190613570565b9250925092506114f38361222b565b61150f5760405162461bcd60e51b81526004016107c290613d3e565b8661152c5760405162461bcd60e51b81526004016107c290613b52565b8682101561154c5760405162461bcd60e51b81526004016107c29061393b565b60ff546001600160a01b031663e23fec91611565610753565b858a6040518463ffffffff1660e01b81526004016115859392919061370c565b600060405180830381600087803b15801561159f57600080fd5b505af11580156115b3573d6000803e3d6000fd5b5050505060006115c284610c7f565b6115cc9089613e1e565b905060006115da8386610c3e565b90506000818511156115ee575060006115f3565b508381035b60006115fe87610c7f565b6116089083613e1e565b6001600160a01b03881660009081526101036020526040812080549293508492909190611636908490613e3d565b9091555060009050611648838d613de6565b905060006116568387613de6565b9050670de0b6b3a764000061166b8289613e3d565b10156116745750855b6001600160a01b038916600090815261010060205260408120805484929061169d908490613e3d565b90915550506001600160a01b03891660009081526101016020526040812080548f92906116cb908490613e3d565b90915550506001600160a01b03891660009081526101046020526040812080548392906116f9908490613e3d565b909155506117099050898e612b9b565b6117158e828f8c612bc4565b61172789611721610753565b84612cee565b61172f610753565b6001600160a01b0316828a6001600160a01b03167f70516e69d9b3069ff3184583d867f7a832772e850ba89b554ae06ff752474f9e60405160405180910390a4505060018055505050505050505050505050565b61178b610753565b6001600160a01b031661179c610ef6565b6001600160a01b0316146117c25760405162461bcd60e51b81526004016107c2906139ea565b6109eb81612d59565b6101046020526000908152604090205481565b600260015414156118015760405162461bcd60e51b81526004016107c290613c8a565b600260015573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6118248161222b565b6118405760405162461bcd60e51b81526004016107c290613a8d565b611848610d44565b156118655760405162461bcd60e51b81526004016107c290613972565b60fd546001600160a01b031661188d5760405162461bcd60e51b81526004016107c290613aba565b60fd546040516000916001600160a01b03169034906118ab90610760565b60006040518083038185875af1925050503d80600081146118e8576040519150601f19603f3d011682016040523d82523d6000602084013e6118ed565b606091505b505090508061190e5760405162461bcd60e51b81526004016107c2906137d3565b61192c73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee34612314565b505060018055565b6001600160a01b03166000908152610101602052604090205490565b60fc54604051634f558e7960e01b81526000916001600160a01b031690634f558e7990611981908590600401613d75565b60206040518083038186803b15801561199957600080fd5b505afa1580156119ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d191906135a6565b6119ed5760405162461bcd60e51b81526004016107c290613c60565b60fc54604051630348a6db60e51b8152600091829182916001600160a01b031690636914db6090611a22908890600401613d75565b60606040518083038186803b158015611a3a57600080fd5b505afa158015611a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a729190613570565b9250925092508060001415611a8d576000935050505061077e565b6000611a998285610c3e565b9050600081841115611aad57506000611ab2565b508281035b9695505050505050565b6101016020526000908152604090205481565b6001600160a01b03166000908152610102602052604090205490565b6101036020526000908152604090205481565b60fc54604051630348a6db60e51b815260009182916001600160a01b0390911690636914db6090611b33908690600401613d75565b60606040518083038186803b158015611b4b57600080fd5b505afa158015611b5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b839190613570565b50949350505050565b611b94610753565b6001600160a01b0316611ba5610ef6565b6001600160a01b031614611bcb5760405162461bcd60e51b81526004016107c2906139ea565b6109eb81612d7b565b60fd546001600160a01b0316611be8610753565b6001600160a01b031614611c0e5760405162461bcd60e51b81526004016107c290613b7f565b610d2c8282612b9b565b611c20610753565b6001600160a01b0316611c31610ef6565b6001600160a01b031614611c575760405162461bcd60e51b81526004016107c2906139ea565b60ff80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03166000908152610103602052604090205490565b611c9d610753565b6001600160a01b0316611cae610ef6565b6001600160a01b031614611cd45760405162461bcd60e51b81526004016107c2906139ea565b6001600160a01b038116611cfa5760405162461bcd60e51b81526004016107c29061380a565b6109eb81612acc565b80611d0c610753565b60fc54604051630348a6db60e51b81526000916001600160a01b031690636914db6090611d3d908690600401613d75565b60606040518083038186803b158015611d5557600080fd5b505afa158015611d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8d9190613570565b505060fc54604051634f558e7960e01b81529192506001600160a01b031690634f558e7990611dc0908690600401613d75565b60206040518083038186803b158015611dd857600080fd5b505afa158015611dec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e1091906135a6565b611e2c5760405162461bcd60e51b81526004016107c29061379c565b60fc546040516331a9108f60e11b81526001600160a01b03808516921690636352211e90611e5e908790600401613d75565b60206040518083038186803b158015611e7657600080fd5b505afa158015611e8a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eae91906134ce565b6001600160a01b031614611ed45760405162461bcd60e51b81526004016107c290613be1565b611edc610d44565b15611ef95760405162461bcd60e51b81526004016107c290613972565b60026001541415611f1c5760405162461bcd60e51b81526004016107c290613c8a565b600260015560fc54604051630348a6db60e51b8152600091829182916001600160a01b031690636914db6090611f56908a90600401613d75565b60606040518083038186803b158015611f6e57600080fd5b505afa158015611f82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa69190613570565b925092509250611fb58361222b565b611fd15760405162461bcd60e51b81526004016107c290613d3e565b6000611fdc84610c7f565b611fe69084613e1e565b90506000611ff48386610c3e565b905060006120028583613e3d565b9050600081116120245760405162461bcd60e51b81526004016107c290613a56565b60006120308486613e3d565b6001600160a01b0388166000908152610100602052604081208054929350849290919061205e908490613e3d565b90915550506001600160a01b038716600090815261010460205260408120805483929061208c908490613e3d565b90915550506001600160a01b03871660009081526101036020526040812080548492906120ba908490613e3d565b909155506120cd90508b8260008a612bc4565b6120d987611721610753565b6120e1610753565b6001600160a01b031682886001600160a01b03167f8e7bf3ba9a828655d38a8746fe5f122e5b02ada0764a356944630cff7eff35e2846040516121249190613d75565b60405180910390a4505060018055505050505050505050565b600054610100900460ff1680612156575060005460ff16155b6121725760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff1615801561219d576000805460ff1961ff0019909116610100171660011790555b6121a685612deb565b6121ae612e71565b6121b782612ef5565b6121bf612fb3565b6121c884612d59565b6121d183612b1e565b80156121e3576000805461ff00191690555b5050505050565b6101026020526000908152604090205481565b600061220833610d30565b1561221c575060131936013560601c610760565b61222461301b565b9050610760565b60fe54604051633e978aaf60e21b81526000916001600160a01b03169063fa5e2abc9061225c9085906004016136de565b60c06040518083038186803b15801561227457600080fd5b505afa158015612288573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122ac91906135c0565b6020015192915050565b61230e846323b872dd60e01b8585856040516024016122d79392919061370c565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261301f565b50505050565b600081116123345760405162461bcd60e51b81526004016107c290613af1565b60fc546000906001600160a01b0316636a627842612350610753565b6040518263ffffffff1660e01b815260040161236c91906136de565b602060405180830381600087803b15801561238657600080fd5b505af115801561239a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123be919061365a565b604080516060810182526001600160a01b0380871682526000602083018190528284015260fc5492516324087a5760e11b81529394509092911690634810f4ae9061240f9085908590600401613d7e565b600060405180830381600087803b15801561242957600080fd5b505af115801561243d573d6000803e3d6000fd5b5050505061230e82846124ba565b6001600160a01b03811661245e57600080fd5b60fb546040516001600160a01b038084169216907f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a81190600090a360fb80546001600160a01b0319166001600160a01b0392909216919091179055565b816124c3610753565b60fc54604051630348a6db60e51b81526000916001600160a01b031690636914db60906124f4908690600401613d75565b60606040518083038186803b15801561250c57600080fd5b505afa158015612520573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125449190613570565b505060fc54604051634f558e7960e01b81529192506001600160a01b031690634f558e7990612577908690600401613d75565b60206040518083038186803b15801561258f57600080fd5b505afa1580156125a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c791906135a6565b6125e35760405162461bcd60e51b81526004016107c29061379c565b60fc546040516331a9108f60e11b81526001600160a01b03808516921690636352211e90612615908790600401613d75565b60206040518083038186803b15801561262d57600080fd5b505afa158015612641573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061266591906134ce565b6001600160a01b03161461268b5760405162461bcd60e51b81526004016107c290613be1565b60fc54604051630348a6db60e51b8152600091829182916001600160a01b031690636914db60906126c0908b90600401613d75565b60606040518083038186803b1580156126d857600080fd5b505afa1580156126ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127109190613570565b92509250925086600014156127375760405162461bcd60e51b81526004016107c290613af1565b60ff546001600160a01b031663645625f3612750610753565b858a6040518463ffffffff1660e01b81526004016127709392919061370c565b600060405180830381600087803b15801561278a57600080fd5b505af115801561279e573d6000803e3d6000fd5b505050506001600160a01b0383166000908152610100602052604081205415806127df57506001600160a01b03841660009081526101046020526040902054155b156127fd576127f688670de0b6b3a7640000613e1e565b905061283b565b6001600160a01b038416600090815261010060209081526040808320546101049092529091205461282e908a613e1e565b6128389190613dfe565b90505b670de0b6b3a76400008110156128635760405162461bcd60e51b81526004016107c290613b1b565b6001600160a01b03841660009081526101016020526040812080548a929061288c908490613de6565b90915550506001600160a01b03841660009081526101006020526040812080548a92906128ba908490613de6565b90915550506001600160a01b03841660009081526101046020526040812080548392906128e8908490613de6565b909155505060408051606081019091526001600160a01b0385168152600090602081016129158b87613de6565b81526020016129248486613de6565b905260fc546040516324087a5760e11b81529192506001600160a01b031690634810f4ae90612959908d908590600401613d7e565b600060405180830381600087803b15801561297357600080fd5b505af1158015612987573d6000803e3d6000fd5b50505050612995858a612a57565b61299d610753565b6001600160a01b031689866001600160a01b03167fa21288bdd948f634bcd5a8bfc9825db1b01914f370ef82149e123b7c8dc3b65b60405160405180910390a450505050505050505050565b6129f1610d44565b612a0d5760405162461bcd60e51b81526004016107c29061376e565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612a40610753565b604051612a4d91906136de565b60405180910390a1565b6001600160a01b0382166000908152610102602052604081208054839290612a80908490613de6565b90915550506001600160a01b038216600081815261010260205260408082205490519092917ff28044030a28cf7d3fb8e8f7bbaa42aee92214081fd522b3a38afb279577db8991a35050565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60fe80546001600160a01b0319166001600160a01b0392909216919091179055565b612b48610d44565b15612b655760405162461bcd60e51b81526004016107c290613972565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a40610753565b6001600160a01b0382166000908152610102602052604081208054839290612a80908490613e3d565b60fc54604051630348a6db60e51b815260009182916001600160a01b0390911690636914db6090612bf9908990600401613d75565b60606040518083038186803b158015612c1157600080fd5b505afa158015612c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c499190613570565b92509250508481612c5a9190613e3d565b9050612c668483613e3d565b60fc54604080516060810182526001600160a01b0387811682526020820185905281830186905291516324087a5760e11b8152939550911691634810f4ae91612cb4918a9190600401613d7e565b600060405180830381600087803b158015612cce57600080fd5b505af1158015612ce2573d6000803e3d6000fd5b50505050505050505050565b60fd546040516317d5759960e31b81526001600160a01b039091169063beabacc890612d229086908690869060040161370c565b600060405180830381600087803b158015612d3c57600080fd5b505af1158015612d50573d6000803e3d6000fd5b50505050505050565b60fc80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116612da15760405162461bcd60e51b81526004016107c290613887565b606580546001600160a01b0319166001600160a01b0383169081179091556040517f871264f4293af7d2865ae7eae628b228f4991c57cb45b39c99f0b774ebe2901890600090a250565b600054610100900460ff1680612e04575060005460ff16155b612e205760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff16158015612e4b576000805460ff1961ff0019909116610100171660011790555b612e536130b3565b612e5c82613126565b8015610d2c576000805461ff00191690555050565b600054610100900460ff1680612e8a575060005460ff16155b612ea65760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff16158015612ed1576000805460ff1961ff0019909116610100171660011790555b612ed96130b3565b612ee16131b6565b80156109eb576000805461ff001916905550565b600054610100900460ff1680612f0e575060005460ff16155b612f2a5760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff16158015612f55576000805460ff1961ff0019909116610100171660011790555b6001600160a01b038216612f7b5760405162461bcd60e51b81526004016107c290613a1f565b612f83613226565b60fb80546001600160a01b0319166001600160a01b0384161790558015610d2c576000805461ff00191690555050565b600054610100900460ff1680612fcc575060005460ff16155b612fe85760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff16158015613013576000805460ff1961ff0019909116610100171660011790555b612ee1613296565b3390565b6000613074826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661330e9092919063ffffffff16565b8051909150156130ae578080602001905181019061309291906135a6565b6130ae5760405162461bcd60e51b81526004016107c290613c16565b505050565b600054610100900460ff16806130cc575060005460ff16155b6130e85760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff16158015612ee1576000805460ff1961ff00199091166101001716600117905580156109eb576000805461ff001916905550565b600054610100900460ff168061313f575060005460ff16155b61315b5760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff16158015613186576000805460ff1961ff0019909116610100171660011790555b606580546001600160a01b0319166001600160a01b0384161790558015610d2c576000805461ff00191690555050565b600054610100900460ff16806131cf575060005460ff16155b6131eb5760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff16158015613216576000805460ff1961ff0019909116610100171660011790555b612ee1613221610753565b612acc565b600054610100900460ff168061323f575060005460ff16155b61325b5760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff16158015613286576000805460ff1961ff0019909116610100171660011790555b61328e6130b3565b612ee1613325565b600054610100900460ff16806132af575060005460ff16155b6132cb5760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff161580156132f6576000805460ff1961ff0019909116610100171660011790555b6001805580156109eb576000805461ff001916905550565b606061331d84846000856133a3565b949350505050565b600054610100900460ff168061333e575060005460ff16155b61335a5760405162461bcd60e51b81526004016107c29061399c565b600054610100900460ff16158015613385576000805460ff1961ff0019909116610100171660011790555b60c9805460ff1916905580156109eb576000805461ff001916905550565b6060824710156133c55760405162461bcd60e51b81526004016107c2906138be565b6133ce85613463565b6133ea5760405162461bcd60e51b81526004016107c290613baa565b600080866001600160a01b0316858760405161340691906136c2565b60006040518083038185875af1925050503d8060008114613443576040519150601f19603f3d011682016040523d82523d6000602084013e613448565b606091505b5091509150613458828286613469565b979650505050505050565b3b151590565b60608315613478575081610c78565b8251156134885782518084602001fd5b8160405162461bcd60e51b81526004016107c2919061373b565b8051801515811461077e57600080fd5b6000602082840312156134c3578081fd5b8135610c7881613e96565b6000602082840312156134df578081fd5b8151610c7881613e96565b600080600080608085870312156134ff578283fd5b843561350a81613e96565b9350602085013561351a81613e96565b9250604085013561352a81613e96565b9150606085013561353a81613e96565b939692955090935050565b60008060408385031215613557578182fd5b823561356281613e96565b946020939093013593505050565b600080600060608486031215613584578283fd5b835161358f81613e96565b602085015160409095015190969495509392505050565b6000602082840312156135b7578081fd5b610c78826134a2565b600081830360c08112156135d2578182fd5b6135dc60a0613dae565b835181526135ec602085016134a2565b602082015260408401516040820152606084015160608201526040607f1983011215613616578283fd5b6136206040613dae565b608085810151825260a090950151602082015293810193909352509092915050565b600060208284031215613653578081fd5b5035919050565b60006020828403121561366b578081fd5b5051919050565b60008060408385031215613684578182fd5b82359150602083013561369681613e96565b809150509250929050565b600080604083850312156136b3578182fd5b50508035926020909101359150565b600082516136d4818460208701613e54565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b901515815260200190565b600060208252825180602084015261375a816040850160208701613e54565b601f01601f19169190910160400192915050565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526019908201527f4552525f5f544f4b454e5f444f45535f4e4f545f455849535400000000000000604082015260600190565b6020808252601b908201527f4552525f5f4e41544956455f5452414e534645525f4641494c45440000000000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526019908201527f546f6b656e20616464726573732063616e6e6f74206265203000000000000000604082015260600190565b6020808252601b908201527f54727573746564466f727761726465722063616e277420626520300000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252601b908201527f4552525f5f494e53554646494349454e545f414c4c4f57414e43450000000000604082015260600190565b6020808252601b908201527f4552525f5f494e53554646494349454e545f4c49515549444954590000000000604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601a908201527f50617573657220416464726573732063616e6e6f742062652030000000000000604082015260600190565b60208082526018908201527f4552525f5f4e4f5f524557415244535f544f5f434c41494d0000000000000000604082015260600190565b602080825260139082015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b604082015260600190565b6020808252601b908201527f4552525f5f4c49515549444954595f504f4f4c5f4e4f545f5345540000000000604082015260600190565b60208082526010908201526f04552525f5f414d4f554e545f49535f360841b604082015260600190565b6020808252601f908201527f4552525f5f414d4f554e545f42454c4f575f4d494e5f4c495155494449545900604082015260600190565b60208082526013908201527211549497d7d253959053125117d05353d55395606a1b604082015260600190565b60208082526011908201527011549497d7d5539055551213d492569151607a1b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252818101527f4552525f5f5452414e534143544f525f444f45535f4e4f545f4f574e5f4e4654604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526010908201526f11549497d7d253959053125117d3919560821b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526013908201527222a9292fafaba927a723afa32aa721aa24a7a760691b604082015260600190565b60208082526030908201527f4f6e6c792070617573657220697320616c6c6f77656420746f20706572666f7260408201526f36903a3434b99037b832b930ba34b7b760811b606082015260800190565b60208082526018908201527f4552525f5f544f4b454e5f4e4f545f535550504f525445440000000000000000604082015260600190565b90815260200190565b91825280516001600160a01b03166020808401919091528101516040808401919091520151606082015260800190565b60405181810167ffffffffffffffff81118282101715613dde57634e487b7160e01b600052604160045260246000fd5b604052919050565b60008219821115613df957613df9613e80565b500190565b600082613e1957634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615613e3857613e38613e80565b500290565b600082821015613e4f57613e4f613e80565b500390565b60005b83811015613e6f578181015183820152602001613e57565b8381111561230e5750506000910152565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146109eb57600080fdfea26469706673582212200694930dff4a04862ed4f5d0fa1abd0b3a19a4f070cccd2fd78bfed6de085b1c64736f6c634300080000330605581d02d53ebd5aa3854acd742793f7a1ac4a7a1777689e88d262f96f9395d40701193ee105581d02508982aee340121ba266a34e86a35f0b09640590ec9deb453b62934d040105581d02a103a00f98a1c1747736c9b4aaefbcb71e5fcc64171553a2c760a22b0402021920820399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803477d347a6680ea01d07e1745f00efc9add651d6e14c88854f22077c5a7333c3d05581e038b5ae35a091e113f3fd9dabe1a1c137d266b646edbd79f1c3c92d2a7e007011bffffffffffffffff035ece36bd82b003c6a19d33cb8381cb22a8f24e890d605845a757dbcadddff82a032c3734c18c46f29ad3aaf742770f1493212e90bfe9837905f5e0603217891bf90219f8bf03f3f569ea91eb7dd2ee95fc7afd7445406c086f24f75a1df50de315abb5898bc2035f69bc9592c19f0651c71435b02ae4b39c21f55a44390d1ad6ab22c7715ac9230325e41d83de68a78728d08dd479828678b051ed26c69135a5b1cb4501a957388b0325534c07d61b56c872c8fce1b82fc8791e489b9a6bbce85f9cde4a9d35773e7f030d23941424a35f2999f2c6f989b1e3a6caf7da01e5a394d70906af53094bd7060328f3ebc67a7ce4bc337e5761b485ca2a60657130ee7d52ad2bb5aa230873f39303c76311f4e6746ed07ce759655b74276d02b48be91e27121880d79d07892e1fc9033d218950790c87299ab1f6c950fb4999799aeb1081a63cfb739c08dca1be57570396c013e3622312b91adee446f34bba863351d489c08b04d715b3be52992348910219ffff036812238471757a2ec79d77ba58f6c81ede8b87eceb87c3743d66c5529756672703e3e01e57542ede728db4fa36b93904fd3a98a526523268bbbaf0f83ce62abc330352f7b2b7d6f3057c26945ef2fd3dc823abb0c21967d34b1d8b6157ebe0b36d9c0337c8f93967f5582a4732c1425c01adcca72a11cbd069b5c6a098259dd78c53b903b105dffea63a0d09e366c016056063ee0194deba9a9020b3d4b0e72e3be4ffa90309d9dd205e6275054faae4e133d3048642f9b20ec551b9d997be9178917ab77e03a4fea8f01def216cd0c5b46b84757597898d1aeece33484720a2fd7a1457157c0329e3b2e5cf4db602635e3abb0f5e16d9d71ccf5095800d5699dc5dd28490bb2e035fcadfa20952ce1fa1d6e4befd6bef85c3ad128ac362907710e78fe2d5360df20219ffff03a4eb8d247a3e0dbba0dc35e275b3848591fa203957eed642883b52e95e438ee803f502ce5e44af551eb0009fbb7f91f3f405f703621639c5c0b555756dd9127935039492956717d4eba1b3bc9fe0ee86c6890f00ff217f4f7ad86ec5f9135ab56e1003e3157a4daf777d62fe77b9bfbc2c8b41237ede58ffd26cecc851afb9112323ce03b53555effd412387f72a94aa10c40937b6da66178b267f7229370a334f8dfbbc033301407251678673ef15867f65589ae71883bfb12d8d879dc62a6e60ec98578e032cb77261361454c6b0e55d9f80b924fc9e9f6868468083ed2e725a581d2e9d2a035c4b6b750c0868b19673fe9618f1d7d457a49c79228e4b0ec583f20040ea123b0219ffff034a063036648400de21a41ff1308de9fbf1f89cb04b2a21fc8d8c834de8f1045903dadad82c3f4341ea10e798a1fc1ad7474066f166583573fca40a5ca3a19284850332855e95db91617bcbb8d26901a608101f7f35ce089e78d66840a5c245d2da0d0358a4ef7125138b34d0dc2f68a735277b8e10e0960cdaa6b827a5ff54e0577e63036362c21c48f9d840962c0189857892607b6ebb7c331ef9fa8559587662a3d5f0030fbcd0fd84242bc710bb7895b9c72a759af6fc43be903fdc049544bc8efe326d03dbaf56e8c77d6ae53fd83e0442c8cce89b3df7fd53a47e77d5efe37a135be44f03ed7d15e5b6c66e2f11d357effd718b7dd9a90bfc56fed9e447eec2e3d62e3fe10348f310283b40a94ed7f59145f63165ae2cb634ca477c6f7efb4af1492b6b6e7103b679ad82ab720ab64df61c770b889f3ffe377d5e95306e8e681d061887347dea03a127cbc2bfe59eb58f791399168064e6d4361fa3635fca5d4c353bf8b6d977f303bd5c3d4a6ab15ee7255786dc9727d9034dcdb29eb7e4ae3e547155f7463358f603b45dd1994b06400154d078dd0d581d7809139c4ad6f5ecbd7ab5dc06d4fd019403d94fdb85370fbf8ca5fc824f4d9b576b907d54ec7270f1462a9d9a81e2d777fd03e15d927c389eabbbae0ea2fe69e8c3d4523d7643e24e6c02bd3770074b5112c7032eab1625990c480141852fa2d2596edfb914ad91c7e3d04d3a099c6125a423240361e5108376f9675c5b7211c9289e3b4beb37d59a98e05a87dc531aeb4959db4b03ee03a804a72a790f8bde52ce69f6113563dcf1bb6b373a29a00ebf8a2809e7ac0315565626c2d41e02ae3078342559a4900c595d8fabefc343e7d60263fc0b3de70344d9d8ff1e16c4bf3ea6cf1562c0c7465104464c9c5ebcc58918e9703435b55005581e0321c5ce56d89c8e61c3edc3ba55279c4e3eb5b52c0609f4e95ca53a7a300c18a2490d7802d080a6398c730376d6076f7559f846ac5e2a49c346bad59e3837c55b38ccb0f1f07ef03f3535ec05581e03200f8a6286606c0a2dcbcd7fe38f13ef364f2c136b9d13aee0de2cc6200c024703bc9e91c67cb80361fe92f714693fb4abde57839a8b5f7b4437b80e416ba872deeb07d56cdc95a703b5b5b8c369e763fd60b82f85e788ba10e2b73bda7fc52d4da03e84f39a9f8567034c1d02ed4a7bd9030af0013363d49dfcfd9817c1da9c40c3b22cccb42f7fa20e05581e03df208349c71dfe5d8f6ef80322daee6efa3e7934e03395ae16bcce08000f01476a94d74f4300001bffffffffffffffff05581e03a5d7906423708a6aeec655e9dc1aeeb0bd1701ccef529a0276393fcaf0040e05581e03efcae28a34ea905b04b4a3228fdcc189f0e1927a79c58fd55c5dde54a0040205581e036873f75ffaec3857e4a74264af1945b0b8b6c61cef619fb7e7bac841d00c0347014c7c643c941002190bd9034fdd2f0bc778f14aac2b64ef45370df4cb92b4c687ff6cf2c10dcaddb490051a030e2602fcccfa44640fa9401789f72df397546859939da182cf5a829ac79fa694030099a02309f1d8a7c520096fc23a563d9138dc82bf9199121d126e9b96a2b4a503a561a3a9de0d5f5dfa5cb18278c36ca2c5d43c271d849fc72636bf85cf9495d0033f6d5c5addc6ed0029d3b900278fbb32f05afd3ef78fbc4c53084b4c27a2c1d4033366f9e0e92fb9fb929fcd5236434f3349db92f5106b2d75f5b35ca30d966b2f036933c0b8c1b42c9763b5ef8ba7e975bab0dc6905779c3da6dd86fcfce25efc1603572340882bdd964560249d7064b0efed1d9f5b4f2c5f55a306d9f321dc3e116e03f304dea315b8162e1d4bca8ae406967b4939d3172e09b65d103f37b123f00d3d0219ffff032db97ff203c3153069d274ce7455ff78d620a17e3ff88794952c3b22cd98c64a03abaec290ce19f224ab1188234abf37dc0dd13dfe71819418477c336df413deea03e466d353e5def60fff4f05d0d977a59b2976b56d207dc4b6c4539e55a6d126d703b73b2a457221ac69dd0a5c51019c1d6cd945db857d3705d34e5fa3d80505537403a901e26f77261743eab59268d7221472e0c056f8859ceb9667825d17437221df0380bde55d2cf7f45d073970cc4c02addee32c6b98e3b60eb761dfb257f8d513c0037057a19e7af3a4003d941d7596db5d3806201b2da4cfef5a4edf56c4a2ffedec0363f0d46a894d9af68261a1c9c583a6065c6e65dbe38b19badb7b08416d1df7cd0375cfff85c4f0d576f3519e3284b28dc0b4c90b6335c59268b2e00c1b93f4a87a0219ffff0383f8f7e4a2694875ebd44341f6df0ef0518e16b608b7c582afbac50d98ad7fc203f822d8ec0fea8ab1d3846ee6cff61b8be5298218a0df3c618d064a43342b83b8033bbe69f6e3b37415a9c5709a0a5b8bb414372b77f3f982828ca2d641be9c1a6d033daf90d8610c2fdcf731013e227b8bb68add24bc578bfcb5a926faf9ab10627b03e92006d8cfbfb453681b24cd991184bc41f892a5215a3fe9c5325bdeb5a1936a039dacdb957e9ea6d691ae8c2f54fecd57021bafe2db2740e1b007b29092344261039b4e2024d30d975d941824189a9667b76f10aaf9e9a07a223d3c4f8962fdf59d03410c7178df62724a2cfc0697503ad217e683fb8c348c5617d12e2ac49efa7aed0219ffff03fe996f1e0fc60c2351a5386eb7c17461c432254b0e7b590c6106f50b7b4a0d9e03a27accdc7088343456149a228221756cd38e57a49376682e3dd30065028f741b03cd154b7e5e8b03568b0cdbf480cbdd45c3dfdbcf9cf2eb03ecb55ba8b6c39d8b03f36a72955e808d6e27d995e1ad5d22c96613394ea4f8cc6a22a05337a296d94a039ee097e08691de0fc3f8e11446702fd974f767e9c6ba765c8d33c0cd2f54c97c03a0b6ae51560f01ee93c6590643cfbc1217e1c67fff508e5f4a67a6b15fb520c403733e18da10fdd0b76042df1f9555583009d96c0a9d2350cab3bb4ccae2c2542b03c6dfa4e772be3c159bd2cf4eaa0d3be07b643028eb18999c9fb723608a8682b80321b479d5e20205dc85e0192e366edaf6e438a63741ce48ac5e1a1e08fbbc739703559848b005c18987a73d360ae77c70a4d13c5516a90c7bf091181925e00b50ab037059443c916e84f7e93add24126ccc6be432c0475bf92f4a4c1c7d6ecba70d9e03e29e7e904e3ebd380017d5dc6fcf62ee6c71b2cb86065fb0905884af45a0513503d8d18f2601faa4516a6a19f3081b70bc097e30931cd6a15be97a6c75f3eae7e70377a73eaa513051336eda5c94e08931ce9c0c594881cd3ffc6a2ac424c39d8f57036dfd7d1b0cb3211ce5b167cfa0ac84fd09a85afbcd79005ea6c602cae5e9163f0342deb6290eff95e79531610819fa4d2d8a732e35f6e771c80be5b48b77c2bf2c03df18cd630b53c55bca0bca04723c07d6c4d1510c8af9539c96e28c42da90edb3037953bad41d208972d8c718d3bfd31439c2fe82fe5d7760610fdae815af8413a1039ea3391de6a7872bf5494ba8d349f5610d45f44bd6acb5481c8d54663ffcde6903fb292cc9d7a118d5239621bff20f37a46b956de70f20fd2b6ec4b494c5a33e28039dd94868a0437ed669b585cd11f51a82c2360b7544531c1a59a5dfe71aded3f003d8650afd44a6894132ab27eb0bfa2911c1f6f2b7a1390de6db8d102c9c094dec03f09bbaf031ef876136e43c058ff021f4bfe5cbb7d9cb156cc908b4c261d9959703c3bcda6bb0000163cdafb118f4184ade18a8cf08a3f30069d0948807ec1d34c703cc831d1a346bf9071287fc5e9a03e80f64dc55ba33534daf38758d238a43795803dad7dbea6270e361115f86965c9810276dacf9c6518be9fea7e75b22f4baf5b0031ac365ffb0795c2d1e8eb9c10dd1e1b59c39de38deff6bc432ad4a794126977103b7199ece60556ce25ca801ab507d39b23e7a4bc34ac6103c4f6c4ce9539a61f00323dd88dd5f3b9c5c7ee292f25c356e5cc0136d840654bf46fa27334b2a95e24903a198c8c42b59979a9cc0f384056e0582c4ea621ee84c5ad549c824ace470b003034ced270eb12624e172676841037df19134889ba35b4e662f99c7e440dd56652505581e03f2441c16f10367f4373314b931a73e1060d103e164f6d81bf4ccea98400c0147016a5ebab8d187037d01dd7265d17cb692f48274979792179c0240fb192c1329455b27b61d7fdeff05581e03fc762c746c60dd732d3957b94cfc0560bd5db0796da112cb9b5e9398c00401045904e260806040526004361015610018575b6100166103e4565b005b6000803560e01c63c4d66de81461002f575061000e565b346102245760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022457808060043561006c81610227565b73939c8d89ebc11fa45e576215e2353673ad0ba18a32148015610207575b80156101ea575b80156101cd575b6100a19061024a565b604051907f5c60da1b00000000000000000000000000000000000000000000000000000000825260208260048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000033ca97c0b4df29103dc8da00a967884f165afa9182156101c0575b8392610190575b506040517fc4d66de8000000000000000000000000000000000000000000000000000000006020820190815273ffffffffffffffffffffffffffffffffffffffff929092166024808301919091528152610171604482610305565b51915af461017d610378565b501561018857604051f35b3d81803e3d90fd5b6101b291925060203d81116101b9575b6101aa8183610305565b810190610353565b9038610116565b503d6101a0565b6101c861036b565b61010f565b5032733b52ad533687ce908ba0485ac177c5fb4297296214610098565b507386d26897267711ea4b173c8c124a0a73612001da3214610091565b5073e80a65eb7a3018deda407e621ef5fb5b416678ca321461008a565b80fd5b73ffffffffffffffffffffffffffffffffffffffff81160361024557565b600080fd5b1561025157565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f496e697469616c697a65206d757374206f726967696e6174652066726f6d206160448201527f6e20617070726f766564206465706c6f7965722e0000000000000000000000006064820152fd5b507f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034657604052565b61034e6102d5565b604052565b90816020910312610245575161036881610227565b90565b506040513d6000823e3d90fd5b3d156103df573d9067ffffffffffffffff82116103d2575b604051916103c660207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610305565b82523d6000602084013e565b6103da6102d5565b610390565b606090565b34156103ec57565b6000806040517f5c60da1b00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000033ca97c0b4df29103dc8da00a967884f165afa90811561049f575b8291610481575b50368280378136915af43d6000803e1561047c573d6000f35b3d6000fd5b610499915060203d81116101b9576101aa8183610305565b83610463565b6104a761036b565b61045c56fea264697066735822122022a6f8a80a3410719e8504e9b42af008259446db5cdbc3acc5d20ff3f8f338a464736f6c634300080e00330058210365132811df6b5613a478768e4d5ad03017b82e3cedd0186af1591d76fa86f26041010317a8abb2140fd4e4944cdf602bb42761b470056cfee98dd351a689134f128c5c03d8c3b967eda809ede9fe64dcaec4fccbbcb324fe5119712665fc3de73ea50fa803cd98b98f15369101e25c0e5f79d935027fc35e741ffaa97d349c469e9958c79200582103837248e0d5eb6d1c01c6b42f270fc090737bd9fd429a29cd27edca6cc711e4104101005821030e47b333d7626992d184fcd9890a06b28e0b896e992b7a7c109fba5bed4ccb3041010058210312f0d875933edb45ddd5d99b911d3b874918a4b7daf1f5fae34760f125e29760410100582103854e0c6e49e987dc003583f739738978c4bce3fdb55077e8e1e46a83630cadc04101005821039fed33e3768aef5084d11cf1d80bf3d6d96235c28126db01d4c228d20d2e4290410103d2c231bd5226aaadcd40e82d1feec8b6a0ede16265f6ccac6be7b04de6ad7efa00582103fb1990a622d46b00df2890450fa956cf535bd5c24460b366e22f7061a45e31e04101005821036452f670a1d097007815124c4263188d0e90d7f9839f24eb322fa087464661b04101038d9f89bdedec2cd303e5551cb6239203f6a60d6b2a5dd5770d38e3807949a14902197dfd05581d0208d327b05b26db67ef36212ee6369dc15b01337dc96e997a65112d9d0f0149072534bd8b6ba333361904e205581d026f0d4b39e33e358d8ce482b5b0c269c1857e65f9393538acae8333a90c014713d2fafdd8c0000219400205581e035f2d4352b4e9ec55db31e8dbbf1a2651f5ad9167b879712207f5b3c690040205581e0381527657d52f2b7c4d0a9c519cc4f50746458968f96fcc767f5a244e200c01470f09eb5c11dbcf05581e03b76393f2e56d31edba1e86bab7dfed7d4d296f48ac412acefb0b62d390040205581e038b706e85108bc9eeba22dba3fb0e4695757907ccacc38459ccb3a112700c0247046129f28ea82105581e03246a8570c160d71b1484dde0bac27a9b22ee83fc99fd7aa5ce608a5e100c014703242b81c93dd80219655e039b74df55df18fad5d3df6a34d2cf4677e57cfe5bc97de95746b466ea3694aaff034cf2dc6356ced4196e7bf47528ef68b78a5c44877b5d45feafaed0fd787fb68e03a0f069f2d36ece55acfdd2fb82390c34dd94eae00137461dc3dac3f3d45c86bc03b7f7b248343a15bcb9cd61446a07c7de55293d4cc02dbffd930219eb338bf7cf0326bd00589dfff5f6801d3abdd8a81625c9b698f12ac77e655d493bc173a1a1340219ffff038bbdfbabf1576bfe3c40a75a0b74b4a2c9ef48a33ffa8e016ab5a261da9dedd303f8585e83fce4e20b9271676bd6940583e7b863403f79301400120be887ca05ac0219ffff038c369c4cd5e2b1f2de26dae380db0e214a0735fa11f45ec73395f593135eaae0037823ece115bf52a33fe9051539774ef7a194218d4843f44cc52f04aba5019ec9031c07fbd9f417d1d83799f7d08a273d45d389128f78eace8c58be6e47bf6f02b603a1ddbd330047363b706503905c7d147c082192ef27e35deaf4034e56d282954c037f4c929df46c6d5d391d438e11b086c2ab31eea9b4c87df2b321cb85ed4601a20310aa2edd8de9d7ef7c8cdab018ce2ebf33524d4620627f69645c3f60892a7811032b2200d5d426fb6c901b41c8f286498a877dc8d504cb8fb9d862794b7ca7ce9b034f1ba344e4a5309fae0e4ad883c77266c240a5b90e959de76aaf17d251f4a1240219ffff037d167c985f5402be94b65de52de5468e68af0cce2aa856c2418ddee42ec42905035d6e6a078d0ca24a51e3b4dc7e6331a550f304d829f49fd55d31d8dea23e5f3703045ff2b573e306f65b2a038c80b055494ebafcad0653ff69a4f88231e91db48b031803c65a7d63ad75e22114ab60d100072d0b2ac6a027bebaeb27f8a324efce4103cfe1632a2699a21a866c7db9680a0727a70e72bf4e3eb2ac6ad7d9f576faf226034b68c47f383b0ae79d4bd9925df6203b8238a6d8fcaf88c9effd8ab405fe227303101b7fdc6811148e2c2a554fdaf1d29c4e4209f78dc50c9570b9afa52716f24e033a16e56ed88639238d5cddc6fd47eaeaf94b413c6a2b6ec8c55b68429e4823b803537b7d4d330af452f46c2d57e3001f5fa60a9230eef9f7f6f65ca0a91bc13f4c03b526ff86dbf07e1c48babc454db1bd668e46c357780ebfa416f2e727841f6fbe039ba6e47c9a5f5b9c69b56527859cd7291922ec5bf8adda047f61abf00874f83d03ec91f66f0f0ff55e5b838503c621dfdc9d1f2bcde8ad9ec176992fbe2696c23203c9e61ad784e1050e28436ed9b2a3963c4e48fa24b01676065967be0fc91b3fd4032d563ceacab064b9918526b54a3aa38cf028a1e9b3723ae3718fe078ca8199da039d4fd85530f6edd3bad905082b9c251efd89fb024198c9d440a15e1d726ac5e303af99bb12357fc8c418e901c4ae8e1f6d82cb1e4945970f8e118f6059836fed5b03a4f46014697340b7452596404150dc3233d10c3f1a085d4d91d1f23674dfaf3603128fe4ccb61c50e43d0322643d798abff370a0b95f06d6e92af45068303929a7035b7b6ce67a45b9c2bc8139dbdc34fab1ecf242f33f2bcb111350fe2ec6aad0d003ed1e1499df086037cd73f3f8ec55d6d3b23ee8fc26325831657cb2a9f6e61b480355fa7bf560a9ab8eabd19583ac73d8d8a2c727859491719b13275d13e73feb25030ed990e7c6cb8a9b16a742fafb90559af541f352103e9d8a7fb086eb948834e10380c7fe43b6585ee1f13ec434a3676774e50ea3d56b6ce9f63c842ba7d9108b43033ac3e234dcb123e80e60bbab1117cc6084b35db0f1f60814c382e3c5d5d905b40341f92ca78d4aabbe968a3bc4b09d6ceb2214cfb790b212b8c064d879d765ed3603d434e84bf37839dcd566e5c962e9548f67e2ba7ada6dba8c0f7a006e246dbbb203d28b30488dad18b97d551617d1bb9b8d8cc7b4dd6e70bb7289bed96aa43b7df003daa36ce5571f8a21053edbc965026d7351214dcde4cf59f432f81548fe6fde95033f8030176ad3629964cea007200aaf9e52d1df7fcb380e5d61ddf8f19193e33903cf531691e399825078f0476940cf0e7510bd3de6b3a9d9f64cb60a45b496cb2903fe857cd6c105003256b348d0e13a19de99519005c2ceafe577459c074dedeb3503660f86e24520a9cb82cdf5e5fb0bb8ac3612f3ec7657f269229ea8c9066aeb31037d78e537ee6c3a86f59cd9c00d9eb1b6a687ff0494d0b02bc9941d1aaf69584f0320bd71bcbba237f8480ca663e44708205b449415c6d3f266ed20985bb6587f7f05581e03b3b6bfd83bdcbdc0ce9caf77c9e23bef1c5073343aad0a24198b3b57a00c01464d7f0892700003a22225a6333b136db1f608e9e9586301de9eb980213ced8ab3023de62f8e0ce205581e034c7bc67dd438b89c15c903d67e276df321980010947902b6f529150e100c01465921673020000338a1d27c8764ee76b602adb17b432b8c1b5d71c2604c229d31ef9dc3c0b691f603d805cd42993e219e731edc34823164c2b803f41e87e44aec698ad5ac655e77d805581e03f4c24e2c48d87ad7dbb2a9e61730c8a378de26e6aea3c757839f34268008470196f20271fb2405581e03a709f408f8c572405f3386861364e7a8ef34210b4af74d9f56a9167fa00846487c9a3048000219cb6403b0a9a3d254abb3b237434038a2a3ec938993023c364dc502875db79cb4ddf352036668c18510db50e039a4b875ba9e8de19c639b17e71685111dc17e9244553b5003d16345a816a69f81feb7b39cca7ee9ac0a1ebe36a22c9a7417de938dbbb0a113034de8036fa97941d86f7e2a89cda837abb87e434cff04b12c62a0c4f66d37d0ef0219ffff038ad82bca69f958f138e29ac980d5f03dab46f8ecb786d18fc9846178752c53a1037e4e20afb1f1695a94902795f864d94dd8dc68a38a4d9877a86c9c0df17cd6690219ffff0350bfd101dcd8e8dc32d7f48cce95d2f0b98b4dfaffc5a8be061548f19a9e90c203601fed4af54c6d7b8bb853f81f09efc8e0c31a3d27cf788c01fb19ce501f69f10345357eedac110c4de4c870d55232b1ab85e608f358d931335c6ff07eccf2985f031b3d5c20d6b171be574dde46c36e796ea1926d94c30a7cc22061a0c0bc693295038207960ba8bdeff3b6cca8c8b03c2f22e3593a3fbe16d55af49f92a77c56aafd03a86b6fb501eb55df0702ef967fe99874763a73c744e166484e875e2ac61e643a03b9fb176f0cc5cd422d2fa951b7e6e60aee8e8413d49f39088ba6aa911ba61bc00219ffff03b09834dd31fd90a5dee17681b2e830c5a83aa5366759982ec7218775e067d2690219ffff031f199fe3c36212030de61f1da5bc06061a188843641edc69f295b35cdd54c6be034ab9231b86b5384e0377e74f27a42ab5f798532c63d28323f38a22e89a706859034e7a5ead3c5a544551217088a9506fd14f6d8ba6c4211925730aaa29686a7a7803eb2414149c4f30601a28ec3cfb2579b10757b044106996a3a3294e56a0bcb2ab03b2d93400b2f472bdde4c246cd8ce29aa312da782485318a11053d64dbdf9111203cc7a7b28672443112f6a1f33c9a3792dee5b8a23fa96db31836a51df1c927a7f03f248bc1497821a9c9036138af4922d8eac3111e4bfaa9c5f022918f158d488be03a22a920b098d658db1f353f0f1d6eadf562ccd1e3189f04242a2ea58b982d749036ae6c7a70b8b111bd7943fecd31c0986d21d8a9219d5dca49c0db731adb760fe03c8899af37243924db3a187375232354d005da47a6fc45ea1094c49f442a30b220319ab3fa3da5d0476e72c8a8802e147e64af05fa51dcb46ceb6a819118ef3c1000336889c931834213ea0d92e2b6989a52d3c12d4e1047b13f53ee44cac3e85864d0369cff03beea82d5e4ee02dd9975b98e51567d1187f41ea30dd709bb25263b193036563c73206088eeb61783d4a0686dcfdac14557de51ab2129100f8fed323626303b4dc5b5094c55d75e4217e17aff5d7c3b4bf7a3847cdc0dfd492e0b488a6450d03576743878cd94619f8586d91fa27a9fb423cc0eb137ea8c76fde8afcdc0a46eb03a6d81553c2274b3480f7d43e1f1546bb60607137633c9ac9ee00594e84bb405905581e038bb196e5524a787a45fd8ede29e37b9562ac724388c2a85a33bb6905900c014623a4e40353c005581e03871c4bc6d8088107f984305f0407d39dc1f6ceefc0a1cd3b4453e311e008480495c0e63bc887dc05581e03c183098544d0247f141e30b4d7ff947e74934b50ac59a4132f962c3e700c06471cf97998ee2000038f54e8895e6fb5eb1f8b6afe76ddef63efc7f669c7add86bb1d362a90713082f04595dc56080604052600436106103605760003560e01c80639132e5c3116101c6578063c9fc7bcd116100f7578063ddc28c5811610095578063e8964e811161006f578063e8964e8114610bc0578063ef667aa114610be0578063f2fde38b14610c2b578063f64be4c714610c4b57600080fd5b8063ddc28c5814610b5f578063e1758bd814610b8c578063e4fe1d9414610ba057600080fd5b8063d4b4ec8f116100d1578063d4b4ec8f14610aa3578063d70b890214610ac3578063dc706a6214610ae3578063dc93c8a214610b1357600080fd5b8063c9fc7bcd14610a27578063ca5eb5e114610a6e578063cb5026b914610a8e57600080fd5b8063a7229fd911610164578063aafea3121161013e578063aafea312146109a7578063b96a277f146109c7578063c28e0eed146109e7578063c9a54a9914610a0757600080fd5b8063a7229fd914610947578063a825d74714610967578063aafe5e071461098757600080fd5b80639c6d7340116101a05780639c6d73401461089f5780639d7f9775146108e7578063a0dd43fc14610907578063a718531b1461092757600080fd5b80639132e5c31461084a57806391d20fa11461086c5780639535ff301461087f57600080fd5b80635b17bb70116102a05780636f50a8031161023e57806379624ca91161021857806379624ca9146107d35780637cb59012146107ec578063861e1ca51461080c5780638da5cb5b1461082c57600080fd5b80636f50a80314610754578063715018a61461078a578063733180911461079f57600080fd5b80636a14d7151161027a5780636a14d715146106955780636bf73fa3146106b55780636dbd9f90146106d55780636e83f5bb146106f557600080fd5b80635b17bb70146105e45780636750cd4c14610645578063697fe6b61461067557600080fd5b80632baf0be71161030d578063402f8468116102e7578063402f8468146104ee57806340f806831461052d578063416ecebf1461054d578063587cde1e1461059657600080fd5b80632baf0be7146104455780632e80fbf31461048757806335d330b0146104a757600080fd5b80632637a4501161033e5780632637a450146103d85780632a56c1b0146103f85780632b3197b91461041857600080fd5b80630c0c389e1461036557806314f651a91461037a578063183c834f146103b8575b600080fd5b610378610373366004614bce565b610c81565b005b34801561038657600080fd5b5061038f610d98565b6040805163ffffffff90931683526001600160a01b039091166020830152015b60405180910390f35b3480156103c457600080fd5b506103786103d3366004614c7e565b610dca565b6103eb6103e6366004614cc9565b611155565b6040516103af9190614d1c565b34801561040457600080fd5b50610378610413366004614d5f565b6112be565b34801561042457600080fd5b50610438610433366004614dcf565b61137c565b6040516103af9190614e91565b34801561045157600080fd5b506104797fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020016103af565b34801561049357600080fd5b506103786104a2366004614ebc565b611497565b3480156104b357600080fd5b506104796104c2366004614f23565b600c60209081526000948552604080862082529385528385208152918452828420909152825290205481565b3480156104fa57600080fd5b5061050e610509366004614f65565b61166e565b604080516001600160a01b0390931683529015156020830152016103af565b34801561053957600080fd5b50610378610548366004614ebc565b611705565b34801561055957600080fd5b506105817f000000000000000000000000000000000000000000000000000000000000759581565b60405163ffffffff90911681526020016103af565b3480156105a257600080fd5b506105cc6105b1366004614f8f565b600f602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016103af565b3480156105f057600080fd5b5061062c6105ff366004614faa565b600160209081526000938452604080852082529284528284209052825290205467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016103af565b34801561065157600080fd5b50610665610660366004614fe6565b6118b5565b60405190151581526020016103af565b34801561068157600080fd5b50610378610690366004615001565b611905565b3480156106a157600080fd5b506103786106b0366004614c7e565b61197a565b3480156106c157600080fd5b506103786106d03660046150ff565b611e7a565b3480156106e157600080fd5b506103786106f03660046151e3565b611ee4565b34801561070157600080fd5b50610735610710366004614fe6565b600b60205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b0390931683526020830191909152016103af565b34801561076057600080fd5b506105cc61076f366004614fe6565b600a602052600090815260409020546001600160a01b031681565b34801561079657600080fd5b50610378611fb8565b3480156107ab57600080fd5b506105cc7f0000000000000000000000001ccbf0db9c192d969de57e25b3ff09a25bb1d86281565b3480156107df57600080fd5b50600d5460011415610665565b3480156107f857600080fd5b50610378610807366004615274565b611fcc565b34801561081857600080fd5b506106656108273660046152c6565b6120d1565b34801561083857600080fd5b506000546001600160a01b03166105cc565b34801561085657600080fd5b5061085f61213e565b6040516103af91906152f1565b61037861087a36600461533e565b6121a0565b34801561088b57600080fd5b5061037861089a3660046153e9565b612362565b3480156108ab57600080fd5b5061062c6108ba366004614faa565b600360209081526000938452604080852082529284528284209052825290205467ffffffffffffffff1681565b3480156108f357600080fd5b506106656109023660046153e9565b61265b565b34801561091357600080fd5b5061062c610922366004614faa565b612735565b34801561093357600080fd5b5061037861094236600461542c565b6127ce565b34801561095357600080fd5b50610378610962366004615458565b612bd7565b34801561097357600080fd5b50610378610982366004615476565b612bef565b34801561099357600080fd5b506104796109a2366004614faa565b612d87565b3480156109b357600080fd5b506103786109c23660046154b3565b612e96565b3480156109d357600080fd5b506105cc6109e2366004614f65565b613154565b3480156109f357600080fd5b50610378610a02366004614f8f565b6131dc565b348015610a1357600080fd5b50610665610a223660046152c6565b613251565b348015610a3357600080fd5b50610479610a423660046154cf565b600260209081526000948552604080862082529385528385208152918452828420909152825290205481565b348015610a7a57600080fd5b50610378610a89366004614f8f565b6132b7565b348015610a9a57600080fd5b50610479600081565b348015610aaf57600080fd5b50610378610abe36600461542c565b61332f565b348015610acf57600080fd5b50610378610ade3660046154cf565b613633565b348015610aef57600080fd5b50610665610afe366004614f8f565b60056020526000908152604090205460ff1681565b348015610b1f57600080fd5b50610665610b2e366004614f65565b6001600160a01b03918216600090815260066020908152604080832063ffffffff9490941683529290522054161590565b348015610b6b57600080fd5b50610b7f610b7a366004614cc9565b613756565b6040516103af9190615511565b348015610b9857600080fd5b5060006105cc565b348015610bac57600080fd5b50600e546105cc906001600160a01b031681565b348015610bcc57600080fd5b50610378610bdb366004614f8f565b613a81565b348015610bec57600080fd5b50610735610bfb366004614f65565b6008602090815260009283526040808420909152908252902080546001909101546001600160a01b039091169082565b348015610c3757600080fd5b50610378610c46366004614f8f565b613c7f565b348015610c5757600080fd5b506105cc610c66366004614fe6565b6009602052600090815260409020546001600160a01b031681565b610cd086610c9260208a018a614fe6565b60208a0135610ca760608c0160408d01615528565b898989604051602001610cbc93929190615543565b604051602081830303815290604052613d29565b506040517f13137d650000000000000000000000000000000000000000000000000000000081526001600160a01b038716906313137d65903490610d24908b908a908a908a9033908b908b906004016155e0565b6000604051808303818588803b158015610d3d57600080fd5b505af1158015610d51573d6000803e3d6000fd5b50505050507f3cd5e48f9730b129dc7550f0fcea9c767b7be37837cd10e55eb35f734f4bca048787604051610d87929190615637565b60405180910390a150505050505050565b600080610da8600d546001141590565b610db457600080610dc2565b610dc2600d5460a081901c91565b915091509091565b6001600160a01b038216600090815260056020526040902054829060ff16610e1e576040517f378b1de600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001600160a01b03811615610eda576000816001600160a01b0316631881d94d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e92919061568a565b6002811115610ea357610ea361565b565b03610eda576040517f84ead63600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83856001600160a01b03821615610fa8576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7291906156b9565b610fa8576040517f391daaa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fb188613f6c565b6000610fbd898961166e565b9150508015610ff8576040517f3c075f7500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b85600003611058576001600160a01b038916600090815260086020908152604080832063ffffffff8c168452909152812080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168155600101556110ef565b438611611091576040517f05df9f2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03898116600090815260086020908152604080832063ffffffff8d168452909152902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169189169190911781556001018690555b604080516001600160a01b03808c16825263ffffffff8b166020830152891691810191909152606081018790527f4e0a5bbfa0c11a64effb1ada324b5437a17272e1aed9320398715ef71bb20928906080015b60405180910390a1505050505050505050565b61115d614b15565b61116a6020840184614fe6565b336001600d54146111a7576040517fee120b0900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b77ffffffff000000000000000000000000000000000000000060a083811b919091166001600160a01b03831617600d556111e6908601608087016156d6565b80156111fb5750600e546001600160a01b0316155b15611232576040517f5af6d2aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061123f3388613fd6565b91509150600061124c3490565b9050600061126861126360a08b0160808c016156d6565b6142ba565b905061127984604001518383614388565b600e5460408501516020015161129b916001600160a01b03169083868c6143ef565b6040840151516112ad9083858b61441c565b50506001600d555095945050505050565b6112c785613f6c565b60008383836040516020016112de93929190615543565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905061133a8661131f6020880188614fe6565b602088013561133460608a0160408b01615528565b85613d29565b507f3cd5e48f9730b129dc7550f0fcea9c767b7be37837cd10e55eb35f734f4bca04858760405161136c929190615637565b60405180910390a1505050505050565b6001600160a01b038316600090815260056020526040902054606090849060ff166113d3576040517f378b1de600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f9c33abf700000000000000000000000000000000000000000000000000000000815263ffffffff80861660048301526001600160a01b0388811660248401529085166044830152861690639c33abf790606401600060405180830381865afa158015611447573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261148d91908101906157be565b9695505050505050565b6114a085613f6c565b6001600160a01b038516600090815260026020908152604080832063ffffffff881684528252808320868452825280832067ffffffffffffffff8616845290915290205481811461152c576040517f7182306f00000000000000000000000000000000000000000000000000000000815260048101829052602481018390526044015b60405180910390fd5b6001600160a01b038616600090815260016020908152604080832063ffffffff89168452825280832087845290915290205467ffffffffffffffff90811690841611801590611579575080155b156115bc576040517fc09b635000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff84166004820152602401611523565b6001600160a01b038616600081815260026020908152604080832063ffffffff8a16808552908352818420898552835281842067ffffffffffffffff8916808652908452938290207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905581519081529182018890528101929092526060820152608081018390527faf0450c392c4f702515a457a362328c8aa21916048ca6d0419e248b30cb552929060a00161136c565b6001600160a01b03808316600090815260076020908152604080832063ffffffff8616845290915281205490911690816116fe5763ffffffff83166000908152600a60205260409020546001600160a01b03169150816116fa576040517f78e84d0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060015b9250929050565b61170e85613f6c565b6001600160a01b038516600090815260026020908152604080832063ffffffff881684528252808320868452825280832067ffffffffffffffff86168452909152902054818114611795576040517f7182306f0000000000000000000000000000000000000000000000000000000081526004810182905260248101839052604401611523565b8015806117e057506001600160a01b038616600090815260016020908152604080832063ffffffff89168452825280832087845290915290205467ffffffffffffffff908116908416115b15611823576040517fc09b635000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff84166004820152602401611523565b6001600160a01b038616600081815260026020908152604080832063ffffffff8a16808552908352818420898552835281842067ffffffffffffffff89168086529084528285209490945581519081529182018890528101929092526060820152608081018390527f7f68a37a6e69a0de35024a234558f9efe4b33b58657753d21eaaa82d51c3510e9060a00161136c565b63ffffffff81166000908152600960205260408120546001600160a01b0316158015906118ff575063ffffffff82166000908152600a60205260409020546001600160a01b031615155b92915050565b336001600160a01b03168b6001600160a01b03168d6001600160a01b03167f8a0b1dce321c5c5fb42349bce46d18087c04140de520917661fb923e44a904b98d8d8d8d8d8d8d8d8d8d6040516119649a999897969594939291906157f3565b60405180910390a4505050505050505050505050565b6001600160a01b038216600090815260056020526040902054829060ff161580156119ad57506001600160a01b03811615155b156119e4576040517fa4ff2ec300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001600160a01b03811615611aa0576000816001600160a01b0316631881d94d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a58919061568a565b6002811115611a6957611a6961565b565b03611aa0576040517f84ead63600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83856001600160a01b03821615611b6e576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015611b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3891906156b9565b611b6e576040517f391daaa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7788613f6c565b6001600160a01b03808916600090815260076020908152604080832063ffffffff8c16845290915290205481169087168103611bdf576040517fd0ecb66b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03898116600081815260076020908152604080832063ffffffff8e168085529083529281902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016958d1695861790558051938452908301919091528101919091527fcd6f92f5ac6185a5acfa02c92090746cec64d777269cbcd0ed031e396657a1c29060600160405180910390a18515611dcf576001600160a01b0381161580611c9a57506001600160a01b038716155b15611cd1576040517f3c075f7500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006040518060400160405280836001600160a01b031681526020018843611cf9919061588b565b90526001600160a01b03808c16600090815260086020908152604080832063ffffffff8f1684528252918290208451815494167fffffffffffffffffffffffff00000000000000000000000000000000000000009094169390931783558301516001909201829055519192507f4e0a5bbfa0c11a64effb1ada324b5437a17272e1aed9320398715ef71bb2092891611dc1918d918d9187916001600160a01b03948516815263ffffffff93909316602084015292166040820152606081019190915260800190565b60405180910390a150611e6f565b6001600160a01b03898116600081815260086020908152604080832063ffffffff8e1680855290835281842080547fffffffffffffffffffffffff00000000000000000000000000000000000000001681556001018490558151948552918401919091529284169282019290925260608101919091527f4e0a5bbfa0c11a64effb1ada324b5437a17272e1aed9320398715ef71bb2092890608001611142565b505050505050505050565b336001600160a01b03168a6001600160a01b03167f7edfa10fe10193301ad8a8bea7e968c7bcabcc64981f368e3aeada40ce26ae2c8d8c8c8c8c8c8c8c8c8c604051611ecf9a9998979695949392919061589e565b60405180910390a35050505050505050505050565b6001600160a01b038316600090815260056020526040902054839060ff16611f38576040517f378b1de600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f4185613f6c565b6040517f20efd7220000000000000000000000000000000000000000000000000000000081526001600160a01b038516906320efd72290611f8a908890879087906004016158fd565b600060405180830381600087803b158015611fa457600080fd5b505af1158015611e6f573d6000803e3d6000fd5b611fc0614446565b611fca60006144ba565b565b336000908152600c602090815260408083206001600160a01b03891684528252808320878452825280832061ffff871684529091529020541561203b576040517f1508219400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818160405161204b929190615a4e565b60408051918290038220336000818152600c60209081528482206001600160a01b038c16835281528482208a8352815284822061ffff8a168352905292909220557f3d52ff888d033fd3dd1d8057da59e850c91d91a72c41dfa445b247dfedeb6dc1916120c2919088908890889088908890615a5e565b60405180910390a15050505050565b6001600160a01b038116600090815260016020908152604082206121379185918591859061210190850185614fe6565b63ffffffff1681526020808201929092526040908101600090812089840135825290925290205467ffffffffffffffff16614522565b9392505050565b6060600480548060200260200160405190810160405280929190818152602001828054801561219657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612178575b5050505050905090565b6001600160a01b038089166000908152600c60209081526040808320938b168352928152828220898352815282822061ffff8916835290528181205491516121eb9087908790615a4e565b60405180910390209050808214612238576040517f35ca595f0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401611523565b6001600160a01b03808b166000908152600c60209081526040808320938d168084529382528083208c8452825280832061ffff8c1684529091529081902060019055517fd0a1026000000000000000000000000000000000000000000000000000000000815263d0a102609034906122c0908e908d908c908c9033908d908d90600401615aa7565b6000604051808303818588803b1580156122d957600080fd5b505af11580156122ed573d6000803e3d6000fd5b50505050507e36c98efcf9e6641dfbc9051f66f405253e8e0c2ab4a24dccda15595b7378c88a8a8a8a60405161234e94939291906001600160a01b039485168152929093166020830152604082015261ffff91909116606082015260800190565b60405180910390a150505050505050505050565b6001600160a01b038116600090815260056020526040902054819060ff1615801561239557506001600160a01b03811615155b156123cc576040517fa4ff2ec300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816001600160a01b03811615612488576001816001600160a01b0316631881d94d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561241c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612440919061568a565b60028111156124515761245161565b565b03612488576040517f7a01ede200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82846001600160a01b03821615612556576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa1580156124fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061252091906156b9565b612556576040517f391daaa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61255f87613f6c565b6001600160a01b03878116600090815260066020908152604080832063ffffffff8b1684529091529020548187169116036125c6576040517fd0ecb66b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03878116600081815260066020908152604080832063ffffffff8c168085529083529281902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016958b1695861790558051938452908301919091528101919091527f4cff966ebee29a156dcb34cf72c1d06231fb1777f6bdf6e8089819232f002b1c90606001610d87565b600080600061266a868661166e565b91509150816001600160a01b0316846001600160a01b03160361269257600192505050612137565b6000816126c7576001600160a01b038716600090815260086020908152604080832063ffffffff8a16845290915290206126dd565b63ffffffff86166000908152600b602052604090205b6040805180820190915281546001600160a01b03908116808352600190930154602083015290925086161480156127175750438160200151115b156127285760019350505050612137565b5060009695505050505050565b6001600160a01b038316600090815260016020908152604080832063ffffffff86168452825280832084845290915281205467ffffffffffffffff165b6001600160a01b038516600090815260026020908152604080832063ffffffff881684528252808320868452825280832067ffffffffffffffff60018601168452909152902054156127c657600101612772565b949350505050565b6127d6614446565b6001600160a01b038216600090815260056020526040902054829060ff1661282a576040517f378b1de600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001600160a01b038116156128e6576000816001600160a01b0316631881d94d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561287a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289e919061568a565b60028111156128af576128af61565b565b036128e6576040517f84ead63600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83856001600160a01b038216156129b4576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa15801561295a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061297e91906156b9565b6129b4576040517f391daaa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff87166000908152600a60205260409020546001600160a01b039081169087168103612a10576040517fd0ecb66b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff88166000818152600a602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038c169081179091558251938452908301527fc16891855cffb4a5ac51ac11864a3f3c96ba816cc45fe686c987ae36277de5ec910160405180910390a18515612b425763ffffffff88166000908152600b6020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038316178155612ae7874361588b565b600182018190556040805163ffffffff8c1681526001600160a01b038516602082015280820192909252517f55b28633cdb29709386f555dfc54418592ad475ce7a65a78ac5928af60ffb8f89181900360600190a150612bcd565b63ffffffff88166000818152600b6020908152604080832080547fffffffffffffffffffffffff000000000000000000000000000000000000000016815560010183905580519384526001600160a01b038516918401919091528201527f55b28633cdb29709386f555dfc54418592ad475ce7a65a78ac5928af60ffb8f89060600160405180910390a15b5050505050505050565b612bdf614446565b612bea8383836145bd565b505050565b612c0682612c006020860186614fe6565b3361265b565b612c3c576040517f4fa6ecac00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03821660009081526001602090815260408220908290612c6590870187614fe6565b63ffffffff1681526020808201929092526040908101600090812087840135825290925290205467ffffffffffffffff169050612ca3848483614522565b612cd9576040517f751cb20f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612ce48484836145e0565b612d1a576040517f0177e1ca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612d4683612d2b6020870187614fe6565b6020870135612d406060890160408a01615528565b866146a0565b7f0d87345f3d1c929caba93e1c3821b54ff3512e12b66aa3cfe54b6bcbc17e59b4848484604051612d7993929190615afb565b60405180910390a150505050565b6001600160a01b038316600090815260036020908152604080832063ffffffff8616845282528083208484529091528120548190612dd09067ffffffffffffffff166001615b23565b604080517fffffffffffffffff00000000000000000000000000000000000000000000000060c084901b166020808301919091527fffffffff000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000759560e090811b821660288501526001600160a01b038b16602c85015289901b16604c830152605080830188905283518084039091018152607090920190925280519101209091505b95945050505050565b612e9e614446565b6001600160a01b038116600090815260056020526040902054819060ff16612ef2576040517f378b1de600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b816001600160a01b03811615612fae576001816001600160a01b0316631881d94d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f66919061568a565b6002811115612f7757612f7761565b565b03612fae576040517f7a01ede200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82846001600160a01b0382161561307c576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa158015613022573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061304691906156b9565b61307c576040517f391daaa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff86166000908152600960205260409020546001600160a01b038087169116036130d6576040517fd0ecb66b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff861660008181526009602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038a169081179091558251938452908301527f16aa0f528038ab41019e95bae5b418a50ba8532c5800e3b7ea2f517d3fa625f5910161136c565b6001600160a01b03808316600090815260066020908152604080832063ffffffff8616845290915290205416806118ff575063ffffffff81166000908152600960205260409020546001600160a01b0316806118ff576040517f6c1ccdb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6131e4614446565b600e80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527fd476ec5ec1ac11cec3714d41e7ea49419471aceb9bd0dff1becfc3e363a62396906020015b60405180910390a150565b6001600160a01b038116600090815260016020908152604082206121379185918591859061328190850185614fe6565b63ffffffff1681526020808201929092526040908101600090812089840135825290925290205467ffffffffffffffff166145e0565b336000818152600f602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0386169081179091558251938452908301527f6ee10e9ed4d6ce9742703a498707862f4b00f1396a87195eb93267b3d79839819101613246565b6001600160a01b038216600090815260056020526040902054829060ff16613383576040517f378b1de600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b826001600160a01b0381161561343f576000816001600160a01b0316631881d94d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133f7919061568a565b60028111156134085761340861565b565b0361343f576040517f84ead63600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83856001600160a01b0382161561350d576040517f6750cd4c00000000000000000000000000000000000000000000000000000000815263ffffffff821660048201526001600160a01b03831690636750cd4c90602401602060405180830381865afa1580156134b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134d791906156b9565b61350d576040517f391daaa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613515614446565b846000036135615763ffffffff87166000908152600b6020526040812080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168155600101556135e7565b43851161359a576040517f05df9f2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff87166000908152600b6020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0388161781556001018590555b6040805163ffffffff891681526001600160a01b03881660208201529081018690527f55b28633cdb29709386f555dfc54418592ad475ce7a65a78ac5928af60ffb8f890606001610d87565b61363c84613f6c565b613647848484612735565b613652906001615b23565b67ffffffffffffffff168167ffffffffffffffff16146136aa576040517fc09b635000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff82166004820152602401611523565b6001600160a01b038416600081815260016020908152604080832063ffffffff881680855290835281842087855283529281902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff8716908117909155815193845291830186905282019290925260608101919091527f28f40053783033ef755556a0c3315379141f51a33aed8334174ffbadd90bde4890608001612d79565b604080518082019091526000808252602082015261377a60a08401608085016156d6565b801561378f5750600e546001600160a01b0316155b156137c6576040517f5af6d2aa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038216600090815260036020908152604082209082906137ef90870187614fe6565b63ffffffff1681526020808201929092526040908101600090812087840135825290925290205461382b9067ffffffffffffffff166001615b23565b905060006040518060e001604052808367ffffffffffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000759563ffffffff168152602001856001600160a01b031681526020018660000160208101906138989190614fe6565b63ffffffff16815260200186602001358152602001613994847f0000000000000000000000000000000000000000000000000000000000007595888a60000160208101906138e69190614fe6565b8b60200135600085856001600160a01b03861660405160c09390931b7fffffffffffffffff00000000000000000000000000000000000000000000000016602084015260e091821b7fffffffff000000000000000000000000000000000000000000000000000000009081166028850152602c8401919091529085901b16604c8201526050810183905260700160405160208183030381529060405280519060200120905095945050505050565b81526020016139a66040880188615b44565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525092935091506139f39050856109e26020890189614fe6565b90506001600160a01b03811663d80e9bd983613a1260608a018a615b44565b613a2260a08c0160808d016156d6565b6040518563ffffffff1660e01b8152600401613a419493929190615ba9565b6040805180830381865afa158015613a5d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148d9190615ca0565b613a89614446565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f97f025840000000000000000000000000000000000000000000000000000000060048201526001600160a01b038216906301ffc9a790602401602060405180830381865afa158015613b06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b2a91906156b9565b613b60576040517feb64f35d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811660009081526005602052604090205460ff1615613bb3576040517f8aea2fe600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038116600081815260056020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091556004805491820181559093527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90920180547fffffffffffffffffffffffff0000000000000000000000000000000000000000168417905590519182527f6b374d56679ca9463f27c85c6311e2bb7fde69bf201d3da39d53f10bd9d78af59101613246565b613c87614446565b6001600160a01b038116613d1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401611523565b613d26816144ba565b50565b6001600160a01b038516600090815260016020908152604080832063ffffffff88168452825280832086845290915281205467ffffffffffffffff908116908416811015613e8457600181015b8467ffffffffffffffff168167ffffffffffffffff1611613e1f576001600160a01b038816600090815260026020908152604080832063ffffffff8b1684528252808320898452825280832067ffffffffffffffff85168452909152902054613e17576040517fc09b635000000000000000000000000000000000000000000000000000000000815267ffffffffffffffff82166004820152602401611523565b600101613d76565b506001600160a01b038716600090815260016020908152604080832063ffffffff8a1684528252808320888452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff86161790555b82516020808501919091206001600160a01b038916600090815260028352604080822063ffffffff8b1683528452808220898352845280822067ffffffffffffffff891683529093529190912054909250808314613f18576040517f7182306f0000000000000000000000000000000000000000000000000000000081526004810182905260248101849052604401611523565b50506001600160a01b03909516600090815260026020908152604080832063ffffffff909716835295815285822094825293845284812067ffffffffffffffff909316815291909252918220919091555090565b336001600160a01b03821614801590613f9f57506001600160a01b038181166000908152600f6020526040902054163314155b15613d26576040517fc4c5259300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613fde614b15565b60008061406785613ff26020870187614fe6565b6001600160a01b0391909116600090815260036020908152604080832063ffffffff94909416835292815282822081890135835290522080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000008116600167ffffffffffffffff928316019182161790915590565b905060006040518060e001604052808367ffffffffffffffff1681526020017f000000000000000000000000000000000000000000000000000000000000759563ffffffff168152602001876001600160a01b031681526020018660000160208101906140d49190614fe6565b63ffffffff16815260200186602001358152602001614122847f00000000000000000000000000000000000000000000000000000000000075958a8a60000160208101906138e69190614fe6565b81526020016141346040880188615b44565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250939094525092935091506141819050876109e26020890189614fe6565b90506000806001600160a01b038316634389e58f856141a360608c018c615b44565b6141b360a08e0160808f016156d6565b6040518563ffffffff1660e01b81526004016141d29493929190615ba9565b6000604051808303816000875af11580156141f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526142379190810190615cbc565b90925090507f1ab700d4ced0c005b164c0f789fd09fcbb0156d4c2041b8a3bfbcd961cd1567f8161426b60608b018b615b44565b8660405161427c9493929190615d0b565b60405180910390a1506040805160608101825260a090940151845267ffffffffffffffff909416602084015292820192909252925090509250929050565b6000811561438357600e546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015614323573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143479190615d4c565b905080600003614383576040517f1775123700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b825182108061439a5750808360200151115b15612bea57825160208401516040517f4f3ec0d3000000000000000000000000000000000000000000000000000000008152600481019290925260248201849052604482015260648101829052608401611523565b831561440057614400858386614720565b82841015614415576144158582868603614720565b5050505050565b831561442c5761442c8285614774565b828410156144405761444081858503614774565b50505050565b6000546001600160a01b03163314611fca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401611523565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000808267ffffffffffffffff1611806127c657506040517fff7bd03d0000000000000000000000000000000000000000000000000000000081526001600160a01b0384169063ff7bd03d9061457c908790600401615d65565b602060405180830381865afa158015614599573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c691906156b9565b6001600160a01b0383166145d557612bea8282614774565b612bea838383614720565b600067ffffffffffffffff82166145fd6060860160408701615528565b67ffffffffffffffff1611806127c657506001600160a01b0383166000908152600260209081526040822090829061463790880188614fe6565b63ffffffff1663ffffffff168152602001908152602001600020600086602001358152602001908152602001600020600086604001602081019061467b9190615528565b67ffffffffffffffff1681526020810191909152604001600020541415949350505050565b806146d7576040517f09beffb600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03909416600090815260026020908152604080832063ffffffff909616835294815284822093825292835283812067ffffffffffffffff909216815291522055565b6001600160a01b038216614760576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612bea6001600160a01b0384168383614853565b6001600160a01b0382166147b4576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114614801576040519150601f19603f3d011682016040523d82523d6000602084013e614806565b606091505b5050905080612bea576040517f465bc8340000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101839052604401611523565b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152612bea928692916000916149119185169084906149be565b905080516000148061493257508080602001905181019061493291906156b9565b612bea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611523565b60606127c6848460008585600080866001600160a01b031685876040516149e59190615d73565b60006040518083038185875af1925050503d8060008114614a22576040519150601f19603f3d011682016040523d82523d6000602084013e614a27565b606091505b5091509150614a3887838387614a43565b979650505050505050565b60608315614acc578251600003614ac5576001600160a01b0385163b614ac5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611523565b50816127c6565b6127c68383815115614ae15781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115239190614e91565b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001614b58604051806040016040528060008152602001600081525090565b905290565b600060608284031215614b6f57600080fd5b50919050565b80356001600160a01b038116811461438357600080fd5b60008083601f840112614b9e57600080fd5b50813567ffffffffffffffff811115614bb657600080fd5b6020830191508360208285010111156116fe57600080fd5b600080600080600080600060e0888a031215614be957600080fd5b614bf38989614b5d565b9650614c0160608901614b75565b95506080880135945060a088013567ffffffffffffffff80821115614c2557600080fd5b614c318b838c01614b8c565b909650945060c08a0135915080821115614c4a57600080fd5b50614c578a828b01614b8c565b989b979a50959850939692959293505050565b803563ffffffff8116811461438357600080fd5b60008060008060808587031215614c9457600080fd5b614c9d85614b75565b9350614cab60208601614c6a565b9250614cb960408601614b75565b9396929550929360600135925050565b60008060408385031215614cdc57600080fd5b823567ffffffffffffffff811115614cf357600080fd5b830160a08186031215614d0557600080fd5b9150614d1360208401614b75565b90509250929050565b60006080820190508251825267ffffffffffffffff60208401511660208301526040830151614d58604084018280518252602090810151910152565b5092915050565b600080600080600060c08688031215614d7757600080fd5b614d8086614b75565b9450614d8f8760208801614b5d565b93506080860135925060a086013567ffffffffffffffff811115614db257600080fd5b614dbe88828901614b8c565b969995985093965092949392505050565b60008060008060808587031215614de557600080fd5b614dee85614b75565b9350614dfc60208601614b75565b9250614e0a60408601614c6a565b9150614e1860608601614c6a565b905092959194509250565b60005b83811015614e3e578181015183820152602001614e26565b50506000910152565b60008151808452614e5f816020860160208601614e23565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006121376020830184614e47565b803567ffffffffffffffff8116811461438357600080fd5b600080600080600060a08688031215614ed457600080fd5b614edd86614b75565b9450614eeb60208701614c6a565b935060408601359250614f0060608701614ea4565b949793965091946080013592915050565b803561ffff8116811461438357600080fd5b60008060008060808587031215614f3957600080fd5b614f4285614b75565b9350614f5060208601614b75565b925060408501359150614e1860608601614f11565b60008060408385031215614f7857600080fd5b614f8183614b75565b9150614d1360208401614c6a565b600060208284031215614fa157600080fd5b61213782614b75565b600080600060608486031215614fbf57600080fd5b614fc884614b75565b9250614fd660208501614c6a565b9150604084013590509250925092565b600060208284031215614ff857600080fd5b61213782614c6a565b6000806000806000806000806000806000806101208d8f03121561502457600080fd5b61502d8d614b75565b9b5061503b60208e01614b75565b9a5060408d0135995061505060608e01614f11565b985060808d0135975060a08d0135965067ffffffffffffffff60c08e0135111561507957600080fd5b6150898e60c08f01358f01614b8c565b909650945067ffffffffffffffff60e08e013511156150a757600080fd5b6150b78e60e08f01358f01614b8c565b909450925067ffffffffffffffff6101008e013511156150d657600080fd5b6150e78e6101008f01358f01614b8c565b81935080925050509295989b509295989b509295989b565b60008060008060008060008060008060006101408c8e03121561512157600080fd5b61512b8d8d614b5d565b9a5061513960608d01614b75565b995060808c0135985060a08c0135975060c08c0135965067ffffffffffffffff8060e08e0135111561516a57600080fd5b61517a8e60e08f01358f01614b8c565b90975095506101008d013581101561519157600080fd5b6151a28e6101008f01358f01614b8c565b90955093506101208d01358110156151b957600080fd5b506151cb8d6101208e01358e01614b8c565b81935080925050509295989b509295989b9093969950565b600080600080606085870312156151f957600080fd5b61520285614b75565b935061521060208601614b75565b9250604085013567ffffffffffffffff8082111561522d57600080fd5b818701915087601f83011261524157600080fd5b81358181111561525057600080fd5b8860208260051b850101111561526557600080fd5b95989497505060200194505050565b60008060008060006080868803121561528c57600080fd5b61529586614b75565b9450602086013593506152aa60408701614f11565b9250606086013567ffffffffffffffff811115614db257600080fd5b600080608083850312156152d957600080fd5b6152e38484614b5d565b9150614d1360608401614b75565b6020808252825182820181905260009190848201906040850190845b818110156153325783516001600160a01b03168352928401929184019160010161530d565b50909695505050505050565b60008060008060008060008060c0898b03121561535a57600080fd5b61536389614b75565b975061537160208a01614b75565b96506040890135955061538660608a01614f11565b9450608089013567ffffffffffffffff808211156153a357600080fd5b6153af8c838d01614b8c565b909650945060a08b01359150808211156153c857600080fd5b506153d58b828c01614b8c565b999c989b5096995094979396929594505050565b6000806000606084860312156153fe57600080fd5b61540784614b75565b925061541560208501614c6a565b915061542360408501614b75565b90509250925092565b60008060006060848603121561544157600080fd5b61544a84614c6a565b9250614fd660208501614b75565b60008060006060848603121561546d57600080fd5b61544a84614b75565b600080600060a0848603121561548b57600080fd5b6154958585614b5d565b92506154a360608501614b75565b9150608084013590509250925092565b600080604083850312156154c657600080fd5b614d0583614c6a565b600080600080608085870312156154e557600080fd5b6154ee85614b75565b93506154fc60208601614c6a565b925060408501359150614e1860608601614ea4565b8151815260208083015190820152604081016118ff565b60006020828403121561553a57600080fd5b61213782614ea4565b838152818360208301376000910160200190815292915050565b63ffffffff61556b82614c6a565b1682526020810135602083015267ffffffffffffffff61558d60408301614ea4565b1660408301525050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6155ea818961555d565b86606082015260e06080820152600061560760e083018789615597565b6001600160a01b03861660a084015282810360c0840152615629818587615597565b9a9950505050505050505050565b60808101615645828561555d565b6001600160a01b03831660608301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561569c57600080fd5b81516003811061213757600080fd5b8015158114613d2657600080fd5b6000602082840312156156cb57600080fd5b8151612137816156ab565b6000602082840312156156e857600080fd5b8135612137816156ab565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261573357600080fd5b815167ffffffffffffffff8082111561574e5761574e6156f3565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715615794576157946156f3565b816040528381528660208588010111156157ad57600080fd5b61148d846020830160208901614e23565b6000602082840312156157d057600080fd5b815167ffffffffffffffff8111156157e757600080fd5b6127c684828501615722565b8a815261ffff8a16602082015288604082015287606082015260e06080820152600061582360e08301888a615597565b82810360a0840152615836818789615597565b905082810360c084015261584b818587615597565b9d9c50505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156118ff576118ff61585c565b60006101206158ad838e61555d565b8b60608401528a60808401528960a08401528060c08401526158d2818401898b615597565b905082810360e08401526158e7818789615597565b905082810361010084015261584b818587615597565b600060408083016001600160a01b03871684526020604081860152818683526060925060608601905060608760051b8701018860005b89811015615a3e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18c360301811261599457600080fd5b8b0163ffffffff806159a583614c6a565b168552806159b4888401614c6a565b168786015250878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181126159ee57600080fd5b01858101903567ffffffffffffffff811115615a0957600080fd5b803603821315615a1857600080fd5b8789860152615a2a8886018284615597565b958701959450505090840190600101615933565b50909a9950505050505050505050565b8183823760009101908152919050565b60006001600160a01b03808916835280881660208401525085604083015261ffff8516606083015260a06080830152615a9b60a083018486615597565b98975050505050505050565b60006001600160a01b03808a16835288602084015260a06040840152615ad160a08401888a615597565b81871660608501528381036080850152615aec818688615597565b9b9a5050505050505050505050565b60a08101615b09828661555d565b6001600160a01b0393909316606082015260800152919050565b67ffffffffffffffff818116838216019080821115614d5857614d5861585c565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112615b7957600080fd5b83018035915067ffffffffffffffff821115615b9457600080fd5b6020019150368190038213156116fe57600080fd5b6060815267ffffffffffffffff855116606082015263ffffffff60208601511660808201526001600160a01b0360408601511660a082015260006060860151615bfa60c084018263ffffffff169052565b50608086015160e083015260a086015161010083015260c086015160e0610120840152615c2b610140840182614e47565b90508281036020840152615c40818688615597565b915050612e8d604083018415159052565b600060408284031215615c6357600080fd5b6040516040810181811067ffffffffffffffff82111715615c8657615c866156f3565b604052825181526020928301519281019290925250919050565b600060408284031215615cb257600080fd5b6121378383615c51565b60008060608385031215615ccf57600080fd5b615cd98484615c51565b9150604083015167ffffffffffffffff811115615cf557600080fd5b615d0185828601615722565b9150509250929050565b606081526000615d1e6060830187614e47565b8281036020840152615d31818688615597565b9150506001600160a01b038316604083015295945050505050565b600060208284031215615d5e57600080fd5b5051919050565b606081016118ff828461555d565b60008251615d85818460208701614e23565b919091019291505056fea2646970667358221220fbeacb9e09f521d9b83b94a56dbd81b62f43beb282a6a4281738d9f94234e59364736f6c63430008160033030a28eb1980bd8b418a5965dc7911895eebff1493be16f5f73776e3c194bb2ab6035765d390464545c6e5a1a53a1734b598265edc0c24d5e5715de95551e2036f86032d8c0003862719304a8aa2cc58d3274186fb907bad724e6e1efa86b7048aef680376990eeb1592022facc5a0634b1b8564e08084417674d9c87e77a1b10f65a546037e96e5ab2c37a80becf24e694276dd5c058ab6289f4bf2197a6f91653f3ba5150352e13d7ff5ba4c2b34362b801ab35e1372e83bb2d50c23e16f18f34d1282aa7f032fcaf970f70fef52d16c6023a6dcdadb68846f8e5a94e575360a85e54e0a0d550393e2046a81be421f06641fb833a325a8f6cc261ff7b08bd1e63a02399fdff0db03555e36af2bfadf5e9cb39fc0637c46109d5314214eb1af27f0b26d996de99d2d03038538f139b660b8ed7287a454e6799bc0762057016ee48eba248355d76c4ce8033aca9609c2be25ee1ee244315661634a3fa8858737f4b6f318a4e2d973a0d3d30387f3288e11e755605296c7e599bbcc5f3d2e189657d7dc0a408f02d89e5477e70322652f78e49aa1be5868765fd32524b27a63145cfee2ef42cbbc35f41df0addd03203be44b85523eecdb61efe0a751c4d70af09e08f9734189e7e342cf7408458d005820033be24ae3d5a0f67593554f12d7eb492d560e0c680bb46f94729fd988ccd3005820cd81300ecd0ecf06fcd9ee28e233b9dc876347d7fee618c355ead3eb195c6db5005820036994967be9f92a5d0e76a4af96055a40d3a95fb5f7aaa80f7f1e73eb10e2b04138005820030c4e63bf60e9d0c233d5c479f2c683144ad5b4b7e233a6e8443d708ca22010582028770101988e864cf4998b75c2cf9e1a1a0fd8596bfba5fe44aac5ca4419939100582003625358d9ca6e85d5c6d875b66fc48f605c834d1f535743437b2c2b2b7a4650421143036b7396d9b78f83e556e2a63a3469d70ef9a36b88d612bc6511184985d7f2683302192983030d56386e27381b93fb033c106e97ff600ced0c5118b6ca3548ee9d533c3fa7cb03c47235984dea31302eb30579767112a0dcb158e4a60d64ecd406408c41f73c7f03dd319b3221225951ba2d7b2b57d9e557cafb367bb66d894dfcaa92fdb25a9264039702bd2334805a5d65f5ae535c7351a2d1ffd3cc1b12add55919aa10b5566b9e0219ffff031e7c473c99ae0d1bfea03eb9ba109b227bb076d59c550ef7570e3534e0f77a5503b7d6e75657e74985b659b3837fa1b507b6ec8595ffa54ac5db13869a7d8ee7cc03da906bb74ec2177cd3ed2f984fa880248491dfe39645600941ab28917bcd8cff03147ab12a8f9a6acfb1199cfa48c2bcdb47d80d60bff4dfe005a581c66c61eef903e926a6462c71d484369c3f1282c71750eee287ecc2b7ea01de41a6ce3924f430031dc1fbec180a2bffc2ed06d3aa358e0fd3f9d1a83b6ea73d095b4ac7380583bd035cc2624348c41f21553e9c445f049122d44c8ce0f0f05955d15368e9a071ab02031309f0f60ebb83039745cf8f78129696db2017d2e9eb8ce5826cc5a3bde201ab036ab795bf23ab154e47e43ca91e60212972abb7d18d09946cc896b2ac43b13bab03064c9deab03d0968044e4045e830fdb861788b3b771ea4245de95b2f4b85a751038aed7990c97b93ec09fe699a0d8c2d9fc17d498e0ecb2cd6060450d8f45997ff030e719e46f779ec9096f870855bdeb420f63e23703b28ecd381578cbea974b6b903904648b68633983d6080899f9d3cfb8080fed8f9fc8449d9246c7bd0da4048c4035db0d6f4da07d76a41fb41022d437171831d5b56c12b78d1426706c7309e66200324ad504c1b16c181f73b584bf84ff399515090877cfcc73adb7b9696a37def100397b2dab88ba861056a890c93ac91274be9f7d2f5b92f6e43b96382127512f5e8005820032a232f8c98991f5650636d00a0505bb3541830c59616dda1171c836ca8f8a0410103dda2fcf4e830f4a1e8db99a547791b5061661f41e4bbc197b163f3da900152f700582003cce2de630fc2fb9999fe0338e87d129a45222a713df36118df6cea3ac32870412503a4ad20735915b7ffc437d5f40b619681cea037cc19d72ed6c2e31716c43b816800582003d6817220b016de7c8b2b9a047d2acc8aa198fedb20fb01cac79358e89fdd705820adc079a2dc4e24945880d8f02f403ab4e234126fa7b4f1dc6650c99af1cf73a200582003b6f2e7f6e7f41219b50fb6f22d3a35b346c455038994ba8c931ce567563e6041060219c6300219ffff0331f67ba3cc1ff0bc8bf1d5154b32cdab355b10e1cd2dbe89b4b1c28729d8b024035438a9a6ecca86ed84ebd63c55a07d8a307b01a4537e898a08c1004e68ea3ace035ddafdb2fcaf2e946d28e591b9556c708d77cee55bb6419d77beaddc1a0a9521036e4df755ade3b45d4fca3dc33bb78ce90735d07a4e19ab18f4fe5599ad9ec07f037ed3ab52d5c6d41cb94a1f1b252876a82d900a0c1c4fadbdd57097dda89bf4dd0394882282264d231ee2a2a1f8cfeb330fc74195b797d2eb88ff4e694b962aa46303d5afc367cbae61fdbfa1cdf149c2627f35e1fc0388ee2ee7929ebcfb3d4187ac031da693771f5e83526b70e0320d08f4f0ad8c2c972266a109933d49237e10453b031e3874974b10024eda7c1b91ec02ee527e09a4e6e29c7b3e835c0f1c6670ad6203e233354118acc018047c37811c273f8bce52726fc1cc901cd5e5ae59281fd72f038a25654696bdfb16e29ee1057aa1eab78719a4d0f116f216875042306ae12c8300582003acfe702886249006c32491cd17380ea10d35bb1edb7884746d9072fe0e6f405820815b830c53b905beda6989042999cfa41398def9f517ab8e76a6b51ed64c82890058200389584cfd47257e757fdea5c4213c4d8239c1ca33bd9606cebe7552248d7dc05820b2834fa2dabde785c8e812586263bdf030e00ab48bd51a3ce5cbfc2f0d33b8ac0058200372831a2707f3c5ae54cc2fe0d6db0dddee92e241dc012aee3fe968902a91b054bb2ea70c9e858123480642cf96acbcce1372dce103a3a1dcce1a1fdf857eabe8524dfea42edc853049e9cde50340fdd7c9c4b432fb005820031e87890e198809d9a2d2913b9b7c4ceaa27e1a55c475662fba17c345600f80410c0219438403b0bf228d47b1656bf4103b639452adbff9be273aafafcb7aab35a9ed83cd4af0034df63c6948018ea5069026a56cdc3635b0d42351fe1aa538ab83da25161b02ad0330bbba2fcd4c696f404c0371c774c31f9bf05418faa8527c571826c44d0dce81038cc99bb5fda17641463a9a32bb6cadb5186cce98ac8c7b5c4875c9b8b9e6e72303fda0f3dfcf0314813896560cf76f9d086687483832156afc5f5449a9fb2db6890338539a2aefd0de0f4172657eef24dcddb6483ce8bdeb263c5ee2ccd8ae13f2e903bb4f970b36b64185c1696ea1a13b2ccb854f963b0b57664b90aaabd94b7f3bdd03ce319650f25f5a6a0c6db688cc9830990447e9042a811e51e9b9ec08aeb7c0cf0332dbd04a1d9a232e072f4e31f05f0c88e3b17be7af3bd8b7e734c80f9c59fe8e0219ffff03323f66f6659fe45e3804ba9d215fac9338261eeb31f8166044ac2ecd7163a19a03bca3b72affb5f04057fdd99273d307608db674ae48371b140c61230f64b3134300582002e120443cdf34e73cdd8c19bbf6d2d07192cac9cea94296487d606594e51a66410403134325cc89cd97ae7f3c487373cca2b9baa659a7505228a24e10c61058578d38032a1f248a74331dc5ce82bcd7fb92a53c03313711a96c9053c214143914fb1b2a0306ab36a37888f9dc9e6a287fc865d4fa97998f63a530bf21793d0145d033bc270367dccb3cab009d8c86d9788a5c0d22ee9c5e4987a61281ed38b4de222fc900d7038458dff09c51a5a2d927e47f430a1ad01ec0814e011a359512e9b5c973ec62fc03ba5af4a850a0dd5935e2b5d0a35abab607b0593fca7d4899f26f1cd1481fc37f03d4a83051fab3ea8a4ae06c9132e3774dfcab2e0f0d9932024d332f9160e1b19c032eda8c0e188259d4dc6705b736bb00c248dec9eabefa268726a4e61de6351e4400582003f94683ad1149776260c60e3a57b69426e8254e999333af2c532fef550f214058207e6a55c601f2be2b59beb60005d9ff339ecea5f1fff30623923f6772cf2b0a220058200303a267df6ad73fcd41de6fa01e25700ae52e629e1a25eeab010dbf01d99050582031b591b4f62ca39df38c76960a0f825f621a6484eb2c79c863230631c41bde6b005820031c686c80413cde63f8e0e12df5c1504b89369eecda3350332c1b4a404c7f605820a0ddfa83fa0253693e7f5b5a4456d03dbf90ee060bdbd8de696a823bb47b199600582003d11a82754fa006acf264f17ce6b431c70c6d293ccf8c70df65bfd6d11aa440411b0058200376edff5ce6366b9d617e3d33556aa070d7a7ec68eac62c38b7f5fad4f4d7d0412e0219d22003a513fd60538ed37bc36de9cb736a41e68af5717ad537386290f1e6b593fefe1203c149d721e713fdac26359d2583be9669a56af6c14b7d2bf8ccbc10a3bf695091030c87aa2377c4ca1464e706eb307bb00f24dedd01bac57425dd0a681f11af2fe503b9523bed1c6f4de543f41b6040f0fd615fe34b91e768d885cda8099da06d22760219ffff032ee32397c7ae4a45aa8f7adc00cf0c8aaf54ebe8d31930c1bef858a7ac7163fa03e62bc497eb7455558864637dd926384d075e33fe43d512cfea65b493c6e9294f03b2ed5ee768c0f0d1c51ef6186db5ffef16648a0fcf70e1c5e06aba455e20f935038b4a2a6fafd54143572fe3c6adcc81e6ebed23fedd1b6db3bd838b26fae0cd3903d2b574883cb32daa8803406fec538231ffed2364610e6c59e9b10fe26fbc207b0339d5aeec7455ac72f6486748262e27632970fe90b6aa0a3ded08671f746d5a2e03b552a29266a610a5a86ab92174de14589bdcd5648760f6f610b2dca4c5bb26050308dd922c9e1748dac17117d108d9f810d6d6b9d142ee58a6fc93f3671326d06600582003249925e419842c3cc7cc2040219339c51d02d4526ec10d72fd78ec2e51b330410600582003d44136b7d4cb1d896dbab8df88f7c9941ed2d91bfe1fa8621d4665f8b24f805820f7679713d3528abbb5c299be2cdf6a6e8abdb59ac3d1efc746728eb218deac7f005820033e601a85fe2361ac5b5ece94d50cbd84a018499ac037511171cf2c8b2d8d4054c02ab410f0734efa3f14628780e6e695156024c2005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5041010058200312f683d9e62e85dd5776ccc493ff0ffebd6695124d953deeb090004e4a5670416c02194c88037718901e66b31e5be0a3d6c89f2f2197783be8b69a5117a8e8d11ab066c400fa0306080c19f35e205792ad766523a2d183e8a6495e13f367762fadfa1186eb56cf03f09c2618cba736cd69dcfbb5b5758bc95c2107f78120b98593e0818dd432fc74036dffd22a171c3630fb26658f6d7f762304cd4900d9f8d46144afcdd6574d465f0360c319cd67dfd301c4a759714da5db4c1cc976e6ff94702698915af671e75ada03f04e73323e4be1f7264bf4b51f6ed509e7f20dd35adc145cd620b6bc0ae2f96003713d90a503de663899a01ae2aeb78b525cc8f7df6ffa23d67717ed206d426ad8039ac92765db03253ec89cf4b6e7adf28f0d6fffb94ba7a8577b8c84eba734d40b0219ffff036c27199aa33e85cfd3516652a5d6b795365095c7357ba72364d608f0d69f6295033dd860b0a24a4de29e3a91f218ffef7d3d43f931083fd71087b4d07df0ae4e700219ffff05581e038f45493e28166d056c5dac725d05ee2b08942e887de4c61753f4ee85700702195dc5035b8a2a3d3fd7e295b5d1430877cb87c065b75312227d868a3b55566cde26fb900384ada20be3d925e58fc92b5c184ff0193bdc95912d7a0138652e313aff80a36d01410b05581e035c74b9f935e903e26345fdf59ec83f410405319d54456901a5873966500c014694dee247b20005581e035c4951eea06fc887adc5037e425cdf0e43fe0929c0b806bb604e3fddc00c0645023e6bbdff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0399ffb96ad1f7de2353619b13ad4c4330d05f9c03de6e82b60e0b6b40e007011bffffffffffffffff0219e47703a1a66324595e3a13e46ef951e60fbba54744d6e45379be8d8c4dc74c1a80bd42031807e9f9821b614e21f44356a971596b6ddd81cc4329061b9369f7b9b955fcea03e48fa69faff5d79dc2f0f65fc6f2108a21a36378d610e9536b0e63cccb984bbd03c7958e3f199055f2b323b7eae49209c0409f88e1d1cad9aa5a777516d35e10a603d82863e94dab37075c39efce31b338f991cee931ffa3dc51441266205536776e036a57959363ced457fb10c7f2cd5220b0cbb6dac0e4c005c015a5b77e549f44c2033eb4052c8cd7eea7a656f4fa168d6f5dfe5f3fc8be81a9dd578a7ed363bc58090219ffff03a1919a42272809fea1434ccf665d77f81150a38f93dac026f3dbbc7f1e8d213503c2f0e1be15d74c57e1b2644630d69cf51086de1224ff2e37b1d87760453797b1038dc143dbd601b117d0b1a0f09e357e16449992d223cdc81a0fb563e5684f018a0340e0010f6903786d79062b337b610785ddd69761b53d9dd23a50da0cd34691b903f0922d3a3081710f65fa4c5c17f880342faee312a6033c4688b07210fe66954f03625ac49859bc75867c9801683f9d525471f17cf46f6b99025503a445dd3b4ae20349bc84d6bf4133ced847e3dda48c3561cc2c7379296517b9ce2c2160f9cc764e0384bed38653748a0c91bf88a053939597dc07c2c9023eb59d4739a203d026878a03b533fd8725c4c3b6cde4f220b207b8a9909486c13ba6b1476ada3221d767002003121074d23492e5b7cc7b28b4c2a2fd64e3d1bbf05806a859861b6b756976984703df2df976f8369dd817eb4b00f0a3df13c6486b03b993f8710cefdcfcd0192b400219ffff036b9f050324d258fb8884e5b073bb4b18ab4004b5014e8d2726c44bac1071852003307e4f9941a25fa3818559b0c933c0ef6871d6bce3754b15e60d1295578374e30307613e9b70964c8197805c0abbb1cbe925b4dfed7d18907aa5b6e7744a28e5cf0307dd79227982f2d57391a0f97ba5664b5b1c6c47e1be33cb78f6c6e5824016cd0384f2a7f8d703eeb28c71093f72917b02b07a268679e25b3b79e2dad27ca0cfa603c448bbcccbb6ac0e1885587fa3a8bc63f1713569f5911c59cc14c3bf722171f20342536e2eb41e38b0cefb2db3b86dae9f526e0edf22b2728b8e6796dbfacc63bc03a779d1e14ce23f63bcfc42d94fc9c53967def89188b7bae18586f3591502bca303f9c6c55d14582bd5dcff48be2dd5a52d4c0518d63cab50dcfa147d677983af7503f40464df48a2dead60bedd25d342d73bb1347754ca9356993498752ab6c737f703f98d93afbaa2db9902cb9bccf7bca2337913fdd76615bc78ceb1607fe8ef95490219ffff03cd54a7ee780e4e4ecf6b019ac99a5f853018545bb1c4de3233b6803be623a9f803510e514168e06aab282bd7e97418ff8c7e49730462965ada50a81737bca2762e03469cf579ab2eae84b3f882ba5e1210259277df40a87be3abe1fa6e33f2b702d8038d48c99e12d65dfe3ed5561bd9be60bdae1d7e54309e0dae2299f7d9e87534c903ffbc0497e5edbe9707208ff87290f52a53eb75937eecdd4af8ea2fef0cb9434703a95b359ef023fb506a84b2880be46d5010bc65e58c560fe13d0fce5fe61a7b3403f25d4924b645c3fd3b59da35bf311e1feb5fb11f49e22edd61d7a20def4b53ec03ec7ecde6ec8435b48f7a6f4c801a9441e529885ad1ce2b01ff94dcf9afcc8e82034099ccfbad4262aef52cfc01fb378d9a527fa090ca98d9a30ac7cfcdb6cca7ee03ba34998e4d8bbcd195d6ffd8c824a3e25c0d37d0449082986f0b00a1fc0a501d03631081020477d66acde2dba457abc4529e7614e25665234acf6e9df22efc8969032a530b705955bc51b00c38bdebe85209ce87aeeeb771f26e2f0fb1b94aa2fcec03c69c34c69560f19d9fc304d75a5d5ce72582e4f581d0f1c5a20929eb7953205503f7d87b890f72cc2cf99785ba4a8036db83597fd7f0f7ce487bf1ff156f5ee62203c71e90fe40161000c5c6cbe540f9780ef8daf809e18bbf53fe06d209640d4a38036c48b1d6d6bf30fdea8bb8d22564f58742aa26741e1495e72729871236458c5203dd9cd934aa80342ff6e9e83196d121aa4748b32a344ac6940467de4b3e7f6e83033e466b59f63cd6e8c86512ee43d972374ea9f19054fb5bb80f57faa0c40774b003eb7cddf892199709ed273291700a2092e6ed8b3195f48aef23975d3606497ae9038768a05d65b124b3fc1a1885134c0cc6449a08f2a983f008fae0a7cf63e15f46031bba03de41437847933e20313790e7a11e63c4e70a6ff730ed31a3cd56e206aa03c7d627179545c032da0db2deb1c98ad7344d6641cc8923e5be1d4febb40b04c203d4d65243ce7a81cbc3c2ab599b5bc95b7a3be12e12719d7d56d049f748880e6505581e03f2e17a54f0755f4d2f426018d4218fbca834a40b19da693ba3afc12c100c014701e7205358aa00030ffabd65deced4ed3c16000c70d62731052004950f786d07fb60132464a28fe205581e03d67bc6a00acea9d9057af40232ee754bd2c5a90948677d850cdfd19e50040505581e03692a17efea63b3f4c84e69fe4bd309b0fbba8897ec4d9895328e956f000c04463f2ac964c20005581e0325663fe1764706259edc114a9112941d3077f57549951dfbaa1e90b6400847548df951a78000032dfd0bc9539a8a17207bbb5d51dcd095aa3faefad3bce136cb415de429cdf7db03416ea877106b32c9695a38c6183f7c57674b389a0c03e993cc249809ca122f5204595f4a6080604052600436106102605760003560e01c806383f75fa311610144578063ca2ba943116100b6578063ea3684211161007a578063ea36842114610706578063ee58591c14610719578063ef0d457214610739578063f16c2c2514610759578063f2fde38b14610779578063fc42b58f14610799576102a7565b8063ca2ba94314610671578063ccb844e114610691578063da6f6794146106b1578063da742228146106c6578063e06179fe146106e6576102a7565b8063a4479b4811610108578063a4479b48146105bc578063ab1635b7146105dc578063bcc1f5ad146105f1578063beabacc814610611578063bf33e81214610631578063c87e4e2514610651576102a7565b806383f75fa31461052f5780638456cb591461054f57806385a25597146105645780638da5cb5b14610592578063a2419a6b146105a7576102a7565b8063583bbc40116101dd5780636e8ae0a3116101a15780636e8ae0a3146104925780636ef8d66d146104b2578063715018a6146104c7578063760d098a146104dc57806376d2cbb4146104fc5780637cb2b79c1461050f576102a7565b8063583bbc40146103fb57806359ca6c011461041d5780635c975abb1461043d5780636583de671461045257806367924a5614610472576102a7565b8063316182a311610224578063316182a3146103595780633f4ba83a1461037957806346fbf68e1461038e57806355d73595146103bb578063572b6c05146103db576102a7565b80631459457a146102ac5780631dbb76b3146102ce5780631ef6626b146102ee5780632a709b141461030e5780632cd271e714610339576102a7565b366102a7577f85177f287940f2f05425a4029951af0e047a7f9c4eaa9a6e6917bcd869f8669561028e6107b9565b3460405161029d92919061531a565b60405180910390a1005b600080fd5b3480156102b857600080fd5b506102cc6102c73660046148aa565b6107c9565b005b3480156102da57600080fd5b506102cc6102e9366004614c36565b610923565b3480156102fa57600080fd5b506102cc610309366004614b30565b610e0a565b34801561031a57600080fd5b506103236111d4565b60405161033091906151f3565b60405180910390f35b34801561034557600080fd5b506102cc610354366004614856565b6111e3565b34801561036557600080fd5b506102cc610374366004614baf565b611239565b34801561038557600080fd5b506102cc611459565b34801561039a57600080fd5b506103ae6103a9366004614856565b611488565b6040516103309190615391565b3480156103c757600080fd5b506102cc6103d6366004614fda565b61149f565b3480156103e757600080fd5b506103ae6103f6366004614856565b611629565b34801561040757600080fd5b5061041061163d565b6040516103309190615ce2565b34801561042957600080fd5b506102cc610438366004614856565b611643565b34801561044957600080fd5b506103ae6116f2565b34801561045e57600080fd5b506102cc61046d366004614856565b6116fb565b34801561047e57600080fd5b506102cc61048d3660046149fe565b611844565b34801561049e57600080fd5b506104106104ad366004614fb6565b6118f9565b3480156104be57600080fd5b506102cc611a28565b3480156104d357600080fd5b506102cc611abc565b3480156104e857600080fd5b506103ae6104f7366004614e42565b611b05565b6102cc61050a366004614d82565b611b1b565b34801561051b57600080fd5b506102cc61052a366004614856565b611c7c565b34801561053b57600080fd5b506102cc61054a366004614e5a565b611d2b565b34801561055b57600080fd5b506102cc611def565b34801561057057600080fd5b5061058461057f366004614ac0565b611e1c565b60405161033092919061539c565b34801561059e57600080fd5b50610323611e82565b3480156105b357600080fd5b50610323611e91565b3480156105c857600080fd5b506104106105d7366004614856565b611ea0565b3480156105e857600080fd5b50610323611eb3565b3480156105fd57600080fd5b506102cc61060c36600461495a565b611ec2565b34801561061d57600080fd5b506102cc61062c36600461491a565b6120ba565b34801561063d57600080fd5b506102cc61064c3660046149fe565b6122dc565b34801561065d57600080fd5b506102cc61066c366004614856565b612336565b34801561067d57600080fd5b5061041061068c366004614856565b6125ec565b34801561069d57600080fd5b506102cc6106ac366004614f77565b61273e565b3480156106bd57600080fd5b506102cc6127b8565b3480156106d257600080fd5b506102cc6106e1366004614856565b612b3a565b3480156106f257600080fd5b50610410610701366004614856565b612b82565b6102cc610714366004614d29565b612b95565b34801561072557600080fd5b50610323610734366004614eae565b612c6d565b34801561074557600080fd5b506102cc610754366004614856565b612c94565b34801561076557600080fd5b50610410610774366004614872565b612d1b565b34801561078557600080fd5b506102cc610794366004614856565b612d39565b3480156107a557600080fd5b506104106107b4366004614a95565b612da7565b60006107c3612e37565b90505b90565b600054610100900460ff16806107e2575060005460ff16155b6108075760405162461bcd60e51b81526004016107fe90615785565b60405180910390fd5b600054610100900460ff16158015610832576000805460ff1961ff0019909116610100171660011790555b6001600160a01b0386166108585760405162461bcd60e51b81526004016107fe90615ab6565b6001600160a01b03841661087e5760405162461bcd60e51b81526004016107fe9061596b565b6001600160a01b0382166108a45760405162461bcd60e51b81526004016107fe90615cad565b6108ad84612e65565b6108b5612eec565b6108bd612f68565b6108c685612fd8565b60fd80546001600160a01b038089166001600160a01b03199283161790925560fe805486841690831617905560ff80549285169290911691909117905561520860fc55801561091b576000805461ff00191690555b505050505050565b600260015414156109465760405162461bcd60e51b81526004016107fe90615b6e565b600260015560fd546001600160a01b0316630768d65c6109646107b9565b6040518263ffffffff1660e01b815260040161098091906151f3565b60206040518083038186803b15801561099857600080fd5b505afa1580156109ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d09190614e26565b6109ec5760405162461bcd60e51b81526004016107fe906153df565b6109f46116f2565b15610a115760405162461bcd60e51b81526004016107fe90615719565b81610a2e5760405162461bcd60e51b81526004016107fe90615a24565b60006001600160a01b031661010482604051610a4a91906151d7565b908152604051908190036020019020546001600160a01b03161415610a815760405162461bcd60e51b81526004016107fe906155ed565b6000610a928d8d8d8d8d8d8d613096565b90506001600160a01b038d16600080516020615ef58339815191521415610c0857600061010483604051610ac691906151d7565b908152604051908190036020019020546001600160a01b03168260006020020151604051610af3906107c6565b60006040518083038185875af1925050503d8060008114610b30576040519150601f19603f3d011682016040523d82523d6000602084013e610b35565b606091505b5050905080610b565760405162461bcd60e51b81526004016107fe906155ac565b61010483604051610b6791906151d7565b908152604051908190036020019020546001600160a01b03166355a4aafb83600060200201518e88886040518563ffffffff1660e01b8152600401610baf9493929190615d02565b602060405180830381600087803b158015610bc957600080fd5b505af1158015610bdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c019190614f9e565b5050610d8c565b60005a9050610c428e61010485604051610c2291906151d7565b908152604051908190036020019020546001600160a01b03166000613258565b610c7d8e61010485604051610c5791906151d7565b908152604051908190036020019020546001600160a01b03168460006020020151613258565b5a610c889082615e62565b610c929087615e0b565b9550506000610cac8e8a886000610ca76107b9565b613357565b825190915081908390610cc0908390615e62565b9052508082600360200201818151610cd89190615e0b565b9052505060405161010490610cee9084906151d7565b908152604051908190036020019020546001600160a01b0316632180777e8e83600060200201518e88886040518663ffffffff1660e01b8152600401610d38959493929190615333565b602060405180830381600087803b158015610d5257600080fd5b505af1158015610d66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8a9190614f9e565b505b80600060200201518c6001600160a01b038f167f6bfd5ee5792d66b151a3fab9f56ee828a0f1c3216d4b752e267cd5590326b15c8e8e8e8c886001602002015189600260200201518a60036020020151604051610def9796959493929190615207565b60405180910390a45050600180555050505050505050505050565b60026001541415610e2d5760405162461bcd60e51b81526004016107fe90615b6e565b600260015560fd546001600160a01b0316630768d65c610e4b6107b9565b6040518263ffffffff1660e01b8152600401610e6791906151f3565b60206040518083038186803b158015610e7f57600080fd5b505afa158015610e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb79190614e26565b610ed35760405162461bcd60e51b81526004016107fe906153df565b610edb6116f2565b15610ef85760405162461bcd60e51b81526004016107fe90615719565b60005a60fe546040516302502c3560e31b81529192506000916001600160a01b039091169063128161a890610f31908c906004016151f3565b604080518083038186803b158015610f4857600080fd5b505afa158015610f5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f809190614ee0565b905087816000015111158015610f9a575087816020015110155b610fb65760405162461bcd60e51b81526004016107fe906154b2565b6001600160a01b038716610fdc5760405162461bcd60e51b81526004016107fe906157d3565b600080610fec8b8b8b8b8b611e1c565b91509150801561100e5760405162461bcd60e51b81526004016107fe90615ba5565b600082815261010060205260408120805460ff19166001179055611034858d8d8a613445565b60ff549091506001600160a01b031663dd8b99238d83600060200201516040518363ffffffff1660e01b815260040161106e92919061531a565b600060405180830381600087803b15801561108857600080fd5b505af115801561109c573d6000803e3d6000fd5b505050506001600160a01b038c16600080516020615ef583398151915214156111445780516040516000916001600160a01b038d16916110db906107c6565b60006040518083038185875af1925050503d8060008114611118576040519150601f19603f3d011682016040523d82523d6000602084013e61111d565b606091505b505090508061113e5760405162461bcd60e51b81526004016107fe90615a4f565b50611157565b6111578c8b8360005b6020020151613704565b80600060200201518b6001600160a01b038e167f6bfd5ee5792d66b151a3fab9f56ee828a0f1c3216d4b752e267cd5590326b15c8d8d8d8c886001602002015189600260200201518a600360200201516040516111ba9796959493929190615207565b60405180910390a450506001805550505050505050505050565b60fe546001600160a01b031681565b6111ec33611488565b6112085760405162461bcd60e51b81526004016107fe90615c5d565b6112106116f2565b1561122d5760405162461bcd60e51b81526004016107fe90615719565b61123681613723565b50565b6002600154141561125c5760405162461bcd60e51b81526004016107fe90615b6e565b600260015560fd546001600160a01b0316630768d65c61127a6107b9565b6040518263ffffffff1660e01b815260040161129691906151f3565b60206040518083038186803b1580156112ae57600080fd5b505afa1580156112c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e69190614e26565b6113025760405162461bcd60e51b81526004016107fe906153df565b61130a6116f2565b156113275760405162461bcd60e51b81526004016107fe90615719565b600061133889898989898988613096565b90506001600160a01b038916600080516020615ef583398151915214156113de5780516040516000916001600160a01b038a1691611375906107c6565b60006040518083038185875af1925050503d80600081146113b2576040519150601f19603f3d011682016040523d82523d6000602084013e6113b7565b606091505b50509050806113d85760405162461bcd60e51b81526004016107fe90615a4f565b506113eb565b6113eb898883600061114d565b80516020820151604080840151606085015191518c936001600160a01b038f16937f6bfd5ee5792d66b151a3fab9f56ee828a0f1c3216d4b752e267cd5590326b15c93611442938f938f938f938e93909190615207565b60405180910390a450506001805550505050505050565b61146233611488565b61147e5760405162461bcd60e51b81526004016107fe90615c5d565b611486613792565b565b6097546001600160a01b038281169116145b919050565b60fe54604051635d46df5160e11b815286916000916001600160a01b039091169063ba8dbea2906114d49085906004016151f3565b60c06040518083038186803b1580156114ec57600080fd5b505afa158015611500573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115249190615041565b505050915050806115475760405162461bcd60e51b81526004016107fe9061593e565b61154f6116f2565b1561156c5760405162461bcd60e51b81526004016107fe90615719565b6002600154141561158f5760405162461bcd60e51b81526004016107fe90615b6e565b6002600155600061159e6107b9565b905060006115af828b8b8b8b613800565b9050876001600160a01b0316896001600160a01b0316836001600160a01b03167f522e11fa05593b306c8df10d2b0b8e01eec48f9d0a9427a7a93f21ff90d66fb18d858c6115fd9190615e0b565b868c8c604051611611959493929190615d45565b60405180910390a45050600180555050505050505050565b60ca546001600160a01b0390811691161490565b60fc5481565b61164b6107b9565b6001600160a01b031661165c611e82565b6001600160a01b0316146116825760405162461bcd60e51b81526004016107fe906158a6565b6001600160a01b0381166116a85760405162461bcd60e51b81526004016107fe9061547b565b60ff80546001600160a01b0319166001600160a01b0383169081179091556040517f0988d9952b4295aedfb755253e8d1dcebd105e8a5cf7507e419b544da764706690600090a250565b60655460ff1690565b6117036107b9565b6001600160a01b0316611714611e82565b6001600160a01b03161461173a5760405162461bcd60e51b81526004016107fe906158a6565b60006001600160a01b038216600080516020615ef583398151915214156117625750476117e4565b6040516370a0823160e01b815282906001600160a01b038216906370a08231906117909030906004016151f3565b60206040518083038186803b1580156117a857600080fd5b505afa1580156117bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e09190614f9e565b9150505b60ff546040516332550d6960e11b81526001600160a01b03909116906364aa1ad290611816908590859060040161531a565b600060405180830381600087803b15801561183057600080fd5b505af115801561091b573d6000803e3d6000fd5b866001600160a01b0316638fcbaf0c61185b6107b9565b308635602088013561187360608a0160408b01614e0a565b61188360808b0160608c01615094565b8a608001358b60a001356040518963ffffffff1660e01b81526004016118b0989796959493929190615290565b600060405180830381600087803b1580156118ca57600080fd5b505af11580156118de573d6000803e3d6000fd5b505050506118f084888888868661149f565b50505050505050565b600080611905836125ec565b60ff54604051630b3524e360e41b81529192506000916001600160a01b039091169063b3524e309061193b9087906004016151f3565b60206040518083038186803b15801561195357600080fd5b505afa158015611967573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061198b9190614f9e565b905080821015611a205760006119a18383615e62565b90508086106119cb576001600160a01b038516600090815261010360205260409020549350611a1e565b6001600160a01b0385166000908152610103602052604090205481906119f19088615e43565b611a00906402540be400615e43565b611a0a9190615e23565b9350611a1b6402540be40085615e23565b93505b505b505092915050565b611a3133611488565b611a4d5760405162461bcd60e51b81526004016107fe90615c5d565b611a556116f2565b15611a725760405162461bcd60e51b81526004016107fe90615719565b6097546040516000916001600160a01b0316907f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a811908390a3609780546001600160a01b0319169055565b611ac46107b9565b6001600160a01b0316611ad5611e82565b6001600160a01b031614611afb5760405162461bcd60e51b81526004016107fe906158a6565b6114866000613a23565b6101006020526000908152604090205460ff1681565b611b236116f2565b15611b405760405162461bcd60e51b81526004016107fe90615719565b60026001541415611b635760405162461bcd60e51b81526004016107fe90615b6e565b6002600155600081815b81811015611bb857848482818110611b9557634e487b7160e01b600052603260045260246000fd5b9050602002810190611ba79190615db2565b602001359290920191600101611b6d565b50611bcb90506402540be4006064615e43565b811115611bea5760405162461bcd60e51b81526004016107fe906159a2565b6000611bf68888613a75565b90506001600160a01b038816600080516020615ef5833981519152611c196107b9565b6001600160a01b03167fe0c1647854700a22165488c301138e1e29036e60ec14c1e78653b1e0c918f8748a611c4e8634615e0b565b868c8c8c8c604051611c669796959493929190615d6b565b60405180910390a4505060018055505050505050565b611c846107b9565b6001600160a01b0316611c95611e82565b6001600160a01b031614611cbb5760405162461bcd60e51b81526004016107fe906158a6565b6001600160a01b038116611ce15760405162461bcd60e51b81526004016107fe90615bd0565b60fe80546001600160a01b0319166001600160a01b0383169081179091556040517f331ea0c3b6547bb3d7c5798698a5f25c7b9f5484af90723a847eba9e885a3d7f90600090a250565b611d336107b9565b6001600160a01b0316611d44611e82565b6001600160a01b031614611d6a5760405162461bcd60e51b81526004016107fe906158a6565b806101048484604051611d7e9291906151c7565b90815260405190819003602001812080546001600160a01b039384166001600160a01b031990911617905590821690611dba90859085906151c7565b604051908190038120907f32987e7b04c960bad9e4a93936f2b82bd108cf13934d9eef41bc48453664e7ea90600090a3505050565b611df833611488565b611e145760405162461bcd60e51b81526004016107fe90615c5d565b611486613d41565b6000808686868686604051611e329291906151c7565b604051908190038120611e4a94939291602001615367565b60408051601f1981840301815291815281516020928301206000818152610100909352912054909860ff909116975095505050505050565b6098546001600160a01b031690565b60ff546001600160a01b031681565b6101036020526000908152604090205481565b60fd546001600160a01b031690565b60fe54604051635d46df5160e11b815289916000916001600160a01b039091169063ba8dbea290611ef79085906004016151f3565b60c06040518083038186803b158015611f0f57600080fd5b505afa158015611f23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f479190615041565b50505091505080611f6a5760405162461bcd60e51b81526004016107fe9061593e565b611f726116f2565b15611f8f5760405162461bcd60e51b81526004016107fe90615719565b60026001541415611fb25760405162461bcd60e51b81526004016107fe90615b6e565b6002600155600083815b8181101561200757868682818110611fe457634e487b7160e01b600052603260045260246000fd5b9050602002810190611ff69190615db2565b602001359290920191600101611fbc565b5061201a90506402540be4006064615e43565b8111156120395760405162461bcd60e51b81526004016107fe906159a2565b60006120436107b9565b90506000612054828c8f8f8e613800565b90508b6001600160a01b03168d6001600160a01b0316836001600160a01b03167fe0c1647854700a22165488c301138e1e29036e60ec14c1e78653b1e0c918f8748e858f6120a29190615e0b565b868f8f8f8f604051610def9796959493929190615d6b565b6120c26116f2565b156120df5760405162461bcd60e51b81526004016107fe90615719565b60ff546001600160a01b03166120f36107b9565b6001600160a01b0316146121195760405162461bcd60e51b81526004016107fe90615743565b6002600154141561213c5760405162461bcd60e51b81526004016107fe90615b6e565b60026001556001600160a01b0382166121675760405162461bcd60e51b81526004016107fe906156ef565b6001600160a01b038316600080516020615ef5833981519152141561222857804710156121a65760405162461bcd60e51b81526004016107fe90615aed565b6000826001600160a01b0316826040516121bf906107c6565b60006040518083038185875af1925050503d80600081146121fc576040519150601f19603f3d011682016040523d82523d6000602084013e612201565b606091505b50509050806122225760405162461bcd60e51b81526004016107fe906154e7565b506122d3565b6040516370a0823160e01b8152839082906001600160a01b038316906370a08231906122589030906004016151f3565b60206040518083038186803b15801561227057600080fd5b505afa158015612284573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a89190614f9e565b10156122c65760405162461bcd60e51b81526004016107fe90615aed565b6122d1818484613704565b505b50506001805550565b866001600160a01b031663d505accf6122f36107b9565b3088602088013561230a60808a0160608b01615094565b89608001358a60a001356040518863ffffffff1660e01b81526004016118b097969594939291906152d9565b60fd546001600160a01b0316630768d65c61234f6107b9565b6040518263ffffffff1660e01b815260040161236b91906151f3565b60206040518083038186803b15801561238357600080fd5b505afa158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123bb9190614e26565b6123d75760405162461bcd60e51b81526004016107fe906153df565b6123df6116f2565b156123fc5760405162461bcd60e51b81526004016107fe90615719565b6002600154141561241f5760405162461bcd60e51b81526004016107fe90615b6e565b60026001556001600160a01b038116600080516020615ef5833981519152141561245b5760405162461bcd60e51b81526004016107fe90615801565b6001600160a01b0381166000908152610102602052604081208161247d6107b9565b6001600160a01b031681526020810191909152604001600020549050806124b65760405162461bcd60e51b81526004016107fe9061561d565b6001600160a01b038216600090815261010160205260409020546124db908290615e62565b6001600160a01b0383166000908152610101602090815260408083209390935561010290529081208161250c6107b9565b6001600160a01b03168152602081019190915260400160002055612538826125326107b9565b83613704565b60ff5460405163dd8b992360e01b81526001600160a01b039091169063dd8b99239061256a908590859060040161531a565b600060405180830381600087803b15801561258457600080fd5b505af1158015612598573d6000803e3d6000fd5b50505050806125a56107b9565b6001600160a01b0316836001600160a01b03167fc129cf8730ce23dfea8953a499f9b276ad5777855ff41fafe198ebc2a0d2324360405160405180910390a4505060018055565b60ff5460405163ca2ba94360e01b815260009182916001600160a01b039091169063ca2ba943906126219086906004016151f3565b60206040518083038186803b15801561263957600080fd5b505afa15801561264d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126719190614f9e565b6001600160a01b0380851660009081526101036020908152604080832054610101909252918290205460ff5492516368da78c960e11b815294955090939092919091169063d1b4f192906126c99088906004016151f3565b60206040518083038186803b1580156126e157600080fd5b505afa1580156126f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127199190614f9e565b6127239084615e62565b61272d9190615e62565b6127379190615e62565b9392505050565b6127466107b9565b6001600160a01b0316612757611e82565b6001600160a01b03161461277d5760405162461bcd60e51b81526004016107fe906158a6565b6001600160801b03811660fc8190556040517f1f7e24d1f8ac9b596a34502db87778da821b5ac198a6738cfb24ab379b969bfe90600090a250565b60fd546001600160a01b0316630768d65c6127d16107b9565b6040518263ffffffff1660e01b81526004016127ed91906151f3565b60206040518083038186803b15801561280557600080fd5b505afa158015612819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061283d9190614e26565b6128595760405162461bcd60e51b81526004016107fe906153df565b6128616116f2565b1561287e5760405162461bcd60e51b81526004016107fe90615719565b600260015414156128a15760405162461bcd60e51b81526004016107fe90615b6e565b6002600155600080516020615ef583398151915260009081526101026020527f8c843e863d6980427013005c2fd6c559f82753ab35a5ed8f9caaa5df7d58739d816128ea6107b9565b6001600160a01b031681526020810191909152604001600020549050806129235760405162461bcd60e51b81526004016107fe9061561d565b600080516020615ef58339815191526000526101016020527ffc69fe689a10849a4c810115708945edcdce02b4ce0b8911d1cf85d0b30251d554612968908290615e62565b600080516020615ef583398151915260009081527ffc69fe689a10849a4c810115708945edcdce02b4ce0b8911d1cf85d0b30251d5919091556101026020527f8c843e863d6980427013005c2fd6c559f82753ab35a5ed8f9caaa5df7d58739d816129d16107b9565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060006129ff6107b9565b6001600160a01b031682604051612a15906107c6565b60006040518083038185875af1925050503d8060008114612a52576040519150601f19603f3d011682016040523d82523d6000602084013e612a57565b606091505b5050905080612a785760405162461bcd60e51b81526004016107fe90615a4f565b60ff5460405163dd8b992360e01b81526001600160a01b039091169063dd8b992390612ab890600080516020615ef583398151915290869060040161531a565b600060405180830381600087803b158015612ad257600080fd5b505af1158015612ae6573d6000803e3d6000fd5b5050505081612af36107b9565b6001600160a01b0316306001600160a01b03167fc129cf8730ce23dfea8953a499f9b276ad5777855ff41fafe198ebc2a0d2324360405160405180910390a4505060018055565b612b426107b9565b6001600160a01b0316612b53611e82565b6001600160a01b031614612b795760405162461bcd60e51b81526004016107fe906158a6565b61123681613d9c565b6101016020526000908152604090205481565b612b9d6116f2565b15612bba5760405162461bcd60e51b81526004016107fe90615719565b60026001541415612bdd5760405162461bcd60e51b81526004016107fe90615b6e565b60026001556000612bee8585613a75565b90506001600160a01b038516600080516020615ef5833981519152612c116107b9565b6001600160a01b03167f522e11fa05593b306c8df10d2b0b8e01eec48f9d0a9427a7a93f21ff90d66fb187612c468634615e0b565b868989604051612c5a959493929190615d45565b60405180910390a4505060018055505050565b8051602081830181018051610104825292820191909301209152546001600160a01b031681565b612c9c6107b9565b6001600160a01b0316612cad611e82565b6001600160a01b031614612cd35760405162461bcd60e51b81526004016107fe906158a6565b6001600160a01b038116612cf95760405162461bcd60e51b81526004016107fe90615416565b60fd80546001600160a01b0319166001600160a01b0392909216919091179055565b61010260209081526000928352604080842090915290825290205481565b612d416107b9565b6001600160a01b0316612d52611e82565b6001600160a01b031614612d785760405162461bcd60e51b81526004016107fe906158a6565b6001600160a01b038116612d9e5760405162461bcd60e51b81526004016107fe90615566565b61123681613a23565b60fe54604051633e978aaf60e21b815260009161273791859185916001600160a01b039091169063fa5e2abc90612de29085906004016151f3565b60c06040518083038186803b158015612dfa57600080fd5b505afa158015612e0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e329190614efb565b613e0c565b6000612e4233611629565b15612e56575060131936013560601c6107c6565b612e5e613fea565b90506107c6565b600054610100900460ff1680612e7e575060005460ff16155b612e9a5760405162461bcd60e51b81526004016107fe90615785565b600054610100900460ff16158015612ec5576000805460ff1961ff0019909116610100171660011790555b612ecd613fee565b612ed682614061565b8015612ee8576000805461ff00191690555b5050565b600054610100900460ff1680612f05575060005460ff16155b612f215760405162461bcd60e51b81526004016107fe90615785565b600054610100900460ff16158015612f4c576000805460ff1961ff0019909116610100171660011790555b612f546140f1565b8015611236576000805461ff001916905550565b600054610100900460ff1680612f81575060005460ff16155b612f9d5760405162461bcd60e51b81526004016107fe90615785565b600054610100900460ff16158015612fc8576000805460ff1961ff0019909116610100171660011790555b612fd0613fee565b612f54614169565b600054610100900460ff1680612ff1575060005460ff16155b61300d5760405162461bcd60e51b81526004016107fe90615785565b600054610100900460ff16158015613038576000805460ff1961ff0019909116610100171660011790555b6001600160a01b03821661305e5760405162461bcd60e51b81526004016107fe906158db565b6130666141d9565b609780546001600160a01b0319166001600160a01b0384161790558015612ee8576000805461ff00191690555050565b61309e6146d9565b60005a60fe546040516302502c3560e31b81529192506000916001600160a01b039091169063128161a8906130d7908d906004016151f3565b604080518083038186803b1580156130ee57600080fd5b505afa158015613102573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131269190614ee0565b905088816000015111158015613140575088816020015110155b61315c5760405162461bcd60e51b81526004016107fe906154b2565b6001600160a01b0388166131825760405162461bcd60e51b81526004016107fe906157d3565b6000806131928c8c8c8c8c611e1c565b9150915080156131b45760405162461bcd60e51b81526004016107fe90615ba5565b600082815261010060205260408120805460ff191660011790556131db858e8e8b8b614249565b60ff549091506001600160a01b031663dd8b99238e83600060200201516040518363ffffffff1660e01b815260040161321592919061531a565b600060405180830381600087803b15801561322f57600080fd5b505af1158015613243573d6000803e3d6000fd5b50929f9e505050505050505050505050505050565b8015806132e05750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061328e9030908690600401615252565b60206040518083038186803b1580156132a657600080fd5b505afa1580156132ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132de9190614f9e565b155b6132fc5760405162461bcd60e51b81526004016107fe90615c07565b6133528363095ea7b360e01b848460405160240161331b92919061531a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261449a565b505050565b600080836b204fce5e3e250261100000003a6133738989615e43565b61337d9190615e43565b6133879190615e23565b6133919190615e0b565b9050853a867f9b36696d0f99bcef3d9db526d18d2e13abee9741727d7d21128c6079d985c2e187856040516133c7929190615d37565b60405180910390a46001600160a01b03871660009081526101016020526040812080548392906133f8908490615e0b565b90915550506001600160a01b0380881660009081526101026020908152604080832093871683529290529081208054839290613435908490615e0b565b9091555090979650505050505050565b61344d6146d9565b60fe54604051633e978aaf60e21b81526000916001600160a01b03169063fa5e2abc9061347e9088906004016151f3565b60c06040518083038186803b15801561349657600080fd5b505afa1580156134aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134ce9190614efb565b905060006134dd868684613e0c565b905060008260400151821115613562576402540be4008360400151876135039190615e43565b61350d9190615e23565b90506402540be4008360400151830387028161353957634e487b7160e01b600052601260045260246000fd5b6001600160a01b038916600090815261010360205260409020805492909104909101905561357f565b6402540be4006135728388615e43565b61357c9190615e23565b90505b60006402540be4006135918489615e43565b61359b9190615e23565b60ff54604051634993584560e11b81529192506001600160a01b031690639326b08a906135ce908b90869060040161531a565b600060405180830381600087803b1580156135e857600080fd5b505af11580156135fc573d6000803e3d6000fd5b5050505060005a60fc548651613612908d615e0b565b61361c9190615e0b565b6136269190615e62565b905060006136348883615e43565b6001600160a01b038b1660009081526101016020526040812080549293508392909190613662908490615e0b565b90915550506001600160a01b038a16600090815261010260205260408120829161368a6107b9565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008282546136b99190615e0b565b90915550600090506136cb8285615e0b565b6136d5908b615e62565b604080516080810182529182526020820196909652948501939093526060840152509098975050505050505050565b6133528363a9059cbb60e01b848460405160240161331b92919061531a565b6001600160a01b03811661373657600080fd5b6097546040516001600160a01b038084169216907f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a81190600090a3609780546001600160a01b0319166001600160a01b0392909216919091179055565b61379a6116f2565b6137b65760405162461bcd60e51b81526004016107fe9061544d565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6137e96107b9565b6040516137f691906151f3565b60405180910390a1565b6000468514156138225760405162461bcd60e51b81526004016107fe906159d7565b6001600160a01b038416600080516020615ef583398151915214156138595760405162461bcd60e51b81526004016107fe906156c7565b60fe5460405163c0e4d62760e01b81526000916001600160a01b03169063c0e4d6279061388c9089908990600401615ceb565b604080518083038186803b1580156138a357600080fd5b505afa1580156138b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138db9190614ee0565b9050828160000151111580156138f5575082816020015110155b6139115760405162461bcd60e51b81526004016107fe9061586f565b6001600160a01b0384166139375760405162461bcd60e51b81526004016107fe90615838565b826139545760405162461bcd60e51b81526004016107fe90615912565b600061396084876118f9565b905080156139a8576001600160a01b0386166000908152610103602052604090205461398d908290615e62565b6001600160a01b038716600090815261010360205260409020555b60ff546040516353403fb560e01b81526001600160a01b03909116906353403fb5906139da908990889060040161531a565b600060405180830381600087803b1580156139f457600080fd5b505af1158015613a08573d6000803e3d6000fd5b50505050613a1886893087614529565b979650505050505050565b609880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600046821415613a975760405162461bcd60e51b81526004016107fe906159d7565b60fe5460405163c0e4d62760e01b815234916001600160a01b03169063c0e4d62790613ad7908690600080516020615ef583398151915290600401615ceb565b604080518083038186803b158015613aee57600080fd5b505afa158015613b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b269190614ee0565b5111801590613bc6575060fe5460405163c0e4d62760e01b815234916001600160a01b03169063c0e4d62790613b70908690600080516020615ef583398151915290600401615ceb565b604080518083038186803b158015613b8757600080fd5b505afa158015613b9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bbf9190614ee0565b6020015110155b613be25760405162461bcd60e51b81526004016107fe9061586f565b6001600160a01b038316613c085760405162461bcd60e51b81526004016107fe90615838565b34613c255760405162461bcd60e51b81526004016107fe90615912565b6000613c3f34600080516020615ef58339815191526118f9565b90508015613cc757600080516020615ef58339815191526000526101036020527f56826d040b5c8f3e11711a6f0a85f75994bf6271dc9e6c62c9d3cf2fa418e86054613c8c908290615e62565b600080516020615ef58339815191526000526101036020527f56826d040b5c8f3e11711a6f0a85f75994bf6271dc9e6c62c9d3cf2fa418e860555b60ff546040516353403fb560e01b81526001600160a01b03909116906353403fb590613d0790600080516020615ef583398151915290349060040161531a565b600060405180830381600087803b158015613d2157600080fd5b505af1158015613d35573d6000803e3d6000fd5b50929695505050505050565b613d496116f2565b15613d665760405162461bcd60e51b81526004016107fe90615719565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586137e96107b9565b6001600160a01b038116613dc25760405162461bcd60e51b81526004016107fe9061564a565b60ca80546001600160a01b0319166001600160a01b0383169081179091556040517f871264f4293af7d2865ae7eae628b228f4991c57cb45b39c99f0b774ebe2901890600090a250565b600080613e18856125ec565b60ff54604051630b3524e360e41b81529192506000916001600160a01b039091169063b3524e3090613e4e9089906004016151f3565b60206040518083038186803b158015613e6657600080fd5b505afa158015613e7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e9e9190614f9e565b90506000613eac8684615e62565b905081811115613f405760fe54604051630af7c68d60e31b81526001600160a01b03909116906357be346890613ee6908a906004016151f3565b60206040518083038186803b158015613efe57600080fd5b505afa158015613f12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f369190614f9e565b9350505050612737565b6000856060015186604001518485613f589190615e43565b613f629190615e43565b613f6c9190615e43565b90506000828388604001518960600151613f869190615e62565b613f909190615e43565b613f9a9190615e43565b84858960400151613fab9190615e43565b613fb59190615e43565b613fbf9190615e0b565b9050600081613fd057506000613fdd565b613fda8284615e23565b90505b9998505050505050505050565b3390565b600054610100900460ff1680614007575060005460ff16155b6140235760405162461bcd60e51b81526004016107fe90615785565b600054610100900460ff16158015612f54576000805460ff1961ff0019909116610100171660011790558015611236576000805461ff001916905550565b600054610100900460ff168061407a575060005460ff16155b6140965760405162461bcd60e51b81526004016107fe90615785565b600054610100900460ff161580156140c1576000805460ff1961ff0019909116610100171660011790555b60ca80546001600160a01b0319166001600160a01b0384161790558015612ee8576000805461ff00191690555050565b600054610100900460ff168061410a575060005460ff16155b6141265760405162461bcd60e51b81526004016107fe90615785565b600054610100900460ff16158015614151576000805460ff1961ff0019909116610100171660011790555b600180558015611236576000805461ff001916905550565b600054610100900460ff1680614182575060005460ff16155b61419e5760405162461bcd60e51b81526004016107fe90615785565b600054610100900460ff161580156141c9576000805460ff1961ff0019909116610100171660011790555b612f546141d46107b9565b613a23565b600054610100900460ff16806141f2575060005460ff16155b61420e5760405162461bcd60e51b81526004016107fe90615785565b600054610100900460ff16158015614239576000805460ff1961ff0019909116610100171660011790555b614241613fee565b612f54614550565b6142516146d9565b60fe54604051633e978aaf60e21b81526000916001600160a01b03169063fa5e2abc906142829089906004016151f3565b60c06040518083038186803b15801561429a57600080fd5b505afa1580156142ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142d29190614efb565b905060006142e1878784613e0c565b905060008260400151821115614366576402540be4008360400151886143079190615e43565b6143119190615e23565b90506402540be4008360400151830388028161433d57634e487b7160e01b600052601260045260246000fd5b6001600160a01b038a166000908152610103602052604090208054929091049091019055614383565b6402540be4006143768389615e43565b6143809190615e23565b90505b60006402540be400614395848a615e43565b61439f9190615e23565b60ff54604051634993584560e11b81529192506001600160a01b031690639326b08a906143d2908c90869060040161531a565b600060405180830381600087803b1580156143ec57600080fd5b505af1158015614400573d6000803e3d6000fd5b5050505060005a60fc548651614416908e615e0b565b6144209190615e0b565b61442a9190615e62565b9050600061443d8b8a848b610ca76107b9565b90508961444a8285615e0b565b11156144685760405162461bcd60e51b81526004016107fe9061551e565b604080516080810182528483018c03815260208101959095528401929092525060608201529250505095945050505050565b60006144ef826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166145ce9092919063ffffffff16565b805190915015613352578080602001905181019061450d9190614e26565b6133525760405162461bcd60e51b81526004016107fe90615b24565b61454a846323b872dd60e01b85858560405160240161331b9392919061526c565b50505050565b600054610100900460ff1680614569575060005460ff16155b6145855760405162461bcd60e51b81526004016107fe90615785565b600054610100900460ff161580156145b0576000805460ff1961ff0019909116610100171660011790555b6065805460ff191690558015611236576000805461ff001916905550565b60606145dd84846000856145e5565b949350505050565b6060824710156146075760405162461bcd60e51b81526004016107fe90615681565b6146108561469a565b61462c5760405162461bcd60e51b81526004016107fe90615a7f565b600080866001600160a01b0316858760405161464891906151d7565b60006040518083038185875af1925050503d8060008114614685576040519150601f19603f3d011682016040523d82523d6000602084013e61468a565b606091505b5091509150613a188282866146a0565b3b151590565b606083156146af575081612737565b8251156146bf5782518084602001fd5b8160405162461bcd60e51b81526004016107fe91906153ac565b60405180608001604052806004906020820280368337509192915050565b803561149a81615ed1565b60008083601f840112614713578081fd5b5081356001600160401b03811115614729578182fd5b602083019150836020808302850101111561474357600080fd5b9250929050565b60008083601f84011261475b578182fd5b5081356001600160401b03811115614771578182fd5b60208301915083602082850101111561474357600080fd5b600082601f830112614799578081fd5b81356001600160401b03808211156147b3576147b3615ebb565b604051601f8301601f1916810160200182811182821017156147d7576147d7615ebb565b6040528281528483016020018610156147ee578384fd5b82602086016020830137918201602001929092529392505050565b60006040828403121561481a578081fd5b604051604081018181106001600160401b038211171561483c5761483c615ebb565b604052825181526020928301519281019290925250919050565b600060208284031215614867578081fd5b813561273781615ed1565b60008060408385031215614884578081fd5b823561488f81615ed1565b9150602083013561489f81615ed1565b809150509250929050565b600080600080600060a086880312156148c1578081fd5b85356148cc81615ed1565b945060208601356148dc81615ed1565b935060408601356148ec81615ed1565b925060608601356148fc81615ed1565b9150608086013561490c81615ed1565b809150509295509295909350565b60008060006060848603121561492e578283fd5b833561493981615ed1565b9250602084013561494981615ed1565b929592945050506040919091013590565b60008060008060008060008060c0898b031215614975578283fd5b883561498081615ed1565b9750602089013561499081615ed1565b9650604089013595506060890135945060808901356001600160401b03808211156149b9578485fd5b6149c58c838d0161474a565b909650945060a08b01359150808211156149dd578384fd5b506149ea8b828c01614702565b999c989b5096995094979396929594505050565b6000806000806000806000878903610160811215614a1a578182fd5b8835614a2581615ed1565b97506020890135614a3581615ed1565b9650604089013595506060890135945060c0607f1982011215614a56578182fd5b506080880192506101408801356001600160401b03811115614a76578182fd5b614a828a828b0161474a565b989b979a50959850939692959293505050565b60008060408385031215614aa7578182fd5b8235614ab281615ed1565b946020939093013593505050565b600080600080600060808688031215614ad7578283fd5b8535614ae281615ed1565b9450602086013593506040860135614af981615ed1565b925060608601356001600160401b03811115614b13578182fd5b614b1f8882890161474a565b969995985093965092949392505050565b600080600080600080600060c0888a031215614b4a578081fd5b8735614b5581615ed1565b9650602088013595506040880135614b6c81615ed1565b945060608801356001600160401b03811115614b86578182fd5b614b928a828b0161474a565b989b979a50959895979660808701359660a0013595509350505050565b60008060008060008060008060e0898b031215614bca578182fd5b8835614bd581615ed1565b9750602089013596506040890135614bec81615ed1565b955060608901356001600160401b03811115614c06578283fd5b614c128b828c0161474a565b999c989b50969996989760808801359760a0810135975060c0013595509350505050565b6000806000806000806000806000806000806101408d8f031215614c58578586fd5b614c618d6146f7565b9b5060208d01359a50614c7660408e016146f7565b99506001600160401b0360608e01351115614c8f578586fd5b614c9f8e60608f01358f0161474a565b909950975060808d0135965060a08d0135955060c08d0135945060e08d013593506001600160401b036101008e01351115614cd8578283fd5b614ce98e6101008f01358f01614702565b90935091506001600160401b036101208e01351115614d06578081fd5b614d178e6101208f01358f01614789565b90509295989b509295989b509295989b565b60008060008060608587031215614d3e578182fd5b8435614d4981615ed1565b93506020850135925060408501356001600160401b03811115614d6a578283fd5b614d768782880161474a565b95989497509550505050565b60008060008060008060808789031215614d9a578384fd5b8635614da581615ed1565b95506020870135945060408701356001600160401b0380821115614dc7578586fd5b614dd38a838b0161474a565b90965094506060890135915080821115614deb578384fd5b50614df889828a01614702565b979a9699509497509295939492505050565b600060208284031215614e1b578081fd5b813561273781615ee6565b600060208284031215614e37578081fd5b815161273781615ee6565b600060208284031215614e53578081fd5b5035919050565b600080600060408486031215614e6e578081fd5b83356001600160401b03811115614e83578182fd5b614e8f8682870161474a565b9094509250506020840135614ea381615ed1565b809150509250925092565b600060208284031215614ebf578081fd5b81356001600160401b03811115614ed4578182fd5b6145dd84828501614789565b600060408284031215614ef1578081fd5b6127378383614809565b600060c08284031215614f0c578081fd5b60405160a081018181106001600160401b0382111715614f2e57614f2e615ebb565b604052825181526020830151614f4381615ee6565b806020830152506040830151604082015260608301516060820152614f6b8460808501614809565b60808201529392505050565b600060208284031215614f88578081fd5b81356001600160801b0381168114612737578182fd5b600060208284031215614faf578081fd5b5051919050565b60008060408385031215614fc8578182fd5b82359150602083013561489f81615ed1565b60008060008060008060a08789031215614ff2578384fd5b86359550602087013561500481615ed1565b9450604087013561501481615ed1565b93506060870135925060808701356001600160401b03811115615035578283fd5b614df889828a0161474a565b600080600080600060c08688031215615058578283fd5b85519450602086015161506a81615ee6565b60408701516060880151919550935091506150888760808801614809565b90509295509295909350565b6000602082840312156150a5578081fd5b813560ff81168114612737578182fd5b60008284526020808501945084818502860184845b8781101561516e5783830389528135609e198836030181126150ea578687fd5b870160a081356150f981615ed1565b6001600160a01b031685528187013587860152604080830135908601526060808301356002811061512857898afd5b615134828801826151a5565b5050608061514481840184615dc7565b93508282880152615158838801858361517b565b9c89019c965050509286019250506001016150ca565b5090979650505050505050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b600281106151c357634e487b7160e01b600052602160045260246000fd5b9052565b6000828483379101908152919050565b600082516151e9818460208701615e79565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b038816815260c06020820181905260009061522c908301888a61517b565b90508560408301528460608301528360808301528260a083015298975050505050505050565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039889168152969097166020870152604086019490945260608501929092521515608084015260ff1660a083015260c082015260e08101919091526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0386811682526020820186905284166040820152608060608201819052600090613a1890830184866150b5565b6001600160a01b039485168152602081019390935292166040820152606081019190915260800190565b901515815260200190565b9182521515602082015260400190565b60006020825282518060208401526153cb816040850160208701615e79565b601f01601f19169190910160400192915050565b60208082526018908201527f4f6e6c79206578656375746f7220697320616c6c6f7765640000000000000000604082015260600190565b6020808252601c908201527f4578656375746f72204d616e616765722063616e6e6f74206265203000000000604082015260600190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b6020808252601d908201527f4c697175696469747950726f7669646572732063616e27742062652030000000604082015260600190565b6020808252818101527f576974686472617720616d6f756e74206e6f7420696e20436170206c696d6974604082015260600190565b6020808252601b908201527f4552525f5f4e41544956455f5452414e534645525f4641494c45440000000000604082015260600190565b60208082526028908201527f496e73756666696369656e742066756e647320746f20636f766572207472616e604082015267736665722066656560c01b606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526021908201527f4e6174697665205472616e7366657220746f2041646170746f72204661696c656040820152601960fa1b606082015260800190565b60208082526016908201527514ddd85c081859185c1d1bdc881b9bdd08199bdd5b9960521b604082015260600190565b602080825260139082015272047617320466565206561726e6564206973203606c1b604082015260600190565b6020808252601b908201527f54727573746564466f727761726465722063616e277420626520300000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252600e908201526d3bb937b73390333ab731ba34b7b760911b604082015260600190565b60208082526010908201526f24b73b30b634b2103932b1b2b4bb32b960811b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526022908201527f4f6e6c79206c697175696469747950726f76696465727320697320616c6c6f77604082015261195960f21b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b602080825260149082015273426164207265636569766572206164647265737360601b604082015260600190565b6020808252601f908201527f43616e2774207769746864726177206e617469766520746f6b656e2066656500604082015260600190565b6020808252601c908201527f526563656976657220616464726573732063616e6e6f74206265203000000000604082015260600190565b6020808252601f908201527f4465706f73697420616d6f756e74206e6f7420696e20436170206c696d697400604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601a908201527f50617573657220416464726573732063616e6e6f742062652030000000000000604082015260600190565b6020808252601290820152710416d6f756e742063616e6e6f7420626520360741b604082015260600190565b602080825260139082015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b604082015260600190565b6020808252601e908201527f54727573746564466f727761726465722063616e6e6f74206265203078300000604082015260600190565b6020808252818101527f546f74616c2070657263656e746167652063616e6e6f74206265203e20313030604082015260600190565b6020808252602d908201527f546f20636861696e206d75737420626520646966666572656e74207468616e2060408201526c31bab93932b73a1031b430b4b760991b606082015260800190565b60208082526011908201527015dc9bdb99c81b595d1a1bd90818d85b1b607a1b604082015260600190565b60208082526016908201527513985d1a5d9948151c985b9cd9995c8811985a5b195960521b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252601d908201527f4578656375746f724d616e616765722063616e6e6f7420626520307830000000604082015260600190565b60208082526019908201527f4552525f5f494e53554646494349454e545f42414c414e434500000000000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b602080825260119082015270105b1c9958591e48141c9bd8d95cdcd959607a1b604082015260600190565b60208082526017908201527f546f6b656e4d616e616765722063616e27742062652030000000000000000000604082015260600190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b60208082526030908201527f4f6e6c792070617573657220697320616c6c6f77656420746f20706572666f7260408201526f36903a3434b99037b832b930ba34b7b760811b606082015260800190565b6020808252818101527f4c697175696469747950726f7669646572732063616e6e6f7420626520307830604082015260600190565b90815260200190565b9182526001600160a01b0316602082015260400190565b8481526001600160a01b0384166020820152606060408201819052600090615d2d90830184866150b5565b9695505050505050565b918252602082015260400190565b600086825285602083015284604083015260806060830152613a1860808301848661517b565b600088825287602083015286604083015260a06060830152615d9160a08301868861517b565b8281036080840152615da48185876150b5565b9a9950505050505050505050565b60008235609e198336030181126151e9578182fd5b6000808335601e19843603018112615ddd578283fd5b83016020810192503590506001600160401b03811115615dfc57600080fd5b80360383131561474357600080fd5b60008219821115615e1e57615e1e615ea5565b500190565b600082615e3e57634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615615e5d57615e5d615ea5565b500290565b600082821015615e7457615e74615ea5565b500390565b60005b83811015615e94578181015183820152602001615e7c565b8381111561454a5750506000910152565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461123657600080fd5b801515811461123657600080fdfe000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea2646970667358221220e4f8e94dd13db1bfa1cdccfeb5ab67b6ae9b3730e048602f2fb40ed48fa4992c64736f6c634300080000330605581e03a53e4dd67a0c570f0f68208a502112d899c92caf0fd7be7e6c4f4157a00701195f4a05581e0358edfe0e61fbe70a660e4370e426818db5686739b354608b4efbfceec00401038c8e1b04c47d0b6a7c7fe9d6f675a65fa01862f81015667790f003e0f32414c605581e034c1748badc9738d29be680039946e9aa6ec2c0d20794015df5dfe8f3d00c02460c2d17a07f8005581e0395f926f722b4a5f39330f7a5c0530f92ce110fa6bacc4f4bad05c991e00c02472af8acc846e400030147bb779b604e58273aeee0b90d1dcb38d71bed9fc46415e6a95f7db2c62d870219ffce03c3ec1c1c342c794132147b1fe92d251ea4f01b5db5331286ea69055b92141f9c034c7d4401df4f774a694a32fce8d287131c6f92c946d37649a0d3e0328172556a032888b2dbb463f4d4270b04eeffbe1b56fd9e7732f69f5f7e5cf7409a8cc5e41d0372158931a5247f73b08c55eb0200a072924ca8af366e83499a5a4ec7203339bb0219ffff03b2379e84af85b504bb1b1ca4cb5c30982b4b93e9905cc5f71c8109959688535803519631ae7a9ec63345c31c6c795736ff663e26d857f8e7301aeaf394e900c19d034008c45316d433b6bc9589396a1edd56e0b9da90ba3a1b357919dca364ca7c1f03612670dad2f8e64ec6afb6d4d7297d7e3065161605db002fd1c7e518a17fa7630338ccb376f6b248f3b81b6ceb55a4f858d52b50666b184b3acdd2436a9b0541c70219ffff03136154dc8190d9c16ba364790e5fa664eb6cb86aa2ba4cd3331f56ec925422bc03cec0b0d9b09d0786388de784f15682f234816d4a4f9c475a7300d6f105bf90dc03e2289cf2cc7415634484e9c23da006e386bb7e511e3f62f88c54240ebc95bb800364727a76cc695aff9b025749919db04fa9f1377712566195508ec9517cb955c50349c933f1ee0dded8ef1ddb85227ca35ef1c91cad4a23594b6192c70d6c4be88703be2db7856ec5a1a56e84b53157794b582f04760c08c528c4e71a205d0fbe798e03d4c2e50055bbac5e48ecfa31f36e6e9a7172542803c9ad93a3f10c8e4e4b79c7032c5275e68f2d4dc6397f9868916f19f8b2c0a2b1a3dbb4efe78f0b310e1fc747033e59a3d0fae9f342b05ecca284be7f53a7aed6b08f73021cdb12c747a09a56f603d01d36fc83acf42039ef1959faf6fab9127068b110a37f5338de94076674097203edca9fac46c88803f0cb176e222d3f29c59aef67ed28da2360d6ca54ac05fba203b8260615e8279ba2dc92a8385453c61227eac015bdb577aa1a56dc37580031ca03fed4a62c18b18fc4554fea1a00c58c79c1fcd9196397648c65a205fdb813ad5403dc0408b257d388a1be89cd1189f59dfe3e3bce0252cb83b2adb4a0a212752a620219ffff030a952de716ee92db488770e15e84e2cfffc33c9356e11499aff75d58659805f903241b037b8cb0e5c57df00487aa245146889bcd29568d96a3c91f2c8330987acc030bc95bc66b2801a96ee8339c83533d6d36877d37c200c6d834decab63e5f6b170312745fe6e14cb14564605f864e5918a887ffab2866b06de08f6a5c41694109e2039359bb9f1fbcec65803500ae405fb5af254f6ce2e76a8b342f19634e73de2a7d03bab7f099fc04c4253200e7face0d3bcb20a3103c917bddb90b3ac3548ed76640037fa9dfae584ccd5265584fa33b8f1b8784e6a2724ffa2119bda397b2efbb5264037e9c4430bcf062036b8c84605b0a88e643af428ec89088aa96bb8f36f48febc303068fb54e31a25bba185531d2b5329dc2ebed0d54d0b904995e4298154ebaa962036e5931d63b9e1affdff21648f9ba7507ca23087673d40690d02dc61217dfff3e030756deb7c32cc040dc9658d5066ea7ecf045f79877bf9cdf55ba83b02ac10e8d03f8c46b506251508d5a248f963f98831a6f7aa9f5bd8d05efa864f4ca67ac47d1033e0420de55213d1e5ac1f77f005c192859d7dd2ae7cfa6f93cbe30194ec9e0230391fab81638607ddb858a4b5c34b4a8d7d82b3d6e6712951870bc63fa935ce3f903e2478be38e080ff9287001f9323ff110ef8c12d79867948bb113d603fdf11599035711e4f5fe97f4743039e793d940a5c25cb5cd841a0c8e40492499133a6d765503eaa554dd002bb89d1da63693f2ecb927257c1b17d3b0d78e1505c616f3196a4c0382dda3c46b374a6970892c4493eb2c4ec52aa02ecb15104d1eb4d7bf044e8d89030325b8dee9bc00611cf69193b897729287c9c8f92241efd45db9fc4a2e39798703a2ef1d59fed6302661a9b5d4e44460d755613134dc1616bb921deede40567aaf035d5a5131044d69eb314c76d4149fee39b3163fb518353e22472636a7583b4fbc035ad07107611e73a28d209593acf13daf23f6bfc88cbd2e29875835eb1de2e0d803fd5d02e3c0812e85e4fb64e43b5c59d00d0b64cda38a3a581d76a28750796bba034a660ccd31ad19ae5ae74f7276af389d5ed25aba062d30040f6e07a87743acd803957354c94a2536a9f51e43c6bb3c0f4ca4e290758f9546fbb8ef742c5b7279ff033f98076cc3531379506c39e4574a5d0e08b05cd10fd48c17c3be79aed64ac8e303221695f622bc38a39ebaa5efb9a964a609a36d07a96d74f95e4551c890f9b31c03b6203400db482f1f1ed9afbe09ac573c80ef209527d498e7028128599d29369c0343d7ece2ae195e461e81c5786f15b2b17db437555c1a3427f597c26bdee91fbd03b903e6138f62108d5e03c40539a40b4b935ec1925d8e389b368c0852ec90aab403914c0d777aaad23928b8b8c453ca5dce594daf2587be0836a818a69eace4af5703fe02b96d6ff1b9fcffea784069a0dffc1e3559e4fe895717bb8dfe03de87f2d803548c58b83c361037e3d00cbba303930020bb6009256ba5e4d3333c55b5ead507038a86f1d20ed4eebb7bd649ef09b71be4045f935a9ab339654ecc386ac48d496303f3d64cf237fed733554c415bc6cfa1fcffcac08b74f4a3cafd00bf9d347d10cb05581e03481f3c8a01bc0fdc3a98f20f1f16a14969dc3f2cabe431cb9c6746a3b00c0147335f06e80910e605581e035ea631adccfe996c462047347b4325b564dba583055bd3bcc180fc45900c03480102291338797a4405581e0320768f167e93b5272956df0d2949a42df2e62298040ed712824237d6900c07410a03590b89ad369348f570ab825de1ee080dc330799d5bbe4abd1309bd4ae7e3b4f505581e03c603a657b42186f8ecf851e79f70032be81961cb4de65c05562655c6000c183048039a57644a0a927105581e035a8e85479764fb7e4902ed0c7883a54fc2f739cbf8363bc461af3cc910040105581e03ffc4c0725849a789a425ce1e2e823c623f25a49eedcde689a3adb70ed0040304593a8c608060405234801561001057600080fd5b50600436106101005760003560e01c8063618af12811610097578063ba86a1f011610066578063ba86a1f01461024a578063e4bbc05c1461025d578063f2fde38b14610265578063f33f28951461027857600080fd5b8063618af128146101f457806379ba5097146102075780638da5cb5b1461020f578063979986111461023757600080fd5b80633987d651116100d35780633987d6511461019e5780633f42ab73146101b757806347cf2b60146101ce5780634d616771146101e157600080fd5b8063119a352714610105578063181f5a771461011a57806335aea8691461016c578063397796f71461017f575b600080fd5b610118610113366004613195565b61029a565b005b6101566040518060400160405280600981526020017f41524d20312e302e30000000000000000000000000000000000000000000000081525081565b60405161016391906131ae565b60405180910390f35b61011861017a36600461323e565b610726565b600954640100000000900460ff165b6040519015158152602001610163565b6101a6610abb565b6040516101639594939291906132b9565b6101bf610ecd565b60405161016393929190613413565b6101186101dc366004613529565b611005565b61018e6101ef366004613681565b611019565b610118610202366004613699565b6110ab565b610118611564565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610163565b61011861024536600461370e565b611661565b61011861025836600461370e565b611b96565b610118611d74565b610118610273366004613771565b611e39565b61028b610286366004613681565b611e4a565b60405161016393929190613793565b33600090815260076020908152604091829020825160a081018452815460ff808216151580845261010083049091169483019490945263ffffffff6201000082041694820194909452660100000000000090930473ffffffffffffffffffffffffffffffffffffffff16606084015260010154608083015261034f576040517f669f262e0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b33600090815260086020908152604080832085845290915290205460ff16156103ad576040517f9baf703d00000000000000000000000000000000000000000000000000000000815233600482015260248101839052604401610346565b3360009081526008602090815260408083208584529091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055810180516103ff906137f0565b63ffffffff16905260808101516040805160208101929092528101839052606001604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001815291815281516020928301206080840190815233600090815260078452829020845181548686015187860180516060808b01517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009095169515157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169590951761010060ff94851602177fffffffffffff000000000000000000000000000000000000000000000000ffff166201000063ffffffff92831681027fffffffffffff0000000000000000000000000000000000000000ffffffffffff1691909117660100000000000073ffffffffffffffffffffffffffffffffffffffff9096169590950294909417865595516001958601558651938401875260095461ffff8082168652938104909316978401979097526401000000009091041615159381019390935292519192911690036105bb57816020015160ff16816020018181516105b39190613813565b61ffff169052505b60045460208381015160408086015160808088015187860151845160ff909616865263ffffffff93841696860196909652928401899052606084019290925261ffff90931690820152911690339082907f8e5ceca76dae647f687fccbe8d42a3796e68330812669bd5003b938dacb1b6dd9060a00160405180910390a3816040015115801561065a5750816000015161ffff16826020015161ffff1610155b156106a45760016040838101919091525142815263ffffffff8216907f6ec7e144a45fa03ed986874794df08b5b6bbbb27ed6454b4e6eaa74248b5e3339060200160405180910390a25b5080516009805460208401516040909401511515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff61ffff95861662010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000909316959094169490941717919091169190911790555050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260076020908152604091829020825160a081018452815460ff808216151583526101008204169382019390935263ffffffff62010000840416938101939093526601000000000000909104909216606082015260019091015460808201526107b660095460ff6401000000009091041690565b156107ed576040517fca47cca000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806060015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610858576040517f669f262e000000000000000000000000000000000000000000000000000000008152336004820152602401610346565b8051158061086e5750604081015163ffffffff16155b156108a5576040517f9ff6d96b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818160800151146108f25760808101516040517f79aa5c5f000000000000000000000000000000000000000000000000000000008152600481019190915260248101839052604401610346565b6004546020820151604080840151905173ffffffffffffffffffffffffffffffffffffffff87169363ffffffff16927f56c9f1d1001236f66c1e5d598905029b4093031f31aead3449a53d832eade2259261096a92889060ff93909316835263ffffffff919091166020830152604082015260600190565b60405180910390a3600060408281018281526080840183815273ffffffffffffffffffffffffffffffffffffffff878116855260076020908152939094208551815494870151935160608801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009096169115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169190911761010060ff909516948502177fffffffffffff000000000000000000000000000000000000000000000000ffff166201000063ffffffff90921682027fffffffffffff0000000000000000000000000000000000000000ffffffffffff16176601000000000000959096169490940294909417845551600190930192909255600980549091600291610a9c9185910461ffff16613835565b92506101000a81548161ffff021916908361ffff160217905550505050565b60095460028054604080516020808402820181019092528281526060948594859462010000830461ffff169464010000000090930460ff16936000938493919290849084015b82821015610bad5760008481526020908190206040805160a08101825260038602909201805473ffffffffffffffffffffffffffffffffffffffff90811684526001808301548216858701526002909201549081169284019290925260ff74010000000000000000000000000000000000000000830481166060850152750100000000000000000000000000000000000000000090920490911660808301529083529092019101610b01565b50505050905060005b8151811015610c8457600060076000848481518110610bd757610bd7613850565b60209081029190910181015181015173ffffffffffffffffffffffffffffffffffffffff9081168352828201939093526040918201600020825160a081018452815460ff808216151583526101008204169382019390935263ffffffff6201000084041693810184905266010000000000009092049093166060820152600190920154608083015290915015610c7357610c708461387f565b93505b50610c7d8161387f565b9050610bb6565b508167ffffffffffffffff811115610c9e57610c9e61343c565b604051908082528060200260200182016040528015610cc7578160200160208202803683370190505b5096508167ffffffffffffffff811115610ce357610ce361343c565b604051908082528060200260200182016040528015610d0c578160200160208202803683370190505b5095508167ffffffffffffffff811115610d2857610d2861343c565b604051908082528060200260200182016040528015610d51578160200160208202803683370190505b5094506000805b8251811015610ec2576000838281518110610d7557610d75613850565b60209081029190910181015181015173ffffffffffffffffffffffffffffffffffffffff808216600090815260078452604090819020815160a081018352815460ff808216151583526101008204169682019690965263ffffffff6201000087041692810183905266010000000000009095049092166060850152600190910154608084015290925015610eaf57818b8581518110610e1657610e16613850565b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080604001518a8581518110610e6757610e67613850565b602002602001019063ffffffff16908163ffffffff16815250508060800151898581518110610e9857610e98613850565b6020908102919091010152610eac8461387f565b93505b505080610ebb9061387f565b9050610d58565b505050509091929394565b6040805160608082018352808252600060208084018290528385018290526004548551600280549384028201608090810190985294810183815263ffffffff808416986401000000009094041696959194919385939192859285015b82821015610fd55760008481526020908190206040805160a08101825260038602909201805473ffffffffffffffffffffffffffffffffffffffff90811684526001808301548216858701526002909201549081169284019290925260ff74010000000000000000000000000000000000000000830481166060850152750100000000000000000000000000000000000000000090920490911660808301529083529092019101610f29565b505050908252506001919091015461ffff8082166020840152620100009091041660409091015292939192919050565b61100d612118565b61101681612199565b50565b6000600681611077611030368690038601866138b7565b80516020918201516040805173ffffffffffffffffffffffffffffffffffffffff909316838501528281019190915280518083038201815260609092019052805191012090565b8152602081019190915260400160002054760100000000000000000000000000000000000000000000900460ff1692915050565b6110b3612118565b60005b818110156113df5760008383838181106110d2576110d2613850565b9050606002018036038101906110e8919061390e565b805173ffffffffffffffffffffffffffffffffffffffff908116600090815260076020908152604091829020825160a081018452815460ff808216151583526101008204169382019390935263ffffffff62010000840416818501526601000000000000909204909316606082015260019092015460808301528201519192509015801561117e57508160200151816080015114155b156111e65781516080820151602080850151604080519384529183015273ffffffffffffffffffffffffffffffffffffffff909216917ff4e3b20447f3f83360469333a2578825ae355d192dd6f59c6516d832fa425a53910160405180910390a250506113cf565b805115806111fc5750604081015163ffffffff16155b156112085750506113cf565b81516004546020838101516040808601516080870151825160ff909416845263ffffffff918216948401949094529082019290925273ffffffffffffffffffffffffffffffffffffffff909316929116907f56c9f1d1001236f66c1e5d598905029b4093031f31aead3449a53d832eade2259060600160405180910390a36000604082810182815260808401838152855173ffffffffffffffffffffffffffffffffffffffff908116855260076020908152939094208551815494870151935160608801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009096169115157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169190911761010060ff909516948502177fffffffffffff000000000000000000000000000000000000000000000000ffff166201000063ffffffff90921682027fffffffffffff0000000000000000000000000000000000000000ffffffffffff161766010000000000009590961694909402949094178455516001909301929092556009805490916002916113b29185910461ffff16613835565b92506101000a81548161ffff021916908361ffff16021790555050505b6113d88161387f565b90506110b6565b50600954640100000000900460ff168015611408575060095461ffff8082166201000090920416105b1561156057600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff1690556040517f08c773aaf7568c6b9110dcdfc13c27177410582ee30e157d1aa306b49d603eb790600090a160408051600280546080602082028401810190945260608301818152611560948492849160009085015b828210156115345760008481526020908190206040805160a08101825260038602909201805473ffffffffffffffffffffffffffffffffffffffff90811684526001808301548216858701526002909201549081169284019290925260ff74010000000000000000000000000000000000000000830481166060850152750100000000000000000000000000000000000000000090920490911660808301529083529092019101611488565b505050908252506001919091015461ffff80821660208401526201000090910416604090910152612199565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146115e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e6572000000000000000000006044820152606401610346565b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b600954640100000000900460ff16156116a6576040517fca47cca000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600454336000908152600560209081526040918290208251606081018452905463ffffffff81811680845260ff64010000000084048116958501959095526501000000000090920490931693820193909352921691908214611736576040517f669f262e000000000000000000000000000000000000000000000000000000008152336004820152602401610346565b60005b83811015611b8f57600085858381811061175557611755613850565b90506040020180360381019061176b91906138b7565b905060006117ba8280516020918201516040805173ffffffffffffffffffffffffffffffffffffffff909316838501528281019190915280518083038201815260609092019052805191012090565b6000818152600660209081526040918290208251608081018452905463ffffffff81168252640100000000810461ffff1692820192909252660100000000000082046fffffffffffffffffffffffffffffffff1692810192909252760100000000000000000000000000000000000000000000900460ff1615801560608301529192509061189f573373ffffffffffffffffffffffffffffffffffffffff168663ffffffff167f274d6d5b916b0a53974b7ab86c844b97a2e03a60f658cd9a4b1c028b604d7bf18560405161188f919061395c565b60405180910390a3505050611b7f565b8563ffffffff16816000015163ffffffff16146118e257506040805160808101825263ffffffff8716815260006020820181905291810182905260608101919091525b6118f481604001518660400151612c76565b15611946573373ffffffffffffffffffffffffffffffffffffffff168663ffffffff167f6dfbb745226fa630aeb1b9557d17d508ddb789a04f0cb873ec16e58beb8beead8560405161188f919061395c565b61195881604001518660400151612cb0565b6fffffffffffffffffffffffffffffffff166040820152602080860151908201805160ff9092169161198b908390613813565b61ffff1690525060208581015160408051865173ffffffffffffffffffffffffffffffffffffffff168152868401519381019390935260ff9091168282015251339163ffffffff8916917f2a08a2bd2798f0aae9a843f0f4ad4de488c1b3d5f04049940cfed736ad69fb979181900360600190a3600354602082015161ffff918216911610611a925760016060820152602081015160405163ffffffff8816917f8257378aa73bf8e4ada848713526584a3dcee0fd3db3beed7397f7a7f5067cc991611a89918791825173ffffffffffffffffffffffffffffffffffffffff1681526020928301519281019290925261ffff16604082015260600190565b60405180910390a25b6000918252600660209081526040928390208251815492840151948401516060909401511515760100000000000000000000000000000000000000000000027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffff909516660100000000000002949094167fffffffffffffffffff0000000000000000000000000000000000ffffffffffff61ffff909616640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000090941663ffffffff90921691909117929092179390931617179055505b611b888161387f565b9050611739565b5050505050565b611b9e612118565b60045463ffffffff1660005b82811015611d6e576000848483818110611bc657611bc6613850565b905060400201803603810190611bdc91906138b7565b90506000611c2b8280516020918201516040805173ffffffffffffffffffffffffffffffffffffffff909316838501528281019190915280518083038201815260609092019052805191012090565b60008181526006602081815260408084208151608081018352815463ffffffff808216835261ffff640100000000830416838701526fffffffffffffffffffffffffffffffff66010000000000008304169483019490945260ff76010000000000000000000000000000000000000000000082041615156060830190815296889052949093527fffffffffffffffffff000000000000000000000000000000000000000000000090931690925591518251939450919281169087161480611cef5750805b15611d595760408051855173ffffffffffffffffffffffffffffffffffffffff1681526020808701519082015282151581830152905163ffffffff8816917f7d15a6eebaa019ea7d5b7d38937c51ebd3befbfdf51bb630a694fd28635bbcba919081900360600190a25b5050505080611d679061387f565b9050611baa565b50505050565b611d7c612118565b6040514281527f367ba81ba03ea9fa7ee089ecfb43b1c35e0935bc87a472abf615b7580dc16b799060200160405180910390a1600954640100000000900460ff16611e3757600980547fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff1664010000000017905560045460405163ffffffff909116907f6ec7e144a45fa03ed986874794df08b5b6bbbb27ed6454b4e6eaa74248b5e33390611e2e9042815260200190565b60405180910390a25b565b611e41612118565b61101681612cd3565b606060008080611e62611030368790038701876138b7565b6000818152600660209081526040918290208251608081018452905463ffffffff808216808452640100000000830461ffff1694840194909452660100000000000082046fffffffffffffffffffffffffffffffff1694830194909452760100000000000000000000000000000000000000000000900460ff1615156060820181905260045490965093945092909116900361210f5760208101516040820151909450611f0e81612dc8565b60ff1667ffffffffffffffff811115611f2957611f2961343c565b604051908082528060200260200182016040528015611f52578160200160208202803683370190505b506002805460408051602080840282018101909252828152939950600093929190849084015b828210156120245760008481526020908190206040805160a08101825260038602909201805473ffffffffffffffffffffffffffffffffffffffff90811684526001808301548216858701526002909201549081169284019290925260ff74010000000000000000000000000000000000000000830481166060850152750100000000000000000000000000000000000000000090920490911660808301529083529092019101611f78565b5050505090506000805b825181101561210a57612094846005600086858151811061205157612051613850565b6020908102919091018101515173ffffffffffffffffffffffffffffffffffffffff1682528101919091526040016000205465010000000000900460ff16612c76565b156120fa578281815181106120ab576120ab613850565b6020026020010151600001518983815181106120c9576120c9613850565b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526120f78261387f565b91505b6121038161387f565b905061202e565b505050505b50509193909250565b60005473ffffffffffffffffffffffffffffffffffffffff163314611e37576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610346565b600954640100000000900460ff16156121de576040517fca47cca000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121e781612e07565b61221d576040517f35be3ac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160028054608060208202840181019094526060830181815260009484928491879085015b828210156122f15760008481526020908190206040805160a08101825260038602909201805473ffffffffffffffffffffffffffffffffffffffff90811684526001808301548216858701526002909201549081169284019290925260ff74010000000000000000000000000000000000000000830481166060850152750100000000000000000000000000000000000000000090920490911660808301529083529092019101612245565b505050908252506001919091015461ffff80821660208085019190915262010000928390048216604094850152860151600380549488015183169093027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000090941691161791909117905590505b6002541561252957600280546000919061237a90600190613989565b8154811061238a5761238a613850565b600091825260208083206040805160a0810182526003909402909101805473ffffffffffffffffffffffffffffffffffffffff908116808652600183015482168686019081526002938401548084168887015260ff740100000000000000000000000000000000000000008204811660608a015275010000000000000000000000000000000000000000009091041660808801529087526005855283872080547fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000016905551168552600790925290922080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690558154909250806124925761249261399c565b60008281526020902060037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019182020180547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905560020180547fffffffffffffffffffff0000000000000000000000000000000000000000000016905590555061235e565b60005b82515181101561267f5782518051600291908390811061254e5761254e613850565b602090810291909101810151825460018082018555600094855293839020825160039092020180547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416178255938301519481018054909416948216949094179092556040810151600290930180546060830151608090930151949093167fffffffffffffffffffffff000000000000000000000000000000000000000000909316929092177401000000000000000000000000000000000000000060ff92831602177fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16750100000000000000000000000000000000000000000091909316029190911790556126788161387f565b905061252c565b50600480546000906126969063ffffffff166137f0565b82546101009290920a63ffffffff8181021990931691831602179091556004541660005b83515160ff8216101561290457600084600001518260ff16815181106126e2576126e2613850565b602090810291909101810151604080516060808201835263ffffffff88811683528185015160ff908116848801908152898216858701908152875173ffffffffffffffffffffffffffffffffffffffff908116600090815260058b5288812097518854945193519087167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000093861693909302929092177fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff16650100000000009385169390930292909217909555855160a08101875260018082526080808a01518516838c019081528a8c01805186168a526007808e528b8b205462010000908190048a16878e019081529d8d015188169a87019a8b52825188168c52818f528c8c20860154948701948552915187168b52909c5298909720915182549851995196517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009099169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16176101009990941698909802929092177fffffffffffff000000000000000000000000000000000000000000000000ffff16939092169096027fffffffffffff0000000000000000000000000000000000000000ffffffffffff16919091176601000000000000939091169290920291909117835551910155506128fd816139cb565b90506126ba565b506004805463ffffffff438116640100000000027fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff90921691909117909155604051908216907f7cf8e698b191db138396ab0eae2ad5b3fe353fd014fd5956b034b86f2d605cfd906129779086906139ea565b60405180910390a2604080516060810182528482015161ffff168152600060208201819052918101829052905b83515160ff82161015612b9757600084600001518260ff16815181106129cc576129cc613850565b60209081029190910181015181015173ffffffffffffffffffffffffffffffffffffffff808216600090815260078452604090819020815160a081018352815460ff808216151580845261010083049091169783019790975263ffffffff620100008204169382019390935266010000000000009092049092166060820152600190910154608082015290925090612ab25773ffffffffffffffffffffffffffffffffffffffff8216600090815260076020526040812080547fffffffffffff000000000000000000000000000000000000000000000000000016815560010155612b84565b80518015612aca57506000816040015163ffffffff16115b15612b8457806020015160ff1684602001818151612ae89190613813565b61ffff16905250602080820151604080840151608085015193880151915173ffffffffffffffffffffffffffffffffffffffff87169463ffffffff8b16947fb4a70189a30e3d3b9c77d291f83699633e70ab4427fc3644a955ab4cca077b0394612b7b94919391929160ff94909416845263ffffffff929092166020840152604083015261ffff16606082015260800190565b60405180910390a35b505080612b90906139cb565b90506129a4565b508051602082015161ffff91821691161080156040830152612bf4578163ffffffff167f6ec7e144a45fa03ed986874794df08b5b6bbbb27ed6454b4e6eaa74248b5e33342604051612beb91815260200190565b60405180910390a25b80516009805460208401516040909401511515640100000000027fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff61ffff95861662010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000090931695909416949094171791909116919091179055505050565b600060808260ff1610612c8b57612c8b6139fd565b50600160ff82161b82166fffffffffffffffffffffffffffffffff1615155b92915050565b600060808260ff1610612cc557612cc56139fd565b50600160ff919091161b1790565b3373ffffffffffffffffffffffffffffffffffffffff821603612d52576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610346565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60005b6fffffffffffffffffffffffffffffffff821615612e0257612dee600183613a2c565b90911690612dfb816139cb565b9050612dcb565b919050565b8051516000901580612e1b57508151516080105b80612e2c5750602082015161ffff16155b80612e3d5750604082015161ffff16155b15612e4a57506000919050565b60008060008460000151516003612e619190613a55565b67ffffffffffffffff811115612e7957612e7961343c565b604051908082528060200260200182016040528015612ea2578160200160208202803683370190505b50905060005b8551518110156130a857600086600001518281518110612eca57612eca613850565b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161480612f2b5750602081015173ffffffffffffffffffffffffffffffffffffffff16155b80612f4e5750604081015173ffffffffffffffffffffffffffffffffffffffff16155b80612f6e5750606081015160ff16158015612f6e5750608081015160ff16155b15612f80575060009695505050505050565b805183612f8e846003613a55565b612f99906000613a6c565b81518110612fa957612fa9613850565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910182015281015183612fdc846003613a55565b612fe7906001613a6c565b81518110612ff757612ff7613850565b73ffffffffffffffffffffffffffffffffffffffff9092166020928302919091019091015260408101518361302d846003613a55565b613038906002613a6c565b8151811061304857613048613850565b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152606081015161307f9060ff1686613a6c565b9450806080015160ff16846130949190613a6c565b935050806130a19061387f565b9050612ea8565b5060005b815181101561316b5760008282815181106130c9576130c9613850565b6020026020010151905060008260016130e29190613a6c565b90505b83518110156131585783818151811061310057613100613850565b602002602001015173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361314857506000979650505050505050565b6131518161387f565b90506130e5565b5050806131649061387f565b90506130ac565b50846020015161ffff16831015801561318c5750846040015161ffff168210155b95945050505050565b6000602082840312156131a757600080fd5b5035919050565b600060208083528351808285015260005b818110156131db578581018301518582016040015282016131bf565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114612e0257600080fd5b6000806040838503121561325157600080fd5b61325a8361321a565b946020939093013593505050565b600081518084526020808501945080840160005b838110156132ae57815173ffffffffffffffffffffffffffffffffffffffff168752958201959082019060010161327c565b509495945050505050565b60a0815260006132cc60a0830188613268565b82810360208481019190915287518083528882019282019060005b8181101561330957845163ffffffff16835293830193918301916001016132e7565b50508481036040860152875180825290820192508188019060005b8181101561334057825185529383019391830191600101613324565b50505061ffff8616606085015250905082151560808301525b9695505050505050565b8051606080845281518482018190526000926080916020918201918388019190865b828110156133ea578451805173ffffffffffffffffffffffffffffffffffffffff908116865283820151811684870152604080830151909116908601528781015160ff908116898701529087015116868501529381019360a090930192600101613385565b508781015161ffff81168a8301529550505060408601519350613359604088018561ffff169052565b600063ffffffff80861683528085166020840152506060604083015261318c6060830184613363565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561348e5761348e61343c565b60405290565b60405160a0810167ffffffffffffffff8111828210171561348e5761348e61343c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134fe576134fe61343c565b604052919050565b803560ff81168114612e0257600080fd5b803561ffff81168114612e0257600080fd5b6000602080838503121561353c57600080fd5b823567ffffffffffffffff8082111561355457600080fd5b8185019150606080838803121561356a57600080fd5b61357261346b565b83358381111561358157600080fd5b8401601f8101891361359257600080fd5b8035848111156135a4576135a461343c565b6135b2878260051b016134b7565b818152878101955060a091820283018801918b8311156135d157600080fd5b928801925b828410156136505780848d0312156135ee5760008081fd5b6135f6613494565b6135ff8561321a565b815261360c8a860161321a565b8a820152604061361d81870161321a565b9082015261362c858801613506565b87820152608061363d818701613506565b90820152875295880195928301926135d6565b508352506136619050848601613517565b8582015261367160408501613517565b6040820152979650505050505050565b60006040828403121561369357600080fd5b50919050565b600080602083850312156136ac57600080fd5b823567ffffffffffffffff808211156136c457600080fd5b818501915085601f8301126136d857600080fd5b8135818111156136e757600080fd5b8660206060830285010111156136fc57600080fd5b60209290920196919550909350505050565b6000806020838503121561372157600080fd5b823567ffffffffffffffff8082111561373957600080fd5b818501915085601f83011261374d57600080fd5b81358181111561375c57600080fd5b8660208260061b85010111156136fc57600080fd5b60006020828403121561378357600080fd5b61378c8261321a565b9392505050565b6060815260006137a66060830186613268565b61ffff94909416602083015250901515604090910152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600063ffffffff808316818103613809576138096137c1565b6001019392505050565b61ffff81811683821601908082111561382e5761382e6137c1565b5092915050565b61ffff82811682821603908082111561382e5761382e6137c1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036138b0576138b06137c1565b5060010190565b6000604082840312156138c957600080fd5b6040516040810181811067ffffffffffffffff821117156138ec576138ec61343c565b6040526138f88361321a565b8152602083013560208201528091505092915050565b60006060828403121561392057600080fd5b61392861346b565b6139318361321a565b8152602083013560208201526040830135801515811461395057600080fd5b60408201529392505050565b815173ffffffffffffffffffffffffffffffffffffffff1681526020808301519082015260408101612caa565b81810381811115612caa57612caa6137c1565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b600060ff821660ff81036139e1576139e16137c1565b60010192915050565b60208152600061378c6020830184613363565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b6fffffffffffffffffffffffffffffffff82811682821603908082111561382e5761382e6137c1565b8082028115828204841417612caa57612caa6137c1565b80820180821115612caa57612caa6137c156fea164736f6c6343000813000a032bb00b2c25dee82deadf5dbe6f5e0bd6f4fcf2c1f3e9e5f86dbe2f56ebe6ee4e0330e7d734e4b7759bf7b67edec289dce04ebd4a3e35dd350ad382ff4aabde0dbe0371d0080adcfdf743249027ca8a9956cee6a52f05564fd838ad01e6cfc814ca0d03112a26b2dddf5a2cc62482b88717cc48963ea31c68a6b4f20ff4a7858e070e8203d91e181754993f9683dff43c60a677edacd1fc4c9f2948c677b34c496d36485f036deb8c4e066b898616916e17b438405a391b79d8ae309a05787965fd3f0677b903069a23afdb433e12af92ead014cdd3706ef647ff4f8bb25061de7bf7f41cb33c03fe8e2395059dda6c62fc7b130ed6f4536790ef8d3002319f2e64ad89ed78b708030b6cfea4457f0fa1b0ff7eb0a1884d7443a3318f9b9389d8dfd0545a0e551ce603e2457a1c5b65fcfbe2874f663e4972a9a6e0ae72058b31804462cc732fb8a6be039e34fe8fad5af16d86622e98c8aa4c2907553a5549164d5575281b48a33e3be603c293fc816397dc041d29793992e737665a8315538a46912660b57e7f0eb4d30a03914a230c331c415ae48351cddf7704eb22aa85a364e2f8c5dbf8076156ae54ef034132a8d6bd21a45525f6da6ab887169fa81ed070a78f3d986309f7a235b66c4d03de1f7176b1803854509a98367381e8c3023ce1db770293eb8250ffdfcd6f01ad032e0e7f303ad1b7fb23439c24044cf11fa1058b573adffde293f7161d51161e5d03e61b4db4ddd83f3abd5b1ba958f8336fd5c5e97c28eaf595fa721abf6e58f17503a6ef1a86f103fbee5a76d3c73b379c14cf46eb8966a01864e7004502841c051103d734efe88e86952c1aa0d9e44dcf7426d8bdbaf06b60d95b3a3b126e85c9e9520315f5b9ad1b3e9a325532d04350c9c0a04f571e2fcc0638b7f9c466df9d016f87032927bfe5939f728f26f71c361e1c16ca116da243b3958d0fc87377275991a8c600581f02acdc508834592ad0206212e8637f3c16a798da5d18be283d5b688f03744757010000000000000000000000000000003000020000000300581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af410200581f02badeda4dbed2fb950525c9820eaf9e8aaab58c42df78b84cd2b16c54493657010000000000000000000000000000000a00020000000400581f025fbbf48ddfbe1dc0a5ebf64a8d2f88beb1bb0f4ee00f3d2aff63e5aea56257010000000000000000000000000000004800020000000300581f0285d6966f34b8dc5b13b5503e13ee747fcab2e2cbda1026b27b2ffb8591e5570100000000000000000000000000000030000200000003021910e2038a2125c7333af7b9c5926e6ab9f5f0219c870f571ef3d6fd06b83c88e232058d033f7869236bbd2b24aa7c0a85bcdee22ccce216e51a107b318732279f7de185e903290fddc40c1afa8ce1be6d40a538456997645fcc6cf17bb0669b8d999263bdeb03508a03a829892b1e3588b1dcea84ab8765e6bf9e5af9f5a3d7eddfeafc2657d203e9f34c8d23991d7a073dfb20d32462ae78fed42a9b54a329a1d35ad86dc4c740036294b2638ec3ae1b2f5222de777e7432583af0685f18c538b8635e274c49257f0303339b42a2c0cf7d1bce54d66bd5a87eef0b8a95f5a5a15441bea7900d408702030582050199015dd2031c15b2d9449c8c943a3befdfb7f5fdbff2c2f01d00f05e03886a92a6d476bdcb1ef3a393fa4c654f3007bc1c982d149d95f0e76554b272a9037a47aac10d488ae1bf83d7b9610c902e9d0e98b9177b7da54f7272e35067502b03f12ce88f0d241f3b5afc6f713fc0d06ba23926e56ee80811a96f5bbb9b40bd23038fd5e12fc8b21e64b162fbb80c963d18de054bd39bba250770c5027da9dec4e003e907a2676bc7388476bcbb80dd580f88a32f30ef7d0d259bbc175ffbee1d3ff0005820032fef827e2512adce8409a0abcba08dbc4b0114c19da5a94a800861465e6b005701000000000000000000000000000000500002000000030219ffff037232ff279541c25bed50231ebe848e12e4fb6435676dc20082fdf6a0150ea7c60219ffff03903a4f0eff087e8d3bfce07ced2052a58a6d6c53698f187be4179cd9cee132dc031f26594afc3f40d50c99e6ae790897599a0ae1b62d50e976e2e38a53d3bee708039f9f3c1dca5fba8c9864e4faec37d5a99821e5124ece3550e73675421d4b048b03378ac27d31e420bc905c2a6344c3e0f22640a9d3ba7156a21e26b9925f6ad53e03255669aa88415dd7e6a289b4031149b1536f81504393812909d1693df9d3b33c03c84bec796e1c7f6b180e17cd19e2c62b6ad64c032257e54567c00dc8662e6e9103f6f469c49a74b982ef8c79a9bce0d93d801d2efd1063137e7e77f02d115211c303632befdf49c3970f723566dfaa0a2b96336aba9554f01f69a85b97c3091d22790321e63d063f33940cf35ca9ce4d8d772bd7c44ba556b1aee11e45ef8c1c1f0c4d0219ffff05581d0238be6323a466cd53df3598fb0e62de6a12ce84e02533d96cfe139c460701193a8c05581d02c4855aae9dd13b13c0ea9485d6fa94f294f9eb1d4c02af57060a9410040205581d0249d2e14fb21585553b217ab990c93f81211659d83e6d8601cd07390a041901120207030d617e3c064f8002c9fa19b738b6bd04e30c4378e0bcf905d9b15692be2f824803399a04022f03e0847c7d27a784e257aea08a0f83f8178e1395f2fb5db32c376e05581e03ab0b401044b1b110349bd15f4c29dd8f895004925a5978d8b97c9c20600c01470348cd88f8240902197fdf036aaf5a5f02a4f56f3ceb1ae77165f274589349a0c611e38c318cc2157eac855003d52d11cc6110f41492c5f642f52b69b18112d2e9049b7d5764f6366cde9a59b60219ffff03a6e9d30f6576134c5cab59967c8ea9e2fc94b98978570d5c6a566ecac56c6dc4037fb15c7c5128ccab94fa3ac2be52298805fe9a8e7c0013ac9b1678b062fa61af03ba15eb2811d447cea1b9d214946c4340564d3c05fcd8aa1bf70439f2249d4db10354ec07eed1b8dad7e776734810ce3474505ad1e042db269b308113c8ca5be8810323bd449432e590b5bd20ac32c30b1fa492a5e60f4cc915962029507c467c188c037ea00d64bac131ea4548516900d6cdf586c7a3afe27e85534ee3128c0ca4df970338aab001a2616683121249c447d4e158385a6e6ce7b6736e8c1feaa75956b10703a8ad9f7b9d14deee078c9794a978bab2243a3025c8169ee37ccad97c9fdb7580035e988743b46499ab97ccaf174301fe369b6f06c09ca1c0beeb6b7d1312c171bc032188bcbd5e666f36c0e04253bc8ae85aa6dda90a11537f272b372ed49baa31ed03ddad91725ce005323a3ba104ddc75bcb9318b90b083ec91d0bde2fcc46fbfa380219ffff03e934f69a5cde16e25f1ddbfafda1d5ae63026d7b1f263169fbb109c0d89947b7030fdb8ed7c0faff2177228852b01ab17d598b2a30c1fa09ff68bf20d56591dc030303dd78c5453b83d23d12c5cde6256ce258344fbd2f186a9d13fc7349071dd85b0219ffff0312f4a0f262d72a9f5622de7102ee4843fbaf9d9186eebdd7711877cbcf960f0b0397ff49bc1d80a3cc9af0b25c56a520274546a1acd6e0dfeb9784d7732be055b8030364c583aa3376aca148c459657b05c5dc01a82238b97c1ccb964e355e0224200334dedd46d211f5ba1a624bb7a2bde525f216f1508e400ec5c4b7d1f5017645b903cb3e820243e01b36c10d373151c28f2e07538aa9a6dcca5d04cb2290ad114fd0037302b4cb7dd6dc63960b2b1930d220e7645944c76ecd4bea4a002c81d0f4e8ee032bf058aba0db21411fd52000e47bd049ad80e18e053dff984b4c4f0d729b8d3d03d32bd76a4381878d3315404387e837630f702accfeb95777746157dc08d25a87032fe361e45368ba0aad948c2fb9e83599faf54bf4d6d1eb03c9cb035c9bb799c603a19ef5c0d290bc77070fb82b94d7263ebbf5536269d49f2349eca9ab00254939030955b99e7e6d9cc2ac00885b5e4675d409d8bdc2573dcfb4ae7b0be37ba965880363a256c6de3c014134daf09f71eb6f748d4d4585f39e4b3b3dfea43918172b69039b99d08dc9268f8e8dae5c56c047f7b220f593e570721727ebea6c176c6ff19403dfd51f89daca8452084f51daad6067e49e93ee1ff9790f72dcd5f3af3a47bce2031ec70018d2997c0b2b8f9a826d40fe59dd45c14a1bf8f339492b57aae6dee2d703ecb71e9621f8871308ea769510a34928bde7d629bba545b293c9fc873120783303afeb661b0433844a61b525022383f285abc17686dcd35974971adf1874c1ae04034acb30906280355b567767756197a44d9dde1d6405c03016e76a588719d70aa303b52323e0cdd3d1fd0b99c39370eeffb5a6d234e35b7b7357dbaa45fe37b7748803e4b45aacc63a5d157c3d975b7594830144dcf454d1990b281290296e0a40b56d03688ee9b5420498f266975a5ab470eb74f76257eb989f776c9c60010fa06299c50367476abf1950eae2e3e8130a5bc3b8385cb3a2be88eae85dc892766d9c8ebfc6035cb75bd0779c02422a49135f5681ea41816928dfe24ee800c6203fad4cc5e2d003843325fe4f2ed7dd0ab9ccdfa6b03779a502cd122182643b063eeca706e8391f033aff13b72c7f6d6fa20abb7e901664074d18719b3ac0026e2ff349f97aa4953c0343048cfa455ed791c1dcc9f1e8ff5bf055fddafe25fd282a32d624ac2296a91d03ba20d305c4ad31bc8a24ba6288f74f9f8fe8c440f71b9617cbf193e93d5e2a620363b16db55cdcc4cab90784434a5eb5c611f3edc1449028b460d9716d47f85aa503b578a286cbe4dc0e0802d6288fc7d58d83c6c1e2d21b9797c86c958c3bd8274403462ed62ea6844519c9894ee878e9275fc072bfc1aa1f5358713b7dbb8366faeb03653ea3c810d5bb89eae8560a23a888b8726e3f31ee75b495a1150ed2e111dcd603178cfab9cb5d1130316c813a88580f45680224d0d22a64aef288423f68d1632503ced074c59d9e3d259387095bb5be3ba3cc04e97471ddda7b3f5054e7d876702003a5803afbd9ecf5f2e79a1113a28ce761f8df76feb4c25e278da504a12ac5653e03e69c032b164cc8564a0f020d96811fd02bc0805bcf61f278a96f6445a3cc52cf05581e033247b681cdfb06f71227ce42afbf677923519d28e0496da5bf7aa2fe00084738d7ea4c68000005581e03010d26773111cff0550759c0cdeedfefef7576733f4f107e620b2e20c00c10481e7307f4587a945b03186d31ce2e6ff358a4d071321a9958a263eb945e6185274efd7bd7d07db65c8105581e0393b86c07fba2af4d966800baac95915ef20679d9f6a854d740a9cb19b00c0347031772d7b84a1603702f59ebcd358ade746e2866695bda29862ae22cb7ceafda4607e3962a2c9d7a05581e033d3e65d6dd7970d1d739fe2f1cbba7fd4965fd3d031461e60f823006700c0247012c69d263b28003c1148dd67ab0ee7f5c03603b6458f1ada88dd5b731fb51bdbf91c511b6c69ccc05581e0396ed937b561e3f7c5ee64e37bd1e82640e946440a4024c9b221638abe00402035985a05f9f4c3d9b4a333a69537fed0198e91ffc53f7449e36baf30537ba6f62037e581341c3c43077e2d6d4a8f2df15c58f025167ee29ae3b8b9e17d8ed7cefe105581e034f1c9c7ecb5274d0c5b16653334cc474b6239f46590855f82181d68700040105581e034fd2060e88dd95fbce38af05776a6e48b58d144196bbecdf6e190862b00c024722c5a2bd1bd7430219fde6030a4d23cae1fe956c315cedb3c2266558be42b64ff827ac088c1728ea77ca6f7903043eb0637be545c9d773c2f8eb4b25b4b7c9ae459a72237b5e976fb89e8320ef0320214ef162c7a0d91913fa0fc0cc14d3b1082f824817235262222bf8daac595b036dc59e16ab3e9c8962b416d01290a982627871e74d2d69f463549a9a4416c8f30361eddf0aa740b7a2747077a4dedbc26ee70ebb5c4617f53e258d2c026aadc58d03697e98cfd13d3838aa2190262198fd443831d880e9e2131830372a22493064ca0219ffff03f09255f3f89141e5331a992bb537db0e2a55fc89252ed891d63f30c005abd0ca03f028a7fc5fac066888b59b6d152691334288e41c1cf58a55fca773d8dc5ca98b038ec2cf7e22b72976efe1c23e15467cea4fd8a19174023c2452bcdc3afb43f7f20340671cb971459ad6df073bff39c531e93e6e33613b6fc6c966a7b1c8320a792d0219ffff03c034f27dba373d5ca04275c50363ce728baccc1fd32c7e127f311a056affa894037a347fa3eb4d3c70788b41530a0a546b012a0235ce350394911a5f22fb67b3fa03cb5a945c590a9e51d882365b2cd343bd5f9d2b25086d761ecc4388fce7be16a10219ffff03157b68cde3787e30f218565f887190d448d96441fc2fde6ae4306a5ac2b4dfa003e08f123d3e362d3ff88771ce625634cf35ded61d9af22947db060fc94805006803f20398226a90b7da676762ccca0c0a69fb71fc8ccfa0d84a8d8f73ef559235c7039ba005bc7c6037bf0789606bd64e03cd3a20f53fe614705ce85e1056caaf1ad80219ffff0219ffff0311548b0a80651a5b2512fd8d44c77bd84e3a21d77eb0e38d01c4a744dd6febe5036a2531fb8149904fd2b6efcc575c4bd269445047454ef1dda9bfd8fca4c8b9be032b5f7be7459ac89a41b18c12cab988930299ead73d6327bd982062f0e2055b5503762171ad01476120286d333e70b8aaee33f710287c1e9a50b4d92eb2c0ec838a0381272ba45524a5f805594dea7686b00ad7f24846dbc47ec1765f9800b752f06c036ea3f6aa41ada99d447f71b061bd5d26a838258171ec234b89e3b2f55d6e8cde039d9a18a5b27954b833d878c8996424af57e54095e9ac646e3ce59ca448f5638403bc54d73db3afd45edf4e22ea2e9d6df2a0f2b6fb1f90ef3800c2ca561783a079035366f0a3b5e8d44bcae2dbc0117a68c5320bc75346417439c68ab7e3931624e903d20377de19564d3bc3f7315b2952ae88ed54b4188bb6fcc4b68ac9f88ab5371a033dc547511eb0f59157e4d97d59ee3bd1f2975cc3999c60f445d5327636878ef503d134146ddec7292d13cffdb61f5490bbae8facf0edbd5a09370d307d286c507603426ed32db4b25dee3a571953b9a0fddc8b7f67572eb5e1a7f3e2dd91b1c4c5b503553c11ed6396e67d2e178116718b0aac9d8dd492c430f692fa00f5aba925bbca0333be0b850eab2ead034d97e15a5e28d7733968fa42bb5ce73ebd7de95f30451d03757dd09c98eb83025090531970a7473c5f815877d2313d02fe677f54aadc0b3a0340e90eb2f6c9145d9ae51c951b968b92cf0ab1a1fb49d866c9447af6b2c73e32030499d0e84a7f697c7e416bc5334ad4c1a2794a6e1e3638872c4fb9e34d20835e036020022b89f6eadd4cb77426c9afe8e0e669e8ecfad2baa126974add8b2d60d105581e038a97d114a6dd47e18393b47ab6ba9ef79df1f0a8913341e62554389de0040305581e038d86468f70d847d4a01381f7c69144f34abadbec4673171fff9b92fa600c0142138c030296ad5ec8e5bddc1b2b595b64444878c1d4c7f257efce6ff04348cead5460f705581e03f9ac41c110d93a87887afe7492d6aa359f7087036c9117c4db2deb1ee00c054602794c084608034092c8a5fb6487e931a5679ab058788c99bdb84fb49fdbf8cd5dc131e8a2f19f031fc09808178a80141b792a6263da8ec0525c369c31052f23dbf390b8b60fa2b105581e03d7ca886b9e7c4112400428135a107214b84a180d8cd74d69766561dc60031bffffffffffffffff05581e03cf39d037506be457608076a6ec9f5d0fbf617ab976df505d38b82048c0040205581e036008860b6d23c4e234609db22a981b4562994fd7db117a2a4add9cdd40084728568565623400032775a2db446f1997b07d7003df2d0c49081da75a147a86da3ca242ce3a5e9168045907566080604052600436101561002c575b361561001f575b61001d610350565b005b610027610350565b610015565b6000803560e01c9081633659cfe614610093575080634f1ef2861461008a5780635c60da1b146100815780638f283970146100785763f851a4400361000e57610073610306565b61000e565b50610073610224565b506100736101be565b5061007361011a565b346100fe5760203660031901126100fe576100ae6004610101565b6000805160206106e1833981519152548290336001600160a01b03909116036100f4576100ef916100e66100e183610461565b61042f565b9082825261048b565b604051f35b50506100ef610350565b80fd5b35906001600160a01b038216820361011557565b600080fd5b506040366003190112610115576101316004610101565b6001600160401b036024358181116101155736602382011215610115578060040135918211610115573660248383010111610115576000805160206106e183398151915254336001600160a01b03909116036101b35761001d9260006020848060246101a16100e1600199610461565b9682885201838701378401015261048b565b50505061001d610350565b5034610115576000366003190112610115576000805160206106e1833981519152546020906001600160a01b039060009033908316036102165750806000805160206107018339815191525416905b60405191168152f35b9061021f610350565b61020d565b5034610115576020366003190112610115576102406004610101565b6000805160206106e183398151915280549091906001600160a01b039033908216036101b3577f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519481851686521693846020820152a181156102b2576001600160a01b031916179055005b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5034610115576000366003190112610115576020600060018060a01b036000805160206106e183398151915281815416331460001461034b5754604051911681529050f35b5061021f5b506000805160206106e1833981519152546001600160a01b0390811633146103a25760008051602061070183398151915254166000808092368280378136915af43d82803e1561039e573d90f35b3d90fd5b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b50634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b0381118382101761045457604052565b61045c610418565b604052565b6020906001600160401b03811161047e575b601f01601f19160190565b610486610418565b610473565b9091813b1561051a5760008051602061070183398151915280546001600160a01b0319166001600160a01b0384169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a282511590811591610512575b506104fd575050565b61050f91610509610575565b916105bc565b50565b9050386104f4565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b61057f606061042f565b9060278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b9190823b15610605576000816105fa9460208394519201905af43d156105fd573d906105ea6100e183610461565b9182523d6000602084013e610659565b90565b606090610659565b60405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608490fd5b90919015610665575090565b8151156106755750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251928360248401526000915b8483106106c75750509180604493116106ba575b601f01601f19168101030190fd5b60008382840101526106ac565b818301810151868401604401528593509182019161069856feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220db3243bf551526f597c6f690390b205d40a453de357c5e8c9ba2cdf3eccf005464736f6c634300080f00330328c3e5c314bba260f436314f717239634f313f0f870e34c4b342db53f82c8c9b03b1b47d47ad753be787677a940e7bf513133f5f90db50ade5a13e6ea2d6eeb05703559fcbb6607b356ef606a332532a56b26ee52198de7de8ad37626ceb864db18e0324e2c203460ffb48968650495a1b945501c8f86a662357a57b51d5999a05ef5b035fffb34cb2a97a0e86043d050488e02decac10f8b8ded393fce13cabf13780690336210e37601f87b182b8e5da21c08bea1fce1e0bba950701295f1c07509f64e903e98f0221f71dcf87dbd67c615ac352ce625ead03729b3bd5b910550bbd6667290382f266ca3fc46db4af202299492527c89e04bf5ff91c37e46eb1192de504c60c03373ea5f1c36871426c316d05e9f40fdd0aa966c3e32a75496679d3bd3aa585bb03fabf99c6635acb3b506458cb7dfe5603c7b3976361ba43fc32323f6fc4af60cd03ec4f4363a2d5a8c5950b5f5456a73df176bacfb121e7577c5ee82f4ee33461ce00581f02577b1a4c32ba255fc1226f9143dfe399fb72f27cd5a5230402c083d5c98c410100581f02b51a27016f8dce87c7bae1785649eae57d821d2d4dc0cb5fbaedfac59865581e02000000000a0a711500000000000000000000000000000000000000000000581f0234729e00b73c0a60b7341e9b988122402185114a1f832652d90e101d90c84418ff7f7c00581f0227154adb19094df558aa79db6741fdcce12cf792d09416d40baefa182a3d581e10000000000000000000000000000000000000000000000000000000000000581f03c3da17b391cd27e26771a358e9ca88778046e2561d11fba964168d9742c0465af3107a400000581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581e01047537db9b00000029a0497a010003fa63551254ca0003dda6a4fbfee902194020037edd0527ff331cd1e8996d5e0111c1717098cb880dacdd6021a1c16bdb86561a0219ad1003137dc5244d1e411263e622f9f19d9da4a32cc6bfd20c72b9bb6d0c8afd4daafc03ab7edd898e8cac190aa76d76f3f0f69719b377fd1bd7e50a46b9f952b571d957030bd1d7509c0b4ab228316a2e0582932ce5a1402751941c7bf98cedbb876c074303c7df97ca371db269b4423c45793e55dd3fa8515795128171302d0266c524bac0037424a67d3997c969dcf84cc879a7c7ab495957af1eef806646a9d629cf75d12d03fd91553d252d0ac1e7201a1241ea1dc6e86bcc922cd57917bcd312f06aabe6660331b08cc85bd5bc2ba583e4f5746cf1a5911764d269f7fa779c2fd56ec050b1a903366c4ace6fce3c3778fcb41bbf93f5398671e365e61a9f760be118420ffd3047031de21e7384d6c6d4ef4d694dffc05b9813cc9d516f69be1e405b1d06ce1380fb03f46ee8207ae8a596374d8b14929dc7a72e1f9d48eab4f7f4e6b19818f87cf231039c4ed0da9b53b6e7c3dfd8ac44cae9a8077f6f0a928280c862205a2bbba15c69037f439501f534c0617606679e8c9283ab68924e99e8008c3b7624363f16d72c7a03dd1fbd99fd695c1c33f69decf7bf4d0f91f4249e54786b15aa68a05a54c673d303c5e23fd0fc3a0611269f4da7d21f6f5f58571b1e4389eb54fa673a516192f27b03620518c5dc54f6f6a0724c86c213c74a01b14a6605003fa097591f22a7e1a8c50219ffff03a067b2f166712f8304656ca2cd271fcd3e487f3dd4f88424d84ecb86d9ba398f03012782c4b08de416ff97d358b18ff79c4f9d6e58777ec40241dde5415bd85101036da49f279ff57dda40f2bad65b257cf81ff739c5ef15717da96ef28d1ca70d6503b0838478462eea13dd2b135eaf39cc8802a9de9f27f671e184eaf74013ad00c6034c3f94c31a5c7a10cfbe4dfb47f0397b60edf87b2373b76894454b0a343e813903cdc38ed9ab2bdee6ce436ba8de59abb65cbc2d03b418e3f6ed715a71e9970aa00219ffff032fe1152e3941826b45f68e60716654583ddd52f067f696a52c675858176c5bd60318370dee2ab26f8757a811da1e0ea16ba116c66115237bdb91e40ef8d556856e039147f561a8d7c121893e45d4cadf498d90a2c4d3c35cf1a1e79724d4020f9f43038645d92b8f2f33797ec11de9acbf31fa385baa05bfa031505c35ae08b35c4f16035353d4d318dc36cf1ef302045ecf96f3b721a485624d2b3280f92672513c98e103187dd172e977d5357547c7b60a48982ccb4e2d54bea7e473fa018258364fec86038d7e21231753a4fea74a1aa6a78655fd047bd6d04fbe415cf613e9968d66271903bf5ed7a60167ca087a9fc10859ae24f7d406afb19b2c28ad594347ee2336297403665a2a9252d34dfc23b187bc96fa6385332cddf59df6e975f06f869d0d2c53900350c0bc5261097b0c4f331d5c70bb219d96cb9b21c90f5c9c399f75fb308bd85d03407679d8a6be67ad755154376e881ac7ceefbd0bb8641e34a35e0c541ef71bb303e9583f06420aeac83d650706debdb89bb6f6be0037f12e65067942e79013b4ae035f6fa4237733f14cd63e75eee0d88eca78625f836ab57005d181a17fbbdc0f85032a132cb295d41370fe1903b8dbb70c2abe2c28dbc234e33a9a0d15fcd14d1a990345641a4c550aba461da97e7fa8d0d6abfce28cb459d9dfa9bdf59422dbc622fc03f31db1f8c2660ad8286b1b6b03ab28c3e5174d4bdab1109eecbbe20330d08450034b5007e156246f96305c3e23fa3a4eba309a0a1cd48eb8b90f4ba353c8d3e3cf00581f020b4a90028b322dbe23fddf5d491bcb63137f109bda4562b53a302a967c23471ff973cafa800000581f0210a308de9c4b5c50f65ee8e9ca7891f5aff325533fe3089810c8d16d34c1410100581f02434895bd24c74178fa3579b9f9b21c86bdafe77c403ed21a3d5940ee03c2522884921ef500000000000000000005873c0f00581f026816f76637a00070a2d0b6ce3b8778686c6ed2bf3005ec264805f6968395581e04000000000000000000000000000000000000000000000000000000000000581f024c18f4bdb67b3e6244eed18c0975305d9f7ca443b0d1c1f8aa10d861533f410100581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481541ec63b5883c3481134fd50d5daebc83ecd2e87790219c6210357ed89fec010ae85fae21cacf9bf10bf0939d7c8281206e17b8a325d3c68e2110381d8444f7585d5c6511c0faf7f4081c20fa91bc59e4436a7b91e96d13c3fb9090219ffff03e8c2dbaa1343db7c6b235615a0af054717976cd82a4309d2682f550c08ffccb903262ce752d9a952a821d394c75430b2e33036742b4a9275310e25bf21ab406cdc03e36aa9aefcf2fdc45551cbfc5a27b7ae87512d554e79294c839cc2af326aa61e037b3d4f66de4eea1add2ecd83ae5c4d82a28ba5676c93376581d1bf7882391e0403bfcea06b91abbcc7941ccc091d92dc7b309d41e73903234523695cdbd3f25d8503e66d3d01fd6f93a67351e61b903ed28f9e6cc8d020684fc47f3c9c9bac9a5ee0033d65a3f76549b6fc7db0d748ca94aa70bf679a24cd38c0229d9e0e2e46a31bdc03817bd12a903ab546c4467ab1758924d65cf0c2109bdb698d43526b607cbde61f030f0afc41870e9820eb3343e4c849a4359d13edad8fa25f1a418aeaeff1a0f77203966f69ddc91d2cd9bfbe6e1cdcf446a49196cca6beedb68d8c849438ef5d5f0e03ea797663876a6a198b80c12caf36dbfa183f91ba6356333db47d176629669711037ba432cd29abee0f3cb17393d54261873ef3d5a65268b8ebf7a2de3bdf57acec0319b513eb8f2b098d6730fa22db7acc0f3a2ba17fc2dfaeaaf1bdf37a2cb0fec60219ffff03eb3bca16acc0e3085f1628cf285e1d8d07ac38ccd5a9838bd04f87a7f88321db0390b72397397a0699eebaeac467ec4c37f8c35b390181435648ec244998b4ee4b03575b3172cf60affd7f33a1038a8dca3fb182885fb4f86e5772d8d1e2992115c6033f6f32b13aac3eb88587ab86dfb8d97bae304de0a2a72fc5c3621ea6538e9ac303e02412038c6918abf478afe8796bef3b452f0ae9f79b9bf7e68e609813a66b7c03ec58a6e6671662fdc8e1b2d9db94382e5e558b52de1cecef40d8f9666d5bc7fa0352d12f3ae275ec2f2353bd1716070d2d3b0786cdfe9e400be683c926588e672303b75b8c62b55869802744851ded7f0e5ccfeb10bbdab741b32480a838fafcdf5c0328efb8f443de3e6dbcd8cddb7cb554f7ba78cc1660122cdc8fc3dc5d17883a6f039cda60c944d9b0dc3ee9a6a9b96ff34e1d6af48c0a6cf6e4f4e1ba280781604a037f8cdbf56f23c01832a1cdbbaec398081e4517181dc02bb720ecf2339380efef0312f77b91e1b3665c24f501778be4e52d954c3baf8167249e1b99acbfcf36bf2f03a3108390daf6f4941675f1bd071669afff1fd48e2b1d07cdae95abeb3fed2d3303e262fc738def10ba44d0a435780d909aa00ce495149d92e46e937db9e0b7801003577440a4f5e670bc3c8b2a8106ce148626786e6a12a491576eafa1dff644223e037cee85b776308eed3f6d608ed356160b86a1e511dd496e1e4d7d987944b8995e03317951fbe8623c9c7b6ec516fd0d8fe93615fa495e875789b42fe6ab42374c8100581f022fd38086c1385ee365a58c7db4ccafd66e4fcba027e7d3423e23e060d9d0410100581f025a5626f34ce1798c06b63a97a3799f39ab9bc0e963e1b7b504b5ae909487581e04000000000000000000000000000000000000000000000000000000000000581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d549743591b23b83ed41e6abcc84016a4c7702c706e03c3fd386e7d3e8c55f1504de5b9d8bc2891f169d7da276a534e16fda429ade1b200581f02f68e8b9868370e0d56b2cc9a0c67dc52f3f835d649b2860d2fd315c9c0994806f05b59d3b2000000581f02be1ee00201c717387e020a6bdfb6e1f5af4118c12b1f4eab34800be1d13d52272b3bd1970000000000000000000000000000581f02f632b54d4d9ecad55f38472fffeb16411150dc8d764ac6baa3bf294d8c7c443a6b47b200581f02338baf3ee1773287b401ee0a199e1c765530529eb8913aa45948ddb689e742029e00581f022fd2884d02d9604bc96495c8ef204e5547fa553530ac1224c5326a536cea581e0200000000000543f7000000011a645fc600000000000000000000000000021972a703715edef72b7a106cb34390f763e5db13879424f29286cc5e8d2cb1b2e1c66d44036c6d3e98058fca56230703ff1c652bbd4b0ac39d0b55048171160a295c23074503e8836e6508476e9fa855a95a7da8c9173e53dacee5a2f8de2bf4aa0e7c1071770356307a54fa5c1d5e18824c32e3b292e07c146952a69984b8b144966d7a2eb0dc0219ffff03e7d26efc3702583b6e23308577513d69169f63b7aecce72b244b97eb4a0f604d03d16f02feab500e29fe6c971e8d0a483889149fbd66704ffd4b71c7711380421303727aa456f49d3892ddd2d6043d8ecad2b67e3cd1cd6961a3a8d4db61463f3d7603b3b6eaf827919c7cac2bdaabd20f60aedc734243656fbe9107f6f8992450fc57031e6c195aad6b391301193ad2f62092afd217aca2f4e609df8e670cc32acc46f70392ad91828ec88f8f905c81fba24c9b98b2a375024621bc80529ce47b5ee5e28b03a06dfbfdcc9a4634e985e6126127171dda7da6c5d49dd0ee01d0fdd533fd13af034103fda85b6244217a38993c26354878c45ae26ad7e28ce88f9ef9e202ea651003f188eff0f08bb9b53f4eb6a474d6b557b80797478aa065e1c05157ed49e6a152031487a1336d33049032f84ada1920821a22fff98a6e61f3821e911d05b9c9b81b0219ffff0345fc7a66f538e5c9a98b57a0956dfe065007814cf6373343db60510d5172a537039658fcb05d33e8b24f26943cf2e73b9651b20952c4b3ef3431b973081d9e7e8003897aeb24f635b9dae253e043c3d8c930dd5eef4865edc348e33d2d5d1c4e1ae203b1162fac865193fcf8ebc9d54bb8dc3003b74fb7abaa8b9a8f4a759887f60fd103dc60af2b8b6a524ff4706a2ebcf7ce2e86d5f0c7002196dea187431de8853a8900581f02345fa4b0ff25d7d638de672159aa8900c3fb1b9300d9c65f43936a8e8d1d410100581f02bce563a07459c1723d4243018e4f2ef4517131629bb91074f5b0aed9a50e48290a80f8445c0e5a00581f02179b06bdc045e0ecd4c3137a6e6fc2db5daadb081c951d0cd2cf56b11fe6410100581f02b33b67b580aa3f4cfd20a0e56a56f9c590c404c3d9abb17bc529d2d13cbf58190c87abd800000023f7ebeb930000000000000000000000000000581f0269a6f4ef331b27ae5964ebd296822d008df5e2f863edc92befd4343a26045818049d7b0000000217f4cddb0000000000000000000000000000581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6581e6687dab7000000000000014cc97cb0311600000000000001d0c7a81f8d46021948d30394b06f1f2278eba4847d0db8cebf9da911eb3f3955844980da9882c469952c2b03f0cb28be16863d5b330a53942fba3b5be06029161ff84f8cacbdd59e5496024503722fdb1fa52f10231f34cfd0a53f91943ca780ab14cfb3429853353eb7ccf5c3036d1047f9010ee3f567321f816bd873f3bcc934ab86945184826506b5272aa15e0310969b601f1c907fcb98a982ea353182e71ccb3b433462fd365676b35555c5190365d5518a2269379fab63252668d4f4e3fa40a9370b2f55ba99bea7d27d8daee0037fc5703ebbec17a2b9148ff0ec2715321fd9cc360a785d4948bb3456f4472e79032ca4d3e2cc93b2250d22a171a0ab3117b51063836c3e3a5f9aa5506d622fb73403fb16ff6ab9cb63ded2d8ae6e1bb18b3b0f3efaa16a8ecc2252253182a44b4906035128fa5e7939446033917bc20a09dd9fec0b474734dd37064c5ff9307652b96103b82514bcdc99b9ab891a33c0113cd887899e2d092fdecc18622e4f77ef34754903b95e97985ffabe0586ece5927681436dc1ee5f24bf403c4df1169ddd5b95e49b03bd0a277151f9f7bc1996ae280bc3778e668beb9126bc587427ea0a76705351f103c497a7cfe9524c4153507558cb6d5dd490d5c493c18da56b77f8076abb1cf1f1035c6a6744a1d561d4c5a29b49928a43ff7e4a87b7c60feb254a707567c7b72fdf0219ffff0302c9578de84369007f9e4720d5b0b6f72176835fc07b03cfe97eb055d230703d030064ae882a2c0a14a54078734eab85e0efa7c6e55b8a88fe9815d45a2844dfd503ffc7c13b7c335f855ca9ad846cb7126e452d4e9a881f7e2a6d82011b405c9bc40301b1dd2418bc00b90aca357f3973926347e7859ad192bbe57f4b659d9321917f035a37f64c3bae6591dd093a5cc1e4f71a0a2804f6c75781aa656c973859dce37c03cc1023c86f8cd5137c113a0778b4703b0c16137c127e0a9391466c752764738303f712c4abda14234305d06fab07cf5c1e73c5abf574eaf4116b9d5434ee53405d03b9fa70a2a92dd2b53182c17f5872707e14bae5611fdc9d3e120bad46ca2c7f720373c682ade98d051d3268301e71a16af07cadd9d4a6755e0e26724ff891afd78c03e6232126308b5cb16862cb84be5262d580933d8b6cc0c82aa40f567dd76936c3037c7c29e142803cc9dd90b1cb5d282efdf2b26420abbc4554e1eac21d97ad2cc003664693afa626d9460c70edf5ec278d21db9eced814d97151be4a71991092f74b03dac1f84cc436db39c81e1b55647c3e6a8f0325573009af7e74c5a2967f2dcccb034133e2494ad2e5b708b3d83ea099fe5ddc21663d3ee356c747a81c91da53f7ee0219ffff035f764dedff04fabe128091b9bbbb79a873901cc57bcb8f91bdb7d0ab688c02c2036cb5a7a2beb55c077f482ee021abf0c5e7bbf47dd57892aa6fc08bcf3fc456ff03c46fd6ae337eef270cec1243bc6fa543df2d3e419bef486d48aee8fb4beec6c700581f02d3da1edab174f918970d9517ae5e46c7c58c6f5a9f40614a061e9798e952581e0400000000000000000000000000000000000000000000000000000000000350899d770d4c45da4d0cf2c558c169dc107f01d642bd5febe924ca8f7f1bf58600581f0266133c208187f4b019e1b7bc90aa886250498b5d1a24e0e77b647dfb94c0581e01000000000000000000000000000000000000000000000000000000000000581f02800a4edcdee1bfb62377cc02b046f390b3614d7b2af8177d2466ece5dcf3410100581f03b58a83b3ac3cae2c868e129b2059b2e381d3859108350c78ecbcf05012405818047e1200000028ff87ce6f000000000000000001c132649a00581f03b53bf152686429ada7d160710a438046ff52071b2008121b4edc62e22b6047470de4df82000002194020021960540358ca860b9ed052410b2903adcbffe2844da1c093fcfe40c1c744219777b84b33005820037c35b3b2632a781d07515791570bd84c56ac82564fdf530033c2428dcf9c504101038ffc765dce951dfb200d7d78cda96a81dccb9d2743f2580c6411c3c2943e490e03293eb572262ca6da6c81327c35f2f6eba813cf9441ac0d6649710005379c44e6036d33c993d8ee06fe1d4d84cf94206f87286b6263edd5fea611333f2ee8ccfc5a035273d5d504b2016a49fe1d4bb3d2e662f9be60dac38c9b73648c22b0277911cd03c6815ac47f0821e527c07f0597a3c168b615db99499790396bfbcd45687c45c3035fc94380431f8e05f4cdceb742a69639ea6181843504ff09f51319d21113355603aada3d0025118d77d979f750d092ce61f8b094dc6d75f6178c182d38e047e502032c345af4f401f58a7cd5e51eaeb8509225536047104c6e585c4e7a82a9b9a8190366eaf5b36c35959f3f2353dc2e3212e4368092ba7de6c7ae7f353979d5809b97036b46a45229d7ec9f919db680f650427497ac72703ec59c5d4a5cb4818f18657103e1ec341d28bff16c3642f4e6835adcdea1c102cbadcc94f86f2d8fda8487ec780380565896cfb4a12bf3edd7dcd6d6dcc3ddeb2a1a5fead7c605175914b2acb21803464cd4767250b4d8164849cd119280c08a50b855b8dbd87ae1895edab0b0dae40219ffff03b6101bc061ce796bde08ea3cf0be690b0abad949a7f44149a4d622c471ca2bc00363df530f6d87a8a2bce7711cd6f5118e701e780bd71b847a7bf4d196758a7cdb036a64ba8c1ffa8e135aa763305b291c5bba4b6e7a4d50cee497e222f43f2bd2b3035f48d24a5b02b96cfdf0d5a9119585c4e12f07639d3ec1ed32fef283875ad53c03fde16fa05d11ce03bdcca23bb63b5b7996dbd911b646e8ecd35056eb0db3343c03633f5f01339240324a2879a795409a54b64d4cb92e268b5e62315485a86daf0803a13e40d12d436a78c6fee6e1fd54503e8c598ba851b115221753f286ae86db2503feabb5134d86cd47141fe5f39079a6f6aad436d657e24521a2e9139779944f08038da3c0f896170d39833876c30d5916dc6e8c4f46af7b994661f813961ddea991033a09cc267b2e48d5d6af39ef09c376ebdf7ee4e34ff5e16284292492ffe6a02c039611ad9f9046bc5f7c03cfce43f6bd0a5646c057f02169b66b36bc323317b0140351363f81dd3a2c450fb95fc0ef0ab8b6c01d2feeaea44ec69eb447b4cf947cbb03d8a305e57dbd972af4791c4639124d117d58d7d9a5884486adeb10b757a77b880219ffff036b65cc7ca670b862609a651a876cddd4213bc85ef2932ce57a9fdccb83c14df603f7f854ef747dd44aa65cd93daf33ed64316688a305cbc096d73a48a5f4cb70090219ffff05581d027f04a6fd79e6873efe817160cc184e36bb782b9c7d8dffd39487341b070119075605581d02be9f23d4d0f12e3ffb7e6a820fe71df0cff9927665970d34bde44f4a040203647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0370695e4917a3d2aec40a2d59c6b94c3db7407dcd3657f2a387f459cddf8e2f1e05581d0224c0d89fa25c7aa5258033338b6c6896720dc2c26e332dbb2be6592807011bffffffffffffffff021980140219a5750366e655f8cdd4d8eedf141630cc5cb447a9093ec1ea183df4321567ca7fcadf8c033d3964bc91f69c85e1ed22c91b9f7643ad408421669982052a9801c1e83d3aa203c709ab77419c41e9fa0bdb287c1394490c9adadfa0eedc9b41d439e739c0cffa03e3cbc61e4b351e9580ec6e3febcd2030f8d5a628ffb10a9358e20fa37f06106c03aa60a887e61b1ca4345ff5afba97d26783879f80568c78281ddca6273033ea4d0320b1dd457de60369c3a4c74a216429507c738d074e265555ba8aa44427a0c88203ffe1abfde04c2d9337f141cd0ed98e88e07310fc762b66e6322408941abe10ef0327339cde439a36b830b2fdf1bc7c5feaf56f95e7cb55d9440b03eb350d85de65033b44a9511e34748b78e5a1103076ba7db5eb2e6977200b7f99a286f319ff6a5b03d61a2f9f2970d8f000c78681ea228e3f57302a8e48e72beb3e26be540bc7317a03c84a02a99070fa6338bccc3d070e9a7410a99f2ea049fed4336c903d899b10040372bafe169fcec3e9d5711d102248af504d2b95e1935f5362c7e01345895de6ca03f03b42b82c398f9647d1affec2ec1852bbc559465a0f4bae16e85563eccc48710219ffff03f21738a6f22ce9b7c176aead98d29d86627e257663a0f3cf3b5348a083bd7cd403732e31880e2a639a5622b8b73dfed100dac5d235b774ce88d69a3ffd8103632a0327afdb2e2a96e0fbd9a6e4bcb057b3a3cbe1adb76b2d6f61d5d765a4784542c4039665fc15e736723e22a25f1c32a38d0071cd82ccdab55af4ff5431cfa4ce929e038ee9b0f165c9b606b518836e2313cf47f9dbd8766c7076815c9a0d708e65cf9303c1ebe58c29c7021cf0760d72eeacce9f4e3b18ca3dfcfa032b656879513c0f0503a167749ae46749903d94a832c8b7c763277179bee7b0bfeeafcb17c6a0b53a6003e29c76c7dc47c7b610cc23413f3b3d680291c296bcead17121caca278a690878039d29b34f35999e816982dd2d97a6f38d606a46e69cd9cd9de0ccbf34537b79ae03d82062aea6e2d8f8244e29a13032ddf91c2badaa2188c7e272201e1ed7b9609203ed6cc42c13e10c00a87c372590fbd974b2c178b3e724c214100ba79162b9645603e89b1e5c88696238442982c249eea92f5462ef247f6d527b189b77bd6346e17503d9894aead84e635a26e8d9a59390f23982846fb85473cb814c246e150e793d0b0219ffff035eb08397a5676fca4521fac23669a91711fa52bb73791ba2d01e3d4eb7dfa576037b069dd1f1e932d7879c14093b3617273055d3e912faa73e1505799174c40e0e031402fc5856bd71124f50064cff3a63fcf680b00e974d880c1c999280998edef403021632fe52e304f03aeeadeba035672f0698e99e7068401020330817d3868ad203784785c8e56e0c7d1eccb7f94772588f176c0e26093c29ce97e0339e8803b436033c24dec61607f456aaca797df748093c58f28614581f8ff0cf7b2dce6e8a569e031b6bbc74a92ce04d6350f269cee20a8b5ff3f92f4991c53a7539d2f2fd85814903e75b54f66e61cb75d0cfe9924626a21c166b6a3d51031cea18cbf435eae05535037b6bfacc159880ff1ac991c5e3f8a439564b01fb4a2ec45986e0461e7e96265d0219ffff03678e93623f52f2b37ad177f828067c71bb0429a73d0970188c8a05c3e4a0d70903de1adf88d36f3d9a97660c582c3c83c8a3b2876e94768613a6ddd52df8ef39c1033369c20ea8ee9b13f7995c269264d9535c82f743016723fd30c35756d58ac8c103d588b524c786b6c363b9bfe2875c069b5a930fc788fec70e305f7380e0a15aae030a1ae9fc8faaeb18407db9b4348959f2aded79390e8b4e6ee879d3b9d6d6f5e003d14e07d1a20cde7d4971542856fbdd0a469afc87a4ea5f38bcdfbfe629e7d89703fcf909c84d13941e9ed8d8e7837e0e11140d1df3b10b7b5dbdd53ee9781a2096039dd28a7cd1d7e221d863fa217c724e35558d769420db91386b396c6fe2630fcf036401bf74cde363ea815e2a145d968aebdf716c9df6788a4551f68c9a1dea64c803d45dcecd01695a73fef6802d94d0eae1674f1ee7508c4b45d0964dbc6e84a2c10364a4f425c69b54986980d6bd1b82fb30f83af0fa2d18dc97d14a855a9f145a2703319a1646ee0de3596038bb6f555866d139dda8bb4cf72267758b5c7a0983dfb003beaffe089b1fcab7459627c28212260c173da3e7776de15a92af532d65e43fda03f82c9d47672e4f4f0c60ab9cd9096deddb4eda5b1857d485661c8bcc8570dff3037a6596e60b1404b4be2f559207210cdf1bd87dc5305d481501dc5a00430194c903606eae362b0c1332ab3c26f09cc51f53b02a340378d08a205785e13062387f410390f3a67cca8c49fbfaea3e1aec53caab26f48cc063c4cffdbd5c459ff1ebe98803accacf0040e9f671422d665ed8edd7f7b3165a1e26b787955542ee48f5bce2990346f4280f8dd49ad98ca2e2ab0f937d4573fba0a0fb136095385ebac285e7f958038e42037ae84027c2f20dd4a5158bc4418ca6c8e73a27683457d9e953028c9e6d0316a7511c45cca72a35ddce4f715cb09217a4096057bcff2cbcff9da64de4f4240376ae3f6ce24ca7f2a0fa2df6fd4fef6bd93a37ac6308488e3a41aa0bff0024180351f0d83da68eb3ac03c9a2076b68952c35b79590756c6f4321556d64c6cb8a8a0329b0d7aca10467a87af06594471c6fd6a7bd7f7e627cd945ebaec7347d13a36203f53aff669de441358da6538510e416f317f8ce2b4f16e9842beb0c345a58b2e003b27c2bfe790f15f73bd7bd42579cd0116c53a38ab2b806db2b5bc2f1aad9793b03393b129ecdfdfce91fdfc60f26f312f4f5bd2504bb85b50ba87bef5b67c01ee60378cae0db0fd464acb194e793127c0cb30e5e8c2722fa15f28c325893db7209a205581e038c9aa2816da4cf369e30abd8e3388ebec0bd0f6fcea5efe0e1cf24957004040458aa608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220f8a584f5571c1942ce287f04e503e7a62bf0c9046c8825d7d0dba2e353309c8e64736f6c63430008180033033c23bcd2b1121554de49c7b5e6f29a73412d59e8d6411a50e171f463bf2da5370383e64728305da4362940dabf4c20479ef0878f8a1af7743c4f090dc0f74e71b803cfe6a6b6709d6d14cc431b187cb29607d6b22d76fb9bae11d46a1e6607077a7603b4b4910963fe4326408464564ec78397835c3e7494689b821e548245c39087c703390b0a13e512e919223fc3afed3abd4ffcf444c086cc113f052270e170f605f10307fd9571a86ddb0a20087e3b07420b978b64bb2ffece07bffc44117ca075183403fe8765a5d2245653d8655dbe60f93b7929e4df54e1b605f3b4f97f221d6cefba03d14ce4c32c2cfe4a7425e88023584b5ea7e13904395e78e796819b82e5ef6a4a037c896081f3c9d11aad1cf4f1f458bb4ad9fde308c09f8e3696774274ed39ff2403843aab633bfaec653022748782ced8e2fd5c6823a4b088f862bdf11e2db4d1240374eb47e98ef1586c8f6e60edbfbf4d049aca688292e83b340e343febd78f8add03e22703bc919d47db5a7a9998401c0e8ec7b3c9b149192ebd69738a2835d3417e0397a5a0e0b97722b54a0a62b78a84dd0edb545cb3e5ec2ec4f86ae2aeb041b46e0399e95e730f6bed18f022a75b0e04988afab5564112e9762f6b10869fd1fb327303977380f5cea7dcd3490b0002e2b3582c77e7b3635226bff72770146e012f840e0387e3a2d3ccf894940dae125f8c61e311ecec6f0e8884a0a803f3f8c7294c8afa03c79f9bf6fe2cde722e55d47c04ebc93aaf82ab00fd58bcc52bf29ff709e56b37031714fd9572a637a0ffadccfaf6e3ce464a2cab91d3cf0d62a1e22a5d71bad5c7038f406dfb77c526e163a5139c9441a65a13e4d42785fae1d4e3bb32137690fc6a03616a1d7d92a5df984f985f64242d34750ca54b611e84686cddc3869e627dba5103f9fc7d234fd8c6b86a0db44151d92e1979e408a089751efa70c928c479ae5eea039e7007071e00ad1a4396877d7d9e060c920f64cbe88b1b1f9c9420563c091a1503668bff6f5cc8e3d0cae7168481427feb7a94fed5fd3733fd6d0f7d138c4f6a9f0325688f1ab16137a9f726dafbccb8c693ca1e83723d9c85e39d2e3ef15b8a0866035d2fd3a514bfc7a429400c87e543c8ce59556de282a91abda37f0c62ff965de7036038a9e569fb9fbaf9ffcfd0037cc4ac8014e841c1a5a2a1ec14124606e5531c0344b02b7cf850c9b0f6fe1578a99db8b2fdc5ed69dc3bf6d3db82c67681b9e17203173100862167d776005270e54dbcd050ddcad977460738899157459ca8bc7ef3030d062ad2723cfe9f4c80297e42f7b257507484c871ce8e1f1883ccc45144610b038f3e3c0001c0a6e42b1ae670237795ad00bae845ff27c63fa0cecd59981ea05c03398fdb9a2e8707ebf9ac12373ae5fceb0c2361046252b632091e1ff706c090d000581f03825acb136ed9e2e3a36caa0d288f34c76fb3e261dd6d21b828114d447660581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f03af25bf2443ddc62fbe19343341f63b39e0714e8ec582c47ef3d5bfc79b9058208dd858f1a706c08dc31cb1a20e5d7b91470b9b76212baca4debeeba07c4ff7b100581f0357d65f56bc6c6e3f571d39ba9f2196d299f99884a8b69bef2f5b38516240581d01000000020000000001345ea300000000668231e7000000000001cf2c00581f03f030882d0f8f50fb35849b94299faf310f3a2aadaae01999ff8b6d834ae058201eef5db7c7c1d54dc2d0fc2ea776305daac2df666ec3fbc18a2431cde81a095e03d9add96e2b574e3ab1b3eeb955a775ea7f97f2f78af33de498914fad0e41f967031271dd0863dbf49ae3c764012339fbd52198d28e0b313f59dbf6ecce9e2f973b00581f03d66269854955b2918e152febd2f92e172b6b9b54cd6568910db096efe32058202ad7946daae12c2d989496b495ea9ad6dde4feabca412ea59c621e397394a3900348f40b8262ca0efa725111e52fcfbe0948e7547ae97dad5926c5a6eb3617553800581f0320851c6c9490a02cb5b40915f663ae4f1a4e9e408afb5dfa8086a78207205468d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f0363d1f2d0da047f59d601d93a62c845a6e5ccd5b1c0056f6a9b945fe7a4f0582063baa8f49512e87b1684f03accad54f3a632ddb5bccafcd12e019b74e3ae705f03070ac27d583014525cb2e8ef08df52cb6cf6ae24e1209c05fc0e9d0b618c99c80219f99d0349273199e0ee3b4d61fd2481cb739e29184659294b43ef05b310b41c72a15a1e0219ffff034c2e277161a93d0db4190a88affbe68148abecac09496e266bb421f6d509df86034f96ff63703db074360e30753d1886c952330a7c2c33320e64038c4a289214a703bbd215219254c37d068df0be1acd3de5dbba2eb8feaa34f224d5e92d3a38256f03831c1d160d71a69c7447b0f44d52af9f71b02e3df3e2312723a9a3c3cc8eee5703217dabdab5aaa3745588593df7374ab176ee33593cf8b00adb9fa96a87165e81033aaac0e399855abca313c1ff2ff6dbe12a4a70c03a11c99bfb146df627336aff03461c0a9095a394fc9b33124e3fb9487f496a06e38887484f70a6e0575a1e702e0219ffff03261a7319ac6ae7477a6111dbffb8418f0fe2092b9e1878e11a8683ac439f561303314e4730c745fc0fcf07a6bdf35353b63ed5973987f882a77d69a51ad850271803e6b628766f92ce3a0e5d940d5dfd3b4aaa1acfb6139857106ede04808b411b6303a9274e8ed9df080c4ba6582cb59f39817c4e9cc46024c563e622570b9845bd2603a17c73d6391fa68e62dffcccb1f161896a74b23a316e7b50938368668d33ae52035b05653f3d853aca85fa1934bae4f3648d9483678434e2d3b65905935b638fbd0219ffff0373cc29206a40432337471ea77502005592ae2bf80ed18538e31baea53ee2fca8030eaa1168b1375f373d2a8b5a3387147bc1afebbf6278740976f7ce133cec565403e94fb14372647a4cb494e79b0807b249dd52b6a6eb4e368687826f2f867235c20394b9267be52ec453af5505a8dc8d87e3d6e8be8f8410ad7ac95ea86ecf1b738603defd887ca58c07faacc21ffa87b12106ba3dd47a933017a0cb9193c47e38b5f303ee398dfb9df24d301fe7ac0f48eaf5856214e5c6f0df028f294a0705762a954c03d4ceda89fd961026526005f80d48799d5280a491d19e9e83eec864539a00cc220385fc3ad6b0da235cc764c60f0b38e013789ff72b5e6e2940bc7b0e6287a4297a033c8c49bf99ae1eead3817c0643110639ba281ee8ec23e6581e712d5798b8effb03621a555f55c91f20120d52b98cfb826df44c960bf4354770a53901da30efa663036467d29fda5ae255e1016e0b25a1bdeb2ccf2ffc646845c9d47cdebdf20c235003afc6b6d44b28d763a5c3ee749deac8907b710c2122d4ae1cca53021ea7391684034989fbd76fe2f16ead899c630e7cfacbe26bdd3beac8bf8af44fe144c509ac0603c199c3056234be213a3e6d55d10b495803cfa9a071345145266bada2642e0ea603810d825f9b69dfcc8dc586739f2c0656f7f816f806be9fc8f6b3864992ce5acd0360676afa28db8ced23df1d7abacf11ff9ba771c8522a880ea66b9373e9f0be830331298d2d89a0dfc5e453287099e2f6b65b638c18f082c0254db11c3aa9a0d54603ec6b71772165a51f79657b27fed6782254746cf5ff4387d8bcda6dccac7fb71303c8468328395c27ca3edef85c71aeba4674bdfae840bf60496260edbaa7a2c2b7034fa22f4d972acbd4eed22a23cab9487a16a901c9f2fbdf3132ddb4f3d9bf85b203ee6c9b751c7f7994473ec4edd9c9a436db9818f8b08995316707b09c77b70a2c0333a781be4c8bb34197f4737f34eb5bd1313c6c20f1c25dcf699c45f5a94b8a5603eac075730edbf5a7975df45f6d7cfd2d581cffd7c31d4d98fa52ad5bf9fcd063031e902a7fe5ca3d1f9b729010c03ed2d3e256b0339595214572f1049b509d837e03a0e161215b4d00e3e5a12ca462b980caf4b870a299e6695ed7a9bc34b7adf02e0349e41e71198e91e89e273a2913d7b03d0ced9bed1b76c150df7d1e76e74dd99903c263e7019bb8fc691a02b70ec28aafcfe899380f3d678079a53a6c5bbea0f084033c9e053d03dbc2d0ad18a4e7fe3c52d2e8540a1759d5425333206e88d28bc0bb03aebc3ac64940cbaa4dd285f176abc6856566ba37bec58b569355339d7791431f0357ba8eb3a145b32592cb5b1cced48ec497a189e52e20128cb66c2458fc82019d03987f7936b367c5e4c1baac5c38f78e02833a0440f94b461dc3413e313b33563e00581f03d594b2679af0610fad649bbf86b38d01b5365a36604bf7e4471c156b77f05468d30f47f19c07bccef4ac7fae2dc12fca3e0dc90379d126405991b5388c7a39a7d686b8cd8841893eb206f616d42e46ed52201ea503a087afe192f2881e082c5e2c71944f4524c36ee1386b29c33a1f56ed4514e24e00581f036296265e28bd840e1c8badabcd3298b55e9317b6cf6682e7ffae8f6e606058208f0371d07ffb3a8b9f002268882f186db205652100adef01a0034a595eabdf4803ff898586115a12cc4c0c07456b2176f9fe6cc1ea7c5ab41017331cce918598c8037647881655c422d16038ed5d80be423879ab9e5259cc0a1e8da5225151fac37303e80adb9d560dc579af2821a98507d3eeff9a4ef5dee0f8439f54f5284a7cf1f20323c0a14c4a6c2b17ae058621b779fc653c3e3c7803bddf28f456c840d73b777503d71bb191fb8bf7f986c0fcaa7d49354c6e8138f8fde506524db9984710568a720219e9790219ffff0382dae0b5936861ffbefd68fee8f7efa41a092ca8cd1215b2fd52b5d86a2466dc0219ffff0363561b55a47db658fbd00b8252f12217b5bb81d5deaa1290d40e437c07f5b16903a5a53ca17b877f2d7b50215d7a9f2f80aa2c8ec46222702dec4fa53683ee3d17036e2d7eaae05dc64eab9b0dda976ea4b6fb81fd72ac6fb782cdde85f993b7fb6403fb60a63c0c226219255d29d0a25d5d70dd73b788ee605bdde8af1bb15c52a0b90302af7558fd60be69a56c1ac380a1a9a5fad7311b21e73e133926ff1a523b4af90327ebb074aa12d04f0d285390fb2829acd45569a72dc8593aede8e53d1e52a7f903da9998164a0a5608f75367b2f13659158e725aa2e0815fe6e6442031e5f56fb7038f9dc462868800cd09b94bed65a5f2989a0d6f71b4b5db8e2b80e9d9bf67728f034d8aa2f383de08498b2d495258cfddc7aa10980352778626593b405d43c031fb031437868ac96142f834d73df647fe5fc8360bcb439f09f0bf64fa0b048c16d7b803a8bf8e29e95fe9cf99af206a5982715955fbbd8356f1c1a51c808c580ab85e5003768ff3cb3579e53121fe8a1cb3ba5e444718f4a7fbb783ee5e268dd0d15d27ee0377819614228606b4ac74e75243bb732ebe1969ed4212d8769940270c4bb43e9800581f0382c1043c1e8102aabef1d2526ed8b6238d35a6567a5e9b061a6eace649605820b80c16cdb9784bc7baf273e555b3badbe3094fbcb481d5bafa74a99caee6505800581f03b5190ee4089d2c39b2ed68ee927434376a5ab0b67a65b2bd0684405452c0581d0100000002000000000132cf4600000000666f5ae3000000000001194300581f03846eb63372fee56b3496ae370ae62b72859cd16b0a5fd796da3e7de7b460582072d3f0cc01764b86a9303408039b1a57695c34772c7df6253de4e5f35c3868c200581f03d1aa57031178fbebf7a47cc93cae48857fee0523a4517d18712c8fdd53e0581901000000000134d6b2000000006687dadb0000000000020c3300581f031602d1775a8a7642b2e7bb8a15f792b74cfbd24c3af9a3c500c088b2ba105501000000000000000000000000000000000000000000581f03e50bea0a38c235b8f4f6ac0f8e7fa175168ab2e935d108d3d36e7e44bee0582095468d4144119d27e77b91225be0d3ea9ac4c925d91f3bc335f693b3476b298b00581f032ad35947dd4139cddcdd8582d4c5fef63bb8c51e67126f416082d0326a205820935da3b2516c8341bb38f12ca668b0e079198c64acec05a41abcb1c0718e605e00581f03841d96d1d71fe9dc5324491ebf7a30858dc28495230f7fbb68e0f11e6c6058203f77aea88120d45f694ab03a06576df9ef1a44f5cee17b72f6d251e71bff9c1400581f0376a5eb8a44547250af0a7f36b40c48a512fb7a1d9c05b389c4886a8533305820658793059dedcb6a9ebffe2e7fde5f0f3fee989bc6b7ec6a359dd2a95055990700581f03da8c3b5f290a3e026c4e99572c62a2145633d40c5be445c3429ce77b8420581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc90219bdbc031cc88cc4e55ca846a6bf34756a68fb9e7965d164d3b42107f5c3fbffb6688b9a036ca4c425956d7d65fa13bfb428ce69e4c22e336f0cd463e65644a0a4a3f49a2503f73deae677adb36f4d4f37babea0c18e30c078c35b6f825048d7b2959d21620303560fdd80205c422eed182aad907f683774311235954bd128772104f0de3373ab03a664c6d49e09ea60c3588cd402458502a1a6a76886a764db5e209a4413533bdd0370a5256fbee6dde95d02c9f8317b2cf127a2cf59ded97dbfc5bd4705f5fef1b403f8b06a502d1065344c6e3276ca362bbe089c156ed1c54643d3c86c639ec5359f033286869dc0c74a53a67968e0ee7f4b329eb43587f917b6f94084f4de77dfdc4d0219ffff039df1451f0208d6e525e48a6e5d61601cb3a08f785bbd66075dfe4789ac7cb36303191e7d98b1a08f09f1c71380b4a37ae0f61c3f8790e33203bbc2151185bf1093030b4504f3b320fd2703d044a684e7dc01476c7f9c7e146dde6a8a987b9b958afc036ce74303492eaf0464a17683d21b9d6ac5892bd3ae5b3d3b7860fef59263063303de03ce75e3f45dc95ee067ac315754ebc10c6b849216ac7851dc3b996420aedb03be9667280a55eeb242a30c2dd2a912cf5d157234e308b87caa9b8de0fd4bae95033267a0e959c0ff7ba18379ccd742f15811cb85e3f9c33dcdb4b90c5decadc5f703e4ac22fbf45714fd77a31d6e296b500fc4a83c4b6f05b64a7f3590533204d25b03df816cdc468ef12c4d3b9521f2512fa61875871640be115b30199477ffbb6e4303dd1a030b956cef4489b241806e0786b92ac93715a281baed64b6b6265e4bfaec0382bd33810ca23c84e06bedf2322b2041620fc5f2857d0c089257282db6d2bfad0366148843821f0171af587ccd455eea2c7a87171ae45f7e15d4502b3fa905076a039fa3b7bd5b914ddea1cb5a35a9d6fd8bcce1cfbc42af28de99960718c04d8534036f061ef926d0db89a89fb2695985cfa7871ffa49b181709ad21b1c5516cb89830219ffff0362a1139a0b3bb96bbc294937d26753f907b53f985e1bca4ad3b86ecbe49bb34503ee136cdffb62d38eccae72654003e3e4cd31f09cf6e8ae40cdb8b131a013154603ce300879cc69646a049bab2ebe02d88e9a078051cdaaf4d0043aa2279ed6de6303f85236e4e618840e134c10b128a5756ee8b1f31522d7bd4b70fed4e8ca10c37a0364da69678ca6fa2cdd9e5776b57dfc930a18913fe56e9effe50f35f3c563b54d0356941d69ca810c28d2b8e82998bbe8a2e4fdb9f4bff6265cd5ad01b9f4de31fb03e52d1369f0e9b2951d74a2d061841dd558ce8ffbe0d130bb4588918d2e1f541f03c2a015c74453f036a8918b7605f8e51a63fd07dc01e8e95190ba1ef24abc68f4034151f20389f8ae0cac1dfe5653fbb7b53744b0eaeca1ffff942c8d8a1565ba7203da446941b4823f5ffa10bfa54346ebe98ca4fc4cf34d2d07e88659f8d630a94103e5cccf4c234a572953651072907a57d66a7acbbc3f913efa640c39decbc1d22003b65510d2a990aea45066fea684bf00b0265e7c9101e8926bc282ad569445352a034e39ead29d624ead97324c4492d0be61bfe417e498f78725aaea5d94cb247ab803cbcb7d4dfad204ed77284e947645b10b38cd8865ef9e5947833fbc40493070dd03c18bde070034ec0744d9dc14a4649048bfd3612c8df3da72f54163a156914e9d031a05492c32d031c3b17d991e958b3e018d2acc65bca0ad87fc053a85197fbf9c038affa3317e85a0001fdf5bd65a15905435d882fb19c081a5f7323e1e7c20f3b0031fe7d430ec7cb2593ebd81bf2266f0a9b2f39b905d4a7c88fe729167d419f5da031630546ff302f615f6232db5538dab20e97be18dae8badf51384619eaa4b159d03f83e900d963a776b9972ae73651dfe167546329715dc1b12f81bd196e18194c803fab607243b372892be669396450ba89d5e65ce0ff8a61fd64a69861ffd128c31036ea23526954dea717816fa919135ee2ecdafc8b11579f6ee3f4c7f07b21f548f031de8e52836950dfc7e4568546762ebe6eade9ba33850d2b6ba9a3ce72ddf12a7031ba6f203131b99c3e3ed92e17eb7e123e6bebab108232d132eb0987c22d7553103f0a8bfb59df34aec22bb0d067f6a7a02eb752083badfd36fdcc63f83702ba72a0357cdbfca88cec33cfe09e2aa0a88b62dd0c953bb8a3296d5719c9f6a9d4774490357a1ad4b16512748b3283f526220664c7cc5d05951831794928454b226948fff03ad516ddaec5184d46b52cfefdaddf83d0527fc963720717f006d1f59907cfc5f03be6cfade399804a1dde006b617c6cedc30a516e3acf6a17da3f20d208a80693e03127741407f01aa1027f56ce2efddd85899e0ee6e514189764f203695fe8c39c903869b7fc861ce203814ad86f2fe808cc421cbf04e3ef258e367bf7d4a60296b7f03914e492c99f542d836843edfcd48cc064e9703c5419b61d967b79877032b1ab403f397b893c4458c36f0cd10dd2a925073b88ff941894d7ba0c608b67b277376bf030ad60c53595e1eeabc93447e00cc0484f8cd0e70b3616fca24931544b955924b03175e8aa38b10c66175dc9cdb6f6b6d5408aec2618bf2af460c8129cfaef09d5103341ddcb6155b09e99206fd30aee7ab6a919785455f08ecd7e01bf162173920c900581f0382d4fb06cada5a1501ae27c9f7ca48d751b5d76f243ca43a197f8bf974d0582086a97f26e068c59db32d8ec7d560bc1a09adcc28cfd986fc557b15cc3c63d21600581f03eb01ca116fa6bceaefb65258021c9c7ef6167377b2c06e84af74ba2fb9705820479d864896b9899ed0155f1e54a7aa8dce4eb1df884ea3555d68387e9c61d4fa035eb685a376bf1cb1a8842203558a70b8f3ca9d621affd8f9d6ac09d1b718a1b800581f036d4f0010353c64aa813748b170e95660789a48dd52a872089c3ed757ce40581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f0301ff59bc6532fa6f8cd329c423e3fb1729cf82bb5fa5e7d9ebd730530370581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f030955beb03397b94665ef9b61cfbf5b7bed0fb9a73d82e6745485ecfc882058206b372d18fc7c89f67212796364af8b1fca083be71498cdc3dc81d2e1ade50edd00581f0381767ac09d57b8d83194e4bf151e480311b10c4eae5f7b8b77b3efc40510582047ce274a908d033045d4d79c46544578fea194e83fc3f1d268f7afe7e0217dd100581e02d8c8d305ff79f8070c36b049370973b41f2b206d4026a571143a0026e9581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581e02dc1f350523e5016d5388babbc080e5a2412b7591fdb9cc110fc575c62a581d01000000020000000001338eb800000000667864f70000000000016cc50219024003bf99f4f8a8fe4ee11fb9927fe4c37ca825f00207ad48fa416c4ff9736592068602191fd7032319a8b31d28309a7f47c185fafbd87c6d4b47bca94ed81a10cf23cf9e9467b603933f102127fcf4fdaae3b769f30728c48749c871ac7893a2257d24e4ec2bb4b70219ffff03e8b9266b81c1eccd54e50cc31bfada6bad30c6e657b7726c82523bb1882a96820219ffff0349c5cc1a3a023d51759ca0066e94467d00c6960fc69aa3e492fe5d79f5daafbc0219ffff03be6142391df35f84d9f3f8e20f5426d14c0052ac74efdb91051145c835a00efc03be3b96cdf0d9ffc48da3b56da177d60f058f56e5e85540fee36d1ed612ff4d9803daa046c0d3cd5e7ead9bd7eaa74e5fcd10c9802c1a9ce90ba895fb60845b2db70383cc90d11845167b8146b1a1d74b1333586b151592e0d1db687bd951506d0257031012efe85cb7396f8048569c40886fd3abd0e1e8a71d16b3f4c3e58cedf7a7d303580336a7ece63e32cdcbea56b1d2690e3b38028305cb9f36f1ca4ecea7ed8a9903228314096e75c9cf5e61de04e50aaebe25e92d7b7c057c41c11fe5d59e9acbcd03a0d278b2840e7947e66a746817a963f8795a8e45b1ef4f3feb327b316ed5b0bd03968fe3e8963daf11f0155f9fb76df0e629ba986c4538896fbb7bd8f23be7e7a30354ae4a26f5394b8f6fea53b2c4c9ce8f49fe2ecea6f158cf7647950694a1d88e030b94abe6d141bf42805b45cefd4759dfeaa6667c9ad085ed102ef0e986b653f7035d4e744f2c629bf3b808d2d6bf454977bcfd6a452384e1871857989ca5c1d17e039b711f4bbb79551fd4df50099dae9584fc98c2ea5142c7c30a5ccc2e45f7cb260345a5ccb8e961326a19954a7ae64e2af503a7e4e1a9ed6c3ef9773b90796bdb650315ffb290e58930ee15dd9153587fd238f5c65c389b43c9238abd76e28f064be10383a2d9dea8e6cd467838ad00646f780a2a4b2212c936278047647293f847f3ee03e63f4bf3bdd2f971a2b02fbabc9390f148a9b00cc5c2854b18c9b9f686f1c0f8037083818ff45f0cab567a7cddbcbab9cfefe017e57c87f038e2b7f6f01301d447039db81b8b5938fccd7f1f1eb152fe29f2ed991e6dfc4b0880a8704a7321562c6a039e98cdd3cf39613f8584712a9c3aad85537dabd056cbe90b2bec7d3824819b13030262a93a1073d2a098c41f6abddf811e96cb71ffe9a051e5d8cece5d0e6b2d320391794a07bab9ec8ca590be08fd8a7534134143458143d2c853c7486c331a0f3d03c43368dd72750eec568ce59048644885df365cd4c74d6ef8b247507f4b94cf4603e879c39e13a8be33388f980c22adf5bd33638078e225a48c70c61950cd28c4fd03032debbfa85e48d1fae111a4999e60aa1a73f72a34eb1d8794724f3cfbe8894503455c7c7efac3b827ee8a2e30e846abf3a6bf2cce8f194d011bd1a77216044ed503cd70b932c6124ce399f241c37067ba18899afe323fb461ec150e59d020c97301036fe344aa5920a293334f5b7d3b4d736cb70dba838140791d390dfbb06837c50903a88d09a3d0b0414c48f388c254de3d53b5d4fcbac0875d82a51e6388ec56e85d03e89fc0d75015f1476efbf354045f8905fa2a35def2bbc992d292e3e63a2d15af03ee9ce5b743cc26fed9e4827ad360b8e392de12e2a155b5688662ebdd7308582b030e3a8cebf2e775ffadd03d02d51867924fe20f67ce60cb63a01012756bd66b1600581e02fd5bbeb76277e1672716e3db723e2d43464d87fbae217c386ad72061145501000000000000000000000000000000000000000000581e02fdfee9edc5c34649dc8d8995e3f0acda6c767a3e8f1f5653e4a4afce8c58190200000000013465090000000066827f3f000000000001d28d00581e02135027650144ab44f124abf98a58b73d5e7d6f77f7feaaa186c149af97581d06c6b935b8bbd4000000000000000000000000000000000000000000000219240403d58280cfdf8e1a616b5b73fd9ddd2ec96a8c9a151d092bc3a82009c1a25a51f800581f03d4bb09b441c7f6a49a8156a53d9b9361004a72d5d1627a4a2cacc5e91870581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc9037b567882f0c907e516ef80aff153a675d2280b3046125f292d97583e979a267900581f031f8b0a7fe886f90957a16c96a5dcc90b42548a9785db4f912713ddfe72e0581d01000000020000000001341a3400000000667ef84b000000000001ad6f00581f0319c621043a7c80b5aac92d281d51214f261c75c1b5fd113880156122e740581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc90334d0cc1a86284b1d378c69d720c05640e1e8e8f65431941703b65df0b45f4e010219cb6d036541379a0cf3abe25f3d195051dbf8b169324a22c6ad2294f72bc202ab1e75ba0219ffff03c21498a67d286c60912782b7bc1e248277b9e812c473ad31d3632f08c5a0a66803cb52233cbd04a89ecdc84f9206279d8f928b5119ca1a8a3ef7f8714c76bbf9e703661281a1391d5608cb6acdf55045572c1e59dd76fb8871d1e35cc21d8b89469a039edc81e3f39acf249de3817f023b2be31a75deabfe2c9d45881cdc903b104615035b943abbbc975ba28041599be6d5da8a843251e03539135c373e9a52b3630d3e0219ffff039e01f8400c031feb2848dc080ca08b511ecc94f52fb41de766f422fdc496848a033c7b8646710397ee9002774443bea40f43afdc864b780892c7ee3c950ee6f95c0359c63291756debeb53707f97c02404061353c161fd0f908d4fe3f97711df59520340ff4dd0e228f52aac9442fc6b2f6454a3cc88c30001f9a49b439fb1f8f153fc03d2d6c715f2978ced26cd205eab864603f28cfe5f3efa6057ebdc4538e1d9e55b03f5f58c78ed52f3975519e549f4e1623cc93793db5c14d94fa2391372e5d28c1703eb3ed64c75a63ea1613abfc0c9cc6b10621709b7e6552d2ad81343072d1433a203a8ae49d6341c887868bafe893f36f49aa756160c326350cef1ceba6eba3c4eca03969c90596b98c9c89b5f61d293a8d6bbcefd40f5659a6872cbcaa11ce8ecbd4503321c7cacd271347adecbd27505e7191cd92ad357fd0cabe67e3c0f0405e522030219ffff0326beb814db6231e34f0fa33b24d19c03a66553b01bb9e119b578f9298784a47703a202409052010ac332668497e9bc4c5d17122e9deda5dd784f3e9e4b225c5b4203b270a2b054cc818db602396fe543ea40210998123798dd92e585258901dea4ab0305cf87adbd701f3712fc0af073e4c596eb97dfafdacd951050ad4eaa77832108039b19560f1b0761ddf422b51055413173dd5c53f7e2e2b8c606cdf3a7a9af048a03281ef28a72b964ad4346ebe38cf4d20a5b7e2a8c081b2e7706b2fd1dd7f1a419035527aded4333f0170384118a396bcba1ea8f02f3d24d35124c0d5ac0a906ccaa03430450d0787b25fa09146383095d5f61dce863d302ec6fa21c81d3f833429a3003ad050775b76123798eeafe20ca925bdf10f169b09c658105238a60b000ce4985039e1a69b2ed0f796a3b97c7665393d235a54cd4a7c8c650f9e819e55f1534a6a40387fcf9e0ec4da1d0c519e7689a47aa52ac646eae05e57eec1199ea4ae0da2ea70336f87e6af23645405b2d763ff87f16d008b98a1b0c48653d25131e883bd51f3e03412a2710f1a8c72365dfe87f105de7788d3dff5d1ae0824bbf7dbb72cced0061035e83f96b4a5ffcccc7ab78478e41a323962660a0e2c49e66c1509820fb7cd00c03253f9ebce07b4942f200cab93d878052190cfe14f9b6c82fae1dd957bc4b912303f6c852b17f50dc4aa84e6cc5c60a61f0a60477a1a3a07172044b600906920a5903b0890353f0f0e3434ad92a52b268e1d14a46053ac3612f3a9e09678d554a66a703ebacf7c84fce609c42e92dc75bbac5ed28ee1a5ee9115ec884a542340fc6b51c0324c18083d4ac372bbfde58a843c7b90af8c48cade7360872c25e47d9a906ca0303a3809ecd27d18fa6262888517ceb80d491808770f3959de411cd295254d0720800581f03344d0c6ad16222c324f4fc0cd43d92e39669dcc1eb573da353e90ffc45c05468d30f47f19c07bccef4ac7fae2dc12fca3e0dc90396bd4f572eab11da6b5301d6ec0a5fd965b44247a23ea7ebb582e69f430d2cef00581f03e0339e2199394cc037a36fea97d7a2ed2da9378b4f50b55a9d86c4696ee049c8000000006669ffcb00581f033ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9054579f40d0be111b823962043702cabe6aaa29078000581f0352517c12048f00f06a565ece476a61f279f3b3f4b80f1b982ad4ff4ef900581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f0378263ba853f7b12d270fe10bc765ea1475e21ae87af280815ccb26c6fde058208d445c0e80cb436fb0a4e1e52450c1e7ffd3bbe742a8b5f91f6d02c768e0f71400581f0328dc43be4250e3592f1de528afa630cdc16f4d3eb456aa325b1f20b9ae30581902000000000134b3420000000066862f13000000000001fbbd00581f03a8d69a57e7cb304d9d2c21b4d551364b9908a8831106de0d0fe99ff53d905820c2b1b25fac884fe67160ffb56d06850f4946b41bc67c5b33674c7a96a32ad8640219abaa0312aa8043c67fbf8533d347ce6ff7e87cd8762d3c92c41ebb20791e7e614b3119033e568b486f51ed34f58d8f2c2698a9bc7603ad53c971721ee3c622cce65614e503d58c590534f5935c602f58605c9477547302412ecf1612f63e5f2afb89a3f67403b392cb10e18878688a9e2ccbe6b54a3a9aa90346bc0ecbd5506fb7562e54421c035ac9460fa86651603cb892040eee6acf1cfe82dfcaa09a36e7242599c5efac950219ffff036588d0d5218d8663d48dfa7def3c363b0148356ee1fe75d0574a1d517ea0d95d03513fa0d2d5f2a5b7fe31c53aa7556788ab204d48e00b1c7467861be542d56e1d03a79b95216f2be56feb08019b3aca28c58d97b277b78f939ed3a1bd05c01ef46b03b67e085d62b4945829de0ae14e24bc02e5e75667247b9563613775903aecb2a303dd7111b14b6fd8e55598a3fd4ef4c91c66f73081cf0921fd46633e55429526ed03ad259ea24ff3d6cf340ea07d65144aee8b33ed8bc2e6ef4b37b3a386a149bddd03fcedc419c6a0083a06bc79a3930be87e73453d8293b13de45b048d9d70463d2c03326f5ada57b31a405ec891eaefd8a51d6cae8cde6dc122e1e184a596eafc45c903050b8551bb5fd13be8a237c471e533a2919d7927a2ef535787ad7b2d63b4b8fb03be737d5a8091a3f48486198f4d99087ebf68ac232714b8da08d48ba30058ef720324e965e82fdd922d7a551d36e40ec4d384640dd8f788a0009d4a47b5c70a118a0219ffff03f00c4d2072778e125e67fbe192f90dea35270ebcc7cf9c46bbc953e7f1bae35403293d7338278f6d14b50bcd841e62791c3bf8e9806b4aa115721bb1b0dfe865d1036934352a1e4697560a0041bdfdc271ecef738ee5cee5f9ea478041a8e2809d850307e5bf63aba89dd1f2de33e6a59f686e0971da85e12e9dc9c516765de397ad420305b1ad928c5e89d327d7174352a759b36201acddf6f6eaeba40128f629b6c9cf03dcec52d847fc013329c2ad5584e66852e562a7601c6e24e006e2907ffaa2e799034ff82087a3c6c44a74ab503a064d76bc1c13fd4ea8b65bb67b30146c5345ea9803174aa6bb5a0282cd7a047d7842a7bcbeb7871bcaeb52916ea2b041bb08d2c4bc03d7501c018e4b79236051b5609856ebaa660133e12e566e8dc306b02302b4dacd03893223e0368ab48f331dd0ca60f5a13656be0436c1e3aa2dd7cf0a35d320e5cc0219ffff0309143e8986a3fdd069bb28501d4be7b9732cb320c1e9041974b005d4cd1656db03860f27d79f61ec8687791796d5d2620f21337d1a133ae741a097b3549b3b87d203c7951cf9e1d86467140ee175ea81b60d6521f7bd1a890cd1768f9989a53c7e4f031f5c1ce07268bf905843e9f7cf4c50b46d31afc69aff323c5cd8401c7bbb21e6036890d683c9a03f832a709086736417142ad77d0ee6d0b01f3c826c1bfc34180f0384e0aa652729a2fe477fba6a1327f912c6a37bdb430b16a3917092c678f692cd03b985fbe353c9217b098ad6aa3ea56ccfa304faca337f95670b71ca146e78fe1e03eaba2f4db6130946221cd72d4656f037dc68572379be93587e58081b00ce783c03f76b6eb8a5be79e3360ec23d4e5e92f9889d4c817fbc851a968f18ab8e2f66a6037836231d5ba7862fef787e53a3c090189bb8c54cd8f9106948bec2b21d22ed9103983968378ba09ef610ece5a9f5547cc7b9379ea7eeb69d9f174c0499fabe7f1903376dc4b888beeb91db015e8c4571eec3b642bb2682056b42afb52b7b0b2171250378a66e05d082237d30897ea0b3a077c05dea87fab795b492a211855932ed5fb4032ecd5b4626b4a145005b538c006d8c019cb0dd6b340c98c7418e10f253cf3a810377b7096e6972fd922235439088b65eaee7c277816bde964ccbf9bd2d029115d60309ed14494e9bcd26b0cbdfa6708a3a18821abbb783a8588b0fbd6cf5ed34dea7035380a31c43aed3685f6362a6d46e1d637fca20af5afeb84a40aa3e403aa1a1970393516553f16e214aa2f96c051bf7c5c9fc9b397a2a6df9ad2bda5b7cb58c17b803ec348b28d31dbb4f319352c02a4772234ecf7e86d29e42e4f0b69c8615d6c79400581e02b9ae401e2eb71529478da8bd513a9bdc2d095a111e324f5b95c09ed87b581c6650cf330000000000000000000000000001ff4a0000000000020c3900581e02b029d058969359cd24f06c0e277ae824e7f3c2156609a129170a23865858200c3c16bdc9fa44c2c57955f5216a7393c911b4d0ea7f8a9537b17eae5d28f5e202184100581f03964dff0cc72de9448d14b0a26dd60e01a6608415063885c839d63a7ce33058200b26a54f443e1d2d00f8651d8b4eb64640a677d1a48414235a3f8d23a5726b7003a25b3c7d57b1a4fad3b305fe3f5c021bb0e6a799602b2c48c48897784598562503286521b81edc771796ccdd7d335b5f670bc21387dd71c790e256e66a219bd5d303c521fed01fcd95a33a886ad30fcbf4f87be68a033f98a536162f356c6a60df720372a01abf51c7aad10c9b3cfc73285075e1818bf736e3267f3cbbaad8ef9bbb4e00581f03ed3dc3e64a5c6d6dc746152acba18951ec268d67e52c65f7633c38f5b2c058200b106708bad4f6c6a1e4ccf506655a3445fba1cd4fc18a63c14a4420fdbc6ebc00581f03be654fbed823c7d4a4ecb3d4152b032b28278dbb6075bb3c4c7ed524d8805501000000000000000000000000000000000000000000581f03b3f5bfbf5b098d210341ca0eb2fd17618d934a70b53df4ca972b7164b44058205eaf9d3268925b513c2aff52c2e61bdc0df24e6829ce93294013cad35c0d55c80358fbe92f5fe061770120fdc6eb040117e661a57692674bcde1d965ac19405c4e00581f03d2610f2b9578bf13c1c7676f24feb88dc8eb4406bd04591a5fda0bba54805820d0928ae4eb98934c59776cf872ccdc7a9de913c08d326ea71796cd6a6fff986e03e978e5341da22ae4163b083f28cd257c6319369df074bd1e5bbab0418b1da9d40219fd7a03e34afead4c5b3b77f7ba225a84a3e44d54a8ffe48d878d02109b1332bac104a303b3e7da56e0ea2b5881223bfc6d2a0a1bdcf7009a647dff54ba83e1634775112b036342af408b70f235337e841799d23c975827c3b2c5405b71cabc6031109a88ec030550de99adea5e3d2d17f2dfe2ef84e8f628d5c0f5569a7486ff798a58780e2a03af846f705d14294aec6223fe1d541f25db8d0409d4a516bdeee7fca371efdb5b03ccb99bdd5c6aa3e018ebff07556cba844d1d3ad3b02382d1d35da9dc3471c70b0318770454efea9315d7634bb84415d1dce5afb0a902b1a1e245216418d88e305803617cc05a240950e580831fa13e451f0ddb336fabda6edf0a3c51f6017f02138b0340fff9f849533b41e0ff5776c999d4c5ce20b09f222e7a40a264cf3222cbf75003be09e8bf723d3180d588bbc17b547e663d554d33675a104fc6a3f53c52eb35c4034888c6d0126ed4f1227f163caa45288b1f3bda8eac1dc89e3998620c982a3f450354b113cbfaea3956d2e38302408a581829389f230c47f248547bfad93e0aff1403d747f8c69734c316b0da41149df08cb147849bd23dcf7539d012253d3e58e3330367524c16d14291772cc9f10039ee51d21809b4d1bde17c093f8b5f1648d3512a037219dc6625c8e1941aea0f4d1bee19d5be49a008d2ccf4e8b59d65fbe9b7ca8c0219ffff0371a164de857c87e79ab390d1229361f56c002beeaecdb040a1f595aee21662930219ffff03f570b2a8b490e5d3bea57e28d7cc7fd0542a6e65c88a07d3504a39afb29e96350345f7b9f538c647e52c872507dedff6da625ed26ce3711a44a002bd4b80d43a8e031c0e6fe650abd8065417fe50ca99ff8600ff9c1bc45bed9d88168a7a59f96943034bb3eb98d2d39ab1b70590dd5107469e37e831dce97c667bfe17e825cbc5720103768b478f20fd9d85667e5161aae66d4094997258c94dbfc2c858bc24072d798f03d78e9b505f66a31ae1da825a43c86f021d872a66345626961924e144184861fa03219d8d8d35ae50346a7b7ab330da958f1652732fbe96229f40e2712e45ffb2e403d70907b11665ea810624afe240ef3f68560e527fbfdd938475e35dfc957b75e003643f90585219ba20da2efdcfe4e797862c02f066cd9695fc2209ad4bb67fb77c03e659735a70d06e8fe5bac67d91f940949db1562050f8cb6930d7e70f632311a003b4c86ef7f5be8d3429a64dce523a73a978a41046dd72bef7a0a21241ff74d02403de5545a133408299e6c4709c1e5233f44165c273dde2392a4507efc8b3f7017d0365dcef3720d84db6db7be88548a60a8c2c3f435d56024403ad37e302c055f40703a7802532ee39857acf916e48fc6c95f9232246f6a5f4d28a3f115cb5c67e4dc003b297861b2406c90bf299ae28d43e8fe2e4987926cda5d1a3648a3b95419d9bed03eb4babb6816e1620d44a3844201f4c8e715c2e2a1fbdc57be42523acfb86bb6601410000581f03c9f966534569d640617c69f4fbef679154d1fa3bae8dc52c24cd84cfa58058209416acacf4d282046009446422ec9434a70879822ce4b4b8da1e37e04220e1c103985236211d1f500887361c55ed67778c5cf049c781dcb00a148cd2534b6e3ce100581e026871c541f47c0907fda0fa9826720ebfbe1527382fd2832bf86394365c58204a2a08d9cfaaa618ac67da886edb1259712f76d85cd298b6a45d081a7a1a3a8700581e02ec7646f00203332bdc44a9b0b40b251aefe723bf13aebe299bbea251e6550100000000000000000000000000000000000000000219300000581f03d0d33cb81b62cf455386e981fc9d5535c6923aaf8080491a669f58e608f049c8000000006681fbff00581f0394565869769516a4821fd18ed636fd0753e225df32aab05574b462751330582043e2c9a533c835fe79489b9177d3a14f48ec3f8aa8f454cfb24010a74e0f069800581f0388905b51aa00d4f637bf39ac31da0d77ef3d29b0ff6850368bcdc42508905820b17b8006a72bb065f3bb7f843252000b3207876f9e6d2351f16c7a7af86007e900581f03dd544922bab345577d41c229109aec34ac77ce9240c8a63202823027f9c0582001480d9c001dfadc9abdbc5cf5aaaaedf9ad89624dad26a0f7a989a4082c2c17031dccd270599399123e2f2bca8039d375b9775527ba194f18a2c7f9c5d44f9f0000581f03292c1bf6bbe5341bfc48952e72cf467fe3da1df441966a9964aaf2848130581d1b1ae4d6e2ef500000579a8d63a2db646284cbfe31fe5082c9989e985c03355ca1117f653a539e90142f1b4f74ae6602cacdacc695ba85aeae60dc115203021978df0309797b389a15548e2ebbc9a718a0d154742ad096f30190490bb4c42ae541b21c0370e15f6c2e425b5e6bf119f3c9aff1ab3505d2db84f5d852d17a6709c9a39106036b00d8634411ee3da4d66b199268500f02a14e3c4fd204a4a612d776cabb23190340d21b140d164c86c9904c4e3af38223e96696940b5b6f6d45abf366fa937a6703152981953ef3b53af5c243cbb50c66055c7aae63962493042d956008e0c396e80325647fc59a6932eb2c1cdbabf724e8cf1290711821e1d6201053296233ad7e8103edc1a30d31de9e75e92c2edcadd38bea4780f72df793056fec03782c51c48d5503617d0f3fc5f65140dc5bd86afd875b9f8739244b69db68859c20de726aa89c58037c5f9f688586a72dc5372529d2ba35b790f33fd43ae08d4ebc69181e01c2d9210219ffff037ee639146b8830abdf6edb70a54bc6a22053cbec61842cc3b69a50473f25e22303806f61a5d22204f28725a32fe8d44769aa8d84e66c0e9aabb6964044377ab32803918a9fc0a70b43d4b2e95b2f6b6412fd752973531e17a113f41986826312b308038c0c00fd4274c65ddae590d8ca3fc91be44081fdf8ef79c254328d3d84ffae7203264ad34496f4fc164919b6ed1b488fab2a20f3445eab47fd14a4279cb655b94e03d929e695abe53fd66bec1e1be22843e0c7e2afc1c2103039d38c5bf082d6201403a75ce8d6dcf2b0e616c7b0cfed41af4d88e9ea5bb9447b8e79c12ed9c8a9ea35032be0dca5da8899b1fc1f843d4c744cac49bebad77bf28596372520ab1326e7b10316a53c94edd0b47e8af9ec258475e4f0ffb4ce2d1d9644b2a600e91f9d1054b003d07149336e0f75b5da7808856d262921b13994cbdf360479cc9e73e5ca3a40a103b91a308375829f184444ee5d9ec4732c4b885fe43417d76a59790733f3c471ee0219ffff038d6785a2e5c4cd0c5f5cb4b176173858e79a95914af339abdbd865b76626f9800344068031c22439a118962952e25a5f940980eaa2d786bb47aad11863c28ca88703c42f21474866cc98dda15b2a7ec8f061b5ed3b468b82c8d0220f5b77a6a42a3b03e705897155c29aa4fbf262fe61656966812ba2f84fde9547a2a15a4ac912b4340219ffff03a3b1b74b8d230c0b008f12afb1431bf9d6008b334bad953b5272807ab974ae7d03e9b0e28f5375f1e697d091836df0a82f7632b0a12808c8a30d60cd4d48c5a2bb03bb349fd36aaafacca26fbae0ac85cb1559ccdbdf1ec7889083a83bcb603522e50391b8b5f71e43a456360d78c295bb2a07a96b84137155083c93490c966d3ac06b035a7ce1bc8940d06233fc2ea77093de28108be4f90e28917be11ce0b7864a809603cebbe37b83aef173399a39f69982d933fa42a2279e867cf62570cc1bccdce094030cc1d3a7517308f49c7c5bfa14e8809d8f156a371f4aaaf1f3d5091fc9521f0503ab3f34237d1799cd03dcaef1313666fae91633c2d4a20279b307906e8ef2a487036ce112252e7ad33aad4b8495815d924c4101cd45734b99f840fe7a46e2ea1cec031a95825de2b06529bcf3f9c310d7dc11f3667505ff642cc9ae3615e06c385ee80359ff88ea723a34c241b13993b5538ed5f8712e67a9555912eb55bf5040f82ba4038c0530f9cf7426560d43515fbcd79dfa30bb26d799a370103a7f8e182ed9f48503d43b750a3642191d29029d28f89ab95c77cc8352ecc849694952ca5b52eef1530325497c96d18cc0fcd758a391ca3d1d6710258c0a9a233885042b5dbcae7ef83803db1bdc62f63efba853a2ceaaad8faae7f0009c40df6a2d2091ecc7be3272980903990a1d4457283a98c45e9850bf6fb4907e6e343809f4cab4f7b6fe879858e60b03d92a5b5608617160339b954a1fe92b7ca1861b2bfd1bc45bded65d05427f66c60325fbd0ca738388fd84bda3f6905b654ff1680b891e0c98c0520e52aeb68d203e0310877038d52ae3124c98e925497a5582d2a75b9ad7ef53d46c1b5875d9875a9403b6895f8697fa3319bc2a490d6ac3e970c3ab4e8bc1da64686c5b986db834654d034c114f238a6861734885968821e88f425157b18b073bf56b2cdf354d31b8402803dfa32acbcbf41e4caa039b4a3326504021211e95c3768c84c72036b7962d427803c1f0115f29ec76386509d77087794b0c272f738f6d13d66febc72a98b86d57c10324870a07447069c078963c44865afa2353a2efb5b080ad6aeda68b1e3e276cc90325187739d9057d9f2ade5e5b8f83c76cad4ac61cc53e605d8a4e4c2462b0235303df1ef3b3db2570d8254c383900c1cf62b5586789ca53b20834cf3a779d2afe7603ad4b3dbadb7779ffa6913057adfd93dca5aa9e389a419b722000924d1c166c7403d555ad4a08ac0825f1cfb67e16644e39e6c4211f543b4261880883558b8270500329a6e2cca9e6dbd7f899dfc7314d8153a4a006091e6cfc83b5b621f818d9aee8034271e3b1c7f7d2f2e4a1b87863a0f3691f802bc37c90537a3c0a7afb948937f803f427128d44cf6a23b818dca68a8357994aa8d43bd2d0b33b0b25df70047f26e903dc35f9e53b62e2590db609587f83b56fdb6a2a0e441cab37c66831b5aacdb00100581f030848791b137490c77784263c0b89e2c1146410bbf7bc236e8bb31d41c5d0581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f03ecb1e75d0ae35b3a5de3a1142e9ee1825091a84e34cf857494822d0276405501000000000000000000000000000000000000000000581e02d8e2e4d16bc8c99ae71f7a5325cdd4eb0061f9e73012d9e6cdd06edf485820c0114ceac074b04da9ce77d4ac87228fc4a07f299f9824a2495ddf6bc3e21af000581e02155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d28466650cf33010002198040035fd7f723b5ff8403e30c6bf6e25cace7b78ade27923e448b9b670061f05aabaa00581f038b2e6604c4aebc5ce80b7de02e2f9a95da6c952008ebebd10ee9116fcea0581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc9032a09bd8bf74e7c925a8767145e1e3e8fd88227ae640dbb64461071d5e08673fc038aeb52079e2ff095af07dc5cc466690729600f737cc211638a156cf6a06e26ec03ede3a3cfe19994f92bcf4fcaa93cb9c599fdbd8dce4da1e592f3823fa5560c61034781007e27dfff406ebac37eb7f1dadcb8c858536bc0a0ec4931acd71441aa2703cf9e99d205f60115057001920b4e0b96cff6d4a7c96195847046b2fab39c5c7d021979b6036f1ca2c64dabc956c42d5e62c96b1cf3f5e69f0767c23ba229901f4933ed084c0219ffff030ffb59425e18c34092af606d66ecfd6326838d8aa437254dd1b6b3af4bebf45703631ee1b550f7cb83c26aac3f5ed086cc6ddab4da6ff52c6dde1589d4738ff2e803d7d2e28155e392c938e91ce9e82282741a3c3b42e76b1e8bf9c5c5444a8a109703850340de38a892d74bf1b5f5c39618c72e567fde6824248641e226a401faf7cc0219ffff03414d0f10d39855bf171f953852b7e6d05577deba508bcb4a984725c2fd62c3880380a5a1c6974b56ee8f0fd0e91171cc8e84a6f51aa37d37286b28f09cc6d6d3a903ed2df83cc3785471216a66a5dd93a9ef323df7ed9f777e0d203e59cb992373a7031cbd563ccdac93692630067f7ba1b04147c4e67e2f1f67ae3252f989765dee8f0367d0ca8dbd40c5b42d0780e3a896d175bbc51de6bea3722da01e08769d4cac890353fa0b80a73b410897313f4d4d6e21bb310c65e5b395adfd5372d757fc19903f038e2d10b5047b8ce7abffe5f6a061ad8f45403bd4b393797acc9a25a055e04fee0324710995de6465daf4f9fd947bc949dda60c5318e9aa3b2f2e71dbfb38c3e162034b498b7d3caef9de43b98670b5c83cf777170c0376523a5067c622b88b5a3a9203b76267b1f93c9cf62e138626e9caad271d33dcb7c6789795c945d62d1b41f51a030b4d356533fc78770f580235b99953daf58e229e909c1159456f41df773fa78d0354a58f6144fab542c42b8713ec45ede1e5714831e92a6f8dc400e2cbca52401b03070de6a7db4709e2611bc8eb25d408e630ae8aca6d9da7226d84006163649cb003bae7286c40b6cd3f3020a96a861338d4f352fc3d04ca8b73d18b2f197971c16e037967b7b3ff64f6d95081001f5efdb7946cb2113b2619742478d6e652fa1648b3033d2ace21b4f9474f0e6f7245885742f9fe73c86e52b1d478dde51998a62c8a9d031b355bd80a95b70ea85e38a531bf7d246b487bc54bc0462e4da9dc29e191858303cb4c7a31c4fe6e9b5d7a9d1bb7adbb98ca9762fc9b3b6670d9d351c1a5d4dda803acc1a679afa2366d60f5a9d400eb34197f07acb7051ed00149648c3d810b83b203577a29f330e199bb42f4733dd37ab69d90ad755556698f6d7ec05d592fb8873c03ae6191d5ae147b2337af0ca7ff20f1e34131f1c9097db7d062c0af60e1fb719b030191f6ee9bb3b674878902886b647f863fc5a3190670b4abdeec2caef9e12419036c00abfa8dfb49205de53b01a2de52731f1e2582a457844950b178aa7f04492803d3b075aeed5916cdd9d59cb6a513bb43499c5b9f65921d0ec7d6766cb14d7ff603c95dc37370b6227b8530a02c22a09743920c4f8364cdba47a09986608cb46673031261e2b1617012733c12b38d0361d86b5d660344043513ba1e2dc714ab69bd1303c8256c2c21d82ffbdc9e993ff16e9ed2795651a98aff1bfe185f9cc9ba3c959503e6d085bdb239e25e4d17649294cb282e49a3b2bc19e6251ae06e77ffa62f08f800581f03cecff204f00bd7bb08f8ac585d4178ba523010bdf3b316ce9844ea7998005820ec5b28f827cbbdd4b2d6efc5a2181611082cd3853aad072c8f44896e9be421ec00581f03bb7be983b3ffba91ef7557d6c415e371358255a35a80835a60cadc613b4049c8000000006685727f03b88176bab18f2ce236ab1e8ad40efbd7dc0c0d05dc17fdb3ed308786fa09e5e300581f03280960fc150690a55aa95dc0b01a3bb04e1295647602ce2f251fe209e5905501000000000000000000000000000000000000000000581f032da93a8722f00629a464e1bf28bd102d128b5a22306c0c16559c8e52b7e0582043bd41f1b52cccbc4dda76c0614bb8754ee0b93b1cfd6a554688eaebd4e780c200581f03bd8180bb667f079cb2df4f33f9cd160ec909986ef43137ded3f53fee65b05468d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f037768b4e64c42eaf76e6fed2b90fe7cd1908f4baecbe60cac3be61ddfad205501000000000000000000000000000000000000000000581f03eb6bd93f2c22122f89ae478476894e3398ace136e1935ad19f3fc04b02a05820901a976819f535b963a98a485a3857ee684e79c6a19810f869264980efb9b225031dfec48409e0a0dc870b8ece91349a21140a9ce2f2c3ea04cba4962a567c6ccf00581f03d1c288058c0b4a162c262487a490bca633729b147ca66b96d3ca7e0a67d058207e3d78d13b524dc78c619e600d5dcd82a437bf0675d9c2c9d4620d21cb0982c200581f03050732985ce440d831a7f520e13289e33c325e4565066141e29e21030e80550100000000000000000000000000000000000000000219efac0326d8008d5303f0855601e8b917ba7c1d752c6098438e8a5252e2d2adb454de940353e10f9bd470680a5815622c0859289fca0002c6719191c9bcb0aaf234a9a2e30219ffff03d850b5ba13d7469e32d8f320a15dd4b5f07f0c85227169ad2e04e03f8442267f0344b06e92fedb8bb94a232187043d9259ae1724e02f9245d225198ed9f584da2703d5d1060390238911320e9ece6c289a19caad7474c1e7bfec6adb54783e19e2ea034e1b2010ea934f9cd9d6b77ec52ce043369f18eb800cea798aeb6294cf374a17037731a96105036d4dfd5be8df3c8221871bcbfd2056d2146c36ce6f8d5c5723050219ffff035fc132202b1125d31ff9d848f3732c586734b0277ce2b20d816947e490a4e2120309fd5cc5ba260839fbaea339fa3c35e28fd685f7c0d9658146b17705259c283603f8d6e3730680c55ad448f520eaf4da73e194a1e6613e4e12ea2caa318a4d2cc60219ffff032927efeec5361c363a24bbc26a003be30a06b2261f567f978cb60a5d6a51431e03ca5214197d9627894283cd3e355cb4f05d3259de982427b6d1c18304a84bb1860340a590ae0b2b4eac446ab5e43378b6b1f9348e6e0f113b4bcb923e5dbf09f594037148f980c5425130b93eb055a5a56526324b57f4141fd62e153e2ae54468ef9103285770e9f1be2568b4f8464d1dd7e49da39d2292366f94529e3e9266089f2fd6032bcde56fd92eeebd8eb38c92f58433562bc9a41b59ce0da232becbb27ed2d8fa0355247af39202abc26c2049d0aa9c008a09ab00cd9c84bcc00ea05cb0e93fb839035cdf3c9156d555e9d291ebe4d120300bbbccbe18ea3882e997b4db5a8783b96d03fb7a2623d42d01e4eaaf9fd797d4f402bc396bcfe2f474be4d7de909e1d83e76031daff11ae78d4e41150f3f43fd7574e3f677af320ee81c1a5fa926caa5d03af8034efd12fa1172fe4cbf92910f18d09c1d5e9ce7246447148305a1ae855551f25c03de114ca8403e840e022b119e5a97f8f28a7758166431088093b2d28a8425b0c703ef1d62d064a01932bb27e11a36282fd2b273cd676177ee0a92e1e4a2711b9bfe032604d3ac68f50f9ed750ee11022e2a203a8531799eecee4b953122805b2f155103275b7e8a81b2245e0f0d3fbabb95baffeef2e5588c08a8f94bdb4ce6f6efdb6003fdb94cd56a36f115a128dd975060ceffc65243a6cba66a30fab34779dbf0450803a77f353fd726bd5ccc9989fb55d223c8c6430bb7434932e18f4d44f063314102031ebcd90810ef80af6da42a2c86bfab398cbc6985fd084872903dd63f42e489b300581e02af3b352a225ba36146dbaa4e0ee4c825011dccf6daabc0b2411344ba54581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581e0251b960f0382cd63f4f62a8f6768603d74695f0f3e7d2157247c3043b1349c8000000006659366f00581e02ef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d545fc54737ecc1de49d58ae1195d4a296257f1e31b0219480800581f03c8652f10786acd46040e43ddead13d8a553a0d5d4609e434a31eba425960581d01000000020000000001311f7200000000665aff47000000000000489d0396f28dea841119157a168956b07aa4a90e42ccadf09473ca17918ec241bf646500581f037835a0d79f41d8dc9547c14d4dc869622166748907b58d25731ea04f96e05501000000000000000000000000000000000000000000581f03c00548009d2abbdc57dd8730a61c476bacfbd09ab48f7cdb44ddabfbb6a058208ba4c0565d7db1929f9165ace273e108f53e7a64ca976926193fac417a86398b00581f030549a88b9a375accfaff3007832d24ce7f179d4e414a37956223d8be9800582055494160943eff8b25ac52afceb2256d68e4791bbe427a126dd7c9f66ae60a6900581f033dc40a830f47334df569560dad34af61d4ae75893b6a3c46ac40a8b2278058201331dae0a4e869f71b320483190d490c3744e1e6f6b0e70e64195b155e5926fb036c5bb2016d4f5b08aaa5a0763528226c8d4633c69a76025f6d4a620daa82ecee00581f03de2bf9c4280af448b5be1832dfaa6cbbeb196816e08f295f69f5d4f55df0550100000000000000000000000000000000000000000219e2e503d9b01df39c000e17246eb43b164bcb70ece3cb8c94b85253e0c554fff3e01ed80305b21042e16720bd34be8139e71299c5757c89bad97cb3773ea1145218456533039d71d3f09f84e8638bc46f77327b0e3378f213a545deeaec96047f7622f3c7ba037cc4bbe84cfe106d405f84a2eb2c62759f96e3accc938ce9c1231624cf408744038b844105f934f442531d73ac89adb34335ef12afea2c23b0ae02bd274dc936f40348ff2b2c19c591d799c4ca6c9cf8a96cc7fa85939540aa6d73dc5ec8f90f718c03ffa43bbff825c7727d922593e4603f6a58003b49587fb0b0402fe3bd9b1e08e803aa0e7b58317623c1fcc7492fb3ec3fcf17c5c7139f223efa4efde96c86475f95038b6650ca21feb9c9aeb2566f7ef9b03dc0aeebda8456ab03997962ce7b2f3c530326abe9c01dcc8d110b9e0671dfea7eda249aa52a84d00391685838b8b7f524240333323cdd95c566d8c6480c64d2775a6d1959859aff6ed19c2c3e67c4e8b42fbc03a0a82474a14a8b732dd0e7aecdadd76040c1fa565e61693d1537647f1386b7ec03d1ba9ec98d2cd3736f1fbbac0dd2779410502f716fb0c6528b5faf88aa4143890219ffff034dc8775054cf0d59dfb7fa1a9ec7b597022a6f3327662f29051210a55fe1491b0328840e06571ba8f924f4774d2f5efe41e24eaec1a0d7c094e3ad1be59bd1fb61032229d557b9ebc8abf373f135755c7dd2c4bb7588b0bc09c518dd82b5eaf84084039502df3ff9fb28b2d743b98707ad3af5c0ff8a98b777bd4014206c227f2012410219ffff038c9a69915aa3e462b05fa334b7a2202e529935626cf40ffed3854aa5745d6f64032cf84ee5e6963a8a732003bafa849b6cc74c899ab20e12f94115fc0334a87fc40305f3182d381d23612b0ca5b43a914bce0a8b0ca3b32147b0e4475515805e68b403ee0a8560cd73fa735323211b8641132bf843ee8f87b872dae434f8891af8ac0603a951d8017a5e1fc43f30048de1b9e6e8236aab7cd64e35f781f87b987683505a03d3260c087405edc0eeaf853557fa8f459542e55d9a068919d3175af249774de90303cc818a8ba68ecb74ad5cc8b204eaedfa4a5b0f52cc95ecb8e6cfebc7fca89f032baa5139eeeb5b4da777917c4bb7d41638b479d15a4a612345d35c4a360bdfa303332541aba0902c4f7ff9d12d350b85e7c1bf821779ab08926978d7ea431fbd68036751093defa226f193d43a1401f795e45a1071287736d11b107194c155e0963c0219ffff03689ce3819e9c39ad551728c349b144e96f1fc0328963fddb788f35add27dde5c03373f6900285d6215e2187447301f72a360ebb9f18d1102887bc6cd0216dcb1f303ee57c3bff10b64084aefb4602e8dfce4b1f2cc6592b8204f2adebc643d8e49e3038e61bfb87f9050c770ae3e44a65dd3e72b85663864b2db327b111d3197b3f38d03ee9c17eea69add0af60661d73bc127e7baf0bc9c41d99f29969fa7645b1e870d039122c0f88482267f9faacb74ad9b3e040e3eab87a4d563a9768877d1843dfda103ead2888b2162ccf4160f9644bd4913220023862cb87e2a614cff8ddcd5dd9176035c21954b704132f793035603424561fb7f694c6554c53d33ed74d6ef7073053e034e4aa7b168a518bb0a6f60469a26ae991858251f11adff7e8263d1d276af6f7f03fef046e9fefeaa7b92d48019cc65d18b4db05550c749e0e7e44d495ea77335cf035eef37d036e61ca932a87e9b876567b0f547e52c4d99310dc75e03296a1c9bf903b5aada5bcb58a0391c541740576cf961c90fd0eccbd7e3638f913768f749fd72036520954685597464722dcfcae2a95bd34c1eb238bea719989db48301f8ef6322031baab5a480bf7a28602d6bd768aa6f4b106f3992da156c6271846abecfcd3eed033e42b3934930c1b8f89197f03cff6f6f1a0a17af499ef9b7f481d3a5179eeed803f3083e6199c604336d40e23da29a5541a26d03910940f60e380fc7e55e1013bf03fe28ed254317e0854d8f7b631eabe7eff9664095c30b87c756312346422d8ee6034684425d28d620849a184567e44e8b3467b73d3343c906925bc3cf1554dbc3310363a98480305fedec71fb59cadeab8fc431ece4adcba43f7b46841483858b78e40337831af661415c1bc951854a00d07761eca6bce834df25195c7f13431958fac4033b226992fc7b71f7e0b16f06194204832f41fdc1020dcba982e213fcb1bdcacf0323e8a30c27937ee982f863c258d6154723333fe7f3e0ff2b2a0bc0c000b774de033512b2e9ca75b37ed1ac76930347ab7f4a4f7718b0c784890ce0b0ccb920ab3603cbef51371030487b74524a2a800216ce3086130f79810e82feb1660a2c036bc600581f03bbbb4974b2ccc3889615e7b827025f054a154d5c805401286dbc00d58780581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f03a6aeab37da021b7f432478b3f0292550e7033e5cf4a20ec235de018ba69058207741136723d9302949d2e7662b1d3bf5db36910d7ef1af20426cda8201acd98900581f033a1952ad5e4905219bb8ead4d6187c156e0f7f33fb24402eb379ef48bc905501000000000000000000000000000000000000000000581f03ebfc87b15ee719d76468229f7b68e24028d64b4894e0e8900281a7d484005468d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f03bea0052995ae9ef211873f730b0aa19692c2ad980cb54894a547f4b916e0582060856fa3e347d1a41e18052313a477a73e55be944b523c0d31a015e78d188df90331672f05654c163778956c7b77c0279d66c4551997365c2b87ee1680df00f7f700581f03ae77f6fc727159d5453fd2f47a97fcc72d89ff7fa579f820667434a753a0581d01000000020000000001344fc90000000066817f07000000000001c7bf00581e029d5fb1742c4ffa0f275aa335291954b33cb77dab6b62a4d26d15a94eba58203f01eda2e1458e6ce564bb3af43b5ecaba8e586b672b5a6bce1e5d346529ea7000581e029bb1a6565744bc612aea6a59bb907a583365ae1a4d811f07bfb77ed08e581d0100000002000000000131f5e40000000066651a13000000000000b4810219104000581f03534846b1165b86bd1a050cd06576ed5ab764b81c785a26f2c85ddb479fb0582083613e81ac0cddde8c545cc7c07ec8c73c05084953dd91a35c2bf0581beb342d021999f90383cf735b917fe889c237c8abcaccb0471ac91b9f832d94f2e86d1bd9a63a478303d20218662f48a17fff793d5b1f75be8b4403ee4240f2b0fc244d703d73de1dcb031a548ab409f70c80db67f61c15cf09b97469e257bf6ec6ad69ebaa7205cc606d03b80e639f7e5b73e80e388cf5ba60384f57c1d6b633af26f1c445ee40caaca1ad032d6bd56c0b3a779d51c48f96a93134efa3be2efafaad5bcf900474444e7d34d103104035d9d4fbf16fd3ae0960bccbae673ae19132d2c6dfd84718264b9f8cf40703a6eb3ebc3a5876709afa9a3e67194cfeeeab46ff9b9d43ed1b8de2ecb9be213303bc3a412d0c87eed63b3a01094ba449049fff777b7280e2d7ec06ae599ea1fcf5039dee36352c60418c465e7e0d5f0b8b5660006069946bde614ce9225e75cfed4b0379c82ff3ad8b4994ead688811fd422a763d742492921e477030db079007c26600219ffff03ff5b0ff48a33dbf3b6c942d83ecff8402e1b5bcf1f65ab7b610205c53a68241c03a88696d4dd52558ad15a5ba8010049873cefb2581eba69467cfe9e15cdf327e2032a47e8b59d28465b6aea05e48784a4a52f6dbfd2cfe15fef5bc31ef632f0e7d30324aaeb698e1a3facb8a14c16dcddd1688d6b982ab8035487cd7a6affa0ff3afb03a19bd215865a014a582b5db4496edf0e41be68a5fbdaffd7ca887201f6e99680034c831da50a6160e38dce2239d25e5df5f578d6dcd477f7d1e2764a394003944e0219ffff03d2475f332bc4b1996f246ca737b06a8745892255c92a1df3d0a3d290deea8610031984e321532d659679d2f4a8b237d87dc0c1619a1093b5103dddd1401677d3b10397bad34f26999bb8bb913e9fd2e8cba5e0e67bd8d9af958332a7c894eec3986d030977bd46eddf198b8d900b430a1732b2e3412cd7e32734b2cc5a9a01c0fc3bcc031f55c99c6db39711de159a841c7f39471aa4c5199ac814605bd633edf35dedf203be962ea7667689dce9eb9ca1e92e07c795462db5a30ebc05d82e79bf3b650cb90219ffff0386bb58ce004776c0f0aaa535002640c3f3b5c6b1244168e559337b032522e8af032af890a11b78f49964d6bb7d8122225dff6148a1666b86671addeaf90dd48ab903c9b380a5e0c15065fc2f7aa28d79ba7b5af889d5c7ece6374dfb5c241603e126034e307535d9eb7c4a46ff8ca5e29efee2c883c96635367fe20dae6076c4d638f4032c0cd5aa69d8f2c4a1218065884d779943441b0b770e5d1e60d96fb85b2225a603fd01c4111f8cc06cb2f3812ea29658f8bc50dead9f63da37bcf22631b838ac21034521f7cc24aa02a1a80cb862419fff45237c33d2a616b4908bd7193f81ec9017032b6213fd88fd089f8aac645490bdf1ae44b54fa05531d7c3ce72b419653d0a7c03f37a33d0eb26eeb4e81644cadbfc093e8b9ff5b1182d4f18c036ee8bf69fb123030352d51343664a8555362b58ec8b2509b93561f82aa3f4fd2497de63cc80c7730365972bfb396affeee6e76a86539f19b94e537b8b6d08446364edcc65250c458603699485a03a48a745dab469c991b26dc34bb4e310937ea8ae8e39c05762bfbac00390c42491fd23ea4ad2f4a35d18d4801448570dc5ef38a565f49ea23eae70d147031973663ab696f34144d02686f77a89d60b2acf7e89266fba8b447222a88fb3cc034cc42d7919b09f92ec33293f205269d84f47e1e09a7dcde40b850a414764d82a035285f90b29bc5f30e344fc1c866bb6552fb578e4614bb5c9b576b4b1035f6892035cb94eb52297061e96e29774f81d34582eca48daa8a04e401c127961ebbcc82c03a6f7abbd48283a086a0c67b57d71c3681c84c468d0e6ce1a4a5b5062d943e8d6037c8a9ff9a822858340093f0b24faf5b20adeebe10b17d1b1e6a89b2f49bbfeb10329b404c9e0e3af68a5a9d1cd4b745af15fb5882dda2c24613c451e60b3623b2303ea8b3e20506624ab8f5529aaca3324e26c6e1592451a97d3a4a6b8711f7a84f30303090f949c3e49bfaf04a871d8a3c585d0a9bfbc985d021df954ae36387b07f200581f0329964abf22d67e9f9d44c33f7c0e6c8a7df4cd02769bb3ed10e67bf13fe0581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f037860569b3467eaca844ee3852cd8a35615a58ef14f0ec1b0ecb78243c0205501000000000000000000000000000000000000000000581f03c45f8693d50fbea50bf661211980e21fa5d620c635a037cb8dca4a0ce9a05501000000000000000000000000000000000000000000581f03af1c123cac8b4afba169d0eaeb66ad8c56f26adf3aa85886aaaa5c699ec0581d0100000002000000000130c20f00000000665696b7000000000000168003aa71e848a346a2a4427d0493e0eb04ac43fdd2bc58f9212f9257be533158f5dc00581f0339b3fb861e772e8777cb136fb747e93f0f054c2cf89a8157e519a82b6ef049c800000000666abdbb00581f038f830682601d0d21e4be3edfc9d368b9a3a328d851facd101780d5de01f05820332ebb562aba698cd368c97a6f578140a07e8b1d6ba5fd32d2d274e6b87c341e00581f03f2d7d630e719ef19bbb87edb811e2f78b07d00eea3203cbc7b4b03396610582031da0e8e7994ec2ccc002d78b6fb30ce77b6abce2439e0664f5706689f374d3a00581f03c92bf11d66ede645df986b12462c42daa4e7bf2b7551c51a9fde0db601b05468d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f03cfeb673522a60ae8a5360e896ec113c6cfcbb74acc03ee7ed9a91aaf06a0581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc9021976cb03fb437bec973a114e9f50d09a04ba3df1456ef362b72da462f149eaad3d3c2d1c039a3f5519fd4765fa9081646e5a6bbb126e7a3120a999fd226bb159e1bccf674e03adfbbda1cd10a25494ee4c4113245b530c5ccfb9297f67edad84d6f6060bde8803f6932691e765a69796ed53fa332a8082d5387a7dd633298c5fcc129bbc8e8b1b03ad677388cb6c637ea63158420685a04a18f34abbfe0305bfbef43c139dea59580219ffff03a14791b37b4f703ae189d0dde60c27afc9a84df3e59bcdf9336ac09d4d0c093403d105a0ea089519eaf5886effff91e322c655908f79e0a35eb8bc7013106f995703aa48ad97efbb67750b6fe890f2ef340367d074146213711b8a6709659a07b06b030eb3893c1f6360b50e9903668236f61f128ee526c15f920e985a057b6f45961d03ca593bcaa6e27196480cd356199a090929b6231fbd38ded604f94dea4a33bed503a57bd5992f164ee75b27399870ad94058095e0c06264278c618a7dac72c44dd803e0926f8684aca66ff14fdab1d92983c948dfdaf8fdb1c81f1ac84824e2d3ed610399d19c0e9b7b4b687119fec9d9747e6a7bf4989f54a08868432cdbe8742bf61f0219ffff03c4d9887060577d71e3dbd25abecc6cc340eedc21dcd6b9b640489d570d416dec03649cb935b3f139286cf853092efbd3cf03710db1c1cf65c65fbf0da000508599031f2548ea78197aa33106be9bca94baa04631d4ad7cbad4d80330342df2d83fb403a05545071f2a9338a52324381d1b18577560140e59d8d799e9c130ea03cb782603480df4dd405a41afff3ff744b922b1943c9eb36b429195b358f8ba7800f2e33203bc5e9ae7e9b9206a2f87bd26b16e6b70409f5c878b2165cc25b26c847b75e30b03fee0bb8b1e4b2517c8f2cd6429a0890ba4f34e7029cac794476b06a9ca8e127a036b80add2b1d933d64187831fc04faa449e1105a9f14f06beef60e54726286078032f2bc42e420806b0a04a937ba80c1a78b2ba7f213cb65b4955518770e0750fe6036de9cec95bd44d6b47cd8b2bb751716b233f83d31d65c8ac0e02efd2454de0ae0219ffff0319ed35fbb31a9c6d722edebf161c8d09d3c48bd683da5dea14765ced54fe188f039a94210edde8f757e3cf46c6351e780119a4abc07d56b7f87d0bbeca6de3d316035d7be16f653d3ae578e19382ad5746e6f03e085cc56fbd7c57a880d43f6eeaf703c5633ebc4c9f97f93957579a6645d9b012172879e530f1a27d1ebc0a70c9d523036a75237ae2ad9abbac776b20268d24923ba6c917f6ebd333d15dff5fb8a14b5d0399d5be30c087fe72d57bea59d87dfda827d04131e9e1df9255a2c0550c5c474e0310d6a577cf04f9102449156083689ac023ed048a3763b2365819fe6e982785b2039a11a235e6788a07d9192dd2ce0c45eaa48ef50ef49873d9b2e6cc799e2cff0c03470aa271e00f27bb813d0e95c4a91893d3227a1f82d02fab08df6f4ac445c4cc0368d903376fa39ee01ac3c71664d17af28925712a0997afc0ff8faeaad287bfc90372cf51eb348fc86414fe1d54423be779f79d601086aa6b0ca74ef80c66a1b5da0326e5ed8fa722822a85555ac603d7d9656fd391cfc567d4dcbf55a7ed6c595d6403e4349030b26d4cc9c0ab00a33d6938641c62a1cc00444a2eb026b56612c923fd03f9ace41823513c0df9e0ee534227b882654abe79770e071f226261d1452bac34039106dbc94ace78ba54e51bac52a58030af59acc9712fb406c2f239ec5742bf150336f5fe0f5cbffa46274c1a817ec305d41a7271474b1774c4e28c1bfcc0ad13f303764d9303cc0e2d852f059dc6549127a7835edf827dc705b475f5759808efc74803fccc5563f23cf1681d4c076b822a6de54ee053e56e42dad8c8b1ae9ac497739703e17acdaeb4647307b80bf4f539929a05495b362edf7e3fa628cfdbc66264d88d0368bca252d10c6e5df4d311a46d419ba61c7f60ab072e73feb478192c3b56fe2c03101af7e369522745c77b520b642b3cb7fcbd235d6155c20bc3f1f5c5883aeb10034796ce166e01b25b34c43117618c6cddf91ef6af25f3df2994a4b80a3746a4d103c69a9aee5dc8507d5c98525949ae732e638a9fcd3e9c16cecf74c06e152f652e037e8b0deb0f024155e5c8a356b7091e71867f52fe02c36400142f9f525d01ee4d0323501c5d3b5a9ddb6d1b5feec579f53fe1a1134071537b7169271914424e060703619129fbfe931e68091e8a75f887be57f268b82b40b705563c729b1911e8add903259c0f702e9d74131fab9e435feac33a37d133cd78a3b75c60dc7d9c02de3532036d9b8613b697cc710a3a87e476591cdbd6278862465e06c19a140adc1e13e69603aeb1b27dd36056a6501638a3244849c16e221a190adf128c2155f1fb5e5d496200581f038bb3b6132a94276753a6b99d8ae640629dead1d46025d9ffe59c12dd783049c800000000666ff04700581f038426612a5462e1f792bd03d7a4048f481f06eab52a5926030ce8fcaf373058200b579749d44324bac36f53cfc48351ef0bdd5cab2e6fad01249fbf3aade7fe0b00581f03bdb90a8bab1db95bb5af531a8b9a592273646ef7acf7183f360175a57e60581d0100000002000000000134a5560000000066858767000000000001f47d033369e4c358f5346a64611ba79bd7b0b62dae88b973754c5cc94c19a18cfc14ed00581f0335f249c561061e4780bce30f7fc98b53b74be113d9cb939aa860ec0295805820572e96787b8976e6ea750c1484fb6bed195ba3d913b33d0f74da40f4c1b6bf7200581f03294fb4f6005a39b3df2a79092e71f9b711bd9e57522df83419e58151f3d0581d0100000002000000000130d5e600000000665786e7000000000000200a00581f03a4c8154c6a2aaf1403c907aac8173fead68eb5df23696730eb1b0de729805820a6c73acdd2244f451154ad32e772e7b00c094c28a6369c2ea8b301dde09800c600581f039d20a437bfbf89089ae321a3ba48227e3a1ddff08b410504d2305ab853d05820af08719147f53c8709c291420f99c380dcccfcae9c274c31e8606f562af6ef5600581f03ef831de2c92dfd6af825f1218837a6e255ac9816e0f707d136fe7f5a10a05468d30f47f19c07bccef4ac7fae2dc12fca3e0dc903c214fb7ac68eb87e89a38cbf902634084591d269aa5117d26ecc4b279ead913600581f0317b629c3f240182d30641affcf4b7ae2aa879053f9be38d08d694ffd320049c800000000667ae4b70219e6de03f412ceebcd0f1a4f8ba56afefa426bc02b28eb7c89f5754aed101f162300651e038c0881bd7154ca581d44b9905873968283d2968dc20ec4e7b96d96a8ee22147503a3a022b8b6c2cc8a7353a7be32b837c0ca281fac5b9a3db6f2f54982b67ac3cf03b3a178dfbdb35f7126fa087f0113b7a2960a3ea401a3e4d114087c3b15e0c33b03feb102c19ee27905e930a322fe5b7920566fc1afd8bec867d14c0abb4efcc16f03aef0df37910e41b329c8fd329e1671741277f7ed959eae6afc9d7a22599f04080219ffff035a7ccc22fe427d4e6033bc80ef08bb8487bdd1f6bd6a99110661b0553fe3c90c036cc5f977057cd358da397c36ded8988092bc79076dd6bb7d16914d4f29288fcd035ecf7be032d196f9d4303afcf98e38240751ce91ef1174eefc6a7a294d6177410219ffff036996ff83e4e5954012e01039664bce62d189b99ea9d713576f0099f96a8003a803081b3ba480e0553d4ad99a0244a24162ce5339005b14b9fbcb7ffb8ff9f9cdd1031d18f68635b2537b86bbf578d83a3e07f9b2eceed24e0267269c32de8338f90603985774e5e06f94cc9256fa1a0ea9add5dd1e9ffd32cc2ba64b917e30eb288a5e03f3c957a05e1c004e9deb390e1fd4386b9a9e94f1340397d0137adadf29c7acff03a98546e89579bf5a14f96759a9a0e0e1c6c3210c30807814f0fe9437b7ed25af0344e5b804293ff2934b96d27a35f7f903168ea5ad7441a0044245890bf0fbd1150219ffff03f10f6eae52ec358a98b3f35a282057fa7ba2920f88341e907bf4ca0d68d354a80347be4b94d9bcf91119c887665dfb8f738967b730aebb9287f5fa9f56866d262003c9b0909be5b67fb0187d70035f75ecb98c8357e2671008c26773c92e2e7c8872032ea689dc8e75c15131d06e419443461d7aaf8f9368558dae15d47e067736ed9203007ef3896d5c54910ff35f010ed133edd85efc4833c2b88cb807cbf3ce570e37034ee54810aac7ce0deeeed4428d15987474cb1c5aa98ff980942c8b36ddaab20b035bfe786b854f78630a716c31b7caadf7f598f0da3143810997abc40c06b3c670035ad11331b3da1e3e38cbb98b66772250a4ccb5cee4058369ca87e9819eeebee0031ad1d066b2aab06e43bf77a161955ccd29f4abb85a29e2f947ae8883528ff75403ac42977c97c86204fa97424ae196e80f748169780b2e81278d0150f2f6bd0024038eb1c9f67ab20804152241dd7b983319a0d293869c8a4b2d318403041415d52003a87a72589d5021d25220fe01eea288da7f206b4bc167025304699e028cbcee23030ae11ae8023dad50c9f768d2879cbadce624fd0ceb41d90ab256701ceb38a25e0370830df58e01f12bf981e10d1e5b94bf8f76250498d81ecfba8ddbf96629f5d403b136c6d4c05511239617e50d5a2d7aa4860b33d87d39c3a14fb71dd16d94bb25037762974bf543e395f24b6f30ff61c1e4d132a29250e92079c655a17789e3c2dd03c123293d0350ecc8714b8bd9d3e0596619b2a6eb9a8aa06abe5a1da3bfc0d80e00581f0315fc46c3b108fbc7a4daf0f9f310254c98c10974485d6eb9af3bebaa456058202570bb8477b9d88e0061b47063fd389f21f0f279ad4dbe95a5b1c09e9e15d57c00581f03bb5f8423094972f4cd792d96b0d731216ca246ed3bf666a6b5cc59715610581d0100000002000000000131e6d100000000666463f7000000000000b03500581f03d917d245e45c0a29503d6747f8452368fd6535474dce3e22ef6b2d61f9905468d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f0309f7e1b5517cc60712fb420f5844657d990b5c4a8ec4b472a726f8a7b07058209c6c48a9f4c7a9920d296724388a8ca9a1175daa3461ce86da50b3dbfdfb21b303a3c5236104d456cc8eae6e6e3ddfdf1e21ede669c264cb3e9c6206b3db3da3b90324687a26114ad3dfedc3c057c2fb308d6c0441297e699747806614b6d5b0ae5300581f0343f58ca64ef7129c4e331118e0bf774386bbc780bb1bf693d12d554e97305820bf331adcc62d2ad7afc0eb5e230f240ed8a921fad25de24c9b36413bc41d4b7d00581f03039da289ec22dd1a5cb5944732be72f06cf3cfdab540fe3cf512058c92a0582086dffb55a31cb8522aa1e6ee3b23ed74778f937544d1a0d8e16dec04feb506ea03b0b39a53de5cd1351d95e2dfbc86d85fdb4de34dee70020115ff0b6090d5553100581f03e537da66f117a899cfe58743aa604c8eeab8db7eb08bb96b48fa40c9e400581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc902196f71032c3618ad0eeeec5d9e615edc10b911a0b61b695534c45ef9b03122a24100b4f4032c4766ae399df6b12a40691bf96b43ce7d00a4a60932698fd143c43cb005f8fe03913e661808a206efa86b4c7ac4c27b195e08c22443bbb65a3b925c663e1c18160326691fe5689d8a37d7779046683579e87a1d4bd95337e313eef68a655b4ab7e703e084509b16f29a24e80d0a6d00328994519a3e9bdd7db2bad260ff0c464a4d7403a0e2b96dcea4e24ac76922b36472467502f26d2dd397184b5d2d92d499cc58dc0328145c73cd5b155dfc405d0a8dbc6770d2503bfecb77a4a2ed7e83967592f84403068d3635beb4c59592cf366f847921ff1904a82c6209b65ac8fee16cf58f90420351465c40a183fad0dd2ba954d536f5109dbb8fe7908f41f031dbced7fcaaa7de0219ffff035cb16ba486d5dcc307bac0f7a68293123f034d81ad09cac72f4f89dee36da31a038eedc77c6150f565d103ec5e41d8851b0ba3b2b201876309e06ad08fa6e49e0003e86a87f94a5679268418a676943e96355955045b1ccf1f72e23e2bd5b36403790326aae6cdb87992b5fa769b9d1be55e6c32cbea4beb67703cc4dbde656d1f442e03701bbea74b569e31b8af3438578a8e57f64da857dce7928e89f1a307d4d5c2d0036f4995cb3c6acc806259cbcef8146c8db3b4a0b52acde4446c2cceea41f32f7e039d3d707bc533b3af5d394b1b4743b865d3f9a473cd3f8bd8a0edea163e64259f03492f2dd2d3f9cc3b784e52d4424d7bc898db48dacbcf8bf3064a1e8f1b8f2d39033fa946e533e61ccb288be123ae41c965bf342fc38fba442e11795c1905e4b9ab0219ffff03a4429e35ca3059c25f718cdbe745e75924ab77eebb6caa938be4a3a42eb89f47031a077516b694c888f185bc4548c97d25b7c6b7c54d8c028662d0e02cff44168a03b629173fc210c22ef16ee84a3d257b4d2e5d7eec8ea79aa20ec8c3f67783a437030d77578cf9140068a87319bfde6441729bef3228dbe8e99d424b9bd241407e610355a262c970fe678c25e89fa958d449ade60bc2dd5865dd1a8b51f27f301504dd03b0bb39dd6aa4fd8482ab7370186cff9c1d1265cd8763cdbb63342fcb90613ced03b7ed5e8d91215c88113257fef1034780977cc75ee01afc1195b70031707ca2dd03ed3dcdac522fdd7557809f8992d51d57f4c218d2c5a6c83513c81b831693759703c52ed886c2b773accd476fd3e185779d00a142705c8e38db733f442f45cb717e036ed1dd53c317726a9d17ace13075927ded576f56a3b127769cc68c6a257fb40a0219ffff03fad325e8134b285fac60f1a8c43386b5499519d01826115505ae74eba8afee1f03f56180907c8e203be9e45fad903a802d560f8eb68ec2a6f074420ced5bfabdf30362e66a886d70abda215cfdca97c816a8c19a1268d922eb672f9c037c2b4e9fd203a6fa25aea634fe0903407dffe26f32c95d5b13ac080f600d53414cc885c30fba03b1486caee05a474e2723e7eb29aa6fdae72ab1ce2d79976282563e736915872403aa98429433e26b73f09b578b8cee66021b522072c703a8276a425fa5cc614b0d03051e390d4d78d45d35aeeb11880b4a2e1adecaa055052de3b96ad21a2e36e55303245b6563e39de31771c549e4848f336d580f056cc5764e62d8710cbe5c90f9b5033a75c38074681e82e4a87cf4531088261f5e2cb049f9ecb465bfec5a9aac7717035d1441712dfd4391318aacff02edb3fa3bd0202c3b3b6d5eaff032d53040a1dd037a6c520917db7b4c9e771f09fb2283dbdbfc6611fc606e6af87146912b88dde0030b053de4d79f9a89232e45df2fd05dada88d6e3fb9af8c31aaacee36d7a2e61d03537983c26505c7a6b364f83298e90e13b48de266bf8b4bc37771b3bc66d7268a03d97b5e6af3179956847406086b439ebc53a4dd89846d411e10b106c561c787f803111e2b567e26175c1e096f53b3e37e26bb9e80eda0b49fd4a21d2f93184ea7cf030869dd7340c730ce2426b5f06d0511e88541105de32ba85795c4e27696a0c9e503df0620bcb5a8e09855d03d2707884f5437e46ebe1f5cf1db6f55b1db76464f6c03dc46a3fce8a075b3eb430600decef22337cbbd48a80a7c0a07f3daa652f16ecd00581f0308b0c2569b7e3b658571d8be8a3f368e26823a8d8e3f06f7bd96eb17ccd0582056e32366d790a4e7abb2c43424431bff7d87d45fdd3cdcaaf6e7d3060a50dd7100581f03bfff377d4a711b780783654e68877a270053850caf687305e8d806b170005820a1d194e710d05908f821d65498ea95e49db123755520b77d4128bd5949daeae70362ccb0837c9ba9f4d566ae4ad180b9c309c5457d1e353a1765c758d6758d281400581f036b04f613765ed70c803734264eecc8dcae4766fa26043b9388001377c6e0581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc903f69a91ac62964be9f8e8442dd3f11a08b15cc7a4cc6a159b73cd105fd05c85a40142009a00581f038669490240682bbe5ac7210f9af8ca5e1249af946f62bee91a6d361c61d05501000000000000000000000000000000000000000000581f038bef57a8d1c8772a640ed2e09711e7c5d361147c24a039a6b3ff1419c1a05820ca166f1b6df8779c9da69da038bef34c61f8e7cc72266596d3ef71b3aefccfcc00581f033e0588b912411a45cb3cfee108779c620cf9d25bac417d87a99c82ef2e205820620cc723b3139ec215580e7e2a1c9a5b2cbde8d57be31f1766d1ae6af429997702194f8a03bbd1ded2b7121e6477e762def49914b6d955c9d116a542c1234360e6c969e25803717d793f05ce37c925e97ff9cd435b953323ee07244a0ad127807532c426776303797747527219e97d30d8110ebad618729bbe70897d2a0a757cf17139d29795d703be3d344535f5cc8366f944d96eb0158875502768d94adc1e03fc595bbc36eaed030149642666c913c388958413e833878a0bed45c2575d4f71962810864324c72e03cb2d29a1f1a028d47612c0eeda5fc425e714b0f73050855463e49ac8991806e103de8bb89bc7eee8cb3db0ac26c413260726f78f3b68911a770fbc71854c8f4564038cd1b978b961bf6bc55b681a3676245df9730687d87172f4690afa66f35f7b32037d5d0e8e45ac0df9747a4c581ab4cc853632b7580fb51b87d45abf160dc076b00341527c4d231448a29e69446db2ebeb4951f8b8417697f6fb0876a23e33450a6d0302d6ef71fd81dea4ddfb2e47fe8e6bac6b901938b29c5ba0adc772774076d1dc03e2b1f35bbe49fa7e9d7fe8c7f7acb86b1db65723e2b52820aaac66fe3b358daa03af8cc82121a1d140169bdb0c50aa088ee6aa7622bb4aa6d4623c232b499129fb03d1ada4bfecc776c715864db64ffb693fc3dc7ee7bc803f19cc617e277225c76f038dbd130f6664b6966b6f1fe2ac7fdde637c86797cb639cdf760b275cfb1ed8dd0219ffff03b9d3c324f53cc0067fe576feb2f8595517a2c4584e94058660e4e52b36603a230396c111d2f834b0ffc2d9364f428d25f80c587db433b8b614da51bca45af327c503330245965224fb86d11fc756713b207100705c808d4e75ced8c641494d528cbc0324e719cbae142a1be59c1a285688b39380658a5ed3436276acc0c3fb46042fff0396907187da9e756e0aa13c8e28b370ba83b27490bb782d46850f85c7f108ae19036b9c7d109bbb797f5041c2cd8d1cb74e66a143d5b521699dec66e3db2197c79a0219ffff03c1023c7bd6c8538bc0ab6d90bb13b32afb8d8f7bf7b2a551111db57dbba47a8d0394c93120175870512e89f483a83b29b9d7508ac141d17ad0ef5ad5ab4626e3b70385b1584f29c2bda6ca27dacd0de5f95fb4f0c3f7607554ad2c6754b7f13f5bf803911cc354ba8cffd846b22c3fd7d507826692cbc69d0ac9064772a359af0658590301bb7b0eb8368eb6c7ac9bf2e9e4f71b589bf13e8e9af96a58911786862eec18031f57762c88554791360766bfdbf4a952dde1053f2e67edcf0eab85d11604e27503fb059d5129a75e25385c9902e72ab7f8d1bf9fc1988579b7f582e46e89b4337603eef7cc1bf055df0b7f0d33fd145c7d765b3f1178f3741812866e8aa8000126960316bd63debb256b3ec3fee6369cb91bda444ebc0ccbf4473928fdca0518aa715d034d73c0943eb0a0dbe5a705beebd433c8e75dc77c94d018769b1f21bdbfb6fe1e03edbd0eee0c678bdc79d2c09c15f8865c66e6959a330416e7437cdceb4fb4d37e039b69c17c6b75dd09e94a62b633f13ac13499be69883208a4cf226ee1cc0e981703dea269e6e1dc0cd79b2b31b526e1e6ed393b8c15083cca49de0fd7779f1a6c9303ed26b10cf2e24e86aae315bbb011af513fcaed6da400f710c9d0db78f6a50a500354f9cb0463890baaf227beaa9a4763af624ad66b289558241528dbe777b79ad803e2577e0ace76b573265e7e7fdaf836655ae3035a80a7837b0ff9ee348adf75b003988be869281c0363d8fdaca44b7119486805bf4b02510ba1f8d950631a153d870375f04aa960f0e353a0e9a4281854e353d982ee2f27cdc1d88db40f0c526010910345f36ba53adab5e327fe279586617bb401e5e82e8163951090ae9aa8355f538e03992dfe4f22d6b52512e5c076ecd8250c86c71389516a73f39f8341d51b0b37fe0369ef79b768ba855a328c0a12effb08deb6c6c4ac2ae34e1f04ef602ae8b0fda603681e9b3ce45a39c5a317ab9ac0378512fce374afb10b786008b6566403972ed503712fc83e648047e9d8f5c973ee8422a2a35ebe8d4f49f302de1dccd6d840db0300581f0396cdea98c746ad3f7df47c50a64c647bb5319b1d3337da09d56231e61e2049c8000000006657be0700581e0204a950c47e78a3bf4387a18ee2c85ebeccc47e193c866135426fe9f1b058206ae3e1cbad0efb5d2b68e0f54c769d112b9e84aacfa18e6753c86305c0229aa000581e0211dc33e5e36ee303aa0d0d77e66f0c8f7fc0701cc97c2680213bfe57ae581d010000000200000000013384a1000000006677eb2f00000000000168b30219020800581f039b71a696ec15763f573c5ad1ffd664f4fd9ca31ea8f592caf9b686c2880058207bd4d023eaebcfcdce5cdee919a7190a84860d7814019a35d4cb7fa9d567f25200581f038e2c4f1f101759409b9e8647408a2e346a040d68c4f553298a491d44dcf05820ff0e79916b2e0a8540e5b027ff339960b1971a28246bd4656f4cbe6e8691375800581f038b1d480759a7369719881c89b8bcb41f05eb394f6ad7e8ed3b60b4aa5e2049c800000000667f6af300581f0303594e4d041d9a45664191bd6a861f3339f9572376681966f82b3e97d2b05468d30f47f19c07bccef4ac7fae2dc12fca3e0dc903159ef0099f56a1384a98180a7e69a2315d18f0ac9809b811ee08a06efb0ad34201410700581f03202eb324b4b26e5f559b987976727af722b0679982189b75851cbfb7e85049c80000000066648c8f03072ac74434977fc67d1aa27f998be7b995f9939f9f5f1e0211b5e5a50ec5238503887b779739e174f3152f8f6005b1c08871de4b4f5ce19b29457b84fbf28d672c00581f03da8efbc18758f8eed3fbf6500fab5b226132c130509e8982aed63174bcc0582059365dc54fa7bd3c4db9ac0e90b6b7c4dc9648a06b66bc4e2d6d64190948b29d03e493626f420d24c3dbf1409d72093b6199cd9e92a79a6d6189f345a7f8ea72e0021953ff034e6010f418ca6f3afa0e5525c17536a3dc93fa31d78cd7b114ddef5e13e01a33030237791fa986f1511ed65673380a1b94f5b68517b82bfbce340298e6d278b02d034d8ed488be718dc555bf2e65c7c83245aac5e174d636edaac2b9f88523402edc037ceaffe92cb5b1abf9161a42fa75b6996c3271a6ca8d4c4d802cc6b78b755cef030ab311ff00255b8e4cf68b0166376763e874388e474715c6bc193d58a7f2c33603a6a213b6e637c31f3f25e6204e6a553b2450d38e2e0eea269236751261f827ef03e83a9c6e21a126dca71381c2d188bae0a292aec0c9c4fe01908f9aa04af067a903f5dffd54eb62f45afff8acf54cbee3dbf6219d4a4476cf68d5d3dbe4750515fc0219ffff0219ffff03edc4442967e9652ad57fd647bb5317005b8580c5b53c215b972541368b06b49a03e2dffa6cf09e6f3a9c4dd89d6d2283dd61125d09298c9ee5a0e6e3e2661d838503c5036eeb51bea7ce5dd87e52d24fcd04f20b39f72d2aa978988246b8e696bc2e034e522f1de23b9fafb8e3f64d8f800e09467554102e5eb4774913ac7e5500790c0219ffff033bcd43e7c71fa3bcccb231c0d88c997a17f674e63375d0a10bd2f305690bd2e2033f790da8fd49c458fcbf825544bab3fb6f8c6fc0a0b00edd024f6a2e44d7d72f032088d2cf3a678aba7b16969c54e8e30859471e00cc422154a51b73a15eda19e603ff8948676b2b61687ea20c5832ffa5a8e507a3179183164cf60b810befeb299e0395256502428636a6ef95ba021b039d60c5b9c4ee889e5b565a5172eff65d37b9037329a598f26a9ae1510247f2e10a995948cec53ea87833c62291edc1f85090cd0391455bf931ba8fda8762f1241f39787414a3b47386871ffa9295eae5db5923aa03132e89182c19ed9825eb5990e0537a546d78d8456be9f78b5c9e0dd5e702afa2034714d69f150bf81e1fc54f2fe36001f17238669a360a3aa6bf466f9e7972848a031794b73c57b7a16dc1af291deb7ee8e8e0c71190f275dafe8968a9c3aedad98703416a8131d0a07e89b38277126a22dc65cacbad08b2f97e8833683bcc61dc65a90320613dd8518e56d49225fcde5a9ed59d2f69aeab6545d1a7c9f439fac59c525503ab4e0643a44e6224afdbd6006956830a0b5eb5fdab1c082119dae81bf5a9460b03b040b202a3689a8a5f205beb7a079d8d6dc50cd6512708ec07c744ce2527bc05039cae776db9d233b3c019e3a42c1922bb9bf846dc99ecb1373bf2cfb8d7d050c403adb85406976ecba590ded676fb6092944a409263f4883752623e330e158974aa0300f4c3dcb6420f41a966299db46454362377d50b49482caa50fcf9847c84ab1d0314d67ac5a6e2aee2facf17bbbef0ff17ad4dcc83eeb203576aa7891b431e941a03485f30672733fc040b1cc305485d71e6da514726ad137715be068ec1c542304d034857879a5c080ad5f98b754972110ee369d9437592c9c5d0f0bac3b1860e74a20365161b0a04daa03bd6c0bc6e833b0e168c4f17c4920c4bbd9eebe18b564291050318957eb594ad58653750a71b6dde8991781abf59a1785c289009a9722ae17c0d03d92f3d7642a2fe5fb51d865d321feca1b312e4ddb8595960ad8bd7dc124feba503222df976e2cb7dfa6da95df407987b802ddf9d4d53d16da3a4d9aa157f5f46d403165acc4c49a311dca000ae753dad7a64cac08adb9fb02e1775e767b2f3e18eca03ebc0940870a260731721c1c4c18bcbc4a151ca28d7966056f58d70299fd248f000581f0378a868f23bb61294e0004887fe35998dc870e87fb91e63095741cf82a900581d0d8d726b7177a8000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900581f0334424f0689e661b44fef3c8699351b98ca598bd22a5b97e11fad09fdd7505820b30c3ad10d7bc8db1ee892f2ffdf0231598b0ecf681daa4be49e20297c8dd3d50365d5d234032b5ef0e6e87577d892eca6b52f74dc2dea365cdd127dbfa5ff6b53032438417d8c33810fa2818592137f17954eb107b4566201544c3699bd4c32321f03d460ed5ec2a32bb64cd6375917ff9fddb50917745994b154a379391ab8776c9800581f03b658dd27fcef11cb75c53459d39a6c2d89f24d8491d87c5b83f1715431e0581d010000000200000000013416eb00000000667ed097000000000001abd700581f030ac3691c59ae82d5acb531c1ee6ef87d08d273e06f9133f3acf0216bba10581d0100000002000000000133ebd700000000667cc91300000000000197f303457932424e2562fc495fe4807754d82f8f8162611274962f6be78762c6bd33d9021910fd03fe4f9672de464d08932f88c8c76b7b90f38ef312d7bc7cb8292a6c231aed32a703c755f3cf2a1d7f7b90d4285e997dc47c05cca4acf71fc10477208549bf531ea5031f4fcb3742b9dd1bb4352be0372c38c74420abb5054f2e16d16ceec400fa80a5032d4f6d321e6c0334fea05dd281d5d0aefff6d847bdace1a15e56cb7878332eab037c0735979abe0fa49801020fd7714eaf9635a0991e492b0af9ed5165bd68dc760324f9e9daea1e9e59e7e154d3002e973b68115c25110fff0e1acc2fc8ed1177a50219ffff03e3462cd232fbb8a53021dafbb5a65059a6b8b6d6f5b9d70b14a69b8282a69c2403647beea84fb406a7edb5f5c772d498619b84bb997e0f57490a9d844e6df87d4b03a6ce131457046cd01fab2412f59c59171c710deaea353029371531ad269a304c0219ffff0387847c45ecdc24c51107c60a8e3ac34deb18a536059f71e7af66b5562ea1960e035072855dc61da7712c26e3c43b09bbc3765c9a4f5935785d136170cf0b8af51703eeee4ac0a17fcc6c097c7f3fd83d94ec9b4c7af504f84015ed4041c66d714aef03233158e77c0906a67160706c814d8809654ac1cd9481495adae0daedff3429af03228e206dac5fbc9e4b30679d7a7024982c683850c9f8383372536d37440d6b3a0358eea2ccba50adfd9368018ee538e6e6b072812eefcb26fad05d976874125b7c03fa016104e94b96f14c68acec5d71f192cd66e9d09c2fe949ede0a21405a5eaf5034f9d01f24568af04d328356bfcfa7858a57c157d1ff8299ad696dfcc085ce2b403ae95ebea3313f6a54caa75a3f0d8a2f36c237adbdc217da7512134676f64f58c0309ec4f46589710437090997a14fe950f4e546745f6d4e40ecf94cb3b3a6aa77f0219ffff03a6b5402f1594e81d053c99f24b6c74a97cea76fda3da21f1ce0b3b54fbddd7940339694d3f996b6c83bb4a3752d3fcc0af57108479ed161c21346359ad9eba3e830219ffff05581e03f98813b1f3d29e3399bf6aae02074c4716cd464676051b25889261c5a0070118aa033f39f4da03533e5d244d02c28f1f1de86e3f247f70fc532ce73d4a0664d19dca05581e03b712adba18a5b0457fd19926dcd8b6c8d9186d00143b4699808bfeab20040405581e03288eb7f45230cba77e4b442326af215ee41d839603d8decdaff1b566a00c0147ca989e8b02700003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031c8cdd192cdcc3c9fae4c567aae302983825036ddc14bad6b80cac3ee007011bffffffffffffffff03012ce924695a041ebc6a0a5dfec2bd8e366150efe5d6313523552eb2edd23d2203fefad8f5b164224ee8dba0e6100d683faae9b62d6237c8b617bdfff67656091003b9b6582a85b4acdf80567c76cc95d33dc91644b72565f07eb9baf56d7a4cbbca01410603d0ea554e80401917b178a713efda0267ab298793e4a287f12e0d53d90acc735105581e036cdf6ee9f4e5519cf8a7837785200db70c91e2daf692dc9ba7b7f2a490040105581e03675362d4e911b709e81fa29f17707ba978ccdc373086797181f83d49400c014745cb25387279500219f9ef03bf8fd0ecd8245d6c1a8f55f7dcfb89c59d0322b38d99fd4a193c50af359b53990339c7533b93b8d667a3abe31e92e8ed5131e31c3094bd5d486c5b5549bdd246b703ca08e69030d3fedeb8de96ebdd9048609d63d037000f677af24395ea7849e24003525f2258da3eabb135b029719d3f5b1227a89046016b20c582bfedf29c82fc760322bd3c6a6562cd39c0b3e7f4913a1420229026c7d7c9a55f922fe9bf45a0f8130320b245a2beea01cc85a06c376a45d2eed0617a827dd7ce77135026597defa06803606413c90a951473ce111022cab8cb072e00f6d1bd9c8e79d44202618c5322ba0219ffff03911963135fd2d8f354bb2af7e11d5bad91c790d768a5d6c6a00fab3be5c6b93a032b6b7aad3fcf2ad35a4806a4fe6ca1b7dc4a3ed81cb45ba8deb5222dda4f9a17030acc4c71efbed15ac0186a0900f082c6b2b568175cbcdbc0aec54534291ec62b03d1415560b5dd2d8df6217d76b2ded1c143d6ce4175dc897db6e6ba53e936a0ad03b35eed0042ce051e4ce391d95d7d3bfc72088d08ee59aeecb3e4178524791b4503225f55cf3ac257d091f4be43420f7b44a90c9baf3c7fda2010a36056667fb4f10219ffff0340d4df78e4bd974287bf8522f0b963f3bf38e3436025897c9169ecadcb530c6403348c7ae66d3499c081adabda6d95c42a908f0d154b578972e467426d91373a2803fc1ad5be75589f97856bc1f8c9620f62a4cd96c1d7f97ce75c2ee9a3e82febc903c525058fa5654e585872c55ea27b3d4d969307aa33889b8e2cdee71f54735e160387ba2eb3ef920b9f339a88cbdef8db12c01236ce193da4e16928861f1ddb7e3b035abbd1813577e19919650597c5cc3f258b560c6b835d3f01f28e647d43231a710329e65ff8d3cc79e7c7870dab87c4d550ba3c2ee3de0dcf52524fd44998f688460377bc45724ef22940c3b38e011cfec2daa7d4fc4d6a6df1d5c467b071a468c477037d2eb889d7cfef0fab378c77c17d53aa3e25e1186db77b46e837b2c77e24188c0219ffff030919a71896fbb866b2e9a81ad9c6f88e81d42516e0a3cbb347d86d33ec5773900219ffff0332c3ad3bffdd73d4f6ae51fd5f9493fcbdf17b0ffe00c89e222e4c630f4f00e803ae339080257adfb78096e6e9810b7182bd4ce183d6e6fdbd3f389c40bb809e8c03cc378682237ea567ae8ee534b83ed44d071441f038a6fa70e146b5d62f90702803ceb47eacb89b11f38c732858e29b33f83ba465e8505d34c57bed05f26272ab72034a3c87764d3b705a93a4e3acb8c590d8b9480dac2fb7cb9c77ba5e79c230dadf03b3339f146e91dd5c6d114bab3c6fef6560ddac2813a23b0126ff800465f748ce03216920f1492f7b0efbd78fafa9f4fbbda3bc4f3c10ef7b06a11fcc2161cca7ff0329fc5620bd1a1dd8d0ab44ab1e3f35faa7823c9d411e76ac3245d1ed03f922c203dea38e472ee2160e4c226cb78a3959ba7c4d7315503225aa33e1e8024681ae9003e7e8994d749fac9a812e060b90fe94d0aa1a2c34070d9f4a971c810b29cd978103d6dec56c5a3a66098a59b2e92807d20fe40c86b2072785020f88e316e450760803b8ebbae32cc9794f5ac73fc98d63ccca4012faca5d47f9ddad8e1a25aeac92040348bd0c78cfcd756667f1364218cece74449ed8f10ea6e9c11f620c11bea46860038af7e0237b31ebdf891bf5c38304e9fa2fe83ee2725e0bb575d78756ed30ed090341394b68ab0cc63a054b3bafb6a538910cbc484faa0dbda494e39aed30dca6b803db0e678f415032b8e8b80d3a74ed7615855139dd241da191b14026be169eb57603a257c0183f3a65158c110dc9a1c647fc0bfd7baaad992a932d4767c230e0ed000368a5dbe06957eee400d749fc3ca9856d8321e4e3bf053d268700e2537762960a034421d715dfe1c5e59c78d35282279042d2e78bdf3fd31c6bf3d68b783901e72003d70a31d19f57ebc2dc1883490d3035e973bcf87f83d632094dcd0159b2fdb88f03d73d4b506eaa8483f76e444bb2d6068cd1fb341da86c1da97b725befa22cfe3103fbebef102024eb53e26458d8593cbb57d6674b5934423391435a9154c010ef0903a40a9488a4387a504854d66b09b59a9c87d32664ff351d39306528344b8c9ef30351cccc49bbdf0acf6745ff0663e2553dde242d513f0afe2b56fc517058746ccb0383a1eb586c5ddcfe03a9a1a2e959939a0d5c88f9e4f746207a763bcba013c7a703fbb5a3fc3531ee97860cb7210fea6848acf15728b69dec5ac53b210d7d936b2403ca9999fec04dded5d27b31e397ef92fefdbaa70f02eb9f52726d18a51b217f7f038b689ac4fe280b5417e43e12fc6693e64d8b63b0835c8064ad5ef8dd047f67cb03ec2e4de94b8993fed0ccc81278a6d79a7a268ed690339fa5bc141769624903000320011ee76167c3b4b0754629eab464f48bd2b7b44554f95a287679438d29444103a44284c45b514983ee6305e0919ee012b4c56c5f177e5f3237e0912eeb9aa14205581e0354ca37af369f0f1182aeca9fcabfd35975eec707731a3986a2a81ec500040205581e03289211f3436203ac0ed8edc9803fc2bb0e70555401c73467b54ee2e820040103140583334ee351804d70e155e7b29819f4b43e0a7f1fb775760412c0834feb92030638bac1d77d7dfa8e25a53a936068fd2acd0fe487f0b30c01f59218992f6c58031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e031a2d861e23b61e643fa183126143b7c8d3821f9fe96524e839b7b8d81007011bffffffffffffffff03ffcd0baebf3c765795c2ad761436149e86fb11a8b5876548f95547ea4691a10f033b89c5446cbcd637cc2e43dc92d063dcfae494b56574838fd29045eeb0276a6b05581e03fe392001c81097c6f22459209b68e0c999949b2949c0451704147026c007011bffffffffffffffff03220c51fdd7e77f08b3980285a305232b4ac7f008706c66a7c0a502a5edda4ed705581e032273a9aa70fa90fab439f0f310929fad0f7356b9ce93e68b19285d8e200c0147129d7735c2a3c305581e03a259221d02aa4956eb0d35ace318ca24c0a33a64c1af96cf67cf245b6008480263df5aa469a19b0219e1ad0323ed0771b0a0310e9e6cb1a6bf7d93f995a96ffcb70da716ca3c44c189b47936032b1d09f18bed04e6933ca9b39cf9db25ab0baa8b39046f6f8b0308da418a1ff403a8660a37ce3a0426759430fdfa99ed49efe0eae9ce137945d65f264bc3f20a97030fb59ddd620cfc909f5ed305d3e8e49c4b0cb6302261da47a7459e1a3722e3e303ab9366b5c9fd78e370a2cad2ce0ce3255b78d66cfc078d69f4ab9184c3b47e6703dca347250585ae8d2ac5f2b378a6b9c88f8e89c10d88767b7eb534b2dce25020039b5681e36c198e09d24d38f6b416e97c0fa80a2cd8cf336f9fe806929c6a055003126d3255990aedd4b7b5f8b78a64d8f235839a272a33ce5db2dee79c50ba25d5032a488b46ab66c048271fe317348c41ec793b6a61da753b9669bc09f6b0ecfd24033ac04f162361b0d8467842f10d0e3a3411f18d914c60f91a14d18823cd2cf9e60374a33d0b72d86015f646f2605154f10e5fafb1f487ca5793e81f2188d934c24b03c8f1f430491f563e5aa73ec5fdbedb5594bde8883df6a5a65ef9a45d8c38d5ad037430163dd2947e380cd3b1ecda5221abe5f21e21c772c243f4c4042599ba6fb20349b4a1819dbc9190a765d124968f0af34d30a06779d407510369605436ef72c40219ffff0219ffff032b13252e7244378b0db047f36ac38471232bba2570a7de845d36d2d9fc8122f203ec01ee2a07b40bdce2b9dc1bd61fa130994f75b3a4d3ef9fc5ddef8dcecd79600219ffff03420a0e7481c4766e6edf3578f9054dc56596c116df794c6f89b201bfe2f3c8c003fed5e011542c322ebbb9835a23e764111a605a1209996fa309c56dd0fa05819703ef8008384c89bee1fed6be2d6b17582376b505b344f47d548e45a9c1608108b50307095dbad0b75f1d09b072cb4d9d3adc6853119fb14d35a604cc437c5847d040033e892412fad9f19592ad12a2d23e0dd8f8f4b72a9d95e91c251bb7b1825c097b037efda339324f8ac10a20f603d22733c5705a61fb4f6e0c852e635eb2969574f603bf046bc8f785506ca4526e1b29626297d229f510e98fc1046b252de115dcbe42039067850d0b85cd188d48d893019efc0699ecfcbc958f06b0c44eecc24e495c940390a1666548fe41a4750e6e69f772f4863ba430e2a2578e35d4cbb0237f726be603b4609752b1ecb9169b8b136a4e7724897e0c3841ae9b13d35b83e2db4c2a657f03101db345418cd7d4d704623a69bf8599c67b45e20e8e04feccfb28bfdc7542c703387f636d9c1dca3e35ba8d976b92bbc720ce4cf28bdb96c7641bad1710e89c45036884436d8ea9953cf49719cea1fa1def8f245680150ef0e6e425d5be91b1b902039d8e6ebbe2ed10b9183d05ac8be2839576c5f7bbe7ca1e2c72ad696f2650108c036012924f6826bafe919e7a23832c3040e4913566f2f981095c5c7ac4217bf8bb03d91ae747fe6f5828747eda7ba8f7b5be165d789f7e12555b5234d65474501d7703d8b47ae5c394c24e63f06d86ca4e9b5d191636c3945218d19de0b0fe30f82f9d03ca19604c233c9a921e488712b84fc0bfd0ec3d6178863621c50a86303261b6f50337ea0aeb3d291a97ae2b7852215b307053c5cf2601d18d17b04c2f43e01cd33b03003fbdf47dcb59880a3351796d61938ff617f4b1379ecc65f35739a79b36c6020397b8ed93a9e7805484dadfd1c5b7ad48e0a34c403e17b5ef5f8521188e5ac0e103291ded68bb5d124e99d63a93c10c368ab373a68a35d81bb712069f9c6b3c16a303b81c5c9218d6ceebabf4db547c1b255dc170a4e2180deeb07914799efc42b57803bfbda25abc105cdd3ee7bd248d89b4d78ec4556991d37e5e04ba857529d6e45d039b6c3e2494dd2d2203f80a8e7ae242032e843117d3687888d1659713b0ff1c120364b1fc54f6d88b8b40c5de7cf876ea722c924f3a899734f081204a881495eaf70383dc0fff453645ea63db726db190692eab218e03c353901e1caf3042471d3bc403ff0d1c1686f9757ed51bd782f1883fd948bfbf69e3bd7f3711d13332ee95743703a1d1ce5dd2099b5264e7b23b169d94d9a8ea2021eade5e68237db0b5267744bf05581e03af904a36d2a84dbb71e6d37a0c03053446ca957bc4a4fcf96e46a9ff400c0347013d8e81789b700387edd226275da58c174e4f5c7cecf78962bf7c6cf44aeb41d2e8214965ad289c0364412ad46385b8208d9708a282b2ff2d82e286e51b7b83dbfd67264a0272ed07039c8660493a51b088681934a434cd24b36024fa9d0a8a3902724c8c502e2c24da05581e0328d0cfe5e9c24b9a9c071974688e52adf96d4d78619dc39355ef3046e00c1901b948051b93cda623a97005581e03db6eab2d5a9d9c4299dcfc222bf281473dad6f4690c46a94918e5d98700c0146045b423f9c0005581e038e7ce7f16d7b73e51e08e32438b4ea2ffd27eae9cbe2a97c2fe2f595700c09472f9cfe69a1bf4205581e0355619d9104789a55f205f16d73f922f7e9bb4ebf43157a6712ee8471600c0446dc7c6d78aea80459143860806040523661000b57005b600080357fffffffff000000000000000000000000000000000000000000000000000000001681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020819052604090912054819073ffffffffffffffffffffffffffffffffffffffff16806100ae576040517fa9ad62f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3660008037600080366000845af43d6000803e8080156100cd573d6000f35b3d6000fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff8481169182179093556040517fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c939092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b83518110156103225760008482815181106101ac576101ac611129565b6020026020010151602001519050600060028111156101cd576101cd611158565b8160028111156101df576101df611158565b0361022d576102288583815181106101f9576101f9611129565b60200260200101516000015186848151811061021757610217611129565b602002602001015160400151610387565b610319565b600181600281111561024157610241611158565b0361028a5761022885838151811061025b5761025b611129565b60200260200101516000015186848151811061027957610279611129565b602002602001015160400151610627565b600281600281111561029e5761029e611158565b036102e7576102288583815181106102b8576102b8611129565b6020026020010151600001518684815181106102d6576102d6611129565b6020026020010151604001516108d0565b6040517fe548e6b500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060010161018f565b507f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb673838383604051610356939291906111f5565b60405180910390a16103688282610a0c565b505050565b73ffffffffffffffffffffffffffffffffffffffff161590565b80516000036103c2576040517f7bc5595000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff8316610430576040517fc68ec83a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610478576104788285610bad565b60005b835181101561062057600084828151811061049857610498611129565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff168015610527576040517fa023275d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905550506001918201910161047b565b5050505050565b8051600003610662576040517f7bc5595000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff83166106d0576040517fc68ec83a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152600182016020526040812054906bffffffffffffffffffffffff82169003610718576107188285610bad565b60005b835181101561062057600084828151811061073857610738611129565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529186905260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690871681036107cc576040517fa023275d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107d7858284610c23565b7fffffffff000000000000000000000000000000000000000000000000000000008216600081815260208781526040808320805473ffffffffffffffffffffffffffffffffffffffff908116740100000000000000000000000000000000000000006bffffffffffffffffffffffff8c16021782558c168085526001808c0185529285208054938401815585528385206008840401805463ffffffff60079095166004026101000a948502191660e08a901c94909402939093179092559390925287905281547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905550506001918201910161071b565b805160000361090b576040517f7bc5595000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c73ffffffffffffffffffffffffffffffffffffffff83161561097a576040517f79c9df2200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8251811015610a0657600083828151811061099a5761099a611129565b6020908102919091018101517fffffffff00000000000000000000000000000000000000000000000000000000811660009081529185905260409091205490915073ffffffffffffffffffffffffffffffffffffffff166109fc848284610c23565b505060010161097d565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8216610a6457805115610a60576040517f9811686000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b8051600003610a9f576040517f4220056600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82163014610ac557610ac5826110ec565b6000808373ffffffffffffffffffffffffffffffffffffffff1683604051610aed919061135d565b600060405180830381855af49150503d8060008114610b28576040519150601f19603f3d011682016040523d82523d6000602084013e610b2d565b606091505b509150915081610a0657805115610b7b57806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b729190611379565b60405180910390fd5b6040517fc53ebed500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bb6816110ec565b60028201805473ffffffffffffffffffffffffffffffffffffffff90921660008181526001948501602090815260408220860185905594840183559182529290200180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b73ffffffffffffffffffffffffffffffffffffffff8216610c70576040517fa9ad62f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff831603610cbf576040517fc3c5ec3700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081166000908152602084815260408083205473ffffffffffffffffffffffffffffffffffffffff86168452600180880190935290832054740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff169291610d4991611393565b9050808214610e905773ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260408120805483908110610d8b57610d8b611129565b6000918252602080832060088304015473ffffffffffffffffffffffffffffffffffffffff8916845260018a019091526040909220805460079092166004026101000a90920460e01b925082919085908110610de957610de9611129565b600091825260208083206008830401805463ffffffff60079094166004026101000a938402191660e09590951c929092029390931790557fffffffff0000000000000000000000000000000000000000000000000000000092909216825286905260409020805473ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000006bffffffffffffffffffffffff8516021790555b73ffffffffffffffffffffffffffffffffffffffff841660009081526001860160205260409020805480610ec657610ec66113d3565b6000828152602080822060087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193840401805463ffffffff600460078716026101000a0219169055919092557fffffffff000000000000000000000000000000000000000000000000000000008516825286905260408120819055819003610620576002850154600090610f5f90600190611393565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260018089016020526040909120015490915080821461104d576000876002018381548110610fab57610fab611129565b60009182526020909120015460028901805473ffffffffffffffffffffffffffffffffffffffff9092169250829184908110610fe957610fe9611129565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055929091168152600189810190925260409020018190555b86600201805480611060576110606113d3565b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff000000000000000000000000000000000000000016905590920190925573ffffffffffffffffffffffffffffffffffffffff88168252600189810190915260408220015550505050505050565b803b6000819003610a60576040517fe350060000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60005b838110156111a257818101518382015260200161118a565b50506000910152565b600081518084526111c3816020860160208601611187565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006060808301818452808751808352608092508286019150828160051b8701016020808b0160005b84811015611320577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808a8503018652815188850173ffffffffffffffffffffffffffffffffffffffff825116865284820151600381106112a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b868601526040918201519186018a905281519081905290840190600090898701905b8083101561130b5783517fffffffff000000000000000000000000000000000000000000000000000000001682529286019260019290920191908601906112c9565b5097850197955050509082019060010161121e565b505073ffffffffffffffffffffffffffffffffffffffff8a1690880152868103604088015261134f81896111ab565b9a9950505050505050505050565b6000825161136f818460208701611187565b9190910192915050565b60208152600061138c60208301846111ab565b9392505050565b818103818111156113cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122079ce9ceb1cd6ef062c451c557ad0c7eccd83176b8dcea1923408e68785f1a03764736f6c6343000811003303b01a362a06d2b2a7c3e065ff414670398e13ed64281dedcc0294f4caf095f52d037b489c32adcb0bb01ee88eccdab8ab0e666c7e2100d153d2b3a67cd09e752ba00326a82736d363ddb62ebecaed8141a984cc9b03ef061238199ecf6c9cca2a67b803bcbd720bf663a9fc70fba0b641d586f8f3463cd5cc71ea74b93156743cebf9a20334c59a56ecf15d8ea494cb85d553b9d76f90e53a3421509429af95af2f48f07703a08b5be03dbf5bcca787b81f19921f2647f92fa28e9774f41a868e1fe5ab768803312b46a10b3b87f0b913d78263c90979706ad632920fb83e4844748c272e09d403ef6b06190ee8543f532427872a3c962720dd26f30da17236011fd97410fed36203de2666a870fe6855c06e91861544cd6c82727b93efac55323e3a47880334f513032c3584a8abc850f04db51f651daa6343d4e4b838f9b7a6ee3349d92301901e2500582003c610d4fad45fe2ca0a755aa1c6e8e1b7c5aa564ed535b6b5adb26adfef6020550287c10910da7258e55da2c5d43739fb68b12e6a4b00582003126e03b749d2de02fe6135d5514a3d61ff7ad8116159867cd27affad811df04101036f6b871eaf7ee49020f96a6094b2bdb446d0bfbad42834f7df75f891c8c690ca021940900390fe7723e7d2677ac8b6fb2f16383bb078e217eb3095e811c5eafbea4f272db4036ba33193e3baba211ee18a0f82c9a2017aadd14d8afcd3c0bece4da3c7d0998b0314160bd7f5530e0e0d0378bf774f8a86d39346e8b4088cfbc01ae9c1c984172d03cef2ebc76ed891f6503950432f07cc1a399718a967587401284d21e86f66e4af038d92f52339a1b371671feff79f95fff216804b8e41436cd84f75e618bc8c176c03a9ab2b3183e2f83c614805dc6de578f7f818e602e721e0860e9ef3b936e6001c03a439cf38efd11ed90814cabb1a1ba135feda75bea1d2c9b1201964d89780db8d00582002e32224007ce93aac9e3fe4813f6d2c0bcb10317fb7d0d0c1008b9f029d2b6041010219ffff0350c08798f3c21b4b37071d3aa58ba761b0263e977d2b8e66d9f1dce6537621d003680bc477ab2dff1405bd1c7794d5d1b2921253800e5c1e2a7ddde676ba537a1e01410e03e74ef9246d90e68ce8ef78a92eb2242762e2aa947ba2a128559ae3e7b9992ada0326eb38601ab58106175d10a11b29400280c427ef1b5b3ca8a61968550a9ec130031fcc8d01ea41de0353daee19f1a7694c218240d858488985cb6b28a970cda85b03d578400f483554d6b748d8339a6c0d2beaac0506509cf71a2546104f9895bffd005820036baba8aea2c07ca0b223627aec523bc8bf3fd4c28fe8d2bf71d0092e65ba3043626e6203e12e7465e1ba421d48e25eb35ee97fc0d010a7d667c2303897e6e007439811a1005820033a46de4e7b5c8ad30ea06af13eb8d93f1519faf96e9606858b203720b2d1c04102005820034f45d465ca0e7355e60a6bb17bef0b0238a6533bc70aefa772401c132a84a0549a046925f592513a9ca9ed214112e373f797102300582003e5c1ed392fa29fe80de55ba70d2b80ceffb7ef50268a2f4753ffda2d701270550199c9fc46f92e8a1c0dec1b1747d010903e884be1031a98f5d0079eeb1c01366f0361f26d7cded679eaab1720185b4189a7df1d46cf00582003fc534f79d3a835e8ce76d18f5837678aa9e21963444b99c796b03dcf2fcad041110219d4c103e0c35f85c507fdb47b630779ed1e487487828b50c1b7b0fbd1f1f902dd7b184c03ce342cba2b2a61af73d4e8a10ccaf05e94a53a92cfe9234de90e91eb107402c70376c7890f83e9bfde5d3c921e5d20bc700734ceae369f38dc0ec5fe2243a442aa035bfd2a6a871a45e2bd04de54076b1077602512f523500456745866bf329f8a0803adfb2a827afc3bec8af0e655bf8f6f5b4dd5d5a4b7d3d8252d183c5590948c7c03db9dcbbe6a25fa4afecb11ce0744f5edc826e9594cb25c08214863785fd9d4d200582002231b6beefd65379bdb1e8d3c34f69de8b90c1e40d8c3189dcf9844f369b3a74108037b44bba07f58ba0548815a00b1a45fc39cf9ab4d822c86dcf0f93a6446ee009800582002b13f74293f8e4295d90a2d652d5885b5790f2814f1f4484335de274b8b19fd504630a0d88f0af374d5bc7be1878863a40219ffff03690f556396ef0d7f746796d8589e6c2feeff5e4de247b6a777c50b12c8994ea103b0fa274ab4619e7c0d535b4e791077c560aae604a553f561caf27374986862b103948760bdcff9cc02ee08ff99dd7335ccffd414dfcd6fd0aa9e3958dc4f626be703700021492a43e1ad8eb891cc5e74c4ca8caba94dca32c4435db5201f3aff21ec030189966195f262c4b3a4e2c66ea1c25e625e3f49748afe19db06ad9cb3047de90336f1eaca506a4faf49ab44ff7d0dbf25a64efe1da68261f401e90129231ddbb7034777d0e14922064ef73935da7f1bc706ae8b16ce359dc7313ab4356e200e0609035ac2f12946a7f475cfcd979b0f2becf4225dba3e2325ce01ff60055df7233853005820031d833359ae984676200351b1b60a15e170b831881b4a8fe6921562657fe320410100582003532d91886388c0a223bb365af1b70436477b9aeb086fe8f83a31306e1125104101005820032fb7997c8a081b3365b65f1b2645229db3eecfc1d21b73a367a54c398d29a05820c3a6a96b124f1ead2d2506a944e2b18c9afc19c7fcd8e49efbb2d381536db2660219038003dfd89b5962dd8858fe95e7e708edf869352445819207ddd99c747dab15d9afff014109032855361187cc18dc72ba01ea8962d47a0d4bd7a6d3f75e9eaf9ac0d1f81453f300582003cdd0862b025f6156b634620515acf717dcd580e1f370f5a6b503202facb650549f47f313acfd4bdc52f4373b493eae7d5ac5b76500582003b11633e02005fb71c405f6a490c0840c8b83c9204c8e4657d187e56ffb5940410100581f020a77001ab5c8129904456b2145a0eceb949e8bf044ec656b917be0592a3b410100581f025d613d61e8915f7c5e91e0610fa428b7612dc5a7034d4b37aaff0b9a7f9754f068cc770f32042ff4a8fd196045641234dfaa470219880000582003d02fc6d0c162f4d9d4aab3b76e460aae9181f835fc46295437a29b83aed90041010058200309bada6905468d0c26f94f86c7b4e1c45995808a4db13bb14e84e6c34742b054cb859ea579b28e02b87a1fde08d087ab9dbe5149005820030a40f6923447cfa69a4d6b7d7be908dc7b2dacb4bb4f6876483284cb97b16054cb9d0b8cfd8371143ba5a794c7218d4766c493e200582003090ecdc06e902a532b362d9660560f0088ac2c59b498e2bae296f11dc464c041010058200364a242b4d9e482133446190b56f91a8335bee50678f7eb9570a0954e18e3c054f7428ffcb2581a2804998efbb036a43255c8a8d30058200365c55b6ab534beba2f7c06c027ba0c1abe03f3d8cb73e6f51192600fdfc5b0410102194b5d03c0ec786059c8465d6b4dbaa95dccef52f0cbdec95a4de74ef9bca9e84484ee340355aa6266f17c491eee43e4010216735d756d98fa6ef15588c2a2b22e5493851a03fb0b502223415eb19d267609ce3739122ab23aa414710ae616e5ec4b8d4c92d403297da55a04d82feadacbb76613aea6257776ab95d871039e221f50acb6ebb1f50219ffff039d12ed3cbb0a8a07d3ece0354f7c5b6911240195843454c9bf2ad0ba1d7c19aa03c348dc95c9b184af28d0c738c47d8c7c63b102946c65edb0058cd770572388fa03f1040e77bdce79107ff29f4723fcab0209ce32e64735c531c659832b6d838b4d03a5694a315e81fa38bd8858b91b9992837cb8a31aa5668a91cb2a1cd46171abd1032e552b9e306ddaa62a6370a4fe90d2fa531c7eaa0414c803d7d2de2de7dd4521037e9d6734f518900064327d380d5422d7b55266a9167c08438d247cfd44cc201003f809279d6346039baf32e9b077b8e5fc5c94740f47e2e13be2e3b5f1bf57c3920351a16ec163d79f3eb33dfa30ddf7f43a7f7b07b7d2ed565f61b444c9c75446cc03abc4cc94d77852c4c0543985dca9d434db648acaaf3939e87012ca628b904f93034dad99620853ffad781571f12f911809b8f7f8ea4bb24288e77f95f13c8aa333034f159749970ae3e849399a90ffcdb256427cfa06eb9b2e8949e8ef8a6bde064200582003d0c208f7748a3f0c43f434b357fc781e1603aab9b73341c950cd6f8e6b324054d9e1ce17f2641f24ae83637ab66a2cca9c378b9f00582003dc9d3ca5e07426888f5466be2bbbc87f85f711ca1ba506795d0dabea641e3054cfa8f0aed0414a98f99f1ea29ddf23f6e1370c1300582003e1ab98d8053ba076e7d5f5e9e406aa9bc191e5e769ca13029be8073d1c7170410100582003218144619398c783bd00a9c02581deb1a5ce33b0736b274bfe4039a5ea02805401ffc9a77a0ed627adfca15e52ef6b2ccdffacc600582003648555e75b49a332f8f2b7db3c6085cc585a4d1b8b3ff9fdceb1427e9efa905476fb31fb4af56892a25e32cfc43de717950c927800582003b95ebb9268e93a704382ad1e43a836247e16a85b57dd962ff9d9bae91716c054b1d6bc439f5d3bfbd828da3d0848b0f3658c9dc6005820039018ee052bec9f474183dcb9049deaf3aeee8389aa489ea4a8695b8358b2d055026ef81a18e1e432c289dc0d1a670b78e8bbf9aa3502191ae1039d8571b0c06ef3bff2e01635702a2f42ffcc3411c4d44c6734ae40ec3b64d02803bcafe94284b3338543306bf9cb0bf335e3ce3149f7021ecf2487244f51e97a2f039a6ea0244db16f46cd8bed2c1bb2b39a9982a5440d0c618eb61e286d67c8e3bf035cf820b0bc0e6308e4ce56b660cb5125f86b310ef33ca0c73487a40ba62ef054039fb1ae1f8528a97abe0a0185c3448ab095e6e9cf9967aaf0f3d9fe15b13080be03e171a88052f7807367d8142006c1024f77bf5167e460568fbc8299ae5b66393f0350499a6f2e8044264b0ec78ec8f82b92765301c86ed5e86c8a9247edfe1a516f0395eb4f52823c42d51887d10a21bea9dd05b21d018833a5c201c0d0874f4d7aa503adafca07c1ce8969b33a6464066b1a56299de57b4dab53edf163387f0b25d8900219ffff032a1a789b4195a1da0019ecc4056250c50ceccd12da1515944d312ea20baaf8db037474e006f3820abe09520c7de095290f86cec8ef603fd5b468bd0bbc2494d0120309513d1e8e680fa9f6da5fab55ad3485a869a84a9a4af6491da92cd830fd5d87030a06583cc36271f94d680b908012559291017ea8e92d13749331593e3a13bd140219ffff05581e03a09eca415d8f6002d825c3098a1f7fa31c41d02ba3f3bbca0caa47d58007011914380219dabc03240051a084e3407bf1a956fa3769b1dbb9f2d796f3510d406e92081979b9a83103aa4b9a61d0ca641bad863d96017a5ef68bc9204df5008bce0735fa137c56f4a803d0d316a8adcd8987cf34e74629256926039b9305435fb472ae2dc515f98d7a0003171e28b0642bcb62dc009093678fa12be573dbfe24dddbc283039b85cd6ea97c03da3836d09ce06afdc0ec995cee566d5d22e5fadf050be8b15ce20b19c0d82b65035be0a3326ced842435c40a87985e751da1d712e94cf0f3b67e44752ae91d43f9030547202da781bfec1161a49c56cfb1b6db8d65f3b4e7e63ec7d8bdb78aa75f9203ebbccc9fcd4ced2452035ad14340aec69b276e8f1d56db2e50f93969f053300b03db25157854ee9a30ce0344b7cc0528b894fa33cca0935d755d7f1610e8ea4c64035f62c17fe3e0b8786529c0689e13b4df1b5588851c4bbccea401d3b36b6b002e03b5ce8f2519c47729dbc6e1cf356dccfad27cf63a11a2b0be3125d3fb6cc7feac0219ffff03e07e9e98a274e6a9d5e3b43b04dcaa1e01727e3e4b61308dd7e71749a1a7ca1d039a743a2c3c47318b18ca1a3203233409ebe73cbc03b9036b4d2509144f32812d038a41e12b3559912f1097bb591c7238a7eb9bb45f534b6fbfdcf45b4a4469d2f003c424687f3538b501661616c6cd478c1aa24b673d5385ee0a07f3603f0037180f034ca9fa550ed423ec7b41f414ab49192336277613a3fc2e307b27f74e633c837c0341857268033ef70c55a5d5ff3d9e71d103e06c4ed75111c55e8a091fb84400f8034b770dfd532254d4a0f4750cfc7a0d0603c553ec4ae676e9b62157e24e557a4f03cba0714163cfd2723657d7ed400ebb1549f90854f4cc6c39f64464e49c5a840a03d016a1a95660229b8c6656e9c7b55c581d425a5b0e4b4bfb3fd0166a02e4821e0219ffff03a0126d57f5f83053957871373cd004a2756c321df8868f0fcff6531d5c94bb7e032de2789aceedbebb3fbda62c8208d7978f8672f73e9a481ae047bb18d75055a303b9cca66b4e8522a110f6099de3029db3a732c0ec218b9e38df4fde4991f9937203666e33217c11f8704f7989544713fb046f0d1485eb9b28f3f137027f3b18094d0219ffff03d2ad5a9bd7d3027b739d0b8885a77cedb33dde07d57688218ea652c2fa969381031f5dddbda86c86bcd1d9b1f24a26a5f1cc3ff2c62f51e360a8baf1ca988e90920337bf4822f42d39084471b090dffd3cd5fc226fc1874b1a8a9543e97c9999befe03eefcec9b7a599998815246bed8b488e64af68af6b02ed1804aa555bacadc717f03518a08fb6ab85e5fc4d0c444d44b10eb4ea7d2ff6542dd4be1f136695555a39903605f757e03c123ebd7e98af3ca5618c156ad3d29ae0943e5eb65a61278f55de003007b19069886e538ddc7daf86baba679b6a68810eba70eb6ede1d5acf9a5340f03bf23ce3081b19b2687adc4e361a8f7cefe79c2c06f8df6c51a28f1c7bfce129d0329c91c2fdb9fa82140aef38a9b3ae7ab4a28cdde3ba90b66b67f577f77a411f703e9d91ab66baf01c8abc9b50d76d642cf18b2808c1a9f6233405b3958fc31888103575925c94224af5556172b61f1473fc56e53097ff31e322c1d3a75eb9bc4ed4b030c7b05c1ba781f1a8749372dbecde694ef97b9d3aaf901ad52dd686308b06e780337c9a96a91eda2069a5f0c9e3686cfb47a2bf95ec6f430c3d862acfe1ddfa2fd03a4f6434e8322b7f0d09a22bc64aff057cd0769b0110bf4b7c81d7282d2eb554e03969ccf2bbcc374f4aa4c3d5689de241d9f12ac9e9b5cf7e5a91259d23fbde7240309b9cf5e35ab410f903d7de5ab469d20368d2d7b80fa06c43a8760cbc97d4dfa03e72db733b62c08052f8d8d68e4f174ac4e72a3f073b3f4c1c20a109498b638e803fa87cd42bffd4f4355c18ef6562464d6c38a76788fbc5fd9885e910e867c6e0603fa4be8707e87eeb88740c1de8e3594ad5005b09b4a87e6f02035a016a2fb00be0390e53663a39c0a7cbc0f8e55b2fcee5ab932209b1b9c81221b2b6e39374e33b003b2144bc37458c7c2ac11507595d3414840173d3191647505456c2242927d0a9f03f6c09c6254db3375e00d5e81507fc4e02031bb65dcccac39b4e17638f6aff5b8038ba23147dfaa395f108e4c78319301a0e35f0e82b6bc505dee2cbb87746728ec03744c113619fc4c4548830e1c9ae9a76515997b71a4604ac8d2cd2bffc38ad992037b6db4c7d696ae7d8edcee36941bb3bd973eed830651c3303a19363f4019162403cb063f9d4315ddd5e68ac861fe593206d868e8a4fd3e0fdf44220d6635e75f1803b6c898074a89eda2ae98e7ed99a13ff2b254f4c04aecdbd376969787d49378b50330fd202aabe3885fd6a53f6ab93ca84ab48921bd983cb9ad66f37428f14829bd05581e03d7b97c33c75c9529979192aab2953c9281712997c847742e0938854ac0040105581d02f11ca7747dfcf76415d3b2c0388fd6c7cc85442f1c0e5e95b9b50be50c0146098cb8c5280005581d02b881b36e51946e4f485c6f8dcb0911ed5b22c7acc0fd5b0291f47c1c0c01462acb68f9539004590986608060405234801561000f575f80fd5b50600436106100b1575f3560e01c806370a082311161006e57806370a08231146101455780638da5cb5b1461016d57806395d89b4114610187578063a9059cbb1461018f578063c2af913b146101a2578063dd62ed3e146101aa575f80fd5b806306fdde03146100b5578063095ea7b3146100d357806318160ddd146100f657806323b872dd14610108578063313ce5671461011b578063492e496a14610130575b5f80fd5b6100bd6101e2565b6040516100ca91906106e0565b60405180910390f35b6100e66100e1366004610730565b610272565b60405190151581526020016100ca565b6006545b6040519081526020016100ca565b6100e6610116366004610758565b6102da565b60055460405160ff90911681526020016100ca565b61014361013e3660046107a6565b610447565b005b6100fa610153366004610879565b6001600160a01b03165f9081526001602052604090205490565b5f546040516001600160a01b0390911681526020016100ca565b6100bd610534565b6100e661019d366004610730565b610543565b610143610639565b6100fa6101b8366004610899565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b6060600380546101f1906108ca565b80601f016020809104026020016040519081016040528092919081815260200182805461021d906108ca565b80156102685780601f1061023f57610100808354040283529160200191610268565b820191905f5260205f20905b81548152906001019060200180831161024b57829003601f168201915b5050505050905090565b335f8181526002602090815260408083206001600160a01b03871680855290835281842086905590518581529293909290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a35060015b92915050565b6001600160a01b0383165f90815260026020908152604080832033845290915281205482111561035f5760405162461bcd60e51b815260206004820152602560248201527f54543a207472616e7366657220616d6f756e74206578636565647320616c6c6f60448201526477616e636560d81b60648201526084015b60405180910390fd5b6001600160a01b0384165f9081526001602052604081208054849290610386908490610916565b90915550506001600160a01b0383165f90815260016020526040812080548492906103b2908490610929565b90915550506001600160a01b0384165f908152600260209081526040808320338452909152812080548492906103e9908490610916565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161043591815260200190565b60405180910390a35060019392505050565b5f546001600160a01b031633146104a05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610356565b5f5b825181101561052f575f8382815181106104be576104be61093c565b6020908102919091018101516001600160a01b0381165f818152600184526040908190208054908890558151818152948501889052929450919290917f5ee81488a8c866569c02800403bbf9145d931cf759737ed853eedb84dbb5a9e3910160405180910390a250506001016104a2565b505050565b6060600480546101f1906108ca565b335f908152600160205260408120548211156105ad5760405162461bcd60e51b815260206004820152602360248201527f54543a207472616e7366657220616d6f756e7420657863656564732062616c616044820152626e636560e81b6064820152608401610356565b335f90815260016020526040812080548492906105cb908490610916565b90915550506001600160a01b0383165f90815260016020526040812080548492906105f7908490610929565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016102c8565b5f546001600160a01b031633146106925760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610356565b5f805460405161dead926001600160a01b03909216917f7699c77f2404f9b6bbd003861bb4af8ae70b205e19e73d7ec7fe4590db59a6b791a35f80546001600160a01b03191661dead179055565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b038116811461072b575f80fd5b919050565b5f8060408385031215610741575f80fd5b61074a83610715565b946020939093013593505050565b5f805f6060848603121561076a575f80fd5b61077384610715565b925061078160208501610715565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f80604083850312156107b7575f80fd5b823567ffffffffffffffff8111156107cd575f80fd5b8301601f810185136107dd575f80fd5b803567ffffffffffffffff8111156107f7576107f7610792565b8060051b604051601f19603f830116810181811067ffffffffffffffff8211171561082457610824610792565b604052918252602081840181019290810188841115610841575f80fd5b6020850194505b838510156108675761085985610715565b815260209485019401610848565b50976020969096013596505050505050565b5f60208284031215610889575f80fd5b61089282610715565b9392505050565b5f80604083850312156108aa575f80fd5b6108b383610715565b91506108c160208401610715565b90509250929050565b600181811c908216806108de57607f821691505b6020821081036108fc57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156102d4576102d4610902565b808201808211156102d4576102d4610902565b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220c8ac969220bb16341f631fd34e23865eba5517fd7c89e59e83f3d247371aeeed64736f6c634300081a0033005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db04109005820029e9d7e4d7435104936bfae72e819675605c79873d5c4837e1f7dc36407b4874807340645f75966cf005820029575fc0976713743a95457bedbf72afa52f0c918f7d7f33486ef31ea0197694904bece21b1d30be5ce0219410803d7baa7588cbcd07d3edbf81dbc26686d3bc0a9b7997537ae670d3259a54d3e240058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d5cfb3eadc955885e5acdbb89db616339c33365400582103e593c51fa103c5864ac8fe7d34a2bb859060609254b6fe0e718a20f548833df04803e3e6596f47f27200582103f53e13ca1dd0594a2aa0d029fc75f75eb4dac902c75428eb0fa445c1dbe60600480221ea019cd4eddb00582103b8f71123f23ac0aeda7d549ad97b9f16115babc478ebe7b654a42eaa69486950480ff73fd4fbccb05003760b58f80399fc2ff42d4334ba856bbc116e7777022da2ece86baf33d91adb9e033667ca13e78825fa6ac2375d500fa6b16f6a1a2edd30fc9d69a36ed52cc4974f00582103957261b7bcc6449371f3e3fb4bb5094c10de7485c085ea8ed4dee0d59bec86d0480476cb797d5e52260391a0dcfaa188d6dccd388d95067b0ea8d53a28a6abec10d7afc3160365177cf800582103b92676d71c12c6312b3a9dddbe2369142845de6f14aef66fd319a2c7b40f6c6045010000000000582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f049056bc75e2d631000000219ddaf05581d0239bf5ea7edb9c06337f08134794c40cafc0a06e300f24bdebee6b8ca070119098602184605581e036749240490f8910cf580c8d9044d8a48df40dc8c8c05fdf862be1d61100401032c03a28f776c01c1393e16be90b16bbfcd4af9f9efc5300d019f75e2ea30b98905581e031a5c5700d2ee49e3e123af0d5ab1ac5db836b81924e861f536bc7c34000c044697296283cd80033adcec8f6b046442a30d0b19888a1fa484a06d267b7f375167e56bab103c792d05581e033017eea948804e2c1c0c112fc2c09b1ae7149b29c98974c4439b0543600c01463d1f704e57d803a3997f10e98e0aaaf3e025608ce320fd1216a839ee825137d936ba18ebd4a91a05581e03ea6a299006bf3ac49415cd6aec63f83004ec8663ce1f424641c9f01c20040103780c5f31c01a891eb8f4c03a85f04fe66de143f05babbcd151b59e0aae3d666003c2c46206b1f31d5c30fb601cfd2fc40ef6f52c67fc4623e6388f6eb0ebc70c8305581e03b7f1b52b7263f06db8c601208f362befb1bcd7e02aa86261e5d6f7b9b0040105581e032a2871e3ff00ab968fbd67a48448559255b6b37b25e306f43a96bff0500c190106473346747330201105581e031c8d6a52c4df49ad78590283dba90f97fc1b225d03d9092f521825a630040305581e0331aa96bc3eadf760a5ba6937d8cfbaf2947598f80d3f6c890321c39aa00c181d4704bf9a5d0f6c360219fffd0313c36ed7ccc9f24a6e051ac4a72beaaeda392bad9d2388020399d631f9a984af037bb8cec8205554b013db535d9cdeb399bd804396b1da120a7849caa58e730feb03ac8b2ff811349f3739157f1e5cb9550e129cca555bd9029b87ece3a8dae1745c03ee340902ac5a602b8d320c48ed427f89f0c1d31269b850cf6eebdb396dfd94f403461f5f94d6f12d06da90eab5a19f51b7a30204caaf88a5e37b62c43aef6cbd200386a460b6182af32896e7317eaa776fbc66e0ba6144878682ff4ea84ad208eb4f0219ffff03d83ab54af744fdf91de77c359df8d3fd7906f2bc25ff07491950a79691e1fba603ed916c6b804a8558bf908371c21f52f98a9d79de3a3310f7d1e1a027cde8700403c1fd3ed9ad5d33f7a3cd17f2a4517324357a7b53eeb8d25d732bc9e20af1c6e703e8e2b3e16ce50d2f579d4e741bee1b41511552b2f7798dfbac2953036ea8993703ea3d8e2d49ed4672eeb573be2c33c66421562e04c8a0acc40dbf9d59b1cc72ff03201ce604f0d5ea5170eef913daf6389f9bf58814ec075a61d43980020f1ee9e603fef4ccacfa17db92c386f8e1a7ae153544c7a59b93c6404bd9a79c2121c788ae0219ffff034ae61908dce1604694245660f1bf96c55b192be21bf3ad74d9c1ef327219669f03a819fe9343c95ad6240e3f69682b75008bf6cd18eddd590bda8473c3b512dfa303a9ecd705ec72d3c4c0f1cd128c2014b4e17c317933528a67f10deb22a61217a5036c22ec6be51eb5c3c64cf128eb9862e83cf9193670e9ca839f9b090f11e8874e03b7fa310b9e79229d8bf394b0feb9b206d4fd21c87a2b39ec90ed27eba8adb4e70219ffff03d5baa63e15a4ce2e6d0b410947e4f46f73d9b575129d3019180e3961cedfefcd03cfd31bd35822e078df474f029ed626a09068da0043a6c104b898aa4b365068d803fd7e4310dce7f82982807958ecc7f483d656b01fad5fc5322da4519a7a7a36af03eb3354729f44195ddfd8190761d2d1e890f7ee063c869dd67b53c7c27e3419160219ffff0310f66e6b907c211e2bfb500a6f9fb70f5e2512d5f0f902087f8cd9040c030a440369d8343eeeb7ae202d7302228caa21ebf593172fc26335dac01c030b2f31b8db0379a867b006282528adabb86fdd9d4672691b705cb9b3ea3cc8d3f1d324f02e3403ecd88b7c27d845a2b19f0b633951917e2148bf2bef4ce38cec6d2c8264310a930351611819238ae31b0e83e6e49825bc8cd7fff0a63d4854efee8c8d8b8a05d06603d5e161c3be40d8dc81acd753ed862fa596192ba0162782dac2c3958870cad87c0362ec0b091c6b4062ec21af345fb10633de1c825dc1abfaf66d0549a3c595ec3d0308bd8ee83e5fe729c8276202743628feb86fb7f4b5e3e9f123482b571e17f77c03eb20fdc18230d4c302b09f0230ed18cf96207730fdba1ad5face47f3d7448caf0323f6e0f4646322077d8ce1c75e08750358da5c876cbcde89b00178351c67bc2303d62ce7f292978cadda44911c76e254f6db17773f9f88fb6d7358c0ac99694c3b03e75222ed8b28215248855d8265b005e2beaf74e29bfca65a655bc1ce3ce6d00e03083f253da8adf85dce22a91bfef23176a82fe31c3237b4cc3c51590d3ec0f51703a8628cfc2d7ad0cd52f84051c074574a0e4483b8371564f97866f833ce59e2ed03c49b421d643afccf7a5fabd69e6a1b5d16c4f6de2e9b59cf5bc7cf737ec4473e0344a76bc17a90e6618de941e3a79f9f3e3d4b4b3398a943ab7bd18495081bc8fd03c375dc553a26e634f2dfa5231d4711ea020fd28001ec68436c6b60c7efd089d40326dc68e01e316d53ded909e12d4036be56db17f4d17f0069decdf5b001aebdaf0386e55b228382f89bae158f29c5db903cb66ac5f87d4987e4de1978f2df1b884303e29f209c74be47a8d2367605f6cad1a8da03d719f128c5c705f003c7e1abf60a032e960a059fa5a6859b255a88e3469ff2b4316610cb52e3ebedec3a6faf1dfe43036002de9f2d04600cc822a451fd6dbf60467c63c15378ee8a0e49f378e29b752a0365832e7978dd89de14dbdcc28b5451393d066f9894d7cc8c58b16b0d1be4bafa039c4c6a315da2fd97833407f0e0b3e3c1d573dca8fbf9de2a2673108ffdbb88e60397dd8ffd56b806a5defaff29f4f3d26bda647121249eb37d237b722bcb8317e003d19d6f277bce70c3cf7b5d78c1b4c1e4321e49453e970af80fb57cea008212cb03ee7e3197201fd31b5a7000fe7036d5af6951991cf877a5cc91692708118f1fd803fc8ad17bdaf1b1bf7292c5d71e961bcbce512597c4334f428369f7f3e708ab75035a7c0e6345e6519b22470e26a40b22b643e09a4556417ce0126f34d550c6746303eb0bf49abe63c78b9eecd30c20e9c51767b7c71d0c498236f1f9b51ee3a5445e03d91cacde5220ff97f4430e42699b0afeeb1d793e4738dfa1429780991da95cb603314d365d1a7e90479a345c5757290ac07df448098556a5ed295b22ea5a9ae3d1031ec50d60930fac1787287e56c23c511234f576d5054701ad58178aa5329a034f033b1ae4a23673ce60a6def2410f98723077041c8fbea246399c0cfe193317b429035762e3acfcb0b25d287034e0f27a1bb0a2b38db318c0c300123eed68a0d17a0f034be595b3222b9f0d38202079b6a92ca2f9a3e218f75b1ae89da19c1beb962b4603dde87ff5332c0dd4f69dfe376f240c3441a07d7a48be1c557ee79c74b7292bd4037697340b606844d12961a3278c5702185e4d3f5446c1f61262c68d89cee9203f032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e03fd7cd7d325b05b696b67ef9f234b1f57812b5b3f0670ca6809ccf34f2007011bffffffffffffffff05581e03c0797dbf73223a9523f26349aceefb7255e6c759e186e835980a4a39500c014610ce6e4f5400031201f2816fe2e1085f2dc65dd4ba5402d2e79985f7c642ebd28a5b261a5257770383a9cb07e18489e3d11ba7e7b993daee1ea7cdaa196f749bcf4edde105f05aef05581e036157988c7c1d75fc10232e789b5381a94dfcdeadf88595cf53b40317f00c024714b82c50548000031e85e7ad6e7216ac40f69129a2cae8df9cb442d9ccd83c62932c1c3c05c0b27e03b8fa6e595baeb2eb138b4f515892dc4442e0fef64a066420b366c71c4d10fcf305581e0331ee71e13781adccac6e1481d4a4b575cfd5a6df916b5c87ec4ee2f5f00c014619acbb7d2068035bbbcd273b2b60bbd1b5e4af665cdc3becd55138bb26a9adae5aa3072c3389d7035e8955b884f08811335ff4387d47a6da7276e884e1384d16852fd6c509eb03cb05581e03776a81b555a1468b682b8c31828a1fe0a10eb96caeec901d3479ad8f000c1910ef4913a24031a9c94654230219ffc30330a91bfdba0b50f59be89f7c9d7899a04741029df2fd230cee4a2889dfbba16503789f5efcc697b9e369380ec40c39e059deb052601891e441b8d8172bbdee0c6b03aad94515d5514eaff66bdacc59aed641296161bf47b04a2c76d3990a969b6dca0219ffff0351efa0ef9463dc5bc43cae767d826484a2df014c9fe40736fbf693f112bb47940219ffff0325626cd2e3bb3f99cddad4a97dd3d54d7ddbe8ebb897c8acd2cd561664d2680f03c21c270fcac6e22d9254d342a68e3ae0390d542278f4d9688c5eb9d1133fdbf903f6bae286b8dff188551191b7569da02393d017d60b75b54729db817ebdb3266c030039d2a97879bf16f920e047c4ad26f1964644e8463fdc00549c91b6d576820a03498f8c86e4b8dcbafbed66291621ce601af25e7bbc93127b42d764a15a567e4803272da6549065c93124198382dce5098eaa9ee3a1c43996c06979778720133b7403a7a23537882b4257f158dc76e89785f180314c4bcc68dedaa791a9dd7b4b55a203088f5d58df3f2c8b0d9654ed6201d4eb5aee2d0ce454dfc72bb2d4f80c311ed0036beb6ba40c6dd51af791aca91ccc9e9f42673aae5a9b9840b5a87eb446038c440313373ecd913be92dd64fe980ee2da2f5435898a395b777d2c676307af57a119f032e981eb72a36ca18313b701d18762ada9ab619dfba820e4e2725d6f28aea2c9003f09d704545eae94750eb4e9ca52405736e81f6879baaf8a48748ecdc710679320219ffff03baeb811f947fbe59ca34095ad28c04e04424de68ac027fac287e0c156719539303c8ab04059da1cfe7b5fe765405afba18cb3b1145eae250e6571f8829219c205c03859abc3b524808c24aaf43c50a5762d9365db7f8f1933ba4e0896ad00defeb7803ef9e02a6e55bf4d19fa34eab6c0884069fb003f1e88707b2956f7d8402a97b1803135bf6e1c665443b4cdec25590c24cc846a684dbf34599e545f4ea906153b72303166a9764493b1218c720d2c100daba74f4172ac666590e2acc8b061fa23d1e690339ddb5afe3076b5e1ead06693798ffa5de00f33eee8b9ab96e8fd0a8ead3433f0219ffff03bcedd326bc0bdc6917256aad91b7d3166966599c9b85a2e1722b553a17a0843c03e763dd9b6061eb5d2608094cd108e03e4ce3e7fdf5d2415f301c6be496c31542039aa1b09cc6ba1503b3c5536f2735825595c504a9106ed01e53bb1e60312eabef03b7d576559596f1c6989fd4cbb2aa4163103dd028ecdd1b3fc6b6191d6a00c5e0035106d30c5f4e1ef3618eaf6d293c4996d9b31e93c0087302d9e4c2e9c3f4b76f038a20aad84959fb5b205504008219481f0b91556ced753891016850f734ea37e9030e86ef10379ca8eba2ebf66dc15925ebf137976ad4cddf3910c2e8c2923e925b0368fbaf01e8f35a37515ad1b03c55e8ea7b6968ba510e846e0fd205024f6ea13803ad14891bebe4018c03bb6ccd59999cf141843bd3bc4aee9a861973b53807aaba03ea95517fc8b68d9af6e4e120af321519dc17f75333b970924ec34166217275cb03b313238f8b5df7dddc9568c3da7bf80d599b0440079e00819b3c7765175e26d103bb08f98d420c14a448e8d89cc8eda714e99e39381c7a1162975bdc3ba9406c290311129f1f40b5aa7740675053306cd59b893bd47241b1b468192119a863324acd03cd7c9815a81b7edc3b80d8481badf92ddc1d7ea12a7189fdc30311fe402119a1035816b41d68393ad79cfa1abed1286b6fcc5100532278ad7ea6713f3f27422d81036e8d14e77ec6b931483acfde2e4417a19a89d5f0208990e3b1f5fec38e0380c30340cd5c9a4bb21843ab9a61123037f60120f91ece631744befc7ea84da5177bb103b26f0ff5c6b1078f1051e86793e2e121ae09e5ae76ed407a76db4db85832cc9c037b640cbf3d697c35817367cc576fbcd3fa126401a6829d453521f47f121d3da703970e14134fb41bf00e1b1fa8268bd0e7fd0245150ffd06308aa672270bae4a8e03088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e033077ec7c322278a3e5027ba04f34e9e00c84feda814e4326becc9c0e9007011bffffffffffffffff033780095910ce1323940d427843e0e6e0bf3fbbd1976d0fc01f99cab92deff52605581e0391f00d8a02e155dfd5bd6920910d6c5ae819bd5035b58b426e8ef2dae00c014618c3aaed0f4003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03ff201a6fb788206d42e17e72d49e623f09ea0fdb0b5dc102f241a5d32007011bffffffffffffffff05581e03b83c645e6322c2b167069d672cf5f2d9781c9d558a4e764189efb113d0040205581e0345fdf7507b649f81a56b6bf32023e09aa6e8167e30f300e355548b72a00c0146f1534871d80005581e0313ac001a0f6d6f337808fdbffca833b28dbbb2217a199811c4e51bcba00c0647013910257dc4d003abf67cefb54dbc3a3ac23d7e4f112b9dd4e9c712e209d7e26d47657ba147f26a05581d02e0b4cc880cc1ff12b755e98f5f5b2fc0d28679fedb6d5a94850677fa0c024502540be400031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d028ed50b5a07ed52356ec4e0fe4baa34cad3eb9b4ef20c471536b3d93507011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630498e439c051a6be21be80058210371828103cd7b7e79260fb69d205827d88360b2993e642fa3c3c7bc02354f34305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002e969c467e6867d0f1221ae89982d864ddeb3317dceef75d598ed915c53a2105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4d1bdb58e4b3c2d1f0071766b90c02194400005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab049016c32334043a38a7a0219014000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820c9069a99fda4e962844920e8faa95dbce54d5a49800d0286c30fb18ec3e6c9ef005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8521e20ecd8eddda83ebb619ee8dae08ae270ec02184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd00498cd769d1da283e8d8600582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687db2f0000000000002e2a014e47ca585200000001bb775c70c61b157272420058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f545d3e8fca236461a159c93fe62b572444805869d30218480219f46505581d02c3fca4171604dd66f555928558c85523d0cc66850e6dd6a6d01150cb0701192c1d021948200316a48927fa265b7c72108bcb5c6a48468abc8f7bccee489b87474ce6650c33a205581e03b65c785c8fa8e057ad2c833f95961316306b904e67004be331cd2ee9e0040105581e03c37b96321dfd1d40b57b10ad9e4aed74eccac335222f4d36258c6064500c19017246c7b3ac72f12805581e034ddbf91d385bab760534949c3f0724147ba2e13dc791332e1313a1b5100c0146024abbb470000219f7df033962f2f36e3cec1c59fb60aead1da01100925b5fcb0b589d87afde1e8f75ec5903a9fec770b707b36cee0460ce9c57faf1145dbf7fa86f3e94403ebe08962a7903035ab894bf52b6d043994cf9a9cec5855eec14532182c7d0b076ee68aab8ce97810316ba1dc791fabf9025e2dcbab5e4881a00bb572a17a2cc6e1e05afb6c681dbcf03805c3646ea917d1a46c94f9f4f1d9e2ffd9b18fdc25938b23fd0e0c4d3ab08a60219ffff03d0455e8f7d4b45b09d15e4e1fa625a4555dabee83472c09afc1338a8ec52360e0329c3b875686e4dcdb4b22d760a998ba3d5ab325edc2005bd5535fa1a6409470b03674ed9dabad97a6244bd07909e9361e3d20b39097bb999e5e3df38d4f113481103158f47d03fdb15996aaf3519ffdd38ccdf52d954c4868414e53135bf6eb47e65035486b52ed4ec8a557a0fcd02d294f6f741deb50280ec3625d15069fc9ee57eea03af9ddf07bae181eeac0ac7249107751b52530559c9a066c046378865e9a2333103d19051dcc014200326d0f1119b8da323574ea19b115b6da71b6ae24e5313e1a103c6e39ee9fa1a1931af3e15644a558723b50575fd74fcf26bec7be19936d16118039d56639672945d79e9cc046055502f6f300f6049e05791fdef58c8ab6879e9ed0357bf059fc603ccf317b662786899f2151c40c8d59e017b3df701252f05f3af9a037614457dac56f225ecdf73b8bc6dc5d6f180a5a8c6ed1bca99c386aa214e595f031ccaafaf7c4066df7cf25e6d9f0c9fa8ba7225bc38804bf1a60f54c93ddf022103e520fd85e1759ca14571664e2a44988c9f1514242b6d33171e6110072e93d5110377246b827f68a4ad772e141552c375de6415c43e4fa410ee90e8e97739834e2003930daafca976b08f04be010efd4e8da8320d05433fbc743be65ab1bb598419ba0219ffff030c4d2fcac7caf50c91d83f290e626c29a2a8d00713cfa730c5f5da14645281210354046f179b4248424e790fb0ee57f5bd75554c0de98d988377f0f5dfe6c2bd8c0331895c4964bac463bcae148c7b8efb4951769fe9abaa9de79577e44bcd00f409030d738b92e83ded4ad1e63498fda7bd7c23a25bd97dd2b91234f8f15f09fa2e6503433859f694239a4b58ba37542709cc90e92da0ed5fa3ed9e12b144a75f563f0a039c25437a567167952745b9b0918db6942f745a1b2a45bdd4b9c8cdb1f8761c8f0392b93de7b85d01bf038c1f6d8f88cbecf1f6597ab19200e8195d7eb5a25df3490219ffff03828eb52a5486d0a27a476e8e932eab790598e32890c967eca4d9ff05e449a9f303a2956d296afd75c36c96196d413d52fce1ac9badcb4418dc75f7b7572d3aee240365d77f31f5f72d81d425c635bdf5e147b9b917cdd6cb502bf17d0051850d2cd30357c502e2ca8d3e4f4120ee12b3513f98f3c92dd0134bd83eb903bceae7b36146037ae06811abd19a8a912b7679f0e0370b1ee06b12894839538ab879b4e69077e70300b5ce92f1f79a0bcad7c414356a90ab515d75ffcc02fef77a24ca960c5ea78203cd4924b08f855e1f54cbf8cf80affed0fa1f2eef35286014ff7060c136ca63b00347a26bebd40cd652b22dd9986d6d2dd5dbc7b1ab6c2ec404a2d8fa3770338ab103b4c760632007be94e3df813d2cdf9960bbdde2503f086f04954e6a6cbb7b66f103b074115d1c994fff768a0e603872c8ede660a2b513bc32cc5cdd5a2ab5f111fe034547f7c2e20b8aedd3c7f089a313e4d865472618017e4d141f7f0f44494a1203031b6219438d0306eb3b0e8096d2a51fae1eb5a9230f6d81f2bd0ab57d4dab98850326d6ccd2403799e7c0f606fc0e5945d8351a4ba992b79dfeb472b967518ee3bb032f23523f3d493522de389035d7e786f42de98a74f36a6089b94026780fe1726103eeb2c94807347027d18a4ead4d58a3736f61b308ecb5ab20d5846c359eb793ec03fac4db56088fd0baac4b327cc03f2b92e852a395276d7c50fab69ae9428d097703e68668f217b948a8821d6242435b3bc851879256742909ebb3111b2f859d7790031fe8d60faecd834a65d3c33e139f6a20329ecf3c70a2fade299e9ebc74eeba310323aee157fb130676c19c4b4d8435971ac63520ff8a94db795af0e4fe8808197a032da831a46cd5dc3aa2859ef8624442e1b7d7fd2b3af57bc247c4d283b39ad36f0361b298545740ff9644e3aec0eddbc63c3e6a6497a3df67ebadbe51d5e0b4b7a4038a8ef56e872bc1efb5f184dc0f132912e8e09fa59533bf67b9ca7e263ec03a0603dda93663530714f5bcdb82f070670bf7cb9a6e1f98f8ee6f4235a5587125aa0b0338f67137663f83a381891d26982f6e2253de53a53b8bda76970f75151252c26d035edfb58fa1af5458c9c468545ee4444ad3824bcdcf4c5611855e9bea51e8270c0350363052d2ae1031d068e7d9e9def0ca3a4c4d711eb0146e315128bfe8a385e703fbecaed90391cecec9b59e7e543f1aead339f7305a0d2d410cc1b20f549be06803175dfcb439a338c281c3003ef31bd684ff80adbcaec05a4f37c3359dae077c55039bfbfc346b2c789235cafaad4362d8132d52c687d64609855d069737e1e7e22703742800520b02c108784192831874ad8bf075368f17f310019bb9ebaf3a835d8d0333a24fce3cc4ff5dd933c35e509e4cf1a60cf1dd6717f2cb39a5febcef734203038ec6ac6b7307f892b3d0d1f1265abd1f46fc271757a511446d4c37f7d3bab6e8039ac00cd309ed56571ca91a974090f6ced2c2bc34a0251e10ccc95ea557c7f189035ca72d6b8f0e3bb8c464f61eea64103bb38f2372f48d8ffdea279c95934b767b035b235263623f49b4156e9487e096c3b0a710a385b8977c0b27bae74264d0977e0377d440079f11f1d207259e95518adc2851f3e91eec5a42339a0b6778d6992471037e5642843e10707c53a718928d91f48f7ae528cce96312279603ead973fda0db03423acd8700093a023799950c66248482e2b514d553b08f29deca5a22bbc9af8703aea816bdbb0ce30d86f8591f809c6db44ab2bc4a57ad52fdaf5d9df38f87826803e850224a63a0e0f17d25e7b4a5d0879ae6d96c294ea33a0be32fad72de8f0e3303498f095e5e9a47d78bfb00c91e05ea9cbd1c5ff6bf88f811fe97dac6ed1329f10303ef806dea52a7f0f9478085a3f374b6a4eec22cbadf9287949d5033f08ec8e50349e7eecd989d37f7d253a85322bb346e95405818924889f05c0f7d34bade91b90341f7de9bbb0799d9cb4cbb0aa53bd4e6b08bfcff2b48ed806136b4e28a2db11a0356ce27dcd0c7c36344e3bceee7baee8409e2984d93817dd1df6411b29f6ff45b03bcb5289b82bd2f55f656dae0323029a5b375c8314e4364b176fcb2d6eb18ca7e03a2562439d706f8c1f89b39366fb15e956ac379a6f55bf399ff8db8ffdbfe2c330323bb429523b712491cb82ca002b1ec0a44e0d60260f1992ee3250bf199373bd60399a8af24af97ee14ca0db3efeadf033e8321347c11b9f00ebf836c2823ddf81c05581e03b989523239a0199b18d8e5330bc8290e8ace87e1ed6df5371bcd9c32400c094755a1e92294c1de05581e03945c51a1182bb9faaaf3ca3d1469c17330fa9d37a4e9c888d51c1bc0f00c054502488c9d7d05581d02a3112d9a05f42bc8ac7b989f3db376472e1f57ed7a1023ca0219f759040204591f946080604052600436106101805760003560e01c80635c975abb116100d6578063a4e7f8bd1161007f578063d764ad0b11610059578063d764ad0b14610463578063db505d8014610476578063ecc70428146104a357600080fd5b8063a4e7f8bd146103e3578063b1b1b20914610413578063b28ade251461044357600080fd5b806383a74074116100b057806383a74074146103a15780638cbeeef2146102b85780639fce812c146103b857600080fd5b80635c975abb1461033a5780636425666b1461035f5780636e296e451461038c57600080fd5b80633dbb202b116101385780634c1d6a69116101125780634c1d6a69146102b857806354fd4d50146102ce5780635644cfdf1461032457600080fd5b80633dbb202b1461025b5780633f827a5a14610270578063485cc9551461029857600080fd5b80630ff754ea116101695780630ff754ea146101cd5780632828d7e81461021957806335e80ab31461022e57600080fd5b8063028f85f7146101855780630c568498146101b8575b600080fd5b34801561019157600080fd5b5061019a601081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b3480156101c457600080fd5b5061019a603f81565b3480156101d957600080fd5b5060fc5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101af565b34801561022557600080fd5b5061019a604081565b34801561023a57600080fd5b5060fb546101f49073ffffffffffffffffffffffffffffffffffffffff1681565b61026e610269366004611a22565b610508565b005b34801561027c57600080fd5b50610285600181565b60405161ffff90911681526020016101af565b3480156102a457600080fd5b5061026e6102b3366004611a89565b610765565b3480156102c457600080fd5b5061019a619c4081565b3480156102da57600080fd5b506103176040518060400160405280600581526020017f322e332e3000000000000000000000000000000000000000000000000000000081525081565b6040516101af9190611b2d565b34801561033057600080fd5b5061019a61138881565b34801561034657600080fd5b5061034f6109d3565b60405190151581526020016101af565b34801561036b57600080fd5b5060fc546101f49073ffffffffffffffffffffffffffffffffffffffff1681565b34801561039857600080fd5b506101f4610a6c565b3480156103ad57600080fd5b5061019a62030d4081565b3480156103c457600080fd5b5060cf5473ffffffffffffffffffffffffffffffffffffffff166101f4565b3480156103ef57600080fd5b5061034f6103fe366004611b47565b60ce6020526000908152604090205460ff1681565b34801561041f57600080fd5b5061034f61042e366004611b47565b60cb6020526000908152604090205460ff1681565b34801561044f57600080fd5b5061019a61045e366004611b60565b610b53565b61026e610471366004611bb4565b610bc1565b34801561048257600080fd5b5060cf546101f49073ffffffffffffffffffffffffffffffffffffffff1681565b3480156104af57600080fd5b506104fa60cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b6040519081526020016101af565b60cf5461063a9073ffffffffffffffffffffffffffffffffffffffff16610530858585610b53565b347fd764ad0b0000000000000000000000000000000000000000000000000000000061059c60cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b338a34898c8c6040516024016105b89796959493929190611c83565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526114f2565b8373ffffffffffffffffffffffffffffffffffffffff167fcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a3385856106bf60cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b866040516106d1959493929190611ce2565b60405180910390a260405134815233907f8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d5469060200160405180910390a2505060cd80547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808216600101167fffff0000000000000000000000000000000000000000000000000000000000009091161790555050565b6000547501000000000000000000000000000000000000000000900460ff16158080156107b0575060005460017401000000000000000000000000000000000000000090910460ff16105b806107e25750303b1580156107e2575060005474010000000000000000000000000000000000000000900460ff166001145b610873576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905580156108f957600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555b60fb805473ffffffffffffffffffffffffffffffffffffffff8086167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560fc80549285169290911691909117905561096b73420000000000000000000000000000000000000761158b565b80156109ce57600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b60fb54604080517f5c975abb000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c975abb9160048083019260209291908290030181865afa158015610a43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a679190611d30565b905090565b60cc5460009073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff215301610b36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f43726f7373446f6d61696e4d657373656e6765723a2078446f6d61696e4d657360448201527f7361676553656e646572206973206e6f74207365740000000000000000000000606482015260840161086a565b5060cc5473ffffffffffffffffffffffffffffffffffffffff1690565b6000611388619c4080603f610b6f604063ffffffff8816611d81565b610b799190611db1565b610b84601088611d81565b610b919062030d40611dff565b610b9b9190611dff565b610ba59190611dff565b610baf9190611dff565b610bb99190611dff565b949350505050565b610bc96109d3565b15610c30576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f43726f7373446f6d61696e4d657373656e6765723a2070617573656400000000604482015260640161086a565b60f087901c60028110610ceb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f43726f7373446f6d61696e4d657373656e6765723a206f6e6c7920766572736960448201527f6f6e2030206f722031206d657373616765732061726520737570706f7274656460648201527f20617420746869732074696d6500000000000000000000000000000000000000608482015260a40161086a565b8061ffff16600003610de0576000610d3c878986868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508f92506116c7915050565b600081815260cb602052604090205490915060ff1615610dde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f43726f7373446f6d61696e4d657373656e6765723a206c65676163792077697460448201527f6864726177616c20616c72656164792072656c61796564000000000000000000606482015260840161086a565b505b6000610e26898989898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116e692505050565b9050610e30611709565b15610e6857853414610e4457610e44611e2b565b600081815260ce602052604090205460ff1615610e6357610e63611e2b565b610fba565b3415610f1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605060248201527f43726f7373446f6d61696e4d657373656e6765723a2076616c7565206d75737460448201527f206265207a65726f20756e6c657373206d6573736167652069732066726f6d2060648201527f612073797374656d206164647265737300000000000000000000000000000000608482015260a40161086a565b600081815260ce602052604090205460ff16610fba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520636160448201527f6e6e6f74206265207265706c6179656400000000000000000000000000000000606482015260840161086a565b610fc3876117e5565b15611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f43726f7373446f6d61696e4d657373656e6765723a2063616e6e6f742073656e60448201527f64206d65737361676520746f20626c6f636b65642073797374656d206164647260648201527f6573730000000000000000000000000000000000000000000000000000000000608482015260a40161086a565b600081815260cb602052604090205460ff1615611115576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520686160448201527f7320616c7265616479206265656e2072656c6179656400000000000000000000606482015260840161086a565b61113685611127611388619c40611dff565b67ffffffffffffffff1661182b565b158061115c575060cc5473ffffffffffffffffffffffffffffffffffffffff1661dead14155b1561127557600081815260ce602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f91a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff320161126e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f43726f7373446f6d61696e4d657373656e6765723a206661696c656420746f2060448201527f72656c6179206d65737361676500000000000000000000000000000000000000606482015260840161086a565b50506114cd565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a16179055600061130688619c405a6112c99190611e5a565b8988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061184992505050565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055905080156113bc57600082815260cb602052604090205460ff161561135957611359611e2b565b600082815260cb602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a26114c9565b600082815260ce602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f91a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff32016114c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f43726f7373446f6d61696e4d657373656e6765723a206661696c656420746f2060448201527f72656c6179206d65737361676500000000000000000000000000000000000000606482015260840161086a565b5050505b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60fc546040517fe9e05c4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e9e05c42908490611553908890839089906000908990600401611e71565b6000604051808303818588803b15801561156c57600080fd5b505af1158015611580573d6000803e3d6000fd5b505050505050505050565b6000547501000000000000000000000000000000000000000000900460ff16611636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e67000000000000000000000000000000000000000000606482015260840161086a565b60cc5473ffffffffffffffffffffffffffffffffffffffff166116805760cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead1790555b60cf80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006116d585858585611863565b805190602001209050949350505050565b60006116f68787878787876118fc565b8051906020012090509695505050505050565b60fc5460009073ffffffffffffffffffffffffffffffffffffffff1633148015610a67575060cf5460fc54604080517f9bf62d82000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9384169390921691639bf62d82916004808201926020929091908290030181865afa1580156117a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c99190611ec9565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600073ffffffffffffffffffffffffffffffffffffffff8216301480611825575060fc5473ffffffffffffffffffffffffffffffffffffffff8381169116145b92915050565b600080603f83619c4001026040850201603f5a021015949350505050565b600080600080845160208601878a8af19695505050505050565b60608484848460405160240161187c9493929190611ee6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fcbd4ece9000000000000000000000000000000000000000000000000000000001790529050949350505050565b606086868686868660405160240161191996959493929190611f30565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd764ad0b0000000000000000000000000000000000000000000000000000000017905290509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146119bd57600080fd5b50565b60008083601f8401126119d257600080fd5b50813567ffffffffffffffff8111156119ea57600080fd5b602083019150836020828501011115611a0257600080fd5b9250929050565b803563ffffffff81168114611a1d57600080fd5b919050565b60008060008060608587031215611a3857600080fd5b8435611a438161199b565b9350602085013567ffffffffffffffff811115611a5f57600080fd5b611a6b878288016119c0565b9094509250611a7e905060408601611a09565b905092959194509250565b60008060408385031215611a9c57600080fd5b8235611aa78161199b565b91506020830135611ab78161199b565b809150509250929050565b6000815180845260005b81811015611ae857602081850181015186830182015201611acc565b81811115611afa576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611b406020830184611ac2565b9392505050565b600060208284031215611b5957600080fd5b5035919050565b600080600060408486031215611b7557600080fd5b833567ffffffffffffffff811115611b8c57600080fd5b611b98868287016119c0565b9094509250611bab905060208501611a09565b90509250925092565b600080600080600080600060c0888a031215611bcf57600080fd5b873596506020880135611be18161199b565b95506040880135611bf18161199b565b9450606088013593506080880135925060a088013567ffffffffffffffff811115611c1b57600080fd5b611c278a828b016119c0565b989b979a50959850939692959293505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b878152600073ffffffffffffffffffffffffffffffffffffffff808916602084015280881660408401525085606083015263ffffffff8516608083015260c060a0830152611cd560c083018486611c3a565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff86168152608060208201526000611d12608083018688611c3a565b905083604083015263ffffffff831660608301529695505050505050565b600060208284031215611d4257600080fd5b81518015158114611b4057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681851681830481118215151615611da857611da8611d52565b02949350505050565b600067ffffffffffffffff80841680611df3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600067ffffffffffffffff808316818516808303821115611e2257611e22611d52565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600082821015611e6c57611e6c611d52565b500390565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015267ffffffffffffffff84166040820152821515606082015260a060808201526000611ebe60a0830184611ac2565b979650505050505050565b600060208284031215611edb57600080fd5b8151611b408161199b565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152611f1f6080830185611ac2565b905082606083015295945050505050565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a0830152611f7b60c0830184611ac2565b9897505050505050505056fea164736f6c634300080f000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563055010000000000000000000000000000000000000000005821037197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe042dead00582103cb8d954e2cfef495862221e91bd7523613cf8808827cb33edfe4904cc51bf2905442000000000000000000000000000000000000070219041405581d020519a797fb6bc105d7dcfb96be7c300c29455aebf6860bb81961c6b90701191f9402192080039428e700727aab0d6c69ba508778c6466424bf4170da495d845905de492bda6003166f9bc99753bb9f2e7fc2f2ab4db28d5379c06a18b6d3e45380eaf48b7bdb7005581e0321677cb7ed9574e2d2b3a08c940d938c3b42b74e1d375b985344ca8630040305581e0344ee991e099301f9b35b6722e24a7530a8301713840ee5ae80bea89f40040203ab07c7f03f72d689b0fd98bf635b0ffafc7a2e14edb1e8cee6245c8668bb386105581e03e8ff126e174e13c1a5500f6c7256143a995fa8968277d2a88d9600474008474e28e2290f000005581e03d093bc12b2cf95c1706664ef2dc2dff91dfd40d364520de8efd2d5e4f008471e44af9b27db85030a77d0f055bfee4a66a9f5cbc09d1cc6d24e49e7a427cd1465f3f0f6cee37ec40219b7f303e35e3b1a7e1bfd2a70a0689c6eba42e0fa7f97e7902e4ea891a82e8c865459c003180c7b25ef0934fffd7c79369caa0fdcccbc56cd773d9475a60a6e823db3cb860219ffff03409f9888cbaf90142ea030b4ba628138b278afa74d95e2838e1965fe517ee0e00219ffff03cc8615d3c865a44822027e1fa2f9b1327db7121596dffd6ca9e2dde43495cef3033de483f4714e6c8f3369ae060a05101d4101c6b2ae552d9fdbab749a80104c390314e8ae8beb2f5b63001a2e4213586482b62a27eb7748935659998f6b3ba7737c03e6d04ceaa51f85ec1bfc9e277646b02d09ad9ff3c890ba0a9d8f78c3cd9b14160219ffff037ae5cc9f2e615013f94b88555a1eacf77f1242cde94d9e68c4bd62e386764392034fecf80848d4e6d69f1f7e688bb3dc92911e2874b246378cadb153d4e37aa50603eb0b65ee60f2ecb5919dd6ec0f01de6950ea37122cd95aa515be40a91ab2078d03ad8e88e745746411b9bbc9adff6e5e61090708fba111e8e5338115c10228b04103505726e96acc7a9fb431d739c65b8fc4de32969912826bb22530550a625f400703a7025e8f02377b0487194bc79f1223cf8ffb2c0172d3517ec23e9a3898afec9e033c2f9c31f40916e104e5e6ecd6263064813ed2e1105d9bb74921ef74a188a06f035106c5eabcfeea1720d72f9acb244a2d41a528d4deb73011662bfff447ff81f4037cffb9d5bc3fd7dc2efb631b4961e6013d916d5983f7c58067f2def4fb97e9c80352632134cf40a745ff6f91aedc348339be3cbc9e24cd80ab6117c576b4c49eac038185df1209ff49413949ff751fc263b869e08cd30deff1656a6d292fe68d5c5c03c9485ac5051a2f9bf85fe5f1e8c61c3b4e7c46d00849df0d56434b533e1fbe390330c24c55fc4f4d0d5ea3627da53d9c9016a9b74846a0b64d7ee372642b6d693603553037359653a05d09b6eb8a145b1db95ada55f535330590410b90b568d7cf27033ba87618bb476b16883902f8a93914e9ab70238c5d48c88bd2f64a1e6dacd0210397ff2f42cab26b5524276dfce377e8636773895613086ef23395b38a7b8a1525036845d7245320a7200ab8122d3a3595c560e56abe8a82d9bac3f233b846d6b21605581e032088d4cdff1675588cb7f11f5b46e37977b4e1750ec56d25af29d031600c1047216fb34110453405581e03ee82f6de247366ce6e232c66a96e8ea487a4d578aad00c7439a64aa9800c0147028beebb69aad9033f9c4aa601683e559d48c4212243071b9234d79ed386f28883eccff0e209d0f00350e85f7cdefd646280cf571f25164f094929a05547fe9ac62c750e0914f554aa05581e03fad3030dea0a12ac510cd776c37cb54fb1c8256735ab1e6ae573827e900c0146503c51c318000315f42b591c64b34ab4a0948e72f43392df653ce179fd45eac5131158d190ece7037d786a45560f4caae094745ce1bea9d7bbd8b4806c97e229ddca3d3ae76535d5039bdc088f701257d250a927a3fe26581afaa5fb0beeda77a57eb219b600f5a60505581e0396221110cee290fd168db03423131d40bc5c8fa0548fa879f5ccbd0d500c014704cc999a70f8000219dce4031e3848cb1c95206174e676468f88e7f1dc917c1b06b59146593c950ba92813410392533335857d4287c1412a3f540ce7cdd320c19f74c22b74c93528a32c1cf7dd03b4e6af6d9908de70462d2b0f161e6e3976bf789c21eeeb7d593593e036726f290333e69ec80dcff9dceacc0f4a02f285e9c0795a2dd9f9ab857ea817c94f20456c03f9f7b0ff45023d813c6d08d544ecf74e9b3b72d759af9aaf8446625378f8a17d038d42b6f27ad4ace812a979dfd1a67d58776e49025d9b478b2ee20eb3d3202d7a03baa8c00965e66fce606826c77801f922c75b70a5b681311890dc2e52b1ac398d03de130072d239a7025385ad58975a3383f68371ba6a1e3b20a9626eb893def6620219ffff032de5037ce619981224bd40e0aaa6090318082b8fd9e0eb092844e42c07afdcf403dda3c0dd265b86b5403dbb1dd8e8fb95bc82f1f8b7b3a6f02ef7471570a5a9fb032f21054457e4639599b43b16a00c3076cb2b103706e9728007d485ee33854482039ab69c0db268d4baa2563f67b375800b43af2f5d90022906aec64fd3a7b99914038a7564946e7942827327375780918a9f6ec8396809644a4cd3a51c0c75173cba0379ca00d048b428254239596b369b089544029e3b27771d9d65286bd8ecdffe1b03d23dfa3805d32d915535abf63e7674e9b6b33c3b0fc6e62c7128dc59dfe3392d035275c072811d23fbd9e3159107927dc64c84ab834bad7b9babffcd07ba14ccca03073e2f62e074de2d43378b826e381192f4a975b0d7f060d2c0f308bf970f935e0219ffff0353108baa0600e9197073ebb691f48694a4ff8a8b4f1717b4ff079693b392c71003ef1dd7bdd024dc8f5d930907bf940cda2d5ed2511366e59bfa46be8a5242bc59031bc4e14bec81075005e3ab9a815a04787ba7a7aaa802cee7aa7b0927aa7ef7ce03453959137818182f18c1fd7df51c9ac485567dbeffc6e0c4215dca3a1b82b70a03944d672695e0b6eaf95e068f904e654c90c6400ac0abe2989bb4dc1aab635e53036b84d8c00126676b5eec547c660430db8b26706d1758c5ee999c2bbfca552a52034172fac84f32c01e3998b975be971e380eb02ffcca0dc9b135b113048c108ed5037bce2ab90b299af2d2201551684ca149a6b6b591e3952fbb1108a4117c15a39303d571ee223a80059b9ee63d24dda6d151ca6ca814c40779018d0b6ffe2387b9d80369a8b3bb6241912c7f193691d7295f66fcbd0dfc8501523b9d8a8c31092f80cb03cd3e74a46dc4c13701befb61141954d0e631fc31188d128d8e11498b350ed16b03f4bf7bd13d7c11874bf615578936b3953a0d6032aba575a008c0298186b11e570219ffff033ce143944057cb3a5f8aa599de4d71096e123a1084f58a0bf0794ead7cff16df0219ffff03cac22b629fe996660408e8e1bf82672aa410d92421ed04255000fbba72ba074b032033a38ffe69a85279bf95860a050300811875e2d6578588ea021f7dedfde4c103e40e49056a580eebbd924632ac63d3b3c394d6446596eb9562fd8396c1988c1b03677a5ed468262545bd533d752f2cabdf6e6490b7300e63199cc3b4836d712d6b037a1da6a13093f857d3cd6a8b5d2bf3fa0c04b66cb4d44652ae427865229813ec037234ca069f3ce69b9d9a8380de88a8412b7c246f5a806bb034a82725ec25885f03944c013a6bcbce3c49e53bf833e964462ab4b05eee9c1757823f7847b13328d103390a41db3aef119f7cac1b5e45b8344a7f6e7714f7d07008afedc31d473eb2e5037e488dc2ed353f538b1ceb874e42e80ab0cc6775e0a91396124a65d295dccc23039b9136a6f615b23a52e932d356a621f0e6901839bdeab2d0408874e9347a516f03622cf5ebcd02dabfa6890f209de238c4fc1dc1f7203132005bde8f010eb714c4033e083828fc08cf0ea05021393c59032a72edde7d57805b13eaa676f6f910b044034553c96fff5811b0e1d6c99ec230e7a3c7e0a9142031a236e79dc454b457d89f03e944ed1fa85b25b874d34a8b98b342f74c520cad41878bef0ceec78de7713dc7035296b98b23dbd3a7bd614fa31b9dd57e1706f77047870995b059b47248c307ee03cef494b9179515efd4ea51abeb4c1ad754001e58124eaaf68445de886c8b3eeb03bdd6e28fdd0a99061cf378fa8965f4722d9060e087123a4562b706872d34fa660383a9e193b5a9435563e7faa337aced144a71cc46f135ae1ca2966c4686d976bf0304f4385a7e24dbc39bc94651adb17fdbfb01088d88e294e812667989cf870e0103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0322baa776744650a425e634919e51562989cf968a406f07ea8ad1229df007011bffffffffffffffff05581e03de96fb9dd123ccaa062d976a31ab4ec33e788a9285f675081cf36d6d400c0247017c4759ad374803fcc6df1e53751f79cd7dbb25c0adb6b7696ea0ba5d71bb7171f04b08bca90c4105581e0397e71f563aa8d23e551167098ae3dab36d40756bef71836afc7a4994f00c0147423814086a3da805581e0380cd766f7f10f715c9023b85f96e9f6ffd22a54d2fb5c01f445c4bfc00040505581e0383692f575cf200e04f39e4da0c94e97b76d713cb464db28637e3d04d90040103889afc3705e506850773017937308623f8f196254f8b9249ede8aca423907fac03555208d41c8325349a285cac79117c31f166df9353bff147ad6404d9b0809d4f05581d02ac00335a59254876a377c626235c9d872dcc3df6900f70f6a6735c57040104590487608060405261000c61000e565b005b7f000000000000000000000000d01f6a2e74e8484ee59bd686e7c5087068b599e06001600160a01b0316330361007b576000356001600160e01b03191663278f794360e11b14610071576040516334ad5dbb60e21b815260040160405180910390fd5b610079610083565b565b6100796100b2565b6000806100933660048184610312565b8101906100a09190610352565b915091506100ae82826100c2565b5050565b6100796100bd61011d565b610155565b6100cb82610179565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156101155761011082826101f5565b505050565b6100ae61026b565b60006101507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015610174573d6000f35b3d6000fd5b806001600160a01b03163b6000036101b457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516102129190610422565b600060405180830381855af49150503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b509150915061026285838361028a565b95945050505050565b34156100795760405163b398979f60e01b815260040160405180910390fd5b60608261029f5761029a826102e9565b6102e2565b81511580156102b657506001600160a01b0384163b155b156102df57604051639996b31560e01b81526001600160a01b03851660048201526024016101ab565b50805b9392505050565b8051156102f95780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6000808585111561032257600080fd5b8386111561032f57600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561036557600080fd5b82356001600160a01b038116811461037c57600080fd5b9150602083013567ffffffffffffffff8082111561039957600080fd5b818501915085601f8301126103ad57600080fd5b8135818111156103bf576103bf61033c565b604051601f8201601f19908116603f011681019083821181831017156103e7576103e761033c565b8160405282815288602084870101111561040057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156104435760208186018101518583015201610429565b50600092019182525091905056fea264697066735822122027f80176059c85af4ee8751015dd9e5db167736b2eedc4be4d13ffc86fde444964736f6c63430008140033034a253c5a31ee48b37b58ba905248b8c7722a7f481e6e6d7c350a06045c113eb403ec7a947a46b07b67264386324d346fc6bb7abedb3c948055a578b480b76c8fdc0373a5b5703728f970a7d2481375ffd0d8acb46262d7c24e372f61c473dc186b9a03a85b28b199e980a99d7fa68ea0026e3d3723189d4cb0ea8bab200d7b4c01223403fe27f5f514aef5e87cc254db99f2f019a69a6b1517808581851793d5ddc13261036686fa57bd12455a81715ee448a266bdc3922bbd8088a9def00e2d64fecdd8b8038540a01752fc1449aa532c3c0ce2ac284f0d0c3766d2132f2ad4323b21329a6303a68bb97ffc66daa62d6249871971cd92fb4c5a4ff1d2c115241b476b48ccc12a03034f09e33412831c17b2b0f4be838d09f63d473569714a0c3e64a8e6b7cc37c903deba5def059a961026cea9e012fb49023d095b26f58204687ed988764daca15f03ea2d99393f7aabe0dd5fa65f4469dbb64eb5272aca953efc049eff2bb1e76de200582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630549e6be44cc1236eef7e1f197418592d363bedcd5a03917ef9810d530a31334eff6732bef494f3ca3ec76cfcba0eb5e5e98d8fb685a40339c2bdc86c95548cc3cdb5be61bfe1642493de5ea8a38e46b3de0e80281ebbe400582003db8b6fecf1b2d5b3458a2a8b5f1b84a9b95c11032e6ca7dc83978f0c952170550100000000668508bf00000000000000000000000000582003c518cb655513e3786a9a4939d4abeddde1cd6217555306378c43ac0b162790581d03d0cec4866d391560c000a15f5fdc2e91ca9b21c198854af414d2965103cbe53228daedfcb8b771d498660d43e71dabc72a0fd2e8c878661f429ac4afc600582003d328a1f5d1d2d49b706f0d053aeda65c1ea65a48746830514e4b41c123c6805501000000006676136f00000000000000000000000000582003e11032c71f3a29f7a75e1bdbdce477e2b8ad43a1c04a1c5771dc64d4bfb410550100000000666c14ab000000000000000000000000037074405f4a2ed8f1988bbc591790f1946ff4b7f5e0875ea07be45903c84f98f40058200322d4448cb6550874f6aaa115352be2bcc1b029962c90fe6f7490d8366fe6d05501000000006673baaf00000000000000000000000003d5bcc3fb4237cd71cfdb50e7d20df031c6570254e8239948ed1805dcb1cb836f0393da196a15337e5c86815cc70147f793680a016aa9e28fb844982e7a4162acf10058200340603d03455aedc86beab0b0e4eece73699b0b68c57e484fddf16d006911c0581e012bd0d6222f997df3c07013338fb56e16395437cc708a87993be3e86d0a0219f1ff03e5a78ab90806f6063e89032767be1018365589f231149309f51fadcdd6368b71032c5e34f5d3b35e41868568459b3a499bcd4c778d69e0f60e7edd20be6198c71f03470725d4919e95ff77dd4fc9901256e869d3fccf15ba7cc440558d03e0c5618703209b6740b651ddf61ed04648aa2333a3106fcf70db601bfd94ddaa536ce3937c03e093d46d66f0fc16a603126aee19e1a985b5d920e8070007c78358cf0de37aae031916cff4a248bbaa059a071af4b7477b74cc2f7ca02434cbafc32f72f96829680219ffff03a72777c6928bfc024fd5f333078fb38110724020923873a50cc3161e6ad304f8037e9c8b9397ade7c319a762025b297cdbc3318b61bf977f5e799d146d6cbca128038b7e4a82268f99908b89ba41bca3e8d11553d9b022b5fe9a8cb03e1b9cd3b94203fc8bafd962474a13a10745439c7e481c314e227c411eeffa33bfa7c10d9f162a0320e348ee022630dfc247b03fec412eeaee4241ab2a56f62b3c4f72647454f6af03f09d544a23529005f9430161a0837c14c68e0cb377dfe30b8e38a5c1a94fce6b033e65d408bd19c0a3f1b44ae53fd5b0d0a610d557429c7b4c5171bb2cb0d479cc03287cfdf61edcc74a2ae9fed70d36b420c14f9727bbab8462a0a7e45535b33151039cd17fafbe9c33ab63c1f10fd937911538be7d5d8a809a60c462ad97a8d0fd4600582003febbc9691f326c608f04a4c545bbbf28be3d9682e2eda482cc7382321380f0550100000000667f5e6f000000000000000000000000030379d1dc75cbdb89b9aeb18e16608c63d30ca3ea9bf0500a937a43078328d71200582003e33f4332cbd700be95ea4bcda21ca54c6732bb50aeb15f8cbf7dfdb6f79f10550100000000667c1e9700000000000000000000000003a5e4c1e2b364a4b4937860107fa54260452b5901ccfe0c750b0c5d5217548aa1038ed502db1653e4f7bc25f405d79ace90e58967b3b40349b58ec340b71b15a839030f81968736ced27f3bfa80632479f779aa3120b44d322734f05e6e0e7c8deba10310fc18e83a91aa230b6b72d4f75e70582f2726115c908f69ba9fa897252467d0005820032d734138cbbe4cbfd5e5d440c4250480a0a0d9eac6c069f4777c75040ef0b05501000000006672adcf000000000000000000000000039d18768cc0556a4e633a69431cb50188905448e72276562b34aa0dd41898305d03daf44304a4adf706fcc5211dcb4448fb1a0021461baeffc97f2bb7fe2e4b068d0058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0545da21baf58699c916182dc218114441c9355f3690364475046b65cb32350f60d746e78a3f400458ad252decc1b288b21e26928820802191fef035fd5e9ebbc2f6a365cf9e91714b5554e643dee043b3e3e1e3ee1c3a30b368b55031c9f3aa183d97b7fb064e251c9f8b7c23b22229222849053458dd46342db1ba203b029c85d955489bf0ea950df34dec0d32e4910307175414110a6502d26769e63037b0741caa68a04c1960504457538f89a5e78b58c648837e86d2112c7e2e729210388278badd83d8447b82368fb1f5553da03ce5e99004e91df993f8d8c1cba9b680317c235bff5f454d3300bb54eeb30f28090f548050e641e2fbdefee9397c2e10e036135976e46eb54cd5223e0eeec8e38f1b91346ae0d12496e465f8a749c0a7d1a0370d0683000c248fe66049b653ca22bea167eea5370c6712a24ab64329930a1a30346a0e5f2ef69ac5c7fc3b84aed0bc83435199b23cc9b6a28114e7d9ef113f7cc03a841fdc7470f2ec0e973b808170daf8f051f801e179be41a32422dbc090265380219ffff0343dc2b574fb5f689e1b5314fff14d9b6735edb8f7c5654689ff48cfb28d1db5d0338434a242495512166f03659c263edb475e091291cf65387c8b0e0ae4117e64b03da5f3b6013bd832810bbfb5b9d021c3e9fb2285c100986aa1111654c921be7d10332a7d896e25f8e03b089bb8b89bddb099c71141612a4ad3d8a150395e4789240034a12e3bb48eb6071fac7176d8e36613c374934e7e88b8a2cdf1304048a20dc8e03def0ad9fff57c1e6b7b70ba5677515c3c35da959397dcc536298215c46bafe59033c21cd26d37ac281ca8459a0797a2e0e89698f2733adda043542537ad516b67a03175e47342ce8645758230f27dee55ef49a8e7d2fa30f5196eeb4ea32cc42b9b903ded2e86c787edf7a9ab732b929d2ee795d7c4761bf32bc14de879ede1d8f7ac3030560abfde293cb442b5229168a4676e6b197430be76dded1f5b020279e9aa19f00582003659205228322b801985a88355eadd3ad6fde522e40918012428bff4ac5964055010000000066751d3f00000000000000000000000003dd13c30334a0f2a5b0313369f979aee9e0c136895c642fda71a1bc38857a7b0c00581f02cbdc8002682409842feb7a03b4baffe76462781d5cef5dbc684d70add5e0581d3635c9adc5dea00000f86dc02d2f87484409920293793e4ab52f1176dc00581f028e81186cbc09e832a71adac3100ad79e24a201e8cdb7b2ff0cbd3dbc44e8550100000000666ea21b00000000000000000000000000581f02012154ad05f4ad21ef3334e8545b386f94a065d9a1a2f97d3f47c60e9bc9581d3635c9adc5dea000008019c5982631efde447d9f7f0e2584e6451b4c0d0219060103194bbfa08ca25bcbd8b1a577c1c3309d24c3e69a11f64ebd355fbec300d6a59400582003c4b7bf7dd6d7a731a000f5ba432021ac455d00f86976846d2011a11d832280581e0173245e2e95bffeab8079c4213a328e3b4f1d87b4953c14759399db25e2035a6cdcb9ec6a15c69f1030533533e5e97cfbaf1f4c30e7624329672dca5e5d150397616e107b786c37f1e224d78b290ee9a8fce905137ba3493264381f3f565f7800582003e970e2008bfbd6f5e762bf3e0f6e65c43c1c5263d7af02c94fdf4dbf5fb6c0550100000000667741c700000000000000000000000003ec0fe92e84642d8296bdc2820d672082608c557b083e2a211c0ac82b1d70758d0219a7350058200334c3d93bdcf15cb3140536aaded55acd6e788b94612cb1e2d9aa09e4eacab055010000000066753bcf000000000000000000000000030ed6893f52c74f5e7ddaaa7977a98d5e978266cd23355993a2279c066dc71036005820033fe7b1f82fbbd8321c4c2e47d7b6ddd9d5cd2f6d2b501d8cceaf5e90e1d380581d052b6afad51ff3fa905cf25606315b277ef7f8e9df721d67b1607e7a080317efc8d742b68e8370f3f25d45a07b3c3bab3b1d30af1328055e19d50c13cb9903da6308090b4ed682247856a9215d606b147b1e2119d3d99e91374568648e5aa9005820032a790b92865c1f6cf7d06c53fde147da76d9057783c0cfc42ccd6321c5bce05501000000006673b95f00000000000000000000000000581f0267f6e775c4ec26719d7d89550f7f67f775e65e64334e4bc3db0d5cd34ecb44668778a700581f02b19ac54e4d2059d252a9272b2eb8c395a5a7c1c4fa1780e573ef6d5dbe44581d3635c9adc5dea000004dc69580ad254362b5d455563e55922a0fea25140219801000582003a444293facd46b5d3b0be129f6210e1fab88e13716e91d332b8ecb4a7d8a00581d2eccabba8956615260ef96bdac3ddd19079bda909c2088e2314c5230e90386cad361aa08fd6355e323dd750130dd8b88b02e19e0807d314354d53c34b1cb00582003ce8fd084855cfd466eeaf5c299c9377882fd5fcbe50f99d1877e67578c04f0581d20d5d649b98b7d3b002907cdd39f9d9feda4fdae1a3d497e7dc0bbf7f8035414744ed8aebffdf7799f483b9983c47f0218698ad0c5ee25b4e990913a67f70219ccbf03fdda001c273e1b002c774cf56bef8d257bd66d7e64647500a1f378be10cde83103c2b3e5833a53ca14233c44da2bf7c815c57059d44c98a13ea0020ab9a0abaa230332c6804c7676c110b29ab9a3fdbabae85f4ec47bcddbb6ac7cb4667d6c50208103ed9bc9fd0b1d748caf6c8ca99f290d5a4d208050d60abd27fd3884120d08a881037c3ec87ab9b4f883d66cbde615ed847e56056f02eccbdb747bc71c19308bf53d0219ffff036ddcc431696323c0034a741ae6041ffb1d17e5fc6b3565bd4a2143195e6e9a7a033f60aff1601b4fab9337dd276626995b17a3af621da69f723afafc51f9d85e1503591a1ac8303a33c1e39da515941d0fa73f6fd26942c49d7a3320d33d527e8aab036e4b17d9db14d6d8b2ed2150b9f7a50ea54317528b18479b50e07f87cb62f0f503d1e123f5e31425bb1bf5505a054e22e4322dc9b0a46574e2b8bff043ae499d5f0312d2f08d5511f001c339e27ea6847524d72e790188cfcc7d257a73cc04bb811f0219ffff05581d02b8893dc2d03491044f670d3a7ebaa679e45380ee0a8f05837f3b378407021904870219040405581e03a3d56ee9faa2fc730cb277c1f70f91261e4be167dd1350e9f38d64f5100c064672cead4f68e003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03e3ac24243005d0dbc9fbf0d774dc9ef09188882e7ed702d4a129a09d3007011bffffffffffffffff0219ed7603cdad8310db47cc7175ddef0a5034dca953ce4b9c4cbb7878c394f28307eb1d5c03ed0ef93be19be08db3f821b5721b433500d1af53759eceaac6d8b8060a01e2650359d13de93251578d4f3115cbc7c8175f79b0cb30673336b234f8394ffa6fc95f034452075b661150f68ccb97bba9bf4c5fafeaee0ba1f8a1207d6ad35f88a2eda0036d028d5afa960365d5cb1ef90e672aa0f29172e8dff763736807924b7f035e00036ebf45142241e8ec5d7aca7caed28ed6acb46f7bb31219f0c81ecaa3084162b403a6994cf59a368d2cc56ebd0d7b93af4c0ccd2651f0586296b2488322536b5a940308f72fa3a7c376d5197b476536aa9a7cc1bd1fbb21a90a19f77539c59b44b04303b7840687aa8930930f871c8a01a668be63b056d51bbe445549fd55c336de0dea0300509d30ce14bf96d6532bd783b463eb78af2d2554c88c92e4e269c5fa982f2803814e110f8dbc72982ecd5f846c1f00aecbfdca788f0f42f3b16956c532bfb43b036e1c641357ac14a2adaaf948cd90595ec71e94771b869e15b69db0477d88438a03ac35b1ac862aff3dfc7f71d5b4cb59ddaf20c7621deeee4f20d8b123b75bbc22039f7983ac32ceec4896d09d3fcc3bbfc4c2d486fb6bfcb8d878abc456639e1ba20219ffff03e5a865e61b3e583e2dd8a1f77b3d4f687499915c56d07a0af2abde9e61fe346e0366ee389c1e90e982d34c1d19b5e8c48a800c5167585bc7a55f6ce85e39deb7ca03b9597a108c2ebc4a236bd20dc4b9548ca80a0dcd218a6c34462afdcadda377c403ce454344957fdfbe5907bf83c34262e1be3f1db016058357ee94a8fefe13139103e43728b324ed982186d51e81a01bd6a1c3b88fb2d2998e3ad58181815e65443403c175b5255a4a1319bd3a7d948836ef4d57fcf1248e2d8193a970eecb646a9c7e0219ffff03a9e7dce201ac87e78ed620ccd933276b4df7582dd5a9c2a12f0fb303f3b21282032a49ab81773c0f69b249599f1999953199158691f8b28d970b11f4084fa01139038ac394a60f7f392cd2c1b576aa0f4184b4802dd5b24c811111205a5564fc6a130303c63918e4f59813c9e915ee6d784147f0bd7ccc62856bbb5523f8f0ba2e4f4303f9c1abc4ad4a8d2bdd7a82fbf29a812ac00e4b2b6a9c8809b36a60562a25e03603753f3d29fc75c3abd05792a103d30d83a3765dbc6fe361c5b4c92b6b7ee1fd0703994e238f1565c38f3b1964b75439356964179e7eecbcb2b5bfce6730940ea766030736691f89634a05e8d068d55601ad34f62fde3f9605fe10ca70206c294f0e7e0372f82c032d6e3e48bad2cd29953a1584c1175604389ec6d76b9156454b5dd28003a61179fc3af20b297c6855231907957c2682f86df16413bc9ac65ef7c09875bb036e37d4289612aaf6a976167558281224bb6cf19c5dde9f3f29e318a4de9bae1c03df25bd9909af1af32bbbdbf2715a0b0eb4d3d9221925e24b2c45b4224a3f203a030b84aee8ef806855b5409b82992135fb526f265358204107c11f07969cf8ba4703c851a03304aaaea3f539feb563a5f6e68b6f6ae18f221dc24e58ba58bc702b6d0335551a33c6946132f328624ad488435dd091e52f85871c16c1600158fccf5239030e6c9088985c73a461b9ac9479ad917a5abee87ebdfbce6230022ac265bba63405581e034d8a4491a927f65267672c55167c6c9665b5e248403810070e248d111007011bffffffffffffffff039d1bd6d4e9f3f3012a9920a61539861b25a19c5ba9a5b75cd6428ca927878dc105581e03dc8e377099aab92ee7977ad2779c8a5581b76fb68d28b129b9f3d6dde0040605581e0339ae9103f96dbebec45f65ff9e67266af8185d1c45abff6fdfabb600b00c0347a376e5662d045b05581d02f2f03cadf8c2b6420b814ac77c1be10a2816bd58c275a41f4e2d05260c0d47c3f23666fed2fe05581d02129a4933d67819b72296e89d143002cabfd25860e808863dc460fb3004182402192002035ae8438cda8a8ee967f2ccee23988d362f9f8ca4a15d9070c60b5037306dfa7a05581e03610c93ddef01c1ebc63cb69ee5ab3b3279dda99ef6ba92f654963c4bf0040305581e03c01a03cbfa880865644ff797ce2076366fb6e29b31ae701ddf21240200040305581e0388c2406a54916fe7c597caf851e22ee927f19064ac906e2ab7ddd6b650040103853504047661415ff064d68cd909e2654d8f24c6a66f0acf45fdd6a85db2f0cd021957b60355a3a8e0ce9b98dc44f3700bbe3f5facdef832217204b61b6583c0900cc9abcd034b48619a6a4072a4f43b98b9453d9c5b6742920c22108c87d8472f1b9ed60156035ec743d2ce3708ea8dee68a0f569cb0177c3cf942746c32d5598cfe02114ad400301b7110bf76d1fd8c891c719e4d002fdafdfaf12c9e4ea24944abf572542781003c72836ca1f3b672af09a79f38a039a39d8dfd7df378075a3834713a789ffde6703a9fdd3388b12ae73df757528371d6a94dc0f3e3f1c22cd720b1c488f8669b58403de89a675f019d2020005365271e1db2a001656abfb15db37f102cfbcf71b4a470219ffff038fbdfb55de03d78251fb00c867fe789f6177a4d24ba642bc3c285ad2159641d3035b735f819c8ed7e960a7179b00455ed25f6c58032899e241935e6a85be9073d703c91eeb159d05a95e5b799ba93051bc4213e204b6e78c341f220c19f88eaf7b320333d4ada9a80bbc6b1f1b38eecd7911f1957250cba776c6dc79b7c43a267f892f03e944ebf368f939588f5d438199c328c78a6e024eb9647bd54dfcda6c4490505603a1a8c8c739eaf674efb8fb21c27cafc3e4f51198e2ce836eb66b122fb8c7f8e303461c6d24d7c8508977f47f401df2a17401c863830e9ebe147bc1df0da7ff1a04036b0f06750c339cba4e5fd22c36927a7caae5a9ef0ad55cc5738901b00266e4cf03d9bda87c9cc19bbc9fd7edefd98025ad9ee090d1afaf957ed4ef9375e4a4254003b12d3624085d814678f76433369936fad1dc252363bc5dc469fb8c282fdf241103af480fc44b50f383379009526ef2253735e6b8b33948ea3d43c8a80daef8cdde034762c7e9d310e257c2742cc0999a10b121a95e02f8cc76d2776971fcd297ff3f0219ffff037f0d60e7427e378353e8021facea0f77f61ca75df94177efbc0448cafd2160430392b35168d448e07bed98d3d9286c7806dd2da3a6f7baa716b15e137f7e14485f03811c542084fe6573a5b0b9b6b64db69aefd44e76975e53f19096ab82d7b498060319d174a8c59a207fa260fd885520bff1ca8714bf66ca96208d7cef9c74c648bc03cd9d75a945e6d8fb3cbed7c28d6fd9e6e120e680dd9769180dd0b1a114a91cb90219ffff03e7bfbee341a506b7744ad92eed41c65acda606ce8fb85c9210f8e0dbd108423a031a147344293cd99c328f816d3cef09a38725de4722847f7f023bc57537bb5d530357256f842b1e089be1e5704fd33d6efae8eeb18039d11026b58431236830958903ccb1ec3f12867a3258c77fe2ee58b6865874ba7a5c3519e867926df80dd1ce7c03cfb6d594bd3e1101f7feaf321f7a9a57108c148a8d362823a2528d3e9f046fdc0377c7cc736c10425c6064f2bbec302af5e346006047f36c825a6a30b6b3f334fe03f1481e3afa982aed7e89d9ab973d4c991086ecd8af718fbf7e98d17645e23db103e4f8a494d654046ecfce8d03b025b415e74f5dffbe702cc99b6c7a1e1eb3bfc203cb79583fa9e0896df40300cd80ba73cbdbadcb7e65297cf108fcfa40e2a476fd0394595506c3c07fd4147444448565369ec4b0d2b21d070480115e12cfdd58a9740302176231cdb92e9e8c9b34d4f4bba3128fdaf201fb62491616e7dcd00321bb5e03c12cde7e0a0b821f3a6fad9b7254744085f528e6c1062654758577c08cb6ce5903f3dfadd4d477c28a340feffc87538c09ab9172d9763f6eda3c9c48838a1ccbc4032b4b8ed1544dbe34ad85b56136645fe8796305a2f6d0616389f932f90812086c0382999277be653eb31438cdd77d0c855474fbf5f1d5995c8a7f11890f2ca3bc49036f4cda017b37ee979e185cc876059dc7e40e4bf401b153cad26c6d5810bcda6a03d2c1f2ff23d708ea6ca0f3dc84f451071ce62c2b14bdfdc5a53af033a15df4b703d44e37e3e3428e6cfd308237a2f663a1675209620fdd594321fa260e85701a47035466dde7ae8a77a904207dd729e2decb0da836cf259e21482c5ec7b206aa69ce03e8ae3dafae09aaf291dc143c7d6c389ad795fc7593ebf63997a75f47d2ac5639034715c3c2082c7e730158190139e5efef038c4fa36d941ddec4f1eb5dc8f63ca103d5cf72651443d2a0a4e21dc90bd79655c5a82afcbccddb1edf0d740f427d1bef03200d3edc5550b9b8f5c2f6894cf2974663ae7bde9b8f8709af147dc4e4ca371303d6afcb62248b232ec668c22bffaf9390e62b3371a4c66949ae1db871964ca24f031381d456296847feb6527b96e7ca7c0e73eb335effdfc817807017d8cbdba2820378e1087447adfedce929b686b967ef784005774d7aeb733bac2e6d64b3243d83031e427d3129816325a1b86862ca308ab0d2917e5d96acae41701013982b90b07e03bdfe4888a7f8e6362427b3ea0632d74873fdedc45ce50ea0a3b602414af93e1e03cf818f905934d179be48d47ff8b979b898223e8b5db24dd0341f9e868fe8d58c03967fd9d1cfa674cca741ab7bc388e41bdad9800ecaf58314ad137206b80ea194037d0da82228fbb5a6d9376cf9d28edcd4710a7dd41b13940c210314f31ab57f7303b0071aa1939786d3e77e6e4c337f792659d44e40d96f7bb3fe8fc166ef9f1773037d45478846c43945ae88d8c59f1a50c8c3e980c3bf61da27ee5b6faf04dec0ba0326b3e0627a2654c351dd1ce8b2325a66880fa11ec72e97478576acac98b35f4805581e03e02071e958f302dac5b0b22544580907ec26acfdc95cbaf98a25f83d60040405581e03bdc0c1c4c73f7db193ab97079deee0c441bf03c58862d120d8e6e0c030040103f94e0336d07b27c2d39704195b7d3840d19e22ed104c82ae42ef8b094159d85e03ae5528620e975af483362afadbf04116c016e7afd9b36f7a9344888ab67aec0c04591adb608060405234801561001057600080fd5b506004361061021b5760003560e01c80637050ccd911610125578063c32e7202116100ad578063df136d651161007c578063df136d65146104e3578063ebe2b12b146104eb578063f1068454146104f3578063f14faf6f146104fb578063f7c618c1146105185761021b565b8063c32e7202146104a6578063c8f33c91146104cb578063cd3daf9d146104d3578063d55a23f4146104db5761021b565b806380faa57d116100f457806380faa57d1461044b5780638b876347146104535780638dcb406114610479578063901a7d5314610481578063a694fc3a146104895761021b565b80637050ccd9146103e757806370a082311461041557806372f702f31461043b5780637b0a47ee146104435761021b565b806338d07436116101a8578063570ca73511610177578063570ca7351461038c578063590a41f5146103945780635e43c47b146103b157806363d38c3b146103d75780636c8bcee8146103df5761021b565b806338d07436146103235780633d18b9121461034857806340c354461461035057806349f039a21461036d5761021b565b80630fb5a6b4116101ef5780630fb5a6b4146102ac57806318160ddd146102b45780631c1c6fe5146102bc578063262d3d6d146102db5780632ee40908146102e35761021b565b80628cc262146102205780630569d388146102585780630700037d146102625780630f4ef8a614610288575b600080fd5b6102466004803603602081101561023657600080fd5b50356001600160a01b0316610520565b60408051918252519081900360200190f35b610260610590565b005b6102466004803603602081101561027857600080fd5b50356001600160a01b03166105eb565b6102906105fd565b604080516001600160a01b039092168252519081900360200190f35b61024661060c565b610246610613565b610260600480360360208110156102d257600080fd5b5035151561061a565b610246610638565b61030f600480360360408110156102f957600080fd5b506001600160a01b03813516906020013561063e565b604080519115158252519081900360200190f35b61030f6004803603604081101561033957600080fd5b50803590602001351515610831565b61030f610a20565b6102906004803603602081101561036657600080fd5b5035610a35565b6102606004803603602081101561038357600080fd5b50351515610a5c565b610290610a76565b61030f600480360360208110156103aa57600080fd5b5035610a85565b61030f600480360360208110156103c757600080fd5b50356001600160a01b0316610b72565b610246610c63565b610246610c69565b61030f600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001351515610c6f565b6102466004803603602081101561042b57600080fd5b50356001600160a01b0316610e61565b610290610e7c565b610246610e8b565b610246610e91565b6102466004803603602081101561046957600080fd5b50356001600160a01b0316610ea4565b61030f610eb6565b610246610f46565b61030f6004803603602081101561049f57600080fd5b5035610f4c565b61030f600480360360408110156104bc57600080fd5b50803590602001351515611128565b61024661130d565b610246611313565b610246611361565b610246611367565b61024661136d565b610246611373565b61030f6004803603602081101561051157600080fd5b5035611379565b6102906113a7565b6001600160a01b0381166000908152600e6020908152604080832054600d909252822054610588919061058290670de0b6b3a76400009061057c9061056d90610567611313565b906113b6565b61057688610e61565b90611418565b90611478565b906114df565b90505b919050565b6003546001600160a01b031633146105dd576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b6105e9601060006119fa565b565b600e6020526000908152604090205481565b6003546001600160a01b031681565b62093a8081565b600c545b90565b336000908152600f60205260409020546106349082610831565b5050565b600b5481565b600082610649611313565b600855610654610e91565b6007556001600160a01b0381161561069b5761066f81610520565b6001600160a01b0382166000908152600e6020908152604080832093909355600854600d909152919020555b600083116106f0576040805162461bcd60e51b815260206004820152601b60248201527f526577617264506f6f6c203a2043616e6e6f74207374616b6520300000000000604482015290519081900360640190fd5b60005b601054811015610787576010818154811061070a57fe5b6000918252602082200154604080516356e4bb9760e11b81526001600160a01b038981166004830152602482018990529151919092169263adc9772e926044808201939182900301818387803b15801561076357600080fd5b505af1158015610777573d6000803e3d6000fd5b5050600190920191506106f39050565b50600c5461079590846114df565b600c556001600160a01b0384166000908152600f60205260409020546107bb90846114df565b6001600160a01b038086166000908152600f60205260409020919091556001546107e89116333086611539565b6040805184815290516001600160a01b038616917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25060019392505050565b60003361083c611313565b600855610847610e91565b6007556001600160a01b0381161561088e5761086281610520565b6001600160a01b0382166000908152600e6020908152604080832093909355600854600d909152919020555b600084116108e3576040805162461bcd60e51b815260206004820152601e60248201527f526577617264506f6f6c203a2043616e6e6f7420776974686472617720300000604482015290519081900360640190fd5b60005b60105481101561097657601081815481106108fd57fe5b60009182526020822001546040805163f3fef3a360e01b81523360048201526024810189905290516001600160a01b039092169263f3fef3a39260448084019382900301818387803b15801561095257600080fd5b505af1158015610966573d6000803e3d6000fd5b5050600190920191506108e69050565b50600c5461098490856113b6565b600c55336000908152600f60205260409020546109a190856113b6565b336000818152600f60205260409020919091556001546109cd916001600160a01b039091169086611599565b60408051858152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a28215610a1657610a14336001610c6f565b505b5060019392505050565b6000610a2d336001610c6f565b506001905090565b60108181548110610a4257fe5b6000918252602090912001546001600160a01b0316905081565b336000908152600f60205260409020546106349082611128565b6002546001600160a01b031681565b6002546000906001600160a01b03163314610ad5576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b600954610ae39083906114df565b91506005544210610b0457610af7826115f0565b506000600955600161058b565b6000610b28610b2162093a806005546113b690919063ffffffff16565b42906113b6565b60065490915081026000610b428561057c846103e8611418565b905061033e811015610b6157610b57856115f0565b6000600955610b67565b60098590555b506001949350505050565b6003546000906001600160a01b03163314610bc2576040805162461bcd60e51b815260206004820152600b60248201526a08585d5d1a1bdc9a5e995960aa1b604482015290519081900360640190fd5b6001600160a01b038216610c0f576040805162461bcd60e51b815260206004820152600f60248201526e217265776172642073657474696e6760881b604482015290519081900360640190fd5b5060108054600181810183556000929092527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720180546001600160a01b0384166001600160a01b0319909116179055919050565b60095481565b61033e81565b600082610c7a611313565b600855610c85610e91565b6007556001600160a01b03811615610ccc57610ca081610520565b6001600160a01b0382166000908152600e6020908152604080832093909355600854600d909152919020555b6000610cd785610520565b90508015610dbf576001600160a01b038086166000908152600e6020526040812081905554610d0891168683611599565b60025460048054604080516371192b1760e01b8152928301919091526001600160a01b0388811660248401526044830185905290519216916371192b179160648082019260009290919082900301818387803b158015610d6757600080fd5b505af1158015610d7b573d6000803e3d6000fd5b50506040805184815290516001600160a01b03891693507fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048692509081900360200190a25b8315610b675760005b601054811015610e555760108181548110610ddf57fe5b600091825260208220015460408051630c00007b60e41b81526001600160a01b038a811660048301529151919092169263c00007b0926024808201939182900301818387803b158015610e3157600080fd5b505af1158015610e45573d6000803e3d6000fd5b505060019092019150610dc89050565b50506001949350505050565b6001600160a01b03166000908152600f602052604090205490565b6001546001600160a01b031681565b60065481565b6000610e9f42600554611716565b905090565b600d6020526000908152604090205481565b600154604080516370a0823160e01b8152336004820152905160009283926001600160a01b03909116916370a0823191602480820192602092909190829003018186803b158015610f0657600080fd5b505afa158015610f1a573d6000803e3d6000fd5b505050506040513d6020811015610f3057600080fd5b50519050610f3d81610f4c565b50600191505090565b600a5481565b600033610f57611313565b600855610f62610e91565b6007556001600160a01b03811615610fa957610f7d81610520565b6001600160a01b0382166000908152600e6020908152604080832093909355600854600d909152919020555b60008311610ffe576040805162461bcd60e51b815260206004820152601b60248201527f526577617264506f6f6c203a2043616e6e6f74207374616b6520300000000000604482015290519081900360640190fd5b60005b601054811015611091576010818154811061101857fe5b6000918252602082200154604080516356e4bb9760e11b81523360048201526024810188905290516001600160a01b039092169263adc9772e9260448084019382900301818387803b15801561106d57600080fd5b505af1158015611081573d6000803e3d6000fd5b5050600190920191506110019050565b50600c5461109f90846114df565b600c55336000908152600f60205260409020546110bc90846114df565b336000818152600f60205260409020919091556001546110e9916001600160a01b03909116903086611539565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a250600192915050565b600033611133611313565b60085561113e610e91565b6007556001600160a01b038116156111855761115981610520565b6001600160a01b0382166000908152600e6020908152604080832093909355600854600d909152919020555b60005b601054811015611218576010818154811061119f57fe5b60009182526020822001546040805163f3fef3a360e01b81523360048201526024810189905290516001600160a01b039092169263f3fef3a39260448084019382900301818387803b1580156111f457600080fd5b505af1158015611208573d6000803e3d6000fd5b5050600190920191506111889050565b50600c5461122690856113b6565b600c55336000908152600f602052604090205461124390856113b6565b336000818152600f6020526040808220939093556002546004805485516305335c3960e21b81529182015260248101899052604481019390935292516001600160a01b03909316926314cd70e492606480820193929182900301818387803b1580156112ae57600080fd5b505af11580156112c2573d6000803e3d6000fd5b50506040805187815290513393507f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d592509081900360200190a28215610a1657610a14336001610c6f565b60075481565b600061131d610613565b61132a5750600854610617565b610e9f611358611338610613565b61057c670de0b6b3a7640000610576600654610576600754610567610e91565b600854906114df565b60105490565b60085481565b60055481565b60045481565b60008054611392906001600160a01b0316333085611539565b60095461139f90836114df565b600955919050565b6000546001600160a01b031681565b60008282111561140d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b60008261142757506000611412565b8282028284828161143457fe5b04146114715760405162461bcd60e51b8152600401808060200182810382526021815260200180611a5b6021913960400191505060405180910390fd5b9392505050565b60008082116114ce576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816114d757fe5b049392505050565b600082820183811015611471576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261159390859061172c565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526115eb90849061172c565b505050565b60006115fa611313565b600855611605610e91565b6007556001600160a01b0381161561164c5761162081610520565b6001600160a01b0382166000908152600e6020908152604080832093909355600854600d909152919020555b600b5461165990836114df565b600b55600554421061167a576116728262093a80611478565b6006556116c4565b60055460009061168a90426113b6565b905060006116a36006548361141890919063ffffffff16565b90506116af84826114df565b93506116be8462093a80611478565b60065550505b600a8290554260078190556116dc9062093a806114df565b6005556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b60008183106117255781611471565b5090919050565b6060611781826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117dd9092919063ffffffff16565b8051909150156115eb578080602001905160208110156117a057600080fd5b50516115eb5760405162461bcd60e51b815260040180806020018281038252602a815260200180611a7c602a913960400191505060405180910390fd5b60606117ec84846000856117f4565b949350505050565b6060824710156118355760405162461bcd60e51b8152600401808060200182810382526026815260200180611a356026913960400191505060405180910390fd5b61183e85611950565b61188f576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106118ce5780518252601f1990920191602091820191016118af565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611930576040519150601f19603f3d011682016040523d82523d6000602084013e611935565b606091505b5091509150611945828286611956565b979650505050505050565b3b151590565b60608315611965575081611471565b8251156119755782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156119bf5781810151838201526020016119a7565b50505050905090810190601f1680156119ec5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5080546000825590600052602060002090810190611a189190611a1b565b50565b5b80821115611a305760008155600101611a1c565b509056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220c2587b5a77d7a7f733569d1f0dd4c08f00e3e34db8828f410842bfa6d54215fe64736f6c634300060c00330058200275b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db94b067c149c9d03fea3a2f712005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db044668cdbcf005820026b87f8bacf59f8ff0c869054e19a9ac3d7bec7726e481c6fbb83cc5e1bcccf4704dbbadb17d2450387050ef9771f1f59847146eba99cf0841a9c6a88a97097509dee979b954db63e005820021d4a894ee4c923b1d43e9d9a099c9fad5e7de45175c9ec36119ec9d740b59e4694eeb7d3023a039bd58bfa34e81fb35e5c613a155e9c9d9475938618506e33c4f8cb5dc8fba8cf00582002f06de97697cf1e92bff92b2e57f9a308191f91e4ba0ca9f44a114b90c78b3948eedf9b3e99a8a3f503888663f3d1dac32b0c725b366dbcdf582e8fa546226a40f14b926842e64267310219f82a005820025314a72a508c23d221f886be69c1593e08a572bac35c07de73df0af97d089148030145d83a20150400582002003094b3575e375c8a0d240064d08cdf0f5ae2f7e02a6d1536a0bd9288d5d0471a5927a79f115400582002b38e2975fcb336425fe2f00086bed3503fe34a785290c62cbcf5a5730f4eb348012fef132b5c75f200582002f79fdf40323aca59e6dae3d74f0fa5a20bf297812cd9b94a4e57979059bd7647f558a6165cc7ed0324633b970e2a3799d85a238719c7085eba4d1e364c32d261a5a5703425ae32ca021990700378b49b1f608d9d6f1c6edd4b8d6e50c7cce15585e68ed1b61f90bac94bf7ea3e005820027e77f49595105b1ca342369dd93daa253a19a587db93436f74978c26f34c9b4802a06e0ae9fb92fe005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354d533a949740bb3306d119cc777fa900ba034cd52005820025b6cff9960f92aa1592760698470d51383417df1c9ecc5d670b9d886f3625b480215347e8a18935600582002cf9db92a162f2eb71179cfb2190394fc905d333b86dd11a9346a2485d1c59a470edc0127ee6ba603dbec31f7b2cc4354534441e812d41c5a9a993b6948b359b1e47dbfb066a9c5ae0219c64803365d8a5654716ffc7db7292018fade1d79d64d2b7e31c9687c3b37b46b400499005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace54f403c135812408bfbe8713b5a23a04b3d48aae31005820024fb321c632968400f6b23765e59ef5bbbfedf5b59c0ec8903c40463c273fb548011ca4dbbdf143450058200248faf0b4a3bc12094fdb7bb9370a077f3bc47bd781e0ca7d4fde472442e943470220aa2f236ee400582002dcef1a3dfb35485c04a497a2490d450b25e0746ed5d27e2a6d3e17843873cf4715b8b80b5489a900582002759b93afd2b264ea9d5daea727c5498ad50546669e2f7471dc2885fb93e38a4723742a7507953a00582002a5cb68640cb6e309293441d797339e6087c77d598696c3ba8b7ca94aa1d0c847078f1d8d8115f3021914e1031903309b3d7f414fff5b4cf1d7624ea18276acfab41e193ddce5482189627b45005820026ee7de8c2633b7d0e590aa52c81e47674f759c9103e28efeb710fe2c270399476ecb8df3f4b0220058200236b2290c392190ba0ff6a348286f7086230da08f6675c008d776fdde6280a84715d8051188b0a703e36b348352c25ac3e087113e015a9ad47d496d86ce8efe5a0e166d3018ffc1a703fdcab209008132e0670ad95e6376595ffb592014ef8ea3aab55cfe2897b4346d0058200200b67df4f759fb4a9748642f3de4270569fb5e4860928af4db41e849e99440471dff939752668e0058200230913d618303c5b3f665b86522b85d01be890eda3feac959b00a4ef01b11f24b1701afcbe844a9a56d6de500582002dfab803e252d400082d84c803e148fc127175713dfa64d4db70081317bd5e3471685893c1d717b03ecc615aa3685db82ed8889359984fd28d63c3e18b7a24a0dc3e439b402fb69ab0058200258ab39e5b1ccee4aeb9c27ce8798400c60b3d30e23aedec314a1ee6aed97b2478547f9360e19610219c9d603bad3694ec2ec192fd37a5b6f69e7175f048499751b56f391c1ffcf80ff2c7dc300582002b401e84d645018d786d1214532bbbb042400604cde0a2d318a47dabac410fd480221474791d0632200582002fdbbf25ced32a4646ed48c3f5c506b195a15d6c367d478b4ad668b90ec166b4722cda56d720d4400582002b0a7f52ed80664ce1316ec963a3023882c5dde4f876477c5713dc5e88f2194480115f0796a5d0a0d0219810c0058200225f23e3743d6c9f50ab71fcc85dd79b0510466afb5b3fc3ae2fa14fe7f695b4751ca234d8a0d6e005820020755e04500cf8e29d0c28015f2851cb56be60df73fa2321cec8a19683c7d764803053ccce35cd8030058200233406c7366b8e965d6d323b7c4c3dbe88e688a1b179b0b095aceb7901c050c472ff7a936e5a499005820026a72c26d7ee1d9cf516fd7a92ed6532bf39f8c4c7c3d0c8df9490b178974ef4712931256f0b21600582002fdebda6049460eca1f478795b99e072be60ba8a073b162e2eaed2411f66f51470a43672a05197a005820027afbabceba584d7943d1b3e2eef5eba044288979576584d6c42eae4eeeb42148022645034a6df51900582002347c8ec76c99bb732ac65d9f8f11f033eb84d64f4c11aac8cdfe8aca1a139a471b4a21f84c2ca00058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b416a021906e703c46cb5723010f5e1f9f0b7a561422f0220c6ae507b86a631cf2a74c713cf085a005820023ee65450dd058fffe0bdd96b9298db0c345763defbc3c27ac5da7acdb43b96472c8b56257db511005820021f47a5af9d30af155b2e9c232a73228a6b790913fe63e8e38316a40ec5315a4721152a12cfd028005820024aca74e8a520750b1745b746dd2b8ebadf5a4b2c9ff81a4df3a2e0a26f891d4778503625d5fb2a005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688446685c2ef00582002bee7c7be7edbf3cad03a14eaa117fa93ce42d08f70fef9f19439925bb07bc248012bdb1315a7a1fb005820022280479e6dd154525cac3b20ba618bcfa756b813f0a0ef5914eafdaafa92544766ffda705eb87d03747e636e630ece26ab36532110a70eec908a217f8a7e90b60512045b965c389800582002a25f0452a338b7137a029e5916094ffbca9c076fbe1aaf2957164b0805defe48017cb574579dbe8102198b4b005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6545bcafc77f19f72bcf1420cc1722c3e06e16ec29a005820027df20ad4ca8d470990931c90bb5fcb29158d944934e0ce5fdda278b8b14bf149023f57084cf2bb8f2100582002b44fa8bae542b6779337fcf3b02e043128373551704a51ea76295fa533f25e47ebffe8658281f700582002ece99ab2f391b94e1232e5351f20c561887f9e00d579a11268280a8f565c204801363c095d17784a03eb87429873ef56d36f5d341649d6f47cd867d44b91525d40011106bf013e34c200582002038e8b3f87cd25fda773130ae4728a24781a7e05144bcc1e3d52d13c0c9a71490606dc04d4db1eb8b9021982a60365df761632d50f2e73de6a2b78b632a7e56d5ec257d0e2d90c451043a34dbb3303aa3a92745bb5cc3db51249beaa8542fbb06c8906b312330c08218e74b5c112f100582002d0d7e4e9ebe0876da344bdbff4779d1b0efac9b57d9108ac158ce5193076ad474354fd49589a1500582002f38a5df382c2ec517f947cac3e0d67889e41f8848e9596a491cbed6070e28d4702de51a0c61dec005820021c15114e9e8cc2bf6cd6b15a6ba5dc8c214119489782de8f5e3c72c17c10594772e7dc08c914b200582002d67a0033dd291b1649bd10e4017a7eec1d953387d004408cc3df1e541b96cc4729e698b077933d00582002c5ac58bf8c04a1ae3c5f7329faaa1ae10ef65caed6f815239f24dfd2c175f14801eb0cabc70b9e4603de7bb9e254849a7a2ab4f33b1e16484d525519eb0136012c5ed61fa87a8d93d2005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c74b1703e9d4b8b0cb297c46940219b92a03ce8948e0c14ac8acb516c11725fd7b20c1492ed7d5662201c8120571a0f90261005820026566b478ce0bb64c43cc5e8cff193885b0b33f55ff0f306be6a0e7ac3fb2f047326e0792c7ee06005820020e0abcf0ad7caf41dba7bbd93e73580cc61d22295fd5fe1d63f83412cb641747f096ff7016698b00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee34803053ccce35cd8030058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f48023a94a98b44ea1800582002a7e9a7c4296effc1a7859fe79ce445922663496a335a1acfa0770d393dfc654615e97164be8e0219104b0219ffff05581e038e70bad0e7bbece2e499d9fa20b6d000919290f8fe15fc7ac39ce269e00701191adb0365bb8973d90725dfcdd8bbb419fabda5286e1297ed96852f0c8109e3386ce7e605581e036cb2bde811ecc4851c0a500983821e4c7b41c30f49a5155f240d0c8e900405035f81527facab4ac341d039cd5e911fa9392a65ae7fe4868cd1ee94412ee9fac9021956350219ffff037ab3322a40315f34ec45555067af8ccb4c536c482a24f68d6d4bc71df8ffafef0324cad002d516d1f9ad27c1f4aa99f6563eaa838725c756ecf659bc627944ffbe0332a71eb8ae3c229bbe40696fedd90f8783611b6f670e2d77f4358e96144ee609033351d61c49d3b89cfc915bfcb91e744fc04047e63c12aec3832f502a15e733e60355c5d82cf5008cccabe3aa478a15a2396f36bd0de26a8f6ba89553e921a632e20332a36baaa03fe695ea1454ec461a0ce545883ee69e41a8e9d2dc01a57ae6f32b03ea52830ca639eb9a95ed35895729c38ebcc166b5bbd30319f9655cd742feb2740219ffff03a30fef7433c9c17a8ec524839ae9756933eafc40a1e2ab96ccf99d80b0ac3dcf03d9580cd233256f63260c10ce6465a17d7fadf14377ea531b289f99436afa1d0e03df2290066cd1fa10139614903d5f319a84ec94a2399440c5e534f3c3942a85260300edace645ab77318b8041339cda05819faaadc5ad595b89aa27b7be51ec07bc03229dc65fcc3247cd0685494079abce14f780b7817a35f0977f51cef0094b24170219ffff031ca744a2e8c8c88e0c552e7f3a1feadf9b50d55e0162b39b51cdacc66586fcbb03164e8af117cd95832b8f00872ba89b663b05f93d8cb47ce722be354ec35b98500366e0e0f15ded19a3716085f7a3ce87c7d55fb27f526c36a5b9d3068cb5d82caa032198b505ea7a9732f4611e9e7a17c60053e4ea5d8bb027358f3a4f60b601cd57036d848e015f4c4504ad3d19216bf3fe6ec0aef9867bd58138a6632be83b1b62c703c653b900bf51dddbf13ab0fb4bcc62b3e6f91b67f6845de61d9535c0a1f08e7103f376cfaa2889dd67d8090c7512c90fd22d9b48a13f53b8fca6cc1f41f7ae0650036a874b862fca045e50dee5b62844e88cb4b00f8c349f0f84111f8312d910236603e4d2d9c2bf0b894c18818e0599b32757ca4795e0bf69edc96df6b0d19b89f98e03e648b70c3d062a5ddd6b5426a4378e54962699fbd6de0ea2b1979a60f56911e3035b1eae05c151ce7b0cb1daca91716e3f5207870e35c5b2654c53a654e08416f203f9b5e47d5a01fb1a0e5059fff4c8716a3e6c4a3f08fa9f56c715f53c09d2a4b103838e167bfe0aa2bae353827808816a7d2bf33c0e888bd19465696114b996992a034710cf23c80f12743b3437a0b74d9694205e32b010ad29bc90650c774fa31ef60321bf7770e3405322cf2cf8c9fc729ab799b75b5be3030da2c8bdf8c84d08c7b3035be012f81ba989170aa4f607b147447abcd51476a24951cf58654ded5715e5e103b269ae55fdfb75fd4c1dfc52f694d2facc01b803d8ce9840e7a8e48caaca4550039325d50f25bf1dba4d8ca1a675ffdf328cc10fccfeec155389be1f4d4157bed003e4414ace148d91712467cd159e12f7ae24b5c7c9f3e6202466c616ed6c37001503e7f8cd51c94cc2955dd2beb68a5ab7f927a6b65c570741d64259b2e74fadef7103aae6b808b5615670e031b438f48d1f92883e45689401f4a5c8370024d155b01603f7a4292fc6614a6b73f58dff60898df32cd55a82cb2c72f7bf433cb31be2f2ad03cc62c8c03ce322b1044f87819e90202cd7416b683b8e550e8dd7dd9224697cda03f405c20b46d438f984c6846754f05ec0c87b7946d43be0d651191ccd423f58e803cba5a3c7133c03a2fcc39498d0b3ff9e0b87f33a2dc7500e5da1548c7c68b5f003cd9f860343c8f5cdfa1e86f520ed44bc5d46c69d3abf9dd943fb1ba7b3d7084f03949e4d8ac201179c1ab873e6abaaebeea3248e513c57aa1afe5d37051821a6c10333175ec22ee70207093a6bf95e8abca23306cd88ef4be2654769da3c1f02ea8603258386825e75dbdc47fc472133a233ef6d153586a59fdaad9d46bbb742b6629903c23d9fe255e1f358061894571eaa88409fdf91c5c8834f80baa6e6684a88192303f13228f517bb3ab3c92be29acd1b1bcf7ac44354edab8d71343cb2482384fee403dab07e0601a7dae32ece93964a3fdf02264dccb2829152c8aef7ef5ba16b24020334d0a0ad68630f51d2eec75bf5418a98c05303fe28bac544d29dffe9f9513d2b03291c2a98871db5d2d5bde1d846a83e96bf540023850722b5db4d7cf43ea7d729039ec0aa77fbd369307fa2852f75ad913270ddde8d7918612183cd740a1bb4370003b5113e8bf9bcb80ae1b2d53a493e1c0b96beddae9172286257c9ec81aa2d4ac104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a544a7fba1282a554be70030606327e66a55a5b90c91b23ae6e23491b924e49cd39ea6323fa85fea1d55555005820023b44c688abb5c125c71e75ca932637278f70f861f745734de384ab115bc5614a544a7fba1282a554ba88005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4f15621bc4f86a9e52cfc076974ecac5021960000058210380f7a5171210f74e7c3212b455643dea790e5a4dd5ef90a920097ed0f35d54a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210306f11512c0521cf1470f15978e45c5f5677fc5cc965dd520f284efca4aa7606041020058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820db087bca50342d83b410cf06b58ef9ecffc6d33177ffde135f5ba6a8b8a52120005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a855029023e4f5fba97e052ba51d1d5b497e59d3be18f502184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687d0a30000000000066aef6c2c08f7c9b8000005a77a33eb324565e29010e70058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5412bb890508c125661e03b09ec06e404bc92890400218480219b6cd05581e039d8fef8eb4189ad9b0e1d0f7709afa22db18af64763032891de7ada7f00701192c1d03fd4e35eb7af833e26c3bef1f57529dd566afa2b55258b383a2cfa097547e479003b32a6395c759cc0bebe6992002b7cc6334dbdba53f9db43ed20342e4d4521b5f05581e03de7ccde71828187e5685deb86fe138a5f248ab26a4282610bcf823b7e007011bffffffffffffffff033db0c2eafeb47008070854f05a23a813c8ac83277b16b823b42a54b3387135f705581e0334f14b827d2f073a4d2986cfd557f7622ff0abf1e846c703bd5e5d6ff0040105581e03a8ee70b804817405e7b34e029933451882def1dcbb31be275e4eb683a0084702d79883d2000005581e034e9abdbc8952f81cce402fee682790ed91f37827aea09294375ba22e000c0447061c12f9cc733a05581e0367f5d04639e1e26706c0b717b1b57e5971ebc9340a16008b160e64f210040103d4508399b432d0d43220c400ac221a901f3ee173954ea7618a55415092b313a505581e03dbca946aabd5c921cb39bd0d0501f4802e05acb1c82deb39afc64e23b0084801bdf1741202720203f1b4d930330ff2a3e36e577e87b34046cbc13fe85cc1b3f7aa311b3e3954958503e2e20fd922ce14e0b0ddcbf76db91e72cd5c7c5286220cd2cd15c928c0cd402e05581e03d1827a0a6292b1320248aedeefc70a7ad03648c8f4c99313adea7fed800c01470787cf0216c0000219ef7d0219ffff036ee7e0bd4eca413dd7a3078c9fae1adbcf645b6e54cd48ddbb289421010700ef03d9acf82154d362b0400cffef3f87fd35cd73a70ed6c02dfbc68fe0c41e736bb903667b0bcd5e80250acd36045e19bd466c3455f419387344b18e6e73b5fe2e5f7d03fe995413aa3636308a3378ae582e4b6ae118b0e9b07c69f2b482499d4d166ed303e0844dd407051973f7c48d0614c02caee9c54c12dc95979aeabbf4e03ad10f8c03840ac35a64849e115516a090bad61977fc684474f4a841aa138ed8407b044ca403923f7d45a45770dc0195f02edaabb1a76bd73748317f721d3dc2121c2836343a03079e8748bfa8b4ae6fd9a23b9cd784a4ade5baaf61377f11de238ea7ce3f5bd70219ffff03685a7b5246c53a1b0a37e6b8be132180cf37f28e09bd1fc772496a60252c899403a0562b34ff374026963f3df20882412415d595f39b065b331bfe825d15a52f4e03a466e30fb02f33bcf6be073feb79c62971315bd7bfb80777715be547005c14760338201d1d91b077ad443a834e7845e7782e63182d859a131fe93ef8840be2f71003badce9fd111ecc1ff60fb96d91e1b2e47b9b307f369ec43c47c929b88179c0bf035988d3666afe375d5cfd50e769bbb03ef1642c61f36af2f83ff984c12fc51a97036d4e3b1a12080e0a516a215fa8d632e73eb236b044273b071a199611740e48650219ffff03238627c2b571615f812d5055e12acfc155eff310a4cb9ed9842b098d6b18aa6603e878222f475c27858c2083ecd56132cbc0b40504057c67d1c4c7bfd5c786a40203bbb8e0c7f90b5d04e85a268abc3eb10f0869e05f0fb4f36a932587754e2e1a510349f33badf9135bb54c7521049ca164fe039b24170dc96c98044037704022e7fd03c6bf790d7f74ed5e585c5e418dda0fc1d146a17c734f050840563c32d1d2ad55037bcebe321fe85610286d5e81f048e2192c16b7377feb50ea443a0de607768b82035305bd08e0cd25a7dcab5e9d5bcd76d00ab94ab75ed6440f68e48b2df9abac1103401157402bc60ed5b2c31788d58d8b4db062fe5585da0bb646f33fec1b11fd8f035cb369659f1b4efff02e1ffffe286fb87471d4512e13f01876edaefcab32f751033671b2295662e4f722064f85b5717c90a86e12c315bd5fc31695105adeec6d0e03f65843a6d9f5f271c55d652a7bc83396dd9c61695fb5345c30f63a9c5a34409d0370f66d4c0755308b7c243aa5a82b4fbe10653f232923b16101eb255c830fb00503dc863dae218a75d088261d8e4a274ab7a4988338f3c54b041c843272f7bce442033fa9a0364b25ef4bb93ef8053b75584f00c8aa6028047955c92624df9ecd76290336fd7e74b47f995f94d4e9a9b4ea873b41c8bf84b0b0ddaa20578d25d67e315f03e115fe960d26201a9769692088b4fe0e5a127f6200ffe61bd2c4da9b74cdc1e6037924ba0c55c115e7a501728e4cd0996fb787408587afad6f6aa707e8b6e7fd1803cd61740c7bad5c0ecbff371761c4c4d413de4955795000700f7197a8e36115ea034023d5d4bbb08c929f9b3d763d87f5054b55d014c5ff68833a649f311681b81a03f6d2f76b442150b11dceb8f6bf487fb6e3eaa040ed43860afd51b39633ea64ff05581e03213c90fdd773f51fb21e08f7e569260c6d229961f4090db8eb6c91a7000c024705050bb9860ed8039af400cf24a0dbd9c7a4e459b57a99c629624e34a7fa6d0decd42178056e4ac905581e03e16913bc436aa8772700a4a8c1967f2189aa89557f12d1fa1e98427df00c0546c2321110aa0004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563048f9c6f98afc538cc600582103d18c334ca3dc1d380f7f49416a620e7e0aa3e47bc47cadb3ff33c81f196c9fa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf6048f9c610ebbc6111b600582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af052052da8e346301145e0d037b85855f10f26e800582103397465daeb116bd47edc5b112d27ae327195141f6484afd00277417d0dd18630410200582103d1eec8b8fba715ff4f48fec4c4a29898ed3e1c857685d7cc1d1cbf2f389febd046e89f3ff2772800582103b3f42dee84bbda9ce56d61280c732ea4ea3182d7e166b38d455558e136d82f7041010058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054f6ce4be313ead51511215f1874c898239a331e3700582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820c1c9891851d576a9e75b31554d0572fc75aa07d691d2da910e7d719b7f740b4b005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85201dbc4be99eb9d9367c59546f2807a3762ac00582002c597d9c81b64f207a4aae0ff2e7809aaea60e1647fc4ec48cd4bd1a4f6af0841020219204400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687db0b0000000000014050357d39cb51bc0000000000037d2a11341c590e330058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218480219b7dd05581d02b67b238f0b3df557949b8a9cb64c9d3082503dfda166799ea3a86bf50701192c1d05581d026f11197c397873a17843ed62dd91eb70c240dfe7c28fc6a08779756b0c014672b941e45800020a03c67b9609ae9392aef8b8252cf21646efd7ed3fb355a717658f2839371d8d703005581e032996accd8e0572ec055718ff26f3508de9ef6325aee981af907a6193400c01470ca79c6ca4bc0003cd66b3657f6a5328e1a2c428262c16970937bf1fd5105a4497e2511b5fcbae0303dde43a328acee86bce7404e1c2abb8b694100276a604f0af4a37e34f1382837105581e0357c83703a616dea1a430c1587b6436c94ff5e498dbe4d92fb395f22be007011bffffffffffffffff03b347e81f5cf1f9bbe6d9c52735c2e10aa11747384e372706160c9703f43512d20219769103dbd68f15139bd3c2bca1bb9ad447e65f731d9876703e8efdb416de3a45910472033818704dc1c8d19055560939f96889e4679832dc51d8445d6dde1fe4023dfdcd039dae2309b36a2d790b27cab9e50138cef6d81556befd8c44c847146061b1f6e703834e7b7dfafc0a04943d1fbf0e99d367338c412f177c8f33e596e7ac53d6cbc303b75bfdaf13ddad3f7911937345a2e1c7cd644a77a3efd3a2c348c38382a98a3303f367dd2e776d02a942c964b1fdd0a8e4be77772acd43d5495e910b2fa5aebe7d033771672aa0b63735a9d1b7c660016a7279492f7694a5b8c9cf2c7ab5dcbcec5e03e2dc0c7dc39dc3852eab7d46b44fb0bc35d4c09de7f1433f06c6d811613bc46b03996b290d6491e08f9099517470efb1a7944fe7396cac8f0a170b33cb69e359b40334d4c7a6f45d85c26c9e8876f8234f8d80b8a2011f88d91843d09bccded1c23503cbb45b8d1240454da6a200fc599fe380d48955702fc75e5bd838ac8baeac611503940b7e42e85a9c37f876c691f324c166b63914691ebe2344f2b239b5c995ebd10219ffff035356c3645555a22ac1f7be76ee5193ded893cf81deee482a6251188e1529302203f6fd8b108a228df0c7def29c33e7e1aacf961d56759985435695b62df6ef4cc50375b83107cbe525fb9c7d37c3770e06b8f8ed77659b42f932153d7c4f434d48ed03acf3e0753e1d572c03a5c5fb1d00bd4742e731390bbde385fd168fd593997c4703418bbeda028ebbd65b51f28e1623f99cf7517305c4ab6c14a36dfde7e2dbc8f4031c3a49836599bad0f81b2ec10817280fdbfa9a13c151b0b3176ec6766b8f5a38035abd140f46ea221ef7f8bfdd7dbf6f2bc6e86ebf79296a2bd36a2ca1cb3ba13103bc021678f9a6cf625d9afa27e26fdd3eeeca6cbe269c243507a0749707def5a00219ffff035453949890a5ec34c3ee8996cb2b0372ac4f89f6445689da3860a02e61b95fe20338e714c582e5907236ff9a5b09383128a7dc26fba74579dcb9b3b37c642a284803d30be535c47cf19f70b302e4ae38122c460b18c0ea8d02b3821182a9d81c85b3038d27b10c351d5fa785ba9066f9ab280e2f9d43ced31ba495077dca0af4c51d3403c49077a0b45de202b9fa8b694044ea4f8509ee054d3e068a17a551afc4fce7410219ffff032f2d0a04fba6040b7a9c1cd1a464a3abe9197f98e4a2f8c60b32023233fe719a03b2face9dd04f2d820425d1e46e5b6990ee41113ebad344cdca44c5fe9b47f71803795e01b3e9d9bfeb278e0e2f2d2377472e01409fe3211a72c25a7479f7e4c1d20219ffff03b5e522f649b3ac1e5f87c87470403893029b87530dd00cc4cec4018925aee7d903b9707e3ab8feafafd7275f0ad3bdac301be470f4a2539f1d0d6a02748b64365b03c25cc0c19056e800ea427c5c914241f75e4ba57a647986de72645ef4eb97e38b03565941428c8d37d5791f878f6fc75f131e3575fe235da58b21de8f9cf08fcff703764b1429bfd3f3b3dc0ca5104b2db6871353511597da5305c966ade115cd28b803bfe5665e541cf9eecd45d52e4e89b88aa7fdc196974fca838170319c1702f2e90340f09b5b35ec2faf951874fc9353fdd5c2164ab0b02894725df53f49e661419403da986f95a8cc823c354c33ee79d5994c91510c7b255ac7115784a3491c14e1f8031f933efde98fcdf981ea16b49720c6d5710cc395d9082b52f22a0c1fd6d055e40346cc224685ac91472e857a59d60aeb029544030d422f54b0d91fd462c24ccb29037d20eb8cc2723d5b57cba7992c2faaa4425a2de444880e439d8d0fc361917afd03ad1f964abd4a46b077312e06ce6e2c6ce61035f18a84de4c95d7583b3776e50403ec2f93c916ecce380e14167bde7cc57b3284f07373256e07b975e70befbdd2cd0334be2043570fe86a3fb835a5a92b759b36771a087c5e10b051b276be2b02f9a9033765c029798401c8c9586f5750842fb87d9b6d805e3ae2231387a223e43da5870328b1b91c50684e3d6db873ae311a3e3c81b71fe299966e97c589841a6f1f66ef03cb3090d8f8287879b125b408519571bab82f1402b14d0cf91ed64117c9bd94b703dfde87264535283dc4eae8e0f37deecaf8a6c832c6c85446d2bd14f5515c230e0394ec07a53e2c2af7e5159e4ea0b92d97bf57274106c08225c95afe09c4703e92037c7529271abab150132a30eb3d37cd86c4d1542a93267c7efa3f6625c0c7b462033c77008729eca52fc1349f291240f67a1ead4f580a47e17712f8f5347190af8003ebe987be0634d95e4b1f1f56db8f6a08ae838e5414a56f74306810342eb5210d037bf9e20b6b66dafbc08d8a8eca39a61cf14e723f485a19e7ddb58917afbd45530388e4ca38cff26fc51615a47e5f3d87b15f5faecbfbdefafef906faf7ca0418fa031bfcd3146edae1113ad455acd6cf762b4df7c5b96ecf3e4163dd6114cee5652603781ee999661be0645b222a856be329a29385fa0ead23d5805baa87d5116d91d903ebd0b7462e24f62e392174e7ec8766c58dc40bda91460892bf0accf8060a7ccc03ad715fcf85d8dd77ec76237c0266c1e7d0f463ad5046b133a2884fe93315ebdb031f7f49e17cd41de7cc95eeb2d81a5aa3eb74a3345de5d3181e4fa098d854719503bc771f6d870d7676e771016677d31a71171836462d5473230d19fbf3267e998e033e8b5de68d50ef03a009c454cd5d9cb5b38ffaa89464d98052df07ab59c3f5fe03c90b3b2c832ec8ed46f30095321c1d4d399965c737b6d4a41e9a93a89b51dc2a034d706916c872c377e498dd0d09da50820740e64b45fbf3cd418285bb3b3e07520387c6c4b6e39581da8cd491ccbe6c7b6d19492e2e7ca16c45c873931a6ae24f7203ee914c77139fc3163f2be93fd36f3324268e05719b7c48bc0abca5f240e655d00307896d0ad4a490094d1f669090c72e8924f7c928158ee99f9055fcf522fe824d03ac08b70ab8b1cdba326284fff5de28fbf29da6ff52312782a321b395edf9ad1f05581e035c572f96016564581141c61b44e9dd9cb1c0fb884d1473ba4265b3b710040105581d02b1455bfed99f93eb029e8988027681580229a12e9935c37b122d77ae040105581d0241a3d8bdc5355c004f4b826b2144f5bd9630151b5fae5a30c33bd4e90c014715ae424961f4ad05581d026e42e434354ff48159b86e29735acae2d2de7b70a4d3fce4de2557ac0c187e48f082621bef47a9480219900405581e03e520b183a0bc742aa648f67d7d4052257f42d0d7124dd38fbbd26473400c01470144911b8eca0005581e03de21920006a757575768bc48d49273ca67981ed0961074338f06fa78400c0246394700931f18036070b05b13c8fff2a2b3e871dff28ff3ec80644fdb2f3f462cc96aea9ac9560d05581e03f9c21370036c65c190bf3b244c5f629dcec43a0145172df064e61aa1500c164504a817c80003088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e0387fd3726f7b5c32dc1c45ebc48bdd972e0a55b63de64ebb6e3f6d376f007011bffffffffffffffff02191b37033757dda1cd1780497d72957508cabff51651d7a5414032dd5cf1d408ae1fad0c0353a7a5e7ed4cda5befb982d6c555e06225241fbcb555f29191cf72bbb418478e0219ffff03ddb4fe70a0e7674130b03710227c10a6cc8a49472b56807697b933a09694882203572e2ebb710b51402f6360f45c6aada1d652909f94c27cddca28a09feda07cc40330d70bffe03f4da2b336ab6826648ffa5cd5967065e3ce71f2dcd6c1fe92bca40310144e9e5650e165148d0cc14da427f7152a3ffad0aeb309339143964a9063b90384f69d928ee4aaddf12c80821b30b54337304f7b38dd05fd900a8e326c14ae07039ba177a74e0f6aad1d13694f59a661cab8aad2cea3728e80dc1437be8f40cc5903b9a64a95156c26322aeb8afc168d5cac7e2f44e882d8fe90f98445622dcf0b3b03bb9e736cbf46774555600a4b7eda64d191be02c88cf696af47007a6435406d09036bec8ea6b0a5e8a4f5fcaf390229ddbf4280a25f67f1ae47c4d58ef1ae9f4e9403c7c0f2c8570b0aa2909742098d5ad5fd673ba2ea3ac5f234894f4e6cc54364d9032ff86ffc0eb006476af722a133c9e03ad7e5f482e5fd1e59cc25eb5ff3a55df503e78838f082bc0b6dd664baa0d35f0703f7f629a4c8e37088e039957b9440e9d403cc30acbbabf9e522ea12783a90fe6d937d6545c38967a4745ac2d0b445a1bd5803cb30e84331fffdae796771084294985306dcb80c254ceeddae35461bad81b1e9031ad890c75f44a64073d3df2493d465bc4fe3d131e796204a96f7132346b2e4470219ffff03029e2eb8801b08f9ea84b57ac9902d188602fba5e4305d0d510823482e74c17e0219ffff031c8df9030bae9f8e909a4cd5d3924778df74eb919a03e9d194ee3675d177a30303b9dacc1f0c72fb0f3cc34e97d553e8b60891bf7e494d42a43248b53d9030c77703f79e3a8a17efef5426f6540602eb465ee27a14c90abd6d27482e350168cfca4c0302ec2d4e4643f9681afde00d65d08bf5714f2641ea19160b12eec73c6b8d5815034db09e1c4e8531342ed63a1d11cad32a9cb0e8a63952e25ad049c63afe0f629e0329d2e9157e332b38ecb1379a628c4528807f1e605f96fc4c4bd92edc12677c030384a6c54bfc93d091a27561ac231bcefcf41ea31fca040f8ed2f9f2300af0b38503c55552fe659ccb8e8638255542a678efba9db32cd532c0efb976a052c356d6c80389651f9517eb707195408c63fd374bf50bc834dfdfd2232cdae6890c5786b0b103e8c549e79743cebaed519c29f84c55c07778bb672012184b9814913293ea3d8b03797ab99aff16f28bf0b1ec5ec21bdf29dc3127a5e8f86487593089bf3434ff2f036be37ba6ed5d26ef6f961ccf1b02266c094f6c5423f18d6b80e3f2872817c3c7033755b83938a6b80bcf1e5752a57842fde61765c27470f17038270155c976379503259e0552f1715357842d778124ce7eb238b3c39fa4b43f5b9c8fea924acf594a036b0e4381aceac2d55e5cbbca590180cadf3ae25d0c795ab4e7024829efead21303bb1e931e9d50c1098bf8e71c0deb6ff874d8687f30c005c9cf8f38334472b2240342c232c4a81517394dfa9d6c5eabc70b48b2ff42e2d7c69a07f8050a3f7a023803014be145327921ea5671c6b195720be6dbaf8e47cb2c2154c17641cf19db808d034d5b31117625e473480ae0b3c3bc85c94cae79ad9f7adaf0e4258471161d3bb803064e499fecddf4ca0e8081698f6c3d8e661c6e953c939659c59aa4f6ca9c86c50365647d81373b69328ddea9818beb78552bdfd59b69162c1cb25242a41b3db8cb0334d4d8a1a56d08a1e94dace9a9f2bbb64a4cc0e4f6770f012bb14d4f5971bdda032306ca5a68d3a6e52f96af5b7ce5400b4787014932dd365e7848cafcb8d2f6370335ed9a11ecdc8be47bf732052a1c1cf6fa84794b22e15afdf60e4f1793aaa72203f25f0d887886ecf5d2cdaa892bf7438eee1e3b4150e60f57d96f97594f524a82031532da405ce4d460b320d8dbb7134441a3a96630ac08a8db891404aa8d186fd003db13cb4837aa55fc95c6d6c2396f5d41e1205614ec8ef0c9ce6f56363d53cba805581e031ea3cb630dd10acc0989a4565d49bb51044df369c890a5fed3e83def80040104591163608060405234801561001057600080fd5b50600436106100415760003560e01c80636a93856714610046578063d6354e1514610077578063e85a6a281461007f575b600080fd5b6100636004803603602081101561005c57600080fd5b50356101b3565b604080519115158252519081900360200190f35b6100636101c4565b6101b1600480360360a081101561009557600080fd5b8101906020810181356401000000008111156100b057600080fd5b8201836020820111156100c257600080fd5b803590602001918460208302840111640100000000831117156100e457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013457600080fd5b82018360208201111561014657600080fd5b8035906020019184602083028401116401000000008311171561016857600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955050823593505050602081013590604001356101cd565b005b60006101be8261071c565b92915050565b60015460ff1690565b600482111561023d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f46524920737465702073697a6520746f6f206c61726765000000000000000000604482015290519081900360640190fd5b600384518161024857fe5b066001146102a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603e8152602001806110f0603e913960400191505060405180910390fd5b60048451101561031257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4e6f20717565727920746f2070726f6365737300000000000000000000000000604482015290519081900360640190fd5b835161050090600380820491600091889190840290811061032f57fe5b60200260200101818152505060008060008060007f08000000000000110000000000000000000000000000000000000000000000018a106103d157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f494e56414c49445f4556414c5f504f494e540000000000000000000000000000604482015290519081900360640190fd5b6000805b878110156105d357818d82600302815181106103ed57fe5b60200260200101511161046157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e56414c49445f51554552595f56414c554500000000000000000000000000604482015290519081900360640190fd5b7f08000000000000110000000000000000000000000000000000000000000000018d826003026001018151811061049457fe5b60200260200101511061050857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f494e56414c49445f4652495f56414c5545000000000000000000000000000000604482015290519081900360640190fd5b7f08000000000000110000000000000000000000000000000000000000000000018d826003026002018151811061053b57fe5b6020026020010151106105af57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f494e56414c49445f4652495f494e56455253455f504f494e5400000000000000604482015290519081900360640190fd5b8c81600302815181106105be57fe5b602090810291909101015191506001016103d5565b508b6000815181106105e157fe5b60200260200101518c60038960030203815181106105fb57fe5b60200260200101518d60008151811061061057fe5b6020026020010151181061068557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e56414c49445f515545524945535f52414e47450000000000000000000000604482015290519081900360640190fd5b60208c019450604051935060208d0184526020840195508660400286019250878301915060a082016040528a825289602083015288608083015286606002852060408301526106d383610731565b6106e58486888a8f8f60020a8961081c565b96506106f384878b8a610879565b50606080880286209083015260a0822061070c81610a1d565b5050505050505050505050505050565b60009081526020819052604090205460ff1690565b610200810161040082017f05ec467b88826aba4537602d514425f3b0bdf467bbf302458337c45f6021e539600061076982600f610a8d565b60018085528086527f08000000000000110000000000000000000000000000000000000000000000006020870152909150807f08000000000000110000000000000000000000000000000000000000000000016008825b81811015610810576107d28588610ac1565b94506107de8487610ac1565b935060006107ed826003610aee565b60208082028b0187905260409091028b01878152878603910152506001016107c0565b50505050505050505050565b60008587806060880281015b6000806108378e89878c610b2c565b919650909250905061084e8885848d8d868c610c15565b60408601955060608401935050508083106108285760608b8303049c9b505050505050505050505050565b600080610884610cee565b905060808311156108f657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f544f4f5f4d414e595f4d45524b4c455f51554552494553000000000000000000604482015290519081900360640190fd5b60208501604084026040600080898201518b515b60018211156109975760018218604060208209888601518160201852878787086002909404858f01528d84015193955060208301928285141561097d57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201918589018888880896508e87015194505b51905250604060002088168388015285858408925061090a565b9290950151918b5250945050508483149050610a1457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f4d45524b4c455f50524f4f46000000000000000000000000604482015290519081900360640190fd5b50949350505050565b600081815260208190526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091555460ff16610a8a57600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790555b50565b6000610aba83837f0800000000000011000000000000000000000000000000000000000000000001610d12565b9392505050565b60007f08000000000000110000000000000000000000000000000000000000000000018284099392505050565b6000816101001480610b0257508160020a83105b610b0857fe5b826000805b84811015610a1457600291820260018416179183049250600101610b0d565b81517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820119811680820360200285016102009081015160408601518694600093899390840192868901917f0800000000000011000000000000000000000000000000000000000000000001918291900995508b51875b83811015610c0157602082019181861415610bed575060608a018051909a9095507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020015b518390068752602090960195600101610ba3565b50808d525050505050509450945094915050565b60008761040081016008861415610c3b57610c3281838a8a610d56565b98509250610cb6565b8560041415610c5057610c3281838a8a610e62565b8560101415610c6557610c3281838a8a610eeb565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806110c5602b913960400191505060405180910390fd5b6000610cc0610cee565b9587900480865260209788029093209095169386019390935287529286019290925250505060409091015250565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090565b600060405160208152602080820152602060408201528460608201528360808201528260a082015260208160c08360055afa610d4d57600080fd5b51949350505050565b6000807f08000000000000110000000000000000000000000000000000000000000000017f80000000000001100000000000000000000000000000000000000000000000108651828787098381820960208b015160208b0151868188038601850960408d015160608e01519690920101948780848709828a0384010991010186818703860184098186010194505060808b01518660408e0151850960a08d015188818a03840183098184010192505060c08d015160e08e0151898a868509828c0384010991010188818903840181848009098184010192505050868782880387018986870909828701089850505050505050808586098181820982818209935050505094509492505050565b6000807f08000000000000110000000000000000000000000000000000000000000000018085850986516020880151838185038301840981830101915050604088015160608901518485868660208f0151098388038501098284010891505083888909848182099550508384828603840186868709098284010895505050505094509492505050565b60008060007f08000000000000110000000000000000000000000000000000000000000000017f800000000000011000000000000000000000000000000000000000000000001087518288880960208b015160208b0151858187038501840960408d015160608e01519590920101938680848609828903840109910101858380098681820997508682870386018209828601019450505060808b01518560408e0151840960a08d015187818903840183098184010192505060c08d015160e08e01518889868509828b03840109910101878188038401818480090981840101925050508581860385018809818501019350506101008b01518560808e015184096101208d01518781890384018309818401019250506101408d01516101608e01518889868509828b03840109910101878188038401818480090981840101925050506101808c01518660c08f015185096101a08e015188818a0384018309818401019250506101c08e01516101e08f0151898a878509828c038401099101018881890384018184800909818401019250505086818703830188858b090991010185808287038601818a8009098286010898505050505050808687099150808283098181820992505080828309925050509450949250505056fe4f6e6c7920737465702073697a6573206f6620322c2033206f7220342061726520737570706f727465642e465249205175657565206d75737420626520636f6d706f736564206f6620747269706c65747320706c7573206f6e652064656c696d697465722063656c6ca2646970667358221220639f89cdd65932763cdcd067e21b2554ec697f4d1a96a60f6fe1937dbf1ed64964736f6c634300060b0033032fd2dc4f43110933e22fbeb1d3b224a14abda8a8404b6377d9a488145d3babbf03ea8c9ab6a6c0fe2224a70360ec1c665036eb3b1f8b00ee9449753ac7ff2f448203c9247a78946054ffe0c861050f45c609b03668a383f13d633ace2d60b7f3f74b039d37992fa1835b4374ce3c397da6c1462cf355edd73cf1952baf1753e1352f63034c32f22c90648baae5df5555c052a206cecbae738d7caa604b2d71ad596de98c039362b757124c26b56f84404bdad20dd31a860e81d262b4dc3bb4d69c1fd61bcc03ff74a6b592d993bea2d543ec0cda34b596e567f0809f755030cbef2122d8581f0367c1dd3d724904184e5ae01fb09798f909f169c12d8e647d460810fd220712b10370a524e46b733f904b26d3d1233ee725ba7194ba74cfe5576654164ebfd98928033a84b725ae9cc5d8be1df2b56a1bc7447c1576d274a393c529dc2f357f322ca703b3dea41c722c0df6bbc51dbbb4dfb68c7545dc142c3b698e4c72492d15ce822403605b7b0a625624e527b507b1dc92371e0ae5438bb86fa46a8dd05f5ef1c387c6031e13fc17fc9b9d8ea1ca10df0c0fef45bb9a0c7fa82af8b82b9ffb63cf3b6dce030ff6b5177944b6c08e74e58f25da61e7e91147332c90c3b235f5b07cc6cc555c032bdddb604c27327233e7cc0efb7008a065ac0d1aa46647da9fe48ec5b97596f00300d1faef145a54007d4b84936c06647ff45c02f77ca2f63023a84226a2cea128035584d6f1b34f6ec26bb71c906044f22c2581d2767c6424ca5c72bdb03a7e9ae403e46f12fa108ce937dcc72cf213fc8c3e8406ad8a8890911aeaca38fd15dd48cb03f6be1581c7d136def584ebae4705ffe82335e51a3c592740f3e03a546a30fb1803d8ec55e30e65eaac97c8a6a7433794ed3e79a64d29c3c7b86d3e478934903721030532512cbd02e853ad505710bdf260863694e59e838083de8191c74d186ff5170355a3667d984bca76a484d72aee85d720c925a6c41d1f590bb733b7c206cdccc203a24b8326c7d7b55c6689dc560749fbb74172d2a3ab00034c22667ffdb0dc5a8d03d0816dccffd01aebbf16c5afbdfc7ec8eccd1be1a8cf9e51d95847061a7566e100581f03785f61797bee02522e3d969c9533b076d1e020cfe2f620dc47383f1b0b90410100581f033ed9fa66492782a382060849422db9e76d49f6af7af913dd7e123d1e2cc0410102188103cc9a34b13b806f42c76066b45d734bd10dc74c362d2a40489b1fddc54354e8e80324b229a729026fdde14d6ab130138b887a418e05eb8e2a3801ea96018a4d5207037edd8d22317cb335441e972a91693f3e5820383c97e945aa780e3a0b33a078c903a94939329710a35472eb49d7b175670c5a99c19eae85e87c1327c6caa6c668d001410803941e22ef8ff29d1e322fb9cd1c1b0f672565b215c09d98ce5995e74482a3cbd403d986746e70c24cdc717e755a58e1f386bb483af74f2d61f941a52338e6f634c20370d3c6723a81b0523210b5f8d1301d5539072fef133cb7a265f4d4cd7f0979c5033bed186871be55b4ef2a4a46f590ac140a5a29b0866063e826dc40448486c994031230752452124b6df4f56f84f555f8dd64323965f0262b188e3e7ebe7e5251ca00581f0274ef9a47659222e0d1d2b41a692129a70cfda6481049de2c2aea0f29b91b410103512e86e3eeab08cfedd9af729c4e01f2ff44315d64f2f0138231cd1c79464b130219f7ff0219ffff037deca5dc7a06fdc813f894efedd680e6f042965e339be3d7b96693874e74b32e032cb5b55082744edb291fcdf03d61d1013fb1afdfcdafa1c71ec9a68fb40be3c70348ce6311ad9673bbe439f8f801fcb7d70f0727db412b4f0b3a1b9dcf954ca32503de7966fa198151d6868ba387a4017097eeb94f70175676d97c6438c81bf883e3031e724f7c5f91fef74aac36d9d06b0d86f27d499ca5c4dc59adfb7957beb3f8d203ce8d988f124f2b60662dfb9380a1d7e0227c622d0dc80c6d8343b6dcc8bc217f03176b64fc9089eae68c0f0bc65c746e91e2083e7948dd61f2b570cf4d2428011b0367a075a7da781913788e295d9dd39b1420a5c57bc523e73e1b0fc0f66cd0a36e034d3a5f5ce40b697e50008e7b90a7eb9f64b48bd6d50bed5caacfa87c454d63610219ffff03f8b433821ed574c5bd8a63e2fed381cf36704c3264c858f0a1d0827e27c56e4d03886e8b61f504a24b5d8fc16e7974a536ed5b809c2fa35a3549dfb3531640c0af039db9ada3f65ef326ab9ed104b9bf7277b2b4f404685f8297b33e361b02a16306035c7c34ab178840ccaf6d512d8845f72ff951f446ec7e188d489469230f04a69b03497402566899b456621bd7b62f4c83746a00784e24eb70f304325ecdf48c196c03b56fe9ff659fba1ae3e67afcd80d001be56526e292e103585dcc9ff27b2964ab0309553ab732be03b70ba7e323846f96b52053f7eaf1a0f9f82ab4f6a1d9187187032d3980e36e299ffe8a7d1818cc990d18899ed31d37e5afd92ce7326f68ea042603e07a689d5619b1ea2930af8f427a072f1d3de3ca3105686e84e8fd9a9312441e0340fb71965a5dbc1522093ed8a61f45c74bbe52284718a76c0a7ab929022982db03b728521894f287aad63349fb264bb7cfde4483c6cefae2e48c32d804f44e97bf03dcc7a9dc024f750e0e4fbe8c285f40978f8cb76d2196b412925318e172ff0160032f72c022cfd910cdca6b9a931a876aca8c9c749d466ddac95e05c4aea12afcc903df9e120a4370099cfd290600698094b39bb813e1dbed61984be6499e51f34784031528b329347652b99f272fbd31861a8178d9c3fca69db4b7be9e7f92e48e38f603276bc199dc9bd987c92dfd7ec28310a58a2d8a4ddd93239c25c3191951ea6dc903908a1a79d7f8a510ae6c06203f03de7488224688a1df62789e8699bc7151f1a103e9f57d299953ecb863d5e774ecdbeb5244d1e3c0c2cd097a01ce9492a76d02b2039533d342aab56a9b344cf2630fa20e08a449294425da8de2b6f8b378372ea0b603758cd73fa1d0870614f114c5eedd66023c59cbe741268d480cbf0b5a5203c51d03c29dfe37310d9a249f89d65a49589ce25fa083d2391ef8eae3602e27773a9b55034c35f56347b6cbb5d39005bf9d7b35233f560f1c0b5671479cdb3573019ea3fb032a95f349f8f35a6909f6fe122f57be376028dea22a7df80bc0f0ab1814ffa0cf038d6a16b9c9dccb75be57278f568b6903f79a201a90a9436809e461b00f4508b9030d619a5a697a9b4eae2a323abf5e77f202154bc62af5377bc3fb5aba34581d250321d780e2f409396106ba013dd2e26899cb2b9552a6b4cbea2eedb8b7e4e887d0031085b1384d367b2f67eef208c09b71e10f042c1989f11e3f8a2b563838ce91af00581f03f05a3f50831bff937cf16ad304deb836b82fa1f634194531c7d12a34c850410100581f03552b339b75699f37b500d4aab7679b9104b261eed7964429dd944ecd0db0410100581f031b7d4c3b384c50e5ace01c8be8dffce360e8440e691b4348320fe680e6d041010219290000581f0287e5c774dd2693428c3928018260bbe406591bb09ee15578e1c9e24449304101032d3b9dc8401688a12eee981621e36b06e415a3787ed1d3014c2e1a646b7f3fb20376a83ea7774a124a3e5373029abf93d7576c97b48acd6c0a11272ce5a8f8210d038345821dcc9cded52f6c3d217f22309bbd0f084589ec453973d3c2963204f65b0317e8d3340d306f9666bc5848a94e23c630ab77461c43bf72ec408f9e800a2a2803db171a4c4842867cbff6c825b5c4fc8b17c745093ee4ff104c0745f8ecbf1484037ddf1dda39cd5f371271e1f6f2fde0257d0816920289518c29c1928e1fcc3a8e03c61d1f56f4f5e16a33de3ec3d87c2d9038fc29fc93aa3360ce0c9b8f5e27b6e8033f85813bccf6c063b326604a1a2db43b0ed7f48fefb9986b07a066656bef6c7900581f02a6f2a75022a57c48ae4a230391df3deaca71368d54a3bdea802e76e47425410103ddd1fc6b6f303d5c1d5cc60aa11825b3926a519218b05bb6febaad738b77bf1c0219ffff0219ffff03362855f32c8331668b78fb995e0ed4d52587d810ae07795da8ed2e285ffb44dc03905fd3e2ff508c73821949fbf0f7d3b9ac1fcc05906962abe726cd9d4409fcee036deaf866cfe97ab3176e62d85153140adb7315c473dd93c3b688cee1982932ea03ff958a21fe67cd6d3a1f415c6799646c21ac17cf610a4ab886aeec3e28f4919403b1a527e95ac9e10b11292b51b80b318a2b717fa69678b1e5e6d2b1bf62a4d4190320f306b7a85d21596427dab77c88af18a1be5417b6d36ae5b86d6aa85efd62f0031f2387f3e85a585357d5519696894694d50040879d6efa0e30727255183389b703d4033ddbd8cdabc97cdad69106e9728fd08960bb59c2711338b6682c6a7e3afa03aee5cbb832b7bcee6e20304e5692dfc83ee5c74eecfac82d1a850aa497834a3c0388aabba3ff26edffaff8eea68214d5714b65f45b57cbc449cd5552298ff526b503439f4e984547878b19c01216411b383fa958135262ee400440baebeec359187c035906173b6847d06f3b3952c7651089d086787e3c942a3e2684ac7e60be25144b0327c25e106e4feba0f94ebd7551a42de756d1c711759fcdd4759caa0612210b110319c240ba1d6e1b3499cea5686b18ca108805fe0f99030f4649ed5c01e5e85b7503f8d04f6dcea2bb50bd4c1b8c4d61686feb046cd0d570242415b190b2e5263c5f0316e13a68518f718db7bd0e8546dc59699bef2be099d7c7e9c8062a801e3df1f303a9b75c5b073a89287c62ddc692dc0cece30a9263a0e13c80b7ff31da6594ede103d029b05edea4ef8f6d00c5134b895d6b75607f386d641aba68a3a06df372757c03f8246cc244a8c34318bd71aa969ea9e935ecd6d8aec83528f749815a916c64cd033a57ea98e65c355716202cc6cee1b8dd28c1f47867a46792a1403ef310ffeef200581f02991c7a74a28850ff20c42eb7cb735d69b28d92de3c333be97c061917b43f410103b1f5c881e2e401a5b1cf1177c91a6b4f44dd04bd7c0087c3d0d647056db95eae00581f03c0aafdb31e32f70db4882201286a4bc1f75dcaa3ecbf71e8a6b07f042cc0410100581f03fa8d979930c5e192eecfb6e6efeceb253f2c8064e32d2e6bfe4910015410410100581f03a5489c656f8941555969babea8d15d6fcf1847a2474ac5c75e27556ee330410100581f03e8fb9920b0a284f6d9e11bc6209d0b41a8fb557443e73329426f5a09ff30410100581e020529f72305d6f8171624db32d39b949f573c34984e52472ab2a6ba6754410100581e02f2f9bb3a8b34cbaef9f23c93b6f3f20191fc2500fe2337f60412414d6b410102198002021920e803bf04526b348adc4b1e0b39352517d55c49fb4c363ce5501273856183e373e16d0342b8db17d7136f02eed4cd1d4cbe1d0c54ca7a01bd55d8093010cc06a2f085f203e3ac66560e0f0ac305b391627f4f4a59f18d5ca7099a04fee827e9af7f87b025034e084f78a59decb8e7e313e3734f94b7ec4b97bebc1c9de419ef350d10b02130034ed5936b4d531726d71aaef284d82b4399a233dc38bee8e99c975c9c892b613d0334aacfd6544c5397ede4d25a4888f2253c578e82eb12f61ee757b276d32af6ac03a0875cd764f13407d041ceec0eb95a5b104e937dde74078bd81249260d589dd203150c7635bd97ed60394841df975243b0ea979395bb11b6598dd4b4964b18c16501410a039bb575d9d6383fc40c0ca07c9ad7b2aa917dd4c247b2efb20149f17744373d7a03df62b8c8b7e6ba1f9798809776f1f6a1df9c879088a78abf04028059d6d2a86500581f02d85fd3e04cbe09cadd5d0dbd342b132f3dbb507f39db69a1170b712b653241010219ffff03d0ea5e779edaa6222c6fbba0682e8b81120475521201dfc2e2903530de3e451403475c6980b92156913032f96f57d8edadcd02f899030c158f6286c69ab7f6bcc90219ffff03e13350ae73ab99b1aaaa64ff114106173adf64b9ee5c0482ef075dacf332b3240219ffff03acd1c6810dab0784cfd0a3122bc2d3cb8812a93ccbb9ca97601f579eb5c3a36503ec96393dbc9f27a285ec022563ec8614e67a5c3d81a34d8b94e630ff8a08786c03746ee6e0243767291f60d434ba78ed50eca98690a3af2f7e85c1a505ff8edd6803ab3792fb9e800ef306f0e676e401c0f72a938d370b3518de20b16aa7cc3e502b0362ba76c70fdba0d4ea1adf9137d683746048b8a48f54d9053f30fd5b9f18569d037b9dc890d0fcd3564afb40e1737a8b62ba9c22349d93a7613a33cba490a4e17503b4038b30a898374bdbac99c9d5118381e39c65270244f4b8230bc04a2b2b05d90339be5509f05aea50d222d365f7d3d699da88c8c8ec506876d5f6174aacad7eec03bdc74893b24bc68bcbc70cdae0507a6048f677db3b30142b5c51e6ae087afb0a03d7f0e4a517cb406fd1bf45c20893fa1ab73623635ac1048246dabb3fd73acd15035fab5e98d41c3b5cb748bf043bda2c7680727a7ce0406daf6c0f410d2054c35a03b901d789818f385bd6c94d33748a52a467a56d238c8870026d4aa27d04107e0b0396002fd91690064faf618b4edd2fde99fb672d650a2554a891fbf673d23edcbe030fbbddf4f7cea00cdd34b880098d53c50f447e60a4ee9204b1dee4b011b65b7b03c433311be73fe15fb3b244c9165fb6ef2b3148691224cf92016d4c36021d716c0373d2606858ab4eade6693458845be9386d9c01bd5f0d2849928409743a69fde60303d1b97d301757ed7fd54cfc9dff421085863ae182d79949a8b14f7af0e20abc0331c4430daee98ad443890b635bbcd6a38857c4ff777f22d955cf7070b1cea9f20325a5625482ca78215d8990ce4b8f6ad69b9b852137a18be7ee4bc175dd2532f2034767107f1d844e36e88eba32149593104169eb5e9740252e40711fcbb679bd4503d9b0c9755918f278b3f34ec324da2a8fd9a9e0bdf7a54b9533028d3d84895702033f0cc1488ebe1a12e3c020f52a4a68821ab59d70febddc4afcc365eecd449bec039a346a0bb8837a0cad012324ad7bbaacfa9ffe2c0b17acad5e8452a96f23a49103bd86b8424bd749716a48b93e8ec9d5b32a4c7f4aa9aa0f0abe040ebb80e1a7c3037ba0dcb4884a1ab1f6beffc78e16e62e1d06b6cd6bb3907b59fe841309202ca100581f020d6c18c636677ad08bad44508b767adc465c9950cd9e5a374f270d1a88ec410103eb6921f5acff5fe290f4c21285631648d3038c33df95faeea3d0583943f6f03203e0df4338bfeed1d268506ce9113a3ced0d2602207dff8f4cb61f7e7a5aa80030035aea3bd432d1c1da840983094e46ac5f01778d3257c4fb7a7c2fdc40dd83714800581f037fe2110781854eb8565c3261d95f5f9ca4ae2bcb4c2971f9cf373b35a630410100581f035df6060393d1ec907dcc3929fa806926b599a42cce5be1089f81ad9a7240410100581f03e7cf9e0ef15a534dfb687fc094ec6212fe1d7f395aaae93b95371feb2d00410100581f03109db9f818a4f111cd68f23e50134fb878ffd83949d5c51cbce90b5b8780410100581f0370177aae9e969874f387fbee3a679ab30582a5c17f412b715ce5f9496c60410100581f03cbdd9aea31abd3fbb365f7146682c1a00d2e06d02e47030e108896282460410100581f03de3aa31a3015e0a5ddd5841488613a0f9cc1845cb2558b6e14200b9e9590410100581f03caae767df32e00eac48169fa923f2abbff1229673d17b0ecdfed2cf381e0410102198ec903824839f6b398ee04159c446d851009b46ca0e171c0d744edf213ce6452c3f91d03942eaa68030b2c42958e87f3609d900ee8dd4429f597e38f8d75759403a066990311b525b6f47a979b3f71a14129df98cd6b46d68ec90959978b8e88b2f8dc30f60314c22bdc98f02900e6940bb3affc29b18e06741fcca2750c4ad0e988d19d8c9c03d97847d077d5e81afc2ba94755d97742b1440980559828bcf418d2132b0455aa03870fd2739b4979e19c2b44d7348d23a60f9291fc1dc8fcd47f4d5befe98cc63303b675bbbfb740d28cccffef78bad64f03b86469426fe48c59c804e3a9d84569f600581f02331a93a1082f0df066b43cf968c746b0d1aede76e31310afc1e26092d2c241010318de5cb6a903614ba5ab0887e53089238d5233281037b0c0ea092cbe84dc60870219fffd03d3ab4851cdd46d7fd5269742b6757ac2d1cddd1caaa08a0c85bd7fe569e913af0396dfa2767576e8aa321fb5dfbf057b89856a9c4d189c5a3f2d1e3c068a04b07303bc6fed338ac6f670535a6778eaec006137e68cb18903ad0b0a330db255e5c36f0219ffff032834790d6f2802f84fcd1aea4c4ed1c440817cb01dadad028a52565f14aeaef5032166cd3aa0ff41a235e4a7aad7fb7e033c659c6f3102fa7af2ccdb4c7db883250385803abd46ea6874fcb59f8305d06cd11904618d31e103cb19088f49520224f903090f3ee8908d6ed029a77b7d07d00825a96a48c37e5edd7a282fa874112227de0316fa12993ab02b50e3f9bc2e3818c7bdc2a961ee5febf01160202f2cb129fc6f03594875efc760e7bebf7c8b5cf2a6023733106d21db12df61a612920498af569b0219ffff03a5c0c1727184c07bb323539aad37680512179f54e44f81bbeaac25ecb7e0dc1003414e2e3778cb1127c28a5f716d22bae02baf99ba4bbd121acffe417515617448035fead5397c2952a384d448a8aa912bc05619a06f1f8f0f84b3e80c6c67bc73db03e46477ad6f0b8a1f8dfc15173ebd7bdea27dd63dc0cbe79d5a4c40e3cbff018603f0fbec928fa43b3e3bcd1f6ce18eea696bd8d15061887e8ec0bb629eb105fca7035f5944681d0276513371a73004a3d72f6487d3e39584918fff72e71cbceb1b2b031c23d48b8687cecd3dcfc62c867171ca62ad6a1505c6ccf28b08bc7209bbc4f503b222470480e430ce415db15619c0a896940b2615cec37d468fa1271c5cf21ee103fbe7160cb4e356758e3b14c3c48b9171b9347b792900e3ddbdfb34038805bfaa03982a59e3e0e2462f140a6518db865ffe6f0fdccc9f4ea81498245723ed8922ef03eb4d787530e4906adecc5dd32199a86f058a39d2d070217b18a550e0db4249fe035ccde1e91a372a123a37986f5d20ec28bbbadcafaee7ad818c87a0d23a00e66403a7844822f90d7fdf9761222a019032f616c690bdf96aa14093bb8df4f0e0f81703f271d39f831b79e30f1cf0f38c2067aab7d3b0587f895c60fbf5ae37fdaf83ab03e555ab7e9a26e8f7a94dd9f90e3c5fa8a5dd896d10e5e61af9af9d6031fa049403d572b7949d3a52078c78d8809205f87ce476cd530556557c6f33d1c29824132d037f185db1651fb65271d3d5477f86dc722e9fcbb4c17cb46643b0189df9cbf50c0399b59385acc1a9b674714171bf137a04a218b07286118657b129dd2a5fbe45af035b80b8cfed452ab3c858fc2d8da281282d498c593fce813938b1f183c5408e6603dcc9dd784505a4b5a30cc5a373bb16456ad95eac06a91cd45307a7ce70f3d27f03f73fa62786d364e7f3e32d04471dfd0e4acf069858a614544c9866a96f50c96f00581f034b784f9197e6176d0c09957c3b399c27ec5339528064f60d74d6433d3d80410100581f03ec4a789f5595612bb6a2ca458d4404409ce5c1dfc29acf78dbf07f93e1c0410100581f03bc0806e81f509d3f7d98e149cb50aa3f8f80aec9a4bb0675eff59aaf8a0041010219180103a59a218a13e2b73a2b98f806c2b973d655fb478f2fbf7cfd4e44c31f62688e4803cd3f5dc11d665f816892dae26c0aa985e5763f7d1b9e2d700095d954ed55191303d207203b07c2086694d8532bf25ac8c5350b23038d6c7e8189587ccb5f75bc6d0349a98d6a699d1cf8f5d4f8cded04186f4ca7d49d906f99182fc06f6cf057655c0321ba6bf7a43cb9046cc9ae4a88e293a02be1f7f167f51189cb4850dc76e8d66f03643c7dd72a57e9e09094512e3a1fa6e9ed82607a53b44b840a01e7d0a94d1b24032559c3b9f5b06f2f61928c9ba08becf5ed9110db3a193596e9f88f2b7a2608d100581f02d9ef1e74b2df46b40d04a4d3be8a32c3ae88f25fe097856acd2ee63f10fe410103d97696b400a2921386b8578dca5a5af33af77849d68968e4ec083bdc7c9830c9032d23c2e4a2a49c0b5f2292f293964185db7424517263b350550636a7cccda78503a39cc041f2c7ffcf076f0ccbde1f232e2fc902ba9185e0d11c0b5ae9c8bd9737035692d627daaeaafb99b80981096eab4f9e8ff70ef6c6053b13c56d12a06f19380351cbb4dc07b14bdfa70a2298cdd5f6ea43efe1aebfb1274aebd418bea4c8f6840219fffd03d6d57679612354a120299d5ea9d25744739574387484a578df7897d5842b9b6f0371bb49392d3ae734e0b9653abb0f47c1be3066d660377daaaaa204c7cbb961150364464ec43244c0178100fed0bd5f1925094aae8e8b360b9413652e45ac3c980603c0c5d10e550453775e584c0914f079661cf51f6e10ef9ca1ffa05ac1d0ae84d6039835823ea79e371cc93f25555a067eb98e61a9f86b0b4f6645f21e4ebd49e76a03931366164e29989708a31d335ffafc83a49b57cf656d187b7ac17efd0ad124bd038fb13fef9472d087a6d6afbbe43c55f860b4b8164d63822b12ccc5df7e9dde93031e55b2659f77a21e08b093fa191adb9c8387469355742f580aa1f8ed98268306036406abf8b5c7481f21c8ea49390e70367c1b3857d069f5b01c82e1e12b14ef0303a4e5aafbbf9026170be754dfa38d0a67313e01fcee91efa4ab0166b358ddfead0219ffff0219ffff03c05f747a0d986d02512a30e5be34e036172e0c6745830026c932eeafbadb3adf03354f0073fe0e5bb3f9b4020ea6355c59a2fcd4fa2cb8eebbadcbdc7cc0f2794103554448d83b424e89214548e392ecb6553623b54d0785dd63ddde8b29f50e7b8a03983f1bd0c74a8a2283ce6c052664ef1b572679eee8a8e9c3b1bfdaa7c9b340880352cfae3f4fc151ff70eb280cba4b53f32fd15fe103c73273ef879c62a2deab8303c86ed2a8eb63d6e193a47e541a80ac198ea59ca982349cca78be29c35ed04f2303269736af3541c2f7df2d88d0a1bb32474e225ba4bf400006d985d5a51fe3ed2b0300a47b6b9fbeef98cb8069e975af3c4b8d0aaa86c1ea36f7583bbdfd611e468d03d6715ccf119e9709182810df2bfb7865bdbcba0ea63e07d8ae6238aced30316003eab78b1c08f0d150e921b6ecf797d75fbe4070e636ce97ed1173339082f7f7bf03648349c8b4cc5e256c6743148c586b4e79628ee4c1deace66b807aa5f5349c28034f94deb18a1f38e9b06778d291c71f6719f2b81e42bc65c36b9bf52dd00a69150379a8218db914584cc7a6a9210375a339030a0713ccfce14e09a3fa514d410a4703f777b156608e3082eca03c720317da82965b979441005c63c49bde71a2d3049403d6e7af79a7b771d8357f53ad7e9c34e6937496c45339ef6494c211143b2f459b03ec9df3cb3c5e6c913ec38f187d9d6b19eb324c5d1d67baab966f9dbda3f88997030aeb5d945cf16d62a077c012a649c84bd8e12fa2dcfa0830c95e3630af89d950030ae63ae6cbcf88723608ad9e847a8fcd79103f1dc3523437cff1a2abb26be3a0038770b7db37af23a3877a9f0f5bfec0b91c496ba06aab83242939aac0f9e9158003af0c477815b52b56e35282f8d9e948189f57c6099256e01b674fd49d01f559dd0338a6ff4b15ee74e7375b2d5ad72fa6caf808daa983b30a56ea49edb42c8b9e7c00581f023ae0404a202d914c53c0cc7f382b0872538baccf614547b77de8f4cc9d91410103fe4538070d7123489c8e19db44b31fef0604889ca41d19dc0b6b0094c61d414d038a4a781ea554c9251b453b127bae53bffc421d1bf8221db1275dc07a1eceaeb7039fbd962952601a7e9f1bc47426066c68a68cf1e3cd3addf8358fe7e24dc1e7c103457abaa6f55cbcd36f0964de0678221aec9fe126ec9367eceb39e80702aa02d403cd76ca8d2c5fe59b1fcf206ec891ef55f2778cf83ec64bf0b104a56d2286a1c301410803643137cddd084a6ba82b7fc2d45d289e34093a438fbf6e8ca782e613ec74935d00581f036e18c2b2bfd730098a4197bc71e1af399111876abb654f5b96928e2541e0410100581e0290382b62556527da5c52f89548ebfb47af04a74c2218e17ea5822edc4c410100581e02352a70fa94fe70fa9c57458b92fe648512fd6b42aa8e6b319881619e8b41010218c003c09c8e3c63123a7b2161e7b3bf7068d228f574d611713db15df4d6f61794520602192c4003dae3c8410445c031dc38561913c04e8bd01d4d02aa89c330512c4a08038ed14f035eddfeba862409ea3642ff103aa6cdf23059c9c08a217dc00283751622ee39570398620f509367f708b4d3c48322bb99fbefdd0f211a304f95082480bcac0921da03973ba8339f243866ce4539df74bf8d734f1e46ce8ffb960d94ef7ae0ba18b57b00581f0253ae61fd2fea3914742462f9e501917a0ca715da1aa7364babc59912292c41010219ffff03e9ed1d3d1a54bf365b8208294af6f2e6882452e6101f61d146cadce88547152e031026a0420babe5c5700ee0ac3fa73ecd7de18a86905368ff3483bec19f14b39f03b9d83d8f5b3b1d5989fbb5dacb439a5a6050103ac0e03c014e328901e94515770334f218522d8087abe4498eccab38a6e490ffbd390c1d35a6c0c08f2405b3f74603d5fa0dd4bfa81f266077b2759169c5916bbc1045140119dce963366395963bb003fa15961d34fe0b9b230579e1fbc62d001822fe8d3af44a7d7995820e469d514703562edea39a3a7d420ee7cdc1ae881d96a798ce36c8a185b4e42017f96d0c3b6003a838b3762bac3482f79a9d494cfba7d1298b10d484832ae44bd75748299a29a4030053050445368da020532a315e79ba5a6e9c1c1eab377ce074db926e778849b3039315e08394f8eb4f2314b7e5da0ef7f9dce63cad0fdd9917ce029362edbb968003c220848f05e87fa11061aab735a63c70f41e5601ad71671406c5f4d04d5b5b7b03293b40bf04f2dc18faa4b2ea66ddda874266a196b9330040e6672e1ad80aab580219ffff03a6db027f9ae7eac510af3fa06ff62e88f2ebb5d3f054e452e38022d92acc51d103991cf951b897334d9f2217b5fc9fdfa6fd58061d6edcb0fd273d5e6b8c4f0a4503102d27678e666006b0a7e694de4c0a7e6bc8250465ae8c74e66ab26a7fbfb2ae0219ffff03756e5bcdb1d2fb3a5cec1d8354b5c92486a8cf8140e6e8d23bc301a1aa6fc27d03701273f255dd1512ef1c59d10be00f9feac865e77332d0cc250e0979246bf53f03c83832b10bf69f38635733575f7bf856bd7267fa2e4a3207c604c8e8ad034e1e03334caaaa8e40e647b50254906b62cdcf6427d0fa39531d9cc5d7fcc57ac928db03bcf2463cd9a61f5d290b39aca294f476c3dda12016155890d48e38a6fd3db95603a55eb0b902957cdb6072efc84ce3a86dcce31e31fb8c66b5b0cb1e39974557cb0396520f34f1f67b90435af5f52cc96d04da4894de7ec989ae8d0855999bd663b00377be548e94903112cb4d2479e79ca6cda0e6fa70c8592856567d2ebef37fb07d03677eeab1d7950030dda64b263d49ce9220fd50131a7f1d728d318aaae317357603e6e12f5f1c2f12caf81a064ac9906dc43cf3cc7716dfe924fdd1ee63c01d81aa03cb5156143395a4555a689317f2ebf8c3129f1254b547c79085d93bda83a6387e03148ce11fb931b8d2dd6e307c633fe663492e9ebcc08e721b0a363c4467f228e30370be02d6c38fe647f66170ad9312a26d3f95e4152bb68af950c386de40e2eca203dd85b3cc79c0fc9b3a953714de00149b8d2022a215a0b463f96151572e2cb22b03a568b26b660c6e6289ea41f2ab68d79d550ad14c3212e67b168f5c1b38461ddd036a24483611a5536d0899c9e450cc916e90d6c1561aa5e0d3a47899fbd0858cd503c254f82cd55b87bc0a9dbb7c05c99f1c3d339064d03796941a892519f613a97d033123a134ea1e0179c36a0ac97682d23f646cba8d2ff9c6d516e78c622e6f1aef03f03b8f7175dd64c0abe7da6ffaf8bf736ab87c5ed865b5a4a4a4cef9ad4365d7031cd586d9f13ebdc1fdcef527afe7c4b872d5e487f23c31f162b6a36cfca426af0394b2559cc99e3a1b8be84b31b98d26d63ac1fb6f53a32e0257725aa860751920032ad34397be680674ad75aa3976e26acd89a05a4f23ae18dbf72c103650a22c0d03b6d234342e5cb9224196eea3dbc0e64cadcaf572920da8e8e6262d5819afbc3a00581f02efecb512a039c902242eb81842b7d6293d3856b62f496bfde1872fa20c36410100581f03625686df9a757b4d88784ea913018c67b05cf94fa4b9417a80d6ecbaa4204101033fecfc1983e63057a1fb021e192d528f998326fd49d880531a44b95051997bfb00581f03703e7cc9b86884a2a348d75201bac28939862be8947d5398d6eabeacee30410100581f03d8dbc4de2f6df493ef5508e2da8e1c2fba6ce619f6dc8fb6d7da053f4c904101021920a403366c23d50f3fff62b9052cf49d20c0e404a5329a9ecc35d3991200c5920407d8034ffcfebc8d352aad8d0651e4be904cf75510bbd3a90267daf72efaa8f64faec703587537e4a6eadf461144b7945df6b4fe5aa4bb063c3fd57971d767bd816c9306032bfb1c1e09ffa385fac263b2cc1c960d9352a67082d1d421008cd88f6979fac803b8ab63ece4921e5f9a86429beffeb1b8e2d07c6023054a4f95d1c3c34dac220f0385194705e17941d1099efbb08a3833754597889b464ecae29d9d0904a76f97770326da6bade3032ebc4fa632f2052cf4e37e4017e10bde26586f6c536a7489a1220331538b2d72a7029a701cc06f3fb2ee686f9fd6a210a37c3886b8168870c7579c03775171223c700a117336cd5309261efade82009a7f1f1086c3992b0d4468523e03d029811731ed35fb2ef4192da29549733fbfe29790eabc66e373f1889c8574ec03900c8dd0f9f6f83adb961b6f998f952ee0235846bfd929e33f2d9d1ea0ddea7c03700aeab222fd20a5214425a5d5106540902652a716f51352beda0b962d4f336d0219ffff03aed3558a60055ec3225727755f81f381de367719cdf0dbe29262e87191512e2603c6bbbcb9522de420f4f23c2c0081ada24f83982292b2c66585c11a19e4a9fe3703b35fcf8f421ae402caf25a1df3beb58ec2425305ae05b7464c2030aaf9b43f41036fbf95f65544fe0589afc993920817060ec5472ebce708ece7c859f32403b5a703659a8b6b1098e60139257bd90d5eb71044819ed50eafca9179b5c9a4a9b2dd8f0357085327259a7c81973b86bda0686289c69ea65401609d4291e5b3089ad712e703b87cece372188bf155c814b361dd7fb10b8299714f43b6405d99bf7b33892e9d032434c6580cd545eb5e5f790cf33c190d95ca01d080cc3ae6b053155a18e794cc0219ffff0339f42102a05bb0d445e4128099d27632824727e7bf56f397d6e6c7ae4705afb60219ffff03b9c1df002aaa6242b4c42db4675ea167a132c62bde90d2b65c7b6d770a9e526b034d214d18aa450706cc21d845530edbfedec5068bb9016c113b21839d9d85fb4a03b1a17c70fb098af82fb82e9c93b7042c87312c71189cbea0f2c6a715c811da090396d50064ae1c448df83c1e3485aac1ebab1b3eb8644e9680fc1651552883b679039e0a69c893ee3a68b7664aa75a33ac61fbe7554056fd4efce070627c9c93042200581f02d1ae9b34793b0671e73b13db1769294af9fd3a9c211c8dd49d790c81a320410103a3c03fddeed3477f792715a8c2d79def1fce2212007e6b2c765bd8af52fe5b22030c517eed2046dd88738ae53a19d4b0f0f38628cd8925cecc7a45accb123e687803f20889bf6c34dae99813d59d52543be224cb781ada4174ca757683115d38083403bc4c7de964e202067ec834f803ca68c19114c578e1170995e03be9f266f9dc180399e994a7c1c5fe42b6b08aec21bbf6d6c60440c2801bc41c05e98ffd1c5ecada03c7a27f84947b8915afede10ab8b6590f19836847646a622d18c1abe82dd3133d039a88f5c9c81b632e529eb9e541194d02810dee4c0f340491328626a6e02c2ade00581f03cf6d576f5f1a496943ea1895f6e11024f948f8e9a7d04b1b8867f0f448f0410100581f0379bf7fdded8a360dff507c2e3a421d293607a117ba86b00468f6313ce9e0410103d91f43d790dd573aad8085ab8f27368f550556ab8ac739039578eec6e91890b400581f03bf33a91dcc2f67e2d09db841f4739572257f0517181b21f7d4fa6439eea041010219024303057ca2671ca44245e5403efde89ab6ec123fa1e189123141c93db1d260db80ba0365a1fb1cf3b85620e65f80fe5ec85c2d190593e93fc84e4458c3c6471781084e03ddb032ad3ade91d45efa1320b7c61d2e517d8383626ba0f6dd9dd6366895e95100581f02a62187e0967ba40da0055529acf842e69ca80214298f9f1fe1a245a0cc1b4101036a4de89467384260a9dca8ec9caa14079004996e068a89c4df3fb4308822f15603d8c8efbbcec0eebf324f596fa451bc740c07c58ade79364d42463b9f6cf0df130219ffff03e0ff5c380bc3fda9aef4b6399f395d4db2bfe9af4a97dd029f017491bb6bea4f035efaddbb300dba35e83477eac00a55132bbb007b2cd7b6defea60029233f210503e119c923d888a248474ec9e38b244c8c6cca7a3878fc191e775a7959b0cf711b037c6205f0bafd5dc834c8c7a0ad444a4361b75f07c351780030d5a0eb262aed6003bf37b222311452501fef3da3dde0373c7169ae4a650a2cbbad7e332a6ab7b17f030f53174396313faa906f717d2894f1395155dd68e37098138d9cfc856b4785d103fcac1971c00afe40e7837c50217fca996f986fe97bb08c8c9263cdd63ef97e8a03d8135de79f267f9c54cafd5a8af656dca5a47ae46237f517f114445fd5a75ba9032cf3ca1d1df87f44371795e0add819351e3a62f08b49066d9a31f78c0fad78030397d733d1c6c32ceb7eccd5d858f39187505b02a1a135587e28e0dbc7285f367103d0fbbad71d01166207e93e255a4b37990b51e1efde46d1ba25c3bb4278c8e7ca03a8a5b306f234bddc6c85ec05a443b1d43495190b451890fe8a4811d67e973fc60334f7e51bc0a89b076640ec8f0dd4f1a6d25354bca638eaa496c513d236b52d660396df508c351c66b3cd505a6fd6c2838b83f300c5e290499987404ed87bee26850219ffff0334dff9899d9cd545f41967b081f4db4c920d04d763b9988840e20da8cea18206038c858e3f4c051c55e8dddcfe77d35be7567cfb86358c81f8607aac1abb96ddf0032b1e5dca00256f4a0d73826042e4eeb100faca5a6a446b9afa08d640fd65ea1103af397be37c403261d8bf2ce8369a088f8a2a76eb8c5477c694323b82370c3868035860260abb922ed2cee4ac11f02cee735e46e01ec3aaaaddc0d2c5fa83fd3120033bebd4df9ce8f3fc633af0ed23d6b4b727a3e1d5a5a3a977a3319aba9e63d0d603643b01378a4464e5791130699aa17bac698ce43fa557915377c8069d7092ced2036139d6dedd9717786f6ff53aa08f01de846c3703d853bc9fa56fc9b415e620ab03cc92db007f11fdf7a0f3903672933d993d48f07c5ffa98aca76e890c25ca14e403962b5fdb83d8d16c928c1a2e991945a0b9f20ea67a2024cba87708cd24eb7c8b03a522687b94b383c4ac93a404d83b8c587b984d7990df81af34d2b0d8e1f6deb5032b826a98d72b25b7c0f18618128e471cc4409edb293e25efd0884334457073fb03d842b882a861e2c12b95ad18633c44cfb936b323e342ba6315f350181f5b98c603e8d4c90c6dbf1f62a8deb5a01ad99552098be2116f04a4a68be768efbc586e5b03d00e4983496b1dfe7915c3125078ca568f88fd120c90f021c6461cc41c69313e0219ffff03623a4cc4d2f8cf2867f5f18a08e8913cf37d64c833848f1d7cfe54484011689b0391aa6324148efe68c2272537ac8f5d4ac9446bb2a04fe5991f8d352e1a291e7d03556ddc4453f4ecdef7d29270c2d3ca4626c6522b158acb8c27e9ceec765802ea034ea5af90aca95ff9c901005691f4ba7f4231ef2a57328e2428f9a3f08e23bfaf038b375e2b5e43251311fb1d7e55e8842b837f0b4c4d62fe09ff2c101e25e5ff78033d9f5f4611f21e97d29bc7dcd460118ea2a16def9b861c81e47bdddd8042c805036051ced1040fcc3feff1a4627b62aad12d127e12ac2344992af66cca1302c2b503037cf13b75e72aa5e28619c12bfb82a60631899775ba8c37027351761edd8a9903d0d30ce6872a6e6fa35f9ee194c93c7f73433c121c2e2e37a2327a3c65d251eb03c61854c30bc6be375961f890979e8ea6e8522edbccfb45b9663c9b45441424ff037e0ef8b63d388835e44e939784eac7bbd74709b2a4ddb0deff6cdf6ff327d29903ca9df1c63cc0b0a03209d8b4cb69e50e029f46ac1f519684919b81cf31e65ceb035d40a3d3b773f277f88e1d8826ff4ed7fb55cde19cc70568041f5a8e41fa908000581f02e3467c762007a1a99ce52855a930df67ad307e547200258bd0fc8d9f94cd4101034519a56514f70ac9f05518fef1e9b5a5c8ade6b2a60bccdf61d5fc6bc7aa336200581f03c9580bc297d6bd6101028b59e8722e876b33d7a050fe6478c510e2217f90410100581f037327be949552e00729432fb39f0b1a423ecd8ae1eab4f2778360e67b5c20410100581f03abf7c04ff795ef83e05738e985128868c22a73333c4fa0b892568047bc30410100581f031a78c96ba817b73d236ffd56afe62ae42cd9e6a478300bad6996c20ea0d0410100581f03ae81b765133f29c8595b5325eded303a5e47cec23230e225db4509113830410102196c8003fdc5df407933cdc07adb7f3c433d264e4f01f9e707567658bc698613f9af262b035a991fd7dc497317c337fb4f33108520f3ae612ea1a7e2d15bba097f515fedbb0336e84880c52683703e5dade86f9abe6e2df2d8cdf575a7310bdbaf8788a052b903520c9bf4d9e68517da3255430221f995ac2b886137d8f8faac8711a26f1c0b2803c471ceb79c22344ec7b20203b3afa68db0e1fca028a33fe55ea3fd9cc786885d0347a92ff6e2e41453ed3dd256adcde68a5fc35f9745a8d366a402b0c8a295e0fd037a089d37b81b3dae33cb59f203a88f98c16085f790cc29bebfd6396650dbaa1703a49c21541c425ce88874eb83f2621b6accd4f0087d846551d8807ddb77d84cd600581f0255887fb886b08a48cfca170af7fa40dce3895f8069151434941f01330fee410103fde7c29876787383ae729218eb4d60d0af7c737b0d758eda3bdd77ef597d294c032f35aec5f12e268c4d7bd8003c075efd25eea3de378b15128f5e696235bdc22b036ccfa73d8632fb43df4fbdf8d9ed6fcf3a38fef830831cb5411f12072bc8e3170219dfff03d878193bfe475aadacb6d2104712f6af02635ed0cdcc3d783d2a9878e84caa7f03deaab2ed3bacbd6cddd34220dd986057dcb84aadcf89bfde892534a905a5405b03f377095187f44573c3f8ad66ebdeff93868a170849644d898e8f34c6697a460c0390c60c2b6f46ddaffc161d27d9cf1a97ef80f943412afd2704b94468b701811803a953b2d3845a53ad8c367a5bce2533be1b3a9a8247138bdf08b5cc680ccdf8ea035468cd9ad4328dcd3f85edafa3851cf50b1492b8ec8eb10101a7e16181adebc403793c40e6d7dabd4f3dea3fa87eac6edde59d6cc3d5d59ee51cc83741de9cc6fc030e070f34ad2c8898cb0fc0b910ac73abaaf562dc59e21b5d98e0663c40655d40034d62f7e924799ec2ed5d7bea0a68fdbe55ee8e50f054fff0d537aee93c66096103a93bfe2cb4b047ea8e00e3de58fd87a391e13668f1203cd3a3e41b1f8825faa503964a0f276fc1d5290cb64128a9e059aa2cd3de45d11aca4269fdb606652372b203930a3af31cfe47f8595a69d025c76a64d9f900a61bab37b14d71222c98ca3efa0219ffff030299caa45d850bf22abf1592354185a2f0afead237641ddc3d63aa98ec2520b803caeb8b412554802b46fc43118e1c80103afc9d8136711fa7c0d102bb01b7a53b0314a013404fe11c3a29906eb900a33b9e76af475f3b23501760f1e9688109706203849f4ec9f69a00423a56c9a54e3bba2e3ba42d16c6021c34b4ea8a68ae6ca255031c5bd70fcece0721e3c2657c3cc036738d9468ac6712699f99c990c481c97ea20219ffff0219ffff05581d027d1cf456b8c47a98fab9fe955d18001fd3bb9ca2b51e8d19fc7613250701191163036616342f393c4c24c5920aa30e303a37c55734ed0ebcb1656727a7bb8e36c13f038c1ad84c84b471f109e96a245f3e605b62207f1dd607001ffefa4e077527d07205581d020214a7e62d79f2aaadd8b61701ce5a5b57484d4f43dd82a8ca3bd9e207011bffffffffffffffff0219088005581e0348bc81d5f619900579e2e3060238b508d5950d3706a032ddaef5fe5dd0040105581e031c23a791b4573a47512ef9d1ba349e385feec1be0d3521f29126cbe0e0040103f660ab4ec0db4ef5951a9418f6e5f67f13f607492fe59eeaf894b7e4be031f5305581e03c5fa60642af2a614ddda8dcc45bf2e9d9b1d5cb118479542384f9d3610040c05581e03f28f7028e6db34569e06fe38e7cefb99f55ef55a41b8fa48345ab5ff40040203d31075eb15be40c6eca3fddf0a65c133e743b273de94729919f77b6967f6fde6031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03593e9bbd542929840d8e4104b4e9ead99c6b825358cca8b649898a484007011bffffffffffffffff032c5d14e5390dcace8c82bbde07ff4992b268a231fa963497fd79911c09aa345d0219cdbb03a7a32720b0a3b27e7a10086c4d8214ed1b03c7033293047e0ac8ae4e0b0b94f503bcba7749aa9630ebca518aa5ec9f006741623db5354f0c478dc65d43d74073c60219ffff03c0fdfeadf4aeb326bf3d9525d46e043ec2d44c9736fa3ad90d77c760bf36cf3d03c758ddba85296a75af9ae4211c83a700754942690cf7112dfd2f53c6fc1e97d10356b26fb58900226f9056c32d30a9b9e3a347bbeb94e95a1c76c2cdce68467b7b03537fffbe9cbca179700a9f1a6ace05fbf851c71aa6a82de54c5fdc8b51f395370219ffff0316dc4f77bb3953db7d2e6fa74f0bf4df2fad65366b17f7df790c7ef4da106764035c88c8b0042e122226fc05a6c5c5bd3eef03fe70ace37d54897b6097aee437fe033e17f77465e929c74e910d1deba05fe84c6ea3abe9835b7870154339555a06b603f5eac5ef04cac938374252bd217568b45bd6ec0fa561d5a7d9cce165e2c3fd4203f5fb424aa30e91cca0ac8672285003b112cdea8c7c8b8812df700ccfe2eaf62c03ee0429844ee4105872f6988f1846a6bb30b14b40173b46a30a556f9631c970c50395c8f9318508104cb8598e0737bd24877bd7c0795b59739d1587876a189bd5e90306f30fc0671765d2fb7c9f6f11896a814324ff0462623fdf5b475f68ae4de0ac036659508e469caf4a8708e4de1cd1c14d148ecf0a194751b97a8ea7c7b7ca7e9e0314a59b5b8718c5927bdb70e3cbbf86ed5889d9c7427fa0453541e1f9fba13b22036da236798b4b764cc8295189bb22f70e040236468326093ffe573937b035a64d0350d00c425fea687e08da094271372dda84be7a412d5fd50b7dd6833211ef208f03b1b086025eeb3b2683a0761bb70638e7b4f93141cfaf70dc3a0f8ea14eec199e038083c58503966aac7cbffcf6b3cb06e628148973082b9523479fc615853a2ed30323843b18c00a2e7d8c37458d594966d5ce378271024176483dd5c231671027b80219ffff031fdbe7e912c7b1509dfea38d97eca7b1f0caad1b481be9ab31bbf1883c5ac80d032e51f772a0ac70153f0765aacad7cb5336cd3c0d8baa12f9e11244de7335c4ec03ceccd65924fe77d9a70959e50148d4e24615fc705808103891beb5effc08c0df0369dd64b4ac73366c332531238675398ce13711f9429c42c9c7c2a781f25da6110219ffff036f8c2102046185af0fc4acc75a306d6e713adb2630693bc461fdc738274c7234030052e5ceecd7a31fc9b736942e911fb82d6707124db337b209b060702b4e9a010385640a6c1fdcf89c6c0a581348855ebec3e1251300ce0f1f11b963c88b328a3203e45954cd37d207227b8ffea2fc0f69485df8522ee3aff466edd50605f285b78003b8add9f75e5ac398ee71c7887613edcda2718542e8d735f4402b8a064351e64903d3e1d1e1073f3220a037d4fe76c72d83708d3c3b771ae160d48033f453922009033e6563bd98a6d074bbb9068608214a51f71eac330eaf7da3acad36624cc7e9c903059e9ecf41f8868f5be7d8bdb1a1d9620678f6d676348e83a3d3718c817164660384e8c5a41351d9c37b07245e36d68bfd512fb41d848be0a4819b7d4558388a1803ffe028a9e218c0ed17938ad736b221acfb9468ca5b9b83e67c45f688654a55dd03782afd0a1b77717996a61f307f7632892a768ed591994c1b2f89d1feb749724103a54ad8f584ba1b784950dba7967a0a28b026e6d73a0a1bbdb7224556b53122fb0367bcdb7b5fbebfdbb9f27358ab97949a2e6e3c545f81ad9f492cdb29aab465b405581e0395aa62f9a401fcd0916a76d9c0809ab249e4d560dac625d42cb98c5c80040305581e039e8ed419d82f03e02d85848a1f8a5a4a6c322d762913f1d8fbf0c77d300c014701dcabc3404c80037510f44527b2322d727dbb0b2bcaefb5d62ddef76373bfd8a617072ab212216005581e037cc064b0ee439d042814e53f6b7223d1c0267a85edf5c5a398d27a5e10040205581e031ceffc22617fa39039f0bc9532aa928f57e413b4218d7fb561e40e90600c0a470258dfd9dfcc9503f4d19efb33b76df9fdb9aa19d9c8297fe1bb299b44d271fd3851b40f95929d5205581d02eda8644a64cec152c58f5aacec93d72fb0bfa705f0473f9043a8357c08410105581d020dc0be7cd1828503a18f54e866c3eb858322737ffc4f95d896aa2ab90c014707d01d828ecc0002190820039ea5ab98644232cb7a88669117c01f21b0a542d09109e8f52c8d82bc8b9c51f7037bdf835bf65e00d4a9db783af858960a9f00915bbf8682f0a4fde54d1e09c4e902197e6e03604d089c54708da1556d65024bd2a0c010948d4660b13286a2079b130389e87f03c48d44841daf095f498da82ec9c7f48e54fa7d6bcbdd93ef6f100529ed99f292036726bf6dd8575853c7f3389acca4a02618d01c96f82157f862fe0887a98d40a3037d90d15c346e1864e8515c068eaaf61770bac0d2b17ba40de0ec5d0f6e334b7003cd408244fac2b3ada187a31c688ec8dbc77edb568654a27cfa31df86511a0abc0372f30553bacd89513ff85215223abbdd9dfe9774ca3cb12157f7c989fd5f01ab037c038681b247afc4fb924d65d3292867f5bc5ecfdc60e134da64d617fbcc2ce303f0bef1704b9efecdc2c397b1e0f4046485bc4994c66f69af0780d50b103f520c0344a264e9dc1b9ae16db4e9b70c333c2ad1b7c2856023f07051dc0945675935330379bb4a1ec91bd525793dc65edf692467b3bafd38c026a9a3848f99d1081ed277033122fd877446678803585be583d262e02648d2702edf6bb9ec8419f4b116250703a14e14b7e60808064e6b539be2f78f20a7b5dbd0eb9640a2e7aa8e9309a55c1b0219ffff03b58a549e3d1d8bb5b39c4e317b4eb8ed48921ede2b37a784a1083f9f77fcd8a30326fa0b947e8ecccdc6a7bf672d815036858ddfdf365607546057df5c3d0096d903b9347e9bc329b9527cf7370d8e0787c7c8b5c7b2b018a754aa942b9c6521fe4303615f72cb906c3f9593b95eef611dc80e5a1cb125a2319692d15a5c9ea5c39f400366165760e07fe823ddf927f50b20dd1d1a8f3c62d73caa4f39dd382bfcceb8d00354fe71d570c2943ff58ef871b5b852be387c961f67d86f60d22da06816c888e103a4a3fe7b09f878f87c22dabddd32cfaab9bb072b397e6c9a5ac72cf8a7a9677d03199edadec6739f665f73638ff88759374488b86f5088e3c5865265581f5d49e6037c3b01f0c2b4e2015d86f2aaa9e36a76f74c3cfc4b2db27ae46a6018cea2b1ce03daf1505122fcdf319a1919af8c9ca93ac2dca3c2287442179ef43c06d7e97b2d03187de777ac3a6c43c8f4558b607d10a4f5f1cf4d6e278cbe2ba317450527a140039ad341ae9428ec4a393136f8626f27821089b0ecd41a37d05d438834dc5bf07903b780e85a0d7b204211200a0002c1d3e4ab635ee373c811883c6b15a1068d5dcf03e48232ba3da2eac8359ac503c5a06b57cfb56cbc90f71c104ccae497ab94d3c7031973a51f4630c4e540d3a75343b1e8d3c78ab2e4a416d9b0eaea6346e40ef1f40219ffff031aaf1929b3ac750514ca1481c7533435cf1ae9aa9ee061cb66566c057f5c63800319d4d4c4cfa880f745a8fbc2654e57c09cc644c0090bf836703759c7be9785b3033740ec5574f685e22cf8475d6c541da17ae0312739857d4892f61488a46988c903bda3f73f6326db6309240231b77fb70044accc06139cfea7c1e6fca2a8dd438303e36100ab0e4e7619fa8a7b8364eace6ffd1d83defbb9892e44b80f7f99f4e681032c7b6f7681f13dd8b4b032a9d6e867785a95e6228133451f45bc2cc94027567c03f24dce6bf18fd9eacd9ac69a231de1eb6577533c381a0dbe76fec4ecd82cd9f00301e881feaa84e23d4f7e61213b6db783affa1f2f3a628bece02cb957ba4458630219ffff0392d90c5df8aaf03067471ace5d78e2156fd3fbf5081c4119267d3a31511faba303b5468f2d1b1d04625c0c5201afbb6858fc7432424ef199964866fe9633ba8eea03eaea15a433033daab1d125b0b98eb128cd72fe6942adaaab33e840dfe416299d0300a2f3e6deb439e90e6313f2fbf72b414be3a555764015798dad7a01557302ea03448bf488bad2572c952fdc06e675aa639b796af5fa39e616d3df5a89f6d0fe1c03a2fec64761514d1fad0684fefc575ff691f1ada749a9d3b4066f71b4fbda9eac03a65b8af831d9922410e8d0bacf5c8f5fba7979d9e00e4d7147e724df87c7b92b032872b87aa57ff45fe52644bfacd77e47478339bc5e0575c788310e803ef5204603c55cd3006bb120a86cb87f08fd620f5c036c03536bdcaed32c32e229420ca5fa037f9b88550f9937c1d22c3806c01b3f053a0c576c8caae5212e1bbc06c8553aca03eb84d98b87fa03eedc626c24d7169fcf224df6980ba35f89551a66fddb0080b50368d0694d0860036a71ab1edbc973b6fbdccd5e0680df90d729a4eddf487cd538037469a899159fe44cdbf9295ae2c044a6ba17a5f218b14e92ec300c7b6fffa7e2039004f7130e54b261fda417d1242c1abb68398c633a8ba41be3ec00fbaa36121f039db9657c498e57f86842efeda39be81adc1cfcbfa9f0024c798d09dcd3fc8cc403f60b2156c4b5b79c1e9277a9021b7405ec99e8bc5b94e473c8f10a4390dd254e03138a5dc7c9f88c0ce4e325650c1ce752850c3575143b53daceccedd6ef73f799037bf966d50b7a2fd80d3cff3a6b2b389478e0383eb29896d25563c9a8aa94f12503d4afe0762d42b80bdd95a0e28bdfaf7638c3343450eea3e9295c1d11f4a9a7f90363ec0cbefe4ff6cea9b1ba928430569abb9541c15362bc21de027cb9e41aaad1032388f602773e100e2283184e49b86499f1c0c1f82ca17db4bcb4a6cbcef4daca03f00f60d20c89d115ad029bb5d6012cadeeeee42920c8d88151356eaa9fcf9c3d0376f878aa4be658683f1b27669c5016cbe1f0a2a8b847955e9563e5b526777751034bd5f957e166af7533aa7b3fea24ca12703db22bf1d5adf3a492ceb3cbda49000315fe03c7b82db2c640531a21cb751337f37ca0c68b5a1f9f5095e76ee87386b6033f4d02406df50290374ea6e0e9767b41ae58aecc7346b8a3ada0926cea894b0403d77a1a53636465cf5fec1ffa5ba915a7c514b589095fec1b16e9d6baeb5aefc50381409988e22471e15ab28cd44c25caf2cf32b13f039db18ae9ee760e17820645039b1d4aeea7b3ba4e876c72af89d1880d012143f4fc83faa22758a739652176e005581e03894f1384c3ed73c04f5f11779ad172437a010246481ef5c4902c9103600402033365a7c956158f8c647217e6c2d40a7255cd2d4da6c77250083f0e73f21eeea503bda894492ed69db47c43e5f74710e6488f4ea9d10bd7eca590c245766c02be0f03d91a3c0ee3ff9cf885e8f2bd34e74ecc975f6263df72f3da165ac66a6110997605581e03054998c4fc7650eb807ff3fbe19a974b9a543d806d72514afef3b499e00c074702f10e4a0c045805581e0397b0d3dad18a08d4a66587fd7a1eb2e8698ea15a211b46b9edef5851c00c0c49020571d35159fef5a705581e036e3647b77c40e7824ffe60faab0ea3dc82c34ac95e6295c072d4541fe00c13471e170a1b6df1bf05581e03c5f9a2b2f07c1aa8226f4edc0639e3bbe1c3fbe70f8c17cf2dddb538200847470de4df82000002195dc1037a4909fb2a9d1fcd4979318617908c46ee5a32d34b41eece28784214de5ada26037c36193ff5b991a0be25b0913e5a120cf7dbe85ae5cb5ef4b10b2b3152c61afd0350c0a3eb9ae31468e80b1f313825b57398260b66dc9f67a92c73a001f252a29f030e35a27d7ed01a0236d2d78b26803f74f348d077ddefb7a110fe11998699e2fd03d1ffb8e0f86198b8a3a978359cc9ff3e68f5125c3ba3fdd686961f8eac4b0fb803178b68de07597ff258b92c726010add5234f438f99ae42f5a778800106812e52039e53d5fc25dc52c11b91a641ff0eefe53c85bf740fb9425273041cdc24e9ce0e03659e92abb8c3c6034a4ba0a8231b23738b5dd325acceef8fe650d12a35819397038aa98b8a45ea1918496cc6de5eddc959214c0d2d4b35c621fc05870166fcedb303cc05497039028c59932af6548472796af5e2ac686be17d8c49e1bb57b73957ea03904ff09677549c5e99f87558a7bc489e6afbf4123787969ff89ff7fe66163ca10219ffff0335f421aa0408b57876f32211b02131022a7fe9812a4b1bd04dc19870be27314f030fc40fea0b16f1950564b4494610deac034e1e04f3cfed434c35684c6f8b8fd003d6808aa75281ffb512fa92b736014fba50fadaeaa8a44b5df9dbd0c4acba1199038a836a73013b9649ed0211973586983e8ef2b93a219fd9f23cca85895b24b733037117f22371befa476a4707754a3f26e553dce6379757b6d6efef817ebdf6fac10219ffff03a19a98d6410bd7e16b51355390672032b3ddccaf2995dcd4a5c81a1ad8b424a903479ef827f2aaceda801af2f7b6dabcf968fe96e2b7bec03feb45a396ac6304210344c31ab3dcad64ae17a85d2ef52b783fdbab35e357a5773e696297983f8c3ab603979cd657da5c042ef6ffdd7e8bcb510db7b65284f477314805c42908af06891703622301fbac1bec099e7e66f61b518a8b08b898a9d6bffab6e0c4f29a999bcb9b03907578e621dc5bda7afa622a41113b0112d6a6935162e00b8d7d255209dd943d0219ffff03c2d5f90e403496bfd9101776b769fc1bb32e569089d0b6f218fffa455f682399032707dcf3327013dd07c088dd8ac374a616eb666177fa03d4bce0baafd5e74d2903c356bcd136c2a6f634d867b7a1c0568bed05f74ae1b1ffa1fee5900dd2162707030129f4d4356ca3621f4887296e24bf88bfaef894eed24a5bfc0273209b266fad03df6f06235275f55a69434eccdc6e035f7050f048dc873db0a7009f0acfe630d80353c2959a6b6d87573c6c06a60a8a32f29c245bd8d4ad94e8cf22b58f7632e8590377161844a9e5cebe6a8a09ac5435c2ad4fbebea931f44c6c3dfc3286e5b27f590219ffff037539df43673b9958a655868166daf5556e7421d1d85f2bfa8d3841d14ba278b203bec9e0ac2f26e7ab475fffc5684dff8f269d27c32d64182427870a48d1fb584c03d5f1204b6ce898df4b6c61145959ccf1a3eaca72e7b27454bdbf138d31412c9003ad6aac6f1573eda35aa9e5a8c8f88f84640c74dd5cf410eacca76d866ffc2316036cd98643a984deb2571df9550d34868d1044c5bcd35e5ab34d42c698b22f54fc030462e30f120457f1969186065e96306ee6a46ae7a88d1fbb27126a97b10322cc03ee9314d518f17a3dee8a5e826c0f1a840ee6e816dce4f775b90caec3784f39b3033014fb52da52d7c48342dd1910567b7f6ac0dfd684920759d682ebf52b57420f030b5b5a33e0931ab9a18357a9c6671e7aa2b3938a8f519283259d4f9294144d8a03c2341efced7b6aae3d257473006374cff3d7353980503e0086b599275cac8a29033f6a22e9ade0fd09318c199833d3fd694ac4d8554f3df428319c3baf5cb3914e03d5d3a97a198164cfdfdc827a933a02e8221d0bf4f4dfdce8dc947ae09b3bb4af033671cd8db8f8ca0e286f6cd3f8c1b554c2ccc1b14b2af3a0389fd6d85df621d7037e0a3096e412058cbd635079db87ba3cf4e7cbc8d31a85ae6d223b40087938d603904ac88aa223ad0a229452bffdc8dc9d817072e6ae5959a1716d6c276b98d25b036b0834388aed7d16e618c1261a0e5cb33ece44e12e9cf9e173fc4401f2d13c7d0357c40014349f5c7efe4c132b2b499d4b3c5ae3937d3cd48a54eec2ae3a4b8bd8037cbd7e1e632d112f257f4d34fc0634476eb498f21c0a6b759e71f910d2bc99f1031c1a9ab2dc69f0a34321850456aecad03a7d0de644432a52435d37590e4d049203fe30977919eeb92ea45fa05dae01f0aebd6ecf37ea7b9f75fa7a089fc0a6725903b73b0fa12e41e8ab4aa94c115a25c3664dc8f21c6b3ae579724f7ad35bb926ce03fee9cc074d8c880d272a76cd7e964476ca2fce229f6d65dec26a8063d4ed4e7d05581d026ece1b34e116ee90dc6f7406883b457164c09415ac8631fa532760e70c0244ee6b280005581d0229ed65e495320586f625b0a0b82b9ee1d9983518bbb91342a93649ed0c0348011a069f78aaa94702190201031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0393aaeb0a6b1a05c1b1d61897bcf3312ee6c1a265f61feae0d7c89641f007011bffffffffffffffff05581e03f6060827e8a7d11d4428197446b4d0589fc81aa2cfbc59624d253a7e9004010354189f043ccc71e027e53ed75b6a7a960f9566fad7b2e56b396d2856eed3d51303fc19eef51703bd2eb843cf7f9f8df84258a7eb81b23b36ddac19f9941be28c9805581e034288a664b7f63e7f0c6366c00ec4cab8ae3ba01ffacf62afccab8817a00847038d7ea4c680000219889903280392b32cb6c0cd715d1a647970d3c0d89be1c302ab7d86ea41b15fb0c060e003e434a74dba6651f278fcf825932583fb8e576f572ab727cad1596ba757239de8036fa281cb34197e58ab72c7dae96c2797477480387f6a363e1609d1c0b20caec2030227d014980eee06a27683d077c852a6b2b971a8e93d3d42b0267c89c3fc463303be0312322771ea619ff74a0a87889ff5215baae9e8fa22c6d2be51cd72f5232303453f1b9603d21d19554acc261501eca7b4af31021d33116f1423357c5b829b6403d43415a2235ea0a1d0947d4ec3eca7bb5d8ffccada8a2eb9dd833648945d6e1b03b73e48ea1053abf14ffa796ddc7c452aed96b43b7f13a39b3233bb3b548ac60803b87fdc03a762b99cc521cd52b4378ceffba5a4c1c31d5cb0094dfbc9ae3da06b03936376d099f2464dd030118c596fcc07a0898f18880317fd6ac6c667303c8ea303bd92c519926d94ea30c6ddbb6c868c63a201245c3fae0cdefe5a5b43f84bbae70339879ef042f9955405779da606a418ceb407890f148f891034e004fe140d806d03eb425238dc5c78e6445765cba52f600203c5d502fe3d768aecbddf2694bf114303b973560b69cc213b75c7bcc22fdab0e32647da7db2cc60cc4095fe918da57d41034a85f7a08d50f6dd903bab6c0bdf0341a3dd31caa80c5d004fcd7a1dfb9b4b480219ffff03c9087dc678436cd6db4691fb32baad2b031981a24e721ceb14c06cc4d79b56f703eca5ad98526ef5889a12acf921416f6840cb28ff4bf61cd9b7edff80fed376a9037a35dfbd9b364aaf5c4a712cf9a88dae67d0fb951663eff8ef5fbc7affe425120219ffff03498f8d67b2a50b8e7f70b335865fe5b1f63dd68f75526211a72007fc41c4c23403c126f11fc66b4c837a54faee6e626f57201e25268e651946562fcd9df247d0210319404a3869d666e792f0e37d377837f5156800de9b8ebb3a362acfc0f20ddd6a037cf98f5c2b80c6a4f7726dcc52f5d5f6fc52f4213cf60abbdc31402ccc23822d031c9fa9719b27060333dc24c747ae0d18c480ee628324d8ae615330be6e66d8e103a8b543af1dce6d1a78006f8bef87f9442fdc96e1d06748b89c8d851c9bd7968303508e8c3a74a9179fe477e7d4f1fa1876db96a99e342235716402aae13895ab0e037958271435aa6384ce90a2f542c73ba6b22a3917d1ed346dcbb891c58ec750f90317b5fc5fa4517dbd4a503575530b961255903bd1dbe1de0a0bf9741a88a06569033b56390ed7eead48fe320c325483ed8e814448d9bf5cee09e31e1caca180d11b04582d363d3d373d3d3d363d73234e86cfd20962ae802aafe38590ec84372fd4e55af43d82803e903d91602b57fd5bf3036d0e2771442dcf2c2ab8d26d4a3eb7334b8b17578fc8c5fb1bba51494e79e16b032bb99a43118f410955f4523ddb525b0be1e41b22ef0724b1d2e8938b75caab870379063f20f5100e0ed7df09d49fc55f2e763c1e924755ef907c51cecc451466bf03d4b23b1340ce2c8b248c969a169f1d75744e4876538e2f911b7633c2cf4b248803a85b4b24dfcd939d7b99c1d588c913cefac06d281f358e061b025ec2d2df18c0005820034cdf044060432574476c09898a7275d204735a3d51a1b5adb353fba207f3b049cf4ca91b9465c00000005820030220cfdf6e86f40311ca76df2dbc180b479834857fae03183152df7340f9904c0143cf985a2b7a7b02d0000002182800582002bee970cd8e191bafa33bc291a8d58d63bb26b23ebafb73aad317439fdb14504a03b4ad496106b7f0000000582002d4a97789b9a07645047f3e54898f5a4d8d46e7692bebf02c73ed1b781866df4a130ee8e717904440000000582002faf73d1453b8be86b0c6a591772d9aa3669cb0671d4786335b818da7c481dc4a381dadc4e1d373a000000058200283e8fa0fe3ca6e1909d06f3b2d530d3fa58aeeaa72e204cec3d6d031b922634a073324c914479140000000582002bfc1cb57dda307fce3b45fcb608b9b9d9fc10fb023d0e13d7ae8d041bc682149d8d726b7177a80000002198a23031619bf9f066e2269ffbc13995dec47bea57bccf533bc4ba1fd12bef7046040a403f1187d4d77fcd3a23cf1ed1bc46f31a28eb3e15ef730ace709eaa82d813e610c0350b80696b32d3984b96086e54e821bf53e32d017cde603b05e324ec5ffeea56603b9bffcb24dadd77e4bb823af7155db316d500076b602323147d4cc7adf0ead3200582002a597cb078a0c7e8ee57931e69fcd60e7082960ea556deabf222a6a5d209def4a03b4ad496106b7f000000058200242036405cc159f8f65b1e531379095daba30d2851db74fb4bc5815426af8fb4a104e2da94483f620000000582002c59b5b04d73a898b5557338faf9256e0c23228241c0cf5857604ff5e4d9b224a06fceeff6681b2a00000005820021498a263d90008e3d953779bcca5fe7fc05ad98f7c6c684c5a5a5565f006174a043be07d4b3f7828000000582002f79a5979607e174d7fef3e4aeb3a6221ba2142269cc96c361e9c493f1a6d094a02e1874d999ee574000002198161033dd5b6dba76fb45bf220940d3b32c97dcaa5c223c1d475c17465d9cff70cd7b20308a1af6681509bc62011a824f36bad55b7ecdd75dfb31d5684dbdd896cb8b8770058200227f744e7cad85212557af34d8ba7d71946601f7c539c410a7615064942790d4a04c5e55651f638b0000003906e4b39ebb72dc2578da6ea91c40ff976755d50c90e4e245985912fb24c94ef005820020817f48979d027a335a5168aa31336c0de3c2112904113316fdc18ab20faac4a01ccc9324511e4500000005820024f551503da62b7e6d3741f52887bb68e5208c7b52e76c6c6f9ec9df19e12a84a02101d68a8abff78000002192103033ba1db05ac1ba68d00e22a26a3496596cb54bbcbf77fe940853accedb0e26b5e005820021845f151f80fe84d5f924eb9b0ab56554477f26ff3a99e79adce0d0d18c25f4a054aed6db01cd148000003e90b15642dc958710b1477fe9aacac9b77e42cc585000d7a7e3ad3996e6a32dd037b109fd5b364e19b9fd8700968f77d2234ab29786d0dd8fe5fdf2cdee0b2914800582002fff62ae86e40f8aa65c504eb35d63bf249545fa1b93b097b709b10ae38cfeb4a0987212f439235c8000000582002b1906b00820e4a81d646b99151ec06076332e6dc50f2d74b4dbeaa0ebf4ab74a04a89f54ef0121c0000000582002adbcd60782be48e0e828e456e24cf9892a3764b94cc7ced383db244b7483f64a05dd9eb8e71c305000000219034e0219ffff05581e030589b7103254e9ef4e491e1456675a1da205910dd230ebb57fea3e0dd00701182d03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e032aeb54b9938ac1b599fe69e0b2394b2c70cace795f06bc3f0506a8131007011bffffffffffffffff031dd4927d1cd95b8927377f194336f2253fd672dac6452de7659200632d74202b05581e035a062ac471850e66711c1345f63bd43c2b191984aef785a64e386aa0e004010313a3439d21726fac58991727a50099eb5e0909aec3908b47136b29ea2cbf64e70605581e03bda95128500b0e5672b8bb457addaea3372cb7021783a3634576fea2b007011bffffffffffffffff05581e032cfdf81c911490015fd1e8e57159ceade3926bef8a55d1cd9931aed3c0040205581e03ef113a3aa7312a369608faf11f2b0e1ee12cd323d22e6115e8b32187d0040105581e03247214922af7f13b75e3d0dbca38e982aca4250e47edc1343b8ffe81300c014701632a3191513005581e0325d0473118d3f6f406f29605be2775914a6b30fcfd24e65bf9c6ffca700c0c47bec98dee438a0005581e03d0a8a0dc79b784e5281863e017b113b7960178dc532e1d8e4a1557ebf004050381298d24f179642f41687f0c42bfa261b805a8156c84d85b49c8c6b8651f0dd505581e038ba79ebd43af608a96fb5caa0352bae5c8fb6e014690128d44e8425e70040105581e03b75514fcadd1321864e8b9deabbb79c0f24f7d2e0e8ae4a2885a462df00c01461319718a50000219fcff034089c904d36becb7b7345da9cba7d42d0600d16f8d66755fe624d6dcbe5f88280369eb233a15e96555b538afc46c7728479328fa9d04142114aa815c8af12ca9860372bdd15a1ebe6460865f44d958c9cd6fbef0f6f636a27b72f826fd3600317f5803c8ae6055a68381322a27fd58aa02107227732bb2ca7273a8aa80f93be94c450a03522092d30e51e94603a70989773d69c304f76834adf8b03389593431f446396e03fa68f96e2b221bc4756b0a088222a8b3036aef9f10e4e35df341c94bb71259f50313df97ef0e6d4e2c269987d2ef3886851d9ee899a8c5c5d1ee9e4ada7bb56c0e03767561fd888ebefb0e9cba0629c2ce7d5bc87a2076885b396add9dc8c381e45003ab29dc51f3980930ac3d2a3ad200af338a9ffae2d8e4a8e8122b4bc0253589e50365c945558d5c0ad8b1a9c15ffa9d79e28b5496aacbf6e7da27c092b81225206503534815caf41393bd8ba8aaa928d47a5e0d8019f2354f75d18d200ba9daea75c80311e2723e96881a72a207fc395f9a0711607c3ab32b8b78fb9a1cb32d943c46d40219ffff03c1db8c6efffda3bd3cca259c99c604ed774b8e50ec0802be4b1f29abbd5ad2130364b10eb5d1429d2eb4d3545dae21709931b7be8f5d3a35b4164f1d04edda68a003b9e8eb2a8a147d98fc52147ba7fec52389aa9f24e41e040825caa45d3e91118e03ccae884c21f9ce2fa6aacfcaf9613734269a0479aeede485abe48862c20a1643034cb06912b514d467dfca2b841ca5a4862711d7f1fb1dcb4215bf01c76bf3dc04030375fb4929f2434b4a9a711f73f93c148426db9ff09d7c34e1f9e21d4142a5b00303bec7f0d7e1e9189a940c61c48cc367c57fc1bc49ff888938841d1a5f0c9968031d925418b5391f1db5a923ecc8b27d9bc8dddbbe1654f4606ea637c586787d6e03ec5a9c43ccc76a5a6773f6f6b8240b3cb53bc17e78a53ca3d86ca58652fe443903beb7b7715fdeeaee8f6be876beb22fa32e6b702df91e496fe78bcb1fc9a6799f03e5881c538b5cf5886a985cea07807dba4421872bed9c7053e5b9fd7baec9441803929dfec6a38acbd7701e32226a76c414b22e9849aa5224844f0218ce40a28d3a03504515b26bc5778bf011ea9ace9aad5daa2cc6c5733d9003437862740c4847180219ffff038a16d9e6b3ab8c9dfe7f067c4555686fb4ade1bf069371d5c8aa3a12b2de426f0219ffff03c100cc500a772aa4db8835f3690e38fa1ef8bfd0c9433c905d19d2fc566ca0a703ee7783d833408184343a82ceb8426d464e6cdd9db4357791c2fb74e8a00e2dfc03d19a285193a04b14fb630f8542f0baa6527ec45bf606fa473c57eb4b95f5c1a703af088a9b437f0383b931b7f013d02ce94ddbc799b724c995f4ce499d630e3de7039b979ce6e0f80056491b97f90d34217ba6939ec2de5e50db3ab1a085468a50800325ec4e7771e63d21832fd3bf38e1f35730163473eebcc3f92090e650060b683e030e8f66626b8fba7e2c0e632dac974e7db05294263f94bb1ea4982a7cfa4dde79035949e582d7449430034a6a2171aff20325b2a725034649397d3607225ee012ce03ec3437998d1659eac9f0577204c2740bf2bf11d2da98eb71c078720a6d36a1f0030988a8c73f868d2f3a5b0e1f9e0b4997b981d60c7b0bb47f0ec7b06666a76317036ea76f1bb3f2de162c08e2e5e6c845722e2d40acc8a17bd598924f8a8b89dc38032fe8fd492169d057ec53738799eb8f92524634c1b30519db260535a8cc838d6203303b47c5bbc2c4a9d776c51da92d2ba28c1774ddedee024f5fd75f0eb1489f3203bac78b55a47e244344788c7b8722ee50bb2acd4124adfc8f241040b5890e5b7d03f456cb97e8878f496ab4abda5ab63f97ad02487a8aadd66e8b7560f9c044960c03db83450c53f13fd276b60811aad4150dcded1f904a3f68e4f5523d611114972a05581e03af45b66380950a96466ac77be709626ea8b1fc1d92dc3cc93b47dc7170040204592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b57005821034d74b576da2277d0f3ef4f31a5e552b21b15014dd98f1dc1af9978fcc4523a6041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304901373b584879bfbd010058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf6049012a29cb93c6981b500058200238e9689977d526f580531775c606e5a07c1ff4f40a9ee98e4cca4fe145a2f44104005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af515d1fa4a21a97e925db56790d46efe1a2800219420000582103308a3bb1c113a550ffc25f6a1eed974086e4fd374a129d1515829e2e85159c305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005821037b0dce3b52f7a306677dcc8ed2799944e91fa32ca976553f81991e6b5abb3d6041010058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20058210337546352e8a05bcb8b60437ed8501022da800a3608a630110a693d9ab0c5b550410100582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820646a3b71c56853f69f6df5672b80337ce9dacece1233ccde35cbe62b7c000513005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8513346435ecf9f2ec79a2412847899d6200c02184400582002023d2770685164162d6f573acf8bdd457c444c53b5374c6bcf6d41762bf4834101005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219c00000582103f5e0a2c9d374971951f3b4911a76d213b7c37f90da4d9d0276c7b2335cca7cf0480d118cb4b3279dc900582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687db2f00000000000203698da5e18e86c8000000000001cde5b9e2d0b253af0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f546d68015171eaa7af9a5a0a103664cf1e506ff6990218480219fed705581e03dfa4b1991f77ea94e2e6b93a06a524ad7b627bbe0cc9f92098c58f57e00701192c1d037b7c3507c979cfb4712f2a7142d053b0ac95e3dcab57fd42f81e42b91862599505581e03858f3b42f3a16663b963500d23598749ad0117b3241f982887545673f00c0447141293a72bcbc605581e0369c912b83255367e284c265de5f162215f9c4973fdea11de69a3de32300c054801ecf8fe6286680005581e0357525525ae74f76c5719059f8a61f679960396419244b76afb126389900c185f467652d7ffd70003cb2906e797710353a451f65d0e554b6733a2a18b8b5d39327be13bc3ebb2e1920327d26b8e41cd58fd1b1d538cada5f558fc23e026013817e595a178b1b1b4873b05581e0389dc8b9eceb5a81c8f65375c5c69806a8599abc44a5d647ccc6a7fae30040203a3610471b465c257ef3033c0f7012079732b188fc98de533effb0f3d190d275602190cff0355c4e683da4049268a5532a501fb128e3892d231d16c6ee51ac32d64bbdf79d5032887a973397af45cb2777564945c94e82922b58d550e04dcf0366f79d546a2f703c85b465ff469e582a58c1cd664467a9ee353d090b07f6bbd2e1764c03eec44480346741dc8fcedb97c57393715d5eeec08b61d58f469d65454a6c13a613ef6d74a0304b648c58f2369b685bba2e68d048c5092a0725f3bf97ee410dde5302b851292030292a7e7857cbb02cf349b8d1ed51bfd2fb3c7165b7a231952e5c3339e488cc603eef0d8c76e9b167edb7ec4bd4752aa8cc0a2a90767ef2d0857a53d8a777315fc03734cb7b2e78d16d46ca27c2144d9ad12439c1200ca6aef749d3d450b20847b1303bdbd169d16ae1e84f439270c92fe276f0787f455fff20ce60283dfbeea95f5ff03222c5019eef540d9d7ab67db8be52da209e9ec82b823242c9b3ef209474b5d56033638cab774205061b1195c0e029b9c406be21607b5acc4dcc63e0d55a6a9d5a10376389c7b522ff2daa2d3887a2ac721e6a617ba418c9a8bfd3944bead4f6176b7032c11b6ec74a4474217b99705221374fffa8bb12136f3d0f64aa75563921502d503bd9e7d9ae6a9a00e860d23ef6097566612b806ef028048fafae0fd11ea3940a5033eedadc42049c7bb228f2596d636fef784fc67a2cd5e5710b36aece7ce878cda0219ffff030608839d50620df0592ca881d44346b253503c76c222deff7cf02850323c511903a49748e87014b2c4632e25ab47b27d1c0203df7e157e11a542fd90552679313c03bd00bdf58c8af52e2778d4061895e40ca7837e45f248041aeb75061d03788fa903004f07eb3d17ab8632959e4084db2bc7900505397b0a8b0b56499b4154c5e1c403391816e2af6f5adcac115fdeae4956b3d5c89c99c1e004fe063630b70d004bc4037c8c02a5b112a8115235e4e7a0aac24a45164df9f43f720fcdf87ec30e76683303038573503f65cf1e21edf50149e1b31750b5ab9ecd09ae7abfd69ef16d655aa203c3bd09b0211be40b7ff7300934098a0766464400e7e7ca353e1365b0d8ca848603d58ea83ef46f2d1ca5682366af4c5b77fc59ad2262f9a926542d291e35443c1b03cfbb3864ade654463edc9066b3eeef24a3c526253bd709687b69ea4b80bfc9e50219ffff03b77ef1099a97841cb8b72ce1c31f42d6b148845be33d8b5fc8acd399e78393680371474d6f89e9c9038e8987437f98bc057484f4f7326ca4264d68f710123d6f0e03b2cbfa7d8cfff72254ebf4e63cc8fd00b0295124ebed783e129a0600501b5f0f03215d1e2891b7c07d33a9e1f8b9b4aec9a595e9e450182cd009e3136a10b2e25a035504b26cf932ac0220a5df28a44371095cd9ad602f1610c084d5cbb8956a5ab1037d1e06fee8290346a2012079fc762459c76b642827c73997f76c6dda9ac2b02f03b84043f6b9181e5f852e65bf12446d90b5a1d550af13a4f5a342d924a9533f2b03b42b5f7d8bb382ecdbedbe4be7dffa5433415d0e8c1c4fe2cf04f525098b0e84037752031a03cfcc3e7d8c78a77ea02b58de6e883ce4d4e61ddc9b66cedace4b81039c040f96f54e3284bc7906e3a90bbb386cfc680cb70c2f35dc2db51b2a3aeabb0354daa93687caa555833dca77ff7771ded1d56b0f4017489fedc0d0b9db09986603435a5ad0a7b3998b4a45886d15505eddce47e8ced18de1f740465c7171fb2d7803659a843412f99798f801ab6039c3f305ee992f19d6c3baf729d06a4d6bc2205b0309ae4ffa42dbe6fadd82408aacae9b0ef4eb7c89d6f157031563a85748ffda3e0219ffff039bbd19001c25686e1bef9e4db47ed4c72ec213c39991c924e831d3c1ff3b8f0a030f31a5f3465a783b644f177ceac51837bf9fed5a568006bd8f3c3ae33cfc9ed6034352e9cf557a8324bf6993d8c92a0e9c9f555c4fcbb39babe41a46b55a23218e03d84bec1ecf338811441c52dddeb7eff65dbb33b2ac80bd086cc3f4453fd97f1c03982413dd14c91e649316ea93a3cfa3b0eb72f0d04b1bb459893442e3082767b403a515e7f0ca371909b46d7054232487303b249057a837b0a090081700d4c6fd1a03f4141b4a210335b84d54da73ab8e2603f83a64e53f85e128816e4c59b2a0ab2303d58d2aee21c77ba81ba799f93d2193d82cc71de826676cef6e9200b0cfa8b12203246da4936155d22287be7ad478ba9b0d3933a277567d09229331c2be48b8e50903b0e727c6296c37828df6ca2253c9280f74a47c4dc42dbdd4933d9b6fd5d631bd03f70575538e246bb1fb21a040a5e60b33d81113aa32540618f6d4112aed6452e7032e5f73582b1da65e4c7c8bd65b8e346630d05172e662d2e26b0e653a2a94c4970379470c0534808b8811a484df46d119d25a6b5e475b8e55b1950dc314f50a0397030fb1b32535a26d5cd90256cf01556bfa9f6c0e6cbae137120695e2af7ba6994803623f472902fac54a512878dabd94ea41f1284ab5534e5592133ec4f2a8f55f5803d5ed40af39ff071f36d64a8c0a32a8b26c0194df1b6b95544a5d72785ba6378d03ac7c2c5e64ecd8cb0225c2061922377ab5c9fba764055e8ec782be881b6c782005581e038d685b8863e5a05a56321f95cdbcad588ffdcd09d00fb291e6619970c0040203d665f4110edc59a007bdf6ef7993080b3b50d97586e5af5d31af8185fb5e907105581e03bc6438ae4700c0e78f55ae539298d8a15530ba10d606958252ebda60200c02470276c101d5938805581e03e76544fced54d2ae37453bcba8d2b9c2015987a07b83411b792f36d1c00c024501e4c6c88003b34403f9b8f304422b6f09ce935eb3ffbe321dc7bc23be1adba204a37a032de805581e03ac49956f2bd77fcb664722e0c11342d45828b5a6906fe09789c08a8030040405581e03939d1f5a0e9f0f82a3c97689765ad4e3b8ec03eae6d69cc7c166393c8008470a4ee3c8c4f40003d556d9a41931061126e49e0fddc12debf76c94777b5b200a2c675d1a099357f705581e037203150bbe35c0ceb866d36a82b94eb87b3a7aa2d2f3bf93c46e2f14a00c014439c7466803346342ae03e818c170943f3e9d8247ba13881e056320f4452b2a9fe011daa1c905581e03c46fc7c96a2dc26362c19ee68908b96a89ad57d2fae715d13f9181e7500c0346035571a8d59503f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03fecb1adf59cbdb37cbee1ecbc801f028aece01c71dcb2300a30bb2132007011bffffffffffffffff0219fcde03d0324c660fe58db581926a2a272a6b652f2f380a48c57b2a917b87a3dfeb3132037cf0b43459f4cf880496c6ca3010cf050674baa2b43b5a9ca5a44a04a50b67c503069c15163100d22f2bf82348589e6bb68b3511cfab5d4161dadcf63857bebc7f03048dd13f73b029e3c3bc5af693ef7e7463965a36e6a1c01d03d39eab8c46de8103975d36320e13aab94885c273f223a8e4a4043dda1d61c7d2621dab9657cdbbb803e5934d83002f42c4c034b48733bcdb03a3219af7b3578c268e71de35ef9d2cf803494760e1c1efd7bd14e7073272482a9a03063f7370ba85b0b22ec494ffde8b390219ffff0397a89c9525615f70216cd0daeb4e9959d1eaa26e15a5af598f2d3bb9bc45576c03318f195cb6940ff423cf9f45e5fd07ef3616a935ab1d67ea73ebaccf2da42be9036c5ac5f7ea4735fb98c161a4bb4e6bdc224a7a54376c83cd12f6f4cbd42b990103f81d6e200e0269fd06a04f607ddc3c0109c7f3f74129577834a55586b548adae03bc5fc3ffaf7eaccf3cb6a7e6a8e30b44a9c43280bf5696455b82eefead0bf8a303ca988d302ad9f90203936dc6266e5de8844bf44b1b71abeb37aeb64a22139fd203afb40ce967a890ecac9e0b844a397b62f1d7ed58588812c2e89577d45a5a8a5f031b4b339d91bbb51e419b170219758d3c38baf0b480fe8f61bdb4498177ec86bd0381a398710b6e3a3407b1905b3976a328e39c8f74b473cf5c685aceeac9448f130361e5b76e245b93fbdbad3a923abc988f6144a6643a406780fee73d4e42620543038e48fb8e3d6e0a08e1e2e0e052f81542ace7600a1d48b46d55d09da357728b5b0219ffff03f5c7d61e4b3344aeb4c44f2af8a221610fdd31bff9dadd0dfbf49a568630c20203a58dc428e1e3484e42b4c6da0f03d2888906dfcd1f7358b7029f064e327adcac037f0fbe66440f9b5a6fd8e856d8dcf45a7f3282fdcab6dab5bb08fd40d5c8d980035643876d157609a4de785b8121057eeef4473af35d9e98714040de950ea1a001038644804ae837fc95c6bc8c1632f9a51edac83185e43834f7853b511496ea385103863434ffaece2f76fcb7b1119ffbc6de18fd48c312981fbd00d0f8bb521c794e0318dc5f35f677b429fde0727fb33dffade96d47ff49098415c6148cc27a543d7803e64600999021c64d3581fe509ca1bf44c4b213d1ceeb6eb0a095cbc09aad59850314ec0ffb025a7b65a8af8df6a0b5fefadf1605ecdf434e413c76e2228d8a6b010377630e1c37861ff936ee159a6c636ef24072aae3c00db05add0d37f5226e087f031a9cc9a8f51f048d38757933c36bc4edd740d50729f39afaaffcd7193e8f19680219ffff035c50e327f6e4580017c7deb248b83e9512228c08847a182f0ff7817fd3f005d10219ffff03175f99078d82a378a386c54e63b7b8d04d22128aaa18b45f6cfcbad68424d9e203200d4da2bfec60524d0b8e264c2c287e45416b1b6505a7e19076c40004c6bcc7039676baf7a7d9d649f7f18c5ef4bd53b2b96291fc1a7eafdc7b3125624e947e3a039b4d5d324b0a9d5a91e22d475883f096491942ab1e5c4fb9d2caa72b8c9bfdd603a3f3b83b180e30daf809e2f3a68c06e0db55b5b8025335b21e79451b2a9a1e280324aabc58af4424e16a4bb940cb3622e947478c59f5d911e0164d480837f95d830301f6b15afc3db0bd74a353e74607525753038f43f5515fd33c117f85f9c846bd035deb989fb642eee825186bb5bab501fb318e332a74dd9a880a7bb37e2bc54a2c03fb6f88d4730001273f988288d74f3097bb2712cd9707abe3b62060dab2adccba03e97c84c9c9b5ac2a23eb9c5ed5c1f3ada6f852f384ef7ff959c13ba4b29d295005581e03396dce1b5a7b469f8225e62dd247eea0cc2f2abb94144bf2f7c937b78008472160086066ace1037662609970b318f790d500ba8c7c503aeefdd1057dcacd0de63c568fc7b2274b03772d75ea1a09ecf14364aaeca72778c9282ab3a3d8005af2ae7e40379fe3cad304593455608060405234801561001057600080fd5b50600436106101a95760003560e01c806399eecb3b116100f9578063d9caed1211610097578063ef5cfb8c11610071578063ef5cfb8c14610992578063f2c098b7146109ec578063f9609f0814610a30578063fa3964b214610aaa576101a9565b8063d9caed121461086a578063e2cdd42a146108ee578063e2fdcc171461095e576101a9565b8063b52c05fe116100d3578063b52c05fe1461068f578063b61d27f6146106dd578063c7c4ff4614610802578063d1e61dcb14610836576101a9565b806399eecb3b146105bf578063b0f63794146105f3578063b3ab15fb1461064b576101a9565b80633fe9bc06116101665780635d7e9bcb116101405780635d7e9bcb146104d35780636a4874a11461053757806386d1a69f1461056b5780638da5cb5b1461058b576101a9565b80633fe9bc06146103ef57806351cff8d914610447578063570ca7351461049f576101a9565b806309cae2c8146101ae57806313af40351461022857806315456eba1461026c57806317d7de7c146102b05780632dbfa735146103335780633c9a2a1a146103ab575b600080fd5b610210600480360360408110156101c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b10565b60405180821515815260200191505060405180910390f35b61026a6004803603602081101561023e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cac565b005b6102986004803603602081101561028257600080fd5b8101908080359060200190929190505050610db0565b60405180821515815260200191505060405180910390f35b6102b8610fa4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102f85780820151818401526020810190506102dd565b50505050905090810190601f1680156103255780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103956004803603604081101561034957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fe1565b6040518082815260200191505060405180910390f35b6103d7600480360360208110156103c157600080fd5b8101908080359060200190929190505050611203565b60405180821515815260200191505060405180910390f35b6104316004803603602081101561040557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611350565b6040518082815260200191505060405180910390f35b6104896004803603602081101561045d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115d1565b6040518082815260200191505060405180910390f35b6104a76117d0565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61051f600480360360408110156104e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117f6565b60405180821515815260200191505060405180910390f35b61053f611962565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61057361197a565b60405180821515815260200191505060405180910390f35b610593611aba565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105c7611ade565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106356004803603602081101561060957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611af6565b6040518082815260200191505060405180910390f35b61068d6004803603602081101561066157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ba1565b005b6106c5600480360360408110156106a557600080fd5b810190808035906020019092919080359060200190929190505050611e1b565b60405180821515815260200191505060405180910390f35b61077e600480360360608110156106f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561073a57600080fd5b82018360208201111561074c57600080fd5b8035906020019184600183028401116401000000008311171561076e57600080fd5b9091929391929390505050612018565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107c65780820151818401526020810190506107ab565b50505050905090810190601f1680156107f35780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b61080a61216a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61083e612190565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108d66004803603606081101561088057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121a8565b60405180821515815260200191505060405180910390f35b6109466004803603606081101561090457600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612386565b60405180821515815260200191505060405180910390f35b6109666124d6565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109d4600480360360208110156109a857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124ee565b60405180821515815260200191505060405180910390f35b610a2e60048036036020811015610a0257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061261c565b005b610a9260048036036040811015610a4657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612721565b60405180821515815260200191505060405180910390f35b610af860048036036040811015610ac057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803515159060200190929190505050612ac7565b60405180821515815260200191505060405180910390f35b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bd5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000610c938473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c4157600080fd5b505afa158015610c55573d6000803e3d6000fd5b505050506040513d6020811015610c6b57600080fd5b8101908080519060200190929190505050610c8585611af6565b612c2290919063ffffffff16565b9050610ca08484836121a8565b50600191505092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d6d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b610ec9735f3b5dfeb7b28cdbd7faba78963ee202a494e2a2600073d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff16612caa9092919063ffffffff16565b610f1c735f3b5dfeb7b28cdbd7faba78963ee202a494e2a28373d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff16612caa9092919063ffffffff16565b735f3b5dfeb7b28cdbd7faba78963ee202a494e2a273ffffffffffffffffffffffffffffffffffffffff16634957677c836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f8357600080fd5b505af1158015610f97573d6000803e3d6000fd5b5050505060019050919050565b60606040518060400160405280600f81526020017f4375727665566f74657250726f78790000000000000000000000000000000000815250905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff16634e71d92d6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156110ee57600080fd5b505af1158015611102573d6000803e3d6000fd5b5050505060008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561116f57600080fd5b505afa158015611183573d6000803e3d6000fd5b505050506040513d602081101561119957600080fd5b810190808051906020019092919050505090506111f9600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828573ffffffffffffffffffffffffffffffffffffffff16612e6f9092919063ffffffff16565b8091505092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b735f3b5dfeb7b28cdbd7faba78963ee202a494e2a273ffffffffffffffffffffffffffffffffffffffff1663eff7a612836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561132f57600080fd5b505af1158015611343573d6000803e3d6000fd5b5050505060019050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611415576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073d061d61a4d941c39e5453435b6345dc261c2fce073ffffffffffffffffffffffffffffffffffffffff16636a627842846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15801561149457600080fd5b505af19250505080156114a5575060015b6114ae576115c8565b73d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561152957600080fd5b505afa15801561153d573d6000803e3d6000fd5b505050506040513d602081101561155357600080fd5b810190808051906020019092919050505090506115c7600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168273d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff16612e6f9092919063ffffffff16565b5b80915050919050565b600060011515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611699576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60011515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514156116fb57600090506117cb565b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561176257600080fd5b505afa158015611776573d6000803e3d6000fd5b505050506040513d602081101561178c57600080fd5b810190808051906020019092919050505090506117ca33828473ffffffffffffffffffffffffffffffffffffffff16612e6f9092919063ffffffff16565b5b919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b732f50d538606fa9edd2b11e2446beb18c9d5846bb73ffffffffffffffffffffffffffffffffffffffff1663d713632884846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561194057600080fd5b505af1158015611954573d6000803e3d6000fd5b505050506001905092915050565b73d533a949740bb3306d119cc777fa900ba034cd5281565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a3f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b735f3b5dfeb7b28cdbd7faba78963ee202a494e2a273ffffffffffffffffffffffffffffffffffffffff16633ccfd60b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611a9b57600080fd5b505af1158015611aaf573d6000803e3d6000fd5b505050506001905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b732f50d538606fa9edd2b11e2446beb18c9d5846bb81565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611b5f57600080fd5b505afa158015611b73573d6000803e3d6000fd5b505050506040513d6020811015611b8957600080fd5b81019080805190602001909291905050509050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480611d65575060011515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663bf86d6906040518163ffffffff1660e01b815260040160206040518083038186803b158015611d2657600080fd5b505afa158015611d3a573d6000803e3d6000fd5b505050506040513d6020811015611d5057600080fd5b81019080805190602001909291905050501515145b611dd7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f6e656564732073687574646f776e00000000000000000000000000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ee0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b611f34735f3b5dfeb7b28cdbd7faba78963ee202a494e2a2600073d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff16612caa9092919063ffffffff16565b611f87735f3b5dfeb7b28cdbd7faba78963ee202a494e2a28473d533a949740bb3306d119cc777fa900ba034cd5273ffffffffffffffffffffffffffffffffffffffff16612caa9092919063ffffffff16565b735f3b5dfeb7b28cdbd7faba78963ee202a494e2a273ffffffffffffffffffffffffffffffffffffffff166365fc387384846040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015611ff657600080fd5b505af115801561200a573d6000803e3d6000fd5b505050506001905092915050565b60006060600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600060608773ffffffffffffffffffffffffffffffffffffffff1687878760405180838380828437808301925050509250505060006040518083038185875af1925050503d806000811461214f576040519150601f19603f3d011682016040523d82523d6000602084013e612154565b606091505b5091509150818193509350505094509492505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b73d061d61a4d941c39e5453435b6345dc261c2fce081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461226d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156122d657600080fd5b505afa1580156122ea573d6000803e3d6000fd5b505050506040513d602081101561230057600080fd5b810190808051906020019092919050505090508281101561234f57612337846123328386612f1190919063ffffffff16565b612f94565b925061234c8184612c2290919063ffffffff16565b92505b61237a33848773ffffffffffffffffffffffffffffffffffffffff16612e6f9092919063ffffffff16565b60019150509392505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461244b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663df133bca858460006040518463ffffffff1660e01b815260040180848152602001831515815260200182151581526020019350505050600060405180830381600087803b1580156124b357600080fd5b505af11580156124c7573d6000803e3d6000fd5b50505050600190509392505050565b735f3b5dfeb7b28cdbd7faba78963ee202a494e2a281565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff1663e6f1daf26040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156125fb57600080fd5b505af115801561260f573d6000803e3d6000fd5b5050505060019050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146126dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415612898576001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60001515600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141561294a576001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156129b357600080fd5b505afa1580156129c7573d6000803e3d6000fd5b505050506040513d60208110156129dd57600080fd5b810190808051906020019092919050505090506000811115612abc57612a258360008673ffffffffffffffffffffffffffffffffffffffff16612caa9092919063ffffffff16565b612a5083828673ffffffffffffffffffffffffffffffffffffffff16612caa9092919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff1663b6b55f25826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612aa357600080fd5b505af1158015612ab7573d6000803e3d6000fd5b505050505b600191505092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612b8c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f216175746800000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612c185781600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6001905092915050565b600080828401905083811015612ca0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000811480612d78575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612d3b57600080fd5b505afa158015612d4f573d6000803e3d6000fd5b505050506040513d6020811015612d6557600080fd5b8101908080519060200190929190505050145b612dcd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806133ea6036913960400191505060405180910390fd5b612e6a8363095ea7b360e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061300a565b505050565b612f0c8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061300a565b505050565b600082821115612f89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015612fe957600080fd5b505af1158015612ffd573d6000803e3d6000fd5b5050505081905092915050565b606061306c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166130f99092919063ffffffff16565b90506000815111156130f45780806020019051602081101561308d57600080fd5b81019080805190602001909291905050506130f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806133c0602a913960400191505060405180910390fd5b5b505050565b60606131088484600085613111565b90509392505050565b60608247101561316c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061339a6026913960400191505060405180910390fd5b613175856132ba565b6131e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106132375780518252602082019150602081019050602083039250613214565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613299576040519150601f19603f3d011682016040523d82523d6000602084013e61329e565b606091505b50915091506132ae8282866132cd565b92505050949350505050565b600080823b905060008111915050919050565b606083156132dd57829050613392565b6000835111156132f05782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561335757808201518184015260208101905061333c565b50505050905090810190601f1680156133845780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b939250505056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a2646970667358221220a48aab8a55041a7429f54b285d1f72b7b6ae86f98366a4f9857a01f9455f38d264736f6c634300060c00330346d29eabca504720cef002e5a42f92583f82292e47228a68f4da56d7a89ad4e103d9ec0f36762c96564310de763dc68c16372fe04c7156c4e10e954455e19577a500582003287cb914ddc8d5f358094d893ce540081df10d739070f29e7300f5f042a6e04101005820033b502412556b3bb7f4b4c090e5dc20228e117f8960675d0f497c172bffca50410100582003ec1b7262cb3396f4581a65477800c530ef2c59a5ecc8fa9d150554dd06f2c041010058200391a93cfd21c5ef0da7743b033dd53a4267182c92e0c029ca326cdf3b2605c041010219a042031a9282ee38df6de58269443a15a9dc8801081cdb0c97ad1a75676833007122890329b6c1375aada6afe2e256943c6c82e1a7767fa144bfc7737a0af2f5ac38ba2f039d8696bef2f348dab561a928754a55b0ab60f6003b1783c452a9c1e3062a521f039625142a63fe3a0d24da78c818b5baef838f7b0900a60bb65d9dcd450eed5e180364289b5868d25d2883c12018a5c4af887c94e626402f8618c3d4c7f254fe817603be3ca494931dca6b5109d378535c6a447f24bba87b5f95bc13ba179cb0af9fcc00582002193254deaae7bf9f3c206c47a69a7b3d643b94b37320b42734035e7adcb632410103fc2125b6f385891d22b9cf1f4a66cb2604cfd73e7370eb0a84184baa5d0de40403479e34302b6b2a521970627fcb72ed7b313214ebdeb788accab50336d35dec6b03d73ee7910a4b77c9c3b4a926675449f2322b3ce950b4666b87ff638397a952e3037d43e7f89d4dfd69f9bea532415acfd4877140f9ab77b8bea1f34acc4b6138740396800b4edfc24870031fc6082b0a587f138711f5367241468758cf06b4b07b02005820023638ff72e23f8072b1d850fc0317d237a2749da5d973a9c179a6cd1a18973f410103c1ad28b0eb917c9cf7f76523d5f9e2508091d946b34e67a2bb43acbf5843ae8d0219fffd03082384c9725e734457c6e8babc4d223b79a97f917246fea0e945c8077cadff2d0310bafba58fcf3b4880224ea77da452faba93d36b9b4df1132f4f68f4a20e0fae0397d84dcc0faf82b731ad3d53622c350a0a713394acb0234ca6d5fe0a704081ed03701d1e651cc0dacc1e6353465f621dd95ae9e596ee643925c1f25114e4769bfc00582002bff61d76cdc2261f496dda37f3d0e3b5c785a11d43ef6fd42d3beff18e957e41010345d40cdb609de951eda6a61d75bfa7a87e1b24f0cb5587d8c0c016284b8195ec03004ec858c39d06fb8f991d7adf66a0dc771c4dbf1bacb84821aaec8c4d23de1a03fbdaa59adf0be0e7c022d0e6df8aee67b7fd1eb1dece5236be2e02148e937fbc03312cdd8fb6e62a061a99c6ce4033d72a5f0c44735b21979e0b1b94bcc5470e8700582003bb0e5e43cb697b7c637e53a89d3e97977282ec378597117e9b1b640c884e20410100582003fb52d645164a16bac02b49c4b8a0ab4a939d246ad0afc9815599ab5f7ceaa041010058200309a12f15f4007c9ddb65a34e1b093782907aca91cb7e861419cdf629976ec041010058200356387adc381d64cb04315b98ef7336bddd62aae2859aafa01ad522ae2262f0410100582003e4c08a4442020843504eb1103d09427d044c061712e1d7c6fc9bb2fa0850e0410100582003519846f3a6d831eea24a94d5cd0fc7cde621cb4a3a64151b69f258908e97e041010219982903264fd9b9ef4de94773e0a4ed1e104f192e8f917008b7d7097dab96267b1c435803760ba87d902e8b0a850925b964300f9445b0071f4793ae78721ac6ce627500fd0347512a6f27f22f32725e020ec838cb502dbb34c7a58f1dfa36eba6aa9897697b03aebcef83b24a7b9978bf038a6992fd371ac01e0246e958895a3454c1fc6336f2030afbd472ff1385936d5b612ca24c39f033a34dfbf3d9c2ef735b790f5a2bcad30305620c4dd91827f5a4603fbf440fbfca614eb5f5bb5e99301defdd1d28adc21f039e57de9c8f4bc5684d95f03925a57a3259ff43ad12cb7b97e6d8c7824dd4f62d0219ffff032c5242fa42817b321737e3657a185e3fdb08e241b203e7f799b942ffeac0019c03320a0efcd1275fc5421842ff72c78eac8365a774dd7e3b210b3b08556e336b81035f0c73d73535ef85ff08b44bcf39ba3aed4546bb1825dd13dbae933d296a51a703458c950805521ebf6c8f07bfed6b8aa1323c5b098ae62278ab52ba536dc166b7036c112186c83ab96d3cca8db9f2b099ca1a1ace3aca936c4fd44055c31e3aac7903c41f7222b7d020d4d9a159d515085eaf701cb8be0e5d74e1878609964ad3f5ac03382202fde95f8683caf9a6231d2908c4a3756efb26dd894a2714978d05c5f8fd00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054f403c135812408bfbe8713b5a23a04b3d48aae310058200343c0ca02ba2097d25728ae552a9d25a83d3dbac635b484e66082c4797c5c804101005820032c15a0f2f88858988d5135d243ed545f058f7816d8ca994420916a14888180410100582003890c479c3f25b1d7613477acffc602d9b2a78b951f550790be4b21cae6bf00410103519bc382afe370d089329ebf8615c38b3da9fdbc11c13736d3539d569e1ac5cd037c5047d4cabac786e73c62fef9b6fec1e50bf18366fade97b700a6a92c1250510141020219ca210348faceec6553c7929f4755627747997004f79f022fdb83f81077d4d8dcbc9dd2005820024ffc027339ad1e65474083e394a29e356642eebb32a36b996a6d3db61480ac41010384354f72dbd9e0bbb5ebc6bbf5fd6afdc7b7bc251693a49dab378789227a338d0396a3deeb24c7de79f5faae01bab5e3951184ac3f3472bedf87db937afde3e33b037d73004703f19b5e885ec4886db417b20a6bd3937c792a3e00def3418dbacae20377466050552acf4e3af69d12c4eee3bce490deecaa8043f136a7edd18391d9cf03e4809bd0c8e5bed56f1f1273553431c9b122621e7454db695c4f6a845a31b7b903abcebb4044d55b7d1db24d2cb3ea58e649aa27d42ec69a36b23b606ed3b9221a039a89bdf621a721a1f54cc150f7f7b7f3e1787e635f15fcb47ed2125d7c523bec03960c9082475e7bb367d762bdd12360bda615c7c604863dae8690a295e46ec41e0364d8d09676cac360a98d0bea24bd31e1a6975ef97092b6a456caeccda7eb8b0403b28aa3b7d9e625498c3ae997e587883d533ca47d5b7397213dd5fa72386c3e1703a3a23bdf1d70c915365d8967b9e520b8faf35723ad3f60232952530019bf288303bca78d9829bbc5d25e10378e0d353e71d5bff76bfc5debe2b0754807d367914001410d0219ffff0361ce9e468166b0de5efc3cea0695c6f95dfc600496cd736107566523b09b8cf9037c9136aed2ffcf76eb62f77d9a6ca67b77facc518bcdcc714aef1029ac89aa9703605110b35052d8a80c398e2a0b71f432b649c204ec7e1441771552a9fb6cdc160377de342073bb4bb167faae201a9979fa1966071e70fd0d8fcf3343656d15ef440219ffff05581d024cd93579a4de2365cf6dd176525021b6bab300d83805d4d3d934ab9d070119345505581d02f695a83ed9a42b78828a9e20596f72ff4ee1dc772de66ddb0a5944c6040102190240031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03a54355fba1fcef6f660fca8a2bbe4030b5630d6c692e5866eafd678f5007011bffffffffffffffff038ee1e75549a49a18ff3177b198b91bc26ae2d505fac6bfb690dd3af3af5e2a2805581e0349a3c0d67eecd63dafd3924e85c078561053edd308ba4048c1967774f0040105581e03bd3f7e45a487094bebfd86698ef8072fd38e936c0651b147ea6430226004020219b98903d18ffb5c5d6937bafc12c91fa195093e0c53cacdb23d4ef1a2ea9d8814f7005603ee3079d8465c2e4b6b47cb90164553ef6dc506173a97cda109a43c7a8d516e63032d202d745e446c0cc2d93fac6e806c612857bd5bbdfa0ac5faef6435e88bef950351d8371cc5190b9e48a7391e80eca07c4e9f348877c6d2e9867105b7e977489e03d5ff1c82c8c400eab4e9d07b9aea181e7211ffc4c3b77a0c690c3295add5376d037a24dd207c25c616079e92eadf21e835eb7f73997d744274a87975e9a9f6023a030664a4a28efdc254d6d8d909da61f9fed22fb926791055da320b760b453f2c7a038942b30a4965ef9e9acd2be669922150365b05c6321915b3d8728e4b6d83dfe00395fd8159e1c9e26e2a79b0c2e52c5736840dc1b6013d4381da4f447106e12fdf03575ca99c81ede89bbbb1804ac78e6a4f65cec3158ba67bdbbabf2271309ee1110338db00cc14660bac83b561f8c4f365dc1469c7b0bdaba0d58a6a96d7e19f0da7039f9c852939a9bcdc98aee22b5ce1a13aba76620216bad5fe640fd1ce03e7e257038c6d641f7d6fcd4c3098aee94048c24c424cbba6d21555455d555295273d24dc03d788444e7af156a9a32486c3a2683f42ad387d0311fabc6661e46805de179edc0219ffff032b3d65a3144a5056db0b14f91b74d1e734fd547241a30ab086a6180dc91a6ce30322881a1efe5468262e28328aafa6a5621f0d882476e4c0de0a6f7d18bcce7041035d2853733a67c8357cd5c071a314bdfeb68f6847e58de54a3397b9554b541bac0331e529b89ca3ea9bf6d7c14403a4d638627717f808991e98e6ffb54c31312343035080ab1989c63afc3125ad2064de9b973cc80bee66a3dd8c73acc54c544d9886031fce1f9e527c3d92e84634856ddfcd87c0063a8e41495ac4bfc07865c49d8508035b28e30b47136b549af5313aa84308864a0b651ee56c2c7cbbb8bf24688c045103381021fbf45680945c52b7fe897f09b43f89dfaba40412f9ad0ad7cb968899ca0219ffff039677e04f4089c55bba1993427e8ce48703d4040a6209bfe6e78f90b1c724dcf703ece8db3d5dc7ffc4418446683174e82ec996b299523706efb825bbf2fd2cbdd2038849b04eb169554f1883e28ee3a3dd552608c292ae27cffde8ec2c62b200a9a303c9f1feeb2ddc3904575f4118d9fff8143d9393123936a194342a7caea28663dc03f4d86cdf3fe887e87852376b7cf625074376e1e01db1ea81bff5f0c796bd5ec403764280c9f06edbf2f90e497bbb7694ece512c7f6f56db1219d53cf518c7a7ed103ce75563e81cdaaf2d1748dacca595cfab03e33d0c0acae505387ad0fc3c9625503790b0d81dd59084f4ef42e3e835b744fa79cf15aa42a0ee16ac5a432a6dd28480387e45c042af05a272c7d1666bae3ee326ee834fabdf594daede096724c7db7250352e871c05a07ffe7fbb7e2eea3e55cf3ef785c3d68e2f5c5d74f9c0ee9e9f8140379ca505d7e458ecbe1c96a20b97af7bdfb5d424ec8ec28010bd05a53a0b95d570366c27da8187a18239af3c65cd57cf5ff7f4c4d2bcf756482eda9675bb2359e80030eed9939655dfbee13d35e615385676b8fc6501493e2b3dc7fef20a7f27675ac033eef809c223bec0db1e16a0efdec17d1adb375c13a26639184d6ee02cb64dba603120f75406b5298ddf16c0c327e66c7f961a69e860d35d05379f35aa27795806805581e03d9bacddb3bc4fc89f99090589fa72accb6a0cf15b48897f63ce20c05c00401034274b4ad3012b728f37e13f8f2d738800d7554079bfd318c4e8ebe8bd4cf6a8e03a15e01308a0d5bef00b208eb1c58375f7608fde0aecd3276b5076ac957bc057605581e031e810d2ecc9658b2c821e01bfa4730d330b7ce329f0ff32ce840664cc007011bffffffffffffffff03ba47733ae69fc133b38e8479a4deebfe1f9159f7858994b5b76dafe14c9c4b4705581e03346ee00793b023840cc7435ae4b3e47c23262907ff66ca6629d533cf20040105581e03f03c94c81a1dc2926878119917f3555df4f071aaf2c153638bb89344d00c0145023ef6764c05581e035f0d200dee374048def25111c57102624257c7cd01f2d6885333a65c70040105581e03d294f2fdf747bfe17ef533aa5cd3b1ca243236c0693804ce1c37ff1f800c1a008dc96d4a0336417ae5920214bbfc05581e034a2d12e7961da343b2f1ca597d71e23466b4ba001c1195f9fb46464fc00c02465573d601280005581e03ee6f0026abb4e79802ebdb903cc445e908ba71204221fb023618e95de00c01462abf0a4df00005581e0341c03158b993f5a3cfc507a67470dd681b7f4f62dcfd145b440d03c490040205581e03e69794186451c6f2473184d90f76a0d9aa4b53654d7b2dec91675ffb100c014743779d6ef68be003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e033a687893ee2d03d12b30ad932620f0ad2417cf1ab6df2a58e2eec7a42007011bffffffffffffffff0219d5df0324813050aced2956bb4c810ba0aab57d0ae4eb839cebbb8aa86cf07a1c3778cb03375dd36ce2cbde7c0e58a0ffc61688937464bd74b7c6be3ba6340dcddf7ba499038cdcbdaa37c747512fc715ef63741859d73a2d7255ff49140daed8bceca9b3cc03f05a99e488af125ae31481856d9bcc185ff5c1e8d85948154083f4dbdbd1705d031d566c42e03201756dd11a607ad7778e5053f6caacf5fa8b4b5fe6de984ff87a0356d55dfd9fd801a4321f437c156eae7d27eccb95178d1c2c13bea73b76d7efac03934cc7135e6ad805c5d636a95e462131bd7d57cd9ac9598a4425274946ac12fa037e1e73f29590db070eb7b10116747619441fd5d3ae59afb042e4884627cf2da5031b54c31975f8a5e2eef52993d5e3b4b94f13f17b53daeb8382f6786b36b2fe3503f78a4d64239624bce362737f81a701d148e6b8733a98abe06808300cc6f7c6590219ffff03f24ea49a81253579c832f3a02d8c64b8ffd8be5660ec377424271a254aadc18b03cdb25ab99335b1731f21ac40e8d3c956816c717e70e19ba307c647a7055ccdae039d87d66f9a485317df04d6e41ded2a8fac00b76186bb748ab39078af5efcce1303d5e96081d5647efa9b3b736193751cc075de5549e247f4ce96d51c48d98b363303ee14300fdfbcc1cf5bf3bd5571f2a86db330b1e2441d350fc6d46879742b50f3031259ba09f680ced4fc1dec326484bf31497041c3a20a6f3dcae651d37430274d03ad3facdd33f458fd9177e9c3d96a4283f50704c3b9af2af34ae71c0426f6886603a6f932ff9f16999a1da8aa247d9e34a103bf40ff3ad977cddc62ee47cfea479103290d998bc6463ff41f6ac55113df91887cff115efca9cb94710c36236fb2b50e0381a9b7ad59d8eee2905ea78c2b6daa4efcd3792e635b1bb3d31495116c6158ca039a71cbde3a98d1d8fc6420aeb71f22c95420660dc3a2a5bac21ac924c0c4944c0304d263b21a0f88b2c8c69be14f312baa8362306630d8e6c4a4a649c31412c53d03323c16c5ab965a9648ef7467d994030df80b42d0de1eaaeb2a6168e1f55e75370219ffff03bfc8ebedf963010fd2ac7d98f38685709d4e31a75d015cfc1a140ebe5d5b288403367d442acf4c3a9b8308d1cd11348733010bf494a74ad1d6fe5e4f8418d645840308202fc94ad595ba468a5780107598e73ff9fdbfa739f654149822a59ede7e8b0325e4caa5ce0ffe601afecfd55d09eae94a19abac9bcecad38a9624bfc0161f5a0219ffff03ac40b45cf4ddf1292d773a506865b88b604b3e48c9537b31adf48bf3a3e5f47b03b6b66eb206d49b283623b85a91bd76309510738c5a01a20bdc3e1d2b30af2d7a031c47fc3f71befcefedea0624e09a1145d42682ce412733d5297f8ad06537fe5a03b7ba14465645e232e3fc8ca43f34e5fb0d6eecd2e6e73845e945fc2af0d5f82903d1a97c37c7eaf148ab2156aee8e4918f22bd2788ca2a2127446ffab1600f1eb903f559bab59e46e2d3c35371f7b1a4bb60a8d24f42dc964e6a4e204ec9d212ddb6035a7c5f6f289b1b441aa34a3dfb57857f7452a91e59fb957aa9398064c988da280398fa78e68f94fb43ec92423789d792249af2e3ef82dbc496674173ccbeb886fc031631c2ff3bf36ec35bd3517864367239ae38467da6eac11575eea3b87804e44303d550ef1198f1df8610a4ac0917508779efc449be786fd89f126d6c950e1ac4b7032168322c92bc3d20fbe613b22a46c5f59ed0e2cc293e636f26f5ce6b6cbb78290377dd154f7affc492a45c99789bfa6ecfd4be7b3bbb5eccf4e6f82c96c86c148d03013e49fe2752c8e92b90bbb6a15f0387613feb0a654e740a5fb1361bd0c33950037659cc283317247e198fad67e8af5cab8a52f8272efa8175e108f24943ad283e03bb0ae5468eb00f4061605730dfed413ae1bdbf0189227a57c5571b9578ff5429033d7b815f79de54ebac5a5769212e8800069a1c7a58813869d0c0683de6b90ded03acdea78e640a9df03cbfef28b13bc4b0a05cf292438cae5c21b6fce69f06ad570365087929e709e001e95a32f97b50fea3dfdecf7cb6cc4e6f1789a9417ac6fb0803ceb7c8372a816bdd5b780f26b70b9f2312f25997ea0e341b46ec56103d56d056036871e7379a8c0b675493efa7f7dde60184372a3dcdb6ec753a9fcdca8dcc30f803a301ebdb4807548b3b8e295ca653127afc2df4180ad857462af3ec602cbe9e9003b0c97305970b096884544c467cfdf013f6788d47e0031d93f767226dd1c4c7a8034a20cda1712fab2cdb842c81a5d8ddf9b51d3ffce80d3931b4d9ac3c486e8aac03db7b8a878813b759e1c4257d0006852101cb8daee17c8bb74069ff3515f424ad03121d13dc9179b26fd207b4b8e5d4ec4921189768220c08c8dbcbc333deedcb77034fa5678a64a241d024fac3717ad5479bedf186154223e512dab23ead2927a6ec03fae42c153703db3d42df57dc0b91f5d8278bf2961547a0fcf85122f7aa4305f403562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03c5e623cd9c32f764847e6b24572cd340fadd0c6dfc805b33c79bea556007011bffffffffffffffff05581e03a5b2708bc072813e79d4447e023811f55d4697ee4471131a39ce9656400c0447020f81c5f8400005581d02770132de27fac6474ccdfa7d8062bdf2a9dd12bc6ec2412c70a5fd22040105581c0208e26c9ced5e1f7179ca0c5ec04680f809ec10ecf42fbdae067f560c01474348714211c8a004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570388d991c695a28c79d4db90633ef34202a8e6bcbf3d536b1cccb1982b238181ec0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563048f48c689d593a876e00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0510c1a92b1bbf65293aca066c477fb3d5bc00058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582078cbd41f692aa3e972a9a0329a8236e9d1706d50eb8ac9839ef0301b30aa70ce005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85153a2424efbfb0abea254edcdf110df09a800582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba41010219014400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd0048f48c689d593a838600582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687d7ff00000000000114486d7c33176a8b0000000000016784b915e55cb87f0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54a247c6d23c8c7d223420700d16d189cff9357f380218480219f44705581c0263f5a45d78c975bb4d2de300d7012835311761bc1bcb092083f63d0701192c1d021980040141010219200105581e035fb8d9e8d35493ea5b4a668a89fe1fd2090b71804b55613f0eeb50dda00c0b4703737bf973290805581e03c376b8ab632effc6eb59fbb2e1be5776f0276461e8b6466ab294f6cec00c014437e19b8603cd95c11ea1c8eed637fa2487aa8670436e0e001d6824cdc473bed3092ec5a10c05581e033f39d8b949596ac162cc8e2a53d111b8e59f6c0283e929d18794bfe5200c09462b76f614323005581e03f915fb259e8f425b44486a405115fb7e37a996a7d5bea432ebe920b8c00c014701afbb3f7ccf8005581e03a180355dcf84f407b74e3f0ef7e2da3f270a38abffbda0badbab090b600401034b0f48a9829f2ea9248c70b22b443316782aa0cabcf10b20d15b4a30a68f199205581e03def263de311495726d2bcc3ebec57c0de3ed0c301954105b7fdbf901d00c03470214fe547abd4005581e0358fc1f0eae297b10fb703ea0580080f41ef2648f595bd7911dc769f8d0040303763d21bb7c57ece17da29202b03e8629f94cc9e451e19c963fb167b8ac15deed0219cff7038248d6aafec699c9eecb61beecbc9ebc32e16674cdd5a025c17908e6c27fdf460349d5a519b760a3a58e92240056b92557221799bdc2baedce2c38417cdc4e69200361068b10c04bd7fd42b36197f0a633e31fc4f86016c629365386a0140327ac61031cfe51198adc661d5403b7a5423071df2e885f4e3a55cc44a0e44399348a7d3f039ff616f832834febc80ff11d871ebc70a9b9e893e78d4a436abd9f7294016bfa0219ffff03a278b6dace9a5518b4c6a24759564d36c0555947301d906e1ce3bfa9be6561770321575095ab803d3d1be4c7b4630f2227a9649f2c5ba640400e275542cd541801032fcdd7fec70b3d203624f39764cd2a55bc597fc86cf8cf062b7e3306720602a203c58e16ec46eecab32998849688a218fa244ac1b17ca250c50667a7b48a9cd36403c4f4d47171c48c0a1b2c59e730ed0d64320ce1b8fc44d94d21add6e3217186dd03750578eb7cc42a86d6781579c67c4e6dc2094ed0025a29b5acc88726bdceeb7c03d6c5ad7dd005554edd7cfb0234c743c64e262a6653b6df2ec5d7e2cf4ee6777d03cbacb03a0138dff3b380245c47d9639b0832efca5f9988d6bca3ccd6de025679034afa8a2611dc30afd8c3da697baa60816a71183aeb0f4f87e37468aaa47b2a3f03ca756deef12d9f2f9c76d516e72e7e49fe7bdb7731ad0d00f91c93caecffb52d039aae55e2dbb8ec95bc0e0d13e09858eb1203f0fcb08e41b736a04f09c7b9cc5b0219ffff0302aa1363aa36c855ed0a21435e71cdc0d8f3904d70978306d64296ce4b9db0030302647700fbc5aa3bc55be81dc20968157ad7b0f45bfeef596ba1cede36d3d7b003b0c8e320f65e0a23d76d81f3c670c5a3e0493cd02a117d09b2c8a23f5a395f4a0311f003dc99b2f7e82adcf0b5d6e467456a6b2b375a42d262eb8704bfbc35c5eb03d9ee3404042e8bbed59bf08567ed9c502ac16e1b54edc4ee6aac3b939c96b00d03893376078e4d89c5e10db68a2aff7ada782ec2b7240df538fa3ff073e8bb40f303707a420e17d5ad6faffed25e80bdcfe5ca7b7d8b30df6fa15356be6aa6d117e703a36b1268996f0d8acd744b742f68790742ce9e4b97677f02c400ad7bb3db4285039dbf708112a6cf35e73c99ad541316d42c2dbe8e802b349e4dab53969d21a7640219ffff0313e6310f2f7b7d58c527626b64d971c52783d6ed05ab5bc07e4f1cd0e72e032d037038ac8057378dbb53059a4d7aa82a66dbde662b1ce40101cf07cc3bd406f49b03da53a5848f6ddbc7840d3fc0f1b51304415f03fc33b119a7299dcc6ec4a97aa903e483aa8553d7e4c2a9d8fdda8b63fb206bbc56b2f811fc8b309f4c0352e3d32303c06a6c30f0d17e4fb0c5349aef90534dde5c0d6907f5871bd09468db13efabc803d8b547aa3995bf2580e713f2f1169f873ec050d768ec0c6bc3b3721af1098ad603d16b3433183e489879626135aa2dd816629db8dc4774b9112c443cbd71937e5b03afa58120a40c9050620aef66f95ab9a25911e2b80d19de44ac0530c90bde010e039b6ed4e7dd8bdc403fd5296b938ebeae1bb6c1fe9218dd735f23663d2706a93f035c28d61715fdca0966add9a1234f0afe785e40d09323a64dba1714c5cc9f20a9033c1eb519ef2fef9e91b4479357656a478c94ad0bf9094eda1b1bbdd66f06aff2038eadff6e0f4d95644ff6bcd57ffc6043adf606434b5c4ea964743442d41e5c4b03e9bc449b67ef686b408fe4997ac9a6ee712b7571ecb5ab34f7f3180852b018b60345f5c1df698f2ac6cc53a0c77552a947a910d245934713290f8a96da21335429039b3de535e14080b944073cfe171c2cedbd22accee4ed61a7702b29fdea101066035092effac1ae167c34edb55815e91171c0edc7bef40ab5b955b821ea9973b9b7035208d40e6bd73df49f39ff02fcbe053e917f7cd1b362bac60ef7321c53b5debe035153437a9810b21e2261acb618c3407de2e07ac1880d2807e6a206533cc77aeb03738434b81c52381bf9b21fb2b0897a8354533f7a7da3fbdcf537ed975b01bd2e05581e0366e915e99a6d43891472c624c1be6279f0dd449a52534fc9c5b13e06400402034e41d73b88c6d820e5f325ad3abc8667c0fafcc03221c096836870480de4b43103aff95d9fe9b91dbc002d926e7d502710c0e308ccee50d29863b16f20043240f20315c01995e22b7c073d4f5bb406bc617e36fc93cb564dfdaf689b0eaa26ce6f0105581e03052065411d6656349299bd0572699e4a2aef5852209ac3a4fe7d0b5c500c01471aab2e1d81001d05581d0275903e2963ed3d7f83f83501558f92a918931bb1594cd4a4d5f0c3de040105581d0258372e0f5100e0179e404f84b1df0f12d27047935c98a2ba9a0501fd0c190d3c48185033235f96f9e405581d02c41a25cd980b8505d5719f7842635cdd26b47a8cddcf4e64e8db132b0c18274710aeaf671f8800020705581e03b2151a57801a091e4e10d4ecc9e365de5f2040203987104367b44963500c014722217c3f47cfdf03256d9ab25227dc72c1c743496c6f2a01e398eb52acd20fbfd1fcb905a38804400219fd08034be048e16a459d35678d0578e33442b0554cffae93b9e364c3710789e2508d190397f68117ec97a92198c2ef27a6ad966b726b41ab3260b45b440415342b9974ce03cb7a05695ffe57d655443912a94c454e70db30348e52bbe587a2c200fc4f9774037c18b651b49c8035e0a46fe4fcf9d15d3949ec453d6bd1e80baeb406fe841f9c03cdbb7c6a2c60055d68a53237d054b8b956cefd0444213330050b644dd67e04960381269566f10b5d6b529a691d668d7636bd8df18d2dc2b9155e2adecded366a5f0347bd22910d2ee67608b20b7b8a7f672408c1e076d6d14a786087afee3a52cc75036f44347c786ac6000c2f87e698fde1d37e9cce9277b522138e1c48c568e3697203954484cb4885ebbea670a8ed72e29cc652285c7f6507c022637c112735cd83630219ffff03b21d6e498c2dcc5b1ebc41223db9b71a3268949ac874efc8586679d4b868e69303df52ed01b0b4e015f8630446a22cba21b366a38d12a2aefca86483b2e029301903ec0d3c7821dd27f9687795f4381ab5c1fb31133bed5b55e712100bcd8d8909080302904a93f64b987247af63aa6250ae856a52c9a6d1de58b2a23eba1ee7023e0e03c719162ea92eff6e21090ba29e46e6edda2b73a553183950467e3a5d9fec8aad03e06e34b5c6455227621b7cd43d32ef1a2c1dc38ca0f6a47d045e2e36237ee76903c907ca0475e7e61a2a58d81dd550eed3ae2901d3959133c95ea178a0bcfd166603c53483ad30010e1107d5da2744ad784b51135a25e1ae1b67ec66a22f1500a354033ea74cf45dbfe45882e4a3e4ee4a46214a5ed012e12626b5604c45b3f7f054dd037884d9e162161c9dd6b5efa12b400591427b0bc30bbd619e2a96dde93db2cedf03d2ae761e73987fc09dd3b93b202497fd5c9d3a1ba17e7c6acdc100b709283137038395ebd3a24b1bb3cd460cad8874c92d2263b907184c9b9d9d3146e0a36f8a5a0219ffff0341e985f6b9913bde511ca56bc91eb349698baba97641f7a0ac5e7f0fc71173a80333c5c148db706b0229ebb52bec54be0613671095b60054c1e4523e5b6b3810a703009ae7d9c8ecf5e4cbcad1bf32c893bdcf72be36d320c43bd3c3f904d3ea65e1035596c1f0cf62503b4914bc3630d101f7ba1fbeb6f253313ea93f5857f2a26f8a034f1122c2bed6a738eb478f885b460299bf7192475bb181bb8c306fdbb625e29003c118aa9b955e12cd2c4ba6007fc2e61c9cfca733a3d333b1c73930bb28174c9c03a7a1c20964f5476fb3c0e1330eac82307e6af665821a2878928197af341473d6037ce93f104b105196c01a02adf97f6efa8ca9df2cfebe993d1c3cfeb5e35ef91503add6a1b10529cfb74bf6d5af902db62475ab3a97ff4fa7c962153db98f8fc6e103a2e44b7b742578984a4f5fca12886de53caed8084252933a85f0e4c4e1f339760219ffff03d56fe967ed86bffdfc94b5707f7c4f31399f222cd2e1c0f21d3b0a3479f0c9090219ffff0330d9f173df69eee23c55fdf1c8d8bc314c0ade6e0766fc3587e167361201c18f03dbed3080f31994f7e04103dda164b141b9de76770caea347a8fe0860100a509e0338315fa6bb4b38b62d178f21557b59c7a0c9369394985e1ffb5037bb939fc4b403f7de5e187c6f7d363412e2aacf582974394f5c1bbc1270fbc2c915c04d01a74b032ea928170a8617d48432a572fcb4ee5921522584add78e133e622f5a951ea625032c49b8b76690c8e9af293544684329e95291d30b2c630b2c0dbc9935020d87180395a56fdb6deeae59d6a50098c2cfa9275126f9e04807bba38712a42511f09fb203aafe41caea62c860b1807d4479ea40b156ec40338520bea4b8d7c6affe94ed9703ea8f713d81ea97ad2c92508e9d06d4957fad037b06e561ec1bf9da571ab6ef3d03dd735dc044c5d0bfc4fd91429a0733512bbd66d9e66e4b29784742b8fe00698c039439d0e050da1a5a16a2cd0ecb3ecf3a21b000232a4b8fccdda2034937ee6e1903e6b341bdaf3939210a67305c41bbe084d6ae67b1f3f0ea5d8fc2e67fde11be5603c9f800f6f76dfa0d80d5dfb2600a77cb3add0eaca6fa5f035d767c4f8de20b86030c4a1bada3c1c145cc9832cd6d28f30765afa4757089bf0c78ba4baf2252a5c703e2e60a8bd2348d3be00b23c2d663b279bebf2c13c9352785cc39011ce989e00403240ea9add8ea38298c685e647c9e4712b49397aff62f5954c81c37a911cb4fcc03b3cd5bfa9339f64f260f06923c858fdfce58b6f7cc73ff8ff1fac15eab04e53f030310ddb8522e1c5a954786b4c8e91d73cf2add10027e02dfff377c76723fb34f03be996b08c884fbe612bb8a2d088f8667723c5e3bfa6a05b7319139cf61e0bcd303f36aac313d8e3915596c3e03290e67465da6dc31a6af2a5f2e068fe0c29b1f4f039fe2da28871088f50692aa7d41e18ae8dda570c519572f87821ecf9ddbe4468003532995da49c88bcf6f920a1496cd4e3aa28eaccc1b9c41b69c9cc9f7431e357703468a70ce6494c4a6df8580406aabf8359403fef288b50b5855e44c5c316c1bb603282a48b0c5139d55362c8bdee62c30f2de45c68a3c2fd51d94e630f632ccdc2403cac10707c7152076161b79beda5a0e3f87d89dbf2526756e65d98417af59a84f0366a5f6cea86af7a33f1df6dcf87239e94026eb68e313fd07d5651ba9a107af3205581e03fc9ebdb4528519e58ae74bc586a43bba3401dc2f41f6de3f12ce1620900c014504a817c800031e455296001fdce6915a93b032b29542fb12531da12c0bc81b345adf2a1a460f03d3ef7591f98044c1f5925818d30e8cece21ee2700651c3ab1afa52e945b1eedc03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03e7f9bfb62dd48c77fe1488d9d45004e0c2c152541885267765be857d8007011bffffffffffffffff05581e03ef3edef262f51c9211f564e83c632916841cd18937f57d81e536a7e1300c0147018ba16c6eb68e03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e034108d362e7d254619f3fe97b13075f8a6104e8455d657eedca0225e26007011bffffffffffffffff03f055d862a3794655cb2483a9c193ebcab9a33c4bd8ead3444f1e2ffe00f3557b0605581e03f29eb62c76df3b601bb64e539bfd29bab979c4ffbd68fbbc6220f6e15007011bffffffffffffffff05581d021bb50faf64ca2d2e1c9aadcc237a5351f2d4eb5c2b6a71797c8cd6ab0401045911f06080604052600436106100695760003560e01c80638da5cb5b116100435780638da5cb5b146100df578063df2b057e14610114578063f2fde38b1461012757600080fd5b806301e3366714610075578063715018a6146100975780637bfa20a9146100ac57600080fd5b3661007057005b600080fd5b34801561008157600080fd5b50610095610090366004610d88565b610147565b005b3480156100a357600080fd5b5061009561015f565b3480156100b857600080fd5b506100cc6100c7366004610dc4565b610173565b6040519081526020015b60405180910390f35b3480156100eb57600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d6565b6100cc610122366004610dc4565b610343565b34801561013357600080fd5b50610095610142366004610e84565b610451565b61014f610508565b61015a838383610589565b505050565b610167610508565b61017160006105b9565b565b60006101826020850185610e9f565b67ffffffffffffffff166000036101e3576101a36040860160208701610ec9565b6040517fd009138a00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b6101ed838361062e565b50600061021261020360a0880160808901610e9f565b67ffffffffffffffff166106d2565b90506000806102246020890189610e84565b73ffffffffffffffffffffffffffffffffffffffff166388a4124c61024f60408b0160208c01610ec9565b8561025d60208c018c610e9f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff166044820152606401608060405180830381865afa1580156102ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f29190610f0d565b9350505091506103358288602001602081019061030f9190610f62565b61031f60c08c0160a08d01610f62565b61032f60608c0160408d01610f86565b8561073e565b93505050505b949350505050565b60006103526020850185610e9f565b67ffffffffffffffff16600003610373576101a36040860160208701610ec9565b61037d838361062e565b50600061039361020360a0880160808901610e9f565b90506000806103a56020890189610e84565b73ffffffffffffffffffffffffffffffffffffffff1663c1723a1d6103d060408b0160208c01610ec9565b856103de60208c018c610e9f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff1660448201526064016080604051808303816000875af11580156102ce573d6000803e3d6000fd5b610459610508565b73ffffffffffffffffffffffffffffffffffffffff81166104fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101da565b610505816105b9565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101da565b73ffffffffffffffffffffffffffffffffffffffff83166105ae5761015a8282610838565b61015a83838361093e565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080821561068a576000806106458686856109ac565b6040517f7085244b00000000000000000000000000000000000000000000000000000000815260ff8516600482015290965092945085935050602490910190506101da565b8083146106c6576040517f04eb6e0c000000000000000000000000000000000000000000000000000000008152600481018290526024016101da565b60009150505b92915050565b6000806106e0604184610fd2565b90506106ed602082611018565b15610715576106fd602082611018565b610707908261102c565b61071290602061103f565b90505b8061072260e0604461103f565b61072c919061103f565b61073790604061103f565b9392505050565b60008061ffff8616156107515785610753565b845b9050600061271061076861ffff84168a610fd2565b6107729190611052565b90506fffffffffffffffffffffffffffffffff841615806107a357506fffffffffffffffffffffffffffffffff8516155b156107b157915061082f9050565b6000846fffffffffffffffffffffffffffffffff167f0000000000000000000000000000000000000000000000000de0b6b3a7640000876fffffffffffffffffffffffffffffffff166108049190610fd2565b61080e9190611052565b610818908a61103f565b90508181116108275781610829565b805b93505050505b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216610885576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146108df576040519150601f19603f3d011682016040523d82523d6000602084013e6108e4565b606091505b505090508061015a576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044016101da565b73ffffffffffffffffffffffffffffffffffffffff821661098b576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61015a73ffffffffffffffffffffffffffffffffffffffff84168383610a06565b6000368160018401816109c0888884610a93565b60028301929091506109d89089908990600301610aba565b94506002820161ffff821683016109f181838b8d611066565b979b909a50969850505061ffff160193505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261015a908490610adf565b600060028201610aa581848688611066565b610aae91611090565b60f01c95945050505050565b6000838383818110610ace57610ace6110d8565b919091013560f81c95945050505050565b6000610b41826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610bee9092919063ffffffff16565b9050805160001480610b62575080806020019051810190610b629190611107565b61015a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016101da565b606061033b8484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051610c22919061114d565b60006040518083038185875af1925050503d8060008114610c5f576040519150601f19603f3d011682016040523d82523d6000602084013e610c64565b606091505b5091509150610c7587838387610c80565b979650505050505050565b60608315610d16578251600003610d0f5773ffffffffffffffffffffffffffffffffffffffff85163b610d0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101da565b508161033b565b61033b8383815115610d2b5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101da9190611169565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d8357600080fd5b919050565b600080600060608486031215610d9d57600080fd5b610da684610d5f565b9250610db460208501610d5f565b9150604084013590509250925092565b600080600080848603610140811215610ddc57600080fd5b60c0811215610dea57600080fd5b85945060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4082011215610e1d57600080fd5b5060c08501925061012085013567ffffffffffffffff80821115610e4057600080fd5b818701915087601f830112610e5457600080fd5b813581811115610e6357600080fd5b886020828501011115610e7557600080fd5b95989497505060200194505050565b600060208284031215610e9657600080fd5b61073782610d5f565b600060208284031215610eb157600080fd5b813567ffffffffffffffff8116811461073757600080fd5b600060208284031215610edb57600080fd5b813563ffffffff8116811461073757600080fd5b6fffffffffffffffffffffffffffffffff8116811461050557600080fd5b60008060008060808587031215610f2357600080fd5b845193506020850151610f3581610eef565b6040860151909350610f4681610eef565b6060860151909250610f5781610eef565b939692955090935050565b600060208284031215610f7457600080fd5b813561ffff8116811461073757600080fd5b600060208284031215610f9857600080fd5b813561073781610eef565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176106cc576106cc610fa3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261102757611027610fe9565b500690565b818103818111156106cc576106cc610fa3565b808201808211156106cc576106cc610fa3565b60008261106157611061610fe9565b500490565b6000808585111561107657600080fd5b8386111561108357600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156110d05780818660020360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561111957600080fd5b8151801515811461073757600080fd5b60005b8381101561114457818101518382015260200161112c565b50506000910152565b6000825161115f818460208701611129565b9190910192915050565b6020815260008251806020840152611188816040850160208701611129565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220c20fa11eeace278b2853c10fb9f480a3f0d24fd1e0a8ef87da3b97dfd04e493264736f6c6343000816003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354b52fa54fc261398058c3ac7b8dd442d7d8b9f0b605581d02608931cde58ff6b7a1c4a9d7d6d429ecf604d4fee252941267f6506e07011911f0021910040219649703e7ba85e5e0efa51d938180a8263e5a3b4bc16e2f4a9deef3b76fdc1681b6fb93039363a8a90b4a297eda90d59b8139ad5e0768fe9ec48fee9e4bda080b8c8614c5033f0bd6c6192dfb4dd12cda911ad5fd71e52f69cc69ba57717dc137bac9409dd2038a0a0a77763013d9515a47760ceffd19380af7f5ecd22e4648aa61baec8843d20219ffff032ca11ac6609b57c5df8f103621ff19728512b60ba1e9c7553d24c1ef4056cda6038da166d7dba7185b2dfac95c7325191a818d8f283674d7beead56168149fc1b90314535d94ab6c796ae343911557ca02b501185ed1f8327718f7bcaa41c932bb68033f99d920b316061d96c4e538c00387e0220ba33c72704c529e532fd7ca9a4fcb03b140c4a3c9f3936c046fc409f9e82e85048c918c798d151530d7f49737595bbd0317ee8c0a224dd27aadf72d15765e6b78834bda177d0abfc06633e0b9e58387030397f49639d1850f0f90ab284f116c492ee5a7ae506d8fc696db081c662003446803883905cdcd8c45991a5cac04b093849cf600969bd019ea19caa5e2c79a1e2e480360d9c3d1cb6e2f17088ae9ffedea9afde16556a005d9500e78ceb34704c653af031e5141d281f0d19e53b6af3e96ea672b4afdd7c63cf6bf648105e6cd561832bb0219ffff0353fc991f5a10748f6a273e08f9bdda15f2d9fe267a7449ee6f8a02a334ba5f7b0337bafc7bcf8fdbbc2ae741ca48378ed538a4e68ce3462d188d90774a6f5bfcfb030c466bccc688b287668544be107f0cc1d4e424bd965754447aaa19754655e79d034342694f28b71e4a2bb6c9b61480d79dcd14a4d3325871cfb46abfab59ef31d603bd5237df8158eeb8eb4c7d6efbc24cb1594684eadbaec770a04220080a3cef3c0219ffff037af8341d8b27634feea30a48f382eacaddb6ccb572b2edc51d9dfe3caee1aaa203e1a561fb3e2cf01010dc25c9c90ed2e7ba1c94de3f4cd84a5007e5edf38c5c2c03818c31ae677251e3a21ebca7eb0e5cb2a68bb964e782f4dfa369dc85c5b77cd4037a5a27085a5fa2e0bebd69d04292c8ea342329fa6f2152867e370b89c06d872d039da9dd76e43566c6b2aadaedec6cf84e9a67c39d4261ea0fff280c2915f779960301f537bbef8b73a22bef20d6dfbf275fad2a5b0764dea6a6323d77932518e230038637d4e420d7cd61ec575dc2354ad2d58b33fe28ce46d99429d3f15c134f26ef03f219b1c1c933433d78a438bee6fb52319c77412cefb2cd0aa7c720f48ca9ce7b0395d2ddf8791753872b0ac79d85d408efc35818ea7c586b02d6edc4a6e0e5393c0309255df435cd66d15b179833da06f545cc4929dfda6a200a2cb345f5459af6a5034fc20adf1371a066ad54b5b1a3c1f93a4518ae0d6d998cdade2c6a3a6d11414503614bd05c3ce552a61e8adbebfea2d45d795504183c53a9875b0a8e590e31184c034b6be4fdfac02ed5a7309ce493d11a7895ae0c8631fe73297ea5d4b73586b76f03e328ebad52bdaa1ea5ee3252c01443c5426b131e11d48acec60574253f0c423803a9da04ca2868c9de8b0ddfe6befe0fb783e956d2a57255a8b2f6fbc9b646ad1703ca92a65af5b0a98628ddd8dfb600d275f09be3243de902fb96d10442ae7f919a0372ed414e234386a3f27c1937607617cc82a6bb482c0d51ff9237e2ce2e12852e034c6c4757a44825dc2f51f55eb5b99d83b2ecc7d0fe9502d1064e997f6de7092003de6d9e5173950ddc90bfda84a0b226cef347da8db9f359a9ccef54f59d3eda36036e138d149e04ea7a10dc47ab853a51b42de0e7faa1cfdc5644ee94efe75008d003168d607ced2f8ee831ca6757ccccb1942b02347c495b3165e8c78e27888744e20369dd4d7bb755fb8cc60a1612f0da2e49fdb84d4f246b9931a056546e6a1828a90377c88c3923857adfb9310fb5ba3b65e33c3a0f91087c1c7b4311875d5ca5604403964fbc3db158ff1cb4b523c9d3fe6d1498b1783ff442a8215c1c446cd5877a8703852b8b13bd866f3c14b1f00d5afe964a1b03978cf4f74b5c19a17ba947fac4c403185020f5f640f53711312665b712a7bcd6f088d76f093f245d6326d2b436b1e303eaadb4d3152c0088949be4bf11dc298603a2fe6af7d645e685f720d139247cab03bebfaa6a682370a1b1083d487bd2557c3735c0f67b77dcd2ab99d522c398f0ef037db0e4ea1ee9c02f9352fcf249f083f16283611c7522ea6fe84bc6f10cf8469603bcfe178022b885ec483c3cae10df6d52892d783fc83739831902472cb11c5c0d03718d22ea6d67b5806c196d843576f6afee0450453799a646c8601f02e7264d9c03dc502dfccb72cca4278f6298e0ff4336641bf65407c04a68e24bbaea3a77652a03fd9550637fcb389391cadd222511c122c50738b35317d880063e567b5f9e74a8031b9cd04cdc3d906c92e264f2df83fa4a5281cc76941a7e0c22797f77ae20608003805277a369d10add66e1fc2ab3869e8eb0013ef5143c7c74c47dd63d5c1958d40605581e03f7e946207833541e2fc92969a16ee1d970f74b0b82741b121a73ba0da007011bffffffffffffffff05581e03a7d7424aebe2c70686cf69cdf34b55e0a1c0796d12b1a1f64e47a6c4b0084398968005581e030054078360b595d44ab0ae35ca4a73fa6c0996d8fcbba60a7dda6066600c0246b227ccfcb85805581e03a8b9782a6da53761fa1c0bb13d23b6138e1dbf2021f867200a4018f0c0040105581e03fcc658ab6f7757c20e2428c965f33c4e8f83b825e6895f48d4f10d2ab00c034702b34dc618853105581e034fdfc262eaf123abfa35e5a930017024e09ff343e7a10b19c4718699800c054707d90065dd10b70337657203000c07eeacf15bf159a2ca8a19b073c13b541274c2ad6b20d9ed5ae805581e030978379811ccd07ff4f9a547511d09d550e773a80cdaf671d6dadc62900c0947032c37d8781dd00337720777e4ae0ef22256da44e463ec43fe7d074d68a6344af3e0c75d56396b45039235431724cb64051d60a6b6f6ae6f36fe93e2a5df7323ab6810245cc453c89e01410805581e03947552f3eb79f852522b33dc4642aa06305cb7135684fe5de916427cb008470dc7fc6b926261031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0349734f5c770d6ed93d5846fbe281a7ebc9113b1c87aed1f4f2e283733007011bffffffffffffffff03b69b6b1a481a76ca68e02f9ea7de7a250b38e3748dd9bfdbd81499116614bf500219bfdb03befb3486909bde03ec2ec59ee4b1a999c5f24997071899817c8df94427b16de6031a10402b1006231f94c7f20e2a7f308c92c7d4663a764d665566ee918a7e19dd0219ffff0362d3329c2437a4859c04784982a4e98e3d4cd8eac23bb211d263ddbcc65b9b8c033bc142b9a76ff51d771edc2463397441640c38da0c556b9e4afba55429805d8e03854207076562947fecd8db31d5ab3acc02abf6cda7c8f761cc380bc649a05aba0219ffff03a5d8b7686416336381deb2a2a6f0aeff9ec4d567112ae5f11e6f08194dc1710e03b9a8b20112702d5486b7467acf9e63d229e9d52eff1936413f1b51bcfc363e2803eab7d8480aa1af91500d515ea385fdda55ac70dfec5d55b86230a41beae9b22203490f931ef73dbf33b594ec6df96aac3a76e37fad6db86f8b2b73b2310cb1782503ad4d2dcef602e7b4e3e068afa1f8eb7c7f35d27a2c5a19c6bd56303f317d5bff034a414214eb981a2592328d7afce1cfca6d0e9925115ed11e4639bbdcd1f16693039e408f8c080548585362dd02d9e6f09298c1d955c44b5001260c3e6455ea2ee003217bdb07116c01f0453c5b033fd90d5cc792cb13533f9f9df8a8954c109e0f42034e3034842e3496dd200de7378d39b6dcd04adfead125742f4eb6db8adffd200803acb84630f53e0fab63172de3dc1950597050f6d7ef24671176f7db65ea9b7d5a03c60c2f62ae4f934bdd68f6552031cc0e83ecc343166bb10daee3ce02cb8802bc030e3ac3f33c06f45f6e31675a793dbb343bdefb1750ef114b159c71cbe930e9fe036372973b80a8f4979b284f951e775ee6a88ba67a66b8e4ce720dac34c99a61d0034d9da30c6d0071ec0f4c75ed38aa46164cc2429ddb38ff330d2af5a1e4803086039cc847a6666dcd4471c25c74a5cebc9f375cbd8e3d6a3b79ceea3d5ad7eba9d803370e0ec698c9b37ca3649e3dcd521115b4864ea1cf57b6a77fc5e5a453d995af039752c74999010b2dd224dae5b20a8696940c0af57287c615b3382bb9f82ef692031f4f8ac654b7361fe1c4ee6ec7196febe8217240d2e80adb92853cfcf80dcc0f03aaf44a53ed4cc62a078017a610b361db9303c537d47d5b993d78fa039aaec54a039b89794099035720b913399493e0dbdced1e74ba3ce3a79debf372436368a05b031dc8932c0a7c5fab947746e2afaa43a0f9cd7ff34d50a2c826fdfee456d7400203267c2628cf53742396129b25192e96c16e9fabe2a9553692a94b183b8f43e05403d0cb7952bf851243961875259da2b90faaf925e33fcc6454db63f3a4c50c5f5e038b2acf1084ae186b6f8a6fa305e3f42bfcbe40edb5ec81b196ece8d7586770d603b8393c5c9e41ce11e995076e4dd2361e3f18d06b904d2b05e2bcc1c46905998d03a9530312f20184f11a7ab01e03dfca4773489d19da89b732676096f4fe10d3a8034dfd52b8a75f6349101a5fe44cfc3138255a4c77652ca30073fa3f77c4a37d5203fb810bea2869704f89a083313bce2d83b381346dab998cdd10c72457caf95f3e03669751787ef43ab02a6468bafd570c0083a10518038c7184ac40e9d4ddd2a6ad033a9ad2539d651483c7eed921486d31afee0907663206ecfb0894a36d2e4077fa01410c036ac215781a1964dc14d3ef6c81682fdca55cde0c31f644f16b3d13f4a9d92c1105581e0392567df031ea55869c637889abc1ab79d47db463b2d3e8f5b035749b80040205581e03a4f04cadef7f2079482b322dcc0abf125f29ae4e474cf0187aaedeff700c03466ade4a8d444003a8c9e9fd63eda8eeff66b59ad8e01fc51c09b5f8604ae2598c54d09c013856a605581e03f30d5f088789f6c5da3262822d72fa51ec0f9472a82d2022f65726c140040105581e03a8e354cf50d119318261289d1ccd8de38791a9e459992ef59a10e1d8100c01470360983116b84003220d9829aefdf162444199b283ac68d9eaeb8a6762ca8a52fc4799d5d629ecc5032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581d02c50a001ea9ac9d6643a273f4bd9f1ba4fa35ebd514f76c15db2f84f707011bffffffffffffffff04592e706080604052600436106101d15760003560e01c806384d19add116100f7578063d21d122d11610095578063ef61a6db11610064578063ef61a6db146105e1578063f1bd3ca214610601578063f82f60431461062e578063fa461e331461064e57600080fd5b8063d21d122d14610561578063e3f236cb14610581578063e5f42bf8146105a1578063e98cbf2c146105c157600080fd5b8063a89bcb30116100d1578063a89bcb3014610476578063b7d4e27a14610496578063c7acd65e14610521578063ce2e62ff1461054157600080fd5b806384d19add14610406578063920c3933146104265780639cb609ca1461045657600080fd5b80633a9040981161016f5780634e2a27ed1161013e5780634e2a27ed1461036d57806356d3d2eb1461038d57806359b20839146103ad578063636a6119146103e657600080fd5b80633a904098146102ed5780633b7d09461461030d578063434ffed81461032d57806349c36c071461034d57600080fd5b806327d175fa116101ab57806327d175fa1461026d5780632dc02d341461028d5780632e7a21ce146102ad5780632ed3d502146102cd57600080fd5b80630232d2bc146101dd578063224e5f601461022b57806323c0c09f1461024d57600080fd5b366101d857005b600080fd5b3480156101e957600080fd5b506102166101f83660046123d0565b6001600160a01b031660009081526004602052604090205460ff1690565b60405190151581526020015b60405180910390f35b34801561023757600080fd5b5061024b6102463660046123d0565b61066e565b005b34801561025957600080fd5b5061024b6102683660046123fb565b6106a0565b34801561027957600080fd5b5061024b610288366004612434565b6106dc565b34801561029957600080fd5b5061024b6102a83660046124a5565b610934565b3480156102b957600080fd5b5061024b6102c83660046124d6565b610ba7565b3480156102d957600080fd5b5061024b6102e8366004612595565b610e79565b3480156102f957600080fd5b5061024b610308366004612620565b610ef0565b34801561031957600080fd5b5061024b6103283660046123d0565b610fa1565b34801561033957600080fd5b5061024b6103483660046124a5565b610fe9565b34801561035957600080fd5b5061024b61036836600461264c565b611048565b34801561037957600080fd5b5061024b6103883660046123fb565b6112f4565b34801561039957600080fd5b5061024b6103a836600461276d565b611331565b3480156103b957600080fd5b506102166103c83660046123d0565b6001600160a01b031660009081526002602052604090205460ff1690565b3480156103f257600080fd5b5061024b6104013660046123fb565b61141c565b34801561041257600080fd5b5061024b610421366004612620565b611459565b34801561043257600080fd5b506102166104413660046124a5565b60009081526003602052604090205460ff1690565b34801561046257600080fd5b5061024b6104713660046123d0565b6114f6565b34801561048257600080fd5b5061024b6104913660046127bb565b61165d565b3480156104a257600080fd5b506104fa6104b13660046123d0565b604080518082018252600080825260209182018190526001600160a01b039384168152600682528290208251808401909352805484168352600101549092169181019190915290565b6040805182516001600160a01b039081168252602093840151169281019290925201610222565b34801561052d57600080fd5b5061024b61053c36600461284f565b611690565b34801561054d57600080fd5b5061024b61055c36600461288c565b61170b565b34801561056d57600080fd5b5061024b61057c3660046128f3565b611924565b34801561058d57600080fd5b5061024b61059c36600461284f565b61194b565b3480156105ad57600080fd5b5061024b6105bc3660046128f3565b611b0d565b3480156105cd57600080fd5b5061024b6105dc366004612934565b611b34565b3480156105ed57600080fd5b5061024b6105fc366004612620565b611c4b565b34801561060d57600080fd5b50610616611d91565b6040516001600160a01b039091168152602001610222565b34801561063a57600080fd5b5061024b610649366004612988565b611db6565b34801561065a57600080fd5b5061024b610669366004612a55565b611e37565b6000546001600160a01b031633141561069d57600580546001600160a01b0319166001600160a01b0383161790555b50565b6000546001600160a01b03163314156106d8576001600160a01b0382166000908152600460205260409020805460ff19168215151790555b5050565b3360009081526001602052604090205460ff161561092b57814281101561070257600080fd5b6001600160a01b038616600090815260026020526040902054869060ff166107575760405162461bcd60e51b81526020600482015260036024820152623636bb60e91b60448201526064015b60405180910390fd5b6000879050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561079857600080fd5b505afa1580156107ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d09190612aec565b506001600160701b03918216935016905060006107ef8d6103e5612b52565b90506000818a6107ff5783610801565b845b61080d906103e8612b52565b6108179190612b71565b8a6108225784610824565b835b61082e9084612b52565b6108389190612b89565b90508c81101561084757600080fd5b6108658c8f8d6001600160a01b0316611f199092919063ffffffff16565b846001600160a01b031663022c0d9f8b61087f5782610882565b60005b8c61088e576000610890565b835b604080516000815260208101918290526001600160e01b031960e086901b169091526108c3929190309060248101612c03565b600060405180830381600087803b1580156108dd57600080fd5b505af11580156108f1573d6000803e3d6000fd5b50506040514192508a156108fc0291508a906000818181858888f19350505050158015610922573d6000803e3d6000fd5b50505050505050505b50505050505050565b3360009081526004602052604090205460ff161561069d576040516370a0823160e01b81523060048201526000907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316906370a082319060240160206040518083038186803b1580156109ae57600080fd5b505afa1580156109c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e69190612c3a565b905081811015610a1d5760405162461bcd60e51b81526020600482015260026024820152616e6560f01b604482015260640161074e565b604051632e1a7d4d60e01b8152600481018390527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015610a7f57600080fd5b505af1158015610a93573d6000803e3d6000fd5b50506005546040516001600160a01b03909116925084156108fc02915084906000818181858888f19350505050158015610ad1573d6000803e3d6000fd5b506040516370a0823160e01b815230600482015282907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316906370a082319060240160206040518083038186803b158015610b3357600080fd5b505afa158015610b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6b9190612c3a565b610b759083612c53565b146106d85760405162461bcd60e51b8152602060048201526002602482015261373b60f11b604482015260640161074e565b3360009081526001602052604090205460ff16156106d857610bcc60208301836123d0565b6001600160a01b0381811660009081526006602052604090205416610c1c5760405162461bcd60e51b81526020600482015260066024820152651b1b5d9c1a5960d21b604482015260640161074e565b600080610c2c60208601866123d0565b60408051600481526024810182526020810180516001600160e01b0316633850c7bd60e01b17905290516001600160a01b039290921691610c6d9190612c6a565b600060405180830381855afa9150503d8060008114610ca8576040519150601f19603f3d011682016040523d82523d6000602084013e610cad565b606091505b5091509150818015610cc157506020815110155b610cca57600080fd5b6020810151610cdf60a0870160808801612c86565b610d0d57610cf360608701604088016123d0565b6001600160a01b0316816001600160a01b03161115610d33565b610d1d60608701604088016123d0565b6001600160a01b0316816001600160a01b031610155b610d655760405162461bcd60e51b815260206004820152600360248201526234323160e91b604482015260640161074e565b610d7260208701876123d0565b6001600160a01b0316630251596160e31b30610d9460a08a0160808b01612c86565b60208a0135610da960808c0160608d016123d0565b604080516000815260208101909152610dc9949392919060448101612ca3565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051610e079190612c6a565b6000604051808303816000865af19150503d8060008114610e44576040519150601f19603f3d011682016040523d82523d6000602084013e610e49565b606091505b505060405141915086156108fc029087906000818181858888f1935050505015801561092b573d6000803e3d6000fd5b6000546001600160a01b031633141561069d5760005b81518110156106d857600160036000848481518110610eb057610eb0612cde565b6020026020010151815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610ee890612cf4565b915050610e8f565b6000546001600160a01b03163314156106d8576040516370a0823160e01b815230600482015281906001600160a01b038416906370a082319060240160206040518083038186803b158015610f4457600080fd5b505afa158015610f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7c9190612c3a565b1015610f8757600080fd5b6000546106d8906001600160a01b03848116911683611f19565b6000546001600160a01b031633141561069d576001600160a01b0316600090815260066020526040902080546001600160a01b03199081168255600190910180549091169055565b6000546001600160a01b031633141561069d57478181101561100a57600080fd5b600080546040516001600160a01b039091169184156108fc02918591818181858888f19350505050158015611043573d6000803e3d6000fd5b505050565b3360009081526001602052604090205460ff161561069d5761106d60208201826123d0565b6001600160a01b03818116600090815260066020526040902054166110bd5760405162461bcd60e51b81526020600482015260066024820152651b1b5d9c1a5960d21b604482015260640161074e565b6000806110cd60208501856123d0565b60408051600481526024810182526020810180516001600160e01b0316633850c7bd60e01b17905290516001600160a01b03929092169161110e9190612c6a565b600060405180830381855afa9150503d8060008114611149576040519150601f19603f3d011682016040523d82523d6000602084013e61114e565b606091505b509150915081801561116257506020815110155b61116b57600080fd5b602081015161118060a0860160808701612c86565b6111ae5761119460608601604087016123d0565b6001600160a01b0316816001600160a01b031611156111d4565b6111be60608601604087016123d0565b6001600160a01b0316816001600160a01b031610155b6112065760405162461bcd60e51b815260206004820152600360248201526234323160e91b604482015260640161074e565b61121360208601866123d0565b6001600160a01b0316630251596160e31b3061123560a0890160808a01612c86565b602089013561124a60808b0160608c016123d0565b60408051600081526020810190915261126a949392919060448101612ca3565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516112a89190612c6a565b6000604051808303816000865af19150503d80600081146112e5576040519150601f19603f3d011682016040523d82523d6000602084013e6112ea565b606091505b5050505050505050565b6000546001600160a01b03163314156106d8576001600160a01b0382166000908152600160205260409020805482151560ff199091161790555050565b3360009081526001602052604090205460ff161561104357825160008181526003602052604090205460ff1661136657600080fd5b604080516080810182526000602082018190526060820152308082528183015290516352bbbe2960e01b815273ba12222222228d8ba445958a75a0704d566bf2c8906352bbbe29906113c2908890859089908990600401612d0f565b602060405180830381600087803b1580156113dc57600080fd5b505af11580156113f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114149190612c3a565b505050505050565b6000546001600160a01b03163314156106d8576001600160a01b0382166000908152600260205260409020805482151560ff199091161790555050565b3360009081526004602052604090205460ff16156106d857804710156114a75760405162461bcd60e51b8152602060048201526003602482015262776e6560e81b604482015260640161074e565b816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156114e257600080fd5b505af115801561092b573d6000803e3d6000fd5b6000546001600160a01b031633141561069d5760008190506040518060400160405280826001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561155257600080fd5b505afa158015611566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158a9190612ded565b6001600160a01b03168152602001826001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156115d157600080fd5b505afa1580156115e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116099190612ded565b6001600160a01b039081169091528381166000908152600660209081526040909120835181549084166001600160a01b03199182161782559390910151600190910180549190921692169190911790555050565b6000546001600160a01b03163314156106d8576000828152600360205260409020805482151560ff199091161790555050565b6000546001600160a01b031633141561069d5760005b81518110156106d8576001600260008484815181106116c7576116c7612cde565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061170381612cf4565b9150506116a6565b3360009081526001602052604090205460ff161561141457804281101561173157600080fd5b6001600160a01b038516600090815260026020526040902054859060ff166117815760405162461bcd60e51b81526020600482015260036024820152623636bb60e91b604482015260640161074e565b6000869050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b1580156117c257600080fd5b505afa1580156117d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fa9190612aec565b506001600160701b03918216935016905060006118198c6103e5612b52565b905060008189611829578361182b565b845b611837906103e8612b52565b6118419190612b71565b8961184c578461184e565b835b6118589084612b52565b6118629190612b89565b90508b81101561187157600080fd5b6118856001600160a01b038b168c8f611f19565b846001600160a01b031663022c0d9f8a61189f57826118a2565b60005b8b6118ae5760006118b0565b835b604080516000815260208101918290526001600160e01b031960e086901b169091526118e3929190309060248101612c03565b600060405180830381600087803b1580156118fd57600080fd5b505af1158015611911573d6000803e3d6000fd5b5050505050505050505050505050505050565b6000546001600160a01b0316331415611043576110436001600160a01b0384168383611f7c565b6000546001600160a01b031633141561069d5760005b81518110156106d857600082828151811061197e5761197e612cde565b602002602001015190506040518060400160405280826001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156119cc57600080fd5b505afa1580156119e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a049190612ded565b6001600160a01b03168152602001826001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b158015611a4b57600080fd5b505afa158015611a5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a839190612ded565b6001600160a01b031681525060066000858581518110611aa557611aa5612cde565b6020908102919091018101516001600160a01b039081168352828201939093526040909101600020835181546001600160a01b031990811691851691909117825593909101516001909101805490931691161790555080611b0581612cf4565b915050611961565b6000546001600160a01b0316331415611043576110436001600160a01b038416838361203d565b3360009081526001602052604090205460ff1615611c4557835160008181526003602052604090205460ff16611b6957600080fd5b604080516080810182526000602082018190526060820152308082528183015290516352bbbe2960e01b815273ba12222222228d8ba445958a75a0704d566bf2c8906352bbbe2990611bc590899085908a908a90600401612d0f565b602060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c179190612c3a565b50604051419084156108fc029085906000818181858888f1935050505015801561092b573d6000803e3d6000fd5b50505050565b3360009081526004602052604090205460ff16156106d8577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316826001600160a01b03161415611ccb5760405162461bcd60e51b8152602060048201526003602482015262776e7360e81b604482015260640161074e565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a082319060240160206040518083038186803b158015611d0c57600080fd5b505afa158015611d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d449190612c3a565b1015611d775760405162461bcd60e51b81526020600482015260026024820152616e6560f01b604482015260640161074e565b6005546106d8906001600160a01b03848116911683611f19565b600080546001600160a01b0316331415611db357506005546001600160a01b03165b90565b6000546001600160a01b03163314156110435760005b8351811015611c4557611e2583838381518110611deb57611deb612cde565b6020026020010151868481518110611e0557611e05612cde565b60200260200101516001600160a01b0316611f7c9092919063ffffffff16565b80611e2f81612cf4565b915050611dcc565b6000841380611e465750600083135b611e775760405162461bcd60e51b815260206004820152600260248201526130bd60f11b604482015260640161074e565b60008085139081611ea357336000908152600660205260409020600101546001600160a01b0316611ebd565b336000908152600660205260409020546001600160a01b03165b90506001600160a01b038116611efb5760405162461bcd60e51b815260206004820152600360248201526236b73b60e91b604482015260640161074e565b6114143383611f0a5786611f0c565b875b6001600160a01b03841691905b6040516001600160a01b03831660248201526044810182905261104390849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261215f565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e9060440160206040518083038186803b158015611fc857600080fd5b505afa158015611fdc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120009190612c3a565b61200a9190612b71565b6040516001600160a01b038516602482015260448101829052909150611c4590859063095ea7b360e01b90606401611f45565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e9060440160206040518083038186803b15801561208857600080fd5b505afa15801561209c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120c09190612c3a565b9050818110156121245760405162461bcd60e51b815260206004820152602960248201527f5361666545524332303a2064656372656173656420616c6c6f77616e63652062604482015268656c6f77207a65726f60b81b606482015260840161074e565b6040516001600160a01b0384166024820152828203604482018190529061215890869063095ea7b360e01b90606401611f45565b5050505050565b60006121b4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122319092919063ffffffff16565b80519091501561104357808060200190518101906121d29190612e0a565b6110435760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161074e565b6060612240848460008561224a565b90505b9392505050565b6060824710156122ab5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161074e565b843b6122f95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161074e565b600080866001600160a01b031685876040516123159190612c6a565b60006040518083038185875af1925050503d8060008114612352576040519150601f19603f3d011682016040523d82523d6000602084013e612357565b606091505b5091509150612367828286612372565b979650505050505050565b60608315612381575081612243565b8251156123915782518084602001fd5b8160405162461bcd60e51b815260040161074e9190612e27565b6001600160a01b038116811461069d57600080fd5b80356123cb816123ab565b919050565b6000602082840312156123e257600080fd5b8135612243816123ab565b801515811461069d57600080fd5b6000806040838503121561240e57600080fd5b8235612419816123ab565b91506020830135612429816123ed565b809150509250929050565b600080600080600080600060e0888a03121561244f57600080fd5b87359650602088013595506040880135612468816123ab565b94506060880135612478816123ab565b93506080880135612488816123ed565b9699959850939692959460a0840135945060c09093013592915050565b6000602082840312156124b757600080fd5b5035919050565b600060a082840312156124d057600080fd5b50919050565b60008060c083850312156124e957600080fd5b6124f384846124be565b9460a0939093013593505050565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561253a5761253a612501565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561256957612569612501565b604052919050565b600067ffffffffffffffff82111561258b5761258b612501565b5060051b60200190565b600060208083850312156125a857600080fd5b823567ffffffffffffffff8111156125bf57600080fd5b8301601f810185136125d057600080fd5b80356125e36125de82612571565b612540565b81815260059190911b8201830190838101908783111561260257600080fd5b928401925b8284101561236757833582529284019290840190612607565b6000806040838503121561263357600080fd5b823561263e816123ab565b946020939093013593505050565b600060a0828403121561265e57600080fd5b61224383836124be565b600082601f83011261267957600080fd5b813567ffffffffffffffff81111561269357612693612501565b6126a6601f8201601f1916602001612540565b8181528460208386010111156126bb57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c082840312156126ea57600080fd5b6126f2612517565b90508135815260208201356002811061270a57600080fd5b602082015261271b604083016123c0565b604082015261272c606083016123c0565b60608201526080820135608082015260a082013567ffffffffffffffff81111561275557600080fd5b61276184828501612668565b60a08301525092915050565b60008060006060848603121561278257600080fd5b833567ffffffffffffffff81111561279957600080fd5b6127a5868287016126d8565b9660208601359650604090950135949350505050565b600080604083850312156127ce57600080fd5b823591506020830135612429816123ed565b600082601f8301126127f157600080fd5b813560206128016125de83612571565b82815260059290921b8401810191818101908684111561282057600080fd5b8286015b84811015612844578035612837816123ab565b8352918301918301612824565b509695505050505050565b60006020828403121561286157600080fd5b813567ffffffffffffffff81111561287857600080fd5b612884848285016127e0565b949350505050565b60008060008060008060c087890312156128a557600080fd5b863595506020870135945060408701356128be816123ab565b935060608701356128ce816123ab565b925060808701356128de816123ed565b8092505060a087013590509295509295509295565b60008060006060848603121561290857600080fd5b8335612913816123ab565b92506020840135612923816123ab565b929592945050506040919091013590565b6000806000806080858703121561294a57600080fd5b843567ffffffffffffffff81111561296157600080fd5b61296d878288016126d8565b97602087013597506040870135966060013595509350505050565b60008060006060848603121561299d57600080fd5b833567ffffffffffffffff808211156129b557600080fd5b6129c1878388016127e0565b945060209150818601356129d4816123ab565b93506040860135818111156129e857600080fd5b86019050601f810187136129fb57600080fd5b8035612a096125de82612571565b81815260059190911b82018301908381019089831115612a2857600080fd5b928401925b82841015612a4657833582529284019290840190612a2d565b80955050505050509250925092565b60008060008060608587031215612a6b57600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115612a9157600080fd5b818701915087601f830112612aa557600080fd5b813581811115612ab457600080fd5b886020828501011115612ac657600080fd5b95989497505060200194505050565b80516001600160701b03811681146123cb57600080fd5b600080600060608486031215612b0157600080fd5b612b0a84612ad5565b9250612b1860208501612ad5565b9150604084015163ffffffff81168114612b3157600080fd5b809150509250925092565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612b6c57612b6c612b3c565b500290565b60008219821115612b8457612b84612b3c565b500190565b600082612ba657634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015612bc6578181015183820152602001612bae565b83811115611c455750506000910152565b60008151808452612bef816020860160208601612bab565b601f01601f19169290920160200192915050565b84815283602082015260018060a01b0383166040820152608060608201526000612c306080830184612bd7565b9695505050505050565b600060208284031215612c4c57600080fd5b5051919050565b600082821015612c6557612c65612b3c565b500390565b60008251612c7c818460208701612bab565b9190910192915050565b600060208284031215612c9857600080fd5b8135612243816123ed565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a06080820181905260009061236790830184612bd7565b634e487b7160e01b600052603260045260246000fd5b6000600019821415612d0857612d08612b3c565b5060010190565b60e08152845160e08201526000602086015160028110612d3f57634e487b7160e01b600052602160045260246000fd5b61010083015260408601516001600160a01b03166101208301526060860151612d746101408401826001600160a01b03169052565b50608086015161016083015260a086015160c0610180840152612d9b6101a0840182612bd7565b915050612ddb602083018680516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b60a082019390935260c0015292915050565b600060208284031215612dff57600080fd5b8151612243816123ab565b600060208284031215612e1c57600080fd5b8151612243816123ed565b6020815260006122436020830184612bd756fea264697066735822122016929423bf87d0ceb2f414c3f79027b326c0be9dbc53328e26011db03250ef6964736f6c63430008090033039cc3d1e63aa5c6b25702326aa998c0810781bd45df2bf9ff0d1552d3e3dba5480307a2852488b19ea9628443075c7c29de453106b7c8f7aa63ccd1ef5d3824488c03f5bfb326cf773d5cba94502b97d259bf46f2f8b0f6102d38134d250985d2cafc03e08804bd79579da0ab16fdd341ea6ad79cb45454c657874be0b5eb688cafe90e031ed46799a29a6b90e60de501e4c7014d04c4ae2c34650d9f18d90b7ea69aae700312938b21afabc0347e4e9af04fbe265293e4a4f77af4e2ceb2391ea103772c8c032c9e7ec430ad632a85f3c443a5609d606e7a918e1cfb3e0d17d6f1aa4b1134280363ba56a2c8192df302af5eb608066628c86e15158605992b98bc9c7245f987ef03e818ab69acc5ff72383950f15f2770b2f406edb21ebc528944807136589acd6d03808146001a4c175ce94075e8e04bfcb5bf8a3ade13fe318bd8d88d34ea8443ea034f73b8df6bad0ecb5316148df5a4ea4fd8b40ab28c7d15bc6b9badf65a3dd9830346b28eb75b599fce9015347d9d0895c0268b5d2b5392c189a6045ac95d8bfcd403d1b01555ce2df0a4b2d93a155975deefbeb7fe0ab14fd834c247cbcb57d3316e0364ecf452c89d28ef70c5385bb08f9add3a590a0e31608424f80e596c430e1c82005820037e96bb6e848f145800fdcf6b2769faddd35da91e2d2a44bf4dc682e2c1696054430ef9263e76dae63c84292c3409d61c598e96820058200348f7f3fb5c59e4abbaf16958d7df246761c3f8b3da66f0cfafadce9df0ca504101005820039857f6d3c7c7c38b316095cc0dda385698e57456e1a372515f479cebc7fce0410100582003598c59be5f3cac480cb97e9c97909adccea16441f115e10ff052c9f0957dd0546b3595068778dd592e39a122f4f5a5cf09c90fe20219120903897d915e724feade0460a610ecb7990f3cf213051bfdbcec29a25c0bf59fa02a039860aa164807854a9fe82139337ec5b1cf98b4a5e53e5d3634e9d896a278e77703bfacc90d51acc4a95ef835f43a489132760aa2fc2a4b7a550b296d3ca385638503cc631aca21920009636ef5e385f569981055d7de52dc2ff04c25976cb1d75297038c74ccdaee9e6173754bcec7e4f56db5f25df54a6f2e75fb69206a863336a8c703f8b20cedba3f23c981cc86aa2757f2361d75387857b6fbcd178df338b7fdb5a30219ffff033e90b21695dbc383f8890167aa136224efbd6a37151d85fc45255538d74f0de303dfe7ff870e340a8fa4ba8ee274b7a5dcce559617684c4293e90a94c2db17f65103ada3e79c2d0ed492ea7855a95b0e49f7147434947914a4b1d34051a04ad138d8033b87e0623892def6b8f86c64b2a39497d3f1be965560bfa4e95515cce94110ed03a96b6b0e9452069f0e6fd574dc47e442bebd6ccbc5b45a55f80c10a47163e02403fbb60c0d3be099ee421b4b5354d1f3b3d7ea5abeeb3b74e8ebd6ef3d1497612900581f0274579729ce0da5fcc93b7188f9dc732f33dab83e5b77e4bd2a5d390a4f22546985884c4392d348587b19cb9eaaf157f13271cd00581f02a6e46df578b62e897f7322d08ae202f8d09d593125911896f8b58f90548654dac17f958d2ee523a2206206994597c13d831ec70219090000582003bb1ae9fde1d2c2da1618a8ad29866a7288296876d3ec1ab5a072aded9c5de0547dd9c5cba05e151c895fde1cf355c9a1d5da6429005820035e0103a3735cde06f5e243144616c1b856aee794c6cb82352b7552e80824a0546b175474e89094c44da98b954eedeac495271d0f021858037ffdc1e935278a4503da308d9397ce437975b2f37243f41f4dac6e8af16f4fdf0330d145c037eb3721ee3530b3c6bc2e10f9e33ba3ccdba116b7577c54364394d503d2678f361438a2879e795d8edb570f7f3de22bd060955994db5fd3207e61206603c05e2b3f22f8e90f77982af3aaa6eed6415d1c17653fa01eaeb3399a0f9d887f0374161bf7d1de6e973d9cb9a8bbe1ee76e2766dd161110ae2e8f919a56ceb44fd0380bd7e263c9b1457891890693fee3fbefc7d0596e4ee78b0fe8fa7a07c8023c703b2d521c108e025483af20149ea64ba144fd3d32733af415fb44d1d9a7cf59af603b2395d0cf62b942b9c2432184953dec5b7c1a57778d72f4711fa32bbff523c67039eb0edbaa971bf89793d5c445f6584893fad2326db7bea294986b170b26705410058200295779221de47bc374bc31d30edc3e9e1a42385eb926c266a3b279adb001a6e4101036027b26f4eccc6a882f4891baaeff04313ab1a401d19ec0f18ef76822ef01c9d038811d241179053c2cfbe93844f78c85f502bd3f1a537901ea9a7f2e36057f39c0219ffff03b57504829c4755164a8df441f1e8f9462c0d12ecbd5b1b79e55a8805c9fe260503de88b73bd98767b92d9eacf5b8684684c6bed9dbf7510e794f0135a39ba4abda037e1d1d021f871a0436ea23d450f46edd8c8a8a4a56b98488827c9d03269c0726036a64c85a37c5401006f0a91e7f3156360b309ea587ff675577c41a607a9df9ee033e0d9b5afd815fd8d4f4ffab3733cf2ce860817d8b2e4c8cf23105c56f63798c00582002c9934a69c6ae80b7942db03ba46c63c41c7e5ad570dfc18f95ceb8207c6ca4542260fac5e5542a773aa44fbcfedf7c193bc2c59903c011219bc2b4714b31e0a1fba0ce03cf6415750a613db904cb0b9f0d65b1281d005820032fe8ac3ccb4ac5b2efef879306aec5a300824852197d7cfdee54acb1d9332054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20058200309b4872347e13962cebf7b27cb57c38016386773df543a4807c09dfbf91580410100582003cbb519d2aaec21f3814e93ebe97ece1e39c77b6ad9ab4772b75c4bc049974054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005820037070aad66f09dcf5fe809a36424d695749b0f6cee634042134fa71848ea76054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2021901a803febdd4e67767292e5e133126c2999b8ff4bec770a5482084e5fd4af27dd997470376c629f77914f04e2466ecb56e43a705820b716a6713e99ac58a59156908e1f803366e11cccf313e121b4d73021cf1e7d394e526ad893f52edfa231e82423c97e603676f56ee57fb0329b0d9303f47dcee8b7bf56b5378a7aaf6983f22efe3d248430305c4183ea1eb3bfacc66cbdca44ce5a4dde45391b7f389970dcd48ec5068a437005820020eaddb31d6b24fd073bcea04e12453be9ada49df05f8ceb2c8459011f1edcf41010358b23ed5798fc9b0a77cd60aa4f22f023b0727c3f5bc05e2447e72087ed454e80219f7ff0388e8377847bd0d8786ce978fd39b0d6dd4657ba7c4ab20a09835283b8e441e05033783f3312d8dd44d88ea023498eda45634dafdda17e4f8c91806a050c21af718032a760e9eae364379afcd8183960a0d57d14ea580f65ea333ffdb6ba9dc079c130058200330b212cdc452b705b43979cec1088c2ad3da803387cc35a8bc2263c2e27db04101005820034b2d7ab155f42e0e087048f9e9837d9b4a33201aa12a58e1d5ed19287173804101005820039d8e9a2d8bc6b18ce189fa79a7cf1b1a23e86a257a1e197df434715b33a2604101021980120369fa5e443d03d38f93b555da1c313b42af1c6a9d271e7353cea1eeab4e00dcf903c65a2d390cf2f5d2a1989b9429d76d05130702ac9651ab57ebd8a67599a57089005820028cf936a8fbd03917a590194d80a58f623112c100875398d43df99d9d1d87d754c02aaa39b223fe8d0a0e5c4f27ead9083c756cc203f82d207d73be9604f6dae9d3c225d0bd7025359a88ff459d74f9fa578acc7e800346cfa94a47c41a312b9983ec7e6f8194a7aa77adb67382eea6a342bb0db5cd5c032f945951e101a2425fc7939023162d3563d72874533575a8f898bddb71797dd200582002b31959fbc3480409c36a0d6aa334bc9203e7f979b4f3449af48c962c70bd8154ba5bde662c17e2adff1075610382b9b691296350031aeea2270096c99da7e53dfd547f3c7aab79c447e4018f94e142f7b55036264503d6650d122518b32dc3396b1f6859a3d44ccb8f031f9a0fcd31f029ffdafbec27030321c1c86daf807b4e2c2a849eb1c19022e05b9832b6f6bc5a11d826a224b6fa0381266e789b5aa93e49554ea5cea36351334be22de5bd08d0d290a8d67b3dfb800316be905da33fb6837e539b6f775626984243dcf801dbe6ec33e800774305eed50219ffff032016659ef8160914683a27bf65b3b6dc9d365c8ed7671e304ba8a2846c9c38f603ab9cf33890b768f21e1e2e291ddf4cb9d6d521d72a288c84c3688b2e9ada042503e64070d088b9b1609c160d706fef16e3ec87756524873d411b2941443bae35fe032a8c5901af3f1a55dbb9dcce4b07063d0469ae1343657d6af7d4678c3061e3650219ffff05581d02e8f346994b7e2a1d404b1b0254a217498b89e1e5dfe63870b7fe60cf0f0149010ef1fee174ecbc22192e700219080803496495131525cdaec8358cceabe4cace902eaf1a6cf279b5a77b630ddeaf3d6f05581e03bf4bfaf68f746728775ef51082e196579ae677835bce4d83f471bbb0d00c034789358770ba2348031ec0634694366883b8b72f000710bf9f24467ad65598325858188628ef8afa8305581e0375394208b0f5b9571e4028acfca41e136596335f69f9344b79ab83fc000c03462f8bafb158b803e6c4f4cfe260f68497acd84c09349c5f1c25dddb1f44f87beaf6d96abdadf8500219bffd030778cb1b1b35448cba09ff38c37f4a5e44037993eec27f1325f4f70278a6a05d03fcfde92e0be8d2bf4da4a18f020e6e88aa6f4a479ee238ce328e4ae2798ce7c90381382fb015a7fc4f801cb5939785e27bf102dfee8a83c33bbbcfaa399389041503c7dec31b059916d50fd5f240118989a5676862631ee4ba8f687d48ee73a70cab033dce68415aaadc1c433f3fccbdbb088d75ed15745c73ccebae2cb959c5e096ff0219ffff03f985a8e2e25f9da5d9d568034a9b5d97a1c74445360f4c7c25a7f5ac2e74666a030915fc63aa23bb3d0ce498d8e3e6bbbb38de4836df6d593544ceaa09e833004f0219ffff030e00b1d507b616e1f5da7c568df2ab4692ca5d0d4ab0366677634eb4abea630d038c864242b41fca1985e055a824b0d3c04b3edcb43f1bfb89eb9e0ef6abd8d93d031a5df320f03fb8baa437ec69cd17bca0f9e012a35e878815407638ebffa25b7a0219ffff03d2b8cbac89a9924472cdfcfb2a82b7f984b68d322d1feae8090c2a83a427ddc903447f364d4832d5749200f64f1932cac164ca5e806a7ecc78c8edad03e476db7a03d9f2f5b1162ddb73df18ba82136ad7f0e0dd3d8c5386af35ad9f1d3e267bee4a03d80e332efa8580b1565609100a2415d75bc2c460d8c5fa92948fb6ff9f9e111103f92f64901c9e114c6c00ce1c6bee9d0897b3438bad00d1bed4c687d3dc313b38035b95a4ab92c2125890708d2af04df576d70961f48cd9f7d2a0ee2797a2da32af033875cf4b775dbba5e71649b6332e16db2e45e5569f27da8203250358d2acca4b03c4f54a382cf8fb1dd5e6d863e387e66bc90022e85f36a11d9d2bc2270041224c034b8931db51f165a246cff50d650c6a5ac0d4e9bfaa5581595db9859030a2ec15039452a977e61c186d1b15382b275e0bfe390ec84f3dd3d2ef193df6f52221914c034effb06b5b9ff64a282cec26b7e4b00c02490a763d7648acee83e2fb0d7174b403df08613b10d54f85da1e8f750b7dac4eb504a7d05372d322ccacece029903a3903210853ec22da7bbbc53d0980ee64ce45ae1ca82a95852218b336f8382647020c03947e8890358d392c6bc147d08202e9de7eb5a5d64c391e87c07663ab55040122039461a959e17328400752d41734a85af304b5b837428b1f709a1ac451541928c103f8dfea174f23bbf22167bd93463d2aa8a31a136d6a9544864824a70ef0c8de530374677c5c5dff10de88dc3d8a27168bcb06a4ec182cb624ce13d0825f2823831e0373da14e624b00031a6725541ac7dab5450a81af82d40d49b9d05a6fce0f31998032158cebb6e64d1ee5b72d321c9108c541dd25cc9409e19716435e9b945a48f6f030f2a1414276c7857f4e87c94a2f782c8d59b24bec90fea113b0b1567c1efd0a403f713e3a51757c304218672b9cd0f03d0db93b4407c15fec0a55d83fd3f00714203bf3117ac68f7a6bd6ce78684312b583b1837b7a1a60e6d05a7a276ec7b09b9770350123a16df0914a47a2ecc4b1b3c079a72fe662022ea2279e9fc2d0fd91ea762030bad4e2e7aafd845909fbf33580010caf8ecd0ad41a41f95c22301278d46dd1001410605581e0330d230e0d391dd83db8c052454580624e1fbfbcd02841082d5244699b00c014732e80e24bdd2b805581e03d04a03b525e7599987c67ba830327074435763000a0f68909388625610040203a7c050ea2ca4c5973f5f1bf64f219c8fd222b842be6b0267ba0a0057882fe3c3036ff0609f57299787b31beec1d039922f20a2437b18cc52ed81c6add95967ca7e05581e03e21c8ec276134afa7bd447182bd33f6da545401f201f13e9a9ec9873e0040203cbd377f7f2fb7a2bb8ae60d2f3bf704677000f1db23c014524ffcc74484253070605581e03585ea758b3b43b2b18a11ea4a9a05d32dcd51b97928e65b46de65d53b007011bffffffffffffffff03e9d2e8bcf5906fe56e8429b0614410bea4b98f94e490735921f8f63b110aadc905581d02bc17068cef41ef0fd41260b702e6eb9ed36c8bb9650cd990743a15d30c0647104e44d0298d3d05581d0214f9ceae7132528a0a8a5130256d2aa3e69ca102e1e6247b56dcc1db08472fd478fc55180002182403be00ca18f162b56bdd1a0aaff2da34785e2651ca2fc0410cdc76c8544a94286603ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e037b6c04d7e8ec9bf7e5b0eb837be90f5c87514bd5f8e47f092d0573514007011bffffffffffffffff0219fce703cea4f3df25e474f559cf3e4639cc8c5ddc1cfbcee6997d5325a538e557b5fa5203205a848914e691d28db3d8fea09e909b00e1671d1f1775cd058655b595a43a80034ad3108f432cd7cb939bd425c739506892a31eca1528fe4a1fa83551bc3bc38e0219ffff03b4db51118469aa8c658a09070cbf8a0f1ee2bddc540a8d3fed0ae8b54e0ef94703e47d0dfa4a769f4971d04107fb3ed357fe8431b0a897910bd8754c924f88844f032d0f01ca79b22dad503a2365a0e9a08ba8c34cc70626dac9c46d0d89af22d98103a5ed981d766a832d1423d2fd29c063bc91d0e984f8253066ff1808398a53ca1a03d8c9410ff201dc6960c4f578b6f4d722930adbc9e9c1f8afc5fef133b25a1a0603720c7aa62d5c921740ec0d56ec832518dea27bffca904d8133011f9c47413e6e03c3e93e5dfc7b0a18efd104e5a623d52f98ff5629455919a7daa910d9e52fa2b3039ad3b5c73f2e138334734c71160b272ac5f20f35481d4c396a1eac7687e9150303f00fcd4c47fa0da39a31e0a420d2802f9c7db6a8c824606a1f7d813ed0a05da703c9b08136168cce11d4855e7fa882d0b255472a2f2e47ee704786ad004974ab9303c254d660f2b674b5c3551c36485a2fb0af3f20d56d588c18a2138144cc540a5e03c88a7af8c931d5ad5c428db5e89aac457af4a6815e8563461e4fd13700b514dc0355877bf6e6d44702a6ad6b26f171f5201b65ca41f9777f3c2dc97af43ab1975f03df9b6ef2b9db0a4e764444574e462239c05af8a00ecccaa105a75ce06507086203740f3e6c285a83409d68ac5a246faacf04454c498a960d066b5a11acb4c4d49a0219ffff03c0495658536e2ff13fee96b58fa70551cdf051ee84c2b95efc99d082336466100396920915b166cd1879e6d8e1242bd6e7f96c23fa90db0b1a9a8b2c7823a47da403c3da398b2d3986ec9fa362c5cb81e7d1e5b86a65a9fad8e07e14a10634aa20d5038ee81e5051f32ec53abd7db3d8bd86cd887672360b3982bfa0e0df6b66a7183d034bbd946671db1cf4dbec7ad44e88a02e033a0a1e00b1cfc78e7be8a637aadd6303d7dd244beac95989a6950bbd661e508c55c111f2006e424e1c054ebb33f7e4a7037ba5ee26c5131694895faf7e41475ae6dfea2c818e2179d1cc6f7e2c4f7000eb0219ffff03d3b21e9fad21a9d8bfdba60ca3666b00a49a1d9f039b5ff7573ca9a8ed939b6c031e735d6f5cba225c325ce7593f519488911f660b2f34d25335e97ad26fb4e2bf03922ba08b3af9691c9b2a4327e58285da5ea7f57a29879635edc817b62085736903ce76735b744181eb54468c0abf55c41a15b996877462045d42f959a73a247e9c03b59c2aa5f6807ef80a1c387be425a214ac487e340b446bf36b4d556fd43780a703aa05e29371f0ffcf9e5b0d2b4c26b4b2377b302d9507b4b02b8b89ca03df793a03f898621259f81345d7925659d80b3dc05d25fb57e19aed4bd705bbabe3519a5c03c94c2706be793f6014deeaf7aec77beb3faf0d1bb060c069cc60babb25075e200325ff8cd594aef94067c000f732670256f03d486ac8e0b6ac87a918397507732b030fa32148c1c6e55ad2e2d8595c66d162035aed146dfa08b6a2da0ec3b8775a51030ca88f45762826c15f2cba5850fa4cc16efeb30de265deb33a20b7e755f2074e03af0b72f536ccc7248887f0a65d434a703fed38ec6c2157f572139bc5ffc1e5e203c104f072f0e4ae77e64f0127c43b207231b99270f9093aea8052b3a44e762700030e3f679c86577873e3e357422be3f1b2844b3ac5c66b166dd74ad970934d00460375ea7033062bec80165e74543152c9f546d162f92923a4e8392c6d7871cac80f039e33907fe6e1652259518cd4adfbda828d5ea6d2cddae7ba47240247c7d1bd64039a81a3d6404990b58d09603efd24003d8f05d482bafaea3006f1a3656ed7061903729b2c9ddff17b43fc6ac71bd35005ff131263670e6ee1fbda75ab82bebe4fd5037066e082c4b5bb7545cbcc817bb194e1bbefde0c3d80e6b2f09fec42978c514d0374056796a8af1cffaa0799183efc07784a7f7489920fac788318456559f02f3e03eeee5258d56ce5a93ecf477e732e87a3faaa2407c25b21b67af5f9e89254020b0384bc2e9e6c2806330a6153d9c8efabae60449bf2c941c0bce1629b61595c437603c71b75475d66b345af21fefaf792b222926409bab5dfc9e811402007c571a17a0359e5416bd6263a352f3f8d7ff127265da9e544921b5bbabc54bd16b55acbc3cc03c1680a66bf1be5a07b324467de6608cf19423867ff50df0c1b6b37a8a3b8379c03fc676f4587bcd3d242b229028081ce41721a5971b4ac605f713590d176c6d9c203dc56e4d439ea2de378d4508a9561d120bf84451b44db7a025fad593b683ae15603b33343f5817a1ba57a3f7c884c96891dc1d5444393e4b9715b467d14a35672f3038be82e1aebd56f3d5f1f9ce054b194b394b4e1fdda3d5d3e3e136a4654c225cd033e2015c991d87f7b14d4f65d928b4257d2ea094c7bef5184ea1fd93f762c0e560305ee59dd7189a8308acc641e881a1800776ad8e9b5d12b36da7b30e332a47245045903d6600436101561000d576103cb565b600035601c52600051346103d15763bbf7408a8114156100cd5760043560a01c6103d157600054610140526101405161008f5760206101e060246370a08231610160526004356101805261017c735f3b5dfeb7b28cdbd7faba78963ee202a494e2a25afa156103d157601f3d11156103d1576000506101e05160005260206000f35b60206101e0602463bbf7408a610160526004356101805261017c610140515afa156103d157601f3d11156103d1576000506101e05160005260206000f35b634b74efb781141561016957600254610160526001546101805260006101405261014061012060006002818352015b6101205160200261016001513314156101185760018352610129565b5b81516001018083528114156100fc575b50505061014051156103d15760006000556000610140527f963001cf3a0c5cdcfc26b2710abe2fe859b3565482158b7cb34f59b6eaff52126020610140a1005b63f4b446a38114156101f15760043560a01c6103d1576002543314156103d15760206101c0602463bbf7408a61014052336101605261015c6004355afa156103d157601f3d11156103d1576000506101c050600435600055600435610140527f963001cf3a0c5cdcfc26b2710abe2fe859b3565482158b7cb34f59b6eaff52126020610140a1005b63e3a8d3ab8114156102a25760043560a01c6103d15760243560a01c6103d157600254331461025f576308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050606461015cfd5b60043560045560243560035560043561014052602435610160527f8f5425b30e6270c1011973f0ccf6d7795cc10623631523e4c45d2837d337d5746040610140a1005b63618939218114156103515760025433146102fc576308c379a061014052602061016052600d610180527f4163636573732064656e696564000000000000000000000000000000000000006101a05261018050606461015cfd5b600454610140526003546101605261014051600255610160516001556101405161018052610160516101a0527fe8d7597c306457cd1fa4eb0e165a1a4c3aea9808e274ea97c6b5d9f73a3c477f6040610180a1005b63df5cf7238114156103695760005460005260206000f35b63680c77838114156103815760015460005260206000f35b6347c8715f8114156103995760025460005260206000f35b635866507a8114156103b15760035460005260206000f35b633c2fcbf48114156103c95760045460005260206000f35b505b60006000fd5b600080fd0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05440907540d8a6c65c637785e8f8b742ae6b0b996800582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b05440907540d8a6c65c637785e8f8b742ae6b0b99680058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054467947ee34af926cf1dcac093870f613c96b1e0c005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b054467947ee34af926cf1dcac093870f613c96b1e0c0219191005581e03c8d6e1275aa6ade80347dddc6017c973cf43993be7e5521c5b8ea1581007011903d60341d11355544fcef335fc7c6f29d11a7852a538af2e22f4b46d3321dc7846369203034d8b080f06929fa2d6768e6fd6fc3b41c8dc25153968669c1858c3bf988923038afecd9cc3372cd0d68a8c04c064a5f73627be18ca387ca4adc1ad37895e299303e277f798501de8868f0c2748cbf7df6544c109b7f7ae7b5717bae3a8cb54d0ad032488e9268bf2c20e2b46fd2a6e575bd99f93985b2f1fbfba372f3819b77bcc8a05581e033ca83cce5969b27639f25a0fe79881b03242b198b5a148a6365eaa33b007011bffffffffffffffff05581e0323d8ae2821033d1be282977bde44727dbf22e5a8d5518b653124e0bf200c014701cd051383e7f603337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03e2458b483a11f0b0860161faf7c3006bad57f3bb4a92e7d2d67f41ea7d3c9d0405581e03d311a9cc73a5d1acf520d4bb7382f1d940b2cb2f88f6953be682253e8007011bffffffffffffffff036923b8f4a4c5bca322f531cb788c2da8663178a7a961c5afaa51207dd35d4abe031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03f1a036d797a866cf3a415e66b157cc534789df5a998fc98bc05dfe19d007011bffffffffffffffff05581e036223c7be7f5bca088e4cf3cde89df36a7ff903b28ec37b490453a411900c07471b127e25a36bf805581e03476b3e55f5ff20747bc9df7c059b41223b359a326b09cd866d405a3b6004010219f2bd033862911727bf88a8c9d5e13d0bcc0339fd5431304b450fd49d75460f88d6ecfd0219ffff03a0859f8e285ab0c2b3fc8c7ffc060886d5922cb08a60002beb98931e0cf03e5403d6d1a57fbb6adb46f332299a2156c6c99bbe519a99f9d80301df7e61799d690403bac122c6120a45175b1fa46dc6771fb577c382b48c3a6924e3984e2a8d2183a203b7ea01f426d3a2826399fb796e471d591dc68edce6f4f35edbc813e15840bbe703efe88d8e923803103f3ea0f21781ac594cea709a3f02a435c04629d08aedc36d0362f73d594c9245b0e7f8a16f2ab2111914cde6a104b0e911f50e975c976f3e9703c2c01b7a11e0c133de0ef7bdbedee828fc2cba64250959c2b33be86f32ce58b70347dd57174d28b0594cb37c39fab587623f09dc2f50f724871673a39667c3a586030fc313522b8a1a9d7803600508ac00d8703d4dbe58cfe90aaff27d6f9fbe991103168b76e23db056a199c9afaca0b9d06951e30b56a524f9582ad8d6b6baad0516033dfa46604caea779b205f247161cbde0e04c4247e4c5b3bfd81988da05f82f1b03ee44e9f01407762399b5b924a344e71865863aae817017836cbceb83b90875b9033aee8f193c3711153477eb9a2a4da63aa8a1a75e61e72b05b047589c67a25df90219ffff03bea704743e38c47511a096c842a763990c96ed2723da37ec056a90e13db6a861039025dd20ba555c529d4cceecdb5bb8547decb0c035c26356b76d4e87f2b1597903864b7c9820c5f0ae518118060db86f0541051a821855b0c49f9908964a8c23b103bc85da3614f86b1c31d91fed106a80ab792b224b835498c8c2b90448f55a59b80219ffff03c51239be3ca6f25dab42637be8291c3d24e6dd4e3131dc0c6af8b9ec603b4808034f20891f773085a6a220acb63b20de4b45b5ea1c53e0dfa655a880210aee6ebc0219ffff03f58c4b04a16eafa85af76968a6a960a6e7e2f06d7f9061533226ccd914bb060b033cb59ef5b4d15ecff27570cb694a7bb64500f699511b959b1581bf12f8fd1f3a037acb28ef4f982e28089d9ebe4bcd18cf61d33325055681c5801a7b34f47f553d038873cf7bf21d0092dbff51513b0c3c0d99ea5ecc141941ec789e08f61c511abb03fdbb91c0baa28bcb2c55e8bdfed6f0ca0f3a52618f096afa563876749222874c03dd9627613e9f87e7803d3728434918e1665acfe9f87bde1c558b275c08c4abc7035194165d52f60ae4890f50479f18aa835c1dda88640063d3e736468d358a0b4f03fdf8f3ba8997b47e87f2aea3c4d90356ee54b4abfd4e22164c9ddad06a21f1640396a6d1d08ae4d96dda7eace2d2ba220934055f9d6e0bcaa38a7e9863e0cae97a03b328109a0b79c94a721ddfa34c8f10ab4de810dc710095652d1e1ac13f4d3936036cca16c49aac7e0a3776576b60c31ea95d5b7ba372c69d869c5a8ec5cc0906dd0315901096c8ae17fa1b8aacc4f3b96b87981db54820d265675298fe9b7648f02903ec28a77fd2c5d234c37392e2e4e4c711f246fb47bf9ef7b7115b1fbf37206c1f03ba0465d076076527e841d7b39d0f159357718f68f17ff2b337a07a0ac84ffd7105581e031b0b56d4cc07c9dbb0ef39d48fb82c23c305a0ecf5f23612a8a2e85080040103371c42bfab16714ae487fd0d9202afebdaf5a301dde231cf1852c976094e8fbe039f64ddb7166bbe5a0fb8a5f3d4a96812187669c91b7f1fb2ac3a38eb4051064c05581e0382aa635afd369de56449b86b25e84c77b00b710780dcfed61b2bf3bee0040205581e03b499d43a47ce976d35d79862bf58b9230b60790f25197d83a2a1884d600c014702a925de800b8305581e0326ba2d1120e110ce8073be523bd7d442139bfeb81eadd3b77a43a523100c064745d63b290c421805581e03a9a4b82070126f34fb905ffc79a45bcb791a4cbee1fd9d089a192a32900401045905ef608060405234801561001057600080fd5b50600436106100675760003560e01c80639b2ea4bd116100505780639b2ea4bd146100b9578063bf40fac1146100cc578063f2fde38b146100df57600080fd5b8063715018a61461006c5780638da5cb5b14610076575b600080fd5b6100746100f2565b005b60005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100746100c73660046104fa565b610106565b6100906100da366004610548565b6101d9565b6100746100ed366004610585565b610215565b6100fa6102d1565b6101046000610352565b565b61010e6102d1565b6000610119836103c7565b60008181526001602052604090819020805473ffffffffffffffffffffffffffffffffffffffff8681167fffffffffffffffffffffffff00000000000000000000000000000000000000008316179092559151929350169061017c9085906105a7565b6040805191829003822073ffffffffffffffffffffffffffffffffffffffff808716845284166020840152917f9416a153a346f93d95f94b064ae3f148b6460473c6e82b3f9fc2521b873fcd6c910160405180910390a250505050565b6000600160006101e8846103c7565b815260208101919091526040016000205473ffffffffffffffffffffffffffffffffffffffff1692915050565b61021d6102d1565b73ffffffffffffffffffffffffffffffffffffffff81166102c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102ce81610352565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610104576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102bc565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000816040516020016103da91906105a7565b604051602081830303815290604052805190602001209050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261043757600080fd5b813567ffffffffffffffff80821115610452576104526103f7565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715610498576104986103f7565b816040528381528660208588010111156104b157600080fd5b836020870160208301376000602085830101528094505050505092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146104f557600080fd5b919050565b6000806040838503121561050d57600080fd5b823567ffffffffffffffff81111561052457600080fd5b61053085828601610426565b92505061053f602084016104d1565b90509250929050565b60006020828403121561055a57600080fd5b813567ffffffffffffffff81111561057157600080fd5b61057d84828501610426565b949350505050565b60006020828403121561059757600080fd5b6105a0826104d1565b9392505050565b6000825160005b818110156105c857602081860181015185830152016105ae565b818111156105d7576000828501525b50919091019291505056fea164736f6c634300080f000a00582103d4c81ce61602334f862d550d29d38f0a8152f0feb7dc26f6c2b1d2681a0a45a0548cff5bdb1b428b979e3d87087da8549a28065ddb0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305427ff92b30cae00dabcf8045cc68fc9dcb67c50190058210327e6633948521c21a0a9ffe50c92b3128f432a6f107dc027e4fcf88e2d571fc04401013ed90219200505581d0272f694234865e5630b04557237da8ca802265cbd9a6e8bfddd1cac3f07011905ef05581d027f1a1004db7e27cec1e9aa9c1ee03257ec50f6c8b8710cc4bd0fb2d604030218a003b63f1301fb091c77d37a76836ebb08f64099652e8f39a465b42281fdddc71c770605581e03bb1aa2e6c50ef07ac2724c65ae5926439b4d556faf3d44b354d9e2c54007011bffffffffffffffff021989af0371ca554ad4e5d0a0c0eb6ead295c55ac99928909f34fa756fef22e1566163d44036cd194e121231d54697b1ec93d78d69c4ec479d1e9014f793d45ef1e5da5e25803b60641b319db6c7f14625259a1fa1a1aaeb86c8a278e61aeec608f59faa340de03e658dc77d2a5ea8923d25017ca2fcd203593a5289fd72e7a4aa3032e69da8d5703a8582d8976fe095ee562c8f1f00a7fc439380afb176b4b571052b1e6a269424f03dee7298effd16beda81862369eea29c1566b30b3b36fdc661a178e7f94a5c1f4035a7d7886fec5baabd77c0e2a80ed6c0d93f8f784558b621532417e016cfa0532033673a78f3c519259b66f297538345a01f5185b4a19a7c80cedc97f36157eab44033c54fdaa6b8e79c066650b3103b5779547a08af40ccab9c0536eeb70a6daba030321e00b4b153c3494d1a13fd3e2635046fe852542a78e119d73f47b5f6dc1969a037b361c88a5c178e28e6df78ded35a648a1b950b2a7d0359f266adda7e86c593b0219ffff03d6bc863f14168c62bba05c49e68e486c12adb4c1bbfe821183eef79b476b8f2303725134dc54aa4cbeb0e8db72f8bc269e299ca51d56760b533f3b586cca01679003551b0d3fd52f51cd762114b7e3367bff47552fae37d88ad336f02cbcc3140183039c9094a6408a318366bd9eac3e400a71b3c30aa8fdd89d423db3ca1911c346560396fe75ceae50077b302a36747ce9251cdcbba3638f67fef43a59b648cdf368ab03d8c48a8dbfdc6e44085d568ab603330c11f8908685ff04ee5f40389ccc21a4b503fd14e8bada258f97e42341bdda2f42a388e913c36771e84a5e3c1e90bb37b5e70219ffff032d55e5babbbd909536ce2dfc8c3d11cae12d7d29d52aba40fbae104c71df4b9e0365d2d2ac732ce212d0c36f4f45f53da9777b6e2e5540d42469dbee55232782240337755e8d747f864bf413c1dc9ec7162b93917ff8c7042be960fb43c290c996410349e8bf01fdec6bc0d028212f1e1a29bbb0813800934eed3efaf555405eb5b11e038c8277b00c4551380712f5bd1165c4f221e579bfe5bc941e7de5699acdf51a4b03a8a72ee2a8b290be20fd2c0a8646a6d54f3a9782426fe617d1d4c16803ee34a903d9706f375198526b18a800d039131086a350fb4685dbf18d99d198f081ba1b9b03db8b554f6240a3b03ea55ca4b3e85681cd49b18648bcc51f3c0ef197dcfff9f203d40a3d944b45c0752536b807cfbdce57cc3e20ab2910db7133574cc94420908703e4226edf9d6d411b9a58882de49feff7882e07bd97d869c09e86500b944088ba034cb8a328bfc4b852e679269fc1e4720359208b0af96cb25007b75631fccd94cc03aa83d72e72f702c4b6553ad6f80bdd670fa4d3828e4cb33865d138ec43cc2a8603b27ddbe85ba1c10427175fca361625522650fe132e11bbac8ce76171ab0eaa10030c784d3e777684ece822ee5c17a245092066643d294a3b9d3efc101b1b74a1db0219ffff034d677883095031b0645112fb67355615511b9d4468920973d05f2775526d6cbb035e2a2ee6d66e7dbe9c27aae9bf70c9816608043424ab9786cde02f21ff4beb110340ba16040e598bd6834c90c5b1c62dac676a233785d9be18cf47c4bb45713f8b03668cdc2a44acc330749f6f286c5ef7d0713e305e6b717a873576a59aeaefe5e0030c307f20c3969b27400f17cb2035acfddb4e54d7c9f8fa42ed70037a0df6f5f903e5a86316245482a966da97e37788ecc64cd97da8ed247c4f6e8500b57b65213103ee4a920a53b245ae9c1a5f74aa3814e3be40991dcb099088f3b17a911e97ef6203d6c90395d4722eaea1d977cac47a067136ae0fd50489f14a5b5f0bad164c7eea03eda3831bbddeb2d91ad2b029b08750d0b28840390dfd2ba95c5be580d36803d5036383e44ea23aff28307f7c794423773f45230bf176e620858b8c5390971bb6e403da6c58ff597075df843fe6c59b0c1831db1df866adbf1391f268738fc042d2e503e721c9e3575e50a2562f92dff3dcbf3eb43557b49071e97835fe440c8a82f210036007d0abc94f08fa0023a02fdfdd4ee76e86024094dab696625690cb3715c5ea03760daab864b1e64185b02ddf09fb2e6578f826451439a5e804c50e8eeea6ad38033023dc9c087196059a362fd714e6e12009e07906fd36cb282f0f9e9c0f468a810335a555c79ae3b5e186772ab192e31c2f41ee428501dc9392009ed425bbae1fcd03cff70b8c80593b24da27737094759af803919bc12b73c016c59560b14d4003bc038e2fcbf350035138abd2eb578039ef37bda0a38d04d3b9aedb90a1b53d1f0b67034fbc51cb3fafe8c4b2720b6947984d2661d10c38419205e20603ae4f9d78a67103dc74c78bdd19316461d0031ea6f8abe720ae5c48801d5d84d47b08799558569403ba9a908cc272ba8af1b26973a0824dc425830cc42708f37431a29289050ad12e05581e03d7966a7e764bc7da9014cb450690bd7b7ffe792b6edf1863bf12945af0040205581e030d3e367d125e16cfcd1463f8bc84c4f15ba894d336612ce8f9416bebf00c0347018483c687ee5005581d020f44c9b38128ec972073c75d5fb130b20e0122d93ce488cff0fa9601040104591ce0608060405234801561001057600080fd5b50600436106101a35760003560e01c8063715018a6116100ee578063a9059cbb11610097578063dd62ed3e11610071578063dd62ed3e14610531578063e7a324dc1461055f578063f1127ed814610567578063f2fde38b146105b9576101a3565b8063a9059cbb14610498578063b4b5ea57146104c4578063c3cda520146104ea576101a3565b80638da5cb5b116100c85780638da5cb5b1461045c57806395d89b4114610464578063a457c2d71461046c576101a3565b8063715018a614610402578063782d6fe11461040a5780637ecebe0014610436576101a3565b806339509351116101505780635c19a95c1161012a5780635c19a95c146103775780636fcfff451461039d57806370a08231146103dc576101a3565b806339509351146102db57806340c10f1914610307578063587cde1e14610335576101a3565b806320606b701161018157806320606b701461027f57806323b872dd14610287578063313ce567146102bd576101a3565b806306fdde03146101a8578063095ea7b31461022557806318160ddd14610265575b600080fd5b6101b06105df565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ea5781810151838201526020016101d2565b50505050905090810190601f1680156102175780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102516004803603604081101561023b57600080fd5b506001600160a01b038135169060200135610675565b604080519115158252519081900360200190f35b61026d610693565b60408051918252519081900360200190f35b61026d610699565b6102516004803603606081101561029d57600080fd5b506001600160a01b038135811691602081013590911690604001356106bd565b6102c5610744565b6040805160ff9092168252519081900360200190f35b610251600480360360408110156102f157600080fd5b506001600160a01b03813516906020013561074d565b6103336004803603604081101561031d57600080fd5b506001600160a01b03813516906020013561079b565b005b61035b6004803603602081101561034b57600080fd5b50356001600160a01b0316610842565b604080516001600160a01b039092168252519081900360200190f35b6103336004803603602081101561038d57600080fd5b50356001600160a01b0316610860565b6103c3600480360360208110156103b357600080fd5b50356001600160a01b031661086d565b6040805163ffffffff9092168252519081900360200190f35b61026d600480360360208110156103f257600080fd5b50356001600160a01b0316610885565b6103336108a0565b61026d6004803603604081101561042057600080fd5b506001600160a01b03813516906020013561097b565b61026d6004803603602081101561044c57600080fd5b50356001600160a01b0316610b83565b61035b610b95565b6101b0610ba9565b6102516004803603604081101561048257600080fd5b506001600160a01b038135169060200135610c0a565b610251600480360360408110156104ae57600080fd5b506001600160a01b038135169060200135610c72565b61026d600480360360208110156104da57600080fd5b50356001600160a01b0316610c86565b610333600480360360c081101561050057600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a00135610cea565b61026d6004803603604081101561054757600080fd5b506001600160a01b0381358116916020013516610fb4565b61026d610fdf565b6105996004803603604081101561057d57600080fd5b5080356001600160a01b0316906020013563ffffffff16611003565b6040805163ffffffff909316835260208301919091528051918290030190f35b610333600480360360208110156105cf57600080fd5b50356001600160a01b0316611030565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561066b5780601f106106405761010080835404028352916020019161066b565b820191906000526020600020905b81548152906001019060200180831161064e57829003601f168201915b5050505050905090565b6000610689610682611167565b848461116b565b5060015b92915050565b60025490565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b60006106ca848484611257565b61073a846106d6611167565b61073585604051806060016040528060288152602001611b73602891396001600160a01b038a16600090815260016020526040812090610714611167565b6001600160a01b031681526020810191909152604001600020549190611299565b61116b565b5060019392505050565b60055460ff1690565b600061068961075a611167565b84610735856001600061076b611167565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611330565b6107a3611167565b6001600160a01b03166107b4610b95565b6001600160a01b03161461080f576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610819828261138a565b6001600160a01b0380831660009081526006602052604081205461083e92168361147a565b5050565b6001600160a01b039081166000908152600660205260409020541690565b61086a33826115b7565b50565b60086020526000908152604090205463ffffffff1681565b6001600160a01b031660009081526020819052604090205490565b6108a8611167565b6001600160a01b03166108b9610b95565b6001600160a01b031614610914576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580547fffffffffffffffffffffff0000000000000000000000000000000000000000ff169055565b60004382106109bb5760405162461bcd60e51b8152600401808060200182810382526027815260200180611aa86027913960400191505060405180910390fd5b6001600160a01b03831660009081526008602052604090205463ffffffff16806109e957600091505061068d565b6001600160a01b038416600090815260076020908152604080832063ffffffff600019860181168552925290912054168310610a58576001600160a01b03841660009081526007602090815260408083206000199490940163ffffffff1683529290522060010154905061068d565b6001600160a01b038416600090815260076020908152604080832083805290915290205463ffffffff16831015610a9357600091505061068d565b600060001982015b8163ffffffff168163ffffffff161115610b4c57600282820363ffffffff16048103610ac5611a6d565b506001600160a01b038716600090815260076020908152604080832063ffffffff808616855290835292819020815180830190925280549093168082526001909301549181019190915290871415610b275760200151945061068d9350505050565b805163ffffffff16871115610b3e57819350610b45565b6001820392505b5050610a9b565b506001600160a01b038516600090815260076020908152604080832063ffffffff9094168352929052206001015491505092915050565b60096020526000908152604090205481565b60055461010090046001600160a01b031690565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561066b5780601f106106405761010080835404028352916020019161066b565b6000610689610c17611167565b8461073585604051806060016040528060258152602001611c866025913960016000610c41611167565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611299565b6000610689610c7f611167565b8484611257565b6001600160a01b03811660009081526008602052604081205463ffffffff1680610cb1576000610ce3565b6001600160a01b038316600090815260076020908152604080832063ffffffff60001986011684529091529020600101545b9392505050565b60007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866610d156105df565b80519060200120610d24611664565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a0830182528051908401207fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60c08401526001600160a01b038b1660e084015261010083018a90526101208084018a905282518085039091018152610140840183528051908501207f19010000000000000000000000000000000000000000000000000000000000006101608501526101628401829052610182808501829052835180860390910181526101a285018085528151918701919091206000918290526101c2860180865281905260ff8b166101e287015261020286018a905261022286018990529351929650909492939092600192610242808401937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08301929081900390910190855afa158015610e90573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116610f005760405162461bcd60e51b8152600401808060200182810382526026815260200180611c186026913960400191505060405180910390fd5b6001600160a01b03811660009081526009602052604090208054600181019091558914610f5e5760405162461bcd60e51b8152600401808060200182810382526022815260200180611c3e6022913960400191505060405180910390fd5b87421115610f9d5760405162461bcd60e51b8152600401808060200182810382526026815260200180611c606026913960400191505060405180910390fd5b610fa7818b6115b7565b505050505b505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b60076020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b611038611167565b6001600160a01b0316611049610b95565b6001600160a01b0316146110a4576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b0381166110e95760405162461bcd60e51b8152600401808060200182810382526026815260200180611acf6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b03909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b3390565b6001600160a01b0383166111b05760405162461bcd60e51b8152600401808060200182810382526024815260200180611bf46024913960400191505060405180910390fd5b6001600160a01b0382166111f55760405162461bcd60e51b8152600401808060200182810382526022815260200180611af56022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b611262838383611668565b6001600160a01b038084166000908152600660205260408082205485841683529120546112949291821691168361147a565b505050565b600081848411156113285760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112ed5781810151838201526020016112d5565b50505050905090810190601f16801561131a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ce3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b0382166113e5576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6113f160008383611294565b6002546113fe9082611330565b6002556001600160a01b0382166000908152602081905260409020546114249082611330565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b816001600160a01b0316836001600160a01b03161415801561149c5750600081115b15611294576001600160a01b0383161561152e576001600160a01b03831660009081526008602052604081205463ffffffff1690816114dc57600061150e565b6001600160a01b038516600090815260076020908152604080832063ffffffff60001987011684529091529020600101545b9050600061151c82856117c3565b905061152a86848484611820565b5050505b6001600160a01b03821615611294576001600160a01b03821660009081526008602052604081205463ffffffff16908161156957600061159b565b6001600160a01b038416600090815260076020908152604080832063ffffffff60001987011684529091529020600101545b905060006115a98285611330565b9050610fac85848484611820565b6001600160a01b03808316600090815260066020526040812054909116906115de84610885565b6001600160a01b0385811660008181526006602052604080822080547fffffffffffffffffffffffff000000000000000000000000000000000000000016898616908117909155905194955093928616927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a461165e82848361147a565b50505050565b4690565b6001600160a01b0383166116ad5760405162461bcd60e51b8152600401808060200182810382526025815260200180611bcf6025913960400191505060405180910390fd5b6001600160a01b0382166116f25760405162461bcd60e51b8152600401808060200182810382526023815260200180611a856023913960400191505060405180910390fd5b6116fd838383611294565b61173a81604051806060016040528060268152602001611b17602691396001600160a01b0386166000908152602081905260409020549190611299565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546117699082611330565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561181a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600061184443604051806060016040528060348152602001611b9b60349139611a0f565b905060008463ffffffff1611801561188d57506001600160a01b038516600090815260076020908152604080832063ffffffff6000198901811685529252909120548282169116145b156118ca576001600160a01b038516600090815260076020908152604080832063ffffffff600019890116845290915290206001018290556119c5565b60408051808201825263ffffffff838116825260208083018681526001600160a01b038a166000908152600783528581208a8516808352935294909420925183547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000169083161783559251600192830155908601161161197b5760405162461bcd60e51b8152600401808060200182810382526036815260200180611b3d6036913960400191505060405180910390fd5b6001600160a01b038516600090815260086020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000166001860163ffffffff161790555b604080518481526020810184905281516001600160a01b038816927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6000816401000000008410611a655760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156112ed5781810151838201526020016112d5565b509192915050565b60408051808201909152600080825260208201529056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373424f4e453a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e65644f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365424f4e453a3a5f7772697465436865636b706f696e743a206e657720636865636b706f696e742065786365656473203332206269747345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365424f4e453a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373424f4e453a3a64656c656761746542795369673a20696e76616c6964207369676e6174757265424f4e453a3a64656c656761746542795369673a20696e76616c6964206e6f6e6365424f4e453a3a64656c656761746542795369673a207369676e6174757265206578706972656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c8bf531ee4d8e3a302cdbbe615d86c97ebc8518959f4ea7ae7d2110398f4179d64736f6c634300060c0033030cb41220b6d49e04167f6e2461a0e8a29e0a353a2b01e232c100fbd8bcaf30db0347c56ccabd730be51caa2d6c162c59209594bd9463116edbf25e42280ad8c65f03d298cedc575c81d710e19a2de693eb7e3c0d80fbb8d032f0d12e429d5714993a039d68ba80d705068848d5fea43e6f6168dab6c846ae5d9ae01139227eca7241d7039ad1b0ca230819dfdf387556dd31f8cd62e34f843970c9a778aff8a4688de7aa03eac371ccf090b6a556fd1cfef583d7cba1f57b941437c03ac3d2826d123bfe3703c69032039a7581318d594c95ab8b3656e7f7382270d887ca00e1a4f2237458f20323f88cdf4a4edb50c99d0406e525bc5dda0b9d0e84182345954a48e9cab8b24203ce4a5f3839fdd0c186f140d9f520362a02ba5e545b3c56851bcc9d5b39e585d50327a2f43bd211953151f92f3bbf26abeb928612b7462685646510cf102cd81d27034f26b0c09e06e5818786a38ec2ef42af8613c5eb3c7dc0bb6ccd1c34d2c9958b03fab349d3f6451efe6d23722552600a67b0331336821b47c549771c3da311f4e30381896eb225afd68e9d04f883edb8a6858fc6763441738394c84fec0964f7d33703669367f5d1442364759caa4d5e2249b63a3dd191b914ecef624311a421ecd41e03f56178f68f3a28eb4842fddae9155ab2b8f01d86a0643a1ee39eb1b8813f6f4703a423e0f528ee18181aeb6ad3a6ea9e81a487cf09aa482bc4dbaece3921ea007100581f031053a111aedc74b61ae14feccd6504bcbca8898ef73b42d845de13d9d9405820fffffffffffffffffffffffffffffffffffffffffffffc022724670b74f43a9c00581e024ae8add891547fa4f41121aa10ca6054b1e7a7a94b608cb9c28bcd87cf4914813f432b94f06b1900581e0253357ed54ff64ef462de16b337fed5d91fb894a0ad9a61cdf593e720185820ffffffffffffffffffffffffffffffffffffffffffffffdecc317331a080ad5b0219108000581f036c7754775084dedc8517170031dd9f02907d52793bdb3decde9c1e8fd2005820fffffffffffffffffffffffffffffffffffffffffffffe9a9e47d735849f673b00581f03b52de1b2083ea0b9e4c3ffb824fc0a0dfd53165599dd0b7f5c7a8c0d77e05820fffffffffffffffffffffffffffffffffffffffffffffff963b01f6ecec4dd86021921a0030141ea0ac7d540f90837b7674d47d08f88acce4cdf45726f0e322778d6ff9c7f00581f02eafe51f788d46bb57bafea83eb951eab4789323a4e4f6e76104bf550cda85820fffffffffffffffffffffffffffffffffffffffffffffff6ddf42495fed1953b0384624e21f3ec7ad0270f17ef7708feb84035a62f38b621aba77ff1bfda3747990303b355890429857fe8a2b5537761d28df2f5709bb9df013524143fc8ee178a54031a5109b0ba0429612163508f7c57b3d55138a12f97c5fa436704cec45ba7e43c032f837db22c18a3848c87a95581d4de1e9f5ba8e88323373c8cf0ba620bde4d1003f0b0c5bdd6e6111a5dc0c2b5cdc41bea215eea51f8f6735a0a3512265a638d8a0219ffff030aa70d03e86fddd027be7e66575f52575c21c1b1682cd8f39c3abc197753e413039e8f6a38df284d2dbd8dfa04f876d507bc4a409bba5c3a36b001763b2e9e029103daca5368d3f921cf81b57ddaee4f92f8cef554ef781766414665b2bd370d20d90310fc09b7826adda96040155f750b3f61f87749b0415b5e9dd71dbf21ac67867d0356447fa7c1430a1f41afdcc64421ee64e30695194239c1dfc46d9f2ad8a17b4103f6dfcfa3d1c3965a769bccb0f854d11451bc857600980afff95528545232ed2803381c559587b0a48d1644601f45ae8789ff123fef814e5c6a8e3614d7b8776e4a03dce4dcbf0b5bb088d8a1757a97302101e3d41ecd1d6268406c5c5d6933d887190375451844bcf71efb7008d0e4177d7741995097f83afa6b102e9ef05905fb915b0219ffff03242519ff1fe2c3b6ff4bd567601fdc5cdac4e225207109b31cd739d8997f8fc20395aff25f29ffab9d4cad7c7596560a136c7ccc63ee2d39be52127b9f5537a97a036cc7b3861c599833bde277f2cb8f544de0129b2469fef558f78a845cfc570e660346e1826ecb86def4382b6eb8a82cd03f4bd1a8b59fa7034d5747839f4e0c755a03b85a640af0983c4d2815553b92b599473aff70677f630a82f664cf7708262065037cf3fa6cc0d801420c69fe5b6cc49c4bde9bd0a8879b5b12c7db8cac15347c4b03b4511e73736c6bec765b24003e78257c7a55dfabdc87247f0c00beafd1d9ae8103c8045dd62267659e0dbe75f141baeafcaa7fdcea89214602cb46a2224a1001da03baaeb703498d4371510d614a3720afb7ebe01eab4a9d84a66aa6ae488dc12cf0039271313af39ae40c7c2a8be2b858d6992f73f7c39b695ce50c122e2727ba47db031d516dac2682d5db73d89cd415763ed47dbc78f721f3106c31beb5f28a1e9790032ca7975e00486b28c3f7bfa06180937e6b85a62d465f476231eb87f730ee504603c0a5c284994a8dbad0ab448d5a7d1c4a5851761be9b53e8f4a5c6e25203b234803f0cf1a3b5edacc43c17c6ad42c600517bf76878f0f9e8efaa3191b7fded09f310219ffff035c7542404f5744e337dea188dffe0e03871d68e80d262ed0cc2364b5c09fd0f3033ebe4bba2fdcafa448809564067089dd1ac72eda0abc924be5fe73be73e2432303ac9543145415274834c5818ea398b8ee536908603f58ed3adcebe1295dd2636b0364eb7b1fd8f9f8a11806b52b94b7f88ff270f5ecaf8693caa291f4dbc5880b4703df0d7f82898d8f77190ae22305b86a38af3ce6ad65c903b2184534f490aff511030ae5f4ca4419148215853d72c2a26b778dff4a6d9af15bc756b89f83e386c9af03dd4c24552767a4b31cf3eb62b528714923dc01ee2638ffc1f527470d7cd8baa103e6301ecd4742690ff4d5d63525e38c05970f848f667c4170c5c4dc23f23628e70306e0dfc92c48228ef90b305a7a9ef768ffa17d7a25544a688d433d8ce9ddcdb203d44a5a3a51f1e13e44878313f7d44ce156301947ed428d2e0134320489c06d7a03ca280d8657fb133b984c097cd6d83d14d67064df7b325cba1fa0c9857c2df0f103f137aad4581126972238a62e640dcce8d3425b3bbf27c2a74fc9e4ec1a019f6503e13d336052efb83305db7c7a654c54ff047aebb2cbd686945b45d5f4eb01d6e9036617f5c497c326f9a01fd9c857782835f80b14baf54e842aaf7009477c2767ef038266806dad26d9817f4df0c50c82dc18eda6fdab3d607712831a3216f80367e90322b84972c47802fdd4fe8b4897ba99c98ea7efbf2412aff85626bede623f4c8b034042ba41847eb01ced1c6994295f4777012f8b7197f216fa83ebf51b2569aaca03810f28ae30a537a3b991f09aaac67871b2593023472f431d54e495a8f4577e580339c8b1607afd3f7cb6518fe44ccdab371359e8106d4c320d7aee789387b778110321c0fb46b8f5374f53db9925d349a464cec1b17ba90cb7126870ab5fd6cd255003fc29b93de5a3ffd3d76741c3149fb9f0ee1c848002043e836b1cfb4dcdd2eca30375f06f3207a50ac2954d2ef3da0b6c1fa71a050d8f16561e17756dca8bfe74cd0342873caaa9f5b2b296d69f2c2efa14521cd283c5bbe390b2adce4738de2a7b910345563237657d67161d6b0a80d82c59cb73815f79f7ef19d973de73fa406319fc03d7cee11fcc323faf492d4b1c977e4c1b357e6866d2cf966556ef2af899e510e60357bcdec6329d53a6b0e59365b1f5ccbcf0c4fa2c5c3db4bfa50d2bf3053d794f03ca6418635207504fb6294d42ae2f0414e08bf187f7c7cde11fc3dd060cc9d0150380092ad714f0aad23696f926e62b522bce417d4dc7f54124f92cd8941c9e6fb800581f029ac7a54d607e71f59d4c0d0c92b25018d9cf256cb1e0112298bbe3a781d05820fffffffffffffffffffffffffffffffffffffffffffffffe5b3fd43edb743f7203429e38b896d4472331c23b7485de0136470af273db68d6232e4e1eb65b0f1155035c2611c3afbcd44303c66879855358e3b48249fb2be46d84e552fe63feb4fdff03841c9e6a680d0d79cbbf7044df12bfec23f70d83942fded83d7fb01eb7cb885603d949436a8eae12f3eb396b1ab9058841f8d0ecf42989ae904233eb486cffdc340340dc12d61cfdbd403e38cddf3c6eae8d3f757c1128d81ad38b3bc9d35f39495700581f0322e71e74d3d382a2fd01422c7ecf1598568ed64fb4c69a2b57ce0eaab660490a0fbbc831fcc4fcd100581f031537613f902bc8f14bc124d1d6202f3282dbb2c11bf5adf2e01922e688205820ffffffffffffffffffffffffffffffffffffffffffffe55d156399219bf3922000581f03ffc0152ddd60ac2aa5dc6644afe4909ad5d00c19446afd9aa9ba8defcb204901236efcbcbb33ffce00581f0319e1a99e014f7b73432931a01c35514be0ffbaa25385af599168fc286be05820fffffffffffffffffffffffffffffffffffffffffffffffc6750b4efd66bb87600581f03c56df75ceb7496567a56c67d60fb73544e6d801dda477bafe0a3eb97a9805820ffffffffffffffffffffffffffffffffffffffffffffff833558be9330c7ce5600581f03609e7bc9c2aa560879c00210c4e3234e0cdc8d039afd3c13b9f7ce678a905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f035a317e2f027501b0f234e386a8d46bf5e3c75abf5edfc51012396a1cd5c05820fffffffffffffffffffffffffffffffffffffffffffffff4f721d39a71d61f5c00581f032325475be62ad29cfa0703324557c9d32eb817c1b9f2938733b7bc372fe05820ffffffffffffffffffffffffffffffffffffffffffffffff7143ddc5fafa8e2100581f03cec1fcbbb6ed4e540af46c1219aa186826f37dc9053a348112ace58dcbb0491cc17d0e9ab593d576021939d903312b0a250890583e21d44647e93213f70aa1d6d8e6cdfe46434b7b0b54a3bf1e036c627ea2ae5026799f303698d9e0a2f4e6f0cb611bd19caaf058db60a0021b5d0396d60ceac901113ff5401b36401270527388b1fb2b12611c9da456bf1c1f512d03de44f43a165a9f881f04c384b60427f3b8f4a844fba9cd4a45872fb91ac1a48f0393abd57d6f8ab22a5e1496d4267015fb877cf11665232d2faea363046ca822cb037900ce6b778500a7b89693b6f0792e8fbdc4004b97a6e125fa8ac21f0c0e776b0219ffff0219ffff032cf6d1d0e0be4de4c5bc3d5363b0bfc22767acb4b2cdbf8aa92d8253db7a8b2203b804218d2d0ee9e8766f0fc5479d6238be3e91590ddeb0de9e34c36b2f790a65035906061bf09377cebe345200432edefa0a57af12ca068ad22b70eb1baa2423310388df494b3280f2576f8e5f21ef3c0bf98301afa9b72ceb982067772102587b4403d1a942ed0edf4ef62202a310bea8c81b79656ba97452bcfed039bd8de673103303ee127963ca90f2eb4e96ee1a381a32389b7043ea4e3a7dab8ab8fb774a5f3fb5036c3d7272a51054a46fc7f0dba598a43f36a61b1fc3af03ca1b31e4b01a6d7477038c3339de538c5c81ff816e52631a90edf2654884bda0ba2e11b2466caa9fc763034798d65115b0ba1b3455d493285aef0b67b9280be96e2c23b21474fc54a1dd590219ffff03b62a567c05da8c8fdf2df046c189d992c127986c13753904682a9ee1ad27869e03aeb6e7f9705fb7d415deb904609e3df1e478675dbf235e1f93671f32e2abcc1803cffc2223a4892312358ce4f101d70391261990757121c3a067705a90c364d66103376b588b64fe91e9c6313414283086b0b4c1da795e875b6d380733e530102bb203fe3823ec93f3fffb685db4d76e406285823487cb0375b1c24e83abb5a93ab10903d2d3ba8e6fe6c22afc26be74eb1bd0f503ccad74a1c4b5da044586cbabe9e13b03168299fc7e8ab7e22175f02147c72e73fe4915e81acf88709040449165e0585d036431b440c9ce9582fc748227f600ee6ffaca04bb7160e8ba04d0a92f8d4d696603655ce3a4ab51a70b0889c8d3e2c2f40390a542b65edf5f17a3b8a16cd0fd369a03220ef61f4d7e9b261e6df8ce0986a44595cd0c7d63be6072dee307b09ebfc34d035e2f7f137a772c6a040cf9037a62eeff24809a87799b4dd55953fd149737417b03e2405a9a812e85339e4b0ed533795b3ee0c9a69666cb137188a356962130a32203fc9ced27e614256975315e2c0ccc25de06eae27ecefd03e0222da99a456f211403dc9b92a8f542b04b6a150c55207ed8e8ee1b80283234cff1da89e3d1324c62e503f092545a749ca8257589009121fd3ccef573a24f8d1444ad72ff6870268a682503be717f6b6ac54e55cad7b8448dc14dafa41578476f5f651bb0f6a838f8f0c53a03c2722ab604bc97dfab6932c192c0344f2d07c07723ba72e4d9958118963d545a03ddec3bc31ac47bd546bed4c5437f74511e0e8549601712ebbab2b85057d88c1903019f67deffc0c0538fc3601eec629ad982f536acf4737d0239fc325ebe7931e7033b1acb72f12743c7645b3a1b58d71c4f56401a3318bc5ad166f2eccb6141a1c303ff16a3a06266bef02f0370b45eadf671cfd404c5bd538f82a11ab90a8c476110039d8ba40ece378e9f3b750baf190fdc9fd7adc7a7fb73f35ab54a11bbcc0a7495037bfda47d43b72ab143b65673d24942ccb781601fa2e16bd2963c1212ddb01e4d0306f25f5a07437e98a07b9df9fe4b2dcf539da73dc5be08d1f196b2a15311ebf600581f0250b94298c44375e8476cc3fcac4b6af174ad78c187098bfa53b2284f2bd95820fffffffffffffffffffffffffffffffffffffffffffffffa293402504d14d71103a87e324a467bc1a8919d40da25f87b0f997130525b7062971b88c9cde1d35ba7033b52b6b370890cbaf4b4a19e245d4037b43d471338ded55bb223441734f98bb503c0d300cae2d51db6841cbccd51e036233ec73bce9c4385b3928110732862418503a957d2944bbc51645d98d54f01ba51250abe274d0f7584a8482298f6e36f07ac00581f03cf786b54c98ac15996f7758e7655e1bc9f492658b75f1a23901f8f5f6c5049015900ab3a254c344300581f03e4b3ee856cfc53c8f6c87cc465dad4c56d57249d2e8bd0c749b0c791baa05820fffffffffffffffffffffffffffffffffffffffffffffffa9a842c1d515aff4500581f037894b844af297d954e34daed9e05c79565099530787bc59acefdc41990605820fffffffffffffffffffffffffffffffffffffffffffffce1a8f643d806b2d03800581f03f23b84bbdc398ddf75e32605588eb65df268c819b9b300b1c0f0892c6ae04880af58550779600000581f03fdf3855acd131a72085a71310853345c2e16fa376a128a58757ebd5a15805820fffffffffffffffffffffffffffffffffffffffffffffffe31e19c8d596165e00219a094030ea77ed15f6e68943ea91bf92bee59a45a21f9977953149c8f6b12af952d37c903e550767d68b49242b9d27f46228c720800841a296d7f52b3e8cfc1754ca0714c03c9a3bcef10ac9bebd948bd4379070c671cc6292f21332aada2fff1e760eeed7003eead1da1ee9edf0769933d39cf9d3e930f3213f589e4e69130ecf7ad1094c47e03293d80de29c9592dcbca7f0cc23845819fbb05d1563e66dd6d3f295bb8925dd90391c639e153e85ad9b718b85175355e64c15e678ccb97202ccaf6f12b843b667f0219ffff0340545a8ca7b7dd117ec6cc329e2a2ebb51f5ecae7576229dbab327362a00c19d03e1de56c7ebe73f5471f008ab271f492cdd64852d1d3826242bd1dc1a68f63da7038c2ce9e923154b219a85ba20b23db903f12c98540a26b4a813ee5362021c36f203614a53f71817c2cf9be396f7fca905806fc30cca3eef7fe1bf484cb6b75d1d610379f36a996ce754d91ff8c5326247d1668e4142e11f40b52d98b3562c9738b7d903a1ec25c4ff205e1087ce4b65787cdbf687be5d3824a8aafdfccd5cdc451b98960219ffff03eab8cc02e9f2bfd06aef61532882e96d65016f145371d41e3f386806afe360c70361658193f5a7995efa67a752cfb9649e3115be49587040239c7574669ba378a503e0a182d6d7a6e9a1191835fb8e55a54834f5ef3f7c844396c97c412ae7f2ff8d03e23b419d256cbe70cd431f0ca197955ca1101181ff4f53d3dcddbbed5a9331110219ffff0353d489e58e408d41562bc1bf5f564285018262ccd693f148f9b3cedf5f464cb9030a6d5f384eb9d2e0fc65d0837808803b9654c278cee81fe6bdf06bbd1470beb703bd24c8e9d1e3226b75edeea5417c1d4d3844a8277a711fb914bffa5859ffa2700353d7004cc9d21caecbbc64b38077545bca02006c6bb052623b40f4bf2d14240c03af8ff0a2cde926734d89360ddc524dbfd2f11afb5b99bbcd9eb02d524043298d03690a74e5fabf3d144e3431faf78b2e4814cc5cd99cfd00956aaaed34707d57f803e41333d0faf5033d6cf59955a4a520693a81b8e7b2aa5f7c57fb644ce1c35972038b1fd52c325305ad30ac81c351a80d61b8aac6fec8478ce8bdc685840fe5939803c6d3c0a801a93554bc9fc0cd95020e49159ecc286e223cb19da23fdccd8bcfac0319437545542e7853e281a2be31a181a0785f99de5422e777f8cb1457a8eb382a036057f5ad037a2851a34806500a10081dd8449728549ce5d4a49d74a0ebfd271e0394300bfd041e1da5a357e0a0a4bbb0947c17674ee704f82c247417dd0ba717d3036804b060b43884da71ca943c635320162bbdb9d8bed675aefaf5e67e5a4f3f62032a92ce5d469f95c266dffd897a06cec0086d690a746cbfa83d04e217a3057be503175360f16ec653425af6227ce1f16d9e2bc2b099e312cd06674f931bea241b330302b4bfa163e7f53035cbcc3aad8fde99edff3ff1c55d16210a0f880353863550039c496be4c3650a5a27b41252b422e49425ec3e493292bdc5dd75fe35fa83776e035cecb7cf35546ea04639b5fed2828eba7865e8e3418ee8501e890b1262175e0f0301180b97eced115345f2aedda2fee7cc20582f95b041501cca187ad806f4ce880368e94e81aa999dd90380d23459836fe13c34a5852f54e3876984bed8c32cbca303ecc6f08d91148fa55f8d4a2f592844466c61fa795f45eb7a1aa8f85c1d37e8f303900b33609b11a6cd92f695e51e8de55ce266b0a4f56a69d70a78f45fd6043a6c0301f843765934c891eaeb385d23288e55e46e6ffb6204365500d492f58187af40030a834bfba6eeb044abb6be1478689c47e917f34cbbd04303e4fbd01e9973deac032debce84118906c565a91cef53b07751dcc7852501d66bb36b9085f2c4fde108030974f6e8c0114b9ec83ad914343e79f2bfe23cd87a0c73cb2319b1c5ef9b95d303e68cc14d36a8872307b98718d226830c6fc9de9954fa775a80d870e86eaab24303da3de9e592608b3216d716c91fb63ac80125c6f297b2f0f62f0566f1041afd470397c2ebffbdc8faa7b4aed5420191d9467af9cca2d92435cebd11b666d03501af00581f030644ea9be3b5141fb12fc94b5a6ce419d206666652580e8a19166151d87048947bf652f3fe180000581f032276555e4728ced1a0c9ced93b21fb5fbaaefcdc7888bb99948e4b2fdee05820ffffffffffffffffffffffffffffffffffffffffffffffc9ca36523a215fffff02191200032b3b0dcad19e06e0a5ae25d6eca8792a9664ea9bac23df5b5bab518a9cd29b2403b5e9d9a4758c9dd56b7b70da5ab90b7bff5110d590a03449688d65c10b622fab030d7a196167f335286ad96888fa70bdc33acf2a64f69f759bbd5d21f4fff368b60378c8206be189d2a89c1ff8d33d67025bbc50ca6d394d08a728f481c4b06c0c0103fc6dd27a86912fb31ed293540ec7afb143ca73266a0639f7daefa7439ae6de5c0364307273ed182a2f2250577939ee009738ba1beaa900c6ee50adac694dd853650320c3179f5d5039bcf750b44b5ea95dbd42f6bcb63a2daf993e2428fbaa18d814034ac138cc062eb72a68dbcbf3134cf5ef332e28d86751da2118e901fe6763d12c03734c26e87a435e50a19e8120eb43328c932c5f858fab32277393d705f55cb6230219ffff03e4b42f062b7fdf3e89168941b43a47ef3f0958ca5bf654c1e1da87789ae7193803430a116cb5f189fd5c8406bbadac225c0e9fe14dc0bac12a27da3f013dfb039f03dbdc135cfffe260a7e8efc284eb72a908923b9f14380e094edea308925d239b103bee4f4e1059b622c2999d20a4b1df19bb4bba1dbc5e4970d91773585a09bb2ea034ab52a278d72757d01501713358fc55c88d6bb10913bbad74b34ebb12a01b5c1038ed9fc49e969a308b0af1de1e1d54ce1d1811d0de118836f72224131a30b480103520f9dba9079dc3d9c32dca1917647f3fd730d8bd12769fe962988a3f4b6bdd10219ffff0219ffff03c5ad32a70a532d59ee55079cd74b1727d0af0424768d2600d0cbc9e89cb8e97503b0a85397746de467e3dc3245aa6e0fe76a693951a1eaf3978699c818fad53d32037d7e4d0b49cd77969188b7a3dc4a8880e747fb63960f7296462ed8159e6155e3038df4ce244aea6c7a1b51a9d3f04aa83672439fef43cdb20a2c527ea921619fe10363d13427beca40846b81faf119b065ff68a59d738711a17418b9755afe0d15e5034695aab9c549d87ac4ea711b4da44faf4b00eb04b70001b16a69be8c9042f42203b5f2c8d0cb257a977d2a8ac0866cb9cd1236c16c39313d54a1a839e1121b56b203dca075bb3805841be733ae60dc21aced401f46fb83bdfc731cc47231bf7b4dc303e503d63dc61f2ae85743296733bddd837430b86c2c0ab4f63ff0677827616c67037570bf50965581332c85d0c366db94cd6efd130b0b22bf9c6ce30221bc93ce08032df9f2a2b4e764603d2cf52adf059730330b5e1e7af5e49d62f6600e4b13cbed0384b25e789334fdb7b497481765ae878e465d0e759c1e1050870e87beb7fbc92a03bbb3cb758764c419a0f26b2cc08e56a6d75800cde91aea2de39cf72cf7d43e2a03cee80b6d4c3c4e25170a28f3e8abd42c5ef60ee3f05bd7869fe476c2e6eabedf00581f025de3e8e1c98ade8d9984a4b8e70afc4f1472350a6a31c9c21f241274f0b9474807d150845f1003dfdd0219cc9990bb05d49550a4f697db2a2e856f6451989456c722a27bed47da0385d8b80006e5b6f66cb100ddccc5cbbc80e06c7f2a4ab30b490f37cff669ed9403309d3fb337b01582ebff5ae6f365cdcd7e6a16091d293fb682f4acb4b165e2e800581f024c2eadd3cd5fc5dc2dededddf53a6146efbbd0de1ce5024a6040dd8dfddb4bcecb6eba9b13cbc32eecb700581f03f87658902f976984b832fb0c29a4019f878e5d72665b1d1bcd7ffa00bc705820ffffffffffffffffffffffffffffffffffffffffffffff77da9bcae756c173ce00581f03aa767462c0576c609eb3d6e8b6e090c2b3c972774ca4403890a2257e60004909f5c235574ab9829200581f0302828e650c7385c2f7dd695a4c9206a321075dadb999782287c7f12654305820ffffffffffffffffffffffffffffffffffffffffffffffff3d5e13826d7368ba0219101103cd5af2c93da8b8d9267974d53adf380401e48f3c5c5635caef9f17fefb7da41c03e380d1ce5a32cbb70787e3bd4dea3179be397cd87dd4c7d07c347b2bdfd892f303a0bf5d49e3999759df4f6f9efdfe69327fcc2a443646f9041dc1b81846cb200803efa147bd6083d5ea030a94f4d10556b072e96aeafb90950b4e2c4c522d1fc8960219efff034dee1b44ab0bf564d2b6ee28a33ac220edf20d7925e6e876aa4239abcb1e6cc40339c69e71dc9b7586b89687f55e939ce48dc3557b25f7e41dcb9e7e185098e14f03f76b0c17b0752573232f2ad12e4c9e3381570eed7266bb50aa46973b280d57de03aaf5fbcd4ccc594d2a62262d8dcd7691da218f9a4dcb6634858d59e394a5e0ab03475135450689877663816720288c2bbe09329f0085ee230d12fcf9ef3ee8bd51035a5d3779e5db22d17e5b300d5861977838cc7f9b38e9f4ca13cf5db4f71347300339423564b896c17f63239f0cdec3d9a0bc94ef11a3ce9f8e54acc66bb034368203c3ad692b3db44322ab47b84e412ee2f4216a872331dcdab80380ecb690584a7e0313ea9f7790d859bf6452d7ba0eec44d4ddbbef828ecb84e4a149d865bc743c1e037fe52620513d6f59a0cf79881e7e15da8708c5fd082e07953f4afef0f496d4040219ffff03a56f6b48f786d7061003ac5f0fc700c1c8f91ff14cf39ae1210911a19b397308038bba153628e8eb20decd0cda3203d560a135a6e333810536aa3f14aa23eac975036bf4502cea4cd7994582b1fc37e181724b5cea0a7bcf4cfee8d727a50c2b495703417cb8df74f9b20471bafaccd057e625e437530e8790fb857aeb1fa86c58837b03fb52440797729d6292f85e2f16e1e769c91f35517c870ccbb364f924f1dbc8d40361d6a03cf4d461cadfbd6c0d09f295b6267066bce1200e52031575e888762a5a036aaa30df481f376e7a8e62496768e504c8817ce2361eb46638d57d4e9773b54f036ac524bf441cecde1d8c7edbbba04c7db3cc51498d4e615e4f710660b222619903ecd4dc612d9d0bbe4ade603df1ca08a2c5391717625653724e8112658fedd6e203c6038b95a611ebe43426d720a98180dbb7177962231d9f85c4ea28f0b224dcf303e195f7f858628abba70156660acbbba4a25363a0623c9cf49519011fe4507a4603abc112a9f4d553d8bcae71506f3463c8399be439089f3e79d76780289fd041120219ffff0349713503cd2913a2a311c45cc75169e0ca3e4f477ae287f75c837c737201091503a2dd3443599aff25bec9c3421bfd7cac323c9e7bec0664010a06be07694e3e7403c11e2bca89d215c6aa554c82c4f9c0f95ea13dc1359f466346e52ccd6f7f95120300e7c4b528a50d1c1df99f89fcff8db7a53c83005f3e1afd765b8b0085324344030d4291e54349dd7b8a3e903f1f9d7d238ea246fc3f20c98a14f0c1e241867adc03bfdccf5424ac613f53f7059adc70703566b4495d363a45b4be809518418300c8037745810331588b30daec6959668d5f2acc1cc975adde080fcc4608714ee07eb603dcc887fa1887bee504ac03fb3387b4ccf152115d1608faf6a427cafe138029b803b77685cfabba2f329acb70cdfc337de3bc62a9347a978e460297b8fb3ac74ece03faf7c1430764d0da44b8239c1f8eca48246503e22eae79928d25cd86de24ee120315b9758fd3de0a8f2f1dde9029049ac5863d8305f2486b3f7fa8b22b79d8035d03b710908de47978c98f450a2f4afed443f2b0f8b72896f0b6b76184642ab9f785038a8a9ba5913017f25508e98a83a769f564e7e6af3689ca6119768e0593af8711031794aa3d999b14594e0a1c5bdc49a6b3c88368a40fdd2bcdb57f7678fa19b0e403582af5060447eaf0c6ace97abd857ff20d6c93cd70dccc18dcbe5a51a25683c603c478e4d42e6612ca8aac4eb11586c1a6a0dab8a3573edf352907b51171e03159031e227d91c5fb2b4b48b0369a74b1b90164fbb14c86f61a1db775a7a6360079cd03c656b63a1e0fad1bab6f0c9362ad7c786865245da037e952437b36988d911b1503c255682feed0b4ad44c9f83b5b73ac1f02e4f2e8c21a088a17562b82903f7bdd0375836df8704bec40f3d3828a81b4a43724f09ac66048df74d5ec1349f58b9960032a2ee5bc02cd175d554a2c895d933d1cdb19df87e290bfc97321101b075a44fc036889cc3e23febc01603676ebaf9cdbab281477fc0db1019a81b21382586d8b1d037bc14a1dc40e3c119da25cd6001e8f58740f13c08265025931e68a25e0c5527003c3e1a28a796b631df1265cc969309343b6310fcb9b4fdd482465133b9520ad4d03f42f2d0c724b2ea78e6d59d0a303f14579edf1a3684fd580e9c75b6582d5de2e00581f023d4a1bab114a5ff107b6795b9a164310952ede6f0d806b3f9439c62c622f4902b0ecf001d5dcca7c00581f034b4f5f6a223be5e390cf3b66e3248a28f71c7b5509d708080c76fcc593c0490d8d726b7177a8023000581f03824bfffdcdadc2fe122dbe2a8d375e00605a720cea10e69f91d6818156305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038b027e6657f3e15dc3555c0dc88de633ed8143c78563a252b58a3f58569ed9390219a10003963edbd34b4ebfe74b82c0f717f5740cba89b3d2222d2d7143c649587b68a27603fb727b329b036e83396a20b8bf25471b8584ff3987b6323a2bc811babee9f4db0373da4e5544d39ee1855448b652e74f5d9715829a3039c816a451d376d1a550920347aff8bbd3dbb105accde2fd05f1c9871902f11cdeb31e53673d44dcb2e5b11103a69605cc3e53821961ea77b1d2b436cc6f32d3419c55bd239f97979068e991d903b9f6937eb73fdbd8b96f63c0a88bf40f8a30987ab7463c1a661a885e0e15938a03071b74f9cb978ed61c109ce0e64fb7ca1758c847f0aa8820141b85120ffa87ac03dd15f97d9938aa843d2f866bd14ba70571feb1d08e71b6a8df495d104a62a462030212142421cbe681899136f94c4ac47cc99693f7b6aaa49fb03f2fa0a05df22903c306e549cbf3efe0780cf3e152357fbbc90c64760bdce943e7618b5ab7e911e303e6b099085a93aa09181bbd8d9f07baf1e035f9943b18ebddf861e62a28f814f603e9ea4c3b7f576f16e56779f7bb4f202a1ec48432d55e0afb78353859a2721ecf034087bba3d467f2247e76dc23fa61459104d6388ae74da411396f1fea5d875a120337315c97556968daa2c468013aefdd5d166f873fec6327161397f0d7bf971caf0219ffff03d9b29df3333ff039b4ac8a49d1421a7c2db60029a8eb62adc3bcabf44f012f980219ffff03762312e586dfb428969fe5e90eb294388a943ea1f9b0579d9cdf336a2794337d03d8684448fdc2099e809435315efeafb1b4c842c3d4a382b1cd859349c3f2a82c03b0efc6a55caf844d547aa0e51a6718880e8b927249de9d8bda50b3b0f44533e4037887457ce7c876adf574dbdf4c07d1b9d42e87cefcf3bef1ca0c678dd38d52210219ffff032b807fdebcff8b9a7266d512e70ef15daf86a01c1d5951bdc990b1d09a67099403cc08e8f534f978735b6e99bddb50e0eb0461f81c83d489fe7d73ccd7e6055d450329743dcf5adc1c60f6fb0438607dd65e9ef8ee10e307ed627c34e6e951147774038f72cdc6bc540f399e416935442cdc763932942e33096a2b135bc530b07461b103e92474de34cda49fa50f0e1620fb8c3f2bbe287dfb81a83c5ea7f3e078f5a6ff03078ee6092b417fed611c79c932200988a1bdbe4ee86193188150acda0c60af5d032afc701b4d2e0aa19b2f7d0515b75b99e85aa9c10b4699404ff9920b5c8eb03003bd7415686dc3d25ee88ce31c27d323073e894a07a04486adee99c4250522ab0403ae798b998e857b039357836ae4f0d78304b18195ed2ad3d7a6260c0094f97a3203df06eeab42e1db1d11d7913e303bc58afa4df3328b87b31866f469557dfec4c8037027dbf5c6dfbd316be71b0f719b4702476857c0cb4fd4c8aa4b1c7da5b9a48901410b0325c65e630c84b6d2e5dd93c461565cb76f6ec3bb67c2e7871c91fa4816c93839032e999fe61e8d003b21630d1bed30625ce87d6cf27a21f6533a4d68a47a2fa2b203028e0a2b8f00e08f1c4bae48b9e8a15606b172696d006eaf058b3c76b468675203959e42b984f9b7b689bc3b8a42642dcd6dacf655685dfc81df475d181e23227003f82a3522fe8cb444d93fb849e1adcc17ff4e64b962446ba6890ed0420b8e6aa0037925563f63bac5bfdb19fb6a9d5205f4fbcec73e77aaed3915db70d825f5145603cee5b86a33fd9e89b0b8a6f0baa43cf13be104f14bbeac40e73942999bd1d8db03bfdf2302d671ef2da753c6502ade2d9285d9c98fb484e150ab7d262d9be3807600581f032d6052dd7b77340526d6ce4f74509c5fec552b3606642c355c0cbdb4a2405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f030115aec4b1024062bc0bfa75d65f3a7b31b8b45332f0e30d1253dcb000d05820ffffffffffffffffffffffffffffffffffffffffffffffe2b9fe9d0ae90fffff00581f03aa08cac9b6b570799b22d4dc40812fd03986a6f9a38c4b29a5234c0569304a2e2432e8ebe469ae646b0219480c03c9b340d3b2ef366829f862aa1fd6f885301ac5cd14a8e080316a7600368e7df40335b5c472dff405a649216045211a4090be512ea55900140db89f0b3afe883d59037fe0888c266cb34ac8cb60647143726893940843fe4101788676e1aecca628e90375b23b8b19beb94392d90dad8d250c2a9c01d447d7595d4eab346df71fbd5c51033c0699b31ebc6734392d310874c2f9b7276f54491158d18450101aa3254804d603b1e9f262b2179fd295405d9af2fbaabc37e4d6652e7312618f15dd1e745874f40219ffff031ba1f44f92da33c237213863cb8921882aae9c99ece1ebc74923eecf836aaf0803c85528b3c0e6fd218f5d167fcadcfa0010d651e788c2ff97775ed11409bb7fff03c6de28b9e0428c4979df71739fb2c3f6a0ea853dfd595b05432368a365c10147030b0835dec23fbfdf8de92132993ae918fef43797a1b7f73f43d4c49cbcb809320331b94a39df5043155b5c8c18aee2b6d50eefbb0cdbfb44c1a7fdc9431dafb7d80387624776d0850abf56b630642a90032c23d2d8902533a4a97bd6dcc428907b4403110f6b6f1e737dbd17625cad59d8bb5bee45fc8c1f444fb4c97e59d91e8fa4230219ffff031e672ba26faa5a815e768ee94d415490c8aa9d7c1d2cc308ed98228a1b08aa9a031e159133b623203f89f1da8623415be3dea80035d4ee0cdd57397257261b970903e19d35030f711dd34d567340b04e2da6c0582952b42fe49cdc41f0633b0dc583035b907078588811018bd834f385a0ba6d3e42915a8a951808a812774fe4ce4cec03b0e5d55c64c09b6196df51240e4fa0cfe505ad0501be1a7b4cba24f2109be7f303c28d8b5d3f26b8602a93b3216b428f476939d8613070549a3e9cdda5d76615a1030cf1838718daf94647b15e2d6c8e18e2c93cc5743d039160b3b3b871f4e3ac6b032f99e1862d441ebb3f23e5c6818fc7e6630574a3c6a7bec74aff9b5a3298255003e3b7f7e8b2c84df2167c1df672576c1cdc76d013f0b4a6d2c633ae3b4bb3bf26032c09de5fd3208c4b193730f7ef075b481a92e58775c49e79baeee9620871a5660346bfe90e25e6d0da285453c95933584770e56a5e728b19b698769f9092304b2f03a5ebbdb4edd1b4cb865bbcf55cc705c23ed8f5595a48cd41f5bf2a7bf8d3811203ebd7779e25eb37b16829f95cd9832ebb4d343cbad2fd3ed1309fb4bd30e3f36603ccc03095a806be19a001b237302c94f9c4642c3b6a861f865562cbec6d1a4e6903415dbc0e10a9068d23a56cc72b494df24c5c85aed04dce9db600e646e8cb3d790219ffff032ec85b417e9a5723e8de4724f9f92146a1749a65a34661323f2fdc43da53d648032848dbca58abd1b9d738964d03238eead41787a096c2491f7220aee41d9e78160375635c7c6d080883f0ae2c43b3246ac4e06b7c6042ab29f2117b9195165077fa0345474fe34ec13a78730b8d3c97dde1a4b9d8c1d64d6569bbdee9b67c1f4899d103735eb67d86b1cf2f0b160550b97b19ea542a53014c3975b5fb75ce8f6a296f70032680a7de47e9fd0cc833d2931088c4a2eae1bf7e4f47ccbdcd18628df69852d6038b8f13e3d1404ad83bf80031528b6b9535c1808d02b29040bf0482e22699c8f30347f00d25472132de54aa96a7ed0451e64ab37bb52c601a4fad454c159b04acbe03e66ed90935a95bb514edfd7e24b750d0541b11b47db36edac10d1d0c7edb311d03b93c27cbd7d270a05122efe13b74670aa8a327fc7bf37856d586c666237b8fa303b816e87fec49ccf335b3d979cfed986c2f7366a706f33036328a0e44bed41ca703af6957febd746d9451459e5753c1e33fd7924046f8c80d98cd8a92456fe277af03fcc865c82f66373db144e3ff81ae1ab05b2e1c020210384ce08da34d782170700332d037984459f8a6a9999c88e3eac49dead086eb9328636c9c95bdafa107e9bf039cd9f9e7be499e0c09a90215f02e5d6ffed9a99f912f28974fbc6555dba22090039b88f122a7cc2e06d33411814672dbab7de0eec537529b615c8fa8b64a96070803e263a067f515d27e5bfbcf63fb867c3329366637d4a02164d00c53af7b64098803ae3ea697b9f576ca36604850544c1f64588aba5596864e8dc27726e9c00a5f31034db2051142443d5d3d29197880929586f053116f1dbfb64bba2379f3fe830f91031dd2403a13e9a5d32595f174aee5bb7af640b388d14ab37f63a46acbf3e0720903ffbd4c046a019ce99dd658bc704d03f0e4dddc7f2c9fffc20000ed887fade4560340a2a1dd7a0ecfe78527a6065bda6d29f0e2bb83d355837cfd2ec796827f7d9f03a2857dcdad91ca827161ade9cecf2705457a935e9003a909d799924cf1a6dea303b657c6706d378694bae3d085f2610f6c5f4bf7b4b4f79263fa57ed9ae20c0d1c03d3011e731e7fcfeb271baa6b2b1423e7372f016d791bd2bdd13a79a79fa24992030b470a47c285f75aa7fd376259c60c455516041889ac47445938932002bb0f4e03459eafc7938970879a6cff67f3b0120341846100d38ff87571661a63f548270703459575a82beff992d1e9abb87a3e60920b748efcfc065801b1e083becfecd73b03673578d8bc386b8198fd1962dd4e08a8db9365cc2d186eb7e1218fc1fba0cb06036a5ebf6d1729fe63e3d0375acc7450bff9f6bff5b4e4eb64d292fcddf6ebce4d03361440b8f20b1b7228931a7b5de0eaee4a67eb059f9729d309407046042794e3035b0259bd09c1c51880e000e9f102291ecdaa1c510c9e620f50148277942de08303730bafa9a4b83b63869868f707e655d97562c9dd60f1b31a1f8839c1310211b20398ad7bed403f3dc4140376681276e333a6afef3f47381906bb7a4b83bf9e32b3037b6bf11c834aea56b87d85b318f05745a3171f92c3518cc92d8e847fd8dbb94500581f039feb529cc873cfadb967af291d89748ee0f33fbb7ee99c787db7b4c0abd05820fffffffffffffffffffffffffffffffffffffffffffffffdfde2b85dc1b9308300581f03b24ff8c7c091243f42d7af3c04a0197489030177c8b8e8e534535dbf9f405820fffffffffffffffffffffffffffffffffffffffffffffffc747fc4500fd2c77f0219080403fdce6110055efd8e8864283962fd6806abc9bd155d2bd81927255827bd65042b039ed1d04f0e50d233fa52ac6e0011b6fb0e75fe422392db73b43618dd1cde0bfc037f67f5ec6cb98554577a4e8889845daa6176f7082cd3804acf907889b7d63a6403c478a212c5d53d28914ca140dc737fe9b47fed5879533a96f4b536bc53719f7f0314eaaa7b2eb2f981b2f739e766f895b78ecd66316ee15cd2c55bb9318bd38578031ec519365b7d491e7cae8147dc58dc315ae5b532adda836b2de7ccc4b1543cc6032ceb855d3fd81c19d9255bce5474a51b6241df04a3472ac9c71178477c25e5a90219ffff03e70be527f67dbae892e864eea6228064d377b2825e9b3e8b922232b7e41f31c50219ffff03a8eac42456437cd9f2148ccd915d5dba32878e6ab93c941cb7b18cf5768da78e038f8ef786151b58bda438fd15c3faa5e5a7fdf810b1ecf8eba8a81d1618e4a74a033550cccd2e98de10b9b613fdff640ecc2ea48322065fd15bf5500d890f85aef00219ffff0219ffff05581d02282f4eabd2115da60ae21eecbc00a6325fb3796fb4de2c22c666eb580701191ce00219020105581e034be4312862230dfb29b6e6ced2949354e46df44c2a9dd21019e0ad2b000c01461c617af0b20003305546bb955c19c781336e76169667c69128ab2f1926cc1022c6bb2baaf64d9505581e03970c09b6a69104c5595c2b9cd25cc4ae9efb00daa5eebfafb3da0cb5f0040103cb6b3496bba99698ecc5a4893ab164136bfacb2c11ed7fbab88b245b64dab25b05581e03ff2874dafb6303276dcc122cdd4749ffbfdeae2c163f5db74e0e025e200c014715a090dad034ee05581e030c221a3aa81a1ad7b06e285ca0ba57fcc0a4148f08daa5d0ea23725f600c044701acb3bdd9c13305581e0304d8b81b1ce00fabdf9ce70d86a8b994497cc40b6a77a146e40cc6e44004010219d3ae03a2efa93213cd035cb8fcd4518f5af1e2cfea1e0981d280ee57e7b356e0efc4390300f07eb3151d55d164afa08610303fefdba1d5d9d0db2e58dd1fad30a06e539c030ebc7699af955edd778d66cf3515016e72a1a68d527c4eb43a32d46e3112f49f03238d6875d84883bcca0e1aaa8d6f2d8726c2326b1ec068f4bb34f9174be60fba038a18fbf0745cf49b0a0e8f1377b9fae42dc8179ca10e26fdf432688009e28c510361fac97f57a6543a572adee9f948252d891e7acd5f21bfec88383c66f720f22303f05af262302cc1aa62781ced7ffbc21e59fe3196de10ff51ccf5ff24c890d14b03464702430d7474226f418378cae835875b1321aa17f3907e016aa113396c11ba032059f377cbc03913c5767de2dafd3a1a55c8ffa6c07b5b0946e86d2de9259e300308d4c7e5a03c192025a327df670ebcf0d6deb1c334b6d740c80afa6cb2ee81f8038765a1201bff47adaca7c90a9ae27e300c2670cf1fece72a12c11d58623fd87d03a562b84a4faff7fe193ff91953a417d9fa5c4881e38d91cfd98fcfcdfe511cfb0219ffff03ed1227ce72f122f433ff82578ba6c9aeb024eff66adbf228a6d4cdda67ef3f45035522b666a8c04b91ceb470df4f78eed28ce4843001fe437bfb8364c9844fc00603d808403ca57684be93c9d24591321e52a8012ae7ad16de9752dc01e82f43c13003dd3765411cb90426c115f09cd102633ac4b0ed5a0150c3a3d6df9eb52943634f03a81dbcfa331b4ffa9d99fee7fc350ad036c6e04cec5c898bfdbe8cc00f46c06a0371c606cad4d5dd53a8ace0b0d3333d96554d6b22d5b2f5e2504592fb5ecde0050336fb2e51b2f60fa57bd3f4f2df8e2ef0d9e27055b87178993eab5e7c23ab263b03829bfd5466eed39ad842a4a8e2ce5f3d7d07de6065063ea344a7b7bacc26a8cd032f28a2220dd374f5107684bf3df0419e1219bf3c02f67ece2ffb6cc6e76c76560219ffff03e049ab849ad6bb01af69c40c45e17c022e8bd2e4077e05209c427cfcb852a7d70301961487f368076d4bb650b270d548f0c85e94d9fa09c5e14c3917c5f7f99812038f816153d8980610f37ddd9f54c470d7e484243165126f57539db020fa37ea1203131e720d31d7860707cec83997e230293c74cb82a79468e035ce93fb2ca9c3a70328665727b3095c899866628fb7b16ad675dd95214a5cf3b71a56b6d85608a3db0219ffff034057976444528d2e047f8ac352d9de6576bbdeb836f3a265b9609683a541f0a603f5ad1648aa24d4aef78baf36156775a9ce4e230303d05e9746f9321efda47c09034f2fd8d38b38ea60f6438bb1b749ad9753fadcd8f6a215bfead9606331e8c18e03bb815a2c54d5016ad4c13822b1e324020dac5de87b9ab54fb35d855aa50447230373d60f72d84969042afe10b63b4b97aff342c2f5f9b9e64b96ef511187d674a4030b90f547de12758b9086e8a39af88ebd6384d744fac2301c228813f66d5f999003093b437a69934a627a21558ff54bfb0de8c28b778e89fceddf7b0d2d985c6d6003e61615aac740c34184d78b071c0d0cdb968305617f476fe6f52396b08219e8870334ee537c93c21d34bdcc6b53d916fff5a1ee338eb7252855143b75fae866a424031d311bb509b8d5e45b3c6f74b557f81f5bd968669dcf63ad7494efba9d2befde038737575490615e7e5f3b27941200de31f6a71bec043e9ee07b81fff64ba4a8b10350db0dfe4895d7a35c9b69380b111c553f93d2d0cfc3f142f24adcafe3cac91a03c0784c98a128ed1206f85daaf30f99fc5ca161db3cf47a843387dd3370db1b0903b16dae77b6ebc5ac44201779f69fe19ee24c084bbc8a431a7f393f30eba11ae405581e035e23cd77fc38cfdc933cfa3bce2d1b9753f81128ea30917e813cc5c5a00c02475fb3fbeb4f237f05581e036b53bb1ae541b1c24edbd899c79097f3862f6f32cf48499a663e30dfe0040205581e03891d82fc2e5ddf5e28bb9a59fca90b4d1087cfd7f0df95d4b98117a0e0040103c7cbd6d6300494be3e5def2d59d8b791b56bee251a615fbc31395e0e12b3315c03288bf00f27391c2566e35234bfea42dd8ded6832379bc25aa1d1a04c7ef8f87d05581e0305450cd43a3d0f31fabe6ae3d942bbe8bc50b099ebff6fb6baa54831b00c0347382f00064ddd3603c0a6eee6c435b75a2ab9365e8c1ca2812850a48dabe7aa68daa43587b11f30500605581e037e2e8c32a43921e38db0d2a8cd6268d79e0a92888e9e1d8e45d27dd08007011bffffffffffffffff05581e034b817c3e09f3678dda5425add1e141d21df740f36244ab0a460e76a1b00c014701154417c74b82038c3cb0f216f42c81b8baa3d46c3e9c5c5b243ae3bd0c6eb3edd5c1c9e894f73005581e03a1988d911e13c96ca8884e0fb45b268bf6472d85625a0d8009ae87e1500c084746ef15fd99729c0219d7aa03fb5c7a6c84fb74845a3b17f4da32f4fae331ecafda89a55775385c9739905a11038dcd077c5f05d1a0206cc3a4dc0dd0c68d6d2ea17272556390bf689631953fed035cde9527099fc03050c4c58b8eb8f85d7d5f51ddab28b958f17168004ffc3634033856b278d7faa20d14a1d3bd748dfea82bef5268eafd432abfaeedd47b2741a7039fc3b3e59dd211f45f433c6a687c7e492544ef5a144a9868ef59a80b71d623c10370b751bd1d2c14446576797841d1a8455b1960a6f06d489efa7b243d443d1db603a92af87071331601fc9932a0844ce1d13428bd99c8ed74d0e749cad4cf0e62b50374213eec4618b5b0111e198f09a71691ecc5e393df073d74dd28a85b9c99275203cafb3748fdbe3300ffe02fbb771523dbbe685d23c6cde0daec9c2f15321fc0d103dcc36040a50fdb9c3c3ee35b4f7f51561ce64554030642d992e9284589fc892903a261dfc73f9c0fa38ed8e59de35410de5c11d64558daf1dbafa17d1f08ffc7b003fd98a0224b27994921d473ca827d003d6f32e6f5db86b73574f38796e28b22a9030b4635e2347c8ceb2fb499e70880ba8536a1e14b51fe3784261e52adbc48a2ef0219ffff039d483d1be9b125a8d63b8f7d38cde558f8f1750f8e4a6c54c1fb1c876cd146aa0325fdb40082c8d0537dfdf58dc7cfec2621ec00be2d940929921e510b8722915a03d818fa9e325f4a775abee8ba73e73bd37e25d5ca3f6ba10440f58d1ce86d4ecd035fa74cf6cf7e603769e3a9feda4328bb4e6a7685d04c810b08e74dddf33b0aaf033e2a847e5272fa748ee6af6fd9c0de6de223497bd76497dc0e363989e771cb0c0389dfcbb18770666603fe09159a268db8ca66a5b3a4cee55ac7d95123aa6b0d0d032af65b01bbcd36ccfb6ca8f5f830d9c1acc9914607e3b2c68035217d3c8bce5203b0021639dfd2aea2d766f2b4a987c6e6b3db141d742727a6054d4c5dec1832620219ffff0372e2f6cc92f2efd0a6c61af3af6e61cf055a145c7d8b316a678a2af8d02e613803abd2e4caf8a994cccdc706dec41b4fdbfc377d581ec834df5bc9e646ae2476ff03b5e9802b5c98a6df7b26d5889cdda84e3878f6ef569e1a516647330a6759d1a703dabe95c326eaf16ed0903cffd667f9c7dabade684871e4f82d59917afdbca44b0349ca82a371a1350f841cd047c2f827177080bfadbaf2c495f2009577ede043f403a89b63438efb9874b66785b3ae1a245bfcfcb3daa9401ec8e5dddaf1f6c8a6ba03b511b075a94b183036dcb5fe90d20909d82af0427f39361785ff731f8066ef6a0309d25bcd95f06926a1b58f3a5df35bc9ac82f7f7b8576d094fb1cbabcda1af34038657c2b3015f123638e1e07a7dcd39ee69c65926888666fab5b7608d7697a99703a2f1b68c27fbed7327b56267ab80b2edf1a7ad922831bf1e25b663efa265d91d03db2b715b525499b63b7a7d98d64f3943ea4763670923fba1b4112354c0980a3f037028d0701762e1981f2bc0491cce1303ca1227c537261b1720aa6a6e96da058d0219ffff03828b59f660a79a3c9a7387ec15b51dd24fd0e80ebdbbce9796c34e94903f4b630350ee9bbbebdcdbe9bddb14303cfea391fc1fde6cb487258b9825f3a757f98bc60349f8cfcfb6593310765956acaf7b585219490d1b4f1d089c3ca8f1272ac2cc220312f86cf033dfa6e3209244fbd1ba738ff2e2c2fe763a8bef60657c5e306d2de403fffd1493cae883fb989a5b63ef40e4dabf4940195f56b382d478c6ff471020220332b2b6332b6cbceb8527f04a70b405c7922bbb3d43b7dde41f675739e50812f103a41c241bfb7d27db1c296cdac68a0226de708fe55a9b216d8c7d37a84ed2e9fd0325e293c5f43d32bcdd11d2a8e76ad583afd49be4ea6bd3b62328e5ed42e5bdf2030c7ebcfab647760e0fc760bad9cca67877f68d02ecc17f3cf9dcb78c0ab834a0037861e8d3ef64eae7a897819c91016c0b37a29dee234f10563474494481dada680399828b1bd083b50cd81b97b030f3301231bd8ddb8a9ecf6a67a48d5d35bcd38a034707b163bae4016d81db91b6101d3f879a7f2bc5dca27313245852575c73c6ef03f25d1cd6553f402b4d0b3f8af4df917fcfbeb05bdbaf4fb150ef641938e468f903b0dc11fe03b202712484633e607c9a4882fc5ec8a423c859d12f517c5e57b95403977a9ad05d4abcd189ee3181926e34e76799da93124236c07c3f5c5de2aeb56c033245b7f7e2ba8ceee9c06c0ef3abaa0bc8c4df28d8776c7a227931dfe2a8e10103d0781002149c7f5a06fecabfe3ee27486a47cf58ee37ea45a08d05ac11924e2c03e25900954fb53ca755d70b15b110f15a1794c9ce74e1e3495d16a61ba41407aa03cd4e70a02575874f291dc0c216053a86cfbf974e122d6c8b4b0735d4e24d98e205581e03a3b855d864c7f5036ee907001008e665ddeb0a81bceefc24f88cde57b00c024701d0acf29c0c4005581e03f949de0367bafdf44542e78a210eea587d86f48e62642a1ac6f451bc90084a014542ba12a337c0000003e14504c6fc03a7d8eee36a92a4bfa1ae0872bd60728f2d044ea937c7d8cdbd740368c332f85548112bc86491924770010f9f95edc7a191e0183c9d87e93bcaa10a05581d026d8071cd6a826ae4173013fffcfe864b41bcede6fff5fc284cf9226d0c0647521c5f2e02223a05581d02d5897f046e631d7e3f7bef34e28f2cc50ebd8d9b12af07447c31cc880c1a009974254a282a8f810198706f79d80219081005581e03fd5b8921e72b1f4ec685270efdaad8427a005e3bf5d4390465f7f43bb0040305581e03c259821a7e1c4f404b4800fcb87a47abe770628eef633c459efb1025e0040405581e034b920ea8266b9524382be87b67ba2004bc8a68288d041517f649a34c500c014671c671b5764805581e036eb658b41b208fbde4e6c457423728d19c95ecd6241f231a3424589ca0040105581e0322529ad42b234ef9bcfb39e0355c1212937f148b5593648c0caa4f76d00c0147018d9f5be7412f05581e03d5000010fefe5ee1174b13c64b520fa76bd8895bf14781aaf5bc5bba000c01471b3b2773938a0003088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e033bc2752016ac4ff4730c22d998292af9ff70ca52b5768a60668fbd2b5007011bffffffffffffffff0219ebef03df9e9a063f23fad932700c82a9c5c9ef7802a8ec1462ad01656bed4c31f519b303b45a94f53b1085562d0874feabd0ae31a8a45cf4bbab8c6f1d2c09bb51623bf8031366523fe04bba2ca5a1d9b1c1e8ea8d40c126e9e52823bf4c0e71987b4977e9030856f83f091d8e12c94e2dd1b90558dac9b88425014babffba18f9a57cf55b8003bd9ee87669193dc523c39e54a0c732c6d4cba636f5cfb26d16349129a17dae04035c740350c387fb70107477fc5f37e9097a60d388317f211c79822a1dc83c963503e39567238fc916096177028841555106dd52be35c024791b89aa74f1ce876bb103deb7d65a8bda6e782fe739959f77f155ba53ea0655174f0f881780d3c3f1d9bb030e3b287351dc857fe73f2eab41684beab4ce5e62c2ebbba6b07a9b00f0b28ff803a9f0e8d8e98777cf9798ed889cc827de6e92231fa08bfd63ec27f8dab5760eb80364e2503d204dcf789b8d99fa4617f6fb50e0d3489b6545022909aa58393fb74d03bf29b47b399066acffcfb90fc227ae2da985a789414620dc1d0fbe56c46c38680219ffff032da8119aba7f00caff5b1f0615848fef30f21441d94c5fa76376232e3736dd5f0371c05df1a5b95783f1ea1c50c04fa6ea2ca56c13fdb7fcfdd3f922414f76c2000342453736a6386194fa58af77b4f8bed27225bf37a6a67246a2a9cc90a63fd96a031d319e73ba41eeef6258a8b430df47109e0ed837a1862f793c8ed162d72cafc8035548b41203d90f8258a459df848d4121e75be70fc85368a14d2f41420c0a2d7b0219ffff03529b612ddcb2dd054e3301ea727acded779d116b4464bf86cd2dc807c5a810ee03c758d857d36332d47bc4a0d0beaf2e4793070062dccf585f9de5f6c9dbf87757036bcb88c2e783af6f7aa206d07fd4e6aadcb26f9445937bd9c276f1e041708382031dab331aa0408ba9a3d1c4ee465990dbea9f8c1c6203eedbe6ffb8a4ac99fad803b523bd0cc4f2bbed633e071b8b09e3e788db793a8ef2335cae9f748d3a3927f603455ba38e38e1dae3c098afb28cf9cab4944084ac6f4dd5fc3246e02ee85141520385f41767d1c9aca2350969b7979c0e945ce56a65dd40d0305c5020cbe6c166a00333a4e962e3fa0e9449ea6a15e409bccf08dab0f8ed076fa4248716419fb7d46e03ab70dce88e42da6daeda7b0881c96bbc0473da8a941ed42f2d5c1bafb348b784033e61db1ba67ff8484dbe069827fadd0d787185fd3016e13c7bc642bab54c57a70311af7d2edf31f73234caf32047d74d451c9a8aae932cbca8d02b1864c8f3047803f6a3a5643eadbe37212a3240ae2c09e8dc0e395acfe1fc620a722d7a059997350219ffff0349fcbd1e201e8196b9ce9dfcecf941c35b8759b3623554980cd4bb8a9122c25403ab23429d00ed6025cdb929ba95ba49048d0208eaee216c2b06dafba1c04e00ed037672c53a4859a6f18c450de6b9247b9773b3bec986133ede1385a5fd089d0c3203d694d195c8ca6a998ece212ef162a9d02ed33906b41a0633402d7e0d1fa3bf8e037cdda8f0332843bd7d7fd0c2e3c0ae3f0f12255fc3a7edbf2be0ff41878c5904039e50dc8be84befd8b60b5db6acc16afba4e72335fd956c800b4c558c2c33d04a038f4b8b2f2e06c6af444eab6046ab2a2bfcffa9768f52673bcb1d7a89058c0ca30349f42bbcbb74a5ea5b10fadd5a0d02e374ca6da186fb31ca380a7e3bc4f96186034293c35a02ea599098d0eca6dbceda2e6f5f1e7fef66f6949107ed811f89d38d036b59acfc85bfa56653b5d830a9ee140845552ad3595373141cda6047753151bb0386ef3a9d018277aedf854766d801ff393c304fd2636540a1dc3ba7bdbd86765303d46e7bc1934ab032245fc42092413f5900f3b37948976421fd891c670dcbf20f03a7ca27958d9185f996c6e110a902d3bd8984297e1cb45966479d6e0928fb15eb034fcc4613d8050826ed5795f57cb84e2fa177facc1dbadc1ba309b62afab1c95003a8c439a21c39544c74ffa9ef50e0d97fe976dc5d5b3ec4440eaec1305d331d31039025330ceb72a9e982c131fff19752f975f7a5050abd706da3c0fc15b3c19ab70375ba3779351c6eb197895022689f434288b36f06d8bb92613ea76a15f2fe75fe03bf286a97cfd5f870285ca4c50ba92208e948b910305e3c8bd04471dc80bbba8a0392c726809fcdc616cfea4deae96bcb98c2adb2c38429ecea5fe3103581c65ff403b9d9b1a1c4e06abbd697ee913e03bf3339f1c1640646a53cd9fe16c715d9c4c903a597ff3cfd0961752fde1f39583b11a496fe0d8fcf2f04a6847e58f61100096303dd844ff4edaae6ee37c41ac85009cf18bc5c655fd15f4fcc0b8156350477461a0320a5d0f1cddb75bf87eca5ec0c888881aa46ee98d0c82e05d5ccfdb3aec5e4d4033caf15bdb22edb7047d2d9ae808866191988180cc4b8553e10da333fc65d37e00393f889f9cbbeac1c8e2ccb78745583be63d1594c9485a1314152a33beded1acb03dc3459a2464cf6ee66a5697c10d52e9e95e7cb908f82b9c0555aa06d77875df203099af694da28b4644f7293d30c1ee0764ed69485f5784cfb989cf686c8ce98020355fb9ae1d069b505e3b4f9965be62370fb19ab0a2aea895dddbc1109d7d9695805581e03002beaf8e620950dc145658b557abbdf083af93a409bb9c2440a7eec200c024703dab3afe468f805581e03d95d6f2ad345a5a40a091ae9d27d19716ccd68f482212736f5bb143f500c02463411572951700389cec079d86255abe8b3697e6105ec8a84a062866db46a7a9a6504496492a406045920e8608060405234801561001057600080fd5b50600436106101f05760003560e01c8063782d6fe11161010f578063a9059cbb116100a2578063dd62ed3e11610071578063dd62ed3e1461061c578063e7a324dc1461064a578063f1127ed814610652578063f2fde38b146106a4576101f0565b8063a9059cbb1461057b578063b4b5ea57146105a7578063c3cda520146105cd578063ca441b3914610614576101f0565b806395d89b41116100de57806395d89b41146105135780639dc29fac1461051b578063a457c2d714610547578063a5c30ec014610573576101f0565b8063782d6fe1146104b157806379ba5097146104dd5780637ecebe00146104e55780638da5cb5b1461050b576101f0565b806340c10f19116101875780636fcfff45116101565780636fcfff451461043c57806370a082311461047b578063715018a6146104a15780637762df25146104a9576101f0565b806340c10f191461038257806352c043c1146103ae578063587cde1e146103d45780635c19a95c14610416576101f0565b806323b872dd116101c357806323b872dd146102d457806329d5dc421461030a578063313ce567146103385780633950935114610356576101f0565b806306fdde03146101f5578063095ea7b31461027257806318160ddd146102b257806320606b70146102cc575b600080fd5b6101fd6106ca565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023757818101518382015260200161021f565b50505050905090810190601f1680156102645780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61029e6004803603604081101561028857600080fd5b506001600160a01b038135169060200135610760565b604080519115158252519081900360200190f35b6102ba61077e565b60408051918252519081900360200190f35b6102ba610784565b61029e600480360360608110156102ea57600080fd5b506001600160a01b038135811691602081013590911690604001356107a8565b6103366004803603604081101561032057600080fd5b506001600160a01b0381351690602001356107f2565b005b61034061091c565b6040805160ff9092168252519081900360200190f35b61029e6004803603604081101561036c57600080fd5b506001600160a01b038135169060200135610925565b6103366004803603604081101561039857600080fd5b506001600160a01b038135169060200135610978565b610336600480360360208110156103c457600080fd5b50356001600160a01b0316610a08565b6103fa600480360360208110156103ea57600080fd5b50356001600160a01b0316610ab9565b604080516001600160a01b039092168252519081900360200190f35b6103366004803603602081101561042c57600080fd5b50356001600160a01b0316610ad7565b6104626004803603602081101561045257600080fd5b50356001600160a01b0316610ae4565b6040805163ffffffff9092168252519081900360200190f35b6102ba6004803603602081101561049157600080fd5b50356001600160a01b0316610afc565b610336610b17565b6103fa610bc4565b6102ba600480360360408110156104c757600080fd5b506001600160a01b038135169060200135610bd3565b610336610dd6565b6102ba600480360360208110156104fb57600080fd5b50356001600160a01b0316610e96565b6103fa610ea8565b6101fd610ebc565b6103366004803603604081101561053157600080fd5b506001600160a01b038135169060200135610f1d565b61029e6004803603604081101561055d57600080fd5b506001600160a01b038135169060200135610faa565b6103fa611012565b61029e6004803603604081101561059157600080fd5b506001600160a01b038135169060200135611021565b6102ba600480360360208110156105bd57600080fd5b50356001600160a01b031661105f565b610336600480360360c08110156105e357600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a001356110c3565b6102ba611378565b6102ba6004803603604081101561063257600080fd5b506001600160a01b038135811691602001351661137e565b6102ba6113a9565b6106846004803603604081101561066857600080fd5b5080356001600160a01b0316906020013563ffffffff166113cd565b6040805163ffffffff909316835260208301919091528051918290030190f35b610336600480360360208110156106ba57600080fd5b50356001600160a01b03166113fa565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107565780601f1061072b57610100808354040283529160200191610756565b820191906000526020600020905b81548152906001019060200180831161073957829003601f168201915b5050505050905090565b600061077461076d61159f565b84846115a3565b5060015b92915050565b60025490565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b60006107b584848461168f565b506001600160a01b038085166000908152600960205260408082205486841683529120546107e892918216911684611707565b5060019392505050565b6107fa61159f565b60055461010090046001600160a01b0390811691161461084f576040805162461bcd60e51b81526020600482018190526024820152600080516020611f8e833981519152604482015290519081900360640190fd5b8061085930610afc565b101561089d576040805162461bcd60e51b815260206004820152600e60248201526d6f7574206f662062616c616e636560901b604482015290519081900360640190fd5b6040805163a9059cbb60e01b81526001600160a01b0384166004820152602481018390529051309163a9059cbb9160448083019260209291908290030181600087803b1580156108ec57600080fd5b505af1158015610900573d6000803e3d6000fd5b505050506040513d602081101561091657600080fd5b50505050565b60055460ff1690565b600061077461093261159f565b84610973856001600061094361159f565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611503565b6115a3565b61098061159f565b60055461010090046001600160a01b039081169116146109d5576040805162461bcd60e51b81526020600482018190526024820152600080516020611f8e833981519152604482015290519081900360640190fd5b6109df8282611849565b6001600160a01b03808316600090815260096020526040812054610a04921683611707565b5050565b610a1061159f565b60055461010090046001600160a01b03908116911614610a65576040805162461bcd60e51b81526020600482018190526024820152600080516020611f8e833981519152604482015290519081900360640190fd5b600680546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001600160a01b039081166000908152600960205260409020541690565b610ae13382611939565b50565b600b6020526000908152604090205463ffffffff1681565b6001600160a01b031660009081526020819052604090205490565b610b1f61159f565b60055461010090046001600160a01b03908116911614610b74576040805162461bcd60e51b81526020600482018190526024820152600080516020611f8e833981519152604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6006546001600160a01b031690565b6000438210610c135760405162461bcd60e51b8152600401808060200182810382526021815260200180611e926021913960400191505060405180910390fd5b6001600160a01b0383166000908152600b602052604090205463ffffffff1680610c41576000915050610778565b6001600160a01b0384166000908152600a6020908152604080832063ffffffff600019860181168552925290912054168310610cb0576001600160a01b0384166000908152600a602090815260408083206000199490940163ffffffff16835292905220600101549050610778565b6001600160a01b0384166000908152600a6020908152604080832083805290915290205463ffffffff16831015610ceb576000915050610778565b600060001982015b8163ffffffff168163ffffffff161115610d9f576000600263ffffffff848403166001600160a01b0389166000908152600a6020908152604080832094909304860363ffffffff8181168452948252918390208351808501909452805490941680845260019094015490830152925090871415610d7a576020015194506107789350505050565b805163ffffffff16871115610d9157819350610d98565b6001820392505b5050610cf3565b506001600160a01b0385166000908152600a6020908152604080832063ffffffff9094168352929052206001015491505092915050565b6006546001600160a01b03163314610e1f5760405162461bcd60e51b81526004018080602001828103825260488152602001806120226048913960600191505060405180910390fd5b6006546005546040516001600160a01b0392831692610100909204909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36006805460058054610100600160a81b0319166101006001600160a01b038416021790556001600160a01b0319169055565b600c6020526000908152604090205481565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107565780601f1061072b57610100808354040283529160200191610756565b610f2561159f565b60055461010090046001600160a01b03908116911614610f7a576040805162461bcd60e51b81526020600482018190526024820152600080516020611f8e833981519152604482015290519081900360640190fd5b610f8482826119c8565b6001600160a01b03808316600090815260096020526040812054610a0492169083611707565b6000610774610fb761159f565b846109738560405180606001604052806025815260200161208e6025913960016000610fe161159f565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611ac4565b6008546001600160a01b031681565b600061102d8383611b5b565b5033600090815260096020526040808220546001600160a01b0386811684529190922054610774928216911684611707565b6001600160a01b0381166000908152600b602052604081205463ffffffff168061108a5760006110bc565b6001600160a01b0383166000908152600a6020908152604080832063ffffffff60001986011684529091529020600101545b9392505050565b60007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a8666110ee6106ca565b805190602001206110fd611b6f565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a0830182528051908401207fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60c08401526001600160a01b038b1660e084015261010083018a90526101208084018a9052825180850390910181526101408401835280519085012061190160f01b6101608501526101628401829052610182808501829052835180860390910181526101a285018085528151918701919091206000918290526101c2860180865281905260ff8b166101e287015261020286018a90526102228601899052935192965090949293909260019261024280840193601f198301929081900390910190855afa158015611230573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611298576040805162461bcd60e51b815260206004820181905260248201527f64656c656761746542795369673a20696e76616c6964207369676e6174757265604482015290519081900360640190fd5b6001600160a01b0381166000908152600c60205260409020805460018101909155891461130c576040805162461bcd60e51b815260206004820152601c60248201527f64656c656761746542795369673a20696e76616c6964206e6f6e636500000000604482015290519081900360640190fd5b87421115611361576040805162461bcd60e51b815260206004820181905260248201527f64656c656761746542795369673a207369676e61747572652065787069726564604482015290519081900360640190fd5b61136b818b611939565b505050505b505050505050565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b600a6020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b61140261159f565b60055461010090046001600160a01b03908116911614611457576040805162461bcd60e51b81526020600482018190526024820152600080516020611f8e833981519152604482015290519081900360640190fd5b6001600160a01b03811661149c5760405162461bcd60e51b8152600401808060200182810382526026815260200180611ef86026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000828201838110156110bc576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006110bc83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ac4565b3390565b6001600160a01b0383166115e85760405162461bcd60e51b815260040180806020018281038252602481526020018061206a6024913960400191505060405180910390fd5b6001600160a01b03821661162d5760405162461bcd60e51b8152600401808060200182810382526022815260200180611f1e6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600061169c848484611b73565b6107e8846116a861159f565b61097385604051806060016040528060288152602001611f66602891396001600160a01b038a166000908152600160205260408120906116e661159f565b6001600160a01b031681526020810191909152604001600020549190611ac4565b816001600160a01b0316836001600160a01b0316141580156117295750600081115b15611844576001600160a01b038316156117bb576001600160a01b0383166000908152600b602052604081205463ffffffff16908161176957600061179b565b6001600160a01b0385166000908152600a6020908152604080832063ffffffff60001987011684529091529020600101545b905060006117a9828561155d565b90506117b786848484611cce565b5050505b6001600160a01b03821615611844576001600160a01b0382166000908152600b602052604081205463ffffffff1690816117f6576000611828565b6001600160a01b0384166000908152600a6020908152604080832063ffffffff60001987011684529091529020600101545b905060006118368285611503565b905061137085848484611cce565b505050565b6001600160a01b0382166118a4576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6118b060008383611844565b6002546118bd9082611503565b6002556001600160a01b0382166000908152602081905260409020546118e39082611503565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038083166000908152600960205260408120549091169061196084610afc565b6001600160a01b0385811660008181526009602052604080822080546001600160a01b031916898616908117909155905194955093928616927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610916828483611707565b6001600160a01b038216611a0d5760405162461bcd60e51b8152600401808060200182810382526021815260200180611fdc6021913960400191505060405180910390fd5b611a1982600083611844565b611a5681604051806060016040528060228152602001611ed6602291396001600160a01b0385166000908152602081905260409020549190611ac4565b6001600160a01b038316600090815260208190526040902055600254611a7c908261155d565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008184841115611b535760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b18578181015183820152602001611b00565b50505050905090810190601f168015611b455780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000610774611b6861159f565b8484611b73565b4690565b6001600160a01b038316611bb85760405162461bcd60e51b8152600401808060200182810382526025815260200180611ffd6025913960400191505060405180910390fd5b6001600160a01b038216611bfd5760405162461bcd60e51b8152600401808060200182810382526023815260200180611eb36023913960400191505060405180910390fd5b611c08838383611844565b611c4581604051806060016040528060268152602001611f40602691396001600160a01b0386166000908152602081905260409020549190611ac4565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611c749082611503565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000611cf2436040518060600160405280602e8152602001611fae602e9139611e33565b905060008463ffffffff16118015611d3b57506001600160a01b0385166000908152600a6020908152604080832063ffffffff6000198901811685529252909120548282169116145b15611d78576001600160a01b0385166000908152600a6020908152604080832063ffffffff60001989011684529091529020600101829055611de9565b60408051808201825263ffffffff808416825260208083018681526001600160a01b038a166000818152600a84528681208b8616825284528681209551865490861663ffffffff199182161787559251600196870155908152600b9092529390208054928801909116919092161790555b604080518481526020810184905281516001600160a01b038816927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6000816401000000008410611e895760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b18578181015183820152602001611b00565b50919291505056fe6765745072696f72566f7465733a206e6f74207965742064657465726d696e656445524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373596f75206d757374206265206e6f6d696e6174656420617320706f74656e7469616c206f776e6572206265666f726520796f752063616e20616363657074206f776e65727368697045524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122080603e20615c2ec633a98a199e29a254be0fbefba57ac04a4a67ab0b00dde56164736f6c63430007060033031703aca4ba876c3c9acc80c7ece6f555626326d44a45588348f69af1e8c46f2e03bb5abf2d3e191e2cb664fa70549645522eb3f013fd65f6cde15ed5b9b8757a0c039ecb15db871cfb76a64d4646123c5f32ac628e66e20e20004384a3672fb624b6014107030228a7d508b7d09efb9d555ef1aa5fdf387c94e1f0482cde2b6e65bbd7fb510c03548fde33eeec821b0e45b5e9fd29c7253f3ad9490435bcb09e898226e9019717005820032bb3b81fa62ddeeb8049a2e1b5f2074c19b893c7afd8404aba01e4883ef4505820ffffffffffffffffffffffffffffffffffffffffffffa8759011264e15ae8e2b03ebbf13e2418154aaf934e4539873fa3b1694145a77f019383fb0ae5d82cc3fc10339293790508cc757c92fe1244b8b4aa7f3a0466c16572e3564af7c4a0cad5687037dbe4dc7193beb48670fed21de37adc967c5530f2949e931162a0ba0c39e803703a09f4ac8b57f0c1823d1cedf2d16b5bacc054063e9cdacd2d0075aa35e1e796103dccc65758c8d5fb6a93d940f8e8bb60eef7a839b554874af2713407f3a0fe17a005820035e07bde90ff787467b10d6f5c94a1dd86352790da1c454dd8684049bef5cb04a48c2354e9db37722230700581f021ebdd74f0a68cc9f74b39629e9b72c88e6555cbdfcb86ad5815d3bd5324f4c0bc5a81f99d87bc914714be200581f0227ff5e504a27bff8326c3468f803855cbf41b201c5fc91f0cf67a1dca8054a17e5c67304a9af8e14000218a003d41cacff6f7b09a85c44ec6fa28e2478f8d784759af480d6c1b78fa5898519d503152bad59df842407f7f290a824c6afec0a5c6e261071aeb2ff94354d4457d3400387505aa0dcdffafc7ec9a3e2670684f73a176d0c4329c7eff1627c3c9b177c28032c842af69773d3bef79db1dc1aff3a8e9af5b14c34a5a92a8964527732983fef0219fffd039ffc8c0e45ac15b45f909d913e4da5ca4a89a8945647c995d5a3ba0ff74935ea03693b9decde505267b7e3621bdcef2776c0ef0d36e56a1b1e1a39b36279fa4120038e87ec236c391a486b6fd46f3360bc46916a15f03d50e6351742c8cda3a0e39603f83f49f3dfc4574b188b151fdf5fdfde7621964497ceb1cb564cc112377a8234033505d6334628869b4f8b5f8e9448c7c057f574ea21ba5d356092a10a7d7211e303dc3e44452629ea22e067909b007886f4bb89f658516212b45402805c4253079303a8b266d5ce6544c19c1001d52064186bf59e88b329d851565155db456d06b7b303c9bb04933b87b4fef0b767d82f63aef20f9099626288195cc60b4ed1118602e703634c65130cb6646f108b399dee2a62589f13e9a41bae6eb6eb3e512c5323ce6c03a5fc7f2f7f43d3a5faf1c304a0e7206037defdb24d589009499ea160c859499303ba7e890c27e7a78f8a41f470296ce291b2328ca1b57570a83ac89d37b96db53e0363aeccb32cd65389b0621fecedeb38d8b997025e64e13cd1bbe6bed439932a8b038065e544eba74764bf95362087cbe4d0d564200db20375387b76994148d6005d0365881e7f0810870ecaf335ba4b9b2ae870649261d2726519dc5cd175ac18d24e0219ffff03ee4f0bfd25d876c3840ff03a4f9bf73bb84cbd147686fad31cef80620cd590470342d92e5eb45c58fbaf7301ac4161c56402b366707c05a61b6d52c0ff42ee0406032f249661b91006889f1468a882c1a81d30da6c7b49a6533d026ef90910e971cf037140c4a342e4261f5aa33323877dec58d993374e7ccb75c87514c8b5f86b78ec039548180bc1b86d79725e280f2b76e1e0ba80b4d4e44e6ba4e4a2428dd252327b038c0082d5b431462068f7f12f1d3edc9b429ea71adb7dc14404f4301cf74d162e03984469a61be2cdd47c91c4d8b3ac18391adc3981692ecc7246e7ece1b6dab178036ef74151571d92aa3764ca27060c4d06db421cca39ce8f44a92f7bc930ed8d4f0379f15e7802935d583ed231ea0ac6eb036fff8197441d0b10d8359e747cc770c8036423605693f3f7ed04025417070df64ae87cd1c7c9e5578ed54143ab7a28a50b03054e227d330697fbad9f8b401820448161e715dbea7aff26f96f6d0a2f8552450319af6134e1ea5211154b435433218c2276da923bfbd3bc2534cc7170d47c29ea03a071c8ad1d4b8b2fee4622779a6ea8ef0efe97bdbdfdb0e1cb1d70b7cfbf443b034c4a488897b9194c72a11ff4dac67634a7df11aa05209449a0d3a6e3e8742b980396091ec31f00f00e9bcc609263e801c5d46318526d15f50a60a74621e1283dcf037865700ab986de281da01d75fa091277c9e08b04e9eff34949df1bca4cbdaa2f03d7f95356a390ad34ddd4f4c0a17f9405b4f6dfdb886ae60ddf9c999099a8f3e4034422dd6ccea1367a63a3dbfebb2edc9313bf53d72c3ba295359807969ddac0e700582003149586914180701f87a99ffb86890d18eddfbe17000fd4893ddee96fb79a005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003013b8151a4080979ab9c91af6866609a802717c6bacb840d6897ccb72536504b0a779fd73f51317475c57c00581f02e6e30a958cc7d3f41da1e63a65e0b34ec0f3235dd297c71c7a01b213a5b84a0573e8796bd7df545f2400581f0225de0c89ad7dc75eef32cf727fee1ad5ecd40aec77c26d6e71fbd96391755820ffffffffffffffffffffffffffffffffffffffffffff7f490422e9818eb7d64e00581f02e067bf8bdfe463b5618053bc7a22bb0d06a8fbf33ba66ff5849e7a0d14d54b11232328f21e5c0eae100000581f02e19515249c55ce03dbb9fd10f8e4c656b77a10853d2c2893586b07933fe65820ffffffffffffffffffffffffffffffffffffffffffff74c72366aff050858fcd02198098005820034e375eba47613ccdaea25084e331d20ca0ac4e6eabf6371959a256a5ab98d05820fffffffffffffffffffffffffffffffffffffffffffee582e72cf126780de1e7031f1b75e42145f4b2b94fd38f63f62ca095c1710c0bfae257bbb5256eb3d031ae039112ffa6881fef1ed122fcaa242e1f789ea05b9ea31ad69f23cb7e06a781239903c588e8ff59df4366885db22e5f6c79abcec955c0ca252117a7b73209c123cb3b0312762c8f319da0e35e2abea1a7f484dd4f035031c7690eba9aec951dbdf457b80355f6f25329a6afe69e6529c86833f107aba463416c01401ae1f77746ca88b5f7035ee616672c35d7db40ac850495435f0d75132e29daf46b690bbc40f5fcbeb8e30340d0ea1ca08e5b827727c1069f1e061b4ddc78240f48eaa1b84537564b8d688c0219fb9f03d543ba79f6f09fe07d0cb3212e7e8b2150e8b52fd5fc341e5a6ae1e3e84fc9900219ffff03e88da779411a69c7862db19b5e62c0bfd7d2dbd9df323789c05bc53aac0d868f0319bd5e5e1e58de75c6b0ca9ad5adeef8436eb616f287a33d65d35f4818288b10038c74001145498a2f55e5a51742bd8355759d455e0394ca1ba0d62f8481cc35530358addb5f1deafc528f08f283afc8894a807cd336dec2314d02ad9dc92fd162910396d99dc7d09d06774e317e13a5cdec037cfb890dad1a1369b8cb0b010def1fd803f60a1f76bd53c06b82a25de9da15410d7f55549651b2ab41ff6cd34c62827a3c03fa08ec39eb0d00d68f764949095f6326e0af4091437baaade16794e62791806103a3cdd03cab89e6071cea48370cc6df2b7c7677bffea38cc4dfeca35177905a9c0301375a8f871d68ab0929b6f36d761d3f730b13830a4e4513089d8721949e43700058200340484631c4509f4e6065948bfc3e4db6a1b075aba62eeff7d144a6256730405820ffffffffffffffffffffffffffffffffffffffffffffd2d31c09c9529292206b03f74cfc31a3339d55d072730e5430564c7fb7aa10d187eab6636346e9d2c1c4c80386bab38756ab8bd15fc252749dfa49e04e65aaa336fe9fe9a2d50727fd98f57e03f77746f964af734986a486b01f15f00602a5e74ceb3a6c49a0dbc01b03f3b36a0304e589cf2501630585d60e729e3f73ed7b783118ceca489a967650527c0aee2a0369793dc2c095cfa2fa32c095bbcb9f78d54b6f1b6b26c1db23a2dd32900bf4be00582003cbca733f846f2b477a76d4ad3644b521816aa5ecc195c59a7822c20cd3d6604a03fbe6c98f7c5cbf1017038cddbbdb12db9daf4b5894c84f694b6c60f79190396517a801758f1d1ae05e1e00581f02727ef24f5d005f768c73ec321d5a3a9130dd82267a6438c0c8f12d3fb7605820fffffffffffffffffffffffffffffffffffffffffff6321be7576d6360cdffff00581f027c036c83f7fa7e3af8708a79eaf7d6e730fbb41bdc2ae13f630651a54fe94c05a77a33eb324565e29010e700581f0297e3206db609658fb336983a94fc257be294571abed581396edec3d538f24a54226dff4ebd313e000000581f022c73bc05b6771074b66311d3904fcf79f027b5d751021de865be934da5665820fffffffffffffffffffffffffffffffffffffffffffff0521ef514a087f3ffff0219d0090373d262403e1b8d2e03f25f8132ccd59b0824d009fd089a8532b0745c5824bc0403c5c273f1177fb97c68ba7122fb1ce54af01ab2abd97222bb82228f2152c912490336a3ea34f8a11c5fcfba00d3917f5e9a37f5f5189dc0e788c01f0c082506bec103e6f7567fc5f4ef2b927df2a2f9c8f0016d0dd199b20d7aabf91652a149a527ff036c8cc046b819d9a723b3d7d816a9c2cdc41b08d46001ec9d56f5e07f38a137220219fdf7035ef20272fc3010ad564f1a44b955aaa49c4b899e1801fbbccdfb12f206d8fc4a03fb7447c8a3e5240438a81174bdb89503f597d7fbf7b6f46dff934cb059568c8e03c08011ac108d6e44c55a1311e83ac442cca5cb26afb2d3a04f8050eab7f9a7630301b2e11f59568343640a96405807fb6344719fc61b3c5e852abb3eb0a712a2ae03b367bad1a2a03e65aa2f74db3270e518b4e8fa98030cef4fa49edc1e5fd26a1203fdc75d3b64f7d26b65b062a01a7ecd8a2fc673efac856dd9ce986433d8a2340903692fec6017b8821c594d30a4bc44368d86f125156557ad361c76de7885179533032d6e28cd95135dd1ec616ec991714c71bbf71c21590bef02dee32ebe372f40c103e20626afa7eec1bbaadcbd4cbcefebb3033efbbd1771567020fe0583b83615e60385417f49d8baae7fdde0ffb4a13303c6068be26015efb6a960c49a94202f410d03904eaca8fff820c0aa05f7db47474af5cd10b416539c1285ddf3fea9af2b1b4e0219ffff0307bb804589fbfa6a9f0dc2f2c143164dacad468f5a22667eb4f9d8f99c6dc9d500582003924647014d0374537e40e38d462773f88bc5d90405144556b35f96c059fb704a0368ed5591813c762dbb0304d9fcf89942ad83154b2f4f3c2d9359aa4f23f072dea3c7a10c51f2dd8f3b0201410003e0d9fc0524901cf356b9040b1adfdf37ec52c955cb6470dbd1dc2d72ad302d830335b39eda81b99222eac540ddac927ffca9e1efd1bfa482e8eb3ab8213ecb456803db50a09681212d277d56fdc63e823bb0c92881c496ef2ad17721e1d052c44cf00317963451d7b9584d657c9b9c42726b3cc6221b0ca92b1db9f4d52b03559bb82e03a208e07a6fc7f65c813301827e76e9e408df33f05a5f9ec050b6df2b6598e8840359744587333ad495a39fc5e9dd46d5fe43d634b1c410fb795dc05a714b0db5aa0343b2287a93a9e823a0bb4b092f178b24b09bfa30f6274670390cb8f872f00505036d54fb497e2b9234a483d190b11b9061fa55cf3778233443c62ca5b8fa1a937500581f02833f6ab46a9313501b589d10148bcdd9f41b9c5f7b89e25f3ea3c0f83a4f4a174b1ca8ab05a8c0000000581f021c3b3002eedccd2ad411953f095dafef1cc545384e781bc271321785af235820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192002034a1e5f9075e4b2b398845971cf9047ce0c20b7e3aba9c2f73ed319bce33b631f034cf1e082eb84c213d7a13fe1d1d05e649f61a56810f448721a4dade47445c7b503b2fc9e7cf9f8db0eacafb2dfa6b3b5882db8da88b6688bc37c1fb1ea7c8b494903d2f02ecdb18bc89cf43c274b0467bc41150333cdc3d8fcf91bfb1686844791ad039742470610450ed3027b32aaedcc0baf1230d127a50b9d6951ec1fedf7a44c6c0219ffff035108dd593266a19f7f431642f226596da175a730ea54fe22f937d41b3e69f54d03be31dc387a047d33e354afecf5e193a9ed1199b018f89af39678f2a395599a64037ea7cdd2a75535f726e39a5d6a5eeaa1e22d2c008e34ad30a1a81b020aecad9e03ececbc039d0d7cd7e77e1f90bdd635b84e2a4b850d185ce9349cbbbdc7e888fe03f8db9ed2c85cc67b8a690de3b099884ee2a44aaac77877b664d6666beb1303e303343820a6b14bd1dd2f529887bc1f411e775e3c71c24b82664cc90bab4bc4cca10317319eb476ec7e04fe6f6494ced6b24802fb973af849cf94f0881029b201a933034666689814c07297a4aed57a186e202bc56084e71f0e7161dc6deb3d23d108f6039385a2796c06f8a70e790c6001ac4f9ad31a3ed13ae76996269f8d59a34f8bd103fa1569c5b6c979553bd558a024872f0d2f05c9b4ebb414a90ec731069e4cac5703018a34252585c71267a6afb5b880363f991c679e778d5e4e9fbf427731c4bf66032cd3db100cfb333bc251d23018b6a2ad4f65e879c88c99373fc8a277b0f2c85b03672306038594176b551f87846be098616a9ccd9977721a5d38311073ed2f95830334e5df87da0e2b2f154d7a3ed4cb2c38a7ef596d89791bd4963283c57fc0819b038199b792882c9029a90bb3d7ddaf8d3da98fa4274eb568a13beebdfccf53eb2b0219ffff03aaf1780cbb468cc30d08f3eff33224b7d45e79716f9ca667a7bc1f5dc707989603ed9ba1a1131e2e89016f80de7e6f6f984e26910dda673bb837fa7232aa8a0c12030b6373370edeba948e390f2affc76b26fd7c6e25d522e8431ebf9d47da639b3903748c14776c39f6e89b15b8b0ec70a66603821b66a3fbd416c148b996f33c5ff50219ffff05581d02f892cab5524572d01dd160b4cff9ad00997d533567b71a6374e177910f0147162563c97c70001920e805581d024c899cc7ee6f0feb51b66ab122345fdcd5fec8cdf372a01fd72ebe0c0c034701989dda6cfdb00218a005581e035b3377d6452f585fc2b09bff924d13cd82d4862708699df0e965779bb00c1835470598a1aa6d4e0003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0314009c88e61d3df18fdcae114ae1b4787bde8030267b0ff37fe73d30d007011bffffffffffffffff05581e030b271c27db029e194725f5bc17e598175e42bbe6cee498a52a5cad13800c0146b044b2d3e58005581e034c4c61c473c03a44bb0d5476b74184708dba8f72ccc90c3bec9590fae00c07470f1b0a42c74d4c0329113a20bc0b573f39727a7fb742a104b63f4ad00d87f6a42569b759afa92e8405581e03e7a2edbe775d7c4e3a29a4decffbccb99ec2fd8471f03c745ec9d5dd000c0146f2c81a340b8405581e03af1ec49ab4cdf58d02e235ef64b13b707f0e17c8f3568d6a87aba67c700c0b48018bb1220f7960d902195cef03eefa6a27b419226bce5253698e4c2bdaec46fa96aa150a560d6b33a50b5e83410219ffff0305d4e45969cf42f048d7fba8ffde8fbb61272c3b0d7b1c1d305745b7c5a49f3003c7c075447db9c778f76007a24e7d13fa28dd28393da592751ea5e77c901bc38703d57d76842a3022ef0a3f911c4a7019ec09ae2f8be2f474b05bee172305bc141a03a784bd750f0174acaccbc93e441fcc8cfe46e6f85744279cedcb562522807dec036ea97ab74abdadac07a52416e02b2b49c7288aa1f1c6ef959960be597e42ff3d03af76ed9665e8d43763003827d5eacd45de42fec62e277011d86df794bce3d0740363aa7609b2a32ce442e2694aa5331cbbb71ac5e153510c060a5b23214ccd0b5d03cfcd5f96a6d68df54341cacd6af59ff4c6ea44024c4319674b96157dd0fdb789031a821995d4179fdfbc1ca769ff2455697bd705a4b4d9aace0eaafa137c617e82034ebe5389837b47e803a46d40adaae8e0601bc1dfdaa0143dfce0d68b0441bfe303eda6105cf5472b43c8b5d0051f39642281accb56a48c9cd2e2de51d72f1b281303eee0bacb3b7e3012e591fe52e173dae4afa633d063659736e5157475de6a8e8603d376c22ecc3c83d7ddc2bde364752b442ea02bfffe1d38e42ee6637c9c2cb91c0371e1e3faecfd9d41698ee789c40104e11bfb3b5a8fcea0fefd2bbc9fc91836e6032af38a5e833c0824be7b7836e0023ecc698885fbf5d4cc4677eb604221998e350219ffff033e8d4fc38d1ba40c2c7d006d2f515ce65745d6cad2f0bd65c866185ae9a32b340395f50505f34b2cac61c5f493e0f4196adf94477a0187a398941abf878ea8e4b10219ffff033493cb3d5dab5f9f7f68cd99aa737e4beee3811c183db14c32d1f6847fdc6a1503554fbf5af7d0ce631cdeeb39e1b502814f8dc3ee14819d1a3ccea60cc53882bb03b5137ec5dbf1f925103f3c4bde8efb6bab29c4c8f0b952f794951d06a1d3889e034a629e688a484504a17f142cd615b9a293ede233a65c2d1ac2a6f5b5dabe422703f241320c09940bc9b0d2b0d2a9e9f2739e828ef30c583f07174e15ff5d469421038888de5426e7d9730645d677e3df69c957f92515a1e6522a65232730d25b773f03009d266a49ad6bf282d507d4a4b3249fd610374476d8a1c4f2d662b2e8e81c6d0363e1a419f3b12235d5d57f3bfe3c64fc43ceaf9166656213e7ae203525ab5607038da99a92a89557c7ca767a5ad0726c9d1426792e5980ddafcd56fdc0b4f640ad036cab28174ad21331d1eba66acfd6b8da131323aef10ae948e6ef1c679ab1040603585fd877735189eb5dcecba057438e2002c56cd243b900500f3cb411d1629f9503c51139ca8456b29bc6eadff7a5573cf4dd5dfd77390fae9624944a5970e87e7a03d4fbaaf3d1ff75df610501fc4762bb3019fb469b40cf1febf18817bb5c9e5cd003d2af6a4eed928d9603b08d51091986cdfe5fa5d8f37454aa8baa74b1286220eb03c2cd500da2c1d83def1c9dc2fa366257df242ebce939d263465381f0ee1def87036eabd6faa1780e94a9e8e9d5a961ac9dbd50daad0bfbcc4662ca132fc4cd414603c81e58d1dcc5865da9123c8cc04cc1cb7b259f80dfb859361f3b1bcabdd7255d0307123bc51c8ac2e168c31d0e0d0c1ccab3d9f6f744e8507e117ffa514d88dc7603ab664c064c54e74509ce77e2be72471458b78c053de33b673b7e82b384c1a206033939f4ad7896dcdf1747e3a35c3e7090a3de53ce4dde13e4dd27013637ae0a6a034b7cca57074da3a10c54b4de11685109371d8c99daa51e53c6a07e09c7d876f4035592ab351817aef9c2121ae85540c7819524b61a881d03c3146f69354179eeb903b705a52a16c8794123984261a94fbe2008bc1f97576b5d111f0199e002a53fad03db0d5825b569b81c18679530e91ca89ead4df25bc63df020881d330ba2e2588d03c0776e3096eff8af0177bfa6b22a2c4c5cc3910f36f27007d9fcb13b465d04b001410204591a86608060405234801561001057600080fd5b506004361061010b5760003560e01c8063715018a6116100a2578063a457c2d711610071578063a457c2d7146102a8578063a9059cbb146102d8578063b1d17c9814610308578063dd62ed3e14610324578063f2fde38b146103545761010b565b8063715018a61461024657806379cc6790146102505780638da5cb5b1461026c57806395d89b411461028a5761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca57806342966c68146101fa57806370a08231146102165761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610370565b604051610125919061107e565b60405180910390f35b61014860048036038101906101439190611139565b610402565b6040516101559190611194565b60405180910390f35b610166610425565b60405161017391906111be565b60405180910390f35b610196600480360381019061019191906111d9565b61042f565b6040516101a39190611194565b60405180910390f35b6101b461045e565b6040516101c19190611248565b60405180910390f35b6101e460048036038101906101df9190611139565b610467565b6040516101f19190611194565b60405180910390f35b610214600480360381019061020f9190611263565b61049e565b005b610230600480360381019061022b9190611290565b6104b2565b60405161023d91906111be565b60405180910390f35b61024e6104fa565b005b61026a60048036038101906102659190611139565b61050e565b005b61027461052e565b60405161028191906112cc565b60405180910390f35b610292610558565b60405161029f919061107e565b60405180910390f35b6102c260048036038101906102bd9190611139565b6105ea565b6040516102cf9190611194565b60405180910390f35b6102f260048036038101906102ed9190611139565b610661565b6040516102ff9190611194565b60405180910390f35b610322600480360381019061031d9190611290565b610684565b005b61033e600480360381019061033991906112e7565b6106f6565b60405161034b91906111be565b60405180910390f35b61036e60048036038101906103699190611290565b61077d565b005b60606003805461037f90611356565b80601f01602080910402602001604051908101604052809291908181526020018280546103ab90611356565b80156103f85780601f106103cd576101008083540402835291602001916103f8565b820191906000526020600020905b8154815290600101906020018083116103db57829003601f168201915b5050505050905090565b60008061040d610800565b905061041a818585610808565b600191505092915050565b6000600254905090565b60008061043a610800565b90506104478582856109d1565b610452858585610a5d565b60019150509392505050565b60006012905090565b600080610472610800565b905061049381858561048485896106f6565b61048e91906113b6565b610808565b600191505092915050565b6104af6104a9610800565b82610cd3565b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610502610ea0565b61050c6000610f1e565b565b6105208261051a610800565b836109d1565b61052a8282610cd3565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461056790611356565b80601f016020809104026020016040519081016040528092919081815260200182805461059390611356565b80156105e05780601f106105b5576101008083540402835291602001916105e0565b820191906000526020600020905b8154815290600101906020018083116105c357829003601f168201915b5050505050905090565b6000806105f5610800565b9050600061060382866106f6565b905083811015610648576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063f9061145c565b60405180910390fd5b6106558286868403610808565b60019250505092915050565b60008061066c610800565b9050610679818585610a5d565b600191505092915050565b61068c610ea0565b6000610697336104b2565b90506bdef376571332906a8800000081146106e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106de906114c8565b60405180910390fd5b6106f2338383610a5d565b5050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610785610ea0565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107eb9061155a565b60405180910390fd5b6107fd81610f1e565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086e906115ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dd9061167e565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516109c491906111be565b60405180910390a3505050565b60006109dd84846106f6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610a575781811015610a49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a40906116ea565b60405180910390fd5b610a568484848403610808565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610acc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac39061177c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b329061180e565b60405180910390fd5b610b46838383610fe4565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc3906118a0565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cba91906111be565b60405180910390a3610ccd848484610fe9565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3990611932565b60405180910390fd5b610d4e82600083610fe4565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcb906119c4565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610e8791906111be565b60405180910390a3610e9b83600084610fe9565b505050565b610ea8610800565b73ffffffffffffffffffffffffffffffffffffffff16610ec661052e565b73ffffffffffffffffffffffffffffffffffffffff1614610f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f1390611a30565b60405180910390fd5b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561102857808201518184015260208101905061100d565b60008484015250505050565b6000601f19601f8301169050919050565b600061105082610fee565b61105a8185610ff9565b935061106a81856020860161100a565b61107381611034565b840191505092915050565b600060208201905081810360008301526110988184611045565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110d0826110a5565b9050919050565b6110e0816110c5565b81146110eb57600080fd5b50565b6000813590506110fd816110d7565b92915050565b6000819050919050565b61111681611103565b811461112157600080fd5b50565b6000813590506111338161110d565b92915050565b600080604083850312156111505761114f6110a0565b5b600061115e858286016110ee565b925050602061116f85828601611124565b9150509250929050565b60008115159050919050565b61118e81611179565b82525050565b60006020820190506111a96000830184611185565b92915050565b6111b881611103565b82525050565b60006020820190506111d360008301846111af565b92915050565b6000806000606084860312156111f2576111f16110a0565b5b6000611200868287016110ee565b9350506020611211868287016110ee565b925050604061122286828701611124565b9150509250925092565b600060ff82169050919050565b6112428161122c565b82525050565b600060208201905061125d6000830184611239565b92915050565b600060208284031215611279576112786110a0565b5b600061128784828501611124565b91505092915050565b6000602082840312156112a6576112a56110a0565b5b60006112b4848285016110ee565b91505092915050565b6112c6816110c5565b82525050565b60006020820190506112e160008301846112bd565b92915050565b600080604083850312156112fe576112fd6110a0565b5b600061130c858286016110ee565b925050602061131d858286016110ee565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061136e57607f821691505b60208210810361138157611380611327565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006113c182611103565b91506113cc83611103565b92508282019050808211156113e4576113e3611387565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000611446602583610ff9565b9150611451826113ea565b604082019050919050565b6000602082019050818103600083015261147581611439565b9050919050565b7f546f6b656e7320616c7265616479206469737472696275746564000000000000600082015250565b60006114b2601a83610ff9565b91506114bd8261147c565b602082019050919050565b600060208201905081810360008301526114e1816114a5565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611544602683610ff9565b915061154f826114e8565b604082019050919050565b6000602082019050818103600083015261157381611537565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006115d6602483610ff9565b91506115e18261157a565b604082019050919050565b60006020820190508181036000830152611605816115c9565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611668602283610ff9565b91506116738261160c565b604082019050919050565b600060208201905081810360008301526116978161165b565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b60006116d4601d83610ff9565b91506116df8261169e565b602082019050919050565b60006020820190508181036000830152611703816116c7565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000611766602583610ff9565b91506117718261170a565b604082019050919050565b6000602082019050818103600083015261179581611759565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006117f8602383610ff9565b91506118038261179c565b604082019050919050565b60006020820190508181036000830152611827816117eb565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b600061188a602683610ff9565b91506118958261182e565b604082019050919050565b600060208201905081810360008301526118b98161187d565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b600061191c602183610ff9565b9150611927826118c0565b604082019050919050565b6000602082019050818103600083015261194b8161190f565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006119ae602283610ff9565b91506119b982611952565b604082019050919050565b600060208201905081810360008301526119dd816119a1565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611a1a602083610ff9565b9150611a25826119e4565b602082019050919050565b60006020820190508181036000830152611a4981611a0d565b905091905056fea2646970667358221220056f08f9dde2f0a4525c56adcb75358f5caebfe595fd11c0fa473c18e10ed4a964736f6c6343000812003303998f82be3d0aa66459c298d0055c85170c268af4a020e20283fdd3033aaa882b03fcc9d284ebeccbb177d0b8a76b07768504d35690ccb706697a295a7bcef424a5039d9302048caba763de83d330e0b05f2a894d0d502023998bc280125b912380c20319da98a11f61bde4e6c4e165f7b594c7040b0386e80c4c68285481c8e655bc52030ae2a3c527439e553410c8781d4d46ef529c9e3b8bc1626d08c8838b05e279d403f7e5fff7d0ad309cfd0264f1cec6b826245f9deedc6cef30db8ed0e3b2f8290503c3dc103059eb2754ea7a871b84ef2aa9b895edc88a52188c4ee22fa95f9747d803ba48748941425111ef967212d50acbb43beb1651b22e9f5d096c331d7d59b2e203e07152485e66b4ef4c60c04eb785f329d4c008cda8e01524b35b97970cb05fcc030110b0324b0ffa179ac0b614747e679c8b665309cc0f153b0b9d6aeb3ebaba22038a9167e2f4dbe0ee30ba933b9c3ab14370969d76f1796786522793f1cf1423220339944f225df933113db89b56ca4cbd6eadb79e021a14b9c67cf2da253203720d03a3c75082427dfb9bf39d8dc1a4e34496d2a93ac70dcede1cd76ee73548f817c603173600053874408a98bbdb0f708ecec5ec9572b17dac684196e49381708c51fa03905225f3ef79597d17d1ac14b3967083fa2768a8cc9895290377b032ccc066a1035aa8387867cfd3fd47880534fb116488cab7b75cf871ae40e8e84979ca0de92e032fb69f5067b3ec62edfcd179c8ee59348fbe4f57c02449a40b016d9c5612dd6303b1cbfebd6c92093bfa75cfefd3127cc4c2839e5bd328ae88a1eeb76a67f668f00395973aaf62ab32604ca7ea90ff4852c359b7780ad287d74d99b20316ac6d0ae2031e2a96892486e039df6f067ca46fac03195138999d08550060a3dd1fc72955a8039669a6a194c359c0e0178cd3dd1d4550b0ad85c46ed72af338bfcf0914e83b0c0141070364f70bbf5e9b9f081a8980e65531eeff4cf2b3abe55595392364de12f4eb7ac6033687b7d2bed146b1b2e3ca891cf9b5dabf1ac2f7e012ddbe9b994d9e24ac06b800581f02f614e8ee694375a3b7d9440efd61fa2c8ab3f3063f6737b34fb329fb29364a4a99a3393448638566e000581f025dd8472ed5bc7d5402ded503e88c872e2261dfb5db8c9c35a69e2aa31a7f4a089f12fa59c4bf822e4900581f022337c484d3b636e91efa1cc7084dcb9882512aba47ed8e30718616860d24430267c400581f025ca7b16d5d01e86f5cfede2d4bdf85aca477035ad66cdb2d784fd6c732835820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0290c45d1f97a3e9247c6b045bb6cd0bc72c122da324fe27f0241ae0d799214b0112a2c1c787ad2817c1e700581f02e0d13e462363a462021cfe51c51b11428faf8aa5f1a0788a0eaa235c60e84b0c68945e74ec3e63a47835021994be03054aaa8dad9dd878410f8ed03629293260ed36e7f37d8bf41f124c4305918eb80369000fbc2b85782c382d4a39182f59a86ee662457c3c3ceddd15046f166fb5ac034dbd20b0357859caf38f085112b0029420bcce54bd38c6806fb2282ec841b734032bbbe3d7c09736287e79afe69a127c0fdf7044c8e13b5590830d6ba50ab3fb1e03343f401449da1a99135a69189b469545c1f7acbe22a2a8c90827d198839bdf96035ef537a0ba685972c84ce3f081d0354e61a2703a13641bc22a6a431a832b8694033d100f30f001d3a0496324c108d8ece6e7245264acc2a0a8609008b210b91f4303d1b8509ed2b7b35e0eedc87c7f2bee8464a1062e7d59c7e0902e54a9bf0df6a303786161a31a503725ece0366ff10244f5dc4c40bed4384422ff7111c72a35966703c1752f1108ca4face57746e27329237d188d6a0b6ef3b63f8df23de4485aa6b60342b6277e7ac835adc465adf505bc6c918ca4103e0e4a13b4e91506d0ebc657d50219ffff039175e74fead76237c97af50d884abd08ef61731e36932fa08861fb01f7736d2803c9734e59cfa3d34d761db35ef933c11b997bae42187e193ea30a2d042239f48503a6b6a77504fa4cbc3237dc1432bc765c804fc92d1c952f2276f66afd17213d87038453edcf8e073120e4c4ee8ed43c3abfc0a1e6fd5263a4ae37f4ebb364eb8109031d8da1be889942631344721a58c9b63cd7ee7609acd5d5479e29fccafcbf78fc03f1763eb956cebe1cc242fa50bcda78034c69a407a220b379ab685891b368c1070385b785827f7b5e1d82c443a462499a2cbe87df606d9bca8bdcec26885c9907ce03f613e8fad1600a77951d329d114194530581f2a37ab3d25d779d5d1ae33058b803e594b87739c5a7e3749861144357927119dab459c79cafc24184084fe62c366603b5d436285baa8cbe73c441aaa4f43b58a20f5d631f9004b4d930a45d599cfe170369818cf06c5ece649f1940eccc8fc486a80de4684e68a621181166726d3354470219ffff0343d9a502c1976322008808bdde1780a098099e2c8977d600f376dd558f3a94c903eb4532ecad0f07bd97885bc51ddaa62b9c0b3b8f6c95c470ba6898bcd31bfa3f039500310d33a5781133d3cd2f39009fc1f801a3e930c11dbfb84e07eed9e8939703ed8b8e5d77f993870e539ff1f052f5f54e5807c2aae6429ca0109ebe70c5f84a032a577038396ada9a38012fb05092be9685ce8663a43570b7e22808304f8084fb033a64a5f27a321fdf8b37c1023faa0ddbfe61eff200b3936f97b60e873c2ae3820356497c3b442ba41a576abe250cd2ed154135f7a0ce7bad100de308e46af65ec803522051e073bd5bc9bcfbec6dd2a1c68f6a98943b8fa6340dee7d2f0f13ba0d6503d50ae40b1eacc9e246129073d130a282902e086928bd5d80681751386f3764c10314b0f661c3e73e45e599571841b77d63092130bf93da9a7c7cf832ff67d6d2b903c2f8cf15f4b822c65e00362de77752448b7dc6a329a4938a085d6a72e9d0ae75032da865707eca9efe827daba069eff0b4b76f97a822b94d19a9a472d952fddcd5035a15329fbb8b0245a65081323c332a5e00a5c01227f404069d1255637e24f32b03e2c1b80528491081f184c2023da64de1e64c744641b27ff4ffdf3bbee130153b03672a609bb23dd8e4d8dec9c0cc18feaf009fbe31393202dcfda150dfc11f556503ccea0b36fc088751cffecea24c9a5b8d92e09fc6e81e78328a1f7aa7110844c1031c071cc45efb5ed9039133c5757a99fc97c063d3b1a650a4736ea6801e177b04038d419e759376032dcb3bba1666ffd5344054f37a9d6d714e70637fcde2cdc40003a1edbe6049695e91cbe6bab2c9a331ddfa99d2f6d8dfdf9ef140357d9465488203d440cb290b1e1bd58c57ba5d656a4a5ebee04e0502c71627e5d8ffddb77115a303e15bd8bb07b4181370e0466f041caa8935e8c7ab8d90e91a2f648c6628b44dfc039dd6fd3dade2d5dbc908eaabdb7b032ab24ffd97b037735772c3aa24a5d5e80e03cc5907f8205105d97ca2fcef9c665aa7cde111545b211e64c7a6f6ba02eca374031e15234172f7527e4783d9cd8368d770588a5bcbd9ad3b6b5ac16c7ccc950e3403b101aa37ce7393226113db4a14e9cabd7eeb7c5d43c9b530c9295ec2340ccdad00581f03f4935a3db0fcfe3c115ba0d5b81d0d4f75d310f3639faff30979ec7ccea04baf333fce41e9d10d7091ef00581f03fcf0c37d02b7bab2da6d2d28fae16e5f63aa9b06532362e2334ead0a3f105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190810033e2a098d810e3c638e7c8fe542b444eff78725f6b9fc6c79adfcd025da1fc53803b593f1256238a5ac12e7a25133d4c6ff129256b945cbdc40694aced1f279dec100581f025349511dde36fbd5a028412ef356d68a5d9315bb8a5220a82bfbbb0096be4afa86dcd66993f3ff8c3203d2ca0f020856a89163166bfdaa514bad59124bf926573a7d2f80c5bad96fe45900581f025c61d37d56fab5a9ea060a18b53211da677141041acdc23e8a97f322303a457384b78ff500581f02d90f7baf82d4f640952b30427fc913c87284194bb62583130789077cd52f492c2966abda3038000000581f02a47056f97ca5f1feb9b14fe8a137dd9696efcab00026598fe82419a8caa55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02e7e44ea5342d1b647e07ec085f9b00781157d5d04fd24f1bc10271fa34ff44aab8f607039735e0591f1651ad9ada9b87768016638bad1c6357a0f1d0fd2575f9ea0c12ca0364a37edecd8e0c707ca2c3ed53ba809ff26e6fcc0cddfd14e7393685012a4f8900581f02a39265d925194dfa3a4c301eb831bc13ca7e79e0efacffb37aeb6ed89e204a014b960eafa45d2313fb00581f02360c5af5567d36905984d112461db04103d16aba3a892ddfca269f84e1e7481be4f459c144c4b702193ffe03d8cf3660a00746650268b4262c8886267c7e8e8902acda57e78636ed4b9f970b0317de74aff1a6eec23e49c95ad9f994a63d520a59618a6107e4ba4c384f6529f503083332f5768c275f18c7249ce6ee8e8093d59fa10d877a2627a102475a1f560b0219ffff03d794fd0e18a825b12c899daefae5550fc0f1430b8307e75c6f3a4b95354faea20326614d3e739274c8e2a013a1a8223ae376ae247a5082a88c8206658b7fe8bd160219ffff034726b8299fdff6b74dbdef42f262e0fdaf61e9a32867cc992e8f13bebbd89b2b035a34345471d1d78bccdd2b778266f91fa82e405168cbad6214b57df157cdfd5d0219ffff05581e03e1e2f762cdd56ab1368db450ed5a5f672aa42dc39849741e234eec13800701191a8605581e03454a63a1673493a12578a2933c450a680190d0222ef72696756442b0e00c054724d32cad3c100005581e0314bd524c3c2a843a807c4cb98ee9e8d2f9bc2b057fa5ee1964723afbc0040305581e033449ddae5e6281bb4b8af651d4c353570ab4f44c998c14ac09a982a770040103db284d6457ffff1d957dc17f404e5e7f5a760dc87fa9d5ae05243b3bc007ed4005581e035277f6638a43454136dfacbb9781ba3be5cbbc0789da0569424e9c7610040103e7041b9645f11ab2741a3b165756e9a4d2997aed55d622339c705079d87aac770397384b06499febb059a78eb2521ce20e6ad4e8dd4dc4334956496584cc72b22305581e0376411d4bcf6daf129d7e4e225d7675d3bfa03b83d1ce6e701bc034b0a00c064701274a18edbf4005581e037b50918d136c0784d3ee9d7efe433096c12c2261ca73e030aaa18b5d400c0847eb99c34117a64a021957bd038f6955ed956eddd19a9c310a92671d38ebf611880c9a03fa4a3707f4df8ba1f603b645a608ad3e8ac8482cafd33d74ff518491c3e1a7956d3d3419590f6fff6ac803dd654af049c27e2f43b291722538bf5101f55d4ec83353a15162452d65c57e290393c0d5b5137b110e5d79302e02e973c782ef3d55099d67bc0987b2213a70861c0368c6daf12a098a858336f1d029ad3a43fc466c28ebb6ae61524d8b14f269d8c5039ec67c6499173b8be2554f0d21e3608b9912a2f35fece4ad5c716f3a665e717e0219ffff03245bf176b7e522e9b43d49035298cd0685b413ccc025b43e7ef41a113e8129b803b48eff70cdadbcc4b7f9aa4388f94ab72acc9a9168f94371d647a282797afac9036590dddf60457c23abec052de3dc840ce77971fca1dac215e610ca92e37fa76f035920f1165b4a1e659d92a6737754fe0d30ed5f0e3ab296859fab82a2bb4f560f03a604024377e70764ea849589aaf5105761fcc35a9fe860ff00d9c453cc5dc80503dee430e1e519aac6ad8702df6edd2bb2b4e9aca2011e1799b4f125b539f551b70327035d9fdc15272465a69d482ea1a49bc06789e8a2d2ef46a50ac24956a60399033910a6631f185853889f5942d5856c0ed530be8b2c670577c24146e854e6b37d0398c1de615b467409a3ef593b47de9ef00dae3c74a1e67e85e0c48eb99414db4803f07073fc566f0cd6fac6c49d79dab2db0ca5b2f98fe5c48eb42a545d04ae46b00219ffff03acae2b20e64866e77eb00001a2c300733363f14fbe08be0a9bed01e26d8c48bb03778fadc1f1dc60d88889d78c8ff03060a94e73091f6037635f73d41d5f7df959036120891a4627ed69d8349114f7987252fb27681f677f1aa5acbff06575b9309f0316e343e64ab8d8720e4d054a6f39c9b2fdafee0fad8d9c1593688f8ac774f5cc030de4b60cffde725d714e77e56d1e6fa54c683ba95514b893f460875d555b517b0219ffff0322d5edbd98a6e9a463608ec803b53a3ac6cbf5e6802bfbb878d101f9cc118081035c7b99f672ae81dfdf91d06997d4e93a0a5d1506b018490e6ad70bc24feeb64e0219ffff038417917512cbf68585043b6be41bb84bdac80704078fdaf5760fa7340cb945630330b427c299edbe24801b2cc69025c430b72203264b16f9cab1e91775687ca9da03442b85939e7ad583751cf7bcaf72c45df10a28ca451b51019164211a5a8f38440304081156b416efeec05cdb4ba0131021caa608c6e23760531e1c60d5c3348c0103277eff98854bf7f95b6cb676cf6e691220228ab1652e9a3d6081c703fa9e6265038e691b222248274664b36400c91782adcaed73fdae366eb1dbb1cea22d59fa460362e03c21d44178459d9ab71e7988d4c4553b9c78495a0a08f908574fdb8afa8d038682c28e7c372d13f73273c23dafda482101d5675af78168c5cafaeed06e42ec034737d18586e8a9a9d31708c1e9dc85569420e335e80ebfc82687ed24eecab64b037e4ccb00d5d90539af9c72f75d451c035dba0ebaa249535ab72b4b758103570603f41f193ec057374f394dab6dacb72c62f52c4742d229b053bfcdeec1a276d463034512a71d3a695d83c85705ad1520ba167926c60fc02c5712c1803e14e083a19b039f3fa53a13628b0b3438aa403d14b85e92867ffee829f32deb89f611c9f6605803e15d3a80e98dce84d372d85d6d9e54d78f571ebf7e12f4b94faba8ace348942f03e24d20b8add8628eaef3f1f47e70f184101795f3b6183cc56218f5ed92c4db290300afa00ae4ee540bad6282dabb71b698450394fccebd24f26946e1e74c74290b03420212798fd04cfed21f439f3cac695d94fd7ed01f4854bdb18e4f92eaaab04f0379b178a7e3e57b6ec64849862b110b899a15ff3a17cb62aaab56c70d7b7755380302f76bcb73a840a09e3adc57dc550e4e474930a0c9cd0691af010ac684f3364a03f19f63869798b82776282751539658876c1284bc7d031e0fabdadd30e889d5ed03a69709543c803b7358b2e015fe1cf7dab3134ed61d72d6983cdbabf8bb4a5bfc03bf3f43df7221601f4f8a20d5ce3598bceff7c77b532fe56befcacca27b8eea140370083700d9819e7110a3dd47ea97f7e28fdacea4cf64c6f7abe9f9e242f1312f05581e035a922a4e07cf16d17b9c1971dd5be44ae92e8f4addc08fe73632c888b00c014702fbf9bd9c800005581d021584752689f4694887daa188825247ec61a7d4b3ec66d8f05169dcc00c01460b8d8e5483f604592261608060405234801561001057600080fd5b50600436106101a95760003560e01c8063753868e3116100f9578063b88d4fde11610097578063df6552b911610071578063df6552b914610377578063e985e9c51461037f578063f1abd7de146103bb578063f2fde38b146103ce57600080fd5b8063b88d4fde1461033e578063c46b0d8414610351578063c87b56dd1461036457600080fd5b8063937f2608116100d3578063937f2608146102fd57806395d89b4114610310578063a22cb46514610318578063ad6c99621461032b57600080fd5b8063753868e3146102c45780638462151c146102cc5780638da5cb5b146102ec57600080fd5b80632f745c59116101665780634f6ccce7116101405780634f6ccce7146102835780636352211e1461029657806370a08231146102a9578063715018a6146102bc57600080fd5b80632f745c5914610250578063324cb3cb1461026357806342842e0e1461027057600080fd5b806301ffc9a7146101ae57806306fdde03146101d6578063081812fc146101eb578063095ea7b31461021657806318160ddd1461022b57806323b872dd1461023d575b600080fd5b6101c16101bc366004611d88565b6103e1565b60405190151581526020015b60405180910390f35b6101de6103f2565b6040516101cd9190611f77565b6101fe6101f9366004611e82565b610484565b6040516001600160a01b0390911681526020016101cd565b610229610224366004611d5e565b61051e565b005b6008545b6040519081526020016101cd565b61022961024b366004611c6a565b610634565b61022f61025e366004611d5e565b610665565b6010546101c19060ff1681565b61022961027e366004611c6a565b6106fb565b61022f610291366004611e82565b610716565b6101fe6102a4366004611e82565b6107a9565b61022f6102b7366004611c1c565b610820565b6102296108a7565b6102296108dd565b6102df6102da366004611c1c565b610916565b6040516101cd9190611f33565b600b546001600160a01b03166101fe565b61022f61030b366004611c1c565b6109d5565b6101de610b2a565b610229610326366004611d22565b610b39565b610229610339366004611c1c565b610b48565b61022961034c366004611ca6565b610b94565b61022961035f366004611dc2565b610bcc565b6101de610372366004611e82565b610c76565b6101de610c81565b6101c161038d366004611c37565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6102296103c9366004611c1c565b610d0f565b6102296103dc366004611c1c565b610d5b565b60006103ec82610dff565b92915050565b60606000805461040190612143565b80601f016020809104026020016040519081016040528092919081815260200182805461042d90612143565b801561047a5780601f1061044f5761010080835404028352916020019161047a565b820191906000526020600020905b81548152906001019060200180831161045d57829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166105025760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b6000610529826107a9565b9050806001600160a01b0316836001600160a01b031614156105975760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016104f9565b336001600160a01b03821614806105b357506105b3813361038d565b6106255760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016104f9565b61062f8383610e24565b505050565b61063e3382610e92565b61065a5760405162461bcd60e51b81526004016104f990612011565b61062f838383610f85565b600061067083610820565b82106106d25760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016104f9565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b61062f83838360405180602001604052806000815250610b94565b600061072160085490565b82106107845760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016104f9565b60088281548110610797576107976121e9565b90600052602060002001549050919050565b6000818152600260205260408120546001600160a01b0316806103ec5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016104f9565b60006001600160a01b03821661088b5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016104f9565b506001600160a01b031660009081526003602052604090205490565b600b546001600160a01b031633146108d15760405162461bcd60e51b81526004016104f990611fdc565b6108db6000611130565b565b600b546001600160a01b031633146109075760405162461bcd60e51b81526004016104f990611fdc565b6010805460ff19166001179055565b6060600061092383610820565b9050806109445760408051600080825260208201909252905b509392505050565b60008167ffffffffffffffff81111561095f5761095f6121ff565b604051908082528060200260200182016040528015610988578160200160208202803683370190505b50905060005b8281101561093c576109a08582610665565b8282815181106109b2576109b26121e9565b6020908102919091010152806109c781612178565b91505061098e565b50919050565b600e546000906001600160a01b03163314610a235760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104f9565b600d546001600160a01b03166000816314ff5ea3610a40600c5490565b6040518263ffffffff1660e01b8152600401610a5e91815260200190565b60006040518083038186803b158015610a7657600080fd5b505afa158015610a8a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ab29190810190611e0b565b90506000610abf600c5490565b9050610ad385610ace600c5490565b611182565b7f2ce54db2c0bc64dc675f5fae90636ec2f0c88dbd8e7c6a19c9caca9193741b15610afd600c5490565b83604051610b0c929190612062565b60405180910390a1610b22600c80546001019055565b949350505050565b60606001805461040190612143565b610b4433838361119c565b5050565b600b546001600160a01b03163314610b725760405162461bcd60e51b81526004016104f990611fdc565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b610b9e3383610e92565b610bba5760405162461bcd60e51b81526004016104f990612011565b610bc68484848461126b565b50505050565b600b546001600160a01b03163314610bf65760405162461bcd60e51b81526004016104f990611fdc565b60105460ff1615610c635760405162461bcd60e51b815260206004820152603160248201527f436f6e747261637420686173206265656e206c6f636b656420616e64205552496044820152700818d85b89dd0818994818da185b99d959607a1b60648201526084016104f9565b8051610b4490600f906020840190611b29565b60606103ec8261129e565b600f8054610c8e90612143565b80601f0160208091040260200160405190810160405280929190818152602001828054610cba90612143565b8015610d075780601f10610cdc57610100808354040283529160200191610d07565b820191906000526020600020905b815481529060010190602001808311610cea57829003601f168201915b505050505081565b600b546001600160a01b03163314610d395760405162461bcd60e51b81526004016104f990611fdc565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b600b546001600160a01b03163314610d855760405162461bcd60e51b81526004016104f990611fdc565b6001600160a01b038116610dea5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104f9565b610df381611130565b50565b80546001019055565b60006001600160e01b0319821663780e9d6360e01b14806103ec57506103ec82611410565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610e59826107a9565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316610f0b5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016104f9565b6000610f16836107a9565b9050806001600160a01b0316846001600160a01b03161480610f515750836001600160a01b0316610f4684610484565b6001600160a01b0316145b80610b2257506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff16610b22565b826001600160a01b0316610f98826107a9565b6001600160a01b0316146110005760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b60648201526084016104f9565b6001600160a01b0382166110625760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104f9565b61106d838383611460565b611078600082610e24565b6001600160a01b03831660009081526003602052604081208054600192906110a1908490612100565b90915550506001600160a01b03821660009081526003602052604081208054600192906110cf9084906120d4565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610b4482826040518060200160405280600081525061146b565b816001600160a01b0316836001600160a01b031614156111fe5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104f9565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611276848484610f85565b6112828484848461149e565b610bc65760405162461bcd60e51b81526004016104f990611f8a565b6000818152600260205260409020546060906001600160a01b031661131f5760405162461bcd60e51b815260206004820152603160248201527f45524337323155524953746f726167653a2055524920717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b60648201526084016104f9565b6000828152600a60205260408120805461133890612143565b80601f016020809104026020016040519081016040528092919081815260200182805461136490612143565b80156113b15780601f10611386576101008083540402835291602001916113b1565b820191906000526020600020905b81548152906001019060200180831161139457829003601f168201915b5050505050905060006113c26115ab565b90508051600014156113d5575092915050565b8151156114075780826040516020016113ef929190611ec7565b60405160208183030381529060405292505050919050565b610b22846115ba565b60006001600160e01b031982166380ac58cd60e01b148061144157506001600160e01b03198216635b5e139f60e01b145b806103ec57506301ffc9a760e01b6001600160e01b03198316146103ec565b61062f838383611695565b611475838361174d565b611482600084848461149e565b61062f5760405162461bcd60e51b81526004016104f990611f8a565b60006001600160a01b0384163b156115a057604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906114e2903390899088908890600401611ef6565b602060405180830381600087803b1580156114fc57600080fd5b505af192505050801561152c575060408051601f3d908101601f1916820190925261152991810190611da5565b60015b611586573d80801561155a576040519150601f19603f3d011682016040523d82523d6000602084013e61155f565b606091505b50805161157e5760405162461bcd60e51b81526004016104f990611f8a565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610b22565b506001949350505050565b6060600f805461040190612143565b6000818152600260205260409020546060906001600160a01b03166116395760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016104f9565b60006116436115ab565b90506000815111611663576040518060200160405280600081525061168e565b8061166d8461189b565b60405160200161167e929190611ec7565b6040516020818303038152906040525b9392505050565b6001600160a01b0383166116f0576116eb81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611713565b816001600160a01b0316836001600160a01b031614611713576117138382611999565b6001600160a01b03821661172a5761062f81611a36565b826001600160a01b0316826001600160a01b03161461062f5761062f8282611ae5565b6001600160a01b0382166117a35760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104f9565b6000818152600260205260409020546001600160a01b0316156118085760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104f9565b61181460008383611460565b6001600160a01b038216600090815260036020526040812080546001929061183d9084906120d4565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6060816118bf5750506040805180820190915260018152600360fc1b602082015290565b8160005b81156118e957806118d381612178565b91506118e29050600a836120ec565b91506118c3565b60008167ffffffffffffffff811115611904576119046121ff565b6040519080825280601f01601f19166020018201604052801561192e576020820181803683370190505b5090505b8415610b2257611943600183612100565b9150611950600a86612193565b61195b9060306120d4565b60f81b818381518110611970576119706121e9565b60200101906001600160f81b031916908160001a905350611992600a866120ec565b9450611932565b600060016119a684610820565b6119b09190612100565b600083815260076020526040902054909150808214611a03576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090611a4890600190612100565b60008381526009602052604081205460088054939450909284908110611a7057611a706121e9565b906000526020600020015490508060088381548110611a9157611a916121e9565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480611ac957611ac96121d3565b6001900381819060005260206000200160009055905550505050565b6000611af083610820565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b828054611b3590612143565b90600052602060002090601f016020900481019282611b575760008555611b9d565b82601f10611b7057805160ff1916838001178555611b9d565b82800160010185558215611b9d579182015b82811115611b9d578251825591602001919060010190611b82565b50611ba9929150611bad565b5090565b5b80821115611ba95760008155600101611bae565b6000611bd5611bd0846120ac565b61207b565b9050828152838383011115611be957600080fd5b828260208301376000602084830101529392505050565b80356001600160a01b0381168114611c1757600080fd5b919050565b600060208284031215611c2e57600080fd5b61168e82611c00565b60008060408385031215611c4a57600080fd5b611c5383611c00565b9150611c6160208401611c00565b90509250929050565b600080600060608486031215611c7f57600080fd5b611c8884611c00565b9250611c9660208501611c00565b9150604084013590509250925092565b60008060008060808587031215611cbc57600080fd5b611cc585611c00565b9350611cd360208601611c00565b925060408501359150606085013567ffffffffffffffff811115611cf657600080fd5b8501601f81018713611d0757600080fd5b611d1687823560208401611bc2565b91505092959194509250565b60008060408385031215611d3557600080fd5b611d3e83611c00565b915060208301358015158114611d5357600080fd5b809150509250929050565b60008060408385031215611d7157600080fd5b611d7a83611c00565b946020939093013593505050565b600060208284031215611d9a57600080fd5b813561168e81612215565b600060208284031215611db757600080fd5b815161168e81612215565b600060208284031215611dd457600080fd5b813567ffffffffffffffff811115611deb57600080fd5b8201601f81018413611dfc57600080fd5b610b2284823560208401611bc2565b600060208284031215611e1d57600080fd5b815167ffffffffffffffff811115611e3457600080fd5b8201601f81018413611e4557600080fd5b8051611e53611bd0826120ac565b818152856020838501011115611e6857600080fd5b611e79826020830160208601612117565b95945050505050565b600060208284031215611e9457600080fd5b5035919050565b60008151808452611eb3816020860160208601612117565b601f01601f19169290920160200192915050565b60008351611ed9818460208801612117565b835190830190611eed818360208801612117565b01949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611f2990830184611e9b565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611f6b57835183529284019291840191600101611f4f565b50909695505050505050565b60208152600061168e6020830184611e9b565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b828152604060208201526000610b226040830184611e9b565b604051601f8201601f1916810167ffffffffffffffff811182821017156120a4576120a46121ff565b604052919050565b600067ffffffffffffffff8211156120c6576120c66121ff565b50601f01601f191660200190565b600082198211156120e7576120e76121a7565b500190565b6000826120fb576120fb6121bd565b500490565b600082821015612112576121126121a7565b500390565b60005b8381101561213257818101518382015260200161211a565b83811115610bc65750506000910152565b600181811c9082168061215757607f821691505b602082108114156109cf57634e487b7160e01b600052602260045260246000fd5b600060001982141561218c5761218c6121a7565b5060010190565b6000826121a2576121a26121bd565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114610df357600080fdfea264697066735822122057b2cbc5ea8303f4b037ee9a6f31c0dcdd4e4d2421e8977364127e535a7decbd64736f6c63430008070033039dbe02e00fdea7e6ab0fcd6ea3d14a064ec256e9fc3ce75638a367fa8f66e420036c7f95ba1eb674337ecde2bcf95c893136f349e43e466120773ecbadd9322dd303bb08044af6f41424c772cfa489b9f572449a5ffa9cabdad61cc4d81862ff19b203b57fc6dde86046f37075fa7a32e583b5a7584ba1bad11c6a03f288d6517047b80366fca0cc7e2b1617f7706825e1036e10dce72005e023947017885fc7d96b5303038cf39b314a964fd6ab6fde01da293f8fb5c3e0afc00db4ccb1116a02640ae86f037ecf2f878e29e7067305e20d1fb15912b6357bfaa0df63b7a749785717d58263036424b87d760f1880037d39477036cc678311faf4d837f94dce10441ed7fae2ab032f1ba995d6e81005a027dee648d4a70c8aa7cd45aeb8cc5700ce082e3b4d9e8d03ce26e044cadf782767c21ad00fccbc9a8890384fa9547902e244929cb5516a3c03f6957511f692cfbbd068113383801523eb8c80a9cd11f8a8b7bbcb02f805cf6103861724a21a5e5129f1ab0e30769e45e7183e27f260e3184d16eee5986d63a6ba0324f2343507577bb7bc2338d477eab1fa5dbe36b620c5616cadf5c82c6707e6a703660f61375ea742da119c60ad16350b769382cef40f729ee21b7c0df5700b7a2d033122ca7b1a02d861315611ecf4baf1ceb8db60083e45b0bec6cfe24d4025f630030da92f822ee9c41e73908fd6ebc70627b672cae985963783677ff87d574035d8035cbb26425160c16d5a55960a3d5d978f42ce373738fb432f4439d043d8225fa400581f0327755e691012446bea8d0b47ef40ba9151c15a73dcf28012f272928e98d0421c0700581f034557d333f9e66898164e90f50cb71347cd7821a6a27f042d9583f2fde760410100581f0355a87059dd4d8f73d207b032687fc24a706062c752de3490cfb6c2f8f160422a6402184c00581f025053f40b89f52223bd92c4233f344f212d4d18116589b51c64547093133d421e3600581f0230290781bb87e2d8d73e5530e97b27da6c04dec05c01f02dea5ddcb74688410100581f0207768a7caa9c93e4cad65a735e49f127d60eb23c33760a21880af2f81f85422ec303f99aa5a53645f9d9edbdaac485922a45ca85bc2e2bac476580c42701c422604603ffb6bfcea2be4f7328b7cb8df86a04d9497e37fc72e2c2f7e49625fa348553a600581f02a3176d16dcbd9c335bc57cdde5b27175e4fd4e1de3e6bff7aef853fa94d7420dae0322e8b41b21b76160fad3e5b3a91e1f78693c3b45daf0bac5dd7d698a79445d7603473d43e891ebe66f8bef086930e4d05b5d8cb42fa70df4c6a988eb6bed57079c03deaaea85cb2824e50481a19eb42b54bb63625c4479d4c0432da301f30ce9ca250348ef0999dfe9e6a5d85ff52f3168c60ffb42e4a31a4f0478fcd8baf1944d9a7f03174c0b5a48b7ac68f27ba0ca90d99aade54bc564cff56db10d5afb302b517b8e03ac79c7ab38126a86d407c7702f00140d442bcfb6252f6ed8bdf54d908efe570b030a89eb75b43d738c960500a6976f85a5d8ec4238774e43571578062b69de0acc0219feff030447a8a39c4ea96db3385a68bf97b7ec508bfd6a2cb357120d2a0742093a2678032d91f7adbd4818101363deb18724e2b780218e0f0d5f6debac2ecf8cf6c1064b033d9334120c17b9fcb2fb7a172c282c96a68a4e79dd1f55eb7964f2a671f5476c03cee6375713f857d5e243cc6aae153501b632e2f59117202b24c303b9e5e3710b03e6b410b4a74350abc447dc8825ad3bb1549c0a63ba31dc8e8872c19978fd9b2303d5527b5129d11d24e7f18603d84437190c3f7a794206eec55d5e7ae95b1de9840324c5257f31ffbeb5e61cd36933950976fa8b27679d96ee41ad0bd3c3fbd42e380375fcb74573b2cbf167cdf0ba8684f32c047da840da701fcdf403616436b42ee8038a7d52903e12a8e35807e223b423fe458f01ec893af43d966059561f2f9dd0a00338569c9700ea316cbf044585aaa35ff74a87aa337a1e715fbef4c0afacd3943b03cab376a72e628fe92aabba3b3b6e1014c171fc1e3d15bea9126c534333674a900219ffff03c5baf3019e7311b4cd1dd0ebc955ce4ca21ba994aeb3031b6797350abb5647d10344701d6158afb05376a8bce960ff686ef2acbf32004a5a0fa034f51f20cf4c9d03cabbf05a5ad64b20590e03d3ba05d93c27d7022635cf27bb6d3be57544ba991d0219ffff033b904db9127a7386913ec0f6b7827d155c749ae540712a015cc2eeb4a55dd08a03f5837103a2a4f41e801e0f55005a5ca45eed8541eefd8edb058d888fd9b1b6a50369b94fb8f518b592cfb643b7de037e3f35e2791254082f12e87a496644aa976503815ee58b49f7f2108cfcdf0c820785849571e0642457d234845d0c59f26d23d5030b367801c735c635c3a3ebe9368ebc2837aa7f8b77205b11d970f348ab34597903773fd57e6c38e0acea60204fc6da9e00096f8be3e9517a9a2a62ff39c656ebb2039db6e9423e32d25a3f17f8d53ab7bb4d92d9e8de538de4b9c5ee97b5a483101503052c5f1c58283d9db13f895cad25fbc8004dca9cefa63ecf2e29c3972998fef70381b26c0442e7c7414daa9dac6e9dae118ca86dc9654f8767db14b6562751d3cb036f285deaf2a56d4190e3c6bbd260a3973a79d8bc59c447108eeba07ade3cd463036070d7f44fa554c9cd6bf87d56936d03a8e80e8020eb8ba467e96de70bc4f8fe03a7b2d771b21a16467709a59571d8250196285f2044a1b1c743afbd97036acc7503ccbb662dc57dad975633158268bf61e47edd32adc3f5e4b3dff45887d972a56503313dc418cfd0d768fe011c2f0b1847a190c316e57a66db9d7fbac2afd587a7dd0361708d2b046409eaf704e39251bd2dddb788ad7d3d7b573be8566bf6d0ef069a032b59b98b926c201610d1f775d8306a2ae33d66769527ca92a6bccdfdb3aa29ba0353d8ed73ba14a3a036058b20ec7ae6647a9c26a10ee9c9adebfd285d84e6c37303cea73653b6974b87d62569bbc7caa67a1cf1bb2ab7bd9541555aade88b01af4d0374d300c213d427b4ed57f9f55275ab778099853bb1eb3a57e41d18b26fdc900103d87e63ecf0ff4eff7185b1fa6205e1187be774e3d1e5da462cec39c6f204c252039d041e33f48d1612a878454738036b872c8d873c966a2cea68e165ff66b4e11b03dc695563ea8a4c13bcf865a340d2f8fab814b3a4a3048810041b87ab9a80b40b00581f02a8c006e080e17ef00935f41e03bef73b1181c274f0695379865487745d89410103632d6a8b38211307e31e5ccc902bb9e4f3896d2eae399bd5a3edb1aeb61ec1a8037a1ba5772897c6d0e5b96d1c70588f28353bea2b662ae4f85fc793c9513fca3003aafa204d59bb5ae4bd8af5d7c0e38892ac23ee3f2811351ac3cb664f8bf08f610347077d5af72230d4ae1c612348c27246c5ac71bb259229b9353b46f3e1c6c18b036a43ba15c033ce9d0cf032bafe04f65810780ac42127452034c53160fcbe9dbd00581f02efc58b4e63a336d85149f4c5337ba5c441684384d5a32c631449892e91c8410100581f02d0f742e39461ae2e1a90fb5d23b04113dc937dd3399e487f5175c32504394210b40389ff32a03adf577bc6ddb35028b3e363d1aa5628b2b23be7312783ae87835bcf036aee3647cc3d6af99a1cdd6d98c60761f94ff8cdea3a3b6d8e9e6822152b195800581f02470e072561c1eb7eb554f2a5370575642f450ce2c2c25b56169a730e0a724230fc039f166800540a456f8991eafba9b6792fac6d5e8c81e87fa4379c8a9dc7bb248e00581f0211824aaaee35647cf8cb12906b7b1b65ad83a63a70f19607f591ec22fc01410103b1266cb6407126071e5e91752e3cbf3315d028f7f4daf4b7e91d508e66fa08b003925f27ed460032c5d88f9951c093bcb0023f8f78703d2cb109bf1fb0321f4add0219ffef0219ffff034f408dd6a4dc92fd1573c0908e1b826390d7755c5029a676167565dd0a24638c033d6ac240c2614c153078d9b0f47b06687bf9a854649a82cda61ff11a3e4a29e003db1eb4321abeb1e747dfc8cd27d0447f614fac31234fc99ab6444fa08865b35d03e6d26da1c5cf0b591b45eaecd2e5d0ddb19d422d69400f4babaacc18a67d8e2f03a9c4a9418679992f2587d53b7879b7e1f6cd49e78e739710fb8fda731982ccc003a01f30fa0e5cc8deb2ae6bbc790ccb5a3714c06348df5faee3737a2913656a0e03cacec8c6deb2f3d0182e886a8f9805430da1e874e2fc94a20848ff5a409d5d3103c39bc8db44de4cbe1948eb1593c37618cec15f37a1aff76edd5a4aa9ccdd78190219ffff03e0cbad7d81efe843fd39374ef8dd4d900fdd80e595b5b71abf7e9d5ac09d3eed032dc45f59833f57dcc7a6d3c1403504bb40d6a816f5196353474543a08274f5fb03e6745e59f140852b4795c37763d95bcdc498465578e6b19b23d0a44b2afc406f0313b9fcf2bf34547c514a1776594f57ef765d0111552a0b36af7e15951c29230b0362f13a317a2c6c3838ebe3088e7d61c9b0e63c570c477b3e93ae8485191a401e03085f74cc809dc41cbc9509d37dd8754935a6071a4bece8a04d4f5cef66c7f5bd0348c3c3079ea9abfbf2b5ef72066c05e5f23fcb049a9a349b274410584450cb9d03f3f151286e825a2f18bc0a9742180638b9ec70a09c4fdbef6ce81d6209fb236703bfc045ef666d0b39fdf488880f06ef612210b7114be9bb6e45f2e656de820b6000581f021d62807323bdf8dee8987dba9caaf7ac160a1873e1c463469832bd157ca342067403813b4afd60239235e592a84bb679230db9820d0284ade8a329a093831895804a00581f025a66b0e90e317779fda629b06890da7d53250690c0b7c1a7935b7cb643a054a3a8c29a7a805e6f73f4723849f7ce4fd4f4ba7d036efff5fcf03e970663fc893672c13f4a47e6f2812d8279a6d42b60bb5879e035038ca564b3e0daf4a668a311c94007784e7125cf72aaab8ad307e584a42eb88af703f5d2874fa1ec856d474ec193f23e1869411dbbbbd59913f86e3a055233675550036a2d26b905ab2bfea29499cba10e9ccbae1831b7c05553e925c6c6ca797e695500581f02309f780ecac367a3de1ac0e1db7a202dcf82ca36e00c7537cabf7c16933a54e926210005c7f76a5e22e39482943b0369c679af03e3806b7f414ac3a1a7d69feac62b9cdc932fe7b08d4d1dd67988dd67efe13b15034115e46d8d332ca40710c17e3517a59fcfc15ffff6c21bfa2152c66d2ee2d5fc034b9b57e68566887f01beca2ddb727669d7bc6dc9a342504cab13f552b3fdca4a00581f0203407f51ea28469a7f08977a9fc2e7d68c1e7c81e7549560387358aa6114543d1634e1638917f26cb207cc2dd3b481be6d5361033374351f366c22445037ecb1717883b350a0c19bd24e34545a5bd1222ea423c100581f02361f9d4e7d432d136edf2c8982eec775cedac612f444fff186f725fea9c0410100581f02b92d3e59c4a4759c66b6ccf983002ef27b3d80c7065c7d299bfbfc8286f441010219ff7f037e91ae005792672e2bea96f5f4d27dffdd6c6caac69fb92a70bb017dfa026637030b7649543eba41dcfab6291bb5861f7a42d9fbddee8c68ed7622dc7303a21e9c032d708507b119f3565d42f08e6b9664f6c1e4280af5a596f94a16b74d05bf923003871f54df92aae682464cfdf1b3a5f36182ea904b3b1755108f8039ff200b69d603ae4e1d22ae51e708c9d678eca6ab78c04ea117dae6d606ae61e607c0fa296bde03ef76d68546cd7717282a12fc40ae0c1b4ea12e66b1df2756f1930d87e1cd166c03cb80bd618096b4908d4f4b6010b1c7c290725ca126c4547c6afbee72e8f9834e0392db7b6f7ab2d1f18cbec9dcbdeec89003d46a1c1196c5970df26202920e530e03cb22fba9a480ac495ea5511cd7bb4e14e9b20c010bb3c2a332ad8e096abf020403d237ef1b56bb74ae2060c19fca3e0ce231ce3825e495bf69a72b37b80d498f8603d8ef4ec61c1b03e397f847b6fb43b781ea9464d69c36d84611e63a36c61e2eb403916c0eef85724b4f0221e86c0fc36a9ffebc7251e630ff361d7ee1e8716447c803ca7a93be8156bd12465b8ceb55a07520105a63b5de53bc47d93feafc0e29eda9038823c0b4fb25ed62b60c6547d4b4082befbc7636f90717c0222064be20d68e1d0219ffff0367e73dd87d78d806f14732dbac0a240fd35c37d7f4ba08d80a015129b204cbdc0334cc71429e929106f273addd0498891ba9fb4ea0ad544c93223c97e898276b300309f1b5d2bd2a1f1cbe90b7ba11f01c615ce8771b410c87a22bf9aac707749e5303b4197a6d900b40a2c87a61d992ee1c5bbd05a0412edcb521bb9aedee0908ab150332ebfbab3064f65921ccaf640d55e076eb195bfc211b15ae59f62386e928f8420379e20fa3e9f60410b9727006e0746d6ecd2adee5a3eb8b2a6832e57cd4c3af5103897901d736261be7cfedda005d3883085e8e32b2045e4f55f9c33ad90c91e4130219ffff03a283af7e7224e144db4cbaee5689a3539f58554cea9888a0517635e3c0f4197303fccefd704bfc5de817e771cf392a0eaebf315cf6bbbf3f40b307c503e902fce50358038702ecd9ad3de15b604a1687ac3506f156874979ee335de102bccaa2b0c8036c5400ab58ccba694d35c65737cb31ae28091e33a1269f03a306d0a09f1c620f030ef62482d8d63bd671f08060b2f26dea34032739b14a36b5e1f53df753f1826903b71d7ebb23252b043958dc6c20d03280335a7018250aabdcfe8674294161967b032a9627840bbef6a0f31a3fb4f100477ca52605528611a705dcad8f1222432ab603b070250945f19409657cc26f9752b730a381f5beaabc0166be6ed96b0252e1ba03cdc1b926e7610892f00f4c547581b1f5c2444bb064a5b9b5b590f73efb9d9d5e03fd31251e7bf2d24b1418b258cb02f81e35f683911681d3b85c54bbce103df1ae0356dfa84a2c04f3c5f066aa9d98e098aeb1f4b4caeb5eb54b0e921b9c003d3a06037c376566754afe790b83d0f005578d0731166174ebfac994dff0d63ea5a60a39031de61df9ae2b0d9490b3df8b482aa085183e0b350787dfd5296fdb0b67ab9a7c038f71b0a78c4018fea82d2fc10ec8c51f24d7ec2ae508bd423ed14d3a43647c6e0309165c6f47da92b87c98d1eabfcbfe77f1c07795596b15cc0c3b4d3caea16fe3038d339c88e50423f0b52b4cf434b25968df954bce0608d943b620dde9d9b357cf03dd7cb3f071a054800532eab1e8d480d264099e976b21f626c0d306503435232f03c28c520202ae3c1d7a8dfdc835a37aa81e0489dd22f39babb7ecfb28b7ad06f000581f02ebb0ac689f7bdf19890c78c8f01bfb1a7bba67a06eb4b7f7e0a2436efb23410103221a54ddb518e8045aaee94016ed48307bdea72fac5ef09a9bd2874c6f7d17b2036383321482e7869d171af1ea7717d887bb08d3c379caa3f669ec2eeef318a5a5037125f73413d7b56f528c3b1dae9e3eb1ff3a3cb2c01f47651c750fd26af568a003bc7c9ac7e947747a3870783339bd03778018a6376ede9b1bad3edd8eb3d784c100581f0329435e514e852873cb91e72b40ac0b4be0fd88366ec8b8c8fdbe3caced30410600581f03ba861c067430604f31bc90eff052eb1493f24371915f836c4c9c8600a8404215b20219400400581f02b001f085bb30b60f0b6139c63c1c5b45701a6502a86d28ed1b9d43deefbb42343303c2be91d2d236e57e0c2537711a35f67b61c28421d0f96d68b26b1ee32ff1af550219dbff033e77a295864a9dbe898b67e1a3ffea54f0c9d4a4f8ce1e23310eefa6999eedba03bd7dff0e6c19a000d56fc0e79c0f1fa3e665ddf4364e6634f5064758e16351ff03f06e8458dd12ba340344d75b4488ab317d20114f2a3e4e4764db343855c94cb8036fee67cadc3fde56004641f7e0e21eeb97724cb1dba1a362e680e8cbf9fbbf290345ca253f8131e22ea959ca9a1c680dd974f239ec956c505ededb9087bf60e7a903521922655fb39fb24965ffd2e5be496b42b5dac45790c046c1885c9930a3e6040219ffff03e737445096de1e3d7fe93da1a51c29397fa7091620a831ee820a040e1b75e4a70344d6d9c73d675d6d707dcf0e5c8332d9af7a84b85cbbd64bd7db888d40b60877031375b0e6636cf0c1a43fa265f17187763c636dd2b803c5819558e9860c2d0fa703d7cf2d60084c3d6d2edc3ffcbc1cc490080051393dec6cff0c9816c4e886905c036977676ceac363ca17d58ee392ccd35a388b38f39950f8314310e0992e81a47c03f3d285724630d18dde00857f25c16f84bcdb398b0913e2cc4974facbf8ac8f7d03ef69c086dbb7731a05bc44f4973b3d1d4ec66a28d1b106471e65110fb6b709730308c83ed35fd54171f14eec6fc439a48d4032afc6888419ea1875a59a81da35ef03f231374b02c80ffab6c03206939109b9967fd9198bd4be8ba7f5a72aa51e768903bbb9ea97ae4aab88e60eb00d82af8c57667993ec85dd417e7c624ab20ab17b8603dd2f8c3444cf6cc0ba1f4e0c84a95c561eb1bec559af41e61fefc8530c3fb20a03842cd0931fb41c7dd8ecdfd61b39ca5c3a221ca64505265ee6cf66fd50136b9c031fd6a5197c8a4944a0b9e7307ee5a8992403939f7e6a34451c96e457cbe6c0130219ffff037255908c3f6a125c178fab9ad3cb72463e098cb44000ed8c08ca86c65213a191036c523981c332f6835abaedf1d846a1ed6d8fdc378c18781d5d3cc703fc58c6830346b357b2dbeeb20fae9d8bb4d6156e394c68c6b5021976a6694c0a01624b81cb030170cfeb41b2e1de93e155b59705a43f77fb71c97cb2888d2ddead81d18c453d0332504fde6dd222fa3b032df7fc25010030bd484dc69fe5a8eab40d301de3939a039e71abfa4bcaf1ffbd7cbc0d657b095c6231ac4572e5c62273ab6cf0bca54aa90313e684a53d58d3d87c1f434cf502ae4499b11d3918e128a01db81aa50ec48965031e08689541c603979a942705d73b99151d54dfed9f7b1f1857074296c096a892036dcc25bda6390faa6f26f2f01065a6d5762dcee4d42799ed7e61d09b0a70b36103d04fe652f7498ccd1e5ded9aa9c0fd063c7fbe01614a40a721da6a3f29d5dc5a03feb67b28d3526826c5287950cfe659fb3528cff1f81fc5a47ead0bcbca046a6403c479e66bc8f8478c0bb69316eb3fe5f607efc2a13a15018cb12b995cd551be0003df1a1ccbf33f970c7e821e07d2d7851c9eb67f85e20ca66b2e63a93f93f1f00e0337f8cf560d52121f9ff96f230b2a44915d0ae44f058df8bad3c69d1a2b7b303f0312983eb22b517b184c16e1eae0cee21c8c11367c4fa144d26535d07200951ffa0319aeec996772a6fe762a97df1812251f575972bcc823ecae18f34fdc71a0a61600581f0211360681399c4d4924f520e0d4e49dab18eab7e1684f308a10652f1bec7a42364d03487be3916f513ee4e6b40b91ca312cdbc4fa7b261a1cd72ff4f9c854d672ecc403323090aa4afeee1d27bf808a0650f8391e3023907941a3f9b8e85c31b0ed086e03f0507972d3c1de045aa29866b369417d891f96a3ea939ea6be95b693ee5a6d16039a5f9602048b83457b559b8f4db6938899d48a8d5cd7da6befb465e6da60413d030e252bdf242b58b9687e37b9c081f8f59757c21a2f46de15759debf8411916f9036a67a73b7055104e63a3ddecf10fd78f8960fc92db8e1630f6013ebc66fee0be030575756b06ca457a85439ccf0397f5ba8c656ea4a758bf0037f22173204b148500581f0234972f2f5c2596936498afacde5866aaa4e9ae4c2ac0df993416c934c7cd410100581f0388a95af320eb22a65bd00f3b32a705bc5c8df334bed9841cba8322ff9bd0410100581f03efb2e2d102ce10034027e78e88f272329fd5f09d234fe9038cf833cdedd0410103949fc95f90e8089d6355b57d0b7558a5f3282a344d9fc312e6fe47052c80e0c000581f0316c4b04fa23a1032df52e013cd87d2dd761a5cd2761ef1adf3afc5969ec0410100581f03897abb8cc5abc0c0bfc10b6614cd30071ec863cbd2a4f5b10942ce8dc1d041010219881303f96549ea5bd0b51c34663a9583a04e9c3cfc4e46b2616240807e04c654770e92033ed97de43f5bb0a6141c66e9c4277ad62a1aa45aa6252ef8d13933d6a14c769003681865e5291d45c5149cf35f75f97ef55ca57f14070275a035cf13d7506524ea00581f02257f12d395cfc8b2ec7ffe98e1c9a82ffc07285b9802100094e2d4a6e31a42495c036ae055442c08e898b80e4672ae2ae13c6960a592aea4dc469124753770852c5802197fff030133688a0dcf44c01acf2ac6b47eefe78400b2d27f46d43c36daa44d3dff1928038e3d21f911aa88dc164457ef700c6541bbbd8ba3034869d36dbf1baeddad5ebb032e39bfe8699a81ab328001ba5ca4c6d88d033ccac1f87095e2652a60ed2a1ca6032076bdc0b5d7ee9df4ed0dc6c6aae7615689d3ec5d5281fbe5e512abd8c860bb03f695a9b763129ec32a46ffbd2655134e3757cd514713ca45000e44010a7c0258035c030275aaca95e75520748a8ae412a139ecf0546798f51116487cb24c22761503f43b7fef1709dbded0d12142ac85160b86b68a95d4cc82fc28aeb1b4bb3a6bc80370502cd8ca2354f74ce41bcd20fe27431865fb505ddcde35b0e57f2bc80914da03729084c2dc1ab50ba905f36ea9a4eee0ed5c6e1626391bcc8e57aa76e5138dbd03a7cd699a158c97e8aadeacbfb67ea77ae4b6d3fe2adf26eca47cfedd7235c7920308fd0642e47c816848f5f22552cfb2377eaf7b669aedf37fc0083c746cc674cc033ee34a223d47fbdefc35b4a1903679b4a142e85f95629234f8199c9bf2691605032f88426fd91a4c1c9c8c46d4f3d7e5a8e517b042e52144769709350673289d8d038e961f50b68acd7e5d31cfd90838c56dc6b8e9e4ec66c76d1585d4c9573d70fb03ae86edf662cb646d4ce586e83b321f4393dbcc097a64d481fad4856dc47a78520219ffff03a87e2944671e5775e8872e93c8f9fe529d07fd7696486da491ccadc967c4c1cc03727f4f7e605e23ce49820c9ceda976e5f75456bfda9bc078b14f67c5e38e6f450219ffff03a9660177a9439deebd2bd344c699e59d78f0b044f05c4e9285afac0f9a49ac650307a5b6be583f412653a560703236c0fb6e33df9073275672f24e0e9daadc8272035a70b0c3d9915d97413603fd830f6145371a074e73c8cea38b73dfa3cefb728a0398a6f48929ad3b4c8bd9a2f1dcc7d09c65dd926b131377be12d2b813893353a0031824a66ea67ee2b1b8c09d0696f01e60429a7a86a039361c4c5391f8d3140e610379dc8ad20bf031ecfa98674a2a6f41e49f5bad062280fc1efcc898a45e2ea08503e1fb6958083de0d1ca4d7d4eeb820b2b0f592aaa075e9a2569539ff0bb809ca90315eeae47cc8a5c26bdb78e296c122a968e33074950e05d49ca6de52b4019a1c003407ede33b1e544cd94abc50270a173fc438030f5eef8548ae6d82b8e9776fc5603a007bfd1cb5adb9d19d840f72e0b780246d7074e322e9b077b2b7be31aec456b033db876ac2b608b4952e4f4397e8190ffe2be6246dda6ff10011eb7cb3d7b8d3d03dddf55e20cdaee477b0ca2608ab1c9f90d74594adc5852213fc84c57b855661203ded4ee31c2eb82639038533c2384368e51eba08060d068927bac7e403422915603865cd0e5f224ee9151d9b17d8bb675f7ec0b393168374b011f4c41839d5a5e300305638d443fb4ce6b7db7b56482141df9b152a34bc797e5a84726632695d75a78033c173bb26ccbcd49639a01363bea754f2c40285625f06c377a9a8b97c1c2454b031a44cdb77d875275f619b0444a81388bda40abbe4c96ba4a053280ca379b8e5500581f02497517a58c6e910079f6dac2186a3d24908d348cda7375664edc941a2243420bea00581f0263a854f7e309f81eaa7b51ce263a377b42cfda582e8f59e22829cec835dd4228cc00581f0230a460a8796e4feb678fd8bfa370087ada54df997c76c59c6233c637eeed54223f6b0e03d1e78e8750122053b508e50426ecfc037cd135257d0cf5cbe764ef4dca4aeb4a4fedfa4aab9bc3ecf487bab337c30e8c03de513a6152a7569a7e4e8c53d81be62354b121ac7d4f8f83aec3341845d964ba037668350ceeb6edcf1f7d5be9fbac522e4459d75223827e43b369b3f5c64fad01035d1905b38bb19ac44f26428b3bc8f0192fa8a85f12b0285e5872a19f0cd5799f0389a2df2bc681a447dcba69e788aad537027528391de6aca63e686f4c6930ad3f032f74da1c48650ed2db047f1192aee29c9c6842572ccfcd4a9a79d62c8d53778600581f03ee06c912407595c0b4ef7e268fa7baffefe1089f8b3fd51f29be0dfc6a60410500581f033388f334a3929cc3019f1b34c584a76bc27f9fad97cacaff1b32d208cb30423f2300581f03c97124aba4687ef28b7dbe85e9879970b1aae504bca8e84701646486ae5054604eb5d4126e3318ec27721bd5059307684f5c890219420100581f02f7e02826f950e13c42a45710ddb63a82199c30fc59c86ce9731c18606ff24238450378662916aa55acd247e88f2d43044a9934e64733f9abe6c21a28b5e6b25c82a000581f02c4895304d8e7e05e8365d6db23c0eaa5534fe940b5f3b483a4c725653c094245e903723872755a4bb1559b399ca0f6965d56b9f8201443a6c4ed0d28c4de7cd32a350219ffff03f28cb36d8a83469b0312b4ed024347bbfb9a53991cf7716cb8d123b9755d88a203081df272056b21f6d6def05fc0581ff3c16d292800332b5fb3b00cc3ae940fd903ae26b306a75cdaa7f5c306b097040642a16006d4bc3b461bb32bcdba85a2acb603137e92509669dca18f8b9d09d5ac14fc52139f44c7597bdd32eee0a12f7af51b03aef1495f8aa0d74924a74980c7a276bfe51a56fd006925646f47ea3e18433c49030c6401f7aafd16ffcd3d883dfb18bdc269efc0dc0a1026f82c52de59d1939209036e7e306349885edef624fee1380795ecee0137485461c99037416af0fb912bbb03650ef2e7ad778b95f9313005a02ff0d385572e21ca1560395dde0d5e80ada16c030049169279294c2b99a9cd9086675130613f423b8a1bd5a77f459db026d0726d0219ffff030d4c348d6c15882d1ed97538bbfea0b47ec59977bf73a85fda9dd409bd5e82b103fd19c63fa4ee36e7607bc7054c840ee88f59be72799c3e7e662ffbdd55a39e4e0384203b4332446fc81235f98526047eb91a6f32ecbf269812385d999a509f9802034b2d470fe1ae2411ac67e7686121c25a67a75f6ff2a59fc63b447c7a2aa2dcce035cabe29c321815e860fd0958eec262370db4dfa270f69b5f585dd64510b7b04a032645da07925052b6713cddf95a4b339c26f3480ada4ca964522f404940bf041703b05862cd59c47eba9bb5267e2f4f72f9d44583b201a89e9fa4b8464b4a9a5eea03901c1cf2d572433549b58f408b62542878871db968115dcff113e76832cabcc70219ffff030bf82c11c04e1900f8087fa438c014e246d827eea236a7c09e1bd1ae2c6fd13c035497cfd5d6e01b2f0d8a79c8fd9610a2986981ee00bf9f3943a3d1302ddd21d303633897df0688ee0036b2490e03d6732f1535d4756d01a233730c3bef674c29fd0398f925780f63714d72df1635be1b31ec08b2e11b363c7df6b8c98dca3f0622080302d183ad0018148839736a4b81457c3e022574868e9879d8b1320a3b033273180312c837d2249409f97c75886512c283b93c4c94326cf2384362a2d3d669bad7d20308dcbef57cc45fb4043379fa0f9fb0b975efb2d25a8615ad7aceec3dbf39077503dd75db9c27dbd653b7fcc4d80c00a5e19ea685982d4dd8b020f5fcf0294efabf0368e7291258b3fd7c38e4a17a392173dcd99b7524661f41a2e0e1514ba3c8d269036d3df1bfbea57de4a6e0d57e1c550742ff93bc2f6e65d276d15f533ec0b7e55203ca3645a46f016830e3b7a0e00438f26c7089452802501e199440af73efd7ece80342a3594dd295d968dbb7411340663d32ecfcecd2787bd5ce14b7eb6c302174d90322695be5c39c85626d36f39d0e8c5a47dd5217b4c16548381b7d645148d8b50403e6e336d9b8df4be7e4b786dcc28399afc730954583f5ae30d08441f78efd840a03c0d0bb48b7547bb7781a3ebe02ff8e158942f58618f877611159c80ef67a4dc40371adc356aca088e37810865c90aad00bf1a13015a37b20dc8769abe1ceabee500386bf47e506d6f817835e71c13430aef9dc47051cde9b78ec323cbbb3b939a4b503f29486505920e1333fdf0bdc57e034cf5576031aa34d346d96311e03214cbf9b03b5849e0d7af7d001a2ca59885bfa9c97d96f5efa73db70b42c7aa1969604c16a033d32cfc8eabc6e803ead2f02034f004a02220445c3a74a3de6278541cee7c7ed0372a0c0efafd7af32f88f2fda7ac0cec3c7587c09b1912380fec7d04f2039dd8a03ba23acf89b798cab7db2f699578b497775d3f2a48c34b4e92b2a050d38a368f9033d8f4786aafc140ad12f96deb6a84288d746941369151aac62289a8bda2300390387577b53714530748e47aae6fbc12876bc59fc9623a1aa5855d4c70e0d74c1f40307a8820e7c549711bc387791be331f770669502222fe9d92e72739da0aee74ea038255721199a4699d474653ce68b4d524d6a1ff0ea11e095b6aa3336d29c1ee3d037a4c987ef06c7b3627c2cccc1d93424b7755d8caff3ac8390608ab684a2cd45603bace1b5657af7669f7ed846639c9fcc4cc27de27724431f3d3957dede9fad27f033ff18e70b7fe5f8daaf91b0b2b5a02dfcd6aa7e4080a76076e4dd32b673b13ae03d2f3d3e46d01b603c54eb103807d39d4bb9855e5c7ec30037b61e81fcb5a1be803ec7975f2fa5d66f4a88f9086c5336dc44cec29b489da3ed28ad5076f5ab9900500581f02367bc3b3276786c0c614ea896652f4097dbeb8632e4313366bb96f35d2b44243e20344a8dde42e16a764b58996efba113aa944fe0ed980c731bdb3fa22c8d3e63a32032e3169f9943703651d939c66735d930956cfd49576cce4eedf43cf3979f62b3e03790481bb5fe0d5ed9b3f49d8f178810c98c5bf1a26febebfb9a22063a54af8de00581f03fb35145a1f81fa8c347731f96adbfbb84c0f597a4fc197f80f654a4ea960415003701696c58c7899e5c7b0485d7763c5c90d94ff54dddd776d8c060a818fa8963800581f031e1c04ee99a209386953b7b9ce6e765fd5e8e57ace2be130851b9edf6a70540cea13ff72b35ae8cbed62f4508d9151b0e5d94800581f03200c7a4eaa6656e8c9190669dd8a79d6def6bb0123dcd9ea0cd352d95c40410400581f038c65531aabbae95fd401c108e34ab67eb0ad134de40f443d965b5887887042446600581f031b131b7f9a13fc633320323a762d5faa2fdb597395a017bc5645eaf89db042280a021993c003caebd8b9096c4afe28952c88d2efc2be8e354c5d6e143dfce984e34bae1c5e7d03cab99549f0d54ae99cbec873341c673dda9e576c4b33dd272edf3fee6da883c000581f022b330bf6f563564ecffdd35627f9804c3557d220d820f58beb0c65ee54f0410203cfe0dc360b1d021e6b954add4842963b0e972f8d5514c809706f421a8d9ae35c00581f02fee22a53cc6f0841e11b7d0175306b713a4b15a3537f1f980bcc5555d02c54b5ac414c576bd2f4291b6c51e167db752c2c4e6203fd1212cb5b4192e0c0e0575294d8655859ab52f384f54a66dbe6995960d0f1f003b96100fbc6165dde9e644cb74b12f16acba762fd85510a4eaa95ccdf8bb56dac035284567373faf84ead0ae8cbbe641db9477f1ff77d1694fd068d1b8f37356c210219febf0219ffff0219ffff03a20a88e4d250f3bddb5aa634352f538bd4f2e2a15788b78524959c3f06811d7803695d3e4f1e65af2411ea767a9158d4119092cd17949f343d25c46990f8725be503f56ab8ca7ad6ced1d29e6c2db055b461b5f7ec7f217eb3285804e0d6bfe575cc03d6ac6e1c429b3b7963902e963ae4a797785c14dab3d43fda8c01d9a19b8a71cf0356085af8974ddfd566ef11e40648cd2f0f0bc5f2f327079bedf74574c25adb7b03464390c9ce569c813c593296ff60877535146d42f782372378c948807c1c6703037268bf03b16e913cf0909e68b3e25ddc08fbd79bf61039cdc6b0a3a9e26952cf031dd21a3801d3c6a65bbcb9c66e0eacff13ecff3cf988259c8a631381e4f015b50382c5e8b53575f2fcb9fee652ba17b6e0c7ce8281ef82ebbdd62ce1aed1f4197603158d11f5bfc07b593a62fb778c2100658a5da816d75c47783b6e83b3ea335d9503dc711ff901df53fe7a9eede1b5cc9dfd9137a488db186b2a758d8fb004c45eb003208ff956d0db9f8cfed1167ce5c37fd3fb70e1983ec39f73d60e72cbd9a0280303b98ba769976979bf0009532b669871944d9d559976b48ca9a7436e6788dc801d03147e92750d7284a005433f9c28810e18b838971e51c010407b64fbad1f62facd0360e0169d9d8d42d175be9375f4b90031393c09a12750574a98034a9a92e2296703df1ddf9b66cd49c9fb39925b438b70f2bc64b23186ac58fbcce28e49914d9ebe03a5b2ca844cdac03fcf6bb0f1aff5bfd45f99791e4b9ee62d64be6f314c3681bd036b78ecb8dcd4d3d6c0b382a5a8690f49e156bc3d3f3c2665f69ad77aa6eafff90389bb5077d4a6300cd49f8ea2903a8edb22dbb4dce2f06b09a75f9682946ce01300581f0298bed798cfab24b413c59eccf7b7875ae65e4a837e46b832fc467e525df354a4c8d9e4ec5f2831701a81389465498b83f9457d0361c1423b8c7866ecc70ec3a277d5fe572ef91d46131dd67e0340d6bc4366292f00581f038953a9d15e7f216452d7893fb18abb64aac505b8e2d48ac20325345ab83054a5d85a41831960fbaad89335419064bad456dec900581f0301e9a281d75bdf302cd80010b92e14643b3c99a8b25ae41fe63e61b064d042368800581f03a079d815b6c3e5187a4959000dbf3b232791d6721b131c941283e95859d0410102190a10033f8bbc61e1311ff772912faa9467f6e917219145e96f44b9179ca1f75f5dc74d038c44e5ac6e11a4b06abdc7b79071b3954d26fac67c52ab899a9c369b21aeafdb03f85760144052c8e2a5cc40be45e821b148b35c3ad7256c4ccda24089f5749f24035872b9384635e14541a255748c885c3420ddc718e85a7ebd386dfcd18d7cb48e00581f0286ea555d8387f15d01122d47d469758fc528833b1f28f71fc827d7507c4c41010332bb4a4bd4d36ea860529c226938f8efdbb1111d7b6836784112cb935c3ec36d00581f02f498e4c1b0d41ef62c0f6eb761a1bd633b25de10ccbabada485731539e294228f403738ac2f7e1edd1e16d07c1f233172dc274003ebed484b88447dd7951a60fd49500581f028ea79a5ba5c1b4bf6fb67744cdbd8b158d2f19d1f2faa345643365782ef341020380e62bb9af12384b51345218d5562b0182a5263ef9be06f34b9a2ee01b99ee8d0219afff03d8215fb3eb985aada9bec85362075129a4ae55702ec8daebbcc96ac6224a99f703c13a8f718235573219a6c31f7b87a522fcd2d7fcbd0e3813443e7ea58f96470403f5c6a36af6e155249810ba49581e5ac68f9215fec7f7c8dcbab37bdfd0de7362030d468caca33ec04c1224000be5b10273195850c79913f19e9a1a8568cdb093540219ffff034234d0f1f26a882814365f07dd69e4dc988fa43661d1c289ba9009a3081a509a033c149d860ba0031d6c04af8a4375e8d46bc8718722ec9ecc7a365b21e1e279a703ac11300dd27728ba892e5d71b9f6deb00ab45a951b7fd2fd9b717e0cd31355f903f64962dca88d8a2c52539b77e15ca7f779a34bf1e829653468c65a9e8b3fb3760363f2ccbffc6d1acdfeaeb8a6dc5a883f8e277a858626b33428d52611d48c9d6303df82d4827909b8739442eb3aa6b55bcbe6d94e4e6794e553e6dcb8922cf92ad403c45b57fbd6a21014369573742e6aacc87b839c0c90b6310f3d7541357361b65b03c7d72704d1132e28afd6112e6cf4ac16e2065dbe72a86b8e023d178a7cb785550219ffff03890c2bdb6eb015438aefa28b71774e0e77a914d7a0e6484733c7991d64c8be82039eccf43fde29de9803013fe70cb58754e2ed9be7ddb00e5d3793b2f77026575803e9a1cede606b3dade4fbd3c080875fad8ecc529e7356f1b5c1030927da39000603960086c5bf6374b9ed54d9ea625c33650c90ed409a1a31c259b571cf60ebc4a003488b715d4ccbfc7dd13f7166378e13a173464aa87a0250d1f81581fdb26a2c47030cb62f6478150ef6beefd44a184140dcd77b4cc4f4d465171da4e98f17eabbcf037df91076261689073623d294de94060462ece194e007795036b2f83da36c0ba1039a7aa59126f64bc28c551487e3e17412175829e8c0be0fc4393ade1ca318a00f03f08c4f532de6d7dd65f17a8435264a87c2973545d5966607dc07608f393437fc0350bbbad200691662ff0b1771e820537564850138c6316e8aa49d4977e95599d7033844f95b136247a1a1440dbed5d9541f4c22e09657e7090ecc3b6a1d063e1488035365ee6a6a144a409cef65ac57d6c56d4f63c5851d1f1f4ca70c68548018687c03add54780c8b26da8fd22020aa5420cfe0b762a183fc957be5b21bdd65e4f39bc0314f76ec3f09a3932fba7426c5eb9157f371009193c50d557d7fe1fdbcd3bdf840313689c7c867100719587634cee573f610558ca92995f27837124137c920e35e100581f03dbeda0a99d95dfd2ae9d57e02b8f4368b3eab595764fec890f17fdbe5b20410100581f0370399acf5ff4e1c789b5d18f746ab2f5ca3f38e3b74126a5073e4c955ad0410100581f0336f2a91b3ec61e444246305d7fa0fa85c08c929cd8d2176c8b4a31f4571042195600581f03de50a1cfd8f1a5e546a8d7328b70a625049d666d25df72243e7424375f90543eb879cc9a0ef4c6f1d870a40ae187768c278da200581f031261bc5b46380fc7a0a5d87d16c3c0448945b980494da9e32d8ab71a33e0424ba800581f033cd50361d13178ba96d9a1452a48c50f53e387be7a23d4eb92a36631bd304234f402193c0c0377b75e598e470fdf13f0545e14ef280a0761e087d796b7a2b1cc43ff0581b9fc036d010eb8636d1aef6bbbfb981a0c2ac130c735d89f15742a635c742a16a0071400581f02df153307a898aeaf4a1103e4e51ca2959ed3bc6aec9921c8866e1816bc5e410400581f02ac11c32ace829934e77e13a4b17890e32613ff9aa2351b390175b170bf214101036da169d4eeb526a4dbd977471691ed1333f4b773e1ac9b53aa3db794d742974203a9058c79fe46f7f4de04a3e8594818d9146a3ff5b8f84a995d16d54e82115dab03e844f7efb98856b455f1cb0ca2d48448ed5d7ea52219d87c28cc3e416a9bd99203fe69ca313068a26e2631e1fda47dbcf7e8f1e12483baf573666f122102c04188033d2dbc80fba0bc359a63b16d29681e5750e4a36799e17a346d28713dd014434f00581f027ea5f06821ac75e03b25f111fb9a1c37612c74bfeca98a37ad36371fd8e34211f203c38347d9e1e21bf1bc0cc746d2a316da47eb5c81031108214a84cf8a3c9f33cb0219b6ff03d9a8344c3cd877bd0d4a141df4bded4e79f74ca34fd911fd0537c9cf9444d3a20333134a91f63ca26e26e62c1d71b7b261e6bcf5f2ebe5959480fef9e4137a2fc803fa81facac6635de0bf1bcfdcc454f64056d9ea91053e22b3ad68325a3be8808a03d7557713ff1a1da3ac64e49705b352b71048996e311e60fe284eaf52808a4ba403a5519c2045ed797a611fee3dffc23015182b6192c6b2d9339bd2ae7f149193a7039d0d390921bcec63528123d012e10353fe054608c5dfd9b54772058b80f170c90396a4766abaf579975a94103a05179871a0f57e4aaa924e3454dd0864ff0a708503b0b750a76ccb31d84b139b6b4d92204096afdc2068f96d763566eb220cf38b1c031088acf8d2f1052f08b85cf7ec0108f7ad04105f31801109e33c4b65c493df7403962647279e7283978fc70daacd1c930aa3d211fc9c4cc9f264e84f0203d60a380309c550f39faabb402445922606a6ece58be1d9284af12a58af5bb9514086ef87032ab46a72e081a5e4593d82bf58fc30a48feb62ef11c523b97dcce9b01155218f035384d4815f19072f26719e35f90a5942338395e3942ed460e5f6cbd081ae214f0219ffff035ee47a09dc7aad335c266a86a84a5756f7cefdaec211c3da8b920f9c04a7057d03a1d62731be99e381d7b048da8b6bbef6bccfeb7cf0261a83acf4e91734809c4e033da4f768d6292b5499d013598ef6c32bca134ee16e231b98af1de88545b596a8039c069b10271ce03b889e9abc48fb95d8496721ca5559a42d9a7b40da5c7ee5f90327a13a6cbaa58d29130958c0401563b3037ca0c10fad87fe0f327f34c9b97fc401410e033088335fd7f9b818144e5f9a87d97753921590db3d78ddda9626c6e9b89ecf7a00581f02cac36a6793f39c1c076f1a248ed28f066974e03daeca9094d514b2a3ced841020383a640ed215056eee66c4f5b0f3bd79c3b7ebff658caee61b5c5fcfd220027bb00581f022cdb83584117ef9a4311a5a1881da8dae18f09cd6d5477b7707f459dca874101036f68b47beb0803a40e81d69e4adda5a7d7f72024c55255f50b5a064fc211fb6600581f02a5ee6dc567c54e2f3babf674bd332aa66d992a76751d129580e0c0223b594229f200581f02308e18a42d1b84e1de5ddcd1d70c3567027f1b341154beff154cd1ad196354a519013cf695c4bfecec435efa09e6fbfa8437a903e15059c224d45ea78a9d55cb62d00b90f37a2cd32ed0203414c8a0116d50d0aa03933102a475199515bc5d12040a01257cdef3f9edaf50ca2fffca18a832cd19ae032a608c006e74114e36e4b092b16ef74f691517d5ae333eb6c822901c47c9028a00581f03fbd713105b800aa6c89cca13e25a314d8a3be7fcd9e19c9bbee079ce7270410700581f0361a58df3ef2439420726be26fe11ef03fb41b56c5751056377dc601eccc04227570219200800581f02304b9e7155dc5c72e1240826cd1e9e200fa15a1bdda3240744ca92253979410103990b6c97b431ce04a72f4f08c9829d20e5e1eb237d77dce41bba5cf2f22d45c40219bffb03cde31aee87fdf05028bd09a9c3db9f6ff4a555a519350737d27b3412c6d1f80c03c876911a129c18046ba0bc908cf5611185a9635e354ab89df903f9a4d599b73403c4aed7d91e907a713792c7e5a02e29425e65f9210e0556cf4dbe2711f103566603140301664f5b709be9df0011b71a104344ca8cf668ce5d419857f3aabd6782c7035f7c00c633e8885c6aa09258f378286e91ba275e806d46c5739119b45864616c032c3d7909e26379942ca719c6d50be076e02fbc7112be76c0ee33afb0b1a49b8d032034b071f95b1082c412164d29dcc842fa247cc43402ee4c4d7c501f8d3472f1039959b45615284a8b01bf453147c7a3e12d8875b435c310419965e21188fdaae603c497c9c01d80a6a4245c597903bdba203929a132e9e660774d162a1eb7469acb03b2aa1a6dd02131892f1b63eea7cc227610c7fd3f4c12e359e4c1cc6de115db440304a766757c0b7a4cfb3f54bdc13d8b4fe6e758736512216ba87acab51316a360036e0254659e6faac5e6bfb262df1fab8bad3e2d052e227d782a5498541997c1e60219ffff035b70da4135cfa2fa59d7b3253b4e5e40a0ae07f70c1a0fe4ea79a3d6903a7c0d0219ffff03ee2c8ba65543c6427c66416dbcb8cf9ffb124371e8dd675ac7e4dc91c345a3ae0219ffff05581d025b7eb9356402dc39729522068109ac1473efadd71c14ba744419612007011922610219201005581e03a76dd9d9181d3ffe4ab578fbb0dacf1a578aa838ec1ebeacc230187f00040205581e03d8da618c9455a8d007734b0618aa96712474749f7d4c08730479b2a2300c0b46b5072d86c30805581e032441d666adc1f34ac72ed6c7cf853d6f1496666ee56301d13c153a54600c0146783663ec560005581e03665c47501cc6f0f2a5a88bd493b93825a0ba9df49298555d9790e7d9e00c0247a15530f48ba80003929a6043269f5decb3eda7170a5bbe29dafc53641e9bb4849928937962fd26b302199f3003a0feb4597c00c774f9424a19092b9e3746bc90ab43d0ad7ebaa127c6e067e79c03f288c478d237721c240baff53b9184c17d52f42dd8b7a41b97342942e43f1d8a038eba01f160de3a9ece38fcd47bbbd380e244ac3000d5ddd397eec96db453ef9e03f12964d31f52f1d38b8fa9d6d973af72255f707392731fe4cbaa70560acd4dd903cf0062a67bffb9a71437c9f30ff4426856c31a11878821fca76eade5b41f0e040219ffff03e5c429e821ebf84cbb582b38750b0df2c85d2b0cc5a8db2b406743c85d8f906003df5a9178baa7e652e3866f9fc84bce9ceaa189ce47d9169c2102f92432f865b303ed703e760170f70e7dbaeda57fc99942083bbc8e1e47a5f78c2c0ad6aaa263b803727bf9605d2d9d441d295aa4cd52281dd0e469583291c641e0cc963af834f832032165ac45eb8114b15f19a4a3fa4c5e5da05f47147c4809a049e3e99f0128079f03549a94074610d96df582230b14002bb8aa53a13cf9a8d3185524de5713e629a103be06a2e14cb9e5ba008998266483a5f1affb626ee6bdf4e7cfa29e5868f9148403eddb2aa99d35b26c43ee3cca572776ab07d15d7613a12034b5b601dbfef214e603aec3ef0d8aa3d68b0eecb37a04b3128b0ab162016c6c751a17343df2020ebd050353854d0e6c508aa1794990ea53bcf106df9e319e99a9ad93e379263a47e2a992039f609dd37ed42aff80ac4e499c196099e04ab3e762642f719c86ab6f9bcc4e550322e3588dedb6d8a303234bd1a5d10e5a2d6ed18c34b002e24826760b6c38591d03ddecd06ed992fa1319d2bbe29438f906749b394de835c2a87ee162e5d3884fbb03e4a892fa4f51eb6be8c184d6b1c26c6094687dd76a393aca5cc83766068a46200333b01c1e4be7df90de78ad7ceec47a4b03314b1360290b6c01257728c42138a90219ffff03660aa69c0c9c577067e5a4a7a48bc3d822ebf2af7d3268560213958790cea027038786f637ce1fbe5172a29a3191cbccd73d39196f272f9c9bce4b0ca6cf398323037c63d540ef68d4ff558320c50ba28497ed46f7c8fb6fa10a35c3d85276e95edd035ff6472788211dc491ca359bff6ba4098e9e22008679f8f90243402617e4429403f7f46caafeeaacd6fbb3b0c045d20f6434c5463bbf861343131697f76dcec8a503ddcc0df96d111db58461abb94513afb6678e13916ad3a9a9b1e2b6a6a4c1583703a27c485f02539fa2b2ac1d9b42c0fa430c2ab142eb6b75a91f0d796018254b1d0323ad0a6c211d62d17950ea055b419aa1943d2903dba5a4b428e1eb26cdacf4e603be168f02ce594525c8a8feb2d2b04e9581c42139994596831f01f60a8587fd5303bbc75f86aeb09ad8c4176d2d704bb0615720e75339f68b05af2c6a3598b376560367345344130a071f68bf5a76d2413c33fc0c95c4051abcfb3729d09e23f94b6e03f1b7cf72301207a139dc39a38a7b56c3aba7ef7af75ed9e1f6b866de6cf2edc903504441933b473be6ccabb48e5f3cd8449878fada217426d0ece5ebeb272154d8036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e03b1d5868f515b697d551a56b2e25f7356a5d7782c4e49cbe99f40a3d37007011bffffffffffffffff05581e037076e46836262a560f683d242daafb4e08c776ff866c1ec1db6adc05900403031324802308f57d7d582dabbcca2cf1d98cf7da48c50cf2e4dd99ae6e6ef303b805581e0325c6360e37b31817bb25359b4c7c774c9d3f6e1a48c2b27c1f4617c6900c0146042877d12c4005581e035ad0a22b5cf0c06722b3c964219b4dd11511bb9d999da457e77be180700c0647052db30e008fb805581d02d47688435f1da750247352030b8bb7698d6e8e06cd2aa3b38dd02d2d0c02473fd83336608c00045924ee6080604052600436106101fd5760003560e01c80637ff6f7b91161010d578063c9b6c1ce116100a0578063e55648f41161006f578063e55648f4146106a0578063f242ab41146106c0578063f2fde38b146106f4578063f3cfad9414610714578063fb42948a1461073457600080fd5b8063c9b6c1ce146105ce578063ca3608c3146105ee578063d7ff53e51461060e578063dd62ed3e1461065a57600080fd5b8063a9059cbb116100dc578063a9059cbb14610506578063bb931db214610526578063c40b793b14610546578063c9567bf9146105b957600080fd5b80637ff6f7b91461047f5780638da5cb5b1461049f57806395d89b41146104d1578063a457c2d7146104e657600080fd5b8063336ddc29116101905780634ada218b1161015f5780634ada218b146103d357806351b8dc7b146103ed578063622fa7721461040d57806370a0823114610434578063715018a61461046a57600080fd5b8063336ddc2914610353578063391822af1461037357806339509351146103935780634482eea8146103b357600080fd5b806321108a52116101cc57806321108a52146102bb57806323b872dd146102dd578063313ce567146102fd5780633308740b1461031957600080fd5b806306fdde0314610209578063088c9eb414610234578063095ea7b31461026c57806318160ddd1461029c57600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e610749565b60405161022b91906120af565b60405180910390f35b34801561024057600080fd5b50600c54600d54604080516101009093046001600160a01b03908116845290911660208301520161022b565b34801561027857600080fd5b5061028c610287366004612112565b6107db565b604051901515815260200161022b565b3480156102a857600080fd5b506002545b60405190815260200161022b565b3480156102c757600080fd5b506102db6102d636600461213e565b6107f2565b005b3480156102e957600080fd5b5061028c6102f8366004612160565b6108ed565b34801561030957600080fd5b506040516012815260200161022b565b34801561032557600080fd5b50600854600954600a5460ff909216915b60408051931515845260208401929092529082015260600161022b565b34801561035f57600080fd5b506102db61036e3660046121a1565b610997565b34801561037f57600080fd5b506102db61038e36600461213e565b610a1e565b34801561039f57600080fd5b5061028c6103ae366004612112565b610b09565b3480156103bf57600080fd5b506102db6103ce3660046121d3565b610b45565b3480156103df57600080fd5b50600c5461028c9060ff1681565b3480156103f957600080fd5b506102db6104083660046121a1565b610bcf565b34801561041957600080fd5b50600554600654600754600160a81b90920460ff1691610336565b34801561044057600080fd5b506102ad61044f3660046121a1565b6001600160a01b031660009081526020819052604090205490565b34801561047657600080fd5b506102db610c61565b34801561048b57600080fd5b506102db61049a366004612208565b610c97565b3480156104ab57600080fd5b506005546001600160a01b03165b6040516001600160a01b03909116815260200161022b565b3480156104dd57600080fd5b5061021e610cd4565b3480156104f257600080fd5b5061028c610501366004612112565b610ce3565b34801561051257600080fd5b5061028c610521366004612112565b610d7c565b34801561053257600080fd5b506102db610541366004612223565b610d89565b34801561055257600080fd5b5061059a6105613660046121a1565b6001600160a01b03166000908152601660209081526040808320546017835281842054601890935292205460ff92831693918316921690565b604080519315158452911515602084015215159082015260600161022b565b3480156105c557600080fd5b506102db610e6c565b3480156105da57600080fd5b506102db6105e93660046121d3565b610ee3565b3480156105fa57600080fd5b506102db61060936600461223c565b610f65565b34801561061a57600080fd5b50600e54600f54601054601154601254601354604080519687526020870195909552938501929092526060840152608083015260a082015260c00161022b565b34801561066657600080fd5b506102ad61067536600461226f565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3480156106ac57600080fd5b506102db6106bb3660046121d3565b611103565b3480156106cc57600080fd5b506104b97f000000000000000000000000483778fefb36bb9b8669ea8d010058fbee07dde281565b34801561070057600080fd5b506102db61070f3660046121a1565b6111e2565b34801561072057600080fd5b506102db61072f366004612223565b61127d565b34801561074057600080fd5b506102db61134d565b606060038054610758906122a8565b80601f0160208091040260200160405190810160405280929190818152602001828054610784906122a8565b80156107d15780601f106107a6576101008083540402835291602001916107d1565b820191906000526020600020905b8154815290600101906020018083116107b457829003601f168201915b5050505050905090565b60006107e83384846113ae565b5060015b92915050565b6005546001600160a01b031633146108255760405162461bcd60e51b815260040161081c906122e2565b60405180910390fd5b600f8290556010819055610839818361232d565b600e8190556064101561089f5760405162461bcd60e51b815260206004820152602860248201527f546f74616c20627579206665652063616e6e6f7420626520686967686572207460448201526768616e203130302560c01b606482015260840161081c565b600e54600f54601054604080519384526020840192909252908201527f38513c502b0ab4834ac1df9502b76f75dcf7092469782cfd0db7fe664388e25e906060015b60405180910390a15050565b60006108fa8484846114d2565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561097f5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161081c565b61098c85338584036113ae565b506001949350505050565b6005546001600160a01b031633146109c15760405162461bcd60e51b815260040161081c906122e2565b600d546040516001600160a01b03918216918316907fb91dbdeaf34f885ccae2d8abc3967cb03c079b6af2c7944e3893fd29427d75e790600090a3600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610a485760405162461bcd60e51b815260040161081c906122e2565b60128290556013819055610a5c818361232d565b601181905560641015610ac35760405162461bcd60e51b815260206004820152602960248201527f546f74616c2073656c6c206665652063616e6e6f7420626520686967686572206044820152687468616e203130302560b81b606482015260840161081c565b601154601254601354604080519384526020840192909252908201527fcb5f36df892836a2eaedc349de29a7581176990398ee185d16eaa8f6c1abd8f1906060016108e1565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916107e8918590610b4090869061232d565b6113ae565b6005546001600160a01b03163314610b6f5760405162461bcd60e51b815260040161081c906122e2565b6001600160a01b038216600081815260176020908152604091829020805460ff191685151590811790915591519182527f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9291015b60405180910390a25050565b6005546001600160a01b03163314610bf95760405162461bcd60e51b815260040161081c906122e2565b600c546040516001600160a01b036101009092048216918316907f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6790600090a3600c80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6005546001600160a01b03163314610c8b5760405162461bcd60e51b815260040161081c906122e2565b610c956000611b73565b565b6005546001600160a01b03163314610cc15760405162461bcd60e51b815260040161081c906122e2565b6019805460ff1916911515919091179055565b606060048054610758906122a8565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610d655760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161081c565b610d7233858584036113ae565b5060019392505050565b60006107e83384846114d2565b6005546001600160a01b03163314610db35760405162461bcd60e51b815260040161081c906122e2565b6005811015610e105760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263302e352560e01b606482015260840161081c565b6103e8610e1c60025490565b610e269083612340565b610e309190612357565b60098190556040519081527f12528a3c61e0f3b2d6fc707a9fc58b1af86e252cad0d7f4c154ebeabb162dace906020015b60405180910390a150565b6005546001600160a01b03163314610e965760405162461bcd60e51b815260040161081c906122e2565b600c805460ff191660011790556005805460ff60a81b1916600160a81b17905560405142907fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92390600090a2565b6005546001600160a01b03163314610f0d5760405162461bcd60e51b815260040161081c906122e2565b6001600160a01b038216600081815260166020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df79101610bc3565b6005546001600160a01b03163314610f8f5760405162461bcd60e51b815260040161081c906122e2565b6001821015610ffd5760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e604482015273101817181892903a37ba30b61039bab838363c9760611b606482015260840161081c565b818110156110605760405162461bcd60e51b815260206004820152602a60248201527f6d6178696d756d20616d6f756e742063616e7420626520686967686572207468604482015269616e206d696e696d756d60b01b606482015260840161081c565b6005805460ff60a81b1916600160a81b8515150217905560025461271090839061108a9190612340565b6110949190612357565b600655612710816110a460025490565b6110ae9190612340565b6110b89190612357565b600755604080518415158152602081018490529081018290527f52cd2cdb42ff0eeec9362d7ed5b04f64c8d022697128b5378fc51cea7e63c7799060600160405180910390a1505050565b6005546001600160a01b0316331461112d5760405162461bcd60e51b815260040161081c906122e2565b7f000000000000000000000000483778fefb36bb9b8669ea8d010058fbee07dde26001600160a01b0316826001600160a01b0316036111d45760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161081c565b6111de8282611bc5565b5050565b6005546001600160a01b0316331461120c5760405162461bcd60e51b815260040161081c906122e2565b6001600160a01b0381166112715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161081c565b61127a81611b73565b50565b6005546001600160a01b031633146112a75760405162461bcd60e51b815260040161081c906122e2565b60028110156112f85760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e3225604482015260640161081c565b6103e861130460025490565b61130e9083612340565b6113189190612357565b600a8190556040519081527fff3dd5e80294197918c284bbfc3dadd97d0b40ce92106110946329088f80068a90602001610e61565b6005546001600160a01b031633146113775760405162461bcd60e51b815260040161081c906122e2565b6008805460ff1916905560405142907ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261690600090a2565b6001600160a01b0383166114105760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161081c565b6001600160a01b0382166114715760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161081c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166114f85760405162461bcd60e51b815260040161081c90612379565b6001600160a01b03821661151e5760405162461bcd60e51b815260040161081c906123be565b806000036115375761153283836000611c19565b505050565b60085460ff161561189c576005546001600160a01b0384811691161480159061156e57506005546001600160a01b03838116911614155b801561158257506001600160a01b03821615155b801561159957506001600160a01b03821661dead14155b80156115af5750600554600160a01b900460ff16155b1561189c57600c5460ff16611654576001600160a01b03831660009081526016602052604090205460ff16806115fd57506001600160a01b03821660009081526016602052604090205460ff165b6116545760405162461bcd60e51b815260206004820152602260248201527f5f7472616e736665723a3a2054726164696e67206973206e6f74206163746976604482015261329760f11b606482015260840161081c565b6001600160a01b03831660009081526018602052604090205460ff16801561169557506001600160a01b03821660009081526017602052604090205460ff16155b1561176a57600a548111156116fb5760405162461bcd60e51b815260206004820152602660248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526536b0bc2a3c1760d11b606482015260840161081c565b6009546001600160a01b038316600090815260208190526040902054611721908361232d565b11156117655760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161081c565b61189c565b6001600160a01b03821660009081526018602052604090205460ff1680156117ab57506001600160a01b03831660009081526017602052604090205460ff16155b1561181257600a548111156117655760405162461bcd60e51b815260206004820152602760248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152661036b0bc2a3c1760c91b606482015260840161081c565b6001600160a01b03821660009081526017602052604090205460ff1661189c576009546001600160a01b038316600090815260208190526040902054611858908361232d565b111561189c5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161081c565b30600090815260208190526040902054600654811080159081906118c95750600554600160a81b900460ff165b80156118df5750600554600160a01b900460ff16155b801561190457506001600160a01b03851660009081526018602052604090205460ff16155b801561192957506001600160a01b03851660009081526016602052604090205460ff16155b801561194e57506001600160a01b03841660009081526016602052604090205460ff16155b1561197d576005805460ff60a01b1916600160a01b17905561196f83611d6e565b6005805460ff60a01b191690555b6005546001600160a01b03861660009081526016602052604090205460ff600160a01b9092048216159116806119cb57506001600160a01b03851660009081526016602052604090205460ff165b156119d4575060005b60008115611b5f576001600160a01b03861660009081526018602052604090205460ff168015611a0657506000601154115b15611a9457611a2b6064611a2560115488611ec490919063ffffffff16565b90611ed7565b905060115460135482611a3e9190612340565b611a489190612357565b60156000828254611a59919061232d565b9091555050601154601254611a6e9083612340565b611a789190612357565b60146000828254611a89919061232d565b90915550611b419050565b6001600160a01b03871660009081526018602052604090205460ff168015611abe57506000600e54115b15611b4157611add6064611a25600e5488611ec490919063ffffffff16565b9050600e5460105482611af09190612340565b611afa9190612357565b60156000828254611b0b919061232d565b9091555050600e54600f54611b209083612340565b611b2a9190612357565b60146000828254611b3b919061232d565b90915550505b8015611b5257611b52873083611c19565b611b5c8186612401565b94505b611b6a878787611c19565b50505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216600081815260186020526040808220805460ff191685151590811790915590519092917f02d59e6bf2c101e2d8367c2a27c51357eccfebcca0d09aa27c00e24e946c0d6a91a35050565b6001600160a01b038316611c3f5760405162461bcd60e51b815260040161081c90612379565b6001600160a01b038216611c655760405162461bcd60e51b815260040161081c906123be565b6001600160a01b03831660009081526020819052604090205481811015611cdd5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161081c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611d1490849061232d565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d6091815260200190565b60405180910390a350505050565b30600090815260208190526040812054908190818103611d8e5750505050565b600754831115611d9e5760075492505b60195460ff168015611db95750611db6846005612340565b83115b15611dcc57611dc9846005612340565b92505b8247611dd782611ee3565b6000611de347836120a3565b90506000611e0086611a2560155485611ec490919063ffffffff16565b600060148190556015819055600d546040519293506001600160a01b031691839181818185875af1925050503d8060008114611e58576040519150601f19603f3d011682016040523d82523d6000602084013e611e5d565b606091505b5050600c5460405191965061010090046001600160a01b0316904790600081818185875af1925050503d8060008114611eb2576040519150601f19603f3d011682016040523d82523d6000602084013e611eb7565b606091505b5050505050505050505050565b6000611ed08284612340565b9392505050565b6000611ed08284612357565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611f1857611f18612414565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fba919061242a565b81600181518110611fcd57611fcd612414565b60200260200101906001600160a01b031690816001600160a01b031681525050612018307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846113ae565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac9479061206d908590600090869030904290600401612447565b600060405180830381600087803b15801561208757600080fd5b505af115801561209b573d6000803e3d6000fd5b505050505050565b6000611ed08284612401565b600060208083528351808285015260005b818110156120dc578581018301518582016040015282016120c0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461127a57600080fd5b6000806040838503121561212557600080fd5b8235612130816120fd565b946020939093013593505050565b6000806040838503121561215157600080fd5b50508035926020909101359150565b60008060006060848603121561217557600080fd5b8335612180816120fd565b92506020840135612190816120fd565b929592945050506040919091013590565b6000602082840312156121b357600080fd5b8135611ed0816120fd565b803580151581146121ce57600080fd5b919050565b600080604083850312156121e657600080fd5b82356121f1816120fd565b91506121ff602084016121be565b90509250929050565b60006020828403121561221a57600080fd5b611ed0826121be565b60006020828403121561223557600080fd5b5035919050565b60008060006060848603121561225157600080fd5b61225a846121be565b95602085013595506040909401359392505050565b6000806040838503121561228257600080fd5b823561228d816120fd565b9150602083013561229d816120fd565b809150509250929050565b600181811c908216806122bc57607f821691505b6020821081036122dc57634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156107ec576107ec612317565b80820281158282048414176107ec576107ec612317565b60008261237457634e487b7160e01b600052601260045260246000fd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b818103818111156107ec576107ec612317565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561243c57600080fd5b8151611ed0816120fd565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156124975784516001600160a01b031683529383019391830191600101612472565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220964eb351462bbc17c22936715b934ae646cd2207ba3d27b6d3de3e3db763434564736f6c634300081300330316c70f4bfe3050335f71c6a03c1fc875e96ae5dafa7d7851a904f3324c84d50c0354aa30851a00433e39757b890c71ce98b783f8d420a02d3b94c3f866947fd1a5031413dab508ba5788b7cffe2e745d44afd764c7a7e1ad6b5559f5639a0c642c64031f1f9770305f7cae919476020743ae05092a11eae72233f0fd46a3d5659af8eb03f9cb1b957f01959e38fe5f083b15d4f078ac3b2964d01fde19799881d1943e9403c4ce0fca3209fc1f02cae3b6ac34f0b29135c4b14307b2b57d69cc96483a1e3e005820030bbe8c58231ff3bc97146843358fb10ad7d3f6118b602e433d3697e4ddb2904bc7341037b782702e1b6d1f0333dd46c0a4e88c25d77912ae023d6b9a29de6d8cda78192dda9e8b09ab07a90a00581f02471f2b97a3126e3d108e2f519492981804a8ce0584f8f830b505614750c54c025999b59312ca1824dde55900581f026384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0560100000000000000000000000000000000000000000000581f02a3c58155b5ce953976ce9251a1abe91fdebb56e5410ec32ed69c1cebb1814b0c99bc8436e057e315c3fd00581f02ff92c2be6e0c27951db21a65c56f42643e568cce086cc44e571bdef173e15820ffffffffffffffffffffffffffffffffffffffffff389a2bff4b2d9744db42990219c8010350f03a799d86caf470298bb8b8b81f58092f00986532ab04573045da3770d5ba005820036f21b42811be3f6035a0db2b2491faff0cc3445fc35bfc00ad3704393123804c06bdc42c7a4b1a7aa5c06c00032f1f5e0a84ee423595572a2bd14205725cf0567bbe992a24be2c6cb7089a0f64034ddf808d722ddf26377fefc2f5d7d002c256ad6d1f32b6c5cee38353ef5f7ca803b5bcff6153c496df8e21089edba10df527a3ff209a5a57b098a4c323b0d0bd8903967e73bd7023c03ff0b70bb132eb98020d0e94cbf2239e797e16cac98f71c13e03d9310b152343dcb073d6172dcf9c5701defa6a0309190cb38f3beed2fee6cde702197df7038a4bca18ba5f9ad40f1d337f241f11f370d6a1eee27353ba0ccce1b84aca31e10340091530eaaf66bcbf647fe6e10e536c7870bab2da5401c6ff6d2e4dcd84e4f30321906b86f4537cf982bbdddb65a32f3cbc80372cbf70a8039bdd6b1b300f270d034b7054509b8453d47df45e8736a403352bfbb9a516baa20c8a13d9112d441f9b03fc0fee4afd96688f1ecd6d94de9b40a6bf3671ba1f6382ed05b866c0e96340b1039ced83f749533a249e2d697389e5f9089f468ac140ae64b2a108290837e3538c030c9e57441bb6e77ada07bd60ae9a6f902ae92b0095c5a9b9e946ba5af1ffd82a034f412953fb6cf743b9eb6ff9475eaf02cc2c71d6bcc81b24ad0e1ff657e0bd6f039b0ec686015e70b3fb478497651d4d617cc3ad543291c99c3e577ce89c034c8e0379b4a8b14efa6b2e098e8ec6bc7f01a66d745dcad1adc7cc4ba1fde7424d4194037fb8f29a3115c42008a375099bdd5dab244d962cd7afaab750b85fb55b00332a03ac569ae7dcab5f6f6c0362eec95ead13401e3161c301009e66bbc21c12e5cfb70219ffff032ea365718040e4cb7edb75a1cddd69a20d979f30b5ca4fd48b2d9b69e3fe2a24034d30a7c55cf7ef87b8ab68b731dda46ceae90dcc818af71846fb04332139484b03a6d8f7529c5b6ce24f1aa0de589d0c87a33f9e91bdcbd56f26257893b0310ccf0343d27bbe368f1822f5e6ca81a1b54abc212ec9a72739b55c02a959382885b5d7032922ba0ebc38af0ddce4a23270a1dff6ebd137755aacc66921acde67151dcdf10340d04d4eb472c159072cfd693b4e9cc22ba71926cd5a88071203334d4d8ef9fe0374060eeeff9d1f98715410f23d3f00949f10f3442b19a5a8b23a8a901d8468950375ca471bf3b3d77157e9855c6ee7852bddfd73d430384e78255c28f800800ebf03ea355add31de85f04cfff5807e5e33077248dfb72c9fb6f4f5c4e6a85d209c5100582003b6c9ca05c3af565dd853a767bb23c917d9566322a6875f260b524f2374d5304c02eb0d13e519f864b062ea8c038134c116b134d2ecf2237bad1300c077fe0b16df146df828a7b530b3d30cc41c005820031084a7898e82f80db05b8df335476edc8804c4d2e3c61ea6c28b2da003fe90444eb2e1650357210cef5cdba9a79435ad4113088471f3fac59df5df8fab605ccde50dac7f6000581f02786606d3d8967cd59a7ef2e03559e5e1eb25231b5cd576458782a9450e584ad9e39d27b1cf0f15c55c00581f035914e9038220614a20244c564d4e5dec03f885d520cd76830ff560e67570410100581f03c00437da311e1eb3af29277e8f54665f98c5d2d0378648152e3ab80a29304b04f68ca6d8cd91c60000000219400802190802033a18e9ad108801b0d4bd495ce2d377720258e075facdb6fc72eed1bcd635f88303632526d8448fa80dc370d20ccec30b57446c3b427611ffe40cd4d626888cfb8900582003d4a4d780cd4c72e93b44c399f087cd512be8f872ad912cf50c47a9f0598f704b0290bab51effc6e1367b0c03bd7c3644a06ecb50eefce5660705570c3a11571985b53bfa6be5e87066e3dd340219fffd0393d36e4c71e667117d6f519dd987cde95deb00aafbf2df4cd5ba2ea6be420e9a03f2a7310629f31719f97eb27d3c1623fb9cf913cf02c26f5892c46fc1feac093b03389d5dad2200eedcef8a2de369ee1e3f8f092258d4b68ea80e83959148191a6603efcd4782dbe4d08d7e836b8e1297aa69c5ed9e6be570c446526c5d2d8ee17161032492126e04693e6aafa51e25aecbc539be8222b4fe0b32070b6760d31239657f03a6c8faa6e2ff2e20c51f120e9e7044b3433e05021a3ee9147c1cdf3e2d669445030b5fd05a795dd170197a359c9e54cdf507ac53970a5484e6f8fba841231b246403d922de970969c8f3148d88fdf4efbb28246c8bbf255eb5004a7033e443fe040f039cf2a50a2609e9a8a3f566976eda70f5c16417f9c9671031ad66b6eaa3995a9d0313b7a0d98d21c6f39042480f5f8fa5f3ea68f743f6cb500fb84ee0f93009b4c203ffd89d0713b11ed0199651ec1aa6316fc421bcd3da21ec7261ad982bea99c45503fe2333f5491bac118340d228503eceaf28f034ea5d001c105de3f219483c8ffb03966f5ead335bd6280f87d75501c1fa000c1075b4667f391e058179f3894ef23a0219ffff03ee6f5d3bf3be8f3ae2fb6400998235acf8d9e8c437ab4cd88571ae49e8a2f03b03baeff1c567c3f8e9761d4d479e52febb02b6b111e2db8b75abb1e069e528cc0603cd56319dd38e9f837770e5b31822a7108538f39e080c0b1f56ec4a63fd00913303ad85b6c07d35e221c2f81c757e76ac1ccb909fbd0f2184064c32efb18eb0e970031e775ccfcacafbd2b5a2adce8d2bd00459d06bee34ef6131bce83a601978c34203de8d1b5a0bca7e93a150e579145a111fa5047040236c1f626aa344940b39594b03079f9feac9ab5d20ec571ae25a12362e2ce4fb4a8db74d42ffa2208d3e82899203166f9e8e3611bef7130e89231e0a70fa0bd59f26e08d1fb3951775d5065b02e700582003a9304affe8e0cd94548b12eed7193c5535cf6dc44cea89c194e0391db477405820ffffffffffffffffffffffffffffffffffffffffffe7446dc08bdd72187fffff039ac6edca8e99e023309a2119912d74717b92f9018faabd1086f846a79b7753d700582003fc3fba1ded044d041bb7011d2deb8a3595795d4fd253c9b05bc436c6a7e4905820ffffffffffffffffffffffffffffffffffffffffff93f1efb12e1a79cbe6ade103d199396cd99b774b3db0cbbc9b4ed7422a616c3cf72aa709a25119812012b36800582003ec2058814a566cb74c5ba5e482d8383618e09b539f75402a37494633ab5a205820ffffffffffffffffffffffffffffffffffffffffffacaff6e2e9523c6d9b50120338a11edc1947c1c8b30caa086e2b24f7c62bd1c789b1080666a26049e623e3120219bf6f031a95bc0f238a00ec8262208c1bd273a390dc4ce1925c1378c5f3c75faf7bbca303c59d293289e5d0071bdfb4d2a9ea059f73fcbec4c7015dda56a3124aa285988903a0677e78919571bc1cefa06636c616439fc59dbdd2463d6d202ef37030acd8c60351844e3ee9b526c50b9ce968e47578f7939719287ba100a6bf55c4b633b4af90038b575c086b88e674910eb76d5aa146d95aed02477e22fe0a59e253dd967d1b9803b3521cdd1fa3071f3a37983934e3eae672fddc02c044828103e6b1b6514a271f0308d966ada94bf34f85ae7a7bb40df28dc3cdcf21bbe0535709f1dc244b27c99203c08a0a9bb2a9fe6ce51fb10d225a0d2a1ed5b8b6b9111868f2677fb7cf74c33a03ffd72063a51079f1a4ec0827ed8857ca0ac999a3fe343c6471d518a47edb8767037f99a1409aa10a004a545d100252645740421eeff333a324359eaf1c86a0924a0345144f6d727fc3c86568dd66835ff4af1fd6651c617b0673a7bd8ef9cc4655620346aa056bfdfcfe1aabfff92bdfdc1f89af67166046218e4cc5cb86977798d84703afd1ef6ebf8540e7e0bce991e047773c32eb39b81dbbb2c1538ec1cb842dab8303c29991e70cfac8550effbee1dcca303cc40a0db1c1aa060e543de44ad5711f630219ffff030d870a98683fe977942174972b721d638438a1996fd67fe2b08dca677c93d13703eaf7aa65613370a958724762c0e0aeea0b143864e93b12d0079b42589efbadfc033616171f8e342813663fa7a32d2d947241eba12de64ee365cf34e4f71bdbc87000582003480949858ddc6ac12a82f2ef77838b86b3164ed2034a540dc70ca1969386104b0c685fa11e01ec6f0a8bb40353adb3abab7b69babb707417a5d55b091a645a4cb6ea59324aec7cb5d8a6716400581f02e15ad79d5e91cb2b8ed1179463053934c51133257aa30c4ee506a90b4e3f4cff7e12381cfe1f1f4928613800581f02268093bd4f1b67149573e099287f4f2761f779e364136c312c70ff588c565820fffffffffffffffffffffffffffffffffffffffff8d973058f6dc71b939bffff00581f02abd0dcc2d4219cd7dd442f86c72d1164474dfac847eee854df1f13046c654c012e0a8fc4f45c58ec16207200581f02773493d95ff33e0cb22720f808ac20960007be2f0a2d50861f258c52c9514b0cc3807b84e58804e7efee0219052803baaeea1d87cee0ac6f55edd5459378c854c6b58925084bb70aa051c040eb3f1b03ef710ab8b5e8f3773f28d11ab3b657bc591a912523384c523ee3fc291732baa603e72afc366cd3b10a5e5fea4746a363ce4c265bdec0956cd68f331a7718e680ca03e2d3ead449d2e91e01bfceb0f689ab74303f5191a8698a30b872843c2f2f6a5300582003f7ef27d266882f86e120743e6eaec5b3bc511d9e74f426346be23f141a36a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820031c3edae70ae402e41fb7aad5b12b0efc309cfe79b42ba420a8d5f784fb33e05820ffffffffffffffffffffffffffffffffffffffffff3d26edd74611eea81af1fd038abb1b54e960f8a5f6618b1cbf6ce759f129ad86faa9c250e96bccecf326b9a303ad0db58488c9d311339d4d232546241257123170fd2b5f0ae62607eba135885b035cfdf579a8551822507702744f6a985ebebdea115d5068856be43d566b58b9850219fcdf03d05f8a2efddba6026668e2d7794869580d856165212c9bce89d33af9a516707403b2411bb25cdb11da67413c33a8dde368935397c28507dc31825d96f1c837b83803ae0e3f18f2de1aa16a70a17f82c9d832868261472b7a88d258b4ff0ff8ce2db70375896607637dca461b958df88e257d9eecf48f08f048cf33e65a2c1e32ba266d0058200336ac63cfd526a7032c0378f1749dbe7acad6303eafff62eec3dca77de4a3205820fffffffffffffffffffffffffffffffffffffffffffad8587f68bdee220c461c005820033dcc9a974fef6274a42b703e17dfa51a1a01a5b997058410bed84e21d016b05820ffffffffffffffffffffffffffffffffffffffffff90c152b710b0b903b5431103d8dad4bd7736649471e3abe4150c78f1367b475eae0cb3ba6dba4543ac915a8c03799e9cfea2a1559eb277572774e0456485df1eac3eb938956b96bcc9359f65b500582003a847d1e51c742b239afdadf0225cd60c86bf56e8b6ae0130f42a7c1af6ce304c1dcefcb1e58a0392d493e726005820033ceedec91b04601d91843abc34d667d41728cff64a8ec75dfe02b3dcff69d05820ffffffffffffffffffffffffffffffffffffffffffaeb722eb443784dddfffff035507506dcbafebb8509d62cda0b8d0c4677f89de3acc252b79c067816042175b034f1443600b59f643192733b65f7a07bf12ebf74f83c58cc26fbd11169a271f9d005820039ee4fe84d99f19362773efb798508844ef28f9854b1bdc7bb9bab8c40071904a183111a3d2df2aacfecd0058200309ef0a5b69fdb866f50533be298ed7926eac47ba2ee9a2347d1d6758dc27205820fffffffffffffffffffffffffffffffffffffffffff198f9d894e394e6463e980219fddf0303e14a451339d190145d667a7165550c288b191e68c203b9ca444cfd4127f96903c2aa649ad16254e60b005248af70a67eba622e52b927412cbab14f905e9186010385d0ad3df0accf83fa93964c06288c74d8837573c6defe49e221a50fec4091360381388210178f8edd2ff96de2e31a320088d4f7dbdf4199ee9868656372f4866f0361e16edcca579814ca65d355f8aa6964f6cf20fa0f5d03a78b0758df9db16e1b03e8db99d00ed905ae432e289f9af18a5d226a04f2854e6f7fa174dc7e57aa0b1a039745bf3a39164fc916c95018138aa944c2fac760d82f2d87b4dbcba83d1a9541036486f32235ee6b7614cd94b4a38b6ad815df1f6c444141739db8f4134e7b0d1f03db11f35d0366cab159482b8d4643e6fcd1ddcb9b801f91e870587bfa8e9166db03c168fb035fa9d4839379b52b8125f1933d2ff63144d8c3b8a62a38a32e74a4a403eac5f11a233e80cb0180abe2a1b3a083010cc97ed8aaf7abef2feedd4b58e572039c06ec2c78f0777876ec1a1c94e475542fb4124024e427e19fd67c4fc017e44c03c2b92a716b92523a6c1efa39ffcf6415429c6699728a28777e4c54b566bd4c5903d65f44766bc501723be394cb2854d4edbfccc5cbc8bf17248cab17f9a682a3d10219ffff03f35e723b32e77b75edf3e3cd6bd967cec18107e656ae0ca194d175e6ca516f7c03383da3e614f427d59bf80b81fb28354b3614d7b182e14aa4340bcad2918fafc8031a070be0594a7872c309bbb7495ced08fd0e2e873066fac1ea68eebb6c1b24490390a872e3a13860485142be3232e280248957753488d8e08b80e4bba470afc8f60352dc7eec4fa067acdedc1f17d5f2cc257f489c5273bef6ba4833dc7d5c766145030f063d9228d21afcac3cfd4478de6bc8034829d0f58d5907cc77e51e5c2dec8403ab431dc249030d04af5659bc4aef8dde538ccb29f54b7cf56bae58113f98d6aa03b878ce6cc9db2d43144c0a451a45f3e01e9379a592b086a4230bffbdc4531f1f033336aba00bf33599335eedab576555050ab6e023b05110170f313f294bf2793a00582003de16e07b034ccb88ded038883b7de8e03cdf78d0846d7edd63a8ecf33c2a004ba56fa7819466989656f37e037a3b2822852d5901b8784785b22833456e444a945ed2de774c83f221a23cc759005820032bd0074be8ac11532319ae5541a767dc88a3ea36f8440543e95d4ce20e7a405820ffffffffffffffffffffffffffffffffffffffffffee637ff07081cc1acb0f2c03200c204f350643fab477c792b6dee3954dde1f4fb5067fa79779b09eaa60e6bc00581f021c75de017c2666672516964fa90de21337e75cecff8cc0755d428fcbc8555820fffffffffffffffffffffffffffffffffffffffffcd69bef74a4fcc3634403a800581f02ae2740f06ba93d0efc2de3f9d5725a8de045ff2966099117f0caeb189f725820fffffffffffffffffffffffffffffffffffffffffc760cb5c639a68e4a38b47500581f023368a232e2b14a33d1d6763a56c07a76a1ade02295b168bbeeea1db5bc574b094473f6227090cccf5ae1021930400058200323e22cb5ef436458f7397d1274b5b25ef44b58a9e83d52acb83ae56f814b504c01e41391d001f293dc71195d00582003a03b8ae9f06f72012e51315b9c325e7092682309cd045dae4b5b9c1cb8aef04c019e00151416287ae45a93e703e710f57f0a42c759ab1213578c5720b79aa32aa4d079f52a143b95eb4aae2dd50310a6eab0795cb346d1573dd4ba84658dc875dde548cfcff06a2dbb33b7a24aed00582003fddd6d658a9de3273475fa6b25836606e1160256412c94d294edd0139531604c0276ac288dd3ac634f166aaf03726e42f742634e4321d179e210cb1f6f60629f7895a27c0de132714946a698d30219fadf032af7d8316e87ce4848ce77a5b0853cdfac23eaf64b29ea4c324e9a0a785037130397068c5003179b0b95ec729633d3ff4f06c906b055097979e683557b2516030a031d73846f757105f20f9c578bc17884d294fb64411ec00ce20f28f3d21a306890038540f0d101193d55c90476c19f3cedfc879983c6c7c52013559b2a1d1369893703ff4ff93706c1f05cbee8601de6e01b122388f64a149574460a236ad24de0dc5c030903c3ddfc92f883af58f2dd8a1d7bb9496f37d2890b81a68fdf9e278835cffb0323e16ca857538b439f76eef8af92a210b97fec9bdd0459241d4620fa44509f260352eb94506cee4e28dae681de3d2468e28aa57e2da27490b8c4b9fd46cb3a20620219ffff03eb39f9037086023f17072a4b000ca87de60a5fb823efc4554df266945cf313ec03611f2f07de76e0781d5b820e8d8b55263663331aa067cc7a356e620de21f7e00032a60509ed3803532e1a0bbe1b74083da41c2a733b86bea5f5872e343c594833603e2a9d483be514120bf029fbfdf7096c51beff69094bcd85e9ab0740a8a648ff00373828903d741c71876656591e4f9e875bf317deceb360c9d92344f168d06d59e03058ba7ccb3323dd6da6bb1c40a7046cea7aabf9c2644702139a830c35f3557e603168cfb702849a2ba4cd8c9a740dc5305e87a8ec3f70d33d439e2ec52b54370040345c4f1c9c02eb6aeeed2e2c5dea491db3beb73fb94e770980e18bf40db8ffc190333b6aa972a0ee9b923cb12254959915a918666ee645ab7c52d854c5e987e885303043a5eba721a40f398b0f72f386af04864aa91b799b02a2b796308f1f286b64f03cac0678ee66c76331772929cec4b14f19162bfe2d4b140989371832fd7f1f59b03aea00946a40f2130bbffb67e972fa1676745acd4214e3afcc9bf55ff672b4c50039dbca55773cbd0ceef17a12fa748386394562a7781c7550d9f6991bd1e0b752703d2556c014c09f8622512f53cf533c209f332bfd61e6b9386ff89c0e417f7d573037fc83399d9e122cd29f3ade6b2df3dc6500c26a46321e8bfde634b867679c77103dcee87cfa9cae6f2bdde639ba31e419bbcfe1e2201e18fce6ff229a7854d30e50373308c986903b93182c94e67a3a9c09a9bb568948ec5ccd42aa7fb06f2e11dd8032137075225533838a0f53e7dd62103d305b7d604ba777222e6d2c48d152b598203496987e35c9cb6d81dcf034759a542e1625f85aa8fa9facdfd9d5878513fad8300582003faa89a029def0e8ddb60f7d0f1a137a895f43f7b915eaf3c7bd0f8c932c6004a3c954cd90bcc594b178a03f7fc8aafbb539ee97c580b4266f92f28eba636100170eb4a56693344e174c73700582003f20592570f6c9de2d5ffd4af0138da16fce4944bb52e49141758548f056ed05820ffffffffffffffffffffffffffffffffffffffffffc8a34cc3dba8402797ca34005820038a7b1933632eed6ae6c04eb7dac483c6be3fd01aaffda5679db7f10896e5d04b07f9929b665fa0aa4ac98400582003adc9970e4169e264512488df7630ee36919adecde0d60274ba13e9b883d5404b0416d91ead8d181d8b43d1030a5c7c8f386b7f16f19802a84b05690ca75aa39e1ab6c5bd3c2196b257ed47490219dfee031000d089764a9db2e8dbe15aad6a1382b7562c60ea104904382efb9d9024df1003d0ae5e4517815cff7afd2005a07132ed6924357710dbd9f150f5a4c578e556470377f91ca8104f2cd318563b7e53be571d388ac19a9412306867859ec9963c811f0219ffff032deb0c204028173a9002a4e2653e41f244fd4bb35b656dbea66713009ebf2fa9038276944b9e087a7a3c79b1c0010d5477b0f4d5d6df0bf2531419b270cf6a8f5e03778286bbb535bb01f93de914750514b398d06fdee905620280933750f04eca3e0397b867acc0255c039c2631864cdd16ad8a45a6733969943b23efb7108d2a731803fba378156d8a7458c8ec8a815042bd1b55936079180219cef95ef574cf4ef8e4036176013a7251c09d1bdc849d90b86b7fd1588bd91964cd9713a57cc62f824133034522991dabeab6ada4a2bbc9d1fc8596f7056f3c79daac4362c4de3653c236d0035157c88053a6e19ec62203c473834390aea6b48fc978e91f1573110faeea59fe00582003840d21f5891c192b728094d6cfbb4478927f2cbc175af57d83cc342beda0904aa7d2c9d3349b911b843503e4d6b6fbf6a3fb27c10c99e577707f7c7631215b23646841ecf8d4f3a35ab8d90374e5650cd86f0eba73a90ed98d4373d21cedb5a0d8218f8d743a435878299fb303697bd8f2763796b49713c60e6bbbecc9d3da69625dde3628ef02e38cd04c4bde030863f7206c73be4f80dfcd2c408a295d93956e91e7df923e7c21f83d1d17d09f005820035a7336cb532c12468749c5c40c87a53649342af9a59149f69a65ff972af5404b03b59164f54e582b3ab49c0358067106bd598d5d57f3d556d996ddd29ca28a9e1d400064e64cb94af5991103033f980dd1a48329d13943dc21f0b7d0d9000a373fd85b6835a1672c8f6891fd150363c1847efff812ef70c8804938ed53c8b931971c9f1c1fb59bc139108dd4c5fe03a2b12462751c56d1e995700a8fffcdc501e693663c3b4565ebbc1fa7aa808e120219dfaf0388d56d6eee6362ed08aeb6b36fbde39b3efa45734f6f0bb87e4f6bea3ad9013703c780a9556f722e4f01d2578c7a09aab90f0f21211686911391cdcafccc04861e0372002df89a90c61a41477d9ca5b75d33e439d4ec94932ff4152e451ae489ff9c03c1cb76cb401e71f69a98ec8b193ca7c1cb440ad3430221b9b9fcab8c757a1f92037676a3de4ba21184064960d05a658ff53988f171bdac2bb5eeedb7feae9afab603a6c88965b6b5076e0038b0b5c11b643c5afb907f81611968436ced76bbf85b8c03f3ff1050a276aff136ded098e1c519bf140305d96453ec57a9ca66e74ba3a686035bbe36826dd25faa6a820178f778806d9282e46365e1e30de542227ff59a8dd603f4e6b7e2300298f5516e969fb163f8b9cb3c3bd813cdd0f9ea56d7f650ca1c7b038751794bfff04fd69144f55febe9daca998a5d181d659061d43c1747196981880307f3069b2b546eb6f215efe8338d00325fb3fa27a62dcacc7f78e8e159c133f7030dd40183205ef099804f4993aa095eed6d67ef24377015ba4ec733f6885a439d0219ffff03f69098cd2d8956788ed848381c39c03f4d7072e4fc88a94f4efffac9deceb57f0391175363cb0badeb7946cee6274c0fdca1ee0dbba39a97501320e647c4f818d9037414877a1fc63716a9bb690fcc002f8efa76a6ee462ca88a026dbeb4cb72349d038f3ea2de3f8b05643aee9e22e769636b66c153c0251e5b4145561856ceba8dd003068ac09c424111c25a51361f6f16490834757d9cc5e179f030d67a097822f761039f3869833ffc90af682130cdd06d59a6709a7cd9cbdd6e4f84e9d1a9098bfb25036b02f411c06cdfe9680f56cf7c07e9afd1815463851162ae585b4114347ffa5103ec73bc23ea0d436a9870a1d6eb508318f45f89169f6f07e8ca4599185cbc192303937df22538f239114a76cdfb284fb5ef493d1f64d9e244bf2cb16348c89cd267005820033e39a09d9172daa5053e0364d3563e621cbd8381c3bee2f97ff273870a51504b56ff24a637a54b8e11670d0058200311ef2a7a469c10a77ea86c8aafbe8fd1974d019566b44f4a86725e11ab5a104601d4b92f7b5603df9bc615845e35dd06e379f8d5b9fd742a886efb34cc89288806925563e2da5a005820037081fbc6a1b40872c7c354cf43f65d0966bd51e9d7b1466a29ebe0ebc015f04b029d8196011e4a86c64f4e00582003096f00d01eeaecb2639a8df136590888471ca58cc7ecc09e26438c2e71c3205820fffffffffffffffffffffffffffffffffffffffffe33862158960bc0d42ea0000334ce276c1e980883ae1d95524c80abf1810f371facd057ab63d8ac52b7be9dd600581f02ddf76258c8e691fe8c9dd7be024fce1d94d10fd45341beca63969f7b3a2e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0274d192984bd3c5ef2c8a7c4c38f7d50e8173308ac9581e87f57a0c0b54634d2bc2b4d9294fed24e5eefeac0002090058200309b0c325be87715e7c0bebe620dcd85091ce6d29047469070bd507c8f388d04b07314c2b014468684229230058200340e8fbbcbdc2358d3ebc4327249303fd70508f165332ad9f411e7aa3547a904b054c209f18fbedd9d6dc6100582003ee9f8146816815556a5bb98f2ee8e8c5fb3810921fdfb7cb01624e7d1cbbc05820ffffffffffffffffffffffffffffffffffffffffff8711253bcb8e94f471a800039be13b3bf5673a5897bef64a0b2db7db70b1a5bc6e369dd1e6eb2ab527e9e5af03337924b74a95316b43003e6f6677b953aad8ff5a56db58db313718d249423eec03de8e8529f89e2e2aba4e18634c7d34d74d0ff4507e7edbcad47920f0f5c4dbf10219f6ff030a608d115adce167d7217f1813a1153ef35dfdb1c7e7cef5a60b5d06052033a503bc73fa4799f8d2cd498c48569b830b5d20e82c56307661e26206de95b17793ac03ccd14ec788b5b1906932224a735b8511d7ee82e0f40d0ea68559bb154cfc1b4303f1b105bb0fd34b7713672b4a2779d69765a5b13ce68039e000835ebb0f42c5160336bf8d6bea7215ea08793b4e8cb6d2176b0b0bf4db6a9b59962d0f84c77ee6c6036223b97e0df39ebd55de3ec4cdc7c01f05d3698ccd247583a41c73a44db5b3a703a246b944034da9358a3e1327c50bb6f7cba3bfee57f28203d164c02d39327f550219ffff03c69e9d964a5a26d12806dbd4b5ea60db6113a069c0f532a7b7d1b996143c2f95005820030fa7f09b57d96368b09410844f57d9ff342abbb4d0dbddfd9352ff291f72804b02d8b18a55a0354ebdb2e300581f0237e0cd66e26bc965ff086500fa5c2e009252dbcce5884bd31f6063f850755820fffffffffffffffffffffffffffffffffffffffffff89d72b81a72f6f1a9dc0100581f02a6d82402b77b136be372a187268e95026aa55cd619ae235fe4d89c459157480d725e9423a51fcd00581f0265f2f9d2403c55ee5e275e41de630b66c95858b1e0854390e68afa7c988e4b3e09de2596099e2e12cdf800581f02e92c15ea72e8f845410c8868f1833d7684bb226dd5a9cefe2fe318bf808c4b0f1a46beb6413642407bf800581f02f4227fa88c94924d59b3acf89dd71449306e517a54a0edb233e03767ed665820fffffffffffffffffffffffffffffffffffffffffffa3419698bc65be4ff27e0021945030058200335ae0e3f7c5268b8f9354897635beab2d7ba9dff0f9d0fe1608dabb29368e05820ffffffffffffffffffffffffffffffffffffffffff0bb9492267c4f070eca5a403cd14334205d337201fd70d4e0f9d2e844350c485c6ac784c2741d9e60ad332240394c28de0dde627651cc8c21663c7e8146554be1f8bcee2121cd0d689b0cd891103d1bbec1d01261aeb9623da6741cf06c2b4787b7a3644f6a361b623ad3ea5fc0103b44cf6e925bfb2fce61acedf65c5ed562d5ecb88a1fa707f4cebfee5b444763b0331330f42a9a3820efece5ff1683c85d331409f6c6cace0fe3a63352ee1f59d7f03de65fba38eb0d5c6ae2faffde75935c4907fc81c3a65f8456bbe4e6e13e0c3d50330d4882413cd3b1ff8c1fffbf174de51d742072bac0647dbff607364d5b2f47b037ab6befe217d736a29c11509cabc8aa341fd0686f5dda817848eb9849272b0360338cf5203f68e290f7b0dfe007efce2ec2f72803843c65ca06293bd8bd2abed1003dbe0ea2a0d9b9fcc4b1d891c4f5e59120c870e3787f4f7c01e71c8b33cc37d3101410a03826ed8e6ae9f96f5c2cf125c6a67cab6fb7bbf98c29d26c40b7a4a607df5a17e0219feff03f72662e8fdb538aae0e5de4795db5da6552df17effc5e73c9c99ef94fae1943b03aa319456bcf746a410a53547e1849518cbba1fa6a82da43f3f1c910e1969c71003bd83a71aa350bb0aef4ec9cfcca9e1ec659365b66be478e981bea7ad2471d1bb0378bc458f63871b0d380ba62689411d441f2059b6c92701028e3fe35b4a440f6f03a33f7b8bbe8b32f5b16dd7c1ee7c3c1e8e03115192cb8091385bf5605c84959c032fc00aba5d2c975ce5faaf31e126ca175156cc03dd2ced8702fac5cf3db176ba03887cd422072ed8111b66d796b3a8e507c4d107908014c94ba7d1e8453be0ca9a036826a465f7013100506fb4dcab551f70f6c15414fbfa4c20c2b6f7569874045a03386f1b33628ec51c9c9c42e4ccc48287b672766e5761b0a7de52aea4927ecbe403b5d66d4573d5fb3c6a220ecfe2bf6c12362426ec0299e9a5365db5736fb87fdc0397074a2b47e9b3e42e1caac70d3e985b5bdebef53b996ea3c6c15e73f7784f1f03a596b4cf683cf237bb708453f884575bacda915329707de72e9d11421331196a03a9257b115c29adc94a0f4a75663cfe364a2c7fab63300a8b214924795e9a81fc0383a7391685c108c2a8f21b5b9c3ac7ed892695e13cc7a962468a15073f48d13003b8c7960c18b2bfd21836fe803ff258c90b44d55f5d40f946f06795fd35d9def10219ffff0378b578ffaecded6a377513f89bc11c86fb8086a9dcfd23463b6d084c0958e7ef03fd55ab8ae5c81f9c3505c5c68a417fb502bc49c0a2f0d449b5f6200aae5116fc0358babbeb0c54115c457cdcbcb3e8376f6270e2cfad353f6025ee17f9e15e4bc0035519d3e27e2592f05fa6a7f1ef162a641ce676fd408ebbd20200ad83d9185b3a03e43375536d5c0421e324be34ca75845f5722706f2a7afa45c302dad8569c02580356cc37f2d2bef25d88249755abbdce6b6917dff8c40a82c3e1ed5ed02f131d37034d1d2744f5f55e6fc1a128d3b3256badb8e72ae7fb95c8fc638e44c02c050dc2005820038213a348ee5c7a36a90485c044ea79376719ea544888f23ff8a50dcaa1fa605820fffffffffffffffffffffffffffffffffffffffffa54932bb0d7bd9ae4c96cf000582003e3c966c8482cfa4affe348c062c55be95bebaddd2191bd3ff769de0c96e0105820ffffffffffffffffffffffffffffffffffffffffff912497b8ebacee8baff8ee005820032062e696ba748fbf635c311061747aa95af0fe246ebf4e2896b8db5c9ef2605820ffffffffffffffffffffffffffffffffffffffffffaaaf8790d2815521e11b980058200387314f765b9ef14434ad14d188fbab80cee287b1da2ad73437f1ea64c037305820fffffffffffffffffffffffffffffffffffffffffffe47d878f4778e61a61fff005820038a6e1466e35f0ca0d280fca6b0b4a9dd9a8d90330827706390c185efbd35305820ffffffffffffffffffffffffffffffffffffffffffc00457ee051066194fe24303dc7af581e4db21d54cd732ca775e15bcb9e7d07dc10265a9df10f9513f10a4730373536dd8fdcc3beb83fb6a59cc1074c6c6670f7045865510075bcbe15014170e03bbfeb269ad23cc176e27fc9d4d8c39fac5b3a83fac2afe59739ee206f651d9d700582003f099e3ea9ce75e2bec1b894ec5bc304783180109f1f42157b9fe882986bb704b2a63233c42f8a16370ddd00219bddb03b30e3fdcea28fe33224e76e57c0c054a921fe7eac6d2d5a3669163dbb617ac7f03e501c6a49930b89e472b8ddde05388f6ace9916fad48086ddb49f8c54d1c7e1e031eb9e2bed794053b36ec78dd7578cb791905680025df9c29bdc9e8dafebbec9c03673181b38ee0efc8d0f7e9fdabaab2049ecceb03034824a959d9189bbed910450341b7a9a695d3c877e54dce930e5a3461279e613b3446797aac6bd89f38968d080351bc1dfa2686a6d761910b6cb282fb3c188895348f5c74aefdc724b5b6a9b51300581f0295b7173714647ecd70cff40c9b5183c505b34a81347db145dc37d4eddaf44b0403e27ea63fe10a096b2200581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f4c015bfc9298de952e2f40000000581f02b8e7bbebc94f62422f9f5a5e6583dd606c215cef29d197b1ab5b896516575820ffffffffffffffffffffffffffffffffffffffffff0d2cdf385951a1bc774b040219080500582003e9c11831e173a5aebab46ae8a29e06cfb5adca288f1b1d9b864f272715d9a04b03b452c914c49f1628b30b00582003c2f0ecdbfa0b34f7f18953a72700b6fe55ed9770df4c04ffd1565b4dd780005820ffffffffffffffffffffffffffffffffffffffffff85a161d246e6c58f981f52035957e037e0337a01e4d181f585fe7508df91a481dc02717b56ccf327407d8d8300582003af1cfc318579074635cb16acc0c14c7ef41aaf2e1b6bcbd6d734d97a6b08a05820fffffffffffffffffffffffffffffffffffffffff790e7bfa82247cccf9d50610347d8c195d8783f6f9a5dbd0c23b105fb0f99fa55d9e72e6ea4fe6aab54de62f80324d5e2133a3e7e224312e818ff48b1394cdc4ef25521f48901f183e7b38b34e30302492b75ab4a945b3fc177a1632b99f3e179de5008e132d95da04fada72261590219f73e0374510c70bfd0d2178b0b274eec0a2b94734759cc79dbd0874c1bea74e925592503320d6b2b0e80320ae48bac90930e359972c6e74050becd564d3e6f4a17e579b603e37560d4b8cbf8dd3f44662db39bffbf04280482931867995de4b60ca8211ba7035ead698be7c2d0896f96f017136a6c44fb5de70dc20c965fcc6eb78066362912030b9b9f0da60eb47bdc704aea7dc8de70eb796b3619f9f8d30759effabf2eb5c0034d524f7237667134ed2faf4b703ee920911c35ccd3177e2d303a29ed01e82bc7033eb57e8504dba2755ec4a89b08fc4f8b320c7421530eb560e195d7c200d50ce20355d3fe4b7cca0839cee4ca0ab8b7a42e7a896260b9288fb5b04f3a31931aeae8038a91a16b5d8144f356cbdbb021266059b1e7edbc9ae7d5d6fc71b7b6e8853b1e0219ffff0219ffff05581d020c06278c589601df7936e478a060418cc1fa9b4654b3bd1904cd4c860f014805438948f0cef8001924ee02184803d169c97125bcff655a12ce637af549b4b8f9e9091d97ad84026afd53c3aa545b0219bca603fae91bc79f79929ea8c518176b3ce17aaa8f133f6188a05dc456bb552d82272c0306056f056043543b35ba0756401cc39d28f20b2864964bd2a0b58b4cf49e86810310e258475647e3e78049d2768fb39fb6838c352391057ba19ece1ec15d97d44903b76b1c37cef46e1b01a4b7d3e63e6c5b9157ed8f0e52452a86b16f7869dc572e03968344a497f8290457227234293ae4aabf6e3b003747c9e0b49511ce470e138903ecc6770eedaccf9021d6e39a2c8bb8312e18b030b9e471553fd81cf30155d8f8034bafca67cac8c981a0353af48a0beb1e146d752c7ab7ac3c4cdf86878b9d46db0361da6611290558944eb8ccc1972500246683b31a01221dcfe5d6cde50a9454ba0398a7faf0fd199027ed23ee9325959a16ffe2db280fe1e3ad4ca4db084edf9324033c34bb50b4eb73d6fabeba5e99fa8f9c27908816e74c6e858fc38428e1d8eb7f0374a4531f2b760534610d2df02b89de16f626127f56048627bbd21d88daa0997603d443cd770baa69853a8eaf82b518bf2f64555b8b1e62884c51120a6113fed9a40219ffff031dd82129586af228653de5be1b7be13fc8e7207770d44ad69010a9936703b78b03e2754922c85333eaa857ffa872dd2de4992abb99bfc1b5010a78aae17b7f084503f022943c0827786ba77b8ef9ae19f77aab2874cab25094bc02cc8ed6ce3b8bb803e30de4aa779ba8183cd5ae93bce9ca3ac7de231e7882b407810bbb5216d0b8a0036e225ffa1d5a7c64b0e78a3f2243631a96ede4faec0734fa4aceb84d9ad4365603f6a13eb6f29f2d6ae7d8798bf5596164796ceb5c8f5f7d466055f9079ab1ef2d0399a4a0a2e7e2927d24c31087ad41ea98e5184a6c24bdbe54fcb5ad264f3595d203aec43c8d3c740796462ddc54dfec862a7f7806486e5c65869b675d43ecd809c403c9bb65dc7645c897bcd7a34d276a776bc0446497327b3081d22e17f85d3b265e0219ffff03cf91f04801f689f5968b36cc64932aa57ecb123930986281321975f88ff2d5800219ffff036b38f099adfacd88918ae1e023b825fa600187688204239c9bdf1e7c0b2e9370030ad255c354f38e1616f03935d6c7d8fa9015339a0a0e1d0c4e4897a9fc4d0c6403951df857920f7767a332c4b5f3292115ff36468c3961135b63e3fe26b5fa7c0103260473a41aafa4ff8954331f87fa6a50b47397d445a18762439c5f913f8703800337e29e68c97ff75bce734f68f49176ef026e96f9e73fbdcd0720bf00a4e7a81c03de90008f00418aa5eea7bfb4d6eae4dae1c6da1765ab289624264dcf3fe3583f03823e0f947a062459d24cbc2635ee51d47462870c6098912058722c2e8a81f83103e2566749d2cbb3a13a11a6798de15970b4b78c561c7f59f60e06ba73e8d8b7570330b5b00391611cf04f7311a7e0533b693d613adf0c655fb2830e367c2aeb5c2903cc6e32081056a1823f046e091500c5989d23aed2af5fa83b5de465a20e8f5449030569640095dfeb202c824730860515381774ee69012aa88372442e448af7e154037ff5d63e25b7ad55feba0dd8f4dd394f201475c6dc45d458e5d85ba63a2d821a03e18a8a85ff2bbcada9401b4e2b75dc8e64b08470bd853ca5b3ecece29afb480d039c10274ccc4f5a33fc9df7b94378829b52bc22a9c2fab1bbecb86e99b24a6f0603d967ffa0ddf9d870d345531a9608c14a1f27f28fd19ac61097f340bc62457f9a035d930bf0053899a239d942db5b46e8653a5e5e09a84e81852f130438d88f495403e70677ad26907c0073f33f85eac5a977dde513832d629b01fc85bc3701ba0fd303bf9f3be47553e0952c0eeb2e84b95258e58bc21e06e5ab9b8459231ed27431bb032ad92776228bea409f26f416c653735a7ff8b5f1171ef3ad3d1d388e42a24c8303c8d5e30378a1ccf2976579229d51d39ccb05ce8285933478475108b66e2193e005581e03520f1c1144b24c2ce87e7459e0bc768a2b327757bdee9be235cdfda630040105581e03adc92a3d57103e87d72eae67f3ea13a730225d0e1e8e0af52b59c2b6800c034655e9e86224d805581e0320dc1086e8876e02ff4f7cbb69e79bb49001d246469a012822f6b05d700401034875555289f79c2c2f7431de427e59d5d70fd6f1d70b7aa84e71ebb4cb3d247305581e0314055b1c9397f758dc84a39c23a8056b3bc19add63abac4f3ddca21570040105581e037e2a455dbb9216f5da64ca9338618bd59782bba0426a3a3ef68c0cff70040105581e031aed6efe4c866f79ffb7b91ed02c6af216d04ef1757d9d6d53658273f00c054729084c5e764134038a70a36b03df65c40adce9a36ad23eb646131d89372524efd60698ec88c1a3fc05581d0287d6e269b41b8c7406da2c48373f4c3dba68e9d6d0acfd71821198f4040204595ba8608060405234801561001057600080fd5b506004361061036d5760003560e01c80638456cb59116101d3578063b7b7289911610104578063e3ee160e116100a2578063ef55bec61161007c578063ef55bec614611122578063f2fde38b1461118e578063f9f92be4146111c1578063fe575a87146111f45761036d565b8063e3ee160e14611075578063e5a6b10f146110e1578063e94a0102146110e95761036d565b8063d505accf116100de578063d505accf14610f64578063d608ea6414610fc2578063d916948714611032578063dd62ed3e1461103a5761036d565b8063b7b7289914610db0578063bd10243014610e78578063cf09299514610e805761036d565b8063a0cc6a6811610171578063aa20e1e41161014b578063aa20e1e414610cd4578063aa271e1a14610d07578063ad38bf2214610d3a578063b2118a8d14610d6d5761036d565b8063a0cc6a6814610c5a578063a457c2d714610c62578063a9059cbb14610c9b5761036d565b80638da5cb5b116101ad5780638da5cb5b14610b6a57806395d89b4114610b725780639fd0506d14610b7a5780639fd5a6cf14610b825761036d565b80638456cb5914610a4b57806388b7ab6314610a535780638a6db9c314610b375761036d565b806338a63183116102ad57806354fd4d501161024b5780635c975abb116102255780635c975abb146109d557806370a08231146109dd5780637ecebe0014610a105780637f2eecc314610a435761036d565b806354fd4d501461094c578063554bab3c146109545780635a049a70146109875761036d565b806340c10f191161028757806340c10f19146107fb57806342966c6814610834578063430239b4146108515780634e44d956146109135761036d565b806338a63183146107b257806339509351146107ba5780633f4ba83a146107f35761036d565b80632fc81e091161031a578063313ce567116102f4578063313ce5671461056f5780633357162b1461058d57806335d99f35146107795780633644e515146107aa5761036d565b80632fc81e09146105015780633092afd51461053457806330adf81f146105675761036d565b80631a8952661161034b5780631a8952661461045657806323b872dd1461048b5780632ab60045146104ce5761036d565b806306fdde0314610372578063095ea7b3146103ef57806318160ddd1461043c575b600080fd5b61037a611227565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103b457818101518382015260200161039c565b50505050905090810190601f1680156103e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104286004803603604081101561040557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356112d3565b604080519115158252519081900360200190f35b610444611374565b60408051918252519081900360200190f35b6104896004803603602081101561046c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661137a565b005b610428600480360360608110156104a157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135611437565b610489600480360360208110156104e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116f2565b6104896004803603602081101561051757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611853565b6104286004803603602081101561054a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118bb565b6104446119b4565b6105776119d8565b6040805160ff9092168252519081900360200190f35b61048960048036036101008110156105a457600080fd5b8101906020810181356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460018302840111640100000000831117156105f357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561064657600080fd5b82018360208201111561065857600080fd5b8035906020019184600183028401116401000000008311171561067a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156106cd57600080fd5b8201836020820111156106df57600080fd5b8035906020019184600183028401116401000000008311171561070157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013573ffffffffffffffffffffffffffffffffffffffff908116916040810135821691606082013581169160800135166119e1565b610781611d23565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610444611d3f565b610781611d4e565b610428600480360360408110156107d057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d6a565b610489611e02565b6104286004803603604081101561081157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611ec5565b6104896004803603602081101561084a57600080fd5b5035612296565b6104896004803603604081101561086757600080fd5b81019060208101813564010000000081111561088257600080fd5b82018360208201111561089457600080fd5b803590602001918460208302840111640100000000831117156108b657600080fd5b9193909290916020810190356401000000008111156108d457600080fd5b8201836020820111156108e657600080fd5b8035906020019184600183028401116401000000008311171561090857600080fd5b509092509050612538565b6104286004803603604081101561092957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356126ef565b61037a612882565b6104896004803603602081101561096a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166128b9565b610489600480360360a081101561099d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060ff6040820135169060608101359060800135612a20565b610428612abe565b610444600480360360208110156109f357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612adf565b61044460048036036020811015610a2657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612af0565b610444612b18565b610489612b3c565b610489600480360360e0811015610a6957600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610ac257600080fd5b820183602082011115610ad457600080fd5b80359060200191846001830284011164010000000083111715610af657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612c16945050505050565b61044460048036036020811015610b4d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612d7a565b610781612da2565b61037a612dbe565b610781612e37565b610489600480360360a0811015610b9857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a081016080820135640100000000811115610be557600080fd5b820183602082011115610bf757600080fd5b80359060200191846001830284011164010000000083111715610c1957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612e53945050505050565b610444612eea565b61042860048036036040811015610c7857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612f0e565b61042860048036036040811015610cb157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612fa6565b61048960048036036020811015610cea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613109565b61042860048036036020811015610d1d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613270565b61048960048036036020811015610d5057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661329b565b61048960048036036060811015610d8357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135613402565b61048960048036036060811015610dc657600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591810190606081016040820135640100000000811115610e0357600080fd5b820183602082011115610e1557600080fd5b80359060200191846001830284011164010000000083111715610e3757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613498945050505050565b61078161352d565b610489600480360360e0811015610e9657600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610eef57600080fd5b820183602082011115610f0157600080fd5b80359060200191846001830284011164010000000083111715610f2357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613549945050505050565b610489600480360360e0811015610f7a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356136a2565b61048960048036036020811015610fd857600080fd5b810190602081018135640100000000811115610ff357600080fd5b82018360208201111561100557600080fd5b8035906020019184600183028401116401000000008311171561102757600080fd5b509092509050613744565b61044461382d565b6104446004803603604081101561105057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516613851565b610489600480360361012081101561108c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613889565b61037a6139f1565b610428600480360360408110156110ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135613a6a565b610489600480360361012081101561113957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613aa2565b610489600480360360208110156111a457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613bfd565b610489600480360360208110156111d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613d50565b6104286004803603602081101561120a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613e0d565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b820191906000526020600020905b8154815290600101906020018083116112ae57829003601f168201915b505050505081565b60015460009074010000000000000000000000000000000000000000900460ff161561136057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484613e18565b50600192915050565b600b5490565b60025473ffffffffffffffffffffffffffffffffffffffff1633146113ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b6113f381613f5f565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e90600090a250565b60015460009074010000000000000000000000000000000000000000900460ff16156114c457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336114ce81613f6a565b15611524576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461152e81613f6a565b15611584576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461158e81613f6a565b156115e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a6020908152604080832033845290915290205485111561166d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806159146028913960400191505060405180910390fd5b611678878787613f98565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a602090815260408083203384529091529020546116b39086614163565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600a60209081526040808320338452909152902055600193505050509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461177857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166117e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061575d602a913960400191505060405180910390fd5b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b60125460ff1660011461186557600080fd5b6000611870306141da565b9050801561188357611883308383613f98565b61188c30614224565b5050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002179055565b60085460009073ffffffffffffffffffffffffffffffffffffffff16331461192e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600d909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2506001919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60065460ff1681565b60085474010000000000000000000000000000000000000000900460ff1615611a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061598f602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416611ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316611b2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157346029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611b99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061593c602e913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615a7c6028913960400191505060405180910390fd5b8751611c189060049060208b01906154cd565b508651611c2c9060059060208a01906154cd565b508551611c409060079060208901906154cd565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8716179055600880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff8781169190911790925560018054821686841617905560028054909116918416919091179055611cda8161422f565b5050600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b6000611d49614276565b905090565b600e5473ffffffffffffffffffffffffffffffffffffffff1690565b60015460009074010000000000000000000000000000000000000000900460ff1615611df757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b33848461436b565b60015473ffffffffffffffffffffffffffffffffffffffff163314611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460009074010000000000000000000000000000000000000000900460ff1615611f5257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611fba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b33611fc481613f6a565b1561201a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361202481613f6a565b1561207a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85166120e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806156c96023913960400191505060405180910390fd5b6000841161213f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157ac6029913960400191505060405180910390fd5b336000908152600d6020526040902054808511156121a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615a02602e913960400191505060405180910390fd5b600b546121b590866143b5565b600b556121d4866121cf876121c9836141da565b906143b5565b614430565b6121de8186614163565b336000818152600d6020908152604091829020939093558051888152905173ffffffffffffffffffffffffffffffffffffffff8a16937fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8928290030190a360408051868152905173ffffffffffffffffffffffffffffffffffffffff8816916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600195945050505050565b60015474010000000000000000000000000000000000000000900460ff161561232057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16612388576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b3361239281613f6a565b156123e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b60006123f3336141da565b90506000831161244e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806156a06029913960400191505060405180910390fd5b828110156124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061587a6026913960400191505060405180910390fd5b600b546124b49084614163565b600b556124c5336121cf8386614163565b60408051848152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051848152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60125460ff1660021461254a57600080fd5b6125566005838361554b565b5060005b83811015612698576003600086868481811061257257fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff168352508101919091526040016000205460ff166125fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001806155ed603d913960400191505060405180910390fd5b61262b85858381811061260957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16614224565b6003600086868481811061263b57fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff1683525081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560010161255a565b506126a230614224565b505030600090815260036020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009081169091556012805490911690911790555050565b60015460009074010000000000000000000000000000000000000000900460ff161561277c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff1633146127ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600d825291829020859055815185815291517f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d209281900390910190a250600192915050565b60408051808201909152600181527f3200000000000000000000000000000000000000000000000000000000000000602082015290565b60005473ffffffffffffffffffffffffffffffffffffffff16331461293f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166129ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061564d6028913960400191505060405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015474010000000000000000000000000000000000000000900460ff1615612aaa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614531565b5050505050565b60015474010000000000000000000000000000000000000000900460ff1681565b6000612aea826141da565b92915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526011602052604090205490565b7fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de881565b60015473ffffffffffffffffffffffffffffffffffffffff163314612bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b60015474010000000000000000000000000000000000000000900460ff1615612ca057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b86612caa81613f6a565b15612d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b86612d0a81613f6a565b15612d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614571565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff1615612edd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614692565b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b60015460009074010000000000000000000000000000000000000000900460ff1615612f9b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484614956565b60015460009074010000000000000000000000000000000000000000900460ff161561303357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b3361303d81613f6a565b15613093576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361309d81613f6a565b156130f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6130fe338686613f98565b506001949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461318f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166131fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e690600090a250565b73ffffffffffffffffffffffffffffffffffffffff166000908152600c602052604090205460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461332157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661338d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180615ad26032913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b600e5473ffffffffffffffffffffffffffffffffffffffff163314613472576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806158f06024913960400191505060405180910390fd5b61349373ffffffffffffffffffffffffffffffffffffffff841683836149b2565b505050565b60015474010000000000000000000000000000000000000000900460ff161561352257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b613493838383614a3f565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff16156135d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b866135dd81613f6a565b15613633576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8661363d81613f6a565b15613693576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614b49565b60015474010000000000000000000000000000000000000000900460ff161561372c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61373b87878787878787614be7565b50505050505050565b60085474010000000000000000000000000000000000000000900460ff168015613771575060125460ff16155b61377a57600080fd5b6137866004838361554b565b506137fb82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600181527f320000000000000000000000000000000000000000000000000000000000000060208201529150614c299050565b600f555050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b7f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742981565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600a6020908152604080832093909416825291909152205490565b60015474010000000000000000000000000000000000000000900460ff161561391357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b8861391d81613f6a565b15613973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8861397d81613f6a565b156139d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c3f565b5050505050505050505050565b6007805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152601060209081526040808320938352929052205460ff1690565b60015474010000000000000000000000000000000000000000900460ff1615613b2c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b88613b3681613f6a565b15613b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b88613b9681613f6a565b15613bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c83565b60005473ffffffffffffffffffffffffffffffffffffffff163314613c8357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116613cef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806156ec6026913960400191505060405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff9283168152918316602083015280517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09281900390910190a1613d4d8161422f565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314613dc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b613dc981614224565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6000612aea82613f6a565b73ffffffffffffffffffffffffffffffffffffffff8316613e84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806159de6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216613ef0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806157126022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000818152600a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b613d4d816000614cc7565b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205460ff1c60011490565b73ffffffffffffffffffffffffffffffffffffffff8316614004576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806159b96025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216614070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061562a6023913960400191505060405180910390fd5b614079836141da565b8111156140d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806157d56026913960400191505060405180910390fd5b6140e8836121cf836140e2876141da565b90614163565b6140f9826121cf836121c9866141da565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000828211156141d457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff166000908152600960205260409020547f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b613d4d816001614cc7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152600093611d4993919290918301828280156143235780601f106142f857610100808354040283529160200191614323565b820191906000526020600020905b81548152906001019060200180831161430657829003601f168201915b50505050506040518060400160405280600181526020017f3200000000000000000000000000000000000000000000000000000000000000815250614366614d50565b614d54565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600a602090815260408083209386168352929052205461349390849084906143b090856143b5565b613e18565b60008282018381101561442957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156144a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615850602a913960400191505060405180910390fd5b6144b282613f6a565b15614508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806157876025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff909116600090815260096020526040902055565b612ab78585848487604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614a3f565b73ffffffffffffffffffffffffffffffffffffffff861633146145df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061596a6025913960400191505060405180910390fd5b6145eb87838686614dc8565b604080517fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de860208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b6146878783615006565b61373b878787613f98565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214806146c05750428210155b61472b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a207065726d697420697320657870697265640000604482015290519081900360640190fd5b60006147d3614738614276565b73ffffffffffffffffffffffffffffffffffffffff80891660008181526011602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938b166060840152608083018a905260a083019390935260c08083018990528151808403909101815260e09092019052805191012061508b565b905073800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea6528783856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614860578181015183820152602001614848565b50505050905090810190601f16801561488d5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b1580156148ac57600080fd5b505af41580156148c0573d6000803e3d6000fd5b505050506040513d60208110156148d657600080fd5b505161494357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f454950323631323a20696e76616c6964207369676e6174757265000000000000604482015290519081900360640190fd5b61494e868686613e18565b505050505050565b61349383836143b084604051806060016040528060258152602001615b4e6025913973ffffffffffffffffffffffffffffffffffffffff808a166000908152600a60209081526040808320938c168352929052205491906150c5565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613493908490615176565b614a49838361524e565b614ac3837f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960001b8585604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040516020818303038152906040528051906020012083614e88565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260106020908152604080832086845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b614b5587838686614dc8565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226760208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b61373b87878787868689604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614692565b600046614c37848483614d54565b949350505050565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614b49565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614571565b80614cda57614cd5826141da565b614d23565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600960205260409020547f8000000000000000000000000000000000000000000000000000000000000000175b73ffffffffffffffffffffffffffffffffffffffff90921660009081526009602052604090209190915550565b4690565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8187015280820194909452606084019190915260808301919091523060a0808401919091528151808403909101815260c09092019052805191012090565b814211614e20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615675602b913960400191505060405180910390fd5b804210614e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b296025913960400191505060405180910390fd5b614e82848461524e565b50505050565b73800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea65284614eb4614eae614276565b8661508b565b846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614f23578181015183820152602001614f0b565b50505050905090810190601f168015614f505780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015614f6f57600080fd5b505af4158015614f83573d6000803e3d6000fd5b505050506040513d6020811015614f9957600080fd5b505161349357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260106020908152604080832085845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000818484111561516e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561513357818101518382015260200161511b565b50505050905090810190601f1680156151605780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60606151d8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166152dc9092919063ffffffff16565b805190915015613493578080602001905160208110156151f757600080fd5b5051613493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615a52602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260106020908152604080832084845290915290205460ff16156152d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615aa4602e913960400191505060405180910390fd5b5050565b6060614c378484600085856152f085615447565b61535b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106153c557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101615388565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615427576040519150601f19603f3d011682016040523d82523d6000602084013e61542c565b606091505b509150915061543c82828661544d565b979650505050505050565b3b151590565b6060831561545c575081614429565b82511561546c5782518084602001fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181815284516024840152845185939192839260440191908501908083836000831561513357818101518382015260200161511b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061550e57805160ff191683800117855561553b565b8280016001018555821561553b579182015b8281111561553b578251825591602001919060010190615520565b506155479291506155d7565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106155aa578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082351617855561553b565b8280016001018555821561553b579182015b8281111561553b5782358255916020019190600101906155bc565b5b8082111561554757600081556001016155d856fe46696174546f6b656e56325f323a20426c61636b6c697374696e672070726576696f75736c7920756e626c61636b6c6973746564206163636f756e742145524332303a207472616e7366657220746f20746865207a65726f20616464726573735061757361626c653a206e65772070617573657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e206973206e6f74207965742076616c696446696174546f6b656e3a206275726e20616d6f756e74206e6f742067726561746572207468616e203046696174546f6b656e3a206d696e7420746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737346696174546f6b656e3a206e65772070617573657220697320746865207a65726f2061646472657373526573637561626c653a206e6577207265736375657220697320746865207a65726f206164647265737346696174546f6b656e56325f323a204163636f756e7420697320626c61636b6c697374656446696174546f6b656e3a206d696e7420616d6f756e74206e6f742067726561746572207468616e203045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d61737465724d696e746572426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c697374657246696174546f6b656e56325f323a2042616c616e636520657863656564732028325e323535202d20312946696174546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e74657246696174546f6b656e3a206e6577206d61737465724d696e74657220697320746865207a65726f2061646472657373526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636546696174546f6b656e3a206e657720626c61636b6c697374657220697320746865207a65726f206164647265737346696174546f6b656e56323a2063616c6c6572206d7573742062652074686520706179656546696174546f6b656e3a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d696e746572416c6c6f77616e63655061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656446696174546f6b656e3a206e6577206f776e657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e2069732075736564206f722063616e63656c6564426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c697374656446696174546f6b656e56323a20617574686f72697a6174696f6e206973206578706972656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122005677c3919f4b149e065a5983baa9e2fb099cab5463ccd06429f70b32d8d9bdf64736f6c634300060c0033033bf862f787a0cb9af6418d78cbb5bb12e1c843c50f86941345516c5489ffc98c03bdc011f506efa58f1b2550ca80958d2a7c39f979f40d537e110b221c62364ebd005821031347d38f9027b008ab764477dff5db62e1ce3cab675df1efadd25bb228ba1ee05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103216fe201c80e31523065747b4c3a11b5ce64700caa277669094d49e7d42e4c105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80205820ff1bba8c5962591285628e226cfe21a129312cfd293b407070da1d82f098460100582103517498924e66ba831af2769eea8312cb5261242822e63a2d7cc49a5c707be180500785ee10d5da46d900f436a00000000003b30d5e39bb2a266518592f8bf752ce6d25fcfd24908b3c862f5f487ddf91096100582103e453bb62162b907fe0133f23a577de7bec75205eca5e557cfe3ef2dcc72205905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005821035ca2f3d6ffed7c02f4752b25e41af1736966153795558b64be92a8283b5b1500430f42400058210317fb9989707d00d29edf83f0ce78ffe6efc3e7e2f0a33e6a7370cf9390ae63c058208000000000000000000000000000000000000000000000000000000000000000036082dea626a28fd5714b7132ebeda7497f1e481e325c85a848f757266e4fd23c0219fd7405581d020ab04938f26cadaf9df6fe1389ad0a110acc2ffd76feaa1dc72a138e0701195ba802182205581e035c0f632b2b143a27400257b92b6008ecc69a7ff00d34104f16bff667200c0147038e3c48e101c2021976da03831ed6f8a49834649a23382b40a6ee76203a1922def27f983aeca653cf624e9b0300a4e8abf9c56e6931dbc2c92fae0225b1a8bc1948923b60ba90badc23573443039b617dfcdc2dc5aea5cf6c052a8ae308801747f0bb7e141baeef835768b7806903f0e7a2a745a087954159eb80e20b9f051cd94d157787205253daf790c27a533803d078c94db34bb1b52288633329ab77714f36cf9d08edb0c37f10483069a9846f03503a3e1016d332d27bb14d9035e07df8256f0eec92453fbe047b06a978b0def10304fb76502821c1341d8cce7d8e0f3615d1e80d00fbdeece4f2987ad9b311f16303d9206bc6defef5ab38ae798cd109c225986013e4e2dd3dbbebdad6817917be180378dcd74e07bca5759db73a24e62d4099a3600f084d0458830897538df421b7680308938d8a7c2f50a81542886e6aa16f4e4f86ef27626906088b7c3d633779f16e0319a9ba3f2108048e07191495f1499e56c1a33a96d3f7e135d3410d10cb6e527d0376afc3bf5b27d160ed41d005ba5d67039dd2f6f8f874efb2ce15b84a89675a6603f984c38c2d5a6efa92af5a93f30139b77e3d9c5b0c6ada51b61c69068461cc250219ffff03acbd841bb3e2d17dd0e5ca2de25dc9cdf9bdbb15d1749717a3aa4b716187797b03d8e26893c1e83994d22827226009d7b1915b57a6b6d44ce6267def6e0d235968032b2ec0b96a881d70743fd195a65d8bda8f713ee8a912f04cf3455a27166f00f7036b3fc72af358232979ebeb102fc391f19eb58c605b898a47589e50df41b8f993033ed15033f2d7681acdc7b209d4bb4ebcc6ef0f06caa243bcd09918bf0d8aa39603dad9d66d12d0c373a3253978474eaf038d3626087e2f9f7a1d16d291f76f6a95038b23d6a648227fb0796eb7b90c6baafcc7e76990329f307a4ce3dbc92d7706d0032751cb1e6ef314221995829ebf8e691cff7c9480de52f6c9dceba148e7a0028703a1fcc05ea08f58dc027feec696e30104ffb9d6db8f5227a5dd1fc1aa98fd638403f819d9f990655c414cd07882d8e4e1c88189dda079e2833a770274daa996d39a030db2ed707ad7ede533a14236d2576f170efd826cdc43ac9944ed902cf7e5eb710219ffff03e240d2f354f7431bacf28b41ff0e2714bd2f474f4035bedc81ed5ad9ebfc6a68037b54a357ff302a5cad2efafd66399cf5a5e5fe4ff04f226b5347ae13132a2228031d0cce44da94d998b1c5c4169b2e7b94a194ab27bfa046462caa0d095dab945303deef28cd757dc55d08e97f3e99f88827e18cab811c3a022115e8ac993ff6a5b3030435937658f95b9f8ddb8f79214dae8081986d831f4323a8ad9676c64b60c9f003d7745f02f73039e71653e9f148f058c882d153a7ae92945c58f43a973aaf17e503fc59e9937d658d9ddd2303ce05c48c71963b66cca5b1df5a7431ed36612a3e2903447fa559bf3753d881057fbc8c003eed6162d26bb3fd7b18898be178e113a6d1032b57d26a724672ab06ce57b4ec7c536fa64fbb8ae5888cd19a01e852ea3455b70326372a692a1cab9f226a688efc8add097bcb03859f38a0764a3783ff0a3b5bf903fcfd817910380869d637535d9a4d15a75a5ac6fd5169215f6ce0cc38ce2b97b5036bdd79c24ace7f682b941946890cb803d05bada82e48ae8cff50ed75e7ef5a12031f36fb7c9955c977f03918b697b7a3a3215355c415779cc2b27f73543bb66acb03396ac6710b45d45482274921b9d1be2d19c5a8cbfd78383aacad7ab8c8f9ae5d039b109e386f0a24548e89030fb72da235a83654ee568b20d6bf161d63fc2e66b7033bbe4a906f8c76b5a2275da074e418836ebe49851af72f5076e9029275943da105581e03c4b90eea964107625bfdd1504cc5f008b6d96a44eeddb6d5534d96af600c05472386f26fc1000005581d021bb0a380bd415a11835aca52623f94a7576031a7bb9f0a9e3335a4840c024738294ad09c0000045913b760806040526004361061004e5760003560e01c8063439fab9114610133578063adac3e15146101e6578063c1a851301461020d578063f2011f6614610222578063ffa1ad741461024c576100a0565b366100a0576040805162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f52454345495645604482015290519081900360640190fd5b60006100b76000356001600160e01b0319166102d6565b90506001600160a01b03811661010f576040805162461bcd60e51b81526020600482015260186024820152772727afa1a7a72a2920a1aa2fa327a92fa32aa721aa24a7a760411b604482015290519081900360640190fd5b3660008037600080366000845af43d6000803e80801561012e573d6000f35b3d6000fd5b34801561013f57600080fd5b506101e46004803603602081101561015657600080fd5b810190602081018135600160201b81111561017057600080fd5b82018360208201111561018257600080fd5b803590602001918460018302840111600160201b831117156101a357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610362945050505050565b005b3480156101f257600080fd5b506101fb6109cb565b60408051918252519081900360200190f35b34801561021957600080fd5b506101fb6109d9565b34801561022e57600080fd5b506101fb6004803603602081101561024557600080fd5b50356109e7565b34801561025857600080fd5b50610261610a01565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600080826102e2610a22565b604080516001600160e01b03199093166020808501919091526024808501939093528151808503909301835260449093019052805191012060ff169050600080610100600484020690508061033a600685901c610a28565b600f911c166000908152601e60205260409020546001600160a01b031693505050505b919050565b7fa8be027c40582873fe725a541de3bd3b732b003dc1a1a6df763248c6df60208d80549081156103d2576040805162461bcd60e51b81526020600482015260166024820152751112549150d517d0d0531317d11254d0531313d5d15160521b604482015290519081900360640190fd5b505060006103de610b20565b9050600f81111561042f576040805162461bcd60e51b8152602060048201526016602482015275544f4f5f4d414e595f5355425f434f4e54524143545360501b604482015290519081900360640190fd5b806001016020028251101561048b576040805162461bcd60e51b815260206004820152601a60248201527f5355425f434f4e5452414354535f4e4f545f50524f5649444544000000000000604482015290519081900360640190fd5b8151600182810160200291829003916000915b8481116104c957602081028601516104b68282610b25565b6104c08282610d78565b5060010161049e565b50602060018501028501516001600160a01b038116156104f8576104ee868286610da6565b50505050506109c8565b836105075750505050506109c8565b6001600160a01b0381161561051857fe5b6105206110b5565b60015b85811161096d576020808202880151604080516004815260248101825292830180516001600160e01b0316633cc660ad60e01b1781529051835192936000936060936001600160a01b03871693918291908083835b602083106105975780518252601f199092019160209182019101610578565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146105f7576040519150601f19603f3d011682016040523d82523d6000602084013e6105fc565b606091505b509150915081819061068c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610651578181015183820152602001610639565b50505050905090810190601f16801561067e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008180602001905160208110156106a457600080fd5b50519050888111156106f8576040805162461bcd60e51b8152602060048201526018602482015277494e56414c49445f494e495449414c495a45525f53495a4560401b604482015290519081900360640190fd5b88818901111561074a576040805162461bcd60e51b8152602060048201526018602482015277494e56414c49445f494e495449414c495a45525f53495a4560401b604482015290519081900360640190fd5b806107585750505050610965565b60608167ffffffffffffffff8111801561077157600080fd5b506040519080825280601f01601f19166020018201604052801561079c576020820181803683370190505b50905060205b8281116107bb578c8101890151828201526020016107a2565b506040516020602482018181528351604484015283516001600160a01b0389169363439fab9160e01b9386939283926064019185019080838360005b8381101561080f5781810151838201526020016107f7565b50505050905090810190601f16801561083c5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909716969096178652518151919590945084935091508083835b6020831061089e5780518252601f19909201916020918201910161087f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146108fe576040519150601f19603f3d011682016040523d82523d6000602084013e610903565b606091505b50909450925082846109565760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610651578181015183820152602001610639565b50509687019695909501945050505b600101610523565b508284146109c2576040805162461bcd60e51b815260206004820152601a60248201527f4d49534d41544348494e475f494e49545f444154415f53495a45000000000000604482015290519081900360640190fd5b50505050505b50565b680100000000000000015481565b680100000000000000045481565b680100000000000000026020526000908152604090205481565b604051806040016040528060058152602001640312e302e360dc1b81525081565b6160ac90565b600081610a5657507f300010000020300000201000400201200300320001000000122200002100201061035d565b8160011415610a80575079430000014020001000000000100003000030010000022230330261035d565b8160021415610aaf57507e1000130000002020002000022000100202000032000002003110003002001261035d565b8160031415610add57507d12030000200000000000010000000020200100200004010113030200000061035d565b6040805162461bcd60e51b81526020600482015260136024820152722120a22fa4a22c2fa6a0a82fa9a2a1aa24a7a760691b604482015290519081900360640190fd5b600490565b6060816001600160a01b031663eeb728666040518163ffffffff1660e01b815260040160006040518083038186803b158015610b6057600080fd5b505afa158015610b74573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610b9d57600080fd5b8101908080516040519392919084600160201b821115610bbc57600080fd5b908301906020820185811115610bd157600080fd5b8251600160201b811182820188101715610bea57600080fd5b82525081516020918201929091019080838360005b83811015610c17578181015183820152602001610bff565b50505050905090810190601f168015610c445780820380516001836020036101000a031916815260200191505b5060405250505090506000610c58846111ee565b6040516020018082805190602001908083835b60208310610c8a5780518252601f199092019160209182019101610c6b565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209050816040516020018082805190602001908083835b60208310610cfa5780518252601f199092019160209182019101610cdb565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001208114610d725760405162461bcd60e51b81526004018080602001828103825260228152602001806113606022913960400191505060405180910390fd5b50505050565b6000918252601e602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b610db8826001600160a01b0316611308565b610dfa576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d057d0d3d395149050d560921b604482015290519081900360640190fd5b8251811115610e44576040805162461bcd60e51b8152602060048201526011602482015270494e56414c49445f444154415f53495a4560781b604482015290519081900360640190fd5b60608167ffffffffffffffff81118015610e5d57600080fd5b506040519080825280601f01601f191660200182016040528015610e88576020820181803683370190505b5084519091508290036020818101918601810190830160005b85811015610eb9578281015182820152602001610ea1565b5060006060876001600160a01b031663439fab9160e01b876040516024018080602001828103825283818151815260200191508051906020019080838360005b83811015610f11578181015183820152602001610ef9565b50505050905090810190601f168015610f3e5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909716969096178652518151919590945084935091508083835b60208310610fa05780518252601f199092019160209182019101610f81565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611000576040519150601f19603f3d011682016040523d82523d6000602084013e611005565b606091505b50915091508181906110585760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610651578181015183820152602001610639565b5080518190156110a95760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610651578181015183820152602001610639565b50505050505050505050565b60408051808201909152601681527512539255125053125690551253d397d09313d0d2d15160521b6020820152680100000000000000035481901561113b5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610651578181015183820152602001610639565b5068010000000000000001548190156111955760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610651578181015183820152602001610639565b50600160401b548190156111ea5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610651578181015183820152602001610639565b5050565b60608160011415611233575060408051808201909152601d81527f537461726b576172655f416c6c5665726966696572735f323032305f31000000602082015261035d565b816002141561125c576040518060600160405280602a8152602001611336602a9139905061035d565b816003141561129f575060408051808201909152601f81527f537461726b576172655f50657270657475616c53746174655f323032305f3100602082015261035d565b81600414156112c85760405180606001604052806027815260200161130f60279139905061035d565b6040805162461bcd60e51b815260206004820152601060248201526f0aa9c8ab0a08a86a88a88be929c888ab60831b604482015290519081900360640190fd5b3b15159056fe537461726b576172655f50657270657475616c466f72636564416374696f6e735f323032305f31537461726b576172655f50657270657475616c546f6b656e73416e6452616d70696e675f323032305f314d4953504c414345445f494e4445585f4f525f4241445f434f4e54524143545f4944a264697066735822122005e8b7a15f93acce17b8b75a4d4bdf04a6a2220b908849ea3e41588be7e3760e64736f6c634300060b0033005821029900c2ec620bb2cae7e7c599cd2f57a9397a7ea5ef470fdeb2a2cc2ba33ebdb0412a05581d02f6abbe21ebb5e7c288edcbba6ccc0b3b32dc216c2bdec8c2e6e40fcf07011913b70219018005581e0332a666944058f3dbbc91af995975638668d4f71ae15b0c59458aac30600c02471c154d0ba6200005581e03011d02e0d23d6686119f266ddda731ad685d7d5acbc550988070a13180040105581e0394a64331ab4382631be049e229e3bc6247d32557238372a6729a83c1a00c04474bed9e3e835e5805581e03196fed6f4fbe135a32c65df2baa6fb09c3eaefd6b94bacf373d0d4bf900404036a6bc59832a9b8b79f736dbc3fe738ac8aa65e5b6ad890e2fa238d331c72547403905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e037a044030e6fe5419ea2d0b2cfeabab9263e3eb62771e0239998ffe1f2007011bffffffffffffffff05581e03578821932ea97570be4003d0cf641be6766ea362876c4f3d467a3200900c024638c2223d4e67036430fa40f375590f6f8ee57499e0837a3b82ca3bd6f85d5ea809b788bff3da8e0219f69903a233e67cdd0df58087d330034352262cea65ccdf3ff4d5fc44a702b672f47c690386b74537e0f542d7134fca97a1545e8487b2e164e9619be4c2cdc860cb71f27a0389c2de357ba7fad152888faa7846d6d5ddb2bec1a61a1905e56efd2c3b93bf3003ba321c4ff94fb21073ecbdc7482e87138694369061bd2b67f6dac8d63a663c3803715d74b29e82aa0eea9df74d9e17e2f0db9bce992b5391e6d7661ae290861af20219ffff03758ab4b90999373785309f8aab9fe4d6317cc3ce46068c1799647ebaa2a3eabf03f21d4a8dbb699588e9ad26b0cad621a2ee7c41d7ef6b960aa918511a48ac51cd030801133e11f0dfc1055fea40cd85e734e91b6610b580cb025d97beb20a6d954803e55cfdeb25b6df841fdd93569b84c6a549867d64f0a07241db130b2e1134318103aa7f23f73ee8071b6870b79b4dee7eeaea072815dcbdf25d197959b151d43571032cf19cf9c889e06f7d08c599ba0312ce6f40b240d440461d40e3747355e80e6e039ed4ad967e58a278a9a13e0effc0f18916e908230e550c327ed795ac463f254a03646e8af808dc2c9d276e64476cc80303e9ef52dbbe9a357d3681f3415ff95c6903c0fdf74541dec0f0119376bee5272a17208defd0af32640738c7cca43419398403d262115209d6caf26669cc994098748ff40d9e768326a3e98332f06d86c11b6c03aa88390abdc66a5cfb4d9e07a7d319e8a122aae113cc62f9a5fa02de1e0db7e40219ffff039a70889dd4e317e254ea2371e486ea9d7e92d43b4469e07cc3f1d691c089e72d036c41b91f9c4bf2789a6fc9fbd3bde8ac6b57ddd51b731181398ac80e984818e303b80d427a127d647dd0ff1b5dc31930fa1617325053d7f8ad7725a0dd10cb8185038cbf459a3a7cd5364cb3fa450180083f35729d3899512c1dbc7f84af604053860219ffff03da4ffd56b56d6d1287a7b2ea0736b6436a1e87ef519e85bd8fba0d2dc5d79ac703bb46fb5f8c8d4335ef5cc6eabe0f1ca04b07d754f5e9e2641a3e3c4f3082de5f03b939f08e666d0366c86282e8c4892bf4b134f25050478f591fbb1c3bcd823e4d03f3fa62189eda675f607602bf30bab4306cc02c352980b0329a1923cd679f230203400172c8ce158acc9992311da864e8064478e2588572d92be62e9d7b5f030fec03d4734602aa9ce4430fef92911e4289d3f45e5f88fa7ca0cf2288d2106926b0d20393494800f0d8833bbee98dde0f62bb6b91d0335f901094aa93c971b1307816e20219ffff03c5d1cc8e72ee9a58a911bee1c39e5cbb204b8077097b2e33498f1adfa802509c03f7c6585e7d8cd0a40d82c2209e47bff2cf31098f3b6b81cadde7ae3f474cfe5003afadc259af4b711a982c1a99527f94f555a2edc6cbca12a25c63168822218f2d03c3a3d4504cf6694bd1435ddbde3497fdb1c0d18f108608a3b171cd27141fc77e036c707bdf778ac37f2f2bbdbaf90a8909abe1e2d7ba890cf468f33482170de170031572b4ad4e67bcd42bebd72ce347ff32e5b7ea2a07ff21b82fcf6b5bde7e374c030b953e9102e7b819cd6a316a2eea2f24170d00b3f30a5b35a35454a640fb883f03aac654cbc20c7125d1a1b521f2b5f1e96fe089729a8ae5cbb68683bdd7f6167703a5b423139cc13053084962e8d04605125411855cf4b92466e99567c584494219030d123d94f15e4807f9ef304a54b99d31bf506df703768e44840843e8ef8cd0d103f40ae4a1100f500068fef3642254b6df75d448eac3621cd7d3d1547495ee8e9c037b838d3dfba1688730579605bdabce037a643cfa92f0fb0728f5ac70742a061403464753959466e2cb184178ef9f47d8e9832eccf877f209d826c50f68239d1ee50381933f6b6973d5b92ed8c7e61884af1eaa235baf86c94e742bf95ad5c9817bfc0372f669278c1aa1270ec66c1d1ae2bd55424ff35d7d6d760f7e63eba8a1d78752030b4f30fa58d57cace77802622bd999f1d6a91ea75f4b93442d053ba76445bfb803f433a662ba3a70e2d6dc3de77071ab65c29238e538a59770aa0498a1946430ee0353aafb783db26d4ff3934d752759504d015bcd0a0a3d98788e40d5b0d29fd2e30386c251a2bd07fc24c21ce129f2a410fb31b1cff6bab7023d53c285459be14fd303a82967478370d79fffefaa8ac6c5ac7ba64e3b414c7998136526651acdb5680703a34879d41cbe944e3c449df49635391841e707b438a16bd885e6410a4721751503d58a385afef76604ad71b6d45e8c7f91b892bc3d278a923833d8124fdf5fc7330302e55281ebcabda654f1355e242031f3b54795f00b01085d58b89f2baf8b3e34035d995ecf4a192d8f0ad47192464b2e90e56bd2fea9527ad10fe7bdbb3200c8d80321d3c48f93b9680bea4470062bd909b5e473ec5391f8ccdb877e9491f1d684a203e398727b526502687f955c15edcb0cb29368c7cb6011771c22ce2525ba26cbe203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03bfb3b3fe7ccdc4daf660ce8c62e086bc036e641a5aa0eefe4039a7846007011bffffffffffffffff05581e03cbfb8cb56bd794abec26a9c0b43bd2730cfc16ea00ddd9fbe232b2b3200c044703dfa70f5d9ae805581e03a78499171ab22a5844d49bf35d7dcd4b4f9064e3d489735fa274aa8e100c181e4702fa69cf69391803562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0345f93d46471fd0844356afafa695427546dccc6c3021e91a272b495c0007011bffffffffffffffff05581e03b9085a611caec986f85d06e158f21740bb110267bdf95fbc5d2e4a6370084609184e72a00005581e03234d50e124b5349a45460c4959cc2bcd9002b1416d3050704354f301a00c02470afd386fa2260003323c2cf7edbf27c48a311ba33749e04ec6f28c0fa965bc11dac682a41ea23dd203127f55bf35eed22241fd27a3c1c05ffada4dd9de752721370071362857aed33705581e031c18fef9677addceaf782bd5eaa2eaf4e3102d5a4ef2a3f76aee7f2520084901da6202646a5dc0000219bfc7037e2206eff5aab16ed6f693b428663d180e8eae6abd43f1f430717846b06580a503af83cb315493991ccd11e855e954fee7e6d94cd7273b4dee341391cebc9ccf600388abf8c5e7ac701cfee507ab2f3280c13d5cd6da79444409c6e6793c545aba6a03d348686f4813dfaeb7975fe08d6bf9eb2038b1d15ccfda32c9fc478980b8a0a103d4f9a900b23bc986d050dadd71cd7c13f11bf7286131df3d8ec856f31294cdc903c9c8ac2adf2f40ce2b67e429542dd6f7d2e8225d87231c3d64e05a31cff32d62035c41cb7bf87eb7d178f51c74fcb2891006da6dec5f470c55ee3a154c58d21850035652f658be870a31d260392b96d51911de387ae04bd55788826ae0fef930492403c40d59b4aef2923191e3f753d728493ec4decb623919e949df21db8ceaa5adea0219ffff03e6fe8e971519af111577d5806620833af69d82134fa15f8b01b10b71fbfc2c33033f60a4345cee6a5d38b8367db0fd92fa13bc2680d771fdb7fc6d06e2e895e112036db58e63e39c3e4a472c327a2236e7b5c0bc628154532a8c36d150c86cbb407803a0429c407036dd75c563f4d4a43e80f6be924ace7e6ee086e7006114613b1cc803a7eedc407e20e90628557d444550c981a57e33fdb16d8ec9c5e2c5337916fa9903557d7fbe8c57048c4f1f539a08559b683e615587c19173de678309e66f37ba87039fce753bbbd2b3e1093973d90188eb326ea08c77c5e2420917881b1bf3282c8c0342e0ee4548ebdf055774e688573a55b5868502ac0d077d33b61c575bcef213c60219ffff03f480bd612d08d8274d61a5256d045bb20b4661771f8d3c42375d4ea62ea67c6003e3662fb2dccee3e1873606bbecda5466b34b1933ec7d36a2e35aa471d96f740c036dfb335a75139be81ae80ece69f27d0cff3b7e977b5fe2bde3115182ec8012f70359dcee888405822b24d5e4f2ec78f8b36f8055228718c8de14c95b66c157b49c034a169e6d439241451fd0c1f55f6973d826079f00a1cee44540c81a9b3a2c808c03058a0e404a1a4f73d2113918db04364fae9eed2293483b254c6368c8a68f5f1e030e5bff38fd04aa66aae6546a771276c9467e672b64e0d59cbd1f1a25ce42f64c035003f516035aba7f67eb55173358340d6f3421065a0e582a3844998352e7573503cea7ad05bf108948247d52d5c04e852336f2bf36d105fcd2a353b5b2dbdf8fd4033b6a6a1a0fac222d58e3afc0ee1f1e4c040def06029f29172d5d2e47b0b438ab036841054a5030ba5123df9391792d676cbfd850900d7abebb1a33348e32a0e7e20352e2e3b1be7641e917beeac78b1708db7a5dce16841ee9d74e8c856c90c387a803fbc39af8e52019476f55c90b6852b5ad9b2b0356be9522340491f7faa7e8536503c020cda7e693bfeaf1bf6e3ba726fdd956bf1e49cc5a94df7196b032238259620219ffff0315ae2e9a186703469238b16fd4baa116eafbdbb1ff0577eb1a2bbecad5ba1bb803f55048037a989c2c3f6ba22b780800fb9f4814daa57c4e074b579153be95f8f703b3f4cb8dcb0dbf0e53947e5dd64bd66fcfad0d34010fff26f9c8bb3eb2f651a003a5f728f4ec47bfcb3db18d53a83fc5aa10a43156e51d69e4847550269e08abc103705a41ae09b57c6d615cef2abfa3cf61bc6a14f123006b05068266ee1a07acf20315d18a0e8311236892c38a1999064ad42959f164eb70268f1287e9948b1db3e303568f337b63ac69d026eeaacca2f04d0fb21920b55ea318f43558f8b45c32e11a0377f68ce7212a6a3babeb6328dc2b827eabb1dc9f90d03e9b8a8e1cb266a813ba03c2eaf8ab4f2049652928c8f0463405007df3d45fcf691c9a3f4d72a076432e8d03a46d9bfa476c7616b64149b30c868844142495f2a97355e6ce7f61ecf2ac116403d203d3162df2c10a726f95897f16c788bd2d8a3e8a76db0e50d66eaf14fd1db503bf23fe4cef17fec465dd4acf306e4c044947ee658e5be540947e6c0047f8cb6f03fe04fe3e236343cb0c9793b0cae686e7e19c4221e681be4d3f3b8146dbe3bf4403f41524120c6eca2bb64232898936ed42ee2eeaf56e80fabe1eef089bdafc028f03b10d492f54d202718cdc005e4f3fb0bafa2d46d77c73cd6b9e5caf14f6291c1503d10377cffd2bec7580300307b8621acdaa3a312951cba1669d2137dc3cef88a6036a7b7303b84c03285e205eb1c6769cbbcf9d76e183567f7e4d92ee9d8c02db5e03b08f5f5c445fd4755d1e205badddf9b65f52fcc1ac12b27a4ea3c2c677be063805581d02e7d5c245db5232c4c861f04408bdb93736b3e375eee105592138a07c0c1647092d827f377ccb0310b583a233dcecd278d5503a6033956d7c2d2fe46468693b72423b0d59482d2f0605581d0277a335bf667fdeb300f6b974396d28a97d8afc18c7a398c2ace2c2fe07011bffffffffffffffff0219801005581e0324ad7b8cf9ba0fe1a1ce8db6143ce43bd06ed3165368e94b6aefc36190040305581e0384183cefaeb037260bcc1f561e80b1d19e37ee6e675da4c87c9fffb06004010300fddc8f90df02bb07da382b4d6003eb05d862c348340802436ae620d6f4fc2203647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d035485a952b56c097ad744f45a0246568a89b2ab61847068f77b88c559436aac0b05581e03f200510c7336f46f8c9abfead7cddf9fde9a4e27b4eea96611707fa18007011bffffffffffffffff03368cd04cc9a619b5306ea5e207e0136d9d08d5949d850201e447cc576bbaec82036fea721da5030a6a1bdcd77b76a429058a6b81208850ed542a8d373b6f4ea90805581e035451066ebd3f9e17406f3039a7eb7f5a7b5fed7da72694cbc98af5ee400c01470307cc89fe4c1805581e034520c791277af72548130ef5913348c547833ed8ea5fed495eaa40f2d00c064702aa1efb94e00005581e0344608d1976b955acb2ebd7ab7085e32c978560a3fc8769cf7be9111f30040105581e03a229e11da8680421d85c0c6201bf41da4232a60368559793695c0454100c0145012bf32ad805581e0371d3873e19785a6b89ea3d34dc2ef9c526860e735e1acce90fed699fe00c014702414aa230dcd80219cf7703411b987eadd26cdbc9c79559439a3b92e3943d61487d4d90b641cdb8c433adc0032a42119c1688693c3b724b572f27859911118275eefeac6014849e7e3c0fcf570389a42ed77fdf18e896856ebea6508dd691098663ca5397902645cab8d311bb3803b938c4eb11187a932cef1e31169a372e64028cd537253c1ba1cf447a01e9870c03202ed3d703b04dc5d48bcc4f660930ef666298213faee4c525466711219e398403271e698b1e1e8e8ebad8f87dbc5f0e7eede6b6da1b4625c5b7028f1b34a3500e03cf22a6346d967dee5414c9928acc4cd89b8b8de501c58a2285d40b94964ef1f8036175b8d488e57eb98f01ef5815d9e4983264a488c4ee629a17f1916a35d75749031346a21639f92211caa6982df4582bfb149888e35ff323ca8e18f93e788e3a7a03b8f4bbe57c30fd987374e6a6f3b6e223f115dc75c9803f957c57074cd03017880219ffff038c0d93a247b762cd4851a35b4679f5725d7427f10e9a5cddc697921fea0097fc03db91425592e9742acb3375dd3b25ccd99eb5035939c1b48114153260d6b0579103a41e6fdbeacc2e1090658377506eadf4934e50f5ebd67f370ad292bd5c996a05039d5843dcb20d279ece291465dd5076179e62522f6752ddfa2534b56d7970155e0358a702261284ac53762956368da7aef22b7106e761fa000360ac6e2f9ae0f2250354f055b8e3ddd69610b4b24fe8fba1500b01608de678408dd0f6815838f34fdc03bd99e68792611bf3b82b5bcb618b6041a0e1e6408cc0edf6de794b5cc2d08f34033a869857e12ff7a4deb90c7fcb4b2ed0ee9d0bdf2bb9c2c2853f189876e191d0038f8c25c904e9efbbf294088e2589f9e8bdfe5e020f4e20937cfce3762cdd0b800219ffff03055d39b095b4d0a83faf9ca87d01cd9bb3b66418b257e50ac93423e0b4d6b3af03128125a771ec034d0712106e335bf721d2f3d69860f9b9b8993c6fed2dfd6b980320cb40db2dbe92c7a50edaaa3a200c5995c0f3e02dfd917c9a32278c79825f7803489f2a302052187f878bc7d9f64d11076f9f2286ab6e494d39bc392568aa828d036de8888943bb0ffd24797295469f992237c7882ee6182e38d1fe15333c6991770331faa25c8fcbe42f9115c63b483f457666a6eddfb117656cbb8d1f166140193103419f70a8514b0dd5bb947bd1e46875b07923f7239588e28698dcdd7baa23fcb80353ae03f1c8c899688025cb3acaf5f9eaa4cb6cd31c94a53e05d4b53f08142c710219ffff032ade81d1d5f890c6589dc54631945285176e854670034a46fd4d71ff198b417c03e5100ea4529990d9454342348db33595fd1fd5aea929dbbe428363965bbe0896036b10c7280917f159575ef73e8f78f347e0c8807711b2ddfef97cb6775abe9479032890a4cb93c77825795b33839b8a22d578578c5d8cbe53db40d449a5eb9d1d64030588bc626a492b21ccf675598f2468c7065d70708aef1c451b8589cdd70df1140219ffff037280611b728878ff3a79ba42d883609a0b2308f24befafd26bef50b1472d731d03c55f57c530ea2cc809570f21e75d7238d3541826d889bfa161a4edf93d74406b03b7e5e093a3ebd7943d0b062eb51b642ab298774b1a702bc1f72dc2f8094511fb03a10ac62cfcfa1e596f83d39e32568b0520f5361c9d4b98aff3d2ffdc6594030603ef118a0869bff8d6dc02a9ac8e99e82faf4ed4c8853c108feeaaac3d218aae6e032a745a0edc60a05248b3ef29da7fc7ce7131a2651f6cac5999098bbb4b0c5da90378fbe2f53bfa8040e61f3d54fc0d7d88a0bf1d783e3d86d9d81d4b3f588fff700322960a7f2beee7bbcfa02134a6a84ee4ba71782869a747ad4306b2369526470f0364da6ec41dd58796a09b8d3a86f13d7d2bab33d4d49220b40fe9e3051f2c285003a2c3b6212cb4c8fa771a5d1156a753befdf05e6f6662cafbb552a37cb951626403460c2833e6bbc998b5ca2a607e50edd39ecb5c5c190ee97f455f8ae8a7a22bda03a0a646a61c5975c1497615309dd347ef9160c4a960061213fc0d94fb500757a9035c5fd44537e16bf61c9a8b28e4e9862e275d2bf0074df1ff91ac4736e95fb68903f0bfe186902219462834d2e6bc104d347b2b2888ba24e27eef85fbd98be602db0352068663357b1fb28c1121baf282fd809a873095ab25f6d49277b18e232b06cc036c36ff000139cb70191580d0777df4a60f24ae3df4063b958c3cbc29f85b3ad203913c4ed4d0503a973dbbf4f63d143305e3c140efa044c2ac78130dd83b2bec7c0393f8d6dd9ecc9709d786c7a2e1702f3480adf4d30f95379e874d00e37cc53fc2031ab6e52a90eec54b0a750c9e4b423397caa88172d91fae0f9b3597d6347ee0b803a0416b7a04605b90eb6cb4269a1fe492c99cd670f59bda5ecd28768ac8c382330339aea0a25326276ca9ab841cd8ab961832de52ffadb61fa5d692c51015cef4d30365f49f0a504649e9074b53282b278a6e3542a0330335467d0ba8137e1031098703735e73f852cdf3455a4c005cfcc666709703565cd623db3a266910dd789f1ca503aaa7b7a487675d781568ffef348e50d2e38b5fe6335b4ad9742a397c0f953951035018563c2d71fa0c80107020488b67c5429bb30d92f41dea09128a076f61e4c0032c9661047f86424218a75861619d720cec34d6a607342f2e3037c1ab6430153c03492780986e0f2aa9df6a15d697e9b1f9c2b8938e68e3c6dc7985ac3570e3f74603743f75c0d10b17502d88a42bba5b6d01534e3dedb77747f982206f03b13a7af0031b0c23bf63b63c046e9bb98019160ba708ac3d902897a0b314dca137e564398b033035951ff1936bce090e50dabda315cabaad28c5e720137f430a4fdea4492f3205581e03ebf0cf01ea8a15685a3695295b0ef42be68769b368ab9c77b8abc840900c02470818c1242eb58c03a13cca52413636cd71e65d5bb6369c52b386699e7d097b6934411019669550f305581e03b21350c3da5d6d9690f6cc29274469cc338333a938562d0751e10613d00c07480591a50be387b14c05581e03ef55dd85352e42acb4fd8667f492b2f0b053c955cd4390cbc9abcf2e500c0146466f826af5d003d8cc0ea33b35b4bc792bfd5bbea4d9e9ed0b1cac5986e53f1c66c13d78515225031b615cc35657043b155829148a0355e9626c2efcee14037455d5b73b3b36e42c038e651f68de221e52a1d60c48d5cee7412a35a7116318911b3f63bba1198d59f30331de1b9e587be277c88a122e900127b5a862e3df623ea6929bf5679fd8f08b2e038503189933f114193565a68c0883c219edc439a60eee855bbfda0db85018c29205581e037c2360ac926fc12ea11f5186f550f6f3a08da1fdfd8d01770188a90b4007011bffffffffffffffff05581e031f62a65ae1490a6d75543320c5c90cc5e766c76c7926785910c1f719d00c01461e47eeecaf000219aa9b035ff938bab0eeff97154ef3585e25f2f2a04028e3444042d616302a81a688f11503c76a05c65fa0a92fbcdc8d1d4210d0d1305ab644c07e8fe1f2814242ae1986a30364dbb8432455048497ee4f9fb19cc098aa71688f5e9470a6b87fc59629f937e403d4706ad791334a16c993478db4d11ee06ff84fdef9a9c9155cd55d9bf66f1d670374128db0c4c2c802db340b1bba527e9906ff4ba6c8a062d5d595549c54eeb317038e35926516537c2e806fff356694faa113e28f257a3d828e7c8e5fe7113633b403e6b88b3c557a476ee14dfd73a30cfe7fa090e27623f7c85394820726832e4e8103a4762628b354f1ba9b32f73631bb8f7d807a4ba8fa9f7685081c6da26f4442c2039b343721180cfc9607187efc45e33aa8ed6e946e54a261e399536f0ecfddec3f03ed94f7505204814064c8cedef3c17e45dcb3523c797d41a08b633186e118accc034a6477d5f48b724fce4975f332d61e4ca2c540404840ebc3492f6f311581d03103b9ea196f886598c888a18d48692a57ea5d2702c18e76c54f4b915ce448379d1a03dc3fe186affddbb27a0bd61fca2b5e425617359a8a88fccc8610ce9d3f63427503467b82b010d9b93a884b3fbdf4b2d7e8143f6abddd538be9456eef5dcda42f3503511a1e162f0263ef625173e69ee6a629fa48d49e72968dfa23f70bfbcb0276430219ffff0313c8432c4f7a9933c8b0bfb0d90608dc8c321e55b1274e90495c4fb556d343d003e97f47773ad845350ca9976ddca1ff64666dd81cfd58a79a7de1be8a73063a8a0219ffff0342235b859725529a8311239289e05aac161407ab5b35b5ef3b64e93b7c4ddfb30325b6c8f781285bf9153fdc8aae33e65e40ac37f7c165c6965336b305a5aa1525037ef0d97a1194411116a6b214fd10d89f9bac814c7361f7f2784b208f474cf8d00382be11b97c700ecd0bc1659539a2874e42f1aaa6720b9737a366fadebf91a7d6036fa7d18741ce0fa2df50242b8fcc252624fe6c5f64fea87f0d78d94dafc355890364674c84ddc8f5596d5649e7dcd979f1e1be291b9e216d47dea7a91355849ce103476b084f521749c6294f110db6054cc2642c6adfbb81b5d11bae1746c399fe25037a5b9425ce2fd96aa83cc0b4ce92a1ea6a4862666c3017cb8692b6ca85d428300337294be06a559e572c2c8d0317dc12704543b034c429a7040db0a151898eda220219ffff0385f0f7af4f3e999cd596669dbde8a97c2de6dceedd04a2257c806dea383e49fa03a23a9991f4960cffdc3eabf83e1cd6045b5540fad86122594231b6be9024486d03da12f98ec72d1dc39d6db012069411860b7e564c107e2c5533f301a56b13d39e030ebbccc25a3cf38156db6176e9d047603938a51c78932fb64b11ff77e1984531034e56a7010374422acc5cb0207037d409822091f7d2822d860487435ad5fc09f10391809d6054c1512bdcef04b6624593b7244f366765e82fac28af0514e05d4076033d479f8f4c454c652ef9ebe7414cc56188d08b578f3852389929047ae44462cc03a957a5b3d40ec1724bacb89de0c59e61545d75aa6ffd73c98e8261962470ac8503ab3bbaaac3520637daac5d8338287313b3f7340527ee5ea8a25ef9fb00b8eb2603b3f35ba44cbf9f060c4c1ecc0d49d67403dddb553f5d3b843043eb63918b750f0348340e348d9e743b69ad0f4b5ed3b8deac5b937bf9314319748342032affe5f403d45fcc8dbef8a9316a6afb7278068a2d2ba483f123f3eaa37530130c87c5eeb303f0bad674a711b3bd064d505595f6cf61ed0b9f0601107453f9c582d38626131403db1f71fe46e36114fb70e6bcb64b2832297abf606cef6d7f441122e1fb2be5e603cb64d4b794ef2b5a2d1aaed2e9528994dcb8721243168f7ce7426510c97f826503c3ec378f622d650e7947e94ffc5a2f241f197cb1868e2f39e622522a1c5c2d6c03e5fbdc695fa22d34fc786c26c5ed0c9fc4661c4b276ad311c66cda4a0fa6f8ab038eb9ce6ff2139d22953db14878d33f921f990c2042d80fa88a1e95026e33c018034ac944113812c6fda1571468742974a8c32d0811eb614e200e96142b67086f3303fcf28984a3a53222bef3fd22d128b48c23f45636573b3123e0ab510dfd95eec103254c068c90daca7c168d5c210569e4b993acccae91abc0e6a8ae1a8e8de2641a05581e032c47a34dc9858a4567ff0ea1a673f06b3520491e958b06e64937aa58300c03422ee003c4f85c8fb237bca7b4c6df78021f08a17715e82f75d75dd33177ee9379915304038c21e845e43f4f80acc4b40460e9b9ff06d5da096bad58f5c2342c251a4a2c36035e84786eb5cc6e9a535de016dc6118855f216ae60b5e34819b435499189026a605581e0333b4fe85f56f55bf25c11ec604c1887d9ebbca9709a2eed83450c8f2000c0146d1ad799ed6000366f37e171e22c3ddd934513b74b3106f7b53cde0ad3e6c96e786ad32932684f7039c74b3ed013d6f58991d5de8680e413be853a2b5ba21b2a2075495dd66c8d82905581e0388a7c26fe7f73b2dc0c83b504d84f907a925f8dc385fa3d309a36a9570040305581e03c54edc7c55d480643b7c1da83a4b85eb25392e51833043819d037d09500c034702c2813f10c44d034f146a980a1fdadd17de6959be0e4540a379fa097631fe71a656ccd9ceb4d04a05581e036c79d50872348722ac9b4427adfadda5e17014fdab3e1a3a9af21386300c0347090d647ae340000219eaee031989965b3588d01a20cef33c1efe34bc253466c4837d4517d27457352837aac503d4baabcf824b2450c8de43eec6e48078dad2f66bd9c3832d1fb49848d0d0276a03410eae2245d8c652607ca2b77a9320bf8139d82fe99ff4f750b1f65ddd1193c903149729ecce12a5b65156a4b7059d13ecd8dcc0461d162fffb21c0a7a0ccd725d034abec3a8b6880887c9ec32844d3a28fdbb3f7e173c9bf71ecb7ca62f7e490e15034c05bf28283c2a3a32ac103ed03e58fdfc4765a4b821dcc50300931cceeb9ea6035d2895e4c64127d08d6a18d3da177b54810f0003c60de0600ce8149673cd30ee032f195dbb5bd6e9ea2ddad76eeed3e074686246cf5a1eb2e63eb1f7bcda784665033c491ccad92a523ac13438a19604491e5d32814bb6a6842e681ac1cac3eafb76033e25471257b6a2c2c294e3f1fd58994ef357327b8625ce6996df8e7701ddb73d03af23c72ae6032e1f796bfce63d3ae3654978e8200bd9adf92070c5620bf1dc070380a5b483204d44bcec67df526ff30474c82d684c75016e2c22283c9c818bb3650219ffff0391b68201bdfe55793ff50801c973e62ac8ee8731d87c76cfd0b9cab37345609a03a11af36526441c5db83bec8df3439a747eb662b391edff408342985d894aa5ba0219ffff03d87129663a3037e1a6fd1ceefc9d5edb8f57b1623e00866acaa9bf4c88593e25033ec6c6ef5bbb03055e35d3c459cab4740489c1e0d920637a0a68a689632cce650303b3d6eca0999d14e2866070114dd611d5c5ff7675f65778efae7eecda88001e03ce911feba6c6b1f0bbe96f31dac665bef2c5b5cd076a7e03ef658686a593cbd8033416a0795121276be5a273bb9fc061bda50d8b28aa6735eb9066668431808ba603280c5c2bce60aaa126f9b6c30dead51dbb0569503feaa70233259d25784a75e30386c13e1777081f5f7bbc4179a11be533a1c1ee282deaee93e4cc0ebbbdb68d4a03818c7cc32546de63d7f211e1258b22996047f78bd0cd8119049ce3aff2b9836c0333b9125a86719277c062bf3d3bd9a0912d26b947448c168f8811f8eea5b2721b03bf739184a173a2dbf262b8cd2a9f6342dc072882d01be6c9ce6b90e74944cbed031110ad4dbd5491f2d53e7adc45064ab9afba22f5806cf2bcb357bdcb3c5aadae03b06b0df826d91f0e2b3aa7c658dfcfed4d6314e9a60e492af0d38d11d1b231bb03851b750d0de5cc22ef46106750622a4f7e5d2431de80950f875af192082a69d403270e616414f785619d37a0bc600dc1251a31f66608cc736639a9ee22e700c0730219ffff0219ffff0219ffff030c7f8fba137f28ae0c01e048b7d6db25317a98305b74d59e07cf137f6f4224d5035572c7eccac8d401829bc97e53e2426e6e0a17403bc0e6a2a0d289e6af37abc803acbcf3b2380c8e8bec316258a1e984535e2b44d3414d6e968b256f515649ee1703e369452117031a97398d420e5c518934e882cfd280a4ed4f8f711e0bcb8d64a8036bdbe1baec2591a52ea8d946b3476786af294f880f0676aaa501ab8c281c1b03036ae73b62158b8db756309bcf9375d5b11302d463cedddffb20a23c74b1e1d55f03a5da70d3ca9804169b105a6657d4c5f59a1b1fe9e7e927159245bc6a93f1c93603ed1ad22075a29147df1268416060103c4f5e4084649b3522811e805b8ebe00b203d3c0d59412a451aed17cdae1d741772b2a6cdb718b347413de0081d5132eb83203d9f4a36de37fa2c005dc8cfa3a0b1f8398b3c35f158847a00b6a658b4234dd6903e72901d458b8f2196fb43ce187230bba3265c6c6388b048e19d5de5e381d4dbb039f1f76475851e6a11629807d912e8cc2c6343e60ad410c96dac97c83d98c1441039d641b5d0345364e9caa0fb1e9b75b2f6fea9be3234b7ee91709d7db8b4120de033bbf79c531a8313783bed680f5f428af95f5c9845144238b5258a6752818b8a6035ef4caa5013f9dbba4251ffea377abf93c865eece90c35ca8063590c3a818dc505581d02758fcf1092aa0ecc5cb0c60379fa2faa8eb5360b1c0cae239ac1ec1e0c064703ca672f0dae8005581d02db0c7701d089f360d893566929f5632969dfaff04da8bc8db37bf2a80c024721ba6bc2d71fb505581d023626f9d269f42466e0be5080c1b191f6c9a5219f9bf2ad816a2c714d0c01470158bfda3ae00002196800037829b2f6b4c409d84faefa3b64a4d8498b819ca19f3ec55ef227a40cc96fc7d3032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c9420378ec10b48385b5cbb1f06c3047671071a70fec462d74f3ec885920bd499ec2d305581e0304c2e27de204946310d14d493285b8a340c26974bb77b21367c42c82a007011bffffffffffffffff05581e0320336538effa9a1795756d7904eee9da8421d943fdd2bd77b23f6e43f0040103487a461db8871e41cd7b55fb17acb4303a236e70ecf770e8737753359c16c025032f3f5a981b9f0ae304ac4a0414f684ccd90b8eb206402a5bf0810b4347d299b705581e038f5ae2942df4aeebd149b04551edbfaea246a810bbcce46f371668f0700c014705cb43cc52c70a0219e10d03a8d687e77043e64483a388ac7931d33dfaf098453870fe5c35107620664d46620380a5bb3e39ae3cb909a3735918b735cfc489de0edebec16f25e0f7e81e51e974035610582e7254dac6fad4d7899e5da976a4bc0fabb176622d9559656e6c0aa170039ad9a249404ac99b3770fc2a6ddb828b4b72ab2630f6ab93e2aa4c14879876ca0360c0f36ca002b06a2ddc97bc750c6b93531ba53c1530937724b1e5fd4e774a1003f3a2f44864a264eccc81010c284358d6bab9710a18b59af41a6d020c118ce46e030506a3f54185701f83bc2b25a8c1440f009c91297b90f55f187f9b3cab1d76cf0219ffff039d9a917c3a71f1b918473c1274c979e63486d1251964b588496bf015913297cb03b9b8e1e2e288cc2db7af15842165b2e9b8eeedb546bfa54ee00290d01f33ca7503cec3e371216b48d624b37fefd19b574ed8447b5eeef894f8753cc7d25d6a2546031a05ad6d093ebf729d71ea4179e1e4c494300316cd8caf7b02c40d1e525ea1bc038259ff34327b30a378a322be61b2d5ded9c217ed4f624b8478778ae26edc162403e3c642b083f0e72cd4df5232b5e68d8abe915826809eaaee73f2465f40cc1807035ed8f8df7040ea9aa4186fda32988d4bc31896aa15af0ce2e0185695c4d3614e03083008e49ae87ae8caee6edb113b7bef05e32e3180ef12ce3e5f4c55c1d21d6703fc61155297cd79867a14b296442310d2da505364c70cb898b99bc6393d07b9ea03433edbf201703893687b5467a456092c63f4a5f27af731b7476fd4ecc0190d480322db7e34870393c479424d9071daf864f095d4811e5d3cff55d76197958e102a038d9ef0f129248b2e551d4565de0ec141a6dd80a428c9ef954eb840084ac96b9703d9412312508a91f02c7f18a2cf0354553ed6be506a0fa4cc26152eed81b4be4d0219ffff034c3c6175df621ed79b7e49ff30ce3387d58c85ee7b2e5152031ca8b4c4b320550392272d478a49215ec01f8a0df941103be25e4675a72282b61e006488bf8c3db503e5da59ae891640f8608764a591e945bb51590a34c1060dc6810b2049689ad6cd032a9996db99fbd0b91fbb8ed6b0c5cbb1743a9f630f12335fc8d22992d77acf210351d57a35c3a64666f39e8a23d720f86f753c9593df5e36979e33b085e65b85e103ace1dcf63cfaa595649f03308b02d82710fe4b6a52047325a19e6f2c38ff1431030c0edcf4935db7fd6bd741dcd38ae515a134f28c10c5c7bc8f0163ff5109a92803090e05b6efd38741b1e34f70fd367b25ce37ff1764fb8628280a747abe64a8d0035de041776b3e55eade734a169e450f08eca7a370cc7a18e5a6ed47242d06b30b03023c9894e71d4fd62d606530f51cb24f7bc441465b5d0a1aeacaf57787c8f534032bc1f3bbdd06b13b0bf434a8d24fe1843e1b3a83f51de97977af6df47f8e020003fe28069e882b67b7a6e4247c89c9c3aa2743c36b8a4c75241f3da33c1f40c4b403f2d1f991ee84181c3925e078efabb89e1060971f87da120e420bed97d6d746cc033737c8b09647815bce356f9461c7388b00376964671ed930f7f8f925d2112dfa0219ffff035c7cbf2c53f215a403f6f1d319817f9b54ad80a7876c3b66b60aa79ac5a6d8d70347da861cae9832ec2545c17c771d41108bc7b47dab2589848293e1e8927fb33003f760cfa78397a23f5ace1450318a51a3b97992675cfeb5716acaf54f53d5c7ad03c764b5696f7a6f2c5692236e92ec0981feae81e0c921493bf4eea3ae2b88f6420382c46d4efe957b75a3afc7202d7c0b5c22f1e1fb988eca8687f681e5f6ac1cb503b42a5163431d1b99082a43ec3ed5e009ff2625ea8b5665958d474752fb5a6eb903450fa2e6c300e9a0cce09a32afba5a7772a156c63a9204d6c5eca22110e65d9d031f70ab8df8fb0b6d11e87ec26993295552eb25079bd2a9ff1fd7227e8125c68903f259d9b761b89cda00d1218a04e2fd5e740af4c6e877549f1c6c0048a89c10770357d9c7937442ece501fb9ae107ddc463c437fb5017b38972c7f38a5e0623a461036f0e508cfee66350629feed39a0eb72616ac8f3134400f7b4d5a235efd28cc7d03f2e612bb9a65ac67f4c96eeef39c0f40b68f191acf1fee578d75faf7a27c2fae03316f9dfc8a88180b901ac4514b32f943fe13b55e5706a81c1a78fa51c9fbfeb7031edce2b8080fa4d9d86749a0e21db43f481fec10e766b9fa013dc2d53ab37e2d0374e377cce7e61eacd9cd8cf84706d6166a7a64ffe9d42a2f226a6c9d404a03fc035a388ed7025d5aee03444a632a881923ff4bffa92e3d84ec9b72cd76d98c70ea035107a473f534b207e8b3d36f796e5ea4897bf3830d5bbd1d078a3e670658f82303816486f7315fa2a9f568ff4e1ff989fe1c5ea84e0561d442cd3ac4743224b95e030330d764c80aaf58e8e5ba3a4d4c8e3c6795eaadee0e745251a99a650eea904903edf005ebf6a95fa4839d97e57a42aeab0104cfa3ab0cc346e7ecf79cbb81a8f3033452839c6856a3db0aa6ab9e2df120c067452849feace8fb961a95d3aea4537a0382bd54afb9c6653ee7dd0fc5e46292daeaa0a8306335c5cbceee235d48a681760391874fa85e668dd488ca1e5f880cec88b95d73ca4b79a2dbf8003572513162d103fe8ad0cbedc1ae50e9f67857e970fca00522017f216af52d6ca76c1f988d28a0038e77f694ced8728b3c97ee73abe9f77af03c5c4765ddd19df45f45e018d3fb4a03dfd11682973e145e0454ce1cff9a7786dc42955fad57895f72d1a95b25b59a530342aef17534e35ad368d0a8821ec46d15dd8789aa3c201570c0956f64f7d4922c03a563a9f7649efe7e03741a5f4e3f069e52b5bfd08156ad84a857fce69be08d0a03d5a751664852268ce704094b0cd0473adaeb3ce07ce8c95fa08ecb1eb98f1dd603cffd706dfc995631b55370d845d69a8112b4d3e622e99640b3552f05b8ab6142038dcdaa23ab5c88f5a27b3b96750356099d163b2390cbf0cdd04dc071a09d968e03ecc85c29641ade1f191e18eb29ceade28031d8d3a4cb1b9cfdcd4e18571287e603bdd9519f2b2bebda9580c8a23fd778fd946ba371be7486bfdfb72d640ad54fce03cdea68298e57952e0fc4364e8da3f4a36d0d37c5eff9cfb889cfd454e12059a905581e0364b61ea8a33cbd811e0c200f2a34f09b0f90f46e561cf46154371f32d004030322125de613a10c46a0565728417e438a11096d95ae66d0058ed3934455e9c34304591f6c608060405234801561001057600080fd5b50600436106100df5760003560e01c806361363e4e1161008c578063b7a771f711610066578063b7a771f71461031e578063d6354e1514610326578063e5b62b291461032e578063eeb7286614610336576100df565b806361363e4e146101685780636a938567146101995780639b3b76cc146101b6576100df565b80632f4da80e116100bd5780632f4da80e146101375780634c14a6f9146101585780635b4c41c214610160576100df565b80630301a2c3146100e457806329e10520146101155780632b3380611461012f575b600080fd5b6100ec6103b3565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61011d6103d4565b60408051918252519081900360200190f35b61011d6103d9565b61013f6103df565b6040805192835260208301919091528051918290030190f35b61011d610425565b61011d61042a565b6101856004803603602081101561017e57600080fd5b503561042f565b604080519115158252519081900360200190f35b610185600480360360208110156101af57600080fd5b5035610442565b61031c600480360360a08110156101cc57600080fd5b8101906020810181356401000000008111156101e757600080fd5b8201836020820111156101f957600080fd5b8035906020019184602083028401116401000000008311171561021b57600080fd5b91939092909160208101903564010000000081111561023957600080fd5b82018360208201111561024b57600080fd5b8035906020019184602083028401116401000000008311171561026d57600080fd5b91939092909160208101903564010000000081111561028b57600080fd5b82018360208201111561029d57600080fd5b803590602001918460208302840111640100000000831117156102bf57600080fd5b9193909290916020810190356401000000008111156102dd57600080fd5b8201836020820111156102ef57600080fd5b8035906020019184602083028401116401000000008311171561031157600080fd5b919350915035610463565b005b61011d610a42565b610185610a47565b61011d610a50565b61033e610a55565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610378578181015183820152602001610360565b50505050905090810190601f1680156103a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600154610100900473ffffffffffffffffffffffffffffffffffffffff1681565b600281565b60025481565b7f00d875840ac697dbeedb3d4c8f2a61889bc1d5f1af91e67a7cc7360e8faf35bf7f058e3ba2823801572d1cb4908bae7ffe408b4cb778f352dc5c52a8e4c2c29fd09091565b600381565b600181565b600061043a82610a7b565b90505b919050565b600061044d82610a7b565b1561045a5750600161043d565b61043a82610a90565b60055481106104d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f636169726f56657269666965724964206973206f7574206f662072616e67652e604482015290519081900360640190fd5b6000600582815481106104e257fe5b600091825260208220015473ffffffffffffffffffffffffffffffffffffffff16915036906105357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8601828789611d1b565b9150915060606000808573ffffffffffffffffffffffffffffffffffffffff16638080fdfb6040518163ffffffff1660e01b8152600401604080518083038186803b15801561058357600080fd5b505afa158015610597573d6000803e3d6000fd5b505050506040513d60408110156105ad57600080fd5b508051602090910151909250905081881161062957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f496e76616c696420636169726f417578496e707574206c656e6774682e000000604482015290519081900360640190fd5b61063584838188611d1b565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201829052508451949750938793508492501515905061067857fe5b6020026020010151905061271081106106f257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f496e76616c6964206e50616765732e0000000000000000000000000000000000604482015290519081900360640190fd5b8351600482021461074e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611d706021913960400191505060405180910390fd5b60008060006107608f8f8f8f89610b49565b925092509250828760018151811061077457fe5b6020026020010151146107e857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c69642073697a6520666f72206d656d6f7279207061676520302e00604482015290519081900360640190fd5b81876002815181106107f657fe5b60200260200101511461086a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c6964206861736820666f72206d656d6f7279207061676520302e00604482015290519081900360640190fd5b8087600386028151811061087a57fe5b6020026020010151146108d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611e09602d913960400191505060405180910390fd5b5050505050508373ffffffffffffffffffffffffffffffffffffffff16631cb7dd798e8e8e8e88886040518763ffffffff1660e01b81526004018080602001806020018060200184810384528a8a82818152602001925060200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169091018581038452888152602090810191508990890280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169091018581038352868152602090810191508790870280828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b1580156109fc57600080fd5b505af1158015610a10573d6000803e3d6000fd5b50505050610a338989838a8a6008818110610a2757fe5b9050602002013561159c565b50505050505050505050505050565b606081565b60015460ff1690565b600081565b6060604051806060016040528060258152602001611e7d60259139905090565b3b151590565b60009081526020819052604090205460ff1690565b6000610a9a611a42565b610aa65750600061043d565b60018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a938567836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b1757600080fd5b505afa158015610b2b573d6000803e3d6000fd5b505050506040513d6020811015610b4157600080fd5b505192915050565b60008060008088886000818110610b5c57fe5b90506020020135905063400000008110610bd757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496e76616c6964206e756d626572206f66207461736b732e0000000000000000604482015290519081900360640190fd5b60028181026102ef019450606090850267ffffffffffffffff81118015610bfd57600080fd5b50604051908082528060200260200182016040528015610c27578160200160208202803683370190505b5090506000610c34611cdd565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b6cee596040518163ffffffff1660e01b8152600401615b006040518083038186803b158015610c9d57600080fd5b505afa158015610cb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250615b00811015610cd757600080fd5b50905060005b6102d8811015610d3e5760018101848481518110610cf757fe5b60200260200101818152505081816102d88110610d1057fe5b6020020151848460010181518110610d2457fe5b602090810291909101015260029290920191600101610cdd565b5050600089896006818110610d4f57fe5b9050602002013590506002811015610dc857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f496e76616c696420657865637574696f6e20626567696e20616464726573732e604482015290519081900360640190fd5b60028103838360000181518110610ddb57fe5b60200260200101818152505080838360010181518110610df757fe5b60200260200101818152505060018103838360020181518110610e1657fe5b6020026020010181815250506000838360030181518110610e3357fe5b602002602001018181525050600482019150600060098b8b6007818110610e5657fe5b9050602002013503905060006008905060005b6009811015610f7057808401868681518110610e8157fe5b60209081029190910101528551601286019084830190889083908110610ea357fe5b602090810291909101015260018c1615610f21578d8d84818110610ec357fe5b90506020020135878760010181518110610ed957fe5b6020026020010181815250508d8d84600101818110610ef457fe5b90506020020135878260010181518110610f0a57fe5b602002602001018181525050600283019250610f5c565b6000878760010181518110610f3257fe5b6020026020010181815250506000878260010181518110610f4f57fe5b6020026020010181815250505b5060019a8b1c9a6002959095019401610e69565b508915610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611de56024913960400191505060405180910390fd5b505050601201600089896008818110610fdd57fe5b90506020020135905080838360000181518110610ff657fe5b6020026020010181815250507f00d875840ac697dbeedb3d4c8f2a61889bc1d5f1af91e67a7cc7360e8faf35bf83836001018151811061103257fe5b6020026020010181815250508060010183836002018151811061105157fe5b6020026020010181815250507f058e3ba2823801572d1cb4908bae7ffe408b4cb778f352dc5c52a8e4c2c29fd083836003018151811061108d57fe5b602002602001018181525050806002018383600401815181106110ac57fe5b602002602001018181525050838383600501815181106110c857fe5b6020026020010181815250506006820191506003810190503660008d8d60019080926110f693929190611d1b565b9150915060005b868110156112d75760008383600081811061111457fe5b905060200201359050806002111580156111315750634000000081105b61119c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f496e76616c6964207461736b206f75747075742073697a652e00000000000000604482015290519081900360640190fd5b6000848460018181106111ab57fe5b9050602002013590506000858560028181106111c357fe5b905060200201359050806001111580156111df57506210000081105b611234576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180611f026035913960400191505060405180910390fd5b8689896000018151811061124457fe5b6020026020010181815250508289896001018151811061126057fe5b6020026020010181815250508660010189896002018151811061127f57fe5b6020026020010181815250508189896003018151811061129b57fe5b602090810291909101015260049790970196958201956112c385600360028402018189611d1b565b9550955050505080806001019150506110fd565b50801561134557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c6964206c656e677468206f66207461736b4d657461646174612e00604482015290519081900360640190fd5b828c8c600981811061135357fe5b90506020020135146113b0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611e366023913960400191505060405180910390fd5b5050508082511461140c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611d476029913960400191505060405180910390fd5b600089897ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe810181811061143c57fe5b90506020020135905060008a8a60018d8d90500381811061145957fe5b9050602002013590506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663405a63628685857f08000000000000110000000000000000000000000000000000000000000000016040518563ffffffff1660e01b81526004018080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019060200280838360005b8381101561152757818101518382015260200161150f565b5050505090500195505050505050606060405180830381600087803b15801561154f57600080fd5b505af1158015611563573d6000803e3d6000fd5b505050506040513d606081101561157957600080fd5b506020810151604090910151999f909e50989c50979a5050505050505050505050565b6000826000815181106115ab57fe5b602002602001015190506000806000878760008181106115c757fe5b90506020020135905060608460030167ffffffffffffffff811180156115ec57600080fd5b50604051908082528060200260200182016040528015611616578160200160208202803683370190505b50905060408160018151811061162857fe5b60209081029190910101526001600587018160606002890267ffffffffffffffff8111801561165657600080fd5b50604051908082528060200260200182016040528015611680578160200160208202803683370190505b50905060608d8d808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509293506116c59250611cfd915050565b506000985060808c015b878a10156119d9576000808590508360028901815181106116ec57fe5b60200260200101519a506000805b8c81101561181f5760008660008360020260038e0101018151811061171b57fe5b60200260200101519050621000008110611780576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611ea2602b913960400191505060405180910390fd5b60005b818110156117db5760008061179b898e8a8e8a611a4a565b91509150808f888e03600301815181106117b157fe5b6020908102919091010152509a8b019a60019a8b019a606098909801979601959384019301611783565b5060008760018460020260038f010101815181106117f557fe5b602002602001015190508060001461181557611812898583611b83565b93505b50506001016116fa565b5080600114611879576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611d916029913960400191505060405180910390fd5b60008560018b018151811061188a57fe5b6020026020010151905060008660008c01815181106118a557fe5b6020026020010151905080886001815181106118bd57fe5b60200260200101516002011461191e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180611ecd6035913960400191505060405180910390fd5b5060008760008151811061192e57fe5b602002602001015190506000828260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090508e6002026003018c019b5060007f73b132cb33951232d83dc0f1f81c2d10f9a2598f057404ed02756716092097bb905060208e01868c03848252806040830152826020600383010283a15050506119c181611c6d565b50506001909d019c50505060029590950194506116cf565b838b14611a31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611e596024913960400191505060405180910390fd5b505050505050505050505050505050565b600254421090565b845160208601516040870151909163400000008310611aca57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e76616c696420706167652073697a652e0000000000000000000000000000604482015290519081900360640190fd5b868114611b3857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e76616c6964207061676520616464726573732e0000000000000000000000604482015290519081900360640190fd5b828601856001866002020181518110611b4d57fe5b60200260200101818152505081856000866002020181518110611b6c57fe5b602002602001018181525050509550959350505050565b600082821115611bde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611dba602b913960400191505060405180910390fd5b60008460018086036002020181518110611bf457fe5b6020026020010151905060008385039050600060028202602002602001905060006040860282890120905083886001856002020181518110611c3257fe5b60200260200101818152505080600101886000856002020181518110611c5457fe5b6020908102919091010152505060010195945050505050565b600081815260208190526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091555460ff16611cda57600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790555b50565b60405180615b0001604052806102d8906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60008085851115611d2a578182fd5b83861115611d36578182fd5b505060208302019391909203915056fe4e6f7420616c6c20436169726f207075626c696320696e707574732077657265207772697474656e2e496e76616c6964207075626c69634d656d6f72795061676573206c656e6774682e4e6f646520737461636b206d75737420636f6e7461696e2065786163746c79206f6e65206974656d2e496e76616c69642076616c7565206f66206e5f6e6f64657320696e2074726565207374727563747572652e53454c45435445445f4255494c54494e535f564543544f525f49535f544f4f5f4c4f4e47496e76616c69642063756d756c61746976652070726f6475637420666f72206d656d6f7279207061676520302e496e636f6e73697374656e742070726f6772616d206f7574707574206c656e6774682e4e6f7420616c6c206d656d6f727920706167657320776572652070726f6365737365642e537461726b576172655f47707353746174656d656e7456657269666965725f323032335f39496e76616c69642076616c7565206f66206e5f706167657320696e2074726565207374727563747572652e5468652073756d206f662074686520706167652073697a657320646f6573206e6f74206d61746368206f75747075742073697a652e496e76616c6964206e756d626572206f6620706169727320696e20746865204d65726b6c652074726565207374727563747572652ea2646970667358221220e5bd2f3cd785676d96baa1234315b8d0c8a527f8da20b35b56169c60003e343464736f6c634300060c003303e3eb07f5e8d2900aad04fdae0da71dd97505474497aea378760376f9a6fdd5f1031050c31dead0fe6ee4e79c1da48c46c98161699d89fca22a77308b531dab6c7503ea6c6502a3a33d956e8f6994650e721407718b90761e279f4a144ff25f13ad6d03bd83128a1a980833fcb54c36aec5258d47eed1980fff07adbfca6af6b1cfb4a703b582b1e6ad04776b9fd133cf8fe7e69e52ef78fadd507c45e55e7c289b975a4003346ddc1a8a0846ef0811a411e075b3e94af4d7da4e9e835f23365e151b868b570302530547251e2f1dde8a595c487c01646fe51e616a1de74b4d1ce913172e070f03c461a225966e97ed2f03222978048b08b51bb8d188170f593406a0c73dc6a6ce037963a615e53487ab4fab8be5fd284aaa32db243111569a265b143cb2028786a4032cad376bcfe322cd68156cbda31a12a98cd8f102208a76844be5035b47af314203501c77af42ed797f9afcbb34af30f0393bbabac176c917f810e28706f40c9fbe038bb94dd63099f7338e0abc39371c7451afc2ce52294fa53ea9de819d9974e0e20310f0241a8c94ded614c969c6a8ff59c9ddf5242d8b32692371f78db31f4a6e070339ef6447bd6313adbc10023f0e0f7eda4624fbe6250d1daee2181e9d274a9d7e032e4055be352b2dcc28b38de8b3413a16d7b241fb526fecfc7ea433779d02e8f8034f881d56b4af01cba33790df55505c8722a257f011fafce86c59e9c0c8eabc94031ccaeca2e65424679e58a84259ccfd647298613ee5135aabf83215ebf15f8b1e03cfddb66f5755ddf87f8088425c0091c52f60c81159aaf4e868b8870c88932aee03f05ff88034fe2aa2511ae4e05c9ca3f975802f6c6b093218bb57f3544790051003bcb1cfbdd124bd352fa285f434c4beb1fc1ab002dfb45582532ff6581ee4335d03ce675a20170134b772a4239e9c93712f9127f6a152adcf46e6751eb59af08fd703a319a88f15d6bd83457c2dc454d64b98f7164cf3649cb8bce474157295d94c1f0326118cd01618468ab022cd8e1884fe54ba8005b1d3b8fdaa3d0949a66ae04572032332b4f825de4421fb6780a5952e505f4ceebab04a987f6b1dce64f7624f1ff800581f0274769ece43811727cc556dc278f7c7f7066da6506df3250914aa42f7852e410100581f0274f2eef984e24e7fb00de3a318386f0b316c9b6822e59d30ca4c017d1d6e4101038c61fb0dd1b78dbd165923bc26eba8ee1fd6afe88bf0b3519e43112cc225ae5f00581f0239046a32a81b13d9f5b9a5bd3f29ea7e6d096d15a2d2ce898ba1bab807bf410100581f021c557b88f5b71e01e752bf8f6bba5267247268a38a08d951848b03fabdb5410100581f03fb47c3bc48e6492ffec1335ce25e061ad7067a8228225c4088bc9e44e080410100581f03dfd929ee6dea1d5210abe3724445289732eabbc8e843e757fc895f5500b041010219040400581f0221b12ece3f63cc43822ec998d491f762b0dfc8de662f65a7f1fe77020e5f4101038856d8d3e540cb29a3dc1c30e3505dd9343f0e1b153a159d2bce0f701c8cc787032df78490d9adfde2d8e7e7e452bda0d6f0100bba760a94ce198876a3084d23fd0301714b318725512e9bc5b377c24947c262f12c4231284b28fbf6ea64f66b25ea00581f02768d1b65d4953184df9861e094095eaf016d76af718dbe104eb04bd18c54410102197b7b0395c4338971f492ea1bc60d3c8867977f3ad26f74c16256359205f1ce958832d20219ffff03ea58f3654dbe1f1e4ff0cc68753a0d7c7b16a3ea9bfc6fdba2ec309dd8208d9e03d834510f27069cdcfdaf3baa8ba7e98819fa11d5a6ca85c1e72d51e24cbe18d3036db87fdd9e05982ae074bbef4f5773fd949619be506ce78b6b9c22df2a0578c6032ae05122837e346c9049c20d816b8234768eeeb98428cfc7772ecd0177adab5c037a9c5764fdc926cfc38bbeb833d1b7d75db980ac219fa154470892356a1f5ed503c00179ea2f0c4967feb6728e13a760add52da83310b9d60f248711b2e919a7cf032653784dc5a50c25b5951ea042f407dc3766eaca1e1431c409340e03f62b54f50219ffff0362c4311272e160adac7b5ace18f02fb5e4d13f750fa06be4851ed05272d2aba00398c239ffbaabf83078a6d17ce7d5e74385e806a19800f5565661427d0c813ba40321da38942ce2ff12c42a8a27c12b34b75d538d578e489c29e81eac9f8e3eeba1034a040d1e4201997b63264dea375412c6b9a610a6eab886b9c5def6daba2bb812036731cf83d84ace3a14947ec6372334d6fcbd7003b683fffb22101fd0e594eb30030ff8f05512af26ef91920dece814144bf649120da8cb0e08d80d00b9c9f46fab038636464109b65c913b8603304617186faa0c1c83f264f6b8aed422272df6b850038b53b4a4866573d4b47d61448956294b9bd95a36e56c95d427e32ee758f2cc7403cf1f39af958a7bb764ac5a9c26881d9ef7af4509fcb25b4ecaf69fc39a130a1b036932d92e3af50f11d6f0b17c7bd676cdec40b293467390f088844c9cebb61cd903a8d53fc4f295c3da25e3c63a4eef2c22aa8505a24125a8fa89aca8986b794ad30322c433a04381cb583d28df8be6c34acce4f6c528c4c88f0ccc1232749b089041039ddb806e49e7b1911e9a54be1a8bf4a747b79a701ba5a3d62740b327c7c0d6e203f6d6ad0076bab9d96be7b3eed6f53ddd0dd434d8b08fb5805f930dd2ddc9a1ea0219ffff05581e0381db7b8d9aee3341d99a9a7366d6df6c5a921c7cd146104a5b65113ca00701191f6c05581e03587725bc18ee3eb4a1565a6b7b48848fe853b9f1362e2615e30a9952600c114801efd058b6849b83032650fb1fcf06040bb8c4e1140d6f60708f92b3f41c6b8b4dde37cec478c332b803deae6a911af044d97fc71378e44239092a18056f58fe9f9e7ef0cfcd671fdb190323df770d34be45c350126459e314dd7ad58b473729daff5cb4ac77ea251929f505581e037f08b52ba094fd1593234b344bf7de3bd3bdc2c764c044ae1977adea500401021927f303a0b4d8562aeaa4520986cafdee92e10c560e134869a1ed6eb80b29e374dd11a2031203c080960cfbe1b4b11858418d9ec933e9cd2611a7dababe9eb0b6a7bb8953035618aa7e413d23900f53aac3e2011bcb45a5622e5f9baba0ce07690072cd1ec3032f2b17cf8c534dcccfe6379f4fb763596c395df7256c1d7a88a15597ca7e0a150309b0cdcb582ca494f7d3dcb07874a98f01d69d4a27c1acadc6a7398609e2ca7403dca59fc586f1a313c45a1fb0cd92d441522ef3e247a5cab37844df5c94df155803f473c2d491a352443ebac74a064c9700df87e399afefcf96e11dd6b584e343dc0345a8af2f01e9de406e067d75d61a3e3d28456fc982eb6ac7363fba5863284ea90396afaac7ebd848f53894f0c197000fc1dd4619193ad9835498840dc4a799b06a0311ea959293cb8984f613dc6ff92db4ed28ec9562d2d72fe0dc3bd44794fbad1b031037c2fdd252936d51e4347b2d1f6c977a72ee87ce97096ab68930371beb790d034ab8485b6925a251e77583b98f70a2c5ba602c7f334e42bd25ca5956090212e50219ffff032fd12aebb84c1e20247ce286671ae3fb5bf2a0e01e34ebd3a57bdc51970a75900383fc3d0219768dc42e5cba72e3967f44baa0e91e27cd7c1df110a9303c7bbb9c030fb7e0569fc18d7c78554b2a620f0742c541198e2d9d2a0d87f7b226a34026a7037e4105aac5761d78498a51be8374ab046e805910f927d836ce2d0b30bbd4375c038bc167e6464564f0b4eefdb570d8be94db27efe827d9c3e539ab331ef0f4393b030a8d21c1ba970d3b9e1d6ec5d5ab85228ce6c135a2ae9199119a42b9111391d703ea6918d26b888e82c2bfb1d0289df36f68135b489ae3953767007e90df3f59960219ffff03de2b791fae1285961a264b2652434f075834fe6c0753762869dc5f9ea1a94e4b0219ffff0351cbf6f6913d9efec3b0422358ab4a77b35ff5c8936c93c5e9b5d8e40a7b53d503eab2c821d34b1dcdfd0be2c5f202cf78e21d405b8a4bdd7b40a568cc95cac23703e1eb8ae2de2b0f8a4969203198d116c980e3e1b11f1d3fbac8a4c7b5d94b9837035b04f0f8943851e766312246f27b0511afc24239b130de698b04ef1415e0a3110219ffff0356cb7f3041eb4ea6b474152c6e4e8532c767b033ea81f84c33df114047821e8903207ca20131862e68624d8e02efd4b2ee10d78a2bb39e894adb64e44b11b1629203a03b0d231e3c9a6a921997bb269b07bae1c35a3d36cecee6fd1fbe7a7e777be10370c9dc6b561f8a282eb3ba1997eec401f37bc76f6d2e824871b6ca8e16459d1f03ffdb5453deb9fa538375e2f07cedffe10001b255238da2546aeb2d986dc0cbc3032a1e86f90bbf9d9ee2c2eff4dacdad0509f4d6ec92e2cf623a4e48194e6b94de033dd66e575877852bc6f67b54883b5c225ef5101ec433e99d76f75d43bbf5c0250320bd0a624f99f144d419ef63f16ba58db2bbe55b54ad7d0e2d7119239f40215603134d934e4c5ab4d33583583f4bbdf6c7fa4dd3f0ccbaa822577ca1ec14abeca303fa06153d131fb2989a5ea7c8b44d912d967fdee0fc39b6da9efef2284f86535d031971c8806b50fa605a326ebe44e3678cad69f390ed2bcd350774365eab9a3a6105581e03f292f48dc0619ad918bd1750799208e2d81038812dbf26054c2ca4bf800c06460a29c9290e8003fbc04335b5688ef374f4864537691a29b9e7f4ecd6f039e8b45dfaab784b10bb05581e035020b5459ba7ef78a48ee97bbc2b649b8f14df0d8b5e5bd77c06a23050040305581e034498788d06df51d08b149892bfd3f00e38daf70ecf18f43b43693cddb004185d05581d02398d501ffa9821762d62a2f05da18b4b583b90c897c604b273ce7e620c0547023a5b6bb9dd1105581d0208833a3fc6130bb2085f234dca1e6155d5659c583851f7692b9c42c80c0a48284d29f3745a1341020a05581e03f9335b3600c1047bc7c6897dc69b78eb81072c7d633982fb59e7ba5ab00c01471bd7a5e2f8b80005581e0333fa449b4c224426502921dd0eadd65b8bbbcd7c1f470ebbc0868db130040303dec9f5f12a465d544fbcebc2929692855d2198be4c776d57f6032c0ace2d874305581e0333b9dfebfde14a748ca765f6fa55daa5e8af6d4b209b363a58ee46d1b0040205581e03adeb42a8756582ad788636f632e621fc44ea74ed1636fc09dfdda5d89004010219e1f303116e665e35c31d924309086f4229af570c845ab041a9cf23e076149bb35f18650341f479f040f75f9bfec31fec3926adfc5f9c0039c6c2f0ad0f9080ae60cbccbb03536a2bce84b7e1f252fe2e800eb85b3746a851453cc39d8ff76f15da25e61f090343993625f7fefc29ca0eba71c9f5ff5a79f8247692e05e162cbf43a47ffbe04303612ce49871c68224b11f9bdb91b149b2cb89800bf91e0bd17b191cd534cd8dcc0340112ce65f48c3970bf462d37ab3da43907102f2e6a9b944f13f3d5e20a1e5df0398c69561600b2fa7db976efd0c75e8c75b84ced37916b10ac4a328e0aea4a8630367c2c992d09b08e0cdab0fb96ffc2018f38b8d212a3bd85a9fb0053c9e7565b0030f1d38d27d40e1f321f692ba90b2b5d94e356a46eb3872fd8205f4b799e7a53d03d7ce2af38b9d2eca6f1de9123b5963306df161fc996ba4906b89c550622eb47b03da4f49e20f766aa3f7fd3dc96c9e238810c1d8448d44231ffe14d21a33bf13f80307a4567eea86745ebbbc9b989a55236d112aca6d3785e7b33344945b4a094eee03d5dcd0ae05d1239dc0da76bff2b716ef861493f33a0f7f1d2a6fab204a8030d003730db350c30320f647ecaf041ce6836356bf911fa0015ecca55ae99a386fef8c03938e76c9b6a11f037199faee8b0ea600e21fb7137ad797a040553e6570ba66b40219ffff033581d7556a6aef159fa9f2aeef23c6b61033465112906ea3110a584dca9833ca0395591daf9d455f93f3519fe01e9f15652023b98130b95cb2b37e1923e30c6961031096bb3ac14a9bdecae5bcf6223c59047cf0aa7bd470bcc428d6d9a4f3a2e80d03a4ed6304e79ff26914ae846e633ad1b656901290f6261488a17911268a3aedb003bc9c54fb48a93239731f73a712b40e21bece16a0ccee9d742fbdf0e0c1d513b2037ee19750d6b919c13510e864329c6804756c7a24c6c51644abbc698dc58d868f03eae57dda468e1ef4255a0d5739a07c421dd09fc2be58c3f0ba1fe2c8132f43ea0310760006dbcbe762e6d4cd5f69247adbf307c7fe0d96e568a5d00876042c970103de4dde1b41065a20c59de6ccd620abf14fea1fab3bb1128e8580f19bf3ab15710219ffff03912031d6d9c5a2fd7b8e5aec0525a0d84f3879bebaa35bef47047b46184edaab03ef6742f09515fc67f35107e7de1ed2fccfd591693754ce3bb2d2566df97f02720364e347e8f8de8bc5076c979dfeaafc9179dbeb195f97334170da22906790cfbb03c68159483a91678fa9af8d4cd8dc8b6673ea7e1883dd1d9fae41a06781940a230321bf94c462ff9bb25c2b06dac58e11e8148fdbaaa8d24cf16a451c538cd11a1803ccf5a73852e625c917fb7455885554f7005487d236074b50fb290cf780a4d91003c2401636ea08a40aa1f2e49f40f4e03a37312a33925cc8b33a7d08d8866a4bb803f51796e7d378ffc6ebbe58161c25fe18737826b1433b7e85709878868c3eab7503f14bb0673f0c92bbbaac2fc4db0d8f128b8e6aa500e0871d94e129e6f1b9114c032603d00cfc6c2d9b28a8fb76e0df704c7cbd13f9342b199da414a5aa0d6d3fd30219ffff034e2851a4419767716754b1b54773750950251a2c9614aa113295847185c1fa2403b5b00e6d546fe167e189af65899dbf98b3d3ad5bb52fb3513e791c8cfd358be403d4ed1635d64148cd71db66d4aa7cd2a7015fd90f943359bfc4e5b203adb3ddc003020c1603a0c243bac77407b5171a315c5ed25b90c84d20c3101f99a90cc79d0f0384f2a86d88f48fa013dd22950587b9c2b567f61f94b8098014864989fcd98e8e035808b0a257bdf0b0f0b705db1ad97a3c97f35be9d3a9ee3d3a3f0112f0a9776903ac90660b0eeb4306a80b34491af1f76bcc8e1c0f9ff34340ac663ca188d8e36f0396fcb952c5c3910c0c831712352afd6071fef3e045ad6ea9b647fa061bc3062203c9ce418ea5c6bdbeeaeef931e9bc2fa3267256cff7ccc1143669caa2ef012018030984302974a295516debfae9d1afe876478d046c8c6cc9207705bc9bdc60a8de03f424d80db1399cbc6ecf439417e50ecfd795dd3aa92027d12a7a0231705f243f03785ce360e4f40509c04c5d7e2bd9c22467a87190e32d2c3c2354cef835ddb60f03258722b76ff8f4b8fbb3790445a09bed0ab60b7414b63eee449c54a601d96b0f03d1e50fd0c8bbe2d597a6b18664056a363e5ac07ddb5837ac17a044701c58e63e035312ff2f330202a35ca53b5b8f883ada44ad9ab0aeae4bb23f7a7baaab30baf803f37920e76af3dda6bd2bea9c3caea764758b9bc6fe33593be937abf08bfc169303c50c2d043b02b10d30e0cb39726209521bf819ee0cca5eb3d8bdec93e7c3955803efe228f7fd8d9e4b7e8c669b295ddd96fc541b4589f5173e475eb16ef2c7cb350391f48d975c790b8f190c6cdc6d35fe17cd2766d9984a7941b96820a531d515e9031a3772bd6a8bfef1aced5feccba9a9e1f0de0b1f73e0db354cf3de20b478056503d2c23a4bf17f17a8e0b4ceb81ec4204fc2a3e11cbc29ebe4d41ece0146fd922f034b6340b40af7a42925ffa048fbd941fb4bd132a34a3b8b3649e5f6dfde329a5203e7eb525b190120d17f88e062c3f8e601340b0a7880e03d606cb942ac9422459203a6354512f61103941c1d49d82d5ef6916b584e2155cdd4b48632ddea0a8920c1034c67c1bf60e8c8700c43c741ffa65c9e4ecc823e92227fe81a2ade9e4572d9c0038edc03964f6cdcb77fec2f08399add12e255937909810240fa2d31a63c858a7503606f9e908aa8d61063ff5e59cd8337b6ef13f6ac0a0414cece82136f82cb491f03ff662b06c8684e8f9fe5077b7f62239c1f36bccfb2c6c8d142074b2853c119e20358f5871cc17c4f371de00ee1478b1d22a17d28bc6ca16c54617b07233b059a5d03d0dad0d5309f235f83ffcfa7b9f87e6c2d3f6c6cb20cc6aec1757682e9ad857103d79f9ff43a982f458c2860987228b6806e1807e4abdf9b5d98eb201d22b55b85033597e96db0b89d5e42f47ab064b29d8a1a0ed43b936a72c7030f3a021d0a6f68035469794f2cc1624a9b4f71f6327d00ab7e07776e701690ca4efd943edbd636b203b80571bfc2be8936d6f489c5571c7601e80c8e5ef4c91491b74405fd63e2b96303f08f044ba773d0faa803f18310df5d9b8b4d196866cd97b1364e34393a9872ca03a25ae0fbc082a49e41ba69341ca4d076546e2973e81ee291b09fe7319a9141e503f4d4bdb5086ccd654c3337ff7ad7c99135472fe98390280039e7a8b108c8698503f59f0e14b6ba9da0d45c792a1eae233b9654182e0ad80fcf4a471c3aea522edb03c4e05d4614164e3cf1f1b25d03b88e60e4a9040de92ae564d8f4dc9e31e8f00c03074ab30676f2f0a456da5bb5671bf8834361b947ba7e40c469369897f3e6b913033e08e577ac7858d29cfec517a68f1e9c26ffef97e91a72b4a598b145119b062d03db8e23599ef486aced69d686e884d93cf5e0e7c22d47a887746775cbfb19595505581e03eec2199ed948bf0b3af10ecfd98f557f3bfd73c4de1f06391f6161cbf0040105581e03e4f8640774135d89ee578dcbe39c87dc03cda7bad0fb82878992ec04600c01466bde7373ddc803f9708770901266ed622fbbd569466cea1292b72966e0c62aa95be91b18e30644038d06d44cd301cd75800647b7200e6179f866dcda23838499cdf5157dbd7cffab04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203a4fb77e7f73a9e1e31c3835a5768fb0f0e86ba0004310ee4fdd40c17bcad15750058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a01c99602f0673ac698260058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604a01c99602f0673ac6943e00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04ddf22c751f9eebdd96f072c1df80058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58200696ce213c1f06d012c786c629d44bd6af375983ae3e8b69dadd2010b44229f4005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8530f35cd465cc28fac5a443b8b7484ea5d7571e802184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687daff0000000000004f35d23f83a4e2fd0000000af2693f0aef6a21cce7c30058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5472b00e483a0ec40634f47043d3190be6ac2100720218480219b45505581e03b28185e4967d033f8c1043a6765252156485533a27d7363bd7e4569ca00701192c1d0219cc64034f70b2cf9cf6981f70061d9c8781969e04896fc45defe9e220d915d3c335aee1033a58e638dcee62c0192e0da4c92a10fc454d71e3ce73cda6c070d7d63e4f825a033b826625ce3fb8ff26b91907cbae3224faca2af7eeeb6526e017c8721b220a35033327aea8f1ba6c7bb0db09cf70707f45193ff82f8ff18474ee3e0c248bae1b0a03152357f091574b7b5b23e26bd75d29711110337b436b69e32ccaa0263489084c0219ffff03f696912c8f896b19cca140bbe84fd7023d8632ba960b65e3da5a35791ee43a52037ae2ba62c00f3934345be9671aeea651b68c91a6830d1bcb6688f5c2a0c5215b03e4d8e9dd9e199aa71f488189e64b055801b8f1aa5f11d981740b20a018b33df6038101a39ac510d644843a2d6f131fd80b47039543b1f9968594fd140428fbac3703ffcc2efff66751a8a1ee26cd71b6dd2f79359c1fb7a863d0c8407a4e7f414c8903c4050ecd89bf66c6d1850cded6225fe4763ea6b8f3bce2390a745f4751c3405503711cf9bdc9511c2659103dc2d4f396b13ae5390b07e32c74149c8aafd2d2e0300219ffff0219ffff034513bda77aeefe363553a5a28cfc4438d73a9c74a9cc153b4fe7ac03f1b1fcec036f80bc01123e2a674667fae15c62e7d2cf8a91ad83f9b645638dd717f4a37dce032f5aecc9a86163dfe698016bb45d55f29de0d6210689f0ac97e8d479adb6d8dd03cb3e47e0825b0d5fb7df8fe193ad8ac4cd2ede0b28cd999a1f73de2b67b812a30356248fc6f41022996200c7fc1dfb9e51d4464a5cb7d462fb34683b543b5aaaa80369303a287ada2c4d36a7525c82b36e8d80cd82a192c169b9744691a148fe6f300371ec0a4843aec561cfd38935a3d4c951fb4dd6f0619d28a444a160971aa3d6fc0376ef363a4a76093bc4399062c0f20b267423bc5273cfc4c126dd7a624dbd600f0329c3a327ee715283b75866e4ddd773994b7e873409d7b2bf127ef6cc9cb833a0037fb24b4fe8b75025149ba1c8884663ce1460343a3e272f74a6b66de3f6bba60a03d08d78e7d926ac9b059bf65b08a698db80b08abb0e8c8f14a54dae94892660d903c846da3554b5b0b052095c772d7d408bb44fbb02191fd62e4e0f6a78698bd0cc05581e03117cb3f2059b0a5110ba796876b751c0dd746417325bab84e360c953e00c064652206e9bd3280339ba33c97acd782429e3b5432a6a10b36aca6511fcff7cfe9005822f95328ffd03f2286636d313dc243c5eab5cbc921f68580b019b2fc1695714c2956713f1c79004593d2c608060405234801561001057600080fd5b50600436106102525760003560e01c80637e9da4c511610146578063b7663112116100c3578063e6de628211610087578063e6de6282146106d9578063eeb72866146106e1578063f00cec4b146106e9578063f2011f6614610741578063f288a3ff1461075e578063fc86484a1461076657610252565b8063b766311214610627578063c1a851301461062f578063c23b60ef14610637578063dd7202d8146106b4578063e30a5cff146106d157610252565b80639bd4f2291161010a5780639bd4f229146105965780639f8a5044146105b9578063a1cc921e146105d6578063ad548467146105fc578063adac3e151461061f57610252565b80637e9da4c51461051d57806380f235b0146105255780638c4bce1c1461054257806396115bc214610568578063993f36391461058e57610252565b806342af35fd116101d457806364da5dfe1161019857806364da5dfe146104d75780636d70f7ae146104df57806372eb36881461050557806377e84e0d1461050d5780637cf12b901461051557610252565b806342af35fd14610375578063439fab911461037d57806345f5cd97146103eb578063515535e814610411578063538f94061461041957610252565b806328700a151161021b57806328700a15146102fa57806333eeb14714610302578063366a26701461031e5780633682a450146103475780633cc660ad1461036d57610252565b8062717542146102575780630dded9521461027157806318290577146102795780631dbd1da714610298578063260e96dd146102d1575b600080fd5b61025f610789565b60408051918252519081900360200190f35b61025f610790565b6102966004803603602081101561028f57600080fd5b5035610796565b005b6102b5600480360360208110156102ae57600080fd5b50356108a8565b604080516001600160a01b039092168252519081900360200190f35b61025f600480360360608110156102e757600080fd5b508035906020810135906040013561090b565b610296610934565b61030a61093e565b604080519115158252519081900360200190f35b6102966004803603606081101561033457600080fd5b508035906020810135906040013561094e565b6102966004803603602081101561035d57600080fd5b50356001600160a01b0316610b2a565b61025f610bd1565b61025f610bd7565b6102966004803603602081101561039357600080fd5b810190602081018135600160201b8111156103ad57600080fd5b8201836020820111156103bf57600080fd5b803590602001918460018302840111600160201b831117156103e057600080fd5b509092509050610bdd565b61030a6004803603602081101561040157600080fd5b50356001600160a01b0316610ea7565b61025f610eb8565b6102966004803603604081101561042f57600080fd5b810190602081018135600160201b81111561044957600080fd5b82018360208201111561045b57600080fd5b803590602001918460208302840111600160201b8311171561047c57600080fd5b919390929091602081019035600160201b81111561049957600080fd5b8201836020820111156104ab57600080fd5b803590602001918460208302840111600160201b831117156104cc57600080fd5b509092509050610ebe565b61025f61139f565b61030a600480360360208110156104f557600080fd5b50356001600160a01b03166113a5565b6102966113c3565b61025f6113cb565b6102966113d2565b61025f611509565b6102966004803603602081101561053b57600080fd5b503561150f565b6102966004803603602081101561055857600080fd5b50356001600160a01b0316611670565b6102966004803603602081101561057e57600080fd5b50356001600160a01b031661167c565b61025f611720565b610296600480360360408110156105ac57600080fd5b5080359060200135611728565b610296600480360360208110156105cf57600080fd5b503561189b565b610296600480360360208110156105ec57600080fd5b50356001600160a01b03166119bf565b6102966004803603604081101561061257600080fd5b50803590602001356119c8565b61025f611b3b565b61025f611b47565b61025f611b4e565b61063f611b5a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610679578181015183820152602001610661565b50505050905090810190601f1680156106a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61025f600480360360208110156106ca57600080fd5b5035611b76565b61025f611ba7565b61025f611bac565b61063f611bb1565b61025f600480360361014081101561070057600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101008101351515906101200135611be8565b61025f6004803603602081101561075757600080fd5b5035611c1f565b61025f611c37565b6102966004803603604081101561077c57600080fd5b5080359060200135611c3d565b6212750081565b600f5490565b61079f33611d53565b6107e2576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6040805160001960208083019190915281830184905282518083038401815260609092018352815191810191909120600081815260239092529190205461085e576040805162461bcd60e51b815260206004820152601c6024820152600080516020613bd7833981519152604482015290519081900360640190fd5b600081815260236020908152604080832092909255815184815291517f21e13101b7a52038b3abfab6f17d3a3d091c620b978b98c9de7f3aa91e7ac0639281900390910190a15050565b6000818152601860205260409020546001600160a01b031680610906576040805162461bcd60e51b81526020600482015260116024820152701554d15497d553949151d254d511549151607a1b604482015290519081900360640190fd5b919050565b60006022600061091c868686611d81565b81526020019081526020016000205490509392505050565b61093c611ded565b565b600454600160a01b900460ff1690565b61095661093e565b61099a576040805162461bcd60e51b815260206004820152601060248201526f29aa20aa22afa727aa2fa32927ad22a760811b604482015290519081900360640190fd5b60008281526009602052604090205460ff16156109f4576040805162461bcd60e51b81526020600482015260136024820152721154d0d0541157d053149150511657d554d151606a1b604482015290519081900360640190fd5b600082815260096020908152604091829020805460ff19166001908117909155600a805490910190556003600160401b01548251808301879052808401859052606081019190915260808082018690528351808303909101815260a08201808552815191840191909120600454636a93856760e01b90925260a4830181905293516001600160a01b0390911692636a9385679260c48082019391829003018186803b158015610aa257600080fd5b505afa158015610ab6573d6000803e3d6000fd5b505050506040513d6020811015610acc57600080fd5b5051610b14576040805162461bcd60e51b815260206004820152601260248201527122a9a1a0a822afa620a1a5a9afa82927a7a360711b604482015290519081900360640190fd5b610b2484600160401b5484611eb4565b50505050565b610b3333611d53565b610b76576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6001600160a01b038116600081815260136020908152604091829020805460ff19166001179055815192835290517f50a18c352ee1c02ffe058e15c2eb6e58be387c81e73cc1e17035286e54c19a579281900390910190a150565b61018090565b600c5490565b6003600160401b015415610c34576040805162461bcd60e51b815260206004820152601960248201527814d510551157d053149150511657d253925512505312569151603a1b604482015290519081900360640190fd5b6000196000526002600160401b016020527f2c5bd237f717a902f05528dc77f82cade6aa0a080972f06685282ae7786cdd4b5415610cb5576040805162461bcd60e51b815260206004820152601960248201527814d510551157d053149150511657d253925512505312569151603a1b604482015290519081900360640190fd5b6101808114610d0b576040805162461bcd60e51b815260206004820152601c60248201527f494e434f52524543545f494e49545f444154415f53495a455f33383400000000604482015290519081900360640190fd5b600080606084846060811015610d2057600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b811115610d4f57600080fd5b820183602082011115610d6157600080fd5b803590602001918460208302840111600160201b83111715610d8257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250979a50959850909650610dcb9550612088945050505050565b610dd56000612172565b610ddd61217d565b610e3a8282600081518110610dee57fe5b602002602001015183600281518110610e0357fe5b602002602001015184600181518110610e1857fe5b602002602001015185600381518110610e2d57fe5b60200260200101516121ce565b8060405160200180828051906020019060200280838360005b83811015610e6b578181015183820152602001610e53565b50505050905001915050604051602081830303815290604052805190602001206003600160401b0181905550610ea0836121e5565b5050505050565b6000610eb282611d53565b92915050565b601d5490565b610ec661093e565b15610f0a576040805162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b604482015290519081900360640190fd5b3360009081526013602052604090205460ff16610f5e576040805162461bcd60e51b815260206004820152600d60248201526c27a7262cafa7a822a920aa27a960991b604482015290519081900360640190fd5b610f66613ad0565b610fa285858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061220792505050565b9050602060020a81610100015110610feb5760405162461bcd60e51b8152600401808060200182810382526025815260200180613c796025913960400191505060405180910390fd5b6212750042038160e001511161103f576040805162461bcd60e51b815260206004820152601460248201527314d654d5115357d512535157d3d555111055115160621b604482015290519081900360640190fd5b61384042018160e0015110611091576040805162461bcd60e51b815260206004820152601360248201527214d654d5115357d512535157d2539590531251606a1b604482015290519081900360640190fd5b610e104204816101000151116110e8576040805162461bcd60e51b815260206004820152601760248201527610905510d217d512535154d510535417d1561412549151604a1b604482015290519081900360640190fd5b611126858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612564915050565b60006111788260800151836060015188888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092949392505063ffffffff6126e6169050565b90506003600160401b015481146111d6576040805162461bcd60e51b815260206004820152601d60248201527f494e56414c49445f50524556494f55535f5348415245445f5354415445000000604482015290519081900360640190fd5b601d54848460018181106111e657fe5b9050602002013514611239576040805162461bcd60e51b815260206004820152601760248201527615d493d391d7d41491559253d554d7d0905510d217d251604a1b604482015290519081900360640190fd5b600061127c8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505050506101a0850151612754565b6040805182815290519192507f9866f8ddfe70bb512b2f2b28b49d4017c43f7ba775f1a20c61c13eea8cdac111919081900360200190a16113266019826040518060400160405280601d81526020017f4e4f5f53544154455f5452414e534954494f4e5f564552494649455253000000815250604051806040016040528060198152602001782727afa9aa20aa22afaa2920a729a4aa24a7a72fa82927a7a360391b815250612837565b61139687878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808b0282810182019093528a82528994509092508a918a918291908501908490808284376000920191909152506129af92505050565b50505050505050565b600d5490565b6001600160a01b031660009081526013602052604090205460ff1690565b61093c612a5f565b62093a8081565b6113da61093e565b61141e576040805162461bcd60e51b815260206004820152601060248201526f29aa20aa22afa727aa2fa32927ad22a760811b604482015290519081900360640190fd5b61142733611d53565b61146a576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6005544210156114bc576040805162461bcd60e51b8152602060048201526018602482015277155391949151569157d393d517d0531313d5d15117d6515560421b604482015290519081900360640190fd5b6004805460ff60a01b19169055600d80546001908101909155600f805490910190556040517f07017fe9180629cfffba412f65a9affcf9a121de02294179f5c058f881dcc9f890600090a1565b60105490565b61151833611d53565b61155b576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b60408051600019602080830191909152818301849052825180830384018152606090920183528151918101919091206000818152602390925291902054806115d8576040805162461bcd60e51b815260206004820152601c6024820152600080516020613bd7833981519152604482015290519081900360640190fd5b4281111561162d576040805162461bcd60e51b815260206004820152601c60248201527f434f4e46494755524154494f4e5f4e4f545f454e41424c455f59455400000000604482015290519081900360640190fd5b6001600160401b018390556040805184815290517f215e2cbb35cc7dd3f085fdb4ede08d32f4619001c73f5b10419389e7949c28ba9181900360200190a1505050565b61167981612af6565b50565b61168533611d53565b6116c8576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6001600160a01b038116600081815260136020908152604091829020805460ff19169055815192835290517fec5f6c3a91a1efb1f9a308bb33c6e9e66bf9090fad0732f127dfdbf516d0625d9281900390910190a150565b6301e1338081565b61173133611d53565b611774576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b604080516020808201859052818301849052825180830384018152606090920183528151918101919091206000818152602390925291902054806117ed576040805162461bcd60e51b815260206004820152601c6024820152600080516020613bd7833981519152604482015290519081900360640190fd5b42811115611842576040805162461bcd60e51b815260206004820152601c60248201527f434f4e46494755524154494f4e5f4e4f545f454e41424c455f59455400000000604482015290519081900360640190fd5b60008481526002600160401b016020908152604091829020859055815186815290810185905281517f617a24590fcf7d5a2650aa9c10572915cb4bf853b1ef135cc1918460946a7a2f929181900390910190a150505050565b6118a433611d53565b6118e7576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b600167080000000000001160c01b01811061193f576040805162461bcd60e51b81526020600482015260136024820152720929cac82989288be869e9c8c928ebe9082a69606b1b604482015290519081900360640190fd5b60408051600019602080830191909152818301849052825180830384018152606083018085528151918301919091206004600160401b015460008281526023909452928590204290930190925584905291517ffae91148d75f3789f216345abe08b5415e0e727d51cab9f4e41efc23f71193f79181900360800190a15050565b61167981612bf3565b6119d133611d53565b611a14576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b600160781b8210611a5f576040805162461bcd60e51b815260206004820152601060248201526f1253959053125117d054d4d15517d25160821b604482015290519081900360640190fd5b600167080000000000001160c01b018110611ab7576040805162461bcd60e51b81526020600482015260136024820152720929cac82989288be869e9c8c928ebe9082a69606b1b604482015290519081900360640190fd5b604080516020808201859052818301849052825180830384018152606083018085528151918301919091206004600160401b01546000828152602390945292859020429093019092558590526080820184905291517ffbe49fc520438bdf956c8964ba0394d2da4fa3f34686e826a2ded762fa687c2d9181900360a00190a1505050565b6001600160401b015481565b622e248081565b6004600160401b015481565b604051806060016040528060268152602001613bf76026913981565b60008181526015602052604081205460ff16611b9457506001610906565b5060009081526016602052604090205490565b600a81565b604081565b60408051808201909152601f81527f537461726b576172655f50657270657475616c53746174655f323032305f3100602082015290565b600060226000611c008d8d8d8d8d8d8d8d8d8d612d40565b81526020019081526020016000205490509a9950505050505050505050565b6002600160401b016020526000908152604090205481565b600e5490565b611c4633611d53565b611c89576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b604080516020808201859052818301849052825180830384018152606090920183528151918101919091206000818152602390925291902054611d01576040805162461bcd60e51b815260206004820152601c6024820152600080516020613bd7833981519152604482015290519081900360640190fd5b600081815260236020908152604080832092909255815185815290810184905281517fbedb78be82c75282d73923c8287b6b3e3ef57379cdc69f7fbd3d227a9969b48e929181900390910190a1505050565b600080611d5e612de3565b6001600160a01b0390931660009081526020939093525050604090205460ff1690565b6000611de5604051806040016040528060118152602001701193d490d15117d5d2551211149055d053607a1b815250858585604051602001808481526020018381526020018281526020019350505050604051602081830303815290604052612eae565b949350505050565b6000611df7612de3565b60018101549091506001600160a01b03163314611e55576040805162461bcd60e51b815260206004820152601760248201527627a7262cafa1a0a72224a220aa22afa3a7ab22a92727a960491b604482015290519081900360640190fd5b6001810154611e6c906001600160a01b0316612f70565b6001810180546001600160a01b03191690556040805133815290517fcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d29181900360200190a150565b6000838152600860209081526040808320858452909152902054810181811015611f1b576040805162461bcd60e51b81526020600482015260136024820152725749544844524157414c5f4f564552464c4f5760681b604482015290519081900360640190fd5b600084815260086020908152604080832086845282528083208490556015909152902054839060ff1615611f9f577f03c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac9542878582611f768487612ff0565b6040805193845260208401929092528282015260608201869052519081900360800190a1610ea0565b600160fa1b6001600160f01b03851617841415611ffb57604080518681526020810186905280820185905290517f2acce0cedb29dc4927e6c891b57ef5bc8858eea4bf52787ea94873aebd4aeca09181900360600190a1610ea0565b6001821115612046576040805162461bcd60e51b81526020600482015260126024820152711253959053125117d3919517d05353d5539560721b604482015290519081900360640190fd5b604080518681526020810186905281517ff07608f26256bce78d87220cfc0e7b1cc69b48e55104bfa591b2818161386627929181900390910190a15050505050565b606061209261305a565b9050600080826040518082805190602001908083835b602083106120c75780518252601f1990920191602091820191016120a8565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092206001810154909350600160a01b900460ff161591506121509050576040805162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b604482015290519081900360640190fd5b60018101805460ff60a01b1916600160a01b17905561216e33612f70565b5050565b6004600160401b0155565b33600081815260136020908152604091829020805460ff19166001179055815192835290517f50a18c352ee1c02ffe058e15c2eb6e58be387c81e73cc1e17035286e54c19a579281900390910190a1565b600c94909455600d92909255600f55600e55601055565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b61220f613ad0565b6008825110156122505760405162461bcd60e51b8152600401808060200182810382526033815260200180613ba46033913960400191505060405180910390fd5b612258613ad0565b8260008151811061226557fe5b60200260200101518160000181815250508260018151811061228357fe5b6020026020010151816020018181525050620100008160200151106122ea576040805162461bcd60e51b8152602060048201526018602482015277494c4c4547414c5f4e554d4245525f4f465f41535345545360401b604482015290519081900360640190fd5b600260408201819052602082015184519082029182019160030111156123415760405162461bcd60e51b8152600401808060200182810382526029815260200180613c506029913960400191505060405180910390fd5b835160018201918591811061235257fe5b6020908102919091010151606083018190526080830182905284519101906001820111156123b15760405162461bcd60e51b8152600401808060200182810382526026815260200180613cd16026913960400191505060405180910390fd5b83516001820191859181106123c257fe5b602090810291909101015160a0830181905260c0830182905284519101906002820111156124215760405162461bcd60e51b8152600401808060200182810382526025815260200180613b7f6025913960400191505060405180910390fd5b83600182038151811061243057fe5b602090810291909101015160e0830152835160018201918591811061245157fe5b6020908102919091010151610100830152835160018201918591811061247357fe5b60209081029190910101516101208301819052610140830182905284516003909102909101600181019185919081106124a857fe5b602090810291909101015161016083015283516001820191859181106124ca57fe5b60209081029190910101516101808301526101a0820181905261016082015184519101600181019185919081106124fd57fe5b60209081029190910101516101c083018190526101e083018290528451910160020190811461255d5760405162461bcd60e51b8152600401808060200182810382526033815260200180613c1d6033913960400191505060405180910390fd5b5092915050565b6001600160401b01546125be576040805162461bcd60e51b815260206004820152601c60248201527f474c4f42414c5f434f4e46494755524154494f4e5f4e4f545f53455400000000604482015290519081900360640190fd5b80516001600160401b01541461261b576040805162461bcd60e51b815260206004820152601d60248201527f474c4f42414c5f434f4e46494755524154494f4e5f4d49534d41544348000000604482015290519081900360640190fd5b604081015160005b8260200151811015610b2457600084600084018151811061264057fe5b60200260200101519050600085600185018151811061265b57fe5b602002602001015160001b9050806002600160401b01600084815260200190815260200160002054146126d5576040805162461bcd60e51b815260206004820152601c60248201527f41535345545f434f4e46494755524154494f4e5f4d49534d4154434800000000604482015290519081900360640190fd5b505060029190910190600101612623565b600081830184511015612740576040805162461bcd60e51b815260206004820152601b60248201527f494c4c4547414c5f53554241525241595f44494d454e53494f4e530000000000604482015290519081900360640190fd5b506020908102600190920102919091012090565b600060028201835110156127995760405162461bcd60e51b8152600401808060200182810382526031815260200180613b4e6031913960400191505060405180910390fd5b6000600284510390506000816020026020860120905060008183876002895103815181106127c357fe5b60200260200101518860018a5103815181106127db57fe5b60200260200101518601604051602001808581526020018481526020018381526020018281526020019450505050506040516020818303038152906040528051906020012090508060001c60010160001b935050505092915050565b8354849083816128c55760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561288a578181015183820152602001612872565b50505050905090810190601f1680156128b75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060005b81811015611396578281815481106128dd57fe5b6000918252602091829020015460408051636a93856760e01b8152600481018a905290516001600160a01b0390921692636a93856792602480840193829003018186803b15801561292d57600080fd5b505afa158015612941573d6000803e3d6000fd5b505050506040513d602081101561295757600080fd5b505184906129a65760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561288a578181015183820152602001612872565b506001016128c9565b60c082015160a08301516129ca91859163ffffffff6126e616565b6003600160401b0155600c805460010190558051600090829082906129eb57fe5b6020026020010151905080601d81905550612a0784848461307a565b612a1284848461323b565b612a1c84846135ee565b600c54604080519182526020820183905280517f2672b53d25204094519f7b0fba8d2b5cd0cc1e426f49554c89461cdb9dcec08f9281900390910190a150505050565b612a6833611d53565b612aab576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6000612ab5612de3565b6001810180546001600160a01b03191690556040519091507f7a8dc7dd7fffb43c4807438fa62729225156941e641fd877938f4edade3429f590600090a150565b612aff33611d53565b612b42576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6000612b4c612de3565b9050612b5782611d53565b15612b9c576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b6001810180546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f6166272c8d3f5f579082f2827532732f97195007983bb5b83ac12c56700b01a69181900360200190a15050565b612bfc33611d53565b612c3f576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b336001600160a01b0382161415612c94576040805162461bcd60e51b8152602060048201526014602482015273474f5645524e4f525f53454c465f52454d4f564560601b604482015290519081900360640190fd5b6000612c9e612de3565b9050612ca982611d53565b612ce9576040805162461bcd60e51b815260206004820152600c60248201526b2727aa2fa3a7ab22a92727a960a11b604482015290519081900360640190fd5b6001600160a01b03821660008181526020838152604091829020805460ff19169055815192835290517fd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a295999281900390910190a15050565b604080518082018252600c81526b464f524345445f545241444560a01b60208083019190915282519081018d90528083018c9052606081018b9052608081018a905260a0810189905260c0810188905260e08101879052610100810186905284151560f81b61012082015261012180820185905283518083039091018152610141909101909252600091612dd49190612eae565b9b9a5050505050505050505050565b60006060612def61305a565b9050600080826040518082805190602001908083835b60208310612e245780518252601f199092019160209182019101612e05565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092206001810154909350600160a01b900460ff169150612ea89050576040805162461bcd60e51b815260206004820152600f60248201526e1393d517d253925512505312569151608a1b604482015290519081900360640190fd5b91505090565b600082826040516020018083805190602001908083835b60208310612ee45780518252601f199092019160209182019101612ec5565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310612f2c5780518252601f199092019160209182019101612f0d565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405280519060200120905092915050565b612f7981611d53565b15612fbe576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b6000612fc8612de3565b6001600160a01b0390921660009081526020929092525060409020805460ff19166001179055565b600080612ffc84611b76565b905080830291508281838161300d57fe5b041461255d576040805162461bcd60e51b815260206004820152601760248201527644455155414e54495a4154494f4e5f4f564552464c4f5760481b604482015290519081900360640190fd5b6060604051806060016040528060268152602001613bf760269139905090565b600160401b54600167080000000000001160c01b0181106130d6576040805162461bcd60e51b81526020600482015260116024820152704173736574206964203e3d205052494d4560781b604482015290519081900360640190fd5b61014083015160005b8461012001518110156132335760008660008401815181106130fd57fe5b60200260200101519050600087600185018151811061311857fe5b60200260200101519050600088600286018151811061313357fe5b60200260200101519050600160411b811061318c576040805162461bcd60e51b815260206004820152601460248201527324b63632b3b0b6102130b630b731b2902234b33360611b604482015290519081900360640190fd5b67ffffffffffffffff198101600167080000000000001160c01b0184106131ef576040805162461bcd60e51b8152602060048201526012602482015271537461726b206b6579203e3d205052494d4560701b604482015290519081900360640190fd5b6000811315613209576132048484898461371c565b613220565b6000811215613220576132208488836000036137b7565b50505060039290920191506001016130df565b505050505050565b600281511015613287576040805162461bcd60e51b815260206004820152601260248201527110541417d110551057d513d3d7d4d213d49560721b604482015290519081900360640190fd5b816101c001518160028151811061329a57fe5b6020026020010151146132ec576040805162461bcd60e51b815260206004820152601560248201527409cbe869e9c8892a8929e9ca6be9a92a69a82a8869605b1b604482015290519081900360640190fd5b6002826101c001510260030181511015613341576040805162461bcd60e51b81526020600482015260116024820152704241445f4150505f444154415f53495a4560781b604482015290519081900360640190fd5b6101e0820151600360005b846101c0015181101561323357600084838151811061336757fe5b60200260200101519050600085846001018151811061338257fe5b602002602001015160001b9050600088868151811061339d57fe5b602002602001015190506001600160fa1b03838360405160200180836001600160a01b03166001600160a01b031660601b8152601401828152602001925050506040516020818303038152906040528051906020012060001c168114613440576040805162461bcd60e51b815260206004820152601360248201527221b7b73234ba34b7b71036b4b9b6b0ba31b41760691b604482015290519081900360640190fd5b60408051602480820185905282518083039091018152604490910182526020810180516001600160e01b0316636a93856760e01b178152915181516000936060936001600160a01b038916939092909182918083835b602083106134b55780518252601f199092019160209182019101613496565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613515576040519150601f19603f3d011682016040523d82523d6000602084013e61351a565b606091505b509150915081801561352d575080516020145b61357e576040805162461bcd60e51b815260206004820152601a60248201527f4241445f464143545f52454749535452595f434f4e5452414354000000000000604482015290519081900360640190fd5b80806020019051602081101561359357600080fd5b50516135d05760405162461bcd60e51b8152600401808060200182810382526033815260200180613c9e6033913960400191505060405180910390fd5b6001880197506002870196505050505050808060010191505061334c565b6101a081015160005b8261018001518110156136c657600084838060010194508151811061361857fe5b6020026020010151600181111561362b57fe5b9050600081600181111561363b57fe5b14156136525761364b85846137c2565b92506136bd565b600181600181111561366057fe5b14156136705761364b8584613832565b6040805162461bcd60e51b815260206004820152601a60248201527f554e4b4e4f574e5f464f524345445f414354494f4e5f54595045000000000000604482015290519081900360640190fd5b506001016135f7565b5080826101600151836101a001510114613717576040805162461bcd60e51b815260206004820152600d60248201526c0a692b48abe9a92a69a82a8869609b1b604482015290519081900360640190fd5b505050565b60008481526006602090815260408083208584528252808320868452909152902054811115613789576040805162461bcd60e51b815260206004820152601460248201527311115413d4d25517d25394d551919250d251539560621b604482015290519081900360640190fd5b6000938452600660209081526040808620938652928152828520938552929092529091208054919091039055565b613717838383611eb4565b6000808383806001019450815181106137d757fe5b6020026020010151905060008484806001019550815181106137f557fe5b60200260200101519050600085858060010196508151811061381357fe5b6020026020010151905061382883838361396c565b5092949350505050565b60008083838060010194508151811061384757fe5b60200260200101519050600084848060010195508151811061386557fe5b60200260200101519050600085858060010196508151811061388357fe5b6020026020010151905060008686806001019750815181106138a157fe5b6020026020010151905060008787806001019850815181106138bf57fe5b6020026020010151905060008888806001019950815181106138dd57fe5b6020026020010151905060008989806001019a50815181106138fb57fe5b6020026020010151905060008a8a806001019b508151811061391957fe5b602002602001015160001415905060008b8b806001019c508151811061393b57fe5b6020026020010151905061395c89898989600160401b548a8a8a8a8a6139e6565b50989a9950505050505050505050565b6000613979848484611d81565b6000818152602260205260409020549091506139d2576040805162461bcd60e51b81526020600482015260136024820152722727a72fa2ac24a9aa24a723afa0a1aa24a7a760691b604482015290519081900360640190fd5b600090815260226020526040812055505050565b60006139fa8b8b8b8b8b8b8b8b8b8b612d40565b6000818152602260205260409020549091506000191415613a5b576040805162461bcd60e51b81526020600482015260166024820152751050d51253d397d053149150511657d0d3115054915160521b604482015290519081900360640190fd5b600081815260226020526040902054613ab1576040805162461bcd60e51b81526020600482015260136024820152722727a72fa2ac24a9aa24a723afa0a1aa24a7a760691b604482015290519081900360640190fd5b6000908152602260205260409020600019905550505050505050505050565b60405180610200016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152509056fe7075626c6963496e70757420646f6573206e6f7420636f6e7461696e20616c6c207265717569726564206669656c64732e70726f6772616d4f757470757420696e76616c69642073697a6520286e657753746174652970726f6772616d4f757470757420646f6573206e6f7420636f6e7461696e20616c6c207265717569726564206669656c64732e434f4e46494755524154494f4e5f4e4f545f5245475349544552454400000000537461726b45782e4d61696e2e323031392e476f7665726e6f7273496e666f726d6174696f6e70726f6772616d4f757470757420696e76616c69642073697a6520286d6f64732f666f726365642f636f6e646974696f6e732970726f6772616d4f757470757420696e76616c69642073697a6520286e4173736574436f6e6669672945787069726174696f6e2074696d657374616d70206973206f7574206f662072616e67652e436f6e646974696f6e20666f722074686520636f6e646974696f6e616c207472616e7366657220776173206e6f74206d65742e70726f6772616d4f757470757420696e76616c69642073697a65202870726576537461746529a2646970667358221220c7ddd8a0d4fe037bf72b572e4736bda7acf1d3dc04ef08fca3683ba71b29f84564736f6c634300060b00330605581d0221a9a1523e104c9e9fcd98e57f76ff901341fc84e65597c2647f9ab00701193d2c05581d020654125a858150eb99cb0f559b76d4d0fbe1a36da3a9850057655b89040205581d02fd9c98a35f1e82ed69ac50d1b8020c42f4497142fe2ef61b1b58751e040102185805581e0391d5b0a3004193112037a9fa209cdd3905338ceb5d067ff3b026d1ae10040203f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03a1b0a07f541d7d7395836135a79a688241a31fd3bf43fbe4db5c582bb007011bffffffffffffffff05581e0388f31731fe77d18c80af48d2fbcda7de63b6ccec4faab80b3e8a622e20040103fa676032a15ca1f82ec99c7366c25ca81103554d1582fe5bf7858597a4d3f61105581e03d6a8a120402a85e7c57c7a5a7ef0199ae074bbe77dd795a7b3f1f877700c01460aec4bc8a4000219b5930378e38baa7ef2b0e8791ef6657e380e8cdea0cc42374446dbcf1a2f5dde86261f036f54ec8fa30dbfeca41c8be1bda12e9f389dc8cc3228fefc513be9384ade85280355d545cddd56390ba098c04bc004da333216a922210a034397185f13ef809cfd0358fff2f1848b4aff5aab7f5d2d314366dedb1a769e84ee8b2bc60fd05aa2cc06037719c22bb47de779ec040e8dc3a6a2e45f46c3e6e000be047157d8bbd6ec3a4e034523b7953ed382536faef1215509baff16ec7c042cb29bca5b192f7e159b3f8d03acd3e94648911e6ef95c880b1f65b7e3b44f34e83b1b51c9f0cdd14cb67433c903e6585ff50e505b9aeedc00cb3e71eea2ad6569cd290cb2cf350c438189e40c510390678b188fb4f98b78e7144d5ed73fef362584b1fb9343f3a77a732366f020f203f5ebba6948e69623115b17ff11395287dc1b93298ad54057e70744e1b422550e03ba865ef7947fdd84355c7ea7667cedcca785f8d3d625d567dbd6725215a19e9103cccf1ce5027a9fe4a218abf27fbdbb0262ab90d12fc3fc8f5a8da9e63426dbbc0344509c17302d7cd6f3e87108226e5c830325b06c002c997cdca7aeafb04a917e033a689fe0c4af18e41957859f646c3cd354a361146043191582e6ab615f3ab0ae0219ffff03608d1c0e18dceaad6647539fb164c4f11f2ce250c403d5b7995799097fb53ec603e2c4885c686b19219ec4feced3ba3d81253f6967d1b6675790baa2ba7a9d8ad803ffeb5f4ad6d143bc1ce6e17154431adcd837e8299c4515bd5307466be1b12e38038bf1b6bba90974b6d127cc40d211838c894627dd89d883d7067ff901312fc7f70339eb236092d0fb9caf4759a38319420f420eb674d4aaf819ebd945429713443603e4fe0c8c266b7f5f77fbd12185a07b0ff8898d59cfad27991c958958a0fa01ea0384fd37eb7bdd9a7967cf1181c636175db831e97270fbfe9202c09ae31d7865b503020a1450c9b7db8d67a941a5bc1745c1125b5b332fca91462bd421a50731e9f903dca266fa722936fe5fc369bf619b78aaf6faa723046bba0b43dafd780cfda06303a851512ce9879c456278470061fa54999f9f3baf003f1c0db59ceb753fb97ebc0219ffff03dd579a149d10a4cd83f42f99bdff247bfea47f6e76976f515c0c68d3f5c66e4b037c76cd605eceb60590a915acfe3ed4a4c6f360cccdc762e50b98b80e7c032eb00384942bf712cfa85fb6dc5c82812fe95b03a2da16ccc893a3a8b9c598b95a8bb303c3416815f9ea17db07b4175e89c115b88fadc7a4a8ae53aff6ce403fbf4bb4890359eadbd5e85d566708c401d54b8b001c8004bf05a0253062abb4b3012853281303b6b1dfe596d49b3fd5b92c4d1cc0f4f632aad993b212563c2e7d6f1431f06f39038153553c308e1d81b3debe5ba88b98e9101b3fe27aa6a124cb9c39fc870fd0f9038c600b5bf6aebe15b99da0c54124b1f8b45b95814e8190326f221bee46a561210393a553722146e07a975c5e4d057647d61db0e7931d0b614ad3a36ecad96f8dd6036ba26d7b65d22778c94f9138c950c27dd997572440d768e00b80908dc69d8b5903c77def807c4f0af7d5fd5a1cc706a71857b7ab1353097550029733a1127f08f70219ffff0397f115609a19b47e037a17ddf9a470fcd5221ab265ba2cefd8d5e985a26991bb03c5228c9b15b900e1ab35cd31e2a6f8a76da5077c855621bc4ff325f7719ff83c03ab95322476a8f8fab8facc086a9ec780d6caef5f8261617cc333cb5a78d9b2be03e804b6be20142b8fb48ddd0d0a961d48ccfe0a35ab65b1ac074db3fa529a406b037f70e71a0d500fc453c1933e55ca2950884e80398f4d842554c1258c9c46d9b00315bc307517610b7fc207191bdc4312bcfcac4cfca36c85ff10dfabb301cf6ae403a9d5eb6f53483d1972f70f337fb69a73e4ae4d6bda3d0ae048a7558b240718c103f909623815b6dfd5dc38871b8c3ecd1dfea7e7b7b4559725253dc0243b78128603ea4a1928aad368be1ecb79e65dc7049ea5483289091c4aeaaf2c54c93b39f3a2032a49eef4c7d752c40ca10bad85ecc2039755b752cc9a75369b5fa0cd61e9b4eb03a260977e742b0d837123a777b65e9a4052ba9b5f6ecfd7f2dc18aaa75f21c1bb0337c6a7649b0d726f4d9f7b45f868cd2055b01f0faea4d9c0dec8ae3c31bf0ba903973e0130835efe13755298a2009ba7877afc3c22167cd69d1fda49d6097f013703bd9aca4a1e52d29c81e43a4e10167558797ab7a092b92ad80aabdd2d9522578b03b82301cb3e6a15439ee22c17e02b648d978d398f33057852cf2eb55568e9615103cc9f369691177c7259dfdd981cb6a5567fe57013eaad07d96a758ad72bcde69503e15cece399022a2c6dcf84578787290f20c7394de23d4b2559023f90e8e7a5e4032dc8da2dfc4428b17fb083ad2e539f407fd10d3a48dc066294e35115d1ce5ea903e275e5c67345b289ec6239d07f31d3236b49728c9ff23ea954deac849d126864033f53f40be042ae84f3b9b97f456866a49f3f1e57f6bc97a2fc4f92a3a155b05e039f7fce614041eb4e0b4f396904d809c12c91e794ae9f721a0adeb37ede4f66fd0313650688e0717ab0d2d9659a8cf08122720bed7f7282f483371f6240a31301350317da6e0240c10b8d81d98e77069f043e10d291e0774991a096820688cffc9c2d03679eba5d964dc19fd2791c9c788235301b8047eec5a73bf6f4d3cc6c69a204a7031b952b64ad790699de9045c9ae95a958d5daed4d09f7222a2ee03b797f458fed03a95854290ddcb9e613cb53b3fc3c81df2b70b56aa60cb2454bdc0bb509a6d5c603d3412c0e1247238de421d3ce5a0488f2473c6d0bbfeb8f3162d26e56ebd7b55f034bd2db3fba1f762aa1c2b12103c688894ee990ca4a2bcbddea9a2e4acfeaec8b05581e03d190b113a5f31a9485e611a1c63c12a9c93db7856508849f2eb210c7d00c024745818f401b233005581e03fcb050771262ae2482a6ac7f2f7a2debe7a40c9a9e5bb6b914b735aaa00c02473b6b6449a9316005581e03a5ad4a95fb95cfe1e514159c59bdc56d43309eebe0ae2ebb692318ffb00c02461bf3ada51c9005581e0375d7232edcb52ba30bc1e6e6819ef5d786c664c30881037b6c96b093900c024701b1de4293fae805581e0308989306465f4d952566577c893a317952fc711d9cbf3c565333982270040203381f0348f39aa5f970fca2bfc614aa86904b676cf93f987001d5c1ab6b44667103b184ddf07b2831e5b7fe27aa9ee8a2606376627a4a8632a3b28bf7867d0b63e205581d0293e2e127b606834c2cd6fed8eeeed897e5e96cb0f3c6678579533e5307011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02c2ea0a113e37291dcb6124a5d975e637daf32fb1556a766757af95bd07011bffffffffffffffff045911e660806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461014257806306fdde031461016b578063095ea7b3146101f557806317ffc3201461021957806318160ddd1461023c57806323b872dd14610263578063313ce5671461028d5780633f4ba83a146102b857806340c10f19146102cd57806342966c68146102f15780634e71e0c8146103095780635c975abb1461031e578063661884631461033357806370a0823114610357578063715018a6146103785780637d64bcb41461038d5780638456cb59146103a25780638da5cb5b146103b757806395d89b41146103e8578063a9059cbb146103fd578063d73dd62314610421578063dd62ed3e14610445578063e30c39781461046c578063f2fde38b14610481575b600080fd5b34801561014e57600080fd5b506101576104a2565b604080519115158252519081900360200190f35b34801561017757600080fd5b506101806104c4565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ba5781810151838201526020016101a2565b50505050905090810190601f1680156101e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020157600080fd5b50610157600160a060020a0360043516602435610552565b34801561022557600080fd5b5061023a600160a060020a036004351661057d565b005b34801561024857600080fd5b50610251610655565b60408051918252519081900360200190f35b34801561026f57600080fd5b50610157600160a060020a036004358116906024351660443561065b565b34801561029957600080fd5b506102a2610688565b6040805160ff9092168252519081900360200190f35b3480156102c457600080fd5b5061023a610691565b3480156102d957600080fd5b50610157600160a060020a0360043516602435610710565b3480156102fd57600080fd5b5061023a60043561081f565b34801561031557600080fd5b5061023a610847565b34801561032a57600080fd5b506101576108ef565b34801561033f57600080fd5b50610157600160a060020a03600435166024356108ff565b34801561036357600080fd5b50610251600160a060020a0360043516610923565b34801561038457600080fd5b5061023a61093e565b34801561039957600080fd5b506101576109c1565b3480156103ae57600080fd5b5061023a6109e6565b3480156103c357600080fd5b506103cc610a6a565b60408051600160a060020a039092168252519081900360200190f35b3480156103f457600080fd5b50610180610a7e565b34801561040957600080fd5b50610157600160a060020a0360043516602435610ad9565b34801561042d57600080fd5b50610157600160a060020a0360043516602435610afd565b34801561045157600080fd5b50610251600160a060020a0360043581169060243516610b21565b34801561047857600080fd5b506103cc610b4c565b34801561048d57600080fd5b5061023a600160a060020a0360043516610b5b565b6005547501000000000000000000000000000000000000000000900460ff1681565b6003805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561054a5780601f1061051f5761010080835404028352916020019161054a565b820191906000526020600020905b81548152906001019060200180831161052d57829003601f168201915b505050505081565b60055460009060b060020a900460ff161561056c57600080fd5b6105768383610ba6565b9392505050565b6005546000906101009004600160a060020a0316331461059c57600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038416916370a082319160248083019260209291908290030181600087803b1580156105fd57600080fd5b505af1158015610611573d6000803e3d6000fd5b505050506040513d602081101561062757600080fd5b505160055490915061065190600160a060020a03848116916101009004168363ffffffff610c0c16565b5050565b60015490565b60055460009060b060020a900460ff161561067557600080fd5b610680848484610cc4565b949350505050565b60055460ff1681565b6005546101009004600160a060020a031633146106ad57600080fd5b60055460b060020a900460ff1615156106c557600080fd5b6005805476ff00000000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b6005546000906101009004600160a060020a0316331461072f57600080fd5b6005547501000000000000000000000000000000000000000000900460ff161561075857600080fd5b60015461076b908363ffffffff610e2716565b600155600160a060020a038316600090815260208190526040902054610797908363ffffffff610e2716565b600160a060020a03841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a2604080518381529051600160a060020a0385169160009160008051602061119b8339815191529181900360200190a350600192915050565b6005546101009004600160a060020a0316331461083b57600080fd5b61084481610e3a565b50565b600654600160a060020a0316331461085e57600080fd5b600654600554604051600160a060020a0392831692610100909204909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680546005805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0384160217905573ffffffffffffffffffffffffffffffffffffffff19169055565b60055460b060020a900460ff1681565b60055460009060b060020a900460ff161561091957600080fd5b6105768383610e44565b600160a060020a031660009081526020819052604090205490565b6005546101009004600160a060020a0316331461095a57600080fd5b604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f72656e6f756e63696e67206f776e65727368697020697320626c6f636b656400604482015290519081900360640190fd5b6005546000906101009004600160a060020a031633146109e057600080fd5b50600090565b6005546101009004600160a060020a03163314610a0257600080fd5b60055460b060020a900460ff1615610a1957600080fd5b6005805476ff00000000000000000000000000000000000000000000191660b060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6005546101009004600160a060020a031681565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561054a5780601f1061051f5761010080835404028352916020019161054a565b60055460009060b060020a900460ff1615610af357600080fd5b6105768383610f33565b60055460009060b060020a900460ff1615610b1757600080fd5b6105768383611000565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600654600160a060020a031681565b6005546101009004600160a060020a03163314610b7757600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b82600160a060020a031663a9059cbb83836040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610c8857600080fd5b505af1158015610c9c573d6000803e3d6000fd5b505050506040513d6020811015610cb257600080fd5b50511515610cbf57600080fd5b505050565b600160a060020a038316600090815260208190526040812054821115610ce957600080fd5b600160a060020a0384166000908152600260209081526040808320338452909152902054821115610d1957600080fd5b600160a060020a0383161515610d2e57600080fd5b600160a060020a038416600090815260208190526040902054610d57908363ffffffff61109916565b600160a060020a038086166000908152602081905260408082209390935590851681522054610d8c908363ffffffff610e2716565b600160a060020a03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610dce908363ffffffff61109916565b600160a060020a038086166000818152600260209081526040808320338452825291829020949094558051868152905192871693919260008051602061119b833981519152929181900390910190a35060019392505050565b81810182811015610e3457fe5b92915050565b61084433826110ab565b336000908152600260209081526040808320600160a060020a0386168452909152812054808310610e9857336000908152600260209081526040808320600160a060020a0388168452909152812055610ecd565b610ea8818463ffffffff61109916565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b33600090815260208190526040812054821115610f4f57600080fd5b600160a060020a0383161515610f6457600080fd5b33600090815260208190526040902054610f84908363ffffffff61109916565b3360009081526020819052604080822092909255600160a060020a03851681522054610fb6908363ffffffff610e2716565b600160a060020a0384166000818152602081815260409182902093909355805185815290519192339260008051602061119b8339815191529281900390910190a350600192915050565b336000908152600260209081526040808320600160a060020a0386168452909152812054611034908363ffffffff610e2716565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6000828211156110a557fe5b50900390565b600160a060020a0382166000908152602081905260409020548111156110d057600080fd5b600160a060020a0382166000908152602081905260409020546110f9908263ffffffff61109916565b600160a060020a038316600090815260208190526040902055600154611125908263ffffffff61109916565b600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518281529051600091600160a060020a0385169160008051602061119b8339815191529181900360200190a350505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820a1e0f5cdc96081f44eea73f352e7ef8fbfbacd306ec0f0b7275c9752d31fbe3200290317b64651712b5d2b1539c837c28305159c409be05e98c3b2147048dfa37543ec03ea3002eb2340afde86e7609fec388c10e004d31214c567d58442b969b4b3ad0103b7626db7678df944673cb49bf6b6a1e21e3821d38702e34e7e3516fdc733657303a4c573b9d2ae9d6ce272383c505bb5cd941ceff43796877a0a5e9b0844b2976203d8b373e48cdf22c69e4f36beb2de76cd6e5c899e55bfc9229fefba3cd3afb7ba037fddfc649d7fd0dce584d1d1fbe4bfd9972a309a3b5fffb992b31913f02a6bdc037544417403824a9b62a14c5ad701c6059bde01fea94cf01a7e7058ea7b76629403a572f4ea333e5f254ab87120476045ddc61e6f3b9f24b93d57a06afd1621c8e303f8033024c4b01ecb06c3ea0b5f63b5c3b1e66e9a7c76017350fd69a064b1e3df030457ee1a9e6a297ed6c6eeb742e93ce5bc65998496e415433137d29222412f46038c91f9810d6fb9e4a8cd105c387d60d6df5d2e538422b74e43c46c90418446030369be521d4e33c69c6e53284a3b3855f93bfdf1119e70cd3e3eb8b4ab3ed92c610357f606a599da94b84d87dd73d67810134a6532bde2b2965aee9b48a56f0c493b031eec0ac6d495919725eb5255d4ef79ed8d24212b61132ac9a7cae22e4f1e68e6032eb992e976a638623426cb047724a4757368105aecfae788cc2c18093671647703d763614437b10155236e1316a3c6de4ff4a466d8c32b52241880b881d8e3626603396c290432248249c56f114222834f81f11bbb8bcd258b14cd8653ebbb5511d7039d870da3a58efde0448ab5b7cd20f5c07bc42298856772c499c2d90dd02934b403f14fb9b632330647a5cfa68d17d36bcaaf178ffb302d3a9be7f77ed7b544e971033b1554ac590e526389295306d81adbf736bfdd69606527b5f4d4dcf6ba5488a600581f03efde3270fc1ce2734c0f2e9e49837c9bf092965c36dfa8854a5d7dcc0ed05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffdaa95ff00581f03f4b03f697ebd2deb9c4bb542724dc56817c43ee8ba08d01840fba415de905820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc41af7400581e02fa23910e319b190a332e28bdf212cc13a5b04321001afef7a7f050ae605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3c600581e0284b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db055ca06411bd7a7296d7dbdd0050dfc846e95febeb708020a00581f03d8475854f71876137f919f4a5d52f3634d0164fc956284cc3d3860781b305820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3af50400581f03f71c21d050f40dd3fe8bb29de5776d8fd00ec6719b628a3b71a9646d4ed05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffe91660900581f030f00af664db23addb2c78a8d1502dcbedb7f63bba3baa5a52aeff31cfea04d0c9f2c9cd04674edea3d775950021964610329d0e3710e33e4c4990b16b08c4a86ac8af2968bb2b4ecf04ef89cc4a82f051803d96c1b5c90868dffe2f359f3344351125dbec2e5bcd71d02596ed2b43964d56603421610c221caa1f2301e6cd9da4d80f3a4051359c97327cbf18d130196d6e3c5031526741157f78a318e196a41d33b8cd5257c33b3e6159f4c188bc798d2e439fb0219ffff03312a26ee7311465dccaaaaa6a00fd31a4a519262948db58417faa578ad1ebde1033bfe29ae4872dfb3eed16c60e478e5398f374c08a1e919e884d38af1649076fa03e927fab89ac6949d3e63c75b20b512507778ac47c97e1f02952e569e123d359b039445a02d506d6f1d322188fdd372e3e0e477d34f031739a037809cdb952468920354748666397e01f8413aba6f6bae2e59a16b2509eaaae8e539528ba0a3783e5203e5459e2a2cb6e65d615b033a24f758fa8bfbf3438845eb2960b20c81fde3d20d037990b418efd30191dd031d0871f6d8609743a5eac25d37b4a7ef0755cac535b2033e039f21f460109553e8014a1ce816730eb16590a3423861d826284141f1cb8603346efe8aab949a16066a56c85c1950ce9fec11e8fb066a0d62bcfdb6111434330219ffff03fb44b1bfc19be427dc49041b88bd56924bc0f2e0ea6542c6042b7aa81cf349b10378f7b3108f90466095bbd91a96cef78e7834e3484cd7c852d1ac7f12e0eba38103a93c578a1dcee7e54a6a0e71e013fa12bacab7f10fdf70fe3e8caa16f44d766b037b8ed2d69bcefffe561e00e324219742eb6e6e2c703934b4b4a6be38b5723b370323d2442e265a385c4d369948d1815fdff9544a23f3b255c7d6a7572b77f6e44a03ad50d2c9995ba7203b5a2f8df6bab8f7e6c138103193b5d2bc39360e7d69825c03f9b7f911c1ee5fa0302ba3f82e56696ad4d2975704b2febe24a6b9718dde2c3b03ec8ae71f0d99c41042adf8a3f14af05b65452411e6daae39a357eb1383fefa21036980f8ffd900c92867a358fbe969c43190cf2bf5cb31e3fa996210dbca517af30322b321065db20f198437781c95348bc57daeed3da0c7ac261d95e0234a04b3d5035b0800b2d16875720227cf49184b44f9189e94f7ae465dd156eaee5ea58cc00503db4a46c1aadb22354b3cd4e8caf0a60bfd667b35bfaae2fd807c0eae6b255e4f0219ffff03bcaab423ecce53d057e604cd58b6d6f144aca87b816222d3637c1a0ca02855170346cd379e3f68a635841d16b6393dd58b9e6a08c085426a11afb00b33a01a497803dc83f82641cf5d92e3b7b9928f46b83743acda8a0b3f7f8aa7fef2b94acaa13f033a8eb998f0a8a60e4ae7bcb212dea301fa4e5ed5b50559efbd96ac0f13592b93031536df91e35deb59cc7e93bc544fbb51dfddf1c8e08c8fa3c1d0d0e73cbd90d903608fbd665a8701ac3634f337d04cf8c61f99dab0e29e848cda00ce26db7e870e0373e4cf099429fb5490726aca7934f3b9f988b805729a7b076873cef7720d257603560b88dadc8297697cd3b9c28c73be58a9dd2a1462d53a835be8759f782c8aac0350262ee0b3116256d2d1694855c28239322b6605e6282d5bc0df7c9efe8a5211030de2fdf7641a7182a02d8b27bb2740511c65ee53928beb392313aa997b434d420389987d1f8efd3f2e1e4e8632e331c43f0893f540aa07fdd8759be78a51724b150389e1c2d398854c5e3cd8a7c05363028eb2957b816c108350e3b393b44b21d7cb03172d2a197350ae845a8d31800856484cfc00cc41d70c08d1266a57c1cdd57a1c031019e382096047e64003a0f3e8b03c1788cbc3b3ff6c131db163a3833090ef510321f6b32b0097be6561eb3a37188667a86a07334f4b42f9b763339a16a0d0de1b03400714df873038eab629540597291080ce21c448a4a71ac0a4474d04e2955283030ce58244583a6ee689dfc301062fddfcd81f517a12672da366df97bcba7b49e503979c27131a1152153701d3f471e0c892ddd1b18f278c959be39ed907cd4bb0ce034e193f25677709d3e6013ca89dda457e045fef63d24a38c4f381f4bebe35f1d603a9f3728b0ff8b198787cdde1044e811242b738a250aca62a3224909dedb2641503b1066d5e341d039ab7a12a9756d80054de01ad5f9594457fb82d19229ed81fc40353ff312154ff458f0cdb51c3c3909941d26219578fe40488e304da5b42ef34ac03c329c40ab7649f9120a8909797e44df07c5aa34537044a12dfcc6ccbf6c74876030a0dfd89fab38996d719594d56cdb7446d7eb92a0f1bebbed546905f415d260e033d227fb6724f3b1a3f3554ff78ee3670c66f42916f0f66ed9bfab8f532d7d12a0384ee64df1278e05671344acc966a34c0ae08b35462b5a2c03522104abbd7a50c03bd0ece13c8e5b02bf514868da11d260fccd42981419b1906aad734c5bcc44052036d08581e555ff6ef9761eddd857af1b57877284139e20969622231a03d2160980388e3d591dea23a0e677102267d4a872d6fc55065c51b33a674acc63af05b037c0394dfdf880255d18c178b4e6339316ff5211b03c389b1c183c46b9dc9ce9d40dd00581e0257d0c21f2311fa23f12788a9f42fd79e80995d53eeff4caf0efedcb0bd42042000581e02c85fee2e1e452ae6f2882c677f9a9f96a2bd173ca939004eb959304c684505161909070219600000581f03ccb454c985ac5d33f826ed2272235e66537e55e4ede3f36a97e44c69eaa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffda25f200581f038bcbfb7612edeb624dd2f6737c1c2f2b0c5d6206332505860814481f7e005820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff93502d400581f0355c5dfab6e14577de58bf365db30457190753d98b686ddb975d1a60915c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff876abee50219828103d591bf37baeac46d15a83635bb69400750b27badcf599300f9099b5f5164b0510382dd7202aabd58454c63b362722e7bfe5d96a5ec5cd6020eb20f81e3441833a5031e2c870203df4508ff991db84ec95e0f57d627a6965cb93f922803f2cad64af4033fbe6a74219a68f690f6e2ddb01e23bdfadbe1c1d3716c2fbb31f8dc16eee5990308b070b100d79afee3dc9b77914f11d7d7418e8298df2f16171a5e69b7c16b2603538d12a73d2775f85457b9d2f5fb93cdd214a454797aea3651cf32c3df4c2c4d03fcd145a1ac22823ecd4daaf91c63a266f0192fec0928c851b9691828a7cb874703a4d4df4fc9b0f69d0bc5e2a14c9211fda6ef4aa95a9e04b3cda30f97ef20e16303c311eb1b99596e26e05eb480abde78ad21cf2fcc2f63c3ee08da71c696494b2203fc79618c2450f639171c8dad432b03ef4ec616d8b0492e024cdf3e318f2394cd03befe2909ccf1a1cc30d7e183e427ae8290dd24ac118978c8ed681634ae3e86b7036fca0ddb3cf83865535c7bb8b8e692b4c238ee1a992e170cdfe3c9c6b79fb5ae03f6f9404491bc0b914a6cd2e9aca270196ee660c43beb92b660385366b90a5f4603a68e5eb710ca4401ad0942d9eab0280c089b9f99e09b70c30c0497d564eb57af03580ccdc665436126ba069833728fd9b50a2669ed68727b6d6240091c337ce8740219ffff036502f9ea13f2f26cbacb6e78df76f635be418ca3b701be7725dc81ede377cf5e03b02a2861890e1e82d0191d488763f14ec31ef3e97fbce360cf2541db667200670219ffff03d861a65ccd9e9826d85ae155517e0d08b3482e13add052d5cb011ae52441853803e8bab7d4647e0dec1094231da3132a83ea3549f6b13ef097ce5d8f1a70846b8503107734e1ef06ce52293b19e83d08688e42309ef36ba2086430a55b717cecb2b003a3dce67844a110b321929156660cccd42b41356a50e8e537b2a500b8eb5e5df103244300e9091b6cfe154b9b43a17d0962e20cdd71bf3639da4272b9a2eaa428ac0219ffff038a071e0c7129e39a6a98f585ec79c51fea78c61bb9c1b338b08ee7148c3f581203ba0f9c864f2dd20f397721634162581c3ebe552118ebec3e1dbd1f380f9f258e034320b1c2170afa717727eb60d0460d6dc59122411de84b812403156310f682ba0343ac5a02ac5a84a88ce7889239f1754c5dfe76c59eda2501b11f7e439a3b61c9031ed6e03d3900335f6516178e73bb650d3d07ab189cb9288b8299e808e116f9fd039b2580c2c563667452b741d85751966a428102e46824242d93ef68598bace9730370e51f0b9a98f0527807d1462618d97e87b251827474e84d7f52e038a0e33cee036f5f2ac942adc30a659418150f97eb60ee04f890a0021527520306551932857f03ef17688113b260d793085c2fc5681f952ff802900f2f72f052006b1267e32e60037b245c72ef8e86dcf03d7ce09c1e5d150b93dd88468e4fcbf61b24bc535f631e03a619caa9fea2866bb4257f111d10e6f82a81d808755e240db5686bb5145b429003d1a6a9c2770edcd9118d77f08e558ddb146247d55da10d3b3093dc15ba63f39f0359d905a40d45d88b5feb7d8c8a1c031a574fe71d4f28922321397e555661b0490370dadb2cfb879e16fb849412944359f662f22a32a6f28c1c35c94881f14cfc590393986af73099484596b4478bfc209edf706e5fee9856e5cd98f3ab02ea39fc0d0326652df65bed19810349c7c204a95e238f35a782ab14e3c0243574c1d897cbcb03dc373cbb8f5ac4f65e798d1569cc8ba587e43d4e20c090fbb0b505c15eebe79303081b46caada9f23bc32eb48abfcfa608d329ae2fcbdda0aa1c9c97b54c320d8503053f18c4dfa78fce71322c32e2f454cfb309633b99a061bc18c83be6ce0bb6a1037a559cd553e9c6b9348d4cbb7bf968861e92bdb89d181a8f9badb5ba1dd9417f03b5cb0ce19eb7c7b5f90d6506e4847e28e7af78ed82cec409d168f123418865ff03e133795cadf2d00cd862cb98d4e5f2c33593fd4f068ee4d55493218146808d44039af0af781b51d79982daf35eb7e65e94381231b9b6a69edcb9d156f31d8d2afd00581f039bce609d44af0114841487ee829f5176ce3f2685ffdb2a6f69a572842f505820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1e57700581f037d8a8d4183f8908f050d951d4b88156c25bb3531f1b8dd70e1797b18e9005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff35058a00581f03bd434b45e19fa1e92920640a5d2eb5e30db52933378e5a628fb3dacf56c0443b5ee55b02190a4003742c31bdef2d463d9df89431f707f94b336729c78780e1c6bbd5c6db3db8bce20355e0ebd7192ce7e435ea529aa12b5dff1c610cdf00e2693b6cef75f4391a0db3038f13568067177de7a4dfa11c0c5e67bf7c615004676b647c4731ee7eaf7d3f60035979bf79602094102b9cec1d317c7057aaadbfe98b08b7f117b5d6a73be7f18d03afd105ef9c42f6863f49d73655e61ff9fb3f56d52a595fa66eb98f404027bc66035715f40c3276756facbd7d83fdc2991254787c54638a43e5db4220cf855edaf203abf5c8fa701c2b71a6a0dc729a17405cdf831807ae17bbce0e6692f76e7989e1032bc6307335ef4aa6feeb727d49d7f432d27d071c5c75e850625dc5020b2ba1970396d2f2fc9b1a1d9416144d003d011200ed43f65afd09a096eb125bdfe8d5e16e038b6766fc50ba30ae05b5a19eededc9defe5cabc086c631a168dc8d4d1f12991703d1e2af35cac6c527f08069acc0303dd4dfea0346323cf877b78ae0efaca878a803b86ba82e1ad6281de5f6a64e46fdd68f013227f1595cf8111715b1210e3bd6110219ffff0329c558e79aec58e1f4a953c0215f9f02f4ecf9a6a892371354ba95097edb820e03ab6d877ca5507f6490e6befc13389af23e53f1ec8d3b06f9f8e4a1af5ff80a5603b7f283613df86f374d10f59f5a157825c109c4559720e29678e12c034359003c03c65540431c06a6cc20675f6db4afd37e2c827786d6cbfc57e0520387a1900db403de73f12c89cfcfda94c1df4fb65bf9c4093cca26901038fa28d4bc3e750452d203d8eb08bed0fe7c742d15b6ca2a1d5b4f59426e30dd4d1710d9a75f97fb6fd1950219ffff039ef0a3fd2c60fbf3ecd3504296db522bb3681706522f732cd535bd2d9830646703d0fa94d9466d212ca28c212bbec32880f490b7b99732381ac9f0a67ca821a7870306129890c821c1522c6d38f501b94f55e21a408ba39726165686549432e97d7d03a499e88a4ef1ba9aa64a500373f0339fdf9ba91e1ce63a3f10454174d36ce1400219ffff03bd4c4000051ad3c5958546c89c634cbe61e0da270c77a2b048ccd80b953b696d03fcd9090fe2b8e58f4a1ac02c1d73acdac599c589e336a7bf1517bfa745256ff803fdd9d931feec9732566d085d4796c60bd4a7aa8ebb8cd0e51ccc3f18765cd8c703d6378385b1b3979e47a95da177e99d808fc2b5fe2712ed37f762ce259d8b4bbb03ff79e2a78a1b8660a9caa91e301a8fefb157bfd8697c31719a4454a745843f0003eaecb73790ccbea5c1ba8269aaaf2ef8b3800a77c9c98ba0989943872a2e3f5d03ad456b70cf37049b9ac2021a5258300f2f7655da3a212f8b0fb0207fd75c058503557f72459ec93a5429926c1066b5fef535ce0fdc569ec741628d0db521b1fd7403c6d4e1d8d6f69d4803a7f37334580d23d49a7e979b695f0816abe23a4cc6922903998cb199925648dbe94a4263e368f28df00f96d09eeda336e1f3dd6ad5ddfc280330e228db74b0fa09388da84cb32b187869754beff44ac977ff38919e0352b09e03064f4b1b73c1782de2d668eebbc142e0e565f989d9a607dca603c6ed0f80664003181417b31111f15d3fdea75055692e5d760ee61f5f2bf60d4ec559bea0666b2f034f09fce491a7b0278e9e661573d6fe597ec62ad5bc7ac4497ffb272685375d8b03227953ef9f7b5f3352f0de1bd6ca8ff45eda425eb6cc18c77d4401015654b88b035e4a5f6015b0f6b7d1c6ebc3f660dee99cb0f22be84cf368a13abd3c01c248b10323c5a128a782cd07f7ae1c2f860dc5b435a7968b70558a21d85b50d72ff91bc90357f37601fe88ee105ac97a25f14c7d7909838993925f38cc61379b11eac4c56e031e539611df49a26e89cb2a6c49d2b3f4226514496981ef9c403fe53438c0907803cc79fa096eea78197fd7ba528d73b065b3e431c5c64e35737b0137e8eaa975d503674ca69c6361e7463fb3e3c8a601dc7962e5a9d25fdf9bc13f43e081bf11753b03f12b91d03cbfec47a4886f18e9f54352988d322f19b7640a36dc3ac110e175bc035a7ac1711fc211938ce7cf8cba3dce87e353216631d2b8a1a87c152f25668cd40389f67fdaec78deeb93326eb850055841021e75608e1df4b3c7cb8ac12b82e2250364c1753d6dbcd6af0a0d67fe6a142c50fdc7851ba1aafd026379c82233f30ea4039de80d1de0fffcbd0b540d091ed51a30b93524b451bc8616fa0e9f7159a4fa2903024475cf3913d2334171e89d60c8b8f29798e99dec7d11c8f386dae88e3676860340f43878b0d99dbe5c3825744830281cadf622f11e3c449639f184193f58052d03d035b0743e859e263974c0846e50254da379ea461a2304efa2ebad0f38649a8503c86c8a2391890fe1a8374a20dc9d601139e732f33b0f41aa6541b32f991dce9d033695ed652e428aab687106410ecb0b14483f5fe39897522d8c3592839705525503557775161ed39041636259febf0ebaf95b2b9a42117bebe924735fce03242e3d0368a666d175641ff5aa055ba42e347515a1275e21717f112832c151fea65e4bda034bdcd0ac2d801573f5f535194beac7917b29c33d843ad9465fd90fe2ded42267032d06ba0e72fdd3b1d2ea626ddc942af6258ddf974e3d385ce3c5104760e8bbab0392ee94a8aff7e6cd06289cecdaff306400b2f53d304c3d52a2a0ac93d74f57ae03603c3a553ce6d63220b50b5afdce672de7aa1bcec44812b77a42e8bbc6d672ce0379da76a1593bc8333d71a6c927ddf3ef4897ba1b5741775f31457c9c7750d03a00581f03b4464b00bf099d3f851f75f9ffc8549ea172bfe88fc88053f36cacda23005820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fb6f2703fe8191fa3d4a20cf81200f5c042d88d2368588a1ba5ac9fe1bb318d5474bdedc00581f0319db5fa6aa818f28a74ca68608d641d08eceaa2014389df6a53cfd582a005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03146855290dc6b197cb2fea6f8fd54c422896a2340ef26c0e638530aef960415103023046afa3b57d7126943c997b747a8ee4f17598e7a80a232bddf37b537cd63203c058c7cc5e0ffd5be204fd6824f9ee5ddae395062cc626bfb9b9f15478b5923e00581f032376ed722c1c0dc292f0142d0a0a139b0d59e2a7f88ac8c546e674efcfa0423e1000581f03dca1df4acca273cb6bbe76135813b3ca9c1e32bd71ff38f7ed0808b5af9045044d53cd07021955c903fd7479f7b72727a5b587e887622e5441a97680c24392100d8e9731ad74b88fe703816bac8d3ca973d38067a80239d6e2fa5d845cf05f30b3a3a1a5408ca1892fb803cd6fa12d7404837bc4522fdb1ab0173af5d79b12a4c07298248c9d226613f75a031800f9c3b3790ee8e7d23fbffa50b0d061f7e7e7c244395cafa8d775c0d036470219ffff0330dcd68fb2205602eb9d21f052bed9e7a7d18625e6fd2880f95f6e3bca675fb20359623a11842b2a810cf68490aa3cc1e123b7ebd8a6873a6b7c006af22601f3f00219ffff03236d183cf8921348b3598e7cd45d16156c8c19504860303ede59f6d4c08a55b103498870f7bee4dae063748678ba7e410b2558ffe796ba6a950a0e6650add068ab0219ffff0337da6513332d9b32bda330558d7170a88d04cad9ab5516a594e1da9030833425031d435de07dc81ed3680834483460df1bab734b371213a45231be4d7943a0c5d40393bf5917ea8bf65316df76ff3401e2a49daeae445b2575e2917afeda781d5a4603d7e5cfb726d8e0afeb41fdae5f74844a1f12b95415a2222ee760d6eedaf402cd0219ffff05581d0240759031b3b9352c1680bfe7f2d376c5eb1d3f71c79bde5d7b9e147107011911e605581d020c8c69a267d22f83f9a5c44d0fab0881877bbcf46a27ff36120aa6990c044719cc826f20c6000219130405581e0373f9a2fb2f2c5faa52e8f70219655e6dec2531c4d88936d8f48103757004020342df14dc567582fc706a3a3c17f3368ebc561b297ee4bf9456dba3830b99c97c034bb057e5e99169693dcf3feefe1beaabab2ccd8b33b8fcdf49590f5d2ced553505581e0350b664c18e1b276ee3f6b4c793ba1b99b3cb0691a6f165c874ac6522b007011bffffffffffffffff05581e039f530c4ebcb4d338e2378149ebefcf30396102387a80dc69303c5ab2600c0d470b3f109ef89ca905581e03d865f0da1bbacb9d83ac7b0c19628c415c1ae7051c756a725bec95c0900c014702de0d30050dc0033e910cda8f61069c66a5d45d09ec1caf6006ba1a022ae737c351528a9d470e960219abf9030df8ac9fb91320c43e03dddbdf416ad27f47fe7470e74657264939054b871ecf0312d8128d147efb0dd76870fc761fa531667870872340e18019cbd4244f200c9503035fd71cf0a983827e86a784b2c6428cda49a5e0f0f5761102b405ad64e5dde203ebfe89acd5a4a1d5b673220c6260217c2bc916c7d0e26bcc5cd16dc4ee37a08e032418862c1196650f836b4366f4a1d68b000c98f9193e0ec45a5db28f4539d5370319424487030cf75fe811dd40fb04aac05112e1e3eb7660539e4c8936cb96da7c03c8703b8dcc37a4f97654ecd875606116cbe09ce60690565b42f9923301cbb6ed0333dee8a3b8f87ef494b0a167ee984b96a1f9d92f6a9e1db0dcf88ce12c888d450365a0743e04bfbbd6d7d0866402c9a563920e98aa7c6054ca5edfe4fc347ff31c03b47a1c320a41551156094f00504d9a41a008be78a96007f4a517f79a30b9c179030e75a269da59d42b9d9b35ec9a2d68ed9141c5538b7430ac8d6f82b1cd01507b0219ffff030563ffd70e0855786ef17b14eff3a60d11dfbd23a8de6ab8896a19abb14988d70386c0195433d67fd83ffae9f60e6db755df78cf2dfa250bed2e26d5c3ce3347e10219ffff0353d266cbdf7586af8964f7a20a6ee70b512b8fdcdcf295ae484db81f1d7d179703cd165c3ff81c9cad2e3ffb10a1178c7da478170b9eb561388aef05d829e3d94b036fa1e71a71c261b1c3502a0c45b6ce1e25cb1c332b54afa60dfa7541bf3d14ff03b0118ba9a8af1ed3df91bfeb5bec676f3964e6396306b9a7a8b73f85992e81aa0311e47f0d5e70418c814db56ae43d242b93ee0f39f740e49512c173efac6784b403cf7e80c94b9fbc7e42024b2efe3cc173b98aefb8f3ab32a3b2dbf72463cf9f450382ff8f4d1c5af49de5343b05834947b10db8baec4377fb49632d6bb90aacd8b30219ffff0219ffff03fbb13fc5f3c15003df8e30a6c5355607e017b40de026e87ea581ad82021bcafd03112d5ea1dd9728e2b6cbe5acb1a6b3c5bfde0fd464284780dd2b731881e44695037636c66e2c7de6009a81580fb30608be7732e5e76456d51d1bdab278392dcad603ac182b63ed65286550414ad0ef98a8d103682aae39053aa850c6d69dc2229406036671466f10b85b68553047e0bba459676e558208f156bf0d25217459601f8b9803058078fa8a096180f533d8cd94a6341d8873469d8cdf95c263dfcf8484c490f8033dd51addeefc9f7c4fdac48f9f797c4ec6c0b93387056afdf25c0a67b7f919d20335cc884e0d0dde1996775ba9fbb3693080013027e456c3c60483775b19ca32f003abf6c1f232d1db4236b2d400d83eb50118f1b97d9e78c2dd01f54a8ab609221a03ae8015684d1911bb1c726c78d5ed586a5afb3b7d4eed84340dd11f44a3810b1803c34521ce9d89ab36ee9908f453c88030ca943579b21d58129bbd9a5646ed5dae034520a0457f88f9c3ed25c0895f9916f513e0372743e3116a400062363a48c2f10315faa3d698d2f809cc445e65e88135d1debf215b0b16426281faada87856120003b8278d06dc332cd88c4f6019f515a83b205ed6d4d8ffd3b9343493b58a58238b0347491a601fdffc0f6779191dcdb90c74d60bc2eb1458a0f26a39c29f07d3d44f033f3258d5ea608159434eb7232ffc0fc23200da4897777c3849a12fbaae28484d03f5ac4f6369b0b1b01c98c690e6ac85b4c97a6b146189c19a225e99bd2896aaa8035aa770ec3684d2cdb646f87ea795871e2eb853e0ce7a38db76de67626f4ec245032dd59431733450696dfee21178b06bd2054a43f29d54c45619898f9a579db4ce035db4816e1560e5c14cd049b7b8d57fc6ded062cb50fec6d8208074b4c3eb4a9e03eb7979a8d2ecaa724eff4507f169033651cdd12b6b7b59585914eff2c5618b2c0316d42317e30195fc2776e0c69a4f97843a35ecfc1d077764951ffecc5ad521d205581d02b25d06d84adffe5bf3714aa46097a8981031aef1bb21f106ec828b6f0c1a000f2f94484a67d010ab64f175031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581d02b6bb3f694184f27d4fe4733ce127a2ea475b34d402056b0eda6da75c07011bffffffffffffffff037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581d021270a42fc0d097cb59b149d2749ad2f063640bb8927170ba2730fc0407011bffffffffffffffff021908500399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803ef079c3ba2f22bdd6518029383a4bb8a69d1e633d04f44218ea90fb578225dfa05581e03b334cdf0ba7891f74c0ffca09d3f77c8917554c623884c0aa1e797c9d007011bffffffffffffffff05581e030c50350a89c9a437d02d84f2e8382e32f9e587e21c0089a1630bea2930040105581e03c28a26d57503d891ec73b07f0e875234fece76a517d6ed3c4814eee5600c094663aa18fd1f8003cc5a9259b01835d727744d02ca6e6724bb54e276dc634ac69512b2b738456d20035c5d6593a8de4517b011236ee8177df2659adda03521d75a298959b5145ca73c05581e038d5b2bea127ceb03d554dbb8130ada534060d9399fe095c8dbdf3007b00c01460e8d4a51000003f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139034bf48cefebff41290d112821e9d73dba4f1ef8cee63beacb1a873b0ea91879e105581e0363acb911255c5bb5b7015372296987f6438d06a43d7dfa012c56e6360007011bffffffffffffffff05581e03c2fa4a25f6e77cefdcd5163ddca9fba244c22be33357d76a1ee3ff5cf0040305581e03a4f3162bec5de8d204452161a8ca9bdcc2a0119faddb2eccf08d14af80040205581e03b22a8c1a17d8b5682886fb0dbabd825bc67cb1644e9c870aa5b5be5810040603f29d42da42d7bd09262cbc56f33c7402fbd1d47b00fa7cf66cb5252ed4d8eaaf02195eef03281956fa756cd3ad47eb784bab56cb1ada9997bb54b41efa16340045a93df7b003f7d7f6bcae5d67c560abe74fd13f345c93902dcb57ed5e18b53a63d3f4227e65035dc630b242439394ea29a3c7f4916392eb620d6a4b115f1c3a284290927f8cc403682c90a00f497559b011b0dbf0068a1658664f487d30aa33c596556e7104e08a031c507d5efd7116f3613ddc03482574024ea03f0a3b91f4f0defee1f2eaef00aa0359e33570a86e160bd4d8d354940c371f8a17da6555ba24b6c08bbe9b06d2c5e70306515a0415373640269b775d79094ccb71c6144999cddf9410457002c80164d10374e7342f79b02e36093f0dc25c3324d6a7b0e3ef451683f8d2503f0965b1a4140219ffff0376e6e74d955dba6d1de235c5f9d8b842bcf1ac7d268ec90f127c1c7baadfa6dd031742e5162434f4906ae82115821921584d5517feb26f6450d6ab33768d50dc8a039f89e1e55cefd238d20f706bb248705cb3be1faace27dc6b1c263f32182cc1e303d0764d5c653b2a9becd83a4d7a0610264b164d7107f01cb652260dcb62d6ccf10219ffff03b4abcb342e30d0f60806bd43a3a34792b3ce531f108d07804b68cdb8ba46183d0387e5f6032d1ddc25039c266dd0b579cdfb56d14b63efba86e86ee38f1a854d2c03cc97b637982938eb6f7a1a98aad9d854bf97b8c40820a36f04dea28767331c98036cb896c1af2251874655f3f7d71c26d28ff1e919a9eb2fd615eef8e5435a902a03a40ecda51988a822667bea63953f49aa19a60fde760a6345661203e56854503603b56aee7a6bfce7c28bb32fc60a41a4980b79b9bafbf3af40d5e3c1028086976d0396bd732bc363494d584df3d7f536bc2962f0bd95d80227c447665245572950da037387e56fd6e2b7c2157317d12ea32897db731fec03a0453f1472fee4daecf12703a65ace224f3b3c1b044019e7e16c0bc8e186c16b82e2c2c561da584998b4c69a03843fef31dbcfa10c860e580e44b9141d5c879d1ec2392134fee28bede8005045036bc4b8e055954b90486eaac73d18e1ba63e0f584a19907456e220315dd79ca310219ffff039805b66b193c2f591b5c228e8383ce7a246afee91ce17a0394431ae1e43aefa1031eb008253cbc1d2e2b66bdf9c11f3b02db516593e41a021b36e59fb7dbd117b903fef6e90f665a0bdcd172066480346b2b69c2983a74a4a200a4c9d21ad52c2fde031389acb28655de8def07ecc0a50cf9d0516774f59da6845e16bad857d86480330307595f8907468a24257e5f8d0a3d7ab2ac96dfb7d9720864fd4b44c32479e2bb03b236684d06ca48986e7fe6ed6af50785d06d3b1bd963f46dad9e650d6912f77903a627b6eb5e42244da14b03f65023fe3f2624c2ca3b1943a172b1b0d18270b328031fb463df8110cdc4e67d74047d29b287cb3b0f5770486fb60aecad5d76cf137703dcbc2e2fae0d13f5e300236ec1804c399ba9608a1c7ce22f57a769f7b7ee4ec80326584b6c0ee569163479c9463f4a6d025c2b32495d686d77542a9b221596a30f03183900d42fdb421d56f1102b45a69031ae21caf197a1f102d1175ca271f624ad03d17d5701ca40b9e83adfae97c3a3ba0f2650274e57827110ce56fed226eafb1b03d4402fcd711ce4af09dfd4349212eefc3928d695e0f94dfed3be97463f3a4057030a53ebeb4e46495ec8902306624a92c30e4cf525e9effc536ea809b87295b28a0379ac05e697a1b72283d510728b255307e316c87e06b4530f75a649c237ca576c03935557162b9689cb5a134df1dcaf2b4d672dd01004dd989e652a39bfa43e977d0386646ee9d1647303cfa1e2abe5c4daa758a2ce6ad4921bd1416a24bf86379740036a45a73954e1b9db361c99e1b04912711cbca866eba2a871e276041be49e49200364d38ff610a0f99c06f49aeac8694626881de6601b52a5df52978343c0a7df6103ae6b2be92e22bed7bce3d6853f2e36dc8598236cf3eb722899c846b8c0fc385103c1f7acd742be5f5c1142832e1c8147e9276edc48438fcf378149672ca0c9a9d903d262a7a36ba98975e64deb99dfa457dbfba53e29dbff82301580fe7a771f4dc603481150913ba54ec63ddddf5bbf903d3431b9f91ac7af4d01d5faf2602c268006034a7bd9f7910f50c8d374357cb1bbb946d312929e8e29684e84aef184ca99ecc603a3a5d1e2fa7353592e6042f721b12af632d8a3cba1248b92be814d46b5ac1c8c0304a70441201447581476eb2e384a9b91c42b093d5bdcee68fa16c9d33df5ace5036ae4d62cc45edd6926b9b4e156548a71ffe9289388d678193a2aa8414e76aae8035073c5dfebc898196ae691831448c836f23b50562451ce92d1c31ad7750c273403cf22f37604bc123ca95a778d3ac62e64a8ac65995ce8c3dff35ca7ecf4ae40c903fedffbcb99d095856a351f128c6706e6b9d75797b47d00dd60bcc02262a859f70316b3f966bb5eda9b30c4bba10e3dd021908abc3da94ccd44be2c4ad7e9165da703f74e1b0aa012a5b6abd10a9ead59f0045c50270cb1ebd4e620a120957fb035b005581e0373e91c2b2642a8eb152ae6feac3b66303202658d38c527f9ae521bfcd0040605581e03846f1ca5165a26236cc7a84dfaa7171ac729defed591653f252fb1fd20040103647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03336b40cbaa16811a11ed55eb6f49a99ff96fc9c37515823c7c4d3657de78a24d05581e0382968fdcbc865bf2e70c0f39b4d223dca37af2290796bd1a4fcf7bea0007011bffffffffffffffff04591c476080604052600436106101d3575f3560e01c80638da5cb5b116100fd578063c8c8ebe411610092578063e2f4560511610062578063e2f4560514610533578063f2fde38b14610548578063f8b45b0514610567578063ffb54a991461057c575f80fd5b8063c8c8ebe4146104d5578063cf9522fd146104ea578063dd62ed3e146104ff578063dd8546521461051e575f80fd5b8063a9059cbb116100cd578063a9059cbb14610464578063afa4f3b214610483578063b70143c9146104a2578063bfb368b7146104c1575f80fd5b80638da5cb5b146103f557806395d89b41146104125780639a7a23d614610426578063a457c2d714610445575f80fd5b8063395093511161017357806370a082311161014357806370a0823114610385578063715018a6146103b9578063751039fc146103cd57806389291a8f146103e1575f80fd5b806339509351146102c55780634fbee193146102e4578063583e05681461031b578063667f652614610366575f80fd5b806323b872dd116101ae57806323b872dd14610255578063311028af14610274578063313ce56714610289578063346cc7be146102a4575f80fd5b806306fdde03146101de578063095ea7b31461020857806318160ddd14610237575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b506101f2610595565b6040516101ff919061189c565b60405180910390f35b348015610213575f80fd5b506102276102223660046118e5565b610625565b60405190151581526020016101ff565b348015610242575f80fd5b506002545b6040519081526020016101ff565b348015610260575f80fd5b5061022761026f36600461190f565b61063e565b34801561027f575f80fd5b5061024760095481565b348015610294575f80fd5b50604051601281526020016101ff565b3480156102af575f80fd5b506102c36102be36600461194d565b610661565b005b3480156102d0575f80fd5b506102276102df3660046118e5565b6107af565b3480156102ef575f80fd5b506102276102fe36600461194d565b6001600160a01b03165f9081526010602052604090205460ff1690565b348015610326575f80fd5b5061034e7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016101ff565b348015610371575f80fd5b506102c3610380366004611968565b6107d0565b348015610390575f80fd5b5061024761039f36600461194d565b6001600160a01b03165f9081526020819052604090205490565b3480156103c4575f80fd5b506102c361083a565b3480156103d8575f80fd5b506102c361084d565b3480156103ec575f80fd5b506102c361086a565b348015610400575f80fd5b506005546001600160a01b031661034e565b34801561041d575f80fd5b506101f26108fd565b348015610431575f80fd5b506102c3610440366004611995565b61090c565b348015610450575f80fd5b5061022761045f3660046118e5565b6109a6565b34801561046f575f80fd5b5061022761047e3660046118e5565b610a20565b34801561048e575f80fd5b506102c361049d3660046119cc565b610a2d565b3480156104ad575f80fd5b506102c36104bc3660046119cc565b610a4d565b3480156104cc575f80fd5b506102c3610b20565b3480156104e0575f80fd5b50610247600a5481565b3480156104f5575f80fd5b50610247600f5481565b34801561050a575f80fd5b506102476105193660046119e3565b610b37565b348015610529575f80fd5b50610247600e5481565b34801561053e575f80fd5b50610247600c5481565b348015610553575f80fd5b506102c361056236600461194d565b610b61565b348015610572575f80fd5b50610247600b5481565b348015610587575f80fd5b50600d546102279060ff1681565b6060600380546105a490611a0f565b80601f01602080910402602001604051908101604052809291908181526020018280546105d090611a0f565b801561061b5780601f106105f25761010080835404028352916020019161061b565b820191905f5260205f20905b8154815290600101906020018083116105fe57829003601f168201915b5050505050905090565b5f33610632818585610bd7565b60019150505b92915050565b5f3361064b858285610cfa565b610656858585610d6c565b506001949350505050565b6007546001600160a01b0316336001600160a01b031614610680575f80fd5b6040516370a0823160e01b815230600482015281905f906001600160a01b038316906370a0823190602401602060405180830381865afa1580156106c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ea9190611a47565b90505f81116107355760405162461bcd60e51b81526020600482015260126024820152712737903a37b5b2b739903a379031b632b0b960711b60448201526064015b60405180910390fd5b60075460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044016020604051808303815f875af1158015610785573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a99190611a5e565b50505050565b5f336106328185856107c18383610b37565b6107cb9190611a8d565b610bd7565b6107d8611354565b606382111580156107ea575060638111155b61082f5760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642039392560501b604482015260640161072c565b600e91909155600f55565b610842611354565b61084b5f6113ae565b565b610855611354565b5f61085f60025490565b600a819055600b5550565b6007546001600160a01b0316336001600160a01b031614610889575f80fd5b5f47116108d15760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b604482015260640161072c565b60405133904780156108fc02915f818181858888f193505050501580156108fa573d5f803e3d5ffd5b50565b6060600480546105a490611a0f565b610914611354565b6006546001600160a01b03908116908316036109985760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161072c565b6109a282826113ff565b5050565b5f33816109b38286610b37565b905083811015610a135760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161072c565b6106568286868403610bd7565b5f33610632818585610d6c565b610a35611354565b610a4781670de0b6b3a7640000611aa0565b600c5550565b6007546001600160a01b0316336001600160a01b031614610a6c575f80fd5b5f610a7660025490565b305f908152602081905260408120549192506064849003610a98575080610abb565b6064610aa48585611aa0565b610aae9190611ab7565b905081811115610abb5750805b81811115610b175760405162461bcd60e51b8152602060048201526024808201527f5377617020616d6f756e74206578636565647320636f6e74726163742062616c604482015263616e636560e01b606482015260840161072c565b6107a981611452565b610b28611354565b600d805460ff19166001179055565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610b69611354565b6001600160a01b038116610bce5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072c565b6108fa816113ae565b6001600160a01b038316610c395760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161072c565b6001600160a01b038216610c9a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161072c565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f610d058484610b37565b90505f1981146107a95781811015610d5f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161072c565b6107a98484848403610bd7565b6001600160a01b038316610d925760405162461bcd60e51b815260040161072c90611ad6565b6001600160a01b038216610db85760405162461bcd60e51b815260040161072c90611b1b565b805f03610dcf57610dca83835f61160f565b505050565b6001600160a01b0383165f9081526012602052604081205460ff16158015610e0f57506001600160a01b0383165f9081526012602052604090205460ff16155b9050610e236005546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610e5257506005546001600160a01b03848116911614155b8015610e6657506001600160a01b03831615155b8015610e7d57506001600160a01b03831661dead14155b8015610e935750600854600160a01b900460ff16155b1561118357600d5460ff16610f24576001600160a01b0384165f9081526010602052604090205460ff1680610edf57506001600160a01b0383165f9081526010602052604090205460ff165b610f245760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161072c565b6001600160a01b0384165f9081526012602052604090205460ff168015610f6357506001600160a01b0383165f9081526011602052604090205460ff16155b1561104657600a54821115610fd85760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b606482015260840161072c565b600b546001600160a01b0384165f90815260208190526040902054610ffd9084611a8d565b11156110415760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161072c565b611183565b6001600160a01b0383165f9081526012602052604090205460ff16801561108557506001600160a01b0384165f9081526011602052604090205460ff16155b156110fb57600a548211156110415760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b606482015260840161072c565b6001600160a01b0383165f9081526011602052604090205460ff1661118357600b546001600160a01b0384165f9081526020819052604090205461113f9084611a8d565b11156111835760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161072c565b305f908152602081905260408120549081158015906111a0575082155b90508080156111b95750600854600160a01b900460ff16155b80156111dd57506001600160a01b0386165f9081526012602052604090205460ff16155b801561120157506001600160a01b0386165f9081526010602052604090205460ff16155b801561122557506001600160a01b0385165f9081526010602052604090205460ff16155b15611254576008805460ff60a01b1916600160a01b17905561124684611737565b6008805460ff60a01b191690555b6008545f90600160a01b900460ff1615801561126e575083155b6001600160a01b0388165f9081526010602052604090205490915060ff16806112ae57506001600160a01b0386165f9081526010602052604090205460ff165b156112b657505f5b5f811561133f576001600160a01b0387165f9081526012602052604090205460ff1615611304576112fd60646112f7600f548961187f90919063ffffffff16565b90611891565b9050611321565b61131e60646112f7600e548961187f90919063ffffffff16565b90505b80156113325761133288308361160f565b61133c8187611b5e565b95505b61134a88888861160f565b5050505050505050565b6005546001600160a01b0316331461084b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161072c565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382165f81815260126020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061148557611485611b71565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611501573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115259190611b85565b8160018151811061153857611538611b71565b60200260200101906001600160a01b031690816001600160a01b031681525050611583307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84610bd7565b60085460405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81169263791ac947926115de9287925f92889291909116904290600401611ba0565b5f604051808303815f87803b1580156115f5575f80fd5b505af1158015611607573d5f803e3d5ffd5b505050505050565b6001600160a01b0383166116355760405162461bcd60e51b815260040161072c90611ad6565b6001600160a01b03821661165b5760405162461bcd60e51b815260040161072c90611b1b565b6001600160a01b0383165f90815260208190526040902054818110156116d25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161072c565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36107a9565b305f908152602081905260408120549081810361175357505050565b600f54600e546117639190611a8d565b5f036117cc575f821180156117795750600c5482105b15611785575080611876565b5f6117a060646112f7600f548761187f90919063ffffffff16565b90506117ac8185611b5e565b9350600c548411156117c257600c5491506117c6565b8391505b50611876565b5f821180156117e75750600c546117e4906005611891565b82105b156117f157505050565b5f8211801561180c5750600c54611809906005611891565b82115b80156118195750600c5482105b1561183357600c5461182c906005611891565b9050611876565b5f61184e60646112f7600f548761187f90919063ffffffff16565b905061185a8185611b5e565b9350600c5484111561187057600c549150611874565b8391505b505b610dca81611452565b5f61188a8284611aa0565b9392505050565b5f61188a8284611ab7565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b03811681146108fa575f80fd5b5f80604083850312156118f6575f80fd5b8235611901816118d1565b946020939093013593505050565b5f805f60608486031215611921575f80fd5b833561192c816118d1565b9250602084013561193c816118d1565b929592945050506040919091013590565b5f6020828403121561195d575f80fd5b813561188a816118d1565b5f8060408385031215611979575f80fd5b50508035926020909101359150565b80151581146108fa575f80fd5b5f80604083850312156119a6575f80fd5b82356119b1816118d1565b915060208301356119c181611988565b809150509250929050565b5f602082840312156119dc575f80fd5b5035919050565b5f80604083850312156119f4575f80fd5b82356119ff816118d1565b915060208301356119c1816118d1565b600181811c90821680611a2357607f821691505b602082108103611a4157634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611a57575f80fd5b5051919050565b5f60208284031215611a6e575f80fd5b815161188a81611988565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561063857610638611a79565b808202811582820484141761063857610638611a79565b5f82611ad157634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561063857610638611a79565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b95575f80fd5b815161188a816118d1565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611bf05784516001600160a01b031683529383019391830191600101611bcb565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201a982aa07f60f5869d5236ec4ed1fc30dcfeec8732c6a906730a45b6acec6f5564736f6c63430008190033032e1fb180dc15a1e7a7222714fcb2a0ab5e8a8a708720db213a3215297061884803fe6c8011a4682ebf9659c1aba71e4ab13b38844aaaaaa0fec0f219a26686c7bc03f6f6046ffc95c08b5bed86310107ddb5e2f82745a01f71e9f95c2b0e260c7b49005820039ee813b608aa9f683d73dc79721573eb15473e7f19c7ddf237bb90d30e72604bb283b4e813d8517f19eea100582003cb77f762f55d294681e0166b12ba4919650fe763c1ec90d451883329083fc04b538b94f896d9c085000000005820031ad3a387686a77185f375899857a9c3a6ec4c007b10d9b78f4f9baa3ca23304b6dfaa8633f3e819c81c1cd034a017b35c16afa8c7bd6ab04ea1051a6a5816c7fd87104a0a6cc21f5249f3a5c021918a0036b098c5e7cfadad38f40a2f8aeb81ae78feff1d367937827292b76f9a672794c03d30a91a1944764b4c287f28e29d25bd5cda7aea4c0f7cfbf2a4bb61747cb86a3037cb6b6321ac7884de69a8aaabb8fbc32cf2d314d4b1ac382bdfdf7f24a0bec210329bf9aa406cc98988b70924f5608f77f414828967cacb82f3e55da20cec483d7030082efe5775da64f265626422f34afee119e3ce31e5d3321ae54398ce49aa92703c45b2476c2561e98bc50d520f4627130744a775e551b48df738c60e8be87463e039a046b7c724e66eb605cf04547a17502648df40cf532808cfabb6931a5e6d08003cf243ae1bd455ba89634f71ee138d9906c12d7c4a80c2a238fd4903ac99100da033d35082a88944030b897e32e157870322ee22a53d6878e1dc4579468b0818f150327bd1539eeeeeed381646afd4475e9b858144262646383fb5f8c15f0ce3563c303ffc472b6712bc6dfd6a33c9d1c3e429e6ac55dc1f40f763b582aabd6a31b01d403018f69d9d77cd97699426975b6b7b2846b4b0796036a13995d17e406e931b2a40219ffff03bbdd0187735657a579ac97e986de4bfe5a22df2efbe014bd26f0d088abde34da0317dec85922a74b7c16d0d5c6ea666b2e48f43b6db0401167d896e07a05452229039895e050c3b8e43eb36a973028115fbbfabd4a0332ae0ab01fb81eb454715f8303309770507cc8d52bcbe777bcc7571551c36925171bac49ceab32c2a625ee3a95032e28b3ffdec0f29fdb4434308307cb03d1f7bf6fd597f8d610f891ffb786a7ea0330e2d3b38a03ed13d341c32ba2c8efba0a20aac7c3e5ad05f2331e3ae6b9f89403168599a9dafbecc1d9b668f84eedfa21105ff1fe66ce467d2cee6978765eb754038e050f77d292dc511526a17adb665a7020ec770c188505c02ab81de5326425830058200393e0232a6b5388c19ead45a1ccf8af1d74316885306d758afc61386fe211504c1fd4d055a2cbcce22ab84d2d00582003fc7e6be872daaf5a25f55f254ecfcedc27a174fecbcddb6e2755db051104c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219082403064b3a4b697ea9dd51375eddf16c8ac34d2a225e0642de534f6ce011cf5642ea0058200212b2a2cd9ce08e42640036bedb6e48ff8867096aac44f40b39c577929a35b55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f0af3b070cad1e10387a6693f9ca9c511c396458075a71c3eb35401c997c3bd7039d2343736437ad9a92731ef41dd20cf7623b3f2f7561cd7de103f3c994f96f460315b53517fad691cb7d105e7ee6ae38db065a312f2b2dc679891411218bdd4af2033ca7d8a74acfe9cb71616df45a81013b03a49a59ff736800158996ac28f483cc0306081bb5b9e1d8386604f48e074e2f88c31629945a7e2dc52aa3a2fe5fff806e033d4f210b37c1ec23dd35e26730c6604c1c211e7920889524bb404e4d9ee9e6b903086d7fb73f7b3c050936d2003cec7788b516b9b8ee62712c9233536b9bac008e03f65dc89ec63802194fc024c5db2b7351ce20e2c113d39b641d8b07f7e82740df0219ffff03ac1b9695bfac25074bdc7e2540fe7737925ce928dc854782f888f796ff740679034be072ec2eb1fb4673d4c27a45039fee1284f6d22fb8de1c9e62fd1e4a0690a503932b48f6f4761a78def8055dba986e76603df494579906ce95fbc75c600a38ab00582002e78b119b6ec9ab31312cd05f1cab73674224588d72ca5827c3e15cf83fa6c55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0301784d928dcc06e9737bc7c25a6a2ea72628c4e7b67c8e4920c3f3c8040bd5da00582003f074915a0cb3220a79bab917e350b52db6c2b0cf0dccc64afb1af0455e41404a31bb125efbfadad4240400582003f7d8398a9fe9bd810b3f061d453680971741b8035d76e09bd9af0183f65fe04b18df8d4f5ed623c7b410c500582003eabe7312b3b70180e9ce11f09fd72308ac0359fe38b772bb5bd84fb68388105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037d6b7b2a6ab4a39ed8c910e8454c30731c41627b3a9a9bfc3a07b96ee709604c033b2e3c9fd0803ce8000000005820033a035527e246f3bab25f18b19f26ee63e18ff50c5406fc67037619cd4039f04c07db1b8f74d39af0aa0399ab021904ca03dc39eeced2e6d4e3d0a16a6fe2013070fc30e443b1971d6520f61c40e053f88703ac949ac06c0eba1c8a1cabfcb1a546834b6a2204506f4663c3426084eb55119d03aa7888ca32fb6a93b36d345a6193c1d7dfc2bf0e34a21819cfeff567dbc2f44f03627ac3ce497728c590a71a2d1dd858159cc435224cc4c3038e6361bf5a1e0bdf03e68f104182b705f4dbc58f78031700bcecb25a13181cc39ab1daa680facf62af03458ac6c87ad80a61fe1c966a7292fbf7b8b48d16ca0e1a1a5541fb579bd75cbb005820030b0061ecadca2ad852e082f53d0b84ae08d351351542b00bd2bc7750f32da04c034c440af96f39d959bbda9f03be6d27625153c605c969bf4ad7e0fb087ea71cc182beb8e55834075f6f81f5af0058200316e7279e630b075c88015bdafca8a93d8aad0fd50d50dad2c8d2778e11b6004b73848b740f0d799cb929be021920480374eabb4bf64d9c6f06738f4ebd2f4653ab02ad6c101bca5202ec5a5003f1aa9403eb3f68ef746c9065b6b9360674076f1e850331ab0896f53b03429b9235f1ac510390e23f8f2b65478d073850af62aa3791e53adc7d557ba61eb23dffe63e7f44600219ffff037351cf160bacdd4702b461e36b63577548a1451e8c470c2d87150a5a9f1e4d76036227d018e79ccb48433d87d268af4558c85022c9f03544d7242dc3ddd03846e40310c4f58356c574499317999aa3ba2801292e23c1bb0590489d798ffc121211ae033adb20b2bc03718b4ed6f4e7eabfea11f5ca644fc18b99944392af36f75907f303d405f394003aac3a6d02768bd9d7e63e00397bbd1efd3bcaa6931bf185bbbfaf0362c7c71555e5c8e99b3816e11fb325f6e8306f6b52f17635bcd00a32f7a866f6034cefa0da67d59aeb7049b01ece1074dbe4caef4d0515b22924e72d047045b977033c7f9be6584c7aff350bf5f3aeca2c39e812332901c0422b72225aacc4258c12032ffb5063d112a335b020d9b465d4c394840fb684b0c5dcf40c5a328e11f2f8d3037ff3e759c32291af65e3f796a3374d7f161f4bb00a5d0e5f225915757a0ffe7c03975b38540c9f26fcb1e9d0694d3726c71685270efbe4f7887a8501be4eff696600582003c339b8eda03538766575db76c339a44b4aec275ce5808ba1c17564217705d04c03cfe1e6044a8e86b38efc7800582003ef35f7949c8a5a01faade1ce3e24468cff67e321ec4f823fde5e741b3574b04b50dd1965c2524c77bd8000005820038392e8ddbacd2509eeafc64552a8676d876481555a7406dfe671123ca2c4d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0372c78fa360bacea1963bd149dfa78dcad62c22d6348cb6d5ec359f7fcccdc48c03225c2d35555efbd25105efe31635063276227d39e5a4dcbb078b9604b8cef1aa0058200363526f84f6223f39d54c8a9a85ed2779cc167cff0d4bc82d1275b66888cf105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021948e4038b2bc0a4d54d7931b0f7f76577004e3c60f0fd1d76bb589c951cdd1cef870dc403395847bd8b8e264afa9eac51467c715c964c8199a9698bf84d4353d6f3066e1f03c79d3e9995852cdede962bd86211211eaf7365d8263fd8a1c29cccd7112c1d67035dccb1917e3ce451f7cc60be43d76475a75e07fd58563139693f22113ebafe840326be85d105c9ee3dad5f498ee857efd037d9e3c515549cb1da6e94274bf4a3dd005820021171d4e1ce9180083070389c418c811dcdcdbfda453b0f79a7b53fc26e2aa24b14d8a645181807cc735e650219ffff035be33a4fb03f468044d50e782bcb275b8c84212cbe3e0ef32fdf0ef20671628803c3ab28a7f1df4c54e5389b62f951d6debff82f223d2b49a6a3815da6f443c2d6038d8362135fde09b1d462725e7b601e6e1f2189e1e66b566994286c844d663d3f03ed35e176bc995c5f9eb4d5aea48e093bf8d2d9994948c4cba37a14b3891a787203cd87d5dbe836b2b23a6ea16a46b822c031c4f249e5b1ca2b23b2cdff446e2fe60326e09d723044df318bb0cb488763ba55bcd254e550eb2c5831dfd6ab98492e9903470280f5cf9f48712b4e48d8a83dc8172155940becab9d0cdcb4ea92ca742d3b0372a550d8b1e93980853ba474013e51bef7947bf14c3085dac9fb527220969f09030940104ca51f7da27ba259a1a1b4d35630e8b8e8a0b04e40b255fc6ca640763e03cdab927d95f7fcd420226430770ad5f58d5c23186042ef32270f3ed271a2316b0336e63c672bacc4988a446fd4604fc75b53f73a45aa36ee786f6e5fc45ff00ae40058200242c1bb22cb5c407b137a40ab55b37142a019710140726809ef356db8229a805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bb9316482597c0a0276074b5f4188e2241d0dfd1459de1195b601e1581261800005820038592b8d71d446d1377850617bfbd942998f93a87319f6025ca39d1dc60570048777f2095d7ed003b00582003dd2a4fdc6a1de7fbbc6796c9dcbbf37ac20d33008aa4565557d2b971096d10410100582003b2090b6f41bb0383d85a7a56bb4648fdc85f9e10ccc219970b8d599150f2904c021a1f30d82886c403b5eea6005820032a139af03e15f83083416085c245b722e1e272fd900dcca3b13e077d4d96905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820036ee1014355dccd53840cab212f1dd6c71b126df35307e344cf115159787ab05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0309ac7491cc06f6150b6c9d06362d273e9510aeeedaacf7b0cf14fe52949fe1f4036a010003f84bf4c04a29899ca8a421854d12e5652664edc53070cc2490181dd40141020219434d036ffdfd76351ef2acd757422c26e97ac32e80565367091acfb21e36cc5abb32d5034093a237927e1fe5dce89968f3698c33c41aa441bd819c9ce8773d9c71673e820219ffff0355a9f57deaf1bddf70a1dec97f5ceccd3c4c3a7f9a2f94daf10dd07d5cbcad8503fbff35af47eb84a81592cf3df1b4f128f2b4599b5543af47bb828a4395fc7ee403203e7f7a4ce58fd01b2fc87ae43d25a09b0a7b1b7dbf75d47223ca8f7fb153c500582002ee454b455ff9e0753fd2caa7463e2956cf007d70f5db76769613086ce74b5c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0375657a6eecf53d0a2494cf48e6bbbeed8d9a47b380a6118894ccdca5290ea69703a8844489e964f3c6b7901a0bc123721d9a013a9395e20e7285d6d22ff5b7dc6c038e7879764b8083e25c8085a97235df049c885b0348f72cc5a4b387e792ed86f3037fd472602da5e0ec5d7cc6c0db13410f603659b6314f934585ff76fbe273e8a50355a5b7ea8785a0a3711a77a1d9d7ad5b1b7672729d06595fa996bdd293616f0a0058200314c60d6acffab6a6677ff36dc4ce76a185b07f890f64656b442c5c234659204bd5e4c38ab285470d2151f900582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a804d054d17db76321263eca0000000005820030ff33d91763a85048d51fb1f60d5f9e23af0dd9923f63ccb1a4d5f8e9f1a604b3b3ac39f3b83fdb4e5c45b005820038b6f4a976f2635acd77e1f4649ea6773b17fb9d3e765475877f74f8a7133305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a0ef2ce3ee4d3f52ced9492290f52db2f0ab2541d22082c4e7dedb5ab9fc905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021921a200582003c8c3cbdef0c4b463aa232999b98cc77db64c5785f559cf0e61ce41184925704b3e8fd9acdbbcb21fd164ae005820034be9b8258a918058d037bdd7f590d31de51024566fd978fe193517eb5073c0410102190204035fb54d31e37776fbddf5f24fa7d7693704bcd865432e618eec9d3a706b7af07a03199396d64c4c8aea158253f3a658d624ddc7e03aca6c0b48d7096e923cc56819032003ff3aaf740a357703a541cebd496b6a7a684d3ec173c1a647b479e51ac83d032dd49cf2bc958310645f29a0c87226d7096cf322d08db4d13ec4bb4b96ad9ba603c6922ccd30cd65d35dfbe2dfbebfab5d99734db8728e229ada634a42e76c558b03d7a07e3b30d7847eb10968d0867c94450ae3dab1a5564b6029ea5deaf997d7a20336a86473fdf224cba33ed4cb864dc2432b41620319c34bfe12cb481bb589b5e7034eb8f636f248fd469394d6c1c072cee4f0f691c0dc81a1250d7743049cbaf3010219ffff0382d6a3466b1e80326b4e603aa6be51da918135ce746b2dd3e6baddb8de659be400582002c1702dbbfbc550a9414947ef385f4bc1288932857a16cbfcbd0263b28cb63c4c0d26406e1496c28205c413b703cdc8a239022984ec552728b235ed758525aac0549bcfa105f1b8d07d0096ffbd005820022cd8f81680f7dffbb4dd65dc689bc253ba09782a5f15a0b471d981b10a11795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032d709cbd1ff878675c8dad7b771ad223f5cb5bcdcdf98b19adf77fbc5d9cff22033e43bc070f86aa56ec8697e5e25cfd8a986ed9b8715ae72900c113e6df59d8af035ca1aa344a6d89f607090a2763b4a06d07c113ccd084405001c7bb962141755300582003f310c150106c7ed6463a12b0c6e59168b50b3ca8305a2a9bed3e652b8b1b104606435ff90268005820032d62fc41041d4160109289c96d1370bb059823698c6a288465e3d464bea8305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03eec97a80acd726b3d5a149d5428e5c7b8a565cef2fba1b31cd848e9b689db9e200582003638796014031c32b6b0ce9c5e32631779ca60a60849160165765213eb448b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ee7e5ff1729b8e41acb86dcb19e05212f47c71428a3513b323c13d411eb9bb2d0058200321d76bddf1c2806648b09a83e67901fe7ca3432144a47e9686e1f3d29ec7704503e4b21858005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50410100582003412980da66e626aa465aaeeee91f52d2792f5857e8b7f0938b48c81ee40eb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c3c26a4ec445ef030e853db77ed0b64a9166f7bb81cdd6c7560c9c9f9318d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ce1d005820025f10bcfbf1635e564f9c07bfb15ae05d6506805f4c513ff936664562012e0e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a665630319adf10bcf09a2550b100b0b5b775cc3df95ec0492a69052f9051f5c03fd7d2152f5bb5e80abd516072d43aabd52ecb09bcd30960c6f5b8abaad3eb27103573228c552d3ff6a6f7441bd398a1a50907db613697786e6c5bf0d688fbddea303e8ec9acb59c13327d0187bc2ab8ca2db45b0f422473f43f4722787623098e20603fa736423bff04ff9bdcba48492d36585422e30e59e3fbdfebd55f3ce0a3f491803163c54136acceb1e7b0b0f9aeae207aa45666507416c564ab9254768fbb4fa0903cff7bc85efb4d099c45ed07a26113b1b7c9e1d22946371505d58fe478a3862420219ffff03be201ac105ed6e95ffc3e0c8591aebca6a6012c933405788fc9dc2c013bedeb403bc3b56e81011c49a4f21f017e6fc50363631c9c3f9a92e72420cd9c400dca26d032910bcf7c16ce438428cfd3626f2d354af227dd7f51e0c585ee5729b9902331b031b7773fab9786a44cebb794314585a3ed398a80b10201c6ae88f3e7ad0d2352403ce87da1b7654a1fd894da08cd42da5f21f44fcaa671df38941cbcf70cd8b5ec503af6de4197851de53294d07640b6132d6b064b29d4a336b6daa92fd80cbe7c48403468279713672c0ef85eb87dcc969cc5187b7fb332ea5ae5471f9cb9222e4894803ac12b92a7f6ad61ca09007c686be01d84b50a6b681433de895f26af8a33cbac403413e1b400656c798a1c9c4797046c0213dce69c37d31c198f9239f2ad6ed289c031b42582e3f379ba7031043731bd8219b2d75fc6b9cc3b0ce19e2490bd4e15edc03a41dbfad738a34ec376794bd8972d6f61ca83052bf455430c03081ec8c5204200378fcc5cf006d7b5ee19b28c84fadc319585960b7a77696a648412c97cd16711a03f81bd69e51ac3adf4bc17acfa097798e3bb03f699da7e51d4f5dee4e1e0166ec03c3c4d27c976e129c2c4f56b5de66d74a234ec39bfda9fc6f9867b40206c02a9300582003299fc1084c61aabe5b51a46b1f1be05abbb360ccc370d80cdb43c8c1b42b105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003230fef235fdd5100e62ee193a57363d6d70a46e0c3503df10194ba4a1c6c805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021940200368e7bae5220f0bdb220e6547cacd04ed59035ebc2d38deca45f9f6b619e159c80219ffff03ecb5d110dfee91da74ea2d90a8ff62e4ef26691f633cf91ae0151b1fb6115da100582003b0b2d12cfe7d1f3f4e94af4188371b48bbd4f41265f8d1a2172099929eebe04c01360f73252f105ca934756a005820035f0060df596570ba6089e76aa7a2ba1619f9fa56fb08b55e3936a542508db04b2f29fd7bac7003fc63365800582003ab99399b53aabb9a925a6f05c46a299c36f3c9221dc69c24f0fec759123d705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0265bec6b7493e64491565b404157676cae5c36284efb0972d3d0c1669c1c15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0279610f834ca1042fafee36176eb21f1a7543f40776b3da422c62307448b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218180219049803f24e6a61b0f26415ce3558c843f346e68dee7d5ea1f60899ca4327d1a07798cd00582003d610383ca67b0347b4808b0e7bc080ae7f7c3fe349821bd84d4a4dd8114f705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0364bcf4febc2db35ca37be5a18c038d1bd20dd5390dedcd6afb66e20a2cd312e4005820033375c0004fd02d569f136c848589a3624bdc0d734ed5cc63420bca874eb7c04c020e930b68f56e40222099b100582003560232ae554e8505dd742d30b402b197d0ff6d033a3f0786166064ae0634404b3427438358af92aaa9e84c005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3054b188b17214cf5960ddd6fd55b13fbee1c7ee5b900219c12203795afe816e9dfb49aadc12dda319db1de081709cdc100752a67ee4ef36c60b6403cfb000594239cc064db1765e1e1a61519941f6dded01b876e65a2bf588ac002a036daf9c83fc4ad4b8823566b3b0202ecf0a1271a5a8d02e98020f6fe9b484c17d03b92756c1c2b24d92437783525255611e39542c102cf55d90dcba631281c74eac03294de690c9c48afa7e23bbf89f8e26b2220844daa0a92406ac8e2ea60ac7fe24005820038ae9fbe39f3647d60699f452e592a653b9526203168fe4582e9e05f3e3f3404c02ea0c494552a4af5c7d0e8a0309ef880a2d719027c7cf293e970e0dec221dded2f8f4d31aaa241067bda67f3600582003b49cd80d52d8bad00ff6bf25a872ebfd7689683c5919d5b3c7212edff4a0105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200309b6f84bf0fc040c22528ad5ad70ec742c13a508f671dce54c0d4634f397405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003bdf9187f09f1afd0bdfbfbe50f8318809c232459618828086fae50234814904cf40737094b0ff603620fb6f00058200390691c75aecfd66ed288b7e7f72f9d55f6b2f8d9729c41a86c8ae9737ec1305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820035d5cca9d83130c53884dec5a02f1ec3fb4b60390e2cea5414e67321502b3604d0c9dfd75ae2c746f0bae0f8eb80219a331038bb5a0ef0996700bfb24af0c475d95d19c6103c66eba6e1b6ffeb76541eb39b403a7919da835ed18faacc6a215b4d725b9cd68ff6cebe4e7e58041c5e94bf28d5a0359794b7324231421c461c8106f28118d33c8d8eeddd041d852d1971152758918039951c60640e9bf8476c75aacb56dacf54041e9dc08902fed85077105c5e30b8f03de41d834b6b9bead3562561ab90a53826866bcefe6cb59de606433ea09c9fb8503b2207fd0002be2a18eb594e33bd3ab2950163240bf3a9369fc67b28db368724f0219ffff0219ffff05581e0381071f95158fe38adcd3f32d657cfaf8a7bdc113c484eb6f83cf9219a00f01471d64ab69944640191c4705581e03f3b59a5471b80b10634a1bf04e92d52922c2c76ce9a9eeff0f9846f0f0040105581e03c85fc0bb34ba36adb1e83b05ec2753d5c94c48851f0a5da3c50f9c2e300c01463ff557cacd3003941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03cfb9eff8c5ae9038eeb285f4c65bf81c523f7d75fe6736c88a6dd849a007011bffffffffffffffff05581e03ca8f4940333cc42310a1a64aaaa99cab23f616e615ff0a40d62d0e11a0040102191cb903d424bb3e7713c544cdc0d14a60140a9c4138edd79fc9ce0cbfb7c805ed240fa103bf2a586de40b6cf1823af16dc49ca4e6fd19404bb7242c7cff7ab7ba2634ab0a03515a1cd167771321dd06c29b619b0360014051e68c9e3a566f0f76b24f8fbe5e0397343f026338b3107561409efba8ec5c70ef7bf964d5482da040b04d13e66fe8032222679a39b11b08e34c160317cbafd7f73f2dbd7fc9fd432a883532448b92fe03cc777a6b0dbb0a27e77504bc27a68a8da313488345ced7ea9cc91a647701562803c6ebb236c4c03405f88ef424b29d9ca3f0f0e79e84d00faa0c60d5c13d263dcf03ce28aa1bc0c1194aa9fdcc62854781ede73b5aa30a4df3e03988db7ea76f836e03b8c6fe7f03e687dfa8d2651f3ce625794b55d228dccb3c7f2bdc6c354a61c1d803e624913ace6e2be6827ea158fe5252493465ec90d5f354d8764f430d9b2e73810219ffff03d7b3da15ef3101e9aa5bddc76597905b582fb18bb11b4d267e8193061eddc56a0313d6943b3cd3e97045980081b46c068cd486e3cdc2d0eaf351b8677ee84d88a00324709b3f183f8381ea964e17967796ffdccbdda9a17dd8e03912333bdfde21c0031108fce3dac828b268fceb1bcf7a8ad669ee70e9b4a4a543fe5fe8782fac3b060219ffff03a2f0828ba2acd6a9e1d3f00e78b6825e2d137bbedc4fa1eb4f782a27f5aba7120219ffff0321915285d7eb05c495335e2f22113b0944d113089be1dc98b546324b9a54649f03022342696d12af4a334438fb3006c9510690b5718651017964cb6fa20e04237203cb3c269f66650b998f3ab6b90a0468688c2e28ad24e5d235bf8db084f904d92b0396ebef5d39061ba6549bccacb6635e293b8e49826ad6764b8391f2630263de630367b4722f9223d9ccd69923cb8888372661d27f5e78b21fefab23ca7a4a92b84b0300d1910e86d9d180f370cb3170819143b8cc846e284ef14a9cde1895dfb40f5503b2f96688953b4b266a9647cb965f51e9fa00324ed3c375a53618b970acff48bb0313f97dbd06a45663e23e561f6462702b62a4d8be728a4e8ab4b2ee0908a9d8df039aff1b9cbdefc158cb8fab553667b667c7e96f7f21a5b32b0fba12ac1982048903e76cd7ff7dd332d2cd545efbf9dd492fd396c52d626d7517e9abee85678385460397b1278d68bf768078977cf171ae296a0008c3a23067c71538d9a50a2575983d03af997e90b7fe08e345cf71834df753256835b97ea1f1bd32fa30e99e3108b98f0219ffff03edc1b83643584468c929c188e0651d1a38fdd013715dc30bc39a7380da6eed1d0379467a4989bc3aa20de053d63443fe3653e923d4c2faaac6fda9b0d820f87c8e03dee5f2aa47cbc87d4aa52068ae1b2c2921b0ca5a2420dfa450b3b3f2394b94e203dfa672995150fb5aeb83e184b17d96afeffb51728faeddbabc2a315fb1d54e6a03bc52c38603f69376a43151a442346b2d5caca8995d356d7d231458644b7dd09e03d77a4d86001fe13897f991e46451a0378aa606a494d122622dda8e5d8146b20f0318133649be7b8a0de26a745189a2655f0473c3f583d5a6d15abd6247b17485b70369e7a5052ba084664751c1a8c7209cfc0831e13c65cfd9a647286ff8944c694a034f6b5396464b43167a95330ce3db2967418207c954ea90de598ccb9431665fac031becfd7efa6c18f017de8777237266f65ea1b451ad9627cf5e6182a1e5d4246f0345eea62174ed3ee109d58c0310dd8aca70ba9fba191daba806e7f54438588278031ae609c8d31659327e28fe5f343c43007d7fb668426226fad26a10f933dd14a103e96ee8d4fac0305e5c05b30903c1f66a4ac68041023f48633e8d46a748acdd87031b854b494d401cfd1ce0bf5ddcf73e8fbab1ee7d7682f141c08ab0e38b5557a503ea735ff217b9d401420144e8308621f329761058d3b92362fec15536261c688f037fe15126565d7b351fd2507c6868afcf6caf22853a088c242905393a436938730377627b2681d450bf6f6e1d44acadafb0b91477a9efb871bfb7460c7e55d6f21c032fe27929d7c64f84646e9af472b98d2c781df9d421305fd466b2a07dbbfe87b603e265af5f4a3fe181bae89e9073310140540950a6de7628dbb3a1e4fce8a83ca8034192b4b5bddbfdac0d3a55dedd3162c50f8bb2aeaadfe5b5f078473b8cf6805f0372cb3c26cc465e737cb3fcf5f861924bfd9a8d236dbeded251447a9294808d0603fc3d533abb0d1cc12bab78aeb51ffb15383c5e3c422884d16de24256eca14b8b0317c8919b85514877f8623f2bfaf03f06e322c5549037c953cac34cf9f40605bb03346a31735cfb8e7c73b9f75b3baf07112827a8cd54c4afdec887f9da5e79ca82031b084df51cf548a72a5908840abd528d041933fe76ff7397383998d0f5beefb005581e03d000f0c94cf711792dcc3a088a989837121e4bea56cc2bc9736c8f9630040203d362c5136d8ef7c977daa96bd052d266d8632cb7e2ac292806866d2434e2f8710399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908033fff93774e16665aad38ddc7cd8bdc760fd1ba4a22c25d7f7a89b89308acf37805581e03522c4b7464dc4011402e7b7b21674a9f45b2a80d54ae61910bc2e0e42007011bffffffffffffffff03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba035b29e92a14507ce168314f234670c82c859c4bc57931eb2e18d2106fe08fdd1a05581e03b48f45d63279d2fc46196f0c44e3fb266d30c6390fcaa2d9578f7b868007011bffffffffffffffff05581e03d51b98e76ec6767faf1f06de3f79b8d731eba94fe69f11b49143a7a6500c0147451a56681f043705581d0256b1bccac23e915f5adeda983184956581fec7b47f992b312646acf10c0346fd283e3974c004594d476080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c8063079bd2c7146102d45780631186ec33146102cf57806315348e441461027557806317fcb39b146102ca5780631b3d5559146102c55780631dfb2d02146102c0578063272751c7146102bb57806329cb924d146102b65780632cfc26c5146102b15780632e378115146102ac5780633659cfe6146102a7578063493a4f84146102a25780634e0fb8f51461029d5780634f1ef286146102985780635249fef1146102935780635285e0581461028e57806352d1902d14610289578063541f4f141461028457806357f6dcb81461027f5780636068d6cb1461027a5780636bbbcd2e14610275578063715018a614610270578063738b62e51461026b5780637aef642c146102665780637b939232146102615780638624c35c1461025c5780638a7860ce146102575780638da5cb5b14610252578063979f2bc21461024d5780639963e5a81461024857806399cc2968146102435780639a8a05921461023e578063a1244c6714610239578063ac9650d814610234578063bbca7db01461022f578063c35c83fc1461022a578063ccfa597114610225578063ceb4c98714610220578063dda521131461021b578063ddd224f114610216578063de7eba7814610211578063e19044021461020c578063ee2a53f8146102075763f2fde38b0361000e5761256a565b61250e565b612450565b612402565b6123bb565b612377565b61233b565b61229a565b612251565b6120fc565b612016565b611ebb565b611e83565b611db7565b611b6e565b6119f5565b6119a3565b6118f4565b61178c565b6116c6565b611608565b61153b565b61149d565b610679565b611459565b6113fb565b611348565b6112b3565b611261565b6111e8565b611076565b610f31565b610e5e565b610ce8565b610b44565b610add565b610aa5565b6109bd565b610960565b61086a565b6106b1565b6105a2565b6102e7565b5f9103126102e357565b5f80fd5b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000005460168152f35b73ffffffffffffffffffffffffffffffffffffffff8116036102e357565b359061036e82610345565b565b63ffffffff8116036102e357565b610144359061036e82610370565b359061036e82610370565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116103d857604052565b610397565b6060810190811067ffffffffffffffff8211176103d857604052565b6080810190811067ffffffffffffffff8211176103d857604052565b6020810190811067ffffffffffffffff8211176103d857604052565b6040810190811067ffffffffffffffff8211176103d857604052565b60e0810190811067ffffffffffffffff8211176103d857604052565b60a0810190811067ffffffffffffffff8211176103d857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176103d857604052565b6040519060c0820182811067ffffffffffffffff8211176103d857604052565b60405190610180820182811067ffffffffffffffff8211176103d857604052565b6040519061036e826103f9565b67ffffffffffffffff81116103d857601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261055a82610514565b916105686040519384610485565b8294818452818301116102e3578281602093845f960137010152565b9080601f830112156102e35781602061059f9335910161054e565b90565b6101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356105d981610345565b6024356105e581610345565b6084358060070b81036102e35760a435906105ff82610370565b60c43567ffffffffffffffff81116102e35761061f903690600401610584565b926106286132c2565b60ff61086b5460e81c1661064f576106489460643591604435913361333e565b6001606555005b60046040517f5a65d188000000000000000000000000000000000000000000000000000000008152fd5b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760206040515f8152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060405173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2168152f35b67ffffffffffffffff81116103d85760051b60200190565b9080601f830112156102e35760209082356107518161071f565b9361075f6040519586610485565b81855260208086019260051b8201019283116102e357602001905b828210610788575050505090565b8135815290830190830161077a565b9080601f830112156102e35760209082356107b18161071f565b936107bf6040519586610485565b81855260208086019260051b8201019283116102e357602001905b8282106107e8575050505090565b83809183356107f681610345565b8152019101906107da565b929161080c8261071f565b9161081a6040519384610485565b829481845260208094019160051b81019283116102e357905b8282106108405750505050565b81358152908301908301610833565b9080601f830112156102e35781602061059f93359101610801565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126102e3576004356108a181610370565b60243567ffffffffffffffff928382116102e35760c09082360301126102e3576108c96104c6565b90806004013582526024810135602083015260448101358481116102e3576108f79060043691840101610737565b60408301526109086064820161038c565b606083015261091960848201610363565b608083015260a4810135908482116102e357600461093a9236920101610797565b60a08201526044359283116102e35761095a61001893369060040161084f565b916125d2565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35761064860043561099e81610345565b6109a6614460565b6109ae6132c2565b6138bd565b801515036102e357565b346102e35760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356109f881610345565b602435907f0a21fdd43d0ad0c62689ee7230a47309a050755bcc52eba00310add65297692a602073ffffffffffffffffffffffffffffffffffffffff60443593610a41856109b3565b610a49614460565b610a516132c2565b1692835f5261086d825260405f20855f52825260405f20901515907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8316179055604051908152a36001606555005b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576020604051428152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760206040517f152eb71524aef34d838ab76573c14b1ebfa5e385d9ab29d7cf5398daa2438bd98152f35b90816101809103126102e35790565b346102e35760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760043567ffffffffffffffff81116102e357610b93903690600401610b35565b610b9b6132c2565b60ff61086b5460e01c16610cbe57610bb66101408201612809565b63ffffffff429116101580610c93575b610c6957610c5f90610c4b610be3610bde368461281d565b613a61565b9160c0610c44610bf560208401612813565b610c036101608501856128fd565b939094610c0e6104c6565b97610c19368361281d565b895260208901520135604087015273ffffffffffffffffffffffffffffffffffffffff166060860152565b369161054e565b608082015260243560a08201523390613c13565b6100186001606555565b60046040517fc3a9b9d0000000000000000000000000000000000000000000000000000000008152fd5b50610ca060408201612813565b73ffffffffffffffffffffffffffffffffffffffff16331415610bc6565b60046040517f7b21f8aa000000000000000000000000000000000000000000000000000000008152fd5b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357600435610d2381610345565b73ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000008c21b200ed06d2e32cec91a770c3fca8ad5f877168030146102e3577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc9082825416036102e357610d95614460565b60405191610da283610415565b5f83527f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610ddb5750505061001890614a0e565b6020600491604051928380927f52d1902d00000000000000000000000000000000000000000000000000000000825288165afa5f9181610e2d575b50610e1f575f80fd5b036102e357610018916148d8565b610e5091925060203d602011610e57575b610e488183610485565b81019061433e565b905f610e16565b503d610e3e565b346102e35760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602435600435610e9b614460565b610ea36132c2565b61086c8054680100000000000000008110156103d85763ffffffff9160018201905583610ecf826124cf565b5084600182015555167fc86ba04c55bc5eb2f2876b91c438849a296dbec7b08751c3074d92e04f0a77af5f80a46001606555005b9181601f840112156102e35782359167ffffffffffffffff83116102e357602083818601950101116102e357565b346102e35760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357600435610f6c81610345565b60243590610f7982610370565b604435606435610f8881610345565b67ffffffffffffffff916084358381116102e357610faa903690600401610f03565b93909460a4359182116102e35761105a63ffffffff7fb0a29aed3d389a1041194255878b423f7780be3ed2324d4693508c6ff189845e96610ff261106c953690600401610f03565b939099610ffd6132c2565b6110248c8c8b8b61101b611012368a8961054e565b938b369161054e565b9346908c61434d565b73ffffffffffffffffffffffffffffffffffffffff92836040519a8b9a8b521660208a0152608060408a01526080890191612955565b93868503606088015216981696612955565b0390a36001606555005b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356110ac81610345565b60243567ffffffffffffffff81116102e3576110cc903690600401610584565b73ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000008c21b200ed06d2e32cec91a770c3fca8ad5f87716908130146102e3577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc9181835416036102e35761113f614460565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156111755750505061001890614a0e565b6020600491604051928380927f52d1902d00000000000000000000000000000000000000000000000000000000825288165afa5f91816111c7575b506111b9575f80fd5b036102e357610018916149b0565b6111e191925060203d602011610e5757610e488183610485565b905f6111b0565b346102e35760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35773ffffffffffffffffffffffffffffffffffffffff60043561123881610345565b165f5261086d60205260405f206024355f52602052602060ff60405f2054166040519015158152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602073ffffffffffffffffffffffffffffffffffffffff6108695416604051908152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000008c21b200ed06d2e32cec91a770c3fca8ad5f8771630036102e35760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b6101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760043561137f81610345565b6024359061138c82610345565b6044359161139983610345565b60a4358060070b81036102e35760c435916113b383610370565b60e43567ffffffffffffffff81116102e3576113d3903690600401610584565b936113dc6132c2565b60ff61086b5460e81c1661064f5761064895608435926064359261333e565b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060405163ffffffff7f0000000000000000000000000000000000000000000000000000000000000e10168152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060ff61086b5460e81c166040519015158152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576114d3614460565b5f73ffffffffffffffffffffffffffffffffffffffff610c8c8054907fffffffffffffffffffffffff000000000000000000000000000000000000000082169055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3577fe88463c2f254e2b070013a2dc7ee1e099f9bc00534cbdf03af551dc26ae492196020600435611599816109b3565b6115a1614460565b6115a96132c2565b151561086b80547fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7dff00000000000000000000000000000000000000000000000000000000008460e81b169116179055604051908152a16001606555005b6101607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760043561163f81610345565b6024359061164c82610345565b60443561165881610345565b6064359061166582610345565b60e43561167181610345565b610104359061167f82610370565b610124359261168d84610370565b610144359667ffffffffffffffff88116102e3576116b2610018983690600401610f03565b97909660c4359360a43593608435936129c0565b6101807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356116fd81610345565b6024359061170a82610345565b60443561171681610345565b6064359061172382610345565b60e43561172f81610345565b6101043561173c81610370565b610124359161174a83610370565b61175261037e565b93610164359767ffffffffffffffff89116102e357611778610018993690600401610f03565b98909760c4359360a4359360843593612d6d565b346102e35760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356117c781610370565b6118326024356117d681610345565b5f54926117fa60ff8560081c1615809581966118e6575b81156118c6575b5061294e565b8361182960017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f55565b61189257612e88565b61183857005b6118637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff5f54165f55565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b6118c16101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff5f5416175f55565b612e88565b303b159150816118d8575b505f6117f4565b6001915060ff16145f6118d1565b600160ff82161091506117ed565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760043561192e614460565b6119366132c2565b61193f816124cf565b611977576001815f80935501557f3569b846531b754c99cb80df3f49cd72fa6fe106aaee5ab8e0caf35a9d7ce88d5f80a26001606555005b7f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602073ffffffffffffffffffffffffffffffffffffffff610c8c5416604051908152f35b346102e35760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357600435611a3081610370565b60243590611a3d82610345565b60443590611a4a82610345565b60ff5f5460081c16156102e357611aab9061086b907fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff7bffffffff00000000000000000000000000000000000000000000000083549260c01b169116179055565b604051611ab781610431565b6009815260208101927f4143524f53532d5632000000000000000000000000000000000000000000000084527f312e302e300000000000000000000000000000000000000000000000000000006020604051611b1281610431565b60058152015260ff5f5460081c16156102e357610018936109ae9251902061047f557f06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c61048055611b61614559565b611b69614568565b61457c565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004803567ffffffffffffffff81116102e357611bbd9036908301610b35565b611bc56132c2565b60ff61086b5460e01c16611d8e57610140810191611be283612809565b9063ffffffff91824291161015611d665761012083019042611c0f611c0684612809565b63ffffffff1690565b10611d3e57611c21610bde368661281d565b90611c35825f5261087260205260405f2090565b54611d16575090611c7a611c747f923794976d026d6b119735adc163cb71decfc903e17c3dc226c00789593c04e194935f5261087260205260405f2090565b60019055565b611d09611c8960608601612813565b95611c9660808701612813565b95611cb6611cb0611caa6101008401612809565b95612809565b92612809565b611cc260408301612813565b611ccb83612813565b90611cd860208501612813565b92611ce76101608601866128fd565b9690956040519a8b9a169d60e08201359d60a060c0840135930135918c612ffe565b0390a36100186001606555565b6040517f012f9e44000000000000000000000000000000000000000000000000000000008152fd5b6040517fd642b7d9000000000000000000000000000000000000000000000000000000008152fd5b6040517f09deb9ec000000000000000000000000000000000000000000000000000000008152fd5b506040517f7b21f8aa000000000000000000000000000000000000000000000000000000008152fd5b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3577f2d5b62420992e5a4afce0e77742636ca2608ef58289fd2e1baa5161ef6e7e41e6020600435611e15816109b3565b611e1d614460565b611e256132c2565b151561086b80547fffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffff7cff000000000000000000000000000000000000000000000000000000008460e01b169116179055604051908152a16001606555005b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576020604051468152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602063ffffffff61086b5460c01c16604051908152f35b9181601f840112156102e35782359167ffffffffffffffff83116102e3576020808501948460051b0101116102e357565b5f5b838110611f425750505f910152565b8181015183820152602001611f33565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093611f8e81518092818752878088019101611f31565b0116010190565b6020808201906020835283518092526040830192602060408460051b8301019501935f915b848310611fca5750505050505090565b9091929394958480612006837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528a51611f52565b9801930193019194939290611fba565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004803567ffffffffffffffff81116102e357612066903690600401611f00565b9161207083613073565b925f5b81811061208c57604051806120888782611f95565b0390f35b5f806120998385886130d9565b906120a9604051809381936130f4565b0390305af46120b6613101565b90156120dc57906001916120ca828861318f565b526120d5818761318f565b5001612073565b806044859251106102e3576102e391810151602480918301019101613130565b346102e3577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6060813601126102e35760043567ffffffffffffffff8082116102e3576060823603938401126102e3576024359061215982610370565b6044359081116102e357612171903690600401611f00565b91909361217c6132c2565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe7d846004013591018112156102e357610c5f9461224c936121c6612245936004369189010161281d565b956122336121d388613a61565b9160446121f760208b015173ffffffffffffffffffffffffffffffffffffffff1690565b916101608b0151946122076104c6565b9b8c5260208c0152013560408a015273ffffffffffffffffffffffffffffffffffffffff166060890152565b60808701525f60a08701523691610801565b9083614613565b613fec565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004355f52610872602052602060405f2054604051908152f35b346102e35760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35767ffffffffffffffff6004358181116102e3576122ea903690600401610b35565b606435906122f782610345565b6084358381116102e35761230f903690600401610f03565b9060a4359485116102e35761232b610018953690600401610f03565b94909360443590602435906131a3565b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060405163ffffffff8152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602060ff61086b5460e01c166040519015158152f35b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760206040516ec097ce7bc90715b34b9f10000000008152f35b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35761064860043561244081610345565b612448614460565b611b696132c2565b346102e3575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e357602073ffffffffffffffffffffffffffffffffffffffff61086a5416604051908152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b61086c908154811015612509576003915f52027f71cd7344f4eb2efc8e30291f6dbdb44d618ca368ea5425d217c1d604bf26b84d01905f90565b6124a2565b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e35760043561086c548110156102e3576125566040916124cf565b506001815491015482519182526020820152f35b346102e35760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102e3576004356125a581610345565b6125ad614460565b73ffffffffffffffffffffffffffffffffffffffff8116156102e35761001890614482565b91906125dc6132c2565b60208101918251460361271f57612604612608918360016125fc886124cf565b500154613628565b1590565b6126f5577ff8bd640004bcec1b89657020f561d0b070cbdf662d0b158db9dccb0a8301bfab6060820192612649612643855163ffffffff1690565b86613731565b80516126e88451926126cd6126b260408801976126a28951966126708c5163ffffffff1690565b9760808401986126948a5173ffffffffffffffffffffffffffffffffffffffff1690565b9160a086019b8c519461379e565b5192519751985163ffffffff1690565b935173ffffffffffffffffffffffffffffffffffffffff1690565b935163ffffffff9485604051968796169a1698339386612749565b0390a461036e6001606555565b60046040517fb05e92fa000000000000000000000000000000000000000000000000000000008152fd5b60046040517f7a47c9a2000000000000000000000000000000000000000000000000000000008152fd5b95949392919060a0870190875260209060a08289015282518091528160c089019301905f5b8181106127f55750505073ffffffffffffffffffffffffffffffffffffffff809316604088015286820360608801528080855193848152019401925f905b8382106127dc57505050505090608061036e9294019073ffffffffffffffffffffffffffffffffffffffff169052565b84518116865294820194938201936001909101906127ac565b82518552938301939183019160010161276e565b3561059f81610370565b3561059f81610345565b9190610180838203126102e3576128326104e6565b9261283c81610363565b845261284a60208201610363565b602085015261285b60408201610363565b604085015261286c60608201610363565b606085015261287d60808201610363565b608085015260a081013560a085015260c081013560c085015260e081013560e08501526101006128ae81830161038c565b908501526101206128c081830161038c565b908501526101406128d281830161038c565b90850152610160918282013567ffffffffffffffff81116102e3576128f79201610584565b90830152565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156102e3570180359067ffffffffffffffff82116102e3576020019181360383136102e357565b156102e357565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b96929993979a94989091959863ffffffff9b8c80421691168101918d8311612d68576129ea6132c2565b61086b9a60ff8c5460e81c1661064f57612a41612604612a3a8f612a2d8e73ffffffffffffffffffffffffffffffffffffffff165f5261086d60205260405f2090565b905f5260205260405f2090565b5460ff1690565b612d3e578e612a508442612dd9565b907f0000000000000000000000000000000000000000000000000000000000000e101610612d14578e808516428110918215612cde575b5050612cb4578e9b73ffffffffffffffffffffffffffffffffffffffff9c8d891690871690818117612c4e575b50508c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2168d8c1681811480612c45575b15612c2b5750823403612c0157803b156102e3575f600491604051928380927fd0e30db000000000000000000000000000000000000000000000000000000000825234905af18015612bfc57612be3575b505b5460c01c63ffffffff169e8f612b4d90612dfe565b612ba19061086b907fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff7bffffffff00000000000000000000000000000000000000000000000083549260c01b169116179055565b6040519c8d9c169f169d612bb59a8c612e13565b037fa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f91a461036e6001606555565b80612bf0612bf6926103c4565b806102d9565b5f612b36565b612df3565b60046040517f6452a35d000000000000000000000000000000000000000000000000000000008152fd5b905034612c015782612c4091309033906144ef565b612b38565b50341515612ae5565b15612c8a574211612c60575f80612ab4565b60046040517f25a63a5b000000000000000000000000000000000000000000000000000000008152fd5b60046040517f495d907f000000000000000000000000000000000000000000000000000000008152fd5b60046040517f582e3889000000000000000000000000000000000000000000000000000000008152fd5b612d0c9192507f00000000000000000000000000000000000000000000000000000000000054601642612de6565b108f80612a87565b60046040517ff722177f000000000000000000000000000000000000000000000000000000008152fd5b60046040517f2a58c4f3000000000000000000000000000000000000000000000000000000008152fd5b612993565b979b95999196939b9a949890929a612d836132c2565b61086b9960ff8b5460e81c1661064f57612dc6612604612a3a8e612a2d8d73ffffffffffffffffffffffffffffffffffffffff165f5261086d60205260405f2090565b612d3e5763ffffffff9d8e612a50818516425b91908203918211612d6857565b91908201809211612d6857565b6040513d5f823e3d90fd5b63ffffffff809116908114612d685760010190565b73ffffffffffffffffffffffffffffffffffffffff918216815291811660208301526040820192909252606081019290925263ffffffff928316608083015292821660a0820152921660c083015291821660e08201529116610100820152610140610120820181905261059f93910191612955565b60ff5f5460081c16156102e357612e9e33614482565b60ff5f5460081c16156102e357612eff9061086b907fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff7bffffffff00000000000000000000000000000000000000000000000083549260c01b169116179055565b60405190612f0c82610431565b60098252602082017f4143524f53532d5632000000000000000000000000000000000000000000000081527f312e302e300000000000000000000000000000000000000000000000000000006020604051612f6681610431565b60058152015260ff5f5460081c16156102e35761036e9251902061047f557f06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c61048055612fb1614559565b612fb9614568565b6109ae8161457c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60031115612ff957565b612fc2565b969091939792959461059f9b99956101409973ffffffffffffffffffffffffffffffffffffffff98898098818098168d521660208c015260408b015260608a015263ffffffff80921660808a01521660a08801521660c08601521660e084015216610100820152816101208201520191612955565b9061307d8261071f565b61308a6040519182610485565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06130b8829461071f565b01905f5b8281106130c857505050565b8060606020809385010152016130bc565b90821015612509576130f09160051b8101906128fd565b9091565b908092918237015f815290565b3d1561312b573d9061311282610514565b916131206040519384610485565b82523d5f602084013e565b606090565b6020818303126102e35780519067ffffffffffffffff82116102e3570181601f820112156102e357805161316381610514565b926131716040519485610485565b818452602082840101116102e35761059f9160208085019101611f31565b80518210156125095760209160051b010190565b94909693956131b06132c2565b60ff61086b5460e01c16610cbe576131cb6101408701612809565b63ffffffff429116101580613297575b610c69576131e9368761281d565b6131f290613a61565b976131fb6104c6565b98613206368961281d565b8a5260208a01526040890184905273ffffffffffffffffffffffffffffffffffffffff851660608a015261323b36848a61054e565b60808a015260a089015261324e86612813565b9661325c6101008801612809565b9236906132689261054e565b9436906132749261054e565b9460e00135906132839661434d565b3361328d91613c13565b61036e6001606555565b506132a460408701612813565b73ffffffffffffffffffffffffffffffffffffffff163314156131db565b6002606554146102e3576002606555565b929361059f96959192946101409573ffffffffffffffffffffffffffffffffffffffff80951686525f60208701526040860152606085015263ffffffff809116608085015260a08401525f60c08401521660e08201525f610100820152816101208201520190611f52565b9195969394929092613379612604612a3a88612a2d8b73ffffffffffffffffffffffffffffffffffffffff165f5261086d60205260405f2090565b612d3e5760070b936706f05b59d3b20000613393866146da565b10156135b5576ec097ce7bc90715b34b9f1000000000821161358b5763ffffffff936133c1858a1642612dd9565b857f0000000000000000000000000000000000000000000000000000000000000e101610612d145761086b5460c01c63ffffffff16986134536134038b612dfe565b61086b907fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff7bffffffff00000000000000000000000000000000000000000000000083549260c01b169116179055565b73ffffffffffffffffffffffffffffffffffffffff95867f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21694878b1686811480613582575b156135455750803403612c0157853b156102e3575f600496604051978880927fd0e30db000000000000000000000000000000000000000000000000000000000825234905af18015612bfc577fa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f9961352d9761351c92613532575b505b826146e9565b91604051988998169c169a876132d3565b0390a4565b80612bf061353f926103c4565b5f613514565b61352d96507fa123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396f9961357d8361351c93309033906144ef565b613516565b50341515613499565b60046040517fc45b6b52000000000000000000000000000000000000000000000000000000008152fd5b60046040517fa13c425c000000000000000000000000000000000000000000000000000000008152fd5b9081518082526020808093019301915f5b8281106135fe575050505090565b835173ffffffffffffffffffffffffffffffffffffffff16855293810193928101926001016135f0565b6040805160208082018181528551838501528186015160608401529285015160c0608084015280516101008401819052610120840198979692918201915f5b82811061371d5750505050816136e861059f979860a08461369760606137149701518387019063ffffffff169052565b608081015173ffffffffffffffffffffffffffffffffffffffff1660c086015201517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160e08501526135df565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610485565b5190209161471f565b83518b529981019992810192600101613667565b61373c6002916124cf565b500162ffffff8260081c16805f5281602052600160ff60405f205494161b8080941614613774575f5260205260405f20908154179055565b60046040517f954476d9000000000000000000000000000000000000000000000000000000008152fd5b9294939190938051825103613893578151915f5b83811061382b5750505050826137c9575b50505050565b73ffffffffffffffffffffffffffffffffffffffff8161380a7f828fc203220356df8f072a91681caee7d5c75095e2a95e80ed5a14b384697f7193866147cb565b6040805195865233602087015291169463ffffffff1693a45f8080806137c3565b806138386001928461318f565b5180613846575b50016137b2565b61388d90613871613857848861318f565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff8916614770565b5f61383f565b60046040517fcd298b38000000000000000000000000000000000000000000000000000000008152fd5b73ffffffffffffffffffffffffffffffffffffffff16801561392a5761086a817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557f1f17a88f67b0f49060a34bec1a4723a563620e6aa265eb640b5046dcee0759a05f80a2565b60046040517f2d234e48000000000000000000000000000000000000000000000000000000008152fd5b805173ffffffffffffffffffffffffffffffffffffffff16825261059f916101809060208381015173ffffffffffffffffffffffffffffffffffffffff169082015260408381015173ffffffffffffffffffffffffffffffffffffffff169082015260608381015173ffffffffffffffffffffffffffffffffffffffff169082015260808381015173ffffffffffffffffffffffffffffffffffffffff169082015260a083015160a082015260c083015160c082015260e083015160e0820152613a2c610100808501519083019063ffffffff169052565b6101208381015163ffffffff16908201526101408381015163ffffffff16908201528161016080940151938201520190611f52565b604051613ab081613a7e6020820194604086526060830190613954565b466040830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610485565b51902090565b613abf82612fef565b52565b9073ffffffffffffffffffffffffffffffffffffffff8251168152606080613af96020850151608060208601526080850190611f52565b9360408101516040850152015191613b1083612fef565b015290565b9a97909695613bba9661059f9d9b9660808e613b9c98613bc99e986101809d73ffffffffffffffffffffffffffffffffffffffff998a80921685521660208401526040830152606082015201528c60a063ffffffff8094169101521660c08c01521660e08a015261010089019073ffffffffffffffffffffffffffffffffffffffff169052565b73ffffffffffffffffffffffffffffffffffffffff16610120870152565b80610140860152840190611f52565b91610160818403910152613ac2565b9061059f949360809373ffffffffffffffffffffffffffffffffffffffff809316845260208401521660408201528160608201520190611f52565b805191610120830190613c2a825163ffffffff1690565b63ffffffff42911610613fc25760208301516001613c51825f5261087260205260405f2090565b5403613fbb576001905b6002613c70825f5261087260205260405f2090565b5414613f9157613c89905f5261087260205260405f2090565b60029055606085015173ffffffffffffffffffffffffffffffffffffffff16608086015173ffffffffffffffffffffffffffffffffffffffff169260a0870151918660c0890151948960a08301519660e082015197610100830151613cf19063ffffffff1690565b9a5163ffffffff1661014084015163ffffffff16906040850151613d289073ffffffffffffffffffffffffffffffffffffffff1690565b928551613d489073ffffffffffffffffffffffffffffffffffffffff1690565b946020870151613d6b9073ffffffffffffffffffffffffffffffffffffffff1690565b9661016001519760608a0151613d949073ffffffffffffffffffffffffffffffffffffffff1690565b996080810151906040015190613da8610507565b73ffffffffffffffffffffffffffffffffffffffff909c168c5260208c015260408b0152613dd99060608b01613ab6565b6040519b73ffffffffffffffffffffffffffffffffffffffff8d9c169f63ffffffff169e613e079b8d613b15565b037f571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff791a4606081015173ffffffffffffffffffffffffffffffffffffffff1691829033821480613f89575b6137c3576080015173ffffffffffffffffffffffffffffffffffffffff1692608060408401519373ffffffffffffffffffffffffffffffffffffffff8616858573ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21683145f14613f795750613edf91309033906144ef565b613ee985846147f1565b0151913b151580613f6f575b613eff5750505050565b803b156102e357613f45935f8094604051968795869485937f3a5be8cb000000000000000000000000000000000000000000000000000000008552339160048601613bd8565b03925af18015612bfc57613f5c575b8080806137c3565b80612bf0613f69926103c4565b5f613f54565b5081511515613ef5565b613f849233906144ef565b613ee9565b506001613e52565b60046040517f8f260c60000000000000000000000000000000000000000000000000000000008152fd5b5f90613c5b565b60046040517fd642b7d9000000000000000000000000000000000000000000000000000000008152fd5b905f82516101208101614003815163ffffffff1690565b63ffffffff42911610613fc2576020850151600261402a825f5261087260205260405f2090565b5414613f9157614043905f5261087260205260405f2090565b60029055606082015173ffffffffffffffffffffffffffffffffffffffff16608083015173ffffffffffffffffffffffffffffffffffffffff169060a08401519260c0850151918860a0810151938760e0810151956101008201516140ab9063ffffffff1690565b955163ffffffff1661014083015163ffffffff16604084015173ffffffffffffffffffffffffffffffffffffffff169184516140fa9073ffffffffffffffffffffffffffffffffffffffff1690565b93602086015161411d9073ffffffffffffffffffffffffffffffffffffffff1690565b9561016001519660608901516141469073ffffffffffffffffffffffffffffffffffffffff1690565b98608081015190604001519061415a610507565b73ffffffffffffffffffffffffffffffffffffffff909b168b5260208b015260408a0152600260608a01526040519d63ffffffff8f9c169d61419c9b8d613b15565b037f571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7905f94a4606084015173ffffffffffffffffffffffffffffffffffffffff169073ffffffffffffffffffffffffffffffffffffffff948583169182331480614337575b61432e576080015173ffffffffffffffffffffffffffffffffffffffff169060408101519687818416917f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21682145f1461431757906080929187614303575b61426b9150856147f1565b0151923b1515806142f9575b614284575b505050509050565b813b156142f557836142c99596604051968795869485937f3a5be8cb000000000000000000000000000000000000000000000000000000008552339160048601613bd8565b03925af18015612bfc576142e2575b808080849361427c565b80612bf06142ef926103c4565b5f6142d8565b8380fd5b5082511515614277565b61431091309033906144ef565b5f88614260565b60809291965061432990865f98614770565b61426b565b50505050509050565b505f614201565b908160209103126102e3575190565b939260429373ffffffffffffffffffffffffffffffffffffffff61036e989760208151910120916040519363ffffffff60208601967f152eb71524aef34d838ab76573c14b1ebfa5e385d9ab29d7cf5398daa2438bd9885216604086015286606086015260808501521660a083015260c082015260c081526143ce8161044d565b5190209061047f549061048054906040519160208301937fc2f8787176b8ac6bf7215b4adcc1e069bf4ab82d9ab1df05a57a91d425935b6e85526040840152606083015260808201526080815261442481610469565b51902090604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090614a76565b73ffffffffffffffffffffffffffffffffffffffff610c8c541633036102e357565b610c8c90815473ffffffffffffffffffffffffffffffffffffffff80921692837fffffffffffffffffffffffff00000000000000000000000000000000000000008316179055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b909261036e93604051937f23b872dd00000000000000000000000000000000000000000000000000000000602086015273ffffffffffffffffffffffffffffffffffffffff809216602486015216604484015260648301526064825261455482610469565b614b92565b60ff5f5460081c16156102e357565b60ff5f5460081c16156102e3576001606555565b73ffffffffffffffffffffffffffffffffffffffff1680156145e957610869817fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790557fa9e8c42c9e7fca7f62755189a16b2f5314d43d8fb24e91ba54e6d65f9314e8495f80a2565b60046040517fba97b39d000000000000000000000000000000000000000000000000000000008152fd5b91612604906146aa92845160408096015191865191614631836103dd565b825261371461464c60208401924684528985019586526124cf565b50549388519283916146716020840196602088525160608d86015260a0850190613954565b91516060840152516080830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610485565b6146b15750565b600490517fb05e92fa000000000000000000000000000000000000000000000000000000008152fd5b5f81126146e45790565b5f0390565b90670de0b6b3a7640000915f828403921283831281169084841390151617612d6857818102918183041490151715612d68570490565b929091905f915b845183101561476857614739838661318f565b519081811015614757575f52602052600160405f205b920191614726565b905f52602052600160405f2061474f565b915092501490565b61036e9273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252614554826103f9565b61036e9173ffffffffffffffffffffffffffffffffffffffff8061086a54169116614770565b73ffffffffffffffffffffffffffffffffffffffff90811690813b1561483e579061036e92917f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216614770565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216803b156102e3575f80916024604051809481937f2e1a7d4d0000000000000000000000000000000000000000000000000000000083528860048401525af18015612bfc576148c9575b508147106102e3575f80809381935af16148c1613101565b50156102e357565b6148d2906103c4565b5f6148a9565b6148e181614a0e565b73ffffffffffffffffffffffffffffffffffffffff81167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a28151158015906149a9575b61492f575050565b5f806149a6937f206661696c65640000000000000000000000000000000000000000000000000060408051614963816103dd565b602781527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152602081519101845af46149a0613101565b91614c60565b50565b505f614927565b6149b981614a0e565b73ffffffffffffffffffffffffffffffffffffffff81167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115801590614a065761492f575050565b506001614927565b803b156102e35773ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b614a808383614c2f565b6005819592951015612ff957159384614b6f575b508315614ad0575b50505015614aa657565b60046040517f938a1821000000000000000000000000000000000000000000000000000000008152fd5b5f929350908291604051614b21816136e860208201947f1626ba7e00000000000000000000000000000000000000000000000000000000998a87526024840152604060448401526064830190611f52565b51915afa90614b2e613101565b82614b61575b82614b44575b50505f8080614a9c565b614b599192506020808251830101910161433e565b145f80614b3a565b915060208251101591614b34565b73ffffffffffffffffffffffffffffffffffffffff83811691161493505f614a94565b905f8073ffffffffffffffffffffffffffffffffffffffff614bf69416927f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65646020604051614bdf81610431565b818152015260208151910182855af16149a0613101565b8051908115918215614c0c575b5050156102e357565b81925090602091810103126102e35760200151614c28816109b3565b5f80614c03565b9060418151145f14614c57576130f091602082015190606060408401519301515f1a90614c89565b50505f90600290565b9015614c7a57815115614c71575090565b3b156102e35790565b5080519081156102e357602001fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411614d06576020935f9360ff60809460405194855216868401526040830152606082015282805260015afa15612bfc575f5173ffffffffffffffffffffffffffffffffffffffff811615614cfe57905f90565b505f90600190565b505050505f9060039056fea26469706673582212202e2f14fe1f61a976701b5fa8ceae9e55c19db30f34ea2f09b17404c54ba0dca664736f6c6343000817003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02171828144c561bb7de25de0b6a467f8b1b8e9064798df5aaf5e9e4b00701194d4702184203c0e1f6d387971d788eac3a72cebc2d5e82fb84f217c764c0cc1d0e19cb1f141e05581e03cb54a65a0fe6f49bf0f4547be97126197c2ba4deedc0dd3cccbaaddd300c014703543243a3378005581e03a110fa6f74af73de9d7cfca21982578a8c607f418251ca2ef4ad0deba00c014708bd0222eaf223036236d5a985f1cb4e0c88ba0cf0b7454796f58046a240a01273a23a90ae1a18710219d3d3033968d9ef400cdcf458cdbd3a1f33199c083340d1453f10f973a7700a865126a1030d1b69d2602f90967204a93009c27cc5245f06635fc8284b46988209c1a0ddd90337f52236c2bf669d4455843672e99e5f89d36599b9538375f761e2d425528abb03243375dc9474e3f90f7f5017300a1f67ac0ee8306b1f982eecaa78dc43e698a003faa6299151bbe587ea18b2029b819f4f89a30118bc4d7611a7c8ca902f511fc30316bb3cf09d25f6e683ae3a219f2ed5355e7b1c339653f45c795e0adfbd3abaa8035ce2d3e9d5fac01ddcf0b334cf684600909f194e2e058980ffee90788ef51f9b036e6284441f53939f789bb9e27fdb7eadb1e11065a013b8e69c0649419c36497603d7c2bd5bbedaa15ed349b3d482e6aab1fb2651e2011f47d0ac09e9dbd81ff6440219ffff03be4513d56e3df617c46869b7fab3bf348d72d9a0ccf11d2ba75caeb4c0425d8d03324c7537842320d19e9222f1a13b0033655b0a9a4b6239044e0aa026875bc35903207900093a28ced266e14b059b6180e8760e35888941190ca5d71bdad649d77c0322c07ef4ae0a92152119c653722ffccce48761b7ed533a327e94d20580a8e68a0364d2acd432938c1989532c2d2e6ab10de76c653449b67a94634fc8ea22b0e419030dfe63636921b098f7176a4d2e936fd9e6e87c3965ab48040955fdd3aecdfbc1039ed39713b7fd2cf8a0d76b03d9d35ad88a01495d3bbf064cda5dee1bbf408da7037f4b2797c0d6650353ce863512874cf7e786b0209edc0786a3b97b9d2d99521103caefe98b73bb90d22de89a98d297797abe694adf14094660e1c1ee2337f25a2503ad7211af69aea3e50abbb253bc8769ad51d5563aa5f90753ccfad2856d5c34d603cb059707d4febae3eebf435eb2623113fccfbbcd6663eb405a0a79fa8d1bbed10361ae96e5af87fc11b43fb779e5f256d7dfd0fcf270769aa2ec8e9f1e61a838610219ffff0393d49b97d3dcfa8b2ceb13f1717c174261e6d9608a70fdd3661c0cb203fcedb9035cfc726c03ca307f062f6ae5c1d9566c795b97b0fc5ae4840dccda9859da895e033fb42869b3e0c0cc8bb1b1aa4e98fa49e0d622e3d35f6bc5ce0d43330141a26a033e4ce6dfa47eae5ce9354f91e8c9b1178cb216873516b2e6fc26b7f90d1afee30219ffff031e5bf6ac66409f6ce47bfa62893f7e2d61c6f326ee9546a3dedf4f70f423874c033da0be20532b34ee848e55242d8ac80693ff344778f2052c051207d31a804c38033a2f7bbaa7cb4f5708d37766aa905199ef4eac8706a2fea2565b92e38415d546038f947ef6e7bd822f5a006030fbc1b3faebea879ac886480f6164b9cea8bc41e403fdc889f6e043efd541754317914d0d4c317dab4e6318d0eea079bc27311a3a6b03b286cbc4fa78519645ed5fdb6e2cea5ae30ce6f47f31bcea8959f9549a45008f0305d82db1998e084c5b251bbfaba69d8d9a262893077999e9c683c40fb1b529060318f2297f2ae82b9696c02e24024d93af1eb1ee4bd53353da241b1427011a5b2e0352c87b9909aba033c46a2987d5112cfdebf299f6e65a547eb69e40ce95dda15203e66fde2397f0fc5a08b376fbba94176fb42a86e9906a41965448cc7d455fd21603aeb6457961275420f96ba4530c010b619326d000b806732a48623493443062df033c0f76f4afac5139c276fa294ee02f8bc297174fb226ffbf3fca36483a01383003235e2f9a1c6432f8cfa7fddef58e83ae005f6d91ddff4477da6c496f392ee9cd03454bebb412f3c5ab44a6682481614297f8bb181e02051c12a5c3c4bc5912d7cf0371adccc6cc4dbcbf48efe6ec001c97414a05a1dad94ad6c80ba4cfc05eb42fe8039df0d3cd4611c4da7001ca616ba8e1f72a84758481795dfc931615b11bd821a3039691b5cfeff8b6e45252ea445935f730e76ce0d24ecd67d8dcaab9dd52ecce7a03c5ffdde6fc49181f56c9c5e599718fc46d79615bee1a6969b6ec005dd836c9ef03960dfd5fc42ca133f396e19d0404e6d9840abf31201f9e7c04f712b7be092c480322fe1ed3a81ecfbd186b5276c4c92878011ec3063b213e49bda41fa39cdb4730031ee3a46ac26f55068e95049ba0eaef2d9dcb40b7ea2eccbcd853ee19e546731503c3f93f6cff3d3525c1b3b2fe27e166c89e60780cf2c2eb92e5673a691721f3d50357830dc960826cc6b4adcf714099264d1008951a2b7534fd0eb33d2956c1ec08030d6fcd87512a04b9c28af0c11ced6d7f7d6a9ade07384a2f1b4eca0825a54f1103dba5618d3d77d71cf5de48f7f1770c6021588fdf8dd0d4b5d8b90d3f627e566103194075181816ff76d54ea3ebca827f0a51a3292880c1e65b369f4f646aebcc43033d6470e2e9091c1f187dfb08f57dafa38b45b069560af836b759398031be5de00345d121fb088ebca13278c26019f1c69957c7fe85fc54200456389e7444e144ff03a2a71a3267e9d5052f9dcfb36d8bad122f77a32fbcc52957ae0bee9aa0e6250303f0e763cdae7df70d9b7ff0b2a2a5695801c284c5705fc2ad3bb6208d6e79a3df0397cf99b0188070961b209cd9314d1ff6fc7e4badf24591b09b23226ec9b78d3c04595dad60806040526004361015610022575b3615610018575f80fd5b610020611de5565b005b5f3560e01c80156100ec57806306fdde031461013757806346423aa7146101325780635b34b9661461012d5780637423eb3c1461012857806379df72bd1461012357806387201b411461011e5780638814773214610119578063a817440414610114578063a900866b1461010f578063b3a34c4c1461010a578063e7acab2414610105578063ed98a57414610100578063f07ec373146100fb578063f2d12b12146100f6578063f47b7740146100f1578063fb0f3ee1146100ec5763fd9f1e100361000e57610f46565b610191565b610ec2565b610ded565b610d89565b610cc6565b610c0a565b610b8b565b610b24565b610a72565b6108e5565b6107d6565b6105b2565b610493565b6103f0565b610372565b61032e565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9060208282011261018d576004359167ffffffffffffffff831161018d57826102409203011261018d5760040190565b5f80fd5b61019a3661013c565b5061012435600381169060021c60018111913415830361032857600382117f0203020301010000000000000000000000000000000000000000000000000000831a61020f8160a0840260240135877d010102030000000000000000000000000000000000000000000000000000881a87611e80565b9490928060051b6101c4013596610225816106b9565b61027557505060443560243517610268576102509461024391612584565b61024b612649565b6126c5565b610258612715565b60405160018152602090f35b0390f35b636ab37ce75f526004601cfd5b61024b925061025096916102bd9161028b611201565b93848361029882956106b9565b600281036102c257506102b8916101043560e4353360843560c4356122a2565b6123b1565b61245b565b6102cb816106b9565b600381036102eb57506102b8916101043560e4353360843560c4356121af565b806102f76004926106b9565b03610312576102b891606435604435608435336024356122a2565b6102b891606435604435608435336024356121af565b34611e70565b3461018d575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d57602080526707536561706f727460475260606020f35b3461018d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d576004355f526001602052608060405f20546040519060ff81161515825260ff8160081c16151560208301526effffffffffffffffffffffffffffff8160101c16604083015260881c6060820152f35b3461018d575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5761042661275a565b335f525f602052602060405f2080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43014060801c018091556040518181527f721c20121297512b72821b97f5326877ea8ecf4bb9948fea5bfcb6453074d37f833392a2604051908152f35b3461018d575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5763929eee1460018154147f00000000000000000000000000000000000000000000000000000000000000019081156105a9575b5061057f575f8080807f0000000000000000000000002c023f954ac2029e8941f30defc209ef5c994c5f600a5a04fa3d1561057a573d61053b610536826111c7565b611148565b9081525f60203d92013e5b15610550575f9055005b60046040517f70a4078f000000000000000000000000000000000000000000000000000000008152fd5b610546565b60046040517ff45b98b0000000000000000000000000000000000000000000000000000000008152fd5b9050155f6104f4565b3461018d577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60208136011261018d576004359067ffffffffffffffff821161018d5761016090823603011261018d5761062663ffffffff6020921661014461061d82600401615c33565b91013590611245565b604051908152f35b9181601f8401121561018d5782359167ffffffffffffffff831161018d576020808501948460051b01011161018d57565b73ffffffffffffffffffffffffffffffffffffffff81160361018d57565b60a4359061068a8261065f565b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600611156106c357565b61068c565b60809080516106d6816106b9565b83528160208201519173ffffffffffffffffffffffffffffffffffffffff80931660208601526040810151604086015260608101516060860152015116910152565b9081518082526020808093019301915f5b828110610737575050505090565b909192938260e0600192604088516107508382516106c8565b8085015173ffffffffffffffffffffffffffffffffffffffff1660a0840152015160c082015201950193929101610729565b909291604082019160408152845180935260608101926020809601905f5b8181106107c0575050506107bd9394506020818403910152610718565b90565b82511515865294870194918701916001016107a0565b60e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5767ffffffffffffffff60043581811161018d5761082190369060040161062e565b505060243581811161018d5761083b90369060040161062e565b505060443581811161018d5761085590369060040161062e565b505060643590811161018d5761086f90369060040161062e565b505061088861087c61067d565b60c4359060843561105c565b9061026460405192839283610782565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261018d576004359067ffffffffffffffff821161018d576108e19160040161062e565b9091565b3461018d576108f336610898565b5050600461090b63ffffffff600435166004016115e1565b9061091461275a565b8151905f92361515935b8381106109315760405160018152602090f35b61093b81836116ac565b519081519184608084015161094f816116c0565b610958816116c0565b14610a5757825173ffffffffffffffffffffffffffffffffffffffff169261097f81612dad565b610991815f52600160205260405f2090565b9461099d8a8784612e07565b506109b06109ac875460ff1690565b1590565b6109c4575b50505050600191505b0161091e565b60608301515161014084015103610a5257600195610a0c610a37928460207ff280791efe782edcf06ce15c8f4dff17601db3b88eb3805a0db7d77faf757f0498015191612ec8565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b610a46604051928392836117f1565b0390a15f8080806109b5565b612ebb565b50600191506109be565b9060206107bd928181520190610718565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5760043567ffffffffffffffff80821161018d57610abc368360040161062e565b505060243590811161018d5761026491610b1091610add368260040161062e565b5050610b08610af563ffffffff8094166004016118e9565b92610afe6111a4565b9216600401611948565b9033926119ce565b604051918291602083526020830190610718565b3461018d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5773ffffffffffffffffffffffffffffffffffffffff600435610b748161065f565b165f526002602052602060405f2054604051908152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60408136011261018d576004359067ffffffffffffffff821161018d57604090823603011261018d57610c00610bec63ffffffff60209316600401611aa3565b610bf46111a4565b90339160243591611bf5565b6040519015158152f35b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60808136011261018d576004359067ffffffffffffffff9081831161018d5760a090833603011261018d5760243590811161018d5761026491610cb491610c75368260040161062e565b5050610ca460643592610c878461065f565b610c9a63ffffffff809216600401611d2f565b9216600401611426565b9133811502019160443591611bf5565b60405190151581529081906020820190565b60a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d57600467ffffffffffffffff813581811161018d57610d103682850161062e565b50506024359082821161018d57610d293683860161062e565b505060443592831161018d57610d7a61088894610d483686830161062e565b5050610d5c63ffffffff80941682016118e9565b92610d7281610d696111a4565b961683016114b5565b9516016114b5565b60843593339360643593611514565b3461018d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d576020610626600435610dc98161065f565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b60807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d5767ffffffffffffffff6004803582811161018d57610e373682840161062e565b50506024359083821161018d57610e503683850161062e565b505060443593841161018d5761026493610eaa610eb694610e733684830161062e565b5050610e99610ea260643595610e888761065f565b63ffffffff928380921685016113c7565b97168301611426565b931601611948565b913381150201926119ce565b60405191829182610a61565b3461018d575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261018d57610ef8613c1a565b60605f5260205273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000f9490004c11cef243f5400493c00ad63166040526303312e3660635260a05ff35b3461018d57610f5436610898565b90610f5d61275a565b5f915f5b818110610f7e5783610f795760405160018152602090f35b613cf0565b80610f8c6001928486611d8e565b94610f9686611dce565b907f6bacc01dbe442496068f7d234edd811f1a5f833243e0aec824f86ab861f3c90d610fef610fc760208a01611dce565b92610fd460808b01611dd8565b60048533148733141715911417179861014061061d82615c33565b91611031611005845f52600160205260405f2090565b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016610100179055565b60405192835273ffffffffffffffffffffffffffffffffffffffff908116931691602090a301610f61565b906108e1929163ffffffff9161107883600435166004016113c7565b926110898160243516600401611426565b6110a961109c83604435166004016114b5565b92606435166004016114b5565b92338115020194611514565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040519060a0820182811067ffffffffffffffff82111761110257604052565b6110b5565b60405190610160820182811067ffffffffffffffff82111761110257604052565b604051906040820182811067ffffffffffffffff82111761110257604052565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f604051930116820182811067ffffffffffffffff82111761110257604052565b67ffffffffffffffff81116111025760051b60200190565b6040516020810181811067ffffffffffffffff821117611102576040525f815290565b67ffffffffffffffff811161110257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b611209611128565b90602082526020828136910137565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b91909161014081018051917fa66999307ad1bb4fde44d13a5d710bd7718e0c87c1eef68a571629fbf5b93d02604051604083018051928351926020809501905f915b868684106113865750505050506040519160051b8220917f42d81c6929ffdc4eb27a0808e40e82516ad42296c166065de7f812492304ff6e9093606086019481865101905f915b8a83106113445750505050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08660051b604051209401978851907ffa445660b7e21515a59617fcd68910b487aa5808b8abda3d78bc85df364b2c2f8a5282519383528451958552865261018089209852525252565b8380827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0600194510180519089815260e08120875252019201920191906112ce565b80827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0600194510180519088815260c0812087525201920192019190611287565b9081359163ffffffff90641fffffffe08460051b1690604051906020936020848401016040528083971683525f5b84811061140457505050505050565b8061141a87848180958801013516860101611d2f565b828287010152016113f5565b9081359063ffffffff92600593641fffffffe08460051b16906040805191602094858585010183528184981684525f5b8581106114695750505050505050909150565b8083888093850101351683018551908360a091828401895287608093848484018737820135160101908d60018884351601901b8851928184018a52833782015282828801015201611456565b9081359163ffffffff90641fffffffe08460051b1690604051906020936020848401016040528083971683525f5b8481106114f257505050505050565b8061150887848180958801013516860101612879565b828287010152016114e3565b96948093949296611528923615908a6128d4565b93909186519082519261154361153e8585612cee565b612d4b565b98865f5b8b8d8783106115ab5750505050505f5b8481106115735750505050508461156f9495966147a8565b9190565b806115a48b611590868f611589600197896116ac565b5190614665565b61159d88850180936116ac565b528c6116ac565b5001611557565b826115c76001956115cd936115c0848a6116ac565b519061461f565b926116ac565b526115d8818d6116ac565b50018790611547565b9081359163ffffffff641fffffffe08460051b1690604090815190602094858584010184528183981683525f5b85811061161e5750505050505050565b80838880938501013516830161165d838851928984016101a085018b5261164e81848b8186013516850101613046565b8452878a820135160101613078565b838201528282870101520161160e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8051156116a75760200190565b61166d565b80518210156116a75760209160051b010190565b600511156106c357565b5160058110156106c35790565b9081518082526020808093019301915f5b8281106116f6575050505090565b909192938260a06001928751805161170d816106b9565b82528084015173ffffffffffffffffffffffffffffffffffffffff1684830152604080820151908301526060808201519083015260809081015190820152019501939291016116e8565b9081518082526020808093019301915f5b828110611776575050505090565b909192938260c06001928751805161178d816106b9565b82528084015173ffffffffffffffffffffffffffffffffffffffff9081168584015260408083015190840152606080830151908401526080808301519084015260a091820151169082015201950193929101611768565b9060058210156106c35752565b9081526040602082015261181e60408201835173ffffffffffffffffffffffffffffffffffffffff169052565b602082015173ffffffffffffffffffffffffffffffffffffffff1660608201526101806040830151611895611861610160928360808701526101a08601906116d7565b60608601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08683030160a0870152611757565b936118a8608082015160c08601906117e4565b60a081015160e085015260c081015191610100928386015260e082015192610120938487015282015192610140938487015282015190850152015191015290565b9081359163ffffffff90641fffffffe08460051b1690604051906020936020848401016040528083971683525f5b84811061192657505050505050565b8061193c87848180958801013516860101611aa3565b82828701015201611917565b9081359163ffffffff641fffffffe08460051b1690604090815190602094858584010184528183981683525f5b8581106119855750505050505050565b8083888093850101351683016119be838851928984018a526119af82898184013516830101612879565b8452878a820135160101612879565b8382015282828701015201611975565b939290816119e39186519036151590886128d4565b9190805160051b6040017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082018051907f4b9f2d36e1b4c93de62cc077b00b1a91d84b6c31b4a14e012718dcca230689e76020936020835282a152845190611a4a82612d4b565b955f5b838110611a68575050505083611a649495966147a8565b5090565b80611a87818c611a7a600195876116ac565b5187815191015191614bed565b611a91828b6116ac565b52611a9c818a6116ac565b5001611a4d565b906040516102008101604052611ae9819360a08301808452611acf63ffffffff91828435168401613046565b600160208501526001604085015260208201351601613078565b6060820152608060405191602083016040525f83520152565b611b0a611128565b9060018252815f5b60209081811015611b9557602091611b286110e2565b90611b31611107565b5f81525f828201526060905f60408381840152838084015260809282848201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152865281858701528501528180850152830152828501015201611b12565b505050565b611ba2611128565b600181529060203681840137565b90611bbd6105368361118c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0611beb829461118c565b0190602036910137565b909192611cfd93825192608084015191611c0e836116c0565b611c17836116c0565b60048314611c248161315c565b36151590611c5d611c3583866131d2565b93919290929a611c43611b02565b88611c4d8261169a565b52611c578161169a565b506133d1565b611c698884848c61353b565b611c7a611c74611b9a565b976116c0565b611d0a578593611ca08694611ca8948a94611c9a8e611cb89c819c6136db565b8961383b565b505b88613944565b82611cb28361169a565b52613a36565b815173ffffffffffffffffffffffffffffffffffffffff165b602083015173ffffffffffffffffffffffffffffffffffffffff16906060604085015194015194613b3b565b611d05612715565b600190565b505084965091611ca8611d27611cb895939460808401518961361c565b978894611ca2565b9060405161020081016040526080611d898294604060208201602086013760a08401808552611d6863ffffffff91828435168401613046565b611d79816060840135168301613078565b6060860152838201351601613078565b910152565b91908110156116a75760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea18136030182121561018d570190565b356107bd8161065f565b35600581101561018d5790565b7f000000000000000000000000000000000000000000000000000000000000000180611e51575b15611e1357565b63929eee14805480159182611e42575b5060031415901516611e3157565b63a61be9f05f52346020526024601cfd5b6002905c03611e31575f611e23565b600263929eee145c0315611e0c5763a61be9f05f52346020526024601cfd5b63a61be9f05f526020526024601cfd5b93929190611e8c6130a2565b611e94613cfd565b6101643561014435428211154282111761219c57505061020435610264351061218f57927f42d81c6929ffdc4eb27a0808e40e82516ad42296c166065de7f812492304ff6e6080528360a0526060602460c037604060646101203760e0608090812061016052600161026435016102043560051b6102a08101919091526102c081019586526024906102e00137610160938260a0528360c0525f60e0525f915f5b8261020435821015611f925790604060019261010060a060208560061b99818b610284018537858b61028401610120376102a48b0135179c019760e0608020895201978989528a60c0840152610284019101370195929195611f35565b509550969590916001610204350160051b610160206060525b8261026435871015611fea5790604060a060019301948686528760c08201526101008960061b610284019101376102a48760061b013517950194611fab565b5092509593505073ffffffffffffffffffffffffffffffffffffffff915011612182577fa66999307ad1bb4fde44d13a5d710bd7718e0c87c1eef68a571629fbf5b93d026080528060a052606060c460c03760206101046101203760c06080205f5260205f2060e0526103c0608435916120818373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b547ffa445660b7e21515a59617fcd68910b487aa5808b8abda3d78bc85df364b2c2f6080526040608460a03760605161010052856101205260a0610144610140376101e090815261018060808181206102043560051b928301818152336101a08501526101c084019290925261012083850152600161020084015261022083019490945292949060609060c49061024001377f9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f3160a06102643502938460a435940190a35f6060526102043560051b010160405261156f61216a61216383613d53565b9483613d9e565b93710100000000000000000000000000000100019055565b6339f3e3fd5f526004601cfd5b63466aa6165f526004601cfd5b6321ccfeb75f526020526040526044601cfd5b9590919293946121be86613e6f565b6121c88183613e83565b806121d857505061068a94613f63565b90606495969493929160208251145f1461228f5760c0906001906040845260208401527f4ce34aa2000000000000000000000000000000000000000000000000000000006040840152602060448401526001888401525b02019360037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc48601527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe48501526004840152602483015260448201520152565b5060c0868201600181510180915261222f565b919396959092946122b38183613e83565b806122d3575050600186036122cd5761068a949550614071565b85614061565b81519697966064969395939492919060200361238c5760c0906001906040845260208401527f4ce34aa2000000000000000000000000000000000000000000000000000000006040840152602060448401526001888401525b02019360027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc48601527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe48501526004840152602483015260448201520152565b5060c0868201600181510180915261232c565b919082039182116123ac57565b611218565b919082156124485760843592610104353360c43560e4355b612443578360051b6101e40335936102643560061b905f5b8281106123f6575050509561068a9596614133565b87876102848301358c85612422575b9184939161241c936102a46040970135908a614133565b016123e1565b989181612436604096959361241c9561239f565b9a91935091939450612405565b610268565b33926064356084356024356044356123c9565b604081510361258157602081015160c06064830151026044019060205f73ffffffffffffffffffffffffffffffffffffffff9360405194807f00000000000000000000000000000000f9490004c11cef243f5400493c00ad631674ff00000000000000000000000000000000000000001783528484527f023d904f2503c37127200ca07b976c3a53cc562623f67023115bf311f58050596040526055600b2016946040528180526040860182865af15f519015612568577fffffffff000000000000000000000000000000000000000000000000000000007f4ce34aa20000000000000000000000000000000000000000000000000000000091160361256357505060209052565b61543d565b82612571614f3d565b63d13d53d45f526020526024601cfd5b50565b60c43592916101043560e43560843583156126005761068a95966125a784613e6f565b604051957f4ce34aa200000000000000000000000000000000000000000000000000000000875260206004880152600160248801526044870152606486015260848501523360a485015260c484015260e4830152614272565b9195925092806126116002926106b9565b03612631576001850361262b5761068a9394503391614071565b84614061565b9084929161264261068a9596613e6f565b3391613f63565b346064355f6102643560061b5b80821061268d575050818111612688576126728160843561435b565b80821161267d575050565b61068a91033361435b565b6126b8565b9092836102840135938185116126b8576126b18560409303956102a483013561435b565b0190612656565b638ffff9805f526004601cfd5b919060a435908133141590600460018211911016166126e357505050565b61270f92601c83516317b1f9428552600163ffffffff82165263fb5014fc60605260801c930191614390565b5f606052565b7f00000000000000000000000000000000000000000000000000000000000000016127515763929eee1480541561274c5760019055565b5f905d565b5f63929eee145d565b7f0000000000000000000000000000000000000000000000000000000000000001806127b9575b1561278857565b63929eee1480549081156127ae575b506001106127a157565b637fa8a9875f526004601cfd5b5c6127a1575f612797565b63929eee145c1561278157637fa8a9875f526004601cfd5b90813563ffffffff811692604051938085526020641fffffffe0819460051b16860101928392602060a080940291018537602086015b8381106128175750505050604052565b848152938201938101612807565b90813563ffffffff811692604051938085526020641fffffffe0819460051b16860101928392602060c080940291018537602086015b83811061286b5750505050604052565b84815293820193810161285b565b908135916040926040519363ffffffff82168552602080641fffffffe08460051b16870101936020643fffffffc0869560061b1691018537602086015b8381106128c65750505050604052565b8481529382019381016128b6565b939492915f946128e26130ff565b5f357c4000000000000000000000000000000000000000000000000000000000169681519361291085611bb0565b9860205b6001870160051b8110612b5757507c400000000000000000000000000000000000000000000000000000000114612b5257612954908392969594936133d1565b5f946020945b6001850160051b8610612979575050505050501561297457565b614612565b909192939495868a01918251918215612b435788860151938215612ad057878d8b608060046129aa828b51016116ca565b6129b3816116c0565b14612ae75750916109ac91877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6129ef9560051c01918a61447b565b612ad0576020850190612a556109ac612a1784516effffffffffffffffffffffffffffff1690565b60408901516effffffffffffffffffffffffffffff1690612a398d8b516145dc565b916effffffffffffffffffffffffffffff80911691168961383b565b612ab957505050907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612aa5925b01925184611cd1825173ffffffffffffffffffffffffffffffffffffffff1690565b6001602081975b019594939291905061295a565b602093955060019450905f80929b939b5252612aac565b6001935060208093955f80939c949c520152612aac565b915050612afc9295508651908701519061361c565b8093528215612b315750907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff612aa592612a83565b97600192505f60208093950152612aac565b97602091935060019250612aac565b61446e565b8a81860151612b6688826131d2565b6effffffffffffffffffffffffffffff821660208501529093909291908415612ce1576effffffffffffffffffffffffffffff84166040840152850152805160a08101519160c082015191608001519e8f612bc0816116c0565b600110179e815160400151908151905f925b828410612c6b5750505050606090510151938451945f5b868110612c0157505050505050506020905b01612914565b80612c0e600192846116ac565b516080810160a0612c2182518b896143f9565b92612c4a60608201948c8651865181145f14612c5a5750508086525b8a8c36151592885161442b565b8094520190815190525201612be9565b612c64918c6143f9565b8652612c3d565b90919299612c798b836116ac565b519060048410825110179a608082018051612c95908b8d6143f9565b92606001908a8251948d835187145f1496612cc493600198612cd1575050508084525b8a8c361592865161442b565b8092525201929190612bd2565b612cda926143f9565b8452612cb8565b5050505050602090612bfb565b919082018092116123ac57565b604051906060820182811067ffffffffffffffff821117611102576040525f604083612d256110e2565b838152836020820152838382015283606082015283608082015281528260208201520152565b90612d586105368361118c565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612d86829461118c565b01905f5b828110612d9657505050565b602090612da1612cfb565b82828501015201612d8a565b6060810151516101408201511161218f5780612e0173ffffffffffffffffffffffffffffffffffffffff6107bd93511673ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b90611245565b91905460ff8160081c16612e63576effffffffffffffffffffffffffffff8160101c169081612e3a575b50505050600190565b60881c1115612e4a578080612e31565b612e5357505f90565b6310fda3e15f526020526024601cfd5b50612e6d57505f90565b631a5155745f526020526024601cfd5b91905460ff8160081c16612e63576effffffffffffffffffffffffffffff915060101c16612eab5750600190565b63ee9e0e635f526020526024601cfd5b632165628a5f526004601cfd5b92919033841461304057612eda613c1a565b93612f1482867f19010000000000000000000000000000000000000000000000000000000000005f5260025260225260425f20905f602252565b908351926002601f601d860116106102e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9d860110165f146130325760018085169081604103927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf60059388010160051c93808952880160209384820151928560238560e81c94019460e31c169081528584519118526001925b8684106130135750505050509661300d9161068a9798612fd160405f209261570a565b5f525260405f20907f19010000000000000000000000000000000000000000000000000000000000005f5260025260225260425f20905f602252565b90614a07565b85859101938684821c841b1660405f2081528786519118520192612fae565b5061068a9495508190614a07565b50509050565b611d8960609161016081853763ffffffff6130688160408401351683016127d1565b6040860152838201351601612825565b9060206040519263ffffffff813563ffffffe0601f82011692848401908737168452830101604052565b7f00000000000000000000000000000000000000000000000000000000000000016130ee5763929eee14805480156130e1576001036127a15760029055565b50805c6127a1576001905d565b63929eee14805c6127a1576001905d565b7f000000000000000000000000000000000000000000000000000000000000000161314b5763929eee148054801561313e576001036127a15760039055565b50805c6127a1576002905d565b63929eee14805c6127a1576002905d565b7f00000000000000000000000000000000000000000000000000000000000000016131ab5763929eee14908154801561319d576001036127a1576002019055565b50815c6127a157600101905d565b63929eee1490815c6127a157600101905d565b90805b6131c9575090565b809106806131c1565b9190918051916131ef6109ac8560a086015160c087015190614d1d565b6133bc576effffffffffffffffffffffffffffff6020816020850151169482604086015116946080820160048151613226816116c0565b61322f816116c0565b146133a35787158789111761339e575191613249836116c0565b600180931615878910166133995761326081612dad565b986132816109ac6132798c5f52600160205260405f2090565b92838d612e07565b61338b5754918960ff841615613357575b5050508060881c918483159260101c1691156132b0575b5050505050565b86979614613343578187146133265786829102950295029385019484861185870302809103958386116132e4575b806132a9565b856132fe926132f8929894959798036131be565b826131be565b8015018091049404928311613315578080806132de565b601190634e487b715f52526024601cfd5b925050508291939201828082119103029003915f808080806132a9565b8103955093505f91508190508080806132a9565b606061337a613383945173ffffffffffffffffffffffffffffffffffffffff1690565b92015191612ec8565b5f8089613292565b505f97508796505050505050565b614d4b565b614d3e565b50505050509250600191021861339e5760019081908290565b5f9350839250829150565b600211156106c357565b81518151925f5b82811061346f575050505f5b8281106133f057505050565b806133fd600192846116ac565b5161343161341d60208301516effffffffffffffffffffffffffffff1690565b6effffffffffffffffffffffffffffff1690565b15613469576134639051604060808201519161344c836116c0565b61345b83606083015187614e36565b015183615d44565b016133e4565b50613463565b61347981836116ac565b518051868110156135285761348e90866116ac565b516020906134b061341d838301516effffffffffffffffffffffffffffff1690565b1561351d57519060409081830151918401519263bfb3f8ce918501516134d5816133c7565b6134de816133c7565b61350a575b5081518310156135025750916134fc9160019493614d74565b016133d8565b5f526004601cfd5b9050606091500151636088d7de5f6134e3565b5050506001906134fc565b6020820151613536816133c7565b614d58565b60a08082015160c0830151604084018051513615985f989597959492895b8381106135d7575050505060809660046080870151613577816116c0565b1016612b52576060948501805151981593905f5b8a811061359f575050505050505050505050565b808a8a8a8a6135cb8b8b8b8b6135b860019b8d516116ac565b51968701958651998801998a5190614e92565b9052015190520161358b565b82888d838551906135e7916116ac565b519d8e516135f4816106b9565b15179d60608101918a8a8d85519460800196875161361196614e92565b905252600101613559565b919091606081019182515161014083015103612ebb575f8061365c613655855173ffffffffffffffffffffffffffffffffffffffff1690565b9685614ed1565b9082885af19361368a8173ffffffffffffffffffffffffffffffffffffffff165f52600260205260405f2090565b9081549160018301905560601b1893156136c25750604001906136b08251825190615c7f565b9390916136bc57525290565b84614f86565b9150506136ce57505f90565b6136d6614f3d565b614f86565b91825190608082015160058110156106c357602083019261372073ffffffffffffffffffffffffffffffffffffffff9283865116331415906004600182119110161690565b61372d575b505050505050565b61381a601c91608061382c980151965f6040519889936301e4d72a85526020808601528860408601523360608601528051608086015260a081015161012086015261014060c08201518187015260e08201516101608701528060a08701526138016040830151936137d76137a761018096878b0190615b45565b80850160c08b01526137c2606087015188838d010190615bb9565b019184830160e08b015286838b010190615ba0565b0193610100928501838901528085890101946137f38689615c03565b016101648101980101604052565b828660401b8d60801b1717910152525160051b9061239f565b9463fb5014fc60605201925116614390565b5f6060525f8080808080613725565b61384d815f52600160205260405f2090565b935f938554948560881c90811561393a57506effffffffffffffffffffffffffffff809660101c1681831461392b578282910292029402019383851190808511818711176138f3575b505b6138b057505060881b9060101b176001179055600190565b92509250505f146138ee576040517f10fda3e10000000000000000000000000000000000000000000000000000000081526004810191909152602490fd5b505f90565b93946138ff86826131be565b80150180910495049380851190861117613919575f613896565b634e487b715f5260116020526024601cfd5b92955050920192828411613898565b9550509293613898565b92919092613950611201565b916040820190815151915f5b8381106139ed5750505050606080910190815151915f5b83811061399c575050505061398991925061245b565b47806139925750565b61068a903361435b565b6139a78183516116ac565b5190858883516139b6816106b9565b6139bf816106b9565b156139da575b906139d491600194339061516a565b01613973565b50504784830151116126885785886139c5565b80613a30876139ff60019486516116ac565b51866080820152613a24895173ffffffffffffffffffffffffffffffffffffffff1690565b6101208a01519161516a565b0161395c565b919091805192608084019182519260058410156106c357613a846020870194613a73865173ffffffffffffffffffffffffffffffffffffffff1690565b331415906004600182119110161690565b15613aaf575050613a9d9061010061270f950151615416565b9290915163fb5014fc5b606052614390565b60049195935051613abf816116c0565b613ac8816116c0565b03613af55761270f93613ae89183519360808560601b9301519086615392565b9290916393979285613aa7565b50505050565b9081518082526020808093019301915f5b828110613b1a575050505090565b909192938260a082613b2f60019489516106c8565b01950193929101613b0c565b9094939173ffffffffffffffffffffffffffffffffffffffff91604090604051956080926080880192885285602092166020890152608060408901528651809352602060a089019701935f915b848310613bd6575050505050508282859493613bd193867f9d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31989603606087015216971695613afb565b0390a3565b90919293949784836001928b518051613bee816106b9565b8252808401518c1684830152858101518683015260609081015190820152019901959493019190613b88565b467f000000000000000000000000000000000000000000000000000000000000000103613c65577ffce34bc6e1752c1117e5063116d25cad2fa2bdcf15ff2d2e275eece7dc31ba6490565b6040516080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f527f32b5c112df393a49218d7552f96b2eeb829dfb4272f4f24eef510a586b85feef6020527f95f740a33d720b7cd93c75d515ac95ca3bbaa2594cce46ea48e00974ea8fcd14604052466060523060805260a05f20916040525f60605260805290565b63fed398fc5f526004601cfd5b7401000000000000000000000000000000000000000060243560c4351760a43560843517171060186101243510166102643560061b61026001610244351461024061022435146020600435141616161561218257565b90815f52600160205260405f2091613d6e3615158483612e7d565b5060ff83541615613d7c5750565b61068a90613d95602463ffffffff610244351601613078565b90608435612ec8565b91905f9260a43591823314159060046001821191101616613dbd575050565b9092506102043560051b90613e5d82608001926301e4d72a8452602060a08201528260c08201523360e082015260843561010082015260606101446101a08301376101e06101408061012084015282015260a06102643502956102a08701610160830152868201935f6103608601526102c08801610180840152806103a06103808701965f8852015263fb5014fc606052609c6103048901930191614390565b5f60605261032482940160801b179052565b15613e7657565b6391b3e5145f526004601cfd5b90602082015103613e915750565b61068a9061245b565b9060649492939160208251145f14613f505760c0906001906040845260208401527f4ce34aa2000000000000000000000000000000000000000000000000000000006040840152602060448401526001878401525b02019260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc48501527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4840152600483015260248201525f60448201520152565b5060c08582016001815101809152613eef565b9293919091833b1561405057604051946080519260a0519460c051967ff242432a000000000000000000000000000000000000000000000000000000005f528160045282602452836044528460645260a06084525f60a4525f8060c48180855af115613fe057505050505060805260a05260c0526040525f606052565b883d614004575b5063f486bc875f5260205260405260605260805260a05260a4601cfd5b601f3d0160051c9060051c908060030291808211614037575b505060205a91011061402f5785613fe7565b3d5f803e3d5ffd5b8080600392028380020360091c9203020101868061401d565b83635f15d6725f526020526024601cfd5b6369f958275f526020526024601cfd5b929190833b1561405057604051937f23b872dd000000000000000000000000000000000000000000000000000000005f528160045282602452836044525f8060648180855af1156140c957505050506040525f606052565b843d6140ef575b5063f486bc875f52602052604052606052608052600160a05260a4601cfd5b601f3d0160051c9060051c90806003029180821161411a575b505060205a91011061402f57846140d0565b8080600392028380020360091c92030201018580614108565b9394909461414084613e6f565b61414a8183613e83565b80614264575050604051937f23b872dd000000000000000000000000000000000000000000000000000000005f5280600452816024528260445260205f60648180885af1803d15601f3d1160015f51141617163d15158116156141b7575b5050505050506040525f606052565b80863b1515166141a857908691156141da5785635f15d6725f526020526024601cfd5b908591156141fc575063988919235f526020526040526060526080526084601cfd5b3d614220575b5063f486bc875f526020526040526060525f60805260a05260a4601cfd5b601f3d0160051c9060051c90806003029180821161424b575b505060205a91011061402f5784614202565b8080600392028380020360091c92030201018580614239565b9061068a9592939491613e9a565b60205f61010473ffffffffffffffffffffffffffffffffffffffff9460405195807f00000000000000000000000000000000f9490004c11cef243f5400493c00ad631674ff00000000000000000000000000000000000000001784528585527f023d904f2503c37127200ca07b976c3a53cc562623f67023115bf311f58050596040526055600b20169560405282805282865af15f519015612568577fffffffff000000000000000000000000000000000000000000000000000000007f4ce34aa200000000000000000000000000000000000000000000000000000000911603612563575050565b61436482613e6f565b5f80808085855af115614375575050565b61437d614f3d565b63bc806b965f526020526040526044601cfd5b91602091935f91827fffffffff00000000000000000000000000000000000000000000000000000000825116958180525af1905f511490156143dd57156143d45750565b6080526024607cfd5b506143d4614f3d565b818102929181159184041417156123ac57565b919091828114614425578281830961441857614414916143e6565b0490565b63c63cf0895f526004601cfd5b50905090565b9392909384810361443d575050505090565b61445383614459930393420391828503906143e6565b946143e6565b83018093116123ac5781830304019015150290565b6312d3f5a35f526004601cfd5b9193929382519460808601519060058210156106c35760208701936144c473ffffffffffffffffffffffffffffffffffffffff9384875116331415906004600182119110161690565b6144d5575050505050505050600190565b6107bd976145c9836145d293601c956145b5608060409c0151958a8d519d8e6301e4d72a815260208082015201528c6060339101528c608082519101528c61012060a083015191015260a08d61014091829160c08501518382015260e085015161016082015201528d6040830151986145876145576101809b8c850190615b45565b80850160c085015261457260608701518d8387010190615bb9565b019184830160e08501528b8385010190615ba0565b01906101009282018382015289828201019485926145a5848a615c03565b019a6101648c019b830101604052565b8960401b9060801b1717910152525161239f565b60051b9061239f565b9401925116615450565b60808101519060058210156106c35773ffffffffffffffffffffffffffffffffffffffff60206001920151163314159111161790565b63d5da9a1b5f526004601cfd5b92919261462a612cfb565b938251156146545761068a9273ffffffffffffffffffffffffffffffffffffffff869216926155d1565b63375c24c15f525f6020526024601cfd5b92919092614671612cfb565b93805115614796575f92915f925f928091815160059060051b83015b8085106146be575050505050505080916060855101526146aa5750565b600103613919576391b3e5145f526004601cfd5b6020809501948551518751811015614739578190841b88010151908087510151916060928284835101519201511582518210151761478a575f918391871b0101519283019a8c8c518091019d8e9115911060011b17179b9a528c518d8a1560011461473e5750505060a090208718614739575b97969761468d565b6154c1565b83929a5090869160a0945182528b8401518c8301526040918285015183820152608080860151910152338c820152015220968401858118614780575b50614731565b855190525f61477a565b50505050979697614731565b63375c24c15f5260016020526024601cfd5b939190938051926147b884611bb0565b956147c1611201565b90600196600182510160051b6020928360205b8381106149a357505050505f5b878110614871575050506147f49061245b565b4780614861575b5061480d575b505050506107bd612715565b5f5b83811061481c5750614801565b8061483161482b8793896116ac565b51151590565b61483c575b0161480f565b61485c61484982856116ac565b518561485584826116ac565b5191613a36565b614836565b61486b903361435b565b5f6147fb565b61487b81876116ac565b518961489b61341d868401516effffffffffffffffffffffffffffff1690565b1561498f5791906148b56148af838e6116ac565b60019052565b5160408101518051905f5b82811061491f57505050606080910151908151915f5b8381106148e857505050505b016147e1565b9091929394506148f881836116ac565b5183810190815180614918575060a0015190528c949392919085016148d6565b83886156f4565b61492e818394959697936116ac565b5160806060820191825161494d575b0151905201908c949392916148c0565b608081018051908b90526149868d6149798b5173ffffffffffffffffffffffffffffffffffffffff1690565b6101208c0151908561516a565b8282015261493d565b9190505f61499d828d6116ac565b526148e2565b8083015180516060810151806149bf575b5050500184906147d4565b909193504710815115166126b857876149ff918460406149f68b8098015173ffffffffffffffffffffffffffffffffffffffff1690565b9101519161516a565b5f80806149b4565b909291925f80528451947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101805190876041035f9060018111958615614b84575b5050851485151516978815614a7d575b505050505050505015614a6857565b614a70614f3d565b634f7fb80d5f526004601cfd5b909192939495809798508452604082527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc8401938451957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc082019760205f60648b519c7f1626ba7e000000000000000000000000000000000000000000000000000000009e8f8c528d520189845afa9a8b614b28575b50505050505252525f80808080808080614a59565b5f5103614b355780614b13565b3b614a7057614b775760600190604164010100000083515f1a1a15911416614b645763815e1d645f526004601cfd5b631f003d0a5f52515f1a6020526024601cfd5b638baa579f5f526004601cfd5b909150604085019081519260608701515f1a90614bbb575b8652835260205f60808560015afa50838352898552525f515f80614a49565b50601b8360ff1c017f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84168352614b9c565b9192614bf7612cfb565b9380511583511517614d1057614c0b612cfb565b92614c178483876154ce565b8351926060840194855115614d055750614c53614c4b608086015173ffffffffffffffffffffffffffffffffffffffff1690565b8884896155d1565b865193604081015160408601511890602081015160208701511890518651181717614cf55750606084519301928351105f14614cc257509160206060614caf614cbc94614ca0839761169a565b519451905185519103976116ac565b51510151910151906116ac565b51015290565b60609150614cd5614cec9195939561169a565b5160206040614caf885188519003968451906116ac565b51015251905290565b63bced929d5f526020526024601cfd5b965050505050505090565b6398e9db6e5f526004601cfd5b428082111590831116939280614d36575b61219c575050565b508315614d2e565b635a052b325f526004601cfd5b63a11b63ff5f526004601cfd5b63133c37c65f526020526024601cfd5b614d71826106b9565b52565b90614d7e916116ac565b51805191614d8b836106b9565b6003831115614e29576040820180519093908015614dec57927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe614de692614ddf6060968787015190608088015191615af3565b0190614d68565b01519052565b50608082015151614e24576060927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe614de692614ddf565b615ae6565b6394eb6af65f526004601cfd5b815192915f5b848110614e4a575050505050565b614e5481836116ac565b518051614e60816106b9565b60036040809301511515600488141517911116614e805750600101614e3c565b8363a8930e9a5f52602052526044601cfd5b959192939490948587145f14614eaf575050506107bd93506143f9565b92919484614ec56107bd98614ecb9497866143f9565b936143f9565b9061442b565b9190608490614f38604051916398919765835260a0601c84019633602086015260806040860152614f246060614f0e604084015185890190615b45565b9283608001828901520151838388010190615b45565b018094608082016080820152010190615ba0565b010190565b3d614f4457565b601f3d0160051c60405160051c908060030291808211614f6d575b505060205a91011061402f57565b8080600392028380020360091c92030201015f80614f5f565b63939792855f526020526024601cfd5b92909260405193815190602092602060c087028801016040528587526020918660010160051b93848901928160010160051b019781810382821002820160010160051b9111975b81851061501a5750505b838310614ff5575050505050565b60a0859183858b01526080908181863e60608501518286015201920192019190614fe7565b9390949197869084838c0152608090818b873e60608087015190818489015288015111615047878961510a565b171799019360a08091019501910194909493929194614fdd565b9290604051938051908185119482808203911002820191602092602060e0820289010160405280885260209060010160051b928389019260010160051b01915b8382106150b057505050505050565b9091929380959782848b015260a090818a853e606083818c018487013e8481015190870151608080870151908901518015911417159111176150f2858861510a565b1717980195949360c0908101939190910191016150a1565b9081519160408101518015600385111661513a575b60208091604085015114948451149301519101511416161590565b5060408201517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9093019261511f565b9290918351615178816106b9565b615181816106b9565b615216575050506151c56151ac602083015173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff60408301519116176124435780606061520d608061068a94015173ffffffffffffffffffffffffffffffffffffffff1690565b9101519061435b565b90919260018151615226816106b9565b61522f816106b9565b036152a65760408101516124435761068a93615262602083015173ffffffffffffffffffffffffffffffffffffffff1690565b9073ffffffffffffffffffffffffffffffffffffffff606061529b608086015173ffffffffffffffffffffffffffffffffffffffff1690565b940151931691614133565b92600284516152b4816106b9565b6152bd816106b9565b0361532a57836152e7602061068a96015173ffffffffffffffffffffffffffffffffffffffff1690565b608082015173ffffffffffffffffffffffffffffffffffffffff169273ffffffffffffffffffffffffffffffffffffffff606060408501519401519416916122a2565b8361534f602061068a96015173ffffffffffffffffffffffffffffffffffffffff1690565b608082015173ffffffffffffffffffffffffffffffffffffffff169273ffffffffffffffffffffffffffffffffffffffff606060408501519401519416916121af565b9493919260c060a494615402614f38946040519663f4dd92ce8852601c88019a1860a088015260a060208801526153ec60606153d56040840151878b0190615b45565b928360a00160408b0152015185838a010190615bb9565b019160a083016060880152838388010190615ba0565b01809460a082016080820152010190615c03565b916125818360801c9263ffffffff601c818760401c16956317b1f942815201951690615c03565b631cf99b265f526020526040526044601cfd5b925f906020929593827fffffffff00000000000000000000000000000000000000000000000000000000825116968180525af1915f511491156154a95750156154995750600190565b63fb5014fc5f526020526024601cfd5b9050919091156154bc5750615499614f3d565b5f9150565b637fda72795f526004601cfd5b909291925f905f925f9180805160059060051b82015b8084106155005750505050505060608293945101526146aa5750565b6020979697809401938451518651811015614739578190841b8701015190808651015191606092828483510151920151158251821015176155c5575f918391871b010151928301998a519b8c81019c15908d1060011b17179a99528b518c89156001146155795750505060a090208618614739576154e4565b829950905f8493819360a0965184528186015182850152604093848701518582015260808088015191015201528d0152209583018481186155bb575b506154e4565b845190525f6155b5565b505050509695966154e4565b81519294935f93849384929091825b8160051b840181106156015750505050505060608293945101526146aa5750565b6020909796970190855182515110156147395781516020815160051b880101516020815192015160206040840151920151158251821015176156e9579060209160051b0101515f60608201998a519081158d8381011060011b17179b0199528b51871560011461569557506060902086189060408c0151610120820151189060208d01519051181717614739575b906155e0565b9160609397506040826101209351855260208101516020860152015160408401528560808401528c60208251910152015160408c01522093602084018281186156df575b5061568f565b825190525f6156d9565b50505096959661568f565b63a5f542085f526020526040526060526064601cfd5b600981106159a2576011811061585e57601581106157c057601781106157755760177f403be09941a31d05cfc2f896505811353d45d38743288b016630cce39435476a9114027f1d51df90cba8de7637ca3e8fe1e3511d1dc2f23487d05dbdecb781860c21ac1c1890565b60157fbb40bf8cea3a5a716e2b6eb08bbdac8ec159f82f380783db3c56904f15a43d049114027f3bd8cff538aba49a9c374c806d277181e9651624b3e31111bc0624574f8bca1d1890565b601381106158135760137f54b3212a178782f104e0d514b41a9a5c4ca9c980bf6597c3cecbf280917e202a9114027f5a4f867d3d458dabecad65f6201ceeaba0096df2d0c491cc32e6ea4e643500171890565b60117f2d7a3ed6dab270fdb8e054b2ad525f0ce2a8b89cc76c17f0965434740f673a559114027fc3939feff011e53ab8c35ca3370aad54c5df1fc2938cd62543174fa6e7d858771890565b600d811061590457600f81106158b957600f7fcc4886e37eedd9aacd6c1c2c9247197a621a71282e87a7cbc673f3736d9aa1419114027f1da3eed3ecef6ebaa6e5023c057ec2c75150693fd0dac5c90f4a142f9879fde81890565b600d7f8df51df98847160517f5b1186b4bc3f418d98b8a7f17f1292f392d79d600d79e9114027f6b5b04cbae4fcb1a9d78e7b2dfc51a36933d023cf6e347e03d517b472a8525901890565b600b811061595757600b7f32f4e7485d6485f9f6c255929b9905c62ba919758bbe231f231eaeecf33d810c9114027fbb98d87cc12922b83759626c5f07d72266da9702d19ffad6a514c73a89002f5f1890565b60097f6f0ec38c21f6f583ab7f3c5413c773ffd5344c34fde1d390958e438bf667448f9114027fd1d97d1ef5eaa37a4ee5fbf234e6f6d64eb511eb562221cd7edfbdde0848da051890565b60058110615a4857600781106159fd5760077fb58d772fb09b426b9dece637f61ca9065f2b994f1464b51e9207f55f7c8f59489114027f7ff98d9d4e55d876c5cfac10b43c04039522f3ddfb0ea9bfe70c68cfb5c7cc141890565b60057f25d02425402d882d211a7ab774c0ed6eca048c4d03d9af40132475744753b2a39114027f1c19f71958cdd8f081b4c31f7caf5c010b29d12950be2fa1c95070dc47e30b551890565b60038110615a9b5760037ff3e8417a785f980bdaf134fa0274a6bf891eeb8195cd94b09d2aa651046e28bc9114027fa02eb7ff164c884e5e2c336dc85f81c6a93329d8e9adf214b32729b894de2af11890565b60017f832c58a5b611aadcfa6a082ac9d04bace53d8278387f10040347b7e98eb5b3029114027fbf8e29b89f29ed9b529c154a63038ffca562f8d7cd1e2545dda53a1b582dde301890565b6309bde3395f526004601cfd5b9190915f5260209060205f20916020820191602081519160059260051b0101905b818410615b26575050505003615ae657565b8351808611821b9586529483189490945260405f209392820192615b14565b9081519081815260209283808083019301918460051b0101915b84838210615b72575050505060071b0190565b8160809251805185528281015183860152604080820151908601526060809101519085015201910190615b5f565b8051603f0163ffffffe016929161068a91849190615c23565b80519182815260208080808501948660051b01019201925b828110615be5575050505060a00260200190565b60a090818581835160045afa153d151761018d578201930192615bd1565b615c1f602092839283815180845260051b948593019101615c23565b0190565b829060045afa153d151761018d57565b604051906101608201604052615c71610140918281853763ffffffff615c608160408401351683016127d1565b604086015260608201351601612825565b806060840152519082015290565b90915f925f9260603d10915f905f925f905f938615615cdc575b8615615cab575b505050505050929190565b615cc4939495995060209850615cce9650880190614f96565b9590960190615061565b9092175f8080808080615ca0565b509450925060405f803e5f51926020948551943d878201113d8888011117968715615d08575b50615c99565b9450809650849192505f3e5f51908385813e835193808560a0028701013d10908360071b8801013d101761ffff8584171117955f80525f615d02565b815192915f5b848110615d58575050505050565b615d6281836116ac565b518051615d6e816106b9565b60036040809301511515600488141517911116615d8e5750600101615d4a565b8363d69293325f52602052526044601cfdfea164736f6c6343000818000a039713bfa1c5408465e96fc5b6862bd38c6d48c70446194f5093c8b820074598b8031050f262f5038c787051adf96d3d7bfb9ffda99a341cbf94679ea2051874148a03ba2877dda04ae315591ee3559215959ef47fb8b89da3604f7e10cd4aea0c94780360dbff94b81f53a4141018b8c9ef2f3986a17449cb4ee347dd0f632fc865ab6403fbcbfc81639aae6791c08603753a0fdd0179bda0ced19804303add89a3ec442f034dfe5c3f6d898946a1f3f340c8ecdf99d8505dc097e5a3c9f1005c99671728b503a314be5b67eb8bfb1636811a000ec19a6a16f550898e172161076746ebf50e9c030190e23c7e419cf178e1e3ca4f713e6a6162840afdc5a862ce1b2282ae0e609503ea754f16788ca2288c156b9866ea417b488953e2f50ecdd292d5ee90f23faf6b03e9cdfcb52b5fb714d547452fc9b2c453dd8cd98233c1d3af67d9415e21e3a3d503ff92638a65e16c52f3d11a054929929d4f4e8e5930de1cc13393d53bae15124d037276a14069a32eb9724608adf35b91ae5e9ad032fbc03a83d4a006c510f3d7450344dd4c3d2907bc793d7331a173618366926b97ec98a7ca02b3f76d95dbd467af038e1362cf855d712486861048208276f44cd00f801d6dfb1aadc3b9df23cb4dc803730ab2b15cab09a60721ba504d661415b2f02d1362f9ef2c4c3ecaadebd08793034e8a35ede4db9cf63e29e003fac00bac02da1b22d977d69c0f11508af987ebf8039dd5778b5f17faec2934e4f912d4d513b5d791e8502bf2b09ca5e256b8de1fab031d38d7ce9bf989f2dec32d90f75a7ffb50454769e265509e72fc58be23e66a6e03ab1d7b3fee6783f534b05a55f33cfe825fd1a8ba6c7d94bb59b7a42042f0f88b033643bcc19e0f75809c9c944471c5ff292925ac544b8035c998fb53f2a4dd9d6c03f95a4c3cbc2143fa33fd78721898336c667091c0fe74624e771a2e199050e51003c78edb57310d0af0c945b40ad086e665e9c4dd51e512fd3bddba38b08020ceb4039d1d5e93599428ee816b6801740dd560d0a22ae13e940d22344ac844b38a72ad03178a83da6cca42f696f8c78eeb0f8b5cce872aff3473208149d86e727b5487c303a173399f51fd8ff7fb4227a3a8dab45727668768943498c22e90f115c2cdbc06034e3fb02646fa532a39fdacd2d561845f3474b3cf3044a512ee0468067716170f00581f0377faaa98dffcdd9b3c520e9a40d4c9c4dd5a8b8bc37a585533fffedfe0005201000000000000000000000000000001000102194020031db606568a8dcac7499eec7b43b242e818e8f096a34692fd2554e46d5eaef9380397f5901886bde326171ad7f113a863ce3fc48015692856c361ff912ece037b4e033963e295ed8b0e099656669a27a609a2cd501109feb93dba2be5c7276568c8460378fbcd627af1da2f984df3484177f49aba7c46f76804a8086d051cd98d85ac290372bd97edfaef8e919469719178b848c66d15061836edd18ea5b40822cfe4dcae0219ffff038b01af5b6d6d5c1ca881e3c241cbd6d3acc8a9118e5f915628ca60cc3e2f0211034ae7e1ceb6de48b70c62640c5935f3386694630bdec0664ed8a4c11689c1de6603edd2b4bb47ef28a3c725852cf2ed34c62bc7d60a1877912f147cc02b228a5407032633d6987c2fa39ac04a7010bd38a9d32f435d11e316ac1508691b9df17fe3cb03dc8dc35ffad4f9d3251dbff9945563a6ab155a99f314b0641075bda0d804474003d7eb8f0791f55cc3727c620443b6494087da82557e8a61f1bd42650602ae41f703d4739c398b8f3d969d02e35750cf21e1f9e023a3d64ba8bf6eb94d095f6e915e032b70afcd0f38c8221f3398fae68225ffae42c7b638c66c5aec3ef65d328b26fa03542917652e615836124139f2dad14eeae734d29e4295e1059fa2ba3f8d82668f034c284813303d8d196da0dfb69112659416005e422128cd0d5f3ab16caf88893f0398805b8d2ed0d623b45b34658c402f11f4f7782aba99a9d319cfc5eff5a8748203cf6fd0fbdc7721c7be908e4cb5c8e0ac5f1f6f8c8c2ddc6a5c75eafae9f901c60219ffff03fbeba63f4a6d5b9f9e20fbda387683f4eb10e3c71ca8c184d663d24bdc52614b0357a0a6206cace584c278ef232eedecb10a825170aec2e6591829295c86294bb603789e352f8c4f91367ec7555148e53dedf82ae890bbf2cfde93d793060362083903e68a4e7fa00723309a6fe6c04f5d4adc6810e143f28787bb1e1e3f46fcee2da703819240bc424d0c92e5ac8237446ee23e148f8a21a75ef936c36e9c584d2b2f8f0387ddf673eeb8f598b575b8925adde7716baad69019c0a75ca2b34283b198cbec03d22cef975f89d3bb69385968b7145d366a804663c21de61d9e9ab88b69913ac3035763b8d285b875071bfa10cd73b34118db7a4a256ed4d860b77643e1cbc41ebe03e689dbf18d3ee9b0c1205bfd685c4424de67c05c071b506f0ab9d1824269017103f1945bb9bd31c7ecb97496da24ed0ec33f70667a3aed6984bb436a6af1a3ec1a03d638536858c20887b8255294fdbe16780c39531ab555d8d6f4955c3fb31d324803ab9757befe733d54b5e98a2046167922aa4abce6d37e96e45f22d9e530443ec803746d10704300eb0e8d991be2f46542aef1136909f953c25cee867935c450b2b903b90208b88fb1ff8db745056fc61f4f28ea418db3f3b67ca686ccfcbe6c58e6ec03da35dfa251cab112424810b40d164a381f624448ff8b757a60b72ecdadc4f08d0219ffff0389e29cfa242de46156122dd440f8063ed638030092b12ef627ad2e859832cf7a035713f55f71978a2f78f191f49d5e178dae588847a1b5733c4c058f13b83f2f06037ada21c4754037dadbbe700fb5354e54e6d626d803ec5638ff1ce4c1c7b4b10b0393d8bf7c474d605c2868cbc024a43cc843d0c2a9db6404ad5abb54de9a687b14034587a3d3a5bb6bd58ce6d4b4d385d6456699de7cc9eb5f3fa30a2531b7d0b3e103a24715830df504092fd42c38d37bd5758c5f7fd1c49c80bf12ce362007da12ac038649a901c0546b94f0c82c5bdb175b7fe6bd5db3523ece3e81459597a434d0b8032a75e1add69417055cb51f301265e8330683e788e75a07f0987eabfb337ac2f30336a836920cac4e6f9ebe29757723b742c653afa88a3dcc8f7afee22950802737032c6e025664ba598ee4796e3dcb0077ae9ea0f56f443689f6118f9960c15b01740315df7a6202b7f44f29a929fee04f1679095ae7fbf055069a92a7d0fcd3c7c0c203636c272d14c8371746b02dffe827ec3deb75e38f399c6b6af3f2610c79c0e4900369b4b865c1e2353041d4aaa0ed551515782eb178666dacacd9837575f572cf6c03fd206400eec30cd98184ddaf5569d6c8bef546dd988250b8c52e1948b4d9714303da929af1ec7e037ad096be9cd39f0172ab76b3dbb2e23289f4f7128476b902cb0386cd7b008534e1a38702d96bd3c7674e451f18fd495a19a56d716651083c3d0503fd87633615da3fec5786546f5dd7fdc5711f57e47aa712f90569f62c40179d9703c99e14ab7f6bc0b5dbba49e40808dd806e79a2dd7ad089a315873ed92ae561aa00581f03285b53768d910ed165376ee930e9e98202ca0a2ab9b769166591ed5bb6905201000000000000000000000000000001000100581f038e45975bd5c648a5f2b7830bddf28711d7ceb95361d95c4e1233d7a301c05201000000000000000000000000000001000100581f034a715e2a3045609748898aae840f788b727f2eb30655d2d31d40a3c7b3f05201000000000000000000000000000001000103d128e830f069048eb9ee50fffd951b7183fc94f32c65a35bd99a4fc5716280aa00581f03af3094714f4d5ecab6f5d99448808889bc9dd224b2ba797258d3e2888b705201000000000000000000000000000001000100581f03f54cf4b8e141fb76d3fd334c5d19ae7d1690cb91cab823149052835489105201000000000000000000000000000001000100581f03d711c749f7b97c7c13f15aa40c0815b37143fa05d13ba71c5ac2bad6eba042010000581f037147f58adf81ca60dccef8e0e2a2ebc6fa0f4aef21a234fa11cee40418d052010000000000000000000000000000010001021944d703474f6dd875f3d6b5b6e339888617192cdd2a41c68719e8fc85039700c921df1c0306f7974840335e4dbadf2a3b3a6fd0fc81958b01911a78ab379617f9ca9b6d1103a26d299cdb2a064a5587cc022b5c408c733c15f92890ba186ed76ae63128003203ed31ef5e736c7dd1268bcbc9556b63e2c3bc553deeb5ac1440ba374941943bb703e538de68092e89950af9fc79c931158364f0c9fd5a3912d5fcc07d7068d0540903b7514244152fbb42078a9ad886a4494cbef760839a303f0f3fa43d22ec43d3dd03d5296653685a19226516cbf3be3a9f0f3b06aa003f658c33b88431e1a6e2d27f033a695197a90b3d871b241c70dcbd993574f1d6f61494b057965d4cf93f5d7845039c37e17b35b5b5b49b80d56e8e3f1a49aa0f4d2727d4d09a9d8cdca9ee70e3bd035edbf63f1a7be452a60c0dce98a9219a866fc21f8fc3eb9de240373eead3a2a403062310fa8b018001146c341fffb5adb194e73c4d2acd8a75502d76f7131a04a90219ffff032b7217787541ea543af4c0a9e3d44e0a9ca74c4718591c526106a7705dbc64aa033a1da7fa3c2d37ccca171762d1285e46b29465f2ed9d967fd1ad99e6dd68d86b03f07ced8f2274a0fcc14f97aa4eaf07a2aa96026c25e285820be7b63222ccd12303b5b3b5fd8770a20f50ef8b076fef67f5a5ca7c9442bbc90bd66e6755f4fbd6a703fa49c4be87b1f5d567cef29b5e0f57dccf355dcfbc7b9b4bc2d5490ea5508ed203217225522f4c34bfae971b41f06475b03cdbff27ac1c7328a119f48e0ffc2c3903595cb814f549fdbc13d61f328cd736a7e778dfde820d54f461f3ffa42779426e03cf0cfab95281c68b0f2ff422f46259f5d8d72b3f0da38ecf9dba4f8f4ad45c07031e700a63306a83d05f265c4264b3d1b3f796e4a9b46a6d50557d269b1e7da8d603eb2afd668671d0b22246dbce7e5e34c3c9f45a04476b777ba92173e84159fc2f03169dd340553a087089afb7fc0baca629d64a58a56f22ee0b3431d0fa367bde0c033de416c925c59f9d71fdbde99c6a879a10f156d1f6c4a0159d1de5be975011f70394442d3a6130b63ee15f29a555f670545d98c2444225ad6728d5be14fb6df99603d8a8094cf6bbae4603cd35e88c8a5da2ff8376b67b1e537742497550a819d12e0219ffff0346dad7d41799bec5019c059ca9b5b10925d82040318cc1f8f829900ab821941903f7459221e182f0adf7de910523f1e6c13723687deb60c317a527a9458bd8302a0219ffff03fa11a86ee96410668cb865644dc763c2ca90be5b9f4aaa7f11bd14ae61610441036e916cba6acac418c84eecfaa77cb95a334993021b7533035ce43bd1d324e8470219ffff05581d0262d4664f72bbdd2b504bcd8d9582ce6a4ca9986666a3ee4d0241a7a70702195dad05581d02feb89bc07331246cc6bd1a6a4e178cd60300adcdc73d74a76eb4fd81040302184105581e0387f393a155c80aa57e0e530653d400cc9c87df0a1b343b4d6f694f0f60040205581e035e3e4ed2a2dfce62a3fe76524616ad3127444395400299b357aa640e900c014729101a7d26680003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03ca8ae3c86eeafa79787919a66bfb77d8f5617a60a9c8882790a92b5a2007011bffffffffffffffff03f0c612ce576db968d6104f78ff4649fd93ea8efa149001a97d268a88f4756b0b03c003a95a70d6e450fb428f6382b9439ff84d67fd5e8142c644784dc5f9eab26003616b73f8c66f6930a93e1dcee1572c95a0396383cb5e665eb70e0e0687f8105105581e031d0e2a41583d00da08b198437f5045aca1c0a880ac661deb836a412070040203e0b4ae068eac042c4b9ac23960d09af1462ac332a9955ec0a1663f3327ba20a20393dddbb02b011646b8d37f776ab7efc63a64dbcf38120e49bb26ff41dd8fdf0e03ca11daa594cbb39a25abe1c793d0bd9958047ed553ed18a0554a367064baf49303371e33fa06b32decc22318b148918a59b8dd1529a5d417fafc8d8f7a5b420ab20605581e039c76223dd8fa08c00f81c2099ba2d22eabbc4e9e9c40caa973b2fec0c007011bffffffffffffffff0219fde3035268977cb60fd4d283b2ae510cfe52f9d46de0137566fcb8b250c429d4c814a6033d4270f5218ccf9bb5135d6b23bac8395eb54d3324ad91352ab3002c0842d3b503a81a39cb675c52e9c417b222b1740284d84d3c03b067e87a5cba14c0b49ab5960219ffff0354dd9dab351846fd39ea36bdfb3ca6eb6f2df1e36083349d0787abe89d05b33e03a8ba0a19971eff2780e43cdbb6afacd567c5ee6fc1f1e138689f2bd0fc8e7bca03b0e620683dc0c0e9dd294d5eb49bc1a6ef95abbf6f980793669d4fcbc76c192703a7c932c1b793c4d657995aa0b17a0f5e802cb89b0afa88ac656958cc4132c00d031f41d781920e305201f66465a5f6cb454ff1d8870a7795ebdcbd51b11c0ed74a0374dc38eb7bcc5328c17f818b6e0716aec8fa0bebc6eb5506c3352bb782b954480356c6a5ff8e5b797a0fc85daed83884b61b61a330dcc6c5747974b41880da2ab503ea46e54052d48c96bcc0abf07d9506d0d50a14b16e2be99abfedfbbee8e04d5d0331dd9e4137647daf4ffbabaf0e40993b303910a7935887ab32f04a15e2459bb7038e675c0c96a64751362c28c2d88835365ae6277ab5b59ded17076003c2d8cec0032c923e1ffbb70244275bebf85b3a933f4cbdeed11f9b37ba6047adaf39566885033417077ecaf4f24cfb7dfe74eddc7a5bf4aa1af9c40d426dc1ed96ae3351529103b2ebc1390c210732be62b1c21ee3b4cb5f9a002d34d4d6acf89703ce11ff3a6d031ef92111dd6ad6bc793bb3b8234e12dfaf4a0cc74f4060dd0a537e726512970503ed5a906757dad604be5c60d5e022ad6b36f02e91f037daa4ac1a4eade39579bb0219ffff0219ffff030f0a795b405eb1a476c5b744302ee085efc8560efe6cfb591384a2c770dbfdc60353159ebc968163af2f7b148d39b8fc2dd3416649fe16068afa8f77fa8669490003351a7f05fe79b1faf7d8f39b8afac33938a7c7e2759b70ee75d6ff64adbc7d02030ece4b7b1272e7422c4a71193290db74d3df8c5650473e042cff3e41da1c0a8903c8c426506a8a07f99235d6adfec0154a3d597e0d315cb0983e7954083eaaae150219ffff0381291888aac8d9237fc40435bad31afc7e80d04217fc8fb4878a6f61dfb0e47603af14eb46ffa3b90b8a632ca3f2c76237ff0ded83f2a9e67e41cc29738478262103f1da95036c2adcbbfa058cef850bae82a787d0f8fe0a9f94fc63ea7b38cf2e2d03d1d10d1ae4a9d3135a3bcf539e436b2bb88a46b9f40cde3d1a211cef2e49ccda039336ea69f3a0e0db3e1718641b37acc8d05680c13756fc7ccb6076dbb8dc10f503724ebe3fc94543d6843bdfcc73056520d1e54f577543b5706b7c81b9f7858f0603eb257638745a2a18f5dcfa9663ec83392818b81f8029531e25881f80b79e974c03b5d787c375f599657faf4054a3040c28d3d431109be1817dde55d87f578fe4a703f9ec759c7d6cf4c8747646ff2f96e717607826f3326d074d941f244ec92c457203415081051ae7d059dc20eb33ff8a8c7af7ca7e7cc81cb7a0dfec8b55420f84e203530577665cf4f6b7ddc57e2d34c7ac4f60b2d69297b6ef699f169e7c19d13f2e0370a9cf860ea6a3d2ab70d5e3b7bee0b4cac373474cc966b78e75613cd2c84c9703295609c9c82862e379ec852ab88de6ec36c48b6c9017397929e8b0672aaca23e03956b68706bef6564ccf6ceb978d4159225fa77ff0dcd0028fa2167c2d70287a9034fd1d72aff722e7c6f670cdb6ef0066d017b607e18bdf58764565e1ee735020e03cd6c2e8b592d2385f3173cfd43831c95baf06712363a394ce231d8d26e333bd503227d63488e56639638bdcef843f4b64e79c8686fc213d14ae8ae3d07e813cd06035a8fdef5d2ad1b77cb164e471e79a2c6f3c9649fa624ec57c2522a706a6188960398ac2742523695a73ce30ee287a54bf899a0b679913a2f2cee3ebdc735cf5665033d05008728f54397f74fc2d0997f963b6ba31345a6292b92cbe179aa4367391803633b56dce7ebe50419863f4b302d79904a363ed4853313daf791b710dff6b106030a28887c288c75f688ffae606caea24b6ee80664940c182ad6efbb72d27b944205581e038d5d781ba32ea624cd990ac08efde69c7e4aeb1e77df285c6648e8ae60040103066ad59feac1f5f272dfbeaba93e72b9fdb9c3a32cef73c8ab64439c76c85cd7038a987fe327d68b0df73fdcb81e7b44d87fea40d8333f62b98103bf54ba71530b03ce884f2a50ef7738eee9da582d5f51382216a089d32251e624fee313cd4ceec005581e031e272c6de9988558f49a2314e106abf494654be2dc30ed70af511e62f0040305581d02157324129202bb8119fe2bd07b6b91ba92fa2a3ae3dd13d508857fa10c0146b3740c10b60003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02e5ab2e351bb5a9a2c6ee41a08cffcd4ff250c74c2e2086ee472803e507011bffffffffffffffff04591b7660806040526004361061013f575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb14610387578063bf474bed146103a6578063c9567bf9146103bb578063d34628cc146103cf578063dd62ed3e146103ee578063ec1f3f6314610432575f80fd5b8063715018a6146102e0578063751039fc146102f45780637d1db4a5146103085780638da5cb5b1461031d5780638f9a55c01461034357806395d89b4114610358575f80fd5b806323b872dd1161010457806323b872dd14610208578063313ce5671461022757806331c2d847146102425780633bbac5791461026157806351bc3c851461029857806370a08231146102ac575f80fd5b806306fdde031461014a578063095ea7b31461018c5780630faee56f146101bb578063109daa99146101de57806318160ddd146101f4575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b506040805180820190915260088152674269726420446f6760c01b60208201525b604051610183919061166b565b60405180910390f35b348015610197575f80fd5b506101ab6101a63660046116de565b610451565b6040519015158152602001610183565b3480156101c6575f80fd5b506101d060125481565b604051908152602001610183565b3480156101e9575f80fd5b506101f2610467565b005b3480156101ff575f80fd5b506101d06104d5565b348015610213575f80fd5b506101ab610222366004611708565b6104f6565b348015610232575f80fd5b5060405160098152602001610183565b34801561024d575f80fd5b506101f261025c36600461175a565b61055d565b34801561026c575f80fd5b506101ab61027b36600461181a565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102a3575f80fd5b506101f26105e4565b3480156102b7575f80fd5b506101d06102c636600461181a565b6001600160a01b03165f9081526001602052604090205490565b3480156102eb575f80fd5b506101f2610631565b3480156102ff575f80fd5b506101f26106a2565b348015610313575f80fd5b506101d0600f5481565b348015610328575f80fd5b505f546040516001600160a01b039091168152602001610183565b34801561034e575f80fd5b506101d060105481565b348015610363575f80fd5b5060408051808201909152600781526642495244444f4760c81b6020820152610176565b348015610392575f80fd5b506101ab6103a13660046116de565b610751565b3480156103b1575f80fd5b506101d060115481565b3480156103c6575f80fd5b506101f261075d565b3480156103da575f80fd5b506101f26103e936600461175a565b610b07565b3480156103f9575f80fd5b506101d0610408366004611835565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561043d575f80fd5b506101f261044c36600461186c565b610b8b565b5f61045d338484610bd0565b5060015b92915050565b5f546001600160a01b031633146104995760405162461bcd60e51b815260040161049090611883565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104e26009600a6119ac565b6104f1906461f313f8806119ba565b905090565b5f610502848484610cf3565b610553843361054e85604051806060016040528060288152602001611b19602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112e7565b610bd0565b5060019392505050565b5f546001600160a01b031633146105865760405162461bcd60e51b815260040161049090611883565b5f5b81518110156105e0575f60045f8484815181106105a7576105a76119d1565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610588565b5050565b6005546001600160a01b0316336001600160a01b031614610603575f80fd5b305f908152600160205260409020548015610621576106218161131f565b4780156105e0576105e08161148f565b5f546001600160a01b0316331461065a5760405162461bcd60e51b815260040161049090611883565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106cb5760405162461bcd60e51b815260040161049090611883565b6106d76009600a6119ac565b6106e6906461f313f8806119ba565b600f556106f56009600a6119ac565b610704906461f313f8806119ba565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107346009600a6119ac565b610743906461f313f8806119ba565b6040519081526020016104cb565b5f61045d338484610cf3565b5f546001600160a01b031633146107865760405162461bcd60e51b815260040161049090611883565b601454600160a01b900460ff16156107e05760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610490565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561082a90309061081b6009600a6119ac565b61054e906461f313f8806119ba565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561087a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089e91906119e5565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108fd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092191906119e5565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561096b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098f91906119e5565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109d6816001600160a01b03165f9081526001602052604090205490565b5f806109e95f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a4f573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a749190611a00565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ac9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aed9190611a2b565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b305760405162461bcd60e51b815260040161049090611883565b5f5b81518110156105e057600160045f848481518110610b5257610b526119d1565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b32565b6005546001600160a01b0316336001600160a01b031614610baa575f80fd5b6008548111158015610bbe57506009548111155b610bc6575f80fd5b6008819055600955565b6001600160a01b038316610c325760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610490565b6001600160a01b038216610c935760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610490565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d575760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610490565b6001600160a01b038216610db95760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610490565b5f8111610e1a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610490565b5f80546001600160a01b03858116911614801590610e4557505f546001600160a01b03848116911614155b156111aa576001600160a01b0384165f9081526004602052604090205460ff16158015610e8a57506001600160a01b0383165f9081526004602052604090205460ff16155b610e92575f80fd5b600e545f03610eca57610ec76064610ec1600a54600e5411610eb657600654610eba565b6008545b85906114c6565b9061154b565b90505b600e5415610eef57610eec6064610ec1600d54856114c690919063ffffffff16565b90505b6014546001600160a01b038581169116148015610f1a57506013546001600160a01b03848116911614155b8015610f3e57506001600160a01b0383165f9081526003602052604090205460ff16155b1561104157600f54821115610f955760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610490565b60105482610fb7856001600160a01b03165f9081526001602052604090205490565b610fc19190611a4a565b111561100f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610490565b61102a6064610ec1600a54600e5411610eb657600654610eba565b600e80549192505f61103b83611a5d565b91905055505b6014546001600160a01b03848116911614801561106757506001600160a01b0384163014155b15611094576110916064610ec1600b54600e541161108757600754610eba565b60095485906114c6565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110ca57506014546001600160a01b038581169116145b80156110df5750601454600160b01b900460ff165b80156110ec575060115481115b80156110fb5750600c54600e54115b156111a85760165443111561110f575f6015555b6003601554106111615760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610490565b61117e611179846111748460125461158c565b61158c565b61131f565b47801561118e5761118e4761148f565b60158054905f61119d83611a5d565b909155505043601655505b505b801561122257305f908152600160205260409020546111c990826115a0565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112199085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461124490836115fe565b6001600160a01b0385165f9081526001602052604090205561128761126983836115fe565b6001600160a01b0385165f90815260016020526040902054906115a0565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112d085856115fe565b60405190815260200160405180910390a350505050565b5f818484111561130a5760405162461bcd60e51b8152600401610490919061166b565b505f6113168486611a75565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110611365576113656119d1565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e091906119e5565b816001815181106113f3576113f36119d1565b6001600160a01b0392831660209182029290920101526013546114199130911684610bd0565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114519085905f90869030904290600401611a88565b5f604051808303815f87803b158015611468575f80fd5b505af115801561147a573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105e0573d5f803e3d5ffd5b5f825f036114d557505f610461565b5f6114e083856119ba565b9050826114ed8583611af9565b146115445760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610490565b9392505050565b5f61154483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061163f565b5f81831161159a5782611544565b50919050565b5f806115ac8385611a4a565b9050838110156115445760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610490565b5f61154483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112e7565b5f818361165f5760405162461bcd60e51b8152600401610490919061166b565b505f6113168486611af9565b5f602080835283518060208501525f5b818110156116975785810183015185820160400152820161167b565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146116cb575f80fd5b50565b80356116d9816116b7565b919050565b5f80604083850312156116ef575f80fd5b82356116fa816116b7565b946020939093013593505050565b5f805f6060848603121561171a575f80fd5b8335611725816116b7565b92506020840135611735816116b7565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561176b575f80fd5b823567ffffffffffffffff80821115611782575f80fd5b818501915085601f830112611795575f80fd5b8135818111156117a7576117a7611746565b8060051b604051601f19603f830116810181811085821117156117cc576117cc611746565b6040529182528482019250838101850191888311156117e9575f80fd5b938501935b8285101561180e576117ff856116ce565b845293850193928501926117ee565b98975050505050505050565b5f6020828403121561182a575f80fd5b8135611544816116b7565b5f8060408385031215611846575f80fd5b8235611851816116b7565b91506020830135611861816116b7565b809150509250929050565b5f6020828403121561187c575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561190657815f19048211156118ec576118ec6118b8565b808516156118f957918102915b93841c93908002906118d1565b509250929050565b5f8261191c57506001610461565b8161192857505f610461565b816001811461193e576002811461194857611964565b6001915050610461565b60ff841115611959576119596118b8565b50506001821b610461565b5060208310610133831016604e8410600b8410161715611987575081810a610461565b61199183836118cc565b805f19048211156119a4576119a46118b8565b029392505050565b5f61154460ff84168361190e565b8082028115828204841417610461576104616118b8565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156119f5575f80fd5b8151611544816116b7565b5f805f60608486031215611a12575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a3b575f80fd5b81518015158114611544575f80fd5b80820180821115610461576104616118b8565b5f60018201611a6e57611a6e6118b8565b5060010190565b81810381811115610461576104616118b8565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611ad85784516001600160a01b031683529383019391830191600101611ab3565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611b1357634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206a6f0eadd0c2f4b0f203b8408c09d0e4a78551d31fbe0666e25ec2693d52315c64736f6c63430008170033037aa3fc7f26313eb5e96aac91f4ec2b119fb5d59b15be4a63431ace37743e9961038badc1beeec6ab921c0cb4367a3916e78117082ecde85363ab108a3a46f4cd7303b5f03a54de325f88d07b3964b4e0bd3054081c2b3aaad5e9d0f4f1922880f95f03b3631d061a1dbe461264e14cca25715467ef4f2adacea6c650832e1739c49eac0384ea4eb54876e37f8073f836603e0b7393c6d1be86d44253af6bebab55ac220c03fb2366dac33a773497c9cb946c8d506917e70e7a8b05c9b2a8692361494375ab0363bf88cae78aad7736ff65c356b4e3fcc27964ca10ecc890a3b7005dd89677d40354d7286a4c7ddbf174ce8ffd738e1aec68378b1f0f60b953075a988d1c00fe6a03229cb7995f9ee716d7176e849f5104f75a7a69d193f2349fd3236522c53e39e60352b394e2cfc8e40721d6a6d4cb6bca0b212512b09f817315414f1e7396bf22640368fe789f95b19bce262b1ca3144f52ddf9bd1996b1abf1dfaf9a44fdb3839ed603688a96f91d257d9714ba85f31852f35bfb6a1341d94b7c3a4d078b58668701d103894960e5a2d31f3c18e58fe20b6b92140624a0b9975dc1f5bedc51f50d99cd18034b902af71e495e5e050a8354f23314c2d4c73a06dee2e8ef40227abdcfe1145f035a56dc5303d4d928247976e0e3f08abfb3ac8c8a6d1ef6587e96646da9067726035831e9a13afd6710bec621077cd4af34e7bd21ea6fa2a1def41b0b99e35ca78103dfbca8a45d88da6fb5cb72f1d09a316cf463b30531e02710758159338cd2a80900581f0267eb973b30e73cc4d1bfb754b6440575b5036393283206dcb76b8655caa85820fffffffffffffffffffffffffffffffffffffffffffffffff8ab87c0c6b8546100581f0252af605c16cd1613548837b4c8d33da96ee0a33bf43404dc349378dedda0410100581f0263ea8f7289bd90094c34b3f48359d5f9a95ed3d92c404d3a5efd2c55be475820ffffffffffffffffffffffffffffffffffffffffffffffffffb82d7596557d8a00581f0247dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6724916ce3f1e16bf15000002190183031c06fe1776d1a12e1dafe1ed5eabc2ee6e4d04efa7d76a9424d3051e54edefcb03d7fa967541e8850053413a352dd1b3ed79b9565383103caa186bc6ea0a463ef703e3a1764f4a6e11c6d85d31a63d39d30b39281c13854c034347ebc13b063e3d4e032f9b268ad92abee6965d17e740b2e92db3654a0f41466d49d7a0644b96f690cd039f5047959de2c8e874f44e72bbc7c9f9824e646046cda7d208523a29fd52f518005820037366716a452f2b8f55b1006ceb23fa702c699be64481a009a9ea0dafb91c005820fffffffffffffffffffffffffffffffffffffffffffffffffed636bc638e43070393af9a7a7f60371ef2460b3c0939f83de45c6ad9a6b4f29b64af4ac6fb37ebd0038fb1481c675bf8e8685c2c63b7af210c2bdd9bb0bb276ca53ed79ef42b13f6b101410803598098fdac8426efb1fb1937ad1ebe6040391d8a6553ea671e87030edce17d310219fffe03b7eef0c485dab60234d5af1cb12839c83b29ce43d9c0893b3568c377d296171703b82173df28977331145dbe7dca92953f4531db497f3a2ff99599a9f4b7e914b80340024a082379ac9883fea56695d97df78767a2943d2418931b4a98319f2405bf0309155abd89d3a34a896c0c75a95d3e335168ae93a689d7d32925c5d7738057b60219ffff0321eba10ac70d5796c1e2cbf42afef1736c6308c3070c2fa0ca2a1e46d2c5e8d1036a2ea2c4cb8b46398d1e050271f027f80561eab20e4c4d38f3cda78c383283e00301ccaf1de1b30541e89e657ba963c733aed1d7e2582a04e28e22f3727bf55771030469c3a2bf233b6337d4b8ba8952dec9e046c9f9a060f09046e5461d37b72b0e039e09408fa62f8d7ceccdea8e31fe6888690569c3357aa81bcb9269889aeb583e0392f523ee2a0096dad167b8cfef60aff5aa076d09958b6082b67d252dad1279eb03dc531b600a26429e8e7b7c0b9001c2da75aa24009be06ab22924d438b19af45c03474da6564e39f2e37d2832f1a500bd227900c67135f55bbf70ddd2d406a09e7f03fa716568b5b64865a9cdb4e88f27a9c4f88a27b4517e4923066a3b030726269900581f0279d3bef5f7712592db248bdcb24dda127c3525d4fee123b903fb297eb537480120cc05b7efc71600581f024e9dfefb105f8a019ab58d9731fa1e46b1d5874d5e4a2511933ad164ab1d5820fffffffffffffffffffffffffffffffffffffffffffffffffff5f0187394bce100581f026dcbdd4e889a1a10653f1d9a0c6b042c86f76cd24a7ba8b53b73cea4f0f74726399de9d685a003edc8298f9e4d5ea9f16482f24b94e03740489201ca9c3da6706add9e1c67836900581f02d2a336338b430582c072121ccfc2d4ff0f8bc35d83d55ae7bac9f56639cc4761ef7cad66a10d0219035803d6fae3f1ca43708a6012f6ef261165f19c9fcecccfdb742b6d617569030db46d03df17d08b98d41231fe83dd928c96d6797f1baee2169fb9a0489b1075c99ce34d0375fa26c0f061fb1a3ee8eae63d1ab7cc06dbb1b5dbbde4f9496642163e4b329203d7d1ab6a1d5fe36f4b9579ef9d9171b7cc46beb9f6691712e891fc7015df2baf03b735b6476132c3b2559a5a07b198016c0951652a537f8d43351e6a200683431703f0b170086dea8256cd26ac4c703720b0a3aa492ebcd3b913a40df8934ac208480300befd6d511d0e67e203487d71515839153b85e625acb3baf3538d8719eddb4e005820036f670bb0eb5a96a4acb3c9fe0f15dcf5630d262c8512eb1403d094e62eb5305820ffffffffffffffffffffffffffffffffffffffffffffffff4e430b62dc9f218300582003bf730c793a3ede00f3a2c23b62e6ef7d5cb1fa31ed773fcf61a7de14c78d30460352dbc45c1f03739827dbf559823748f71fb97cf2c4012a750b601a465a47f6e9b26cc495094703ee1005776030086cd7911342a7ea57dfb4f8b23583870c9aaf50459ebd5541a6035cb5a5d1e3ebc255c0f4c09d70d522b8ad7adb96119cbd7409f7015274b18b610219b7df035d8844ace821dc2ab56e9aaa8844d37defbdb7da4d5d2cca6666ab6b2880a74a03966c32c3842337fee513f1868b56f71243ea8907c9ee4f5d2b90cd7b1fb4b7590309a05a59485d74b28dd3f700ab38458e538b1e125621a6087badbee8bbcdf368036c047e06c4a46b2bd3d8ec7a865f82463625e7bc62bdbd08ed53413bc408d5ca032e81aebcd983985b5ae10a67520fc6eca4a42e41f45878fa9d422fdc694585cf034991aa2cfd6982c23f2bf628ea99bcb3438644e88a2a0754d4fced19631d25fd0219ffff030f74d85f7653a28490304aafc0f7280efd62cef5eaba3d403223172bc0a3fa2d03d5b512cbebdd40c14c8869e1159905a8a33b1e319dcb9dca99d13df709bc1f5d03b38215716a78e90070b2d5fbb52f26d1fca4a29bb11e236873a7b0807df7e0bf0392cb8dc13de07fc4f8e3e17e0b09087f1168339c79e5bf4b68ca7ec442bddf6f00582003acf888a4e8c3d4c7ca5784efb4b9dbd09fa8006d2159cca9eb249e87a34a105820fffffffffffffffffffffffffffffffffffffffffffffffffdeb17cb6a27c57803e1e1856a9fe3a6006615427379b4b3613f6cb3ffe6e3f702dd75ac5ff4b8eeb800582003196d775343676907dddc7d18a78adf486505104e9af2e20cf4fd322754e2705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820034fd6599421ee5ceba2286c66cdc1bb4e6908a4e1231c498614a783865ce7505820ffffffffffffffffffffffffffffffffffffffffffffffffff6cf3eef5d551d7034be4ff5ac28496bdc9cda99f27c3b5c28854d0565db9b44a4ee55948ad508e6c03850c9f0da914092345f1d59e6faae995bf7f19d3ee7560dc7e84ce30e94b2fa803d6280722adf4a53514dd4f968c2152bc1daff2c2b3f5598d3f4803bfb23945aa03a9964d36705e1eac25e0bfa5b3be51048d0fd18ce4071407c297d83eeacfa5fc00582003aaea56481b8e48f0a9e631413d819ec7e6ff6f5e232a692817443a5056cd10478360349f0695290313e7dd9393a538225abd1f125fce011ee4506e40019c7e031ed8787ec35ec7440398f8d1a1dc8109c409746e14e2d275972b6fa9dd3577089db92a5a2dcbf323e9005820036e06f57c791dd9150e6dafcfdc13b61359f66ee3740b6e2e83c3bebdaf3e905820fffffffffffffffffffffffffffffffffffffffffffffffffff75553027a24ee036093d9c5bd555774f17692f7fcff8fae55898bee8ac64d912fc67757231d805203f0ba6ed3fd8238b8a456b26dcbbfe54f8c3487698a247fd668937e10e70ac8b30219ffff032b4c29330d1b37e3d9e9f8e22f50d24c64272be7a8c47ae9de57809ae10918770370c3bbac5b99c41f9ff3ae3f875974c9b6d8fa33e56e2137281729be7ba046f0039e1d34a17d772b97e3dc3ee635adc601a1138d295f10c35ab8c04178a96f06c9039034c7de5619d9bcc682597ea82372843ef638ce295d696ce2b8f87e7f23c05b039ef217630ca0905d960e906aaef8ac1793f6ab7851e6f390a8c9d5681dfe14370328e72e9a39ffa20818815cde48ff68807b3b4bd0104a022629b92a10a04f45b603f51efeb0ecafbada4bd78c1936eb096cdc47d9c1d2751bfd8ab1a37c5b0e83fd03dc5519d26aa1787d2cf95f27f3a949bb966efa70f4435949a45240f2311a02cc03b5071bd11bb0e1d8778c2e3a5cd2d196886e9ec76be09457c3873e765af9487f030a645e6a29f80d8aa603449e7d6a64b0f59e8a79a8ebfdc7a1edce8fe6595f600380871327b6370d840f4533fe54763dd6f084333c73446fc3cc0a84780efe843200581f02ca1142a0989a6bbe51625759774befb1e9ed2f7fb9e51a477fb63001bcab5820ffffffffffffffffffffffffffffffffffffffffffffffffffedb7f653876a5c00581f02fae99571a094d02936ed705d0d40f0596e8ecbbc22917093f0d8ef8915345820fffffffffffffffffffffffffffffffffffffffffffffffff8d1f48902f9c2ae020300582003cc657422dbe274e9d79ee940ee9586294f2f73dc79224de99bcf40484f6c30470127a37346ec4a0375faa0eba85e83eaa45233f9d0d4f384ca0db3e4a6c2c5765af91e095ce4928800582003afddc4e6a445e5e0c555d54c2740a262b083d5b57c6e0fbce2a81291aeed705820fffffffffffffffffffffffffffffffffffffffffffffffff5dd706d081c9f300351a198e05cf44d4474a0a11b4be3fdec2b24166372d54538c119d55e76c3db23030aa58e896ee39aaa1c33af8f9140fb68c9c45f8725e9ccd2be552bd45f14b06e005820036dcb22a394a988810663f8a1f87e34898b4a9c0e236e71eeba55b4af6e47a0416303e6f54ac831550973a7927e0b26406bb7b2b19e12989f847074976d0b90f732cf0219fef7039c2e5e8f1235e848203ef27ee2a2954aeb859297052740d5e58f0ea9b42a182d038ebda1f4dbea4ab9c5e38ac6412d95a267c7cac926e8478db63a29df3687a85f0321332ac65aee5f31d19c65dfd976928642d06d313040a8e1aa74a737d689b57903d9390de7566d8d408576b58f45ca14f8fa9822145b1a32feaf2e73a83029535f031bd38127d4828d1cea58ea9e3c22ca0fb861f1aa50668bfd50c3a3baf589933400582003e3204b6819889d5b15b4c890f0d198635ef7c12a0d2156729b0a19595b0d0047a42cd6804fa46903510b33d8c58bc5330538996b5d7d6bc155da7a207aff8effa3136b22fd501f07033c9b29159fc1e588023eb11dce04e2c11af595e0f13fff188aa4b58838f6aead00582003254b35cddfff79b9759d1d6f9f0b33ebb2a11f1145645864767802a3f6eda05820ffffffffffffffffffffffffffffffffffffffffffffffffffc7f7f2bb5db6c9005820032247bfedd24181bbf3479d5e5b562949f5b16fa92fbb9acbc2ce1d5a54a1905820ffffffffffffffffffffffffffffffffffffffffffffffffff118aae940234e000582003d6ae70769a7eccaebf573161ab93319fc25da730287661b367817c7b077ea048017d772d797e37c703100de9ceb7f919f7f305393591d36f2af6bac861df456a993b0ea90300fee9f303333e20d26f3c0a85be8c2d4240b7293abd90ece0d5d332ae3429d36ab3a8ebc901410803091de506eb528fbafbb35c69b32320be79fca267657a4a748d14a1da75c7c7df00582003029dde6e6a250d740c493ab9425c96b3a818203fedfc6c047221ef05ed3ab0470b52451ab7581703eec6ccfa6c4496b7b51b2bcbf3161363e94188603c41b3c20bcc99c003f3bbb30219ffff03c70fbeefcec3f0888cd1ce9461ad965103bfdf8bac992cd87996045df70963d40371afac0070ed9a3cce15a7713e673d1aa8064adb2e3f056fab8540d41807280b03e18da347badb9740ef7677def6eb80dcf73521618f0eb5e062f95c42e000d91b03115d4d616e266ff27c59cffeb2139380fdb544b9a5b221429f7adc80c7eddce20300c33feddd86266f2702f5872156be84875f4a87ba41710e733cde7c589fde190324ea4a096a0c901f4633cc2edfbc0cdae8d856d37c760e3dd8356353a090931b0219ffff0372e2f822b1a73cdc6d2536da63fb5c764ed94bf49af9acd2c5e7d737c5a7bea50329deafc24393a7651e4d1eaa2f2748528c9197a068a3882e15ddd52eebc813d6037521e9b7510388446ee5b2e3f64a7e6ad1235bbf5b54caffa5a6fd6426bda79503625e9d3b6cc280018367c7ceae7e2afbc9ce35c786044a5b83685def1a2f4e0d0396202a32ab0fd63abcad07e2ff7fb9490f06bd3af542e4fa003700572e955ee6030c9ef7fe7f65a5a539ba4d649e7f3fe994bffb71933136b11988a06dfc6f816c03dc9ffd23390cf9a6fcd815147146a9783008af5777aca1a6b94e72582f4089940366ffbf7b94ce1b5d0147736b9ecb297ace39682e120a3479bbd162d9eee38a820343484730be787d6ed3f03c8193e4e407b746b1824978b85b4b3b21baf5cdd60903da6e3b054505387b5831edd06373cd2b7031c7acb67b836660ed84f9888b9e2803dd6113d3cb4f40df09b871ee437e68962ad45c1b805b6c62bf5227b2f8cb7db900581f0203283d6f78b8c250b1fe088e61067aa7ed10db4900c2d56effe28d736aec5820ffffffffffffffffffffffffffffffffffffffffffffffffff0d770572cf9f6600581f029120b483f479aa75ae4f056bf02ddaa409e39586d57cd369f6ce9dc2879349014050357d39cb51bc00581f029333cfb6b813c0055eb26f7f597db472db34cac8c0f8fe01224a6a0f7bce5820ffffffffffffffffffffffffffffffffffffffffffffffffffcfce93ed26fcb10219412000582003a9ce6b2fc24fb4df8864b16e8c476e4cc028973e2d3ccec2113630b94f8680472386f26fc1000000582003244dc970b1f114fdc54c4d153879c6788621cea21afe79fc20adce1f707c505820ffffffffffffffffffffffffffffffffffffffffffffffffff21f560bc3aa22803b9bcabb17029560be14a5924b5b3a7909fcd0f7e290eeb83db815a33b6b180650323baca3662bb48e9b55cfbcf08049a9bcacab400484aeec9993a1af70538aef40376646b9bd7b19874cee3e6fcb83cb51d69aa752eedeb31f00d0f71021be7ddf303c537251e15311abd6fba110f1133ea3646b6a404ab8209672fa6fb70a5f3fee500582003f836408e7c7138c58d3f2d46d8d597b662db7287934886d6f424b9a181cee04701f06c84edf787035ab59ecf73bc8d2f348270c9b565d59ee62d69cd7af60645e745ddd6a0cd44fe03aed5c6281e5dc22180e7886a207b586ac79804295a1b3bfaae0a20a71061f76703a67e3a5f6b1131ccae4ca94e0e9568c8e010aa6feabcf9902bd8cc59ed3dd9c8030d7512129962d2114d0147d2bdbc98ac1a546cef247a06cefa3123853168676e0058200369454f9417b115ef1845f40a65cf63bc87f02e1d8d9544e534ae0bc3b67ae0478700cc7577000000582003872c9bbda162a2740a130c072ac80fd53ccc452ff10ceffeb71e384fd426504801207979ec149e4503f083caa953c4ad94c29fe3e54f80a553b617dd47b8b91c4d38e265c9a2c201db0219fff70311516f432184b8627e307fff0d629d369d4f13a4c6f42ea419c96c26de70200a03ef346000a17f5d25ddb86958ccdbb979eb90215662ac65114b2b3814d7e55e5a03031f54f810af1eda442d0b1fe5278ebba17e3ffb9e88c3741e6915ad00dc859403dbeabdad45ec0efa159b08a3168c79fdf8dfcc350c78f0ee401f867c32c98a020219ffff037c3254165f3671000268bf064c507b1d0f992de4893352279cccb6b9623e7ab0033acf6e29ec7e5752f28ae353334580c00126cbfd4ff7a6aeb22b3fe906c18ac103c3f4845f25ad95ef963dd4db672e9b96a9b6b4d1c97f35ec68df27323a5e3a1003670900ae86b9e9a25f8ce362e271b9856e7bd7c13f08a2d10bd89ad21f7d7e74030945431dd2bd6df1070af0e9255d43eebf4f137a4b76b73e68407f97c77805fe0345df68de8d09ed2a953a116e8ec6acc9e585c7eb24d1733dfed2488a883a8369030a189f0dc8d0e67a856392c41dd72864e14dddfdc8ee642f2beef4a7bd10ecca03facf87ac2826ef077ef8441f69b4c77b8a27f029911b1c0a242a10fac14c2bcd0305784d10a9f2b546f7a5e03be0e21dcfea611b58972407dc28f20aedd8c0cc88030a58421a4a9c237966500bee9543458adb5d80a12dc9caf1fe2d1bc39cdac73203a888cb9eb527fdcb1f622fe794180721cadfb82fa18d4944d4e86815056e73f703cf3dba7af9f3104033812cacd65c605d4eb7008fff108af4b5d11d7f31a25fda03310868a245b8cb82a959212c3e34394642fe592ea1b428ee77f734532f06434e03c45544cc7fbb68b1373fa0d88453531199815d541e4eb13b89bd61d5fe7b189300581f021d29c2776a1cf8461994ca8b50f549ba0b393041ca636df807ae4277cc2747ad133ccca87fa000581f02a2abd35ac6d515630c0dd224858510fed3fa2a6ceeeffdf53215d3ae73df471f8d3fc072bc7c00581f0226b645811a25acb58fc86d0af819dca0efb98d818a8d5f29bdc0aed7cb1d470b08ea756d44b703ff8b7cf502e24134d59d955e89df7c9e62bbd16e547d3e4659622c0b1188bf1402190446031865f45bac938f20bfdee5aec182e491961e45d72dfc4aca205e37fc0deadfce039aa27355ffe1a99cd746839bfd8905c4c8d807c29f031163b22aad0830ffd23b037ac7e4b93e5856e669fecc3bf9d4406dc70cacf0216090aacd731505def2fb7d03a8528eede7e6e68fa236629a11a6bda2be1217862d4d5c42945fe38a8d2434f403ba64bf9763117932e5723d7ddbbacf414b3730f3bf5db33e63cb483955f867ba03289267679f7345d35bc94a5470d1f0450e8187cdd71cf16d216fbd59aeae9a6803e4beea91740e6aec38642f0b84ed5eb0e6424c8b72a07ee5d49bf60a0422fa28005820039a25c4525a7b3f1cf04ec5915acbd8d13b99cd58403c1aeec73b0748c35df04707b0164bef0c3c03dc1dc8d0675846ebbd65551c4fe3d72860036207df8ed12d1f8d6b7e9fa3638403c356c2ba2c7ae35b5d3346c8b9c4c43182f01f2010fafed35f6d223614fdf5c103450520cb45a7423a71091225d00f91d93c85729ef90a61cbd285cc7985fc829b0219ff7f0341a8c51c3ba91502bc133d9d7489f96f2c669e49173d982525bacd29c8a223cb0312e305dee91d4c6785e54df77b5fe852c73f0ba3b3b83e9d8aadb7c580e826ba038067f559fb77d17b22d333e8584354c31d17c76ea22d9acb9d7896b4762b7f9c03981fb4228b3cf1350c04567302b29f96b4e8bf9db9f62519cffe8a235192f0300219ffff03e589d626d69db5de5dfb8f28e08d169e86f3c8f941f5b386faa0daf971adb9bd039a175dfcccb68bd4fe2e4d7ba82a0ad3888b8f4bb52d7e444fa91ac5bdde0c8a03b2957d91c21d42fe6e2afa318684304846af6980588c1800316fd7b8bb0f890f0309f944f544e6c8484154284c2d8029b688e70eb554e63983ee8e9774fcbb086703edb69049ab543421eff0c73bd02b869eabfd94211bc6616c25dbb74c4f9790b303c95bcdfa142d0dda4e726a957832c05e33fad51585187d915cdd44cae83e688b03e76cbcdc3c10fac0a2ef03d179764ca104eda1217c92057475ba7cab89e2a72403772b07468922bf44e3c50b3252ccea34735970675079e8973310794c35cb4edf031a64c8aa72bde853cfdc72b7e33164930695e7ff93bd9c963fa647ac6e1e8cf401410100582003d84405b34b2b45a21e1f56ecbbf704f7af30f8775fa7c623e11c59e64eb6c0470276f37a52826600582003d82aad63600316cc0a8855f15087ad32c54685615932e4e92adc5ae0093df05820fffffffffffffffffffffffffffffffffffffffffffffffffefbb5a7ce7888a603672ce3457f48a709f6f99acceb2bc4ef1aaed1cfdb41ddd1157dc79716f3daca03d58e1e62094b4a67eb0d77d8cbf220115cd6ce01f27fcce83c85b64d17147b7a0058200390fd2b237ddf5081b2debc07432291a01b6ac55d7318a3cffd6bb289b9c730410103d0bde81dfbe283ff7bd75ed68cae55fb4137fc9f8d2c037321c207800dbd6ab100582003e74d1337bb78c607c3cabc1b34e899eec188a366298a30140a9d0e761ec6005820ffffffffffffffffffffffffffffffffffffffffffffffffffee0ef02c4c7c8303f665ea37b2ee4ded73aee44eed8738d37aa8374c5a73d5c2869730faa043161703390d6fa0b30f35c1afed90f998dc12c88735cca2ee2f87581045965ce58c171e005820037161c657d0b5c8c86cec04b75c2a1b70e95c41041756d40fcb53f509628fd05820ffffffffffffffffffffffffffffffffffffffffffffffffffa89969fef3035800581f020d185888f5134aeeefda3b2cfdc646f6797df6a13efc5e175dd433da2bdf4202c000581f02682aedc144278944c1d59dc66436f4f86d89b9b939f0439dff6ef60fafce5820ffffffffffffffffffffffffffffffffffffffffffffffffff2526f456c59733037bc2f272daa90bb07faabb069f217ef412d77f4793e9aac0615d2a0fd249805101410600581f028ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090547a250d5630b4cf539739df2c5dacb4c659f2488d0219414103f57acfde4aa63d9e94a2fb6c627ea88a96220b14b317a5cf0befa09dd28d490c00582003b1d78599950a5bf21ea4d8b3aecaa3ba1b46a75bf590def3d111e74a1b10605820ffffffffffffffffffffffffffffffffffffffffffffffffffee3c86c81f7fff0219ffff03613811c7baab534ebc9757241e8be312bf7adf313a9e8a8593e1f115bc5260b403cf7d1c49cf0de61e014ff4bd4b47ac1870203953aa075d1b720e4b647c4e61cb03bf5d8694f5396813b85adf963cc8536b640a135fc948aa4b186c89ea5e4062bc0318c0a2f0795d02d2ea6631b481f3e0526a955f5b56a3a9784b30f0eb463b36d7030276efffba6ec3363cf0d8dfd9dc11f28429e8042ddabf021efc07d4297186fe035ca93f7fdf964329989fc3e3b1bfea5c42567954cebc6b565c75a579f98704a503981825d79ebff6adf825b93af9400647220f9ceb97331623de70232d85c622bb03a3abde4bdb00d5d05741f66840da2f792148fe2ad37d436bf46f3eb326e96f830363442aededc14817e3a651bdacf0a117c06d370a1f7eebc1dcaec9de86d8f9480219ffff038b30438cbd43bf212d57c448234aa7bd9ce902dea5a9808ab0fee1c5eb923190031373a4342b8267501137e313b0fc43cf7bd9ee7b760f2ce0a1d0f4e5a0d3db4103454c324d7c063d0884bac7f9cfeaa0d309f0b721569d1fee149b893d61cc3add032cc2ee8e2a3d9881ddf7964fb92f53e687c4ecc86d233a33da5a420ef673de66036388eb6356dae906819ee2600bc62fb7ff3c2f731bbdeec39268d465a2875c8c035b9fc5b3b3f3c59a28f309878e98a12522daa4ae678fe50ad3d55c7311fcb26400582003f57353399c0776827abd5e2a47fb494a15927d4634fb6ac1edd42819126b405820ffffffffffffffffffffffffffffffffffffffffffffffff3cfe38224f1da1e603de5a12fc2c7bb8c12be1e11ca977947f076b9d7913aeb0e5f985ac4dd9f2255a00581f020c2ade031658c3b680e4183aabead17927eedf42b2da8154ab1774857aba5820fffffffffffffffffffffffffffffffffffffffffffffffffbc22099b9dbeac100581f02054e290f754f4afe912bb8b3f673830a81563d35a38cf9f70765886057ec5820ffffffffffffffffffffffffffffffffffffffffffffffffffd9f11529f55cf70206035a06be04b63d7c95e973f604c8e4cbdfce525f076dde8ede1e6c058aa758908603177a7bcf6ce18a1f9a5036e1a308d813e930645516853b69e5b542b4199fb5c50323497cfb152293e193f1eb138cf98be768e7d24e88141d1bdd0bf7acb389642b03a0eaf67d8d777f860a0913a6bfc6f76d38eee10cffd2747b538d85a44532e0ae030eabae650d82a311af104fea8f7f221c3ca7c7ba10750fd16ad0f351f6338a2d00582003effae2e61478fd6a736fd1103c9a48b097e70b91d3df9d2237106ee3a567a04734d73647084fda0058200309f91e01ca253ba809975702dc84771c9b24b341595bc8e43dcc54eec4228047f7517cc28f7dd7005820031c03c7b859d07b19f93e768c3523c6072e1ae331813acba17dda9ba79f72605820ffffffffffffffffffffffffffffffffffffffffffffffffebe58d80cafaa30c005820034611725f66c139924f42bd15f3aaecda90ab8f80074cb1dc56aca97fe036805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035dc277da1d8076f096883cd3762922117ae49100b89d67069e1232f51dff06a503ac40e09d3e1cf06592fc6f268448d6a1bc6b95c1d1fb9a19bbb425bf8802d02903436ac3d756565f333a0cfd533a43297e55a572605b900aa1a0b9f03cc56029d703fb62544a444a5dfc90ef87b3449f0e71f1477a5902e72301dd20932c564551a90219ffff03ae38e3cf18ed7fc411859651df7774bc138f5669a5f57ea8a9ad4bb1732a8f9b03d6a657e782fa66b072394b9c6b64baff874dab15c5907695330a9a04af80b42f03257b27b541307e18246e3e2a83ef5b36ca9de58fff1e51b2cb3dbf4de6ac351a03814ab9fcf2d1945116de632bf3235a0837bbfa0b79f5a709ce935070f0aa69a503d9f804a0fc1cef666afd025629489643e7b6a240bb235a1192e15424002848f40358d83ad9386312ae8c7aad4899fe12dd0872b91b59be6a8ce2cd5f7252dc9c190345bd8eb9dd67f6c92b8bb00f9926d62422da5755cb3b6bd8d88d6040068178f9031464599f909a01ae728e10f7b362aa07bdcd9675e6d7d90f6f007d1668d59e6c03e34ad2f5397d45367ca136a6164b7583497800f0d1aa684274dc4e2f215b5fdb0219ffff034efa853b94d18607995db4d9cb413e1916121476e6ff0545772eee1d0f67306403c782407680d24d4a58375bc95be4711d0cba42f0cc5244fc769b2415613ca770035d608f030ac899fb7b26266d5f766e2bb8d5917f67198c880825434e73921a2103f47e9166f3501ebe2a44342340d44e9de4d40c7eff8d549943bb7d92e0763a7103ff8363591c172cb8ddbfae7ccc6b4a6be9678c65591ebf2e4229f9f8b8b2ee78032cf5cf097e2178710fb87c914a0764e742cd0942a87a42b0b03f3f83093dd383034e382721c1e5597adb477a6bd1a5bbbbe644205a3863fd294df0d8bee955672a03c5983a4412150a904dcac4d89aab1b9c93e7e3187b0657cb8b433a02bd601db4032c6a11102b4789cae7e4fcb8722f8fbf4ce16c44647fe7dbe8be24c9d6cc35bc037479d28eb4f96ee74d81712a1bc416b79206b1be41f417bc92fd9c105e3210790352713193c4bab93c9adf874d5987dff4f6a634093ffc05d79c8a3919f15347cb030a8f4821ee80c3fe11cd5d18958f4f2f38fbb318be778b7df4d4537bc2421f38038ba2b604581e09c4b15fd84d327b07d78d574272bd69a7cce715a2175558f850037c1c6bf55556afaeba468b13d6a8c972a43984480748e80c1b7b94649e9cdaf700581f0208e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8024916ce3f1e16bf15000000581f02de5dc75eb55ae02bca2c20e7c68374373de543646a942a3c71ae889ebd6c5820fffffffffffffffffffffffffffffffffffffffffffffffff76c53198e50104500581f02b07f06d766a956998f0ebca228ad580397da6f98935acc722f271c9c08fe48219594add0a439800219820200582003b7fcf6a5b2e4d80957623ffb249dc70f9537dc1c1e537299f987ea956cb5905820fffffffffffffffffffffffffffffffffffffffffffffffffc0839d68e3e256103d65b5eca45b906ea5565ffe840797bcf088dd3fb2ce1d34629403f26f48b95f7033c4f38ec634d2266fb00cd2d9680eaa91b611dedafa69f6fae82c86f0a041b9603d82c82a25a9d58acf7eb7db6b4dc8890ebcb892bb703fb6635ddd8dbea2d8fa503ab1050a65142745533a6cd6063c3b33849d9e47522c86fafaff1f7f9dc1ce69d03c571a9550a97c15eb1fd1eca0716a1a2ab5fc9a9a75e68b08bc4038e729eb4e803e3043ed9254271ce0f343dc040419aaa3b3315748e6c567689aab7144ff0a0dd03355dbc98e7fcaefb451454f9031fbf80c6ffe899cd30b142b57f955ffcda0a77037918b5beeaaf04f3f86812b9134cfc8c8cb36b3a8b742235f1f546f788c7a717033db384ee8baf9e02a3d4667306929cca0cc03438a98f17aa2b3033ebc12941b3005820038ee49fabc4807660c30e02add862698b33bb27392ef3fa373785f2947ecd105820fffffffffffffffffffffffffffffffffffffffffffffffffb8f1413dca4a093030bee45bd28ade4f34ae1cdb5ddc42abceab6e881b5fc13692998e864e34dfb150219fddf03dd9813d4d1488687c510dfb6ca69735696e549736f7b5801f4519e3b4465eae1033173593a39caa29feacf94f90a8438083a1a660b695e722196fe18b8b702c9090219ffff030cc1b1733431b6117108a9c657754a33813f50c105938a58d1e00f6000ea08aa03300a372ceeabab64acff4bc52c4715589f6fd1ded748272b9b0035eafc558c3e0335d3b715c150b5ba570ea9d75a48e48759403714106e62be5c1d91b5eb1be5ab03a69cd791ad398d285f33c460f7ceecaa57f2bba0087fd2b993adf5d26d4b8a2003ab09c90a8e798eecf81a0aca3e8392fd6dc44ec009e680e51ba5567229927c4103fcacfdb9fc8dd27f5c74ee114d58b07da34a9abbf97c5b2414b0cbd61c957cae0361eeede2981fc495e46ba8ede7187d52eed86b62684fe348c03bbe8f43b16d3c037db224ad0563e25fb2bfa4bd26fecfb0eb23a012ceea44166830ecf3fc9bb64f0396dec18fee19c0db65c7123830e4ffe3652f39fe89b5ca790203b639052d4d5a037376e28490a37e64bd67e26bdd7ffe596f1ed01d4e4aaadbc563f4da572e824400581f0281ff96a7786b6d3b53c7ef56bb471d05aecba45a824eccd33534c47efe675820fffffffffffffffffffffffffffffffffffffffffffffffff7dfaf82be760f4b00581f02edb3b47db84342c97cd692942f9673dee847ba6c4f8f41adcd42b10b9fcb4702e0d246bd44fb0219240003775df3aec6b276a466a8508a9cfa088919ef3f68eadfe7125af0de98915ec0fc0141050380a8991496757c3e29c9abf0824989489c9c646e0f46f699d0b08d4964c526960141040391ce1c1579355e7dfbcc33bb1c20d9384f2eb05f642dd1a3ba8ee9a73695d075035ffc283cefb35e695622166693adfda441da04cb813c2d26b0c5325277e5e35e03b03189c3892a7d9f62301b318dfc370541ac1d17c0259559881302ca85c2b0250058200377ab0bc342eee5426af53c7744066d9d822ef435fe617823107cb65346f3d04701d5722e71f7f203f571cec44cc4359159fb08bac42368c4637d6fdbe8fa78d37726a36131bf04c203296c14a820d89db55240aea0e2d2ee88c6ef00555a87327c5ed896badb7fa7950303cbd86f33181b9bcca6fa64e20de9f7d8acd98bce1c994878c507b85248e4cf03182a448fdd0457fc2bcc90316597f35e68f06221ffdae36277575ef97c927621005820036c13519851a3b3db46cf4f07a075897b299cd0311ba0cad6b01508bd0427405820ffffffffffffffffffffffffffffffffffffffffffffffffdc84e076099c051900582003f988c475c8046aa1177a5a0ccd66beacdaa2e5f91b491f718d39bbfe85fdb04713ea91c7dd76400058200374fcd8b5cf7136e5b5c8590ac6428dabfd1fb3b748dd5e6bc2e54cf1707aa04707b3dbfb6aaec200582003917c8961ae5f5a84d8386023eed4167e994adc40b65a54ed77f7acd8c414d05820ffffffffffffffffffffffffffffffffffffffffffffffffffd1ffe1cb64342e0219fdff03b97effa473cd616992c0f9760f0c3569be61aacd47be7d30edb93464259b25e8038ec749f0134653717eb531768efcf8644ca7ef053ec0a60d52a7a77485061c92005820038664d22c25e07f3dc9e8e85f1567fec1e8181075e4c29bc42bf4e5e7361d605820ffffffffffffffffffffffffffffffffffffffffffffffffffc15afc6ab0677a03a67464d5dec61baa49708a964114d9107de3591dfb846c81abce56f0954034f203dfa72ce7abd0ad3e9f2237b18e40240a92f424c49cce2ea1e5201341049c28e600582003445fe6cc284b94587ac7d2cfb8e5a9ace086786ba3aff4af1ad39db0581ee05820fffffffffffffffffffffffffffffffffffffffffffffffff4ed2c8af9c915c900582003baf2549222ed43aed4a8346898c0a5bc6ce449183449e07ccf509cd61e17e05820ffffffffffffffffffffffffffffffffffffffffffffffffffde1e49ce4494c3031706f8425f59aea8a2bb7fe879cff76d6de2cb81ba060f6cc1412b192568f56401410100581f03a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04269b800581f03c6b68f962cd12343a82d2c89de5e5f1458f9989e8c0ab22a520b1b5197805820fffffffffffffffffffffffffffffffffffffffffffffffff55fe5531cf1340a02189001410b036ea549e62818d710aae6c877145ac54c7dd8a64b5328f05f92845d6d0019304403916a0d952cdcf848b0b3b26d985bdf6a62f939f9acfed81aa1010b8790e589a003646a2ae98446cb936a069154e3e7bbdb8926f54a05024b700f9b8a5b0ee661e90356ff56fc7c84e274766afd0cbebb01cc4502718637682903d4fe2c881233412803f589257068430b5c16e915a4c00eb59f1534f9ca334dfcb78b3cb0a1c4473c3400582003535c0cdc67a8b8027893ea224a4a6f2173c273f4a9726e07b61cbdbfb4cf705820fffffffffffffffffffffffffffffffffffffffffffffffffff95ef3791fb46802197bbf037ee6a3c511f50930b094ae072e982bc1a2ceefdeb3d37416f903d7d64dd6a2da034620bf3e5bf0a73feeb73fc026fa72439a5c2d01e3ad11550de671a51857ab9203213bfad6e87ac1fa9318176bb6e0ab4f05a07672c2a0d59c907d78d1f87b908c03b3fa86983e5ac64e448d1e59d656363eb295314b93411b60f7d3c5541bd8eac003aa95cf77eed4fd3fc99bab5afcc2330a736bb4de94b7ba777051b1cae62a1a4700581f023c89bb195514becd73448cec8416c7908eae4f0d5590d82d56b12d6bcf0f5820fffffffffffffffffffffffffffffffffffffffffffffffffed75d3afb19bd6b00581f029f574ee9e640bfeba65d43309a1d1946145a966139422fd4a4316ce1749f4209ef021980020366bac1f004215dc3313f8ca4cb58845be88305b9930b4c16900481ed53c478d703a8a08644aeafd8b54bf44c7bfc1aaf9979fe2cbc23ad82587b2902324fd84aa203f8ba12c6603a3229190c7521e775320630ad0d8a33da436809b7bf0fcca14b0b03e97554d4c957578a8b17fcc047a0f45c3d0b847ce7db2361315cb651f856200b005820036a1b4e327aed36feade2c6fcafefd2516274b80a474b25d289af14a58df960480e9f9f00a9d8cc2603ff2d87fbd2960b04b795c96fe35af1d72afa480e17deeecf9b5b5b36ee5be10d00582003b9a0c996f9a52dd0c916791b3fd04a9676b6e4654b0c9ae2918708eb0a9aa0471215178437d53303747226330024085066c499f62b3630de28f305437361bb714c513500bde96ecb03f62e5fd5219481940fd03789f1feefde60d2507c3fc8404f5a13fc357b0c4255005820036c051198bff00e2d1f8bf4084fc8397e93fd5e5506857ead1e4ca8a34170e05820ffffffffffffffffffffffffffffffffffffffffffffffffca06503058c2b96403259d1fd7973f1e62b43566c6ce010ceb9fbcc837014012ae5e26bdf5c0bb22f50219f7f70219ffff03d693a5e3a3f9e2ab89c49aca8844484154d4bccf1bacff6b402cec7b0197ec8b0335ea5f8eb532864a707078574219612de623c8b04386e0c7032535e302996ceb03f6a533597b236bb9c6aba409d82708daf2a8dc915670e92fd82fc3824f0f05b203c688c6414b095129e48ecf204fcd806431df186f35e32ed45103e77827174c77036ceba474683aa5382ce625e636198ca01aa100e8bcb6008e2c5858e7fab1a694037fc6497987e8b607352ab94f821ea4119157b236323e18c41ded050e0c1cf869034cdf8a90849e0d380724daf5311c0887d5a824034c0c52cb5b188fffcf26624900582003f5dcd92be87be96eebf1a5c1955d65bd00f2d38c92269f5a78fa1fecc0d460474381a54402ef73037d86344ef90770e6262f2f503e4d1b3f3920dd0a74d80aa1133ba7b5f3d3ba35005820031ed3604650b2aeb65f74a72d2bab8f72eeedaac2dde3d554b57f413b8aab4047500ec9f3ee97c003efa6a0ce0d4cd3740fdcd186be5392c5b63b5be717b45305e01bc87da039a0fe00581f029ef645fdd76e473213facc40fbfeff17439e4c00a0165cd18340f55258255820fffffffffffffffffffffffffffffffffffffffffffffffffcdf04c33e991c2f00581f033692726e0c7c2ea3ee8816a3e02511ba25fbf4117d7aba9a68882982a0805820fffffffffffffffffffffffffffffffffffffffffffffffffe716e16099d0ecb00581f03bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80411400581f03e8a79e67a5f5329f85f861b59098b3e3e69946d426c43cd7919c635d4210475d73d4ee8937700219108800581f0208b394758e1797300bfb347e9dc2d7cbb97dd2dfb89bb343d5884f7f8b315820fffffffffffffffffffffffffffffffffffffffffffffffffd1df4096beacfa70219448003c0953f524732929de4ed6b231411e79466a7e0a189deb78d7f53cabc11f8a5d503cc567dbac8484b6f7a30ac29bdc30e4e2eb1d5a2b3df0fdf25247729669909bb03c82d5585bee397cd769c862926ae9a1fb0b35a472290310622e2179af9146b42037f8d2c48b7fde7c77428bcfb2f5f24d199adb55efca0c1ebd691a78d7cff246d034db17a7479cb36dae66d93f0726151c685dc0e092439a0a70b99d7e6549a19b6005820037314d0f502fa39a2850903b280e1abcd5cfd1c6df0dcef4efde972aae17a505820fffffffffffffffffffffffffffffffffffffffffffffffffffe3940ad9cbfff032a1e237d9ebb7d18eedd6c17f359d1512d59c82c82bab8a1539f29dcb03297e203ebfbf405a9c8dc7458754371fea11fa48a12726467207c4eaf47dcb5843172e2034ab2e0044b3cc0e7a06b91d7629c7afdd20053acce43cf2e3a752fa36dc29dbf03584eb414a3384081994c1b198d92160a766f9ecdea6f3acd0a2e45aa478144f20219ffff03855bad16b9a5f2c20b9ac308d0cfdf11e7e58e12b8e3e54a8970f2fb2aef33c103c91492b90cb4ca287345530e13351cc3a8f0c9fd5b1f6866c67068486b031eec030e8b15f7f111a8197c916bfb38de6c5dfccc061883c47c89394b0b856dfaa74403e97c0c4e5c222db573c078fd1fdd5d16a69fdd5e836e9914aa1905692cc1f04f03840182e3fd5b282c88bc5085fb96aee588639e1ad317d66827a633f9fb0735c203e73258cd1aa4e93389e42b7641bbe0bb552bd530f47ba3040d514c8c71cebc46037c9a740d60bc0f77d09a90a8a531e526aca5e7c4925e17594e8c98bfa2c042f60375655394d44d9bd1d0a29c8130a79666177e41ffba5a55fa64ca2db93cd370db03eb2e9fe5d3c5cc6572507b1ecc1b8d38aeec527f3b46741b8d3d7960c8a9bc0a03cedd74ca8cfefc7d0ed480ca18a7de28678e8a690c456dccfeed577bfeb12e130058200350b09cc3fac05384b09557c65c418eae24402eba4e0e3c9b895a9371a5ca5047192487c742e0000346b4edcb35eb7d39fc58a947b6a0ce44662bd738985c15c9c735eebbdd88c21e0304bef418325088c14dceb89e997f8028d4b1aec2325b741caf738ae99e6139f100581f0246b64b182cbbd47dfd66e24681b47e3d668357b25e928b9ddc8f74b6acd15820ffffffffffffffffffffffffffffffffffffffffffffffffffe468f0e98bf74800581f027a78b96291379090d5ebc697b1a70a740053fa9c91d479b2079d7749645b5820fffffffffffffffffffffffffffffffffffffffffffffffffa2408a6f64c33be00581f02e8f0844e0a665aa38d5837a5434740d969c588cc168706a8faaea7012b5a42029c00581f027b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec5701000147270ca9a3cdf198d26a847b577e9bbdd96a082a00581f022bf078c968a9f907b4c47af3addd58c3cc43ebce88b932157482f8e900095820fffffffffffffffffffffffffffffffffffffffffffffffffff7d52f4d5d54890219a460005820030b7c46dd6267c04dae6db15feaa2363bca6ae621d2437ea8dee0fd58eaf1b05820fffffffffffffffffffffffffffffffffffffffffffffffffff17a5dea6a3f3703d547e1b82775b3fb0b6ce2104557c27c139f21b38eb5900b003e19d3de919dc003751ab5284fee519871c21a0308de7e5e29bc6eb04df33f5e5792347b4a61410803130cbc49327ac87731365f7635d354a3a733909d5434fcca6b49d572221cf0c7005820037abfa1f04c9074eeb903260fa10e54106a8ca6e52e1c4db1d844b33c0f0c5047081e35ad8206a7030981feb9ba1a35b95d7d358b5025d1b10d04c63408d5dd035f669108ac93f90900582003c60369ddb5876c2d495e0f1066b75cc54746dc98a819f62a4327534c84ff9047382be2dc000000034ed1ad87ccd1d8923cf64a472e9409a2d4566243fc3d349c47245e7390c836910343411f343a387174cce445205f0838619aa097493a3d6eea06a2dc700d2e51990219ffff031f5963a269a4aec07bd2943303070bdaa738fc1b5cb1a6f12e5ee520ff0b981b0219ffff03c501cf69bfc2394b53f4b8f578fc8deb66d3cd68456b5e431a1fb24cda70168103406057fa42e3bbb07e20d88a800bb4017c68b40916306e3d7554de3440666a3803631f247c6308c8884b81c3a1c1f615bcc124826d0d3cf7056324ec4755dca492030ef2a844618b84f5ede8ef75253fc0eb281c0279655b15fabc1191e48cf2bf9b0397bad45e9434d54e7800d869b993dbcde838ad353537b26291448fe9b862e90b034cc7c82da0b66a0596a75ff730191dc6264b3239e4ae4ecdbbd5237445262fe703f3593c2145e6111cdb4b975f7a419adb7d282df2a4cce883562a87e793e14f6a03eb53d524dbcb9e3dad4fc7f7e99527d2620589de342d721a026ced5e37e329090058200343b640c4794670706fcc8749761367a3570c7f383d4a6bb265ef6ae3bfe9204720144877af68690058200320c2b88dab65a051b82219002d810bc2376c37f2032d754a4875cb64a8740048023ee83f81ed92c90304a32d675271c048b5c421233dbeead0c368c9e0a042db022b52caf941ffa7e603d9fcb6dac5328b033701440d4c323449c17f79e08b9ee0ef70e19e41d0ee47fa03fcc8838a74c7652964421452aaecdb6e8ce405ddd5f889a1e3ecd2fad042764f0058200314c2d19f1f434a144496bb24c085f16d76b2feb1edac0fdae88a7ad9f1a2805820ffffffffffffffffffffffffffffffffffffffffffffffffffd8647e92ffb85e0397b4e2eca1e9fb8f3a816336d49599330dec7dd1b9768e5e5042a52ae2bf9ab2035478e6902536ea0c7046f1cdedbf81962b2a4edfbc2fac260ebc9643f27767b50311f9f6a323d7d045c2480dfb2403203132aba7ff8fd3f0dbd97203327bb3ef1f03e3a9a6e06e947ad6c180eb193f879bf351ec91af8ed2972a8e9acf77dfc0169900581f02c95991d1051b57e5bb5f62fdabbe83e9c66910d76cb1ba79d6c41fff2f575820ffffffffffffffffffffffffffffffffffffffffffffffffff6a7bdd4f457d8200581f02df64db23f3627e3241c6fc8d833e33a9d89980d0a7638d6dc94bc9225cf24801222c9366be06b000581f02971bdd73164da83c2d8ee9391db023491943251bf22a0d2812a3d816d4ba482dbe7df4578c8d93021910440338e511290702684365db371d137492dd111a72ac8b4f55ef2c51a81a2c7cb493032791530f92b9daf84fcb229f521e0945e52a42bf80ec5231d5e6adc1f11971f1038e225bc00619b991ff62ac7867d3069c0f1b7b9f7752af2f3a32a99f508277c602197fff03e9338a2d37315f6fdc94d7cc4b9943effbf89fa8d3711556128940a13f1d5e43038678fc1dd2bb9ae677a5fbdb5942e782c431ac113210153d2a01138e87c3ee3003243a1cdbe5671a55f3be16e3450611cf05ca87620dff24fc26c3d80110c530c5036364e823c6f1847967b5f522df2896a9f2d043e31fe9856a19c33051f2aa062e031e02c7ebfdcc35ce72cb8059c91d60a109c3e20318002b85f412b03c77956e04031e86fabc1bd6ad49f3007ad2726a5208b14d9eb2bbe0e8b4659ed634e1a0ac5e03b2524f64dd7396dc6638b9fe9f722f50712f575fb072954291eeaf3286bb965203909f97b139539ab8e6fc35bad1305fc1206ecb5e1b98021796e54aab9548bbb90219ffff00581f027496f612d9ef8ef963fe8aa11ad6e541d383270c17b6a6bba70d26d678315820ffffffffffffffffffffffffffffffffffffffffffffffffeaaa47f2fd1abd6100581f034d9c42f85104aeca3401f055984d44d57c68209bb900be34cf90ebd1c3e0453933e1cf0b00581f0354fde17ac7be29a471d2f36dd6854ec096497a32ccba5e1d098530f309f05820ffffffffffffffffffffffffffffffffffffffffffffffffffcc628e8b01a5840219024000581f02361e12b8ecdd9d94150898fc82f35bbf229ba526a068ed4177bef78fb8c7473f545e61ea18ae00581f02cfde499af2f96fdb9af1ac9fde4bf2e58e44623928a221d92eb713166a175820fffffffffffffffffffffffffffffffffffffffffffffffffb27e53a09349e7c0324bf90c9cb71fd2f0fb25551572624434021bb3bfe2c6803b2267adc7e09601d02192a11036374f99f956b9d1fda6b25ca3f4000522cb6c645148b8086b1d3b38b0a11cfd700582003897e9d52c22bb693ca0cd6916876ef2c80bc6e927a78a07a09ace6244a3c90480105e932179bb6b6037d78f68e497829ee2a0eb0b67b57eda503761e85ca013d054cdb0615d150a09a0058200394a6f6fab3baf2609821e8bdc8c7a3450a88be7a27550f1df72e8e92dfeed04650a261d8c3750058200338c5471c5f63dd3c1af7e19263571ee50a2089b4cec4f984e6091dce277e505820ffffffffffffffffffffffffffffffffffffffffffffffffffd874e0b70838ea03267802cfa605e8692d0dfd83cb5f8ab3557262b655d1add2b4d9f0dc9768baa301410d03bc88df09726f3660d1d5e860737e00a6aefc8db3b88a8a34bec3fa16661ae6da03e9039d8c7fa035b88dbd1a674db1fa262d47dcbe6a533098083ddf24f3e0f6b803036cebb630cff646a792c9010b7282f75ae2151f59c26b8b93f98d0db06a00c000582003f696df0b5ef3bae54c4ce5873c3f8d6b58e9c213d6569a958fba8fb3e9a4205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200360ba9292bf2c574650d81366e99dc1aa183bf31f13f08e2cf9cfeeefd8dfc04107030aa1d87d2a46dd41876f12f5de7da37f222b313a959aabd78cc70047ad04941b02197f5f03c06cf0ad602761472e0dfe983f65caf4c3eeaad561d713c653f618a38ecd938b030227bf46aa98d72e2c20d9d565fac99152d2c8a12917bff25787dc4521d86c4c03c6b078ad303bff1993ba66eeae89c60b82a5d51546af23ba8c3c5a5c4e495fc8039e4effa4d191d7281a9692b5fe17b8448e09e075b99d45929e80fa6fbbf97ab70337556aa0dc2a6a6ca422deaab881f3f9a64fc484004911e8c0ca2d26a86acddd03fc6d119d784229f37f7d0f624bb5486636cd37581c79ecf47b440d21528b0ba703099492a089a6d9c3c6b0b9ccfb323924f5cd301f26dd7d1059a6886bbb9f0df903c2626401038a4ad3e6e0c0bebb4bf295504713825a6f5dee963a977def3fc8900372fd81f1e6b99016a1585bc7c6bdc3038eaac030734be2ed3f4f178c3b8e9e52031dc7c9a777fd6bb8d1a00dba480829df2d216c86a9b47dd8cc9fb70d7ffac4c3030e2d2163bd2e34d146fc088fda1c9e9a7400671174bd350d4b2f3007f0475bf3033ab693c37b48f6523b0cc3f17fa4fbd083bbb3add149ea9bced796753fd3c32c0363dcba8a88957fe82459cf2420e5a4fc11dd680d78006dcb1c5058bd80f0b07a03ce4857557fe88cb4bb3468a15027afb5e5573de409ac918eef2aa6dc764a7db803571ac2964388b2a82b53060b674f6e70fa8dee90fb961fa68dcc6ee1eb8d0ab70219ffff03ce973d21edc2ef5d1145ed7d7740c925b2cad984196890faf2ca6c4ce6a87bba03ffac6e136b3c0f7b79293aaa1a2dbb031ffca46136dcaebd24363b6542ab6af4034015c205e02666386000e662c786a04581c0026a6c120b894c71a23a45b342e603ad42f856343bf93fb3e27b64654ec902fd2498b1f3f80d3f0195935bc340ee2e03d6857354c105ae0f2042a99e49d0ca299b59486ad86ebafcf31fed0ac5d22b0100582003a309fd72ac79fd1f51daba5cf64a21569aaf948e8540a94dfa9a93a413e56047052a6c5aa961ea00582003a6c458e0699dfc93ee095d3bbc7d0b218c1c22a741b5be224f1e76a6f24bb05820fffffffffffffffffffffffffffffffffffffffffffffffffd85561ed7f0f771039ac0ea5b02cca7f87387e7299a3c738868763fc40a7529b43f69caae3301210f03479c6bfc50763bc6d6b3bad6e724c0e411c65c77365c2998754914ec17cace84035992df3548c33531042173c045cb64912395f014699edb9ca91b5705389d548a032300a6bc85ebeb9901f661c7fd2c026c3a7cd8271e5f8cf980fe94026623c045030d41696b33e06f22bbae874974f7e7cfa37283f670f1e86bd46987b618d5adc203a880b040bd33994288a59abbefe03075c69359dc438050e93d4b42f0b2f740df03ba417b7726b0978300fdc7590f0cd6e0aa51d102d48399252ed4dced20fd921a00582003f44d69fff28546c967ed111bdf51991f9d154bc6a319bdad50996b071e08404808dac7098c02b13b03ce83855ff69bae860ae325a934a4d01b57f88453b709e2a7bd26bf12ce8a0630036058842d7fefea37d68291d5a4ed14b9d41ba5c6e351ab0e7774947f78cbf0d4034a9bfa247f527a7867d4675616660d2c674c007fb3bc2f84dceef2f9d6ba431700581f029ac9c0669424520be127ded819244d5bcbc3e621bca2f440f24abb3199655820fffffffffffffffffffffffffffffffffffffffffffffffffdf6a3b81319320700581f024d953d6ce1d08162817b0f88df54631a06cb7aa78dd85d1053accb3dade8410600581f030e91b538941d2c8a27a6c337a4ebbba6197d9ac1adc799e879f0196cbe40410100581f03f65bc0184282f3b5ebe5d03936897e8b99a645556d3652cb58ff4be14c004715617188589e40021920080218b00219ffff03753dbddb3fec8568212ee7696941fe90b57dc569e6e93d0e8472af3facad7dad0364415d1cf57d64b283f6bf20f5ab5364be077cc332fc30bca033f40a8d6197e703a9b27a7101ba6fd944ecb38e3e2cd66786f969ff1fc92b7fba0600ee66b4be10035637b2dc11c4c506bd2a3d104816555f085e57b5618856b405aa7ffbf268bb4b03533d930477d3419abef2e449f894c27d1365b08c1018124d30f0c8c5302a9035038e55f2a14ac30d26c703a5784b266e4aa133f10574c6f9eec6c5a1b3f8fd861803f2ec3000af6e723739f072f0b21d9b6bc0d9789e0a52ba6a7a8d1bc7e652ea7103237514cf14e6de2d4631d09ffe5e445bff716f07b40c8058dd2e370eda7c68bf03d8c06fb2a1c70322629512782e51210ab33cf2f9918952af633ee7a6ca9fd22103933de4b9302a50faea2eae47513eaa7d56a023997eacef98da4f7c0c14661e15037ea6a6457291bbfc8e96e6e25c5d1c7c5f812a39a732ee882755cda70ac6a77003857df3130740cad4f5a520d0dc07caee9aa0c46ec477e2fcc5bcc6259196abee00582003fcced51492a3a3661748c9c776000ef1a9fa7e00dd0e3ba4666979d10d5f405820ffffffffffffffffffffffffffffffffffffffffffffffffffe521a1c799022b0397afa9e728bc26e8ee437de11d11b3546800e9f0b1bc48c8031f14cf89c4d2e70317e2bb4d838c995fb16f3371b475626fe94ef43f96806006e32d251f865d150503221e3fc846cc47af6be6b84a4f7ee451efcb5e46c24263bd5716f325309ebac100581f02c4afb0934f51349607e494bd5fe1eb1e4a6b6cfcd0997c76c220b87881195820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0280321814d270c5ba69f2853a74f60d3a3d09431afca4a0b1f77997c24a685820ffffffffffffffffffffffffffffffffffffffffffffffffff24fd79027557340219120003c922495e53591e51761c823baf2cf779f27e8cdd8140b700e4cad998682ff99e005820034474eabbc7708c86b19ecf5197df0c3195ffe017fd7c3591e5eeaea7bbe700480786d9b0fdb91f480322da0dd398c13aac4faa5af933d0674e6eabc3bc213690312fb2982cd3d993a803063a3daf80027dac9b15356f634cd10293aecb89e9226bf43983a826ceca81b5036ec22bc6dcc35c52969f79fe9eb58d72e71131634d278fc89dc0842ef35d1ea200582003aea146b07e0d37db2f10a55f7cfda259047d5c577c01ae5044ff0d07884df05820ffffffffffffffffffffffffffffffffffffffffffffffffffaa21edcc0c49ee0377e497b51ef9e5252cff354d170ecd4a5f7bdbb2d437e552e5c9f566a7c2c6260219fffd0356a07e880506d20380e85c60c2915540e07d60f76550e0f1b00d71a1af3ef9bc0346ea83b7da9f174e013e3c526daca7a5edd4c6862c154c095d5c49548d8c33210219ffff0219ffff05581d02fc30c24cf0670f3b1386d2ea2d3a1349cd7cf9630e237dca2f24b4fc0701191b7603197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581d02e9493bb822f71a697404b0aa33a01bcd6090be30cb017debaac72eff07011bffffffffffffffff02190a84021912eb032f42814a23b0b7dff91a3e63585634b877b4aa6cc906eea5f15f868c5e8457b0031995ad68021ff8712f950d0a42e54ca6a3a3f42ab51953ef39c3fe6e7fec39ac03c1fe908dca4253bf44b6075343ec8041d98eed77860bc58e3ff6993d1f4390dc034307d047a55bb3cc4ebdd1e9351ac3b4b24c29db6972a54badc20758a5f77c8003c6e91fbb3a66e14d26763174236c4ba168f2174ef6bce5945e2160a5a451b4d90219ffff036f5b00911621000d6f46881d4d05ebb709084b424004ba363eac494ca02f03ed038c63ac1df9b61b6896469169084540d899d0081874aaa76cdbf8d56c1f2091bf03724050d23580ac469f5b6c7dfaf1c60129c3f7948942de8259f38a3f95feb39003513f3293e0fce69721747b43b5bcd401136892224a0f1572df92f79ac85cf85a0331aaa089119a1718acce43adb1dedf81cedcf5ff9b8125a62bccc4229be7cff00315115a5e9c0a372cab3308d5375a551c95e95658cbf4ebfc3416e0796438bc3103d905eaff3a46fca376df2043df126c045627ea59ff5cb762c2cbd7a3c06a0a7a03af3b9824747d79c176c9c5fcfcd824c82bb22697fce23e550a76eff92e30451b03603c83ef09fe7e1730337599ae2b06e10bcc59fab8341ef5780611d8cf65b679036437352fc2b69368e150e728588e347833a384fad36a7659307cd2f012d9ed97036b58586d6b22db8d5b183ef0c126ed9ee313ab34eb472c684d73d35a16cb2c3a032ecc55794928db9151f378de610902f27e77298c1daaf958980730701775ad9d03184019b86e318847dc940e4ecb4d32e6e2b8dd8eb7edef614157c8719aaa17bd030866645c8fa7bc4fd481bd5d49cc5cdd9ef97675ff33cee5d7378bb5ce78f1a70219ffff039d86e1836326635c9e07418c6953e7d1faf9ea44e823f2fada9a23424c82ad480374a9543474c8426908f716e76117a4f50b1cd9742abbaf85b0bed299b951458c03e1fdb360c0e4ea61a462e30ce5349fd0279f3fd560364bb1b815a685b2ad669003387637356fcbe052419e82c2fe530b049c3a5766300577506c271b303125fa8803b99d6f38ae77ff568eeef50cf27d85cbb7f07229555f453186917237833effbc03a220d483d233e283bc7956b2e2ae1c7acc1bf987be5d423cf5584101b688723a0219ffff03f37bc1c30f2fdea64955a3103c8e80f769ef2421c04c565493c617b3a4401aed03d0c0f6753b29a4169a0d4cd11be7f4ad0e4def03ba837c89820958318dd6951303d877a7364b4acd63199c10de2d752543e056e8efb1c91a8edad6ef585b81d33e037bd9ddefb085840326517876b65c8d529d7b6ad90782332cf45219eb891d025603f0a8a194d5f2544623f6da4e552bd7170b5ae142f07e66a856dd44dcd0b5b56e0347f2325d4295dcf28219af7350444938023313cfbd584c985c4ce1d203b97ab103b74ffa7f34f9eaf70b9c6e9670d5ff4ed1c08d455d4112862da71ea111c39eba0380eb205aaf71aac782f8e3e675e620d7658def656f6e395f44e2096cefcd8bba0347eed5db0c685f3ef3d94b0f3b2d53cd7f48c641569cc1577974f31fbe8170f1037b2bf49bc96be328fdc95ee10a390336408cabb468119cd35defc30728b194060332dda2afc1d31b9de01fe737a11e6268d8634a3f0409de7845f60aa5bfa11db203b610e1d2ac074c735c22809f9437c818159007a9156d2d04be09fc75920b2a150348a187e917972c7b0b2fdfdbdf6df89636bd1c832206c478176b01e276becf6303d01a4c747c85009cc5343e8f6e035ef7734d9ce0418ebc933db1c65db05f4070036f379d7224adc76630b40fd515cfaa439c6df37002e8b40fb1f33fc0fc82436f033cac05997b788923b7b505b69b0f23c0ecfea913bb08b1a1c99c984e77b6da3503df823aedcb254af60d77dfc1b0090163a63236f35586a7df97c3ec59e3eb542b034bc70a106e198a912a8778c532d8d49e9e47cc111dd2f6ff5da91d1dcc7831d305581e03b0a1f8fe96e9b9cc939dea3bf5e626aeac5367e77afb05bb67fed6b5700c034790c009967c491605581e034a2c1da1d370a65ce8dbb6d212ab43703feb7cb7b9c9be9ecfbc6596500c09470add5f7fa1100005581e035bd5d2e133830b3fafcf80e7d9f76c67d7038b45448615e97e19f5da000c0247183f3a6bfe917203e66acea588e3c97f523cf4b684b7d715f0eb40c7908f86daa6840f94304db7ca036c6e1f2850afc2c4aed648b09181e49dfe9382338be740e287aca27117d0c84605581d02d4f5d7f5427d496102eafbc6f5bb29f5e6693ccd6dec73a2f60c50cb040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203619688e227f1a483dfc334e30c973e07d9e38292e52a6d092dbaf530e5ca3fd4005821039d0eee5e7c10c3f960de24658963c83ab60a381ba743d39d874b7b085714768041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563048034d9610a5cc0e50005821035e6be4e97734a29500e2cdd6a2c0b43acffb5cf94ae52098604e4eee827cd9205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04d2479bdf4328d86aca8a6599f520387284bbc562f8065e7407d8c691302719681e8bf6f0f0fc591e66affe329dd380142008100582103de8415c1e02488a325b94f19b453ead992d1ba96cbdb8a000dfdba9006bff88045fd654a12ce00582002b21dddaf50b46abd0602b134ae83003026349e55c5ed8e2659ff5d323d270248034d95134081f79a005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4802184100582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582053eb3cc4cca4cdc589283942a9a07d78b3b6f60b6f0dc5243ae5646857683aa6005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85701b3f0d9062309597771abe715b697b08a8ce5c3edcde302184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582103839246e2a7d09083879ac3cd949b50db81d3be6f276493d283516c0dd148c8f0410500582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687d913000000000000000000754b3d460e0000000036c412e6f541acf571800058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5469af81e73a73b40adf4f3d4223cd9b1ece62307400582002117b1eeeeed4e77a2cf42cfbc6fa99ef12cdcc157d697adf4207dab9e8a0ac4101021904480219f75705581d0287e99daa4ae977e1d92a0e1c5de914cf39e6750332e9eb603072e2450701192c1d05581d027d31de48a1e24e49306e0c4f5f97eff854ff83adb78e267ff46f7c8704010219482005581e03dd4d3bfad4bebb21fa6ae8f74b7b75929748637bffc3944a713e744410040302199b8c035e81764c2cb9f73833e5ffba6b393374c92934c84bd71f34f8b47031b8b2381f0219ffff0329d1d64da79ba4ed290d6d5164224b0c22d8ae87665d95d5dfd64681514ef8fc037d0492ad3789b3c14c0f0747db5dcc7883201ff3ce10d042cdcaff32e3c46cfa030e7a37541b22f38254394557e16513aafeb57b42761116b132d2ccb3749ffe3803288f072669f66233bbd1a710b22d434bcfd7408c4a049e8af38ea0b6f9fa5f7c030faa4800b137764cc9a73bea136227e1267a979c29d2696725fdc2471020c65503970726a5fe696a3d4b655b206c743acaa632b75ec81d9d77f7b344d3b3bc9f5703bd3d56fb4f0ab306ce1a75458147cd73f647559c751b4ad937285cb79b4514b303e0f81d1069c34024a9a0def2fc4621bc2865e48c3efaf34097ae13746454c2ac03c5c018a3f372d697809868f248981a23d474bce9f499fdbfb0e66720648b07360305372a2433811e196416d5cdaf6ecc30ff9607636de9e92b63a0c9b8042176170338a41458a458bdb8150c242538fd878bd701144bebc2850bf20ef90fe6dba79a03f7cd3178cebc43a119ef0501e17b1f606a05895cd980b021e9f761ce72f9ab250219ffff0315154c158ea1fcb9c07aff1de1e4d3bfa8358f4709ff732bc54c696bc7e550d80316d5df4ab5aa7adec3e4cb5e67ce19ee3c2115e3b251b3385bbe0175215afdd003b6b53b93342fcc682e626a04225be47491833a914d4d56a33de9a1ae2cb0c12903df4ced132a173a168cbf1b08a4a95e2c1008333169fd6a7c8094b8a9256641e10370def5d2e630d3a47edab71f9c3a9a304f06b845d86a8acaf6a273124edc6c4103600a1742ab0e81da5a3c7f09ccc02e52176fb212c85393e5c5b4c1c0c49322f103668691b9f2325188b4cbe708ba5537d078bba7b113ca08bc9096bef1e12e929903d0f548d5f4a07e7e7e1a0194038cfad14ffa09d163023f60d826678f04f04a3403eec7229e7bb9136d55204c8ad66dd5112f630885fc58f1e96eacb2871d2541a40375f091147d2e3d4df0bb6b11a9d38c083a5f5c2344f575cffd7fb10c775cb8f103e41588c725a5149f022b2d694b0fa245a5e4d876b784da3b235444b3d7f14dd8030fea202737210b51ea4758fc5c781f7106c9e44cf92d67c9db33afbe5b747998038aa1dd48d00eb080f2c70c1a100718426ab0c4e3cb53d501db6e6490d66a9c2d0329d6e6e4cd14d13b1f63c1a77c3c56f612cb8305b1e219d1d922f86949a2d5a80333d9f44ede2564c70e1473578f48f85bdc3bc3391a04232832feb985a7171cbc0219ffff03a1645367788d2bbde4b7e9d7e9543ffada543c209bc6991f55edbc75162b8953033fee3be5fd7aed80cbf8450fb67543826568fde7a2db40648aa6965dacc6810d038449adc43f25341c7a051022962d6646d91b826ad679d163c3e19765d4a25eb1036dae373601b0684c57830c23fc24fc923e63c5d43c33853775458de6e4e264c60337c19a287a52f591b7e6a28a3c90cda32a71ed0ad3521baa38e4a599cb8a97a1038735b98330c3ec42908de0ee21f74ef588c9e9c8df37b8cfbd7bde330f7bfb1b036aadc08e593a1180c7a957c9890d3353559ecc31785fb241a9192c1d739040c30342e78f2a8e07b20acbc3985249bafaff6c1a49337d2ad5cea32f3ce02d5b8d4d03eda3fb8a909e19b1fd91fbc967f227d4018d25610833cf5e513a92f651994f54034d27dcbd5ec5462c14b6bf0d703db54bf7074036269deb5f7de9c99b2c9bba9203f4d2c9423ba495a086716dabfb7618a681a16cf7adb5d151842a8b59a655f8c2034d24925fcabf6d5c11fb910d4ea4065e482d3c9d27e0f28212f514fb847a7342031818083a469e48525dc83a2607e6d0eb9d290571ccc76084dd51c2cb2d0a313003f0506408c636fe03e49cdb03438a9feefb6fbd64a3fcd472bf0086cb4e16ef5c033d07080750f05d9775224a4298af1af04062a05dab364e780aa2d9c4087721dd05581e030cdf360de659b40fb71548e30151702fca69c96dd4db01d71c011ddeb0040105581d02f977cfa14bbf46ebd9969dada581c33d982b19f97bc3d6057056c23d0c024648c27395000005581d025a47cc50b21dfcebc6bf25ba5b3a3515232172cc563d4f11fa0feb050c014701508356912000045909006080604052600436106100435760003560e01c80633659cfe61461005a5780634f1ef2861461007a5780635c60da1b1461008d578063f851a440146100cb57610052565b36610052576100506100e0565b005b6100506100e0565b34801561006657600080fd5b5061005061007536600461076c565b6100fa565b610050610088366004610787565b61015e565b34801561009957600080fd5b506100a26101ec565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100d757600080fd5b506100a2610244565b6100e86102f1565b6100f86100f36103e2565b610422565b565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009bfac7947fc1b64aa9f12b24ecd519daecef3ba51614156101565761015381604051806020016040528060008152506000610446565b50565b6101536100e0565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009bfac7947fc1b64aa9f12b24ecd519daecef3ba51614156101e4576101df8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610446915050565b505050565b6101df6100e0565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009bfac7947fc1b64aa9f12b24ecd519daecef3ba5161415610239576102346103e2565b905090565b6102416100e0565b90565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009bfac7947fc1b64aa9f12b24ecd519daecef3ba516141561023957507f0000000000000000000000009bfac7947fc1b64aa9f12b24ecd519daecef3ba590565b60606102ce83836040518060600160405280602781526020016108a460279139610471565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009bfac7947fc1b64aa9f12b24ecd519daecef3ba51614156100f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b60006102347f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b3660008037600080366000845af43d6000803e808015610441573d6000f35b3d6000fd5b61044f83610599565b60008251118061045c5750805b156101df5761046b83836102a9565b50505050565b606073ffffffffffffffffffffffffffffffffffffffff84163b610517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016103d9565b6000808573ffffffffffffffffffffffffffffffffffffffff168560405161053f9190610836565b600060405180830381855af49150503d806000811461057a576040519150601f19603f3d011682016040523d82523d6000602084013e61057f565b606091505b509150915061058f8282866105e6565b9695505050505050565b6105a281610639565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606083156105f55750816102ce565b8251156106055782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d99190610852565b73ffffffffffffffffffffffffffffffffffffffff81163b6106dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103d9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b803573ffffffffffffffffffffffffffffffffffffffff8116811461076757600080fd5b919050565b60006020828403121561077e57600080fd5b6102ce82610743565b60008060006040848603121561079c57600080fd5b6107a584610743565b9250602084013567ffffffffffffffff808211156107c257600080fd5b818601915086601f8301126107d657600080fd5b8135818111156107e557600080fd5b8760208285010111156107f757600080fd5b6020830194508093505050509250925092565b60005b8381101561082557818101518382015260200161080d565b8381111561046b5750506000910152565b6000825161084881846020870161080a565b9190910192915050565b602081526000825180602084015261087181604085016020870161080a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206f70214c51cdd41c05ba0ffeb72b309ca3c8be178fd6e73c12162330799984f364736f6c634300080a0033036a92829d27b82ecf2111b7ca89f72b4ee2678659d7113ee9b97f5940e5975c8703b0d66ae71bcd01e60342eacf952a17e75340ebd0b04ba5e4c89098718b2eb444034c14ce1c00002f23ed1f7239022f690e723539e009c2d161e09371425f8581c80344dd370315daf0a1c9bb7c3c0f8d795ef7d1b00ba52f90afad43391500bd5e0903ec4cf28fbaa25d61edb79194711346e20c1e168fc73fd409dc591db11f73a83e0307556044857b2b396dacaa77eb1bc73e5d52eb352e8df40cde46d33cda1c39e403a1ce06b68265737ba1bcbe2a4c79d8bee5e3789321a20c4a8e6413b45306c38200582002428685f3d46dd9b8e614ec3c4ca491c2a237de8cbf2c0cb8e0cb78d8b34d9f58191000000002540be40000000000000000000012a6494fe06b2200582002a45a05aba0747dd8b2a2d3772c920699ac2eb1795884ee7cf226174bdc6262410200582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54319ae539b5ba554b09a46791cdb88b10e4d8f6270058200206708b38365b06421c2362736fbb9d663d0cefc1ebc569a3a452a023d744e3581910000000003b9aca0e000000000000000000035f6f43287420033093f9b6fe3f49558756dc02dcbf17649d0e5d7cb56884f8e5ee02db6692658000582002ea5ab720afc6ecc71628d8c652913aca65bf3811d568653acd9fa3a1e301185819100000000005f5e10000000000000000622fcb21dc1059d4ec00582002b4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308512f000000000000426e9e3d0b8484e6000002198d2a00582002a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82549f403140bc0574d7d36ea472b82daa1bbd4ef32703b6117c0f4c06e31323a4b9765b8def482ca3ecef74fd684dc19b1a14aaae267203fef16028ccf461912115972c2f8e0c2b4916466715393b0ade0b345fe3584dee00582002f97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c749056bc75e2d631000000219888400582002310ba92105b8c2b9eb72a7b10fddbd7094f527ca716a4781ef996115ee72ea58190300000000000001a4000000000c4cf518aea23beb0c5a0d0300582002f1046311382ff34d3eb4eb2e6125d37a645957120392ef039ee4d1d8d3acf15819100000000000230f3e00000000000000056a01b07ebbbc239400582002fe8d73ec94bad10d79d90bcb644024cf4967013324cf97891f68421eb2bb0d581910000000003b9aca0000000000000000000058a61e33589f4000582002d1e88f7e247f0066322b5afcb6a69492ab13ee48f5a59442809c51e960ad934101021896005820020c15d25fb825095061283c7bb9269b01fc19595ff232a9d82f4ec04371f6c85819100000000389cde8f8000000000000000011e9c884c152f53f00582002153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c2209775349ca0000000000006ecb00582002c34e5562fce1bb0fd9fccec93caf3a53012feab1455ebf44355d78a9a8a402581910000000000098968000000000000000056f283e60541c5bc903a318fc459c621c977cae7001ee332ac9f5d64cffda98c038c718228c4e4bdeef00582002cdf2a9dae962ba556b5bd56fb8140b8e9e3eda121d4343d1e96c13ff64138758191000000078759dce8d000000000000000000156d60d23ebdbd039b634955c54298dbc6037f34f4c1c34afe4a2ab84b0071be01208215b102273b0219421d0058200203bba8e7e07f3c8a1aa2b1af1c6926923024f10bb51e5fc832906a3fb6c5f058191000000002540be4000000000000000000007123695b231f9e00582002b551881c2ed73616348dbfe74fb0fc3a42a8b10f8cb436c52311eb03d9b611581910000000174876e8000000000000000000004114ec372e331f00582002828c334504a243394c5de02d3b03a6733845150d75d2980de73ce4b50c2626581910000000000098968000000000000000056bc75e2d6310000100582002492aea839c94c4c490fd10cb5fd08b67e81b9a32999aa045c039fef287507258191000000002540be4000000000000000000003d6200b734b01a02193140035cc25a76198b7eef0d3710284b2d064bee038e27a7fe327f2a317aba01c4eba20352b4d63cf4482c4c42be3c50b0558b44bbb959121c5b797645c50b5277c54dfd03031b486e0a1b2bbf57a51ced29bdf6dfe9655acaf28bf9146bc771c8b0ec1c66032a6af7d71741477658a35ab5eef821cdb6900d369ba8783b0320cdf260cd3fee0219ffff05581d02fc39c069202e6415f8137e3f9281e9ce8d2309935e8b57f4dfbaf65b070119090005581d02cec4d2338c2f011a69f4d978d9eb50e7e616ce70f88a51bcbe706e710c024702020fae0508db02193c0003cf67c59a8cd8a04aaceb1238128f16dbf2f8e7a9f5f955d9f617565a8c0ef06603238743d5dbf2c6938405bbc825f2e15c1da3d3d1edaace8ad25a155ed9cead7303dbcc925c145614185592422d27c531fbd9640a6d2580731f47bcf8d378881a46035406aab57d454bfec55b2a0d2d34dbf1e5fa504335354c27cb50e6962280a08f03165901530c70dca0ce8d0ac8547801d5f54ec5a0837c6ea87721a2f666b0deb30339e9bac9d0d5a49f5760fe1a31f5e129da80e908abe867182c7cb76e23e0ced805581e03d0fa88eba130e78684b4577f4b0b4c28eecf6f371082744d9cfb4a32500c0147187603fb3a9cf00219a2bf03bf12b4bc06acfc7c61277fa60b37f3f194e48abe1106452736643d879f4e676a03a9fe2b1c978a24454a3c79e7f01a4d840aa87ff3c966f9f61de55046bb03498e03c4732d10d1e966024fb4fc502c16789b949ff91cc6a0a82577c97619f8a954bd03fe2cb6925e14eb9622541776a1d0db1e7eca54baf6a2288116877df198811bff0367a58cd091bad033436aba2b4107ed9fa5fe54032209016f3469569d496dc53e03337a85320eac18edee2c1d83b5c0051ee0b05d86509344c1a15d177134349b110219ffff03c5c653544baa3f760f636b1816f6cbd023c65f5d49868f87751cf81852712db603e39fa59590a41dc23bbbc1290eafa5cf8c9e4f34341489a29f8aabb35315a872038b5e82b7843a499ab973062b6a4f659ed244b99d5d5c0f857f402fdbc6cf334f03605a25df5caf6fee875553b34fa27296621805e1ebb39ed4f4ca79f9fe13c60b030c2409daa102014f45adb7b0110a96c4d89f0d1ada85921660f5663fd34af26d039b02e3c51085dbd6fdc376dc97e70351c52e84468652a4c26279ad3a71f4246703120f291418e25bd4bdb61446faf150640618bc3ab7fa2f8e8f2fd03950267b75039751f75fb2474107a39fa2c1ce4072755dc9acb9cd1e9c4659e575ea3f19e73203d59b87e4382ab0f8e841683f9df90639177b57d3065600b73646ece73da2b83d03872413d87b505cb36a3690422337ffaa678fe11687c7069f3549a6d4cfd08042030a29bcfb96eb5e0832935c1833da103243d13061280f678b320364363b33e1a20219ffff037cb4b4a8f94ebdfd09beaafb35ee778763a938378bbd467e5d87b5fe7572312d031062b0ec15547b97810aca384e65f14569eb4fa7164f86c8dc6e230b23eed53a0325a9d7c3e7bf88cd0df8a22897cd61702985bf261f4f0baf963f896e6e552b3403d36559aa3966bbae30088fa40cc68de05a777554894d4a0f7f6990726bf7ff4f03608319aadc7fff679d9703a101eee6ee7f67b003655952c478b6a771190bb70a03edfd7e8cda47b2d96aedd505ad0d7b3a0c3234486387aaae116983bfcbf8a8cc035aed1a8c31bd226f2aac630e1b7a7c757c1f184dc8a305bdf1342267d7ecfce303659cef6195771aa6a6816678ef9b1456e161e0488b15863820d7a1a9c0f16fa403ecb1b3ec3ebbfacc62f66f4910e92552b8584fb3f87517ab49ad9ec2fa6f9e0a03b686745c3941857f1f55c4f72968c13b1c50bf552288315af81f346667f071b403242405ca54a154caf80cf5e93b72c1a50461669037e5e0f9a43850f8d349ad39031b313dd2bf37ccf7a37be4a31c9d3b35ccc5e09238a5f743314a0bbb96a8ca32030e611e10ab400e7a635738429304005db563dabcac22ab4bc9d912293b70cc5e03b9a1682b3bc3079906b6b7dece5722b515280c7a506d3a0ae81fb0e968fe74710380eb2f500add1057957d2bc588313aae0d23a9393a77c69501a57a207a8b69dc0219ffff037a08a9eb349ea93cd3efad143786b25b570e2f8539341f2aef6f0e4fee354b5b03d15f5f7768e62b6adb695b8133356f7acb387ce5c0ba5de1549ed80920a3392c03a469e0319c3a2116eb623217faba33b3f945e3e2994a92c3a77962251161901a0383df4e5ebc535410653553e0ef2f6db21b3f687744ce228648581faee7e7c70603d032b66ca9b8cb00f2f62eed5f67aac2d5418c1f90b14e7246f46a63f8e1ecb30304fb7de7b0f8e6cc9cd2942fd8edef77255b2a0500e98696f641e124b178a8c003a5f653085f294b6083d806e7dc3e74fea4040bc93570e7512b330ec07e7557e3039cdc80f2c816d5352dff3f1f172b0fee30bbb5ae46103e26912b30748d7d769d03e50b737bbfff997b50bf128f3b6c8cfac3362a303a73fa8a9a5af84d1ada8912030e08259e561a96ec2edecd323a5fb22ad0635e6d6361c7a9c8bc859e5ad803fb035138c19737df093d412e34d945ac6c7db8d1c57fd56c9bde53365bccfc4b34ab03f7fd1ecb744a90e17bf5297acd016ca8a8867ea7130fbaaad9fa2c5d2a0a8a3103978f454f508aeed922598d157d18197e4a937bb877dce0ac3eba5ceafcd2e83b03ec58748893639f0e4112487ee910b2cffde59a37efdf2c2416b4584abdd2a07e038dcfad1036802079036fcabae86d741a49ec3af265e3c6b7c37133e9e4033ef703ccf402f20e096be6ffa938c86573bfd563269dfcd806e6137c5ce7e11ae43dd5037aaa141b7e43678d5b657d3830f072419be2f51b698315804a909c79765164a103ec8b9c6e3d067d0a3377a9d16e5d6619f22eb85c955dd1815edaa68e2bf887f90336453d3f9d18abb098dd18b378773bb6975a67c8cd5bf538298a60affa01ccd10358f2ad876b304eff55d5381878e78b6b599cd6069899f7e808ccba8d7422b99903cd56b800c43544ef83efea44de08770d83339d889ca702e23cfd6d03dc95039003502693f5450593a7ac98ab58c959fcf6362f4c35f58197e0d84a422ac39c493f037f340a1190bf5316ad32e6dc0dc4ed1bc1aa3e8fdb8b4a56913e143e96018cda039b6663794b6e27bfb1e8f5eed06a5e1e469be80046fa6993d9bf953d420792c303bec98534e8b87768790e5c56e62dea55a99ec5214ce024ec07fc342c6de450f80395ff48f3269515bd066c5969f312b75b11fe6d701badde48e11e9d65ef67e9b0038344a9f2fba808a73bd313680b5e5856b955132649ab7ce66ad32b24a120403403af1e6df8612c1cf7b95d43d1443c4e7700cf6452bb9c76307eeeebec0037e67c036faeb8722507f5b3a5ba8a7dd14b900c5adfd64c034e03c3e0134716bca61d4f030e8cc138027a0268cc24944cb378baf2d3752ffcd7549c790a37b46135094ffd03510356289f2f87235eb8deebf0fb1a18b69b3c7e447ecaa875ddf77b238587d7034291db6113f73ef4299f1e7da816139e8e3877ea2236934eb04a90e08de0a419037c28588828880dfd3958b553ed500f687835fd662b081c02a8c28fdf4782c87f0352f875fe068fd25c7b06e2259e7de3446e5af97038bb55f09440536977bd717205581e03daea4254b5136334ae561fca624de34f8588cfba4e09500baa2e12b7c00401035f1945cce933485b0e0604614e45d5467eee35c387d26a3dde70e4c72e10e90d03dea5cecb162e5d608fcd4afb0ba6e3a0a54f7e1852bc80b2c76ee6fc26909dda0372f067647dbc91d5c278fc0e81a28da6d517cd1604219556c90371ffa0d72552033105c192c8acfda2f19043e88e88d487047b51fd095c345ad13a4ab670d4c9e505581e03f416cdc0d9427d72e5e9ac952bb444ce6a9ec59f0c945b44822ad66ed0040205581e039e15eb7f64d60be5e58b7cc3251b73d180d941f53012fab949e3e5ebb0040a05581e03cb82e4d2307ac1787c8266fba3ddb205fd6681474af8f0260d2a7b2da0040103d6ea1347366e442510d849e3e1b819c671c8b8d002560fb6f4d690a498c8cd1d05581e031781080f30722c2f3fd5ffb6a47b8bb6523ae7d85fb6cf6b22f80aff300404045917e9608060405234801561001057600080fd5b50600436106101825760003560e01c806381e91d42116100d8578063b0da48c91161008c578063dd62ed3e11610066578063dd62ed3e14610331578063f1b50c1d14610377578063f2fde38b1461037f57600080fd5b8063b0da48c9146102fe578063cca5dcb614610311578063d505accf1461031e57600080fd5b80638da5cb5b116100bd5780638da5cb5b146102bb57806395d89b41146102e3578063a9059cbb146102eb57600080fd5b806381e91d421461027d57806384b0196e146102a057600080fd5b80633644e5151161013a578063715018a611610114578063715018a61461024f57806379cc6790146102575780637ecebe001461026a57600080fd5b80633644e515146101fc57806342966c681461020457806370a082311461021957600080fd5b806318160ddd1161016b57806318160ddd146101c857806323b872dd146101da578063313ce567146101ed57600080fd5b806306fdde0314610187578063095ea7b3146101a5575b600080fd5b61018f610392565b60405161019c9190611476565b60405180910390f35b6101b86101b33660046114b9565b610424565b604051901515815260200161019c565b6002545b60405190815260200161019c565b6101b86101e83660046114e3565b61043e565b6040516012815260200161019c565b6101cc610462565b61021761021236600461151f565b610471565b005b6101cc610227366004611538565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61021761047e565b6102176102653660046114b9565b610492565b6101cc610278366004611538565b6104ab565b6101b861028b366004611538565b60096020526000908152604090205460ff1681565b6102a86104d6565b60405161019c9796959493929190611553565b60085460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161019c565b61018f610538565b6101b86102f93660046114b9565b610547565b61021761030c366004611615565b610555565b600a546101b89060ff1681565b61021761032c366004611651565b610567565b6101cc61033f3660046116c4565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b610217610719565b61021761038d366004611538565b6107b4565b6060600380546103a1906116f7565b80601f01602080910402602001604051908101604052809291908181526020018280546103cd906116f7565b801561041a5780601f106103ef5761010080835404028352916020019161041a565b820191906000526020600020905b8154815290600101906020018083116103fd57829003601f168201915b5050505050905090565b600033610432818585610815565b60019150505b92915050565b60003361044c858285610827565b6104578585856108f6565b506001949350505050565b600061046c6109a1565b905090565b61047b3382610ad9565b50565b610486610b35565b6104906000610b88565b565b61049d823383610827565b6104a78282610ad9565b5050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260076020526040812054610438565b6000606080600080600060606104ea610bff565b6104f2610c2c565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b6060600480546103a1906116f7565b6000336104328185856108f6565b61055d610b35565b6104a78282610c59565b834211156105a9576040517f62791302000000000000000000000000000000000000000000000000000000008152600481018590526024015b60405180910390fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886106038c73ffffffffffffffffffffffffffffffffffffffff16600090815260076020526040902080546001810190915590565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061066b82610d16565b9050600061067b82878787610d5e565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610702576040517f4b800e4600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301528b1660248201526044016105a0565b61070d8a8a8a610815565b50505050505050505050565b610721610b35565b600a5460ff161561075e576040517ff2a5f75a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517feadb24812ab3c9a55c774958184293ebdb6c7f6a2dbab11f397d80c86feb65d390600090a1565b6107bc610b35565b73ffffffffffffffffffffffffffffffffffffffff811661080c576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b61047b81610b88565b6108228383836001610d8c565b505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108f057818110156108e1576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604481018390526064016105a0565b6108f084848484036000610d8c565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610946576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff8216610996576040517fec442f05000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b610822838383610ed4565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000097a9a15168c22b3c137e6381037e1499c8ad097816148015610a0757507f000000000000000000000000000000000000000000000000000000000000000146145b15610a3157507fa4ffa33a4dc85ea9eb88b15a628d426c6d17391411a1fe43943f02491dcc875a90565b61046c604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527fa42c0c045dd034e77a5fb2d505eaf58fe1a4d32ca623ec82477faa47844b37d2918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff8216610b29576040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b6104a782600083610ed4565b60085473ffffffffffffffffffffffffffffffffffffffff163314610490576040517f118cdaa70000000000000000000000000000000000000000000000000000000081523360048201526024016105a0565b6008805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606061046c7f44617461204f776e6572736869702050726f746f636f6c0000000000000000176005610f3e565b606061046c7f31000000000000000000000000000000000000000000000000000000000000016006610f3e565b73ffffffffffffffffffffffffffffffffffffffff821660009081526009602052604090205460ff161515811515146104a75773ffffffffffffffffffffffffffffffffffffffff821660008181526009602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527f73121574a4eadb4cfdeb2ba56a6a88067b03edd1f0a0dfcac0a5a95682a24367910160405180910390a25050565b6000610438610d236109a1565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b600080600080610d7088888888610fe9565b925092509250610d8082826110e3565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416610ddc576040517fe602df05000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff8316610e2c576040517f94280d62000000000000000000000000000000000000000000000000000000008152600060048201526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260016020908152604080832093871683529290522082905580156108f0578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610ec691815260200190565b60405180910390a350505050565b600a5460ff1615610eea576108228383836111e7565b3360009081526009602052604090205460ff16610f33576040517f8cd22d1900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108228383836111e7565b606060ff8314610f5857610f5183611392565b9050610438565b818054610f64906116f7565b80601f0160208091040260200160405190810160405280929190818152602001828054610f90906116f7565b8015610fdd5780601f10610fb257610100808354040283529160200191610fdd565b820191906000526020600020905b815481529060010190602001808311610fc057829003601f168201915b50505050509050610438565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561102457506000915060039050826110d9565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611078573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166110cf575060009250600191508290506110d9565b9250600091508190505b9450945094915050565b60008260038111156110f7576110f761174a565b03611100575050565b60018260038111156111145761111461174a565b0361114b576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600282600381111561115f5761115f61174a565b03611199576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016105a0565b60038260038111156111ad576111ad61174a565b036104a7576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016105a0565b73ffffffffffffffffffffffffffffffffffffffff831661121f5780600260008282546112149190611779565b909155506112d19050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054818110156112a5576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260248101829052604481018390526064016105a0565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff82166112fa57600280548290039055611326565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161138591815260200190565b60405180910390a3505050565b6060600061139f836113d1565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600060ff8216601f811115610438576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b818110156114385760208185018101518683018201520161141c565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006114896020830184611412565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146114b457600080fd5b919050565b600080604083850312156114cc57600080fd5b6114d583611490565b946020939093013593505050565b6000806000606084860312156114f857600080fd5b61150184611490565b925061150f60208501611490565b9150604084013590509250925092565b60006020828403121561153157600080fd5b5035919050565b60006020828403121561154a57600080fd5b61148982611490565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0602084015261159060e084018a611412565b83810360408501526115a2818a611412565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b81811015611603578351835292840192918401916001016115e7565b50909c9b505050505050505050505050565b6000806040838503121561162857600080fd5b61163183611490565b91506020830135801515811461164657600080fd5b809150509250929050565b600080600080600080600060e0888a03121561166c57600080fd5b61167588611490565b965061168360208901611490565b95506040880135945060608801359350608088013560ff811681146116a757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156116d757600080fd5b6116e083611490565b91506116ee60208401611490565b90509250929050565b600181811c9082168061170b57607f821691505b602082108103611744577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b80820180821115610438577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220d1f4fd897226505c3f5b5bcae087698b272e3ea89f5c0e8c83d5e518baef815964736f6c634300081800330361ab500e4ca17f4f398764d2fce818eca9dd8c2504864bcf9733bcf9acbbb51b03e4777bbcd5a86b8c32894def14772923d126096fbc78dc9c55c7ce46d386387403b234ca1f256f8a897ae223e70e70803f4214a2d1fae42eb95163299e0b13dc7103612a17ca776d7ea4d1b62c96875a19f0c117adf3e6b14daa815a16cd62839af10355a0db8399505d86b4bb13dfd20d92232e80c600a4f97a41eabf508dd2c7187a036f9fa5c33ef83d145e80d1dbf7f7a17a98c7d6ac8fdb31a084a53ad05c900293039a2461ee162be47213db184a39da34f82ba920e75e243770397cc1fa7e35855803ac3df9c9938c55a47e942d05f71d5db7d6d08aa33a481ebdd125ac63320b4ef80316ce4cfbf62294388fca56116dd6ba17bd213467b6fe8ba8daebdc68617ef058034f87fe5e65a2f580a61158caf8d700707f5a906451f06d70e423e2311d9b41b403186e3e47dc9cad7f6fa89cd79896447db4147e5ad14b1478b148ebd99e7b49ad03d7dc17acf0380a0f2e4a30b273e3eb5b3b9698f0ca74afe1180355f47b2df941033c106fbace10fbcfebe758c67bc7bd2c9a39b07cf9a4458f07638957078eff01038a1bf5e0cad6649e81eef05393bf850ac9f29f8fe013c16f39b1037383fe252b03049024bc3ac524f02216b51641ff9d451dab3f0febe93ea28e66f88c2369cbad03b76ec47c81590d7b99a17ff55761302edfc397f9b35d77536486d9ffb2ff5df403444febd05f49a76a8fd7b6d40e920439207a1870869f58e1abb12730916178b903df6bd76b727cd3265394b4223be0b58657329d7c24085628767388d50fcbb437036244516b003f532ee2d4f0b7e621443b245f705398f9f9f5e5bfa5f1edfda4f8035479cdda3819ede2d7915516ac217701705f5f245d40ab334a5f66cb799be57703988c831654963bea5fa3e5a891415ec87f9c8f6f37632d6073e8ed151dbb9ad1038c245ece24c7fa356d0c3a7f6508ff053f317bb46047ab6f94a8cdc14a43a8df03fcbe72bc87808200e7d24721fb62bfe178ffe7b3f023e53081ad7d01446a9ff303be6fcf2c356afdf4c859d1043ab815765ad1bd442f16cdb5cbdde4ad645c182303a9e6d0daf002d5df42026d654b4b027f966db67fada4c895dcc6c641847c9cf70380d0802c8b6337a8b6ecef20c3470375e26894d1086a5edfe33b25304f199fae0322495b732ba52cf552f4d3a803bf200157e23115e3e882d33c5b32586541ac81038432c60071511b5b40166ad60e92a362bcb1c64f06699430723c5a58e6e009960323ff0d211a617c882b9b892c23cb13f84a85be89395369040a3ba74e6c3c915a032ae20812ee11cb3bbf87d063cde9523e45d96aaa2b55ac9ebc8d6455bd234d3203e6006198e3a8c5427f8adfe481a6e5220ad23cf1f78566b41f4fb318c5e14cbd03873504e7c6b45b9e4d6194cd23e2acb1d294ef281213bafec08e47bcc62800a2031f700984d2e34f862a7d62701d4e6f80164c356779a5cd9525d10ca7bc72eaa403500a625d3e720031ac024ed125918fde86d10fc22343eed52fcb440b23aeef7600581e02d9be1786d118c6d6708df741b1b52f8dd93690f881aa0eaa001bdef8f849195b7959b388b8000000581e026ca8e0a99039e3e117503b27e0e2710be1d562235ba25a77770160b42749195b7959b388b8000000581e02a9659e7ee635dc86a06729fd2ba7a67bfa277033f3f878af97c518dd0f49195b55d2c118f700000219060400581f03f854fdd95112c8d969e367b7fdbc4b0647811603ba3b5e1de32740c22300410100581f03f82cb2da102c2d14097eb0eeca628dd41b459c6894865dc0aa38ef265b3049195b7959b388b8000000581f035294dc7f86d47d3272665d33e7dac2829ebdbe729ee503b3651e5fb9da0049195b7959b388b8000003f8ff5d154ff9c28ae49d5625a613e46e7ceec7998dea8af4a970b1df7e25f96402191c090219ffff03df4881dcb1f3f417ab809902524ceed3835813f17b12e777a70a91ee0239115003849daac8e76983a7984e4ff200c0d8a0764abf112fc9b47a977005b967ed793f0353e48094d19f7b900079fcaceb0f71e955d814e49696a2a09d03fc391914160203a17d6ebd15bbfa4842d354bb8995f276a5376acc321832caa9cb6172dc11041c0367b4c03a3a45364d14dab910653566e397c5a52d768aae5643c5c6055948dff003dc8486bc56df7267a88a6a70816164efdc8490aa840a70d2e7e70d93dd00c4260219ffff0356eef4940a4f0df4497a24130a835ce33ae0e9ed408bb14c6b37cb2bf28656de00581f026dc0e9b0e207574b1370721a4e396bfb0589bfb0f11904dc8408447409df49195b7959b388b8000003ae866f56f5e10c4b6b33a3eda1d6e77a4a07a7a4d011bd71073f4f36c3096e4b038e76228aa2ac4c750afc805f3f225b5727b69d3e7ae6204a759a8bfe40608c64036e786ab8a8bb1999afdb88cf469f623029ab3cadbc91b2a245f6900e4f790bd603d4f349d7dcddff0fdda5e32c32ea3a42fa9c308d2300daffa3b592bbc277be0203866530d911c1c40677f1223bd62658b2d119e64b4de8755c487b592c84216f9d034d77bddead9601ac24caef1914f3425a00530fc9b72e6e06962101d7a1e2b65c00581f0271d531cf36fa9da29986c2c69ce2d8bef28cb3cf9a298db0b04efc476e0f49195b7959b388b8000003dfb7d33b18afb5b7625bf9a9aae026c0af92018ce64e218c95dbc503cf273ae003ee68900ecd73352b0674962d436d5999912d66eef1727122acb8e1fd021c705a0318886013c572a368af0f204c45b0b719493e922a5e4a3afbf56c5fc88ceac05503e1269ed236a253df8934ec05dfcc85fba9a3aee9a66a2f647dd2f213f4c729b200581f039bb2de20737f11e6c7a5d2ab49c305c1c9278ccbb75359a35dfb34780cf049195b7959b388b8000000581f03dc8ff87b5407c8c9a87b231e16253ad70014f4478a52592fa13c2ef77f604607f544a44c0000581f03a9a96eb3f78f32a288604b5944f5b5a8a8ecda1a2879bbff027d204def1049195b7959b388b8000000581f03ea63f9e5654b7be07246e8d7797149ed1be868c4f7114618b4585bd43ec049195b7959b388b8000000581f03a8dbf2e7d643281d8316db10ba026476298f692075b977ccc031142c2f104a0a574de35fcc1825e00000581f034e4ea15a355103671b858cab1b9fa8954a5b683c23e90181f31642574b004a03b6e518a8bfd10b8000021919520304f214592e6d0b37416d8356835263fcdd61e44db26e6e6d0b1dec1f69bb988303e0dec291c3b924bb49638c6f287615c7ed0704d4e630cdf176e522a273f602d00219ffdf03035c0556b3b25d83d5258dd5a75c8a66179a90d571c12e461748daf91c2995c003d6fe3df816654136e0cc561f8fe3bc9a8a18f961487b46a90f6b08e43dc40f390311fe5cbf2ccddbb02528e011807e14d95e90f306e0cea2c1fdcc2676ff17c3e103ffeb3b19dbe239ffccfeede17c156ed6bb0b7d5caec5e47cce66038cfddaa78103137ed84d79ea12b16876c066ef8696624cfa1c30e57976d0983fd5897949adac03591db480bd6a2320a0d0a73186270f15281ff4660d168c168ef6d74b1699b8de039c5744c6bb425d44dd5ede11a4069679777da58f802ed35722abdc4bfc772ed20378eae19984b28de06b733dc3680774322921c0dfd397c1d88a3460e4b0eaa4df03e0e31500f0a7ab7cfa7915e88d8a5caaee0b5c8c01f0f595ddce254bfceb0f7403951dd62cf25db46cb1a4cac9371fd6b85585dfcc799a7618c986311e60a5de8e034e9aa953b04b84eb3818afa79528a0095f7e72e8ad2da2680267ed2ef6f7c21a038904f4b984642728eac64f1a6b392fa8a8f7db23b0c05ce530c4a5aac8049c8e037cf558879171f2695282b565e88399a464d085e979a1065510cb852de08989c10315e17b71c82e926167694e158e4b5a1a1a89f3bad56d7de8298ab79346a485eb0219ffff03ffbb30064ac63ae4b8411b83a09eaa3d77425d8192f08a1da4f11ffd244a7f190328482f03d72449de603e7f8899d9f963be0d72f264160a88b20dde02f4ea732b0370bb5376b9375f6bc286a3b2a265355149e046bc6f5b12ef7c4fab827ab03ae60359bb2cd2c081f1968fdfb4d7d18ae2035f4dae566bbffa8b13d652127d3c9303036be864e00166cdece8364bd9b5e03da10c53301e74f0b78cb248b9a120e1519a0389622c32896e227c85ee3aa9b15adb310da8894439fd4d1bc7e0134982043bbf039f12d015e9a2a88d32eb554e9d4bd89e28e92ce5248c3aefe3317789d6911eef03dc8ce43da67f4fb77b65b0437f826b98cc984610b137c6404a11279b89bc43d103664fcab3dc5f04390a1b06d675ba15e9be71d7459d669a00ee78808e53b5188b0371a8eb83d96a22108b3f398f0b27c395c9b642f41c10dd53fb127d6d7800dcc003eae3b7c678b5584ca608e209f5b06b6c9acfcfdf762e571f56b5b2330bc757cd031d81e67d5d9f5870ed2d33011391cc1974a3a249f46216aca1d7e69dfcf4864d030532b3e4241d787e6a3a8e887416eb50a098044e305ce2019688084d43f9e4790340be06b844f0dfd013162b5b91e077d96e03ab879861243010be6e430bb5bfab037a71a322a69f49c485dabb421f153b9a6bb38c30f00b7ebeaeb1847b409be11d039920ffc8ff805aa2c9c0069f9e3a8dba8bf966931ac1a395f9a0c066d8c5804d0305392cdfa07fbfcc2acaefd78197faa255361149f2f7a13aa3c3de017640cf5203c198614ed193ca6b1a465d534199b56f9bbb1b589d50c768963552a3b135620a0363d0a545c3f9bfa58871804667563e42ee7dd27a50bf37ade27aa8d9d316c6b403a3e4eb1f81e51b70ed13b4bc06517484a5f5652f1efa9426e3c54b1e919d79bf03af5c2cd637a16c0645ee4c1fe57e2c9ce124fb36e2cc99cf100204e6010d91d6037cd88a6e7bbeb9909ac990e86b670615016c8fe4f647ce0b11921501e84123df031184cee578f82495e75edd669516a050baefe9c020e7d787ac1aed4b436e68e50318b44c0059605e0067837cc75805ce19a97bb6f9bef6a5242bef766f13748a7503c1fd0e607383176eb3f46e95b26e0a444c8b7210b1e901289a2566b50ed50a3503360da5e325333eda1da481fa01771da9745f3ddf2c4ae3977933303274f5acdb0345daa8a232132635bbabd74197774433027fc4028b6a90717bed97fd3e7882780312e59bcbbec2d7d7876783474d7fc95fbca9536ddfe4ad27b8657a3ca1e1bac603d5c2671123152d1541d9935d6d0efdc552e6645f67471180fbef21bb94430f050310d9b7de7cfee7bfd3344a8d2b1edb2df94619050d3041bb7574a2cdf27f0b5800581f03c14a337bff00f6ca9d2d00e9fb5adc0200eb345ab90f562ff98adfb8f0a0491e6dc4d20aa410000003d1bf3a8a9e77fd6800df9a5d3376d5b639f5cab6f40ebcd60a18059017081b5b00581f036a1e2be78eb1f7f085dff2e93fb5e32a92d528bcc1d221bd18798b41966049195b7959b388b8000000581f0368b4abe43381f03c8f4643942c371f8efe8197fe8bf369eaaa9c169e48104928925bc2b8dac000000219116000581f02be693788f1512a27548fc22a9a13a0cfd7786118529364dca88c421bdc8549195b7959b388b8000000581f02bd32a8d5eea332a2539824510c9db0f2317ceb4aa27df5d9d290d17fe4995820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff03381d9e44e84830a697144b3628be32d94f38c4818d7a8c07b4b40212d1e449d40219ffff0219ffff03242882f615299a362978b15ff02f794cc8f1157e9d773f1b5e92cdab19b64fc603a5906d628864f6085de6fde3bcff8cc5af2e9691631e69dbe46b0d90003a7daf033b7534d14f59cca05346a8bf6818d70c5e0c4f76b54fa065275de2222b6f3b4f035271cf362c95ee4a9bc32ff8114bd4c530036218ca27bf780c49072a994df98e03ebcc52762ff2cc0fa89845ac1ed9a0789710d54d18e734208982775c1d405a5f0315caa5128700de550ce6fd7ed756b73349b7fe6df5d06e2895155e1c2816842303d508439c0ef3d9fd0145eb911d3fc34a25b8a3abcc1bb0bcfedcc03f01bb4a6c03f9e31297ad801cb5284895cf02006c450a149b05488208425ad1652fc7654f9203f3d21211e1d0f08780631e828de84186653ba0a74e84cf10de6fc5806b4aff0803a069994422ef22bd6b680f83e7166492bb344bc98c7db3b15aa8e1d08ac85d54030781bdd66b6a66f0d820fe49b7eab3559cda4a155704da2a1d7de27f383590e5037172ee2596c1f3e9ba19f04630e5c320c935b66e301d33d5920f27b85101ef19039d3eb1ff15e7620cce67f7e22960813943330c4a96e29b9a67b52ba1fc166d01031a8c91353ec8362c4ad1652617b17de89b2aae119b41d481fc36443e4d1d179a038d97e5d1e82e9eb62da2830b8937fd1aba66033ef9f0e0dc0a2b7060c8f17a840321e89e5ac027ff30f138285699346130df7e8f26eda6775c23339237e2eaa7fa03cc755cb22a34a4eb8d24dcabe5141d8a4c41b6ec46e41fb7db00bff765d07b20033c4079fdbe3c94ae0c6605e111df5f54253751252b35e9ffd048cd2750e08170033bce74384378d2dfaa1bc6814ba1bfbfccda841fb605f60917576fdbd2442b5f03ce7d318763a47549b74544058d94b6f3ba008cc49be6c2f73b53381604361fb000581f03658c1534b2b404eb27221132f5bdc784162b6acf5f16d4b13d9700cbcb3049195b7959b388b8000000581f03230e9628778aca4eaf362223ec08f9ffc2ff51a596fbe689da0c76f582e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021884036bb7da74e890a590fe7194609e5826b11418ebff1b9a8f1f9edafea32308530f00581f0270fbd95a86a39eae6bb6cbdd72773ec3168ace8a409f70b052de2e1991e249195b7959b388b800000379d7b1da184a9d42ddd11ab773c720d8f1e50ab6b9d306afc2233858cd19af8b03bab2844a0eb04ac582cc2da315eafbd644bbd32cc4129fb63341d50da41b98a003c8f20e20646da4263c04fa75352ed25ebe243493522bb66828a3c217ce821fd2034bc2c75a13e222a59f1819589af6853ad6810b8e3ae3995975cff88d1e04d70e03001098122c09dc848080772e1dab517a62a97743d4566ce6d013e488f32627900391c854eb88b3c7feacb7f7ad7aeb01e568bcbd171c7cbbd7139e82d0a1248dfc0219ffff034c23287aaed20e941e00af8c137d6e2e2e7aeb97b19e8c144887198ccfd7d72303bf177cb04e775397a27236c06db9ab724f5c654c3a82d5e799ecef6a4b9b93a203a7362f11d55c73b301a9853d8de93f84f9a6641c94e5079e7526fd3f5b256baa0393e72ed5acb61ae71bdac0a2adbdf6e8913fcbfd46be35faa9d45023bd8edd28034bdd49a9d35da19babb99b254fb595757f626f76ad47551ec44906b8ef42ecba032c007a99f79e53a4062f2488f3aeca2af7d6e3a257becf40fd349b8aac1c797b03ddda592690417866fc2f6713e0d6ca38e215290c2dd973298e90da2eb4965bb60360ceb270df022c75ce44298740bd955a527338a59880651be68b7c815f446bd7032c27f9190e970d2cda1c83e0449fc04cd3c151f31b3afe00fd0bd588c65588510397b16789644f304b29810fefdac65d24b2b121c848241084b895287ef351d7c403c6c02be15444beadb1b7e062740be944f2bfff0e431f23f357d4d4b362fb3e00034864de371f41c4fbbc03b56a8d789946710f34c9dded00565dbdd162555bf276039899fdd61f76d85a091b415abccf311b8ebcc3515d93d2f62eaac4ca1a700897032d0546900347b334f08b0e41198525464f792949983f20fa0c0f97b0bf0f9568030f7b938d2c2808522422dc54d3a9850ff249cb399da5996b5c0d9df14e9b73470219ffff0395171d89eedce4303a7c1b0e1ce101b1ec2d325ef7776ca0a2daf4168ede7bcd030215937f63e9427668ead13d7969ab66b52d68928de2fee1affe21fc4e08ca7a0219ffff0395768149ab1c1feeb34b95783c96398334ffcb2f8f59059b0b6bcd963599bc690386f15a8765468622af8c0511b8232832a93d96871d4858b0681d58ad1ed552c2037fba73ffe98384e67fe815fbeeab38feb1acdfa28a19f48cb47dd19351845b8a03cf3481ab0ad096446417b328bdf94734a45de4da7938515bed7e29a749fb957d038e5ac572aa1fcbe59fab7ff9fb499a366789add8a4499f6e18e658b603b7b82303a811bf9d6abff83cfe646be9df7d84cfe3d5297aa1b8d4125a909daf74675ec80347cb4a57465fb12282fdf2d7bf9a72cbfe512641f8c22ab98cab5ac3a4c58b1e037279c2d07c187042aa6584fed5bd7924c35529a2223109810d28b70c3008626d03cc0a0d5bd2ee306df4e177730c0233755bdcffa0684b5df753d450f49d94c3be03f8d0b5393799cba18d107744afa0b87281ce23c889350838a73491c2ef28025e03328ad136c25682cd9b8c6aebc66cd3c1ab30eac65e210710922c2ea951d2ab4203e3001ecca98eeb179f72c7fcf3a65047b340537088a5417b1ebb071c3af7ce4e03401f6e1b049bb4b80834366b931aabc751b1167686080c19ee023a43ff5afc1a039a9c2e31172e37812fb21f33a5c7351ddcc42d1b8757de93df9558496a6d6a7b03c6830e01780420f1109fadd82cd8238d1665b151541e024bfa897cf7c93b564a03fe1f4f08ebc483cb5b9ddffdff5349ef291820c74d058926fd8698d8442c22d6034c6e4269be329293c058afa97a0d5d74ce2d13f1ee6493d1d509a48aed0a25a6036dbb26cb756dda4336757d9f33aab470285c83b482e61e40794d3529c33f2210038ceb2cce1ef8df7b8b0081b001c9b831620cb5ed43106a3926c5875a6a8246cd03e50ae06473511c7bfa972150855060ae445dc6e58cebd2752e74460facb1b75703366ebbd61147fbeac200123787abb7886980c1e936ab0ab0511464e82bf528d903d5df8320b807ead08fddc60fc3d75650c7b88b583651080d0589c6c9b244ed5003e19844eb562c6757baaabbfd49e58cb7038005066b85fc69a9ec9af5bab196b40383689e3487d4b49b67b09205d8f9e06205a91c92bf2119b1041cf6150cd08a0a03356e501038f704e00c68b7fdba34b3762c084ac424cb3c8de304d41090a8920b03021e5729a3f848ed92ba99571369cce8b88b75de087599e3e440911c58e4bc8d00581f02b2411e1f00f28ecfee77ea75dcaef00afd600eac6f0358e5f9169cc04afc49195b7959b388b8000000581f021fa3bd8d023c663d20f178285fa7d7c794c76803041fe965e75d9698554249195b7959b388b800000337878d70099582ce0f799ce4bc2443c30a6dd4645e2130c3da5e10ffdb65241d0341ea758a5bcdfe5aefd82515a939f723c26d471e5d9a913d0118000936324d3f0355745d5c1504de5aa9e7d7d01f64da743362eca5e25639c34e0581c662c37c3a03aed031023ba1cb21642b8dc3eea1b29371a37faeae20b9002d87eb7cd17fcb5c032365f528c257573a3dc70387fe624cdb9cda64e5dfeb848c68acc78810155692038853987ef8a0c8bc128286c99524d846f48f286ced1ca7ed51aa450ec1666e310361426a5feac36c27075d7ba112d4137567d441f1050989cc3f052d6aaa8fa1ca00581f032fc14e3db6bfe8af4f8c4b20e1a3312c47a26860ee429624633b0cf6bcb04932b6f2b3671170000000581f03e4bc685b442e1cea3b646cab079d805e02a35b945b28d08426954c5aaa8049195b7959b388b8000000581f033a0981980acce163cc328d052ec514eb62d055d0612612e1df19c8666500491e6dc4d20aa41000000219480203fc791b5ab0343bb0977a59756012c2f4ff5aa783e01d95a4a15795b7207b15e903564b9aa2d34724d1fc8feefd172bc36b76cdfe219df08ecec10a9e590a360700038ada45b617f0493defefd2dbdbdb33000cc0bc21b32b6d9ab4534b4052f5a7fe03b2c4570f2455672dc5768c5ddc200aadce7dec1099bc7a45371c6ba5dad71376039773f5b80af0d5eec5a9de4a505f6041479a4a0c96d6459518f376e6d46eba840219ffff03a7a792a825d0c74cf2fc67e1a7e2a881fd2cedd90651f7183657a439ff775b65038b60805e190555b0b1e16c761ca0c57375a5227507d1eabb9dc53af0214038d40338bcdd49a41ad558f3776f080afca0f6ce7340b31b8b4241e606f6233663cf0803a22c333759c0b78ed76192e9ebcdd64c3685c7b4d20d216a48e7a9846cbe1a000219ffff03d9d0675b3f16f8918330817a833f099c4dbbcb9fac9edfb43c29207bd35873a1036cc568d27931bd3d7a02201f9ba46fdaeb5d5598214d91cb7fa55b37e8885aad036485c816cb1b9e065be0c55b459fe0ac3095c8176b7720486993ced356b8c23e035fa80e2dc7bc5748092e78a4e2f2717e69059659f2bcda00466c86ac20af2fbd03288c8517cd83feaa67374f1a48c244eeeabe8fd0ce02abba975db4251b4ed14e037f281e0c11e42ee5c92b945e1d577b8aaaea0ebb3912ed3c7e575e0e184b768b030c8826eae2b7c4740fe17013ae1f538e6d4a72dc11c444abf2787087764211600301b488eeeb52b11a46bddb2087e266d8f6d33d1952be53ef024a5fdf46dde26d03e2b6f596a8d0b71b3e56bb49fa34778bc2ec8ef12d414cd1dcb8dd80409c7271034a71fae8e774033cb139006eb60dcd16bc6ac227a20793f87d52ec9dae17d728036bf592d59cb0e053eaeed9546e3b0ac71da3589bd6d2bcbeada71df7d46b6d20032a1519fd5a6d02a915a222298a7af9a81fc1569fed2f36f2344ede4a6ae2ae4603bd3541503b88c8891f573b7457661c4039ea121ddfd2c14b9a0160c990780712034e347543f05720007daa5ff52e70ecbdc5d4127df977be70e561848ddba8990300581f035c9295781b22432786b0236cd2e63dfef562d9a960dfcc433b30808f9aa049195b7959b388b8000000581f0358c22d18d7de4823553774d6d80b5098c543e8b76aa33d54687b1b3da93049195b7959b388b8000000581f03cfcbdfdce0b82c873ab9226cf14ff55118b14f58325f64a8d89be004540049195b7959b388b80000033616ef72daa9f3e7512b9d67893c33426065835ca011f72b42c2ee0bec99898900581f033e387a6b950ba538d437054b3630a243f5f93cdc4692792d923eeb0f3a50410100581f0332b12540c0a3a149570c9440300f0b13268a8f6e77fbd89d528704e4cb9049195b7959b388b8000000581f0395dd0b7ab466176f06629dbaf61f5d617f1753e1e28ba9bd657730bdcf104a0bbeb24d87ffb1d5310000581f03cdc5d91ecf743e3f79f12fc1675861cf5a2596dc125f9bb22dbe12b3bf1049195b7959b388b8000000581f0399df742ff5232ea6a9f421f758ec4840e1997553fd7b844ee0ebb044aee049db9aeb1ce1d36c00000219cb4b030f4aaeb217d015ddac077e88b8ca4916d5570d5d6690b09294b5020f053eb959035cbe7884d8fff67ace8310f2c1c69c799a5fa95f45eefe8f05f183dce02798c60332c0827b04a880a4e67ab950368171485025c9efaad950126bd2979451ad7c8a032fe33e7009c309d2fee88c7b085752fd1e34d720e8c18a4db786704c9cd3bec60320f8d7068daa08bc39f4f82385c415faa957273318907e76f066f920374f1a83035207d66e55ea5f789a9213eb1692c197faf5a57113da6e874dfd7fe08f79ee380357f8b5ede971e687f21acd0fac503572302c2f4d9700faaf386f20df43a371fb00581f02584abc8ed6dd60f142b36f85611251e4880cf107562af947166bd136f6c45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cc8aaf025003ec5c9c1034e2441eb797c22c1628e639fbadc1f7c75301b4e357037babf9c64cb3d7089a6be654c9c896dbf44e7aef24a7b7015a43cba744b96b410395a7daff50cb2351ec9ea7aff02b40cd4a878260389eaf3cb189fc42b65e12230355040f76b17550acd8533bce53acf77c4f2f783caa607a57d19277fcdf5b11a3035d8b1cf8ffd09e229a46c34da488dd2f4eade1fc69e0bf39cde2a801d3acfb32034e2145f41d0f0b24ed4a2e4442e0897a1247c76a8adad163a3f81768310cdfab0219ffff037de280fbdd3b8c22dd2d807768065f99c6f9c824ef0d696975e6fa41560560620383b5ac5d1d4b3b26f978ba14a42c1dba4c6a1e62624a52d86c20e4dd9b94bfaf0219ffff0219ffff03217ea56a9062e88ea1d989aa361e1e12ab3c11dbdd8fbfdc9a9609053de18bdb035d205f7635f9cce9b9c20dc9386b8f99cdaf08e1469fc27fcf75b46befacd47e03e349d3916c03b16e732bac542fd661df801d72f95b3ed74b8f132d24e309e238039ea65bea8649c2aad73e3b920467a76205d99c80fbedecbe5560ef61fa6ba6ac0346f15385ed1537ceed1c720c16fb47c45692fad9ecc91d2d266b0d39bebc1a85032a8cbb74f64a80cd4f36de401fb0012cfaf5453126000ad74c478615d147ac0900581f034d066b78fee5a33b62bdee5758de127645f85ef5c0e2898e9f4bf1644d0049195b7959b388b8000000581f038f52192ed21f0fb62f5f18f3129db9bd70a3eec63101a52ec9cdb50e57e049195b7959b388b800000219801003be34a5c0b24d9c1c3950e22d27499d27b280c451eb2130b90bf2abe3e3b24e090395ae9c12911c8c800892e69d457022821854f630943eddde9d9d79a48aefe4a403326dff179ae4ce2780390461bc70bf3732bf60aaf9aed7f96ad2f974131ac18c03241cdeabdd97e2c239bb0eef5d6a30be547895a6a4b7bbd9425c376c2c133c6b035d9c8f1c4d2f1a86067122dca73a0b969b8fd6ffd9257241ac856f320dc7947103dd20208cb39249f50d64b653522e5d8bb9260507e25f3805999951c12be3b4ae03ce55986df290be83847ecb732f8fd5aeea979b96af6ce3053ab751e65fac8fc2039c1fe5ad2d24d39d0ff9cfd8df5629af0b16329edd7740aac4b8b8ac074feb4f03f34effd24be6b1dbd7b74c703d39781d5cb0524d320ac36c18033945773cd488036832b31a50b8bc6cc97c51a9383fe3639e2d9d1987801f6bc68e2a50efd02ca803bc8d1e100cc42f871aa076a000013f7392b65c0789684ac2752060c2f42a8360037ef5c5ec5db7220175b1b9e098b2b2ab4db13f2131ba32e973f30e7c285d32df037cd3100de5b6d2dad95d1b5171379de6037040eb6c07b5d96701dead1cbef36903ec8d3a2dcf409eda092edb4429f26aacf5c22ac2c1025ef16faf8e79ee213c240340c0d5fe197f37ae4733cde13bd05fcdbb46820ea105ae95558c7d06d88d3a840219ffff03dc82c38b7fc0baee7a5a962eaabaa46421509d644e2e758f4de914552c6b5fe0031796255380d068903ca6ee3164e7eee6e621bbcad22dca97441dbcef9341ac3703265db1c4ea37a75786110ea3942751ee66dacca8ee8a68cceb16386eb13629b603ead80f9e7b8c4a9c7fa96e0cadd989996289326c1e1b45200fab195dfe14f48503716650e25cc1618e34bfb619aa9830084e78882c78fd58b45f0af30ace7d3f200392bb28ecc67f2a8b24fdfda23ff9d54d21c04e958341cfd4f8621e62e5604e9c03ef473ba78bce061162ba5942deab3e4f64a6aeb99d5ec21148be36627071860703298912c6f125d537befdcc2cf8fe41a0e6aabb9da0ce2badb0a1479f7c5a6ec203e1f1e89070e28e79a93dd53684b752deace7d2e7cee17afd95fbec33bd62a28d03987a6ee777f4cb2d214d1a6f86255f08a0bff0191054897d3457e86aea63e87c03a0ee7bf93e6e2978251c5fc3bcbff0e605aeb22b0517e834fa50b87b9f17559a032aab0f16eb22e754b9dd398ca76741403b96bc6a025679325c2a968360d2e5840219ffff03be475475aae56d7616e529084de02a8d8f6f6d161f9b4b6d5532035c7b95ffb303453bf18b84d83e113a3c0f5258ba6266f38b242b831da482a3480ba87c7d1d9c0367ab6a88a4ec351a6170293e8a7e6c6413896bce41f3798c6e2d1bb3cbf4cf21031149cc624f057abc6136f144fbea631ab57c5816db5e602fc8b9f217f863ef3b0301fc8a3d4e940bebf040bd558c3336d619815ca5d652ab0f91ee21ed9413ab7b03e6dac17111c52cf60a083af9e052a62d768e7a2559c68cfad0a9452fceb175cf038328a71230d05c54482d116211d123729b5b69364c1d9bcf1c98e46232e43e8303aa5e82517d4daf25d849fc31488325578a7a9c84b5c46d7b7ea385b78706f32800581f020275db35285304f4ca5c37a73287d6b8f1d592384aaada74c79ca101e119495ec3e942654be7e10003a7e3eace28c684b63378842e53f8a1b522ae16d174320cd34052c4dba0819a9c034a6e3f2242c042142cb852572acb46dc4974b1d147a4708b40c7382fb208029400581f037fa9892a885e1d130a2ecdbe6895ce6dec95e62624580844452a4bb09be04a017c5c1c418502c8000000581f037821295067249434525c9e6441dbdec13e26906ae6fe810db1b25c7011d049195b7959b388b8000000581f03b5261e0ca35bd4ca3570dc8610f24cd1aedb0dd7fa3cfea6171d6b95f2c049195b7959b388b8000000581f03cb8a9afd04c8670050f6e0f726a25463abf68952fa6c929e2f24eba165b049195b7959b388b8000000581f03408974a67afa217f08bb35c676d810909ae5848cac5d81b5a23f7c2a501049195b7959b388b80000021918190342ef7f214c4fd828efdcd043cd4c219306dcdbbdf060a0be4ab33016c81834a503ccafb7653520c4317d5ede0d4f46fa0d7c7b0e6899f023fbc97dcb3cc17c0a090394fe12d832a36277eb55ca2a45cc35a6bd0ff964d3554aaeff5f44c1930208e003a87310f0db3f79331365f4357458a7a21204e4c21a88dfd088f46206375558a300581f02d68999371116ecda8743e2d8b94d02cf9bfe667742fba936cabd82d68ce949195b7959b388b8000003919db32a48ef47e9aa4e53952d3eedeb445bdb17e34e46ec45ac0373c55797d6033983aa811007bd0d692ddd2abe1e4d5ffbadd4364a9ff186a6bb8d50e5f63cfb03daf179b2bfb49e73a7cc0c06af97a46cdaf8f7483df191d51b783302dee22ba403385f7aa9be0139e46a39bea1c09bc3b847ca4a02a1e6f18d9816b861ad608fa2039d936d8cae3be2aff50e2d597a463f03199012fedfea34f0f43df1966eb8b7580219ffff0311eba046636e204ba2baf8c0b07fcda46d0616d89b700f101a91dca767db3d540319681fc55410c0fdfd675e997c81a32f3d768dc31e224f0ac9893ea4d236e9a203c835c2fcb1f5cb16c1db781f07ae6cd5b182d82069f122517fcca2c533fbafd9030123792a1789249452e4b0e7e4126dbb11cc9114444e78655733fadd65dcf6ac03f0196d9023bb5d1fbf7415738df39dc6cc1681161cc3cec7d208b2a829c4015e031fa85f6a5a2a3cdaffde53eda1a963910dd713fe7df63cdf4e0102b6f14e0fe2031973a27f3b4c6d8e20898adcf960454986393dc716de475483f047fb1346d7ed0394b4f3808b32350999f65378d8e14d297229c8ed7c726b9db0ad2469ec792f2c0331b575803d6debdc6958d79408e9e7a4863a52c077dc75b9f00466ab9fd280f903b2258869f34066be65bc213047c020fc54eb14811001d25b9c2f17ff0b19006b03be8e306df3ff92b80d7f35f36578b7600cbf114507395fa1f19399f80ecfab9b0320faa169109962d96c250b229eeefbf6c7f840e251cd93441ee19c801faffb7203635181769ec50c685a2de0b523d326b50ec5ad8c476dde76cf28f7aa0e4943860372cc162c61656596704c5e1739ec86f01c47b48ed369e268b63da18d66c7acf90219ffff03361dafce2dfd0b97434fcc2a5e8d441601017caa51c2c5d9182dbbea3fc674cb03212fc91c1919c054e48699b57de65d52f06db586cc3ac33ca96ef61ad107a0ec0340ea2d2f5b0e601afc3b206e0214a1f988b084222474211ee240c141cb64e2fe0328881508b783a39ade817e350bb376bf9a417d2f8bd700dc85b35e440164a5270354e2f6214484753e966841666701b10d5e261b1eadc969b6012b5d2317b8d004031761ab309c14ae163ff73ba324d1df882028f9e6194ecb83b9c304d19509ead2034c6f9f1e4d35a1cc93a52fbcd58da23c02029293aeb9f9663814c727ee88bfbc0344c2b65d55b5a3bac24f8db1fb499f03be17c0ae1fb55696b544fe47747c1c9903b3d0d5695737781d33225d9b29ec482146c3fc13799e78a20c8fb2b8c0cfe284032e22cc91f5db7e39cd8b1c05b605b854e060053dbb6b6957a7a30336c009f127033f9d75c95384903ea2bfcc64f97ccd9a4504f00d932828c6857c562db69bceb40308b242e2fb2e5e516d250935230b82464c891772159242344025824a3d6d8e5603da4a450a9ea7fa425f29f63eb3b03480faddaf8d24b64dcdc5df58feb8751ff800581f035f97b934a86eb02f80c62e7a6983dab4e8ca9d0046513754c1209a06bad0430186a000581f0312a5ad45a7556b0176515a7e925e49086bd3281640d57d877a760320ed50491e6dc4d20aa410000000581f03d2c2e55a0483f7e4bd18e05eda2215704ab0236d5a1631b7dc16b59d4e40491e6dc4d20aa410000000581e022c10f63c351c5b2b9439d9639bacbe910bdb42b8d547f207c7077fb07949195b7959b388b8000000581e029eaf21521bb49cc29d6cf51b6d74a710633507ae371226676509cc213b49195b7959b388b8000000581e02cefe26a20385275a985bdc425bb05cb97a009ce86e18d57b0a9c27d53c4101021940300219272003aae1841eef61f9ffd99db1f374627ac79f8c1abf98d9a67a7a2b529e5bacad820308941b434fcb63af35de87a4ae33d4f0b77c7298ab8adf5bfa3f663027414904036b6d9a1a39956c2da701bcc3b36bebab7499782fd3ffc82a9ecc2e7469c8d03f03d36402b8853ffb6b1c1f8c745d09fa050148359266ea2817d762eaadd3fd862c03f8d858362337c009f77a82a02a0fdebf934fde49b67620b56a0a2ded57d75de3031bf29bbed8e456a5764ca6d73bfe1ed37e10d13b7f3a5ecb20cb6b6c64e2200203f9e9fc9dba85592e1d3f0635e1dd7a9fac0424498284246bc2803c063302544d01410a030390bf2d79f002f5896308bb25a2d4750f82f3f131eac5bbee6bdbb11c5815970343e6b8d583efd0cf90e85a92d56b56d6ce9c571c522abe732249ccc693d63f4403ce8db4b8b519269ebbe3a2d2faadcd9a3388b135c93049d3af94cab0d562946d03b5a4ebcab02dcaaf52e3dad8651490a5f746e6d33999e7f016e44b212fab86e10395b13b5e66d7b15c03eac10103c8a0248be9c52c31609cb6f8b63f5089fa3ef30324d8e2a70b22d746b82a738f3b352a95359eddd59d592d42053955fd1755a7b9033cbf81fa66ce7d39909c6961f05218937e6328e9159f083b1549454076e85f470219ffff03016f6795f78dbae3097f99a2c6c796034f878bdc7c6bd7e907843ac104d08a05037161a1e0dc1c1e23405f7b25b82025e81278d17330a0da6b6a2cff22dffe465f03a0d3d3e17e7d80aadb0bd8ea9b9f4f8808d4f949aba88c5fc04e94c329c1fdad03f2082ba29426b1bb3ed35e6cfa97ac63323a45d94b6df1e6b973b8a804cd998103d8dd0d883102040497e323cb8224b3e7ac0e676024d39caa524d7b9a977bd992034412e6d54a40b010e3455586a9ea8b2c9449862f986d104f6c4cd6dd14cc0352034e93c4d3bab53bfaf2ede350facd84645677040a0e64c742cfa9be2ce45030e00219ffff032911dfdda6a1e8c79de4753857107dfa78ab8697777f2c3a0f3096f4d71d03b303c8b7e4b343a40ea72f7876849f2076ea08a19e55c9acab75cbaeffaa7ab8bb600219ffff03bbb9ae1c1c44f29275374e669c2010b9efdfe53fd9ab156e2e3c29dafb1f5ab60357cc1b930b4f59bc1ce751cf4f10359975bf7a7c667f08b79bb3a9f3e6fbe0bb03fb9b5acd4ef1d527398f9cda66d7faed679c24e8c3b2217c7e984d5c15f2feaf0307a5f47bee103c7b050a49e6f95f77084241bd20af5d191992bb587740dbc2c8039a6261650be74693fd2e0353e9a309d99fc531572998615b1325c09e0ca8825d03383d91d65bdeb70f0fcfbb42dbb5beea2f45b4d01f67eb24f6cdfed6fe3f6165034c84585057cbb2044eef5dfe04aea5448052bfdf51a92b854c22ebc8c6da94690316daddb3ba23c70e255d4e5da6a284cd2543439ef8e843261a9254837e23876e03d6177bfd4c0ea8a261ecf36558fbbbb5678aee0ac4cc52c43d3d6a911563c1d6039de5260e7977f65386668d6bf6234843f4f1143306221463147c9760e8d58eb30385757a051d551bb0b999ed6e75e8c7736d680f4004685322edb363da3b233a1f03620c067bd8fbf1f1a5c19c6435a636301774ffea16dcf476679bced17e44aab303fed202a12c295d38c45c508c9f8a6301bb4029d7ffa9e7cc989d43a724ba380200581f035bc5e23f35ab45b5be65810546b3245cebcb95f1f1a6497e46e438fc0f6049195b7959b388b8000000581f0399dc6a48a263c46c1d78481ead8f00d85befbe630c4b80c0a11ab47fd2b049195b7959b388b8000000581f033cb7c4f819ad64f1989afed1ac726a915bf83d066d2e2f6627eac34b2d50493cdb89a415482493e000581f0344ffcc2be435cfc0523ac58cbdad0db84fad22236175123d31d3a89dd960476a2f5ad128be8000581f03387114ea9154206893d353dd0df56f9542f6c0f1bdc32d8e92f8280e8a6049195b7959b388b8000000581f03314f3a9880f54ca7f88c317c3df85350f2407b03b492911c82610f0ed4e049478a74e135e4df1f000219e82203d611c92b34eaa9ff1dc26b5a4b64a65c52b55079d4fba6449bce23cd0422c52203035f07380e90def1cb3e67318cfff4d2ce8a050d30421e9e94d0d0abd8f6c83603ec2002e8740a4a8085339c45c475ab4feef1bdb085a14031c4c5fb04a65e0e10037a45695fd8c0df3c563a66ebbe068e823e5b4d6ec397d7f4ebfb52fec519cafd0382b8e37a3f4669040cb633df1875a20328a13af052523fcd2e89f4d2cbf2c43403dfb926fe7788b39711fbff60ebb0abe3442462916269497c04ee63355518232203c45e9dc192e48ad1a2a869ebfc1ab14efb54ba46910eb2b86df1f70d0aaf64670219ffff03f96af0b6ea0e58d505b0276680682991f4a595c5fb577d05771c13c46b79a62e031abfd9bc8f37450a17f56eaf33422a89ef2bcdb8f5835b1d850a052be0d4014c030bfb2336e874968c214dfa96cc02323cba7f911a2f7674b851d56829bca416d3038c44330c1bea4818782ff8e7a335de35182741f9cfbf495fd969b3ff2a0aebd1033a7d1472c3f2b1b208fa42e6cff87402f265a91f28301ded441997d2a779d9da036abe4434c20b82f51f0298c78015cc4d010d6cdfc5064e54aeb84d8527675bca031cf0179c87858819f4bf7a36e596d6ff43318321e5ada7e0307d41a7441875c0035c5190cf811704d3439bcad6f5aaa89f6754b74297a870e645ccfa003beb5bc803fe4b02d68c161c46f60a7fe718aaafcddc8397114bd4d3c1d9f59fec41bdbb790360c4c5805ed345266b0f38822f02974e7a8f8e706eea7791f2e5ddf11bb757fa0394a985d80a793d4cddb8704edb3308e8bcce2d3a05d0d7c2b6b1268f5788ccc703fbe4ed8b9eb1789f397f3385672172d372a176949dc7308f923bd76f40c362a30323da96839a347fa275792fb856614336b8828f4fa3d5cc8f5a3acd6871228dca0302f859a4271baf3bc3acc4bd8999d360e7267a4250d345ad5c25a3d135e496380219ffff0320a603512026c6ec744b82f3cc0d2fb6a0538ddafdecb351f078f47ad7ff0ee9036e4ba31c72d2533cdb8d436b4a1e5c77e080acaba1786182d7f051ba5f5a722203d58de238fdb4653c9eee0d8727c40152596957ce7f6687de82857f64370b20000391159d7c231d2dd78079453df7b6a03d075494e549deb5eb04fd102141a44e450343e88c9e6b9418d01cb4ce41eadfbe99f5738210359a4b39b881ed2e8e3a1fde03cb0ccf071c1520e3f6c82d043c363a1c3ecb474d8bdc4b177dd126485cd58b2703ed51715353469e5beaf9c5ecbfc837c7755e1a7957c789e2ecb16e1d38052d1a03a83903b57c68580b1adff1e9d0b6a1341096a3665e6a30179db7125e6e94792d0375b0bdf29b530a6c4b841c00ab4f28a74c654b82d4a55b2588e63c5393abd90503e834fc550badb80656fbf72325dfe5b6ed3f0ed1ecfc59c2814b32a5f490a1c50343e02d1f8ef3c723188b57d511bccdb3e463e2acb7a200325fe66746745d6c9603e711773a265bc969ba3f3ed8eee0fe5e1b57ab916c515ae0bace6d805d760c690219ffff03d293862a88012a12b5b34b0c2da77ad9fee01ac9e1b11b057ecdff1d381801f103df3e7c796f166efd662ad31aa48e6f81d556cec0d250c784c2eeb96d2e0f5ad403c921773fc5fea313f7670582ca641793cdcf70efceb2c8985edbfc4827246db103a2d5a841b814885a0d09c74c76d6309e301b773557b1af615744db39cfa4910a031818dfe824a45df7c76b91080f7339a88518a0de1eb17bcd42bce19def5e7b0403ed75830197840bc1d63406ddb9b665d340443896936df79f448aff7387fcf35f032b78c2a1ae860132a0b7cde866b8b12df5d0dd82031db44e552eee2e417e4a2a03981ebc61c2d43948e1fc7faea017be4ce88078043ef312e2395fcd3cc707418e0380b6982cff8fb518a98a16ee1ba2bec8eebbc8de6bd0e9c9b5b8f78d8b266d0103d1dffca2f67b8ccc8c00293b7938d5b48eb8ab27c75aab49c5c039ca99c6e58003cf7e5627142bbeee89b7d7f3265320b57f99f2eeda7a647c8435d0387e7fe46f039e4bdff0d472b8361e73497f22b96a47490e55a292519d59306ad7c159ce380903a27d147eac345216a371d2611db69cffba514fab8e74f8a4724c99b299fcafe403a3f38bce4b1030e6bf225e25baf8f14da08f3afef0c2a81c48106ea61c2a515903d0abe406dc8f79488af3cf51fa0e2d2c0d8fdae761514a2dcde8fec80bc5b0ab0367a16adda1a9accd0c2c18c9cfcb5216cc5f7954509a42c7aa04cb0f69a3c1f3030f9b14e75d5e24eb4267498e719a7cd7bd41857890e7a4f1dbb776c05cbe170e03cecc0b050898b3fa6fb24c736707d227322543268f81b728c25adb414b01e21903fa41a0c6ee7e7f60f39863f122e89168f6ea21210900997c01989b6bc935aab900581f03a8938c818747123df9bde24ec243ace4c2187ec1ba2480600681e36aeb5049195b7959b388b8000000581f031f37d7bcaa277791f3a76d19ed0ef66417b7f01c19ba674d960f444e7460492380104a61bf66796000581f0370e8bbd6cca81fc1ec18809a66a08ec6faf530c08e8155ec60c1c1d4da304932b6f2b3671170000000581f036a35be42886513b92986bf90f75eb23694d663b01cb311179143658c704045037e11d600021940e003bb15c9cb99526ebe3743e3ab0c1ad265d04df12b6d2e57767b246b877c46ba94034a3b5eb4ab80c4022df5a43d94c62ebe4b0f4da9ea26f55488c399fe51a278b7037854fa1a36e98262c9e532e09e450033ca98070d715f2aeb8bef99f51e7d54c5034c97bdc8b56cd555f93531387b957fc5a1c24aa43b55e3d66ca198a906127a350395a33a381914167bf70f694787b8563af248d457ddc55c4f0454c4bd342cf31403a4bf4b7fb33adbff4bf5fde6ee9a7ef6c7b80cd693dbeef14236ac6818b35912036678df877ac459aa9f6c5b53e65f83118acc32739e4b4f9c539ea2883a71cf24037f9adb6602e1fa9041e558cbd4f284b872add4bf5f0f1451e34c9c834cc8fe0e0385e4bb5e7bec7242eaeab721da203c5b599192518f7c2d71a818df2d69310f1103928ca276d3a8133dda21bbf59b9698c52babcb69b0f44a2dc6813296fa168a1803791e2043049084df6fa14ef6101030eb9757c106346197be437c7d465b263e620219ff7f03d4ee30bd496df2398d77238c8e43f7a6574d45324586446df25b298d27291d15038a6c805728be93fefff14ed6aebf1402b2100d191fa478160d93a30a536e4c41033fcd30fc8749b75127c1c5b5dc8e7f4cbc5bc6c65244395b001eab5491bde9c403fc691567ffce508484d561e0000d7d97728d52bf19fd3e9cd2371b1b08bdd9d703fd6079d2448e723075feb8b770fdc63ed807fb5d0ca627ed28f3e605ab3f3a3c0219ffff0370559db1a9f35f26351a545ac9daa6d63817a4aa84f4382e16c32076166e466b033542b6b0f8df9d9c46214166c1cefbe16e591e5220d07f4cf29fe0cd2c27bba103686f8d1479191651c9941880e1e3b9a2998accde6c026670910b68472bcebf7c033183ecd3157c466e7dee5fdceab21bb881f88bba302dd51f78accb47ac9bbbb1038594633a0a0ce8de00817ffc87b6d95dc19d072477315fa7f33aca2925217cc203588ab92e30dbcad014583b3587fa378f958b05f47830b5f41f3d408fc328e8c103ca209ceab1f5414662a81d3ecf7384cb7237f0605921930fdb6cfd30237e5f9403df15e9392f1466d220ac373c84169f9fb9bf2ade9515ab979f6c3674d05a583b03de1a9f945e212f96f5ff7e537a8705876ec57617b8ec8b725b9888cc41e783b60219ffff03b84687a2ca359b1d86c7ed6c6dccbdaa9f0a515a35ec59f7c1e913857fea580203477fc23b6dbaf225502ec25d22fb98eac29be068a428c462c66dbc213c002685039489e84fb13855a756c3c2b35d369059f8d52dd7cb6e6bec855e7043339d0fe7039059c47877ffb9e9b423dd0dcdb4eaf3e9ef0c6be90d420c6d15ea1c1ff6703403cb78ef07fb7218df0dae51ca330cc91c0d3b9a078e2745df34deca4cc139ce360366f1b6acac20e0dc40684a6e89ac3189ec34a152c3c004a8f30f2790d5efca380309cd3c45a41dbcdb958cd148be964b666780010fbca31504f1a9d5f976e9711403454631c30a3baa588a7d37769f125d2705b26c2ef49677793e26910c0218fcf40366336f20d604232081f71ca308b14aa6c5d5b5a07e13ee1a3f4d6377dce2276303912f0c3acaa1326dabbf6e03054aa97635cba0c4bbf0c6d9b460fc390be2e75903e0fc0ae61570005ef5cf515b9c4bf23576f2d516d4c0ed89196a02f58867992b032a74ce13cdcf5163e6ce3fbcc947b7c0fa5b586a584c926022b9a86c3b78c9bb00581f02980135a72601ce11ff92e4c43cbeff0eaf36b74b768fc3ab844aa09f71a049195b7959b388b80000031a8e04460080b7fe4dbc13acdf1b24489ed374934e771cd586e3e811a126a06f03fa4d853133c2b015fa5175772e0b0676a07109fc3bab482c4be226afed97624d033363acf61d732bea01d5cc3a5335c78834e1871917e91859a99cf7b05dde1f3403958e11e9ea2d39fd70bb4b69ac45346b5c6f2ccf8b8f5405aac474a568b5cc2a00581f03f7e6a77dec460cf651d4e58fc227d8ee1394ee710fc420a33f3f8fae629045400746fe000376b0b7ea4439638eeea07c941d25aee5afc00b8505e45354e8f19e68741abee000581e021e5a63dce766fb7250c364922cd8202144f84856d835cfd9fc8360721349195b7959b388b8000000581e0243506bbbe5aacd4704dcdf7a80d77368df2cb447b5d073296379382c8c49195b7959b388b80000020300581f03fcd3d49d0fad7d5982bc05ade69287d1d283776830427e93761a03d52a4049195b7959b388b8000000581f0306aee1224852e2a04c4d9bcab819841ed63d4873db12bee5a115607bf3a049195b7959b388b8000000581f0343e491d2f8d71e7f778387243a616974375cced5d2f5f46e1a24ea45edf049195b7959b388b800000219d30203d8a5b69a05cfada7b9d135d7779344d25fb8f042aa6391b66aa241093741ae08034456cb2646482c88c33695dad30b2c8cf4d2feef248809e0a3336005d99e98520315bef386d2ba5549544319c6e08eb61912f13270ca6a574ed8eba09c61621ed003d261b5ef1b2a244264112906272a19753aaf7a554ff44b6ba4543a5d2e3368fc03ddf6b7978871ce7c952bae88cb686d2901d67755d6c75c5637782000db595c2e030437de62bbebf5e4d7b6d4d5a734e7421b9d247347835134e2023ab8caaa515103bb58616c9b4e9a7211a6706b0036ce70801e9774764887f5821eee488d9464da03be1805483f3c9c61b46d786a78ea6a7b66b5eea6cae099b63852822e5b3398bf0364cdc4e1e222126c78339764fba25e76da62fdf41759425014d476002f171c020219ffff035fc1bfd710aa1c25017aa9d9078ba1394ec3523bb4744a1b9cb50655c5c30d630359a9c2476346ced87ad63f569509026f207b65317f91689861e6cb70e5f2de7f034fbe1c74813560c8b99dce513177073ca9f8b7961b26db825b0e93c9f841e8d1036d2f0da164a26fd1b2b899821b5ea5882e8da2e6ad819dcd36d2768fda24160f036a1cdea93571f2b89425760420f893054a027f0a853904878ad6dab3c358b837035136fb0cfb9185a594b488a78902cd2a1818c6c9c9143b3850ba0a57273c59b60374be6386166a7e009c57d657f38b1fc0b3b74e764dc6ecadf83a9d16b09abd7003cd03d0e480c3aff35568f6cf994de104bf33be1b77ff2036bfa5134f513e174f03c158b80f5be81264ce3248c9d44803b5ff260c89c6d19a598b6fd7882696046e0345b24b6dc622b5ed014a4d2127da99ab82fd119156449420b36b24da42bf7f970342685972cb19ddca40c960da493036b73cf79f183a123d1be9d2c002cd738ab103e65b8b03a8adcb1b51bdd48418134edea0676ec4e8aed6ab07fe0a6a28f3238a037fba46f75956bc3b970774c4e38ba0236031d15a39098ba12ca85ac93575ce520219ffff0304f8a4a50b38c455ef42993e8a6b06cb0653e0fc62e24d501f12b28e142e3e670322f7597eede9dd7d81ad53b637ceba0670e307e6994fec33d8d1b86351d6a9cb0311467daed4588a65ab6b152033bfeef50786c4e6283d46eec9e07a51dd61e1e10315e31044cc9c4fa5bdf7d2c439867d0bae747687bcd95f29c71ad87dca5eded1037352a824816be8121ba25628820f74cae2c7b7113d8377f72df3fa40437f1e0703e56c2b7efc4c0849ea9cd8836db7f85c3daf624c772386616760a444fd37e3600219ffff034aa429fafa72b46c4273e0e5de0d45797ad53069641f9997a0459400a78c46a70364f0d9b9e875a7d7fd964f39cccf1ea78cd794ff5c80b7dcd3627161a6c3c20503c92f4254f1babf52085e97e5a13d8030cc3622fa0f0867aa49d4af60314225c503021eecd15ad6545d36bfe11a02699bfc0edf864a5321fd2c8aebfb3b7b4d0d47031cc83c1a32bc43e0f0b03e94eef2ea6a87094b432bf62fed9ca2c5461166634a0384730ece89b6aa652ab5a066650964789e7690fde01dde0d9aeec6c840dd778e03e90627fac38d38b826e1d4a7106e604a02968667b444a4b6d4d2fc1dfa022ddc03cfe921f005d9de4631f76eb8bec2bda82d65e2e97a02441f8a6e13acaedc24490320d094ca2f07cfc6ae5a9cdf99a9b9895c8d78c662fd1622f0459d3baee0095703203adfc2c258d097222b99c17ee8f4cd2921e7f098be544920e5f4e50fc989db03d79468eef9f056989e3c3837bdbd2e147ca3947ee437476af4e98c79a54bcd73036e73a657f3e15109cf9438e96a896652730fdfd7c83b6607e636fed84026a566031df8f7d8632047bc19b276e9fb1d296e20b643ac133209e24e11f9b8f2b2ecb303a167d48293ac29701d84a034d62ec65f750566124222638509916f6bc470c06903006bae5a662cdde822c071847d486dabbac2f5da3ca8cedd7412e2b37694ee9603745f36c31c3b5eadf841b12e283ba4ca69a72e088a7ac56678ca61427577374603dcc516cab473749d4a82f57d1dc4eafb5f252a25e1d3ac664075fa9381088fdb03857a1afc144c43e9a6a824698db2232b28ac19dfaf52410f5ceffac699e19200033be4124a476d975a4cbd3201339703573a0e96c2a2e53c20efbfb803f422ddf1031058fea4513ff853bd51eeb115576e37bdb145d5d951f1e03ec858d0fef5a4be03d46851d036f13fd2e70b1866465c64cc00ac2c7a1f3ef9f2afec733932ebeec503ee288fc170fde09fa5bd9fd44be90cbb687c2bc1aca5148ca4441ecd381ae286038bbdcc2a1b9db29a0d498cac0c5df7f85520b0c9fbdae64ce54c5b572b45ecfb031315adaf3eac8cab48fa479476894d23ef6b3c3b6c2e102bc151e3c456e5a7670386b5955fca5572152bc8d762be51600843ca05ef46eb5f2bd680032b8202129e030ea2288cf7e393801aee4ee60cb6df4c257643d326bfabaf05bd58531c903155036d1f8a3302afc3a8a68a33685dcf05b65f34ec456a80f8ceb7c915271e54a72703fb37c2617816b516942e13de25850e5cf8c56b4f9a88ba7b1d478b14ca0f5e53037be866d0b5c0cabfca80409c8b26105a2f05e9223e7cd9cf7cb4a022786c74c103136e0d42ed1fe781626bbffe40c0788bd38197bd62db400e1089fa63b02c7e9203c60c63158ba13783affe9524a325f5ce8b36531f460633725cfe4aae74880f24032a8433f46eae714118b9d8c9b6dd7cebe5cdac9d254fa5adb690a56590f46f3a00581f0368dcb85103755dd976dd3be43ccc41a6e3bb5b4e6b32ffc8aac53d8cd710491e6dc4d20aa410000003437c8c706db6efd7a0b01498a0945ea00c734a5b67548fa8550dd969c50e11b401410c00581e02aa118ea7ce5faf4e280539d26ebe20d51df02f1ade71c3282c306583a949195b7959b388b8000000581e0210ae9fd40cd925a674dab2c3139b76e521291ab3f9f504088a5afefe9549195b7959b388b80000021860021962000219ffff0304c70c2a0116b49e8a77d2395753cfec816cf781b68d1e791dadea830fecbe8f0219ffff0373752276e885bbcead9de186803c05054649b65d61a7610c572739017f88cae903f5892ab781d2eb121779e1e1bd1d4b5756059199d15efd5d9233a998896011f003e8102fd3d1eb99e6072374c7de8e51deffe1db831f84558010cddc0a8e1ba05f037dec35b994105fd849da2d4cfd8d2219a523c76aebbd11279b4e33d28c566ab4036c9770b82947b479b5fbe3c86eb9378d2e2f803818daf4a91977244c313d75ad03ccce062ed4ef5662ea7b968b90eba5e995b943119e0b5e9c4c7f21ce1a1e17a203c0f325fd2ccefbe5bcc064cddf0c7729ae8141da4f7f1367a8debff56a94e36f03ed6a7ea260c365928b6b14fc21437c4c1e6f71aa6dc185ffb093718f9c4b3ef9033832ce826d252ff0d4586ee5eac5aa99da514e2ef646d5018f9486a3144845e503877c4ce79cacd6e587d0072bad3dd6f7764d2f8b85d3c08b7af15d3dd02f4e5903621aa539672472b84481d9d45a327c4e6ded408268f49f7b8c764a0f529d60100370faa702545fea98301a441eb7ebd2aa23e87a1884219cddbc25dca40d9869ff03da644996a9c146fbc5e997beffde10f4fbd215d76171c93d307f12085affca2200581f022d91668c30e8a8ea9b31522b3a2815e137cd52bb79e71113d34f92a068a54932b6f2b36711700000036879716b1919e952b96ed7bdb75c193fa49dbd429d5d07290744df6f89c2cf6d03989725a7731f13d40aee74b14eeb1bfc83b3cc18bf393db62f9d40bb1a00c27500581f03c4d9f42a4be6b3049f2d9dfb435e4cbdb7bcb88903d00455bbaf44ad06b04a03778197438bb128000000581f031d94935933d1c375e9f9937d0d6eedb7bdbef0c4d772d121c30512e163c04d01431dd027651a73e9bc7fffff021848037120fe3eb6ff9ad69038ae79c6e01490efc72cf49fea86b16c2b506ad3e320b900581f02e8e10292b05e5e6112371319b99161df8040eed558f189840ee30e36350f49195b7959b388b800000328b1f77955f1f7fab8e02edca959b9be18fe978128959c1326a1ec017069dd6e03fb8e462953989e17f9e78fdbf30d195fbd9c617dd1737649f83e6ee1c7e7eaa20219ffff031358c7c3a79beb57dbdc964ef66a6965cdec814f1e31b1aba645333d46cc038103a6133e09679fa37e6617afa59413b2490b7b5f13877af94f97eeb52a86b7aa3403ce95783550fef7a8593dff25e94aa9d0f1c9dd600d3403b31ec9a11e91d68b79036a4515bb0efe56ff28f7617b591b14e6ce14b808edba47d579cd829dfb8e2db9031be945320d0b6d7763c960c26a6e1771d7972cd5112affe6ecb3417d95cc43080385b14f4aac9431fa85c467c68e6ba0e835e0288d1e805a1006123a0d34a29a6e03f31fa2fda0000a9d8a959c42be89e06421ac89bb5d6b789b0cceaefd4bfa4a480375caaf1bb9b43106bf908e606945b907a8669ba1eb7bbcb78b2082cfb3fe095803b9a19aa7253ff98c935e2e318d25e1f702d6ac1a2b47ac54122d2cc1c00b6c490356b4b3a81741709810faeb3cc24fd20e57dcb2f5a2224965ec7c0df12ee80e1e037774dba893b0d910ab561f5cca7ea9423497b5ae33aeebb0b7a1837e4d8dd92c03809b35face275468232aa89ffe503f9d6ea65b39673313083bdb105d9a64bfba03fd441df880ff828d2188e2dd6c2f47dbc9ace840d34ca45b9cb82dbfbd31c24e030cdde2385afd67fd3b3bd6c3e9f681fadd8adaee5172892b1b041ea6ee95ef2b038909ff59203272060d74bf9212d71367f3b29328bf2aad7e87bd3b1359eb014b0219ffff03a2dfb34f6e499a662df64c2b314a7bc114017c504164b6c6068d3ee82e954d89037121b36834a5e4d95dc011d3b676d25baf7688005b436be707b6c9c37d2cb52103a841af7d1562a89c719692784f6cf1209fd798fdc723d91943a0f2f31682f96f033989d2489e7d7f71f5156250f474b9205e2c5d22a7b4cbf28f78a3284b85118e034f3d9772adfaa50143280f58f9e9f83eb18c4b4666e0ba67e35562776be55b50037e4955228d579f7f56d437c1fb87451f47c290e486ebae56f263a2a5e2cc750a03b0b8d726f58d41f05c5f93110b40c5dccaf9c5a0565e3bbd64f6c18642d1d67a0309fa0d8a6a16fe9179838c5b07040c3da2bcdfec6e8b2943fc9714497240f62303686e6f21c76fefb13a910f764ad93647ff1b8945345f4b174462bab787f4a91d03cba02aa947dac115e1a74f02f5054eb1d767ac296dfeb7d917d3e9d501ebf4fa0335ad37e57ba5689ff1784b2f140fb43216bebd5d10cba6a7b1bd6762a58a5ace038918c8fc651933b85adaf97a62519a9fe765f82233a6ba7bb63c13563505feeb03b7a833be08f9c6427b4619eb69f2977395318b419fc6c066cffa6a3893f338ad039492c665e6b02b4926f3331bd83019b9354e23e00b680044dd1d954801ae7c4203ac5067dcf8757ef225d948af22bb579dcb1a436fcf39ffb4a0a41b5be8d83e7a03be34db7d430db3d510449e81fe612885e342cfdb2f3603aad874581e383b3fac0319e4fd75d6926d3e9d7f0da4af148a47c8fdfe7b394c91a97b19e3936a376a8000581e02726ba92b84ae52a4e9b764a1865b525d2b074fd16a4ec661532238b1f2410100581e0279fac8c0fef40dc35e0314c19f68ec545b9390d03e5bbc439dc70e222c4a012b3764bc134d44f2c00219040400581f03cb31a7e4f52e049c90d9ae35cb5fd820f35f57ef7b011fd5b0dca8d29e8049195b7959b388b800000368ef475af35c8f3e1a0e4927677b228c38236ba5a65e1b2c1b9f6bf210e9ee3100581f033f1ec80bb6bdbb3ae4e671156238b709baca76a315c3f9f3292d6ce55d405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03bc8a5971d034b6f8b4c120e7a8e955ee32afefa4253ed096bf4e7cada4a049195b7959b388b8000000581f03b1fdd523c044b65de89679eb6c72de1132f1677fe1679acbd380dc15e2f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021986b00329e571e07bb3b78f4844d696bf0163e16504f6c2a0e556c7ba5260e6a427f04f00581f02dd6a5b807e5eaccb2fc93bf45f307e9fc076bb27ff01856a6490a37183794a1522bb4faf3706db3600039326ca12cb0cadffb4fb51d5e4d4dc200da52dce995564a4a02ca80d9387b6ca0322d670c228cb4ec58b837c9a3187e0d6c897bf2cb52214e5bf78421b01cd0f8700581f02f44820e055d403154a6c70afd876404ce361e8fc783bc33f66f1d7eb681049195b7959b388b8000003c2d9f74fadec02cb5349134d865371411f45d4a41a44137fcca966e00d99321300581f02f8bd15606f4a00a4dd51b316aaa16433be3e08afa669a5bcade53512c0634a03d2012709d1284be00003b0b381b02b5b408cee93cd902b56ffbafdaf85aee119a9379b1e9b9aec346a3003efcd1acb51017d1dbb1dac9f7c03b574e613f2e0ba912d91e45051b90b45984e03d0ff41b65573591c48f8dc1023931d3b3bc37d3248ac2f082c8960f3b45c3e2e033d255c46adb03b8f745f982b4fd970373bcb3043c44bf04e378ec3b6ddbdcc1e0363830fae9abae323e5dbb37ca86f275083234005e8e314572adef29d645bc1ef03d78f06e7bbc7262844dc6e863ec0df0dd3f38e1a136a5653e636eeb07c5a440b0371c52fce5a183af543eca6d29ef5dd56cde24a46eb0409d5530634eee28c6d5b0219ffff03a310d03844fbfbbf642932db024ebce87e2b5f67fcfbdef96c09aac3e0dffba40380bca3a825aef88c1e7c8822ca9c2c9e5f5543f6d798f6cc634b1a7cf4bf062c03787c4699a5c87dbed7f964d4d2d5e34b8de01b12840c6f289a6b554384dc31cd03d32f0cb55e9d9a436d212b4a9291daa2b0ba393396a4c54e95a82a36c742488c0375ad0b5eec76cd563ecd128f6e2730eff9d196249b867cf88c6a2083c080c2ce0219ffff0219ffff030e6f75b5093957450a9abd0ccb84a3209f9f805c1868207736dad288f19f985803d91d6d145daa97a68655e310532ff7bdea2fe0c35c773dc2b7ff02faba127927030b9c2205fa0031084d6c6e4d669ffa94788be7f3abb4d9e30d19b2171989f0f603ad0b4c5becb258941ac47c45e7f45f330514479932f0609170cab759921baab2039e78d087c175a30925a793fd8acd0154538aa52359a30a18f82aee573f262abb0375066a4c7a50f4832610b0e7dd95d630f496ec1c79cca34ef06f52fff8d8bbcd03369411786ab7bb6c4def59d3b56307ffee807a758f79e5cb4da88e26889f3eff03f71a6eb728849dfd9f7cd682b3702f9fe3893cf4ee2851649576d99f44c99e9c03de6a8c362655a87752572c8b759b3f3c9fb833edb8058da446f3545ef9a0ba8a03782ac5cb7afb005070599ce9e0212597fb14e7d109173162079fc3c8baa7aa4703002cace0a7bd2aefb98c6a038c27a36015ae6a09bbdc35af29d7e1e9994f090b03ce6c00ecdd616ed8b4074c3c2bcd5e594af6ef65c8b91e46c6b09784267e6f3b03a9e6728b6abbe3998cfa39479a2b7a6b81fed265f5bd7b9b7fae484492138fff039c91048a382f12ce91dd6e988bb9d084558f5fd3b20cd20c6b8ec4c629b0dab403972ee217282ab31c5f656e0af7367b555a618c6641026df39ed463b2261c814503e795a5c22ae0361f30c184465a647ffc1a9ae5fd4b3831834b5f1de274d16e4303e9b8a87c8ad290c6937b91619b927acfa42bffa94e70b39bfe60f5060eb3876c00581f03adf625cd44408297d99870176122ece5ce872bce6187f9694de6ccce56d049195b7959b388b8000000581f03a9eb4aecdccd2bf62776fe3bade692baae961908af46b806295033c0005049195b7959b388b8000000581f03b4698678ba1685fd2a613a2e6c2d55084458ee9c6c6a9fe94a64e66d6de049195b7959b388b80000038a46255c338aa1470e985f6465f774e292c634392649809801133a3113907c2700581f03d5ffb9d566457b52bacdcc5e6050f5dc273f2809e79df36606855cc8c26049195b7959b388b8000000581f03eff5027b653d80f4165cd354e08e12671010b5fd781e5ecf9af4a8fdceb049195b7959b388b8000002191a0703229856a1faa52c6ab5043dd01fc2e7019abf46af8f1f6bac6a6600dc445a4f1a03495446effe0001d8a3802f64f0804343f581bc28429d20d6b8b1b3d92557d7fc03b0f8f3fad4f7b59f80d35edf51db8e546eb9ba0780ef9fdec0b80c43d835ae4600581f02d7c50b9ddd47ce9d9d62464557d90177869c1ab0e5793f5ed9023d32b452492296af181790470cc0039c534a7e7b3396378188ff74f1b918c25f169f57643cb8520d42900eb3e9b2d103baa47b4696cff1459b17dd64da65f954139a32380fa5ea313579c1725a0cf1790396e4c94531f4726e88dde92244a9f316c31d8f55955219eda2a1f05a1c4f02ff033e51c4fbd1cd86a9ed1dad5845aae72ba8571e907215a4b6b628b449e80aa63303d1f180da770f032f42237f11ffe1b5b32c73e3a05bfce7dc1e582811095d08bb0385f3b443fd6d97b8f8b84d59fa8de8a4667c43fb12377735c382d902211ff59703c548c95586a1225ba3cd5f24dc642b159d3622363b62f8c5b8a904b191fbe5bb0219ffff0334f872f5ded1b5751c020f4150e04c50b2f3d32c0736f5f3b82d09083c1eabb303647992204eb2eb9eebce0c52c4b0b383c1305f9617206d5a7e30d5ec0e3599370326454e62efe46825834d3f391ff46f181fe49ed1f267eb22533cde57096dcb4403e3a2dffffaa33bd5050d545cc93e414c14b044e1da10e8b753391598c23548a3038f457502aeda148df5358ab05c063be9a5ee33636ca501b0b3b2ca7c4a60f78a03afb064e925cc7314d7099d7b8b3be4243c6bcba11cb71ddc64bcd636b032bac503f2ebfd5a16a491bb0b7a8a01f1fdc780f211a0a6e7496b6e2b74d4b4d33e33d3039b1dd95df728e361f6318b34e0812bff1be82c42b943c63d9bcbb799d969a1920314730383b7dc4b7bfc8e972a767ec3b998b322e50b2b7268338ed283318bf6750219ffff033692eb46a0a440c9b97cc6bb10ecf804d7bfb181fd369b6e0552b8456226a80b03fc1c989158e259803af95c5ed258d3a31bc1fff6cdfc28bf106bac3f204339c8032bbfc47a208038b4d57434ea75b46881b677e48e2807de993d03fa54788f68cb0394439c040650333a74370ac5c27c5d187adcd576f70e0b941c7f4beeb325b39703f88f8995f6feff4de90426009fc818edbe77bf36750e64072891bf68a4b6171903f74059f95cda24c2dbf4ca50c66d0003a31cce05a60ed29ee72e2f0d4b5ed3b3033f7821b68067f1159c634f39b512615439fe574403692afcc2a6601876461b9803878fb6ce51f16441ed2dcc9b983ad5f08b8ebab8ac3d0d9899658423586a7e440219ffff035cb15625f78ea42a8dad2e16f5ef24a4ac407db8ad553986946b313f38d733bb035d3ebfcbb72c10d054278b32c55a21eb4f675a0ce2837699ce5cb5d8a4696faa03c7494f3032f548d6621521ffdd39bac6f2855998e7fca65452dac0ebb488983703cfc6c80a65b819a6fde757cbe2c8a5c24ce9e1d7cf02d387a5487869104358f7037f80d44cddd7d2daef47482323ca5eca60f7fdca2206ff9c9624f7d4d0e784d30308fe82d689f81399e6a07a241b54bf15ea7a29ac3ff16cc2ce88a00f705b5b71039ce08d67b5d7f03f6d0dc6028e98774f6679740afe376480241a35259eaf6dda0367e73f51aac94c4c7fe174ff7732a362bee2f569b4c381acf6a4c5f8ce50ad85034bee2e1aafcfe889c0d08726696c852521fd3c19dd445f4d07deb3425845199703b4582ca86cc49efd701cb600c036e932b1038a77a9fed1aaff3376bcf9a784a603f2c9a34991c534f91636561582d9529888bfaf304eb7a9a8ee2b29e971d4434803e0a5282f9b4b38500acb58333391e0e4a7f230936145ef9b26c86ade6c7b723003ffc3367e7582a1be96701f1d564455ff10f1e88366643c7a60f6b45fc5da19c103a9a45c64aa6b8b97698a1c413b98ca49da1f6d35b3f56ed1ee47dadc9c2abd3203ba083502ac99b3e8cdca09882c3991fe3317195fbb4504b273968f049baf092503326060585485856de1f4d418b120b43986ad7f38653b8a7dfb5618f8e41973b80354d384244aa4909b34abe78c104f3abbacd0311d4712ec1f28be29e674d9ec74038cb6de0ccc9251cc069fe5eb4f1ea6e36fbc6735b2ee1daf3d764d8f30280a94038823580b1835374d14642afc13c1c25840b851aa1bfa5fee7cc85286fd5f6242034f9863ef3abde4cf61a65eba40cbb2aa5dc2fe13794fe04690649da2fb37dc7d03908474ebcd3372d06978c3bb0488e669768696354553d8b4e7b46e93c9576b8e0316ce45e9ac945f6a33a302d848f58b42e01491fc3f7be803ec4845eddec9422c038d056d90ceea4fe18b2bec1958084bb3a9f1245a9313fce290669c5abac3618c00581e0225c7487afda95995e78825bee2af5a2a1dce6c7dad929fbd68979b317649195b7959b388b8000000581e02680b7199334624e227404b3623bffa3764750aa4880e7d1fcc7835e2a349195b7959b388b8000002186000581f035da24869e976e39e0cf4ee9c6ac271a555b588caad3bd7afd184945b640049195b7959b388b8000000581f03393283168de201f5542d78fae73c5309f66faf833ce50706ec2cf3ee674049195b7959b388b800000219880103a68c1ee4d69a1c4e2776baa9164ae5dc99dc2778e088a55b9fe3cd6c1c387dcc030d86b78389ed6f459cf025a3e58530cef9e1895a588eae00a291cd11710b844d0219ffff032b8f0964cd2ab8615b6c16291d39ad4b4594ff05eddbd4701147531d0723288503f8d5d4dc76dd701315d8e6bb30eb809fd65500ff7919ce4458fbf4211e319a2d034fbd344a43f7c8443c949384bc45e0901b961ffcd4153c5100f7455674badf470371e2ddb02dba704fb825359daf61dcc07e3ddfe1182bb6a9905239d9f04cd6730397d86323144749fec471d149745775e04ed82ba4f3a2f976a97bb9b65ede46e603c43cf2e5d1d216f209b932f31516f4359ccffbb38d4fb70faff373c1e914f96a03ebfba5a7f7a57704b84255b960d7b303962961a10a23dacd90b07fa4809233b103fa75ae50af1d5dbe0d5b7acf53342494321e830051f63a2a294d8149428f9d150361b4acbbf5b906f674a15ba59d37303c019590b3255f3e13e17582b37b1d51f103824026f8fb2697af0fe4529b69127d6404ce84f55e8115d3bcb972270745dc6d0377803e113de05c53a85de30a59ca5010467973c877d7fe21c3c8c71d5dc42bd403a5c6791e5fb1581f0727e49b2ffe2f375cace6f14446cfa5949ec3bb044fe8ab0336a00958cca69fe9154ef2d37c39c27643801501184a27dfad19e5e55b41299d03c58328668cf15e8bba0ffaaa6300a8d4b6eea2fadeab7eaf04f7a3be2726980b038412c75777194852d2cacf5135292a4f98705b0805f8d5502471c67bc2c5bb6f0219ffff0390a5914e2bdb166c2d135d6cf52aa9c7b6331f27857e4e6e8c0fc8ea3c16f20d0349a236c7a6bfa5b7cd5f8cc070a3c8fc79aa1a511df67874f537142946545223030d56a2dad21211e8f239469540e4d4a172c768c14632648b5cad4fd1e21cb29903944aa015edfb2be2091b4a32007ca49624852f0c5d0d854e935973e0f224fc22039b3090b1ee10716b9fb4ce969a60a8b46272558ccc874345e5025606535a1fc10219ffff03cbccca52734e17ee4f366d6e413ad49fdd8d1925745f99edb7c9720c193878f6039d0e60206ac3e2389c1f38e19f90093eda6e47881e88d986521dbe27a59f9d4703891f2490f1090b62491abbb042be96dc86d112f280dd79db67eeec5fc4fa2d2503fc9f86b9018cb9952f83caa58e217518610081cfb2dfd04af59e957f37cecc780376d992282a9c8e7d10a94546d409ebcc777f18f08690d966033caf40a6485bdb039d482ba56fb69c8432033e6bea253fa961783d3498e7da4cc265ef73fc24d21f03bbd8646c852e0ed6893e879d567e3a6b48408e86d6c699f627c297b695bdb0e3034924e7626f75eeba1162fb1b3afda336d1dd80dfea2dc80522c725ca14cba00d03084f6b149e3cdf5e7d513e07c2fc597def335d2f84baa20d95feeed3212e9129035b32416534cdc01800a754df1ae9ee13c6b949ab921b59874a71b36b32da4c70038041c533fc72bc3637407fdb356d697323812fbc3fe1c3e935dc2cfec873b40400581f02592f6a0bb26d04f751f2d980c2c6e6c04a31a702c11a9f8f07d9d040077a49195b7959b388b80000034ce8e8f453675afab5f5e9ab4f51d4eeb27d034ba374713cd7e283a068bc99a0038d4f98756050769da30accbc8b9e5e8ae2aa67f3059ad4af4cb4eeded25c923403c19d719d09da3cf501fb24697405ba91f9d967fd69d6344eac83afa62b93439203a4953bb6b88068bdfee0f371b9a8d3b9538ea6ea6efdeacf62f78740c52a246b03606745829b227b447dab60f7a1ba4d4d8fdbf3a95d9ea135f844f50ad325d6620388057fbc40de32ed6cdef04c9aad51a33a4f930b54af7402e23b0fd33ab64a300365032adc1bf992c6b5e981058270e1b2abb9dccf8aec4526af7b6f8d9ddf24f60356916f2ef14e9a5526ac0817cf78b3b2ab837cda71a93b2c44c72023ab1d6eec00581f0320d6e555c14958fcb4e87d23871aa79d14ddf0fa71eaa121c014cfb3f020491e6dc4d20aa410000000581f03ea19d2c9f9f18865bd0c67a0a6cfb272b0067b304d1b3e100653e7429f6049195b7959b388b8000000581f03bf4a085195600c4ef8acf12c1d627c5fbe9aa9b71c0814a255cd6ab7608049195b7959b388b8000000581f0386f654b7cd1b345ed1c532bb6343fc42f6d353b55f14dfbf5668c7dae8f049195b7959b388b8000000581f03bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80410100581f03d2dc3f8d359bb88ad220510a9da7a08607db450ea38d1f6225ae71a3d4f04932b6f2b3671170000000581f030364ff85d2f8e2937b17df7bfff7fe41ccec7c5f1dead6919b2aa25510a0492380104a61bf66796002190ae903dd3e60836dfc55abce6d92002c2f0547454bbc06219b90c2e38b0a35c82220fe03a0c6384ae4f8b03299666d29cd540ee30534d08af60de08d921aaa4bd40fe9fe031a2b5d32d192c75018988254f3021a5a924f4934b45d24a769922257db169a0b03eb963eac715d31a83a1225bf7b32041a06fd45d696ad228afccbd108287b4b6303d7a0122ad1e29e4d2269d63eb9e3cc4b8f6946c13f749f2d4d3f5d53c1408da20219ffef035faec1f5aa70c03eb5510f65b78c3c998c690267abf678ad35bc55326205c5fd03e3a73fa13c6978dba9af26efd6005191c0337bb3b26d072e3a19d4c0dcb00c3603671fa9dea3dacb51cc722d9037106001ba6767093080a8dec5922107558811f403a690b02f5512f74b0183f2a86c08a427e37cbf354ff71761c71cb0082f1c7e5503332dc1fbab56fdcce4f844fa3f820097f13aa000bbf37e3b86152dd498fcbd3f038073a931a97188c19387b196360cef1d106bae204eecca55af45771fc38ef95e0339cfe98dea5c927e7d6408df2dff5a4abbb4b2c503bba83a624d38d6247acc7103ca962b7827d0cfb4a423e92f6ebda4d76e8147dae419b2d999c1dd8d81b58e6303c81de860b186da71bf5da559abf88aeec15eaf1f05d0be531f610cf9a4f8f0de035ef998a148b454417901597a97a8b7e9e03f94c061c851fc5a12bda422fdab600219ffff0356f3e1e75a97b4aff57424e44c3bc76fd04cc416a5d9a0aa2d53d95df1e40ccd03791633583044f671709bcce324c281d5df73b31aed6c4c62047d9f0589fca371032f1a51d26faf5c5f1e7e960e7c57b1946900aa97e59cdfe37177432b91659f7f03457619d55f373cdf85655cabbbc319de3d5fbd407a276409c1c5b580b4fb1efb0318b66d79c2c81add18ee25c380649d26a8332e719cabd9c6cbcd5cdcdcaafc8203bf1f347ac59026bb75197a509504cc69b7202b1132f9e214a4601f27694eaf5a0350d876467c324bf112b02a016977615fef2b7e7b02e6b119a9dfd81d853302a1038d497849b46cf3b1918203caba1a1e01b632bcce142fa8e7c93957f3b8060f310372b41c2e55e2e2e5a446505d6a77b1f1c3d94df560b738d3e49fb62fbda201660219ffff0311b62f9e046633282e6e02e542937b74fbbee5519c5f7961f3672237f405582a03aef6d3f450c9efdb7f9dce565cc803ebb726811d43ba52fee60deed12353b7a103145f3a058ab23675849d88c4c48eac18eef748276f6407360211b08bcc54ea7603e5537c11564c164c3a1254558501ff383aa79e723dbef2809dae213a06a1223403b8a5a6479e27d212c6ad30b1ccc89bdad92b3c13d79562474db5e55b476b559703167d93e091c7f52479399197d3fe2eebbb337cb850a4c7c3facdad538265696b030819efb11bb84bf812d9f219c885bb7ec5bb2090e08f214bd8eb2a69d7928f4503c79e3f766bc769c737c751d71d8b54794f01e50fc33d849d8214124823890b8a03381c97302b193d3f4fdc5dddaee8f64a50d9d31ca9dfe5caaf0abefb6990ca0e0359351bbaecd5a132d548a1c784b3eb106fa137468fdb11b3ab4f415dfbdf29b1034b9cd0b1833373a212d7e38025a6df72102b49f1be3edf0368bef62e3c39173e036f51f594272fd277f3aacbe3825e6e665515fd9c1d22c6b962bda2aa5c7c85a503caaa8c097e9fc779a846f85548c64f7a6a58d3bfce6d75903f9b7bfb80e8bfa4033684bf8de909188528b717a23d8e2734611cb448575b24d00dc3352cd6cc4325030665f08d1b3a6b7abf0c7f6d2dcd0c154ace074421d984ba398f5d023f598beb032c9d017980116fbe95018643d36dc5cab7eb148b152f68792a7b87620cf778ce035585990665b97aff6b7ef9d7a4db3fdc5373b0af0bd8ba223bc88ee386b153460382168d52a817bb2114555f0887938dbd280e290db3939a402acbb3a0dbc1534403e91a773ed01d2ed4e8479297c4abcd96beaa93bee1af96dbabcf1db793c1fca6032dc692904178daa4455dad25bca5ddac2a5a34041cb1a62389262f1a9cb0e442032c551ea28e33d4ee8fdb7cf1d8a1572fcf5ba3f0d918768bbf45df735280a35c03b3dd277d51a5d3b85c67bd6da2f01ce322bdf95a27096e6a43d20f9fcfd4b4d3033045a24cc42db7534b03f876af812ae0012a2ac3408475838f71c423c6983060032d9acec3a8bd2fabfcda2544e4acd248ad9885f4a6e87dd4e12791cdcb3484780359641cbd74d43e485485ac3c835936c69912dd2d73b53f719088b2d000416037039595e562c946d9ddb48153a4de804893ea0768d89dd2c09706b703c886f350d103fa44c1d3703d07a77584de6b4b86d70b316009f56d5493b47086229a85bbd3c903a1686e081100548e0a89581faa97f95b1696f13d76c516c93e75c544d64eb9dd036ecc7454327c0a1e04e0b7192f3c154006ac6c69f649e42825af9f798494f467034c5ef11faafc364bc794a92625612e933a51837e7713fe95dc9a1a5d97ed317603a36cb602b71f2b4f76b5111064d076c0121ea098bc51e431e49ef10aa835772c03ad373c9f059f0d792bbc7a098db59f9a7654e43a70d2f7681959527f2dec43f400581f0334b95513869f6d66dddb9a2ba7d8facfafa9008d380b325d60d471de4e8049195b7959b388b8000000581f03bbacbf4a2ef3b868af9eb1fec22a0ee22895eb43796ca0a093eeff455180496d8f3d5e7cf6cf2fe000581f03d8a758649303752bbc7f0481815cbec7bfde10a014e2e60be59c8c421f2049195b7959b388b8000000581f03e010b46f1be2dec1df20f63b89961ebc6e31ebed62728ee214fc1a28fbe049195b7959b388b8000000581f0389fce2fbf1a47e4e2e402703b675baf537668ecdf296e8f6203cf650f53049195b7959b388b80000021901b1030a69bc5ce9bf158077d69949ed5e04ccde75037cc6f15e4e9b043898bcaf757c03b9ada7ec90ecf04e73d3921dc7862b0d3ba5eb72b492c59f879a57f537177eac03f68ff7e6a3ab73f00588e146aed90580c56d4f661031050f29f423aca55a2a4a03e9dad39d22ccf3655c277e23d54ae55ef9b17f459c0d5ee709117da6827a193303c5f11455b6d7a2dca1e70f6acb9d27aee51f4e96e5c6ee90e2fcf5f0634fe37903ab8b23fd71b5c16eafcf2710371bd231b0176f3d206e95a55b590281f33b6be000581f02d121667d04f99bab5d8ab428d185159ba1771689f32c619fa4ba957a984b4a02d72d31b44704b125000219ffff0324c6e945c7d30f9b5212dab640df1f99362479e7b86a1a7ef96912a111030c1e03cb20e3ad31ebe749960eff64da478640850d3da6c1be57dc3614e5de59a1677803460ac58d0600e83cf641d4546e9fb6aa2b296fcc247becddf447f5c89e742a6203b7c9f7b4f67bcd59500fb377d9ec1b80c3d73fbdad71e693faa0827ebc6cd64a0219ffff03c4d63f6f9395bb411e0c0386bdebf1a03aa03ccccc83e58ed2d5ec14d3dd0b0703e68c62a53c2a48524ba60b486d9acf39fab9ee60bf2d6017ad8ea793de6dc36c0219ffff03ddfa2ac5506417c177d22300261277795fd13078da3acf8e4886a3713102ec6103d13e6eb8972e4f134c569024d6708c4d2b2492dbe0e16ed11d485169548b9dc7034111b3120f4cc894406e48535848311565d69a978965359d9d5579c0a5ba485e03e2b3fde5bfcfa1aaa4b76d44bc0bbdf6017fc6e0aeef860924bc919dd3c468f4037db589a6104e72e9674c46214711d306ff0b7fff9a48afb49eba597cc83d9bef0384ee8268abd331eacf5475dae55ca187de3ed3a2c276bcedcd8709b071344eab033bb82f99ab505543a49882effb7de37776516432d06fae85c9d32582dae4e20d03d03d735f5b243f40336eedafda9b588876d2e767935ec6c6f93a2fedf12bb886035e1b366aab8f80e5cd25b92aed1beb03b69d332c7f59de3851376294e15496d603346334b15df89873dfa03b66b5fc592356a9f2229edf0c2aab74774ad119087203e21eb1c726874ecfb2e8cb9689ce0dcc114e99238b916f2d05fac4183737bc7303736d5d3a5696cca2f24a72d03a063d8f5de620a7f018ca89c24e88e38033cd1103afad64b28b90861f18e309e81f127c0ba929beca4a671724534b813f85ed157a03c5693b319015bb095cdd15d498c51bda32a67697b73de9ae1751e5d626d2464c0354bf6e94514d1441bb56b7b9857f99ec610e35e9978052e9cdb9157d322bc92f030f13d3013f334e6502c968a62f977839bc1a20470398765705cd9d97128714a3034e1e5c9f03f49badf7391ea2edc02076bde7d9badd57e69f62340c2d09d0708503206b0ea6dd07618c05db35331363de9a997cbbd126519519a0daf6f6abc9aa35037ba447583898898c99ce513496f8cf2826b53eb0bed894b69ed64018cbedbd100396397bc3c60bc6dd4af7b7dd90d6ec8c5f4b2f705bf49021781f73d92e33f56a03163534f99e2f6fcc2e0550270d602b6771093ec73c9387702d6dcf0cec2374ef03dbaf1e71a850a3d163c38a8af2a0ac67747e9d9d4e4399e3b3b1615ab008486003f4133772bd32f967741415d7c15d2445d400743061faa23a978b270135835cef03d7bf5046c9a7770ecfe7c4dce38aafa463e0e6b688e4b0cedc66b7ec022f91b103008a441f4bd0313b650d7987240e6d2a990ba1846c2461e9334e2c222bf2c42100581f02aea966484901bc50cf84b03d1cd0dc808ff2106414f3962a98a88db9f5ae49195b7959b388b80000033fcc3f9a7c98dc7ec2407cf08f0efbae71555ed64e4ee6f3eb77fa0d4480eacf033ab42b5d832c584d41e2ee4ead2c2bae15ff7fa7afee7faf92bdc3fd7ed7345e03709ae20e2b415958fe5fa4f10cfe0164d9a190d842a50931cbceef6f7c8f6c8e03f822bdb928b03068c7c25d11923c1b26b110b0ae53ac66d514cafe38557a51eb03f372c82eead810b5af2c9fc035004554443b52f9e56b22c43095946e88081d1200581f02990c71da3b3925499171b66df27bbdba38a20f083ad7d1b9c6ce0f7f8ad749246538233e2bca50000370aa2da943c2af50b8d1dad11028684687bbe2dcb3db800c5de619f94eea57b403870604012aa4c279c84cc9c5ea47de536c41905a265c9fbdeafc6e8410a1509903178b3db226aa1e55e44a74f17627ff50477121540170ee8cc4777751a9a268b103bc7d71f31d22d8f95f87c4a78f719a1e196d090f23f264af993dec2b5d2cc7d800581f03d611d6bf7cdc128f6f6c549a3e4661f44db34ad5964d771c82acc6d753d049195b7959b388b8000003d0293f7089223f6fde966fca100ac8b715e05782a614b3316755a3e75a4592a800581f037a7ef9233f1f8096129f9edd0fffa8a97c738e43aac6dceaa8e0c65e8d6049195b7959b388b8000000581f03ba3a402dac6b70e958514dc40a15e7731bf5b10fec0abe09fe2d62a00cd049195b7959b388b8000000581e02a3e1cd01e21f2249f7670f9c7ca149aba9a0b982c99321bc40d0e2cd404a21010f251dc7a42989e000581e027de2f159476a7ab2abcc57dd1b73e397511ca3baac4266b44d413b06a149195b7959b388b80000021200581f0363e288f634d624b145a5b2020d2a8114c055d57c28a0469f1c6df9406af049b6929cec3fd8600000021991260327c6acf3a8b8bf785d936f3a544d3b5c5e7ef7300988676ab254b71b75f372b10219ffff032ec649347f9749a98a670dab64013e302a082032883071dc36f4751406962cbc035aac0bfc3cb4b4b1bcd91693897e3fe37a9f49b2363510962feaf695c842ed0303d6448a62504cc1411220db04c82e17072a9b4fc6d8a4d47c8c40361715bc50890355c64d359ef0b330bc82e7c85b041e073a09b941a4dd1982d2e1ab33db037b7b0369f988e2dcf54d3b8ffe2b6dcb66c22c27c6f24d0c71960a8b1d60b6d0c888ea03cd0b2b1abfc23c04b6b86b3d9ebfe4849f06b607661552e8fa4b5a96e8d2ce860219ffff03e7cd474b63201fe4d64ba5ffc0d3a65a57ec11bfbc4272aa647dd851046611bb03fd0e9db034e31f21978dab69449db9202abba164ad98f8b5f9a1d79f9114dfad0219ffff035a511872d219a611ac3a96288207f3637546057659675d50b46db827b859ce150339813625c09e0d1c130df3f80f25061107519db704112d70f103cb0eaa99cb7e0333a02f487093e351c2cd63cb645a1c665a6b90da64ce24c472f50cdf64b8b2910332a75419478a5130350b77bcf487d6ddcfeb81fa2fbd2d122e49e640aa93565b03ca807577b0f5ed8e58aa1df22c33e607fb5decea5cb5b4a4ac5d19b1a35b6ee0036822c11aed3f28ba0b379f2f85db5691b9592f5b5bb3842c5256964f2d3ee9c1036b7036c3d7615e2d8e2da2ea6f72221c707d6bcbe6ebdfb8ee3a5589cd1be546035c7472fe62143f0a9f70ea0d32e208cb95cf9de67aa531a7429699ce5b5cfa460373ea46c64eabba554a6be24d26132f23ac01b1d66a4d14b9178708ea213a7e5003d8b45ddb93e1c454b1f40e50c4306794427d4a6af42af9508e3d1390b299e648039ba1149c3177b9ead1bd5de3858fd7e1f95f85a7385be47a85adcc765fe0fb3603e9f2fe8125167ce1d85c63ede3deb2a569d9ff050e46de12afdd82ba4b09c5a00330d60b54877b191c49f62807d3eb3bd0b96e816c44632ab39f9fa57edee973ae033efd24e5532b0d8121e2f6430df1f34caf459a69d29154bea18985e9a45b5348030ab0a489fcd6a54f9c77cb9e97e472da202e959db1f92e924b51c8a0b5a8946c034752b28d9966b56c77f1a2d60beb52fb01183e6ab1495c1a581450fe6dae2ced03d40f61687aefed4546943c0ac09e16a594cd7e2ccfb9bfd45567d69dc988944303885f8c733d1212d002d64e2dbf4785201ef9e5c28cfd0a5e44c6229048dba1fb033f6d15093bebe8cf4331bf4b6f04e27119f0429b3fb0009cde59ea6a6f95363703ee1eafa6a0b4d3100e285e2d0da0bd3617521df6948253d7683ab135f2417b130320fab9708671aa2355af92cc636e9f2091bb7ce915e8ee9b187ad27337da12f60383beb6473e3c9744d353554661ed128a4c014cdf5f07e8e6ad749397ce3ec68c030cec48d07a8cba82e56d31657f19aeac57374154067de42f7ee997529a91067f03ae2cf1ec23fea72aea31e80dd62408f793550cf8fd67997494a60f05974ea41403581cfe574219a5c1283e9c9cc7a31f85611242c634a7d85834db143d16ce812903b1e40ebdb65fe72c19728b66f025a84c7b2c8dde81505f08cb56e0470c3d554900581f035e207795a95646638ad6b9ae19cae104e9b376aee57c1c7d68879c6bc35049195b7959b388b8000000581f0392a997429dfdda703fc76788c49a2ca339997c94ba35bc79feb80de711c04a023735b261f607bb2d0000581f03348c547081197af8ab07d4f2c6eb99974d3fc21cecd43cf7e4702edc0ad04a09406938cb41b6d9da6000581f03906cc0e7fd27387c87ecc7a6c86414ca8bf7065fe37529fa8af3e99ecb6049195b7959b388b80000036fb341920656f7a2f7036679fef597cdcfb555fb0614cbe0afc5490ac260434502191a810304081d919f9a6a7386b1b9146ac45bfc93b4d38370f44b694b76b485eb5b139c0376dcd46e93cc189649b66e0bb8cedbc00362ffcc6f5a5769e348655493a7b4c1036af3a80d57f3b04ac1ec01c678caeabde437280a9960638dd040e4a3a8b1600d038e7b867be76314bf498220ef99a2f957b76036a688734dea15ba8c04badd5c1a0339d288324efef83397d387617bf3090f82ae575e640e43714e14d25f6f68d96f03cd5e64276f090fd7c98d9959dce3d6fbcd62dcdfda84842693a74b5acd146fe5034cf6aa125399e93e6d534665dcad52dd266ee08a2dec419ad7a58610d3c4fd4803f9ae69daa5af5df1ed7d71c75acd191401d00ddbf2442793e3b1b4e274272a580306d20fa37ab4239904d45ea257ca4f33012753a9368b3eb4fa75b15d502d464e03e2d90a1908e9f23bb7fdbfede8a94c947d9334a7a71dbd7069ab10ec762b335c03937d3327e332a2f91e0cdc3e65e09a1808c07a3852ca653f3b151243872a0b7003aa105c5191145e838fc33915b43ece79bd0cd8c5b958216330289e7edf4961f7033a59f955b1988c7a71afd10321add864da479147aeef2f8f3f3a892b32aa85110219ffff038b93c83755ab9ae05d35d522268a90817c58e96b9a83197c6aef755c94602dce0394b188a81fc4818ad9cb3ac751440c0955e770b6fc32a73656c5ccfe1bd37b710219ffff03f9eeb8c7d7f4e84a2bf76ad917a37cb4c7737fba69cd153147c6e3dc3a0266c8038b88a8e6fabe98a8007e3501afa619f82946a5cc01f6d64d70b6bfd058a668bd035cc1c72b2e46cb4e4e2710fb851227d83b1535830f81c24503b2072af8fffbcd03acc36c3e92562998b0f1a56cd1545539239340059adcbd7644f03ce931aa07fa0219ffff0219ffff05581d02f4fefe581946f60e70538d5df5e6ae9aeb502de5af1c76a959ff701907011917e905581d02ae963061a1b234f5ca0f82249c064334d3a7f9d67a77ffd98656d7fa04130219080805581e03b8d7c9260bd275cc62152653f2b85b58b7d204649d02d31f42cb378ee0040103cfa70afc302ebd7bc091778d9b538f2545d1457672bc1335e23f7a15979782e30219ddff039066ad20895e5eb15951e943317e2630a34a0ae5c23bad2b2b2eee35941e814e0219ffff03aeebeff3853519b03b61c6176e7b96d68fe8cdc54cbdb44ad6379cfbb4328c8503c4bc03877885a19ae02532aed38713d040b35f614dc8445a72948d9065b408dc031685cda8e79a4b3364ec171110d4ff2f20e924e341f3a9416f83b1c00afccc4703482bcaf0eb53795be7a46cdf71f2cee502815da48600e6c541660e47277cd82903405a3c8739b83bff463d9d5387c936bc4433ad228c5f7ca1400b5822dee6d7fe033c517667efaabee014c23a4e0f359d5130cfaa01c0613d0c420087d31cf1df970366471a47e4f35ef5bd64574096149cc4aaeb4a5a6e8fbd8d791d031afba49862036670a12b090fed67be7c67be0ec22b07a3e7323df01bd38224efc22a7aadaea80376851e63dfb2ae7afc1661a252e73cd86664f4ea67149b27ebc9557ccce0f46403324f3afbca61ede6d087c828bb64cbb717e28f77917b1427f3d418a0615cb70003e586a8ad88e3b94411c2ba4e02818cd42f1fe6f156789fcf3d816a13b05aa1d103fd5e480d43dcefa2bf11e3603ddae2ed3d8b233c2ca79943239de2e2ddc722a003c1124a6f5cd79c4838929df96a28e3d9df8ed4371f127b67e36fa05ac0b63dbc0219ffff03fc2a8a0bc338925c793125644635c732483faccb42e1dafb74b63ba3ddaaa8b50335b63e145b3ae14f6f62f8e9f4b47aa1bc97b1d097f39200db1539677af70056038d78fd8d3d6f270f7838d7da3ebdc7ddfc8558f600969fec36c0590af0b5c20d031140ea17800879939dbf7c3a084ab19aad5a5b303840d50b79f5a422d0b7137903f8d76d990d0d006607dd03dda78eac544bf1cd5c10336beb1b8b83c777ed03d603658cc63801515512a9d02614c7f8dfd80d78e2486f0b526509acaf9e53b087550219ffff03c4182c63a5a5d59657e2b2ebc5ec166b4e6636ffb715b4ed18412a71cc9aa177039a4a9374988f15ef360a39c7e89b417a9fb995b1ca07edce381418023caed6bd03582cc3e64dbfc00c7664d186b0e3756e13c6865fdb9d45a3e51902e76f7824f80219ffff036b64462fe5d43bd22e4bdede9398dfbade05ba8487117fad829781b05018f23603c049001a64464ef45a0e3fae1e8fb3fec2cd368c2cb0d2c521e2af5a5bbdfa0c037b925d8d66eff14b0daac7a0b4f23d11939a34269a0a0790b645f1ab931823520311f257bb05851306752f3f3c7c3a5b23bdcce844ff1c73a3a22498982a0756e2031d6b716da94b54ec72a4e5fa1ef3c3a55fb7a67d030a02f0769d247909d655f3030d3a72bfc583b320afdfd8adddbde4e1f227733554ff0672a9a4e074d8ff746303c1b1205f6a1c616da4360e2cbd308c3983a95304fd6c334c12b9e0fe72d3309003d4ffb106f9900ab333ceb426bf83a70782dbb5659b17f6fc2315547825b7f2d603394d5b55424d4deeb4356c4429d8538c631c9a6882d56bad973643f0d15d5f2c030c4eb1b51df264816c67c60926037126e66e8cb6a69ec0fce06d982952d0ac180302d5a317f9f8262cad757a62ee7aa31dee5d121ded2ff5317fd25767be6538f403ea4344d0acbd31e6b3c3d80b20bcdf83b7ba2419fa88ab47732a0d0abb809ebe031046a21eacb85b945cf2372e9d623c7b7ff6287951a4e0fa65ff8f87e5389d6a0328fc0309a0ddf405709eba1783eeee07d4e7eab50a314a5bc761846acf2e8cc7034d4a4afed2af96ae550cd60e7db31adb3d6109c78af96aa715d4fdcbc00dd7de0308d359c07f51ee4be91f341e1d8eadc202c56d5b8edcbba1499f37a8a624989f031bdc9c02d73841b3261554993ad250202d2b557ea0a6687fb08ae436a6c154e5030da024b1a2f7cd1ee9fca5dd7000950ede95ba38247fd4f8dc91da28127c41ac036b747b3b8def25a096f6bd9d7b09e5b448ecf276dc49d096b0e73f5d6baf4909032550b293b2c8db53f0128ebf02ce9e9de1eba7adb9f60cdc66281085e579cdf403b3f5f6b8beece047d694700fe6532c4d48bc6bdd8aa0a723fc3cf78d2585b0e90331c816c5833723a36912bd2cebe3cab3a80e7dc175696801c47b54651dfb27b70372ad84ed5d57190a2c2ad9326e20d5c1335efaac72e02ac16dcd08b45bb9c9da03dde270a0901857b4d742bb57877a1ad6eef4433b20b85340cc1f5ffe893b2906039528be5562bca942bd0d0a260d296f581e129662ab2dd456481f3e97f14447f203d32d8f50b1e413f70011a7450c5b5bee8bfb225fe479b22bbe3f6a8a31bdf53b0368b6cfb1f8253409dd4e7779bb1a393628008294f355effb7ae4a3d1ddd43c60032dc178747ac3b3ccd11044d773ad4e5e8012637a1808b14abfbfc3bae1686bb3033058f05ecffa6a8a588916f15a981533a002bb5f1c51796ae9b0e327aef69acc039854a6ec3c4649e85e00524e5fec87a23fdcf4abc4a8744a8f29f61ad4c8913103725a1294d7a2fcc5552a13f1fadbbd2c7f429e564e0ac7fb2217bc18968b040003c65370ed1b4fe63cc5c29956f8244ab9df66ceeaa78eba65e79edb59f27a5b4805581e03d6e04be282e7d299a63ac40839cc6743f925df5b93ab3dddbe12dca970041405581d02a57888d0dc6c6cfd405fc1fcd651dbe610257aa44349a97661ce30890c0745a1e31c090005581d021ec0e8ec44d457ca7e2edf7029be9a35a734bd182daf2b386fd40c380c0247acc0389e10ba6905581d021c56c37726f0533940d53564b753f5415414ec58de398fa8349e0da0040105581d026803fc432cb1721caa02ec447a6b6622c81429f611246da0ebc8fb8c0c024701059632f006580219800705581e03614e8ba1274e9d93742e5a3e0e5cd98cea3931b31bb2a01ec1a5fd7d700c0347021ad4a9ee25d805581e032b4352546b238572125581bfbbc4c72b1568833841e4bbbdcd0e22a0d00c0146b5e620f7700005581e032fd37064c7987e807a9ff7da50ee397f0ac639a10e9d0c7d2bd39b96600c01463e40fe9e6a2905581e0308b72dbcb65c01a51923a0326d259962c77c9db9a9801a3c9e16c8f590040105581e03372e8cd766f2cd14f00c24ba57a09527ba2b78abc6abba6d0815ca219008472b7eda498548000359a274c3d5d9e3ceea0027be741fe695824df9d6576b14c7d36261039c8774f703562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e036415694bd96f9d863eccbc50f174b70ff446d0f1d48e68757ccf11924007011bffffffffffffffff03f7ab07410fc24c5743e11ae9534877e6fd2ce3401e0b1fe75dc9c703eae2e473021971eb03ce2ca00dee57ce428e0024fcc85ec1b6b32a72b94590aa37356e8f54ff75a3eb03f99704529292cded1d1b632ca811a27dbb2ffa045e2824136d41a79962cab68303357704e7005804d88a8ec1ae653ed2ed857fd9585d61252281e9eb1cfd5c868b0219ffff036e10a7adfb26e98ab4c4ec1b3f29ccb9d1438e77bb4285f691abfb3ec5baeb5803e9f81213814e965c4fd3a7af956bdd0d2e8b7b87572b09dc60e420a747223fc103d9fca75e2e06782c5cff39fb9b385c8a0c7508f9d4b334d7a93cd298cb7028ea03c0c0b41fd9ee1e3f67149378da6579269f3d6bca7a190f2cd231d8e9bd7c028603886d67586bae6325277bd0ebee6dd1dfe86d690e1df4569f301900094f3fa861033a393d1dfe794ab69977c72e612ec431e86d2e2c58d561d2e2e27bea8084540403b78607a0ede2ecd82d350a1896d795357173a0590c6817b0e554f8b006997d620219ffff03f37deabc901d520e99fbb2c6fbf57524b5dd09f8c43720d89fe2dbc40e9b77730388100163aad9525e2ae8474c5f45ceaced39daaf571361b27823005e6ab804df0313d99b01699cf32079843f4c432d46fe1cc8e7a2be533df5b71dba6044426a4f03f60f93c0a89d74c34b13ab6542b3731cd3d02e73ebfc6bcf10ab0aa13b0fd9db03000ba34bf2092f42f19766bbbd2fa8d8ddb8130aeac81424001bb349c079bbc803c550a9c2593c39162a088b04029c7a27f5eeb1d03ff149c08d222f76590791ac03a5e697082723d16260bf3099fcdf012ff1cd05c63deb701b4b8b4731daa060960358b9c70cc68031c792cb5a5e8a7e0d30a6e17f38148c3a33de2ada4383fa227d034999265b754c709a0cd7002f47c620bc347922f70ea32e202d9c8165f0aa06a2030c242a2633ed6726b69c17a245256f6776675bf30b112d2dceb1c60620ea710d032f2bd32228e2ab48da32847e3be7dbf2f16257eff1a6096cb89ee7df9c3fa34903db1a1507d770fc154b9a42310c044a1e91875d11cf6a77f902a0ab635d59b7c803c5065dbc64343ddc6a9826486405a03f5f73d12dbd007dc465cc915664005f000219ffff03f67bd244e8fe6935d12daa03682bebab341f141fc623848f365cae20745beccb031628b436ea1b63bb14dda8e0f911d8c61f96fa282330879d528d640e12d9d9c503aa9ea859d0228528c41cc47ac9f3bd9acd2f16f8504c1b6adb119b8294bbb307036313da14b64e6bf91b6b95073424b2ac89d8367d821c5a2dd65075fc819480bb03f2503c57deda8ed6b27f1c279fc4375e734687b5134b909736a712c1b2418db00394e68f8cb723582b62e6f2ce1e090b98aabe283546a60a1e990fb6b31a01267d036014b83b0a74cd9be2c03903c4da53696712041b6567d922f12b249551ccd9d103c99549bf6be97602611ec944ad75927a7da074ad16b6d8ab092c856197296a4303fd8b3f530707d617a283a4da0a0be07ebad155b1b3dd6130fdbfb8c26fb4a20f039230ab4dfa1a753d52f6babaf33c2bcc37754e4e737ac3b4ecd8b0ad32c8331d03105cc2bad3b65fa01d3273116de378fe1f65ed4d1764de30335b324f7d096e6f035cf64b23cea166bcfaab703083541c975a9f233a96c52fc9725aa75e974e6a60037d9f1f401ce1f03cf92697d824b14f5d8dfd294b7eb191da4aeb8fcff742261a03c3813341830da1311395ad7d554bb6361d767fb78dc9e013cbbe18af9cb182d30316af1a2c0dee3d8db828e0050741faf156eddddf340b227ab25dddc839efd596031f805038b7a0f4fa4988660b97ef6be2405605125416b8c0e39db67cbb18bf6c036c9932195244e6313988c8c94047ce632afd6208172976db150821287edf1e0903c6ba08507f1e45005f77cdf08ae4d79e56630faf2a2fec2699f9ad730ea1567e03bc75109ad7f804098a0cdf28845e80d995747ad641642331489b9813e961155903c912de9ee410d53c94732bda55434e7dc4ca6cdc5218a42624b4fa2673a29da103610c8ea2f116e07830daff5537f230faf26c48f0d3f2b3cef4fed4a2a6d3d97f03bfb00c5f938b61c5979021f47b4fee3951d6c23925f685e84c3e46beb63f8e1a03e846bb810f976aa77426646419b036bdcdd7fb2eff8dedb92211a5584c5f267b05581e03c8734906a50ade48091e77984378560b2a3ac0757ab43b4a4e6b9893100c03467e71eaeffa8005581e03c6b571473d01446ba0082a533715f400bbd7548d26ad922872d5f99670040205581e0320a2bc9081f6a36b3d6024de75cdd76c089f021078d659f663c8b883d0040305581e03cf220a5ad8ad2ee32eeb8592e1af7a5271adbcce2e98386f79f0b962400c187747f09e626b16fc1e05581e03c64ffef7e81694b24ad8fb6c5392f12c3daf3f7f62165910d9c940bec0040305581e0357a2afa782f0ac7b2c0915680464f25e69897c1be5a11efdc664e025e00c02468782afda56600330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e03c8287dcb99955f8939fba6231afe96a54361ae95c78a9d68954974ad3007011bffffffffffffffff05581e039f5cee3c85b2724ee5f02c6de6a73b6efade2d500cfbf600882614e580040305581e030697e69719604e9d388aef98a5fedc79795eddfe4859be655c7cac5000040205581e0318045279571f5b2e693e7bf95b5cff9abc927605e88cc0d2a7f2ee1b10084724ecadb6aef4000219f19d0307982333859fd5078a6af6243bdba1612f44b90751f03a11d1630c5c8261b28603c6705d27dc13545307127dcf42a0befc254a3dfdef050d78c071c44eaaf50c22036c39c50f03ea603d4832b3e835ad73689f688b3d9cf4d1b8599e1f7a9284d16c03f7b5f825528969edc3d488f7fbf4ebd8dc0ab986497168cfe2bf76690bad0c9f0389bbe9af0893fbff5202cf7c181c1e690e15fa04090de9fc6e00235ce6b5874d03bb65bcd2334fa9fcf7f0f7664f59650a368e54dd34da1a719cf16af8d13676a8038926ebdb34db253d7fbf9acfffda62a6eae2b445c7213cf120efadae33a3567a033e34eacd263894a22231ca5064bd0598bc77e1b8aae1c81f11e18cda423acc70037915d31a53ca77c00f1b0100a55387bab3d7a134058ff88ca12460aeeddd9e0f0219ffff03a453758cfcde55d86f84239165aa469dbf2063d99e92fcaa6896e46b766f99fc03b6a78874d7f102ce438e410077ba2bb34b34000251bb1e9e931ded6b4c60d47c03317f9e5e147eef7458567349ae0d3d7cfff541206dfb7bd037ce958cd6a483f80330ebff8bfe50da03ef7cf6ec17228cd0f885c1e3e7fd8498866edcf83fe0882303badd2fc62f0b2252c806d944d16748a4d2dc601917e114e75ec768e59ec15c6703bb2ef74a8421ff483e714ba19985447de4c4c21d17c6649fd48b9ec9cf251d7403cacf365a81afc6f1cf8bfeb32bbce830851796c5f881808184c031bb6ac0e86203b0fe8082943eca5b62f4807e8b717627c4b28df6e51164e6f11b7b2d756dfc5d0354be5ca0aa10e78d6f6b15481d19654f3ade9802fbe795a6c6e5f779d7ee06c30393480d024937b8fb1874f78b1a9f643c86da5907ed3f07bba5fe8bff2fceba8903ea7309fa3d0ba85bf5a8694ce53e4d86c0a9a9fa335957e05f7702e0c9a4e3240219ffff03acf1668f6fd792bba2d3f6dff533c66d68f21e615878648ed757c4f7679f2000039e8b6f2f8e1735b85499057d88e60e3ae7f30e03a5b959780eb6a1fe0ed0dcdd0219ffff0305c472dd0ec79ac1bb3862fd62f5d6e23141b3ee7d395529c36e75f84553bd3f03bf3c0cbf0c5c97abeaeac7e24d6a824a0ecaeb490050c5d4c8e3406b225265c4034432d811e8e73a1fc83586c232bd76421d238c9935d24d4f8424f336df1427be0345ed520a7481f4c1bcd7a86c95b70072106e79f56f4640c2a9b7192ecd36676303072422fb46b88474eb0a13a69f71df7d3f41082ad822a8e78cdc7f06b4204a0703072ee45e0d973d012e303c3ad0d0ae30ee98fc1e129cac9cd9adfeab86ad0126031cbf1bc2de51a9a3489078695e064584d4c296630867d27e35124018d05a66470383b754c7d7846f9c3b9805e5200066a0948898a3fe6e5497e6e7d6c986e495fc03601631638d4c64a3d9c14c8ff4e1a28c18ae0d5521f522bbed8ae890fbbb080a03e98ed68bfbc2141360960fbad5220e6122edf72a7b8642b94e5b5a213fcef03403f472bf856297d47cfe2c6d3c15476ab9d4bac435ec5764f2fc5ea99638e4d20003c78f0ea4db25e212cf98609f9be892f3a1c1d9d4c83da38ffe7c286fb7924b2703beb77db1c57ee18670e6fcc6667e0d915ea589a456692d02deda59e56e417f2e03cf4b7c3468f98bacc8087bfd5891ed70870af0d6a8c789e9235c5eeda2930adc03323f8313951c7c061667d7f97903c6da61c69b46d446b98d9a43b63212d2006003149bfa7c2f0c5eb419003d843fccc8f11c226547503798daa0b779bb524f0cd403c592521ae6d8d9214d12df7d632574fd22e6f442b35b104f8bc8365356b7d2c603cc527e6a219f95d713295005daf98f1a41a692d93fbc0f161b4267617716b76a0390d08a273b96e11d9a74af969cf84dad09660b4700c419be4ff9e4ce0184eae403c25b73213bf140ec9e00238b41aad53d6bbdf3ef0a77c64a6b6a6dfcfbaf0651038cabafd98411c958f1a3ff686ece5c3b16e707dc3657977388ffe03d1515540203e98ca96bf0d0015238c108b61b913e6fbccbbc9c78382212d5667f22ed2262d103efd67b2ca773b8ae0d098d4f63d3fa530817a51b52186e5d61ce94d47724e2ea03e48eea31b37f7c72627cf205a7610aa42341b56df355a89bcb0cc966394ac5f0037915425a39962421e102f0d7aee5594fad707f516d59da247c99776ab31b81470328d074559a06c11cb19c4a3e1895494b31a1427461532d7ed09b14981d9d7b000333a2189d165b8e532f419846d2d0633c91e056321318953e5d128dd75d041f1f03d4ac1e4c987059887f54846fa17417e63f1f4a613d6c75e894168a36edcaa8f1031853a4391a63809867e9541c6e2d2971cbdfb56515f9ac963ca769a4ec2a5cc705581e03a7bcadc03a62c54b3415003fe03364db8c230932a14abfdbf6cf7c54300401038afef8a4527357b3b8d2d1f6a392504bb1fa2a22de48bc6a3b4dd349758ea55e03b0dfd7af81466404c08b662a8db8e7253e2b45984c3d06a0d017b90b7232292c05581e03b26e922b5e795e8b1c839408bc66374091292e8c47cb4b3fd32813c8f007011bffffffffffffffff034aa3dedd8f06eba7c37edb87ecc85e0af0aadee1da015c2e35be7cbe51acec29034221c7b43df01b1a43fd4cbe822f91dad55032b16decdbd2bcbb01a31b24e07603f00355dba6b55ee90a1c87233b1ddac77981d63aebcf8c6fad75268f57ff5d8905581e03c6b6e2e6febfe4723c7512ccce3802014181444365ea7bc70019fcac4007011bffffffffffffffff05581e03d38df90a275c6a22b78ffb9cf1994062ef42c0efe78ccd77a067c650300c182447aea3fd962750b405581e03df372fb1ba529c72f4f3afe765a85be00a7ca602d34eef87c97f209db0040103b74b94b1e97918b56d241415061becf67cbdfdbc85067b2e9f3074ab8462e12505581e03e80b89d72f1fce2ed10e606a6567dc397cace417802252b3fecf698be00c024745885a32e65fa005581e03ae0ec5ba11e828f7bb1a170724fdab29c4735adecab21cee662e02646004030219d9c603e3a9b82a57fe9ecdb6f5d88a4781b5f7faa04694c204fb47e51bea20bd87e4bc0219ffff0361b5782bff37b0e07d77cc76a64fa81e08b422c673d97e113f855127b002293f03d6df13a032d66da5db09e43eb8172ed60d965a3ded5cb26916a222bb437a1ab403bb2ae064bd3c249833d29fa1511d2dd85dd941b834e7f7347e957d28248cbb6f0374c6633097dfa68b527403fffb3f4299ac0c6eb8636d150413950cb6d0c1631b03ba995642eee610620f2216f9483528d8f0b03cacd2f3f6f50ded4ef4d3650a5903425ba6fa4bfadc310f3411b8d62d59d60170e1e0d8b39b7ef100599bc3c4a4a503147af6e07fa2987fbda46171c0601cfa1da52901e62122b552a23a3705aeaf9403cca29eb55c24622afce693c557d35ea913cb31b6a76e26259d15f2d93f8f1fe403cefc4a2481870c25fc59d67e3c72425f8ecb59cd53508488036dceb89aca401703cd0823b50cb3d7d9065ebe05b50ea90494a232da87ea0ab41d8604083df6b92f037ef8e29d0f062d52b24ffe809ad403c00c68c04317910361c2d41af23ffa38060337c9dd0e611528c841ba6b0ccad8ab6b4949bb3fa5197196027e7a7056bd65b10309cef4383c1cdcc8874a003c8adcc2565834b8723e5939828b9c6ed1d922f6790219ffff03be76bf4ec236a4621203598cfe563906ad7a29fa6331916b0efc4d3879469c4f030f014d0940015c40d2e63f6950fe0579bd52f0c6943baaa49f8f740529deefe10219ffff03f25916fb6ff68eb7bc19d5716b9632a06c69562da443b0a7e3b7078c677783850375fa80cb6b43534c9dab7b294347f908a3a83949fa8fb0aebc891efcf3d270de0381b52da9510880d8e21194526a490b1a2d937144bbb51ef7f3dc4c2a3ba85a2803bfbce33a98116fa080bbbe6a26b05bd7847b81be086d3359b1647d8e50bc778203f240d2a4ab22e596019a842ea8b0c9b6da368c6bcac9f4dbd3fdde664994b41d03b5f4261fc25d52a27a2792b742113901d8154a3fb80145a62ef477c06f52cbb803d047727bfccfb66182ed577e35d08ab0fd4e0aeebf5b2d96403677e2a69f6c4f037e285cf479b5a9c073d1ade1e8d68b6d91505f5abc47520235e949634f9c39de036a035389928613ff0773956a6144b67d1d6ea16ee4cc5136f1f4839036e70360032370c3a315d49f885cf29a3cc43d9a02caefba3c11b694361452deeb2423e86a031000508d94e483b959ff875fd3021ddf4bb544cbb545d863ef09073e163a80a60330372ab9504d048a09bc0ccc7fcd84888e2570c7dd3b999b989e14d6859c442e030029da8adc1d2514d68ee39e8dcb61348716fa91eee487f8eceee4cf68882fe303d719d5a5f57f449ca95e29278d89c4474527a8e26fa28f513e6fbfa13b80f46303ef80d0d5cb4cf71f676833efbbe53c983ccce7cca77dd4040ebca04f6b21a426037a407d8133169621e1335869c37e38d1aa2722761e6f3370f0fa423e3152cce4038b2784be9c18d04857851a16322afbadcf59e8545601a6d2bf19723c347c0079035019e7b84b19dc782fd2cdff8b09dd3c3e5103c1567985329fa665ab19b875b403a99ecb9682b8a8e07ba3c1091a46b2eda07bfdac931e23cdd3b23999681ccb3b0314e0b7dfac82b2da5faa61fc296917cd6771003ea5e7d9881f23ce97ca70f14203f9d20ddbaa66a5782b8999bb1f349b25683c90066e93bac9091222f729b04c9803bf46ad6650c46201d6dcf1c302c4546d524a22b6da231dab97ff5b2ae6eef4f00310bfe4f61554874873bb5d41dbf379d2fd5019a978e12ce76d04154b47825bc403f8e60407f4b6ff5f8e012f73e4f67eca415e382d4e5d66309e4385934df924e90366e0b038163f9754b1a69c6acbfeda8b3a70d1cafd5bbee208466ed90fb3026803c4717d130f6afa382f404bce13278e8d4f70142c2d0141928c73f905e6e8156f03ccd2029e407fc71b750d2b4d6799f666c141592c596721edcfbc54c3959d1116031cb038ecb51eb80eef0afb915515566d8257ae2dd30540259e5a8724882ef65b05581e03c8238b2e5deaf7403a4ba7c576a72b42ea5ba755fcd37f225082a0e110084744ae4e5c90cc00032c9b320afe151e0babdd48dac1ebda55eb1f6da6de71d9d10ec6695c26c0b49e04591b3d60806040526004361061013f575f3560e01c806370a08231116100b357806395d89b411161006d57806395d89b411461036e578063a9059cbb1461039b578063bf474bed146103ba578063c9567bf9146103cf578063d34628cc146103e3578063dd62ed3e14610402575f80fd5b806370a08231146102c2578063715018a6146102f6578063751039fc1461030a5780637d1db4a51461031e5780638da5cb5b146103335780638f9a55c014610359575f80fd5b806323b872dd1161010457806323b872dd1461020a578063313ce5671461022957806331c2d847146102445780633bbac5791461026357806351bc3c851461029a5780636fc3eaec146102ae575f80fd5b806306fdde031461014a578063095ea7b31461018e5780630faee56f146101bd578063109daa99146101e057806318160ddd146101f6575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b5060408051808201909152600a815269504958454c205045504560b01b60208201525b604051610185919061164c565b60405180910390f35b348015610199575f80fd5b506101ad6101a83660046116bc565b610446565b6040519015158152602001610185565b3480156101c8575f80fd5b506101d260125481565b604051908152602001610185565b3480156101eb575f80fd5b506101f461045c565b005b348015610201575f80fd5b506101d26104ca565b348015610215575f80fd5b506101ad6102243660046116e6565b6104ec565b348015610234575f80fd5b5060405160098152602001610185565b34801561024f575f80fd5b506101f461025e366004611738565b610553565b34801561026e575f80fd5b506101ad61027d3660046117f8565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102a5575f80fd5b506101f46105da565b3480156102b9575f80fd5b506101f4610627565b3480156102cd575f80fd5b506101d26102dc3660046117f8565b6001600160a01b03165f9081526001602052604090205490565b348015610301575f80fd5b506101f4610653565b348015610315575f80fd5b506101f46106c4565b348015610329575f80fd5b506101d2600f5481565b34801561033e575f80fd5b505f546040516001600160a01b039091168152602001610185565b348015610364575f80fd5b506101d260105481565b348015610379575f80fd5b50604080518082019091526005815264141156115360da1b6020820152610178565b3480156103a6575f80fd5b506101ad6103b53660046116bc565b610776565b3480156103c5575f80fd5b506101d260115481565b3480156103da575f80fd5b506101f4610782565b3480156103ee575f80fd5b506101f46103fd366004611738565b610b2d565b34801561040d575f80fd5b506101d261041c366004611813565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f610452338484610bb1565b5060015b92915050565b5f546001600160a01b0316331461048e5760405162461bcd60e51b81526004016104859061184a565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104d76009600a611973565b6104e790653f231a70b800611981565b905090565b5f6104f8848484610cd4565b610549843361054485604051806060016040528060288152602001611ae0602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112c8565b610bb1565b5060019392505050565b5f546001600160a01b0316331461057c5760405162461bcd60e51b81526004016104859061184a565b5f5b81518110156105d6575f60045f84848151811061059d5761059d611998565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905560010161057e565b5050565b6005546001600160a01b0316336001600160a01b0316146105f9575f80fd5b305f9081526001602052604090205480156106175761061781611300565b4780156105d6576105d681611470565b6005546001600160a01b0316336001600160a01b031614610646575f80fd5b4761065081611470565b50565b5f546001600160a01b0316331461067c5760405162461bcd60e51b81526004016104859061184a565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106ed5760405162461bcd60e51b81526004016104859061184a565b6106f96009600a611973565b61070990653f231a70b800611981565b600f556107186009600a611973565b61072890653f231a70b800611981565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107586009600a611973565b61076890653f231a70b800611981565b6040519081526020016104c0565b5f610452338484610cd4565b5f546001600160a01b031633146107ab5760405162461bcd60e51b81526004016104859061184a565b601454600160a01b900460ff16156108055760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610485565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108509030906108406009600a611973565b61054490653f231a70b800611981565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c491906119ac565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610923573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094791906119ac565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610991573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b591906119ac565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306109fc816001600160a01b03165f9081526001602052604090205490565b5f80610a0f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a75573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a9a91906119c7565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610aef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b1391906119f2565b506014805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b565760405162461bcd60e51b81526004016104859061184a565b5f5b81518110156105d657600160045f848481518110610b7857610b78611998565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b58565b6001600160a01b038316610c135760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610485565b6001600160a01b038216610c745760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610485565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d385760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610485565b6001600160a01b038216610d9a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610485565b5f8111610dfb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610485565b5f80546001600160a01b03858116911614801590610e2657505f546001600160a01b03848116911614155b1561118b576001600160a01b0384165f9081526004602052604090205460ff16158015610e6b57506001600160a01b0383165f9081526004602052604090205460ff16155b610e73575f80fd5b600e545f03610eab57610ea86064610ea2600a54600e5411610e9757600654610e9b565b6008545b85906114a7565b9061152c565b90505b600e5415610ed057610ecd6064610ea2600d54856114a790919063ffffffff16565b90505b6014546001600160a01b038581169116148015610efb57506013546001600160a01b03848116911614155b8015610f1f57506001600160a01b0383165f9081526003602052604090205460ff16155b1561102257600f54821115610f765760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610485565b60105482610f98856001600160a01b03165f9081526001602052604090205490565b610fa29190611a11565b1115610ff05760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610485565b61100b6064610ea2600a54600e5411610e9757600654610e9b565b600e80549192505f61101c83611a24565b91905055505b6014546001600160a01b03848116911614801561104857506001600160a01b0384163014155b15611075576110726064610ea2600b54600e541161106857600754610e9b565b60095485906114a7565b90505b305f90815260016020526040902054601454600160a81b900460ff161580156110ab57506014546001600160a01b038581169116145b80156110c05750601454600160b01b900460ff165b80156110cd575060115481115b80156110dc5750600c54600e54115b15611189576016544311156110f0575f6015555b6003601554106111425760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610485565b61115f61115a846111558460125461156d565b61156d565b611300565b47801561116f5761116f47611470565b60158054905f61117e83611a24565b909155505043601655505b505b801561120357305f908152600160205260409020546111aa9082611581565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111fa9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461122590836115df565b6001600160a01b0385165f9081526001602052604090205561126861124a83836115df565b6001600160a01b0385165f9081526001602052604090205490611581565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112b185856115df565b60405190815260200160405180910390a350505050565b5f81848411156112eb5760405162461bcd60e51b8152600401610485919061164c565b505f6112f78486611a3c565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061134657611346611998565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561139d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113c191906119ac565b816001815181106113d4576113d4611998565b6001600160a01b0392831660209182029290920101526013546113fa9130911684610bb1565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906114329085905f90869030904290600401611a4f565b5f604051808303815f87803b158015611449575f80fd5b505af115801561145b573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105d6573d5f803e3d5ffd5b5f825f036114b657505f610456565b5f6114c18385611981565b9050826114ce8583611ac0565b146115255760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610485565b9392505050565b5f61152583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611620565b5f81831161157b5782611525565b50919050565b5f8061158d8385611a11565b9050838110156115255760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610485565b5f61152583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112c8565b5f81836116405760405162461bcd60e51b8152600401610485919061164c565b505f6112f78486611ac0565b5f602080835283518060208501525f5b818110156116785785810183015185820160400152820161165c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610650575f80fd5b80356116b781611698565b919050565b5f80604083850312156116cd575f80fd5b82356116d881611698565b946020939093013593505050565b5f805f606084860312156116f8575f80fd5b833561170381611698565b9250602084013561171381611698565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611749575f80fd5b823567ffffffffffffffff80821115611760575f80fd5b818501915085601f830112611773575f80fd5b81358181111561178557611785611724565b8060051b604051601f19603f830116810181811085821117156117aa576117aa611724565b6040529182528482019250838101850191888311156117c7575f80fd5b938501935b828510156117ec576117dd856116ac565b845293850193928501926117cc565b98975050505050505050565b5f60208284031215611808575f80fd5b813561152581611698565b5f8060408385031215611824575f80fd5b823561182f81611698565b9150602083013561183f81611698565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156118cd57815f19048211156118b3576118b361187f565b808516156118c057918102915b93841c9390800290611898565b509250929050565b5f826118e357506001610456565b816118ef57505f610456565b8160018114611905576002811461190f5761192b565b6001915050610456565b60ff8411156119205761192061187f565b50506001821b610456565b5060208310610133831016604e8410600b841016171561194e575081810a610456565b6119588383611893565b805f190482111561196b5761196b61187f565b029392505050565b5f61152560ff8416836118d5565b80820281158282048414176104565761045661187f565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156119bc575f80fd5b815161152581611698565b5f805f606084860312156119d9575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a02575f80fd5b81518015158114611525575f80fd5b808201808211156104565761045661187f565b5f60018201611a3557611a3561187f565b5060010190565b818103818111156104565761045661187f565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a9f5784516001600160a01b031683529383019391830191600101611a7a565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611ada57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122096a1d400267b913c7a6491ec4fa387e8a35402a8d270bfad8d6c2d6db7be7a2a64736f6c6343000817003303639186ea09223e817111ae98475e2602a19ab25354de4fe5eb8a67d7824af587038ebec404343bbb33565def666941998e485c331b60c6b2a834c5d65ae5c08ef403bc897145254de19258babda5a38b21a354f04a4a8afb5d1719e53e85849786160340b258c1f40d5136cfa1db7049ab1264272eabee86992c61e9cba73fa6b7d670031c26a9db4295a72e8b9220005b3f44ffb712b5530b68335bee8bc8c12dd04a65039d3f6fa0e1c88253fb67e2ec99e4cea0d7583d8b9109cbd8a8771e6a32214f95035c7238ebf926e1260a1ab15bf4fb5966da853b8eef1294a9b74221817fa4ad240058200312fb881ec80838363a345d77c5a0a49bd2cc22f4defab1262901904434c7605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003e7863e1c693f63b2d9fc6e7c333ef13314bc296f4de983069e7d766012bae04a01829affa3642faa10d9033b66681e8d393f859e864ab7317330b34ab7f710b444a3b8beaa7ccb57d071ae0058200309764e937b400abdd221c821cdedec0f29e65dbb532d278522917a0a6111a05820fffffffffffffffffffffffffffffffffffffffffffffff07442a599a6fa270e0219882103156249cd07e5a01a14242545e907cbb208a53f75129f1571c5e83257924d8a6603fcec3347b7e398cf3657eee8ebdc8a80d8084c471bd0a1778029d59dd3decdad03580b9fc961a513f32080e0ae1c0f4674b39e3c5576c7146da9c2cacc42f2f74e03188a937a877847d04b8cc2fa1408de0f779c19363baa73cff23eb49b479ce6fe0058200371710dd1330af0b8e0cdd39a2ad0b2c2b31de8a5a1276622a8da62ec7ea4b0410100582003cef32b5f59f20c1237f6c10f636f2ab025d2938b0b93247ebd2acda17966c0489e4a5d12c17c44d200582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67204a0eb344079513a130000000582003195c93ce889ca596eca7998103f5b9408b6205896626adafa5d55996f516c04901a02644b5434527b700582003f6371209580ea12cd6ab2b068a1d0147f792a091b75a62d7004286e51823b04805559075b4b20b3e021988540337c198f2ae0524b3a97ff82fe9e095f8a6f3e91bafdea43bdaee2c12c37e4bbe03dc222ed1f550c54da4d41e445d89c1008d43f078e1269419d2e03886bff6277b0338ed36118b4d2721c11e3513ea51666128673502050b6fc145ccd5a2d5a8e144035ebfbe8a5091c809efe2fa63ed260c8ea2a4edf449589b81c2e02f05117c9ef00219ffff03ebb2afe03a851faa12c1db718de0b6ecc8bf3024cb335efeebcc3aefdf94757703806791187f208703386f39567a1ff45201af6b6a2c4e33aff38715ec82cc480f03b5811b7d960e2dac971e1af37957d9a4c1a2d02aa7487be71b82c5ea0b10b84a0394e2c96d597f84d4665215b3b8e468e665c275cc25f3cafafce288aad564e05d0354f314d569af6d0bb531161844bb6c36bbfbdd3b4d1239cd16a5fdcfb0f9e05a036438269b34fca4a816fe742c3ebbd72e77f6d99eca9eb143178d1cf88c7acbe10374f3c36dfe01a829e9938bab8c20aa4f8e097b2fec4bf15fdf3e3451ba611e9503477a03945d713893fa90c5dfe6d26145e303d8cc7f899e377115cb26948f08a40058200329bfda6e3ee8057fa6a69525ce2497c61f3652c694c700447081b4b44968705820fffffffffffffffffffffffffffffffffffffffffffffffe3b911de8e22dd61f03d97895dd92cb0e644d287f4dbc2a6d745b5c26e9952fd5e82f58dd333ad706f400582003064a9d1eba44261fca36b7f037bafc01599d716948d4f380c77a00e6ff0e105820fffffffffffffffffffffffffffffffffffffffffffffffc82877130cf2cf50300582003dcc48f40b895c11867e32a90771f7ed74fb4f884fdc70dd94155ed993ddd305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192a01031186b59e81b64e7a65597cd875846d4b2b742f5257dd8e4454b31a80170f5a8a038c8f02a63fd72dfd8f8a71aa506741480686d54a51c6eacf080364853257c33d0362fb6d548c8235eaf826509fd3e0751d60f567e445bbdc644481ac73ee901ae20396712c8ea5cc24ffe36ec9b98de19947dd0b3d10414ac39d1538873df8b790ce03ef5130fd0f9ece1da891a7efae58151b49c817589caf55e85649e09609782e90030e42c0408afc305ace3f9146241854f5043bd74dce48a35a0cfbe389d312f1710219fff7030682e7dc6ea744cda34bfedd2934e4afc85f3e50aeebd181430870d133bdb78303efc14997cd86e11507b000b8d76e8750002fdb91ff2c701edb9a7e648079e8d500582003652bdfc3f327bc78de7effc624fa1974a08ba6d8731cf0ce83fb26bfc6fcf048a2788fa4e3b9f19a005820038077a025758f559baf0daaf7f5cbebf098c86406fc91176d17626264eddc604922534a4d83ea96d39400582003575cb57f5ce7dc34654b6c666ffda7fcc882f00e0c1bc52fa6a3dd3d2146c05820fffffffffffffffffffffffffffffffffffffffffffffffc9fff97df9222ac2f00582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6804903c3656232739e00000219412c03a48e616b806b6641fb8dec2924bc0e44bfbf2daad49d05482295dc65510371e000582002eb6f087f80b6534aaae2230202a94907e7e0dc453d2015d26ed0c4d93b2e0d5820fffffffffffffffffffffffffffffffffffffffffffffff0294793b8553b610403f2ca0d3f152df54ddd1785073ebb279a28db657bdab38d878976f63342f10a6903905d6a805aae42e35fe17a0b50d84317274115cf190a884cbeb5af099bf3edbb03599fe48b03b15e2190bea7a1d886756731a216f05a17c12c9608104b48e01e1703e58b16de61836f394e77b2a1b0fc805bde0b2db124bb06538493d43782cf13940058200265acf9571cf042a64277233a3e043a93c51ca27d6766d8b6f57a31c1da1c335820fffffffffffffffffffffffffffffffffffffffffffffffddbd2ee204febdc310058200339d3f2c620e7c04b088f00b0dcde95b2e283ca16c0c6a3d28f7bd2396655105820fffffffffffffffffffffffffffffffffffffffffffffffedc92fa9893e7d8d60058200379ef754a565d896b0a4bf7804d0634ffd93349d39fcbd242d0b0bb28e0be3048eb395b184daf03b800582003e502876aa589c63e91291d058f87f8ecc1b47f74b4bc9ef37736cdfa607400490c3eb8edb7bd64f37200582003071235e029c9ce6b5d0d83de59476cffde421b50a31bc05fac28240d8331f0490146584b7adcbc1c0800582003a746f62cfb3ea87753c8507f5fde99db1bcee7c1ff50fdcb51baa752971c905820ffffffffffffffffffffffffffffffffffffffffffffffbf832ad726dcbe3165021903a403e2c796fd90d1b295e1cc2b4bd06884bdadb48084e2fe18f62757c260a784b1fa0391656340e5dccbeb31dd154a0fd2a1c08bbfd1bd57f6a4dc775fcb5c2ef381be03b758e5f8bd8989d28f371fe50135dd2e62e3cccf549627e2b9972d74240bc00203a66e34abd1f805e88ae75392715d0527d7cdbebb54e140b57663930857275797005820027f417a82fd9edfebbbfe3542659c0a9aa3059a031c7414c8f1686280dc34ba48fbd1ac46caa6402e0330a2ba61999e268f31ee5970219c7b3c705ceb6cbd5aff07f5c17bcec1a5822c0219ffff03543799f6232c3bf9a78961da821114bb4fd31037f487fa1dec529bbc1fde4941037766177d52433c03bfd8e454aca3529bdc2938a694813a1526bed5c3e21f055303e58ce16e362c4b171f063e08b9cdf17812ebe26d0d2b23c82e1b453e8f08c99a03d166c80a4926b9e7f9e1999137177488284b30b123de3d74b8934f624fedb8c40058200265793297728c9b5154f7887db379987fffea0992e80ec86c1c2072e12e9e354a0e82e6b527969613c36a0327211f884d859a8f6113726a4dc711bf39f5a4faa9f9385d281db35e959a8b3903374b69684679bd4d17c475c806dc2940f4fb05927786cdca20c3a8bd95105dfb03cd02b79fa84548ade54e193bc131467e1d1f0eb4c18fad54066f4cd353c4fc8f038d4eb7ed2100b5f5f039eed17753efe51f361216b1be8645910d2a218a8adc3b03ed80a1837c4bb83a82ac3f51a5562d62978de4bd41a37021f892d27f1564880703b2c47bd0aeebae3ea69da442826b9197f524a3005d92bf1f5e52f28abaa61c8803faf7c7c14f96dbeeac5f7e708034b8e0c6b1d86432abcfe6a58bd88d61b73969031752ece23392a80d1beae00a5a4cab96fea6d441a0174568deba0c2a0acb6f2503aabf06e58acabbfae099a973027b00414a430d405be13966bcb7ab4fd867325800582003ea2e95505cefaa226bf3de704143c43d0e3eef5da4f364e544570db1dd4da0490576a790e6ac7c2ad400582003ea93b2b2dbab7110eeccbeb3d9ef825dd16a78eb7f1009e1b34a48c43370c05820ffffffffffffffffffffffffffffffffffffffffffffff9af22ca9765e65af8a005820033e0ede38f8e41d95ab73cb7c0816985ac7a2a2ab3533df890c7100d2e851705820fffffffffffffffffffffffffffffffffffffffffffffff4c96944cce0ee84cf0058200358962690ebf31138093989b2e7d98a5e8f0d53f2825fc6e9f351a53c56a71041010058200384ceed788679d5a1451b2229018e77300bba68a5b7ad4d5647666a3b2843605820ffffffffffffffffffffffffffffffffffffffffffffffd1c38cb0a49afe5e0000582003950d4b7175f1f4c12c7db12e2e6d1771b44cb576cefa33e9f5256c1e4dc8905820fffffffffffffffffffffffffffffffffffffffffffffffca616e6d8efd0d00a005820034f02065c1eb5a9a3721ed259a27d4a7cb4bef5281b60cbac431959ed123a505820ffffffffffffffffffffffffffffffffffffffffffffffeaeb82a6ef88fda3e50219e6900219fffd00582002a79de4769711b4fc75932eb7f83c477ec77e9f157f1a2e27ae5a9659c766755820ffffffffffffffffffffffffffffffffffffffffffffffe50f1ea1b4417eef75036c0d45c2b6f01a43c1b578636104d9bfa45ca57c0a6e9501337115929424d9c600582002304ea6ff0a16cc0dc691df860d4ed6905a51d965de4cb0d11d93867039e880490170848135e610506e03b77d8c77704fc873fd5b5b1adb18c41729e94f68289ad0f05241b82663335401032df6545bd1c612fe1562a4053c400542d868a0140e98cbca79a0367ee5f6e92203d8649d0c6754af9c72c4240ed8dbe098075a08e06f1dfb6b67fbb2116f248d98036684de2e87fd517c902235e7811af3527d0144461f7ae248bf86f99ec5fef419039e349b64db5d92245665d28869c54c89401fd66e349d85b6df951a0f7f159c4e039eb6fdc9fcf8ab31b84ab5e2bd3820ea315071d816ce4f50c0cb993897b6046c0323ed4efee3619ce572cd2257e86250e32ec265c832800f19efde5a7a9b73091f03d6fd61547f4a5a05dbd91c7d5d5587c35a1b369680a086e033dfcdf9774a57ad005820032a2abd35ac6d515630c0dd224858510fed3fa2a6ceeeffdf53215d3ae73df04837c63da358d3461b030ae87a699ffc6533d5fbb2b6079d8271213768c1d71fac8d3ba9181c88e8968b0058200392b66807efd5f51ae41de16a3013fa54b00da24c65a8411cfee60142cf2a9048e9890b2a2c9b5c7b021940880302fabdd24c7eefe736ab618debefbba5f8eb3e8e4724d9ef02f26d1d95eb076e00582002e16bb839e0d7301f02a7b87e60000d52d09c95a8e92a3d6edb38438036222b5820ffffffffffffffffffffffffffffffffffffffffffffffddf92a532f1629c707035be18ea8eada582cc9296a0e7a091b8dfdc767998ba0ca04c295a8eecf5888d7038f94bc7f339f11600c9f8953b4d63892cbdb639a08da98171080632c0b19857f0219ffff03494cb461eeecbaaad4d7208104336ad9cc5f89425f0e3e0781445ea465da419f03e5f137b718a63580124baacc21048e3b6df8d85d88f142d80a09ac884e063a7d03f69dcea46b10475a3f64b8726f0ad6a5ea85542433c23af4e557de29598b691403bbc5af7cc3e486b232f8ad3a022dc11a3cbed91904561d045194510fadb23ce203957b0a8757c07276943de041fe01321bb65ba9450a73e16c9e9116ba5be2fdfd03648b283bd15011cd66f92214177fdb4344c1098e4e335e9e093ecccb681400dd005820035dcaf5c42a77736a6bf503f9a1cb5a54699d034c7e8accc3163e802d690770425e0600582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900547a250d5630b4cf539739df2c5dacb4c659f2488d00582003501132807ef9a1a650861385bfb5a0bca8ca2b2c8971451b95a3494617fa605820ffffffffffffffffffffffffffffffffffffffffffffffbc747f06087c02ff900219a010030f5990c66c3fef2fe1610dddc950e8ce6528a7cc974511eb8f3a3f93efb9f5ad03b615c252f04a8d1858f0702da90fbaac4f2343056cc48c3afff23f3f5004e2a503413894c99ca763626052376fb8bee393bcb2c386414ac6b209472ab3130e822f0394902eb83828849706fd72d69e79b52868d405e19c3127863e00e0c555b5c9b103aa0f7fa93df7dcd15937d13eb3f58acc2a6ea945ecf99e47a3fdb77edf2838ee0361dbb96f16afe7b3d417c6e8abab418d2900672df00e23084c4d85b86b253b3903e45a16995e09f48ddeba9d25231664082b5d236fe46c9614b18b27af1da7774703f5a92cc19a945bd0707c014e1e6b6a6741738b72919d1b8d88cb4017f1df324003cdd2d407d5f07190db41b82d96b3ba6cd10bd896cabe7e2015a082a1d19da9240219ffff038c43c37e2e3671b66ce95bfdd8024c7c1c66110ac9c5681a133f26747693220b03ff9cffa54642b19e4cc2f8735cf1287ade6f09eac386bd707d52a87185cea54503751bf4b65a45b1cd5fbed3be2b44bf59c8e718e90090c5cb1babe1f1316191bb0315fcd5134cc9f2f03b4ae0e7615004c9a4613f8a8e18cf5a4e556b9b3a1fffc703f27ca836246cbad518736c4374359e33abc7b316daac03999993d00299a980ff03bc7822d04d5c2e023c1d87ce068d482ea845297e0c12483da33d06ed4d76aa0e035d3760f351480ee5b2488333f83caa7b88308d8348e960eac44b75bb62d1c0e403384992d65026209a29d25f993436254a2dbf07509f320802e97dbd1979127ca4032013fc4034dd0e33c8059d45cccaf3cb0c15480c12f322c284ecff7e09eb95d80318459c1cac19668afa8e7ae6aae836998e37a824f9bf83174ed843512b2214ae0383329df002fefdc52df1eedb4c75b265e03a7c8520d0c2ff54e5b7649dca570503126d488a50c208e838a01d0b010f3cd1f6c69ae795eeab6964fef25c47967b6c03b52d023108bda79d698d1059e1c370065e9dd3eb5eb1439cf48900bbaff665a403f4e1359e9116196914cc7cf2332d7ac13420ca7fb8e55ba11dc9787bdadff9170388034070ebc427e6a0fe8fab8a3298211b6d4bb1d22901875a6b794e1c49a2f600582003331479437b7cb1390a34b7d5308e8273b91590c64008bdcdd9c1b4ca424c205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820035a6fc23cd39a6d806b462d42785d5fd1f67dcd3414fd541ad61856df129c105820fffffffffffffffffffffffffffffffffffffffffffffff5af6b82d35ac6127b00582003f748824d510f8ec84567ce71c463ed44d4d0e59ab9211d806895452f132b505820fffffffffffffffffffffffffffffffffffffffffffffffdd75a28b9ab5ab22300582003a88077241f4f9f531ce3c3037e03c0acd439dad59cd705a9599e0a9e2fd1504828a9d72bbefc898c021930110219ffff033777a9740ea68c808bb6fc1777dd1f0f2d3cd955bdbbc8951ad3daef504c700f03a47d6b1e50b1cb93345ba66d119edd45e231c87ffb57ccc16709af8eeaec125003b9da7b8f74639f2e4de6131ddcf692edad96349da101ff9c42c0c69ec4b94737039a56454005d2988f284b12088089209321a04ec7a3cdfbec16dc506c3a2279d8035cdc7f9e3426c0eea3fa3bbf54cf84040b790447d27b6edf75aa16e5613dca7b034fe120e8cb75af29faa3efb4baf63df1beaf278bacd810f893cb51d9a11d345e0384cd1a92b60e89acdf01dac97edcd79c277979eab22c44cbda7b8c669dcad88903e5705294b3926a0f838e69730b2b5ed94ae58f9aa63e9c5256c9bbaee5b392b00393239409724e2edc6b07cda2dbc0d16657d387c92ae5e1fb48efd99bef3b6351032e8982dd62137787a499482d69ea59d188f45edb0c17412c932ac371fb2045eb039f137d3ad36996d579b25742a38e04e25bbe885d7fab1c30ae9ee05702acadab0323f2780dadf48231e2f06fb7876f1e41af80809ef9e2f739e5a578a5418b43f20318eccd3eeb2eb68e8f46c6551d6b27393612a82934943cf79c751f37e3f60a5c00582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80204a0eb344079513a130000000582003e7d8f2eb5229294d4c14d9a33055428d467d4ef5b0303fc4da25b879d1d16049056ed5c0fe620c697e020a035f7dba3cabd13f166c03042e8b1eef02dfa1cf81b3733a31ce5f4a8f883d24b903be433ae2389ea279f7f611fe5f77dcd4fb06dbdad496c0af8c8f56dbaa1e2c820219ffff039c195495e9a24a9f8506dbb299abb947bfd242690310c2f76a6a8c7bf7567c1c03419447d196136ec67c0f866ea110e8664ad8f508227aa34fc82b75b9d137a40603151efb2eb4ab6818e23404c4a2ca36c73a4ccc017ceacfc06f3d1285935004ce031014b71273fc93e2a7844f766e9152e9788a6964d26392181fef78d8be1010e103ae2b71fbb2dbd192bcfd64921ef935a1c7273999db2d0d2b98bf61dae37411b0031632ddd056f63d518e4fae0386d5a88d41258a1f09899e110adf53378ef07db103960581d1b40b734c1cb709b9bd263825a7787bc2f5d3d71ff0d532d60e8891d3035163bddf48a1b97f8808f502c31dd49925355a4bb4e8bef5851385a0c5c05597033cf95597bdc725c4ed6b9289c9b6747590add2270f02d6b23f9304247eb92ee00336ee02cc690a637e334a9e0674220f329d8ae0448672a11b3e0b71c3ff65f57b0381807f09fd8bf6e0172aab9b28154e2aec3a44377ce153afefc01f60c8a248d903c9c7c0e60c9e66d271ac38e13b62830c008292fe2909cf78e61ce0439eb8311a0391d4958d5f32212cbc228769da615f7345e15cd482b4b9a5c38302a565dbb7e5005820036372847f979a2ee2cbb5fa52f3aef9b3467aa4a6551e566a2e04c7e4f34e605820ffffffffffffffffffffffffffffffffffffffffffffffaa54eaec03d9ec4bff00582003ede0b1f99f2d62b0d1972fd2a58f6024119dd95f70f094a04e9a198730e1f0424a6c00581f021ef58cd8d10428bac0c144fc6fa5e74b64e2cad0789ca4137059578859475820fffffffffffffffffffffffffffffffffffffffffffffffb0f336b3a2dfd9f9a00581f024a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd42065f0219080800582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344404925a1f5d5f8842c000000582003f3c1989cd3cae1ca141bad7fde06fd011d56b119708001c9818723b30440104904e4575aaed928e4f30058200360b2f2156bd361154cbae256ec73ed79c364f9938df7af173b993da296bab05820fffffffffffffffffffffffffffffffffffffffffffffffd0f4948eff8401dcc02190ba4030c559562b444e9460ae2afb2ddc985f7264e0a6d2e882e4c470c4f4d1611b747033d089f5f535981dfa6eda7c2d6bd396ca5dbcd4e2134bd8880ebe14cdfff332a03062a9fa81df3ca218e366b0c81a26de17bdaae4c1028e4c5c1bcaf72f7a1e6b80384e4b1db3eff89a09b8c1ff65495240df93719f5866d66bbd8c1db0f898eff270219ffff0330811ca60411335bf9ee200241e9c7903d85e4c68f3c5e7dc98cc9964ce412c103896aadbd78c8fd6a66e3dfc7cf89d6093c68f720a6c98b5fa7feb6f8611027610333a29afee9c9fc0244557975f13b0b6c04ff690d125d229187f0dc0a722df18603e16fdf29e42160abca1290f049e78e01a49861d802a6cc2c508002a3290ae3e50058200299634e2170218ad2bf05349904e4ec5ac5aba417c3404d6074fdb864d82e8d5820fffffffffffffffffffffffffffffffffffffffffffffffd1c8c7c23b1932e98033ce1db6162e28b1bc8cd3343e2b01453b662a0feb776613dec06452229c917d7005820031ed3604650b2aeb65f74a72d2bab8f72eeedaac2dde3d554b57f413b8aab4048012da7c6a195ba5e00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a804119033a475344671ff0c6b07e8a7110cf9b3774e5435dadf65c03381f609ba13f48870058200329e80a490aa584a65501c1e83e881f748945a4b4cb506406412adbe2a858a0420aac0219502803a656ac6f160fd52feede6c459d6086c205251d55a328ed046a69c4154d1e02fb03da361133cc7e8461a8dd4a1f13aee09f5b925ddbd2092b85d2c0e221200a815203e86983b9c6441ad4abe8b9fda49c31f49c85e347fd71c87469df53d49d0ca636039f2385ee818146f40a4a1a03d52512f771bb0fa7e1346e3303a6c832cb7db02e03be7bf1f3cd441e8afc0a010bc5a2e00d7c02cf14c90bb491153c102b80f1bbb6030c9767140a2b415a90f64539d38c52e208491ad35d9e13fb453da37f06304b970359e16ab1cb9e3a225e34a0129c6061eb0c5d76cb7d5b0fe5b078c06918d3057a00582003439942a16500080fa93369a2fc7251b506dd5fed1c103f42cade15021588205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec057010001cab2d85b9c00fb4e2422ae4e6c7a8bd0d2ef045700582003630d5c039694d752bebb0cff2e314e97c0347bf021d1c79891805301021ad0487575d0f226a896d300582003a76488a9dad646a7cec63b48cad40f8cbd56778f0cbaa69e31ffab7ae60cf05820ffffffffffffffffffffffffffffffffffffffffffffffd8bb7261cbb48b99a402192850031c1cec246a75a4b20c798ba5916343cdc07b888490b6f4f44dfd495ca81f9dfe0219ffff0330a7e7a98857317cecfc41ee7565dc59fb2b5cbd3b8ca1cf40ae14487845776003284194d91d0e1cb97a432c09ce71c629383a7f6a20c354884dd4d21eab7b19970338094a30da5a72f2e22b08130a7658cecb5d59949168c693abb692248b8b57f8035fade86adc69fc8aa8a682c9b560a32eef6f681271b4ba0133564eed3bc21d8603cdef5e98d58ad3ae1f4fcfc355d79ec19c19f8343828436266079417de03688403994bfab4417dd2abdfe232f919d4d456163430421029056633b55ceb393e730e00582003234afa5956d2eaabb282750ae45a4971bdd1aeb608c99e8e5c9107b8d762c05820fffffffffffffffffffffffffffffffffffffffffffffff47f84a95aa83e9ecf00582003488d34acf81e93f854cfeb3882477156be1bfc99c7885e6fff2ca07a1c5db05820ffffffffffffffffffffffffffffffffffffffffffffffff21006409aeaf402d0058200322d3f878afb7720f372722ea729caca01dca74671a71254a7d23cff0067ca04901b193ce4e61e568710218250379ab6d9dca4320e376ebeaa18593220a9710a39119dfb4a220209cd1ca2ecc8103aa6c345ba4825ecd59dba2c12a0b4ebdfb499dd62360ffad8cd6f1a13093ed2300582003f71e15d4c873a4a82e5a1c830f429799a51db2c618d696441750b591a7a9205820ffffffffffffffffffffffffffffffffffffffffffffff46dcb18593f97449cb00582003700b9ba1645bab7e75040ca2df6094b00a1560c779d67d903919137aa7e9f0491c735846182280e8d503ebbfb8cebebf41a771cc3213722b15a5cbeb792ad13085e7f5a10254c3473a64021982010327c48a4473966417c4dbbcd17b7a672403e1c2546ec4441eec2f1244e3070528030726d2fe3fb06d843cd0c972d1026a5b2da63ebdcc824f008627b9dd582da2cc037afa70af595baa26645dc896ccd19639627bcb996a9afa81bc889e40bd2a997c03470c317935becd17e3599ea94de6ea8a454cf37605e60146d3548362788283b60219fdf70058200244a59a6619a609d6b35a7fa3e7459ab7f221f0954fbe3069759f565ac1e8b548a688906bd8b000000335a8d1461d603f511e270a43f08a5145dae653195942accdf42dfdfb1b1baa8803aa3cfc2dd7c9da04ee8154e2b45b8a72b3c58499b6de111a0b706f14ad1e27b503cf36cfdabdcbbd396ceab0de64ef8736a53c27104d92afb98de1128e10aaf991039b34673c970ea02969befa10e39da5819363207b7c0262593949a7eaf4059a3b037987df4c5fb18c7f170dfecbafb10231c275be00fb2b55a06dec29b167da6a77039a9faf8528c0dd54db16a16870fa0cbc42fe38605d5993967c294fc3b2a0a71603950461fc9d203949049629a7cd3a3bd80c9915c5c6e486e9cdd24249e0fdc6a20344c24ad5e8f67659ebe5c01f1a9f5ef6ae159114f1ea5faebdfac3b6a75c4acf03c662c8c3fbfc7c2bd331d72f1ef70d3435f5ce61765409ffb89ad8e2291252d8035d398d26e91a4f9ebf512e3f70328b8ee2d6b42a581e8ef729b93d6aa1fc71ac037ee5f5b67c0442f1f656f6b1fec0a09f41d62206572bd6a7419deaed20958e85031f8da0e97e00689eb17444b6442b62a90be7b5e9be633d3504db621990f95c3c03224130b743b2f5f4334cab68a3929b47ab9409b20f4b7925ebe3e6aaba51f59f038c2921338106adf898c77cde1bb4879b975050d80ba267cb69f0c39c8a3b00fa03fa5c10e74b0f1c9c74add18d1f3c9bd45a9fb8819876e417d477e0da315a595e0219ffff03e7e8aa9c7e5cde90aabe35a726b1f88d708a4aa7e6eba648b2381d3db0729c8403b17840cf6cf6ebd73df7d7d0e1dc16a45cd761595b9044c0721e8c64916a477403549d810a8e535e6af7e2200a87ee3a8db00926a8b38063b26b867ea1b9c884ac005820038886879a46cc16552db22d1df88e0b6c64362779bb99ee335d9aa0f36be5104906c6b935b8bbd4000000582003af98b5cfc6eb8f9df26c6d990bb6e0839b6d448d9bb8aefc539e6cc2a845005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003890721477c902ed95f850bfe4f3f11588c035b7bb9b99a8d182b918ea6ac904901dd1e191d554971ad0219014203e0e7230edc6cef4532201ee65448096dc97a4378c4732637a7a3de813cb1bd5a03333369de8a5cead69f35d4efc06dec705cef76a9e20b8aa9c4651bbf30812f1803184365de7544ffd57a87e875cfb5423793f657381b16c350c2ee1f6bfc6989e8035bae2db020c2aa17275c21e24072edd894ae561d0934ffdc1e55e1abd5b7707d0350c6d02beb19c81c4f67acdc0ddbf91598fa6308ebc44da2c8beaac60545bbec03bc0497542b007ab0c554fb7b17c9c02a60cdb7e2d48de5c00666b2d43e82b26c03b32edb64d70ff398e3ec552bc995428702e8a0e240bf35a042573cd76258e7a2033fb984cdf0f2897aaaaab4712a3684ce22648635c7f44f7eeac4d2af08d8ecc403e5fc42f5208e6c2c01a482dc70c65364ae5fcb3dcaaf77f5a640683359a70c25039c2ff025360c281f6c8e86a50228170cdcabfe7cee49edeba3f4c621e893539e01410703905d5662997bdfeb4fffa48a775f70cb19f5a09615e29a423cc15752ddef706a03c2fce3e124936e0f38ee2a3c00744c26823323f65a81df04c967b77d27d5ca560219ffff0219ffff05581d03338d05ea976180e8b8e63c26b20c650bd800943927955c4a971692d00701191b3d05581d035b500dfd64058e87ec7fd592b6528cc3381819b10de9ba598074c5300c01461e036947100002189001410405581e0310ee2a78c62020d71234c8d591b14362fd76dce7a000185b91c02ae7800c04467d15d05e4c1005581e037f9c8300f666f8c05909f876a466b8f0e4898dfec27f1275ca2e05eef0040203dbad1faae8a559bc9356951706b1916b2615ce987bca700a7d6f4f83ae9afb9105581e03a450ec6cc650c8ea62f76e9e4cc7c74a11f29c2ac1f1cd67404e9964400c0148016e4327defce00005581e0307c62c518e26dc1a01a21436637ef3f6be940edb1514934647dd8a5d50084776092965ec0cda039929b195584015b75a79976ef4e67b1554e28e062b9a8e50b040b21a9ecdd39c03b455afc418053e5335bf4eeffdc95fd3ab6647a3863681791757b0db833dbf39021957b303bc7c0416dbef55ab9967d14e46defaa3afd1af94fac1038394f74c01e9f875dc03cc013fc9b0dbd9b1560e1113104cd019ddaade883b9af0f64f3b74efbfbadeb803893edbd81093013967962e395b46c2ecc879ffdc2aae621b298d0166c5b3a7e9039e7a124735c57c1786c0190aa386a4f18d8b6fdeb9df25e9cbf961b6ff968b0e03320c8684b04e49e6eaf560e26e02f2db867765a16d7d437a9c01d895e34cb99b039d3f4b3fe6f88a8ebc3523b94d64b7597e7ad902d18cf3e12edad470bd8ec6e8037adf0380c16fd0b1693e238dde53324bf2a9c41b0d204f798474db7daa5ec0a2036887277014eb83993d60deb07887c4e12f634ca9dc9fd3cc5c93983eb2aa0fe3030da95f025adc6b7572945f32b13cc12ef51487f6c95c56e629e248a3b619dfc30219ffff03627825ddf84d398ba2485026f72096bdffd519272ab48cbf8af5ddf8586c12f603942c15ad1dc81d720540365f85325690262dddae5fd14292c31a3877f689af3c0219ffff03e169034e57adff3affdf25780f6c5e6ef5536a8db99ceeb3b8d717643146bb01039c4fc3a3c6cdd376699d6a2f5ce575b1b5502ac80020d80999894b3a1af85b8803b425cd07c880617576ecb5d08ebad552093a94a73157cccf5bf8e0b824a6709e03eb5859b6b9f41ebbd33476079f74e4bc92d7c5fd14a0e35cac17a4dffde16a820343d53c8a992632acbc6efe1bdc9575b5348bf5a10d5643b5874c8b17de98b04f03bcac900abed069a95c7ab239212bf73d8c4fb8cb22652e8b9b441e57dfdff2760219ffff03a64fe220067cc81dc65756f7b5144a7f6bfc858751c658b59ab2c0a65c0426c903657833e7dc9f169a91380b032d16a584b03fafcc897c2c7f9a58f7d384eff8800219ffff03275102e964e854416189939d8410788c18167fa321ed93884dae30690d47713803a611b356d3ec36b39f96f784add4fb95156663168c171ea70d7e4b50aa4f18770385452c54e0d71389504e64eecc584aecd20dc0a914628d9a86821ec64c8ff52d035759d7da569e440aa0377087dd99257d88c8e79cefc16f413e9672c44987a77803a0adf25bf0d96e3823610cabb23c317a2a2f4c7963d6c5d8836d33cc8c15928c038ef921bf3c87c8efbef2c1f83b65dcab2564fa7f6dce4a2b0c53a2d1f27d1d9f03f7c97753bbe2263029701f69f7223a79b61620e744749d6405e89b28ea305c270372e261dfd2acd974bf6e525f41fecabc4f3e3aff8e182ee6ab9b3668c27db21a0353413ba513dd03a87dfe1a91f39d38c32f381ce49d578e9d5ada99383964583b0343d87e0775b8c43140fe60d09edd5ee4f09b402ae9573616ab43d18bfcd67000032418c49089b59531231ae14293b6bea05f88c9d4f7b4652060bfb4fc6176aea4032b7f4427f688261adf7628a9fe18c2404e236d52b3d7cd5764e157d673995c6b033359cd3464071a553afb061ce56afd5aae4f88afd41fa4e53c4b30cf2f1c4597031342049e37e678de111a7d8579a1fd8126929f961fa761ef5b18fc9d90b900480339d1b0b744f796538b8da6ef24a0adf63fd73ad80b9fb14641cc475a72966570034c9ba7bcb7abffbc4a2d5476e05c607a06e6b984f74787e61897ab68b368f5f105581e03d29ad60bbae7294de9bf4182a8f9d214c68a04497b480bef292ac487a0040205581e03cd84cc3273c9b28c704fa919fdfe3b5bb43d52c6a4781ad5e928f3f6f00401032f34988ec76297df36b17f3919bef84b37556ac43e3e62258cb508a4e620c78405581e03eda95b86f67280e719e4310e50f3914541940f6edfcb0709da21a24c900c1a0007bc9949cf697bf97272760d0305581e03f44bae70ffd42c3a69c3243505ebc7db5d99ee4376628fef036bcee2500c024701353f8d12d8a80315098abe00a260caad058244d180be21b8dcfcb316898b98d7db5ae4199bb24703b2a6b1e5c3dbaf36da738fe122c9de5fce3fa85ea73aa3f964062991de6ef11d05581e03af9fb9dcba54d2fc3b2a7c92295b01bcbf46d12c78ddd1fde2b51fe05007011bffffffffffffffff03dd7899a1e3bf37b81e71fb40ab45eaa4932d22f3b80f281559f3022b810811ef038efc9e63cabb633bb20249e80269019b55642eadf040543f0c8bda35a9d3606605581e0385cdcf5c266262b8160166d2f6fd5cc5f5eeac707be02515e22f43053007011bffffffffffffffff05581e03098c0f647ff35459fdf314e42e87d2d7fe4bd45f3d843a7a92ada689f00403021965c5035a4bbc2dba70431a9ede29509973131457ec489cdfc708bfd4a53827af7d2a2d037c2696e55d769c500cd78e64230fc9a3e1b8ead0924eefad730b1a3ed4ff78410358232cf2d4f7d4204c3e2eea283259157bd3aaf8b21e44e15eac08dddb6d2d550390b6865381e4ae7361dfe7c5eccaae1da81c14064ffbe52c4d66d8378ac7c7fc039b609d0f5f8249a8ca7f6966724b344733040e1610cef4ddc3240182ceb39cfb0310a9ed21d17b0e44bbbada43c84b017811e8f81c98ce97e05d3a002d9059f1f80336d7a091bef2f6cb0e6fadcaf2d857c31906e8eaf7b3875d9dfc0db5e1bbd1e0035b9d09a18b293ced346a36440bfa8846cb24e85137f8b43509e5ece665f57b6003ac123cbac28d7f857a346b7e335dc1fd68a45bea4e2e40dd574b7b3685f4498c03dbce5f503af6ac8dc761aae16de1f4179ead0e8bcca7f6bae8789462867c43e003239a8f4fc28e0afbaa2e255a9026ab83324458183699b6bd00711bff82278aae03fb28d30bd7a8bcd4720c74fa0c8da56201e71f8775a01dabd99d31807308975d0367ee1977a2be63ce49d32ef8dbef656632c042c985a41eda1077825a471c95e203dda78220a561308f64f74c65f56b681e7594e9258c5a6a4d3c90f679d6dec41a0365a67c1d712af1989d33a52d0f073fa5072bd8e9d28a315bc61d0811823cb1fa0219ffff03b2c940039473a2dc1e77a95c2e32134f53c1356f1094e671ef46d410e1a102ec032191a1d6760bdea64f214cb116c0abda25eb97740f9045d5b276e6942430d3cd03cc89a8f688b04e0991f318fac4d4e8051d7cc1447c9b3afdcb07556596ab8798036c5fed967b245bf4e86aec378d5c307fab4dd4b6c99755eef9e4025401658c9503b68148f23687cae49b17a325aecac37240088302fedac957edf4ddcf1184f9730329ff35c561f8f5da39a84828fe6c3a2b1df873e126a3800f6779e9ea1144c445033281446481a100be9c68f06389e71f7480d30346727926dd922306482992bf5603f6d38661d9960278f1301da7bc8f970abb64081c0cb9cdd92a1e96a33be146a20219ffff03c936b69c51ded9324a86fee0c2639f1a2f65e716adb5ce555ca3de9cb136c45603f30ee1ae5fa916242de507ad005c6dac7ece43399f3df8526481d6e59c7fa28503dc2c888b3f5533433006992a172ab5b1f7db5b9a56383b4c17869190fa865c5b03104b07a944290db7b021e449923037b3ce66b249605f0120928a8a2632a3da0703cc70462df1e31a283737721a65a1c64537c6a93fc6ec291561b1722490a0d88003430fc1015534de5f04225f45d87ec2f0f9f9fee04647ee792dbf271c42d81c3c0392fc3a492858c79ee345ce781c8432f31f0fc17d6710d4d4d004a5876666c8ed03f5e1bc03e651b061740cd7710a8cda0803d15ea58744601cf8e400be90937a7f031c1f2dea0d37bd70f93a47a0915f9007703ca22883c69c2371ac4b70792a0f740219ffff03c051e5b87f6a0d51791288e66e098aa6bef4bdef3e721324b0129d5830014dcb03fedc880532fe014bc8de9ed8c8f39fafa292a604d85a65e02f4d2a25669be072030041135bf5f866f062b0a80bc5c95ec15423e9e3bfd5b29d37762714b49ebbed0310f2f69059df29b33c464d6389267982c3b37c17b18647a075e5b7a24795903603c183288991953d499b162f4cfbf95ac758bb1f7eeedb362b24ce5559b5d0bcce03e81e4e0b6139ab9528db2f919763308a0ecbd6f985deba8e77d7a7ed15fb65b0034ac7bded73a98b124ce8e996573ddc11a1b12aaf20e7ceadc3aa6dd9df672fee0362c530f2fc2afac15c15cf31cda5223fc7302e6e1bb889a8299f4f208f52bd3703c8c735c37523dfba505306dc718a5cc713d3dee71f0845b21d9e1792b1509bfc03503b747b9fdab8a5e9cec2264b5f6246fad7f7623c88d49aea73ca9f875b3d9a03758f78e4ac2d5bd1af09511d5b45c3aca9dbc73ae5a8859888e9b08dc04d9874031fc7e4fe94f11fcd578c9ec6faad319735ac403d263e57019db9a04b701afa00036918fdf4ec9927175a36600ee36064acc86446217a5314bf3b26086e275fbc3303b3f04fec113ddb071e50fc88739b1089c496fbdc5bf0b8513b773744d1f88e850378904a61a492a8d90a0f2da9d8b215c64d87c2fe6525af5b60ecb1f8a38bf3530372dbbaefdda262f7307c8115bc30c5e53cdac8204ebc830cb3b6ce20e910d33703a2081cc14e485acd36d882f483a1af511c768120eb25a5b3cbe18e92dec7007a03899ff0f999e816ffe160399c15ef6530d6d46223d1ac3392495449231c02138303142ace4381d3ce2a671a9cfa868afaafa040b3b196843b80c8b53de990d6f2fa03dab137b0be3d34b3f5b18a95026b691141e7ef265bbe78b04b115b7e683fe7130319d2f58d96f4717b91e738f72d96da5d7645c06089cbeeeed980ae1d8a137a2c0399e3c85c3d597d7cf44e6eb4bdc0e344efb17a11eee949d4c78d745e75e69962033fc25dee364e19ac8d56f4c761767181d329af85e8844d73521f905300819c4d05581e03402c18abb0ecf962b7461683256019b6e0249cd90a051204dfad88321004020320acf8795d87e3a575beae5aab1bc48ad7ac562cad28e91cf4589c31b03f47d105581e038877a4f0e96ab72d5a8a302c03d785edd471bfa9e799ab3245dd222620040105581e033e89683961f6d049ba572a432da68e6af41e43c0b7c1413f4429dbe15004020323634abaace4f5482fba694675e7df723771070514813e93551e62006b7b802004590105608060408190527f21f8a7210000000000000000000000000000000000000000000000000000000081527f975ab77ec4252edf17b66365eef9e11a909b823c8d4d6fe8b5840a5c15a109d360845260009073cb6767ad20ef5e808c0c20a95c3cc2fe1674b34f906321f8a7219060a4906020906024818787803b158015608457600080fd5b505af11580156097573d6000803e3d6000fd5b505050506040513d602081101560ac57600080fd5b505160405190915036600082376000803683856127105a03f43d806000843e81801560d5578184f35b8184fd00a165627a7a72305820c1241aee40d1c9e51b04a198b6fe7b17b59fb8852b1d3dd923f21faed84b023300290605581d02e4e2155946b97d0739c76ac434c1b53006f676be767802a4de6f4418070119010505581d0253a09972f5ded3afb4da263ef1c78bf7f71ac97e7529d2b12867f8400c014702126ad4d5400005581d023392d95d88cb6a203f1eaf7423b32c9b3823ed8034efdf2fe7cadb72040202190c1003c4c8b6a0568506c9b77d04c28f4e31bb5d7de5780bf023eb77c67d601848eb6c0307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e0337973737c69ab93e49b045083bebc6e5fe17624f40888a76caa77e713007011bffffffffffffffff05581e03becfbff7893b8895d0673d2223e5a63c869c636c0607888628e29034300c034709b0a1429d73220219fab00313424f956b4e466d81c5461b84a232d684856d451d37b39b8a35dd811561dad10336b6deddbb13ccd5b1d5ceed08293f712a4dded1a73a6e1bc22e931ce9266d25030f6c10be87a13535b5a0bcd0a9d5c8c613319825217513924c0b9004699f1ad50386a71163f96c676a6087f4b8ba12e1aff8c43a6badea19e92c44716b333e37350219ffff03f7fa729b52e38c57b688c67aa6fcc27f168dab3e9b3a86b57a5024066b4a3988032ec4d9fc5bdd92494b81c1bdd2e86671ac54950b979f8c050703121c6e05b60b03acc04db49fb2f7f8748fdff642feaf5d37cbfb327a2bb8ad28431cd9d661e50a033d87dec7ec460532d39d2952d545d585aa8a8770f8266fc443c0ae7ebd2a5f5403f334230af6ada5cfe0477ff26e390e44282a9328e3a5a2635656340e1acc708803ebecff6fe0f2bbeb0e6b9cba3a3a42a94d8060b2cc96bed766aa19ae489625e103b1f82166b57921641dd354ba1d95bbbbfb4afd6631604306190d93ef23c7fb1e030c09067a18162345a75d13fa217839546861a799994406e187f646af823de264032199169a9288b2923fd668bd430d8dd3a49d0f01f61bbc3f48ad5eb582e33f4f03918debb9b493fd021f3eb3fa0fd06adfe882ef93582c965f819ecf2daa4a3959035037a5b1482803325ed978994d54b4c685001fa246084507bd8e89f67d3f4ccb035e6e28e1e6d9d2998ebc8f8effa01b58c6b9c8a6c83357169024dc03cf276d9103e5626e0f3a68582db7a52a6247a3e25bd7fc38037f52c5e2753d38b6911ae2a003dec2ff5b895d7c8e9c834c2aa50d7050d126f9e367d05b79e26e684af600de8a0219ffff036514782c38fe9011e0a9bc34b7449e714c8a54b898cccf32e09d0207cfd1662303a61d67676262417f73541356acbd6bc76dd5e0e64f82dff57089e84787a93fd903328d25ceee2d7fcdb26f99a430523070531b4b6f164e6c272f36377524f6f460032d8d87e5881436a3c3a2a6ffdcf1f71fcdbe72030553f34b1371e81d18b1408403be4460401ec1ed3f47ad87e6d1093952248cbfcae60e7c08be9aa3c86a70bce2030e1d1563ede3ccd26ee2370d603dd1a238119e72e7bd3b908ce0ff6d9a87168b0390be06236a2d55419cd7ab7b8bbf45668a5f331186f8f0fa6d721205ec72017803829da86faa716429e95c0c67fc1d90029202146b1a73dc37d98e1b9540bd91d80219ffff03c4a657dea7d0ccd257255ae62132728d2ffb9903f955c15997704cfabe44343f0347704ffb1ca189cc6b7f8a231326ef7895eb071fa1b46838a9c158a6d3d3a1f203282e0d8202c8ce82c4ad2aea2a6d74479a8451b9390121bec587e8352b71e777035fbda098bfd02a69cbea19a20af50c0c6ab9c274e8c2b3dec9e11335bf9bbb77038c2edd6ea4cb6e7eccac9693ec438ff274d791eeb47ce80488c392cae6b4f77403f6e873f3a24be140ebb56725fc27b89dd4b0a9119eb185b0feab2674963cde7403cacf78665b03c63038352edce729763b609b955773f185124082d940ca66789b0219ffff03ebdffa4ae74ab34fefc995f7622ca20ae976a1f5c8502ec1e8a15e6ca4d8740e03cf63cdf692b6073785133ec43c011b8efa7a5f39a6006cdeb1004d62e80421180333a30b92e9bafb12c7afe7143713cc455ad957b79f9d8c44c47196d583c228bc03f6e0bb636482fd89234cacc366b2d4624b5ccac20c220ce51ff9fbee8e13507b0390d9fa6db22b477cd5f54f9ff26bada0c408323f7125037e2595d03686ab9966036be44c6e60e84bdd6ef86f1bebe84cd6220bd28eb7f81b83abd367de9181cf6703897e6d9528966e29d35d210ac9ed8919b438f08b65826e54fa83a5feeb07758f03b34c8167a80baf61f6a04f4409dca9a980d13dc1723d63c238132a0781c665bf03715f668b8fd5fff0528a86d16fc83f12f77fbd9f5a037dc1413d0528a7e7aa3c0323b958678e90176d09dfd26cb92c3e019b18298502b2984fae759edb16817873037650fa9ce392081bb3cb0289734655f5ca6c1722556221875d20202700e35cf1034870d3fd1402ef39042f5d4712b5e7fb71181ebb694e14ad07b9fcc1e258931e032a88f65bc3a6dcb0762ba1b91bf6043582876a5fd37509a86f6e0c140f07ce9f0346ed228a353f57488ce47c635e06938dd3ce54aaa1ffdb93bb407bcc08cc680403af87c915fa6dcc468fcbc64910ac6c96571d5e9cd4ea4f29bf5fd14b15104cf00309de787e9d266379712525be3cc0b588e55cef43a9472a6b2ba85a18a9eae57703475306db983d62aa88c5cf705ee68fc2f64df2b7fd3d81b65322c5b5004d07690311bbcfd9330c22b61a02c8ef86df8801f52203b724778d5b1118862f3b47ede6030b84bbfb9a6f96441e570f35c3b310ce9f87de0facf6f855f097aab18919c2e5037f4fd7bfc7f8ea70369b9e45233b66a56f4d3734f13f89a9765aa14fa4282089033cc7467ab573c678a3767e5b7791f3dfe68a1c508e1099fb8b272aee878a173203902ccfae7274777173df9721d9aaa859f9f3a4b9e10b59b06ceb402bb633d6590352bc8bc510ff62a2061b461715081ad0397afbdec318ebb47e32b428f6b4655303f9251887483862658d6523156ce7d2e08b633340f3fa3d6267751193794a6369030725cca1518b2d88da9b24a6da475fb8ecfa9dc67df70e6e25497a5e93ba295d03908567421d3910406f2a010e884117f84ed6d82eaa20c7936d7cb55597302b4e036fac1df6474499147abe5eae565ad82a670e543399784f3f0db3dd87e166a1790311ceebf241ef6fc169293e35efc41475298cc0b650603ee7f4ea2ea0a52822b903a16b9103a3a7794133cf9ccfd79fc6b7fc0aaf52bf4fb88985af95fde025d4640385de0850702f51b528e740277b6c21bfa8c92f8d93370efbd633d56c3d9628570362d0ff6e30fd09de9d607b51370f9342e75ea9f30676d077c1f56069eb43bbd00310a5e478ff416b58cdd73ae67b74487cc64b2115742ab253b87f301870033d0803ae9b7fe32dc6fdf9f3cf3b956d6e26eb78fd29e157f84e86fc186a06dc3f96c203f176c7d7514a2b418ecb70fdefcff699a333a7fce3f223eb975836558631006b05581e0377cd83b0c909fe606a651a504bbe77ec40d059e56cc61348db258398b00c1825480524ba27294ea88103905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e0342ab5841459e1db8462fde56297595e8695761d5d1fc8ff6eb251db1f007011bffffffffffffffff05581e03b6f3c77fc0f241c4400fc74179ec772ed11d6493057332b134a83f73f0040105581d02b74e8494034a9a5c536e06e3d9ef83c2ca801e4442840d881f0153620c014702b3374a07800005581d02a2af82477fc3c9165ecb664283221c8a673255c93849f40b2893034a0c154833a26fc6dbdd53de05581d02ddc180f6773b60a1ce3e069fdff0367abad466f508184eb60b303c03040f05581d02baa99b5aeea16dbf4b464bde4932037be28c7c2663f0334b3a62c8950c01474443bfd0f1f9100219309005581e03d055b0106173c6d19a8909acc6124d458f9a0bdd2b8d66ada0c1179cf0040203197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e035e1feb2400a822a537692d2cbf9d0caa918b2c8a3be5955dfec52e3c6007011bffffffffffffffff05581e0301104646f055a5c60f904c248a908900916dcab6bd06f5d42a6c1924c008480150699224a2452105581e035e925e29e0e381bebacaf8339e831329345e15be3cf6676ec73f6af48008470aea23f9a1ec000219361e03afb56317a7717902474dc6805bcf239bb1f67f060580c430e9e5dbe02b538fd403abe532fb15f5fa029363d1847645c7baf78673c08b5fdaf249281ca8134a018a03790d5010a14a87b55e18ab56764402c9f729f0a207c794b93888a3ddc303545803c3494ddbcb765c220ef324c91e811ca551da24b95e599c8db4f7681a7a3717f203386abbe870aa7bdbfba07f04211f07fb07d556c3e71b9f81ef51434aacd5a69e036f7fbb4566b3a4078330c395da89a28e3333b29a8fa5b7a8c827b8926a1924c303413984f7c5b14bdd4bd0c6d1f576a40cda08628a72c8a7db0b5a26bb8291af870365a3c026fc6a813378f880a072ec472253cf2bf7d3ad2027a25faf1916889ab603d2966686f2408a339e96cd6199b128230a4a4000f1cc1d5239143fd7bce4a2ec03150cf9d79eec29d5d9a401cbcb85e7bccae9572891fc41b600526349e28e53870219ffff036183783cf1cb5dd25704ab5a0a875b1dec69327e046934e94adbfd1d4576057b03e9e7b1b7fd8673444c5c4baf8eb5df42b879abe232a50834cc2feb7d1d10517a0367610ea0d5e4952507848fe2f481c8748b4b45023c1834ee7d7d58e92b55ad650219ffff03fff573ee2419eac50a5718f7487ad59f8d3cebf5a5e41df033aca5eb7a8ae16003c01d576c7d81875f67dd27fc4603129292d96c9af53f8ca5d1c2af504edbc3af03e617a517000f523fd552c26e127dbfade26e8553bd6159132bd4c4eca4ec4ccf0336e7d1835ba784c9ce265691edbde4b2eac7ada7ad3abdbf34c37f8c5528eacf0330b49393056b2aa5c837dea6a1b3bc0abdad8e14a6594ca9a728730d580525c8031041794aa75d24481d49a6504af1af257694817dbfaed1b55a106821b0c6043d039837fe81e1367c2786eba3da86d1906d8287de8c816d3aa3b6df892c8014e2f303eabb3e3eed98581f92a7b585e113b52eb2a9c6fecd139b103a21ebd97deadfda03d8e09f7d74f2393b6e93d4ce4731aae2040beb6250f92b7a2af49f990b8a8bb90363aaaf32ced91a376bf270d953ca80fa2c928715497b4000ae1f7d0c9d5c4578039fdaf4e9fe271c202c9ca40be540efedcbb17c6a829f3514de2647fbcba4386403a41aea91afb67b41c7a4e8d01834c05b7548d328b9b4477d04c5a65abbd849840219ffff030e4f6d11a2606c0f514726e1364b82578f4b92f0b43e5cd55e3edf05ebca9bfc036f01dd0fa87c0e13b78bd64a81ad0fdd14356a0518f3738469fdbff1711a3e1303c638c1b90aeaa02f8d52a3ce664a670bd1cad51875a4560b7cc908f93c1835b103881586c3932655d81825d368e069a3e4cf284acb8f0966bb9d55e8a340327ff8033a7f69ad8979e4622a91519e17ddbfa224978318d8648371d18e0a0f792883c70310eec20e9eeeaa5bb0887edc09148b0c50a2ca63ed14eee46fbbf631009906bc03bfb06828c8dd5df406fd02da9fd138ebfcbe6f57ea2ec113b127af1405394bf703ffeddb529a96a133a8a1c6aecc2c04f8ab017614a8519d997a7cdc70692f4fa2034e551859556ecbdc87fe80baa40e40769262e0f3824f898a3769ca1145dc12a0034592a1d26a305d79cc90aab51a2bb9713a46d8d4f4de63e39cf353729276ae6d039054bb1b3cf771cfe162157bfc84c05aefad24ec1422b5dc38049d60abb8b4d203d0a90fa7220c5749dc966d730e7f3985cbe40b8c62dbe089aa2ce9cd070f156b03a45e260db57b57d57d7a4fd8e1c1518db8e3740f8be06e25b7f77f9a071a147c03e6a4e9f90dd20947dceea3b43f0d5f3c176439165761de2fafa4104e0f197d040339eb9f37398ddf041ffe152b2c2c8f56acdefd89b5dee36ca62d7836af8e1d1a034431af1c1cfdbd42c5169fc6a64e262dacc869464fce8747e1c6c686aa9c5f5e03f856e14e73b710f99eae7db83531c48ee9bfc785ecae12e36bc0f451e1e26a650326d9c3ac827f1704dd6106cc67fbc6c14b0f1291c8658a05ad34e7566cdba66d03af50e5aca403f525ffe6d40ca776ea801f4f85440a57f4bfe78741a39cfabd5b034a356e95d7f09427412086ccfc051b3aa557f7cc9de25bd50c39249027ebe478035afad43f48bdc4a60018c0da9ad3af83657de6a94e8d9905409c8884cb58651705581e03f5e946109ab982495c541206a8a538f437a9449114fd61eac7b9f2abe0040105581e03c85c60aceebd01dd987520658980030d728a7fed0ade881f4734850d300c05483b3fb90e46d1cca405581e03b4af3530ed05466dfc4bb69cdf9c30c68eadd3c9b26bc9f095412ad2900c16471913f043b822c905581e03d05b7ceffa064a69b79d8631f42da669d2d4a5114c0548b327ddd971b00c03472dcde91a0b4600031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03a01a2c8648ab49667ee8d2e3bc2a71c446a417aa490622cae3d0b059a007011bffffffffffffffff05581e03afe180b09cf00419e166122180743800ca3b4b40163992b3a33bc7d2000c0b47086887fdb4230005581e031ab04ad6df6a0557da96ba1dd65956feb7b000c91ad9ed0a824f0628600c054601407dcb250005581e033fbaca84bd9a22d4a01d646481204b0995803fc79060159fe1e73b57700c0b4704fe34a572135405581d02749450a8cc3ae19f8ebdd6c3c0c3bcb96dcd92d41525aafc76ec192204020458aa608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220f8a584f5571c1942ce287f04e503e7a62bf0c9046c8825d7d0dba2e353309c8e64736f6c6343000818003303ba52c9fad13291b7b1690cf19585e45de6a4aa8713a9202fad204256f942ea5b036afa3262e2def0ac7c2047a6baa1260c80ed77c6b99fd1c20ac15c654809f9b703d4e321e5d91136bd844c2a48b3546217eba3ad397f9a0a571473a81d71a4662b0058200235c910e72c1ea1db7fcfb63c254236cc10b46a1a55cbf8ccd2fe678e2bd4854101005820024a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff954579f40d0be111b823962043702cabe6aaa290780005820027257b7272bb46d49cd6019b04ddee20da7c0cb13f7c1ec3391291b2ccebabc41320219402103221e2419bdea6957c041b608cf4ec920086842e867c87a1f5a23f0e1439e830803a8ff4413d5833a40da5f50c455815b4851ab3f15cf0c77d704a663fb8ddbad0c03168d007432365e55cfbf04a192c6745d8296112a3be7c9c3ba993e72a80e6532014101005820024eacd363d2dff8189d231d06fd018a7890c5442d06de7da7ccbde6dd8777765818667b392362a966a7492be75182c89e6e2a519a87884a038200582002dbf4692c7ce86b66274470bd1ccac403e673b85b67eb8320e70c78d668ca6e410100582003a9ed0d0e49f181b14072a3dc785d684152eb65580fb814aca8d3bf3921492058186665900f2bcd4d02fb1c703c6c3f2976e82ea7457d26cb3400582003e4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d280420100005820031115d7b6ba4fbe29a76c79825250389348b1f1352b55e5c2b667a133d734d058186661784ff02099f42d499028ca52a5205d4e21001f5e35250219284000582002cc59d087b00d38e2050ad31e742b5e8e9ef077ee6d2b1cf44246dafd4c83f341010219407800582002fff3b342b3ad599a60d707c5845183824f358aac7d22d0716fe952900c2a6558186651a067412a2adfe3a7e6d737539e0ff526523a47d86ab300582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54b0b782cf0fcece896e0c041f8e54f86ca4cc8e9f0058200210b31b623598eccdf9556a924a85262ff0931af64d8cd0950625b6973e6322410100582002df4c171267bb2e27f164e08937ba8299165704c3d7fd5ce3288dcd93fce2be4101021940a40338d44c190e0f7a54f48b6c57a5547c9238a360c095e636bf18d3ceaefc9191be03322baa2d20a60803c2f78c2d70ccdc061b56839a3f92c5a9d33beaf7d3b5c236030479ac86c05c84c740b51f7741df33354a090ca0004f72831f50c9328b02678a0352ba06a2eb2eb28afc197381726746fee8d410e74840130d2b972c8fe61baeea0390db032bfb8ede3275477b736d54cb133691fb6204c98bc959671e8905868d30031621a418fd81feacfc448ffc1fe9a3759bb78f77391b2ae56cf590e7fd1fd54b03fa52ff7cfc9651b249a90f0e8e4e92bb8968205afb456500b8a9a6ec6fe20d3b03f4866c447c3cdbdea973fc46dcc066085ae89dd5286baba8cf0b566a23de19a80219ffff05581d027a652f0ebcdbc869cdbfd6cd6dc852cd9861aaeecd6c2d94a3719424070118aa05581d02f9373ac17bd40731259ffbfa6bf9d57020ec456ff7f0c26be2458b770c03474892dd9c3768490219100905581e036b00d487a2044cec0f2748b88714debadc80cbd599d83534fa11244fa0040202197e4d03426ccbc7c5d5dfa0426c06401c3b0459191971f33fde08b9cf0e224b1575ea4603de5a86df7cae9e5001ee712f24927cb28c87e24af5e171f98dc917e6b4fabf3e03779adf2491a254148e52f342a62f13cf5b7b5e1ac4a89470d826f036a2b8381d03830b68ed2875f4f1b6b156f9d0f80d1310044f0c0975ac1dac1868ee7128e1be0381c1a40ceb092457982d09c587ac0330acfa630330b36917b5af2a85ec647f1a0219ffff036d1fe9c05cfd89df4f8239b280755b3ee6c14d4c560cc98bf91608974f632ad6036b23dc21933f994a18804aac885f7d801659cf798d12ba4982249168fab66f920396758857091dc80d0cc9b41bc0991dfc6145b8d5dbb53084fdf1249287494e2a030895aa216820b5a14918f486db8b656c7bf73064c2a6033bc085ef2476e2d83003ef40b23f08e64b8d00f6a03a7b6c8ab2370264bb089af93a24001254caab92cf0219ffff0323c3413cc780dc29bb305a805845c4d49d2af2fb2cabf399d3d2f76b8759161403eb2e22dc198b2d834e5fc565d50c3a325c499f4ed4047bfc72106983bacfa2a70378a68095578e70db1ed0a5e4cd10a65711dbfa9c2aa366c1d01e7569ab8c41df0347a27ce244cea83d24b78acb4d56113db4f7f0e75a33bbb5468e0ecaa074a5ac031bc83babceb01a3be244f327814bdfcb8284bdfa52baf6e4124d1381b437d10303a9c7977dc4ddfd07c142559c38f980d6a21eb6cb63a99ca999406a223f3c631a0328386d56a1925e8bf13402127ace1e97978e127a7333c3cdd32cd9d28658ec49031abb6ca95b1e91cbd72acfcbf08c6949026764a9cf76aec277886f424772bbb1037b2b352bdc525ffdd1b51608d8c06c266090b16f50412746daa3cbd99d91fcd103eaee57d36e4424657bdff3b5f83d7ef310760e8645452d7681a9381b9ada02d7034c325e5ab8defaa9dfd0281d040a52b64882291c77267a1eaa7842dc35733ff003c6e622600f316642b4ccfad92bfe0ca26ef54acbc082bfc5e7d630614b085fe20368127cd2d96d0d88a2fed6c64ddf85e63a1751ba129ec2b78b2894b9fb66afd7039a2b34305a2c32dda619a17d3b622a3f8d331a40311b061782ecbfa5312a3dc60219ffff0219ffff03728adf3b6ef871b47ca95e4f986f8b84f69535b49290c8102158eef5dd0b7679030e6f87dcff8ecffe6b15f6cd38b9ec41062ab33a3040c51bfbcf373e6b6da3250384fcb8503da234c51e70abf17565f23e06034d27baf8d690da38556331a47e860329213eb1cd11355ea7ff5bdc45abcbb2f81e255775d31c4585e8dec9b6b817a203f497e51dbe2cf2c508e482ee2e16de45ad063f866757f371a302181b7f10eb10037472a1c8fcf5f70d10a91c0c1c1802fa99055f0633b81ae0c4e40aeb9179920b03f9128920d4a7f62e35b27fc87320973dafdf6416f66c8dcf3814db161ef6808b03522c4ffc7b52a182bcc0925c22c1cc27c0b8ebcc4615798bfea0ed3a8b47a18603773d22c6b1bf73abc170b80639d66430728d9d138a4996e812160819ca4e073403e2d15a3d3b961f5dba92e2a6c50046cc4ed4100018ac84abe08469df7152475d038f79e8d950940212052f541ae8871e4dbcb8708e9304dd09fa51fc75eaa1423a03ba4d97f3c63f60922566bda63771b8d7ced4b946386e2822655084cc5956136703ca0f2832688436c89516d52392abe410a7acb6384fb9337b89d6821107137e000387112aca1f0e9683ff3e5e5fd6b6e66c984b243bbe9dfa9bb37844136965ce2d03df94e7a26023e0e9dacba5a57e7d268aa52808b9452243401e448b6c8d2dd7cc03cfdd241ba3bbb6d31c99ce0f0f6102d16742577f5920456a86d76a5507694bb403e123d4832f65bcc5990cb38a6b148c93dc62eef3c6b5118ce61434769a0c8d5603e53f4e92a3fd069a9742cd2c2936e7a7d98ec2f04abed672b7840a8c6c3d574d03da07e558436cd1103c08b67dfcac676d7d8f51ad0f2fb1f62b9502dcd94e1f030303b3ed3d8a32467f8e36faa0b4fa6be928678bf0021982e35b2def7941b2cab2039ea0400eca8903db23544f8b5b424b21a67506ac77b2a1f76b31d6fc84d5509303c05b8c9f9f668e91e895861f48ba811f519fc9090a9777248e64291114d8470a034ff5829a41902ec84fa986a3331aa793093e7b6d181e3c86dd54529c70d97dd303dbdebd4356b73b3f8a9bd48f65de868cb98dfb22225707bf289b7a3f85260f9e032988f48340d8812c9c8b16135b97014d4a840e2fb6aa6a42f9c795b0bfea30ff05581e03212618179e5767851f3432efcf564fcd0405ad4c0930b4102c1fbec2e00c01471e6883e566220003359bde683de081e2083a77f3251b049145a3a119502566cdef5d6c86fccc0b3f05581e03c698d40eb3ed19e851449e7e70689c9ca59264341555c60b6a57fdc5300c034683f9a54b39d003bffd89d7c945423a18b6e8e213d68ad99cd54098c159cdececa6087ef71b8f4703c957bd1fbf2ffd0907854104bf36b9d8e65c90ac4c8bab4fc07df904cb15b39705581d022682d00a357a6073fd96ac1167808822867e9f3c93eceb49e6779cdb0c01470ce4352af4e33203f99af0b81dc988ac8cd1fca36090f280110777e0d6f9304383921260e7ac232703852179c171385ffc76ff608b2e384b168f999cb82f80c2ba801d8468e6b07a7005581d034415f53b72aa042856bbb65bcca1ed59cd5b566d2303607c928806b007011bffffffffffffffff045924946080604052600436106101b65760003560e01c806360f05c7a116100ec5780639a8a05921161008a578063cbed8b9c11610064578063cbed8b9c1461093a578063dd62ed3e146109d0578063f187892214610a0b578063f2fde38b14610a37576101b6565b80639a8a05921461089c578063a457c2d7146108c8578063a9059cbb14610901576101b6565b8063715018a6116100c6578063715018a6146107b757806373874336146107cc5780638da5cb5b1461087257806395d89b4114610887576101b6565b806360f05c7a146106d0578063706d8fff146106fe57806370a0823114610784576101b6565b80632e15238c1161015957806342d65a8d1161013357806342d65a8d146105ef5780635c975abb146106755780635e280f111461068a578063604269d1146106bb576101b6565b80632e15238c146104ad578063313ce5671461058b57806339509351146105b6576101b6565b8063095ea7b311610195578063095ea7b3146103c857806310ddb1371461041557806318160ddd1461044357806323b872dd1461046a576101b6565b80621d3567146101bb57806306fdde031461031057806307e0db171461039a575b600080fd5b3480156101c757600080fd5b5061030e600480360360808110156101de57600080fd5b61ffff8235169190810190604081016020820135600160201b81111561020357600080fd5b82018360208201111561021557600080fd5b803590602001918460018302840111600160201b8311171561023657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929567ffffffffffffffff853516959094909350604081019250602001359050600160201b81111561029a57600080fd5b8201836020820111156102ac57600080fd5b803590602001918460018302840111600160201b831117156102cd57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a6a945050505050565b005b34801561031c57600080fd5b50610325610cf2565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561035f578181015183820152602001610347565b50505050905090810190601f16801561038c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103a657600080fd5b5061030e600480360360208110156103bd57600080fd5b503561ffff16610d88565b3480156103d457600080fd5b50610401600480360360408110156103eb57600080fd5b506001600160a01b038135169060200135610e6f565b604080519115158252519081900360200190f35b34801561042157600080fd5b5061030e6004803603602081101561043857600080fd5b503561ffff16610e8c565b34801561044f57600080fd5b50610458610f58565b60408051918252519081900360200190f35b34801561047657600080fd5b506104016004803603606081101561048d57600080fd5b506001600160a01b03813581169160208101359091169060400135610f5e565b61030e600480360360a08110156104c357600080fd5b61ffff8235169190810190604081016020820135600160201b8111156104e857600080fd5b8201836020820111156104fa57600080fd5b803590602001918460018302840111600160201b8311171561051b57600080fd5b919390928235926001600160a01b03602082013516929190606081019060400135600160201b81111561054d57600080fd5b82018360208201111561055f57600080fd5b803590602001918460018302840111600160201b8311171561058057600080fd5b509092509050610fe5565b34801561059757600080fd5b506105a0611308565b6040805160ff9092168252519081900360200190f35b3480156105c257600080fd5b50610401600480360360408110156105d957600080fd5b506001600160a01b038135169060200135611311565b3480156105fb57600080fd5b5061030e6004803603604081101561061257600080fd5b61ffff8235169190810190604081016020820135600160201b81111561063757600080fd5b82018360208201111561064957600080fd5b803590602001918460018302840111600160201b8311171561066a57600080fd5b50909250905061135f565b34801561068157600080fd5b5061040161147d565b34801561069657600080fd5b5061069f611486565b604080516001600160a01b039092168252519081900360200190f35b3480156106c757600080fd5b506104016114aa565b3480156106dc57600080fd5b50610325600480360360208110156106f357600080fd5b503561ffff166114b8565b34801561070a57600080fd5b5061030e6004803603604081101561072157600080fd5b61ffff8235169190810190604081016020820135600160201b81111561074657600080fd5b82018360208201111561075857600080fd5b803590602001918460018302840111600160201b8311171561077957600080fd5b509092509050611553565b34801561079057600080fd5b50610458600480360360208110156107a757600080fd5b50356001600160a01b03166115d9565b3480156107c357600080fd5b5061030e6115f4565b3480156107d857600080fd5b50610859600480360360608110156107ef57600080fd5b61ffff823516916020810135151591810190606081016040820135600160201b81111561081b57600080fd5b82018360208201111561082d57600080fd5b803590602001918460018302840111600160201b8311171561084e57600080fd5b509092509050611658565b6040805192835260208301919091528051918290030190f35b34801561087e57600080fd5b5061069f6117c7565b34801561089357600080fd5b506103256117db565b3480156108a857600080fd5b506108b161183c565b6040805161ffff9092168252519081900360200190f35b3480156108d457600080fd5b50610401600480360360408110156108eb57600080fd5b506001600160a01b0381351690602001356118c8565b34801561090d57600080fd5b506104016004803603604081101561092457600080fd5b506001600160a01b038135169060200135611930565b34801561094657600080fd5b5061030e6004803603608081101561095d57600080fd5b61ffff823581169260208101359091169160408201359190810190608081016060820135600160201b81111561099257600080fd5b8201836020820111156109a457600080fd5b803590602001918460018302840111600160201b831117156109c557600080fd5b509092509050611944565b3480156109dc57600080fd5b50610458600480360360408110156109f357600080fd5b506001600160a01b0381358116916020013516611a77565b348015610a1757600080fd5b5061030e60048036036020811015610a2e57600080fd5b50351515611aa2565b348015610a4357600080fd5b5061030e60048036036020811015610a5a57600080fd5b50356001600160a01b0316611b4b565b336001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6751614610a9f57600080fd5b61ffff8416600090815260066020526040902054835160026000196101006001851615020190921691909104148015610b605750600660008561ffff1661ffff1681526020019081526020016000206040518082805460018160011615610100020316600290048015610b495780601f10610b27576101008083540402835291820191610b49565b820191906000526020600020905b815481529060010190602001808311610b35575b505091505060405180910390208380519060200120145b610b9b5760405162461bcd60e51b81526004018080602001828103825260248152602001806122af6024913960400191505060405180910390fd5b600080828060200190516040811015610bb357600080fd5b8101908080516040519392919084600160201b821115610bd257600080fd5b908301906020820185811115610be757600080fd5b8251600160201b811182820188101715610c0057600080fd5b82525081516020918201929091019080838360005b83811015610c2d578181015183820152602001610c15565b50505050905090810190601f168015610c5a5780820380516001836020036101000a031916815260200191505b5060405260200151601484015160075494965090945092610100900460ff16159150610c92905057610c8d308284611cba565b610c9c565b610c9c8183611e15565b6040805161ffff8916815267ffffffffffffffff8716602082015280820184905290517f831bc68226f8d1f734ffcca73602efc4eca13711402ba1d2cc05ee17bb54f6319181900360600190a150505050505050565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d7e5780601f10610d5357610100808354040283529160200191610d7e565b820191906000526020600020905b815481529060010190602001808311610d6157829003601f168201915b5050505050905090565b610d90611f05565b6001600160a01b0316610da16117c7565b6001600160a01b031614610dea576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b03166307e0db17826040518263ffffffff1660e01b8152600401808261ffff168152602001915050600060405180830381600087803b158015610e5457600080fd5b505af1158015610e68573d6000803e3d6000fd5b5050505050565b6000610e83610e7c611f05565b8484611f09565b50600192915050565b610e94611f05565b6001600160a01b0316610ea56117c7565b6001600160a01b031614610eee576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b03166310ddb137826040518263ffffffff1660e01b8152600401808261ffff168152602001915050600060405180830381600087803b158015610e5457600080fd5b60025490565b6000610f6b848484611cba565b610fdb84610f77611f05565b610fd685604051806060016040528060288152602001612363602891396001600160a01b038a16600090815260016020526040812090610fb5611f05565b6001600160a01b031681526020810191909152604001600020549190611ff5565b611f09565b5060019392505050565b60075460ff16156110275760405162461bcd60e51b81526004018080602001828103825260258152602001806123cc6025913960400191505060405180910390fd5b600754610100900460ff161561104757611042333086611cba565b611051565b611051338561208c565b600086868660405160200180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505094505050505060405160208183030381529060405290507f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b031663c5803100348a600660008d61ffff1661ffff16815260200190815260200160002085338a8a8a6040518963ffffffff1660e01b8152600401808861ffff1681526020018060200180602001876001600160a01b03168152602001866001600160a01b031681526020018060200184810384528a8181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505084810383528951815289516020918201918b019080838360005b838110156111f65781810151838201526020016111de565b50505050905090810190601f1680156112235780820380516001836020036101000a031916815260200191505b508481038252858152602001868680828437600081840152601f19601f8201169050808301925050509a50505050505050505050506000604051808303818588803b15801561127157600080fd5b505af1158015611285573d6000803e3d6000fd5b50505050507f664e26797cde1146ddfcb9a5d3f4de61179f9c11b2698599bb09e686f442172b88888888604051808561ffff168152602001806020018381526020018281038252858582818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050505050565b60055460ff1690565b6000610e8361131e611f05565b84610fd6856001600061132f611f05565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611c59565b611367611f05565b6001600160a01b03166113786117c7565b6001600160a01b0316146113c1576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b604080516342d65a8d60e01b815261ffff85166004820190815260248201928352604482018490526001600160a01b037f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd67516926342d65a8d92879287928792606401848480828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b15801561146057600080fd5b505af1158015611474573d6000803e3d6000fd5b50505050505050565b60075460ff1681565b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd67581565b600754610100900460ff1681565b60066020908152600091825260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452909183018282801561154b5780601f106115205761010080835404028352916020019161154b565b820191906000526020600020905b81548152906001019060200180831161152e57829003601f168201915b505050505081565b61155b611f05565b6001600160a01b031661156c6117c7565b6001600160a01b0316146115b5576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b61ffff831660009081526006602052604090206115d39083836121ea565b50505050565b6001600160a01b031660009081526020819052604090205490565b6115fc611f05565b6001600160a01b031661160d6117c7565b6001600160a01b031614611656576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b565b6000807f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b03166340a7bb108730604051806020016040528060008152508989896040518763ffffffff1660e01b8152600401808761ffff168152602001866001600160a01b0316815260200180602001851515815260200180602001838103835287818151815260200191508051906020019080838360005b838110156117105781810151838201526020016116f8565b50505050905090810190601f16801561173d5780820380516001836020036101000a031916815260200191505b508381038252848152602001858580828437600081840152601f19601f82011690508083019250505098505050505050505050604080518083038186803b15801561178757600080fd5b505afa15801561179b573d6000803e3d6000fd5b505050506040513d60408110156117b157600080fd5b5080516020909101519097909650945050505050565b60055461010090046001600160a01b031690565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015610d7e5780601f10610d5357610100808354040283529160200191610d7e565b60007f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b0316633408e4706040518163ffffffff1660e01b815260040160206040518083038186803b15801561189757600080fd5b505afa1580156118ab573d6000803e3d6000fd5b505050506040513d60208110156118c157600080fd5b5051905090565b6000610e836118d5611f05565b84610fd68560405180606001604052806025815260200161243a60259139600160006118ff611f05565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611ff5565b6000610e8361193d611f05565b8484611cba565b61194c611f05565b6001600160a01b031661195d6117c7565b6001600160a01b0316146119a6576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b7f00000000000000000000000066a71dcef29a0ffbdbe3c6a460a3b5bc225cd6756001600160a01b031663cbed8b9c86868686866040518663ffffffff1660e01b8152600401808661ffff1681526020018561ffff168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015611a5857600080fd5b505af1158015611a6c573d6000803e3d6000fd5b505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b611aaa611f05565b6001600160a01b0316611abb6117c7565b6001600160a01b031614611b04576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b6007805482151560ff19909116811790915560408051918252517f0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd29181900360200190a150565b611b53611f05565b6001600160a01b0316611b646117c7565b6001600160a01b031614611bad576040805162461bcd60e51b8152602060048201819052602482015260008051602061238b833981519152604482015290519081900360640190fd5b6001600160a01b038116611bf25760405162461bcd60e51b81526004018080602001828103825260268152602001806122f56026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082820183811015611cb3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038316611cff5760405162461bcd60e51b81526004018080602001828103825260258152602001806123f16025913960400191505060405180910390fd5b6001600160a01b038216611d445760405162461bcd60e51b815260040180806020018281038252602381526020018061228c6023913960400191505060405180910390fd5b611d4f838383612188565b611d8c8160405180606001604052806026815260200161233d602691396001600160a01b0386166000908152602081905260409020549190611ff5565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611dbb9082611c59565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b038216611e70576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b611e7c60008383612188565b600254611e899082611c59565b6002556001600160a01b038216600090815260208190526040902054611eaf9082611c59565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b3390565b6001600160a01b038316611f4e5760405162461bcd60e51b81526004018080602001828103825260248152602001806124166024913960400191505060405180910390fd5b6001600160a01b038216611f935760405162461bcd60e51b815260040180806020018281038252602281526020018061231b6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600081848411156120845760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612049578181015183820152602001612031565b50505050905090810190601f1680156120765780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0382166120d15760405162461bcd60e51b81526004018080602001828103825260218152602001806123ab6021913960400191505060405180910390fd5b6120dd82600083612188565b61211a816040518060600160405280602281526020016122d3602291396001600160a01b0385166000908152602081905260409020549190611ff5565b6001600160a01b038316600090815260208190526040902055600254612140908261218d565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b505050565b6000828211156121e4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826122205760008555612266565b82601f106122395782800160ff19823516178555612266565b82800160010185558215612266579182015b8281111561226657823582559160200191906001019061224b565b50612272929150612276565b5090565b5b80821115612272576000815560010161227756fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573734f46543a20696e76616c696420736f757263652073656e64696e6720636f6e747261637445524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a206275726e2066726f6d20746865207a65726f20616464726573734f46543a2073656e64546f6b656e7328292069732063757272656e746c792070617573656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220509d27a33b1ccd8dd921bcc7a92729316f3003f949c729e2ab4e10e8351279f364736f6c6343000706003303d3fd5bc0dba983b2e73d044553cbb13d227874e5665c90745cce41ccea5b308e036ffc59255bd4ef02489e3345dd0ef02dc69a91e0f700d11e0f8ae7b8d8d0d80e03f86e8c4ba79f138f7b51847e58c451bad7c30781b053b45f7176f4bc367b9f58035ed331a7f0b974e824a6cdcafa864896c6ea7f121d11ea077af44e712388dff103876f90747d9c3516befa8b49d913432463f7853247e8fffd4da9816449b43135031a253317f3fde2f3a69bf84cb99fa6b3df7296bdd3e20254226cba61b451c1360373fe75a7284e4332c0f000586be99a7123f5704e1df14240840fb04720b372520326e4caf93ff059b4154a7ead82e066dbf44341e000ca33ea59804669d4c19d5c034e0386e2b1fb6fdfc5027eafeab68de21826657521123bff9df995297e8dfb4103e2e76b2f5a69e5d6a6a6ff50a8ae504a310df546f3dfcc2e4e1c9f240aa309a00389271890898f86154f135732c9f557c4e47b23f5f197ec34fdbd2a134e9531aa03a84a26b01c5095cb7e0359deb849245e3a0bfaf06843f1d0a5b280d212b106dc03c01c2a1c3ec93325ffe20e6e060dcf74e479f6ddc888db91e58fc42677bbb1380336ac97009c5c1d82b5f4b3561aa33584dcd5cbf3487aa60395c21ca22cbb841a0313f2a44d179d4ef5af4c53fa96297c90824a5b019dfaf5f316c2948d802eb475037f74d944e7144ac120367564fc10aa2897a3ba565aafa36100b15a1ebff8b7fc034b7f92b4f708a9a32c891e84be62131299fbdf8359f132e123f78f53fe7761f8038ef181fb563b65581674cb5c50a4e7c6aa48d724f368ba3bdaca55b7defd08f503b6dd8d050ca28c70900ce8683bf166b2c891b35a7f3e9f5812eea74cfdba15c600581f03705c6457841e264aa1c1f478d51df2757f4c0b357f7e9f9230917e8dc0005820fffffffffffffffffffffffffffffffffffffffffffffffc4a2fef84b401adf700581f0337e7cf11d15800dd54e41ced6a6d396b7644b1643bcd924f5ebac745a4b04a21e19e27e596f8a0f7c802192004031f677a1036c9c09f55d173e5732d932d50cb0836134b440d30f2a2af75b2834f00581f02c9ed803052e06b673ea7819e0daddabad1ca16ff4e87f88537c7421df41a491a589ad90fc7d800000359d93a0efa3c86d095fc5a2baf5fe3701db6e30f5a732f8f30239f0b471a582e03d7a13515b8eb0c52621954b9044941f9f579e1097b8e8b5aa72b3d00ace1ae7b0341d3d2a1d2c2bc8aedc43aee4da060bb9d9a50049e180664d5cf8394028d3dab0219fdd703b8b52afe9aca0c343cffaa069cc275c60285c25a82bdff53542a1f08f037611b035c635758155c3a7e9b97f5022e0e5d0a61d58843b7ca42e7173d5a6673d39c5f0385e85ac69e6dfc9080831ed2047e4845bc819f640188e8a36ad376149f40922f03c6236764fbeba9d74f2ad3480bda16f7d09c20779bf5b54d71b82f668b903e3e037d1e1486b2a311bd24fbac538b81812dd9e1062f86b03f756e3d0d09b7a017fb03f32d92dd411976ec92290c63595c2692be94e2bdb3a720cf111b1f5bf6662a7803346a189bd8516e885e9da56a39cdb96c00c16ca1bf17d0f263722f3c6a9ec8bc03d99e50894a0f89d9c17a8ca004e4594458d10714d9c254f331dc9e8f937e1fec03cb4b494d9ad1dd6222dd7c1a7887d4e1b3297102883cdccd22b587b1d3e55fed0339458b4a0b3fc7b10b712dbbd600c9d2eacbb4e666f140dde23614648436caef03f432477fa6740dc36754be6aacd9917c7464ca886f4cd39be651eb0b0347a0bb0219ffff038e7c40a45cf3eb806ac8c0ea8e23a8241562854538b1ba48bdd63f395ce4106403b3484fae88ac5a9374bae0cb1832f8983a19db4a693e228a0f94e16963734576036e604e2ef1f4869b54c1dd7030b91777fa4f44a9d1d52958a519c556a343b1540369da3c5f00677baf772c07db235b5ea64059bc42c5be7b41ce7b3cc5d7a04245032e3445a0175b55e03f6673dc1a93c7e95b9800670ce2de6c4ece8284005f0b9f03dc4086a6e5a997cea84aeca7a2905d7be06dca5a6be1e5c85408b2c33527ea730363eeca1a1221cbb982f1ba559593432d725d2efd9042546bfa7c4918df347d5c0374ad5163b39cbbb254b7f2e3ab0ed17c6a4311bee55a2aa467f253bdcbc9c8080363e947e2ee32dc318c7718273a713a57a0da132fb7e55c07ba07eabd624adf1303faae2e39efdcb66efa762eb01d2a23cbf87d733549417e1f8bf4e6f0d8a9d9f50219ffff03f778cdb9018756ebfd2cca9a9dee17074cc9c8dfdf8a7d72caea705a1c4cf6dd03150555d90a022947faa8565e5559e9241c5362f3068f081e5dccb67d0b7693390385051cb45c5b8e0561ec5f10c950809b64dd51790281249e2eb016fc5ee77849034dd12560a165e47d1e923da98c436e0f983235bdb1c3d04bb8d58a330726a53f03e72cc85f503e41eb9f5d5e187cc6f9501afe01190182e6ce7248c5ab0ae2bb3503eeebd04e127f8b2a2ab2383f973e8e34b6b7c6caa4713ba3e9e610681f3ce51203b4b43806d28cf0735f637aa07065a01475b5cb6766be2c3a81ca8dd28001c1bb0331ef542274065dce2385d4b2d5b8f3626b30e24b2699ca465cb21a6af36a5e37035f06a36d27e4db4ca730f9ce985865603cb3be0630de8cd73f6e967128ce0e3303b98ca228d54d97a01ca589964c86c46b321a7f2c0e1bfc6318697446fab495b603692df75dab2e1e7fd5715c41c48a0f20297c7b2a7b8d853348edbd36476a9eea033d36d377ccc6ebcf89c936ed716233fe534fde606f4c758322ab1dfbaca481210324f4483a20876c2b9fed54a42d7d423427ac24b3896ac5ae05fab6c9452919b003c9937d586b869ee95ab1bbf590ad7f5bf2bb943fd7d50f59ad9d3b7422d846ff03d7533e847a823f7922070d3cbb21574bd4186927387ecfd8b28af407e588f01503f2d75a2e0ca1309f584821356857679be80762904349d3b65fdf2cd2a1b60fe903d060df1d6f5cd75c0eea906f9f05105cd8169d7a7ce2db8ad7c90ac5593b407d00581f028be0f370f95c783d8f8e7ed058f03833a08f5ccc4c3000bc77cacff2bda64903514c6c7714c296ac03f42e4ff78987a46e476bd4945dfbc4a6e5a637d959c3756669e82961c43bc5b600581f0280358aa6f9f9ad32b004785b443e715d5474da7dc08cf0c7340f5a1b92595820fffffffffffffffffffffffffffffffffffffffffffffffe352eff581358b925039f318e6a3ae168e76f46970104e08e7e0faab0f10e04df5fa6de7e6cb22ef7be03a79d442241aea53d52ebe891cf65eeaf5d08898a9de40cd451dff574c8412ae600581f02bc2067143a6a2751a45744d927a66f87eab0bd61ba0ceda28d3c4bb24a3b5820ffffffffffffffffffffffffffffffffffffffffffffffffffdffe2c4bf751eb03a617a4558a05b5be5f3927a278183a2c079d682c1cb17a370791e1db68cbf902037d5ff345c20e637c81bc65e166a282902aa40abd8bd4ab8ee8b96d3a2c844f5900581f027e1b63f13b2760f17ab4306f495fe75c38924e187398b4868d4ca364d8865820ffffffffffffffffffffffffffffffffffffffffffffde167d99c95c19f7a82d00581f036cd03ec0825bc99fb2b00fa90e1f532dfc8024597ea18a4e1dd6827410f05820fffffffffffffffffffffffffffffffffffffffffffffffe66a0898e11def05900581f03a448df44f2cd535ed53afb997803f45dad15016b10a756f90c4230636ac05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03b8e547f0bbff9d37a7b18d3349aa799aafa9f20ec3cb12152021b5104080496065ef8e397194ce5d00581f033233a32ea03b97d9ed20029396ecd617b744e39da89b374870a2952ef8c04b0743badd8b4ac46b71bbbc00581f03e7d957a1c83c1b8d6e6bc4689c2ae3b37896f8376c2da86d196d8f63d31049015029f317ea34789b02193a1000581f0273937b6e169ad64ed1eb51c511981dac6edc15baca55641301a6fccd084e5820fffffffffffffffffffffffffffffffffffffffffffffffd9d60991f3acfffff033b8de32af41e8c41d0231077c2b98e86a48acb6d3ed61339f148367bb867f14003d2aff1ac989890dc9751309da1fdccdefce25da9749b1b2a19806f63ca4648020219b5ff034db4a5ee0022ade393d272b636ab004d0dfd689175e8f1ffd02199a923ad9c8a03e8ef619355c6cf6fa6a91d9b997a8efef74b531a0dcfae680490d4f02e2d90a80398021cc4231a797cdc89bc98b61ab6e6eede0d974413ccad4b783d4b9327a0fc0326611d2d7bd03f6f54c3c2e6306804b891d95c720422f17565241854be510a5b0219ffff032d2a236e45da0dfebeaf42de574e48c66a5ea5813a4128c0ee8b105a844584e8033d35a3e9f12f48253f08858f94800aebfca979f9b942080285ad6507511b3ddb03d68393a3476ba42bc005df6b27467ba9ed438797334fca94ef550f3d90f24758035c3d5444646cd33702de51dd1c7e7ca4493570bebc7881ee11e8032eeb01b02403ca1a444ca5a190dbe82806133c6d5de60dab0a7d14ca8aca306925ff4e6841e703580bb9e196921d8abf375905343f7b88c7b6a820019e0e01d2c82a4a66e1cb16031f935441798fdfa79177fa19fbd407c713908cf27fbad58e2a8d819c7b2cac2d039ec89505b0c228b45114b088d67ff2e5bbca1236e30eb99947b6c7782484e2d5034ba9033d4e07b9d75942fa588f2b845c5e939cbd2074ec132c8856e21c78252a03c7e5e013d5afb9d8ed796b2b1d359077e59045997975575cca8ad8652d7fa8c203eb8eb38ee8a52daa3c8c880643b45a3c39d4716fcb3d5fb1e96505a9eb98fe9603cd5c7be9d5088a020d39ffaaa237763a1fbe32625f634456f6fc6beeae19c7c303686c04ed62261f8b2409fa98d4b192ca90547eefda25fff085cd81b11d81ab4a0219ffff03dae9a057a51b1d7eaec73188465dc87e2f61035b7a834a93fccecf2b8d1c2fa3037041e83bd156d3955e5dec90ba6fb754fcfa0e5de063d24025f4bed94691361c0379f38e5848204fce77c535785a81b316bc2c7b49c9bf0c3a59a910e110ef85dd03967c0a4e6d5db5fce8ff2789957d3d6ad40fed0a709804d537473b0d62c68b29034292368482729835c3940b8c89633a99aa52b6262e45afbe69cfa48044734699035ef840195c435a7dce7af89b7c86d89a8b8d93c7bd5e9ea25acf539720a8c14b038ea96ee2934a49e79900b6eef87cf30583799ca5af02cf0a4d6db965a6ba25660219ffff05581d032b17dad838838d75842af45ed40afe9b8b0383f9554d66a45882aca007011924940219400405581d024a62d83c8026bb45e73a3c1e1878ba73608b86202988d537fa13a150040202190481031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03145ed687632b81b2ec03c29cdf4c66c2f6585d2852cfbbab9615786ff007011bffffffffffffffff05581e03ec57318e3b6f451ab2d5ff2c1321921ad513acd130d3f2e0ae6497dbe00c188a477ad85f640dac4905581e03f369b885f3f675590b5588155ddc1962dc6afc501bdf8f4327ed9213e00c0146827c71fd96000219bce803e1ac3269aed1f82c381efee973bf9715d6e8270531e1c98bab1b67b5e6d473ef03ec90679a739a1fa62b29b88e46c7c2bfa42d015946bf74f383a32cb56ce2b1c0039e98d6c35a2177ceb712e7d84615c1c6df80dc2b635856a1227a1818acf8c8b90345fbe31fff441ca99148e841a357806722620e2692bef2b6e6bf80507596622603236714ba2b4e0289e8d859964db53090b855889a6ac6ff6c09e7f44667f3122e03bc6c9b939316c85d11a3445b416850fea00f93a0cf90c03cd3815a15d45d56f2030d7abc7f3568e48efb673a6f23f81ae5bf3b57fe1ac34d064d1ae70a34c7027803ec2ca1cb99d14c09e0c726412a960f249822b07eac027e5f4190007a6ff1ab0303e1c9aee843e1e000519177a8b521a0f137750045455277879fa1c9cbb005c88403ec7d8ad5250baed78ac217918bc82c5b7c659117d9c6b9d28150c5ab24c307df038c0f13eaeca9dae29085999cec7068d3b0601f4770773a899b25b702c20a7143031f40cf1426ad3aa094cdcabd9a6e9f479cb2da2f9743b907abedafa7d7982187033f4b605dee7fe8bc1784a2b5a5b5a35acd4975cd4864055d554db79557058be503b7831a38fc6d327ba9cfc33d34abe1f26e1f580f58d2f49b38e310639ccadb8e030cef62741d4b440033901d2e3ab4d80a51cebb9af3aeb2f54bdeefd15932c7bf0219ffff03e670c04e2f9ebbf9c9ed443894a79640c9952e91b9f3542f4ec45e1225ec163103dbaf643c363398f8c762df751d7c0d432371f1100c14efdbb2c5778fc9ab39b10392866ca6d9f6ab30aed8da1080b90a4a01cb7a17833207d7d0863a67d965446803977088d5f786abb8869c78d7838fc6618c315ba2b2eb84fedbc5b1ae7a6d46e10338bb3fa69bb7e4dee8e1993717440d412a7f8bcb7e88926f100fc5ffc23a9b6b03d0e363090b43b4ed0c332d0a1075106592f1494307d9efeb80a90071ffa6978c03a5a2abf14baff6231437d91861c22ecd030dd0c651046c11968d658e09c4d270033204f9abd949173bde4e220f19613cb00510abb70d623163a3ceb662dfa8d39a039546b5d9582faf87e7e5826c849ac5d1e990cf4c101f6e80f730d4c54975ff1c032e5d890c8b5c0410ec7bef14346bcc915674a22868a10002f3d5c05d8812ab3e0219ffff03b57001a1a3a33d1c3af8abcca936395afe34b3b35607c4d71831bc7122e4bdcb031c6b1067f5ee2153b0465deac1eb89947362adfd567369968c043971a2cdbd9103511e0bf0fb781e9fb9f4a968ecc59c44558ee62b698631bd8265bbd36aac025d0219ffff03ae9bba4bcf18cc78cd885bd0b6c5ac3d5176cd6dea282619b127010f2dc61f8903d8360a7a8b55533424a2855625a49e4b7d45534fdbe30790da49ef117502a44003c35bb05e402c251bb546846f3965e76778331db5b9cec64034dab629006a5adf03fdfb56fa3b955f4cbac7be3022d2dfea06c484df28fa06134cd1f240afa9359c03ae2fbb1e71072f60a75a6ee078ca72d976af40e85681aedefc5b45283a1bb0c403114a40b81b92be21a341053c377202a74f8dfe1232842a11736c3365fb4bbc3c035de0d6d3859645ac3506a421768cafa1752586714fb522d5f0b94dff209b73d90219ffff037affb537c7e51643c0a1036abb35bb7311ee4e78cf79e8ede0ed44290a9b9e3e0331c5116fbb3e64c2b6c35001d7796598f95b6747e05ecfef4e1879b9be6a2be70320309a18b95e7a56e94d7ff0a12f36702df4827edb89237df99f068bf66195c70368b0e5a0583dbad9fcadedde75811acb266c9e4c2ae5d6e2433e34b53c83906503818bd05a4cfbc3339636a19e6cc4d20689af509aadbc369c7b7b5f8a2891c5dc035c85bbb2456724ec37820f4d3807ab1a12e2e6cf906bb0c57816a84594e4dccc030525a9064b317bcad9b9f03f7349e911fe849d544dc6ed78ed0d2cc812bf9d7a03e0332455442db2cdc5dd2b09d444d8543e2b92f108b0beb132a0b4d4e8c40f100373e0a81cffff3a525011657639ad5278f667e4da53921df0e1840a06fbe7386d03a767f9bd777fa9532a7bb7b3af633cc40c052b029b815d1abc64a7c795c8e17703610dc993962a055c08dbee1dd1f24a537c243df46a6043991f6d631c300c7eff03944004f319dba1e594fd31add5322dae4ccd5a4804f354d71d1ed6dca50f6b3103f35d4578f3c7b24d1e24058b02813604c9dd577202d6e4732b6f466603dd9d40036dd868dcfd0b24cbe55f9ed335686dda5c6ba6698c8603198ae7ccc576486f71039e4a69fca96ed1bb02283a763a494fa58900b71f296c6d9b2021311b82f8aca803d6530a58d4c19e96c7cdd5f13f6ff2104176167145e9df73c2aa70ff019d810e0371922092a7e404507cce56e75ab07a8fda996ab338d82a2288d71955977a3c00039d4b54f98861b3c0c3c8c4c814b8b42a00d74569e6c9a67f9eee72022f3f2eae05581d026b32cd7c3f4f5172fed954a7463be737287606deab47ca8ef9c916fb0c0c4703b273f31ed800045904dd6080604052600436106100295760003560e01c80634cfee3261461002e5780634ed6ef1914610043575b600080fd5b61004161003c3660046102e7565b61006e565b005b34801561004f57600080fd5b50610058610178565b604051610065919061039b565b60405180910390f35b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000439e60f02a8900a951603950d8d4527f400c3f116146100e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100dd9061040d565b60405180910390fd5b61017282828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152601b81527f414441505445525f44454c454741544543414c4c5f4641494c45440000000000602082015273ffffffffffffffffffffffffffffffffffffffff8816939250905061019c565b50505050565b7f0000000000000000000000000439e60f02a8900a951603950d8d4527f400c3f181565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101c6919061037f565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b509150915061021786838387610221565b9695505050505050565b6060831561027557825161026e5761023885610287565b61026e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100dd90610444565b508161027f565b61027f83836102a3565b949350505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b8151156102b35781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100dd91906103bc565b6000806000604084860312156102fb578283fd5b833573ffffffffffffffffffffffffffffffffffffffff8116811461031e578384fd5b9250602084013567ffffffffffffffff8082111561033a578384fd5b818601915086601f83011261034d578384fd5b81358181111561035b578485fd5b87602082850101111561036c578485fd5b6020830194508093505050509250925092565b6000825161039181846020870161047b565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b60006020825282518060208401526103db81604085016020870161047b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b60208082526009908201527f464f5242494444454e0000000000000000000000000000000000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60005b8381101561049657818101518382015260200161047e565b83811115610172575050600091015256fea2646970667358221220138681742300832e0f1ca47b71c96176e4c5db393aca45fc4aa154a2eed253ab64736f6c634300080100330605581d023a6ed155031d794bc2c3a123078dffc6b085dcca75b6c6a2a9714c4807011904dd020305581e0369e975c08eafaada3fe145043838ff3c2a2ec835e83fdf64cb5f642f300c02470348b2eabc3921035c545fdad31e0e3ae7cf20c784ce937ee8d36160fc6925813cece2eb5059960d05581e03ded46ee4a133f8c6916b9f9126d264095b6e9d522a8504e4cc4a8624e0040205581e03e2f8301e7f19463744946d074933bb1fefc7b71b053ab5bd726ce376800c02473993e5db096f8e030531da060e24b48111a8bafe3819bd2da35d0063614fbaa3dc9987ad29c4d1d305581e032140bbc9b4611f21defb9d83d2fbd2db2d061f8bc8ed4e17eae19513600c024654701913796805581e039b804d837b75d08b9fc082e7174c81eef0f60569298b9cb46c4e9c1f6008474b119f801aa00005581e0318ecbb1c02a9831ee5e9ee5430486ae9027bd1360cd9f4fd8e932cda600c02460584ffa5499a05581e03ad1e05d49e92d8fc983ac20c5b23f9fa11dd189ab44bbffdf8a6b6d0800c02470eccc39128ac000395c92b4062ab11b16e0bc452d574b34ad87975addb1939ba28d4316c0d07e1f605581e03c23b4165afec431669313289e662b017a3430840c1475aad9598ce57300c01470a926c9faaca000219efae03139ed442685ee5a749061c4859c529508d1dc976c44ef2b7343e0f09dc4b695803d1eab42a9fd438ed8df3c2c28ce7cd552e69e69888dae3bf756780c5fba0e22303e52a3d694136d6990b7396be3f5dedb754420f429779b9b5d5d5881cc04e693603db5ceec1eab8f5f6a1bbc5286c047efcb3468e35f35f04b0aee7e2b08336bb0403fa0839e26964e91583fa56c007d7e90c29de0669aed04d5e1f13c1c38bde19f403ccb364fc1e721373a4e89132acf82928196ec0b7dbf3ef966630bfbe7f7e56dd03a06d43e5e5d3fda8b20e9a9fbf5dcf89275634f775274be208563e6995b52a69031d6a3ea03c87dd96ecfbca314bac58171ddc528968dea6ede572dec77ff4267203ca275cb5fb9631dba7cc10cc8103f2ed2dd460ab28473f16b36d378b0447bada0306c1e5d69ee0b883f6d223413ece2c4c198e444d196f16c3c3cc5c7dfe0b818903506e18a0b2d896f10b2c56014c45d3a4aaa5bce72acd8f0d21dd1445461d06ab03b57184c374fe0fae37a95c20b330a8237eedd205435bd25e3bd5ea940d29a60303ec8ef6da5010e8ef0a722ddb88f156a6e010b5ad6b471a99683b3fc6a7934b140397c10bc7b36090913e147363dca922a66b4d97bdfe7ef889b40e5c67bda606270219ffff035bc497d6095353b11837cb17ce44bcda39e7a101de438ad5490203c0f8249d5903dfca9fb10ee075a4107d5932a2e27c205cf6933f788e2b1ba9e7fb53555478d103881651859ffaf994b6591eeb431a055d7be6800f4d7f04786129c806dd6735ec0379d929aea5541c0c5b7ce1fea83769e546defc73280d2c700787b384c910d442033edb3a8e59b81dfae93781e28c001541b7e1732805a989e815ae7d4441fb51a903198664e4af307389b5e0dbb2c19051b761ed64d723024336967ee7a87a28670a03a9865553dbbce2e73271c400ba7fb5cb335d2f8b33abb08a1cb4c36d8dd4e8510392965135deb87372731f0ad90f695ad5fab936c299e5dfd136551faf98ab73a503d4ad17cb2e265901e9db48b17745a6d3e96642dde55df3cfcd9527f321ea9f140219ffff036a44d778efa9fe80db06bef61fc9f731161b4c0cbd610661c14501e848965fb60376bde548294d84ad59efcf431fa17379eb856e8a7dcecdeffbd23a45c31ba7c1032ae912109cf3bd49ce761287ea9f920c7e9a07f8e0280eb1c198aab5d30bbdb803354cfdd1ebe0075f44470ae888ee87b5f4d98a3ca2734a63d11597d7556b292e03c853eaf5d7c33455d5bca9af72a1fc09ac3e971b3b39bae925c3f1e46589675c0219ffff039d7d552ed3d5c2887a4cf1bae77f49fbb0657c56aea61657d90e0c409358f26003a0365b024a0249845c5c655bd00a82080e0d5ae6266a1a492ab9172fd6ed10fc037c36b4b585089caa5da62ba10c89c6e4fafa67c7bd00bcc65601f46cb40c605e034689e7e8f3744f4fbeed62675e648f9a00ba1559b5b860010613c8f34d5083fe03b10ddcf239a76ae0d679023f50c1ef4068676d7c54491ab5734fb081d8fd413d03f74f7e0233bcf655fe67aef182d8e0e9845eb40af647678389312af1f10f725d03a4135ff7e0b07d72778f013c0adfaa1e070a38c54755b2170a02c96d6b26c05b03d496333cb968226f3ced7331acd4479b69bfcc52e83c5cc789f47cbc9d62fee30352ef885383057508b7c06be5e45052b6ea90d36757d5979a86b869106c64501c0397aba9ab74aed9bcf6a639e248ca22b671b88efa4d6a65d04e5fdf61fc6f466303026b9ce0689407c689a7cbdc537628d887717409e368fdf745b552a7713a13fd03aa6995a2fb35fb31dfe90b6b8adceeadbe9b533f501984adcfc5b8a58bc77412034f1edeb0dcbc854673369c8a38c2227087f2b7be4b7761d04680af98d7e8379403e217421e85bfa58f5b1cec7fe7f304939d1188a72ee36fe821984dba4eceaca303c757c24e565dc8e01c850cd88118286938c816ee623857b0492ff296df63d974037eda969564753a4c5764cd120975e3424efc8367d1516a76ca85ac6061d1b1a1037c773c63eec0a1db96f0e89cec1792df6205b405221a3561ad4941787c6b483d034badfa8b43ff8ab6ee852b4cee13a6e17aaa018e51e8c3d76b08e349cfcd105603c2691b7924862ea0bbc41fc552b239e426d2cc717e0ade7b82e7d1fa891e80b703742d9f5ba7a3d42be45387a7ef54d01874bf2dfe7919cce8da79eb28d72c28a103067b64134ad6aa907290cc672ab3162ad88cb3518bb6c1276e03167f2b787dbb0351c98626073d82f9afb7d7130695c7eef9949a082a4aebe274014dd312ebd15303205b2760b87aa813993ff62ce3bd05a17949125df63ac05d589a7d2a191ecd0803cc73c64326c35a38c1c7930e5c910da35f1a4776e8de8c4ab8c0d9853eb2869b0358db70eff18fb5049fa0be33f4cb0a14b6bcae960a76c72a75c269333bdbdcf903f2d9c9ece3886e307f4472e3acbfcf42300359039a7f30c86eebb9dacfc97bac03af431b998cee71094aeaef84d2a5d3f3cf56953ababe07fa60cea64cfebb8c890337a8d0e1359c7f84c98bffea48cbdb09d0c73fe39f827d62aa84093aaf1859db033921e23578c32b5731aa9d3f7da7c0aeeb662a0cf81ca40cb920d6f5e429ba5a03da61141796676560a9bed934fca96ef43bc0cf026e5c1f9ad227d1a39f21f66803cac2c63564edcce74bfd5b4fc0edc09fd730ae218b2e0cdc343da003adab79840368b6a8847ea79f9672d8ed0d96cf190db0c97fd95267669b41a2b2a493fd07be03e77a6f070d546f959e4102717df77decdcc9a24e66a94804576a40ab930cfe12032a0ff094c31c7f9e9c403f2f117b0431e1f602ddde30eba3a74bdee942f824aa03422d5ff8c8560841651e1e7b4a36ddb86a6c04d545a119e554aa60cbefa1d27b03b01df1cafcdc65e577eda3b7fdd77a5ed53b7c1f351e4cd1b05b573cf61515770393068ac75ee31efdcfb6d8740763243fd02798ed1a97569bc0587d8e71d2314a034288b873e9533397af1aeeecb7b7397a10b9c153896c41235e624949d280394003a9d5a80e96b28b561e855781858c62e3c4f28c20419601c24558862dc1dbb69e0382bb061b8ed0c2547f15cf8dbeaaa63b9ba878f2a66a6f0629fa13609bc24c32032fa39d6751c51022530d0632aa894ef9c97e2b828e774e56dc97537bae83c24b05581d024deb6e79557fca299580f809b2afea7058e5ee445cfd3eae6d0da69907011bffffffffffffffff05581d027445935a1db55f2cd2b1fc60a24fb0f1869e511de7e0d74cb219737f0c198ec74821472b71c534b45002190202031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e030dd809725e3f05f69971c9fad83a6b0a7a6f3510cf3ac659bb3e03e31007011bffffffffffffffff05581e03f2408fdaa978313f3e66e15eefb060c356f2e4da35cfae323b9856a4600c01470587229612b70005581e03ec98f3e7dae847ffbb4ef184bcb6eece27cf1fb4c15b8c55bcdbbfc6e0040105581e03797bdaadfc3ecc52cc81b2288b2a8b295a4ac174d97c3670e9ed799c200c01477c7bf1be7d5d1805581e03af05b31826697a4b28787b9e8929a7c5a208db80f31554a0cb824e1c50040105581e03c61f7f6b1fabbd76f781af419ea6d9e7155ff55b294f92cde7650e1e300c0347090783d6c760b90219e0dc0376f1e6896d5fbab4fd4d0f97cf4b7f8b71b950d62bcd1b224dab79a6aa71355003655c6c23630858bbb464a4e50be09ea25d13b5795e7393d549268ede7855d3820364345f4913d907b5a6ed4581206547d4cb545180faeb3489a1f1466d52e5dd9e0307e3abc16cc786dac1d35d35b6d87be2fd1494b5b5f82f17983bd9b85dc7a2590219ffff03154c619c73d6ade1843dc1e4165d501a45df2204a3699f7f2835f463f85bcd8c03eb0e49c5b8c73e3e7e469a94eca9f553a123338cd33967a1dcd940ec3f164cf7030c06bd6649e427a103fdd85457624a838d8ff125aa8ad7236e729df49d80edd80219ffff03f971ea8d633125e7e6d98bb367accf2886f399d7c15bcebb44ae889a9d33b82403cd8b9d9f797820b4ed1d2aee6e6d669e3e6278fb0eaa408d7d9012f55baa3e6e034c9237d4ae4abaaaedaf4b3f35794949416f590e03339b184c65969d30bd1d6a030a746cb64c066a8a0152e9437cd2a95aae9748027386bb17507c34d25625197003a2ab04a1b0b073ac6c188aa4d9d3e9463e8f3daf599845d4dbbf3d9f88a5b06303ff8b0cf2131f72513eedab7adf28dd1a5667cc5ddc37d325951e1e8de70cafc7034af175c60dce9f4acba8dbbbf0d5d02c4510e69edfaaf15c9e002788d22440e203153fd2155a0c6061bc2afe75fbcbe2de328d14bcf0a583df0b62c5861f3772590219ffff034b8626794960306821a6262a9479f906feab39e19f6a3fe22618282a1de244cd031e574578929d45bf6dc4c4d40dedf840cb8e190e0b26c454b6a17e33e8163027032243d7845331d2c505ddd5fb0d7ba76d7dfbe3880aa2eecdb368f1aa72d0b4e50306260e5e847f0406ecd8c0e52c4da98ac7698602d07302d494b44937f703039303fbafc26bf51bdfeeab9bf746e4e297f7352c1ad3dd59eda60a6810e6681670ad03e10ca05d11e615285087f24a1a387531409c9ca69bed041d60e29296197a67890313cfb31c22f4878f86c04c19bac84b900e94d290d776d72ff93119d990f4ee7d0373b3655903339b8b4fd0012c0918259e95c31f893c1a06f7d8b2eed56a94c3720303c72bc30f0cc419f8fd52904d74419ab2f5e01a89b6a9ba465524ea7b14066c0391c9a46cb330c88f930acf2fa515e0f7ab00fbe21c531d85c18b927ec7c79db003e0f49ec4746c6b8fc5d046c5f25e6d36b16a6f7328952a3e68ef4fc10e10e32303d5d092602a595edb912358015aa5028c8dbbaeb76c08e4e7d4c574bc319f5a3c035fe56b95caa8d035ce69c4f92e49d460cdb42ee345e32c16fc6b3a40ddcc600503fc75d249ad6db001da012972c9fd9945b4477d1e3633ca8b0e253f047a716bee0362a8f9fbe41f13cdf4a192c8f173e5f6af596e4377da6ee04387394395252631035cb833c6cffce69acc5bf83b8708074d594b196c6092d9260789f3cc4fa5fd6e03a22e4ab27ca67321017ccf2f6b07aa61877c769b5ddf6b2e574353a7cafe8be50375bad65d2048b44bddba7cdbd5f880181bd033f0fed8515de4e723dd152b14c603ee1c17f121ce8769303bcc451b8f1bd737213769a260cc778e285176654b3cca03cfccd642db6125c7809f29550ad50ad09a913657d4f305d8d9fa290d6635b71803dcdb3dd303de9603b5f522c2b2ecb2747cd6d814f47527ee393c3cab9ef028ef0399cf6ba6af2d7ad58409910c42d95deeda7f55099edc0a8d6cece3e8a8c59ad8030554e111b336dd7835207ec51f23b360daa8e70a84c4559088a7357816de9efa0320d182e0dc345d2241e72a3f3bec308f3e00e6bc795e089a156f073a28dde53c03590e0d8393de9dd113b6242e7ecad18074d7dd4ebc9c1af087a8825b816b97df0317a6ecfb29d8781d31999ebb48f2fbb56c15c27446bad1236a9ed7f73ad72b74030f142a996c5f31db82260f3b11617bd7e4ab30671f5e55f809bbd6d2e3b189f70307fec5e8d07bf64280308902ddeb8fa9bf2928258bbb57dd2e37191132f6fbd30322310d42a471e048407421d657dd375c79a3158d7e32305fcd3e20c58a057534032c31d8580557dd4aa74f37b32bf87f69c4c6a38323f93a86c9684fa0d6f07c60033908316ec8226676ac7df90ec92d5a63aab1ece54dfd9276705aae8d0a182e4e035d321b3aeb51857f9f26c26df231180f437cd6815f7f83bf1b23d7749f6c5dc2031ca7ef6dc5f2f1d4b4bb91afc9e8295f1cd2cf7da5530281f9906f542ee640f90378ee03763c9ff5256be1e1cc2cc0f213cc52c698fac178f29386a467c0dc8621035db3b032bdae7795b1ec41aad8c0903e7e33db7577a5270cf852a1b47d192fb90371ce72122c0567e4a40903187396a9835c9849bf2abd2c203148d2307efc6f4803dd609b87caecca888a4ae1e0d2651f5570d691603c290d2987787929aea2564d0370f31b2a01dd620554c1253b5f54a063a0e52e97bb53200c0adb2f4f0d6754f2034899aa3a7677fd4ff9212771981d598c75d6eed17ca1f7b048c70f6007a17fe70381b789f06b5c6b4ba7cf6a5dfb0000c35486ab09218e254057431819ed8441ad038adec60974f61bf33dbe07fdc032c6306f1182626ddaa22732cf0f8b503efccf03d4fc2683aed3696e45d198aae8535362c3066c663e67e96e14e29cec61ff060f03b380708098c4ffaf1f8bd2727a15593df0f33ef471881973176613889d8248b005581e03a343578da99610b3cee7b84d575c51ddf5739c4b3897e1dc48c7478c600c05467c4b9ec188b804592ab76003361161000c57611a82565b5f3560e01c34612aa6576354fd4d5081186100955760208060805260066040527f76322e302e30000000000000000000000000000000000000000000000000000060605260408160800181516020830160208301815181525050808252508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f35b634a2ab3be8118610ff75760e43610612aa657610a8c60043510156100ba575f6100c5565b631017df8060043511155b15612aa6576402540be40060243510156100df575f6100ed565b66b1a2bc2ec5000060243511155b15612aa65767016345785d8a000060a435101561010a575f61011f565b6d314dc6448d9338c15b0a0000000060a43511155b15612aa6575f6104e0525f6003905b806105005260c4356105005114610216576105005160028111612aa65760051b60440135670de0b6b3a7640000810281670de0b6b3a7640000820418612aa657905060a4358015612aa657808204905090506104e052662386f26fc100006104e051101561019c575f6101ad565b68056bc75e2d631000006104e05111155b610216576012610520527f556e736166652076616c75657320785b695d00000000000000000000000000006105405261052050610520518061054001601f825f031636823750506308c379a06104e052602061050052601f19601f6105205101166044016104fcfd5b60010181811861012e5750506040366105003760c43561024157600161050052600261052052610271565b600160c4351861025b575f61050052600261052052610271565b600260c43518610271575f610500526001610520525b6004358060ff1c612aa657610540526024358060ff1c612aa6576105605260a4358060ff1c612aa657610580526105005160028111612aa65760051b604401358060ff1c612aa6576105a0526105205160028111612aa65760051b604401358060ff1c612aa6576105c0526105605161056051026105e0526e0722112107720a4902cd0097b425ed61060052601b61056051671bc16d674ec8000002056e1566336316561edb086701c71c71c7016105c0516127106102d96105e0516105a05161058051610580510205026105405180820281191515600160ff1b8414151782158484840514171615612aa657905090500505058082038281135f831218612aa6579050905061062052601b673782dace9d90000061056051016105605102056e1566336316561edb086701c71c71c701612710601b61054051610580516105e051610580516105c0516105a051010380820281191515600160ff1b8414151782158484840514171615612aa65790509050050205058082018281125f831218612aa6579050905061064052601b61056051670de0b6b3a7640000016fb504f333f9de6484597d89b3754abea081127fffffffffffffffffffffffffffffffff4afb0ccc06219b7ba682764c8ab5416082131615612aa6576002810a90500561066052610600516003026106405180820281191515600160ff1b8414151782158484840514171615612aa65790509050610620518015612aa657808205600160ff1b8314155f198314151715612aa65790509050610620518082038281135f831218612aa657905090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8113156104e957806104f6565b805f038114612aa657805f035b9050610680525f6106a05273af298d050e4395d69670b12b7f4100000000000161068051121561064a5772047bf19673df52e37f2410011d10000000000161068051121561063557701d6329f1c35ca4bfabb9f5610000000001610680511215610621576ec097ce7bc90715b34b9f100000000161068051121561060f576d04ee2d6d415b85acef81000000016106805112156105ff576b204fce5e3e250261100000016106805112156105f05769d3c21bcecceda10000016106805112156105e35768056bc75e2d631000016106805112156105d85760016106a05261065d565b60646106a05261065d565b620f42406106a05261065d565b6402540be4006106a05261065d565b655af3107a40006106a05261065d565b670de0b6b3a76400006106a05261065d565b69021e19e0c9bab24000006106a05261065d565b6a52b7d2dcc80cd2e40000006106a05261065d565b6c0c9f2c9cd04674edea400000006106a0525b5f6106c052610620517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81131561069457806106a1565b805f038114612aa657805f035b9050610600517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8113156106d557806106e2565b805f038114612aa657805f035b90501361079f576106005161062051057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811315610720578061072d565b805f038114612aa657805f035b90506106c0526106a051610600516106c0518015612aa657808205600160ff1b8314155f198314151715612aa6579050905005610600526106a0516106c051610620510505610620526106a0516106c051610640510505610640526106a0516106c05161066051050561066052610895565b6106205161060051057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8113156107d657806107e3565b805f038114612aa657805f035b90506106c0526106a0516106c051610600510205610600526106a051610620516106c05180820281191515600160ff1b8414151782158484840514171615612aa6579050905005610620526106a051610640516106c05180820281191515600160ff1b8414151782158484840514171615612aa6579050905005610640526106a051610660516106c05180820281191515600160ff1b8414151782158484840514171615612aa6579050905005610660525b610600516003026106405180820281191515600160ff1b8414151782158484840514171615612aa657905090506106e052610620516106e05105610620518082038281135f831218612aa6579050905061070052610620516106e05160038102816003820518612aa6579050056106205160011b8082038281135f831218612aa657905090506106205161062051610600516fb504f333f9de6484597d89b3754abea081127fffffffffffffffffffffffffffffffff4afb0ccc06219b7ba682764c8ab5416082131615612aa6576002810a9050601b810281601b820518612aa6579050056106605180820281191515600160ff1b8414151782158484840514171615612aa65790509050058082038281135f831218612aa6579050905061072052610720516fb504f333f9de6484597d89b3754abea081127fffffffffffffffffffffffffffffffff4afb0ccc06219b7ba682764c8ab5416082131615612aa6576002810a905061062051610700516fb504f333f9de6484597d89b3754abea081127fffffffffffffffffffffffffffffffff4afb0ccc06219b7ba682764c8ab5416082131615612aa6576002810a90508060021b816004820518612aa6579050056107005180820281191515600160ff1b8414151782158484840514171615612aa657905090508082018281125f831218612aa65790509050610740525f610760526001610740511215610adf5760406004610120376060604461016037604060a46101c037610ac8610780611b13565b610780516107a0525f6107c05260406107a0610ff5565b610740515f8112612aa6578060b5710100000000000000000000000000000000008210610b13578160801c91508060401b90505b69010000000000000000008210610b31578160401c91508060201b90505b650100000000008210610b4b578160201c91508060101b90505b63010000008210610b63578160101c91508060081b90505b620100008201810260121c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c905080830480828118828410021890509050905090508060ff1c612aa657610760525f610780525f610620511215610c6657610620517f80000000000000000000000000000000000000000000000000000000000000008114612aa6575f035f8112612aa65760c052610c286107a06124aa565b6107a0518060ff1c612aa6577f80000000000000000000000000000000000000000000000000000000000000008114612aa6575f0361078052610c90565b610620515f8112612aa65760c052610c7f6107a06124aa565b6107a0518060ff1c612aa657610780525b5f6107a0526001610720511215610d3a5761072051610760518082038281135f831218612aa657905090507f80000000000000000000000000000000000000000000000000000000000000008114612aa6575f035f8112612aa65760011c60c052610cfc6107c06124aa565b6107c0518060ff1c612aa6577f80000000000000000000000000000000000000000000000000000000000000008114612aa6575f036107a052610d7d565b61072051610760518082018281125f831218612aa657905090505f8112612aa65760011c60c052610d6c6107c06124aa565b6107c0518060ff1c612aa6576107a0525b670de0b6b3a7640000670de0b6b3a7640000610780516107805180820281191515600160ff1b8414151782158484840514171615612aa65790509050056107a05180820281191515600160ff1b8414151782158484840514171615612aa65790509050056107c052600361062051610620516107005180820281191515600160ff1b8414151782158484840514171615612aa657905090506107c0518015612aa657808205600160ff1b8314155f198314151715612aa657905090508082018281125f831218612aa657905090506107c0518082038281135f831218612aa65790509050056107e052610600516105a0516105c051601b610580516105805180820281191515600160ff1b8414151782158484840514171615612aa6579050905005056105805180820281191515600160ff1b8414151782158484840514171615612aa65790509050056107e05180820281191515600160ff1b8414151782158484840514171615612aa657905090500561080052610800515f8112612aa65761082052610600516107e051670de0b6b3a7640000810281670de0b6b3a7640000820518612aa6579050055f8112612aa6576108405260a43561082051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050046104e052662386f26fc0ffff6104e0511015610f75575f610f86565b68056bc75e2d631000006104e05111155b610fef576012610860527f556e736166652076616c756520666f72207900000000000000000000000000006108805261086050610860518061088001601f825f031636823750506308c379a061082052602061084052601f19601f61086051011660440161083cfd5b60406108205bf35b63c7fab70881186110145760a43610612aa6575f6102005261102f565b637b12e009811861167c5760c43610612aa65760a435610200525b60606044604037611041610280611a86565b610280805161022052602081015161024052604081015161026052507901f20fe5212d2319f8671d495c8ba43b5b4b98d506d374fd487a6102205111612aa6576102205115612aa6576102605161024051610220510101610280525f6102a052610200516110dc5761022051610160526102405161018052610260516101a0526110cc6102c06126b3565b6102c0516003026102a052611286565b6ec097ce7bc90715b34b9f10000000016102805110156111fd5769d3c21bcecceda10000016102805110156111795761020051670de0b6b3a76400006102205161024051808202811583838304141715612aa657905090500461026051808202811583838304141715612aa6579050905004601b810281601b820418612aa657905060c05261116c6102c06124aa565b6102c0516102a052611286565b6102005169d3c21bcecceda10000006102205161024051808202811583838304141715612aa657905090500461026051808202811583838304141715612aa6579050905004601b810281601b820418612aa6579050620f4240810281620f4240820418612aa657905060c0526111f06102c06124aa565b6102c0516102a052611286565b610200516ec097ce7bc90715b34b9f10000000006102205161024051808202811583838304141715612aa657905090500461026051808202811583838304141715612aa6579050905004601b810281601b820418612aa657905064e8d4a5100081028164e8d4a51000820418612aa657905060c05261127d6102c06124aa565b6102c0516102a0525b610140366102c0375f60ff905b80610400526102a0516103a0526102a0516003610260516102a0516003610240516102a051600361022051670de0b6b3a76400000202040202040202046102c052670de0b6b3a7640000602435016102e0526102c0516102e051116113075760016102e0516102c05103016102e052611318565b60016102c0516102e05103016102e0525b6004356127106102e0516024356102e0516024356102a051670de0b6b3a764000002040204020204610300526102e0516102c0516753444835ec580000020461032052670de0b6b3a76400006102a0516103205102046102c0516003610300510204670de0b6b3a7640000610320516102805102046102805101010361034052610340516102a051610280516103405101808202811583838304141715612aa657905090500461036052610340516102a0516102a051808202811583838304141715612aa657905090500461038052670de0b6b3a763ffff6102c051111561145457610380516102c051670de0b6b3a76400006102c05103670de0b6b3a76400006102a051610340516103005104808202811583838304141715612aa65790509050040204808203828111612aa65790509050610380526114aa565b610380516102c0516102c051670de0b6b3a764000003670de0b6b3a76400006102a051610340516103005104808202811583838304141715612aa65790509050040204808201828110612aa65790509050610380525b6103805161036051116114cc5761036051610380510360011c6102a0526114da565b6103805161036051036102a0525b6103a0516102a051116114f9576102a0516103a051036103c052611507565b6103a0516102a051036103c0525b6102a05180662386f26fc10000811882662386f26fc100001102189050655af3107a40006103c051021015611609575f6003905b8060051b6102200151610420526102a051670de0b6b3a76400006104205102046103e052662386f26fc0ffff6103e0511015611577575f611588565b68056bc75e2d631000006103e05111155b6115f1576012610440527f556e736166652076616c75657320785b695d00000000000000000000000000006104605261044050610440518061046001601f825f031636823750506308c379a061040052602061042052601f19601f61044051011660440161041cfd5b60010181811861153b575050505060206102a061167a565b6001018181186112935750506010610400527f446964206e6f7420636f6e7665726765000000000000000000000000000000006104205261040050610400518061042001601f825f031636823750506308c379a06103c05260206103e052601f19601f6104005101166044016103dcfd5bf35b63754b76b381186119cb5760c43610612aa65767016345785d8a000060643510156116a7575f6116bc565b6d314dc6448d9338c15b0a0000000060643511155b15612aa657606435606435606435600435601b810281601b820418612aa6579050602435808202811583838304141715612aa6579050905004604435808202811583838304141715612aa65790509050046ec097ce7bc90715b34b9f10000000008102816ec097ce7bc90715b34b9f1000000000820418612aa6579050046040526ec097ce7bc90715b34b9f10000000006ec097ce7bc90715b34b9f10000000006040518060011b818160011c18612aa6579050604051808202811583838304141715612aa6579050905004604051808202811583838304141715612aa65790509050046002670de0b6b3a764000060a435010a808201828110612aa65790509050670de0b6b3a76400006ec097ce7bc90715b34b9f100000000060026040510a046729a2241af62c000060a43560011b01808202811583838304141715612aa6579050905004808203828111612aa65790509050606052612710600260a4350a60843502046080526060516ec097ce7bc90715b34b9f1000000000606435608051600435808202811583838304141715612aa6579050905004604051808202811583838304141715612aa6579050905004808201828110612aa6579050905060a05260a0516004356060516ec097ce7bc90715b34b9f1000000000606435608051602435808202811583838304141715612aa6579050905004604051808202811583838304141715612aa6579050905004808201828110612aa65790509050808202811583838304141715612aa657905090506024358015612aa65780820490509050670de0b6b3a7640000810281670de0b6b3a7640000820418612aa65790500460c05260a0516004356060516ec097ce7bc90715b34b9f1000000000606435608051604435808202811583838304141715612aa6579050905004604051808202811583838304141715612aa6579050905004808201828110612aa65790509050808202811583838304141715612aa657905090506044358015612aa65780820490509050670de0b6b3a7640000810281670de0b6b3a7640000820418612aa65790500460e052604060c0f35b63f42c56c281186119f65760243610612aa657602060043560c0526119f16101606124aa565b610160f35b63bad1dc268118611a235760643610612aa65760206060600461016037611a1e6102006126b3565b610200f35b63fa18042d8118611a555760843610612aa65760206060600460403760643560a052611a5061010061272c565b610100f35b6381d18d878118611a805760243610612aa6576020600435604052611a7b610120612854565b610120f35b505b5f5ffd5b60405160a05260605160c05260805160e05260a0516101005260c05160a0511015611ab95760c05160a0526101005160c0525b60e05160a0511015611ada5760a0516101005260e05160a0526101005160e0525b60e05160c0511015611afb5760c0516101005260e05160c0526101005160e0525b60a051815260c051602082015260e051604082015250565b5f610200525f6003905b80610220526101e0516102205114611c08576102205160028111612aa65760051b6101600151670de0b6b3a7640000810281670de0b6b3a7640000820418612aa65790506101c0518015612aa6578082049050905061020052662386f26fc10000610200511015611b8e575f611b9f565b68056bc75e2d631000006102005111155b611c08576012610240527f556e736166652076616c75657320785b695d00000000000000000000000000006102605261024050610240518061026001601f825f031636823750506308c379a061020052602061022052601f19601f61024051011660440161021cfd5b600101818118611b1d5750506101c05160038104905061022052670de0b6b3a7640000610240525f610260526101605161028052610180516102a0526101a0516102c0525f6101e05160028111612aa65760051b6102800152610280516040526102a0516060526102c051608052611c816102e0611a86565b6102e0805161034052602081015161036052604081015161038052506103405161028052610360516102a052610380516102c05261028051655af3107a4000810490506101c051655af3107a40008104905080828118828411021890509050606481811860648311021890506102e052600260028101905b8061030052610300518060030360038111612aa657905060028111612aa65760051b610280015161032052610220516101c051808202811583838304141715612aa657905090506103205160038102816003820418612aa65790508015612aa65780820490509050610220526102605161032051808201828110612aa6579050905061026052600101818118611cf95750505f6002905b8061030052610240516103005160028111612aa65760051b6102800151808202811583838304141715612aa6579050905060038102816003820418612aa65790506101c0518015612aa6578082049050905061024052600101818118611d9057505061018036610300375f60ff905b806104805261022051610320526102405161022051808202811583838304141715612aa6579050905060038102816003820418612aa65790506101c0518015612aa65780820490509050610340526102605161022051808201828110612aa657905090506103605261014051670de0b6b3a76400008101818110612aa657905061038052610340516103805111611ebc576103405161038051808203828111612aa6579050905060018101818110612aa657905061038052611ee4565b6103805161034051808203828111612aa6579050905060018101818110612aa6579050610380525b6101c051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050610140518015612aa6578082049050905061038051808202811583838304141715612aa65790509050610140518015612aa6578082049050905061038051808202811583838304141715612aa65790509050612710810281612710820418612aa6579050610120518015612aa657808204905090506103a05261034051671bc16d674ec80000810281671bc16d674ec80000820418612aa6579050610380518015612aa6578082049050905080670de0b6b3a764000001670de0b6b3a76400008110612aa65790506103c05261022051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050610360516103c051808202811583838304141715612aa65790509050808201828110612aa657905090506103a051808201828110612aa657905090506103e0526101c0516103c051808202811583838304141715612aa6579050905061040052610400516103e05110612080576103e05161040051808203828111612aa657905090506103e052612093565b610320518060011c90506102205261231b565b6103e051610220518015612aa65780820490509050610420526103a051610420518015612aa65780820490509050610440526103e0516101c051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050808201828110612aa65790509050610420518015612aa6578082049050905061044051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050610340518015612aa65780820490509050808201828110612aa65790509050610460526104405161036051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa6579050610420518015612aa65780820490509050808201828110612aa65790509050610440526104405161046051106121c4576104605161044051808203828111612aa65790509050610220526121d3565b610320518060011c9050610220525b6103205161022051116121ff576103205161022051808203828111612aa657905090506103005261221a565b6102205161032051808203828111612aa65790509050610300525b6102e05161022051655af3107a4000810490508082811882841102189050905061030051101561231b5761022051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa65790506101c0518015612aa6578082049050905061020052662386f26fc10000610200511015612293575f6122a4565b68056bc75e2d631000006102005111155b61230d5760126104a0527f556e736166652076616c756520666f72207900000000000000000000000000006104c0526104a0506104a051806104c001601f825f031636823750506308c379a061046052602061048052601f19601f6104a051011660440161047cfd5b61022051835250505061238c565b600101818118611dff5750506010610480527f446964206e6f7420636f6e7665726765000000000000000000000000000000006104a0526104805061048051806104a001601f825f031636823750506308c379a061044052602061046052601f19601f61048051011660440161045cfd5b565b6040516080525f60a05260405160801c156123b25760405160801c608052608060a0525b60805160401c156123d05760805160401c608052604060a0510160a0525b60805160201c156123ee5760805160201c608052602060a0510160a0525b60805160101c1561240c5760805160101c608052601060a0510160a0525b60805160081c1561242a5760805160081c608052600860a0510160a0525b60805160041c156124485760805160041c608052600460a0510160a0525b60805160021c156124665760805160021c608052600260a0510160a0525b60805160011c1561247b57600160a0510160a0525b606051612488575f612493565b604051600160a0511b105b156124a257600160a0510160a0525b60a051815250565b5f60e0527812725dd1d243aba0e75fe645cc4873f9e64d542c5db234000060c051101561251e57710154484932d2e725a5bbca17a3aba173d3d560c0511015612509576ec097ce7bc90715b34b9f100000000060c0510260e052612525565b670de0b6b3a764000060c0510260e052612525565b60c05160e0525b60e0516040525f60605261253a61012061238e565b610120518060ff1c612aa65761010052610100515f8112612aa65760038106905061012052610120516103e80a610120516104ec0a6003610100515f8112612aa6570460020a020461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b010461014052600361014051610140510260e051046101405160011b0104610140527812725dd1d243aba0e75fe645cc4873f9e64d542c5db234000060c051101561269a57710154484932d2e725a5bbca17a3aba173d3d560c051106126aa57620f42406101405102610140526126aa565b64e8d4a510006101405102610140525b61014051815250565b670de0b6b3a7640000670de0b6b3a76400006101605161018051808202811583838304141715612aa65790509050046101a051808202811583838304141715612aa65790509050046101c0526101c051612710575f81525061272a565b6101c05160c0526127226101e06124aa565b6101e0518152505b565b604051606051808201828110612aa65790509050608051808201828110612aa6579050905060c0526040516729a2241af62c00008102816729a2241af62c0000820418612aa657905060c0518015612aa6578082049050905060e05260c05160e05160038102816003820418612aa6579050606051808202811583838304141715612aa657905090500460e05260c05160e05160038102816003820418612aa6579050608051808202811583838304141715612aa657905090500460e05260a0511561284c5760a051670de0b6b3a7640000810281670de0b6b3a7640000820418612aa657905060a051670de0b6b3a76400008101818110612aa657905060e051808203828111612aa657905090508015612aa6578082049050905060e0525b60e051815250565b6040516060527ffffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c16040511361288c575f815250612aa4565b680755bf798b4a1bf1e460405113156128fb5760106080527f7761645f657870206f766572666c6f770000000000000000000000000000000060a0526080506080518060a001601f825f031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b6503782dace9d9604051604e1b056060526b8000000000000000000000006bb17217f7d1cf79abc9e3b39860605160601b050160601d6080526bb17217f7d1cf79abc9e3b39860805102606051036060526d02d16720577bd19bf614176fe9ea6060516c10fe68e7fd37d0007b713f7650606051010260601d0160a05279d835ebba824c98fb31b83b2ca45c0000000000000000000000006060516e0587f503bb6ea29d25fcb74019645060a0516d04a4fd9f2a8b96949216d2255a6c60605160a05101030260601d01020160c0526d0277594991cfc85f6e2461837cd96060516c240c330e9fb2d9cbaf0fd5aafc606051030260601d0160e0526d1a521255e34f6a5061b25ef1c9c460605160e0510260601d0360e0526db1bbb201f443cf962f1a1d3db4a560605160e0510260601d0160e0526e02c72388d9f74f51a9331fed693f1560605160e0510260601d0360e0526e05180bb14799ab47a8a8cb2a527d5760605160e0510260601d0160e05260e05160c051056101005274029d9dc38563c32e5c2f6dc192ee70ef65f9978af3610100510260805160c3035f8112612aa6571c8152505b565b5f80fda165767970657283000309000b0605581e03cf839feeebed81e31a936c7619b42b1731aa5523618ff7c1595c3c15b00701192ab705581e0307142694f225d50008ebc6e640eb0710c4c949d0eeb80f90e8117cedb00c03463212bb73c6980364f705046f22dcd5e4358f08b2badce4c1ee7e8a7f9ad4115d4d0689e57b4d5805581e0314fee9495afaa351cd699865eb30f20f4418158fb14387773b4586e0b0040303a09503d8e4ff3c88ff3b5b22205283bc3bc55259734c878b6fb14f8ab89e31b303ca9696461b7ef23cf4056da6e8f40d82ded18b0e1cf74c40e5aa1a82af833c85039670ab07dbfc0b475fb26bd98b8b9a87fbffd92358f4b5c6b4c31d40cc2f6d9605581e034de88cbdab51825a3360005838ad04cba770e91a40fbaff6602694bf200c02472b5b73ef1e08f80219b4da0219ffff03f4e57149046f4f2158e54210e5f085bdf2aa02b6a569b1524971be76d82dff480219ffff03bcd50deb24d203c4b64241c9eaa2103506546b5fc384d0be621d201973c2902b03a559bdc11997141425dfafa3a373b9b9e1f74b495ca9799178ce9fd08b6a0da60398214de93753375076d54bba906086e7586572979195a7a8b679eb1461de1ad403aa809e037df458d75d8e34f6130aa5abf716bb178fa2e1d9281888bcbdcf18fb0219ffff0394a61ecf89e5f6c6fc0d20331d1c671595992e92d00ae42619aef7b6f02ba76a0219ffff035f661982da9b5b713b4e0604bae805acdb0bbd595a8b2e91d8709e0bc738e8b103bd7c15016c1a5c2f347df23bac626eeae96a5273059281deab96f6aa6ddb497903ae25ad4f1ac045eaf851d0ea33051ee5ba2b7e73f2f8c15b14a8e5e9a9a224bf03189804e30debb82020bc8d4898962784356306cfd5ad4013add8dd3a30e4a613034c793fcca039448995fa284383cd1c36b5b8e0e6a678ab504db33e071d7db87903d70d167a92e016b3057a08eceacc6401b14ba1de0f23d2cfb514f3d8af2d5eed038713791dab1abc2f6934b2267ca92b94888694b1241058bd9a4bb41d9e443a40036a199e5cfbcd7372b39a80a3e145162fd3e8c6abd97ef0fd52d68301150c1e7a0392636c18dec374859d289cc859da2adf62b0aa70f500d06bf7f095799106ef67038547a1e9b2f30a70d90e7734e53bd56678b44d1466484360afff7606c2d3017703064ff6518cae4cb49c006ce5058841fa128ecade658cfbe8a969cc1e46229b920337601587dc70691054d58037ebb85fe09050e1d723d37ea09bc8ff8be871e10b0355727624a63aa882c17b9be5581e3ba90c6a2d2471a937c6eef6cded3d7c50ef03a0fe5f7a923d265d2d34d2c9de2fbf72f1dfd753a80423602b9d184a39b501f4032e4ae8244ccc9e7faf892ba3a1cc8edb38a6bdacaead030650b17ea79dd97f29037997d563feaf53e8f5bf69e2bcdbecb41e498480ca9eccb2cb74a21926925d5203c93412943fa56d7411948fe9bec611a4274890191dd4596bbe8918887e68ef98039a282371d0d7930f80672ea9194853bdeaa5c0a231ac2647b19d1723c1ae9edb0316484ba8be22b20b448f1d6d7887ee7ab33c561ee01374511f03830da30f4eab03acb0765ae11c4bbddf85a005298283d74a95c3ea8bebbeab22129020cb60aaa50365128f405666a9117dc4165a4cc2e9e0979bc9361202a09aee48300cc0ad96230307adaade2aec0f30f3d3bdf7ccbec1f38498eb18e38d33bdc7a665896b62b0f303fccfa49e25b7d5fc5acbbd4b29269df274f41c5fba99a3c64fe8ffe7a1a8b8ea03bb91a6bdbd7ed4f705582d24e141b6ef2a5fa847471fb740e9428e39c706871403b873d4acf680f30add120360b6521cf4c92f4b304f2e5856f499fb7e2571448d03a8cfd27a1e901cfe15ea167357c3b05a2a56c99df28774dd2b9dfc7a111eb06003f81f35fb378b003b8ec5d7eb8cbea6b8d36e4c80c34ef2431d609b073a31af88030b554430df6373119406bbbe11b693f7a9830f136d0759ce16fda7251441bc16032da5135d442d5260c4d981163af66f0d1b0df7bc5bf26cba77ed44f2af53ad95038b31a20fea0b83a352500dac2419caafd015497dbc22b36cf0c8af3cde71da24031fec64a1c207fcdd72448c65a76d9aeb07ade3fc6c6e98a531856b9e6b72ebd803738b344d8db0dc720f4f421da5b2d14d7c9c23a2c3526e639418c7de37e15e6d038e8dc20fb23b65ac1713653c54f541d2b2ab8d194ce65a59cbfbd5b0fc0baa7b0360128cfd0346ff64ff878a64382dc14835497fb173051365f9153356fbcb052403b4259fff7d2f4bc2b98b9a8ee3cace210670a28d67da64df028985bf9b39e48405581e03698a1bae3921b9b7750cf5ab1588593af9935e1ab424266b93cc8dbe90040b05581e03a2aced65538c743aaf27c6ea7078c200ed608cda1a4179345fb8e485e00401038bb2bce310b84f5fe32d6446770d53be7a8a7ac9b52ea502c308f5bc09edaaa505581e0366d9de61f6b8401731df9697e61f764bc687c9189fe2433af457b49c3004010399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803715f43a5657d75164d5ef6e8cc4c6905e315e19408d54c8db544b06365a2a0c105581e035d78eb6be040f83ce9161b808d1d730a79aeb629be9cf8ef5b5ff8299007011bffffffffffffffff05581e037405771dae1fe15f567961016798929ba85b82736c913210c3ba9421e00c014701862248a7af3d05581e038469141eda3e585329e02eebaf422221a42a0bf2e4f4f3ab511b8811d00c024701311ff7d0f74805581e039137c4cf7d9f64bd53a8fbd26b317c9e458c3a323e4e715bb457ee0ca00c03410105581e0372d367a4d28cfc734a141880eab4cb8a6386617a9b5eff8c8752105920084708abc81e1056d605581d0219b4a7f30e850544a2dc448cfa131407f08cd12897b4e7e39d8aa4830c014709a1c579d27f5305581d0229cdb08ef756629391bd11ebf08f5aa52ff86f50f9de19bc79c0f2d70c0146abc3a4f98bbc0219028005581e03b0271fa2e6a48a9232d840d14cc7c9b584869c05a32a936d0b5c395ef00c0947f961a7cfb1987b0219b37e03584b02b0d4454b822817d173067654f475786992a5e60ca1fcd1c18b400d545503173abc2885618d5d588f2ee5ea2182cc04fe59afeb270d81942f3223758c80ee030390e2f6207aa3736f98918d039d4295e6800432d7bdf7a321448cae277420d903434c4b8510212fe53317a6920f9da77002201b3e6617b5ff17fc6a06987647e10219ffff0219ffff03f2161eaa2938982e30d1b1be2884cdeb2b0450f98e6f1aea9848945eebdf848d031efad6dcf7b51d67ff9b08321f360ee3260e19fa05db806792de540223922bb00355e90c6b4a6f1526bf4c224dcdbd6eb33720be9df84b95f96a01248d3b62dd2803b86749ccbbd3ff18fa7f7f62414e357803376ebbafc23af3a0958f3a658f75b4039ef9ab666eb231addc05471ad9228d8cddbb74d21798e66178fc7a57e24d1bde0335b3c991ebf28f30e714bee7cdba826c5dcee8a9002e9be435563ad03c9e6a6903a5cbfae20667a30fd77222b465c5d18d288f5b36f8cdbfdb9046860f734c362703f29e4f1273acacbbce19dbc0f94d9684a92a0f522d683121bfc3a0aefe05d1e60350ec91753cb145a44c6b8008b6b0ced997deaea09d3208d50d2e7837e2c9f8b60345a015ac000ea21dd10abd3bfd20ad015f1500c77ba9eb3e68cf4faac9be5d5803fe64b18879b061fda0aea87dd05b438ce0b05763fc08e55ef754c7ae45f88e78039eaabc9c98f96ded3c20c19209e8d68ea436b8a3c65205dc45124688bca6117103c5b2057bbcac02d8a02e2cde0dc41cd0138030bbadb2a0cc78c120948f252013031cf2a5e52530f61d79d68343aed01aec5576d3f16f4c8b0506eb5c332b515d07035e2aacf2459f70a9d7be1768b66db60515d8206b93320805022ab551456d76210219ffff037c2b1a622a3465e17de8d9c589ae22dbe5fdaf07dbd0d0fc1ab4ba94efbff1f0031a36cac06aabc9eb698ba40bc3e967dc72e01b240e13891943f1a57ad0430816033ae70aa1ad10e87d9fbd19a242222ebd446b97180a25e26960a83b667d417f3903f179719d41c08ea3ffb1683ae062d4b23782f1b89b60b0d9ca101e3100fba46c039c7d414e581e2cb82a9f9feb638042dfbe6d245815afb87c74419dd3cfb0be74039cd250afb681e84ffd81a86fd07dab3d1a33d59b2b51c515ede9663d2f8557c903b97e55e41bbf4b88296663351c2693fc0c33e2c956d2063e59c0e770d9c6a9cf03a2cfae134e4ab6c70997b33526d5cc04471c470e9b89651ccf38067cca28367e03c6e31fea3c4713b72ab0577b838469b8e7acaad1d5a29ea18be70f28b1ecf41703e077b97b8b36a2b1ce17b14f117ee20588d3486e1805bc35ec9d035ad7b5ba7603c4659e223da3818f1f2ab77247be75a45509196527e044eadc7f72ad4da21e4503ae69e011bcc2907c0efaab2f02e108eb4c45f84e063bb3e1c12b1ae992f1061e0316c9aca3afde3d3ff5d5e192d0ed2aa6d0acec2bbaaffd673ceb8c9fddc693bb037cdd8a38d9456eccb5638cf9b6cbe0149baae8367a7f093b78d5e9410aaaf0ef03fa731f8aa04d15ef88e5bc2067303ee05059c511e67d05ac33e86f2a779bb8af03abc9a97b45e1b55668f8d65aca17641750d113f9e596a10973f12b941171b97103141388dcc2b21a6d65c46b380d6e8ef4d559ca6515d55455725218829f14440503307785bbf98ffe928c3773c0c5b21fdaa53cb0526a926caee5f2304208ca83260329c469ad61f0223561ea4777cc910e985fcc262305c4a85a14f0083b9910c73103096933b331aa3868fdd4f94685f83d7fa6fa793ae5cfae1d15ef31a446fd5023036d0dad20fedf3656a805d0a2dc82fc9307533b785d98759adf3136ac5cc08b2e03a1f751d44c76994113af1351f582211dc9518a84bb38e60c79b2ba69b3da1c4c05581e03d8e0c8338f141881fefcced429b4d30673bca8b4907c4593e124834a70040a031c2edb66afc46f3d7732d88b3286980bf426164634944c81db0b284382654a9a0303c6bc5ac57042e51dbb6cf48b81a7bc5df60c757bee01651a104b5873bc0be505581e03001f5accf4bd1b3270b2319ad34e72bd9afd61b3477771af581a168de007011bffffffffffffffff03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d039d00efa49d1fd6c94531531e9d648357ed2112bd16b70a1fe17b35123cc25b4205581e0348fa807d197989a1cc49ce74a37963b2b42e2a6538b2dff97958c604d007011bffffffffffffffff03458b8743f48a9b7fdebf2a37d145a7fd08cecadf62ec28f4c94689b56a5721f105581e0393a169f1cadf8ef72a82e7b5ddc2f2536900c425d86d101981c39bb2800c034707e77f95f9980003f6d4d8f06ac58e2332e0fc7372ca4d171648606b840dd14c0f93382f14104c9705581e03856e56a9563b332bb59cdd6a4354e02935db37e05ae2f4410fa2aefbd004010360989063434f986b7492e68ab93d85331084e8760101a9b449e21e531307092f0458aa608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220f8a584f5571c1942ce287f04e503e7a62bf0c9046c8825d7d0dba2e353309c8e64736f6c634300081800330332875f4f0bca52bcaed3052a8d022bc0123579f4504202d59ad6c067ee60df9f037dcfd911ea82ca95d63560bbef6ffe391696ebc78ca721c54f3b2a944c235ae703fd5fd365b0bd44d5d25ae374a8c851e9bd6debf34636fe9b0acadeb85a03ec24038463a6339f7940d0737309ff64d97ab856fb4e888659b67aca1292ee52a05b1003b03d57ae980c39198ab1811dca6e5c78b744dd11b8c41792d1c8b64a5e0d218f03c7cf78d7608262d81caadf8df5cb189c5dae10101f333747a50b8f291cc6d227039b6590e10d369c27410f46e2af8f1f64bc0f47674f125dabbdb62d7dff74e163005820022b43d936447874290af412a0c38c9ad39b38e6fa4e1021d3a5168f6ba2896248118954d702782c18034dcc7a2495aae767fe5c9e01b4e286b4f8996dee921c209b666feb1320ab3c14005820020d4ccab7cca83dfc2e451359858a7f45db5867421806ed666d6c246b06f4e34a03b974c18fdc26dbbfc003051243cda7b8acc8c10bc5a71dd96549a304333e882388955eecb494ff4df45f031f7645a8bc0646af1fea61a397d22b976bf20c3ad9e5bd38e6a028e0be1e5b32036534f87e49915c2728c08179adfb15ba2013bce4d26153cc9b1811fe68247d9a03885968a61d0996a0c3a088175c54ab93a3426583156ad88771195395d9e5927403821e6f7122920dd2e34c0f4ed33be14320c25ac66915de5745d53de8bf82e48f033d701f6b3ef239b5401465c9ea95b9b42619338abf1625be32c85c8a9594c545005820029c8ec029f3d286191fba8a0b468b5f7f4219450425096945ce033304c60cde483e2caba44fd160fb03f2bfd40d50ea06dcc50185f6838dee4ab9af563ee3d3815dd75ebb3adcb81abf005820029b7e44854c398945af48212e106d5288b9773f6c5c90c7e640cde6be36afc85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0391f55eb7666f0de3348163095d3e95b59739dd9e1bdba7fb8d1d278fc76b26940219ffff0378058ced078945e338b1f06afd07d7a0ccaf36f1507464f2903a231282ae1957033aa50d1288545cde399b941643632e0cc6421b3702b369392e71fead92fd0889036feb05eebfd7bc7106541d385ad001b752e2f1db78ee91cf8da8c73d19271e7603896be5fa22beb85e87aed4fdde689f392046efd65962353af07503a196624282036547fdd1c2fcb95424ce11f1e671dbb979e61fdd1f41bfde581b1accee42d08203f6c1c9626d5d01eb237147d5ee4ccee3f16bc45abd5ae420065fd37332b7069d0365881d85d592702251b9d98931f081f5947a1ec243ff5c2179d535f9737c64420058200365c4a875daa83014a228daca22559441ab17659312ae251d79a9e68808eb40483de51a5eb23e00000058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054cfe803378d79d1180ebf030455040ea6513869df021908100058200209ed47624c9d897f04a9fb8efa1b23842db712b8636b691895002783c5eeb04208950352c0d64b8f62a235de180e83bad224ed134fb28e9c94450e8a707af9000d9b59030e31ad1378f817e6d7979dc0e4e27a7c5488634db2dc0d21e7ca183a904bb0a400582003a1584bfe8704a9894654cd99553a4f760849c05a5aa53408ba29ca2cfa698048105120c3172dd00000581f03a5b0209f396d714fe4de4848b2c3f9efaa2046b35f6bee0378c0358624f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f037e2660bc019a3e7a7c02a37210f329f1c81bbd3322ba6d17208f2655e7804b077419bc7d4069c23800000219800100581f02dd685ef4cafe365f488f60e1718a3947799ec88f3e3377696c898f0a29f5490d8d726b7177a80000020c021881033b264619755a02ccea83538a195aa56355a2794d4d122d4923963940c1a4676103bbecc9c2f46150b892b6fce59a2cf354ccdaa2c980745a97bc8fa003fa493f73031938fadcbad4e0694dd521e9abc0c216c6f3aacb299ebefe1765612bf93a62dc00582002146bdacf6240ccf73a1cb392d5d4bdc5eb8197638c5e26d47f4fa5bf78472e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ceabfce0c4abf940cd552d1d07e17a5a51605b13cb51732b584d5b3c3c363dcb03a559bfb4850da73cdec921c3bdc08f8e6d4e66db1957df49d9a96b93f2b447c90219ffff033dd1ca25fa0cb3502a0e4c5b79f81a6e1ae11cd11e91df9030138ee3d0b89e4e0314c1156196d18fc72a08ecce4ec1ea9a25ecc87b6de16accee99a61bb6ed92050307e1ca0018a2b3a9aadff700a195c66e330f25741112ef05960f8f2041e83a6e03e579dccf816a2f5decf3bcd5c8adbfd49729a489451d67b2a32c61e113ba6b1e03a00b2b1b7218717835238a7fa5042f5abe046c62a742aed9e46eb5525f8cc10d03e4a93cde6bfae1114c3f7753c5a06892409746a2e8b7f6081e60c8c9a64c28c4033734b7849a01f44b01c816769646fc32cc00d28852e7b62650da0bfd3c143c5a03cd30d190e6201261dfd0f225f85a0a431acefc5a91037a72c5d8f69b0d71f22f03a6a041ba03ae837e3ef10689cce1060eaeabba5999fb0dd94045ba968897dc0403c1a8fde4d31936c456906c3cf343a6a3ff4779930e947034ab6e247774eab1bb0349ce514e945317e65a0be7fef1a1fb4bc5e33cf107905783191464bb3e704d7703619c88a0a13640cee345e440a5d37f9ca2747c70fcf1a9a25d43fd400a17192903c805af2b78861a87a68eee42bce214949e0fd26876cb7a0b9c66b5a6339e6f8a00582003571dc9b6f2f587ffd65d8d9fe828136c16ec05ec8aef59bc8ce194bf6aea005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021850038c50ff98fa2a21d72aa7015b8203f332198f014d42e2c5a00c1f9687129efdb403a9a693ead3020307d7e47760d67a03e740f1b5fa6b7d6eedc232111303d797c8031490f0dee37956979e8b94df072697236f529440b7d78db599a7c35dafff665803a5024ecc92adbb452bd9517837e2d6f129b33f6401aa857873aa425776ae29db03a18efb7252cf722c1277695dc763b786729360790ea421629e46ca2d6395308703446a5ad072767bbde97d1c1943c10b7049ff94659f10e5b406a2166fc42ee5b2035903b8700334eaadb3d4212eedd3e7eb167fff9ab45c38b986f1bf858ef4959003357f422fd1e3ee060499ea5b4da174c4962a037a1d72b147e5671ea99859f8270219ffff032af72dc966fe73a6f7d035d0d300df59b4e5b81fda58d2bdd1e625342f228b55038ea0257c196d2b6087ca049180760a8a2a1f4bca80dc6ce595ba351d54537454038840893741112b0f6b37c0cc6df99323601d28f74914d565129f0efb7fe722c300582002bf524cc8401d42edf816f143b4a46a8ffe59d90d34f99f13594caaf2cf76184b0199bca8351816a7400000036c2ad48288cf1e2ed7292e2a7cf03e06fe95b2a3312cd92908f39aabf0ca1f0b03f3ca6ee27d8e37468ccfcc3e595339be06e9d2911df12545a3ade6fa5201203700582002d7d34ea1e83a1a5e41332c4a80c1e066545ef08e8df45e5c7f1809e4aca6d2490246ddf9797668000003c83d6ce7b89367eb2716d4cd1e11dfdb86a9204485b4b86a9358aef1fdf881c903876384d927089d3415811390a2dddb5374e9ba9e3b079daa376a1898e9235458005820030fd487c6ee312a5909eb956a2b24a55eda871628f800b0249f3576ff8ab4904b01123807daed465288000000581f020ae8d1392208f3c68bbadef666fa59f213a023cb4cdc6ee72faa709f3be84ad49882756670aeec000000581f02896c36b340f4785eae53a53cbd51047a8254d3d9ca9ea93775a3fa275bc85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021920800219810000582002e3548e289d7f46926c2d855e8be8eb4c45cd1fecb23192cf0bf9edafc23fa84906dc18638ff5ee0000034ba373425f719af0893a45554a881a2c1ea4bd59356562856cc9dfdd8e496bed005820029b59d46b16996054b5070825957adaaf01bc477fa6cfd75f18d3a5e31a7a7f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d4c6f8f2ccd9c2fee452e58a34aa0e976ca210ed3617ba1bff46ac13b47f3a190379419793be3f29dfd18e53568e55f6910418025f72861159976716db5999bfa303c97b6ee3a3e6be8307999be15af0db7691eadbfdd09b27bbb361bdb107044a840219bfff0219ffff05581d02b2d0944e1368a90ef77bf2325269e83040d5faa96cb988b2f2695424070118aa05581d02951924cac33e9281462ba6f1a790d2a5305507eed9c7c5fb7d409f9d0c014722c03448c710000219020405581e0398b625c19226c0a7fca3ea822ffac04c70d8547064ff5c46330e3f06e004020219bf2c032eb58fd6343db0f1693500327b055631776614d0ad386221675078cb6a210f9403f4fb8d4668fa3db4359985023a3ee9d64f4887991d0b65c489d577a30f10fc7e036f051cdf080ac77faf595b0c4e445262aeefac7df94bffb77a20c36fee992ff1034cb9ebcaddd8da9f9a53204ab5ce2f86aa5eb76b4780ba72ce0bcd5030f5d3f403d08c1c63f8d9183fccf44854caeffabc3462df3fce7077a5a482dd09529f86f0037f3daf25cb90473a53c64ade1fc7f51d2de5bcf8b4cfaaa4510be3cd796a19cd033fa71980f625d736a829e5ce0b014359213e7bdf225ad4eea1dba1a80b87938d0353b6769612c2605558ebd7df2b7c378ab1679c7cbd605708e78145c5f82bb0800359a79ac8dab7426864a0a06d9f0184ddeb6347807349a502e932299f4742592c033319055ffcf4e306b28feecfad1a084029849f7ad25de8bb1809c732ad1e457403ae2b59950c7ef650cf54c2ed22d39660827a6be04ef2c5d4a379eea7196144e40219ffff0334bd16235762083757368a30f8cfd76d742dc0156b7f24a97392ac89ac69892703bb2a9e072262d5305b27730871da0c7a0ab587baf86c2e155bb526f822dea12f03643f7f5c330320809ec5f9d38a0d76323c429d24a2c0d48a0b2abcdd97e59d0703c5292e851ca6e752c8b798130ee074a54c6d4bfe7db618555aa61a61e9d4a58d038ed71e1b7e7178862b3cf123e2712f0caf7a5cfbf29927dd0eac435b048a991303b2f58b9550774664470fd7123f7f48d472dce180f12df22f543a093680a4a2f103f9204c7603fbb1131aa16a110fd54781c5672ad9db4c94cbc2b4aaa3bfe3864b03b46e06fbabe8a47519095fe38eda00875234f55b3097fd79eee18b7b92d7040f03b7cbd8a74ba0de4506429a99b529255546bc0019147c0d0616802694e689148a0219ffff0376367b1f5e06b506c0162416e7759d4cc41acdc40ab8297a3d7a26cbf32dff1a031d2c06f1a6f2d6ff3f56b56cb467e9e18717f58b7ba722c8b2605b358b64e8c0033daca551dfe930cd0b6eeeeef4115b50a21f5d91fdb6137d1aff38ed9d1c0d9c0219ffff031ebb20c106f4e66a171e393e90c4054417c92ae393fd3238ee33430682d3622a03fc02bcf7eaf527be2ca61b8871a37ddcc57723b451e221218888132d9e4d37d4036bfbea895cc83c4c1af5f29083d7fdd4e2a13996be34dddbe18e75c3d42723e7038815cce8d83d6bf195fe505d2a9658f38c094602433ca1838b632046210db594033355acd5039a171eaebb931646bd4e93bf18de2db56cdb4ad5ea27db3b93080b0219ffff0363ef9b4c2796650bdc0174bcabeeff556b38799253d52f7d971b63b1ee0387d90326a2967852b022e949c7496984323e4cbff2114cdb0b230b378110a2fffcabe1032ecb75c3869ff7d0fc90fccf84180dacfcb972a03dce3d3be3aa14757d03a7cf03358bb6c5c9d168b08ea3f348fc86096c59d2b7ca5506c23a64c6f330a8b26e6003b7ff0775627300206514bc78f97cec5ee0d75c3a28d46381d3a42e873dd60b5e034fef534e3a8f4ff9bcaf5ccdee7747d9dae24d1567dd6eff4a397e5a6ccb699003e5fad6feac8e5c2fc88f1bdc382fb0b904d23ddbdafe18579538636f626f821703552ec76fc89b72197b867bf69d41da2e10c431b88b22125099b049a44cf98fd403bb7ecdac4a80f85fa8c1deb5c63d848d668a12e8eba8a92009352318374a2699032f65f6f9e13099d5a0f5b618ba06744d35f473cbf4616d12dcb7b8daa9b512ce034d39940d2c2754532a2e1d66f9ebd183a9403ce98b4d88a0f7cc253f7ecc0ca003e467a732f1f0afcfb463a1662ee57c926ec694e2d5bde2287b735cfd474f388703ce9b829a949a08884054ef9e771adf678181a79b2fae7a28515009baaa2d1cba033f2b407ab2f10c67e1bdebf050570b904935ff1514295e8397a96f2907c5712b0327e03e8c4ca1029c29f5d4aba86f68a5b5100203f888fa6814df4d025beabbc603437f573adcc952fe322adddc204e626fec1283a6571fbb9dfe742c610b27164003fd889015ff64be13f82ad50f2ba4291068b3a9c3e85120be81a78c279706c12303107ab28ce8279497b2163ec816e707ef5d22120ee60cddcd4dbd3ff612568799035af6fdc55627324de7a58603a565fb29f8aa71ff22364f62634583512b0329cf031826f3c912ad5240d50b3413e8c52ec788b39b65138d56ff70214c2d475ea48803f53383619e10c6c1cc1b4dc85a449647a9ab7f918698e0ba6a4fb2405b161a5503b36fbe780b7824bee5b701e6ac36dc6433b14184e45c14684bd3ec47a64fb8e603ed36140a544591017635716b691a40c29ec9831a779e827c427af1f568cab114030caca5e59c15d323625c2eb41885330bd4cb42ee36a04f178977f3d365a259e1039fc9e6ab4f43a19eaf1251518147a8c8cb908a63ae44f7b70d200ffbda37b4aa05581e03781b956cca3959b07281b70e118899a60f3329bdcfe9f243a89ae5a9400c014705fd31715754ac03da5e7a393ad2589719e9bd1f08b55c5b1f7febb44a53824814d0f1d74750bb3203528acbf9f987d2b5893d3102d34e937529de5516d5e31ea221228d28ecbbde3d031b19d9c7718e468a3716968ba4f7b049c230ffd79e4adf78174c564cdcaab5c705581e037387a8b0a908c9bc675de862d725f05839649c4666b6aa5efe38420e10040105581c0275b5b049ee15c4c6843f80b362fce508324dd178618f3fb26061aa0c190426472f6f30ba05e0a605581c02d5d59da63a2f7882d484c980e7fed1e13f2a3c63235be416bfcf9304020219220001410f03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02420f4ebe6f8406d0e2e2885ac667d48f39f70e96d3b8871f31bc123707011bffffffffffffffff0219840002190b5103b3ed2315f38c5c8ea796ad96834f37f0aea07077fb39c9fdebe14e025dc79479039140ab515fce995ebaf2dca2aaab1e2518aea00fcddf1f8e5eefbb8e4f49d23a034d5cb6273d8be780e96a908a82fb6da1e9f11d61285c6ef0dffb0f42092641f7033a9c9b06c06a71eca61a68e56722510b08efdee6942f3df4ec5b14d060a88f7703d109961752681b4c749b2bb9c9d0f9b517af802e7335674d866c412579ffc30703f1f2972d023e3985ed270574103e90e9bd15708ba5f5a9f7f8b168a7680a971903285cee5a530becaefbc21e7febe9f11fa5e1ba2930f325f75372f8c0d3120eb8031382d2d5f033d5cb3121110991c7d11f72f1fae9732931dd1d3ddeaa223da0ff0397f0a6e9a2c9f834c9475afe02436ebabdef2eb0bb33d2dc75ae630ca56a15fa03bfa27469d1bd7ff8a093b7790d16668167707efc55baee1691766cad75e8d29503f747ec9fca1bc4eb514482d75097a46538e16f28ec26cc75cd439f07984d14450219ffff03fcf3a73807169a004cdf5418224d561c788285eedd2aac0a0dda6cb12578e3f403d3c56e93671da2bb56ae19db18707370e4bfaed76ed25d6f53dfcb1e0794aaf403d6111173ad342dd1bb14478e98486282caebc669e51d65fb6c11a60d1c83cb4d0337f6347940ec8a27a44433d8c272257f14acdd23ef1df45e8c81d645d497964e03e1cbd91306e99cd47de4657000d889fe169886f6635c9b5e82524250edcacecd03a49af37cfbed8bf5944fa97ffbed7f99e036e010d2b9b21084db155e7f0d010203d96049eb3684b01895ce1b8abf044b21cd96664b5a33cb29262aca64abca6e600387d3a720dfdd3935a499684a94cdb67acbdfc06ed7c89b6a21b7f81f77cb6051036c54626193a91e673d65b02eb65d5a56c99339546f36b8c2ca2612133b8bcb3c0387ba5ce1198ad3520a13c77083a0dd038f9cf5f9cc74c434e819adcff6e57ecd037cf05970ec75b421c2dd590113373023a8ce8533321aebbfb95488143a8a926103f01c3f50d4597c052ba96e8af67a587dd5b915538344f65614b790b03852adb50219ffff0358b5510cba902a5d04ba37b61235dc96e6980deb07bde8de5d6a259eefc98dfe03c0e102114268021809fe5e62cee9146295abc99b6cd500895aea13830e8a8d1703ecb34a3af1babb0cf72ea417c35aa5bfb9e106a04c9a815eec1a4ad8e92b8a1b03b2ff6a053d46b97e8946899ce9c544c55e9876f5a2ccc4cede3fce06ddc95cf70219ffff034229f98a968100dc01a5da102b2df4f1b882861760453792cef995f521636cc903b8056802ad5a853004f7ded18ca44c792e7d3b1814d242faa27f2ba45e11efb8038dea8c35284e21084defcf940d774d49e654c4f382e20e821b5778b7ebbe4f8b03fd8728d8f17363c584b17a2e322c0ae80a0e41739fb9e84256d6b79e0a2a01ee034804fc727f5e21d2d2809c58ec6fff64433500aadb1c0669843bad26f195c08b033359ee8a218ab9cfc95943805b39e7b984dfaf9c468746aec5f96c1242a2b2a1031b9ac1a3f6a2c5030fd1179c94922bf4d825219264ba60960e80f8b49b1e540703fb9472560dcaac3874cdeaaf73d2aca3faecc84c297fa6bc42a27ffad9c98bae03c4dc9e02416ef955df583620cddf1a2ee54b054c7af3f74c638ee2c72c5da9890306a3c87d22ad3fbb9e0d1ee7d7fe1abd7cbf3a1d1c6ae68e87b7054186d7c8100313140132f4e5ec5f4f8ef7162ea9a26e26af301d00e2a1f52728f7a0c164f4de03ae4e3eef836f9a65af47fab38243fbbfa501f11abe917dffaaa9455f6d2accd8031e3f04f0cadaeccceef8b6cb3d130c05e84f85bb7e710c2e7652625cc411907003de9adf0b5365817855eb4e4d6c9c77970025814124bb65cae761b80836823307036d3016cbfd352399cc53d0d799dd9195356dca737da7d213edbc25d8dd9920be030965cf7b3e01e3bf290ef4d08747bd0e8de4c8978e9c9fb998998759cd50fc6e0369fba2d71221db1df2553d8d2b67a95fc2e08bd53c9ae61a5747e0013e59cae0030b5a105a04252d94b7e8bd2d8b199a3bc390322bca2c629c009f33b6ba17202903712933bfb00e312d7ab408e2706177f9d6cb7abf1d24ea7fa283d89fe454c8900337289c0a577e551be60143c1d735e9c03de96a5fc4e520d7d362d6c8d6de72fc0351c1bcc045f93d79c0abff99444046bbaf38e70abebefb451ae58782170395b6038cad42f25a7ff09e18b8519af93bc9c3b703c04067bf3bbeb7a1397ac93676ce03c1868698b01396000b60021b0c3b8f135378726f305f1b8e5af5ede82f5567ec03156446055125366f48dbc433429c8f94247b628855da337e0cb6606f48f5e50703d1d8b7aba47a11662d4f3a0a3f27ee6c7cec6741d914422e5675ad1826f5712303785b5e787b984f5043be1ddff71ab48cb50e7a1a6980a13cc0d16be788ede63803d4ed2f09491aad7db35ac2a97b5290f4922f1b5f5350ac35131684db514c11a903f9247ff56912540060fb9a07209368ec34e9cbdfa41374a24eb6ddc3ce3c87a605581e039f5b41ed1207b1a07eb00b33f9dfa211e93bfa2a628d1799b7ff082fe00c02471eae2314f4de000353e94642036578c56084752fbcfe5ac9d192c872a874c2d5c727aa160175b04705581e039753bfde56779e5e720c84bc0657f8921e3e4d053d8b70790ab8aad6a00c024712dab039d2b00005581e03726f4560135ae248300da5b04823095a31a8dafcfbf3a32da49a8d31600c19010d47029a6f5a68d7680350f721d47cd6090eaf19c7adf43ac3bf2085e70400087a9f68ceae80bf2e8e8e0396610b909fe0211bb07a565f9447383a2379e77c26fae889d481f92e1f7b6c1705581e032e9d40a53b1e03b408f269cacce102c651d2c4dad1da430a9f236e3f100c024502540be40005581e03ba6c63265b4c4b666f785fe78c7e91d961aee035bb4d7667ec814b2e100c0446924f1e5a6af405581e0304bbe60072adeee2a2c2a6e12ae3003b2e9b9d3b35f7475f34a3b332a0040305581d027d33bf1388a6df4e5f320a8e0a7c7021274cee43070de7fd5767add00c01477fdd72085d974305581d02e3a03c49ccb03dde21c0fdb8b4a98b64b8134becca0a3eb3e61a81760c0f4734a19a090c1a7a02198010039555c1011d221d90eec95ef5850da60b99098a7578dd2651f7edc0f7b3149fc802197bba035716da63574ce0b9e939e46690f27c697152091ef85d90093ecb1e6b831d289503a740fa446c568cbd1915a90414eefb7d12760be3b6781f10f64c138ecf24b07f0219ffff03ef01c1b268e8bbfde32a52c8c3a3b43f1306784dbb26f11e3a9824fdffbe154d038a1eb2d5033428aadc98dfd679802179690d6f9633d5e613ced9741a84f7cd0e03ad6e77b2b5c78cc897fb6ec3deea9c3c6b70c0ec665777e6e324f56fcf82a8080391f16164907c040f663c466c8d2f1d81e7b85b2b7a93ae52a41085c8593c63fe03a4095bef1408faeb63ad324cbb6955741b9e267d359fdc8f59488cd6ba85fa8f0357d4f86e35f943dd1f052add41e9765e41a9dd98070aa01fa5f408bb628e4b800219ffff03b02ff5b250f8a65ab84ab4f5836ca41cbbaf6494dab7df1d6bf6bd14519c7fc603ced60737804cedb71a2c1961fc7d8e441f1a96ea68c780b0785a8108da1c33a603284ffffc1f066079e73b5cd879ae8176b7aec942d78775ac31ff4b801b59cad10373cbfd0f6e3989f635fec6a92b68d3d94342130d4752ce8bf33a7af643372bf403a54db3273ba76af197d3512b45101162624b2e487ee7c78141e1f62fbc07d32d03133ae4fe0640cf6e2f3e6ace4e0e1c75a149d35e248ef681ff1dd33ef6a8c1dc031b72bff1fb92e931c40aa2ae330c60f6ff132452d57ae3eaa25243667b2bbeb90390840dae2e3822c18d74164da816352fd86a39cf19769319e1afef2efb190d2b0358607c06943688261f17a86b76dc799776466572fc5c62b6724bc6ec6758fdb40386bf243f90303a4da365734779297e79870234855044da879978657f73b22a6e03e98b1c58937bc099df432d0debcbc2b9a71633248dd5a04960696ea85d85099d0219ffff03e399d062011af95f511e9108faf4fa5bd35f2680b03bb1780f0286a5e72350da038b94ed1ba54a4700515c429e8af47b556448cca5b3d5c05507abb4db3fbcd69c03d33c9136cecf830ce1eb8df19ac1809b1dcf555880698d966ad38c60dbc21dde037631114322a9ef9abfe74c456662fcacb627f04806cc71d7ada6392adc8d3ba50351b58a2c6e15a587da7d065ef433c69d9ae2ae4b97c4c12295131a7801cad6880219ffff03619ce549a36a613d7ef2d4b4ba786564b4ff78c1c0e25ac07a955b7d53dd53d103868e2be5d1dbfccedda4a533eff1312dbfa038da591baf8b7390bff4297ff6bd03a0e34eb09fb186b80203811f6062529295bf43619f912971e053054e94c0342a03408ceba910f01f9aad8aec7908709d0a965e4bd8f2fb8d8a1b933f30f916ccd803befa8865aab281dce693d04ac4f51a51acac88d5872c2f54565811d5a4eed203032b82bd81e448647652d157b50b52aa8634001bc52d0af6dfa028e9b24d981e93036e77034b6f0362036a9b22ed58a357457c36df1b1cba2249abee56388591e5970397169638ca4ead2495698b7c148d8fff59cf6dd0df44c8b3445af27768662154038aa6658a931339afd36232d65312add30c71081d124dc59dd5e91f2815ddb67a030f9ae9fc5382311798b0ed792e3121b12994b25fc0a323563aa64ba2f07e8ee203b9470d5fa7efa8f99833568a694b3e213a17c6fe6345c2c94396f419af2e6d9703940d8593c608737a3e19ce03b020d60c81f7d0354e1bf89759778ed543c94e9b0337401545ec20588c5f70771c5e5f34b9ace1469d8cc55bc293cc68ee7fa4df7503cbd898935150baf0cfb12c336105636aec4ae72063a82b99e725f0670f1cbe2d03b360e15b71ede87eecab3fe440955aef22ed7a83bc67f9c628976397ebe4f6fa03bf3d2f67f02341f39439c48090f94df3e1bfb8ff40d046695fe13dbd41b4bda503defc78bb0a60d990ff5a1571923a6578b625efbe8e1b8c495fe07682080c31d0033a74a826f970736621e3a17b1b12a3ba96e26de86a2d878ce0a8fdaf9079383703ef17f9d52f39b284fb2280bf078354b85ff378bb0f2e7c60e463d0ba8a2b7ce803651faa8abdaf9b01d8b97096a345317da391ff4b82e515f31730ad1790ebe5de0320e8e736ca3aaf1271de87915c3a1917b12af2ce7db69a50d3392ad7920f311703e17ebbf1c04296485d60c75ca53ae4bf725d049e0454cd3fef3987a8d7bd5c3f037295cef6cb8aeb289a191462481ce3ec0d05430e7352e35294e311b99c75db3603a12c655715d31e8788c21dc2e701d218768d1bb842bce7ff9d82e0fc5fe860dc039b7d17490626ffa663e1332c3cd099c6d1c512cd82ca77144c59513575df414703a5aca3dbf259d13ebebc1a5fb52013f84a9c5cd8ba28f8704d26f51a4863b95903089d0844ad2df7f00afe28ab5f8ef09111d2f6563f162ba36c1feda7e5051ffa037a1d004d2d6251c9a962dccb07c18b5d799c6ea6685adbdf52aceb7659f9fd8f03d80d229beb7fb56792fbc73ffa70c13ffb01b87730a7a7a99c96acd397302df003e207312e45d27ed3495aaf94eb56b695bf31e9b0c5b5d7c58d90afe82e459fe003242dff2cb7be8d990a42f8658825c3273e9cac3ba1d55f6dd81dba839cad925c03ade45ebf3f5ef1a96f38bd49d50f7084b000ae0670c967e8e4227ef8f6d86bd9034e6cedae2e130e2e47002a8561013ddb1e03ab1b1f9fb9d31252ad16904d63f403d35dd1ee0ac68e895fc9dff4434eef85fdb73ce2722f02aa679677c6aebb319303972216c7b5f16dbdf6c092e84e99710a39fa8032b0ec6a1d05add6af10105236035fb6af0fe4e66b139957d4ddd3921444ab10a1b8741750b0969fe3959bf179e7034f45e3e0f25b3ecac17027f7f1e767ddb69b68bf233e25bad540890eba08842b03891c76cf63d8bb11a996a9b7f8f05e40ab159c69ae904f1cd7fa8ef52b90c97c05581e03940b8085387b365bafd49ecb1a9f1bf80d85f5085fc7c7a0a4819055e0040305581e03c8404f26d5e56d05f3e4d6d782c824e830b78805c71e0cc001ecf9d9500c0147075774ccc1080005581d023f35cc737b0943bbd07343d3f9bdc3f1fbffcb268f81a55b72db254a0c044707e8890345200004593f0f608060405234801561000f575f80fd5b50600436106101ee575f3560e01c806370a082311161010d5780639ab24eb0116100a0578063d505accf1161006f578063d505accf1461061e578063d547741f1461063a578063dd62ed3e14610656578063f1127ed814610686576101ee565b80639ab24eb014610584578063a217fddf146105b4578063a9059cbb146105d2578063c3cda52014610602576101ee565b80638e539e8c116100dc5780638e539e8c146104e857806391d148541461051857806391ddadf41461054857806395d89b4114610566576101ee565b806370a082311461044857806379cc6790146104785780637ecebe001461049457806384b0196e146104c4576101ee565b80633644e515116101855780634bf5d7e9116101545780634bf5d7e9146103ae578063587cde1e146103cc5780635c19a95c146103fc5780636fcfff4514610418576101ee565b80633644e5151461032857806336568abe146103465780633a46b1a81461036257806342966c6814610392576101ee565b806323b872dd116101c157806323b872dd1461028e578063248a9ca3146102be5780632f2ff15d146102ee578063313ce5671461030a576101ee565b806301ffc9a7146101f257806306fdde0314610222578063095ea7b31461024057806318160ddd14610270575b5f80fd5b61020c600480360381019061020791906130f1565b6106b6565b6040516102199190613136565b60405180910390f35b61022a61072f565b60405161023791906131d9565b60405180910390f35b61025a60048036038101906102559190613286565b6107bf565b6040516102679190613136565b60405180910390f35b6102786107e1565b60405161028591906132d3565b60405180910390f35b6102a860048036038101906102a391906132ec565b6107ea565b6040516102b59190613136565b60405180910390f35b6102d860048036038101906102d3919061336f565b610818565b6040516102e591906133a9565b60405180910390f35b610308600480360381019061030391906133c2565b610835565b005b610312610857565b60405161031f919061341b565b60405180910390f35b61033061085f565b60405161033d91906133a9565b60405180910390f35b610360600480360381019061035b91906133c2565b61086d565b005b61037c60048036038101906103779190613286565b6108e8565b60405161038991906132d3565b60405180910390f35b6103ac60048036038101906103a79190613434565b6109be565b005b6103b66109d2565b6040516103c391906131d9565b60405180910390f35b6103e660048036038101906103e1919061345f565b610a66565b6040516103f39190613499565b60405180910390f35b6104166004803603810190610411919061345f565b610acb565b005b610432600480360381019061042d919061345f565b610ae4565b60405161043f91906134d0565b60405180910390f35b610462600480360381019061045d919061345f565b610af5565b60405161046f91906132d3565b60405180910390f35b610492600480360381019061048d9190613286565b610b3a565b005b6104ae60048036038101906104a9919061345f565b610b5a565b6040516104bb91906132d3565b60405180910390f35b6104cc610b6b565b6040516104df97969594939291906135da565b60405180910390f35b61050260048036038101906104fd9190613434565b610c10565b60405161050f91906132d3565b60405180910390f35b610532600480360381019061052d91906133c2565b610caa565b60405161053f9190613136565b60405180910390f35b610550610d0e565b60405161055d919061367c565b60405180910390f35b61056e610d1c565b60405161057b91906131d9565b60405180910390f35b61059e6004803603810190610599919061345f565b610dac565b6040516105ab91906132d3565b60405180910390f35b6105bc610e15565b6040516105c991906133a9565b60405180910390f35b6105ec60048036038101906105e79190613286565b610e1b565b6040516105f99190613136565b60405180910390f35b61061c600480360381019061061791906136bf565b610e3d565b005b61063860048036038101906106339190613748565b610f02565b005b610654600480360381019061064f91906133c2565b611047565b005b610670600480360381019061066b91906137e5565b611069565b60405161067d91906132d3565b60405180910390f35b6106a0600480360381019061069b919061384d565b6110eb565b6040516106ad91906138fb565b60405180910390f35b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061072857506107278261112f565b5b9050919050565b60606003805461073e90613941565b80601f016020809104026020016040519081016040528092919081815260200182805461076a90613941565b80156107b55780601f1061078c576101008083540402835291602001916107b5565b820191905f5260205f20905b81548152906001019060200180831161079857829003601f168201915b5050505050905090565b5f806107c9611198565b90506107d681858561119f565b600191505092915050565b5f600254905090565b5f806107f4611198565b90506108018582856111b1565b61080c858585611243565b60019150509392505050565b5f600b5f8381526020019081526020015f20600101549050919050565b61083e82610818565b61084781611333565b6108518383611347565b50505050565b5f6012905090565b5f610868611431565b905090565b610875611198565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108d9576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108e382826114e7565b505050565b5f806108f2610d0e565b90508065ffffffffffff1683106109425782816040517fecd3f81e000000000000000000000000000000000000000000000000000000008152600401610939929190613971565b60405180910390fd5b61099961094e846115d1565b60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061162a90919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1691505092915050565b6109cf6109c9611198565b82611717565b50565b60606109dc611796565b65ffffffffffff166109ec610d0e565b65ffffffffffff1614610a2b576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f610ad4611198565b9050610ae081836117a5565b5050565b5f610aee826118b5565b9050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b4c82610b46611198565b836111b1565b610b568282611717565b5050565b5f610b648261190a565b9050919050565b5f6060805f805f6060610b7c61191b565b610b84611956565b46305f801b5f67ffffffffffffffff811115610ba357610ba2613998565b5b604051908082528060200260200182016040528015610bd15781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f80610c1a610d0e565b90508065ffffffffffff168310610c6a5782816040517fecd3f81e000000000000000000000000000000000000000000000000000000008152600401610c61929190613971565b60405180910390fd5b610c86610c76846115d1565b600a61162a90919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b5f600b5f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f610d17611796565b905090565b606060048054610d2b90613941565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5790613941565b8015610da25780601f10610d7957610100808354040283529160200191610da2565b820191905f5260205f20905b815481529060010190602001808311610d8557829003601f168201915b5050505050905090565b5f610df260095f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611991565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b5f801b81565b5f80610e25611198565b9050610e32818585611243565b600191505092915050565b83421115610e8257836040517f4683af0e000000000000000000000000000000000000000000000000000000008152600401610e7991906132d3565b60405180910390fd5b5f610ee3610edb7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf898989604051602001610ec094939291906139c5565b604051602081830303815290604052805190602001206119f3565b858585611a0c565b9050610eef8187611a3a565b610ef981886117a5565b50505050505050565b83421115610f4757836040517f62791302000000000000000000000000000000000000000000000000000000008152600401610f3e91906132d3565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610f758c611a91565b89604051602001610f8b96959493929190613a08565b6040516020818303038152906040528051906020012090505f610fad826119f3565b90505f610fbc82878787611a0c565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461103057808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401611027929190613a67565b60405180910390fd5b61103b8a8a8a61119f565b50505050505050505050565b61105082610818565b61105981611333565b61106383836114e7565b50505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6110f361305c565b6110fd8383611ae4565b905092915050565b5f81836111129190613abb565b905092915050565b5f81836111279190613b08565b905092915050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f33905090565b6111ac8383836001611b43565b505050565b5f6111bc8484611069565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461123d578181101561122e578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161122593929190613b55565b60405180910390fd5b61123c84848484035f611b43565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112b3575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016112aa9190613499565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611323575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161131a9190613499565b60405180910390fd5b61132e838383611d12565b505050565b6113448161133f611198565b611d22565b50565b5f6113528383610caa565b611427576001600b5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506113c4611198565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905061142b565b5f90505b92915050565b5f7f000000000000000000000000186ef81fd8e77eec8bffc3039e7ec41d5fc0b45773ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff161480156114ac57507f000000000000000000000000000000000000000000000000000000000000000146145b156114d9577fbee620dea7ad468f77407fd3bd49b75c263ce3d622755955965dcb0c558fc1fe90506114e4565b6114e1611d73565b90505b90565b5f6114f28383610caa565b156115c7575f600b5f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611564611198565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a4600190506115cb565b5f90505b92915050565b5f65ffffffffffff8016821115611622576030826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401611619929190613bcc565b60405180910390fd5b819050919050565b5f80835f018054905090505f8082905060058311156116ab575f61164d84611e08565b846116589190613bf3565b9050611666875f0182611efe565b5f015f9054906101000a900465ffffffffffff1665ffffffffffff168665ffffffffffff161015611699578091506116a9565b6001816116a69190613c26565b92505b505b5f6116ba875f01878585611f10565b90505f8114611709576116db875f016001836116d69190613bf3565b611efe565b5f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1661170b565b5f5b94505050505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611787575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161177e9190613499565b60405180910390fd5b611792825f83611d12565b5050565b5f6117a0436115d1565b905090565b5f6117af83610a66565b90508160085f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a46118b081836118ab86611f85565b611f96565b505050565b5f6119036118fe60095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20612206565b612215565b9050919050565b5f6119148261226c565b9050919050565b606061195160057f496e7370656374000000000000000000000000000000000000000000000000076122b290919063ffffffff16565b905090565b606061198c60067f31000000000000000000000000000000000000000000000000000000000000016122b290919063ffffffff16565b905090565b5f80825f018054905090505f81146119e9576119bb835f016001836119b69190613bf3565b611efe565b5f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff166119eb565b5f5b915050919050565b5f611a056119ff611431565b8361235f565b9050919050565b5f805f80611a1c8888888861239f565b925092509250611a2c8282612486565b829350505050949350505050565b5f611a4483611a91565b9050808214611a8c5782816040517f752d88c0000000000000000000000000000000000000000000000000000000008152600401611a83929190613c59565b60405180910390fd5b505050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b611aec61305c565b611b3b8260095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206125e890919063ffffffff16565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611bb3575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611baa9190613499565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c23575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611c1a9190613499565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611d0c578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611d0391906132d3565b60405180910390a35b50505050565b611d1d8383836126b7565b505050565b611d2c8282610caa565b611d6f5780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401611d66929190613c80565b60405180910390fd5b5050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f5278f6c2090a3fc8f29ed5755e0f40b064b568db6cc407506a0658d75bfeff727fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001611ded959493929190613ca7565b60405160208183030381529060405280519060200120905090565b5f808203611e18575f9050611ef9565b5f6001611e2484612765565b901c6001901b90506001818481611e3e57611e3d613cf8565b5b048201901c90506001818481611e5757611e56613cf8565b5b048201901c90506001818481611e7057611e6f613cf8565b5b048201901c90506001818481611e8957611e88613cf8565b5b048201901c90506001818481611ea257611ea1613cf8565b5b048201901c90506001818481611ebb57611eba613cf8565b5b048201901c90506001818481611ed457611ed3613cf8565b5b048201901c9050611ef581828581611eef57611eee613cf8565b5b0461283c565b9150505b919050565b5f825f528160205f2001905092915050565b5f5b81831015611f7a575f611f258484612854565b90508465ffffffffffff16611f3a8783611efe565b5f015f9054906101000a900465ffffffffffff1665ffffffffffff161115611f6457809250611f74565b600181611f719190613c26565b93505b50611f12565b819050949350505050565b5f611f8f82610af5565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fd157505f81115b15612201575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146120eb575f8061205c60095f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061111a61205786612879565b6128e6565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516120e0929190613d25565b60405180910390a250505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612200575f8061217160095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061110561216c86612879565b6128e6565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516121f5929190613d25565b60405180910390a250505b5b505050565b5f815f01805490509050919050565b5f63ffffffff8016821115612264576020826040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260040161225b929190613d85565b60405180910390fd5b819050919050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b606060ff5f1b83146122ce576122c783612925565b9050612359565b8180546122da90613941565b80601f016020809104026020016040519081016040528092919081815260200182805461230690613941565b80156123515780601f1061232857610100808354040283529160200191612351565b820191905f5260205f20905b81548152906001019060200180831161233457829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c11156123db575f60038592509250925061247c565b5f6001888888886040515f81526020016040526040516123fe9493929190613dac565b6020604051602081039080840390855afa15801561241e573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361246f575f60015f801b9350935093505061247c565b805f805f1b935093509350505b9450945094915050565b5f600381111561249957612498613def565b5b8260038111156124ac576124ab613def565b5b03156125e457600160038111156124c6576124c5613def565b5b8260038111156124d9576124d8613def565b5b03612510576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561252457612523613def565b5b82600381111561253757612536613def565b5b0361257b57805f1c6040517ffce698f700000000000000000000000000000000000000000000000000000000815260040161257291906132d3565b60405180910390fd5b60038081111561258e5761258d613def565b5b8260038111156125a1576125a0613def565b5b036125e357806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016125da91906133a9565b60405180910390fd5b5b5050565b6125f061305c565b825f018263ffffffff168154811061260b5761260a613e1c565b5b905f5260205f20016040518060400160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525050905092915050565b6126c2838383612997565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612755575f6126fe6107e1565b90505f612709612bb0565b9050808211156127525781816040517f1cb15d26000000000000000000000000000000000000000000000000000000008152600401612749929190613d25565b60405180910390fd5b50505b612760838383612bd3565b505050565b5f805f90505f608084901c111561278457608083901c92506080810190505b5f604084901c111561279e57604083901c92506040810190505b5f602084901c11156127b857602083901c92506020810190505b5f601084901c11156127d257601083901c92506010810190505b5f600884901c11156127ec57600883901c92506008810190505b5f600484901c111561280657600483901c92506004810190505b5f600284901c111561282057600283901c92506002810190505b5f600184901c1115612833576001810190505b80915050919050565b5f81831061284a578161284c565b825b905092915050565b5f60028284186128649190613e49565b8284166128719190613c26565b905092915050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156128de5760d0826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016128d5929190613eb2565b60405180910390fd5b819050919050565b5f806129196128f3610d0e565b6129096128ff88611991565b868863ffffffff16565b87612c8b9092919063ffffffff16565b91509150935093915050565b60605f61293183612ca6565b90505f602067ffffffffffffffff81111561294f5761294e613998565b5b6040519080825280601f01601f1916602001820160405280156129815781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036129e7578060025f8282546129db9190613c26565b92505081905550612ab5565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612a70578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401612a6793929190613b55565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612afc578060025f8282540392505081905550612b46565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612ba391906132d3565b60405180910390a3505050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff8016905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c1f57612c1c600a611105612c1784612879565b6128e6565b50505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c6b57612c68600a61111a612c6384612879565b6128e6565b50505b612c86612c7784610a66565b612c8084610a66565b83611f96565b505050565b5f80612c9a855f018585612cf4565b91509150935093915050565b5f8060ff835f1c169050601f811115612ceb576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f805f858054905090505f811115612f74575f612d1d87600184612d189190613bf3565b611efe565b6040518060400160405290815f82015f9054906101000a900465ffffffffffff1665ffffffffffff1665ffffffffffff1681526020015f820160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff1679ffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508565ffffffffffff16815f015165ffffffffffff161115612e08576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8565ffffffffffff16815f015165ffffffffffff1603612e8a5784612e3988600185612e349190613bf3565b611efe565b5f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550612f63565b8660405180604001604052808865ffffffffffff1681526020018779ffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506020820151815f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050613054565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506020820151815f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505f8492509250505b935093915050565b60405180604001604052805f65ffffffffffff1681526020015f79ffffffffffffffffffffffffffffffffffffffffffffffffffff1681525090565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6130d08161309c565b81146130da575f80fd5b50565b5f813590506130eb816130c7565b92915050565b5f6020828403121561310657613105613098565b5b5f613113848285016130dd565b91505092915050565b5f8115159050919050565b6131308161311c565b82525050565b5f6020820190506131495f830184613127565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561318657808201518184015260208101905061316b565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6131ab8261314f565b6131b58185613159565b93506131c5818560208601613169565b6131ce81613191565b840191505092915050565b5f6020820190508181035f8301526131f181846131a1565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613222826131f9565b9050919050565b61323281613218565b811461323c575f80fd5b50565b5f8135905061324d81613229565b92915050565b5f819050919050565b61326581613253565b811461326f575f80fd5b50565b5f813590506132808161325c565b92915050565b5f806040838503121561329c5761329b613098565b5b5f6132a98582860161323f565b92505060206132ba85828601613272565b9150509250929050565b6132cd81613253565b82525050565b5f6020820190506132e65f8301846132c4565b92915050565b5f805f6060848603121561330357613302613098565b5b5f6133108682870161323f565b93505060206133218682870161323f565b925050604061333286828701613272565b9150509250925092565b5f819050919050565b61334e8161333c565b8114613358575f80fd5b50565b5f8135905061336981613345565b92915050565b5f6020828403121561338457613383613098565b5b5f6133918482850161335b565b91505092915050565b6133a38161333c565b82525050565b5f6020820190506133bc5f83018461339a565b92915050565b5f80604083850312156133d8576133d7613098565b5b5f6133e58582860161335b565b92505060206133f68582860161323f565b9150509250929050565b5f60ff82169050919050565b61341581613400565b82525050565b5f60208201905061342e5f83018461340c565b92915050565b5f6020828403121561344957613448613098565b5b5f61345684828501613272565b91505092915050565b5f6020828403121561347457613473613098565b5b5f6134818482850161323f565b91505092915050565b61349381613218565b82525050565b5f6020820190506134ac5f83018461348a565b92915050565b5f63ffffffff82169050919050565b6134ca816134b2565b82525050565b5f6020820190506134e35f8301846134c1565b92915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61351d816134e9565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61355581613253565b82525050565b5f613566838361354c565b60208301905092915050565b5f602082019050919050565b5f61358882613523565b613592818561352d565b935061359d8361353d565b805f5b838110156135cd5781516135b4888261355b565b97506135bf83613572565b9250506001810190506135a0565b5085935050505092915050565b5f60e0820190506135ed5f83018a613514565b81810360208301526135ff81896131a1565b9050818103604083015261361381886131a1565b905061362260608301876132c4565b61362f608083018661348a565b61363c60a083018561339a565b81810360c083015261364e818461357e565b905098975050505050505050565b5f65ffffffffffff82169050919050565b6136768161365c565b82525050565b5f60208201905061368f5f83018461366d565b92915050565b61369e81613400565b81146136a8575f80fd5b50565b5f813590506136b981613695565b92915050565b5f805f805f8060c087890312156136d9576136d8613098565b5b5f6136e689828a0161323f565b96505060206136f789828a01613272565b955050604061370889828a01613272565b945050606061371989828a016136ab565b935050608061372a89828a0161335b565b92505060a061373b89828a0161335b565b9150509295509295509295565b5f805f805f805f60e0888a03121561376357613762613098565b5b5f6137708a828b0161323f565b97505060206137818a828b0161323f565b96505060406137928a828b01613272565b95505060606137a38a828b01613272565b94505060806137b48a828b016136ab565b93505060a06137c58a828b0161335b565b92505060c06137d68a828b0161335b565b91505092959891949750929550565b5f80604083850312156137fb576137fa613098565b5b5f6138088582860161323f565b92505060206138198582860161323f565b9150509250929050565b61382c816134b2565b8114613836575f80fd5b50565b5f8135905061384781613823565b92915050565b5f806040838503121561386357613862613098565b5b5f6138708582860161323f565b925050602061388185828601613839565b9150509250929050565b6138948161365c565b82525050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b6138c88161389a565b82525050565b604082015f8201516138e25f85018261388b565b5060208201516138f560208501826138bf565b50505050565b5f60408201905061390e5f8301846138ce565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061395857607f821691505b60208210810361396b5761396a613914565b5b50919050565b5f6040820190506139845f8301856132c4565b613991602083018461366d565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f6080820190506139d85f83018761339a565b6139e5602083018661348a565b6139f260408301856132c4565b6139ff60608301846132c4565b95945050505050565b5f60c082019050613a1b5f83018961339a565b613a28602083018861348a565b613a35604083018761348a565b613a4260608301866132c4565b613a4f60808301856132c4565b613a5c60a08301846132c4565b979650505050505050565b5f604082019050613a7a5f83018561348a565b613a87602083018461348a565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613ac58261389a565b9150613ad08361389a565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613b0257613b01613a8e565b5b92915050565b5f613b128261389a565b9150613b1d8361389a565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115613b4f57613b4e613a8e565b5b92915050565b5f606082019050613b685f83018661348a565b613b7560208301856132c4565b613b8260408301846132c4565b949350505050565b5f819050919050565b5f819050919050565b5f613bb6613bb1613bac84613b8a565b613b93565b613400565b9050919050565b613bc681613b9c565b82525050565b5f604082019050613bdf5f830185613bbd565b613bec60208301846132c4565b9392505050565b5f613bfd82613253565b9150613c0883613253565b9250828203905081811115613c2057613c1f613a8e565b5b92915050565b5f613c3082613253565b9150613c3b83613253565b9250828201905080821115613c5357613c52613a8e565b5b92915050565b5f604082019050613c6c5f83018561348a565b613c7960208301846132c4565b9392505050565b5f604082019050613c935f83018561348a565b613ca0602083018461339a565b9392505050565b5f60a082019050613cba5f83018861339a565b613cc7602083018761339a565b613cd4604083018661339a565b613ce160608301856132c4565b613cee608083018461348a565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f604082019050613d385f8301856132c4565b613d4560208301846132c4565b9392505050565b5f819050919050565b5f613d6f613d6a613d6584613d4c565b613b93565b613400565b9050919050565b613d7f81613d55565b82525050565b5f604082019050613d985f830185613d76565b613da560208301846132c4565b9392505050565b5f608082019050613dbf5f83018761339a565b613dcc602083018661340c565b613dd9604083018561339a565b613de6606083018461339a565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613e5382613253565b9150613e5e83613253565b925082613e6e57613e6d613cf8565b5b828204905092915050565b5f819050919050565b5f613e9c613e97613e9284613e79565b613b93565b613400565b9050919050565b613eac81613e82565b82525050565b5f604082019050613ec55f830185613ea3565b613ed260208301846132c4565b939250505056fea26469706673582212209c18a340ff8ff5e94d45e3a14677ef813ace3ca3f8c5954ab110a0cba3fe70ac64736f6c634300081600330315025710413e0359943c564c6b58f0a6fe129775ad7e59da23df0882988d8b7c0378b024123ff5ad0ce6072377c1be1e12b4a141bf9adc2819a984bcdb813bb37203f3268b73fa6fd811eb0b2ca2646d97ff2dadea4b85f34bd87b5927da53c22fc30361844ef116d5535879c19915c7d5362d59f8bb5a0da1824bc11134ceb3efd0880336935401d584111bd38f5ee0242769faa865f891e47802652e2d9b6972d56fde039636204d58e3e7db40a60ebbb40f5624788d197e6d99ae7578fa9ca3958108bd0339457e87c4b97ab02944a64580cf360c7124308ec4967196a60c4cadf80d785b03402e7ab7b8fc855d01fe20593054c8cd2015ddff8eababf41e09cdebe3cf00d603bfab222b2a210d38783fa7918173159bef5f35d97df75647fb2be69e0cd9e856032989906c66fe696fd2110952f6b91c06d7382dde1eac1a6ac59f2be27bd04617031d54f0dc0d0f84e7d9b87f1550060dd9378ff8a751a0a0623eb33d5697337d650323735d5926e0d63265497e01ad702444df62a5132b1ecb918ce079a2d4ac1d160058200394654815142c7212126d287d116982e60bad744717a177ea21d4f53b157260482b46721f6d9967c9032e41bf3cf04712cf31fa9d0a616da77c845ef46e8d9866527253ff72248c2b9903104f3f8cab6ad645397da9ab33c8ea4c643483038b3bf52326f2f065679c280903f275da539263a26ecd46354d96dfc09db5d2b3e4c19a74f5a57d750bcfe61ffd00581f02a6c58194a587109c5dc70f701875411e34bc6f8cd8f5dce53ab49479415c49878678326eac90000000581f02bd1bd19c45f52f68085848f8ed250f748588888421e427af7f1859b3590f4b19914b663afc4fe1f9036d0219020800582003c589b069e21899bb74702e346c3716feeefd0418ad01ec5d461082eb33c6f041010379192e88ef95efc0178df3be5395258689b191704d540e3f2c6543976cbd9667037c58646117d805c8de568cf51b0db9bc0955a9a28b390291723a429a934f1b8e03da31153cba4e8e4620ad0a8d49da42a492a97560f8cdd7812516b80bd5576faa032c3a4829284ede5b37dc3ae4d84cee2f30ed946e65436d9db4572658fb560c1e034dbeaefda6c633b55e202d7f6d6ac1e55c6479cc65ab73b2146f0c3bc281b540039cf779deddcb479f0bbae3ce38864a15322728ca19686b7152f436084457a45d037062cf596dd847c76dcdae40f7f34715631d5aec0c819ea6cfe0b6abe3eef3430219fff7032a4c75d53be57d4bf3acb71a44e082d258aa8901a051d90865708fb0bcd52d7403536ffc631efcfcac350b77cec0b1ca6f21fa11186f7cf0986a4dbdc4bdb96375033aa1575cd57af29dfffeb4238679702265d269602c8fbac8a7c037a7bde8ea5e038f3668ddc2e84c8fca4ae78fa8f1948bc25f0c96085ab577e8c0964634156386033d3e0e55081bd9be7a965546834eabfab21807abd842a3f7e5bddefb00acb81a0219ffff038ef4995512eba0b49030817b0067455c195493a7dcc211343ab2c50184a2567203b014076dffcbaea9bc2067044cb38c76d34a3b5c4234a97e19ece97a1e1c84f003d41a31419c995d4403964d4bd747dbd52ca0079a350cf8fac7cf44aad7dad16a037ad135c9e3da12103195bfb1f7f0d4450f4c848e77e2b5673640c571b5e06b87035625347d0d852a23d12387e5a7744ee73f589b73d09d2b6e5ae1c89c3888354103f62ae72fc9810c47474d726e4262351e319183ab168b4f4978408a6b59f76ed7038d37eab9bcdad5defc42817198d508af7e510f405651ce45dabc71bc3bb8658603cb5e9812aaee30993d2f4eda2cc9117dc8410b76a92cfc3297b8109b91270bfb0392475549e92e800123a53641e2da9d29e7220da3ee1a8338d0fe84e59145f0e00327e628131cdd7f41a056564d8e215522e9071ae6650224b0c7b4ba97072a01aa0393b26e90b12e1505adcc587253349e2c4829c373be71504d3b2e6b152837cb5103239edaef2d8552578f03726e68a44c9b7750f5a8d17956acd930144ae51ffa2f03733e126c8d2927c1d991bc3375bed257c2b4e822d7f6922556f54d9db03beef3037ecedce49c159fa7a3a50619983f1ec862f275bfc9ace004a4ec39e83ed7b26803e92972daae1833a7a1ad09bf3b69b94e09373cb23f3cd4a85ce0a7b649c5bdfd031e481d0e1238a848c830259d7733e728daa38a92ce9f90f5bf5e87afac10ed3503e3d0c7bf709f9c79584c1167d5acc3603b885220145fb846d8e3309039f548dd03459ea0fc3684fd6487b1c0daa872f45e7ea62a6a87559a2539699c11ed33badb03f77968236a455b4d921daae0006965d21798ffe00813bbf890e3f839c45c2cda01410b032e3f3a025cff7daa323bbbf9e48a9e6d01b4ad5fc5a66a7d5b0c1205ecd8977b035ff931955bdb117aae7d75ed65dda0d7aa6f44c39ac71cbfa66b480f762f652a03077569e312082622dca9f3a788d0eaa42e55875803cc4e609f0fce385d78b1a3030f782a88adfc961cfd58455fca3ec3ae53f721a4ba24aa47311bb20dde936c2f03bda306589119bcc58fb33c56ee0faef85841eb7ade645d6e8d5a2068018cd55b03d3d8aa03b060f79ada12f4838cc372974f0d5e0c2591fac4b360606b0925e87b005820037b170dc7c8d8b4b211b57f9789c138d5b7b1fee3d35d2cdca229a8dd5eba1049ba05ad116a712a800000582003c22ef880537c68e4d647455bf89bfa3f7985b1e5e78141fcf88e1f65263f50490b592077fda93a4c4b00582003a572e73c6e03baafea587170b97419604770af390524167a3bc8ddc0a0bff0472402f2dc8939dd0320d4ca7bca2d1f93063e656768c303b75fa453d4880e30c05c5fa02606130392036b6804c48ebdb9225bc94cf60aff1e25db45feaf07cb1b51fa7c17051982a3fd034ab9491b32de7c3bc082837088fcb01276e57c8e913c97d8ab14c3e8bcbb24420219ffff0219ffff03f0346e12e88582768592bdd9b3b2589b561a4a78f65909d48116c982adf19beb035d603af9a941b36984bfdfcc34a276ba2623d1b1af4c759aeaa3a0964e97b22c03aee1f4a3a491ea0abf2c218fbbd7b1f8a16a8a5102cda71b9ed005d182d09c3603c912266ce23a1dedb964ef79e2f76bd76039026fbb8304c0cdf02e3767ad92180344d9101465031bf2a5106cb440df2100b6068fbc46df9dee0cf0bc1d258263d4037d7cef7701e4e1d74e858ce073b2d06d788655f4c88c4ebbb314c70434b30e8803dbded2061dd28a808d2fc410baa23ff1c9521acf2f82ce5ec3955f675887855303a14817ed0699f8a9b9f89ccbbd8f6da89453e98ec623bc72258e2c1407608a340390392c44d691a90b2dfe35b0028133093540e4f408d5282e89b4d293943c1b3a03e95efccefcbb464c87aca97c981a1cc6ea0f102708151f1f559ea7a79b72ab4103d486ab36064cf761271ea8ef9a37ac1eadc89de089592ea6d360cacaa43f3d8403f816d02a67b3527abb3158e3b67867619dbe570c5719f8624facbdfcb641f01703657f57e6434357a45e064bdb9ef3f01b0b93c972d17d14f12a05f90e0d7cb9130337c347383d3666a8617585c61d43cbc164772baca562ef6c545c6d6a15b36ac803bd94cbb8f1d12490ba03de60340b60d4c827923f772a69a84937ee541e1ed12d0348981eff1b8e9ae1d48b8598a21ecfbaf1864c26944f9c9ce20ce3829bbce10303d7bb1f0109afbcd97eba28010b3a20ddeca57dbf582feb074bec01e430df404a03ecf4664c571821982a2af15dec8ce60af9dacb2ee14ff1d05d1fd9a05300510d032f69d74942c3cbd2df6ea6ba68a01e6b1c71d4b5017cf1dab24ae90794bab2710336fbda9147e647afa3f67e1409355500df9552d9bf9d860984a68c65fed1478403a98928a0fe9581cb25c3df6a7540111133d026469d7dd46c890bf99c6280fc3203947190624efdc8cfdb8023dda7674c63d7124c0bb18bd13d28e897c7bd1289a400581f020f1ae0f1312988dce7b86a352237b31f054420749be2b1a8bec2bf12cb80493b2957085c9a0720d200581f02841b25475f16dd0473faa199430ce17c0d85e39960854fb060bff2a5e6714a032d26d131be7c1172f500581f02b78d99a1708f48e0271c3b2de53aa7ab4ca20c5f5d01fa25684f4bf053d95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219130103c6d6e8ddf5a2202f75d78b82ce758589e9026eac4670866c2d69be1670acae4403750647b0753a33d780e10347c5f59c667b4193da12e65ed2f4c9d7d519334a5003941ce41008b5c85fc0d97c043673d107a73539e527c220ec98147ff03b0ba53f00582003baf6b18bda1afd5a24ddb0bbde7a19598972ae5516ca2f78fa1e85112274c0497b14ee896aa743de7503e594928bc8f1d972036ec43c73aab9ad0a4a7cff496a9e737e7858290e24e46b03d2709c90b09bc47c2ddd819aa08cbff10b0a9ec9441ce7bcee257bcec7e64e640353a6e503a1786dde97da3c9a652bef40a6478c9d3e4c1228da8d89a4feb7339f03d9c386256e0be434547160a17c9cab022461ff439261a9e31a2fd0a8b699d0320219ffff03551cd8c01f7635ad5687a6cc64157c924eb44bf8fa44703b952fd6de404c3dea0219ffff03fc38473ecc3b1026e7d69c651880f2d8872e02e82f130f40b0eb5fc979df873703293f4aa9c0747e6d2898f2683619a745849959cb6009aa8dd5b45defb7f634f7037a13c3857df1e6c2b9f3f6bc7b5ae79a0faa3ca1389cc7a748c2f7a31b513d36031fff9114cf17a1b49bd2f1082616b6d1794da94cb3858b16ea809f6badd2a59903888443cf2ef8b641f168d10cea89ba8af8ae87f108b0e3c141f444b387da3ff6036c33e0a3caf4a000dee694521ba11cd3b79f8cdac498bfa31a93eeadb9f5614e03dbdcd50a547a28a6c3a90393f0a7160c6f4032cf611d3143043b1a7726132acb03097d4c9497411b10587281bfb6d441865b7227b564b7c722e38583a3e98bcad5038bc304136a1dcdedc86f9420bbd60aaf6bb6e122939792ae4bb0a7e0cdbfede303c431d5b27049f39d3b1cefc9a45b072ee704191987bc23fe54faeede88fb203e035f023cf037518bb35cf003c346dffaef4ad0470f9f9b07b65cda15e0918498060370269cec61550ef496b1d09e2ce55349d3941d7ffe88b77e0acb856f66682af3036343a7be0ebf60709957e4847dad2eab3dc6c69c0377c6ceb433d29a0de692d7030a40ecf15e82de3f311c160376003be66fba9ad5263f14053a4a32784813808903a56c1702ba3d40a122419300906b0e693c00f3f18b125c45e4e6bf1962766922037c6ba4b076f070305b3be0250dc5a7327ac737d7139e778a521326d62b17284703a2cafc143e5cd3be8183924accd201a28fb4e8d8ea9c287e5de8bfa14688d3e30308311147b7db3871426e912bb521637717bafd2a7b73256d0a5c27fe5149121703db0920c153d39b74e1b1d71446220fbd2f73d562a0e632d4563cc1ac7dd1b55d034f6db1018c46837d03bbc35fc5403c9e52a50cb750d56e2be7745e0aa959f6f300581f0285e0e1aac5601a019da5744f6b17178589b76c926ba85cb50d0b4f49850e4953a8d39f099db4800000581f02c9a17fd0bf43ba6ae766ca8229d70ed84a986a800510af2696e8b973759741010219040403eec997886af4484525ada8327305aa5309569875ac892f75787dc3f8bc60748d031be644bdc2ab6b677053cc1475fd8d3d9e64434d895ba746abd476e3b8a49fae033724d48807d555f8200893ea4d70b82e6c37bf593102f6da724598e166227a7a038ae36b3ac2df449331c3ffc8898c574a9ab0b49343664f2729babe810a8ffcac038e8b0ecff2a8f18e724fe53789257dae2167e9fd5d8745a02cdf596cdb18f2c503e7b4ad0a83547c4043f017511e6f23107af5970616bc65ac525c70f124f6408900582003ca203e618f51f073dfd2b58ac561e36de6bebcedfb61c2a68dfd012236a540493202f0dee48852514003cef43babb214796bd8d914aad2c6c3812e64dc8dab7ec4f52b550547527a752603633ef2dd9094af30885a83cb25f4bbdba9aa8ea3f303011c4d3c3845d8af8ebe03ebdae0746f8ba9df844bfc66e159c60ef782c3750267d91f428c6a8df7d5a41d0219fffb0379ae7b973dbfed34c59ae67d48336e8415912ea7f701108608f6fcc27f23256a0310fd0f5ef18bc870336d9c4df04e143a8d1447f3b8670d97ba0886353dd307a103ba25928d70a16342b28fec6a9f0a288da31dacfea990a8202e113c748048e79103c1f5f931cbc1475ce8f01f1d325a12d2a1e594dd4551a2940e45506ead74269503c1b8e52333695bc60d8e25cb6da4600f6f2cdec807364a8735a4b99760d1656a03b9f30d7561adddf0303b30bb7e95477a599e30856b6ddfb2dc2d1ae9513b68c203e7447e9b50abd3bd6ded18c8e18ac05fb7daa1d0122259931b4df30f7bbc5fd8039f3a83529370aa11b4358db3593380c5396345eaf59215396e213fe76577fe40030dc129cb33c13dd34b4f694bd59c5452146929a2d4311a6dbc34829867c506b7038964eee7a51c4afa0a93236e042282b1010a9c70a56bf3f3918ef9bad31fa92c0219ffff03014b9a933cf0684b1fbee474d7193f5e735df03c6c2c98e1a5beeed541e5ab650219ffff05581d0203311b99ef7011bda24137f89897588ab486f9bd14a4dc831bc414970701193f0f02190840039d7b9f7d003a0a1c9bd272b0594f50355afc6cfd8bf25e5a8eb5549f2d31bdeb03db089e8318207a384bd2834cb05d70947ca8a552f5664e7b769d2f010c5a4980031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03b52486ffb4c5a4ac57a8e195225fb21498adade8c4d9ec9a3a8eda425007011bffffffffffffffff05581e03f5a9209e81a2971c17c7008b74c16a3702b7b4d2ec32d2f58cc5cd22600c01477072f3d6ebf2000393a9e028662a7ae3599fd55f4b0056d7ea2286ac0a1bd340c9179ed3ef7756950320d03695f17eb132593dd2e4e7182fdd7f2dec7a2d033430dc9be0f665becba605581e03b2c38c665707df5a27a8bb6f2deb2494ab33713ef6d459504ef50df0000c0c47048c93599a292205581e03a18c6bfce3f5dad2e8f481b44b58c591fe046d8f33d89797bc722b60f00c01473034285a64615705581e038b010efb90298d35ae8cd9dc510e57b8180fdf2c18f7f853c1fc1f69100c04477b3df6412b0c0005581e03e2cbb987323b3a835359f6801e8d77b382e8b0dd1a80b9ec4b3a839b200c01470d02a4718a000002198fff03d6e081abb3fb9d2e179ab910ff5212f0bd51f294d2ffdaf37f847f4e9e01771b03a849449e3f3506e6ce03cf78d26c35bff530744c248117570d4e30e9c7dfbe5c03825a2513d68ce49e0236a5fafeb63b6f29a59bccbc4daa15a432e6d89e32cfd00337d2cf26ff521794df3558a500c5e910efb75e5d7da40749a347c9808f0d69bb0219ffff03daba68f56cf26eb858de7af6d6157707153d57f6d54b9ad6af6cd791d324795f03c063e0c7d9cd828428326c01cc730d1790911572cf9745cd2819595f025d02270219ffff031baec4a4593cfd331f653d56b376285d7a885f6d3017603e01805ad03ff401ce0219ffff0325dea07a290f4bc1fec90b9e12cce9740ae773fb32d66e4fe18d8cd53a12c7f403d1e985fec2d91aa2fee256da3055e402133375e6a765cc7a800e1e7872e02d6203fe34d13151bcc074c7f208d55e47495a8c2ddc1103bd70a02cb44929443217d603484a1d2d65f00f43f11c2cc80863041d439a983041077ae2b8898f21c33da6ce03f0b506d5b3efe84d47f09996750358af0f67ebb9893f01cb41ad44fef90b70e3036be4f908195b76d2028707cbc130dec5b5fd8e82a458e400744fef2cfed377f80331012e004357f66919e4634e5033e63b5c1785c1e542baf810895f4916226c0c031f74f3f5c3174c984e242aaf03212650d8230d4f3fcf60bc3484b0e83d42152a03a83bfd2371874dbfcc34890b43de245b3ad4e5efa4fd7dcaba35bd38114a86440338f7060f00de4665d8b8998fc1ccdbb98e9d2bdb7cd70113db34c0115b23809303ef21178f69e2d9238557e5969bbc7dcb3260526f36dafb8c914c7a841290df980330f4f47ad8c97fe3956c3310a919636d112eedaf80cb3a336a42e67901fad7d803444d70f78ee29c4e368c39ea0e115833d0971ba42789e667ed9380f2f5f7463e03f3df729c4d989f593db62a733ee3f712c0e263cf5355a4f8eaf6d30bf6004e910350a19d839ec6a0a9981942d0bcec77b56a483856d555aa25ef10f4f6b7a3add103f001d8b7d46666ef4defbffcfcf62972e059a49e238cfa379e00ae93705fd5d1033122fd97c0fdba86b3fd11b1cc1439cc58bb32b0481895ec30837d7e0e31cacc03a1a49d1a1708e88556c9a5530ffe3072ddf2a8a8537f66a77009fe027e8971e8032a042a0c556849161075c98f216860226581725c459d0ff8c5552ad3660893de037c8115cfc6c81972d1ad37fbaed070562af79732337c8bd0074ab084b0744edc03191c43f810ff8e5fdc56bebeba15bcc7530a5452e01f8ab52e30648f483c991503eceb813444efe89e48087bb6c859d243e85c0446bbc735bf100465e59a57a3b30370ee4d11422bcdad21d0133d0cdcb8034303cfe16fc816dbe8b1bc3923a2392d030fb8898ba09a8f8cd98933b0523ee023df7873956bf5a610890150ad07f1e19d030ecee46dd61d79d6a0398cb3e406d58a5a5f8975e93678007143ec8ace739a800330467e219cbab4de77f043f7d3722e098a097a92331c427313d2d33c80499d2b03c5e4b9b43c8034e912352235b3f8d439d828fed3951998eb4fab0053807e4a3203a0bf7b06eb3ee82d774f139634936a906a177a09074c043e1b39c200eaefb7c3032134465f523615bc7c9f4a7aaef9f4de3d0fa0a0b6c923e9f6e8c405bc6dbf6603e3fb0c16b39c6b1788f253e88eae69b87d0260a5e1673dcb8e920a6f665fa4bb0313f1d685e6b372e22faf2bf7d29568c124d533ea28e42d01fa5e7d1c3731fd9f0388c40e11c16c035c6cd2a113ad63197ffd03d829264172c66a3bc13da567b98a05581e0319c58a7ab2cce945d8ad62e14984d26bf0c7f00f8d25f0af6baea9ee700c1834471b67b6fd25a800032398b2fb02ef1ecd199098abf52f3edcbe58eaa63cebd95394189c77bddea34903cc51f2662e47ac26308e1d5858fca3f7a28fc3f6dce017d2e9019f76927ed74e0345b68a0d4c42a6477529b56f2e991a3e94d19bfbd7d374b85cec99c1891638c105581e035eefa91ffde0dca5a7f1ec39499f461ff8e2a6036a9cee4392f52656b007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03bc9c976b621505e3bf143d12324ef1e439fa4672a7ebf8cfe7496698d007011bffffffffffffffff05581e03e1c2a7385846894c54181b52a0e10393e2725f0aa52abc49add265c9d004020459465960017f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000190815f3506602052816020350660405281604035066060528160603506608052816080350660a0528160a0350660c0528160c0350660e0528160e0350661010052816101003506610120528161012035066101405281610140350661016052816101603506610180528161018035066101a052816101a035066101c052816101c035066101e052816101e0350661020052816102003506610220528161022035066102405281610240350661026052816102603506610280528161028035066102a052816102a035066102c052816102c035066102e052816102e0350661030052816103003506610320528161032035066103405281610340350661036052816103603506610380528161038035066103a052816103a035066103c052816103c035066103e052816103e0350661040052816104003506610420528161042035066104405281610440350661046052816104603506610480528161048035066104a052816104a035066104c052816104c035066104e052816104e0350661050052816105003506610520528161052035066105405281610540350661056052816105603506610580527f28ae98e7e3cb98f7ea92b5526db3eaf781dd7152cbff76c5793ed8342414891a5f5261020961058035806105a0526105a03590816105c052614615565b166102256105c035806105e0526105e035908161060052614615565b1661024161060035806106205261062035908161064052614615565b166106605f206106605261066051828106610680526106a05261027561064035806106c0526106603590816106e052614615565b1660606106a020610700526107005182810661072052610740526001610760536021610740206107605261076051828106610780526107a0526102c961068035806107c0526106a03590816107e052614615565b166102e56106c03580610800526106e035908161082052614615565b1661030161070035806108405261072035908161086052614615565b1661031d6107403580610880526107603590816108a052614615565b166101206107a0206108c0526108c0518281066108e052610900526103536107803580610920526107a035908161094052614615565b1661036f6107c03580610960526107e035908161098052614615565b1661038b61080035806109a0526108203590816109c052614615565b166103a761084035806109e052610860359081610a0052614615565b1661012061090020610a2052610a2051828106610a4052610a6052816108803506610a8052816108a03506610aa052816108c03506610ac052816108e03506610ae052816109003506610b0052816109203506610b2052816109403506610b4052816109603506610b6052816109803506610b8052816109a03506610ba052816109c03506610bc052816109e03506610be05281610a003506610c005281610a203506610c205281610a403506610c405281610a603506610c605281610a803506610c805281610aa03506610ca05281610ac03506610cc05281610ae03506610ce05281610b003506610d005281610b203506610d205281610b403506610d405281610b603506610d605281610b803506610d805281610ba03506610da05281610bc03506610dc052610380610a6020610de052610de051828106610e0052610e20526001610e40536021610e2020610e4052610e4051828106610e6052610e8052610524610be03580610ea052610c00359081610ec052614615565b166060610e8020610ee052610ee051828106610f0052610f2052610559610c203580610f4052610c40359081610f6052614615565b1661058f60205160405160581b0160605160b01b0180610f805260805160a05160581b0160c05160b01b019081610fa052614615565b166105ca60e0516101005160581b016101205160b01b0180610fc052610140516101605160581b016101805160b01b019081610fe052614615565b1681610a4051610a405109611000528161100051611000510961102052816110205161102051096110405281611040516110405109611060528161106051611060510961108052816110805161108051096110a052816110a0516110a051096110c052816110c0516110c051096110e052816110e0516110e05109611100528161110051611100510961112052816111205161112051096111405281611140516111405109611160528161116051611160510961118052816111805161118051096111a052816111a0516111a051096111c052816111c0516111c051096111e052816111e0516111e05109611200528161120051611200510961122052816112205161122051096112405281611240516112405109611260528161126051611260510961128052816112805161128051096112a052816112a0516112a051096112c052816112c0516112c051096112e052816112e0516112e05109611300528161130051611300510961132052817f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000611320510861134052817f30644e66c81e03716be83b486d6feabcc7ddd0fe6cbf5e72d585d142f7829b05611340510961136052817f2d19f86a2342079b8c1a6417471d461040256eaa689be51f08e6a92e1243ce65611360510961138052817f034a5608bdef988e2c35e19f3a64124ce80e799e111d8b723afb4c65ddbc319c610a4051086113a052817f24a1fcd63e9f03b27281db85fe631ec8e5c466f8178a4ee94d4942b7ccd90e1c61136051096113c052817f0bc2519ca2929c7745ce6a30831e3994426f8150622f21a7f698b2dc2326f1e5610a4051086113e052817f0d5eb4c216db2c3262de3f6a2ef71a9be95ff21a7a1a50ed069d6131e7d54e5f611360510961140052817f230599b0ca5673f75572064c528a3dc13ed3f62dff9f1fa43d449462082ab1a2610a40510861142052817f26501ebfe559ea5826f023d3e76e4b66f170cd940408eb5590a4075c80b498d6611360510961144052817f0a142fb2fbd7b5d1916021e29a130cf636c31ab475b0853bb33dee376f4b672b610a40510861146052817f082a7bd4c0a7e4352229d332c27a160da18f0d7c651f3047df41b80345532f6e611360510961148052817f2839d29e2089bbf496267283bf07424f86a4dacc149a404964a03d90aaacd093610a4051086114a052817f19277f31ecb5bfe8604677099c09556812b0b5c50cceb2b584098183a5a6c5c861136051096114c052817f173ccf40f47be0415809ceace57802f5158332836ceabddbbfd874104a593a39610a4051086114e052817f20bab6e5f766b4edf82399e9c5ff0e40d4b6875321a3d8020e18521d8f5c7241611360510961150052817f0fa9978ce9caeb3bc02cabccbb824a1c537d60f55815988f35c9a37660a38dc0610a40510861152052816001611360510961154052817f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000610a40510861156052817f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec97611360510961158052817f12a9c31703ccb0bcd5b5b57cd4dd977803fa8c04c096f4fa7c9164c78338136a610a4051086115a052817f0d94d63997367c97a8ed16c17adaae39262b9af83acb9e003f94c217303dd16061136051096115c052817f22cf783949fb23920f632ef506a6aa2402084d503eedd291044d337cbfc22ea1610a4051086115e052817f303a348fae5a4f041e5c056919bc140f68267e2fb55a522282b02d6a100e01a0611360510961160052817e2a19e332d7512599f4404d67c5444dc00d6a18c45f1e6ec131c829dff1fe61610a40510861162052817f1951441010b2b95a6e47a6075066a50a036f5ba978c050f2821df86636c0facb611360510961164052817f17130a62d07ee6cf4a089faf311ab35324c48c9f00f91f9ec1c3fd2db93f0536610a40510861166052817f04fe6e3fa02c3830525c10d7bbf567639bfc836de8fe4e471c889a638d381c71611360510961168052817f2b65e033410567f965f434dec58bf0f98c3764da90bb224a27595b3062c7e390610a4051086116a052817f24db2e49a2c215211bae763372d0d8b05d0140adbc6d9d63f2a226fb711fd87361136051096116c052817f0b8920293e6f8b089ca1cf830eb07faccb32a79abd4bd32d513fce987ee0278e610a4051086116e052817f0f6afbf59e2fef78443acf353ca6d17cfc07ebc6343141cd56a9102bd4864004611360510961170052817f20f9527d4301b0b17415768144da86e02c2bfc8245882ec3ed38e5681b79bffd610a40510861172052817f1283ba6f4b7b1a76ba2008fe823128bea4adb9269cbfd7c41c223be65bc60863611360510961174052817f1de0940395b685b2fe303cb7ff502f9e83862f21dcf998cd27bfb9ad9439f79e610a40510861176052817f10e6c9ec7941500e1b1095e82fb0034bd9e95777ca9ae5ce296eadc089110518611360510961178052817f1f7d848667f0501b9d3fafce51d155114e4a90d0af1e8ac31a7347d366eefae9610a4051086117a052817f25ad5db2a6bf79a14fd0d2ffd3d0927af7fdd30bce40f88fb46774fd262d767361136051096117c052817f0ab6f0c03a722688687f72b6adb0c5e23036153cab7878018f7a8096c9d2898e610a4051086117e052817f2cd3ee06866876806a4a382f7a95576f34fd9ce6aad8bf350670ed33fe3259ac611360510961180052817f0390606c5ac929a94e060d8706ec00edf3364b61cee0b15c3d71085ff1cda655610a40510861182052817f2f835d9f4207df4efa4ffa0b2bbf9a4f54221c57cc506b7a5f8dae90bd2e3d0a611360510961184052817ee0f0d39f29c0dabe004bab55c1be0dd411cbf0ad690516e454470332d1c2f7610a40510861186052817f30526acf1fa80f36309d80530d854ae7d52fc97bcb8d0a6a2a7f852e7b6e9d79611360510961188052817e11e3a3c18990f387b2c56373fc0d7553041eccae2c66271962706574916288610a4051086118a052817f0af04af9c243a8b4b8767330b8dae01f562d7641cdf0a0c4d288e395c0aebb7261136051096118c052817f257403791eedf774ffd9d285c8a6783dd2067206abc8cfcc715911fe2f51448f610a4051086118e052817f2387d5be5175ba27fd2f8779b460ffdd830e06cd2f6bcf30c3715fbed25b1b67611360510961190052817f0cdc78b48fbbe601bb20be3ccd20587fa525e17b4a4da160807095d51da4e49a610a40510861192052817f18c95f1ae6514e11a1b30fd7923947c5ffcec5347f16e91b4dd654168326bede611360510961194052817f179aef57fae05218169d35deef48109728652313faa28775f60ba17d6cd94123610a40510861196052817f1ed7bccd53b52d451436ae36d9f0225657083d7e909edb5560d7ea488aebe0d1611360510961198052817f118c91a58d7c72e4a419977fa7913606d12baac9e91a953be30a0b4b65141f30610a4051086119a052817f0ba3551f265c0941ccb3766d47b26720ad620a597137ff3c84310bd3e28e26c961136051096119c052817f24c0f953bad596e7eb9ccf4939cef13c7ad1ddef08817154bfb0e9c00d71d938610a4051086119e052817f0803f4ae22d04b4c9c282c70c843e12bfb2d84b89bd7ef84dc3b90d60053b1c86113605109611a0052817f286059c4be6154dd1c281945b93d77312d06638fdde1810c67a664bdefac4e39610a405108611a2052817f29aa84e8187de51daa6de67f44fe365fbb789d1e5f97bc95844628487ebd3a0d6113605109611a4052817f06b9c98ac8b3bb0c0de25f373c8321fd6cbb4b2a1a21b3fbbf9bcd4b7142c5f4610a405108611a6052817f0e4fc6c7e1947e44222db52506e305b8a9ad70f6a834db5a4778d4a30f1c6f926113605109611a8052817f221487aaff9d21e5962290917a9e52a47e867751d1849536fc6920f0e0e3906f610a405108611aa052817f20816bee57855658ecd8a204faf6bced826a725b63c6a1a388b4609a2478809f6113605109611ac052817f0fe2e28489ac49d0cb77a3b1868a9b6fa5c975ed15f2ceedbb2d94f9cb877f62610a405108611ae052817f0d44b8855e09d5ae332469459793c1444814f6d137f9e93e780bd41c97e37caa6113605109611b0052817f231f95ed8327ca7b852bdc70e9ed9718e01ef17741bf8752cbd62177581c8357610a405108611b2052817f07fe49da5568a43070d955e0d212d956e1ff8abd41a763c737e292bee04766996113605109611b4052817f286604988bc8fbf94776efd5af6e7f0646345d8b38120cca0bff62d50fb89968610a405108611b6052817f2c6040b2797deab65e00a7ee9018fbdb75e916de605bf24fb513b6ca66b1478d6113605109611b8052817f04040dc067b3b5735a4f9dc7f1685c81b24ad16a195d7e418ece3ec9894eb874610a405108611ba052817f2d944f7c9d9b18f93a10ba016c50556fa616881971f02bf85e3e72381f7896fd6113605109611bc052817f02cffef6439687307e3f8bb5153102ed821d602f07c94498e5a3835bd0876904610a405108611be052817f07ed599903bc9e02d1a890537eb12acd1593c37d5bfe146b75f6aab8e3f566bc6113605109611c0052817f2876f4d9dd750226e6a7b56302d02d9012a024cb1dbb5c25cdeb4adb0c0a9945610a405108611c2052817f2f6d5dbc65d9e42565b5259fa7b05b83e83bd240f447c0c743a36e342cbbd6ed6113605109611c4052817ef6f0b67b57bc04529b2016d9d0fcd93ff816078571afca003e875fc3442914610a405108611c6052817f08ffad227a9541acfef016a9ab142439aea1e944b29b6d943ea2e35ce2b445a26113605109611c8052817f2764a150669c5e7cb9602f0cd66d34237991ff03c71e02fd053f12370d4bba5f610a405108611ca052817f2a0b54f8b103ed4d0905efc495dde86cac699ca13eba75245ae7da68d467c52c6113605109611cc052817f0658f97a302db2dcaf4a55f1eba36ff07bca4ba73afefb6ce8fa1b2b1b983ad5610a405108611ce052817f1bbeec9a5ff9190308a7669eed61461287f04bd8f2878ef57e25e1b9f02fb1ed6113605109611d0052817f14a561d881388726afa8df179420124aa0439c6f8731e19bc5bc13d9ffd04e14610a405108611d2052817f032750f8f3c2493d0828c7285d0258e1bdcaa463f4442a52747b5c96639659bb6113605109611d4052817f2d3cfd79ed6f56ecb0277e8e247eff7b6a6943e48575463ecf6698fd8c69a646610a405108611d6052817f0653096e0aea3bee59084d8596a3ae7b353413078b39c22199382dbf5c9757cf6113605109611d8052817f2a114504d647643b5f47f830eadda9e1f2ffd540ee7fae6faaa9c7d49368a832610a405108611da052817f180089fc002ac7cc97ff3ca4bd9a7d619478f1cd3811783125e6ab03a33233046113605109611dc052817f1863c476e106d85d20510911c3e6dafb93baf67b41a7f8601dfb4a904ccdccfd610a405108611de052817f2b0a14fda96cb98ae032e8b833701c150104c893945f6ddbbd3a62f9fde629b26113605109611e0052817f055a397537c4e69ed81d5cfe4e113c48272f1fb4e55a02b586a79299f219d64f610a405108611e2052817f1ee9b22299f8d2c2a4a89b7bc09e0b44dbb47bdaea5a81b9a6754c34c1431fb06113605109611e4052817f117a9c504738cd6713a7aa3ac0e34d184c7f6c6d8f5eeed79d6ca95f2ebce051610a405108611e6052817f1b00b3359bc5f05b89367b38d3c79e73385f39114184a3f565d1a8b80bb1608f6113605109611e8052817f15639b3d456bafce2f19ca7dadb9b9e9efd4af373834cc9bde104cdbe44e9f72610a405108611ea052817f0e817e26285be10d74d796a1e82669eff980e2f0c91a70f95c29a456d7ce5d5c6113605109611ec052817f21e2d04cb8d5bf1c4378af14995aee6d2eb30557b09eff97e7b8513d1831a2a5610a405108611ee052817f1a3021b85b6b675621d813aa0c588a797c7e7f6c849d31676a67d0d05b6b4e0c6113605109611f0052817f16342cba85c638d39678320c7528cde3abb568dbf51c3f29d97a24c39494b1f5610a405108611f2052817e7a4dc361069950d7cc013db4be2feeca18869368a658bafd1f9e32682bfa0b6113605109611f4052817f2fea00af802b06d8e0844478ccc3286e5e1b61b5111317d646c2576187d405f6610a405108611f6052817f2b98b79f23c299c69a888a76102d40984c19d0a4f1f95b85b72b4ffbb1f7c6296113605109611f8052817f04cb96d3bd6f06631dc7bb40715417c4dc1a17a387c0150b8cb6a5983e0839d8610a405108611fa052817f127036f13a5ba58cd93aad0c1803d033be2c2c2ec08be200ecf67639cdf4ce716113605109611fc052817f1df41781a6d5fa9cdf1598aa697d88296a07bc19b92d8e9056eb7f5a220b3190610a405108611fe052817f2f47e203cdc81a75bf6264cfe4067c974020c186bd6b1c5c9a688f90b8e8be40611360510961200052817f011c6c6f136985b3f8ede0e69d7adbc5e81326c1bc4e5434a9796603371741c1610a405108612020528180808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080806113a0516113e05109806120405261142051098061206052611460510980612080526114a05109806120a0526114e05109806120c0526115205109806120e052611560510980612100526115a0510980612120526115e05109806121405261162051098061216052611660510980612180526116a05109806121a0526116e05109806121c0526117205109806121e052611760510980612200526117a0510980612220526117e05109806122405261182051098061226052611860510980612280526118a05109806122a0526118e05109806122c0526119205109806122e052611960510980612300526119a0510980612320526119e051098061234052611a2051098061236052611a6051098061238052611aa05109806123a052611ae05109806123c052611b205109806123e052611b6051098061240052611ba051098061242052611be051098061244052611c2051098061246052611c6051098061248052611ca05109806124a052611ce05109806124c052611d205109806124e052611d6051098061250052611da051098061252052611de051098061254052611e2051098061256052611e6051098061258052611ea05109806125a052611ee05109806125c052611f205109806125e052611f6051098061260052611fa051098061262052611fe0510980612640526120205109806126605261134051096126805260206126c05260206126e05260206127005261268051612720527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff612740527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000161276052600160206126a060c06126c060055afa14168180808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080806126a0516113405182826126605109611340520961202051828261264051096120205209611fe05182826126205109611fe05209611fa05182826126005109611fa05209611f605182826125e05109611f605209611f205182826125c05109611f205209611ee05182826125a05109611ee05209611ea05182826125805109611ea05209611e605182826125605109611e605209611e205182826125405109611e205209611de05182826125205109611de05209611da05182826125005109611da05209611d605182826124e05109611d605209611d205182826124c05109611d205209611ce05182826124a05109611ce05209611ca05182826124805109611ca05209611c605182826124605109611c605209611c205182826124405109611c205209611be05182826124205109611be05209611ba05182826124005109611ba05209611b605182826123e05109611b605209611b205182826123c05109611b205209611ae05182826123a05109611ae05209611aa05182826123805109611aa05209611a605182826123605109611a605209611a205182826123405109611a2052096119e051828261232051096119e052096119a051828261230051096119a052096119605182826122e0510961196052096119205182826122c0510961192052096118e05182826122a051096118e052096118a051828261228051096118a0520961186051828261226051096118605209611820518282612240510961182052096117e051828261222051096117e052096117a051828261220051096117a052096117605182826121e0510961176052096117205182826121c0510961172052096116e05182826121a051096116e052096116a051828261218051096116a0520961166051828261216051096116605209611620518282612140510961162052096115e051828261212051096115e052096115a051828261210051096115a052096115605182826120e0510961156052096115205182826120c0510961152052096114e05182826120a051096114e052096114a051828261208051096114a0520961146051828261206051096114605209611420518282612040510961142052096113e05182826113a051096113e052096113a052816113a051611380510961278052816113e0516113c051096127a052816114205161140051096127c052816114605161144051096127e052816114a051611480510961280052816114e0516114c051096128205281611520516115005109612840528161156051611540510961286052816115a051611580510961288052816115e0516115c051096128a052816116205161160051096128c052816116605161164051096128e052816116a051611680510961290052816116e0516116c051096129205281611720516117005109612940528161176051611740510961296052816117a051611780510961298052816117e0516117c051096129a052816118205161180051096129c052816118605161184051096129e052816118a0516118805109612a0052816118e0516118c05109612a205281611920516119005109612a405281611960516119405109612a6052816119a0516119805109612a8052816119e0516119c05109612aa05281611a2051611a005109612ac05281611a6051611a405109612ae05281611aa051611a805109612b005281611ae051611ac05109612b205281611b2051611b005109612b405281611b6051611b405109612b605281611ba051611b805109612b805281611be051611bc05109612ba05281611c2051611c005109612bc05281611c6051611c405109612be05281611ca051611c805109612c005281611ce051611cc05109612c205281611d2051611d005109612c405281611d6051611d405109612c605281611da051611d805109612c805281611de051611dc05109612ca05281611e2051611e005109612cc05281611e6051611e405109612ce05281611ea051611e805109612d005281611ee051611ec05109612d205281611f2051611f005109612d405281611f6051611f405109612d605281611fa051611f805109612d805281611fe051611fc05109612da05281612020516120005109612dc0528180808080808080808080808080808080808080808080808080808080808080808080808080808080808080602051612860510981604051612880510908816060516128a0510908816080516128c05109088160a0516128e05109088160c0516129005109088160e05161292051090881610100516129405109088161012051612960510908816101405161298051090881610160516129a051090881610180516129c0510908816101a0516129e0510908816101c051612a00510908816101e051612a205109088161020051612a405109088161022051612a605109088161024051612a805109088161026051612aa05109088161028051612ac0510908816102a051612ae0510908816102c051612b00510908816102e051612b205109088161030051612b405109088161032051612b605109088161034051612b805109088161036051612ba05109088161038051612bc0510908816103a051612be0510908816103c051612c00510908816103e051612c205109088161040051612c405109088161042051612c605109088161044051612c805109088161046051612ca05109088161048051612cc0510908816104a051612ce0510908816104c051612d00510908816104e051612d205109088161050051612d405109088161052051612d605109088161054051612d805109088161056051612da05109088161058051612dc0510908612de05281610aa051610ac05109612e005281612e0051610a805108612e205281610ae0518103612e205108612e405281610be051612e405109612e605281612e60516108e05109612e805281610b2051610b405109612ea05281612ea051610b005108612ec05281610b60518103612ec05108612ee05281610c0051612ee05109612f005281612f0051612e805108612f205281612f20516108e05109612f405281610ce0518103600108612f60528161286051612f605109612f805281612f8051612f405108612fa05281612fa0516108e05109612fc05281610d4051610d405109612fe05281610d40518103612fe051086130005281612780516130005109613020528161302051612fc051086130405281613040516108e051096130605281610d20518103610d40510861308052816128605161308051096130a052816130a05161306051086130c052816130c0516108e051096130e0528161278051810360010861310052816127c0516127a0510861312052816127e05161312051086131405281612800516131405108613160528161282051613160510861318052816128405161318051086131a052816131a051810361310051086131c0528161072051610c4051096131e052816131e051610ba051086132005281610780516132005108613220528161072051610c605109613240528161324051610a805108613260528161078051613260510861328052816132205161328051096132a0528161072051610c8051096132c052816132c051610b0051086132e05281610780516132e0510861330052816132a05161330051096133205281610d00516133205109613340528161072051600109613360528161336051610a405109613380528161338051610ba051086133a05281610780516133a051086133c05281610720517f09226b6e22c6f0ca64ec26aad4c86e715b5f898e5e963f25870e56bbe533e9a2096133e052816133e051610a405109613400528161340051610a805108613420528161078051613420510861344052816133c05161344051096134605281610720517f13b360d4e82fe915fed16081038f98c211427b87a281bd733c277dbadf10372b09613480528161348051610a4051096134a052816134a051610b0051086134c05281610780516134c051086134e05281613460516134e051096135005281610ce05161350051096135205281613520518103613340510861354052816131c05161354051096135605281613560516130e051086135805281613580516108e051096135a0528161072051610ca051096135c052816135c051610b8051086135e05281610780516135e05108613600528161072051610cc05109613620528161362051612de05108613640528161078051613640510861366052816136005161366051096136805281610d605161368051096136a05281610720517f18afdf23e9bd9302673fc1e076a492d4d65bd18ebc4d854ed189139bab313e52096136c052816136c051610a4051096136e052816136e051610b80510861370052816107805161370051086137205281610720517ea136ba13afa6c83eb7b82fb370e228e74155e48fb8f1c1cfc33fb0da8afb4209613740528161374051610a405109613760528161376051612de0510861378052816107805161378051086137a05281613720516137a051096137c05281610d40516137c051096137e052816137e05181036136a0510861380052816131c05161380051096138205281613820516135a051086138405281613840516108e05109613860528161286051610d80510961388052816138805161386051086138a052816138a0516108e051096138c0528161278051610d8051096138e052816138e0516138c051086139005281613900516108e05109613920528161072051610bc05108613940528161072051610b80510861396052816139405161396051096139805281610d80518103610da051086139a05281613980516139a051096139c05281610dc05161396051096139e052816139e05181036139405108613a005281613a005181036139c05108613a2052816131c051613a205109613a405281613a40516139205108613a605281611320516113205109613a80528161132051613a805109613aa0528161132051613aa05109613ac0528161132051600109613ae05281613a8051600109613b005281613aa051600109613b20528161134051613a605109613b405281610a40516110005109613b6052816001610a405109613b805281613b80518103610f005108613ba052817f0d94d63997367c97a8ed16c17adaae39262b9af83acb9e003f94c217303dd160610a405109613bc05281613bc0518103610f005108613be052817f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec97610a405109613c005281613c00518103610f005108613c2052817f2d19f86a2342079b8c1a6417471d461040256eaa689be51f08e6a92e1243ce65610a405109613c405281613c40518103610f005108613c6052817f303a348fae5a4f041e5c056919bc140f68267e2fb55a522282b02d6a100e01a0610a405109613c805281613c80518103610f005108613ca05281807f2eedbf565be4b0b88a0e251d750f7559486d77bea4d5c9612ce3041295d380d5610f005109817f01768f1c854cef712e4220990c71e303dfc67089d4e3a73016fef1815a2c7f2c610a40510908613cc05281807f0cf547ca658485dd9a20bd27b080d3147ec1caa826e725f7f7989fc9668dd16f610f005109817f077ebe9a531776ef7c9e90d5a0685181f70e74298eca38a6c92d84d4c0457ceb610a40510908613ce05281807f077ebe9a531776ef7c9e90d5a0685181f70e74298eca38a6c92d84d4c0457ceb610f005109817e32f4eea6716d08d38119c3d378a36e865ffacfa73eb2357603f3f3368c88c6610a40510908613d005281807f0d71dfba734c88cf774db4e0e4f959cb98acfbbb1fc789e5167bbca1fcafd24e610f005109817f25ea65fea4371c04dd1eaf23d69f2e0f9524ef5b9845d01cdb218e89a8052321610a40510908613d205281613ba051600109613d405281613c2051613d405109613d605281613be051613d605109613d805281613ca051613d805109613da05281806001610f005109817f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000610a40510908613dc05281807f0a31c7831f29acd3bc1d2ceb8c237030a99984526f855ec4c0f3fe513dcd5322610f005109817f263286efc207f355fc3318caf55de82c7e9a63f60a3411cc82edf742b232acdf610a40510908613de05281807f28b694e47fa6313d983b54cf98726cf884872eaf4c74293077c38d54f8e0a513610f005109817f26dff67b837b9666eb8e00a994b546b71208787bdb742f03fdfc9e4f1b2c1005610a40510908613e005281807f021cbce8af1329c4a7fde8a8aeda626766428bce2ba5b3d7fa61619fbbb6e837610f005109817f2bf0df4860ac14bed1ab31a6112f6d0678e3f8bbd20d3cb4d4d0d1fe016d2ff5610a40510908613e205281613c6051613d605109613e405281807f12a9c31703ccb0bcd5b5b57cd4dd977803fa8c04c096f4fa7c9164c78338136b610f005109817f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec96610a40510908613e605281807f1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec96610f005109817f1025b522462e72d539ad797831c912abfe0dc14b7e56dd9687bbceb53c8a1b37610a40510908613e8052818080808080808080808080613cc051613ce0510980613ea052613d00510980613ec052613d20510980613ee052613dc0510980613f0052613d40510980613f2052613de0510980613f4052613e00510980613f6052613e20510980613f8052613e40510980613fa052613e60510980613fc052613e80510980613fe052613d60510961400052602061404052602061406052602061408052614000516140a0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff6140c0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000016140e0526001602061402060c061404060055afa141681808080808080808080808061402051613d60518282613fe05109613d605209613e80518282613fc05109613e805209613e60518282613fa05109613e605209613e40518282613f805109613e405209613e20518282613f605109613e205209613e00518282613f405109613e005209613de0518282613f205109613de05209613d40518282613f005109613d405209613dc0518282613ee05109613dc05209613d20518282613ec05109613d205209613d00518282613ea05109613d005209613ce0518282613cc05109613ce05209613cc052818080613cc051613ce05108613d005108613d2051086141005281613d4051613da0510961412052613dc0516141405281613e4051613da05109614160528180613de051613e005108613e2051086141805281613d6051613da051096141a05281613e6051613e8051086141c052818080614100516141405109806141e052614180510980614200526141c051096142205260206142605260206142805260206142a052614220516142c0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff6142e0527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001614300526001602061424060c061426060055afa1416818080614240516141c051828261420051096141c052096141805182826141e051096141805209614140518282614100510961414052096141005281614140516141205109614320528161418051614160510961434052816141c0516141a051096143605281610e0051610e0051096143805281610e005161438051096143a05281610e00516143a051096143c05281610e00516143c051096143e05281610e00516143e051096144005281610e005161440051096144205281610e005161442051096144405281610e005161444051096144605281610e005161446051096144805281610e005161448051096144a05281610e00516144a051096144c05281610e00516144c051096144e05281610e6051610e6051096145005281610e605161450051096145205281610e605161452051096145405281808080613cc051610a80510981613ce051610aa051090881613d0051610ac051090881613d2051610ae0510908614560528161410051614560510961458052816001614580518203096145a05281808080613cc051610b00510981613ce051610b2051090881613d0051610b4051090881613d2051610b605109086145c05281614100516145c051096145e05281610e00516145e0518203096146005281610e00516001096146205281614600516145a051086146405281600161464051096146605281600161462051096146805281614120516001096146a05281613dc051610b8051096146c05281614320516146c051096146e0528160016146e051820309614700528160016146a051096147205281613dc051610dc0510961474052816143205161474051096147605281610e0051614760518203096147805281610e00516146a051096147a052816147805161470051086147c05281613dc051610ba051096147e05281614320516147e05109614800528161438051614800518203096148205281614380516146a051096148405281614820516147c051086148605281613dc051610bc0510961488052816143205161488051096148a052816143a0516148a0518203096148c052816143a0516146a051096148e052816148c05161486051086149005281613dc051610be05109614920528161432051614920510961494052816143c0516149405182030961496052816143c0516146a0510961498052816149605161490051086149a05281613dc051610c0051096149c05281614320516149c051096149e052816143e0516149e051820309614a0052816143e0516146a05109614a205281614a00516149a05108614a405281613dc051610c405109614a60528161432051614a605109614a80528161440051614a8051820309614aa05281614400516146a05109614ac05281614aa051614a405108614ae05281613dc051610c605109614b00528161432051614b005109614b20528161442051614b2051820309614b405281614420516146a05109614b605281614b4051614ae05108614b805281613dc051610c805109614ba0528161432051614ba05109614bc0528161444051614bc051820309614be05281614440516146a05109614c005281614be051614b805108614c205281613dc051610ca05109614c40528161432051614c405109614c60528161446051614c6051820309614c805281614460516146a05109614ca05281614c8051614c205108614cc05281613dc051610cc05109614ce0528161432051614ce05109614d00528161448051614d0051820309614d205281614480516146a05109614d405281614d2051614cc05108614d60528161412051613ae05109614d80528161412051613b005109614da0528161412051613b205109614dc05281613dc051613b405109614de0528161432051614de05109614e0052816144a051614e0051820309614e2052816144a0516146a05109614e4052816144a051614d805109614e6052816144a051614da05109614e8052816144a051614dc05109614ea05281614e2051614d605108614ec05281613dc051610c205109614ee0528161432051614ee05109614f0052816144c051614f0051820309614f2052816144c0516146a05109614f405281614f2051614ec05108614f605281610e6051614f605109614f805281610e60516147205109614fa05281610e60516147a05109614fc05281610e60516148405109614fe05281610e60516148e051096150005281610e605161498051096150205281610e6051614a2051096150405281610e6051614ac051096150605281610e6051614b6051096150805281610e6051614c0051096150a05281610e6051614ca051096150c05281610e6051614d4051096150e05281610e6051614e4051096151005281610e6051614e6051096151205281610e6051614e8051096151405281610e6051614ea051096151605281610e6051614f4051096151805281614f805161466051086151a05281614160516001096151c052818080613de051610ce0510981613e0051610d0051090881613e2051610d205109086151e05281614340516151e051096152005281600161520051820309615220528160016151c05109615240528161450051615220510961526052816145005161524051096152805281615260516151a051086152a052816141a0516001096152c0528180613e6051610d40510981613e8051610d605109086152e05281614360516152e051096153005281600161530051820309615320528160016152c05109615340528180613e6051610d80510981613e8051610da051090861536052816143605161536051096153805281610e0051615380518203096153a05281610e00516152c051096153c052816153a05161532051086153e05281614520516153e0510961540052816145205161534051096154205281614520516153c051096154405281615400516152a051086154605281613da0516001096154805281610f00516001096154a05260016154c05260026154e0526154605161550052600160406154c060608160075afa14166154c051615520526154e051615540526105a051615560526105c051615580526001604061552060808160065afa14166105e0516155a052610600516155c052614680516155e052600160406155a060608160075afa1416615520516156005261554051615620526155a051615640526155c051615660526001604061560060808160065afa14166106205161568052610640516156a052614fa0516156c0526001604061568060608160075afa1416615600516156e052615620516157005261568051615720526156a05161574052600160406156e060808160065afa14166106c051615760526106e05161578052614fc0516157a0526001604061576060608160075afa14166156e0516157c052615700516157e05261576051615800526157805161582052600160406157c060808160065afa14167f080269f3ed92c6e3a341858dc24e7d845d3bc96e8d648a3530fdf9a2471adfd8615840527f20966c0fb55fa28fbee76c06f90e08e8dc3853f2c397e37207d7089830a416b161586052614fe051615880526001604061584060608160075afa14166157c0516158a0526157e0516158c052615840516158e0526158605161590052600160406158a060808160065afa14167f0fb05ccb81603592ce60bd6199890470ef6f9caca3c17570df7701d70a2dd957615920527f1cc1301d6d462edf2e79083532a337ef3f087fbf0b9516d08074784017e10c7e6159405261500051615960526001604061592060608160075afa14166158a051615980526158c0516159a052615920516159c052615940516159e0526001604061598060808160065afa14167f2e450b539270de5a7e76b1742ceef863e6555a3ceb17e15a30c970a09f5b89eb615a00527f24a8899f7f1b9f5d0d08d4ce06114e3b927b9c17ed6cbf72b4453f6388e2fa13615a205261502051615a405260016040615a0060608160075afa141661598051615a60526159a051615a8052615a0051615aa052615a2051615ac05260016040615a6060808160065afa14167f0e0a0d09d3297f476be1d08a6312dec6ab9afd77ca4a24e89b83f0c9f59620ce615ae0527f1fe0e488c5d44734c5c2bc30bd84697ae396af8823555c557515c9f98636839a615b005261504051615b205260016040615ae060608160075afa1416615a6051615b4052615a8051615b6052615ae051615b8052615b0051615ba05260016040615b4060808160065afa14167f11403199c0ec843e57ff134db14132b156192039dc9b7b3b31fc16a2db8cfc2e615bc0527f28cd1edc3af4c7c637fca26d1d93cdd83f4edf4b0e984d8b3770d79eb99aa313615be05261506051615c005260016040615bc060608160075afa1416615b4051615c2052615b6051615c4052615bc051615c6052615be051615c805260016040615c2060808160065afa14167f1e2d9c5c57d51657f05ad54e0fae244d8f5f3c8c184c7ff7ee9fc9cc704506e7615ca0527f1b66a395b966fe1a3ebe30296bba60c504f929c1b153570c844930e4701c5b38615cc05261508051615ce05260016040615ca060608160075afa1416615c2051615d0052615c4051615d2052615ca051615d4052615cc051615d605260016040615d0060808160065afa14167f2abc8771a0d19f0938e40358db98d317e9f0d2a8c8872d1cfbe56f820eb740a8615d80527f0f568d331b941dc42affd35e178b5c0672adde0e0bb8647bba4c791ece3d41ee615da0526150a051615dc05260016040615d8060608160075afa1416615d0051615de052615d2051615e0052615d8051615e2052615da051615e405260016040615de060808160065afa14167f204c842f660ec3aa72c5b9d84836733d363112976e62d03dd992022ab1115584615e60527f0f935d04487dc92d856c4c2b3ecba75d5c8a384c5cc97db25104f95d00f83320615e80526150c051615ea05260016040615e6060608160075afa1416615de051615ec052615e0051615ee052615e6051615f0052615e8051615f205260016040615ec060808160065afa14167f2008e562d65bbdf3322d1a3d447a392bfe59ea3ae8e038d712db203ab16b168e615f40527f2a7219115e5f5ec1b0a6d66e7225be1317d6a4a3f4fd2c107b2a9edf5b799f23615f60526150e051615f805260016040615f4060608160075afa1416615ec051615fa052615ee051615fc052615f4051615fe052615f60516160005260016040615fa060808160065afa14166109205161602052610940516160405261510051616060526001604061602060608160075afa1416615fa05161608052615fc0516160a052616020516160c052616040516160e0526001604061608060808160065afa14166109605161610052610980516161205261512051616140526001604061610060608160075afa141661608051616160526160a05161618052616100516161a052616120516161c0526001604061616060808160065afa14166109a0516161e0526109c051616200526151405161622052600160406161e060608160075afa1416616160516162405261618051616260526161e05161628052616200516162a0526001604061624060808160065afa14166109e0516162c052610a00516162e0526151605161630052600160406162c060608160075afa1416616240516163205261626051616340526162c051616360526162e051616380526001604061632060808160065afa1416610880516163a0526108a0516163c052615180516163e052600160406163a060608160075afa1416616320516164005261634051616420526163a051616440526163c051616460526001604061640060808160065afa14166107c051616480526107e0516164a052615280516164c0526001604061648060608160075afa1416616400516164e052616420516165005261648051616520526164a05161654052600160406164e060808160065afa141661080051616560526108205161658052615420516165a0526001604061656060608160075afa14166164e0516165c052616500516165e05261656051616600526165805161662052600160406165c060808160065afa14166108405161664052610860516166605261544051616680526001604061664060608160075afa14166165c0516166a0526165e0516166c052616640516166e0526166605161670052600160406166a060808160065afa1416610ea05161672052610ec05161674052615480518203616760526001604061672060608160075afa14166166a051616780526166c0516167a052616720516167c052616740516167e0526001604061678060808160065afa1416610f405161680052610f6051616820526154a051616840526001604061680060608160075afa141661678051616860526167a05161688052616800516168a052616820516168c0526001604061686060808160065afa141690616860516168e0526168805161690052610f405161692052610f605161694052610f805161696052610fa05161698052610fc0516169a052610fe0516169c0526101006168e0206169e052806169e05106616a005280616a0051616a005109616a2052616a0051600109616a405261696051616a605261698051616a8052616a4051616aa05260016040616a6060608160075afa14166168e051616ac05261690051616ae052616a6051616b0052616a8051616b205260016040616ac060808160065afa14166169a051616b40526169c051616b6052616a4051616b805260016040616b4060608160075afa141661692051616ba05261694051616bc052616b4051616be052616b6051616c005260016040616ba060808160065afa1416616ac051616c2052616ae051616c40527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2616c60527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed616c80527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b616ca0527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa616cc052616ba051616ce052616bc051616d00527f186282957db913abd99f91db59fe69922e95040603ef44c0bd7aa3adeef8f5ac616d20527f17944351223333f260ddc3b4af45191b856689eda9eab5cbcddbbe570ce860d2616d40527f06d971ff4a7467c3ec596ed6efc674572e32fd6f52b721f97e35b0b3d3546753616d60527f06ecdb9f9567f59ed2eee36e1e1d58797fd13cc97fafc2910f5e8a12f202fa9a616d805260016020616c206101808160085afa14166001616c2051141615614611575f80f35b5f80fd5b7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4760038180808510818710165f86145f881417151695800993818180090908141690560605581e039bb70954c516804e5d9ef37db3b51e38caacfc77fd8070f3ced767f7300701194659036cfc01dbc0677dbdb3efa4f85b8bfc86679a5c6e75a38239d30cf13d2bd8e680031bddcd9e6f29615d6d5af69ad07a4e1596db8c0eb27c560438b2a4faa63f127a03151ce5c57c8870e9465352fa1e4c4f96d1faf7606177ddb22943ede139210945021959fa032f0cb9bec13fb0195c6561c87d941e3fb9565bd3a1621424060a1d3eefbd2192030235716f7ed0bbafa5cafa014d10ed81b36a56085716e505b9ad7f24cf28d29303f193f5a1c3f79510d2a4a005876a473226a118d5dfae6e77b5ff945cebeb0e4f03f3e70c6154a380f014098c7ec83a91f6c03842a534fd0ae040f0810fdb8c0f170372a0d7cfe1a5d301b541b1caa3c929dac76ea2c05a6974cf7d82d9ea0769fea903cf8aa7fb5e1f51b78084db7ae0bef1ae865cbf24fc17ca00f287fac09d8f39ca0219ffff031c2c3eb1b37c26ee5b85ff6a7d01e2b519771c2dfc2c9618d8c835e9ef657de103400d15109e7883de71512dedfe00f2a59aa6ececa32ef512e2fd41091e4545db035b9f8267b19a9d248b727b2187c0242f3eec76db5654d1fce954e6af6a49e7f703af1e532f6e67f558bcfaa0af9c71616c911e3d8485b3ff4fd607a049a197ea7d03c3bd919d7b186c36b607676a7fb7b6d70837e9794f81ba029878dea31fa30ca9036c1b805d377c0a781a6cd682bb222b1073ae3846c19b25f6487aa5cce46e3c66038149c8f48de74620ce2375dc1d53911d1fa0f7bde3069f76f9beebde0580f72e036b9ac0289902bbfa7b419a3585e3c7054461048ecfa3bee1d4c836feb131e10a035290b3f9f9b2b2a73e034d00000b7b38d169f1029de59d4534e1643b3260c49d03823b58ad29a6d58de0aff8a0e90bb24a880e5e6b8c8bddb4a41df9e53a8bcff2030f5678392ea318c1abfed0dec15a11cf0e5546a0402e65fd34ce505d0501bd750331e6d6b989f458fdf6087b6458bc3c6e4e372d995fa83c890d6d707dfb514b930219ffff03ce09c854c48fc70e7ad6d4cd2915163efe5bbcde6bce4f5587fe86087b184bb603ed791f12652f4ba613629f21089a04c89709d09ff7e3253fbd41e113dc4133e3036b79905e2b4114267a67e3a054445613e24ecd6369ae52df81d9e00fced241350365772b05692487e8108e78da300ca15f48fdeea5e97d755517fcabaeded4aabb0219ffff033afc429508a2fcbcaf9451e8697d26c23885cb2c5a4fe2626d8d3507c024f492030da1d26edc4d0deec63efffdd3e85b762cebd34a00c727f84a657e939ae548c0033245b7868ffb9ebe45ba0ce3f138221c50e937977faf2cc20762c34bdf74ee420380bbe9a207167cad603897d77afb133267f6dfb2ec313af60afc770841f70e9f033bf9e55da89963b7082dbb04748c6df48a305bbc395d3d43461d85ba648888ab039fafa23199232870d4f52f3627d52a28031e83b7de552f6fcd299ae53563e81d0219ffff03c8394c835f45450cf19ba0f98e8ab9cb6167c0688cb5ab97b30de5fc81dc981a03de6f13da66fc329e47daa552ab5171a5ace1c75a03b5ff8fa9cf14630eadd36503b251ab261fb7a70743b7c03322bd4574c58916887b5af8b06c46e4f3a21741ab03a586c4f04a629f3ef0d2bafcc70138487ea28ce01a9c384b83a2055f2833cb8203f2214af73da4f7baeaadf1fb5dfbb10e7550335484834629c64982efae108756035c820e38a13c9d16638a212549acaf5d0829248f77ffb850f59e55ad67030f8403e0e7772498dacdca95047ded1ed7fca5d6f4c16688b8199cf84aa7d1abf76b86036c14da7b249451169342df5120779242aaa986568d288ce3cf469cbdd350486a03e034a7b09e3068333d943942a4228ebb42e5436fbe2d2453ec61926de6e9db8d03bbb6e4068170019425a47eeca56b2d02fc3eb226c8eb051ab5f60f5836ca9b9f03dd572607d4b1a774d219f2cb16fcf393c4abaf722f642256261e8b1d1db2e13d03b7a09605b3842f2ff932191010960592244b63ff11ae3df747d50ac5c6acba5b030d5af2e8a73eca0c737fe6bbad41f3d1927c729b99fba396d102defe6f05992b03d584b939476e9081697c553e3c30a22518a28e3f3c41bcfe82ea2fb3ac35808b0344343dbb46adaf9a6972758837400ec2c2dcf6b538b0c3e8fbf01a09e6babf5303adf5358f6da1e5329803170a7c800d38bfb7029a2541bba1f8dd3c027d9fd206035942f943c50378b6d406e00e5d2ea8c7cad93391e6d3102e5d38ff2a52931d9003ae310c9bbdbd96d17399f7f334e7a9f0ce8956f1c80125aa1ba239ef5f96fc4903bacd0aaf095a8c42cb48b390357d43de737aa0e87f59d9f58dc5432cb010e5a103dbcba9c095bea0fc71766dc24bb0eb8fa424fb6d89462128115b0e233cbb539903e8e861865f82511d26db6bb2708421f9241c05e5b6cac357978df6a030a74e9003af1cb8c00877dd081bd6fb7d7df8791aa95aab2ce4eeb39af6fe5edd2b26d1cf039bcdfb717bc460fb985aa1971ad1ee58acd59013fc6627e5b1988785533fc33c0378986e8477bcf5c3d3954c4eb7e048af1eb54b6e21c3e4367b0bd5333acb8c2c03ecba4a904ae90f3eda9c47f684f6768c75566909a654f69012165f5e60ccc97d0388e9072547fcbc919773fb81880d663d834dd56e58d59bbedf68f60d74fa734d039fec0c6ee296c89ca6c0db4dd793c09c72dfcfbc1b89bb4d3c48bbca89470be603651473deb21915dbb58bb5e9180554ff37a07539b57ee8401cd19405889d299b03337311646e2c99cbeffbfe73dd94f16c7ac2ea086ecc12cd94baef9708f5014005581d02cf039f352817b4940e2087f4c42285c6e2e8469142decf93494b2f81040305581d02e3f133f62c61ac7c8ed05b7b15f6d96a9066adfb395c32c5e49b007d04050459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c59981565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5998d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5998b8b613b86565b8715611aab57611aab7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5999087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000009a772018fbd77fcd2d25657e5c547baff3fd7d161614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5991693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4816939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03600e8992ab51e274e97413f1554ee7748abc6d09dfec2130fccccde64a750fa503f943f859add12035e38604e2e7a3d7f27865677302de8b512c1eef522f5f2b4f03305f78c3fa12d109371cfbaf958d9524ff2d427538da2e5f4acfd0f12ab4bb910305a44c036b08424dcb405152615711228b3e742980aa2c535403659ad7c3c9f10301c74146ae706134a78535445e4cbc63bd93e5c5843e6c4949ceeef09784a40303d725ddac9cebbdfd3f56e7761cfcb13fe873490254a3f7afc5103c19d7ca60fc032c85ca5c862cbcb76ab5dd1a5418743fc226a1fef2a133bb03aa3dd0215b9cad034b498e83fcaa498608197bb4fad4195120e5d296322ef5e196c02353b2dc05cd039130e972e3e137982c049956743992bb97aa6b3660502bca946bb6bf634f3068031f1bab0495626c52715dcb8b5d53f7df7c13af00175ded8c566713f1f076f27703134eb6805dc8be1b61c82a0a9a52a57a8cd917754a7c9838a76abd799043e46100581f03c1ad5ea3f6f9ccd2097337ebf65988ce9bee74d88cc4fcc753167a7c90c04e1ab63541c54214ffe42fa87fa9ed00581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010000960096004700f6a70000000000000017803ea8f973d5335f61185ae20219480001410d03f790dce3a044aae207420bce03a225bf4044baaa347ae176bd8d975f8f31d674005820033f152d696dda992e43de12498300acaefe4f42da2c187f4e948fe70ed8cca04e6e3bf6902a11bda2c4302dc5e8d8030ff5eb33fb50f42d6492e6b631ef0f37c716bf39c08e70cd839ea912eb31976703ecfd4f01246c01496751a08f259980f0f164b111980e01d7215d3cb663549c5503f8781552232c2226a65ed33638bdd91c10c73e81a9f14189b604dca0236bc648036e3af0cb9164c27684df64f1a5a83e91855cf9b9995dbdf3a57179c5d1efe99400582003b4b580c1c038e0f56e1d051d6d6265048dde8b46e702c966282812be8054b04e090d6f926ea69280822a118568b8005820031a77b9f098d37ccfc640975e69b2950907ecdb510cb72839f45d52d6bd8a104f03fd0a458d342bb288abda5fc96134005820032de762abcac4676e50944ca0bf7eb5a14059e72800ca3ce3ff380aa14cb5d05820fffffffffffffffffffffffffffffffffffd69fe09c173aaa14147331bfdc60a00582003bee5f8d0cc267e7b1249af57f23e7f27911e2306cd1841c918ab66c0a61b705009322d20e16f3d6a19a8ee20c455feb803cf2886e02706aa54cf5260a4753004b1a909cc9880a858232a5b66a867e145230219ebed036cf6729dab681f32a41eb118159f84f967a566be1bb21e7c8eecfec93cbc932203becc6149f3edb435a69fad84ea98788e94b10282ca88200ca5a04c6e7a209874030e6ebfb6983a096511df642d1dac00397edb4123d3713be71ec5f03ae9214ac5032791873a66195b4545cae9d406643f9ce3e4e5feeef46cbd5dc9381c3232fe0003f2a336d6d7e60b35fccd58d9e70a65e3cba3b48f3a822d31457f29f26a80cd8603270bb60b4f7e032447655bf96bf0e9f91ce825c98286960f75ffc3efe0b40b860219ffff03f2f4209005a254a19f7f4ac1f38862b13792ecb21edfdf895a2eea68d2fa683203077739f673805304f0352c876c7de3016098d75350aa615d660c928d6cbb3c1700582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c058200101bb87c9011759298f462c9ae33057d24c2df8580005350b1ac4166687ad4b005820030b0d30bc55e68e5a9e48a8be59b82e9bdff5551af6db2c8a50bb9006555d204e5806c0b41ce14bb425711eeb11cd00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0510385e7a00b308f4ee791575769ed01f9fc03eb5f3558a72b684f8f7a34d175c51b56aae2bdd9f74250fbaac04f6325e96b98037afc7193d61d6dede46342fa0f0f5948918447bc9296d1da01b393db4a363e72034fb4987954afd004b753474cdfbaca8c92126b30e3c29f8aa8651d47d3ad9a21005820039c7766bb521502d0380e2ee8548515a127fffa2e2030a80730b975168ed540500195a8e0747831800a57eec0bf0d7825005820031536f648903194bb6e6a174724e144e41d0bd2a06d3e768f13465b163592604e0474083961607fe267461c4b624103495ffc041c99e079a86bf92308f8ea58df1d4b9b63e562bb7a0fd1cda943055e00582003e6a1b1677159340549c5c84a68d6003f0840a79266389ee98cb182e8ea60404f21dda5188e71a70a3ada2c782c5f9b0219d3eb03cf30c52c7ea31980ee9ab3a50a2283a1d5882e502b9115decaa08b2b94eb75250369a8a5344230e66f8ba0f1aae834fa304d10826b481d83b8495a63332fe2068c035e966433e3d44959249be327bde6b5b809b48fc9e5b64741ee54029d46a749c7031c67400650b39d62a066178c01f3c3c5a80aec73be9e57bd27701abe342c092a03f19d74fc4947efe2eb2c57d39f7b203a6dd3ec706bc87657507de914162a778e0344d3b2ccc6b2278c003528ba12736ae897739d4af207cd295581f1d31722749003546f92d33e789ed430f15b3dacc32e079064ad42c140ee62793ab78d0912ef6403eca307db3350a36a34cb73f00431bf7f99f0abe0a8b7a04e8f230d00b158249c03ebce8bf28a2e4d7c2d594833f0d594e9d066f4cb5f5e0152724f6dd0fbcbbd9a038dac0000f2ef4a30245129ec469cea999d9ddf81123dc56eda8c4c2601f0e0c40361bc762b6ac7d3e3efb0e442b682184076d3154bb043f1c463ebd5783bfc077b038e31a1b03aff26cd7b9cc8e590baec5f76acf7b68f84e0cc46f0e289db8b8c4c030daabeec495f80076f7dc466e52a83b8ed7a1c7f78b39e25ccabe3d49d591e8c03920f1b342241d36a4fcdad097552616c152a83b932af2bd33db0de0b713acce203513c14ded69098bededde0e8208ae205b36ac22357048de7bfc62edd283d5c9d0219ffff03395df5415bb2e1c6dbd7607cf5cc1a25499f1846e13d8cd9464113e98e2ff3db0340ab7136709e28fb5cd7af8a8e47a7ef22d506bef8061b8506b71012ae9f79fc033c65d831d946cf6bb37369babd69b9eda4c62e44b01c6e741b7f2ae9ff7be51c038cc6a033ccfd2d54b3925a1ce67d6423e1acdd1bb0a9ba6fd5997c22268b2c4203828046d5e97b64f201ee9fbd519bb2b9319738b839ff64061510e31a0e608074005820033ed70a6c80056f54f8cf328ca07817960380456232401d04b1b565e6c461205820fffffffffffffffffffffffffffffffffffffe356f2dc49f426e181f32f85e41005820039612556959ef813dbe8d0ed29336ab75e80a9b7855030760b2917b01e568a058200101bb87c90117548df598f368d7b463d74dc04e8e000534b235f1a2668750f3005820034785be81ac6ebaa08bb2b0e0797445c5d60fb68e5944e705d1e6bdae09a7e05820ffffffffffffffffffffffffffffffffffe914df53870d7936a8f4df9c8148f400582003ac9831edfd57cda6be497b78a2abffc1a8a38522ebd2b90aaaf2bec4f82b104f03b5257bb336106528f81bd3e52573005820039044719a1ec3b04d0afa9e7a5310c7c0473331d13dc9fafe143b2c4e8148a058200101bb87c9011755435649128763ea23f00b180f19000534c7e018fa6687675b005820031bcf278e8e3f786676fec494f8861df2b1fdc34f447f98c8d98208350b131050010a89f716f32d2d8a7ddf5ab8b0fb5300582003f80f82a09f24b4eac9f4a652e45dbe5574b05042392e9b27325702fba8b6505820fffffffffffffffffffffffffffffffffec8f588cc28657a3dbd303bee9853b803acbca8c1c7009b4358ccc2d180ce19a2dab1d02ce400038da9e87593e716b86b032bad7f3be7bdb1a1eb1eb50923273cda4b95302fee2ccd6c2198db51fc97da0403059fc1d617e2d08c4949bc856d2073a0d8d2175031f5e889595e863a26ebd225005820037bba87b3d9abc64661d4a01145fb02fa399763a0b9117c36bc5b9878430e105820ffffffffffffffffffffffffffffffffff4ab1fdfb369d443fd272e80fc5bc16005820036d6bfca1bab52f93cdcedd24f5806bcdbcf6f29176a4480283b78afb6487004f1cbfdc9db468fa477a1d44ca74b6da03b76b06682e4a0b7a4b3c294e76fdf2c4bb3351c46b06b55f9e271b241b62049303d68a130a0a3f214571494d37af19d7432d9a49546ab3b9142e58abb9fa1e162b0219ffde03953de9857cf841caf2037a2154d023c1df281bca3baf9ac6f7af1298071f2587033e0ba29a172e17c560215e8fa1dd426a9a17668dada6afa3d0aead64af107d1b03463c232b89a614c6f7f729ef9749350e8134422b3f9678ff88c8167540b1879d03c1b3776f64f90462a117012e2cfd595aa5f37e3e7708f0e348bb760d1a3510190369eb9f3c3ff9fe7def5dff18cd0e4ecc3108dd81dc5b478ac839855b47a96f1f036a24e3faa59923e24f9579348611f80f1e5efc19d387425183e6d2c2f7be3b65005820032ee7253ba74a05525adfaf6dde48753821c2a0387ff529066b57d651eb00e04e0c6fee22386a2aba2e5e401efc0f00581f02382a42a2f5ab48bcdfeca991ae5bcb49c89fac44bd348ee347d5950dd43f5820200000006010800108000100000000000400000000000080000000084000000000581f023ad837e40ee076e545d8b98bfb6b4f03ab274df1361a0df32a6af64d5cb34e0122f67c1c0d967e9937bc21157f00581f020704f2d30e6bb6926db27df2cca929d3a13b4ab2d684311d503ca2231a325820fffffffffffffffffffffffffffffffffffff92f63f31a636b795ed481a996400219800c03d7dcf4ec95a686ed2c2109b62aaaddd0ae9fff13ce34254abf53fd5293b5c71b0058200368559943203eadd9431871f328e7bf95e1e0d27345afbcb5b5742f8cf8fb704ff41e2e71709449e8b73dc0faabcd4c03b020b5d31b38cf0952581522c896c5f2c3c1d25617fbcfb147394d4c0e8a0540039308fab3a27043b2739c7bedb5f6b5c528b247062f4498d7afd9a99eca2abe52035a8075be1250ba49f1e698426312b547965917b9ce6e261257f53849fcf9e3c602196e22036f5f59a2cc0609ac160864c19b9fabd4a01121f8ff6f00e29cceb2d870a53cc40336c08b2bd54a19c7514267108ba6d35a8bef867f61d5b013b815c3627b82061203bedba7e014acdf9ec9a313a020b1c22bb087188f39889b3d0606008195c831220219ffff035b3db63a2a1e48b75735c710560b5fc938fe1295cf61426d1c2f3dc4ea6e6ca203d9cef99f69758e2606a4b1212285b43465b6033979451d35d5285b323cea70eb03eb3edc03528b13e722f2d802ba42742a89b4e2960096b4c176135c16e4516ad5030601d64ac85c386cc8b5dce49760cee5bafe9b4c56a078193a5940fdd34fffc2035224dd957fd098ba37c0dde620b183f8ade0f117bad28e68d4074f893748d7ed03bac8011572362ef4607eed7eee39fb322f0b73452a9af19e6e73ea6481720b610346a1b41129e41f59e95cc0d90d1a34425ab26893780ad60217a913898249c9b103b02e306673b5f31cb3cbfb39a44072c8bec1c1abd301c4e9da591bde667f613a03b362f67956bc89fee4538ca96237cb69eab2bbbbb0d5ec0fd0d7056c8b3b498603754c0da71a552dd2ca8924fa8ba57003f9c3bbea8dbbaf54e21c57763360b00203b23e62c9222b8dd26f4184e79fb61a581e56aad9e84cc3004a0203cbbdac0cc403bd8a25d7e36bdf39c9d38846892f31ce47a0f632bb66308481711ee948e5783e032262252f17366c568fb37d3a65919e39c404a33558c3faaf6588bffe3d1ef5eb0058200324dfbce6f681a92fff1cf910aa13520b69f51ea3c9d8cf3876bf164c1d94105820ffffffffffffffffffffffffffffffffffff7601d686478ec4e432de0898f3f400581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b45141f020c5400581f0232720380ebfd6c69b9bf00f740ebf67ed29c674333fa5a2325f2dfbd9edc4f030d0a15e057ea7b1189d67ba738f30219012000582003217ac21334aa18ff08386e553971d481c59e54ead4f3b59a12890173bb69c04f60edbb5ca085ec11f56823cd04004d00582003c92aced112b11b1268507277019668926b613713f8713738a5197f3cb47a405820fffffffffffffffffffffffffffffffffffcde0ff200c284d21f4f80a2dd8c45005820033e332712fb4c6bef0933d5b77a1745b146a6021b9b283b42380573ab88eac0500987ad567866be7a7d50525cc1ad23ce005820035ea1fbcc036053e723b65964974ad0e799160d18acc0cb18306f0303e6b6d05820fffffffffffffffffffffff2d8ddca7000000000000000000000000d27223590005820039166254723f3453d502844765ce9cd71e64c1cdeef7714f26e67de3c804af05820fffffffffffffffffffffffe8ce04312000000000000000000000001731fbcee00582003a8071842d23427841d1632837e399d597d9f2de39c70f56566aca337f03ed04e015b2c7647384acf9d01551abc600219c2bb039ed5ab2c904446d733b702b0bf35d9a8862f2ad060a6bc607e880192a3f30c9203aa8ac7adf2e7736fde7acff90ce698583cdc73e80bdf19551471c6aa6718fcb90337287bb23c52d44814259dd9a4e63b1e1a9dae2df9cc9c048028d48a92c2a7960310974364864629c4083f5f3f62e6f9e857db165c9e5bcb895376dc86d65ae4c903a51ee8f3cf3e7299caf1cb13a1293b7701ddb5e39ca9e585d7fde16c0988ae480219ffff0301c508a5c04ecf84d0a261b523e627598b3d74f861eb101000a04c3e69b692240304dd665f2eb1628ec1bd79ae24af47d6f11bc2a0b03cf97d03d1d1c2853f7e42038f333905d8405a4f7840cc1c5deb6ddf236b608770eb1580bb0862694c0d0223005820033cb2ab6ee1be71ee7827f76bfc1509cc6f834469b0fa6221fc1a864069897050440b21b439f30854b443bc45e0ded66403d9cff127694c88c47b7a1043cdfb9c1735a29510d9c0a09e75b14f6108494b1200582003960c60fb8f9314bf45ab0f07706df4fb3bd0cd0599874f53bb69e5321bc580500a67ec622989403b13ea75ad7dd993dd0058200393796f21458e14280a128329e91b5b646e06bab41d13709a73f1d3811ad68050775fba1b19c2c2b17ea3fe48df85d9f6005820034ca3010dbed6856286ce6f5187424d1999c9cface4cf6e739e6d05a73d22d04dbf2816b616d656fcbca1e86a7c03a0ce21718bff3ffd331b4090fb0b545271342f446d7f9f387b1334e18ba4c991030c1a11861df75bcd1776e733f71192f1be858568d1a8e585d170fc80ff1e54e60058200399d817b6757290b50e8ecf3fa939673403dd35c97de392fdb343b4015ce9e058200101bb87c901175aa258a68c0a49bfbe42b884f15b0005352402a68a6687c737005820039a8aac687d49e28338d91fe787dc8615d2280fb564338741e22502c7f18f904f084c5258a70616a5863ad2ba60b14c0350b55b8679f9f89faa4866c74f286d5fa2fcdde98dc52d770f445e2a161f5b1403f101e71c064569df8d84235cbf543b0f118803eca4ca1cf5b23fb6a9e527706800581f02f972dc9f7d0b76177bb8be102e6bec069ee42c61080745e8825470e80c6c58200101bb87c901175ba94d5ba1a884ec0b192bdfe2ee00053536853ab26687da6f00581f026a378f0d9e1e8537870e2cd4e07032defac8bcee6294e4d8ad5c878abfa14f270b1aecfcfc83bb94be31f2b8f3c302194100005820031967a6d9b78618ba9cc71b24429bcebf4e81c53ccda606a91105925677f3604f3f6e2086e9b65bcf458e58ac2e83aa0219f77703d614a93c2906eaee2876f78ad6a52ce7a5ce4d2206cdcd9ca3a38bc994eaf86b03c78b7d0c7e097b2db0d49b5320f1688e8328285e14f77a6c97bd6ba97e9b9a61039996fd3893638fc995a0ef7a111aa5c16c733a187fd2800f0ad884d2be310d7f03db8030c685b19d50e0a13c4dc810b9c48f5dac4498b4e572457ba3375a9aebe4036513d56ed7f8e5de1e090ff6032c48adebb770624f76a357dae23265b2e2fcf603bcb88c6ecea7a4e313b7cb24cf30cadfe2b745aff4cdbe391dda66073516292c03b0e2664ff595101e91b615b826478e62b3f3fb4aa5554db52f0a34f635b4d2b40347f1f0bd3a8f6c14679031b537f04382bb957544c5722be6c24c8faf7ff151eb03b77872d457c4239a1b742410df904e734e7bf5beb2023f4a2caffd151250349203e3a3b8d0086278c0c97e62a12df8ad0cb4e4ab50a70b3dd916bd0c2227ec100103b033723be5718d1780ea15405b47abc1b65f8fbe921db5d0f97d9eed8cf71d2e034479d341f3c4c988032f0b95e01678cb12d38cd9c20fd903f7cc7b8e0b1cbe410371874a3e5ef5922e53fecbebbd9702154b89f21612b0a017cdc2846c1ccd54330219ffff03b98615dc526c151eda3a21e00d5c023ea2ec1d6beca04ab353cb52ca8857815b0389d4f28ad78ceae62ff8a41e0c2fc6e77b0a07e4c13809b4a1e0a883fc05efbc0355e55c1ac0ab8807de37177b4a94d34aa1b4ffcf5306df6e17d137d2e18b58d40377cf755049a1334a90fd8caf9ed97d7ee6f9ad9c4ef203e4b69de78f837ed2d903cfeb06e8b715e5b8cce9ef1f1e752ef9c421153e23af8029d4a1c96fba58434f0219ffff05581d025f4d2de486a743350b1b71ff94ed015d9a955f6ccd25fe9b7b1311fe070119567e021303219ec6b13570ccc3bf7c085ee0a8b11a27a479505d54a086fe64f799e7d49faf01410f05581e03e15d035c8308159d5b6926ded2aff79fd9167cb13f2f1e7ffe88f5cfb00c014501bba666e005581e038f7550cea6ca010f1d29295937f096f79623869833ef3570598f7cd2e00c0247016bcc41e90000033edd4a4d36687b2aefb9cdf7a94bc32f0be374ff8f3c953486a53528fdf7630505581e038d9a484eb904f6aac49f873578477b169184725eeefe7bb07e0343cc60040105581e03a312f0a178c05330a2db02393694f1641ccc0f123355a4d14ec924ac200c0747179baa0dc7dc8405581e03fdd492fc2e91b799e6f8930d64395afd29712c0599c296cdf5f9769b5004010219cd4503b5b2ae4b1aea02319663f62d9ad2e108ded39d13376037bebd335322631590ab0388dfa35a93d74cbb332569ae0912353aa0f2803b68c65b83f35e45834a399711031ba91a75a05a8d0fc61ddbcb702c55419907c9d203accbdbcb0777c4051963e90219ffff033974fc3e1d93dee1de9d10b27ea11bc78589a25bf213fb566dbf19ba16ae82d703b7d7836d0da1dde949cab73a31fa1976e28a0b0da9af3cc4ef287a01b697c50a032377d0ead8145aead94afddf48bda302da1dcb37b79aa111a2a7b4ac815c8b760329791c40da77440009cad167eccfe2a3a1242b134c88af6293f27601c82a462803450dc2f94e9327701e907cc80cd5ba352931dd6fb96abb93ae82dbd2fc046f1a0219ffff032b5733f8b351e9f06e40e376f6e9019f6501492a5b5302cb0687fecef2025432033f0100d0d1c6b14c2dfa9ea28de1755a0afc408bfd8f5c59f719cb836916a9480328077be6a8da73eb330ab2cf9d2d1f5b45633d3d9720b9ddfad4f37c58cd89850381ccd96577199d5b5a3306824b53bcf7b17b02e2736b9f911992e54b2006fa11030fcdc3bc47856b7dd9381aaf8fa9998335c7b29ec5d39ca34f51a2554d36360f03f5ec925db883f054a0a7c9ce8f560f8d85801dbb0193cb16ee8fc5e0e7cdf50c03b64d56995ed4562fe1b82f22852408b62792fb81b83dddef0b2b517ab19f40c8030e16ab55b380f00727191f226be803734fe8e54d174b4b6f74c61c8a9e08242903b57f513ef294d1adc7a948c2ae4a9c2187682647620a5cd33f2a29f569635e6103dc1e58842c916ebd0712b560184b90ae70f9030993670799faa8f8550659ee2103c5400b2df5d9e6a137f8fc0001ff0afd0dbf28d5c296c415ce177fe5dbbbdde20219ffff0328afe1a9fe20ea65a75a65a4c5ee22e0c78c6af44054476cc10e2f98c5bfa711034675d85bb2e7512059b4191a621ecd1d39ded7fd1925836cd767bb57da08211c0392f38143185549995a9eb6ed7f5f4b90e6afa0888635bfb298e0f3e5155d886803f56fbeb89ef4c59aa146a7f643a948f0603aa6c6cac0e19f17b2ad83ad8e6e8d0391810bd82b45fb8c068bb32b72c8202c03197b3212dad8ef9b45be3fbb4ea0b9032f9d412f59159ea4450751f883145a10793b5f31c8f46e4e8ab98729feec3e6603c4c6cf553c4aadba8203164c2721100fa7aaf5f6a22ee9ec046a1606845ebc470382ca685b8f5a955e0e598f535fe8225bfbd81860dd027f37eaad0dd8c92f4b6e03773d658a725eea2781582e31f39a6c64e3b8767656c65570a7c70485957eda770371d4a95ee85259ff411adf614639ca61d1c768ba20ab898e581cdfc1ddfd0ca203c3fae5dc1583a41fda61ce68cfb82d62f25f4501666cff6153c1585c7bd603690382461ab9d5e248b4b4049d53f4735b66025a7db142ec1478b1a8de71e91237e00219ffff03fc974e4e951f6f78676450e0a0ebdcffc6364bd82bbeded9c5265d55eaf70568033eab8c4336d628ac6eeabbd2b908b7a36bfdaa9594bf0529f735570de819e832031c9caf1435b1d3e57dac338e4b13ae66f4670572ed34480e1066ca2cbe00c3f803cb3953f01310f5d5a8d15e79a239c544266a20794b15483c5f656f8f30b26a76035a789c28f67443c86ee07769942d2ace0674a749800c40231649b45a3262737703c7443dfc54d16eefca89b4e1d89ba610efdf7f208399aaffa9dfe48e657308260377f4729b4af17f4acabb549c33a2e4085f96e7eb9a838a2a6a9c19b04095c14e032d9c53c110a59e87dc50bcb35cd84c6dd52c8cd83158a8ea2a0e8519ff1de02003ece6fb284415b17f26da75d4f477c4a1aa0067697e096841bbde873d353e4058030baf690b29ce5462f3a4f63425b0822ead5f9b7db9cc6bfeacecb2fd566dcc4a03607405df040d7fce54069537c8316fdcf848e69f8cabb98611987024eee7f9dc033f4e587cc2acdc82f8086b82cc8306327505d0708641eadc5669d5854fded84f03118b30721dd4f5415929b89e1ea6fe643d773663996a8f8236218a8b9b2a5b1a03e6547f7e5326b8ecdc006a16e4f9952c183c7842b6ea9368de04c984536fd4b403fda5279352217035edd1a28b2cf52f27ddb6e2c104c33b01ba1115af8e4f6025033b924855c7c65db4ee5ffb9c033c6fc93b28787dda7a44e7af49de7d07f6fb28038a7fb0ae7b90d541dafa4e0c1380e86476400f9c136b030da0b4ad46b7b59fe903b9f7e34445fd69abe52f0acf334cc57c2f20c5a0728223be3eef3e5e8c5b15f0032f971386e3c0f5adaabac12f0aab4e10b33480cf0e374c8de83ec911b9777b9b03b5498c3c761b6a086db7e873b61a133df2513a02d7a962e5d5292efd94175881030f329ba6d654a01f2ba23b1fe7e1ca9ab8d642d8984c7f3420eee4643b8db46a0363637ec56fca7801a1cb126e092809810daf3d50e238c33fa9c254e2b28f8cb303f5a5553b27f6e99806acb9a2147325e9174564ae80b8f7e841f7945eea17f26403cf665671e5005bd2ca1206220ea0d7eb28a60bddeb33040ac10c03673cc3d707035fc6b0ea02503506c940a9216ca950a60fd09a95066924bd59eaaed53621befd0389c235d6f4e0ac257273b5e51f0c13c9bc06ba6049ebb6cbaf4950acc2718ec503f775fb6c67055376e82dfca0403f8bd9ca5caf929d14e46199b7c83c3448d5f203f44ace122915941af41c140718c12ffcbfb2019f15093822085a95dd4299d91b033af69491a5e888dc9b4f487c56cfdf0b657c2b4e9be77f80d06030dcce5538b1036a7533f361ea7632f3009c2f4a5bab1436bb8ed2d3bfe1705cf4eecad09593c203188da30948afa8263c70bb0d4d2bd52b11bd15de46350214dccdbfbb2845b8080315ee879f7d85b73dd669fff44de53f4f5761855fda771fb59255c931bc4e305d034a29e8823bff6958e506fa9f6883be1e02851a152f7e03ab242c7c59d3d095510314c0ab686bbfe986f85c445c44106f913f7fd9c9b2f4ca8a08944274bf5c1acb030d215ca1d393dda79670fea2961678c75c488837791fb25bd436202edbf0582504582d363d3d373d3d3d363d735ae854b098727a9f1603a1e21c50d52dc834d8465af43d82803e903d91602b57fd5bf30360bfcf0a4afb952aff05be8b80a4f2b90beb4001e1fdbb5dfb224c34f10c36c603a5f19e48a893b0bd627aa232b51e539280b2a78e92cc356d8621afc05630d9c403e2e8aac9ea764b44701582eab4272457299e974f0a3cdd7cd8eab21fac0cdb67038355b64eafb826838191764a59fc0ef6ca08b0cce10e0095e0bba22c5b7c211b0376a2d4e39995220ec8c95418cdc17a3747f523f8f4ae6e2cacce4e9a1290e571005820037ca6253325e3be4d0805eda40e72bf5a4d96ac24d0c718f46ac934d9b2b9604802666af7c438474700582003e97a7b29bc88d3e2df6110ff0bd2c4bd9eb7973d02b681da4515d4fea646904463f86a2300581f02ff66677f65033361f15faaf70ed897546fa1d73b50624069f962f4dd97c6446687b43b00581f02b9835ac4b65c69463a80480056b2d8fabbbc8a69c933faa207e62ad1a06e44662ad67302192400039939d2e0fc4e8cd65247c956fdb96ef83dd39d80bbc7f428d6f62c3c62bd0ff5036bd4384e75e2c6a7d129771872189f7f1eef065ec80a494369a38f1e035634b003f17e9d1158e0c318abde12632e5f635a7784bd89b098d633d31fe3324dcd58cf0311f0de0389adbf26e6b7c05543fe602e254b57641a060bbf4c0ed07cf007f56e0349441c67151bd743b815a0a313fe5c4fc6d275cf36ae5134fb2793620de9a03503d4eaa3bc02a046757237b9550dcf77041fd1e0d985e519be1fee6d429f79b14603f8b9a8579dd866a0661e34e0e86c642aafdd3bdad5a8a79edd08bfef3d5e672903c79e0be622d8def21f7a7b6a217b310090a546fb88eee430246dbfba2fede644037a79cdbddf1422e55daf411a7dfb54bf2bf7095136a3f7373a9e1e73de958ca402197bdf03c3ad225302a98dc40215baad3001f7e7c74e3b129b96ce4dd32ed04df626b46c032343feb9331948b962ffd200e3c629163425c7c8aa808c28691b478600a0c21b039252fda0b4e4eb2cc82a6f1977fa8acbd29be008035cd8b75a58e32448c0c74b03babad6f249267aba8084fe5b3542f45ca98837ed10db198685041e56ef0d6e70033a5063d0166189dc2870df488b90088897a98c1c6fadc5785e915d3054ea5cb6031ab8f4759a675db6e61984bd956c0f9e0696aad4d4d83f08b376319c620030ef03c99ba5bea9b6c74fa4e131b64419e815d122a6a32c45cda4704a7161f432dd3903ebf7048e394d4a8ccb95dcb8438ce3c20c478a6348a5afcbb6ecffebca55e1de03c7fdb684fa27d800a8a8a5bbf090f6bb2878ed57f180a1ea69047821fc5ffc25035f32eafec73c45d49d1c68fe3f3498b785e16373c7dd38596df0662896de28a00335767ed4132cb26499085d8d829bf110bbec89d8d5ae95707b1bc72f172462d20219ffff03c1340378e0f7a2d8f09ec33cddc4827f38d7c0b58062da37e40227c09e5929d003d50702d92324a43e0fd6df2c0b3040b92a487eea0f7468ecf5c4eda49dc90ef303aabea83f98d077c0956f3d208738d6539f6cd2312f93e30c03cffe7c8030386403175c17eb7ab0b5b13dee12f6beeb9f6402cdcfb7b9db82c69b738f00fe1b2afa03d89a7a5265fb106a3e4ce3d04a8abbf5da2e3d5ff66430df8c2e9928bc4afadf036d9a01b87dc1c65517502ab73c118ee96609edb30cd57eddf55d02186a2826710393f23755f0b4aed858477a298099424bf2135eb9c21b0e0db42da2b15bcdf3c903acb6a3adca65594472ff4246c54cbdfb445fb82b17d06506eeaae823eac8939203ab461b7e37f86c2157fe82231822aa4edfdda9a0bd4221ff3d3a41bbd517cc0d032de3228a886c9b8a995de0f954937963939076d6eec30115bf756a42636ae74b03406852c1f94de82cf95269b329852fff65aa0155a61cbaba4afdc51f30ac748003a30b4cef0ff4a8a0bf47b09ae5b9888420d1612b53356854e8ac683effd029b803fe38dbd1251b9ac2268b3fc4e67ad61f49a4847f2a14d13392412056e037563d034713c0ed96998e91be2d1db5fbcf8f45029e7700913771c27897b1f95d6ec23b0318f4e8a1b7045d7d39d04fdbc402d3297fecf10e2bd47c555151e1f4828aa33400582003b6befff4248d46a6fa67adfd73f52aec5b94dfa8aa57dd9854cac265bcfb804464d7d72700582003044b7f045371dc4474207634d9a8d34eae393a79b02c12d4c7a60aff5c1fd0446445eadf00581f021a2ea98d01d09d612f765258cffff98d3d0105b3becce0e1111e976e6cd24465ce775300581f029d65aa7548ddbb80eb7b9178264b2fcbe08ca44e733db0f90d4f292b64224804b99c2d28e67fd70219408000582003547087d18552f21de5bab5e2346289fbe5450d69c19cc3d98dea7d13e3ba2044631dd44d032398eeeb4ea7051610f88a8d34d46ee765ad609520eb30530cd9bd294b3e9d9800582003d88c152f7cbfecb77bd552b9f251641bb32c71727cf5c9f6ea44170fd4d04044631f74c603f5e78fb4729235adb862f79806d2a6e31a4bb02a2a92201c129b6dcb458d97b2031fc37cb04088e7cbcd135d5fd6b242de660d132c05d2c5d50d97624dfa645a65005820032a3e04af2fbcce288c5ed808e0e22b73845fe15bfa888b06e36e8b06de6a70480550e8fa2215880a00582003b9e56b7b03bb3d06574c379c2f471a100cf8374118404fe158d950c6c8428044632b5e27035046cac187fe5c59ea94ea8502d69b4dbffd810b1fbf49082d082e3eb6ea2c4a03a34ad2d381353bc145a82c02995a42e434617f4a51d97965401d48afcbc030760219f5ff03a7c4805d783418b2d2bd53b4a2e04743459d3bc4d47a5993bfeabc4b45be89d803f047fd9b0b87d94f1fb1e0c23c93f993c097c20e942a0bc0f3d8b70db38c433a0219ffff039947a8ebb0b09190a2bbcb5711060bea1a94744020010ebc4c7530bbdf298b8803649dd690ea45ea728bebc5ffd82001a7ffc810a8f6ba2580757d0728a1f47f69032619ae042800138d106a948c321f024325441339a8b0f51de818787a9ea1bc56038a08c5da468d580c96aa048005750c346e2941820a122c37dfeb0909018e4afe037202b922551dadd265a563a6305e64b848a37c8812ea6ae5a3732777eff0f338035f5108d1c61ad2cec5f7e4903c47e916e9ff6d4c48fe0a904447550f84e17eff01410f039695d3d68c133cd820e97d7fd21dfce7316dfa544b2ceffbe3c174f74e0b59f00353e23c1096a80205b23c78fcb05bd31b5eb36b3d72a5f2bf539db96ababc4e0900582003e6b3129a8017293679919b6807287ad28154d222323059fa3dc23b39684ec04798880dcc32cf3200582003d57762968d16cbb50d49a56ca4e2ccc978cb8d9ddb5502435daa7921c556504463f1f9d303a5f839c6a05a0c56fedc2c7e08e2e36a16cc7db3d8968df22438239411432c0203f66ef5e978e1f2f142b3d13a1053a0db0fec94c361945ef1b43068b7ac107b8703497d35275643c0569a24943ea412097b227ed3fe4793039a9fd66ef8a295b1cd03db53b534d1cf31ef5905f6ef21ef59597349c6c20efab798943d5f5732b7d81803a7afe45a1bc737246729a0e1cc593127d4a6ebee15754499d594b0558d3f1f210310cd9e31da342a758780a8a378c086945f2d22e9138b68a1c74e276c43f0f6890310623b067301a71bbc8717d1e103433eb1fc7e3540dedaa2907bd701f84cd05f03b508a77e032f0a77329f28f84b75231a1b5bd56c5dc4a5464dc3403a3c534f250219f7f703d69e1e3e7fb3fa3df9f90a51acc9ee93c0363c4cc5ec4278b0dd2dd55de5451a03a0a69a8b8a242dec26ed90ed1dbc6e064b8a3c751f78f7e74dc25c8fb530d7d903ef33df17a58a55a7d3e32d0a9ef86bc834d39fee57659c5e0b5ad34a5d52bc8c037d14d9cdf75e30d921a88b64abbf7ee257d63f9f6fe90fb0c2a2979c0738307d03ae9f23b16866cd2c5508f1cc4618c0b36a99a492bb919fd921fc607b8fd9c7ea0058200305b67b4dc3690a670b38e27a89da0f59d976bb45bc96be3232d8704a071e0047a98a42d0ac168a03d6f58651d7834590aa22063ad175ca84b5d7ba78e64ee2467bbbec658995fcf6036f1346bfcc5d8cc1160f39c0a5373a6049b3894714ca9e7c7ebdbf916cfb8147005820036c57898d8d31576f07cb31208769a4debc1bf605e9eae73461eeaf62f8f9a04802b53570fee971960306044a44d82a87fc89f6abc2a40f5948fa9777d5a1b81ad78a54d6dc0ace6f07005820031cbb1ed631dc68c94c19e06fdb14033403b28e0fea9324920af43d5553d5a04463f27da30058200304eee429d47fab64b31fe462be1334e10652d782fca4d7a42996dcc91883504463fe47eb039d47c1527cdd90d7a6beaba945750ad59414df4cfe178e70b6841ac5ad632098005820030103b0a25b16f16a36cec3544ae7640c7a0fad486870b955bbaea4fee998904463ade1ff0390107545340f2d2d69bd6f5ac1fcddba93376e85c321a71a27aaade32e79e0d0014102005820034705f373a2df5aa8eb872ba6cd6f4ded1c32d895f1095de80a2058cf8d4d6044647c1f1700581f025a7a3815194371b807a5ee01fbb4528d2c016324013cd8f820ab8b4b9a5b4464504f6700581f02b88b258924333c4db6a34201a8fbc5e867101f8ccc9cc89b1ca3a6e0838548055cd141fd30978803291fe8fea0d4bf0ddc115f3d2b05698d2810fe97267b3778aea1a59591d11df500581f024dc7ae05f1ca891047f0382d8fe604dc22d4fc92ae3e15f130af941a4439480377da3baae41b0702194013035a9a1d916b3481a25d7f4a8b87bf0045fdd35738818ec42d69b39670b32e5de70219fff7033b0b241bf98562e0e730f349161508e83cb5b8e59f76a01fe3d10453dab2f2f003f4f412346b4883e04ee2170c2f529c505560954b3182c37cfe29a90087cf5888032eb99c2504df2fa2ff99485f9a46a2a271b332174017bb0c28cb8e8867e7f583039c80fba41a234d243aee0abd195ed55ab256d0a087b033fdb1330bc4fb6732c603fbad3557ceea814a59c3c3242749326c11d97326f8012222e993ddc6bde1638f037b48a898c43790700a3de48b332bfafcef0bb1842bdfd670d0ba1ba342c1ca780341a6c128c2548bf37fb5041ea117aee83539081a1aee9140e1bbcef55f8b5e5203603973e2d95d6e363f129f658294748044ce47f07a2308995b476b7f4f777bb10219ffff005820039c7db44049e7670079666042e5901a0722dbac524c0d87e339b7dad642f1104804145fcf427005ce00582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c04462e2344700582003af872a693704664d336a3ab897b1713284e43d4f9bbabcd68feee1086a314047655c0e26b7e2ee0318a1fb93abf0ef1df03a3d4243d450dda5f8dd76f6e1755563c3a84c5d559a1b03f64018914cfc724cdc4c8d82e175c64c51c6a4380d4c517e7b54c9d30bc0be5803126eab61cd2759a8f1a97ecdb094e2613b5a5ab3191c484f0a1008ce0147977303c3e6e958efad285dd9492ff4f9e422c6ae253eee7090ec226eb250cda38b975803d85e75bfdb739a00e2bbc47da359719ee5fd3fe73307a596fc18d313ee921d6000582003d9a787c455f963973af4496b969e52e86768ed45257fe39820bce20e1ab48048014b66124c3389ec00582003adcd33776de586169aab560a58d095d525256689651a2768b761889c599100475eb6686a1fbb2b03e773c9447259ca86be45ec7520170c0fbb90c0fbbbcfa6ff0204cad486602baa037c73448d3afabf3324fa6cf640eb1338b426b3d1e177c3586859c0b658be5d7c005820034102cf0259c30c89fdccc66d14d2c7daa0ebb58abe055d2b67ca9696cb12104763d7783752b3aa031c62878f47c1add93687d20a154b66c7ddf15f504ef16291b50c7bfe27fad3a90352f44370ee52ecfc04fed3f94535a6cb38a12e7d481973166e6d7c1be8eff45f0219ffdf03d62e11f77caf66fd4d24416b90b301e609ec8e45a8675f25551922f3b48c649803d84c0ec795b1047d11a0b088ae1e88c9481ae403bc93466e14702727d99b9c760369f9ec9993675cfd494bf4a1a1d1372e15d908f3a597678381a3c5f21a7970b203430774812c8af37f215140a24437ec97c9dae9b27b4dd4c1643dd07c3207ce300339c7599cf3d69e04cd964e367eba6681f2a98473cba3f6f9838db59a52b551fd03eee05e8fee19900102b2f539d708a3cf8f0e8e9afca901f30d4d806face2971303754ae0d25b16c74508f7df1315617c17a038460908b41df296c377c735bafede03b35a99e428e77cf010afc52ed9196ccbc0a232f82a59cb45f4fd5cf3be4219b30364d0afa190a0a9b268175c271b5913f438ecea2797c793fb585b3c7cb1379a60038a5f8499a2e923524c5cd61fb7d63d34e855f5346d7bff79cc159d5beb7c8e410315a5cf8c63d9c7e8fffd983b92a347dccfc3fa6dd6d42ef84e5f42b4fce9455f035fe723e09cd6b987884c84d3eff5ebcf8ff46a560f0277c0004776b54168e06003c89de7f59d4a79131a081961117039b7393794d0ee7d6ceefc0617471901933803291f78350c6ac255dd0b7a25e2ff8387f050de556c5149118fbbdfb94126b6e203f6b82f98e532cfd42840de582996a67bab908ef6318c2cae7f7971829423c7dd0219ffff0310951914ff9592d1cd6d47a3617ca2251e020af542a80969bec36ee1cc7bb39d0389e7907601da9f62946ea50b069def7d95e66c8ec6577d1d9339fa5bd2f172670342969809729c1f5e4a7b386ae900c9c233f9aa7ee83e9b249de6951a06e2578a03b10f64ac718ab56e93c04f8622d08a4a4ad7bde4a016cde9ff041dd9f6a62749036841a47c7a374830ed3a85f9d796bf09179ed45c7681c49407b83440f924c47903aa81ca0332f864e326c67ede56aa77db3a42cdef2efb1e38aafe84069693dc7e03cb49150f5f62bda86ff81d9eda6ee5ce00462d406061287ef58152c386f44b1e03a09fadb94f73edd749b2e9f61110c9892dcdde567bd8dab96a6d5b0f0f1a011100582003408eec289ff37fac719beaef310afc5f71b8877136924c69e69791e976c11044655dcbeb005820033ae86ef3d72c3d3e2afe996c6494ccb40dd636a79b6269509e58e750aba1a04465e54a7b03aad0feb5704f5c482d8890d5c08e777e9d896573090695996a6fcbd927072796005820038e278c42649c8a102beedc8d1cfc68e48e3a6ae13294b6c72f071d89e604f04465979527036e1a31f80e9db76220cbc862579044ec348e10a775c7948f344a06436032c38c0058200325e85f1a4743fd8d60ba595ed74887b7caf321dd83b21e04d77c11538340804462e65fba00582003a56efee2b4beae7a1850cb48dcd428a5307c95fdb5170b0b7bd48fa4d43f404804fb4232bb44c9ce031d2c272dc8ed24723e94f9ff9774e1b60e6f4e36f2fd6347fd97af405546830b035ddfdb0d04f1eb4de296428c380901628c864ba490d98e87710103847cce935d00582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09004b0ffaeaf2bd78ff99aafe7903d18fa79e8b509b2010318db0ebd2c47d05978c83711e1f89e2296717337be150035a92c8d12face68dc13d33b12fe4e41ba2b94a73163607dcca65b82764673b010219ffcb0322932c3abf6ef84b70ba596aa5f6ddbbd4c70e77117a9b13ad0ea8da02198eb1032b229947d230abc6f4a8685d9bfd590937f91584dd31ec3204a9340152189f5e034e38ddefb2e2da132ac79a6c904a1b56f64ee326a72fc41ff585293f61b6f9a7035854fe0cf6004ac997c06cd5c2d7f46e6113817cf6a50eb1e013508f23a6bc50033c8acabe6b54805701372607124acd13c2e60a0470888719acc5f45ebc9400820317602629b0cd31c0ec65aa9de687230179faaa39146a875b5a77c80f75f7a7690391a8b91ca60590832e98ac8bfb9097fa21719165c223fcdc5de0e3a648b417c600581f024d6d304bfa1d9a4e95a81afd06080802bbbbd2ae97fa1b968adeba45ae8a4465d027ef00581f02d48d43bcc34a36bd42835c3ee412de79afa12ce605b901060abf77818a464464b5cfab00581f0248bbf5144833066d25d9466e8e61d38a2e0385ffe0537fca729107ab0b7b4805773da3924c222e021902c003143752ca4f645d9c62b6ec6a4830f9b4aa71b5ba9674c932a3f8df256f22627500582003407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f04462e21ef503678f225a3faebce0ce4c05587972e63da815c49d97acc40462620a6f64ccefad03dc3f565ca30f93f7f02c9bfbdc071b2492f5455afe7a3bb91cabeab87d9a670900582003f98c7fe8f9adc29abc7800a2d57278e6e7492d87632129d14714d078c7803044651de79700582003ddc4e104902c3cba8699ed3268e7c00b4e9b44f61683f5f81b985ef4714b6048012b721f115d0b5503338fed174280f94013f27ef9fa5da6897cb717ddbe4a1302a9f8c5395f0082f400582003a64b8b0f6f4ff12708bfc543dc67fee1460a3a8985c4b6f28d6231e7c8ac504463ba043703eb0d6154528ba3a0ed163ee36489c9c419b1dfb7821e22ea6f86327eeaa0e66b035bc8ed5d5f2cee474996a967d488cc44ba93c014724d5fbc6b4d026443cba6fe03fdb44730089cdc316df2fbc882a73fa77810a3660344dbb4649f6414d139e7b100582003090e08a5aab04f9153e7367a1bc03fdd28473b24d31a453fbd0fb2395c8b8044659914df0219bffe03012176af500d9f9f9c15b1bbc847c3533464f06d6eebaefa75d51189d7b4b4b500581f024b9c8108b3d0cd3213c28f6e2c6414a609c48083cd3a7a31a314bc09f1684773ca438449324e00581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4b17314b101e872a2dfc55ff02182203686d75de931daf88f43c0ac0cd16f17c5865a85b14789fc29f0e74fd89de883103986162f5515f2d30057ad5389e2f1ce287f9bea11731e3e7782bd7d56324a8b503a40c63a8864eba318d874738ad5f7ca37ef1830de707730992f8524ea90c3bc90058200306f08ad5094cbda382c063a585b8863ab854107cd8df34b5c56f42c6baf0004804df2336fb9ae32500582003d2afa016b97305c1f85d919a743b78944b2fd009f26a02562f401ba8e2b7804465afebc7030a1e6890c1396dd03dcea9b425884df5df6fcc2965cf4e289d95a4fbd853fcf403215e424ec60656cc749883dbef7f19cd466860397d028e3d3228edfd33e7f048039a3549b078d9b08eeb00a411fa24366ae2df22a224ebc00a534705f30486d2030348ead7de421ad0215630cf8e6c17e8580a445788a407c55697a559d60a1ebfbe03739d95807737dc7a218826e89b7fea09a801b192d44e6e8e39430a28bfd7e0a600582003e0028121a3969df37e8f96313d8729342788d15d8d409733ed63d38586981047b1ee632bf0bf4d00582003eb377a1a8b2ed73f60687aa381eee8b6db0362a1d69d8bdebc5b30b78bd17044664868270219ffdb03f82bf5d704fe159cfef38e69b73a1b9f97855cf4b8bbe94d3a05730d4c6bd6140219ffff03aab831d6b7d0d10a24ac8f689eb1707176cbdedb610b6a9c9fa059b613f2fdcb03aa62cb3d724cb5103f034d756993f4c7f36ff352755783a473316e5de388004a03a8d9142bb84fcb94d8dd1b28a0c26254696c86d9b3344478dc2f84b1f731dc1603de255a57debfcd72d6d1bf14347b6fc3ef2ebf7a927aa23aa7e25c9dd44beb4303136e95ae4d3933fba9af9c36b2b6b8bab82103ffaef11afd93d2d1ee25001ece033e0708907aeb1204014dfd167bdcfd13451577412be5ac19dc781488b3c672e400582003a8840ac47973cae7450f0f06a36155a033a604301fa2ad3c2296e7ecae9c104803680e446cfb8a4300582003d1f766aa08308d2586ab5e077b86438e81d1fdaac22087ba5a45cea3be790047323b167a0c7cdf00582003f1a61bc71e340635e65a0beb793c97bd15e4c9dd19f38bb4ecd073b8fcb3b044636c5e6703dab920a4b2bb6f06bf13bdf31cd6fe1607af1f0d00a7bf3b4be07c729848cb680058200316930185ce7254cf775306b3a27cfbe6d53d594c3fc81b3cbb53349fb33da047443e74fd2cdcd503aec7754f1a8f1649ef4b4d19bebed388844405f19d06ffd78e6674095734d53f0058200318b5362b4922fad160da7e9934f1726a920ab19eac8596842f1643c09e93104464ac85d700581f034ca9140ebea61098860dd9503003721fee8d405d3bfbbd5655c9eb36dc70474be3f1c60f7fed00581f0310284c3f5b39f4ce4d9a3e4ad1e393f18ba4143f226654819dd4a10f6370446687b43b021920020349180d82cc163506b16de3016da786ef2a3d90315c0fd6134ecc05918a3e2f4900581f0267f2e8cafe8c71166cc0d7e6359c1b768fbf0d0ef81d904db2dfbc06717748024bd4a0bf2ce2670218830339373fec3c3a75d7a28f68ef93c54e9a857a47634cb37292f6c24a896af2ccc403b2bf02806ab0e428a41ee85b0dac47b5c6410856b046c0b570036837f713172803f81e2a598cbfa3ade0d9aad73d346a81e893a88251c6ed2d4f4fcb3514a402420058200353a65231620a7b67d553dc0c342e58f40c33b711418758be2ecd75c288e82044660cf3a700582003ee31e74dbcb8af20eb4516a27e970e851b786f9565ec6118843d027a87c92047620fe157ece413031afd05074d768492e455d08e86c7f858b3f1d3013f36b481d1e18122e6f92e6f0219ff7e03063e91ebcb896146253f0f488aba44e199c711289bdafc3556789f889346f40303d6cfa66d9d4ba54aec3c0e8ec63916fcae1629e52139e1520a5d51f690060e5303ab7239d8a17573b3e9d3dc127e34e2e544f1160d33ae9a95f1d180f69e66f8cd0388714a6f8e7e24377987b3534c63fd5e032173ab5d486c38e31224e4d6a88aaf0058200371bf662315a5d17965743697375cde4b4904697b81c4452a071dc9af5e46504801a23d2ac31ff82600582003b236cbda42e4d029cf3408399e194cbc06f2d53479521772d3f3496b75bbc04801c99b545a3c38b500582003a050ac34d1625c90ad2dffb8e0def0f31863a9ac176422a86a22345c240e00480257ec284dbc0e12032e5fddc0d1b7c1fc028d59c35322c4ee8a924ef82144aa9f0d0b486b94d237ab00581f02c4abd6dfa92c96ae79c3cb9d9ef10bb3228d9c8f7861061c4d53ba5e27ce480111a07e0480cca400581f02fd7feb16569a173160543e85b2e85e3e6b629e727a64c2b3b2dced6da1fc446425029700581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6884466ba89f800581f02515f2a8a005473871b58fc4358f675c6c99dc3626ef450bd376abd598d7d4464aaba8f00581f02bbd40a68a4473dd050bac207cefa112b26a189007bef7f44ff7af22823614464d05d3f00581f02df01067c0841a72b376288feb74ac11d9bca751c09840036e39099a44b9547f8731a0b9d6fbc0219f20103712032cdd53edd1a18ea27268d51dbb32b8412546adb895c65be698d02265f60030190aee258cb7398f0281bd3637e40db628b90b67acaca4918f0836eed3a1afd0058200304e97c42cb8e3770ecf4615e6fd2516d9ce9cd355dbbd49c454e450fa99f204465a17c7b03b6f198994b095f48033acab586e23dc23b1049f1e84a744b86ad7223ee8463320358b5c4ef39b75985e802954aefc677d10751f787186c78a7704eb2e5c665707d03a53fedc93a90608bfb0483b76df5c50e288a30c11f57f41c8a4272c4e2fb06af0370aa76b83035ce13813981716313088b8d2d3be0ae222aed006293e77f1956cc0348f44eff9d62640f5f4f2abf08c423f5585e0150849e0fa6a304a79b1686a6890219fbff00582003ecd2551ca58541ccb5bd6d36b195be56da8fa7b37bd91285f7f8704de4dc1047945d97229f38b5038264fc1ef0ae038233aaae8eb4fa99d246d843f7923217ac011bf9fec90d365503c6a2988d5fdc8cf5b1994e39327d09022b8d9227b9e87cda44c4f5e2cb32bee803330b9aa63e67981773cc5745aa835daf8beacfa51de199b84f45cac9cf5bf5ae03fdf931d115975a4843b453f836b7802471e0a1e8e8d42e417b0eb254b3fd1ce203749a8febb77f20677d857610b8d467a1d87805dcb3937f501e8b1147c9ec9f5f0058200309564796f5d49e30f8514b1d160b43daff7828c9cf922b968ce8b87dfbecd04463bfc4cb032f65ab52488c9488d3bbfc7e8c1f9e3c3722148c82b9c76cdc4445bb682067f903731f2bd4a696135475149b1f161576ee0d1e57a00d71300e65111d63ba4a8c6100581f0237ecfef5b3a2ba6edcff9f5b566993cab956f27813fa9f2817f53d35021144665103a700581f02f224ffd869daa1fbf3495d6a43875e29eb70dcfe7412bf6e1f618b8513094462e26ba402190802005820036047d7942980e36f8ce89932fb013fbce693c7b0689295b5d9f8bf454d6a4048034a71ffb7c7c5120390bb0d92b6b078b6a4fff86954510bbd59139369c1760431e0f96003634674bb03b83d113f180502fb55dfb91fe766ef81453e66af64e7b38776084298fa16715503d3f72544f2a32b68ecefd36d9bc3d76401d809f74b256affaffcdc8d65d7693a00582003ed429fb199b3dc5151eca684a163beb96683dc75e9c9e8f185441669fe1c10472f96c1f7043e680219f7ff03c772b8647e7b9d752c010936312f0a21d8df9f2d9859d3cae80f789b235843e1032bed6d7f992faa611cd8ff4f748037842a37f056ee9ba6f11237ce7fcc51bf4c038554b8a98bd513d59b8a40524fe8c6dd790228434d55333e6ebab40b431a7f2003cf5282337d01c03fb6b61fe3f0a2cbe9004aef45bc6c9e4b92760a8ab85ae59d035270a293295a0a74d32ab3fb1e74de04b795b766872d0562e3cc7a7bd2b7548b03513e2ca21525e7872d7a1bf60c585c7cf99da2bf87dd1896d59eec21fb416feb039ca7ce7c38368abe1e81cea8385e08fed76e630e6ca40e20b697a43b93bf6dac03a1024f16ea742b4205c8f67cbdaec501cd963048abea5d8b710e2cb6e3eb55d603b345a51040d9c1822c7218f46373d702bb0bd05379517209d46041fbff5681fe01410000582003ac62a5f5674c9a8c71c8cc01d2f36f1101703598cb4bac9683350f377ba300446524eb8f0058200344d282a2e02b82829e1b6bf9e3d66a77f5b737d6e4a101aacf3cc90dc62930479f84e97202ef760303382cac6c271737f79b0dc5644c71d9c6af268b2518cb56625c219379ef35f103337f52f5e204af297c242395d14ba7735a8618798fa22710fdc928795ec5499800581f02de1fd83e11c6c69e97debadb6676b68bd121b318893249c08803ad811bc744639f82c700581f0253e5c0e303c823c7bef35325913c7d11d280156814689a640c04bb0b529b4b0fcd8c29de8c33d43fb67302190402005820030032d2ed60ec15c830dab5af606bf706bab965d994571adfb264fb63c835304803c599088a90e13303bf9c3210c5e58318377d797ded870a270d3c6edd0cae22b09f7843d16909a58e014103035539e7ea943440c62c2f99939842b62268e7234df1ed102b5f6739520b729d9a034e96115ffe8ae1d2398292d38f5c73c9ad94596cfc6f31c11ee427f5550a24bd0323b0e5c25f9d70a306d4ab8b4caa91c2ab9c44a5c3a470c55c23821f5ddaa38903be31828df6ca869b850868a914ebf09381439600b561e9b490f182d7fa543623034953d8c73551f93855004b2823f11cfa61677d10056ac49d6a47fd9b1501cdaa0219ffff0332a184b20ccd2de601548c23003b5b6347c5b0c15b8b3cbf1c03e34051010b53031fa02a7663a4eaf72567017cab5733a78bb04239a8807c32088233e34aba52d20219ffff030074273aea16d3d017d48a74f90c767aaacda1d3adba371077acd82189f66820005820032eaa49396adb1f07f00262ded0b7896ff3ab86f4d7fcde2efd95d951fbd4b0479977099eeba558034af42c1f97250d40b30bee7ae1448a442219daa6a01a835fcd4d10d925de2906005820032218140b34373f344b71ef61f6e0bf0dea8a148db24fe51d9a522e0f17afa0446667e4bb03d2b90e104be3a3b93790e56eee49763f192e7e968edde7d9016c2c576e029b80032dcd139bb0155074db9dee98cf137db624342410a5200562add33b9fdab4031c0058200358c788405e2ce12c3facae651daaf27dae16e57b1925a049a36dfb3762161044633f0fb303dad2af831bdafa338450d160944cfe0f425b23bec0e3649a15a758817716e9ad00582003bf4e18754524220a339dd06319d91440d00a8ed5ba0bf8299f4014476124c0446550af3f03c90f72f44d04bf37eaebcae1fb1ccac5cc70a9d28ce54e03af6894972a13226a03e6b12be1b772e8f0267df5bd1a5f49205d524877a88df966cec23c631f6b0e0b00582003bad3434d2b3c6b936729706877f231d05aabc973050603d53979db7e659fa0446587e5e3036d0688f2ad27e404a9eae887c4daf33a40044c16c60e5debc92dd0549e7a708400582003465b2ef51259207a01c5aaaf264a4a17b18114f0d3e7bb2bc692f22ccc35d044643fcfc7005820034b16a97bcf8fe6c3bd49a5178446256b2779e2584dd99535ccf50c3646e450446536039f0219edff03c76ab18896eb6c13ace820525d58291c45f46d4cdc9ad9c4f242fd1f7f6c773803120c3d427a6eea72f87b360c35d7931926d146aac90964f52e7ddb6f4d030f1703b28a2bf32f106c6bc4d459260ce9b3aff28441ef56f0ea14829d82f0d326d40303ff46ee2eb0e4019c9667ad9aa6b946c7f6a3b06e807fa89991de1e58200ec11d0312aa133c236a0df838f5dc72d85dc7a03e866a17054910c739ee67203ecdc03c0318e2a2def38fcf5115f7ffc30ddb29e0e6d1e6f63c1d2c1381685101b41749ed03bb36b84a897390fac25e156d66231dc71d73d01399c4a3d0b0b701eb6b1cde80036dfd0c585b0803f66aa63dbdcb440012e279a4bd7d01b7862ee90b0bdc73435503f1696fc043ed46f8aeebc5915c976d8332e63e20fd0c020cee23192a0184d968033bf15f670ed0ea9c0e34525712c2af938e8021b8e57d782e62c6b116d1f8d40d03cec0e070cc7fba210686709da95197e40bffb7c2873a979baefe3dbc3b37a7840324ba89972947d8cbae02d29f9184ac8355033ee8ad6fe6f8fc00fcbb7460789503da933c896fc402074ff436a62c4f3575c625e6418be38ee819eb3a900ff28fff03b67969a04abcadc945802a4e56c55b1ebc15073438eb150d792722291e1f39b40219ffff0336f993f2784471962cf8e1fb73b3d6ac033f62fdb7f50494808334ad3eb781050368d4db7c3247c376bf4312721fecfd15fda2a3de5ac73014ae853d0e152f16010303f9240108e10cfb710ea9cfae50f2cb04b11a61a7112d810e20bde743298e9c034e6730eaafdb20c2eed52ef89d5d0f8c8efce4dffe82937d6c3a68b7b7e7a5760336fa2fc38f8090fe594ca7d1368eee598ad135576a836c1575da04f36c8699450364a143470288aa2584dab81a02e06d8a6a54e112db9857b71349be3ffb67d18d0364745eaf55155f19211499cd91a9af3ee3a73597fe7753bc53e22d5bbd6b8bc903d52c70bac791e9800c4e7a900dfce9ecb712c38a0e8f053841246f5a0b438da303db7ddef6d015707f7c67938a3ce549c688c9827e16d2268917e880bb201b973b036ec5d0897fa8459a9c416d1747b5605fa7b267a831207efe766ed951de8178d3039b3cee21df7259414a115c231e8f62d0200a631f12228b3ac528d3b9869c935d030ac5456231fe9cb3752cb20c2e4081a6e548fe7da1c86314687693091863cdbd038aa4242c66501ba4b986a642e3dd067f6678924d20c343a697def9ef779bf3290357534097b1d81f3844e8a27435c7f989c51bd75ac49e315e4a6a2758ffc8c051032f6d863afade9d69cd50bfcf5717ac86da01ca5e2e4bba0568fd461ab27dc7df0058200346ef36cd8642ada82efe04e75980e1af5e2dc8b1574ee10f1a7f4aa3ce3ef04464f40d23005820033a3fd23f18cc17d46934b14a622938dd596c56c24c24a94a7851f7e8b622604804678f9c709e4576039043f4fb8318d080606f6533c2008e3dd9a1bf84c2d686a9957020c8a1bf385603e2eac9a193984ff492a5262bc9fabb7d35b19217a858f7ff8e78e573e9cdab13030bd828337b1e2acba5fb33a5d69124bab6f353f757e39f1a8e13906d6cfde7be00581f039e191a85c5c043cae91f4d8f7e9003526e19b633938929a2e25e93e4a9c0446591bccf00581f03b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0420ed702188101410d00582003fcae04436c38c368cd0a59ace4029e2178121b0656040bf2541c2241f42a004801b99499372823cc03b08eb618f86b922aa8eced546bb81a4de649c3c8c56af1142a74bc7ca88d10fb03bd00299123f5ea3c296f9dffddeaee57275bc5d878b48e7d15bfba59bd52ad7503557772ff8e5508e072b1603c0a7c678b5994fab961312aa29764d1b424b82d7a01410403420cc9ab5dd44341e6daef63bd0cc4a2a80db3cef5230531d917312684592644039b522f5985b433f2d7a48508ebcc39db0b6c353a1820538d017ab94e5b2336c303d0471fb31f60446dae0d156117a13d35fe445a764bf24bef0fcb97b1942d0ed003ec1f37f46836e5b2abb38ce58f2824607078b9eccf153b2683f60047b2eaed570219bfff03edb8efaeb95dcf04e4620569650dc6a3d80e2f7e81666ce645ef40ad6fc855160058200340995b66d8a53dfb6e035c0223764984dcc6f73ddab3cc586067aa7ea8e65044631d27ee03a17d312630dcea658ea805d853724a9ce12c2c00dd21102b0b395d1b15c5ba1c00582003c8209359528f44c927c80df735a9e4fd0ec50c387566088c5655337af44b404465180d3b0379aabf43002daccd718e6b91bc559d25f0566f0d5762e2d7b197cc8145d96bc403d19691de5e01640452ee513d2321b3968b60930137bc328643cbf7dde5a7551003f11dcecadf9faf62ea36c447bb86c9a87372e79efb6d954cef28a96a88b55bbf03b86fe94380a230e56b17c99e719ea9001e42c3327b17374f6bc1d8a99e80fc7a03d2ed8d1b0fe5b2e3c6beb6c08399c1e4b171c11ded34ed4a89c8523067dd1781031d612b63dde4779e4215f2691520404819968d50d135e4500d69a61cac04299c033de22654714d347170056f6a8e94bfb71c159f7dd67a35d322cfb249a218d637005820031edcb2a1bd41eefd1badd0ca8a30b774af85b055700a491a057dbf640ebd9044632e373303ccf1ffc8c50d8a36791f65b752be6c6ff732b6ffb600dde1cc1ed63eb802744200582003149ddf91b1caae076d973040b2ebc207d0a1d2b0921995ae13bb8efc70c7a0480107ca83ce08230100581f02a20ff701a1f3e14f63bd70d6c6bc6fba8172ec6d5a505cdab3927c0a9de64462e9788900581f020d177f24701724aea052a3a6fc2a8609362a38e75e470a4fedd55b9b7e3644631a5f6200581f02d1f8a4629fdc04e9833e42c7b8dc7548b7860aaf6a2d7037744ae02ea8d34466403d7b0219010c0359b7d57d7670dc5ba1c6dfc4e10a90fb6ad26587faac8b629d1620349f0f1e750219ffff0219ffff03b86fa721bad26c8fa1e31fe4acf4689c53124bb08ba27dd5e1da035ca357b55403b674a2bd1b4a10051040ae16d78384064ed9d1d7c41d6c885f8b7210aeed09f60375402d94329147a941f80071ded7e21f85fd70cb1b1bfd2d6253a3adb8d2291803ef71d2ecd3a327bf9d10707831c8faff0a578f60d9a5108a7484805d74b8196f03dadb2b24ecd333f498c0854714e6dfdf6c49a06482ff902d5330dcec29b5f7ba033610917975eceed407a4a3101d43742a8ab2f35eabd213bb16f854375178de38035a0b07fea91619a003c3296c9bb07ce1b15a3862cdadacac13f8d7cb77325cab03ae95b18ee0a51e7961edadee55ff54bcaf8b930db66c932ba808231317e60c90035a843be356fe456e164e982f73b132776f93d5e28cae22fc62f2538d4fbec82303b1161e24fbd53f436a016d214793e26fcd67118c5309fb6eb6b53b8bc19eb65c0321c77d9f50a4eb071ade5ec08f0d22485dea3826b2b9e77befb16cd4fd9523f90307dcf4e99c5c9912590ff700e681c987a98c0baf55bb929b17222045941d5c3a030dada5da62b46f8bd7bed5d28dc184cb8eeecaa8f4c88ae3d456cd5721cad52e00582003b548d072ef16ff1aceb751c4b94c0f60f7345971391c7d5b624ac18a8bbba0473240dc82e53289032179e26bfa038a1a568f4a9b92abf95bc1280f9e8dd2ce48ed015afb748a7278038a25a81e813b6ed544855f9ea721d5cae04e03ae32e1c1103ba3647ff7fd8cd000582003d3c38b810380cf54ad6cb6bd6fc9b2da6386000df673e475ff890916f677f04463045876033288fdd7e3c17bee91d7c6007265f2751b14eabae62758ee459284e2ac32fd8c033d100f9bcd6ed5821a45a57883c262545e6b98af554ba2810ffa844cbf5f3c7f00582003f518d8851517497e7ed71604cf9be01a03ab120a5559a3f9ecd66a07393a404b07da7725652198e626033b03169df0c5fb879567811f132805d23c63c88814df2d552fbbe95fc3451e737f0d03fb373b704fc647a229c2cacb8fe127da5bab36b5c313dc2c86f6aa90ca64c4d800582003bd36e59d04745113a9ddaf36921f92d4963c51407984f8428ffd801311ef30446400517f0219ff5703f871fd5acf50a964e5eafdc8c4757d460de97d51a49bbf9d004bae5cbca47cf903b9d6d5ba416b82eabd52860a3d910fa6011b6366bf85b3303a05920edbb6d2dc0370dc8379d1ba98784aab110874fea1d927be3a9f2899e94508ee4e9ff8e8906f0058200375871250b9049d34f86fc739556a784df391cf1c7e11b9afb00090eba7c1704803077c0a153ab2490309fedf2f640e2c8e7578e53166c83be1cd86370dbb0f3ea5cedb50080c0686dd01410a037479d8ccb99651cc953fc9c5a8bc8d501042c01b1ceba69391901427508f70a4005820032b24c74f3e27eb3601e0bfe492e9bb7fb3f775c9a105d051c5e7861f8fdc7044651e45e703de81681aa94dc9ec7b19ed99f6867b4b66f48e3257eaf57b2b886c3115f9e4050387fd291a8ddef12f752695052cb545f5b81ee380f71c1c2553b9846cdf2d383103e4ad7a63935f60e1a18469f2cd763f68c6bc8ae0880416ec986ec098e944abab03ea151ede3e438900716a8330f0a804cd8ee533358d43d9c1cba10361d7c7cb70005820039ee75bbf3d32535116ed1e310e6568888d72a6ebca7a3aed0a6ffa2eccbbd0473b19f015b8d34a03b4d08ee368c2f9ce21e0fdb00097dbf2efc1364e56543acb7f9b73184a7b07f6038ec45c4b752ed1ea4951204857a93c0298a5e63e01c69ad5abd727b3b2eed89e00582003954f0dbe758f15ca32d65bc208cf2857c7097fcd2bdf628de4be48a93fd7404463598f4f03c329931531e212e7e26117d17586cc24e9689923fccae065ef7b1d4f9364ca700219efef03bed77b32f0832cc7b178b3bbfa8c1a82c80253a664ccca5241bb504a8c0c4b5803b6860ada95aa1c70f45d01dfd3f6efe03a02210ff1a3bd8f962808d3c2f07c7f0219ffff03cedbc6d80d8d481e063d92fc946169021f6a76d097ba04d73eb3e16c91fd450003596f1aa92895e49c502fe102297d94eac02d81bde4481eb09c157a91217b344e0310920ffa13885f7a4f14d3f0bdcb4e20110fc205875004704647eaba003b1de403ac03b9c3fabef899ad981d1dd4da97b45fea1f635c862b45a5e2c66b46628dca03d50939dc4ca574684328a56a1378da37a0e9a06a6e9a0b3ec9ebe6c754c0d0cd038f1c4438a914d8a53ac6884b80ef77993985a2a8aec571cf8d5344ca990a2c9c0366b89dcf2b9aeea8d78f0c5e71c35d46f8cc6c28c60485b157290ea331ebe9e503c6c8f269b241cbce9addab41d687a7279d655b8a7d3b1b6b24799c007b6fbbf903af9ced3c4e32a39235922998bad28d1f98baa80bfe5a8bc9db8efe57ffff9b9e03c4e5a3d85538a0ddfc7863c0ee3b27e8a1f41140c465f3c29d56cb711c75cc8903ee6ccfa0d95d315f8074218c3d4decd5c6b3359ee1845eea0d7d5de6f94ff40b03a7184f6c9c77561e3e3f71c9624a36120b6debd00b0c8c48e2ad2422693f6c9303ee38b27304388ec9dcb2db6335cbda78804ac53abc049e62799e12ad0f7b25bf034498ca394f78b29aed19d1e443286b0c90291608b7b87794dfc6a09cfe6b98300365e18ba7064ea0ab30202df904f227f63374ac0f780cd37fc26f77d063da9bca0393eb225b304e0dfb28cb95e42bf19204937a6621541602643494d98a4f87fc330388658a99c2446cdbb11e90e0dd6b7a0e6e4d8ecc04bbde8f956369999675954b0338f37dfd74e1ad7c141ed96cef9442f2fb3e0eb1f7a34a333520895372e11e2100581f02b99da1415ca39c75780948dd799f097a660ec2aaee9461d759a4d6a7ff6b48012857d6bc80b3b700581f020ced21a709e7efa90831d40193f69d27742f41045117c60f4e53f6d412ec4801f8bd89d3e980b700581f0245a9895bd405fd8b40f8790b1d692c2ffcdd28f07e3a9e0a1eaf54adc6914805773da3924c222e0219c0040382fc11d8a9baa444860c05f8c335e77433acc6ba5ae5a5dba16967f5adaf74bb034abcde59b2bd7effde102d73762dace49b2050a18e6d532953a0cc71ce75e200032320e248524c496ed3294830c5b1211963267a9b79ce173f03ab7fa592bf83c000582003bfdcfd7b8c84f8641f58c01b5a6731cb2717301a28d24a7b7da4e7b9fd86304464a8e0b300582003137d7e95e85db53755257c4647af48ad2284f06c875819d9d997ebdcc4d970480319c535bb60cc8500582003d334ee3e15416314a60312ef616e881c3bfffe4b60b11befc2707c79b7d350446382b45b0350a46bbfb38dd043f57e4d54fa456be244ba5ff771c3e10e1c194bbd2bf89e2e005820033abe5c94874f9a293d1bcaacda30ad3163e4de03ed31d183aad9687c8248e047493b808ff762510388097ebab01e0f26c467c09a13076508207027dbab2954589499796d8bc13589034fdefec66ce60ddac5813fdba426230458c0b46583b0590e4e98fe85166abd98038a6c8134b344148a3e6bd640e0725cc0991662688977a43c241aa24973af032203c4525e35c5881b145bb0d24b1cb9e23f2e5ded2a5d4e75220f1b029f14fffde50219ffff0219ffff03849f85b73428a7ac37257e8ad35b262eacf121e6de5b0e5d1707045c706c061c03edf1521f8a4dad5165f12c5843620483bcb1c29c198a5f97014a98ff0a272ae503daf6b3cd0fbfea10ced2ec8de3dfcc6de87190c04cb5669c1782d73e442bdc0503cda2136eee65119e6892349b1c795975c8c0ecb9253c151493c0ee72b1a8c4e9039eaec3bc1ef33317506c0010654abd5a87762046bb928b6786eb9c34f326eade03072fff3bde291d84ef018823bbeb46ac6693b080730b863e78c43044cbcda055032946a9d6d228270e5b0c5a02f8bc4233d976f80c8d0f22d4fc0c834dd7e0b8f803ca2c57be95c0d2e0995ac40ec586cc76698bc63bd1f3779ade89a944b7f4e9c300582003d8e3a764243157168ad6222b181d7dffd7b93e5852f97a32359c80f8e925b04802c563722f287a6903e0db2ed799f8a4f560721e87cbe83278b965a68b57bac1669c026f00bb1f7506005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f054b30da2376f63de30b42dc055c93fa474f31330a503a3ef06b914f44b1f65c3f83c050dece1095a4a30a62c352230e3006f4cc6b05a01410103bf8c25a836f832246b2744739632c495b23050246687fc93a8389b96992bf28600582003e1a41536adae9401c1360b7e1c673354982ecd438fab09eda58fdc9dbf556047340d5b9ff45d1103480862c5f43646afda830fdb1974daf04814fbfd71b2b4859b8385e205cb3cea03d7f8e1e535621e60e758b9a3ef16559092e6afd5f0d157d2acc23ed4f08fc24603acb60ad98e100df03decfe70b1deb52a7e8c29abe4b0998f522b9767fde2b63b03bd6a1188eee956b09168621536e52dbaea24961b11b86b3aa3f797cc560e7aec03fa773fd71e0f1f7c25d8f50b0b579758b0b1f869f9354bc7ea0b1c9000d5a50703440b6e0973e3ea22d026c80f806302c3e222b1c7d8e11b342f90b9026e9937a70219fdef0378c29ac14ad65347fe23518db3d08da6d70a61d6aadb303b3548c921ff3bab9e0383a51bab2194a50707c3224dbac3471e2aef0963af3860cd75e2f92e49740edf03910aef7401f19aa4a90f7e26cc292035e2677737d1ee28c3d9eb404f955e180d038beea9f9ada37b810471022dee20200bb6ec303a10fdcd991885503dee66bb7e03ad0738d452906f5f51f55cb1ffa018478f374b71ce514977d43e259a4ac0b9dd03ce2bc34b6f6572ad9ab6aebb6cc18cb5f5d320aee14c27d276c9fcb98984fce000582003d0b9b9bf9fb6117fb4c6652977a3fe1b180c61e8b8c7a382f1e64d5de5cf504463da8b470356c77c56c000fcdfc7809e44ec34ec5a02781e00cb150e77d7b00207b2a81a9c0058200313f53d90753bc6f25f506a1f9717dbbe74185175b19552a39c8d712a1f3c4047ac53b6038d84ab00582003fe5c54df4e4b3093e430a7ddb462864ec8ddc01569601ae1180c973cb192604463ee45070058200332f1012b5ec8710790fac2a564ba8b6cff897187fb2f750a21aee52cd14f4044654c0fa7030cb018f14fb1cfc410e1a35ad696cb5bdc7d6febda80995335825f87d76a51c100581f029410e5c8273c627f3971e0292c445cc677184b3d86f733fb08d674e16a624463cc68b700581f02db6c8612e649c6ba12d609e8a396ff0d0db1a8e814effab3280b8b0e3d664465c20d9f00581f0377f0e618823fd5f2778e2f7a0bc0389abcea51ec9715f9c41349b4094890446521f4a700581f037c7544842e0d3fc8b2b1df64a13786e03c27af33794047eed9ca02cdff904847e8a6e2d8e2464e0219021002190a040300aa657b2a1d6a062b7c5914853d24369f773a1c0306b4006d1a6089facd85760058200361cf90acc1ec66b945b5b3a2405d2e1599fbe3f9438a815fea90f765eecaf044632d44f300582003fc57b01e55afb30f3c3aeee63d65b8254811dc487c1d299a166c420ce31b40446509dc4703ce1c2402791796b72b0e7907058e21b81e62a2eab2832730db4990f51979eebb0219ebfd03a4522fe56768a7985b04f9bb23d579e7ed6ba5b9c03cb579a42eebd4c52954a203a020a08fdbea4ef4a4e81068bad3ccfe5dba3f306c80e084e95224cf40bbf31603a1824f0f7d88795f0a5dc63b186093bb4319bbc0765dbc6f62a2e66df924c0680350dace4295105a327567fa77d3df8055253421f5e4c5e74024b9f6abd6fca4c803d417b044ea4461a094809d072c8fb79014db769930fb6e5071b46a90ac536e490392e06018f51f3911c44e85f183d212f284513d31c9d72fedbfa9824e49c6517a0373e6e9e7539f5a48d186103673761e0a27ed032be2bdfbd1098a508aec5a0a8a032619e2aec6f910225045d8ee144f44f1968f51f518aa6c6b0716dd6020b7a360035adcce86866fc518013b697a63f646312473198dced6b17d7367cfd4c2d115f603385a7b40ee0f25cfc7d6346d076f211ec250fb67073fb83bdc90f665cd75379503feb25b3f358dfa1b9d90df680aee89474b4ee7e9fc605d06e394235a88c3213f03f07a1cbb16c67ff8b51b69b46a646345216d7c7d2cd44d33f2e0eb9a568dda970058200308ff01c62d583aa2651d6da503437ba194930e58fc9d907bc703360b4186804464c4432f00581f022d5610d21190407b3eb19f9ea141adc5c72031ec380a81d2fc6157ddca344803a0072481be706100581f02f6a85b8ca197fe2b2a8b639d9fff62557b65a67edad0a170bc54f52f8d134731398d196a403d00581f0220a76e84f8de7dd2f685e6f17450dadea4d69b7b2f909aa683a4ad2bfc444b1703e9d4b8b0cb297c469400581f02bfb20ca5ed0621bdf56b85a469458808416e750d3044e43a5c14ae07a14f44641b7c630219e10003489ba4356536b86c0a122b4462405355f2f15dc8e76f11b36d60a2b93524211d035c56ae7dc9a9c78b9621d3c4a011ee85bba1f1b426b18aaa88c7cce036fd566003392adde7446d06526dc9bbfb7c235ef520a26be5698c456d3d98ff3111998b9303cb61b2e97b2d4546abbd76ddc2f3be38aeb02389355714db627c2d56e13917e80219feff0219ffff0219ffff05581e034670b7d6c4f29d23beec32d0f32b9283605118e9f748ddf56eaa65a6900701182d03f93d4971a64c1f168295ed935a3b8bacfb0d22635af8b5cf644193d1da04eaea03e90c273fbaa5d308156c172ec0b2a5707f1d920cad575e25ebc49611bdda663a05581e0356ecf0d09e87ae30046b6d75add4f4589f2e3078bf3a67804ccfc1944007011bffffffffffffffff05581e0332ac85cfed8c01b5d25f47fac1fc683e2f9a7ee5140f7ba5044314ea100c0147312ebf0151703005581e0363a34bef750e528b300c9d071dd583300ad042f6b58f251611b254ef100c0345012a05f200031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0398208369788f90587d2e68be8363c8109a7040ee4aeb704bf4c516b3d007011bffffffffffffffff03b5a519a87d6931b6e30b439410b458a18355427c179e8be5f1e8d2295c70d55305581e03e613b9c536c3e23494ee05d022bc9f9b27b6b350ab8e44d7a400e350f0040205581e032899073e14fac9fb58c81d9ab4feb5f3e82d4322bb90f4c1fc484185600848026d123ef656a07003b75db0484dffeb941acf32b4eab8b624d69d9e21cfdbeabe37698ea61b17c4b803647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0348f10b44f43cdc9c3af787bcba07737705f79d86ed590d0d3a0435c4d3ee4db305581e03bae6f25062cb48f62d623f5ce42dbda73df4bf192755c0f83709e13c2007011bffffffffffffffff0219dabf0351d1a5538b38686e8409ccfcb9a89a218d30b7cbac8b52d236da31c07cf2dbde035b68b9b93ec4e5da56501cfe29586268974d8e6e8f8cd2407a375a2721294207037500dc53f8d8defade8f46366a386b875f6a11c840a6206d5ce61da2bb58cfd403a16cc72cda41d95cde095ea507721cda99bfa56f56d3c7e5dad08228551a23e4035ff87bb635c0405da0bf310d0fed0d6323f29c678583f5686426c317538cb3bb0219ffff03fbddc5fb9be6d53247fe6e392cd5724a7c926c5029fa05e474eb57a5e5f31b970362a2cfd72a3548f3abf23702f26cf3b815b9e0ab73b607920505afee8ee38dea03d61e7a71328098906af27273b31a1a89d60ac728c9101bd4ee1ad6514eeeed0e03631a25bd630f28ec75c8bf4cb77e5566eaedde4a0fc0e428a52d0a7e89e06d320363eddf411933e6af7ad72ee2a53f49e166fb552766b2acd38ffb7f08e599be350373a6b98ffdd1b5b8424451e34c61ea6ebeda7ef4bfe00e72fda897c3ee6b4b8403ce6ac77f0f7cf79c12ec54c7c3ab24b1ee9bbb0d58241c4599ecc07c59577d970396bb7f78baf3fa7f842a301f2c9ddd0d0e26f956dfc1e271a7f1cec0413be5550219ffff03589f3fd6974479e35f54341b04b1a2d0c041d36255ef568ee954eb300b9167da0354857716ab867d355e8f2c7c35be3ee317afe738c302a4334449aa216af300ff03761b052a0a0dddfdb31e1f9228a41e016b2dc2272b75663547cbc1a413b1aec7039d65794a7e3940162e20e5828545ed17220b76f4e20b303b987fe3ae65cbcb0303c4dd5c057e3d50588747428a72d20cacfd16ec02ead57bcdb3b30d21917deb5403dc402913be92b6aa7456a10e2bca940cfbfaba36e4bb44609fdadcc67de695a2032cd5db1101aca5dfb6a502fafd5febf605456af8eeb93472fcaa6e7fd85234380219ffff03d2d39f37dc94c96ff200ee565c8e724838b7dd45a0297d2f1506321ec3c9cf2f03a2950e331212bd62e8259acda05c3fc5e2319f7b489e62581f1f901f327c45ad032282cc4ba39746b52260b7533a3f5a46c439bacf3c763e2366bdbceb709c35f10394407e8c6563fe190e3469d74a7b9d073b98212557f10634eb736bff5928f72103f41c15d0eb3803ea6384f732bd43b2a6cde5a81a22d8fed7caf30dbdb343ea6103b421bde4a8ab89284275ae8a394499c8b7b540f00bc64014a5ed8c932efc2e030303e2ad76524dc8b7ce1d30aceaa6e57aeaebce25e5c7ff4026f4bed0a12bcb420305eab15f5d71e606ca2d1311197aa1c98f705de32c816275f571ef8840a0a01d03ef33503093f86ae4ef3a9cf5937301f425ada8c8bd46744dc891165ffb9489e6035e29ff882aec87a81c35a59f93200a59b0da441c6ebfe84fc91f1eeef7b8023d03f50f99f2e8268d0d7e9b2599e48c28271a60db0358df7c0a0e452acee8a8d66303487a70a10562e0f1adad01fba39b525f9e092720044b6705f30c611c40d18bc40334c5f385d31150ca55df7ed7870b4d72a542ec0ef24dde4bb4af1f9e0cd610c9032535c06ed64e807ab359ec02b89837476fb0c3b902b8cdf7cd1966d714d2d89a038fbfac409146c2a0846f5223362232a7f16d55c00464c29b1eceda7f05f313b003629146347868aac64580e2dc448d613e1a8f4f49bc6e512c2574c6a62b3d738003885ce53c2751da8d2a2d3208014822f915b4a81679d5f78a6a8500cc9816ee4703b052211b42dda81ded5375010ea6edf83f7e020eca6b89696a48d9480ee1be4b03b751adce2116c1cb6d78251cf6ea947f479d0a869ac2cc420bf0cedf333e5d270304ed8bc22bf4b6ce55298c16a6d0ca122b4aaee857d81498d2b0a9af8c84f72503571188b3bc8995eca1f7b473358d0bf7b527fdbb07ccaa45ffd8ca77b6c0037e0333056bc198788e42ed1ac03cf3bc44ece69004f1017a9ff27ea9a54b7dab421203d9f772518e3a9e58877ce6ccf0b5e7840cbe0ccf28bd0c7be7954bd15d63cb93038490c71a584e93fd0fd5097edeb47f4305512c30860d6406afebfbb029178f4d038fb11e57c16b243aba4707f77aef3b4b0eab088012878aa0392670212dce6e1605581e038053ff4e96caa01c2152e6e627b230012baa5a386b231f7d44afa609c00418bb03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038697117fd81c06b06b788ae2a0f80977f36f9340e97ce65e362344f30007011bffffffffffffffff05581e0345f688654aa37a3a79501210323d7f64301f3195d8e888a6e8c55048200c044680aa3629f4f805581d0324e09cfa3143cc228d32c5727d891a57009cb512dd1ce09638de6e4004030459031d60806040526001600160a01b03337f000000000000000000000000e8ac39f0a15dc7eb9cf32c7639e633f24f9ec9ab82160361006a575f356001600160e01b03191663278f794360e11b14610060576040516334ad5dbb60e21b8152600490fd5b610068610106565b005b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54165f808092368280378136915af43d82803e156100a7573d90f35b3d90fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f1916820167ffffffffffffffff8111838210176100e557604052565b6100ab565b67ffffffffffffffff81116100e557601f01601f191660200190565b3660041161018f57604036600319011261018f576004356001600160a01b0381169081900361018f576024359067ffffffffffffffff821161018f573660238301121561018f5781600401359061016461015f836100ea565b6100bf565b91808352366024828601011161018f576020815f92602461018d97018387013784010152610193565b565b5f80fd5b90813b1561022a577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a280511561020f5761020c9161024b565b50565b50503461021857565b60405163b398979f60e01b8152600490fd5b604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b5f8061027d93602081519101845af43d15610280573d9161026e61015f846100ea565b9283523d5f602085013e610284565b90565b6060915b906102ab575080511561029957805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806102de575b6102bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156102b456fea264697066735822122030cc9d72e095e794d8286b088776326d90cf6b4d62a84a41c9928eb1eb96b3d064736f6c63430008150033036bf9111a4e63036ba43b1ad8b3a21ea3a1bf1583e3d327b04a5fa000cdf1cd8b00582103b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720582096e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630545c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f005821031ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680541f98431c8ad98523631ae4a59f267346ea31f98403ea63581ce01a703eb6ece6ed458d96aa452acf103a0200c73dfd99b33a2d69a603f7d48beefb88db52e1984205b63aeaa6bfb90eeee62ec4971fd93c72d7538823035f386ed974528f8a87cfb29c07e21ef4118cd779b15b7b44a5f99dbd3484dba0005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05446affe1b4f3fc41581fd20fbaf055daeab80a8b503d5f2071d9b48cbe281d6cedf2cbed725df2818b6c6fe0755b39f69b97f07ad3e0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688042271000582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e041010209039b8aa1895cf233ea696284244e5cc7b2d367995715eb2953c9fc35b16432614202190802032b862613ed3bfbe3f9cec1078efd720626732f4189967861f59a9ebdf0d549ac0327cfb13450cbe366c6f97e00de1d7befd7887919cf37871946a2a889d2ebc1400058210328a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c60410f005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219fdff05581d0365e1068e21405c053274a59672d54b44fa24c79ea53efea0eab136a0070219031d0219200801410a05581e030ea64d72d2dd2d80d58f0e44353cc7296175b643867dedf40d2477be600c182d47478144d653500003e09b1c7ba83761b81aca61084cb1fcba49f5226c000307819efb42abcad1b1c40377c2216d17f562429d033b705155e92fcef8f524b026ad1a42ca5771e8d82b4c03a6f7624669ab51fdde1072bc6c87b9b4b544eeac771fd193ad82aa043b11f77f03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0373c5dec0c39df458200472668fadaba3ba732e214eb245cb137876ede47c718605581e0352ba6cb1ba80cd19836ab5fb85366505097beff6427103919802d8ad9007011bffffffffffffffff021967b7030f905f70b846421f0ec7ca138cc24e2b1277e9ecf69dbc1493d9f49b5986527703f3a04072a087a7cefd038d267027f281e3da7e321d97f0018e38b0bda55ec1970219ffff0385de3f30b99de44b88d17d22ebe10309d27c3cc0993fd29102e0b506302977ac0360d556367bf64bf798e0d9130e9ba2ac1e03deb13ca0b372df893d4fc8195a6203a72ea5fb36a3dd6d2fefdc7cc2db0a096efeb5687e5095b5685c696fb04e7d4b038896a438b1ce198a24a160af689e41a86e57d4f97532843b1081fd99f719b09c03268eb3455a70c2c084ecc4fdd7747c66a2034dddceaf420cdbade57cd4de41eb03b888814f1724839afade59562a81277f0fd9be89044eeae35695e5c92861d99603f5c1a9a1b4ee336830ea7c10499595838ebab94292b2f619adbecca2be068f39036203b90d7a6cba5d695f476c1eb531a1d6ef870f410b867b35cffb7dfafb7caf03b520dc6fc6b5d6404fa3c2aa03943ef4f777cf05e539125e403798001992e2560219ffff03c2948c509d1c35af17ad09b9a3dee246e7c67dd1999c6ae7bce41de46d1cc2f80387f00408c7f55d97fdf5b793a2490e93bbf44ce5c584898eb57ded66e17fb8ad03b5c281f4daff3293e1ea846e9d862394e573d04cd5f1c18a2d34dc84906bc3f403aa521c123cae86d00e533c059ecbb865a9b7947f958f2e97d0e71f9faa3d08b7030825965689b22ebbc877e17c1d7f0a98a94f3e1d6816414695e83ef7e80e6b6c03c5591cdb3430dd35955435c1d85d0281c80f12b6e44b8847d54a2f38c74ff61d0366830c3c69505d8d0197779e9bbd6a381fb59ad395f3ac6fa4aaa3115679786903346eb28a3b07b25d62c12e5f34c0cc9febf95360c2da3127ba97665eddae75b203adaadd39bfb99e088d966c379609e7087fd8f1e490ca105b217a5c083e54566b034f3a3db23707cf6dbe9c33ee37f9f7aa17b4d9f6e7334c7c2630f31af29d7aa603f5afd1e13619e3e5948b87bba39ea686aa46400400cbcbc9c28989fe0af1529203e1de9eac52e44dfe5d1a6035998e408cbecdd83fbf8028ae7f115f74995401fc030be2a6d507754ffe3e6bffc64d208fefca8d5482426f76e7ef97874c884b3da40219ffff0376308bc6e08178fd10348b8fd0cfb7e00b6c8962a51c15e26eb45765afbeeaa60302cff5d42c338b68e21975bfb54f0164edf8817abbe8d8d39b03e0a316b86a1a033131011b1559ad5f6318cee6b98c25712112490ef0fc84e346b69e1c9c06197e031400957384368d2b549d94847d20ce94c1fb1974f33fae53b0cbf64122eec4af0219ffff0219ffff0383749f793192beeed0430d9ea3dad9924dc85186bf0bab12d39651dca3fd11d903263d2a2620ba6c2d9e9d9a7040bf6daf934b6456191a124c8b57f33d249f96500384f5591ecf846440a63ec5b6d90c473dd13fc839f89ee4138af6263a506e4d1b0386e70f94ca203e6990c967a30def24a9eb83f630d9ce0359ee43d13fed7725da034525afc555adc30a42de07e2e958e2a852f8662a291d8723bfaa900cf208d33e037392ed15928855355991bb0c7c8320ffe6cb004cca290abcb7f96f3ab729262a03adf8b849d68de87e9272b7f2a8d49371b1642a6f7cb4427b4f3b9d1b8c236b1003d47b818bb28b12aa05ab1058b91265ac9b5eed70558767e7289e35dfcaa7ca6f035d6effc665e9e7a47fc723acbc66376c8f15b410b6b5d376070071d60938eb1c0329ffa71d8122f64fc1940628ad5a06b418f74d7791c7750b990f3a2ed08cdcd9030face2cb4ee1030fa77e94bd3bd4f1e06c8728f2306ec3e6cf97c1b6d2c3191e03f26b79fc7dcfa89d675585b9da91f02b5eed890814907cf0164261403d78b44e03a8e6a970596cb313d9f3df7b91343e3e72974be813b032ccf96196f1adec2fef03696f21cf63f75a2fd98618ad1824ee6ad62aa62eb54774945294e7b929ee22c70351764b2e0464f2e275383ca622c211f8d1934395b9ac96659d9fac38bdf7757a038688bec3f7edf063f5c073902a7f9a169f60ce97339fca20c3118de908bfdd9505581e034a75e0e7e266da9e876efbf1e7f73409672b417760dc86dfafa73b5630040103f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e033bca772242ca92d278d5fd81be57e3b145add0520780c6abe169611da007011bffffffffffffffff031f04f606514cdc3a8d9e4bbc0c0ea69ee4f228894512c6417572328a9b00e0a903110948d8bee8ee5b5b8b0b3ac6add5067c7ab747a855a0a0301b256407cf88ec05581e038c046ae5dba9c9634207144a862de7cf9ba34fdb60ee83fd972c070c000c01460578d183a3b005581e0380e06087b3200fa5685051ae1686e3c0a8aab734c94e2a1275b05b90200c02466e87505b0658032612c403b4d3a7c2a489a0dfe9434b4362a2b4a40655d98eb47a24d987ec6f2101410405581d02d1c77098f7b02cc68700c6d0385c6b4cf55356412f3d2997f13300850c014607e71fdde2b805581d02eb92d759cce0ac5ded1352f4ec8c575c7830d85ec1087323d517d6760403045918b16080604052600436106100d75760003560e01c80637147855d1161007a5780637147855d1461046e57806372a44f07146104ee5780638757653f14610503578063b449ea5d14610536578063c5ab84531461057d578063d38d8d7a14610592578063e907fa3c146105a7578063f9bcdde4146105bc57610129565b806312f16e6d146101ad57806320cea94d146101e2578063439fab911461020957806356f36dbf146102845780635c60da1b1461030e5780635cef2e861461033f5780635e3a97e7146103cc5780636684b1d61461045957610129565b36610129576040805162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f52454345495645604482015290519081900360640190fd5b60006101336105d1565b90506001600160a01b038116610189576040805162461bcd60e51b815260206004820152601660248201527526a4a9a9a4a723afa4a6a82622a6a2a72a20aa24a7a760511b604482015290519081900360640190fd5b3660008037600080366000845af43d6000803e8080156101a8573d6000f35b3d6000fd5b3480156101b957600080fd5b506101e0600480360360208110156101d057600080fd5b50356001600160a01b03166105f6565b005b3480156101ee57600080fd5b506101f7610602565b60408051918252519081900360200190f35b34801561021557600080fd5b506101e06004803603602081101561022c57600080fd5b810190602081018135600160201b81111561024657600080fd5b82018360208201111561025857600080fd5b803590602001918460018302840111600160201b8311171561027957600080fd5b509092509050610626565b34801561029057600080fd5b5061029961066c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102d35781810151838201526020016102bb565b50505050905090810190601f1680156103005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561031a57600080fd5b506103236105d1565b604080516001600160a01b039092168252519081900360200190f35b34801561034b57600080fd5b506101e06004803603606081101561036257600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561038c57600080fd5b82018360208201111561039e57600080fd5b803590602001918460018302840111600160201b831117156103bf57600080fd5b9193509150351515610688565b3480156103d857600080fd5b506101e0600480360360608110156103ef57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561041957600080fd5b82018360208201111561042b57600080fd5b803590602001918460018302840111600160201b8311171561044c57600080fd5b9193509150351515610844565b34801561046557600080fd5b506101e06109fe565b6101e06004803603606081101561048457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104ae57600080fd5b8201836020820111156104c057600080fd5b803590602001918460018302840111600160201b831117156104e157600080fd5b9193509150351515610a08565b3480156104fa57600080fd5b506101f7611076565b34801561050f57600080fd5b506101e06004803603602081101561052657600080fd5b50356001600160a01b03166110b6565b34801561054257600080fd5b506105696004803603602081101561055957600080fd5b50356001600160a01b03166110bf565b604080519115158252519081900360200190f35b34801561058957600080fd5b506102996110d0565b34801561059e57600080fd5b506101f76110f1565b3480156105b357600080fd5b506105696110f8565b3480156105c857600080fd5b506101e061111e565b7f177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b245490565b6105ff81611126565b50565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f81565b6040805162461bcd60e51b815260206004820152601660248201527543414e4e4f545f43414c4c5f494e495449414c495a4560501b604482015290519081900360640190fd5b6040518060600160405280602781526020016118556027913981565b61069133611273565b6106d4576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b60008484848460405160200180856001600160a01b031681526020018060200183151581526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050604051602081830303815290604052805190602001209050600060026000838152602001908152602001600020549050600081116107b1576040805162461bcd60e51b815260206004820152601b60248201527a2aa725a727aba72faaa823a920a222afa4a72327a926a0aa24a7a760291b604482015290519081900360640190fd5b6002600083815260200190815260200160002060009055856001600160a01b03167fe99b980b5259f200e4c1da973ff0251b6d9aaa144714c8773976ecd62b8ebe8d868686604051808060200183151581526020018281038252858582818152602001925080828437600083820152604051601f909101601f1916909201829003965090945050505050a2505050505050565b61084d33611273565b610890576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6108a2846001600160a01b03166112a2565b6108ea576040805162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015290519081900360640190fd5b60008484848460405160200180856001600160a01b031681526020018060200183151581526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050955050505050506040516020818303038152906040528051906020012090506000610966611076565b42019050806002600084815260200190815260200160002081905550856001600160a01b03167f723a7080d63c133cf338e44e00705cc1b7b2bde7e88d6218a8d62710a329ce1b868686604051808060200183151581526020018281038252858582818152602001925080828437600083820152604051601f909101601f1916909201829003965090945050505050a2505050505050565b610a066112a8565b565b610a1133611273565b610a54576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b610a5c6110f8565b610aa8576040805162461bcd60e51b815260206004820152601860248201527712535413115351539510551253d397d1925390531256915160421b604482015290519081900360640190fd5b610ab061132c565b15610af4576040805162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b604482015290519081900360640190fd5b60008484848460405160200180856001600160a01b031681526020018060200183151581526020018281038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060405160208183030381529060405280519060200120905060006002600083815260200190815260200160002054905060008111610bd1576040805162461bcd60e51b815260206004820152601b60248201527a2aa725a727aba72faaa823a920a222afa4a72327a926a0aa24a7a760291b604482015290519081900360640190fd5b610be3866001600160a01b03166112a2565b610c2b576040805162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015290519081900360640190fd5b4281111580610c4a57506000610c3f6105d1565b6001600160a01b0316145b610c95576040805162461bcd60e51b8152602060048201526017602482015276155411d490511157d393d517d153905093115117d65155604a1b604482015290519081900360640190fd5b610c9e8661148f565b60006060876001600160a01b031663439fab9160e01b88886040516024018080602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b60208310610d4f5780518252601f199092019160209182019101610d30565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610daf576040519150601f19603f3d011682016040523d82523d6000602084013e610db4565b606091505b5091509150818190610e445760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e09578181015183820152602001610df1565b50505050905090810190601f168015610e365780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b178152915181516001600160a01b038c169382918083835b60208310610ea15780518252601f199092019160209182019101610e82565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610f01576040519150601f19603f3d011682016040523d82523d6000602084013e610f06565b606091505b50909250905081610f5a576040805162461bcd60e51b815260206004820152601960248201527810d0531317d513d7d254d19493d6915397d491559154951151603a1b604482015290519081900360640190fd5b808060200190516020811015610f6f57600080fd5b505115610fbf576040805162461bcd60e51b81526020600482015260196024820152782722abafa4a6a82622a6a2a72a20aa24a7a72fa32927ad22a760391b604482015290519081900360640190fd5b876001600160a01b03167fff14288d542bc1c1d15a652cb52af735f065c0c9d70b48e454a203c260733544888860405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a2841561106c576110376114b3565b6040516001600160a01b038916907fc13b75a5f14b69ebdc2431a5d475b3bff371abe251b5064144306fbd9c4de35c90600090a25b5050505050505050565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f80549062ed4e0082106110ad5762ed4e006110af565b815b9150505b90565b6105ff816114d9565b60006110ca82611273565b92915050565b60405180604001604052806005815260200164199718171960d91b81525081565b62ed4e0081565b7f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d2541590565b610a06611679565b61112f33611273565b611172576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b336001600160a01b03821614156111c7576040805162461bcd60e51b8152602060048201526014602482015273474f5645524e4f525f53454c465f52454d4f564560601b604482015290519081900360640190fd5b60006111d1611723565b90506111dc82611273565b61121c576040805162461bcd60e51b815260206004820152600c60248201526b2727aa2fa3a7ab22a92727a960a11b604482015290519081900360640190fd5b6001600160a01b03821660008181526020838152604091829020805460ff19169055815192835290517fd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a295999281900390910190a15050565b60008061127e611723565b6001600160a01b039390931660009081526020939093525050604090205460ff1690565b3b151590565b60006112b2611723565b60018101549091506001600160a01b03163314611310576040805162461bcd60e51b815260206004820152601760248201527627a7262cafa1a0a72224a220aa22afa3a7ab22a92727a960491b604482015290519081900360640190fd5b611319336117a0565b60010180546001600160a01b0319169055565b6000806113376105d1565b90506001600160a01b0381166113515760009150506110b3565b60408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b178152915181516000936060936001600160a01b038716939092909182918083835b602083106113b75780518252601f199092019160209182019101611398565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114611417576040519150601f19603f3d011682016040523d82523d6000602084013e61141c565b606091505b509150915081819061146f5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e09578181015183820152602001610df1565b5080806020019051602081101561148557600080fd5b5051935050505090565b7f177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b2455565b60017f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d255565b6114e233611273565b611525576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b600061152f611723565b90506001600160a01b03821661157a576040805162461bcd60e51b815260206004820152600b60248201526a4241445f4144445245535360a81b604482015290519081900360640190fd5b61158382611273565b156115c8576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b60018101546001600160a01b031615611622576040805162461bcd60e51b81526020600482015260176024820152764f544845525f43414e4449444154455f50454e44494e4760481b604482015290519081900360640190fd5b6001810180546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f6166272c8d3f5f579082f2827532732f97195007983bb5b83ac12c56700b01a69181900360200190a15050565b61168233611273565b6116c5576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b60006116cf611723565b60018101549091506001600160a01b0316156105ff576001810180546001600160a01b03191690556040517f7a8dc7dd7fffb43c4807438fa62729225156941e641fd877938f4edade3429f590600090a150565b600080604051806060016040528060278152602001611855602791396040518082805190602001908083835b6020831061176e5780518252601f19909201916020918201910161174f565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092209392505050565b6117a981611273565b156117ee576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b60006117f8611723565b6001600160a01b03831660008181526020838152604091829020805460ff19166001179055815192835290519293507fcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d292918290030190a1505056fe537461726b45782e50726f78792e323031392e476f7665726e6f7273496e666f726d6174696f6ea2646970667358221220cf1e25abd13adaa020133d41d8e10228c13e7a74ed0f719b4de8a2c2716f84c264736f6c634300060c003300582002470df165b811064a8b99e0d45cdfcd831a73adb8852ba46cb9aa762a3263a7581f01451c7ba843757490251aca42a9f2e090db17424e7113bb72194d18c6057200582002f851726b69da09b4fc80332e85dc9324003ecd0e3768c904b8026abd8b4ba2410100582002fc02198dd2bd6b2eb3ae21a3d2e0fcf3d480a552e73404e43f142fbea050d04101005820022dc5eac27aca53bd2b431fff0a9f1d9493ce4bcfe916761abd51b5ed8b1671410100582002f24a97534c3ada440c35d6fc95c87a03126b6617cb367a818a596f37e7910c5501000000000000000000000000000000000000000000582002ea49dadb83c962e78e54fb245ab03a37bd878f90df3eb20daf00c92f8d5d1f4614e0de220001005820022be469bc34bc663af844a2bc134d101101a7302c2525ab498914382e3bb1f141010219a5c203332c01b42b70d9d0ebaab7f308986b453416050cd906e127658adb918b6fa9e700582002d51750fb74f3f421e7dc8c125308c9c57fefe8ac30a745a013191e931b945b410100582002399933d673e492685ec18579ab6d10c5c0d8dd73364296f55dbb3d1ca8864f55010000000000000000000000000000000000000000005820021f1b99f690e8534f7d727f0b56a3b79c6218c50fbea028615c0c4c4f466a454101005820026900f839d82ea76ebc3819a263e26e5a80d09447a224d6258e0c8132b715c04206cf0058200253e0bfaf517185f535a74647d01934acea70d134a1aaf971aa8ef74c8ebe33410100582002c75f3c1e0a04583bb4cbd325509f33f4f67e97aec722cca0265adf6f0c121758200519b8146b72c338535acb6d63104576e4decd7a6f90f248a68966e70fce247200582002ba99e2e1196e82b512ade2ac95830e8afd3be85dcdfc2688697924ac9eeca2410103f6d4de39b83b295d9d0cc4884d815abf48ccb24ea29df8ea4c3f4edf2e19a2cb02196e49030e860d1e9d4608f8072e6908f539724aafeddd3d9c11de198e96723dde79418d0058200285dae9403d55c0a44287df3fde94a5d0161da616f0759f6f25b3da1d16ed47410100582002a16527660be5f71b39af943f34e3b53657a6498b660c2da2ed52aea19c4c0341010058200236507bc891d65df605dcb18f910524c132c4122e1b4d9e66e44278a62d687e4612309ce5400100582002fd9b26641b1c78bb7a013d2bc30d7f0038ed7c134a833a39799b9861b7b491410100582002d6644b798794fbab23c1d3f87eff3c3c44cd11d6d09b403c97791dcfed7b3c410103f94c132991c79ac4e480ad4e4a635fd34d2092765ccd33ccceb369ae9c2fb5b0021981e803f7b1b04a035c3113f190ef29b85eb3e0af8c916e5ab6490a366cd02acbcfcb8f03b9891bd5c2064838a74431cdf735b99242973a2c7ce15fc96b1c666e93cad2fa005820020c75e87275e10e324aff58532229f9b6489ecdd03f7ebde9452b248260fe78410100582002d4997e7ab2cbafa68f92f9e9019880ad7072f6fbd4091eccfbe01b51cdb6f4410100582002c55cfcbc204f7caa285e558b607d29730f37efc68720c441ef9e55c0ef113e41010058200293cb052137a874ce3850db9a77f34310cdc4df239bdd5add3f0083a7a98b015820077ac1d14b0d541f8de8058e05993f200ca89f470f38875e058d9ffa84e91024034a9301dfe240178256d3a2ae19210b6f005cda8d3a6a74c5124eb6357ea68c830141060219015a03d2191f97ab27ec1c972db83654fabab9d52fd528075825a803026663d1edca1803dc7de01144174e98b67d34e40f4e50e22a84e1f2a1ed2feda1c403ccbf3168ea0338b71242013977c482a21db47690ab22eb5bba002d51edb5d28beb9257273e62030bf143ba4e8241c0f8c730e03cb3dec08747b5a6dffe11c411de1aff2c8ec80c00582002055055bb4bf9b9dc41dad13f63f14e69561b14144d88972e5f6c171ec6558b41020058200283bcf6d8c9e0ef1b61a62799b7eafecfac1ac0da968b8c755383d15090b639546e0acfdc3cf17a7f99ed34be56c3dfb93f464e2400582002e108895ea8c60f6fa9d956b64af5424d2807f8a86a3a1be56359b3a034f1fd410102196001005820023599e7b15728e25ff80eb14c8609a0b86b55f2dd998ce97dcbb1eeeed104ff410100582002388c6a80857c99371143b929db56534b937c84d225c2320e88f61be4e94952410100582002ffadfff0ef8cc213016322c7fb9b81f79ea9e906f3416e3bebb568c61573ef410100582002165e1ff41abcfe6a9cd6796923420ea14452ee57cb0955b274d1df95e83cbf410100582003b0f803121c475d63929edfacc5432e599b2d891ebf92ace7b4fec7772f5a8043011b6a005820033cfddd6fe0795a58b2dcbf6424a058d5a18e9359b01d668b877519183225b041010219410002191a6000582002504ca88014c392122a106e36bc929dfa548265b656167250f4e5aa6a48d1e7410100582002687fa79b51e717c92e861143541dabf46eced1de64ac90590d6cee6a366d925820060f756a649813038b8ccaf6309697a1c3ca87e777e0da695489ff2406816b670058200249dbc810844f6c7d5a928298de7485b425a447a116acf78453a7d566d0323941010219840800582002a52eb98212280824419e9b902056a61ad0df8ba7703223fe047a40347d6a684101005820021208a4b36f9a4e6fdcac1b84dfda3605715cb3b75e9ddb9a0cfc72cb1d011a4614e0de220001005820029f0ffc6326acd2e73d58d743513941eb20cedfd77d4e7e77aaa5a7ba2cfcb05447312450b3ac8b5b8e247a6bb6d523e7605bdb60021909040219ffff05581d02cb8433fb05b80866aa8aa4e2bc9358f97a819a7d8ec2480c77946ac10f0146bb093802b0001918b102194a0005581e03f2e9e362b34bf3fb7d6d5bb7a6e118b9a58fd577a4feaf6129da6b1130040305581e036e29b2afa20d8279b3292874e615fee7a9a3e0f27e47d7ef7716019f50040105581e03e5b1f5d9ca1c5e4b3b02d77b728c38f18678dbfd7fd241cfa854dae6800c01472e5e59de1972000219cebe031ee27cf8dc03ecd23b4a514b6fc2f699fe4a4a9b62fde1bc44b356d9c06016640391fac075d9844970a0692c09d8eae41bf0bbc1db85845a07308a9a4e721657d603fee073f95e7dbc884f09b8e39eb74d41655ef7851911d2bf1e82d29bd044b610033aa1f77d3bb4b11fa9db4b19da2af3e6385a2ac72997d1055c5d18e6fc59e244032067ed32bd76f3f065e413ce89da32d26438e103a00bfede192d0c2f461c8a7f038a4476b32997f86b6da05f4a850a8526065d596a091af4670da983bdba040c7603a320323e5db3ceb478546d4afc0d8f76a9245a85bd261a190e136998da9d82ff034720b305be84896a5ac08f9c02b4e7cd2c086ba45a0b678ac7d58b9aab92a020035a9952cc8ded9b8da6fb5ec305708bc5fe56d4b282cad77a8b03bb035bb8914603fec060b66574524d48547ac5a33fbb8a609c4e8bfff4909c30ad589d0876d03103f01b080eb36615619a8d6fb02cff7f8e4fa53f234cfc4c61d89cad88df75402d034168be727ab77257a143ae50c0038a9aacddc02d89fe0585ff967c66bc1c423303fe2911c6476904530860078e57871200a81cd2894405321a184fdb486357fe4b033582194ce68d2796ef109b20d16e482a4c239593ee556241e901c13d268bb47a0219ffff037c23b267da05d16c660a4eaaba83c248c5fdd6083709f87ec2d2a8e76cf04b2b0323f67c6353cb185abe8c38e771f2432889b4cb1868490c45065b27d6a4489cda03578606336424afcfaff5cfbdf126ed8b439c81cd68459c8ceafdd4a97158be2b032639e3402f21d1586c0493ba861af19339148a1265e304981013f19fafc1534403293f99a9615cf69eb3f6b7762d3a9401f22d602002b1306da7bf8eb1f9a835bd0355879e35ef168ab8b8b5de8a0be644bc90c21d75616eb2c1befef7c99c3545bc03fbd429fa9408804fd688ef99788fabc80b850ad7d20938fb77d6a93d10d21a4f033a7e7dcfb0165c333aa2c36458932c10bab3a701cd36656c5ca21508de13d58d03830688b62ec098d2853ff653c8bd998b6ad19ca9122ea1e1ae9eb892cb3a7734035645922b6ebef6e2b746c28094ee07ac29c7ae9936d3fb344b960d81cb82db1d03564ecbfacc33bc6c42dd922806fe2facf616fb5919c59472c082be14451b08a403e553c505fe4ebada96965e333ba01c941dfd25fa7cac3ce60b522c0d21f5a369033729d79addd66fd1c071b3d3198ad0a4fb98def015813e03ec491f0502aff0600366128ed18281b3c9304749adad42b067b98f016b99e9a81a1ca23192ce2ccb07032cf0c87460d810c0238ea1fd891c82ee51abb6f861a264b952c67acf18c59e160219ffff0355b636d891ae5a2679bd705a557a7a7e13c828b11440047e626d5f498940957e030d6eab1c43351acbfa4079fc442514a4d964457dabdb182f574a5fc6148ac9cb037f3b358d1deccad0aad20fd429660418325e2f4c656d77ec88840527fbaf0c320219ffff032855ee3d0aa6a3f1afd552c4f31a90730ea0b72b313f43150cfe097c860fde6303c2626fe951ee5d01710aca768ba4a965c24d5a1ac3b453065e1cd725e5dc8ad8030cf8ce62ae6ada08ce8928b036d287033862637e4a442f3e1be638d19d3503ca03a79d1bcadf4bef31a671207ec38e807cb81b4c302d6edc3ecbb902c47266f5c203ee574c8f8e964b6c145a3db008c708b55918bfef54ad865cb5a9a8f3dacc8b57035b091e8d0755f3345e19bc5bf2550570b19397a75d1acc5f7d7882970a8f0dae034da275edc322fd0c8ba8795c6d64e880c2359c843685f987fa94149c670f4e3f038a2739bf5559997d6235ab5f5ee3242eb9683d3373153c06ec5f84b30e73269203fd66f67527be972fbdb0396cf2e22e6c64e8f5f5b3e794d9f591d5171a5420d3036505408d7be300ac947dfd53625753e081b85776b3346354b14b96504033e63103495d179aeabae434ed8c245145b382904f47a6000a6ac8d67e3e8d0b538af096031828bcc803180cc96206ab044cf2238623894b9011ccd1a9fadbe70f0a2d42cc03a55725bdd9c5d035d8a2967a894e193eeda58c6a0b316720f3ea374ae1dfc9ad03989f9800fa08931417983c664022ab99a83695905a848925cef774253f170780037c0cc2e389377a13c1735dd43741a270c14b4d219d2fa9b275500354cf3a2a2c032715b292054330e3aaa23715328aa06bdce2a325c710319e6b023207e51fb4ae03b46c43acb5eb7724a55c5dbdb37a9ce8f18853d6768579a08a1d0203245ba9870303bb967a5aa2f3dbed5b6e609e87c2c5e69808efdc2352dafeee7fbaaf7627ae03b26bae4b498ff4928875ff6149afb48ae92880ec38f958e86113d172be2415010327efe7607ceb8a3d39bb68504f0bd4fca187b2b520fe34dd4a7c896ef5ace18003509ccff3a6329bba35d3493f665a2ee5324c8b4e3a41f0eacec0f107a43a4d9803d13a65ceee22b89f9c39c8717303e23fc2c1961bffbb3c79445bee8e0218fa14030adfc5b659cd18a60569de06a6536af2de9ac76f7c16e3f76f49833d876a2fce03584d5bded0174fdb1bc71cfaff1553a7936f799d48c34593df784449620743330392f62b7a7661a4dc22e8b15485750d5514f7d27b37d8b001573a9e786a812e0d032b7531513bd8849efcf0f4168c215c31487e114626f822ba573235ce4d7c0a7a03c085df77a73424a776fd5044d4fa6a57ca5f314026462e62e694212bd5f15a0b03f767f00cf770bc580fd7d3a43c7eb0ad9dd621b335fa663459eb00fed18453e0039b80da614c30299f1fd5c1674bfb7c653dadcd2a6946693c9e406ff93ae5eaee05581e037aec9fc859631f80dd48006ed38599295d69f61e1a49e37ec5e7194d0007011bffffffffffffffff05581d026e7ea4550991b1ad3ce3c4247373918b429b3da9d6b29c4a66b164090c024708ce0c86316a000459201b6080604052600436106101445760003560e01c80636e296e45116100c0578063a4e7f8bd11610074578063b28ade2511610059578063b28ade251461036f578063d764ad0b1461038f578063ecc70428146103a257600080fd5b8063a4e7f8bd146102ff578063b1b1b2091461033f57600080fd5b806383a74074116100a557806383a74074146102b45780638cbeeef21461023c5780639fce812c146102cb57600080fd5b80636e296e451461028a5780638129fc1c1461029f57600080fd5b80633dbb202b116101175780634c1d6a69116100fc5780634c1d6a691461023c57806354fd4d50146102525780635644cfdf1461027457600080fd5b80633dbb202b146101ff5780633f827a5a1461021457600080fd5b8063028f85f7146101495780630c5684981461017c5780630ff754ea146101915780632828d7e8146101ea575b600080fd5b34801561015557600080fd5b5061015e601081565b60405167ffffffffffffffff90911681526020015b60405180910390f35b34801561018857600080fd5b5061015e603f81565b34801561019d57600080fd5b506101c57f000000000000000000000000787a0acab02437c60aafb1a29167a3609801e32081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610173565b3480156101f657600080fd5b5061015e604081565b61021261020d3660046119a1565b610407565b005b34801561022057600080fd5b50610229600181565b60405161ffff9091168152602001610173565b34801561024857600080fd5b5061015e619c4081565b34801561025e57600080fd5b5061026761066b565b6040516101739190611a82565b34801561028057600080fd5b5061015e61138881565b34801561029657600080fd5b506101c561070e565b3480156102ab57600080fd5b506102126107fa565b3480156102c057600080fd5b5061015e62030d4081565b3480156102d757600080fd5b506101c57f000000000000000000000000420000000000000000000000000000000000000781565b34801561030b57600080fd5b5061032f61031a366004611a9c565b60ce6020526000908152604090205460ff1681565b6040519015158152602001610173565b34801561034b57600080fd5b5061032f61035a366004611a9c565b60cb6020526000908152604090205460ff1681565b34801561037b57600080fd5b5061015e61038a366004611ab5565b6109f7565b61021261039d366004611b09565b610a65565b3480156103ae57600080fd5b506103f960cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b604051908152602001610173565b6105407f00000000000000000000000042000000000000000000000000000000000000076104368585856109f7565b347fd764ad0b000000000000000000000000000000000000000000000000000000006104a260cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b338a34898c8c6040516024016104be9796959493929190611bd8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261130d565b8373ffffffffffffffffffffffffffffffffffffffff167fcb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52a3385856105c560cd547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e010000000000000000000000000000000000000000000000000000000000001790565b866040516105d7959493929190611c37565b60405180910390a260405134815233907f8ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d5469060200160405180910390a2505060cd80547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808216600101167fffff0000000000000000000000000000000000000000000000000000000000009091161790555050565b60606106967f00000000000000000000000000000000000000000000000000000000000000016113c2565b6106bf7f00000000000000000000000000000000000000000000000000000000000000046113c2565b6106e87f00000000000000000000000000000000000000000000000000000000000000016113c2565b6040516020016106fa93929190611c85565b604051602081830303815290604052905090565b60cc5460009073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2153016107dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f43726f7373446f6d61696e4d657373656e6765723a2078446f6d61696e4d657360448201527f7361676553656e646572206973206e6f7420736574000000000000000000000060648201526084015b60405180910390fd5b5060cc5473ffffffffffffffffffffffffffffffffffffffff1690565b6000547501000000000000000000000000000000000000000000900460ff1615808015610845575060005460017401000000000000000000000000000000000000000090910460ff16105b806108775750303b158015610877575060005474010000000000000000000000000000000000000000900460ff166001145b610903576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016107d4565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055801561098957600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555b6109916114f7565b80156109f457600080547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50565b6000611388619c4080603f610a13604063ffffffff8816611d2a565b610a1d9190611d89565b610a28601088611d2a565b610a359062030d40611db0565b610a3f9190611db0565b610a499190611db0565b610a539190611db0565b610a5d9190611db0565b949350505050565b60f087901c60028110610b20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f43726f7373446f6d61696e4d657373656e6765723a206f6e6c7920766572736960448201527f6f6e2030206f722031206d657373616765732061726520737570706f7274656460648201527f20617420746869732074696d6500000000000000000000000000000000000000608482015260a4016107d4565b8061ffff16600003610c15576000610b71878986868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508f92506115d0915050565b600081815260cb602052604090205490915060ff1615610c13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f43726f7373446f6d61696e4d657373656e6765723a206c65676163792077697460448201527f6864726177616c20616c72656164792072656c6179656400000000000000000060648201526084016107d4565b505b6000610c5b898989898989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506115ef92505050565b9050610c65611612565b15610c9d57853414610c7957610c79611ddc565b600081815260ce602052604090205460ff1615610c9857610c98611ddc565b610def565b3415610d51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605060248201527f43726f7373446f6d61696e4d657373656e6765723a2076616c7565206d75737460448201527f206265207a65726f20756e6c657373206d6573736167652069732066726f6d2060648201527f612073797374656d206164647265737300000000000000000000000000000000608482015260a4016107d4565b600081815260ce602052604090205460ff16610def576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520636160448201527f6e6e6f74206265207265706c617965640000000000000000000000000000000060648201526084016107d4565b610df887611736565b15610eab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f43726f7373446f6d61696e4d657373656e6765723a2063616e6e6f742073656e60448201527f64206d65737361676520746f20626c6f636b65642073797374656d206164647260648201527f6573730000000000000000000000000000000000000000000000000000000000608482015260a4016107d4565b600081815260cb602052604090205460ff1615610f4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f43726f7373446f6d61696e4d657373656e6765723a206d65737361676520686160448201527f7320616c7265616479206265656e2072656c617965640000000000000000000060648201526084016107d4565b610f6b85610f5c611388619c40611db0565b67ffffffffffffffff166117ad565b1580610f91575060cc5473ffffffffffffffffffffffffffffffffffffffff1661dead14155b156110aa57600081815260ce602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555182917f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f91a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff32016110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f43726f7373446f6d61696e4d657373656e6765723a206661696c656420746f2060448201527f72656c6179206d6573736167650000000000000000000000000000000000000060648201526084016107d4565b50506112e3565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a16179055600061113b88619c405a6110fe9190611e0b565b8988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117cb92505050565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055905080156111d257600082815260cb602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f4641df4a962071e12719d8c8c8e5ac7fc4d97b927346a3d7a335b1f7517e133c91a26112df565b600082815260ce602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555183917f99d0e048484baa1b1540b1367cb128acd7ab2946d1ed91ec10e3c85e4bf51b8f91a27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff32016112df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f43726f7373446f6d61696e4d657373656e6765723a206661696c656420746f2060448201527f72656c6179206d6573736167650000000000000000000000000000000000000060648201526084016107d4565b5050505b50505050505050565b905090565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6040517fe9e05c4200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000787a0acab02437c60aafb1a29167a3609801e320169063e9e05c4290849061138a908890839089906000908990600401611e22565b6000604051808303818588803b1580156113a357600080fd5b505af11580156113b7573d6000803e3d6000fd5b505050505050505050565b60608160000361140557505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b811561142f578061141981611e7a565b91506114289050600a83611eb2565b9150611409565b60008167ffffffffffffffff81111561144a5761144a611ec6565b6040519080825280601f01601f191660200182016040528015611474576020820181803683370190505b5090505b8415610a5d57611489600183611e0b565b9150611496600a86611ef5565b6114a1906030611f09565b60f81b8183815181106114b6576114b6611f21565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506114f0600a86611eb2565b9450611478565b6000547501000000000000000000000000000000000000000000900460ff166115a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016107d4565b60cc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055565b60006115de858585856117e5565b805190602001209050949350505050565b60006115ff87878787878761187e565b8051906020012090509695505050505050565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000787a0acab02437c60aafb1a29167a3609801e320161480156112ec57507f000000000000000000000000420000000000000000000000000000000000000773ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000787a0acab02437c60aafb1a29167a3609801e32073ffffffffffffffffffffffffffffffffffffffff16639bf62d826040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171a9190611f50565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600073ffffffffffffffffffffffffffffffffffffffff82163014806117a757507f000000000000000000000000787a0acab02437c60aafb1a29167a3609801e32073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b92915050565b600080603f83619c4001026040850201603f5a021015949350505050565b600080600080845160208601878a8af19695505050505050565b6060848484846040516024016117fe9493929190611f6d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fcbd4ece9000000000000000000000000000000000000000000000000000000001790529050949350505050565b606086868686868660405160240161189b96959493929190611fb7565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd764ad0b0000000000000000000000000000000000000000000000000000000017905290509695505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146109f457600080fd5b60008083601f84011261195157600080fd5b50813567ffffffffffffffff81111561196957600080fd5b60208301915083602082850101111561198157600080fd5b9250929050565b803563ffffffff8116811461199c57600080fd5b919050565b600080600080606085870312156119b757600080fd5b84356119c28161191d565b9350602085013567ffffffffffffffff8111156119de57600080fd5b6119ea8782880161193f565b90945092506119fd905060408601611988565b905092959194509250565b60005b83811015611a23578181015183820152602001611a0b565b83811115611a32576000848401525b50505050565b60008151808452611a50816020860160208601611a08565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611a956020830184611a38565b9392505050565b600060208284031215611aae57600080fd5b5035919050565b600080600060408486031215611aca57600080fd5b833567ffffffffffffffff811115611ae157600080fd5b611aed8682870161193f565b9094509250611b00905060208501611988565b90509250925092565b600080600080600080600060c0888a031215611b2457600080fd5b873596506020880135611b368161191d565b95506040880135611b468161191d565b9450606088013593506080880135925060a088013567ffffffffffffffff811115611b7057600080fd5b611b7c8a828b0161193f565b989b979a50959850939692959293505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b878152600073ffffffffffffffffffffffffffffffffffffffff808916602084015280881660408401525085606083015263ffffffff8516608083015260c060a0830152611c2a60c083018486611b8f565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff86168152608060208201526000611c67608083018688611b8f565b905083604083015263ffffffff831660608301529695505050505050565b60008451611c97818460208901611a08565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611cd3816001850160208a01611a08565b60019201918201528351611cee816002840160208801611a08565b0160020195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681851681830481118215151615611d5157611d51611cfb565b02949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600067ffffffffffffffff80841680611da457611da4611d5a565b92169190910492915050565b600067ffffffffffffffff808316818516808303821115611dd357611dd3611cfb565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b600082821015611e1d57611e1d611cfb565b500390565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015267ffffffffffffffff84166040820152821515606082015260a060808201526000611e6f60a0830184611a38565b979650505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611eab57611eab611cfb565b5060010190565b600082611ec157611ec1611d5a565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082611f0457611f04611d5a565b500690565b60008219821115611f1c57611f1c611cfb565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215611f6257600080fd5b8151611a958161191d565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525060806040830152611fa66080830185611a38565b905082606083015295945050505050565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261200260c0830184611a38565b9897505050505050505056fea164736f6c634300080f000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563055010000000000000000000000000000000000000000005821037197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe042dead021405581d02f742107288560eb94a805007384cea406d557707f81c837da8d6bf8a070119201b0219900005581e03b2f27b1bb3cc8c3e845b3e661232baffa7fbd74b27f59a153010d4b730040105581e03f88192ec355820108103a2652d888f44db30fad16ba87749c3d0b320100c0247023418e66501a005581e03efc3980664bf85342d74fd805e794389d5ec2f3473335e54dadedfe3c0040105581e03bbc300bbde7ae682be26a35ffa6cf4526c6478101896832f7d69708cb00c014703262af72e98c0021984c303cab5bba24ba1d09f03c48c79077c53c7934b2d1b808e52d6c471182c5433cb4f035c2bf02f9028f0e43abd4914e63ef4bae230a445f796b1af5a7da6a677b170c1035784f3d057ec0ba325402446abc40e171348c49ba98f3a835eeb3acf1c43c0740354766cc65fca64110de3c5bc4850b573e241ad6e8a8202ee720f5c5d0f6ad21d03ad3a777a8169957b9c966a4f2a462b6d1958e6addd9b7f4df8bfd8d3290b9cbc03be9d813ade2730e2e05e8601fce1a8fd28032e0eebac4bfe6f7901c478597acb03dc25903e31977bac9c5487e7e23b09cba94cf2ea5c08ed07f80419985e92f45903e663fc4f4e15cde248e77db9f3cfcc4192fa46bc892302306efb792df2e3bbbb034731ebf712b34c9325c3d5d4472dddf8dd4347c1519a43fcdf18373132bbfb1903b286ec2132c5ae9573aae8bb9c4d2839ff3eaa93f73d3d5b2de5aa975c6ec6950353f2ea9ce743ff6b71cbefdc1e6fb9a8abc5e0d6cfb03c441b30e7a2bb5e0a050391435835feac392658e8e4626e8c5e3373bc92eb3299a9db5662b87f009a2c550219ffff033d030c01c22ac74cfbdaad441b65b8d5dbb38a1c3dbc0d1a8dbf2dc8e4f3dec50219ffff03888eb396528136bfbc13986eee8c42494becebf0e8f811af378bb8d0fe93b439030fe84b44527df943c83a7495635dbb6cb446e7226e548f995de49756f883a2520326d861d2a1160d14044326c13326f9365ffeb430999d22585fc9f34c60277e4803579d482840e5797037c859423d66f8b532e1a0a9292255955c35513a863d22b103448962ef35eda507e5c8863956120aa2bed4e5ab4ac659a2ab17dbc8ae612b6003fe77e149fd1ce9e7c9e137aa791be4f1497ff5b07533f1af1d3a74b7d363a00e033536c26ec38cc1497147418288d6b02a294afc506131be27fc3ae6086e7ac0fe03cb5372b209045ca81396b9ff2358f190e889dddbd4921eea1f92d254dcdacb740394882df9ffa247cc55897cdba44e8af6ad30781855c32ddeddaae11237ec0e7703a23c378831edcb30a746c85652cce5b59b0ad8bb703604c691cd9de71e2ce2440219ffff03f65ab41606effb8275d9b3dba6f9189e4f2c06b76e02a79436243bb017086c68037daa0e4f292b36033a515b585c9ff53e4be0fb0b8908332c305736ac3c63c8ad0399dba72fa4cf98333338efa41c8614b4bc9531a48682ad0b8255ada4ec1373e903d771bfdc33b74010b40cda3ec6d65a0c718157ccd74f6135644c147fc56be31c0301757cd6c7e37c4fa7a5a2dbf964c185a0b0785963d87cdb9ee7c845659b2fe7037de4d7cf62d39757aef87f4f0a88319f8ba2fcd853696ee7d84d166dbbd200d60219ffff03d0745f9abde0e83d89efe4158116639a272125de302022a5fe0483ccdf6dadd00376719a71213a7a3b0ffb4a7e2cac1aea8be97e8d5e56f36fddbaf81ba0cce20c03414db76f32fd2f3a653834690875fa5da96c52a6cf8bcc7a5649462b6d0a731e033ca1956813756f1dd890a599e432ddb5d8b169f6413a4d2e216b0f61e292e0710351db1ba976d7565881f4cf983532b61f1d85f9da9a3bb667c2e4d4804a3b54b003f51a402f4968a76dd7f63c52287697f4aa63bfac86a9ee08827a6d2cf1db51eb03ef9bf6153360751fe32e415e1cb1a9fa993e207adc69834bc1ca8e2108f2af8c03569597d66e6ff9edf3ea25ba41a931283951013301b4b78b20d433589caca00b03a4e05abddab1165834cbf2cdb57c9ddcaf5152b12da7caa465d9df6e6d765b26036c16d60c907fcd2b5f89ffc7ee13634b77b435c377c917f2e23f68e8424abd270356034facf8181dd73a472a6e12da11ea1c72af9150ce7516aa97c2f125936efc0321dec832a5b34c5a93f0b9838d7cb33ac02b2b01da868b52103b4d49a3d3ec9f03bf655eac742eb362c64e0416cf7a77c8407efee9e17d2388151ac3db47be474a03142b0cdbb63339905aa31a49da43e0edce52ee434c742277c56bbd3fba08901a0335d65d920a019dcfdbb981c585f0b64a3827c483d66f1a7fb7716b6a80830f9e0303347fb5efb2fc4391e80d9863586e41b7f4514f4239ef02d2cca7abbf31bf60032d8264e441ce547abecdcefbc5398c6e289a4f98ad3a46d1d8538a548441a48b03e45c814c71681edb383c83db9f1b37e8199d32dbe5b06a5780c2a95c64d71bd403159325028902fa965ea353bbf8dcb09e34c63d30da25035a42ac7705cc0087f9038e850e98c08237982b2024f5b265472077b7276956ee1a15b7ad2242cbdf177403a3865618e585e5015b4556a3f650378aa066483c284942ab1ee8c993e18f8aca03b167b988fd45ea435c4e5e7d247de3df542f6d13e75ce5168c3d4c9da261b5bf03e531c0583ef45bd847e40652d6659bb424e6c64a5fcd23a2ba1ffd5359594ee403c40a6bb9e8d0395908f7367ac61ac94a2f22590c09281eb723ba4fafb18a361403b17e8db960f0b875a93aca94702eb4a6c77c630a30e60de06b02f823504e3a210373f544f0e7a0e8bd0027ab93f838ff9e386f7581a85f63365375e295aed5523f03f934c279cf50bcce61dce36c3785d86805da208afdd4070faae516220d03c78403a7cd89caa1e0ae97ac4f6986ff60dadb1b38bde5bed847a0f7c653866e5c48fb05581e03e7fe2bc04893e63913ba37fe932939b5ae938bbf4cc9e09795a03a6dc0040205581e03b8b6063bb6aba9a3ee7b658ceeadd4fc1982983010cc3bb34fe90c8cf008475fbcac1168f40005581e03f9b0c2481f0752b85d868912d62d9158f7aaf6e8f4155ebfce4a3adf20040103d7ddb3495f9c8cb1b4f5719adcba32dee1b669101330c8dfcd63230757a4bd4105581e030886c9dd7385db04ba26ccfa40854051ac1ddcb4e4791c989d427405d00c154721805cb985f06803f2294850a49a287b7f93e721aff148add3fde9c4e173179c8badd556627f67aa05581d0248baac208ddedbf0111b783f4404d902ba4e3c78c00a916253077788040404590c51606060405236156100b75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100bc578063095ea7b31461014757806318160ddd1461017d57806323b872dd146101a2578063313ce567146101de5780634000aea014610207578063661884631461028057806370a08231146102b657806395d89b41146102e7578063a9059cbb14610372578063d73dd623146103a8578063dd62ed3e146103de575b600080fd5b34156100c757600080fd5b6100cf610415565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610169600160a060020a036004351660243561044c565b604051901515815260200160405180910390f35b341561018857600080fd5b610190610499565b60405190815260200160405180910390f35b34156101ad57600080fd5b610169600160a060020a03600435811690602435166044356104a9565b604051901515815260200160405180910390f35b34156101e957600080fd5b6101f16104f8565b60405160ff909116815260200160405180910390f35b341561021257600080fd5b61016960048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506104fd95505050505050565b604051901515815260200160405180910390f35b341561028b57600080fd5b610169600160a060020a036004351660243561054c565b604051901515815260200160405180910390f35b34156102c157600080fd5b610190600160a060020a0360043516610648565b60405190815260200160405180910390f35b34156102f257600080fd5b6100cf610667565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037d57600080fd5b610169600160a060020a036004351660243561069e565b604051901515815260200160405180910390f35b34156103b357600080fd5b610169600160a060020a03600435166024356106eb565b604051901515815260200160405180910390f35b34156103e957600080fd5b610190600160a060020a0360043581169060243516610790565b60405190815260200160405180910390f35b60408051908101604052600f81527f436861696e4c696e6b20546f6b656e0000000000000000000000000000000000602082015281565b600082600160a060020a03811615801590610479575030600160a060020a031681600160a060020a031614155b151561048457600080fd5b61048e84846107bd565b91505b5b5092915050565b6b033b2e3c9fd0803ce800000081565b600082600160a060020a038116158015906104d6575030600160a060020a031681600160a060020a031614155b15156104e157600080fd5b6104ec85858561082a565b91505b5b509392505050565b601281565b600083600160a060020a0381161580159061052a575030600160a060020a031681600160a060020a031614155b151561053557600080fd5b6104ec85858561093c565b91505b5b509392505050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156105a957600160a060020a0333811660009081526002602090815260408083209388168352929052908120556105e0565b6105b9818463ffffffff610a2316565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a0381166000908152600160205260409020545b919050565b60408051908101604052600481527f4c494e4b00000000000000000000000000000000000000000000000000000000602082015281565b600082600160a060020a038116158015906106cb575030600160a060020a031681600160a060020a031614155b15156106d657600080fd5b61048e8484610a3a565b91505b5b5092915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610723908363ffffffff610afa16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600160a060020a03808416600081815260026020908152604080832033909516835293815283822054928252600190529182205461086e908463ffffffff610a2316565b600160a060020a0380871660009081526001602052604080822093909355908616815220546108a3908463ffffffff610afa16565b600160a060020a0385166000908152600160205260409020556108cc818463ffffffff610a2316565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b60006109488484610a3a565b5083600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16858560405182815260406020820181815290820183818151815260200191508051906020019080838360005b838110156109c35780820151818401525b6020016109aa565b50505050905090810190601f1680156109f05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3610a0784610b14565b15610a1757610a17848484610b23565b5b5060015b9392505050565b600082821115610a2f57fe5b508082035b92915050565b600160a060020a033316600090815260016020526040812054610a63908363ffffffff610a2316565b600160a060020a033381166000908152600160205260408082209390935590851681522054610a98908363ffffffff610afa16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b600082820183811015610b0957fe5b8091505b5092915050565b6000813b908111905b50919050565b82600160a060020a03811663a4c0ed363385856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bbd5780820151818401525b602001610ba4565b50505050905090810190601f168015610bea5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610c0a57600080fd5b6102c65a03f11515610c1b57600080fd5b5050505b505050505600a165627a7a72305820c5f438ff94e5ddaf2058efa0019e246c636c37a622e04bb67827c7374acad8d60029037f81ef967c9b224db8dea466a1e6de5e2a6dbef354ced0b5f4388fb7b66fd90d0392eef38e001b5ebaea24ae2e4f5989d4b8d9621d7cbd708dbfa08e762a9ca5be03085cf595564627264e9d2218eee2675474aa74014fc4c91f0d3a5ad9fc52693703532afcd2a80b87779f0e88727486564411f45c4807b8a173ea9e40b1c58512e003e38312117669b1ad63a77cd09fb1957e5d17fe643985f51b466633647fd25a0203dc65c78a81e57a2fdac279e514ddbd71e1a9345918b120b51fe44e10b90601e9032f1da7724709cd4e394a71a3ccba39e8967a1ce87ce6ca22ef4905dada0718e0038e46982622b75dd3c460a96e691a6f44a99ee27b5c6c789fc4802795c2e09178033a4baddc762b813138d433a5dd007c21bb54c24d0d1657787c6484387f4b119203d5fcb8f61f995d4c1d2134ee2da96b06bb01ffeb6b30e29b841908a481e95cae03a7638e226e8e0f0bea7cb7bdd6a092bb79b7da1aaec6240d1417dac89263170703100f35a8c6479c83ec99ae38ff328a816c0b06156d5cf1a1ea7ab4daf1c85a0d035b56a4df25dff28d273e44eae8743cc13e79d5e23159de24ce38ae255122ce9603f063dd3ebd162ae0a59c385465af55582510ce67d42690cda921a00b72402d2f030931e3aed2e99664b8d52e57ec023f6b9c2ff52dc3497fab1e40f3ad4169138603b4e2d73965d1047acef5cd89355cbf59d2969a94a53a378e817ea840ef32b9ae03a6a2a0d5c07dee9face09730945660740dccbe1a18136606d30fa2d5ff89f3f00339e63a1cccbef3084a06138c78511da52f6bacaebdc45184ca035c7e97890e68031e875687f79b1abb4e9f2bcd96d5491182d3822d57bd5a5d1814bba2e266a03c03e43b28ffcd161addef16fa3f3f782a8337e0bb80de53344e44aa12c9ae17925003a089b04207d0f24096b2290ddc449fa3ca97f9a6ed5e24f0a2d64d9407e349d6038e9150d392ad9d09841dc5cc1009f2edd68a9f42e488635d51843f498ff2fa8d03f08f2096d9fad2508e043e2da5f8e472bab00ecca336e65fabad56a77dfd4fc2030dbb1719bbb57146578ae34ade2954acfd996de1241bd70130cf7f4316966e6203e48425c8cdec5b901479c2cff38db68e20688ef2e452736ae034e6a9c59a7b6d034965b548cb82c0240689c75fbd55b04e7686703ce124baeddeb4a4ed923f94c80316f3cd5fb97db5dbf027faef4d986ef0d39518dd82c64ad6a0b5c957010164b903fb75669de85dc6ea4e2acc87e454b350f4ade884939025fc6ff9218b2d3fe965039c538a6c11f1e713db2509f1c1cf0154b59eca3295420261c82e2277f3a46c8503ae699eee7a188620997f32057947ef9df277532ac560ebae7cdcefa30d380f9003956a1f1e720d4e1b8f8c1690e5691d259e555a08691653abeee355bc99a2aa220333f9709a6e7bf119a7bdf9ed935dd56c30cf78f8673b64a5bb5dc309430668c1031ff83da33fb3022ee2c1dc99e069a94b2ca1f1de072ed805e677b6c010980be003befbc95c4ff8e0aa12e96392eb3c4aa05218b662d9047e38fbb181dd5b2a1f2803354192adf9e877d12ad76278cdaa25435e4461972e55b403ed978c40b5c4c6c100581f031c3f9668d41ea9154706fb96208d06791e8ec08679ee9b3fb65b535a595049018493fba64ef0000000581f0374ced02ebb0bd7d2fe7f64e7a2ad37aa7d005f118c1aff7b8184102240904805338a15beaf780003fc9f4cdaa20a4bd170c1afc2a5c2ad4f143618829ea47dd1f7375ab50dc1eca100581e029ca644d0608f6b56f54708261b385ddbe471fc93cb1c466a7a6d6b0259484c53ecdc18a6000000581e02f311535caf80479b01e0c2ad0efd107bbbc1abcd1d08cff357904545d54a82933764804daa7b14000219080800581f03a3963cd57f5ecc31f17425abf00536d51fc5b8f0dd53952ec8e5821cab6047362b1326efd40003b5938cec5341a115c5192fc4d49668637cae900de1121e9a3db28856e7d2327400581f03d9769f986bd17c1195df5289acc0bff1fa08c095736fc8f2bca344590c40491f503aa98abbbf240000581f03cb339a2a67a36901acf1ce058c43a77405ada327cc53ade44c6b4f486b60480c33c24fbd35c00000581f03058dd7a09dc6eb952a61717a64ddf6a33f0c4fb863b514fc2023b67f66d0480de0b6b3a764000003c7626d95706cad8280812e38597046ac13c5908a89371fc8e7a0d2e883f9f8880219af7a0219ffff038f11f562a31673cef05cda84fbeca0ea959a87c23194fcfd5b3c7d3ee718efc103a4b43d4f04b3afd7d3de1dfe1efa99ef5c3bbadf4ea61ee460e089c3f3117b8803d98676f9c6f804f9962510f18266cc2d46fb1f59b9285ed12af251ead65e0d320326e6b35424767174369166e857ca002f9318aec94537202f8e97f38c362f147c032848e0da63c5b9b20edbf24dd6e38c02dedc19b7ba10f54de0437cec5926288403b3c99aeedcb87cc4ed24e6dc59381e0b7c97eb1e889392d87c2a76b6a7186fd003f0900321d20f6245c4e77a66a0c60dc1c191b0c9b6e931459fcab5667a0a9f9e031bb1e679cb919f7d23b3a301b8b858617305ec14ec8a57842378bef75d044382033eea2867d90b8d899803a32fd451fd98b7fc14373b4325b8156dfa99a2afa30f03ae9fa758bab21f734dd677b8bb6dc6b4ad24ab6d6b49778023e4d0587913cdf7038c97e737361bbeac540258ae1d0bbdb6feaa3abfe2f77770ea73132de37daeef03f26a859399c6c7ba919b2ea0b87a38a2c1c8cc5aadfff2b4a054e8428ba9c69303a83d3e7b137e8208b3f93de65044e1352f4683fa20d866ea28bdadb1828c59bd0219ffff03c11119bcbce00b2b8f86e4a6ef5a65f4458ef48fedc581e032cf6b3ca48ed5060219ffff03bec5b1dd5f90511a8482d1224b366424a434bf8abc6e8a4a2e2ec0c7a658024b03a1893e2ec3eab9c67eb13a4110e9155c5c36af630f57e50828805c14d4632c79030607a24e938273c691c924c8d1b145fc38a42d090c58d9b09fd0cf5fa556bd6b03301d6e2596ad45986b6aee3b2a9e34cf63f3e8573fe9a9c3f866241ee35ca28a0310d52949a20ac67b12ac2adf26b5722fa1f83da37b8080c1b907b36d3939d12f0343e190f73ebb7b8a9ccb1bb1364c63d30c0da40bc39cca12d689a2cb735333e203a70f5d55a3200b28eea803aa947a0ffae5edb9852e88137872ec16b54bdb75ee03c4816c8f7a081c6d8a0b632821d040609dfc641062ffe6398280616a16cb0e72032f28ac665e9e5d40cd2ad9cf24037256493d98f95564e872397167407414b97e034d9775433878350039e9813b1edc9ea3fd746120573e389b6c643dabc44e22d70366b1951bed7e7dc3e91cd487562f28465b50ecc889a246af06398a9e8f47b39803678682486acf6710ee78769c7974326021ca6613df06f9686f488658c689b6d903080a4e893996083cb6bde149a6563ecf9a31f43fdd5a2e10dfa08064fb6b6ac50356d82770bfd67d68fd6b55018ae2abad729422a00fdb99c88e9bef482237f79a03e50c012aac3a5b9cd2a13a9ac8ae7f32723e5beb98137f7aafcd9fd8b006c66503cbb2e82cfe6d0df09702ca962bbc44a02dd1b83bf7b81066dd80ad35f335f4a303dcd5d4cd2b0249f8afe31ea223cb5a1878677fd26c1d24a6fce0bca52294ceba03fab8997f3a0d8ab7285ca3b0944444b5465adf67fa862b43fd562862d45e0dee0366003c6b5fe7591497c7a05bf9a3a5794fc48e16a3f79584faf5404ab9304ccd03b68b34efbddd2538cdcc1c5c28d63a678f0ae7a3b9353798cc329ca165dcc57b0329ec255df563f88c6196a3e210cf6260b9171e61920cb6a093b715eafcca59130350755a8cdef10c55db3ac4e4656aafa53d75ccac795da5605ef09a1ea99ee56b036a251083f1e2cd55606cd6cd337037a443cd7ce12d4ba733dcbd33093baa72e8035a42797df0b93f1aa813136ce22091960f80f73d501b130a2c1acf0248b5e3cd03a61a15391bb90f2b0231079e1f100f6669b769654abd7414dc783069300d8bf303167deffcd50c101a3fd99774ab966de5386e9014fb2d7f12923714731c8d74220386ac06bf17e61cf425d9d42a08a1260812ddefd21059b73a6a29df6a0320aec8038bebecbeaef7b593dc0c645a97c5e0ad1cbacb6d23788c5e4aab1e5b6969908403d864abac2091fbcaae84cca4586925f6c13f46df40828a142420bb8be1c22eb30354aac2c92651e1b278bbb543b539b4d8a5f23b2b869d0a593b2cf6d9d087be060310c4b5cd6724c58e623763d1a0c08c9e7575c23ebe735b10c0893bfd53c2c0010354b432883b6ac66288ce32d960aac9d7786f85b8f701207cbc080066402d7800038ed565dfd2462477c80268f84354b28ad98edcc6567a2ee9a8d2e09c190b92e50370ae24562a725d13a372e460f8e30f109bcfd1ee6d96032d1140985b0d09df68039cee1cfd9e3506fc7547efa2d44f74a3246f8256cd70c76be53606615d63a3d0030a94ba91d870123ad3ee8ad128031b033e9cd7c6b79e9a4e4c78502a006b7f77035ca335739328341183eb19e76e11495d816c0caa7a61ef59d74c9c9661f9489203f25b3b5f08f52ba14f9f3e45afe1de6b5fc0f65b502f1aff14930551daf06fd9038d26f5c1658cdb1336b3488e8b7b8d5c2a0a9575e6263d4ed9e7ee541cde57a2033633ecab92fbb6aa33ed3c3b7803a720452b6650466e6a77649d86bd7b0b26f403cca2422fc7e382ca33f11060142e7a20bf8ad1364183f7be195de2547a5ff27903f2805158f91b3f05671043060a0b80c380f92c20fce936956855a8c1dcac92380367e849fc6ecfb868c78f47472332f836d1ab27d6ba44a41fbf2f5c475afdd57103dc0f13b6eac286c8e4fceaf4bdd754004e4953563d42da95a8097b00b47fb72200581f03acfefd657519fe7c94aef26718f42da86830dbfbd02eb2b3a1766d23fa005820fffffffffffffffffffffffffffffffffffffffffffffff97eaa5bc9891fffff00581f0357ca90ec7ddddd390eff7a68a473fd65920ae1609a03885839b584a3589049012a394d4f4f1ba80002197e030375ed4daed044d8afe615ebe39c460b812bcb1663f94e4897b9f6f4a06f1a04a90324eba01e0575b2fcda2342f86801f9eb6cbba8c5be3715f482179b520ee3778603eb790a3d982237e2aa8c11bd5d6843309bfccd3aae5bc20cb62763cbf1093fde03add2ff3aab2df5855b9af3009f6774bb75f91d0c8440a63bd2cd185e98e018cf03b94714e669bfa472f51a6a73d0704daec1b463c599dabe239a217830e9e5fe6803a80a472f5147bb8715ee96f9b57ddad8957413d05fb4e6f4efaa1c250a1f1c4403e46190eec4125fa1d34daf25dafd896e5a68d531f1e843242a755effd51505260382c8c71f02a444ecdfda24bd786e52a0f1837015bd6dbdf47361b5b82cb14c4e03abe5b8b2d1ea8138abdb77e32c98b1031ab34c7a8600180dce4b7a7bb9ab3c1103c019ed2909a45b3ddecf4beee71bb82d4966541cf5b3f139e7ef69d88ba9b8790219ffff0219ffff030550ee9772f1884fb1507629a91a8622e2cc14c71a612b671d385ff38e19b134036509c7a0c4b944a0672c195316611d50f51b81bc3124b6d1b59137abd49cd985031651d479399dd3cfd9a2ac9692c330c122b5372d47f7eb71200e7c5f8eb9d76903bdf5da4fdca0299c3ef9297f0f370dbebf86da7716a3875ba086d7d8c184930403c00eafd9a75d96c12aeedeb4707b402c13a96c8e59c02154355ae236f869a62403e6937e422ab759eb7b75c7484ee1e7e9af865888641023b9bcd8f017a1ac8bf20305de248d57d972d906a93179179e86d076ea73acd83d6dc187143a7e1d5583070219ffff036b1ff95db638ca46aa931d089790404f29e3686b3d6afe43127faf2ee9b7776e0219ffff05581d0378cdbdee389ffae487e52692852fe4eea72ee89c2df62f7aa6826b500701190c5105581d036ceb55f7ad68b24036819da29a4ba0377b9a74178d5ca202f407e1400401021904040219400205581e03c22fed90dc76bb7d3c84ac58f4a01b6cffcb387a3b890178083c250a900c01470216061f65f92703673e6aeda9ddfb3b47fd730bc9a0cfca6fd262f972a611451142f5cfe64f4f80038f72e19892d0e60d5312e4f0f95bcc6c968951d8676a44438acd28eda2446e140329e5a40163e31fa80c1851a8915fa45b33de0f424782d27c599895297324431f05581e03c4c55b2e3f3c669cfe66f79ff3a395c3795f32d9db4834ff86a4897e7007011bffffffffffffffff0219bcfc031feba819ed565b026233f5bdbbb926b0a9589bd99e152b97e19191c3ca94010c03302ec4fc565d843e6cf4ae06d01769b54928f27693561efe2fcd5138f2a2fcec031951bd9e2d4d0bc475b01823382e5143cc604c0129a172c903145891a551a26503c2a159f1b63dcc9f5c6fd306dd55ad361d5bcf4008f14699673bb21418b2d83603d8e645fb77634ffc77a98b4b95754394398007597ad01dfe8c95f03fe7d0e7eb03f86789cb50e35b46627000d242473454cee58e6efc6343721642d5a34b17b07d03aeb1341a37a2311a3fb648d81e0c86568aea15cca8abab71b23d1cc400f2af0403d307f9617159207e116aecb5bc915182c096d0eadb64cb83ffea3b9c695e555703f59f3e6ec3b676146169f0b460e56eed951134f0d805c81a710fc2486d669f5003912e0e00131a01f4ec2dcd7cf87569fe1111fa4d75a6cef7a30030d423cecd120219ffff037692f0390534f560acdb5326c4aa10ca38b5881cfbac24d9f43df31379e21898035be2a9e85e33b4d3b982706005f7749426b6a37f76e0e6be89d79b3a0931a3d803d075764526afcd3e84a02cba14469f6d0fba3f9a0d1e330f99c320b5b30867e70219ffff03444b6076da238316099b49483e58b2f89c04c6f724b9775d7c8f3cf89f748071030d2724a33d082ba193c9e920d112b79d477793b5a215a9ad67ebd50a435ca48f0395c873b26ca0eb07e3d45db3ef850bf152c3e0bd84cca8918d088b9f737f5e540326bcc443c682f9d1951d6ced7c93c404061e1327df2301185e2136d5d78fd0cb03c7a5c578f757d74860d66c23c619fc4a1126eac4b697e7c9015f9f1e3d73f181039382f3232649d4ed2eadae1c37c3caa249cbd62125409aeb2bcb8cdce0fd7f410319f972d2719b5b1c04be8c7006ff4aa6215bcebe368b55077a838c58ccf21057039808c5587b5faa1ebd793090285690f6eb5743627a393c02172077e8adbac145034cbd3b86a69e5a32e8cb0fb138dfe0595abca71ff7f9da6cce7ebe993407cb1303db2c637ecd04a835aef159e193705c4185ffc257d80fae8518cfcc52e1b70a4303f102d67448b98da78fc1023a63aeef39c7c596a5f1af244913774e51c69f741403c7ca1dc027d9f5a9008298f334c51b97994e9debcfce22933c4ed4986057418d039a1cefa2b32a02768b4e329fd0079fdbe694f4ca13d700cabb562563c40fa0c80219ffff03e48dc10da1969bea01394d3369ca965b3fffdbf98963bfb84cb32639e217ab4f0301cfc609c27283695899808264c62f4d4fa8dca11c6116e0190386d4832310b903609259acc51058cb0f4b2b21eefea56c4194cd76691a3e4981f0b20f5a6f9744039c4956ea4a41ef91d8e067ab0121422d6bd7abb168df78d4779c6ea195892b4d038771867468de4431661b18f4563d0fcb8ce7eac6c6d5a45a475eb2a68c4be0940349a38bc61c4523fd721eff4dfaa28adfcda7f719dff1bf8313d3b341e876df0303d11a37490461734d4f9c80083e83538140618c4c18c634f09a36e530bb502fcf035f6bb79aea3cbb5d36f240bb3a3fea75ce9938a5a85444432c927a0a9e1fc1e303be4e0c94c14e10e139dc4dcf571ebb229c60798f20d087ed64b0fa12ddf7c18d038cf565b8a3eabff9077886c30bd0e2d2739204d44bb43d583b88a5d59e5011bc0379327c7416d412e3a5bb5375cf9296dfbb7956e08a9aa094c53b98edd0e8a74f0352edd3eb61117c565f141fbebd2df80f17e0682f754e3eec9e77135116ca590e03bbabeff544fdec39b21ce523fa57497e98ba3bab6045773fa95e252f6eb8b9f403fd87699018f9a667cc023a095e24bf0e2a950b621ca328c252433d7fe7c5484403b939003fc8cd022b3b40ea949f7ac30ee47938a8b509deb2331b9034eb06930503d8e6ec0faad21e6e02e43fe4524c133e7a9554cc28782144975a7789c842d1c0037390b152571797922ca7ba058602a5f9c7697168a5fbd914f2c0ec436d522a8c03981722943f308d375e18319a0934672d1dc6b2e410e45ad2d9bd97ccd93ebbd503ef13bf4a5902f858f56cd86f23f0d1dff54d3cea659a65e814fe1790bd46d2d803bef15af87aef697e28fc9e3ba5a2d8765e14133fb82ce8619343f8a6d7533d9c0345640853178d961e5774e314e2a5c1da21cc79f6cfe732c3c550c98e3ee120c3030ab0c83635b072a8c6fbe7938556996ae8eb066d7df009f4246ee471ab6e39ab05581e0385227e07bfc08f0b8cb6f52099a56ec4c2d155d3606ab0546a4e1ed410040105581d0217ddab6f751b54a173d0ec695f2fa4f1eb63518a453514e878777fbc040104590c69608060405260043610610087575f3560e01c80639e5d4c49116100575780639e5d4c4914610155578063affed0e014610175578063bc197c8114610197578063f23a6e61146101c5578063fc0c546a146101f1575f80fd5b806301ffc9a714610092578063150b7a02146100c65780631626ba7e1461010a5780638da5cb5b14610129575f80fd5b3661008e57005b5f80fd5b34801561009d575f80fd5b506100b16100ac366004610758565b610228565b60405190151581526020015b60405180910390f35b3480156100d1575f80fd5b506100f16100e03660046107e2565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016100bd565b348015610115575f80fd5b506100f1610124366004610864565b61025e565b348015610134575f80fd5b5061013d610293565b6040516001600160a01b0390911681526020016100bd565b610168610163366004610919565b61037c565b6040516100bd919061099f565b348015610180575f80fd5b506101895f5481565b6040519081526020016100bd565b3480156101a2575f80fd5b506100f16101b13660046109f2565b63f23a6e6160e01b98975050505050505050565b3480156101d0575f80fd5b506100f16101df366004610aa9565b63f23a6e6160e01b9695505050505050565b3480156101fc575f80fd5b506102056104aa565b604080519384526001600160a01b039092166020840152908201526060016100bd565b5f6001600160e01b031982166301ffc9a760e01b148061025857506001600160e01b03198216630801407360e31b145b92915050565b5f8061027261026b610293565b85856104c0565b9050801561028a5750630b135d3f60e11b9050610258565b505f9392505050565b5f805f80306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156102d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102f79190610b20565b92509250925046831461030d575f935050505090565b6040516331a9108f60e11b8152600481018290526001600160a01b03831690636352211e90602401602060405180830381865afa158015610350573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103749190610b56565b935050505090565b6060610386610293565b6001600160a01b0316336001600160a01b0316146103dc5760405162461bcd60e51b815260206004820152600f60248201526e2737ba103a37b5b2b71037bbb732b960891b604482015260640160405180910390fd5b5f8081546103e990610b71565b9190508190555083856001600160a01b03167f47d99ad340f52da66535aff7e10da1ceb85a32bcbd9fa1c42314d194545e14d2858560405161042c929190610b95565b60405180910390a35f856001600160a01b0316858585604051610450929190610bc3565b5f6040518083038185875af1925050503d805f811461048a576040519150601f19603f3d011682016040523d82523d5f602084013e61048f565b606091505b5092509050806104a157815160208301fd5b50949350505050565b5f805f6104b561051f565b925092509250909192565b5f805f6104cd8585610571565b5090925090505f8160038111156104e6576104e6610bd2565b1480156105045750856001600160a01b0316826001600160a01b0316145b8061051557506105158686866105ba565b9695505050505050565b604080516060808252608082019092525f91829182918291906020820181803683370190505090506060604d60208301303c808060200190518101906105659190610b20565b93509350935050909192565b5f805f83516041036105a8576020840151604085015160608601515f1a61059a88828585610690565b9550955095505050506105b3565b505081515f91506002905b9250925092565b5f805f856001600160a01b031685856040516024016105da929190610be6565b60408051601f198184030181529181526020820180516001600160e01b0316630b135d3f60e11b1790525161060f9190610c06565b5f60405180830381855afa9150503d805f8114610647576040519150601f19603f3d011682016040523d82523d5f602084013e61064c565b606091505b509150915081801561066057506020815110155b801561051557508051630b135d3f60e11b906106859083016020908101908401610c1c565b149695505050505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156106c957505f9150600390508261074e565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa15801561071a573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b03811661074557505f92506001915082905061074e565b92505f91508190505b9450945094915050565b5f60208284031215610768575f80fd5b81356001600160e01b03198116811461077f575f80fd5b9392505050565b6001600160a01b038116811461079a575f80fd5b50565b5f8083601f8401126107ad575f80fd5b50813567ffffffffffffffff8111156107c4575f80fd5b6020830191508360208285010111156107db575f80fd5b9250929050565b5f805f805f608086880312156107f6575f80fd5b853561080181610786565b9450602086013561081181610786565b935060408601359250606086013567ffffffffffffffff811115610833575f80fd5b61083f8882890161079d565b969995985093965092949392505050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610875575f80fd5b82359150602083013567ffffffffffffffff80821115610893575f80fd5b818501915085601f8301126108a6575f80fd5b8135818111156108b8576108b8610850565b604051601f8201601f19908116603f011681019083821181831017156108e0576108e0610850565b816040528281528860208487010111156108f8575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f805f806060858703121561092c575f80fd5b843561093781610786565b935060208501359250604085013567ffffffffffffffff811115610959575f80fd5b6109658782880161079d565b95989497509550505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61077f6020830184610971565b5f8083601f8401126109c1575f80fd5b50813567ffffffffffffffff8111156109d8575f80fd5b6020830191508360208260051b85010111156107db575f80fd5b5f805f805f805f8060a0898b031215610a09575f80fd5b8835610a1481610786565b97506020890135610a2481610786565b9650604089013567ffffffffffffffff80821115610a40575f80fd5b610a4c8c838d016109b1565b909850965060608b0135915080821115610a64575f80fd5b610a708c838d016109b1565b909650945060808b0135915080821115610a88575f80fd5b50610a958b828c0161079d565b999c989b5096995094979396929594505050565b5f805f805f8060a08789031215610abe575f80fd5b8635610ac981610786565b95506020870135610ad981610786565b94506040870135935060608701359250608087013567ffffffffffffffff811115610b02575f80fd5b610b0e89828a0161079d565b979a9699509497509295939492505050565b5f805f60608486031215610b32575f80fd5b835192506020840151610b4481610786565b80925050604084015190509250925092565b5f60208284031215610b66575f80fd5b815161077f81610786565b5f60018201610b8e57634e487b7160e01b5f52601160045260245ffd5b5060010190565b60208152816020820152818360408301375f818301604090810191909152601f909201601f19160101919050565b818382375f9101908152919050565b634e487b7160e01b5f52602160045260245ffd5b828152604060208201525f610bfe6040830184610971565b949350505050565b5f82518060208501845e5f920191825250919050565b5f60208284031215610c2c575f80fd5b505191905056fea2646970667358221220209cf01b28842015b7b9062e30c108611b3c0ec2a9a96e2af290b7d60e4ce50664736f6c634300081900330605581d036e306bde91b9120ae386e7bc85f12009002f8153f9588d119f6941800701190c6905581d037ca3eda739e3ab2cb69681724d7cacdb1d61b6c57f271afe638620400401021901200219240005581e03f26c7602af4ea071870637c1d8f0db8a3815b4ce664fdb3b4fd28aaab0040205581e0354e56d7587c70ba4671ba5b4b0bd052edebeeb2e23e2e0d85e46f6b0000c014740d0165e557a0003b2520969e538bd01e2e4896a11965c21c8a4710afff74c42ec6153040b35dc9a033c1bb004bf0c1759536ad9607fd283ef302d92a60d6f22bcc9f85e84fb84843e0219b44903125d60df65e4df0f93ad64fc6c489593795f14b83fb38f71c270d840b9f55a6803963b55a1c0f98617dc4e5f0c4872ef456ace4368933e13251a15dad509d22b4b036ecdd909e6335f592e00a20087e91fa262302ef24d3d0b38d74813d9c810be6903d33f5f1047bb488bcab2cb400d8801caef2cfb7f51ea847d077bfdaaaa0c55f803fc4048ac26e7d71dde08e9ff31229dfec564a2557ae8b6f1d20aa222146d72bc0219ffff03e3c70fae934e2990703c3a12990173e78c97c40a75365bd2accff7029c8b54b60326720d8f2b9c11bd3bdae403e4d384d94235c6e24d0a5dd4615e54d270b9e8f9030c0215139ff09b9ca812272f7facef4582e5b91cbc33c99419ba60a5044cdb27039d4595834181283ba023f627c129e3f85d9d5ed562598cfa3275b3663637738a0363e1520a7e583290e5440099e75a552fd567f72c719fdb855fb221e928cb589b03e23ec767b6d830f15819e959bb0b62e10e7e62b2932cce49f850dd8e38a022900341d67a0443f0834c14f98d223b8b42964e313a063a43398b5efd32303e73907103dc49f8f10cc847c1e3f9fe3b17118eaa4f7697a9a2a4ffeb53a48bc90d61752a0383768099aeeb17d0eb269b311a881bec927b0c5388281607300b17d2f955e6b30219ffff0394fd46477d227d9d8a385ef4920023d6c7bacea7382c9cbf240fccef0f7811150372c6728a33d7036d7c819ce19f7dfeec3a6f61d39374b87afe9da9c8527a456d037de6f6aad7dbe656eb38162c27f63c346dd591327a04ff6ab10d81749bcb9a48036262645e2c4b0bea93552e96a323022c6e24dfa13f23717dd7c86b1387f6715f032b415e89539d024eadd90defddff3b35e0dad374d85989c4232040d45d7309e60306f5ae5c6b552816fa7b11ea32d95810c4eb08032d855fc256f8d2e697cd732c03b1466091e4d5bbac2ad795584ccdcf4444f42691c9a3f9720ef305c1f15df3320398676fb41e04ab46d2de20117b54f5c61a8c870a4d28f677b75fca83860437640350ffdef23d69c0d87e0a7a47b91dc77beb7f6322221c1ee96df982589c161f8c033adbbc97477943f3e0bcd667d7fb8bfe6d3d2664e7170bcc12280c9b7c9852450219ffff037b9c549d4a15d7e91e297699ff64abd627ccda3a05ac1b3b12bea9512ef6183f03e0ed87310772528b58b446083dba9615920c7dcd996987449512944fb7c47e3f03e269dea85437355887b5b1cbafff4134460e5ac4c9ed75cac977a5d90c1c23f603f8213af44dd09e392249f028ecc677a9b976d1d6c2014b1a563bcea97aed023a03e087c2d37bdc807eef5a8da6379cf5517ad6d5f1db715a955236557028180759039c5f0b95b35893b83cca3ca84aeb1b61af261fbc5764e640b02a982711a2e47303fc4414f675c493da2aee715e27f9f1734cd8e588db5a0c1b3e877c41408ea0fd03bf60e40a7b17837ae6c93a22e15a0aca6ac82c49db19df29610c4aa1bab241b303c3c6649038e3ab9c00924619ee68008fed7af759e271916232e6be63770646a503801c783cac2c109ae3c37cd42878623bf20c1078555438b7893b193254e940a6036b43ad1e90c49821f86a234cc84cc4845737d4f705900be2bfb9e2f6b249cb150318fe496597b9e414e1f56cfff2c9ab272a09aba8e0ea9e20aee13ba781057ade0370bc310abc81602efa0c1a471d0a8ea4d39f0b7938cbef69a3f9ab4c52d907e103cd0510c2b34d3964ffb5912c9ec970744469a07339ea9c202ddc94e747adf668034ab5e596ceb820ab53bc083018dbc0eca6e70cab17d89ee00794fcc420568c3f03dae86da60d37d7bd657ff95774fbbee62af273e1f997ac05d9db821c16819bb60343e925cae43e3cce001e8ad2082b7f5722e94f3bd23b619c9741a6b790f573a0035c631b260f9a58d1325fd98416d42476796e11924493a459e759072f4bcf5f6903d3da2cd068ba521e00438a877789b472a5e7bbccda6e346b225a2b3e728b11eb03469bdc3b5aee5ed12c58e6fd07e16924d2ad909735250c23c8756f12ef5f7f4d03d500d50400d2e766ee97af8417e970b522e947bab28a751df69efd681f06018805581e03de43884d2132ab056b1691efae20dced9b4b6f0a6916eb6297a4eb855004010364dc7468fc8e498a62b092c9e63b3043b49bf6d0b3fb350a15563176aa4e7d78037934d4cae1614f9269cfbeb5c2d7a80f361b2c609c5429d005e2c1d68cff66e901410705581e034cc6e56e8168ed8b57d637d5a944dc69389547e497812a137a8fa83850040405581e03041a2d9de16c052fdaaa4e61a5b0a598ed0103fc40f3ac5053a4d7a87008474547258d1ec00003d77e3dd65e20ccdcd0de280b0b1c8451b3e2946c5baf8fe83b6bade9e1d69d5a05581e0321bed0fb34863e805a5895617c3a520fac232ee3081ae41e4a2b48ae30040503d008d1cd0db62126baf071ac07132bb26726372cea9b950fa959b8a99836d0d805581d02ec6c1a76a010667cf453b3b2911e3c5d088a7cedce4e70de491e034e0c0446e9788ebb800005581d02006e7ccbca4e8bacfbbe78820d76210011636439ada88d20bf28aed40c1a0004328248aaf79d5900a3ab45021980100219e52b03e2d013a13ea28ff39c7fde95d2d64cd289bfa47b64377948c2aa51ab95a5a2ac034ae218c40d401d6856284a0f9f8f0cc64b232387ffe2fe614e02130cc012f541036e1c5efc6a362b45d8e0ad8609ca226a0dc93a52d3fa172b4efabff57d053da103a4321ab59c510c9f59f4ca7e8ce24d5aa2f3e53a166ccac9e2ce4da0aef06cc30375677898dcf9c9308746303168c0d92c8bf5cfcecd5d5e21ba91ec3715fadb160348f1f51e4c99be67abb470f6b44a0c75d826bf65e90eb2b6f89d355e83e1f0a50381c3bafcefdb3c358864a921c1f8041395c00b6fc16089786fa2921126a5d38b033bc26c759aba723a85dfe71282565db31a4b3af13d7189e02210172842d6f9d70389cd3cbf2ea3441a8c715d30075f38adbb5d88d00f44d60874ca65d6f0048b3a03158cbf8623aa4f8b3130020fc8b8e9abb4fa4b5d145f3e5e993338e174184d7a0219ffff035819c61ffbf6a9a4a0db87b139cc4789676f3b5ecea1f812e42262197fbe40cf031a84a5c8ec94e2bbe0686344a53796a902604de50ef1a9a94b5fccd3f716b8e803bd5c11b24f3d1794830dabbc72132672e022e099f932c33e4455287d5c6c177303be4802be47a6178bb144ba61357291b30bb9198301b38b8a6e1e133557023bcb0354b5df90991aa12f003e0ada81deda357ab609360404c9ea3093e16d8b33324603545730a9901c666bcda5d7461ec65a746f10ab3cddc92eea2a6b2e2fc6b1be8a0399d5e49f221bba167d9f7ba94cfb55122df7ae93d03ed96ef4a38c03ea5db67f034b9ea0f9a70175613b45bb8051bde6114bef03b69cd1675c88c3135a6fe3eb8b03a9b1c9b03524024d0a6d89b401957b6c76a221ba9950a5c2e9a7439145801fb40347b28980e35cda6a7b6fb756f1d27c07b11b8d21027be43b0cbdf53f0245cfa5031c0a764f0a316b668b1e0d871b7a58b95fb0815607d6420466f6a775ae5a529e03aada55bea2ad24d5afd4d188419b898234603a4617edae5e2c9ea881daf805320219ffff03a6e13e215a814afa683c940031fd1e7b8a8509cc3483afa560fb6a864d5b18d2036b7f36035a6b844d6430597dccb4866154b54b5d771a4e35de21655cd8965ad803197f704a39c05afd497b3a60bd0c54b9152565347a87dbdd834c34c68445d9840219ffff03aff5a3338c4d60d35803c4dab06a453d08b8386c4922df43dd895ab180c3442a03d21c2f62f7be4638ad9b5aef266f713fa1c50454cd1c52345bdbcb0c20541e7303b02b5faf0ca9c30bace749d33e55dbaf6203a29be8ba76987b36d677c59e00e903f5966cc6cd2e103761e69f9651ad60261de63acea32678636f0c4504af8d2fd30304a8a174ab279f5cf78e55df457d893dd28c9ff62e0010cd2a1f99589086273603a1a2d42200f77f3afadf599aad4dce060cdf9cde141eae1e5dcaae20fd0f59aa0305f1c6d321cc5595a5aa167b13963a0b72e1daf407c02421764a9e2ad1d1aad1031fd15975cb27bbef8930368a49ab6762b1ce5b93a88273fff8ffce2c300a614503584355e488fb61c33c73156a706196f484aae2e7e77f8fbf2635670c4bb1adab03519df43bd1a41c62d5f4456553298de773122a8e20479fdcb2b8ce27e7ace5ff03d7f5d30f77f301623d7a2bdb8e0ecf965b489a5c0a33c7f7974cc1ec0578cbff036fc91d78f95c5c10a167e4df323f020b45be5374bf10a9c6b096e5d98a4e15a70387dc3cefa35d871d24c1fdd5a341b1a5b9868aa2438bf1013f0fc199542c60bc036789e2b34190ff7e5cbb1136c9d5eedc9241cc9bab4f2ebd276d32e56894e5ef0326301b2770af335241ecc48f27b52e99c90b42a625ec834a40f84373a1f9e8040358605518203e8bc63c04b199f0471dbb7d0d0b2a464a633a1af2734ca78bcdc90398653946bb894dd435f3cd901ffe5e2cd3146296a8e6628d309457e0ae3e58b003ee2479315260fae84447659596ded507af7a784a026f8515832eb4c0ea3529e60345b97fdba7f23213cd9ed5c092ce8326d1f59ba58738c48c0d40eade7269224403f25f24978d443ab379f690ef48acc6e1e0a9581fa2d04d449e86063104dab5be03ad4fa38b91e61d48505ca6248be2e5b598086c098f82843a204c2cdcdfdeda5a038442a649ef668d30dd60418b958f3698d78604b87388870b9d44de9687480cb5036ed04f0cba88a6e27354a0a210d5b4e0558fc8a054a9e1a37ea317c1314e4b74030b82de8124bb7bce0f9fad5262b5c08c60ace8f42c2075c3ede1d46f116d13b5034a579f3bbf64e9a7ad0d3f899f148841bebdd02a58bde22c56754e9ca9bb6d0c03f344f77b6c7468468ff48a994f7f943da51192a7bf513ca9830969f25a80ff9b033aebeab24f96165e8a2d287b3c72f329ee07c67b88fe8692e40c7ca9ce2f600e031399e03af292e5616ef7b4bb7f12e59af18a2b81bac3690303adee9d2b3859c5036caa8fc558c83c13f51c6aeff9ef7f909ad7dbedbf183e69c3bb61883ffa002503de31af4fad2b4608c1574e7651b7f28cc89363af26df533522bc2813df94016e0309ef1947b360b0bc3f080a44c9af8463e85888c49c4e6d38c07f959b6cac559b03f9e2d36819eab1d19e19372266a32e00cb30b02a96732fa6174ccdb560ba19070352b315fa1486e6e5e85b88fae596c7e43de7ec8a6eab082a5745789e667d717305581e034787ade71be940f761d93f8ac4af57357f26ee9ff57b67fdb4895ef7c007011bffffffffffffffff03422a5b8683ffcbfd86a36550c2f4be5cc7e7254046d5ac335504c25f62c1826c03f80909b5ce0e1491ca46d870a2e3b69b4c1b0b68b8e0d0ee6b35ba321bbeb07b0326b50e7985cfcd0f3069156b11184683ea77c8e6b212bf39ff3119b432ac72c405581e03ee7f6f2c805fc8177722b09ecae54d636b4c7d484cd37e5b0609994c400c01472e88194280fe0005581e03415d3ba1f58887f4e844459468033f3e2e0d5e4952f93e5e4cac75af500c19028847254c5a61f0c1d803f88feadc3de3fe77d408d7084e66839ff2403e96dd0319c5f256c628e9b2b42103647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03fa357caa6a0d799bf00bb259043f3b1703be8d626d870e8b917d59d93007011bffffffffffffffff05581e03ebf138c7957b8c6791f06eb5fa7c2faca57239bc377b144640c1e5455004030219bcd103de101d3d13a1a0d7891764d70b4c911bcd461818d4e359f08d078c3b49d06c5303c0c8262a83373bf33df0420a7f7a67dfb42c7bf14cbe8c063e7c83179410856d039dc43323f84c66483d2cfee7fb165be7c5eb1eecfe1183f037cb5b3190b290be0219ffff03304103d58d496f2e2356d99b433a444072e0f305798ca8dc7f263ac1db06aa5703341881baef88350d50293191059afdc0c537c61972066669d823770b999d2b0d0369e40c47ad11b6ce2f50c4ea33949db9f603aecb07c469313b551b94aa8c8c2503f6b97067f68915d2f93a63f1dfd0b01629344e3ac74e0a5c140f6e7c258d958b031f644298bc7ed995636e58a8af41d85b245b0c58c365a54a04c862a67f772caf0219ffff034b8437dc91edd77a9e313a0baa08cff59ae5dd58f6831cc090353c52db6cc6e2037c2c2c6e5acfe22bfdba117d05789d365dfbefbb5f44b235a5f8fa4b3af69fd4036e020df593a5a832f9e721b8f203fcf64e0f67b47d2b0a16d72920af637f94ae0373e037820d93db4797534403616a60acd2f0e59359ce918cd9cfd6d63bea9df9037d4e1ff984f6e5ffa86397daaac9f97eda08c6cea396a59b3388bc5edb1362f00353bea06e32438ae1aa1892f39b9c942573eb2f2fd86e018fd406b5adef7651230219ffff03948202e9e4d38981efcb940e238a1305a6b359b53f546cbe7c097440f6419923032f110acb24f1f56143c755ae90a8f76c1d47b9436b963c196ccdd3313d050ed803c66c7ba8d0958e0faccd0247ca9b35693c0135d3915de54d209b24fcccd6a2ce0219ffff03b64fb92d97603efb2e0f5107db9c391d9016ea00cdf0b9b15294d9ad3331883403abbba9f1a0ca9d6e5493eadb1e71733c459dbd5659e242689b81dbc4111dbf35033ff551042c485512ad577fc3c40a5d87df9609a43723b6aac4f00ee0830c20d603249318b75148aab7f334953053653a93fcaf0abf7a9e4140b83b69d53afd982a03e9dfcfedd9d9894a38a58983a57a26bc345762194e583fab0307d33530c00452039234cec7708ffdcfff245fdd9f24d1506590a6a29b721ae1bd0b5c87619bdb45038cf1b132e3fa092e266a494dff944c1220183748cf0dfa66d35bf74fc2f86b84037ce7b1b7494da71114e36994184c6d571169142c60489354b106d24b2b3afa7d031edfa050bbb3c956785ca14266d865ca77b53bc284e26fbd6aaa59be54985d0103ae34884f0d17dda7871a9b3bf1c0b8612bb3f914d5e8d233e1b56ee2cde9598d03af8baa573caef002ea58b7b6756835cadf42061e5c228d54350a8227a2b80c890302554ad7034cfa08bbb06bbacbc9558bf227d60eb88c3f0fa38d2c8908602ba3031cedd831799532cbe8f0c75deb97b81fabb8e420413f9d5d94851983283a08b80331a571b8ddc862e0b0ffc22e123dfc9826db8d9ec371f9076d6c8ea77629337f0392641a448cdd0f328527b08db86b26b34a9fd50f13636e5f4e434a90dea9801d030461f1c0288b3370cb6a90d3ebef759e71764d77be36a6422334f729a6a05ee203f9ae8cf0096396034dc1877cc69903c4f8a1579ff53ea84083748a8ccd0fe55d035d3ee5aee2a02286750e9de73be7f146dddd5f6eaed1b44f1c46cebac5a486740364630943a5cd696cea93f8f35b5af4c08c3a990cf31dc2719d7f0be797ee002e035ef90e13c0a38ddf7e6ff52f93aaf7a130348ea4048b9c901dd7c50d3b016c3a034d027e8c16034c558989da3b9ac0ddc7cc9778a6185a63610f3566345009e7f303ce5560d33cb3f64c70e9ed85a8e0cab8e25328087f5ff0df87d879d3e577ed05034853fcc137d73b82cde04d33cdb9eca1d6c5ca2eb687fadc90beab2e90993c2403dfa3dc13d61c3de83d22c0486226bd692953c6c3c040a7ed8a6dd51f662fa8b405581e0344d399feaba942518e8959c5032b70ec8c21acbdc508ec84b38111f7000c0147b7ca1e513b4e9f05581e03da2db9c43cc611810035fc809388baf7069ad35efe9d6d708bd13050e00c0347fd3cb0ff20180005581e036b3d095c3dfb9f2a9fd9314a61a9cd735323765d9fedad2cf38b7b1a7008480151473a002b10b105581d03faf8a023727ea835814edea46f6de66c69b3619b98182f5ac3f42be00c0146783663ec56000459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b8b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000d31d41dffa3589bb0c0183e46a1eed983a5e59781614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a0330a3522b9643d56429d8c2554430f41f68ce5c6a74d12c3cc0d749ce703869bf0350d059c882175d438ca6f0d7ed49408666a94d3968e0258297cbbeb2719bceac00582002ade483cb05a5de8ee10e118abbae115b2f82b2e978ad2c0c0e6e018499552f4f06cdcbcc46b5891ad1bf848f7eeb910367285fda77e2bd5ea484df2307d23cbb7d68b626ad9fa930a69911629f5141e0034bc4a4a2e77d30ee04be494d99b422f36d74c5d9cc56b94d16bef8bb44f109e20377f329a6595f6195abd84c08cbcdd94a51e0d5f938214cfaacfe05bed24bf8a103811bb1908621b8af66d77290912e75c08d32a727130920bfb238a3fadf7403d703c249867d3ceb0a4132b15d72c11cbb42f55b1baa0584e60d397467469029b08b00582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000fe5db90000000000000000013609df46ede21c6aa3d81803704771299335a3fbf08b83268309b2a9b3b037dd1f1d4562cf5cde1a1877ce7400582003a4b301b97ecaaaa31bbc47ccfb5d44b62fdb426f2e4dd697747e8b2b6c55505820010000000000000000000000000000000000000000000000000000000000000003eeb3a2976c53d8ce4000f008721edbe1c7fc6d474e65ccfa16d1f26b0981821b0219450103723a90bf1f34af1a9e14154a5de755573b3401854b0b5499bda83e0d449239f6032b52d4fd6565bf6b350b0f6517d5481a089ee44f5e93d0389d8068343cbb466503183af5c2cea5d03507153960425c7899485ac910738db0461414c9f52c3b02f103058e055c23f8dd7ed9e859460c9f181327831ddd5267dbf91c8862c863a271af03f0852a9c5c603b23284327dbc172664227034a96584e6584568b0bd0e727763e0219fb5b03e9011b73325b6303a1761c72f3b8e0b6cf5b911e2d583c20a18320d1fdde607603b3da20dfb058b770e9a90b7cf8b69404d907529d56af40674536757184e5b60d03a0da815a326d13e717949e3a07b86e64237dcfd769ef4337ed01e759d4da758e0325e28796865218bf6b5d02fbbdb2344d0100cf74540839ff0171f6c6f9931ddc036f781c3552e7121ec6df05e6ef2905640377f293bfd7327e3ac9e21819257ec30398a08375855e3038010addbbf74d887353b8ee74c0e155dce891031bca85fce50058200276859679e2ab30288e81d3dc9a2bf9703ebea206eb4cf1198684370b95eca34d3be3c3313343bd698ead2a830f0058200207ed66d9ce43ebb4a3bca2ea053d4b4ede924b4ab985b941ab1067365d9dc24da5edcb720f65da52644b8af07400582002f21bd7431d399faf7d3eaf28257b1517ef366c133af85313f97f6ace256ab74951c9af9545a76ed549035953eab07daa00b27be8f53f80375575bce3bb076e287086e0237c756489395c00582003612dcd1758496d0cd6845e5bd0fa2670115b8f93afa8e120c06d4377aff6e0582001666ce07b00000000000000000000000f9a3cd1ca33250890fffffa68c6fa0c00582003d4ff1a6a46d6ca8375c4ea3af2969f7388863f6cfdad7c4aac8bc6be9af410581c1000000000000000000004000005000100800100210240010200405002199000005820036f351905737d7ef8b07d5a9b34b2ec297385d906c99bb4b4c01f87b60d2c605105f7f223ee43a14e034eefd2c80f3184fb005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a3a088b9723df2ede20830058200392fe63b8521d1ab58ded83379377f06bf0e6415fc3809c2a4ad2f29c4896005820fffffffffffffff554302816db839a64000000000000000aabcfd7e9247c659c00582003a83877aaeb749b372149b30f34f8a31d4983cef7c7d1950449b3ff5dd145904d0e006d09372882fc80a693c21002192019038dd3a215d8adbbbe7ab22ea38e45bbbecc80b969213152562abf9c1d108ed4140058200280523d2a535f57580a07fcc29cb918be31687d16adddb0568e4d07fbbc07934a364a2c8fde6eee253fd800582002210cf62e0c94b6d3fc71a424c0617956d7af66a54c63fd3c1b03e2603d6fba4f081b57086fb2581446bc47acd6e3a802193d7603298416d0342fde9fd5f690ed02c60bc5f4ee9a4795266966790f8bfbc07749f203bfe3acb6c5f3002469422a53969622c7153df4b1cf7d440364081a4a05a9bb1100582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf605106504573ca402d0b1e86b2023a590fdd7200582003868a123cee7962d1defa09024972a3fe257b4d6732520d0220f570e3a0b65058191f75b983d1eea9f2c4000000000000001f75b983d1eea9f2c400582003b40fc6b928ddcae4621f4912e68173cd9fa33e5e496a6fe87914ab1505f4e05007679633cdf9d315f38fe94d93e2120b0219080300582002bab97958c91733c7da21872c90b41466473f58d81b9695eb154136392bb051581a0254deba3a90ab4433a70000000000000254deba3a90ab4433a70374353c79133e56342f8391d385c797421b7f880bf293325933407ba4f06d0c0300582002e9696bfbeb264f8d6a9a2f2378c1fac5d9736bde63e95740c363ce519f47ba581902dfc7da1f9b890a0f0000000000000002dfc7da1f9b890a0f005820029d9aa3909bcccbfcbdc9592ea7188e433afe8151eed2387024130d9a084f67581924bd5177def1cab3650000000000000024bd5177def1cab365005820026b9731aedc63cfdca90cc7bd6abaa752c97a158538f62fd00600612c3f2d355818d509c5913a91d7360000000000000000d509c5913a91d7360390a14639d0781d78748c823c3a830fa650d2e22071281a075f2d01f19332f5bd039d230a4dcb0c7c96c308d1d54c67d2128e3b62ecf4bd3ee9fac331cd8af2f34d00582002b3c5ca1fed5176c1de4681866edb5fba32340a15eb15619bc1a35eef0287bc4d07a943668f4af0279aef8addcb005820021c09a60998359a3c882563f2ba104ff0b784a319329d1efe4093b61c1d2bf958189c53b8a5aa492f8400000000000078d3fd7db7ac4e94730003daac9cc4480c72750c7a16070c509fe40c837287ff0fdae72c667be94881220b00582002064ebe8f920d8d0b8a0c2a3ff121096d5a6aa748694a892a766be7dbe5b8925820016683417f000000000000000000000071a0ffdec175a62211ffffd5637fd77c00582002b804f219f28258e580a8ccb98fe95e9308aac9c5b9f98721757a3a1a958ee15105c9ee7c0b9b01c01c1024ccfe7f02f8620219bfee03ed1368bbb307388360bbe0b0237f279ee9add158e7ff290f8807212310536b5b03a291a3926d684af01fbb44c6661cf169d60f42060ddb3b8367ac6d89c77422a803ee01ea54a5e5ec6c6dc21cc50e2b67ae75f8cd86a224db64608ceadad3d6eab303d4d1a3fb0b8e794694f9ba4a31e771a3a196d620170a0c4197ed173b71e41ec10219ffff05581d0398e3970d67f861600be73f9cd7f6b195d7e398e81c0abbf0f23a07b0070119567e0219280003478d5c465fd159c30a06c6bfd987e431d78439488165cbd99f274e6cc0c429d00219080205581e036fd8393561dff4871d7965915fb5699ce0443e708f6d6cbc05d2bb51800c0247295ed5f06f2e000372e4de3fdc713cb157816626d0749ce88bd00c7cde54fdfa79b5a34da2e3293f0219948c032eb7cf78024f7a347516e7ac06921ea64e73cb612aec7a955fe251866a4c83fc031b5a847411ca9fd3196ac19cca3c67ececec213b5a67df987bdabecfec014acb03115d43f2e75060c2e35b2aa0a2c54c72ec6f2a9ad8efad5ed4ee9886fb69e9a903fd15f99f64f3ab6850422b9cd6161192c1397e90f0023d5d7ab839220788aa8b0219ffff0333d2df0c58dba73509d40a3f2d16f007bf0ba1c4335654bd7f9edcd70640b1d403fafb1567014d075debcd52002749bed6fa084d4d2db9e6ea85f29d0698b613e1039b00b70f256dbf583095688508bf8accad034caee73266a773e2df5199e20173034aa38649532572e26347700b64cc1244f186252341d2c6f679ff84d7dc379e6103bb493e47657b257247378b562c79bb49f57a4e06a7c1ac6624f2cea8336d1ad6034a8af89e1884ef43f99b7e83ace237bc312633d9ef04b1fd870185b70f08718d0361b65d4a1c69fafee36315a189367f124654c98a59357dd23cace8d8ed9d37db03ed1339082af0655844ebf1c11dbf41664db3a173a6d3d02bd6ec296617e1a6350356b76767e7937b6c5a3ee7131de14cf1de73339a0388ef9ea6264dad9ea7db0603e42cf6e5b7d53de1a311fee5c3e898f09cdcf4d5c523179e48aa81e084780ae10358cf92bb0b6fcb72f65681e8a8c2284b8050db1e4bc1785abeb0d50342e055ca03eed669153f5b608de6bd6918cd210c0d500feeda49b2ed612a39fe20f8df8736030c68f2a97f46c20625bdf45bc72ddf79dd53219e0b86f6dddddc62bff9bd2c3b0219ffff03932fe28e828ce3e54f4e3c100b079bedec51c8c4278927061625737b4e15f54003ccaf3e12ac00c862a16e89e43da28848ef0923dbaf80692dc44b8f03ad6936e3030af35f1051ab0a344950cb45947ab22a71c8e1df11e3f363827cf835b014ea1403e6547fbb515d3fa1d3684df9d77188b876eb82dd15017a3c7e64ed454483aa61038cc644a2b90cc46301d216f7aae3be9ad0c0a4684b99c269cdda4f01f9d104ac0219ffff035a34d917359882f4ee248bd64cb9451105daab9d8ab7acae94f55954205de4c603387cf9db090f6ebf41a8bf00610b68bece02573a538a96af95908a2c28556ce303112085c6cb6e5ff8f1c418face6bcc7d6748c632bab3ee030edd67ee224bda9f03d9a1a566e7d04d26d4fb7f9d40b088c88baf2aff124703612e4b58224a614b9e033699f2cc845aa95c7eb8b1e513b424fa9961f8b67022b03cc002f4f1563010e903226d5402f543024d366862400e89754bfe4e4aab00f67e65559a3a1fb0786fda033b224eb3b63b6f5d151f26a9effed7cd3d916d36b8aa1ecd90660e574aba01040361a6f3b42d971c7d533a8544772fb980192d20b14e74c225fdd7ef2de896c01e0384f9e1e04b74ed95543a87ad7b9931f3a30bb59b667b750c5feb0f6c34a1416a03c3336866b334602ab9c9efa854d32477e827dfb401649c1362ca1ce30e104fd103844a3a56efa543235036138d5b0a836b3d1587b2bcfd41064e1423a02f7274c40354bc7e19f45cecdd3cd58f28cf63ec1fba37b7bc3f94aea89a078c9616c94ca903e93c7e0baf62391f65330530cb48b0e0131e34447accbc3298d99a6066d047ac032ab968f9c03c461d559fbb427a89475f912137f47a49bb5ddc6c33cc260fcc41035d75d93834b39ff1bcb895918e76b594499e1bffed752f45e147a035da83f16903c614bf9fac68687ec79bb06d437c9ed7ed4767f1a8ece0548ae5285cfbf59e8f0349af713b03c1f18822c22ff0d7984d1e4ac341747a8d7b2d845c5a680362bbc203725f0685e77dff9b2a5a79af31a80fd34274f9936b3a0be8c5476f56f95f93300353d036db60a35a92cbb452703a15cca31e0460af689c659821e06dcf2bb0eacb032abb2819623cde2326f296498d7773fd0aa706205629ebd6b06851dd302246d7033d8940fd9afcef55a36e921105aefd3f0bdd40c7bd4b680ab97fcc54f2828454032636a3ecad399f067775a5fbbe0fa55d719a2e564a8446281f2b353bb9e48629032632c8ccf9cdcd39b075f6dec0510791383d824fccb0ff4ce8b011bff19054ab036461dc635c067a267a9e3e6a78fad6dff3c8566b4e8ac8150013fa58cd9ab8be03fc74389c816cebd5302d7df7f7ea5bdb9a6802c28005d33e2330102293faa0f1034fea02e48399f5c6726f661ef9a105dd9b3997c535e3e268a06054d2411fd0d50382f53824b8ad81b43038669e02792602c5ff674b8f9ded3fd7212c86d284696a03e72639bec7c3d822fa2d9ad712132daf5c049e7a5c6154a7625b9fe091c2fdab03ff382e02ac7ebdbd939d7e9077863fe5a3c0bde41c45104588c76299357f22f303e59cad3cefb8bca71eacad833ae12e431b88ff99f96b21b9070849f9e85a9403036883c2960192361b359e4ad491e75ea25d4d3dda0196f1cce4c326c3be985e2503f7dd44b0c9e5f5de2c528fa7b44b54043fe636a6ca3085977e89e059c2f11aa703cc1ba4fc9ab8739d2ee20f5edc17367bd55b1f4ab500cf42daaf8eb1130d5bd603813e80bb597856505382cb9fb85b5b332df8338d58436c42e80a3c09937607ef03518de0cc332ce0dafac2ca1006a463cfda389846590d692b26b83ad93716f0160379ecf219d7b38acaf57aedeba40a1a793a1e13e064cb4d240de99e8e55c625de05581e031f4524e63e92b12a5bf5908a724dd246c39e6311407c05b63928708cf0040405581e037c316494d8836de87f765ae89b35bfd14df82dd87849253d80e528b2900c0246156c0fe7c21005581e034ef0a601e363bf3685ebe42d7736fef38b66a51431662f2d0a0f6139600c02470d35f16e005eb803c759cb8cd6f83384213cf1636d361b1d62ab486e254d10ded57a589f1601004a05581d02c8202b826a30a1fef2c7a187a5fc7fab282fa35bb0209e0a16756cd104030459197c60806040526004361061010e5760003560e01c8063860f7cda116100a557806399a88ec411610074578063b794726211610059578063b794726214610329578063f2fde38b14610364578063f3b7dead1461038457600080fd5b806399a88ec4146102e95780639b2ea4bd1461030957600080fd5b8063860f7cda1461026b5780638d52d4a01461028b5780638da5cb5b146102ab5780639623609d146102d657600080fd5b80633ab76e9f116100e15780633ab76e9f146101cc5780636bd9f516146101f9578063715018a6146102365780637eff275e1461024b57600080fd5b80630652b57a1461011357806307c8f7b014610135578063204e1c7a14610155578063238181ae1461019f575b600080fd5b34801561011f57600080fd5b5061013361012e3660046111f9565b6103a4565b005b34801561014157600080fd5b50610133610150366004611216565b6103f3565b34801561016157600080fd5b506101756101703660046111f9565b610445565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101ab57600080fd5b506101bf6101ba3660046111f9565b61066b565b60405161019691906112ae565b3480156101d857600080fd5b506003546101759073ffffffffffffffffffffffffffffffffffffffff1681565b34801561020557600080fd5b506102296102143660046111f9565b60016020526000908152604090205460ff1681565b60405161019691906112f0565b34801561024257600080fd5b50610133610705565b34801561025757600080fd5b50610133610266366004611331565b610719565b34801561027757600080fd5b5061013361028636600461148c565b6108cc565b34801561029757600080fd5b506101336102a63660046114dc565b610903565b3480156102b757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610175565b6101336102e436600461150e565b610977565b3480156102f557600080fd5b50610133610304366004611331565b610b8e565b34801561031557600080fd5b50610133610324366004611584565b610e1e565b34801561033557600080fd5b5060035474010000000000000000000000000000000000000000900460ff166040519015158152602001610196565b34801561037057600080fd5b5061013361037f3660046111f9565b610eb4565b34801561039057600080fd5b5061017561039f3660046111f9565b610f6b565b6103ac6110e1565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6103fb6110e1565b6003805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604081205460ff1681816002811115610481576104816112c1565b036104fc578273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f591906115cb565b9392505050565b6001816002811115610510576105106112c1565b03610560578273ffffffffffffffffffffffffffffffffffffffff1663aaf10f426040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d6000803e3d6000fd5b6002816002811115610574576105746112c1565b036105fe5760035473ffffffffffffffffffffffffffffffffffffffff8481166000908152600260205260409081902090517fbf40fac1000000000000000000000000000000000000000000000000000000008152919092169163bf40fac1916105e19190600401611635565b602060405180830381865afa1580156104d1573d6000803e3d6000fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060448201526064015b60405180910390fd5b50919050565b60026020526000908152604090208054610684906115e8565b80601f01602080910402602001604051908101604052809291908181526020018280546106b0906115e8565b80156106fd5780601f106106d2576101008083540402835291602001916106fd565b820191906000526020600020905b8154815290600101906020018083116106e057829003601f168201915b505050505081565b61070d6110e1565b6107176000611162565b565b6107216110e1565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604081205460ff169081600281111561075d5761075d6112c1565b036107e9576040517f8f28397000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152841690638f283970906024015b600060405180830381600087803b1580156107cc57600080fd5b505af11580156107e0573d6000803e3d6000fd5b50505050505050565b60018160028111156107fd576107fd6112c1565b03610856576040517f13af403500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528416906313af4035906024016107b2565b600281600281111561086a5761086a6112c1565b036105fe576003546040517ff2fde38b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301529091169063f2fde38b906024016107b2565b505050565b6108d46110e1565b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090206108c78282611724565b61090b6110e1565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160208190526040909120805483927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009091169083600281111561096e5761096e6112c1565b02179055505050565b61097f6110e1565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081205460ff16908160028111156109bb576109bb6112c1565b03610a81576040517f4f1ef28600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851690634f1ef286903490610a16908790879060040161183e565b60006040518083038185885af1158015610a34573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a7b9190810190611875565b50610b88565b610a8b8484610b8e565b60008473ffffffffffffffffffffffffffffffffffffffff163484604051610ab391906118ec565b60006040518083038185875af1925050503d8060008114610af0576040519150601f19603f3d011682016040523d82523d6000602084013e610af5565b606091505b5050905080610b86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c6564000000000000000000000000000000000000606482015260840161065c565b505b50505050565b610b966110e1565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604081205460ff1690816002811115610bd257610bd26112c1565b03610c2b576040517f3659cfe600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152841690633659cfe6906024016107b2565b6001816002811115610c3f57610c3f6112c1565b03610cbe576040517f9b0b0fda0000000000000000000000000000000000000000000000000000000081527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152841690639b0b0fda906044016107b2565b6002816002811115610cd257610cd26112c1565b03610e165773ffffffffffffffffffffffffffffffffffffffff831660009081526002602052604081208054610d07906115e8565b80601f0160208091040260200160405190810160405280929190818152602001828054610d33906115e8565b8015610d805780601f10610d5557610100808354040283529160200191610d80565b820191906000526020600020905b815481529060010190602001808311610d6357829003601f168201915b50506003546040517f9b2ea4bd00000000000000000000000000000000000000000000000000000000815294955073ffffffffffffffffffffffffffffffffffffffff1693639b2ea4bd9350610dde92508591508790600401611908565b600060405180830381600087803b158015610df857600080fd5b505af1158015610e0c573d6000803e3d6000fd5b5050505050505050565b6108c7611940565b610e266110e1565b6003546040517f9b2ea4bd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690639b2ea4bd90610e7e9085908590600401611908565b600060405180830381600087803b158015610e9857600080fd5b505af1158015610eac573d6000803e3d6000fd5b505050505050565b610ebc6110e1565b73ffffffffffffffffffffffffffffffffffffffff8116610f5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161065c565b610f6881611162565b50565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604081205460ff1681816002811115610fa757610fa76112c1565b03610ff7578273ffffffffffffffffffffffffffffffffffffffff1663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d6000803e3d6000fd5b600181600281111561100b5761100b6112c1565b0361105b578273ffffffffffffffffffffffffffffffffffffffff1663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d6000803e3d6000fd5b600281600281111561106f5761106f6112c1565b036105fe57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d6000803e3d6000fd5b60005473ffffffffffffffffffffffffffffffffffffffff163314610717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065c565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f6857600080fd5b60006020828403121561120b57600080fd5b81356104f5816111d7565b60006020828403121561122857600080fd5b813580151581146104f557600080fd5b60005b8381101561125357818101518382015260200161123b565b83811115610b885750506000910152565b6000815180845261127c816020860160208601611238565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006104f56020830184611264565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016003831061132b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561134457600080fd5b823561134f816111d7565b9150602083013561135f816111d7565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156113e0576113e061136a565b604052919050565b600067ffffffffffffffff8211156114025761140261136a565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600061144161143c846113e8565b611399565b905082815283838301111561145557600080fd5b828260208301376000602084830101529392505050565b600082601f83011261147d57600080fd5b6104f58383356020850161142e565b6000806040838503121561149f57600080fd5b82356114aa816111d7565b9150602083013567ffffffffffffffff8111156114c657600080fd5b6114d28582860161146c565b9150509250929050565b600080604083850312156114ef57600080fd5b82356114fa816111d7565b915060208301356003811061135f57600080fd5b60008060006060848603121561152357600080fd5b833561152e816111d7565b9250602084013561153e816111d7565b9150604084013567ffffffffffffffff81111561155a57600080fd5b8401601f8101861361156b57600080fd5b61157a8682356020840161142e565b9150509250925092565b6000806040838503121561159757600080fd5b823567ffffffffffffffff8111156115ae57600080fd5b6115ba8582860161146c565b925050602083013561135f816111d7565b6000602082840312156115dd57600080fd5b81516104f5816111d7565b600181811c908216806115fc57607f821691505b602082108103610665577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000602080835260008454611649816115e8565b8084870152604060018084166000811461166a57600181146116a2576116d0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008516838a01528284151560051b8a010195506116d0565b896000528660002060005b858110156116c85781548b82018601529083019088016116ad565b8a0184019650505b509398975050505050505050565b601f8211156108c757600081815260208120601f850160051c810160208610156117055750805b601f850160051c820191505b81811015610eac57828155600101611711565b815167ffffffffffffffff81111561173e5761173e61136a565b6117528161174c84546115e8565b846116de565b602080601f8311600181146117a5576000841561176f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610eac565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156117f2578886015182559484019460019091019084016117d3565b508582101561182e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061186d6040830184611264565b949350505050565b60006020828403121561188757600080fd5b815167ffffffffffffffff81111561189e57600080fd5b8201601f810184136118af57600080fd5b80516118bd61143c826113e8565b8181528560208385010111156118d257600080fd5b6118e3826020830160208601611238565b95945050505050565b600082516118fe818460208701611238565b9190910192915050565b60408152600061191b6040830185611264565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea164736f6c634300080f000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630544a4962275df8c60a80d3a25faec5aa7de116a74600582103017f3cba83c90473b5dab220585255cc5a439fd7b891ef4e8cc0b71cf2703760410100582103dbbde698878ffb9e2f6f7778a3a5823a73361f05bd0ea6251c3da40acb666fe058204f564d5f4c3143726f7373446f6d61696e4d657373656e676572000000000034005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0547a616b25e7c96fc4d652966d7ddabb51de28ecc10058210390ccf6332ae3b1cdf867bc8fe60b152fa85f570020bc64cac579d0106b291cc041020219548405581d02fc3f9d6eb58050c4de0c0b6bf844847b04e67fb925e8db60ae8f332f070119197c0219201003052b3132b1ac5df67cbba24af7ad4e84ea26ae8b34095ab93588a5ca89cea882032dc0441e5d7abeb3eda272296bf5bfa6804233ce02fefcfb5a6db7160533983e031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e030a41728de22270d452dfcd15f5259e6fa1ea0fc8b571bd930fcaf9291007011bffffffffffffffff03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03242e59e8c2824f10b9325f690c61c72df224f78139a4e71849fe7994d007011bffffffffffffffff05581e030587fb5e00bb6601d02ec58137faff5ee6119a57f6c95573800cd91130040605581e0388e7ed49c4452d7ae0f0820fc69476067bb6aba8d3750c0948cf3a9d50040202193beb03da8bdf7349f883f73e63ce1bbd99642c01850173916ee56a0453bd55ea07d9ad0335fe0de26318c0b0b0631fc0bf1bcb94498f91d65fbc0cfcd63f702b030dedec03add33948ec4372dd2a4f4a99af783eb4695815c9889c255e65d1feeb70ea792803ae83168387266625f71be877c4686466d7614f0a945162dd18aaf9ecbc0b12230219ffff035aab0ce3b28e9405994f82af35390c6ed9bdec821ea308d9a2b0a3408b3f2bf803cc077dfa1c15a5a1b968696a86473edc0ea59911d928939815a7b4c6d2bd365b039cfa6c96f42a9053612a4da09f715274656c0a2a54f291a1aa66bf882dc4242a0219ffff0336c08084e1c88b15d06bc2392b1da56db4d7c2819fd3917d881a0291dc2d2a740382deefae42ed3b95ddc368368ec96f2fd581605d96d67c2cbb724ef1e4ce063f03c885cb3d41ffe1915a85e3d3d533906b6594fcfb6ea0aad724f4acc7b9372b84037cdd28d0bd730cf76dd299478dc0d8b53596562ab9a25e8bc70dd24213fa21e5039d610b3bc1bc1e1d48a4fd20d5b5b65f22726fbf1cfca4cd915e5dd995f47e0c03e28838d61efc2d7b38f6fc5b8a1e566caf02629dcd4d4b88b6eeee8fb67593af03c654b88850a82c5f55b565be667c52676f5684ab68e82f3dcb5814b640623b370300c1b00b0d67ae8dfa8564067c39886db21324600d5226a2c25131339d9a8b97031c7296b4042bba4eac2894282a623cbde5b2c4331daf8ac5fa66afac5c7db6da03ecb1718e30dae49d214db5f4353194e441a7eb850c03e1dcc5f9373991a49f0e0310398904898b9d7f5043a541637c6a749b5289d6c9f99b8efdef0430fca09ed4031da42802294342983491c8c2d952c5726bb89e559d00de0b7380bed8fedaec9503f6db9698e36fb67b87582cdbf6028c09ea71a8e8f3ba16d38bdbe0e31f2db4ff0391125efbd5b27adb9c70ce7620088c5ce4477db288d13bd91373c7c732c077c3033c9969aa8a83cf5e2c5edeb9f47debf3d2f4db4074f2f1a3a97cc9101efdeb600219ffff0219ffff03ede4e7f43cd20046845222cc4dbb008eb84b150340c55d07872afa1410951d880343c9369e0c7e363debb37c1e92f0d2412ec2d6e4cfb411d78e13a2fbae9aa280038adf16090394b341ebca6798973dbe4ebd32b2b0803cea8d78ef4c7eb41cc2d003fff14569c5c3ea586cc37e05a5937ae37967457c6c69b6fa6708619acc78124f03801f23cc5aed1e294e031d344819c2451bd2936bc56dbd16c82ff1462ed8ab0103a8f4efe203be65adb28c9e9c2f935f2e5eaa21fb610637274068e8c9fbd65a07038e3c4fb6790e3baa27c5ce32a6120b30af68dfc8619f63fc6c2e0b059ca4077703d08eefc92b6316645fedae60c01109eb13e6521fa903af3a4e976b91b7f9a75d0359ec65c1c0ccf7248127addf054d2fd83ea33ee07322d738861ae5db253325e9034de8a32d836c9de81372dcc5382106a860338c97f670ec9edbab4ec3524d450e03ea2d223dceabb12fc8d11c8370dd4c329ea8693b920f18a43d6a182647a69b1103781ef8f43eb5acfdd5c74d2e4f3089cf14b00e6764e98e854f9ce13b40224112030560479fa2b796d026357e7dc4ea034d6dba2dda4e238bb99415c03dd318ed7c03803b177019f01414fbd258d087feaf50deb5f676f69933b367c0e85268d79a98038abceb052ac3d62b9ba13a545ed1854e60980db52946656df577ee4d5ed3b1ba032727f931e2d544d60aa2d11c9f603664ec8e78c6e2d26ead825679c2008cefba03a2196e6a0752e60afaa19d12d77edd9c021b9cce06b8dfdcc9cf8af047a2c58c038f232b584ed2c93b198c793d1b09309377df97747b5c743be8f9e36422a4104703ff5aab16bbbec1b1d642243047c9377b6f929335c94c5350f3e7110a656e056c0378f6b7a1af304125cf332106d8a33c754fc041b3971a61aa16f807679fa923d403e4e76590f0cc847fdee54eac53a7cd87856ea2eff84e4060deb28098b283712403405338149f655f4f394dcb380dab660a8dbb16379ca673a964c61ad4c2f8e1c9033b48f75f9732fc116cfe9e68e70843ff0e21f8d3726470920e83473e4d220b4b033caf7cd5d9fce01311bc40b102636beb9f90997bc5351ef1796ee523125c22e003eb930d1cc86803962d808e16a9d62fae6a00474983d40eac2332cb450d05d45203b3e7fef069503a5e9b321521d4d4b15b8aefe5405f5538a935ad9ecc56d0259b033d93b9eb349d605da28e2eeba0cbedb318755871e10814f4f3843d162bc39d3303fd0628fb6f2584a42bed46f0739f0b165051e8c2abe49481f85a5b4cc94477ff03da7b34ff9aefa049a2084564a56f04767d49ebb3d8f25ab78aaf48da169f99b303cfac4938f72d149340e8fa1fe412b09c50ea2a183dd879ed8d617ec65ebd23bd033cb456918c6288fde835a26fa81797de497eaf98244e3a0ee5bab148a475f3a5038f8758cd8282456d26d5cb2f6545e0d3d0a09a4b42f73ed0ca7c7236c6eb800d032cc8aee5f8e88841c28ac53db4871df48f560b8499c711435b2ba42542204f110351f287b37af7658ae597dd58a4aa8eabc55d97ad84fcb6545b6fb4d819cecd0305581e03e889cd06699ed109f5c4b6fbc588fa8cfdd6fe4b779f40f5aa8f983be00c034702829a9d026c9405581e0376ceb0a583f2a565ed0738c4d87872378e129ff73c69786a8a3e9e1850084720bb591ae32dc705581d02daf9d1737d353bd673ecaaf248946b2e2902596e833bc8a9282a962e04050459158c6080604052600436106100435760003560e01c80632f9014b414610128578063439fab9114610178578063d4e878e8146101f5578063ffa1ad741461029e57610095565b36610095576040805162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f52454345495645604482015290519081900360640190fd5b60006100ac6000356001600160e01b0319166102b3565b90506001600160a01b038116610104576040805162461bcd60e51b81526020600482015260186024820152772727afa1a7a72a2920a1aa2fa327a92fa32aa721aa24a7a760411b604482015290519081900360640190fd5b3660008037600080366000845af43d6000803e808015610123573d6000f35b3d6000fd5b34801561013457600080fd5b5061015c6004803603602081101561014b57600080fd5b50356001600160e01b0319166102b3565b604080516001600160a01b039092168252519081900360200190f35b34801561018457600080fd5b506101f36004803603602081101561019b57600080fd5b810190602081018135600160201b8111156101b557600080fd5b8201836020820111156101c757600080fd5b803590602001918460018302840111600160201b831117156101e857600080fd5b5090925090506102e4565b005b34801561020157600080fd5b506102296004803603602081101561021857600080fd5b50356001600160e01b031916610935565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026357818101518382015260200161024b565b50505050905090810190601f1680156102905780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102aa57600080fd5b50610229610954565b6000601e60006102c284610975565b81526020810191909152604001600020546001600160a01b031690505b919050565b7f000000000000000000000000df2f24751f7e84ccdcd39e7b49904fab0fb0f5836001600160a01b031630141561035b576040805162461bcd60e51b81526020600482015260166024820152751112549150d517d0d0531317d11254d0531313d5d15160521b604482015290519081900360640190fd5b60006103656109ee565b9050600f8111156103b6576040805162461bcd60e51b8152602060048201526016602482015275544f4f5f4d414e595f5355425f434f4e54524143545360501b604482015290519081900360640190fd5b60006020600183010280841015610414576040805162461bcd60e51b815260206004820152601a60248201527f5355425f434f4e5452414354535f4e4f545f50524f5649444544000000000000604482015290519081900360640190fd5b80840360015b848111610471576000610439602080840290600019850102898b6114eb565b602081101561044757600080fd5b50356001600160a01b0316905061045e82826109f3565b6104688282610dcf565b5060010161041a565b50600061048483601f198101888a6114eb565b602081101561049257600080fd5b50356001600160a01b0316905080156104c4576104ba816104b58886818c6114eb565b610dfd565b5050505050610931565b816104d3575050505050610931565b6001600160a01b038116156104e457fe5b6104ec61100b565b60015b8581116108d657600061050e6020808402906000198501028a8c6114eb565b602081101561051c57600080fd5b506040805160048152602481018252602081018051633cc660ad60e01b6001600160e01b039091161781529151815193356001600160a01b03169450600093606093869392918291908083835b602083106105885780518252601f199092019160209182019101610569565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146105e8576040519150601f19603f3d011682016040523d82523d6000602084013e6105ed565b606091505b509150915081819061067d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561064257818101518382015260200161062a565b50505050905090810190601f16801561066f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600081806020019051602081101561069557600080fd5b50519050868111156106e9576040805162461bcd60e51b8152602060048201526018602482015277494e56414c49445f494e495449414c495a45525f53495a4560401b604482015290519081900360640190fd5b86818a01111561073b576040805162461bcd60e51b8152602060048201526018602482015277494e56414c49445f494e495449414c495a45525f53495a4560401b604482015290519081900360640190fd5b8061074957505050506108ce565b836001600160a01b031663439fab9160e01b8d8d8b90858d019261076f939291906114eb565b6040516020602482019081526044820183905290819060640184848082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b602083106108085780518252601f1990920191602091820191016107e9565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610868576040519150601f19603f3d011682016040523d82523d6000602084013e61086d565b606091505b50909350915081836108c05760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561064257818101518382015260200161062a565b509788019796909601955050505b6001016104ef565b5083821461092b576040805162461bcd60e51b815260206004820152601a60248201527f4d49534d41544348494e475f494e49545f444154415f53495a45000000000000604482015290519081900360640190fd5b50505050505b5050565b6060600061094283610975565b905061094d81611223565b9392505050565b60405180604001604052806005815260200164342e352e3160d81b81525081565b600080826109816113dd565b60405160200180836001600160e01b0319168152600401828152602001925050506040516020818303038152906040528051906020012060001c60ff169050600061010082600402816109d057fe5b069050806109e1600684901c6113e4565b600f911c16949350505050565b600690565b6060816001600160a01b031663eeb728666040518163ffffffff1660e01b815260040160006040518083038186803b158015610a2e57600080fd5b505afa158015610a42573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610a6b57600080fd5b8101908080516040519392919084600160201b821115610a8a57600080fd5b908301906020820185811115610a9f57600080fd5b8251600160201b811182820188101715610ab857600080fd5b82525081516020918201929091019080838360005b83811015610ae5578181015183820152602001610acd565b50505050905090810190601f168015610b125780820380516001836020036101000a031916815260200191505b5060405250505090506000610b2684611223565b6040516020018082805190602001908083835b60208310610b585780518252601f199092019160209182019101610b39565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001209050816040516020018082805190602001908083835b60208310610bc85780518252601f199092019160209182019101610ba9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051602081830303815290604052805190602001208114610c405760405162461bcd60e51b81526004018080602001828103825260228152602001806115146022913960400191505060405180910390fd5b6060836001600160a01b0316630ebdac036040518163ffffffff1660e01b815260040160006040518083038186803b158015610c7b57600080fd5b505afa158015610c8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610cb857600080fd5b8101908080516040519392919084600160201b821115610cd757600080fd5b908301906020820185811115610cec57600080fd5b82518660208202830111600160201b82111715610d0857600080fd5b82525081516020918201928201910280838360005b83811015610d35578181015183820152602001610d1d565b50505050905001604052505050905060005b8151811015610dc75785610d6d838381518110610d6057fe5b6020026020010151610975565b14610dbf576040805162461bcd60e51b815260206004820152601b60248201527f494e434f4e53495354454e545f444953504154434845525f4d41500000000000604482015290519081900360640190fd5b600101610d47565b505050505050565b6000918252601e602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b610e0f836001600160a01b03166114e5565b610e51576040805162461bcd60e51b815260206004820152600e60248201526d1393d517d057d0d3d395149050d560921b604482015290519081900360640190fd5b60006060846001600160a01b031663439fab9160e01b85856040516024018080602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b60208310610f025780518252601f199092019160209182019101610ee3565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610f62576040519150601f19603f3d011682016040523d82523d6000602084013e610f67565b606091505b5091509150818190610fba5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561064257818101518382015260200161062a565b508051819015610dc75760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561064257818101518382015260200161062a565b60408051808201909152601681527512539255125053125690551253d397d09313d0d2d15160521b6020820152600d548190156110895760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561064257818101518382015260200161062a565b50600e548190156110db5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561064257818101518382015260200161062a565b5060255481901561112d5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561064257818101518382015260200161062a565b5060265481901561117f5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561064257818101518382015260200161062a565b50600f548190156111d15760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561064257818101518382015260200161062a565b506010548190156109315760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561064257818101518382015260200161062a565b60608160011415611268575060408051808201909152601d81527f537461726b576172655f416c6c5665726966696572735f323032325f3200000060208201526102df565b8160021415611291576040518060600160405280602181526020016115366021913990506102df565b81600314156112d4575060408051808201909152601d81527f537461726b576172655f537461726b457853746174655f323032325f3500000060208201526102df565b8160041415611317575060408051808201909152601e81527f537461726b576172655f466f72636564416374696f6e735f323032325f33000060208201526102df565b816005141561135a575060408051808201909152601e81527f537461726b576172655f4f6e636861696e5661756c74735f323032325f32000060208201526102df565b816006141561139d575060408051808201909152601b81527f537461726b576172655f50726f78795574696c735f323032325f32000000000060208201526102df565b6040805162461bcd60e51b815260206004820152601060248201526f0aa9c8ab0a08a86a88a88be929c888ab60831b604482015290519081900360640190fd5b62174e7690565b60008161141257507f20105011000000100500000025110000002200054100302002002000005520106102df565b816001141561144257507f30000300050000500200120030000106043000000024205010030000100003006102df565b816002141561147257507f10031120300021300002001000200003202020010200010010000402002000206102df565b81600314156114a257507f20000000500000120000131000020020020320500200020200020500002010036102df565b6040805162461bcd60e51b81526020600482015260136024820152722120a22fa4a22c2fa6a0a82fa9a2a1aa24a7a760691b604482015290519081900360640190fd5b3b151590565b600080858511156114fa578182fd5b83861115611506578182fd5b505082019391909203915056fe4d4953504c414345445f494e4445585f4f525f4241445f434f4e54524143545f4944537461726b576172655f546f6b656e73416e6452616d70696e675f323032325f32a2646970667358221220c8ea9e92321867cc5cf888b0a310d15e164a168070abbcfebc9ec31e046cc58364736f6c634300060c00330605581d025a61d9719b342512d9dfbe6f9dfc0bb949e64f786d861a74e042ff3e070119158c02188103676b2c1c94ece40efd09af5fc33ee60705e04edc20dd868385be57a0b85871fa05581e035972fc60347b167bb28574d50b7def68fa844acc9fb39f4acb344373c00c04465f026c784a6005581e03bc43a3e599f2e903fc355f7757908e17455f16960da1450eda418ae3a00c04462894e73ff80005581e039f96e8744caa9babc7dd100a6c86af4dc3c79f01427e1327c18a5194d00c02420bb802198d8a035bd90540794bed365aabfea10f939cb11daaaa321b594981b48f890d366c365803cb67c63bffbcbc7759d4aa9fd9eb5f30230fa6ee9b2073b6cd5006a3a74ac3620390eca6d403a72dab0caab7f99ff473aadfd10c6828c346c4e0c8ba72cb8f447a034d01efd31e73937132342b612a8cfc523309b6479f5ee110f7699a661e2cab2103b2c2d8e787bcf03ca7bdf399bf306fb61ccc3e28cc5b2905aa6ad882e88b4d8003d71d92f6a4d5477d4056376451afa57d4cfa62b7ad2183fdc135de1a3cf9266f03f6fcfc760a7b95503d198ca274b9a5bbffbce6f747e2dacaa3da6eaccc05516c036b86083605898221bcae1ec20d64e04d03e74e6dbb9b7d2bceecdd55be2ad53d03f680b1f5e495ce5b6437fe244add4c6b748e14c3f3f12c0cf6d67ea402515dc60219ffff03dee82c93da220b36dd35a558db5e000e722154956142822b655116abce0dcb7803b1f9c70778d96d3ddcea83eeb58c45355e3bd08cc29bb51ae66e000e89a286dc03718a1eea1e8bd6506c03234e8d09990d0252256c1975441c4feba8c33bd4e3f703749a48afab510bebce228119ce907221446727719dc52333e2bbb964c84e883c0219ffff038a6371a68be2b9ee79503cc00dd07d03bdd0d0f415f61770ff920438f01b6419037f871d2c7881007c4cfdb40b1558f98f3d284f29de8d693cbb4f4d338ab28ea50219ffff0380dd1c952c83fa25e69a6e1bcc9175b6906f6fe48229b7889200a882196e69e203073965272eb423d444705ef009f76b16d6728614eccbc486c3d146d30b589c1e03e7e745ab31e9b0b56cfa4ed7013ee41e021c598a7ab7f91205e95871cee0b091039b5bf8e92270d2a80cd1788611e036d6c5b74e65e6e0a94fa680b2a25d0459b0030460b8dfef96bcbf36d8a77cfba4a9ef50380b262a59e3ae32e06368a27db9dd0337482981432d7ceff1f8fe644e8f39ec33fbd08d1bd9020c19a3a304e6ecf413033a0d1504a4d0cb6bfbdc7dc2209d12a64a8e2cacebd5507bcacc4519c7cd1bc303f0f2356fa3a61dc350378504e47d1ad149141c61ab654a3c1848eaa61468eeb803af60f699e7cb77e72715d523ecd69761804cba8b472119cde731f5b94f988fa103ae9c4f85517f9b1f87cb587730eda9a58a2c7c9b72187b70ad2994b4a03526540386568727ce3d1ffaa91b0725962e3aa8a3d018a2b453980deea34837481bffd30219ffff03cf36b8bb466243588523413824c033a1baa4e24e926996ed55e39878d996c5ab036cdebb9b40c263f22e7ff89d64810c3cd82af39a32d92ed3ca984f05cd018f2603fc54bc4b7f61a444511e90549a1b2cceab62adc2b8c7e4ff43a33a0c75493ee803d952a2b5294d54a3de9a4ea354daee0f0d1023a8f3a278679955cb964131f6540326f05c9e00dfde20c511fe133fcd1ca73a3d56838836c7ab019b80cba435072203ecc7456120356b29d687c4ffe47626915f96813954fe4d2be57454cf72bfa9a5035d74ce15e4a26f3d8b24683e0a9fa6a0b9e38118d9744b4577ff3b5322075e90031a7d30ffb8744a264df0a6ee6f7bfbb164400c05260745c26640ab11b07586f2039e472da38a43ff971353d296b6a52a1cd0793444ae27b51fabbc0420d5023c0f036f6245810c28e38e2820d78defe290ee6647b84e66b1a695c963b3a712d7f2f103ef1efda65d510144988a9dcb52c7c0639ce9e4205474b5f9b13603a38d787fe603f43adaa301b34bc78ba1b20a6ee84add7970074f612263a8b7f2bbdc42665f3603494518133502000f8cbffde098fbcc36ee79da5563dd05e2df0dae53a3e063c7033e6d59993b67a34ac35dbe13e07dc9922e95cd7afd73af3b7df1d6039862aab303ac6717e5f24998856ff0805dbf7d08b5a0b4c09c1ae75d6fde2c3d8d9c979777032d440e5c38df0efd1e533f1a219a60c63b2d2198881ad780b149102e447b5aa10316b8e6fca13b50ba972f260e90f4775926bdd5f7f5c9fef204a99f8a35faeeec03d9718eb46dca0815225d75bf00da90a42ef8684bba40a501b82f60108ef838f30316c75f0cb5af0bde812f36ca54e29cfebc7228d3012b8f60c0cb0c4e31a5934e030a7037e99a7c35a7112fd0287eaccba4aa6612c6e1447c5bce06a23961eaa56e03ca22f759238e195dabc77318369d96d128c42b22c356c969221766b7f4a2f9f7031343b4774893552df45120e49b2dba296cc37425f815148a6449615fb822eb3d03319b6b820093c5f996b4e85822169a9cca60807d048cb05251f70cefaaec1d8203072e36bcc59fe563351f6a49189fcf72757e0c085723b3def466d9e38efe138b030b8ded94291c20ecab796ab626f5c8892a986421c2c215157db9efb0a6a7926b03e44d52f493b71ec2bf8fde1f7b407de4e2addf5a86390f83826c56778427e94203d821920aadcc28040a6bc4e237e2af158896aa4d1f61a4829f36745b6631078d035a39c592db03c6c3ef2a283e44347f068f62572857b3232415174e76e0313a9a03b52a37e9e73901f576b7f23e1bc321aa19963324a02d69a84a961bcd5230cb21036b957c9f3ddda89933ac2a8448715f3ef57f957569be65fa796161fb79f6497f034c8eb49ce1a86db0a6987fb99acb0ec49c1c40098cb29f4e97318472789a06b9035015aa5c8d95155d765be69e11975d91985d11734cd7f04de5407bb22cce952503af92ec5dc0457b318ff6c57a4c810caba8805d328ed46fa6874bd903dfd5e089033314af23a8df704f87892a89954a64a57d963f39435295bee492273c7c760483036e118b0a1590dbbe09a30e1619988d0ecdfc5c659c166c858a02113b82a42bd3038d1eb521f9b01f80a300f223cfbb1ef050f9e2f1b2c36d1031bb55047dca5502036ebf38103362b27b1d355c8abc95e538e95708f226d847aef72564a7e4d4b72c0396d3e1d115b8a316a51536843e9ff30c91f770a2355e5b52157e2da68d5897eb03a301385d82f88fdf91f417b6adf874998618eb0a68d7eba749a396ad0a9eb1d8033df456b41a77ff339154bfa375be4a7e84dd6a4401849c683188a90c5bfc58fd036e6e1da3dfa88b922f035cddcc16bb6cbff6607f9f07d00ce7957a93d30565b003b8cffa645f8aeea0c5b8f68aad0afca71c3855549f93cac07feb9a90019f6a9103ec4f29ec363ef7e6c879be4af04eda1c3656341dc4adb37b11b494c72b9b1e6905581e0388dff02fe711d90bd9cdce63e78c81292a8965abe762a3cd63dc8e6750040305581d02d2fd682f086151d0acf00c2b1e487f0aca08e078994511918c76f392040305581d02ebbcadc3ba034004ef5e357ab6aa10dfae199356031f31b1f1dfa8bb0c184a46c9a8ed2bf8930219020805581e03c6507560b86a8a09450133b9e72ecba1ec3f5c9b87f724c28d8457978008472c4ad2935ebd2003897db7aee0ffb561c90c8ffb55c01ddb505cc82361851bc1bab0b917906696dd03094bb2c624842da807e00cd3fff840332d52ad774e1979c6c402ca325753c47202192955033f89ec05b7c69496a2a388327a6434d1c0c5d8e460c7bfa8c91474a89a662b9c03fa3cd7b13c1ec6f5a34c51ccfbaa59771437a349fcdfc53872349a197c2da5970219ffff03e149083dea98444cc918244f2b062af378f662e655a771a430ec56e9fb51ad660393aa9ef79ea8b6021889ff649f33c5eef0ca592cd45829d00d703f3282ae0f1b031419e62e1cdfb74daec2907bbdd3a9529a32d3efdd2a72302a777654ffd086d4034a03c06365adf2b34e1edcf7f65b88ba6204dade9a91fd2aac808d99390e9172036d57d62477d4542b4b3c9889d36745a7e7ca3a698f02a0d119015dd5c5bcea40036a9401f156e7aada19218c7a54e5965c848fdf1139cf221a061c199415bfbbc90302c4ae6587c3a5e77739840e8ee6a6be753c1300e5e019a6121a37d3190b1c380219ffff0219ffff03d4202fd21f7c55d5d41608638d35c2d7bf7ce8287b421b9bb0464b5d4fb8a12a0313c8e15aba7fa770b46715e6d605a431370830d76f95874b65467cc6574c727c03853be22ed9f3dc60b5ab1f1dd3c112a77affd077ddf84feacdaa03ebdb2c81b40301e34d87a74fccd621a2ac19c8ba255cdc073495e275dbb662345732c566de1c032ef2e67a41fbc33239714961c8eec17b2b3c15a3d1f06ffc32bcb26592691de5034bc3d6acaf97f7a4df94ea71737d2987d51f191552bad956c19eebef42d6c118037c86d6fc3b475ab6a5df1ff2310dd0e6e773d86659cf79c2197274c3b471d0190327b91ca1618e00afd4111a81b536ce36b5638fd3885db61b71d432acd9df281403783f1a2f10eb78869c5b1a92d56380dcb5a511a6faf6f5ceada44faaf102eeee03ace158617a3f099d63eeaead4410c74425a7e0db8483df19c46af081075f391a0219ffff036144bc6f1d4ef3e3eb2b71c76ccc1a3aee20e1c4fa3bf469e49bb3f605605f83038862b4de9e04a3c98d37b1ad10b9b6be0302dcd03280f9da1a8d8cda591efcc7036e32c69b24e8a79aa6e910377253150acf455f626c15cc26ce88349a4a31c5f10324c5c4fe753403ebd97689ce98a23daeab079a70bdce4325824d0acd42fba68d032614debb4050f7168498b0680b28d18b13a9c861ba95bdc629af7a4c96692aab03ebcb80978e2ecf921888739d2ec5a45296406d4ef372b8a2c1b58ec38344d7eb031b485dc0be3b5be82a8eaa4cac74de057e1143c6a48f8e76621c435c85e8f56e03d1edb7f91de48375dbc474b80d601255520d0bcbdc0300d3f872d3f0da58c29803a1bda7fcaf8f4b6e1ab424d95ae1d41c994b043c0a01cafb3b248e270dacc09b037b5ff9cb62f57c56ddc9f8e719da30f559bd90785de31318471f56d164b50189037b62f26b5e45e0ed85d630ee9508e99f8907a51f2ccd79fb73dfdd435e16f859039e406ef4c6ed0111394a14f77148aa70aacd7b3b8c63ca0ec01c8a4196090db003ee901a5bfddfaf9f3aca92e1cabef661d924e2ec5f057cd130645087237eff0d03407405fda9403d0d25274cf71e02cbd6d6514f4204c898b3501b7dbbb7bb932a03e9a57ca8643d5b8609733998e4dd92b08fcc7289abd4b934d58eeb72de7d5b7703fc25f3d1ad58f4761b53d7c4cad10c9ceb702a26eea4b6413989a731a09d8ca203c5e1a4048c58eee20c068e8443998c632bfdaeb09fa7fd30837195b3d1464fea03a86073d4f6675785ce580a6bfe16fe6904a8c92599904bf575321582338b69e50331d73726418b6c5a3c367f26bc31b85db4338569025e87cffd6b4e9b66e47dc503e2aaf8174e8a6352771f7de3f49f4206804407dfa7429a391017e2ef8e0e585c03e4168ce562bb4194246bde4dfd45b4d012bc2586e6cfb35fdb4e04660f69295a039fbf94ef81b7f757ae88ed3eb62c35250eaa19f2c5cf62545cfad0fa27bf6d4d034c7c7fe56498f0b0a9020b6913966c773dea81c73048d028a88ed4546c7630aa0306824931cccbd95561bc697cc056c299bb2ffc5c85054973da605ef1383f32eb03e2ef85c302b7a502b6a13c5b6a9c3dfe53f44da0186fa070add818a444751b4d030b91204460163facec694bf84fbbf63d1f5d8762467d033992b91cebf1af2a2e03608e65bfdf27cbf0e010da1218fee2108ee2e31ed871bc6386019e239e839b2a0327a814b529f61d772bfbae187ac41a905d4573e9ac388a7b90247a53eee041b703a230e99b59fb2ccb650c6f1d3e73e50ed1434a6226e1e8ece56c8666487424c303c281fbc2ac5f60875285c7e6aad4ba6d2c3b85b0ef9aa370f58beec25e79a26b03e5a3a04d300b65d39f18cf8cbb6fe29b524d310db69b104d70a7dae713a7368c030fd96562683401bf113eb3cc328374a271fb3f0a74de58bac2741e2dad7f277f035646c984b70f5cc7ae95f4807bbd2585eb1b3c00dc18c8b05dbf9b50dd7f9d6903ec1ca4b2801be6ce2f3840ebcbb3679b6865dbf82d71b65b8c1a0fc48e8a8b7903bdff8ec8524cb62b9a3d1ad0aeb25fd0d778a4fb3e2fba78c532c482aab1f58d05581e03337aa20acf1ae3cee4d81f27f437e71a7997de956b3be1934b6020b3c0040205581d02acf82c3e6235c4e27a05e05c7a0ff7ab6380515138110f3790e95d5b0c03470398c61d79a95805581d023187dcf79595eff9396a63cf1b7caf44a4b8d3755624d0e6f5227b5a0c024606c6b5b4c00802198008036927b125fbc375af6f527b84b295d17ad64fc368dd47edafa57776616662003a05581e032428ef7c3a49e3130102a70dbed72e51a4e8a4030b700f6ed335f16100040105581e038ddafcff474ff3e0f3e786ed6979f8a69ec385322e101c4a4269a284000c01471d21e55d222c2c02192321039bdd7dc1186360bba777fdc82106339a20e1a82a629d1443028a7d6a1c75e90e035e0ec76ea57520a69bb21e5a9c88dfcd2de4e07f88e9c7bd3c90e4c87bac839d0322cf90cfd0758a1cb58c0511ca750b17c24f9f1c8ea15fd269538b65890ea3df03a08b30bb87f407a396ea31e09455c6afacf1b9f9f3a9453bd80e90e130a02cde03d35b412f4c56f0093715dfdd7399adb244f138bad2de57c5dc66106f4c67e0400219ffff037e20df7cd7dfd728442c135edff1592403f9fe27acf7bad5ca1698580c42a2c003d425d8d984961b9cd0b999f5a551790ce0e110c5eca335357deaefb97ae8e0070325914a875837124c3d1d64a8325eac84f78c10436d3aaeea7021e98c37daf8c503f62e0d70596764a243894a3078f52eba1341b07c95712417c3fafc62b9b7becc03047f2156edefb22c32ec336102847230286f493b7adf3e6c1986674aea192ff0031e59ee1e9765c071adc3f6531046fac7243581b89f4d69370059460531e245fb03d91ed138002828f95b8f3a2db736c41a892d37ef188272e75776e67c6d3950c30219ffff0219ffff03036f205a1dab1bc5a31ecf6f39773635450cc5810543a8c5d33d2176fd2ebfa9033f12b589ea9c8280a78af738eeb925c1f8b68d8f6dad7b97f9bc56cd64e6a9c703a1074f2ac3caef1c638b05785370e415f73d1f716d0506032b4943eb8421443403b01ad9aa199feca80ee5f69eef8a85af65e7d5698695217e06cea659c11dd7c103b35e0647b6e6014ef4e92038442312764f6311c1a4a9752fa233da57bd611de503578c0e49e8e797b8b4f8c89e4dfe405ff966e86e970fe286b8b87e30280470a003a93f2fb93d2eae5c696665264a025e13bebd2b063cfe2613ef03d723c7986f7a0319ab5da2b62ff587398a1a71dcff7fa739ca50ac9a74cf26a4bc77fa790323c00365b56d2c88598941fc60dc944ae3374a9f3df0facddb36693cf54deef9e54bc3030e05549c43f6ed306a8e7635036cb76f5405c3d519a12fa3c65cab926f09a5ef03d3560ed439b8cfa3a7cc2ee0f18336bb7ecd74a6fc322dc232d04dbbcea33ab503fef4a2c9afa6eb78cb393195c075b20c058c1aecd1df23605edee998efc6df3803972da438a5a2cf8c6ccdf433108dcaeb2ab8f7e0259afce09c7f40ed39e31c000219ffff030d02b39bad1090687f3bdbf2d0224a9c51781583b543b0f8a8cd24c6f8947ba5033d8c24ea0641e5a9c407c7126262081bc21173ec9b00c51a75c52019a85c814b03a8a06d6cd4d40c577e4ed07ebf9eee7355ad3c9b858a95bff6ec02540ba72aa7032b404ebe014957bce3b12fd3b8f88d67f5c65d1e141d493f1afc68fa07ed4a9a03012601d560dd45e58f5bea253941e3adb182a75762dc50912071d37b13ecf45003e8a56d59199ff816d34bcc78d61dde518f4116b4cae08fba6825c146b54f6ddb039ee7f04d2d03d69675a3700a9104c2aa8ca861615c8e115a638a6f3e38910c620366707a0347e1dd8b6755f889c089a0b8ff9e0e6c6438b22b80087b97b984ec8703bc1ad0b513a027f45cd138ccf35d0186c32506f287fbfbfaa6f69607db24771a03495565930a9a617f24787a649414013d59ac9be315f6fbff99ec6ccbb92714d003b86204b7515e184019a47b031970f0870b9b33d6486527319baaada0b6dc99810355a594373fca678f951d16dd816c5f919e3fd7721fa3d606e737cbd8d6637d800312391e7262e5dfd2766792aeeb6f77637b7518e904d38fde01972b4db998fcb803e05206c3b80a5446b40e54251ea9fd482faabb6578b9a6e31ced2d58b3bcc96e03da2d4f35aee0eaf1a442eee3a049b9e8a06a090545e9ec4235e7e4d0a8e8a77703e7e82d555529e7afb3b58133bce6b987089c52e5236f50ae6e468056ab429f3701410c05581e03a249509e645682956586338b3aaab2d5df7dd32a54c76d3242760e36f0040105581d021d4e9f60b3f647d93cda29d238790b4f95213c368134d0622880d2200c024633658a42e00005581d02cc3445f25a7862d6f589e2b0644bb0ef009ebe2c33f673a8f7f9018d0c19029248040754e94d988c5402190204031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03d8b5adccf6791f0687ccf37cc32a1c004a04bdaff3692eda7644779fc007011bffffffffffffffff05581e03405dc551bf7a2ecf1f07493815e11b9178052406984991fe653a48120004030357ed4d1b85fdba3769c7812964a3dd4cb048803a591b1c4621486c53c6af1f4f05581e03053203ab5b366215ee5b683a9a504877510ace47a54bdcb8d8faa310500c034617c75d7776a805581e038ae6fb8888d70f22b81b75a685dfc00ea03a2100a51a67a85099ab32d00c182746133c6f4f08800219ee0c034cb45f10f7bff03a8ece7d292ddfcee79e89dae08347536a0a6844b6f730a0a60394b546029e0ec8b9d414b2b749e26a04896988583d8567d22b5e25d4736e92c503dea66d5e199c0c137155f07c8db7d8666f42b907d78e312ea7c3361a7910f2da03ac7beaecfcdbf2a9740f52d8067118210384f740e0948f5bd44c45324cb11f4f03704cce5f902f0c720bdc7743bd182e851579b9c9336c4776fa6a44f1b89c22ca038c6bf822d9de91df4945605fca4d4d976eba372b4f2b09148f7a2954d903b27303534027fe3bb42773f7601a4b94b6c30bb8918d369a57ff7bf29c811f7d79b3030309cee3ee2def7bd33c165ab32849a1dbe602570b9d4a0e643ce258e2142abf08035b43e9f2e5180728eb1060b9c09fddb57461d080ab0803661692e6da06919ced036528d52ab61b0b47551136148724e66616b62f250e424960b995eac315fe8d2003d687b4889dc2d2e5381b5640aa023c34975e808af8d68679cd23f77073ba20bb03f6dcf0f87d8c0a97d449eded615b9e5d287b3f4f18eeb9a563abb7d96df9261b0219ffff03f2bfcc63c3f2119270e9798b8d1da3c602bf493ed421933906cd26d52ad696c003f45e43572376e9d6a360f676727cdb771224eaa27cf2ae662d466701c5886b1f035558df92465f3e8b99c131c6c227cce8c7a3093689f91b2cdb8fe343a457924d0353aa009bfe2d3bf9b24590d8480ea4d68e774abec158d42a72dd7b7c3e5d18ed038226967a01f26dac3b9309a1922c5dce3c3c276e8f0ac0b3075d387d37d8b81e037dfbf3570a56f77e2d0189b92184319c0cafb9b51a055bb00acb00d98da2958703992aaf30f0a57a6b2b1375ce91693b7ceccf59dae82129b6568644a93dc9b7d403e6a8461ca9bb00e809c5878dbbbc8f2ab6bb5ae726986e3b03c8dc25a7f74c5a03a5b075c35e2db0f409f1dd221f340664c2366578babeeb7085006a1bf793f3aa03b0fed50765dd93a1763afcc2b555687cb0b30202644fbfd4eaa2a605e7348fd803f98de580509e90ac028d482896b65e3b7add3e7bf3ddf52519e012cccbb703ee0346f4bb39cba129b1e500d845abc3ae32580b68bfdea80164649ac81a46a9b6d5039f6fbfc34648fe236412f2143c76cffa9fefa3d59fbc1c3ceebfc3c0cd00a0900219ffff03e9f21d91136fc0008e3a29740bffa9b52515c0c851ae818fc652b9e28075a3f903c8fbc103e21bedc3e744f78844c52b795121179172aa50d35448e59c0bdeb22603a14e1b2fb2717013808ee027e253d95995ea77ce0b768632cd2ea2a0daeefc9903fa39556c28edae07393180db02947907c19f5abec1d04f8bc37f587ab5aca2bb0384f311c816e2fbc26dcbe3307dd22a029b78ac77278bc25cee8439db2a91c571037a44fc4b8a686f0f0f33525574b7e89b95e43075ead63e612e9643d41fd4b7e503fe180a36ccfcc0d02d7da066b9186f7ce0ac17dfd6a3cb7fd316c3bf938c376e03f39169261ad69b3ed3844baa4dbed53b1d2fc2e789f0528fbdb60e01fe20830a0328a9213ca988710c280171a144dae35dfc326004f8c40471c9026c9a868151480219ffff03aa4583fe4d8f2b516368b4b94fc7a629802aa4a38e90ad79ae5fc9ad0c00b5dd03f60bc40bf52ae102ed228a98b70637701bcdc8d7240eb1e1190be2fdcada96930363b15126b618aa6c836813ef8aa481e0b10b4f39dc2a782188a46e1cbbaf1d15038bbbc14c725097c607224ae45d028865fec433d191532c7bc0518e9b223d95d80386550efe040f7c53e4b082cc777f8e93f70dd381f0b744aa44656ef09f8bede503f37b0f822e5c7f27df8fbe7baddb1c0abec60503433c5e282cec7af552e1868e037103a7bfa2714e5f338b65470d75c429b709fd4c0e62f5f9aa15b84d30d0ce6b039a39bcb2c196826869ce506ca086987f15c42b9e79b93140fb057e0b91df6f1b03343cfe2b8e868f25b5c7d8f73f11d286f0fbf97534463a660cb830651d9665a903ea52fcd76cf0b890ddd0ccbce0f280985ededa68e5b5cbf090273e18eabd723303a7212af22d23e879be2864410d1cbe7b16ff4b363b58cc2b67b28a7c4a9c31af03f582a3ca9b8ceda8ce2a76b67b61a60d0b328139c327e1c775fe1a01f11113c403c4b42a3305a490bcec48b3c5dc24907a916f272a148364af50a0788a190487b1036075d3003a7f7ea3b8cae7a1ce4bf29d0068ee293ef455241276f58c15a7afb3035e47ee18e6bd0b1a3779da76d612d5d485db06f212dac6efd56034f4e1cebcd803fb723233ccdc35082b54472ef9d3071bd8b351f8589e8a5cf99224c18a56f62703f4b4a280507c731ce5f4f0407b996f5c5edd317d82a5503a25d7b68f86837ac203abca382d7d4e3e13f732290c24d22afd16fddbd0d1b71343ec75acd08ef615b403be5978ad81206bab81846ead96a5c2c458142d9bf1b6faf51f8ff9e7548e5568032fec24d9b9b29b48b909bdea2bb92ba3d0a83a1287d1ae2d9b2a5caa1f7043d603b9c0a7133627885b485ec06089fa21597943dfa0e9372345206684af34ea3a46038ad2b4974d001052d57f335b690844ef2b704e1049ff3b9ec8336ef34a74c0c703924bc453bb80998bd871f173a6e3900d77b6ba537683fd2e258cee282de362f903f71b8c9ee69c8ba56b03186b2ac6d880c02a9d373d80932f6090678fd62340d10396d3822926a15fd102eef6bc41e22fa76ae11c6f9bf9a8e785e296141194febc037fa0b74425140006e95a5480a56f1101b141bdfbca42cf14cc1f6b81f4e97a6503880ffbe9c74a1abaec1cba0b00b9e0c6a432a79dde4f2e46cf1529abd8962e210310d12dc7d9df12a24a822d6f64b61a2702d49c71dcf222eb5d29659dc8500ec103d94c25ceb18a9ae4d9c99a51e3a1d3c49d648e95634279f09b8906dfd186998c03081551096841c5ae78e7ea5da1fd42b71ea13f8f5c38a642d1263eaa64bbd156034d4ea19c2feebd6364507adc21cc61d7a2131e7b76cd8a8634dd1db4d058939603d1e58b8295a7bf0183b869e14eca92eaa85ebfbbe09764ace910be7aceeaf732038ef5c9bc714eb08bc9a60ac76eb08fdfc7b5d97dafc540a804282cbaccd434800374ee7f0778f41a00d10c22af6195ef48cbfe507c1784ac6a0c4ed521c115986603fb1a29feeae3a5d8b35b66e01f2bc9cb77143cf0a65122f587a394dce74bfdb103d389593b659be0dcab3c20f09056912605a5f9817e43a747af7bda5a0cc63aa703c8d7e9d7534c08ee14312ad74862a13a4a908aac886f20ad8d1daa363ff76c48036c5e449cbf2cd45ef5a7b3e585fdb52c2d4e7403341e1b77381f8384ee055a560392b415335d0d380dc9207fda30a813cc7f9ebf8043ad1b5172f42590036259dc03d69b03438419f4f853f680d6b7adc1bf47db24a06266420d36beeea412072bcd03d44446959b8a902aad9fe31ebc824f9a5fbfc5d94f72ce775138b17d2049165704592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563049021a05895164801b9600582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0501474cda1bad75145a9479a1f97ec31b40058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054fb18d8df69771bf2d78ffeddf1ef38d1bf84f62d00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820af0bb20f12a6860e8b9f88392e36373d47e16d4763d3b69fe4280949010bf025005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84f9c7051abbaf6a1eb4076231e862f5402184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687dae7000000000004bece21b1d30be5ce000000000000ee65c50a6e8123860058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002d81dfb36c0e90a2586394af2512cdab09620c5b245081d9256b7d1caeca32349021a058951648017ae021980480219b44505581e0327400a7b0091da46cd040520708f3d31e8c2f6c44628999c3e650ac6f00701192c1d05581e031e31de96ca39a69560784a2e4b997b051a160a8dc38defdc5a2448bc40040103212dc7b24e59048ab42aeef863edd0fddb1ca13524ad83494f98dbacb55d42370335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e034d7b5cdf983b19cf469009d1f8efd98387caea4168394c5e13292a301007011bffffffffffffffff05581e0390cd05438148197cbaf16fe05e38b0a301a7ac42b226f14ce31202ff000c0244ee6b280005581e034f851a0d8c13185f9ca69902e2a8bc42672ba93372e77ede520a7df620040c05581e038739f6b41431c4c2a65f95d33ab04666cbcc695b10275b4ce787adb3500c01460da475abf00003ad4b5dfac1260316aa59da5dd981f4cf5d1fc07ad49340cf70cc0489c300b276021999bc030b34b9322b4cc985af56d161034ec6680e8d73939f1fe6129c4abc3f2b92cc3003ffbdcf4dd87a33e5539179528dd70c6885913c14619ed1fd4ec9c8b27f272f600341cca076efafd3e7cf2458c7af77881e96af6c1675ce178d1f5561bcc2fc48860219ffff036fcc4981992c5ce7ea5261079a8fd0c1d18935093ea7a54c28125f9342fec1c80320c20042d0dc8ce107b56ae0194ae791f651aa63bc57d96e463aa2d741a20318035805b1cb04ef31a206717fbb313bb8a5407de814a73a77801c1c499f2aebae650219ffff03dccb2ae180c343e46f59bb33a5814d96207e7e6eb1fee5e29fbd8ceb2b6b550f03f5d6fe4dd3de5c6a27dcb96a6d51a88657ae159ccbf277f92d394ddf8bd05c0c037e51530f709ebd9536d07be489788d2521c1c14684988e1f8d071c37fa731c32034cdaad1f4b038209080532b58c82b56817eed16730390b8db35e010dc205874c0219ffff03428eb054b811f48d148bc52aaeaefdf8cb7d14838a0bd799c9382ab8baaddaf7038bd97a79ad33d0e32da0b2c033951e78c07e779638bb1ce3413d20d3204afdbb03cf7b4247c9ee2d6d372b5309739dc4cbc16f6c1bf24a90d0dfdf897bd4a013b503dc4f76d12a43b9dc3c1eba2d184dff9529ab4857c06215adb12592840e93098e03dd9dc54d4b6830ea19e01e7ca86f2300ebbceafe00715fe5623b4af53d1479ab0219ffff03b9707e3f09ba0a00181dcf7b11d3ce94ccdfc32be7ae46dfed57444c91290fbd03806ad17b82adfad68e741e203a2a505333924d26e427e87f50d26883ebe98b5e03eff3d110f9a329dc2133c7054506cbd86b56cc8d61a37a22e00466cce3fa3adc0345f17e5f80e0a48cfac6d13bb94b3ed64b43877a46883eff14c2c2685edd7a1603237de9c6f0635ad07e11425ab41cc0a172e0042336e5353c9fa814be46aa372303a8c38463f720df53129f9f4338ace938493f76daf12ee679e7304851b6c277900351481c33a2c50e7e9f2e776811f3a60a534d955c9401ddff32426abe4d2464da039d46eb331d551417306b645fcbb4d36c98a5cb46a7a1c6abf3f982fa0bc2d4cb03ec8d6f7866c0ab75cc002d3e5340dde8b828242d2432236b4539111777a2c50f03537a47f04019fc6f2a741cce7be14f5de635d8448bff8dfb7ac17c33a5c8164b034ad9c0ae87f6eaee62813c445e383563582962418837ce7e1a222a3135d1706c03c3c4fa0ae5f0e163b8760446d5ae50c3e0e1b1f31f5acad8d35cd2bfa841e87003b51ae0000f8ac9fa09dca6dc80ddcfef4f0f56da46b7cea436cb00863aed929d0348377d9ae6118cd46a090f22df1f5eb3e38d3a01b6eda6b707defb73dcc7d9990388c7b8c2f56928e0e7bb99f217a981310089b91d338c56e478c9c37b4d712060039801078eee318be718653a1acc27d44e53b086a66fb358dc10207b5b9b9e948403905ed38f0be37937ade7cd18cdc1b95695459a07b3a7ca6a1c52821c96cb2d010309125af42d3f9d9666634442f18ef642381d6a6e91c310054d50406c0105b7280384f5f28fdbe29acb8b179b3008ee5ba53d9ca3e610387e5b0e3dd1bb488ddbee0375891ae16975745e529fffc5cc2c3a7bf3f31c6698c7e4c4f1a0e7ec069e869f036d9240aab5d159ab9afc08c11868535d878f7bc90ab6e52c28984c33f75dc7c90317b170e3872283d6bc1eb1ea7c6fcb86078e08e95fecbe5dca9706a171c43c7f03c7ce1434b09dd029732d3ed12e885ea806d59d1964e8e3774c84ba9da9883bb503551e25c8de0a9909798a8aae3126b2b6ccaa4b5a9b6189c9611851d4c7d6b85103b3dc2a71584748d2ae3200a2713db3a8f596a9b8ad4914731303d5b9fb3653bc03585749f1ac96eedbf5ba4235f38b7f074595b43266ef2707821ccfb43d90181a038e02902b479d18e5fa74a6863ee8b2c00a7cdd12c8c894cbb289547cff2f751e03ccf7e92fb02cf390af6735ee78bb668e5588fbe73d039fe24fca63ccab845aeb0372bee2de89e67dd29aa0768dedb797068109588232211461bbdf9590a0650224037f90df0a06f2f3d39b8d0f64164ea2d759bb4e52073b77f204c2e58ce8bc1ac30322a68323cfe977f06636912e561840e2d1219b2b1a1c7f926f87cb98fab679140387dee80afefd4cea11970bb3c5aa9ad01fe944388ec042a54483051a19d5619d03ce6e77a3af0f53959c64e2109297c20c01b34eaa161530280df6da39032e775d05581e03914d68a3890805263cd225c45de079a0e3f8b020791190dabc5ecd55f00c0147032546470b670005581e0350a9fa39e02359ef98a1bd4c4a07a5ef8c53a60e3d2251c04d0f7701900c0147c617292cb7060003268c2e5beb4e663af05acc2d3867dcb05f358c9e4096c3399c77045bad733a5d05581e03701cfb6b153a375738d5d86f22aeafc9a1d9f27a99ff659d3512f7ec200c0346750b0d4bda88036bab9442feb073d23a753b99db7aad023aab7255d7672a04cb4143d7600c3acd0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080358e7517993655350d724d1caa02365a0b1e8b3ea62714d8b5066aa4d2959b99905581d02c040a3b7f37d94ec404763f9638d7446ee473e07dc998314a9b38bb907011bffffffffffffffff045917f36060604052600436106100f1576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100f6578063095ea7b31461018457806318160ddd146101de57806323b872dd146102075780632ff2e9dc14610280578063313ce567146102a95780633f4ba83a146102d25780635c975abb146102e7578063661884631461031457806370a082311461036e5780638456cb59146103bb5780638da5cb5b146103d057806395d89b4114610425578063a9059cbb146104b3578063d73dd6231461050d578063dd62ed3e14610567578063f2fde38b146105d3575b600080fd5b341561010157600080fd5b61010961060c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561014957808201518184015260208101905061012e565b50505050905090810190601f1680156101765780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561018f57600080fd5b6101c4600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106aa565b604051808215151515815260200191505060405180910390f35b34156101e957600080fd5b6101f16106da565b6040518082815260200191505060405180910390f35b341561021257600080fd5b610266600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506106e0565b604051808215151515815260200191505060405180910390f35b341561028b57600080fd5b610293610712565b6040518082815260200191505060405180910390f35b34156102b457600080fd5b6102bc610718565b6040518082815260200191505060405180910390f35b34156102dd57600080fd5b6102e561071e565b005b34156102f257600080fd5b6102fa6107de565b604051808215151515815260200191505060405180910390f35b341561031f57600080fd5b610354600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506107f1565b604051808215151515815260200191505060405180910390f35b341561037957600080fd5b6103a5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610821565b6040518082815260200191505060405180910390f35b34156103c657600080fd5b6103ce61086a565b005b34156103db57600080fd5b6103e361092b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561043057600080fd5b610438610951565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561047857808201518184015260208101905061045d565b50505050905090810190601f1680156104a55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104be57600080fd5b6104f3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506109ef565b604051808215151515815260200191505060405180910390f35b341561051857600080fd5b61054d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a1f565b604051808215151515815260200191505060405180910390f35b341561057257600080fd5b6105bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a4f565b6040518082815260200191505060405180910390f35b34156105de57600080fd5b61060a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ad6565b005b60048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106a25780601f10610677576101008083540402835291602001916106a2565b820191906000526020600020905b81548152906001019060200180831161068557829003601f168201915b505050505081565b6000600360149054906101000a900460ff161515156106c857600080fd5b6106d28383610c2e565b905092915050565b60005481565b6000600360149054906101000a900460ff161515156106fe57600080fd5b610709848484610d20565b90509392505050565b60075481565b60065481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561077a57600080fd5b600360149054906101000a900460ff16151561079557600080fd5b6000600360146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600360149054906101000a900460ff1681565b6000600360149054906101000a900460ff1615151561080f57600080fd5b61081983836110df565b905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108c657600080fd5b600360149054906101000a900460ff161515156108e257600080fd5b6001600360146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109e75780601f106109bc576101008083540402835291602001916109e7565b820191906000526020600020905b8154815290600101906020018083116109ca57829003601f168201915b505050505081565b6000600360149054906101000a900460ff16151515610a0d57600080fd5b610a178383611370565b905092915050565b6000600360149054906101000a900460ff16151515610a3d57600080fd5b610a478383611594565b905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b3257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610b6e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d5d57600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610dab57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515610e3657600080fd5b610e8882600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179090919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f1d82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610fef82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179090919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808311156111f0576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611284565b611203838261179090919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156113ad57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113fb57600080fd5b61144d82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461179090919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114e282600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061162582600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546117a990919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600082821115151561179e57fe5b818303905092915050565b60008082840190508381101515156117bd57fe5b80915050929150505600a165627a7a72305820202fa067488e425173deee0c592b9dc953c5225773e20d05a41f2235340083480029038e26ff8af0ed0322beda44015666fba277d40a200c85b8aaf46812199035545003e92011d922557b8b7d53444f17c49b1bf79efcd0c878bd77858ecfde72b13daa0353d19d8b90a20c88763baaa5caec4e1a73eac8506122655b7ef26204223b6a7503cf3b5a1a1fba546c211fb825f2a87f1756783c4f297ea693556697d52df04de903e29c12f15573f4fc5f086e637a50b3d1f649bbf30193510d9f17974c45758eb2034b9c75068e8e0aeaec36f3e35cf4c037d830882ce95bc6f41cc8643902ff1f8a03d90aaa72e54edf4ff847e45ab63f90d852e44fcde507ce05b0fd82884c76f663033ee17db6f309136899d928db3839e150bb9336d6e63059ec6084617611e0543103d8a72aee667e1fbb6b7e6d7badeec46bb3be9c028bd02188e631c220425196ad03fe01726ebe09b9738a35c8d042934c3f23bb32fd9fb806b436c86f0e99096c9b0322da4ecf1d319c21b961d73cc8d1ef3e5261693df8f6f9846d5be2da9fc43d35037bc25adfc7af49ea3b20a049ed107c6690325b9a91ab1768e0f2b12e77d94fa303ccb562d6ee84a9f8694314cac80da4d96c242454e22865b91a46cfd82a7e6bb003acb6e84652258520d5de6b1c7b305f9aad7bcb5320be08dd2af4f592475c29b803d0c6a0dfa080d48280084d7add4d02fbdebc903e9e423e0d63af69342c1bca7f0327be6adb56508fbb4d275b3f860b0acf1c65afb36917b9d01d3f92a72ef8876603c2437b00ff7b584c24c329632b2b6ca413d68b1e5eb49609de16789337d266d803ab725ce5ed63b4ac36d0aaf8c1a063de34581206ef66579cbf282e5aad9d3b92033a9b1a351b93675da4c7473233b8e9727e3721fe4c754f324be6de1c45f253f3037f1d32b5e17084f6a82afd572ca908007e1964b3f8236a37f484d4a0078e683c031fff02557423fec62295b053e6390af7a0aab110dc1323635737a171ba27273800581f02f7928c40e64e65a64f38fe134367b8219b22a3efa7dec6fc3db1507df05d5820fffffffffffffffffffffffffffffffffffffffffffffff60152b087a730eca200581f02119069be05a18678aaa7ddd9090d71fa3af253e8689b5636b391733d702645174876e80000581f02740efcd6906ccb3d14ff21d61bcdf17154dfbc3eacf0a092f5232ef07bf45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02defdfdee1c3cef9d63f98f489dec65126eb6a0660500d6d919166cd0588e492743ae847e7f6e000000581f0272670ac7fccccd4efa9059ffeea7e0b527789698778d66c6d613f8897f75490e6b7dd6abede8000000581f0256779afa2dbcc262b3b313f7220decf72b5fde029b797c467f82f0aa1bed483782dace9d90000000581f02ec600ecc0a5da274f0834d074355407f87e010a6c1fc88868a2cca330cd941010219df0003fefe6517437292def2834593c8a630e7c0e7553ba3bf9fbd7527304c09fbe2970321426f7dc7a4e4b79c0e1d6326633bdf3649209944e1ee923caa04fa060b824d03c5b133b69c023a812c7e9cca0ad2fdea3974d0d6cdb38fbcfb474d61d8ad6938030f82201dbe94f94135aa748e35f2f6b7003f2cc944d3f49a8dc98b9b0c25b92b034573fe121273a9d0f56d82054af670043962b933713604dbe352ac286ef2756c03224e54aa785e4288efc2c35f53c02a306e63364179ff6736f38c374322b7632b03fb939324916123ff6c5890fde58fac15e4dd72d60187e003c84a785f86f8f8040366963df05b2edae556167597009f4f34d05f47cbadab5ab432652b47d468b4e803b758a19ff5c98173be2ff34d6284e87802af25734443a3028493379151a47bbc03c8db2042988b31393e49ee15ff96708453b4a95812ce9af522339f18d113835503f37d695d862152d38d951011b41b4a0968943fa8c3a03ea0f1a4edba2dac4d4b005820030994f49ba086debbaadbd1ad0c27864945078db730bb9e702570fc2c163820410103696f782b6f35b563692773a8ce208f5169149a79cc182c174d3d06cb13ac974b0219ffff03eaf5d6fe50ba67a66b27b3f39811d8698ac7bfbd5cb50f90adc0fc616f3c81680219ffff038f82511bd73a77d8dc998fcdb6d7b2e2ac992205bbee6a9340499e8e8ef2d43d03698b568b058d3945be2e8f1d97ee42d077b0bdfcfb528c88d1fa64be8b42e2400303e7abf843f76f5164c4d23956ad4cb3cd231a6a7547e012c7b305560ce016e803d8a3657fc85c773c34cf81930acaedc0bb6ffdedafe2810895e01c94a5e3357a03771de2384939969dcf189a9193c60a29ce207f353a404a7006d4c88110eee7340373dce0c930736adb0b8a6f2d33a4c5ab3193637b8d8af416792df8d28b47bd230350a865bb714966abf9c7ecd314773fc969d5aa29188bbbab80dfe202a393d3d2036a3e4a48f19853ed061b08afe02a9c43a7ad597ea5f3b6101113eea8a0af3307035b434cded515c44ce7971c688ef7b8b753c681d7d4c3b7d93f2b671dc35dd1e40329bb690f92ea82ca9dbf6bec932e1e18b8665a84ee5de9567a29ec1037f69833033d2fb98f1dffbee8d0f50f29682c0ec7ce50a08649251e22afaf354f3436f4aa035b81c38b0441d486ce480b3d2b90d0ca0b24d684ecf9d5a8fb9cefea1fa4614b03dfc2d17fdca4befb05134f86b6401187548ac62737bc21aa73d32e466a732a6c00581f025a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b544fd95f61a1b52b3c272ae449e95cfc307d19afd600581f029873ccd6f364a51fffd6f99a2ee22e366118ad9c9b8ef80807307d4202d149026c0034235cc16c0000581f02ff7861a1d6a78b0c43310c667fac2ba509c93c20485db9291ed3b4cc45005820fffffffffffffffffffffffffffffffffffffffffffffffeea71b9f6ec2fffff00581f02df156f08a62df22ba70ed318eeae17aead81b00f7eb9e14f86b3cd21e51e489cf91629b756a85e00581f02a685bca1fddc51f6f9ce2423bb8a229d05e832f43ebce5892f35e82a29aa41010219d18003b7f21d61900eb81b28b1f17aac19fff398a0965770865a70191459a9717871e303a810395f0e3f17df54aba0cf07b800c9019034adb82c1debe951c461e178dd8b03e03e3b8e18d2859cf691b2c20f61a437b9e32f5c4e8389842ce2a65902ed273a03ea52dbead2b61c11b751be2ffba1464ff0a767c26afc80c13a56b8d51fa84dfd0303e02b0ce8abc2291604a07b7cefaebb8f3717f8dc27e6e8b3d9accc9ffddc5c03ce7888cbb72e6c313833ff7c838de62e472892d034002e4b0d76b4e97e834b50032de75d7c54a0715a133836ae4890a15092f673d4fb409d19c7814ceeeb65cb78030372e0a63b2274e7192b78f9d18c695b0118c6bc8a65e5c552c963a8c832fd0a03e427a28396cf33b2852df66681062e29d4c526677010d69c67dfa420fa06f10b033f039475d1b7be2f8fc80f7f2b4789da06103a270b74279992beba0dba641db40219ffff03509e9a9aedef785bd730e51cf6c6c8460d87f4caf45f2947970be7bf3b78fc1703abbeccbe2ec5c16217a34a78e3b5f750515be576f8b2ffa562fd8aee753d2c3b03af4a42bf5530408db286f153f735f9a07dd36b69c72ec1884cca2c017d978df003a32860bdc0f2340973bea625454630a131d84559b5f940c4bf7adfc8cd853302031850433c4782a4f71299ff02f440bde94d3d01832cfea6d2761164346507a96703f618f001a6d85256434d75c1a41ae087d8174e567a461e11544843114074ced703ce8c9cc4ed0747f5304a322dbbfa5948dd5a8d3c021692bee896cabf9cfab8f103a1b658dbccc545afea6b65ae7507acdd0e9a189bdf4a68a94e041933f96202ca03b05fa39ba529d7cc4f972d6725e00a0180246e7d8f181b1c581318343fdcd9b10369262c66d636758ec950c6d3c712dbc91db1ecd99165379da13bf11991d5215d033751bdbd400361b693567d5d6571aa5ec7941097db774c97edfab539f8fd8b6203dd06c29f532de5e0b2386a0622a1a68a6674bace2e3a51fb0e1b7b53492129c803ff46004c2bc32825309268afc40f058235f725569bd24bc4c3e4508f89a804860219ffff038a8998322122c4985819f24e554c19b9c9c52f6e6954b8f7e747e8c1cdaba8fb0308fd4323aaec726076c0acdcdffd8102ddf43f5a484fd53531b7fc6178bd486b03c7cc5d235dae968548d758b9ae6b05eda76f63dc1c12fa6a4beb80981bed577003a88d8bec47504ded1623c49c29bfda3d09f238277fe1b4d68cc76b7ed4016d2e03254465ea3afe9349dc53ca1d878e24cfc4e9204aceedd63da8fddcb18887d04903e525db5b0bd57319dcd97e0e01df2eee3afb60caf188b3fb38bbd383c824fef603bd77d5521a789a3b4fbc472294f88613bbb14ea9a04c9480bd2f0b263b2dafe503988b9ddef4fd8108d5bf3e8d60cb11023adb7b03d60f1b6232316f4f7761e256030e9a1d629c87a371ee2c2d84697f3236d8a9cdb656519e6885195f68ae6141f003dd07581bb618be6e284c66e47dd730ebce4dc52d20502bf8101a631fce9995540315f7785eda02de0864ea6c97860916fdb3475de11ecec96d2d43ad46b5cc95df037d07327b2f47995507f97b08518f772b86b21dab24f63dc9c9fa129f8ab25c56033ecbee7d86cb6ca95e5ee0b2845b3a6612fc1aea1c70752287164826f107bb10036801729267bb1958155f7d6abf061509c1ce26e3822479f046beb2a70fd09c7303e228d075886d6d3a2e0f7e28b446c8af112830ca938392218d0371e2359681b90353fa6af70f0d80ad9b72fa562b13315e69c93768eed96ed76e056a7a2215d03a03a446aa6ba3e6fa6ab47a33b3894481979cda67815e0db929c7e891fbdb78aca200581f0220474e5eb52f41ebb99b702da372304aab12778f8a61b85977c446f1f7714931392b8c282671000000581f03a8b0c34f94346af9e3b0f86136d0f5a4fb0254c983ed7de2f10d64e310b04a18b30bdc2eb44565f1ab00581f030f0ff836509a1f3ded5b0adb69dbdddff85e2e5a90379e0909ca479033b05820ffffffffffffffffffffffffffffffffffffffffffffff933a97a10d3294b4870219080200581f02a17aca571fc594c0ead160eb8590ddb2d413d1f462a8ce8939c05d3c3ce348136dcc951d8c000000581f02dbb9172202d2e0425b78beaf74dee6f19b8e542ec699067c1e86c85a82c5484563918244f400000345d49ce30e724cd216c0e633c23d42442b4fdb0516d6271f8402efa5614d2ecf00581f02f16828e94f575d510ceb180fbd92af9ddb4570e9802a6eee70c5f2f1631f410100581f0239ac733f87247136e894d66ddff743663be816c4092be39094fe364d02e1481702a46ccb4ce00000581f02a8dad85350755782872717b8fa45a843c414c2ebdec832cf8cf1de7520e1480c6820436d33000002198adb039a5e46984878c6f6b8a8691bf1b98527bdb97d1bb7cb8118ae1d1bc170386117035294ae656662f1dc232867d467ed62fee38db3b6dd1eee09f2bffc845c1dd3cd03594dbe92e69b1b91843e4d137a1672154c0e928ebe5310a0e4969c4b88b023a003847511212f3de2d1ca896489ad54cfd6f24ce28744460ba1a173f74062ce07e703ac425447752a995185df2f4c882f7baa71b6e0bc0ba81a2f7f9944816289f52903c3384f3112fc81d22989eb5e9b6467c1198474f29d3b439f40671e3cb5ab6ce603884ee208f9027cafebaa4325e613bc75d25fe88687a1b549badcf80581f9ef2403140938b1bb7c5ecdc205f5b3e91e9982caa1e8a9a60a5916bdf45954b4c1788e037302e3ebe3b623f14bb719f6931701c63fd95c1c95e8739eec98d25076bf87b2039dc6b6b0c33ce8051709600e27e17943a9d2604ceeeb26c8f27bf5112b9d3788030c2d050e2ba3e68a2281b71d66e3e9cf87a25ba32bfbe165c20c3195f2fad50b03597af6980b18c3cb796a02f3598a1ecf719df1da9d0c070d83fb74eab544945a035baa65c37d77ea10d173861ceb555227788562f2d5a0fc3e2dcd0aeb791adbb50219ffff03eeeb03b076b4144fd7f21cfbf314cd1dccabbff60e2a3421b1f8fe7c66e100f103a70f95201d6d4ad1c6b0fa9bfa492298d0d0457a35e9a57180b38808f986f9bb0219ffff03493b8181f695865978c47ebcb10dfdf9d81b266d82b095e5d1cf5287095d64ae0219ffff05581d02d93dd67abcc916a7a078b0134f5e0313d93684ef8d1ddbc0538bd3ba07011917f3020a03463c37f992fb62193451c4787b5c92a42c00ecef8cc4a56435f773b18947c5f503bde63c4f77aecb3032e1e84939339f5495f075aef253aa52bc9158deea16aa5e0605581e03f9a1fe1b6e9510f481bf64afd64a0878e6a64ddb17a263f41686599cf007011bffffffffffffffff05581e0307246b335908314f95165d884dfea92f03b46cf7feaf64a657e84429c008472f9a805c46400005581e03ccf870e35728c500d95a874d5a05b93dfd54163bae8839a6891534ce60040105581e038151f71618a6a5926eb5185d226c8bb3b29865e4f679e9727ef09080700c09470ba1836bdf379805581e03bbe63a2f2b6b7748975680c2b5245c05594d41b9134022d38fa7e340e004020219f9e7037537478dc8198abb22e01a96052c64bdf3f2257d8afdf99e7ed2d76f117e57a80303ab14161047a4a4c348ef5060bfb94366694f9f1b837b23cdd2ed63569c0f0a03b56f8bda966e36db72ffbfaa6b553784a603d80171ea018613f7651da979f5160372e30cfaec2348a5b039865199a9681c0705338b5dc5bf09048176477e241b9e03be0a246e96b9e22839acb17a288c8220fd4d540c7470d5a0899f6cbada766dd803f19480a8802664b86841f32a5c3b8149e920de82e9ee5f14e37cb7f2a175201303e391a08056f2bc0e3611e5d168213877c3aaba171da15a80c50e4a86ad035ad0033a34286f07fd61aadf964893b94890772e3026d7255b4642bf22e06ddac58e50034485200108bbf247d7a7f8853dccef44ea7d07db43dc06ea064292df2533fd59033d6f95fb176fcab2f90f21eecaca18689efd3de87419001b72dbc850b35c049b0219ffff032edd2a1c22ab24e0938d679b3be813339f4dd1822a9ac7a719c851dc3e4f1d8c03c867a64abc493cd481a75cf52b253ffbcdd073ef3bc61bc7586f5becf2731e2b03c1fdc486b9f149128e2274030eaec7a54afca92407fca743913da6e153f473ac0219ffff03f5d85ad16d8bdaf7af0ec523c3ecbab199e7cf4f5fbdfa69fe4af7b4cce4877e037ae66864e4e4580d12ed8576c6be8fed63b310b0097c221779973526477e90a2033b50ab2d358cd77931dfde1e47c15b62c28531e999f098678e0de108912d9521038876a7512b3927901b5ca14c0367b03d9c6f4063f6111ba95b55f78d509cc65d0219ffff03e30bebd27a131c18d22fb03920b6462458bd0b1ecf09d91c4dabaca307596d2b0306f31435742acff03219d32859a0ff002a1832bd98797c2525eb95b57690a79103e48bfc521c5354d32d36937a6e7de5bd80c535b5cc4e19459886770eb8e5ee24035d22d6e3ae587c636438d4ffb24884e34e30e7aa6f38a57f2645b2a671a1320f0349cb86b7849d80ca6e0a8c1467dd6b3834cc7110e5f0b3af9edfa0056c0d65e5039d6f8d8f9f8575cb1c7d098aacf6d8acfc1700e28573dca9dd080f0d4b89bad203b35574240bd8cd72acdf857493b091a2e5f06defe4f8f51fdced8ef10c5326f103583c08133187be7ad256983804b8ecc5d4ad0efe772c78a6506ea1c8bda2453103d9f6df2af7f27bd5abc62cd82f39aa7e20aeb610d335fe7538ab939a7ef5e97b03bfb6689d309fdc11c117c0f24e59e8c1f259c3f0c13a55f3810f520b5b81ad7803f3e236a7ffb7f2660c4486034f4d03e470ec8a045c9021b0bc46049718e7307403034251c9861ed00b6def78f647c2e0fe5720df509b02397ad235f5957e4af0e30381ce3bb6408824360311183ec7a70f7f247c21add7b88a15981a0a1c6ba60fbe03675823260111de2e345beb63d58518f3e2de875fe411567c8ec0d6460bb0ad85036603c45bb39f0708f8eb2346718ca07b5137bccdf8a1629e4b7f50c04774280d031d81b55771ecce9083752f1a1edcc610a0fab49ea43343e0d95a054aa70afb9a0330c4a37b85520ea69723b843d73f4993047d6ca2510300ff7f2ecc1d1316d7660324f8f8a8f7463e4b00eda56c1a5b264794598593dd5011ad5067d2cbeb6ebc0b038bdc87b88c0b520e96551832c2040d5940bdf2b8ea784ad99c56d01ca8eed9f90395e2337fd2bd278d15442c4a9ef14070f8d845cffb1704b5db550976cc3b71f30377f2cd45f44a92f2834ec8d814762f3567f3266f726c457dbfc73fda4e8a3a3c0358c2ee85ff8eabad5a2536cdbe641c2000e48c92e5b1f4151027f74ed3675e08038adf41d67de9db26c0f9df607dc5a98ffc3dc92e2daef62b5a4b6125ddf582c9035ba176182e295141e58f08d5d215410a938988316649c48805034659ab858b690363ac6709b89eaae7e90474e045d65694a971dbb938abd5afa2bab1fce4d0625e030771d9b0b7fc274682546989ec87478e1562bf6b7aa3a3b76dca1e04f068decc030cbc962c5b17122c0e0fcaf14f952e864a48c5f8275db543d7c7fb7b09fca06a034de001ccf9fa87d3a6c241ddd4d7b93159c11f17eb84eff93c7cc3c64128041603a564e9ea4c19b311f631e5bbe1c48570692eff6e79aa687dfa4923abcae4834203baa1cdbf77ef2e3575666ad2dfe3f191c33bb94e8056b9921fe729e8a7fba02d036019be078cb869f3873f241e2161188140ffd505e74a7839d814101b4bd48b9d038385ba88ba85b444a144673496709b2d71c5d2ab6bcfa17214f1737aa415aef30356378006de6e428918261bd84f97fed32df8e6a170d7a486f0c4d15bebe1cb5f03e419054d340bbd4eff0dfcbfa9a28ce16f956d6f6fff07b38a8f699e4284e9b903e952213ef3048632da682ea1a7f0cd7ee3962d81b765f6211298577bacc4c5ac0303f7a8a19b42d1b8d95233d0c48dcbd769a78afb23c70b971f32087b450b2e4c032cf1bcedb80c1baa53e7c114215e37313a6cb78e680bc3551b3aa789c0509db9030ef9da86ed3385feecb7355b4102c918e27c1bdfdde466eb97bb96a868b2dc6105581d0245d0f36e25674c3f07b297bad8d3da4d20295048adaac34b35339bc90c024721c966a7eb076a0307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581d02fc081556584d6eea6895da7d9402637d5281711503f7454437f93a1b07011bffffffffffffffff037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581d02d7343193f95d31302a12f527771fa24bae2a55695b3d268b0df185f307011bffffffffffffffff05581d02adaa1449d59f9f4752c7ffd2c66fd78f747bade33d8a2e1f1dcbabd80c181847bbf8cb101c7ec80219e00103c2193f02961c72f74cc53401cc9498a5d2d1bb815c44eb3bed1a8d660366c7d905581e0373b418c8ea32c6a9ba60fc87f4ba9f795ce483bf987e7b71ae8783a220040303afb00254b8f3c5a90baa64e2e178c14bcde4dfe1b41d60d9cc92febbfd1bf885031a03aeaf7600f2ff641b4138602ed3a831480b4e63bd21b94a675ebc74f6b9a305581e033e6aea1128b8d9797e99ea4a6cd748fd3dd9559dc8b1fc10f12320448007011bffffffffffffffff0369cf523686844f57012fd894dd0d252c5283526cc905d4f02425757fe71c74c505581e037f8b401686c4df815ba4c9addbb3c07de744b961d58fb8e257094df910084804c6222d6abc000003b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e0399185e8cdaee9b579d3311430660fad869d9d80917f988846cdd9e3d1007011bffffffffffffffff05581e036d9760170b6be59a50f7ff51348b1fc7ed8276346c4533cca0e2fce1a00c0c47a365808c3f0d7a05581e0360ba9162dbbe12514320111b2391ab2000bcd3ef08c2d62ec9394100100c0247022cf47c856ba402195e9503f5ad53930ac27c3048c09d4d2bf529607bd34ed523f66ea871eb90c2eea69e5803541bb5668ddfdea39e0928761d9c01ba9025a97b982d293ff8aa36f718be923503edb5bc37e0d45c5a4f73ba7f28aaafb1f30916900110ac8932df02f586678b8d03f0a17feb868ed846768cb208ff1ef7b0640b2ac525ad257b073c4cbebc65d5a403de1a35b29988bb6bbb94dcfd6eb46d336d48f6cf85ef24714aec4e899b2520cf0219ffff0219ffff032ea6f3993c2347eca011dfae3ac83d4694fc2362912fc12abeb7653eb9adbfba032179960a3c2db47ea68a81745cc912c27869dea091351ed96a756efec900701e03c7019999090a3b907ad68b887fae132c9269de725b25a91d54d27bec5701d7dc03bc039844abc3b34bb32e59ce74b6caf9ac664d1d4dfd9c6ca8104d34ff0e702a03dbfda00886b110f30dbe75ca63ffe79fbd967fc00858a7aef4a66ba7980c7fcd0219ffff0308c1e1b9748ae05e5f83ced784b1ae6777dcf0d0b1925ad5510669c8452d685603e3c940941155b4033b05e42787e84dd9798408dd991f194357486f95910036f703d29823ef94e11dad796f76986d643fb4710d40495a500cac28eeb459320bdf6403756f6451183d77fd1254f94b429ada1f12630494256ed6826117804283d7d5d503cdcbe83082e99525b1ab275b89d5779650e57b6f2b694097485df478c0be5457030d67912de972fbe5e5a2c7639a7e9638a9a406f2c75c3f68b6b2896e127f467d0219ffff03b739a0e3ae8c65ad8d21880948b410fa2e88e7f62967d07c8030e1196cd9e0e8039a4a5a787880f064cbba062cccc3a7716896d8e1063e0c306558e03d00b5919503e3335c44640b961878c2741f15764385ca621ef7b077222ebeaaca3d26545613034258819f50d04ca2c2fc0db678e74d364040ffd12baffded2beaedaee71ba1b90320c4392f4d83c2e185edfd21f190bee3c619b7162acb99d78aaf2eb9c9ab796403929d664d0c5648b33e27c9a41e1394a07fffadf8383248d644edbb690743aa880309bf565d29f8c7af4b3fe47c9240054efbb766d41eb782694724e67861a7344e03d246ad3eefd19f5b92b9bd389801ae73153e8ad6d3b4f9b2e83619741f33b21c03142b25deff8b1c6bd9a6530da07d53d070ba454fd80d6c418096830cc1a64d6a0343b4b0b519bd56c6b8835ce79fae9677155635d7fb00524bd0c6d3584245c2dc03ad8a3b325a19f6023e5e8477704b3409b4769adf8ab2059d37cab1fe3529b26c0383a8da60354d381aa7fd8880799f25adb7ea3293b9e56f95682cc345512aeeac036bb265aafd36af0015a8d6ee1f70d91dea9af1b57b3416607dd188d333b73c4003c440a2394d2f3d6c9e4003f9e7e1b5268e58396ee0a62fd3b34f74a0c7bfb124033184ed7507c9619e0c131c8eb6a43745145d9a46fbc3adde9221eb22a813348b03266851f6f1c91b2c6d87b17da410859fdd8174f20d3a34d9ccaf2138f538987303fd1f69780948039818f32a7781e026cbc00de4e891c36abd744396b71441813a035acaaf36d112ffc010a86b1369956f3c092ee4e8cf3c74bd26ba8935e437069103c9db6fcd49c4c48083fa9638b66f2e193ecc63b781248fc1dfc3389c4b1f0444031224183a40ea51fb8bec9ef8dbde6aecd30f1287e05dfd0bc3b7d7684d1eda5403b89d2521cbcdda5959ad0ed02ea3fa05af8e891d3ba13bab8b51e3e929fd6851036649d0982724aa22f6e8a0e09607e7ce6d01e7f713be73964a4678d2e47687d703b33d1fb67c5ee8e2af90b936f2e89cc0fcbcede9bf29d7d581c2a9e8b54ae3a803289c556a0e96f322e041fda6c41b7397b0a1b62d6b518e625ed40f251ecf6f53031433ae5becfc49dfd738a390244518cc9878ba21c1ef175df8ba45a10791bc8903ef6ef58e36d9d9935b1f0ef0277b740b0457fdc1b589d8269c8c82d416241544032df25386d6cf38be82e3ceb019e7bd7b5507ad5c7e7c69f6e6542e0aae37a5b7034a17e2ddb9bec60eb678b1eee9f973e6a9ab8a5c69481e9b576ab8d3fbb6c5c70399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803192de94d4823ca61a24ecde75558a3b6c813c65b18367a2e5510f50de88d0d6205581e037915f3a0a03a26c48f0665c9373843aa5fa114d2718345b39b519d8d7007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038fb61e60a92a7efea96f35173039aeeeb925bf4ea26a8bca77fbf154d007011bffffffffffffffff036a2f2f0b50aaf1e80c0997f930362bec50920807fb717945640db856495502d905581e03b728517a9c0a7af3a6746f549ad72b39f4fb85d3a5d2596074b618e9300c014504a817c80005581e03b5c905134433e12d40331e58706012c2bc4ad9db14724fbd2b788a99100401031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03a542e3fe75c799f1accb9459b533da162f10c1e20a6a7f77d582aeda2007011bffffffffffffffff03613b3463d2657ab68ea5a1c80496d05d68ffc16bcc9c2d491417138221aa041505581e0325c512a0ee233ca1df7a05d368f29d841fad703f79d042d4dcd3cc30200401032fe5246ae0c9227a875693db0402508972fcde712f8ca995e9faef13f836184e0219c74d03bbd0566ffca0f7aa457112ae27506b186b6af597505487ea5271a6f45e0cc86303fd62cca1a52a6bcc50857701e175937b2183440e46e14e80007c2a148d47ed7d030f1e5b73f6d443db5ada408c9465056f2bc8c5dd2f8f77fa880a6d06d6967f67036255b6c51551e58c996a3670d5dbd29d0b520338d3ff20e50eab91ba2b7488a20219ffff03d59750236e8fb76c2e972c569f335bfc0bdc242e0b609a407222b5b701cf067d03a4acaeb72f06fedc14244920193c35317b129585fc4abc057d49c35b6078923103e5f74ce83f7c3caae2c2c6c6135abacac312108b9d64246965df4727823421280308f34c1f412746c07cb358470816e1ddbf04d552879ca3540991f0e564a409db03895bfeb2d0f1e07dc442fcd1d8759ddeedd65af7d3a21e5dca5a784cf378d9ba03976958dd03ddd4533ca25b1aa6bf14121b4424960e1dc3469750479d4a82f0b50345b21439a8a7aa8d66c4809537d42154ae28012e83b4314f4e087febdb1697d603abf19da6654bb4c3b3e189de2a5c2b54c0eb070ea53822c41ec86710bd7608c70356b80ab9b01a9539e024db38a4495c5a01350de7f65e90f2f16eb2d5eac71ce50219ffff03993435be6326469f6f7b39c3b6ba5d5814fe56bdffa27d004b1462381f727c69032fea95071477b620b4d25d7ca83bd0c1cd15603dd33a45f96b7a129848a577e903bf507bf0b81053e3664460867e3b8eb0d4730db8d9a9a6092526fdcdb37e8d63030198aed33f19c2e5e8d40121758d96527f141e307a50a92904b0e788aab88d2c030979ea281cc2fe090ff895b4fd930ef60dd2c395e340599cb5080cd934b20ea50219ffff03be68492ade24d51f955e26c2d9d910b02bcb86d5ec5272d7d030e4c84432b94e036a0ed6aacd8871354453812f9c15eb0f088c2c065c4dc06da68a34afb6719148030997b345a2e7a44451fdc42500c402bcd9e4b2f6a1d4d1fe153ce33ca6a9531b03158fcfbd8d5debb0a5f9f23df4ec88ec9aa98f8097c36f8c37c616452c7e00e40309d6b54f63288cecb9c16205d19d3d7a8509676ff6ae675186154673a88c5aa203e4f1bc9a1efd0cb8b80ac5c3f8b1c492049ed57c10a47c892750225efc636eb30365fb7fbb18c1dcd42f632ef981e4fd9c28a203dc16112d57a9147253aa72152203ea0183ee6d79ed6244d929217648ed1279ffcf0285d06e281e0130a85dfe9aae037db0eaf1a358bcca749ab2552cb492ab948f9335eb19c338044d2a0b5466322c03bca446fb8e4453c77ac72d0333e69859960535048ddd8bc4b7c3afb1aee13bfc03dd6ac8e7ba1ca82bcadf987e3f0a3bcfbfb6428c335e7caaf7a975e1ac39eb2f03eb746af20a3bb031376d3748be5bb0ffa4510c201e61c55582c32de5f35961b203305a995b9f1a4879c8b054fd54f006c861f6b594526a7c2d8e18d241b146e334034f4008ee001a5a2cdc4c8bab3e5533f5156e42c9c608c841fd4914d31e7bd88b0385b554d885fca925a1ce17575887a3235a921f887d2d0ddb2ad306cde5ff16cc03146fde55f7bd99d493d45bf22a3d42c13b90360675b308e7bbc458677cce70d3030c2f2f6386177e0a5f8ab9293f45f538a0f74621d353378020a149a085a0dc620370fd8016e4398d7bb4326dd1653bd201114c0a18a78d6cff772add3a03dced9203bce0ffdffa8fcfe2f104b70efed88bc6f34d113f16b5042cb5bf44a85e2513e7030cb78482abe1add1b96a4651705ddc0133d12c1e0d3d50f3d52b70804dc216db05581e0360a77ac1e3a4ef93d14d2eb6addeeb445e5171b2a8f43117793b7f137004010351b05e040aadfd11ddc1dce7bc73d6ddfbee0b316a28347b62c2e7562d60a80d03aa9793046a9449ca79b044376d09b870c7b7e2215c89cc03342117c077de2dce05581e0370dcfd85ebaea32c04e6228168ab89814379ba8c0b3a5fcaf81b09891007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e034623409c6fb55f32c7373e5825791af1bc78a61349048973fb3e3d543007011bffffffffffffffff05581e03f301474443f45515b763981f481eabe61c5272a3e49f4801fe5f12a6b00c0147013c811061c00005581e035cc34a56361807709ca4001dfcf4397d82ed13345d9c20067ba18a6da00c014702f4f507d37c8505581e03ace65a9a734ac166dea39464d71ba94874c07313931edaf1ddcb4382300c02470977e95f47760005581d02ed1a28b049e9d4fe5334c5902fd9bc00c42821c82f82ee2da10be90808410205581d02201baf6b441ce64cf1b2203039d35c93fcdbc68e4e498b3fdacb0a670c0a47021a49ea1fe9600219014005581e03fd422beb48c1ed0b6cb6dcdd5562bd3dd8f09b36938f52a88baf9c7ce004010219adfc030d4244cc272075281216195a8833508d01086ee32a329c03597b04aca3f9f49403bcfaee466ee1ceb416708a48c96d2b767de2e3c146b2bef14ce7bfb677a02b0b0303adc463728368d1d1dfe4fd9089f5877694fd9da7b02d603231942710664ed50393604205801f085c6b98909ad48ee970034b8fc8ab0e0604986fb5b61f4f2358033e80091ff21a4176f09c2d6f4eef92bb3e8ed37874b459addeef3e88ce8573c603fe577e282dbb25179a1ffef83c01b0fd4aa3c658dbdf173fb15d3ef9fc00512703b05fb3b08e93fb45f8acfe229fc310eef831786fd11c937e8e8b0e113514e1e9039a951fc70ac4924848eafeab1900aae879cec7e24adc253a2d125664d33bb6ad03c8b706fb0e0fac7c38a642e76bab5492e4cb2d4956a7ff91269f81b4b58b703b03e417e5cb0e9ce34936ee9b9e9ef8073876c831aed336ff651947575ef5f2e0e2036196537c4dc0eab4a8c1ba1894e5388f4ced4c7787ca8d49468d99e024a650c403dfcfbcae6e7e9a635350a60342640912dd0770bf00cc7615b6d1578facec675303e0e50c431382aa8222c736d99ca4ff694d4443ae94f98f1dca899178c4472d340219ffff03258d47403fece846cbd8bd09e932498eb6cf7bc913fab8931bafb4098f97c05f0372dabb733634912c45e025b81d1b8ec1fdefab80f80fbb52a0d51b974a529f22030bddb08911aea964a12a6773f7b6fbf3bd8ad25b1b8be712406c480c74103e2203b62bf927b3ceb84678dd5ff13c3273cfb24de70138585412e4dd758c833deb9903d4c85e8a16b96786ec38344a6ad175a1ee90a1211b567e73bd80af6150f446ea039eccb26293a5a06121aa0f1b0259347f50b4dc82d8a2894c12387f89e0b291d70374bdf6a0f0c10c40f8c18abef885b60dcdf490f2cc711c4a604ee6693acf4fc9037f69219ec3e94eec5d70712f12b26af0642f33152c1ac41906f5b188876522fb036de3d68803071517c50e80d7268a4483107e8816d8a14fb6543f5132274918ac03ea34cc21e31636d87bbc87305941fdef422f22064ee33a988a8a5b118e0d6873036e8e8b23d86f012680b8174221a68dbb8824353a876ba850f6ad01b71e54c02e03fafb49875cf8b42d0bf3189ad5408a8e13ba89b777c3197a1a35f9536230edce035877bba4bd0fba1c2dff9fa3d5c934ca9506fd962b9c807645572e1acdf22a94032c2a2c0b13ee00815e19b39125c4fcbca080b7a8f647d16a330f53326618eac603d49e277c475919515b7832ec1a5754405e6993da82be09177396b068ffac5ec10219ffff032114c6c9bd157397549ccf4090817f088256d3792ca8c5f51f6cb8fddc7d0ebb03193570e56b635fe7169113f44a372816bb5f30521f617219e2e118a150cd342d033f692559909c8c664232470b20c7024630e9c806258ad5f26921a0352f5949bb034ce564039196267705838b88f16dd7db04e8f6f1a4e0a3c8021953dd258bc1da039c997ecf39aaabb07b86c7831b1f991a03ff247989fbe7773edb652a2f9115c0038c267a771ce2a38d21dd8e12142c3d9cfb5250f524d8ac38d23b393eabcb16bc03e6e7bd8ac777fbc8a38bc33936f9ad1f349c9198ea7d16f1a3c3af020d287e8f0219ffff03fdc1eeabded13bc191b60ecef82853cff9f6972a5e96e4ba2cc746215e4883b903f1db23ed2b8bb0a7375d610a8f67f35e64232a6fef4c5a687b458f0aedf347fe03c496a81de52413b66c918c322a79035047549f2b4c977c7777df2045db2624c30313392e8c19740541cf10cd4aa683770bb4d84826d1b75bc1d76d38a08f54e9ce037cc913a90f92261927aa75033dd7da9f83ec3de36662064d74e0decd7defd7a803a02ac91f6d950b2ad52169d076d64058d4cc1c2861387a0d357e74f17d9bc3b10219ffff037badf67dfcf047398ada1ae607d98221c6396ac2b9eb50c91ff853c89ea58883038f30dde2680f7912b2ec306f71dc4b2cc03fdc3e36acf9f23a751e6d5ba6b20503d369916bce65497524c9393efe7139c05ce0da7ad7d2f251b821be8a52dd5391033fe36b3264af97844884ab34203ef86d0663ff766c02a5b682e835e614d27f020330d79d75282d7af46fa203e9c0f6e99089e8674f8171a7fbfc4562e98ebad351035157661d8eac0b2bef49c3bac1b4da1f6fc7c88932c66da3ffc5a6ec22882e9403219183bfbabe4611010497f59f2014902ecc11f601aae0ced8d5c1a3bf2e2cbc03d28a884ec1ea841f1d3a5e0e790c1f50a9f531cb6cabdee6d2d2df93ddde7a0803dc8a8dc7c383d4df72d2d8e58007aef9039bae66ff275f466be5eb30466694d0030d2b59db118e6f5270059071707e5dc2558edce3d58b7d87f2449f1925c4473f0321338d4ea59eefe0515680d9348d9736e8bf7b22057fce033bcde434b5b1f5e20347c6f4a85e80505ecbfdada62379b1ce4acfb460ef88b17eb9f47a5234457f3303febff59881cca549855e80f3ddd856335c8ce8d3bddfa5a9227dca01a807b11803e29a51791bb2a221fd568cebb821cff84ca0c6148637ecf830723b7246c5fc8703e819690ec1359d06cc1c157d7c8772be0d952b669de0c79c4ac852ada46e81dd03f93aaf555174b4d5cdc13117e1f2d089e0abe2afb3cb970adcd077fbe0224b5703b2300fb4d3d765ac162fdaea5f0cc91bfd567ec2c10fc82e79af23597dca97c103160778c830579bab7fc8d4bbba4cdd50c60f209cacd1cdc6205c533ac697baa3034939e6aefa385ba88b56d5c36194804f173db6a03674c8162ad56d5dbbf1af3b030d4afeea513d0d7d24df7379fb055ccc98bdf7b7ebd7335dba9fdb5db5510bdd03f44d261e5cdd356380e504623f1cbf25f791a89bbcddcf5ce005e73032bdde5d035e1a01d9b32d64c031b70ba87089770316608667661ea28bf71a60b653b2e1c00358ba1fb7c5b21603ba89d63ed62cc0cda9be646ef23c4a8e952dbbebe36d0e2403262f2383d66e633866e14d046bca03e11280a8d7bd8080b4f634ee8c079a9f6b03607d20430959bd8fafbff8ecae7cfac472183edb7bbedd041ac0dfe278acbb8e0376158c6fcc14c0ef805de4e702a07d5e2999530ee81e0deb55ee3be896d6e4c603921575f2f218adbe80051e09838af5e072e9b2b35068eeb1e28fca1eecb8523f035d01eccab9487b8ea2bbaf039a82879912ba9dcf0ae9117a6405b1fbc6c8c44103dba0f3df19d3b5e7465e8009c4d5e4d47ca02978f0c2f2acf4139a7ca317124a03a2d4fe532fa189c17d63b78c2859cc38768c4af0cdfb50aff713131bbf6e9e780316c16e20447779fcfe412c86cb17832ef2cc5c7a13c729131f0bede622c7ad6303a4e40bea57667b164b54d84933724a70b6fb77ccf85839697c863fb69e4b4499033940459cf6ba17db70c658629a22fd21c38c4a960dc03c8f4df82725d32aff90037ec5d81e726607555ac5b7bb43c6f8b5a63b0297e9b252e21702feac3874facb03401cdaa9bfff8bdf08d7605a2e62c4d0523109220c97551bb452ce72dc483f610319cb256b548e85aee49f6916ba9d55650ace97edcd89a9d2b502d6f192849d2a0366317df12f5fca26302d061e0f7833894ae27df094720cb6090b040445b8bffb01410105581e03038326039c548e04caa56e17b61b27a45037e350cd0c1fde29edf727000c181946098cb8c5280005581e03741ab9005c8384d11b26a7e2dccf84b3bac9f8d7d85c58bfcf75bd7d60040105581e03ee38ded3cf07c6762a3d35e49c4e40f74af7b496c3b3852793e79de0800c182a4713e5f408ce0a0003554d216f8b93bbe77193329b74d99090267c2445cce9d3a031d9fe1b7c2332b203b46a41ef2139fa16f6603b9503dfef7da44505a36f8520e2e11d6488e9fd3573014100037c16e1904c82a0d9acd3670213ae531ba442307f69471632454d82ac3700926c05581e03061e8387724023eab7eec8b30b11e9564add8ed4b0cc633906f55ee8e004010399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908030703d084575c725c4e54ebd4ef103280a71f21f121cc6e1160fd51eea4c9a98905581e03ef975622abbd2e42a47eed5c26b1db7afd7a5708a3d8e3fea69e85e17007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e037d63f33a9eba8a15394aee37da56e03bc2defd4b93b3740ca760c9648007011bffffffffffffffff04590aa1608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a611610097578063a9059cbb11610066578063a9059cbb146101f1578063dd62ed3e14610204578063f2fde38b1461023d578063ffa1ad741461025057600080fd5b8063715018a6146101b15780638da5cb5b146101bb57806395d89b41146101d6578063a457c2d7146101de57600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce56714610160578063395093511461017557806370a082311461018857600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b610102610258565b60405161010f9190610946565b60405180910390f35b61012b61012636600461091d565b6102ea565b604051901515815260200161010f565b6006545b60405190815260200161010f565b61012b61015b3660046108e2565b610300565b60055460405160ff909116815260200161010f565b61012b61018336600461091d565b610369565b61013f610196366004610896565b6001600160a01b031660009081526001602052604090205490565b6101b961039f565b005b6000546040516001600160a01b03909116815260200161010f565b61010261040a565b61012b6101ec36600461091d565b610419565b61012b6101ff36600461091d565b610468565b61013f6102123660046108b0565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6101b961024b366004610896565b610475565b61013f600181565b606060038054610267906109bd565b80601f0160208091040260200160405190810160405280929190818152602001828054610293906109bd565b80156102e05780601f106102b5576101008083540402835291602001916102e0565b820191906000526020600020905b8154815290600101906020018083116102c357829003601f168201915b5050505050905090565b60006102f7338484610553565b50600192915050565b600061030d848484610678565b61035f843361035a85604051806060016040528060288152602001610a1f602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906107fe565b610553565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916102f791859061035a9086610540565b6000546001600160a01b031633146103fe5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b610408600061082a565b565b606060048054610267906109bd565b60006102f7338461035a85604051806060016040528060258152602001610a47602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906107fe565b60006102f7338484610678565b6000546001600160a01b031633146104cf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f5565b6001600160a01b0381166105345760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103f5565b61053d8161082a565b50565b600061054c8284610999565b9392505050565b6001600160a01b0383166105b55760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f5565b6001600160a01b0382166106165760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f5565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166106dc5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f5565b6001600160a01b03821661073e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f5565b61077b816040518060600160405280602681526020016109f9602691396001600160a01b03861660009081526001602052604090205491906107fe565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546107aa9082610540565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061066b9085815260200190565b600081848411156108225760405162461bcd60e51b81526004016103f59190610946565b505050900390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461089157600080fd5b919050565b6000602082840312156108a7578081fd5b61054c8261087a565b600080604083850312156108c2578081fd5b6108cb8361087a565b91506108d96020840161087a565b90509250929050565b6000806000606084860312156108f6578081fd5b6108ff8461087a565b925061090d6020850161087a565b9150604084013590509250925092565b6000806040838503121561092f578182fd5b6109388361087a565b946020939093013593505050565b6000602080835283518082850152825b8181101561097257858101830151858201604001528201610956565b818111156109835783604083870101525b50601f01601f1916929092016040019392505050565b600082198211156109b857634e487b7160e01b81526011600452602481fd5b500190565b600181811c908216806109d157607f821691505b602082108114156109f257634e487b7160e01b600052602260045260246000fd5b5091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e8547693d17d027b6f4decf06d2709720e0dbce30f7755fbc6f4b3f076086c4d64736f6c634300080400330355184a2651be45e073153a18399b55ff30911e6fc92378834a6e081fa9a9c7f703bc3364d298ab2c72913e49acaeb2afacf645dc7d018295ff163a5b18da5cacd503253d1784727c410266c4a6558c8d31c3beba0e4af8cbb3e24ebcbbe92012fd2203c6a7cf8289558857d59c2ba9f11443abf690be7384d93595e588e0fbfeca5b200305f12a13da6a0d96e77b055f99dd5a4a808af400fe0e4103fd7358411a8e430d03c46cb56f6de5b5908bed7d2b91797ca7d894e9b69685cc923dac9b2a2b96e1e803b5761f8c755fe2336c64d4fa08553afe7f06c9938af9e788837a0694c6f571bc036f7c5279dcd175b79de3c7110f80320379a208f83b6e5e227444fdc031962bfb03e5410a160338281d87e7890d7ff956c233e53889ab187732f7cc734aaa76c6200381bd175aa7ee2eada42f1293cf935522f9d5021e71310a10711a92a2955bc19c039771e9842a1a9059677ae0d4cb50238abbef7d52553ceb4b8db7dc3979d2725a0317efdeb8349bde4041a219c3bd2facfcc2140367ae52820084b2dd7cf53c618400582003cbd30063878f0ff91bbbb907afde612000948de5d770db0c4a10fbb32d35004a020bcbf2bd61eceaa247005820030f7218c557a92de8a33b46ea092486b2978bdbc356248f231f707996980ac05820ffffffffffffffffffffffffffffffffffffffffffffbe2c30d6c8f42771ceb300581f02e6eda2d6ebfd72334eca07d5ea52de17a586fc44c923959e9a407f9360334b0113bbfa8b56505656c99f00581f028a5285c4a99fcc53ec1bc798ca6dbee7b4f2cfdb9da940876830f07b497a4b4e9cc15426fa7804c74e990219800100582003f7368383f232d381d5e587a7d1e51d87ba300d711f394b3552b9c6ee20624045174876e8000058200316cd7d5410c0f01441ebed80239eb6b8fb56d1d2f0e427dde03280b374ce504a026c97579b47afd9590300582003571c78b659c5c28f832e68a7b5244f3da45e88a4797be218ec4322c75179b05820ffffffffffffffffffffffffffffffffffffffffffff3ebc8b9faffcf12f4be403e3009d79e9c9ba45b141d5c4dc72a8d19da3043412a2e0667eaa49aa841b03de00582003d7df6bb7c22fbc9822c2f1df0fa809999d8105e71d05c930d6b46a672e055045174876e8000058200316587e9094c83628370d790387cd50f876f7e68a7d6796032156761d49ca5045174876e8000219c5f403ef29cadc164c44058e561dbaf435186f2de7c2970e904fab2be039d02aafe536034f46a74fe8ad6ba472a8a0bdb8ce58ec9224e5b0e46b87cc6b7f9a26f6b65c89036aff4a47d23c5f703ecaa810fe244cb835687fc8d2418412af46be2d903521c503aa58240018d33bc7e1870c9938d88e6a8e775963775df5ecc757ac95d8df8b6903112222c935ffb5ee7870945f2a480f7ee17ff94fa8ba6ba33c6ee263f7f1139a0219ffff03b48a404e6aa75af2e3ea3405773fc473b876ed9946bae395c3666d38045faeb103ce322bdb1bce55984b610d1605c1ac4a2480a4ef599e8aecea82c05c15e9a4500349af2611d3e5f8fac55df3079bc9c8063c615753746ca07cc9957b1f72d4236503ab35ef9a400708aa5fb9f685ea4bb7685b81a58e5c9a81d25d9e678eee1ddbea03ec7cfdfd41b876f4b25e600ab2a954b0f76bf306205f5e0273f9a3fdb59b5d840301eb7df37e7388cf3c37d0b18f52c72bfb51c42083a627cecba499974882cbf103cd4019e8ffeeb10aeb6dad67e2afd6a95b28258976d87cecd95248825841678403672d03093d58a3ea1d6d3091374978f780a421a09361333f293e0f466faeb023037b8bff10b43e28d2ce913ec36abf04f62da2d991cfbdc2275f4754f32b5c8bb703bf7e4a174baa29b75f77dc10dca91b6261177c846f38ecf8de59791a4cba6ea3039b54449d6a656fcbbc54cf542b63e6962bdaf71f5140def3a7e98977c8d12027037f219a374606c1dbe20f03594e014e983fae207fb76bc82fa28ef1ecbfcfb95703ffb54e960b4b529f53ca1d34fb02bbb97f110194f896709e19efad0e533b512c0058200394eed1574f51b2f42a343f1a5a8ebf191e6c7a9b05892fdcc6638ddcb5c0604a08d85e57927767fc2408005820030c27c6f9b265f1064674117bf2a511ffc5f0d0cebdc7eaea8c8449cd0acff05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b68a435e01a56369053f430d3bedaaec77ac714f2ab828a910c08c60b96bf05820fffffffffffffffffffffffffffffffffffffffffffff2b9404816ecc92ec938005820032a2abd35ac6d515630c0dd224858510fed3fa2a6ceeeffdf53215d3ae73df04a437dd96049e8ebc775d000582003483964c00da5644ad31866c3d0ec4ba5b0415dae02fefd869d6f7afb99c1e04b0347299f940018dba2262a00582003e53b18229bfc776f2934460f274c4c5c412e1ffac425bcd2aa079e867dc8f045174876e800030455de4ee34748117123340e40dc899fa58d128369205ea93a80a23accc120a600582003c82c0cd5f2b7174756a86c65e03f83da3fcf1ca3dc2483e4d381557443d3f045174876e80000582003d317b0d8ff6f002d824c53d19dbb826bc7a538cac18f0e9ce01428796488c045174876e8000219b81f03b7f42dc3e280275d961b0c0d34cb2335051f0b7c3401c0f1dd58801aca7b4cd503b77b7bc5de233235b150bde935cad343962138751f976bf413ed4d30a0e9c7e103f6365886e7665e2a2ea5784370aa29d3fb535dc0a67dc75640e92d64a112abfd0305fc4a425921fc7793a84cb3d999ba67b1c4d1052b9b9f3c00b1d703a652302a0219ffff005820020c7858383eab3828a551c8c0e8a12d906d65a7796c903cc44217d3ea3e7bb54a37045236beda2092c881030feb5b550e8ddf4b38bcb244dea70c27bf84eda5ab69297037bad989e47fb449034359fb200c68f3bd2869705a69a70ea8658ac0d8f706ba518e8678cdda2b8e7a03fc6614aa2e3c421277835422d0ef38c0355fbb632205ec2e2d76d70ca2c814fc0058200379d1b9389a929b21a075a28d43037b1ff61b69dd8eaa0939cbd161b18ffd7045174876e80000582003b870637cc37930dae0b529c47a48e6e369af6fba593f8053feb2e4b6a4cee04a0a4749328f75695fe0650058200362fd0f8524a917894ba8ea9e8f3e9ec50110db018d1da8766cf55a09e39cc045174876e80003f01d58b74e1f02eea31bd2f62c01705be31a5d59975e9a7ef5ec4fd30f840277005820032d208f6e3b9a001080939466f0ba652adbe59a24ac6521580e650c19b87dd048030a00000000000000582003556a0a82deabf257296ef00e6371ec9250cf758deab5f0745dc975f48d03004a8fe068d546cd14a5795c00582003fe2fb064d2256ca99e7f0c2c3fca35dbfc0c5750b008fdd8fbb337c71d77b04b299a584bd8a4548c64510d02191ac603a56de90ef48b5c8895360e63dab1d254fcd76540ba7408a48e86cb33858b1a5d03e8e5c17f95c41708604d8a95f6979e5dee773563fb6a59bb74b5f6d26b978c63035686d3d8849b27dee27e585026ab22b39d3e66c0e77dc8cc1b1ca6738966f1a303cf9940d8ba1138aca4649f422b096991215460099caac084379562fb1ec238a703ca99d5da7a7dd527978f48d39f8da43a8bec54c70e282e81eda82543015b2e7103dba311f6528d69704b4affa32a7ef235f8d2a506d60a5a97caf88f63e293a90803e6ff3fde099037b6e3c59a8fd4dd8deb1defb6df4281c5deb536e4b45ab6774303eedf4e7e0df50e7cda3def910f9e45d18c8969dc184689c5b7c6269a84a356a70387b866be5d67add4398d06859a8f02a14f62594302f0fb7ce35927f25614ea31033a97d17dc5837c127d74c785d4a05addf97d6d906b437766fa9a48b93a1eaf4003cb8fbbc10c1588e351b51e42b93221119c625207c31afbe3a3548bd0d760f0d10219ffff035d97f2dac6a7725c74ad31e396aa28df78169fad7a397c2201266a7c62d4ab3e0384e755172ca49c740880a5b9593c3bbdb40d242cbb818430ed26933f14060956039b42b4ebe792d6e2baef6ddbeec5e0a2a026d4fd4d84d785c562a86e639e3f2603e72e38653ed488efb721efb3edf9d0be577b3c637150cda9e4876a70ffc7d7ea03f662a3699f51bda086136c1becfa23ee221d216c164a36d503f7890d59a10429035c20901dcede4b725f39bcf16b7bd2fed77776321cefad6d4d9bae97a01a119703bb1dcac35cb13fa750b375c048c2e10bbf482972de42dca312f85d09b21c295700581f02a42bfea8930c3415d9ced90916b4c7b1f54dbc72a151c599a8b52dd5046a44036bba8900581f023328a83c1dac8ebee05296f94fbd443f37b3869f916248c9f6a6050922994a1817675b36eeda8a675002191040032bc60616dd94454ea8b308090a40ad889d7148d44108151e6ae9456ad6fb6883005820034ecccf6a1c12029ce0969ba2eb16c06abc9786dbf530cef42f6dd2521cd5b05820fffffffffffffffffffffffffffffffffffffffffffea803acd6b29a1505037200582003d317d277c37f9e7d51442afb6d49070e16888b4340b6e13407c10c42fb13c045174876e8000219041503eedc7292e90cfd4ec2dda26fe0ce5f7d12d647995e5ce03cb773c647f5d3782603f7b2168f74c7a7729609a380de7a6889d7fc43375502301d03310620ed2d1e2303411419e6f3041516f1a844f60a8930fbcb2e7dc4e8bfae16591b6f481218426b0352c04433ee456f74fa9f7c1e5894acc8df25aad192ea0eb95ab8ca4caa489f4203c7bde197bda36c1940764b85b264463d36040b59b37c1f9c2f05ec516a707244037bca039e0a83162f6eb2d65acbec1dbd5bf793cecbc1522179331d88d15de3eb0367a6a7755035e49042309a6a81746162b4e7d6abf5be6d4c2070d08983740da9038bbe5bc86456dca315247422aca051ec16eee941b0fb3e622320fb3eba168d6d03315094aa69b881840ffb1ac58e837a5c82425e8cd0ca06cabad0e644b70474ab03897b3f63024c49827eea92c5ded2dd1c3899e13cb0bf160b444a4d83e63226b9033c72253ef1a9131e0ee9d72672406a4b8ff789a297d4f4d11739358f02afd026038e18fe92d8666a257eeae64531a4288a2afe84f1ad7cad40043ca1b9484afc920310dd19a1e8d1686353572d6a65cd3c72c23e16971f66d03db72b144254c15aba030769b1c37d7b135b9786e6f0c98f9a7ea5e22e6ace002faa4ae5141929f060fc0365714bfd9837ccd17400af6247ae64342df65dcf2770e71a2365f305b6ffec390219ffff039dc526b89ac71c337b3a8c470f4bf411ba555e63fe488a4f7eb527f55f21ac9f0219ffff05581e0384b50576bc769d8b5cb131582e830c5015757c18bd16122e9e8e266b000701190aa10219b7e303c3d1562158142caf9ab37fc1f401fbb444a13ba448ec59fe13694ab578622c6703f89590b34a2bbc5f5843ce67babe80fdee1d895bdbc472d113349578e2e776ec038327ed68740ceb2ff99b0a2815c8f603954f62ea5b1977c5f4254962262662bc03216d57d5a12d1caf2ec527d621c5b32e2fb9108fa76fbc923c35fd167d26dcb80219ffff03f25f5c4294379e2e7c36752bcb05fbba5644380baf4fbb08d4cbfdca76105c680219ffff030c74d1118f8abc9d62649866e64159fea8af61e6917e8bf4810a063a94465de9039b83bb417f05b8eb913c85b5e72813641b01725b35becfb2e1e1c89069e2bc8103d11405fc564e1fba8f5c1e94ccaee8e7c7d6ab820c53c51034eb1f877e859952032dea8714bba4a1b5de5b7a388e7ad5d8bdc7753ef811f26cacc8c215816a2e6703d9ce49df264d0819deafc73bcd198eeea075b4e1b35082ac1d215a46801c652f0397ed32755248012a8d34b9200fa6bf7a2214919e6e3e09339d6e281b1914e9e803966a8689ea3f43b9266650e3f9eda52a01c1349f1c7b91dd980009e9a5c8d0220341e8508666b8c60158fdfff832f67bc2b633895ef484dde7a1ecf112da13300203e1656e5957ad5b23d20abfcbc9cff672e66e0e21570c6eac4af6ae1943a20b360399b6c1a37d623af6a192ea5b947e148207faab937d5a4fddbf93fd59b26447f103975419940e3c58726ab0ef1f54434fd6d27dd5bc5e9782993bffbaefe823cb560219ffff035f437ad6f246341a4d239cfd15eb9348324661ca31f474700667b67946331f630359fd7c6dc04729900db272795a617fb0c55fb335f869075fc5dc6f979769505403c2253ba6cc8346da45653db7bdc845d5b1e6c319dd98313ad821ef41325de518038773f3f9b287ee89d5c794cc98bbefc40a35d685e7cc5b5ba2c7837dca497f25038943f743741ed06bf6b4b57b66377f0a14584a0e716d9b44691814731c3dd8b103bb7bc90bd5dfc0e50d184e188010f3db41c5223960145acbaf44fcae85ec635503e51eeb0998966d846d754a1d4238a8f3ff189eb9aca58854644809942660e35f030343f870610b49b37bf1cbecfe33a057e6279997f15803c00212cd5bf07a60270219ffff03024abaa7690380ad8ba9ea342b4805cae121096fe883b7d80891a521431d738f03a00f798b126eec99dd405fbcb1d109cb2425bfa3276b9c3a40ec0a4750b9ca970312c4ad47564c3258c0f1cccaf61130b8abde3ce377bc288e4095fc1aaa8f09df033be481b3c601e9f5e6af3fcf08859f9692cf827ef81acfb4b662d191d3127ddc0327778d326298ba9403b80685e281fcd15352e83befc5c792d5bf59b27651124503182fd7a6709098bf0aca1907eb472e1ccddfe8559fd1f6312401f5ffec09b814036daa765a84a7efb3ca4826d72cd5db0519db4140c3a8708910f1df09d1fb5f43039f225cc61692a87d1f260de4d27eb52004f54f073660d4185aa5af59775bca110338f228199652b479898dbdd4d38fa9897687a8806ab5b04d59d0ab1ab0740fc403cbd4f70793c70df4662356b17a8722b6900a14b2612cdf02782ffe5867da9a320300d2fbfd9e5ff35719e62cc826bb132264ee29d4063aaa91b8d5a3ac30acf4160314f333012fbd268ea0133c1f74ce8c7c4dfd8e2cfc183ef6206a232ee6fcbbdf0348415628675bf8211bfc63159aebe4ea67de093f300176e2be18bc35a0a8b3e5039ffe754bce8011e90a42d380d220c34b986f65ea77705f7e36c80641a68e28350384199b85f616023de31a0854bcb9b5db60d14f17f5305a70e69a773a8d528c5003865f8c9662e9a1d0cf867a5d230dfc99dedf5837b7cdda4870636f30a641fb57034206eaf01e99acb33cb8b355eb2d75179b5d5d3fe825f965d5dea6bb7df03c990367cc4caa1d62772be8bf5c01d9930c6de61df2bf1f7f91b9dd720b090a38a24c03fd4b8f047eea453f4ab44c9bb7fd7c8ea764baf3e56a6f7965685dc57e488a1f03f87eb87c7b38a781f52c92bf473d0526e1f9a455470d90a2b4921d70667b18ef03bf9b70a78746d5e3a830dfc2b70925f7d366ec5c4472e70cf1d08fff1b7aaa6903d9943697315f7b6a85972c0a1deb43c52820ee4114fdee06fd72148e260963ff03790fa6d01bb2054969c82878c8f91136e2055a19c8a4d80e05a71673ead9f14705581e03e8df9b997abaf83ac78f8739f3b8a90f9c6b0f709f7cae476efe037be0040105581e03b9dee6cb70eb347264d9914f80f80df85df12a674887d3af5a60989ed00847236cbe5a55520005581e03f58ec03d6fded4d531a26e537f72bc91b1a17650a4ba0fc1725f4ceae00c02473823ad2d577c6405581d02aa0befc4932f47091fca9fea8f7694eeb3e854ecfbefad138fb49daa040105581d02226bfa0af8f9e841fcf6dcc82af04afef4ad61e76b68667d0f350a700c084884c80c150936ac990219810005581e038d4dd60b2b9400de5ad55eed3f855f97cd912a752f286e4dcab81180d0040105581e035c84c04f3312ff5a34776ef100101b2c91aa0c82b8a764fac042f455600c024502540be40005581e03395daebe0aff94f500e38979f6526d7ccd4ac49a163b5273e0ed2b3120040405581e03175f0d9f8b99d73fbbdb216882ee7a1421f082ea80788d181b0b1430b00c0147018bdf7eeade0003e0c901bfe0c198845b4559525cf953d20f717a5f9a46cf33e4374aa6467131000219c8b7038b02e5ec02b1b71ef0ca79ad1591c0307ce003a0a7ee5804e48ab2d02b2c223203903bb7c336520b89b3904ea9b420d1e8c494b5e7530e7089bc8371c815a52e250219ffff0318cb4a00163a76f1ed7ba9e002fbdf3592e86a16d398feede4363a60cb7cbaca036d51e83c477b3b4553fcf98c3686ef9a53fc74b34e7f301a573f8ef88214912303da4ef851c3c6a5322cc111e6ad7187c0813f3ccd8b961e6ffcb25fcbdd9cc0e803a14848f51453cbddc709e81650c66dd63543c267a7a381ce24f4abf6326bf10d039c0a202d4c51a826b1e1d4f0373a297dcf1caf623cba604291f727f2ec2c6e02039787a7e439278a21a8427f1b8e87af7825a7484f939fe791a8cbac84107db5630370eaf08b2ee9397f9e4cb464a12f12ba398b3ac7d031b84b38e53505059ce2cb03751a5fb256f0de0500447549fa90f9ed31618121d046fb30bc3b3e5536b8e7ae03fcc5b062a9eb3eb45d3287a74c842ca60e4f30dd23aefa0a2bef9c75a49d6d0c03fe5e3ac439a2bef65ef917fe6319a90aa91dfaf9d17f07a082546ff4450c311503fd9588de3c97e427d6aedbb29334c81cb1531ff4721d6e375f11138915a3b39903d01b5871dc4f19777231e3cdbebbe71fcd6ecfb3033bc82eab30303ecb4d885a037e994b4ed407b132c6ad278797c3577f3f2b533a5f68e53dd9c1e3fd4693f091034f7fece7ca2efdaec177bc35675501a30d9a61977716a8df154bf32756d05fa503ff3829c6745851fc3b52c018715c42b55c85ad5aa8b061a4c075418a50243c8b0219ffff0341b2816af5b7999215c4c7d6c8e68eac3c989a3e573bb0a87d5f64085f6ac2db03d4bf321dd327343a205d82ff31c0279b37440c252dd538dbdb4e4df2e8e45dbc03d24cf34952a719af6d6ed1744ddf4dc8f3dc213c8b8322bb3ccab9a01226130e03133c95fe2b99f975ce4124c89e06ea6ad9b6fb1620d51afc7a83f65d6bf2b13003667fd18b283b30cfc1150973efdc1f192aa6d2cf3f41b5a7e0b597ac0f2040d6034caa78aacc3acc2293d17f765f86d607f148be7846da5ae1cedc6169d89092bd03d2db0b72aef8739de2a5d34a61217013c763a717ac01ccb27e6e6bc8603f2cbb0353333d005d6f31c061bcf4be0d9a7a3e86718c6face6d3a5ed8c973649b37d1403af9aca341570965275c59666dffb056bd22c84364dc4deba8d835673d72b5bd803cb13b243254fe5b7788e9d2b3bde82ab951561a8231ae84751af4a4fe947c9d70219ffff03017fa69c84196605a0e0367bd38e2954fd67a545a45ab2d157611cc755e8f2020355bb3de23a79ac36706124d65562572b81df0a6ec535bd784a45d2fef18f75f003f2e503e663b41c38636ebdc1a9b23c80196a72df2f2e720f4c770dd58096696303bb907620966be0ca6a49262ca55d7075cf932d583785d0e2ab96263d59a00e0c037970a473789d09879227333012874fe74fae3f42024a348566dc5618592a4faa031cd40a87f5ddd6e8e0588a57d054df5bf2c4fad9e252edb80ba837371e3974b603979476f567f484c0067173d5e7e4ee74f57d0fc7cf894cea27a0df3a77728b4203f15e7bc2c8f0533c355113e5240432f51a75880a521d6294c80a300ce76e333e03d87f22f106003e4c269240b29cefa5fa1e74e73f3f5de1ee68c612723c8b89b20350f47cd29f01985d5174434a4310f3dc15d62a09ba6000c5a0247c7e9a102a4003b4f1b46f7db72bef6736fe541487a4b442937805d2d7aca6af26ed6a61900a8903b17c049a022e20f1e1636b0e199706f8f0419256ab8725536f782748cab8950d0361b6c9253f369ed1a1df1c14427cad14070ba63dcccde8e72c3958ebe927337a03166fbb5928584ae991c9397b732ed1cbc4faa3dab7f9da4743729822c5e1857f0316e6db400e36be6244bd9b3565bd0b067caac4daa5354c322d674af82bb26fa3038360c344fab2ba1f8f53393a89e336bd9f811df0b2b06da8593706a586b9641e03a4266ab3bb183c704fc1be456574d04dc8a4d5cda51c35a919090ba117e9f24103e9ab5f3a3f9ec42e7d5b96d2ee1060079281095c7e199861a2d1294b6ece0f5e03d20251383e6bd23f1159b163113d584258cee9b7b6618dc2398fd73a2850ce0c03bc25aa146633ce7f8e2fd4ce4e4297bb44b69b6a920192400d4aeb2e58ed6d5f03c571b2d2dc9d487403a460f81d7c209814b248bd690ea39d1b4085b5a43c6e7603869b7111e77935a845391f6270b09fb0342dc8253c46fbf18e9d2321e3fd15fb03ab00cb6144703c9f61fee58f17affda35ec510d8612814eebe7d201098c5c5ba031f06d35b4b8dd6382923b7cc52cefd72602a6c99bc9636beb92b1822114194ed03779de3583c344cf6faac70b6d0ea5765bcde088af6febb3ce1b7a72fe9da154a05581e033a50f0337aa02fa5737f669985440f16c6d04635eeb23a77d7626741600c034623eddb7f478805581e03a8ef21598b10805929664c36283e2f8ea14ed3392fe147445328b860a00c04473d5dfcfca647e303562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03c847443384ff3c31e74d4b66b56b6185ced2f63b3bd5dee7f7caa623c007011bffffffffffffffff05581e035b83c389c207de5f926e8e8c94490e50f887bcf91b6972533865f763800402037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03e8c558272a4f8f28bf00076b1db49b5b1a9357822e44a6f72c37451e4007011bffffffffffffffff03c0fb6e9d416049036dd1286e7a3e4be045393d6cc2890fa98bfb4e7c4faeba9405581e039ff716f848805f865666ffe8da0c39db2de54d7db74e8683056d9dee400c034638ddaab1f06003c1961887d75869e4bf4cf6a7f0ac20c577264d3baefcf17446850ea243f3f6db0318fe0cfee357ecc4c95458165096de68ab8e583b74601de848fd9e38081579d805581e03b6193595fb295e3797d63b0e3e515c8158d9b3bdcdc4fdaa79e6de14c008470319b162036b520219da7d03e064fe0182bee962fab0bd2c01ab716550361baebf52de4e477e60a0ae4b035c035e94c207c302d5d3c45358755c545b2ab9874a4c019f3acbd4b16eef6ae0020f036ceb95961e470e45f06cb4f437af07c48746c31da3ec7e10439a12a9e726e323031e7c2d9a89148e5ec558d887fd826bd77e92fc011b82e402882d58cf5ca67b52038f2f15b3371217ea6110569fdcbf3e344b15dd863b982d912bd97ef8a0c46f8d03dc9c278a9d24ffd5e6dc73dd44f86cb46d6fc95ac09b8bdc6e2a29e9862542660219ffff03e058427d524e0784d535efc3a09cbf047b58cd0759b5712e318a5538262180eb0318ac0b709185cac46558181b2812863eb09bbb48bfd44a530b31a60092239911034ace72ab484453e7c4334fd940d01847b55d6ee2852fe4d394855d942937713203941f88a142b5d57151052fa0398a5a71cfc14e746fdd33875552ea98613fa74403934e8f292a47d1c287ae6debfdddb1cc68f6ec662169160902b79cc80f4876fd03dd8837bd013e19b2f3dc14b05a09d76429ebb7d7a44dc33bf84768c8f77827bd03ce4d18fd9482504337df5133d317ce01f8240c39a702d54bd44b1f41b5b2f684035f53fe97f4551bb6ee4f131975fe965f01d1892c790e8c29dc5d28705050051b0398e83e5759c5037495f940f4875caa139abebcf9fc89fb1369c0acd809369221032f779491dde3b2b78a4795c4907aeda99cec99b0880fc2f33309ad1cc36d58aa035a8d08f18ca4f43d84aeb5f623e71c3422252c62dfb30f9ece16ecd644a0a19f035b99fc6443aaa24f6d51ee2364b5369d6a4f55e132d2d9945536c2441a97a5f703648075a472fb4f44cd5e68e9b0ec1e7662d8234b539e71a6814c4020e03fdc370219ffff0393da93b8e28b5f5b7db2d203672fe920bce94ecdf7db0bc655bf607e0e61e4aa0308470593ac8309c6120a6d5f91c6e08eab85546ac26e01f83b3927bbdf2c05bb0315339ac0ae5c6437725a78336dcd5961c85755b911f18f2acda44f6784241447039b6d097bfa985e608c8dd78574e7acac19997c8f9d8bf8befde951a078f90ccf03264f41d0b2eadcbf6e7884e9902464334b6eb68765785043eaf52172a8a1748a0344b390090af32b11bd2f899c93980cf1377fd84981f215da4df1754c367508c2038a6c5da8ee9ede68a092676698eb9ab18f86a35c913724da24cbad08211c40a90381e6167d54e64a69d808d4145044e413b814b86b8fab511a3aed1e6f0e259247036b77034eece4f055752162a24ee5f6bc3d35303684adf70fc4958cd4c75b6f100357e8ba94b24a98602464452c3ef8db816669979ec573bbec7b2bb695b4cdb04903f8c459903e83302956a46d9f8e7403187c4085bbf027157b28b1deccc054b93a0219ffff0219ffff03a234c81b5a0c8964ce73e6658da4fa6e2bf7f69fd6340aceff470e64fbb48341031faa865bc5be4f0ca032f738d9f2897e1ed64acaf1a1585b09669fbfc6adac7c0383586236923cbbc9600965f8987365397b584d020e94e7c00efe69f9091e59e0030fe095fbbd7e40e93a828296d0def201ec5138defd32d969cb3c75c0409b3971039f55f73819022ae5727c714989cd07bc5f5924c67f27e71baeefa79c267887ed03374d291574cce1db89aefa75d31dad29e80a7ebc08876879d33855e439168fb803541bbcb3abd3bf97e3955d8645aba6d31a2064dcb3a7db5da4ab718d8f770b1903e874dec45d027dd36a18ec444faf313fd696bd4a4aa9f47220748f4edb0215a8038e84286afa2e38c49bdbac22be2accf72fa50b933f6d4e27f9a88535f8c2510e03a3640a7e0911f037d23855df712d5cffc1ef17d8bb20aea3e87da1cbe4831d21034cb89d77ba1b856cb55b311d2f581d63396d0c4ebf7f7a154771593ded450bf103b5de8c553b260e05f6a4b443b5190274b3d6f367fd24df3425238983ebe4e15f0358b6880e337cbc3bf56598efb8cf4fdfce52d287db8a3a8c90207f3706b9824e03ee71ffd290c7fa433d763d14748eaf5df3fef9743d2886157c689926e45b505703fee1c87ac0ec2ea48e872beca489093efc4793c1d4e452d4088028fcfcfe9e6c035f96663932f86461a8b70e801ff9251c3299aad9983cc017b0a5cef6ef1b4651033985f2f5275c8323abcaf795492686ed760c80799284cc9c000e42f28c3e790803a5137f909fa792aa1b47717584e107167e8434791b9b001fad1c62c42a6f746003539b7f399045a66c9ef1b993d857c7e180fceea6ab6a61fe9d32062f85d57a5b030322cd497238c3cf4bf550090d7610fcf5ec832f58b33d4579e2977bdf154085039647082b782b564d75ceb19873d7d2dde4e6bab85561291c8468ebb34070dc9b036e4a0a4eca9a7b282995a9376674835466152526d7efacdf0b361665f49a435003ce1f3f796c021949671febf6c7d587fbaab22cc3728cb7c852ceee5d66fa77690388c478b17956fdf8c74b99f0be394b2bf06324ee56825e88b4e32189d189bc2505581e03ad2fa64a66f6d9dc2b7986b42ce8e52b6edd0543b19df86c8329fcf7a0040205581e03c359aa2ebd1aa355a4400ad3f4bdf9fc6cbe7a164bab9c1e4a12628c0004020347161495d25675fe8df4daa3542707977e91a391de6ac2a698a374d05033cca205581e039399cebf5711a12839111cfed8026c9978d432c261e22e826d544065200c05465ac851bc684805581d02d85f828d32008f7e42a315f999b0e568fe51e87fa6464095c567e889040104590b65608060405234801561001057600080fd5b506004361061010b5760003560e01c8063355274ea116100a2578063a457c2d711610071578063a457c2d7146102f0578063a9059cbb1461031c578063aa271e1a14610348578063b57603e51461036e578063dd62ed3e146103a05761010b565b8063355274ea1461028e578063395093511461029657806370a08231146102c257806395d89b41146102e85761010b565b806323b872dd116100de57806323b872dd1461020c5780632c4d4d18146102425780632e0f262514610268578063313ce567146102865761010b565b806306fdde0314610110578063095ea7b31461018d57806318160ddd146101cd5780631f35ec64146101e7575b600080fd5b6101186103ce565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015257818101518382015260200161013a565b50505050905090810190601f16801561017f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101b9600480360360408110156101a357600080fd5b506001600160a01b038135169060200135610464565b604080519115158252519081900360200190f35b6101d561047a565b60408051918252519081900360200190f35b61020a600480360360408110156101fd57600080fd5b5080359060200135610480565b005b6101b96004803603606081101561022257600080fd5b506001600160a01b038135811691602081013590911690604001356104c4565b61020a6004803603602081101561025857600080fd5b50356001600160a01b031661051b565b610270610584565b6040805160ff9092168252519081900360200190f35b610270610589565b6101d5610592565b6101b9600480360360408110156102ac57600080fd5b506001600160a01b038135169060200135610598565b6101d5600480360360208110156102d857600080fd5b50356001600160a01b03166105d4565b6101186105ef565b6101b96004803603604081101561030657600080fd5b506001600160a01b038135169060200135610650565b6101b96004803603604081101561033257600080fd5b506001600160a01b03813516906020013561068c565b6101b96004803603602081101561035e57600080fd5b50356001600160a01b0316610699565b6101b96004803603606081101561038457600080fd5b506001600160a01b0381351690602081013590604001356106b5565b6101d5600480360360408110156103b657600080fd5b506001600160a01b0381358116916020013516610768565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b820191906000526020600020905b81548152906001019060200180831161043d57829003601f168201915b5050505050905090565b6000610471338484610793565b50600192915050565b60025490565b61048a338261081b565b604080518281529051839133917ea52c5916d1c00eb8d52b3e40a75956fd2e15339be0d111c44eff45ad0f533e9181900360200190a35050565b60006104d18484846108c2565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461051191869161050c908663ffffffff61098d16565b610793565b5060019392505050565b61052433610699565b6105785760408051600160e51b62461bcd02815260206004820152601660248201527f63616c6c6572206973206e6f742061206d696e74657200000000000000000000604482015290519081900360640190fd5b610581816109a2565b50565b600681565b60055460ff1690565b60065490565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161047191859061050c908663ffffffff6109f416565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561045a5780601f1061042f5761010080835404028352916020019161045a565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161047191859061050c908663ffffffff61098d16565b60006104713384846108c2565b60055461010090046001600160a01b0390811690821614919050565b60006106c033610699565b6107145760408051600160e51b62461bcd02815260206004820152601660248201527f63616c6c6572206973206e6f742061206d696e74657200000000000000000000604482015290519081900360640190fd5b61071e8484610a0d565b60408051848152905183916001600160a01b038716917f7b8b4d473e148a23a96bf4ff0dddf156a76854397f7b206c1ed0185f24f5598f9181900360200190a35060019392505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0382166107a657600080fd5b6001600160a01b0383166107b957600080fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03821661082e57600080fd5b600254610841908263ffffffff61098d16565b6002556001600160a01b03821660009081526020819052604090205461086d908263ffffffff61098d16565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b0382166108d557600080fd5b6001600160a01b0383166000908152602081905260409020546108fe908263ffffffff61098d16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610933908263ffffffff6109f416565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561099c57600080fd5b50900390565b60058054610100600160a81b0319166101006001600160a01b038416908102919091179091556040517f726b590ef91a8c76ad05bbe91a57ef84605276528f49cd47d787f558a4e755b690600090a250565b600082820183811015610a0657600080fd5b9392505050565b610a15610592565b610a2d82610a2161047a565b9063ffffffff6109f416565b1115610a835760408051600160e51b62461bcd02815260206004820152601960248201527f45524332304361707065643a2063617020657863656564656400000000000000604482015290519081900360640190fd5b610a8d8282610a91565b5050565b6001600160a01b038216610aa457600080fd5b600254610ab7908263ffffffff6109f416565b6002556001600160a01b038216600090815260208190526040902054610ae3908263ffffffff6109f416565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505056fea165627a7a7230582050a1d6e08ee19b18063e8e283b2f39d2e3bd161a749b21a4469691e7e98413e9002903fc995eeb40fcb2985c4c78f5ebd5cbaac59650b927deb5caa9bd08842ff4dadf03eb5ee86ba785516fc9e205cb69873fe92b811f84633d6c6c5608db851fed884d03723b80f01aac9a5dd91ace4fe662013b746ae5028ab5ed1b9d618b237eb3ea6203dbac033dc5c81aab7b5adbe3d321c6d313a95ff5a0e5f2c15ed7dfecdb70ef5303e6c01677fc35e3a38dace73a9f547c80cc82955026cb59e85c8afcc7331fd7c503ee8a93a4b45c320ffe71804a6431fcbe8a1dd624c2101ff3465924f78ee2726903844171aa930dda4d75fc5ef4e28555085fe03c7e409b9cf513b6cfbb77ba0c9e03cd1306cef80a1d9f5cecf5c95362d1316cf4861c128f8fe7dd593557013c1f9503d981fba133667063e7e6a4cd91de25686877e66d42a871fd79896f56cabff47f03e3be61aa90325cb520cb50f0c045ece706372c1a149d64553efd8925939e895f0301e0c087789aafca44e7c53c93e468560c8b17dcdbb12f294994072172fcc7e203ca39a7b566f6cb88804ac246edf98452434f54b3bcf0810cec9d9d69b05f00f903191265d35806842bd5d57d5b0496f063643995397f4926b4ad37d7409abcad51030e18a31b803e2afd6e83feea942d6f57a46770820887c18d6f88966925dd89300365feeda8ca0e38e1719e9e8f434770f9c597db83cd47c0fa964d8f1e2a4671f1032c7d4a7cb007ab16d2deea96640139cf80392c948d9ed1808a7c5796e909b946033f3c72c0482420dae9b57e5e38d1d3607926e913371c94f8b2822a5e483432c00316e0ff9da876d54e312ed72cb71f6d4b01a608cc430947fa377c36906b6b68c403968286e30b28f626a7427bf12fd895061df8503d5b8c319d727542f260704a8f03248675aa26f61846728297c4a70ee308109ff1000b3b2926763522dc1f191a39039850a605967772de199de559c06bf85437e5013696d6038be903addd2162ffcb0337ca72e1ba5c216f52065d49414596ad8512eeeb8a55321ab96fa9137032af4c00581f02412d41dc091614c5b7a1488408f2f000f3b8ca273205dc0f585129cf49c1412c00581f0277b6e1a3aa43394c39a49e95a55688e5bdb404028fc49e00dacb7004bf4e4407270e0000581f02f560a18ea09671a3a628f70a5b261482c730238392bf5128c3bcc583707a440c29582e00581f0373f039815f874091f09e6391ea1d964f6d1f6f8bd7bb6764ba006df304304405a80f2000581f03e8bb774c9b966d67309628c496093cf03fc4a6d98c65805b13abd0c58ef0459e546d83c102190204021989300338dcd7bf1f102b93d539deef8168616926302e7acdf3de6ac945ec33cb308e4d03afff24ae5a45ca963c0ce3dcfecef1f6a1ad54f40624eb30cb67a8c6ace0a14903cac8a597e8a278a8eb1418fb259ac3217161775a8563a5f97f2f32f466cc0950031747a44aad1ed82ef0eb7112aed3161f82d048774639d787005af5709cd3a71e03498896a9026c22ce0e6d6d2cb461ed3f4b73bff743ccf8c403324a2f6786a2ef0300012739a2de916248fe80936ea46513a3bf6ee400301e96232897d32b6202510393ac2f04908b05e85adf7b953529e1c601acd2ea515af8b65f966dc799cbdab10219feff036fd9ca0ddf305bbf1b3ac1b348c2accd6865afc745c308c08af53b8d6b2eb36f03298e5b79e3395a03fe47f465fc39ab92e9a489efb69393f039fc44de4428ece50219ffff033b026bc0f8a02f626384bb4ce4a99acb37e66eb73f914d723cfcd8ca1cccd3ea03162231ea4633a066613feb8f19b1ed2a564cb786026b1c5c4a4712ed3a23927a03b7c9ccf10c6ecb72f0242340d962ace3bf1eb73a5065c762d364dc2f9e9a9ddd032437b4732e11d004061a4fe1fe0141bf95defb247e8ba5fc118c34a46f782c7e03a1647928d42470d4869a796ac035e7681b745ef94161fa0a9a7a408186b2f70203bae753687f7a8a56e4d380bbe00543421ac68a5841cd29806e58b7eaf69d67d403d6608482a65e5403aa165a10a48ed0df52184ed71b229ded605504423cbbc7640324b1dcb2a545932693ca36d53af618aebfb6c5397a452c7b6aaee79dd707be3c0347b3c0938f2553073b9a3dc1d7660aff6f076226dd5012ef165bbbf1c5c2b15c03bf1ed728a72e87f90afad7787db852ab1c8656a46461cf85b626bc29f8e22abc03366490398ee19a680126e1aabb308a805f71239ecc5a08e1cf27d65ab3c3551503c73030736ec80dce91e0f24c7395286c52a10a52b5b1959e67a4f3918599b34d032c9643c088e00da0726b6acf8b6c6fe379d179de419efa6e5dfb7ec4a4d911d303d323df769201a0429f3cd02c15326f629f198af5499129d9a806dcd15f843ed303fd9f4bf6aae1ead11a74cb3b45331af6181f611a24b61c0c663114cb4233c64503e4e915bdfa81606666de0c7d91b804edcaa94a653e79deae6c3af112545fde2a03195e052b4436f90918574b1c62ecd755c647f53bec4712e843982f00019df726035ad639efdb8aa4d4d8a07d31ccb95c59ec9069dfd2fb0926baca6504c96d9bef03101891b56742a54381ab5df929da42edc7a5f0c83dcf79604ae795e632cf5531034a932fdca00ba8c98bbd5ff8e08e6cbd6946184967f367c5fa241e0bd79a565e035d6bb887c160cb81cebea9c6db42f172342d522b3aed8fb0b1ae4ec320363174039580fe1a8937c26e7cb71bcd165d9877aaa2e2add20cdbd55838298c1cab2f9e03a45429ce1d83c95c31d2ce3f7c7f13f2ff7866e1b81475471705e4046dbd998a030150e1092da521599dbcb1d96fef393f870bd132accf67e19873ae77def732f103989fae3b3c63eb3ecac2896ce33d230b7971c87cc7ae2c82e5e1e6150747871e00581f0214345d296057520f112bd4c6715e1360ee127e8bc2119d96815adeb045b15820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffd050f7f00581f029fe595472923d20c58f14b53a9a87876d5044e301a0ec005d6075aa2905b44653b399800581f023efa7e798e72316c4dcf6808001facb567955abff72ca52f15d9ec105bcd4402faf08002191204033b2f4cf7be133044599cf6e69a99854c0d45feb19bf5a25c9bc25f307d79966c03fc54ff41325af3860f181978d3a3a89f6014e01f083b200e438794d189ec679103828530c458634daf2be8798ab70932427cf09041233835105d92dd801c1937660338aaebef314c98b5d88b3eafca0ca55b66da804f0e66fa5694172cd312194f1c03f58b26b03598d54e316bb2c582f6c48ce53aab57a8dd1a73758c4f20ae83767e039dbb96d3719d74a0b430319c03acc29e243cf58167e8689c4f1de9665b7a14d1036abc6f5fb9581486c53d45a39c734ac49d8d3d2d4bcfee316f28d65bcb9d028c0388a5d1eda5fa3df2e7330543c263096bb013cbe64e07fe4aa143a696f674917e03a7dcc1cfa93a0f24675c3e7a645f5aa32ba87e1b00bb4725770ed4126a8bb6440219ffff0219ffff0342b39fd8df4b05f80c4ab185e71ac4e1d553335591aef77503b48a3007b639350334320f220f73c47078baad8248ac36b3fada3959ec00356a571aa7fe65f7e96303691f80a27cf3807099c57cbf771b4bf35a016043eae9015d23dca5f1caa0a1370347902befe2a5fcc15934af1657e34e2e1d2aa11be77ba54a21ce894e1ec671a703a77315ee06dc3e48ba66599441c4f7eec7a3299ba0e8ae30c69197af01e1ce4903fe8991f6d5a5f46e0fa6f4a96cb17196f8952301f138d727df06cec75f0c877103f75ac445d08edcefa708cf848c4dd819cfe3d593b8293739406bfe01a8d56de60355ca94bf7f75f0c48b63ca09751cb23c4cd3deec20ea68f631007f868aa60d3603f226b9b69c04d6b48647e2b7a74215aa5d0ec94a7684672a0c8159ffef101bdc0219ffff05581d02324f4425b1b0408dad80e9cb14ae61c0ed53f9ebfa3172b8316930380701190b6505581d02aa350c0e7379241771dcb1dd67ad0d405da88d5c7465e4c6dbb6a1cd0c054719d9526388e9db0219060405581e0316bc64e269e0314a471b39ff84bb281362948e002c2f73f41c4fc614700c0247629580b28cbe480371c3f8dad91df080654a68fd622a87481a214ce7897f95e5e4c90e3d2fb58dfa05581e0312e644a4a2953233c0b8e40673effa2aed1d1c5708bad1d126076d53f0040105581e039f360ef4a0d64dd7c78403f5678452945441e329bbfdbcfdba880581100c0446e796d4b8ee0002197b3e03523564c3847c073541f296c1d837e68d19b678c472834d34688e7e5b42a92fc4032797f285ed39634efaf2e2c5dbbac0bcfc41d738352039aa894d4ed79ce7188103e1be95db3fef481e22308908d94407bf03c266149a4460a2d3f540fbd62cf45503d4c47202868b492deed1108368a3290daa219b8ae525215eaffe0482676da9d803fb74c4e91a6066b2f531a1fe07b9066ff2039a8d25e4e39a4a266db190fee6ff03b2100f2801d475b020cfda243bd5b157317070532a3183ca3fbc58fe56ca198903dee95116b37cdf1697baeee33979f0a0c51b5c25c704d3a38cbf484aa9cf146b03a04abbf771e089feef4817773e72c37d496fce47f12d0b68dc42208dd8cb7c1303e93ff7846039db07b3d2958ef0179873418ed068fe132cca4f346e843491a82003d85eba91e1036f3aad3540c6b13583a170dded5a2383c2c24479580751dd847703e5ba48e9e91d9ccf610d0cb8d806537357af6cc56fcb884af15043f1e576d1e40379d910824bf8283b84469ddc22302081841234f18d64ba2d8050c1a50c192dad03a8baf0cc43cc04588724fb221f5b7f8a8fd6b4b8f75ec954e1932c491840008503fe38c3eadb1aa508a743038c50e5b3aa017009ebe7d46dc12c66bc024eef541a0219ffff0354c793cf0f1f9f8ac4b16b9c5ed39125d9eb48cef60d856755bdb5352b334d26036dadc5d34b35072855b1a518815caf21ef1d61735ad929729e5b60ee1a1e612503b8b1b4f556cdaff70231f1ab5bcad02efcaeb6f3c5636013279c65a88272887703fb270de3fa72216033242beba74a476c4829cef5b7784fd8803e6134d2ad5a4d03ed5f7879587b944c13bf9f8dc77168da87b2e3140950e5ae2ab1601a3f9905e70304d663906609d7e9e440974019acbff87a00cc9c2e3e7ef41b2219822e6882970359bc943a5f0cf31fcaca95147b8c73c8c079b64719dc34fe97f08e3e1b6f494a0396d9f82d1c1d5b42f134ff7078c771c86daef8d83f5ec947477d6a1b868ec3b803bd9a45a15b5290cee03cf956ec1cc386e918c74556f50bdde427314745f3a9e9032e2084778b497efd03db8301e56d1de82f73e5b19a299f19c4d4fa40b2b54a720219ffff031e4245e51ee647f89095b9bbf9fd1f6b38e04269281d4f3fb4afd08e819bc12303f13925e004a3d8a141bb20ce8e35fbab9aca0657f39b595bcbd9c2026bfecfd0030306ad35a1d3d998d4b6e92cffe8a2f18519c32bac49904743a1e2b3d535af3c0393b08993c2d6e278e2573f6bd3ed2f50f6734157b1a2e4fd5ce776eae0964adf032e0d32d053acc946691b0e88fa8b1c52d4cf369b103774ca94109dcc35131cee03e135ce14d9dc2979a8849778781c65338a6f152b4d843dbeeb8d4df2401c2d3f035e6907413e1a2e3da7ebe0f7901da1a2b49e32ab371995ab4dce1182d8941a26036016b2f5a35159e35fc4534202997807a22cfb063bf827abc05d76a26980530f0332ccef232be27877252f0a3355b15241f3db8a1395a8b740f31b4d64c640a16703ea75e30287e5c9a94745add60631e0ecc13951e3fd8454feb9b8425f0eaba0ec0344c40540087b6a50bacf89d8aa16fabc62434a06a8b6d17df23854b366116ffe03db33a89b12e599a7fe73e815566349c2da7fecda499d34850cda4afb23655a020219ffff032cae194e57d62bb64a098d64c46a5007a4a388bb25b3c94d915daa396423df0003a97eb1665d3a7468a446a2cf4683337e27ae694ec47527e540a605832061922f0219ffff03c083b60b583ac755429ab3e2001964bce08f47391514fb5c22e62b406a17eed50358294baea2ec3068b5a4b2a951e5860d82ba02c66a66e2d9261ccb4836667cb203902da0742e40e6a5d164f9aee4ea6fc1536487fc083747536173951e19b6a03e030cf10e7ce79c1219e38c8b703b69d71c54767b30ba5c28d8419e133d818c1eaa03a78062d188c917971e0c6ab36a7498d4ba541853c51a34ef4fbbf272f875b050034383f8b2d3d55e5475dcb002ddde1fb84b4ca7598b8fb0b1b90821332dfdf11503174ac2558cabc8b0e32787df102201cf2fa1346066631e8631033342d212fc5a0374f7a336e8412f19a5fe751d95a4f7d035a0e5cf8ffb7ec02c5dbec14e9d584a03d6efb92ad9aaf028531834b8842f4aa8a2d5303dbe85fd9a95c626cbc610ee9003e37c7fbaaa722acbbede65be4982aceefd6c9f261344df8ee5ff1a9fb7a4c12103f255783c740a9b8b83a1e80a0844239a4eba3b200a6370b2755382959d8f8ac003e5f2776881c516b34a085dab9273bb65d673bdd0e9dc7f69ae04307fbc6eba95037a8ec8426d3ddf86d24e0d5d624fadf15c49f13e289c7e6fb9f5930a9a166d1e03c1b1b782b9464d5fcbad11d8df8a9cbdf74ce899794373e2bc1786c5eb5be39c033ff62f67e2994bb5a07a3c0932016e3eda4369c64fcff907f219ec77fcad1fcf035695bc5fcf90b7d33bd681b985f1b762b205913762981457ddb7d8996a3b805e0381088fe9319d713a1d953e4a647d48d9640e154cef666484b3d84257ebf7e82f0349ba0e5bd8ddf59c007977665174b24e73a08a689f6a87581e5c1d8b8e7de2f30367d0e119c2278a627e6f508937eae446244ced39266dcfa01c0f2ff568a360af03100a8824c1fd57e038cb7eb7e836644dc570588b8d81b12a088789bfa819bd03039f910d4258bd2752bfbbf70e79ee68f663c32166580679b396eff261b160939a039a66a4852ff6627d71a949937bc19d09d6e73c7ec5779ef5e42326aff0b3476a03c2168bd6a03d01ecc897374ca83fb572bb9adaf8e2378ae815e9424e8556fb710350705124cfc913d846ddf527c843f477be3b3e98953e5e6484e718ebac2df5a203c3a8a03dc9c3f42b850005529f8007d3c7cc35b11f61d0a57af2bdbedfbb5d5e037ff7051bcc827eab98df6db0683a587bd13124ac003a90044343934ae4e7363e03cd80cf47a3ce054c15be18b68ab87f78d176bbbf088c22cf30704814ff4a7fa8033d56276191f42a8acbc87e738443fa04bc3438b98c70a1576bfae43dfa8318b803733516c7dd758321be9b7ccf584a174563a8f5d7fac82692ed4b32d01f3819e803775dd6b7b70a0e209436c3bbba903ec376cc3b6309348206f444043dc8d8860e0360f496eb7969c9f32fdeb908e8b355fea57b3ec078476b63bdf702e2587d7101035944c2f33cf2e438fcb730107ff5d24f75426401c1efe10c0df4001bf84b89fb0393ccdb1987ffccafe04e8ac998502a322bd59e77bdd78dc37906038a24692df705581e030f1270eea3f601e62efe5f7cbdb19e00dc44e62dabf7f7f0a3a1c45b500c02443b9aca0005581e0371eb2cf5bc4e12aeac0ab7e91abd0162a93b110c3975f8d4d40ece4c800847470de4df82000003234793345fd97ae7e3cab01c3f8e66e129a8c15864cb6bff37985386fa07b04305581e03e357ab7a534e8d76e22c3324987b5f5db498814d5a33f2ff50a9957fa00c064633acaf437cb0037a6af29b27d87a7f9db09ad95e3fe9de32014e99dea9980f10e579a541e942ff03882a0f005c2584888f82cf56abbbcaac1508b0d80efe14b16e0a46ef8949855005581e03b028a84961c0b010dad7f67a888ee942b3ce679c9cfeb874ef87255dc00c024762785e90e1f65805581e03317ef9aaea312a070f4e89f1566e1118d29f1daa5136c08c208b72b6d00c181d4710c8e917247dd7039af0950516e3603b93fc15cbe5546af10da0e7652e9b09c241eec3790f6e6e0603f275f936bfa71362cb45e58e08799559e6a246f0dbda411df4eead252994c13701410b05581e03065bd4a0b546f57b54626a1511e1626dec31a8eb1fc686c03178bb11200c1a0064dc0c4a0503984f2626194492da031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e031a141a98d39adab5038449d584917e12326e1653a71e9f3de4ea77e61007011bffffffffffffffff0219dcdf03d41af6382f6bdcbf84fd9ab3ea5a2f7257312e9547ac846a8b2822cb6e6378ac032be5a1ea57faa891b4b7d0afa3639f6713807266999ba20e621a2de0821fa1b50322f5aacf4b6282577339a5658a5864e72b6280112c6c2f99559e22fc1cefc35f03d8982561ed22971239d015ecae42596a2419edb1a93a1944fcdd5ffa6e5b25eb0319ec27b63f69de8dc6849f7599858e875a31faa856f398dc0ec20ec27b71f28d03cd5585bda496e9bdc69510ac0105176110b9e514ff44e068f1290ec067a2ba640219ffff03d4eb798bfb3a91d29c10586a15c84455c02c19a3bfb09d17aa8488e25a6840d703fed1ed2c57fcc4885a00804832826c420212e0e62094f8a322fe01216907b2fb032b334c37fed0b7cffb3bcd6b545658854b9340cf0a4109bb2c8111e09f20fb0103a8b5d75037fe9ecedcde967ffab8fe6521bad6e760ba44fb9bb6b942600a21100378f10d529ae54170495caf4c2c0bd639a61613c1f6a130c388f25de5faeba3f20219ffff032a247f000aee65e7109eb780bffa04a999bccb90672fb8bc05c6e1df1998c069031004f1fd66432a2578f84301f0bacb9d473d4ffdd143525fafce392a9e82b5b30219ffff03b4df06483d02676eb8a5d92806fbe021bf05bb73b8c32f22813e6e45d14646ef03bbbb8b5aa0a75e79fab254e58f840b9f8cad8f0f47d53b832323e6f3048c46ae033e02d7f83ef428825a6e22c1c3ec24556444cda7674afe93efe0136ad222c56e03549e4986df6ec79182c2e463486f8a9f3ac3dbd49099b325724dd0b8395dd8870357ad160d221d3746ae9b1f92b9cc7ab2eb468b89a27ec1cf150fe65c4588721c03c605fc8b63c1ccc980bd0fb92acf4e3fb8d9406fb11b6683f2315b15937f71c20343be1b902a7dfb659fe3962e6ad21200c7c71d8387dd7b1d8ba50063166a7ed103c263043e23b9c236ae3431180519ad79745586f06b7887612963db8ed7b584d303f6d8f64e8f328ac2774a1e10e9635e66da84e6d7e485423f25b91a4fa155b8b603e3639c13951948bae3b523d7c00d4f0ae1eb8cd29d2a14608beb1d1596de96d403cd5c96daa4993feb792ec56e7aa1688aefd1f62be53b0f2b5889f10fb8acefab0334d7c9bfead0a5b27c90e2affc3ad9c3f54c4348b5debecb51cb1a4272279d9603946ce37c27c5d04e3222fbefb4da7481b14f2345bf513792caa6791c6124dc7403b412fe611f11b4b5fd87f3113a5705458b6b481004377d6233cdb39a84eb446b03d6df70e7cf67cfba25d51ed02350f27a08b82abd20444c2289db153fc53245ac034852ce5c1835e93b64ff96344397a87af9be1112e8f7cca2e514928c26da35c3037fbd654394edb78dc12dd9c28d0ba81b13ddc4dcb2b1a73c6155c770f77dac0e0304af1b1e3ade8165753577d90ed39a8896af2b125ad50ed5548a675da8f60f4d038b8c1b15b3a3e32ad2980b0db213e52e424702f3affbe04bc0e6c6844efb40740342f7762765a8ef2e92a151664c05db6bfe368715eb243b142758a09a1c58c11003ff128a8f61726fc8643272ecc1a25caee7e764886129f6a909e753667c12227e03dd3a48e052d3b946f8f8442fac4ce21038188d48585867b84ac5a7d84b0daca105581e035807f9165fd17849979c6c51064185b2857e6789d7f35bd9d91ecc92c00c185647074c0d108b399405581e0317db18d2751cbbd651392612515e0b2066c751b0fe3acc43496d739f10040203b13a3bf4ddd87359a3b6cd64e682ca03e4cd2970c688a78c4bcf6dfa820174ac038197b8a7a3300dc04fa3279eabafac8ac4473b6d02ad1a28c203a7da4b2081d8038a709b9d7913adb6e524429358419e8283d3cda458472ad4809e80d4b81787d505581e03630eda5aa051611838c08d45c936131796995073861fb8b965c21c0c8004030349a137088e13c71500b6b717d5bab683367e602bdef5d29841537fa7a207a6ec0605581e0365baf7ea9b7d05dcaf3721cfafe66c163635bf75bcb989f32e45218ff007011bffffffffffffffff037abd1f8b00c4a761c65fd66012990ea3addc05e3188bfb4a7eb52824b97af5a60356b1e2e183fd0ecbfbd37a9f898dda14cc49fe8c19a2bf559394024d47dd58ec02191faf03e6f434655af5037a5b9362e7a444365055bc2a5da1dde2cc4c8fbd3b4721a60e03e2a4c69cb7e90c8394b58d240b9bc576379849d7d09943ccf87f3d4ac7421d63032d262514da018f1a814c7df217499d47d036c3fefe926876e3a0da92695e6f6103476942a77b310026b9f9238b40a29d6e82d87f8c9f8fab5309c5c54892dc4a6a030023a682b9c905bef6b49b0e8ccc686a79eca1d09e267fc4da11ee8ebe0a6766034748f43e307fff933a0fc51003d1a860830a573a9117c168ea3d396ce86a88e9038043bbc0f9413b227cc32d6367086ae462703bd1e1bac9a0f00d6aa46d4f0ec903277b71bbc73e95546d51493518695a46a17cea696aa7d666c2865c38292e3adb030519f2be7208e5a9e584f34c9fdecf7579fc17848a21c4f41c8fdd6621e72ecc03209fb33b2c610a644969719c1827b130bdc04bfd204573fe3a6e05e9cad1ff8a032e24490a8a2afd618485509e3b5416a3c60f0d33d51797f8ca4a1fbe5aded94a03e78598d2d7cd2f57aaeec7291cd370bbfd115fc80bf877ce84023ae5cf9348630219ffff03c9318d74088bf4554514ef975bac65de6f18896c4cfb3a626264eefcf15762d603b6a0669da46246dfdcfafe95e13576771b8cd57e59e17be6e5349f081e7b9fb503a3fb910749fb3e4acd233e5ed2c9fb87a0af5a1e57f7e7c9696f2306d3af490e0319000c73165e4532f66aea80161f133ac5891124a28bcfc2dd495e17a3654b76036604f2c39ec252f5c8527c236d3bff546bdebd6920e2472607b46ad3ce5b6740036c5e3a19c02bf08b03218d49f08e4001b4d28dc47ecfdffecca38213862ee569031260311cd7336c3fd041adecd4e418989fa228cb5b4fc4573e732339f81f226b03f43fa0b5aa9637ed6803710c75b525e4113e21bbb0d8304007b75f7ec8ab96c80355874a042a6560f9a59ea4f4a7efbc47276bc3bccb43cec68b0a0dbb15350ba403c5e15389a09b2531361060392271a96d9e019d1ed1ff3917d442bcbe51b6a0970322c75c7f6e0913b04e52584ea92e9d8b980ac122f00b476ba479334d1d82c27303498723db1ffa595c47f924fa27d9f1aa41e5f03216c6292a6db8380b65a9559f033d551be73375068701ba3fb4f678a0c9f38b3a9126d73875660331b4ef067fa203ed083534436eafaa4276fc990b2cd39861841666b755512391bf00f9ae14376b034732181b68541e48406aae609723201981af79b5d9b4aa54e9b00f7333c1319d0219ffff033af07993bfe74b94a3b25f3965cbb24da7870c3858ea9c58261333487d706913038c680dbb3f6eabc76d2f87cf34d901e2ab7d7beeb2493a31aa06c4e7596e0a5a0219ffff03b718d0316b69050e67a4400e7a291c03e42a58c3d6e6f51a5dbb96fcf136b6c3039ba79c564a91bc68f1ecd19087cef625d38006e71bbf93af234e4e87513d345903d1db1bc6a2bb181a158c347781721afe896474d1766700eb6968f0aec97cb4580321fd33e8eb8bbadeb5083d8290ecd58368a340c902c43040d172b7dcb68ef29503394730b14733ce514d449768e3aba49009e097551aface1474f8f375b90cdc7303cd0fa1349ebe534245eb46686def21efc745f56f967e375dc43e14d0d3a5c1d2037b97f4b734c11698390cd3132f9869ad8c5e0ab7a7382c56ee9caefe12143aeb03b5037e7f3382a56d504e4893c6cef4f3a183f73f5c26a62a88a30360fe10f78d03e40af229364c721c5f6d143450e267d739e94d52e5dfc89ae73498ef96f5b78f0219ffff030e6c5540102bd1ed7fd282db1ab0190b50104d1f7d79035a233c457d3d5f163d03ec9faf2944527813b71cfb762f28ed98a65357b038b6ba056a20b391271d7aeb0302d2b9dc27dc76c74f52513db574610ba53d55d8e786f9dbdeda36855fbf7d2203533d732a317fae69252fe22dc563fd703f268177a92afaf7546a37afb4eed341037bb5118e3d754e74ab274ad354edd01ab20b28abe8a8c6e7f322bb578b75694a034028c165af597eaf3efa4c3b4ecea452e9de232d6ff64b2b770b65654e14aee20358a797af77db9c34826f5d31fd74244f23e03508fc73d118b505334e246e2daa034cf8a3c944592fd5623825cdaeef31a59b25bb949f524c0371ae9a149fc8ada003f84cba660ce4f5074aa436b8ddaf100914f72bf614afce50a103644de14a71280366ba8cd6cc32d19fd12976cdbc6e354853d320ce9fcca853e079fde8339c8b4903356837400d5a0186712dd3c2116b1639155ca881017725e82f0f2ecd8daba0e203b048bbbbeaba80c31968493e6acd549b388a85bd64236209009271f76982f124031e7df75c71e5762878d73baf10f79e067181ef53467296f5d385445258c3841403bb95a9ed2714043270066b0bd3d30470b69f017724f88aabeb81767e3456a40d033c14908457f5e81d13fa76b244cc8a698d621c49797fee57ad626df194e5671d03b6f242b740afdd73c9bf9debb6e95cdb81470e268853f857e8fc1a94ac4bd6d403af13d5d3e7fbf7a4434d567bac22d6dcca58d212b9ca2348d720d0c7ff3bdc79030188d5820d28cd673ea93e13c52a23d91a3cdc6df29bac25920d8650b2466b7403b394d1fbad9c3f4bb9fea54dad4c3957db4b4de070acc50d0f2e0d21648a6046030ea9d560284f95a8ee5dc76976997bf3e237cf98ee854d11384a954f4904f0550328986c60e1fa30a8e5509bac3cf92785cc24dde86c99bead3faf9aac5f73c61d0354ac893075f5966cc0c800aac6b17805488e3556559b4644bd139dd857b3cc6303c81b78bc1565ec7225c2b654f8633ce3b1f58dea88fbc131e61f95eab2e564f2034bac5e0bbdf7bdd26de048b8800f844777c3693a2d4d5afae14f7c7399d83a79031ab0526cbe420fca29c633487286017cc6fd8e589ece9c1d6a9bf5bd6416a7370344caab51ebc5b708768c24bc9ed0bd5c635cf86cc294d472863aa11445aab29a03754654b26471b6ae87062362f2a271c9f089da8bc15be1fd39fb304faa06727c033482f259d8116d3dbfcdfaf57f44a899d86f6aa5b84c75ed47a85d350bb5056203e938478201daea0cdfa25619aa1720686b838fdf35c686f816acbe4652749c9603e0d71fa03c6a44d7e6d720018e01d4f720cf7ac28689f4e0ae9a18fd7d64c43b03360e9776f1803833331ae21e89e0f6a44352157ba756e50a41eb9d26a915fdfb032d7d2aaf7aac4c0100fdc47e7a6a2738e6ba59f750fede470e920eb00fd952a903c48129178301380be1321f40709a639f267d8f716ab68a62e99acd4479db7734037a482985be1b0864e926a268f5d9e3e60928558ccced7d0e8c2811f2cd36fe3305581e030899de4ffce4bd590ab6945fc2463d5072e68a442752216414ddb91aa00c014612ec010ca62003c2186c05f9b187e4e852e60664bc38155145ec58288c98d4de56f891252ee9e005581d02c3bb97e10b43d9d792ac327f6d3cb629cb3de919243b4c0c3865168d0c03463a5478a9586003352ffb477a9da4a2fa5748e40b9a436e3116f1edf95a3ebbab2a76eabd0971c003381f8c95ff2b733a847823430efcbd3a6fde247bfc999defa608519282fb810305581d02ccf5c00c8222a2aa49111a0a232ce916c4f0acfa3bbd20730d4b5ce407011bffffffffffffffff05581d02c51968be8d470205bc2386e026af65ce052b8ac34ba4bc3f689c4a420c014710348abb8eaf00021988400313d500e4451d42b3e783754d7332500d0d97c551cdcf831f49019b2fbb5ed9860318509d95333605d90392081d3f64394af2a386cb76c3f38a591c036cc37b3f3605581e03c74ac1e1c6d4da34463ec7957d0746d6b8b03cee8a34e0f465c71da8c0040205581e032a2f740fada3f62a84d46c9c19192cf687759f7ac28a957abb546d55800c014674682021c99005581e03f24841fd6f357ce5819d2fd7b53e0cadddb2d37277a7f2a3bf36a216000c014622df052ebb0005581e03098e8be48fd85baaacc4b2ad1371f38c972143742239ea0e84e2d5f3f0040205581e039d492fac9e36ea1c8289373004e72b02518fbd9769518a115b0fd23d700c0b4719b643023fea2103b313995b905f5391b8fa06cbd41f9394cae309cc333719da72b12dbd3f0d366b02199fcd035caca45d7738efa51a089d2f57272ac2e5e1e057a4c5e1663b60f71814834bcb03e916349ff4948e37741b2e45a91a3abf9bdf577867262a2205ca96388ed60931038046492e9d7f9f36ec962e0c09fc5366f2436320316aed55d70ccdc169f4fdaf035b38b3e650a32cb8a7b01d1a8dfd1087fa2c41495a3d20e5c786afbf6d39969303eb39eaa3047a67a4a0d87d65edaf025de6ed6bd0df4debd8a6d68927a12b48c4038d3ac70b72a58506acb2626afae862932d8fd7a6497f822264f10bdb6de9787b0357b4c89e092b0e2c1d41f7a38f4edc2daaf39cb8296273127485d8c8f1d37aac03d435906f4480154ea8323aa33e56a743779f4e86efdeb6e683d7199c0b1d4374033417796bfa594eddc63607de455533ec825ef7f60317f938b2b629c85fbf6a600219ffff03d34628f9b072acb41543fa819bf10108f020b4982ee37aa66d7f910c9157d82503fd3f248f77326c6385abc64447c5e658f2293ae1c3f9832797ebe1ee1314427c0219ffff034c04550755aaf3fdce73debd8ababba19ddae946861b2d20a1ebfe604d7123190342a3584346365b10f6fd5d1252d96ffd40af1a896978994e41b14da749bd63d60389ec5ac1e4446d1df5cdf0ff13857e747b68f2bcb8beb20ecb1497611ef600f5039bd5589c99788fd280209d7e913a3c63dd427cfb9428068096b9fdd75ee1fc8c03d1eefe91393b290c4b2c712490c39b96b186a170d2f7ea000a443c521ebe01b3030e92c12a459949b5e6f7ba876447e127a2b0a5c9f4049a8a5ef09f15419dabd703f469b6cfd9d334629cce78fa22f110a74ed9e338fc97d0294916fad9f5131a4e0360cc6ee94d702e6e429148652047b61dd82d290f6b3c5e7660aeb8bebfa8bf85035d0101e9c4a8efa0bfcf3bd4c70d1beaeb13a403343d3ba6bbc5a06a8c8cc45a034a9cc194574f1a4dbfe76c622b7b6354953910b74953de3d22e3cdfe3bcd5a260384ec714f99d1a044e6b5c995e3422c3c64079c234d7ddd1bdbf8a0c1589d5851036d67dfccbb7178ad2bddc6a61408f2c4dd470962b236a48bd987d55e540426e403953b8f5c9476b559a6620bd171f379402c5b848833200a19538b192b5bd8ffc00219ffff03dcca7348c3e222ac9135aa5305c34c63a7594daf43acc4d0690479d4d6e21ce803b6a1117420ad83cf5dd62b86fc75061632c35555cf845c582ed9e01fecc9d8d80219ffff033b6791587b54c15928ff549ebb81017d3fc0cd8fd4f69b1f08525fd1bd602182031b3cfd239eeaad25dcb52a79bd802ce0198436cc00687cbb040f33f8d11775c80355f27ff5130b35f3020bbbfbc49cd64dd40b566b41a8cc1ff1f128fca61126c703023c1d45a7536be7a104deedd3e9bd700a914ecd97f51637f202d1f7946cc14d03dc7c041ee8b14f95158432edb1c088716c65f25b4628bea1ffc359bc633663f903f24f322b018b5055e04f89ec6cac3e4eac6524be724c4cb876f979dba2893bcc03912c3831e70f359578434bbbb85c4bcef94767b1d4577c324f648d7dcf6f6c67031aa46ad7b6ca0d06907a67b2c6abe2de90bf5c20693644e9c84f1802dc7562cb03a7f47008724e31a42bdf2165c03f04c70f925d572cb4b5df26d44efd7ac3b800034512732b5c50ffc9bb5616b2aa753ee26828ad35792146afe28d4a584298fa390394ac8eb8208ddaef3bf3132c3b7cb4e35003b63133d1ba594c21b48112fe47c00359f57f93715f95189c2cd7ac535d631ba92ad975ff395b58c62f7db428b4e03a03672f3279bb4f3da7850945927d5287880100d3178c9f6c5573181ed5424a298b0344e6f3853a1c98aee693bd802fde7d674740ef48e22d5a16a3e5cbd7d39c23b5031d283a00544cff0678bac9cbc02e0c3fc43490f48748ed452819b793be6fba5303b1fe49246f800ff35fcdcec5f0cc0dd7a846cb891703c099b3954d9e187cc11a03c45eb362fca894fa72baf9dde12eb12445c41faaf558482f2750d92bf26330f203a0efbbf7c6062f0af27dc9958a6d5c0e6720a9efe537c22153c7701faeee407f03af83ea95fc7e70eaabb85d9d54ecb572b3cd1b9e3d11b1d63c8ecbea6c101f210345ac764c783dab39f55e1b88fdf51a58be04956a71ce849b2e3911995879d76703e7db982a7556cd34658c4549ca042780921673da39154f1956bdf9367907da320141090458aa608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea265627a7a72315820d8a00dc4fe6bf675a9d7416fc2d00bb3433362aa8186b750f76c4027269667ff64736f6c634300050e0032005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db042086e005820025d3dd5da362dc90b20d36cd5be51630d8734e61e7cd160053bfb3fcc1e3b7654b9f256128aef64459ce9558826f6466bc010b68702184800582103ef7d3f8b94e101e21c49865140750a42fa07af11368257c62f838eecfcaa06c04101005820027eb226044173ced585e47898e1b04dc2330ee06365879c4e63091a8e698d4354f920f2688719012b587afbdec27ec5029c18e875005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354d9db270c1b5e3bd161e8c8503c55ceabee709552005820022e9c26542b03f50985df4501a9de07149a9c334bf56d34478921bb42255d8154f872703f1c8f93fa186869bac83bac5a0c87c3c80219220100582002ac8940480679cc37cb29ef2fa2f392099910127b36ca88b1ab83e8befa5e7b410100582002b8c189d0bb3a7b179faf4d8e9d85651fdf2b1ae25293b14b426746cb20ea6254acd8b7e9ac7a0900cb57007000302b3234e33a36005820023df42cfa6dc0d363bfc42439cb4292bdcd6485894bf42f257101613d7dd6f354ffaa3cda4f169d33291dd9ddbea8578d1398430e02190250005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c0410103e4ffef99ed185957d7ae5dcd839c8adb6c03def2f0ccc7e5dbe605e3654a747300582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04103032e9c7d908f7afeed86e099dc96e0abee60267ff1cbea3f96b2d632b62eb16f3703a6c5a2e96528ce455feed20ed087a9952a882dc9e580ba2b2414d2ce49ff52a303f4c27e0d54de54b98916e2d7cb9fbac06726e940c25db3048329911c5dda159100582103f93cd6c620d68457d47b46fa5330cd937b89568388caa6430a536650ae38f7c0410100582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f05820e3703ff28b2574dc131d4a071b3045dae1b2f77ba3bdecca3a3b04c2a6a8f1910219bde705581e0396312517ca790423066d6707843eab4a1ef25f2c4cd36a917600d144100f014827ff718bee09713918aa0341e44e7fd77a0311b3f4a3aad77c6837e1c1faf79750b7ff8cd309251ea74cf705581e03d6ca6ef2c87b894ce612ef0c7b67848ff2312219805e53530b8867b9100c0147018ba1547a300005581e030c6fb7cbc7339fac016b7ee91c47c944365ac953ebdee81bf802fc08c00c0147024f60ad843a0005581e033a9e6f23f8d1fabde219bf285e68778d1af90096e64d1771f6f1d9fd600c11470338e2914440210339b2abcee24c128fc061dbfd33c0218a2f5013d8e0dfe8a84ea4035313f0227e03e2a8dc4348189117f14e30eb98ca8c3162e5c2614cac46d6db5ecbdea04ec71405581e03e4fe046a9f939347de58b1c59fac0a9546ff67614e5a0847e14a6db3d007011bffffffffffffffff05581e0319cc5eafbebe240223feea405490b8b2b531ad415c6db318e215554c600c014703533a5156fed805581e03e086a8eeb47c46de97e7d232c3647dddaae510fefcdccc76aea9b5e560040202195b6503da1ba080db96f9a501ba214dbbf44724dc747fe1e3f6e5abf2153aa033b1ffa1039b6c5338a51a2b70986385924730a48721e8a712309c8f36f5fcb0686323424d0312b1426787fbd503ea1f7438d6d5a953e98389aa756b67a51f67abef030568f2039251c720eb32fda2cc72d0ecb8535c55a0b99bc9ea6d6759eb643a398ffd55f303c1abdff358147b8c90d278aa1df5e614a6cb9dbe4912151fd055d1558df10c810219ffff036a38b9cc3726322443286e0c6c56a907d31b65f7a0ae6517f0585192f2f8166703012931baa23bbae37cefeb7232186dec401a5db9dea0d69587248ff8681a5848030bfed21ead246d8071a63842bc4d8a5df55fdacee2409caf07ad96eea3f5110e03050a3f04bc220070f715ef936602916cf5e1ef73aaff7b49e1add0585fbd315703473689b3865a039449c154d1bfd4fe73f6a806afc2a8d6f9fc633d8a35e46f6e03a333a1eee4664e768f93a9016c0275043a80bf4fccb18450dcb9ba522940169303be7122a0dcff5575ff0fc332337f6a924f9f00f4964321c195c7c629e147b6bb03817074feba13a931073b2555de787097ac9ac6dc00bf4dc61ba105df16e53e4403cc257f7460eb3eb5891111ee8e9f5c84c670c2403c7ae66ed97f67d863a72d2e03bed0f5b797ac0bdb54b619440ebf5697730d4f3380237d5eda50e182ffd9a86003f1da7fded72d07a8f62d2f021155413ab50c1e705e6f9ee3d79a42e0c17d66090367b94ebbb1ce79f8ba586ec72f3aded1d547190926fec0f73a94c046d53011ce03a3bfad15a0bb6e0a2b6c1fa75bff72861919cc16088cd2528230462e5f05a88a0219ffff03526f76a30099661ea7571f43c259c35fca7df65257928feaf2109256b288f3d10358e50954450762a15f195856a5650c9c892e92146cee8c18db43b816f6213b0603145ebfc70eb10aab8dfd9120b84e1f2fc6433fd47ecaec5502cfe6dfaa2d07bd033501bd9b82a8dc8f0885806c01b036f78a877c8f40b0ba5b447fa922f7872571033537e3c5744c0350e887d91e6b1fb2a47db70849fa2c8ee218d8dc8e68b6d2e20368415a5fa7c5798da0100c87ae08a18583d8220833f3cbc4d9d2b46eed680ded03f9a7c7b9daf5d72fff95f08ddc2732c7fb8937ab3a10e9b6d5c25c5813a4f45903664a6bc2a60e90efaa424de09c3eff7a8c88592b62036463ae2c3a2b83b912b903b6c9cc3cfe5fe3bc8aa0225b1b0b0be72a7df5337cf998f848ed50db21b84d4c034d33fbc1ce0c2a2f8c0dedd015ee965f4c1c7de47266b9be973072b983d3de03036dc8a761735b1bcc3155a8560161b6693b9135ab45759db8c83d86715fb8ec6d032ae1f869055df2097d07fd02b0885b247707d9f407cb723cab32ccd6c64a939203ac7eea627cbaeffa700794d6a95704e23b96b359b60c92dac2cb9df5aec50bfb03363f6856a784d4821ab84091def4ae03193128d581fefee859dd806ea28691870219ffff032a9599df8da95ebf6776c3c9299c1c08cfbdc66e6e7d6fdcaf6dfb73fbbb7366036c5d09589820ef9b44fb6f8d2f30a99f964dae1906ae3fd5004fe1c5c1c7f166037a5811096943d5b56183c7a10f3f10dfcffed84b333b687959c7c717156eaecd0332f5b74b76c2eb248db51ac780805760a9d195432d4651c112067ca0e3becdd9035e457a20d68f4d4ff4a8aac0f789223fdf5910bd7b0a193e19270a1d232ba8d2038dd44151cdc1e5cbe086c5930ab9842928e74e485629edecbe66e50440cca6dc0332815d52339f92048f9deacf73e9eb39570241ca666ef961a96cb88031c0cd95037817825dc2a999857ee9e119a369666ef43b9f7677b3684aa408161821f3f955037588259a8d26fc36a6eedf5e9951f02fd2173cc3ee6381c9b073c52b2702931b033b39d5e690833c07b397619570125b03b6b386a1ad29cf95cbbb38c41c753a880323e6afa17613ecc03f89d3c622ccd9efe1e8716ec80f6a2093231fbf7f1e57650320d3619b22b502cd364fdc271133e8279909587b1bb98bc347c8f20d255442e903381c57efeacf79f9a5466d7838615498f2638728a03fc997c9489215df603bd703bd6c44a8477d36e8cd16751c6c31b05a6793f66a1c02acf5435abbc90cdc90b903f5cf1546672cb6de62cddfb298592ec827217cb911e6ba8e55813e517c9a7674033a61353226cd0fa867d88ffcdec1779bae5ead4d222a29761029f336365a37c903acfdfc0f9c7d113b5d37ff5eec2ecf0d412621661c2b190ae5caf005282b19e903a4cff49734566a62473c679df08e7c4dfa43b0bd65693786b5fe1d0aa8f4ae7305581e032e8b9716789aca299a95372c4650a5bf5f15e563e4f7e04d990c9b6a800c054704af338cb656e005581e0347812e6918139da7bfed0e3c4c3e9bedc8042eb63471c0c9776b5eb210040305581e03035927ac0a96d8ab50eb78b72cce4a0916065578b3f4a5d4c1f2f58df00c014659cc8bb3e8c005581e03560e4ea876ae23cd66d23ec68eeca78b0f896952cf89248a52be4633700c03470a252f8b6d670005581d020c268b62b048b755fc13ba6f2963fd9f592937edbb31d288fed6e9580c1821480109e609f9a04b8a05581d02aa953d8a03780dd3d78a800125c7d10a6e8ec482ae31eff360e599900c0247058514fe1e52f20212036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e03fcc703361f6344ad20a200f63f1ed1486a8bb93153c8edf7b030a8be3007011bffffffffffffffff05581e038b3393d32025757a31f58f2cee33f0a1c29b5e57c29110c7d720b705d00401031eee1204ac5a48766898e07fb074dad4d51a9449bc94129ea590ebea76c35e3b05581e03e2466f6133f11e7f7d4f4724ec22451d1dfd0b25cc0cd2bf98f9b001b00c02470464d17030520003f13321fb74257197df7d1b26f74c3d4920c74b9b6b45260361bcb3439213fea505581e03d1f8a796b9450ec4dfc392c7ebba5bc34c37959358fb0c75bd4405db1004040219dcfa0341b56e2997ab204d58228f5fa209ef88223d3bb9e1c3ec180a6c88402b956f0503edbcad4fd3b94e0d1e267d9475d1b941304d2c6cc13d70e6ba7dfa81dc1c146a031c7f5f32895f86fad69351be0561fb70c852a7b98bec2cffe26038b654746350031893739538b9f1f946f3fb1cdd1b585603018f4a64f48c4f372e7d44fc74f41d03c80ddc1738724dffb00184b156be2af64dc06806ead91d9d0fd0703edaeba8cb03f5c4e2720437bec486cec1770544d0f5ba3ec1ced3d4b8cb4b2675e3cd35c23303a6ba6e9ead59d0bcfa53e4e30ea6a48913ec843e9c283b864521da4dc4097d790219ffff03beb8f799873266d1b813113a9656c4ace6a7ea036aff877ef71421dc872ac560032bcf066ca3a62514b984de48692ad76893ae80918c2cb0f0b8dc1407d07f9cff03af8a9cecc2598a0500b4a43347fb694fdf686d5a85a2f5100d2027241af9faa3034f91f2fd8f225d89a4f6e42a6ce5f982f6d9408b6b4d39d1c15fa7762689e8f403f165c48ffed58658340f7b995d90cd412904865433f29ed62d03677b51e410d4037ae602ac8ee4ff224c0f2a88ea78130d0a7dedcf5679e70f5f1ebedf32b6f75d03b674a3fa2b914092e63cc22ecf371a03c00d1a22a5cf5c5247c668d5a02a4a60036d38136292d8a52270bdc4b64e90b2c25080f29a67d27993755dba4a326e2e7003bbe78804440e0f641920dd1ff85401c3a8d01a4f18dd802fd9f738f4cdd5a9cf0352a748254d7931e26746a3ea2df0263fefe0855205799eeb7be52406be435c9a03eed7da3c2764da6b996b088898c005fe3d0b5f06a5dd959cfd150fb9073ef84c0219ffff035b583b355ee31f5ae4749efa103df1fba7dfc9ecfd7c48fecff2e8c37be3e06d0353860fa8d84f52e28717c36819704e7322e6e1b990e6a5570bda1c65ecb079dc03e4069938752891b0631d04161129e1856c88c9b7b91fe6ae5bc10eada66b04230314ebda9d0c39303e07ef74918fc25da0531657bc21dfc655c6a22dc5d7332b5403fb1b901f488456beb04bd89bbb737ddab16c37482184cc1cea1aa1dae365357b0340a1bbc0b2d8d03d459c60408ddd817665f93f6aa32ec2915ab6e7bbf7a57ca003295f44c86abc19fa1a5c758fefe8db02ad46825eedb6ac640fa4d43b21df848003fb7e6624300ab07713d48369582bd241582fe325f1cc37b86bcf46f204abd75c03ae0339bea8accdcef90f994708fb95aba7905b63b6a0d30951fe220769fb91f403dc8f2a04daaed5ec8a644b6bdc4c1b88956fba5b405231e786d7174e95b738c7030c425cbf1f825acae5443a03b39a58a4f8636917088ba5fa060f2542ac6d2638031c3e87dc5183832f60dc7ac9c2cf81f9dbb32dcde4410e6bb508fe37b6a260bd03bfad2393d5982eeef4e222408cd23c775a3b7dc6ce07fd4f41cd045f0e861e6803d28a2ba6a8dca7e1dfe69c922889358c812ddaaab5e097fc9f67e03925a1711603769dfb8b8d2cbfe5516db28c57b33a0f30edd585d3200aedc355edcbeb3d84da03cda5444ff36ec698d54b4bf5f7ff6357d07e996a3137029e89c9b766f5c6b1700332a506bd8ef921a3ce49827b1014429ce615dc26bd01935b854515ac87e3de55031fc1feb4faef8e9643451812e7b53fd26ce182b0bf73011001983cac57359dd5035e3fd8fb7bc10ca0ea4c99c8b6bf8c8e78137a9b2175174f64e9c2946498d83c03643a1b883c112d93bdceb58352e66403627015a3afb4655b6a7b1128934be4650372c7d92d136a3b11d8d35caa41488391b7702e4c63784f9afd9f2509a73f9158039d311f5b840846ecd86c694177cb2df57bb4d5e8581e1e19a58fddab303fbad703db18ed48553f6295b69259f6bdf55de9b4dd3de8828c1f32c764d2c2d3cdb8a503cd549f0b8cf4c6052f641ac04501b2fae2737609c8126bb6553772050ec1b1af032f240c8f710b0139f19adb7a728d036fde067e469277035c28713c1d3ecc7e2003423002ad8bbccf100e9c10248541ff9d3f0bc8185a910b5cf91407ceaf03313703923ac6618efa546a523bf13af2f5f913c6e799bbe837656bc3b8ad1abce7ec8a037660eeb3dc4c60022f238e3d5193112cad00f41c6e8088826dc3ddd95ecd995203ee9a8ff5a94566a7bbcbac635abc93896d7875f589852a9dd31aa99f22af160b038b60cb04cee92d5582dc3d175cd3af929677e68a64dc990a7544dceaf09f8633031b534c11438f4e3454226fb9e69baef476014a2d3919fcd9cd571315755a44fa05581d022abda867ec57236df466734326a7d1b21cbde21aed755cb0a028a32908472c68af0bb1400005581d022ca4bb17caf7a5163a823a7d81f4aaf0c4690e6820157de262963b5a0c18224732c7ab781077f603f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581d026d0adcf6a414b0210fdf8f76c21ae1bafbe32b34517732bc87a436b507011bffffffffffffffff0219089005581e033341357e3e15e800b2d3197897d6ef7cdd44fad4ebd81cff2f7cefad700402030d6594a2d42c2a0e5f88375529a19e9bbb9363a358d13a3ad34cfb1d5a94bd0b03945285dbd2b48deca26b9dc6367503b9a5a0bf2b1fc7260023ce006259b48575037e7fbeb618271de7eb777da69c3214da694a90acfb06e8e60f0bfdd18863409c0338a5da589ba126d033f859557ad709a5a3acbacd30fcbf0886104b284fe82f2905581e03cd0b2c5cad3561cb0139adb25852756d7e064addcf99d6aed6830a5920040103a2804ec3e0c4e2dcd78292bd61e526689aa5aee7038a16230cd0d15071bcc76c05581e0323687b8232115434189b14b9db588efce33bb5ea6345cfc8d01a5c89800c18224818cb2a2e5566939e0219d9f6033735d75bee104dafcee11927d3d115aba70ef718b243d7dff12d894569728d7f03b851ba0d6b5f6b9c99ecc5755109fdad6b709fe538b69e97c327a08c40867edf03a4cd4aa77b204aaee3dffc0536cc9bafeb623ca1a4acba68d1e2af18ad56179a03aa90ef5a3d16cefc09a9578d7f7dc0a7c620781cb9895d34f328caaf0482af4103b086dc8b31b9827d78009e111e36bc7e2e558a96f451fe4ef1ea9d0292b4c049030534ff03f225aa97cbf713b9afe0cd9ebdc551a8ab0637c4d4aeb182b7e67ea80219ffff0357978bafff25b40c27af3dbe2a8bcc4841efea396e425eab8865af36e1ef544f03842acf4bac07ecacf841a730a5720535e269c5a4440b4316d6d93ec0321374f10219ffff03d6c95173b8b84b4fce2ebcf600967e359d38a1db47055a61bfac16029bb25fc40219ffff032f64f51cd92de0f026cee8d3cab8ef2083c81cf212f9d0d7d0eb021456c04d8803edcaf952517c2254a9e259ac47b421749aeafe068ff96f152f3fd14baaabae5c038abc907d31b630bf0fb85f6729f62e3c5ebd467ab0c9e066be0990dba7dd6dba03c1cd6504185fed5dce8242eb76af93b255613c337c6b53f4a8d5000065c99619032ad220d66bc08171eafb02a7f151287fdb9425d05bec7c78ed843cc5c21984c70360dc83bbabfe6c4c9048fc6028423302dd5007be5db290aa8342041fed34dbdf03b46fb0f077418b980a08cfee4930b589ab813f42b2c5db3242773296686b6a180219ffff03f6f6a842d4cd5c374956d1a4021610c5c6a272c1248305437b77de9d84263bfe03d46fd4dd29b21156cd09cf3310cb5f7b89f466663f5bd57afd30f9b13f518e7c03f371bec9bfc976197fc368c9f19e06ebbd79bd6e38047d02be9ec756e03f713303ee1cfd3ea573c8710cc0063bb9dcb6136d379d95952f2f61aa26f9a11e4989e1033e356994a47a11b68a7c81c7782bcd44894cad3030cc471efb587ea30e4a6a6603865a1515e4e67ed6a960d485a07234087a341ad210d6d866bbf9ce6c798a1741035e3d16395f2ff569cd498282a5432a3e9280d5f3bc78090138b0fe7729d0de6203c25849110e8e076ad261b5e516ba018254a55ed8bcc662e82b6192139d6af672033f9c2a2ea48559f1f25c29de237b4adedcd30a72c3d6e1c4fd0b81c29c8cd04b031e7349b645777a84c2ac7e8823bc4c4bb6c03cd1b3fcb210fd90ea05ba3f422a03caf39b68060c247e9cf4588b8eabe9c012504fe7bb5a1fb29ef4c8c063f90b5903e78733c60d85741dee9cb08d2fff2d5dcbe960e63341659a9f847a59cca9367703982cad094d70239245c25fc03beef97d0c71d08ce2bc4cd9cba4d4d78897816c03d2e8f3748306f852539933ba30640db966c0cb5c892483261b70d023a638038403c8371076ff526a83c0536187509f775813bc0855ee3ea31bd0077cb1aa9ec12403d37003cad9e9711a731e963fbafafc12a17860ee2dca3a735481d66cb4cd9112030b28e79bd6f0dcc7bf9ed1b1e175f1ad8c25667d5e9d716b871eb6cef8998ec803868087d10745699e510572c59d27e765811c5baaf8955323668bf1885ec4f63b03fc09f5eaa37c2fd5b30ec2df06c2b9e7f6542f3377a1bed2c4227c19a2bc5a5203cf6dc1e3aa32ccef4c066f23c2432ccba51710f788bce65632532cb2e22c02e70356db12370e661c208be58955536814280d4c42d3c8164b82d0f37bff7c70cbc303dec36f761ff233258a6b82614fa57fe1ba5cf8f5303d7f76126b51cb2aeb03ef03e42049c911e51e18b96d742261e17564a2775bb6f52169355bc3df816b9b528e0304a8250d34d84e35492ebeb644d5a1f17ebc0b3cbfaaa7cc6fa36c8c43a78b7a03783134107095959e82bbaaf3cda58d9ddf6cffdbae2eab549477dcd25f1275bf039ce64ff553b9f50090bfcc46368fa3588912f6aedd1aa13f986bc653202a489e035969b2c6e22c398098fb3ce411ca97458b98b7ade4e244231ffdaca7bd6a2cf105581e032e670f6698d7ef318b6a22013e92cd0e8dc79401185636a84fd7d189400c05469c932f3df2e703a9f4f71220294ec49cacecfa02399b9919e22a625632d4813e0deddd116d347f0605581e0330b67886d87639db10d2803a45da7d7f927c67024c87b47c4c8f676dc007011bffffffffffffffff05581e0372b3bb24a82303a1c3d2bea4c33321d5cfa5c70de4c06c8574ef53be200401033b17d888030f7f363bcc231219dfae26deb4fa3ae25486fb6dd88986fca9ebf205581e03b467694cafb803b64e8b0bcc00a629425475b24fb1a418159127eda6000c024701162b16c09fb005581e03989a1af55654e6f63ca82707bb52bd6f6654c276902494450a336bc7000c024220d005581e039f420ff8eaf8e268f229aa9c02f47744fcb8757e385a3e118f963b36000403037fa12e957e736fdf2fc8480fc8b35a9729d18e250d0c45b28d3feea30554a7e105581d029b5a541db346395532e78906a669a9d5962adf7847397fd54fc399cf0c074721f297cddbeff205581d026622c533f8fcd497d4601d72cf50821b7b829b9d60aa75c1120d0f320404021948000219578d03e7d43d55821d8e0052ec82f3bc6ea0cb93620569edd41ec34d3a2d27a276a1680219ffff03af6062bd78931c9af0a0d023c40b398f2c18c40332a5e36d87315f0ed6a3b025037e8fd25613ca898559b645dddbdd6da4ccb5a534e804e1cf3817d97a651ecf880342a4d2be685340c97602d762ff33a4bf1a6bd283b0ad0e25ef60b518b5737b010219ffff03ef26482da499784bd83b10fb97590638654f7eb6e1f3b4d22355bbc2d39aa9f50358bfa49e7dd260385366720c471df22fe4784c561aa87cc34586b5aa4a8dca880357a0ca802c919f5765c1e3d0b51531db5d0523b6e11c5fbbe769a60d9fc07599034e73e6ccf1feb5124f4e7c1c252a8f9f15a94c8a574f3073170f73fa559f5360034164741a436941e4d7e111799e51c91559d50174a0c028a538a05c959dac1ddb0315d2663cd34d56d6128b14924dd318331fdcc74dc8e8eb54e99971193027a61a035a10455d6e4804f1eb340486501f36e119cebb3aa4274583b32e8fb9d08bd6b00392d8d593ca39bf1ec720ff0fe2343a4b146ef732b6aab0010bc5c828971b46480321941d7f7363c4b64158c47b308e22b7f566531bc7df921b54afe5061fae084e035c4a44306f118c87e06d5619a6576be450d50274d4f61fdf2e9c8b3d8266381a03c730845c1d6f036de02a7419905f5d09881bcb708b34500ec8d5aa9c9affdc0d035cd2cc0ed79f855da514d68a6050433ed907d7f4cd17a40fd6ac8b84ac57bd3f0361f45baa61914afbc58f1df3fb59143ea53c678dcfdea776166fe328cd4077ba03813740fc7d92ec0cab7cc906abe155f412f490cdebf91e499e9e4b03dd50315f0219ffff03926fec879a0ca709366fd23c373a66bad6832f044f5b712d5fa7cbce50fc71aa032b5f98c0c561ae705ff3031410f41ba0544a712a37e96a63ba0f4728d8db000a03a33f88d66cda9c85fe4528295374df324f30cf594bec8226c1066688307eeab5037ce2e72a2673ebdf008e8050acaca288071fc81750c0500135ea6bdfe241e9ef03e9da4cffcae7cbbd7df5d565884e8448e226cd93abb04592d8d4f1f15d29fb4903f1b145e0a405b592198e73fe90578322b96767ab3ab48c09987e455a019da1d503dae234b7650acc2a72bf21a080ec4907e56975835a7a6e16c42fcaa9bf3d85c4030c1aee3ea088ae99967244ef494c4657e50987154795d3d05f976fc40e9e8b4903ded5109ea9b30fd4bc781a6ea91df4d19f26c111b33fb7d218c89d726e67b515033fa62f9e5eec97c946f64b4aa881f7831482809fe924b4e24a910ee8544d67a603fc28f30e6a61a94a092768938cf7f7ebbc96050e65f4184c249bfaadb6696279032d93b9356931da6ab9f802cea7153b16997e64e627358a4cfe26b2bfe2fdd62b039d892c4dff0c78c182bbea42c424ffe025fc4570ced90baa735847c2018c4162035b28e513262809dc5a9ca543bccd873f89a68a723e89c361292aea9b889d8f00030b52ee36559f8a4571c730867f0e9ee13773094797cfc1fe8251c2cc6316032503a37e5689571acdbe2b9955eb6c477e5b580e6a7fed5ba20da1b13c6e51c54aa4034c6ec2e1d633980ea82d8ed8828aabf399517a766ec6ce0ee76ac82124abf825037bd42fd006f0d27186b1d078c1e028907cc8e0cfa649df30aa0032f7d7beb0dd0358aefa97b790065f09179fa3b704ea88f2a6355ca8295f0deb91044347cf038a032fdece5bd307d5898542269b2e3e20bf0f8121b9cac6a702e9cb4054f93d085703603dd358a0bb7109ab2b97e2be32b922f581657e3df0d008bbfcc8d0d6c34cbc05581e0363d05b3886de7ef79c20e836bffc711620e82a8fb58b8f168f4458b8f00402033e1e293e13e8d62dc8fc4a498591d7f3f371760a8789f60cf35f9eb4e09b2cee05581d027ffa371213645ff37ca9e18f2c15432fa72de59ec55154a9ba14a3d00c1901da48058b153b724c6fb10219440005581e03712c792a63487ffd771966e5e8289b5a62f646ee0a9a59c1e76483d3000c02471252972215020703cedbf6c71305f56706306e967a02a042ed9186f77edb02393eac8ad13fd132ab035e1d6faa94263090b3b4a57a83d08b7b1209e772b8ede978a44098b003e230db01410c033463eb61408f4055f1b1ec6df44a99279dda48309f492f2b43b8182aab7c827a039c9d21de1199d06837997fd83ac7f258eafa2422fc8d933d7ad769890927d73d05581e030573840b82e3017bc12cde353a5f2d3d95463e4c3f55d238cc2e23be600c0148018e9d4e37cc8000032f2778d01d2636b0834e9b0f35366d3e5b615f5f331609d94d75a2edee44089b02199e7103a9bbc5c496e8c9203e4b662fff74e25f3486585b1a51afd188a5f9eb8dddf887030f90471ebf48af2699d4f635764c6583ad1745f03f8ddd087cef37913b3e28730339c0f5bb39e1d8efe25e40a1f2942dc4fd2b240bce0a1d5a4bccf0cffdfa0ead03447edbdec3cfbd04dfaa7ee62ed90ecc255d9c7afa2e2bf6c4eaee281945f7f3039b0c848ce62a041a69d97fc9ce540952473a0868609987b470d35cb792805f2b038400956b095a955eacd1ed481364ce33b828f746ee74d599efb6764e1df5701803bcf51c05a79e055eaf64005d5bec7696a8d24678deca766c9aec3b1e9328bce903829eff373a51a791efaef8611aad460dabf817f5c93364994c909891eefbb819038bc0dc20b53eb31719ed3615c495d5eab05c841fd7748be882f087a4d1e8f7d4032cfe9bae984571822e87f0a56a2b00a5e8de448cb98963acbf302a45d6d043ce03a2489e1eb6ee3cf4498fce313ba541b0b8975ff94f3bcf343738675f8b8aceab0219ffff03c46dbfd5956f5af90836af3f7bf3844c746260f6a62a5ea0c3c688c327d45f3b03339310dff6aadd6f6a12b10afe846e16fda5e42c44601fbb3c622ac62caf40c7036d7c2aaf5906487758bf7107dcb3fab09c2465b1eae02c204cac7ce190228c77036835f511fb1b334b836dcec52dd01bb3c092ce3cbde354e8deab2d4e090e335903eabd4030be4e4e3d8dda43f6d02711466a8e55162a22cb4968003da038124cfb03f00f38e541ec38576e8370f84aa59311a5f046685a67908fb397970d4bfd3f480376479a8cc65155cc95742776d539805561ecedd828fc2c87dcbe37506e8463390333490cc3723772f11f98703400dce2ceb100b242d53d318a74a9fe00dcd9d70b03dda16fd7033e8328c3a99e7587af019d60bea3cb968085171bac417867913fb803614465b0aa4d79564cf8ebb028e82a31d885d82c47fecb581e71f993765a3db60219ffff03fe12afc58df525e8363528410720d0b51bd1e5f83691393b6b930887332bcfc7031d2cf8987fa11842195dcb3709ec6287ab3c9c94a7b1e0240465f6c94824fb52039361e10ed600a411b734b6cf75f3817af7c34009143c3ea546db669fef19466203f64be78622e9ac5da3f455238b0890fd79622e31b385b5087b4b4f444820445503589385fc1fef76e74ecbc773d977d1fd4d94fdcab4a9b0ec0aa900ca09588d6703e5eb3952efd67565be4cb8f14df0707589897d450e9a73b997eef33fca096de4036b07c9837699e6bcb79191d430b27e4628fc1eace89f5545030aac31fb1ee2600310a0bcf630149218a8444eaed5d2255411c36956fbefbc703f41d24deb78552c03c1851e3732aefc7956c21ddf2f44ab09fa7a08f76e2db9ef6bcbfc76e84bf14803dfafb757f26a7c6ac9d123f6b2abb8f3b4dee69bdf4bb6bcf739531b6d036ab303a65c2c51ffcae0fd881d9583e991753239822bfce5bd423106b58ec7ca6ca6700364471f63ffd975d54c09e2ada7f77d0c4677f07846c725580b884d11549cdb5e035276493f35a50d4867c616b9967fe75848b32bfd45c967a9b853d2988dcc9b4b037fcdba22dd3a7d635918ff6f8e674b6d56f1e943a520f664ae43f03200d1be3b03317ff7ad5d46b14a67d895ec757096e896eecd07accb917783999a6f41aad8b105581e0349b38e1ea57787a76a21ed51b39b9df8d0213fe958f55b5e926f41db800402030930fc7f2dcbe444d0a03fc73d5d349428de2b9beda9525f42f654b09a89188c036edb77c038d58d986ae8a549a114a5f585c5ce0d37f6d8127fc2511bafac07f005581e03c9ee1a40ee52cfce71147e8bd099e9fa1906d103229aad0b7184894c700c014655f27eee6800033a3300deadc96fde7d26f4aa001717221c4b28d3e6770795a6dd5fdf5bd94f8104582d363d3d373d3d3d363d73453722ca9dd2dc97ff7d95ebb2e3ce7cc69170f15af43d82803e903d91602b57fd5bf30058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305406378717d86b8cd2dba58c87383da1eda92d34950058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace054be1c919ca137299715e9c929bc7126af14f7609100582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b05459cfcd384746ec3035299d90782be065e466800b0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880545bcafc77f19f72bcf1420cc1722c3e06e16ec29a0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054711d650cd10df656c2c28d375649689f137005fa005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b054072928bbfaec9e9142a5bfb9cf7de325a300c79100582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f054b30da2376f63de30b42dc055c93fa474f31330a502199d1505581e03acef3ff950bc680b9bbb067faef72be9429ca7b9d3bde66203f4d0a9e00701182d05581e034a34911778d02793122d600edb62d492982d7e93473f29381ff1ed15b00c03475522c919c125d2038da41a688fa64d35222a87d128a5cf26938e862410a64d9023f64f26432c74e205581e03121a85fb94883b446b86a85074a1f0bf1a85197b71737a87d7b409a6b00401032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034d4a530c6740bd93c21cf037ec2a570caa929bd423730c2222321df38fc0cb6b05581e0332c1b6ee562abf3b2a67f5b3932e69013a353cb063f6d81ce68f1e99e007011bffffffffffffffff02197c5b038f273baec5a8e272709be516cba08b90df8a61768c77de0fd8a2df02414eed7903ddebf5bd0e0370f0fbadbc48648235e7fd28d05638f517a4e5032b6d8df96a6303506a0e1778e8984862f644c4ba386e5914cc4b64fcf91d9e8523afa96beb48cb03dbbe70d8c3399406e0745eaffb13b11f98899993d477094c56959027ea6a4f7303efa2b60291d671c0ba417834042a7b4a35fdce59dc70fb64b0dc8228456c0516038137994d6184f8a7bde8d604c191b5b5c5c07a6630bd4d5c0a9e62e488f6a7df031e4f6570c1c434697541d7ac80652eb16a841257c82b5a40cb0f91dc6066326a0338d94b23cc7bcc8876f931f2b24f05bab72e542b3bae264070e0d05e2d6635bd03efbca8d8bcc4acaa87648a78dca35d7b665c66cd1130e359f2617f8ab06993fd0219ffff03d5672c949804bb4f2755f5555accc5504575c3559312280ffeb4b9eec3ffb93d032e1172f491ffb5ddcaf800cf9087ed61cfc6d700ae1a5b088c3eb1290b448055031c9b636269cbd842dbf43ff7730c3669dbdce24e4fbbb45fe2f6ebe0df05e83003f0f8efc44a43a9fc1b8a1043c999a0a94c6168c8ef05f3d342ea4082b41d8680038c3583f78b99fe3e7b16775b8b4ff203b0d3db60296c48ab3438a4e6ea8db19b036e786eb8de7c565f5a4ae9e23f34a96a88ccbe9c43121b87534f3e609dfb1543038f3a8ec04a06f9ffc8ea1a6f762f04dd8281a63b61705524a09e298d3135d9db03f2bba356f62562fda4d3fb7fc0e651a907d1ea395f331088e0dd399d3a23f95e0219ffff03cd91e41112904b68d1a363076ec4fdb43209b6cdff4b160af1c7576642b01cf903939b8a5f9050b13e47f21a2116abc303b7552d5a9b0c713295306f01609af3260219ffff036d904ea4391fd849316cd983e27951a06e59a593e458e9f651a1dfeb13cac0a7039f5da3f0cc3bee17be7658de7e864302cbaf31d400ffc05513b8e0638b4c11af03dee43c978e10f6085df6e9d37ec2f383e52c9854d8d53660cd583869e51b6e5f03e35a14edd6628f3d693604cf95c10ad744b2cc5adfe5f9a7eb396cb9e3fb46ac03b7b84343ba766bf0f47aa3d8ecb5253fb2da1794a3e87339c789a7c1b78cb01c037726df44ca33f9dd2013ae0f00b5e704db116d211fa8518b5dce8841e01407de030be6ee8167c9e3dfe97d8c109a266188295221fdc754a183033325bd0b00c3f7036cf21c65755b56d4fb61b03e56af0ba43c4eef3cfbc58bac9cb9bc50d13beaa903616fd6c67c70ad49489a656fdca8566215c6ef57284d7853c866f520c4e2c38c03dc7d2d919b1a8c7f52d5db888f9852b42e8e00eca3c5fab464477ea8c459ad4403750dcde46c65b9c005d19e84f954721e647ada2e43b96967b728899142ce655f03a4746f27f68a0ecceed1824d09ce87b11abb6c475be806059d22312029f2f2e8038aab4522cbdfd46ad3bb8a3d5ba54aa875fc66afb14a4d776924ce17eea70ed50340cd01a307d0138fd131fc3a4ebb6911139b91f832b7fdc3753cbc187260a18203e92c3a24bd4b8476cff37c1af799dec7d007527e885ee1fcba36c514fffd724b03966e5bc448ae739c5e69924f4f4116d054b03c34ed7454690f64843cc9e4f6820352d2f033e107dd33fb8698477eddf3a704f32e7f9b3771b2973ca594564995d303ae52d9c5d32d6fee352614be06eb230d77849a7305d9f32cc27ceaae0d9c32bd0372b5c9795516a4a919e50731739ee43aa18317a159a1235cb9bbdf6d36dba3bd03882f5ffa4185aed1e200078a096b1e28d25f6904e3890399b18f1f831fa3789d03e0b0b8aaf3da8afe4cc98be49623fdfbf70cbb8ea2fd110863324bf0aca85a6903718f2ad653a8f7897117c8d5176537337203ea916fc3cf43e8e130eb5bb4096103ad681f8e1e846103521dda32cc9868b5bf2c621776d711f449c50885c93428620336bc31171f627ef60aedc078e91752f289299d642143b7d40ad831837c796c4d0399eada468105256610aa31c64583e8d6f201e34267a4a0c0250b203cc9501c73035658d198fade767c55f4ceee6cffbb4ae25c618f830898dd96f81f8111c8dfba05581d02d39f67be54c21723367d9a456af2474d1dcc104880814fc4fc979f9e084711c37937e0800005581d02925d93239772dbe65c6fad0b8cc915d25d1493485277f6efd138e74c04010219040103e263a88d8701dc4acae001e690bdeeec87448781274156c3e5a4f639e7c87b4c032b94a4db4da64b6915efe7744afb1d981e4e644d122e5dcad2339aec8aeff64805581e03ad8ec4208ff357a98259715af120c3b100ad334b24efc50de1c5ea619007011bffffffffffffffff05581e033eb7d2320a067c6609234606e40e716995829a9e829592ac1425083d200c0247a0919036320d18034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e03dbd3e039243a228b035de27cd811a9659b9fed0d745a4b474fff9971b007011bffffffffffffffff05581e0323b00920462fc81490939d73c39b2d07f1527eef743393017c883058900c014764f261e8a5e000039fa5f3355fe5bad7112dd9f8700fbc22cd92476f7a8b8b71bf21272a99e9af2005581e0337ffe4ce88633b16a6f5d8205d3b2ce5b8f4c5a4f9f176767175a764c00c044736e79b5efdcf2b05581e03734717492a77c1a6e99979274e7a164fb970b6fec89647b479043c78a0040202194c5e03f6242038fcd5c2717cd0ce9627fb9f89691b1c4d5e35c60a27d7f52dfb858ff2031d55a0ae4fb2e0136719fd26366cccb3cb0fcfbcd8fafd2e37c84cee6ff3c02a0382c08b7fa41fcff39a807943e4eaebf4fadb8b1b1da90ad899267ee2490576ed0369ea6620a33eeb00aae967c8e81419b0fdf1125e48d56a594c333a3009df63ef03d3e902b207f49f9e8393e508dbb271ba29bec11e746e3787a6cebc06b3e444ef03eae55fda9350336fc2f06663efceb9d8ade55cedbbaedcd113bbc9ecdc25ac6503124c24ffd780ccb3d0365bbe59fb8404ec585730716004ce31bfaa0f859820a203a988a820223b10059a4624d08d3beff80a973363962580849e31cd5951401507033504433a48c1c64eecb2b8edc603334b6598d3ed49633d0834730e6083196306031b5dd2f318d26a8e32e2c77da459b5633080dad250366b3ad6b8503f6e9c43f003e88eedc684aeaa26df71b7cc6e51911df66e86a6de1f5d82cc28dce1a73210ff033fb653c2fa26c8db8290a937b6d20bf6d04892482c5f60635406f4b8da0a9ccb03a384e55457a9edf2e0952d36a3933048b2d2aae6f5bfd6e97c6c48de79df2a5b035870d141a3946948daa9aece4b87ce7b91944d3bdca939a0783c37a5bfca2a450219ffff03cd59090863e758e4df142e02eb012f881690f10077305768690cda761ac95cf50219ffff037d6018eaeb3cd49894f494b3d951de217b0d761fca5463041d17d8c8ab0d4a15037c1a9f01cd0d5c2d9d611feb271a1199de493626ad7f853c1c871e9b17819c110367b199fd3a3ce9a966681018e8c4b5f02fe95b723b9f761202dfd1ff3d923c0503402d6b40600ff513099749075ab74e5468440d048f1c57b9dfd11c7a6dd4e6c70219ffff0385752e57a27956cad6b7fe34234c81f5419d3ffac45e2ab891dad5c3ab06ae7803e89134dd392e0b6cc98e403d7a68cd740431a46186230fc375d6f66c939281d003aa6dff57b66a635b3356435fcdf8783f474e43702b365609d2b7f22620eb959e0317a4327ae4e95341a48ee3b4f01cc3edcf5d357301ac7176a58c62ab692fa01a03eb13cf1f286c4d9096e57fb7ee08f2487a8e90e086bcc736d2dc546b749c84f803141d7755c0c5ba9c42e721dbab6116eea74f104bd8c153fa68981b2743d08d0c0341b535f5359ab09d1f969ec1ed9f724346ad00484bcacfdde49c4e3bf0ce267a03b6934c78ec55b6399232e1afb6735668b2d8b53976023944d378038447755e10031f9c5e00803cdb2a28b0c312c32e217c36241944b452858c94045ad4231997fb03dcad57ca7a0ff0479bf50c1ed9bba4965f161f83c4ea646f1fd0954b41c4cf840335137d0ab2f39867927ddcb6e1ebe08263c5a5f05a7d9f2ab932994cc418816a032609f7a44124adea7ed80157a56f248f42eaedc442f01562d9085c54093e622103e2020545fa8a63f7c35b63ab0edc8ac71f785ca47b6580b794109b53fc2ce7f70391fddb9cdb2249947474d33d6b0b68aab2ff72ce303eb6fa68bc96e76600acae03bf81da541cd0e14a47b9283b3698a6fd803a0003a052223982eee9282036154403f6828ab81edb45053ba55e53e67470bdd6271564574c7bf387d7bc86a61e75400306d6b5fc0553867ce7404fb28accb4485912227abe774910a35cd944c88d634203aa44869d574cfee08e8bc8d8ec3035ed55bb04b9b4ce3a139ec72aa2371d32fe03f95de474b26c04cdb106d6e1fd6fae3daab7bcad6cad543359ab07b65ff64b3f03e2aa99227e9b81f6d7b95852e94070f75560711e437ec6582881af4a12449ca30391928015e19ff825868d673bec8c9025620c7ba2c65c9fcb3e5121649afcc1020346aa180e22f732b4259fb8f5bb9affa1e11d4adec5fc5aacebc34240e603edad039935baf140c8a891ed759d269082496c6de32f8519aeffb0270d2e1b299356ba030cb4a243156d357a6a9edaacda967e2d5f55134a4f5f514a9fb47a999436b5a40396de7eac21dfb23c41224ae6e1ae1c47764eb89a4563773d391c2d2db384220f03e356c32af035577738388e39a5ed2d3316d29c3db4b82b46274778e2f3fea37103b1cd1b49b0b6aceaca6c33fd5001f646b82ad111a482db063841806ca3003b7a036e6ca1537201c091529cd1419e24a7e7701c9de81b3a62923e8049fa0a3e69f203543f6a482142360392d7d2354d3456c848a8250a39b0a75a6f77c94c193aecf0036627c1531f481487f02110fb52c4c72a7303a85243b01b99614842827c159a59030dba37f8ad3fd63891ebb4a5c306f6ee8a5611023b3491e739f7953b802ad8be0360c808300e5198bd8e386514e711dc696ad678baefcecde03b0d0716858c1ca1036c9b870ebaf23646e8e0cfac193647e2dd8782db9532f5e8619b0495d068034403d9e03b2c1bd481e884b76174cc8a7a6c5160de9b08153684937b16421753c1ec038399927fe6ee5c5b70ebfa97b9d85e2bf61d245aef4dd988e27fb702eb11f90005581e03018a2104493577604065a94a6abf4e02fad37efca7f97d2183a0bf69d00c0245012a05f20005581e03fb34820cec048165774d770b38dc34e9c3c566b07b1b8a9d97f54423300c0247038bb6c2e1c1c205581e039e8c1f9d45476884d14967a22e33e74d95d93c4747c992e3c6d6f7dd400847470de4df82000005581e03490c8e3e6dfb330321c38e7fd09699ef435dbab94dfa9bc37945d5fb30040205581d02452807d28ae75214e4a507c25a4603915073f99dd1086c6d1ac427590c0e47115e35d465a02905581d0281ed4cb6f04887b0afb5c8cbfd876d4bf45170134b7c55baa84e8ed30c064708e91c0742e2f80219201003e5d6423323757ad9f2d1806895d4824bd6ab902cc477e20cfbba7f34d852ab3603735c84241828ab0e0ecf25347dd69fa369273cc56de944c9cb57ddf0dd21d5d905581e03966e29bb249ead238fb8aacbd7106207cfc2c8de501f633f4168c838800c03466d7c7589521005581e0315dbfaf8e84bc5562a51bece3d72a3996750ad2e04a85ec73ecc184330084798c445ad57800002197b2c03a90403ebda7aa42d80bde12ff2e6ad14c4de5392bbec4a3f112e5d809d687dba0393406ea48d96b2b8cb4dc55b6d3bb149ac7a81ea666d9489d08077342f7fa88603e15fa6f646dc06791ef51eba7bedc12a4e636bfe45d62fda61e1f19d275d608203d570d1609efa89adaf8238cc88b5ddaef9329e0466c05f52e3538299b1c0726c031182cd123a4c7de7673fce8776062687fa470864c9bfacbebfafc38daef50b18037ebe2f83cc5cf29e343dfd81b291f9b7cd2ad994265a4bd74e4fdf8f58af14780219ffff03c3cf0a927e14f8461a2c5789b983baa755bd6ce5f28f6f441dff6e40dfad598903721b5413b2843ca2bbe474f99add9dc6a8c0f04b091c3e8e793a8518576f8e2f0219ffff03d1863f39881a5cff9607ab3fe5fe25e544af5cb67bd1f029188964b07f64d4970338d788ca223dc164fff4f901f17458dea86bac2ba3beebc11a65677c9fdec2b10321d88977510205f0291fdca65c79f901d6dda9bfcb7afba143ab14f1197a89a503a1290a7b8db2484c845b6bb25471712b052cebc835801b49bce9f814a54d73d1032e42385bb2b92206072d700c1d53d9bcd7ea0c671f282501bd39694b59fe8e20039f984110724fc0ad86b75a26815d729a61576ef10f6e2c4e57372b623806b3e703f74d598108f8d1e9045bedef6eba7b6ea5de1426417a278998414ff074655ad60219ffff03594e353752660262cd0760346dd41bc5cb7e661647ca0025e19dc92e14f9fd6403b3b375893a988412673bd8d37f61e2d79658d3a2ce519fa5c65d3f50730eaf54031399a25fde067f434eb2e1b1794f7946880a36394be3958fca140b66603d7a09034a5dedb4e030f6ecc71e6214f465d0b43b7fa4ec2fef6671518cdf6ceb91d0ae036cb7cf96b43f89294998b5069ce5d0d93bac8c83f1e1d0a103c518e845a3732603aef9258f57503c28542f66d742910a1cba7ceff7b91d279b7ec8e3ec2c7c0b0703584896601cadda13c0fa26c061dbe8d4deac0a4a5a6608661cce5a1f9f2d2c3d031fe8b979bb76b5bf39d14936fb921045633ba5236d45fdf315818bcd640b3c9f039e761e59da39100ea8eab798cea52fb58cb21956ffd64b231e8e0e96d7020bfd03b1226da7c530bf6a3d575656c1b28607f738b23aaea04b9038a8044eac5720b9031f799a2fe5bedfa5107c25295960e396d00fd87887f359013e97b2dc6784297a03b2dfae92b7039e2e4830292c810b47002a5fcc8d7c592e1b595ca70f9d61d1a903e4a0bef8bcfe419149745300c10972c659b06cd31883c67fa543490d81586af603cb442d24e4274c83f29a709e56b378fd5c194197650c21fbb57f4535c455642403959f879f04b8d2ed98e6c4535df3b2defe0deb2177315ff334ad0e90fa7f5aa903916f5048d208226dd8c8c2006b276cadbdfdd65856d6d238f0f2f941521cc96703d306a65af4b6f8729a17b1044b6985de07f7d4bc1649796ef06434366d2e6a28030e1257d269e73cc076d512c26611c0c4c7f7e52eaace442be54d91b8081b2c200354abf7ad6205460351c12ed275c5187088af85a37701663b01bda5308924a5bb03ff39bca2bb072f2030c62460e2aee71c674d127ccc8f78b3f291159f4af980d0035c77964ccbd69b30c56eb2f4dabaf1ff225aca2860059b1c7caf7434791d92ac05581e03959297fb4aa18f8f03037312ea346f20a85761abd8926f95fb86cad5c00c034467b52a4c05581e038634ecc40b0ea08d52e7d845c233f528d1eabdc40958cba5051d798d40040305581e036147e9298d128fd6afe86988655fb616eba3d1220c4d4119e999151bf00c02470f74804a30ae0005581e039d25c5dba99a9702be10c78f528111019e346398bfe1bac7ff740db3e00c0d46e42578a6f31003bfe47ee0d7a50aeead8cf46cbf6431c38c2e4789ae28ca90b99f0a15a6853d3f05581e0317d0023416c4441203335ea40d8d1dba11c8907437409debee2856c4900c01470fd8547ad08c0005581e030cef2fbc19f92de3acdf2ba6a3e793b00ad0472156f1651a0b49316d500c0346c3b22b6a940005581e033ab40ee5cc1b4f336c444c5be0a7b81d4fb889f0b03d1616ebf6f8aa000401037295d64b2906ac33c8864cec52f9b23a44ec94a4ba109d6a21fc36eba47120c0039d1fe6e7891ee0245a9bf1a6d04a3ae0cd02a68a1a0ddb562a492e5f265f79e703a610d3b96dbbec92a9882c8202aa7e65efbba36244fdd7335c880a424e9c0b4305581d0239608eabf56a82d9123b921bf4f710b5d4207dc9fee33f558cacc6b707011bffffffffffffffff05581d02d85e136b1314428fa55650a827c9f5c55e60a6afa6982bf3171ae5ff040104590e0c608060405234801561001057600080fd5b506004361061002b5760003560e01c80634b6cee5914610030575b600080fd5b610038610071565b6040518082611c0080838360005b8381101561005e578181015183820152602001610046565b5050505090500191505060405180910390f35b610079610db7565b60405180611c000160405280671104800180018000815260200160b5815260200167010780017fff7fff81526020016000815260200167020780017fff7ffd81526020016004815260200167480a7ffb7fff8000815260200167208b7fff7fff7ffe815260200167040780017fff7fff81526020016003815260200167404b800080008000815260200167400380007ff98001815260200167400380007ffa8002815260200167020780017fff800081526020016004815260200167010780017fff7fff81526020016004815260200167400380007ffb8001815260200167400380007ffc8002815260200167482680017ff9800081526020016001815260200167482680017ffa800081526020016001815260200167482a80007ffb8000815260200167482a80007ffc8000815260200167482680017ffd800081526020017f0800000000000011000000000000000000000000000000000000000000000000815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffea815260200167208b7fff7fff7ffe815260200167208b7fff7fff7ffe815260200167110480018001800081526020016005815260200167482480017ffe800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff815260200167208b7fff7fff7ffe815260200167208b7fff7fff7ffe815260200167110480018001800081526020017f0800000000000010fffffffffffffffffffffffffffffffffffffffffffffffa815260200167482480017fff800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffda81526020016748327fff7ffd8000815260200167208b7fff7fff7ffe815260200167110480018001800081526020017f0800000000000010fffffffffffffffffffffffffffffffffffffffffffffff4815260200167480a7ffa7fff8000815260200167480a7ffb7fff8000815260200167480a7ffc7fff8000815260200167482480017ffb800081526020016032815260200167480680017fff800081526020016004815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffd1815260200167402a7ffc7ffd7fff815260200167040b7ffd7fff7fff815260200167208b7fff7fff7ffe815260200167020780017fff7ffd81526020016004815260200167480a7ff97fff8000815260200167208b7fff7fff7ffe815260200167480280007ffa8000815260200167480280007ffb800081526020016748307ffe80007fff815260200167480280007ffc800081526020016748507fff80007ffe815260200167400280007ff97fff815260200167482680017ff9800081526020016001815260200167482680017ffa800081526020016001815260200167482680017ffb800081526020016001815260200167482680017ffc800081526020016001815260200167482680017ffd800081526020017f0800000000000011000000000000000000000000000000000000000000000000815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffed815260200167208b7fff7fff7ffe815260200167480280007ffd800081526020016748327fff7ffd8000815260200167480a7ffc7fff8000815260200167480080007ffe800081526020016748007fff7ffd8000815260200167480080007ffd7fff815260200167400080017ffc7ffd815260200167482480017ffb800081526020017f0800000000000011000000000000000000000000000000000000000000000000815260200167482480017ffb800081526020016003815260200167480080027ffa800081526020016740287ffd7ffc7ffd815260200167020680017fff7ffc81526020017f0800000000000010fffffffffffffffffffffffffffffffffffffffffffffff8815260200167208b7fff7fff7ffe815260200167020780017fff7ffd81526020016006815260200167480a7ff87fff8000815260200167480a7ffb7fff8000815260200167480a7ffc7fff8000815260200167208b7fff7fff7ffe815260200167040780017fff7fff81526020016010815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffb781526020016740137ffe7fff8000815260200167400380007ff8800a815260200167480680017fff8000815260200160008152602001674002800180017fff815260200167480280017ff88000815260200167480a80017fff8000815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffe081526020016740028001800a7fff815260200167402780018001800b81526020016004815260200167400380038001800c815260200167482a800c800b8000815260200167480280028001800081526020016740317fff7ffe800d81526020016740278001800a80028152602001600281526020016740137ffc7fff8003815260200167400380027ff88004815260200167400380037ff88005815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa0815260200167400280017ffc7ffe815260200167480680017fff80008152602001601081526020016748307fff7ffe8000815260200167400280007ffc7fff815260200167480a7ff97fff8000815260200167482680018000800081526020016002815260200167480a800b7fff8000815260200167480a800c7fff8000815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffa18152602001671088800d80018000815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffff92815260200167402a800c800e7fff8152602001670a0680017fff800081526020016000815260200167480a7ff97fff8000815260200167482680018000800081526020016006815260200167480a800b7fff8000815260200167480a800e7fff8000815260200167480680017fff800081526020016004815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffff6b815260200167402a800b800c7fff815260200167480a7ffb7fff8000815260200167482680018000800081526020016002815260200167482680018000800081526020016006815260200167480a7ffa7fff8000815260200167480680017fff800081526020016004815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffff95815260200167402b800a800f800681526020016740038000800a800f815260200167482680018000800081526020016006815260200167480a7ff97fff8000815260200167480a7ffa7fff800081526020016748127ffc7fff8000815260200167482680017ffc800081526020016002815260200167482680017ffd800081526020017f0800000000000011000000000000000000000000000000000000000000000000815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffaf815260200167208b7fff7fff7ffe815260200167040780017fff7fff81526020016001815260200167482780017ff9800181526020016001815260200167480b7ffa7fff8002815260200167480b80007fff8003815260200167480b7ffc7fff8004815260200167480780017fff80058152602001656f7574707574815260200167480780017fff8006815260200167706564657273656e815260200167480780017fff800781526020016a72616e67655f636865636b815260200167480780017fff80088152602001646563647361815260200167480780017fff800981526020016001815260200167480780017fff800a81526020016003815260200167480780017fff800b81526020016001815260200167480780017fff800c81526020016002815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffff53815260200167482480017ffe800081526020016001815260200167482480017ffd800081526020016005815260200167482480017ffc800081526020016009815260200167480a7ffb7fff8000815260200167480a7ffd7fff8000815260200167480280007ff98000815260200167110480018001800081526020017f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffff8a815260200167400a80007fff7ffe815260200167480080007ffd8000815260200167480080017ffc8000815260200167480080027ffb8000815260200167480080037ffa800081526020016748127ffb7fff8000815260200167208b7fff7fff7ffe815250905090565b60405180611c00016040528060e090602082028036833750919291505056fea26469706673582212208a78dd8a6ff9f29488e0dadcb7561996af956bc22b2686542c82397b2994a27664736f6c634300060b00330605581d02cc0e6067d3a0bcf6d8e8e449405ef7d4c5d58bdfa7e5971e97ceaece0701190e0c0219014805581e03280f8a7d17139a93577e005a6af4d2ce5654976c1c32ecc2a21bd191f0040405581e038a351d72ddcb11f3054c3dda5fe5d45a0ae1d6eac844c5c20137e5f110040a0219f73b03404d270d857d2c117bf50f8c1a40fa209ace7f212735039a124bfb1394d766d20337777d781eefabbe3e235e4d1faabf2cc59493cb5f202d1e88871dd3544b1024034525808539fdb83228768671b901e4f350d197aff4f1c467a267204fed97018c0219ffff03517828a45e5006b099d65e53ef85c97f682ef21f1a0ebdd66a829304af29cb0903c166146f398cbd8dac4c0c0b6bd87b34dd094b809f3213946ebaecf54a32e08003a205b66b3b1a33d11fad58ee087147525f043988eb8f2d51d0628d642e43f4fd0310f62a1cc1ec7d18df384b9361a177e69d949e7950a5725ea6bd3c0636fdbee90372068948ce9d2e4e26a63b558d8f0430ac4c5b79b705e36b52411267a9e89fd003db302332fa97c3d9ca3bc77051d705db2b359c05a9d71f3656bbbc1bdf37b8ee03dca0b3bd4835d15458be3b025b39e3b8a1bc06dc84b3b2662539346f462ae76f0219ffff0319df0b1f53a6b57890db48ec0ae65f49797509fbdfb1a2f5c921832905ef9f0f03b55da0a095913a666c71a7a9e502a4f31cc3a60819d3c1ffcd1a9370dd590d4103b977eed820566d6b9765ffb390ac07b5390cb0d80ccf4d6729bce593660d9e790359912554b595ad845d1105ddcbf7235ad852c86fbc6e00fa0b0ca7da8bf4e2900361f4ffc377e76e7b0135c6f2c6e6ab8fa2569b4369bbf52b7925ad6c91f7ebcd03512d3e2ba3c0844ac6517693a3ff7eb901bad9ad3d85cc93706aefa09711891e037d03e04bece4853562bb549dee49c3fb4dbedda18658c7c648c860cd4bd9ab50037ecbe50b478a6adc56650a76913d8796da2e4720aeb6536f45a363b4b4da7f4903319e3339a40b9ad20c731d25aa3ee0dfb5817dd1965cc8dc7989ff069c2a53ac03bd7dba09d52e7459ac6b23fa15ab8d0d19c7dec8142955529bd16b352320bf7d03691468cdea3d26ece784d880fe7c596b50c29593303d620563777070d23cc1f0039312a267d8fad96624935506b0ceabf61ff85e5fed02f64c092195e5c35cde5b03064961b275a998ed95742cb0c3aeb2ec5caf6784b4a928de34ece504c5bcd8b103e7fc82df255d47b2a9e1bf4aff80399e05a2b442d9bb9f5deddf0637196c798e0219ffff03e6e882e5bac3fd5e486914918b2414f262d1a4bd4711c4145817389b74cbffca030dc34125354efad76a4e32f0a788408a8d0290920fc330523338df6a3c7949cf03d12186eabb3e5c0141a89727a4f504df0b3fe0c2dc936ba4caa3237e50c1954603d94431c393ca0ee53e6363bf6f686bc5432300e3253b5064b2fc987a5818547c039145613b053ef5e4e8610e9e1a6fab854296a7e5cb70e437a36e8ee4fd928084039d8f4ceade5ae761d3b8c33c695e3a87a3b9888f32879fcd77d5165fb8e8289f035b7643b3aa244c0fbdcad2a7064f2c6313db68dc377ce6d8dd708f15cbcc1569032599f1c114b7d02df594558ffb9b59825e12874052df70a1d10e5fee70eb4c65034c405c95e33d2f1b34a15bd908c0e3324fda8f286fa6c9fd243ae7c06926d07f036d9078db27940ab085c2d6461dc95e13d200bdeb394c7a0a35e85fcf9c86bdf403e6af868c695eb71de97b03850bc8c78197e38dfabe4de01d23a8a6ac6ddd96ce030b1bde6d34c848a83336ca57d920c059690f39bd96870be9117f40da4a246168034dd62e7542b4755d8b60577436c40cc59c701df3fc14d00939642e34d2aa6a72032c05b032da31953cfd580ece034ab836b692180ab5976b03d83001c5afbb02b30388fa37f4e00fe1bf92c7c319a26466f1e9db734000a25ad098c64843fa69050003331e85bc84cbaf08f94622a97e9478e944b25bfbcb6586d8b7524111ad85dfc40343777bc02bb45191a5e6ed7de1428b872ae96fbebcc394019f81f13ecb0d56a7033a55357b1cb90b63ae09f89b385cd18cdd7869f117d6b6ddb469000363c5ac6203093f1790c61203b77053d73936a908f303423435166225f21d924071313c5dc003c8aebc9ef86093f4b321ea4a73bed75706fcc12bc855e1f7de37c542352f070603bd890b8287ebf2f00f568bfb67f03b62c63252a70eb7df0c06a743cde6fbed8a03afd8f568dd038535df3248d2664cf09a548702879d7049702178082035eded320330269b3282b6052f0e18e89ff19a058636f47a7e922a25b4936021596c6f3b6503d64889bfc3514a7effe4224944fc6fe6a6e09e189a0134a1d7c41baa99ed4712036250c9081112628c586b692b0c8d3726650f18a0118c955e11d6bbd92ff5890e03fb6c82fd0d7ff6093b08c08beb3b68e6c047c75ea957d6f4b3131886a501108005581e0309e4abb6d60c2d56f64c40f66758d02298477ed4bad03a46e48c10faa00401031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03931f1bb9c38efc43374fe0ebf7f6f0059d8bea478f1ffaccc4ac4ecd0007011bffffffffffffffff0393f04da983e867304268a1cd1c3d399281c56100846ad72f1c5aa407b8449a570459086e6080604052600436106100595760003560e01c806320cea94d1461013157806333eeb14714610158578063439fab91146101815780636499eb12146102005780636a93856714610231578063895f0abe1461025b576100ab565b366100ab576040805162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f52454345495645604482015290519081900360640190fd5b60006100b56102e5565b90506001600160a01b03811661010b576040805162461bcd60e51b815260206004820152601660248201527526a4a9a9a4a723afa4a6a82622a6a2a72a20aa24a7a760511b604482015290519081900360640190fd5b34366000803760008036600084865af13d6000803e80801561012c573d6000f35b3d6000fd5b34801561013d57600080fd5b5061014661030a565b60408051918252519081900360200190f35b34801561016457600080fd5b5061016d61032e565b604080519115158252519081900360200190f35b34801561018d57600080fd5b506101fe600480360360208110156101a457600080fd5b8101906020810181356401000000008111156101bf57600080fd5b8201836020820111156101d157600080fd5b803590602001918460018302840111640100000000831117156101f357600080fd5b509092509050610333565b005b34801561020c57600080fd5b506102156102e5565b604080516001600160a01b039092168252519081900360200190f35b34801561023d57600080fd5b5061016d6004803603602081101561025457600080fd5b50356104ef565b34801561026757600080fd5b5061027061056e565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102aa578181015183820152602001610292565b50505050905090810190601f1680156102d75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b7f7184681641399eb4ad2fdb92114857ee6ff239f94ad635a1779978947b8843be5490565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f81565b600090565b7fc337e0e55e61c2cfdad2c2cf8a4fbc074b131f6d2b4d935a947ac88b792ab2b280549081156103a3576040805162461bcd60e51b81526020600482015260166024820152751112549150d517d0d0531317d11254d0531313d5d15160521b604482015290519081900360640190fd5b505060408110156103f1576040805162461bcd60e51b8152602060048201526013602482015272494e434f52524543545f444154415f53495a4560681b604482015290519081900360640190fd5b6000808383604081101561040457600080fd5b506001600160a01b038135811693506020909101351690506104258261058f565b61046d576040805162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015290519081900360640190fd5b61047682610595565b6001600160a01b038116156104a05761049b816104968560408189610810565b6105b9565b6104e9565b604083146104e9576040805162461bcd60e51b8152602060048201526011602482015270494e56414c49445f494e49545f4441544160781b604482015290519081900360640190fd5b50505050565b60006104f96102e5565b6001600160a01b0316636a938567836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561053c57600080fd5b505afa158015610550573d6000803e3d6000fd5b505050506040513d602081101561056657600080fd5b505192915050565b604051806040016040528060058152602001640332e312e360dc1b81525081565b3b151590565b7f7184681641399eb4ad2fdb92114857ee6ff239f94ad635a1779978947b8843be55565b6105cb836001600160a01b031661058f565b610611576040805162461bcd60e51b8152602060048201526012602482015271115250d7d393d517d057d0d3d395149050d560721b604482015290519081900360640190fd5b60006060846001600160a01b031663439fab9160e01b85856040516024018080602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b602083106106c25780518252601f1990920191602091820191016106a3565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610722576040519150601f19603f3d011682016040523d82523d6000602084013e610727565b606091505b50915091508181906107b75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561077c578181015183820152602001610764565b50505050905090810190601f1680156107a95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5080518190156108085760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561077c578181015183820152602001610764565b505050505050565b6000808585111561081f578182fd5b8386111561082b578182fd5b505082019391909203915056fea2646970667358221220f61891aaa78840b44149d473b452429158106ae9db3e8ed9085b73863741260564736f6c634300060c003300582102fd91b0182ae21523e1be6655e92f00529b189ca8b914720509b9dc6cc941b2e2412a05581e031d0fd8b1dad66d304650abd4db84b4f8f9d5979768ae3be7d77f6f1830070119086e030c0da30b11bf9ceaeaa83943d2481cf5eabcc5cfb9379baa9f85d137c5ecddb403fd2186872c3155805711fe84224ac625ccb2e8185b058b023c50313c6f2dc1fc05581e036e8b44f87d2fa8fee3752292ea4255352acc0e10637a5872746c9a856007011bffffffffffffffff05581e034096874d47416bec44e796c3d4c4ef33b76fef4cb01302bca03d792fc004010219d805031e676421427a02c424fbf6c993845b5f91cc75fe76b719c47a5a216d3c0acf7a030a7db251c2a5801b9ec60ca735c17ec2d4d2005b0b10dbd2bab28a81635d33050219ffff036ac94a4993c9c78289ed8ecc31d24bf5f73a983721b570edcc6e4cede55711f40342ed9e2b973546778137e16e1bb0e9422f98c9e1e916f35dfbb77d4850a16a060354a22653c9cfea98920db8fc1964cb98d9aaa417e6e8b533765a2500731b0c400362e71d88ed73c0e6dad81dd13343ee3ce97331b56c9e5c9731801ac652959677035f418601ade5d8b11e539ff7dd866ac59a96ca11f101b4cbd6ba243ff49f1e190327761339808b62784fb694ddb9bb5f0b1ef6f42490c3b72bbff7577d4dddafd00219ffff03ccc8fb559e8e2a6095cfe485d7ebc12a33d71e747df739d21999ea472e440db803be432bc2d586d9d171b698f3681c77f694bae933f1feecd9b43bde5951fe79de037d7c9fd11bb2a192add6fac793efc05c408e8991f851bb1c6fd75531884fb3d803b40c2ea5d8846c1918dc44fbff8c79ec14885e617b3f7454689a2d2537dcf73203cbfe5ee245006897bc5cdc1bba11f024279ffc50e9804396d88e95e73c42cae10372242ba571461d86b2253a385a841aa72411904827b2f1986033ba1b58545e7c030acf31a6f4c9dc9070dfc8e7090fa1432eeae71e4f5ea333deeeaa25ac7fdab9036dcb89b9aa3760326bf05ecea18d87711b52aea0baeb10c0be22baed930e68df03ed936d4c35bc31f789ed5688356c6e13b7dadaf8cc4ac21e8e67761cf1925b2903ba94d7db60a71515841f568a7898630703e0d65d1557c1e3d9ef3790bf4dde9403fc368fdd734f77638d50f1d3ab628961a521f368d06b6f343817e9b14aef12b50219ffff03354f437196844e8223c1ff05906836da443f3d9ce8a6733824d9fdc52c4f17730337da9b8e18b1872cd9d3bc14b2475c7ee620b4d23de952d2690ffff2ff2a099d03c882eda783af6860c2370d315f3af0d0057680d407c69fc9103c8004e9964d6103e9d722d31e910a9dcabbb6b6d389ebee39182af5df2c90acd69ae0aaacbc6a3603d2e170c076a48e885bac1ab3f8dda550dd9704d1ef0e97409d0dac8d7e13b4090386f3997ad5c6a1bb08be89f7248ecc5f73f9880e1512e94510348c863785546403dd0d81725e795b9f219945d8dc342b9abbd2f39661006041dc111827ffeee50303638fa4a471689abfd1f79b5c0b6ddd7a1e90c10f007a12b542b3f215e1ae165403ab06093cc2d4cc5c9dc52ed8b4fefd7954b7896208603b4190a62cf506b35e4e03aae127531efcbab62fe24b1d4c1dcd23af7bbcaa82c34f64a8acd230e61ba474038131ab11adef3365a9c8e88bad600fbe0e0d5e3c9d22713683e3cbb878541d2903e3cf15fa5e4c88dd202eba58adf73dc1de1c31d018dc112657f0510657d44f66034848f85f0ea9ca2958692d779a74bc75d39a4fad85a51004dffee85fe4f1491b03d23871217091cc06e8c7bd6cfb19111c9d435b074009dd68ea4fdf77dcb269d803decc52d942761e6d009c951f0ada5e61f0bdd2cfd791bd922cbc62bbf470118303590497d8ca4bd88ae1daaeb0a2800b4671e493849d25ea3dbf7cd5585c1ab8c803c75dada26ea03cc4e705b9dfb451e14f8dab726b7d58579a08f66d8a9d14597b03ec4254b02d094bfafb298c36f5e939b1f1c8d4699e9fe1a876842d0dede7147e03ff81b5300719c86a6c5856c27364decb97ba75960c45153afadd28ef4af811210310b913363a819ca18a702be245e17c27ac41eefb1c8d86c96f74f2a8b1d2dec7036366e706e94e2db92e6e51b99b04cb2692af8f7cb2d95321324c86dcc538a6e3036ea56111d884226f75a683b7e161ae6aedafcf33d0f708544989f512a0c4b06e03a2fb6cc163be7b602ab931f0bbbdd61e4076486e36877a527892c8dbda6f591105581e0380e29486c57abb34872444a6b3d75e03f2ffba3a1b5d655a2f7ce20c50040105581e030eee9383fa4bee6c1dff6860d6b4ff188073aacd5564f5c5d3c7299680040205581e03c17390f9729f1806342ddcbf9cc3a4ae6a00caaa4b41964cd5d37666600c0447013e33077190c003b7810449b2dacc0727645d99dcc13714e419f2f3e12800cd6faba865b4470f3c05581e036a3f7537c95f24a0353bf358b98fb0803621f7a50ae49e176008af3d100c0247012d2e37863b0005581e03e9790174f2ce1fe95aa331e3049bac38731c6db07f91c519f0aade56d00c0147021714d55f520005581e03d4561c3128b723e2989cdf1f2deb721875721cb7df550d96f02f804ee0040305581e03bb3622f2f1f7a6368cd7c7083963153ef5dfa7924f676d8ad8a6891c2004010339ef88fa1b47757d5ee8a3d5c92168d03cc69a99ae10b48b467a0bc1fd25b2c703a62271e233ba818e09d34535300cace18006af0489307527aeff3c7257bbe61005581e0369f3965f8d57a249ff2a77d652745ba42d49261d04d60c90db6c95f8600c1a001142e6490114165b8379abc69d05581e03a5997ed448a7cf4c7dd2df783c687ce6a2362bf79d521e138d21dbf9e00c01470af3af8861220003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03c750eebb0d47576488376a86c6a4dc4dba18ec8eb037b9ee6c6e6e360007011bffffffffffffffff0219fdd7036479161ac19f77715ece9042a61fdb75b85de6c08a97f4fc7cd4d755e0e553f1031f0eeb0141e23b35f9aacbc305272012f1aba6daeba038344a7f7b4c09a817e10350f5d247149080d44ae5c58377ee52b286075a05a68a550197bfda7e0b34c54f0332db4c9935f40f23f96e7ecb6acc1ceb1fc047dfbe820eb752949899d790664103e5ed661ad936745728059dd345b78806ee61e07a33357493e46b35a52d831ab30357c5d524126c78f2afc0d6e5413da85c70831402859d48d58dc22f540664258f0345b0d1045a84187fd53452eca56d4a406abdc0e51e0b781cbc2c4187041065e7036417c6a3f202906939ae520185f5566ece84f65eec64a286d7dc86b3200fee69038e99fe8a8d2bab6279e9d71dccdb1985e4d99f2b18813e7c4f1bd58697d00c980219ffff03dc0aa2bdf12f7457b1c8e98675b2a4f2db1057c1f9b47e52622aafe6f1317adb03062797f6533a6d1f52c230c7e9859375f86ff6c8adf6342fbccc10e3d6cd73e803b565a5805a072d7ce1eec9ab06cb18c1feaa95c055fcf1a3738ed803eaac264c03bc6848a2c578317712c3466f1ca7807bcad750d22ff3727550c29e0c5926d0ad037f881c6dd9ff0491bd1e4377cd624d86f78c5565b961fe943b5b764262a759b20219ffff03120f630878c65e79b9a63988e660d74b3b19d62a3f5e47b40ff17b4399ce0186035430933b9889d58ea3c6dee1b896097553f08830f795b326eff235fed97f8bad03904b3c70f833bdc1a6b5e340260bcc2c3138c41883e9960aef7659bea2ff22a5033a8ab0f3e33f9545fc2f001c5bfbefa9be7960f5a52a2f6b8ea880d21d016eba03c7973a7ccc0a52ee7d32a0542db7453ad75c07893622b7e8014d52467915c50b03749ee3bf808faf207f029ff37a344815db0c8f9d44ab50a0762b43bce3388bc30325316caab07a63723358ac47ea8c6ae2c9cf154e2e5829b2a6f9c6fbe06a662203f8076c3c4fa5486c65b9adf52629763d72426ff394c693670bc3e046416edc2c03fe1883d5346630307757cea5d0c4fe58f27321d4d81456be4f36969682a184c20219ffff035459ab0dca1b8376bfa39c415100283a6033ce65bd1a20d065e6fd65c24ede030219ffff0219ffff0301d04025571bcb94f329d6a401ac0b37ffb23636daa68610163ff22a5deb15e903248fe2048518ecb905f958393c5960e74a494c28dfeee614e980f5fc81b3794c03f9a447f6fd107206e69f94b6dcbc67bb55e767ff813c86aa54b1ed2bda9436bb03d114f0c358ae0b438e7ffe73b6b6a5b9b535fe4bebaf7f8fe3ccb27551722d510361a9a966e720c9a679bffcb7b4b7a84e513bf857fd51cbb1bff3ce3d6a181c26033f58db7d30e55b70cd70b6a57507078723dbb31f63082900ff6fcca18508875303c0f885318dc7f2af4e7dfdc49de1619e6051b9df9fdc3d317e0f2e17f7801f3e0306b1489775b4a23c0e83358f6118d372d9a25049f945a75c2f124eedcc856d58033c155c07469f56e3ad8b8daab2b70d60e022fc2eed0695eeef67c062d173a35803fa5e1953b467fe69526b4ee50c8efdcb4ae57b086da4caaad0921b910c47dd9703ed832dff12310ee9c0526a91a2265eab0ed88edfdfd02e8e817fa6aafa3fc6fa0373189c5afc024c9a65a9ccc78c3078bcb757c505b6009b244c6e043a5a054a67037ad9cc3138e8b3cf2c66a6c50f751c61391a32d86b4a8995437e1755c685e15f030e4bdad7259dcd23780c4424cf1aa4773226309dcdbd31239fb88d13893897d90350281588e8b3d8d0051353f6fbf3dff68a14918e6c69f5eef56818018a8c130b03a0bbb67374b0c8d9971420ff4daab2c9e6c0ab10f457771bf255eb9cff14b560034938b407f5ee55b4e2968b47d721bd69d1b2041c4fd8d3e02a85aefc81f1a72203f8274fbee6bc8eacf5107cf3b5ab0a8e388b68c9da5e4d901076073ce988b2c6035a05ecb994eb23b4dc6def22bc76c8dfd991c96cf442f973738464e67f3007b003eb4ae890c0e5aaa1b9d257611d4de773477f5b155520dcdcf3dd21fb2999d26f03c936ae622bd173298e732ce6e25e7c8f08ed8ddad719aaa3feda41c253a3582703b63d6a133892ad259092bede0c931b299cd5040a9f1f6eccf2cc9d931da5cf9d033012e1a389e96d557b24a4e3f18b36d4806f3c3b4bb3be71c9510dbbabda764e0347bfcba7b4f230a0a9b2c2454c6e18d46160f81b364db8c054829d36878eb8cd03bb2bc232cc62be1a6859f10e30aacb764485f239acd5e0b73e7de9062649089e03d6d99a773bf6634f9527d47748d22e869268476dd365caa1d8c3ca619a8a4db0033549e640658fb7bb14a130770fcc221cf58066ee6327ac279513d1535eafbf7d035e79dcb9d9ecb6fb4173ffebb83d75aff884d75cab8d6ca51d774bdb9e4148c6035126a588f0aad3b97e82307d77350101ce98ae9902aba7e6934db3c48760e39603470e7a63a13fffca0e3e0dd486b5341ea31efab66812b91553ff2557e14e8bc901410905581e033a8e6dc0bb3383d350b7fe4d8a8b7960f7a577b14578befc9353cce2200c024705bd477698022c05581e03ccf4b4535a98dd3c11d67636ec2e1da78a1a786f4057c1e3d421b6bf50040205581e03651213b4b68fc422db3039a69111995a34dcd3b14881781529162d8a700c188e48093374603425c89c05581e03d680efd7eed743981549122021ef179aa07f3fe8ced94f1481cc7285c00c0147464025ecc448000317ca2cb829d9c69af4de6c0de6aa38eca82a1558217437ac45e2f6f42ff9fc9a05581e03e6ae735f5d68820d82eb6c3d60ba4d58116505b25ad6d88f89211aa4800c0947489e4f5161320603a6a3b28bcb680be0c83f7abd79b32c4b21bcbd7cc56b81ae13f5b05d565c3bdd05581e037330dd1615de5587cbee0aec846aaac1c10c90157f22efd67a3852c1300c0247035cee520fec18021992d7037735fc6757feace4fc18c2e56c47c3a37eeeff181026cd19e27642902e72675803cf7a38fa6235db231b1e6f5197f884480927f44d8b249086266170f2bb92173c03ae53280d03b5032d4cf35e3b0c106a33b1bd6acb7482e61b3e9363f2fc5b809b0356d07825ed1657a39540d27a9d7f2436c76c261b27dc00836826e11e645f85f2036c2c7d40beb0c8e50131997fe303675e0f9b82bd8e5fdd50449611ed3e5b6ac60219ffff0306d7fc9a50a060b39a71f80ecaf495a4b700cf4f0217fbb7c25275f5912c1ae00219ffff03bb1573cab56864e32c6e8b418585cb9d5d64ad933edca9c65001a6b00aaad93c0300bd7f8db239e9b85fe332ddfe947119393024f90812e4c1c53d4a25af7dc0a803e4aea4863704e5f2e8acdd29cac78ae96ae8633e74a96255f68c7bc22ba7c9ab03908b9307b3d633d87113997b4efbcf9d3216ff84fa0981257e56fea5ca498e91038f4f9741beb1f7287a879c32b25972f2da89accecdda98f470f2bb4f63acd52c03524bf66626ef32c193191d41320543ca11031fd4bb89cc769ec98a2b3530a41003d14a98a4c45d6d115c2992fecc28f90ed03df2fd7d5ccb83a91cf187103c4725032a454b359af873ecd3b595d6829f8725913041d9069eb518945b0891cc118f9f031887ec838a7433d0a74c8c8a3896b0190dd0d97b39a9c9c78fbc381078ae40d303279c7c04be1ff093f623a94d35ad1ee635bc5bac815bd8508c5d1ab01a890c2b0219ffff03e5101be3f332e1ad211037bfca46ce9d140e9b6a45b7a3d6154002b0ead514160394ced490465b512d64e088a8b57c0c0a6d2f9ca1ab7c69f7b569e62b4e749e2203598e218558b5912c82420431a44a80df2f4386d7784480676a25c37ee0b7bf2c0307d7d85d66d0119cb5a82fdb482a67f4592498fb0466b076822cbfa8add26001035c2eb035deeb3c34da6e560dd1f0c423ed35e31cc5690cb0355897db2dbe4da8035285db301a39ec87ec876b4f7320a6ca0c56ac8472603c9073d8d3d86c598da90325f078c214de14f67adb83c8dd0e05a87277f0e63bad5bf5f4aa6382547feaf90323b341a21768ba123b495e04d0664ad4c13772bf0ae32c08699bd330b791a00a03fd4c78cd8fea35c93d8a2840ed9040600ab579d6f5cd6cfc347483fd2e255a7c03855329e70b0b00ab6c04892ccb047cc6e5438ee78516e0f9a6f328e3e5546b050344fae40ca6984797a5a9b0744619d04f49362d772bd839a250af6aa048bbd3a20308bdacb0b6008d5aec5755d83286f80887b3fa0bb32755d2e52af87a44a77ba403f3e48485c1eaca37fd9b3e5d86a24a736b2ee1f8546d1f2adb5791333ce458d60304d4486833c5106f533243e41113b040aa8c4093819336a36b55196d185ba7670385a87c543a496686db59eaee338996e1a07a5f1907d59556a69d2b37fa21eb5f036f8278f0367733fbd057935c250c5dab02e817b6613891cdd75e244c8314332c03f56a9c88cb297814ed760fb69b9d698f0f84743289a0be2a138fd87c709059a3034893f602b1c5a14d85375267be25d6b72a1a7f4385ad86d05575fff6f36038e40351440c4cb5119f073679dad9764ff5e8e45a61b2b55e7117b3e5f803a069a75603637a6d2ae142730c16d9591106ce646f17516782c54f1c8f534371dede25474103368939cdbbb5076b553e3fc785bef0566fc75bea4aa9050163b260cb47421d600343a71d12db86f9101a5b036eefe39664b7e261e25c2542867d2ce1b41065be080317baa64616405ebfe970ff72ff73656558a83981a18b9ebce99d04fb0d1975c1034be60de79fcbfb4faee5609e941a335aec2f370aff0f6ef148aa93ce7f388a4c03e154ff51aa074f369d0dd5d96d6f1bba04a0e5c6d121d0c2523bd9e177681e0b03bcfa2b63684917f6d94754ecbdd237b3150187f77b76ca2f86a71a57e87eb85403647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d035485a952b56c097ad744f45a0246568a89b2ab61847068f77b88c559436aac0b05581e03a105182593df810998841a61ecead3fce7e3cb3f5d4e9faab078e74ba007011bffffffffffffffff05581e0332bd7ce5e9bcaff5f894fd81ac6e10adf34a59620b1c59eeb652c0c9b0040205581e033d1c9cb492d16cf03c33603605f184755ac615b53508d9283edcf9e4c004020322762438ec20a0cfe4c42ae053a967f6021bfcb7196d6fd6f0a2fe07e265064205581e03b6b6d002df7da59ad0717ba00d0fe6715f0167196fc3bf5b804e5376300c0147d075c46da2fb7003eea5e0a6c5df72c01a58d3d74d55b901230da6ddebc209647fc7afa605d0624e0337b814513683ceba03b872c86cfe7f1101c10aee7a86df526f228a10e2ba322d05581e038fe2fe0fab4605cd8c01031c2a5b884e116cd411c3f008ca4885bab0f007011bffffffffffffffff05581e03196a8e9396d88be376bb1fa85f89b18dc10ae8aec1f6ab294e8b495c600402045910eb608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461025f57806370a08231146102c557806395d89b411461031d578063a457c2d7146103a0578063a9059cbb14610406578063dd62ed3e1461046c576100a9565b806306fdde03146100ae578063095ea7b31461013157806318160ddd1461019757806323b872dd146101b5578063313ce5671461023b575b600080fd5b6100b66104e4565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f65780820151818401526020810190506100db565b50505050905090810190601f1680156101235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561014757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610586565b604051808215151515815260200191505060405180910390f35b61019f6105a4565b6040518082815260200191505060405180910390f35b610221600480360360608110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506105ae565b604051808215151515815260200191505060405180910390f35b610243610687565b604051808260ff1660ff16815260200191505060405180910390f35b6102ab6004803603604081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061069e565b604051808215151515815260200191505060405180910390f35b610307600480360360208110156102db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610751565b6040518082815260200191505060405180910390f35b610325610799565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561036557808201518184015260208101905061034a565b50505050905090810190601f1680156103925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103ec600480360360408110156103b657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083b565b604051808215151515815260200191505060405180910390f35b6104526004803603604081101561041c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610908565b604051808215151515815260200191505060405180910390f35b6104ce6004803603604081101561048257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610926565b6040518082815260200191505060405180910390f35b606060038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561057c5780601f106105515761010080835404028352916020019161057c565b820191906000526020600020905b81548152906001019060200180831161055f57829003601f168201915b5050505050905090565b600061059a6105936109ad565b84846109b5565b6001905092915050565b6000600254905090565b60006105bb848484610bac565b61067c846105c76109ad565b6106778560405180606001604052806028815260200161102060289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061062d6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b600190509392505050565b6000600560009054906101000a900460ff16905090565b60006107476106ab6109ad565b8461074285600160006106bc6109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2790919063ffffffff16565b6109b5565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b606060048054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b5050505050905090565b60006108fe6108486109ad565b846108f98560405180606001604052806025815260200161109160259139600160006108726109ad565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6109b5565b6001905092915050565b600061091c6109156109ad565b8484610bac565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a3b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061106d6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ac1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180610fd86022913960400191505060405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610c32576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806110486025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180610fb56023913960400191505060405180910390fd5b610cc3838383610faf565b610d2e81604051806060016040528060268152602001610ffa602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dc1816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f2790919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000838311158290610f1a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610edf578082015181840152602081019050610ec4565b50505050905090810190601f168015610f0c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5082840390509392505050565b600080828401905083811015610fa5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201c80d98e75a30d9f20c93018473aa8e00631c18de5301dcf9daf4ca03d4b4bb164736f6c6343000606003303d17889072ffd022ed191fe802d247d404b0a0315cf474f23c7fe54e1bae245120352435d1d250f39bd060b5fa846d92da78bccecec1225dca113d8afe32b0863e2032ec0cfdad01414637d9758e51eef97079bec1e6f6ebbc3246a73bb440e069e3f0378707200d36b066552c93e5954d917d2417a8822ae6f2a4ce9bbb82af1de41e7036159e65ca92fa80732b120ef2361262300b9af33d5e0b773cbe8edfcb709ec6103432530e28b1c3fa66c6869601e7c94b0ea054e7694733d85f9db731f26d957af036d8380718e01da90f5976f0629249e33bad935a92ef495c27562ef4af453a0380397e7865c872afc69a42537ad259a8ca99ae92175e65165063ba6395b079416be03f834e4ea044692488e1d8b67bb5a9a1a08459eda86ef976f945f384e42e842a403ca4d5f4cdb74cc2a15dacdc150187e09ae283a0e04050cf0f7ac5935d27734e70373b1a0e654cd361a2fab55aa91b191ffd687b74413b3b0916f9541ae8a67c2a403ed9e66d982644464e3e260deed1d17e0e7488c4015faf1954f2beb393a2f281800581f0208652c6902c8e5d72663d3fcd1065525f49770cdd51d3fae50fb252dcb3548389469e62d4463a900581f023a72ed775b05dc79a79a6cb42c3145f859e4babbe71daadfc956c52e1732484423d2fc572b000000581f02bbf7fe4964b627cc13244c7e8668009744186c9258eb09a96b73be4b26024908653aa95c4a00bc0000581f03fee87a9ac6b225bf06c1767b394e6cb0bf916f6453ec981ba19a600fca00490115005d035e8561bb00581f0337e7cf11d15800dd54e41ced6a6d396b7644b1643bcd924f5ebac745a4b0494c4c4da534c65da0a20219300000581f0225182f0b6ee3281af00abfe4be5fb10d57fad84ee80a891f1fe4dc2f0932480d4d4ba5869e6c00038671ce25f1585c28405596cface883da7709745bc577bc00f25b92a49656bb7200581f02575a9ae76e014658bc5df8d6a3c61f5934499077dc28e61d23ffa01a9697493660886467634e4000038600354243bae9a73cc36c4b89e0b10c1382de4a26dade51740897bcea45eb2a0141000219dcc40375029e86915b7b2c5aa222546a6dbd8e5f82198d8ae7ba90d60263441d0126950334a1efef403048baba74af52e8e80052041dd61e7f8c2e50a40aa5dd84d14ba4037b227aa92418e2e51419436c2e9215cedd7dd7274acd225d21697cd5a56811be035fa499cfae3c32207fd9ffbe28482d6c358a0fb3d285344865c09a3ee809364e0334da4bf72c3962a64135bb6d8e92dc2896ad24d0db3d3abedd58866a54b6614c039af58bdd0f6f81e557d4e25ed139f43925a294192609392c0b328d4a40a7d1f6033065b3e4fb0f9496c0b232d3a1f532d7dc4c7e5c7c2d8a5a8449a091d370882e03c247f895c7b87a3699cfd626cf0efacd2f33689a75060b07cc5bf761fb233aba0336d77574833488d6876d17642ef82baab68c70aeef1fdac2369af033173291280371192a9cb0f6f2eeaed7288537d1472e6e523757cd39e17ece65cbfedf4787cc036040b1b9c8a734e15e70eb4b713ff309940684456ac398435438550f569f3df00219ffff03e12d2e3e96db6ccfa37ea491b375ebac1f9063bc577350f26f42112b69f16fcc03fb3180430bfa38cca7dd1bebcf62179593189a2cf3d680ef678bd27fbfaa457a033fb04923be8c40b40a9c72b8bd25848da605188630b3fdaed07d526b910db68d03eb4aebebb653d33a166d5ebc8bac28b038b75293dd21b924a1f6169c8264fe4a038e8175389fa2dcf869f67d24863284ea7ec330439d8a41857880a15c879ca1fd03e0890f2733045e9ca89cedc4d16ba9c3678a3b839593f6f0074e35379793a0e203f6c1cb9c4712527b8317247242637d18b5325357cb0481426e18a6ee5ce6278c0353f8c895002ac82d9c6ea45108fc6f99ffa19ac001965249ac9cffef13b982e0032ae76541e1a1ac2e15949247f002907336e171e022f384cc7eade086b93c9ac0033ac251bdc3aad157c98ac7734bd02122fe7037a0f5bbd44b9ea6f588e2aa55a90219ffff03c0703d947319116cb3f78ae4845d652f457eb28bc0e1bcca68e808e220c470a80386bd1ef1a3edbb9ae501d08d76540f01680920a662ac48d2669788244798f0c9030b4f945ebe60e8d72fb9840131cff17cfb5ee0f02585326858205a54759608020308a9329b756acfdf5e603197c509fb448707bcc5edfccfc951731fccc60a546e0314d8087366ee9b8c138c9373424f4fd1c89241ae206ed5785c9f543859fbe7c603cc2d6ef14d47d635badcb80c6165bb34e51c3f94c6942ae7e0c58a07a4f7ba6403d2603b6db7558edddd14b784ca265532b38dfbfd35f5db3b2a4a45dadad1e225039826a6d34a26b638e562440196cf0cfdf7661b50b8a80c77026c278442730448031d66dbe96bcbf283b574232ecff162c898ff1d670ee98f4ada607e1ebdf1321203235a226fd43c0ac77f7823d13666314ba887d6f2ac503c8e614b0b0d00864a8f033c3f5c655ce7aab709a5c648c0679c9e8a48e1a38bfb8311a7fe4e22d6171e3a03939df756d6845395ec72ec245a72f23e90d46a5ba8ac11abacf692bc51c402b3034ca94a82b6505f905500a5eeee2e261789edeaa80c7b2114e8607afb8b6ce24303c3bfdec70e4bb1b0a1a01abbec27485480edf757e25548b63648089dfa3eb0da03b33ce4d5f14e5585ad7c9cde8bb5ba926b6b440c1b2582d03ffdbf98512bd1b503085a00bd9e5f7b20d4e3bf056946c7749372f6c211b53216265d566b8bec982003731396fa872447ebf3db48093a8f6fe4f2bb0cadbb08a3ac361c053cddf0959f033933ad6f5d7690745ece9d5cc141d9f34c173ae09a19cf2d94e80c0693a2bba903a918084d276d2d8a76b553001db588006f48a9e13e0b937bd894572ebb4ea46d03fe51b2dd32266c61bda72501af90089ffc1c6da64db65b464e42fa1b48bec25400581f02ae0acc1d3065264a4aec7bb0bcb710862ec5a02a9b03f516b0e61745c87948058d15e17628000000581f02fdb3ff51734e8bdbe4bef7b4bfdba7ef95ae02fe3e5d90f42fe30a1d5da05820fffffffffffffffffffffffffffffffffffffffffffffffd4a1c50e94e77ffff00581f02327406b15aed07a3f0b02bbab71198ddf146315b94d6aa82f8be2dfa9788410100581f02df8dd63d96a6243099bad7ca20f139fa278c56c08c1c4581b2ce6bcdb66149050f7dd26916b7000000581f0269fd2f42efcea9f9a324703191641e3dbf01b1d5f771d64bbe9738b0bd29410100581f0258b1a344d070dc5529c3620356b2484b02801cf5fbc586b27be9a15d88394a36c412e6f541acf5718002194aa40317d3c3295f0ff8c518623d66f7418ac525e0fc16e35e191ff9b2f3369ded89b40397fba93e575d4cb4124ebcd3686b4a579174455256cf6ba42f0eadec7fb352f903d086d0f37bc300c4734344c030669f58f131794b7e9951f92653239a3d2300a103a5ad003314dd3c284fb5128563d2b309b75adedfd772ef83248421673ca5f52403f6cc5e491f8ff2b0a354c358002103870eafede5b501a21948563a85bf85bd860219ffff0337139d40ca23bd38032e800b0778f5451be3d5c2b2f5518cdabeebf19fe87f620369d16824076029cb7c7a4535c4401d0a7a27ed0b87b0999308706d100d608b0c0328ad49557297853b7f98f324ce8a290965f7e059db86743e9586162dbcef9ace033bbb28072677d399d151d12b3eb2f4beea93279eef720c74416ac5e31f46f9dd03841b929e0859c154a8e6602df1d44cb650e5356568db2c77f5bfc5f10ca86a080348c66e1c9e1cfa79475b96814a3dcd7118d6fa629d5944a838280e5109d44a1603214da786503467cd1f57c3aea5ccce4eee93d9da796e98afc4023f9fbd4dfe4c036d894cad69768fa352b56f255664a0589cc4e20ef2b4f006cc40ab601159caf803fddfe87ec79b44333c863df60f546538e55bdf280c7d18171a525bc9686dc4ab03d6aaff1a2954711bb4ce75f4e46c5ea019fd480db29cc37051ebad90976af2140219ffff03e2ef07bee3028a57522377bf6794988f141c75d828dc933914f92dd70f675b83032b4091419ab872d666c38f1df81efa4196f0e5f5db174a17f78edf73781358530366be1cfbc461028d5766b923e4f1f873f0df1f848c2e2829cf6a91ae55fc5ad0036a156f81c28df3d176eb8e7eeda69e72397930e360b0ab678a44b7f0d4edd2e5038fba003e598cbcf004de0426a6321dadfee0870ddf263c0da5c5eb17de1819d103b146d85fbedcb305586798f7cc01ea585f729346a340df849ac03aa683b297d10219ffff05581e03787645d2a68aaa5843c2de8ee03ff6bae0ffa18aa691bf600ddd7d2f7007011910eb03956fb412f551ed0a3a825d3a7d48128aac3f88000ab6f5a62d7403f588d149c905581e0391ec516fe6659ae9970d9c74d2134f8be0c3823e48f1382c98205b66600c01467e6b759fb000035082a97de3820b9eb764e76dbe13a888e6e09e9a20156a86ae352fc282bd6dd3021977bb0219ffff03dcf1a9251ba29452f19ee124d5d90e215b767cc3693a9109f051b12270dd7c4703e913a5c9a28e777c3979dcdfc9f33900b7364941aed9e6cebb9ea8b9d73181c103d5d7368db57c803e0ac968ae57a7ff193aed4ecb4cb27f8cf640d2e9e3e5e1bf033edcfb22b3075672e898730af3d06592d2f07f552de23d806f4f441997fb92300335ab288df73bf2e3f038b21bb7f39f37c22dec7f4c03c1e812c1e484d171c54f0219ffff035c1b317563ade2af0e5de2c2ddaf853256c5bd8360431320bad1f38f7ae9e17d031cbb54911e1862bb0af7369f4107d5af751d360ecccd4c14bd24b548b521c1c403683078a13706ffcf5eda778bab328b063681daa0872aba97485da4ac584511a803a212bf7a503cec8cd2ce929256616f150930158c8660d864f043134aec2f194603caf9bd2e14bc5ef061babdbef48984815ff97b37a234242c5811af1878e05e42030a0e736e2cc79307acf4f6f637a4074969b58d70bf8643775e33277c7cd14c450369fe652098fa78145d773071ea01ca1c35950c03c6ebdef3feb9fe5c24c1beda0363ca1449aa8d684f8909181a58d4f6b7d65443982c02658a2fa1d38a12171e88033a7a896431c6dff873315982781ecbed0bc8351ea62e42265f2ff219ac1acd2303c7fd7c81b213b0c41bc81ab0f1c98c2f794ba13d5ab24d48026e4a8617c800d60319aea2d03de93748574c399c2c23f0924d94171c8b43f8cb4311d041afe7566103db815e62b743d2b8c5a1b81c550e9b4a2fd7d11fc857f3ac2c6da565fea66172035640cc638e28731e323eb8f63f7b032ce95724e1ac090ec3f07338a2a8614cc0034f104859ce786f88444c16419c0bd4c4361161ca957c272bab602f057c737516032a26817efbb1c13971e72f1dc3f4dee355e9a8a4b78fc2ec43f6f3ae6d534e2603c8608eb09bb5824f2a7a9930311d17123fb7811b34f27ab3eda034751364999a0357d4a88e02809db1317fd410a4388a0ef94ddca942f0cdb6e0e848bbde6f08cd039b7d20c64fc419f827c09fb4effffc5b6bd4cf4789790f203138199791baf1bc03cf5ebb2eb3b9c756f5ca8cc24bde13c545d6372415cf23c58944f07a4e96bfe4035bf7b77aedfeefb3a7d4b93e9b76db2da00e591ad30d659a34b3f2dd9d5ed1930373ea532389bfc0ba912b97e4ff7772c1335990ee1fcea82234e2a56ce723d5d903816190586cff08fc2911d88cb63be8ea9c9b05a9bce63d76b95592b17a0377fd05581e03a49061f746804b2d43df0e3f45332a7231c9d98dbfc694eddd5fccc5600c0f47172ea3c5f4160003a686e548d1c60bdeb8455ae210dc4687355db172943114c107ded6234740e9ec05581e03e821308bd306a24844986bdc68b54a0728b646bcfd9416672b37b273c00c181c4701384b1f32144805581e03c546d435562d870aa1367211c6aba7b388622bd71c8031b256ecd7e1a00401034915328fcd225de5902b43a1ec7aa841e5dc00fe6f56eee8a039cd986ef9a25003d42537805e427e2c7d9b2e055886a0b73e2e1b2e42358799680a620ea504363705581e03996b4bf48c2e57cc25c4dc6be39d44fcc9240cec105df467427b5ac0000c01473ffd85e7d1a60003db7e0285488c9f4a796db56e14bf8eedb6da3ebc4f6623a15c9ae50c01b6cc4f0459260c608060405234801561001057600080fd5b506004361061002b5760003560e01c80635ed86d5c14610030575b600080fd5b61004d6004803603602081101561004657600080fd5b503561005f565b60408051918252519081900360200190f35b60007f080000000000001100000000000000000000000000000000000000000000000180838181818181818181818181818f097f022aac295d2c9dd7e94269a4a72b2fb3c3af04a0cb42ed1f66cfd446fc505ee201097f02bc4092c868bab2802fe0ba3cffdb1eed98b88a2a35d8c9b94a75f695bd332301097ef685b119593168b5dc2b7887e7f1720165a1bd180b86185590ba339398793501097f05febf85978de1a675512012a9a5d5c89590284d93ae486a94b7bd8df003242101097f04e1b2bc38487c21db3fcea13aaf850884b9aafee1e3a9e045f204f24f4ed90001097f0324182d53af0aa949e3b5ef1cda6d56bed021853be8bcef83bf87df8b308b5a01097f05d4c38bd21ee4c36da189b6114280570d274811852ed6788ba0570f2414a9140191508083828584878689888b8a8d8c8f8f097e529414d56e9f6bf4ce8be38c8f79ffab78b185da61d606c411098f981f139a01097f066d15398bbd83688bda1d5372e048536a27d011f0f54a6311971822f55f9c0701097f052e5e75be2c96802a958af156a9e171dc7d5cfa7f586d90ed45027e57c5fe9201097eb0e39f10e5433b2341ecef312e79ed95d5c8fe5a2e571490dd789dad41a2b901097f0703dcca99c0a4f2b2b7f1b653dbbf907dd1958c248de5dcb35be82031f7d17001097f0749e86688f11d3d0ef67e4f55535c715a475ceec08547c81d11de8884436d8d01097f044a14e5af0c3454a97df201eb3e4c91b5925d06da6741c055504c10ea8a534d0191508083828584878689888b8a8d8c8f8f097f06cd537aebc479350e63acbcf7b9da84f4b06c6c26a571d3a7dd416a94a956ca01097f05e2909b1136e1d6608663e5cbabb616b28d2fd6f5dfb7cd03c4a7e719b7c53f01097f051170abac6896de6a5b478741dd56f52b1d2a1feea59b1f26d060e09ed98b3201097f01d0f94ce5d9d3beaa42ebed05a2f172aa2227e9a9fee0bf43a3fb068c1ac34501097f0785dc572a88712cb4eddcc8a167bb1b62f9a79282f21ee92a0374af7616934401097f039d9d83e0ac884a5ee0f2d227f9eda71724a55002a41938458e45251e12130801097f07fdc637318ea00385719f9ce50848d13cc955eef9f36a90b87e646dac85e3aa0191508083828584878689888b8a8d8c8f8f097f072d82458ba49cd6c638f89d2e3a68e49944f486cdfb7d2848e51aa9f99292a401097f04c484b2cc04747d8d812180ec716f779302231983fa17971b575274c0a9c37801097f062773dee1773834dbb324c4c0d48dcdf9bbf0511547feb1b2ab0f7af7fa2dc201097f05b0343972ee9e17afaf76adc54e6797d54e6e47a7ea1167654ce076e3c6c36001097f03ca8d84242dd2bd2a5d6e644fa1dc9f5082ee6131b6f0db8fd7d4f87109098b01097f06f4ab1f3bccea47669a4c93da36db05bd6f5197945b5ab29191a703312ed3a801097e2d626ebcfae2d3618e350c190fc636495fbb04dd4a4e563680fb961a3d30d80191508083828584878689888b8a8d8c8f8f097e42f0a74ce045e8194b7a5cac4e882b1f1a9face49c38fb3383cfd3d960806c01097f034b7ebee71c5876183407c57610a0a8a33d3138ccd6ae416651cd505e5761d901097f0150c633a21f3cfa157978e9561161f3953e180b9588347a0c819e4173afcfa801097f04f8cecab5f743c7227a63fa7f320930ffa7cc52b0fff6c351d3e9d4c22f9f9a01097d98ad9c2080ba0663fb302025e6224cff41d1d30c5c9101ad77a48a71d8ac01097e58a6d8229d82c192f190e55d28489f621cbcc64e4ef10c1ec5663c5384e60f01097f07850ac1ef437d1b99c026a910b2437c1b877242e605c8f31a456f10e2f787430191508083828584878689888b8a8d8c8f8f097f0337092590652e19c23b48de3629ae0bd4157a5a72ecd3fcd17bb93f0581471601097e95fd265a2a87c42af5a20a199e6730ee3f0e3352a38a5e7e84ef46c621903d01097f038ada3df52cd03154d66b7da4a8a01835a461e61a76ac9576649d8c0001361001097ec1bbae3cf2d414dc12119a0c746e3c10e148f8b522d574eff757d44d8b3a1401097f07122e4b28d4ee35902b7f7b8ad5f525b6c70a2f2bb6b4ee4b9f0008845ffacf01097f075275c33b919425b271966642fabd9ea7c917e70e96eda669040935b1d49db601097f070af32c484244d3435bb65b0ed076f48d06abb45b7765de9c6f26c1c8e9156d0191508083828584878689888b8a8d8c8f8f097f047c78a993a13204796a2fca3b20c0f02c0601e7cc59f84570fa026c65796dc901097f055713c4cc9f91e9f158f70683238853d0bb7cbd8358ff72b01fb60808b5c1de01097f0412fcd2551c0516392f685a62b54fb82b9a73bcffd42abecea4482b65aeea4701097f06925415cd4dbae0ea5e9f41edcb503ff6f668da1cb13ec73eab6a99cd96752a01097e3a2a902a0e43ab33c19459984fe116fb215796cb40c48e254de6126b55e9c301097f0552e18bfefab6c3362cec587f0a7433a914f1359e5767b4fe883f1ad902dd1301097f05643c5a69044bb8e86d10d3248ea3f50f8598732b0c517b256fe108294e09f30191508083828584878689888b8a8d8c8f8f097f0542f931640d9010e906b7e1e375cd0481740157eb51500ea1e10afe77f2626501097f02a2811098d68a747bebe9ca2eae06b604bb307e5f51a9bdac1636f380feabb501097f057d53073d66a528c88f24e40011321f74ce5bdbecd6ca319e5e770ae29b21da01097f01a4393bce3924d765902469c715fedeea69adca566859b4c8c412b7d7cb566d01097f06dfc1fb08b981f73911dc43811caa0ed99749c2f0903f87f389c9a0e2a8812601097e224fe4f546c8f999947a5864ed0dbcd64fcac6f774ebce11667c2bbb7d860301097e1f7d548c5a6f2bc70ff6f8ee47f38221ae25dcb4f9b068054ee66227494f870191508083828584878689888b8a8d8c8f8f097f0735f4476c2b51acb4f0dd9dbc4306108e37543538b2cd3cd2327ae5377a2e5d01097e66ec70c796374a71b6aec5520467ebed547f645d1670b990dfa680a1b415cd01097f014ac38a4b82b4c65e4993726b58f32c74988997b8e8f7729fe9032cf187896d01097f027092905558602aec9af09947b70bb974caa3dd7cb1cb991810e15d75194aa601097f044e3645cc1b135410b2a52a5b92bcb454985033615453a51ac46377885c430901097f0352b933e5d853527d2a4317db613d07117fad8115948957515bc07d72e161f501097f0268c1e10f6f9969291b1d2f54289371a2f40a14cc67b3736e04eb891c1824ed0191508083828584878689888b8a8d8c8f8f097eaa81707e389769aeb31cc8b45276af0370dd702ac79461bae0a4078cefb5df01097f067dec5ad6ddb1761ec61d2820533f7a2bb56d66f2fb8ecff9cbe2821899006101097f0106911de08ef437acabf58d178db7c81ff4d7de25f3ef5cd2582f44176d449e01097f0356591a80d5c2e14c3d8a180c030a9529a8580a4f3be00a5a9eea83d0d585f001097f040a3ea8c4059a1b9138884234381d6d383e66dd48eac1bf05f5fcddd593c88101097f0699e679a8f38a1ecb14c6695a2848c6abbab8a05003e43aa5cf4a9c6e6058f201097f06b86f825e41b2c9934f71cc2cb08787d1bd4f2eefd2be9c44e37bf387b359400191508083828584878689888b8a8d8c8f8f097f04eb2786b11bc602bbf773564eb9b057d7dc02daaf4359c015295d97b74e72bb01097f07b0ed28b968689517aaa216c0203e57f1cf56b22ff1213561499ae140d37fa201097f0367ea925556a875faedf4d61bd2a95a31067bde6e682c50035bb3310cc54b0301097f0781cf0ea1c0ba9cf908656aa2c5a9403d54c26c8ece401a2c13be8d3090f9c101097f020ffc2b4c6c318bee0cdfdca40b2c10f2c629d3b52472b17c1bfd909cb7b85a01097ee5e89fde76daa211fadf1178785f0c25a94d47a468cda257a895b871a928c201097f0164344bae5b9dca8f384612e7351fecde28adee3d245c98dc2f65509b181d8e0191508083828584878689888b8a8d8c8f8f097e4063a6202df9488fe5384aaf7be7610b3e88a9c01486c1b88767ca3635534001097e546f65cf3367a004f10e9a4e47d71f6ec80086cb2be19d7b225825e01eb32301097f072c11bd84cd54152607e4c6e558a28e480a6487e374b865682c167484f8c29b01097f07a5d11f284ee7db72bed2338784d6467e05cae85f333e05c5610c018a57c2a701097f064c71feb673d2655bb1865f9c4bdfb16b1bcd0f278a911363056674dacb812f01097f062334e7d6094be4431aeebefc420f7e656459d6fc2cb10455123ede054f4cdf01097f05dd4b3dd252fa7eda7b46674369a2f8c5b00a891cf01ada0ea5aada8bfbf6d40191508083828584878689888b8a8d8c8f8f097f03373dcd7d0f0f8bb31ec396e1ec67e1f121121356dba549bce9fd4d3bbfbaad01097f042a6c571001e263b1ec8168805bf4d6cb65935cd0687c696ae3a6968fd2837801097f016f35b8d34d425a85fe48e66632d3e4af27d5d65cb180cb99047fdc2b908ea601097f024327b5849aaae0d313870c10e8010a115b70a99cf6b92925f51d2f0568628701097f045ba7e524d75c65ab27b57a6e0b90458c9b0eb651935f84898a5d3cd0db9b8e01097f0767d8839373a2e97b7e3de1be6f4c18df648806920e92fcc4da9ab6bd8525ce01097f0741b0f4e1bf8ed4d6318f5dc5ebba8529089f5ef4a84cd727564c60cc11a96f0191508083828584878689888b8a8d8c8f8f097f068682814e1b4dd639cf396a9f60efe5ca035c6ccd75054b8911e8a15230efa701097f068edfc809bfa6534b583624db421a2cb885d2ce888e6f95eae85ad9cb38249d01097f05d6575134d1b37e610f25e65bc8b0b1ad7fd0cdcaa56fe573142a09707640b501097f0327bd35b3ec38fb121c039f777669426d3d60df3922e688a408a06d4e7ee3a101097f029a66c93ef1fa5ac4b6f96ed329810085b294a7ab8e16c61b1e225fd740623601097eac01d3129d24fe9b9209df8bfeb2526bc27e9c27d78f69eac16ce151b1354001097f03a967c407600baaac716275b8fa16a08c22e928d895c762b2843d00496b33900191508083828584878689888b8a8d8c8f8f097f04d111629c799fb16f602183ae372aee382e0b401312951eefe77a167457524201097ea8a00bb9874fbb44ee3411814dfb9d4d6048f5e3af6f7f09fff4e9f026390101097f03abd943152451107f59aa81194e7bbbe37c4a86a6b41e20a02f8145dd32fa8701097f0580bd7107af3afc93d0cfd1f0bd39f78f06ebe3a900f5d79943c25e980e565301097f07a615360e826e937db0c91cc1c9196086a3fd608cb01d20186ba1ce856904ed01097f021df6648e6f783b7361a20191b8d399a4373dcbcc83f6b4a9a40bf11956219c01097f02c82b2a99d198138ca2c4229a1929d044b113c1b0f693659712318ca7e7f8040191508083828584878689888b8a8d8c8f8f097f06dd74321080cc46d816a963c8a6f5dac42cb11e66c79831efba77433cce0d2301097f01e54c3a5a3beca7932090ff58784aa43261075950feaab0e2a840f3801b81b901097f03360af40b57c0a951da3219025643a76516f85119dfbb05f61874eb3b56b13001097f0164d44fb88efb41e301934bf2c61a20e41c9bcb3f8e784ac5857063b4fc3d5a01097f046efbcd0bd7f06d59a430ddeb9f239d66a24ce1fa72f5dbcc2bab48b707b2dd01097f05ae517bdefe7b6785680842685de0b5cd972a22dae9ceb50a6ea3665feb06f001097e51f4698c121db3db4a5244334c5180cfba256dc80a59689e2c0f1f8d946e6c0191508083828584878689888b8a8d8c8f8f097f067d2681fae96c0b4bf22d10a73a1882c5bf4a5440f8d0458394d514ff7bd18b01097f03dab30754623b91aec7a165cc167e9003269ebab3e551781e4c8cfb73402de701097f044be18892438118a0b3fc099da7489a89cffd4206678abfd37b1e649ad1917801097edb0ad3bd8a33b8daf1d53ff8604bbe5259b6620e3b547d5c6f392dbc10ccd501097f01a36f20817da4dc0c2e8b62fa08ce15cd3cb50419acf5211d6948bd6b28c8ce01097f05fa6f7f2a7a527880a5b58911dd7f3a491fc702f481cee30e67c4980092f85101097f06f682eebabbcbfa3e7084b47b2a01acb693865749df222b4b8dee0ec41903cb0191508083828584878689888b8a8d8c8f8f097f01fd7088411b30cb5762147b1d6749942485b36c68ea32f60ab83fdcbe987d8301097f07172b43d0c88348e5453b0b26d54d4a7ad7e99e6b0c4b787341c8d89936197e01097f034369f479f013d44dd5bb0d79d8a9effdb2ca36ce8b3d7e759bf707233c5bbe01097f03054d35b59baf5b0a2078c23322de031b383033837cd6b978b6c060120b7fb301097f023f0124cd1c3f3605fa1ec36dc4d6cb6e229f8ba8998b138a44595f96f3bf2101097f02300892e3f3c180333d091901ba99ab9e23c7947309b9e88ad47025847ec3a001097f04182bea2ea16dcacb0194876cd5fe8c79e1a55836aff8aa6074d235af5f7b290191508083828584878689888b8a8d8c8f8f097f050f3e383aaf3533fc91b9633386542798abd69b79af893f47f6603d3cc35ea401097ec37f91c81a7006d6681cb511dab2e4d83928ccb78d1dc72c4c556e4cd72db801097f02693f31fd4bb5a1ef9cacdc4f2b33c3d6d965b76e7bf289020ab1b6c6660d7001097f02bebc90c59dc0e37e28c7c7d8254520ce08894637bf1a089aed26012690d11901097f017626d3869adf0fdd3fedd48e9fe1266bb33419bfe9046df43c6409b440980e01097f0734438bc30566591da45df9366f936415d29eaeaeab392488bcccb9acf0edcf01097f022a7b1c897f54da39a1db61b345b234969e36ef6ba0ea02f8d8b3e83b5c62420191508083828584878689888b8a8d8c8f8f097f022eef827b9d0b57649233c5d527b4641decab31df78347a20da21c705df093b01097f0193185be6e02dc0a07c0dced4ed031bf0a406219cce325e76408123406c318b01097eb10494024548b14df121b738abc7babe56c12acc0490699443426a52f3a4f901097f0375ce3766894524209e2043a150f10ad0bf4f726e3dc5453c3c757e56943a5101097f01b1c82e5c561dc42f8c9c2a9f7db6bacd729b2646892a8ecfae9ead9a338aa601097f04b540d0085be455b24f014bf51dc7d0eceb8c93bb644a5208fa02dc58c718ae01097e17f2709d2719458a9bf72a2b04463f0a6529fd9368a47715c628ba4e006cea0191508083828584878689888b8a8d8c8f8f097f020e468bb2828fb774d5ab538ff7f93ada201c2e392936e05cec29cd5a7a462d01097f029cc816e6be353f6ad5e2c390f37ed3940b0dd67610a7eeb0bcded94bdcf92001097f04d3b0654fd74862a92aa716af33b5ad5ac20dc0460c724d95ca94fe6d8a9d7e01097f07ba5194da963f8224987db2720f16baa604ff62351e66a63c0c9dba00fbc7c401097f031d335bd885c9cdf2adc68ab45b8eecd2d3588cf85b93206896b2626eb1e36901097f04efcba706a8b7868e32f363efac2696ad0625d046a3ef97917c71051501638601097f056017977a273ad0e91c7c26a702ae4508343e97968295b08447b3cc7f20522f0191508083828584878689888b8a8d8c8f8f097f016416cc193a5ced6ff213fc18c86bd6f08d17c576f26b9ebd00d2653bbd644401097f04237c41364975eb79919303fc0a381b934befe871fdbd72c18f97627292923e01097f01b389d976c22a3bfb42424896c9b135a3794048724c729968f81e04ce41419401097f062fc206aa283139f7451e54cdac873fe86b6e7e89214a3c0318fbcaf6016fa401097e88f6e5a835dfda9fa2e2ff248d9378352f4a89b6bf5935700da390baebadb701097f04f9e975176d3aacd79c322d013c854c4b8829d1e469c9b242461f35e8dc6fed01097f06e1143b147dd1bcc56dd43e6a3616c9a4016d6887cf0009ebf9f9796efc944a0191508083828584878689888b8a8d8c8f8f097f0284c547c04ca83fdb01020cfc797eb362838317f09e5d25e1e4eef353ab7a7f01097f060c327ef73c8468805ecace45a33ccc375fc91ffbf01b4b10a01ffd4b7aaefe01097f059cd87f8751437900e984a009c63fdf7461b177067760f30d4f648ab271660a01097edaf5a68420fa7ad811f6dc75c5b4e92173a5d89255dc75accb8cec80a9cd9101097f01f573af6e3ad146eeaa582f540de6a8db237ff2f28423660de998a4275bf4d001097f02830a6edb344b7fa86506557a0b2b0bd900429218fb35e7990951fe4fe869c601097f058f2e18613b3b25529935a623e7d5c8318ca9ff3fb180f16f7454ca9e348e350191508083828584878689888b8a8d8c8f8f097f042c8f0b5507417eb48ffeb1a7df8808633f193c27df8e2f44ee7bd62cb2c3bf01097f050d603bf9c2a456b828ae476092affde072ecd878877ec3f99ba8f574d263a201097f0413fda31150aa8462deae8a6043fc5624599fb7f638c4d5c5f89472e1223c2801097f013fe84c8ecc2e3fd289560c0ada7a251fdd5fba24c076be4be465feec4262e601097f02b2a0768e9a5f59e7f33ea449690794c8b409bacd1c808f7ee8065ed9d8648c01097f03030332e9cf430f72159914e59ab9af532bdfdafedc1be39691256c8084954e01097f016617a52bfe5d2fd0eedb0d6411f5fafeb14a4ac17da0cc828c914acb500ce90191508083828584878689888b8a8d8c8f8f097f0553f8ab49053432bab53835480b6f4c416eeffb3470fb6bcf122741cac3d71d01097f03939ef0e572dcc3b67f0cb819fffc521df26e50814281621fa6982b1465f78601097f0520b18e79de342aa7095ffe56be6222b0d2e44fc3c676a5c994f24e427b45e201097f03f3ae3871460ac578f5030d925e91c138f3290f8f3cb6d4b560b4b16fbacd6401097ebffb0e4f7ccfff0cee519edd1004eefbc47024f92c4409bbdf688c133ad28501097f062d6874b6dcb1c4dc8ed797b9158da4359c6c49f27af4851a12908ecad2092e01097f0511c0ad7c0bfdcfcfaf925895a8ef5e8c5e0d147e29c9cdae45fbc998fce3460191508083828584878689888b8a8d8c8f8f097f025199c11f7193e07191cd9b9108aa8b440ce1972dd1cbe5f0cc33b7783203a801097f03cf3b95ba351a72019ed1bcadab32116adcf079e72800a9d88f15244e7743e001097f019cf240d04f4859941f9b6af4a7088729aa10307cd08aa75f01cb22e872543d01097f01cd528d070930aef19e0f928fc744e79ff57e227b6aa1bbfce15a79166aefd801097e475f8af086f7aa4ec3739f754f7dd291dc50decc7c7fb03de8aee3cf06824f01097f028f86fe2d71f9410e14c17195ae19c2c5e623c525c979f4f74dec3ef8848eb501097f0508243aa19e23cdb8ca0154055c05130462908c6a2691ae522e37ab9d6168f20191508083828584878689888b8a8d8c8f8f097f037cf9640e321e7bccf1926d5fea92918d6888c5805e27193722995233a4adc501097e66336e2e2eeb939818f861fa4aa9b2576936470f511786f8fa3417850a6c2d01097f019a0ff21908842e412addb744b0ca384a54bdde819f6337c4c672f682fea9cb01097f044147236daf669f8a94b7ea353c3dd7e64312ece01ccc1d4dad67916591d50b01097f01d6cb5a655919a581078aa2f8a21d300425026ccd7d047302443d78dbc67abd01097f04d8d9b92b38a45147bc9c87c071672edd93cbf5bdc8d85e608f26f1d82d172b01097f04acd125e74056ca611a1b07369166eb5c02af7a4cbf387b2bd584a362fa9e600191508083828584878689888b8a8d8c8f8f097f03b4fdc8d965de1761e445ee88cb406f707f9d0b1ea3c069d12084c0ccba9b4401097f01f27c20f47daaf01d4627d5e9bee0e9bd2aa5b75807064cd60ed87e307f677a01097e4758304a75f149e24563c2b22459151389b86d36108f5dfe11ea1fc7a64fd701097f01c1216fe648d287c2645dfc5152e171f25483df5ef112b745c2e59b5d9ee07c01097f024adf288d61c113e28d9a298d2642eb67586019adcb952abf274ebe1d30e24a01097f03e09706cb43c83143c9dc46f97e0e1ab4327de19ced69badaa8b2c80f68fb9b01097f0589a2e11637d0c90fe91bb9f4d55a80cd1a2df7f3431e8b8bdce8fe7d35126c0191508083828584878689888b8a8d8c8f8f097f05f506aaae7ce6d94712c9e0ab02bd2a4ae09600608d54a8ca381b8e96222cf701097f03f64b3a307276c6a7169c54297bb12aaeebadec98df6ba1184492a82effe35301097ec3e0400cbde1da659381240d9c84b977eef3cd70e3e4a1a8763a05e682eb3b01097f01fdb038204ac50e87e3e7239d8c1c0572893ba98e031c982e545e6de64cb8e001097ee0b21e37008355c35f7aee295a8b2b72465866b2bd68e72d36f032c34b38a001097f02cc90219912af16cf9a39f57f8b8c514f797dd5d49dfed5eabdc278e31106a201097eab2147a23a826d5f7c6fea5bf889eaafb5531721f31ee0a9f02fd58f09f65c0191508083828584878689888b8a8d8c8f8f097ea5d4606609371577b0d17fadcd85ce659885b00245a67b038f902176d99a7c01097efc76b77f717a5b3ecafafadf29e7f886c8ae67a3a2bb30467c44047234995301097f040fb948f8a4a10d2b2e928a5d77b481f8d3068b47fa388a3ee65609aade1a4101097f013d322a0ecbe1e785921a7aa6f4d1135e0798e72f4c055226205314b834814401097f020096a7aa30c6c42f1d5f1ed88de275d1d1610f2548711a75fbbd72d373a50e01097f018f9cfeaf2c33e21d7c6fd9e15a3601a2fb3905588868167566e8c1f1dd30fa01097f03e3aa48bb5db9e2b0dc6d294009ecd5d4ff6255dfcdde3f5b4e545032ea9b680191508083828584878689888b8a8d8c8f8f097f0425b03b0356b92e66ca816869a76110d68862a0d8ad76f950fdb1d5c03279d101097f07cdb723061223f33289237c7476e737ef0bbc5e2c1ed9a70566511fc2036ba501097f018b8b8d0f393950c9a2e674052150a328d214618049c7e2f58cbad76adbfbd501097ef19faf3accc43b56369dccdec35dc7b49c5b8f8976764886bd16dd2e155f9201097ee08853aabc9eb934b4470bb4ae1dbbe90c61d2093516df998ca7adc98afe1001097f07736291268c775a82caea06004d53edb829be2566fc7c4053b1d850a8116cac01097f01bc1186238f0d39e1c56185a8d2bf00c90c9c89647917d60a5b7629328565240191508083828584878689888b8a8d8c8f8f097f06cf772fa8050ad8eb87bc8f0c8fc511622b416fdb084cbc93b79501c96b0bda01097f07417da24519b4c55ec0d698ecaceeb49711aa1e7f7d907102351e73388a0fa501097f066e1e25d1bcea87acd136f2c33498e3223fbf78bc6cc816ad6aaf68e961da0d01097f060db5bf6f060d82c169a1c4ed6c548d5e8cdb6cfd2e3257c155bf11f48ca60901097f02d5447623584d3a19e9993814622d6369248bc61813f067c4825c9b0a81551f01097eac068a1aae938e26e125b35c88a87130044bf3637bf1acd797103e7388b33a01097f03ab2d353537697d4de9c5c4c0bc31e5e776cb93181029144f6c6d4b5ea4317b0191508083828584878689888b8a8d8c8f8f097f06ca2dd473297a2852e68ea2b83faf8f71e5cb471adcc74a858132c6a823f0c001097f01ec5264a5287f1c6de79b3df3adbfa157e8430e594078c3fba7002a077db44701097f050ee695deb5a4e63c5dd6de35621d1c0c5a496bf41fecbaa929b2b3e23f174a01097f036f446f7e5a51114cbdd3b460431bacb5a42cd61f4690cf5e9d9f13e488318d01097f0195f98a85cfe403a7d229a6eb4533a1fea641c331db75a5807711fdf1e27dac01097f063d4964faab567e795024a17032ec564ff221a421bd2e42632d3770c73dbba101097f068d729620eca6b4d904198a0e6d241953b9b8c874a10b5ede5596146d5609790191508083828584878689888b8a8d8c8f8f097f01137975bab819ce0cbc73714305030fcd4a185f71d46c169908460390d56d1801097ef639bcd7777c1ffd41a693ac9f5a051bd124b7edce3d568f14304c9fd90a6701097e2322f8d96071356feee538e0c53d857b1924134b94377af20ed5d0e8b3925b01097f022cf65c6bbbf76765555748cc1ae91c83ea93ca2c8b34a59332567b5b3b0cd201097ed62eb553de83e5d51f78ddd9480d65870dc426f61153e732eb6cd62cee09cd01097f06afb39d46d5a846e9d58a6ae27e6cdd83bee29c72754cd4cd3d3cae423f5c9d01097f0364889e46da58b66c827835a0c2807338eeb4431f2099f490d13bbad0777a010191508083828584878689888b8a8d8c8f8f097eaea6f7f915e4aec612029a9d02316baa3f6297ea4cfd38897f4c9859ec485e01097f05c180e2fbb2b51e053941d0e1611424fe60ced6d439115dd98530c8d79cca4a01097f01ab93f16e576b6a54598582eff5e2cfc33baeeb607826579680636b05046d1601097f04de47e973af27fde9ad29f812de8a04855110118eb73fcdb46865390486a28701097f050be25e516e30f96d8b420a7c494506d2cd21d64f4d5ecb67d58c2ae99bf5e001097f02aa45ec320ea12beb804e35af3684dc981324dc9bd044592d1c408c052a432201097f026701dfe3cc76754a4ab893fef59886a43013ea6ba648efd82fd03941fa29100191508083828584878689888b8a8d8c8f8f097f01773ba95dbeaab6e5e9fc79ac153d46be1e57828e92287d698a3f4f87ef498401097e4e92d5f575fcaac9adedb4e0c3549dc18f61bc40e3752e3506f3761c32c6e301097f0580f9d95c2bd746c9210a87b0f9ed275afee1dde7a41d9ad5e69861ec0e43f601097f03e2dbef5f162784e13b5ff4c33bcbc444ad1546922b293d6783b5de5c5aba7801097f0596f89b6ca79194eb6a87c17692aa491f5b014da3cc7e5f05caf4fc1779c2dc01097f07e84842d5fff1666e01505f62661bcc822dd3fa530ebd1e4089230a4045a04f01097f05626d2ae9581d1d335bfc3863a4eaf3568ec8e70fcdae93f50a15b0cf601b6b019150808382858487868989097f068371fc7cb3e0670a73eb3a7e773ddb63f231c26bf25bb1fc1fe6e93a7e3bd001097f04d215dd42f87632a9cce2cb95081dc731e36796c3d2847dc96a3554231c6aef01097f0421fac0e48da8e6355c07f6a64bcea96384848e8ea9a7113ab45f15b1dd15aa01097f0679061e5f453c8bb1855dce8f7d61f2cb64b15d2c4e70b969ec4ead3fc6a2260191508082816125ce57fe5b06939250505056fea2646970667358221220585d8b42ace088145bfdfdb47884c41cf5c3a76190ef740c3ced9c1916e2a1c764736f6c634300060b00330605581e0331cf5a99b5366f182354aee444c121a30e9b421ea287faeb7cfb0203b0070119260c05581e030f5709abc6fd917de73da9cfa2f7ef75ed1d990b61649101b2740efe80040105581e032b48a8cf801e8e5cb7838d9bb87acfecdd8b57db8fb55ef1ce7a0fd8400c0147020d634725bc0005581e03f1bd0e6ef33b6d9dfa85715cb116085b455b5344739336b15f0e6c57800c014629cbd4cac75805581e036ff0a09851884e6e866c129eda38e0bc39f34fb79dea01431d9af4d39004181c02197ff90219ffff039c4a2ea36e10c8cdd2f326a8f2d81af8cc753ea58b81f7f9319f18a469e300a003f44a256de9fa190f502ef2d5acd9e9d75b3cf6805310cfb5f9e48c0c30e1519703e5fcbe5f1b04113cace79f0a391dadff5a019d4441c02d2c9cb461baa59fe6eb031a2fcd0841a5e1e76738c45a20420f3e47e45b1097fe78d0e5edc48045ad07e603583ceaf6331c0f13c366b9f934812aebb2cfd8d1da55ce178ec00244fb7fd08d03cc90ef55b92c9f1ed29085264001cbb1561e39c6a60b58eeacafb07b770f717a03040c7a7cc85d9316be7bb23500268c8838a06f7273a30448f808be9d27a09b6303d76891a0c170b4adfc1e2b70926810e49a29bcac969c6e9250ccc537496362e40219ffff030327f5bd31881c2a1dc15eadcf31cbcea43757b197deec5b34780ca260fb17f50357f2561f89a6eb24e42c6d1282f1c7104c8abcfa2fbc2da8be5ef3c7a296e5e303fbfa40f46e2ccd82d17c44ac6ae2d57ebb1e00cb5752f1079cef127cbe571127034c61b27b2da081594c4dd3851de14e0f7f865fef41724e87f2f9bd46190eecfc03c3cce8a3465eb91753dfa0693acc02e879745ac271e38078653b07f614a90a020372d455b153a11110c1452b2fad22722e996687245d332b56b135c9ad361e5e9703134792aa857dd419252a14e770eabc4d51235ad3730bc30cae5719495ed4fd2c03ef5ee527a44cb1f9a791490b2146cd77b5ed621e4edf6932f7069774878efb0d038695150abcbe09e785bfcca1be4f802d4598980020ef11c2373a0ee2253a88f6032603f87a95a1e4f4caf2155571b434fd56a158c05ae782720201dc6cc13970760357b2def943091aa7dee532da397ba5d9bb1438ee79a9eb637039d806c02de8b2033f611861538158f02ad41e7e3486bc804dd21250d63b865cf45f58ef25d0044d0305169d38a859bbcb6b660689b603e028226a677299fd51125aca091985375c450399800924f04cc0b832dc382a0b5593e8011b625fd298ff70981294e7eac16eb60219ffff03a4ec20cdecc1922836672709abfc4268314a62596df9e94a29e805f58bade46403d6d7dbd1732198e34d3ed3def362463f135d93b601a24b63e22e595e7a12b533036568232ea9e00fd11774193c238976a72ec87b7103a87a3f7d7fcbcf0743ef76030bf05c2dd617ac3c9d887017032ea1cc2f4762aaa88d3bcdebdf44fd4f9f023d03e21845c4cc7ca1eae0b248cbd963ca1a0ad4185e6bfde05f32ef7cfca138b00703f6d5e8d6ff3253e8a023674020f0d18f62a7d1a8f80d4cf61e7aa54d2c97d49003a3400935d2d82018261b5856ca9bc8edb1e107f4a95eb5cfbdd62f6d1826e30003f0419e0aff0ee06f30a41651fc5e65319580d531ccb782985cf66c79266afa81036a3a2fb89bf02fe05af5ae0e615923245f2a6f893eb608a3e1bf6c501107748003abe45afbd86108f605c7c2bf3ac39e7a209c2d8e143aa914702b989873e5826603dcd12c897a86642d80694172b084baa9292ba54c0d7a3b634e6f10a03cd3c69805581e0351354adb3ebd74adabe83b23a47df73d2789fee3c5c4b02e448c2bb6300f014703c467cc69e6de1bffffffffffffffff0303841c2eb5b59eca6151a41e7521f44ec7bafb6cc71c1a4696827f617376a04b05581e032b5cf730e8868c3b4b373aaeaefebadc1d3e1e10e9d037fc7e4f5c22f00c0147132336d702e60003daf35de53377275d8d9f1cfb2e3c2d5d791f28d8b49187229e927d722bfe4fcd05581e030a76a92195016c8c124314254ff63fbc115784192f6c65a0fcacadfd700401039cd0f64bf224e223a62150034ee351c35f74128f6770881523cb7570ff0f97ab0359ec2455986f9bcd93fbac2fb54822041d4f9c50cbd551bd7736168448c8fcd505581e032c9ac543939a0e3e779b2e89f12c06d6cc8a7eea6c81c961f1907e016007011bffffffffffffffff05581d026e4a75c9f8ed8dc2927e7bb3d9a78fcae4b70b604066deff1ebac9830c1901384703c0ee9d598fb605581d0208d39d6876259c0c34857910b3ce8c662ff586db71a07bcee3627a6d0c0347263c1028b67072021912000325892f2c15193629094e526a5b4b297aa261410e94c2ceedf4c6e2262545ad44038e10e5fa4ba9266d3dd841be9ce80eb0e3f2e759c1b175e4c853b823369ccfa302192ade03c2db35a4b3f44e3e686b679d352b9cc4c01ce20bf05b64c855d41a36edee57ac038aecb9c973eeea9796df06270506ddefc9322c3c55699070cab28434f26cd2d103288a637a39cf1f057a2e72ce9321c0ca5e08748f2a113849c1e9d8cefbd870fc034511772b7746fb6cec7861fbed1e209bf07038d633ba5043db6c787e533bef5c03f3f25812654f9c6eb8198dd8eae40655e2d0dd2c0e76a925d3cbe8b138a457020342b29a85f9ae3418bdb7ebcfb5187e64d5d286a73e4893be83af43a23017436e03d64379496503cc67485b2364b8d3b05ff6c45d86fcbbdfa4d2a7bd4c65cf420703673faebdb6a05aaf3c9d2c07a9d3c9d866a1a4915095fab02a93002773d48e9203d316bfe2b9a74084f769b7cf6f777f6d9ba35d42eb62162929c4578dcf77f135033f1341e589da6c83b8cd39e41c3b7d853e986f052958a880ca53cdc659c9b56503899605cb331d96ed337731818ad214ccfbffa924c635e14b51495e29afca695503c5b04319e85403b8ce4bad7f8344b06a957765b44512444d30a8de5ee3b3750903800a38c5504f3f30f0e584f140b4032cc6788f320ec68c8dce171d7e07efd361035c7cfa2bcf74975b16211d42c911aca049be2065390284a71c9a0a30e9379ac00219ffff03fbdc185ea5bd0f620a24a33524dd3d54fbdb8817277c6052b74d9fe5ae70ba5503379d91c2e5f47adb63923edb5100683a26b30deb9c08724c413b11a096d28b3203bcf528433f4267deded9476722a5d9b73a8482f80b3c1ba3f0f498d8cac91415039f5acff5a87578839b3f259237a396df474200d3e4c0609413c64d05233f908903ba2d85681a4dacd6248d763b354c956311c5920b41426f29aa9e5f70e0a76f86035f2bf14bcfaf73ce82858c893c93efe0deef4f787be9f0aa5be9993c9ec815e1034390d15a8aef11132b78c693565faa76d20d4a45f192e9ee4c31184cf7ee46d60350c3cb30e53a1850e75e9f4355f51270d4830d0db6e9a0a07fff5a3c11b286b0031ef51eebcede9b8725de51d929cbbbad4b9248a237a5df297d593ffcd4911d5f0335f5987cb71510729a299779acb868db43bc6627f29b8933cda1df9ab478692e038c9f0d12db6a99b00dab64a320d326138c6970d5018d1e2f23693680de057ff103b5619722ecfb4128ec37a23bc2d34e9c3738a42b99ef784800f115223100bda90219ffff03e4ed66d0df2b0c4ce831ab07a7e3cec0357f1d03cf03137660016d9ee9f9ed86036f21de9832cb9e8be93fcc5cf26aa2d2180d51e68f2846b8fad4830ce712f20303d52f8774e95c30de6cb18c4db8be53fb9b015e7edeac51c0b83ec96941a7406403bff12e37ddb068fb2e381c9c74658914f2b7f99836d904f81f9da007d9f3080f035b96c56838b395ce1d4c4671c75de516b1b03b0d09fdb276bd20a3ac221fef3703ea70089da42c183394845b3c194e0449f1438981be352a3b81e7b19bde1e261a03946d38d64b2c4748bba2d906db9f111b7bdefa9f422e91016c612be65715b1b5030178f4af439c29c4c8042e880de87d58e1b0df9b641d898c69922e86932161eb036d92a9b624fb9057806d67eb4271eb0a870478f19796e41d484183594f7adf3d03680323beed3b6d609545a4cc2e957d204d3f772c803a684aed50d12addf0c3890318454041a7edb6d719da822a393755d57d9af76028f6d9517f9de7e6126509c903e7c8fb78376732343ce1a07ebfda5e577f736d0578d62a955ac73fee30f115b4035d7a5276cfbb407ea794ef8d6804e19ff913a5e6ff2411d011bbf30eb03a3d080320d73a688ac510802b683481d72ced2c34b7feac1cac9085bcd52698100e65740219ffff039ea981cff0fdf5b2936cdd0137af3e694a52cd6e8826f1690e1fa879c6dec219038a8947fead0f677e752eff56db719066ba5c25840024f3e00f0c33c401bdda620399844a9ed4f8e2954720faa5f7da5670c2aa41894e35214d244613c92a1af294037407650eaa63bdff0e550e10bce11ee51c51130680770243f85b829567e8ec39038017810b562ae4e67c7ff33fadf7522c785ce38e35ebef82c5cbae98f67a358403856157a619c4cb83691e37be07f2c9bd2d2511f27ab65608c42950e3815611f6038486b111c26114645d8c12a0e49c00fb59e4583bcf543e7bf3db2377fcddd01a0340851960825b804489f730808c15da8fdbd33998213dcafc1f839092578ee3bd03f56de7912d324120ddf66beef2a63d0da3388439f35b6018bff275c1d029401903834ebe0ad9d6e9361ca4e38ed38a69f67f4aa671d15bc140ca6857553d54ba6003d724e3e55455de77c75a2446a82a01be14967049fd020a0e36ec454f5103f73903e2bc6977a3d66ad0466cf36a24c4e478958a605df788c583eb590f73317848b003782ca2270ac37d77697a1efd594f98594003d9bb3118c9fc0f647cfcba93235803749fdb178a1575e4105392bf6c86255de38421900670b8929f1a229fe1e9c511030e23e765a79374df02d5e345fac81af52cde980fe44988577dceb0b3b6ffc74905581e03a55128401d9af8b4b1ef7a74cc33489b1d6f756549db81afb3e0cf8660040103353a314c75bd412fed604f86c916327a457ba63ac9c1a1e7885fcda9945639240395108eee0c3e1b186e19c8933a2d4568a9ff523ee37a8e4540475eb7077d46a705581e034de9a3246d0e4c18c84ae12fcfe4f8f9a97a44441b440fd3973340b880040803495f6942c4c5dcb38ba7cb9d86c8862950b645887d841526cc35e3960e316f050330624c6abaf817847d576a2eb63b136ad18dafe64039ebd91ac14801c052c3be03d48f92c6338b361f7208e55c93f7f0a078ce25ff133ceff89b5e96c5e7010023031c28b8b1ce19e886962063189bfb200bd01c4a7589b831d370e55fef8452d35b01410a036eb63909c6e9d07f1407c840b01f22430a2a96199c686b23e6eacbd6e10206f005581e0331d64e069417c0fb2c4b852250332700aca2f4109b3cb2f98784bb40a00c084608fe3aba40000396b967fe90d09d92bae4768c39ae991fc61b2c2417b3bc8dc1d0705f73d5864c033fc37b59d3ed110ecca75425f90ea3435cef224a26f6f448e041c2310262ea9405581d02e71ad0ad226b87ab0cbb7484477733601f997871210e1a5695dd2047084801e255e49ad3e4e605581d03063f447a07d72e0c9f8d394d8b2dd70d0d39351a20ecb76ffe7a04e00c0648038a1bf1c124850a05581d034ab79205e042cfdea5dbcb22a3b5d0b112bd7827b49f28c4c2b3f65004020219900005581d0259055d1c0463de9a45cb8e33d71540caf3143a7920296492eb974c160c0247013c66c10e96000219200305581e0309747ae01447f9002ecd9bdb116276e350cfef6ec66bfae82ec322052004010219feef03c1839b83e6cf8795d70a195a691a58772aada9ea36b56f618be1bbc1080b1b9b03d74127d92589b8f917400f3ec39a9ae7981161a623cd84951eba238c7ccc23d5033752d7a167c982d9094223db1fa34709e55c747745f60b1fc78c790ba05124f503872a2d416bee3a5ca4eae8550f4a3700f4f5df93e26dd487ea9203b69d55a3e1034d7c2d606a9cecd8e2a2635e476d4d84a19684a50ceb88e2b5f42dd0ce6e7a3b03d8ba3fc121c2c2e3f2954b6e7377aad76ba49694a8d9627ee2b1327a7cae62e3034ae1775331b937a773f23400225e13feafcf2dbe5f6eaa754d60906ba91f5f2a0327c3de1bc3982c7a1d9072bb0c55012d986c90df868f8343f5ca565fa78931700219ffff033c8077816f5e2f152c5931310a73f6721a7e2a0e6342e2b0ddeb9b6525eb2b66038e655205c94219102018b141664cdeaa923e487c2f9072dbde6e760ce5ffbdda03de6e9aa9f519f976c9f16c68e0ec2a667f477a2e0b03bc2859bdb25b81596dd103e3212690c3ae748b5e8d14969408a9146a853f420f82d8473d9e707e2bba89c9036f9cdb1e54a43f565e672875705d3d9d497162616bde6f1853a7e59800065f68031236c356a98f34a686f1665552bb3fdac0b091a7e6cdb3b7ee39b504700cc5dd03a5c4d442717cd42a683fb5c1aa4d344e770b978ecd4e1fdfd8c75bff05c8d6cc0311e434eec40f3edfcf21422086150f2b483c6c8c09b62c882346eb1d2467408d03621e3bb98e65c0405a5fd275ef3fa4e6fe85fd7f5eb43b3a6b4ce8cd87c2c3d7032e63c1a157c273c6617b1effb9fee23d0ea325a9c983c267cee0bd496b8af15203ed389ea7643dbdba9e50bf35a55b8c12b631a869c24d60a2e18d8d971ae66cdd03542eb85418be795d1b39003c795aa47731b92545bc4e79dd58df57fbcf5bc9de03d10a215aaf86497954b3d2ac6af2e6ea4f672d0da99faf4f42a948c534e774b10319f19983a12cdb6a5f92444c2a04e8d428cd47b5c2a0243ee8606b9912253b340360fa1011dd6c53e79072c9ae7c5fc31ae8c835e25ea706724328143aa4f884b60219ffff030ad82358e66c0b29c254b63fea813d4152225b0887274412ec038401893caf3503251f9de0a3666659781db5ca61bf27a5eadc790cd62fa0eb3426d203fb4bd5ba03ce1099c9e13fd4e78d9b4119123bb9b552878778d7d39d2a4c4e5b6a915f7055034ba42548c0d4ceb43fa60759afba5ceea5d6ba84dbb6a32422b85befb7dcf26e039fb0f7d064c3ba3be1de00e6ad798d3f357008f02ff378a5dee56744482602ac0336042ff698642b8f606714833cd549837eac93522fdf3f3710983999c39090a40398c543aa86d113ec2f3348e9c4d5a1726bd14571d424303618a9a616af6565af0338b98da7a40acbc483ca3d77dca2e94f801fc90350bb1cee9fb03c5f5820f497039b5ccd5e5bc153916b940f20e0890f8c6b988f4d7189dc14bc843b6f60e27944036319473dfd8356c9e4434044aea6f24e4249e9dca857fe91c1196be68398daf103d868b398906ed26968053c4cc7533a2d369df3fb8c9195e0b4e9029f2630fd99033912b1ebd3ed23f9df369c3ce91c289ca61d99ab4f17b9f79e44692d800cd69e0219ffff03954506e68fbe7ce259bf9da66cf9498d6829248baa452663c97acd7d16cf0a2503f23227aa1df36bd0e3d09117ca231deac638cf8e0c0e79484df109df85d036e803bcb21608aa4f2dfefd41ae0b2083520277b0f36e0cc663781a56ad359725a30a0219ffff03e4490ae8753be5e43d043663972adb633de717f522d449dfa9bcc565ceafdd460394d3ad8739d36968311c33dc810d82956845024b8b01e781d0f4053052af4bae038e285e10f40aa8ed74b6d192fd905d802ed7ed7043e6185ba3217b3cfce91c3b0363bb08c0db37b48b70beb0a13581b92cebd30dc2fe5b516d750225d902e921ec03063838ec86d3d589be99dfea40556b9754ba013fe1455964bc7e1eca701a6a8b03c057e516c0bd3ad5c6ee2361a98cfe8e6d4f00c26d89a7cfbdf9b8746f8400da0308ffc2f074cb388a34a6591ff3e7c5231df901ff266b7d6c28deae3333c8eb1e03583ddcd2072840d6fc979677f76a6649980bd7e27b50aefa292fa980ca5522e1035e89c49fa3bd66c31ae3646366574823011d5540748cab1f0ba4360c4b6356ef03dc17c67e915d1a05178ab0f415538cfb622db5e827d69baa5144082d0994fb330307fbd674481f72c92325c0e2c924e4300de5c8c848255ac7be7e249a15e221a603ad0943b0c586a47fae651d90bb4c60d3bc7aa3b6442943b271abfcb95ac09d0803515b882eddd754e7a89246c24d46b9787da5e111862cd4f9f17c12a66407f71e03d2dd453692f354f9cb68c38c09fc92ce7f7cc08bd0b9de6664364b42ff4d9c1403534f3ac89729d8c52e397540b0d5bee9a538ff3d1619c32558e768275fc906430389163d1fb0137bf6a8b579096091814553942e084eedacc58a2f6000218de8aa038fd04c2aa5e6cc8e108277b8b46f28a47073d36eaf57de1b48b0b11b209b7acc03906d0323bc2b577f0c224d0249a280798bfc1e430f4509c47eb9d600d13e9389035d7151f7b4065197900480f9e2b3a034eec98761e17f979127f2e0f1f490cdad03997e62772ee0c7697eea45a5c8ba72528d1c9c48c3339b1ef4c4473c26a95cbb03673ae1f2a29647b0dca7366d100e284dafc42cbbecd67674b9861cc06f41b06503545da158c3d43dc7d10a97244f25231e7700f6d28c5940620201600b45f4362d035f49367334f531aec8d85a12da507b0dfc8fd5565236436dda01476cfd6991b4038b4c81f88cf6f32079e906062ece015788eb6ada628e4b78190fce68b4e816a3039bab841dc0f5673a0b52bcf5e5be1f3c2172d19148fcccd41a7588a5d4914b1f039e2c44762b483412b49f697c232c4e16e928a066dfa7013c68c86b8cfe1526450390c79c953263217907e67bd9ebcf2a333338f85d2732d85e7902c2a7a036207503880ca0aa1751fadb118ad4903a76a89db6c471d99292e80e1ea594cf4b5034d1038d6fda65a498d34f3bfee64a11df64ce8092c5e6e6fb2808e5e3d555d3e1f2e503cc0ceff2822f1e44c3ba1a0e05a8aca0935778fbeaefd05a405d06c70190a12e037901778d904b786613db41170f9a2a6b147649f8f010eae01820e2981c57c67303b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03cfd797c46a69451f72fd8509385bd255c58f83766a42f4e2f41e13f86007011bffffffffffffffff05581e03623fe0f55c32e1334437bebc0582d09fa26199caa48a8ed359c392cc400c01470ebb9201a98ab803562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02671218980c1481ceb51cd3bcf98dc362a71a2c3c324d3bdb0abda79307011bffffffffffffffff05581d02a297eddab801ff37d24de40714b5e91710cf4569ec3787e5b1f506cd040105581d02c56a2a6c6449ade6ceccfe6fec04327ceaa7e1751b8d30cfcbfec2880c19011f48084d321fab3f8a610219200a031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03104b81e2901985f31c4cd9a7c88e277cece15cf90321b773726d11b83007011bffffffffffffffff05581e03439dc760ef777645cd5b9d385241f0d938016cec8f5b3f3135a963f1d00c0b470134cf42dc478e0313a3439d21726fac58991727a50099eb5e0909aec3908b47136b29ea2cbf64e70605581e03f80862fc3ebc1421ab6c8d0e461ffd9a97e9d876c3d497019b41ef6cb007011bffffffffffffffff05581e03b9d1e7c0fd29156f77e4d933a272b92e1d86e3710350ceecaa4e039d200c01470a9ce09a900f8905581e037dd5b70d357f35ea12cc002bf17307cde21c7a9f16ea2eb531b43fc700040105581e033918e4c3cbc0ac5c0b01c75ad04832afb0d61c2ae74baa03d91c731d200403031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03179335935ee2920648555901bd0ab9d550c53d578aaded52b62d56855007011bffffffffffffffff0219937b03810b4d8b8799046331caa7257c5432b80c86c7dd980a3cae8f32416564588a2a03fb8f13e1a4746e29308824ce14d02769c1c905f9048809ff08fa1260d1ab39cd0219ffff03001df71547740b83bb3affd36a48fb737e19915dd3cce33c793d3183c1f2aa7003ef0a35c20200073339fb2b2e22c398a7b812db89196513f819ea949aac45de020219ffff033e93e5037b8de8709c9ff2cae23aaa7aea4765a70a76be7e7bc0c9a0590541f4037705796038861d1289e8668077d082cc8a5880f26ec67fe1a919787fc445a831032cfdfdab92f826e3539de9aee94dec6dad07ea70715343ba3db746c4cc6507a003dc752f0e31941c8ba9ad652c500a51c2bb05fdb9bb45983772194b4ba94970c803279d834c1db92485daa514c3f5d03eb44850ebe1775c2b91fbfe700f04f47678034b930ed50165891b9151c8036173c8db280c637a4da0b5b100e7ff18b7692f7e03b885141ff88038560d1a738ba4832bd5d106e23bcd4d84f237071e3bbe0f2466034023571bb64fa783cf02bbfdcfa21ce621b33c564dc3fbd866482e40b413aa8403175f93e8f5a759802d658016fe227af7b0908a9fbf71994e9817dd5bea894068039e45924f97fc688d8ab8a89c50d189102dc47bf8cc5c44a80ad998f81d1df31603cb1ee74f276cfb37d581b4bc8c6997b4b4082d5f1f25a76777a7161715786b4d032d6a1ae87231206216a1b778aad15c0481c577ffcff2470278ba8b47307fafc80325b32b724945aaca8aecf248b541b874817e287cda6f9d38b911663323a496320219ffff032ecdadbd23cf5efe8f0b0f2912d008a3af852c3487280a3f6c6d1b7258f87a89032a10004e46c8e2e1bfe068adfd6b0f8dfe310e9d82af8a3b435de0e4e31735390345e7388afa395093b704f2402bad2365b25bfc655246fa7912461a39fe97641303fe2f0bc929a176d6da6519ccbfb0733ccfbf31a8ade75e56f3dc77258d5bb00a0328910c8022a4132622a3d2773aa2b4edad381f26b5da83a8ce79682802997da30357d1c375f091a3ef6cadf3994aa33c82e59e3bf823980493602cec81d8d0ae1b0371aae442b76d307f6a39a459c896a452bec603a11b3f463338d0913e43bb9460033e8179b1bf82e31a3f6d50d3faf2d760d07b79bede877ae5ed2f67355a751c1903410056c49800bc31fbe49ff33fd38245eb6e04c17cf518a95bd04c7eed81c09d03eda0ce3302221f93c9a75c963d3415c4a5de1c08ec6d662768c3dbc5814bcb4d032c1746b1ae623b8cd05065bfdeb79195caa60cede479bf7dbf074732f8ef195203c01b98a818f43853c99e819043e7d2c3026c5371e9eea9b3ef47c9bdf06d1e0a0219ffff036f22f65603eb6a5f988de9fce50933058c64aabbd61f1c499398d603c949be3903d6f64f86abedde30384ea326efd49c41794cba88b49f1ff3a717275c4652753c03495a26eb99e6bf4a71a21c77446091cb2749dc34611467605def4537215054b703a88e2fc2306e2ddf24b7a6f95901737bfa365ad2d0612dd9968385e5aa46696803e23b6143621bbfd16bf49585eb32c6dd97cd83a05c131ebceecd46458baf939403784760715125cd52d5b8ed7a606af5e34cb04fc4ba9e4084f1679c97117b0e75036493782d13e434ef983be9e8b74ada5d14e82a192d38b4c34ee5a68ab9ce961e037dcde71cb0cb1abdfca7bcd306aec5b307541f9ec3e1954d6979161ec43bcc2d031c33f16c6b7555149357fd275df1afc47198a537d93f77f1a798e12b9f5005dd03b3c9c7b540404a20e925369e9e29b902963d66f359d581ad99a08ca7ceabf5120353b28ffd048c71643ffc0e3b6afbd84ba33aee55c3b5a21d012cfec38b95d67e033d4b173c3ff2091cb09d1beaedc3153c0925eaa50e07dc944c820cba34302bdc03f47dd6b5b3698f22f2ffd601e651b8d087aaa002aeab6a5b57e1c5a96ad8d4f203815cffa268a9ce3da1f60c8455bffd0e2550d717f6e36ec2a34aab6796c64ed403f3c98cf8bb560f0e7ed2904127ac4522276b8b65b249a179c254a2e7fa21e38503a1b091ff2d1c78fbe034c1c01444a9dbc69df00634684f04ede88410820d1c850359c7bda4c49ab69dc64e611b241b502d7b6852be3acf8c45cdd2e4ec20283353030a77dd1422a280d885cb8cb4d6eee767a1d7f28f8c8ac3b2a1cc0639efc2339d03f02bbcada42e2ecab69a758c552a1e1da5d1ebb247874f7d182e6eb7acb2b57603df3880f6e9b8e02f35de69049e31d3ec5a127031638860d608a60b7f305f5d310340e6f2efa47c9e1882d6ac6db20f629e696099d9c1ae404c8a2c362fc0ac385d03f6fad4cfadad9be1c83ab630d29433245f50667609684dc059376f414ff0c34f0341f52c2073ac7b891cc667104afd3aa989c706a7d685f878662bc11d8422b26003fb572734c06700c107a1ff5b595c4b9f309d55d2d1fd549121e73ea6e1b0be980315407bbd1aebdea49493c95a8ef0fdd9f85477aa4a7298a257bacb0c329a55bd03832448ed10db2b9c7f204f39e4c28f6c7dd4cbdcf556e36d934d86112beae03605581e03be2187a524cdce53c16e5ca8914ca809c4f833bd424613cd67184373500c014701abb44a29ed1503095048e1025f9a178cd77dacf34f1a987d69404739c61a225e9fca57e499aed0038b61f121b1b380004600a7fc56417ac1f57548318c2434e83cc17b8310b891ee03d126be26fb03f1bc068f0ae49af597309f35e77ceab400143f4cf4b50839673305581e03b04928a2b9460f7bd70dafbf93471d754b84d44f11813193d8146152600847044364c5bb000003b45997b79dc864f9baaf8cc97d487b58adf8a9a1eb895d2e4aca163cdc8eda24045952566080604052600436106101b05760003560e01c80637fc48504116100ec578063a35d99df1161008a578063bf653a5c11610064578063bf653a5c1461062b578063cff0ab961461065e578063e9e05c42146106ff578063f2b4e6171461071257600080fd5b8063a35d99df14610544578063a3860f4814610564578063bb2c727e1461058457600080fd5b80638e819e54116100c65780638e819e5414610494578063952b2797146104b45780639bf62d82146104e7578063a14238e71461051457600080fd5b80637fc48504146104545780638b4c40b0146101d55780638c3152e91461047457600080fd5b80634870496f1161015957806354fd4d501161013357806354fd4d50146103a95780635c975abb146103ff57806371c1566e146104145780637d6be8dc1461043457600080fd5b80634870496f1461030c5780634fd0434c1461032c578063513747ab1461036e57600080fd5b806343ca1c501161018a57806343ca1c5014610297578063452a9320146102b757806345884d32146102cc57600080fd5b806333d7e2bd146101dc57806335e80ab3146102335780633c9f397c1461026557600080fd5b366101d7576101d53334620186a060006040518060200160405280600081525061073f565b005b600080fd5b3480156101e857600080fd5b506037546102099073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801561023f57600080fd5b5060355461020990610100900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561027157600080fd5b50603b546102829063ffffffff1681565b60405163ffffffff909116815260200161022a565b3480156102a357600080fd5b506101d56102b23660046146f9565b6108fc565b3480156102c357600080fd5b50610209610b5a565b3480156102d857600080fd5b506102fc6102e736600461474b565b603a6020526000908152604090205460ff1681565b604051901515815260200161022a565b34801561031857600080fd5b506101d5610327366004614768565b610bf2565b34801561033857600080fd5b50603b5461035590640100000000900467ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161022a565b34801561037a57600080fd5b5061039b610389366004614844565b6000908152603c602052604090205490565b60405190815260200161022a565b3480156103b557600080fd5b506103f26040518060400160405280600681526020017f332e31302e30000000000000000000000000000000000000000000000000000081525081565b60405161022a91906148d3565b34801561040b57600080fd5b506102fc611303565b34801561042057600080fd5b506101d561042f3660046148e6565b611396565b34801561044057600080fd5b506101d561044f36600461474b565b611c27565b34801561046057600080fd5b506101d561046f36600461491d565b611d0a565b34801561048057600080fd5b506101d561048f36600461493a565b611df6565b3480156104a057600080fd5b506101d56104af366004614977565b611e42565b3480156104c057600080fd5b507f0000000000000000000000000000000000000000000000000000000000049d4061039b565b3480156104f357600080fd5b506032546102099073ffffffffffffffffffffffffffffffffffffffff1681565b34801561052057600080fd5b506102fc61052f366004614844565b60336020526000908152604090205460ff1681565b34801561055057600080fd5b5061035561055f3660046149e9565b6120f7565b34801561057057600080fd5b5061020961057f366004614a06565b612116565b34801561059057600080fd5b506105f661059f3660046148e6565b603960209081526000928352604080842090915290825290205473ffffffffffffffffffffffffffffffffffffffff81169074010000000000000000000000000000000000000000900467ffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff909316835267ffffffffffffffff90911660208301520161022a565b34801561063757600080fd5b507f0000000000000000000000000000000000000000000000000000000000093a8061039b565b34801561066a57600080fd5b506001546106c6906fffffffffffffffffffffffffffffffff81169067ffffffffffffffff7001000000000000000000000000000000008204811691780100000000000000000000000000000000000000000000000090041683565b604080516fffffffffffffffffffffffffffffffff909416845267ffffffffffffffff928316602085015291169082015260600161022a565b6101d561070d366004614a36565b61073f565b34801561071e57600080fd5b506038546102099073ffffffffffffffffffffffffffffffffffffffff1681565b8260005a9050838015610767575073ffffffffffffffffffffffffffffffffffffffff871615155b1561079e576040517f13496fda00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107a883516120f7565b67ffffffffffffffff168567ffffffffffffffff1610156107f5576040517f4929b80800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6201d4c083511115610833576040517f73052b0f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b33328114610854575033731111000000000000000000000000000000001111015b6000348888888860405160200161086f959493929190614ab5565b604051602081830303815290604052905060008973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32846040516108df91906148d3565b60405180910390a450506108f38282612177565b50505050505050565b610904611303565b1561093b576040517ff480973e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60325473ffffffffffffffffffffffffffffffffffffffff1661dead146109e9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d506f7274616c3a2063616e206f6e6c79207472696767657260448201527f206f6e65207769746864726177616c20706572207472616e73616374696f6e0060648201526084015b60405180910390fd5b60006109f48361244e565b9050610a008183611396565b600081815260336020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055908501516032805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff00000000000000000000000000000000000000009092169190911790558401516080850151606086015160a0870151610aa29392919061249b565b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead17905560405190915082907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b90610b0790841515815260200190565b60405180910390a280158015610b1d5750326001145b15610b54576040517feeae4ed300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b6000603560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663452a93206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bed9190614b1a565b905090565b610bfa611303565b15610c31576040517ff480973e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff1603610cf0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d506f7274616c3a20796f752063616e6e6f742073656e642060448201527f6d6573736167657320746f2074686520706f7274616c20636f6e74726163740060648201526084016109e0565b6038546040517fbb8aa1fc00000000000000000000000000000000000000000000000000000000815260048101869052600091829173ffffffffffffffffffffffffffffffffffffffff9091169063bb8aa1fc90602401606060405180830381865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d889190614b37565b925050915060008173ffffffffffffffffffffffffffffffffffffffff1663bcef3b556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfe9190614b84565b603b5490915063ffffffff848116911614610e9b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f7074696d69736d506f7274616c3a20696e76616c69642067616d652074797060448201527f650000000000000000000000000000000000000000000000000000000000000060648201526084016109e0565b610eb2610ead36889003880188614b9d565b6124f9565b8114610f40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f7074696d69736d506f7274616c3a20696e76616c6964206f7574707574207260448201527f6f6f742070726f6f66000000000000000000000000000000000000000000000060648201526084016109e0565b6000610f4b8961244e565b905060018373ffffffffffffffffffffffffffffffffffffffff1663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbe9190614c32565b6002811115610fcf57610fcf614c03565b0361105c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4f7074696d69736d506f7274616c3a2063616e6e6f742070726f76652061676160448201527f696e737420696e76616c696420646973707574652067616d657300000000000060648201526084016109e0565b60408051602081018390526000918101829052606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012090830181905292506111259101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828201909152600182527f010000000000000000000000000000000000000000000000000000000000000060208301529061111b898b614c53565b8b60400135612538565b6111b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4f7074696d69736d506f7274616c3a20696e76616c696420776974686472617760448201527f616c20696e636c7573696f6e2070726f6f66000000000000000000000000000060648201526084016109e0565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff808716825267ffffffffffffffff4281166020808501918252600088815260398252868120338252825286812095518654935190941674010000000000000000000000000000000000000000027fffffffff0000000000000000000000000000000000000000000000000000000090931693851693909317919091179093558d840151928e01519351928216939091169185917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f6291a4604051339083907f798f9f13695f8f045aa5f80ed8efebb695f3c7fe65da381969f2f28bf3c60b9790600090a3506000908152603c602090815260408220805460018101825590835291200180547fffffffffffffffffffffffff000000000000000000000000000000000000000016331790555050505050505050565b6000603560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611372573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bed9190614cd7565b600082815260396020908152604080832073ffffffffffffffffffffffffffffffffffffffff85811685529083528184208251808401845290549182168082527401000000000000000000000000000000000000000090920467ffffffffffffffff1681850152818552603a90935292205490919060ff161561149b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603160248201527f4f7074696d69736d506f7274616c3a20646973707574652067616d652068617360448201527f206265656e20626c61636b6c697374656400000000000000000000000000000060648201526084016109e0565b816020015167ffffffffffffffff1660000361155f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173206e60448201527f6f74206265656e2070726f76656e2062792070726f6f66207375626d6974746560648201527f7220616464726573732079657400000000000000000000000000000000000000608482015260a4016109e0565b60006115e08273ffffffffffffffffffffffffffffffffffffffff1663cf09e0d06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d39190614cf4565b67ffffffffffffffff1690565b90508067ffffffffffffffff16836020015167ffffffffffffffff16116116af576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604e60248201527f4f7074696d69736d506f7274616c3a207769746864726177616c2074696d657360448201527f74616d70206c657373207468616e20646973707574652067616d65206372656160648201527f74696f6e2074696d657374616d70000000000000000000000000000000000000608482015260a4016109e0565b7f0000000000000000000000000000000000000000000000000000000000093a80836020015167ffffffffffffffff16426116ea9190614d40565b11611777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4f7074696d69736d506f7274616c3a2070726f76656e2077697468647261776160448201527f6c20686173206e6f74206d61747572656420796574000000000000000000000060648201526084016109e0565b60028273ffffffffffffffffffffffffffffffffffffffff1663200d2ed26040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e89190614c32565b60028111156117f9576117f9614c03565b14611886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f4f7074696d69736d506f7274616c3a206f75747075742070726f706f73616c2060448201527f686173206e6f74206265656e2076616c6964617465640000000000000000000060648201526084016109e0565b603b5463ffffffff1663ffffffff166119108373ffffffffffffffffffffffffffffffffffffffff1663bbdc02db6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119079190614d57565b63ffffffff1690565b63ffffffff16146119a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f7074696d69736d506f7274616c3a20696e76616c69642067616d652074797060448201527f650000000000000000000000000000000000000000000000000000000000000060648201526084016109e0565b603b5467ffffffffffffffff64010000000090910481169082161015611a71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f4f7074696d69736d506f7274616c3a20646973707574652067616d652063726560448201527f61746564206265666f7265207265737065637465642067616d6520747970652060648201527f7761732075706461746564000000000000000000000000000000000000000000608482015260a4016109e0565b7f0000000000000000000000000000000000000000000000000000000000049d40611ae08373ffffffffffffffffffffffffffffffffffffffff166319effeb46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115af573d6000803e3d6000fd5b611af49067ffffffffffffffff1642614d40565b11611b81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f4f7074696d69736d506f7274616c3a206f75747075742070726f706f73616c2060448201527f696e206169722d6761700000000000000000000000000000000000000000000060648201526084016109e0565b60008581526033602052604090205460ff1615611c20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173206160448201527f6c7265616479206265656e2066696e616c697a6564000000000000000000000060648201526084016109e0565b5050505050565b611c2f610b5a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c93576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166000818152603a602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f192c289026d59a41a27f5aea08f3969b57931b0589202d14f4368cded95d3cda9190a250565b611d12610b5a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d76576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b603b805463ffffffff83167fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090911681176401000000004267ffffffffffffffff90811682029290921793849055604051930416917f049fe9dd413cdf037cce27011cc1790c753118272f3630e6e8bdfa5e8208176090600090a350565b565b611dfe611303565b15611e35576040517ff480973e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611e3f81336108fc565b50565b600054610100900460ff1615808015611e625750600054600160ff909116105b80611e7c5750303b158015611e7c575060005460ff166001145b611f08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016109e0565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611f6657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b603880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff8881169190911790925560378054909116868316179055603580547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101008684160217905560325416612086576032805461dead7fffffffffffffffffffffffff0000000000000000000000000000000000000000909116179055603b80547fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166401000000004267ffffffffffffffff16027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000161763ffffffff84161790555b61208e61255c565b8015611c2057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b6000612104826010614d74565b61211090615208614da4565b92915050565b603c602052816000526040600020818154811061213257600080fd5b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169150829050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b6001546000906121ad907801000000000000000000000000000000000000000000000000900467ffffffffffffffff1643614d40565b905060006121b961266f565b90506000816020015160ff16826000015163ffffffff166121da9190614dff565b9050821561231157600154600090612211908390700100000000000000000000000000000000900467ffffffffffffffff16614e67565b90506000836040015160ff16836122289190614edb565b6001546122489084906fffffffffffffffffffffffffffffffff16614edb565b6122529190614dff565b6001549091506000906122a39061227c9084906fffffffffffffffffffffffffffffffff16614f97565b866060015163ffffffff168760a001516fffffffffffffffffffffffffffffffff16612730565b905060018611156122d2576122cf61227c82876040015160ff1660018a6122ca9190614d40565b61274f565b90505b6fffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000067ffffffffffffffff4316021760015550505b60018054869190601090612344908490700100000000000000000000000000000000900467ffffffffffffffff16614da4565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550816000015163ffffffff16600160000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff1613156123d1576040517f77ebef4d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001546000906123fd906fffffffffffffffffffffffffffffffff1667ffffffffffffffff881661500b565b9050600061240f48633b9aca006127a4565b6124199083615048565b905060005a6124289088614d40565b9050808211156124445761244461243f8284614d40565b6127bb565b5050505050505050565b80516020808301516040808501516060860151608087015160a0880151935160009761247e97909695910161505c565b604051602081830303815290604052805190602001209050919050565b60008060006124ab8660006127e9565b9050806124e1576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b6000816000015182602001518360400151846060015160405160200161247e949392919093845260208401929092526040830152606082015260800190565b60008061254486612807565b905061255281868686612839565b9695505050505050565b600054610100900460ff166125f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109e0565b6001547801000000000000000000000000000000000000000000000000900467ffffffffffffffff16600003611df45760408051606081018252633b9aca00808252600060208301524367ffffffffffffffff169190920181905278010000000000000000000000000000000000000000000000000217600155565b6040805160c08082018352600080835260208301819052828401819052606083018190526080830181905260a083015260375483517fcc731b020000000000000000000000000000000000000000000000000000000081529351929373ffffffffffffffffffffffffffffffffffffffff9091169263cc731b02926004808401939192918290030181865afa15801561270c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bed91906150c9565b600061274561273f8585612869565b83612879565b90505b9392505050565b6000670de0b6b3a76400006127906127678583614dff565b61277990670de0b6b3a7640000614e67565b61278b85670de0b6b3a7640000614edb565b612888565b61279a9086614edb565b6127459190614dff565b6000818310156127b45781612748565b5090919050565b6000805a90505b825a6127ce9083614d40565b10156127e4576127dd82615185565b91506127c2565b505050565b600080603f83619c4001026040850201603f5a021015949350505050565b6060818051906020012060405160200161282391815260200190565b6040516020818303038152906040529050919050565b60006128608461284a8786866128b9565b8051602091820120825192909101919091201490565b95945050505050565b6000818312156127b45781612748565b60008183126127b45781612748565b6000612748670de0b6b3a7640000836128a086613337565b6128aa9190614edb565b6128b49190614dff565b61357b565b60606000845111612926576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d65726b6c65547269653a20656d707479206b6579000000000000000000000060448201526064016109e0565b6000612931846137ba565b9050600061293e866138a6565b905060008460405160200161295591815260200190565b60405160208183030381529060405290506000805b84518110156132ae576000858281518110612987576129876151bd565b602002602001015190508451831115612a22576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201527f74616c206b6579206c656e67746800000000000000000000000000000000000060648201526084016109e0565b82600003612adb5780518051602091820120604051612a7092612a4a92910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b612ad6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f74206861736800000060448201526064016109e0565b612c32565b805151602011612b915780518051602091820120604051612b0592612a4a92910190815260200190565b612ad6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e60448201527f616c20686173680000000000000000000000000000000000000000000000000060648201526084016109e0565b805184516020808701919091208251919092012014612c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f6460448201527f652068617368000000000000000000000000000000000000000000000000000060648201526084016109e0565b612c3e601060016151ec565b81602001515103612e1a5784518303612db257612c788160200151601081518110612c6b57612c6b6151bd565b6020026020010151613909565b96506000875111612d0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e636829000000000060648201526084016109e0565b60018651612d199190614d40565b8214612da7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e63682900000000000060648201526084016109e0565b505050505050612748565b6000858481518110612dc657612dc66151bd565b602001015160f81c60f81b60f81c9050600082602001518260ff1681518110612df157612df16151bd565b60200260200101519050612e04816139bd565b9550612e116001866151ec565b9450505061329b565b600281602001515103613213576000612e32826139e2565b9050600081600081518110612e4957612e496151bd565b016020015160f81c90506000612e60600283615204565b612e6b906002615226565b90506000612e7c848360ff16613a06565b90506000612e8a8a89613a06565b90506000612e988383613a3c565b905080835114612f2a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b657900000000000060648201526084016109e0565b60ff851660021480612f3f575060ff85166003145b1561312e5780825114612fd4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e64657200000060648201526084016109e0565b612fee8760200151600181518110612c6b57612c6b6151bd565b9c5060008d5111613081576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c656166290000000000000060648201526084016109e0565b60018c5161308f9190614d40565b881461311d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c65616629000000000000000060648201526084016109e0565b505050505050505050505050612748565b60ff85161580613141575060ff85166001145b156131805761316d8760200151600181518110613160576131606151bd565b60200260200101516139bd565b9950613179818a6151ec565b9850613208565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f6465207769746860448201527f20616e20756e6b6e6f776e20707265666978000000000000000000000000000060648201526084016109e0565b50505050505061329b565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e70617273656160448201527f626c65206e6f646500000000000000000000000000000000000000000000000060648201526084016109e0565b50806132a681615185565b91505061296a565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c6560448201527f6d656e747300000000000000000000000000000000000000000000000000000060648201526084016109e0565b60008082136133a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e4544000000000000000000000000000000000000000000000060448201526064016109e0565b600060606133af84613af0565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c182136135ac57506000919050565b680755bf798b4a1bf1e5821261361e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4558505f4f564552464c4f57000000000000000000000000000000000000000060448201526064016109e0565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b80516060908067ffffffffffffffff8111156137d8576137d861451c565b60405190808252806020026020018201604052801561381d57816020015b60408051808201909152606080825260208201528152602001906001900390816137f65790505b50915060005b8181101561389f576040518060400160405280858381518110613848576138486151bd565b6020026020010151815260200161387786848151811061386a5761386a6151bd565b6020026020010151613bc6565b81525083828151811061388c5761388c6151bd565b6020908102919091010152600101613823565b5050919050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b838110156138fe578060011b82018184015160001a8060041c8253600f8116600183015350506001016138d0565b509295945050505050565b6060600080600061391985613bd9565b91945092509050600081600181111561393457613934614c03565b1461396b576040517f1ff9b2e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61397582846151ec565b8551146139ae576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61286085602001518484614077565b606060208260000151106139d9576139d482613909565b612110565b6121108261410b565b6060612110613a018360200151600081518110612c6b57612c6b6151bd565b6138a6565b606082518210613a255750604080516020810190915260008152612110565b6127488383848651613a379190614d40565b614121565b6000808251845110613a4f578251613a52565b83515b90505b8082108015613ad95750828281518110613a7157613a716151bd565b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916848381518110613ab057613ab06151bd565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b15613ae957816001019150613a55565b5092915050565b6000808211613b5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e4544000000000000000000000000000000000000000000000060448201526064016109e0565b5060016fffffffffffffffffffffffffffffffff821160071b82811c67ffffffffffffffff1060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6060612110613bd4836142f9565b614366565b60008060008360000151600003613c1c576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020840151805160001a607f8111613c41576000600160009450945094505050614070565b60b78111613d57576000613c56608083614d40565b905080876000015111613c95576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082148015613d0d57507f80000000000000000000000000000000000000000000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000008216105b15613d44576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060019550935060009250614070915050565b60bf8111613eb5576000613d6c60b783614d40565b905080876000015111613dab576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003613e0d576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111613e55576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613e5f81846151ec565b895111613e98576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613ea38360016151ec565b97509550600094506140709350505050565b60f78111613f1a576000613eca60c083614d40565b905080876000015111613f09576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600195509350849250614070915050565b6000613f2760f783614d40565b905080876000015111613f66576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003613fc8576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600184015160088302610100031c60378111614010576040517fbabb01dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61401a81846151ec565b895111614053576040517f66c9448500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61405e8360016151ec565b97509550600194506140709350505050565b9193909250565b60608167ffffffffffffffff8111156140925761409261451c565b6040519080825280601f01601f1916602001820160405280156140bc576020820181803683370190505b50905081156127485760006140d184866151ec565b90506020820160005b848110156140f25782810151828201526020016140da565b84811115614101576000858301525b5050509392505050565b6060612110826020015160008460000151614077565b60608182601f011015614190576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016109e0565b8282840110156141fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f7700000000000000000000000000000000000060448201526064016109e0565b81830184511015614269576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e647300000000000000000000000000000060448201526064016109e0565b60608215801561428857604051915060008252602082016040526142f0565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156142c15780518352602092830192016142a9565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b60408051808201909152600080825260208201528151600003614348576040517f5ab458fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50604080518082019091528151815260209182019181019190915290565b6060600080600061437685613bd9565b91945092509050600181600181111561439157614391614c03565b146143c8576040517f4b9c6abe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84516143d483856151ec565b1461440b576040517f5c5537b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516020808252610420820190925290816020015b60408051808201909152600080825260208201528152602001906001900390816144225790505093506000835b8651811015614510576000806144956040518060400160405280858c600001516144799190614d40565b8152602001858c6020015161448e91906151ec565b9052613bd9565b5091509150604051806040016040528083836144b191906151ec565b8152602001848b602001516144c691906151ec565b8152508885815181106144db576144db6151bd565b60209081029190910101526144f16001856151ec565b93506144fd81836151ec565b61450790846151ec565b9250505061444f565b50845250919392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156145925761459261451c565b604052919050565b73ffffffffffffffffffffffffffffffffffffffff81168114611e3f57600080fd5b600082601f8301126145cd57600080fd5b813567ffffffffffffffff8111156145e7576145e761451c565b61461860207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161454b565b81815284602083860101111561462d57600080fd5b816020850160208301376000918101602001919091529392505050565b600060c0828403121561465c57600080fd5b60405160c0810167ffffffffffffffff82821081831117156146805761468061451c565b81604052829350843583526020850135915061469b8261459a565b816020840152604085013591506146b18261459a565b816040840152606085013560608401526080850135608084015260a08501359150808211156146df57600080fd5b506146ec858286016145bc565b60a0830152505092915050565b6000806040838503121561470c57600080fd5b823567ffffffffffffffff81111561472357600080fd5b61472f8582860161464a565b92505060208301356147408161459a565b809150509250929050565b60006020828403121561475d57600080fd5b81356127488161459a565b600080600080600085870360e081121561478157600080fd5b863567ffffffffffffffff8082111561479957600080fd5b6147a58a838b0161464a565b97506020890135965060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0840112156147de57600080fd5b60408901955060c08901359250808311156147f857600080fd5b828901925089601f84011261480c57600080fd5b823591508082111561481d57600080fd5b508860208260051b840101111561483357600080fd5b959894975092955050506020019190565b60006020828403121561485657600080fd5b5035919050565b60005b83811015614878578181015183820152602001614860565b83811115610b545750506000910152565b600081518084526148a181602086016020860161485d565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006127486020830184614889565b600080604083850312156148f957600080fd5b8235915060208301356147408161459a565b63ffffffff81168114611e3f57600080fd5b60006020828403121561492f57600080fd5b81356127488161490b565b60006020828403121561494c57600080fd5b813567ffffffffffffffff81111561496357600080fd5b61496f8482850161464a565b949350505050565b6000806000806080858703121561498d57600080fd5b84356149988161459a565b935060208501356149a88161459a565b925060408501356149b88161459a565b915060608501356149c88161490b565b939692955090935050565b67ffffffffffffffff81168114611e3f57600080fd5b6000602082840312156149fb57600080fd5b8135612748816149d3565b60008060408385031215614a1957600080fd5b50508035926020909101359150565b8015158114611e3f57600080fd5b600080600080600060a08688031215614a4e57600080fd5b8535614a598161459a565b9450602086013593506040860135614a70816149d3565b92506060860135614a8081614a28565b9150608086013567ffffffffffffffff811115614a9c57600080fd5b614aa8888289016145bc565b9150509295509295909350565b8581528460208201527fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b16604082015282151560f81b604882015260008251614b0981604985016020870161485d565b919091016049019695505050505050565b600060208284031215614b2c57600080fd5b81516127488161459a565b600080600060608486031215614b4c57600080fd5b8351614b578161490b565b6020850151909350614b68816149d3565b6040850151909250614b798161459a565b809150509250925092565b600060208284031215614b9657600080fd5b5051919050565b600060808284031215614baf57600080fd5b6040516080810181811067ffffffffffffffff82111715614bd257614bd261451c565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208284031215614c4457600080fd5b81516003811061274857600080fd5b600067ffffffffffffffff80841115614c6e57614c6e61451c565b8360051b6020614c7f81830161454b565b868152918501918181019036841115614c9757600080fd5b865b84811015614ccb57803586811115614cb15760008081fd5b614cbd36828b016145bc565b845250918301918301614c99565b50979650505050505050565b600060208284031215614ce957600080fd5b815161274881614a28565b600060208284031215614d0657600080fd5b8151612748816149d3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015614d5257614d52614d11565b500390565b600060208284031215614d6957600080fd5b81516127488161490b565b600067ffffffffffffffff80831681851681830481118215151615614d9b57614d9b614d11565b02949350505050565b600067ffffffffffffffff808316818516808303821115614dc757614dc7614d11565b01949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082614e0e57614e0e614dd0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f800000000000000000000000000000000000000000000000000000000000000083141615614e6257614e62614d11565b500590565b6000808312837f800000000000000000000000000000000000000000000000000000000000000001831281151615614ea157614ea1614d11565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018313811615614ed557614ed5614d11565b50500390565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600084136000841385830485118282161615614f1c57614f1c614d11565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615614f5757614f57614d11565b60008712925087820587128484161615614f7357614f73614d11565b87850587128184161615614f8957614f89614d11565b505050929093029392505050565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03841381151615614fd157614fd1614d11565b827f800000000000000000000000000000000000000000000000000000000000000003841281161561500557615005614d11565b50500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561504357615043614d11565b500290565b60008261505757615057614dd0565b500490565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a08301526150a760c0830184614889565b98975050505050505050565b805160ff811681146150c457600080fd5b919050565b600060c082840312156150db57600080fd5b60405160c0810181811067ffffffffffffffff821117156150fe576150fe61451c565b604052825161510c8161490b565b815261511a602084016150b3565b602082015261512b604084016150b3565b6040820152606083015161513e8161490b565b606082015260808301516151518161490b565b608082015260a08301516fffffffffffffffffffffffffffffffff8116811461517957600080fd5b60a08201529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036151b6576151b6614d11565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082198211156151ff576151ff614d11565b500190565b600060ff83168061521757615217614dd0565b8060ff84160691505092915050565b600060ff821660ff84168082101561524057615240614d11565b9003939250505056fea164736f6c634300080f000a005821031df491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff697042dead0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410103be676f6f8825490ac0605ce05f97fdf54dbcd09281ff9750ec8bfc781ba94ef20219080605581d02ea551fe459e91588110b0810a153c6bf7c18e5b9e5a4a9d3b4cc4d1f070119525605581d02d027a08f8be11637df3f610e959f02034138b8ada99e44977c0f0a64040102188405581e03409f00c0dafd093dc5528b8974591fe32f9c13cbce333cf066a26715000c05443b9ac90003dcad2e950a1817feeac5bfd89d1c525dfaaf442f6600b02e2b79d4e96e0ad9ca03076e65bbdfaebbbab458a2f0276926a6453e1334b9deafa3a12b578936d69d0905581e03ad26757f62e63d2ed060a91ec551b0695508b8af32aef58c5d587ca550040302197ad7031a06281d9468306a3dece5c99aa1518a50fa244034a54f71ed09589a4f4a9136035c02c6cce6e1a65ebb19735963ee256ef14b1d30ccd1d6523477149131ea722503020514cc93d29629e9f45277b0e8ee758ff481ba1f597f5e56c32284ffbcf93f0312c7527d2f3eb449c894fff4ef54320d4b8c0c6f8b37dd2b6b4142d3360c51ad030318b51454b4c6a247938d49df0e1941b640ce2c6df6ae8a88f0f83948c8717d03c6d1e3ad85320a4ccece6ccf3f864cbbf5d4e38e9250bc005225cb5649b083cb032f6c826d9feb8d3f80e9a23cc1106bae34b0d2a58c106caa2cca9e65a212a63c03ce64b21371daa292c75e6a543b5ce66b7314eadc0dc09cdb5365d1d994b5973a031b8cc0b5e260c4e0de8d665836084e9d4d051003cd0adff1763c1ab5818f077503cf7a0c337025d741ccff8c57c0023d75110751d2adab3a3dae61eeaf287b2d680336847ce80010d9c8418e13b32ba1fb1d962474ce4f2e4bddc706208aa57930c703fcc43cacc7e16a7fda8200654b7fe250246673a5299d5428fb6ece437613d392030e141a13a5451727bc18cd680c532277a864602694e87b856111f4030c9260d203e849dbd98395b25ec1cf53189acb3a5efce6131d1e650b3c71ad31cb546b4ba10219ffff03a2e0dcd008523796db91a683d2463aee71fe6d271571da8db2fa45aed1df2d6d037a579f1e1fc1aedac2736db53ca9ebf8f40fffa67b2414f849ecf23b3ca2a8f803274690a2daef87e92d434d66fdc4b89c228c21163ff13cda30b085c7cb0c08da03a52396a6ba87810bc31d03ff198c149f18a94ca9b62878a6f953b1f2d68ffcd303c771b137bde80b49fa436b7820c695b59cfe80f10b695ea5e56467bf2bf21def03c905fd819fddbb188e95f3483ff74bcaa17de57fc1a0a8e1052d850599f48da10376ddc3e2ccc5d486c89f23a831b8d22f75f0d671958f5c2033c4336d29bcd06d0381d7db15fbac9df017db3a35386c238ab394b05e7c9a0abc190a9f0eee8843e40219ffff0219ffff0379dd2f938af96d297d06f18830746a60ce9c7734dcf89636c7b9b151717671f303cce4b48a58254f920a7f5349efef9eb7e6ecfbf219c918c5725fd62c38ab9da503b0b3573d836dc6c352b98af68677b3efea753a7d339db11fc58dc61a82ebd781030daef27a38b5d0910acd850f337fb0dca6ae3fd4396dccf1ad7f6833319a1aa30361d68d979fb74d2ce2ebf97120fe9a2cb0940c3d924fdb9592cfb38b4d8df35b03d331a62889fb712b07aff2f98afb585fc14980ff146f8af03fd32483e6b992b60358af5c90e353f9f0eef84da2a837b7deab3178767521ff8e0e8b54267310ccae032ecd6d2c64b4635b3c1ff60f4b8303f91fb9e267962f076172fd50aef4f3ca89034eba6e3e8b0922952c8a891f9841d245813ed56262f13cbcbf75d43df127823d03ef61ce6a14db8c07c07502948e75643705d1dabccbc6a5a12522aa955f5fb66d030bb92da437c2ce156bb6611cc6d1e7bc95a0b8e29f18373eadfe5e346c4cc0ad031b78c09101fbdb28df0f4efeeb2e101c109b00ded0431a9186d3df4e0e714d3103ede8441eca404906a14ed601e24e5ad257cb19ec32f3638827186ebf79abda220325cfea773f06ad70d75bf9233898b6ce33ecf5a6d7a7cf00db7d99d6694cf40c035a7daf4390bb3a2140d4f726552e856837b9c576229131ba910eb08b9371510803615b97fd0e43754bb96a5351f06c2841bbd9ee67385b89b85f5e3a793afa0d49031db02b1fbb15867da11fae5ef48d034785e3ad6f72aebb692d686ae1c8136ca103265f7d01e2d6daaa6c466949a36ee59ba597400890b4a6823e61bcad7f0f65a303c85a952bf63a82bf91c623ad90e15f116ee30c6f28ea1a03d7f73de88e909d48033340f627c6cdaccbee807ba7c5286082fe855b915381c4a64e54f86128c10a9305581e03081314b0a212e6ec725600fb2a00d56e823d0bc87f6eba31dc834f5dd00c024502540be4000341f37958d89fdc40ab5aeabdc8865372349e7c2d51a1301da598176c2f54fa78037f50698c4252466c57517af722c7c4f25b9617cd5f56d7569bf3304977e1d75001410805581d02c84bf9bba70e595e45814bdbdfcd8b4d7df2fa8f8114428856d2e63b0847071be61e32100005581d02dbb97062f7598728bc8b8d50c14ea9dcdc53a13287a13abaf009ce0b0c1a0002010249023f138b3687512ec0031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581d02e01c3a0afbd21c7d5adfa04ff59a1141276f10b8c9acb843c8dad75d07011bffffffffffffffff0219400605581e03afb7196da63f74ea5bfb122e1186cdd81cc6f692f5ba064cb43c5ba1600c0a4701ed3112b8ec0003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03e94ae6db98b70d2dcb616aee7bce346cac59bb29caca5fc515460fe13007011bffffffffffffffff05581e0303122056814219454e0ce60fe32c64cb39d77be7440f7f46b806ca147004120311aecc472d9e35ca89668bcab729d76ed3217ab2cce0c5b64e4c85197faded5105581e03210d643541b84ff312ed35f4c9d44f761541d88b8af607a793023a6f800402021932bb035ed1010be367899b6352bf4505e66698f9f5f86af550d35dab6ad8e4d735a25203155824d8ec690c412c05e92d1342c507af0a9ce870658fda03581103312091ff03c105841562474140d376efdc71a85b7b04487314976ad4dcb8d1712552386e110219ffff03c0420a7184474b4abe06a7c6e0a648bcaf5c29ca4d246a9358b0627e284a69a503e1013ca63ba329b93494dad6edba3e6ebc2b30f50df8042bef69ecda37e3222c03d432e508f1d3f161cbd90f1b76a38625de5536c092b446fc5a19474c260a3c220305e51ae5adb235a8d0660c8e50e5b5fd664c12bdc268b89a14ea44f69b8083630370e0635aefc770c4b31b9d0713f86bb73bf32c75eabcc56537a5b9370dc1c7f70339d33333e4d3be114c17a0b9dc10bc559a52df642838cd4164c5a2ce39b298a00333724f484dba635dad310b5b2e3d4e039673cca3fe7fce508ade71aa32d4d7b203a5061688d176ce5efd5850cb66f21acf032dcc9529f77ab1a1bb46af6120012003b169df8aada2c597c606c015b440f730694b14c9d65839011f860c35f136665d0310dc375cd1720b5d99d7d2d1f9e7e346a5d62502e51ba3580761b093cd33fd0a0382dc92d9e0a263294c4faac2eb32eb943b06c9e1a8079fe1c41c6310311f897c031dd45973b2d4c2b71ef1b11ef98555453588214f74d89e53c0f7041e9b5239b903b8e2fb95ce438474ea1bf974cc6ab1d3a63fd10ca853a55af3bad4be8e373a1303ae5a31a5fbd0aed37d01ee696ef0c899c71cc31f56641d2c1a77c018bfa04fba0219ffff037e30f72004fae5ed1980ba4e11cbea0246f75f134f66e633daf3cd17dfad931803aa7daf6f84414de51ff9bfc76f19f73afbc4752e06d35abf35d9ad9d4ca595b10376b047a2778f1f950ad88a095be6f1890265b41d6fce74d25f21bef94d966684030b3697b3de415d854dbf297aa5081d1d84f1ed76ff4b8c9e69eeac3a8ce9e23603556606f9553466ba259636238666fa61681042493a22853655aab527e550cd5d039fabfaa5da124ecfa383a8b21d9a51bd9a15678030cd8c7efe34097db70aefa6035ce08f53966f5bffd04a3dcb606bf4268586a45056ca57b561a831cbef3e8792034e9a7257a06f91945b79ca96e8873a1682e30781ba153ffa7f6ec2b5a74281960219ffff038268f6429bcf7611fdc22359790f87ef17afb0daf315bff3634d52c77c51820d03d1ae5c1d71eb9524311b288fd8d39aca54f500f59eaf4ae4712c54e42497e143038e807daa7a873cd31cd4527e1f030ba28d67312a6d18f64a75f823643bdf3b5903c86067c2f04b51a78b58aefdd4e0d3dcf57dbf54481036eb7871dbc91ecb064d038a73a964cdc777591299de8483fc52dce2d49c744d7b4040c634181370727bf1034165e5c32cf327ec19efd751c3cc35d721d6a14512b89b979f7baea5d7dd60c403b54c3201a8479cc4785df63abc2035b5850d28358f4d5ddaf8fecda0685a5d6e03cb749d840cdd144b3c18056003ab4e6848e6953090c377f3ed63e1d0beb127d703d27204b5e47d8a08cb9a7b09fb1188b40266700d11b73b12bfd195105266b9360348acd46af86b9f60631cda2870239f7d2b01c57844ed5e3f0e39b7c047a4f5bf0310bf9cf98ac7dd6f41e4da2483858f87721b49d40025b305a7a73dc4e8ca93fd03157bf2909aa9bb76ea4ee0cbc9dfcfb82c8c375afd2163bc3568a71183542dc4032e7ee878da4cd2e5c429747fc9ef16a495b28b9b47e24bea2ba93a12af6784f803156cd7d213bbfe5fe2a06667b219275d99180496dc0e00d41821765e98709b0903a5d72892e74272566fec4c44a99582a92332e552a1198d1ff280d816e892529003bbde230d289493b8184f19a2fbb10814ca7fb736fc08eaa502cf5b41e20ae8900390e401dbd0f2c6b10db726d58652acbfc01176e9d773c4230447a996117c90650311f25ac133502ec3347710379f1fe27585602e0bc1644b5449d0c1ee7df4c0560366989db03907b28e3aab6c72c51a09a00573629f56d99e4134a69294690a095d03b6f63ba35b598a2aba657b37cf11527b6784b4162d9d47670f67512f748e90ca03bfa960d8eb15a6b158977305c6707c302acc285d35b07ec9cc3ff01e1cf6f5ab030b455971e5c45be00e97c338d137b780472ef9f12ab01028e39e4eb1d901f82f03a29c77b3988be533045d3573b7daf37e63185e3435aeaf2fbf2d047660abb291035aa7685cbd24175db8b862f1be26af9286a3eefab87a5626f5f5f54a9def9fd703053066bdf6839e974bbbdf1a100230579eae66b7ec8c4b1ad32e59be11bc68ff05581e0308d63de2c2d93f5eea57f193aba9247ea17cf5e5213f25426de35317b0040103c445687f4e339ad29bd9ebb667916fd382afac317c6ad1a2e71a5c9f6262994c04595d12608060405260043610610092575f3560e01c806375713a081161005757806375713a081461014b5780638024c73a1461015e5780638129fc1c14610172578063e634edd314610186578063fa461e33146100df575f80fd5b80630162e2d01461009d5780631a12d67c146100b257806323a69e75146100df578063547d00a2146100fe5780636e20b10714610138575f80fd5b3661009957005b5f80fd5b6100b06100ab366004615175565b610199565b005b6100c56100c03660046152f9565b610286565b604080519283526020830191909152015b60405180910390f35b3480156100ea575f80fd5b506100b06100f936600461539c565b6103e6565b348015610109575f80fd5b5061011d610118366004615414565b610767565b604080519384526020840192909252908201526060016100d6565b6100c5610146366004615496565b610ee6565b6100b0610159366004615589565b61101c565b348015610169575f80fd5b506100b0611898565b34801561017d575f80fd5b506100b061198f565b61011d610194366004615639565b611ab7565b8115806101a557508142145b6101ca5760405162461bcd60e51b81526004016101c1906156b6565b60405180910390fd5b5f898960028181106101de576101de6156e5565b90506020020135111561026c57888860028181106101fe576101fe6156e5565b905060200201353410156102245760405162461bcd60e51b81526004016101c1906156f9565b416108fc8a8a600281811061023b5761023b6156e5565b9050602002013590811502906040515f60405180830381858888f1935050505015801561026a573d5f803e3d5ffd5b505b61027b89898989898887612162565b505050505050505050565b5f8083158061029457508342145b6102b05760405162461bcd60e51b81526004016101c1906156b6565b8b15610302578b3410156102d65760405162461bcd60e51b81526004016101c1906156f9565b60405141908d156108fc02908e905f818181858888f19350505050158015610300573d5f803e3d5ffd5b505b5f6040518061012001604052808b815260200189151581526020018e81526020018f600281518110610336576103366156e5565b60200260200101516001600160a01b031681526020015f6001600160a01b031681526020018881526020018a815260200187815260200185815250905061037d8e8261282d565b9094509250508b158061039057508b8310155b6103ac5760405162461bcd60e51b81526004016101c190615730565b8a15806103b957508a8311155b6103d55760405162461bcd60e51b81526004016101c19061575f565b509b509b9950505050505050505050565b5f8413806103f357505f83135b6103fb575f80fd5b5f8080808061040c8688018861578c565b95509550955050945094507350282b204ae2a36a6a7f2783ce351617030f68386001600160a01b0316630c2f3df3338787336001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015610479573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049d9190615801565b6040516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015262ffffff9091166064820152608401602060405180830381865afa1580156104fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061051e9190615823565b61055a5760405162461bcd60e51b815260206004820152600d60248201526c46616b652063616c6c6261636b60981b60448201526064016101c1565b5f805f8b1361057e57866001600160a01b0316866001600160a01b0316108a610595565b856001600160a01b0316876001600160a01b0316108b5b9150915082811161075a578115610682575f6001600160a01b0388165f80516020615cbd833981519152146105ca57876105d9565b5f80516020615cbd8339815191525b90506001600160a01b03861630148061060757506001600160a01b0388165f80516020615cbd833981519152145b1561061d5761061881873385613755565b61067c565b60405162ccfb9360e51b81526001600160a01b0386169063199f72609061064e9084908a903390889060040161583e565b5f604051808303815f87803b158015610665575f80fd5b505af1158015610677573d5f803e3d5ffd5b505050505b5061075a565b5f6001600160a01b0387165f80516020615cbd833981519152146106a657866106b5565b5f80516020615cbd8339815191525b90506001600160a01b0386163014806106e357506001600160a01b0387165f80516020615cbd833981519152145b156106f9576106f481873385613755565b610758565b60405162ccfb9360e51b81526001600160a01b0386169063199f72609061072a9084908a903390889060040161583e565b5f604051808303815f87803b158015610741575f80fd5b505af1158015610753573d5f803e3d5ffd5b505050505b505b5050505050505050505050565b5f805f80845f8151811061077d5761077d6156e5565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156107cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ef9190615868565b90505f8a606414806107ff57508a155b61082a575f8a116108245761081f6064610819848e613892565b906138c3565b61082c565b8961082c565b815b90505f811161086c5760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f42414c414e434560a01b60448201526064016101c1565b8660018151811061087f5761087f6156e5565b60200260200101516001600160a01b03167368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b031614806108f95750866001815181106108c8576108c86156e5565b60200260200101516001600160a01b031673ddc1b5920723f774d2ec2c3c9355251a208197766001600160a01b0316145b80610943575086600181518110610912576109126156e5565b60200260200101516001600160a01b0316731b81d678ffb9c0263b24a97847620c99d213eb146001600160a01b0316145b15610ae5575f6040518061012001604052808d5f14801561096357505f8d115b61096d575f61096f565b8c5b81526020015f151581526020015f815260200189600281518110610995576109956156e5565b60200260200101516001600160a01b03168152602001895f815181106109bd576109bd6156e5565b60200260200101516001600160a01b031681526020015f81526020018381526020015f81526020018b81525090505f60026001600160401b03811115610a0557610a05615211565b604051908082528060200260200182016040528015610a2e578160200160208202803683370190505b509050875f81518110610a4357610a436156e5565b6020026020010151815f81518110610a5d57610a5d6156e5565b60200260200101906001600160a01b031690816001600160a01b03168152505087600181518110610a9057610a906156e5565b602002602001015181600181518110610aab57610aab6156e5565b60200260200101906001600160a01b031690816001600160a01b031681525050610ad5818361282d565b9198509096509450610ed7915050565b8a158015610af257505f8a115b15610b66575f610b1e8b888a600181518110610b1057610b106156e5565b60200260200101518c6138d5565b905082815f81518110610b3357610b336156e5565b60200260200101511115610b475782610b62565b805f81518110610b5957610b596156e5565b60200260200101515b9150505b855f81518110610b7857610b786156e5565b60200260200101516001600160a01b03166370a0823188600281518110610ba157610ba16156e5565b60200260200101516040518263ffffffff1660e01b8152600401610bd491906001600160a01b0391909116815260200190565b602060405180830381865afa158015610bef573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c139190615868565b9450865f81518110610c2757610c276156e5565b60200260200101516001600160a01b031663199f7260875f81518110610c4f57610c4f6156e5565b6020026020010151338a600281518110610c6b57610c6b6156e5565b6020026020010151856040518563ffffffff1660e01b8152600401610c93949392919061583e565b5f604051808303815f87803b158015610caa575f80fd5b505af1158015610cbc573d5f803e3d5ffd5b5050505084865f81518110610cd357610cd36156e5565b60200260200101516001600160a01b03166370a0823189600281518110610cfc57610cfc6156e5565b60200260200101516040518263ffffffff1660e01b8152600401610d2f91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610d4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d6e9190615868565b610d789190615893565b6040516370a0823160e01b81523060048201529095505f905f80516020615cbd833981519152906370a0823190602401602060405180830381865afa158015610dc3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610de79190615868565b9050610e0e87308a600181518110610e0157610e016156e5565b6020026020010151613a49565b506040516370a0823160e01b81523060048201525f9082905f80516020615cbd833981519152906370a0823190602401602060405180830381865afa158015610e59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7d9190615868565b610e879190615893565b90505f8111610ecd5760405162461bcd60e51b81526020600482015260126024820152711393c81513d2d15394c8149150d15255915160721b60448201526064016101c1565b9194509092508390505b50505b96509650969350505050565b5f80831580610ef457508342145b610f105760405162461bcd60e51b81526004016101c1906156b6565b8a15610f62578a341015610f365760405162461bcd60e51b81526004016101c1906156f9565b60405141908c156108fc02908d905f818181858888f19350505050158015610f60573d5f803e3d5ffd5b505b5f6040518061012001604052808b815260200189151581526020018d81526020018e600281518110610f9657610f966156e5565b60200260200101516001600160a01b031681526020015f6001600160a01b031681526020018881526020018a8152602001878152602001858152509050610fdd8d8261282d565b9094509250508a1580610ff057508a8310155b61100c5760405162461bcd60e51b81526004016101c190615730565b509a509a98505050505050505050565b5f82600481518110611030576110306156e5565b602002602001015111801561105f575081600481518110611053576110536156e5565b60200260200101514214155b156110b8576040516001600160a01b038a1681527ff2e7574263ab25e854ccac210f6060de1cb000d665c40e21b3bcb80f2b4511bc9060200160405180910390a160405162461bcd60e51b81526004016101c1906156b6565b5f6001600160a01b0389165f80516020615cbd833981519152146110dd5760036110e0565b60025b60ff166001600160401b038111156110fa576110fa615211565b604051908082528060200260200182016040528015611123578160200160208202803683370190505b50905089815f81518110611139576111396156e5565b60200260200101906001600160a01b031690816001600160a01b031681525050888160018151811061116d5761116d6156e5565b60200260200101906001600160a01b031690816001600160a01b03168152505080516003036111d8575f80516020615cbd833981519152816002815181106111b7576111b76156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505b6040516370a0823160e01b81523360048201525f906001600160a01b038c16906370a0823190602401602060405180830381865afa15801561121c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112409190615868565b90507368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b038a161480611289575073ddc1b5920723f774d2ec2c3c9355251a208197766001600160a01b038a16145b806112b05750731b81d678ffb9c0263b24a97847620c99d213eb146001600160a01b038a16145b15611533575f6040518061012001604052805f876005815181106112d6576112d66156e5565b6020026020010151116112e9575f611305565b866005815181106112fc576112fc6156e5565b60200260200101515b81526020015f151581526020015f81526020018a6001600160a01b03168152602001876001600160a01b0316815260200186600181518110611349576113496156e5565b602002602001015181526020015f8a116113ba57865f8151811061136f5761136f6156e5565b60200260200101516064146113b4576064875f81518110611392576113926156e5565b6020026020010151856113a591906158a6565b6113af91906158d1565b6113bc565b836113bc565b895b8152602001866002815181106113d4576113d46156e5565b602090810291909101810151825201859052604080516002808252606082019092529192505f91908160200160208202803683370190505090508c815f81518110611421576114216156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250508b81600181518110611455576114556156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505f611480828461282d565b509150507f522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade97816040516114b591815260200190565b60405180910390a15f891180156114cb57508881105b156114e85760405162461bcd60e51b81526004016101c190615730565b865160070361152b5786600681518110611504576115046156e5565b602002602001015181111561152b5760405162461bcd60e51b81526004016101c19061575f565b50505061075a565b5f8088116115e7575f871161159f57845f81518110611554576115546156e5565b6020026020010151606414611599576064855f81518110611577576115776156e5565b60200260200101518361158a91906158a6565b61159491906158d1565b6115e9565b816115e9565b6115946115c888858d896003815181106115bb576115bb6156e5565b60200260200101516138d5565b5f815181106115d9576115d96156e5565b602002602001015183613ca0565b875b9050861561167157866115fd82858d613cb5565b6001855161160b9190615893565b8151811061161b5761161b6156e5565b602002602001015110156116715760405162461bcd60e51b815260206004820152601f60248201527f4e6f7420656e6f75676820746f6b656e7320707265646963746564206f75740060448201526064016101c1565b856001600160a01b031663199f7260845f81518110611692576116926156e5565b6020026020010151338c856040518563ffffffff1660e01b81526004016116bc949392919061583e565b5f604051808303815f87803b1580156116d3575f80fd5b505af11580156116e5573d5f803e3d5ffd5b505050506116f483308c613a49565b506040516370a0823160e01b81523060048201525f905f80516020615cbd833981519152906370a0823190602401602060405180830381865afa15801561173d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117619190615868565b90505f8811801561177157508781105b1561178e5760405162461bcd60e51b81526004016101c190615730565b85516007036117d157856006815181106117aa576117aa6156e5565b60200260200101518111156117d15760405162461bcd60e51b81526004016101c19061575f565b801561183157604051632e1a7d4d60e01b8152600481018290525f80516020615cbd83398151915290632e1a7d4d906024015f604051808303815f87803b15801561181a575f80fd5b505af115801561182c573d5f803e3d5ffd5b505050505b611856818688600281518110611849576118496156e5565b6020026020010151613df9565b6040518181527f522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade979060200160405180910390a150505050505050505050505050565b73e18d90cc64bb8a5aab6f3fb8060a90ed14d65a7233146118e15760405162461bcd60e51b8152602060048201526003602482015262486d6d60e81b60448201526064016101c1565b5f6001541161192b5760405162461bcd60e51b8152602060048201526016602482015275139bc81199595cc810dd5c9c995b9d1b1e4813ddd95960521b60448201526064016101c1565b60015447101561197d5760405162461bcd60e51b815260206004820181905260248201527f4e6f7420456e6f7567682042616c616e636520546f20436f766572204665657360448201526064016101c1565b61198933600154613ea4565b5f600155565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f811580156119d35750825b90505f826001600160401b031660011480156119ee5750303b155b9050811580156119fc575080155b15611a1a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315611a4457845460ff60401b1916600160401b1785555b5f80546001600160a01b0319167337aab97476ba8dc785476611006fd5dda4eed66b1790558315611ab057845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b5050505050565b5f80807368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b0387161480611b01575073ddc1b5920723f774d2ec2c3c9355251a208197766001600160a01b038716145b80611b285750731b81d678ffb9c0263b24a97847620c99d213eb146001600160a01b038716145b15611c72576040805160028082526060820183525f9260208301908036833701905050905089815f81518110611b6057611b606156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250508881600181518110611b9457611b946156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505f604051806101200160405280875f81518110611bd357611bd36156e5565b602002602001015181526020016001151581526020015f81526020018a6001600160a01b031681526020015f6001600160a01b0316815260200187600181518110611c2057611c206156e5565b6020026020010151815260200134815260200187600281518110611c4657611c466156e5565b60200260200101518152602001888152509050611c63828261282d565b90965094509250610eda915050565b5f611c8e611c82876103e86158f0565b610819346103e8613892565b90505f6001600160a01b038a165f80516020615cbd83398151915214611cb5576003611cb8565b60025b60ff166001600160401b03811115611cd257611cd2615211565b604051908082528060200260200182016040528015611cfb578160200160208202803683370190505b5090505f80516020615cbd833981519152815f81518110611d1e57611d1e6156e5565b6001600160a01b0392831660209182029290920101528b9082908c165f80516020615cbd83398151915214611d54576002611d57565b60015b60ff1681518110611d6a57611d6a6156e5565b6001600160a01b0392831660209182029290920101528a165f80516020615cbd83398151915214611dca578981600181518110611da957611da96156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505b5f80875f81518110611dde57611dde6156e5565b60200260200101511115611e7c575f611e11885f81518110611e0257611e026156e5565b6020026020010151848c613f6e565b905083815f81518110611e2657611e266156e5565b60200260200101511115611e3a5783611e55565b805f81518110611e4c57611e4c6156e5565b60200260200101515b945083815f81518110611e6a57611e6a6156e5565b60200260200101511115915050611e80565b8293505b611e8b84838b613cb5565b60018351611e999190615893565b81518110611ea957611ea96156e5565b602002602001015194505f80516020615cbd8339815191526001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004015f604051808303818588803b158015611ef9575f80fd5b505af1158015611f0b573d5f803e3d5ffd5b50505050505f80516020615cbd8339815191526001600160a01b031663a9059cbb611f6a8b855f81518110611f4257611f426156e5565b602002602001015186600181518110611f5d57611f5d6156e5565b60200260200101516140bc565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018790526044016020604051808303815f875af1158015611fb4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fd89190615823565b611fe457611fe4615903565b6040516370a0823160e01b81523360048201525f906001600160a01b038e16906370a0823190602401602060405180830381865afa158015612028573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061204c9190615868565b9050811561208d575f612079895f8151811061206a5761206a6156e5565b6020026020010151858d613f6e565b90506120878185338e614389565b5061209a565b61209883338c613a49565b505b6040516370a0823160e01b815233600482015281906001600160a01b038f16906370a0823190602401602060405180830381865afa1580156120de573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121029190615868565b61210c9190615893565b96505f87116121525760405162461bcd60e51b81526020600482015260126024820152711393c81513d2d15394c8149150d15255915160721b60448201526064016101c1565b5050505096509650969350505050565b5f6121aa612172836103e86158f0565b6108196103e86121a48c8c600281811061218e5761218e6156e5565b905060200201353461451990919063ffffffff16565b90613892565b90505f888860018181106121c0576121c06156e5565b90506020020135111561229657878760018181106121e0576121e06156e5565b90506020020135612225828888808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508a9250613cb5915050565b612230600188615893565b81518110612240576122406156e5565b602002602001015110156122965760405162461bcd60e51b815260206004820152601f60248201527f4e6f7420656e6f75676820746f6b656e7320707265646963746564206f75740060448201526064016101c1565b5f86866122a4600182615893565b8181106122b3576122b36156e5565b90506020020160208101906122c89190615917565b6040516370a0823160e01b81523360048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa15801561230f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123339190615868565b90505f808b8b5f818110612349576123496156e5565b9050602002013511612378576040805160018082528183019092529060208083019080368337019050506123ce565b6123ce8b8b5f81811061238d5761238d6156e5565b905060200201358a8a808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508c9250613f6e915050565b90505f808c8c5f8181106123e4576123e46156e5565b90506020020135118015612411575084825f81518110612406576124066156e5565b602002602001015111155b61241b5784612436565b815f8151811061242d5761242d6156e5565b60200260200101515b90505f80516020615cbd8339815191526001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b15801561247e575f80fd5b505af1158015612490573d5f803e3d5ffd5b50505050505f80516020615cbd8339815191526001600160a01b031663a9059cbb6125098a8d8d5f8181106124c7576124c76156e5565b90506020020160208101906124dc9190615917565b8e8e60018181106124ef576124ef6156e5565b90506020020160208101906125049190615917565b6140bc565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015612553573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125779190615823565b61258357612583615903565b5f8c8c5f818110612596576125966156e5565b905060200201351180156125c3575084825f815181106125b8576125b86156e5565b602002602001015111155b1561260d57612608828b8b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152503392508d91506143899050565b61266b565b61264c8a8a808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152503392508c9150613a499050565b825f8151811061265e5761265e6156e5565b6020026020010181815250505b6040516370a0823160e01b81523360048201526126de9084906001600160a01b038716906370a08231906024015b602060405180830381865afa1580156126b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126d89190615868565b90614519565b92505f8c8c60018181106126f4576126f46156e5565b90506020020135111561273a578b8b6001818110612714576127146156e5565b9050602002013583101561273a5760405162461bcd60e51b81526004016101c190615730565b60048b1061277b578b8b6003818110612755576127556156e5565b9050602002013583111561277b5760405162461bcd60e51b81526004016101c19061575f565b612786818789613df9565b7f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c42081845f8f8f5f8181106127bc576127bc6156e5565b90506020020135116127e757845f815181106127da576127da6156e5565b6020026020010151612801565b8e8e5f8181106127f9576127f96156e5565b905060200201355b6040805193845260208401929092529082015260600160405180910390a1505050505050505050505050565b5f805f8060405180610100016040528087600181518110612850576128506156e5565b60200260200101516001600160a01b03168152602001875f81518110612878576128786156e5565b60200260200101516001600160a01b03168152602001336001600160a01b03168152602001306001600160a01b0316815260200186608001516001600160a01b031681526020018660c0015181526020015f81526020016001151581525090505f479050856020015115612a4c575f80516020615cbd8339815191526001600160a01b031687600181518110612910576129106156e5565b60200260200101516001600160a01b031603612963576129598661010001516103e861293c91906158f0565b6108196103e86121a48a604001513461451990919063ffffffff16565b60a0830152612c81565b6129c75f80516020615cbd83398151915288600181518110612987576129876156e5565b60200260200101516129c28961010001516103e86129a591906158f0565b6108196103e86121a48d604001513461451990919063ffffffff16565b614532565b866001815181106129da576129da6156e5565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612a28573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129599190615868565b865f81518110612a5e57612a5e6156e5565b60209081029190910101516001600160a01b03168252865187906001908110612a8957612a896156e5565b6020908102919091018101516001600160a01b0316908301523060408301523360608301525f60e083018190528751889190612ac757612ac76156e5565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015612b15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b399190615868565b60c0830152855115801590612b8757505f80516020615cbd8339815191526001600160a01b031687600181518110612b7357612b736156e5565b60200260200101516001600160a01b031614155b15612c81576040805160028082526060820183525f9260208301908036833701905050905087600181518110612bbf57612bbf6156e5565b6020026020010151815f81518110612bd957612bd96156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505f80516020615cbd83398151915281600181518110612c1a57612c1a6156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250505f612c5d885f015183737a250d5630b4cf539739df2c5dacb4c659f2488d613f6e565b9050805f81518110612c7157612c716156e5565b6020908102919091010151885250505b85515f9015612e14575f87606001516001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015612ccb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612cef9190615948565b50505050509150505f612d018261460d565b90506001600160801b036001600160a01b03821611612d95575f612d2e6001600160a01b038316806158a6565b905085602001516001600160a01b0316865f01516001600160a01b031610612d7157612d6c600160c01b8760a001516001600160801b031683614928565b612d8d565b612d8d818760a001516001600160801b0316600160c01b614928565b935050612e11565b5f612dae6001600160a01b03831680600160401b614928565b905085602001516001600160a01b0316865f01516001600160a01b031610612df157612dec600160801b8760a001516001600160801b031683614928565b612e0d565b612e0d818760a001516001600160801b0316600160801b614928565b9350505b50505b86515f9015801590612e27575087518210155b1561308857602084015160408086015190516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015612e7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e9e9190615868565b90505f8089606001516001600160a01b031663128acb08876040015188602001516001600160a01b0316895f01516001600160a01b031610612ee28e5f01516149d2565b612eeb906159e0565b8a602001516001600160a01b03168b5f01516001600160a01b031610612f2f57612f2a600173fffd8963efd1fc6a506488495d951d5263988d266159fa565b612f3f565b612f3f6401000276a36001615a21565b8b604051602001612f509190615a41565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401612f7f959493929190615afa565b60408051808303815f875af1158015612f9a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612fbe9190615b34565b9150915085602001516001600160a01b0316865f01516001600160a01b031610612ff15780612fec836159e0565b612ffb565b81612ffb826159e0565b60208801516040808a015190516370a0823160e01b81526001600160a01b039182166004820152929a5061303d935086929116906370a0823190602401612699565b92505f831161307e5760405162461bcd60e51b815260206004820152600d60248201526c1b9bc81d1bdad95b9cc81bdd5d609a1b60448201526064016101c1565b82975050506132b0565b602084015160408086015190516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa1580156130d6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130fa9190615868565b606089015160408601516020870151875160a08901519495505f9485946001600160a01b039081169463128acb08949093908216911610908161315b57613156600173fffd8963efd1fc6a506488495d951d5263988d266159fa565b61316b565b61316b6401000276a36001615a21565b8b60405160200161317c9190615a41565b6040516020818303038152906040526040518663ffffffff1660e01b81526004016131ab959493929190615afa565b60408051808303815f875af11580156131c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131ea9190615b34565b9150915085602001516001600160a01b0316865f01516001600160a01b03161061321d5780613218836159e0565b613227565b81613227826159e0565b60208801516040808a015190516370a0823160e01b81526001600160a01b039182166004820152929a50613269935086929116906370a0823190602401612699565b92505f83116132aa5760405162461bcd60e51b815260206004820152600d60248201526c1b9bc81d1bdad95b9cc81bdd5d609a1b60448201526064016101c1565b82975050505b876020015161352d5760208401516001600160a01b03165f80516020615cbd8339815191521461336c5760208401516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613322573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133469190615868565b9050801561336a5761336a85602001515f80516020615cbd83398151915283614532565b505b6040516370a0823160e01b81523060048201525f905f80516020615cbd833981519152906370a0823190602401602060405180830381865afa1580156133b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133d89190615868565b9050801561343a57604051632e1a7d4d60e01b8152600481018290525f80516020615cbd83398151915290632e1a7d4d906024015f604051808303815f87803b158015613423575f80fd5b505af1158015613435573d5f803e3d5ffd5b505050505b61344e818a61010001518b60e00151613df9565b8096506134e38a5f81518110613466576134666156e5565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156134b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134d89190615868565b60c087015190614519565b60408051828152602081018a90529081018890529098507f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c4209060600160405180910390a15061370a565b83516001600160a01b03165f80516020615cbd833981519152146135d85783516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613590573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135b49190615868565b905080156135d65784516135d6905f80516020615cbd83398151915283614532565b505b6040516370a0823160e01b81523060048201525f905f80516020615cbd833981519152906370a0823190602401602060405180830381865afa158015613620573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136449190615868565b905080156136a657604051632e1a7d4d60e01b8152600481018290525f80516020615cbd83398151915290632e1a7d4d906024015f604051808303815f87803b15801561368f575f80fd5b505af11580156136a1573d5f803e3d5ffd5b505050505b6136b04785615893565b60408051828152602081018a90529081018890529098507f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c4209060600160405180910390a1613708888a61010001518b60e00151613df9565b505b5f871161374a5760405162461bcd60e51b815260206004820152600e60248201526d1b9bc81b5bdb995e481cdc195b9d60921b60448201526064016101c1565b505050509250925092565b8047106138605773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc1196001600160a01b03851601613860575f80516020615cbd8339815191526001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b1580156137c7575f80fd5b505af11580156137d9573d5f803e3d5ffd5b505060405163a9059cbb60e01b81526001600160a01b0386166004820152602481018590525f80516020615cbd833981519152935063a9059cbb925060440190506020604051808303815f875af1158015613836573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061385a9190615823565b5061388c565b306001600160a01b038416036138805761387b848383614a3f565b61388c565b61388c84848484614b4e565b50505050565b5f8215806138b5575081836138a782826158a6565b92506138b390836158d1565b145b6138bd575f80fd5b92915050565b5f6138ce82846158d1565b9392505050565b60606002845110156138f95760405162461bcd60e51b81526004016101c190615b56565b83516001600160401b0381111561391257613912615211565b60405190808252806020026020018201604052801561393b578160200160208202803683370190505b50905084816001835161394e9190615893565b8151811061395e5761395e6156e5565b6020026020010181815250505f600185516139799190615893565b90505b8015613a40575f806139cb87613993600186615893565b815181106139a3576139a36156e5565b60200260200101518885815181106139bd576139bd6156e5565b602002602001015188614c79565b91509150613a038484815181106139e4576139e46156e5565b6020026020010151838389876001146139fd575f614d3e565b89614d3e565b84613a0f600186615893565b81518110613a1f57613a1f6156e5565b60200260200101818152505050508080613a3890615b7c565b91505061397c565b50949350505050565b5f805b60018551613a5a9190615893565b811015613c98575f80868381518110613a7557613a756156e5565b602002602001015187846001613a8b91906158f0565b81518110613a9b57613a9b6156e5565b6020026020010151915091505f613ab28383614e7f565b5090505f613ac18785856140bc565b90505f805f836001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613b02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613b269190615ba7565b506001600160701b031691506001600160701b031691505f80866001600160a01b0316896001600160a01b031614613b5f578284613b62565b83835b6040516370a0823160e01b81526001600160a01b038981166004830152929450909250613b9d918491908c16906370a0823190602401612699565b9450613bab8583838f614eaf565b9a50505050505f80846001600160a01b0316876001600160a01b031614613bd357885f613bd6565b5f895b915091505f60028d51613be99190615893565b8910613bf5578b613c16565b613c168b888f613c068d60026158f0565b81518110611f5d57611f5d6156e5565b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0386169063022c0d9f90613c579086908690869060248101615bf3565b5f604051808303815f87803b158015613c6e575f80fd5b505af1158015613c80573d5f803e3d5ffd5b50506001909a019950613a4c98505050505050505050565b509392505050565b5f818310613cae57816138ce565b5090919050565b6060600283511015613cd95760405162461bcd60e51b81526004016101c190615b56565b82516001600160401b03811115613cf257613cf2615211565b604051908082528060200260200182016040528015613d1b578160200160208202803683370190505b50905083815f81518110613d3157613d316156e5565b6020026020010181815250505f5b60018451613d4d9190615893565b811015613c98575f80613d9f868481518110613d6b57613d6b6156e5565b602002602001015187856001613d8191906158f0565b81518110613d9157613d916156e5565b602002602001015187614c79565b91509150613dc8848481518110613db857613db86156e5565b6020026020010151838388614eaf565b84613dd48560016158f0565b81518110613de457613de46156e5565b60209081029190910101525050600101613d3f565b5f613e0a6103e86108198686613892565b90505f613e2c613e2583600154614fce90919063ffffffff16565b4790614519565b90508015613e5757600a811015613e4d57613e478282614fce565b50613e57565b613e573382613ea4565b600154613e649083614fce565b600155604080518381523360208201529081018490527f72015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499f90606001611aa7565b604080515f808252602082019092526001600160a01b038416908390604051613ecd9190615c29565b5f6040518083038185875af1925050503d805f8114613f07576040519150601f19603f3d011682016040523d82523d5f602084013e613f0c565b606091505b5050905080613f695760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b60648201526084016101c1565b505050565b6060600283511015613f925760405162461bcd60e51b81526004016101c190615b56565b82516001600160401b03811115613fab57613fab615211565b604051908082528060200260200182016040528015613fd4578160200160208202803683370190505b509050838160018351613fe79190615893565b81518110613ff757613ff76156e5565b6020026020010181815250505f600184516140129190615893565b90505b8015613c98575f806140568661402c600186615893565b8151811061403c5761403c6156e5565b6020026020010151878581518110613d9157613d916156e5565b9150915061407f84848151811061406f5761406f6156e5565b6020026020010151838388614fe7565b8461408b600186615893565b8151811061409b5761409b6156e5565b602002602001018181525050505080806140b490615b7c565b915050614015565b5f805f6140c98585614e7f565b909250905060605f6001600160a01b038816737a250d5630b4cf539739df2c5dacb4c659f2488d036141455750506040805180820190915260208082527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f90820152735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f614311565b6001600160a01b03881673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f036141b95750506040805180820190915260208082527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c63039082015273c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac614311565b6001600160a01b03881673eff92a263d31888d860bd50809a8d171709b7b1c0361422d5750506040805180820190915260208082527f57224589c67f3f30a6b0d7a1b54cf3153ab84563bc609ef41dfb34f8b2974d2d90820152731097053fd2ea711dad45caccc45eff7548fcb362614311565b6001600160a01b0388167303f7724180aa6b939894b5ca4314783b0b36b329036142a15750506040805180820190915260208082527f65d1a3b1e46c6e4f1be1ad5f99ef14dc488ae0549dc97db9b30afe2241ce1c7a9082015273115934131916c8b277dd010ee02de363c09d037c614311565b6001600160a01b038816730c17e776cd218252adfca8d4e761d3fe757e9778036143115750506040805180820190915260208082527f49d9acd3e20042617be7e378294c731749bc579b09dfd560cd3357445ce0b9e9908201527335113a300ca0d7621374890abfeac30e88f214b15b6040516bffffffffffffffffffffffff19606086811b8216602084015285901b1660348201528190604801604051602081830303815290604052805190602001208360405160200161436593929190615c44565b60408051601f19818403018152919052805160209091012098975050505050505050565b5f5b600184516143999190615893565b811015611ab0575f808583815181106143b4576143b46156e5565b6020026020010151868460016143ca91906158f0565b815181106143da576143da6156e5565b6020026020010151915091505f6143f18383614e7f565b5090505f886144018660016158f0565b81518110614411576144116156e5565b602002602001015190505f80836001600160a01b0316866001600160a01b03161461443d57825f614440565b5f835b915091505f60028b516144539190615893565b881061445f5789614470565b61447089878d613c068c60026158f0565b905061447d8988886140bc565b6001600160a01b031663022c0d9f8484845f6040519080825280601f01601f1916602001820160405280156144b9576020820181803683370190505b506040518563ffffffff1660e01b81526004016144d99493929190615bf3565b5f604051808303815f87803b1580156144f0575f80fd5b505af1158015614502573d5f803e3d5ffd5b50506001909901985061438b975050505050505050565b5f826145258382615893565b91508111156138bd575f80fd5b6040805160028082526060820183525f9260208301908036833701905050905083815f81518110614565576145656156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250508281600181518110614599576145996156e5565b60200260200101906001600160a01b031690816001600160a01b0316815250506145ee84306145e8737a250d5630b4cf539739df2c5dacb4c659f2488d855f81518110611f4257611f426156e5565b85613755565b611ab08130737a250d5630b4cf539739df2c5dacb4c659f2488d613a49565b5f805f8360020b12614622578260020b614629565b8260020b5f035b9050620d89e881111561464f576040516333a3bdff60e21b815260040160405180910390fd5b5f816001165f0361466457600160801b614676565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156146aa576ffff97272373d413259a46990580e213a0260801c5b60048216156146c9576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156146e8576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615614707576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615614726576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615614745576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615614764576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615614784576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156147a4576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156147c4576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156147e4576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615614804576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615614824576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615614844576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615614864576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615614885576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156148a5576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156148c4576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156148e1576b048a170391f7dc42444e8fa20260801c5b5f8460020b131561490057805f19816148fc576148fc6158bd565b0490505b640100000000810615614914576001614916565b5f5b60ff16602082901c0192505050919050565b5f80805f19858709858702925082811083820303915050805f0361495c575f8411614951575f80fd5b5082900490506138ce565b808411614967575f80fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f6001600160ff1b03821115614a3b5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016101c1565b5090565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f92839290871691614a9a9190615c29565b5f604051808303815f865af19150503d805f8114614ad3576040519150601f19603f3d011682016040523d82523d5f602084013e614ad8565b606091505b5091509150818015614b02575080511580614b02575080806020019051810190614b029190615823565b611ab05760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c45440060448201526064016101c1565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f92839290881691614bb19190615c29565b5f604051808303815f865af19150503d805f8114614bea576040519150601f19603f3d011682016040523d82523d5f602084013e614bef565b606091505b5091509150818015614c19575080511580614c19575080806020019051810190614c199190615823565b614c715760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b60648201526084016101c1565b505050505050565b5f805f614c868686614e7f565b5090505f80614c968689896140bc565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614cd1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614cf59190615ba7565b506001600160701b031691506001600160701b03169150826001600160a01b0316886001600160a01b031614614d2c578082614d2f565b81815b90999098509650505050505050565b5f808611614d8e5760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016101c1565b5f85118015614d9c57505f84115b614db85760405162461bcd60e51b81526004016101c190615c8c565b5f614dc96127106121a4888a613892565b90507310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b0385161480614e12575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038516145b15614e50575f614e31614e27856126f7615893565b6121a4888b614519565b9050614e486001614e4283856158d1565b90614fce565b925050614e75565b5f614e60614e27856126f2615893565b9050614e716001614e4283856158d1565b9250505b5095945050505050565b5f80826001600160a01b0316846001600160a01b031610614ea1578284614ea4565b83835b909590945092505050565b5f808511614eff5760405162461bcd60e51b815260206004820152601960248201527f494e53554646494349454e545f494e5055545f414d4f554e540000000000000060448201526064016101c1565b5f84118015614f0d57505f83115b614f295760405162461bcd60e51b81526004016101c190615c8c565b5f7310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b0384161480614f71575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038416145b15614f8957614f82866126f7613892565b9050614f98565b614f95866126f2613892565b90505b5f614fa38286613892565b90505f614fb683614e4289612710613892565b9050614fc281836158d1565b98975050505050505050565b5f82614fda83826158f0565b91508110156138bd575f80fd5b5f8085116150375760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016101c1565b5f8411801561504557505f83115b6150615760405162461bcd60e51b81526004016101c190615c8c565b5f6150726127106121a48789613892565b90507310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b03841614806150bb575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038416145b156150ea575f6150d16126f76121a4878a614519565b90506150e26001614e4283856158d1565b925050613a40565b5f6150fb6126f26121a4878a614519565b905061510c6001614e4283856158d1565b979650505050505050565b5f8083601f840112615127575f80fd5b5081356001600160401b0381111561513d575f80fd5b6020830191508360208260051b8501011115615157575f80fd5b9250929050565b6001600160a01b0381168114615172575f80fd5b50565b5f805f805f805f805f60e08a8c03121561518d575f80fd5b89356001600160401b03808211156151a3575f80fd5b6151af8d838e01615117565b909b50995060208c01359150808211156151c7575f80fd5b506151d48c828d01615117565b90985096505060408a01356151e88161515e565b989b979a5095989497966060860135965060808601359560a0810135955060c001359350915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561524d5761524d615211565b604052919050565b5f6001600160401b0382111561526d5761526d615211565b5060051b60200190565b5f82601f830112615286575f80fd5b8135602061529b61529683615255565b615225565b8083825260208201915060208460051b8701019350868411156152bc575f80fd5b602086015b848110156152e15780356152d48161515e565b83529183019183016152c1565b509695505050505050565b8015158114615172575f80fd5b5f805f805f805f805f805f6101608c8e031215615314575f80fd5b8b356001600160401b03811115615329575f80fd5b6153358e828f01615277565b9b505060208c0135995060408c0135985060608c0135975060808c0135965060a08c0135955060c08c0135615369816152ec565b8095505060e08c013593506101008c013592506101208c013591506101408c013590509295989b509295989b9093969950565b5f805f80606085870312156153af575f80fd5b843593506020850135925060408501356001600160401b03808211156153d3575f80fd5b818701915087601f8301126153e6575f80fd5b8135818111156153f4575f80fd5b886020828501011115615405575f80fd5b95989497505060200194505050565b5f805f805f8060c08789031215615429575f80fd5b8635955060208701359450604087013593506060870135925060808701356001600160401b038082111561545b575f80fd5b6154678a838b01615277565b935060a089013591508082111561547c575f80fd5b5061548989828a01615277565b9150509295509295509295565b5f805f805f805f805f806101408b8d0312156154b0575f80fd5b8a356001600160401b038111156154c5575f80fd5b6154d18d828e01615277565b9a505060208b0135985060408b0135975060608b0135965060808b0135955060a08b01356154fe816152ec565b999c989b5096999598949794965050505060c08301359260e08101359261010082013592506101209091013590565b5f82601f83011261553c575f80fd5b8135602061554c61529683615255565b8083825260208201915060208460051b87010193508684111561556d575f80fd5b602086015b848110156152e15780358352918301918301615572565b5f805f805f805f805f6101208a8c0312156155a2575f80fd5b89356155ad8161515e565b985060208a01356155bd8161515e565b975060408a01356155cd8161515e565b965060608a01356155dd8161515e565b955060808a0135945060a08a0135935060c08a01356155fb8161515e565b925060e08a01356001600160401b03811115615615575f80fd5b6156218c828d0161552d565b9250506101008a013590509295985092959850929598565b5f805f805f8060c0878903121561564e575f80fd5b86356156598161515e565b955060208701356156698161515e565b945060408701356156798161515e565b935060608701356156898161515e565b92506080870135915060a08701356001600160401b038111156156aa575f80fd5b61548989828a0161552d565b60208082526015908201527410da185a5b8814994b5bdc99c819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b6020808252601c908201527f4e6f7420656e6f7567682045544820666f72206d696e65722074697000000000604082015260600190565b602080825260159082015274139bdd08195b9bdd59da081d1bdad95b9cc81bdd5d605a1b604082015260600190565b602080825260139082015272151bdbc81b585b9e481d1bdad95b9cc81bdd5d606a1b604082015260600190565b5f805f805f8060c087890312156157a1575f80fd5b86356157ac8161515e565b955060208701356157bc8161515e565b945060408701356157cc8161515e565b935060608701356157dc8161515e565b925060808701356157ec8161515e565b8092505060a087013590509295509295509295565b5f60208284031215615811575f80fd5b815162ffffff811681146138ce575f80fd5b5f60208284031215615833575f80fd5b81516138ce816152ec565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b5f60208284031215615878575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156138bd576138bd61587f565b80820281158282048414176138bd576138bd61587f565b634e487b7160e01b5f52601260045260245ffd5b5f826158eb57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156138bd576138bd61587f565b634e487b7160e01b5f52600160045260245ffd5b5f60208284031215615927575f80fd5b81356138ce8161515e565b805161ffff81168114615943575f80fd5b919050565b5f805f805f805f60e0888a03121561595e575f80fd5b87516159698161515e565b8097505060208801518060020b8114615980575f80fd5b955061598e60408901615932565b945061599c60608901615932565b93506159aa60808901615932565b925060a088015160ff811681146159bf575f80fd5b60c08901519092506159d0816152ec565b8091505092959891949750929550565b5f600160ff1b82016159f4576159f461587f565b505f0390565b6001600160a01b03828116828216039080821115615a1a57615a1a61587f565b5092915050565b6001600160a01b03818116838216019080821115615a1a57615a1a61587f565b5f6101008201905060018060a01b038084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401525060a083015160a083015260c083015160c083015260e0830151151560e083015292915050565b5f5b83811015615ac7578181015183820152602001615aaf565b50505f910152565b5f8151808452615ae6816020860160208601615aad565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f9061510c90830184615acf565b5f8060408385031215615b45575f80fd5b505080516020909101519092909150565b6020808252600c908201526b0929cac82989288bea082a8960a31b604082015260600190565b5f81615b8a57615b8a61587f565b505f190190565b80516001600160701b0381168114615943575f80fd5b5f805f60608486031215615bb9575f80fd5b615bc284615b91565b9250615bd060208501615b91565b9150604084015163ffffffff81168114615be8575f80fd5b809150509250925092565b84815283602082015260018060a01b0383166040820152608060608201525f615c1f6080830184615acf565b9695505050505050565b5f8251615c3a818460208701615aad565b9190910192915050565b60ff60f81b81526bffffffffffffffffffffffff198460601b1660018201528260158201525f8251615c7d816035850160208701615aad565b91909101603501949350505050565b602080825260169082015275494e53554646494349454e545f4c495155494449545960501b60408201526060019056fe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2a2646970667358221220c6783dc5041dc9de5a027f115bf941355b3aed3cd9484407120fed16940bbac164736f6c634300081700330605581e0324560673efb3254251f4d772e99860965008950297021745bee06d64c00701195d12034c4140641ab0454dca1d14a0329daa2150e757a952c2cfb91b5da2e875008b2b030db2533d4b6953862484b6e067fd19ebd1a49d09d7cec4db90d05cea6d0269d505581e035e1f7d436394462bc9c5a435362d473b41d89ff6c79fa9243c70c2017004010219b7f203c24fca9cbcbe92822f64dc07bb8ee8e24440288fc405b0142041762dd3cbe9600395af64eb280550d53495f5fc1e99ac839301a3506b62d0695f304bee2046148b0341ed01bcd17a1e5d83fbf836d9ea3feced5d4cb21573e5f6ff765ee82a64765b038cabc86069a7465cfeca201b75dff2fd04375013a9687f6014802007c2a41ad903016d987acd304129c116956b0f6dfc41a7b7390e0dbc65c8afcca4566154c898034ed1cf3bf2468112d1e19393f768bf533677c6970168dacf6e3b672c8dd0fced03a2f7215e2216980440ef71f97c9aedfb7fb1f3bcb4c2e631f761099905575ca003f6607912c1b15b1e51759920c388f75cf10eda20e5a2c815c7ddbe23a09401dd03db2c6aace07df19a65d3b8702e16b420b1c4f2cf6a4083048e29ff5becf17ae003db6b5a32b77b113cea3595a9adb45a14b7598434538e8ae26c659f2f698921e203c784a95a4d04a79c4ab580c7490a6393d540894a9a7495dbac66b9850c768d3203a1c9e4bb92bba790bf47f8dcd7e26db904dea35cac4bde23464e274595395a2e039a3d3953c363a99d4dc99e9811c4671eeade13dd9f4f4a47aac7ad6fee2c4a9503daa32e6c068c8e88d6d174347bcf2105a43b8d9df7820dfca0178c619cc9651b0219ffff039ad58e9e3f875dcca0c6a5d68e3554706e8364f5a168d416edb7a424ae88030603c043a646aebd18c306aa3c86b12fcacb72e85c2d2d51b0d6dd53086f779a3aaa03176345c3850a1ce47ed91bd6d3b28afbaa7b23db6c5619fe38084a65fe38ea77034948e42746dc08debbe5de09966670f5f8cbb00d69493353fea4a4eea0bd5ffb035f096f9efeffd19bc7b5512dd1437faf94a586fe122a4e2c81166ca27fe90478036f330999c233b8645218a35077e15c18d8243a6447a5d0dda037bf560fa58d1003084802c221ff8b972498f3628fa44f09f505230b638e1a5a45beea7b29f55a5003c68ae1f958fc980f07031dc6382bd26145dfde6808b97446b58afd826bb16f3403cb59471fb22ac7190e2c2b3297d3b8801bf128b0c1280e75e554817666d5c9ea0219ffff03f651fd8c8ba8e5422ddafe223aa5752588274679c7335895f92cef3639c0cf9903af4b7258254795ae55a3d62a077480ca27cd3fcdc97a936db514b213872df10e03bcb39573d6974a5dcccd9d0e125407d175ed1a71d255cc1beeb7732279af7569038530e0af4a49311494110af1ca9a5c4d5eaacaf35927df46e4cd6a6d9b9fdcd4033c9d74d62d2fff5acb61f8cd58c8af1699280e0b1b83bf2993725e3c3527d4da0219ffff03217236171f5a7c8a6a3752a36602b71b0e0d5feb7cd4af3940dd3bce6869ae7403edee048572f371c83a1365a4ea32248c5a3f6756e1723969cda17ea896755f3b0364f107b717aed747fb8eaeb355ec5cc380b81ea0c9b793642fbc1b4b562c858103ee25b843c29d8954d480745f77ce6ef55ad2934133e906d3e9d11053e7639298035b5e7db2c0f5327a4ae3e204e32f9ff1ade92e13b7e325b76d25848e67bcf854033a8e274d6dcc854e55503521fc536d3a28815a98f6fb6d35b491dac72a49917e033b5bac5a8ea875f32dda0336c82682b1d61b614561cd651faef403e4728fdd4503525726227f91046c4b6888673c97a757f1d4c9447f16ced757e4c811ddff40e303f8c3e9a65d684e9013bf728e015758584e0c98c82982b71293e1fc1a35bbaf0903427ab789c4498e11a7118844e62de7971d4b8a4c86fc0f071f9435c33c1d8c8d037c461dd5ea7bf59fe4793fb7078d32f56485a2eb436865aee49eac23b6210a3b036d1ec8f998524c2e93f05f863a8ef281d3cb9d7b25273fbb43022e4489b80fed032863d227bf7fec93db884227239c6ca7bf1ba6fdfeee94089f80e3d119a666dd034ee3bc0ad6348e14eb4c4b75cd8555b92492a33e75e0c7fc7533267125f2b20e03a23d29492efc3b79fcdf0af3b4f16dfb9dfb6b547f85f8cd626f54b5a4c97a4f037b0b82bd1b939628ee4fe87b990e427e688b7091a8cfb90117aff4ff279c615703e80c641c4953b9106ebcf9fcec9fe84f8980454bb64d1958c82c12d9f689d3c6038d655a1b62e27a752382d00fd29b6ef829e4cbeaaa562d331dce2c61a27a1bbe0383cf2ce3e52f6760b3f64ea818f71f7cd17d2348abb5ac4872be30951c1d35ba03b413a3186ea1afaa413557fb624304ac7e4e66ef801a1703e4f06642aae3425903457b0eb7ca81ba3d2d10503d3f61dbbbd180e794a2d7911d256d42b2a7829c1f031f40c0b391201e4dfe7cade1ea0a324d6b439760de37792bc8fcdef751124c70030c4502151a73a6bcb74eabb5fa66ea879cba88fc27ab7bc8a0ff642f6a6bb057030f0789969736d6217d087040ea7d7dc40610e82c38114f6198b7f53c9ca324c9037b4251aed644568e34bb47ca582c62278c10f6d19a3dce71a8b8f12163dc38f00345b1c96af1d87f76b24cf9c6db92684bdb6b41f0bc645e1a4cadbb2ee75f66da03626e7f7d7407ab3a5cb57d02df97835f5f2a0355f4443ceba471fdf5a92b5d5803d3811cb52374e39f4bb11e541af318e88311237553756db47f42ebbf5894008d03ab5b49cf6d8edd353ec78f62e41a5ea9b8fa0de677712c1043989887bb391a63034c1f2971ebc2885ff03122594580489b3e3876b396b323c4fe888d6674cc34ed03765a77abb5b31f20835b05378678d1086eeca1db00e850a78285fff8d8ec131e0315e912e23aa0e7eb5e23a68dce5322025787e288b44ff5d2ef67f23ba11105b603dbbd7e484c59310aed1abcae11635e2282a2229058a93ee00adc7270e8a24e3003a6c99284734d12674b5e43ced303efca1ea108f0f715da67255e4c1ff6240b7803c938db5a19140f321b00afccda1991c4065177323e87c5b43e44dd6f6e98723b0390ec8b145e090263215d8800c6459779573711f1fe9668221cd488027901ef4c03768bb7bac13cef5a91791ce9d46c329e61ee246e54f9c63dc450dc6ee7537e2803c30afab0671ac0846a209b47c27f7f5e178a1a857107d07def07d6fefc739a5f030234b6282da156ead073e3de65f3ac8165847c710958560860e28fe1728aa56c03daa179fa377698280af5507641f03cd30e1819ad41a496ba31f548e0a42f233403ab0e39bb79f3329bdfc26e87e06de3bb7e8911c89090756ea043308f585d99fb030a33e8940923cf0d6f0940bdd4bcec8a990345c1b092028e06c7a8ee9c6cf5ff0325ee8d6e6bafc7f30164f8e3af6a30346f6ab4a0cf799cc15e9fce3599163c83031349783033bb315016f6ed9f2ca2cb58a1fb1aa729be9152ef101c7034d5d85903d87b8c540aa22f90c9610175f03cfa92cde5fe247899c0fa8c3b75868c6b0a4505581e031c0030648745c4d1d78ae082c02a6fbc6273e6d469a90d5334409cbbf00c01470b0b0bc9ae340003648b9cb34a8dcb769d5efbebd88c22af344c9687cbac0fb24a26018e6c61e20403efa6810ffdd9f17bc59ddf41b17e68889d44d5456cb8acc8844a8cd343283cba05581e035e5e7920a1d1efed9e01858a30d11b823a90359359d08a038f8960c650040105581e039278c1ec73ac5a14d825df8db0e77413693f5f860eae08806b39e9c38008470bfea525bcb4000219a5620219ffff0352efc57d8d33421ff986348a69f102e4a035bf134904cdb41a7f32ddc5b058fb03adb5b62655a4b056d4821bb2e6a4366c2253625676338e3a7318aa75c417222f03d90f0009b02e1a75be9d89a15775eafc9f28ab16a8c17e9d8d65f2b5b591290503ce4b3cf8145eb64ee4be07e0d4feee7a95031306a09381bf6b897fc7eba93eac0219ffff03dd6c1b9685b2ebda5ed0fde8ca337376af398a53f64a91d56b31b7419fb1ade60219ffff03497d3642896ebb9606aca34c7ed10e3d0c079199b29c768aaff84a87a6c225e40334e8b25dc9d50e4fbee2d331c0180408f0a02b653d611afbf59331e0c56d020b03335b6bdab504d5edae0d131118b5712942fc3d1dc87461f6622d067fd35c4dab0219ffff03c2c0b944b7ab0ac1810a4f23db248b8fd7a971f6dd373145bc72b30c6e98274603d3434146c3d06b709d3de1ad9c0149ba1900ddae114478e9fa03dd87e82f13eb035999013190b869badf4d331e262ccbac81502fda55c410b3bd6875c73f22cb2103506bb877a521213575122df93ea706476ebc9a6a8e5af73dbee9c90d31d4785503400227513c7c75f5b6bd9669ed4579cbe5838d2fad3dfb34f721a93fc551563b03bc32bc0eb1ede4ee3d8d54616d88b616296958b165d6798cb90ad0a2de500e3403e8903f755991ba6ebe2276fb87648a3e72252682bb6499ebe90ffee2050a1b9a031ca81ce44b5fecd8e0c7182e3ad7e5934e27a8065f009755012beb5aada2a30a03455759ea0ade3183c2c9670e27be5ff3dd5cd4bd48e21929ef6a51503653eb5303e1cd9b1349ada85cfe0e8170d1e8e2cb020d2d6ba668fec5f8220a91e34b97ea03f9fca50880ba9eb5a03ed6c54a06e728a883c573680ab8786ba7eca62a1ff5690385790f81aa2b90c48040efddd227d865e07f6bda5e7daea3f2a6b0a17df3c0d203d651ea58871ccb8956cd30079ff0e7ca5f8a1aee622b25164bf820200c0413cb03c4d656331e5e43a4d89965fcf558e01d3c1986cfce610c6523794f6e2fe6589803e0f9dc433a89b726e85a1f1e3324da6b4e5be350dca51c9cb92e0639170e1db803019b5917934c883e52428e845a018a7c9502d2861ec0dde2b24209b0e23efc7a035571aa1198ae63bea41c52f77ff4db1709ca34875b9dbff99ee6fbf1d55aea12036fe5600a8c96a96d9ede83abad93fa8f8821dbbf86c81f8c7b88693547b6c2bc03f5c06b2c63815670bb0675aef5aedf3d75aa86cae9fcc058e0489abd560429cd03952438f09c23746ba0214279fa86a3269a663f546b585e4670a6e58a767ffdbc03597b0b8738d182604b4bb6e7af6dad506aaa8dccbf6082a0282f376d1de02f1903a7583d2ad6e74e20fbfd8dccdb086f8c6ac0eafd21c143868af83f59b53a14a5039006e8a5d64da7dc4ea8166f2dee845e3c22a91397aed584cf9a4d5af85fcaa003163eeb588985844870982cb8d676cd0a5e9a9ad6c562ebb5dd5c81bce994f6e703aa0dbf13714b812d541c7011ab70d0221be746abb9f973788fc5d2551eefd2a50351d820700cf4b2ff16d1ca73f188360368b7a2f0623b16e587771d6f994c50000303c1406a5a76c4ebe125c0ffe1f880fcb87da9dc3c4a7cbb7f73ae85a082615503d71f9e2f4d9467866cc8a7adf3459f49420ead6ef174a2139be201316bea7383035385b7116772bf9590b4f805cd94847da786d7344410120114aba95da7b5a2e30364231f47de79e72a785d3c5c7c7403e1f429cfc58c8f741f392ef1b0448a2ee2034669d01c4f6d8aa7f1f5432b4acae8ac61f4c54c49b201627e8d6c70e306aa6d033146abe177f9a728976082a3dd4e4bf6e933c439bb5606f738602daa89d91baf0353c49749399ea2159ba5aa47c58e1173042cc2c02fa85e977bcabb1b91f797b90352cf541cf42f93489d02a5729fdffd18db80bb23696773ff8c7728a95e14124803cb9f188c20c49314edb902393d312d77cc4eb14ccd28143aac70cede75bde5fb036ec739e32a0c6f0ade008d48d194229035932f9730370d30b5dd219b4d2fde3703938f5d7d45bcdaf182e9dd7de5389a8f491262e4e715b14a228324718fad622603019690eeaa859c82fc1e99b1bf74bf3b13f85cd45e195892ad9a45d2acc92778030af814230a33ddcc5493069a9a5d3f9efb72764d3d50da3ada7f0546f20518b703a28812acc95bd8f0be82da7ece94097cb20287557988e06e5260a11b578c460d03dc92ce890f0f7d469ec413e5950da86a5a69d71efc470844f660e972e68467290319cea85abd7b384a5213c0156d71216d821c9d967d2ef71a0c31348e594f41bf0387c51c05bf8324ae529fa978add187ac6d53518c5cae62509dba11c2bafe59030393c1f146fbabeef97f59d6b9e7a092e3ec2cda77deb866342a1be88a7d17637305581e03b9256cada2bc3756ff02b156744c7f32da7b819e46c1cc18f60e2164700c0347019593045ee65005581e03f97465d5ba9085a63303d0e09206115ed5af1b80fe1ea3a0934cca86400c04475779ebf476396805581e0390b93de896a5f599556aa7c3a0cd6809fd686812864b84cf0c182d26700c02470121d36cfa656e031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d0295be77e646fc30430d9812e3a19ebcf3b0ece0d130b4b2310f91dad507011bffffffffffffffff04590d6f60806040526004361061001e5760003560e01c8063ab13824014610023575b600080fd5b610036610031366004610862565b610038565b005b8746141561007b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610b96565b60405180910390fd5b6100868782846101ba565b7f6ded982279c8387ad8a63e73385031a3807c1862e633f06e09d11bcb6e282f608782846040516100b9939291906109b5565b60405180910390a173ffffffffffffffffffffffffffffffffffffffff8716156100e8576100e8878a8761022a565b61016b84848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505073ffffffffffffffffffffffffffffffffffffffff891615610143573461014d565b61014d8434610c79565b73ffffffffffffffffffffffffffffffffffffffff8d16919061032d565b507f831bac9533a2034226daa21109dbd4f887674f0fe4877e1a8b35b3ffe1bdce768b8b8a8a8a8a6040516101a5969594939291906109e6565b60405180910390a15050505050505050505050565b806101c457610225565b73ffffffffffffffffffffffffffffffffffffffff8316610204576101ff73ffffffffffffffffffffffffffffffffffffffff83168261035b565b610225565b61022573ffffffffffffffffffffffffffffffffffffffff84168383610438565b505050565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063dd62ed3e90610281903090879060040161098e565b60206040518083038186803b15801561029957600080fd5b505afa1580156102ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d19190610957565b9050818110156103275761032783610309837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610c79565b73ffffffffffffffffffffffffffffffffffffffff871691906104d9565b50505050565b6060610353848484604051806060016040528060298152602001610d11602991396105c3565b949350505050565b80471015610395576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610b02565b60008273ffffffffffffffffffffffffffffffffffffffff16826040516103bb9061098b565b60006040518083038185875af1925050503d80600081146103f8576040519150601f19603f3d011682016040523d82523d6000602084013e6103fd565b606091505b5050905080610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610aa5565b6102258363a9059cbb60e01b8484604051602401610457929190610a2e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610686565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff85169063dd62ed3e90610530903090879060040161098e565b60206040518083038186803b15801561054857600080fd5b505afa15801561055c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105809190610957565b9050610327847f095ea7b300000000000000000000000000000000000000000000000000000000856105b28686610c61565b604051602401610457929190610a2e565b6060824710156105ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610b39565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610628919061096f565b60006040518083038185875af1925050503d8060008114610665576040519150601f19603f3d011682016040523d82523d6000602084013e61066a565b606091505b509150915061067b8783838761073f565b979650505050505050565b60006106e8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661079d9092919063ffffffff16565b90508051600014806107095750808060200190518101906107099190610930565b610225576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610c04565b6060831561079357825161078c57610756856107ac565b61078c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161007290610bcd565b5081610353565b61035383836107cc565b606061035384846000856105c3565b73ffffffffffffffffffffffffffffffffffffffff81163b15155b919050565b8151156107dc5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100729190610a54565b80356107c781610ceb565b60008083601f84011261082c578182fd5b50813567ffffffffffffffff811115610843578182fd5b60208301915083602082850101111561085b57600080fd5b9250929050565b60008060008060008060008060008060006101408c8e031215610883578687fd5b8b3561088e81610ceb565b9a5060208c013561089e81610ceb565b995060408c01356108ae81610ceb565b985060608c0135975060808c01356108c581610ceb565b965060a08c01356108d581610ceb565b955060c08c0135945060e08c013567ffffffffffffffff8111156108f7578485fd5b6109038e828f0161081b565b9095509350506101008c0135915061091e6101208d01610810565b90509295989b509295989b9093969950565b600060208284031215610941578081fd5b81518015158114610950578182fd5b9392505050565b600060208284031215610968578081fd5b5051919050565b60008251610981818460208701610c90565b9190910192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff9687168152948616602086015260408501939093529084166060840152909216608082015260a081019190915260c00190565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6000602082528251806020840152610a73816040850160208701610c90565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6020808252603a908201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260408201527f6563697069656e74206d61792068617665207265766572746564000000000000606082015260800190565b6020808252601d908201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526012908201527f544f4b454e5f504149525f494e56414c49440000000000000000000000000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b60008219821115610c7457610c74610cbc565b500190565b600082821015610c8b57610c8b610cbc565b500390565b60005b83811015610cab578181015183820152602001610c93565b838111156103275750506000910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610d0d57600080fd5b5056fe416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c6564a264697066735822122050ec4ea9f0f5a804469052ba5fca070042d70d217f98c7ad56a235a3ad5772ac64736f6c634300080100330605581d027298c6116238b952a7f03ca70e82a71366ffc06e7d2822d50855f5170701190d6f02182203ad095a68a7cf273bcda1eed1bf42f95a3f7ed7aeb3d0d02cbe9c8d611c7df6a201410605581e034074cdd64ae6428773309646b67c2f1cbfee84ba120b54a1df4a24c430040103e0c95a21263f1af879f6c8ce13eeea2300f442a0bacab21af7fb4a0a7cfa7dd705581e03a9fe33108e644d571a5eced6219aa559b556431b471b8968a7740c2e90040205581e03d03ab529725232d14b4f465698000d504c4996c3d1c1df8a20c55aacf0040105581e0320976d9781157098a8d17edb02699bc4d8bb360623393954a472c80dd00c03466e2fa61836b805581e03484d4015258ff2b00552102624a9c88085950fae13d396faa4921e18f0084718d55e32fae0000219e7570219ffff036398c2ac1d9018a25a0b4d3d66e2a0b993b81d98846b9c5ef6a5bc666422b5c90219ffff03c8203dfc8abd73f50eaefa4fc3121eee560366f627437d7f46d6b34c0f6e55e4034630c10b740f9e07bb2615e40b66c9bfe580e03bb7e2b0bd7442b6bda0c15bdc0219ffff030ee774f40210b240e954d6f126813b2a1afb2e539f312efc0097d7b43956e8e60384518cfed6cb8d092861009754015c41383a875e73a7e54515fcd9b700c9f42903cbc30439e80742de30e581257bb5f0fa3e33a962f2941fbe0ff752c47b3905d803fa95cdc62ca6180aed082406fc3b548d62b0eba66cfef1db1ee01bd98dab9a8f03e5ed8db0a2fdca9c28a5029bda20da4d9024e2c27d651fe7393fd0f81344619e03e2539fb0369ce174d02d39abc1079b0faa45876ed014087b3ee33f7eb573439203953d50120adf374ca8753ba911c2c6a8fa02565ea158357aa98bed021233b4c903a3d95bb6a4d3148f9b1a2c315714f19d409567977a4a88265f8b90f43b3f389c03d9d8d25aac3526613df53d40dac2ffaa13f92ea9375155baf7ed88c68d6cb38c03a0a7902287c9bcdb0d15b73fcb6a5e0f1e8bcb8c17a1232843be5d0058a63a36035918b672200675edaf6adc2756ca8d14483ffbe285dc1b2e3841d380963e1f2f0393e51472906e98031fa5a2ac97e7ca6a52e1abfe669cf82825043d893ba917ba03013014416b85051a2bacc763b51948f07f30584c20ea377e6f5292e5a7c4cc250349579b9501ff08b43fea1fdad639eb79fb485c968d45496b0f85bcd24a937dca03ea6dbdb783365c991286c969d1866451dc1333a8b0f78ba451a49100513dbb740323a35097a25e7ff334d3db91787b545249eadf7cb4066476e5cb7beb7eb6ac3903f2edc29529e4947b3d21ae60d6454d2a0fc9bf107818db15340d37981b250c7403f6c71370fc31efc1df2c2fc6e917e2f13bbbe5d247f25dd2562e57c1ab49c86b03612e266d18dd373abf114213ca3d0c0a4c1e5a7e809048fa1438c7bd597a80ba03b5f9aef8a3a7825e40233caf7188c1cfc79edebb673b77eacb905972cac098d603f2de53232e1726829eb9212205c1b04b89c248c9c8335300f42127edce76e24d038dd04a4e06be11d3f1adb78962406c461db3a462a599c5a87eb42951abb934bd037e54212720aac067cfaf5b2af36482ae7ac8d94cd604e4e970c4e36de0c3286503d473e60c7d84ff4b97a030029a2536599c116e6d5335ae3d9a84091c5e6de520035747d28a6b16b0a0a1098efb82a681b62b519cb03d476982bfc5418dedc03b5603979396d38af8ce6c78bfe89f3e97b334aa3d9f7641baab621804756d7cbc3e9903eac4b8039356b9926df8aa21f04c8b6b0b087a8949c98fa9c8db9463d5fdb67603ba47a2f44c71a1b34be330e1939e29d3ff79f7c897143a564c54596c1f809175038ef9c8a238bec6a4f1387a339255455f62b983f8f59d6e6ef46c238177fb196f03620aa896cb8db2fa2570fb6df8fdbbc22a2a1f721fcbbad6b828ec488901ae7b03382690bbe09ce3667273eea3359800d9ddbbcb238b5154743bd80b089fa58576032330608b87bc3926a790ffe2ba45b38e660410c3fef7877264bc4ca7b4c045f4033800602a9264286491953f86a2e52aaa5d564cde2456edeb7971a2dbfa929e0603b11a7fd60df2934e870474438bc232ac683574de808149d6128a8f8c8d944a7f034f54ce505c858a30fe8773b1df8e14b7a68a07c0dfd1c6a8fa1618d788fac61c03d848e3ad8eda8612e0b6eaa9de9b78ac8c4c0b8c20ce020e5f67049bf4850977036069881179e24e1587823e1d07bf93e3f90cf986185a53507dbf25170e2a07e30361504d6265acdf14d9862db8ad6fc88c498518e9f82edc39011ef49d45eb3cd6036aac10bf7c75cfb211e00a3dce9dea7cdf161b8cb02a4db8cf791e42c833042203c774c2837698194464e6a3a1cc9ebe3549a2f33f7aa9220c12df4788c83b180303c2f18d02261390fb46ee5b262dc265817bf85a26f884b0472ebf65572459c35705581d0212dfae181293d68c323d6ba80cca8ecaba3d5e0a55277a54b0a49c92084901492bcd9387dad00005581d029a88cd5e972f06d602d29da8e67abe85a71ec8ec74a6bd8185103d8b0c02464b4e5a5d8a6005581d022cc86647b185de72b9799342ae18a3b276b26d17818477883f74c4e2040203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02812b6f0cdbf11346cabc01a09af3d6e6f6789c674ebe8722a175f13407011bffffffffffffffff0219504203952357c2c68a45867b4d63f9bf24e965090cedeb4b8a0c277a003da4d6efb5930376a93cf9b28cd44d1de01277b4a583a699dd240e4f37597f4e5ce1f22fe9296505581e033f4a6ddeb11c1db0386cbfa0f4712fc44df406045485b40ee9bf16ef600c0147027b87575551c005581e0366d619660d5d9cc7bd041c83da54ba3cbfa14593b95243483578c77b600c024701173e637189780355c20a2bd514b49a97d96da8bf32568bfcf477bcbc7ee76e21e576d5b15ea0c405581e0324729bc80a4012ba9df713cdc75ddd0328f309bc1162f39a3b2beaa6e008461e08115ed80005581e03ecd4f404d01ac2d83228aa5383bfa1ace880df7928dc817b348ca667300c084743f9ad3cd972a005581e03a049d15b51a8465d923e97ae3825e23add24206e3a98abf874c3ab0df004020219fc890219ffff0376e686ba84965e0d9f8bea44efca5ed025d46dde5a63ea2423d431446a90d4450219ffff03dc556c335a7078d9960d12aee500cb6bc710513890aa26c5fabe6625511d6af3038e4e1209469091275ce3037f1f200d0785e950e740c9906f41d1d026def8976f0388aa3fce5b9c6cf5ef42aa7e68607f8aa2bf2dcac73d104ee64f3d0ce492b8c303471ada4380bfd9f229677f8ea69cd4decf55445e8c4dc3cc8ec517e9bcc6479503dba3c3bb2f8dcfe641a821f342aa9f0e4c0a9a73978085294962ca7137b353080317a3f48b22b127109c798f294a5be110af7fd3b37063d502bbb5723d639036be03f5a8ebdbc022a31e717a65de9b2fd67b34abd5d269befd513404fb4e7a0a8d2503474255d361ee84cb2cb4bea4e36b0db8814e84875cbd5166bc9f57adb6105b380384d911e2e35c018350893914257c64d18bf64caf86f64fbde038a22c69786cf7034780e5276ac6b51495b6debd8b71f1518210f2f2f022334bedd09f56cc460a2b038e5db5ac0ddb51bed21e2cbcee060d24edc90e1a8858537662fd2c14acb0105003b971487aa625c8996cd711534a773e25a1a3bdd22f9666b0082f76c28fb55021037a296a5447b43d888632104f8a32b1aedbc5a327b1feeefaec72cee2da17a8490219ffff03261f7743f4b023ca72f735fa46d4d74fb3cf580ed2f9f284976abd9612eaa685031430c52e61c60f3b129053f73d7c4de635b37dfa458e2e0fb7a3fc5bf6ac4c2703f0a609f92cbc7e4056b8eb6fd2850525c21e2eca12528cfae751a70ca4127f90036dab3734687df4f3ad48689057a444dcf3a42e15dcea73aaa9c4eed71c2d9df6039df721442ea12303a639582392150a7c18f98a0df670a6c2380bb59cc62ebf5f03304a133f28a566827ed005c531e74d1602c4cf976aa89d9078957f470a2105cd03cc3a8ed5ad2385b1adcb7ed8561ed6e55d94bd6f77d6ea1cb5392c4fd3bfc0ff03478c8c7e7be4da410eb173c4b3b31ae4545f6a31ef9fb3a8017d8b4c69f2078f03d7f5e811f6dc74d9b6d5a301468052f76a009548446413eb09611c835d5c6280030e2e326a756d4faf00e2afa611c0057ee151c46864390695b59eed82e9e751130349394cbfc45b9dbcb0242e2434c51fe2c4ca6a7ce4bc5acf42a88c5fe1078be403ea2de2843d1e4ebc1ba719b04eba8e3ad3ec194509d61ea65dbb7daa6823cb2503b9ab132f417a52d3e35f6ba248354a70a23d2bb4a7f9b7bef18b27a33082a52003cd4e89bd14e48d4a9c6f0f8e39a01d60dbf8b46be4806ebaa02e600623c13cbe03b1f6e9935c37c26d9b6a0cc7aff3e60787780d900d226261333cdcef5b2a7b3e03b600e9c2c65e98141fd43ce6cd7ced32816de7c775baf2873e3f08ef1a93853d03b3e8d400618de694767e2b5d38dc1e72e5f667a8fee1cd5b7955cb071c6c5ae303f082c27398f09d9de8c0a3d12c1971981b282efbb7dfb31cca1eb2aa32a6a0fa032a6b830e7d984b0ef52795a32d3144d889118964a8ae0dc43d26d9e1b92c07850304270ad8737372226ec41240e30ce83e56617ec413d081560e70d8743b87a0480397d4d1d2a70d2a99f81a0b7bbf675aa66de7840f293451953949dd405694c185031a57f8bc2daf695b82b961b131faf8bdfc89723336937c76f0333f1159cb2b9803fa436fc3a812e31d9e4d63a2f7fa9a1db69d7e2db00ead19538a6dd3c7a41eb9031713719db6bbf9dc8ce5a1ca3f0e25d59c776fd1dd7d725bc4884cb2a091ce2203edd8fd32cb6b6dcbae335ed9055547091714e4f0fadd800e73f57b00d635f48b0378a231cad66b8a6b3c1fdabb5753cc18deec803765eea59019a8c36aaba8b551034fea277952c32f775a0cbd8e7c5ed6216da99df291bf5b514f9826a26f7f759a031c26c707f77408b8fcd19276c7c2c4d6a0789786092aae16a10d8bde48c2f62503aa1651c1f767fe62f3dec47963a9b814cd01ebb355e070af1c125f42be42e45b03edb4ac2676f4f81ffa4368c9a5ad7fab493580ce22ce40c97cf0d4739865a247038752ed1eaab150a9cd23997de3ab0ab102a327915d801671b21c5d355a9ca9850339a7c7f1511558dc4aa302846d991df885a83da8df583a93ec94ea098531b8c503abbab591876970e4b3c1c4f87efbb10305ae916a635977ca15b5cf1cc517fa1f039cee0f65bb7d9ca16a96e9f2398265984bfcbf387cdb74df99b607782de199d6030e776d4c469867a018acffcca36442ee38b13fc71a0dd148a61e5050214ef8f9032d4a9c1caf64826d680d76126daf5a0c7bb9570980e8a21c5a2adbdbb67b3f67037cf1ef66210c942893bba6e39f07e6cfe09a3f1b8d0804504e4d9721939fd56b03aac04aa05cffcaea54c4304ffe82948dac7f887d4ad17c12aba07c41908fc70e05581e03c1138399acd52aff5312973a4c1af56e59d1f7972d80d309600d89c9800c182f47e0dcc9953a25100324412effa4c14ce7d76fa7aa8b2ca1255cd03c6a3427bd5f8e4ae81f6b28026805581e03f5ce249fce8711bed73597f64ac4a0bd2ce60d16ecc3c3e8d35efd50c00c0248014a16bea1cac40705581e033e22ed8f021b18511a2e39fa691a6f05eda879911560799f5397b182a0084710c6d1905f4e0005581e03550a87d166c122729669bfe32e86ac0923f2be735afb4b8864a626ed900c0547010f7e472e3c380309c8ea1e5cefc5985f9df805f9edc9bcd4e00cc864c82b6128ecfe80d864702f03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e030a68bcb9076ddf33c541a0643e855978855b0a75d036e02feb8d67b6f007011bffffffffffffffff0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080347955310cd431bdad17843f37208294074ef929f3821b3d0ac421f9794525b5505581e03447f4ff52c4f679ae2f478d9a377f79ab16a0159345ebf3bcf9d845ff007011bffffffffffffffff05581e03d1a4e9b47e5ae6d5e516f5806ff85b5c7c74fe34839d747c074f5063600c02460fcf4b8a460005581e035d2dcae626b4b4ac50826525b3b1a9650f4b3a3e6754df6cbabae8d1300401032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034e7649e1b32bfbb9c1184abd733614d69d61ab3a402f068e873e4867efb3519005581e039f7c356f4ead505290cd746eaa2491245a389d487ba9410a6427db3c7007011bffffffffffffffff02195f670219ffff03d7b85c7fee5fe6626a8a460e30c4ce76100012131b7b9e64d49c296a5608db3603d4118817245db2c5288cbb33b45b39d9f66238b5a726d263ab6d20794f2d5a3a033ff90d906014b39455da62b6bd2860112177bf01e0bc9e193c39bbff5720de8803cb36805711698b46711b95772b1508cab56395b9013122707d33703948deb3e90381cb96d7bb716aa8321b0d797ca11897e267c4d5e1207f1e492b270a232dc2480392d34e51b86aac7f249aaa49ae1c14031db274b534c13cc461aec1a46ed592310219ffff038f6b119064411b4d48b4b31aa467c91200fd954f79224e3eaf3fccc289c351c30383e55ba6a0f6d198e0e9862a27b3d9227b088710d97f0bb636f4828a1f214f0d0219ffff0219ffff03351519114135b09fd2acdb5dc50a36e436a9b016de27e2c1583eb425839d1c5503c0c29b5b2dac37db9d6d1a328f578a24a6366db44df0c1badd5396a8474a207503bfecb45cc189925ea89b67470ba224dcb243309843556068211b19652912a2ca03b6413726d3ee29bd97b332fb6f761bd11fced4fd0da45753c5d73589927de3690327e797ea646995181bd9abfbe6c562a2a5793d742b02da78def2ee2f760451e503d48ed733f725889503ef997a893a80a2b9a9dd668bc956b578bba91301e1f6bd03b67e48cb6d81e753bf9022255f4a49b2fbb3d5a98f0033974d360fcf79e31319035c68df33fcde917ebed76f3d67591b300502ca9b650e1ae5f9966a4c2ca8e8600317a8c9091faa76a66978c608782e610dfe1205866ae9d128049a567919fe36a303093f5a5f99e12a89c9e5d9f57f933c30ce6600f71425efbc70281b152f021867038543a6752acba030fc3106183f59d3393c336a3a319e91ace3139be3157765180364b0f69f38bb5f2378f34ed288e7190e3d3917db4410cf54aeb31604146a60be033e4c74d7a710feb5e41234adb83123759716ba4c3a95da09dbec7f326c9c00fe03b3dd4870b6d6351285be5865c94005bb70a49f28a91598e0b2345761f5e366fe037e72dec5be894443847ade92da71a048d71b4684426cfeaeeb5ea2a69fe18db8032bd770111d4770f25e6885376554aec0033e41ac4a57cb3ca942cc8b5667bb9a032d056fc3461b4fa96bf387d182863fcdf04f26fb062fbe4ac33d82911d27a8cd03a134a51f33811f69387fc6bc317f5883cca8433e6abb61f6cbe156c4225e4b270315c129af4ca15181d12a34505f4b62b0d1e5249d957603bd5cb0d0fd897aa71a03ea1ecc81396c80f02dc60e0cdb2adf46010ec6139e98c13c56db07b31160fed30352cf21904e944ce81ad0768b9d8f3a7ff95bb8c5d0bab846462510dc098218e8031ebf87f5b497f573fb64c5efc795eada186115b1a8aba9f1c6c35d339aba48e903425cbc961663561b267ed347b66e4723c3c50594b5b6c05f55198df573ffe01b03b54f1b4131fc4f441424069d2e0cca3321755b5ad1faea1eec21f277541f3ab2036f4f7c303bcc466031d7a429a8ed54254650f89f8363aba24938c4b7c39c8d18034f9add27128ed6304e32e4df96189956054b9b97117eb22ef85ba4d40a08629703e96dfe5a29aaf18324e51cbffce58d9b5560ce1e3ead4faf106b8da4e48d203d03dee5e17a9d94b4adec65d4c445f8603acfbd99ad4aa9ae8eddfc86144abe979203cbe5ba54bcb58d836fd7891b4f31032a3c84ecdd3aa3b5a77e838177c525e2a205581e03bd37fd152ca264eb62ca42c9762fe745c21220c74b28a045255cf6d5b00c014709faa779c79000045955b760806040526004361061018f5760003560e01c80638803dbee116100d6578063c45a01551161007f578063e8e3370011610059578063e8e3370014610c71578063f305d71914610cfe578063fb3bdb4114610d51576101d5565b8063c45a015514610b25578063d06ca61f14610b3a578063ded9382a14610bf1576101d5565b8063af2979eb116100b0578063af2979eb146109c8578063b6f9de9514610a28578063baa2abde14610abb576101d5565b80638803dbee146108af578063ad5c464814610954578063ad615dec14610992576101d5565b80634a25d94a11610138578063791ac94711610112578063791ac947146107415780637ff36ab5146107e657806385f8c25914610879576101d5565b80634a25d94a146105775780635b0d59841461061c5780635c11d7951461069c576101d5565b80631f00ca74116101695780631f00ca74146103905780632195995c1461044757806338ed1739146104d2576101d5565b806302751cec146101da578063054d50d41461025357806318cbafe51461029b576101d5565b366101d5573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216146101d357fe5b005b600080fd5b3480156101e657600080fd5b5061023a600480360360c08110156101fd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a00135610de4565b6040805192835260208301919091528051918290030190f35b34801561025f57600080fd5b506102896004803603606081101561027657600080fd5b5080359060208101359060400135610f37565b60408051918252519081900360200190f35b3480156102a757600080fd5b50610340600480360360a08110156102be57600080fd5b8135916020810135918101906060810160408201356401000000008111156102e557600080fd5b8201836020820111156102f757600080fd5b8035906020019184602083028401116401000000008311171561031957600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610f4c565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561037c578181015183820152602001610364565b505050509050019250505060405180910390f35b34801561039c57600080fd5b50610340600480360360408110156103b357600080fd5b813591908101906040810160208201356401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611364945050505050565b34801561045357600080fd5b5061023a600480360361016081101561046b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff610100820135169061012081013590610140013561139a565b3480156104de57600080fd5b50610340600480360360a08110156104f557600080fd5b81359160208101359181019060608101604082013564010000000081111561051c57600080fd5b82018360208201111561052e57600080fd5b8035906020019184602083028401116401000000008311171561055057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356114d8565b34801561058357600080fd5b50610340600480360360a081101561059a57600080fd5b8135916020810135918101906060810160408201356401000000008111156105c157600080fd5b8201836020820111156105d357600080fd5b803590602001918460208302840111640100000000831117156105f557600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611669565b34801561062857600080fd5b50610289600480360361014081101561064057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356118ac565b3480156106a857600080fd5b506101d3600480360360a08110156106bf57600080fd5b8135916020810135918101906060810160408201356401000000008111156106e657600080fd5b8201836020820111156106f857600080fd5b8035906020019184602083028401116401000000008311171561071a57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356119fe565b34801561074d57600080fd5b506101d3600480360360a081101561076457600080fd5b81359160208101359181019060608101604082013564010000000081111561078b57600080fd5b82018360208201111561079d57600080fd5b803590602001918460208302840111640100000000831117156107bf57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d97565b610340600480360360808110156107fc57600080fd5b8135919081019060408101602082013564010000000081111561081e57600080fd5b82018360208201111561083057600080fd5b8035906020019184602083028401116401000000008311171561085257600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612105565b34801561088557600080fd5b506102896004803603606081101561089c57600080fd5b5080359060208101359060400135612525565b3480156108bb57600080fd5b50610340600480360360a08110156108d257600080fd5b8135916020810135918101906060810160408201356401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184602083028401116401000000008311171561092d57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612532565b34801561096057600080fd5b50610969612671565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561099e57600080fd5b50610289600480360360608110156109b557600080fd5b5080359060208101359060400135612695565b3480156109d457600080fd5b50610289600480360360c08110156109eb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356126a2565b6101d360048036036080811015610a3e57600080fd5b81359190810190604081016020820135640100000000811115610a6057600080fd5b820183602082011115610a7257600080fd5b80359060200191846020830284011164010000000083111715610a9457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612882565b348015610ac757600080fd5b5061023a600480360360e0811015610ade57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135612d65565b348015610b3157600080fd5b5061096961306f565b348015610b4657600080fd5b5061034060048036036040811015610b5d57600080fd5b81359190810190604081016020820135640100000000811115610b7f57600080fd5b820183602082011115610b9157600080fd5b80359060200191846020830284011164010000000083111715610bb357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613093945050505050565b348015610bfd57600080fd5b5061023a6004803603610140811015610c1557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356130c0565b348015610c7d57600080fd5b50610ce06004803603610100811015610c9557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e00135613218565b60408051938452602084019290925282820152519081900360600190f35b610ce0600480360360c0811015610d1457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356133a7565b61034060048036036080811015610d6757600080fd5b81359190810190604081016020820135640100000000811115610d8957600080fd5b820183602082011115610d9b57600080fd5b80359060200191846020830284011164010000000083111715610dbd57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356136d3565b6000808242811015610e5757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b610e86897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28a8a8a308a612d65565b9093509150610e96898685613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f0957600080fd5b505af1158015610f1d573d6000803e3d6000fd5b50505050610f2b8583613cff565b50965096945050505050565b6000610f44848484613e3c565b949350505050565b60608142811015610fbe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061102357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6111207f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b9150868260018451038151811061113357fe5b60200260200101511015611192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b611257868660008181106111a257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff163361123d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8a8a60008181106111f157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168b8b600181811061121b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166140c6565b8560008151811061124a57fe5b60200260200101516141b1565b61129682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614381915050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836001855103815181106112e257fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561132057600080fd5b505af1158015611334573d6000803e3d6000fd5b50505050611359848360018551038151811061134c57fe5b6020026020010151613cff565b509695505050505050565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484614608565b90505b92915050565b60008060006113ca7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8f8f6140c6565b90506000876113d9578c6113fb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505050506114be8f8f8f8f8f8f8f612d65565b809450819550505050509b509b9950505050505050505050565b6060814281101561154a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6115a87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106115bb57fe5b6020026020010151101561161a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b61162a868660008181106111a257fe5b61135982878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b606081428110156116db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061174057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b61183d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061184d57fe5b60200260200101511115611192576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b6000806118fa7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8d7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b9050600086611909578b61192b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c48101879052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b505050506119ed8d8d8d8d8d8d6126a2565b9d9c50505050505050505050505050565b8042811015611a6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b611afd85856000818110611a7e57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1633611af77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168a8a600181811061121b57fe5b8a6141b1565b600085857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611b2d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611bc657600080fd5b505afa158015611bda573d6000803e3d6000fd5b505050506040513d6020811015611bf057600080fd5b50516040805160208881028281018201909352888252929350611c32929091899189918291850190849080828437600092019190915250889250614796915050565b86611d368288887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611c6557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b505afa158015611d12573d6000803e3d6000fd5b505050506040513d6020811015611d2857600080fd5b50519063ffffffff614b2916565b1015611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b5050505050505050565b8042811015611e0757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21685857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611e6c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f0b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b611f1b85856000818110611a7e57fe5b611f59858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614796915050565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216916370a0823191602480820192602092909190829003018186803b158015611fe957600080fd5b505afa158015611ffd573d6000803e3d6000fd5b505050506040513d602081101561201357600080fd5b5051905086811015612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120e357600080fd5b505af11580156120f7573d6000803e3d6000fd5b50505050611d8d8482613cff565b6060814281101561217757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16868660008181106121bb57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461225a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6122b87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f34888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106122cb57fe5b6020026020010151101561232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061237357fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b1580156123a657600080fd5b505af11580156123ba573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61242c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b8460008151811061243957fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156124aa57600080fd5b505af11580156124be573d6000803e3d6000fd5b505050506040513d60208110156124d457600080fd5b50516124dc57fe5b61251b82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b5095945050505050565b6000610f44848484614b9b565b606081428110156125a457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6126027f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061261257fe5b6020026020010151111561161a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000610f44848484614cbf565b6000814281101561271457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b612743887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28989893089612d65565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519194506127ed92508a91879173ffffffffffffffffffffffffffffffffffffffff8416916370a0823191602480820192602092909190829003018186803b1580156127bc57600080fd5b505afa1580156127d0573d6000803e3d6000fd5b505050506040513d60208110156127e657600080fd5b5051613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561286057600080fd5b505af1158015612874573d6000803e3d6000fd5b505050506113598483613cff565b80428110156128f257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168585600081811061293657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b60003490507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612a4257600080fd5b505af1158015612a56573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612ac87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612b3257600080fd5b505af1158015612b46573d6000803e3d6000fd5b505050506040513d6020811015612b5c57600080fd5b5051612b6457fe5b600086867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612b9457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c2d57600080fd5b505afa158015612c41573d6000803e3d6000fd5b505050506040513d6020811015612c5757600080fd5b50516040805160208981028281018201909352898252929350612c999290918a918a918291850190849080828437600092019190915250899250614796915050565b87611d368289897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612ccc57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b6000808242811015612dd857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6000612e057f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c8c6140c6565b604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b158015612e8657600080fd5b505af1158015612e9a573d6000803e3d6000fd5b505050506040513d6020811015612eb057600080fd5b5050604080517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b158015612f2357600080fd5b505af1158015612f37573d6000803e3d6000fd5b505050506040513d6040811015612f4d57600080fd5b50805160209091015190925090506000612f678e8e614d9f565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614612fa4578183612fa7565b82825b90975095508a871015613005576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b8986101561305e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b505050505097509795505050505050565b7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484613f60565b60008060006131107f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b905060008761311f578c613141565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156131dd57600080fd5b505af11580156131f1573d6000803e3d6000fd5b505050506132038e8e8e8e8e8e610de4565b909f909e509c50505050505050505050505050565b6000806000834281101561328d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61329b8c8c8c8c8c8c614ef2565b909450925060006132cd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e8e6140c6565b90506132db8d3383886141b1565b6132e78c3383876141b1565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561336657600080fd5b505af115801561337a573d6000803e3d6000fd5b505050506040513d602081101561339057600080fd5b5051949d939c50939a509198505050505050505050565b6000806000834281101561341c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61344a8a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b348c8c614ef2565b9094509250600061349c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b90506134aa8b3383886141b1565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561351257600080fd5b505af1158015613526573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156135d257600080fd5b505af11580156135e6573d6000803e3d6000fd5b505050506040513d60208110156135fc57600080fd5b505161360457fe5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561368357600080fd5b505af1158015613697573d6000803e3d6000fd5b505050506040513d60208110156136ad57600080fd5b50519250348410156136c5576136c533853403613cff565b505096509650969350505050565b6060814281101561374557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168686600081811061378957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461382857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6138867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150348260008151811061389657fe5b602002602001015111156138f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061393e57fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561397157600080fd5b505af1158015613985573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6139f77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b84600081518110613a0457fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613a7557600080fd5b505af1158015613a89573d6000803e3d6000fd5b505050506040513d6020811015613a9f57600080fd5b5051613aa757fe5b613ae682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b81600081518110613af357fe5b602002602001015134111561251b5761251b3383600081518110613b1357fe5b60200260200101513403613cff565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310613bf857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613bbb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c5a576040519150601f19603f3d011682016040523d82523d6000602084013e613c5f565b606091505b5091509150818015613c8d575080511580613c8d5750808060200190516020811015613c8a57600080fd5b50515b613cf857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310613d7657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613d39565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613dd8576040519150601f19603f3d011682016040523d82523d6000602084013e613ddd565b606091505b5050905080613e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806154e56023913960400191505060405180910390fd5b505050565b6000808411613e96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615557602b913960400191505060405180910390fd5b600083118015613ea65750600082115b613efb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000613f0f856103e563ffffffff6151f316565b90506000613f23828563ffffffff6151f316565b90506000613f4983613f3d886103e863ffffffff6151f316565b9063ffffffff61527916565b9050808281613f5457fe5b04979650505050505050565b6060600282511015613fd357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff81118015613feb57600080fd5b50604051908082528060200260200182016040528015614015578160200160208202803683370190505b509050828160008151811061402657fe5b60200260200101818152505060005b60018351038110156140be576000806140788786858151811061405457fe5b602002602001015187866001018151811061406b57fe5b60200260200101516152eb565b9150915061409a84848151811061408b57fe5b60200260200101518383613e3c565b8484600101815181106140a957fe5b60209081029190910101525050600101614035565b509392505050565b60008060006140d58585614d9f565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061428f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101614252565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146142f1576040519150601f19603f3d011682016040523d82523d6000602084013e6142f6565b606091505b5091509150818015614324575080511580614324575080806020019051602081101561432157600080fd5b50515b614379576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806155336024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156146025760008084838151811061439f57fe5b60200260200101518584600101815181106143b657fe5b60200260200101519150915060006143ce8383614d9f565b50905060008785600101815181106143e257fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461442a5782600061442e565b6000835b91509150600060028a510388106144455788614486565b6144867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f878c8b6002018151811061447957fe5b60200260200101516140c6565b90506144b37f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f88886140c6565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156144fd576020820181803683370190505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614588578181015183820152602001614570565b50505050905090810190601f1680156145b55780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156145d757600080fd5b505af11580156145eb573d6000803e3d6000fd5b505060019099019850614384975050505050505050565b50505050565b606060028251101561467b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561469357600080fd5b506040519080825280602002602001820160405280156146bd578160200160208202803683370190505b50905082816001835103815181106146d157fe5b602090810291909101015281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b80156140be576000806147318786600186038151811061471d57fe5b602002602001015187868151811061406b57fe5b9150915061475384848151811061474457fe5b60200260200101518383614b9b565b84600185038151811061476257fe5b602090810291909101015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01614701565b60005b6001835103811015613e37576000808483815181106147b457fe5b60200260200101518584600101815181106147cb57fe5b60200260200101519150915060006147e38383614d9f565b50905060006148137f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f85856140c6565b90506000806000808473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561486157600080fd5b505afa158015614875573d6000803e3d6000fd5b505050506040513d606081101561488b57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905060008073ffffffffffffffffffffffffffffffffffffffff8a8116908916146148d55782846148d8565b83835b9150915061495d828b73ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b955061496a868383613e3c565b9450505050506000808573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146149ae578260006149b2565b6000835b91509150600060028c51038a106149c9578a6149fd565b6149fd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f898e8d6002018151811061447957fe5b60408051600080825260208201928390527f022c0d9f000000000000000000000000000000000000000000000000000000008352602482018781526044830187905273ffffffffffffffffffffffffffffffffffffffff8086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015614aad578181015183820152602001614a95565b50505050905090810190601f168015614ada5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015614afc57600080fd5b505af1158015614b10573d6000803e3d6000fd5b50506001909b019a506147999950505050505050505050565b8082038281111561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6000808411614bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806153d4602c913960400191505060405180910390fd5b600083118015614c055750600082115b614c5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000614c7e6103e8614c72868863ffffffff6151f316565b9063ffffffff6151f316565b90506000614c986103e5614c72868963ffffffff614b2916565b9050614cb56001828481614ca857fe5b049063ffffffff61527916565b9695505050505050565b6000808411614d19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154736025913960400191505060405180910390fd5b600083118015614d295750600082115b614d7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b82614d8f858463ffffffff6151f316565b81614d9657fe5b04949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614e27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154006025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610614e61578284614e64565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216614eeb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b604080517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015287811660248301529151600092839283927f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163e6a4390591604480820192602092909190829003018186803b158015614f9257600080fd5b505afa158015614fa6573d6000803e3d6000fd5b505050506040513d6020811015614fbc57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614156150a257604080517fc9c6539600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152898116602483015291517f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163c9c65396916044808201926020929091908290030181600087803b15801561507557600080fd5b505af1158015615089573d6000803e3d6000fd5b505050506040513d602081101561509f57600080fd5b50505b6000806150d07f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8b8b6152eb565b915091508160001480156150e2575080155b156150f2578793508692506151e6565b60006150ff898484614cbf565b905087811161516c5785811015615161576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b8894509250826151e4565b6000615179898486614cbf565b90508981111561518557fe5b878110156151de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b600081158061520e5750508082028282828161520b57fe5b04145b61139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b8082018281101561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b60008060006152fa8585614d9f565b50905060008061530b8888886140c6565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561535057600080fd5b505afa158015615364573d6000803e3d6000fd5b505050506040513d606081101561537a57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff878116908416146153c15780826153c4565b81815b9099909850965050505050505056fe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a26469706673582212206dd6e03c4b2c0a8e55214926227ae9e2d6f9fec2ce74a6446d615afa355c84f364736f6c634300060600330605581d02a7e8b8234a7992da2173c0d9eb404853fe85a65a0881149522e12b2a0f014758d15e176280001955b705581d024ace4a9cf9849185c4b4cd9d2d43e5360f36d915f743ac51fcc9c7f80c02450135f1b4000219042005581e03dc8fc5260164a847b23d38a881b05ec9e601d397d1188021168d7c0da00c024701923a550aa0c803fe15c6a27562a27ae904cb1b828dd828705d1507183fdaa98bcdd0bb1025ee5305581e03f23857a9fa3d0da9ae7310c160afcf49158a232640406bae60c29650500c01472296500eeb160005581e037f46e0bb2789267d0a30b8d43a6d3e2a2e289f0fcb20ea1bc8ee7216a00c024744d7c56d940be603ef681ad561c890292aa0775ad056b33adaf4059df2a392368f96de9dd539b7ca032be8a5093959bbacdaa2d02b061939a3a07681b5a5351eef8de8b286f8df80ba039bed36de94bcfffa25c8fa7eceb9670a773e35fa4d31ce455cb7ec98d3f2633a05581e031d2088553eaa5823aa330be942a76137ea4d7416fda40c5c72917239f00c0147028114c7f49fc0034277b3bbc296a60f66b308aceaf2f9ad4e766e1984e39f2bb1256df0c51448a70219cbde03821c17b99606f4ef0404c1e66f9b5847282857f6d43c1d1e2282e3e20358c1a203c4c9fce98e5aa03a1c2976bea62991500383da391e6b93cd7ee617b79075830103454a7715e43a8f5665f3175574c0f374cd68bdd08d8d39beda757efe065a1d0103cd56c55a16fc16cfc4f8c40d1ade5f93aa7754345eff672fd36b2e5d5ac78adf0365c9ef940b1bf8951ae99a658391bc322d955090fc733e730f446262316cd707032dc7ad83f81334ea5c5841d73bfd9a6a887e1d78e06e3905881fa83d258880c403bd0a711bff7996b670c2882e6431d8feede57819c03c580eaa092d1a8f53519403d77cc81d223cecf0dc1500acd0a1a3bee88324e90cd31d5a2577ab6f5f3d74a80219ffff0379c59a0bc3c903e720187633f537d959fcee20d326d0589d99378fd348571fd503617b1732812e177a348d6e8b71b919d1a8f9aeb566fb1a8990040c9015e2f5740219ffff03c2aa7796b88ed0882d027e907876f0fc2ae6543201bb6064c9f4d3d9fec9317d038afea1a0e1468c6fc726154afcbd90c51d92f02f2194bc98dd11605e156596ee03596c36944867284154a90995ca2cc2614c9c689ff26b50af7f538262dde35e970375f7c3db9a1679d153aa7dc505db4c3ce38403302ecf3d50c97462d935028f7a034e5945b412e2d39813d395d009f29c0af87e87179ee0a2eaf6468791c2e0596b03d4d46180102df1d16c31e07e2e015417eee7923acaa46384f3cb845ddf9075d203629c8991b7d21870e79deda688c9de842ac1c0fec9702dada6933346739567a303f5bda8d71493465d646fe4bac7bcf590d3610204fee43009863c3655deb4857803ae3be2bf579c9f9f495041c595f560f35c27deac9db5e15c9e3c221ae529dfec03ed4a66405f36524c9d3f4104bf0634a594830fef299b2c5fa75624d59aef7ec803d562ece272c4310fda8928d8aec5f90b603dfd52a1dd5d96329ca930e2273a890219ffff034a3cf9590282ce5e166931db76ad68b376a1cd9b2f852c7450d9be986a3559c303aadb3838e73c88c9013613ef62ae5a96792a3ab633676c16ac992365f5a7cb0003cbdb28f8a83a033693b2de55bd128fe58c55303324b69ef11117c6b1db4c1cdc03e798dcfb845a9cb899495fb31496e73e26878313ae527f20ec33d284b07991cc03dc6ee381de130d009ad3eb565bf97d236de226cbacf755aa272bf4668c1be667030cb7a9e0d8406a86922234b541c6001c6765d42cfb8b0240c95c74078e9ce5a0033b2d5603e34a761a005a966922c6715b4648c010840026e5ae9550feb5792dbc03b77e99e422474a738ae2c4d2b389fb7b46a7ac6e99508d64c547a17971072285034099427e8ee7813be43cfb5615c15af46582674e183bd01e2874aa6d7a5c2a880366fc909279eed8404fb476b31db176488bbb8d7f3ee3d7f98d3ec0b446cabc0c0219ffff037e84d668d9e0fa26140ac775a9ae67f0738c892d3b9b783ac97ab5e595a23093033aaccb4a4c1b07744853ce549d4ac88004bd8bd1329d96c144e305cde33a8cdc03c34385c29203a1f6bb7c01ac43b03c90f9214bafd7f9eaf77a14892193109f78035d6c3c9692ccca597c10ade932445dea0b2d90223faadcdabd5bf2a5c43ad58d03e270141dc44ede0dc16df8b83e55e88323f7a04f9ef2cfb8ea001d402aa2f892038d6e05a3c6fde9ff183471e4080cee58fb8ef631f3ae6efd764018a940a76337036053c03b65b5c81f1a552fff05d54371ddf56b20b529351475eaa2afcf9b9dc703e358c4bfed3df13a2dc429af8fd5904eb891e32bcc911d265b674969c70b9a78035198f58f96484f9a6028f2e2db1ab3a69a39ec76c34991cd8621e4aab23deb89036c915d40cec8bf9942e5503a264e71cec5861b27ab97d6bb62bb09a47ce43c5703e692e6699212e101df19e4a371b1b6913d7562ea24c8b81c843be5869a7f5fa803db950b1cfed59b3ff22c256592408eb3015e9352ba4e7c0f6dbe584c7c9963da03767c5f3a1559bd8ec3b912dd597846f25ebcb960843901c843d2f551a251f7c103d9012e7db4b7147345dfe2c4287512cd7a7d50aa2977f8735338fc7932d8030203fe5b27e27bdca28b1dd64f3d3419b89153c5f7c60ab890164eefc89d9c86c0c00382430185268e2c4f6546a56e68842502af07151dafc4b556f36aabea003fbc4703e4042352caea7989cab5fd852dcd44642ac9b49cf7c78f8133b929b0f69eded803e324a425d297de1c52084bb4c3aca8919f4e0e0312caaeb571ef7807d654811903b257710ac6782f807547798ff9e7893858d482fc4217ec77e19c05d218357c7903c3124574ac0f0ed738b95eab89a40b3703c82022ff25d22ab25f4ba72fcc5fb503e4c1e81b1b81dfeb00bcf681acdc8843eac77391d629a9517b20de5eb3d50fe7032243125519edfa775b5f9cd49fe747cabfa4485915106f1edd5b1f3bca1abff7032f68acbd5593d3b7b84cbac394354931ae99d2f4d9fb0ee99dd8cf2b4636353503f46a238094a62086fb1a0ca65d4047609fa119169dc3d8c45b0ad568305bac7003effe5ec588032501a942ee7025bc950a731317e4eff6706da0c6d65020c1f785030a00bd9dfe5b42db43ecfd4233656488e60c9c59574d1970cc6dee033bb3bf8003fda5247104ecb5c03481fbe60c39c7caa3658ef69d4898e6120c3d14bed4d91b035d82d5d4d4a64271760050e2124a16f9bc29391ca85ca2a22388bcb5a184e02f0372d7ef2e7b9b3eb28de770d304c4f01e87ccc292311c46eab416087ae728ee65031613a667df09cf5e644e37abba3a527a111218b4240e041f685a1b168d31c03103dad5d75d676a142c7ea72357dce1353ad915b0240bbc2581890faa39fe7ab2b205581e03eacd47329bf8261028dad70fbed16f6ef77703b73c47fd606353b06de00c181a480263d0821b62f6d005581e035bb4227b8f4f7d1c80247807bee146bc1ed3f6a0f0d9b7132d8ab856d0040305581d02a1f767bd1cc496a1db37d9b1e4af50428204f47d00bedd79d6bf9c740401045913276040608081526004908136101561001557600080fd5b600091823560e01c8063031389c11461077957806306fdde03146106ec578063095ea7b3146106c257806318160ddd146106a357806323b872dd14610666578063313ce5671461064457806339509351146105f45780633f4ba83a1461055b57806340c10f191461052e57806342966c68146105105780635c975abb146104e957806370a08231146104b1578063715018a61461046157806379cc6790146104315780638456cb59146103d45780638da5cb5b146103a757806395d89b41146102e9578063a457c2d714610242578063a9059cbb14610211578063d5abeb01146101f4578063dd62ed3e146101a75763f2fde38b1461011357600080fd5b346101a35760203660031901126101a35761012c610b9c565b91610135611137565b6001600160a01b03831615610151578361014e84610d02565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346101f057806003193601126101f057806020926101c5610b9c565b6101cd610bb7565b6001600160a01b0391821683526002865283832091168252845220549051908152f35b5080fd5b50346101a357826003193601126101a35760209250549051908152f35b5050346101f057806003193601126101f05760209061023b610231610b9c565b6024359033610fd1565b5160018152f35b5082346102e657826003193601126102e65761025c610b9c565b918360243592338152600260205281812060018060a01b03861682526020522054908282106102955760208561023b8585038733610e37565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b5050346101f057816003193601126101f0578051908260065461030b81610ca5565b90818552602092600191600181169081600014610385575060011461034a575b610346868661033c828b0383610bcd565b5191829182610c5c565b0390f35b929550600683528583205b82841061037257505050826103469461033c92820101943861032b565b8054868501880152928601928101610355565b60ff191687860152505050151560051b830101925061033c826103463861032b565b5050346101f057816003193601126101f057600754905160109190911c6001600160a01b03168152602090f35b5050346101f057816003193601126101f05760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25891610412611137565b61041a611293565b61010061ff0019600754161760075551338152a180f35b5050346101f0573660031901126102e65761014e61044d610b9c565b6024359061045c823383610f39565b611192565b83346102e657806003193601126102e65761047a611137565b6007805462010000600160b01b03198116909155819060101c6001600160a01b03166000805160206112db8339815191528280a380f35b5050346101f05760203660031901126101f05760209181906001600160a01b036104d9610b9c565b1681526001845220549051908152f35b5050346101f057816003193601126101f05760209060ff60075460081c1690519015158152f35b8382346101f05760203660031901126101f05761014e903533611192565b5050346101f0573660031901126102e65761014e61054a610b9c565b610552611137565b60243590610d4e565b50346101a357826003193601126101a357610574611137565b6007549060ff8260081c16156105ba575061ff001916600755513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602090a180f35b606490602084519162461bcd60e51b8352820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152fd5b5050346101f057806003193601126101f05761023b60209261063d610617610b9c565b338352600286528483206001600160a01b03821684528652918490205460243590610cdf565b9033610e37565b5050346101f057816003193601126101f05760209060ff600754169051908152f35b5050346101f05760603660031901126101f05760209061023b610687610b9c565b61068f610bb7565b6044359161069e833383610f39565b610fd1565b5050346101f057816003193601126101f0576020906003549051908152f35b5050346101f057806003193601126101f05760209061023b6106e2610b9c565b6024359033610e37565b5050346101f057816003193601126101f0578051908260055461070e81610ca5565b90818552602092600191600181169081600014610385575060011461073e57610346868661033c828b0383610bcd565b929550600583528583205b82841061076657505050826103469461033c92820101943861032b565b8054868501880152928601928101610749565b509190346101f05760e03660031901126101f057610795610b9c565b61079d610bb7565b6001600160401b0394604435868111610b98576107bd9036908301610c06565b606435878111610b94576107d49036908401610c06565b6084359160ff8316809303610b905787549160ff8360081c161596878098610b83575b8015610b6c575b15610b125761081f90600194898660ff198316178d55610b01575b50610d02565b60ff895460081c1615610aaa5781518a81116109dc57600590806108438354610ca5565b94601f95868111610a59575b506020908d8784116001146109fa57926109ef575b5050600019600383901b1c191690851b1781555b81519a8b116109dc578a9061088e600654610ca5565b90848211610997575b5050506020918a116001146109325798809281928a9b6108e5999a9b94610927575b50501b916000199060031b1c1916176006555b60ff19600754161760075560c435905560a43590610d4e565b6108ed575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989160ff84549161ff0019831686555191168152a180f35b0151925038806108b9565b60068952818920909991601f1983168a5b81811061098157509a836108e5999a9b9c10610968575b505050811b016006556108cc565b015160001960f88460031b161c1916905538808061095a565b8c83015184559285019260209283019201610943565b60068c528460208d20926020828601841c850195106109d3575b01901c019084905b8281106109c8578c9250610897565b8b81550184906109b9565b935082936109b1565b634e487b7160e01b8a526041865260248afd5b015190503880610864565b9190889450601f198416868452828420935b818110610a4157508411610a28575b505050811b018155610878565b015160001960f88460031b161c19169055388080610a1b565b8284015185558a969094019360209384019301610a0c565b909150838d5260208d2086808501861c82019260208610610aa1575b8594939101861c9091019088908f5b838210610a935750505061084f565b81558594508991018f610a84565b92508192610a75565b875162461bcd60e51b8152602081870152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b61ffff1916610101178b5538610819565b885162461bcd60e51b8152602081880152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156107fe5750600160ff8516146107fe565b50600160ff8516106107f7565b8780fd5b8680fd5b8580fd5b600435906001600160a01b0382168203610bb257565b600080fd5b602435906001600160a01b0382168203610bb257565b601f909101601f19168101906001600160401b03821190821017610bf057604052565b634e487b7160e01b600052604160045260246000fd5b81601f82011215610bb2578035906001600160401b038211610bf05760405192610c3a601f8401601f191660200185610bcd565b82845260208383010111610bb257816000926020809301838601378301015290565b6020808252825181830181905290939260005b828110610c9157505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610c6f565b90600182811c92168015610cd5575b6020831014610cbf57565b634e487b7160e01b600052602260045260246000fd5b91607f1691610cb4565b91908201809211610cec57565b634e487b7160e01b600052601160045260246000fd5b6007805462010000600160b01b03198116601084811b62010000600160b01b0316919091179092556001600160a01b0392831692911c166000805160206112db833981519152600080a3565b60035490610d5c8383610cdf565b60045410610dfc576001600160a01b0316918215610db757602081610d9a6000805160206112fb83398151915293600095610d95611293565b610cdf565b6003558484526001825260408420818154019055604051908152a3565b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b60405162461bcd60e51b8152602060048201526013602482015272115490cc8c0e8818d85c08195e18d959591959606a1b6044820152606490fd5b6001600160a01b03908116918215610ee85716918215610e985760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260028252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9060018060a01b0380831660005260026020526040600020908216600052602052604060002054926000198403610f71575b50505050565b808410610f8c57610f83930391610e37565b38808080610f6b565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b6001600160a01b039081169182156110e4571691821561109357610ff3611293565b6000828152600160205260408120549180831061103f57604082826000805160206112fb83398151915295876020965260018652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b60075460101c6001600160a01b0316330361114e57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6001600160a01b03168015611244576111a9611293565b806000526001602052604060002054918083106111f4576020816000805160206112fb83398151915292600095858752600184520360408620558060035403600355604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b60ff60075460081c166112a257565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa164736f6c6343000818000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041ff0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688051ffe8b47b3e2130213b80221243949700000219040405581d02c29e115eeac999357feb08849fb9735b0b6c84bf61fbacc9b777795807011913270219801005581e032e0349ccb3e9b7ceea32947f0b4b86ce110d9004ed3e9092ffd6cf32e00c0147084cebb1efe60005581e03830a57aae047a174b682a6ea8067c867f91d2ec66e16485437d4478920040605581e030e99c91e1584da7a5d5c8dbae4d6bf0e3eb59b784783bef3aea2ae64000c02465238f8fe17c005581e03f528e688ec861d247e5b91a647ba525430d56c86c327187a8687772e30040105581e03a771790fa475b16d71d57a7f3890e7d616fe87fb5d652c88a771151c40040405581e0384fcc0500de83319a37986d87833d724f122b9538afa1e5a01be3917f00c014711423e4fe69c0005581e0357ebfa65903f0e9de4325ba23afbca7eb7732fb8d4d60de47d72a6b0c0041845021953db03a89147136e981816b42c72dd306a732832ae59a1a9ec78e2b513634f80b2beed0397aa2aaefebc6406088fc2a2014bf963fe310f8a8b5708c967a4a80f211aa25703a3759d1675c0c97f35a0cbd90e42368957c6726fe6bc66606e59145e572c56ec0300e5c934207a6ba701e4f1fa68190d1c90cc74c9921090f9a7197c7945631ee20219ffff03c88407d4367b71e4b0397f9cceae8d8dd0aa9847ec1b4695488625a3e09898a10219ffff03b4fca4769e062cd9786480dc1709377f600ba4f2bfedca30ad04233f36570c6f0398e70be0fb0da60fdf7eaac9202cf3ed0bbf09fbb20b5ca7f6fafd13f0b4065503cfbcfcd8aa8ffc2aa467ecf803fb1180d344281899f55b5056a216dd6dfba1fd039c54f252b2372a693c9cc2fdacbe03e62a6c29b6fb77479a62723f779a17144c03138ce0dbe0808ee0bdb908ec419513b530a75ecf72f463f1712e5385f5077f490335e26019d27c2b0a8f8e3ff53f7549c71bfec4e055b80188c467052459f78e4903a389ca1a500c25386cd1198a2f19e21a1eb13e45c4623b07bc2c43a96c133eb603982481b7c77431e3839cdf62c264741a75de3debdca4b11f0ef6e8a401b452ec035ef612943a5476435f705120d5aa94724958475a3caabe4a1e755a0916aaf8b3035590899bbf1112007dcdb91e9c412fe4f5810f77bbc1e0736e9ecb0063410525030d3afee7e471329681c22b754bd0219a00579c54c9e7f763f4f69e80c40f9d510219ffff03071d6ea65053464e845383b0123c67b7ad1a4e59a74ad255bad2546c28ebda8b03db2e4ed96d96c930b6f8fbba0aa74a701da24af61c7f2c0a48088396d204313d03c3bc868123b3cedf71e766824e0402fafe928d74edbcea3d1f0511bd004dc620030902abf215cc4b1a994def629e6664b5ecbf11f5fb5f30d74e07ded89fe9a59e03311a3f46516caf09b42de714e2ac426da836ee1545d8f7135c0b2c900681e96e03840e39b6a42247746dc6e0a39e80e354c1035155d52b3422a92c1ea6a9487d2f0378e235540cd1c3ce18646a2396bcf96ebb8e3743b44846830a46e3903e6223fe03808b24435404d654501f24d20c278b1328baa5a246790c2793b3f161387da93403cda5dc155fb6650cb8a2de031e255d1a6d61148f5494506088d9fe1525fa420b036acfdecaf3642837c350a74b20667197ba826a0465b9e613e3d8edaab615a78503f1402533657ed376e6c1602c9c56c38acc2b02c17567dd284eff292a37e3d7e0034c497b1bd7fae535b6f239eb52bd474624ac4baf580ce5e0b20a54737feecbe603043e325d4595cfc9176e23aba55c1cdd7958dda27f02d7505432d1e9926977d003e551b19eb7e88e8ac5cd27d05643b315330dc72c3027fd9c9b3facea7fcf49c1033b0ab8267daf827f9d93080919ae459dd31921381b49a6f5a123fe5f5951074c03e7b6094fead48814ce07ecf5530eaadf66a7e2c6265c172d7f55eb26bbc532090300f502d8cffb0527b9a128bde516edc79444a7187d158088e0c11ee256bb8a0e03c7c60461759bc659edee9d44528ce80bf87a82b4675da442b584acf02481c16c03bf2dbb4bb4fc31a291aeb8c44a6f4be24c91ae7e388054e4805b8ec021145213031260fd0c11ef46e26dd440c4a8ad611d36aa868f19ee18bdc22860cfeddd663803a5500db78bcf4fa5419f20b66a3576a781015d3a4ff87ba03aaaa9e28594b3d20308b94722bc7e6efdf21fd5f164e4658a7ef1707774d0c49222e3739549ab6597039556d32808e888296c1f29c5d8175e5a65b5a305b37d1208980f481b3df1b4fa037999412df554bf8e599ad0556e5c78d6de0dad951ec9ae9fb15fa992a56f81b3034724d4f8e28034449ec847caf504660e48e7d1fcbc3224af077a3bf1baf4b75403778f1beb9fccadf4ef3e2ab5879f5a4ba23651d1ab4ac94f5e5c2b60ff7bf29103f77cf0ae67ae675bf6dd65f9ae551f295e6c5fe4cde081bb93fa72c39c7a81b0037df10cff76ba78255ccf98ebf2c5a7ac3e7d5b56586a37713781b9ec91e76cbd038eb399e5245f7fc8045ff814482cb8f2d634bf9dd618d356be244da4414a82f003aba21f539be217161b3effea3fd06b2f7168438129b45f73fafe2c224cb05859036bee12f6fed5ea89311c151bfbe39956ef3808a25ac7b8ccfac81a8330a5a7c603a038d1e3f8ac3506e01e0c23706a9a7d0ea0ea3e182fa45e5db43f3c7063a84303ad67422944823835e2f156a019cc788dc78ddcb78b279fa63a8b1f28d07847d7032f38b699a9431a6ab1b8827b68e4da0a44d9c944ba3040d57950827d883c904303692f0cbf332c97e5ae0e9ed9e34a677920a2a669ac17aa9ed50c763f8ec78b9a038e540dcd4b9818190375b45b68c1eb65c6f3c8556d08d3b5346656f20497cee50332eb5d90802492c08138aa3729c8f78f02df7b85c9f26393c1751278a9391ac903af8af11c952923dcb8ceaf004995f5073055474161f66d8bf14c8acf223b4f590387aa880784168cdf7d15a61556f7a25b6147b22dca70d25ea300eb820ececb8903ab237b29c83e89a448786dc4ee3712fa2dcb784aa6ebbf805949815a9753bf6b03f986d2d770c964958dad3160f9bf0a720178e8f4cb55511c1fab890724202fa205581e030c1d6d3b149fa83223f1f327c2a3b9b8410e6c45e363739c6851b6e1800c024512526cc39803e6aae673f7a907043ff2cf78ea06c945ba847116f6e87212558dad21fd6dd55303647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d033a3b14f74de407225ceadf004dcc9cbc088c4060a923e5921723c84d32b4f8b205581e031aa00d009f685a40ca5bb035530865b446d02887717f9ef1d58bb7739007011bffffffffffffffff05581e03a59a5784b43b716b3e8f62e8bfddec2d56728ebec8582346d55aeaad6004010459458a608060405234801561001057600080fd5b506004361061002b5760003560e01c80631cb7dd7914610030575b600080fd5b6101446004803603606081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b9193909290916020810190356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b91939092909160208101903564010000000081111561010557600080fd5b82018360208201111561011757600080fd5b8035906020019184602083028401116401000000008311171561013957600080fd5b509092509050610146565b005b6101e486868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a02828101820190935289825290935089925088918291850190849080828437600092019190915250506040805160208089028281018201909352888252909350889250879182918501908490808284376000920191909152506101ec92505050565b505050505050565b60606101f882856104a5565b9050600061020582610c84565b90506102228161021486610c8b565b61021d86610c8e565b610cc7565b61022d816001610ce4565b60001c8260068151811061023d57fe5b602002602001018181525050610251610cf9565b1561029f5761027881610262610d0a565b6102738561026e610d0f565b610d15565b610d97565b610283816001610ce4565b82518390600790811061029257fe5b6020026020010181815250505b6102b7816102ab610ebb565b6102738561026e610ec0565b6102c2816001610ce4565b60001c826008815181106102d257fe5b6020026020010181815250506102f08160016102738561015b610d15565b60006102fa610ec6565b9050805b610306610ecc565b82018110156103395761031a836001610ed1565b84828151811061032657fe5b60209081029190910101526001016102fe565b5061034383610ee6565b61035b8261034f610ecc565b6102738661026e611431565b610366826001610ce4565b60001c836101318151811061037757fe5b602002602001018181525050600061038e84611437565b519050600061039f85610127610d15565b905060015b600183038110156103f1576103c0856001836020028501610d97565b6103cb856001610ce4565b60001c868261013101815181106103de57fe5b60209081029190910101526001016103a4565b50610406846001610273886101268701610d15565b61040f8561144f565b61042d848660038151811061042057fe5b6020026020010151611597565b610470848660098151811061043e57fe5b602002602001015160018860008151811061045557fe5b60200260200101510361046989606d610d15565b6060611689565b8560098151811061047d57fe5b60200260200101818152505061049285611758565b61049b8561187c565b5050505050505050565b6060600582511161051757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642070726f6f66506172616d732e000000000000000000000000604482015290519081900360640190fd5b8160048151811061052457fe5b602002602001015160050182511461059d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c69642070726f6f66506172616d732e000000000000000000000000604482015290519081900360640190fd5b6000826001815181106105ac57fe5b602002602001015190506010811115610610576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806144896022913960400191505060405180910390fd5b600181101561066a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806143d86022913960400191505060405180910390fd5b60008360028151811061067957fe5b6020026020010151905060328111156106dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806145016022913960400191505060405180910390fd5b600154811015610738576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143fa6025913960400191505060405180910390fd5b6000548110610792576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806141836026913960400191505060405180910390fd5b6000846003815181106107a157fe5b60200260200101519050600a811115610805576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806141f2602b913960400191505060405180910390fd5b60008560048151811061081457fe5b60200260200101519050600a81111561088e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f546f6f206d616e79206672692073746570732e00000000000000000000000000604482015290519081900360640190fd5b600181116108fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f7420656e6f756768206672692073746570732e0000000000000000000000604482015290519081900360640190fd5b60608167ffffffffffffffff8111801561091657600080fd5b50604051908082528060200260200182016040528015610940578160200160208202803683370190505b50905060005b828110156109845787816005018151811061095d57fe5b602002602001015182828151811061097157fe5b6020908102919091010152600101610946565b50600061099089611888565b90975090506109a0828286612937565b60006109ae88610126610d15565b90508281528460020a8861013b815181106109c557fe5b6020026020010181815250508160020a88610141815181106109e357fe5b6020026020010181815250508660020a88600181518110610a0057fe5b6020026020010181815250508588600381518110610a1a57fe5b602002602001018181525050600089600081518110610a3557fe5b6020026020010151905060008111610a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806142916026913960400191505060405180910390fd5b6030811115610b0857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f546f6f206d616e7920717565726965732e000000000000000000000000000000604482015290519081900360640190fd5b60005487898302011015610b67576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806143576032913960400191505060405180910390fd5b8089600981518110610b7557fe5b60200260200101818152505087830189600281518110610b9157fe5b60200260200101818152505088600281518110610baa57fe5b602002602001015160020a89600081518110610bc257fe5b6020026020010181815250506000610c1b60038b600081518110610be257fe5b602002602001015160017f08000000000000110000000000000000000000000000000000000000000000010381610c1557fe5b04612b17565b9050808a600481518110610c2b57fe5b6020026020010181815250506000610c57828c600181518110610c4a57fe5b6020026020010151612b17565b9050808b61015a81518110610c6857fe5b6020026020010181815250505050505050505050505092915050565b6101600190565b90565b60008082601481518110610c9e57fe5b602002602001015190506000610cb5600083612b4b565b60209081029401939093209392505050565b602082018352610cdf610cd984612b5a565b82612b60565b505050565b600080610cf18484612b6c565b949350505050565b600080610d04612b9f565b11905090565b600390565b61015c90565b6000806105be8310610d8857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4f766572666c6f772070726f74656374696f6e206661696c6564000000000000604482015290519081900360640190fd5b50506020908102919091010190565b63010000008210610e0957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4f766572666c6f772070726f74656374696f6e206661696c65642e0000000000604482015290519081900360640190fd5b7f08000000000000110000000000000000000000000000000000000000000000017e400000000000011000000000000121000000000000000000000000000000007f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208601604087016020870286015b80871015610eb057855b868110610e9e575060408320825160010183528416610e84565b86868209885250602087019650610e7a565b505050505050505050565b60de90565b61015f90565b61023d90565b608790565b600080610cf1610ee18585612b6c565b612ba4565b610eef81612bef565b60008161015b81518110610eff57fe5b602002602001015190506000610f31836105bb81518110610f1c57fe5b602002602001015160020a6001602002612e95565b90506000610f3f8383612b17565b60048054604080517f5ed86d5c0000000000000000000000000000000000000000000000000000000081529283018490525192935073ffffffffffffffffffffffffffffffffffffffff1691635ed86d5c91602480820192602092909190829003018186803b158015610fb157600080fd5b505afa158015610fc5573d6000803e3d6000fd5b505050506040513d6020811015610fdb57600080fd5b50518451859061013d908110610fed57fe5b602090810291909101810191909152600554604080517f5ed86d5c00000000000000000000000000000000000000000000000000000000815260048101859052905173ffffffffffffffffffffffffffffffffffffffff90921692635ed86d5c92602480840193829003018186803b15801561106857600080fd5b505afa15801561107c573d6000803e3d6000fd5b505050506040513d602081101561109257600080fd5b50518451859061013e9081106110a457fe5b60200260200101818152505060006110d9856105bb815181106110c357fe5b602002602001015160020a600161080002612e95565b905060006110e78583612b17565b600654604080517f5ed86d5c00000000000000000000000000000000000000000000000000000000815260048101849052905192935073ffffffffffffffffffffffffffffffffffffffff90911691635ed86d5c91602480820192602092909190829003018186803b15801561115c57600080fd5b505afa158015611170573d6000803e3d6000fd5b505050506040513d602081101561118657600080fd5b50518651879061013f90811061119857fe5b602090810291909101810191909152600754604080517f5ed86d5c00000000000000000000000000000000000000000000000000000000815260048101859052905173ffffffffffffffffffffffffffffffffffffffff90921692635ed86d5c92602480840193829003018186803b15801561121357600080fd5b505afa158015611227573d6000803e3d6000fd5b505050506040513d602081101561123d57600080fd5b50518651879061014090811061124f57fe5b6020026020010181815250508561015c8151811061126957fe5b6020026020010151866101488151811061127f57fe5b6020026020010181815250508561015c6001018151811061129c57fe5b602002602001015186610149815181106112b257fe5b6020026020010181815250508561015c600201815181106112cf57fe5b60200260200101518661014b815181106112e557fe5b60200260200101818152505060006112fc87612f76565b9050808761014a8151811061130d57fe5b60209081029190910181019190915260035460405160009273ffffffffffffffffffffffffffffffffffffffff909216916127c0916130a09181838e8601877ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa61137c573d6000803e3d6000fd5b805194505060006113c98c608561023d018151811061139757fe5b60200260200101516113c48d8f608561023d01600101815181106113b757fe5b60200260200101516131b9565b6131e6565b9050808514611423576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806141cb6027913960400191505060405180910390fd5b505050505050505050505050565b6102f490565b6060600061144783610126610d15565b519392505050565b6000600a905060008261013b8151811061146557fe5b60200260200101519050600080600090507f08000000000000110000000000000000000000000000000000000000000000006020850260208701018051935060208502808501855b818110156114c6578051851095909517946020016114ad565b50602083810180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe089019081529390910190922090915260006040830152905250801561157557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e76616c6964206669656c6420656c656d656e742e00000000000000000000604482015290519081900360640190fd5b818561013c8151811061158457fe5b6020026020010181815250505050505050565b806115a157611685565b60007f0123456789abcded00000000000000000000000000000000000000000000000060005260208301518060085282602853602960002060005283518051602052602860002092508160005260286000206020860152600060408601526008810185525050600082610100036001901b905080821061168257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f50726f6f66206f6620776f726b20636865636b206661696c65642e0000000000604482015290519081900360640190fd5b50505b5050565b6000808084815b8881101561173e57826116b6576116ae6116a98b612b5a565b613213565b935061010092505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc09092019183831c88168260005b8982111561170a5750878103518083106116fd5761170a565b80825288820391506116e4565b80831461171d5782825293880193611733565b5b8482101561173357818901805190925261171e565b505050600101611690565b50848682038161174a57fe5b049998505050505050505050565b61176181613249565b61179e8161176d61344a565b61177561344f565b6117818561037b610d15565b8560068151811061178e57fe5b602002602001015160001b613454565b6117a6610cf9565b156117e4576117e4816117b761344a565b6117bf612b9f565b6117d4856117cb61344f565b61037b01610d15565b8560066001018151811061178e57fe5b611811816117f06135b0565b6117f86135b0565b6118048561055b610d15565b8560088151811061178e57fe5b60025473ffffffffffffffffffffffffffffffffffffffff16600061183783606d610d15565b8351909150611200908190839060010160200286867ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa611682573d6000803e3d6000fd5b611885816135b5565b50565b606060006015835110156118fd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f7075626c6963496e70757420697320746f6f2073686f72742e00000000000000604482015290519081900360640190fd5b604080516105be80825261b7e08201909252906020820161b7c08036833701905050915062010000826101428151811061193357fe5b602002602001018181525050618000826101438151811061195057fe5b60200260200101818152505060008360008151811061196b57fe5b60200260200101519050603281106119e457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4e756d626572206f6620737465707320697320746f6f206c617267652e000000604482015290519081900360640190fd5b80836105bb815181106119f357fe5b60200260200101818152505060048101915083600181518110611a1257fe5b60200260200101518361014d81518110611a2857fe5b60200260200101818152505083600281518110611a4157fe5b60200260200101518361014e81518110611a5757fe5b6020026020010181815250508261014e81518110611a7157fe5b60200260200101518361014d81518110611a8757fe5b60200260200101511115611afc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f72635f6d696e206d757374206265203c3d2072635f6d61780000000000000000604482015290519081900360640190fd5b8261014281518110611b0a57fe5b60200260200101518361014e81518110611b2057fe5b602002602001015110611b9457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f72635f6d6178206f7574206f662072616e676500000000000000000000000000604482015290519081900360640190fd5b6870657270657475616c84600381518110611bab57fe5b602002602001015114611c1f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4c61796f757420636f6465206d69736d617463682e0000000000000000000000604482015290519081900360640190fd5b83600481518110611c2c57fe5b60200260200101518361014581518110611c4257fe5b60200260200101818152505083600581518110611c5b57fe5b60200260200101518361014781518110611c7157fe5b60200260200101818152505060018361014581518110611c8d57fe5b602002602001015114611d0157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e76616c696420696e697469616c2070630000000000000000000000000000604482015290519081900360640190fd5b60016002018361014781518110611d1457fe5b602002602001015114611d8857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c69642066696e616c20706300000000000000000000000000000000604482015290519081900360640190fd5b83600681518110611d9557fe5b60200260200101518361014481518110611dab57fe5b60200260200101818152505083600781518110611dc457fe5b60200260200101518361014681518110611dda57fe5b602002602001018181525050600084600881518110611df557fe5b60200260200101519050600085600981518110611e0e57fe5b6020026020010151905080821115611e71576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806142416025913960400191505060405180910390fd5b680100000000000000008110611ee857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f7574206f662072616e6765206f75747075742073746f705f7074722e000000604482015290519081900360640190fd5b505083601081518110611ef757fe5b60200260200101518361015881518110611f0d57fe5b60200260200101818152505083601181518110611f2657fe5b60200260200101518361015981518110611f3c57fe5b6020026020010181815250508261015981518110611f5657fe5b60200260200101518361015881518110611f6c57fe5b60200260200101511115611fcb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806143ae602a913960400191505060405180910390fd5b680100000000000000008361015981518110611fe357fe5b602002602001015110612041576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806141a96022913960400191505060405180910390fd5b6002836101588151811061205157fe5b6020026020010151846101598151811061206757fe5b6020026020010151038161207757fe5b06156120ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806144576032913960400191505060405180910390fd5b83600a815181106120db57fe5b602002602001015183610151815181106120f157fe5b60200260200101818152505068010000000000000000836101518151811061211557fe5b602002602001015110612173576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806142b76021913960400191505060405180910390fd5b600084600b8151811061218257fe5b6020026020010151905060006121b1856105bb8151811061219f57fe5b602002602001015160020a6020612e95565b60030285610151815181106121c257fe5b60200260200101510190508185610151815181106121dc57fe5b6020026020010151111580156121f25750808211155b61225d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f496e76616c696420706564657273656e2073746f705f70747200000000000000604482015290519081900360640190fd5b85600c8151811061226a57fe5b6020026020010151856101528151811061228057fe5b6020026020010181815250506801000000000000000085610152815181106122a457fe5b602002602001015110612302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806144ab6024913960400191505060405180910390fd5b600086600d8151811061231157fe5b602002602001015190506000612340876105bb8151811061232e57fe5b602002602001015160020a6010612e95565b876101528151811061234e57fe5b602002602001015101905081876101528151811061236857fe5b60200260200101511115801561237e5750808211155b6123e957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f496e76616c69642072616e67655f636865636b2073746f705f70747200000000604482015290519081900360640190fd5b87600e815181106123f657fe5b6020026020010151876101578151811061240c57fe5b60200260200101818152505068010000000000000000876101578151811061243057fe5b6020026020010151106124a457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4f7574206f662072616e676520656364736120626567696e5f616464722e0000604482015290519081900360640190fd5b600088600f815181106124b357fe5b6020026020010151905060006124e3896105bb815181106124d057fe5b602002602001015160020a610800612e95565b60020289610157815181106124f457fe5b602002602001015101905081896101578151811061250e57fe5b6020026020010151111580156125245750808211155b61258f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f496e76616c69642065636473612073746f705f70747200000000000000000000604482015290519081900360640190fd5b60018a60148151811061259e57fe5b6020026020010151101580156125ca5750620186a08a6014815181106125c057fe5b6020026020010151105b61263557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c6964206e756d626572206f66206d656d6f72792070616765732e00604482015290519081900360640190fd5b8960148151811061264257fe5b6020026020010151896105bd8151811061265857fe5b60209081029190910101526000805b8a6105bd8151811061267557fe5b602002602001015181101561270d5760008c61269083613aaf565b8151811061269a57fe5b6020026020010151905063400000008110612700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180614266602b913960400191505060405180910390fd5b9190910190600101612667565b50808a6105bc8151811061271d57fe5b60200260200101818152505050600061274a8a6105bd8151811061273d57fe5b6020026020010151613ab8565b90508a5181146127bb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f5075626c696320696e707574206c656e677468206d69736d617463682e000000604482015290519081900360640190fd5b60208b0160c08b015289516005907f049ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804908c9061014f9081106127f957fe5b6020026020010181815250507f03ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a8b6101508151811061283457fe5b60200260200101818152505060018b61014c8151811061285057fe5b60200260200101818152505060018b6101538151811061286c57fe5b6020026020010181815250507f06f21413efbe40de150e596d72f7a8c5609ad26c15c915c1f4cdfcb99cee9e898b610156815181106128a757fe5b6020026020010181815250507f049ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca68048b610154815181106128e257fe5b6020026020010181815250507f03ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a8b6101558151811061291d57fe5b602002602001018181525050505050505050505050915091565b8260008151811061294457fe5b60200260200101516000146129a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806143896025913960400191505060405180910390fd5b8251819060015b81811015612ab75760008682815181106129c157fe5b6020026020010151905060008111612a3a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f6e6c79207468652066697273742066726920737465702063616e2062652030604482015290519081900360640190fd5b6004811115612aaa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d617820737570706f7274656420667269207374657020697320342e00000000604482015290519081900360640190fd5b92909201916001016129ab565b50838214612b10576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806143046024913960400191505060405180910390fd5b5050505050565b6000612b4483837f0800000000000011000000000000000000000000000000000000000000000001613ac1565b9392505050565b60038102820160140192915050565b60200190565b61168582826000613afc565b81518051602082018452600091908315610cf1576020850160208101828152604082208252600081525050949350505050565b600190565b60007f08000000000000110000000000000000000000000000000000000000000000017e40000000000001100000000000012100000000000000000000000000000000830992915050565b6000816105bd81518110612bff57fe5b6020026020010151905060008090505b81811015610cdf576000612c2282613b07565b60200284600581518110612c3257fe5b6020026020010151019050600080612c4a8486612b4b565b60200286600581518110612c5a57fe5b6020026020010151019050600080612c7186613aaf565b60200288600581518110612c8157fe5b6020908102919091010151018051845187519650935090915060008715612cce576000612cad89613b10565b6020028b600581518110612cbd57fe5b602002602001015101905080519150505b60008815612cdd576001612ce0565b60005b7f0800000000000011000000000000000000000000000000000000000000000001848d61015c81518110612d1057fe5b60200260200101518e61015c60010181518110612d2957fe5b6020026020010151898c886040516020018089815260200188815260200187815260200186815260200185815260200184815260200183815260200182815260200198505050505050505050604051602081830303815290604052805190602001209050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a938567826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612e0057600080fd5b505afa158015612e14573d6000803e3d6000fd5b505050506040513d6020811015612e2a57600080fd5b5051612e81576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602481526020018061421d6024913960400191505060405180910390fd5b505060019096019550612c0f945050505050565b6000808211612f0557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f5468652064656e6f6d696e61746f72206d757374206e6f74206265207a65726f604482015290519081900360640190fd5b818381612f0e57fe5b0615612f65576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806145236032913960400191505060405180910390fd5b818381612f6e57fe5b049392505050565b600080826105bc81518110612f8757fe5b6020026020010151905060008361014881518110612fa157fe5b6020026020010151905060008461014981518110612fbb57fe5b602002602001015190506000612fe78661014181518110612fd857fe5b60200260200101516008612e95565b90506301000000841061305b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4f766572666c6f772070726f74656374696f6e206661696c65642e0000000000604482015290519081900360640190fd5b808411156130b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f815260200180614328602f913960400191505060405180910390fd5b6000866105bd815181106130c457fe5b6020026020010151905060006130db600083612b4b565b602002886005815181106130eb57fe5b6020026020010151019050600061312382847f0800000000000011000000000000000000000000000000000000000000000001613b76565b905060008960058151811061313457fe5b602090810291909101015161024081015161026082015191925090600061315f836113c4848c6131b9565b905060006131786131708c84613ba0565b8d8b03612b17565b905061318486826131b9565b955060006131928c8b612b17565b90506131a6816131a189613bef565b6131b9565b9f9e505050505050505050505050505050565b60007f08000000000000110000000000000000000000000000000000000000000000018284099392505050565b60007f08000000000000110000000000000000000000000000000000000000000000018284089392505050565b600080600061322184613c42565b90925090506132308282613c4e565b94509092509050613242848383613afc565b5050919050565b60008160098151811061325857fe5b60200260200101519050600061326f83606d610d15565b90506060820281016000613285856102c4610d15565b905060008560028151811061329657fe5b602002602001015190506000866000815181106132af57fe5b602002602001015190506000876004815181106132c857fe5b602002602001015190506133f1565b600081905067aaaaaaaaaaaaaaaa811660046755555555555555558316021790506801999999999999999881166010676666666666666666831602179050680787878787878787808116610100677878787878787878831602179050687f807f807f807f8000811662010000677f807f807f807f80831602179050697fff80007fff800000008116640100000000677fff80007fff80008316021790506b7fffffff8000000000000000811668010000000000000000677fffffff8000000083160217905082607f0360020a8104905092915050565b600060405160208152602080820152602060408201528260608201528360808201528460a082015260208160c08360055afa6133e857600080fd5b51949350505050565b7f08000000000000110000000000000000000000000000000000000000000000015b85871015610eb057865183810188526134368261343087846132d7565b856133ad565b865250602085019450606087019650613413565b600a90565b600990565b61345c6135b0565b61346461344a565b018311156134d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f546f6f206d616e7920636f6c756d6e732e000000000000000000000000000000604482015290519081900360640190fd5b6000856009815181106134e257fe5b6020026020010151905060006134f987600a610d15565b9050600061350888606d610d15565b9050606083028101600061351d8a600d610d15565b905060208802600061352d613c81565b865190915060208b8d030290845b868810156135915783858320166020861415613555575081515b8851825260208201526040018185015b808310156135805782518d5260209c8d019c90920191613565565b50828c019b5060608801975061353b565b5087526135a087858b8b613ca5565b5050505050505050505050505050565b600290565b60006135c082610c84565b90506000826009815181106135d157fe5b6020026020010151905060008090505b818110156136575761362f8482600302606d016001018151811061360157fe5b60200260200101517f07fffffffffffdf0ffffffffffffffffffffffffffffffffffffffffffffffe16131b9565b8482600302606d016001018151811061364457fe5b60209081029190910101526001016135e1565b50600061366584606d610d15565b6060838102822091925061367886611437565b80519091507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101906001906000908490839081106136b357fe5b602002602001015190506136c5614164565b838310156138d15760006136da8a6001612b6c565b60001c90508a8461012701815181106136ef57fe5b60200260200101518260006005811061370457fe5b6020020152855186908590811061371757fe5b60200260200101518260016005811061372c57fe5b602002015260408201879052606082018190528a518b90610130860190811061375157fe5b60200260200101518260046005811061376657fe5b60209081029190910191909152600a5460405173ffffffffffffffffffffffffffffffffffffffff90911691636a93856791859101808260a080838360005b838110156137bd5781810151838201526020016137a5565b50505050905001915050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561381157600080fd5b505afa158015613825573d6000803e3d6000fd5b505050506040513d602081101561383b57600080fd5b50516138a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f494e56414c4944415445445f4652495f53544154454d454e5400000000000000604482015290519081900360640190fd5b80965083806001019450508584815181106138bf57fe5b602002602001015183019250506136c5565b898361012701815181106138e157fe5b6020026020010151816000600581106138f657fe5b6020020152845185908490811061390957fe5b60200260200101518160016005811061391e57fe5b6020020152604081018690526139358a8984613cbc565b606082015289518a90610130850190811061394c57fe5b60200260200101518160046005811061396157fe5b60209081029190910191909152600a5460405173ffffffffffffffffffffffffffffffffffffffff90911691636a93856791849101808260a080838360005b838110156139b85781810151838201526020016139a0565b50505050905001915050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613a0c57600080fd5b505afa158015613a20573d6000803e3d6000fd5b505050506040513d6020811015613a3657600080fd5b5051613aa357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f494e56414c4944415445445f4652495f53544154454d454e5400000000000000604482015290519081900360640190fd5b50505050505050505050565b60030260150190565b60040260140190565b600060405160208152602080820152602060408201528460608201528360808201528260a082015260208160c08360055afa6133e857600080fd5b908252602090910152565b60030260160190565b60006001821015613b6c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806144cf6032913960400191505060405180910390fd5b5060030260140190565b6001602083028401845b81811015613b975783815184099250602001613b80565b50509392505050565b60007f0800000000000011000000000000000000000000000000000000000000000001827f08000000000000110000000000000000000000000000000000000000000000010384089392505050565b6000613c3c827f0800000000000010ffffffffffffffffffffffffffffffffffffffffffffffff7f0800000000000011000000000000000000000000000000000000000000000001613ac1565b92915050565b80516020820151915091565b60408051602080820185905281830184905282518083038401815260609092019092528051910120919260019091019190565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090565b6000613cb385858585613e3a565b95945050505050565b6000808461013b81518110613ccd57fe5b602002602001015190506000600186600181518110613ce857fe5b602002602001015183020390506000846001901b90506000809050600080905060008961013c81518110613d1857fe5b6020026020010151905060008090505b89811015613e15576000898c83600302606d0181518110613d4557fe5b6020026020010151901c905083811415613d5f5750613e0d565b808c86600302606d0181518110613d7257fe5b6020026020010181815250508093506000613da98d84600302606d0160020181518110613d9b57fe5b602002602001015188612b17565b9050808d87600302606d0160020181518110613dc157fe5b602002602001018181525050613dd78189612b17565b9050613de484828b613ff6565b8d87600302606d0160010181518110613df957fe5b602090810291909101015250506001909301925b600101613d28565b506000613e238b606d610d15565b6060949094029093209a9950505050505050505050565b6000806080831115613ead57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f544f4f5f4d414e595f4d45524b4c455f51554552494553000000000000000000604482015290519081900360640190fd5b604051806040850287015b80881015613ed3578751825260209788019790910190613eb8565b508581526020808201604081815284840383019094206009547f6a9385670000000000000000000000000000000000000000000000000000000090925260248401819052935193945073ffffffffffffffffffffffffffffffffffffffff1692636a938567926044808201939291829003018186803b158015613f5557600080fd5b505afa158015613f69573d6000803e3d6000fd5b505050506040513d6020811015613f7f57600080fd5b5051613fec57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f494e56414c4944415445445f4d45524b4c455f53544154454d454e5400000000604482015290519081900360640190fd5b5091949350505050565b6000807f08000000000000110000000000000000000000000000000000000000000000016008840615614074576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603881526020018061441f6038913960400191505060405180910390fd5b61100084106140ce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806142d8602c913960400191505060405180910390fd5b6020840286015b8681111561414f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000181868181818181818a0960e0880151010960c0860151010960a08401510109608082015101925081868388858a878c8a0960608801510109604086015101096020840151010981510192506140d5565b5080828161415957fe5b069695505050505050565b6040518060a00160405280600590602082028036833750919291505056fe50726f6f6673206d6179206e6f7420626520707572656c79206261736564206f6e20506f572e4f7574206f662072616e676520636865636b706f696e74732073746f705f7074722e636c61696d6564436f6d706f736974696f6e20646f6573206e6f74206d617463682074726163656c6f674672694c6173744c61796572446567426f756e64206d757374206265206174206d6f73742031302e4d656d6f72792070616765206661637420776173206e6f7420726567697374657265642e6f757470757420626567696e5f61646472206d757374206265203c3d2073746f705f707472546f6f206d616e79207075626c6963206d656d6f727920656e747269657320696e206f6e6520706167652e4e756d626572206f662071756572696573206d757374206265206174206c65617374206f6e654f7574206f662072616e676520706564657273656e20626567696e5f616464722e4e6f206d6f7265207468616e203430393620636f656666696369656e74732061726520737570706f7274656446726920706172616d7320646f206e6f74206d61746368207472616365206c656e6774684e756d626572206f662076616c756573206f66207075626c6963206d656d6f727920697320746f6f206c617267652e50726f6f6620706172616d7320646f206e6f74207361746973667920736563757269747920726571756972656d656e74732e4f6e6c792065746130203d3d20302069732063757272656e746c7920737570706f72746564636865636b706f696e747320626567696e5f61646472206d757374206265203c3d2073746f705f7074726c6f67426c6f777570466163746f72206d757374206265206174206c6561737420316d696e696d756d2070726f6f664f66576f726b42697473206e6f74207361746973666965644e756d626572206f6620706f6c796e6f6d69616c20636f656666696369656e7473206d75737420626520646976697369626c652062792038436865636b706f696e74732073686f756c64206f636375707920616e206576656e206e756d626572206f662063656c6c732e6c6f67426c6f777570466163746f72206d757374206265206174206d6f73742031364f7574206f662072616e67652072616e67655f636865636b20626567696e5f616464722e41646472657373206f6620706167652030206973206e6f742070617274206f6620746865207075626c696320696e7075742e70726f6f664f66576f726b42697473206d757374206265206174206d6f7374203530546865206e756d657261746f72206973206e6f7420646976697369626c65206279207468652064656e6f6d696e61746f722ea2646970667358221220be0d6a00cc81eca723afba5760a7a96a3acedd6e8963e7a3579321342bdb1deb64736f6c634300060b00330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00540fed12bd8b1b11c629001c436b90bcd99f4fec920058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041500058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05485c0fc13f92020851c4710cc6a00c5c0877726c200582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0540d62bac5c346c78dc1b27107cabc5f4de057a83000582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0549bcf13c6b68450b427bfa86698d61901a8a3456d0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054d14fd39630ec941c3ba6c791e3af9e0027013a1500582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b54f8b8d5193ce4e9edc734b3638b3dbcc5b7d1ab93005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a854f6b83ccadeee478fc372af6ca7069b14fbc5e1b102184400582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee354efbcce4659db72ec6897f46783303708cf9acef80058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5452c4bb16fba75f6ebd672568267bc334255fb3c50218480219955505581d0246e0779a00213f31d18110fd769beb0c3acbf2717b6a02bb6a405624070119458a05581d02785975af0f0409293db21344ae63fa5401873238c00b730f5ac995d20c0547343f160a1561f00219180003b032afa6a2d8b916506c5379774bfe6661c61a026e98c3570fb367e8d7e1040505581e03d9cb03f12496230b6b573d786cc6e80ddb0d4e25241b9baa29b9467d00040105581e03605a0e61fb250a1061414fc2c50b7987b0f9887ff63dd9547042e1d2900c074801ef5ff52fbb5fb105581e034de941d1c33b4a28456bb7dfd41adde488bd4381b6d9ee707d5d9e31f0040205581e035d5ade79f30be5eb99f7419426b63b970007fef218db8f23f919b51410040205581e030991d53e92b759ebd07a8f3e88ef366ee955f0921279464925489b34300c014721f0fae419cec005581e03762c1f32042a447da5f677b720d55634bab710b3613f04c8f1668a43a004010219e7b7035b4607f661274e3075a1f712e6ecd7a30f38f953e7e229ae0255169428ab08e803a10ad5a3ac002a6c872b81f5840dccb2fc39bbeef7c72ada5aaaf93f0a833f9703346cf182172a0971f4ca984975bfdc8f1b47ae8f4ebb50eab8e254fec4b84fd8032dd6cd19cec9efd8d71ac5e60db1f78e3e2eef6094e02d9c1690bc7380835ca50366322aa0053a0a403fef400e3e5518d4190afbe1b5b802ffbab2916397655bb10395cd4eebc1a25741df5fc72507491fd8153776ec63abc3c9512ea05aaed60a2b0219ffff0219ffff035d6ffa0ac5bcd0b9fccbac5519ff4c75d99abc331d85dd1deca288be52f0a7ab03b4c5f023b1de64af5cb95437f845150c77310657b293c34de1c18f0249eb72a50219ffff03c11b614b47c3f5723e870baf253a7c02e4af93c1030627d96fdac0bc3ca539500345feff43987da0d9912ea0f4a05db94fc041d714c466e9daba6577bfec4c4d2103b0f46345937d3eeb13c67bbe4afd5af34fcfe72a52c064bd2cf04d7d8b936e83038b5b0ef4aac6b7561ac6b06b5cfd997f9544dcdf076b3abc673c8cd02434822a03f2d10e4812a7800be82965afeb0b014bf869224025789f44c20b531a7567976a0306679599a461632fd36237c91230777de8e8d2594b3af87ee9d289e984945aa803c0f9157f8ba2ad38c0606831545065e32553ec0aa4b39b70dbf9329c77b030cb030abbe2fef592af012207773ab3473fd47f2f59c1f9dd3488c2cb24d1d3668dca0219ffff036a4b02dd0cc33c0c7f39db0beb8ba9cfbbb1ab483cb4e164dd00d4e05c0452750365880811e922f448c00824bd4d91cdcf1d5c98aca95ea1c6138df6116c727125039cbead65634bc192ef17a87a646ad409b99965ee6ead1d7412ba796fa1455489035a363c73a6778cca1cc87499ddff9ab7f3389c673af81a8448a0f144d805e86103d9d8e971a798bfc9d4e59cb55927ed1bf78080cab2d069a2b17a5641dd3b8e59031d246d2762382f3a78449b4fff6095af8ca2beeeecb76988c96f5e49bc086538033a05dad8fd214a99d35aa24bbf008097b46049ec366aea89746185b7056adaf1033de562c89e82081c187c348fedb16b354e6aa6b680094155d33325bababd8eb5033cd6353d82786fb69eaee8891716b381c58a3c5f4b747944f4c7c1f258bc84be0321520b5d268b337600712e8edb651cad62cd3e2ef4ffaf5845ca752dd410a0680356366db856051ecd8219aac0b8332e817b4a9aa5314cfff429ee0a6c8680f2080347528ff15f911c266837ee5b93f9e5b97dba42ee811bef18ddd8f62e96dbce3b03ebd0c33ff2300043be5d5ae4998448fcc6ca7ff58d736e5cda8ec8993ef92e5103f93cc2c5487cbc91d81ab66cdc1cd619cf014da9c9b7265d1dc94dac0a9104da03184bc6281c1b06ae01c1e1404bc3e00880059861f6d7489d885d369383a65766038ccc8d2415afed8428026f9f3650960076454b03ac97d46f427e4c265f5628fb03d816620a41c7ddcd481b6a8d740fdd29c7ebc159c6392d84d7bfc44a0b4a7732031eeda9372dd776726ed3aba9db10be8fc853664b5cf4c00286a94d3e40bd8aaa038e7e97117d111231dbc1b5799d8776e958564462cc63047dc9b163760ac0c4d803bcd5aa495467173fe97b00243d7f337e2a58ce646120552d833d169a16dd157e031a5bf72dabe193e8e55dcd4c96b06216f231cb4e8c2fc592b5ee717742a74fd7036429ce7a81c856c3b4ef0c08b8345d03a2dd51ed8002a7e5eafe8112a46fb783031c0f22e62d12960f99dd32be4a38bb5c4a1433b47a82c43e0e46e22be567e07003334f7017ad4814ffe63244ee9e462f988cd4018b3333eabe20fbc6df1f14835403056dc743304767d30d05e8e2414d0eaf4216ed8320d7d9ca5d64e39ee0bda8fe0375dc34565d1b86c1113fd6e7194d3779af928e135afabba2fc303f41223be6e30378de4b3ec0426cb0bfdc11ba55fdd781f160717042be5b5a0f51e2622d0c621b0369cdeb8bfd026eaf570abded086f35f630098510b1f1a7284fd51c5374c4d2eb05581e03bc0f51ce70b65e7aea621b918f7243c32533a1bc6adfd5e30f140679900c0147628eae69196d2005581d0202cc739228c4a55765944ab76b2081a6863caa4de3afdf70cf6ec7210c024502540be41205581d02d0d65f9cfa03f9d4825ebd7eb44183377d272c6d3c46dc023a2975230c084799f50fed2808530219040805581e03c56b8eca75815c96ce0653d2589f0d470d52be573392c3ea9a273dd7500c034706da052d2c1bdf032a11768476f83102cdb93f65d65bbf50bc93b2cf11f5a698f5dffd09c83e563303f3745dfe5213f92e050d4adedcdfd42abc93dc0e4e2db7c35265c4ac5de46bff05581e03c9649be70e410952d016e064ff7536da29adc8b96c9d7f19abf4a330800c0f4742caf44288dc4c05581e034889bbd1274bccc31dece0a0dbaff1f5a23ea25f4cd2c9f5047c32b9000c034708680e3283940003f2f1866c2e1e23737dd1f73a91a738831a95c620fe6906d17bfde92ff800c12003f695b74f5cba379e8204ccf7cddf163a78a6c495eed43fd3f23bfd73179b150e03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03a27f4ddb42bbcfebf6fd4b512ec25020e86eed0db3ea57227f19c9bfe007011bffffffffffffffff05581e03316af9f057ba78f3e89766531e827e1059ea53275557a1fd073743ec60040405581e03f9dce0f3fa907845fd5402a2e3814847c9d6c09ae29b4058d03cc94f800c01478a53d94b35f20102196feb03702d8977e57da731e42f27c55c574966d31288cd716d48e0445a5d73be66eba503a3edf113ee60d7aa60c2e2ec0058d42f0f0e9456a85c8d627a83156defac6653031204a9b1d6e40153c7826eb6d9e3fc9d9dd99ab17cd68578c16ad27ad730a48a0392dfec1996307101b8c21a185ef4640578fd7db15ce6fdb8b31347007a00f0e5034223606bc71928f906bcd519eaab12f5f998abeae6e02b2029038c4a5b95a67c0345c2b45a8695d87c9de8a815e404aaa8af408de2dbc5662539e478e04be8e7290398d1e12ccc469e7bc2ee053c82e79d72b18daca9facda946ed52ccf67bad518d03c006acda8a006d7a87a31090049f3fc27c18eaf862bb32b7e66b446f86aadf0e031a24b22a40c6e85dd0043538a9cc798feff40aefb404ab0677bd50abf470fb920322dacf9616e5484bdc655085889f155cd1359b552177cf280c60c1d07e443fda03f5c25170a8afc7a68eac23af2f3a51cb5df66bf31dadd3996e1eb322e2ccb2ed037549df39ba22cc4fff4d7778cef3a4f07a1c4e95c3c3d04814c69004577643d5032d61faebb59ab7f3dd3b2ec1529bfce439820e2c28b6338ebc84f0a1f1b9c6da036e091e455cf13c0b15b2ba4bf47c46df91bdf5fa9021483733ce86119765e7b80219ffff0219ffff036e13c87be6cf4f5b8ec168d8dd06be6ce1a166e2ebf5e644f1c8b36591a82e0303b114de6cfa381f6d3f37b590af13f4c948cf835c20d11bfe77b4266f4263d7930364b1c327c208a455193579871e4f716858565cc09590b05a52b75b38c8cf4e2003d65a9bd31f962c500abcefcedf5a6c0c45e9d7f241958497ec1d3df1569a796003faca85c9ac6acbe126bac6438a89570ded6a2bcddc855ed9a9d0a343f7517a060320f9aeccbb20e25d5086cd266e77f415149444bfb4f762da105133ca3f49bac8037171a10f755aa58be548c733d4f617b9c5563d829cec367e845dc1bce371763b033cfd52431d854a89042daa2ec7dfd0d49e5074dbb7a955ec347fe5a40fc6d02405581e035c8860d75e9b0cf4ff398ba37f181d6fd31e44613b126fcf668d985ef00c0147019488f95745a005581e033afe5774ffbd99b1d523766bb1cc448023a50c7d9dbc559685ebbe6510040105581e0309c76f15c4318b924791d2ddca86b33d5c1e6626af5339d67c0d9f98800c0446493362dd44e005581e037572a6f9debce449849f8ce1681a9ec81dd33f3a1b2c095ac0c76fa290040205581e039bd5b85354a3bde8ff5bba300d927f966e50aa57981207d2c1010053d00c0347851fdf02f3136b030fc52c3bd2c8a757e570c2e4506ed6b312dfd639313d44e828feb8fb6652661d03f905763bcb2fba6c3dcc284bae5321d564638af9f443ec95533e32cce0d4703005581e03d258055df9efefd86e0542f38262d713b3a7e0da16ee317ced56d93df007011bffffffffffffffff05581e03e305f73992949e31f166aaec09eeeb7c5d7152e2a458084b93b2514c2004140219831e03aeaede3ea37a42a79040988f47b22f0b97a9e58f9eea4f9811ff42d1fee87e7d0325804e25d76228ae564839e0b41ef80bed183adcd7a415d920a91528f7da31d903462f9728dc0fcaf2540b2bfcc6f5fb6df0082d1abb3496c6fd87d16a7c5e92b3032688cb773b3adc9b04ba2ff3ac9a7544515eb79e8a790cc88daf84d78455e62303279652284f6aa3ac89a6b24152f2fb96ec5d277a378ff05829d1d42b9e5270bc0315a1a4c20818da614487ea48c25ecd0bb7a76c51e10ddb8e6571c9c8960b9f6c030f55030307791eb5f1a4f17fb64db393a1dfbadbe2a98f803190bfc2716847ff032daa2e069730b18c7836b2c754046dd3b20104065fff42055e99e98291a5cfc803caf784ac60ba5632475b80ec9741505331db5df0488133529d8ca3a64fe7adbf03dd98c73216acde99e085fccd7812c4025da002d80c8c665f91986f1eaac76c920384241aac0b4d8d04b0fa9b562af0691b524208999059af36fe57524d78d2219603196b05eef494d6297a4a7d4b027f5744583f236e638d802ec5b153b7fd2ef8fc03f3dda48c94355edb9c637e337cd6f963f624e1ca5bc35b8c80a7b2d1aa7db8fc0219ffff03303fa60b1a27e58133c5d2250d94710d03885b20b3f30b5b2716f61b4d291c150384b492278c8da4347ecf1382cf87610608b81e933aa610f544d7d3114c93fbb1031813b2ab30f1cf10b8034a25f585739dc0f8dc9fbab11dd7a26c7d8f812440fa030697f95fd9b37683de03015d92b9e0efd3d52eed21c9110ed241717342555f6f03488dabe6e7494963f0eb7ed87d493aa115c3c4a149f714fd74e88decb904e62c037cad5e78764acebcdd10608695ccbc083136fbfcddb10337e778568fa5eb69390385df50e87bb316bf3703a00669006dee75fd0ff503b4ef833bb1c4202379b0d003e28046d3fb62aa0e838e8220550c869c82d349fe63e024ac6ed5e7cc06a71a8b0332f2a05444aabbd65955a023db664e5cff37aa251f4b51a24442f32b6991c61b030a2b81bb110a8d9de703c24f4bc25507d3ab2607809aa90f9afd13587db6524d036f156bb084a58a54f92c79ac14a6edb041c8731d68867ba4ceab03ed86e8ae810219ffff03778b6c79860285adfed62b5f024697389c917008cebf5ae9cf1041cea83ca6550219ffff03a7564dc0021ba86f49de75af19b7f9d029b8dfc09fca2297f0a0f27751d09c44034ad6e0105d36a2c7c4313d0660650dd337203e4dbe79787f503a8d7d10ee4f3a03a49f75d235e2f6dea5121fea852b7b661e2e45a19337fc047ea240a1fd4b7810037f3724a439e856a714741af32fde16045d72ae69fa4c5140ce67e9cb49af5adf0315ecfe94f72623e5ffe98f694a9bf7595de6336c34dcb7a524c80e0a170844c8037633764b871ed9804d85247395ce7787ec456d45f763760a1a31e311766044c6039cadd7e67d34e21c9bc0cb96cff6b480d572c18bf73da04d6e75b0bbb863f01503f52b4032fdb5f03e12ffc964a16af992a57ca556bcd61ba0f99e1a454a334fe903f787a3d76aa1d94b7d45fb0fe4c25f758884277d880c1a3f191921bb86e50a5a0384bf6fdf3c16a007791d1e4ab56b7af168342f57398bc7fbcf2d168a5895bb3e03ed489726dc0297473da2c3e5efa2d3a3c53c8b152de78e1d004ede19e1d8134503e73bbf3ce5fa0c72d7a959e5581c6a0bf1e5aad01032ab48d4f2df1624f0fe60036ab189f4d49ae720445b1c9d3d0ed5457c61f0bedae8710bb5ca97083694a49e033e52e1054bc467e422de09e5226dce6d1325ff37dae2f2b502ed983b5449dff90344a1dc36c35c526408f12bac397673a32868b9d07044ff1af953462e7c94179003a5f3408e831fb60fd1cf3394c9bf30c5cb4d25b02738892aa11cc40d8714ffee036306d39b9a6ef39ab6bddf590dd891de48fd4bf517406470c34a0c011f6122170369f02403c59d3a3d2a00ca5888887206dd989e87720f745868399b0f25dc5682032ce9fcf7d14e697623c9e183e3810503fd5466a8c2ecbed50717d31995f82ac00395df5c4254f150becaac065d894d53ee5c6a19752831718ace7c26693a93884903c5eaf770a2df36e942cceac3ce8bbdd9db8206cc42f04c9effdefab27c09027003ca8716ebec6ec874ad2a1d7a5947bfdde456d68bc17a9ded8f663ba2866846b403f9625d0ab96f1108671204e164eb3ba92094323aab944a19910c018cc440066405581e036217a9e7204c0b48d2abf912fd4cc7dcfdd4d1c9b93627d9da739e9830084801bb05fd437dc00005581e039de7fd9caec2dae552aae87b23af0759bc132492859e224a977f4d6ce0040203d2ca7fb94a6c1969318e98c6c9b57d96f2ab57dc13f56a40ea9ebedfefe698d403078f4c0562747d90a96ce8316a67dd4b329314df28604b23112e3bddefeb606205581d027554ab0fe05efbdf1235e5937666f1289e80a2c9b1931496d588336407011bffffffffffffffff05581d024b6e70d1e4288b5bd785e10f856eb48d3f5b34108879a6ae8b8dc9060c19018c48056c4541b37fede50219014005581e033235c4280f6f955cb7fc55f04e45228ef84fc375b2dbf40a41d1d9e5b004183a05581e03dbce35c13d6e717c0e44997d0668a12e94937ee7feeb8e1ceaefe94e500c01421068033b7e66f64ea50135a906e1de72598d665afb3b15653d6f956797d02ba17653220301d8b87ea756dc0f2d7d2aa7e237902eab821d2cd1aa7352f6055430985e1d5805581e031be9eb3ef92e146570064c7b4be82f104b47563377d81840d3affad0100c03470e85cf94f2f77d05581e033d8e9136d9ba1d8d92b8223db488a7088d6c8349f029db5ec234c7e8400c02470387f0330bdc0003843efe30ae794ac0b76952eed9c248f05ba80cf47baf61b3ce3c18f00e304ead05581e03c1ace7533cf675ecc3920f76df0ef6eb4793ca05610d910c73020548d00c044691f7b74ecf280219ff7a038d19b9b53e4c5e80059fd61241d4f59fee7297926e08a0c6a0bdd91289e8c1850385ba66e5f5f6d6b9694871d1fd8d5e7360d1852f2d033104295e08b53f7bc11903faa37b07b6594e5bbb3b867f5b9a63eac275a274d2d5b62f3bde1545ac93e5d50393f27828608287804eef043cc98e17e4c9d57c3fa254afa832f2b412809814ed03430dc167d11a2969f608865bca39cf8b5661db3d323b2cbec2a7d9b3321118690324ddb3a148679fbecbe5497752b706c030ca5e6b5cca35c37d4bef9fac0e365f03ff8b620e1e52f83972b3e534f6a10e31d966870d01cc54f00eaa8600a0973037035c3bd4cdc72436b5d55e3b58044230717bde6fc5131e3a5b6b7b4d87ab713efe03099788d42db9cc27e3d79341d319fa862efc37e7e0378dec7093aa718dc4fb890219ffff037f5c4337ed04c63c811d18a641901e3b9caa8933666574b33154e4ec0b07bcfc03ec2a5001d4217053b8301c2f0ab6712c8188699e9ecf553f87dba51cb250bb8003e8f27b34db6f06b0331f231d91dff293b83c76a0b0e8afb1e686409148b1f0d20308c9cb3df375ab569047b8796ff59a9352222064cd1c751b34a172d232f5776403d1e736c3f1b91db0a9d999f856dacf5f973165c4c79aa0ad111bd4eca02f4493030efccbb7cfea16c19ee658b295b070e9da4a8ed54932b606a3b21873d77f457803169981e0eebf21306c946a64920ddb021439358b56228f5402986c96c4c3cf0503e7f024b8af92d32d0a54d969ea0c05477bbaaa5dd69ab2d497605d652becd9b503d0f4aed3ff0dd131513d29063b779a143850f49a59daaf96f53b65ad169d1f5703ae8fa128eb3862f353fe9fb4156a6ce2e88da621df938228cf0d42b123a1230d033bb7297b61e854cb20a8b8f196a2783caa588efa086697ddc2b5a5f45c97b68003c6a743054ad2c388194462ad0bc6fc3814516c3584d0a423617bf5b13bad693103650a5ac794ceb5246e3bb2cb248c222e8c1c63ed6853969936b452f12aae1d9e03396d50ef4de37e62656c520ecbca9d81a35da246b3f9df86977b2972244e72420219ffff03e9a4444f40158bff44d1d3221a503193857fae0c8f35d4bc68c46e29c2a63860034aeeeda61b9661459c194d89d435540366962540ba5374e4dc92eb53d0f5440c0219ffff0394b610b2848972fc8a5712ec33d8fbce89457245fe6e0e7ada22551fe7e0225c030aa50a31266d09d194b9d6d59ab9d7687ff019f43ff177b4fd6a5e7880f678410330c2ef971e7950e9de3d017c4029ecaacce28634b88da95d62665c5a2dcb62d0034ab07caec20c1ea1fafc124baf728e3bd20476eb653880c1fb5bc983e4aec8790305ccbfc7efd09cfc4b478fb514d2828b778c0a73ad64c63a1985f5bb57f7860203baf36a68f74d9db070d286e239325915ab393eae6569b65208d55bec38afc27d03b566458d33f9223e9403766d889c64b85b6b549eb77628a1a0168a292e872fff0361409adc96a380c8e32f9cffb65011206b35c0f0335df5b9d18ef01d947740e603c06802bcea6049aba07852f9e99b7c8649cfdbfc9068f77e3382068cc76c0690037d78defe0fbf89885605cb65633f19d1be8b7fe8014fdff5ef4b9aaa317142a10331653a047c5e11e2ca961b9025160c8f78a995b904deabb3cc1672280e949b51030684a0daf5c4da78cb8970fcd4f46f5732437085b033149ee5516d95157e94d603ea2411b14e7d6b6a64de7f3a1f4927c2bb7fc15e5857728fd487890d7e7893d503a0d8f6b3282ed971fae4ad07d6aadff5049b72a14b30edeee02be3e5cc75039603a8336a43d3fc248f4291ad2b09d1dadbc15723355ab632ab33da0ce547c021b3031425885a002284fbde75931581201dbfa1eedb9dd0e062dc6b144dc4c302b0ac03b16f11ebe05dc5dd2372fbfba75cbd534cb3e503f144e937395ebf5c7903409303e2b742697b93642c3aa718972b4d1cb2287fee3632e23a0982be497ea1925f7f03520f5af6522c9bc842c69659ee46fa4c9bbd600dc70ac909f554dffe200d61fa03bca4be7d4b46c8983b549ad994dca884ca18ea2e55d4c1ae4c7356fe61319726034be75eab7d22c3e2fea89a82ca2b40d2e2cce67ca2818ac75cea2d96d727521103abbe6b8355c0113b98bb6522ef6e7da520b2660e8dca3adc7497b33a26a91ef103d8088971702966733fd8bf36de96c68573624aba34f18538672f362780a08c0f035f1190159f74f0adc144cbd02d72978a3f1ddca9aa80b53b5e23d71ebfc00e11033e3ad9f5f13b10c17f8c6e2ca1bcadfbc0154d1388e385531eb85a534e5fb59d03121030b6a7f58b9e5d22a17de8e33e89d4e7b9e65f1f0f91a8383ac69d524f2e03679e7d0f64f4d3d8d3d3b08fdfdab7d9c1b16d815c546dfa2dda2d420ad451a203d0d6fc5592854e33468a64cdbd4561c259f00d61af240c9a2a11bca37ee1745f0344e02e678f044e167071f75868eb158e6fc3a36dafa53aefb19e03e26400c8b505581e03cc7e06b9c78b0351b7a46b2a0f797540d6d4cc8ccf1ebd3e4e4616e800040203cef0e1720e0c7c1acf711cc65d4773ec3ea9d374d39872f57e1dfde98023b7d503d67b3f69b1d60c6d326b4d8cf719793c92b9368e41a812eebf9ac8757fc609c501410a0358f842472539417f73867ca0331e319d2464147e6e48c84008ca3ce15a2216bc05581d0240772c4da18d5fe25d675b017fc40b28c156a32476a2fb8893d8769a0c0347152a53d1b6e400045944ae6080604052600436106101dc5760003560e01c8063850d5e6e11610102578063c838aa3711610095578063dd62ed3e11610064578063dd62ed3e1461066c578063f2fde38b146106a9578063f3d7d282146106d2578063f40a82f01461070f576101e3565b8063c838aa37146105c1578063cba9bc66146105ea578063ccec37161461061a578063d56ff24614610643576101e3565b8063ab9f6f62116100d1578063ab9f6f621461051b578063b3ab15fb14610544578063bcf2af6d1461056d578063bf66c9b814610596576101e3565b8063850d5e6e1461045f5780638da5cb5b1461049c578063978bbdb9146104c7578063a2dcc4ff146104f2576101e3565b806345596e2e1161017a57806367b20b891161014957806367b20b89146103b75780636f9170f6146103f4578063715018a6146104315780638456cb5914610448576101e3565b806345596e2e146102fb57806346ea87af14610324578063570ca735146103615780635c975abb1461038c576101e3565b806320b46ff7116101b657806320b46ff7146102555780632eed8a591461027e5780633beb26c4146102bb5780633f4ba83a146102e4576101e3565b8063017e7e58146101e857806316ada5471461021357806320800a001461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd61073a565b60405161020a9190613292565b60405180910390f35b34801561021f57600080fd5b50610228610760565b60405161023591906132c6565b60405180910390f35b34801561024a57600080fd5b50610253610766565b005b34801561026157600080fd5b5061027c60048036038101906102779190613321565b610822565b005b34801561028a57600080fd5b506102a560048036038101906102a0919061339f565b6109cb565b6040516102b291906133e7565b60405180910390f35b3480156102c757600080fd5b506102e260048036038101906102dd919061342e565b6109eb565b005b3480156102f057600080fd5b506102f9610a36565b005b34801561030757600080fd5b50610322600480360381019061031d919061342e565b610ace565b005b34801561033057600080fd5b5061034b6004803603810190610346919061339f565b610ae2565b60405161035891906133e7565b60405180910390f35b34801561036d57600080fd5b50610376610b02565b604051610383919061346a565b60405180910390f35b34801561039857600080fd5b506103a1610b28565b6040516103ae91906133e7565b60405180910390f35b3480156103c357600080fd5b506103de60048036038101906103d991906135de565b610b3e565b6040516103eb91906132c6565b60405180910390f35b34801561040057600080fd5b5061041b6004803603810190610416919061339f565b610bcd565b60405161042891906133e7565b60405180910390f35b34801561043d57600080fd5b50610446610bed565b005b34801561045457600080fd5b5061045d610c01565b005b34801561046b57600080fd5b50610486600480360381019061048191906135de565b610c99565b60405161049391906132c6565b60405180910390f35b3480156104a857600080fd5b506104b1610d28565b6040516104be919061346a565b60405180910390f35b3480156104d357600080fd5b506104dc610d51565b6040516104e991906132c6565b60405180910390f35b3480156104fe57600080fd5b506105196004803603810190610514919061368d565b610d57565b005b34801561052757600080fd5b50610542600480360381019061053d919061368d565b610e50565b005b34801561055057600080fd5b5061056b6004803603810190610566919061339f565b610f49565b005b34801561057957600080fd5b50610594600480360381019061058f919061368d565b610f5d565b005b3480156105a257600080fd5b506105ab611056565b6040516105b89190613292565b60405180910390f35b3480156105cd57600080fd5b506105e860048036038101906105e391906136e9565b61107c565b005b61060460048036038101906105ff9190613827565b611118565b60405161061191906132c6565b60405180910390f35b34801561062657600080fd5b50610641600480360381019061063c919061339f565b6114aa565b005b34801561064f57600080fd5b5061066a6004803603810190610665919061339f565b611671565b005b34801561067857600080fd5b50610693600480360381019061068e919061393f565b611685565b6040516106a091906132c6565b60405180910390f35b3480156106b557600080fd5b506106d060048036038101906106cb919061339f565b61170b565b005b3480156106de57600080fd5b506106f960048036038101906106f4919061339f565b61178e565b60405161070691906133e7565b60405180910390f35b34801561071b57600080fd5b506107246117ae565b604051610731919061346a565b60405180910390f35b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166107a76117d4565b73ffffffffffffffffffffffffffffffffffffffff16146107f4576040517fd0769d8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610820600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16476117dc565b565b61082a61187d565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806108915750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b156108c8576040517f646dc6c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f41d2755f00068d89c23ebc6f1e73ce119a6236a44517ca061f544a3f91c9bca4600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516109bf9291906139de565b60405180910390a15050565b60026020528060005260406000206000915054906101000a900460ff1681565b6109f361187d565b80600a819055507f52a98f395193dd073365a6eecaaf7faf70b29a8379eca801c810175f27d46f01600a54604051610a2b91906132c6565b60405180910390a150565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a776117d4565b73ffffffffffffffffffffffffffffffffffffffff1614610ac4576040517fd0769d8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610acc6118fb565b565b610ad661187d565b610adf8161195d565b50565b60046020528060005260406000206000915054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060149054906101000a900460ff16905090565b6000808590508073ffffffffffffffffffffffffffffffffffffffff166333456d788686866040518463ffffffff1660e01b8152600401610b8193929190613ac5565b602060405180830381865afa158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc29190613b18565b915050949350505050565b60016020528060005260406000206000915054906101000a900460ff1681565b610bf561187d565b610bff60006119e6565b565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c426117d4565b73ffffffffffffffffffffffffffffffffffffffff1614610c8f576040517fd0769d8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c97611aaa565b565b6000808590508073ffffffffffffffffffffffffffffffffffffffff16636b0d35088686866040518463ffffffff1660e01b8152600401610cdc93929190613ac5565b602060405180830381865afa158015610cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1d9190613b18565b915050949350505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60095481565b610d5f61187d565b60005b8251811015610e1257610d8e838281518110610d8157610d80613b45565b5b6020026020010151611b0d565b8160046000858481518110610da657610da5613b45565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610e0a90613ba3565b915050610d62565b507f48936b52e703ea806bc0a75006b224e8de072546a5e89dc7a30ffc678dfdd9618282604051610e44929190613beb565b60405180910390a15050565b610e5861187d565b60005b8251811015610f0b57610e87838281518110610e7a57610e79613b45565b5b6020026020010151611b0d565b8160036000858481518110610e9f57610e9e613b45565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f0390613ba3565b915050610e5b565b507fb518fc1fb690d3f3f0815f0041a5336ea7b4491c38ca6fe35b82453af3c90f7c8282604051610f3d929190613beb565b60405180910390a15050565b610f5161187d565b610f5a81611b76565b50565b610f6561187d565b60005b825181101561101857610f94838281518110610f8757610f86613b45565b5b6020026020010151611b0d565b8160026000858481518110610fac57610fab613b45565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061101090613ba3565b915050610f68565b507fc0c7f07984136a6ac1e4e7553e98f3d87f5a76c253e3700f50c285a77c7aa650828260405161104a929190613beb565b60405180910390a15050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61108461187d565b80600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fc5a7995faaa8d0d1f90ba3187d2b86d561a66a52805d583525e6c2dcba3b0107828260405161110c929190613c1b565b60405180910390a15050565b6000611122611ca3565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166111a5576040517fe2e79a7000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611228576040517f12d48a5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008660008151811061123e5761123d613b45565b5b60200260200101519050600087600189516112599190613c44565b8151811061126a57611269613b45565b5b60200260200101519050600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361130c57873410156112e5576040517fac3feee300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b34476112f19190613c44565b91506113028c8c8c8c8c8c8c611ced565b9450479050611461565b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611345919061346a565b602060405180830381865afa158015611362573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113869190613b18565b9150600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113d2576113cb8c8c8c8c8c8c8c611f8c565b94506113e4565b6113e18c8c8c8c8c8c8c6122f1565b94505b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161141d919061346a565b602060405180830381865afa15801561143a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145e9190613b18565b90505b8181101561149b576040517f150a808200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050979650505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166114eb6117d4565b73ffffffffffffffffffffffffffffffffffffffff1614611538576040517fd0769d8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115fe600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611597919061346a565b602060405180830381865afa1580156115b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d89190613b18565b8373ffffffffffffffffffffffffffffffffffffffff16612ccc9092919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f8c4e91db779d40eb9afbcebd8cf9aa9195b7b057611e32ad5dc9e4025f56ada0600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611666919061346a565b60405180910390a250565b61167961187d565b61168281612d52565b50565b60008273ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e83306040518363ffffffff1660e01b81526004016116c2929190613c78565b602060405180830381865afa1580156116df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117039190613b18565b905092915050565b61171361187d565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611782576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177990613d24565b60405180910390fd5b61178b816119e6565b50565b60036020528060005260406000206000915054906101000a900460ff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600080600080600085875af190508061182a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182190613db6565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f77f67778e9529a2fd2147ffb2b10ca2e0d1efd8cb925e1f1d5702e39c5fa8da68360405161187091906132c6565b60405180910390a2505050565b6118856117d4565b73ffffffffffffffffffffffffffffffffffffffff166118a3610d28565b73ffffffffffffffffffffffffffffffffffffffff16146118f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f090613e22565b60405180910390fd5b565b611903612e7f565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6119466117d4565b604051611953919061346a565b60405180910390a1565b600a81108061196c5750603281115b156119a3576040517f56d6919800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806009819055507f6717373928cccf59cc9912055cfa8db86e7085b95c94c15862b121114aa333be6009546040516119db91906132c6565b60405180910390a150565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611ab2611ca3565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611af66117d4565b604051611b03919061346a565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b73576040517f646dc6c000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b611b7f81611b0d565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c06576040517f5863f78900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f8eb831fe42156caaf4721a87ad40c6e662b893dbeee76d7a3ed2564a318b091c600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051611c98919061346a565b60405180910390a150565b611cab610b28565b15611ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce290613e8e565b60405180910390fd5b565b6000806000905060008990506000600954118015611d5c575060016000611d126117d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611dbd5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611da46117d4565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611e575761271060095487611dd39190613eae565b611ddd9190613f1f565b9150600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015611e47573d6000803e3d6000fd5b508186611e549190613c44565b95505b8073ffffffffffffffffffffffffffffffffffffffff16633da665f3878b8b8b8b8a8c600a546040518963ffffffff1660e01b8152600401611e9f979695949392919061400e565b60206040518083038185885af1158015611ebd573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611ee29190613b18565b92508873ffffffffffffffffffffffffffffffffffffffff167fc4f2db0bfdf74019c82ce61ce7255ecac93acc22b7c68160c89edf1f88ec416a89600081518110611f3057611f2f613b45565b5b60200260200101518a60018c51611f479190613c44565b81518110611f5857611f57613b45565b5b6020026020010151856000888a604051611f779695949392919061408b565b60405180910390a25050979650505050505050565b60008086600081518110611fa357611fa2613b45565b5b6020026020010151905060008047905060008b9050611fec611fc36117d4565b8d8a8773ffffffffffffffffffffffffffffffffffffffff16612ec8909392919063ffffffff16565b60008173ffffffffffffffffffffffffffffffffffffffff16633da665f360008e8e8e8e308f600a546040518963ffffffff1660e01b8152600401612037979695949392919061400e565b60206040518083038185885af1158015612055573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061207a9190613b18565b9050600081036120955782476120909190613c44565b612097565b805b955060006009541180156120fc5750600160006120b26117d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561215d5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166121446117d4565b73ffffffffffffffffffffffffffffffffffffffff1614155b156121e957612710600954876121739190613eae565b61217d9190613f1f565b9350600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f193505050501580156121e7573d6000803e3d6000fd5b505b8673ffffffffffffffffffffffffffffffffffffffff166108fc858861220f9190613c44565b9081150290604051600060405180830381858888f1935050505015801561223a573d6000803e3d6000fd5b508b73ffffffffffffffffffffffffffffffffffffffff167fc4f2db0bfdf74019c82ce61ce7255ecac93acc22b7c68160c89edf1f88ec416a8c60008151811061228757612286613b45565b5b60200260200101518d60018f5161229e9190613c44565b815181106122af576122ae613b45565b5b6020026020010151876000898c6122c69190613c44565b8d6040516122d99695949392919061408b565b60405180910390a25050505050979650505050505050565b6000808660008151811061230857612307613b45565b5b60200260200101519050600087600189516123239190613c44565b8151811061233457612333613b45565b5b602002602001015190506000808b9050600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156126425760006009541180156123f95750600160006123af6117d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561245a5750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166124416117d4565b73ffffffffffffffffffffffffffffffffffffffff1614155b156124e157612710600954896124709190613eae565b61247a9190613f1f565b91506124d26124876117d4565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff16612ec8909392919063ffffffff16565b81886124de9190613c44565b97505b6125156124ec6117d4565b8d8a8773ffffffffffffffffffffffffffffffffffffffff16612ec8909392919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff16633da665f360008d8d8d8d8c8e600a546040518963ffffffff1660e01b815260040161255e979695949392919061400e565b60206040518083038185885af115801561257c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906125a19190613b18565b94508a73ffffffffffffffffffffffffffffffffffffffff167fc4f2db0bfdf74019c82ce61ce7255ecac93acc22b7c68160c89edf1f88ec416a8b6000815181106125ef576125ee613b45565b5b60200260200101518c60018e516126069190613c44565b8151811061261757612616613b45565b5b602002602001015185888a8c6040516126359695949392919061408b565b60405180910390a2612cbd565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612a14576126c861269f6117d4565b8d8a8773ffffffffffffffffffffffffffffffffffffffff16612ec8909392919063ffffffff16565b6126d183612f51565b600b8190555060008173ffffffffffffffffffffffffffffffffffffffff16633da665f360008e8e8e8e308f600a546040518963ffffffff1660e01b8152600401612722979695949392919061400e565b60206040518083038185885af1158015612740573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906127659190613b18565b9050600081036127fb57600b548473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016127ab919061346a565b602060405180830381865afa1580156127c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127ec9190613b18565b6127f69190613c44565b6127fd565b805b955060006009541180156128625750600160006128186117d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156128c35750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166128aa6117d4565b73ffffffffffffffffffffffffffffffffffffffff1614155b1561293357612710600954876128d99190613eae565b6128e39190613f1f565b9250612932600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848673ffffffffffffffffffffffffffffffffffffffff16612ccc9092919063ffffffff16565b5b6129698784886129439190613c44565b8673ffffffffffffffffffffffffffffffffffffffff16612ccc9092919063ffffffff16565b8b73ffffffffffffffffffffffffffffffffffffffff167fc4f2db0bfdf74019c82ce61ce7255ecac93acc22b7c68160c89edf1f88ec416a8c6000815181106129b5576129b4613b45565b5b60200260200101518d60018f516129cc9190613c44565b815181106129dd576129dc613b45565b5b60200260200101518689888c6129f39190613c44565b8d604051612a069695949392919061408b565b60405180910390a250612cbc565b6000600954118015612a77575060016000612a2d6117d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612ad85750600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612abf6117d4565b73ffffffffffffffffffffffffffffffffffffffff1614155b15612b5f5761271060095489612aee9190613eae565b612af89190613f1f565b9150612b50612b056117d4565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848773ffffffffffffffffffffffffffffffffffffffff16612ec8909392919063ffffffff16565b8188612b5c9190613c44565b97505b612b93612b6a6117d4565b8d8a8773ffffffffffffffffffffffffffffffffffffffff16612ec8909392919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff16633da665f360008d8d8d8d8c8e600a546040518963ffffffff1660e01b8152600401612bdc979695949392919061400e565b60206040518083038185885af1158015612bfa573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612c1f9190613b18565b94508a73ffffffffffffffffffffffffffffffffffffffff167fc4f2db0bfdf74019c82ce61ce7255ecac93acc22b7c68160c89edf1f88ec416a8b600081518110612c6d57612c6c613b45565b5b60200260200101518c60018e51612c849190613c44565b81518110612c9557612c94613b45565b5b602002602001015185888a8c604051612cb39695949392919061408b565b60405180910390a25b5b50505050979650505050505050565b612d4d8363a9059cbb60e01b8484604051602401612ceb9291906140ec565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612fd4565b505050565b612d5b81611b0d565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612de2576040517f5863f78900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2026a5648a6c7cea36ca5562a53aa63934cbb5f864c66c2c4bde086410ef15a0600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051612e74919061346a565b60405180910390a150565b612e87610b28565b612ec6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ebd90614161565b60405180910390fd5b565b612f4b846323b872dd60e01b858585604051602401612ee993929190614181565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612fd4565b50505050565b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401612f8c919061346a565b602060405180830381865afa158015612fa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fcd9190613b18565b9050919050565b6000613036826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661309b9092919063ffffffff16565b9050600081511115613096578080602001905181019061305691906141cd565b613095576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161308c9061426c565b60405180910390fd5b5b505050565b60606130aa84846000856130b3565b90509392505050565b6060824710156130f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130ef906142fe565b60405180910390fd5b613101856131c7565b613140576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131379061436a565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161316991906143fb565b60006040518083038185875af1925050503d80600081146131a6576040519150601f19603f3d011682016040523d82523d6000602084013e6131ab565b606091505b50915091506131bb8282866131ea565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156131fa5782905061324a565b60008351111561320d5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132419190614456565b60405180910390fd5b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061327c82613251565b9050919050565b61328c81613271565b82525050565b60006020820190506132a76000830184613283565b92915050565b6000819050919050565b6132c0816132ad565b82525050565b60006020820190506132db60008301846132b7565b92915050565b6000604051905090565b600080fd5b600080fd5b6132fe81613271565b811461330957600080fd5b50565b60008135905061331b816132f5565b92915050565b60008060408385031215613338576133376132eb565b5b60006133468582860161330c565b92505060206133578582860161330c565b9150509250929050565b600061336c82613251565b9050919050565b61337c81613361565b811461338757600080fd5b50565b60008135905061339981613373565b92915050565b6000602082840312156133b5576133b46132eb565b5b60006133c38482850161338a565b91505092915050565b60008115159050919050565b6133e1816133cc565b82525050565b60006020820190506133fc60008301846133d8565b92915050565b61340b816132ad565b811461341657600080fd5b50565b60008135905061342881613402565b92915050565b600060208284031215613444576134436132eb565b5b600061345284828501613419565b91505092915050565b61346481613361565b82525050565b600060208201905061347f600083018461345b565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6134d38261348a565b810181811067ffffffffffffffff821117156134f2576134f161349b565b5b80604052505050565b60006135056132e1565b905061351182826134ca565b919050565b600067ffffffffffffffff8211156135315761353061349b565b5b602082029050602081019050919050565b600080fd5b600061355a61355584613516565b6134fb565b9050808382526020820190506020840283018581111561357d5761357c613542565b5b835b818110156135a65780613592888261338a565b84526020840193505060208101905061357f565b5050509392505050565b600082601f8301126135c5576135c4613485565b5b81356135d5848260208601613547565b91505092915050565b600080600080608085870312156135f8576135f76132eb565b5b60006136068782880161338a565b94505060206136178782880161338a565b935050604085013567ffffffffffffffff811115613638576136376132f0565b5b613644878288016135b0565b925050606061365587828801613419565b91505092959194509250565b61366a816133cc565b811461367557600080fd5b50565b60008135905061368781613661565b92915050565b600080604083850312156136a4576136a36132eb565b5b600083013567ffffffffffffffff8111156136c2576136c16132f0565b5b6136ce858286016135b0565b92505060206136df85828601613678565b9150509250929050565b60008060408385031215613700576136ff6132eb565b5b600061370e8582860161338a565b925050602061371f85828601613678565b9150509250929050565b600067ffffffffffffffff8211156137445761374361349b565b5b602082029050602081019050919050565b600062ffffff82169050919050565b61376d81613755565b811461377857600080fd5b50565b60008135905061378a81613764565b92915050565b60006137a361379e84613729565b6134fb565b905080838252602082019050602084028301858111156137c6576137c5613542565b5b835b818110156137ef57806137db888261377b565b8452602084019350506020810190506137c8565b5050509392505050565b600082601f83011261380e5761380d613485565b5b813561381e848260208601613790565b91505092915050565b600080600080600080600060e0888a031215613846576138456132eb565b5b60006138548a828b0161330c565b97505060206138658a828b0161338a565b965050604088013567ffffffffffffffff811115613886576138856132f0565b5b6138928a828b016135b0565b955050606088013567ffffffffffffffff8111156138b3576138b26132f0565b5b6138bf8a828b016137f9565b94505060806138d08a828b01613419565b93505060a06138e18a828b01613419565b92505060c06138f28a828b0161338a565b91505092959891949750929550565b600061390c82613361565b9050919050565b61391c81613901565b811461392757600080fd5b50565b60008135905061393981613913565b92915050565b60008060408385031215613956576139556132eb565b5b60006139648582860161392a565b92505060206139758582860161338a565b9150509250929050565b6000819050919050565b60006139a461399f61399a84613251565b61397f565b613251565b9050919050565b60006139b682613989565b9050919050565b60006139c8826139ab565b9050919050565b6139d8816139bd565b82525050565b60006040820190506139f360008301856139cf565b613a0060208301846139cf565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613a3c81613361565b82525050565b6000613a4e8383613a33565b60208301905092915050565b6000602082019050919050565b6000613a7282613a07565b613a7c8185613a12565b9350613a8783613a23565b8060005b83811015613ab8578151613a9f8882613a42565b9750613aaa83613a5a565b925050600181019050613a8b565b5085935050505092915050565b6000606082019050613ada600083018661345b565b8181036020830152613aec8185613a67565b9050613afb60408301846132b7565b949350505050565b600081519050613b1281613402565b92915050565b600060208284031215613b2e57613b2d6132eb565b5b6000613b3c84828501613b03565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613bae826132ad565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613be057613bdf613b74565b5b600182019050919050565b60006040820190508181036000830152613c058185613a67565b9050613c1460208301846133d8565b9392505050565b6000604082019050613c30600083018561345b565b613c3d60208301846133d8565b9392505050565b6000613c4f826132ad565b9150613c5a836132ad565b9250828203905081811115613c7257613c71613b74565b5b92915050565b6000604082019050613c8d600083018561345b565b613c9a602083018461345b565b9392505050565b600082825260208201905092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613d0e602683613ca1565b9150613d1982613cb2565b604082019050919050565b60006020820190508181036000830152613d3d81613d01565b9050919050565b7f5f7472616e736665724574683a20457468207472616e73666572206661696c6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000613da0602183613ca1565b9150613dab82613d44565b604082019050919050565b60006020820190508181036000830152613dcf81613d93565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613e0c602083613ca1565b9150613e1782613dd6565b602082019050919050565b60006020820190508181036000830152613e3b81613dff565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000613e78601083613ca1565b9150613e8382613e42565b602082019050919050565b60006020820190508181036000830152613ea781613e6b565b9050919050565b6000613eb9826132ad565b9150613ec4836132ad565b9250828202613ed2816132ad565b91508282048414831517613ee957613ee8613b74565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f2a826132ad565b9150613f35836132ad565b925082613f4557613f44613ef0565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613f8581613755565b82525050565b6000613f978383613f7c565b60208301905092915050565b6000602082019050919050565b6000613fbb82613f50565b613fc58185613f5b565b9350613fd083613f6c565b8060005b83811015614001578151613fe88882613f8b565b9750613ff383613fa3565b925050600181019050613fd4565b5085935050505092915050565b600060e082019050614023600083018a61345b565b81810360208301526140358189613a67565b905081810360408301526140498188613fb0565b905061405860608301876132b7565b614065608083018661345b565b61407260a08301856132b7565b61407f60c08301846132b7565b98975050505050505050565b600060c0820190506140a0600083018961345b565b6140ad602083018861345b565b6140ba60408301876132b7565b6140c7606083018661345b565b6140d460808301856132b7565b6140e160a083018461345b565b979650505050505050565b6000604082019050614101600083018561345b565b61410e60208301846132b7565b9392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061414b601483613ca1565b915061415682614115565b602082019050919050565b6000602082019050818103600083015261417a8161413e565b9050919050565b6000606082019050614196600083018661345b565b6141a3602083018561345b565b6141b060408301846132b7565b949350505050565b6000815190506141c781613661565b92915050565b6000602082840312156141e3576141e26132eb565b5b60006141f1848285016141b8565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614256602a83613ca1565b9150614261826141fa565b604082019050919050565b6000602082019050818103600083015261428581614249565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006142e8602683613ca1565b91506142f38261428c565b604082019050919050565b60006020820190508181036000830152614317816142db565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614354601d83613ca1565b915061435f8261431e565b602082019050919050565b6000602082019050818103600083015261438381614347565b9050919050565b600081519050919050565b600081905092915050565b60005b838110156143be5780820151818401526020810190506143a3565b60008484015250505050565b60006143d58261438a565b6143df8185614395565b93506143ef8185602086016143a0565b80840191505092915050565b600061440782846143ca565b915081905092915050565b600081519050919050565b600061442882614412565b6144328185613ca1565b93506144428185602086016143a0565b61444b8161348a565b840191505092915050565b60006020820190508181036000830152614470818461441d565b90509291505056fea2646970667358221220983c23a7d980db40a53dd22c0efc61a9c19b6e9de976b3714e6bd7e89812795764736f6c63430008120033005820027c06dc38e63a14d73ebd15f867c8cc60d4d1f3d781ab583d6fb84615ca56ea4101005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05492c2ea2fafe891758da0ed2ec2978acf1d4162fb00582002677ab6cccb388453d4d631ecd2815f153c647bd4de926658993bc19bb3dbf041010219100a0058210371b87c24cafce76498d39457962a631992b6e268dbf537aab264d617cabb85f041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630549287b8e84d972dd02f618bbed45b9a6d7ed1638403e2fd8ae8c2e972ca141bbc52367b2fce414c4ebf3bad4d2b46704d3084af80e203a7f34600400bd15f54eedf10267b1d7f63bf890c687cf977f7d1556e0edb5ebe00582103b2e8864bd153c1f8d28ba74a8348b463f9da28498d3ddc0d2aea94f170404c004101005820027f3d5e15c32c3aa04d7c9c05d2c7d79893d5157ef0a1d9056f471be904d94f4101005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af411e021944000058210369c2c3bdcef700bf25f1e7ecd9754d14461d7d1340862cd9db3c7c0f07231f60410103ce071a0cf3bafec86afb44c521a0d3b67be8b18d95403e6061a714c61d297ee103c0b9c53c484e2c77bb955498e6d6f1bb3032b75d21db783d4476035da4c732ba0058210379ba273ab0134c0837223d1323fce1327359c8ee4265b8d52a4dd1e6d412d5f04101005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a842025800582002166a48f7f7a0a394d4f7518dc4c14eb0b3ca5c8fe94e3702d3251a17f83b5e410102194040035c257242e2a10eb642add193d34a3ffd32679d659cb6154a88ded3689aa72e1400582002a4ac576e237d8e8030dce22c70734da73d4a2860f1130500084a319559114041010219100803eac879903f1dcc48babd764d3340edef51053eb7403ca65ae5fd2d602286ab4403594c03e27db509fa090592af39b501b3a3cdda204fd1966e58e438de7784716a0219fdff05581d02c5af918a0f76008ee743412bcbfa6f126640560d6f6c2cb928eb4b870f0144c79abd8e1944ae0313a3439d21726fac58991727a50099eb5e0909aec3908b47136b29ea2cbf64e70605581d02a6d49a0462c0d5784c7b21f75aa8b8c23157a34155f271254bb0ba7107011bffffffffffffffff0219050105581e034d4d7611500b7c9d2a7686407fd34761d77c2f65a885c131c4634a60d00c034708d9b262e0f00003202d3bebb918436b68d9b1ecea002381252a8a1d79b4d52a5d94c7b001f9006703ca5f95f695a22f93aa688bc40f3c0a37153f232edb4729ad16b15030bf273ad8035b14bcc39484249aac1341223364dd968e390c412ca6e40183d50e53d3eeb87605581e039ac7894a4d6d0eb85cd313e3d1fbc418bb720424aef3a46d94332d50c007011bffffffffffffffff0358b136b4376335fa9221851ead00cf20b15b544bcbd2e1c4c51a01ccf99accc203843da67203e03a491020643eded99894bbde793b604a1ed6db63d1bd2ab76d960219597b03ad9bd5dd8aae574806ea6c870612c114244a68946e0a6b94006a1f060e63c38803e26e2539476e3c513df21aeba2807b93adb605228c14e8d69156efcfbe2fe9420328191492bca7aeb2aa1716768d043cb7a17664673fc3d96dbd774b0b3bd273b803d69ab89961134e59a1490c24a05187b6cb6c1ee5e0d337505a27c781f14597ef03819da9de25692246eee99d7af8f4fca6e255caacddcba1e931c91260800c9ba70339c84ace4ee300e988756d26a3fe0a1af2a108ab6d4e98cbd323ac1aec8e8ac303d5f83ff7522e8efa9b86910335983d7b357b1a8b2b67579e409f127834d5bf590336bad432158ceb453e23cfd4af529ee2754ee5476f0a59dd097890fd1f9d527f0219ffff030f6201053a8d8238ee2bd6b093db6deb570a9aac49774eca2453cc734e39189f0340a54c3186c2b4e8974ab053f25679d1ea48392b3aa5a1e56c3d98dfbdaa8f8703cae657c78cf26afded929e8a156f572a158ad63cde586d5c8c9e3f5868e8195f03403127a8156896d3ba38f00572bfb91f674344af7f19c27d1602f4ced018ddf50219ffff034b561ebeb64372806ddbbee7c87bcceaefece052771d08ed8d8afcbfb6f4ffa6039919d867032f1f739a06f46c9d51fdd2bdd3dc6bd22498589ccb69aa9168aedd033bbe08bf56d65ec9c1d48b01ca151bb68d08f327b5b9de71e76953c3dbb30f88031d4e663b4a89daea88c076e654640fa941d919385ca1f96318fc49c5c73179be03a8285d6c917066a6d4ec027fceb187cf5773e06eceb5b6abc647ce57316deec3031af7869c80ca51721f4641e65ca7cde43c1d984a0dc4b021ce9e592b9baa3802038db098489fcef396efb84b0fd8e325230873064720fb7e15b23a46112e69b79403a1b6b68c24c3a1ce5503a8eb07af80016bf757e65e5a7355b32cd46ee6278eb80219ffff03eecb59001cf5d156508398f4062d67244708fef71d28669483d7f037766847e70340a2bfbd0f17cae692f6d4a403fae2e4659bde02b5591907f0d8659352dbf04503c78d2a4e4864583ef74539d13352ae85c073930d89709987dc0f41288b5e8b9d039a3640caa42529ffecf3bb2507ca6c1782753d330f1ca5310c05f04ff755993103fce27da4bd57829cdfea29551c67a3a70935bee5b23719353eb8d5d19f1cf9b803b399fadee95a844a12e6d5147a7319a7ec2137bc27e34bbb8b60e16d04393e79030f6d05446a6fe0ccae3065c04c35fd493c441b19c02b3406f6856f62694e71560219ffff03cef2792e280dd8431943b0b52dd982dce74c76f67b7e5273804f5ad4a0e03048036dff871b5644cb2de4d150630d1dd59d1aa1cb82c3c28b8d03d3b783b02e5d3c03a0f6a1bb92805398c68b304a5d9b64c4c9acdfab5b671c69ccf46224a19966ae0347b9a543bced34172577d03c6d5ef95e43cf1e324493c3d17d8108aa417bed5b03e81f55ea1e700681b1198884f1169da513dd0bdbffd0961b8e40109dbf746b0603887e77cd82e0f05c99a0fd9a5390bc09ee3c825f3677bbb50cf5da3b6041a9b003b9537f214c239be94441ef730655c34219dd848ea47daf0f0a97411ae442fcc203983dfd673bf5c8c8eda775010d8faad2f8875f6dfd48526a3dd4e934bf8ec13c035bb36f48d716f10f9b8a937f7948b53b1a1cb0ac6b7e6b60543e73831a01786a03b759ab9aeb10071df1d6ccb2bc880dec70f4777477e6c3ea5ce5df68c5a6cbde0398cfb925ad9e1fe7ddd8f65056691c2fb24ca7b32682183c5bedb06a588e2ba003635d1b9bb721a0e518c326ac8e986c5d97273b14bfad0e3c51d871b0b3c03dc80326b6bd4577c61f8bbdd2757477206eeb4cccea3bafe3b98340e0249f092fc80f03b3152eb14472aa4776a44df0491ec12768648933e644716cdffd3e0789b16da8037d5ec1c446a1076b75732c8b51a2e91961a5d25da97bb7cc9c425cfe1db1fcf403a53926e373de36bd0bbdec16b2ccec0497b94257daf64bd308af6a9bcd83c1fa034042a7a6cf63d00f1a2139ac4c41ac064e56cce0e301eb004f42e688c11b780d034f0a54fcd54574334869a5250f8ca2ba0a8171559ad211f10fb8919896d5846203ce6941d601a182e26530542cbe95e2f6d9af56b90ec62a99888e17e913fda38b039e151c91f628e5db008bbcda85c40fd08c92e1a827f1596165abaa8b401e8ff505581e03f8493167776a8388bc245fa79665f42e3b609aa5070f894630cd93d7d00c014406674fbb05581e03271dea7d70287e0e69dd400630b9dc20fdff948b31ccdf4f37957062f008471772aa3f84800003a12d85aa6971bc026219c857a44299f9ff581debdfdab2aa331e16fd603fbc6203376cc0de1f6da17e7f043da8a32016f26357be52833b12d2bbcfe135255ae92805581e03aecc950510f0876b8e94a95a0a62d848caa2db4c30ec393c2338b28e000c0147059d1192a5ab5404591b596080604052600436106100f75760003560e01c806370a082311161008a5780639555a942116100595780639555a942146102dd578063d0e30db0146102fd578063f2fde38b14610305578063f340fa011461032557600080fd5b806370a082311461023b578063715018a61461027e5780638129fc1c146102935780638da5cb5b146102a857600080fd5b8063313ce567116100c6578063313ce567146101d75780633659cfe6146101f35780634f1ef2861461021357806352d1902d1461022657600080fd5b806306fdde031461010b57806318160ddd1461016a57806323b872dd146101875780632e1a7d4d146101b757600080fd5b3661010657610104610338565b005b600080fd5b34801561011757600080fd5b506101546040518060400160405280600981526020017f426c757220506f6f6c000000000000000000000000000000000000000000000081525081565b60405161016191906118bd565b60405180910390f35b34801561017657600080fd5b50475b604051908152602001610161565b34801561019357600080fd5b506101a76101a2366004611937565b610396565b6040519015158152602001610161565b3480156101c357600080fd5b506101046101d2366004611973565b610500565b3480156101e357600080fd5b5060405160128152602001610161565b3480156101ff57600080fd5b5061010461020e36600461198c565b610646565b6101046102213660046119d6565b610817565b34801561023257600080fd5b506101796109d9565b34801561024757600080fd5b5061017961025636600461198c565b73ffffffffffffffffffffffffffffffffffffffff16600090815260c9602052604090205490565b34801561028a57600080fd5b50610104610aab565b34801561029f57600080fd5b50610104610abf565b3480156102b457600080fd5b5060335460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610161565b3480156102e957600080fd5b506101046102f8366004611937565b610c36565b610104610338565b34801561031157600080fd5b5061010461032036600461198c565b610e8c565b61010461033336600461198c565b610f26565b33600090815260c9602052604081208054349290610357908490611ab6565b909155505060405134815233906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000ad05ccc4f10045630fb830b95127161480159061041457503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea51614155b801561045657503373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000039da41747a83aee658334415666f3ef92dd0d5411614155b801561049857503373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000029469395eaf6f95920e59f858042f0e28d98a20b1614155b156104ea5760405162461bcd60e51b815260206004820152601560248201527f556e617574686f72697a6564207472616e73666572000000000000000000000060448201526064015b60405180910390fd5b6104f584848461107a565b5060015b9392505050565b33600090815260c96020526040902054818110156105605760405162461bcd60e51b815260206004820152601260248201527f496e73756666696369656e742066756e6473000000000000000000000000000060448201526064016104e1565b33600081815260c9602052604080822085850390555190919084908381818185875af1925050503d80600081146105b3576040519150601f19603f3d011682016040523d82523d6000602084013e6105b8565b606091505b50509050806106095760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c6564000000000000000000000000000000000060448201526064016104e1565b60405183815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000001a656024de4b89e2d0198bf4d468e8fd2358b171630036106f15760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104e1565b7f00000000000000000000000001a656024de4b89e2d0198bf4d468e8fd2358b1773ffffffffffffffffffffffffffffffffffffffff166107667f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146107ef5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104e1565b6107f88161120b565b6040805160008082526020820190925261081491839190611213565b50565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000001a656024de4b89e2d0198bf4d468e8fd2358b171630036108c25760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c000000000000000000000000000000000000000060648201526084016104e1565b7f00000000000000000000000001a656024de4b89e2d0198bf4d468e8fd2358b1773ffffffffffffffffffffffffffffffffffffffff166109377f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff16146109c05760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f7879000000000000000000000000000000000000000060648201526084016104e1565b6109c98261120b565b6109d582826001611213565b5050565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000001a656024de4b89e2d0198bf4d468e8fd2358b171614610a865760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016104e1565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b610ab36113e3565b610abd600061144a565b565b600054610100900460ff1615808015610adf5750600054600160ff909116105b80610af95750303b158015610af9575060005460ff166001145b610b6b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016104e1565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610bc957600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610bd16114c1565b801561081457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000029469395eaf6f95920e59f858042f0e28d98a20b1614801590610cb257503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea51614155b15610cff5760405162461bcd60e51b815260206004820152601560248201527f556e617574686f72697a6564207472616e73666572000000000000000000000060448201526064016104e1565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c9602052604090205481811015610d755760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e636500000000000000000000000060448201526064016104e1565b73ffffffffffffffffffffffffffffffffffffffff848116600090815260c96020526040808220858503905551909185169084908381818185875af1925050503d8060008114610de1576040519150601f19603f3d011682016040523d82523d6000602084013e610de6565b606091505b5050905080610e375760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c6564000000000000000000000000000000000060448201526064016104e1565b60405183815260009073ffffffffffffffffffffffffffffffffffffffff8716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b610e946113e3565b73ffffffffffffffffffffffffffffffffffffffff8116610f1d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104e1565b6108148161144a565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000029469395eaf6f95920e59f858042f0e28d98a20b1614801590610fa257503373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000b2ecfe4e4d61f8790bbb9de2d1259b9e2410cea51614155b15610fef5760405162461bcd60e51b815260206004820152601460248201527f556e617574686f72697a6564206465706f73697400000000000000000000000060448201526064016104e1565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260c9602052604081208054349290611024908490611ab6565b909155505060405134815273ffffffffffffffffffffffffffffffffffffffff8216906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350565b73ffffffffffffffffffffffffffffffffffffffff82166110dd5760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207472616e7366657220746f203020616464726573730000000060448201526064016104e1565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260c96020526040902054818110156111535760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e636500000000000000000000000060448201526064016104e1565b73ffffffffffffffffffffffffffffffffffffffff808516600090815260c96020526040808220858503905591851681529081208054849290611197908490611ab6565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111fd91815260200190565b60405180910390a350505050565b6108146113e3565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561124b5761124683611546565b505050565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156112d0575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526112cd91810190611af0565b60015b6113425760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f74205555505300000000000000000000000000000000000060648201526084016104e1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146113d75760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c6555554944000000000000000000000000000000000000000000000060648201526084016104e1565b50611246838383611636565b60335473ffffffffffffffffffffffffffffffffffffffff163314610abd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104e1565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661153e5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104e1565b610abd611661565b73ffffffffffffffffffffffffffffffffffffffff81163b6115d05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016104e1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b61163f836116e7565b60008251118061164c5750805b156112465761165b8383611734565b50505050565b600054610100900460ff166116de5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016104e1565b610abd3361144a565b6116f081611546565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606073ffffffffffffffffffffffffffffffffffffffff83163b6117c05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016104e1565b6000808473ffffffffffffffffffffffffffffffffffffffff16846040516117e89190611b09565b600060405180830381855af49150503d8060008114611823576040519150601f19603f3d011682016040523d82523d6000602084013e611828565b606091505b50915091506118508282604051806060016040528060278152602001611b266027913961185b565b925050505b92915050565b6060831561186a5750816104f9565b6104f9838381511561187f5781518083602001fd5b8060405162461bcd60e51b81526004016104e191906118bd565b60005b838110156118b457818101518382015260200161189c565b50506000910152565b60208152600082518060208401526118dc816040850160208701611899565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461193257600080fd5b919050565b60008060006060848603121561194c57600080fd5b6119558461190e565b92506119636020850161190e565b9150604084013590509250925092565b60006020828403121561198557600080fd5b5035919050565b60006020828403121561199e57600080fd5b6104f98261190e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080604083850312156119e957600080fd5b6119f28361190e565b9150602083013567ffffffffffffffff80821115611a0f57600080fd5b818501915085601f830112611a2357600080fd5b813581811115611a3557611a356119a7565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715611a7b57611a7b6119a7565b81604052828152886020848701011115611a9457600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b80820180821115611855577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060208284031215611b0257600080fd5b5051919050565b60008251611b1b818460208701611899565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a164736f6c6343000811000a00582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02ea7a714b021289d5565b32a38ba0462245ffdc860d0ed73db0c7d9690701191b5903eed2569f2b56708b624ffed9eba0296dc60ec54ddb7494e6e20a27c2c992d472030dcac637f6f2fb2f8c461b6a2596ac55e454b220c47d07cb8d243dc8345d931e05581d02bfd1c2a1c22b65d1990be671a242cf67f611807937eb7271e5530f4c07011bffffffffffffffff05581d0286b87dbcb86ead4157be5ec2a140fc059959270b55278ad1a5f5af0b040505581d0292471a32a8ac0825e03b72c12110de249c7f86e0e5b8f7f4ed798e9f04010219942003d5acedd61875c5c63645accd706b32ba25a71ddc388a262bea0d4f17dc2f264c0371d79869294a5b52f2faef979b2922bd005ab23b2fd982ac583659df9aeff55903e01a1d5b1a0052a84e4bfa22c1251cb17da8a7f0f3fa938551e2a9f6e9d00f4a0219aed803b1243a1d5160d3cc0ead971b38322b5c0fbc0686b6663859431c0df8dd6f289203f10c6c0281d96f19a42c6d13239714c1887f062d001630841069bfc0fafb3d0403f9f6b418f72203d856ef1324b0e190357aa32a8ca762f5cee422850e42111a65039bb00404c5af855afb2fb69e511d5cf386a91fccc0189d79cb7a1e1971ef194803d5151f5b653a77f7f73a55f4c8f7eab17eb6db26f863075761e0c29f29210aa3034a91b35ae3533f1211462360bef366e78c412dbd27ba39641e794cbe8e5340440337c3aaf5e97e3e1a652d91bcdba4adb03fe7301fd80627e9889c38e41f57e95f03be4b1209993dabb14339b68d2aaae823967a9692cb7226203d7968db7d22e2a80388a2d19bd60711f94ef23668db1dd9636d73e9081101aa52d1d4f63e8fa78f9d0345d7b160aef04753ecec7d2a7d29a6ddd8ec6529a1a0b25169c0a652580639f503c997bad3eb2f0cdeec39b2a35d575a15c8f07b4e48ec0a22c7dc15a06d9bb40a03c62aaff36d1a12326ca6d5ff163ffa749eb756a9a7737d7267ea24227e4c5494033fac36aee5d531aa092272a8d42a96a8fa0dc728b88a0143d0fb648427fb2a5b03d9393b660836c5fc565a41bfa1446d4eb82f4b7c2d0286fe59be6a4abd45fd0a0391b92969435bf3802d592f5484ae3edb5cb2bcf5c51cc7623f385b14ea08c7f80219ffff037b71b56373b67487a7970afa2a22c9fe5d28daedd20a175a198849bc09786c1e037ea9a17296d639f457be9f8db37faacf87c6224342addbb6db068b99e365e84903bfb3dfa7ffda74b9bac70e9cc761d2de3ec8a8e0ca9f9c6a0c3137b0263dee37039273466cb0ca9c4846ccfcb3247ebca88998d2d3ae8c6a2ef28ee7dd5a87b084039897651ef9d2deb8fa9637fd5be5c236c6fdde34896c8fb8ca1c5a4e86261acc035efb85ec56007a7656a66ef4821868bee1a5d157219358ef9684c27904d5d6f6033193a3f01b20c9b6c0920c6f938ef9d4ffd4ba00fa7246e55a8eec61ec0988dc03ce927a4ea8f5f2e24f52e21445df5a50c0bba3582989e36a065ff363dee1c8af0219ffff03aebc335d77296eecf769c48efba48759cdc9edff52a6c7b73ee762ac238f3cd8036bf6b9588c8fe105e7641129edd02f4a989087a6f3a6ee17a87c864bef214dd60305b842a537fe9ada244fa89f17d77d7877b9f4cf93b7f565253c9d4bf70c241503e094b4dc9e85ebe4a3542102d46742a29120d8be45772779472c5b845d34844c03d25b0fe4b04dbfcaa0e4c0c0c9325ecf7ecaccf6a875bf7ff52f97e64e74f2d10219ffff03d3a257fd217d262d100d939d7d1958efa049f780d2dc398d853fd159178df20c030fd9420c8ff8b2799165ba33ac28b2e05d3c39f33099f02cfc7db537e3270e940308752182198e15930d48eb6f39bced6d403c577001aa55410d62805a9d24277b03cad694151504a3ee5efe22235336cff13fac721733e683c9db3e60a240d67f94036956575d5d3908a13b2860eae0a8d0dad4f08dcfe463001aee42ddede653fc340373e1cb0faf8f91b7074352fbda0521d88a0e57437b998e2c5c929099c806b53e034a740d5097f3b084f01dd52faa5d950e2a6914b8c02b557ccf9338c2d759ec6f0305e27ec1cd60cd9ce8db832edcd5e812d7de6509cf47ff38af4d701f27f0973a0357f84be69980ee953a781d33742e6f9e7887cb51d651177cdbc95d44b9b60ce4039f957480ffbf276100331bc25a4a78bc571efe1b7134e20e0ce843d177b874e2038a3e77220d71bf081dbf7f1d0289e3d9284f5331cfa20e3fe69f5bad7eabb8f10340172cdda280fd4109f8565370a0d86911041ffdc316ce42547275e2fb8793c903a5a079150905fe463317c118b4308cbd4fdaa8c101d57b263fa7c953ea84051b03c38788d4bbd74a1af046f022d55b786d8c449c7301e1d748648e199ea47b068203da2e51b5b93ad26429dbf7006036edce3f12263870f8d7cdd5b66a58d9b64a8603a76a4c2320c4f379edb464becb5ef0aaa34a9a1e9a129d54bc42a33b9792f6d9038d2bcae61f9938adc089337a72f36588a138a3f04a26d9385e58f3a21b1308dc05581e038b678cc193891c75d4c72e8d879af6bf29ef02f3026a07432431c002500c024702240b558b938205581e038284362791ad4cb2bc454953112175fdc6097a7cae24f805cadd1e44700c11461d17994b48080317fbdeb73ea0e0ff78b5304581628820f2ea6795b4dc44f73afacf23057606d50374d14383df33b11e43fc5556311749f2a8ade7a7b2439d953c42bc90424dbfd105581e03778a72ba1625d91c2349ae26aa89c409a71983676711e145f676496a900c03461319718a500003776c29cf8bc93ddb5e5a33cac5fe03a838297fb8d648bdd7a91a40706ff4c2f305581e0362cb71ad83ef46d0ad5a36e7029b947910e2cb73a39b06029341809f10040304592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b57038eab05675032f76c6a38dffc88fe5ab313e580a8f188cfecd11974da7686e8ba0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a06985d3eb6843c8771890058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604a06985d3eb6843c876da100582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04f03098ecf362d84d28275f39b50ccc000582103af016b5b5951424502c2bfe8c7b7181658a51f3b74e1d1ad0c9ba12c85de90a041020058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58207902c2f41f55a637ccfea110f4474013ee3d720c320cf1aa2bdae996e42d5992005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a854364d22dc9fc2266fefca66f0406a240dc532753002184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206686e0c7000000000000bbc094bec8a0dfd4000000697a36a213f6385b7a9c8a0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54be8eff45293598919c99d1cbe5297f2a6935bc640218480219b4d705581d0217bebbb5d715e3679a15270d1e788281fdcf3698eab198db035e468b0701192c1d05581d02797515b081781a5d32b66aeb9e57824f210c5e201a1d60d3a056cfd40c01472f46a56006b000020903e338730ec3ac4d1013b255c2d22c97daa6665fec8cb1e41a6483f43b4613ef470364c6aafacb0252f4c20f9fb0ac2511e24b12278f94ad4131d90ff07807136f5a030d9db18b94b114d9ee8be5cb9c12ca5907be0fb8242809148c75f81ff0f59e57021976eb037ef8109b681d89315e627c87ca6413e78fa88dba693f653855fb2f59e51903f503ac81025ddfec28683e975224cc3e850258cc02ac1a6694c65aa316b918f0634d0334656691bf2600820b99b0f3e04696f69c68fdb0fc8d97060ed853f3d4df4ace039556940c7028574b69d5ee8be29945bd5a76d1080b1f0f00048bd019f5fc6e7c031fc481e29db84def58f921ea1d18ed46a3e1e4eeaa214e3dad68aad493ec516f0306f3843041d072f58ee7439723337f0e11e81de8177562d1c4715972f6b030f4035399fe312b8085356e7da1d4f0f185f0d3c5c0d6e3304cbd8ffd5aa09413326203b7b9d8561f39ba5bd1b84e359340d88a0929cd7352efa3ca6e2e8cedfeb0724303d91841ba6c62f35409e70ad8534ee077a1b412505292dbc1e3c95e69e87fab2203424ee41e13b9f9922a118dff04478cb83dacecfdc2df221c8d7466f33b2bdf280219ffff032f46b7391b8ff38d186f0e2cc13ab191b803c5e8b954e8085a04c6f767bcf5a3039f1ab0d896dba4d4190512c13aecb69f3047b2ed3234c279c4943dc6df89403603eb233081ed91cfb16e2005483f22b6436013fd05183eb6952611a7e3a15662be03a7b250f07ba99fbb463b0fb5d9fd64c142061112114af475da6a65d1b2ecdba1031bebdb161c9015d15624f484e77e35a7324c265f84a62bcd58487b1eb68a58e8036d7481e44903da10b606f5e08b8bae33467e752ac7725ef2aa038b895ba805670219ffff03bdd2ac348480517043984107d5a7eec4d01528d42341f797df14b985c1315ac903c64c443151cdd42667cbb700cc379d353654cd4587e0cae87ec78b2ff08ff7b00380f9765c43c4f2ba5c4e6734c953f5ad75df1556250dabce25df8ea891f6fcaf034ffe2f3bbf30fc2c9151a2f060654d561daf672186997e44de7eb2411319a79e03e52022d61cd673d54a86b15c21a6d6b0bad2b73c097cf062196e6318958bf94e0366b11a686ad023678084872321fd881e8023995e5e582a8593fd61e6fda5dcce036d6c7dbc82c1bbb311508f811f11bdcdc75d80d8c055b9f5c397b1b81e8af10a03ac9acfc071070e1c084de339664bd83320db12a435c8ad2bcfb9a85e2cb52320031587c3aced3c058dacc4caac79db6559f8ad3efe51fb23e1c241be4bcfe1ee9a03eff700b111faa733099d94f6a63fd4abda7be5ff1cc6f9ea28a5378ff76896090356521b43abe1af656bf53ef49fff650232838b41906476047e5f6d77e7f20c130375d2e28b5c959492f924279c3c7d54a3ae6559ee1d029636bbbbf9b472c2402503ecbc1d6dc2d628dfd421be5175baf73a38344da6d065fbcb2097dfffa073f0f0035d6c2b68f40cf1a4487d04f5b8165f583c00ee9876e2d46262b46ca6f50ccaf303f31cac937280810eb75b19360ef0639a113edd1f6b3c6030edb982b201b21e5a0219ffff037cace2cfe2f445fe8dd4c863346407790cf0975b716bb0186cef25ab9c1281fc0308572b6dc1077ec588508974ee8b0694bc0049253a2990e8e0b8614121722f1603606da2abc4f2237b5d264141569b1d274cf828d886ad167f953a912298d5ee45032d42c2351532f25e83c3ba84c4a2663b3c56868a42b0a758f27ae8fb2b7b7de003278e6b29ff11f38b51d4870cdd8d30716ef6c95d922bfd3ed2166dc6ed63bd4e038e7ce02b2794dd6f35d0208705fc7f586f626792598b1ef9ce8c66e1ed45f72903ba629201ef345667da3b0072c079c689bff88a509f5093c2b8c32802712c6819037e9787a3d76041bbe156b9496fcd079f6c06177aaddc3c0fb5f05a107ef637f803b6bf9aae16ca7d5af2bf20915029bf0d0912c19ad3779f6cd29eedc454c7652603bdb4715f0407e8ca643a0f0ccbe7cd90a56190856ff5ff6844f869b74b1e636f030f4a9b695806cfdfa9423efef996d64ea21dc771fbe1192d779f6f92b5fb0b4603baa2e8140677c858ad3b27a61813acd39cad547458d342dc839c72504d7bb7cb03b96cfce0e27e3d5bd2994bf02c96e9d356ffe3bf060e8efb787a694ad556eaa203ebccb9712f9e10b435abcd5c92d8188f21d914c7e3fad07d4004adfc535326de03ff1975b8e5cb33b14bfa80856147a021751dc1f2d76b9500926ffd23f844aa5b0334ea246fff9abd8fea9249dd6826d87a94cb4731bec64ee97dd2ee2ee2461e4503c0fe3f128fedd3b89a127d814343b63edb5902c56d3d91be77c5182646ccea800379ee130582548047b599b36e70a3f4f6c4970b475e24738aacd44182e6ad96f005581e0355750baaa11843888a39b1003b0a32717a5bb438fd356f98f4cabefa70040105581e030da2a31654a4eda2dff7c12c212da5f258bbce40f8100c81904d81fb30040205581e03348603e3cb17fa61c51a2823dd49ed1eb1549bd8eb81a783d1c27bbdc0040104590eac608060405234801561001057600080fd5b50600436106101165760003560e01c806370a08231116100a2578063aa74e62211610071578063aa74e62214610352578063d5934b761461035a578063d5abeb0114610362578063dd62ed3e1461036a578063fca975a11461039857610116565b806370a08231146102cc57806395d89b41146102f2578063a457c2d7146102fa578063a9059cbb1461032657610116565b806323b872dd116100e957806323b872dd146101fa578063313ce56714610230578063395093511461024e57806340c10f191461027a578063570ca735146102a857610116565b806306fdde031461011b578063095ea7b31461019857806318160ddd146101d85780631f96e76f146101f2575b600080fd5b6101236103a0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101c4600480360360408110156101ae57600080fd5b506001600160a01b038135169060200135610436565b604080519115158252519081900360200190f35b6101e0610454565b60408051918252519081900360200190f35b6101e061045a565b6101c46004803603606081101561021057600080fd5b506001600160a01b03813581169160208101359091169060400135610460565b6102386104e7565b6040805160ff9092168252519081900360200190f35b6101c46004803603604081101561026457600080fd5b506001600160a01b0381351690602001356104f0565b6102a66004803603604081101561029057600080fd5b506001600160a01b03813516906020013561053e565b005b6102b061060b565b604080516001600160a01b039092168252519081900360200190f35b6101e0600480360360208110156102e257600080fd5b50356001600160a01b031661061f565b61012361063a565b6101c46004803603604081101561031057600080fd5b506001600160a01b03813516906020013561069b565b6101c46004803603604081101561033c57600080fd5b506001600160a01b038135169060200135610703565b6101e0610717565b6102a661071d565b6101e06107bf565b6101e06004803603604081101561038057600080fd5b506001600160a01b03813581169160200135166107c5565b6102b06107f0565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561042c5780601f106104015761010080835404028352916020019161042c565b820191906000526020600020905b81548152906001019060200180831161040f57829003601f168201915b5050505050905090565b600061044a610443610866565b848461086a565b5060015b92915050565b60025490565b60085481565b600061046d848484610956565b6104dd84610479610866565b6104d885604051806060016040528060288152602001610de1602891396001600160a01b038a166000908152600160205260408120906104b7610866565b6001600160a01b031681526020810191909152604001600020549190610ab1565b61086a565b5060019392505050565b60055460ff1690565b600061044a6104fd610866565b846104d8856001600061050e610866565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610b48565b60055461010090046001600160a01b0316331461055a57610607565b6000610564610454565b905080610583576105758383610ba9565b61057d61071d565b50610607565b600061059a600954836107ff90919063ffffffff16565b9050600854811015610604576008546000906105b69083610c99565b6008549091506105d0906105ca8684610cf6565b906107ff565b935060006105e984600754610c9990919063ffffffff16565b9050808511156105f7578094505b6106018686610ba9565b50505b50505b5050565b60055461010090046001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561042c5780601f106104015761010080835404028352916020019161042c565b600061044a6106a8610866565b846104d885604051806060016040528060258152602001610e5260259139600160006106d2610866565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610ab1565b600061044a610710610866565b8484610956565b60095481565b600660009054906101000a90046001600160a01b03166001600160a01b031663570ca7356040518163ffffffff1660e01b815260040160206040518083038186803b15801561076b57600080fd5b505afa15801561077f573d6000803e3d6000fd5b505050506040513d602081101561079557600080fd5b5051600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6006546001600160a01b031681565b6000808211610855576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161085e57fe5b049392505050565b3390565b6001600160a01b0383166108af5760405162461bcd60e51b8152600401808060200182810382526024815260200180610e2e6024913960400191505060405180910390fd5b6001600160a01b0382166108f45760405162461bcd60e51b8152600401808060200182810382526022815260200180610d786022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661099b5760405162461bcd60e51b8152600401808060200182810382526025815260200180610e096025913960400191505060405180910390fd5b6001600160a01b0382166109e05760405162461bcd60e51b8152600401808060200182810382526023815260200180610d556023913960400191505060405180910390fd5b6109eb838383610d4f565b610a2881604051806060016040528060268152602001610d9a602691396001600160a01b0386166000908152602081905260409020549190610ab1565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610a579082610b48565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b405760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b05578181015183820152602001610aed565b50505050905090810190601f168015610b325780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ba2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610c04576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c1060008383610d4f565b600254610c1d9082610b48565b6002556001600160a01b038216600090815260208190526040902054610c439082610b48565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082821115610cf0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610d055750600061044e565b82820282848281610d1257fe5b0414610ba25760405162461bcd60e51b8152600401808060200182810382526021815260200180610dc06021913960400191505060405180910390fd5b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205643a0714c66ebf867e7b640553c03469fb8be409a5429524c6762d39e6826ee64736f6c634300060c003303023a5c2ab0582b0e776357372b0ebf2fe81d79f87930fffbc15755b02d73375803c83443158c3cbc6a7dfc06605a4f94efcc07850a0f597cea4ed5a4019b5e0ce40397c07f294aed18469ed259f26dc97de9b6f640297b0cfa164f51b47992e5215e03cc3dd3dcbb53129a3d7ae52a8ef379ff2f275b845a1c041b38e0ddf95c3c82e503e7927eeeda2e2e8ab614cacd30a3c046d78859f574089ec7d1ba77780adabef203bb993c95b8c43e5bf767de4fc20a117ea95d7d221d1c0b3024e8cca2cffd7145037b1571be3c39f955ae3d248a511613ae8e2b2922e4fe270a4bd749e42ca85d8c03d6f8686096d705e28f90ab8875f8b901ab81f99c0f33ab05028a24e1f22855ee03055d087bb8ba211d3cc8215c6ad2ad76300bc98fc4237fbad1c36ca6a6455dd60308b7db4374d94f0861e0059b08dbe40c992b051df8c41135695ea47db286438503afc4382bf44bf51c65d23018b3b4272da0e6cd5adb41542474d0dc2fc3006c5100581f02186f2917c4f72e60fad334c57c2924a89827c35302be1efaf7695503234e5820ffffffffffffffffffffffffffffffffffffffffffffffff97a397d7b90fffff00581f0208dc70988b966ed7dd260d26beaf9c390313ca1e6e57d8847b3720a70e744901964f310bc34457a903b68b705892c9d23f3b9bb129c287d0b13a7a212852419dd8b41289f604313e7400581f02bbea890dcdff2d7eb8a57245ad62ebe13fb686b26bd26962b7aaf26798045820ffffffffffffffffffffffffffffffffffffffffffffffc3112fef5730a7226d03eaf549b861827b080d50c0c1965df41f34ea028daa68748cded106f408b21738034e6fa79d563466250ea30fc83feb9e4bf140946b9032391b236e1d67da52271900581f0236e3841dd62790d00e4a14c36ae93d767adea7f2c5e74ff0270809b431655820ffffffffffffffffffffffffffffffffffffffffffffffe0187f714a0a3c9ad6037da91f9242747a66b8424ffa99e03d4bb6cf1b4ae657aa94bc128087780193a503eb455d4ecfac4d968b41bda433feddb79a7683e07b8bc2f6778f43824764bca600581f026384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db055f403c135812408bfbe8713b5a23a04b3d48aae3112030d9fdb327c447ef2af50167fbecaa0ac6a3b9e550fb83fd7e6bb5d141afd1ad703894d88edc85aa254841d5a46fef903566a2035c8989546fff490c7a235dac8e003ec7630e3aff2ddc6404efefabfba4f40b70c0234ebaad50d27ffdf4f79c3f7850219efff0329d276b85f55f26288345ccb162898ca21cb316b372226696829cb3d37382f20031937d1c2a50cc8f1328d96d3bfe840e41b2042bd0ede519232305a63c2c4180d03adc80eb9219934e90019af1e7c3f4f42aae95466ebdd40b7c1faeac80ba246c5037e64ab2f77ed0a8cf72896e42ae9ffdd4a72671addfc117008b847c122f6e2610305eb5733b6a4e617d9d05039148cc9f12a24553eef73ebf1b0e978e9e07447b8034b909f6597df9531af0b31144bf69997c7e6892920d7077d9accddcc74c158c503f1838fbe448f7b940ab3369481f7102829f3a60302620508fd97bb2a624d152403f6dc1be774c67dc870d037eaae5ed6803a613c06be0d67922c71e1d07089e7950370bc578871db3561763d1e1254d54b0ef1745b9965893648bf58992ca16d1ef80219ffff03f88bb30329911300bc5eea1e9e6e37c1ea765e7645f6a4b77284df4b9489e83003f834d087c4992b46c316c446abbedab8ae543281f942a55b2c3ad6cc56e9c74d03a05fddfd45a665d42ba88183262e63bf66bdaac0dbcea5a2a8c933585501fbfc0323aec6b68f1ef36ea161898cae729baf209f2b63b3d35da8fab3d737c591a2170380d5bed0636670f8384b74335eed834b7d8951c67cfacacec930617e1e45c81503da01fe1d99d757efced9f5627417d7e7b8c9b57a57664c9e1ca158b9ec3e082503522c531ddf750aaf1f2566881cff8376ea6b9367ca9d91927c061436563f1c6303895d3f7e6f336f86720b93dc374dcc839538a943294476752827a74bb72817b40372bd3e5df16a34d60e2d12849755c8f9aa6ff1e41a723e5431cadc0c929cc0c80352258b2a2225f15a5a56998296702ef6c488dc4c38efed5adabf8c40b2218d8703477a8761a8b8d77989bedd3514da0a0532ceb63812b7dfa65221be3f3c8b32b203b7467f2c42c04d281b009cdc16902a4080a7162cbe373eab58146e40073af1340219ffff03887b6f5eb88981d3034ee7407bb0fdd183cf1891744bd2f77233e5b28c32514f039534e2535bfedd600ec4478dd9d20d22eef72b7066c4187ed414bf8453f54d4f035996a777eec0d9c58407f0b17686578453986c4497ccfac28dd6a12558dbf132035489780b277e356a465c6a7a2e2ce5c7eb357e47448625461c9e43b12ee1bf7d0306958fcd592438bbc17583f2f0691c5b304175950551282dfe57b35645a21bb90321d1465824fb34e7ad3cb1c6972f0d626b77803aa6ff733712598a194ffdd9ae0307555514c551d0e5bfba271035fe926f14800743e62c0f56f6d8351ed159d9ff039c67456e840fa9731833f0ce2be6116abf12464a4e6403b759dd667577b67fb800581f025b80e99e330ec6b8afa06d888c5c6aaad3ebef48309820b9e979cbdfe6c05820fffffffffffffffffffffffffffffffffffffffffffffde6754169f18a3e5f5803afab3190a21901971fac9d735f32909ed32c37213e3b62d8b378e2dd7fa3eb9c00581f02a93c295138d5f3576dc5c821b0dcd9d2c04b6be83a5fd0932b50c9fe51715820fffffffffffffffffffffffffffffffffffffffffffffffc1e12ba06d5cc5a6b035ea80cbdfcd683cd0b0cec9e2b52240f75da6323649fe08e7f81e6ba3b56babd0391cb94cdff33068a0474f47016518568ec7f5f80132c8433f0bf763256c853d800581e02600733e42500939237ad6d1bc93ca2464a967696eb822eb5c4fb3ac7dd4828ea088f07e8c29000581e0274600f76c8a24d4e963e2c08444c8d1f97c227bfdef454ce1dff799fc74906e03223c5fa9407ca0219240000581f03a01d409dd3ee2ca3686d319b8aa55aa5a32df12e36b3e24505b3413cb2305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f030af323ecffe74561ae9714e58fe0e56daa89c237900b8643636f656130d05820fffffffffffffffffffffffffffffffffffffffffffffffb5baf6c4da272540002184600581f02e9f9c3b3f54884af2a66cb820175e72b5e47e8edc5e53344084497b133545820ffffffffffffffffffffffffffffffffffffffffffffffb0f2a54e29197df3ff03d7e0f17c90b67421edb5178edf6a5418d2adc18fae5c26c1b8a8c8962dabe74300581f02e7d72c4af1806eade469340096adb489417d134f5782dc3e7a79e17b0b584804a24d4e2ba1140003f932475849ed6c0ce0dd1c25acf2c78c8c3b28de99702f1132f647d3d72d120a00581f023d630d1aae6078ebca613ece8bfb4bce0ea855147dd4e0a98af8060b11dc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0349dd02ec167075bb76aba8101d9aef08b132efbfec74a3f59309f78efc905e5b0219baf703dbcdb77ec15449f4420a73665c91b956c790f95dda90910a6496b142800df5e303170db72ea7c82114a7a7689bd6ec90807d4fc1e88458d9f3c20b0eaddb0ae15e033b68fb97959e01bcf0636ff87d46fc1f1ea4b38430b08231d146f4928b73379f034b178de3362558bda45cf9623bba00821fae635132ac06b57988e0a85133292f039c1ca739b3306fa71c9068f2663ead2ec687c0a36d5e2901696ca317c63f47f20301026f3b7457fdaec925fd6872690d4233a9e0af06687fa63487fd780797192e0397e0a736d65b4b84b62f9d13a0dbc2febd18237169e3ee35ba84ab39adaaa3bf03255ebb8d96856704b6360defad5c62b35a22b7258f19c5c2cab7d4e05a6bf71a03104276889b335bee335cc77cd518c7577b139d26b0b45a70faba7a8b78049dde035143871b280e73eb40994b13455f034dc14b8779a9d92a1eae882eae97e3114d03098663f1e1fa24b94b0c4dff1758934b05296c7b52e244e3e411e8bc33a7808103b27faf62019c10e3f277118075b2afbb912c28b5d0a25f6ebfd5c7e61167ff070219ffff030d76fa9d4dc0f9f110c911908ca1ac1faf6c46007915297c7857c4cee04ce0a90303ae48bbf181159c50f3cdfe256378f0753bf716d8c03ccb56586490604aa3e5038570dea23db5b6241ed8e91ea6a457d51048d0604437d355fb1522992b3f7e500316c872dd2a2f42cec9fd10cb71e2b31b9c1c58fcd31525608d521d604ec6b26a0365a9511e0ca65a7e1aff44740fd3376e51277f1b4a46b0246412fa5920fab2f90305449ab7c69216e9f1e4127f32186d1bb4ffa7d818fba15f51001128bf2dac220315c123db20b8bbc322e736b594abbb5f059f2848d48eaca699c3181380f6d5b7032aeb72f480fd42a7d86c221a2a2d7c69ebe815effb545fe5cb4cfebbddc78db203a5e9d9106f8c7ace74872957d36b8cf7aff7ea8926462d567988d87a08c3aa5003ac197f2135ff0291e846a489c9474bc6af76bef3836f2b87ae38973f5607b42603bafd5780385ad193e6953285d66c8069c98710f5f9aa7df459266a0fb3e03af003d9d2b2cc671cb6a4d39f6149960966f1503d02985318fb5a757a9eaaae11df3e0219ffff0341ab083ec04d6065485caa0321ecd114bfb0deb94225b682f43e4db70180a5a603974cc225c1d70bbd5af22cc967697a8b465497f91f87810d18bc8b576a4e36b0030a74593ac1830b9a2457207c4ee50a1ab5d99ed6fd32aca1b5429be571ccafd1037b673e80a52115a2edb7e2af2024f112c9f266e48b83b787c46087cb465ee3be032c9311b50dcc7980730230da9574b6711d0c62d2b2ac83b4f5258faa21ae6483034b2854e76f624a73913692846033c276edfb64131c7e08bfccb03a3c87b7acf90311780f2116e8b42ee35a0b2cb66e16a9cd93f1800c663858fa2dbbf2dc3905f800581f0261f107a892938f08292a8220565aa4f0dddf933adbc424c734cd09476b515820ffffffffffffffffffffffffffffffffffffffffffffffaef70a4acd413a934a039fecbdc39e14c42fe7082233f1c5c69ad526188c0d719cdf77541098e81a100900581f023e60206fcdc17d5b7a4630fc8ebe6f7f56adb23610e3e373c362f53cc20a5820fffffffffffffffffffffffffffffffffffffffffffffffe66cb340f6b02d0b700581f02620d115f0d5a814029277d95f58026db0f06280917b68d3919f17f00e0974201fd00581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04b526d617a8e3cea095ebb6600581f030cfe10e52f25d342bbff34b97ddd0e8533b38894197c700c6cb0da6ad55048690e3b41546f0da70219030000581f027809decb1f37859e4ff68400f292ee5e2330b457ec6f9a2201b9fb9f26685820ffffffffffffffffffffffffffffffffffffffffffffff6373b2509660a126ca00581f027a15e4125fb2eebecceb6ff633756465ba6db099670c1f5bd2d00514bbef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0353dc00931b192f91f9e7d8baf0f33398a3523332486ee2f180197137fbe239250314d2c42012f31c5c2f201f99565538a3044d60ad3a82616783f12be754ff7e7e030eca72b1d973159a9ea2f08892004830acd8a3199f80dbc6825e87020092b36300581f02c72e58f8ae35d1a056e02595a92a02160555404170b15740673cc37702fd5820fffffffffffffffffffffffffffffffffffffffffffffffcb2d1a79c4d3e852d03013f61e64ae954c4f09028edc016f9f2463defac14d8a65687a8e2ce47dbf3220219efef037bed8b76858828bc6e5972ae529d0c1748509f7d943d7b0d0463dd3a59d62edd0307d269c677402782b95641b7355b3ff564a537b8de62a14cb45783e6d788b3f503b1b1698f3c5046555060e8a947877b19db53b4ac71cf1911164fdc7731643e9103a87d2799014e251c7bea54a24547cf600288ef1e35fa6c8aafe5482485c330d00336a48818d9f335c5a50e8abdfbaf4822e4f5d0bedd03558940641be164b7f45103d25b91ccf6f2050a63f7cab8f3171bccba6318037885a7fae598c08e7d42265303d0b097fbfda9426ad2c6cba50b596aab489bdb515d242146adfe3783b685000b031ed8907577b4259521fc8a042fcab27e1bac24ecd6bfb9754957c42f9de4729b0318240cf79aa770eff21dcae8f4166e09d4bd6ce310757bd62417d4fdd788448d03d7389a4a6191cb0b4be5c07a190ff94273c7284cba1fa31b584a983d20f67c7f0219ffff0378a0db73fbb0f5473850ccd9efac2adf0bb4baa3b786d1388dbf789e7ad2248a033274a6b425631415d4349c18c491935c167e7dbf422865fb0a3acd1c709f37a6039cea3345a15b58ce28d1ad756fa11c64c3d538779f477c52ac28d402ee2e9c4a03b1cf1c6e1ec89bec9cfa218b2c3b1fbb8ba80412c1fa6c67bd4d58cd56b75269039ccc111ac0bdbec78ff6e26a123f88d1c5a76996feaeae122cdc4584d369b07303dadcdae46c6ea6cf72aab928bdb10a872a45456d5c710937eb27026b6904560003d2d001aaca9b51912300883374dd0ac963feaea2beabdc02d7632402090a54f503c42c0a7e2ee25cd548544e4556a8fc40f8c9d86a857ced6e2cef6036ac6172e10398d345060e4d9e445f0b97e948b4bbffba9be841014f01ce8291ed6752b7433d03fcead80aad5dc96676c1371e85c6187f2daee9977753a24a17261baf2c1bb33503c2b87b7e3b02d83798cdc439ed6bc010ee54ab0337041d82bbc73840af742b4f0354fe979087192c50b47d5a6a5abb440e2c0a507aa5af045a0f31337dbc48e56f034a89fd531ff077e9ee43986d7f9d94fc51924f9c573e4c10128886b2660a1d090372b737662a4ea690cacbe5f53bf3989d494bdda448b46103fe54101ac7fc06a103e1366063293461adea6fcd2dcfbb13a16196e2345c3f170916507cb71744bdb30219ffff03668db1a0f2644f2775133fb15d4c3b04ef2e8ebee917a042d0e564592420b07703c047aa24d5199db430e5a3e3ad43efb4d43c62b6dc8f4af11a3e4eaba35b72610310c8cb9d6f101e92196914f1d2ff6070f77cc06c2074dfdd9fcfddd0ba8bf856036383dfeda113b8828c24b6e0aba9549e6ca0b1c50904cf80d5aed922fce88ac80343f1c3c7083c0787a1e67d5c050e598ee3eb4bd5986019494dd6701de6e4d71903718fea7df7b5df2fd067c374e9fd9cff770882271288854633ddf5bf450a67be037a22a113fe37972c503b8662b0718fe162e62bbde58d5b18aacd4f435e8bca5203a6cc3fec5f3bd563409dee5383c941d958a4e35ffa60ee843cd01e5cbeaef5180375cb7e23b8f379d24f393ec9ef93d63a345ff515dceff497c19743e2221a270003c4ac383adc6ee2153cc6d3755bf8e30b13ba049af710c72eba712c7b306e57b503bbfecd82c1c5dfa76443546ebec72c75b6ec45fd630eaa38613b9c2261df1cf0034ebade8483d51f32b16287ae06e924fa16f2ed5fd4c1290a453e3b9bdf35d59f03444a556cc30acd13ec9db84b676dbc0e6e558d350343b2140d703061f89ca05703753a3a526975ef807be27450622809135963a9045f2ccbca00ee08cd526a26e603df7f0cf9b7c49552fa2a2a0948cfff510a3a9cf6c5cb00205f2ca862023a240c033f8c62d4d1c7cecdb6bf1af9b3d1716e01be508b2d0038aece847cb563aa2d8300581f0243658c3d14c411294b49f7f64631aee05737628a860eb4e3d80b6d5154d25820fffffffffffffffffffffffffffffffffffffffffffffffd5014b4c9c4f8287403d76903987f369e56485613f86a463b12edc1ad135f6071f00c8ea461d02b3b8b03576d6c8227da674d4959f7b0944ac5dcd199376e507eff11810b1776950694fe00581e0371b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04a152d02c7e14af680000000581e0315a0e84dcbc091a060df262c2e783f2927da6181c863d9d2698fdf94005820fffffffffffffffffffffffffffffffffffffffffffffffc90a4a86cc84a8aca021980020142004003846c1bbf040c85cfe72bc07f6a6fb483bfcf95cc429e257068ebbad9fe56063c01410600581f024d13e4d272f349234caaf05e6371fc294e475bc1f6ea7de45ab0f7ab42514805b3bff2703dffb103460c840ed80f5d4035b19311560cadef8ee321f7ee70946a74ef21ef254a19f703b2fc983f5c611b7a242d9634019e86bf340603d29d2b3af60a24b13192b8c76f03ba1da0df622867083a3a47a3abccf4a6d19a3b664432fd2196cffe74ae9ecf3503686512c48de4d5f77f37efef0847ef09dcd00eaf360fa0c4c9cb7529ef1ec58d03c8e8123e583fea706195c6bfd38a0cc2b1723944f18dac9693bc507a05b02f72033f8dec2269f32e02924fe229c4b9b22aa593ade254c7deb1a4b6bc504528c8ee00581f02d64802acfbccd86cbd528340bc7785414932616dfe7c070050afd97929925820fffffffffffffffffffffffffffffffffffffffffffffff483e7964a4f2f9c1b0219bfed03386060dce105d6784fb7c68807bc02631c41d8dd2ae5a387a69ec2d104b4ae8e03bdfd7955b0427a3e9380d234703b5a1ce4b1492eabc61c8d88043e467928b1120393dd23c319c862975ffeb10fca5ed043e6a8561e1041c56fe631d155c282c75e032b88655f9d41268251045b1f92a0a585b6a06b65b4c237197e191ae3d8046ad3037659ad5aa0c37d6676109eb7d309ee48b51d46792ca8ab7a2b14300662b75114032a75f7fb46a922de74d93043a21c59a5a30355e7dd20f77ad8d85ea061135e1f037fa3242a7e75f355a2ec5a3c742c602fb53f4cf94f6e657674e571fbf8a09e4603841bc59aa40dde01e796e67b7ef8fcf77d33933c260a94f9ea4ca7aa940393dd03f50405f943bcbd0f486424c36fc76d2bb4039dd20830ed1af662fd719d23e01b03e0639912d0d84e3a4cc8be407ce6ff6a6275f3fe3569fcbe7d1cf7742f0f282103479a2ad36b879d42dd8a5398a053db23dfc3f8cba2a106e5e99293369a17aa4303a3b2e04d414d762ae9e5dc1e75d7c332083f7b377186bbdc34090b5cd013d51b03b693cb75b3d4572d851afe50d0c7b4cba3c30715e134f91d6baabe0bbd09d6b003153515f23c5f0c0f05941d3e4da3ab060778b1990cd7ecccf584478db230656a0219ffff03ee4b1991a38ed108ed97c7f702947b9d51cfa09537eed2e2abf0647c5ec71f280219ffff039f033d81c445ee7dbccfafd72a390c3d591b17ed17ff6864fd0dbc284c3576ea033c93ad8d44a5d63fc0f1ed3b46f7e15e4ff4d7d4043a7e577bdc4b90ffb1db9703ef01064351fb8b8329761c82a2b3d759f8e4aa6d62f56295e2d2eac9d3693af203acc8dc59599efc8eb6141b8e131390f8c9ffb1d7d06f29e6668edf309882317e039c0a9dc1d2e8b032be27f9c15e91a1db00ca0d94574e7e92ee2021d8e5145e7c03db001941abe559e659f5a5cbfcf0f3f188759c230f72dddc330a44bf9ded7d1303a74d7b2d2bc931e7af82ffae8448afd2909e82ff29ecac5f513d3c32d864125403705aa9bc24b943a41255ff878b0f66a7ebd2cd4806a7a2c1007a9f5e2d97caa6034d36db1bf5bf3e5cbf77cc0c915dc8eb7e9fb3cb2eca73834d2cbb46aa9cd4f4031abfd229ea62e0f8d14be762b2353f2a261047e42469e890568e0cd79321a069035b26c13d1757936e272b4050d5f2ae5d83d8a9b96c24cefbdcca14b6cb0c64f003347c9b262294c6374c481e606e19f99c4a9956062c3300499091641cdd686643030abb895efc19ab22408a767dbb7c629671e23f17d6ff143bddf5d7394d114c2f03cc4fae5ebd6d4ab705be07f65ac99874d3bc945bd105c40fca9941cc361208bb037b31bb014dfc277f7a1dd4ce785b8b8782972c2961f471fa135042747ae957a303b0ed406216f6c40a41bae1ca7d25f71cfacb37e4ae5c6b80938218dd3b95d71e034871d24c49985816d8c1b609136d7ceab50b91240f0245d5b3c8e57a5821d13400581f0294193611693056cce8fd8bf49f5102e80c0db2eb746d637eec7e52bfbf365820fffffffffffffffffffffffffffffffffffffffffffffff14d018e7795dadbce03ec179a3531d7e6ab40be2bd54f2be2ea80de10c8c4782e27fb64ae0aaa4a17b803b69627d42b40b343c7d24f6097e99288fccde436401b04238621622e8e840d7f03e1b25e96f5dc5564ed8cc78c9b8294c9570768b2e79aae679e00f1e6b7b4ba17037978146f17566f2e3b8b561ee6965de4898f8dae1d0b0e0799f6ca7dd566440f0352c3cf09ed83b784b067831c8ce7d0af17b461bb386999f7bb3b7ac721e8fe75031f20fab5fb04c861d2dcaab894867d6d972effa666f66dea8af6927d36846f3100581f02023b07076fff61fbbfb78010179a4f79f067a6ae113527e77ede6f503a734cfffffa0ebac2c241523798670333ae4bd946dfc50a36f431fcb72226c290e93156fd0862e8303c7ce93d7f845800581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6884b52b7d2dcc80cd2e40000000308102cbd6a41daf1278d57213671f71505554888412ce6c812fbdc50eb3d071b03109db0c252ba1af40f4fd3389b97b2d0734b34d887ef3de3b484d80e454f143800581f02bc1a10c283013a136e9c72a3c8fb7995277cdb4b4e662dc32935ee5a42e45820fffffffffffffffffffffffffffffffffffffffffffffff5ad8258a413f8caf60219ffbf031b1a9c758fc651d78d14beac56023bd04cc8dd3e3a36c3d0cef121ca3b11b6ab03578ec21dae00cabc5bd7f39eb3e803d22edd6354874baccdb94522c7399875690344ced7f3f720fca907f1fafcdc5d92869e710ff8773f3f2eaccfdfa21900015303657480dfa245250d804281f21ce4335519030cb67b99e1de55005e6f255aa6c6033a9c6ea4e3af3a03a722a74f36e3142861c0c681b8b8b2e0a7f4cfa604f9bf42037cda05e4853b0c95ad5c3907abdb506a776e38391678b266b0d37fdc5852674a03ea500c6ccc84c9476f3a182fc43dbecd354e0cc61e88545fb69543172c4374e503073879626d1ed7d4c3b6e27151463a6f6c4b759b2295b539af12fe031fe4ece103164527601a0c2dc1ad8f8f5810f26dde4047c236b015eaa1a0105d159b29f46a0219ffff0393d431c1e3f60c4f98bd1cfa8a1b9b2abb1dcb70b99b2d202d4dee535301dd9a0303f6fc50a9c3938662e15f2c1fa96a5dda56dcb1141498279265f4bace4bbcaf0309796d44f742be7f1b61a8f539e250addba27ccac6c9aef42b068ec50b658a1c033f759b3a9a8f623886a1e9521be03e4943bd151b37edf1ae1b8a8e2d9c05e814035e4435bc189330628b8b9bdedbc33003cb784fc1f2cc45058b8cabc6bb2f3044032eb5313c2e6c622f3d65c90df642bd80659d677febd5d4d7d33086bbc284e0fe03f04ef45462a082a4224bea627a81667b198b2712461e5887e6bcf8e59740cbec03deb0d9c70ca93743216129aafd796bb1b31985518cc088f76f494d2bb26d57d80399bff7155fed716377bc81d0f8043e06ac161b45fc3b4b52ca4926ecb8ec6b7f0219ffff033b0ea7060b2fd66bf92f9f7f01e2c123542b5bdb4c354987f9a49a2fca48611a036b4eaf8134c7d59f933ecef924c630971f984f8348229332cca2ed81cde9da22037bee067dc5530a5ecd7c6500270e91f084c16ed8829c13f35ddd2c8f2dca034403ea1976de8fb22df4a950c2b8ea4148c6b347156c1723d8354ae352380f642adc0313a106d8233e5fdb0a3136e77faab6be57ee192c46a3bfbe029ae2eb41335ba103c5845c38d326135a60d5f93c1782ff49bb8dfd8d09771e310a6fe05df05818a603da555c30ae225d74eb3c644887ed51e14f1a892f0a9cd0d0ce80450f3c4f24b7037afe98d0511c81a3a56b0d39cdbf5b1aa1a6499956c9f515e4f06806cb450253033128307a3b1d31a32517314e3d263d006a4afd37427e632caad5d2ed73e7bedd0334972cdea9bf22a0b38f213f7e05d555299ecae5c5f75d648036485c878bbd0c0374512bbe13f540a8cc1ac28fe61f02f3f653ca5453841147b69f833dd90d6a270320fbfc6fb1825cfbbe7a6102de7e685a458f4e8ba6098ad36c340adf0c3956a5034e148c0aca79169714cf20061bab3b7fa2722677515171e1a2a0e2f2a57c558503533e21cda263927ad13c7eff79c4ac5e20b242fe2cb5442ca40401fd04fefdcf03b6af5f42a5d1a1230d888b522b3fb86c708bc6c33d8e027c6d1d67cfc2396dd103de46c1d1a505536af5fe03338db6855899a0d9733d4fe4e3261935fb919bfa9903f1379304f4dd0eee6fa7d6d357cd238a8e66a6dc68106d92feee1440c13ab2500310a22ad13e8c7a213811a22e09994fce6e6dad9cca7e9a9369d60ba87a7a9c60038717cd250bd30285c778b75e67d3fb63851f21e831e02d0e43f4c761adafcc4703b0ec66e6ea34c7a672715e7ce57d16964529a39a64bd1951f1fd784ca5185ae1036e27db6849ab37cdcad083439bb68b283386205004dc8fb995053fa9f6c398bc03095e32382cc3ae7755284c514f2f16e5bddc0d7772c7388bf8486549fa3d4bd400581f02ba47d47433c9008343cc809ab56b5732152a563612a9512c17719ce9705d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0327ef8f06c65160420bd3ffa298a1ec16076bbda9e4652e70696bcf346f8655c803dc0bf303f2a2151fce37081828d2ac9a5e115bacfba552d4350edf06127243bb0327111dc7a3e88abc380c83444d57c788123e3339e22844cb8b75cd7f76d1707000581f0205440592f1b56556549d87deb2bef131cda1f082cf31321a68d831300ae149049c11700a99ab210a03dcfeeb3d9799c45cf0a8ddb89ee5fd7c957b08c2073b67fd21490ed7fc091a7700581f03dd6d8f6f56014a3e97bd9bfc281115d9b2a0dec3a8ea5de318dda7d606904805126a179deb12c900581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee304203e800581f03ced376e1b5c7648b2261d724b22e8f28d3eb3a0c64a619045c0f07c90ae05820ffffffffffffffffffffffffffffffffffffffffffffffd75705b39643799c480219140203fdb72b16e59918ac251c9d30ef2e4781ffb7800b02a06b143d5efbfd7400950900581f02f2a953aead108a1fe720fae75630c1e24869abfa70fad41eac3c9d5128c9491838fa42352ea0b09003080c398a1f60bcacd996e1ec5c4095cd86b0b06aac8f80f1de96120af214c93a00581f02bca40f9b29283f09c7c7248ffbf969024faa1be821393b4e94595f3d81a94801dda0990c3eefe600581f025a52a7b43260cafcf35c0326bc004ab4eb0837adaf3f8470a08d8b5eb4705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02196bfb0219ffff0361d1bb7c6993691fb7b6a1ece373488a90dd7a963444845624415146e443de59035df35c213998ffac168d467dd509bc6d427c87c8ea7d9c9cf44bc7a84e24f8c603db3c97a9b7f3f2552a6357f7ba11bb19ff5465882ec1d6a32fac34c7a1da89fb03c3d642b598dc726dea6d85a6e8eecc8149d02ca2bd61e44e763651c181951ec803bf3cfc50cb13b50655b59dd597652ea0ea366484557c87bc776a1b0f245d71c003f81bc31aef10126afd3f49e1a743b5746a397d1f0993f471cb5e3aa33af30be603715d78142b2c620cf85afca8acf0194672c04177ad453e0a7981b2f116d61fb0030b19bdac3e146715ed3dd6bf18d232471eb36d26e2735311e633dad947b18073031af68e30aff11c8c3bb3d08f77299b64505990a7ae50e24b8cd5d0cb906ec94403f6de4a5022a107115fbccde49a45a5a61e321c8483b1291daa33cdbb4d31e095037820746e41d1cb2d22daf83a09e9f0e695a8429afbd2b556ebc13a7a5aa8b57803d3b25835c8d096bc9c36a65441bebad5d36eb21521d7a69ce5beeca99cd6f2a70219ffff0219ffff05581e03ef2bad863947be65cf5ab7795589c141735753a3736014bba16d622c900701190eac05581e037290b20c5a1b2a47fd7255f15649de70742ed78a25c3f0bf5745653480040105581e03869a4f01ccb250fe8a9798bfddc4e1f2f2f8bf719cde973cb948382f800c0247013e4fb2cf9e0005581e039a6642656c9648b09b00f749dd6cc290e976a02b62fc52035c7095b5400c02460ea6e6d3cc0005581e032f8bdec1f5005e034a103fdfaca32eac1024f291b7499e0b6208c0a920040105581e03158ec8db07a7e04c32c941760421ba29061b19cf1c953e4d16f8e901c00c02470300eb5039d18805581e03da544d4b2edb0fff57cea9ee67e136f029384c2b2781371d6883b0c610040205581e03688880c01cc1e6783d4afa18f83ecaa6177334f7a63d4f3c61b354a6700c01460a012317b0000219c5f703af4705b6db694463082fda8556d317dbe537a0d0005c4ead48b02ef135ac07420338f027f0c299a9f284ec92ba784d71b31aa00c758703ae1d9f77c26f5c395843036d4c47c1e9284eecf60be852a3b21e7702313a2878fd7a9a361d928824ba9abb03bca02b95af6dec96ef5d625a7b06912e320341e944ab54c0944bcc8e84483ab2035d0fadf3795843f3988f9495cc29b7b831d4eda19e353ad74191b1a7bb5ad8dc039bdecb995b63e2875f31173580f60a7467bee493f12001c5a84ae97aa496ed9d032ee1354f8edcf743c8c3edb4bc651989825deb99e403dff78ae07bf550ac28ca03072146829eb786fe807057d60c61b5cd402e98018f799912dac9a1cd73e8abc2033dfdbaf1b57e025e19312200848434d73635444506d0538746eddbd3181d08480219ffff03b36b2f7bb2f46756df1633df76119080fe93fb8430b64f198944d4270ac1d565039cf8b3f84893e5a07a10480e8c8d967a429ba329a904789428aa6237b65117a20351398196802c1b2014e831cb0ca8c7819b921049316b7a2c7bfa0826519ca9c0038ab3f3ed389ffafad61eca79c35325e66e87c5126b04f57292d493f3ee5fafd803f4ce51f3cfe611682185954bbd587c773b434e7f5c7f4501e01acaf3d357312c03a1889e753fab55bc50be031705424ab012854bd4208c6a7a8bed2f162f837e300369aad4cb55600e4e8edbe12e84de75f7a74701952fe124e26e75df9693ee936b0387ceed56abcce9f76793d042111d3ac35098d58f7ff8206989e2da2518fe451d030566f195934c42e20cc3ca8414e9491020c8481290ac5ae54dea65fe6018bbf303d181eab3f6197591da4fd819211411e250295da8fd13c8e65e9e1fa2afc6fed403441748adc11699c0a68781fb65dabfbb61e257d796205fa1d4ea37880dfcdadc03c38ef36956ff4dc59802d7a08ecad5f1748d8e5df7e700ec2dbf4e4e721e2f2403c7d39aa3960c83a785587cf4df7c7ec9f2832a9aa3f4b515c603c5cc6e859c2d03a859c48bab551b7a373ee9cda11c0d9f63c82c78b7f910c855a8782dd934637e0382b83b41884499bdcd2d1a5cbf60560991844a2d90dac03f66e0bf0d7a8a0abd0219ffff03fbb1f43adb3eae1fc2bdd69694289633369087b551cbe11d49f1fbf03240fd39030aa62b4a8cbe707a2e5afd5f4f6b1582397cab9aef37eb79f87d75bb910d324103c201114d7043b2fcd919cf1580582d2009b49936942b5e2bd78fad1091758592039d5fbba9ca86ed8e0be22233aec489ad8fab5957ba872373167e87ca78b0ea8203440302e056de9b69ba8ca7fe2246b569d1389b5547f303d888f22845c3c7f5fb030d3d5eea3981f4b263fcc057bfd107c369fa7041afc556d13b7485bc9954d08303d29576ad8d51bc90401daae6855508776bc1020d063f5d341f054a9417f0ad27032f767a16356d69fc716fc97d7a327cd0bd883114333bff3e90b14d6bb8cf1a1603582b48e56577804832a014d0246d83d783ca2591d8525d7522b735375a51897403dc3390e6dbeda1b2d68290e1ea395ce5f50431869ed8f769a665bf47eaa0102c0219ffff0219ffff039fe0eb6ac6e7d3bf38f0442705dc44b766202342d94fcff6b7024c093292294f03eec9dec7f70df607f468f3257ab856324e4e06bd8116c2d94db81b63c6d1c5c403601b01831cad5da03647b7573f5169bbc7fe3f824f04f61859dbedfe1459a17b03d14397e97cde24bc5d0de63ffd64fb7a9022f2bd0fbf2cc6d519701d1d7dccdf03102a673c7e0c89fdedc38028d18e7b5895ed4bf19c776a99c6abae09034d9cbd0350cafb41613738281ace31db66b14bee58efe178bfce359b4c400d66a8d103ff031b673ee55550bfae2e8d4ce01dff84d9ceb9612be30221ef564aaacac0fc090e03ea672de135e4728050c983a8bf2ed00e19c867b078bc63f3f5885dc79cb94793038c561d24b8bb644f3ffde1d12cc73a75e7208de78717e596cb1d3268db147bfe030cb0cf9303d09eda2379eaa28e11c17bed05e1ed3adc2020d637ce6232cb54690375256c098b40b569f5c722d6865c49e4ac44849457d7ef8c68aa7967acd16c29034b366c1821bfb3fafbfb4944dcb293b086d2b32c2a4fdf5b54feed224e984f0f038d53455c27e6e4efcfe6a9bf27c985ccec81fb4cb6e31de8f60fe531ac0d184603c37617e404ebd9c5c0dd769133cb001cb5d71e7bcdfb52a4368fa42c909880860306aad2734b49f34a20395ccceabe988cbb464ab9141ac206e7a48a3f01c8b451032ae196e7b67ba77a5611ef5db914c42d7a4d672bb47d29c64c162ff1185ac56f0333bfd58a84eac7a29391e857c029e0c04691098b22e5ad633e4e55409d62991d0365cd84d032197e42ca07542dfd8b990f23e1090b3f724c52015a67d5b7e3ff24037c11264d2782fcbd5a8bd924ba644cf4f74053570b994403d51a08c4f9df850c038c9522e57c81022171db8567e4e668732c42366b85ebe060f7bc6258b6d3f5ed036ad1db4025d7a948b9eada656e2d124ec4b2ff41005c8f86eda02df31aaeabdf035e88efe1987b1aa39768a1c64b10210d5b99b133115f44f74e6a0b6604c52fb703c9a94f336cf0e38e785b26186a8b2d9b1dd6cb38142c79cdca6cdf140d411cf6034c19033cdbc8b2eb87e8f2bd1d2784d3e9775d880054a65e973fce278db3e41c03d6dd1807ed4d8ae9783d3dba1b604319796ef9c0eb7f07740fc7158631e0e75403569cb6a91ec9415e41bd6211630146def3ad4fe8062bfd3b4d81c8052a06924003a4e590b93f9da7e09a6f388499621f5e2c2022ea2dc2462802a8ba2dfa5222bb03ba305238d4a7e48b9abd6df3081d79b49f1b28db4870e79d5e4c5d061dc128d7030f5826b2dfc1f181db2d98c23a6c6b8ba761def2d63a7d12dfba6fe980b9231c03751d130b2f6a254715d9ea8ae7b1722d502328c2c4bc65b2ee49410c6d0f0bda03a3ca5f089b11f1af81774873c6defe17aafb4ada5b6944902cc56f72c2b7da7303dda1e1ca7ab6d394b133d5b17dfe31815ac40843e42e860f05cd4727ac665b4c03bad98fbda8ee56499d98146a2a456288fed81daa99d804d5a501f2b372b502d30335cf88b9a48112385c92c9757ad50fc71a6fda81474ebcca855bc9432917b4f70379bd8c15006e7cbe381a1b1fcb5613ccee5ae310172533c9406ab6764b25d7e50304b3259f07257d074a484d5b468ad7a734d21ddee1f1dbba11356f02fd6e10320309d86d53837f9ce0bb544e0b78b3fc8168fd8ef4aa591390ea7a5599e8846e550333b7d82fcc73056a43ee319bcf7b467f4d02160923cd04d6934bd0461da3dbc1030a6e05354f3df5657e39c28787fad0405e6bcde450ff5a99aedbda63c5fa9c7c05581e03073ccb60088ed65b2cdcd17dbf2237833f3a592666ffab97f9b4068f300c01465d07c9654ef005581e03ffa00bed81e7a63c16cc6be208eb404c64783c85eb538c2335c2821fb0040603079d13cb899d61c3a7be7551e0951218215eaf80e2efd77651d9de745eac43cb03bd8d6e57d92bd80b7124d3fce3fda664e9c0fbba08e3f264991b48a75f52f5b205581d02ae0774dab360fb12d4a424babdf9c33f93120842f23905bb3ca8e355040505581d032bfc91e91bfbee19e348c320684dea308a0cd72f10799c016db5c250040104595741608060405234801561001057600080fd5b50600436106103155760003560e01c80639a6fc8f5116101a7578063d09dc339116100ee578063e76d516811610097578063f2fde38b11610071578063f2fde38b1461084f578063fbffd2c114610862578063feaf968c1461087557600080fd5b8063e76d516814610818578063eb45716314610829578063eb5dcd6c1461083c57600080fd5b8063e3d0e712116100c8578063e3d0e71214610793578063e4902f82146107a6578063e5fe4577146107ce57600080fd5b8063d09dc3391461076d578063daffc4b514610775578063dc7f01241461078657600080fd5b8063b121e14711610150578063b633620c1161012a578063b633620c14610736578063c107532914610749578063c4c92b371461075c57600080fd5b8063b121e147146106fd578063b1dc65a414610710578063b5ab58dc1461072357600080fd5b80639e3ceeab116101815780639e3ceeab146106a6578063a118f249146106b9578063afcb95d7146106cc57600080fd5b80639a6fc8f5146105f75780639bd2c0b1146106415780639c849b301461069357600080fd5b8063668a0f021161026b57806381ff7048116102145780638ac28d5a116101ee5780638ac28d5a1461059c5780638da5cb5b146105af57806398e5b12a146105d457600080fd5b806381ff7048146105515780638205bf6a146105815780638823da6c1461058957600080fd5b80637284e416116102455780637284e4161461053957806379ba5097146105415780638038e4a11461054957600080fd5b8063668a0f02146104e75780636b14daf8146104ef57806370da2f671461051257600080fd5b8063313ce567116102cd57806354fd4d50116102a757806354fd4d50146104b7578063643dc105146104bf578063666cab8d146104d257600080fd5b8063313ce567146104635780634fb174701461049c57806350d25bcd146104af57600080fd5b8063181f5a77116102fe578063181f5a771461034a57806322adbc781461035f578063299372681461039957600080fd5b80630a7569831461031a5780630eafb25b14610324575b600080fd5b61032261087d565b005b610337610332366004614b17565b6108e4565b6040519081526020015b60405180910390f35b610352610a05565b6040516103419190614b7a565b6103867f000000000000000000000000000000000000000000000000000000000000000181565b60405160179190910b8152602001610341565b610427600b546a0100000000000000000000810463ffffffff908116926e010000000000000000000000000000830482169272010000000000000000000000000000000000008104831692760100000000000000000000000000000000000000000000820416917a01000000000000000000000000000000000000000000000000000090910462ffffff1690565b6040805163ffffffff9687168152948616602086015292851692840192909252909216606082015262ffffff909116608082015260a001610341565b61048a7f000000000000000000000000000000000000000000000000000000000000000881565b60405160ff9091168152602001610341565b6103226104aa366004614b8d565b610a25565b610337610ca5565b610337600681565b6103226104cd366004614bd8565b610d63565b6104da61101e565b6040516103419190614c95565b610337611080565b6105026104fd366004614d78565b611127565b6040519015158152602001610341565b6103867f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffff81565b61035261114f565b6103226111e6565b6103226112af565b600d54600a546040805163ffffffff80851682526401000000009094049093166020840152820152606001610341565b610337611317565b610322610597366004614b17565b6113ef565b6103226105aa366004614b17565b61148f565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610341565b6105dc611501565b60405169ffffffffffffffffffff9091168152602001610341565b61060a610605366004614dc8565b611678565b6040805169ffffffffffffffffffff968716815260208101959095528401929092526060830152909116608082015260a001610341565b604080518082018252600e546001600160a01b0381168083527401000000000000000000000000000000000000000090910463ffffffff16602092830181905283519182529181019190915201610341565b6103226106a1366004614e40565b61172a565b6103226106b4366004614b17565b611920565b6103226106c7366004614b17565b6119b7565b600a54600b546040805160008152602081019390935261010090910460081c63ffffffff1690820152606001610341565b61032261070b366004614b17565b611a51565b61032261071e366004614eac565b611b45565b610337610731366004614f91565b612090565b610337610744366004614f91565b612130565b610322610757366004614faa565b6121c8565b6012546001600160a01b03166105bc565b61033761249c565b600f546001600160a01b03166105bc565b6015546105029060ff1681565b6103226107a1366004615097565b612545565b6107b96107b4366004614b17565b612dc1565b60405163ffffffff9091168152602001610341565b6107d6612e7f565b6040805195865263ffffffff909416602086015260ff9092169284019290925260179190910b606083015267ffffffffffffffff16608082015260a001610341565b6011546001600160a01b03166105bc565b610322610837366004615164565b612f44565b61032261084a366004614b8d565b613061565b61032261085d366004614b17565b6131b1565b610322610870366004614b17565b6131c2565b61060a6131d3565b610885613308565b60155460ff16156108e257601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040517f3be8a977a014527b50ae38adda80b56911c267328965c98ddc385d248f53963890600090a15b565b6001600160a01b03811660009081526002602090815260408083208151606081018352905460ff80821615158084526101008304909116948301949094526201000090046bffffffffffffffffffffffff16918101919091529061094b5750600092915050565b600b5460208201516000917201000000000000000000000000000000000000900463ffffffff169060069060ff16601f811061098957610989615192565b600881049190910154600b546109bf926007166004026101000a90910463ffffffff9081169166010000000000009004166151f0565b63ffffffff166109cf9190615214565b6109dd90633b9aca00615214565b905081604001516bffffffffffffffffffffffff16816109fd919061522b565b949350505050565b60606040518060600160405280602481526020016156e860249139905090565b610a2d613308565b6011546001600160a01b03908116908316819003610a4a57505050565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acb919061523e565b50610ad4613362565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b58919061523e565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038581166004830152602482018390529192509083169063a9059cbb906044016020604051808303816000875af1158015610bc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be89190615257565b610c395760405162461bcd60e51b815260206004820152601f60248201527f7472616e736665722072656d61696e696e672066756e6473206661696c65640060448201526064015b60405180910390fd5b601180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0386811691821790925560405190918416907f4966a50c93f855342ccf6c5c0d358b85b91335b2acedc7da0932f691f351711a90600090a350505b5050565b6000610ce8336000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061112792505050565b610d345760405162461bcd60e51b815260206004820152600960248201527f4e6f2061636365737300000000000000000000000000000000000000000000006044820152606401610c30565b600b546601000000000000900463ffffffff166000908152600c602052604090205460170b905090565b905090565b6012546001600160a01b0316610d816000546001600160a01b031690565b6001600160a01b0316336001600160a01b03161480610e2657506040517f6b14daf80000000000000000000000000000000000000000000000000000000081526001600160a01b03821690636b14daf890610de59033906000903690600401615279565b602060405180830381865afa158015610e02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e269190615257565b610e725760405162461bcd60e51b815260206004820181905260248201527f4f6e6c79206f776e65722662696c6c696e6741646d696e2063616e2063616c6c6044820152606401610c30565b610e7a613362565b600b80547fffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffff166a010000000000000000000063ffffffff8981169182027fffffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffff16929092176e010000000000000000000000000000898416908102919091177fffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffff1672010000000000000000000000000000000000008985169081027fffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffff1691909117760100000000000000000000000000000000000000000000948916948502177fffffff000000ffffffffffffffffffffffffffffffffffffffffffffffffffff167a01000000000000000000000000000000000000000000000000000062ffffff89169081029190911790955560408051938452602084019290925290820152606081019190915260808101919091527f0bf184bf1bba9699114bdceddaf338a1b364252c5e497cc01918dde92031713f9060a00160405180910390a1505050505050565b6060600580548060200260200160405190810160405280929190818152602001828054801561107657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611058575b5050505050905090565b60006110c3336000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061112792505050565b61110f5760405162461bcd60e51b815260206004820152600960248201527f4e6f2061636365737300000000000000000000000000000000000000000000006044820152606401610c30565b600b546601000000000000900463ffffffff16905090565b60006111338383613746565b8061114657506001600160a01b03831632145b90505b92915050565b6060611192336000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061112792505050565b6111de5760405162461bcd60e51b815260206004820152600960248201527f4e6f2061636365737300000000000000000000000000000000000000000000006044820152606401610c30565b610d5e613776565b6001546001600160a01b031633146112405760405162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e6572000000000000000000006044820152606401610c30565b60008054337fffffffffffffffffffffffff0000000000000000000000000000000000000000808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6112b7613308565b60155460ff166108e257601580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040517faebf329500988c6488a0074e5a0a9ff304561fc5c6fc877aeb1d59c8282c348090600090a1565b600061135a336000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061112792505050565b6113a65760405162461bcd60e51b815260206004820152600960248201527f4e6f2061636365737300000000000000000000000000000000000000000000006044820152606401610c30565b50600b5463ffffffff660100000000000090910481166000908152600c60205260409020547c010000000000000000000000000000000000000000000000000000000090041690565b6113f7613308565b6001600160a01b03811660009081526016602052604090205460ff161561148c576001600160a01b03811660008181526016602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905590519182527f3d68a6fce901d20453d1a7aa06bf3950302a735948037deb182a8db66df2a0d191015b60405180910390a15b50565b6001600160a01b038181166000908152601360205260409020541633146114f85760405162461bcd60e51b815260206004820152601760248201527f4f6e6c792070617965652063616e2077697468647261770000000000000000006044820152606401610c30565b61148c816137ff565b600080546001600160a01b03163314806115a55750600f546040517f6b14daf80000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690636b14daf8906115649033906000903690600401615279565b602060405180830381865afa158015611581573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115a59190615257565b6115f15760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c79206f776e6572267265717565737465722063616e2063616c6c0000006044820152606401610c30565b600b54600a546040805191825263ffffffff6101008404600881901c8216602085015260ff811684840152915164ffffffffff9092169366010000000000009004169133917f41e3990591fd372502daa15842da15bc7f41c75309ab3ff4f56f1848c178825c9181900360600190a261166b8160016152b8565b63ffffffff169250505090565b60008060008060006116c1336000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061112792505050565b61170d5760405162461bcd60e51b815260206004820152600960248201527f4e6f2061636365737300000000000000000000000000000000000000000000006044820152606401610c30565b61171686613a4b565b945094509450945094505b91939590929450565b611732613308565b8281146117815760405162461bcd60e51b815260206004820181905260248201527f7472616e736d6974746572732e73697a6520213d207061796565732e73697a656044820152606401610c30565b60005b838110156119195760008585838181106117a0576117a0615192565b90506020020160208101906117b59190614b17565b905060008484848181106117cb576117cb615192565b90506020020160208101906117e09190614b17565b6001600160a01b03808416600090815260136020526040902054919250168015808061181d5750826001600160a01b0316826001600160a01b0316145b6118695760405162461bcd60e51b815260206004820152601160248201527f706179656520616c7265616479207365740000000000000000000000000000006044820152606401610c30565b6001600160a01b03848116600090815260136020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000168583169081179091559083161461190257826001600160a01b0316826001600160a01b0316856001600160a01b03167f78af32efdcad432315431e9b03d27e6cd98fb79c405fdc5af7c1714d9c0f75b360405160405180910390a45b505050508080611911906152d5565b915050611784565b5050505050565b611928613308565b600f546001600160a01b039081169082168114610ca157600f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0384811691821790925560408051928416835260208301919091527f27b89aede8b560578baaa25ee5ce3852c5eecad1e114b941bbd89e1eb4bae63491015b60405180910390a15050565b6119bf613308565b6001600160a01b03811660009081526016602052604090205460ff1661148c576001600160a01b03811660008181526016602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590519182527f87286ad1f399c8e82bf0c4ef4fcdc570ea2e1e92176e5c848b6413545b885db49101611483565b6001600160a01b03818116600090815260146020526040902054163314611aba5760405162461bcd60e51b815260206004820152601f60248201527f6f6e6c792070726f706f736564207061796565732063616e20616363657074006044820152606401610c30565b6001600160a01b0381811660008181526013602090815260408083208054337fffffffffffffffffffffffff000000000000000000000000000000000000000080831682179093556014909452828520805490921690915590519416939092849290917f78af32efdcad432315431e9b03d27e6cd98fb79c405fdc5af7c1714d9c0f75b39190a45050565b60005a604080516101008082018352600b5460ff8116835290810464ffffffffff90811660208085018290526601000000000000840463ffffffff908116968601969096526a01000000000000000000008404861660608601526e01000000000000000000000000000084048616608086015272010000000000000000000000000000000000008404861660a0860152760100000000000000000000000000000000000000000000840490951660c08501527a01000000000000000000000000000000000000000000000000000090920462ffffff1660e08401529394509092918c013591821611611c795760405162461bcd60e51b815260206004820152600c60248201527f7374616c65207265706f727400000000000000000000000000000000000000006044820152606401610c30565b3360009081526002602052604090205460ff16611cd85760405162461bcd60e51b815260206004820152601860248201527f756e617574686f72697a6564207472616e736d697474657200000000000000006044820152606401610c30565b600a548b3514611d2a5760405162461bcd60e51b815260206004820152601560248201527f636f6e666967446967657374206d69736d6174636800000000000000000000006044820152606401610c30565b611d388a8a8a8a8a8a613b05565b8151611d4590600161530d565b60ff168714611d965760405162461bcd60e51b815260206004820152601a60248201527f77726f6e67206e756d626572206f66207369676e6174757265730000000000006044820152606401610c30565b868514611de55760405162461bcd60e51b815260206004820152601e60248201527f7369676e617475726573206f7574206f6620726567697374726174696f6e00006044820152606401610c30565b60008a8a604051611df7929190615326565b604051908190038120611e0e918e90602001615336565b60408051601f19818403018152828252805160209182012083830190925260008084529083018190529092509060005b8a811015611fb45760006001858a8460208110611e5d57611e5d615192565b611e6a91901a601b61530d565b8f8f86818110611e7c57611e7c615192565b905060200201358e8e87818110611e9557611e95615192565b9050602002013560405160008152602001604052604051611ed2949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015611ef4573d6000803e3d6000fd5b505060408051601f198101516001600160a01b03811660009081526003602090815290849020838501909452925460ff8082161515808552610100909204169383019390935290955092509050611f8d5760405162461bcd60e51b815260206004820152600f60248201527f7369676e6174757265206572726f7200000000000000000000000000000000006044820152606401610c30565b826020015160080260ff166001901b84019350508080611fac906152d5565b915050611e3e565b5081827e0101010101010101010101010101010101010101010101010101010101010116146120255760405162461bcd60e51b815260206004820152601060248201527f6475706c6963617465207369676e6572000000000000000000000000000000006044820152606401610c30565b50600091506120749050838d836020020135848e8e8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613ba292505050565b90506120828382863361409f565b505050505050505050505050565b60006120d3336000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061112792505050565b61211f5760405162461bcd60e51b815260206004820152600960248201527f4e6f2061636365737300000000000000000000000000000000000000000000006044820152606401610c30565b612128826141ea565b90505b919050565b6000612173336000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061112792505050565b6121bf5760405162461bcd60e51b815260206004820152600960248201527f4e6f2061636365737300000000000000000000000000000000000000000000006044820152606401610c30565b6121288261421c565b6000546001600160a01b031633148061226b57506012546040517f6b14daf80000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690636b14daf89061222a9033906000903690600401615279565b602060405180830381865afa158015612247573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226b9190615257565b6122b75760405162461bcd60e51b815260206004820181905260248201527f4f6e6c79206f776e65722662696c6c696e6741646d696e2063616e2063616c6c6044820152606401610c30565b60006122c161426e565b6011546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612328573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061234c919061523e565b90508181101561239e5760405162461bcd60e51b815260206004820152601460248201527f696e73756666696369656e742062616c616e63650000000000000000000000006044820152606401610c30565b6011546001600160a01b031663a9059cbb856123c36123bd868661534c565b8761444f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015612426573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244a9190615257565b6124965760405162461bcd60e51b815260206004820152601260248201527f696e73756666696369656e742066756e647300000000000000000000000000006044820152606401610c30565b50505050565b6011546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009182916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612502573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612526919061523e565b9050600061253261426e565b905061253e818361535f565b9250505090565b61254d613308565b601f8651111561259f5760405162461bcd60e51b815260206004820152601060248201527f746f6f206d616e79206f7261636c6573000000000000000000000000000000006044820152606401610c30565b84518651146125f05760405162461bcd60e51b815260206004820152601660248201527f6f7261636c65206c656e677468206d69736d61746368000000000000000000006044820152606401610c30565b85516125fd85600361537f565b60ff161061264d5760405162461bcd60e51b815260206004820152601860248201527f6661756c74792d6f7261636c65206620746f6f206869676800000000000000006044820152606401610c30565b6126598460ff16614466565b604080517f010000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000001821b60218201527f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffff90911b6039820152605101604051602081830303815290604052805190602001208380519060200120146127425760405162461bcd60e51b815260206004820152601560248201527f696e76616c6964206f6e636861696e436f6e66696700000000000000000000006044820152606401610c30565b6040805160c0810182528781526020810187905260ff8616918101919091526060810184905267ffffffffffffffff8316608082015260a08101829052600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000ff1690556127af613362565b60045460005b8181101561288e576000600482815481106127d2576127d2615192565b6000918252602082200154600580546001600160a01b03909216935090849081106127ff576127ff615192565b60009182526020808320909101546001600160a01b03948516835260038252604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016905594168252600290529190912080547fffffffffffffffffffffffffffffffffffff00000000000000000000000000001690555080612886816152d5565b9150506127b5565b5061289b600460006149bf565b6128a7600560006149bf565b60005b825151811015612bb45760036000846000015183815181106128ce576128ce615192565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff16156129425760405162461bcd60e51b815260206004820152601760248201527f7265706561746564207369676e657220616464726573730000000000000000006044820152606401610c30565b604080518082019091526001815260ff82166020820152835180516003916000918590811061297357612973615192565b6020908102919091018101516001600160a01b0316825281810192909252604001600090812083518154948401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00009095169015157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff161761010060ff90951694909402939093179092558401518051600292919084908110612a1857612a18615192565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff1615612a8c5760405162461bcd60e51b815260206004820152601c60248201527f7265706561746564207472616e736d69747465722061646472657373000000006044820152606401610c30565b60405180606001604052806001151581526020018260ff16815260200160006bffffffffffffffffffffffff168152506002600085602001518481518110612ad657612ad6615192565b6020908102919091018101516001600160a01b03168252818101929092526040908101600020835181549385015194909201516bffffffffffffffffffffffff1662010000027fffffffffffffffffffffffffffffffffffff000000000000000000000000ffff60ff95909516610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff931515939093167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000090941693909317919091179290921617905580612bac816152d5565b9150506128aa565b5081518051612bcb916004916020909101906149dd565b506020808301518051612be29260059201906149dd565b506040820151600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff909216919091179055600d80547fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff811664010000000063ffffffff438116820292831785559083048116936001939092600092612c749286929082169116176152b8565b92506101000a81548163ffffffff021916908363ffffffff160217905550612cd34630600d60009054906101000a900463ffffffff1663ffffffff1686600001518760200151886040015189606001518a608001518b60a001516144b6565b600a819055600d5484516020860151604080880151606089015160808a015160a08b015193517f1591690b8638f5fb2dbec82ac741805ac5da8b45dc5263f4875b0496fdce4e0598612d3c988b98919763ffffffff90911696919590949093909290919061539b565b60405180910390a1600b546601000000000000900463ffffffff1660005b845151811015612db45781600682601f8110612d7857612d78615192565b600891828204019190066004026101000a81548163ffffffff021916908363ffffffff1602179055508080612dac906152d5565b915050612d5a565b5050505050505050505050565b6001600160a01b03811660009081526002602090815260408083208151606081018352905460ff80821615158084526101008304909116948301949094526201000090046bffffffffffffffffffffffff169181019190915290612e285750600092915050565b6006816020015160ff16601f8110612e4257612e42615192565b600881049190910154600b54612e78926007166004026101000a90910463ffffffff9081169166010000000000009004166151f0565b9392505050565b600080808080333214612ed45760405162461bcd60e51b815260206004820152601460248201527f4f6e6c792063616c6c61626c6520627920454f410000000000000000000000006044820152606401610c30565b5050600a54600b5463ffffffff6601000000000000820481166000908152600c60205260409020549296610100909204600881901c8216965064ffffffffff169450601783900b93507c010000000000000000000000000000000000000000000000000000000090920490911690565b612f4c613308565b60408051808201909152600e546001600160a01b038082168084527401000000000000000000000000000000000000000090920463ffffffff1660208401528416141580612faa57508163ffffffff16816020015163ffffffff1614155b1561305c576040805180820182526001600160a01b0385811680835263ffffffff8681166020948501819052600e80547fffffffffffffffff00000000000000000000000000000000000000000000000016841774010000000000000000000000000000000000000000830217905586518786015187519316835294820152909392909116917fb04e3a37abe9c0fcdfebdeae019a8e2b12ddf53f5d55ffb0caccc1bedaca1541910160405180910390a35b505050565b6001600160a01b038281166000908152601360205260409020541633146130ca5760405162461bcd60e51b815260206004820152601d60248201527f6f6e6c792063757272656e742070617965652063616e207570646174650000006044820152606401610c30565b6001600160a01b03811633036131225760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610c30565b6001600160a01b03808316600090815260146020526040902080548383167fffffffffffffffffffffffff00000000000000000000000000000000000000008216811790925590911690811461305c576040516001600160a01b038084169133918616907f84f7c7c80bb8ed2279b4aab5f61cd05e6374073d38f46d7f32de8c30e9e3836790600090a4505050565b6131b9613308565b61148c81614544565b6131ca613308565b61148c81614605565b600080600080600061321c336000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061112792505050565b6132685760405162461bcd60e51b815260206004820152600960248201527f4e6f2061636365737300000000000000000000000000000000000000000000006044820152606401610c30565b6132f7600b546601000000000000900463ffffffff9081166000818152600c602090815260409182902082516060810184529054601781900b8083527801000000000000000000000000000000000000000000000000820487169383018490527c0100000000000000000000000000000000000000000000000000000000909104909516920182905291938490565b945094509450945094509091929394565b6000546001600160a01b031633146108e25760405162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610c30565b601154600b54604080516103e08101918290526001600160a01b0390931692660100000000000090920463ffffffff1691600091600690601f908285855b82829054906101000a900463ffffffff1663ffffffff16815260200190600401906020826003010492830192600103820291508084116133a0579050505050505090506000600580548060200260200160405190810160405280929190818152602001828054801561343b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161341d575b5050505050905060005b81518110156137385760006002600084848151811061346657613466615192565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160029054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff1690506000600260008585815181106134d2576134d2615192565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000160026101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555060008483601f811061353f5761353f615192565b6020020151600b5490870363ffffffff90811692507201000000000000000000000000000000000000909104168102633b9aca00028201801561372d5760006013600087878151811061359457613594615192565b6020908102919091018101516001600160a01b0390811683529082019290925260409081016000205490517fa9059cbb00000000000000000000000000000000000000000000000000000000815290821660048201819052602482018590529250908a169063a9059cbb906044016020604051808303816000875af1158015613621573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136459190615257565b6136915760405162461bcd60e51b815260206004820152601260248201527f696e73756666696369656e742066756e647300000000000000000000000000006044820152606401610c30565b878786601f81106136a4576136a4615192565b602002019063ffffffff16908163ffffffff1681525050886001600160a01b0316816001600160a01b03168787815181106136e1576136e1615192565b60200260200101516001600160a01b03167fd0b1dac935d85bd54cf0a33b0d41d39f8cf53a968465fc7ea2377526b8ac712c8560405161372391815260200190565b60405180910390a4505b505050600101613445565b50611919600683601f614a5a565b6001600160a01b03821660009081526016602052604081205460ff168061114657505060155460ff161592915050565b60606010805461378590615431565b80601f01602080910402602001604051908101604052809291908181526020018280546137b190615431565b80156110765780601f106137d357610100808354040283529160200191611076565b820191906000526020600020905b8154815290600101906020018083116137e157509395945050505050565b6001600160a01b0381166000908152600260209081526040918290208251606081018452905460ff80821615158084526101008304909116938301939093526201000090046bffffffffffffffffffffffff1692810192909252613861575050565b600061386c836108e4565b9050801561305c576001600160a01b03838116600090815260136020526040908190205460115491517fa9059cbb000000000000000000000000000000000000000000000000000000008152908316600482018190526024820185905292919091169063a9059cbb906044016020604051808303816000875af11580156138f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391b9190615257565b6139675760405162461bcd60e51b815260206004820152601260248201527f696e73756666696369656e742066756e647300000000000000000000000000006044820152606401610c30565b600b60000160069054906101000a900463ffffffff166006846020015160ff16601f811061399757613997615192565b6008810491909101805460079092166004026101000a63ffffffff8181021990931693909216919091029190911790556001600160a01b0384811660008181526002602090815260409182902080547fffffffffffffffffffffffffffffffffffff000000000000000000000000ffff169055601154915186815291841693851692917fd0b1dac935d85bd54cf0a33b0d41d39f8cf53a968465fc7ea2377526b8ac712c910160405180910390a450505050565b60008080808063ffffffff69ffffffffffffffffffff87161115613a7d57506000935083925082915081905080611721565b5050505063ffffffff8281166000908152600c602090815260409182902082516060810184529054601781900b8083527801000000000000000000000000000000000000000000000000820486169383018490527c01000000000000000000000000000000000000000000000000000000009091049094169201829052939491939250908490565b6000613b12826020615214565b613b1d856020615214565b613b298861014461522b565b613b33919061522b565b613b3d919061522b565b613b4890600061522b565b9050368114613b995760405162461bcd60e51b815260206004820152601860248201527f63616c6c64617461206c656e677468206d69736d6174636800000000000000006044820152606401610c30565b50505050505050565b600080613bae8361468c565b9050601f8160400151511115613c065760405162461bcd60e51b815260206004820152601e60248201527f6e756d206f62736572766174696f6e73206f7574206f6620626f756e647300006044820152606401610c30565b604081015151865160ff1610613c5e5760405162461bcd60e51b815260206004820152601e60248201527f746f6f206665772076616c75657320746f207472757374206d656469616e00006044820152606401610c30565b64ffffffffff841660208701526040810151805160009190613c829060029061547e565b81518110613c9257613c92615192565b602002602001015190508060170b7f000000000000000000000000000000000000000000000000000000000000000160170b13158015613cf857507f00000000000000000000ffffffffffffffffffffffffffffffffffffffffffff60170b8160170b13155b613d445760405162461bcd60e51b815260206004820152601e60248201527f6d656469616e206973206f7574206f66206d696e2d6d61782072616e676500006044820152606401610c30565b60408701805190613d54826154b9565b63ffffffff1663ffffffff168152505060405180606001604052808260170b8152602001836000015163ffffffff1681526020014263ffffffff16815250600c6000896040015163ffffffff1663ffffffff16815260200190815260200160002060008201518160000160006101000a81548177ffffffffffffffffffffffffffffffffffffffffffffffff021916908360170b77ffffffffffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160186101000a81548163ffffffff021916908363ffffffff160217905550604082015181600001601c6101000a81548163ffffffff021916908363ffffffff16021790555090505086600b60008201518160000160006101000a81548160ff021916908360ff16021790555060208201518160000160016101000a81548164ffffffffff021916908364ffffffffff16021790555060408201518160000160066101000a81548163ffffffff021916908363ffffffff160217905550606082015181600001600a6101000a81548163ffffffff021916908363ffffffff160217905550608082015181600001600e6101000a81548163ffffffff021916908363ffffffff16021790555060a08201518160000160126101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160000160166101000a81548163ffffffff021916908363ffffffff16021790555060e082015181600001601a6101000a81548162ffffff021916908362ffffff160217905550905050866040015163ffffffff167fc797025feeeaf2cd924c99e9205acb8ec04d5cad21c41ce637a38fb6dee6016a823385600001518660400151876020015188606001518d8d604051613fe89897969594939291906154dc565b60405180910390a26040808801518351915163ffffffff9283168152600092909116907f0109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac602719060200160405180910390a3866040015163ffffffff168160170b7f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f4260405161407891815260200190565b60405180910390a361409187604001518260170b614731565b506060015195945050505050565b60008360170b126124965760006140d1633b9aca003a04866080015163ffffffff16876060015163ffffffff16614881565b90506010360260005a905060006140fa8663ffffffff1685858b60e0015162ffffff16866148a7565b90506000670de0b6b3a764000077ffffffffffffffffffffffffffffffffffffffffffffffff891683026001600160a01b03881660009081526002602052604090205460c08c01519290910492506201000090046bffffffffffffffffffffffff9081169163ffffffff16633b9aca0002828401019081168211156141855750505050505050612496565b6001600160a01b038816600090815260026020526040902080546bffffffffffffffffffffffff90921662010000027fffffffffffffffffffffffffffffffffffff000000000000000000000000ffff90921691909117905550505050505050505050565b600063ffffffff82111561420057506000919050565b5063ffffffff166000908152600c602052604090205460170b90565b600063ffffffff82111561423257506000919050565b5063ffffffff9081166000908152600c60205260409020547c010000000000000000000000000000000000000000000000000000000090041690565b60008060058054806020026020016040519081016040528092919081815260200182805480156142c757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116142a9575b50508351600b54604080516103e08101918290529697509195660100000000000090910463ffffffff169450600093509150600690601f908285855b82829054906101000a900463ffffffff1663ffffffff16815260200190600401906020826003010492830192600103820291508084116143035790505050505050905060005b83811015614396578181601f811061436357614363615192565b602002015161437290846151f0565b6143829063ffffffff168761522b565b95508061438e816152d5565b915050614349565b50600b546143c4907201000000000000000000000000000000000000900463ffffffff16633b9aca00615214565b6143ce9086615214565b945060005b8381101561444757600260008683815181106143f1576143f1615192565b6020908102919091018101516001600160a01b0316825281019190915260400160002054614433906201000090046bffffffffffffffffffffffff168761522b565b95508061443f816152d5565b9150506143d3565b505050505090565b600081831015614460575081611149565b50919050565b8060001061148c5760405162461bcd60e51b815260206004820152601260248201527f66206d75737420626520706f73697469766500000000000000000000000000006044820152606401610c30565b6000808a8a8a8a8a8a8a8a8a6040516020016144da99989796959493929190615584565b60408051601f1981840301815291905280516020909101207dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e01000000000000000000000000000000000000000000000000000000000000179150505b9998505050505050505050565b336001600160a01b0382160361459c5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610c30565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6012546001600160a01b039081169082168114610ca157601280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0384811691821790925560408051928416835260208301919091527f793cb73064f3c8cde7e187ae515511e6e56d1ee89bf08b82fa60fb70f8d4891291016119ab565b6146c06040518060800160405280600063ffffffff1681526020016060815260200160608152602001600060170b81525090565b60008060606000858060200190518101906146db919061561e565b929650909450925090506146ef868361490b565b81516040805160208082019690965281519082018252918252805160808101825263ffffffff969096168652938501529183015260170b606082015292915050565b60408051808201909152600e546001600160a01b0381168083527401000000000000000000000000000000000000000090910463ffffffff16602083015261477857505050565b60006147856001856151f0565b63ffffffff8181166000818152600c6020908152604091829020549087015187519251602481019490945260179190910b6044840181905289851660648501526084840189905294955061483593169160a40160408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fbeed9b5100000000000000000000000000000000000000000000000000000000179052614983565b6119195760405162461bcd60e51b815260206004820152601060248201527f696e73756666696369656e7420676173000000000000000000000000000000006044820152606401610c30565b6000838381101561489457600285850304015b61489e818461444f565b95945050505050565b6000818610156148f95760405162461bcd60e51b815260206004820181905260248201527f6c6566744761732063616e6e6f742065786365656420696e697469616c4761736044820152606401610c30565b50633b9aca0094039190910101020290565b60008151602061491b9190615214565b6149269060a061522b565b61493190600061522b565b90508083511461305c5760405162461bcd60e51b815260206004820152601660248201527f7265706f7274206c656e677468206d69736d61746368000000000000000000006044820152606401610c30565b60005a61138881106149b757611388810390508460408204820311156149b7576000808451602086016000888af150600191505b509392505050565b508054600082559060005260206000209081019061148c9190614aed565b828054828255906000526020600020908101928215614a4a579160200282015b82811115614a4a57825182547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b039091161782556020909201916001909101906149fd565b50614a56929150614aed565b5090565b600483019183908215614a4a5791602002820160005b83821115614ab457835183826101000a81548163ffffffff021916908363ffffffff1602179055509260200192600401602081600301049283019260010302614a70565b8015614ae45782816101000a81549063ffffffff0219169055600401602081600301049283019260010302614ab4565b5050614a569291505b5b80821115614a565760008155600101614aee565b6001600160a01b038116811461148c57600080fd5b600060208284031215614b2957600080fd5b8135612e7881614b02565b6000815180845260005b81811015614b5a57602081850181015186830182015201614b3e565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006111466020830184614b34565b60008060408385031215614ba057600080fd5b8235614bab81614b02565b91506020830135614bbb81614b02565b809150509250929050565b63ffffffff8116811461148c57600080fd5b600080600080600060a08688031215614bf057600080fd5b8535614bfb81614bc6565b94506020860135614c0b81614bc6565b93506040860135614c1b81614bc6565b92506060860135614c2b81614bc6565b9150608086013562ffffff81168114614c4357600080fd5b809150509295509295909350565b600081518084526020808501945080840160005b83811015614c8a5781516001600160a01b031687529582019590820190600101614c65565b509495945050505050565b6020815260006111466020830184614c51565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614d0057614d00614ca8565b604052919050565b600082601f830112614d1957600080fd5b813567ffffffffffffffff811115614d3357614d33614ca8565b614d466020601f19601f84011601614cd7565b818152846020838601011115614d5b57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614d8b57600080fd5b8235614d9681614b02565b9150602083013567ffffffffffffffff811115614db257600080fd5b614dbe85828601614d08565b9150509250929050565b600060208284031215614dda57600080fd5b813569ffffffffffffffffffff81168114612e7857600080fd5b60008083601f840112614e0657600080fd5b50813567ffffffffffffffff811115614e1e57600080fd5b6020830191508360208260051b8501011115614e3957600080fd5b9250929050565b60008060008060408587031215614e5657600080fd5b843567ffffffffffffffff80821115614e6e57600080fd5b614e7a88838901614df4565b90965094506020870135915080821115614e9357600080fd5b50614ea087828801614df4565b95989497509550505050565b60008060008060008060008060e0898b031215614ec857600080fd5b606089018a811115614ed957600080fd5b8998503567ffffffffffffffff80821115614ef357600080fd5b818b0191508b601f830112614f0757600080fd5b813581811115614f1657600080fd5b8c6020828501011115614f2857600080fd5b6020830199508098505060808b0135915080821115614f4657600080fd5b614f528c838d01614df4565b909750955060a08b0135915080821115614f6b57600080fd5b50614f788b828c01614df4565b999c989b50969995989497949560c00135949350505050565b600060208284031215614fa357600080fd5b5035919050565b60008060408385031215614fbd57600080fd5b8235614fc881614b02565b946020939093013593505050565b600067ffffffffffffffff821115614ff057614ff0614ca8565b5060051b60200190565b600082601f83011261500b57600080fd5b8135602061502061501b83614fd6565b614cd7565b82815260059290921b8401810191818101908684111561503f57600080fd5b8286015b8481101561506357803561505681614b02565b8352918301918301615043565b509695505050505050565b803560ff8116811461212b57600080fd5b803567ffffffffffffffff8116811461212b57600080fd5b60008060008060008060c087890312156150b057600080fd5b863567ffffffffffffffff808211156150c857600080fd5b6150d48a838b01614ffa565b975060208901359150808211156150ea57600080fd5b6150f68a838b01614ffa565b965061510460408a0161506e565b9550606089013591508082111561511a57600080fd5b6151268a838b01614d08565b945061513460808a0161507f565b935060a089013591508082111561514a57600080fd5b5061515789828a01614d08565b9150509295509295509295565b6000806040838503121561517757600080fd5b823561518281614b02565b91506020830135614bbb81614bc6565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff82811682821603908082111561520d5761520d6151c1565b5092915050565b8082028115828204841417611149576111496151c1565b80820180821115611149576111496151c1565b60006020828403121561525057600080fd5b5051919050565b60006020828403121561526957600080fd5b81518015158114612e7857600080fd5b6001600160a01b038416815260406020820152816040820152818360608301376000818301606090810191909152601f909201601f1916010192915050565b63ffffffff81811683821601908082111561520d5761520d6151c1565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615306576153066151c1565b5060010190565b60ff8181168382160190811115611149576111496151c1565b8183823760009101908152919050565b8281526080810160608360208401379392505050565b81810381811115611149576111496151c1565b818103600083128015838313168383128216171561520d5761520d6151c1565b60ff818116838216029081169081811461520d5761520d6151c1565b600061012063ffffffff808d1684528b6020850152808b166040850152508060608401526153cb8184018a614c51565b905082810360808401526153df8189614c51565b905060ff871660a084015282810360c08401526153fc8187614b34565b905067ffffffffffffffff851660e08401528281036101008401526154218185614b34565b9c9b505050505050505050505050565b600181811c9082168061544557607f821691505b602082108103614460577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000826154b4577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600063ffffffff8083168181036154d2576154d26151c1565b6001019392505050565b600061010080830160178c810b855260206001600160a01b038d168187015263ffffffff8c1660408701528360608701528293508a5180845261012087019450818c01935060005b81811015615542578451840b86529482019493820193600101615524565b505050505082810360808401526155598188614b34565b91505061556b60a083018660170b9052565b8360c083015261453760e083018464ffffffffff169052565b60006101208b83526001600160a01b038b16602084015267ffffffffffffffff808b1660408501528160608501526155be8285018b614c51565b915083820360808501526155d2828a614c51565b915060ff881660a085015283820360c08501526155ef8288614b34565b90861660e085015283810361010085015290506154218185614b34565b8051601781900b811461212b57600080fd5b6000806000806080858703121561563457600080fd5b845161563f81614bc6565b809450506020808601519350604086015167ffffffffffffffff81111561566557600080fd5b8601601f8101881361567657600080fd5b805161568461501b82614fd6565b81815260059190911b8201830190838101908a8311156156a357600080fd5b928401925b828410156156c8576156b98461560c565b825292840192908401906156a8565b80965050505050506156dc6060860161560c565b90509295919450925056fe416363657373436f6e74726f6c6c65644f43523241676772656761746f7220312e302e30a2646970667358221220fed0cd68c5bfb721dbfe295c92e43bb48a83a2d5f53ba8e3528a83638fb3c6ad64736f6c634300081300330058200273e772e897faa1abadebb75cf7563dd1cc2a7e2148cf59be5d0477afcb24715820668738ab668738580000000000000000000000000000000000000000008ddfc70058200275b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9581c17930ee3e194027b51210000004b00000bb80000002e00000f220105005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db041100058200297642e42e11863821c7667d9965191d8bbf70374d41f8ccadbf10d53bf0958420d0100582002b2546c8065c29632463a4f2495c9f7756ee5fe299d6e68764beb18a97b51f858206685fc5b6685fc49000000000000000000000000000000000000000000a64c5c034e40e46e528565d51d1f1bd6bb51a324e82f65723d54a35aa5b83a1ce7ed96990219418b03841bf8de8541985a09019c1633b81a660aecfd2c486f674a31176655e7d746e80058200207cd8cb9926012630ee168d63fa094c7a5ade9884504dbba8c111552e170ce5820668778236687780c0000000000000000000000000000000000000000008097cf005820023fdada8398ef3420da7798117dde127804c9741ae8752f0adbb81ed244713658206687614f6687613e0000000000000000000000000000000000000000008489550058200307d6f743ac15672031d753351193e250cc2a341a97ad2c15119a6ddf841280420f0100582003c472f97b1f0b00a4e5a8aad0970654fb30554adf8c3891b2d60215948e08205430d872350fe74f47c85847d6784b42f9b0816f04005820039788e00d825b912914f6b1972feeebb4a974e862fac0bfbde261f12e4bfce0582066869e9766869e480000000000000000000000000000000000000000009900cd00582003e54a49990e5fd93e77e57f13caac31053ae66f05638ae30468ecbf013f6d2042060102196300036157946b2e89b2ab086a8d5da3cd122356535f679611bc6ea76ae784ea52f78b005820023a3b1a07728826ad283187fc9b13ae890c32155de0ba389ac7cc7deaac3b5f582066876473668764500000000000000000000000000000000000000000007ad48d00582002048d603654087a2b5038b242415e19f956f49760df02cbf7a800695d068986549d219125a0ce10241b4ec1280c2f880475f172f1005820026847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672582052444e54202f20555344000000000000000000000000000000000000000000140058200258e170a4eae5ce6d3321c7de6187c7019b53d3221fd9c6cf69e8546f56053f5820668265e366826598000000000000000000000000000000000000000000bd349402191e6d005820023d99b8555ed719b301734cc446bcc0ece297325eb6f086e0c1d83e0135ca1442070100582002029056a4276f5c044e512cbdde141937b6631844c3aea70ad0fd27ba5ff5c958206687b43b6687b4280000000000000000000000000000000000000000007ddb67033ad559b5b7b59092377221f4ca42c59d381f73ee3e1c84f4b19db7b3e00cec6503614f839b82f8694fc4829b4eafc01f842636da6326b993fead76af7a9b8ed5c7005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354d436f206292591a5f823accba76de2e9c14c8e8f0058200272e4253402cef2695932608f64bd11b74d83394b43810278c8ebb179e959a0543fb4600736d306ee2a89edf0356d4272fb095768005820022d3a79366138c198c44a100e5d26cbcadc9af2703358a25beb85d7f29bcb5758206680c1476680c0fc000000000000000000000000000000000000000000b5f1ea005820029c9ab9f17db1aa2cee6455eddbf32a1a94118c673a403a6aae706ee9aa9b2d58206687bd236687bd11000000000000000000000000000000000000000000807212037f1b0fb06f6634497183e5a5ce79ee4d89dc17c7efbe71ae933ebb1a6965306702195ea900582002d9a1a21ee3bc6b8030eb00040106775024eeb99d2fd15067965481ae536d32420e0103bcc4cb6e48de7cfdb500ed7c1bb424d922221a7fb3d56f443bafc5de122e4c090058200235da5d25bd40ce17a473cc4ff27d196a4be084e319593d34667d135bcf2d9458206684c24b6684c23b000000000000000000000000000000000000000000ad9c6c00582002e8fdc815152f246efc4ef5f741245222dd3dcc715d845d53698daeea5052fb58206687627b6687626a00000000000000000000000000000000000000000081168b00582002fa7926ca74c83167fe83e8ed0f0c311a394221921b9264c304d12cf4a93a824a684b9cf05bffe4070301005820029658d14d88f41a2244d2f9e4dd1480390ab790f3f9eb31179388ca1f55577554e6b12850b3979c50d221fb84d40fb94aefbab867005820020c324252245642dbea174f550fcceaedb6381a1d9b6531aff0df7204de75d2582066844c0766844bf7000000000000000000000000000000000000000000b4f829036395cf69f6641f6661e660703f21a3c6b04dc3997395ebe91157b714b0fb6d6400582002650e03b6efb941c8f8a220310658699387010b2d808da1fa2c479a00d959314203010219a33703adfc6b45eddf9f824e75fe571fd68b825f207695ceac73ae1acecc4b23326c12039a5bbb65b7ee5eb7d8104753604dbcd852b9a75466afd9f67a21d5a00fc62c0d0381615cfdedf15362d6fe332c9ac8b96ef0fde003316abe75c0ff17c50e0987d40394bdb91f6585969c2bdee8cb9990c9eecd465ab36c048731531f8bbaab15b29200582002b2cd49fc50102d29462abf2699cfb75a6bcd547c6d40d9dbc4efd6c7ae4cef582066876407668763f10000000000000000000000000000000000000000007dc67f005820024ebca058fc147c3d04fd97b77d4d5903ab40f91ee27f2a7af8760641f1386b410100582002727aedd8f19cd04694aebc20521181cf4c387e806beb13c8b15c2011b34b8542050100582002bf8c0b67180bd7dc054f5054190c8488e6c09adc94f86d55fb17e5c51d5cc958206686099f6686098d000000000000000000000000000000000000000000a2a7ac005820029c5ecdc607ca3f3bdcb8b85f80045e181cedfbf7f958d5e3b49b658f0c68ff582066874e2f66874e1d00000000000000000000000000000000000000000087c2f5005820022e4269660afb2ea92d0f18c61030a6c3942958ed57f90d6d40d5dde7be37ce4a2e913aa3ee6734c60901005820024c80b053cfbaf3ab6018fbfc8795c3dbf56b5ead5e56a18231068919af04b25820667ef803667ef7f6000000000000000000000000000000000000000000bafc3e02193c74005820029280ddae710a6bd73242c0c362d1ca59aba9f4c0aae2477da7400218acf888420a01005820021052c3968e3bc17eb83d7c356e381675ef65e4efced7983997303a4ab59052540b16ec1044f60f03b0e815f863bd4d27638cbd0a030c437ead14deccf39c99fd7a8da5d19601668012cb1d81413398c982f2f3efde005820028b97e56aeaf2b2ee9c207197bcec3e1e3c10a3740ea588ab819672dec9fb46420c0100582002c3f4cad436e4b9214130c8a4d2cf1f3ea7dacc534cace7bcbe451fb6147eeb58206685454366854533000000000000000000000000000000000000000000ad6c8d0316ee86a88d47e9fffa6de8b68c0484d6375061ef27120329604cea19e2b5cd7500582002ebc91a8f22b5ea6badfa23ace5b250a435e71d6af0227ff5c4c0a2d64fee564a5f21aedff452145a010100582002bf65227c77c82b7ce1e5f0d30fcf2ebf6e040e6a70982797f8a229fb4b357a58206687329f6687327b000000000000000000000000000000000000000000929793005820021108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80254641b698ad1c6e503470520b0eecb472c0589dfe602193d39030d05122ecd88bab8f411531186bfec016bc6aa626df46651bf32a924addf502400582002510f002a74055500bf64ba4e6d2f78631a8ffa6335d36e1074694d15f7fcbf547341e8615e61957748e3413e0cd94f044cbcaad4005820027caeb436aae42dc40bfc18b1dd5bb335c961b6ceb0b545252271ba76cdd25442040103f208847ff11ef76562a67e7ae14d9d56c5cb040a81b4dbe4badf308848f7b50f005820021c1bd9dd6e8cb4f71533ca79424fbb0ce2cb6c592206e255dcb5c5b36d7815544b4df3c44fa13f9d12277458e2069ecbbee1b08502190e10005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65421f73d42eb58ba49ddb685dc29d3bf5c0f0373ca0058200270a8219a94ebf64746c92e60cdace329b34df05b003265c95cb2b93c7ad91b5486d3a515f82fbed74f9df25f098e600f9ff2878500582002ae63ec034a559d931b4b42074759bc8a52c91fa92a9f9cf5b1cf6904be27044a3df536d3a3197bdf0701005820028a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444549db83cef9f68b63989e4e82d65d549e7ff2acda900582002bf48abc06253f4dfd4de17dba0dffe308764a69b4e3513e299adaf31b515675820668111ab6681119d000000000000000000000000000000000000000000bd9876005820028513433cbf3fc08b7e86527e7d6c27b2db5dd353075aaa50951c05c9545ecf420b0102195c820058200267b0e3c82238f4f2d1a50a8b3a44f96311d77b148c30dc0ef863e1a060dcb6542105394ce5f045c4d2f33fd35cc0472b689998cc00582002c07a473cc929de76b588741c96eaeb3191dc8f2f926912723b654cf3a5d2d458206685a4bf6685a4a9000000000000000000000000000000000000000000a9f2c7005820039e4f9786601f967511abce9b11269943eb9f1ba4453d8a8b3eaa8ce55e0fa054c90e040d0c2c07f166474891a7219da494b6ed6200582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80581f01c7b03d0464142f9517626dd8aa4275a8e6a9a9e22e80597caba21d44532e021824038f8705c91208e08960e86eca367e7aacddc7de75cb76732c834bb4f1ae8bdbe90058200241986aa9e23b340ccfba255a278882c30dde7229fa5c77f6ce15f3dc4754ba58206687623f6687622e0000000000000000000000000000000000000000007e163b00582002363cc14ba13f5831910392b4c9aaec08f7c73b80aada84f41fe192c19271dc5820668104f7668104e5000000000000000000000000000000000000000000b9ca4c00582002bf4984dec1ed84bc93049331739c4f87d4cf1720bad44f5a017d1f9cc101265414f94049397c3f1807c45b6f854cb5f36bc4393b02198b4a039ca4dd764c000d3c7c7e7ad17d49ec6ec839c557f7c6b825a67cd878da1e545803009c558a658bf957e1a44f6f4bb4d808421b197e001b0cd5d79ea2b1c17a021e03e867f7a01dcc962f07ba8100cbf52b814bfe697e39908591ec80a3ab3657908a0219ffff05581d034890551d7ae2f501c872b68cb606d7d3c32e4073878589192182abb0070119574102194400021904400374b7a6a3b2a6b865a9690ddb271a362ab35ad4bd919a5fd417024d461ec5e40a05581e03bb0647c7616d244ff5a80f4f1b02211547b6472b6f0f2796cfbbd42bb00c19019f470144b08a2f5000021950b903430cf5e9b4f7b445f39cefac75233a5cf8de55ca8900e5f6f4830d167946278603f9b8b18252845c6e7b55eca6b61a5db81fbf815d7d3c5a607c638e9aae24e51b035fd28f013962b2e257e31ce5147748c3d5e1c283d1d1e33bb299b4369662c3bf032d2fc8807e2cda2a85e3d7347d85a51316316969e3200450e27e37a1f397baa10219ffff034b9965641b4487ce9c3aed88c67158e1f9fbd1ef69962027527a0f06c4e3b32103d3c7a95a96336b2ff9fc11e0b85363a5fe1b05309afbca796175c1736fbbbcce0345397173228b448d908b14e49fb1a15d6df7e17e3f84cb747522282c34f7da5e03fd20ca03bada3374b095f36bfce8f3de07f07f682f1330c19e6908cac05f67fa036c83f8df45330f395d0fac521c15b27ce52c0a396f4b0f212e15f9615526c71303a06cc933341e4aca81a389b79b41c92afd6916edb4298a60858d91f558ea11a503ffcc2b14bf9e449dd88756063287474c5ac51a767032aa8797276737ba2a90980219ffff03028cc57aef4318f9bf3b5582851b23926a8c81ed228166335d3a491b675e6b2303d512cc62d8aaec02527d38e0db043073a15f5561ec9ab18d71f2d4cddf2284bd03b96df58ec072d3d7eaf083da4b5279a9659bd6af879aa45cee2c8dd9b9c4fc7f03bf923ae61b61b02075e0db19adb9831282f1175d4ada1332a140f7a3454908ed03f151313157c13f559f12be86ec3cdc9eb6dfefa10bd9d0c19c0a69ad385e4ce10219ffff032892c3730f67979235a805e4838de15dfd0c4c91ef383a0b41b4223a578238d5032629a47e01ba9e207869266b25e275c8dc705c732ec448916904cfb9d208ed790368ded4128897e82bcb102502b30c468e23dc0305db8aba51b5fcb47079b67b1e039919e81a828b2c3079753c9c6d2ba226b8f21cc9ad9c5c60e46855f319ba9e5e037390a66e7ae5dfbbbbaeef0e16c858bffdd88b9d089cbc71ae63c409fb070d5a03753b5d0ffcfb872cba96041b3929c77a5b74adf36bdff8f30007b420ffb138cc03a72380119aef3fb0cbd69a8f15d15c2c5d5faac8ee1948140b36ba01aac4783a03755d2b3caa99b8f2832885200ddc4863505c90e8f7af31af9fd1cbdad1e4ee7403ca42d8d6ea5f625a8457cf08d0c8fabb97b9bd389b948bb728db7e68b8e523a403f55ebca60c4aac67514be1d9292be26918b75efd2a81becc05badec46486f61b031c010628a74e461266f4c9521a297be33c0cade3149f52bfb0ae3b38d6ca8e71030887d2a169c194382e9352aab735805f6e38540efbc7c94246fb9264ed4ccb6d033591f53b5407229c800d4ce9434042399761ffb1734de480f3d60bcc55b01ea803199958fdddb20ec4d8c754fe02723b61bf46dbd5b3f33b8396de63e550e669c50334b3a2bd74ec7dcf48207526d687080997c4fc44c0ce76ab93b4bee53f03c0e903872f2a0dc5a089331b0249ccf6bdfdbb72d5f52cd613bce68802860b1394c7c6037988601f27e68baedbae2434732d56809e52a96a8705dd70a3edf04e8001810803ee6e6d26e1f6c7b7efc7dfcf2e6da3194ec0cbf919b90d3372b39918540f1cfc03639242985a6202e826a13f6ffe85ef6cbe9dc5d07224a543866eb4d65b992e6d0359005860de13dfb9e98893eaffeed23bfbac3c4543cd7e53c8287b5949ef914c035b75a0ed6fc0198901d8b843d138129f43cf4bba972f517d2a7e734b2ccba188031e00f660a36892e634c3387f30675cce9e097adde9cf13097cd35fe064d6cedb03a8781a25822c8535f36c360e5361acec37539963e9074074c19d5827951df96503c4e5e720ee34d78870fa4040251d589f61c75f3040555d7228dc2760c47cd0d305581e03f0eecd9e16be80917a52499de522fe0a916f7a39dd5c792dee89931b200c0146491aed58d800031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e035098c0c14a7875d53562bc3ca8f61797ae20781d8dae255819425c4a5007011bffffffffffffffff05581d020cad43a621d774fb170e6437f894df3f96c8ec9adb3cc7647e41e5960c06470307cc89fe4f380459260b6080604052600436106101b75760003560e01c806370a08231116100ec578063aaf10f421161008a578063d505accf11610064578063d505accf14610523578063dd62ed3e14610543578063ee7a7c0414610589578063f2fde38b146105a957600080fd5b8063aaf10f42146104c1578063c4d66de8146104d6578063ce7c2ac2146104f657600080fd5b80638da5cb5b116100c65780638da5cb5b1461041d57806395d89b411461043b578063a457c2d714610481578063a9059cbb146104a157600080fd5b806370a08231146103c8578063715018a6146103e85780637ecebe00146103fd57600080fd5b80633950935111610159578063528c198a11610133578063528c198a1461032357806352d1902d1461034357806355b6ed5c14610358578063665a11ca1461039057600080fd5b806339509351146102da5780633a98ef39146102fa5780634f1ef2861461031057600080fd5b806323b872dd1161019557806323b872dd14610267578063313ce567146102875780633644e515146102a35780633659cfe6146102b857600080fd5b806306fdde03146101bc578063095ea7b31461021457806318160ddd14610244575b600080fd5b3480156101c857600080fd5b5060408051808201909152600c81527f65746865722e666920455448000000000000000000000000000000000000000060208201525b60405161020b91906122d0565b60405180910390f35b34801561022057600080fd5b5061023461022f36600461231f565b6105c9565b604051901515815260200161020b565b34801561025057600080fd5b506102596105df565b60405190815260200161020b565b34801561027357600080fd5b50610234610282366004612349565b61066b565b34801561029357600080fd5b506040516012815260200161020b565b3480156102af57600080fd5b5061025961072f565b3480156102c457600080fd5b506102d86102d3366004612385565b610739565b005b3480156102e657600080fd5b506102346102f536600461231f565b6108d6565b34801561030657600080fd5b5061025960ca5481565b6102d861031e3660046123b6565b61091c565b34801561032f57600080fd5b506102d861033e36600461231f565b610aaa565b34801561034f57600080fd5b50610259610c50565b34801561036457600080fd5b50610259610373366004612478565b60cc60209081526000928352604080842090915290825290205481565b34801561039c57600080fd5b5060c9546103b0906001600160a01b031681565b6040516001600160a01b03909116815260200161020b565b3480156103d457600080fd5b506102596103e3366004612385565b610d15565b3480156103f457600080fd5b506102d8610da3565b34801561040957600080fd5b50610259610418366004612385565b610db7565b34801561042957600080fd5b506097546001600160a01b03166103b0565b34801561044757600080fd5b5060408051808201909152600481527f654554480000000000000000000000000000000000000000000000000000000060208201526101fe565b34801561048d57600080fd5b5061023461049c36600461231f565b610dd5565b3480156104ad57600080fd5b506102346104bc36600461231f565b610e7f565b3480156104cd57600080fd5b506103b0610e8c565b3480156104e257600080fd5b506102d86104f1366004612385565b610ebf565b34801561050257600080fd5b50610259610511366004612385565b60cb6020526000908152604090205481565b34801561052f57600080fd5b506102d861053e3660046124ab565b611083565b34801561054f57600080fd5b5061025961055e366004612478565b6001600160a01b03918216600090815260cc6020908152604080832093909416825291909152205490565b34801561059557600080fd5b506102d86105a436600461231f565b611205565b3480156105b557600080fd5b506102d86105c4366004612385565b61141f565b60006105d63384846114ac565b50600192915050565b60c954604080517f37cfdaca00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b0316916337cfdaca9160048083019260209291908290030181865afa158015610642573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610666919061251e565b905090565b6001600160a01b038316600090815260cc602090815260408083203384529091528120548281101561070a5760405162461bcd60e51b815260206004820152602160248201527f5452414e534645525f414d4f554e545f455843454544535f414c4c4f57414e4360448201527f450000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61071785338584036114ac565b6107228585856115ba565b60019150505b9392505050565b60006106666116a1565b6001600160a01b037f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f1630036107d75760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610701565b7f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f6001600160a01b03166108327f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146108ae5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610701565b6108b7816117c8565b604080516000808252602082019092526108d3918391906117d0565b50565b33600081815260cc602090815260408083206001600160a01b0387168452909152812054909190610911828661090c878561254d565b6114ac565b506001949350505050565b6001600160a01b037f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f1630036109ba5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610701565b7f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f6001600160a01b0316610a157f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614610a915760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610701565b610a9a826117c8565b610aa6828260016117d0565b5050565b60c9546001600160a01b03163314610b045760405162461bcd60e51b815260206004820152601b60248201527f4f6e6c7920706f6f6c20636f6e74726163742066756e6374696f6e00000000006044820152606401610701565b6001600160a01b038216600090815260cb602052604081208054839290610b2c90849061254d565b925050819055508060ca6000828254610b45919061254d565b909155505060c9546040517f561bddf8000000000000000000000000000000000000000000000000000000008152600481018390526001600160a01b03848116926000927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929091169063561bddf890602401602060405180830381865afa158015610bd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf9919061251e565b60405190815260200160405180910390a36040518181526001600160a01b038316906000907f9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb906020015b60405180910390a35050565b6000306001600160a01b037f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f1614610cf05760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610701565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60c9546040517f511997000000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690635119970090602401602060405180830381865afa158015610d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9d919061251e565b92915050565b610dab611975565b610db560006119cf565b565b6001600160a01b038116600090815260cd6020526040812054610d9d565b33600081815260cc602090815260408083206001600160a01b038716845290915281205490919083811015610e725760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610701565b61091182868684036114ac565b60006105d63384846115ba565b60006106667f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b600054610100900460ff1615808015610edf5750600054600160ff909116105b80610ef95750303b158015610ef9575060005460ff166001145b610f6b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610701565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610fac576000805461ff0019166101001790555b6001600160a01b0382166110025760405162461bcd60e51b815260206004820152601160248201527f4e6f207a65726f206164647265737365730000000000000000000000000000006044820152606401610701565b61100a611a2e565b611012611aab565b60c9805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0384161790558015610aa6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b834211156110d35760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610701565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886111208c6001600160a01b0316600090815260cd6020526040902080546001810190915590565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061117b82611b30565b9050600061118b82878787611b99565b9050896001600160a01b0316816001600160a01b0316146111ee5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610701565b6111f98a8a8a6114ac565b50505050505050505050565b60c9546001600160a01b03163314806112265750336001600160a01b038316145b6112725760405162461bcd60e51b815260206004820152601060248201527f496e636f72726563742043616c6c6572000000000000000000000000000000006044820152606401610701565b6001600160a01b038216600090815260cb60205260409020548111156112da5760405162461bcd60e51b815260206004820152601b60248201527f4255524e5f414d4f554e545f455843454544535f42414c414e434500000000006044820152606401610701565b6001600160a01b038216600090815260cb602052604081208054839290611302908490612565565b925050819055508060ca600082825461131b9190612565565b909155505060c9546040517f561bddf8000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b03858116927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92919091169063561bddf890602401602060405180830381865afa1580156113ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d0919061251e565b60405190815260200160405180910390a36040518181526000906001600160a01b038416907f9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb90602001610c44565b611427611975565b6001600160a01b0381166114a35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610701565b6108d3816119cf565b6001600160a01b0383166115025760405162461bcd60e51b815260206004820152601960248201527f415050524f56455f46524f4d5f5a45524f5f41444452455353000000000000006044820152606401610701565b6001600160a01b0382166115585760405162461bcd60e51b815260206004820152601760248201527f415050524f56455f544f5f5a45524f5f414444524553530000000000000000006044820152606401610701565b6001600160a01b03838116600081815260cc602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60c9546040517f3a53acb0000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b031690633a53acb090602401602060405180830381865afa15801561161d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611641919061251e565b905061164e848483611bc1565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161169391815260200190565b60405180910390a350505050565b6000306001600160a01b037f0000000000000000000000001b47a665364bc15c28b05f449b53354d0ceff72f161480156116fa57507f000000000000000000000000000000000000000000000000000000000000000146145b1561172457507fe7ced0173c3e775aa8df4277c7eced5d7a31ebd256fdd7edc63d5b41f9e8565f90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527fad034d436c4e28210791bcc03026c060cab16e047cfe9b2f7f95a1cc8f87799c828401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6108d3611975565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156118085761180383611d76565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611862575060408051601f3d908101601f1916820190925261185f9181019061251e565b60015b6118d45760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610701565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146119695760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610701565b50611803838383611e41565b6097546001600160a01b03163314610db55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610701565b609780546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16610db55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610701565b600054610100900460ff16611b285760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610701565b610db5611e6c565b6000610d9d611b3d6116a1565b836040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000806000611baa87878787611ef2565b91509150611bb781611fb6565b5095945050505050565b6001600160a01b038316611c175760405162461bcd60e51b815260206004820152601e60248201527f5452414e534645525f46524f4d5f5448455f5a45524f5f4144445245535300006044820152606401610701565b6001600160a01b038216611c6d5760405162461bcd60e51b815260206004820152601c60248201527f5452414e534645525f544f5f5448455f5a45524f5f41444452455353000000006044820152606401610701565b6001600160a01b038316600090815260cb6020526040902054811115611cd55760405162461bcd60e51b815260206004820152601f60248201527f5452414e534645525f414d4f554e545f455843454544535f42414c414e4345006044820152606401610701565b6001600160a01b038316600090815260cb602052604081208054839290611cfd908490612565565b90915550506001600160a01b038216600090815260cb602052604081208054839290611d2a90849061254d565b92505081905550816001600160a01b0316836001600160a01b03167f9d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcb836040516115ad91815260200190565b6001600160a01b0381163b611df35760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610701565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b611e4a8361211b565b600082511180611e575750805b1561180357611e66838361215b565b50505050565b600054610100900460ff16611ee95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610701565b610db5336119cf565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611f295750600090506003611fad565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611f7d573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611fa657600060019250925050611fad565b9150600090505b94509492505050565b6000816004811115611fca57611fca61257c565b03611fd25750565b6001816004811115611fe657611fe661257c565b036120335760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610701565b60028160048111156120475761204761257c565b036120945760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610701565b60038160048111156120a8576120a861257c565b036108d35760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610701565b61212481611d76565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6121da5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610701565b600080846001600160a01b0316846040516121f59190612592565b600060405180830381855af49150503d8060008114612230576040519150601f19603f3d011682016040523d82523d6000602084013e612235565b606091505b509150915061225d82826040518060600160405280602781526020016125af60279139612266565b95945050505050565b60608315612275575081610728565b610728838381511561228a5781518083602001fd5b8060405162461bcd60e51b815260040161070191906122d0565b60005b838110156122bf5781810151838201526020016122a7565b83811115611e665750506000910152565b60208152600082518060208401526122ef8160408501602087016122a4565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461231a57600080fd5b919050565b6000806040838503121561233257600080fd5b61233b83612303565b946020939093013593505050565b60008060006060848603121561235e57600080fd5b61236784612303565b925061237560208501612303565b9150604084013590509250925092565b60006020828403121561239757600080fd5b61072882612303565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156123c957600080fd5b6123d283612303565b9150602083013567ffffffffffffffff808211156123ef57600080fd5b818501915085601f83011261240357600080fd5b813581811115612415576124156123a0565b604051601f8201601f19908116603f0116810190838211818310171561243d5761243d6123a0565b8160405282815288602084870101111561245657600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806040838503121561248b57600080fd5b61249483612303565b91506124a260208401612303565b90509250929050565b600080600080600080600060e0888a0312156124c657600080fd5b6124cf88612303565b96506124dd60208901612303565b95506040880135945060608801359350608088013560ff8116811461250157600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60006020828403121561253057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561256057612560612537565b500190565b60008282101561257757612577612537565b500390565b634e487b7160e01b600052602160045260246000fd5b600082516125a48184602087016122a4565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206f55303b3393a36413031b5646f5fdbd15039b4d0bad0bec5ec03037c62eab7964736f6c634300080d00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041ff00582103ece8bc58ff15c69f870caf0b30a433fbe278e87178d8d595758d0b3b01c14be05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219200405581d0320fab42fc95a44e4e4ca3dd62224a856a76cc6af5ff89601b47d5f70070119260b05581d0321a7d9f30c3abe4a35f732cc27636d5425185c757c352a2185cb77e004010219080102182805581e03ac6931d35b128ace244cda267bb729df8e7a4d8f099719c348bca5603004020348818d97f9f905571bb9ed0f035c6f422246451521f79ad183b0eff84b0450d705581e03982351aef75fbf8ffcb599d8050a12448f35d28b3bd38803115fa7ae70040105581e03fe182a397adf9d2edfff4896788a13fb5c073597be20853cd6c74584500c034707cb10d591ec00030925830503fac6a2f7a55251f93d57de16968f809aff8660fbed0843bc3ea0bb05581e0385428776ae959ce43d4cb657b852e77437e7fc18a9fb4eb33217666ac0040d031ddaa7c8e2cffe6454fa364468697706832e31a72baf3a38be3142ed40981adc039716e7175c5351448af3bab5160564b9e757e4df3cfc0f7a9a212ce283bea0fc05581e039ade8798dadf6d6ef1f536613d6d32005a3767b797b12373921c76ce300c0b4704830eb2bc5b720219abbf03f8d5a1e9b352b111421d097a3bdc35a57cd5e4381986d8c3eac45d0a963c489303a82dd4935da13a97df2eb6cd576200a8fe7424581026e38fbeca22539a4b3300039d48e1de550336a3ea4424cf289012a1b566de2c94d7a91c9a67c9daec104b9b03684f1594641cd79397d040af9ae01226efc976190f3c7839a612930c49618970035caee1017a2303abff4e3d93a52e2130bd993e5e2edeefc01cd8d2e7a39bb2af035c0e3eb38a51e183d6c35921371981d78a2465b10de16c33d88c770bf3a04bd003437682add8cc7828fe9a0939f121172fb5971896beb28b609dbd4feaac031bd4039a5dbd7bd4ed2b1b42955d9ea734b15c1db6c4ef10ac1d6d4c391168d79168ac03e1bba8bf77405597ca74b7bf49e3fd854eb3c3c62d94bc8509d77a1ac272692703cffbdd9ae3ba17d33135c8db132f4df1d4332e572b9755808041597456fd15a403a392a191206a7ad7c648108ddda3a55910a333f08847cefb188dae345c3964600219ffff03fb1f74ea7ddcb64cd3c04427b5bb33ba9c522ff2a24b6c5b402d4bdd4bfcfc2e0219ffff03490af6829d1c2edb881641943901509fb5be3e1efbe30f950d9bf998dd2e1713038cbbdef3fe88096b6f7fbcff64f7e34fbb748c3efd4d3ee739315372597109e403edea586dc7045d15072913989f056a53f214bafc652d6647a28a960888656d2d03669bf46c7a8fe23072b3da980a390e943743461f68fc3d82f52facb20b3c92bc036ad4022d6cf5d756a2ef08f30da97faa52bf441ae25535ecb64d43d689eedf2203df19c5b21483c39f33fc10d8b4d4f9f1c2fc417c0d8bc454dc944be3685bf3f1032cfaaec38251fdfb26e96da45867355ac0ef6f047641f8c1946c5d89d16fd01803953210b00914b78c1b13a3a02110f2b3ef86b048a6697206969fe90ba7dbfa1a03ad2df82a80a44ab309833852b73a3f04032c5b5882f096c855f8538ebddaaca703b9451faf9ec11002a20c2343e1cd03d953d84f85d0f8bcd2ffac85592cea546b03bd90e9328c553d9978cdeebd176c90660770958d87ca20a3d143c4c81ce2a9e80371d125264d408312aa234afa2fcefebebfab9c11381b9b8a3f2f7e18fe097ba50219ffff0333857c31a889740c38a747140a44ea0ad687ab78cf5a354b500ad9bb80f2ede50219ffff03bf8931153098e05a3b829bf217b12cb4514538353c6b694f1cce3c0ee8781d6f036b24c4713616a0d6befd19795c48bd030d6bf4c47c896831526890e70f183f5303fc5135c65d27e639d70a140894b80e904a8eb197f02e56bb9b2006aa0462d634032407a254302cb31ff0633c7ced591c6281b125886c8ad790b48ba0d123922b19031ee8cdba74e1598b87f426f1e5a89b5ce5934944ec9e0dd4d73b10df218ae7e803c9ed54b4550781a9cb9714089f609a7406b20467347574ed70633ccac109d0d10352e69616c23d9bace2ad6571cf75514913dcd991a8748b82e83f675061557dcd03f4e0ef8e5917ce48acabfac6345e5ad376bfdc97992e68e65520e322880e838d038313356aaa95d7fb4534001a71f149eb692d5646cf16e95787f4df8ef667925d035ff5bfb2cbb64f322d932506c3fb1b563a960ef951613206b9842170e51d43a503b95266fed4993e2d876ea745409f9278ff149ed973678d018478f3e2915e3a3303238bd56d07bf00cac24cff605756dc7ee824f63f5aa4a08706118138653685ef0385f9be86938be59511f73b1a22d15b38a71a9361677ee35d14576dbb6445bb4803e050b340cd9187b328b4e875b2b9e5637891419e3445d0d595a531b800d09f650367cb28002e38bac918de98d7db89f1565b0697a60ac2f9cbfc005b560eba20f303092138226afa851bc03d20d6cf8155e5900b267fa237a04a849610a973572a73037e5a6584bd8821f286e93557b46db001a7fe3390acab314415832ecb8f9f13070399ecaa96356088c7bb3472770593c7ea094d39eede07c42c2cb90ae0196f218903e63d01fcfc1101907156f6d2955b0cbfed68bc006e5d696bcbf234d75c5d1a4603abe29bde4853e7be870af15c5db53b6790198ad99db4a7d7179e2592e40600ca0305c69463b234b5a2971680d6613e07a0244969b0896a08aea17c32104812045b03ed2991f2e1fedb7f1f166cbf8697c3f03105cf5cb7e36b2d55c747214a336a9a03728e2972abae17ee9b0ae1d72270be365d7455ea46525713a6f325e9225aa77c0335ae64951798a7f5952c10c1cf33a6fa7b20bc20ae3bf1668334de293efbab3c03c00b997bfda72f3dbb7f1241b50ab3931f63dc29f6c37f97b228a3fd859ea0c705581e0397f3dc83ad431fefaeee36c07fa0d5de765e072a819717779100dcf5600c0147035c32dd09726005581d02e44804df2e3e1363980217fa999c9fe224def2c158eecde58207147d0c0d480668ba8f88f29fda05581d02d8c6a4cf7a44684a27a306b6db1073507789a0136c85e5bbc5add5bd040205581d02c6c119f9c5b702b855b7903446eb3b5b5a86ef977fab31059dad57b50c1892463e6b33b9d7d30219104205581e038095d07850dc422d08ed3c048747de157b6d051c981d0f9c5b127e19a0040105581e03a5b4fe4fee46c782da12411589359119f96566291391b8c9984c922f700c0e47370e7bf88d031303e9baeda42a14626ebcbdbc842e4f4f1fac8c81a0438019d2561631f6a198a8e105581e0342e5c44e2639f4363146cceae24d886e9975b329f5613ba4efba2c94b00c0d4714de504cb6a00005581e038e8725a89cacde8d2621408e6a51ac7f29c606c93c69147c65a91a15700c0247035860671a180005581e032255ad55800e52a2a7d737cd847f972385423fb62d2b1baf304aa359700c034701477d438b53180372be64a9511bfefcf00d8605f7d28651b0f7bcd2a314a2c4ad1f0e5f4f1631770219ba6703eb6fa4fa84a08ed97de5e825445e538ae0d3a7341bfe639929e81acb8a64d56d03319a59740bfe50db6702b7ac916415e9d3e34a90d262b47a5e5ab197bd402fc1037f6e203ee794f279388af4febf89117540ab803c560127d083ddac4f02ed64d40219ffff03320426a6625a56c2a58753248d1248c801a47dd02263b20ebddc5ed41dbd601e030efa882fb5351648aa8b37175f7583b58c11249f4a4ff340df02bdb897ae99cc030e09677cad55c027728d59300cfcf5bc719173532a8093a8d480c14e008f5a06037364bb24c1d4242ae7c164f86e907cfee04199b33491c54243199c37d866cdc00352823b26799aa5d0e1c86af8268fb4ddf67c2cfedeee950b2f7ec4dffa8067bb031df5b3986a46041f1c57d27b760084a5480ea5fedf1baacb83a7b954a72cbbeb03c1de16639c14c82134cb1e03229995c1f8e5ec6f50fc273049cbb70d83f6370c0344b0aed59d66de802a94aef753f96ec9126705f2bbf025bb989f0b8af52fc17803ed9848b3c76f689ecccb4300faed6a2710ba1acb5a9b01efd887f1ef3223dff903f8c692b45f2f8e2eddef15e51cbc384a4105ce673beff0f4760c31871ada691d03e412b44177d8f6f0d11caa9e38bcf408889b7523b7b06313c31ddb86132784fc039c0387ac8712aad72706850ddc66ba37d29ca4d03dc16fafbd07505061ac456d031088092ccabaa6e4ce113aa2725cf60580f7e1a874857af66ab1cd06a0d11e160331ed3b5fc7637c057fbc0918bdb8f89ba4303e2c4a9ce437e38b45e8b750b189035a899c4b51d6a28a5e8d52f3173d1b09f3180c1062c27a78b5a452f816017bfa0219ffff033d43291016eca3ac3eb442d6455633fc7bd24ae86d68184e0abac91a4a6486eb032305ff89fe52a6df954a6ae8974d8a5cb2f78c049eb6b9d5957ee856024b800d03493f995d4bd6048a1711b125dd3a1d32e62d343496e63eb31d11c9ed19dcc08b03c4d27b72a104e2e8360d2d9e36b232b5b8ab3a937919897cb7c3d7ae5eefb279038b7f6b6a44a5c35e5292911a89e02ccb4b19c22a1cb160b4da125cdf3725c98a03c752758440f57851468f928b68ca1aa43af18fe6a7271a26208b118cd06c350a038f5bb3eca747a360010067df89b9cbaeca7dd9ae4136fb021b7014fa9fb33f810219ffff03f53945ec4713a7aebde7f6b539aefde4a0b906d6df7111de732419856b8861b8030a3daed1d8ef35c9080c2cc764f3ec3d2a4da79621455f6eb54aa97aa3ad7ef603f08f041df6c1c4cb0f0cc6e8d36a881203bb38d8f1469b64dffdc58e4721df2a03c5f963194f77d5f6edab356d9bf67fa500cc2013181a44c449be72bb667f425c038a16a19b0aae84a43e02a834188a7e8b5dc9e174da3f1b8372c20e1320210d5f03cd55448b0df77458f161d87d2cba4cb0bed5e23606dc124ea855d7ea42ffa27703dee4bfae20ce2e78aab55f6b984861477f0d072c76894798ef60ea98e5bdea1803fb044ad109fd54ab4326bb1a47b23f3f5ad1b2b032567142b55b7780415411f203b6e19dba8ead6a14b13edecca4ae1a8e398c2eab949ddf6eb663bb3d07744d6e034e3bfeedc234bc17a12b54572cc47f3743d3974f24d8b104928f5f05341cb97d03ce3caddc41066c2a58fc1ee0aecb908e77f35b5e369acf0e8c9d585d51ba0dd003fc8cdde9395b532752d505cb04eef9bb6ec5d1623a8986d27ae312944933cf7803a8b5adb6c7623dece87ccf314f1c1fa3332e14de729ab957d15669e7ca2305bd0300508a9b2fcd3589c99b3fd6b8fc355d3358953febfb7e215f84e1382acf000003a4ef9bf59531fa9bf27a3be776abc7d30f7cf3e069046364cf84b8411125988f03f74adb4b556ee4f15a03635107d5aa43b4f70f0423cda7f93fc8b36ebfc8c608039bfee3337b06f39a92117356f838443d06b7bf170ef0be2987cbcc14d2bcaf17038eb548fb87a4441918654ac9e510b46696c0fd054923164999e788090803b937033394ff3b15d06da87c062c80ce76b1d6611408d0910fa3c402750ec0dd76f9230386662629fff3bac38ffbc895167ddf76a13d09b40f540e25159f4d1512dd492b03ca28f0c841eafddac0970686c34f512315a69328a2f9c483f72293caa8fac49403e2771645fbbf76ab5104265b24fe227de622e8c5113f3c949f1dc097ffd92a25038c2563b56fa3e5ffae5a0bffafa6596b138adcefb28f777d961abf354e31c5a4038f56d2fa63d3777709f5ed3f81c31b5becf5a101e75c1608a8f609da4910e04203d7af3db19d15ddb72ea4fb6c72c6da6ce649c491aa983927d1a5db1a3282c509032f8322d48ba0332cb8fee066b57560938ed5ef7eddafc686fa57ffefa6a50e55031367277f80b2f53aca220d3dbc13cb3e40f13e07197bd57866ae78d207be9b00030b36ddb794acb6a7df46b87a2f8c453fea12f832d97781048c49562a8ebeb1d503248ef6fe71912d59f0cceafc87ca1ea73530d384a234b41aa5b7f3c0c531495f032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03a8b5172c4f2db286aeea25a537f9d95fa48e09b5455139accb5a0c788007011bffffffffffffffff05581e0397298dfc8b9bba64845c5b0d7ebd8ec36fa914940c453a49a2583ed3c00c0f48069d4c6551d66f1005581e0310d0871003627d787d2281cc57f3df0c6b9f139d907aa370412544b9800c014702161a4cf5f08105581e03e56b6c0c3aca8504c118049d32558430d4028f3616124d469b961fd2a0040105581e035caf156411154bf236080f8de95363267072f4495b0ca8208ceff59e500c0246842fd1d50f7303ff9dbc72d4eeb8c8f59204a33d3f02530bed0299ba1dfcdaa04941ae3d3cbc7e03a0c0a5c341e9e4d72726b59b091cf1c3ccafdf2d147a97cfc90bc2e135dc9ecd05581e035e7c0255cfcb61426c8e296bb43a6c3daebad9ee2efed79927651ba5f0040105581e03ffd9752438ade97b6411099bb1e63becadabe0ea790bb38740091d3af008470196f20271fb24031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e039df6367af23f79d3fdca5598c07bc88590bf4b0afd26565776fba718b007011bffffffffffffffff05581e03d65579046d188a83be46d8599f5a606458659c0d866642dadf1283f640084701427db706baa805581e0322eed6c3d6e9a60f255e19223e3aa4bd6aa3470e5609df802e2c266f400405031dd88f9ca56146b3df20d0e9aa8440bf0e26e080704557a8552b63ef9ddfe9ad0219fafe038f83e27966228b3d329c03761b2f1f19b8b4efa337060959e9ce52efbf720b6103a84f8f1071cab6f1619a00ff976c17b93fc2253d8ef3f57f0ac61525e27ebcf40300d16fae72562bc8b891623bda6825a6c1a7f40b810c4b70459a327a22b8067403e148bb4d00f65ce0d281fa2307f237db9d0f5d38f417d035f1402afad4859f250390fa9007a28303973c2c87736fb0f3be320d7d722a770a86e4805615317b14b403c073d2a61028a587a3cdd722db7520d0e72aa17fa272178322e38a0e08f29b9f035fa625f81d66a23ee6b7be01dac28cc4fb3b75b3500be5abe313ecc81c06a38303b51f5801f33f81668bc0801e6da3731e2763b12c88d5ff495705490970af4d43030e14892b979598ea01a33af4c9f31e433365694c8516e6d0a8740ffd4d34d9f703ad0cdc96d282b746570dda4c984dd0712bb771019c7b17accc34dbd0ed1dc984032e429f4d5b99300c64c2cfa91f35e6a146e351b8b1cbfba827203e2d8a0806510219ffff031bc0f5c504016161a92892de93baf7b31fb8c84733eada94db90d935cbe64543039e8febcccd38bf2b8e806cc0ee1e3ecadc7bc545245dcaacab05c9ec87ba786103d504e4d251e59a7f8ed1868e7a000c0a2a5a8c05f0a44fce7b0ff18107716c7d03b5f6efb11375f076a06ec90427a5d86791b8e93ffe603df2c17066ee72c1bf14038097e3ca9fa53f53f0261245a10b3ccdd2cfe31051beae49085315c139d31ef2030013edb5a6acc641baab972d21862b41cfc6d17db6025643b70682757470ec6203017e257145deccbf68dd1b73ffbed317bc5734849e7437ca21447bfff3a4e00803b26c9d9b9b26368f50fdfd3fa8a1c7d4df8b9413e5359a286f3e152797dc3dec0219ffff036af942429f327fa25526876e6c27cdfdfccc871767a4aacc9a3c531d28f5a629036f69dffdce41c246c4db71818487b842035d940a5239b906a9606068b0167a4703e7f754bc0b33c548d744c7d994a58840950175a799127a0daf4190db1c3195a4036aca6d12c0690b36e834bc23c2deb3da7c50c39aac46d8ea84c6944bf3647c350309eb57962f27f49a7343e06b596a20f54758a56529cedb1fd4de20174bf83b32030bc62823632e0bd07e8cb1f23602af73494ee2951ce317dc348eb272e6952dee03eb17f308a64b14e6365473f68eca5661ac865bbe259b094174ffe4cc831fafef0219ffff0219ffff031ced2d9f58de88f91eb9525541e04874dd91d4a32444d11d84ccca058abfa55e03a823c244e4860f9f9abb8988b711d297698e4663b7d51d73ddc0f32f9c35f5280345ed219fe6d20a1e31a2ec8e294a9a07bf02a98791ae6e4a5fdf9c9c8522ee98039a1d26a9f3025063a5c411014da3dd68bd2d6643dc055dc837559b86259d5391030e31438375ba94801cf11e1155051c108ac1abc0d40ab6ae26463caf20deda7503b6ee6a9ccb289907ce0f1627b1343ef632f2dc7bb7206db511ed3e510361fcb603e98bdd262f79e6583c149a94a16ee9f4eebdd5711d13b4288c8520b2b238a8fc03eb9856a7734163a0c4ffd4285cbc6ad9c7e4de4f7bac455ff638bbf56773fa0205581e03bfcc3c14b260a018b03f94091c8bd84e91701b338d4bc7cfe10b2b0f300c014579126a500003f99af0b81dc988ac8cd1fca36090f280110777e0d6f9304383921260e7ac232703852179c171385ffc76ff608b2e384b168f999cb82f80c2ba801d8468e6b07a7005581e031a9e6eb47402213be4076af7ffa51ef5121997b9f511e32d4838a1819007011bffffffffffffffff032918b2929c31f13c3a27940e421c57c2cea08efb4284a2bb7c60071791c7cfab05581e033b730705a14d3d3534ff4155544d868a161bdfd28567d41129e6e3a2500401034f74cb3b9e62ccf5af5cd233bc41f3161812eafdb0f4a9debf588fe5660be35305581e032eb3e02063bf3df13f4f37bcd5364f8891de68dcbb114f4c0238acffa0040105581e036dcac0538fdef8ed0cea5b7722a2cba78333c474280d091d25f66f8fc00c014601b535a1f8f005581d0251a3ba4cdd1b8b2c3363dd8b48fc0658c3718fe431f2e018ba2e77f40c02470dfa5b3b80770005581d022723b88091e1eeaf82a153a0505ca106d1d6a88f3d6a6783044de0cb0c01472d65b1a0178d80045910c273678111a6ca5749f1744b5e080a855cec8d631e208033181561005f578032181561002957600080fd5b60003560e01c6000811461004f5763fa461e3381146100545761004a610dd5565b61005d565b61005d565b61005c6107b0565b5b005b60008035811a600f811660018114610117576003811461012457600581146101315760078114610150576009811461016f57600b811461017c57600d811461018957600f81146101a85781600281146100d457600481146100e157600681146100ee57600881146100fb57600a811461010857005b6100dc610ef1565b610111565b6100e9610fab565b610111565b6100f6611054565b610111565b61010361106c565b610111565b610110611097565b5b506101c3565b61011f6101cc565b6101c3565b61012c6102c0565b6101c3565b8160041c600f43161815610143578283fd5b61014b6103a6565b6101c3565b8160041c600f43161815610162578283fd5b61016a610464565b6101c3565b610177610514565b6101c3565b6101846105d6565b6101c3565b8160041c600f4316181561019b578283fd5b6101a3610698565b6101c3565b8160041c600f431618156101ba578283fd5b6101c2610724565b5b505050506110c1565b602c3560601c602b193601600063128acb088152826020528060405260153560901c810360605273fffd8963efd1fc6a506488495d951d5263988d2560805260a0805281602c60e0378261022357306020523060d4525b8160c0528081600c193601601f191660c401601c8460013560601c5af1506370a0823181523060205273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26020826024601c845afa610273578182fd5b815160233560b81c814701038381121561028b578384fd5b478111156102ae57632e1a7d4d8452600019820160205283846024601c87875af1505b83848586844189f16102be578384fd5b005b602c3560601c602b193601600063128acb08815282602052600160405260153560901c81036060526401000276a460805260a0805281602c60e0378261030957306020523060d4525b8160c0528081600c193601601f191660c401601c8460013560601c5af1506370a0823181523060205273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26020826024601c845afa610359578182fd5b815160233560b81c8147010383811215610371578384fd5b4781111561039457632e1a7d4d8452600019820160205283846024601c87875af1505b83848586844189f16103a4578384fd5b005b602c3560601c602b193601600063128acb088152826020528060405260153560901c810360605273fffd8963efd1fc6a506488495d951d5263988d2560805260a0805281602c60e037826103fd57306020523060d4525b8160c0528081600c193601601f191660c401601c8460013560601c5af1506370a082318152306020526020816024601c73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25afa61044c578081fd5b8060233560b81c82514701031215610462578081fd5b005b602c3560601c602b193601600063128acb08815282602052600160405260153560901c81036060526401000276a460805260a0805281602c60e037826104ad57306020523060d4525b8160c0528081600c193601601f191660c401601c8460013560601c5af1506370a082318152306020526020816024601c73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25afa6104fc578081fd5b8060233560b81c82514701031215610512578081fd5b005b602b193601600063022c0d9f815260153560901c60205230606052608080528160a05281602c60c0378081600c193601601f191660a401601c8460013560601c5af1506370a0823181523060205273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26020826024601c845afa610589578182fd5b815160233560b81c81470103838112156105a1578384fd5b478111156105c457632e1a7d4d8452600019820160205283846024601c87875af1505b83848586844189f16105d4578384fd5b005b602b193601600063022c0d9f815260153560901c60405230606052608080528160a05281602c60c0378081600c193601601f191660a401601c8460013560601c5af1506370a0823181523060205273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26020826024601c845afa61064b578182fd5b815160233560b81c8147010383811215610663578384fd5b4781111561068657632e1a7d4d8452600019820160205283846024601c87875af1505b83848586844189f1610696578384fd5b005b602b193601600063022c0d9f815260153560901c60205230606052608080528160a05281602c60c0378081600c193601601f191660a401601c8460013560601c5af1506370a082318152306020526020816024601c73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25afa61070c578081fd5b8060233560b81c82514701031215610722578081fd5b005b602b193601600063022c0d9f815260153560901c60405230606052608080528160a05281602c60c0378081600c193601601f191660a401601c8460013560601c5af1506370a082318152306020526020816024601c73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25afa610798578081fd5b8060233560b81c825147010312156107ae578081fd5b005b6004356024356000808313156107c4578291505b609835811a600f811660008114610831576001811461089657600281146108f2576003811461096557600481146109945760058114610a225760068114610aac5760078114610b5d5760088114610b865760098114610c0c57600a8114610cb957600b8114610d59578283fd5b60993560601c63a9059cbb84528060205260ad3560901c60405283846044601c8773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15063022c0d9f845283602052836040528460208416602001523360605260808052838460a4601c87855af1005b63022c0d9f835260993560901c60208316602001523060605260808052828360a4601c8660843560601c5af15063a9059cbb8352336020528360405282836044601c8673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1005b8160071c63128acb088452336020528060405284840360605273fffd8963efd1fc6a506488495d951d5163961681810273fffd8963efd1fc6a506488495d951d5263988d250360805260a08052601560c0526b03000000000000000000000060e052838460e4601c8760993560601c5af1005b63a9059cbb8352336020528360405282836044601c8673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1005b60993560601c60ad3560601c63a9059cbb8552602082815260c13560901c60405285866044601c8973c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15063022c0d9f86528581528560405260cf3560901c8186168201528160605260808052858660a4601c89875af1508581528560405286818660011c1682015233606052858660a4601c89865af1005b60993560601c63022c0d9f808552602060bb3560901c8186168201523060605260808052858660a4601c8960843560601c5af15063a9059cbb865282815260ad3560901c60405285866044601c8973c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1508186528581528560405286818660011c1682015233606052858660a4601c89875af1005b6099358260071c63a9059cbb85528160601c60205260c13560901c60405284856044601c8873c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15063128acb088552336020528060405285850360605273fffd8963efd1fc6a506488495d951d5163961681810273fffd8963efd1fc6a506488495d951d5263988d250360805260a08052601560c0526007841760581b60018060601b031983161760e052848560e4601c8860ad3560601c5af1005b63022c0d9f83528360208316602001523360605260808052828360a4601c8660843560601c5af1005b60993560601c63022c0d9f8452602060ad3560901c8185168201528160605260808052848560a4601c8860843560601c5af1508481528460405260bb3560901c818560011c1682015230606052848560a4601c88865af15063a9059cbb85523381528560405284856044601c8873c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1005b60ad3560601c8260071c63128acb088552816020528060405260c13560901c850360605273fffd8963efd1fc6a506488495d951d5163961681810273fffd8963efd1fc6a506488495d951d5263988d250360805260a08052601560c0526b03000000000000000000000060e052848560e4601c8860993560601c5af15063022c0d9f8552846020528460405285602085166020015233606052608080528460a052848560a4601c88865af1005b8160071c63022c0d9f845260ad3560901c60208416602001523060605260808052838460a4601c8760843560601c5af15063128acb088452336020528060405284840360605273fffd8963efd1fc6a506488495d951d5163961681810273fffd8963efd1fc6a506488495d951d5263988d250360805260a08052601560c0526b03000000000000000000000060e052838460e4601c8760993560601c5af1005b60ad3560601c8260071c63128acb088552336020528060405285850360605273fffd8963efd1fc6a506488495d951d5163961681810273fffd8963efd1fc6a506488495d951d5263988d250360805260a0805260993560601c60e95260048460011b1860d5528160d452602960c0528485610104601c88865af1005b600060a435811a600f811660008114610df45760018114610e5e578283fd5b60a53560601c63a9059cbb84528060205260b93560901c60405283846044601c8773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15063022c0d9f8452836020528360405260c73560901c60208416602001523360605260808052838460a4601c87855af1005b60a53560601c60b93560601c63a9059cbb8552602082815260cd3560901c60405285866064601c8973c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15063022c0d9f86528581528560405260db3560901c8186168201528160605260808052858660a4601c89875af1508581528560405260e93560901c818660011c1682015233606052858660a4601c89865af1005b60006370a0823181523060205273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26020826024601c845afa610f25578182fd5b81516001811115610f5257632e1a7d4d83526000198101602052610f5183846024601c87875af16110b4565b5b6001811015610f6f57610f6e8384858685600103875af16110b4565b5b47670de0b6b3a764000080821115610f9d57610f9c85868788670de0b6b3a763ffff198701335af16110b4565b5b80821015610fa9578485fd5b005b60043560243560006370a0823181523060205273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26020826024601c845afa610fe5578182fd5b81518381111561100f57632e1a7d4d835283810360205282836024601c86865af161100e578283fd5b5b8381101561102a5761102983848586858903875af16110b4565b5b478581111561104657611045848586878a8603335af16110b4565b5b85811015611052578384fd5b005b6000808182836024356004355af161106a578081fd5b005b600063a9059cbb815260243560205260443560405280816044601c846004355af1611095578081fd5b005b60443560008160648237808183836004355af46110b2578081fd5b005b806110be57600080fd5b50565b0605581d02487e241f998011a8d8aad61edd2f9b78fb5d4cb8d4eb12c6186416640f01483b8d35be32fa645b1910c20218c4030b43adeaee93ac3adf27335e26a4ccdd9faa19407e6ebe00b3cb999d7e011a4305581e031e1caa0854722e36b315ef0ae8caf5a9055ad287e676b31c5eeffb6640040103674ee324e5a355220a7ab13830bd1bfcbef9aec4ac9fac85358032e5ead7422b0219b6de0355ca3867a0efeae74ae4fa5a385d387c4d83b9764753d15a73caff6cf31784d503a59393361fac0979d3eb55c2e541d8ba02e69469fd8398a3c7c3161c7214f3bd036e735566ca690411dae854524f4d585652f1f2bbaf77fd5461df9d505b519dc303b58ff27b54a145240640ffc23dc0ef1f23b29d7ab8e3de8a6e07465cad8fa7c80350e00f2ae739af624bf9d5e491315a8c36f052af384220ca30445d37752aa04d0315b80848ae63255627e0d655f6ede7769aa298b10b48095ce641a4de6be2ce4303569ddbccded765a372b7a631cafdcbcdbcadb92f8c12a96a303c87b76ed054d30325735d468e91619a930d70f9531c57597d3733b775b94f1e64156e8dc7307b3c03e1f5a82957125b04164829fc199adcfa8e604669dc396eba5b2994f60075fd27034d6f6296159e383609052f4d86214786321e0094ecfd26abe729e879b089355a03265b89cd8ce34a5f4e17e9c1077d6c5d782444b65fac100357df035cd22682e703706fcc3d537dc052b644a8769f5bbf988a35c383e5f432db1ac790728007b1580363d13b81ff455ff708546e7cc1f248af6cd49218c894103e3d155f5e332f872d0219ffff03ffc510fe71417125797728c802e57b1ffe3881ae1b5c47829a0bdc4651a435c503ecaccae654a7436ce8c91e9628736abcc83c1386aa07a2858fa082048e928fd6034a282588aae64061a7fa636ea0441868cd7a23a7b8934f71158a04c2003235ff03ac84bb608584169a4c33229964eb2a78aeffb500987973d428c0e3192ffb182703465b03963bb4380006a3f9732f1e7555502bce04be2a99a80f7501624182184203369037fd38b6d5532dc5908093e617df653063e22fc0dd507077eec25e8da911036eaaef8db4eea65fea62671e5cc2588b88969d836dfddb1aade50ae005030e9a03f29a51e8e220293e7f1e2dee13347d23054434e57967b8089c21d023a179da3d03c1ac386ead9b0458079640df0596f523f9c32bf73b38df04976e4a6e563383e703157cdd1b85ca32192428e006f7bcd07ce58e15774d6b1ba3f244199e087b462703ee608e8b648976f0df3cbe662bb414040e9c12e8f489409f398b63f32f54b13903cf0479238bb2dfb12541e184b3258ec96c8659fc2c077cc4438951331e6872f00219ffff032277273916eabfcf259d3b3b37fc6af71349232957a7bb95b62845dfac04450d0377bc9de58fdcdb146539f4c56bba2ecbc057cc066bc9b01393b0b1c94f43f13203299114efd58c6e21bf2cab681fea0191f0434f326e71ac93a97820738a669d84034f3352c1f2a3f6f801f55a66d32df9e8959e0e31dea38ce7839d16e9c708d8a20334974c7b2d6c8314f3fd7c1cc80a043ba9ddb48996867132980a2bebd136dffc03ea5f38f2e093ccdaa4fde9e83d2b14c64f38c052bb386e3b365923f0261faf4903077e00afc0f2806cc7c8080303678365a61d31f92c4f36807ef1a3625cb7c6340305ef4081e84e3bd1d12b79da4f2338481756af5a66e1175c806981ab6bd6f6470355d7a0460a59a9b2811ca164c9ff5e9c6141a8355edc32bea6cbdbab1e506cdb03bf1d7b96f972473ed3c766fe3660a41c179c350ff2d3c48f3a031a2bfb6a748903f0cb423a0147b1b54f246a75a499592efb8174cf09b8b99cefc56fcdc6aae765032734290fe71f856f61bc19053990452d2b5a6e57ee38996e5a4cd0bd7b2cde950335582c951d66d0befe72cfbef96fbc49007b7cedf7cbe7c4f8b0ba0686f554ce0219ffff0330236c37f27dc6006fe281d0beef0e4452c8bc4717fbb607dde3098f538d27e70321fa7a83ad8611c3b19e523adc09d6e5fd868a6c280656c8626ad1e9d2975ffb030d3599553e4958cb5a862b9577badd2664fe1d4a59be6eef057787d47fce463e03e4030e22ea90b92c9c69816aa4cf4fe4fa75c6765f870983f4a71b373cefebd903e5d61adf77d0bd13b4c44e9f51e51701c946d919659c17f6ee00123dbbcf0d6203220bdc5b22193aee0b81540320b4f46c5c3d17ad0afc93b9ba631aaad924fccb0329571691d3d46d4843c1fa0611a9a56135c754b3a757d966efaad936927b389803ed303d23d3fd4eb5a77330b17a403a5b582a8b2198feece787d7d09963c4d1440300f33e9cf0036f5d0e7c115897352db1dcde20e91a6827b1bb8d59b490c12d8e037b100dcaa123cf57c30faf53ee80dd9b9b7b9913ca434fbc0f54e08eb55072bd03aaf958be2cc9ae1c72ea1b2f8a9380ede71a2765f66c7a5ecfdddf3ce6b8f20603fab952065831f53d750f6fdeadc9bc8a55c4c9275ea755bb4652cad7878a690f03e532e3cda4f690ea339f27933ab997d2595ec5fee3f29745e4587093e441fd1703a7993d6c47397f2ffc58f35590cbfbe8a430033ad51560e3fb712b0a9519a924036541739666fca7e145e1cae2be2a99422746e31a6716dd6bb0d4f3f6f5890bf103c2be6500914635751297e2cfd225a763e6f92ff29d7bedaca14c83698842f52903637fc060cc17dc83c77512c77d7d938489ec515671725f1afaca55e8d08aeb99037fdb4c15ef923f459f8fd94eec92542d9d64f612ea6dfb201f16100eb2c306790324b9f3a4eb60a1b98d6245d62fe5089cb52a1f5fea0c4b3307901d4daf1867be03125f79b0e488e06ce210f040c1346ecb29df19b34ee76ef272ce0aa757dca3fa0335dd0dde20afa1069a702a082a440f43ff53bdd470c299cd9d277f02252ce6bc0319c52a78521a894e7adbe9e4d286e0e1ef0e02cfeae74337ec9d5696280af7e8033c98f9ea6070aa8df34ca24a81507a3e14b1b4ff065758408e49ca418b129a3303c864f437d43b790d3a02caf8d4475f617f100825ee550126fb4c20fbb4afde4f038b056157a508b81c9e79505c6c98eb34228acec375165790b18ed839eefab050034f0adea6ddcef301f9b5798a690299d28ecc01e162d0225727956c96604f8b0403e3d817a7a43db46c4f9db573b7b90d3267ad114cc5142f583cb7bda81c2153d003767c383384e45c64b80222adff0fd4c61a511aabe8d62cabe7b8987e4e59fb0503adf19a080a7a5b349ae011382951ced1f9878e6356f1601d90e1cad4ec6207c20343d298715bae80e9fbd0ed6b1f68ccf0edb7315cb023be52121541f3ef5069a00390d5e9e7b3776285c9fedf46b1827fa6d840e88c6d45ec24ccaefd34e078825f033a478196fccc13b77ea803f62a79de29cb61a252c68c54cb4db441b5e56df7c4031cbf2801ba9a3adb9896f5ee9775933b5994ba688642ecc383f780301f2eb2a1038a94c2e538c608f829bde79e8058deb4a6087e255106b05238703e08253f356403cadbe17daff399b4c874420eb0ebcf10de973e790a31a00bbc063467e9b8fbb10341a6b2ebd6ffe00b041efa6ff5fba93688d6bfe46c79dc8a287b4480b7a6ba040301022029429320bea97f280fab73155500797f3e9bf1cc8ed0d5ce50002fd7b7031ac48294b12b5dda821d2d0c2e08768b5605d681e3c70a8db1e5f1ae7a99008d0354c50831bac0fd1a95b76a44edcaa6adda33c6b501138b0c122958f488a3376203d899b46e91e23085784a8c8cdd2032571fcbb0f3b00adea1bf67ddeae4f993ff0320942d2de017f9a1e964c2a33e4c0005cc0c7a8f44718dc6f5addf766aa18bfb05581d027d5dd1366bbde627d5004c30c5896c50187e2affb2d182ca436b4788040105581d022015ec3946b84d0acf91c7f33311bc37e2f516655ca4eeecced05a1b0c014701e08c6cac870004592266608060405234801561001057600080fd5b50600436106101cf5760003560e01c806386d1106611610104578063a0712d68116100a2578063dd62ed3e11610071578063dd62ed3e146103cf578063e0ae5ccf146103e2578063f2eec570146103eb578063f2fde38b1461040b57600080fd5b8063a0712d6814610383578063a457c2d714610396578063a9059cbb146103a9578063d505accf146103bc57600080fd5b80638da5cb5b116100de5780638da5cb5b14610337578063915420401461035257806395d89b41146103725780639b087b2d1461037a57600080fd5b806386d11066146102fe57806388c1f7c1146103115780638902ff861461032457600080fd5b80633644e5151161017157806370a082311161014b57806370a082311461029f578063715018a6146102c85780637ecebe00146102d057806384b0196e146102e357600080fd5b80633644e515146102715780633950935114610279578063400249981461028c57600080fd5b806323b872dd116101ad57806323b872dd14610227578063291d95491461023a578063313ce5671461024f57806332cb6b0c1461025e57600080fd5b806306fdde03146101d4578063095ea7b3146101f257806318160ddd14610215575b600080fd5b6101dc61041e565b6040516101e99190611d84565b60405180910390f35b610205610200366004611dba565b6104b0565b60405190151581526020016101e9565b6002545b6040519081526020016101e9565b610205610235366004611de4565b6104ca565b61024d610248366004611e20565b6104ee565b005b604051601281526020016101e9565b6102196b87b595f2383509fe1000000081565b6102196105dc565b610205610287366004611dba565b6105eb565b61024d61029a366004611dba565b61060d565b6102196102ad366004611e20565b6001600160a01b031660009081526020819052604090205490565b61024d6107e5565b6102196102de366004611e20565b6107f9565b6102eb610817565b6040516101e99796959493929190611e3b565b61024d61030c366004611ed1565b6108a0565b61024d61031f366004611dba565b610a29565b61024d610332366004611dba565b610b33565b6009546040516001600160a01b0390911681526020016101e9565b610219610360366004611e20565b600a6020526000908152604090205481565b6101dc610d2a565b610219600d5481565b61024d610391366004611f04565b610d39565b6102056103a4366004611dba565b610dbd565b6102056103b7366004611dba565b610e38565b61024d6103ca366004611f1d565b610e46565b6102196103dd366004611ed1565b610faa565b610219600c5481565b6102196103f9366004611e20565b600b6020526000908152604090205481565b61024d610419366004611e20565b610fd5565b60606003805461042d90611f90565b80601f016020809104026020016040519081016040528092919081815260200182805461045990611f90565b80156104a65780601f1061047b576101008083540402835291602001916104a6565b820191906000526020600020905b81548152906001019060200180831161048957829003601f168201915b5050505050905090565b6000336104be81858561107f565b60019150505b92915050565b6000336104d88582856111a3565b6104e385858561121d565b506001949350505050565b6104f66113c7565b6001600160a01b0381166000908152600a60205260409020546105345760405162461bcd60e51b815260040161052b90611fc4565b60405180910390fd5b6040516001600160a01b03821681527f270d9b30cf5b0793bbfd54c9d5b94aeb49462b8148399000265144a8722da6b69060200160405180910390a16001600160a01b0381166000908152600b6020908152604080832054600a9092529091205461059f9190612011565b600c60008282546105b09190612011565b90915550506001600160a01b03166000908152600a60209081526040808320839055600b909152812055565b60006105e6611421565b905090565b6000336104be8185856105fe8383610faa565b6106089190612024565b61107f565b6106156113c7565b6001600160a01b0382166000908152600a602052604090205461064a5760405162461bcd60e51b815260040161052b90611fc4565b6000811161066a5760405162461bcd60e51b815260040161052b90612037565b6001600160a01b0382166000908152600b60205260409020548110156106eb5760405162461bcd60e51b815260206004820152603060248201527f4d617820616d6f756e74206d757374206e6f74206c657373207468616e20747260448201526f185b9cd9995c9c995908185b5bdd5b9d60821b606482015260840161052b565b6001600160a01b0382166000908152600a602052604090205461071a906b87b595f2383509fe10000000612024565b81600d54600c5461072b9190612024565b6107359190612024565b11156107535760405162461bcd60e51b815260040161052b90612078565b604080516001600160a01b0384168152602081018390527ffe2b7c265b19262e195bf6f6e9fb8b434ea38990394d7f4217a51f4b9e367521910160405180910390a16001600160a01b0382166000908152600a6020526040902054600c546107bc908390612024565b6107c69190612011565b600c556001600160a01b039091166000908152600a6020526040902055565b6107ed6113c7565b6107f7600061154c565b565b6001600160a01b0381166000908152600760205260408120546104c4565b60006060808280808361084b7f4154480000000000000000000000000000000000000000000000000000000003600561159e565b6108767f3100000000000000000000000000000000000000000000000000000000000001600661159e565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b6108a86113c7565b6001600160a01b0381166108fe5760405162461bcd60e51b815260206004820152601f60248201527f4e6577206164647265737320697320746865207a65726f206164647265737300604482015260640161052b565b6001600160a01b0382166000908152600a60205260409020546109335760405162461bcd60e51b815260040161052b90611fc4565b6001600160a01b0381166000908152600a6020526040902054156109995760405162461bcd60e51b815260206004820152601b60248201527f4e65772061646472657373207761732077686974656c69737465640000000000604482015260640161052b565b604080516001600160a01b038085168252831660208201527ff60f919f4b9e5d50a3dbb0f4f150ad83df3deb714c180f6a3cd8b30393f0bc88910160405180910390a16001600160a01b039182166000818152600a6020908152604080832080549590961680845281842095909555838352600b9091528082208054948352908220939093559081529182905555565b610a316113c7565b6001600160a01b0382166000908152600a6020908152604080832054600b90925290912054610a61908390612024565b1115610ac45760405162461bcd60e51b815260206004820152602c60248201527f43616e6e6f74207472616e73666572206d6f7265207468616e206d617820616c60448201526b1b1bddd95908185b5bdd5b9d60a21b606482015260840161052b565b6001600160a01b0382166000908152600b602052604081208054839290610aec908490612024565b9250508190555080600d6000828254610b059190612024565b9250508190555080600c6000828254610b1e9190612011565b90915550610b2f9050308383611642565b5050565b610b3b6113c7565b6001600160a01b038216610b915760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320746865207a65726f20616464726573730000000000604482015260640161052b565b306001600160a01b03831603610be95760405162461bcd60e51b815260206004820152601c60248201527f4163636f756e742069732074686520746f6b656e206164647265737300000000604482015260640161052b565b6001600160a01b0382166000908152600a602052604090205415610c4f5760405162461bcd60e51b815260206004820152601760248201527f4163636f756e74207761732077686974656c6973746564000000000000000000604482015260640161052b565b60008111610c6f5760405162461bcd60e51b815260040161052b90612037565b6b87b595f2383509fe1000000081600d54600c54610c8d9190612024565b610c979190612024565b1115610cb55760405162461bcd60e51b815260040161052b90612078565b604080516001600160a01b0384168152602081018390527fcb9ce803cb004a01f0682efa32d66c42ec72e8daa764006c95e1b551b9465a21910160405180910390a180600c6000828254610d099190612024565b90915550506001600160a01b039091166000908152600a6020526040902055565b60606004805461042d90611f90565b610d416113c7565b6b87b595f2383509fe1000000081610d5860025490565b610d629190612024565b1115610db05760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f74206d696e74206d6f7265207468616e206d617820737570706c79604482015260640161052b565b610dba3082611699565b50565b60003381610dcb8286610faa565b905083811015610e2b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161052b565b6104e3828686840361107f565b6000336104be81858561121d565b83421115610e965760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161052b565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610ec58c611760565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610f2082611788565b90506000610f30828787876117b5565b9050896001600160a01b0316816001600160a01b031614610f935760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161052b565b610f9e8a8a8a61107f565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610fdd6113c7565b6001600160a01b0381166110425760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161052b565b610dba8161154c565b600060208351101561106757611060836117df565b90506104c4565b816110728482612121565b5060ff90506104c4565b90565b6001600160a01b0383166110e15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161052b565b6001600160a01b0382166111425760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161052b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006111af8484610faa565b90506000198114611217578181101561120a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161052b565b611217848484840361107f565b50505050565b6001600160a01b0383166112815760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161052b565b6001600160a01b0382166112e35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161052b565b6001600160a01b0383166000908152602081905260409020548181101561135b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161052b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361121784848461181d565b6009546001600160a01b031633146107f75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161052b565b6000306001600160a01b037f000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b1614801561147a57507f000000000000000000000000000000000000000000000000000000000000000146145b156114a457507f684a547606f57f0598d5d77e35e286d1fc2844b35a12f2d0dc8a036dc7ac53af90565b6105e6604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f1701bf099c8cbf6ea7794ab638d02807cc80bd19e26c4781e28551923d5d4e28918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606060ff83146115b157611060836118c7565b8180546115bd90611f90565b80601f01602080910402602001604051908101604052809291908181526020018280546115e990611f90565b80156116365780601f1061160b57610100808354040283529160200191611636565b820191906000526020600020905b81548152906001019060200180831161161957829003601f168201915b505050505090506104c4565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611694908490611906565b505050565b6001600160a01b0382166116ef5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161052b565b80600260008282546117019190612024565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610b2f6000838361181d565b6001600160a01b03811660009081526007602052604090208054600181018255905b50919050565b60006104c4611795611421565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060006117c6878787876119db565b915091506117d381611a9f565b5090505b949350505050565b600080829050601f8151111561180a578260405163305a27a960e01b815260040161052b9190611d84565b8051611815826121e1565b179392505050565b6001600160a01b0382163014801561183d57506001600160a01b03831615155b156116945780600d60008282546118549190612011565b90915550506001600160a01b0383166000908152600b602052604090205481116118ab576001600160a01b0383166000908152600b6020526040812080548392906118a0908490612011565b909155506116949050565b50506001600160a01b03166000908152600b6020526040812055565b606060006118d483611be9565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600061195b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c119092919063ffffffff16565b905080516000148061197c57508080602001905181019061197c9190612205565b6116945760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161052b565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115611a125750600090506003611a96565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611a66573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611a8f57600060019250925050611a96565b9150600090505b94509492505050565b6000816004811115611ab357611ab3612227565b03611abb5750565b6001816004811115611acf57611acf612227565b03611b1c5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161052b565b6002816004811115611b3057611b30612227565b03611b7d5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161052b565b6003816004811115611b9157611b91612227565b03610dba5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b606482015260840161052b565b600060ff8216601f8111156104c457604051632cd44ac360e21b815260040160405180910390fd5b60606117d7848460008585600080866001600160a01b03168587604051611c38919061223d565b60006040518083038185875af1925050503d8060008114611c75576040519150601f19603f3d011682016040523d82523d6000602084013e611c7a565b606091505b5091509150611c8b87838387611c96565b979650505050505050565b60608315611d05578251600003611cfe576001600160a01b0385163b611cfe5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161052b565b50816117d7565b6117d78383815115611d1a5781518083602001fd5b8060405162461bcd60e51b815260040161052b9190611d84565b60005b83811015611d4f578181015183820152602001611d37565b50506000910152565b60008151808452611d70816020860160208601611d34565b601f01601f19169290920160200192915050565b602081526000611d976020830184611d58565b9392505050565b80356001600160a01b0381168114611db557600080fd5b919050565b60008060408385031215611dcd57600080fd5b611dd683611d9e565b946020939093013593505050565b600080600060608486031215611df957600080fd5b611e0284611d9e565b9250611e1060208501611d9e565b9150604084013590509250925092565b600060208284031215611e3257600080fd5b611d9782611d9e565b60ff60f81b881681526000602060e081840152611e5b60e084018a611d58565b8381036040850152611e6d818a611d58565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015611ebf57835183529284019291840191600101611ea3565b50909c9b505050505050505050505050565b60008060408385031215611ee457600080fd5b611eed83611d9e565b9150611efb60208401611d9e565b90509250929050565b600060208284031215611f1657600080fd5b5035919050565b600080600080600080600060e0888a031215611f3857600080fd5b611f4188611d9e565b9650611f4f60208901611d9e565b95506040880135945060608801359350608088013560ff81168114611f7357600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600181811c90821680611fa457607f821691505b60208210810361178257634e487b7160e01b600052602260045260246000fd5b6020808252601a908201527f4163636f756e74206973206e6f742077686974656c6973746564000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156104c4576104c4611ffb565b808201808211156104c4576104c4611ffb565b60208082526021908201527f4d617820616d6f756e74206d7573742062652067726561746572207468616e206040820152600360fc1b606082015260800190565b60208082526025908201527f43616e6e6f742077686974656c697374206d6f7265207468616e206d617820736040820152647570706c7960d81b606082015260800190565b634e487b7160e01b600052604160045260246000fd5b601f82111561169457600081815260208120601f850160051c810160208610156120fa5750805b601f850160051c820191505b8181101561211957828155600101612106565b505050505050565b815167ffffffffffffffff81111561213b5761213b6120bd565b61214f816121498454611f90565b846120d3565b602080601f831160018114612184576000841561216c5750858301515b600019600386901b1c1916600185901b178555612119565b600085815260208120601f198616915b828110156121b357888601518255948401946001909101908401612194565b50858210156121d15787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b805160208083015191908110156117825760001960209190910360031b1b16919050565b60006020828403121561221757600080fd5b81518015158114611d9757600080fd5b634e487b7160e01b600052602160045260246000fd5b6000825161224f818460208701611d34565b919091019291505056fea164736f6c6343000812000a039f45d816dfe2363ad6cc6d4440f05b538fd486b523409f94ecaf91f64a0047f303a178f834d9f01b72c9aaf8bb3a9da7ad3c26dda73e80463d44066c9ee0ad6d7503f80e6e02e2477f14eb53f88fb9cd2901316d9794d7df0fdbb11818e69c23269903992d094a6b857175d9c6076cca2b85e2301fe28c0b0739f2626e1cdd1d5448330351ba85860a7d0d73ed95572ffd3169842cbbf15b93069f992c04519d53d6646503681834b048f09aac09ea4fd7d9d66148a3c98b838437b557fecb634c6faefa140368983f8c104c1640559830d2409e38381b1d9b2ba2e99ec276467aa7e09a90ea0390bef17dbaaf155198e824b6b7eff5611f05b57385f45b843e409adc216fb46703e68e25cc74d2bf608775ffb0d4251a5f15ee1b3119876368df4535607c5c20bb03b0ab07f9aff089edb8fdc4e2b3309e46943f32becb7354029f49bc9ae3478e5603a14e4ee453be5c9a577e626f4839ce7b8c22fa01c08c439cb61e17e645da042b03a0638b4296f4bc111379fda618a6b4cbd030387157b90de31ed19e4be96ab2ce032e4a75881c138f065c39b14a771ec10c381ef1370bacd50174fdc2f6896faaee03f3ae3b95fed89746e465bcd29cf60365ab6e06f3875c890f420c9354d0334c3e00581f0210e3f143546ae756bef02183fa642c55b1bd2858e42c05b8c4220ee354f64925f273933db570000000581f02ed4f7a945ffd4f7fb38ec81621b23f507d5e6ec6b39da203ad8a5797294c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028b7e9365cb631476fa8bf05e7209cbc102854a100be018afd2fa0917a84d4925f273933db570000000581f027add71db113377ee05771948ed402c4dca1725530a126d01ed9fe6bc8ed24918650127cc3dc8000000581f02af7def577791b0ddc605e46fa04cd64cf88ad4e0d1508a65708b3d7c10875820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e6201e6e8def4197d18b8733b0779c4fdfe967cc021f0ff9769c599d82a6522a00581f02a68eeffac625f4a9b752ec9b34b3ea00883756ab665344ac92c84611fbfc4925f273933db570000000581f03d38f2279c18b5270d82ef6abc236ca5ef5233c06728c1c6962bcab9309b0491cd6fbad57dbd0000000581f03e7622524371747eead01926ef4748c7dec5ff7d82d4cd0c964de4422e1804925f273933db5700000021103b881f2907f04e05eea573caa17b7ea1d4a3f522ad0f42e169b640969631b9aeb0219b957037ba6a8c130ff2e7840268d8301c013302d21b05827fd2595955070a184d2c03603d98edf6404f21116d48f15f89cbc15edc37a3be20bf4d857460bef0b76bd0bea039fc15c385a834aea7c543e120c3b1da2f754a1734ee33d04461c249590c75feb03801e0dd8de10807a09e8bebfd7b331a9cb328e81d02f9b57094cc7a8bdbe560b0376c8431916792fc6add2a8ca59f188a4e15b2c25bb478ff8dcb6ec6af2f9f58903b7077aed874416c64532867f655ecc7d8ca74d01f7e87a9ecee3af33daf33b0c0389d4fd02ca7f47e7d3f5fc490001c16864289d4f23d67e8f43c05c10db7df1bb03a1ac326c4d6989ec19009cb681acba86cf5e9ba62b049e2175165772b872be730338eb48deb74fba4d5039d6cd0599a65d87130f7f28c47eaa70716c2f55f71e3203b828208e527f883e953343592b5d359da063aab2540cce808f8639793ec144e203fc276ded3b6f714bb1f1886face8b1c748974da4f37d30022918f4b20ae7b90603e0545da723428212fcaa47df7cb2fc147cd606b6d3fce3cef70fe49c2a4b941203575ef92c0bcc5ea2b61f5fdb1549f8c34144bc17d79e36611d9d7664223153a90219ffff03e5e16b5f64e269b6c0ceb08666a5c1f9195810ce706f541e0f415d75498f9da7039d44d7f8fbefa6ad44761c45c8716ce0f6aa0f160c23f273bb5df60f8f46d38003be542abdb0fc31835e150da323bf7b9a2e681dfa2a4acacfd4663f40ad46f33503b410d1aaeccfd9041d1b7aa6c920cfe60e619c89ea154ff9ce7182063f0692670219ffff0383d8afb1665057857c96ab717a9b343bc07d1a4e99c72228caa710ded9725ff3036a186762ff0a762d9102c4d9aa0de87045d0944ec25faee933906a0d101a1edb03e62857b735b8fab888eae0f39ae882352dddb9696eefd5ebf8f72b888b6b88c60353db7c08929ad4795936bbcc4c2f6461359b79d55b7280c609340549036d992103d3a34d8559ec6c228304bc59f32342b8e1aeb20398ba8112a1b0bcc1847b8c4a03ffc5543af7cbe97fc6d30b30f714b37bc8f0750ec8ac3d0932089a5c8613dbb40308ff7bbbbf15a81fcb8b0e3dec958d3cbcf2d62efefe160b4011382bd7d50cfb0316d5dae60caa266962de0c2b834fb97509e1b326cae227b34132a05e22189b3003a1b08bb5c383f777ac661b2cbb64c693f780783c7d647ddd702b2da25619988c03522fb9e90c3306816a6968ef5ecc29c7d00b986fcf49da03621c556db2a5343b030b7a9785067be3b07e9f627eac05f1f7f35725d4dc2f655b1d19b7f93ff1036e03fb5c9b31725e523dfc5488fdf93b072c9d25342a93a2d6c158e4ef61f65f11f503387d9f7cf1736e656794495bb160550ee7b3d166575701a25d66a639e84b53720342c3312ff02d86388fd6a44bc58b26c5f33585941023ce2692a719271f2d66b80393c656be14d0f462ed87cb19fc68daa5e8e0473f792602459d31eace669a1f95034e24703f5e59849959730af43f66fcc7570e7e9ed2d67229e88b34ffddb9954903cd42da2f530692a338ffdff63cfe8e03956b9c7342da91cfa882ce67bfb7d7e103ff13e3dd9e6d0dc2ba096823c5060d8b3a74d9964154f0456a79fac1d5b8bb7e03e35f32f72067606a1c940c93037c23c4f5d95afecbaefea2ec07ffc5490c53f403ac440f3dcd1b124bfeff3f2f1170a316d1c1bbbc02c8cd688fa1bebf9fe4d63200581f0298c374cb7ec7191833acf086aff42b2467f8c76e31562e840cf363480b804925f273933db570000000581f0286e33bacaa01902cf9ba52d80a771b6d9d24841205790d90fdfe1d1ac7d04925f273933db570000003d98dad23981094b312560e6f25312940e67fd1b99d0d812c8a5712f05e9749e100581f0224ba476170002c480ae2a2444cd3aee2704453fe81dce4c042daaabde214492833686ff2aed104000377a636416931a038a6583d9f15f8df28a4d99f58292c58a3cf5b873e1c70c81200581f03edba5f0a9bfd9a52e5f7cc1357f6b6c805c45be32a67a005b666ec2df5d04b2e4c9a14be309770570b4800581f0386bdbd4e8d83bb8605a3376dc0116c3bfd10a49d8888c816445dbc135a904925f273933db570000002184400581f0280ed6d849f2475d5a0ea536db743f6992de7dc2eb005c5120b389579b3a64925f273933db570000000581f02764377e862aa2df050d035ccdb29051eb36fbb26696f1ac3b3e9c2e41f474a08c643ea0234354a200000581f02f67b38af2349c9dd0494cc079f0eacbaa4f337742802f44c67bce4c3ea8e4925f273933db570000000581f023a850f96b38659d6bc63656613284babb994e15e98dc7453447a2dcfb4aa4925f273933db570000000581f026da68041e2f5d376532bfa4ecce0473771c7f99a30b8147c882f3bf05eba4925f273933db5700000021966bf03a62de0c217ac44171621a14213e8a9d2fd46fb836613ea7b3cb2d6fa98aeb80003d7f65dea92531cc28d005ab7e94c652f8459a2bebad30e1e7ebd6fdd3da9b0180379448b1925104efdc8610ae8c908e3744b808a8b13070eef1838a53a2a654d0603be2e34b847de64eb1789c356e8654a4bcf99191dbe766e375d34c2f5165ec40803c800f901f9a55f1f3913550265b51bf5377800087351ae42f7b12c3e52f207f9032526c299130857a23b9c763f7d982280a07bbc9f94b91624d92be7cb6884acea03c626d2bb9fdc84b79fdac0b7266b7da6f20253dbae5d233ffa89e28bedd01069030622731e0f2b4b3de580e05f62d08efad01a434552e21c765b26e6d007e98a6e035f9833665eae28549dae79a3e0388344f05379d9af6d108c8723edf47364eb8d03c96ac1eef62c1fde6a9b672aad47af6f0ac5586b4d81f9741e7df3b3482d205f03d360dd2d8f6b18576d9afedb07f88b71910722d440cc8ca29b9c31e7d6b6ec220219ffff038a3c4b48ebb5777d4d5ba873d3af0d44c8eddde7a1bc59f7918ade218893da90036467735d8be21a55fe057b60376e4f92e572f0822f179110a60aca21d5ce4b9f03ac57d77f6baf58066ddf1713108b254d94914a80a881bcaf1bf3ddc7cd36809203c4936ed6f3291a8f1b04c3040009b6dacfe94ffff31807cfde953a05933a6f8a0219ffff0308f16ab3e9be4495e39194efa2f40be1a553271abd1dea6ddd463e8fb10683f303279bb19c462dfbcbaa47ea6d13ebd6b5c863f0f3e3a0c70af12609380bba91a0039bd1ac7248c7a783d1c2f5740514d9895c9a4b6a5d5384f24fd96a06ba8922a903b95c65c9559248ff3e092fdf34c4d2f05a804ba3a25256c522d51271f82cb6fe038cf93ce0a8b4498999178ed52d3ab917e984d5c474341ff472782dc19ef7ba0a039324f42147bca14aa4c14719cdca79f09fbd4101d389197a74e88c45fada04530387cf73eb8beb5b7bd93ef268f3e34f413878cfd7c923612d8ff0410cff0b5e6c00581f02b61f9ef186083ddcde8e05cdc186692a5e02baef1e2d93b30d03a6391c05493635c9adc5dea0000000581f02943945d8cb629e64a56cb088110e2338f6860054d1470cd9989ceeda8dcf49011c7ea162e782000000581f02fe5a59b208e81c4cdeb784f1cf6e675cd04949ac29f4a2c55b40165aaba9494d64cd791d4682e12c00581f02508af363cd7ba77a9302211c09a07f308be0bceefd63a81411182f562dd94925baf0b86f17e0000000581f034d83020fed2de9bf5c99dc4e5b3dca20385e866e07cbebeb4ce615cc6dd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03734a7df22cfb02cbde0d513cb5ad8aa3a41a68bdf9de8d8b180d37fdabe04925f273933db57000000219024000581f02267940bad3f5cee7da387f3cc07918213af683f62eef1d1010cb2182a89f4a01925f201aed98f732bd0399ad0c502005becb34ebbab324202118974c57341650ab39b4bf6651ad68af9a031726fcfadc97dd983c3e2292bf64d89b9712bd4c341b99dedde26c003a1418e800581f0214b40bffb7c0e5f714c53ac5f8df208f22d3701f837bcb26077682007fe15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02c1d227f3d7b5defd2ff4118760674871ab0837af88356a507e6ac43a81655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02df6a5d14a6cbb8d80b12748e0767a4209559019ca9c2c5ee4109d03fa68849c9dce35a180ea00000021973bf03d975180f701bd4be6de562414dc3a92857ed4de9ead16f85494b5a682c7c46ac03f6c725e2d874736794c8f83ba7f119e27d8a0cdea68f09d3d3b9a2c7ba67b44e039f1c5b5365e856804a95d831d5386631edc1455dd768579616f7e5dd479b38df0349f0ad680876607f4a5427605d9553db7ba079e2dc830aa085d9833cc63b01a00377780050f1f29966e8de4a3ac3e44104a6960db8bc5605f3a5a0d9af0a74ce940369fc04299bf6b32ba46f5f35aa222d76f220c930e4bfe48dc04cc003b76e8310035bb591151f7ba212b84046e4d3e78d7f31dcd947d74bf1371b3c52e24b89b71d03ff60842cb2a95f86ec020ecfa200ad46ab7c5b5d2223fafd589c03c1da7aff8003e9d3800990decdafdb27ef1afa4b9cb5604df3f6691fcbf6622bc1157db446fa0378fa6b5c7f580741c7cefb46c5fedc52b0820e707427c548a4d9da2ea50d010e035beb41bcae1e4d838be5486a62273edeed089fb70c19718bb07829aa88f8b93a03dbc3132e3c3db7ede95b8fe413f0ff1e0ad4c3927659e0cd455a705acf75174a039714e90293df9fd1a185bec6a76451eb33237972b1bbbb72dd0d4945370314ab0219ffff034de0852e545489f180c30fd18f740fa038e54e676ad2910c1a863e434bb0a1f3039847e299f5daf85952bc72473e8d32b984e1bb8b17c48c9bf275501efd4a0add03d606c97e670c53d56d05a96a61175384fe7921c79c5a06503ae4b1adc31ac83c031af163e107470bff91d958b6ddcf6870ebd98e99278b53193aff50afcd3393e3038ff8fc18aa9fd7f9045dedb3ea907dc199df3bfd695fed97cec9c658b7f2c836037764a8a81bd6bfe001e2e550ab0d6edb55d10c9370277516335562eb0ee59399033c01937aa4ab4d3f4a73924e558ff6af4483708b4be6676d6ae61d507821c8f603d20520ce6151a7c8cf94d12649cf6dd97c298e7d60f5b54f346893fbf4918e5c03d0bf886db275aa2cf9db86d9b332959fe2d93a489000fb2745747ca3297e526503fb4c6f82ba093940a9874d091b7d579ed8bfdc2e69bca622fc3eeff62f512adf0380e0999158a3491c9ce7f6ac67e295c7804ff68be4fd7a13957c1d5bde8def220343843abd9597b4060aa50038a2121ba31fa2635fe5205b791c1490d5320129a503c83b2586dcdba462e5456f7ccc041c0af606e3eb18602509de83ff912fd789530219ffff03b5dbde16b09d3addce5206fd71fa7891a84399fec80f90f392f9105b8c4bbfc703e2c5b2a2eea2032eea963e2602068bda36ff2851ca183adfeec31e4721b5102a0361671205d412d011d4b55cb12c40e8dd1f1b08b3f5bf03b586c19238a16f8e2603d9b58eadb3335e3082b878327972c25684128c5aca030c89fea731b1ee37c14d03f96470be5673a7c8bb8d06ef2f3eee6a837402244704f1d9d9decc1bfe60b5950327280029ce29e16900cb083b9aafef36b3fdae2e7f597d2f164074e98d14352d0219ffff05581d02911712da57944807105ef64448a2a05eef0aa55bae657b5fb59d22ef07011922660219105005581e0305a842677c0fe59c525952e2c741fdcd543b384a0a2ea12ea41f8c14a00c0547017a54b71de5700318a9c6e3dd91afb2617cc4093628e71a8078d4145122033504dbc6d64437c71105581e03179961657cbfca722d05083e9071235adb52dd4646490d9307f372d3a0040105581e033d68f898c584327dd87ad868ec887a7357cb700293a195cc64ab5958300c0c47035f1ca191e0b805581e032b988998a6eab58280fa1c9ffbbb2ed5950cd903d85a492d80e7d920600c0144d805e27105581e03340ee45393757065e43995ed583d7fce56530f6a5c7351970c743145500c024702a193c0fd49f805581e0314da641b3d13a9f21685c49a80b2a10be9a8117f30a4aaee5b353655d0040105581e0358a0f4e912240391daf1fd95a19bf95f8b496cdf5240a53df4c847f290040305581e030507164b3317636d9022b805934ccc51ad5ef2bb9ab1863296139f7ed00405021967d90393e8aaa67265c913f411933fc6c99402367da336e15b6c8daf53e6f5e7c06d6003da01252ad152ac24ceab00efd36704b67b4c5190a6d77cda47959c37e164bc7303878ef2a581bb204a91713ed95abd7503137f5172b16e7c0aa46c10f53a9fc5580219ffff0219ffff0326868dc02b5d7f4a64818a4957e6e9f3c30b2b4aa2dad0ea9dcc1bc9c3f8791f0219ffff034cb591c7efe37181ca655bb866579a99ecc4ab54470f29215734b7d0dfcf5d8a032d3331b47a6b9fd32074f723ee8b36f09c88a0966224d8e0b3926c1764dc348b033c60fc3ce9dfda069f8bb62fd7f94cde11680ca555bb6117773a78d0e749161e0356394472392969f92d356d5c5b16715ef4b43d05db901dd773526d187d9688c3035623fe04d2aa8d9cb3605c8977166f577a4d2c601cbff8ce9eff95c2d32c0d0b03f5302f9f847296833f49b058d2a65c1b0a31cd5f1da9d3a194d80cf3d64e737b03b7705a99d91236a7da250abe02f1b2848b46109122fa9613a04819c00ca6eed6031ef02919ccdb2acb79e603229e464a08bb7a036a3f74a08162c3cc8e8519b06803695991b0b517db40f55b31781f1b6b3d85e1b4aeeba97840cb9308a3b366798f037a38035782be84a8f4c436ebf4968d9fc3bb155b9dbf8379ff4197e1bc260c2f030e0b2a62c8238362cda98ad7f5d28343e22135657477e31a2e82e39d1b07ae8703c09281dd4ed48244cdf3eb12c754abe48c8c7ad1784c93c3e047d417fb0bdef2039c5932e5794000f3009b15ce6508b8d46e624d6e6343e3962e75f97f855ce4420392f294aeb6bd0ad080a3737bc2160d3a7a26aeed8449ec379d9e8735113f1d82033973733c9eef6692525d0254a2d572d2a4d6bc8469196d88c490ea23440e485c0357176e52f013866c91d0ae20871bd670af493cec5bea30c2ce57968da3cdd18703f84201268eb198a88f7ef0a9802290b53f7eef6f7529e41ba15c35884d6a2fca0311569f556badf3bc8aac9ca6670a9ffcb2ae082d790f8020b5f7ad9869ecda3b0338dd104183478ec99603c709c07898c62606f8b161b2782c9826848a71ab12ae031cab3c1fa74e0570de13ce88b92399156c97dde7dec4b4964c2e772be77e123303bc2c2902cf2dfb390fe57fccbff36f16870cd7a2ffe016ea8a4e5f0ec40601b003b1d3cf0ee9d1cc679e5fdcc6c1fc60e3609347bcb8f53d976ed028501cdff16c030e2b79d6f5fa5a2fe4e50604852bf00ea123f01f7aaa02887f3c4d65ef3b03fe03cd43bd266585fa0563154f179e45a1fc03f7a303346957cb1546411a846a209203812507ed0be849cb9fb9cfd0ffedc03fbe263b23366b1b93c35837375a175ba503653f287dfb4bc31af40719f2a9fd5716366b97d32c01d4f25ddeb7c63c55868503d5b17c6cf9f0e98e710e3b01ab3469bc81bc2fa296af2c2b916dd220b551c4a803cac997ea460d4ee35d2cbf687f26bc671867a7d50d8dc1a49b0c81def987c99e03d1d86ec7fdb4409d3ba9a8614d94506ffe953f4d74920d610beb7b12fb9c4bd203912edd877c3fc2265cb415c0c458afc5b7a6af236aebe152fcf8fd2f8a532d4203c694c97e83bc557a56f6bb709a3836c750aea36c8731f361b740873da0eab695033646dc4366a419b3cf9be9161c595848efcfcba1b9c9e6d83a712bdcb2d035fc03786d66ec7ed6b064ededfec799377d8e12b69e655e0b0d928f3da12fadbdd662031287e345b3732c27387d76d45e064d805e19fb7c6c0547a5f534fb4ffce7b1e003b1d703624a846e366cbba6e05ef8e8ed7b18bac77d41d7c42c56544ee500722d032c5aff2fca0b54cdcb8f4a5a4e4237835d2d5a790a3f5b568789e687bf0b3e7f03e6c54d97863545884459f7bd694e73b2f018dba9ce8b893582914094774c4158036e2db703c950c03b9e5510add64fdf8f87274403c86178785b4aa242ed2c9364033b909027762cebacac85bf6c25f6d2c740b71ce21c0206e9c5b3760e2e7f683603b1ba4ac4ab5cb6d73bb0e666a22c0f8823ccc78efc8bd3d21a742bfabe88c6ab03451a22cf2586bb924e118a103895b12b078eaa155d910c1327ed6fae2e0dd27c033322b5ed74de213bc2d4aa48647e5d4a2a86849cd5289a2c9239feb508c791a0038c36384f942c86b61e14c223635eb8386d0b005315ff68c693b9c281306cf3f703d4146ffbbe9a9905a4f6a77061852cc930d3987c0ebe65700ab31d4b74b5235203e9d8ca260a5a834108df7554f04cd394059cca92bc322c43d37e086e1123367403ed04ee3119a020bef47b5d68096677a70d6c71aa12d196c4007a3362da3552450141070399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803b8de0e52ef2155b94dcaefd27027e526c854bc720d54c76ba19a8a545a282b6105581e039601afb17492ee4564b668a3a96196948933d007467b943e727a47cfe007011bffffffffffffffff03512bdf3e2aa2ff18107a4550c040416f344a73763a9be66980885f1a9d81929501410705581e03192d5c00e4c7804cf12517e23e42760d5f47199991931da45280227fc0040205581d02f8733bc59c6b4785bb3d78a818d9677cd455c566cda4013d20938a850c0247011719f5dd64fb05581d0244fedd74256294151a777889895bb1731bced792ac35c62c1e2eaeec08473af7fca0c04b720219201005581e0344406797c780354a02840d66f5a331273db0d5decd08c43c072e5ef2200c0146224066ec180005581e03d4476349fbfacac100e07472046cb540088b905873f0987e8002ba27d00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03693dbc614574962e99cc565cbc9141149fde5bc05661cdfb1ad26a099007011bffffffffffffffff03ba3399159aa6298b293e70bfaa69364245662a65000cf5f96cec6bc1835025660219d3990219ffff03ab34749ac6850bcf7d84d23521d18cfd9f4ea155bb7d4aa4fe7c9af72051a91f03bbad9fcb294f864b65c58e19f42c6d8d76220342519d6b6689e341a902a19933033320a27b55b2f4b47a12a981355d30d39ea6c252c123fde7db63c548c4a29122037f21c5fd2db9fdf7c6765b54353cc7617aa83b3fe8057282c97a15015107ae8503076d15d0e55396d827fa2cf227d6b68981dbbc291ccbdfdc22d4097c0366c92b0379961c5a5c0235c219dab402294be88e3e7238b466a23f469a4f5f086e91c7c2032b95ee890cf7d0d7bfa1a3fc21e35eb8d93e73b99b09d18403940d43180acd9c037453620d1ec1b5fd15445e23e3cb76cae6ef25b0046ffe66405be3f65d6d4e49035cd834ee6af154e870d1f37f84ec164ad9cee5fc32797ec50b2acd230f82cc9903669f60620551a98ea2148cbbf915075492e4d125ec2259e0f1d688d93fe5d2fc0219ffff03de3af73763d709b26f15d921b2e03eacea6a93e3d98d4a476821cc7872c80f1303e84001cb28bc6790080f5984dd88bd347fbd60c27196ce0ce41bcfd27f60fc920219ffff0219ffff035767fc78497ece1a10cfe8739f18dbae723c15b8bd16c7a324e86009ea063468032cb0a9f7eb9091eb270ea8ebfcb2c229a1e845ce2767d2f6a987e5272c2eb024039c511815cd9018f1c0f9a02929604d437a5775fc279f119927b6725bd8faae6a037928a8569800610a65903c4508433e5d59f034e58c255460ea8df18c9e19c81603428b8bd920455a5f8e5b3b93457c2ec887c37975f27cf21339652d2b8114995e03899efe56583afb726871265feb933902fc13e4d8efb5e6abde9c0cdca6b6b753030c06bb59c8a96e81aba8dd5bfdae3e93b5c4ee24ceb8939e0b90a3e95a3c5df50317f83e398cdf3b0238e489b1ec7dbe1f6b0553aea2482f586807719a46b0a0b303fb85e53a3607c1ac99bd9420333d7f35e19014b14a977ff1b6034e7008472bc003639f553af6f1a4733408d137d79a8356f91b7b01f50b27e5964a48121c1dfde6032b085418d3a27f5e41b8964f0a0ab0453fa6d1760a958554f3be30cf79c67ae503ce43615474c5e1bfc84a81d7edde58ce8680f5cd153ffa90f2d52a59af153ea503072f6bdbf89dfbf48c70badebce89c09e2bcf8597edf57d64cb3c5d657d3ff6503f630b4dc2e1fcf439c7a818dbcfc6481a807f0b157de624e87f2ab39c464d1c7032a5e02b2c4e68d2d9ddf62a52f7a3cc5b6357c9c4e76a00b344e4f0b72d09b8903fd49b286c43a7be76c50f30a96dee64cc1f619386d75dd0fba832060e2d275010324ec09d51ee68cf8bb9cbff075ad2877f79cc478986396a5c8868a39f9f2edff03e5bfbfa960dccc85a668e8f112537f9d0d8290433468436ae62530165afa311f035c2ede3805ac777d64c232fb113ab67116c8a1f252a5bc401cf9f283e9f7a6c403264ab6fba223bd719f93eb054bb27aa71a40ad8143e217b6ab87c5de104e5d12035eb84506a1607d7521f30a366c1891a54e0e84c22a7c48535c63f74d08fc237f0388233a05d913b6d6a90e86df16da00c35ea77435bd87a514b61cefb7bcebc96b0360884cab0a7946c984e46b65bcf78d445dcd542514289b62b96f8defff714679037d337e717ecd4ce5f45c4ea8994e476ce38cf937a4f2924dc40cfa8fe5870fe905581e038e5a09e900731c937b9f9cf98dd46edd55614471018486770032d540d00c0447275e593373250003eb65ea007c07bc1604264fecd433291c165a1211a8bf8bf6492cc1194fa5494005581e035a76fba5f3ab8fe576d44c03683d3a2189211bafe0e5d16cb0630b5e00084780b6527a8c355805581e035653eb197c3fd399f1a5cd68d1de6f19edca5b60433ac2b56c7722f0700c054730ef6fc5c179d805581e0309a9efb64b9fc582cb3aa2de516620aca954f1cf2b57fa3c62a951f0e00c014750434de6c4000003ccb10237fbb545478774d6e858eb7a1327708de6c205c7195d3a5dacd596120903647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0309649ef5d0e27de54607a47f0520208f93df8363061237d10e681ecf3ddd9efe05581e03469667fcae85f0588263efb961720305bd89608714ea1d1d740c8f27e007011bffffffffffffffff05581d02d5cd67117eb060eb8283e6f3aaf1a31a9234b6478f940d7ca4cbc360040105581d0299652947601cf1972a660924be5f208f708f0e0e2bc9ac6a34afbe120c014702ce80355f63e80459088a60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820a4a547cfc7202c5acaaae74d428e988bc62ad5024eb0165532d3a8f91db4ed24002903ae833adb5412a29754ef7d552caa8d2a3668da4dab5bc81871a6dfc6f5e902f2038817b9717eaa368e96ed0d347779c4fe22adbcce53a57aea26749a8e322f46870340746e1ad1f274aa12a69ccf31aa50f1b9f62e5104c19ba2d859a74b304c5ddd039f3943db9f68f89d681ac6c77ba78176c14969ad8e2d3ddb29abf61459e2c9a003a844a7eee6674b4670938bb2f0b8d0847fb10634d711a98a6c703db6f0e49ee403d436500c8ac83705ed1d7dce39d9dd0410b63048daf9c166b90df1408bcca53103ac3377f2f9e41b9c027643dca26a854e2f8f6c50257983bc7a1236b121bcf1e20379115fa102a878b742f38757f8f248c3d6503f1a4bc9f639a687f8718de4a35b0387bb33a3ea15dad3e37a1974315040db08bca953b75a7a783e128910b7b800b803fdcd01748534c891276db6980dd94b2de8b16e447ff670f8104bedaaccf0482503136e0760167bd81ba754ca67c5a08a8e8ecff4362e70b615b8394b358c71369803ddc389a8bb58f1d2135fa1233bca47806dcd4bf27e21545e7c039c04a9e1eb19034aeff9b217478128da19d505796fbfc9c607df694b028943ebbaebcb11e08f5803f26ec4bb3b4c810d1d649c61784dc557e36a8a56853a898d2dff4a07c5e79c6503b213361c93dc160cfb922437fdd29c0a2bf497c17d7c8d7717e063103c439ea800581e025002aa9f2642cafadf07babd867348ce25bb5d9e86c021f1c3ad5fbf964401312d00038a2e8101f83d209a7ed4a2fac5430e6093bfc95efcd60a9bf91dc97ef4db492700581e0252bde7a116b559f5bd1dd5875a7fae45e3833b915b14ecf48dc700751b450b7a15ed2600581e0261aed82def37ed19fe9c31e99e73b9dc8a8339bb719a3c4fedda19a2a2441dcd6500030dbd388786ee1e10158f1896f64493aca1b4d803e4ee845db365b3a94bd950c30219851803f877292f1fc00ea939bd0077ca6591f600497b487b812d6d34796352768b28490318590a4918a3dcdc70aff0681244f11274cc4b6cbc13b2c235184a65b6297fce0332059133cf0da8c9393b42c99436430e018b6c03c00db2960ca022f00ad1ca1700581f03cfe746ac4ad85db031d6cc128de007bfcf951f1283dffe33b3baf35f0aa05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffc86cea503028c99c554259e57edd7bcda8cea293217c81d6c7502d6af261458d769901720036b6ca9bd6d3f378de9662ac4f0c5aff280f61d096e25d6ba241c57cf95706de603215c9b06a4db0bf159cc50dff9b5b325a1c53b3002e10e0eb4624c46d5a3322703c7c35f0e426c4deed3b1138fcfd35ee22cbc18736d40748395751d19d96b21eb03eb686319937709c6e80bd43397453fc21eb8a08bce955e9b1708aba85a314a9103ed335620e4ea9311b6d0cb9d36c79b3925a4116b6cef676eb1b92165082f54910340cb80a9aae4c354726c818cb579a48d19c4a33adea5202f3407ffbf5abca9920366a65c67a3a390fe112298862516ba4d94963229149365a11c3f94f4214fedb20348fe53511a4a92764bbf81ea39347ff982df3eda4c0843b406082ff43b52abb0039fe02a9baf3931440609850acbce354282b5a550125596a5a2e7163fb7aac830037800d3caf2d00d0cce0e4f586c02e876db90b9b054d7361c4f55fe9b46c044c50219ffff03fe67c2e0b67f36bc20e1b1995e93e6fdc1a64ee937e49e4cb374a1cdf51e1c61031a53b96ba6f30a12a0de8d8b7d503a30971356c52812dd5698dc51f7e1306e9003f570719702d05215f6cf052639c7f8cff2144561f5c836e93b8455d7428f49aa03b69e181792f132227dbf81f8643e15170e6d29a766e8c2a3d58efa89e8b0878003be2f8831c3aa6e7d33c334cd830ccd428afa414f2187d38e5f514ce8c38b154603faf3144ee4032a0c2be051618a31a644df4d41e94ac859bd5491321831ec14d003bc897cf5ea278e2644f770b3981e237d8cafe0cb996a0ce2289748b1670405210368def208366081632d16558fba08481960a6f0dd44b87e243a018e3b11fcd42a03de09cb26c771ea81abac0b79780163b0b5116d9800b2179c10bfadd50d03efff03512f4e557370312cc82f380f7cd445faa0bfaea2a4bf93220b86108d23c658c00303c8e0cf631c9208e4e829d99cfabebed0d4ab50abdc1f30415213915ec51ae503cd34ed94101854332068e31aad3a3f1c270ae4d6c880846fb9bf4b6856ec81f60347e85a062674b20e775c9d2932485737fa4b50ac407fe5f92cc56a261d3ff7aa034b841967afce66e7e6cbdc628a9433baac7378802d5d5b2f1380ea5d3f37e3020377cb6d2f8a328f083473cc4e7e20aeec3501ddab584e6726e61d8aeaf27ca62b0219ffff031d5e1ce3f12fafbaba3d2d675fb1c3587718a06441ca8c24daea3439b22db061033c64050ce9512a8ecea2c04821a6f1e11cd402b5a16774ab12d61d65aade3a420353c45bf12f355c0cc208c1fc81b19426d38d8bd25ad0e9c5cfb954d2c482bf84037785e8b3beb4e30bf7017cf0f257d49894b170681eea703826c9dd50f0c3211103c1d076d78c3d1c4b011e89eb8cda8277c2341b5d146c44ef0e2fba06ce76f8090219ffff03ab757ae18c7cbacd807d05533d28a79c19bbbee7b6e861acacf2f22c3cf5f626031f8397bac54b70e096af65f13bfde2ba73389aa9946e5ffe0b4fc2cbe748d499035cb0740fa7afedd59f78514b4348abc388ea5f55b50db7b81307f9733f59b36d03a40b2535b6096c40faafbb2b7ea1fd4686324dbe249c896666699012201294990395253e715d94241081a29232e2e4223fb46865efe7e0b639a1b12693510c381b031133f2be9a84b778bc05fafeb415a68d9e206d08b2b0486a0dbac13d24b6b33d030b9395a646b561c7d3372f5bd225b0d4c8e24b59d417bfcee18823d48bb45f1b03e35e64bb54afec27642563f22911c81a862d4f6536579c4dab697cae08f33f67032640ee246c7fdbd1abb35271e6c05c8aa6f01fcca81050691490ba1e1595628b036a4a5078b9622531fd39c7e9bdf7aeb0a19052535bb751b9a0c9391eeb0168a603d2dc76baeba4bc12b12e4e3039759d032e17ec76cb14d593aac527d669e8704d0349d11aafe69e814ccbec759fe24bbec09860b06190af0a9170009cf21cc7ce3d03c4c46f8da809f1931bb422b10d4386e3d759a6721ecaaac5256e91914afebc4a03d3e5965320e2cae2041ea5ca12d99b24d4931147ba8a185f21ba50cc3a090cad031bfb27355f337f0fff2792b272eb9548ca13f550fe105becea8ccad443275a3803531256287a5e2af27af9151dff315c59cf9fc5dfe305cc27f41c03083df9ba4a0324aa572e55cd96b5d70cf6c3b73ebec5927845b7cbc188147e4281840804ce6a03996a0df295af513acdfe1162a6351b9e6cf13c27ae7e4dfac72457810c94cfe0039f0ee8321ee1dbec3decdf629dbd54f87e683e6c7efaab495adaec41e02bc74a03eebe0941a061cbf95c0585f87301c94e66cce2dcb58e8b0b529372dd1b51d44f037beafc4be381c24a6ac9f6440c8992aa6b9203e697298c7c6cffe8207dd326f5036dcfadb3ec1a16222c49dece0077508ce11faac282d377e9176c25a3de5fdb420390b760c39fc580e13c47ccbbbd9f412e106fbb7c3e6cd45792efb16dd1a0981f0333948e2f60e6a9b7a19078fca1f2382365960b47ae389703c9c94272e7ea7da3030b1dc74b757294fafd7acf365384f4e2a806fa2fc5b6ececdd95e3a98afa5d1a03299753fdd35358c6d2f319b1208f0a81b564a8c2679cf2b0b369afe3faf997c1035bbcfc4fba0f9324577b55dbdcc402bd4e45def541b4f489144ba8632b41dda50323a694ed2cf402dc9175a62cac8598dacbaf75dd275a65a7acd230e52837584703b09bd76443f2b19e2874d1a9ebfa3fdfac106e5aa827657f40d70a9a0266961203beeda31608a04610ce04832a7259fc1304c4683b820cd441b8ebfdc4f4081555038cae0d86fcfe3184d9f868080553d0b53e398426acc98bb8dc2908cfac3c4dec039a330fd5d45a498dcd1d4569cff1697e95733e6337aaf3cea563f664f2794aca03f7badbc2279b1d70f294a0eafcee4ac51ac8a5721bf71053b7a66d037ebe885100581e02a818348987efc21198638a43af425294e0cebbabe1f3c7676a812e34a654807a96288a1a408dbc13de2b1d087d10356395d203395cc4683cd49e35d6d101537b3661acd7f03de547e8a2b17650ab70a5829cbb00581e0248b7e2ccdd56cee52699e9315c16e7f3f0dc33119ababa60cdfb8409284417d7840000581e02ec2e256dd7a246351e4b2aeeb0835725f8a68497b181b9542f1d7eaaad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6377579e0219246003537c6fb5aa1ae3467fdb4894884517781356cc679de26f914b35e3edbe2f1181039c9aaa33d7a10b78c48ea7a91247af19de6b08be5a050478e67c6ed4b06ad52103398def5974c743e0f2687072842f3f0b88654a88fee9d446b459031efe6d9a95035cec8bc04e48d6815da71d69d016d9903d542ee96975155d8cc68c9eb1999ffc03b365e1710127f7adf4b5462712752a6bdb245c5c5c85e81134d95a91f26ca32d036965770c9ae2ba0f13e32cbceb3189c23ba602d6de52a16c8aa3094e8a900ad4032038601334402f22a56b4b4581a124b660571a282310dbaa133acf9c509ce9960219ffff03efa44298260b362e02e49b108e99bbe9a014694b44b70ffd2f16d811fce5796a038a7260fb3095fca4512d75c5071c69f4321c6a0dcc182c662139de8fddcc7bf2030e8f5d7871e37e4e6d2e7260541171f58a38d146a483a28575a09cba6c87ec8d039638f15236ef694c7bc8498d3423e71d8ecfc75a2a36c3269cf1ab9f544d1ce20380529d2f3498a08b30808a7a7f320567ed4d29bb428e4ac04373720f8c4f6ca5036f570bc6465d838c57008a6b21a6fad4f366c2e04b4a9c1a8f452f7ae05f2e3003fa6c3bd2b50e9b304b6315283ad673a99e4e8c7a74cfcf0ac84c5c0fbd1d4d230219ffff0219ffff03f26a265e14c155d64b25b9626d827bb5c47b9586d73ced7cb68dbfaf41b5e94903f722d7323701629f1d907c8ef14bf8b3567e9ad8508a814cc78d1d3f2808c469034fb1a7e16b1e71566bbc01bb11ad1e8fae9f1d97bd4ceae9673d4a05333b2aa603b2b1090731e4936d05970c1c81a2616fd82e218df737bb0de7f6e3f49741c8fa03862ebf70fd3480578e5ad6322de7ea9f0f6986ddaaad1699d6b04a26d37aed8503dd9cddea040ba31973e39fcaea67817ede45e36e04093ca52c54a63118718dee03e551460aefd39cade56cc9a36679cfdb01f7bbb1afc5a3ab237883b7d540b416036f9e914727a4d071e3e29b7531807e9561253c515d2bf4050f31124dbc95860f03ba2d96357e5a90209ac7b69f37b507eb4968c8b87924bfd2c05cfdc534d348d103d6fa2db00f6293b78e53db0fad9802dcb5a169a83c53431b8ef2054efb458da50370d0a0224da802c4a5527485d616538439b2c9ff2d9795f7c25b9e59083fa28a03b649f97b26031f5a75fab5b8b89fc6b8be9b15364248e8acd19291221130f2e5033148cc01d99cdf1e36e84a52aba565ccc1e40bd404496b353f1fee7535a906fe03815f38767e448a5225e34fd7f7ea8f518ae4443dcbfae590573133f09fae141e03c076fccd7ecf7e6930cf05ce73827fce6667922e6e1999ace52997dddf6db91b00581f03f1a7d6580d5e30beac6d07524e5247a307fbc24e051f3158e47d69d2dbb043edd836038731284e4a9393f52366c7ad329eaf00463c91122a439a1b0d99c76d32b701f103d9032c328b70aa29d30869d55d4bb1ca01e842e204fde90d44c4e60d340f3174034944ecbe9ff05f74fb1e7d7165aa4f33ee48a1a6ac81a7205607d5fdc92496de00581e02f45a26a4406ebe933c7eaa4ba5323c1e44cd08e4b191fac36e8c126f915820fffffffffffffffffffffffffffffffffffffffffffffffffffffffaeabda52f00581e02ade093b00482e4b4956c21f37bea140d9b71554fb7bc7fbc56ff683c48463079d42f289300581e0266e857e75bf3041d351261b9a972e806d636c3a3cf2238a999c9fa87654b4a817c7ffffffd9a12790000581e0259423903f227a5467686d97510d252ab58e1365d9e9ac65b5e323c451e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffeafc61fe3f0219840a03f19884e0e1f9971cce9384d8256098806bc1fb69439f1d57eac65abc5b40cffd0318e5bb54a6718e69b970d2f8dd0619b3caff87c00d7f1882aedb64e1bc5798a1033e23d998ac032f24385e4865ef016bc1e37765922669b861a467137dad9cdeda0350129f0fbbad493c65eb18e7498f0dbfb044ee5bbda2800f1b8b4127c6e0f14f030ecca0688d0762b4fd212cf3be7f73ff5710e03e9570acd94507b95d5b5acfb30325457de3e4435a1b03e5b4fd4e706f20e6161df3154bb79b597e8f911c2576af03875b4dd3d8fac3678c74d114d9e0f10ac7f67a7fe31107c94f80a593456605cd0308ba8345fc1dcf60e3c11343ecdd640408bb23a86d4a5b18fa07531f0c375c3803aa0bd701a33299d9266983213ddf401c5fa70caa053cf5d9478dcf2dab8fdac30219ffff038659c20f132a868dc690b6e14a86e4e694818f7644d028b26d4ac1bc65af81c003ed8edf4eb036a690ab0427ac00900d7b442c188dcb6725f21dbe790a320d364a034b566467b188ddbac133f4fb7544fa53d22886b3347260729b4bdb2c84da522f038062d855c94650c3cc76fd7d9e7a72c9d435d2369475a223b8952b3334a0f94703d56092e8b7f8e7f14cc0231bc48f62be72696fea39f6a8c979523ed1c900322e03852878322b3128e8ff7f6fd626b08a25cbc3f9f307563422b703d2af4fb509db0368333741ebdd5218db0d670432bd3dfabba9901b7814995b4604247b4fc19a710219ffff03635e054ef02b205277bff9d9e59582d9f005d8c9a9b7e0d6c2c7bcb193a8cfd2033e3c29af820b28b4e46c53d0bb6ed82440b19d31fa4ce496caf8a868b41cb0e4033ff345fb56fb3fae4f19f85e3fce82498dd250ae567a36abfe17a776e322687003cab661d795f3c4aa171c4a3105924b3d68689df9a530dc4359637872005dc03d035cf71b592a4f671d63eddf83b1c19a5ebb2e167c594d207d57d0f50bd6ab423b0368bdfb0426298e4af86e3605c557c70f5389e57d530f074d712a30f99944f024039680e3c517d846c0fb5577799f35dc63ad0e3afc567d107bfdb736b2c83912af034d664cc513a6fb029b2351128d3fe4f81addab4b0102ca5ebe15aed6df10e56803aad6acdd45e97d5196c5ba21ac59fb1f4836fc74b1f233d2410aa778770ddd57033a37c2bf02e427b78a712c761f7571e62d91064d89eadf352c2d5fa927cc33930219ffff03d6c0a480abbdb392f9de1f9a1eb628e4f154681bb3044612a40c0bf91a1d0761032a2e7221acd7c779c2964b0d1a461e73a77560bf39ad87e99283545835bc46c50318cb8e6714d63e64d394d363ed3c88bc68901b35a5eef5c4bfa7c5c1044e35cb039ef0347088a71ed3765b6a4278a9907af762f8cb465a2110d2edd9bca6b6b7a6031e3e241d2545a0355e3b759a1d5d3c222fe74a3c39f58fca215cebca6d8111570368c857f4ba12021b4d40f8429a3ad551772e4dc415d6d2437b8f3fd6646980e10308c317fbf34aabc78b76acdd3349a88e2b6fcc99195bfdd9c224d19e4859ca9c038517c3893655ca786642f6bd5e3ac5df1c3865c5f0af9215f42da3f231b0266d03f5ca5a0609299b07a18c9b8564f21a1aeafe74eec74cccf4ba31ffbf967e067b03c67dfc577d47a99f5aa0a1a4ce4c29fc8d5baffe19b09902d3075faa85113d37034d9e040a328aa6401255c8d3055f4b8b463fa9db079980da5b4ad43ef678d23203ea09bc42c57d1067bd830aa07fbd0f8587cd12a463fa9332fa482a36594542570311ae380bfb20e9c574814da56539052b19017e9002a627a5a7707d565a29ddb4031de6a3a64160f13a5400c2c347bdced90603214d4d7c61b2d373a2e9088cca1403bcaa53994279e1250cb9ce7d945a308d72c3fffd8bed46c23fdeb0339582fb1803fedc3e3d412db59e5d120cd2145a26925c5e00c014265a2ba055928cc59f0fbd036f1b02d57625d998aab6a74a099a4b4b3d90f1a93a61659b89a186935512cc8103ee3a527180bb805a0b387f69645613e84c9c633d60b32a88a97ce65d7ad7469203ced45f1e576cf0cf348952122bfbbe61d84e409eacd3165d766b7a44067217780359f32d268151b9169edbbc83e13d919a36be59c1069869fa268bad528c18800503c40af9e83c9721d77bb62cadad47eac1975e55ed7d264bfeb1f299d2a85d851000581e024c7e0ef0e5392395ce7452d4e5eb01900919f7ea753570abc24763692d4633708391e4a303ce57e5edd483c9ec130333555cd60c9d3082ac31dc303830ada6b26902dc100b037abfed7573ad322f5d2171c142351733c704e3e57d3d2dd63cf21a8be9416a2300581e02260608623466482f88cd4120ffe69d5e8ae6875361c2028d7c5b6967b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e020d5ba211db4292cd0fafab9264dbdbd95376e3f2f2edb44a004868a096438b92780219d088030f0a3e64f2a2581937ac885437668be8cead505aceb8dbe390adb0269b8f3f1f033bbf5d7ecc9f52213fc5b53a6f4e65c8175b52ac4635ee5c3fd9202685832d06036808eb62795c554eefd360a80b4b6453dd32fdbc7b396651e69b650c3106a57e0356b1507f4f284e0a38b2236ed687625684110b7ad2c11bb354da6c1e7d778f1b03a761bc4dcf02fc6d5c604754b1976e1896dc503b9048c96f86f793079dcee2d5033ba0bcf170c98b3edf075caffabf9ede796b6ef740eff3ec90cbef72c3eaebb403495344efdc25cf9d851791218273f116fc0ab61656de7a5244797aa9ccf1f0e20382be21fde0c7e0b66fe53625a5dfce65ac143205306a43d032d85bc30d84329d0399362d71dbbed84b8201a649df869ff9846deb7e07f0550d90f40f64c1d636ca03fe7f3a7efa5804f92313462ea6d3e1144aa0428a593b126eb3c55e218123f2da03977c4db80817c0cf80797bb7a5f6910dbe70ff3517755f378f9d6f7c61d00cd6033c3da4ade83fde310d3646f4a8e53dc27423aa7b1d622597956531e092ec7ad20311631580c2cd3cc608db8873afa35ae7d4c7c10a6d8ec8adc5beed3f8549b6f1032b6282b738e9816d557d484ea3d4d35f7ea01c7e670e7f56c776280bc1dc5eb103495e7339e637de0761bbd1da063acfd7c6c50171686f7e47cbde2f2f4c28da830219ffff0344d17163bddd7e4728214e4cf00d62ad340499e34e1b06005ce9b7cc87764704034ef77136cb3557213c41a46e234ddb11e7d045486bf5790b489fc167699f1d7803f76d4d48c241dbe83bcc3b05920b30b3bdf17e93b83791d52b9b416a06c5453503847b33e94e9bfd87aef7d05c6f0c0d58648b93b2513b5aa32a91ca1cebf494cd0305a08ed8b8ee0a74c33f9a16e75d97d5ed1be0bcbd88333d7f60894ab9949e5c0341652eb420508afd53a73434dad80f20abcdd6f8629166764adec3b52b2eaf080301837e76b619a1086761f27121dfd46a281e1859e127225e284f7ecd96894ee7031a4a1d397249a423f2d40eb9eaaa277481efb5d28368438bc1cdc6a1b9890fbe0310b501ab7882813b763977f8e004403366d16394c78d8c4ef4c77604852d3e5503b2853fe957bfb91855323211fa5b13a41712ec9ddb294f708725290d6b6231850219ffff038f1267f12b761bfbe6ee03ec52fe2dcca2d2272b1a70cfad3a29a4c4fc75e0270219ffff0300530060e004ea48ac4b4b03360ee694f0cf865c266e4e0ecb5091249aa0ba5a039da1ba227b13bd8c170ccd167c601169333cddea878edf06f6aef87b0a065eb103cb2dc342099857b2156901fe2cb357b0c62457011fd330b1cbb442f22149e25b0219ffff0317bb8783ad35be586080d1a060dcf42f0940f0f24b30bcf4352f4e9e107d474303ddb7092e4573755d9a3b426193ccaafdf53bac1d3bd5c0094ac4b68f3a95f21303b3f41a249376ae9f36cd20e6bae432db892393fae6402fd49ce658a19410615f030f4fd89f26200d73d1771dc9913b6f05506b972e913e951235057ab25c729cd403be0463cd1540e05bf64a1dfb9055c8d8c5c15fa08eb9541947b45fc07859c5ce037aa7fdb9d79977b4127db58b2ed7434e371b4aac34fb7bdd910734e6dfc232fe0316197a56f6e005f2ac8dd171a92b3eac0c6902bc46738845b524baaa890e58e0036d198623dbe7081f3aae805bebdc99123093aa388937a28eaea68c79dfea8b6c031aefc12e8a90a2a2daa36901b2ea36f7245c5c9abd2391cd2667f29a2c291be2035eaf4cd199c31a3e4ab5907511fbd72a29e50110f4ab5af8bdb086d63a5069f203f7655297f58518fe897ef8ff53af34c47b69867f2cf667b7c9ae213221f8793203fe0c0309e9c506b26895883a846f6dd29be3a981a97e29fc6cf2f5634e7962ca03c7f94f66aa678009cea0858acd2cf7b7ee06a9e4fbb59309bf40550bd59c774c036890cd95170c19916fbd50280a305f5f7e3cec4c233c86e9b82e90caa251942103e370f85506d6dd3a8d08ff0cbb11af6d8ae14ffd47aa6506eb4ed437e3a06a640368b17fcaf32caf338f20bc13b5c28cca299f45a169bc8aeb4493a97bd8b781f2033bc113eae6236faa20ebaefc673279df4f12c6e70e22456c4f8020871ffee11d032452de13e65c3a4859efc2fe89c21510d4cae08dd3cdf90b28ce2f6d59a9d7ee03f16e2ec14c651a8bae6b8fb8fdaee2e5452d45c5748c2f213173d615190c5a6503ae0a10a07915ba3aceaa741d41005723b67580af945b6c1be702e293fe00735703dcda7fec344dfcbea9d33338734d81f849d29f4ff85a7676243c0d8b0f4f2ba00323cdb03345994df7f209b5b5d9b0dffbbea88f2606f5e051f38583fd59351e1b00581e02468e3f4a0404dda7141cb5cf744ee725cd4fa9470ccb33dd4c291467155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025c0ccbf0a5c09f07d81e6f7a5cb58fd8efd130a8d633a360253190bf3a4313401903d36e5f5c7905cf8c4d63f8ac01a3321aebb626d35cf4b44d976d97763279233100581e022eeae72980e56581f4bf712fdfe680a9133006d26f5bd112fdb26f1df84398968000581e026c63b6c9c346a21e114dc09862b3dc9768fee516a0153848e045d496805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffd537e7407e00581e02e439aae063f56e8baa12409123a49edd79254a5e8b9c60bd39859654955820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f0219458a035d400c321e82c2ec425991181d82536c5dec998e78b3b71ba3d8c39584afc041030e55d4ac8ae3e16188defffb09389063868dbcfc46a42506795393919584c20f034881d8a7ac6a3f2ed6655b8daf74430c658fbc73f775c9e379d2a9aa6aff46ca03f12f06504bbfe2de63f85b3fed1d4e694aef285afc7a092f9bae9d6551798e8303c8e6199bdeb925cca84ff0a052e0fade20a044d407f14ca330852dd5024d0e3e03f3a4039fd69a3145d7be51833fd2f74e15d03f7ed20484800964f57512c47d4403003654fa9710fd765f891a336e10b31f87a1ac8f102bcf1d470e1c2b6acc0a3a03612cd524561c74de400b182601133ab860348a51be2cb3d350295e05d69f3a340301b249227212bc8417d46a852539fad4edcbeb74c77921b34f69ce4a965b20ee03ba672fe50cf98555f1ed3b25e0281e6723a12185988bc894b199265395f6f02503f400d73449c6b9e450dc7d911aae56eccd26807cd81ac160d120eaf3899b58d50325b9303bcd02df8f66ff1fb10669a61ff7c153f99be8f13c78f3b047e22fcc4e0219ffff03af15c225ec8cc1f91317355974e4a03a4decd3edf707d4fd875604cc1dc6b6710330fcb7a20d823338ebb10dbc2bb4b35fd7aad8d13f10719efc0405905040e18903e331ca32db47baa11b072eb4e20153290f31156bd2e1191d6068c04011c754030361b7ca977e097e3b93ed37e5b01e219c4915f383c62721c3f3e3c613bc0be01d03ab37909f4e757772a1d045aa7b1d8d47a88308367e45e260839783589a867c530316d3f65ad0db3ef3660fa1a1bad42ef6238676d82dddc9dc10a81d5ee32a8f2603b99f5c6fb2cea91c33f7e3d9f619e1f4a06217dcfb40ed35c3a4fcb6273a226f03cd0b128bbbf99cc6d380d69a4b1f25a9194a0b9c66923e4342e14f5291af896103aa277ce643af9b6ad57264e8e17d20c80768ad215123703bbf21ad8a43c6b14103f4823882539637b7622c2a7c4920d08b41ddb00f50fba00a33d8a7f252341cb503717c03cd1f353fe2a216650e480be25857ce8b68bf79e3a48738450fde4b052b032eed06f81a6e52b004d08074f609907c64edba5455d9c487a5b8c528f90563c903c577d3c9eaa0747428b7d499c1c698bd19a81055fc98d56aa09c9526374a7fdb0324920d092233f66391ba4003f6e83c2ef8dd74a7146eea991002f145b47566ce0219ffff0315064cde70bb0bd8b875a64ff8536903afbca9b6632db1c3b647553a07dd3c530320e448c8b3b79df7fbb43b928380eb8484b0223cb109f360b41a7d20482c0c970219ffff03339b1546d9783ac6207e47079a1dc56a9c40d9f817a0bf18dba3353bb2d742700327c34330750ddcb2436af6f9695eaabb627b98beb0e556568f023ead500cb45903847661b13622f68a00c8ad3f2b98a943df7397676847746907d0c35d5bced68f03addd03aa5f5cb1c6cdde75a2bcd2f766d318ae4713d553f05a028e0650c89698036523864bb1c745415ec276f1fcfb6015768eac31529503ce5068495fc698af5e035e6f6aa6d867a15658e60aff5d493f0dbb4dcc7df9328b8bcb644adb1050c7740335d13c074b1751a5f94b6b6ed6313d7d491ed69aa85576d153842715aaaee8030372d9c5c6165c855c7e3a12a3f7a165359f298caf9ecfa1f9cb1783bbad2081e903aefa73e3c2e255acc1c54aad338eefc512d1f41d46c9ac15b565962ca33ed485037a1ac6b33f60570a691ec2c3cd4df11ee88709553b8d6eef979f1735f632b92d031c3562a8b28f5ac952043dda7b3ed9b790019fded2baca288bc4a253b1b4a350035b1c38d44347d5776b90db58987e3fb8e957e113be3a67d323c01b670fc5b00c031504b637dd1ca3a7e3788c7eec4cf66404608964e093ec23a4ec11c8d232d8b603ee5fbd9510f630ab12cd919ea8f6885d01374ff6836df6c9852c308539abf1f703889505c786686001483a9363d6f4168cf10efd99b389dae518a39b31b2cd5c2c03c133716e5f71f2e52c49b05dab4efc78790f6994bfaf8d940b8904f867479b1f03e913139f608fc3a317c82131d7c6a8759c450f3fd82f29093b76d39103f2db9e03d915ea564f50509c3455a0350c34a86dbce47c3e783119f058dc7663eb6bf996038146ac5887175660c8ed88ceabd688ddc15eaa88ee1a4e532b23e19091551dd003406b3c6aacb1c283e732a05cbf3f7d886cc21e00d9df5f3191605545c41cf9eb0386574dd78671186bb9d522e24b222371ab7fc8f63645f23ad6692e48ca86dd220330bd93bc18e2cc694ad1096e2635e9df7fc17f426a324b9db2307176cafe088703ecba17b4360c11882770bd9b1b71a25cb7bcc27f36454aabe93ca73c4b80672703f91c76361eb0866d200b8dda25a44d71c23a5fd2ceea9a96e4dd8262ab70e4960388602d34c55d3f5b0cecdf0e79b18b57158780721dcb020ea245babd7fa403ea033314c4e3bb039ae8acba498932c643348bf18364a49c8c509ce30ff54242f904034758c5ae5b3f963c4f43cfc0b4e4961c3ad10329eb504212bc94e5c71c67e80703267199b4eae2b6957aa7ee9e632a1674ac9428598ed55d6e6c2d1d36463579ed00581e02d8dbc80158e4b1135bc1201154266718c8cc1c07cb0d3ddfd624643543439fbc8300581e028a2ff68c1d0948b5d66598be22555ca6364322a1680ed46312f73a1113410100581e02cd0013bfb7ad725385a9bde8c15297deb6b51ef06711f1a38fd20af0c35820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffddd1f00581e02d03dc45a3ca0a23ac99d88ce975da45da824b98ef20e77c3cb404c68c75820fffffffffffffffffffffffffffffffffffffffffffffffffffffff914adebf9032d92f72fad5ea317827d95f51239061d411481836420d377b0450268adda2dd000581e02714a2ba6dcb17a71c90926e827da245758ee257e9ce52fd478618b02935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc46535ff0219058d03c2c6b6d246a505f8fdcb612ff016163886df57c1a8e566d92430457544647cf003ee3d212cdc85ccb24adfcaca795302a6e633dc6239348f165b4c0f30a3836b5b03fcc4df96729619da2ea75e5692e431c43331699ecbcd25bdda9f7cbfe7eeb134036c0b8a08acfa12bcbfb827a8e1ec7b01f736ea318299cf0f4cdef6ef88fe782903c7cfdbf1eedb28cdabefaeab5394821df4d9e1527930dad0621bbcca3767605f03f73ec816065e50517b0035e5ba22385703904bc30280ab976cbdad4a4e5b3ab6039b9dfe9fbbbbe8ad4212fcf7a8cc850acd1c099818306d86669a277425ca6cf303de939a72a6c41e26a339531f0346282fa61553e4f46318fdd3587330985443e20219ffff038c899c45edebc504c240bb2ec4bc731e9971154d8e02199c29a446d9ca74dc63030a287e00b76c74c2508d079c3298459d2f61c3c70717bb512b2ac09c03de548803a1879b854eadc49d8b32467ee7d1e358f9b94a7a3817c9b6d29de4a564832dc50303b5bd990dc26023556382fc116f5c9227c4aff7eff0901991e83d869c80b0180319c3499e491e4fd37c88a88da47a319b385cdb4ce4b60c656d7963a293ce4b1303c019bed9888a78a4c181854851af68fb4c4f5abcbb25021b2a673225afb3bee4033be7d6b81cac8085f9e0f593dd6f403466294355c09a9dd457e01cb1fb49ca9803d3f24d2f54d4761e5003683c7c6cf2cae84e6eaaef41097699347a05cb429264035d40653dafa06b96d8e69124d49797acebf3ad2105f99eb9f750465f7d142d6d0354a3b8b8ea55d89d419294e3e389c155c10873f187548721b0eeeb7e1cbdf2d30219ffff0310e0e46ec36d304e37b02962022c3df6ce69889d29e8c13f04cd7738f5ed67aa03f16cd9481b2658a1f221fbdb27cce963a6e5f05c3680fb7be33b567e8ea987ba03eb6c9b8800d4f1d76bb0becc4f31f118571e67a3c039ad08037406d9c99579ba03d217e09ce19e305454e3463ae59ffcf0af4d758bd25bc04d71097d687276422303ab4da91757ca02d312b051a0d689f4887ec343ac9f2f2fc0ac6fa46994a248260219ffff035216699170b73bb654cf5c307b32387c36243b3e0ebc39d1c8760844774fff2c036693e9eb8ff10a160e4f79994fadb8e5f79162595ed0834f086c4664838cb2d90399efa8ea775a050e0b0fd29ae9851388bd104b235c43523f899e77857b3e2597032cbd7c9dcaf623b1cc534371795de0f5311187e8a20b4db0adc1192362f6b81b03631bc877d25db559b5a308b4c50645aa5018b24ba695d748f4ad7708fce3a65403e01d3f27da3e71fc77dfdf9af06bf8d3de97c0c5b1d58190232877316eeeb61f03286cac8cecd66dbf9bf48d4cd730b27b5b4b22893659cdcdab91d23964fdaf1f038efff1c0ec4be51e37868198f111fd02d12f94047eef4ec24cd9ac6e0b1cf1a7034b7af491d0706518d65535570aad4b59988529f3a777b6b89140c9bb361cb9a403ec0c0888e9186efd1be23d464f7b2df8e9625c0e233384631bd5f58e3e30b1c503c0a9b1245a8e05b90f218c4141aafa632a6a6bdc711591853ebf3d1cfce32c3103bf9ba69df05b654f291d17deeffabb470b6c979d1db851dbf860aae1ef596e2c03be27d4f36991c65fd2505b6175d777e6284550a8f298fe77464269e34459751203ccbc448e68873b21b3db2c63e78e364743c3a7400d706f9f63de52772c8e86eb03ade09c44fa148a1c566cd860d48e98b95d651290828a36720a34c7b71a9894e803a4be236ccf1597730e86b24445c2d330d9acde2299c178a3059a9748c2b5de640353f48f114f151b2a684845b0ceda26f88d98483d264dd3f80ebb9fd613ea09d3037be00616a7fd76376892e814372dd22bebeb81b3c506b054d882786342b73440035c3eae8ab9354f47f7ef9f63193f013b0f0eac93a7885cc5bcacc7962e98cea9032e17c5f6b4313410f70f68c8d547f03fd150c702b78b3ce7c71a2c92726aa190030b3f861938976f64f3a44443ef7d0cc5a2d75074399e035a4540570a50144f2c03ee155fb1af406bbd49ffead1954977fdf33a554e01549ba7cfb7bb728e0505fa00581e02102de44541e2d8103856a5fc3b5738d93bb52184d26607aa70aa3a3d224408795a6700581e02d02cfa4b205ed1d9e3866f206d6178952979c3fd9a0c6c9bdec0551589430c2a4900581e02acd366093dc71ebbab46addf1f63bd3d634d21dc94a86d62215dba8a0a446666443300581e02a4bf346d138fd18a142c5a069390752335e0cca5e105e4cbf81b8b269d4408f0d1800219820903bd461ee892c2ff186b473078128fb3f2962211990d7be0ede52f3087379590d0037d90a562d4589bf5ae72ccb2999b186abfa52d8565a4eb32d5a34ee0f141e34c039f7adc071b199a21954bde80da8032610e11f914cfe1a03f82b86317458487d7032ad23007a415113ddbe397c26d08f5960de8c76ead11f381db79540b1f67b71e0328123d86b7ab3eacca92385e000ebc15ac0694988cdc783ab52b1ba052028dc403838646c026aec279865755f55515047fc01c0e42fbec105088ff5ed7e96053f903a1241b7748245e0ae75c5d59f0e38670378e4857b9dbb4f29014c451c8e8f6750380f3d263a7590077e5ffdfb6063431a3b17a98c9d20c9e2a3d0a727c00029b9c0300dc364a6642c108c6a6bfd3dac920d94488ea9f507444af07fdd2b7a0e073a40219ffff03c7de25837c3d6ec2ef15e1a791695e00baca3463f46aa89ad1804c1491084a1403b0d26997f743dda6ab13461bf3ac6378bc1fc7742c849fe8763d2ef497405a75039da77f98d17527af83e4c640fabd52b5286157a9573acde56cf4ec059e1cfa9e03625b4de832a1e5179a8b1c9362ddb15f75f9553f9c322422c095a1e23f8160d60331b3b953a52a4a1c62d068d601c9a636c48fc0aa80f9026a405ff644a7774bd003c2813bf5a8787acada4dccac3cc521ba6ee17842fe92c3cc95897f61a44dcf85036ebd1c0ae24dc58bc88bf085f8a0121278e4c97a4f45e0ea8b24e4df0a11b0bf0300186ecd1daa77cf2b443d600e230a4ce867ec5f778e4f29389026d9ac95293103bebd56715019169959a4cca94da65ec076c02d87a1dc88ed6fabfeb4edaf859403abd8f1aa72960f3691f9c1aaf099f0e5b9c36d06b2546ff888dd4958119a9d2703d83aa291988dbc22f33567fcb283d5233fde90d3a6b7e136518786ce53c4b8550219ffff03fd6fd8371280296716e3d0890ae91a624955af1bd5a20aafc57e619cc8536fd503f478ba6c25d9cda822167da1634fa95cb83bbfd9f95b330c9f26d2f7b5612b8903e2ba43919c4549097dafe82a6891888223f9ba696944f6f6629a078685e5642d030454f559f50c34ece953aa52a3cd6052d1ca4923a204ff908a3058283e1326ee0219ffff036a14a1de7d5c9ea7a1d4c9cd9bf11c8bf3a5c0e17bb596dd0549a72ea0668bfe0219ffff035b7b5875b8dc3a4fe4beaa9f0091d35e8fc2462c3f3a29536b8cf5a903ff1538039b4c6ba740450f86d764eb1ab3c3b3cec82ed11557b278841c73e43b452ceda80358bc80bb34ad38f702670b763d56d89344f4740bbcdc5060833ce9feb9105a590312c84a59874188fac2b43c4e76e147111d909f3bc8da2ca502af04858c429ad203765d1329a907d4f86eec83d3267a155fb054551ffb443d4df1948e240171999d03a49310b5984391e5f387d66d8a557bc6ae2e5383b54d180be07a7487baa3e72003d77e320554c123ddb079b4232ad958418206bd02f97834b894b288071c8dcedc0339a515277281925bece3233a2604054c0dbee2c063e48c9b7c0a72c442a8c3930344e52c9355ff028697ea0456dccd38ac140cbe5d039e3ecfba7d4d6111745e2e032a6ee4bd2dced216613180056349507597c2de415caaa5249ef5197594fbcf2e03ad15053c95e919905b06957ddb47935a95ae19b1378d5a5fa240645ae6563aee031e046c01fb01247cc838b25d994c981132c648edd0bb9961fe54c2747727bf7703ba1e2f233ff09a2421b3f43d943fb8c8f845206ccc545869454e06148428d6410391c3c535ea50aadaf142610d6d7c85e97023894b9b0e7a0cf9ad3ef99359acfb0323038c0a248354e21656fda4146a11bff58fdb4117898b7670d031f8d8aeb198038c811eabf0bc7af549291833edcbb1135dcfbb695bc9c15a9521d816c897686103f251ec80435b719c6b575fa908fb565516d00c46c0a016ff619e77f4ec1fa3010379a38c1001a40f1e856b7d70b3bc7ac683a20f8bd3d69967c7eefc73af132ae703715cc4f635f61b20fe67bd70cfb1accb0598171767cbc44c11f7826f9caf7d2f03dcdd7cd42eaab036bff8675952ec84f28d4656159db289eb66a02209d3fd5f68035744f853abacd9aa23e8067775c89e6cf143f472591b4bfcfa639a0555edc8cf03d9b8cb7307670796b041f77d0366e06ec1da58106df4453f1e1faef8ab2faad303398e075a8c8f2a8f96de5d398fea2b4f70b4c5bf1b8146dd2e6cd6d4faf363d503abcaefa1cf3f8ea8fdf7728d3e96c7060bbd2903d34025b7b2b9efb33a2ad44300581e023a08fb8deb7400d693ab5d11c60131700fb2f5544ec1961757acc85c6b5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffce5045f00581e02e569470d321e60521dfd460540227565cddf1da94ac59f0252e93ae6915820fffffffffffffffffffffffffffffffffffffffffffffffffffffdfb39b9284a00581e02264b6d7f240bd98b9e2c39a2cff2bda589f25e02adf32f556ee61b5c16410100581e023d264c6816bf151bd51cd30e909986181cc3a9872e3f197a7f29c60b4d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e02482954506daa3e714193bb4135df7d8814e74da8b1725f69530f7244525820fffffffffffffffffffffffffffffffffffffffffffffffffffffff881732bb400581e02cf9e6b72d62898fb05912a30e578643fdc144ab32e3c201a114303493a4502245cdc00021988c303743fd7749e6752644478c674b2278088bd722569f49154fcfc32a1d7d04d849b03fb9178e0d7a007481951e3534c49faab7f5948587ad62a1b708d1411f7e3578a036e2a5d4a6a1d2c3000816811db782f59c88342dbc7ad404a8acd3c5dd9ed066703e570432d4bdd03fb068a51d35699d595bde38a4096623ccfc3dbc4b27965423f03a59ad82088b2815c1658a7effc7434a63b365b051e579711ee96b6f9c699d3160370a9a9a9c12c3c961d1895c0fefab24d9736a364a04f4b706cf9748670f08dd6039a90e4d917018e6d3dd955381bee005e53d5a8a3ad91dd14d4bdf31bf3616d77039c82376a1aab87ff67b4d0d9dd25cae40b353ffa75bfdaff0dd828721e2e1438034de0a14ec22f348c48ad123ceca831c370ccdcc14f6de93ac120d89e6914babd03c52c6b315c4ec042d752ae30da015cba673ecc319b4c98aed84775a63c220c3c039330de9b0ae6ef4b7a6d45f531a4deb348f0eabf590996b02857251438ed66ef0331273cf1843c835820ebf3759de3b381fd9fce0f62a4e2ab5f9689228ff7dfc90356be0946c6daa04fe3b307edac86c80bbd40fdbd516c79e62c1b37c82b5906a403930637ea7afe81223aa2c54065cfdca85df12044818dc805528c13fff4e5f00d03d4d89970b2b21eaf300d5445adcdc58ff8b0c65441b18b2a5c7ea9239bd04de90219ffff03769108f8587b731163ef78fcda0489b8ef00097086101902e1314d4addf5bd6c0394167e43e2f8264144216d588522c6a85193e784074d9c915c77cab3157b30fc032cb0c0b984666eb4afeb773b98a76ac8434b0a98907d41ed8d285a5238f7216b03a2c91d3696db44496668bb6fccffe4700cfbd75565e372ca16426641007fc8d803c53d3c04ac1d79738ab73929bcbd57f5b7522634b8b7a71aeee4d9886dfd23c90320895ab268b23e212240afc0e82796d621123bd27f8a2eab33ee6cfbecccb89903bb401a2d47550b3a1c2c10746bdeafa7f27a02f44eb2c041803eeeeb3bbbc5640346b25163bcb18de9cbb68990a4d34f1a972352e3dc0aa25dc17ecfa2acdcc1f803a766896b97ca8fcd1576289f85f1ccb8b0a54a67e571ad529e9187c865a3498f0219ffff0219ffff0341251f1fabfa8ca8632351163a5c5198201fba39877b8ccd5e8d4ad481ef584b039054e056785944722aa77065d1536e919c7ce36154f947b424840e857dd0356703d53637a14fcf20b09e1f43d6b5ffe62121597b81c5007a24500232c7b7a941bc0398553ddb8834bb8936a82b403639ad57a3fb88838aa2f651669d9f1ba8447c5103f1cfd13e4ef4274d6bd4beec204df637963b62af64838b3b1dc8e727f2c939ad033eb4bc7f5eb9bf151c3c54c9a583b1ae3c60ac7843ee202930ef9b893e40fefb030004c10baa62f18b77c73ee4690e8e84ba33f333a8f58292d4d0efed116c837003c7c7c922b6b36ddff95c815632b29b4716915581e89938dc483efb2c0568fc6e038a81050d2072d8c56d25ed4fc10942669d4c3229517809763c432e80c14b6885039aef15247cd0bd715518efd5c414c451a96b1e59b660c977908c2fb10db3537b00581f0375a57d76ee4fb58ca752a1723886d89f70aa188dbc3a1b713e5fd9a02e505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0345b7b27a271ff41d79b4ba6d4ba94a76ebbcbcf77fd896ec279d059b593c922f0375aca2f41b561d2e1dd5d89f9cd406ffc55d48956cad42c21742d23140440d8e03ba99c516b06d779a21994d29572721e3f50800b7c43ba3a06ebc6918037ee7bc03db8cf883c8a6910efdf10ae1c6c7eb8076bc91c07e0f6d13f5b625222f5d60660304cb8672aa879f3a5dd1d74c8d0b7a3b62a26ccd83cbd50d6215ea2f7f50cce2032236b4632211b7e677d7a668647e58468b91177c680603934277ce03bd9d09e103fa7627142b3ae4a83a2667591b31b299f40dbe84681c960783ff0c64f1d7050703e7e7088158d803222fcb2e1866d4426308d2c366f99acf73c26e496ca0112ac100581e020ca55440f516ff45b14f27e4caac62e70b93c8f970b1131feab7f12d2c450858b527a300581e029ea0544a3c118b3558d6739f19948f707cab3ad5268e20f29d9086e3285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe214167f00581e02fdcd9fef56f21cdf7cbcd10b04d1f006238db191e5a941d077083b8feb4305529702190150033ce4d1b1f45bf20bb617382535ff05202cd9677376085e18117341aee98459410384b73474a722759b3bf9f47ba527911dbba3b2d1d9549852c908f0d68f3b1c050219ffff03868a21965e0788425a18d4d6047ec055f376586921f09fbbea9a19cae1cb1b2b0352d04dcefa6b38578abf90d4a3f8ae49f8f2b35632972d3e6001ef5befe9387503775b486253d2237db5bdada6d85c28be4f7251626129847f27c67a37b22cfe0303814ffc4820d5c158c35e379408006cbbebb89fd95dcde09a5742b57ff0cabd0703a047f574cb846253a2c8a4fe1cb31f6a888ecdfce02022a1c7f27ffa9dd16a850353b8586b397da74a85f7aa4ec67a5723133a0cef0373b1a6ca8448ef5be4eff903cbc1aa183a589a55fe6f13e233a7b71f697bedcc3e2b67cb52ddd14f2bf297d1036f8491efa26ecdbb736bbe2a704f77944210e645f16327425fd19480ab378dac03980fd15baca6e0f84b8190714bd20ede219f99156760251a02a431bb9bfe382803a36551a10a3b1dd5ef3a209b7eaa118de4de145dde3c1e1b4e1ad6e77a99443d0380a4c3983d599d6a038e1563afc64b4f3cac40743e209a81ea7dadb8cac882ad03d9a0d12cbdb718d4a6229a74f58ed8e0228b3d509545277b45d9d36f161be142035a120996e076ae8a4a6a887fefce0432fd5c8e45738a4cac52b0376b906e43040219ffff035f84e7ff8859283fab09e2e7afc8aca9b992b2cbc1f79103c80293aba9ca8afa036229286f5427969d6c00e2b2561d6ddcfc5a758e7cc59f5beaaa5cdeba95ef570351369003418875d88ca515d0538ab5feed9eea29ce4c8219b0826477d1c01746030c72a481706aee62b662b53f572e2a5be909dedd2b0fea1c10fd877da64240ca037aa49c0c3b9a887cace58221fbbc7e1bbc1b565bdd8ccbf56d3be6811645fc5d031e017814051cba51b9e98ceba30742dc5dd55a670e0ed3579ff9db2760436a400303949d068675c79c336d2688f34f90c3d10d352319de0c625e63cb3341cde9a603e93cbab8468480841a1c5500a490d255ba4afade775739901a687e7e8e2d49b70375f36b6aa6d44f051dfb9f748cb8f10598d415763f7485bba647d3c45bc53e3a03a5a061b82afabc9c101cec9d90e7d9942826d5b83591d0fdb4d17619187fbdd503618549270bc298d8fae5901e9d4890cef0d21019b6c89bf26b587b0a5964dc680365985ed6e8e6268bd8c1669672ec48bf203d33683ef641e603cae88fa856fd9203ff52d865b026953aaccd53402955ae567c6713dd72702881bffc8a7e4828ff1e03bed6a3ba333536d0d235675149bf7423fd47d85b31954cfb2441080c49947e1b0219ffff036c7654b514cc9abb13c22869cc6b5e0fda39ac8bf900475f64ace89f87b281e803027ffa6e9dd82a1ea3bf15b2a843ef55f11b28e27019644156d2bfdf67a54ce503890dd869cbdce591b4e519d9e0e13455fde911ebda7faeda1f849834f5c733e50361bebe1418ea6440696c79a8e966ebdb424961ab276a429a6be566e3f62122ab0385357bddc41d2b0e3f5710be5457d104317a89fe131398f46c39a12a8819019503143451191cf0bf222ac007a5dc92e7eb03cd16f654d805d60e47f640382c9407035d6de3999e1091c1fd0bc4865f929d4d5b25a2617f0f8328efdf9e8a57c64e2b03336e2064e9a2cef34b02f909e2404f5e16fe660f31cea73f6cea7ea68801d7a303d65c9f680f9120502795483cbf13d5a75860cda5e43b3b563b462c0918a1a0c303fbc95786379840d35ddfdb40fe0bca2af44904ce4e5c29c96c35a6883f5a6482035d714e7f7a4a99cd7212bad8bf3b71d85a2b03bbcb7e28ceeeb3ea4368ddabf003664683e4bd8a61d73b11ce287c636670c37f0ed15a3ba84b399a3a42a6a086570343bfe5b9e589ad4eab11ce325715ebffe92593e7fef1dfcfb8f803d8a835b77e037be08370cd6b624bf14497b34d9773ff0e70ff8edac85321d3f1a3c8d33ebc65035b5182f14c629484279198f92372c7d4941e5ea2cfc79902b9118e9d3eda8db40398bf99d7af1dde3d4bf851c4a2c10db30a88464f7d5f6c90a8926478cd0a7ff503740693628948c982f6fd737855de98e01df44c54cc044e882f0302aaaa19a14f036d1c8f77f91347446d8640e20f508253c6ad8d26180f55f695f3b7b072eede4d0340d259566ae2e4dec5d4a36053d6de67acc57d14a3f39d0cb61ca27056fcf8e9034506236c2083dafc77af7232ca7a39394c66436a1bfa74e9b54f956167ec0dd60352a1515b9e0b461fa369b3ae2f003b69b8fb8cab87b5ee17de2d4bca12d0fb6d00581e023e9edfe0972ff2c6d0da382f0db3d5eb6a897c60a4c173ad1a225180705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff09b681b800581e02466c0dcab700c8ffdf1818c4db7f67fb16b68580b759516554cac7ab125443506849d7c04f9138d1a2050bbf3a0c054402dd038fc01194fc1171e65a6b0cbf6a92883ca171f46ea228ba37a8664f2d874b5c7900581e02280b6ef72746bf93b1bec6ef41cf206dad2afc0fcbbdc7a63fe97c3aa85820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff01d0c5402191046030230da90dbb296f36c6bca75969c68c0a93378d67cd3fc8d6ecbdb338f7fe3c403fb4abb28ba7238a79d8770c633ded45e33eb81d69c773ff8fa1404d0be7e55ce0391de9aa784be32dbeba3511a825e749d7f8fed9d842f12a301961e9e5afcef6c0365f9ad6d524d3b6cc405b6ba3b7fe6afffabd89baeac0d1c284a70b06ea8e2a80316ce5044ea13e749b4d8bbed1d085ecb28605b8975cff9f1e91bdf882ad75b8b03b73052edf58fbca9f0c30bcc4026c1d17720d122c7756ec603fc205b28ca725903063295976264ec6494ac8709d771b93d93a28e5ef7b0fbfc3dcfb71f5cdb555603f2529f7dd28c690e44ba05686250da407c66e1296fb04eab25780b73d5e0a80b03ca688d8f1b676d94bbf63f856ed8ea8b9254f51fcdd30594114d1d620192fa1203615d0dcf330f01699694aecdbac9952bdd5612f1d632485274f6aba9d3a1549003f3f6e5f410048bbdff033cf769d207b13fbf3ab5aa28c50db85344fe1861020603013abaaee37cfadb851f6d2d32e61a55d8c91c1139ac0bb1d522752b469e55760376a1d82f63def197f7f4f8f05fb7698f669d3115ca57eec2bc0d312efb192ba10219ffff03e82c19354d510e74b6a67b91d9b3ba7f16190eddcf0f50dcbb98b15f9067ab3c032caedaf543e0b7bb42652347e5d42283115d0b4614fe6ce20a1cc5b5a68d3158031e54cb56cc8eac585cb63cfa305cdc367f190705278f896c6044cc16ff0140d1036c3d7b7a73221a7db4b9a59ef2e6e0467e8e4440d48296338d613a894c30242203b33c925819bb7b78f3326e2481f9191e78844d1b495cfe4bb8e7b19824a56b320356fbe57ad7df63639d27d5580f6d94beb7a16d081147a57f7353604c7eaec3da0345d74e2cea00828b4e03d84e4b0fb29a5f1b845817750ee959bb5cae9daa689d038c37c3498672154d5b2ce7c905695b360336a76ad1acef1a1642538725ce038103a865c2c0b4fbde4196bdd196b9df55ad7202f396274ad2a1f3e3bcc790d5aa7703fbe46cbad4c727013020b60d89c515d021cdf798c4af4bc4004f33440bb677d303755efbf85bcaf37ed4e68a0fb82b13eafb8b15c4c2b2a35c92e9468ed96a70040219ffff0307e89a9901c9629336da465826310367901a33e3bd2d991d1fd2f707cc9c85750219ffff03b833acbdbfc6f032b62570e4c98ec69609b38cc9b79f5ff82ddd3f0363e2019703ad381628b2779df8e4cad6a2f4c0937d69866f26fb7ef1f69564b872c624e56c032b2d274a8d28ff7440d7a5f4514669042d951eefdc0d211a9f955f4f8bc1daf70396f3fc321edc63ffacf586859fe9dc284ae85f06b55c4259c94eca6173dcc20703ab9dca3169ab83c65030976a8d4f8a3f96ea44f1daba3c9a6766c80273c321d103ee27deb6b1badff4f40eb160a27b7824069374982662151f28d8b813710e35cd0219ffff03d12c36944947089fd33b2e197ac9f19c162ba2118fee0d7727fffb6e8b17e079031d7f163e0ff0912c0055d8a058cdd1e2aa8c475b6d6312c7d61323d5cf8b72c803b4aef157567d9371218f563129bb4def1792a657c3f98519291bbc28d89fb71f0334ec56fc59e31c240fa9e978861a5b1303e51f371b34a3ab52302ad9729e0d6603c990a1968775b360e9293ceb0d1c7142cf4203e119ed6212560a2bb259f01d570320d4a7530f72e2f167a98e8288d23993ede955ee41392896557306945a5388a403fc13512adaa7486bffaf86f5aeacba54698dd95f400d8c1a49fe06601f23ca2303162eea9964b3052d9b6f715b72d9fc85aa560bf53659aad972a9f9639636e28803b3b3521bbfa5332feeb9bf91c1e585f5965b9d36da968cf816dd81247839162703c4b193bb5abd81e176351b16f2d8ff50f66c7e1f92e702a20538fd7002965d1603504d6b76c14ecd5aff8ad1278c11a9b17b844d6fe5dc72a2f4c47093bb8ea5bb0389b47343e97d67c0cc324734a49457bb0fa1d9fca33a59f507b6d4f8ce4e67da03614924b2de388f86701af92022bfeaac558ec5bac97bba723125b02cb5dc9a1803d2e74089786c4d8768583b37ce7a7532e20fc7f0b81775fd1c15e9317a577c9003517682085c2b12d7826c9d9a99f08a77d883dbdc7314e9058d2698f063419010033711cf75eb7da165de61c7004b13e21971eb783cc3a8e1fe8d118e8c5d3e59f60351e1ea290f5e5d67f1b2459954198b5e939b05fb02df49d3dabfd36b316e7ac503f576ceed2b89a14c2a0eeec2ea3718cbc45d46b82677832288fcbdc741792ebf039361a66542ac66983b23049a23114d886e238c82722f3d21e5ffec0842fa13190348b1ed817ed1500e88fd9b7f87e579cedc0a1e5e9778f2c35788a25a97b4fff303920d85c582fcfb821968a4f2efa6a9f282d9adc9c6b3945f7909d5aff99fd262030f530c324139f9255e2dd32c471b3b351c5df674192793cb98fa5053c9161d770341c9769d39b71da362a45a4b5eee0f28105fc74dc8379f518dd4519b6678485403e1e64ef66201d4aa9577d0562e3d37a06d059ed0a10a09cdc73e2c615b78e18703bdba05274a825b3555dd5b624cc1e7828a128f68b67db6a6129148458929beee0323aefa9fb8e16cc743617d25853c666956d306b7d747f6821a025b35b5b2314c039d27261d71dd74faeb2c5e9e23f062a48662101b9580e6527c8ce2443ef1db7600581e027eaa0920589b952d50d12d3c12d3fb3861beb0f900513edb59ade60a7f4402929fc600581e02c608900a40505cbc65d2d97aee679125a67e792739d6c9fd87ad7420fa410100581e02cfc06b93614c3dcf727e499a54907c1619dfad0320a703115414eb4f98468d46c62f219b039c8af1d0e5f8164a5deecb464a7045e8eab4b5cb2296fde8b5822b8d64ac82d700581e020cec3efc2290fbfab870c092ecf9fc17e1114f15594485f0a043c16ff8441dcd3df000581e024c67bc44290fb68b1662cdb4eec062e818f8b3b022824efdad3517991b420ac002191f0403bcdfe1e071b46d1a382de8c5ff09bd80d1d663bf05719d348bccd2f817eaa991033936a6e7496610f92261b49c4f7481033775aa197437b2c2d05015d76dd501eb035ea53485788e0d6ba728ebc19bb97b48d15368e35aa501a83e5b1b6aec637b7703de553dd24bbcf84c99395b2b2b44c78178ba35199778daf33655a4cf5b92c50b038d1242eda6e812881e049892f32d76613b8dcc8fc4d340925f5b4fe3b1a4f17c03d00dae4daf8c1ded7eea8c7b7e9a84ae15a7853efdf5661b742993b31554aa340339518f133b56eec70bcbc61bac191779d802ea38987947c9ff9e575b8769d694036c77650ec962d547221fd1af026b315ddbbb596fc96eb5750b48a4c67a64f3a4034469eac97ae067dae6192b7be2b6f52d98e510482091ae3ee9c69e05db73488b0372b83c7f960914a5c080cb3cee5bba17ed4643275209f670bf02722957bd64ec0219ffff039b3d1d3a2c6d92653e8b04d167247d517c5f0605802f440c5c058aad1e6336ff03e5701a7a8d4a2451c881649bbf79e76f8765d8301dbd9f75c600c560960b235a0369da70cfd2e16126045da85e88975ff572eec0379784ecb006d8f5d3f1a18e54035c167c20d588db8a649378df48d844a21fe5f2baad4e5a04c0d2b582c170cac00219ffff033c57c686fca4a12ff13d55a6d92a280c2373a9855364e696e1baf1cfda164d7203f6373cf98747aac1af3cc0d7dbfce94b5038117bebe37b29206298a225c8d62803c48b95ddb67df664e6f86a5d21627433ce892a5f033d34b6e62549bd163df24f03f0a9e9f5d08d303f3f2fca35413338f9cf2f931533a1255f6f3b003f368d22480219ffff03c7e3a21bc0ee8bb16b60e2bf4c44922fbced410480db3855887802f1a6526a7203c823ddbd050b494c0bdfc2d859d7c3acf779c93fbef0f10954eeea0b80a9aed6030bb348fc1d2c40c703e6e8d52bf46f358184941c779747dc0c0fd7a9d056c32303f29af0ce87bf537e0f4ae57ff7c2343d4f5d385ec7b40bdbc8ca690aefb1044503ea8483ef45a2dfdcf78fb2a1b34b4d6cdefbd4f508f1e2030dfbfae60f875b8a03633acbce593dfc3f1e32946b512b4da512526e2b9e6627bf24b7f1e157fe866e031a4d7090e8565ee89db4939b1a021d2b0536bc858a3cccf1795df70c40c23d580362eb7fba33c2ab13dfca1712718d7b9d3672320bc853b0f06f4bb4014c1d86c2035278880515c81493105dca1184bec79d16d9466353a3590f3c56a738326f56f60323428017f720ec94a5a012a6275c151b9b1f8222b2a8a22fe3aeee928b2d4b8e03b54081d13e40f442309b0a139da16b48b8e7a2d1f75e5202949b6e0496f0a2920360918661c8b29172807d220d7c5b8ca6fc2ee1cb507dc16d8def62b863082924031781a49bc16895f651bbf131555cb4d71c4fa53d956c54536a2f1337daf237d2039c14768428ae1e7aaaa2347d32f655deece1370094cd32353953e731b8f814d6036b1d1e74c381734f46aa70f7be93321e3f3fb880c6b49edbd0038458c2d81ef303e4967c549ac10ec83178764e8c2f4a0a5011c1a579464fb405be75eef2b9672003288ed02b2d7856b6c9e99762dedc9e583118752131e15db6260be2bd76737166035677a06182ab270aa8f1cb14d2ce3533fbfc940c0fd5959b292217c22b92b8f90345ebf617a4c01fb9d553715dd13fd95946d5b732fbaddbd30281a167259df90803b2f4ecc7c9e5ea58541253c37fda07397412f10ddd9f17e71d3045b7a5b88e6a03faaf304464754c547321e2edda092dd1947af5197b70629b515ca3fe3d22530c03cfffcf571ebf54a8d3687672ccc625111524f8fb4a7ed89a1f49de0835e591c3037435c1c4fc24a4a81bd95abe9029b8f76174dbf678df283ecf5ace1bbec0a50e0382ab9c9c04b6796481713d3e134087dc85ddd769bb4335759c9a261c661a9d2803d9fb7de5bfded79f6d99c20da85c66cf620e55b5819b7a4d451c3dae4574746f03e8df0462dd580a128783f409a81d51ca9838779b2c1fb6b0136577572cefc71200581e0252f9f2e86d174ade4aa2cb4cbc900f30566122953f9000f2ea599b70c55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b8410b7dbe298421817d8baef2b5d1110417aacbbe4a8501a8404eea2b452aedde5be000581e025c587208605fee67e608b4718b58149af3139e9b08934476e4c09188355820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039a9dba3790bd22f52e285aeabcf7f131e0c092afe8eb4410c08a465bc37a623c02190b51030a1b59ccff9829d2ffde0fb2e4331ee255c9cad3fbe38047058db99fe456a05b03331dc310d8599d1183dcf1c2a687f94f6500aca0ac50945bf35c3273d0beeb93038799f0eb260d8f595955e52638ec576efc5391212c274874e3261defa87c587b0314c40521a7420eb6c469d59779ff11764e5a6366b0ccff84e3a5395cbcca7b1203fdf46f14f7968fe77b9aa0b97775b14fd8828944b9ac9685d1cda79a6180868403b12b6dbe28abbefa926240093827f4b7fd394b9df1a426ba2f1f55987b393af4033837a114a571ec3c8e56690308602a947ca1138e0883ce7655d65fb317db1ed603f858417753ddac0f4f5b7d8644af9e04cbadb21220fba6f46210bffcae76c1f603f4132f2fdabd26b46e52a22dd71c31f1ef61ab32b243387cc60fb6440616bbd50219ffff030e28a5411fa3f9c580412bbb88397ccd78d73909ca8ea92273f18ddf50ad50ad0370465f17bb9441a84cebcd704783e70c10cce5820a74f8b059f1c45d0e5b892303468621d2a4fb970079930b984c360f8d3408fba9974169b3bf8fa401cc7a77b90313f390c43ba6d759ba86ac4b9b5412561fa99151ff65ef3a6e673dc7f4b3b0800353045dae7b7effe82770134982f165ca075b39294c676a8c793e588386e6f4fe030c8b3734ac41625f0090cf43df8fff3ecb37794682b57b9308a4b9585be3deca031dfd540a080152b4c907ebfec6229918c67f9f1053ab99e781ecc59222fe19a9031445a74062872ee84759f6fd0af37d838005b95d5ad7d62a9ff48081cfe4aeef031558614b745e49afc61f76cf180259c653653ba60141bc094cb1d8bdccc2f4b60399b9ea2364586fc81c2d2504ccf17661f4c1f726da7dac676cb2b7c1ef8ed44a034f21a0d46528d296b031f72986ba0419a13a9a827c4deaf9e76c658baf3d5b5d0219ffff0310f319578fb773d677a1f22ddf0feb38bf176841faf5d904a2defdc0943a789203a115e6940789709f7b4804034515b82aba8a74ba7b2554cbf589a7f0780e47870310629ff37a27598a919bc25b33cbe60f121f89083b526a25d1352183a213735a0219ffff03a592ff792437ae93687e737ebe302fbb84d54cf7b0ef09e975995b61c6c0d74503485ba68cb44d6b53d23361d9784a577d3a54dd611c29ce1a69b1d8f5bb1042a703f8d0ca4098f9c9b5f8cc3d31b93a43383b5c552219d36222a9db8f53122b3e54030f69b51a60416356de55734387fafc7701340f91fe9462f0174b592a5f23a7e1032b57a0fa1a52fe9c3881cd317dd5bbbd709880b49d2e363fd0776dd430622e9b033b3636584da622569fea0786114ad98d350eb42346d8d4fb16212058a8b4d5fb036570a368d5563e83e68350e858871766837b2524adf29f1cbaadce50b965965603a382c7414be118dd38f4def0d2dbec5ec492b987c50bd911ae18cd98c14f079d03ae27d81db451e919230fa2b86d3e6f85773deebecbf52fe6b8efe9b295cbbd7003cc2078c2650ba3db757d376ff4918ec2ceb5a5eb9be8ddb28f8bb898392991af03fda6f47484db5de09737084c6d7283b5b36ba1ce9fca7107f74462a5e6ad1c1303e2957770683a5227d431c220f129b1272771af950796ae4af673fb001be90e690341a24ec784c828736c97ea204a89ba03590bd8e3662384cad161fcd156b7f46c03f1aecab2a296e4162f6350bdfedd0e9defe166b595cb4dd0e90a933f30a76084033785ccff840bf418d6614decaa5318c3c287c3db609e6226c35472aba82d620803545142c8c2f9d7ed56ab7ef7413246ad87fe21da30964ed12cbe1252467ea0e70321c17facef87b55b1610a50c1d8fd83abebefd285f09503a677f1a19b6ff6d7a0347f97f46def0e932f58d5687340e02465d7b59f3104e62f8daeaa63c8bb5e53103bcf1ba08a9e2b7244e1e0e06d572c47a43078b5679194d0ce92e427013d75d2e033a0b4fc8a83f802e36b500870ed8dd9f5dcbf9ca81295b62d6b6ed164ec1628c0332aa8978c9421c0805666c665e6ed2b414592649771a7ae356fd01e8cc0b024e03eeacaf5bfff24d0f70d50af0b6a5f80a53bc4eb23ee78dd5fa5c5e533322366e03bae5a264d30ba56b6cbad51d0ab7ac6c33ee75fc286bf1315a1974163d4a960f03143131c241614160fe182325b7720bf542e768ec89af9a9ec86333344f8038db03edd33c0cfffc7abfd00d33d470ed3aed761657d749521df9b088f7ec6b5310b4034902a292494268fe1906c21f6bee19f737bc3b914b68ff688b99e40e86e16f1303d85fb4c2a225bb2356b5cc4a175855b55adc89605ce8bae38321a282405a261600581e02af5c8c2fb398a26cc2287e9305514fad6459b4ca49a9bb5ac80883193e5820fffffffffffffffffffffffffffffffffffffffffffffffffffffff918854bdb00581e0270f8d480fabe3186680235e1438a7c5c9c1f7a340b51b24e6f56b9600e472386f26fb1bdc000581e029a89543d13441e62fbe129426f11bd02a81c50f631c0eb91773ac807c6410300581e0294e5c551ef8e0684f6e9185c7dd184042a8224e5b0b9763547df06993a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffee1e5cff00581e02c1aa4040d3b43628094c955c6149991676fbd0a352a8cf2ccf7b1ce97a4402dae56000581e028f4e045ce94aa8b2d8fdd5d3f4da6b7f3a53da372a61adad3c8d0fe145445645df840219ea01038648a2f2a272a8505c245de997703e46fe2b21dbbf1360a8f0f5986ff9f2a7ec03539ebaf67510dee3d3685d3474757e08c72183185fa57ee259c8d1f7557487f1032663a9be2671207f90749cc300f942422de73f76aa7ac2032a33bb0da28c62ee03051ff1350cdec7a67857bcae1892527186d34cc8627e7c3abea271280de7edde03dc886fb5ad08273cfc88556f146ce13a7379f4b5490aed87e37fc5856ce0c18b038a9be8d537b10532adce7217b322c9200f13fbf49ca0a57ddeaff44352040530038db89e8e1bf62800e95a1f805d787cc5674baa03227e71766072fe9cbbadbe490308f19063565c5a3049f7875ced8a0ca867bfc176919538d4c8a8b586597d9e420334e002ab74a628b50352a211a0f698150352ba79905775ac620c79e6ef930f380219ffff03019ea3c3dcac49090e1ac316d9c887bb353e8450062c70938e61179782fd643403b6e9044aca0c3a91b1e8a469dc042ff9ff02b09d5b4bf3513e1887e7f976723a0355e648ce80d84bb58f8da757f3fc98508e497e7ab0329524ce7117bb2a7874bb03b6372b8ed4f41ba33a075ccb7b0751b380a54c21352d1a054139e59bfc3f45280321010ce3139b11de1815e11cafe1900deaa80ab2e769e622df93d13ff8fae71d0332b2da2e1febfa5772d2b684dd2ca682002e28186813ce8cb5843be22be2dd0f03a401491c09b1b56f423fc85373b55a278d1ecab09dbd825df5ea677583194115032a054a08efb19b2bcbd774b044446ad2ac09cb7323f07b78f35d9de8b52e7107034f89438d0af2baa37275a60fcda794af60223e5e7ab6ae8d5700537aec0aeb520219ffff037081b236d982963cbda12a54ff2cf7d2bd5886e0a15e6ac1b8506065b8b915e2037d9cdb0a63e8581d5236e3bb99675f3603e54f38651b23883868e0ed40c25c85032d7f3d05f529f3d148af8e1d47e50330b00f3433127bea732ec480d285bbaae20219ffff0316fb50f670b2ea2692995a2b64cdcc7ddd47e5761c462863f45908285574a7df0340ed3e561b0fb8a15a1bd9a0851b0218fd0f490e12f9bea09f4e4ca13d7d588b03362bce2c363dea3c80f46f364aba74177b769449eb94ebf0cdf4c90d10b4d23603285e8429428dc0c1467d1b1a4a3826ae30bb76fded61c40e002a0e0e8a2dd52103dcc9c06fbb3580ce46f8f10ac36b7df03af32233ff6413691bd7a314abf0ac6f03a69d6cc83f946863cb240353eed70fcd41005cc3ca7ece12266010f936c63a38034d7e2ce35915645749fd34101da0daafcf3525c46ee0d2e792f1a3870e1a05d4037fa4b03c05ccb9eabe471910e4d78b23a82552278d7f09e099f8fc585891adf6033e9e00709649f98656e67e37e5dd0da311ada9eede59cafafbb0b6525b2e031b033b9884538e179194aa327e6d78c2e108da54c0e78252e4f631bc9d75df03e5780336e3abc1ae2147773e5fcf642ebf4bfae663bbe21543c0c9f8ce538d45578716034cee95e7c8a70aeb9ea9c67cb9a99c910509701809f809ca5b0f57ec21459e6a030b7da4c0127bc6f87a9cf1291705fbbf0662f6dca3d67a5f45b504979e4c682c031a976d0b1053b5184ab108be69d7e443004a6d985481845a16f45728217785f60345d2f6072574559a1539f92996e5cafe8fe6d5c2ac2056b6b05dc0e66890e63003c377cd2972a2fe36af0458af3c17352d261be5f5e603bdb590120120f4b8540c0380bc0273c3771edf9b177d25ae2354c9b07eee1c9999340fd447cb1bec077b6d0348fca823f8cdf25b0f3f87216afc1a095d75fbaa1a7704cb8020a211300b8fb30375e9ad83ac9b838f7377d42fc92ab39a62d3cd426089fac0ec624fdfd02b23d403305e709943abe70dc49624eb54f5d76063410e9e1a36b5c6751b076f82d97e0203ba41882567355435e7c977a2b6fec043490707b4ade52b54719f2fb296203cbe030ff3c1d61ec883bfe6015e0d75ab8e5906d44025adc609a11da07f861ba4b02403e9a783df653e315211f80ade41d6d5d1bb8f443a80954b5e4af41695f5ed1d3e03b87b32b5b61849b5aa82aa0ec49884e86f5fd275162ac576a8e0e277dd888d0703c46f9755352c4da4a36792e3ec3f70624df04579ebf85423c4a5a6f5c7838c4e032fd7d4ede5f57787f61f1945fcbd820d483e3ee4fbdf608c2102f76e166fddb0039c2357a5a45a8e7432e4d738a5a2852c20cfa26b161cdef062eba95549e8197d03be8e608aae2bdd59c101f4901b1e7f1dced60fe03b1d78b2bfe1616005ca65b400581e02a6081516ff302c8bf2ba01a7c4a2bacb31c3e32de695c2124c65301de24482f38f40030bb21f891fc3e2497068b237c56e4c1026a754080803292da99104a864f4159000581e02e192868f21cf20b85a0cd46c80519d5c307ad17668ca02ac228c8be44e441eb7ca44034a9bf176882c99a653774f25f9eaa41a1ebdea6d4aec383036ed42eaff4177f102192488037c02d9ba10655e6ced81101f09ef0dfd7b7e443522cc7789ba64a98eab86c80e03e84cbeebad431f5bec4de9a4143f726fd21f85f14ca542a91fd9f97ae4eb1a4a037b2403cb80d5db652678e27d19a2168f2fbf03060b6551e93415b857492e0bf803294d025790cd5c1b534cc58738a9ad5a01ae7625a6864be9efb7416650bd25070219ffff03dc2072217346bc9643a51626f2bc4d7019c40606319e734f7f1fea111adcb2e403b4e169ee2e43eca6b046ade6b05096cb4297272920f086f40d921f87c1fc6a61036d2fb2e207521b61cc10e32f6b989756d19b3391473ec64b10fe4a3992dbed0003ebe616aef793d2975de00113117af47f7dd85cc85708a23bb63e16c8706a79520375a7eee6fda43b8d933314870aa4205e974341b78aa486205e2c815ece7d2e6e03615419759b12456419e9a711aa73ed115d7cf69a2e5382e1051bc81da6c8d7be03b788a26a880bb13e4e378b097d3e413784d138f43d5e81b94a1a1437d19363c60332da4ce7911e0ec9b5da946a73db1e366519d005de98045654bb49d11880b4e20348db652cf2b1f8d0b3c8163e6969ac6ea1b24cf2585084a656d43b41366944fc0219ffff03cf24fd536d1f80a570bea7bd9fd8c5e7a1f05b6d208574059ac9b493c45059960332fc66eac808ce03aad7de6a7360e74c701ca30bb8163993f38f6f9415454e210311d999ca88992018a46d10e012366ccd2dfc2091e6df7beaeb45c14a62ac58b3038fca5810ee34df7e7c8dfaadf6cbfc861e2e330c10579a388f5d30d1a70adfab0330a93580efe5a1362e9c6dcaea27a3ddf96c68e93b5ce3e5a4660a2a4a38203e0354bcd7c23f0bb3609522c8dbc2bb478e5e8732b7e34f64d0b1010699f3ddcfb903af5c7fd2edb053df0cce72df35e3944519a6c99b84ed22d94efad2d903aa8b7e03ed34a36d031e870ed2403496dbaf28a17b14a818c52f85ce852a41ce28fe1b07035b3eb1338b10193a8066f1020bbaf27c3ead85049a5991b100c946e267d84a65036408f725795a47bf93908188a0f14bb995a5de8bbaa97291261bfd96161b80ce00581e030434a49e18d5154bbeb8864c0c995fc2aabcce8523347a0336ceee1f80441259bee300581e0367d9b363eee6df13233d4206d30b87743e60554bbab7dfb3a1aa67c4e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c00000581e02f57def9e2e4ea44140010c60be17cbc52bffb095e7129b8f618a0217765820fffffffffffffffffffffffffffffffffffffffffffffffffffffffb2fcc9bba00581e0225eba2224abd93b3f7f07229206c9d446fc7bc360a7345ef050b6a3ddb43f8b43b00581e02a310f5c6567b003e435b32f6d5190a941d0cba95132566f365560069a95820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffed3f42e00581e028b04591b604ca35c622f220c8199afbb1dcc66c23c880f143ab3b0e813450306ceb79400581e0281c29eff027abe047785509e5e9ab4ae977dfa83abf0f21050d27bb3c55820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe7fb1137200581e02af99ec23e3ee8d261cd9a530faddff76fc47ed68ae739fa85cdef039f2410300581e0249b72438c677a76c45df5fd669aad54df538a4bc43d96a79f12b16815b4101021923f803dda01da3e3a941b7c0b14d199f50a11f42f526b12c4a29662912a4b79bafc88603ff28089cf1d5b8f02379c9c5b8b2bb69f8c88ff55cdabf7f5495f8a565688bf70382da6f2cd8c0f27743364e86c711b958c5587574dcc6a1d3346afbf689c09a21034e6c445851558d0eb1ef498ffdfba0c10ea7156a499de1590788d954d0539444039d16178891d9331b9575b9aea823ea9ff8353ad67996e15beef638ed840ae0d203ddeda1760edcb62d1f97443d766cabc080e512ced7591b0a4af6d4d85cfa58c103079721313796c41c2601b48373b977952f3c7dfb0d974fea21581ca29b77d71703d27a08f1bf2477a7f8aa25e82025a9a8e03f68fd88f1bd7bd603c5b6133c5679038f8387058392e995f7c1608e15a2e670fc6ff7b7c50be55cda64a63e43b42d3e03996d91ebe389ce2a0b7431bf9ae4ef560464af3cabb3ff4658fc888697d73da0037a5215fb87ac35914692497a4d36c99a6b96c07b1d24afb6a4e085d90efa13c403445b4d6b2c5e1b13227e0dd8b07168c2b0841369454510a7128820dfad1e1a1503b34871fa19c8e82823ebbecfe32c48bc641852f9ca6321a4f0f92fd28d2678e40219ffff034e686ddc2bd1218f9809c8a456930f55f94a45cb77abd2ffe1b775a2f1ae885603efe20576127d77be95e5763e448b9e85ba33108d66b8e6088c59a14ee7605c1403f94d32a984cb288939a16de46f4921dd229413967f4ea63d7f09b861b511b1520395512b5544c66616229f4eb3b049d46e4663353d72828481d761d5a9750476a903059da6a0dba70403e945bf06b273a9e2f7ea7e938f92fb7bbe64bc9d98d3543a03665314a61a234ab69dea43bba8a6fd360e68ac08d9a0cb82d850a29f980a8ee003040c94ca05b90c423fa178c948d2e8510690855767895a8aa2a09cd566902a7703e4536f8b7b795504e1f91a0bd59eb8769befc92b64c804b6258eabbbb486554e03cbee28d7efc258e61f7248deb53a23fb94876df1fc532e95b9276da85014fc70037816653dd735f71144c31155c0eebab984946d4222c41d1a27ff643263a8920503881c71f7f9581a13349aab97c5cb8d7aaf113f7572ada9dddc22fcc887e887910219ffff0219ffff037b5ff2d901091a118793a9e2f1be80788408d99817870cc7020d651603a56f5303629f0652e88f5aefef15ce3dc1c234434bf3f1bacaecb70fdafd94a1934e506c0317f76bfcfe99f077c9d4e0dd7d53d4d6bb6b2d1b767e2a58ec20e3e091addeb103002e80fa39b4c677445880150e45aa1bbd19f08ffb67e04fcb70b267c683bdff035a6f45ead293fa479134c07d03cf62bd2c755a7ee2d07b8ab351f7500285e35203d8978a7bb6554c360411eec0aa031db087b87629bc651c3ddf2de969ee9958a80219ffff03369884d31136d3942715806edd6b2353f6fd40c06307aaf66fad884530cd41cf0373f8be8ccc2fa185545b91d5a209b9d741099e85b02abbe69fc69fb2c241b95303074b6de6c603b2ad4841cdb901440fea3180116127ce947b98bfdd7bb636afa803045d5bb8e9083ee12049bbaa0e2b76e7adb48f82259a2d272adc179a123c2c25038975133c60264ed31f847303c5e5acc03dbbf9a0e23f00c20c54ebcd7c79274c034db8efcf75a8ec1602aabfde47f4b946ae5f2a69948695fe000bb04a0cbc78af03b798756d1e3c9b53d7eae6e73ef578f0351df730fec4527d5bed8899cf5b887703d6d46ac950a7fcfbce44a9de3dbb24e77e8cd346929824c63f93f1a7571ba4b40367a8fcadfd45096d9b9a0cf686ae9f03f4e042d5f69bab6eeaacf642da04ff1f0347bb042b168011f6cb0bf54e3d30687fe98567043b643bc9e97e66bf4f74aecd03e1b74554235924716eac25144b4e1deba18dd822cf3eb705ba0f43536f651c6600581f039921579e84447a663cca942a76a49c0aba54e1d815fde7aa6cf831610e004b4a817c7ffffffdabf41c00037a17bd33b0ccadc735035b52f3148322f5cdcbce767bbdd8e7f4b92e9037ac1d00581e0269395aef8b370cd65179b302ac207740ca10c99aae2eacab227be681a35820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfe179000581e027ad954c8bdb4cd7edef96fe2effb7ef3bc6388ce44fcff9520343ad44c5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe2a071b0e00581e0229305d4c7b7008ae4c53168de7213c8bfbbe6b55a4dd482d773d5b8f2245754b3d460e00581e02568ba1a2db005198281710fb02a323fbaff3c9198875e0c2ca3cd9d140410100581e02b32aa82c76aa5bab23b37550c303ee27281880805a17f9ed402a4d1e635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffb1f7372d00581e023fee0d8ad39c74a75de08ac6348035b045255e441a5c96c501defd8eeb443b9aca0002192f010315ca1bdd3f259f55b9136f8a09f5be5501a2b153346a4c80987a3b3ac3f02c74031f413685564f0aa3742a0891ec5610411ca065a5ee609e61317b9454a0855bed034fccb3fdf9dff80d29433f5c115df82533e8685e087d9fc0791dd76c7e9d1c94036b957a8e6c5eb6b8e469f7fc17315c0baf850f66774cd2386461998bd836a79f03d7524a135823b6c47cefa0a90d6e0630da8d384f4bee998e78fcb4684736bd9d0360b533bc0c94d88f00a06b44b4a38fe9572fe32f4e46357627e4ef4fc63e519503e89ece1723f2bcff44b5c688957ebc69dfd2b242b720bcf3b6f39a1597b5db54037c1f6477a6f957e38080114976877c64ba729a7d62a126f6a45be1fd6ecbf302030116e96c613e7d97b256390d6be541e9cfaddcdc42a7d42266abfa5eaac2294003c11a6fe9085d47e1fc0b4a470575339f0c240a234de4324304cc02b906e9900003f5fa3e0e0592175f5b895b10b214bc7d2f080d7ff69bc559e4ad120614d8736d03a74953e610f50f3e1ee2bc88195acd81f089614ca0b71f0614a93bf5ae2bb1060219ffff03c0b933705956329f68027718b09427c36e73d2493c68618a55117f819df7c1010313f34bb2a664caf7b6e40a163f7193feaf1f12ebc2d7cdc1ee42d6815bc08eaa033c6a26582a2ad62accdff6fe9f38e2286e2dfebc2f153da0cee3c9cfdb51fb4303967d45bafbbed9ee94318db7e4a66eb1a09393e93509d34d6f6eeeddb31e879e03d1445ff796f925e2de23a9d8f31c86eef0860a5d1bfa287da199d137d680642e031df3aadf4290df178614a63b05c5135f83ed3320dd96dd99fde3efdafa16b0b2030d9a6912d321344cb7000e09b87dd3f9d3dc5c41f3d66ba34c510d4ac84ffef0031448f3a777f593ae4c19f7c26050d4171c343c9361197def49afa5cec78706ff039a644a6629002f21df68dddfffb4fc608016e84d29b4ed61ad1c13dfc2664ed2032d5cb2d98b42290930a1a242225ba2b65c7aa5f62145d88ba2c5329bbeb1fdc0030376aff734adaf8c486eb6f904f6c8207720f41a92845bb5071e7f29b9adba3a0219ffff0308c1dcfb13612ef315d091272184a2ea1c5a286cefd7678f8dc929bd3837d4b703c5127c11cf0e430fd13df8b6bf33056a1424022ad8394eadbbee674f13deafc5033bc81c8d58a92fe46eef2ccbf11c4dab97439bac57977ccde1001c6123e7fdc403da5136c0ebaed1916ff1335d5daecfaea1f733fa746c8bf4bacf1e5f2f81d96a0361f8d0a396a65ca98a34dc60876790a1ae85fcc4de7365b4ec2f680d1b7adc460368c1374a024a341025935285c8357a823d64664969dc9eb006af2f71a932a710033ce885c918ffd25638a003b532a90b3ab2214beab0e5c085eead71fb30cdf5690365f24d0b098906df9006d49e27261d7035dc13fd9a3bdd7018fcc231b411227003bedc883a3ec1f6f8638beb5849b37c79a68f13bfeed4a101a17a09eaeb7b259d03e0942d8c40cb10131c87009d1e8c0e1c44eb98f431f549de4f368743da5c3e8103d882b90b69a52fbb91c2e16b0917fa8e40ab9fa4be98a1684495bcad8d3f762403c61221404d71edc6581f0f48318be35fa976cd277d362773eab5a0c4576da82603d1a008d2837d92b06f31879f61f3717a20585029956b73689a4f09fe1d2ca45b0219ffff03f67d0049bcffaeaf258cb635e8e5a6a4fa062f6a0afe63165559814401ae77a70390391af48463894566b1ae7e351ac9211c250ee2c752af785f0284c4cdb0326c03a829ede1b0b52f4dc15a8f15070171837c12334af33cbae49d955021416f9cc103e061893cc4adba51ded6f982d091d031a81d38394d99fa719c864a7ae2bf1ff703ce5b7225a65958294067b9bb7b7913cf0afa8d1d64de4182eec30ea38539bd78032355258129f0d55ee4cef6c8a6d2a5cb10a23cb03b6cbfbde937a554d7f84fb90333903708de95a54fa3b10823658bc18801dbacc3b84f8be67af4de2cc4d034dc03ade967dc78a82a2f9b452e4ccdcc621d77c4ee6618efe5cb476eedc8349c259b035e9882befb55232ed8c7a5a3d8608e2140e51e9738eda16e8e465f3583bea65103285dfcca159b5cf33309d474ead313ccaf8ff6783195aab3d33c1e1885476d5703bf3cac3c1f431b0ba213ece83033eae54f93f0a63ee329041ffb47811b2a0c3603ae35fdfa58ea7dd15919b838dbc26f1d07728010f0984f090a35e01658c4b84403f23baa54f8692ac83d58412e5be1c844f13d6540c1af9c996a7b491910574d3f03c312d15f0c899c7f1ad7ce277384cf1d8640ede1823fa6ab45b12810973c7f8303b4a84940712545f8b20b4b68a8a2f8e1e2ce7ffa7e6ad3c57af7ce37a294264603d189fe04d6ac65616533ca6803d315c32879933a0c902475676b3f220aa4843f03a4e3c1343a1b0675324b51920942b77b4f22e2df95166c97332386ae9cdc8fef03bf825fad43fd73aad2732cad13b9485789ff9689083af4f9e9f1adae92ee3bf40360d808dcd8bc426895502931328d0a4fe5ecff9da90cd652f16637d85dd6d29d00581e02c61436743ec24b454c28eb0959ab59ba8c665619376e50a4c14888630b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022d61cffb5775d83c1533f220272fba114474568040f78892ebeee1a57e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d91aa1b1f6f87cd16fc51bcf1250df1ec1db87213aa696ff9ee3b2ac765820fffffffffffffffffffffffffffffffffffffffffffffffffffffffed302a1a000581e024ee057349962a60b14641e3db8de8578036d21826766ce03a2f644ccb04cfffffffffff096a2da999e4000581e02c25c3e8e6474e0cfc65be3a804665b5d2c5c85174a6f731f396d020d514435a4e90000581e02a3b6751a54f2ae8bbcd1547a291f8f846fedf7e87a3055e0dff2862c00432dc6c000581e020f8193e859455fcabc56da22e01b8f1a0097cd26d967ffdb4ab026009446011b5d6927db00581e023bea411b7e61ffc18b26729c546db45a1e3ddbc35718af8ec6f2a48a735820fffffffffffffffffffffffffffffffffffffffffffffffffffffede3078cead0219832f03e10c5cef113bf3ac3418938881112cbe9e564b97b12b81737858d60a6daedf6b039229faa12515ba2b71cb682bf6e2682b4febebb56c73c2ea1c998ff0fb724c6f03b3dd71eea9b9ef8428b7c97561b92422bd282961ea783b2d769f03a1d00360e50315fe102a563b2bd2983fa83ec69eeb066a49bc6c8efe83aa8113455403c97f60030ca9661bce721bf604201a66f6805454689dc2a710eb46ef82dacdcc6c690c00039be29585ea8d8d9a6935814f4ba658f303636ee83ac1d5c2c6cd0e03c9b24fb30307fca1fb4e05066fa66f31d141620e0ee4a6d0141b6f67d224099bbbebeb49ff038fd12eeb51f12cb13dc05ef33148bb1dda0cde541006986df34959b55a91d7cf0354e03173d42aa298db94939ce2aaf1793e309fba1288751c2229f9d56ab1878a03bd1de8fadfeb2849c06beccd20a70f1e7695d8afed40036f4ee1e98f3c11138103883bce93cbd8527e755069ab2fdeb7ef45fa71a18f325aff37fd9817fd4567bb0376351a4add5fdea4be9f9e8d35a34368b67e2a8f4fc22b515975cd19b451e62503768d9ec462bc6c5fb27880a47483b9985e4d8175cc42e7434006666a180fb7b900581f0373b1574ef1a9cdb4053f736c7e9bad43961fba56cffe943c2c380cdf08105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff0b9ef6ff0219ffff03e6a2a3e755360f78c7b99b42dcb268f27634dcd76ef5e864130fc649e60d253803cfd56002db7901a4b4a9a60e29852249648e00beeb8e45d3d74c2b61e3175a0d03db4ae00ffbe5d96e21799c76dc5238346eda184e2cd9fe8ec8b9b95178b968dd0353b0b99df7fde18db6145b5231226bd18ffe1f471d21b9016c8c021aed3053100343e48ae26b3f089ec5b3c320b90a56d85c8ff31e4f22429d31cbd6534e40909b0219ffff03e9b27c9a24963fb61204fbe791cbfe1d1afe80c0ade499b3c1314f093e2def5a036d0d10baddef155b47db62c252f850eda45633d70bddc8c3100342b0d7aabe04038afa7568103906dafdf74fc0d6bd430c1f8af2dcf18fe475ef76fcf79bb0260c03b70cc84933e2642ad8dad73fe63f0d381670eec7a4d3e95deda007684904b07703cd07ea94661d098e8c36cbf05b7a74a9fd38ffd02dd3b69df34e5a050ebb5d08031aec932efd45bc737f76a089040e17612edac194882a6588a32fccbf8d6e0728039d5f1d807a6fbee66551e5687fb2de2e78d2894602a7332cbb557a2feb74617f0219ffff0371124e777d20e083a9fc499282ae2c11ca691b0ab6e12c1b64fb8569bff8ddb0033b44acb2062eca15c3ac5c594b73fdb729bd9dbd49990e623294e3dbf1fe79ff0353739d6fc687fdf5a246253dd6b5f115555d1f33f80d74e615b2408178827de0030fa3d452c4485554023978cbc353bf43b1d15cc26e3d6c976b5dae0102de49c603cc6cb7277bd26fcf153f5e05d190cce6e6b717b0b3a16b96af0107839e53aaa0035f467a6914ccccad796d6eafe2c3a0c7c475e2484ebd991f5ceefeea0a7ea973039b9ad1b547b4f4567e0f688f5578e5c80bbeabac673def11865f4bf3e8f368f703308089f7428c6bf9690e3404113bafbbb06e0e8be223421bf6755ee43e15b9e4033b4e853fa5314cff66e66c19323904b205b377d3e2d7fa73f40513d3026504cb038de6fd5dfbea248b6f63ddf74d8a33f2f5b5664ac85912d5901be8dc7263c5060219ffff032f84b723de7eba661d5d5ed7492256063b77a6e74d4274ea451f95e86b4e672503e57dcca333e272014a57285bee5d5275a14891add22cf081a7207791aa374d55036664cdd1140eaf6cafe7f30db7ad7ee751e4b2c4a55a6604d7f036975300495f0305bb8b0f1662300832a293ff08c8745d6a78f5bc4dd61937a1bc3159b94bf73e03099e1667e88b1cf97ecf38fe78ddf80f9b1a063d9ddcfee080d70d4c7ca5bb3c038e46867f02503ae221e02625f360fa97469617d78ff1190d0a0b77866680ffa10346aa335d10b06a7fc520c2f90fcdfcb21e3abb571b6852fc27696f693114c35f03fb6cf00474958e798ed78e1d0483efffa556baaa6eee196eeabc1bacc46db2b00342d9c49eb9ae80772ed2d700d1bb43b023dd0e81c86958d62d3dc9dc54bd56c0033cd5b4962f670b1673e7c62c2d3470759d1496f2954d06eeb5420d8ac8434eab0316c9cc9735ea5c95a587a0c550a6773a98c1b8533c11e6f35685116c61e676f503679145339e1781330e79f6845f90f3bdb3dd7f8f137062666b15e4261fe01fa0038f5c9b9adabbe6e91c1baf86e820abee377448f6c2b934c504a616fa0e44e539039f617f1912eda11f328712b77b83df78fa0aa6ebff9b4fe0cf30787a86ec799d0344cacc0073d9d1888603be2d02efe9b25085556430db97706dbae92e6c4d053303e7a223d39ae490cc78a8a2d97600722ce72d49c8fe14b6471b3e9df252d54a6b038fc744a1eb64227b1d0dc444e31fa4a26f8577b772b3e03fe9e2a4c4391776ab0373a65924c645d05b0a9dfd732f023224ef8eebe553c67a9e2e9ddc80e765db47036d6ebffd4ea04c6f2ca81ca34f883ba9dff4ada6c4f48ce98382b23fcd21a1330309d3f458d6c10f153f1ddd31c4214e95e921dc19a4708b3cc22386462ed2af5703a435b183d8937992a897df7d8c15a6539d4887bc49c0047032fb4558c5a2922503c897b66d75a0838d5b7e914d1e08db0b3ebfca312fe05390b2e3d959627cc28503ad5b6c2a0720b874d19451dbbf3b3a28dfa9334e916d7709ac3a808727ac989e03dfdbbcecc0743ccc11eda5b65ffda77ce00e5f5445a2b3c0c1a949f3acefb40d00581e0372cf7cd91329e07e3f7355a0a069fd9a5ebbaf67dda8808a3ea4a9f960441eb7ca4400581e03e18a196d1650be2f2d9fa73a0182024889521e6dbc4d0031b75e9d31e05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffdabf41bff0219102000581e022b30c8a411899bc0b15ec1308270468a2736c0f3a6f22e31ab557385665820ffffffffffffffffffffffffffffffffffffffffffffffffffffff2e859f6a7b00581e0227b1db84130cf2dec79838d025cb4b9973129ea99e0cf77839a2b303154384724000581e027f7eef4cc65846a2164a943dee732b82f09321b6a1a16257c60c52c3f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219018a03967325dc95b7f56a5badc8fbf2096687e7b4ddf9d573240acfda0cc3dec5c8bc0315ce3f8330fe4e3a3b793e958f40a13394f3692fa48fa7eccd485d215216d3c103165a1aee6cb2d0dddcac9961ea16cf4858ee60bdede230930db7d7d313c171e3035d3c3af3bd8b198d019cff2d6631e20cd1cb148f6be2321c98e3e662ae5e823a037c0c3ce099f861ae0d75cfff436f34a43459497a2bca9b19df9f4c991d65e15f0219ffff033de19731435635e0cec98d1204b0c35bcf267c72b2bea15a12753db74980655e0380f00772f16e44cd3003fa639b4500b5f2c8276e156b756a2447263cd82f9a1e0309496ed343c2d65b369be0f1f1a2e3b056e9a17c1e11325282c55931f25a2e010343da3ddd7dfc587be4b5acf8ec63e38ef6973b03248cf709baad25ccbe5075aa0365d480c7d94a29f8b5594bdd247a26bb4985927ab695f03d55054977355c065b037a331e6d5734b0237744dbbe03b9244559e64ecdbb455de8d7cf574939db750b0338f377264bfd55cc7f917b706a6b93abdf693e565b171a914d19ca7476b709a70219ffff030ee5ab50fbeb1bbaed7dc442f5f3ca25c52f8c9b7366a720015a58201c7c394603e1ac975010a3e32630ed9cee76c3776b5ca16796fed4ba356f427d01f81cd36a0310704dc013a4c141adb6c1ed2888a0aba204db7ef784eff75a381886d9a137ce033fb0d499c2582fa9e3efff2490d70c7796953ec5d8b77379e6f225976cb243cf033c5ee0af0ba42c61826668a692596bc80a1fdc8aeb83dd7f4c40e78eb3635215031c109c59d9abc815a7b266ec9f4f3dbb78b9c4124ef074a0a60906aaa288995f03f5fba2b0b5c79ac6977f1a5ee39d080f230fb37703250889f3fc96f75cfe20020331f3e333f5e3d187a433a75e4ac0363ac381131676c0bc280bf0665b2cbab4fd03b241734563338748cf97f3194257cf6ef6e700e61cebf0f2310c2c798bbcbc53037077a0c74d10711251f2c4469feec22b2939c32b885542d56d1741f6238c68cf0219ffff033d730049f7281f53de9d911c938a0cc76790faefa2c97b08cc4607592030ab4103995cfb59025db4a8de62a14003b8c162589f81b6a3f046f27ccb32580cb4acd80343891eb132052be1c46fd0d135df05fe84a85e2abbdd1ce303b4d50f72ad328b036809bd21d69d0182afc70f1ac0607b1e201fcca6843dd07e27d4ef77843d0738035d76d1f94e136edddd96148c64aa31398c1009baad8220fe417d67372c62972303455f4fd6a5e65c314e5a2d104d3475557baa97b2c51e7cfad3b61fa0b0af3f3f03900c82fa8f4626854f8902a9c868fa3fa3ccb712790dcd3b6418838594aa704803ac2ea28f4039a9c8231abf806377eba47bc330ddd143260e350095d2fe32b9f403371cc1f1344ab77bd3eb68e8d866128d08a30af6c8706aafb45740459580e6fc03ed5e884b09b97db851b91e206ec535bc6996332f646101d7e92e1c3246bc628b03ca36ac4726efa1cbb40def446862d45d0930963f470f21209873fe1d3b3d9f84030cb0cdf86e4c6a6fa019dc62979d5301da03d607bdc46304e7e3609ced220fe803a317bf4be7d5dc1c9e60f3def7e4b3d143d7e5c837f4194a0abd99ebd0612811031c7e959fd26434f1cd98547f98ea1eb9fbeb8a813300520d982dc337f09fe301033dd6388cbf71d9f6db8a52643f29b26ba166a326b2136ff106aafd110829be2003ba4cfb0d2c7db0ccfb25ace68a16c6349086a2a81add7533ff4c7a32f130e1fa03999d089908ace6358aab7c993d78e21b58f94d4658e3d320cf66de0fb0bf0b6603c430eefde0b586f4b065fef38fe69b2367b8de93a2d79112ddd714391635331d03c2ae7e03821b1475c6b2ab7a9d2060489c1a234f0812d34e92b18b877901eadc031d80cbc40b9aad74be82c966249ed3c58a967e8c98387cd49cd0ee431f6723cb03f89112b76ee9404c3e8c58abdb2d1fbdc6d6379a69bcd6a66fb986aefa6464a4034770422f614c656be3e32226db78b828a703b3fe3ecabd4155522048164ab4a303b2818470ba36da79820cda54560addc48eca3a7b783ee027b82fae21ec652d74033a93445c7b4d1a1eac8e688930053f66be95e0e9479b3699361c24a286bc60da034f658b35f3a2ce4260f941c6dc247d59c4320df40945b7135f8d96ccb0c56adf03ee7ea93066020cd0b249339d485f957967ff88949d3f14daef09d7ec9cad4cbd03e5a9e5a74d665294bdd0cae787ddbc0cbe6294d97f3830cd0fc52de9562e8fab03572062c769078daa5945a74366cfb37689d4d5f42ef2bf8d0b98efad976c18de03483e209a5d67acc40176856c5867d66bf4000e27a0cbbbeb8328abad3a26305703cca048ad6bb7a1e62226e8d1a104f3a9251949e74941266205081449acc670f403d01970ecc781a882e495f577b987e444f61347b12eb61eb9b6cc12a5b4db02b600581e02bb8128223e6285cc770df51b4281d8528dbaf58c6e8d0c9dc16491b437410100581e021514d664c7410493b43a4f4dd5bc4f248a2aa9fbd88d6e986fcf13d7cc5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff62a4cbf00581e034df8c35e8f694fa00a3b151ba9c4069300db12f09ceb4befaecc7e55505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbb74647f00581e03515c772e33a89bc55393eae970b25b69ec2eace4e7ae51b1f21d6f42a0441963beda02184200581e02f247cf664a170540539a3a804e332537f3cb827952a1127bca6a4cf05c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffce7af07400581e0254d04acb8a7ca6cad6cecf8d641c102189af4f3f771dd1435347b8896d4310877a03075b63544834867f7430ada7ccc590c16bbc74249bcfd3eadde59d3b9b1754960219162c0361ba48a5da47cdb88a13d01cf59a53a08c20aa324c1a36c9857d0e66d3875ad803ed0fe1641e175a333ea00434c02154dd48b0b8c1b43da53432e47b8b78dca1ba03b13817aa3201a78397a940b96cdf96b5dcaebfa83411fa8fa94f8b7bbbe680ac03545243d646cdec7a843ee15468bd404f9867c8d14c05058fa25483ca8f5d53ae03e5b0a4b39b1a51b5b62ee2127310dd60a9b35996f3b690f6e158d90a5f9a31b8037d8ad4d7488d8c0d621303f8dbfa60bde2fe6c84d24cbf586b644852edc030a8034dfe0164518d734461b845f877a7472decbe06e5f7b89bfe70dce95cc4d20cf703e9a3a54eefb8137600c50a6de7afd82e89a3d648edc02102905db4c61df4c683034a451cda47645f409b5915a0b1a7ccc3b824b1d65be00d0d051792fcc5fdae0e0219ffff031b6bef561d3aee7ded0c689789c6be51b6c2dfc73558ff6c6982d9b8d5bc93eb03e76858eda2bfa52f14d8cc2b08731868e8aa42c3d1d33545ef7cb8dd4dffc5890356cc2a1683e99d8268be121453baae05567767645602781831ed0c9c53e97972033700dd36a7f0b5a9fa7339e7ee3ec6539cac90db4ab56a1661642e56f5a2f52e03ab721eb787bcd748f9381219047f78d823ee2b7442493acbe10bba13450fece803cb52220215020f674f3c3e1490dbaca4ec7cddb6cf9240e20fc2415c95a18ce60219ffff0317931322f405b2c879809d24c3d2cb86862849388a87c38864ab31865e2b0c540383f9c2e3f968634c5fb0f3dcc0b6e2c014e231c040637726f321f79b503f86540350f544e65a581c6f6d71c8e80b93532978a6fe9460a941d33aa0ff4de7b21d070219ffff030c431849731bdb28978fe1820cc66840d0ed2a7bffd8e422c0ab99a5eff178a2036cfe3983e83828469581304393e91f020f27752829ff030d8bcd0fdf07b99f88031e7c418de0e628e5c375756a17368f193cdfcf3e5774acbecff4614933bbbb4b031cf6b6f1159748b159741706434fe0155ed9a80572f214f8101675eca05d2bed0330a68a948faac6bebcf232aa7f686a751db7016ff153db63fccb00e6f530468503340b812375023d53377891e6fbb79a39950949c38f021a3dca2eb8c162508c79034e1a0b3ec4d568e0a4d7fd6e273cd2c583c54430ff892d4d03446b2b89e913450325a037927363c9e3e6a2608cf736f19a38eded6d25b6794cb48c69ed7a1d954403f2b7f16fa5c13360079a9b60c824c203db80c57d820e54fb17d7b146dcc9030c032691aefa91508d192d902d3d9a26707b9d88adfc33fcecb63984741046fcc08f03aaed28e85b50799f9eca22f8b1f795c28360e60d923d471082487d8f9d04428103d59f5e44b16a75d5095b8c4fd3b8e9818b112b6ed11c41804a8f12c86a45e02b03eef3c65c7ee931e8541d693f0e002044e34daae68d4310f4dc91a25b9d890f41032863d0580a347a682097ce0dec100603b5ef99d0fadcc3c8e0144e8655bcad2a03ae2dab0bb5c8655a0b03a6a6de51147e8ec9dff81ab37494b6552b6577c3b66b03d60b07f74e56067c53ffadb3d381a285ca784b7aa8c87c21842bc60fb4cb4467030509875581337253cd889cca1abc8cc4d1c5a3bf740911d925fe087c13d328f803ce84f4f5e25490619030d10b657b6e51923af250f38fc7cc25ac552cc3592b8f0312db5b1706ad681976e8cb864d1bc6cc6ee7fbbb065c296af483f9eccfc13a2f03ce83bc2896fc88f5b91465ab60ea16b559a201b656e7cd611a1699822d7d286d030bfc533a8e8ac3922a2db9c83535dc2fdc84516372941976c4555e0c1df2009d038a6000abc95f1edb6541c44a1bbcbf49e02c0756681d4b4d450462e5d45a131003edf856fc82efed653210f71098d56339f75aac3a5d6002e66b0f4c80704853e003e8c7f508123551f7b801d483138f71af17a3e5e961ccf854ed4d81e2df36808b0389bc29717955966df754fa40afeb350c493d44a6cca669141b2d28dab8aa8999036e49b70e45bc0168140af23da801d27f4002dc118b9a0dd0c02f76dc66b2980d03323fa058194b5f7c0e84e760ac87a32ccc43483a5776a8fca2b0091942f59ecb03e8c6d30a51f1443fe0f4323b107dbc925ae0cd9ee630c9931ef66f80143c073103fd1a6298f697dadc350737533829da69b207113ebf302021490fffadab682eb000581e02b76779fc75f14c71fb14046b5c3e77d3fcdb33832747b292b7e30af69f4402eb6cdd00581e02641823a2601639423845705a14544f46bfe0e687beddedee572af88305430a47d900581e02bee4f7e426a058f11f169fa7418829767b445f3c5671c28823624f4223422710035691656df207e67f3308d23991a494e11bdf54b656f3e99abe7aa2a28b46e1d3031b911eec655a28a0f678a52b457e406279af5c3e23d546fa54fb95e02237330000581e02a623c5040cbce8a9a0061d09e71fd7c048a6c81ceef99c5d1c5858391b4405a995c0021918350386fac56e09999ec65ebfff43abce02c88b731f5bc1a4d0a9bfb7e56aa2d2498d03f7933c598e71b571bebd70fe464ad83b33acc5b742ebd345f056d7e47d5edc6e038616c160ddb2173889d3ad87ed7c8ca1a250f4ead0cdf6428d74524bcf2a5b1f036a60a6ef92fb72ffa24e1bfe2bb7e267ded3c119c3e26faba7c1e2927be97a0303af145da7cd9225a3d809bdeb70d10dfe394be8b8ad8dfb36298a9308074ac82a03278da097cb7791704b739ac467eae793a215cc70ace1746a14e057c2f6171d4703eb6ea189bf4dc1f81b9bc4fb4e8062275979d6183d01ca9fb2f5495480cc43d703412bca1f9026c50fbca306ddc6c12dcf9365047de03fa7181ada782561f3100c03d762404937ff75b1fa404df22db5c223d92cd0f6a02fa9c6f3a766f4b276f579039d05b9ff8f669aae98000cba94a1b0274d459207cea1abaf31412dc6a8fea0b503d8db4147e820825316054f7a059fc0c9ea6658f1f9161a162590e48d85b49d5c0219ffff03972731bf354deb9958923c15f7a0d286a8f35850024e60ccbfa686c2d6c5ddc903d327a40cf8eeac5b4947767950e46cc7414d26d500839c629b0ec7ed6f1ee0350219ffff03bddcdbc3a5939573e3b3b1bd0961ff56a33c7df193a297e6925321788c9b10d20333de7b609cb15c10c302ccf793361b9325ee009825f63ac088eb6b6a671a5bbe03d0dfef6bcd6d00e4fd17edb433561b4d4077c102f483c9253a4b7b578975523103416bd0f457769cf2346a467223d2354ce3dd4b0021c10ca4066b9d72672b553a03dd6fdc7d4b50b084e29164b87d7b1bca20c52280ca410ed915811adee93a6f7003a07b3b06b970b535319e766ca0fe2dc57f04f8fac9ee1973acce1928198c47610321c17d11e64448c620d139420c4137699185855657b5766c861ca229a3daef09031480d61ba465c2c8f59fe73e5a4fd13fb5d8326358e634a1b17ad911df100aa10219ffff031b696f978bf2e534332382a1fe30c4e5e9560830aff0b79d54c50a3449c0e9f103c45938785c7d43f3afe2f5111d2d6cb49448859f6fa010362d185eddc2af0d7b03c3ac49ba91dbda995c25f7d521c81ecb8182f60b5399f5800a7ae19a2d7fa36c03d7d3115cc34e9870df422da8f409f6a2dbfb42f36975088d004998e0ba6cb3a70350a961eb7e264e9d98053e25d3884681e03168071c48d0319dfa7ae44e54583c035ef863706d8e49a722f48c249f65316a184b0f2baa768fb7ddc7fdea4110322903eb1cd8efbcf327089221a0b23fd5017ba67de5ea5d9aa793cac9293054a21c4803d4719361f3dcb0ccf1e529f2cecaf9a64af037f451e7f1a1bed5beabbd51a5dc03fd41042d1b195e7e15badcbe45a73a77d37210492de21e42e1fe2c4789b50a650342442eb9c399b766fb3f48234c4cf95e24ce6c0f08d06a2114e9676673351f220304b688e5a8ae673e05b263078a875d9e8dd90b955cd0a571fcf27ca9ed40438b030a1b1fc3e09b17244cc5fa468550d0cff4585de59b228b817894a8864a34130e0376ea3e7df2501a6cfcf5945d2645d8e54f9cf69f065ac115832d624f42fc3e9f03b618424965f730d108dc7c8d3e1fc5c72ad5341d141d264038927ab6555adcea03fe856d5db76a5c1ba49988f5649163dd8dfef794c08fe9b6f3f74abd96c1c86e03ac32135aff53421312f9a4e44114afa467190b43510fdd194d68920e4d7aee790320d92c407c61542add8c1f11cc80a05a3a5bf1746fe52d40dbbd19832440a223033a00780b25ea77480707ef3dd132eca556005e74f0e198e4ae8909638a42506600581e0261dffd7b3180c07048cb289bb2f4057fa14fe4897576d44c690425e7015820fffffffffffffffffffffffffffffffffffffffffffffffffffffffbc2c751b500581e024d310e4e0b2876ef6caf6bc4d404a64d31ae4316ad683fcca6090fcbf64301871d0320466aed4c9326e01113550fcc19becf3d0f41078e37761d49c08913b0378b9a00581e02eab2a845027ba398a1216fcd88d3ed0f7d3bac6a595de36b2d418aa96a4cfffffffffff096fa28a7113802191d0003eb471d801ce56fb7be64503d0b0e34280640f8e5100f829540d01bf0f91464210343491c5fee9ede59c70affb453143cb46b9bbc0e8ac4e17748eb0963ebb62b18035eff92782d0320c65604b7947b9c11f2bc38321d70216b3aeb631694217c93b4036d738f43c1386ecccaf3bc63415589f8fb2455dfd0768351d962759d74f8f84203bceda9bbc153492f2aa4ea83ce84917acdbe58fd1a85a9ab78f7928dfb55966d037f35f28a6ad1469c1b643d044c3ad887f06f9e4956d7010c7496a7872d90e08603f1d586a13ef17333580c2f7f3d36ec36364f48ecae0426daa8fa95a0fac7440c0219ffff0366c85ee1b7ec5520333b3eb8dc8a980516f6b77e938529f792a74a0adea0abeb03830f0a1eabcb03f0acfd26095ffe96b5c8ab90c0f8022e877c5d6efb7a00dbcd0374fd7c7796381c78d788df462821793b40a240182179fde556247cab48d043d50395df3ddf9e01807d6b16ed9d81fd11d5361d30dda241178acdc6f9af2199f69503986ffa8fd6b19c074935ab8bd8391c59fbe729ca6a72ece9016d1f5ca0a5a79303bdeb1edb3f74140f6a6c6a9acf887544111a9a83f866bf07f270d3553bc79aec03f81706db65e5d11e7fdaf93c3913d56f3939df826267f39c1906a7dc5b4f3c3b03935288eae046c3f1656d976c0834738a9c7436a0e2bc893e46d16f1a586938b10219ffff032652247b0fbf5001769412763c1eb6c2c33ae301f09f59555d9f189ab370be44039c3485ba909ecd0a0fd90323d008f7f55fd7f37385644b48d2eb88c06b93eabc032adcee0446e03fceec055bcaf0848f098969b06c2d896b75d20fa204e54b695a03f3f6a46ba09dc9119d04da7f2bd496432a8e9845aca0f27d3004cab5d895bf4d035e9a14858de4b1a1bf20a533f8122f30d631f40163ef8057291b3f6675c2db6803d0905ffcd404fb53d95351ec70893d8ef5c728d1e367150f30a6e111e8ac636503c287868dee62cf937d748d8c573742b9e9f2d93baa83b22b0046138ce2e673e703f63284001483c257f09f0b4094b90135f0ed1b71ed3e0a786f31f54f040ecabd0393dc0b6fbf6687eff73b3d7962a9879f7b7ca0f448e452f738854826c4e2f6f603b674be9a5fce4fd21414d6f207d9eeeae742414ef2fa5002252d041ce69cf6cf036401f1f9703f4c81a532ba0ef14439b80453436d83b8b976c421c8f9f9bce302036bf067303512d33b318c28f347cadd9c41e9966f0392bcdd68a87d4718cebc9f038b4bcd1c755fd1466d1673071b98eb4f8661e29764bad1c89e5602bf617c86970219ffff0320e980c3de17e8558a28f5a34dfc4c06a6e5197ad9e8de782aa915d56ac123640219ffff03f009aea2d8474d041be88ff66701be61dab96dd579c4e7e0fe6bec198c0cd2980337f139ad0de36d5e9b8b564699f4cd675b2bc4fc59c9dc5eadd9200f52de741103fb9d499845fac71e5b9f3ab58121c95e1b19b618b12c33036e00f24ce4308f3f034395fa782aa69289adba03c76b95780ec3f7c740232b3583993058025e475c0f03c4c9fe2d95413610c0ef66a7cdd7b8d096b657b1c9c0cd0a070ff29f38f7aeef035a26556a69f4d4ed38701db401268103c2c0894f63e81ea941bdb06f5552485603f616efc9ed78b6c160b571f340aa2b283e42cf5b8343b782801d5bd80b84fdb803d91e0f79d4f1caa68234a187a4daaa27161c7427cfd7e3d70e041e3948d2e050031ac49d34da829240043bcf0f408331918dc85c9f9b527e0fba6d3f11e642f6e603dc59a66ab43f090262865a5dcc479bdd39f86b85633fdd5f48975bead9cf46bc037445ee26ab7d4e48b88dc9f4740f82fc82c320092b18bdc0a81efadc215e156c032b01121c8725c6be93063b280902fdfac0ddc84aa1da4ded17b8087ae1b8f5ab0381be43b1ca2c80f698f6cd42127c0a6df079bec2bc1e486a02f92c4f1f90ed4e03495c354a9e96ab20dca5edc26fd23f1d953cf59121f3acd9d13a32ddf9e49b4603f9378cbd476f6a84673a03b1f67b529cb89884abf894a4d05348b863ab52abec035a0277d8e839c40cdced38e7d07e2cb9e704117297ef09a13b85590bb02960d103548c3341ee0d60822a389b0a22f2b3ccbae01687ffe3b73aa1f6359716cf9c67035adc2d321dad99ac9c483bd0b1e84ed77cc65fba500f5754e78a4f1f076840410362e89064bc43cc8dc26e66ce25e7d78704be20fc73937c5babf082188bc3898b00581e024d4507bd7ea648ab83600863f18135c8b6056e8fb865864dcfa14548075820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fbc1c00581e0257a191c4afcb4ea1f440475341a5e5c2bc061d2468c00820f70e5e0700432dcb7700581e0217ddf820b3daa73cddaad8a355537516455c6aa54c5929584e5dc7db285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe2fa377ddd00581e020347bd44ad21ccc4db1b08b60492ee6ad9bd99787ca07159c1cf119c1e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff88ca6bff00581e02317a02549c14baebc7f35741dde88e92ea5e70aa4237c910c46602808a440127c6d500581e0221cd8544af13723c351e991ecd7a8bd7405eb441284728a5329dad5fe6440fbc520002192c4c036c8b7018e50f2484401b892762a37ae9abe7420ef83bf77d751cf700a22bb10303154d11b6ad4e2fad30907c07397cfb9adcca12015d9546bb960c8ce64480294603bbf35de4337fddc3891262894db55f6e33f61321bd8b91a8566fd1f9a155f80d039a741da3e61d0734740c7e958cdc19155db604bda9013d94db2ad8605b0891b303098a8c3e07c7abbe61e1e82c5af2e924f6a16e8d1f10f403fb544f80a3dcef2303191d920f25192c0ed67241d96260dcb753fef38cc5c457e3e6de2a42fcc99cf30317c691a019d3456dbb0e927cf4f776b1f3efd1c85d52156aeeab6fb8287a91fe0366ef1c9dfc7bc81e72df3a512aaf78551dbcbe8becd964507dbc955c91b0f2dc0320e041693331b0708d937189685da5eb55618eaeb4342d5fa00e547b2beaaef303c669a866daaac833aae4414fafb20cc7c55490d50d360af9342ed2bef0493258030274c0c8161ea188fc742d65c4693ff46ed149b7601d6bf71314132f64771a8f036887dbbb0c7ef937a732692d4af569b42123acb718bf6de572601adaf3a2b63b0219ff7f03f8ea25af34a587b4674121552264fd6e5f6283329b871ad7107b90ab29a36f2f034f3175675ac98a368130681de655997b05c0c44626f1fb07f8f9f68c3f21296403d6d23002bf0eb30151b53516b1f9e971da1c029dfd0656e9c8a227e13cf0885403fa7d741c771e0194d61eb2a101d582e19ad677f94f4300db13a867eaab59833303c1d0942e0538aeb4c18c82b88fdd56679ee3941e6e323ef9f621007e72d19600037bd2370d8dc4508fe10d8e2c32c5addb3689730dbebc6524d30166e73a1ef0f5037fdba55067572d006e96a01512aa07c0b00fc136d2eb713cfb8b8d630fff87f5034d49ef2be7ae68ccde8d9c178ccf0cddf2731b0112dbf5c51a923c840c0941bd032df7167eed065fd8c843b5216d78e10ec736fa49bc1c400b057f3d3efad58b740219ffff03dd0d6467ae206ca9dc157bd91e9b59956439d457e9a42827041230fa63998eef03292a03b10a13f2261bffa6ef17c35d9352310e86d1da98d999a1710587fa8be103bebad31784c58684486cc11b231f553564152984107e3e020f9fd62c0864bdc7035fcbf03d1aae79bfd9064f24857f720d5e5002ce834b8bb8c690c08f82a4015903b0551485a755d4a9605e20e3fccc13eb3bd569525c4b8a43e2a6b9d67999fdae032213547178eb54b5454777aa1056e1e9b37eb46cdc7639fb5517e07f7143b31b03ba948f9533388b9c6b44dc5ec38869702f1db2e6d05784566d982cc4992ad42403b4104cb7c3feaef9fae97448e9c4087db21fb2c819a410cd20ff078e1ba88e69031e362aae3fc0fefef994888682a34d64bca5dca7a3dc5ca052a48156977e38a803cf41898e0154d3330d4048d7866cfde9654e4ed2fbceafe4b4103b3c2c0f2b960219ffff0326fc25d73c487a03a7f839a17fcef6004bc693ec4995388f6ad509cce42e507003484f8132fe92d5e361df992ccbb09d59af0d60d43d9b4cd511c7044233a6e546033b38f4538f182a0519515a5263ca470590e8da274f9dbbe87e80b2f89061ee6c0348af2edbb600ff8b025c2d7175d4d5ac7da5609faa52143710bf1a4b83c4e551035d45485e4188dec89f9f8323ce70fd8948b58fb4b2baa9039d4cebb07fdd996d035a66ee0ea56de7d56c43a962caa3e67eed03e7b6179a9bcc27a4a5c2e78687de03f541e4736c128ebe4cdadefa287abb5dea96b0e815995c481cf2b5bd5a51fc9b03b85c09672722db964d7adeeee5d744d062b6f1ab26b0f696f32515b7c364189103b2393018b9188690dd22112fb90c63a9ddb5010b4e78ba28e2c56516365a5c57038362ef6f2085337063d51442a49bd3c539f8bccc218f24be0e5f4cfea4db04190312cdc72ad01eac29d5ab05cbd7caed7effbbb6e5817fa53d87d92e3106a6b0ef03648a7955c41311c7797c72601577ac7453e56a7a03c6eb102038119bba0e5dea0372b523e47433c23f056f85ad6dfd9ffaaa0c744c6d09b719afe8c478b768fdee0390a4ddf0c2a55b7133d9a7e51ca0a9b944e560c094dd0c6721374656456c566203f7425f211eec453e83a5523198cbeebf01cc179feed6a7e9c54dbe0ecb77e6f90375b6d6b3d758400b163e4784c85305799432d50c4e1e92b74edde6c39058f0ec03eac24a90b96cfd3f095508a263212fab6e57e79650898a76c282fb856fe58cdf0347040727add83af1d7f84d776ac6a33bea1d546fc61f78af67df2f31bbea064a03548ef84e9d05eea1c05e2b43a5647833b5294328c2760e128a87292e33551bde03409822e3d5d95edbc83c859bbef27d9b3b6b353dcd423d939571a0b0363d3c7a0359348737982675e39ca3d659223a2fcc92accf83cf88a59545e5c9ce006199ea03f4bca5911a612a1bee2faa7f7508a99eb3997131893a16d8d1379912b11208cc03b4360417b58083a9c2a164c6488ea7b7ab1716a92eef5034e507a6bec14f7fd103feec8e21a4209e961119e10b9eebfb223069017c89c70b46f655d8244273e0fb030d0e95b0948b3bb7254fe4580d0ee652fdffe3f3878023781536cc6cdbc3d6f80373c3e97d7dc3492d9b8ee7a88d201d57a9e2e7f9981d51f0c16b3a2cafef8b9100581e0281dd040cd70d4b63110add8d3d95bb82d93e8da548e9ffe03188cd5991432dc6c000581e0267698bb800eb082a1e5d83ef886f5ddb5d57d8498b54378b8cab97301a432dc6c000581e025128c792c7323fb26294b8fd0836864ddce0d1003434289010ca81cda046095389ab66fa033ebb2aed43beb2cfc3f3d1291bef49fcfa96886e5ff7e7d466639460f036030c021913100364a768256c6f0a82bd8f85ef8a888ded453796af51a77bbb58fb1b073cf714eb033f956d35f5f7cd22c95f74a8f29b2e655d13070792e59efd2be2357b22eedf4003017a22b810aee67bc7c5cafc3e4811aa5673d51f10c419b935c5106b7a035385038b157699624d1533fa3bc3141faeb773bd1909787b694af5eed45b067a1b11a003088166ae3e20597f1997dbcb2d19acd46328db34c819afd0f9f82b0352a6257003d83b816d95629615a7766a320192002d9d40da6a46956b305ed365817ded23700364c17079cd368422a80d61586a774a023cd81ced5d7d0878206bdc6c1e468cd50313c667f916c4e4263c16ab2909a629fd4cf3e5003320fa5fa0f9b2f0ae1efc4903d2ed87451fc7a8d9f411e9f9f38891b8ebda19e92bbd3534ed0c74e0f73d2e5f0349390c3c5a3afee36186cc05251b6222531d03e6629222b2203005a6047d155203ef7914eca0c55b28a8408816fc3a92f6688875a8de376bd26abfadbafb4c977203bad4c2dc5a91cd85b1ee52cb4d35dca1072d39a868bee0ff569b04af9a1a34b703cd40e3b1ebf48fa6cc5469e3ad7e7af74f479bf1ff6af5900e279bf694c33e570219ffff03273bcdceca5d1384713d2bef6c3ff6e145f9d754f284d3200910718e736ddc3b031da2875fc2983a4e4cace4dd951b6e8898e5b973c330232c13be56366fed03db03dad5906ba273356dfda9266abe831a9e465760549a477032136580426559f3240219ffff03c9bfcb6a32ca8d2d50674e7e1eb333b52ba2e5fd5c56cf378a6b750931bd31d3030e5d4980c72d34025cb83e88d4f5aec2e7309b0cb65b9b74cfff38cfbd33e40003976b5472fb0b1dc2168335d7068765820b5618c62ba98a213e6ac26cd9e0039e03170b404c495167360c04183d1a03e051c732fffa7112ff1b072d9fd4cb09a08e0354700ac30bec6f9f93b2de3bb285ffab43648d836644fe3208801b78877581ef0219ffff03534fe31b933d9d5434756cf70130da8d19ea612b9ec7c29e5345cfa908a2a2330379c86e9b8db65d03a55e6dc899f825fab72d049760efddfc89fb1213ade828200303a2049c1f4ad77c45544f25a6d4fbe58588a165eeca097d61fa06f257acc728035199f06a8c7ed9992c5fc64240f768d89ebfa488051457d84ce4b4256850478403fc235f9dcfbd29524c12418a4e1a5b2d78a2e7cc2c4a90a510f3c72a88ce8da103beec53b99096ecb553eddcc3f134c4c35d5866ddf038c59f26a2b5afdf9851890350471d1ff0f6ddaf6095a72494f8385ddf03ab756780382f7f84ca2fd30119440309b4ca00a072743641145eb3e67b020ca8993becf1c02cf38465a3290983328f03315fdd7c2b6655a2903bd2dc1805dba32e05dfb48bf517e4b4e33166bcbb4b8303592ee552a2dd70818237579f98e42dfaddcf7ce49bc861819085502a3179bae2036721641bed1b653dab04f167774270daabb920e04b7466557905e4663aa984cf03587fa3e19effad2c832bf3e837cf6aec85b3fd4e76f0a49a8adee57a9cae1e5103a92791d56ad88ad98e9dfddd67e10833b9983eab4c7c706279c737c3299ae3530315741e6dedef29a783526827dcb61eebebf6cbfde73fd88c8ee1ff36f6aafe7f0312df178ba2d42cb08180b01ef200497b5ccdbdfeef19f718a794fd7c84161e1a03c84eb917ca83a73d1021a6218c84206a04e5f326f05710854f6004e1001cb1d9036d7d9ea0b53caf11a5ff737baf10326f3d71f5b20a6a8e0d65979b747fc59e0903cb6c11050b5d291ba8a217ff5b0b6a8b94d6f066160ca9cf240a78b45a5bb19a0312acdcffed3202d97c2d21bf87156e77e0f44dfb75a5e2b72cd717434f7df60e03f44d5e8b77f35182dd7aab61804a7950183099d71de8f7f1d8db1e6b1d5bbd1f035070aa891665cc70bee719e0d87488034b6171c5373a29443186dfda980036680370244ecdf5810485c03c1c77afc39c01cde92b0f2c1b2cb0e64d1ce5fa02779d031f08864b5546da0fb04bf9bcf68f508c8a7e9ceedf22cc147efcb199da0800a403669f6188c4ecfa515ff9f2ed268085d17ea840461faa18ff0ad4f1a88e3e1bf30380800b4074ea3026f44e1a35049b749e898de41c396b7f1d16e561d133aa8db2032d1a22b1e5bf1217d589ece57158b0a4af4edd4f415237c88f25e696d65a87df03b8484bef06810ef5c73ac0cc35d2758e6e9643ed87161b0eda0ad0ca715e65d60313b3035840cb96a01ee0367ba36c9fb2059ad8fce127243bc1885ce8d1f92cee039c05c8725f1bb3347ce5718b751e74cbe80b4b1ac1a4aaf983620f9e28a9fc3503741daff525a0d244fcbb07224e7e1131dc7098a95cdfd655040fe38e20391cf503a4631e227d90874a6e1ad5be61e95e83fcb4cbafe7b3643e2595779f662831320332c9bcfda2bc1708c0ff89ec07319b37c6a83942e7cd437000df529dac9ce320033ad23c203173f189dbe8e2d3f587c44c60fd99ffb75659fae36850058a82aba3033c7281dd8100fbef9fb3a451a35fb2c497b3d7beed4d664505ecad8315d04236035f754baec35e0325e4131804e31a5d0329b254daa636690bd946ea9030c2c23200581e023ee7af8d58146a7187f383ea4ee9c7d673128a1bd6c7df08c3395ed2f943d6336500581e027fac1e84b758cc411ce2b73694d43d456737f63808a15b76144dda8b8845071972441003abb6922e535658e533abc79ce846073e001ab3215810c2e623e186e4c401a1d300581e0203bf4385f2ee92a78d2455866342d0d78648867cfd2f2cd072b2e7546f440328b74000581e02ccb481375e0114fbd84cb3e7d3b679eadf4272e664d6ad1d43465cf5c2410100581e02cf97b6fad3113d8a61c3ead499fc0294193944df89013a4498b4d6a60b460ad4541227d700581e026498ae052cea80419122e760caabedbe768b1e498148e1503ee81cd23f5820ffffffffffffffff6e5d2d49dbd61e236e98bdcba76f3b7697fffffff9fb55fa00581e0201fcd3e4e0522fdb980bf740273249f17068f200e5ad0974000054bb0e413b0219c88f03631f645a2e79844e2063e8534f3944d4c54aa4dd72cae88bc05a12435cf7c34c03d5147fa73bba458ab535afa7ba7f9b94b992b530dca5250d1555826967b642030219ffff039c635860dea4cda1adeb67460b5e125d94c438fa3ece5597c66da71ad59c07d6032e9edd987f02753ff82f91ad02e01982bdca9f4d6fb919688bba4dd509eaf07e03afeafceb69cd8f17bd1ef190fab95f2904f0aa32e8890359678c37a74290a43803ece89b34e62a660a0f9bec29a9d1a6601493a03f71c2ec216c18e159c421986f038078cf9a5a8c11b6da2bd410c1bfd85b703e009047cebead0dc84c47fd19f4420329afcd9922d575c0f602834db435be5223d2259f2f300a8a45223059b974f1bc03e04e016f3b98b4f017d28d8e27a29435dd866a45ca28445a3964c5ed7eb6921703c5be2cd62a6a229eae2a415700edf92fff2888c68b71093370ad8e4386b835bd03ed9a9dc68a74f63c04eae5efaab8466338ecde8ef7f0ecf8b9affa3922e799fe0336599f07c3b31c1159aa80b69630233012b74d47e8c1eefe9bf15e3fec3ead7a036f0c08c1b2285593c2e5f5d171233a0dde9dab0f72d4b698a080a696c72b4b69030da294c00c6b4397e271c8597c6533acf5d41965051ae1928d1baccae66fe300037aec387960c9ed99897b7a57ad6b73967f77cff391ba054144f45301f2e653530219ffff0219ffff0219ffff03c170636eff57a93141bc16620c0a5eb1955db9e9ffa7e2b2a649f7e4cd4f5fca03c6f3dc77a2c363d525fade28ae8f7d64e0e228a22b301d9139c09b90ba653fd903d518c23210b67f7b905f3569404a85f66b64e448fdf6477bdc09dd38311113ed03ec8b4cf7b8f651cea5aaa0d9c47ed0edbf498e61381692fab3ff0068e552e2ad038d94575d00f53c9f98fd05f6a3f251b1b427a3bf911102c5b6fea996716acce703efcbff2b961d9ad862e5fe8604059f61785f4277c41417a547e2c513d78d7885036a9d2f6a0ee4343abed9eaac74c653e40e08968be645090d505656cadaa9aecd03772351271718894219a5bc992b9d6d8e1a521d74e8d954b8829a1669580e525803600afe4cf6771f00c86fb1d852ba8e4bca5f39e527881e3b1c3dd95543465e4f03ea48ea310691f2945ded89dd240bf97516f5db0278a9c98d82f5e8988239e86d034e4304afbe628319883caadf4ceb90ef8b5c63a284ab8e34934fa152a39b07de032ae610e0e318c3792d8e07bc0074ae67d5d00ca1bfe418a7381af0403db77c4603b4a86245707db852fa8062d042aeef1179ea60cc36680846c2283a9a6f6aa59a036ab453bcfc52f0ffd153660a8b80d23c13721b6dd6c7317b381f35c7f57328b803a84b6f343151e71837476ecbe353de9036dc9de85c714370d6fed79d347cd8c10310c23dd761a9e99e44d7a68345bc0cbf49bf365b6b4cea690a60b37a1f5e740d03fee1d25788ae389aa1df4a1df0aab5abba363e318343fc8783a5bdbc085b2382038bee20447bf1dc92c8a70e6852555af1f5a590aa95668beed9ea8bbaf2533d9c03209e8c4a450333c5d120c08398da8523d757422d54f1120f4191993f2fc406ce036e39cd58ed696fbf97bcce2757147588336c019c672234ccabc621bcca9763be03d0ddedf1153b5646d59604ae743d9dc6ec54d436a4dda483f60980fa08daa7dd0394661610f37dbeb6d5c45118e2504303e2ad37618906ca18bd3bd110ee31d59100581e02cd89c571ee393d449f4f538a9adb47eb7ba98a8703f69cf3bd27b2093f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e02b161f5d80b1d8a2c8c7dbe6cc9de90979a06639ad0042aed59fb1f4d5a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe8287bff021901800321c43229d67a7c4ae270877b9e0aa1600bb5264ebe7011f87285639eb27bb43603563e57a6c30c880df4cdc0ced482e0687d2d2124bb1c661c660e5f3246dbd69a038a54e1dd7ac02188cb56c4b22c971717578b90e3ad96470113ffd979477b56a30374571d665f79fe9d8f3af7b8d440fb10d89b12d6d81ae547f4325372fb68987903b71feba2e828e21d17cba2175a3ad49543a4008a0c19e1761fb29a0a41b86da2037736b893c3aaea47a07e15fff6040934b284fd5d958ba1c856a123d16d8ef9a103cd7ff1291d9116a38b9bdf63c74ee15f1e1fea607cc1645848143b52a1f03d2a03c6cd0d3f42fb0274c2f1669d48f3ef25a10db93db8d4560b221a96e6ec6c7244035355075fe1d61c0a720e4a596a8c1757590a7d4de82bf00850c0a0a33c4651f0039988d84b237f921d39829cba22ded46f78c7fdfaa2b54d1bcead5aee2cd11ef4034b5b98eb2df12cdba495a1195f07fa6192dc2e243e9924d732cd4295192ff3ae03c9d1f8c366a4e3d38d3a61b5dfbefb4966848b2456623443a01158fd067bbb1403d4857d39351e8bf20a70831ea268239adbf4783633f70eea697ea87aa2060d1a0352c373c6a8c64b73fafe7c81ae95e6bb248a9b898d19c3d257bf6473363da47b0219ffff03d0706f5150d307f4c4b08ac365a06cab69a5455d7190bd456f719f97a3389f1703ae7307ad17a1a91fa2ff83c1fc122143aae6c5a99a7000a85bcc16b59356b45c03a4f3cc3c0caa1d783ac6dfa8b25f7e85b37db19202521d092017c95d76757a5a034981d3d275532ec9a318e59dcb50d1dc709a6bbde84cc8479dadc9826e51ac2103df8671a748e0ef98994aec73a0e5417c51c9d826294642955e2c5e4e5195c81a03a1b24a3bfa0ab3e8dc4cc4148aacd2924d9a506be03ba78db156a30991a8eb4703273ab7035aef2a19ccc8a5ef892775bda41b78aa7e82e8dee9a7a9544ec5f6050219ffff03315e8575377fe90cf6c50825d4e275541cc8c8184b7e0d27de9ca9ae15a65c6d03a661017ce66cf78e0d2a8e04dbde1767d6911ff37ee5e19ab72d0716537efe700219ffff035ad0768dee2298a5902baafd0858c517ef6d136b9b7e38303289a80a60458985030d7680816437ef60d47703e1bc7a15467955aa0c5575c8118eabe93e3b0f6550037e1ebe711d0abfbec4fb85f1f21a82716535f5c202a5c2fcee000f4373fa22920341009a13a340bb2f0cbd1147af2d2439588e4b2d58c3164212d1e89eeba48c78038c6cc0eddbc5161cb7fd9f31a100803f4dd723a37ae0dd99cba7ecd33ad9613803914d3fd9fbd16e468c4d41431bfbdd2f0d48f984b9e5a774ceb2d483ca3587aa037bd91b23eed21a4a5c6206876c80ed3c4e8f257a7464752bdaca50f82a19530003f079c675430c8e15d6f0f6db703916e6a6dae75ee08b78312249d08b56f5d5e903ee3908deb6e06b52c1b1312e16faba9a4bfdbdb1b23d18e4a1cf76c22f1ed1c40379f064f11e93efd90b62fe585f8b6fbe7079e9880b2ffcdbc6309a08eaa9815903fd7ea8b864f130dcb829ff64a3248635244ccbb36187a5944a39f86b19a59d1e03df87c3f08e668a1a5cbf11bc60b4c7b6f41df524784889ec403fca91ac63257f03cdbc66b6890a7f51eda272ef00663ef5b40d1a4866565b1e094a3d91ed90c58803ceef3ab0da09c05dee3aef2b06cd9adcbee0788f15ee5f183689a5870859e73e033d51c510aade816650acd4e2e41488bf6bddfca389cd9e2272d732ec17cfdee703c94178f6f08bbbf9c45d8f0f31953292e9ef47db152ff8196dae061ecddc10f103388895fc1433cc11e17e15e71d02823da5679dd4a43a302cf60831c47aba976a03db984f219a14fc590cae6a11bdacf867dbf9bb5146f2743d1670d17df0cb411f03662d7a4189c4465b950fdbf3f948c229db308a8fc9b0efcd94f6f9b794215c38037e7189a3dfdd73890c30ba75df7cb6a3fb5c69bce0eccf8a63fe8340d1cf0d0803ff32995986ed0b9e741329bdc55e1f2e28a2912fdd070379f883a3acb9c8276a03df8450e5cf33b1b4d00c831d5acaedbd05b165ee2a02efe61a30bd668da19d0e03b3f01b65d6e64d3a069727b997cab53c278e1c366b178bcdd5a66317f7aa536603662662ac5acd2fc56d5a4c645a7e7d5cfc3d3669285bf56dbec3db607937433f0321286b01a45f5c7ebb6560cef4afbbcc6c3f8e67a1772f97f2f9a3efba74b04a03ad99d4547c8d255190d823c2103ac4670c06e27d083962a02e49d6db3ca7a3000399d47ed138ea3784ff28eb7b352644d5f06bfc38b33679af5b9fb376a67d409c0365509bea23e11dc4b865c19980e5eeeb9ab3b8efbcb83e7e48793dd3c156c6370312a7f4d0fc347a18091df7f03245f0622eec32570e4efa48fc5349397bf858f7035e04e178686f7490480ef3bb7941d6d72928cc9212e3bed26048b8b4911a4a1c03135f763679da3c95499b992f2ae259e4c9e31229996a7bc69911ea8ba2c0c6bc03e06658f66349b5672aa38cb2e9b9c893c5cfd3d0266598534e3518226187e38b0351f4f1473181e645faa987ea4103377db8f80869710bf1d8b14989b2c91b21a103a4f59dd539e0a213fe9366107eba97e2bff31f7381132f8c0a8940930458dd720303dc337356c8d2653a6ef35b7edf4bdd255cc8f8e2a5ee15e07c409cf9b71a6a033cd39d183bde9724be2f219e7ae72e0dee3bddc219dce4817d6e7fc92e8eaa5303b5938989c00a8a3acc01fcfdd9c5ab46783fdb3e32a9e3fe69d630bda3829bf8033193ff04cd9dc87f47446566f9705ebc8302ae3420cb228c8e68194d14aed60a037eeca26cb829d393fd3071d23ea08e4b2b7218192c2bd10ae676852186c1a47e0309c810fa3c64b1361dbc7c6a05639259428d24c4e1389ed6e62c8186f109655703403a48d3e5f874e2aea0c1792ddff53764d9066b353e19126a4c56fb61211f1103baffae50f04537a1cb5f4f15e80917c1242f86a3e99af214a918b72fb9d3b3f303baf1ac0570336778d2c88012303c4602a337ef8092aae85be5a0965ef2af91ce03cc4927892f6e77569c0822007821d12a5c6bc1daaf6f692df8e0df9338742dd203be2bf350c259c5d94b2e39cc329638bff079916f54591df698d3434a66232f4903cb0da207c7cd476cb414f05c266edf7f79709abbe81ee4b167cb5fa28805b26e03bd4421c146502b5f0310b9dae69e6bad3ba30af37c1f4bd2715b714d35442a7e03bed9097a8a48b86bc6a7d281925936d42625ea195842b277b7b167e2177d80b503d133b784ef120f2f85e01cf7e651ac698501446b686ac18a9e4b419484fe96f803ff975a3b705a90349ffbcdf212cd66bcd10c6287f78ec1a78b8d837c3d8609ed03440735aedf9a4cbf878a35ae14b5b75bb8b78b51f6988b6c1ddd4aeb18202a200365c8686a111f8adc1bdf93eb9959cafdb0423ef09882871031d34b30233b679700581e0276445ec8f0beb65fd78c3cbc19d3c3beae5fd27fafb0b383788ac20890430b7d8b00581e02e395df6651651c3fde123254cc9c41d5cfc167633b260f2cb8d692f920432dc6c000581e02f5b17eb6895869b83737beb73de3a49884b748c00e98c96605b122b758465af31078215400581e02cd5330483ecdc38eb9de14d3efd8a5f9efd804a3ffd9ff9e2ffa9d5c27434c4b4000581e02a5396e3c981241d7544189a7195c82bfd1c7f5fa7b5519b91e5ae1c8b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffcac71f3f00581e02c85cb1eb3810aa324383010c23b5c5063f38f16705b8ef1dca080f6cf95820fffffffffffffffffffffffffffffffffffffffffffffffffffffff6beb721910373e3d832463283c7f2e1295c9264a92065f3bad8184c058c58e724fc9ccd32000219d88603b2329f788fd2744107d137e84a17fcc3153cb5d2205ba36674ea863874cb9b140219ffff03eecbc4882f95e3ec47cda82dfdf7c2dca302eaf70dc0d2c484125007a26a75950219ffff0395e52240b1599ffe249226f6236805ad408d0a3eb95d45ce326f50b751c55fa7032df130450aff192a1b2d92dd3bfdf53d0f1681bb4ff0178a64dc43aa34f44eac03a48b4e7587e58f6c4d0b13d6a5bbd342263ac6edd748d2a2b3cd8118c146401e033805a6b64614653b1e7ad956b92bc4a1c1925e80fdae186c60d584cec3d06d930335e6932374aa3a79ad8f78b0094e45e40e7830a96b2fa3f691010a35bc038ce50219ffff0219ffff0396c9e6fde0ffb1a71784940e0600af91489aab188e36fcf180129423b514b63d03b8801c8b6c4fd9d9dcd82ead080841b03145c568641146761fbf3befdcc3f06e03a7094b5a0b7522481a17cdf2b655e73826cd5ce9d7d3f628874c1fb4344c77490340e70a404f6f237d3479c6f867ee1c72c8bebd598a4c49e88614499812a76a30035b432c04b855f33191212c9dafddbd881af7c7e62136650ba14613a51069fcc903ec2776c4e65bdb0bec22ee32cafd617260b90ce83d98abab872c18963b98d3a9033399a5509292722ac51606a94cefe640532ae3847b9b754c1b066f58f69a26ad03817b923e1f062a1848ba79e0edb8308da9d16e2e11309a50ce0ad74b640326e2030f1abcbaaba61faeac941c927c219e7415ec007cc840d47c2d9002affa81fdf2034cb34b642dce6130e88570b593385e2394363104b194db46f121faa01e2056f103efc5d051a3add0102919d57bd7d9f27c9578340ef733b78bb1f4138a53e292db03d46222544fd9d747bc90529ccef64244a61cb52877a301f767ddbf1cf8a43633034ccd74f956089e0fddd732b1e42e550daadb8a9f705a981c8dfd2a0916c1e58d03ef4c1185b02bc83e3e23796d69e72363c2625bc332427477cb3155dea89e69b5038b36afb1b6c0ffb7aacb51d818ac865327850aa1a3c378ac8a36772852bb9e6903fec5c1bb4277471f5cd54c5586a076c3dd93742aa2beba158cb892a79ee891fd0356fd88695e23379cede953bbb40eabf1fab472b7cbbd9f43565684b011a29c6203015285cc012d63ba9a65270af3bfccab22547e6de486b8e427fff55f2c0fb96b03ddc67e548d2b84564cd9b20a76ec120dde13ad73c221a37ee1da326bc705fe0f031774a1085498bd49731f6e766a8c6ee51957d1f4aef9d75433c147d4897e1cae03063b2f94f5ddf3eadb37c71c1a2d1ba64bfe2a5e4ade00e660a962178d7b8b2203e2060c8a55ccc088e1c5ec1b8984b3f36a4acf9f6f4e1250dd39a836277a2f5700581e02ad95a46c27eb6118d184a01fd2d1453e7ee54595a60defdb4369fe72744302a86c00581e02ed4a09dcf6ded8af83a5ed5c609824b85728f2f72b63b503ec6895aaa94502661d2fce00581e02a8dfc9f00a60293596708dee23a42ff51f08866fe2cdc9079c7e033d4545261cf26d6500581e02b71ebe3bf89622a850f65b4d8c96c0377fd06282e0db3c6e6306d4b4a84405f5b9f000581e02b470d2181232b46ffc3d450c03bb0e04c614c1aa8a0aea25bcce441c555820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff8d8f1ff00581e028e0a3c1e9bac4d0f9d39df9d0a00f6a58a80c321e7faf580974a3331995820fffffffffffffffffffffffffffffffffffffffffffffffffffffffecfec387e021975400386a2dd82ab4e8474c28e90ba41076b80271a04dc2a1af487315200ec2f9a8f43037baee3875779e933ba18a636b6222bbe02c852ab77928e389738b8908c96c5e203b30f1788384f146a34030c6e16347b1a76eb310dfd7f812d69549728a542ff17035660a4f4364e568a3d38b407f9f3ad6bcb61798153dcab8169b66b1340a8a38f0315ef3674d2ea4ba146a84cce9eecdca0cd14ff0bd4220af74ad6c2ddb52ea9e103b26ceb6d01fb77795070fbc096c8315b5bdb5bfcd122f5693acba7cf0f6c5fc2039960bf6fb4febf9cdf60cde38e00e2805d841294300ccaa48c14fdd592b8a0e60219ffff03cd8fb647f1e85cf897f2c787b451c53722d4119341ebde24c7782e86f1e3fb9603b61181a7afbd5c93cd91c508b42918c86c8c5f4ac994185d150ad0866fe6fbc30395f656fcf8f6651fef1e3247764ce005b87ad2f76770fe36636c99a89b05a0a003e69522a609f47c85bbffa4f668cbb4486c8a7f68d0c974fd22929e9d5c9fd4fb032a4559dbe5bb746f84ef82363bc7ba7e82de34e0108e9618d8edb4bd6ce69a43035154aefba1e8a95ca1b546346a8c4d86cb92265bcb32940d86df3e8e7d8fe4f503e49faae351d37036bc7fd3820091c20569304597a676fbbdf6f6d22900a7d74103228f1a2dc86090cdeb208c9e76cf4f877538b5166920287b9583f68c34995e920219ffff0338a93e3d172378833399e8fe0e03da014bb1ee851bff384802bb3bdb4bcf138c0330996f87f7655ff8ae7ba3760df2ad6dc15c6fb06351bc82911f5f792816b15903534dedd9abf9006d95ac2906ee435226b600561d421ee2572c17122f0e6fd1fd03bbf2f81c6a40811db0c85fefe824de2840b0a6466e216a13b67abf38fcf68dbd036624c45d79b05b42db863f1718fbd6e7009af63ead001977adc76bee8210e8f2033bed5aefa3cd7e0879b579f8c153549c30cc097ba55bb246bd8820e1992926d1039b83a5a9c16f7a165cf7be8a60965369e8a80976dd59cd7a347f33161677281e03e2a62488dded038480356a2887fc688324b7f19b8c454f1d9355a72e23d686b40352586d2ab7748703a7cccc3c2892d3397404cc9ad8492a62f6befb02d5fb7fd6039060c5ccaad267ad61420c1ac24f396bbbdb45c237c22d0ce6ae5621ddb6efb60362b6e5cd6bd895c96f7ba3b27bd166afc23d2903909351152ed42494d6c582fe03cac3755de16cc6a1c790f7e1b7ee91dac1bc03138c2e6cd8ebe3948186861cfa0318dd001b94975d0c31b10f560ce94db43a9a830cd5082d65b764b6f01df63389035a5abe99107396005e988b868a5b763e55fad2351a2b3f12ad0ff31a6144e09f039602aa36398ee1ce6add8baed7223f369eedc2ea4deef1838d1c85005604668a03876ab817eb34c16f5101a04f3610aa9678ebc8fecf282acf0e8df69c3ae1f99103a2518fd572267f3789d8f31856683423f0ec70146f1da4cec24e6014b54feb7d03236b85eab8ec4bc1d0ad5c2858b7cd47bdd38ccfe0b676c1a639f49b49a7504003a0b5584b72c5169d1136bef85c5f3f123cacaf69b78132ef098dda54f313612103928f130524afad7e58691a93ae2d472c52c691ea2bbb6a1ee180e453a09e1d1a00581e0278ca40c27a2a70c96628fc937cfb101ac310e360cd1a4a8f49dfd3403f4414e5d42703781b86737b3e8f01342257dc594d69cd27536c7b25b6743491590ff7514061d500581e02892e691a03d6a1789b35c0cdb76fda7e79c6051ae6aaf6e5a6f73148e7443ae29d9000581e02c3a30d9d07bf04701b93becdee9542d7ad6ab7968b34f91d243b44613545011ee5faa002199904032945bebf6f8244dbcee24d82e7ac3231a32cf3597901d2d1cdadde561bfb94c40381f973fd3a0db85a6a5962ab864d2142b5e0dec97720e9a872ab0b2a4521ac83034fac6169d25e92d8daf4c888d7f07be9b92adb7793af0903c116a965052610b80219ffff03243c0529e32d54707aea1d17d58cce532e8f8e901ae04ae22f1bf211383af87b03868fe98369bf9519f76484b89392438eb06cbc44f22908322717d6c0d2ac1d5b03196ada084e7be7aeadabc1312b3efed62571b0db59c28b22c517e7603ebb578603351f35306e3d6f32c9d746c3d97a6cd3decb1528fec176550477714903e1c51c03b72c675b008c329a6ec7ca51962ef3ec55d07ca35aea47bbf347306a8495ff910335b045467f84fab84e7f138e05591b1dfe21362e55f07e7beb3286666430258703e8be06bc41b3908bdb291eb61cf8464aec88d3d6a6c0639de811586c824912f703a8ed2214b9641c7cbc2f920034c0ab184aeeaffdcab029cb8ae4653c1a442d85039e5a33c8d832b7b9147ea4a8e6e80f7c26505cc57776e7681f5a2eca0949b295034916d2eaeba12127871b8f5af8f89b2bc07dda28290f43c4063741f6fd6461ed037821bf30d039c860e2685dbc974d748a8da72df84902946a08a28f5e42fc05b30219ffff032dae39aae886dbd9566fdf0cfe5b57abd4d397cc68c4e251c3e3fede207ee46b030a6dc3f337c1133dc2e899e2e6c4cfd1d89b5ae202fc157c2f2aead803d58be30359145ddfd6ab349a607956259751320653ef9e13ce685efc3713fd5b9da4b7f2030df98f862df772243c1d726fb3c85ba350030ff4353b1f265833a345c36050860357726efdf2311bd6a030572d559bbfddd0d0ff5a8f46d8c7837d0ecc0c85a749036f5b8814be692ceb269840dd3e5275d728d7c822d56827ab9f8ec495c510ae1d03e67aa51bba455d2b2b2839bb26fa18b6c3e0c6a23a4db6339325f5d04b338203031a9ddcd6042af3ac0f556e93f63fa2ab1f1a7e2f5888e5df7bc8d7e984568a4c03be60580b102bcbcc01017a877b750cd81953b0a5c8949f9b8fc4f6ca0011f27d03fd42ea814ba636f0d9f511e5f569e04e07fd00df59ce2e2ceeff19006054b3a30219ffff038959f122cb1c38081b9831fb38c9cf73e44f7779c027e1261a51641fae932b29030b999dddc336164fd6539bf2d8a60ec815c109672e8bb5f07b33fcbdc01930a1030caa5cb223646402c6e4194bdda38166cc0974e860b911ff8f3f4cd6674b1db7038c6dae2ec8f4f56d4d37855706bef17423dd45f2ba66afdc2759655bd3bc9aa303bde6a9a35cb896c72a76f2e884784755aaece10209754e31c083fefba38f3425038838b282bf14b5dc745fbfaab15f699f0efa3b040a46dbb4f0fa8b9a0085be290328c1f6d588a5f8b36b38992c3fa927b4296586845c9b01376f784b514a0d8c8f03f1794b08b86ad9e39029e485e8d16624ff57c477ef37174836242da77866b64d03e1e4f1a187a8dcce71e2f2d3130de2d9fafa6be123826ce79b79df958d7d33d40351928c28c877dab7579e34e6014072298f0f7867f395eddec7478ea5bedb8ae60397cfed801cca611ac7bb9abdd110d275b7ff5c5cf5a229273cf33717f7df8cc0039172297572e3702e5d3c400750eb80b1ba0794306ecba4aec1b65087a0de070a03625c27663317ae645557b5a030fe84e6491f9cad58af226e6ca1a643ded9099d03917112218cc3a3ac142c5c8abb698941c300d08f8129581ef61b4b27393524340346c5eeb5510b8aeb77037569d3ff6d303af7deaeed60e6fe669bd4f0c4fa7f7600581e02c311b2ebb360689999afabd5c3e072e53b6238cb4bed7a4975e43a43ef4b4a817c7ffffffd03a9f3f800581e03914ebd1034751e9a27e0c84688a56e3232417ff617da609d2cfa3d62105820fffffffffffffffffffffffffffffffffffffffffffffffffffffffdb71a929f00581e03ca06549abba60729826d0856748bc5ef97d6317e0b9cbafe389d28dda04366a1d700581e03e2628e00f77fa2c5b082509f25405f5da064912ecc3c23b0c0092728f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffa97887db0219230000581e025673fd25fdc1dad1fc1eb9041bde795f3c99023f15eac57b77c16726ee410200581e026db515469f9841402816b03c6af41d62ac980d87e8d4641e053051405a5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa67f66f00581e02aba5a7850d21a2227ecfa83f41d1d0d3ebc32925d7cc7a33655379c2355820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe6d271cce03be5fa7f467ae194b72413f2af141736867c92ae33d15fd5035776c40e4b44bd0021974600320d90f67c74aaf602b5e0f3c6b74c0eae46d8fcee7ee82f8eff539b980521b86039ef7016d4019c009ee56e94176c13abb874394e0d12410d82a0f48e22a2a147f03d7a1675a540eff932bb8a65154549754b127f8a3484f4c59be5deda2982c1d7703f17f1149393dd67f198d184e907968b016fb21f0461ee1b7b334b1e56bf938ef034c2401ed1d8a2f1be0d5b29f6d1555165a07ba7792cbb3ce8dd17dc9adc2e8a30328c119d1de161e68e638e1172e98a206215022858bbd105e383c5bc5a158e36903c788cc48401c4a5506c9fc31717317625273046400441460c0fb2a747a663afd03be55fe18eb2a560696b7d6672eba2c62f6673139e81c2b055ab7ab794f346c2603665392ae3dce877f82799892e88665965651123a65b5fc439b617a5760acd30f034a857b9a1853582c7cb77c0bf017562383ebdf62e77a5d58adf8c3b80f98252203270dd8cc48deac3504e6a603a8a9bcc04baae3e5d2300b39881ba5f16fffac820313db00365eacfddf2bb2b9a7a069be983ba783796e637b9d8786a341a490b57503210e40ed0e8c8e2c72cae6f3ff409058a5560e4ec967de51d1456a12f6f80f7e0303b78090de4a5b45ea4fd17728e9303958618c1c38ff0c518f8802f9909e883e03eccfac37e1ffc3aac2d8203ec76f6ef4485d09b6126f01a6ba7c5204650f98e80219ffff0359f79384b3c517bd9fff0d35a8af71864ef1d8d452068875b8266890920200c303b035cf25fa94b1d21d643eec3bab0ba5ddff2678586557d42459ecee2aa2d8df03fa7caf381b576d9e3f7ee5b25a81238ef3c7129c302adbd78c9f149e1cdf05570306272a5ecec8d0a1d229434c7ecf81b2bb6e47ac975f694a0476744ac870c7c203cadea62974c141b5fdab52c13a0113112b66c9c47f3a60c268cc75668a99334d036f349bc2badb0f7b724ae586405f28d5678cffebc8bca66bd204d92626c311f5033ad55cc6d51db29d4badf2727b33f8d1dd4e9c5f787c6f96c4a0812d6823177e03301eb660a1674e3ce6800eb73fc31024b05480f019f65201cf8dbf37f887cce0034138e46cf3d50d03dc873f8cec4491904a7557f7bc62a383c025fccbaa432ec203a1ede78801c8797077e9d170686c0f2b59ffa3bbee0c85486e19593299e47ea80318baef1d3ec92d40899e725acf9af5748207d737e5ddafd83653c86c5e13af13037d96c2bf6659e25b366dbc13444f49a3121e1ab5b508c112040ab8b3742bf9ec0219ffff039193e872fb108c82209261da78542b0754bfca23fb5e60036a5577dd772ce48503fd12b17c75561c6da12d8ad1e145cc84fe82046706919f4d5c558ba41d9a447c03d03a4ab9db8ab55c727063a17f44a7f762e1cd4b33d713cf9c7dda1ae01dd1a8032301f4cb48235c22b1b5e77f192da30c52b1aa854e75b7947ecd8cc527e541ac03aec10b57f462b31d0c2048862ce7f05704ef5f8188f87db68b4700e7bc1af84e03d9dc58c45c811bd6e6cb188716a6ef1fd24097d6ba4d7bf098c6608e5eec61a3038023cb0e2256e85bcbc5cc180d60a4bd572d66f9deb2ff0be5529990878923220219ffff03bc85ae06ea94709bc0d15c78af2b99e12323ae88c54d8c60819e88b2ebefd621030ebfe6e2a0fadbb59ce9455a3cb4ded631e94244514322be1693e2c2272a03f80308306a4d14fcee976d52330bad18649b85eb8fe250325e49cdcd34557cee4da30363bf0a000f47fae58e15ce56e3b376fc536494c6a600982eab3821e5d3a9803703f2ccd3cc160778cde93d6b2fd9aae67c3864e8bfa6cc864299164bd98e9387560219ffff036e7dd4e80cc4dd9c906d9f1dca55fed5f39fc864f956905dd9799271df90c1500393ff5d9fc48b2c895fdbff14a1b57acec0f94c108f3e66b2f898ce35f7f0cc6e03fe10d3739c974fb4a49dee33121f89467f54691d22b381ad252756702ee3ac43037daed3ea003a75748f05d9aa3e796b49d6c195c72a2d74ec5cada6a53cc37d6203bcd2f9d761546273b5b0a87b2027fe57ea149388d6465f9aff0208829bdcffae034b461b3980314a90f92541f0f44fd003011114744a8ab57b2ee0cbaafe90b0be0356e306e13828b6e16ba00763b0bbf4a1cfce41ec7d0b4578cdd0c445fff6e85303cd617b11a89087450e51881e92ea4f03ead7ada92d40682e04f6a4f08b8f834003f3089802a7ed758352ffd16dc5792c5ca37c45e8a918cea77ce6e374266df91603f6bd77c53d857e0bb24df843298d1fc0e280f329a6560fa9454e4457ada243fa03c1259b6a578ce7f23b5d32d7a1f8d576ae4b168a1ba9507d6e55c7803a909ad003214b79fcb200027fd31561211ddba69ef8c398f3c27f0f34fb36642586cb36bc0388ad37c8112282410abf3d335391b926b1d8087464a00a216f64f643b1b8b5fb030192fbffb1a83725169acce310cc289f1281cb416991bc8e4e495fd07053cf950392a6be9fca80fbff516f494872eac407d80188c4b6ceaa8abb8a2ff996a477d203e8cf0d9012bb6d0c26df304ae8aab769251be11b09b45e84ca2d1c8f1334b085037a37699ebd51faa76ab5a152b8562d11eacbe2550c49fd0c116fb7f93f7dc4d603a17c29b56b889292986213d0895f99c9669bb21a3c50c565b56eee594d9bcdbb00581e0223f528c2c0174694ecc437f5f456628b7a7076ba71f7862662dd636d2a462b2dd60b47e000581e0219bfb4b5cd5bcc7282251c164129bb661045407daeaf050a01f18d2f424b52b7d2dcc80cd2e400000000581e025aa3199e83451226530d7982a49ed381a0458b3659affc609ce29896885820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe583e32cce02190841036802c24c37eb58e3e3a964b0b8bff685ec959cfc7db4c9553b8a43a8110b9bab03b47b5b4ebe1340dbe5c7136b03aa914cae9ce73884332a1dc1ab0bb9b4e339c5032cc77ea2868bd10c4473a6f7702dcc523a08929afe5d354e978d266dc3247c86032831e1bb8ba59ade560082bc7713385394c8d28a4e7c4c59e8bf31940a7f001003c63cc7a735c4981d3e3c735d742eb41d14b3697dfdd5cd023f5d1d30eb6b4afc0317140b8133c4cf174fc5b1a44f4e3edf70b73d64e12a1a807934426c9bb8d1560328076ef6512147ff5e606194ae9a92a33acc65e6b50fcc22afd338627b1c884d03279115fe36b2bbd54683f4bfe29e173dbb27dde619ca882888057ae665e20f53031067d996d3098424e6906ce118616d9a91a6a4ee3b367439c947059996ec8553036b090631b58dc729d7e70700f6c203b3c41abba4eebe3ca1121f085e6862d45403b185e5a79e22403d1b022554b5ae53972fa742b05ed301d719376521e854242703971c71c9a4c5fdfc91426cdea496d3aa69b0cb278f4f2bd77279ef39d435fd22031e91f7670f2861e3c334ea96f3e2d5758b3ef4e6536feaf4941d3ae5263eff2703d341b26f12c337d8902b2c4ef6134545bd5f99fac8e70877fc0175dfbb8922fe0219ffff03d699e7314d4ce1ba612df85ec8806997874e8d7952e3c35b387c049652c36b8d0305df3833697130108f7a9ecf607d635b8877ab56f20ef8c3537312e6b5c211cb03eb3396d44550abf5d11f2db57c511c925b4ab55cc16e7e2fa2c50ffb6bf81ad403d25b6d49daa63fa4690a88560b14f6c9172ef06fdcd8caecba2cd05b0f38271803c84addb052830a0d905f52b2866eee9cbe07895bd85c06f4bbb16b01f4c3a500037324abd1ce175cedaf58301272ddc7d5777c8e080be360df5af5a4139255dded03d6fbc4d3c28d608d6e1e7c302e0887aee5be4bebceead8ff674112a2f82488dd039731ddaad9d035a5687d89931d1f1c1b5ee679b45c9425b5f3751ce0f98656770219ffff0310cab9be72e805928bbdf1035aaee1a5b3840d9f6693ffbd1d40d828cec825c8031656373346e433867e790798350736a30f8cf772301cbb5dce58fc4c440d86ab03dd76e3a3402c14d4f26f78aedd8e49ab1286a25ba163777e2d403f5d375d4e77035ed62f4917558be07e4d144424d1a423dc896dbcd90bc5606aef7c96c84c1035039e6cb5fb7b6e238f9f8deecb3b597726df40650e6538c51697f8b047c188dcf9038c6c0bfc9a025b2a3281660544a2a78bf9549c26f92dc619fd557061737262370334504427cc0c67d247816e50e8c8168c61df2e86ea180ded5de8c7efb4334d6a03c0edb0417bec135f09cfa569718204b2b0c942d995735f64e025657b4fa4763f03aaa417eb7de852077a6ddd2687e268f86ae02651bebc892a5a2b7fbf3c19b7350313f9cae92476f5185c51227760b47cfb422a36e3a2eb512f6ff67ef1abb23e70035979ae0e66e00ffba463321e743c3079b86e1b0fec66443b1ae6a8dbf14c107d0379292a6afcfa4ddec41acd1842b288ce74be90aa526ccacdc810e91ae016493a0368d8a5af984a6bb52bef829b8b023a458824aeabcf6cb9b4dc11233fbd96361803d42437601e50ab897f0dd1ccd2bbfa7c79b659f16e886334054d9a8ae4f1f75d03e1ef256f2987c2b325f7871cfc7ede4f2350932ed3914deac69dfd92d9fd96d6031c12f6a49210abdc27cc0979064086b80a3f4233356c0a0b8a1a43a2aab59436036678ff597237f56cccaf6e42448480885f03a3182888aa2c499c91de51a7e6f303affd79b18da32c3490fb8a9c72b2f911267e98a9d913374b6c8d498c7f49136b03f9753bc02adc9a2305183e08af109df00e1fc2a80eeecdb5ce72faba576f9d4c039b6fcb14d145fdee08c69dc7ce8e681c4de6c982f4a282070ad974150b9d259f030cd66a8489fd03cfd4cb490a4fb21430804f0d553b1553ca678f63425023958c032dab5d31d2f184f5e6fccd0f800c28dd5c8038662debe00039c78ff3de5c77f503ed2ea2bb102904790d743f47555ce2b74ce6ca27177e0c7f766325357aeb1d1603b3861751dd57477c64a1d30d247616563722a8c53cc6197d4d8c60aa4dcdc0a300581e02e36737fc629442058e43509e1efe63435aafe78c494b15592ff7883ae55820ffffffffffffffffffffffffffffffffffffffffffffffffffffd5b921ff426000581e02e1ab2f922828660b7b893f35b22a7722dcb07902fca287f5e91ef8042e441ddca74000581e0290878493e62ace8ed8d370ba85631496c61183937958606efb41f11fd94401d13d9000581e0226ae7d0ce5b381330768ecccecf94e9a7b85ed3819949d513d8cd251a65820fffffffffffffffffffffffffffffffffffffffffffffffffffffffd655b791900581e02deb425623f372072cccfbd3a1c4e055287cb3fb0c114ea67bd34c0ca9d4405054bcc00581e0212645b20dcf31b842b890a583f8398a5d7f944621f0274fb320bbb67f85820fffffffffffffffffffffffffffffffffffffffffffffffffffffffd5b01473902190e4c03b070c3a674d7dc9378d4b65b5a1ad486ccbe59e160aeed3069aa669a585b0c0003e63bc28174f6f04258358baef6ff2a3ad48038d8c2af0ccb24c757ffe752d2de03418da62f49bcec8880402239bb1890442265ebbb14f1b87bf8f5f32d95969d860313a298d77df3f733e61a582d311dd007ea8f013ab841a68308cf2835f74c72ea0386e90916eac22336a9e1daf644fae44069d151f7205ff842c115e030d0c17d58037e359e04d4e80a59c10e7bf30bd9dc5b7da5cdaee1131d9416a47df118a04f07035df3c4f4c7ad8a30579becd2e1df12da9b7b20815bebc147b2f7ecd56853a063039ab5ac8f8d7456eacca2a8fd8a8e0240f6cd84f2f4a07f2b16ee806137188a6d03e4fd82a6c1e1428f76857f1736747c1dc24beabd412bb0ffc8b04d441757ae0f0219ffff03683ebb5fbf7759e2b697b3222d9c06ed9c8d0a0eadac4bbbab66fd5783c786d8036c78fd903844ba683eedf36603211984c549eceaa458026601e122ba67d2a62903000aed8eeb1c60a12506b60e8de8d98e1392b74158e450eca7d32f052fceac1d03a79b5192d728cf40bdc2eb2810cb43a296322b3179c0c45b0ebc7fbd009f2bd10390fb760bd49f1752ae6555efff3b658812a5fa1e74e30ec587acc9107b0fc8e0030b2793c41cbe13a96252ed28edc64ee9115087de9408cf090737472fa9e509fb0219ffff0383e16b4d0cbbbc2133ac91b88efce5d1a63c23cbb2fe9d26d592bc2a200a26e10219ffff030eec6e23bf2dc3f76a4843cae520660c2a97cb62f8eb97f30229ec8fffdfdbd50394ce8a5d11eb3342e54440adff1a6c9f94ddf54198e6c10f0406d0e5415e308e031411778ddb4ac57c5df77e6901b1f12692e0d5292239d3ac85f90c9bc751c94603c4cb443352edef6dd62378327c33b103f5fb905ad00ea219cdd6ea5d83d7cb7c035bccc06bf300531670277fbde220355890c181714992490ebdb446ea90fc85f303b868b4ece44d262de933ab5d4db2229cdff2b1c85133ae741245bc56bda6f23a03170393fc1126a68bf7daa8be144ad4dc73a63864ff68a57bde8f72f472153b2003e66c529641d35e556e1efbdccd9c6dc4a32bbc111dc446666497695269a6dfef03fd888237d325ea2dedc62defb048f2d93b748c925db9b2376c918bc3110c9572036180860a47767c9902cb7cee01a01241808248cb71c3bd1ab53b677468720842031db42f973daf8f4cf1928e9ee35540638974288012aad41584214572d33233bf035694a855ac5b4d014f86e5b2d435eede284b24e0c989f91f1523b7ab7c2d85a303189104cae73b2dc4b0a07d0daebe367cd025aea10cac0fde783b0ff410d1aab703a3151d194233db67315abf7784f8d0e3c0f6c6e37585406b3f38e18f6e5ea6d7033e0d7682d6b57d8e26f762dcd51cad2545931a9f84a540983ed9703e8604223e03a34faa0880a922ff8d3694e1a2a115d5ccef4035af15460a36b1667ad8357e1703ef2aafb85d5d6eac6ab5681db78166df2e8aca71de67f79baf587d34149b69ee03ece31966708012a0ee26eb141efebfcaa774809dcb13be6a3155771ff8b86575038f8c77151c03e73c81e4ae0cf4994b583e1e9649cc9b78ab7f047a35f56176ed03dc6a631f3e612e919ad421a2f54b69a48fb4b132904f56438b529657c6c8eb2003b95ff091b97ad7898a9659b6eb7799f60ed6c20bd6cbcee5bcc1ad87bdb88a56031f3e5f00aa4bead1e4ecbe4906d6f3e1bd05a1879d763ccf5f786d7854b8909c03718092bf8e2337541bc2e352fb09548c40ec791b5274da4e3f3a626da6ede06703a2bc5a1ed066a427203df67a82cc7195748f42ab812f534180c4e545965a570200581e020e8a234c9710c451581531509c911935dfe2fb33998e4bbd681eb58a07472386f26fb1bdc003f84af4acc9cbf0115a097e3b0bb4339e171ce2e83a1d15dc946db23b9d72cf2400581e025ca7ce79ada0cb7936d208bed25ff22a4724c1ba32b28a7626e4985c044404c56cab02190a0403da32ba438ba26bd0bcea4cb7fc6fb60a0ae452b6bfc45865df2639ad770d16a7030401d750f6cac83233ef01469688ff1dc22bfe95a69062a32426853aa2510b07039363fe29601306bfa0ac43c1602caa7be576700bde128de444923f7fc78a677f02197fff037c615cea611822b318705b48381dc534f18bce950b6745ca0bbf4074cb0c0224037d40d0d3d644989b0f2c5b59016bde1829384146919a6df263786749c9dd197f0361f7d278533a2a82062cea48398055da1c6dc439abc34f2262ab1cbac657922c03f9a48103eac3708802dc95d634e312554dbefb365d55f8ed050ec543d0e7f63603235505b15b924e2c0a95cea2a7e9540efcf609141b47e19ae0679747277749a003ae67fa96e99c6796f3fa72496e7535a65d565ca9ed92e064cdb780b0e2d2a534030811ca625a33bef603e8eb205cf19854937b891b4c7286eaf9e93ad389d1e95a03d358451d559a84c9f47950d93fc701abb3534b8dac8148c45199be335c461fda03ac3161d02ef6951d62eee26f05e4d24bb6b0bb639ca58dbba649951093bc066e0219ffff030a17b3086f30ee55f6d86edec2557bbe02babf4cde15adfee74ab889c3d81018035c503fc677b7f6bc6f79593f2586ac2e38dbfdcfd0cf692506ede48322aa84b50370ad37b0b246fa49b94311bc8fed998e0882409a93ab2d2aa98d414810616e100353c150d2fc88401ddf0dae0e2b717496cf96887178f0d2b28476906aa5bb417103418e319f33ce24674e19dfd2db28ed4acd06cf655d3b1c0c6e3ac709ccc1b57f037b4e419bfa90956efc2aa9736c1ed8def386cb380b2cd042e4362bf59c2c33bf03a7c071e4dc1095763e8a01289d1628d8824914a4d826e4707f5334761b9297a603fcf5dc93287189f4721bdffd2b08742abbc1fe71124bdb198da6ff96fd3751a70325217159992a01fb57327c80780473f66179dcfc3db71ddc67af648a08cd48b803c2c7ed18182f0fb66fe52b85ce73461aacf566facb492b8fd12a1bc862af9445038cd501057675c6b1369d15f52720294fba9c39ddf2248b6d43bc3c5fc3dabf0a03eac5aa12d69dd7acd9ec4593eb7ecc457029ecc26cdf647a77145ced709b850303904ad339976e27f2c983c2ee055fc7d010ded19c21eb952d1fff68652600b1f20219ffff03ef85572b758678f5e321e652e47eb3e25c96a661444c4f52d7d76a52dc6f892903e013b18b7a327ccd49f5f68c8c4d87e7d5d6aaaf53f230f1716f7620f10efccf033969ed5b377dcda844d362f24b0a74cbc89c297c4f058036ab359fced0ebf8170336812f6bcf94d85b9a51699aced80878f616a3b64ca9a56ed71b4f57461b26b6034fe08f671ee9da6cfc4162e4d3872b8c9cc63fb22be64a4f4aed02ae487890ed033de7c52a9e62973c7865d92125d1748a29b21595ae6e8ac00beb5253aebff57b033ae2a2828789f32964c87d3b2549b534a71a20e320508c1f54b349ed8090be50036ed80d6a2db24805d017c9ec77336fa47c25fd611ec193c68ca959521a0287fd039e6a0fe48e453304cf71c9dfbb636690dabefd2f9c202baffd7eac20b80c5abb03c922688a9961d3a96e1b68d51be22e4d98a3e6e11d3ca8e0aaa066d0bf76deca03b5f0d7d3608e91ff255a1f159e01f9ea510eddf364855e2764237a8de09e34c00350ec6396d571a8f42fec751879edbb6773d0e949a0671a1193bf6c3204057eae0303872bf60e0e239c8656fb26f9e3d07915d6f44867bbf0f51033fe25fed835e1034a6f0bd602bfa764f3d1bfd5a4868ea58fdc735b2aeb0f74ad1ace45ca932d0003aa62c2bd05f6cb540a759a690528ea915b2aa04053b73c7ca40b624808841df9030880d45787ea7c167a484606b8c9b26c1e374d770e5366610f65943948f5cbff034265e978b017baf85ddf375b45551eaace439c0b36e8aabad6e4ac664bc4164b03a48e9c6a7c9473b96431086a263eb7c48c6fb9441f129cd8e637a68ea90bd1b803e84541a5d91d7f0b2fa62ef5ee8580c33e0c6ad4a7925a80cc5e2e1bc3db1f7a031adbfc1b50e282c212565a293c0a4036f085bed09689aefdf5d3b74e075b744d03c0008aaba26afd5463144606b0a0807fdeea87def6ccdb092e69d6381d8c06e500581e021d249150a8680f14dabfc44cc399190c77c0a344db346b098ecb25d30d4509d49ced3800581e02f1e1e511f9b44c4a7dee0109b76473e109a443ba256701a2fe61d4012f4d0c9f2c9cd038943736989c000000581e02ceef15ac8d4c93c4db39c1cf111dc4dedf5a4017e56103c2f4cc06a6f15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f5b0d218254a3b1ec7b0cec2ca5ea4bed0db8e870f643beca8ffddf2f4430adb0b00581e02a2bcb12e8daea0a6a027a4c87539f52ffd5a742b20c9ff35060f2115594405f4cfaa00581e021c9447341533acc4a899a65241155c72d295b89cf59af794abc6dbc6695820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc0e21f00581e02e304db5d77f831bc02a2bdcff60fc3d8b25d24eb21d775272d9abde6fe430ac33c03b8ba91e6c80dbea22a477e965be175a789f7e0254a256fb33f6dde0c7821d5b100581e02e4866d9a065557dbe0ba41f3b2491e89f4487acc0d8c3f01c0eb62399a4507441111020219fdb003817e4de5fc5c50d5619b93982571f65906b26c51df91f12322fba6ea5967933703f50b10a662d8204877ba0ec4b8524352b8b8ff2f9fe28bec68af012c72ec26c203ae3a671e225a3e1fdc2b2f2b88af319338da39d24faeb46ff60e527b051f567403b7072b4461d5e463aca0b50b2c43efccf81fc49a3e30dbeba6127cb1bcd8dd0303451f79f203924193e4e8479014918f8d7ee8bccbf21576de07a0c09572e9688d0312a694664efb36104cf261fc09ae1027f39797923b57fca09a7148a1bbe6b57f034fc02e80b9d72fcd34c8d7d8454ab30281fe5e40bb341f5b28336d73a5ce6fa2035d217e21ec140cd33a9aecb3e82ff19e37fa495518cde7d07bd332a68f771661036cb5df39d410c294f2ed30e0b4752d893515d565583f4eb6574f803d9ec1ef9503e418de280a8b8357b27dec3625201ef775d8e7b59be735dcdf85fe67cf3239dc030e0c3b1ee615662a705453ee4db9c59e87a24261888b7c6556617494d269b11803b5c2855d6f1f3435478a271d385b009124d3f0531f5824eb1e6c755f8f49f9c2034a7e5dd87bd4253fca57f798aea89f41ab2fab6e3d1fd3051562e23f5981c6880219ffff034b7c9759d880bc44b8104857c25ecb442f02d3344cc4f78613b7bd30dd658aad03d378b7bf7552248550a9d701f9f4fb2ed38e8b9654efeab83c5d11a44ebeccbd032154db69cff74e773b83a74c90b70f3533406e6a7fcd0a8b9421887d19a9d1fc039a709801cb2319fde5241daadee5f07b4c54d54e028d3eba2cc8e11ede37f9dd030bdaed4d88a6a234433634f4f5c5ce9c4b8a25cd3baf914285c142920ab1c9ec038137a6ff73f68944c032cff2fa3bbfd5f18a8a91c6db94639fd68d8fb829da880319f95d26abdaa763219e92576e64a18b4f4f8243a342a7cc1eb670d47a5fdcd503bbf6009d62b406c2bf1443f3cace8e02e35df01c84436e5064ecbae3a1269da6036afccb663273e7c59a9c3e9946b70751fa8faa15a0dbfc98930d68cdc0d694540219ffff03b0fccef0e0172ebfa4f4eaf4e75a4cabc389a8bd0fcb6430bd144a6c2d92f45603657850352ac82ea8eff9758b691777f4f3af622a6f23fc1905b5a9ff4593db22039f2b5ea5f698f9d342abc0fd851ba1ccd6c083985df7465c0fefb32aa9aadb220219ffff03a9cc4e30c1603040e8bd70298b9147a44ee921d131ed47d393db6440eb47502d030b51349e569d2ffb24a486dfebff484a09e67386312b7f42351133d60f9b345b0219ffff0335be4d70d5d4c164f14bbca3e3abb574391db4f09f2e1204021a8b3f7e84bd2e03b7a7f8266b064d4b630fe542cefd9bb3012f6219218fac4996cfaf4366e8d96a03ee0aab67c575f65dfed081dda1f746a2fdb687ff6e8da285c97219b0926f7da4030727961ae1f0fea6d331059f98ed792f1156d6253b60a3d1c5e0b0c70327de6c03b64bf52fdf547e59948880f17f8dc4a158cb7cfdc843d582f8e57f8b5c02cc4803fc46dcabf83e31166058f5dbec8f4b3dea3b9842441be4ee08e1fc776e5adc310345cc26fb6e69c73d01011359abc2868798a8c8a01153c537f107727b456d8c680349854853c4f738ca2494cefc82db7cebf7e38533524032cf9a5ae862586051a403e3ec939430c2c70bb69fe50c0ed2ed6f24441b6e4ec19f76f683bed569dec672036d1fb0bbd394f82ec6ca11b506edcac28f58a1dc1b9abafce80a6cdf69948dd603f151760f3151748460fe59c9a39a109e57ec251668d502405405d91f13b43dfc03694ff6cfa940341f6cb6099f1b4703bedffbdf5c60bf61610a7719041d5112c0032b66bf258284d7773025a22c51aaac56fde4fb87f2a3ae6cf5aa3e9e57e3263d03f4cb32195e2a8a8fc10ca08e3bc816779e3f8cba24731287ca73b7dc40424be503481bdf53ad721685a68112b7a09818f60afb1b569be55b3e08e9070b8a4d87640309f89cdccaeb4e769646945528d2cd799a16ce5480ec2edbcc8cff4fa30ce55e037e2b89b366038ac98e2707a4527fd1fbc420ec927a2c3ee4a0e351a06db1a7c900581e02812c5a10a56d26db280b70c0afd5e480044d135397aa6d5210b29ee61f4c204fce5e30444bad38fa535b00581e0256314af12aa1a62859483b57f6a460b4a8147494e90b2b46baf775255a43016bc600581e0228215899711e292069b2a3126138bf052b23c82af7b3f0b31bc7631a855820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0211a283bf1f3c72fddbb6685655680bfb71e21e3be1bf7b410292969e25422710038e64c4df426e92d53cae8145a5be45c1e3f0b26f9484b7aa0fcea250548f8c8d00581e02527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6544914f61d25e5c567143774b76edbf4d5109a856600581e026c5232a972abbeaca7064450c7b385ab511a2f17f27461fc4afa9cd4935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffed6614a38f02196d9000581f0324b32423619184f0f0fbcc857a2cb681e8ffeca0dbf31c292434286f03805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd96ef04803ce3484fc11cfe0a1f3a62751064a49dd0f0a1e1ac0500c909936347cfb47425d031626f5bb4ad43d58a689e279e04a07570173281561bed9cd33e6af052319a45e03d5a8e44abde9b879b7a2fcbc7c314165854d3f9114f6c4f71e78b99c788d135b0338fcb76774e3ea9e8d4b2216b9e4b3b3d4f1e4aadd83e14dd241c1f7e8687b4d03ca679a20979568416d9d692ebe2bef6c617dab8e74de1524b221ef78893b129f0384b71bdb82afe8688aabd5a62e84319678110a5f920d5eaf80256e7c06a02578030cdaedf1f014a2e1d547c4aacbfbf248a0412d1e293eaeedab411101212dd74e031ce258e1a3d5c8e3451fab1a73f0e78d9baa004811c75111d05d4c0b37545121030b76f7b2ef016b75916f53e192ffc30891bc8b373e024dfd46baef467553bd4c03a67457f425c4fc360a80333f5c2cdbc2054885a53b3fc6115058c3351836094203ddfc6e27f2c44470d291e4264f42bf361d5b3aed805f141f9ef6e480fd034edc038f1b45962f7e76e725b728ff4ab4cdc5a234d3019505167fd845eeb6df088a9d0219ffff031d5a8815cc0434d75b3e30a4926f0935cf00d153e07b46f86052b64bbb6b87760219ffff0300e821859f340012f45c86dfa5b9019e3ea9bb02960e38ed96b2b760157ce3e8037f33d23ef7126f21d4746678e75a6ed35f3d9f6f78aa69506d6b94846a82b1ad03d757c2ddaee0a8dd8f243420784d1b137559abd38a206ebd1825f6ff5cdf69020393dd5ac1cec614116522daa79ece6986e3e31df2657f6274762e49dde9d2a4b903de113ccce7960ea16ac1d307f4778a1b23248aa5068a222f20fec59f3f6b430f03614c881614702b7d0c6deede09baebc32a5ff9b0b182a1afffc8a0c34676eb3203222434c01abdeda58a3a3c7264cbf26f3c5b8b1c13ab46056117b31bd327eaee03dffe91226d128805c269ceecac1fde8317b5b102771edcf6360ce3bd061995b003c3c316fd8d5cc3373215d4dcb613c51117ef00f1fd02d4284ada8a6a37d5fe1603c82a360ff243638d3c00c6090243780635ac9320a0a1c0748d83da5d6f249812030c71501e40ebe874c44eb07caf8d0473d6a19534b003196937dc1613245d31e80328f0ab5f1ed02a60e87cf9858a54e5194d351b7c1856e59743165fbb7e7bcdd703fbcceaeb006a8abe10ba9fdca440250bc7125f291f0f109ace013b36919a723b0316012d5d6eeb1be263e91d7b279898e0ae1ad8b7f42deae699a7c2213c80de73031e5286d7dfa4adf22cb61af154032c57bb7cf5c3b4c640412489af0d26115fb60219ffff03ed0f47e9eed7657fa85b60bec73b18fe0cdbdf3d960208f9622288d6c62d732b03c3f573321ab6b82286b183bfc45316dc996215007ad2c956eb3ca14a90b0befd03aaee54e9423bc277b0e665f18444ddc3c3264e529d69c38ddf76c82e8f082c5e032cfea440bbcbf9d9ba168a12d577b512b0199229165923d5eb7e3fc0d7ac61db03123926f0436fdeddff744ce38384f8b229a21e3c3f7b29fd4c4f33b445bd992c03a8e3c48552e0e83c7b4e933daf35f9463a71154edc17623dafa9b4ef2cd2fcac03a565a4c8f82de7ac81e0aee6477a55ef4706c8981eb20d735e14b054d8849ec503ae10312c9303aa2acae9d13d14b47f6d2dd7559dd37bc58f1f3aa0128202127403afe9a9faeba0e9a7a21a61d5c6e4724d86572f61ba41000e3ecfcd2106580218037c54661829b69d3f74f7fd15d774ff505ea12a9d2ad0ee175bab6b7606108f310358b18d7c2075af1a656b27a50e0a2922775d57edcefd6445f0a89cd65d1a900303fa8b2934971616a3f87255ac4033fda0308a2a95b80f98234029047d55f5f49703711828366e161e2aacf90a68d90e618b00f36e6cddf90f88b2c41bae7ece5ef2031192002612051c2075db6a2016c12148f868ca50fa8fa56acfc760c985f0a38e03aa6920714961e045d9cf5b697a3660ada233e66b290456ca791583cc3d50905d03ad4b0abc64adc8d8bdce76aa03679a7f456b10b082b4c4e0077c4004cebd374e03dcc5c9700239f0b10486f24c52d7a606363a432f09beb717520ecabe8bad235403a925702583f595b9956787cd102d8cc8e9c3569254c30d3cdfb1e46274e57f1903cd185b15876c909ecdf43df81aa1d15b5af91955259a0e662ae190aca00cba8203fb0fcd5e6a66251c5dce06a781b605abce3278a43e2f7f5ef043657c3c14e04103a92406b6badb7e183318563e6df1287fb71a186105bf2ecbbb9b5f4631ed5bc1034160cadee07714c62d8809d3f663dcdef223d975947850d61ed3b940f3edd5f300581e0275a2a1b29a05c76fcd9c78b5c4928e47e278021ea5a648a9306987e9365820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffea6a77300581e02b0422080952991d776e55941c52a808c48073908f72503ad9317a686ed45011ee5faa000581e024e566e5747eb1404fd4d0f6e7db117b0b03a561c27863245ad05f9ec5f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022b67422c2168e8fc235dc73524869cad53fde2a6da3cd7add5356c18bf5820fffffffffffffffffffffffffffffffffffffffffffffffffffffe134fa1888f0219704003697b6e2946863004fa196e0eb861906262e6ec0297be46a7bf97afa3b0ed9d7b037be8450721ac574d9d113c37dbd42bac7ec3df09e8425bafced91171b1a88a2b03936e356d7ace10400cbd77097e1904ee78e06ebbaab2bbef1001372c5910ba25031c1c0995cff13d14d1882183b707823d5b140ab27c7bb9a605295318681d8cd10330968367fac003856425f1680a38f6a4f7816850646212a299b35ef7619eed2e0219ffff0318586f3f707f832ed0fda5601e934d16c79e2d0168ac775e93c28e1959986b6a036ffbd7ee119986b8120c94b5e8e5eb605e7c05814b4342f253269b914fe0872f032901730120e09e6404ca4137b50ffdd27427b51a99499021d509a6c2e78bc6aa03399379a53fa4fd49602be0d49ab8197dfaa4f04240e58a1c971d3ea6fd368bb603beba24ed831a38afc7fa14b8492a8656276bf3bd50337f73fa7c05ef8fbe39c0032b289d49eca15947861ed098688f36c90040301d9212e0c54d01cf6586a9c30f032352deac569d1aa640df1245302313eb26206e959d99d7c37636968e9766b5ff035a6025253b9d025dcc4ef05165630b7a85bbb347b422bbe69b6cc07a8a36295c0368e77baa9f35f103ecf2af7de48b8d4b60a77787393ff34c5fa41269e9c2d8d60306504720ea28d8748b6e3223e897e0fce09973fe028dc6df5714e70b7dfdd2ec0354f9497147c04012883af0ad6badd7088a9ea52b207c61ae583ec0680d00217203bfcadd08d072a7731985857c3cccf1cf3e2c953cb5fa04c4b357e25e605e5ac003f3b13473fccf478a2971320fe0fd817d099009ba4a0c023861ac71e32bb7fca70219ffff03256f5f7e8dc31ed7d8e7f942edcff851db3446a584f4e8f9998f2fa40641a6ef038eaac1a5aed0e2f054aacbcd84a980ff046cb78b319e966e9cf8529750481bd003ad8b4ebe3d7f7c1d27aa601056614b8081b65fa5b6ef6f17694d421dd5cb913403dde525715ccabe5b40691a364bb9ed3031834ee05f3254c485279d92ec7991c703933aef6e5b7b6b0b1fc865997e119f688f54527c1c5c6df9fdb71b05ccbd81bb031e1dbb6edb425b8b69babd7137930d062e87f0e43d76f0861b68ad5222949179035617614347e4c8d8a92689db891aa85661b08f53970d6a6357c7e4a2371e614e0338770fa69075e61c10f3653a32c190b8bc5342c2a2d2306633b4e9bb4154021803d4d178156da0c5da765ecc884d6b73110831c6e62128f2776f282e6c7ec192ea036b7f2055b2469cfd3e864f61dde8110b6f48cdb15d4921c510faf7cba3a06284038db250bf4a3682e2d038a1a50981005ccb55bc9340fc9044c379592ef017765b03d20775428eeb0aff5f3a95b406b14d76dfae5c291f107e47560be67646d0839e0219ffff03f7ddb338a3ef5f852bce2b46f8ccfcc181e433268d4b53a105dd0a52c755ff4e0358f056b0fc95dec75015ca85553d67bc0f7b379d36c393dfc0b42713fbe7deb5032a1dbbd9e43a259ab0d212c8e427c01a4d24b0d9668244d64816dd94b907063b03730d5617e422c736d3b2ae4f59f7287a9df199046566e7e7250b7c54dabf76750383f2715693192b01c471e25131719f3d0f16ce3f5060cd92ad961de88643b2b203777e77b7116d3f6310bc2a8b4ccdac0767bfc05043b758a130fe13c09bae946c031ccbc5e8cf0e407e8f4c9656693d71c4bfa4d30cfe33ce066cc317290d2240f9033750353be209f715a12261d27207b434aed5af382a167e32cdd3e05407db439b0353db6fc667fbd2e57dbc587792240f9894db47537b9eba82e85aa70215a2ef6303add0582fe412868b8875fa28d821b9706668e0367873115e07298fe0b06aca550364dd9965f1d1b5e12043d457aedfc648621ec338f73980a640680241539df70e0354bd8a1851f4bbbe7e4ac75cdc1c083c8f467a227b08fd579135c3928de8404103ca6a4fb7f2f5db16c2882b7c90eed25690665c59ccee135176b391234d7eab9203ad55760995e63e68864fe8c306b1faa78bacda642e73b35df2634b75844aeff40303600acd65cbb8aceb6a9c506ecbc3f23189b918e3f656c6088bc38458540208035304223cd1fe612b521564e692cf5ae72981b5f5407044f0f9d84aa82012e02c0311a7b560330e620c4502c1a8bf96a018fe490076089820dad56922a20b9a8c89039c8797499c5347818a831889c9919a2db3e3afd6af2b052d485802a0e4f5678903739fc54fedd100f295c3ab52f87e82bf058686138a271640b2e7e04fe281674a038fb84e873c77c6280f8c97c0059d891fecad7e8fe0e1ceeb00e6299fbd8ba46e03149389ba409ddf93378925eaa2b8dab6cf26d62faf3005e907aa53d814700e9003f155ea8bf88fa74fc30c4f02491dd4182145579741b2e3fe909df5bb83f638120317c82ede1d0ce76b43b600f1ea3bba5cbb5cb0708e2cc62c9d861c7c3fff002203c29d098fbf9539eb30b7602cc0a2ba86e995e3a471c5edf2f17110f732a0cccc03f8f071dfbe5f403891ecf9cb89646202fedda196c8c1f382c4cdd9dc80c30cce03ec91451dbc37926c8d053b71086564902da8964596dd1f41ad3f453511606cc5039f990601a05a4640469553c86ef2d1d72fe44f8e93e6ff70185e6b0673c845aa038cf94f8e33dc3c868bd5023c3db5d95e56ed1f258c66482442aee50a8ece38b500581e02fc32b30d434a2b9686e9446022766f8e45fd30f88d5ef92ff4737c107b5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff44700581e0284df1378c109c9ec86242d7b541aa55e868b5c670e5d6c8be79953d98e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026bd365e50a7e505363e132bbd3053a3f4d2d65702f04aeedf6c9fbae7d45dbedfe8ebc00581e025e2f08f7507f662089a400e1973d6c4172968b9e417a8bf3b3c26537004402178a0d0353cde344f24a872d00a1a70d1f31ca095fabceccfc92a8fe41ca8a99ddd8abac01410b00581e02156d7ae3086fc907ae94da8541f5129720d6fba26462a659a7c6a949185820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe1e4bd075500581e02bb36677683b8d296ee1bf845ac57bfe84b2dc7887f430307ed3b50f8d75820fffffffffffffffffffffffffffffffffffffffffffffffffffffffdd81eff4002199d520372909ec4532903c9e9997f6c15613692c13375ce5af1e17b2ed4bb0df08f1aa4033f6f2e370f1e37e3ef85147fc8ccbb5aebbbcacea8876dba8ebcc1acb810cf7b0305022e683f99a3f4a2db51fa4a1bcdfc0f1685d293539ff5c9572e4c04b230ea03b841c9ae014f681b19a204c12d9ab17d9c00dbec0e0e3a266cec10c132bd2b55035cef1820e15b54d3b1bd4d4ecd2be8d5ca4cc6aa06fb42ef355bd67efdfe6afb03ef1b6b02133e92e3d226f45f093ab4a726676dc0b2336a62452b05d3be11c1660320461aeea667d1c6cf2d2c3d45574821788f08f538354af3a00bb9d83c7363fe03fff28f97e663661cf2a4923ea2ada1f5120e10848874f06e704c1d267748581103b660e0a7a2ce5c7900962dbf17ac51b39c2dad68817ac5e80855757ce125954803486d46aab2d1553579563d954f5ed47eb5dac2b50ee03479c952034cf452704e03d21bc6dd5052f92aa60e62f6bb442dbd0ad4ccbe1d9198784eb5576a51b11cef03ce3f0f95b51e3435ce773675a26dfff4e817fa0aa6b1b1ef9b398538460bfab1039d9ee7086f999114f6e857e4d66b479b01af09bff817a6f28b12041ed74fda7e0315379bd7dffc581f6affe909dc9e2752a6aa46dc478f65fb5defd7b347d90bbe0219ffff03be0d9ba43adf796715c59f88e53d21d34d220155af5fe9c82fbf68e9e3f1039303658ec1c783eaca98ff03bd208abacf9e03b95c40eb5d830439fa7ad1c263bc4403d7fc70e48f7c1004ba3000056f3b80c0606163eda9e8982f5223b2e9216f666e033130bf9c2825851bbaf68bd8bd1930be825b463e256faf6d6e86b3db6cb266d603f6cadc5dad6b0da8cc3c9b3e0b01840f147ab62aefa702b17e682ed2c29886d5035194f56977f1fd85808a4de4acbfe012910a3b864e88ce2932750c4b8defacb603ef1af4990d0225ceaff87c52b32eee88cda53f3b8f621fe223ae49d7f9edf0140219ffff0219ffff03bfe4167c1416d58d321e8dd717b1da2ba29d6ba0d8ed380bacbb7135b0e5a44803785c8c5d46f12b1a69b4080b6c10f06e89ca7dbe7d757c04ac0659f22fe28af30219ffff0334713728528e3266f053cfb1c99aacaac7ff93a0be08ae8db12454c07758cd11033b469dc04f047018e60e9ba6b3d98aba3a2ced29ccdd566b773491d3441b30e3032ab3043240b5b2a6ed257986bbe7a559a332cf4bfb40912dbd5b3cfd6486a8ca03cf3a70a0a4464c4f12eef70dc2efd8f645bc79beb76b08cd7cee4f93bb47dc1403ae726f45c7895c38648ce0e6d84b2145311a97e7075dde87ed74819b5eeba6540330777ea1126b0dec0a81679209bfe44d9d714287995cb7e5d53601a15cace512035303203592973ff1524044c6c00b339dd58b537bfd5c11c5ac65a09778a9fa0403172dee6e576ba9c0e332c87a8fc90daaf3e316fa2ee15c4f81fb1eda3431b6f20338019c664579648c4f82ca51cd85b25ef49e560d136f20e334b209bd8ae38fbb030e55fb332cf45991a9897b7e38e44ef90b1584b96495d65d87fcf8fc8583cdf50398b308ee289a7189491df3db861d01cbff9ee02c9da7d44578d6e6b033415cee037379095b4ee7eb2c88f300cf4d1314bd32bdcc3b3b9012e1cccbc58c6f595b8203db48059daf022c80f78105e3f4f55c28bac7876278ffc11237a8b15075f43704034f9caf0319603f408b1126c0a562aa174dd503d37b72dc953d4b0b3f862c5a6c03401fc4b3081b45e9be5ea16bf631f934549b79c6f6a6347f2deda04518c2ab78031bcf6ef93c9cfb008c4edcfea998e55b343c5b910e1f908d7daedad35a0a302c03e46f42a140dea52e768cf05e91b742af3623fb26d0d048aa2b0636567bdb3a8e039fd800f9448027955575d416171ee23cedb2a5fd11ae4dbed8418f1119c7263c034dca1f68d16790226c39bbf272eb858b75cd562571378a7912eebf74a3dbcd5d03f911d7c08b5a1bb7220dafadccb40956039f88e721381fe05beeac754d138a5400581e02daa5bb0bc59cde3de0efcc524aebb83edf76e567e242a496ff83ef68a6436acfc0021940010374ea6ca1761466afd7782235012ad08e242652073b0350c27dff1e18b6036bf6036b72bd47e9d8ecf60d88644b505ca8b265365a8225a7f008e72f6fab5ae3118503141fb7c09a664f4826291ed26304214937c1e20290f57fe5873aa448e0f29e0803d954f551ef83c596c3fa33147a0df7d1b8edb8c9ddd39d7a8c0c2a79effa1ac403c9b33863dae27e8add73395ab9baab4a956b5279dcbc4f2053a0039b515fa03c037377e0f7a0230ea2f41846095108abc2a52c54db8db4e3cd0b242e848f88e35e037217ba1104afc1584bde1bac90f2aeea7f2657619e17974294966086fe0bd92f0219ffff0368c390ae431439423ba7f23fce09087148e9ddd72f2efcf2ce7fcc46038c137f03c529cfdfee05bff2b88105e6e35953024dfe374ffe07b4c28bec641215d564130396cea740a2e69460ec17b93de8e447c313717f2a078ff18ead405013e20440f703cb8e0441881bf5500d49612d9b868d0e15cac096e53a8015131411feefc605ba033cd6dd1726ccd095a416b9d6753e4da222f77af76d41a7a2b8e6e72ab230f7cb031a1db6434c4c97b5867dee6e25a4c2c53c1b64c786e87b0758c643eb95f7a78903752c56370fc6586e104a9a6e41a8784f88486b3bdd2400ab9368bd0464773f1f0347b54a7f87de77f25d66cbc2da35b67350e485efadaabdbaf86cd38bceac9448032ee98b0bda88467f5bf6770485dd904068df033d800b7dfbe9727195b3a8bc7a03406d307f0df7cc6dc312050e78b8788a662a21adc71a41598db0bd6a5f8459c20219ffff036180bc39e130821cf881b84f103d39f2cd71318b07bb1555870a4521dc2122fd039cd0e1bdfeeaed4f8c9d944c5864896b93104108c29498d01015cbae43ae819003ff80c018b100a940c53561f66ab71a5a9bcf019eb4e43e730f24bccfc5e27853039c697632e30ce61eee2ce69e56f7ca5a5e8d5ed076b2b34b059a2749e52a966203906b55594e002b271bc7096f31cf9794fc29b941bfaa2dcd93ec2a3f759ec24403d2e87021d2171a748108733abc96b2bf6f883e1d690a8bf6f52f129814d4990d031d40dcd68f59fedee12cc30c2ab564f2c86eee2d32762eaa0bec625f104ae70d038819c6ccef1fab77f4b218fb0bea38dbe332249b731dec8988c2526e90dde4810393718a54d30789357e55c556a1085b1dfce0ca4321ed69aa949a6aaeb07ba0bd0219ffff037454aa58f61d9bd812ef20afcc9f7f39e3a87e58cdcfc631f9bd1fea464d25f903d8723bfd2c98589d3450ecf72a80804cba515f5814946a0398f59b1ac75ebd9f03b574f8b12b04dc9677697ef7b6d4bcb68543d86c6cd6c2265caa0a8a7ce6a18f03b9bd1047c42697adeaae3a9889dc772926dffc7537ae37d46237c342cf4d3cc403be4373a5a96a075502289e0f345368d8f5e9a2018e767592195eeb8f4cfc2f520347acb9687c9c0df5aad5b6edce2ac3f0ca41811f9966fa08ec1a18de0368b63003a0f3439b7f6d11e0a7211413888ce45c4c05eaef5c6c90e6decfe472a2958e36031abb2ecda18c43a16b5ddaa1c9715302482020e1b2ce058cc7acf04725037a3f03d398b7efe9ba598005495a34ef688dddd8a149e0b6504380713de8420a0c2d6f036081bb09a99d42e374697ddd58dd11651704522e07804206f611cf7f0187c2d903236a97ddc817b974b141778bc819cf5707fcbffad8ef850473546a8d4bc12e62036959f2ab41640742c69ed6af6dd74cdf4ae8d6073d88348db34cc5ffb6cdf8d3036382c81295bc15d9edd1716185f3983762008f18bdd33963d84f7afb5d2d8292036a46deda1460d8f8041f4aee7260f913a17020e77aa6648c78f6fc52a94c501b03029f014f60fdc4407eb5193d298d39d3adf83cd81167e23f19ba0e18c21581e20312d8c9ab33fba1d70947332a4014f0b601e7ff7dfe3c72b5712848ec5b959f5103b80c02e099d5ef9eb81d2850ca5465f0c79d4e77dc527d2ebbd887dbe1bf260803abf3d5fd4511ca68758e29a1dba0e58d23ff383ed1d16b25c9a6904510cbee5a038db84050e693cda95b1e47a02cf7522f2b88e27be2e18d7bb616969c1c48603f03ff081e9734960b1ba09605bb161e005460960c99867699fbe03cb9aa2745b91203bc33375ee85b8765a7662d9b59cdb7cfefa4d38b2fca79ffef1f8196e2038edb030778abb813e5ca57809dffee4c6be91076ed1a800ac487ed63f898c8c7efb3b803d56b62202671f5dafe85f8dab8a5d5a70bd6b5cc826c93aebbbc92a79ac379b303a3a0b8ebe6f02dc25ae204b8fbd46568e96c05c80139dddd8cea6d6ab0a1ead603c4dc4e07a5a96225b3232cc25c462a14ba35a2f77abcc1a2debbabc5b70dead303c39da3c0fceeea9cc339c34ce2ea9df67b15abbd4b6ea0d2b8e273f2d62346bb03f72561198a190679f3a9047a3c12a3d47ae6da33a62137ec93e89c4843cb53bc03bb8d458171db33008c8afd131bc9a59242cd74bc7de8b30446b03d913e3fdefb03f68c214a9a6025012d217d41f33f82ccb0fc5cb94dc8625ae5d0283350452a4203d49495f5d6338a989a367023d02ce20962b640e0fef11434ec8ec308c9eb040b03e10bd8b4e5bf85024ca7c366612d817b380e904b288fce20530a24cb06f02d9c0373142f263bc210ec3ce7635dffe13305a9466d5b19404c44c7878fe163249e81035f7c779c2d87319bc00188a7a719b5202dd96707b9aaa3087cb32884afc4d7d8036ef2dc967747ba08771033d30ce3641251e4657688af3ae8ed1563996d19dcf003dcb26f9e5db90e90360bd363406adc5d499bab9edc255ce5ba52836bc94ecdcc031f4780bd45a5b61bec403ff585d84464327d9b4cfc56abde8ca2af8885e15cf400581e0277d1e990236949e471cfd8c1e017ccce44c4e984ca6305b0f73042ccee43807e7100581e0268584ba4a146084e63ef5e6dcad8db0c9f72e3cdc06211a98c85d3ca785820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffe22358bf00581e02643d21aaacfcf1b2164f953a8eb47f382f9269a7013ce893dd5f1e4af8410100581e02384b3795177cc8ad0d0720150dff22fadeb3d6c697ee2389e973aef8cf47038d7e9e2778df00581e029e45e1833f67de620efd2b7bab00267a38d9c683cc8d9a297a3644dd25446fb2f880034d26a7d6e579a559c51dfc3789eaf592cf9f644fe5b100445dd45d5881988a0700581e027a2f7246e34fcd5857e3267d48177f9cf93b08710277690b6875a650a244710366cb0219c0ee034a2d943b5c56e27975c0134602b34403261b7d8647bd32c4516905b5b753dc010300f567c2bc0f1b04cd4a16226b000ef2b527fb6bbd3f037e09df55bda05ace7b03649fb73eb0632ceb6e15a3e7d5b1cc2b14504c3e0230ff648a4cf55e35012e800219ffff03567f2f4a5da814bbc99d3874ade99fce7d966564f4b35fd1b3bde706404354f7032e2defd30535b5c45ac22e5ed87edf7ff13110ecc3c3714c8ae94a7b990793f903e43c55855a18b8e59663cb7dc5b8f9d66a5a85d2d08a8a3c12a698632ee4e6fa03826237a0298e4df2e0245eefb0dfb0d67d25075d89826d40a0e1c83ed9324bb103a4672d762080c8cb38229ffc3364c0764d08261df5f710ebfcf35e6155bf4628039116cf4098e342cfa3f9de414860b314bcde19a80ad8c9d2c9348a3c8822dcb5030445667d3bc4397cdafd8d960b84da975afcac73694759028cec4366c2c5aec0038c34b8a1614046200b3a33238b0b19114f90d7487469787f77d7c8ec1d47c9be031774d8b914ed174728d3bd39241da65ace451692b8b7023c6b91e429ee2a9a8b0349fcee5b80474606ad03a48c405a2424a1e2fa8b41d62bfb0bb746c11f75bb2803646207181ea2e263842192861561363fa955edeb35145f67c503249c61cb943a03d5c6937679f5af06845b7dd8b9bff05c1724e4b31dcfc273ebc085db3b10c4b703b9c3358d6c4ac450aa2b9847f80708de54a3fc8e11802e23a70997948fe2c2670219ffff03ad70aab9329ea1fcb8f73f5047bc6bc7a03d6abd58f97f4d32d017e0b2024c1e038af758b8c7c41f926d84bc064a9325260740c34a7e42d303f20ac9ae3559820e03765cf2b8527812b66aa37fbdd861836c1af73e4db021e967a9e5712f77ee70350219ffff03833d3081fcae425f2c92fcd25e7d019c432e0ebcc916fc1a1bfe1fb6e1ca0ce603c51f563a99c6c54a29c89ff2864b9f72d79a7858d024dc312bdc89986a7c3bf503df97eeee714902573f2bc366834ffcff56dab8dd8ffdbdeb764a890f1a769dc70368313a19d8dc345fc046468b7f3529abc8e8ec6c25277abec8ff146320be1cfb03d1cd0c40c7f7147471d4b56bbf4ae250325418489f66f138bfa5003fd3a482eb03857fdcd20c47644ba248b293c5f8fc694cd33c9443d9ce7510a45213da8a4093034361f5d77413bc5f81bd1e7675ba878df43377df1411a11b469c3cb99ff0eabb03482a736f81271de0d653ee46f483bc64b78ed0d0f5a05b1ef43079304c67f989031939e7c2c7dcaacdcf172a51d4eaad0d9cf8af01cf5a55b213b7031c0adb110b033711dd3c4d37fa65f443906d8a35795b5cc2fd6d974d933beaf52aca90f84d1203f2c94dd714fc97659607f47a3eab12778f2136359a1f4e6d1616d938cfcaacee03a93d140454e2e419f61da1b80ea599ffe0e0b4c4ee0c54d2dde18bbd3184347f039e28378de87a4cbe7c7433eba5d3e1995afbde05090bcd4e39dc86f3ffecebb503f58501bd6cf48b46a1904c26654e55b7a76e55f8c70c9c49db14014baa61dc6803f7a92416d8dba721ff7363e5eac67c2617bbed72dfb40f8320e9232c285c5789030e1532b5f3b6a496109ec648b2190bcc64f227713ed8f70900ad505f1f9273c90394b880897a4a79063e6e47e23a8174ae5980bba0895a970e5bf5edc40e518b0603ea6edcb8998c4a66cf5a540d008ead2b7dad6cf206bf8cf8e54bb889d3d06ccc038ac08c242655b2a9ea14520589bf368030913729693f8564b7a1e1aa80dc16b303fe817ee4b838680c1b4769921be107b044f68a294316a7cb686f11bf4886766f0356cf8315a8f91f0b8046fd465decf8c8c694e5be5aa16e199b9aac6bbe11320003e0c965afa1dc5d44cc83f00edeefdb8fd5d98190c8a7383daeb972bb4d98e9df0351cbfb7c7161fa2a16662660b152006357e4385d0156f3b8b39c1dbd49453ea600581e02c5b16dbc8a2a64c471124cb3767a0acc2bce23b8d3b6c0f1d50ea364425820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a1eff00581e02537e9bff3cd8081ea24ddae3b00b0bbe3707a497769aaa1e28b3c5b6195820fffffffffffffffffffffffffffffffffffffffffffffffffffffffb9a7fb35700581e0228f2fd4a225dbeb63be795b2951237e7fce5678d1f380fed1188ff3edf440406a2e7039c8c31dcf600b4052bc77b345d97c101e52dc8e512823a1043f717a87e47a63600581e029408c62ed1ffe590ca517a0275134d1d9886e96ad315b566e80bbf2c2f45026ce197e300581e024f57f46764b7aa8af34b6a7b2bae04f8619f2b5aa0f84521b4e45345625820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff13337f00581e0231a620bc19d791984319e5a527e8722c3690e17fe8b020ae3f678d4c225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff45a730a400581e024f8f7fbacb99c18b6474353b03d3dc92dfcf4ab0e39458deb6f58deda7440ee6b28002191ed803d291799b25726d435b73b006caa80b68c246c19ba567f20f0bbf9f5f821848cb031f42c6c61f50275e025d831514ecc441e55fd15413e41b56698eb8b983a3d39a03596d04c2b755a87060a1f1b99585f4ffdb0ee01f21afed0c89f7cab061a71a3b035ffa7ff47a609c7618036333c81b052b64b8aed8c1dc1cb5b2a86f674d79935603c6f2b81b1536af510812d6ab1f37160c57fa8baf98ff74f7b703f77aa3fee14303d421a88e64759b87676eadd6e5fc5b703c71898d69020187499871ffead668b00340fa8579273379da6600cf7e54019788df29c24d54d68c1aa2e6e246976ea1ed03ebeb6ca142c447c86867b73c9f229c5eb583d149a1e965c95f6c4305ef1a5e7d0370c80f880c5585074a3d67fcd7e31e42d61983e5e2fba4215debae667f8d1ddb03e2adccea608dba1e82e32f421f577e3709778183fa5e00d5d9244d86d435445303aa1e8f983616d35510b2182fc45827581e1a3a04f49caae5fe6698c72042b2150368644a9a69b0751d4e3fac5cb15ebc19af0313cd9d13f9b8b5d16352fe950ba8038fe3ae2f90c56bcf89b1b0c7aeeabd8e6a94ffcb0962977c7f99a2aaaf2929c40219ffff0300b2f38a9eccc033a96b48bf08962cd2e3cae9101cdc57fd07642208e606347c035c0cd4178be499620ddab91d37297ffba14a77749b8bfc8bf9927b70d0fc5090030a6ea827bbd3391e3c56430c4477a750d3d20ab9918d8dbdeae3c04132832b160309c494c1a58bafccb218e319efa716e3cbc291626a8444a8132d633d62a383ba03c680e6dc1450137b76f0f5f225d6753843f2ce58fb81ef3913388d1c3c9bd12903218c15978397d50d4218eb86f08558adc2960624ad8fc04ea50f205b176cfbea03685b2549f88d9410a027eeeb6ef0cd021927dfa466af6dfde3d173f54713ada90369257fe79c9c20d308e4a4d59bd6f41fd6cd6642460050e3ebc2a3e87cbce1da030f4f5245aa7ea0d95189cac3cb24f58ee1a918768371c05e8761c35a3f395cd70219ffff0336de874f633c77eaaf9c072237d23fc124eb4d20130ed26b3c48317319eae13c03f68bfc641c963d807198c6c801c44a91f94df7545aae225efe1ad9469242c057039468f717f6e9a155a686491d7047c73958cb17de2e7c9ec8cc7ed0de6ede237d0219ffff037bf755af995368896e41c8874a0d618e02184a276598391f0e32ade1e0df16350219ffff037b6433b64f04ec809e1599cd8b8dd2817b7e27eda867320cccd453fdf55bb27603b8c9bb562637952989322839439007aac4f789fd54165006f6bd260e908ea84003774fc038f647a46d396dd4b550b94bde33f50bdc8a5aee31801a02ffaf1947d0037e03b52d67fb52665ff779c71b45952dbf7cc58bd7493a791a592ff42f9ac94503dcd50d4fa153297cb40b6f36ba04eeb27df9bce2dc1e947b2ad02e0d8a0927c003bf6c54cba433b9b5595177259e924f10f5f113ffeb6eeb89fa46483db810e1db038094d4a3afde1a9f10561c269e125e18351ad136937270bd41d15adb53b6fc3903620d66ac25e79c11ea1722948fc611a511c79953491e580a0298ade6c8d6745c039334a54b47399fbd10cac2a137eeca1cbb3ccd28d0717b9b7349905fe46fb6ec034ec88894a15c868c7c1d415eafbe7dcefbc74238aa9c10ee6cfe6e46c6c9bc910336592d8ee28dd75a84b8a82383eff96b1ac6341e447d865461c1e5175536210e036a324f1e7ce0ddc1e7f3647d18ae9a66b8e79158eeddf6209631c67c574b916d0354c3c1b0d369776e2e48643e7ff3b6715568a6a82e7a7ff5bcafbf4cd30fbb610313f39ad314d48e6f41f19cee1dfa78a50b0c0bc489368338848166a57084850703b4e29c20f565fe151ca91c6b649f8a6bb55093cb6107ceb2a193ce1822607595031685254947f390cfccf068adfbd5c408bbebbd6655a1b6ec09330f35976ef750033ca0f906da9611a9dce916b607d3af6a1cdd3f39398e914ed92974d15ddab87a0334a36473360fe7525f811e396b1798c83b8435ffbf8317d5c75719cce9fd49ed03029a37991501019ada9a1c5fdd34db8b1919cee6ca44b2e94e0f9e03198857b103f9b3998a2357558d6f46c3820fb8377d9d5a20dfd1f918a4bdf77e7e6f6f4a2f034bea19522a5386a4f771f54c438260cb714ccec68d363035d012d07d0b459c9303e76be565f623e94cb601420cca17d2bb0e16534590371c33ba66e182bb62b76603ec6743a3c47cd5086f31fd373ff1b00024fecc216c3b7dfa776e3002fa5804e8035e88b3841dec5bada1c0d24275882f83e86c3c85420146746a6cf8ecd826e073036dee94a695ff33f24bcf4c85c8456510b74ceef7c56fbd397d8a4c5bb61ba7b50389c4f70c47050e2855ed81a92d930fbe5092b43b454932d071fa24ab205d45fe0303bdd9dfa2ee6707c779ced02984e39c11c1cb1830aac2b9ee4835d39929ab4803c42c22aed06f3452ba2e67a926686cb5f3b37983ff3bdb45272a2c1ab678a92b00581e031ae73cd417df67b4f8cc76a170de3adc18342b2f57a7fdd095d5ab07b04e314dc6448d932ae0a456589c000000581e03c9aa097e19da159645137c392fcf761e425e20f6476b744537a7328e30410100581e03a6fbf4d7657b4aff250256cd47b34ded948a975a2084b883328d3d9e004417e120f00219080900581e026d18c771481bee6cf1f2abf8e55b6f0b734c108917d3bdf132af2ca2565820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb7207f300581e026a8d10e72017a782dcda2d784266bdb57146b9c6f2c6079d7678d2d2264325e20d02198048034a0d17455b634cdc4daffe389a405989b0e89631e036c0dfaaef803cedc8b7a703820cfebb99bf670e51fd6fc95b3b5be46aa7deb6f9b26b40e19a5efe4c6597ae03555ae48239f0036e953463cb2840c5422a7bd57dfbd4af57620716d0607173570340923f9347561114a2230cacef4127acb1aed78b772761773d70188fe6dccb960219ffff03cd858ec57395721a608e5e251a5e794820e96833e95cb01751e8871d120265c303d4a8755e01e1bc706fb77498318c05a2755a2a85b01375c256d55c597fee09b603a9b5dacbdd47d4df92e00afd7c219816411ed8efa1b5871bfa3432565d9f1da4030b249120d739ab0ef10bced076be4ea336f55c9b30de1feed2459eafab1d1f100355e69f2b7b1db22ed331c20cf8d26e135a76bef1b3ac331016d98db81b235ab80219ffff0384a5f67efd688fbed8993d08234f2104815bd465ce6a894e0a67aeaa5b135bc103b70b913cdb8baf93874fb2730a3d683c83936d00409e28cd22760b842c67903d034737754c7754d115eead14a520741cfe21698084b6ed9a5e25bd749aa7f7d82f03411c81369a2b77b2831cd257a9a7e997bbb88f70e57b01582c39cebab8bbad1c032ff26b033a9010e553628a9a4ed1253f200592f7e97fb468c7aa7d3ea29d45d00369ee7dcfc4ab0c53de1fbf58d38e62092e1cc0bf65341cf150584c20a346791503ee351fd81815ce79dd54e332f91313bd5c38b63a8c4455055b577c4f70d0319a034eb1a520ea461eccbb36b094e4cc8932c8c819b5ec696f07fa81fcf20b14c93303dd8964c007cc1f539cd8d69c5222b17e98819369323e297d60c0722fb595024d03dee262bf01a1abce7df89adad80561f0df614fcfa34a21bdd7187bed0e3bec280319eae09a6819b8cb0f13e659f0bd285cb02cd1360312304742ddccf031dbabfb03614d03b069ff26aa0f94545ae64c876c5733d68e669ee9b6866631824346c31d037d336b3a365463f6a4777611f22b888fce7220b5a231c3fec2dfbf97148485dd0219ffff03325cb58bd60ceaccbd1a511e801990dcf3c0fcf5d625c6416b1ff4547e07322003cdfd8479433b9de056c0cd5cd37f52097eaec2459753133941e9cef193a5a60e032aae7063bb13f0a770102acbb9db66ec34ae548e7c92abf07f2eea137035476f0363d0c2b60ba2801ae3596e38586e56a1695bcbaa7b0618f2348ecb2eae2f485203793871a7618b1c6216c1584d7c13ae38bc793fc8b321a779e8cbd719f15c299c03a01d0ef1a7d20edc3a6de63e015d42c850b88fb9b68df0de5c01fe667208b5b903ae465f88eb5daa38b204f36a136addec4a27942130ebb461d4443c92e371424a03cbcc671b870542e6d0bb8f71bfeec397919cf7a8abdedc1919f360de524b8508032c0b7b045ff7afaba5c6f5dafc69d2ffd4be21304ce0fd2db066f04aa9f2896e038eb24c6b72412a50514ef287c4fefa12590a0bdb94a2e11ec0cc797653866fcb03800a834ec3a95d4b78e2647b180a34fb4da137086d27e1284ea8f16f5969abfc0302f7882e6a566ec212e07620b2b5ef9a1920c5b7684a2d9724a6f018f843949f03aa86acc1379a75331ae9c857993614b363c44e10235d893fb8633fe88b3dfd1403cc0450de6042232e5b3707f9f9cf5f00d89066c804f9860fa8881160c4a55e5e03f0d8115e3da69b6918e04ee167cc2c5343e184f64dbf3ae92d55d937adb09c9103f259db0123c3f1fb5595c571867c7c97e805526c6527a05eeb1067f625f9ff67030feb6294fa49f18803380036bd5150e22550464353203b30d771b85efff1d26003030b3a893f114da38f2b04fbdb2cebf5bd70ffc98f32f31963e373def7f6f6b903658cfd652820d4aa12eb2c8b50b4b0a0526a33d001609e53c3bb6a308128efc30346383166ef5785ed47ecf51b52b4ad4f4ee7a377efbc11969be4798535a8baa6035046acd9784837cf8dbfa1abadd5e76f84d24d0b3140f525f9c957bea818656403ee469d2b2a14f57ab663f7f1feb7b557b5133a76993ff1eb66bb48262ad302d403e6ba2115c0afb5ed4019bcccdfa6f8320a260687d2287a207be39c13661cc05203d28d8dabf3d872e9f6ac0b08eda2fb13af4a902d9f56b1e13627a58295e5ee8c03b8bf0bd5873e5472669328808ab8c3523920d6d99b6ba97e252865b909d5cb5303cc2da6218de53d3e4f58a88867cf072576b1f1046ad7644778d55db9b0a58fa800581f039e5e4b9c265f318cce5c1bfb24f4c30a77f1c65f901859834e86f69010d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d753747409f0000cd0b8715f1e80075a85035e802d5d137c9cb9d06cba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c75d27f00581e02a79a439f4804cfaf2973fe7af5f840ea6beb8e9aada62348114fc049ee5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe77cd2aff00581e028ca82e7bdc1371f6aff773c37de8672e1f9da6ec29d750190c2c62ec84460132c1e40f2300581e029682683eae055739f6da22b4da409835bfd923982cfd752f9f7b08101b5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffea89eac19030725a5093aa570c15fcf243cd7076c86f912fd3fe84b0754d3004522c97da16500581e0297a433fae4c6b8ce8c6b2146807c9aeaf1b24adb36db6bbdc6d613700f4448a8b544035d2eb5727dac99a58f82bb2fceb345771d7e4bf8a3dda2227f7a585c9683f8e602192f2403c74a93b26374880f1ed36180f828a4602e3c24e204f9d4decd76585169190a8d00581f038e544e2a49a116b29226fc52b3f44c0c1d4d11e486fc9e8aef7b155fca5043195a0d03c88dbab326651ae7c54ae1cf37aaf6e0586444dcb1d629f9a56d5176a7d3eb7101410d0395c887fba5688e08e5523a83fc2afbd34b622973492d241398dc017a2f7328c70347af749f5f5d2c596427e46be2e790440a882edfea8784f9b92650597b4f9a5a03d68a5572a8ef192d3b744183d9e8c16fb8250539c266cef2e073959fe649f62103d8bb21cd1e29afc16c2cbe7150bcb26fdef6c0e6f639e219246c05ef1932d81303866bb294996d192e5c9ea9ceff4b346f8cfeb1a8f794e5f3244c3bec9e0c4f4103eafb40a4d92b01e1a75cf305bd78768414e7f69f431e9f2d07d63d5823a19d8d03f162ec0324dcf0f3124f8c1a03392f831fb1487225d34e29d77f680ecbe9b4040219ffff030868d9a0febdd95a382c77f9e77eb43f591e49ca5e9dc94b50fd36bf845d0db903eb07cb1bc7bf9575042fe1e563ae7855a024b3394d37dfaf53233c5847db25b803c8af47c764afd47d2aa9248e78309ffa472ffba16082fac16b0c1c2f80ea001703fa6d09e568d01fa7e57317bac5d0c2d497fa5b23cf7397e284f3704dca24b9c90219ffff03bf0a5cf5b8203b495c141adca5eab80db84ebc5a3d9253e49f9b60eae97c712f0379900d8d8fdadfb53d6e360a118ab7db64d5cde182bdd35a13a5b33c8ebf4baa031c25ca1569e9495c2361af7f65a99994fb62190f1e420c63bee3fcab605efb8f03b8c0c57589069646234e7054ff24c54349942131023b4a35547a3e24eabdb8dd03eee9041e947d71c14a2fb6b56d483bdffae84419059cb8bd5405ada55322ebdb0219ffff0345475aaa2897c2497f9522d27d87ea74c769fc0b9399e12cf16cf4deac8865170326bebd4abcd358b46ef8248995ed56ec1d75831e4ce41b17ec44750488af3e910329ad5a63d16dfdbcb85b6ae68e2f73a6379543fee2b0a913c8b8f279a522e0f20304033b5a16b3507d2cb2fcaa2b1d166c34074973a9a4a0f225ff14b5915dd252033116809becdc4e10da4c5b498b31881f1d8f4b5972af9b27398f705a545faf3d0325aa3970f28c969e626afddc369f298a04462a0647a834b46f396033335c86f90397e209a9705645327ef2135f05804af3819a4a5b255c1e5eccbf9d949e9a41c0033a18505bfb6d496ffc53b2598441004dd4ba4779f9b30db2bff6648e4f7533ed0369e60238b771379a3e9021e9781c7937151357715e01c2196bd3ec017a995477035493f30fb071052a72a1b65c10a17ccda03ddd8e0493877f87bec385fe639168036e4bd681211df91688555268bfaeeaf32e10eb43d0d1cefa9e62d261fc0806d8031973c27965b5d13921e9ee45961c8c6ffea4e561008ef0920ce361d2222364300382698d822b45153df1add3d41e2ec730fd1743e45615d0ecc57ab0dddd3c26a603be258860161acf4f39033bcfe927a4d73b74826ced984bfb73d68809b4f5082a033ce2e7d7428f2adf82d8b149be9eadcac0832a31e7aa2a9e7e112fd2e52d89a50393cc0e06b363c9682c36f872bdd867e602a3b042ffa4ef96bf1d85382727095003b3642aa29f9a9c30a7b12dfc49297edb10e5792733f4e60f9d9b5bd97afe2617033e36cadcf169072f81f3f31513c147ecfa064f1205bf651fc4338d2e4ac064d7030950cd71f02d5b4c89c33ad96115a128bf8453a242052f5863c786383b5c18f103f99b3b70b0a121e66cfe32170ea344dbbe9f374d860f23e91209e03ad17e730b030dd5813b585cc6ff22c0b3b5ee76c1fa43521147cfcdc033cc53ab404332cb1c0309067e341f8779fa56d99cf4ef002f1059df95df928288f2f2875bb12b1a161c036669a7511159d509a3bee56b7a2349031e20e57a5754696d3a65b424a6d76e400378419f383817b504c23d9b5c78f8644564a47dfc286be18cda9f95bc4fc52ec003ea3cc5523110fbc682c4d29e3ce821a94ef492e8d8fdd7017bf5c3589f17db0603c1532f4dbf29e12a862c562845e94d0279f180a34c79e39f266b12024a4f926e03406167eb50c038568fa1c2413f62e7604ed4b3cc4522f3114a3abbc5478e1d49034c383608def70dc5d34863492fb70e6339d65b142da8b8e2a5c7a42e6e5cbfb7031b986e6d7b08fd931d8e67c5cafbefac615f39b38c7c8d7294a3178f087394a5038348873b5857aae51a5ce027e284c712afa6cd23c76d5897bf53b94ecb2e4dee0367555d75cac55924d5e3c7f18369abb6258f983d348d81565444fdf5dfee1c1f038674be9d5607191f1f3b63b6fcdc371df30293631e9f13c7398f21f81daf1a0c03771b1df9b516e6b9dc1ad57c338ba45a894975890d2519ff4d3a1c55799a8768031dd511f6c706267462445c5018a2e7f94d6adde20e443bc024e38c313a069831033fad565ae1d5abc07703781026fdf56bb79a7d4f6a766020f5e9e1f42101bad603b5a07c62f5fa582a56c50203d258e1ea0a60afbea8df4ea5d4f2ff260bbd576a03efd9585537ef95c1cd70b9eb9f839b874dc8b01d21117409239223cdb01e5a560384caefb6631fb51d0326371c042cd1e8861d477f4aab6f5ad263b1bcb8e091e400581e02e5c8b53d75d5e66f58de42962a91972adf696867ab69c358f21813cc1d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffc591e5b4e40800581e0218afac053fa3f157582722cfc0100bff7b6bf22c3cb4cff865a71183045820fffffffffffffffffffffffffffffffffffffffffffffffffffffffe5ec479ff03932674d375beaf03b19542d13c3d6898ca8d3592b6594bac7b4608734514eaff03b27c79837fd3dd78e6af874374c180130f54e1df33d2256c6981f49e4a3a89d1021944880219ffff035d859bf8bbed64121651fe32ffe6e2a5d31dbd16a7035dadb055d4a9110a058b03a66065f3792489e8bd66414c99bc921b384e92774e732d0f1267ff5d67cc7bf5039a53fc8e97ed7aaeb4e168c4a8d86872cf42ac40760b17e9a0f7cd5c6a0a18df03cf308e48bfdce8665c6319a026ecaf69ae38b6c7a54b31c472e32db63799a98803f10d44c982f4f7e5d29af8b1386eb951bb86d344f7e53d71785fe292b510f9e40219ffff0381eb1591af0f3b04e847d8789bf94809f35d90e58cb51360927fb5c835c54e8a03b6202e1f7aec57447fb417ae066e62ae061b8fb68e5a1729c4ff80cb120ef7cc03a142cfa9adca90cecf131f215bfeb21c3d1ee10c6a8e33cf9ef1f6cfed0672a30388e028bffbcf45582287056eaa150f7cafe1bd9ea85711a1e512f3ff1ccd94ea033649dfc5fd7594ed212d5c21bcf8a32b4361bf4bb5a3042d97a65ed247c489a5037f13997937617ee7eb4c22a04c17448d0ac2385865e69a40aeeacd511d0e88730219ffff03b37233b8e85bf1bece2e1bdecb259ca9f11f94518bfd4f7cb710b2ff59121a0203ed7c23a4503fd0f381f66de8cb83f1eee50ed699deb6d76db2f37f420611c77403efdc4988d9e4b54068a90bc6b83aec749855e8a3dca7ed94c31341556a7d2ab80348c48ce67daadf0f66c5833299170185e5d10fdf6eb208be9a9af240b745d6d5038d14152a7c20942b720101b6b3dbecb7ded968ab7ad783a31c6ba89cdb6055210377775277bddadb48cea63bf2d02d494a4ce5dce473eddd618a41bc7f6ded66a00374a11bcfbd18c6132f0e6b00e978719ae262d805a385762444560664ea585dea03e496bd9f57a44f75b6a3d2af6ba001713c08cd5349644cdced6a747cb5c7f03c038dc09912a29b79e7e35089004b3be550188f2f326561e0dea54ddfdfdf8492e403afe4c65789cb4aac747018ec84a52c5965e404ed8944f81a3580a571ec3d968a039bc2c9bbeb3ff139253a41b62738532c39c61634eed767cbe3e55e56b5063c6503245ef67dc69a4fb73170f20f665b4f791e4ffef936f5aa9594668bf70873795103ed6f604e2858e9ce23391f7f8c794bf8f5b5d079d9bcc082398151c5626416ef038c9dac9870599998c25ae2439ade39d109354eae5a949fa5c2282fac9600a8600366e3f2b3ba79cb9ae2919a1d585507dccae46056b772d6e9c93a47ca414b439103be27f8c11d2b9207f5bb91404b0d93cd2bbcb892d82717abe90ede72510b4628031acef093290f937b1ed4c409e7b1c3743bfa8826480e08f54355e3190e1fe7c903d5245f932eec29b38480a7e9169c681a9de095c8eda9f34f8659fdc62ea3b9a70316be1c9b984663a93b73f1cc2fda58606b43e9d9caabebc7da123fd60d57703703d1ebe8ca5fb6891cd3845e970176e0b693bb8baf6649b283c1d5e69537c06c2403e3620ee43403dbe2c4f95a25845fbb180ccb0e30cddd1306ab35bb7769117bf10352e19b1e3ea30bee07afd4a76292d03d91d9fe2cfa7b7ff31ad9071afba8aad800581e02f3e11da1252e717d159ab12e7f24f11e277599cb95ffe8b37e921ba1b65820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0bdbf00581e021c58d058f2ba529cf3cc373d39c1efc8b3b8ff407b2c0b094aaa3270ea410100581e02fb41524b15c02e11b7ebdca6c0930e47afe8cd187eab6e7b319367376b43351cde00581e02e07620d20984e92d52c89edd981f78eec0c508da241183b1679f6e0686432dc6c00219a8800219ffff03b87fae5c4806152bdbc6d0854ab639ada715899595e6b621315d95f360554e490351ddb489b6ccf34e3215d87cabd6b169c7e9cfa5ef6ab230923d54faf48454fb0325449b90b9bcbbbeb55271cce8a4d31444afdb45463a4b2934cb450260969fb403c1ccb28dcf649113ae0c65cd207fd9e5d8de28fc4cf4b548e98367f699c2a36b030db2ecee32c03fa425d878c316be6f79156bed7b54c97da6cf5e425684f5225603de9af277ae8ce8a6b8120dbac7d2f027f7a459155deacd7b0c3bf9b067e8c40f03bf7fb937acc8dc9245a5a55d77ea23199ea31239526c6be29115983db714bf9d030649b9d46f3a95720b4ae4f148a84c6bdc3b331a02096051dc5613c846dc19d303e323b039c2105746f5be0ee0c235453146aae1b24042282c7459eb5eba2478f9035b3bca96a0ff340452b5168d1a17590e1eba0c3f257c8185532c999f52a5513f03f3e72b2b778e27c757a58ad68d54fbb45985613ba6685f391b7de6d58e44b16c03ce2dec5fea34e66c7618d9011ba70e1a1b7659f05155b1dac42110a02bd871e60219ffff034c1e4cf7b76c81d9a20069cdc9050e582cc705ba44fde0d6d8aeb1f98d2f86e0035671478fe90a1dce332d30de569f5fe77ad2f887af5f7e5487fb4958491ca43303f9670c08426f207b485e255457b5901de4b20f7bd2ba548c72904ea3da46f33b0342d65c06ae0ff3aa7f744fd78caac30bd74830a0da1d717839d1a0e4cf2ac5f70378926c93296566f0cf8f821a7913a9ea4c2d7dc345c7f2f6aaed3f4a7a74e16b03cd09ba39487f6475fe01414c6a0683870595fc16c5aa1739b533b58708b6c72603ef86cb2ac8347a085b61da8f7dabb395b0491d3ecec5df6d8e86d70aca6e1de90348913e5c6645e43a876469b1f8b0bec9e9536521da9dbfdf8189c00a9458a87a0358d0e6499839f4661be0725318388dba0b4c6f5a89b304b8ce44677434aafefb03a503295e188bdd21ea580cce14acf3fc827f3e4718bbccf22054408ecbb39e2f03e24307d3ab0dd2b64514950bcc07456926baf6478826606b258ed7de7321d45f0219ffff0318df3d8e478c40763c071fc57e4f0a176804d3e42226d5089e011f1f8531450b0353cb06467a282e541a1cff50fd1d085663fb851f842278d18d7eb14dfd6791d40219ffff03213001420c58d5a1d916450d158f7396adccb25a45d63e41d80cfc45021cc64803acfa9f00875b2a47a832f9ec972e2ff4c4e8937d69e9d58194d058792ecebf100372df234a7b88199c72421daf0fe00626b03136e59e681ef2a4f6de31092d0d0e03f79e17fc20f3bcb27f192c28d150db9c23ec3e0cc46bb2c8eaf3df74da66b837035717fd10adef4d4f9ba9295e7cd5869497234f7875104af0bf9592aab2e317d703f07e9d36848331611a58e62556e49c4490667b24c9196144da81026055d21fba0349de05e3267c2743b38877a6789b0c84941289423b05e5c89f7777bd743c063b036cc50079a3bdfad81a4918ed7f0eba6e40c23c0bf9fe01f257374731a898ded30311e8c484577db8d66210e6d1c7f3f8907dbea4b333a0e7d9415e691dcad7ad1803857219d82db11be61ab1b92f01f842b6864445b97b5dd1b5958ba871a6efb08a0317df84d4c39397f127928aba356d0f6cc3f627a1ba4d0f46fdaf817ba203430203b93d591fdbe7fd2f0dffdcd7fbaf13baf75a50f394bd7672550fa46609f4597803bd405c1f50c2dd6aa620af06730e49d8d9497a6097906b536f6aa38baf08e359037c0cb17a42c2d7a9506f5466bccd22ceaff44844e4bc2b1f141bfdcaacd0834a031edccaa24ee8eae4bd1d836087ce2ba8ba18385a0fe77966e4902d5a2a1ae54b039969909bf4a5a50c88daeb2ad4e56188b484d77e51eb074131c60338a28d8779037bcda4524c65d4379e7017be677d038d4695fc8d908ac4ec7ce166957c7a60030376ee0384840b09354326601cab0e785e619044d693dbe8728edd5d8fd63d0ba900581e026876825b4b072aa10a48b38bf57cc3f9c7b070e408ca8ea9f6d05bdeb24201bc00581e02d42724ee0823779323ad932891528d629daa1041048e44e51f3dc549c55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffbd39476300581e02a16d0240bb6ac32e2ff515cb9366f134becd949017ab18334d418301e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025a5c95e993ad7900d88d38d0c0fc98b905db21770baef9ff59fccfcfb15820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa2b57f00581e0269bddf19a76066f206cee02d176abbd2bfba734a39d8b6ee3fd9dcd2f34256b800581e0243311099dd924c1b214e9c7432e6e42d4bfb1f6348baf509100f147163440ec411a700581e02914fe3cae8af5ff9f00b5aedbea293cb9052b49544075811ce62cc391e4367a9be021924b5034b63dcb0fa886ee8b218f34b826504726f67d57af7fb11803cfbdf57a9f79b4603356000ca22416eb48c4c662539aee08080e828099cb7922b5b18e08a2bd37003031390224fb703c1665769ab25345de5867d0b0f53acf50fec970485454d975b09030ce3495f2f37ccbd36ff968cf43d94bfb93b4f59ba458c5ca675a684d4d4f12c03572e6f69bd1ebc844922b3f43dddd6426c46133d15961fa975a950e5bdf2e0c5038e1b9492a4a43b90014b7cc22fd6fe752b7d65fa491f74b81a4733c085f955ef032b47575472c5b225db2d2c71e369289c02d6c498d775fe8c40b58299c7c82419039447a018c8f6d79bb896c0bb84203908e17e1ae28475abcc14c1dbfc23edf5b80329077a9242d88b0342b5d5c6f14dccaf081b134ef5bd0b58042f609ded2a82d503593b32762c496459c91bc889b9a3ae55daf498768acfbb73f67b5821bc44cd2003abeb756ace142ba52ac6a176f40231b7a831d8e405ec0ddfb748507570a52fea0219ffff03a22818cdac7ab00c536d6f45eb5bd249d99c831a49b7aefec6ad74749edd9478039e26b307401f23d943dd57edc9ba140ae0ca0a9dccaa2511059d3c04f30ff8e6033ad8c3781c8114b776032300ed54e0964a798e64f79152a469cc8f89256bb7110352c49fcc9ec11132739802ce644c97d9bfaaf2e32879f12285060e06f233f0f103f598fc0968b7925952f73cf1fc76c1e45be86f0187ba1aa6fa87b361df2350a503e14f6074b3ddac72f17d8134b890fa17a9e5af8ea8401a369f6a21087a8d4f6e0396831ba76255a0f1fc0e5f8ee6c8b2b961200406ebf11bb46b61052c0fe7a0a6033ebb71ca358b9df26ac7293c0f5e0099221817b52de0f7f314bb52c72fcde3c603b467f626f9d9cfa58e24d7ce0caed8df3623c342cb9e4034bd286af7ed64cc5a03463db232872e0d9df6442fc7d6138a50ad380e31e98ab112143b243a18dc620803fabb42347ae2056b475ec6f48ec073944287ea10985e9c9925ce3409ea68b2890383b0daa5a9e7ad73dfbe4a388dcc850ccd52ce76ed83ca586d5ddabcecb8dfe503f5848fdc96ee0fe7f06dc9d5b294609afd48f417fc97816ef6369628da109a7a033b04c7e8c519585332ad7e5e3f875ebf8edeee20244b8836f49b0cec227b462903b29cce8c03150c628767a00a6e9e0ca79fa7177b7ba830f7e9c7ddef93f6b1740219ffff032b29960fcc08629e57d2572dbf63168e4b000f9a360dad51a58bde0836661ea003fc96e59ad217df30c0da85d68e41691c2ce197dafa38d5e08604e1302bcc21440219ffff033b18ea4cbdaee2805dc4eae60883a7965a958cd248ef02c1ab7cad1f9dd54a6d03dda55849a49c5e9ead028aa58da89c73e618b310cfd85577d9ad441a506719ec030e06cf008fef2c4fd5297059104a1c9701a2dd05b5be9d03a72935c08241975d0391f3d5a7418b92573a580457172f8f3d54afc84bf5ecfe5eb26855e96ca6280703d78283efa34448b75a8375ccaa12ebca59bf89fd99ce6022e635753d339bd23b036a62b069fc5b3f10cbb6bde3b5d0c6da44c5f24fa4eaff83c5bff14773ada7150315ceaa87230b93e4709384819761974004ff52ba42835f8b5a554ecf8752e2bb03b0f501d9a373889bafe8c15939c4f6bfb34400d6191626389b6094d557f8bcda030429d55fd68d89da0cda1fdceecd15d681947f27006259004ce0190c5e0e97b403dd5a4f2ac8915ea876cff5e6a0bb55a5b277550662241258403b0cc27e0c7d5d03e2974aca08167ba1a4ec3d4020337a55e5f68e45b5b98da4e74d482a8b9652770355eb7476afbe619f7dd64c99357a1565f9a6a6bd360296b50c0699e577a0216d035a460478f0b4ecc88d8b44bc509188a4a377c07b1c1870dcb3a222b11387a845036d9d5e21fe228e731504893ca78a20458e4b33ddfd8b321203144bf889e03929038be63e25255cb933a4758e51d0a6c81e6f1c89dc7f09bc915a371b6bc8610f82035dae55476e65aa09f90b34a943a0bcdf056fea0c35ac1645e82139109580f9f303ebe14b53d802f535b1ba301a32bc70dc75d33cafe14c2e4214befc4d038c4f31030fc61a64596500e54c833f1edd5a357c485d521b843a4515bf4db956f8b35e6103ad15187241eeedbee13c1fadd32e9e1e90f498c775881b61a887c5e01569c87c03a3ed69f701f479577ff321c3eb016051e97b293bfdd2f1efdcfe9d1cd64eddbc03d113ab61e8d6f77d11d28ed1b32eba60f5546870a0b1992dcca1293ff0fc799403c390e9be6b660afa8ff6f49a2c0a70d18bf43d01d1f81ff571a693a6aa17bdfb0383357e5399f4fa1c2cdbbf6717cbf54a0a1fcd690752839087d543b648846bc2037f65afbf5beecd7ca6f09f6b34f5910d36f3f49d0989f1c2dd501d65c0708493030068c8f706cbf8aaef9cb85777486de1566129248a32084469d4cf5a159230db03fb42d99ad3882312f70d2b04b69c23180dea614154f75ef880cdbea69e6a933f039e1b7c6860b78f7c60799415fe554a98e46f483e083f3d38a8b65dcee27e718503f4ed881dc7a2d8bd9e152106d3745c29c8c92a9c1890156ff3f5434b2145a84303efa3e8aedf86a98453ca182af905f00e503ad3501748f38b8fc545db5eebdb7c0302eb5cebac60ab43d9ded076dcb728b0e92f40e8ed08682878c1593977eeb04803b0a62be970bd395c1f1adf968011a882cca7a090417b63060452482c03f8c3f8031496ea9dc5bfe640d5d920e8e57985ac14872337798ab42e2593a6c602a9e4cc0302949817205f9bb642021d18f7369e0279472a137c56ccf25d026915f6c274b7033a4431e3e2e0ccbc81a7cafdf62b52107291ccf78d643c225471d00f5e5d07d8034da866ce78e00bb15aa3013e647faadf6000cceace0ea5f0fd1bc63252a60f9d00581e02b52388578ff968694c133d8a634d4575fb6f6874f294b5dbaedd501f06450218711a0000581e0200939432b0218b2594a1d431edd1e95a0a3a47b942318860202d5826ac5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffa8647a8f00581e0207f0c46f139e0a5c74d56f2bdd0b07328e32112888c1132e78ccdb42325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc4b77fbe03833704976c55a190db79086c8cf274c88a653ed82e2625ce2450932c246dd593031e49ab41cbb18b255fc4fbab6eae23dbc1454e67fe8140e3cc19399470ba3ba900581e02aedfc40a5f6145dc7fadfb88bbde97bee9cf6857c4b4ad9928744d3076410100581e0251283a31ce1e256ea30adab4df53d79fcde20461f946b4b6cbac72d5535820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc952dfe0219c532039100f22a6133b3b72b1b6e3ac2f46486db7e2dc3e2142fbaf9466cbe0da7d77003b81b2329a6fd0f38b405a476e06455ab9e85e59fb4a0eefc72e55ed7c9977ea2033f90990b2620bd9003b37f72a5dbd5f0274845981260f22639e17d7cf23c2b6b03271b3b4961cfe8a4abe6dcb6ddc2cf2436b5338a5447c0157423499327cfdae00346c319a357b8ab15886f123c1778bef3080f017fea28f05538b319119db2b41903ff899de230c637f0992c5f240992a8b0d8b1101322647554ebc650ee87eef1b60382d5a20ec48e96c33900cad33d174654ac026631c7fe885ec59cf4dbd14cbb3d037ab2ecc15d95e466fae1915d135290f142b12629d5aca9f9e560cdcfa4dde91c0219ffff0219ffff03e3ac5b711421a572235f452d9fe91649eb74ec7fb338dda01bae22d599ef8f820310802b3c424a4b0761f4c78bb031dc0f9572b1e7d97b811cd3d84fa6f2d4a52f034cb603570a9d0dc656a4a374de7b105e7f6799b0ed2e97537ea131b3b93c6b4c0219ffff03c81e6dd4dbdb4745d18ed2145bf34ce333baf9b6eaa866115c280acc80bc590503ea2c480b182095943b36ba145ce97c748927090339e585312cb9cf908b3dfe6803975c1e0af6502db8d7b5cb6358f71d73c76ac6c889465a765cc3b1a450a2e3d003e0f4d0cb1c96b7e9cc07a90978318970bb33796df12030580fc7260cab81050a03f1c517991e3677a2f627ada0493a729fbc11496ea461ad601075999540fd22e903b24309e5c96548c2157c002ffe55dacb08176061fa3c663899014f939b92189c03771e95c431438524714baa738e50fb22e79534272b753a62378ed401ff58b5da0344f30c23783d68103c46c6aefc551629f024fa9dc86b205475cbe0d8ca823da403c727d29cb4ecb0f057f73fdfb083c838ee8432ea7b10a2b74ca72e7c31daefad036739d3dd15faf109a76f56b1d7438ef1c0966941ac62703cc33723fe093ba64203d84901e198860b52b6ab671df84b1920f1fe4537d5d131aa2e0ed553cb676b79037a81572ee28871a0723e3d9df50e9ffeb6c70937904b8ed0d56bfca4a8ec7b17039a43e54e9d424355abe2b415e3cb7d506761ab7e5c54184cf11468361d6d3d9e00581e02f815931c17530a6c3b8e47427d456d2e225a941961e21831dbd0650b77430f42400319b16fce9d7cd49e6b472cc20ac30f076e5b6b3af64c7012f35af28c3f765ef800581e0228728f050f8e7632621211b48e7078589ec7651fa5ed751be453bf91024424c42a1900581e028a639d9ef936800288ce81f335daa34ed189e83439a356fd138d03d3d0440118133802194430034e19160b4de45556b4129b41e3c88550d6b0ad08c8da2d117c1892a11a90ddbf0387f338e1cab9ac945d016428e86f756b9a0a8c91a0931d901416ee9b91f42d0b034109dfed3e3d7bf1ac7f80dd0a802f9e4a14df08630572e1e5216ae64d23336d03f02e4a4879c6b55044b428f082e448fd8ed7b274fdb494f0f64d653d110ce0e503116ce619637dc11b8389a750f7dde773caf5cce5c3ef325a5e75f64a799f6c0803b7eff9f310f1b67154e45f1ad463f894afa0c2aaab09d6f8f3e42785feda519e034f5503ef83f2083218d1aad516386cd5202b26cc3636c6209ad5fba65313a377037b37758e7b0533bfc6dd3cdbd4fc8e030102b8a4540d46a77fc00397d8e9abe903bfa22e4b2a00b971e937b26f574a5617521ecc2df6fba68c30157b2cf476112e034df93f320823b4faf790f1a4bbdb167b0c754da46a2e55589b985d76482eed7d037ca94c1c09e61bb2e4b6389310718e8664f0931ad8946a0917399efa3e9f45fa03dc70a001891bf160823010038880cb4b962a0cd8121f6b7d1408cdae1775f75f037b761b801fd8a765801d47032ed7fc4da9cc085e4618ebe406775c62903a1ca203f9b17cb04f1c29e8bb0ca98b2b1a90c56a972078569cff09b121971fc7f8248d0219ffff036ec9be3a1663a904587a5a8bb9eeb43c86852367806b2179a10139d106caa0b803636cbf3b4651fcaf6a42c9a0cda970ab9192e28c1cb2f893a50036885f8a2d5c03c39048f9da47fb54d527a7b9224b689e53c23bc9bcc67b8614e65076b6c75f1d030ddc5a810b4f8b3e1fcacf4a85bcabf5466c8561bdfdea8021efc5579da5cb820374c0d7f719ec360c7cf70852062fac603d4ce259b61f5eb120af2abe8df1390d036a326013820effd9eb27adc6e83dde48fdebe8b8366f2f774d8a013b9cdf3d0403b4edbffa07a61660a0c90950274212229cebed25cc7fcc927a9b806945502f4a03a3cca6786e41b2e0be8c1780b5dc135cf43102bcbcfed00ede3ed17b791026fe03faed560f4624947271058814b808ff3b094debe2262ebe5ec5cd647977bcda380321344c593d7897e3a9ac5cfd3700fd8de6b272f342f0eb87ff53d35e0c15dc1c038143986f520dd89ab4e22e121839a10e4fcd89bd68afce55e5466800a0430da5031ff5482bb3ce5373efc8a63a8dfe1a262fdc9be8210e6168fe868268947c12640219ffff0392b819c2f207937f6793aa9d5f6b7566adb7f23f2d1c7f73ac5eecfa19fc44fb03c189e30d7b910068b08d32427d3f95e33dd4d128743d3ca960074d854f35874f0348d7fbdf51d0c9ca78a691d54f7791a3efa0cd9649c5c3ddb8be2ef39b60c4dc03ffcfbaf5d94296f9c32baa45773b032eded0d9b2902a831cbca8cc1196d5e97403f39fc7a817d1fbcd8ba67bb8a7c010211e025a1a820d0ab0cef86b2cefa7f7eb03e0ef24c2fc8dd8097c94eb7aa087364545e4a21a19818d05fd0211dcf2c013260308552fa8980ecd60b4a676ab6f446100930940abe888c214166b1695e96483b703f980e3780efb232036f37b07f267f7435cfc24c59993289cf940e58dcf0c67ec0219ffff03e1dbe1b20a673f86e8ff2835757cc4b4a04ba8327653e012f9d060563b17b0d103c4c41c25ef3e140c5b535aad2d1d914aa4a07f10a14272510fdc6280cc819cd203dbcad4108e2df1f4ccc826aad894d43ae331f8dd2e364640eeb71216df9cf24a03aa5a787006aa14309722b7f3aa45d1de26a3e685379b5f075d47a3df9071a16c03bafe2968d03607e6488209d436f4571d49afa1c078a4578e4c96b69caad5b25f039677cfd9de9812f41033ff5287dabb13bdf7d985edf12b42743de88620ca4e27032c090767b7b660030a51eee8bd62cf66630e85d1378a47601a8dfd3a2104d687036f1359a260a47a6a3f4f738f5acecfc73bb2dbf57a902d2df0fd295aa1b1e7ee0354e2aff581bc83039952b669ff64ee5cb20c5cac5bbb669dcb39102e693b754203993b6bbef235d6d3d046d69aaf00676b5b464a58a209afea94b6682339472791036baee41ce30d73e91a6dc8f627c2127d91cea642af7861f975149ade827146fb037b1a6ad0cf2167c71f6a6251035baaa7b837862d13f3f87f233054de37a4ddd600581e023cf87f7ea4898b89a4a2fc4d4f9a9b66d3eaa985b2f9bd57e0fcca423f432deef900581e02f38ff8f0df417b8fbe2b6c4db7f2853cbbdd106744e86eb7e26ffa04484401d98b8500581e02f1a7f9701bc8c5d51d514394fa57ca7e25298bedbe104895aca7e11e6a450116209f7800581e02bc4cae7aaee24326aefcc5fa1a21192ddf5b1f6f287d36bf19a510a3e25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffac86f8da6100581e02fa0e9ef3b149cfe005ce21a898c3dc18a033f1dda5b29be868f86bf6744402faf08000581e02df9c2106b5232d6fa147bfb50da57a9aa523d17477ce68c86011c11a2f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffff84c9b1025900581e02a0571086ef4ecf135da715ee95b8136dc13c59be88f851b25d1ec5f6c55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e02af149252080a95f0f81c81034d3ed4f8bb67deb2597946f24071b459f043e4e1c000581e02df05ee02290ec4258443bfca63dad9d2fbe09e43affbd09c8323f84c965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f02191c5f03cc4be760962f5172356e57971858c8dba005de6ea8cde2d6469b3e4cf253396d030b8aa6578fbb2386c3315751cb3327f0c3c657667a90c6b7013672bac71dfc830399270bc39edcc6ca92630ed62f255a1103ea6ad3f43093249de1e7760989f30300581f031245979f7346ed5c5e66b9f0162f19dde54c36d2b2558cf6de421ba38090433092090337dd62a95a09a1a65d93bd8aa13de2e29d8183b8defffbeda9c43cac7f18173703a47333e4c057cea3e89c0cae357b6f8eb58967517e85872d7df22502dbe5e39c0219ffff0331793499394243c5d1a83dec053e31317d9d0156a5e31d81b1c7891e22695d5403f70b4465f9ec15e1885472bb8d94d1993265384ccca107aff5d7ff512153763203582847e4da40c13d17cab5e2d568189dee2089edb74067e0e726eae293bb8a40038fb27c718789e2f45a4eaf0115eb2f8f8c603d8cc324891280c294453704085c03134c00129e263848958fb9998b3bbbcf2a59b671b559c0965f7ced90084331bd03fae87c9e1ec5021bfabe45435f506befd0f3b5365ccbef1135ba0e514d1886d503f24313bf5316e9c881e4ae83af8d549dca4820b01570b55a10c307ab3ef2411803ced5db9af0f5fcf7f47140797da3a3484ae215661986e80d718cb73a264dd0db0315895d4fc09c95bf6344a394c2d9b186d18f5886fe0ecac46b02b5a55aa6e67b03b1903ca149c569af9fb979d3e2c6c62ac485d93e016a2d38cd93016cbfdf543603a4a2473099b6108dec05c997488efffc0bd47a4d21638ffcbe32086604ba5fe203d05f13e97602f9bf1c7a522372fd3ec722a5f6a55ae9e5cad8614e54869070cd03623f716dbe67d8949188dfa11029747157a762e23b12e4de55429b18202c5c5503dd477f41787780cd3b76487b73ba616b581a612080c499dcb4e1c912fa7d2e180219ffff0322a6180f0b71e1c618e957698c7353530c55fa6e74dd0b46dde6d55689ae8cc003e3e4e45e74bc4cd109f5a6aa208d19e49a070c0148087ed2a5ff0c4ab78e171a03d425c688ac8f5ff906fbcf126bdc8868abf3eae14f9106c11ec33585cbaf674a03fca70bfa983b3e0f37d080d11f8d2499b30e93f2572bdc6acb54804cd624f98d03fd4e1be4f9d64aa8686e8534b22e522fe86ac370e9e431ed0bb5116f4ceeefd00375051972df2cf531c55518cd66b47bb856329b492b49ba7cbc26576ee90d2442035fa8a74132dc1069a696dc6156c790345faf9e0ff3ef870468c1e867fd96d62603b15f0ae7a8b1aace54fb2b331244942994a1d76c9f517abf1e7797593acf8f9603bc5993cbf67a03d92621b1c5841b20eb6c9cbb0ad8494debd7ebf6a61b1fc69c03f1f6e27d1275a3f9355f1b5dfdeaf2ddea5b303c6b0e5127e1f5aa5fa2f8059903c523e63a5d7bf4f7697e5e05d81ce93d599bd0d6eda558ff91f260a1eea5516a03e24bf730ca051101b5849cd75b9bb96ec188e73e555948d6ded2543ee6fe52e803ac5051085f1bcf2b1b902678a53e27deb28a7648da0e04ca1a45d1a8d150f3ee0219ffff039cfa1c5becb12e6e8fc2c6efc7ea3701cbb4ec6f257ff216009798cd693f4fd20316a1bf7496892b132d9523b0ddd77b34ead51c57a34ab6c4717f0f721c4ab11e0334e408665d6d629c0ba501275609f9e70476726f48caca9f8e36cd0e0fbfadb703a664f4b7adf21fa57cb81c69bd48e42f8371ac80942c00b2d95035318853b23003427b0cda9729e2794cdc06fefd674de89d52d0a9eea1a08a8442bf373310cdf703e0f68d8f0d3df8b9c54c5bcdcbf6caebf57a3a7b47daa419bd1fb6e929fe24ad0334398f8b96be61a71a100e5d77cdafda0d50b7c5b037e98e7a23ca67cf1223c203ec8e4059af4fd1dd731bb95c55929ef02df4a43ecd9351bf23f87d0c2ac786eb03456b97987323f584fe598f22eadcae9b0b953c02873244b8407d28156dbdd81d03e11d2302b898c3936809b6cfb3225ccc1f029f10b1a9b57d85cd9a75c4fa260f0322dff50983a4cdcb041ac280ecac18069e441184edf8886c92da9ebd62ad881f03640e8cdba873bbac99ab6e42ff989f2e6da6cc3a6f3fad5c7f25e37c554492a003f94b043622c58e5130de02aab6a85878071bb58701f9914778ccc14952d73d2b03dd27dabcfcbbde7f4bf9993ebffe8aee0277dae2d09630f01cb1b4a80016824403bfb549822acf791bd96349332658e8e3df4a9e1ebaf966b639edfaff9be2a14803cce78c425aa7f497d8e8925c031934f79a93c56a0f0a6501d5757ba5cff67a8403058a0e9419f4b9088922d5d9c1937db29b3cbe39175f088ac289b15e3ecc0cbf03697d7e205578edf5b88c9164e8a387b23e77a84da3f72ca7cccb394f0be7eae203626c8c74628ad8309ed973eb42f62f993b2e6fac9c9b82c28e6a1ce9f337e6550383414ee02cefaccfbcc22a0e27f6a5c8fc3aeff63a54066afb60ce2827d27759039b3fbb44981f33379a350a268ccaac449a72c8cf571538e2e0128e71faa8aa5403384679085638fe36792fd3aae8faed4e13ed04bdfe835924215a49b7dd3d38ee03732d3e42b4f92cbca4c81aec528c50ecd6852a3690c939b1fab6237154dfbaba033722a06976e4f33f4f913b664a57ca1ef7035388eb69d7980adb04a3a863986403bbd8bcb1ed70dcaf89dca1c4cf30f6486f03fe341913f2c1e92806f7514044cc03e6cd9a6ea7efff84c2c553c90d6f5d5f4d8c63ecec88d3a31d53bb0e62723bb4033b6a5d7a88c36143d3f3fb14262bf42d015471a8d66443ecb0f2d6dfb65c9f0b03374eed4f093e676b135fda6285d78d8429c23e187f9515eb37cd7942405661be03cbfa409212abc2749732b0b88f6899765b44f51f2ce102738d4060a0c02e367503af4aa9d9b2b065300ff0e7006f64b14d3ad3efaedb3a46bf04624eddf939f25a00581e02895f7c4b69c13663f0d396ef85563373b1584cecd4e10fd0106ff4155043017caa00581e02b3eef5bd1e1c01dc9ab4fa3a8fd70264e0e22d6994b3f8c18f1c24d5935820fffffffffffffffffffffffffffffffffffffffffffffffffffffff9f2477bff03f22b7884635fd7fbf23b1c5f55fc61a4d5720d1f1c9c15162fe2736730e5580f00581e02e84daec0f7de2a7f7b2625c4698318b752e77c39dcf5e3e3cc8621642d410100581e025a4b6cea0b6e24ac773d9faf717cc682b41950c954a856c3ee1ee116ce5820fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85edf0219234403a38531cefde0f170a9651377185ac0ca1509b1b32a64b3b5cc20440c5e4870ef0384e12540854b0791cb38a6ef9ed5a0314dd3e0e44ed3eed5aec95d5c55a419f40370e27dd09cb2013f864cfba099b10fed79935551a8657671842c9e4e0acc4c7603f5045c4355abd740ae0fafe0b8f5d8a7885532cdf4d3b104835e8abaa90216cd033ea63ceaaa15be52aa3919f8bfa85cb068300dcb0465e4b87206371804daac6303503161766b0339bee038836836bf30f64301b15039f80e782c92a95dcebc6a2a0361f3ee0ffafcfcf38e4eee49c0b55a9cd59b689370d3a2111944a7bafad8df8d03808ad7fe77972e51539ef276580ab940286ca75a0ece28c4cb3689b62fdfcef603b025b462bb1bd06edba0402e792953a04ee63355100060355f6f15ea5a9c318f036fe78752038762fc27588d7eb61ad28c60d0632ce20a5231ef236f01b5163d0a0219ffff0219ffff03c05093824679e628fb039d276410a682326acb9b0c2609d0c9db7c0f6aeeec9103c746e96627c1af4650bf0087d48ebbfe7e8d29d5826b43e5cf64ffcafd5d0de803ba8928dbebd150212f730398abe6df1b910fcaeb1f0dbe67c4a7cdc8a11498df03b2c80918ae4433469e0df96d9d0344bafb03c9a0c8ece7164fadee505cda33e1036295dd32231596f23f58964bf8e6c8c1f5e78a73bcfa3a09c8b3e70e9532ba3e0309f2fe5d5dadf38232198d19b7ea9e0d2f44f4962b8ca29d747c1522ee431705030b07cbf02811d0c44d4d9705b694b33da705285fb1e4ae4c57391c271e558bb503029afbd6cc36a1af005d53d159b85b1f29471f0ebfc9c216109e11559cf0245103d4babb904979af9581183cbdf2a43a413d7212dfe40423256cc5b2e0156b715b0399d025bb60fb196a6b695c6b45cb9863349a25d0a95b034e2ab81ff59a9f734d0219ffff03ea82ffcf4543abe51b3195c02b6b2661072cdcd36dcf6aa70bdefcd2c305ccac03b8abe45c7203e3ee88c9d970c3e7355322205fac575b8296da410826023167f90219ffff03a6f32b7f67c8e125aca85b76b981036520c18976797dab75c06f05523453a4ea0219ffff05581d0292cd7f3f78137497df02f6ccb9badda93d9782e0f230c807ba728be0070119088a02190a0205581e030864713ac2db5e9db0684a29a85b09f8e2455d445c5cf00aa58fcacae0040105581e0382cbe9e9e102d9cff9caf9f978abd0677de42e743578f991d9bdaeb2900c0b4705e5e4dc9af40002195ee7033455badab272e160f5073852fae6d04a8696b90015aaf2f8f3eefce6c570841703dac65fc9721f10396a9488adc58e5722527bfba2af0c358a985132fca8faadc303ef72b060f5704fa4479d7c7f29d771420d46aa0e78020ee314176d6b3baa8e1303932f7e0b119160a118e3eb7ed691cac7163ff775eb6e5e163a27904a14b75ecb03c41c5e70289ab77172db9e42bf65ca3a2cca2251f22f5717886a51e5d543ea9e030c23a08d2045612c8b7e1bd7383be6a919f5b06a243a4f1a6bcc034f2e4e76de03af9fbecd149a21467bffd1f8ead409d8ccead8dc6d55bf82af70813e74dfc22a03f53a5c5a890da2d8fa58c0eeee5e5c8dde92a1472441a514c32f03f5b64873150301899b4da112719a28ffc94405856d1b0caff59c59ebc63d51d096067b1e3a380378a6818c13eb82b0af880762ca82ec9d6e2f7ca13f6d269acd6e565cb49356940219ffff0373950079b9bf002a5f350ec2cedc5204fc018ace693b68229be3b6607c7b3127037bcac9d4b744f6c62f6c237d5bc5e0911310560a3fc8e117765aec2fc0597a9c03a6c2c5df4be23162a290c7d94a261d493112ced73af311e9f684d49a187c6b8803d23aaf328f9ca4e3a3dd05cb42fac910aeade0ab932486a14dc3281793bc31ff0355a230a7314b0a4c1fea898db7ab60695f220196519f5f6775fe660c9d30296303490582251ada685fc67fcfb59ccb3ea7903b2853c79af56052bb285b003696be035eecb4158501336d88f5555268df78d382b40eb75c7552d1c08342c1f353c67003469573d29a1586cb8a571a1e29daa7db05195a4ca0c985cbabeb6f70b77925a703a9d10019125ab182d269296ba5a0e7b34848c7e2afebe36d2e2e86c0d9fdd5b303ca30632c3475f41baf3b545e54bc46605cb4a52d8d87f833b4e71a4bafd87d830219ffff031148818fc837f4b8cabf8deb72212a99fa9602510c4f52d83a1ea6c8da9b2b3503c197cd6619f3e611663a6bd947204ae06bc948738f62f43b999c8bd16ce39c9d034243fdf63e5fa44736b9a7ced71e8a514f9fd284ad14dae2639a234a26ac745403d259c7a8333b2cdf2c662aa1f17f3468877da7ef97ce57221398e8f5b3f02432034198e0557909564bcbcaf698b4e8616f8419b4c10f955848be5eac38e895482c03f7061c9d4809b8e353f6da95d9bb4e49dc3655aa03af97145bbfcb81ae7415c2033cb6cbe5a9ca0e853ce9eb5af1909746fb96722f2062c93188fe9809c4d7cfe30219ffff03dcdec01273daba31ab986a6409f741d506bd6d6610409e74c1d5abfbc8635f5203cdeb4fb4d8bbf71a0b08dd89e64861da05c019358dbbd0b95ee67995fe8f64e7030163cd600b5be61e2b21a0c0f0302b699f7781d103ac398415f693bcdb09d2c40368d59f88f06d1c384d8ff73835876e5797ac5acea251e8503517bc11cc97d9c003bc604c822878aa5734fa73615498e741e541fe285307138668b07ddf4e7268ce0302d52a559cc883fa41791f737fbf7e28b885a4a00e096057ddcf72689ca605a50363be800dc58c1fbae61aa2355c98ae78a66fa9333b563169c9bd44ed94fc5837033e6184525512c7e6c0b4e0d3fa008d53e9d509211a96ee34a98709001e3e6fe0035a37adbc7f1b99dda3e2dc61cc7e44db9c2c2327ea359d5ddfa0a57f2eb82f8103c5a1c648b429e01a5992754e4f06b637b9b0b6ad2bf540e180ed5c45b7722f5d03c2be7f0b8f2b933121ba75b11738cfd145a4746c242278e8c7db28c1e2c517ab03659829cdfad4c0a4ef830eeb01b62fb11e44097c89c75d0dc7ab28426453c6f803e8ca570f9f2faa457b960cf66849259d3b72489694ca227b2b227716080363da0377083b921264961fcb285de7804ae99ed773af7d29cdcbeb77e18708dca9b4f6036d968f5f3a123d7d913ac1749a121925bc59c9c01cbde6c36fd1dd0c0385ddce036420067c6e4de33182c6b5381f8977661baf4e4ec719a2e5a49fcd37fc7754f603d23467fc3d050425de3bfd298afce3fbad00827c77e90e3f22dfade6bc99393003b2431079886fced1ad76ee7879b097be8500e9d858beb54180f81a6c260a6d8f03ea944adf016b96eb39634bde49c1bf83919ad81198bf0308492ea53d3f4bd57803780b14d82932f12e4c850de31257716d70a3e6fe4873d4432ceb4e918fb788390360bbd0d3607c9f506962ee32d4a2f0ca0e0e47313ed94296d2a839cecd4578d603c490964f9c82c12e39481963ba9f6276309b965563fd51dc7cd316d9b9d34a020324d28ce58b253340527b838ecd5b0cada815271083853e90cc3e1adaefbdd282036e12e0545c6b15e603e62aa936b63926683f581762298efb1b0f27da19d24f9a05581d02bf6714cb17787b5e617f06ba70178174bce6942884903f477526417a08472386f26fc1000005581d022c8e294e78df8a6a65f445040f1a0461b01323fe0dcc71fa6a6231250c1a00020a8e4902357e5a4dc1d2009f021203fd31b093553a9a7329532bdf74e807a810368b2b59bf27a8b7825ba6eb06404e03e6a03f3f3b1b601fa10318b7581596aba1b3eb513a7c2b56d52b4517bde8a95d05581e036d4bff933086baec23026dfd4ec7ba75d8fbb74628842810eac16c58a00c0146f9aa81c72e82033cda4b0996bfc02dedfe364fa4d52fba9271de996b56653607d36e4e780a43e805581e03a499a551d4bec3d8857ebc298f8b13bb7693e04758367536028c02eb600c024701e1e67b0eb60005581e037e5fa07239b044b4a7f7711949321f1f6939f65bcfd1f738a0b39470d00c034705176ee89d080003ac1bd6f287fefe949063e3857994d8cd5ad95905678fa12f79e5ae3e6f66fd8b05581e034522d129da8555d742ed645bd0d3f5fd3c6ec7b18b3a349ed8fcc23250040105581e03a3135194bf3a6bcf8fe8ef989435c1c4fdd3722e49612a8d68be6437d0040105581e032c6c0bcf8563136badeb358c7c6017ff486ff957989db0edd2540082a00c0246c31bac3f977002197ee3030fb0e7b65f18f1f70160edff59a7a35b820c6f5cdf775de75b1b32b3f61b61270219ffff03f241810c9f0af70464d4ccaf1375717843c309436b9f67d6bbf806f6a0e51059033f765231c547210a7d0e49b12ecba91b48008e4076ac7b262984d1875b87a82a039a08e7c38df62c8fcfa7cc083b876f8e32bb8b626eacb658f2585c2f75c51270030ae1b83ce43f62555744c3bdc24d0d57712ac5fdd20c53300d693391db0165e60377a1de9f3308bb336f8df45c14c4e237c77729d1e5cbd5553a80dd390e8152f203268ec4bf9f8497559c247b27ab467035a1d10f272080168e2fc3be792ac71a1c034c677a64e2510b813383c6c56d3fa16fb25fe2bea61dfa81eab94e92217024c003a4b746a634a6896302c4edeefc6f0179e35f07c1080226fa1e7309c95c2b7d870395693e067eed98eb8cd519ba7632dbeb8c9f99ae21aeecd7152e76084294554d03d0a89a637052e258b6efd6b3b0ecb0d76bc087a3efe312175ed8b66a643f9b68030b5f348feea5a4b39ea44b43ae704751e15a5d20e65d170b159992d26841e7de0329ca094155b3be85fb091dd47f66d9374ea00d7e880f9a230e2e3131b7eeca8103abad8dff3ce3312bbdf94adb198309f08135739b4b8cc9492dc8e761deec81880387a92059be56010109f2e01d5f08e2595d29f5ef6dc26184aaab046936c0f9280219ffff033157c429e3a01ad05380ebdfcd6fff03620f85e8ce7acf2532502cf377d92d9903274a553e0eccab496ad11888f465bddc24931539b6a81fb85ed1e9f95864527903a53a769f9dbc7fc3105c323fad0157671482582899bc4bd423892c4ee3651efc03b7cd1fcb757cbcd23a0ac32f4f1c0e9cc13306c0254e380de0c3f88b4449a83403a1ebc1d16d539a6be07cb3308f3ddf27e6b30a8fbd8642dc5518fef9581f977e03360e3ae1c1a0c010f3f1dd084902f6356796b9899c9086b9304b9fa31cbf297d03e410c1341ba4595c287d2a406809bd992dc255c380b78cb08236c6438358f20103e49112b2c87ff6a31502047a803fcd052377e3b2f5c54a75102746810d3e64ba037e09251bd450bbf0c0e897804430ea39ec4f00671859946a030f047ac9b5fbe003f81daadc1ff24cd590976c35b0e361bab6cc8ba96a54f733fc0dcccbb599cc3d035894083d4d7e99632cda7c03d079b21b3106f4006a6798c29846e1f57e51bcb103aff107d86f104b2b1db968a05fc1ed9fa06655704f314643e38c2bbd1e4ffbe703309c5245323576ff4bdf06a076a80d346ae0cfc61675de1ee3ef277d94d8c8340343d4e0f8fd25a1a17d7a9c814b9ba219c04890680fa3ef72cbe496aefad871e7031759a4d98a275b9629de80b6d4aac567a251a9d10ecbfc1a1a97ecf3fb85a65c03c1d6df71fcc0d7a36ef63c37b3fe37324cdcbe5dcb40c9648f48318f55e58b45036a7a4908d6351c3166c769275b5bc250ab8b2a837ca9334d66d10d8fe361f4380379a8ad7c17808b4e6d4c01d91c112aa6032973808759e07cf228361f6ebfb32b03490e46092a4569855ec658da95389d33ddd54a28a6f15b74d15d201d44cad7e8031783c2cc904e19e5352b11deefa38fb831a12c6e723f033105439b497f8cce4b0302168d8e5a83fde6311079d6fb323183968c80c1fd71768dd3c19157bfff670405581e03664b954dc16ab83322ca7b9df97fd44bbed0f0776ae2b477a593390be0040103abafa738c1e75637e2a587171c120a4c15b972f205f33b2702343b2067f2c90005581e03879408d31f6b1085a80ba7d17d5cd20394d64b7f612984651cda27dab00c182c463f73a3d75a0005581e033b797112361c3048642683ceb0cb6b8512b45171bdc97657c21aa282200c0147015f5db32a32090399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803ec02238497c1802618f39e845ef19e722b6325c7b25d66479ee295dad9bc6e7105581e039b4446e5b55bb997e63b28ef393d30f1eb79cafe10b60ed729ee5a668007011bffffffffffffffff05581d028d26a385c492013919295a33ddbe58ca9b0424064821d1b2fa205c2b084804957f31e7c2600005581d02e2dafe73f0b93c434a74ab45e042878adbcc58146eeba9bd3206128e040105581d028b0c21b7ddcac45acce6b1d5e648127e113c67bd3ba37523132b33be08473c8cf718dcb39605581d0285f770dae21130e5f02e9b483fadf2ba1c02b98c4f1ffa15d6c356fc0848440f1d1da084294c02192320032a665a763ebc48e9acd84ee2d3d8df5caadeef14d2f645609855875cd44541b50219d2720383a9261cbc1d1d09f7102ca8db2d576e92f5086d9b032a4a33260c113793782803b4212b33b640a2b02744339986fce43f7629662cc4158cc6d42d5effddaaf8cc034a4ecefd9ebf53f33e5310b9b6bd4e802946507aaa5e513ad4a5c05a182bea98030bce2a0cf115393751f37064eb93bfe7c726bd15afc2be305a3fe6c3a1600cfc03f30fd8804db89b350eeeaf97a28a22e91af0d5b4a7b8c7b3e9e8012e303e15f9030d8e1c957ce42d13cde58f3fb2afa21f43f20b8216513f55953905e17d7aef4f0303656fb991079848a014a62a0002c05802bc8fbaa9133a6bde000c43864ba23903c01681266877858dda07162794eb6651ffc153cebf5fae5727ebb2d80b6b09eb0219ffff036207f773530482ddbcd5baf7d1b7ba774ddb73ebbb9241ba1ba2f855108dd20903127558939d8e013374430adf2ee6dd3f6691fa777371cc54723354b99e30ee3803d8a38a5a174735eec7cbd442af3adabec7239064edbcf8a7b95e21759a30856703d012a458b8d825a9db86a30af8013972429a723074b5fe2a3c9ca33bd205b6010356501948de8423d3a121acd482bebd6884030f2886944e92797faac70e1933be0368d5e558905e3bdc733fad0a745b34ab2903f8fdc236a9130b3c84482fb81c7803665d19983c22b38c50703d97e0106fcc2b3d7fd5bebb00b9700e6b0019d97dc80219ffff03bcd939a499773fbd036d58c85aa2ce6f22718fbba7ced27774baf004a2f190540219ffff03a200f980d4e22d0cbea8f72e372ae21a09a00e3ad820fa2223ffcea20407f91b035b46cc4eb4a4d790dfcf1e04bd5bc6af9974e87fc2a30b3ffffb09395817502203da307e1e704a24b3949302c916b98de4320a115e13e15181430815b3de61863c03f31b7973a7b9678b28a2fb3fa450d8ff12077eb3ed4e9fcb3bb2821c7642eff203ea327e696215ff5a2b2c380e485632b74691b9bd194a8f2e64c30ee467754a55035f59d7ec54b08169fa64a08c0ce5a2db717b8a94b7c5dcb075c19351c053a7b703f25d56907b02d426a50f000f3e7894d8aa3631068c10f5a3114cecd3c5ae337a038e162d8bdb1a3980f7479c25d4d27bd1539af6eed5bbe9e7097486c7004c838903de1d7002dcb18481a5c95ed852a49f2f346187f1a808fe351b5a53ce4ebcdf9803c391d46bdb83036653a30e5fa86adfa5b9152e502222401dff9469b2bb88dbf00333a2f80c2239893035dac3e847f46b4727fbfa1714e2d7f2e7ffb89d2af049d503f301ce03e901e93de13903e4ef5614d84143555b02432adb6c3b20d5d89c77950348a923c872c7df215f95ad2c1785fab96478d3adccd3e91c5645d80f92dd109b0363a7172416ee37ca553cb9226f7f92123cc62e25992fec6248a5dd00ebf1266103516fad62a80f2fc2181b62761f2d609175403a5fa9ce0a097613d0dde7b72da40330c141db01551e4056a8f978c90dfc52f892fb27bdc41b7ef2e07b2326f42bd703e4240e3958f3d0cefc46a70e9aa4ce40269f3ac90d4981f754695ea41d69fa00033ed51ff924839441e698766aa0dcbce377439f1d776009ef930df81c5fb311a105581e030d9e8bd158f4057a5c18de2a77008b78a0b0460b3dff4121430eb92410040105581e03cfc8c21278f68a0a2067bb8f06ceac3f5ac8f8885745b38982da8ceca00c01478e34eebb7eac5803babd51a8ba2cc950d1f0171d8a4b08de3f4cbdabd91aeaeaede0e09d760bdb9d03de8d6c42793143b800d5197c80abbfcaf2016e6003bd6f6f41020cd69c68aef105581e032b0d909955779c4953609a72f2955359a4cbcd0a3d8fe30079d9af563007011bffffffffffffffff03c853b64ed81679b8677effa115eda2c05ed4779210c595431a684f9c95bc505005581e0364375a7d28daa63e896729dae956b2a6167409ad6d85cd91618dfd2c00040405581e03c7ad1f633bb07614c2b1c95d36c1ad791074075b2b421ac8288c86dc40040704592dbb6080604052600436106103bc5760003560e01c806392136913116101f2578063c02466681161010d578063e2f45605116100a0578063f63696bd1161006f578063f63696bd14610b29578063f637434214610b3e578063f8b45b0514610b54578063ff935af614610b6a57600080fd5b8063e2f4560514610ac8578063e884f26014610ade578063f11a24d314610af3578063f2fde38b14610b0957600080fd5b8063d257b34f116100dc578063d257b34f14610a37578063d85ba06314610a57578063db913f8914610a6d578063dd62ed3e14610a8257600080fd5b8063c0246668146109c7578063c18bc195146109e7578063c876d0b914610a07578063c8c8ebe414610a2157600080fd5b8063a457c2d711610185578063aacebbe311610154578063aacebbe314610939578063b14607ea14610959578063b62496f514610979578063bbc0c742146109a857600080fd5b8063a457c2d7146108a2578063a4d15b64146108c2578063a7fc00ec146108e3578063a9059cbb1461091957600080fd5b80639c3b4fdc116101c15780639c3b4fdc146108405780639fccce3214610856578063a0d82dc51461086c578063a26577781461088257600080fd5b806392136913146107d5578063924de9b7146107eb57806395d89b411461080b5780639a7a23d61461082057600080fd5b806349bd5a5e116102e2578063751039fc116102755780638095d564116102445780638095d564146107625780638a8c523c146107825780638da5cb5b146107975780638ea5220f146107b557600080fd5b8063751039fc146106f75780637571336a1461070c57806375f0a8741461072c5780637bce5a041461074c57600080fd5b80636a486a8e116102b15780636a486a8e146106765780636ddd17131461068c57806370a08231146106ac578063715018a6146106e257600080fd5b806349bd5a5e146105d95780634a62bb651461060d5780634fbee19314610627578063541a43cf1461066057600080fd5b80631a8145bb1161035a5780632bf3d42d116103295780632bf3d42d146105675780632d5a5d341461057d578063313ce5671461059d57806339509351146105b957600080fd5b80631a8145bb146104fb5780631f3fed8f14610511578063203e727e1461052757806323b872dd1461054757600080fd5b806310d5de531161039657806310d5de531461043e5780631694505e1461046e57806318160ddd146104ba5780631816467f146104d957600080fd5b8063021dddc7146103c857806306fdde03146103fc578063095ea7b31461041e57600080fd5b366103c357005b600080fd5b3480156103d457600080fd5b50600f546103e790610100900460ff1681565b60405190151581526020015b60405180910390f35b34801561040857600080fd5b50610411610b8a565b6040516103f391906128f9565b34801561042a57600080fd5b506103e761043936600461295f565b610c1c565b34801561044a57600080fd5b506103e761045936600461298b565b601f6020526000908152604090205460ff1681565b34801561047a57600080fd5b506104a27f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016103f3565b3480156104c657600080fd5b506002545b6040519081526020016103f3565b3480156104e557600080fd5b506104f96104f436600461298b565b610c33565b005b34801561050757600080fd5b506104cb601b5481565b34801561051d57600080fd5b506104cb601a5481565b34801561053357600080fd5b506104f96105423660046129a8565b610cc3565b34801561055357600080fd5b506103e76105623660046129c1565b610da0565b34801561057357600080fd5b506104cb60195481565b34801561058957600080fd5b506104f9610598366004612a12565b610e09565b3480156105a957600080fd5b50604051601281526020016103f3565b3480156105c557600080fd5b506103e76105d436600461295f565b610e5e565b3480156105e557600080fd5b506104a27f000000000000000000000000d845c0db78c434bb85642a3e24a9706a5ccacd8481565b34801561061957600080fd5b50600b546103e79060ff1681565b34801561063357600080fd5b506103e761064236600461298b565b6001600160a01b03166000908152601e602052604090205460ff1690565b34801561066c57600080fd5b506104cb60185481565b34801561068257600080fd5b506104cb60145481565b34801561069857600080fd5b50600b546103e79062010000900460ff1681565b3480156106b857600080fd5b506104cb6106c736600461298b565b6001600160a01b031660009081526020819052604090205490565b3480156106ee57600080fd5b506104f9610e94565b34801561070357600080fd5b506103e7610f08565b34801561071857600080fd5b506104f9610727366004612a12565b610f45565b34801561073857600080fd5b506006546104a2906001600160a01b031681565b34801561075857600080fd5b506104cb60115481565b34801561076e57600080fd5b506104f961077d366004612a47565b610f9a565b34801561078e57600080fd5b506104f9611042565b3480156107a357600080fd5b506005546001600160a01b03166104a2565b3480156107c157600080fd5b506007546104a2906001600160a01b031681565b3480156107e157600080fd5b506104cb60155481565b3480156107f757600080fd5b506104f9610806366004612a73565b611083565b34801561081757600080fd5b506104116110c9565b34801561082c57600080fd5b506104f961083b366004612a12565b6110d8565b34801561084c57600080fd5b506104cb60135481565b34801561086257600080fd5b506104cb601c5481565b34801561087857600080fd5b506104cb60175481565b34801561088e57600080fd5b506104f961089d366004612a73565b6111b7565b3480156108ae57600080fd5b506103e76108bd36600461295f565b6111ff565b3480156108ce57600080fd5b50600b546103e7906301000000900460ff1681565b3480156108ef57600080fd5b506104cb6108fe36600461298b565b6001600160a01b03166000908152600d602052604090205490565b34801561092557600080fd5b506103e761093436600461295f565b61124e565b34801561094557600080fd5b506104f961095436600461298b565b61125b565b34801561096557600080fd5b506104f9610974366004612a73565b6112e2565b34801561098557600080fd5b506103e761099436600461298b565b602080526000908152604090205460ff1681565b3480156109b457600080fd5b50600b546103e790610100900460ff1681565b3480156109d357600080fd5b506104f96109e2366004612a12565b611326565b3480156109f357600080fd5b506104f9610a023660046129a8565b6113af565b348015610a1357600080fd5b50600f546103e79060ff1681565b348015610a2d57600080fd5b506104cb60085481565b348015610a4357600080fd5b506103e7610a523660046129a8565b611480565b348015610a6357600080fd5b506104cb60105481565b348015610a7957600080fd5b506019546104cb565b348015610a8e57600080fd5b506104cb610a9d366004612a8e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b348015610ad457600080fd5b506104cb60095481565b348015610aea57600080fd5b506103e76115d7565b348015610aff57600080fd5b506104cb60125481565b348015610b1557600080fd5b506104f9610b2436600461298b565b611614565b348015610b3557600080fd5b506012546104cb565b348015610b4a57600080fd5b506104cb60165481565b348015610b6057600080fd5b506104cb600a5481565b348015610b7657600080fd5b506104f9610b85366004612ac7565b6116ff565b606060038054610b9990612b02565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc590612b02565b8015610c125780601f10610be757610100808354040283529160200191610c12565b820191906000526020600020905b815481529060010190602001808311610bf557829003601f168201915b5050505050905090565b6000610c293384846117b3565b5060015b92915050565b6005546001600160a01b03163314610c665760405162461bcd60e51b8152600401610c5d90612b3c565b60405180910390fd5b6007546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74390600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610ced5760405162461bcd60e51b8152600401610c5d90612b3c565b670de0b6b3a76400006103e8610d0260025490565b610d0d906005612b87565b610d179190612b9e565b610d219190612b9e565b811015610d885760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e352560881b6064820152608401610c5d565b610d9a81670de0b6b3a7640000612b87565b60085550565b6000610dad8484846118d8565b610dff8433610dfa85604051806060016040528060288152602001612d39602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061226b565b6117b3565b5060019392505050565b6005546001600160a01b03163314610e335760405162461bcd60e51b8152600401610c5d90612b3c565b6001600160a01b03919091166000908152600e60205260409020805460ff1916911515919091179055565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610c29918590610dfa90866122a5565b6005546001600160a01b03163314610ebe5760405162461bcd60e51b8152600401610c5d90612b3c565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546000906001600160a01b03163314610f355760405162461bcd60e51b8152600401610c5d90612b3c565b50600b805460ff19169055600190565b6005546001600160a01b03163314610f6f5760405162461bcd60e51b8152600401610c5d90612b3c565b6001600160a01b03919091166000908152601f60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314610fc45760405162461bcd60e51b8152600401610c5d90612b3c565b60118390556012829055601381905580610fde8385612bc0565b610fe89190612bc0565b60108190556032101561103d5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420353025206f72206c6573730000006044820152606401610c5d565b505050565b6005546001600160a01b0316331461106c5760405162461bcd60e51b8152600401610c5d90612b3c565b600b805462ffff0019166201010017905543601d55565b6005546001600160a01b031633146110ad5760405162461bcd60e51b8152600401610c5d90612b3c565b600b8054911515620100000262ff000019909216919091179055565b606060048054610b9990612b02565b6005546001600160a01b031633146111025760405162461bcd60e51b8152600401610c5d90612b3c565b7f000000000000000000000000d845c0db78c434bb85642a3e24a9706a5ccacd846001600160a01b0316826001600160a01b0316036111a95760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610c5d565b6111b3828261230b565b5050565b6005546001600160a01b031633146111e15760405162461bcd60e51b8152600401610c5d90612b3c565b600b805491151563010000000263ff00000019909216919091179055565b6000610c293384610dfa85604051806060016040528060258152602001612d61602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061226b565b6000610c293384846118d8565b6005546001600160a01b031633146112855760405162461bcd60e51b8152600401610c5d90612b3c565b6006546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567490600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b0316331461130c5760405162461bcd60e51b8152600401610c5d90612b3c565b600f80549115156101000261ff0019909216919091179055565b6005546001600160a01b031633146113505760405162461bcd60e51b8152600401610c5d90612b3c565b6001600160a01b0382166000818152601e6020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146113d95760405162461bcd60e51b8152600401610c5d90612b3c565b670de0b6b3a76400006103e86113ee60025490565b6113f990600f612b87565b6114039190612b9e565b61140d9190612b9e565b8110156114685760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263312e352560e01b6064820152608401610c5d565b61147a81670de0b6b3a7640000612b87565b600a5550565b6005546000906001600160a01b031633146114ad5760405162461bcd60e51b8152600401610c5d90612b3c565b620186a06114ba60025490565b6114c5906001612b87565b6114cf9190612b9e565b82101561153c5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610c5d565b6103e861154860025490565b611553906005612b87565b61155d9190612b9e565b8211156115c95760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610c5d565b50600981905560015b919050565b6005546000906001600160a01b031633146116045760405162461bcd60e51b8152600401610c5d90612b3c565b50600f805460ff19169055600190565b6005546001600160a01b0316331461163e5760405162461bcd60e51b8152600401610c5d90612b3c565b6001600160a01b0381166116a35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c5d565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146117295760405162461bcd60e51b8152600401610c5d90612b3c565b601585905560168490556017839055601882905560198190558261174d8587612bc0565b6117579190612bc0565b6014819055606310156117ac5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c6573730000006044820152606401610c5d565b5050505050565b6001600160a01b0383166118155760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c5d565b6001600160a01b0382166118765760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c5d565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166118fe5760405162461bcd60e51b8152600401610c5d90612bd3565b6001600160a01b0382166119245760405162461bcd60e51b8152600401610c5d90612c18565b6001600160a01b0382166000908152600e602052604090205460ff1615801561196657506001600160a01b0383166000908152600e602052604090205460ff16155b6119cc5760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b6064820152608401610c5d565b806000036119e05761103d8383600061235e565b600b5460ff1615611e9b576005546001600160a01b03848116911614801590611a1757506005546001600160a01b03838116911614155b8015611a2b57506001600160a01b03821615155b8015611a4257506001600160a01b03821661dead14155b8015611a585750600554600160a01b900460ff16155b15611e9b57600b54610100900460ff16611af0576001600160a01b0383166000908152601e602052604090205460ff1680611aab57506001600160a01b0382166000908152601e602052604090205460ff165b611af05760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610c5d565b600f5460ff1615611c37576005546001600160a01b03838116911614801590611b4b57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b031614155b8015611b8957507f000000000000000000000000d845c0db78c434bb85642a3e24a9706a5ccacd846001600160a01b0316826001600160a01b031614155b15611c3757326000908152600c60205260409020544311611c245760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610c5d565b326000908152600c602052604090204390555b6001600160a01b038316600090815260208052604090205460ff168015611c7757506001600160a01b0382166000908152601f602052604090205460ff16155b15611d5b57600854811115611cec5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610c5d565b600a546001600160a01b038316600090815260208190526040902054611d129083612bc0565b1115611d565760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610c5d565b611e9b565b6001600160a01b038216600090815260208052604090205460ff168015611d9b57506001600160a01b0383166000908152601f602052604090205460ff16155b15611e1157600854811115611d565760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610c5d565b6001600160a01b0382166000908152601f602052604090205460ff16611e9b57600a546001600160a01b038316600090815260208190526040902054611e579083612bc0565b1115611e9b5760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610c5d565b601d54611ea9906000612bc0565b4311158015611eea57507f000000000000000000000000d845c0db78c434bb85642a3e24a9706a5ccacd846001600160a01b0316826001600160a01b031614155b8015611f1357506001600160a01b038216737a250d5630b4cf539739df2c5dacb4c659f2488d14155b15611f39576001600160a01b0382166000908152600e60205260409020805460ff191690555b3060009081526020819052604090205460095481108015908190611f655750600b5462010000900460ff165b8015611f7b5750600554600160a01b900460ff16155b8015611f9f57506001600160a01b038516600090815260208052604090205460ff16155b8015611fc457506001600160a01b0385166000908152601e602052604090205460ff16155b8015611fe957506001600160a01b0384166000908152601e602052604090205460ff16155b15612017576005805460ff60a01b1916600160a01b179055612009612467565b6005805460ff60a01b191690555b6005546001600160a01b0386166000908152601e602052604090205460ff600160a01b90920482161591168061206557506001600160a01b0385166000908152601e602052604090205460ff165b1561206e575060005b60008115612257576001600160a01b038616600090815260208052604090205460ff16801561209f57506000601454115b1561215d576120c460646120be6014548861260590919063ffffffff16565b90612687565b9050601454601654826120d79190612b87565b6120e19190612b9e565b601b60008282546120f29190612bc0565b90915550506014546017546121079083612b87565b6121119190612b9e565b601c60008282546121229190612bc0565b90915550506014546015546121379083612b87565b6121419190612b9e565b601a60008282546121529190612bc0565b909155506122399050565b6001600160a01b038716600090815260208052604090205460ff16801561218657506000601054115b15612239576121a560646120be6010548861260590919063ffffffff16565b9050601054601254826121b89190612b87565b6121c29190612b9e565b601b60008282546121d39190612bc0565b90915550506010546013546121e89083612b87565b6121f29190612b9e565b601c60008282546122039190612bc0565b90915550506010546011546122189083612b87565b6122229190612b9e565b601a60008282546122339190612bc0565b90915550505b801561224a5761224a87308361235e565b6122548186612c5b565b94505b61226287878761235e565b50505050505050565b6000818484111561228f5760405162461bcd60e51b8152600401610c5d91906128f9565b50600061229c8486612c5b565b95945050505050565b6000806122b28385612bc0565b9050838110156123045760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c5d565b9392505050565b6001600160a01b0382166000818152602080526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6001600160a01b0383166123845760405162461bcd60e51b8152600401610c5d90612bd3565b6001600160a01b0382166123aa5760405162461bcd60e51b8152600401610c5d90612c18565b6123e781604051806060016040528060268152602001612d13602691396001600160a01b038616600090815260208190526040902054919061226b565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461241690826122a5565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016118cb565b3060009081526020819052604081205490506000601c54601a54601b5461248e9190612bc0565b6124989190612bc0565b905060008215806124a7575081155b156124b157505050565b6009546124bf906014612b87565b8311156124d7576009546124d4906014612b87565b92505b6000600283601b54866124ea9190612b87565b6124f49190612b9e565b6124fe9190612b9e565b9050600061250c85836126c9565b9050476125188261270b565b600061252447836126c9565b90506000612541876120be601c548561260590919063ffffffff16565b6000601b819055601a819055601c8190556007546040519293506001600160a01b031691839181818185875af1925050503d806000811461259e576040519150601f19603f3d011682016040523d82523d6000602084013e6125a3565b606091505b50506006546040519197506001600160a01b0316904790600081818185875af1925050503d80600081146125f3576040519150601f19603f3d011682016040523d82523d6000602084013e6125f8565b606091505b5050505050505050505050565b60008260000361261757506000610c2d565b60006126238385612b87565b9050826126308583612b9e565b146123045760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c5d565b600061230483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506128cb565b600061230483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061226b565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061274057612740612c6e565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156127be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e29190612c84565b816001815181106127f5576127f5612c6e565b60200260200101906001600160a01b031690816001600160a01b031681525050612840307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d846117b3565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790612895908590600090869030904290600401612ca1565b600060405180830381600087803b1580156128af57600080fd5b505af11580156128c3573d6000803e3d6000fd5b505050505050565b600081836128ec5760405162461bcd60e51b8152600401610c5d91906128f9565b50600061229c8486612b9e565b600060208083528351808285015260005b818110156129265785810183015185820160400152820161290a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461295c57600080fd5b50565b6000806040838503121561297257600080fd5b823561297d81612947565b946020939093013593505050565b60006020828403121561299d57600080fd5b813561230481612947565b6000602082840312156129ba57600080fd5b5035919050565b6000806000606084860312156129d657600080fd5b83356129e181612947565b925060208401356129f181612947565b929592945050506040919091013590565b803580151581146115d257600080fd5b60008060408385031215612a2557600080fd5b8235612a3081612947565b9150612a3e60208401612a02565b90509250929050565b600080600060608486031215612a5c57600080fd5b505081359360208301359350604090920135919050565b600060208284031215612a8557600080fd5b61230482612a02565b60008060408385031215612aa157600080fd5b8235612aac81612947565b91506020830135612abc81612947565b809150509250929050565b600080600080600060a08688031215612adf57600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b600181811c90821680612b1657607f821691505b602082108103612b3657634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610c2d57610c2d612b71565b600082612bbb57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610c2d57610c2d612b71565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610c2d57610c2d612b71565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612c9657600080fd5b815161230481612947565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015612cf15784516001600160a01b031683529383019391830191600101612ccc565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212203326b4ec57110f34fc547f9096afa5c1f5ba564d02d2f30debe77fabf8d899d164736f6c63430008130033037502be72c724619f86dcd176f376fe48343d237b7f67e2133f8de48bc7984e6e005820031f6bcbadca50d5fa38cf3c2f93a91ef5fad08b651aea9fd451eca642dbb26044012728f90058200333187427822b939ab4ade93edc89e91122b58388198238b67ee3cba621b6f04a065c0d8e0757b62de7ad03ceef8b580f072b5ac650e4f7de5e0de796ca3f435855cae1e909b8605db2df6500582003f3ce976e2bfcee2f242c093235dd3d8a3e06653b7206a9c74c7432b4701cf05820ffffffffffffffffffffffffffffffffffffffffffff813523a43976cf2cdc83005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9044010101000357c1dd38ca0468df20b97c3cd7b725d9d788eea75aa98020a2c41a628c8ef38200582003081989c60071c37983937a86b5d2b570a08a96607edaa30bd689dd221caa805820ffffffffffffffffffffffffffffffffffffffffffff961ef21899892f5fb8f4005820034f2ff5675181866f3c443f8928eca702ea377f189b2bc4f80924e75d8a8ef05820ffffffffffffffffffffffffffffffffffffffffffff86d1c8dc9016257a10af0219138f03c8e0e1579bdd401358a2538b449978f0cb5f82a12bb3d1502f56fc0f12dfd17b035353189f481c95be95a43c609f22600e7796a9ede5f47ea7206d2b29ee44764b0058200333f31900dc41e2366491768720fb1022eb3480cacef323b527edb453c1e2a05820ffffffffffffffffffffffffffffffffffffffffffff961ef21899892f59fc10005820034777171e2144dc69475ab7ee0f967be55bb65286001e34b3445ccc681a26404a13b506727379ef682a2b005820030b4db211d14bdffafdd3f4e8033f19aa4feb812dfb0da225ee647ed996c5f05820fffffffffffffffffffffffffffffffffffffffffffff44be1000cf43d54889a00582003de2ee9475d3bb55f337da8e00a9a7b8e0582773ab64fe5c3b4961308723f804a03d486f4513acc868b08039b6dab7aaca7ba0f752a712ad61e7f426f2694751d92169ac3e0c8dd3bd9428a005820036765a02f1bbaa61d77bd08032c7eed1a9f7872f09974fc1de7c7cbf7e198305820ffffffffffffffffffffffffffffffffffffffffffff9f0f5f7bb7389a3f4680005820037e786fc5b69d1f4b09dcf072b1fc31a3bc2f0de3d9c9a370305cb334297710410103227d7d9b646344c4a916804bc6c1c93c7b24611cdb63a191f4400e159e86cc4f01410e0219cecc03c7c1236b99a64c204b085888bc626b5d3256c0f1298c808ec829cfbfd3cd5f8503a21b9d54702a223f57025aa1ea81a6c9d27413e01a896173ccf56bdbf350ea8d033b200034a2a27b4aff207d6ecfac985350b56c944d6f848c32e772bdc20166e203e9eeffd84a6365b56f5e14d55033b63818ad79fc61b09cb078db96994c43b1f003ceb5644b68607a558b2d03ecb51d5145a9b48b9a0e17e673b0982fcb7edff817031e0b327c9293d5e2aa2b64639ee8d9891c09ac7d46c5789c67e3e8cd90b9829203eef0a0b9826c8c57e69dd350ca51787a90631a6d9193126a5037c7fac144769903623f6376bcee209c199fede292b79203a9794e09b96ece5b39bdf0c5178ab133035227d8bb4c9f5359c4d6192fc5421375a0bc829612639399a59e58edbead32d903569a316f8b49a1c2e1dc14cc75afb0d21cb26553e2fe410f257e033ce3a63b9a033e3365c1b045a4d06ddb137cc471f3f0c1722149277491d8964cc98e9c40841b03449021938293af728dd4908a76dc2a6fac7c065d91cb3b07fc286480418a9a1b005820038c6fc151267b789e024ecb566ddf2c5854663788ba4e0243a1744dfc010380440563aa8900581f02b078f827ec7f92d6f239a0b043bf8632c4ef2660679cb7f66baf69bfc3215820fffffffffffffffffffffffffffffffffffffffffffed169467a94faf79a3ed400581f02eb13b48eff8fdc5c7d73980c2f4f4416f36d1c7adf0762dbe87ea5d490f25820fffffffffffffffffffffffffffffffffffffffffff87a01a675e7fd9a5050e700581f02a170d7f64f6fc34adf53365a1ee02801ce2c0c1f758ca597b6aebf5afb6b4a0d9c920d237a31d3a2d00219300800582003b9ee027003f4629754c6a86818798ed40c7fd0cae423e87ba2eeba5d1611105820ffffffffffffffffffffffffffffffffffffffffffff5d05fc533845d3f6bf77005820032f3a3c6a0e0bf25bfe025083e036dd581b6afc61aaa1c8764457b3d7b418205820fffffffffffffffffffffffffffffffffffffffffffeb436c4953ca6f4a96b4400582003fb5d3c7db7ece292c0024589db612d46ba239e0db9c04df84a33630f7708405820ffffffffffffffffffffffffffffffffffffffffffffdaeb6b1b323a31b47c290058200301998e106c7bf12a106e2eccfd086987018339d0a7c5c2b662c6cae900dd604a1b1a3878076a595976ce00582003a775b951ca850b0f8dd96a037aff3429f24c067854ecb81f83e01bf98492605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02196c530219ffff03d3c5287ec28fc2db7125b207800ba5820d8596f2a518b65d0e46003e259eb83603fe192a147b0503de86a88386a6b1c7eb71a25fd2713049c350547be453f047060362f0e63e299b9349f2997b71976dde172d3f34f6f7e2c4f3cc331c650b03843e030c68cfe67701bd14c0844591bba113bd5ba571fb8ade1f594386b1e7975ac01c03d3724872c33ae3fa3d8425ab92b20af8f1e81b2a14036bd24cb43eda745d304e035c50f045d13f0fdc38edd0366b8f3ddac0c828a19e0f0cb12de238298657d1990356278a0213e7902834f823722dc11caa06be36d0d2aa2d65b4a3e803cec6f968031b92be4bb3245250f4820c04742adc9dd4a2532b4eac61fa70d3d34b737ba5040307135ef0a2b7bfedf074c3fa9074275ac3e84c640bb1b05e0fe449ebbeb8554f03926d91d4c887f0715f3cce6703072103b9c704288b71ec7401f9028dc9710a8d03d3d9fbb95b7a48b305e6d5652b7459984878471751402e098292c3457a12b3140382fcab2dd6487871e05445c3c3dec6822c10ac8f37a526313597cefac1ce01ea01410c036ec39a264fe7eaa4d3c5c5f5911d6dda21b0ed06731a3b124ecf65d5bfb8a37e0316f3f769dcadabdde55fb4e941a2ccd6f6a97fe2a481416e9195b3d798b152550319a11bd8259acf86cb451998f37ff0f3b48666c11a2f7b70e767b65d6869be18005820036c2640422a6406a6de91865a65ec17a97a878c99d83c334427bd510ac461a04a54b4185edc470775a10300582003cff5527680bd561a9ed7dbea1c5fcb3f9dd311363229644728876914e313805820ffffffffffffffffffffffffffffffffffffffffffffb5c82741a8f766e532b10219045703f5eda0cc9cd7c7122007f63b29417df1539583bc14fa2422e5613780633e9a30030cc268909504c32a2ef8ee97bf4ad712393d5e3c73a4719fc91161dc9f0a1297038714230059678536ef30884fedd07ba8ffba8d8b9eb933393305234c05c03c0c0331615a89b583858aad5ea421c820a97f525d019579ceb5c3e4961872157b20c40219ffff03b1f282c5625c085ccb218e8bc40b805ac41b1cfa81b4b335559d62db6ce5ef06038359eab02b4e4191aa4406e90aacef0373fb2c07442af2f5d2081b8db2c8265003abb984bf7802c65f97668db6b762d65dd0ae7ab08a785dff8c4d43db4588084d03a3cb5a516923df42d6cd672abe25cb24a87f5cddd00e365554d257031548cc35037999f7e4b7e73d091dec2f9c25a3d5fedd918265216faaa2c074a9ef1fc7997d03cea0f3cb2e6aa901256d4b11986a4affc52a42121abb668f9c22ffa9e5f74faa038bfc73b939d56dec6463ccc398b91b498f45ba46044fe37190f8e14f09a30fb6036dc9971549950ced12f4e1b23a658ec28de6c3b05caf16d9c4e3604610d8445203909079206b139cb362d9a5fe405b6fe5d514f6b2767f1f13cb76b87879c122fd033236fc1730d2795c55aba2378f230058a382975e0855320afaf15c9ddfb03e0a03d8e31119eed5da15380ef73bb48ceb1723eca1f0c110bd9101fefdd727dfa3d6038cee2b0a41097a86c75a1a87195aa428c5e78da0c99ee5e4dd71bf1fbae00e9c0308ece56011b330bbb8877462f6b5710215409a7e8cd923cfdffe2fc9c44f5c4f037ac87ed1e99d590b7794b7378d38034a1c57f750629bd500481b7444543ee25e03409f370bebce1cd3a4611a11b80b0eaa6d50f3ac516fb2ff1ee84dbdffdcfb5c036775aa3cf4cfa7d4073072d5a9fb1928ac5635293aea44c055689f0a549d11a8005820034d82dde7137e9fe7b2534ed91830abe694a8429357bc0b242bc275c474ddc05820fffffffffffffffffffffffffffffffffffffffffff61a783d740843856b8034005820039352ff3c1bf99f6c42d9e3a36144b83f7e25cd7e92a69d53ccfa3d1cce05705820fffffffffffffffffffffffffffffffffffffffffffdee71964fa6c7a1c75f7f00582003ac68dc3baab706eb818512a4d6bb728bf487015ad2a6aba2f80b3d33efe7504a5916ddaad5d77835ff47031aa7e19e6ba0cb4ca6f41c591857dced3f92828f23ac08eedffe2461b4bd067d00582003ba34e9737dd58363a57f7dc83e43abcdbedb379a2c4fea685966c3802ab240410100582003ffa4ff6874eb3d4071b46e67c9b44bc0979e053d70e6b71998b22519ae46e04a03ec29ed1391ce7bab2a00582003b0a9678cb4a29584925461b4ea33c8716db0047b76150455e0c4435cc9ded05820fffffffffffffffffffffffffffffffffffffffffff835cb210d92358217450000582003b6a69504568f6f7b4175c16c938eeccfa937427858c99da3cc4c295564beb04a5c831567f5d4395ac33103fe12e561dfe69ae6b5fee126884f81466d697de18eefb7cf0a71d2906b54902102194f3d03d6408d4611d29801cf7fe8f3a27e451a725cdf82a83a46b1d6cf7b96e3e883730219ffff0330064743d71557a880d59b51867083fd54652bb413a7c2dce22c45292a2c5cb603ba6c22ef6d0933cda69cef19160eecf58de4a2d977d73ca1789015e8760b402903a5c20cced36b8a43acef8521376ddb89cea4d1899f0039083f59d3bc4cb9b7e503d367225e8404d1b0b1c83440828b164fb4ea855e6c063c886a035c47fe85f43c0314652d8e80b6c04e7734b83a78ced17b14f5d1db9555ac765b13be8fa29f6ffb03a06a2bc6e846e62a0c3f863ef11083146b45a8ff68a24cb694ac910d5b29bab903bd8419b56e69be5bca1177608b4db4b0fe9b37bf8b40b4d2f09cc09c8cff4ebc03413b863f7d6253399766bafe055d0d4318b3599646d8468be3431a5b1ca5d31d038384effd66a3783080bf18e800d7bdb6b128a1b2f6248478f6b7fc829156b449039a901cce24ed35ac32e7442b84ebd4aaef8252bbd67fca9812705719096f4ae6039051d8135380e4e8be5e8f820e371b0b28e2942dd582333f95f79457aeb3b76603594ee245ff1ac86b8b1694abb64965dd804bf0bbaa18bf5a29a25bee289fa9fa032b96d62702396923ff62dc4f5c58f796845c89acd3e2a4d24135f9fcbfe14b96033a8d5e708bc200ec2856ec421ab0b6fc64793bade8827beb70c3da1d2366d108035d72a21f5c276eebc38011b0a622d86cf109ec2e44dfec6fda58f509b5b765b6005820039e8eadde0424f8bb805ec5fb333bc3b887dc0a53025017327ef49294ba6d305820ffffffffffffffffffffffffffffffffffffffffffff687d594e386b07a2c79200582003578d26e473eeefc92fe51ee1dc7026c2175c1f939fb16d2395b8d0e96781d04b16337b1ccec77e0144f2860319c92415524e49a2476cc3efd9ed97e5a962b4c4a65e24b5604731cf19d7fc2b00582003407e7be21f808e6509aa9fa9143369579dd7d760fe20a2c09680fc146134f044012728f800582003238dc754ec01503197eb12610c7109478b6d06d6240c47587fee5d9bf36d804b011ed1b4c744699759b2f700582003b8db45cbbb5502d46c719a400a39ac7f714faac2099ad8287a31371d4c4d905820ffffffffffffffffffffffffffffffffffffffffffff8722dcc1d998f4758bbe005820037dc07f19719264e62028f06768cd6c2e609c316acbff3890ec64f2024825404a099e8b564078d917578100582003f33f8161fd05e71a6c35bd7ebf53f853e21d0d8ea5a2bb1fabd73225e709205820fffffffffffffffffffffffffffffffffffffffffffda6b613cd874268de7834005820036754bedeb2d1a84280ac9327bdee8f555889f1ddc93aa03e52c190336926c05820fffffffffffffffffffffffffffffffffffffffffffff410edb3db5c9ecfa30300582003a7aed7e8202a7c18e16fbc43874ae14222001e236b11b929733c544440d4105820ffffffffffffffffffffffffffffffffffffffffffffdae7e016dd92ca8930770219765b00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04a69e10de76676d0800000005820030c6c541ce08b2cd32476e721d40493545e272f914aac879ed2905d7dc949104a67c26e121e4c5f3780740058200370b0aefbf5e2a9ac104e9f62624136ab3e79b7e345b51ae9364f14dee909705820ffffffffffffffffffffffffffffffffffffffffffffd83d7b77a08133e9f18003836f5b4459cf7992166b9313a4db47bff96182a0f1afea82326770dc91573c7a03e4f9e95e72eee79e7107ef2f128c3e7f8a187b64ef264a6b87309b68668b5dbb03ef7bbe05d37fbfbd3cfb07172c423a303ff3e2a844f1c8145c08b495f3f5499b005820034136b77c69a97ec6c3a8d8437caceaacee0d9d308395e0a00a93e10a3b8dd04a152d02c7e14af6ace0870219e0d203c1e42fcf8bc34b6d63131b904f8d1204d1c7c2adaab6e62ae27d7b99682e04eb0219ffff03fe174118b45b8d3035f933c286b727b8edf2dc006ea1c999eee45976bb8c7484030b30a41269894497953eef1e0f33a8b11392c9a0e4aaa599f08495fc57bf44d803855b969c4a0e9cb3a1258686120996b95a610651f7df08d96266b6a676fe033203c6d91907f1d279ae3dbba8dcb348b322f241615c3c8e73d2f8e0fda9b6498de703a2a82b118a39d3b57f57c562546ee1fe3eeea96c2bafeceae430c794ad29d656035ca2db81a667bf24250f8da6b1d810b0cf04810630c84c0537bc14070a9c41f403a6284b5cd244050cd5b45256ba88aae86f366ec75eedebbdfc6b3e8ced7968e603a8c273e9624c53ca63d470b3f9d58e4fdf56385125835d071f04de9faef02d2200582003c41993c5f3b6b5a5310f87a13c243eaa61679b7f18afa222edb038e78e32805820ffffffffffffffffffffffffffffffffffffffffffee5063cfe06e008fbc5fff005820035559f041f8d31136764e6dd83f9bfa28e2e670fa21b8a51e879022896694605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0366b59e1291a96b365a85cb4a87e629a8d290c44585879f8ed52ebd8618aa649203c1449810daa133b59f884fed473ffd22783204ea0293c3cd8426881a9438d5f3035007505dcf5f5c64735e89a828bcfea1c8bb650ac83e696e4764c698375993300058200388330b561b1ce08a5631393481e10264552c6d206bf7a52f04a7607f9b5f705820fffffffffffffffffffffffffffffffffffffffffffe0a9a4a52990c13ebfbb100581f02b670189641ae32f7993147ef12bbe433424a52da95928a62ef0de89433d95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f023e0b732f6593a2d1302c725b049e27b6397c2ac70eb20573bde21b46bb9c4b697a36a213f6385b7a9c8a021902200219acd003ef6bc1a53e545318fa52253ea264eb76d3f1ed230919c1db95ca533700b4cc55036c697ce21bc1667a9920d0a0b8c7dc2c25f553680837d5e835ed6edf99b44fca0398995ed6f51d8105c11c2018e1252f6b06aa80cf6501f3233113ec40f14d26dc03c6a754bd76a0b897add2d5e8a1ce41847f551910a569f41fed371c079ee6e75003ad30d5d5e94de41f60d0a73b6021d9fc7e4b4aacd4225edc2eb45b49c6faf0d703f293d4865f1d6a93c4de91c34abba40ef8c2aa5623fe0bfd71aa77440f01a28200582003df88f135f2f723a572bf806d126ce127f29b7fed1668e823e7ad45bec506404a054e890589bca5230fde00582003dc1eb3d9bfa3966675d59ec56df340fe3654a24ec75e64a71747f571ea77204a0fdc16105b8c86cc33ac005820039889816b005b990549a14104d722fd529d2af0e99dafc9b261c3b419ba5a904401dbf99b0322c33ae0deb22f5c8602b1537aa5fa98562bab4240bb338c0f94d2fea331b25200582003c96cf59bee5d775a05d0fd078f74410dc5dc20572be73c9e4ed4a729244d205820fffffffffffffffffffffffffffffffffffffffffff4dfb7daae9efe288faecd021923c203f2371903be6c488d23858e58c03daf12e127b9588052bf424e5719bd288593a2035a85cdc5f232303756fbbc6fcbd72dc2b67e17e85fea6f283fb2b9e6a151c2c60219ffff0348bf7cede7abeffe91a93df11e61c94af8b3239998d90b50f1db281daa613153030144d1bcc5010eb72569bedbbc254fe1f8bd05f18e2551a5881429f5d60a5ccf0315e1d0b9c0be27da23518a3c5b64f17820b7e5ba1c20acc2a1cb057229fc7fdf037cc756fbbe26b14b4200115af3006d6f662c65b922b563c4a9017e04d7c1eba503ad16e5abccfc938b4bb2624992ed6a0b677edffd6fac5939cdd689b153b05a5403813d2b0188f2c6cec8e1e55c97f5919cd0e167cb7ed847d9dce6d10aea0580db03f2400459adf34a7102a3c8a213af0af757649ae00911b6275f6123018d6166a7036c535bdf6d9d829a3e3cba6dbc4eb3f748bb1dbd90da5fd8d5c8e45f62a3c084031735135f79ce5673dbf9c0f3d06f7f78c18e77c4961df924e3e8f52f2334835903d1ea6a40813a80afe3009756eec269c087600bbe5ba8487547152d5fde356e7c03d58dd0052d9768e9031edc8febb5bf119f11bf5d4e6cb5d4da5651ef417b8ba503b38020f81d901e596e0c034a9b2646fab5ef99e69a675425dc46bff3085e58f90361307211efffbbc29483daf2de5f4053f14e9f9ea219bd47a14d56d2b3b48c2b00582003e9d9f00420751922437e2312204a52108320ca9bfa52c4792f3cd8374a09804404c572e5005820031761146cbfaf25a5cd972f167739f2574a82ef400a90065c65fcc894818a205820ffffffffffffffffffffffffffffffffffffffffffff4b751fa36419a1c848ba00582003e43b43f43804e89d4addd1029db0ade8bd701677118483226c6e91ac96f9505820fffffffffffffffffffffffffffffffffffffffffff9f4a8db0c7fbe0e3cdf0000582003cb77f219d0992bbabd6e561322a69aa0b6bab0c8d8a28c781db96c9657cb204a2248feff42ea18113f85005820033ca601c1c4c137331c8d87ce920a87ceac43350b7940d7e5621c88754696604b059e022003bf3ecc6db46000582003edc1da5ee03eb682e630c171c1cebb1836d25948ae36070b929ba1fc9a63205820ffffffffffffffffffffffffffffffffffffffffffe84baa619953ac80eba100005820039a36bdc14e4509f6beb054d7d67e25c9c539bda177bd394af049ef332a24704a0272d68ba16bbecea8850219445d0368dd559577aa2538797e94b3ed091cedaebcffcd002dedeb81a03c32ce55e4e503240ce26a9669a7ddbe2560ac5fd8672f26b3e60c002e57f13d8747f9767ff2be0219ffff034501c880b5db1fc62d2dd4b0d55025a797aee238711c5f2c7d227141da4f73c3034df39ee80ac5ab77eccddf343aef38ac5eba58806db055b3c15ee5da3020411d038edac86aa4381c17af4fd5682cad2b9090da32add81c0da68d4f5fe6d8dbd2e003b33c6f49d0148f7fbdb409f04c55d4e76a0369368e2245aa9b04d9b4c379557a0389f37ae12a43aa8436c5db5760434375acf57be487259d26a0f2902cca531c1e0319f7706ce53de16cdfbc7b9564b89f32b8d0da76f4d26e8fc32453a14454693d0354269f80212e24c84ba04e0f78a683066caeb7359195cf6e05a9c64bd103e1f600581f027f32a92b5939296721f25325a1a455f74005ce56c6d5257e29d062ef623d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02a6bdb31cca720489ae22d87fe6ed66d880e4320b6b389cfc6a9fcfa49b6b4a3c89da10ec0827cc1c7300581f0272158775223e1ee25b6d9de3d98d4239226bacdead28c5681e29e1992fef5820fffffffffffffffffffffffffffffffffffffffffffffbaf7de0b320ed94a8e10219460000582003b0dc0e222846940486df019e4cdd620633c2f0b91999f6dd34bda5dace49204a09f13847b32939f56f5200582003769a9a278252376a133bea1a53a5b444760854bb0195c9b7571430360b6b204a162185607e5dc4ced00d005820035c0911f9b4147d6d050ee7758da7328b27b2ffb59d61e70654b47c0107c7804a34f094d6df1007dde00500582003f6ddc0b5586a088f4069e249dc7e0325efe543f5036c348370cf637ee043105820ffffffffffffffffffffffffffffffffffffffffffffa13b3a3d3621f15ffffb00582003b49c75363cf5f2ca34e116d6d095a6b43d2b559095cdd11e5c3b5c11288a505820ffffffffffffffffffffffffffffffffffffffffffffc708705d82911a6e5b7c03ea416d66b3d1b27f9115472753463671af844ea7f4c79f203517eb58892f9cb90058200395d35317507577132928fedbfff6c48f891eaa71dc45bb04b1e44c0c27d7c04808e10fce1dbe200000582003619cb1ef641e996125dae44ae1f2229135166713b1f81b36e9202e067ee7504401bf50fb02197e2a0394a5d034e3cbbc9a1fd0e6c5db34508b6e2c169cb0d0971dae5b0943e00dcf25035da1bfdc27a63c1bbb65d1063cfc157aa49a756bea23b9d00e4c3830f9d336a403c8aa8533314f8bd08d43ca83ca168e94d00dd5d94f37aa14414d85ef40c90ab6039b92c64f28591883d2750d57a5d7698b239666ce5e5416d3d804368096ecbb19032f664244e38e2a9c16ad52aa855963826d8ba04e401954ea7f4c4f991a3f8e2d03ec8b15d0d30146c2dc5315e6428c73cf6fde2e081e17bb0ef9012d5cb7124121030c1b290a5e5df5f4902d5f68c9b87f392425fcfce38ce11354f7a927342d21f60321be30e4718dee5c302204368275154675099d36b7cfde119b99e7dcb65011e70219ffff03f5e4918905b867671363ecbe98b4390a577aaddaf2c9e2b792ff77f103f4f1a003ebfa584fca0c46cebf575b176d0da01cdcf280c5fde058e1a2bcfd837e77e90303794a9765313a6f2c72fa49e6a6446e6cd72a146508a2ac05027410a8acb8539a03c1a3bcb393e41c56b3708486e6a5df90fea9d783faf0215aaab4715b43f0aae303c62fb35aa5ca8881c22de89797b72028621718de39266a9312939fb790748b22033f806dc1c2a99707852c078080c130db61562045b95ac0f1f2f9eabb0707a60a034ec3d94b3d4544248cd50c0728ce1d8f218feee90f83edd85963cb20c513be7303a2d2469b1ac24fbaaa1645f448e179fac841ba87b5b5ae83057947d8560eee250315fe179059fa63340b5772e9fc8a3fd028ff7cb466187151646b0ee14f861f44034ea27b041f1f4d398a5bafcc6d7f37b09ae9c5ded6b62ddca4d97159be2bc00b03abbc3c729af0ece14cf74a142148f61863af8bb781a4640a759375df4baa0a550385501989931e902f9c3b690600b55ddcc16b76d90345f9711372b831320c613d03f9f65d095f3d821a027ba226f805054a23f94e7694da32533b00fdda5e833fa603a7a7862e0c3fc1b155e2f5928746305b71739dbc774004ca665b476837e4cc7c00582003f12829e4df6110033c6a9e84983f32cc9b461dadb7cf5e9a8d14c68235dcc05820fffffffffffffffffffffffffffffffffffffffffffa35b13d58658098ffffff0058200371d2e042c112ab836efb210fd0749fe4cece1d2e411eccbeabc2b7806bf1904a5604867bcf99f089d5b5005820033aa26f47b7b63c49ac3572c6583ea885a0b123412f9748b29c2fc66abef1f041010058200308170bdcb842ba455172e3fe6844e36d32bbfaab3bb0698ff9bf12f8f973705820fffffffffffffffffffffffffffffffffffffffffffefdfeedf59064eb54ba6f005820039a011817b967af4a4998d7231608565a0b38ede6fae1ce1df4bb0a75fb4890440b5ad6a4037d742461dd2eefa63862396a7b634fc38bc19331dbe30aec1dc091660290c2a600582003d973c2012d17c72607d536cfb00b2e9241fe5199e92623c814d6e3cde56fe04a0cebf0ea3941a4efb09b00582003e0569a70c8b7f07cae077410609f8764e2ab720261e14e08b0c66bd75771e05820fffffffffffffffffffffffffffffffffffffffffffdf5396c2239a1bc22b85c02193476031183a2b1b05614f23ff57e52533b8adb5c818f8c72f11d7eafbbc0c6322f5cff035a7720700655b06d621d4e4d964cfd53ae903a08633fd33c6e1bbffc27ce64e60219ffff0380ab3d7c548118348acf24e7be216dcea7e50b5abcd7b09111a29333862c6ee4032ed557cf3a8e916416d2bd783d7b319caddb8ab5af59f9d0bbbffdbd278a994a03a701e1742c5fb76ea5723852b47973b7ddf7b3b742def9c5d427eea795a2135003f5d3a02df5f50fb76da278a4924901ce9a6df379c344f0ed1a7401ee36f24c49036fd2d00d2abb7cbea1df5df309843b6613f575578c938f69c8aa1bd3390c882403b11b18b2bee543a8fd6391a5da7983dbb76f559583b2659e975a57c40f36250b03f73089893ce37fdccb280a05f022909b2e8488c167c604005eb81ec6b3e1cdc9038a01ab3019415fab242cf8f6d55c1480416e894b0254c8b17809201e621d54ca032fccdf050d1d4a3a2dff224ff46c835504b1206a84ad909c0d37a49117fb9ac3005820039c4012ebf60f6d530559cb0dbc0a14ceb1c15f134abcd2bedefe4d770787905820fffffffffffffffffffffffffffffffffffffffffff4785c59657b7b3223d2fe0058200389adb4c0e080c81e880694d00767bcc252cdccffe897590c35b650bfd160904b05d72c4f46e4b69a2f5ca900582003354269981e796f24d02e193dccb37c4b83d778ddd7b55ed9d222381cb349e04a054b40b1f852bdaab7bf0058200339e2fcacdac48aa0dfc8fbea788e6fb12c55282bd7f930f96e250c6b22c8e05820fffffffffffffffffffffffffffffffffffffffffff93942710c2a4bc738865b00582003d3d8e65abca976044ed18dd9d5d598142dac60de82a593967c4f130bbb20204a08864ab7fdb8226fa5e103d2efc96d62524f527af08ca7f4f718c71f2bd692e3601cf61c8bcc737bf6b0a800582003f2642073fe53fe66b333dba8b866126cbdfd0652d9f05c4a42642548f301605820fffffffffffffffffffffffffffffffffffffffffff4ca5fd628fc57ea49163d0219b8d0037f68433505c937f982249a97dffa305ae46f95ce6b910a5faa9797daa22fa99600582003242c44ae6096a9f6afd5baf1c01bf600b6e9b7af3fcfc7ab8a9614045a2b105820fffffffffffffffffffffffffffffffffffffffffffa35b14f16a1c10ea9beff0058200319b6b43bdd6c83c83ec4c51b38b05f77a65ae1712c71afcaa6fb57b58853d04a14776f29770a88a1732f005820034cbf041957b14eb24572750ec506a06c1cd5b15983c704309afe96734827005820ffffffffffffffffffffffffffffffffffffffffffffc9471dd527ba4ae3fd5c03deeae3037249d83a58a30c8162f6e1a28d239a217feb97ac13c234246951d8a000582003299fc23cb4ef2132128d78fbf026eb340b1e4dd8658543a2f0314ffbc902904a6f6e160cfb4042d5a14b00582003e4ddfbb90199e0726ac7d3b3af36dd544ca4a15de6987e606f84a73649c8605820ffffffffffffffffffffffffffffffffffffffffffffeca3c0c9c80ab69f2c0703e3790c1ab9875217d108780057fa9f68aefc3642cbd2ca52070784914f9f43600219e10d039f6b498c930b2e2e24616cee1f291425dbd22993c489046bd77e782da982a47103b04b32e7ba4bca1bd3a182d5d62844cd9c09ba79fbb4ca1c9117c75f1b5b5e2c03614e299c450684c7727561a2d3a621dff828d03146101717bf4458c8a0e0712e03f8128de2100de8fee579a1399da0d6ec79b2e4348f3eb932b979a108c2c0922f033b5456f601f5e39fc55ec6e928f6dcab5238ca3aa4d6ab53dc0c6974e74d618a039d307a4c207c58cd39b2f65f4f7c69d7045eba52662dfdac22b6b8c868f56fdf0219ffff0219ffff05581e036b59f63ae9d9c2d7c13a3fdc83072fe4271d0da58ae1f5d490c1eff8900f0148035bc1b7c3a50000192dbb05581e033e3b7e23599d2add349a1d698a5f253f8ac6520c9696516d6f5ba4a2a00c0346455fb0f8adca021944f303b4815f852554db0d6eb8c8fe6c2baa05002a1ff886f8623b0373aafcb8f33b3403825d0a0c9c074863dd6872d09fbc5d349c727b112b9d36b0b2d9a922711dfd6703233af73ada25dd730111a3e8eea3e47c746925cd7b8f80cfcc4c46680b28a22d031736ad4aaa640e063fcf2ad485a89caf2575c6712f2c423b9459ab2ac95964c70219ffff03ddf8a80f9cad5d347425594d4d57620856f7cfbc7a7eacc9576eda460496a135039b57dc9e7dcce9effca0eadc972f0c189af42a9c0cd596f2615d4dbbe073efeb03a6bbd2ca5762a3928e2b45e6bc14610ae0f47e327f872513c384d701bd43b61e0351d37e606b2afe6d4412442ab404f810a3786de382107a7dc1796fb8932ef53b033fb13c38e333d5227c6316760c0c6135a69033cda6da500c0edd358f0612540803f2c4a45040f59c84ae1481960a3848d436afaab8e1f1d51c4c4bb694f21251bb03102ed9fa5d540cab4300890e612665300bc09f11d227e56f6640145743f051b403ef7c7fdbe8abd15815b5791e16e24d990327def5c4e1b06ab60b90abc97a392803307e8c10ca924ffb7cc97e318b3a5da481df5fcf3ed95ecb6a5690d5b13cc0cc035bf03416e09b42d2d11712a94f7136f5dae7a25bfbae2911acb26fd7b29ad95f03e284453294f2c45934981c49bedcb05d595c0c448e427612852516d49a58eb8103ae93aef25a3f7266016e631c8ff8b0630356c282dd69ea6a648282709622925e037efed95aeb738ca54b8aecc30d98319267c467aa925a9f0a85ec08205243197b03c8be0c17b399c8a0e79111cdf98bb94d94bf0b70dc1d9c58e4bfe684c0ad27610219ffff03fa74ce694b13f8796d741774aa1459c1ff24215a5237127a1440dff56927dcda03bc50334790d9cd4dc5eb20f995ecb5b83805da965f5d9494c7e34788360381f703e2f4ba43ffb664a699a754800fe49bb57ba67f2ae8e610dffea8e2a72eeec7f50341adbac71d3a7b7b40665f7e18f711d42bcd5ae63c2bb3f1988931a35a74831c03ac7c283b3bb44adc38942a7fe12795e3bab9c2a500918e247423fd236c41010303e66429af9274dcb8df20afc1917f2da1e8cf61776048571facd49627da39419a0344dd1b1eb52d1f40c7128775ef150d99a7c86573cbbfd5cb3cdf02634864ab53039d8b5ae34d31a2c63f472cf2341d1bcfc4f9a701fefdbaaecd842b410e9be91b031099341776194c9a7499f75a6540e480818c7f8ec34e042325605e019f08475a0219ffff03367e2c55a47b11622363a4d55dac6e7af2837ae761b86058c9d9a87b330facf303008eae0830e03b6d2feed2ba88d4e76d1d48b1f82fd104e5e626d29644682cc8037b7fc37f7ce763a344e0dfa264e2358fcf70bdbfaedc3db8945698514e7c080b03d4e4c5761a6cf7cbe3cfecf344b503a6a09544db058063f1064a29595d7fc92703461b0d61a51c84535548bc362883f05e00c609cf92b4769fc2042c701ae64c850392ff9088d38e32e1c28e6e423d3b402235ace8c5033d806f0ab5428bcbe2d9c503e1c27f9d95cf6b2b2f2b0ac221551cc47798283a3873f7e9e530252caece5fe30389d650cf63d603856d7bc73f57f44aa203c613d760acb82174047a00a0c7b89d03108c15b4471a23406e65e34a0aead4edf4b1de23f507018d56a347ee6b9c6172035a229d3d9e6a86f4ab5937b4f2671e12f8baefe96177561df884cd20fee4b64e03a15a9b38d9bd9f03084dedc1acd7a5af2334c73c72407ac9f76825cc443fdefa030fdec15047529f4223df82d05d88c993e3177b386bfc550d82df48c66ccbad45039945b218b204c678b6d8dbf0bbf7f9b401aae99c852fbb379b32f1194e0b309b0349ffbee66da34776695cf0a645f3066b3d0fc1347063c79f773453ec5ea22ab005581e034f721bd2f1cd1d59471870c514f85cae50be518333696c0c6cb2a13d20040105581e03041e5fcd31bfde2aa9f35bcd8379d5357ef5c8ebef254b04c12d0eff500c014702acd6f87803d805581e0396a52b190620bdee350a1f6ee9f0d125cadf55cf5300cc8ec500f1a0e00c014702170695916e0005581d0217fbeb611565826c56c35e54149a17da957ab4596084583ebe6890aa040104591cf960806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb146103ac578063bf474bed146103cb578063c97c1821146103e0578063dd62ed3e146103ff578063ec1f3f6314610443578063fb201b1d14610462575f80fd5b8063715018a6146102fc5780637d1db4a5146103105780638cd4426d146103255780638da5cb5b146103445780638f9a55c01461036a57806395d89b411461037f575f80fd5b806323b872dd1161010457806323b872dd1461022f578063313ce5671461024e5780633bbac5791461026957806351bc3c85146102a057806362256589146102b457806370a08231146102c8575f80fd5b806302fa1f4a1461015557806306fdde031461016b578063095ea7b3146101aa5780630faee56f146101d957806318160ddd146101fc57806321bbcbb114610210575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b50610169610476565b005b348015610176575f80fd5b506040805180820190915260058152644d6f67677960d81b60208201525b6040516101a191906117d7565b60405180910390f35b3480156101b5575f80fd5b506101c96101c436600461184a565b6104e4565b60405190151581526020016101a1565b3480156101e4575f80fd5b506101ee60125481565b6040519081526020016101a1565b348015610207575f80fd5b506101ee6104fa565b34801561021b575f80fd5b5061016961022a366004611888565b61051b565b34801561023a575f80fd5b506101c9610249366004611948565b6105a3565b348015610259575f80fd5b50604051600981526020016101a1565b348015610274575f80fd5b506101c9610283366004611986565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102ab575f80fd5b5061016961060a565b3480156102bf575f80fd5b5061016961066e565b3480156102d3575f80fd5b506101ee6102e2366004611986565b6001600160a01b03165f9081526001602052604090205490565b348015610307575f80fd5b5061016961071d565b34801561031b575f80fd5b506101ee600f5481565b348015610330575f80fd5b5061016961033f36600461184a565b61078e565b34801561034f575f80fd5b505f546040516001600160a01b0390911681526020016101a1565b348015610375575f80fd5b506101ee60105481565b34801561038a575f80fd5b506040805180820190915260058152644d4f47475960d81b6020820152610194565b3480156103b7575f80fd5b506101c96103c636600461184a565b6108aa565b3480156103d6575f80fd5b506101ee60115481565b3480156103eb575f80fd5b506101696103fa366004611888565b6108b6565b34801561040a575f80fd5b506101ee6104193660046119a1565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b34801561044e575f80fd5b5061016961045d3660046119d8565b610939565b34801561046d575f80fd5b5061016961097e565b5f546001600160a01b031633146104a85760405162461bcd60e51b815260040161049f906119ef565b60405180910390fd5b5f600d8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104f0338484610d28565b5060015b92915050565b5f6105076009600a611b18565b610516906461f313f880611b26565b905090565b5f546001600160a01b031633146105445760405162461bcd60e51b815260040161049f906119ef565b5f5b815181101561059f57600160045f84848151811061056657610566611b3d565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610546565b5050565b5f6105af848484610e4b565b61060084336105fb85604051806060016040528060288152602001611c9c602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611453565b610d28565b5060019392505050565b6005546001600160a01b0316336001600160a01b031614610629575f80fd5b305f9081526001602052604090205480158015906106505750601454600160b01b900460ff165b1561065e5761065e8161148b565b47801561059f5761059f816115fb565b5f546001600160a01b031633146106975760405162461bcd60e51b815260040161049f906119ef565b6106a36009600a611b18565b6106b2906461f313f880611b26565b600f556106c16009600a611b18565b6106d0906461f313f880611b26565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6107006009600a611b18565b61070f906461f313f880611b26565b6040519081526020016104da565b5f546001600160a01b031633146107465760405162461bcd60e51b815260040161049f906119ef565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b6005546001600160a01b0316336001600160a01b0316146107ad575f80fd5b6040516370a0823160e01b81523060048201525f9061082e906064906108289085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156107fe573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108229190611b51565b90611632565b906116b7565b60055460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925084169063a9059cbb906044016020604051808303815f875af1158015610880573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a49190611b68565b50505050565b5f6104f0338484610e4b565b5f546001600160a01b031633146108df5760405162461bcd60e51b815260040161049f906119ef565b5f5b815181101561059f575f60045f84848151811061090057610900611b3d565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790556001016108e1565b6005546001600160a01b0316336001600160a01b031614610958575f80fd5b600854811115801561096c57506009548111155b610974575f80fd5b6008819055600955565b5f546001600160a01b031633146109a75760405162461bcd60e51b815260040161049f906119ef565b601454600160a01b900460ff1615610a015760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161049f565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610a4b903090610a3c6009600a611b18565b6105fb906461f313f880611b26565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610abf9190611b87565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b1e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b429190611b87565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bb09190611b87565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d7194730610bf7816001600160a01b03165f9081526001602052604090205490565b5f80610c0a5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c70573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c959190611ba2565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610cea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d0e9190611b68565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610d8a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161049f565b6001600160a01b038216610deb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161049f565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610eaf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161049f565b6001600160a01b038216610f115760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161049f565b5f8111610f725760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161049f565b5f80546001600160a01b03858116911614801590610f9d57505f546001600160a01b03848116911614155b8015610fb757506005546001600160a01b03848116911614155b15611316576001600160a01b0384165f9081526004602052604090205460ff16158015610ffc57506001600160a01b0383165f9081526004602052604090205460ff16155b611004575f80fd5b600e545f03611036576110336064610828600a54600e54116110285760065461102c565b6008545b8590611632565b90505b600e541561105b576110586064610828600d548561163290919063ffffffff16565b90505b6014546001600160a01b03858116911614801561108657506013546001600160a01b03848116911614155b80156110aa57506001600160a01b0383165f9081526003602052604090205460ff16155b156111ad57600f548211156111015760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161049f565b60105482611123856001600160a01b03165f9081526001602052604090205490565b61112d9190611bcd565b111561117b5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161049f565b6111966064610828600a54600e54116110285760065461102c565b600e80549192505f6111a783611be0565b91905055505b6014546001600160a01b0384811691161480156111d357506001600160a01b0384163014155b15611200576111fd6064610828600b54600e54116111f35760075461102c565b6009548590611632565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561123657506014546001600160a01b038581169116145b801561124b5750601454600160b01b900460ff165b8015611258575060115481115b80156112675750600c54600e54115b156113145760165443111561127b575f6015555b6003601554106112cd5760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b21000000000000000000604482015260640161049f565b6112ea6112e5846112e0846012546116f8565b6116f8565b61148b565b4780156112fa576112fa476115fb565b60158054905f61130983611be0565b909155505043601655505b505b801561138e57305f90815260016020526040902054611335908261170c565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113859085815260200190565b60405180910390a35b6001600160a01b0384165f908152600160205260409020546113b0908361176a565b6001600160a01b0385165f908152600160205260409020556113f36113d5838361176a565b6001600160a01b0385165f908152600160205260409020549061170c565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61143c858561176a565b60405190815260200160405180910390a350505050565b5f81848411156114765760405162461bcd60e51b815260040161049f91906117d7565b505f6114828486611bf8565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106114d1576114d1611b3d565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611528573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061154c9190611b87565b8160018151811061155f5761155f611b3d565b6001600160a01b0392831660209182029290920101526013546115859130911684610d28565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906115bd9085905f90869030904290600401611c0b565b5f604051808303815f87803b1580156115d4575f80fd5b505af11580156115e6573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561059f573d5f803e3d5ffd5b5f825f0361164157505f6104f4565b5f61164c8385611b26565b9050826116598583611c7c565b146116b05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161049f565b9392505050565b5f6116b083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506117ab565b5f81831161170657826116b0565b50919050565b5f806117188385611bcd565b9050838110156116b05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161049f565b5f6116b083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611453565b5f81836117cb5760405162461bcd60e51b815260040161049f91906117d7565b505f6114828486611c7c565b5f602080835283518060208501525f5b81811015611803578581018301518582016040015282016117e7565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611837575f80fd5b50565b803561184581611823565b919050565b5f806040838503121561185b575f80fd5b823561186681611823565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611899575f80fd5b823567ffffffffffffffff808211156118b0575f80fd5b818501915085601f8301126118c3575f80fd5b8135818111156118d5576118d5611874565b8060051b604051601f19603f830116810181811085821117156118fa576118fa611874565b604052918252848201925083810185019188831115611917575f80fd5b938501935b8285101561193c5761192d8561183a565b8452938501939285019261191c565b98975050505050505050565b5f805f6060848603121561195a575f80fd5b833561196581611823565b9250602084013561197581611823565b929592945050506040919091013590565b5f60208284031215611996575f80fd5b81356116b081611823565b5f80604083850312156119b2575f80fd5b82356119bd81611823565b915060208301356119cd81611823565b809150509250929050565b5f602082840312156119e8575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115611a7257815f1904821115611a5857611a58611a24565b80851615611a6557918102915b93841c9390800290611a3d565b509250929050565b5f82611a88575060016104f4565b81611a9457505f6104f4565b8160018114611aaa5760028114611ab457611ad0565b60019150506104f4565b60ff841115611ac557611ac5611a24565b50506001821b6104f4565b5060208310610133831016604e8410600b8410161715611af3575081810a6104f4565b611afd8383611a38565b805f1904821115611b1057611b10611a24565b029392505050565b5f6116b060ff841683611a7a565b80820281158282048414176104f4576104f4611a24565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611b61575f80fd5b5051919050565b5f60208284031215611b78575f80fd5b815180151581146116b0575f80fd5b5f60208284031215611b97575f80fd5b81516116b081611823565b5f805f60608486031215611bb4575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156104f4576104f4611a24565b5f60018201611bf157611bf1611a24565b5060010190565b818103818111156104f4576104f4611a24565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611c5b5784516001600160a01b031683529383019391830191600101611c36565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611c9657634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220eaaaef03d6f6345e1b7ee3c0b000793a020933e92f6ca90608167a64bd1a831d64736f6c6343000817003303d1a7dcebb2e9916305b6f81e06f58ff7a3dd7d214a660e85180012d300ec9ccd0321223c14f9bb9ddf4372f938b22f48483417415088081f0b8807477ea5ef871c03eec05553b04987b0d604900da5ea656d10ad96382204b0beabc27642a13792ac005820038a3070ea6bf83de24c027dc87d5466ceecb6ab654f6811d3696647a0eae2605820dd15fe86affad91249ef0eb713f39ebeaa987b6e6fd29ffff50508ac3dff08ff00582003614bfdb5018375f8f82af15279b628d333b1602682d518f9eddf28dba4b5d0480af4a5c4ae2d0b0000582003b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0054da3330254aae0812bbebc5e7815aa9048c9cdd2302185400582002d72a484addb4384b28fee1e019725a810e93d8c6ca87c3b1d6be627048d64d5820ffffffffffffffffffffffffffffffffffffffffffffffffda296ccbd042187403b53e7b83b5e52504a2a3dde104e1db3bc6ab659765f0778de1000b60230ba20e03d6e0c66abc2e337baeac70b7491c94f05ccd123739632e1fee75f280cb1898ef032a9c360f2abd869460d64dca3ac906928bc5b28ee6696581ab1449ef95c9b6e403ed8452320f72dffab595c897aa03d4fdea95b8fe2f518ec61d12b5882de88d73030ec656da7d91fed1bc3892a4516fa948aa110a25390948cdcb7c1077e706627503d2884eb36512b999f37990f55cd13b60bfc858e9e7a2a421ef84fcb2a63b6f5203ed437769e8330ddc08caae4ab2af2c0b74d0dfb4944909e8c35c8962c9907195032cad51726d756bc6920b5304264fa4435486adb148007b31ced2a56df4f6d9d503b48853244fe6c7401bf6b876cfd9aaa688f2d936b1c98eb677a49b5b43a48757034f614416d968c56365b97a041ef7b89f267b0ed4d8d43fb976cece35d35ab0b003eb9d064a3a8cfffde6ff588a27486565dcb4d579e6c5d517625e8fa39d35117a0219ffff037f17aaeb9122cdeb61722663d11d4a5ad60d4cdb8e6c3fbc789ed840e79fe0f403d63c82c89b02cb4a1cd692880b428c685008baa1625248dc09955df3c0e0d9d70361d5ae65217faa01f9439fb6e69ccafe4a33cd73e65a107d6a075153d3d2f4b903d6c64f41e36cb997d58ca15ce73e88ab180c65ef77890afbb28c6470f325e44a033a5e45758ed6aad904f6e3d85b75e44085bab2f83e319a4536b0f704f3bfd8720320bc29f7997f9fd45795524795240d27ae2ae7ab133c7537a2b9458572dad861005820026bc14527a161037ccce5665b70c1fc87c63a9381287a835d91be8780c6a9965820ffffffffffffffffffffffffffffffffffffffffffffffffb4b42fe03a4543d603606a35744b892219b25cf178e0ce0dfdfa0fa26f32cc8795a68a61356c18199d03be0e3a26b6463bf5ddd7b0d02ab6bf35fcd12c4ee38f2d39fe9aeadb76f69f0a039124ff60e48cdd5a2e4b9e37788fc175c1eff8b9f4f48676e1a22270465c8d60032a3d9b23169b7c0cdbb68e80a019738a3b4b90f965157bc6ce57011429ae743c00582003d560c328f20c2d811d0134ac6ae90508613f19b3d39842b1edfbc5d013b4b05820ffffffffffffffffffffffffffffffffffffffffffffffffd92cd290cb258705005820036dafc02afd0f81c7eddaaa54473841b74a8aa48b6533b2abecfbf433cfed805820fffffffffffffffffffffffffffffffffffffffffffffffffdab8727476d77ad00582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67204916ce3f1e16bf150000005820039e24320501f0b18ecf1130481e8336c099ed52dbe3d461c721c224a798ce004916c8edeea8e225a649005820030a89015d79fd59ff055a1fc0507bd497749c0607d81bf0ea89f74268b1a5005820fffffffffffffffffffffffffffffffffffffffffffffffffbc2beca23cadfd90058200383b5f54f8e279d60ff1ce20be9c1882ba4d2de799578af2c7e8a6d5b2b76a05820fffffffffffffffffffffffffffffffffffffffffffffffffd1edf98ffe2c2a3031d6e4f1f190d27c34e1c8aa72f99f6a7056b994513e4ebd01682af650a946c4902190f6803cf7be12c6171684bd989d1784af042669d78e5d3c0d07cdb9b57e771301d4b1e0317a708e5a85c0fba90af092c29d72fb34a6967c7718adbc009e295359e9afdcc03170b8b1e629a77eb12b795755aeebfcc96f896183ac1c2cd6f881a8e5dc301f50219bfff03269eb4e6fc7ffeb5a458ec2c9f7e834426f49f69901dca1eeb3184abb72ad1e1033cd61005a756971070c582ace2053c4d500ec4a3fb03d251b11d4e26dcf6041303e1f5c21e182046640fa7d6259f2e42a9a8cb16371eb99c3e9ed37bdba76dd75e0340c2da5015bc8b0596aae340daa535e1337368a7171aa9d963a996d281002d4103f9727291466bc04c92d467f5a0a070baa4dc9c324ae2fa4ee59f25ce1ec4ee51038939b23192bf49c0ecdf687c9b2ec9ee1a59645a04a55caa44207b74e8453213030a9b66c68d7da22df0043cbca867f81287542900d840a7a00d90ca12278777bd03f858b16b6bd50e93cc63dc8f54c63a822654266b586cdbeadf5c1a1c1e664c0d03b0870e768e9d8cea1d07e40aef071cc4949323ff59c82c89efa752a7b55885e8005820036d0bbcaba8f831523a6c2e0c193614f310e21c00ae7a6ce7550f74c25f0be05820ffffffffffffffffffffffffffffffffffffffffffffffffb830877d361f8fff00582003749bcf2629e7f1e3a25c0fc1fbd90c7683d818b1fa17993b7e8bfe27c5b9a05820ffffffffffffffffffffffffffffffffffffffffffffffffc1ded955fcb58ae70058200375fe15471ae334a14cab21c151e08befbb5bebc6d649fa67b3b1b2c371a62048016b190d722d0fd80219900803064d698f63f17c731b1e53399ddd03f3cafb268ffc565a0be7a8ea335715986d0343b3ab0c1646d655f0709ede4e150a431c35f3cd581801506c8a5265fd5ecd400343228fb78875ea383846d8b281e6eb015644056c1868d7904857a50762af6f6a03d4029b850843d6e95722283ccf5c88b84914b9b2b97f65ebbcd2204ccdb0e8ae036fbc9e98fb2be387e571a23244d9d5c39b267cf51affab0428a60cf15f2313bc03f0320296db2f5fca55dc961e768cd7a2f31a8d1d44a2d3f33164b6d760ab5fa50219ffff03157bcd75572a284abdece74dc19cf36664cf038c21e71a35cee64895440d42c600582003d5654535b3388af8b88b377d51b653fc9617bb7125bf4547670a04b083d0b042029b0312531ed4d8b83667b4c1f1e5e8ed6108422c80849a84229b7717c43e834934a80058200318b14308d5e88c0309762f2a1e2748794cd512dec69d5b054926f7b2d271e05820fffffffffffffffffffffffffffffffffffffffffffffffffb74668a7633e37700582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6804805d697537a8f200000582003e9f81233dbceca73a4374a08ad394115023699dd8dc1d846e281e53e9280605820fffffffffffffffffffffffffffffffffffffffffffffffff41fefdee04741a70219c46003df34f951de7b64bafc5216cdfe1bb1d5e0169f27897428f111d84250039547320378822aca26d9418699cf17ed741e0707c736bef81acce717aac6d5848ca5bd760393cca5ac0fb977e99ee833acaa324690383a3c8b5e81b22dfba4adbf792b0dd5038e322745d8ec3c23a63600d6a181925f0936a7e621250f6b1ab6213e460b77f20335c9c04ac74abb3a319c25aab1e4a72994991292e51414ef52e6d8c6f210bced035e43862e6f781a8223780ca0d92499d703ad389d0725b1fd05c1017d02e5be42036d9bacf9a9fba944f718f05babe005be7330656a6a89c80809197fba6fe80c01039900ef05f4b6a15e0cb0b7dd332915b74f7f5183caf5c68e6635c7c085a1cb2f00582002a6e7bacb912d9cd3d069a239176708fad70324abe19c0c47c8ee7d0dac9ea25820fffffffffffffffffffffffffffffffffffffffffffffffff833ffdfcd5814cc0313d5c8d87c68e70d2fc53a0e7b0ddc9bce7bcb0b6ee63694fd5b57f76b5a965f0393eb44e61081af26a466903c0e26bce43ee0df53855cc179b3d1519aeb6ffa5703fc6bed09f375e6068e9b085f8b862fba0088ec9fefb23e2823c1ff48b8efdfce005820025fd4d4863ef47e462be6e9fe500225d5a27410817155ac85ac95fbc2773c2c482b691fb7dd8fbf99005820023f803699e42a91041c57e7010b885ffede27d2278dc8b47efb3c8dc9e03e165820ffffffffffffffffffffffffffffffffffffffffffffffffd402ec58a454845c0219ffff039c599966d104680cbedc2d1b22c3a3c2e0cffb38993b7c84f3f0a05f58f90f9503ab2019c8d547c410b92e757f9ccc144f6471798a1d66d0f3fa6419022ca25243030f3980536f19a8c7a56b22748dc42c2693e3771ca9bbb05f02174720afcd61d20395306a60870df05b30a722095321c89e85dbf4954e8fd975273af4ff0f430ddf030ecccf0e601e5c59be47045d9825f963c1e06dfca5d93d9287e88e05873ddbd4036db77bed53654b911aff8a5228a51b53d9726c276fde97ae4f8a2fa0a6f9fc8100582002e5fb39d9d9d3b639c1a32a1ccfd576d153b1d11319efc4f7af7a40779166dd4803dcd5a3d5cc15d4030e009a17bf82ae897fa1eef30a80b39d1815c21d385abfdef5cd371da2939c34038e8a1edec77675bd814f0f81ee965bc48cd4863927239fc8182b6da75dc5af3103236c7fd983c52fa12b0d08e79f563cbc40e4841055878b575bfb1e49aed110d703de15d58978de46709881bbfba953044af149676c915980ae8dc7af4ee8c3de830346b5ae661db6013d0d250af9beec93f3fd88a1b9d9ed6aec2068fe1637c3b06103f08d5b7599d19591256f3d7fbc0b9ca0d9831c83d5861e01060014daa477b411039a7d7bbb1bb8ba645203e07134cdb13f46a9ca9f9e56f48af4376fd985877ba203d7a223b99705041453ada66ff30f345ca16d57d97162200b738ac539536976e203f1a29d3849933d2dd4d482f069a47ff4f52e57ed8b700ecbc65da38b32f1cd400219ffff039bde69d69234c1bd19003c859bde0b5b439186020a86d065b024920bc1c081a7033859deda8fd9a4243e98f0b44ad1f09521cde3afc2fdaf4481b7d3c520841d9203a5687b00635caed0a433269a340cd5f8dad168be610da511411f3209c28db4a803b9e1a81b0bd410dcc3aecf3fb1e3dfcfde41ca38bdfc76041091017067890bb003c49e0fa347bc275ecafece54fb3f5afdab5679b5a2122e06a1b115254510e3e60339c6e30731f56d499b508634fb9a457e28d5d704587a0f1dc041696742f28d4d0377e679a63e49f0d5844bc8d835fa4514ea319097d0d727d30b1cdd82a0f39afb00582003aedb005802be8fd4e5a12208b600285de63a12e54bb068eabafb611c6bfdc0500de0b6b3a763ffffdfd98c82689840e000582003dfbf424c2d9b274f3077f1992a406b9fe5efe787839bd38d4064a05ed292f05820fffffffffffffffffffffffffffffffffffffffffffffffffd5a17f4a05f8ddf00582003f3d08db2b13766cd877950e9a50fff7f12836fb1b160380b79f6717f7fa6f0472286f89202680d03966329106303b4e97dcf107d6e0661bea29a330422d23c99557b76b23408153101410d00582003e8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900547a250d5630b4cf539739df2c5dacb4c659f2488d021926140372e35caeb1d2459489c00f913c2e026438e2590bc8320f6de1432e166f67f001030eb310373234b8df76f504ce3ae482d33e6ceaa4190e6ef0e2ba3b6e3d39947303377dcd7c1b21f5733b75661ad9b0c2bf11c5a20e75fc3cc649e35a31a9a345bf0387502960206314505c25f58d227df3e0534f4e0796acf4a4030cfbb4fce682b603019ef09f6548647a850c446689fd40d96c4b6690ad3accf2bc81e257688e6830005820030e78dd000c93ead9db2c09e070a400dbf9c5304a66a2cd5ace45ad420df2c05820fffffffffffffffffffffffffffffffffffffffffffffffffba87e8f7d12e0460058200376953bdcade366bbaf986577b7029cd9ba24983cf7c5ad1e46ead1ce7cb5204801ed3ebdb427a4890058200308b189e3f8df82722e40843560ae6357ae2654a195cfb5efd77859a53fdc10470dcca2fe63f1560218b00380b9ffa08e533a30af98ad60c3269ea7d6fdf52771e423e3b876396c2bfb42cf03d283235f65daff4c868fec94151a19525ac94e36032fa3ac5c7b0b4e0f4d6a06038ffa5a3636110584e52cbe506c63d467b84c7701084f38e76726d3d6d77543290219ffff035908c792704c50676e40b11d4f318d244fda30c99b26834487e22b5c9c7dfb0c00582002243d3fd2257fcceade8918f289fc8ea0ea26337f87cd9b8f4cb36a50300bf0480ac116dc305819b3037843b742f7269257a38a3f1aebb1fec9ca383560555121c3d8d6a9fc1eacada6030ed93ac3b9bfcfc7607919beae23312ac15882890d75915b5c16cb0916be9c1103b7ea740dce4abde856cea057e486b958771df49d42737d7e17ab526fe3553a5003fd0c1a761303528f8e8e90664a4aca6149c378ce41e3cab6b98b4f6e27a535940309acdacfe3d6449649b367764e0fa59070411e89457f6cc30e7c7e66be9e085a03f8b2d038e218bd0bf44a0258448a24c4b120dd81c4ef5e0ec7868b46f71ffb3100582002bfbc73740ff44b0e346bb9334f7f0899933b8a613ea5e29ce2a3fa2216a9735820ffffffffffffffffffffffffffffffffffffffffffffffff91fc3d523e0dd9e7033dff28f5eef57ed41ece51930bb9357331526ec30cc541488f3c7173c277b09903686ebcd138d071210d887e8bf5535fbfc3db240290eb572144c4e14843fb2e1d0058200269945424d2e7a35f4c0a4b647805224c57f4d514ed29b4f7168bdbc2616efc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cc341adc0156191b7e7785d30fbc2286d44e11884f782247c38e40bd2660ec32036065894cbfd81d5115aecd06c13ebc3f48a86548d0eebcd30d6a4d6d5d29443301410e03fcc85a91d11cfc9454c49bcad9ce3ca70561a3be087afde84bf8f42c2c710d0903c7eae97da421bc3bac1869fca41718ea14f2df3352620daa74bf53f3beac1fc10219ffff034b5ef58833d654d3b480c973087a01bd55808a57a62b1ab470d67d0df7b107ed031d82e5e61832ce2ccb74f9fbf586099f370dd429d40cf775469ebe35f71a4850005820026b541e790f1b6137631c1eda3c8d459a7f59068c2784c92603b136d39994795820ffffffffffffffffffffffffffffffffffffffffffffffffeb31da21a38e58e403fcf625e3819f9374973444aa36704efeb6eebaf2b3d3f08ea50c69e9de5a0ef500582002ed47898c4028b5f1e06fb76fe51f7469fc5d13dfb4874283ccda0d3cb208e248030fa8207a56256d0399115068f7c912362d1e6549d38e7f35b1ab87b912d37ed4d8e6345ec258da1103e386e41495440be3fb9d0d213088fb8a5614df7f3b37d86b33629977ad68def5034a9bc90186f7a3629f67141b41313c1fd7d889cf054707a3ec1fc04110206c4c03af296748369db115ac494eca868f02deb4cf1b8cc752b640df6b8ab9eddf8a7303cfe744bec2cbff70aab48e0091891425d4757c373fec3ef7a08c36062338392600582002f92088aeb0b1ebcb937c213488b9d208d986daaa9da67e930304699ba4f5645820fffffffffffffffffffffffffffffffffffffffffffffffff8160bf687e5320b035d1bc6276a9fd18f3f011148064f65b558598e0467a05bb43bb29b479e90163b005820025881f59175edff6db894fa32a991e41f3d0b89089cfbd85257d842bf9830105820fffffffffffffffffffffffffffffffffffffffffffffffffc883baefcc6b57a00582003e8fefa61fa84da902ab59982b031acc2aa84f955947e2be2b67e999b3241405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80204916ce3f1e16bf15000000582003e8d8fe338a1151f6acd9a053f35b6da4b1899881de57ca812bd039beb938105820ffffffffffffffffffffffffffffffffffffffffffffffff80aad3722ab4ff1300582003d99b1c793e901e4786027aac79013de6e3b4cc01ebff3f84a712c7aa7146905820fffffffffffffffffffffffffffffffffffffffffffffffff90cf78e4b75408b021853037f87b3098eb58c6cb7a5c53a2fc4293a50fa8160917bd5b44beb8c6cfec67ab703e7bd1cfe46cbeb259266fc2b3e746821359550eb6a36356708a29d48881d30aa0219ffff031ff3e28f3110950537d42dcb3c1cd1648f3b3861779907329a6dec5c948839e4036fac2fc170e9be634956b94d4b92e7b12ba96b894eb1e22c63b8344b534c9e6d03193901920e1d1e0a0395d0074b603bc1f76b6db3859dafca2735c86032bfe0d903aad580fe807d7257938730b98ee2f23ae6bdd3a4bedbd749ef8e8fcc15d4a437033ada70f764355a2cf81f4f341a9c95e4bc2a8c666f190cdf9a2a5721c539020a00582002a90de2e52ca40f7a690d4badc456d75313194ed0b26d44c06084c162398c28481431d282a74992ac0323c3517164d17330e52ab8f372d4cf91040fb8bf27767613e1141b518610002303ad2c1d7a81368cfe718b9551c1c9823b78b12a74c3abef51f5588218dfd758ef032b4339ee896031cf2a766def2467d0d82007dc0c1e070ba0f44dd60ef304803b0341ca2f737fe82caa9015a3dbfd2aaa77197a33b3c0c5ac9ae67524e35f42db320380eeb2287bf2ef2cbffe2667aafeb7f4620b05befacf2e351beac4affd59c845038747d545224135d5f565eff00f0f5eb1bdd2a05a51957cb14ca3b8b1d62c04ca03d3fa91250d00de47823a2cf121b7fb49535466499624bbdadf0ea926eb7c540e00582003372c64ecf21f4613e6ad1ae80e6645debeeef22c5535b413b6fbb05df2b4805820fffffffffffffffffffffffffffffffffffffffffffffffffa16f7ddcdc9493900582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd042064e00582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440483a61e942c99740000058200379fbaa94c958906db577d60faf40b35a1ba8407dec8e4f1a5a31e606a115205820ffffffffffffffffffffffffffffffffffffffffffffffffa090cf81af6c0de3021941840352a67ee015d91d15d776a3aa875b7652cf3e8cc52b679a6399432e5925a74ebe03b645a2d2c33f1e13b842f5f4988e9e92b65f0a5281ad3e6a00c35c84c94e67700058200269b6f62ed9bb9637d451c14a786bd2cc56f7ac1afa380810f57a26876b79495820ffffffffffffffffffffffffffffffffffffffffffffffffe99aed851285fdae0219bfff03541ae4b2038b1d170b019d3b72022b3ce6541e5acf8ee920add9f42f86793811035b3772a79d67639e558716b95b0a0f146d2f83ddff632ad7b6636e39f17b72a203a9f3317bddaf59eb9180f6fa2f692649f32fb5c774e614e045cd2893e0aebe4d036f83a56afc552ca075e74e501fbdbd403bafc1b108a1426dfab7b97db652afd8031feb3f0bf98d503ce92b36d5fbb01a9dbc03205b1a32997d7ad2016f34092c7b005820022e57c80d9e6acfdb076a8ab29af93e54e9ab8ddfa4cf50e0daa4ef332b4da15820fffffffffffffffffffffffffffffffffffffffffffffffff8902ebb55b0bd42030e469d576d34a05e76d5f3663e5f60937c326d741ed7143cc36e47aab9332a6c00581f0241ed955a64453e95ead41d1892ea5173c1d535f297003d9752b68d9f12265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8411202190401005820032e6a64b16bd907ef3a344a5ccc04adf526e95ae929605a3b6773bed4950fc04916b84243167a7f11850218a803b1b905af8ff9042c83d7d981fa1a8049a64dbf32d290e7ec83f38fe3326edfe400582002ddd9085ade6846e01e1f2f2db4a8e32dbb7b619a6563aef9bb6f6f078e20525820fffffffffffffffffffffffffffffffffffffffffffffffffaacae60c6e9257e03c3418b3f195cbc7b38ed598640f8e8c2ebbd235562beb7349feba52f00b13f280395fc04241b631ba17bd79e80a7304a8b1dd515925f3e5e5d9166f50768b6eb6d03633c2e3209650d1b1bf696a96fe2973c8ae4301033f25a85c6016b7a48f3260b00582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0570100018b6472bc578e98bdc96626e1dee0b0beeef6dac200582003df8c6f516e9a5aa8aee9e3fcfc0e2904f279f6778ac0e9d8d8295e6dcd36d05820fffffffffffffffffffffffffffffffffffffffffffffffff4126d5574b8186b00582003d8f377adfe3f1fbc9726884ea26d3832d441fe3d031946738114826ba867d05820fffffffffffffffffffffffffffffffffffffffffffffffff0acef1a55226c5800582003562cbee31e41a1dd6b1334b206aa1b3796b75f6f84e88068024290cbb28fe05820fffffffffffffffffffffffffffffffffffffffffffffffff321cff1b8606288021924c0032e6ca407dd811045dce98f258eb62ab879e5506e90e856b54447421f946691df0219deff03368c20c7eb828fd60c093d351724f641e2a48663e8d29942562e94f2462dcfc703f75d7eecda10914a8fb113e3905956b9882ec3daf1d1b9daf354f5485eb2a6b7037c6a2b8f34f8db7344fc415b6702c08c69838217c940adf629ea456f7f14fb98005820028b1f4dd73f9a61f104944d60cf6cdba98f33735c924fc3eab272c35b4c11055820fffffffffffffffffffffffffffffffffffffffffffffffffcaedbf2c256dfca03a338ea0282345737464e87e4fa2a27237bac3d9c34d09797901c3c9ec985e42803a7890878fa38a77cbabc5fe7475f73c55acfd1a0c8ddc7c195d230c69151953f0378cf3f5a646b9de2c61db90c38ffcdd3fbd54cc990cfb6cb514b91670c8279ea0058200343b640c4794670706fcc8749761367a3570c7f383d4a6bb265ef6ae3bfe9204807e2f6fad72b1a030058200350381a9c58c92372f4a72b0da8c73ec66ed11fbcc04d3f0daf447c744944305820ffffffffffffffffffffffffffffffffffffffffffffffffc8564c32e16ef977005820037aedf4397259c07b24ee5fcada7d17b4426ce51cfd49e8b85e6d0844451c505820fffffffffffffffffffffffffffffffffffffffffffffffffad26778b54af4040353884bc065eb4dda2e0382c40d0be6c0cb1f79a565ee9a2c3f8521ff98f43fa30058200361d52bad80e538856407fe32a3dbfc682577ce01fcf9352d5441781b9321005820ffffffffffffffffffffffffffffffffffffffffffffffffdd58b72305bdeeb20219c182038e390114e5dbfe02baf1bb55d5ffae5ca4914193c63d4dcea5d59b7884cb892a03e57fb46db12eef61e8a3b193072d5014e969228899098aed2a01bcd9fdc4939e03bbba1c8fed3a1c6527cf18953436df9af6c399ffb6a0156fb2dfd62dc2adbc6d0342713acc46e8244f88a11822f39a5e460bca7b4a69b0ee15845ff05d98d3b43b035564487ca2cddf094952e263904354d0b3ff4f809818fb19e5822f07fbba552303d4c7e09d36f02447c965aa9870767bb5683ef6008cfbe41867a95cc6ff71c0f001410b030f12cf36482a38d87af95d4c948e4184a57d84059161a88bde624c179cbc80170386de19baaa0a6512e87b077251f89886e9fefb843fd8fa5a082bab74164204590219ffff0302d6c065196e29dd004ad5004d329885bb0d5a5c9799f3524c5031a56c6c853b03a935b86c1977d828079ea0ccfc36620936a5ad7a96896da0aa9c56762f2a2f3d03a8a8f5991511a3abef5538f9c8f03921c91aebce233c367ba201c204feac700a00581f0269936102f70d9d87612b9a785c00393dfe9f752dd8d8960b839d1152f663410100581f02bd2725c7950ae9fef0f4e9d4c09ac48ff83a92229904b010a7a51e12baf54905e376b3b85183f36302194008005820030303aa99ed475f8b14b4c6db8ac7517804e90f772661d3a5c87a11230593005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ebf39d2082201cdabccfed4f639fdfa4b7683dd93ca50b5844206574a845bb1c00582003b329bc4b44dfe5c3bf89eb13454bd4ecd16e52bd31229638ceea333236eeb05820fffffffffffffffffffffffffffffffffffffffffffffffff811d32adb0b1d4902191e00005820034453ad4196ad2a17ec265f043f53e15037e7c0d2c3f526fa99d9169e93b7e05820ffffffffffffffffffffffffffffffffffffffffffffffffb205d038dbad22bf00582003b752768e4b8e2c10ca94a00d3a50eb81804428b8f81f5b602477b066bff3e05820ffffffffffffffffffffffffffffffffffffffffffffffff8979b543810eabe90219040803d6601ce1d755e85c7487e944a9a556cc362041bb2f9d07b69ebd05d0cf94f21903e7e32a58b745e28691fcfcd943997465781f891dbf4cf019dd41b1e133c78f91005820029e6072991adeb54c7fd1a870ef4ccc7f23a889eecf8d6b485f0966e1317d285820fffffffffffffffffffffffffffffffffffffffffffffffff3fb399c6ed18f8703a76a243b7cf8d4e26912d8f5621a9e4cf5e5951eb38469cd724cd9119b2e85cb005820029c4fc2c57c28632fe65fd826fe1830fb0e761b6a78565a4d5a2836335f55915820ffffffffffffffffffffffffffffffffffffffffffffffffe5af83008cf0d80a0398be1d2398147c46e24fd1ccf5244d193b601cdcb4cd73ea70faedada7d82252037be4e626ecf1b950546c2e0284e390eb9e4a73844e9d9a6b36be5aa5a688742203c312b81cf10de758711ed10ba2718dc3b7d00a9868a018452daf4ef498f84bec031a189f186ae9c9fd27b2b42089c9f31dcc60a7f03b74e7d2a567d5a1402e56af014109034553e62c7fcd7e469eaafc43ece696dd8ae149aee2007b810db65c9c65c85ed9035e50a2a480a41621b3c66bd609aff6fcb40ea88b1735c84bafc9199775db1ef90219ffef0219ffff05581d0244750ec1face746a6c91f61d9a43cb647e3fae734e0039e83e2da0db0701191cf9021906000311552d2b4be501e485ff8987fb769e73ef5458100416afb0dec759d113dc4c3d03d0cf0aaabb0d1dbe2640580fafa363ce96ead0878a5548b25c399f5970c30266031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0359adbd6354bb88e2547af343c01a3bbe92e6f52f696aeca3b11a99f8c007011bffffffffffffffff03362895d2b165472f482bdce4d11f9450a4edc056db6c01503a7bd8798aaec2d903d11c8cc019de485345d02df06f59284da2f1553b9f2fd76fd279698c15450b4a031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03682728d8991b51212d24e5274b7320ca6d64465e86ce788bff0b5c5fe007011bffffffffffffffff0340a7d5515503a31c852ed1118a206f45f11bf326ec76e52db61802ed875329c90219737b03d3727ad3a3e3229ca4df8fb62409d135d59cf669d8d7e6e62d124994a9ef90eb0338395afa5f2983a8ce46196b881e8bc8d1e6a29c408f80aba0a0a949ac79fcbe0367690618d88e8da7b309998d195d564f8797c6533a16d47244b3f26c7ae62cbe03dc10e41757cacf4828cb54506c78c63ba52d7ece3dbd0fc580f0103111c7804603bf47559b0bc349fabcf4e3281e277225eec299785bf5354e0e8860154623efeb03d03189def7020a2b4b8277cf5fe7d5682433a38757b575529aef5ad4532cc26203ec318d9f5af7730b5c907800f983bb49a2b973d414dfa2a19c94fa6a50c896490385dcdd8ed33af4d326aaeb2927e824b0ed90fcb11609c2ff69426b0b942f69f40329fa59ec4f4b4ad049dc345589eb6812c2764ebd550408d03a30c92e9c6a4e820219ffff03147fdb08e063a5efcf7623d8d6a545c0532bf2c9536483fda3ba0bbe13569e81032870460642a5405edab34529b4f1dec3220aee221f983a09913eba8f4673749403935c3ea8fac59f001c0e0cba3fd3400d7aa57bb3fabe2fcd2291cef67da38b93032e9da063ac75f7f040658bde31a038ffc39784ce2357b0c4922622e7bb552b5e036e57d71bcc50fd2f73678c0779221365a76f20b60a3a5af1a09f0b043ed4f9c1034651f89a951e32fa4a2bbad7c5d1233565604bf7c7c66d79949cb39ff9381bcb037ee0445e33064b4928480a42b16b524ae7dc8957f209ac2020ca4ecd4ef57d90035821da4418e4ff1521e9bc5a660cfeceb65678971593f126c31e11d6c1f1f672032ec0e38bc77051d942f1577c219421b3512bf022edfa31b2698f0e72069183ba0337b203ba5ca1be0e7491dbef9b13cee009571f97ead792a97ce348c9e85fa5a10341e25a97bb8d2aea6b88069d5394ab6c411c28ba57568601038d45ea3d073a8d03ffad959cae7a3c7ae6d6e3f78f8fbb5a71b5a79d174d5585c45c63629e03ac1d03d0f53146bf26bc72945f494a9db2f5fa86dec749d445d93fc3ed2dc58a8d06db0219ffff032a309998a35464966756bcbaf515a2aab253e0d48c64496a53716260d7b5265703f1cf52979223cb8c8c2cbb862fd4eedab2bf2f76c0c1e953ada8a8ead8bec5a60364f46d296f5e68db78b26c28966adb921a095fd547a3d2833b90991d4802101f0362cc6695b2e9fdb4f8149c60b779f14a16c5bf972e602a38b5dbe79cae37a0390387c87653d293b7fce153bc633a283dcdec5879a083ae2aa0d9ca88f1c66c9f0b03370469af34aa0565f816010112253a182f014eed87046f88ae240a36e95f611c031b619f9ea216dc6ccef9f97addf2ffb24d981776e64004fa379d640b58f2f68603a3e677819b8ebb4e1a0e8f3cfeb28d59b1a5a0948b4faa8f10b81910ccf624840328a81d5a378d0b4345c6f62cb4dca9aa373d5644f4baa58db5a1de89b7fc51e003dfda492f4cfca04d63f07020dfdbd4d47a3458b78dd1f252400d94cfc92ebe4903c53bdafcd9df6f53cb345c18a1a7e4be20fca671894646184fe4e7655b5a035b03eeb9e46bacbaea6a79d9aeed7314bd632504d1afc6065820463d47265a3c508103e1920633ac4f8711f0d6ba33330cee7efa29039f7112e34ffec580f76cf12e71038507deea7b75b664e9e8b8496f9a3c060b1ba153cccc624d3b020231974e81ca0307fc13ae60e5f2d013ff8cf1c22d704fe917e9092320e74350ef720971d11cd60219ffff0219ffff03f63388a92eb612e604c1909082117476266dc24f45c778120b24303213b3c4a903418c8ec49661410611badc1d86dcf8d5ac8b9894af2639a20453ea8df44a62370315199a9e9a65447c15db5924f2fbda0051a576c879b6fb1778b2c165046a90a703525de5b7a47e2c3adbaea7b23dec7a28e600d51df2b5c0f93be211741642274d0378e347c6974ec021cd370facfafba40bd43d0260378d594b2a0e25b6d4718d5c03a26b2aacf36ce10c31f75569ccc2dddf3a02fa097e32253656955a976d909df60348c6c9835e1025e6effbe69723c9548e646095407b010baa9f920bba923dc6690310b7ec8ef89f6e591ddd8b5733cd5c379d4209b7b7a43300ad6e744f1842d5640399b42ace0e1718bd6bf9996b38abdb0af1219c5be6869d84381a7c90d757710403083dbc7dd1ad6312a2d800018bb7e757693363f9474827f483645f9be917841705581e034ff16bb0d4c6d4847bb3ec582ca5572b5f9b7cf3c9cbaab623315dc8400c02470b7e592020640005581e039fd14959d59dab9a8bc81187b4153c73664d23c4f5fe8de6bc6593ab9004010333d893b1fb83970659e232ac1f576143ca18b034001feed91f5518f734db3ef2034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e039ebca3dcb4f5193a4d1e25e4768e8a4a809c32c43a0963908a741123b007011bffffffffffffffff0365e7a59190acc1e798b97b2f6ce9b67d6a1a28acf3d939e280f404d981850bef05581d02fb47cecdbfc70b73e3c6c2beadce96559028cd93265ca8dbe9b4b297040c03197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581d02f0befe5e586536737e50367c3526252d2add063ee2318b552b76312907011bffffffffffffffff05581d024a59ff8762207314bcf4cb3771d9455f267f24ef7b68adac81f9bdbf0c19012e485e7ffabede3bb6ab0219040503b92e80edf622e1baf8b5ac0c75b83919078930c6ae34b0fa483cc81a202a498705581e03815d1bb359c7224c65fbd42965f95c421e5eae25bfb9bc6d8b074d76200c02470186f50aa0a7a805581e03cb507aa198be32ed0b5b82b6c980e083a6738ae1d742f9d3964464a31004020386c9b92b56758adb1abb8ba0719f8a9dad17d436905e495ec455101821964ba605581e037c5d6055e5d09f0a43a274d16c1327314de7f4d111da25670fcf03cb0004010326162c207b3dc58b397f814af2f2a8484b02b2ddb61f15a9d6ee273a981efd8703c735a2f7945b0c99dfb080a0b503a87184afc60964654d2aafe4b1ca79f3461e037f2b2be8afc296b8f0932f82f5be42aef7b5c78b11ce4a5e535891c9f9246bbb05581e034d0e3359300086323736902a484a7586f8eefd8186b43d58471ec6396007011bffffffffffffffff0219f37f03ceef1cbeb60bb7a75c0049cbb9a4dea12053a30673b7634e476b4b2c1af3b61803a070711a66c29fa0e26a9085719353e38e74017146a04aa1f8fc8f668f45b6f003970e7c54ec4bc183d625140f79e02970b5262398aec0b6fe1de514199b02ee75030ed43aa14072f99bc3f8a3e8e06ece3a29c434da7a3af923035b83386d164a9803bba6257d91bbb623df48da0a66d87cd6e8e41f06059324b7d60144fac92a0c050336d6ba507ede8149e62ba306af392673eef4cb91df24ef9e0c63cc810c09e25d03deab9db3a30acd830cd23abfc604325f0cca36eeab2b9d39d45e8482e336f97903256c6ec760ced0c2c914d34ce45d377c036067aee0663e650d5aea3611c62dbb0303924d6323285e14ba2c67dbbc5066af8d6ebfa7b3b8bfd7e9fa24a5be77f9980336b46c4a48e7b144a2c181d5e1ae70a57200d125be1cd1332be7dda5b7a441ff03b8666133b66d8d83c8aef99fc94d0609b4cb3c8a748e3a85b4a476f18a71c54003934e44411f479d30ed0fc2e7042fd65e3f86d97be1a9029b7f8e6f9127ac3e21031f2129aaf607d487ee131950ad4fac1335c6f399e26d0e8ea4038503003715d703ba233152ed265bc8f2385da02a55a61a656aa59cbab40aa0997bfb77b930fe040219ffff03a7c0dd9af761c7e1441bc8494b1ef8a4a8bce579f83ba33180c68f9e7e94da3603d4674285fc2a1617da870fab69f1a19d13ddf2b598b5c191ef4e88f698aab2270325d00b5e38a7997795f44d1a9245f032176e22d4a7e3c46c1170066ad33272fd0389fe3c4b398b23f9408454a6ed33fc69ee4a0edd2beecf04bfcbec285192b85f035c6e5f2f7e9363fbd3a2d2792868ed173978f1c666905c614ea5b23d27d99d870308b0400827181f784386d8c28fa4c2dda87b69530c24d366adb3448f12840d43034eaeada0f9680f7dc39b5b38f05d7766da1034d73a88f8ea6d8093c9de0b9dc50326ec704af77baf1ba28bee9404422d9a691e7c162185a8e954eec868d895c3930341c50e826200885bfb5bb5600477f600ad105ed33447331c4f7bb42c1142de85031d6bcb2557b1ba5f89ea326171d26983606ace0e99f30f454db1878ce9a32e9a03b28a24b4c07ffb012b78edf74dabd04093e4fffc645a6407671534e38ccac5840219ffff03f8f445de6854b6e79b8f38275bda7f4835b766116f1e93ea8e23e77fdb2eff5203f21e44761c8849501a442b9884ea6be6483aecab790fd0aff0eb90dc15ef947d03e16a658fa7c080929205e3c4edaf6b60258a58f2d21d4acca68737515796f78c03de0b71a99e3ad5ad158267a359daf3988ba6010f37a37a601a40337ac47a56f603a4e276e2f5db6a0c2d0449b02e71870b6b2c2b211838cf75da9c8b10d042fdcd03a454cdb31946d48cb127def975d211bbe66da102f9fc9bd82c4afb0394534dc3035057eea4adf67ef4e8deb2ba058e9c34bfbfed010463deb91bfacdc7273e7f2703228115c3a69e2ed17869e0f5b8d6fa5385edbfca8a6742df8ae56dad4c9d909e0339f5cbedb50bd012f07d2154225bc1d53e177267368a69d694f5ebc4115714ca032f78dcc3329ffb41100151ad3792d72661128273bbc5a5b85cfa08e231488b2603b25c2efa1e9600d1be24475e651fa6669845e727ce2342946099814c738017d503a647b1938c589e50d8c830c8ff073703b612287b00ecf7a21b890565eb297eb003d4b4b8e457469595fd5e20e71ee20667690f3f372aa09ec399578af85d20e53c036d7404bd1284b48d3ca6bcfb5ee833a87b2f50f1423af223e5324c9dbd69b0ea030d63ed1d7d95866f2d26d79cdcb47c1e7d6f3a65e75bdd769f95a583147cac0f0219ffff033dedf617e9fd9cf06e643d25801bdee00df1f96270dc17d0ce1ce488b2c4616403cfc533d9de17e3c529485f97bf1c9fddc1b53b90f5a046ad317159933fc72876030922eceff5f721e4fb9be761e8edb2cfafe304dcc1a5fc6a7b6251c88c804a4003307dcd8a7fb86a3c0df6151e5623ad69039057b129fa157a54ca5a29755a6ead036e863bfce95da8504f5e062d741842515ae03b875307c16457dc97e5e8de80b6038b2a8480b38e6aa45c41091f91b1ad1a453ec2c7e75ae45500db60dee3c62e8d0342f4c94c120d812a50996326864785d26b33f4fac43e623ef155558e0da44930031091babd78a7616c2da313c761b4e35bade681d0c7ab5d987d16b55713a5b23e032d3e7b27fb5b821ad2bc5d4e5ad06af0eeafb510e57ae0f4067661ca79a9c32703a067e7d7a270588f3270488dc2b38ebe63e0e294223ec5fa8efe00e88d92020e03c5a5991c32cc00454fe5c5c46b9222183e86e162820ddf9d7f377ce0dd9727c703fb21a362dd7443a4a91bb1686cd03a6f01cb618cd60fc1542f407ae65822ff70032da2a0f50c739909df2b88e259a87d229de548a19d712ee31527f9e39c93066803d02ea9f37b437d70ecb12207c46d1e4acbbff1bc2ff2cf3477cc61bc8918b5fc0361cb70236b8162a95b086f2213fc86e89e7536891fd55f50bd40788c6a922d9e03637b1e36788d5a02630d8745f4c3cbe4e2fcd373a8496d50c6f01ee8aa0c14da03f8c94b917ea55c40cd89ad7f3212dca5717056807eddd8f74b72899e63713674038b649e610b7f13c44393b06c782385ef6affd7876cd600d01c739f4212dedb330326ca26bd6e4e7d81c6b229b50100e123eb0bfcdfa85bdeb830432b842ba4c6de03b9d7e4472102a48a22b80fec1d087065b49fa8476c1e5ae2fec0c2090a855f6c03828712b9e783f45e68e15b100acaf95cb47de7ccc63ffe329440008ecb2530ea0336a5f2bc9155a457f71432d0e2b18621ba2d12da85f36f3b8a0ac51613207da503849f8bb555cac08cafc8f5b78f606d7ccd12e553493c057950f746a24c1ecfb7033ad0dfccefe8090dd87b1fffc459ad0a37043fd1c4224d1791088b5bef8f5d1a039ac5ff5a14dc07b5c723e26ac359321a86bce899bece7fd82cded9d780f567bd03cdb944f52aa4ac9ca6fc8251d83727443735b5146c58cd36d85175028961577803d21f4297d0b5517c45374a0f8fdeb372915a4aa117cd989a0d41926ed0b943df033e162dcaad7ab893e04bd2ca3e9e5064a36d2c96a21558f68a214881eb44ecb505581e0337dd01d22ec7ffca7a5f5ec8f3469b43e1f749d8b76a9146772d3244a0040105581e03b40e33fda61c4d834149dc70920b6827a5ea1f7cbed3d1a50b2907fdb00c054687710572258805581e037499936b37c7822acf5b985b2581ed27ad61f1ec3b5e3e9027616417f00c024732843a4fb8421005581e03d7ff5caa2e88f78196554742f554309249ddc41215194aab08338951b0040105581e03fa8d29af79107406603ea097dd012cec34eb6486bed0880685313757d00c014701b7f92fc15c2803061bb6321cadcb991fb2dd09f556e845076879992867980cf0c283254000cc4a0364ca9a64c381edddf39fd76625a0161ab1785f6256598fec22cf2c31a598753c05581e03e4fdb1cdcbdb63211b53882087a8d39ca2c5419a12f6e02e4e03919d10041505581e03cc1b8beb5898f5013a17c7cfe32c54370235ee9cecab4e24ee26de5150040105581d0246541f9233cd099528cb70c0c19998135ac062d4f7cbba2251b8cafc0c0b47089d1a786e87be05581d02692a08089058fadef778bec377950e830944c9d68752e7e2c514ccbd0c02462ef3b36c072002183005581e03d1cf500fbcd31895f838cd8221b362a5fcb0b7ba3d62ed14d2a9b43770040303f1d27aad86edf8655703cf2c5f6a7923812ed170e84b3a09864b3e8c463faa3805581e03428cebbb23c73e50265a277bca00bf928aaddac752cbfc7892c1c025f004060219bfed03ebbb41d35e03c9feebffbfdcb35da44205fbd89f10c2993b9a9d643d55d0bbc903236b8ebcb47d9da8648d97a2615e872a87802c310a8bbb4a00dbb143d7e2f102031a6b5b3595f7a48f41a530a47f9c0c551e068b001b7972fe899559f95cc474e603fd3cddb9ab74b7476c20613ad0cd36a2618e1de3b5351bf71fd4615a5a7dee8e03889c3433f6d559e5f89f6877c02d2456cf01212cd14f30186c9ff16bfc6714e70219ffff03e4e86aa3cae16e5f9b63773c81232a3d07a3c7b509b3578496b586ee26d5cc16038a06905e6433645e1c764095b8cbd4b7578125e1855e58ca1bf9b0915f73057c032b93f326e0cd358617cd88e19b65c3794f32d47257e3b594bf508ee14ca980ea038a846cce194dea0f2b58ffc941ac94e33c7c740c0ba698fc15c760b2e005094a031dc11f4a20e4675eb2b6f31352fc8916f1d72f8d499068e0560f2d06088acbbf03a1110b4eb2dfdf2fd40776f275cf323f57561da3ecdb4f3091fcd3896f983f8b03a15a9edbcf005e74fac00c94d20ac6bec18a54bc7d5f37882a1d71d641bee90803fcc834b2cfb583cad1298d890e8f17ff9c8455ecade6e9d1605bd9ada258928f0219ffff03ab68eff2b2bf0aa6f570425ed65c133930ba5e4989eecb05fd93d9b6e60fce3203d0de65594bcaf4dfa75d0eda6ca6a26ee6f7ebc6e0e874fae828ae90769f722203808cedc7ac4521d3264f08bc7eda877d52a78a815a7e2ee39858e6e5d9c068260311a2a24cbd27d00a239945a4c8c1e4c7c80df008600f728fde380da1ce2644250366b1ae0bdd6e556aae59d8c4fd53b974a4d906bd3f2e4b96d8506262ed8d8a8b0306cc34a2f065f7c004eebcc924e3c28ba37b080d728e797140d5cfdec152704703cf5e66c8c22337cbebe12a18d61c8163eb7b195675a7d89fa448c89e19349666032df123b011aa52fbcd783c553dbfaee09d926a10e721346e20191b31391931ad031459e022ff83a5c4f96fa05b0c2cce982e2076720dd0755d20e6962e00560dfe03d63c6186374f21649da93eff246f823f576c7268d0a4d518b5c4dc8a512e0083039d5572ac159c189881d8b94ce3378b6b22ef2d1a21c9b7df27838411cfe4c803037ea9ceee8a242656a4463492a988acb92bcff5a42a1f2efc93fd0e0a4409af5f0219ffff03b7dd331653bd9036c132ec4bb48f64197c0ebd5a4056de125cf977c22cdda2770219ffff0325ab2fb638cd52aa594acb1b1e6a041708baf9a3165a5ca0961db1eb490868d3031371e5e9e791a5a0cf49336a1fcfac6ca605cb64925e91a495f4b59bfee03c5703dc53a498e1640ea0b5d53635f429d6c75ac1db12e93496f9ca84865d9ad6a7fe03811bd0d6004276672982766b151b26b1793a5538580d2c99b605427740e4f8b403f226c37ac8161d77dbdfcd1ad0cebb1c43b6e3547240359e0e6b6223180c393203c96fd1257f9611b9858fd71cae8c7cf73ad7dad9206e2aa63d24aadf7d6c4b0203b65ef7b8421075746a5557456de980598f3f2f1d94a8c087d01bbc679c62f1cb03722dc8b94324ff0033d48c902d0236acbb8ee66cdcff2338e510ad42e421ffa5037a9771b9558c54b127d2795fc416d7365856466d50b0e76ef22cde4f907618b3036c58dca02c74aabd0e58c9d194b9a242d520103711eae76e5ec996894fc7bb0c0372cc602d330eabef9503b13d6e23081bbad5e5ad359d044fe6ca2d0f58267ea703293c9762fb4c44ac250faaea48bd69198e2ca8a4aad96998b61291a76981654903a165cca62f21067aeb11e24d45d624f1b3ed71dd5643961cfb738f74b27c908103a09954546573ccd7c094484bd4ce7abac8b3f5906224c5cf681af2e6eb765b5303fefaf2586e5d3881ee2a8f2e0cbece6874089e38a1d50d9471b9b46000da1e2903f91c6c809f39029f6c82af4aa7f5ce6d8b88d467506b3e3dddaef5d98377707503df4a1359ac31ebf2e90a2a346d94238ee5906b01b46b5011a360edc62fafb0f7039149abd038ad05297cab282a98e43c876385b4195914d685a9ade8b02760426403c7b6cf504b94a68c69a0e4a2df825a04dc32a39a7bb4ee2f0390841198e8d849034ba8a793ed4b81d598100662d425a7b1112b45a6e0783cbfc887b0fcba0954fb0371ec685b74b04510ca5bd28c9a1029b594a73a156fe1d168afb0db334ca054f103e73080d7f69399a95693dfc0bcaa99dbb0ef76e2186d3f438044dcd8845c9232030172ca49bd0b4c226e623e2764d06bc4e78a29e5be8336118bfc62d94414fe8b033c617d296c4ae08ca41b83906f1e0453ee6841aba05b64aa71a6ff72ef4df3fe03969908b5d68a841cf7af26648a4c72640a660d6d93927a594e77b16f0544404c0393db43d11b239853b48d2c5734b39ec2b3052be5852fdad0b0992a0e7a9c974403fd8c06ac93d94742000d492aec1d88dee43d668ed64028321064b0cd29f5eab303f100bec995351cbca2665c9d4a331edd393cf3bf75f450081a5f22c36243855d03afc09740dc95881dae9c9fa963e32243f9f34ebee85f022a893a56852b72988503b1c9fe01c5b803c482e068153f3002e071f48d2e6c8b20d45ccea221c586cb520363314a60b699cc40c44ff9b06e4a5352ae5321e4ec93ab55eed8a525aa0b7d1f03112e01d92bda643d07618d36afe4e78c8c7706ef58a29df89f2cce4794c11c9603230f1030338e5e06a5568d472686162ead71790ff7f409b88a5069bd1d08326905581e033abcec357987827c3f7bea02f2476ce844b0607e37866541381b424ac00c10471c78bc904b07a803ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0314509652db9d16c1a78bb12827babe760124ad9af45ca59a8d8497fe2007011bffffffffffffffff05581e03ecd71cb4eca67e7e3ab52b7cda506936b300b260d9b1996343d78dd4200c02470209c9b3c24c6805581e0398c4a605a1491b39133252ab1fe1c28f03929381b6f11f5a5f8a394e900403038ec2848f1718886da47af7087375ba5205ccbdd14e27cccc347f985a35d84cae05581e035653261b4acaf14b234c01f6c3153e52438356ed77cfdfd1079ee07e300c19b1de490d07d89e963550924605581e03b5596bf36ab9626d46f1a2b30fef5a51ee43abce7ff6a7a307bd81a4200c01470359cee0d0140003488a3d64bd5a40b0abae5e70dc9191881071455130fbedabe8a338c8f81cd38f03fd172c270444d248e5c134ca871a05e6a3c6fad1da4f0c417a6678587405f83105581e032f7120e8c918ee5f823327c07d1bee1ebee840247134a727437517093004010219cced03001810eb020352bc7860ed5cd7cee69c587bb871442468baaa208ce373f6c7be037eb3528ef38bc63df5fd25d0fc7cd042c33aec8d776d232b5881f622401198e803cc0792616705ef6413459a5e585c4648b5c4faf5afbf85de37bb095688e4352d0385525922174b826eaf073064c58a7627e4d839cf7678cc4f805e5afcf95c536b031e9577c9aad98f9fff0d801ffce8ebf6ab8f3d86475db8bd08e6e7507e5f81260310bc116572bf092b8742279446186dd976ea66aab8395e3ad488f563f84570fd03d6249248a899aba71fd63bbb95ff235a1b9ae97e3ca5b24bbe2cee7ed371b7c503675add183ac10b3f2d59c4f9a5f36d46d031db26fb8a8b2c6bc4a9a8816daa58033501f5681a907cc7a20085d12830901a4ef33a3808b059d6c397153cc27232140337bedf5e2ed3d6ad2f217200a2d6e4c6501b166deede825b33b19a027006183a031bd4ae62e6949946d9a7f5c5d1dfba120b29ea5fe1edba83526aca0babb449ba03c174a76960e317cc63a77dc9c2b42e26516730cbf7ef51833b41397bec0c2bdb03bdf82dc3470bdab58cb6b3ab90fa3ef8a7077f957c69d61c5e3b26c82db9aec203b7fe5b5ffe955a316e2ab3c7cb9f0df4cf2686cb860752b759d2d6a7832d2c6a03aef8063333f2cd765e69ee33cfe6185de413b100466559ac15db6776c9a611040219ffff030121213ef64e4fdd8752e7e95f40f9d33ebb48eae90eef6e49cde46d83ae002d03ff847e2a05301c8202a7adcb3012876ef4f8762eace5f8fd92e4f51da4fe8e22032f40c08fbe112e3430778e9401a1c0405c0067a99dfa78d0fdc3917e9a9a2ad003604c95b1f38359d001fc54923eeeb2eb7167d9995af0e30a1a6cc0879f79895c03a0a0f0d73ccce827ca1ccb3cb1a3e2209d996a7b1011b889a410359a2c74466803f3870f8c4d15dd83e28266fcc2db8be1d58aa9189d2085aecf7b054c89484d0c03752e064c30476dc4991cd9caa75c0d3fe9f6e996a33ba0059173d4fde8b4a61103699c0593f28e5590634728f14a0699c45e26b2db4150415477b26ae69baecdee0219ffff03d2c25e5988eb4274502e03d9a4eec1a40733612578f31268a39f3635e9dffac50309700883c4d7a6c8591e4bcba728b7e01cce19850c06794c0fb967becf711c8b03cba4b6887a01107ba6da7ef8a48877ea20b143aa55168df07778706ef0e62fbe03bc18d2861e1f0989b0d9e367efe055a51653453e425f777617c66393bf338c490219ffff0219ffff03071a8c4e3e2818d3de948f77f7e1ec49df17c91c6d557432c82071b0a4e1be4c0332ec541d42f05ca172eb2b558ada70271af90f7a7a7dee12f44b8c8f8012977703caf0eec26d007b4cb237bf81e2ac49b4d108668e63962e752c314474317866d803c6fc66a370bc2502360357400e9851f3db3573f8512d0b49759534a52aab9c6303d96d17d0bb7131c8dca5bca9da7cede8fe836f51aa785abf2aa38b35f78d704903dfc48b8f45fd08b7c9cf0490b0383b763d3c35ab00bdc7a8a601b58fda9dbb73037768d5d9d07326e24d8c4b208339b29e0fdf1745f31f93422dbcde2ce6dc320c03bfa93b4ca5d27c9279ff06d91fff850771fd17f5ddd3579cfa92f0a6c14d36a8032c97c10d0e84e407a3669e0f6bcafa8f708788c02a902c76c03e7d29984221ee03acfba37544990c27f12e42fce71f02adfd382a1ad606b0be5ae0ddfc6f0e75a4033a75921004daf85c2fdf70d9faa04495592e4615dd84e7246e344b09ae057cff03450c846e29c71bace95beded11570512c1db6cc7a138f912f8f6d058ceaa2ab003f2b999c30b35013259a2e2509259fd77fe86413bc5fde33f7e1c408a7087908103c2e58b9e3f42988df72f2625db89ad8e8e0c78f465f7b7868f84d24e63c030270347534f62e75600c82a8fb57b506d594bf96695c8e4da2fe60fc7fe5f5bb0a01c0343ae8ce87d999911d66b041a50b7f16fb9639a548aac4cae344a642efdf6d8840361998bc5f50318aee80906c5fc0c29131ecda0d2a18216d07d7c5d7893ac5808034b2b50f60d8328f18a6fa6c9762abd509fb9540c130a9c8e5cb7ecc70cd0463203a888e5a682541799b9edeb00f6f280acb42f6fae5b5755037f1de427409fc2040327cd466cc85cc2d6c2a50afde00e56e3f4ab5a97366398ff358b397c364a3eb803448f04f412edbf6e5f7d9609e54a8d145770d32c5884d47984540aadf9f06aad0327817f61bd8fbae8cc0c6b912e9ccdefc11d1826a6180ee24271f3b712f44df0032c49aa86841787bfc5c3531c045d6e8094a3a5524049da756170dc5a81d2c73005581e036d484e86de5e03dcba47f4dc308188c37142acb756dab33ba0b59af050040a05581e03cb1c3c5d37502d0aa13d62b6424910ab952978d0b11fec6ccc3004c7e0040103d10c50a8f35a113076846ce372a64d64408d9bbc8a21f8c5de5b93a1ec720cb003eab6d090ba3fbe9d3b561c6f50e146a8465834dcc21748f143244185f48fc56003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031979e8fff074daaad04439623f1b536865bdfaac7f39c16055f50143c007011bffffffffffffffff035823abe9c841d68f5ad3504678fed1321b952563e04034fdaba7df663170a67c05581e0317bbf8ba657e39871ab5852bb5d8ace9de7fe3ac599410ee2d50d0a040040104590795608060405234801561001057600080fd5b50600436106100a95760003560e01c80638129fc1c116100715780638129fc1c1461014a5780638da5cb5b14610152578063be116c3b14610163578063cc5183a114610176578063ef921f8f14610189578063f2fde38b146101ac57600080fd5b80630a5ea466146100ae5780631c6eced5146100c357806323b11d8d146100f357806348a4f99314610106578063715018a614610142575b600080fd5b6100c16100bc366004610694565b6101bf565b005b6066546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c1610101366004610672565b61029f565b610132610114366004610672565b6001600160a01b031660009081526065602052604090205460ff1690565b60405190151581526020016100ea565b6100c1610324565b6100c161035a565b6033546001600160a01b03166100d6565b6100c1610171366004610672565b61041b565b6100c1610184366004610672565b610496565b610132610197366004610672565b60656020526000908152604090205460ff1681565b6100c16101ba366004610672565b6104e2565b3360009081526065602052604090205460ff166102235760405162461bcd60e51b815260206004820152601f60248201527f417070726f766550726f78793a2041636365737320726573747269637465640060448201526064015b60405180910390fd5b60665460405163052f523360e11b81526001600160a01b038681166004830152858116602483015284811660448301526064820184905290911690630a5ea46690608401600060405180830381600087803b15801561028157600080fd5b505af1158015610295573d6000803e3d6000fd5b5050505050505050565b6033546001600160a01b031633146102c95760405162461bcd60e51b815260040161021a906106df565b6001600160a01b038116600081815260656020908152604091829020805460ff1916600117905590519182527f102d162d8690811b17006e6e7529e0e7ec6c7f357d1d74d3d7ceff35fd75ce0f91015b60405180910390a150565b6033546001600160a01b0316331461034e5760405162461bcd60e51b815260040161021a906106df565b6103586000610576565b565b600054610100900460ff166103755760005460ff1615610379565b303b155b6103dc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161021a565b600054610100900460ff161580156103fe576000805461ffff19166101011790555b6104066105c8565b8015610418576000805461ff00191690555b50565b6033546001600160a01b031633146104455760405162461bcd60e51b815260040161021a906106df565b6001600160a01b038116600081815260656020908152604091829020805460ff1916905590519182527fb24cbb8005827c88afc2851884e834493cae4ef0d1302bf939281696bd6ae7599101610319565b6033546001600160a01b031633146104c05760405162461bcd60e51b815260040161021a906106df565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461050c5760405162461bcd60e51b815260040161021a906106df565b6001600160a01b0381166105715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161021a565b610418815b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166105ef5760405162461bcd60e51b815260040161021a90610714565b6105f76105ff565b610358610626565b600054610100900460ff166103585760405162461bcd60e51b815260040161021a90610714565b600054610100900460ff1661064d5760405162461bcd60e51b815260040161021a90610714565b61035833610576565b80356001600160a01b038116811461066d57600080fd5b919050565b60006020828403121561068457600080fd5b61068d82610656565b9392505050565b600080600080608085870312156106aa57600080fd5b6106b385610656565b93506106c160208601610656565b92506106cf60408601610656565b9396929550929360600135925050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220cef0361026d143789d3a650723c24c713525ee432d868f9508fc5fe410faf15464736f6c634300080600330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582002501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943545440aa958dd87fc8305b97f2ba922cddca374bcd7f00582003e5af7989af34160053c740614b9ddb3802b3053daf83245a1bb265a8bcafe0410100582003b2639b17bef0515027b53aeaf7e6afe7d7e132e00c9abd9bbdd0f1be746cc0410102190420021901400058210345c78e6cce5cffdec145e73ecd97300c6fd3c324449c80fc66d92f4c6bfbad704101037b9053c53fe097f64a8aa281f4b1c23cf77013613147cdbb649c1928b5f5cec203d60baa5905786079247bafbdf7ac5e7423ee43d7117268a81ea61088df621a9000582103a012d18e3ab1ec8e0601d9139d23395f6626362a923c5a7c2e6839fe7f5f18c04101021941b405581e03f4984e1d911878a0ddd7f3a4c56797a98c41c9e65626fb4ae0becc9cf0070119079505581e0321f22ad905c506331d7f77323648114d3988003fbbf8da25af93037a700c0245236fd3b2000360f9c8120dca62dd1c723fbfad26b16f48c0799c1bea1205b363df3d8802aefd03e341c22cc41099ee3c0f967a9d5e94af7bc906464204782df8baa1259de0a4b80219b56f03fc39247169d68387fe8f2d369c8e98607eb364efc82e1033596d18048b7527d203b679367a702dae8e36f9067f98b8fb9593b714e8842400df0b10790a3c76182d03b848bc4bad6e941effb63b016d1a2f4f0df7b236a8c9add55013b9b161b900c103adac8dfa834cd39910f2ffd084d9fd9695fbec9fca612775b2b63b2a84c9087203353d21fe29b88c32f251ba9f40ddf8a8e9c84da27058b0602c16270a83943e0f033657f498828658dd524c7d62cf8b067de29af405f8a1ec18d066010d2a840b1c03b5845f8d0e8ff1f63d85ad47a2fd6ed587be53c33a6a4405304af6af10a0bfd403c238b83d3a89d502234c56cd40616df7b7580b543528840ee02314d443ca6ee203c562a9d42afccb384670f065e0287167d809b1e537db57badc0ca1fd6e12a872031dcaf274ffbd3cc4c5096eb427a1bac8e71053d33979ee4983374ac5674c99c803e94354100fa3ba66d98e5277a334e83adb6337e514a7b9c93f1892198218d2f80323a438512b12a932da5a2bf8d32d937a09bb49f31ba5604a9466d10ad09962c30219ffff03b282fd39df1e0d4daf35f269337a444ab7263f7f6901ab8a1d8ff011cc7596c6036a7068fa89ad52c73495110ed3a8438982ae1107a5202fb9cf3b3a92f453f2260398d3e0e3332ac4eaced545f318a2cb5417bbd77d71b123266abf0c109e19ae9803018fe7c241f17db4eeba6113d14d876a0c2a4821b8e1e8977fae8854377fb59603e25233fb773c633eeb8e9b2f02d388cd9858d9552a2a9cf075a2fbb5e94454e603d55134a5dd18176a1ba848e62154d22038bebbaccb00c09ed3d2125d9692e76b039367e26068fc7db6a2ebedf16c441798fb04eba7332909c0857325f0cdc1e8f2035af274ee7d6a42d66c7de7f453ef870727043dbbfdc224fb89ba66602f162a6a03c701580d893127a065c2a6039d019ffe26467d650208a4cd0e387712d476052003b95b646cd64a86e621b9664776c1b7980092042524426d7e24cc40706062a1a60219ffff03d06ff6affe47e2437e125bfe41b6d3bf721bee41d896d9d60879bbc404a3a6aa0357e095cf3c693c43fc48bbd0f5e9004d1d6f0a041a53fee0711ddcab17798588030a1fbf1aa1bbab41dc377f3194fd28bf3943c10f8528a214fce928efcf2bec2f0219ffff031f7abb7086f8197be202a8fc91c400331fe7785e0702e37a71262bcae1713e5b0371996435a9dcbafe5b8c9e73002bb90335deb70954950974a61f08df3dcd9b3803d1cc2d813ed53a43872004f492fbaa8a22abb40f5bca9b3160a7290330a4c89d03ca238dc9f88603a31fccf5fb0c3fd5f5bb8ba81f786c5a5c34e79d104901279403fa91417ff2d14abbf3b17566867a6ed9f4ea7f6ae49655bd4c6e012296c1754403c73b82816c4e56c1c3db6d2ee0bb1771d59537ec72e7cde5254055570b24bef3031bb2db4ced3f7b05720503de26864fca400cc77ae25498e5105a0360c7750efe03eeeb5bfd301334ca61bb08b6e229505918bd0a95e06e59730f71c8dd85949212038255a18f0a058faae0f41c4f2b905a9a1b79341b62411d5be831ed06fe916cf8037eff0f4a76cfcb0f4dc97f3533fa544b0ae68e593c858c46c30e5a0904095e2d033594506d38e025e2e4dce793d49669665eb046836c1b5db2af4653bd9508d34d033b743b78de6ed0fd2959ca0a1634e15604b469c5733cf26aba492c426ceb727a0349056cec6046f17a8e093164081db546625c892855895f77c75dc95dc5e338fe030b80fa1c035be138a5e83797ab545cf6c56a513544d112639c28f03ec200aa3f03b1bce7a6e6dc5a823c5b9e18bfd2f8db6943770703021badbbd441c9bf9143120310fbfdb97856ec9bf4532385229701c1a76866d23779ed90da8e9c54feec16280317c59cff7d521833afa89ab52b7787f199e3ce360f247796f96bcc3a1787725e0347328572a818a48255c8ae43459f8739e3c111244ac3bdbd15524e0161c8d4e30339eb4be571614b5ff7437205e8f63e072bcb5670663e15a2de361b2c7d3a9d6703f20b46353fa49a5e2937f41dfb57c76b02c3cf240c6b046b2405d34e3a246eed03c24c7a4db9c7a69a38764d33040938ae780239a828a335dc8fe07e40db804d0803f836d4cf7f102b0e9cf680f164229c86ff514e9bd98a906d152a9f32879b33db03c5fad72fbdfa67e2fa2962ec913386c4b4ff9d4c5101b52cba479d2d78080f0205581e03e31e35c7fbcd99172773b7eb11f32f87332aae49f1678ed485dfcd00400c03466f678ab2a4b005581e0369643c0569f8571506e617f20e240c9035dd5bb6a550bfd7c48da2f8e0040103d4ce295419b45ac24fa886436a5ba1f3c885f0b8762ddce31a34e965637f9c2701410205581e035236d821da0148773a30f4f9e1f8c040d565b63f80377f2394af0dce90040405581d024233ce8624029cddbee6fafb41785c98a88949b6e286087ddeb1977d0c0b462be4ac93aa9905581d02fdd0de75952710c6cb904fedd5889554607640a701d82ebdf0ae9d32040304591e21608060405234801561000f575f80fd5b50600436106101a5575f3560e01c806379cc6790116100e8578063a457c2d711610093578063dd62ed3e1161006e578063dd62ed3e146103b3578063e30c3978146103f8578063f2fde38b14610416578063fdb04bbf14610429575f80fd5b8063a457c2d71461037a578063a9059cbb1461038d578063d505accf146103a0575f80fd5b80638da5cb5b116100c35780638da5cb5b1461030d5780638e80ff5d1461034b57806395d89b4114610372575f80fd5b806379cc6790146102cc5780637ecebe00146102df57806384b0196e146102f2575f80fd5b80633644e5151161015357806342966c681161012e57806342966c681461027457806370a0823114610287578063715018a6146102bc57806379ba5097146102c4575f80fd5b80633644e51514610244578063395093511461024c57806340c10f191461025f575f80fd5b806323b872dd1161018357806323b872dd146101fc578063313ce5671461020f5780633544fd2b14610224575f80fd5b806306fdde03146101a9578063095ea7b3146101c757806318160ddd146101ea575b5f80fd5b6101b1610431565b6040516101be9190611aa4565b60405180910390f35b6101da6101d5366004611ae5565b6104c1565b60405190151581526020016101be565b6004545b6040519081526020016101be565b6101da61020a366004611b0d565b6104da565b60125b60405160ff90911681526020016101be565b61022f6301e1338081565b60405163ffffffff90911681526020016101be565b6101ee6104fd565b6101da61025a366004611ae5565b61050b565b61027261026d366004611ae5565b610556565b005b610272610282366004611b46565b61069e565b6101ee610295366004611b5d565b73ffffffffffffffffffffffffffffffffffffffff165f9081526002602052604090205490565b6102726106ab565b6102726106e5565b6102726102da366004611ae5565b61079c565b6101ee6102ed366004611b5d565b6107b5565b6102fa6107df565b6040516101be9796959493929190611b76565b5f5473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101be565b600b5461035c9064ffffffffff1681565b60405164ffffffffff90911681526020016101be565b6101b1610882565b6101da610388366004611ae5565b610891565b6101da61039b366004611ae5565b610961565b6102726103ae366004611c33565b61096e565b6101ee6103c1366004611ca0565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260036020908152604080832093909416825291909152205490565b60015473ffffffffffffffffffffffffffffffffffffffff16610326565b610272610424366004611b5d565b610b2a565b610212600a81565b60606005805461044090611cd1565b80601f016020809104026020016040519081016040528092919081815260200182805461046c90611cd1565b80156104b75780601f1061048e576101008083540402835291602001916104b7565b820191905f5260205f20905b81548152906001019060200180831161049a57829003601f168201915b5050505050905090565b5f336104ce818585610bd9565b60019150505b92915050565b5f336104e7858285610d8c565b6104f2858585610e62565b506001949350505050565b5f6105066110d6565b905090565b335f81815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906104ce9082908690610551908790611d49565b610bd9565b61055e61120c565b600b546301e13380906105789064ffffffffff1642611d5c565b10156105b0576040517fea0c9af500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6064600a6105be60045490565b6105c89190611d6f565b6105d29190611d86565b90508082111561060e576040517fc507dd3b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000164264ffffffffff16179055610649838361128e565b8273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858360405161069191815260200190565b60405180910390a2505050565b6106a83382611381565b50565b6106b361120c565b6040517f185b73b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600154339073ffffffffffffffffffffffffffffffffffffffff168114610793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f74207468652060448201527f6e6577206f776e6572000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6106a88161153d565b6107a7823383610d8c565b6107b18282611381565b5050565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600960205260408120546104d4565b5f606080828080836108127f454e410000000000000000000000000000000000000000000000000000000003600761156e565b61083d7f3100000000000000000000000000000000000000000000000000000000000001600861156e565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606006805461044090611cd1565b335f81815260036020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f000000000000000000000000000000000000000000000000000000606482015260840161078a565b6104f28286868403610bd9565b5f336104ce818585610e62565b834211156109d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161078a565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a068c611617565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f610a6d8261164b565b90505f610a7c82878787611692565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b13576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161078a565b610b1e8a8a8a610bd9565b50505050505050505050565b610b3261120c565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff00000000000000000000000000000000000000009091168117909155610b945f5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b73ffffffffffffffffffffffffffffffffffffffff8316610c7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161078a565b73ffffffffffffffffffffffffffffffffffffffff8216610d1e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161078a565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381165f908152600360209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e5c5781811015610e4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161078a565b610e5c8484848403610bd9565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161078a565b73ffffffffffffffffffffffffffffffffffffffff8216610fa8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161078a565b73ffffffffffffffffffffffffffffffffffffffff83165f908152600260205260409020548181101561105d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161078a565b73ffffffffffffffffffffffffffffffffffffffff8085165f8181526002602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110c99086815260200190565b60405180910390a3610e5c565b5f3073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000057e114b691db790c35207b2e685d4a43181e60611614801561113b57507f000000000000000000000000000000000000000000000000000000000000000146145b1561116557507ff5a0c720a0f12ad9552178543631b85b9abec5125cb92fe4db46254db5d1ecc990565b610506604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527fa597b0dea843f8b53e34df0e9f465a9eb221914de31353e0de09ec79e063d40e918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461128c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161078a565b565b73ffffffffffffffffffffffffffffffffffffffff821661130b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161078a565b8060045f82825461131c9190611d49565b909155505073ffffffffffffffffffffffffffffffffffffffff82165f818152600260209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161078a565b73ffffffffffffffffffffffffffffffffffffffff82165f90815260026020526040902054818110156114d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161078a565b73ffffffffffffffffffffffffffffffffffffffff83165f8181526002602090815260408083208686039055600480548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610d7f565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556106a8816116b8565b606060ff8314611588576115818361172c565b90506104d4565b81805461159490611cd1565b80601f01602080910402602001604051908101604052809291908181526020018280546115c090611cd1565b801561160b5780601f106115e25761010080835404028352916020019161160b565b820191905f5260205f20905b8154815290600101906020018083116115ee57829003601f168201915b505050505090506104d4565b73ffffffffffffffffffffffffffffffffffffffff81165f9081526009602052604090208054600181018255905b50919050565b5f6104d46116576110d6565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b5f805f6116a187878787611769565b915091506116ae81611851565b5095945050505050565b5f805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60605f61173883611a03565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561179e57505f90506003611848565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156117ef573d5f803e3d5ffd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116611842575f60019250925050611848565b91505f90505b94509492505050565b5f81600481111561186457611864611dbe565b0361186c5750565b600181600481111561188057611880611dbe565b036118e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161078a565b60028160048111156118fb576118fb611dbe565b03611962576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161078a565b600381600481111561197657611976611dbe565b036106a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161078a565b5f60ff8216601f8111156104d4576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81518084525f5b81811015611a6757602081850181015186830182015201611a4b565b505f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f611ab66020830184611a43565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611ae0575f80fd5b919050565b5f8060408385031215611af6575f80fd5b611aff83611abd565b946020939093013593505050565b5f805f60608486031215611b1f575f80fd5b611b2884611abd565b9250611b3660208501611abd565b9150604084013590509250925092565b5f60208284031215611b56575f80fd5b5035919050565b5f60208284031215611b6d575f80fd5b611ab682611abd565b7fff00000000000000000000000000000000000000000000000000000000000000881681525f602060e081840152611bb160e084018a611a43565b8381036040850152611bc3818a611a43565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c086015285518082528387019250908301905f5b81811015611c2157835183529284019291840191600101611c05565b50909c9b505050505050505050505050565b5f805f805f805f60e0888a031215611c49575f80fd5b611c5288611abd565b9650611c6060208901611abd565b95506040880135945060608801359350608088013560ff81168114611c83575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215611cb1575f80fd5b611cba83611abd565b9150611cc860208401611abd565b90509250929050565b600181811c90821680611ce557607f821691505b602082108103611645577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156104d4576104d4611d1c565b818103818111156104d4576104d4611d1c565b80820281158282048414176104d4576104d4611d1c565b5f82611db9577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220ac0a889a875f42f844cb1e28f51d0b12a3fb4eed17ce35e34e78cf86cb30be5b64736f6c63430008140033031cc8927506cc6e9f89b283e6683f5f37d14bc71c36796bd9b837ae0aace2bb56035f4d5e1727e058aec07949912e0280bb78529a4e4f643648de6ce8d4ceb0f74e0385b1240ec3ffbe42bf8f820332c68e780fcf82b4f2110370cad61b1dc2220ca50385435d215cb2c094cf069bccc540309a158c8d34fbca83297c8455e31d05c7aa03cdd6fe838d5c33f4465cf3b15dd8f26f54044320f9444bb23d27d9b8d1ae4c4b039d1bca79577cec29e3f3829bf4894d52576c74f15abac0bad694ac58a5b41687039f7f4f5d2ea32a40ed84b09b4c4b4f8f07096222fa77e67794a91c2b4216b99f0383943f9a22efb7429be2d77533f20fa9920698fbfa47dc47930fa7b8543bf61303175abdc7585a79717bcd31bfa3cf9dca4887bc31dd6a1265618043db22e43663036978328536d1a365e484515d30d3bc4f41ccf9ee1f5772f36f54f4d6710f522103333f495a600a5867d7830d8a83d575373a90b157b46e645a189632acc2b311d8039418b07dab9f52bcd42cafe7aeb2757955d539d681ad5c908daa9c2c5b4a5918035ed086ca84f2efa10d50b7133176d1391456fbf867139ecab6c498e7f60ae59503c02b7b2c131dc450ac6d21e25b2f05cb99ebb45c8b2f8116f29b45f0eec14371034ae6a95597086c9008d98b7ec4dfa6ac6fd1f79f0817fd9a216031d05fc4b6fb030db6900a9b0aa0b79fef00dd71f917a5845567ba5ada64989c6e52ff0170561803b96763fab48321df48349084a05fcad8b64cff988dbbdb890d27dd40654b59ef03e8044618d23eea5e76bb9791cb3b244559cd86bfa338d9f5e72e4915a68887ba031207572839fc8ad8127765f02a71ecebd5c962a69cfe397def2770597c86522003e0a86d4e53f6a0f0ebc3a9d2404bf71cfd52063d98ab0a8577632f8bab5915e1038b72dcde2fa3abae74fb5e4f4c66d18a42cfb3f797d3a1ec8247134dcdf664f20338e96889e1ff06a681d221fa6911ba5adcaa94573bd617fc36376aef13a9f96c032c65d4358345b9541028e0470e3212189e5cb4c5edcda66042d199fabac19b6703e160df308a70ccbf30b1d241ea2f0651cd3ec759f3b8722b1834750c0457596603a324a790bb143044737cb573dc03992ea8801cd88cb4ed333bb0b05a3ed92d5a00581f0236e0002b0fe2ed5dd92590618dd2098c730d6c944d254b2794a191a1b00b4917363b10e90588cc0000581f027a4ec430b7eb8493e0a0a13c025e48902bc6db7d8007e6259081dd41f38e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02d48e3aa5968e303734b97383a53e5396cf2160b9253dc1e0f82c94a06d5e4ac7bb14bafa02edfbd00003cc4eda7e669d6303b2b977a72d043fdab690b92b54869968bcaa8c0da0f35ef700581f02c0a55194c770de1e7234599fa2470cea4772412c4e749bd771ae36abf5d15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0230c66322be8d2e478692eedda1725f7e2dcc3322d54c81dcaa326532e7144919661d883bf36550000301198f26fc6d6c6540932ec4954f62cc3d794e7e47a3f0f32e18be79937e212800581f027a0fe6b73bd1036d47a37c7ef0f865b4d00fcf7bd62118174135ef6e5b5d4901903c4332fa44000000581f027e12620260a055da216b8cf1289fcdae4442bf4c783d99761d79ec6647234921b569930a39bd643800581f02a5ef98fb0193990e74a6949847682e0b9502825b1b1df332ed1ab84ee2ec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0345b6419a77b4fa060be138fac64b594495578724d3eb04610794ead13e9e4b3d0219e57703ad7d8e92f5c66e47ed594de13d6a442d4aec52820187b23b93b9401a726befdd03a526531c3d946139522e5ce0e4c406860eb425edbd1fb9a1396d4c344fc6b14f0372a97865b4dafb908178cba5d4f1bdf5cf64179988299b70a59ce7aac144deaa03d04a9ebfaee839358ed4e8fc4e18ceb3f1eb5f57d4799a8ef613dc1be8f62cf403d5daaf2a9317f499b6a98bd08e5419b949256d5e90e0048708730d5d22e5e7f8031bcc1195db7599f3458223db8a1a03bb3cc3f271de659b2aa100e9f054009f580219ffff03503d21aeacba99cb09bd1ee27b0ab313bf59e2c51b5ba22278029a546c386d770367fab001a3e1a6e0ea2605046fcd6a398084a6e6cef114dd868d91afee5a8a4303c8300c51a0f8d95f4b397138fe717f2f7f02a572eddd50c0ca1a5a867d2bcf9903360f17b02c616cb220122e0e42699ec811cee83ae9748dc2aa9151d908bebd1e0219ffff03015c47839b725c90847ffe3f03866392d65433dd76d9f82d1e254edc5ddac616032ae44590a388f5c1833ea91c0384fcf95e0775d405ee6db62c2e74e3a7924193037a71ad97f0304b811eea5901a832dcbc43b96c869f316442e0dac8b2ea2f366103a1feae53d2caf2375ea8d30c8c640d4c8458f33f02b8653fceaca8ce5a65b820030bc3e3058bb4ac019c4e2795112bdc5b3f315d31f36ea5aebcc6c3ea2acf52d003fd033fa423d5b1484ac6e71f570cd0b974a877d3217cf910ad3e22243a161e2403b3c4fcb8599f74a8bace19c57d517db5f435f733f14a744ab582a9f24986e9ca03a337956a1718d6dc085762ae7d33b71fc1fcb172681693ad3037e544d96322c503e7de25eacca8a1077145b894f58ab03648be32c3ced00353cdc687b1e115ef9203296677ca8e2b50393cc55da5b8dd38aea5a82d0b74b2e69cdd2b8b2c7cdb62d103fe56d093f7d6414f8a1dd7929fd58b629ddb451c012d7d9bcddd2e48c782f78a03cc3a7d49fc2f61bf04b51385c794948629cf7d139f2004899b794d039540744e03763907eca9d45d316f50656c131065244a2c2dd9a499d9ed909c4dc65e96239b030a3e8a11a5f494f41717eef0d28fa638335ac78612062acc60c912e25ae38bd4038f2d0102a3d2ffb34644dd6e6fef5c3a77de618338be0eb6c7193682b953f45a00581f037cc008b3608a91cf939c8d733dc0e7955e98dd947c1c4cda39a42fa456204903685161164348ae0c00581f0354e319126f224ac372e2449fd415629ad8852709c33d7ec69a820fd2a9904915ecd40e6200f6e4000219084003618b62a95c71d4dc7507386cc5120ec0b5575e407bb991648e23fccd1449b55700581f02c6ea97c0f45ae69cdfb323fb1bfc13a58417a04004a7c63c06abc69541ff4913a2ec5302a7d03000032f6cedb86e4d68bf37b2d57372903b26fe38983fb9b65f8dd2f75443795c62ff00581f02b4247519b95e0992313f7758945a8a01f975e9b496e6404ef24dd3db0efd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02a9897a9a53ac5637473f418ca4bcc9f6758e9d2b07ecd134bc588fb9b6684945bb10f1b4b848758e00581f02ba3f93fef7cd93ca617261b86470f75396d1e4fe9baa211fbcd4231bf9485820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037df7964b8063e716a7fe29d500fa1f780fa232967ddf61acabfc53e5ac9af89c0358af7775bd4be1963092f1b3cf3e35fb3c75382120ba062759e5f74eca4fb59303ac521afbe27287fe8d9fa080800820aaf24ddbbb04f46e5c7eab5f2db150871703908f5055795a2be57b05287f0ffe8373ce05959417b227c2653dab98fbf3654600581f02a0421ec1227aaf9b2b427a182b5b0d355bdbf9530d006a6c4cfe97b39c6249107835f1587b6d0000021976fd03aa18d14914a9822c96822499e8b7f15b477b033b5e9de67b8d708279fbf39a370345c5f4516bca7a89f32764eadcca2585c9112dc708ef42b67d0917105645640903bb1b356a4dac7e26ace561c1b759b196f46f5026c6b92518dbbaf77c0fa91895030e29287d6ee0fd45d0563ce04accc0ce4ab91d748f2244524a7021f6d7166f5a033a817716019d4b1cb3c44745fb7bbdb29a9e6f4e4127fa2148eb73cbf206f279031771aca663c587cb7e421ebd5c7e4572a7f6dab3abe133fa6b2d6520d23128f403afe8027c1c05d1d29e4a576fee48ae6dc3559709eb6e515582888a53d6ddeb4e0314dc8e1f8219372f38f4ccc34aa1bf8c10aeb054f04600b899162e5384d6c69503bc8ceee3db2f1a83c5706053126b7e6ace784b699870921af19887d13b94ce900393f4e8b1306b57b067a78edfb3a08cb009db9b3c9ccfa7f8a70f0673155f5c8503fca4579ab8af0966dcd5438dd564ed1b6deb207218de01af7d48c3c92db0740d03fe66749073a595b9bf37497f314f1828958f89ba0db13f29704b07f7d1f55f2303ee0f85ccf294067b7102a8cb7288f73e5043a9e3620c40279053fbdb55676d590393f52ae0342f7ce48b66b6d6ee403c87ad61c1a3706a7f3125397a45bf0abf840219ffff032374e326f290a30d3c86a973c09f1dacdded08e88c1f146f586e9059df34d8b203b748e78be6b6f75abda6cb141ceb6e06bba4eda4005e1fde61073c881df23f08030b201506d00cdd2a79ae4efaed90c3d30b579d404c98dc0bf2fc71d177d1d87d03ac8e189ae2487c95a95d8e3863159b3d943a6bebc57e2ba0628268025e0fbc8c0219ffff03c54177691de2dda3f75207febd0ae6b6c7a3174c92697fcd6783e2ba10644e8803d370f719b40bff3a1ee535962f661de3e9aa528ba804394f779f37682169ab6503109b86283f067a7f4f9bb48997ad6030e0dc1f2af23af01650760bffa24c21af0339281f920dbd8ecac589539f5d5dc9d9fbedbcf9b4cee69b866365f698d730c403131fae9aea6b8ac87f79ec265565a49095f6b49dd0191732a539f26ee22034f0038a32b4e5f5ece3b335ff5dccc943d4b17ddbfdc8c9b182586cb1e83219629cd30300d70a31d5e747152d5d0aac7cfa3befe54663bd1a0633622031b50b4a1b19bf03cc0fca63de653fadf08054f14f21ba746b9d3938bc0f70d5970bb41e68e250430331321c6123556c5cb50d5a8112533d3f342f41fd3a64d504c84e27997d5a45f603dbc618793ad1daccd2213fef42b961848d4a480a6acbec1c5d2dbb390d6d0ba1031a95caaa2904e7bace59c30e05ea3a2431ce75365e7ccb2fac095221f05eadf2030bb866afa4da2cd512c0aa8dee44dc7b58b046eecefb9e5e6f1ac6b956547d8a0308c454935f1be0d73588cf9f79a9ae4dc99f5f7ad121876a107721eada4d5fa903df77d05764d87afde76ea7ffca398b010c67773cc02463028f9805eb25d8411403865ec8fc3e30d2d1a93c7f571576a4e71d71165e8469bc038902bacb64ad9dba035113f1a0e1f7878d33acd1209f08c9ece38b8cd08c0f0c9c6716148837d1197103a2c13883bfd45626761685e1a4d1ac5e10e377aea1558e4e1ee5c037363fbc700303dca868380879973c2cda43fd5be4d3bdee0887ac67bf95d6091efe0075a8b7032ff24ed120337a68815466e3032b03549e0b361ed35b86f5acebb058cd3d3a72039983c6f54b0451b36583c405298382d75c88bbdd4ce9984fc234844172003ec603284d8aaec7455bb2200e9a164fc521c4fcad7d1257f4e9cbf50e25c5f2bf422a00581f021df5645e57ef58f2258b29beb9a0890be07cabc3f0ee057588419d1db0425820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02e9c23050bfe26878c899bac404ff02c4fa8d7749e784df4b9a41b44a01e64876842cc0cdd6000000581f02599869ed9d155ecb73311944df61ca69002a18248b6da35b143460089fc641010372c39b1eb8e7ba31bc29049df0b200bfb7094918d5db404c6b9f94259d9c1bbb03e6c15c8a7a111be26172f5bce5f3d7a231c683d9558f1be9e0f0c85ad1c649d600581f025e4a2c2b5a75d53d4bc19cda10f9479e917632ddd4006cf6d5fdd4d0e7e8490960db77681e940000037dc6b4989bb4d502cdf58d2986518923b7cb2ec82f2385a72a516160558e63f800581f0334900b5afe655f2bcb5a82437e9e55af157d6465e7c078bd984dd0e82ee047071afd498d000000581f0386bd175e862c94e50ab73b12be51b43a7a0cc4f2821fa37a98c3202c18e0482cc43d73a4d3e000021912000219f9390356ec73095815dbb0f8ae1f15218b6fa8a71b0f513207e43b951fe50983569c0803cdb1d9dbc98558f824230079abd1a8fb8900e35fa5c522a8a5d797f03e428779039359baec5754c652934f3947211730dbbec0238338e92b89b58370f110e7876a03c23d4fbd520223a9b2fdb512300cbfd585a47abddcfb404c801677a8d63596a90329156bfcbc777e8f1042e9c69627d4d7343ff905f938e4d054d16b4c5786368a0388ab7444026189026d51c389d276c2a0b4e8d150f0dedc268b8893a7581f5786034b7893a69f8ec44c1fffdcd9fd2b5591c561ea326d20af84c66af511f19d25180349f35ae5c20b86c031d1b6cdd0317394c9fec03467ead8b09b20d2a0115014610219ffff03639421acef1ef1ccbdbedfc5f0e7cbcdfa62973fbe4b0e5beb99b4545830680f034500298214d7e1c844a86b0bbc6c19198489d0ae4aad5ac66458df84e08dfba8032a73b1b04e4247eb4ecaa06c175a19164fe69556adc8da760fdbfb82e74f6a760219ffff0350d83c1d7da0e8c2bcaa4d54a19fa2054d227923c4e9a75e3b567916f4851c9a032037d723e8fc7adae195662237342a45d6543b0721b49c51c4fc8207265aa6180302318c8c31a1ea987a331d31595b53c02b340204472983a3fb2bfcfdce2cdaca03e0337ff20afb9686c85d9328ea8d45f844e05cd49a27a3ac7140dac58d91b92c036fda9f9d37769d09d5934e4ecee7d121a4c201d6f281a52e408cabfbefb7fa32036d8f996d209740b31372f729efbe7ed74f7c8acf6b482734623f8c7b8f7380e003d097c27d9e07d3a0d21b63821d2708bdd0b4277b3d00745c3d461e88c40a916903c9abc77beb13a1211ad830bf8f09a448aab49656da1b816f7177b01f5564e22603f710dba70aa44fe013cd943c360ba80a72e2591854ff7a167d89801b8e0a1fad00581f0240cbc8f1ebbcbe31e0ae2081e40ec38ba1e48d962a1ca367e4dae5c8bc5a4903e9ae81d4e9386a5400581f028102891f44c33d95e2d5e3398080a8330bc71298b15ea89bfdb6b517f3835820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f024068f76a9fa4f2b2c3df96642db6867959ace31ee8c183ec15f166cad854490350a071036f23000000581f0297c111a4503e8ec1fb47b8ff78ff82252147286fd50ab97eb87f1cc38b20490b434bd00f986e700000581f02fb759177af4af42ad398959b73c8acd3866930b8ad0ef9f001d4cc1e6a5d487705ae64da2ec00000581f02485748941357bbb2d1be360cd481f4374329bc67a77ba8aa87cd3a30e573491309b4c0a844d59b7500581f02915784cb18d6acd6a422f3152660380f1584431ca496667cdfa4a1b334d74902caa2fdaaf4bd800000581f0295614e861f357ad2aa63d6850a03e594e1740686aed98fc2d7f8c376cb9e49016293d5a15b3b000003d9cc624134eea13b6b4c9576ba3a0890b8c5ce18b84bbce84003161d51dc7ee500581f02f0827f386c5154a4ade8048440d261226aedad24792ddd602b32dc62feb35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0366cc15c78f52241255eedef8b41f370d8c91c7a904fcc08093cbb9d35e3ba0fc034c46dee33381ce7d0326702f427eb0e250e8c9fb5bfafc68fdc67817bf5a75da0219f9b703cb1aa90dbe7c57f33686ccb44f9f15ede0b08e38d95ef6eb6b6e044d871edb8303eabba2b5b74079ab9cd2f65c1297fdf57d5de04c7ec670461a3c2ea0db13fe2103b4c1f5705cac24971350695ee1cacd848737f8b056237c09686464da97e12836039c56c967366fdc0c35737c78ba2178f24d96ac5063455d166106fb616054e58d03a9a55b6210d0aeb63f88f27ea9c0aedc9fbcd413f60340ab73fdf9939464ca8203bffed030d665b4f9c91eccccb50835ad2fca3bacc9ed7988936638aed737c56f0219ffff0311d11121ba9a58ebd694b6485df8af259eafdba7805e332c62e36475ef6aa8ca0355dc708f01622d1b778ed672a4c759628c317b027b8234f516f5dbd238d4913f0343da841cc0e593d8a076bd39e4bb56456d1d5674a9aa5eae22a0bcdca0b1cf9403b459636c39c7ef42399f782215a096c1a68573ee9f615c3ef1c7fdeeac474a2c03049b28b0b0a7aa745526350208bcdf1c25f9324d8dd9bf59450da693dc363b1d037738e0c1cd008fd3d2cb0ad566c7681b9345c4c11a40bcef071d0492ba718d8b0335b41bed0c13d3524f9a47aed901d4d71b56f02687f9b45cedba103cbae2fc7d034092a511c3329a731613a8c4a91db37b850a46dccaaf4491dd48b7c1a928a54b03f4afe3f366c490e6df86ba7ce19f423f064b0ddb735f868aa139986961754bae03c163bb708ad1d8b63780cebb1a321141181d124358a717783958ce22e89c8e850324db8033340803952c2bc66238eda1dbdf2735db52a982f4a05bfcd15a809621038da041f1ad70515791e080905034a05bc61069e571175c6e13e14eddb5ae1e0d03bfb5c3b2ada0c010489bdf9eeb0527822d7239ee2d94c20a59b7300810b0ad0503f7f356d09f5b5e5c4fa88c57a434cd3c341d288885d4298da5579ed185f9da4603163fda042b47c7ac9d7f1c7a1b69a19b1227919e91e559ea217f247aceae8d2e0219ffff0315d559bc36c2cd0f3b79b113983e6668722b0987fcdb633a11032149379d4e820388c081f1a5c5c36e39379ea20fc9cfeba580cb15d468eb6a5815fb21c37767aa0371a586b3fc96c0dba00f540fb147d0a8dee1f86fc04f0ee9c6c667c0fcbe118003b087c68f1e3f13ef1179a4f59969bf2e6157d6a6dbd99feba669d3a28aba943203d6171897c694cc8eea0e617cfdb5f8cfa42a661d9744037f43b35c57dcd2933d033bd3f2bf1ce1d4bfb525a6dacfba0104a163fe47cfc3c5670df4324d56adab030361c25a9b2fc389398984dbac665a04a9fa1c7329add8ec7bb82ca3f5e1703fa7035b177bd9c95092a1546ed9a875ab29fee60d0880c442728b42786d5f30c185f903e328dac85593f0d03b080b17a478782e6aef1e76d2bdca9add95354486c9d41f036a0193ee7cebaba8cf61dd54f211eff49073e366bf01a1bca669823e72fdf308039ec5c3471fc726867a29f22cc095c32e90bf9cd87c63a33b1ba2803255b155530350333a92f6fdcc6ec2544a2b9420e8467fc5d7379acb05b0304a22b2689221a60397b5d8d9c4c4cc5511a9da6dd4aa8fa1b4cd63e2dfd8e60ff01532846260ee2903050bc3de39fc70d04bc913a3dbe2075e2688a2d933dc53531f350d0cf751e26e032f3296cc17dc4bb4f4b5710b2f65d233beba55a72f45eea274fcb55d7c6b29b60369582cbaf369f3bdec62eac635bce0d2feb5c886a6e78ed5d286b450f4f1af3d03cc513ee7b6383f085107d2dfb6bc399ceb1c189d06da17208008f92238011e57037eac8eb191a0af76fde0a2df914ae1e483cfa7aa8f1e8a67d3b1256acd03dbf50328af8eb8a10a510ed4e27d2051a6aa31769df6279c31b3bbbc02ef1ec3d89ffd039672eace79a8730a0bdf59678bfbdf2134cd7be15bbb2fec8a3b84770e96e04d03d0e1ab33de59bc2f7537b232aa6dc49180c4e4a9e8e413859198f7d5b0f4c39b034122f6d5e38b83c1a9a23b4d5e0c9834b0eadb8b731c559eaf7fbf45ca2c953f035fc887d9d250d2a44fd7dcabb64bd43a5be94fc3f290caae2fdd8121b6f17b2e039ce08fe1b33e49916fd30e5902cc325510c96852020178e0db8f2697da9e1b60030f5bf2986a331b0957a27124a828724aa9b1aee5767602933f0e29a87804b53403a749fb63012cf86326ee05a62513f2bfcfce8ee373c80ee5201408217762bc3f03e56b569cb549d51a0c676c5efa6bbdc9f864e0492049fb3bb581bed744defc9f03e21794ec8d483e9a17223e44e6751f943dcbd64dd613d7332f49b0c35653f74400581f026b4486f336aa9509dc68edd91d08a2fee24eb29d77578f15cd7ccda906a35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036e8ac706a7ad8650fe79b599b0b5cc6827f95cc624b84aab5e8975e33c0d405800581f026e30f699cd37c08f82d821f8f42a00caf563d39f6f6fe49c0f4e911ed38e4901b8579ae32325000003c170a2b1cc9c4cf38b2f259e5fe2c73bf2772f88aba451bff3e2fc1c8ca123c500581f025f8495205bce4d10d28acf9e9bca125be4b7bbc6779735f0ffeacfca6fb6490a78d6f981351ae000033bea47857f66efa69da7237959e06ed74d99521965a47d4cbdcdac14308fb4b300581f030507e68dc84d46d3ee4e372a71aba94551a42f4a03658ca01f0fd93ea9604b08ba7e959929c34be62b1900581f03f6dc7afa185c3f5b8fabf6dff6fe87e3d8c35c7fe4611e51b0282a2dbf2041010219300003321d3d5b8df66b4227b15721f4c8173b19f8556a80c642f615256dc930e0b0c800581f027d42953f64829bc7799dbb1b4fe0ced71f3f474fdcdd32656bf66a3da61e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0322fa65f31350a969dacac5589d740d3e7c405f13264d20211f73b5a5a8051b5603e507dbfa7578e9f8e3b915e3c4eca7eb7b68acc5af13ed742f9c6afbf50f3b000219d7570363b200c39948a2a2238113e5a7afa2e242d68772a64272d3f54a67b25ea64ff70304c2a83dfdbbb886a89ffe579c0f21ff8e2d0e4aaccd5da8298e1eeac07fa18b0219ffff032b2fa8574c4cc6e300d7f80bd4a93b9eaf115d047797b03ba1cf553022cbfa780219ffff03fbead5d05ce01dc654769b9e5c9340d9d1505e736216f830f220ffa5327f1ee40384150cfe7e57995fe3557cf2c8e7d982d4a376cbbf20708df252d571d7fd2a53034087d0789a4ca94eef37709564dca30d97bb3fb762ed802cf21e867a64c806e2031bd868404b422a365a67c16e9bee547b0d93c7a97ce52534875b7a29d7d447ef03dbf1066006277818cc40f4d540b0143f9e85a20e52ce242c76492a2b21555a4f036002b7e3bec2c6777658da48bc851818f4040032aa43cfef4075498d46f12dce036dd7752a908ed55760f60366b1978c4720981394d445611f400030a4613a3e5c037170ac5ba915ce6980aef219b3040407d1795c26ee1cff5ac64792a3e0f2f2be03a1a37db02b6f2c32f1082f4cd7fd4c9a40dd1671af439c2eb28227a0534a22d80340d84f6f19fe762f8bcc27d1cdbfc00788edac66a9e4fb02954bc210d9125da200581f026c05c6d3d165991965d5595c76124248852ab24d4d3d380b0a8c341029c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039ea3aab1067ac4ab826dfdf09c48006baca4c7b44766bb543cf6ad5d10d2ac0200581f03c7baba6eb73d7f25604c625b8550f9bd08ceb8f74295adb475e0510d86404a0232cb631dfac244000000581f0383764da8b5ede54b6fa64bcb59951961beb38cd8bb9dbd3732bf8676176049013ac52056c3c443070219044003b66fb0f11f5eb9469d471d78d0ca2e12cd361a760fd3386391dff5738e0ffa6003374eec547343d31db7b9645171e5bd6bc660cb49b36848d8d654abfec79df0c300581f02f66549eaf2b19e6ddeaec54674127bf52fe17478f4969ca0938663aa3ab74901d216823f38363c9100581f0279b6a0ea84576f687a5a7207388cd66ea3e7b561d74c19675f1007548de14905cee1adbd9c17300000581f020db564edaa11069e00a419410086d9f693b573529b250ca58f7269ce1e505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036a0b8814dacc25836cbab8fdad399c429462bba1110f30333c7ad5b64ba7729b037eb9c360f9c04873a9ca07733d9a73198fb48967d973c368059b9611517c71390219fc8f03aa7811382bc173798a3c211ad9648705a3eb22173e4447d382d764663f58eb1a03f724df5bb6ffea8ec160ba971ed66e53549debf73cb4ce577af76336edb2e5cb033a672c7d53e772b6bb7e737a08a5a34d2e1ca388291c6b6e58a41df6bf53c2310309c548f34445cf12b53b81a4328f3d31f80eeea13ac81791020586b5cbbb62a5037b04544c91bbeb86cd3edc173d330860986d404ff26c19253f3cd60ccfa47ae5031b290141544fb200a39b4bc5e9c7241af72fef662cb8f5abeab032fd1b5c5b2903508c4418b2a3294d6de48d3f113f3026f7d4a213667b6bab2a76543a0bcf158503d02f860a700507396457416a995fc77c6477b37ec6078f54b466a68615f5521b032bba0022c81705689db85ba8b7a480ce6cbd90a5ff317c640126131899a426df0219ffff0373b5f37c8be48dce37807de975caff366790127cc9f05e4cc51408d7c00422f8035b637625136d2aea459a5fd69826966692b07d3218cd6e6256d8299743fcfbd503f6407d71a5a1ab6d6058c1be7bbab133a771eae7982850de2fcf0d3203d8090403b12f2c8b658c302f210034c57d8f81570abbda6d85f970e51c4c445e10971b6903c8697b5ffc88cd3bbe7b2bf94a363e90bd1f2785365c99f18110d69e0f334b460300e0e5dc88710df734a755ed8eaa0c3f4b9569ad7ef736f271c281b29ba97ca0032c2ed0ae52e8cb44e5971ebac52f9c1f5caece770825df51058d1bd8f7c2890203437ad07fb8ed72327cdfe0120a1ddebd0d4d8ddfd02d4b40edc110c0e29ed702035d038694de79eae32368f3ae80fffd5e459a8efb512d1c9108360571e081c1a50312ba1eb169b5d1be854da5e92388a066b92be9c74485668dfb76ad6a00a6eb76037510fbb501786bd69f75097ff7d7a907a355af1b2fd7a17e9e1a12e1482ab436034189292801f8e15d8581e22c1dcdc74a18488b2bc11c98ac17c150cac4c2a19703f948a3862538f33b3265d5c95f3a56aca7a0be5fd5e4817f8fc4caac0a3f10270219ffff0219ffff05581d025ce8ce6649f6342a713daa43cd0ec4883d915ac801bec0b2168f35ff0701191e2103b89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b00003810c70ba6ef5d9cdbb908888ff18bb704829582e2f67561a7784150b9c9aa35905581d026c422b0dd6b35f20c3e4200b0398a40b99a4de3e139f79e5553aea7107011bffffffffffffffff02190e020389e1b12b1edd35d4e779959a55623545468bc80f4d1308942f59567cd839db1e014101037a3a542f7523ebfc6cd1b44906521e318b7eceee2536d1b6e2fd64110ab6a9a305581e0337c3c38707efed2362cd99205c8821dc6dc563d3b43b0540498f9f5db00c0546a8216cf1d07005581e03271d8767c60d4e984f7ea6d4c037b242c142edacaa9cdf0dfb091276a0040205581e034077edbd3adc03df95a29bff8129b4d5dd4ac27bafd39d439ba5a3dfa00401031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03cb83d819a8b71ed9a8daaca0ed7f47025dba4318d2168b637e84eb928007011bffffffffffffffff021967f603c42f561f6da7b5c71068a3541a1e176d3b319b8aa6d992bb0d684e212450db2003239232c34c230e2a348a89b29b3b51b16fe512d958d28309fac69d8a63535be103d0d623fa59ad3f024b744de1afb7d0988cf49e8282592780259df8a3590e7bee0377e9dfcb509dea2950da7a01b36d966b47dabb1d38cd25df0fe0d46fde90d0c103cf83c0828475f797707c4b5606e441f363735ea05f0b42c072733aa9e50d34370369ff002f88180acd1ebe6d804c3233294c3d926c8d5c85592d1c4977e8b3d09003ff837d37374afe61557ea124c13db6f53cbb2d00cc93a0e27cce3c82c2a65d2e03ff5c279cc99b0379ca1f15507a4f6c5f7ce76a56435c5af178f9d7a31e92ecdf032466f33d9ca9117f344291895c911739a3f26b1f2e1dae0057879b28d90deb0803ab1f4ab2d75975432a03d967933f6a69476e37519bd39beade0e0caa2e1fd981037010dcac2e85a7e7c315ca42ce83c35925927e804e4f4187e9d230e5e526d181030a9f95446dd842b4bf404b7dabcddd0b2e90cd5dbad98f187e0eb68d8cf2aa070219ffff037281f172c5773590b56036937ee20fb63e8a0d08f7ce9c82ee208b5bed4db63703787dba3189397e73a35a6145ae2f46b05c38106bf2e97832d085b34ca8a3eba5033e098cd8e571a88c93217f94e154319adcbc082282c38da3f9101479417d890f035656a39d00067f9f7a22f3a60aae1a7778a757090616b4f51a9b763931f07bea031d6b5546b257187d3165aa83d9b8ca14212f172a38d0f2254399c38326e18f5b0393e7e9c217a59905f3270d265ee4a39fbe55d26eda2760b16d1344d0b7b7061c03b3c4fb4e71c631c53a96903019a44f5ad7dacdd81ab533f17ee595a3237853ae0219ffff032ed8af01bf5c54c5f0be97f22b6b73607046f632ffa3f3860405db69f49a563b03dc0d4166ebdab0b431ec9917f7f385ead9a7f476f4e84fe6719af4c87947c29b0379fee94731ebdba3fb0076e8914d3239df4687a9f001896c2a5bda43983ab0c103afd71f77e75d14cbb7092720840d8708f1524632214d485a413bb71a8325a69d035264c41a8eb7a57a63dcd2592f1fdf22dcf6de9ade868edad8081d2a3567468003e621d303cab854c57ca378655463d6b6f93ae871a36e249b2102729dd78c50a203506457a937396c6e53ae3151bf2453974aa4fa94cc588359ef124f3ac758e4fa03fb6a6a0ee7826be945fa9f60253073e82e668d4f9cba56afc35187adeb944fa1030b75a75d52d4ed7705a9f133710519ec35d1725e37bddb4ed8457b7f21be2aaf03b2e023c6277c01cf5d71eb31a5caba4e1205757f9ccd1e65a7bdd6b044c88edb03b4523b20dcd7b04efa6363239ae8769aac284129a2936b32e344cfb2e945fc0b038614d296ace6626c30e530e8da180a393891c82e8cc8bec67f3f77b108093da803de5e0cc9e7700a2bc45d5f623eac177a6453f3d7cc9dd0fd6583d616df9da5140219ffff03a9a4e7c9593f4b5fc0fa0e2936d7c3fbda95fbd96433462b81f77fc1ca4728f50219ffff0360bbc3467fab7f1e51323beeae59be47e46c92cd1705cd7eb0e067aa2856e9090344dd375443b6eb82f9408fa9a5c74e2531880e427b90775bd5c2dfda48baf28e03b7fbbe7c239282c60e90415a02f9f9875f0cbfc43aaeb6c7bfecca5650d3df3603586bcdd057ee9ca319727ac6657cdbe89d5d03bc8189eaad4bf36bdf4e095a6603919af52e30f206b41088377979a907cdd8a1f7e79f247f275a14d7153bbe007403ef036cb441db6eeb48a8dba0ebb224ec4e1a48779999409b25b7f73e204bd0190377bd1e51e912b24f6532540a325d4864270e5f30a2b59ef88df4dd659cd5628d03cee50e7bb3d4be37e27625eff345473904577a83c3268dca645d06ec36674edd030a7c78befa5763ca96e67e683c5a82029e6342737932664e1add7d6f031f1dd80304b22dc386236cb5d5a0a12c14982335a6ce866cb6f6a62d4cab7e202b04f8fa03b57ba2e5e23e8b54cc1704c9fd1d84e1db85c4f7617c11dc3e4a2497585ceea8030cc478dfb5e5b87e5720b16d39a3d01007218090730f554525c172f2d7159c9403ae85d09d3dcdeb018a4076304eae41e0c2873a2d62d88aac8884d2c4960a3f0003d32cc788a2b51f502e59efd684a440f0048fb5e0341c0d2114688229f8ba71460304766ac433ba1ab6d7d8a97486bbc7edd9a24eb765d163ed21ed9f57804f6b7b03f2c6265d381571332176e962d7af7d6ec91d9ec31b30ac5c3e1b4c2e00c5d308034ff1c0b266fcd194edacd29b296554dab28dc94d7afd0edd50c571d08318cbb603697ceca80d5098e0f2f3757dcad0ccec46ce1062664d3dd9af8f8af4fab0815803aa71ae38758c26182980344054464f9ee5a0a081a21e03c902ec0fb3bfdf34a9036edd17c66d809849663244ab2a102cdb083938da4929e9aff424a06321966de8033dbef4717b14b3786c3f3cca5baa6bba1c065d5073b785dc0ed5436060c285bd037192b976d63c1111b81827da4a77acfd58ec25edfda98d76c084ffcb7fe66efe03d9e7ac3243923c8fb54622b962de0a8189d801ba334eea0523a00c13d652635c03257436a1fe5f7680e24c360196f69cef1feb509a60b662e22c69c9bedb7aae4203f69f10495ce8d0775ce9c33b6ec21be9ae609e5d6f8a2a0b2fd64caa6b4369c103b65b40e11035dd31e73259903590082d7c444870f3762ab600b4c343fe76536903d3fa97986cfbf6e0264ae0657f3dda0eef3f64e43d6fb561a31b32649a4586db0312e01fc22c73a94f6c8ef65d42067491a6e0b30173453924294ac448ca12b49b03f7f0f34a0e5ba7674dcd0d0080a2a25f137ddb4f8cef8b1b1d5383f60ed67e800360b5367e719e495b0828e9b09ddc8ffeb7c8f767e533b2c80eea07eb5a6a8c5403ae50fbef051e84683d59148095ef94b17ff4356ecace669b96dfb166a93f360605581e033aad4463a88cc41251e219d61c5975a4b90eb9db44b1617988dede33b00402033b61a201217f5501d29279d51eb9a06e20a170e97ff66e6e7523bf294c8888ac031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03f2ed745833b08407ec5389c86cec3af3cfd6eb9a176e43bdd976ba2e3007011bffffffffffffffff0312f1b6701e5d04c6f2d3fdf562f517442a96d22c072dad32032ec830ee3995ac05581e037d8373f882a3284464c82e5d49da6d1173cc6afa65ca02bb8f6b2862900c01470b17be91bb18000389a6846180544fbb8f44d1ba56e11297b020e3263e0f5bcbe9bc6954904fcf9d05581e035e865375bef2de60fded493b0c1c1035e27635511ebf22414212e286a00c0146da77d5055ba005581e03c7963ffa7f3c5110c87c87b87ec99e2dace8ccbe573cb15c0ea0f152b00c1821461ca62a4f780005581e03fb0d79c0c4c3ad00bc428cde4964b0a322adf9c4c171cf383ab2ec28000c0647037e3d83c4f1c503f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03267761a750be42289546fb8c312eada7e4e9caaebb76eeabd361ed007007011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630490114172bcb566127bb0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf60490113c303a574d19ab600582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0520406b323f1a3edaee431e34a88c8a4b9bf0c005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854df82ad29f859e7c25d155d9e35d8533f46928ca90058200259e276335814497f9c060cc1ce4403b87f558796eeb7150fc2133542ed296647542825e18f891d02194040005821039ebc7db7ce43165aa26f991f7d794ee30ae2311da29569c9b52b59ee751b32005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58207b29659c099e98365e703fafaed7ef2ad25a4a8d1ac13d739de1f6636bc31c2d005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a850b174723a69daafd4c96e5d1a279c10f802184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582066878a9b000000000005e376b3b85183f3630000000000003d0caa453ea1089d0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218480219bc5505581e0345b41ab603d5f890f80916313b09731c9a43089663cc59d0e4eb2d72100701192c1d030e1e663475dd169d0c02b06caf0a862c079628fde9acd45e017eeff46ff59fc203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03a420c324b9be0194b9f9b5d8b02f88b49d056e954a3622ec146a8a763007011bffffffffffffffff0219ff5d03df6e6590e67e2167f106ba484dd412fc9078780f38b0c605c687ed71544f169803412305fca7d8c752923da2d6ff20d93cf59f851318d0773e09a47bb986e27e2603e27417c80480793913851a6ea57145f065f45f3d793771fc84f63a4bd98366f303bc081e097373b33acbe8503be26296f52452ba71c74a5a4eaf3106ac26ae698003c0b506bb04c0d8b67041f77e3c2eee20064b3095746762c2bc192b3ece23144f035029ac115fa2d0cf0fbe2b41ab29f93943735597b13835fbeee2a82cd652c99803757a4b50bf68dc660c8a4557b9b76b9b9a33f6a9ee92e5c4765e4f9171c633ec03a563939c9dfbc0366e6ae0db22380df68c2c6f24e91fc8265e2d7bae1971555103758986a16dfa927b4b0ea7226a3cfa2d94e725ecf9151a6e8923fab92d5a3637030a1bf3e1b3eea696da3639f0cb9bda2dcbdb12038878badc028c51a8c79329bf0219ffff034cafb3fb013fa7753e771f5d375e75a2663a2f10d352df23838dc2ea87eaa366032423df5c262b26d055bb0c9a977dd71cef891af1f468f10b71b438a16a120fb90361473c5f8bd8299a2f595a35bb9e883d536de8f558bc1198673fe47fdd44b38503463b122bbed1993a1763dae14d5559b679a1d94f92dcdfc7c66cb3bfa7b583e40397c8cbc1474230f64ef3a794432201ddb94aaf35894da32db4add1b150c0cd1e031d3c83a2588d82422faef5b18e7be19d9712ca87ba31a6f1b1b245c67647bc6b0219ffff03400b5ccb170de2efb6a25aae96ea488751580bd8b394f7900c900825c02b2a0f0376d797d32d5cd30d42711828d25f3808db07d923f74a4780dfa1cebb59b655e3037dbfa5a40b8f71edc68de450f9f477568e2891ee1e6d2d570f5b036ff1a4e97d0363e6ba6c2f338a8b8699c7a8635641ccc4438f7afb337fe3137095a58ea49f7103064904ab6ae5cd2680f3af3f9dc96c89517d674fe20cff27667254c004f5f8d7037481c0c0e7ab776e8b75fd9e411ea27e24d03cdfb42e622fc452beb88903991503ac8318c4f4ac67ea1113a379a4de04c695782644881441aa35c188154e48f57d03f7b4483d4014b81edc213b16239ce0662377c57f8368036f922fa373be368e0b0219ffff0363681d218fa895b81b004e0638ee9b1ad8e5919037d69ffdd8a5ab91778a111203235e5825327a2249fdefc0f1c23b55ada706b5584e4d7c71706d720aaae4c28303c8fe3294a6ddd5a5d2591e7455c1edf0bb7ce1756734e14c1573713c49961385038c9cb92071df3f1834453e5fd896a838cc1d69e61578532ab171ee032c07e5890347a26015e5687bee224bd6d7278397dd50574bbd5cd6b8faf835e7d4e1617d800338efd6481f855eb8bc7772c09d1d018bfaab05d13340ce1a9b718b9ddf11fe5a036c8eacc5914755d7ac851a4d60033492703c58b198901ebf3dd009cc02cb977003dfe345fb5e5a4d165490aef92d0c4904b4a6c648ac99724c1a7083f91977562a03f5590940e80980d1b2ef7c1d34750368a5b52209707d01477b8a1bd3015e5eef030ce411f644f750addc914858d83d5d31e2bf3709365dd309f4e595a3bd1f6fcd0317d63d53f23bfef51401cacc90ebe9b9f7a69392e1d7490cdf8ae06e09495c3903295a0c95536da214f84254bb7960d942adabf88dac79e35a7cd56f3314b64d9303732830215bc576229cdb58f73d9999c9c4dabf0f906badec6792e13cb1ead8f703b58124352b59e5892209fb5b71fc08c387b39a1c4f5ca0546e72aafbcde87ace031ce7dc49c7fa834394e1259e017890b7867f424084ce6a60348279ab05b8e00e03fee5446803cb56dbc51c3b5a9a8111b3365477d7fc90f98a0082688e0a878d5c03251699b7dda193abfc1d663c0b2f555dd1b581e9ca54915c66302c7342933efa039b78b97cbe0f448f075287b2ac4be08cc06198962d6c2423818dccd2fbc19bd7034c867e36c3baa13b89ab3e1b7f89e416897f508a512c1fc693a2f599da3152d803eca20245086c46a3ec68e7de5982a3f071df1598c86f760b3246ff056b5104a903de14e44fee3d3078ed2c9f4fd9f37ceab0f9ab01dbc6c82d09758fbd6a10385e03935200f69842df172fa34a721b959bb11f56a8d59dcbe3c64ec5e8902f436e760352f1801482a2feb1024ba9f9d05ca44693a5dcc4fc11ea04dba64bf1c0c744d10382338bb913050382a0bc7737cd5046bffc95024c5add048b62594ab94facb47803a19eb29fe05bb502ce1e3b9666a259e24689858f729bc89f4f8897a308b323af03351997ef5bc48f6be427b910116d139c78c546919f03fe2eb7f2cb3b3cf05804039b9a8efdb4595f983b753d75024c79f3e31d9d112f0e9e95966cd548d19e4bc803d211b1db0ab9b876856aed120d2be4ec428a74a46a931de7454f37182ae8456d03441e419c314157178fde1fcec9e7f0023321427330e07036c079dc8748f6065e039a534754939c85d54d7656fb3cb7a9ec56d1f7aa28e60d1a1b422983d8b581bb03b1045323261df962d996f5370c758f61584c826057765f9bf1b01764ba377fc90342960fa9ae36aebbe74a87e7c015a830e91cd38438b7417253d1e7ef44859643031a0821df0b458874072c96dc30a461eb5d92ea8225485cec4636953606da0d9003f09e7615a876b79038e36903abf0f5601858603f145ef1c3434ea9c94542c18405581e038871115f4aa4f77693f19eb9849d4a71a2f6a0f7158b75a5da530f44c0040105581e03dd440cefb41d4fe7be24b1055857af4e4d7ce5284b20fe1eca0cfa0d000c014664459416240005581e03884211d834de3d11a80cd0aa7dcb1723d6569780353b2b8706c0a6c3900847025014bfbfb00005581e03fbef4edc995dfcdfe1c4be1ae4ed0a33fd4dd67096a5b898369ec92d00040105581d02cf56e7b9ab0f0368bcd6c9c91aed6b3d9d4ec1971397fe5c378ae83f040205581d026b5650008c26e26ba5a703ffb3508b6586039bbd05fbf19da18ebc060c034782844db2d4708a045902e0608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063199f72601461003857806341c0e1b51461004d575b5f80fd5b61004b610046366004610262565b610055565b005b61004b6100e9565b33733328f7f4a1d1c57c35df56bbf0c9dcafca309c49146100d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41646472657373206973206e6f742077686974656c697374656400000000000060448201526064015b60405180910390fd5b6100e3848484846101a3565b50505050565b337337aab97476ba8dc785476611006fd5dda4eed66b1461018c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c60448201527f20746869732066756e6374696f6e00000000000000000000000000000000000060648201526084016100ce565b7337aab97476ba8dc785476611006fd5dda4eed66bff5b5f6323b872dd60e01b90505f60405182815285600482015284602482015283604482015260205f6064835f8b5af191505080156101fb573d80156101f25760015f5114601f3d111691506101f9565b5f873b1191505b505b80610232576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461025d575f80fd5b919050565b5f805f8060808587031215610275575f80fd5b61027e8561023a565b935061028c6020860161023a565b925061029a6040860161023a565b939692955092936060013592505056fea2646970667358221220e1e0e24429d1e60a36a247a324ced67999a9e96a064cd7f127808cf22be29fcb64736f6c634300081700330605581d0255ac7c678e81a913bf853f5551a6bb0741a5c148c177e38869e6a92607011902e00219220805581e03ee7d86dc28e98a1a94067f177aee63e0e3603c812938bd0ca60a188df00c034504e3b2920002193a8b03ca7682b66e92b68430e21039a6ce45f74ff86f4d65bf7d87df48605980eb69f4038efbda688c88cc976b13454a06bf8620e83b02d036b9bd222dd744fbab2185a40219ffff03a277c2116f112f104eca7a3d04deb5491afb5b52d0270bfe6793ba2bf5c15c2f03c3f86400120cd5f96bcdd54abf81f990cd28a1459425198d6e02e46ff0ee1b4e03b7b102753cd4f8217bc33db9d1850a97f21cbc040c5bba4990b3c26aaa2ea86103fdde59bd981fa6a2bec8088d5d8af8b0d4517405de0aa8044ea622af4818c98903d82b7973327ea0882b26abfbaab29ece9e913041acf1043eaf66dc909764b1b50219ffff0358d57aab90dd5eac90f57657c3a9e22f92fcfb7016ca90628892f1d78a6c34b203646cdbcb8af11c9ee2e6d568741d297fd15ecf4494125b09f016bd4d381f0a2c038ffa3231b86b90d2c4f95a93ca9755c994a0485cab2ea5ab985e6f4090f23dac0339bdaac874b2839a8242bf57745b817eb5253f381661667df3585063a202423e03b26e4a1a999f45d7736c1d8d21025d3059de8f96410bf731ebdddb514441b7c9037b10635bdc86862ff5f733ba1f06cace48b88bb0c0640a917868bc1d17922087036d52288d7e29b5690711d581e73880fa9d2985dcc9bd20d02368d7d6e9f7994a03daefdea399e6f883ed04bdd056faeacaedc86e4f59cb01ab828ecb4d4a0c16e20219ffff03b2baaa1d54120eb81035e65a5c9d0840d1cb08ec61e8a4036f1901b96aa2ab040311564a4da633a1b86f487259a1fb6d5258be001270732a12737e7836a7264ffd036ca683d67743da6c268dcac694bb5ad3884e0e7c98c4fceb4214022d4c4d6d560379035968e1402172bbfd598ea533d21f8f93032568987325d3537f8db59c16aa03d27136990523013987ed8dad6a388fd55b60d6c38f4e98681cc69d3d25751abe039aee690f976126037adc8a5cc2daa1632285e8b8cdaf433b59cff0da2ed0238303d1984817df9a2836c86b6c4529dd91ecece4a5095001941274864abd95dd01fc0391ab808dbcec387ac45937372b1d20c067800b89d74c9950629f42f038a12b54033feddfd8156ca53098848829aca5ffa28d6a85f6193e6a2d8802d317ff4bfec0030b439a813755d8a80b5cfbdf1c95845dcf4ca8fa43817369d5318f186049de9403ba75d578cc386f6a718c9b3ab25d31d2d01aece16eb1b45ee30134108534e2ce03b2a7cedc39058bf9a9c04103b672607ef75d956309680d899ac840508abb7db603083982a18cbf56927b12318170d9f7f70ba5b875f64132df32901d1e41d05bde0315c6d65fe17e76b783bda8d2163103dfec6fa3309831185bcd3716f32ae1da8a03dfcdbfb4fb3f2f069a775aa6e39eb76b085efa58bfbc48b0c9a44205c635ff2103a4c9a67ab450a5afc88b60064cc7f4c45d0ce067da8a368c50cd7f1eda7813d1033f612e7872d8da32fd5189c5207f490d2f2e9183711caa4a503592d25a43bc0b0396832f971f45582866e6357095372db1069f2a5ffdba71c00551b38e50e1247503f695dd1cfd0875f2a8114ac333e18bcfae76ece32e0321888ecf37f7dbe048a803a37f8f2ee35ab1ed433e0327479a6301c6d0180dbff94e0397d6b7cd8f064a3c034f2f1658bd8bb25b7c4b1525e246d60021bfe540135f9aeb5d37e9f8cd27a2a7037df995773223b2c81a5bfd7a573c68e0e0f8ec68c425fbd2a6c71a51e8cd2ed50342790cae975831c2d04de7b95556185bd8c41751c97517d4ab9aceb0569528fc036f70929c192fac49e9f63063b0e90fc6b2dd2895b20f7caa899967389cf813a7035a8049c053161273eeb8942d0c1598be9e770d1f4778412c91bd872e33872b2303a3d1b5545857e32eefd2f1d70fcc6e3280cb08c97cb242ab1c5141bef683899203b8ac4f8b94111d6386a1fb55293a2f491ac992117da5be4f7951e5703401322b033fdeaed9cae4e529c572690f44225a80f2ca91009d976f3efa4bc63bddf00d54030369f6374cbb23e0b5a31e7d92cb110fb65f2e8a60ff8a44494683991cfa714f033419e5db9b3e540c90997ad44fa41648fe97e423c7739b85943fb9598a6bad530360e6ce523eec64ef3262240c0cce4a5d47370a56bcf785c2266593ea74c3e59603f17df8543a43a38c25519139a623490beee0f92f51607178e15070b4d7aa897103305133e104c46030d8091effda1510db1dd6d53dd2d8823047928864460c8e9e05581e0352324373b3f286c63837b06d0d113a4d2a60f7bfa4dbbc7fce96555ed004020386fb5ac8fb3b036301fb93f61c66f62378690367be8f0711a1c31d420f35e66905581e03f7751d9bb18223cc8fd82bd2fb35cdc0ce2c10622e67049d082e0d0f400c02467fd1738b04d803f639fb2ed10c17a7a45d4b0bb9ef053b578f8a1750adfc55b0aceebc8feffe9505581e039040f3a80d7572afe4e883429f7cfa58da9f75e2b4f45e01d903c40e400c014745c37def6f89e005581e03d9b484542a4cb5400aad229b824de0bd3ba69f2dce90faee5c72c946f0040305581e034bf4e21cc66abd8bac9b7f87d908bc91fb4cff89a487eaa48458c776600c024704c27dec6b540005581e039c95442f5422ed1c464311a1ad5ab7fd33d2a196d256c383af006bd2b00c0c46b61d4f418200045942aa60806040526004361061019f575f3560e01c80636ed6a48d116100eb578063a9059cbb11610089578063c8e0a45d11610063578063c8e0a45d14610583578063c9567bf9146105ab578063dd62ed3e146105c1578063f2fde38b146105fd576101a6565b8063a9059cbb146104f0578063ae6014801461052c578063b5973bd41461055b576101a6565b80638da5cb5b116100c55780638da5cb5b1461044a5780638f937cc41461047457806395d89b411461048a578063a457c2d7146104b4576101a6565b80636ed6a48d146103e257806370a08231146103f8578063715018a614610434576101a6565b8063217b6da611610158578063313ce56711610132578063313ce5671461032c5780633950935114610356578063620cc86c14610392578063667f6526146103ba576101a6565b8063217b6da6146102b257806323b872dd146102c85780632dc4f5e614610304576101a6565b80630313fc4b146101aa57806306fdde03146101d2578063095ea7b3146101fc57806314d0c4341461023857806318160ddd146102605780631c537de51461028a576101a6565b366101a657005b5f80fd5b3480156101b5575f80fd5b506101d060048036038101906101cb9190612e47565b610625565b005b3480156101dd575f80fd5b506101e661072a565b6040516101f39190612f0f565b60405180910390f35b348015610207575f80fd5b50610222600480360381019061021d9190612f89565b6107ba565b60405161022f9190612fe1565b60405180910390f35b348015610243575f80fd5b5061025e60048036038101906102599190612ffa565b6107d7565b005b34801561026b575f80fd5b506102746108f9565b6040516102819190613034565b60405180910390f35b348015610295575f80fd5b506102b060048036038101906102ab91906130d8565b610902565b005b3480156102bd575f80fd5b506102c6610a19565b005b3480156102d3575f80fd5b506102ee60048036038101906102e99190613135565b610b0f565b6040516102fb9190612fe1565b60405180910390f35b34801561030f575f80fd5b5061032a60048036038101906103259190613185565b610c01565b005b348015610337575f80fd5b50610340610d0e565b60405161034d91906131de565b60405180910390f35b348015610361575f80fd5b5061037c60048036038101906103779190612f89565b610d16565b6040516103899190612fe1565b60405180910390f35b34801561039d575f80fd5b506103b860048036038101906103b39190612ffa565b610dbd565b005b3480156103c5575f80fd5b506103e060048036038101906103db9190612e47565b610edf565b005b3480156103ed575f80fd5b506103f661102e565b005b348015610403575f80fd5b5061041e600480360381019061041991906131f7565b611144565b60405161042b9190613034565b60405180910390f35b34801561043f575f80fd5b50610448611189565b005b348015610455575f80fd5b5061045e611210565b60405161046b9190613231565b60405180910390f35b34801561047f575f80fd5b50610488611238565b005b348015610495575f80fd5b5061049e611332565b6040516104ab9190612f0f565b60405180910390f35b3480156104bf575f80fd5b506104da60048036038101906104d59190612f89565b6113c2565b6040516104e79190612fe1565b60405180910390f35b3480156104fb575f80fd5b5061051660048036038101906105119190612f89565b6114a8565b6040516105239190612fe1565b60405180910390f35b348015610537575f80fd5b506105406114c5565b6040516105529695949392919061324a565b60405180910390f35b348015610566575f80fd5b50610581600480360381019061057c91906132e4565b6114f1565b005b34801561058e575f80fd5b506105a960048036038101906105a491906131f7565b6115e7565b005b3480156105b6575f80fd5b506105bf61178d565b005b3480156105cc575f80fd5b506105e760048036038101906105e2919061330f565b611d42565b6040516105f49190613034565b60405180910390f35b348015610608575f80fd5b50610623600480360381019061061e91906131f7565b611dc4565b005b61062d611eba565b73ffffffffffffffffffffffffffffffffffffffff1661064b611210565b73ffffffffffffffffffffffffffffffffffffffff16146106a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161069890613397565b60405180910390fd5b612710826106ad6108f9565b6106b791906133e2565b6106c19190613450565b601081905550612710816106d36108f9565b6106dd91906133e2565b6106e79190613450565b6011819055507f2b3f4c022d9943b151090e389857495bb9d8493714259cc19a540f5a11475fb1828260405161071e929190613480565b60405180910390a15050565b606060038054610739906134d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610765906134d4565b80156107b05780601f10610787576101008083540402835291602001916107b0565b820191905f5260205f20905b81548152906001019060200180831161079357829003601f168201915b5050505050905090565b5f6107cd6107c6611eba565b8484611ec1565b6001905092915050565b6107df611eba565b73ffffffffffffffffffffffffffffffffffffffff166107fd611210565b73ffffffffffffffffffffffffffffffffffffffff1614610853576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084a90613397565b60405180910390fd5b6001811015610897576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088e90613574565b60405180910390fd5b6103e8816108a36108f9565b6108ad91906133e2565b6108b79190613450565b600f819055507f4b39c36d20c57d220f61fd25c4349d4435cc03ef6c2a680942f15333c3c3e001600f546040516108ee9190613034565b60405180910390a150565b5f600254905090565b61090a611eba565b73ffffffffffffffffffffffffffffffffffffffff16610928611210565b73ffffffffffffffffffffffffffffffffffffffff161461097e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097590613397565b60405180910390fd5b5f5b83839050811015610a13578160145f8686858181106109a2576109a1613592565b5b90506020020160208101906109b791906131f7565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080600101915050610980565b50505050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610aa8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9f90613609565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610b0c573d5f803e3d5ffd5b50565b5f610b1b848484612084565b5f60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610b62611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015610be1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd890613697565b60405180910390fd5b610bf585610bed611eba565b858403611ec1565b60019150509392505050565b610c09611eba565b73ffffffffffffffffffffffffffffffffffffffff16610c27611210565b73ffffffffffffffffffffffffffffffffffffffff1614610c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7490613397565b60405180910390fd5b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507f2d43abd87b27cee7b0aa8c6f7e0b4a3247b683262a83cbc2318b0df398a49aa98282604051610d029291906136b5565b60405180910390a15050565b5f6012905090565b5f610db3610d22611eba565b848460015f610d2f611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610dae91906136dc565b611ec1565b6001905092915050565b610dc5611eba565b73ffffffffffffffffffffffffffffffffffffffff16610de3611210565b73ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3090613397565b60405180910390fd5b6001811015610e7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7490613759565b60405180910390fd5b6103e881610e896108f9565b610e9391906133e2565b610e9d9190613450565b600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf600e54604051610ed49190613034565b60405180910390a150565b610ee7611eba565b73ffffffffffffffffffffffffffffffffffffffff16610f05611210565b73ffffffffffffffffffffffffffffffffffffffff1614610f5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5290613397565b60405180910390fd5b6019821115610f9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f96906137c1565b60405180910390fd5b6019811115610fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fda90613829565b60405180910390fd5b81600a8190555080600b819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051611022929190613480565b60405180910390a15050565b611036611eba565b73ffffffffffffffffffffffffffffffffffffffff16611054611210565b73ffffffffffffffffffffffffffffffffffffffff16146110aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110a190613397565b60405180910390fd5b6110b26108f9565b600e819055506110c06108f9565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6110ef6108f9565b6040516110fc9190613034565b60405180910390a17f4b39c36d20c57d220f61fd25c4349d4435cc03ef6c2a680942f15333c3c3e00161112d6108f9565b60405161113a9190613034565b60405180910390a1565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611191611eba565b73ffffffffffffffffffffffffffffffffffffffff166111af611210565b73ffffffffffffffffffffffffffffffffffffffff1614611205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fc90613397565b60405180910390fd5b61120e5f612741565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112c55750611296611210565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611304576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fb90613609565b60405180910390fd5b5f61130e30611144565b905061131981612804565b5f4790505f81111561132e5761132d612a97565b5b5050565b606060048054611341906134d4565b80601f016020809104026020016040519081016040528092919081815260200182805461136d906134d4565b80156113b85780601f1061138f576101008083540402835291602001916113b8565b820191905f5260205f20905b81548152906001019060200180831161139b57829003601f168201915b5050505050905090565b5f8060015f6113cf611eba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905082811015611489576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611480906138b7565b60405180910390fd5b61149d611494611eba565b85858403611ec1565b600191505092915050565b5f6114bb6114b4611eba565b8484612084565b6001905092915050565b5f805f805f80600a54600b54600e54600f54601054601154955095509550955095509550909192939495565b6114f9611eba565b73ffffffffffffffffffffffffffffffffffffffff16611517611210565b73ffffffffffffffffffffffffffffffffffffffff161461156d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156490613397565b60405180910390fd5b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f27aae5db36d94179909d019ae0b1ac7c16d96d953148f63c0f6a0a9c8ead79ee816040516115dc9190613930565b60405180910390a150565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611676576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166d90613609565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016116ed9190613231565b602060405180830381865afa158015611708573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061172c919061395d565b6040518363ffffffff1660e01b8152600401611749929190613988565b6020604051808303815f875af1158015611765573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178991906139c3565b5050565b611795611eba565b73ffffffffffffffffffffffffffffffffffffffff166117b3611210565b73ffffffffffffffffffffffffffffffffffffffff1614611809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180090613397565b60405180910390fd5b601360149054906101000a900460ff1615611859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185090613a38565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506118e03060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166118db6108f9565b611ec1565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561194a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061196e9190613a6a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119f4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a189190613a6a565b6040518363ffffffff1660e01b8152600401611a35929190613a95565b6020604051808303815f875af1158015611a51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a759190613a6a565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730611afc30611144565b5f80611b06611210565b426040518863ffffffff1660e01b8152600401611b2896959493929190613af5565b60606040518083038185885af1158015611b44573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b699190613b54565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401611c09929190613ba4565b6020604051808303815f875af1158015611c25573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4991906139c3565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550436008819055504360095f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506017600a819055506017600b819055507fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f60405160405180910390a1565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611dcc611eba565b73ffffffffffffffffffffffffffffffffffffffff16611dea611210565b73ffffffffffffffffffffffffffffffffffffffff1614611e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3790613397565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611eae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea590613c3b565b60405180910390fd5b611eb781612741565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2690613cc9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9490613d57565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120779190613034565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036120f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e990613de5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612160576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215790613e73565b60405180910390fd5b5f81116121a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219990613f01565b60405180910390fd5b5f6121ab611210565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561221957506121e9611210565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156122325750601360159054906101000a900460ff16155b1561270a5761225f6064612251600a5485612b2590919063ffffffff16565b612b3a90919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561230a575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561235d575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561244057600e548211156123a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239e90613f69565b60405180910390fd5b600f54826123b485611144565b6123be91906136dc565b11156123ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123f690613fd1565b60405180910390fd5b43600360085461240f91906136dc565b11156124285761241e83612b4f565b15612427575f80fd5b5b600d5f81548092919061243a90613fef565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156124e4575060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561254257600f54826124f685611144565b61250091906136dc565b1115612541576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253890613fd1565b60405180910390fd5b5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156125ca57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156125fa576125f760646125e9600b5485612b2590919063ffffffff16565b612b3a90919063ffffffff16565b90505b5f61260430611144565b9050601360159054906101000a900460ff1615801561266f575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156126875750601360169054906101000a900460ff165b8015612694575060105481115b80156126a35750600c54600d54115b80156126d857504367ffffffffffffffff1660095f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1614155b15612708576126f16126ec82601154612b60565b612804565b5f4790505f81111561270657612705612a97565b5b505b505b5f81111561271e5761271d843083612b78565b5b61273b84846127368486612ded90919063ffffffff16565b612b78565b50505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001601360156101000a81548160ff0219169083151502179055504360095f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f600267ffffffffffffffff81111561286357612862614036565b5b6040519080825280602002602001820160405280156128915781602001602082028036833780820191505090505b50905030815f815181106128a8576128a7613592565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561294c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129709190613a6a565b8160018151811061298457612983613592565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506129ea3060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ec1565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401612a4c95949392919061411a565b5f604051808303815f87803b158015612a63575f80fd5b505af1158015612a75573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612add9061419f565b5f6040518083038185875af1925050503d805f8114612b17576040519150601f19603f3d011682016040523d82523d5f602084013e612b1c565b606091505b50508091505050565b5f8183612b3291906133e2565b905092915050565b5f8183612b479190613450565b905092915050565b5f80823b90505f8111915050919050565b5f818311612b6e5782612b70565b815b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612be6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bdd90613de5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612c54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c4b90613e73565b60405180910390fd5b612c5f838383612e02565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612ce2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd990614223565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254612d7091906136dc565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612dd49190613034565b60405180910390a3612de7848484612e07565b50505050565b5f8183612dfa9190614241565b905092915050565b505050565b505050565b5f80fd5b5f80fd5b5f819050919050565b612e2681612e14565b8114612e30575f80fd5b50565b5f81359050612e4181612e1d565b92915050565b5f8060408385031215612e5d57612e5c612e0c565b5b5f612e6a85828601612e33565b9250506020612e7b85828601612e33565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612ebc578082015181840152602081019050612ea1565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612ee182612e85565b612eeb8185612e8f565b9350612efb818560208601612e9f565b612f0481612ec7565b840191505092915050565b5f6020820190508181035f830152612f278184612ed7565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612f5882612f2f565b9050919050565b612f6881612f4e565b8114612f72575f80fd5b50565b5f81359050612f8381612f5f565b92915050565b5f8060408385031215612f9f57612f9e612e0c565b5b5f612fac85828601612f75565b9250506020612fbd85828601612e33565b9150509250929050565b5f8115159050919050565b612fdb81612fc7565b82525050565b5f602082019050612ff45f830184612fd2565b92915050565b5f6020828403121561300f5761300e612e0c565b5b5f61301c84828501612e33565b91505092915050565b61302e81612e14565b82525050565b5f6020820190506130475f830184613025565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261306e5761306d61304d565b5b8235905067ffffffffffffffff81111561308b5761308a613051565b5b6020830191508360208202830111156130a7576130a6613055565b5b9250929050565b6130b781612fc7565b81146130c1575f80fd5b50565b5f813590506130d2816130ae565b92915050565b5f805f604084860312156130ef576130ee612e0c565b5b5f84013567ffffffffffffffff81111561310c5761310b612e10565b5b61311886828701613059565b9350935050602061312b868287016130c4565b9150509250925092565b5f805f6060848603121561314c5761314b612e0c565b5b5f61315986828701612f75565b935050602061316a86828701612f75565b925050604061317b86828701612e33565b9150509250925092565b5f806040838503121561319b5761319a612e0c565b5b5f6131a885828601612f75565b92505060206131b9858286016130c4565b9150509250929050565b5f60ff82169050919050565b6131d8816131c3565b82525050565b5f6020820190506131f15f8301846131cf565b92915050565b5f6020828403121561320c5761320b612e0c565b5b5f61321984828501612f75565b91505092915050565b61322b81612f4e565b82525050565b5f6020820190506132445f830184613222565b92915050565b5f60c08201905061325d5f830189613025565b61326a6020830188613025565b6132776040830187613025565b6132846060830186613025565b6132916080830185613025565b61329e60a0830184613025565b979650505050505050565b5f6132b382612f2f565b9050919050565b6132c3816132a9565b81146132cd575f80fd5b50565b5f813590506132de816132ba565b92915050565b5f602082840312156132f9576132f8612e0c565b5b5f613306848285016132d0565b91505092915050565b5f806040838503121561332557613324612e0c565b5b5f61333285828601612f75565b925050602061334385828601612f75565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613381602083612e8f565b915061338c8261334d565b602082019050919050565b5f6020820190508181035f8301526133ae81613375565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6133ec82612e14565b91506133f783612e14565b925082820261340581612e14565b9150828204841483151761341c5761341b6133b5565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61345a82612e14565b915061346583612e14565b92508261347557613474613423565b5b828204905092915050565b5f6040820190506134935f830185613025565b6134a06020830184613025565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806134eb57607f821691505b6020821081036134fe576134fd6134a7565b5b50919050565b7f4d61782077616c6c65742063616e74206265206c6f776572207468616e20302e5f8201527f3125000000000000000000000000000000000000000000000000000000000000602082015250565b5f61355e602283612e8f565b915061356982613504565b604082019050919050565b5f6020820190508181035f83015261358b81613552565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4f6e6c79206665652072656365697665722063616e20747269676765720000005f82015250565b5f6135f3601d83612e8f565b91506135fe826135bf565b602082019050919050565b5f6020820190508181035f830152613620816135e7565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320615f8201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b5f613681602883612e8f565b915061368c82613627565b604082019050919050565b5f6020820190508181035f8301526136ae81613675565b9050919050565b5f6040820190506136c85f830185613222565b6136d56020830184612fd2565b9392505050565b5f6136e682612e14565b91506136f183612e14565b9250828201905080821115613709576137086133b5565b5b92915050565b7f4d61782074782063616e74206265206c6f776572207468616e20302e312500005f82015250565b5f613743601e83612e8f565b915061374e8261370f565b602082019050919050565b5f6020820190508181035f83015261377081613737565b9050919050565b7f496e76616c696420627579207461782076616c756500000000000000000000005f82015250565b5f6137ab601583612e8f565b91506137b682613777565b602082019050919050565b5f6020820190508181035f8301526137d88161379f565b9050919050565b7f496e76616c69642073656c6c207461782076616c7565000000000000000000005f82015250565b5f613813601683612e8f565b915061381e826137df565b602082019050919050565b5f6020820190508181035f83015261384081613807565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6138a1602583612e8f565b91506138ac82613847565b604082019050919050565b5f6020820190508181035f8301526138ce81613895565b9050919050565b5f819050919050565b5f6138f86138f36138ee84612f2f565b6138d5565b612f2f565b9050919050565b5f613909826138de565b9050919050565b5f61391a826138ff565b9050919050565b61392a81613910565b82525050565b5f6020820190506139435f830184613921565b92915050565b5f8151905061395781612e1d565b92915050565b5f6020828403121561397257613971612e0c565b5b5f61397f84828501613949565b91505092915050565b5f60408201905061399b5f830185613921565b6139a86020830184613025565b9392505050565b5f815190506139bd816130ae565b92915050565b5f602082840312156139d8576139d7612e0c565b5b5f6139e5848285016139af565b91505092915050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f613a22601783612e8f565b9150613a2d826139ee565b602082019050919050565b5f6020820190508181035f830152613a4f81613a16565b9050919050565b5f81519050613a6481612f5f565b92915050565b5f60208284031215613a7f57613a7e612e0c565b5b5f613a8c84828501613a56565b91505092915050565b5f604082019050613aa85f830185613222565b613ab56020830184613222565b9392505050565b5f819050919050565b5f613adf613ada613ad584613abc565b6138d5565b612e14565b9050919050565b613aef81613ac5565b82525050565b5f60c082019050613b085f830189613222565b613b156020830188613025565b613b226040830187613ae6565b613b2f6060830186613ae6565b613b3c6080830185613222565b613b4960a0830184613025565b979650505050505050565b5f805f60608486031215613b6b57613b6a612e0c565b5b5f613b7886828701613949565b9350506020613b8986828701613949565b9250506040613b9a86828701613949565b9150509250925092565b5f604082019050613bb75f830185613222565b613bc46020830184613025565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613c25602683612e8f565b9150613c3082613bcb565b604082019050919050565b5f6020820190508181035f830152613c5281613c19565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f613cb3602483612e8f565b9150613cbe82613c59565b604082019050919050565b5f6020820190508181035f830152613ce081613ca7565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f613d41602283612e8f565b9150613d4c82613ce7565b604082019050919050565b5f6020820190508181035f830152613d6e81613d35565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f613dcf602583612e8f565b9150613dda82613d75565b604082019050919050565b5f6020820190508181035f830152613dfc81613dc3565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f613e5d602383612e8f565b9150613e6882613e03565b604082019050919050565b5f6020820190508181035f830152613e8a81613e51565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f613eeb602983612e8f565b9150613ef682613e91565b604082019050919050565b5f6020820190508181035f830152613f1881613edf565b9050919050565b7f4578636565647320746865205f7478416d6f756e744c696d69742e00000000005f82015250565b5f613f53601b83612e8f565b9150613f5e82613f1f565b602082019050919050565b5f6020820190508181035f830152613f8081613f47565b9050919050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f613fbb601a83612e8f565b9150613fc682613f87565b602082019050919050565b5f6020820190508181035f830152613fe881613faf565b9050919050565b5f613ff982612e14565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361402b5761402a6133b5565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61409581612f4e565b82525050565b5f6140a6838361408c565b60208301905092915050565b5f602082019050919050565b5f6140c882614063565b6140d2818561406d565b93506140dd8361407d565b805f5b8381101561410d5781516140f4888261409b565b97506140ff836140b2565b9250506001810190506140e0565b5085935050505092915050565b5f60a08201905061412d5f830188613025565b61413a6020830187613ae6565b818103604083015261414c81866140be565b905061415b6060830185613222565b6141686080830184613025565b9695505050505050565b5f81905092915050565b50565b5f61418a5f83614172565b91506141958261417c565b5f82019050919050565b5f6141a98261417f565b9150819050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61420d602683612e8f565b9150614218826141b3565b604082019050919050565b5f6020820190508181035f83015261423a81614201565b9050919050565b5f61424b82612e14565b915061425683612e14565b925082820390508181111561426e5761426d6133b5565b5b9291505056fea2646970667358221220523f6f166672ed856c66d393d0c28ec34b3e3831042538630161337ee1e57c2b64736f6c634300081700330058200241228ebfbb27655db04f11527637c7468782ebd99f6deb829be10ab750cdce4a945e172ab9f7ac912f4c03ba0e5be29a3a6325808e5b84a0a30200257a7e9f174215989c715a100a3a5208005820034266eb4362e5beaa5d5c11eb98022ed6e02536568a09ac1bcae07bebae2b90436e49cf005820034c923ae53b4674c40c978904edf7a7f483a068d532f17d626156fcc98522605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c02c05268aee8268bb714c175c690800fe46bbdf50bf395744e1339a103ee05820ffffffffffffffffffffffffffffffffffffffffffff3101fdc116c09bccc9a40219060103acd2611e8e85a871079e5b9a24a36a264b4d6809f634ea7d1a5db0bdabd388a703929def23a8e1f0d81e2be24dbaf57cd6d3af92c6b1b85a0d68e162c936bcf51503969777efb7ff750452e2c1319e9c2237ac19ef510910c675e3113ccf3e4d9cce03a2ee2f8ef8498b6c2f72925651c5ef58355eed9957c0339e7fb5e3744edd43c6035833687d12263e33fef079417c9c3d121ae5b527ad8201c58740096acda3de8001410d0316102ec6b6bded9a86408bab519cd536e13ef234cc20f02a096a817c2e5463f40058200247aa87b4a6a48760e3e8919002738ab925ef1927057867ed9d9b836ac298485820ffffffffffffffffffffffffffffffffffffffffffff05d64bc3872515fbfb030322b915c0520a17bb34dae74974518202cfd2c943537aa101f86c99f9a50781e103689762fe0712189cbd14db4ba34441e037982aca38b98849d9c32fc545a26bb603148d9fdcbd8a48152a6683fea6bf4330a417c6a5842ecf9b417e999670028d8201410a0349bdfea50ac371174afc6ae7e951e3887a4ae6da4a85c0b58158ea59281144020219bffe0390b08fd69b6bb8895bfc383f1f79c9620e38380f1a18b845b7bd40ea43d47935005820038774ae8add891547fa4f41121aa10ca6054b1e7a7a94b608cb9c28bcd87cf04a19007b6e1dd7c092c16a0058200352831c382ae2dabda6209975f2df62d9ccc7995cb83213a8911aa5dd6a6dd04a4dd4617576385ccd3a620218c00058200245ec5f0dc9f5636d23a0782d5fe9da308b9f0da4387fac0e39a212b89f84f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031fb0417d0a5fe4cdebec4fd4bd8fef0962992dc9cf435057bf3e7ce8ffff4203030219023c4d01bc30c4d64b611c281aee12419baaba7881e8bfbe1b3df6da53d303f1123b1cd27a68512ed227a6f8316b8fdbe0c4979aee5733a6be16b93ee519ac0058200236710ee8aed82dc27924c316828813a1c4b66450f8367b310fb639b1dd6aad5820ffffffffffffffffffffffffffffffffffffffffffff23d98ce41eb2fd8a116903780ca08bbfeea68f0fada7a9c158ed55bf089a2869720b7e3f8822c54005f0dc0395035389a72750d9c96604b2442f44424473b0f685ce19eff46fe270769bd46c03f62647f28b82f515dd311ce07803fb4e0e4d54b4ea90c050bf334bb8d1dc74260333f2ae0147ddd53465fa32d1422df2d45cc9f6b45c0dd694944d28ada4d0333700582002361323024b26a006baadc70a72bfcd2b2b73d65b22fd55291f5b929d92c5504a38ef06ba6ff8912baf35005820029e1ecb72a2df61cf7f7e32ce41bca3647e071b240ce1b02f20bed89d7222a24a32868c07f760d45784ca03d071d03788acdcec0b0eac6397e1c97d5f7c63e8b6d2d54c831be8d07c8ea0270219ff9f03ac0432ebab35134b8f9235271acd145a7007af3caaec7d07ab33440e53eacfb00381cdab668cfc6f3e382775084db05edbfd8bc0969aeb3fc3753564a2c51909d6039eda6d7ef253bd9a559ad921dfb21cfa4f9fef222575993f4919f29a8206e2d6031d73682b2296f9327647ab615a43dbe7e4da06f3840936f1f536be34907146c803690756a3dc09bb154c9dfdffdb6eac59729d0f4eff312231961adf37e5d73d370058200272ee865ac41ee540bc484ffe849df0a733ea66d858fd0c8503ca87eee56fe34804000000000000000058200231f0670caea05065d4b5a3a3607dd318cb3253ddc866d38d46ac5ea70d4cf74a2fdfe59ef0683174b7e60320bb8af7ff24d2632977eb61161dd6c8c03581a5ba8ffc91c5af5a7a80a4c5b303a6bd25425a1e22006797db4a83e30ae17fcc32de2b4c33e5c17e1c4e74698465033255c5766a25c3a1b8faeb9871501072224f98beccf53c992e13bdfaa90b2d8500582002de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090570100013c571e3d3be1c50e35453bb46c628100822a8195033f5ba6921f109c2e7f6b45b145d4c607f1be7891327709cbd62811f87308e7860300826f6701f9816c6fff1d817b9a7bcc143bc1e1f9dbe689335b8aa2d8601c02031d4bf939240719c6f7907f91fcb4c2edaae2e32fc6fdd66fc1d11a392f6e753b03d43ab2bc5ccdc3a9626c661761991ab863bb0c393fee366eab331b620f38a035005820025681f2286db0d121e7af92a5fbdb55f9ea1c203f09073bb4d60f58a03036f943032a42033746955f358c21d66c5b98aad8cfe017c5833f1cc2db0c412c8f6441edc0602502196eff037e484ef26f1ac81961f3288d955b4f07b448f2dc3a58754980d0e194bec0286e03ff84ff5566807da02b73f4f7b7ba8413352b30b8447ee2cac75af9272a7cfcf803c9171ddb6700beec7e6f2b3d13da0a449999b0c85b4d64ebac565cda94b85a29005820029fb0fde759a0c0af78c67dcf1bb6e65303c666119951912f294db7a9c519775820ffffffffffffffffffffffffffffffffffffffffffffc154a15984c82df8041803ead7d92edb534037f3cf27a64a614e279d833357b66884f5a50b181e4b0545df03545c1dbe489ee1f9222b6f1b76c887ff45e4d8e33af73c4b3fb11538a462b519005820026988ee4ad5c0a53e6701f59148a946934a6080cb5ac33964b022550ec244ea4a497ae85e8b34c2e0000003fca565cd70625fa8e06a21f427188cdab17149373be3415da8d6f5c469c7e9dd0356c6d6f089f2f7f57ab6d31305af4f9894b6f3c3188f778fd1fa8399dcc124c803c6ffef116065ea49d51b63ec13939644fb422706970e211494f3af0c929c90ba00582003d2babedad2199cf2f6c419a209564e43e33848bb5328e5bbd5926961cebd905820ffffffffffffffffffffffffffffffffffffffffffff41ace75fff93653f1c1300582003c93186eb5b5abd440d9589efc510e25651964ba9a65c9da6d6b5999650c8405820ffffffffffffffffffffffffffffffffffffffffffff3b6e6a531b80e78b4df40219043000582002a94fbbee8f5c30063dbad29af28490d060d32066088e2b8ba48c47239d98ad5820ffffffffffffffffffffffffffffffffffffffffffff63c40b88d549930f380000582002b36ad058efdb439fe672e0c0c955d0c3c2873762b0504ae7565e582d7bae3d5820ffffffffffffffffffffffffffffffffffffffffffff3aee3be365d282e3fec00058200239acba43937ae6cdf3b9e0e4365a47f4ca9817a3fcd66cc01f5c8f28c39bac4a1f30d92e62be9ed76a3003ab8d8ce01790ed3eb6d797e6fe3b92298f203c48102ea3629d293577a01e179d0219fdfe037d97a301fc79909585c3e2c2bbc92e451f87b783bced2571d9ebd7a18552c7aa03aaa80dd279b31f699f26f598466f4587f69ca8a2436fbc0d2a6c2c07c70a289300582002ae7c487d6f963061b47fe1d2f2f650a6406b5c766e6542313b467b120b9d394a24ca998ccb8208ebe60d00582002bab8e49979ad14a28fab605831b177ba462491a9af8f7e54ecdb38b166cfa44a011fa02d2d6c8e306c59032c2a72914bafd165197915b55fd7d36acc33317e32042844c65671d51d079c7c03e814bcc258259e1c440d88a8168ed5a097cd1ee51b99ea413a46db5d0034bb3903bcb63a2a9f7fb9f2a6c45802c7d02c71e0f9d501582351a6f470cf1048d8f1a1005820024d5af55179b5fe4cf5c4453f7cffefb050d96a2e771ebcc4cb6b1af629b9074a55443029312f7dac0000037003fca4167e5a1f32d0dd82f02ac1ca0c79424ebc8f031c2a4e8cef2edfabad00582002b8fcf2914651fa88f237ce54bcb9f03282e3f2d611db5d744043c57ff315565820ffffffffffffffffffffffffffffffffffffffffffff37176136d33c61b7ed7d0336da743ff41b3293936f7f22ecbde2a8cb80621f6e53394eb4a3a9ea6d92e34f005820021108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8024b52b7d2dcc80cd2e400000003f1c088daab8e37cbd00ffb848f03356ee4f3e14f624c96366899c8a3182cc71600582003582a9db9539083ed1e45cba364656ef9cd24da9c80384341d97850f2eb60c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200332b8cb22b1a1312a2d2f6f4a99fe6ee9fbc591eeeeae04db6f88ab2b7d17205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d2d0d10232a74582a29f6bc86e985d56dea699231ccb1c490cd068f26f72504a08748ede386f762d4dd300582003643828dc3dae6649444c91253cbb94e1b3a1bfc2c4db0b8479a099e3f6d9904b0af2693f0aef6a21cce7c30219900a0219ff7b0344ff6a9c2a89cb1075d89734684f57479d1687ce7a1a65c43cf692341f9de0b403f67b9158f34b73605172e240213421e25c46bf8493ec1f9bf5ae4e80ef7e4d5b005820026f9527308fe567185080e585ce8b58e12b04b3c6a49965eaacf3755eee46424b01d5d2a99a563e2f23adcf036f034408269ab7d12e7ceb48e2fa041dd619f5633371614ef71d6d6d7c9de64100582002380059e04c3aa19c778cbb640b9c96a9785c4abfc0e287d35aba0c814df6265820ffffffffffffffffffffffffffffffffffffffffffff674856b89a47cf659d61038b1cbdaf16fe97161c6c45d4f8f02522070dd2a9886e778d3f3e3b1e21878526035d21151ff6e3aedef97b89fcc9ff198d4ff8ddb05ed2d66ad5665abd3e78f18903407724eab4041fda1ec2d275d8f51f8672360cb7a2c0c131de59b77179b53ef503d35be0eb37bbc733fb28a843acd65dea263b2f1b0dd6e472088110fa20ee663d039771ee7d43e3baf527a0e2e872a12845f653c6b5d315d0a1af873833713d01b00379ce16279abc9448056816cfe4412df3310715ee1d6691c8e9af2ab49748f7ba005820024bb50191cbca0c4c512e2997d30ea6cf6af2f60c5a60584da6731419e048615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0363d40478ebf3239df5241ea6531119890cfe60fe427ea5f9bfba07746434e82c03a1b40758c4ff02cd39e486cfc06dc2c12ef914a73ea4ea4cb5a736b6fe4d26380058200250e0d75bc1a4910499cdca8d8344d63528d1216641682d2f5f6f4fd88c5af15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002c56819761b8a1824bdb56e5d6f80b07348463011b1cf225dd9c16c54134cb45820ffffffffffffffffffffffffffffffffffffffffffff1da7d2f36b290ffbb71602197fff032a8b0b77088a80cf06ccd09837b18761845abfc755373351abc854980c709b130058200240c9aaed03299a1f472a9282f7f9e1b78db925e4a1b3caf4bb1075465d3b315820ffffffffffffffffffffffffffffffffffffffffffffddb462255a54f475d53900582002f7b8a0611b8fc17b58ee62821a2e0788d9743e728048470ce867cfff0eff354a307bf3b29962242b4ce3033eebf2c1f3d45647365d73e0ce8d64108331c3eafd4fea83b4fc136b19a671490321358adbcf8cadf96a60bb16f66bee90be460c17aade08a802e760cac7c86eeb00582002cb614174838656d688d2549322b996228fd78bf2de6bea11f230af95ac44b24a7ae021effb80b52db8ba00582002930a6d1be34658a5e93e3216d924aee4206a99bd8ea115e33ad5976412cf304a1cf8c690578d46b2e95d005820028e4eca3e81e83001472a50ff8462a73e5cdc095180bef1fc11d7c8b86423a35820ffffffffffffffffffffffffffffffffffffffffffff668cf5171ddd0acec4aa0058200230ac8be640bdf067a0660079d3fb1343f76d4fa32cf487433e9807ee072c9e5820ffffffffffffffffffffffffffffffffffffffffffff3a2c20b8e6444a1f610d005820035767c0ab6fb383fb84bde7e82920d51d03ca917799f3de2487588c5899fe204a0a8b9c7e9db1b0e4f5ea00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04b52b7d2dcc80cd2e400000000582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440547a250d5630b4cf539739df2c5dacb4c659f2488d0058200333fcb56e79bf658a3dcebb44ca0b00feeeddb2efb613ff3f5c975a71a025e04891f2d5e80ced0fdd021981a003b53c73c9ff87527b67eabe26c7e0db50b4c4468f46dc7f1f2ca80db8bc07925b005820028021453a014380b0ab78ab71bf89b647f0d5f99788eef02d2736b02fa021a34ab05a4e2f17f0e8202a050058200210ca186c735b622b8e2e853a6081f35c3d3ff330899fc76e7a362acf3368ca4a0cd0f094c11ff2f3c2fa030b14de405e01851ac00a27833cf774e57cd8338824c25df3fdab2634d46fe08e0219ffee00582002f085ebd8c47eade0c67c98b2075b031e06b4a933a39eb86703391a693e63a55820fffffffffffffffffffffffffffffffffffffffffffefe1d9605696a22e80c9200582002c8e3cc9c61619c7ae75ecdfa4f81a46216933ffde3a931973e0de3ebd26ac95820ffffffffffffffffffffffffffffffffffffffffffff67bf5560b70e094003f003b2f8027f516ad859051d4ad30888dc57f28a8727c545cc89f3896faf4e9715e8033f6badd0cab857939c30be1a766f0f30051ad7c8e2b9faefd49b46c59716f6e00058200241bea48e950a4748a2c96285880aecc5f9077dfb9de5baccf936ec6c0a1f375820ffffffffffffffffffffffffffffffffffffffffffff98073560b8ed668d0eec00582002b50ca6b257c374e99ff8764644bf8ee0e2764f525940d3fa44a2da7a60578c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002e48576308224bef14b193f2b33f9305caa8971f8b07da00363f5dcf73d85d65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002650e8e9211154f4efa3ea6074567531e4cb4671bd955054b7af5a1c1ff8aff5820ffffffffffffffffffffffffffffffffffffffffffff7e1305a0abd2ebd70d68038ff70106e57c3119129b302718889368c015545ee808ecb4eee26b2232563aab0058200279fbfd0d0776f018269dab0c8a252fc680bb69c633121e7bb96e8e71c3c3144aabbdfc955f1ad48f113a039513ff7d4c3e12141313050b546124f0c8fa66f548012593482e53ff3630f4930320e00498c30780a2aaeb296c38f791580b417d3cb350ca918962fd83f5d65b9c01410d00582002e2ebbaa12a9d64e87b7b3a26c8e9083c1e096b6dedd5cd3e878415b1c296335820ffffffffffffffffffffffffffffffffffffffffffff0d43c9493a83de2217c903e6a65b1a9deb3061c646dfcd6ea7a9b98a36f860bb952ab2c818eccd37eb655c0219b7ff00582002dd928b297904a7993f7c0504d939c3458c65af6c9d0f9163923853b3d2a5165820ffffffffffffffffffffffffffffffffffffffffffff53675ee50629d26f0b8203f2353418e07ddaa875ae8409951f10d371b5c3855727e5be19fcec37f3e9e0410379f649206f1380722231509b8729ab98414b7306d838f2d9f863d6227b6430340317885f845bf94e2de9ca117720b261a2a4c8eba418819768a765ffedce9b30fd03d31d1fc1440de0a0271cb5c46d2529fa10de25bfee9983d65c62bd30bb08fe24005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb504201a9005820030161aeb3a80ea97f8e67120bd98ff7b24884c63121d2e5d99283c207c412005820ffffffffffffffffffffffffffffffffffffffffffff90223215439f7aacff1502191808033e888194bab6828358f17b1d37f3d8825257940add36e405ba4bec532b6eea7103af3d1e2906e2c320043cb8ff1b35650aee65ebd2869782e4d8f14f235c02e63e00582002e1e91d650ea3e1a2df8790ffadcdab1f0948f3aa85b1e7871b4a7c8c5c67cf480102000000000000034fa41a5c2d8707462969e19ec7e39a81ad1fe0090c88ff885583e2fd5de0afb403c67450bf702b86fbce49d255fb120738e51b751bde871e93a103a87ddb7dbae5005820034edbdd4d2ea88ca11f453af3a8644722d68d37124059645be3b9dc820191404afbaedd0525573b678a8300582003dd08907e8a8fd3a6608dc06cfd955271e45729973388c250443d6ed8450c805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191400005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741170219fdea03e358826df1598674a438ac4c311057bbe72357e27a3bdd22aad923a74159600e005820028a4cbf5daf9ff80007298f9de40838a55fa46843ffcd307087fa90f4ae4b444a110e01cb10f55b7c2e3b036e00f7746186c71054aa4e52bc38c1db903d76a69f7f1d362ac792155708a1a403e37e77e34100e953c145a16e9641a885c1ba048a64ffbcc722f2d6a7a4e5686e00582003c041d0ca6479eea3fb8998ab67e65072ea08ab94bed3cd52539d4aea6a21f05820fffffffffffffffffffffffffffffffffffffffffffe012ece26ada2f4b1290400582003180cf4e48e96f9e5d9731e4b21bb0b9a38b5a25166df43d26cc724fad92ea05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30440134d24b0219880800582002fa69bc76ce4dd0bd42a12c543bb385c16aa002d88d4bcdbebb71a952b338c55820ffffffffffffffffffffffffffffffffffffffffffffc8147d2a9177bffbf08003b40546be3d0332961048b7ba0655bbb8c015fbf2af6390ca9824d6e82e6a8ed701410703a141d6cee1e8b40eb164ecf43f6f99c7746c5bd797c28a314d5f6d7230b4fe2d03566171cb6b57143901f71870fe398833fd7cacd53a95fbe4c9016177e158cabd0375f2ddb005e58d0b8bd60e86b26a5fae9dc2deec6bfe84a8a4cc7543ca1162c1005820021aaec0005366c86f54bb39ade93d2ccc47858666fa577de98dae4bcf951ba043065aec005820027f5c28f6cd94921a2a373603031179da5cc160d83e6e8ba2968cd0d8c40bac4a64ef6378eba514cd7f3d0367c062b4b701eb4b24e5ea2c2348c0da5a876def0dc1f8427bd3dfe06fd3f1250219cf9f0219ffff05581e03e077b1aa44c3fcb9506269759f1e0863195ea17828d4f1c4b5268d796007011942aa05581e0316d67622b4a1288732a7876166557e73b1d5079acb0f91156f3d7a8b20040202195f5d03b9f61ac47b9c687225af669d6a56d83d5ef079bb99096dca45c6399516ce35c2031d2cfe728fe95fc9639694838a65012a527cefcaec414f685c39341dfe3f8167037e416237be7672d743c1f385bbe514ec411d3f5b14ea4e26542af5b9c1e7d70003f01d7b6e20a5ab36c8b7a18bb616cfcfc516f4b66cadabffaf055ab4a0f848d0037081fcb13c2dd351e51f65ed2c8134dc22cd834aa6d1135ec52dbbbe8b28ffb2030bf1b796484e299eb777a7b1416d304bf56efcfbe61a93ccfd915debedd981b60390672b5fffdee95f2d22a8e65b814d4b54bde91c91e3bfe07ee9bacf64aa1c3303e1e9ab10695e273811456407022efc4fbf316ef3285f26e209dcb8e83e496f7f03f53b616abca038c60a5ddc5f65205578368eb9206d2c7c4bf0cd07a6a253d6af0219ffff03e472a761ee8fffec582094adbafd0cbde9aa77b9cf23bbd7e341f93d4392070c0219ffff031917fe6dc8df80628682309cb4b3866a41f22491ab61aa7b7a1677e8bee2a66903c56d8bc4621ec71d5d82a2fd58b2d1f002858b6d7a1fdd46b7bc250f7da3253d031f40132f5faad89aac23eb674f670cba2a352fc590bc48f2afc578f5432fec7a03f238137298674c5cd6d0f15c4c5111c92c2b728e0d816767eaaccbe97d75c7270219ffff0219ffff0219ffff039d1a57baafa97497ea60d590d9edad5396c39e3df415f34a5ce13bb20126dcf403600595548311ef18c47160e7137ae23a1b9b6f21ec49b2e3744d222d78b47d4a03f90122e7b1d4de59fdaf71275f3e57924d8ecb40ff8c784e98c6a60e36ede525034b4641cae9fbaa18041bddac136e2f9a3efd1d7322cf8e319109fab89d16bc13032e2249ce4e35595be433d2796dceef4b51ee87ebb560dd5c8632bc50adb4e10c035b62d041bd710394a6940722b71df73e8378086ed2f99e8e222ad39165d5ead7036e059b036380f6ac1c0068c5a84c9455b841433c2393a2851f15f8ab3f76391d0347a9d89751f07700342d8dbf16aa80d693409e174e58ae3b266ba24aa846121b034a9925a12a589fd425f11c5481195d37eb83b88522195eb25217b9d1e7e21c1603d11fe70e450bfd40296c2f8f97bc63ce11649b293be5d9ee4b0a674a011a53a2032ab0fbc03d5c43a769efdca063e15712dedd79bcc39f32aab0842915a4391e6a03e0b25d6b53bd04f1af7741d8b5136c55b8bd2a96d0e44d8217594346a5c2a4ac037da030721c4ea89460c94b0b017ded23f0706867199264915a2945be3f38c374031015070ff7a26af219956248ff80d875949b619fb77efad9d5515a836475e00803a2092f572a393445971d706b00c4d1df18da51b269ed8f7e9ee3383d3edca4b703611b9d11c09419336fa6b10ad7fdb296d69b4ca63bc98ed71a7e4f8773d89dd303ee483ad4d31a4d41c4deb3fd84a0a9517ac63836c39da28de3c922cedae34c890363ff753c54b196cf8411be1cd208a48f0f5de141b836783cc59f58dc90df4beb03a0a68dcd48581bf50cfb1925a67375d4981dd18c8a623029023c438c41cabd0c05581e03d1d57eca2e9469b870858485e71699b88d4dd8156f5eeeb136c45ab83004010348ec8cffae548f04408eea14fafacc5456d42fe1df4b23c9e7db0f246af887cd05581e03e970042b3f2f0e4bf763f0223e07e2c0ea54c62c50dc3502022474ef100c0247011b42bc939a2003c38e00e790bfc0a6b3081cab38ec5e24748e61b6028f12bf4af27df3ac941c9c03a75ab1e1b03afad74d39b8a1f0d00b791e0544e037389ef1b4b4e6fc1ffd915b036619e22b04b1d4f8e0e4663675ed490eec2acd9f02874a953ddacd4eea7adf3b05581e030c4a7eed299e6d5749e95f0482aada17f1d4642be98fef5f5ed97a84a0040105581e03f713807b2ed8983b674c6b0c0be2a656485cd7fca7bb7b0e5fe36784e00c014702334f7f57876805581d02edc3a0bf809b0f2a2cd6cf12c62328cec19ff8a63beb75f6cbd68466040104592c076080604052600436106100f35760003560e01c80637200b8291161008a578063b4f3937811610059578063b4f3937814610270578063cf73f711146102b9578063e30c3978146102d9578063f2fde38b1461030657600080fd5b80637200b829146101bc5780638da5cb5b146101d1578063acc53eb814610223578063ae6c70601461025057600080fd5b80634c128e60116100c65780634c128e601461016e5780634c478642146101815780635a39b10a146101a15780635eedcbd6146101a957600080fd5b80631458d7ad146100f85780631cf9fd2f1461011a5780632340ab8f1461015157806323452b9c14610159575b600080fd5b34801561010457600080fd5b506101186101133660046120b4565b610326565b005b34801561012657600080fd5b5061013a610135366004612132565b610460565b604051610148929190612228565b60405180910390f35b6101186106d3565b34801561016557600080fd5b50610118610912565b61011861017c36600461239a565b6109dc565b34801561018d57600080fd5b5061011861019c366004612452565b610b14565b610118610bf8565b6101186101b73660046124c7565b610ddf565b3480156101c857600080fd5b50610118610f1b565b3480156101dd57600080fd5b506000546101fe9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610148565b34801561022f57600080fd5b5061024361023e366004612557565b611001565b60405161014891906125b1565b34801561025c57600080fd5b5061013a61026b366004612132565b611197565b34801561027c57600080fd5b506102436040518060400160405280600881526020017fd00dfeeddeadbeef00000000000000000000000000000000000000000000000081525081565b3480156102c557600080fd5b506102436102d43660046125cb565b611385565b3480156102e557600080fd5b506001546101fe9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561031257600080fd5b50610118610321366004612664565b611491565b60005473ffffffffffffffffffffffffffffffffffffffff163314610377576040517fbe24598300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008673ffffffffffffffffffffffffffffffffffffffff1686866040516103a092919061267f565b6000604051808303816000865af19150503d80600081146103dd576040519150601f19603f3d011682016040523d82523d6000602084013e6103e2565b606091505b505090508015610425576103f78484846115ef565b6040517fdfbe65d77c5440a078a2a1d95803d06b4a5f85b26ba3ec87bc9b421781e8dec190600090a1610457565b6040517f750b219c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505050565b6040805161014081018252600080825260606020808401829052838501829052818401839052608080850184905260a0850184905260c0850184905260e085018490526101008501849052610120850184905285519081018652838152908101839052938401819052830152906090831015610563576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f696e76616c69642063616c6c6461746120286d7573742068617665206c656e6760448201527f7468203e2031343429000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6000610570601c856126be565b9050610580600c600486886126d7565b61058991612701565b7fffffffffffffffff0000000000000000000000000000000000000000000000001683526105bb6020600c86886126d7565b6105c491612749565b60601c60a08401526105da6034602086886126d7565b6105e391612749565b60601c60808401526105f96044603486886126d7565b6106029161278f565b60801c60c08401526106186048604486886126d7565b610621916127d5565b60e090811c908401526106386050604886886126d7565b61064191612701565b60c01d60070b82526106576054605086886126d7565b610660916127d5565b60e01c60208301526106766074605486886126d7565b61067f9161281b565b606083015261069181607486886126d7565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506040830152505b9250929050565b60006106e36034602036846126d7565b6106ec91612749565b60601c905060006107016044603436846126d7565b61070a9161278f565b60801c905061073173ffffffffffffffffffffffffffffffffffffffff8316333084611620565b600061073e601c366126be565b905073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c516631186ec3361078b6020600c3660006126d7565b61079491612749565b60601c6107a6603460203660006126d7565b6107af91612749565b60601c856107c2604860443660006126d7565b6107cb916127d5565b60e01c6107dd605060483660006126d7565b6107e691612701565b60c01c6107f8605460503660006126d7565b610801916127d5565b60e01c6108128960743660006126d7565b610821607460543660006126d7565b61082a9161281b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e08c901b16815261086b999897969594939291906004016128a0565b600060405180830381600087803b15801561088557600080fd5b505af1158015610899573d6000803e3d6000fd5b507fe11352fef0e24c9902a94910b5ce929151ea227f4c68572aada8f2105c66c13392506108d09150600c905060043660006126d7565b6108d991612701565b6040517fffffffffffffffff000000000000000000000000000000000000000000000000909116815260200160405180910390a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610963576040517fbe24598300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015473ffffffffffffffffffffffffffffffffffffffff166109b2576040517f75cdea1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b6109fe73ffffffffffffffffffffffffffffffffffffffff8a1633308b611620565b6040517f1186ec3300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c51690631186ec3390610a80908a908d908d908c908c908c908c908c908c906004016128a0565b600060405180830381600087803b158015610a9a57600080fd5b505af1158015610aae573d6000803e3d6000fd5b50506040517fffffffffffffffff0000000000000000000000000000000000000000000000008d1681527fe11352fef0e24c9902a94910b5ce929151ea227f4c68572aada8f2105c66c1339250602001905060405180910390a150505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610b65576040517fbe24598300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610bf357610be1838383818110610b8557610b8561291d565b9050602002016020810190610b9a9190612664565b7f0000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6116e6565b80610beb8161294c565b915050610b68565b505050565b6000610c05601c366126be565b905073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c516631186ec3334610c536020600c3660006126d7565b610c5c91612749565b60601c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc234610c90602460203660006126d7565b610c99916127d5565b60e01c610cab602c60243660006126d7565b610cb491612701565b60c01c610cc66030602c3660006126d7565b610ccf916127d5565b60e01c610ce08a60503660006126d7565b610cef605060303660006126d7565b610cf89161281b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e08d901b168152610d39999897969594939291906004016128a0565b6000604051808303818588803b158015610d5257600080fd5b505af1158015610d66573d6000803e3d6000fd5b507fe11352fef0e24c9902a94910b5ce929151ea227f4c68572aada8f2105c66c1339350610d9f9250600c9150600490503660006126d7565b610da891612701565b6040517fffffffffffffffff000000000000000000000000000000000000000000000000909116815260200160405180910390a150565b6040517f1186ec3300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c51690631186ec33903490610e83908b907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29084908d908d908d908d908d908d90600401612984565b6000604051808303818588803b158015610e9c57600080fd5b505af1158015610eb0573d6000803e3d6000fd5b50506040517fffffffffffffffff0000000000000000000000000000000000000000000000008c1681527fe11352fef0e24c9902a94910b5ce929151ea227f4c68572aada8f2105c66c13393506020019150610f099050565b60405180910390a15050505050505050565b60015473ffffffffffffffffffffffffffffffffffffffff16338114610f6d576040517f1853971c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179055600180549091169055565b606063ffffffff871115611097576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f64657374696e6174696f6e436861696e49642076616c7565207061737365642060448201527f746f6f2062696720746f2066697420696e2075696e7433320000000000000000606482015260840161055a565b6fffffffffffffffffffffffffffffffff881115611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f6d696e416d6f756e742076616c75652070617373656420746f6f20626967207460448201527f6f2066697420696e2075696e7431323800000000000000000000000000000000606482015260840161055a565b632340ab8f60e01b8b8b60601b8b60601b8b60801b8b60e01b8b60c01b8b60e01b8960001b8c8c6040516020016111789b9a999897969594939291906129e0565b60405160208183030381529060405290509a9950505050505050505050565b6040805161014081018252600080825260606020808401829052838501829052818401839052608080850184905260a0850184905260c0850184905260e08501849052610100850184905261012085018490528551908101865283815290810183905293840181905283015290606c831015611295576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f696e76616c69642063616c6c6461746120286d7573742068617665206c656e6760448201527f7468203e20313038290000000000000000000000000000000000000000000000606482015260840161055a565b60006112a2601c856126be565b90506112b2600c600486886126d7565b6112bb91612701565b7fffffffffffffffff0000000000000000000000000000000000000000000000001683526112ed6020600c86886126d7565b6112f691612749565b60601c60a084015261130c6024602086886126d7565b611315916127d5565b60e090811c9084015261132c602c602486886126d7565b61133591612701565b60c01d60070b825261134b6030602c86886126d7565b611354916127d5565b60e01c602083015261136a6050603086886126d7565b6113739161281b565b606083015261069181605086886126d7565b606063ffffffff67ffffffffffffffff88161115611425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f64657374696e6174696f6e436861696e49642076616c7565207061737365642060448201527f746f6f2062696720746f2066697420696e2075696e7433320000000000000000606482015260840161055a565b604051611474907f5a39b10a00000000000000000000000000000000000000000000000000000000908b9060608c901b9060e08c811b9160c08d901b918c901b908b908b908b90602001612ac6565b604051602081830303815290604052905098975050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146114e2576040517fbe24598300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff811661152f576040517f1beca37400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff82160361157e576040517fbf1ea9fb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127890600090a350565b73ffffffffffffffffffffffffffffffffffffffff83161561161657610bf3838383611829565b610bf382826119ab565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806116df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000604482015260640161055a565b5050505050565b73ffffffffffffffffffffffffffffffffffffffff831661170657505050565b73ffffffffffffffffffffffffffffffffffffffff8216611753576040517f63ba9bff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015282919085169063dd62ed3e90604401602060405180830381865afa1580156117c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ec9190612b7a565b1015610bf3576117fe83836000611ad5565b610bf383837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff611ad5565b73ffffffffffffffffffffffffffffffffffffffff8316611876576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166118c3576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa158015611930573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119549190612b7a565b90508082111561199a576040517fcf479181000000000000000000000000000000000000000000000000000000008152600481018390526024810182905260440161055a565b6119a5848484611cd5565b50505050565b73ffffffffffffffffffffffffffffffffffffffff82166119f8576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b47811115611a3b576040517fcf4791810000000000000000000000000000000000000000000000000000000081526004810182905247602482015260440161055a565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611a95576040519150601f19603f3d011682016040523d82523d6000602084013e611a9a565b606091505b5050905080610bf3576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b801580611b7557506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611b4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b739190612b7a565b155b611c01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000606482015260840161055a565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610bf39084907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611d2b565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610bf39084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611c53565b6000611d8d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611e3a9092919063ffffffff16565b9050805160001480611dae575080806020019051810190611dae9190612b93565b610bf3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161055a565b6060611e498484600085611e51565b949350505050565b606082471015611ee3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161055a565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051611f0c9190612bb5565b60006040518083038185875af1925050503d8060008114611f49576040519150601f19603f3d011682016040523d82523d6000602084013e611f4e565b606091505b5091509150611f5f87838387611f6a565b979650505050505050565b60608315612000578251600003611ff95773ffffffffffffffffffffffffffffffffffffffff85163b611ff9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161055a565b5081611e49565b611e4983838151156120155781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055a91906125b1565b803573ffffffffffffffffffffffffffffffffffffffff8116811461206d57600080fd5b919050565b60008083601f84011261208457600080fd5b50813567ffffffffffffffff81111561209c57600080fd5b6020830191508360208285010111156106cc57600080fd5b60008060008060008060a087890312156120cd57600080fd5b6120d687612049565b9550602087013567ffffffffffffffff8111156120f257600080fd5b6120fe89828a01612072565b9096509450612111905060408801612049565b925061211f60608801612049565b9150608087013590509295509295509295565b6000806020838503121561214557600080fd5b823567ffffffffffffffff81111561215c57600080fd5b61216885828601612072565b90969095509350505050565b60005b8381101561218f578181015183820152602001612177565b50506000910152565b600081518084526121b0816020860160208601612174565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b805160070b825263ffffffff602082015116602083015260006040820151608060408501526122146080850182612198565b606093840151949093019390935250919050565b604081528251604082015260006020840151610140806060850152612251610180850183612198565b915060408601517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc085840301608086015261228c8382612198565b92505060608601516122b660a086018273ffffffffffffffffffffffffffffffffffffffff169052565b50608086015173ffffffffffffffffffffffffffffffffffffffff811660c08601525060a086015173ffffffffffffffffffffffffffffffffffffffff811660e08601525060c0860151610100818187015260e08801519150610120828188015281890151925061232a8488018415159052565b8801518015156101608801529250612340915050565b50828103602084015261235381856121e2565b95945050505050565b803567ffffffffffffffff8116811461206d57600080fd5b8035600781900b811461206d57600080fd5b803563ffffffff8116811461206d57600080fd5b6000806000806000806000806000806101208b8d0312156123ba57600080fd5b8a3599506123ca60208c01612049565b985060408b013597506123df60608c01612049565b96506123ed60808c0161235c565b95506123fb60a08c01612374565b945061240960c08c01612386565b935060e08b013567ffffffffffffffff81111561242557600080fd5b6124318d828e01612072565b915080945050809250506101008b013590509295989b9194979a5092959850565b6000806020838503121561246557600080fd5b823567ffffffffffffffff8082111561247d57600080fd5b818501915085601f83011261249157600080fd5b8135818111156124a057600080fd5b8660208260051b85010111156124b557600080fd5b60209290920196919550909350505050565b60008060008060008060008060e0898b0312156124e357600080fd5b883597506124f360208a01612049565b96506040890135955061250860608a01612374565b945061251660808a01612386565b935060a089013567ffffffffffffffff81111561253257600080fd5b61253e8b828c01612072565b999c989b50969995989497949560c00135949350505050565b6000806000806000806000806000806101208b8d03121561257757600080fd5b8a35995061258760208c01612049565b985061259560408c01612049565b975060608b0135965060808b013595506123fb60a08c01612374565b6020815260006125c46020830184612198565b9392505050565b60008060008060008060008060e0898b0312156125e757600080fd5b883597506125f760208a01612049565b965061260560408a0161235c565b955061261360608a01612374565b945061262160808a01612386565b935060a0890135925060c089013567ffffffffffffffff81111561264457600080fd5b6126508b828c01612072565b999c989b5096995094979396929594505050565b60006020828403121561267657600080fd5b6125c482612049565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b818103818111156126d1576126d161268f565b92915050565b600080858511156126e757600080fd5b838611156126f457600080fd5b5050820193919092039150565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156127415780818660080360031b1b83161692505b505092915050565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081358181169160148510156127415760149490940360031b84901b1690921692915050565b7fffffffffffffffffffffffffffffffff0000000000000000000000000000000081358181169160108510156127415760109490940360031b84901b1690921692915050565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156127415760049490940360031b84901b1690921692915050565b803560208310156126d1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600061010073ffffffffffffffffffffffffffffffffffffffff808d168452808c1660208501525089604084015267ffffffffffffffff891660608401528760070b608084015263ffffffff871660a08401528060c08401526129068184018688612857565b9150508260e08301529a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361297d5761297d61268f565b5060010190565b600061010073ffffffffffffffffffffffffffffffffffffffff808d168452808c166020850152508960408401528860608401528760070b608084015263ffffffff871660a08401528060c08401526129068184018688612857565b7fffffffff000000000000000000000000000000000000000000000000000000008c811682527fffffffffffffffff0000000000000000000000000000000000000000000000008c811660048401527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008c8116600c8501528b1660208401527fffffffffffffffffffffffffffffffff000000000000000000000000000000008a166034840152888216604484015287166048830152851660508201526054810184905260008284607484013750600091016074019081529a9950505050505050505050565b7fffffffff000000000000000000000000000000000000000000000000000000008a811682527fffffffffffffffff0000000000000000000000000000000000000000000000008a811660048401527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008a16600c8401528882166020840152871660248301528516602c82015260308101849052600082846050840137506000910160500190815298975050505050505050565b600060208284031215612b8c57600080fd5b5051919050565b600060208284031215612ba557600080fd5b815180151581146125c457600080fd5b60008251612bc7818460208701612174565b919091019291505056fea264697066735822122053a6872c49fa7c4c7601faebe0522dec3262ae37cc4f6ca8289daaf04fe18dd064736f6c6343000811003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635411f1022ca6adef6400e5677528a80d49a069c00c05581d028285a527c90e78c516c9a3dec325ee5e8dd7f508b0ddfa7b81ff04d30701192c0705581d0241e84f082c37fbc389eb10e81af4a0717cfd3cd6328086fc1b18ed270c183c47b5236a3410318902192140037e84c51758b26a51992a0760b3483585bae8863b75233a006322cae9bb1d927a0343d3e90c02378378d92f287f0107d60819e0223a928b2b620ee854c1bdabc2bf03095500e514bd329d955786270d897af7937e79f58af7bbf72edd7a954fdbdcd5030b26e8e1bbdf60f6cec5350ec288db5ebec6222059a7f7e2cb15b0ab3031b9b90219f8ff03c7dcfb43cdd2069ea1eebe82e86811f7ef96e93b9cab6ac2b99af06f776a9c4503763b0e171850b6beedf82e8316d7d03586195d34d561b11fcc3fc183888cde7e03ce83f5eaad51a1b522208c9b7b6856895ba01c92e9b69368bff715863d46972f03426ecd99b1d171f38689b71c832fc8c3bb1d1ee6278acef6ab50205923bf6e0a03db418fbb47dfe2720d82612794f1f801ac693797dbce1a9d488ad71eb961bfaf0307e5ffe1fa5f400acb10dbeb89a659ae2569681b2059310e27a0250972a8cfca03cce658a917f8c1e78c6145513eb507994e385c84637d361c6f6e575b7659d08d03b2a14641eb9f3e1c9209da84b3f4bfdfa6951e09ac93a1a7c27ec3f8a19fedd0035fb7f8139393ff4d5fdf44c2de7f46e313edd27c80d4fd2f8be4a8c25cba7e8b03359c8211da49091319f215495953fa33212ea74c857897d64ce04c2303430375036b5d46628734e2e42edbef5b5f74394fab21dd1e5a57fea19c3c346fc9acb3da030c866d349014a98c0f7c5b9dd9293bc5e1c1414c54db1bad563f026b8dd0c6a1034866df7975ffa0731d95b8e8fc1904c4dcf0d3cc8a08d507d06578bec2b84ebd030a9c56e3982591e29f1457f6dd1acba81bdbaa8b260646651107a42567d2a2490219ffff03510d2ccb341b0c6b2e59b7bdd9a9ba8f542554346beb99702990e28294c96b9b03ddd42ca7da183a8fb287ad77e7733094522cfa1d96e0f45b900dbb926204df3e0308452f03f06e5a0048174ead1c7cbfe707cafda2895189347901077cf69968260219ffff039ce45cc33078373ecc045be34ac4ebcb3b80827b02b0800478d7e139be28919a032eee43f4c987a98cafce97b7ceb4ef0d301db24499015803ceed1afb2f8fb23903c687a791a95d3d7923f56d93a6bfe557cc1ad80f363388d79130d672d632652103e167badf025499d7a05688fdb8d1eaabbcf9799a1421aa1e8de0f386a2013d6b032a3c3329b65e97e146638bc398a052ec75edd13a784b9dd46a28e189a5d48850032cecd1307d8dfbba4cd16bf84093537c785237c11b922aee2784292049ac27cf0307fdd437388ca20c19f1d64115c5f058a5eb13b6815cdd5f49c18cbd3401f27b031893d8eeca66043e62eaafaf14650cda40f93e8eaead94b79a72911adf13821d0358a6d4fdb004f6f32f33e2e6c61bb8391dff097e19401c16332e4e2e19b39831034affdc5471d963edc3d6dc121d4be80b56039d9d91003ef03503a49d805b553403bcbce8f879d60127bf292bbc708e8ea1f1f1724da8f2aff1694fb66f1c8f38ba03eb767dbab8d787bf36d209d8c3bb3219850f6b8648e8de346a375dc9dbb704e6034af7978e38bd10e1bae91655f5d4a81c1d5f3c44093b3dfc2f1fc7d735e34a190219ffff035b2e83101042ff848538c3f1f9c84f98d215bbe84918008a1231f53e1eccdc8603dbbe7573a70d8fbafe79b84c4a3a16d33b156e1ee0c645c54d13361a51bf1d5a031edea7c134df83bedcee978ea462b08949706de8df54b140f877f68bb9318d090397231e5ff10be379cefdf943d3403c5f1717828357988e7b5d6039099039baf0030211e48621f9a4bb538bc4e9a54507b0a3931433bbd788fd9cb0966914c5960703163dd57159e2a1bc9e31ef3b47759e98c5008a92841d99298597883e8f3dbcab03f2000bc0fcf9e7d55e1f32e436b3168c99d17b5c548cdaf62bf028578dbd54e103f246c626a06e7dbf63f433484f0581f6a9009e1db538583e4647a3f15a88995d03274cf8306a9650ed6271d0cbc69fa70423803a259e6bbe5d7be96c5e00554ad403e5b21b710d09e1b91fa9c9c3dc4ae5b25d05e6fa14c8bd360ca9e3a0f75a116b05581e03ebcdfb08a7b58417d647138e66711a12c2c612e4a63ec1a3bb21a1bdb0040205581e033f45e1306b9d90701a1f317103f24d0b3cf027a5fe76b74e1ba92830700c03467d4a886344f805581e03b0789a835d8c5c62313d65a47b24016b8e2b2540050cf83333bf0ac18004030367da928f133710e851c7e19c209b8d8573339e929fd50e24c2c112ceb8d9ed6a05581e038efb30ed3ebc37549e9212a133a25c67ec667284b69b96d55d305aced0040303da8ebd0fcc4c0e2dd04b40221004b54b8e747a0b7b809cb1dfc64aeac19972ad03db432871189d52fc128306136ff44fc156f19747370f4198bf68b2dd0f64ab6505581e034295c0dacb4992d9f6fa10bc0b9728c133b17707b8b9409bcf8dfeab0007011bffffffffffffffff05581e03018d337a7a5c15b9f60d2ec2613bf53745872c06556e3aec78b73aa1a0040305581d02275329507164b146c381c7fced8eadb6c189f453c17872464eebb4230c024615e7f2dbaa9805581d02d006e8b82e49305e34145dc65ee6adc561be960fea2e5a1bbeceb1bd0c034703bd2d59182a73021848021944b70356accc970625fa9fecd774876d5c42250960e2f9454e2a58ad4de7ab81fd2e580351d83e2c79ab447965e5d04dee1917b7d6b09048394784ae0c569fa90b023749039c093efbf43814fb3d0e1e5ad5c049a7479b189c92c52a427a89336b5c25b32303b737a310d4c53907a695e3099473d8a232cfa996858b5b2799fcdb16e6e99f410342245fb244f7a871489eec52afa03594e14b70ea2b0f7a52517c2a93bf59a2a203ae027bbf4759b5c43dcfeff0e81276b76a636a3bedd0aceeb298b08efe1e4c27034a171074673c3f997d4afa37ddc48406930ef8ea19af89051b40ea1e98b96feb0353bb2d025fd817e2c9e1b757624bc217728bdd54e1382c618956d057a2583e2303ec8523232cbd27a57c38e245d47b4d8afcb063f8b5532aab2c4db4f03a669e290219ffff032b7a03f46ed40f46a83294c43b7485bdbdd9a541b296ff2cc66138f87bb97aa80303f660af25c1e0fe89e2b2517ae7294f460d4800a4d25766a97bf6b4a694f67e035f742a8b9299fdaaf0b974094e70a28e7ea011abfc2b69d9a29ac0eb261ed76503faa5ed1c36a4b3429a45e25acd0bb348edabd5eec446675f090fdf46c4308c93037d95e96e112edfea9666a7a23035374e2c1bb79d72617caaf06f336f60465585038eb1c5678385365cf86f27299d717e876d8cb4f653ba10b58ebf43b40566a11703d590bc717b21804b37b140b7c502632fb095ff7bbb0f5e811f466088246be08203086441cbe15f9f8ad3426c10bd53489f550b14cfaf32514907e7c6edd2b73cc80373860c160f25ceec125d2a41e991d77f53fc4d325a6bad9be8b81068730c903803d14167eba9b622ac3680d4f3d37d01ba8cd9d4742aff826c879a06e3edbc6fc703d6a53e1398e5d9c3c7144b84038679c48091919eb24ee6e531e0caac1fb353fe03eb90c4000590247e5ef439c21bb7964a5f41c8bc34e889e01c6393e1683086a503adcd303159ca5cc6dbe7093c54d113ae7a02541d1a40805d1a20210878162ee0032e87c3925fff0fbc911dd749a66ba46b04ea3eb484b8f5bb06c024c94c000f240219ffff0312d9d529d282fd9faf7b3c84dfdf5c29d9e874f7e02eb4a7948dc661a7935ae503d8a157643864305fb2ababd04f115a7ce873f0b688cc05237d231bff38de25da03fa778ca95505cda615f46a8dc37188d2a0ca56d7e7ce41a7c1ad20740e5b1b8c03de8ab578ebc19ed858615578e61fc494e63924c18ba1cadafbe0c47ce40118f603e2373c4afe44ad3ac1e421a749d5062100dc5569d25759f24ebbb4ede1627e9003f53ce0c1858562b8169db6a917495facb54ec17b5018b66810a5d47b49bc96d8039b4a7905263b3c09ff8138e1715d74af0ba936d83dfc14061b293a4a41b6fb170398d481c77f134b913d0e929660afa11c91981dafdd0c0d6161f4f8a543ea100c03df26633f305af6046df424d7ea1517bacd76eae31725ac9064077fed3599572f033b0dbe649ac1df7f76ec52b610c824117595485a58b2547791b8eaded70775520396b2c34179d47f3be66a1bad060afa1dd52e744dabf943ec24b17076d24fb96903eb1d1c0097e3534508eb23144a9e44c9c10afe0cc4663dd2c412df56d1da685f038f5955161e135bc3d07b6d8fe1a90b103c05615c9384b1c542056bdcde71df6d03ac433fcef62274e2a3200f86c25a2236141d15e5f8eaf81e5ac167d6045246060219ffff039d7cd225cff902acdb73efd899a266f1ad0f3540d41155f3155ecc2fa8ad8d1403b39c20f759664d7ce6951d92df840b6e7287ab7443390be10366a97e62b23c6e03980fb3d90c1c7f0c226085402c957e0ea77b5f5c047e5a3de260e36a9a7f42fe03a51dfeb2fac20b14cd28ed12799bdf1134af3b477119021bd6b0c828a6cf9e97036e86fdb37308bf1571aaa34ee383ef25e77cb93dc2b621c2f584971f43018330037233d95a1460fc59746ce6b399a3ea0bed1f5b6ba52fa0763362c71e640a549d03f03882b51222ee828f4f0135fe98a8add69e43970549ea6508c707a904754cd603e824f63b0b9c74280d833d529b938bfef705aa5d2122f2d5eb58067e76ea4363032008978bc0177eb989adb9390ef4b20c7fe1efd6721c35df55e5b148beebdd83039c88668bb613554dd9c94079cbe43c758eb54aab45a77be5ea6b860ffd4ad80f03938fa4ee664331c47c36a75f9e1f71eb7d15af5c637c5ca32c3731b75b75349a03c5048e1f194c33ae22b4a268fbecf8a9a05fe0e79adb7a277111c3a70866162c03f9a229ebdf69aca82c17466594d8cb1168b3b93a826e7aba10de9479297059c4038e3a34136bbe1794edd390d3446779e12215137db4a4f06c33f76685178d994903815793f130b340ff83ef5ca48b8a10dc7d67207a3cd075405c820ff8c97de58a03df39de250149fbf9546d4977f6e68604c7bd1a9467195b07440f05ee084ac06e05581e03d1936276c93a166604b043b42a466d969fa8d3a7109f430572162806300c0245021376a44803e47f845ed8c120df025ce324299f64a526d9ebccea52c828718e95f0a2480a2705581d02b1b0ef894389c205cef422136260e2f6922c7fc78343780a34690ccb0c0c47f0f92764c17bf805581d02e0acb2173f44ddd8fc3f76f11b0df2932f3a5135ff1f819d5a90fd29040102198008038c098590d089f6f280cef2936debda3e1fde6d41ade42649cda7a08cf0c70ad205581e03b9e6842b7b60002a8d4bbbaa947fee9b1344b9b287643447225bd6a7200c014706b960cda57650039c2107ccb3695c0c6f0c142ed469ffdbe0ca2ced0d6fd0e081e12eddaf3a645205581e034be64526a50c089b61f0008920e2d0ee401920d98b60c5c67fd6c6cd600c0c46a7e604ac4b48034de45dbc8cedb89e8986eeb0ab7232b31d85a56463f666fbf73e129b87e7a871021919c7033db619568d046e7e8510183dd9976812241a5dd1bfb75bda5a398ab4e837b232031d9a31322c2f2b8c9d88224145e955db73a8315d59d44c4f98c46f2c3bb154ca035ee45372f1cfda0740fa1dc14bae6a8fd99dcbcd9ae89c18664c0a7ac0fe827303134213cd0b1ed0228495d3d71aefac1c0e2acda9564d73b451a8a368a067788b0399811c1a93831896e16a1578f4b5326c686ca1ef47b845e9a2f07bae764b8ee30312a5d3bbe914c04c778ddf0adf24eb02ff547dab37529dd712818e2a545a8351036d595e78817e2106f2946f429de24984acf17e3221efcc84ee366362c22f47700382a2c53af46e7ce7a49979bd6e35653ce8aa075d535d04df3b95d115639c03d3036913ee24bec49317f3e309bd7cb47502195628bc3489cdb726424333e1a689010398c71e4027e6f4bb1b9c5f1e1b55d2e92fd9f648b78ca2bfb3013485c4f01997035627885d2552ed366610e5fb0f174a411c2be6f52cd129e486aa025ec85e021903a9168f2d1a60a3db977b75eef46ca09842391f8ebd0dd1635f61447525e3c32203f0591fe485d7dd36ba076fa7c6c60972255d602663fdf3f5db832002ba3ad14b035948d37fb1e873f9d7753d5442c5b5bcff68883c5df92f14b2e14ca9c27d15310219ffff03a888889d740c119ec03bdc5702ad940d7c630939a072c3aa28097ef13750671a03f2ba236149023a2650a0af1ea857926214bc6dc400a8f03f0c0494a28c15773303e9c1ac255c4627226ee5912d1a26fe4e0ef05f909d8188b36a6747a1e603747a031ac6be53794d172165f0855db46791d277bc886407cb11677bba1f8133eed19e03fa76e1decb024bdbc5feb83b895c5da5f31f1a31372d48b3c6956eecfb81890e0320f035186c11e70341f06bc49dd76a0efa143faeb220368b6fd6f716001c4291035459f9065e51fe466a6ea1585e9b3146fd44c45618cdf1a84eeceae8883d0ff1033ddd920c76d2b56a1089faab6ddb35c56cc5c92c3011ede019998f0426d1e15e0219ffff036303c33de91e8bddbb3c2adee51522f9e0b54ff8a3a8a487715c5057a2c552d103f50b92e31496ed065196ee0de0542a8989d86d0c218e4472da34568443247cd103389871ab988aa04b1970e5a5f20b4e6a2b190e5098d029afb6ea7ac06c55b22203d1694c2a6bf8fb183f3867884f8ee7da372bd776103995902b6cea307b2a0a9d03ef6833c02581858b9ffaff1a70b7540497a884f4004dcde109211c51872451e5035dbc85de6f24fc081d5240a60a4d19d28ca2f932a4e652f359f9ab72d4605fbf03ab70b800a48304f2004894cc984ff462b0adf8fb241bd4d4167755b7d4270a4403647c99280b122dafaf321586a02f72df2defff256cac461033d47dd076e5452303ea3e8bb323187afb200a1d5259f267e1980a29bceb491288be2044c7e94f4acc03b0d278eed25ea20bcfb1794cc45e5bcc4e4794b4fb97ff349e8d18cb2eb122ac0352d43d6761e754af804b6684473b7d676b6c03d10fbe628209d28e416813bbba0219ffff03b4b27d70b14ea7131f4450e98e6c96bf89a2d42586b874953d6488749f4c1f9403924ee7dcc8932d02104e6ce4926d937be14c7b988576c7978dd0a0032d6daeb303efb8a7371f9dc34d6429116c037849e4001e7b5c250bc0bbd81adb82120b30c20219ffff034dc5d9807706b097e7403ce43bae4c4db20afe3fb9dd666bcd55a6212781ee8603f8c346c1f628e01316b8c55385341c29ed69292532dfc13977da0a8a97d06fe603e2b7fb0288b83928a1852664663768ca4b6abf5c2f47163fe9de841a5667f72703d37ca36879d34a63d6d3d8bf3d2b23300cf1118161de7bb05582a100bc5d2f4003446803aad3f640be70e17740f5b010f9fd08b7c149f9f3dd69235e371ccdf9bd03e9d3a0f1f61ff1e311cd8e48b96489887f41c467e1cf61adf48e224ef328b68903f69d767577d352b94c57f980ac3807f742f184a6c4e2fc7701bfc84c665a17b803a83a82b2a80992c9ca7672cb246ef9d41988215dda5a6617a6aaec39b2adfd19035fd09fc8977e3d091cb38ea39ed57aa5cfe4a80c7325edd38af266def0b7b35c03c002a818f6dcf553642814646f4add7bf0a9ffc838f0c1bc1b6bbb88defa0efe03f25b2e0de4effbf269da25ee30a1ebce3176224469c773f3b69db05614b93d110347915b4cf9f905555986bba2c84167c1b259cf4ad6257d1d0ff62351d8040f400394f585d61272ecfca296065587f79249e99f349d7fee33abc1869d450d107e69039d68267dfe55224d068b72406fe7d064d14c061ef5bf87c49715d48ac9f0604a05581e03175c4457aa1b38316c58c0de09ccdc7a0a46082344f0583a4ebe22bc600c0647050fd68cdd041005581e03c805c3cd15984b140eb2483fb82c4f8ba274d9a144c384da73f541e470040105581e03b465b4587834e783218a621b1e6a1af4e25b6c25a39dcc535abb55ac8004010458aa608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220f8a584f5571c1942ce287f04e503e7a62bf0c9046c8825d7d0dba2e353309c8e64736f6c63430008180033005821031a027d2384422c4107d92c22d3e43fad78608fd3634e3b99b711aac55eef16a054d8da6bf26964af9d7eed9e03e53415d37aa9604503067dece4ffb3fc7f69a805c65de4092d0c3ed4b89e36b47fed4d3e9240693567032f8263a243456b437bfb158b705bdffa9d78ca6c0c8f63d72b0b981326eae16c0058210354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff9054579f40d0be111b823962043702cabe6aaa290780005821036f2b4bd09397ba3e5df1984c5abe3e2a6ffb8e981f9b85214f360acd4c65b6705410dea67478c5f8c5e2d90e5e9b26dbe60c54d80003db628a288b51354a3da9bfe6e24832405750f921d9447a2c340fba6a721eddbf00582002e8784f9cbd97bf0fb0454df8b2743b641dbb81c9b472fea9a3d17b8ad921a254e3d777143ea25a6e031d1e921f396750885f43ac00582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d5429a88d60246c76e4f28806b9c8a42d2183154900021822032848c2886a5d3be65c645d0ded81e21cf4c777f3dfedba64645c19aa0deff733039e99f6b33d9bfe180108857e6326c1f01dfeef8860097498788e7d42751c46f60058210342c535db0cbd82217eaa40df4041a825d5d82005201d5a6183ff14ba28e6da6054e3d777143ea25a6e031d1e921f396750885f43ac00582103807ee1abf424fb38e07cccb68a6e5a110d5c995755a15a9ef70f06ef6d44413054579a8d63a2db646284cbfe31fe5082c9989e985c00582103b360cc292962ed07966e63e8458e8e3d08f65c5c3c0ca9c5497e4536e21234b05416700000000000000000000000000000000000050058210353ac27b050b2d001b2a04d1ac98309812571033fedcaa764e81731183186247054d60247c6848b7ca29eddf63aa924e53db6ddd8ec03b4aa328fe078b085eefb678ab71cfa4833ebb6bb94186579385700fd6be961f50219efdf05581e03f2c433073eaa53dd93bb94eac7b1663896caec6e6bd3b87db57db5d1a0070118aa05581e03a543309398b19ac1929f360927efb35ad7d96479e84f717b4fade8e020040205581e03c3d504abfa4305369ffa79ccb8bd6025a622dcf71cbebea2710f9501800c054655f879950660031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03dad7fe32f867a4217f5eab5e1ccbb0c52edbb629e42042da28b484de7007011bffffffffffffffff05581e03ff8b018de6aae81cd86282da473788683667ece1c17e08ccd93c81d0c00c014675e003fc720005581e03f025720f073f9c27a892e6d8135e780339f730073324e2700b41ad40400c0146045b423f9c000355098d2bca8c8ac29111ca985dd5b3da4c18b2219e9e263c1dfaffe688809d3805581e03c5f76f7f07a7b62fb462c493dffb649fe759b991668d63a4de441f66300c044701129eade488d803436cc72f14748f99da3db852b1cb793dadddeb64c1cbaef3be4856459b74d40605581e03b3693b594a5f275330871c6ce757a21fd6e3936c4bdeff85b5f02d9a9004010219fffb031ebb5ff7a815bccd68b682a9e281495eff2f436c10bc2948d9277677b5b1f5c103ec77e7fabb8ffeecf22127334bb8771cd5410a3a908bdef0194891411f4035bb035d908a1f368a39ca1edd64c1476e4be06abdb65f69c207fb3e88ae0be2e77f0f030b8f79362eea1a34d6b52da6082eb891eab608dc36f36a3a69549fa67b5f0cb3037d5740ce4a722f2d964eabd788b4e1742548f7b4d86051012f86d4fde6b5e69a03451dd28021c7239246cff7be97eac15edb513f2a4fc397f1247b8a596353032803e4a0da2518eca8fb62157691e65b1fc393183febbeaff77b5071e667369ef9a603ec95a4a825a8d9df73ad7908959b116a16b2b718a2aa43a395309e01225c004703e9472be0a141ff2c79ef9e54292d87aa9d2efc8f33259c3d64fff730ed4199da031cc721327ad50c2fca857331b0709a2c034bd608b6c4b7c9dcff70f65fdfbcb00321cd3d0cbfc8170d9c583059c5d16490e6b41c3d6a56e1c37fe53931d0e2c3f703f38019b9ac40b66607caae10f952f6e608972c0d30a7ad5c801617cec49cbe5e0326b0224af6c0d0d77b9f020eede57290b87850fba8cbb86733d724b20580f317032034f9a8ba59d2030afeac4f74259281f60d0503e049bfd7bf2fda861a6273420219ffff033ec49e19c290b5737df014f42805ffb6e03dd78f267cf2db6af411965077f5b9032aecef1de3dbe05c6230089118a5c0d72e646415885982191ebdb306c382555a03c512fa8dfe2862ea62229d3cf78134ef7d730a7652a31098a1735bcfaa982cc003df9c2712277ac912862282ead79e8936f00f2eb2ae17b8d561045274e4761cc403d7dfb563a399b757a799f4ba7d0cba3b5bead9a67ab2a929ea89165460ada76203ad5df183b71c2092938c1a6162a6e29c253fda2e0f05a026e1a5f2fae97ae10c03ea0e4d4cc1dcc77ff9b6ff47efdb9a9c3818fefe95fc8f709ab4000c705a64cc0219ffff036bdb7295bec5598defd5ace8c1f788bcc5f4be728bf45a06f0785259d63692160366adb4c2bfafb188cf1da40a03bea718a80c935f24e49a523bef221cf514391d03ab1ac20e7037e0393da9b542be77a89295940c73cfa7f084e62d79cb4deef82703574db355e08202cd0a60c8f8607ca48c2bad3cb5caef025dd108897e21529cfc03a1f98a9908333eb26e7f4b663883f8b7d5b8afb7b05fe581873eefc80e9ce1c703e0c61492a83312a17121fef6da0647351c4c55c777c1033a4cbf61b5c9d473d6035b4354b1d3d9dc1cc73dc594a97905b5b52336a02dad11139f3ea6691f6f26f8037b0d0ae56382c7cc32fdca9c25751bd960dddf23e435cb1c387f9593d444751003c52fe5900caa0007cd213083552baf26f5b88fd0a5c8fba87a7610314b12bb120324991f6aac232f36e084c5ec3e6e234505206c2fc725de400a7a49135b668ad1034019f1594b66e8e209452b62bbfdda2a1159c2b27d1e3f75926253aab798f7000335105a235a13523525f5394b14f7d458bb966e66c01be061db6926a87258c8ab03e506e0faa5d2921de31ea3087f39ff6c4d5d7473e448e8db763875cec48aa0380377330bdfb3236ba98607542b01635df5b2d1322dc71be357a2034b18020105e3039b09463dab5d76a2e44f3816f61f052e4338fe3b8ec475a4166c51f662d119e90373d0167e4fdf489eca7ab0268127873cad3777f53d4db4a20cd1b8ea9988857f03969dcdc71d9e1a3b94eeba2a1376a6f41b117274d2ec2fac0cfadd5c3dd9f4680314dbe7f22db4ff104f09bcbf947e4dc238e1e223bfecebc6e41381a1166f12e403048f379f58cbff38d4c0743ace5d09849f747c3657c49b53c9184a48a826aa10037a13387f210d66ba572d6de174e38638bda04f3a16ddb0b54372dd7165c0c76c05581e03ed328748610b9027f8ae0239269d5b822696cbf85bf869d1bf5569b2100c03468c50ec321af805581e033f056acee6192cdd2296985d65e1fe202de30f87363cc77fa49d5815300c04460edec21e01b805581e03aaf77103cd38e8ecf283107e7ef9f62c75d697fdc527e1abc5ae0e41a0084801af0cfdfe99200005581e03c49c664782b63ed14096278bcfdd89ae1999116484f985ca899adbfb600c034703649bbcd53ae405581e037212cb151017f8d108b9bf7675a5636228ad4622fe976a326dc2de4140040105581d02a2becb526effba165f530318f763373e98e3637343dc4d574480898a0c06472eb78eeb42f37b05581d020359af81ae008a5e6f65efb62ba254120449140002b69675b95ca3d70c0147017c7f7e65c400021828037806df0b984bc2f27010cbd41f9124ec28b9f6f88f58da073fdacb69b4f5966605581e0335903b39358e0e30c9d4516b96b7fb673e626573418a2300ebefac3ef0084717d86dab38b40005581e03930013f0ad1b9fe8b221b89497fce51fdd0fab87b7c026592f8d6406f0040103647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038ed16de5de69c10f86dd2ae0c5b9c450eee1f5498192586dc6887b858a6fb43905581e0338876e238d0a3a9918591120f661b3cc243921a4bf097415e6b9809df007011bffffffffffffffff02198b9f03dd8d7df4d1716675121636566ccdf38ecfad3538571b37883cd368fad7cf6f1003fd1ea2b74e1bee0b4243f6b8656fe9076a9eecdd0d1c3f14671b62c3f75c5abe033294bc497d44448c17b8458d35603dfbf0e874597a748b131946757c31f8304203d2fcf1be1b31e0fce5c17b6c244629427872e458d62dbdb1a75302f8059a4ed50372d176aab73d8d7ecd65ec768b857524c01070917f8b4c0fb1f10fe12be23d1e038a70db318b9ba9ee23fb8287fbfc4ba95c0d79284c5bf13a4f85331dab291d9a0394be5db328eb92701e0724617755de3c00eb6562a4038a6aca62faead21fb41b03dfd601d64a220e688a797d29436e3f17e112043bd64c948f25f8bde20411d5e703d1426fc3e14c20a8860b0ad638ab473e30fe04566d504dbbcd96a1bd522130650219ffff0302b3067ae612713b9786f494eb5a5e4886bf5cb244132a1ddd334b28a50a3e7e0376c5e5dcdbd53dbdda42dd51ee9a4c053760a65d3ac11c3120ec1b8d7d23b4fe03c12df250205514c4920c5c85a7befd1d152781a95b375fa706c8b9c0ce1a3c0503e1498af01987d96eeb43bcf38fccdaf5a26bbeeb5210620c975e981d3392896903b5b5a2f71620224c079a2fd1e42179b9ee733c1099fa9b8e47fac4a0b3d726a203ecbc8d85672b005a560a0f36c7d5d7e47ae0704c1c9a9ee5d93b5ce05951f74f03c2d46ae1a7f1100cdf08d8ecc5fecd0448e02e008aca2a134157946498efa0b503437557164c3fca743c1f2e2e04f8a35e84c13e70edbefc60585315dc2bf34d38031e565a2e9459a925629bbd4f9a5b712ad0d4ddcf7b7bbe95e5e54517b17c16cb0219ffff03bb9f095023c17e1345ae4411d3f411f5d1af7f25670f8ae8145bce65440e0d5103cd2a6dc3e2b60d47cb4b265bcdca05a16a70493281599cb439a16a15b8c55cb703e5ea566d87f3ee51d2e7536d39bd5cb9f0690bbdcbb9f2627c6926a0f6992daf0333f5dd9b0b6130a137385a0e2e2b5b7a086fe82d2f35f3c83ea407096483ae2c0219ffff032ca2f8bb629f521abcec593e3bce6dd283db4abc10932109a9247c400884d04f03ed394084ad9bcc24c03776efc8b228862ebddb2ac400c085903c8d08ea7e684c03f19a00428d735787bf9b876cb4977da7f5b4e5b643e3e61776f46ae5896733a60311a5599e7560a2d471dfe6935e46fbf600468f71cf0b93763777eddb4d754d7603898613aae10907de3ee4ad6c57f2b817c96c7873c3c23d47fbc7b11f75ef691003c931c7a3f0b1c9d65642f07a03d99955ab0d393c7b92d414235d48fcd338466f03686993b0198c65d7a5bf1765c385cf99133936dc3331f4184b4b5227b5f675b003176731b49d12158aeab2e6c8251e1fd67d4e75464760dc6702deb96f1670d470030dfd9c860373459b121281b1098069f11194316a82535f5a38a0ee38029e9280034a951f24958cdb7048f408e3f7d9df8e2703f73ae4883032b01afff0496d8e5d0369b5093886cb75da2a29ff4b1b969dce432f4a7795bfc025c5c9fb89024b44740363a534334a1a20514e7a6075db921990ab3adec38074185d5a38c206128c018b0332c2bc6f2611f5ab0aacf3df6b2066ee445e8f5c5d4c0198d8ae1af73f9b687c0302de7e302c07e399506c17ff2c7645c41d0797563d80605d766838021bfcf77503bcb0807769ac518b8d2f83bf856262ae2ac18106897eb38c07d1453d38c9f5970336f968b7af5ae026cc5225514fe397d95ea71fb3313969d9984b807d88fb884005581e030b181f70f72131ab3714073c25aa0a6b7f5df672a3a3245619ed97a88007011bffffffffffffffff032cbbf9d7ec45ba8ee5e9b1ea4f5f6f36275e13bd0a99c883141294c53ca9e74503f68bb140a50949a236d421b62d96c1fe1707356e2e2d50b04702a56416c63072033178627add686258a7eeef8183b991bf2b7ffa310549b4df151cdceab880534105581e0380c14c3d7c3219a5473da4457f965076fd2e575908f378cd64a3529e800c0148015080179825d600032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c942034cdc1cd701e7cb71547c017312fddc178bc56e41f88a6f0311719f48cdfda42b05581e03d993eb49f53a9c319e4a7d838b58e307b5f48cc96effc53c2b53b182b007011bffffffffffffffff05581e03e78fa28814e497a759b2635c1f8af181024d42c7e6b9debbc17633fcc00c02466aa73c7c2e7005581d02dfaa788d0bf7d6ea197c06f48f8b78c9556dad4d1a2fa2cdd8bc2ba004181f04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203ac259c5af7a9fe8a12edaa2a16632f1465e645270c3608402f42fefae1505d790058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a0456fa044defc57a40ea00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0540a9058f7eae6b9ae16416f69e1b01befd94dea4c0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054d14bcaae5546226012bbf876baa66c90759a6d0d00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58202adcaa8dee5e94b0d7335f36d5f02fc64f6e7909354bfc1983e8670c03f7547d005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84e0eedb899db7e5a84acbe94163f8002184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687d6670000004e9cc15426fa7804c74e9900000000000045803581346233640058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218480219b44505581d02262530618da16ca5fd22123a05eca12a60ed621e0c584f5c49eca0010701192c1d0219400103c61f8f8ce5fe832da87d56b457b8b07816e9256c270c7f1e588e93be660893fa0308c301700759ee2c668739d79c263f4987d88db2468d4cd467cc5db37847d1c303c9640bf886b04c9c77dd6efee5f7e782940149fd1958b305885f8890a3b668bd0332bf11bf89d714dd053f3cec4759561b46b2fc953eb8d4f550b89dfcc9148a750219ff7603745b5e0ef0714e84080790e1eb0e2e81e03d98ac593d0ae70f22beec9421c2280384314c29563d40355ecac7bab7fb1c13954a32a64dac223f8ac04f570df0055603820905ae2602b4ae286889fccb996e0ed4fa97343ab2fc3311bb966f5e454f770339aa231bb02c1c8fd135de9c8aa4ec4a81aaa135163fa2d67a09fb205dccd7cc0364df36b36bc4c7d80ce8d28087fb36427e1897097e708f6c89b2909ce12909500390095729bd37e9118850153f2d58d0c354c36f936eccc6033286ece36d0cf20303975cbe6629a172db19d5e6205644555b9d215d47189294571f3a33cc0b47901a03d0bf8295f60d18e7378ad56583cd68014b4585a765a6b1c8488f7cebb06d3f52032ee3610422cee7d3d4a8c87c2df5bdafeae36a61dae9cd9ddbb180a36fcf3cf4037868136483dec9369ae538b8685b26106ddd2b931c078241da322635b9dde49d0349ac8583e956ec5804bf6d820cfbb66141ef17cad32c40088825e4d5f73e29910391a7a3a2074c5083b73103faa6579577468c3478b6db0d0818de613a4ef287e803c668f0110e570617e63a23f09b49cd1d8b1559e603d961edb337764cb5d7375d03e600d5766181822a6fe5f85ac210d3d42f49f7152048d8f2fe0698afd743605b0219ffff03b184327f5abd3bd1c0e39423342c54920639768f10bd88fbfc3a744f0f168ec003f31f68ce47b72c76fd5a9fef61c69d5c957dfd9e06034e8b0a4067ac50c6352803938c636baab8314c9a998a2a7b38f00af94c5621bf82443717aa37a2b88061b30353b56181f2ffc5322d8082215913dec5a25f7345df06f4f9836b538b0a68b48a039c1475635bdeb145aeebe703948f3d1ae109b4288897d8885a95727fa7aeec0903e50e939ac1c5e28319ac5812b6b57422fbe23df572f200adaa63cffbdbe80fe0034d53d11d2a9580b968adf0a86c1516c4a24aed7de193c444bd5406043e6bd845036c84d8324209c4d182b860da247af89784ab178cb96dcf86170c78d19e9fb8b7033cf3a9ca27f434e4e8d63a3a871f13314461163f992d1051c343164fdd9ba2bc0219ffff034335117dc432cc220e5394b1a5dacf0f78d3e4bb620edbe9a597904f370de6520363ccebd6b22a47a2870d89ff9c8bef41df5c3ee1aed2a7ad980976a96c31f3b603524cda899a24d071b0c94f84ee0b15c51073b424587a21fade545a3f2742c0e4032ce10dbd524848e2696a4aa9abb88f74e13fabdb957482ba3c631e06590318d503d4f35221b4b56b0e7a4b73b8d79e062f7488c076e00f266f3c3184990c26429003800e8a4fadfc02b79797d663254d7e869e093e54e8458cd96f99c3eb65242016035f4638fff599f93c95519dee1207639b61db60731ef8a6d935f97d950481dba80346ac877ae22b44e4211bd89003b71383a86f9104363b4651ae2f165bbd719f3f03e3c2ec9abbcd6b602d56f38dc3caf76834525e5e149d8af5d94265b3071df83d03ebcc2974bac4068dfcc39caad207f2a059403fa6561a06d69f40325e7fb17f1c03c674e454bc7fb7a27e6fc1da882199f575c52eb96751df1b5e0af558c49013d6030ef7511adcf0864b479e6fa047e635620690d18701b1cf2938f03e313103fb7a03f004f92c43ef947e9f401d51b5cb9475044c2af7f7e28a7f87d32acb50922ffe0219ffff03ad263f339041f44c14ad5f0bffd9bb94c17b3c6fbca50e45ad438f622e90366003c9a0e4830b60e1174f6df90fc43408e1858023638f05fbf7662f4e85438c48460313f364820fce31b79225fed51bfff48223b995b7b3b944fc0d52954d9d3d94cf03f76d0e8d27662a0a439058c325420b925de03bd393bd61286d098b2ee6d407ce03e643346a65738bfb0bea73f402165a58b9d24526b8fdfddb52ecaefa3e7c83cf0376dd9e272586edfe72d304ea381a3cc42444bec48f8d6ea316b4b49c5432805403bd76f8ff78341444ae0e5770d4e80ebe57fdcca01b66cf45bb05d3fe1f42d09103f63f5116d78341c9e73fc370d5871a96d5847c17fafb65eadb6fe14208f2c74b03cb0c9b87369552d916ee2fcf18ce45330ffb8538edb22d0639e25fc37e0e57840219ffff03dbe8b3329dbfb23868e2ff035637cc7b7d4ef228c783a0ec8fcd83dc056fc71c039319d2e5443e9c18550b7d7c0ad6a99071bb40ce196191f384471be4774b39d003e3f408520dd99a5c08a4d28bc5447b3d67334c035de8dfdd011a7e60e51580b10379ac59acb5d718a56c5c118a20aa10aa0ebc86d84c18f6a985f5ec2bf17123f3032b3882e1fc996d0ef005e17560120eef436cb2818e99d6c7fb927bbc8553b9f603be4ce055e74506861621108951d6a90bd05a2748201f586678d750eab0668737034c9353700022c82b33c9d075695d5c86e9694eddb0a7bd9086265c90352903e403589e23b608181e7d4bf673c3e27cc161bb94fcda68f073699bdb17dc47ef1aed03c4efc2d0740c99001a9e6b5b12f803dc3eb54cfa4f78cc2efe8e254b1c18304d03c3bfff0dfe62d92ab17fdf0366b3a183df90abf3335d2c6636a63bc42a7a05cf03552eaeada64117b36119361b84cee999c6861e12fd23c4ac3bcc6cfbcaa5c6cd0333685c0f9ef3651aabc3a26cc761b4743ebd149dd591a24447f0392fe14b88b003c17e07ebf323c2498f66f36bb97126ac67517890c8e5b78ff4145c2457e8ecfe03c51aa7d51dac42c58403aaa99b4511f3c3d3ab1ac5d67302f31d9c119f590b2e03a4ad7f85b0cda63648333f866b3f8adecc5cf7a2a48819cd5f743afae1f34f1f03595b126598bb4d4a788280c30847ee36d20ab9187ddd3d1a423d8b612e53dcec031260db0df09724ad54f1722f6edc8f8f9a776cb3c045698ef3b3d22d5fd1182803fe613d0474e1c460d4534250ccf13f96c2bf06351a0f1b1ac236e1c94aae369003a0d81f26da083da6d238d0b9a67b073a8725a07d508a8162ce13432eb13fe6730395d08143343c217437c43d7b6c4ba4739c58f10ae4644eb82fec46ab65a381ab03a667ce2db1c835e28846cf9601fcf99a179dd3b74c7547f0c98c4a1e58bb31d303fcffe94b3a8bcf350d451580064a48cf26a687bcad86cf68d514fde279f4ce1c0318ae562e818014a2ed9302fa5d0d0bcb9a6afe5d51d4c2ca54c1d17591c7a251032f30358757eb7509b0aa76c58867a177e10485d02a2c7e34d97376d90e27cf800379a8316ba1195bd4733eb6b8bd3e308546b61b55c7d2d88e695fb4810d981b9b032d8ca09aac6230d9ffbfda6f8c28d9316403ca5a8940bd8c8c4a85cbcd44989f03fe4b1a3d8355f4744e360b07934b710e7249440367d5793f11d7c15d3529204b03199fb426eaab0b64d0613c7da0519c17538a41e809c58eee49ec8b31dad83c570303ea4b66f38be7d8f7f4941bffa3777a40e51d659159194a91f6be2e783b96d5039869c34901e26be22b9c2329c283784baed227f5e00a877ce676c86b25af88f90388ddfc86f9d7e985c23d5768919aebfbf1a35b182ed532669de86f24fecb785703f946c29dcdf990abb300289eaa379d4a8132fd81aed9174fb16fe24b0342677d03b71978ad17b9e62146b2554367c793b4587dc5b7b6abd1955201a6395aad2a910348c70aa96033b07b0bdad17f51c2bb99deae4e58f24f1e6c9e6c371f71e8180405581e03e206c616d55aee89932a4b3353769c51e75642560162beca718e22b350040105581d02d84e75a74703c16e4d5d313f9ac9c29f57099600c580a3bbc670b5730c181e4660a95289a17803c7f0b6ab35a675291c50641432dd62e9193c2cfca01677fbe75e7c064282745705581d022fef8f41c3992f6a17c5d54cbf5531e490568fdd2acfacadf463b9e70c186f4914c2985f730159fb1e0219026005581e03f239db7643494b90b8ddb6137e2aec99685bdc77748e545460188d4b700847109ff1af0a680003b43ac2364e356286a1b2a7ec9d3a84aa4a3abd54a7cd16e74db46e61ffaaca1d01410303da1e198bfefe1b534ed691b0645aec8fff0742c6032f231bd4464198895bf8bd02198b40031cfd705d77f837ee4af914754d3e08e639f74bdbab971fe620afbd7b9c2926a603277153d774237d2027d36470cda3df801f9f4a4a0872bbbc991a82b19b44d21803864925533f9eb578dce51e55b264ee20e4e4763f69fee76499e6396c61f6224603888720ef179e1ae79692fd5fc181aafae0da547f3ad250f667a6f816b58a2a6b03693b5d9cd4af0ed8d1d952b9e4313f1c6a8057315f3bacb8a3c14504158c164a03a51d91ddae1d3d7bb81963c07991b00379cfe08c81aa6f2c3aa6181f2f1ed3080304d1c6d178a55665349955dfabb512cea544e7291f38af3f69ffcb2d7f0a91380382c62b702935227b1b301ff8b3e6cd01ebf3c0653903d3c07e663a4d32a027a40219ffff0219ffff031c91b5e868d903f57971e70e73c05c6dd02e599935b5430f089ff7d4e6ff391203fdc02c39b5cbad5b8ec061da0f9b8d0eae97c9f1aac7816c8199ccb59954160203c512923063641cd9e5d684454bb78bffc12882a1bf33dd1e80ba5869e86bc3a00346fd845fef7ba743dd896350563cdf9d445d4f8c72f15fb3a9684d941a7ec2240367f6acc47f7f9aba3d2ba1f7cfe2e09b86cd2bb581e054c4e70abddbf55934e503b4c4297de8dabbee7aa34c0e6fc4bd4cfb97fede9da0f743aaddb4659f04c16303bb61cf1ab6a735860a45c134ce30d40e161b3b815833a905e4eb5eca915e42f20219ffff036398609f0bd58be70352cda18c670bd6f7aaab210c3dd3d7dc292fb87268e33f039e61735d786fba5fb29c3a154278f7393e74a5492df29adab21d417cd767a0d9031d0ece2542223adb875bd034ae9ec9a527ff193bead71bcb7ee1f67ad4456eca03d67f1b8031be8bf633aaccfff22c98b4d3d19f6d6c52ad6368d6f4806e7c8c420318beab24c6a22d43257e6ae9f6b703519facb20faf640d5f8236be7b91af962f03a0cb04c7e2ae2bf997946164463d9d9e206a1ada22edb3b5eb05bdf0fab8ebdc030a67869387a1257765c28cbd325b88b692c0d526f8336816f7fc33f8945920530345f5f9e4a58f75f0c1eb78df2197977df8d48209edb9bcd57857eb5d08727229036d74c38b7b22c819bb45c67a7bdd55f49ddeeaa61961fd6336cb9bebef18970f0319078dc733de4927b61c60270712d0c33a930b47cdea2ae9f2993543c4c47bd003de4856d94a8c6ac7973401c90f253db913ac7cd259b42d7a9225a18a3098c159034d17b79b420c96a05f7d3ebc137d52d4d73ef8dca2e8ba11a44adc81cdcadb660219ffff03abcc290125c2d2f0c921481226fc02edbc063228204dff447695824beb88db7703fe40783e12c0a6fb05603441a4c0c01bef35fef99f8e67dc7dcf4b28fd6b39ea03fd195d051e5edd00724f60b4c4879dfb8ec414d758076a46f9e2985fd9cb925803305b2eeac8d85a0d42abfc4a984d3f6864063829b613b52d1bdd468442b724300372bacad39abb5539ad2f35c14a419db3b4232c5cb1ed731e4cdb1f7b7dd7bbec0388838648f577a74cff590a84d1a44e0e9b486c023c8884bf27990b5761fd54e103e89c2a1d53db33b7a9bb5b12cb516dd25a92140457ba7d6913617f7cbc00f0b403160d5497f2768491c9364914c11a7be91df1f5648ab1310be0fbd7e845ae7a5103a1a522e0e68a3afd0182f5df6e90509e4062416085cd9076e1e91445aac12a4c03f715a791c767b46b925fbc42ebb25e15f0a46a77de8c0314b73ae9dfec98fb8f03c59e6ff78da97f3dc06aa5242d3063bc0a2f60a1972dcea79a35ad874e1abff603721a2dd692df56d8d8cf020b8a7c4376cacab562e604689e80d295c00533ee9403d6cb024759301e58ad2e3a24488d950b363f7093ad1710a4245f90eb623c34b303760cc020d90ba45b58c017615990f50870c7386d5085431bbc301ef02ca18be2031711fe3496f18d4f39e210bda117afdbf5dea081caffe791b886381dfd8929a303e28e2226067822fb3ddc7a20c39642c97e4967088bc02a1ea914d59109c2ba7d03331dedf6c90a13bc20f63d745c44211eb4672d946073b0e08dde3e593e14233303b78920921dfdd10013620db1b2e6acec071e095ff7bf72ba56d21b6295e3347003b32c829b4effc664f72a4ee998d8b19d2ed502c7005fea7b3f6167f1acb5ee3c03443f89220df655444df75716194ab037ef91569e7380a2863e6d75334db1ea13034e192d5ad8049944dfaa1369e511c681e3c65bdf84b4ed072f51ec6f61e289d0038df7f80e8c2ccac828fae04554f392420adb1933d7f2c05337d8e6e49304753e0303165ac1a53e08745678988b2d08dbf1f648d99118870d9130ba2895e231195b037711b726943122b5d466ace0467b23a7de2d674f774ab3c7c83c1433176e69a303e905d2f4e617a85446359bcc7d3de05d3bd85ae86c410a7601908aa71b2ac58d0305185f2e1be0dd3a2b223107ce266adf64882888109ba6627fad6630657b64c50330a7f0de38ce6416912d124aa7c1055736794dfaeae56a00d739685f0003175603a1121f9a185cff2095e4747197e19b2bf5caadd962c4103fb968cec8a46eff2e03ccabb7b9d0398582865465391f12717478f67d1621f775c004300cc80b17596503d60d48985c712055bb1111c2d6607d92e796b7c9e7bc09659441310c2c88ce23039daa2394998a2d4a6d9c5f8e7da21f80d1f32d918c0f4c55a337464e4b98843a03d17aea09b06efdc1132f70a15d320bd1d98cca18863ab0529c722fd07bbd691c03d3715efb84b827c0c2e00752c844106ae8e20a16becabc3b94e10c82ec2acd2403c30271ddb9428afd2893df5265f8a85b8c65af9769d11e197db606e802fb53ed0313dda2c2dcb26f5480c513b32f7d7e06c5717bbefb9e25acbe1c077b6c984ae303f66605ecb3c2921a620b800ac0972c7485518a6d8a50a3c6d9abd77201cb37eb03825f0b62bb7e7aceb5639193990ec074e88c26b1685433b6a073450af1a5785f031d2a3608442f1c8a02beccd4b102bc75e1a0eb8dc53f9983a6adf570c467be5303d0cf06f192c459bfd0bfeaa072b10b53b6684f2b0e9ad42be5c823e11e5275cb05581e03055ad47cb781cecb8993e23bf0d5913e84c7cdf8f633d45e14a70914700c0546d1f084479d1005581e030d907a7a2fab7f7cb3e220d650bf1f408f1e0157d303ac7ac95c0d7880040105581e03b9899a58487679d1274b5c90fe1f0a401da6972bd56db07506c0d8ea900c01470b8d8c95e9f6b703588c1889948a85870481ec34a4cb7c9e485321859674c8e1dd2d3a1b4fdfbf4005581e0392110fba7515c1e7ba5942c53ebacc07d900e4cf707aa62ab251f9f6c00c0946a694fa342cf003c6f6d2123a8d5a56372f0914faae32e7977e5517f56a3ba9e9715969aaff11b90377498a7948c309d76fb5193eb770b9f29c1f8a951ee5ae3f8dedf8cc7e96e4370459425b6080604052600436106102c65760003560e01c8063670a6fd911610179578063b88d4fde116100d6578063d1f2661c1161008a578063ee30511611610064578063ee305116146108ee578063f2fde38b1461090f578063f577a5001461092f57600080fd5b8063d1f2661c14610836578063e27d067b14610885578063e985e9c5146108a557600080fd5b8063c0c53b8b116100bb578063c0c53b8b146106f5578063c58343ef14610715578063c87b56dd1461081657600080fd5b8063b88d4fde146106b5578063b9907174146106d557600080fd5b80638da5cb5b1161012d578063a22cb46511610112578063a22cb46514610660578063aaf10f4214610680578063b13acedd1461069557600080fd5b80638da5cb5b1461062d57806395d89b411461064b57600080fd5b806370a082311161015e57806370a08231146105d8578063715018a6146105f85780637d8ca2421461060d57600080fd5b8063670a6fd91461059a5780636a84a985146105ba57600080fd5b80633659cfe61161022757806354768571116101db5780636352211e116101c05780636352211e1461051e578063665a11ca1461053e578063667a739e1461055f57600080fd5b806354768571146104de578063554e34f7146104fe57600080fd5b8063429b62e51161020c578063429b62e5146104855780634f1ef286146104b657806352d1902d146104c957600080fd5b80633659cfe61461044557806342842e0e1461046557600080fd5b806319691cb01161027e57806324fccdcf1161026357806324fccdcf146103de5780632d01fe2f146103fe57806333727c4d1461041357600080fd5b806319691cb01461039d57806323b872dd146103be57600080fd5b8063081812fc116102af578063081812fc14610322578063095ea7b31461035a5780630de371e21461037c57600080fd5b806301ffc9a7146102cb57806306fdde0314610300575b600080fd5b3480156102d757600080fd5b506102eb6102e6366004613ae7565b61094f565b60405190151581526020015b60405180910390f35b34801561030c57600080fd5b50610315610a34565b6040516102f79190613b54565b34801561032e57600080fd5b5061034261033d366004613b67565b610ac6565b6040516001600160a01b0390911681526020016102f7565b34801561036657600080fd5b5061037a610375366004613b9c565b610aed565b005b34801561038857600080fd5b5061012e54610342906001600160a01b031681565b6103b06103ab366004613be2565b610c41565b6040519081526020016102f7565b3480156103ca57600080fd5b5061037a6103d9366004613c2d565b610e6a565b3480156103ea57600080fd5b5061037a6103f9366004613c69565b610ef1565b34801561040a57600080fd5b5061037a610f46565b34801561041f57600080fd5b506102eb61042e366004613b67565b61013254640100000000900463ffffffff16101590565b34801561045157600080fd5b5061037a610460366004613cde565b611163565b34801561047157600080fd5b5061037a610480366004613c2d565b611300565b34801561049157600080fd5b506102eb6104a0366004613cde565b6101316020526000908152604090205460ff1681565b61037a6104c4366004613d9c565b61131b565b3480156104d557600080fd5b506103b06114a9565b3480156104ea57600080fd5b5061037a6104f9366004613b67565b61156e565b34801561050a57600080fd5b5061037a610519366004613dea565b61160e565b34801561052a57600080fd5b50610342610539366004613b67565b61180a565b34801561054a57600080fd5b5061012d54610342906001600160a01b031681565b34801561056b57600080fd5b506101325461058590640100000000900463ffffffff1681565b60405163ffffffff90911681526020016102f7565b3480156105a657600080fd5b5061037a6105b5366004613e16565b61186f565b3480156105c657600080fd5b50610132546105859063ffffffff1681565b3480156105e457600080fd5b506103b06105f3366004613cde565b6118f9565b34801561060457600080fd5b5061037a611993565b34801561061957600080fd5b506103b0610628366004613b67565b6119a7565b34801561063957600080fd5b5060fb546001600160a01b0316610342565b34801561065757600080fd5b50610315611c1c565b34801561066c57600080fd5b5061037a61067b366004613e16565b611c2b565b34801561068c57600080fd5b50610342611c36565b3480156106a157600080fd5b5061037a6106b0366004613b67565b611c6e565b3480156106c157600080fd5b5061037a6106d0366004613e52565b611c7b565b3480156106e157600080fd5b5061037a6106f0366004613b67565b611d09565b34801561070157600080fd5b5061037a610710366004613eba565b611ed2565b34801561072157600080fd5b506107c4610730366004613b67565b6040805160808101825260008082526020820181905291810182905260608101919091525060009081526101306020908152604091829020825160808101845290546bffffffffffffffffffffffff80821683526c0100000000000000000000000082041692820192909252600160c01b820460ff16151592810192909252600160c81b900463ffffffff16606082015290565b6040516102f7919060006080820190506bffffffffffffffffffffffff8084511683528060208501511660208401525060408301511515604083015263ffffffff606084015116606083015292915050565b34801561082257600080fd5b50610315610831366004613b67565b612195565b34801561084257600080fd5b5061013254610868906801000000000000000090046bffffffffffffffffffffffff1681565b6040516bffffffffffffffffffffffff90911681526020016102f7565b34801561089157600080fd5b5061037a6108a0366004613b67565b612209565b3480156108b157600080fd5b506102eb6108c0366004613efd565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b3480156108fa57600080fd5b5061012f54610342906001600160a01b031681565b34801561091b57600080fd5b5061037a61092a366004613cde565b61233b565b34801561093b57600080fd5b506102eb61094a366004613b67565b6123c8565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f80ac58cd0000000000000000000000000000000000000000000000000000000014806109e257507fffffffff0000000000000000000000000000000000000000000000000000000082167f5b5e139f00000000000000000000000000000000000000000000000000000000145b80610a2e57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b606060658054610a4390613f27565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6f90613f27565b8015610abc5780601f10610a9157610100808354040283529160200191610abc565b820191906000526020600020905b815481529060010190602001808311610a9f57829003601f168201915b5050505050905090565b6000610ad18261244a565b506000908152606960205260409020546001600160a01b031690565b6000610af88261180a565b9050806001600160a01b0316836001600160a01b031603610b865760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560448201527f720000000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b336001600160a01b0382161480610bc057506001600160a01b0381166000908152606a6020908152604080832033845290915290205460ff165b610c325760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610b7d565b610c3c83836124ae565b505050565b61012d546000906001600160a01b03163314610c9f5760405162461bcd60e51b815260206004820181905260248201527f43616c6c6572206973206e6f7420746865206c697175696469747920706f6f6c6044820152606401610b7d565b610132805460009163ffffffff9091169082610cba83613f77565b91906101000a81548163ffffffff021916908363ffffffff16021790555063ffffffff1690506000633b9aca0084610cf29190613f9a565b604080516080810182526bffffffffffffffffffffffff808b1682528981166020808401918252600184860190815263ffffffff8088166060870190815260008b81526101309094529690922094518554935191519651909216600160c81b027fffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffff961515600160c01b02969096167fffffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffff9185166c01000000000000000000000000027fffffffffffffffff00000000000000000000000000000000000000000000000090941692909416919091179190911716179190911790559050610df78583612529565b604080516bffffffffffffffffffffffff8981168252881660208201526001600160a01b0387168183015260608101869052905163ffffffff8416917f52ec6b5a2ebc56de823b66702bbb52ae3c6c2859f806c7628c374f32147b5940919081900360800190a25090505b949350505050565b610e743382612543565b610ee65760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610b7d565b610c3c8383836125c1565b60005b81811015610c3c57610f3e838383818110610f1157610f11613fbc565b90506020020135610f39858585818110610f2d57610f2d613fbc565b9050602002013561180a565b612804565b600101610ef4565b336000908152610131602052604090205460ff16610fa65760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f74207468652061646d696e0000000000000000006044820152606401610b7d565b6101325461012e54604080517f3a98ef390000000000000000000000000000000000000000000000000000000081529051680100000000000000009093046bffffffffffffffffffffffff16926001600160a01b0390921691633a98ef39916004808201926020929091908290030181865afa15801561102a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104e9190613fd2565b1161109b5760405162461bcd60e51b815260206004820152601260248201527f496e617070726f707269617465206275726e00000000000000000000000000006044820152606401610b7d565b61013280547fffffffffffffffffffffffff000000000000000000000000ffffffffffffffff811690915561012e546040517fee7a7c04000000000000000000000000000000000000000000000000000000008152306004820152680100000000000000009092046bffffffffffffffffffffffff1660248301819052916001600160a01b039091169063ee7a7c0490604401600060405180830381600087803b15801561114857600080fd5b505af115801561115c573d6000803e3d6000fd5b5050505050565b6001600160a01b037f0000000000000000000000003ed97c79ded8894036da095b2e2f79f8080a9cd41630036112015760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610b7d565b7f0000000000000000000000003ed97c79ded8894036da095b2e2f79f8080a9cd46001600160a01b031661125c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146112d85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610b7d565b6112e181612ba0565b604080516000808252602082019092526112fd91839190612ba8565b50565b610c3c83838360405180602001604052806000815250611c7b565b6001600160a01b037f0000000000000000000000003ed97c79ded8894036da095b2e2f79f8080a9cd41630036113b95760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610b7d565b7f0000000000000000000000003ed97c79ded8894036da095b2e2f79f8080a9cd46001600160a01b03166114147f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146114905760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610b7d565b61149982612ba0565b6114a582826001612ba8565b5050565b6000306001600160a01b037f0000000000000000000000003ed97c79ded8894036da095b2e2f79f8080a9cd416146115495760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610b7d565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b336000908152610131602052604090205460ff166115ce5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f74207468652061646d696e0000000000000000006044820152606401610b7d565b610132805463ffffffff909216640100000000027fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff909216919091179055565b611616612d48565b60008281526101306020526040902054600160c01b900460ff161561167d5760405162461bcd60e51b815260206004820152601060248201527f526571756573742069732076616c6964000000000000000000000000000000006044820152606401610b7d565b60006116888361180a565b6001600160a01b0316036116de5760405162461bcd60e51b815260206004820152600f60248201527f416c726561647920436c61696d656400000000000000000000000000000000006044820152606401610b7d565b6116fc6116ea8361180a565b60fb546001600160a01b0316846125c1565b60008281526101306020526040812080547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b179055611740836119a7565b61012d546040517f1665f66d0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff831660048201529192506001600160a01b031690631665f66d90602401600060405180830381600087803b1580156117b257600080fd5b505af11580156117c6573d6000803e3d6000fd5b505050506117d48383612804565b60405163ffffffff8416907f8f13b46229b7bc68329da7a7aec3a926547f0cbb2e5379d36e1310e81052b8f690600090a2505050565b6000818152606760205260408120546001600160a01b031680610a2e5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610b7d565b611877612d48565b6001600160a01b0382166118cd5760405162461bcd60e51b815260206004820152601660248201527f43616e6e6f742062652061646472657373207a65726f000000000000000000006044820152606401610b7d565b6001600160a01b0391909116600090815261013160205260409020805460ff1916911515919091179055565b60006001600160a01b0382166119775760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f74206120766160448201527f6c6964206f776e657200000000000000000000000000000000000000000000006064820152608401610b7d565b506001600160a01b031660009081526068602052604090205490565b61199b612d48565b6119a56000612da2565b565b6101325460009063ffffffff168210611a025760405162461bcd60e51b815260206004820152601660248201527f5265717565737420646f6573206e6f74206578697374000000000000000000006044820152606401610b7d565b61013254640100000000900463ffffffff16821115611a635760405162461bcd60e51b815260206004820152601860248201527f52657175657374206973206e6f742066696e616c697a656400000000000000006044820152606401610b7d565b6000611a6e8361180a565b6001600160a01b031603611ac45760405162461bcd60e51b815260206004820152600f60248201527f416c726561647920436c61696d656400000000000000000000000000000000006044820152606401610b7d565b600082815261013060209081526040808320815160808101835290546bffffffffffffffffffffffff80821683526c01000000000000000000000000820416938201849052600160c01b810460ff16151582840152600160c81b900463ffffffff16606082015261012d5491517f561bddf8000000000000000000000000000000000000000000000000000000008152600481019390935292916001600160a01b039091169063561bddf890602401602060405180830381865afa158015611b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb49190613fd2565b905060008183600001516bffffffffffffffffffffffff1610611bd75781611be8565b82516bffffffffffffffffffffffff165b90506000836060015163ffffffff16633b9aca00611c069190613feb565b9050611c128183614002565b9695505050505050565b606060668054610a4390613f27565b6114a5338383612e01565b6000611c697f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b6112fd81610f398361180a565b611c853383612543565b611cf75760405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201527f72206f7220617070726f766564000000000000000000000000000000000000006064820152608401610b7d565b611d0384848484612ecf565b50505050565b336000908152610131602052604090205460ff16611d695760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f74207468652061646d696e0000000000000000006044820152606401610b7d565b611d72816123c8565b611dbe5760405162461bcd60e51b815260206004820152601460248201527f52657175657374206973206e6f742076616c69640000000000000000000000006044820152606401610b7d565b61013254640100000000900463ffffffff168111611e6d576000611de1826119a7565b61012d546040517f8a1b58b10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff831660048201529192506001600160a01b031690638a1b58b190602401600060405180830381600087803b158015611e5357600080fd5b505af1158015611e67573d6000803e3d6000fd5b50505050505b6000818152610130602052604080822080547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff1690555163ffffffff8316917fd1438bf0c355cea90a9b9659e0a0455232d0e6da85797802b4c73778f1e35f1391a250565b600054610100900460ff1615808015611ef25750600054600160ff909116105b80611f0c5750303b158015611f0c575060005460ff166001145b611f7e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610b7d565b6000805460ff191660011790558015611fa1576000805461ff0019166101001790555b6001600160a01b038416611ff75760405162461bcd60e51b815260206004820152601160248201527f4e6f207a65726f206164647265737365730000000000000000000000000000006044820152606401610b7d565b6001600160a01b03831661204d5760405162461bcd60e51b815260206004820152601160248201527f4e6f207a65726f206164647265737365730000000000000000000000000000006044820152606401610b7d565b6120c16040518060400160405280601481526020017f57697468647261772052657175657374204e46540000000000000000000000008152506040518060400160405280601281526020017f5769746864726177526571756573744e46540000000000000000000000000000815250612f58565b6120c9612fcd565b6120d1613040565b61012d80546001600160a01b0380871673ffffffffffffffffffffffffffffffffffffffff199283161790925561012e805486841690831617905561012f80549285169290911691909117905561013280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001660011790558015611d03576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b60606121a08261244a565b60006121b760408051602081019091526000815290565b905060008151116121d75760405180602001604052806000815250612202565b806121e1846130ab565b6040516020016121f2929190614015565b6040516020818303038152906040525b9392505050565b336000908152610131602052604090205460ff166122695760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f74207468652061646d696e0000000000000000006044820152606401610b7d565b60008181526101306020526040902054600160c01b900460ff16156122d05760405162461bcd60e51b815260206004820152601060248201527f526571756573742069732076616c6964000000000000000000000000000000006044820152606401610b7d565b6000818152610130602052604080822080547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff16600160c01b1790555163ffffffff8316917f785e8e7d6014e174f050f6e4499adea51c4595e705b1b71f79a290d87a055fb491a250565b612343612d48565b6001600160a01b0381166123bf5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b7d565b6112fd81612da2565b6000818152606760205260408120546001600160a01b031661242c5760405162461bcd60e51b815260206004820152601660248201527f5265717565737420646f6573206e6f74206578697374000000000000000000006044820152606401610b7d565b5060009081526101306020526040902054600160c01b900460ff1690565b6000818152606760205260409020546001600160a01b03166112fd5760405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606401610b7d565b6000818152606960205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03841690811790915581906124f08261180a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6114a582826040518060200160405280600081525061314b565b60008061254f8361180a565b9050806001600160a01b0316846001600160a01b0316148061259657506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b80610e625750836001600160a01b03166125af84610ac6565b6001600160a01b031614949350505050565b826001600160a01b03166125d48261180a565b6001600160a01b0316146126505760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610b7d565b6001600160a01b0382166126cb5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610b7d565b6126d883838360016131d4565b826001600160a01b03166126eb8261180a565b6001600160a01b0316146127675760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201527f6f776e65720000000000000000000000000000000000000000000000000000006064820152608401610b7d565b6000818152606960209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b3361280e8361180a565b6001600160a01b0316146128645760405162461bcd60e51b815260206004820152601860248201527f4e6f7420746865206f776e6572206f6620746865204e465400000000000000006044820152606401610b7d565b60008281526101306020908152604091829020825160808101845290546bffffffffffffffffffffffff80821683526c0100000000000000000000000082041692820192909252600160c01b820460ff161515928101839052600160c81b90910463ffffffff1660608201529061291d5760405162461bcd60e51b815260206004820152601460248201527f52657175657374206973206e6f742076616c69640000000000000000000000006044820152606401610b7d565b6000816060015163ffffffff16633b9aca006129399190613feb565b90506000612946856119a7565b905061295185613272565b60008581526101306020526040902080547fffffff00000000000000000000000000000000000000000000000000000000001690558115612a225761012d5461012f546040517ff3fef3a30000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201526024810185905291169063f3fef3a3906044016020604051808303816000875af11580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a209190613fd2565b505b61012d546040517ff3fef3a30000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260248201849052600092169063f3fef3a3906044016020604051808303816000875af1158015612a90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab49190613fd2565b905060008185602001516bffffffffffffffffffffffff16612ad69190614002565b90508015612b37578061013260088282829054906101000a90046bffffffffffffffffffffffff16612b089190614044565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055505b63ffffffff87167f4ed779dfda2dd4cb90349b61fba6c125f68e3246023e6109203ddfa8db61ce05612b698686614070565b60408051918252602082018690526001600160a01b038a16908201526060810187905260800160405180910390a250505050505050565b6112fd612d48565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612bdb57610c3c83613322565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612c35575060408051601f3d908101601f19168201909252612c3291810190613fd2565b60015b612ca75760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610b7d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114612d3c5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610b7d565b50610c3c8383836133ed565b60fb546001600160a01b031633146119a55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610b7d565b60fb80546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b031603612e625760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610b7d565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b612eda8484846125c1565b612ee684848484613412565b611d035760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b7d565b600054610100900460ff16612fc35760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610b7d565b6114a582826135b0565b600054610100900460ff166130385760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610b7d565b6119a5613634565b600054610100900460ff166119a55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610b7d565b606060006130b8836136a8565b600101905060008167ffffffffffffffff8111156130d8576130d8613cf9565b6040519080825280601f01601f191660200182016040528015613102576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a850494508461310c57509392505050565b613155838361378a565b6131626000848484613412565b610c3c5760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b7d565b60005b8181101561115c5760006131eb8285614070565b60008181526101306020526040902054909150600160c01b900460ff168061321d575060fb546001600160a01b031633145b6132695760405162461bcd60e51b815260206004820152600f60248201527f494e56414c49445f5245515545535400000000000000000000000000000000006044820152606401610b7d565b506001016131d7565b600061327d8261180a565b905061328d8160008460016131d4565b6132968261180a565b6000838152606960209081526040808320805473ffffffffffffffffffffffffffffffffffffffff199081169091556001600160a01b0385168085526068845282852080546000190190558785526067909352818420805490911690555192935084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b0381163b61339f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610b7d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6133f683613930565b6000825111806134035750805b15610c3c57611d038383613970565b60006001600160a01b0384163b156135a8576040517f150b7a020000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063150b7a029061346f903390899088908890600401614083565b6020604051808303816000875af19250505080156134aa575060408051601f3d908101601f191682019092526134a7918101906140b5565b60015b61355d573d8080156134d8576040519150601f19603f3d011682016040523d82523d6000602084013e6134dd565b606091505b5080516000036135555760405162461bcd60e51b815260206004820152603260248201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560448201527f63656976657220696d706c656d656e74657200000000000000000000000000006064820152608401610b7d565b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610e62565b506001610e62565b600054610100900460ff1661361b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610b7d565b60656136278382614122565b506066610c3c8282614122565b600054610100900460ff1661369f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610b7d565b6119a533612da2565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106136f1577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef8100000000831061371d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061373b57662386f26fc10000830492506010015b6305f5e1008310613753576305f5e100830492506008015b612710831061376757612710830492506004015b60648310613779576064830492506002015b600a8310610a2e5760010192915050565b6001600160a01b0382166137e05760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610b7d565b6000818152606760205260409020546001600160a01b0316156138455760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b7d565b6138536000838360016131d4565b6000818152606760205260409020546001600160a01b0316156138b85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610b7d565b6001600160a01b0382166000818152606860209081526040808320805460010190558483526067909152808220805473ffffffffffffffffffffffffffffffffffffffff19168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b61393981613322565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6139ef5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610b7d565b600080846001600160a01b031684604051613a0a91906141e2565b600060405180830381855af49150503d8060008114613a45576040519150601f19603f3d011682016040523d82523d6000602084013e613a4a565b606091505b5091509150613a7282826040518060600160405280602781526020016141ff60279139613a7b565b95945050505050565b60608315613a8a575081612202565b6122028383815115613a9f5781518083602001fd5b8060405162461bcd60e51b8152600401610b7d9190613b54565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146112fd57600080fd5b600060208284031215613af957600080fd5b813561220281613ab9565b60005b83811015613b1f578181015183820152602001613b07565b50506000910152565b60008151808452613b40816020860160208601613b04565b601f01601f19169290920160200192915050565b6020815260006122026020830184613b28565b600060208284031215613b7957600080fd5b5035919050565b80356001600160a01b0381168114613b9757600080fd5b919050565b60008060408385031215613baf57600080fd5b613bb883613b80565b946020939093013593505050565b80356bffffffffffffffffffffffff81168114613b9757600080fd5b60008060008060808587031215613bf857600080fd5b613c0185613bc6565b9350613c0f60208601613bc6565b9250613c1d60408601613b80565b9396929550929360600135925050565b600080600060608486031215613c4257600080fd5b613c4b84613b80565b9250613c5960208501613b80565b9150604084013590509250925092565b60008060208385031215613c7c57600080fd5b823567ffffffffffffffff80821115613c9457600080fd5b818501915085601f830112613ca857600080fd5b813581811115613cb757600080fd5b8660208260051b8501011115613ccc57600080fd5b60209290920196919550909350505050565b600060208284031215613cf057600080fd5b61220282613b80565b634e487b7160e01b600052604160045260246000fd5b600082601f830112613d2057600080fd5b813567ffffffffffffffff80821115613d3b57613d3b613cf9565b604051601f8301601f19908116603f01168101908282118183101715613d6357613d63613cf9565b81604052838152866020858801011115613d7c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215613daf57600080fd5b613db883613b80565b9150602083013567ffffffffffffffff811115613dd457600080fd5b613de085828601613d0f565b9150509250929050565b60008060408385031215613dfd57600080fd5b82359150613e0d60208401613b80565b90509250929050565b60008060408385031215613e2957600080fd5b613e3283613b80565b915060208301358015158114613e4757600080fd5b809150509250929050565b60008060008060808587031215613e6857600080fd5b613e7185613b80565b9350613e7f60208601613b80565b925060408501359150606085013567ffffffffffffffff811115613ea257600080fd5b613eae87828801613d0f565b91505092959194509250565b600080600060608486031215613ecf57600080fd5b613ed884613b80565b9250613ee660208501613b80565b9150613ef460408501613b80565b90509250925092565b60008060408385031215613f1057600080fd5b613f1983613b80565b9150613e0d60208401613b80565b600181811c90821680613f3b57607f821691505b602082108103613f5b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff808316818103613f9057613f90613f61565b6001019392505050565b600082613fb757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215613fe457600080fd5b5051919050565b8082028115828204841417610a2e57610a2e613f61565b81810381811115610a2e57610a2e613f61565b60008351614027818460208801613b04565b83519083019061403b818360208801613b04565b01949350505050565b6bffffffffffffffffffffffff81811683821601908082111561406957614069613f61565b5092915050565b80820180821115610a2e57610a2e613f61565b60006001600160a01b03808716835280861660208401525083604083015260806060830152611c126080830184613b28565b6000602082840312156140c757600080fd5b815161220281613ab9565b601f821115610c3c576000816000526020600020601f850160051c810160208610156140fb5750805b601f850160051c820191505b8181101561411a57828155600101614107565b505050505050565b815167ffffffffffffffff81111561413c5761413c613cf9565b6141508161414a8454613f27565b846140d2565b602080601f831160018114614185576000841561416d5750858301515b600019600386901b1c1916600185901b17855561411a565b600085815260208120601f198616915b828110156141b457888601518255948401946001909101908401614195565b50858210156141d25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082516141f4818460208701613b04565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122004a2ecaec3e896fdeae82fbe75113e387de6f2a321a5371219380e7f01e7f86164736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d020bdafdc2569c96f80fd714cdd317f3ccd2b99272745ca9222a3969be070119425b05581d0235ffd7dc3747dc8f63662adab1c0591bd3c119c141d3ec32069a11d40c014649a0ce048e000219400805581e031782b81496b6c0784e727802eba0c41b19e67e3084e1a64e481a962eb004010219a7cc0219ffff038d0d6587671ca293b9d21268c6b4e246ab24b93a52975b277debe51e403e0ec3039b3eca531733b33e7d3223f41fdaee29959e4d1d4d791697d293af10ae460a67033e00d56037fded4682db4ec8139794eeccebe1697cfbe98110036c6b73b290470219ffff03cbfc9c91273e6700b040ace80629470d27e1ea74336ff6ef0cec251f6c2cc98a03c6309b534f3c31e4513a8c70b484bb65badc099f90c5d560d3ecc4e0f03e9de403680cf65483265abf740fe36fe361ec9360e848df5deded39e81900b148c0811f032ec9ba5f423ea5c66c3e3fecc7ea2b075107ca26d3a52b0ba096973502b1c00f03af743545db3fd701ca58e90cb1ab081d9d413409a38c84c8778e951f79db246b0219ffff031f4ef53146ed3c22b382aaea9f456d84e09895857886ed4731612303b912c7e103448cf47d337ceb9658e730694aa42c320c6e0ec24fbb5ba05f621f16daa4b77303080c2b046ebbc9d46a209aa605de6ad82aed8b7351564932e2cb5652f75f653a03cc16ce819d3789a94c8d496d872779c03eb47bf2cb39e87fc9bef79f5fe15ddf0310c924d91b1a7ac118bf3713e5b00b967a1ee69722fa488303d570fbb7485e9f0307bfb9c3c4bba0dba75d5babc323bd0f7157be8266ade6ff87ae366d158223a803d17b70bda676555a54be6c8a26fc545aff1610ee8545d69a4b3144a8fa376675030d870d4241b651db39e9a992b0193fa5d3137eecac5f423dcd4965e542d78c9f036ee8d2697334df324a1848dd8de9c4504655ea495115211657cad8e2772ad70903356bfcd2be353941028bf8cf766e3445c6890ff9f521f021147e740e8601f257037bac4a25a4a27239bb9c8ff1af1de4f35199369ebe999885dc0af835cb1e68850341177ef216c1ded5e3b9d1c2dda374eaca23fc73667cdc58bf96b5ccc4d052d503ed28a08d2f2d1c74cef073df06532a1054f3e3a02379e3b40a043c52917630c703d72a9a7170bd1df942b1b827dacce173c38be280a99b22a2380e96dc28e31f1503f48d78402b5027ce5214d4dd01d07d4ce503427acf6515230cce5c523dbf09660343c63cbc9ba40437a152ba4afe66cedea80938dd3830d63187c8bf9d9417b0020382012efd924355cf676265605b263e0a0adddf16400d4785dbf4c65bbc6a67c103b8d66e13d1b881e4aa7cc2b2c0225c952c77ba7b32756059f9fffc7133b93a900343d9d7366b30f83cb831878765e78c3f0273f073a0bdd6e4897caea5f0dd0d17032a8c3ac73f1ff0b68dbba1f50d9892051faa365fee6d7bdc4e22a59e4ac06b6403c3ea4d21fb0a99aa5309439bd13b8135c8185c0e57c0bf579a844894b727def00323e1d58f3907e1afa67195f9150f36b934d526fe5879b869dc4332120f0e00b803a867126bcf44b30da921db6de1016f69683251282748cb9a5af2b77f6e53b8d20334e52664c7b257931b9d08c8a24baa2405a6d65e35852c0d58efc5ac8783439b03c5f2797eb946a58016d6341aa66f2f09e841fd8ba8e72e001bf5db7988abbc3e0337582c6e2f5212ba376e95b9681210c907a14a28895ae387e2363ab40589b9600316511ceaae5fe7865b63a5c182d1afdb6cba4b6fda5baf118abac651b26d609c03a1ccac89e9971349e21deca49f7b7e144159248ac404fc35133ace58c81b23c10371337990ce3400fa7dcb9808755360af409e361d324ad4cba2aaeb080f5ddfd50332a21e6689bd0488f99e9eb699ea5444a7922a550f1429d75c88a1ccfb318724036f2b121b9d30d1f3d994c89bf387967b6362c2d01df72d5c9183d801bf2b14f60301f8e132a79b8e68515bb38f9aec1a8dbd997ee23233775e27d4b24b87363afa05581e037cd090319c4e18d874471136bd053d617e0eec7ca6cc3b91d6cd8299d00c04464cc2ac6a16000459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000018f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000006461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000006462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8b613b86565b8715611aab57611aab7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec78b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f000000000000000000000000000000000000097451ff859c3282305ffa26a9c581565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec79087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000181565b7f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec781565b7f000000000000000000000000000000000000000000000000000000000000006481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9b1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec716939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b9450614bba60058c8b8d8b8b87898b60017f000000000000000000000000000000000000097451ff859c3282305ffa26a9c561513b565b93508415614bee57614bee60068d7f0000000000000000000000000000000000000000000000000000000000000001615325565b8315614c2057614c2060068c7f0000000000000000000000000000000000000000000000000000000000000001615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a035e476ad7305b792b1ebd1fda176e14c4785b04a9f7adc5bbf8749d75534ce81b03d34c58678a8cf4b0f3efec17705c63587b3898a6a479f608f82c2cebccf3793c03b6202d927f61f6e64810aaeb9e29d0936e2ea98de4f4e06cd00796b825cc40e10310a5dd4882e440fc8ff29f00ccc20e8d70d04a61288fe278bcb4dc19a427caf803a7408cbea37a90a3b6d8c5e294221569c80a7abdd8af0bf4522fdd7436f6ebb2030138a801f3650c70c59fdea9435c37de733fc1d8d2d79b9c0e494aca5f4ac35703726d4ca481a68331ed7da87f11923277b6f1c4673636dc53180f8cf7ef628ef203f81148522f6cc1e03b8604e676e96c4a58f2de36dc745cc37f9ff4a0c8b72d36031e225e1a873f4e04b985f0b2bea8935dbe3c3b59fec4911756a64d3dfe8ac2b403e666e6d1fe924f00e63a349fde01a905ee619862e1b80e8ac22db9c6fbf2357503a13f282dc70e80e8b0cc2d3c1d02cbcd4601c4cf5a1471d9f937e79ec991cda100582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000fd00b2000000000000000000038f0373ebf90dbf7ab58200582003bb23fab657fad73615fe8b8c13bbff5bf9d58cb1dbe8dd219012418c4e20d04c63a13783c1e954dfb54cf76b005820031bc6eefc8c513f2d264a59d50366ccccfffadb83c8c4ecf40a4b77ba1eb0104d1e1c3f617e58303a00edaada89005820033b3cb666c565a3768e31e75320a4604997efc83507ff60e793e5fc1603a6a04d075257946fe65b960ca62849860058200362818beca8a0bd132b1de7ec07198dac07737b3f60d8a84033ccab8de950704e01cb28aa5a4ae31487dd07293225038fbb9a7e6be242d8eb412ea7eaf95de54c80432654d00d42c305d9d12d2f0c1c00582003ceea686254e651daf805bc215c9a65b1eb24cce5dfd7cb2beedd7eaa6a37904b01e7895250e41d537ab15900582003c3b2bbdef4f1db1ab9e45e42f161a24c86446a038aab81c553746b4d7c47b04ea1cb1d7d9d7baf44bdf3175ff2c602199a1b03c44e2f68baf9ed671dd02ee673b96c5c26839183630e406809ee35858d5114a1036ea3759cbd1459dc9ccb38c3b5d5377bbee87f690b54844e432abeae1392210f03f8942542586e4268e46f78695d295c4bf765212faf7cc602aca6c9ba5aa161f70341d7a3c39f05b4f82b2eea4386855745eb3ef4f405ccb674905e65aaf99486560309978fe27a045697a69e3cb74f19aa6f911525a527a06a8519aea66b35f7dc15038ad112d3ab56d62474b1659d16f39fef836ab5fc5521d4574814a2ab60038ecf0219ffff03c1bd7a667291452758cb13e231768e6e694cbf0433f5980062766310d8a1ad2203be36336b166d776e477bb9a87015172582ac63d6b224788ad0590ce84e596b5f03f2a07f72cd3c44cbdb3f15ad49bac4ba791f2f97f5c3512c6bec15aa7d034a6603fb86e2c2e0790d6d3fa3deb1e4890e7ab448df693660d74475b965d8c15f2b4c03b16983694889397037c32d384c5a042e176be5c8322e3f541ee48cff940a5d1f03fd6f96534ffac48dbe2cc1c35dc4dcdfeef204d3c245d101ceec844237bc131e03cddde7833dd399a01a468775b92fc560645355eebdd770fb7993d3faa0a54b950385dd5d18cd3d19af4b9889d73771f22065b898cdab1d944a1a29706708f191680393c4df7ca5d332f3fa21ec705530dabadf0302f4900d667ff89e04f7b38237950381a4e86034719a736c8c20895e0fa2fb84cefa2c2c471fb2ffc6267a9c44762c0367da9181b65df2aa8c20e4235029a31090f0613ca8d11490483bdcb072166d730355f72a65e8b21bdc7ed5fa8a1414c80a4df4867807772c28b54a88ef6039f3f503c973064e85951b8b7060a3fc6a14b3cd6cb719bff7bb024232ea37f82408aa4003f181c99aebda268a8c29c3ad47087d29600f589eb09a8a0c6633ae1884b0061b037cd22eb305bbdbf90275903e2b0f1cca67ade18b87cafdcfda905c8b4219f9de0058200314e9cba992547a96b5caf5e5d9b5d8bac97d3c83f5b257e918307ba825c4e0517149dc82d32700b1640b85d9fdfc31e01403fcd8e77b658264be5361a86e7f776cbc3552924906316d4fd39990473c64feb700581f025250e6943f3c11246924d7c69da50292dd3477879c1f387fe23604a812d44e1030b5b8faa28f32150bcff91a9800581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b480356528dca37801b02182403b396c14815959d44e5a8334a09fc2acd2ccbe62b88c64fb2a5bdeb745dc65c4b0058200393b886f1fbd3b34a7c3fa23d05332b0daa448e76641d99d898a3565d8c2e6051025f30db010cb586b95e358e99ee3f687e00582003e044ec2296ef9d540b85be4e4f63728694135be0fa68651315d10feabff3305820010000000000000000000000000000000000000000000000000000000000000000582003dc03c6a2a62372d9faa25ee63354c8d9a89df4b911e5595e6f2d40da092ff04b031a90c851eb1749926b3800582003fa82be682f55938a920f6f1b33b5fa1d89e25009d4bcb596e1130932655c10501ce3434e146987f0e3833dfde425b4ba00582003bafe2685f806abfedb5205d92736c29af9be262f0f85c88c4b0f45c273d6a05820010009df14000000000000000001f0d2b1e38bde52033de454ffffe29d6e61bc03688767a85960bf3078877031c594580bdfba57d08872d818252ecb97d37249f002195a7d031feea02e725db7bb66a0a807e3b4178662db74eb273c270c8b2c60374543cce503ac229ce09a00ffe36431dd7b1a37f829d3740769ef1998c1cd508c647cdc586703049a753bdd26eb8e7da0277ca675aad28a6b2bb73f0bb3573503b7ae621ee088036aa735653f202e4adb4226b7c6e5e77aedc2e1cfe54b232a3d4937f283935c7d0328f1123824d370fb5df06a1fe33ac137f1e6ac6380b961dce9a832c215ae6f5c0219ffff036b6bfaeb775c26b7f060190e19bd7b7c83723dbce8835e999ebb60727383d4fd03e4be394075a830a4ae5dfb53306d80e768e528c7142a31c37f65fff62645c8c9036543a18ac45b60cb18a0087d010c7d2770ddb65abe736d5fc53124438c1bf54a00581f02d96435e81d677cdd16158c8e570994e2d6c6eee679fa345d81c794afa8cb4b0af45b15761c24e5cfef6700581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65203330c0034ec8b23dd2d6318e8d6b5547c1e0219400803358340da3c7ec07c33931bd46b032a13ae56df2740a3489509abe5375283009c005820030d3fde4d59490c6ad9fc30f456ecdb64af100db92bc51403a8643fb8da8e704c04177d42bd2b265d3a40b567005820033516c99e76c93b5084540d374e39b17b801f28612c5cf8dc6557718265f3b04e03de27d72e8833dc6e3e060277a6005820034ffa2a7b23ec762c530289de15d68d467e00e6f9f56aaff3d50bb2fb9473104b0db7fe719fb637a10c0fbf005820037bf7c04b9d863d5e56c986764588dfea162d50a30ea5b776b5a89ac0645ff04702445f59e8e2350344f6c5a64ed5537bcfec8779032b20680be2a1eb906ad7effc9c2731c0f346c602191c53035862852d5f84230b448995141bf091b5872a52786901acb0f1cb07f6cd09a512031792d0e2e1a5193e196c470652fddf34cc6c630a2b6e43d178c80eebf5956d7903cc01e9a6ae67d1dab5bc070e24ea826ad127c58ff1f572ae0f890d4996572ef503f0e010fe5ae3cc26aa75289105f1ed1f697a6f5478ae753cd89a7dded67dcc3603ad473042ba4b4516a6b703f810942ce4465930d8eef5230984de6241e5b25d2103524897d049da5fa97a3ef2d7ea7c4b8124b494cc09a1eec1bdba8ef5cc48233f0323c9e00b19a8e5c14cc0d082046b7958608df5044cdf5fcd8a8cae53b663e391032ca43ac7eae1e3564395faa2b45abfef56d0e74674b0905da1d3e107cb8dd7e70360e7748f0b2cd3a5a3768f2aea5e052b657dafd28daa67c2233466aae535782c039fa389e1d9af7f510eba6d78d9533c89b0992a6cde36295d38b7eb4b07c063bb03926742172b2c44d9b7176e421c47f8ba0ee03a96856e0c36c2390609aa63cd8b0346b0ffe3fe9a5372b5eb6f34de2db44f741eb0145197fa11c239c9742b51f93903e223eedadf349629d9ab5c7206e9a8118891b3c0d3b685d64eceb2850aa43d2e030596455f950be6c81914f83d8796d30ac2fd6131595b169cf84216bbf7b0f3f800582003c966bdb8e8ffa7ba91063833b514acc2982ef6fce57f52dfa6198df25e28504e08f0abd7db9cdd85adba8174527e033df40638782019d1827c48174397db3ded6677bb0bdce059a8add9e4d66f075d00582003b8b4437a399fcdbf3acb7fb2e6d6373b6d3585f43ef044e3ad9ef297a879204e05fb1058e65a547653d36c57105200582003a14f3cf0029087fa3a897894e89a87184b9011c3a7539c376888dc432c89b0581805000000000000000020001080000000000000000000100003b2ecbb0b27a4768c7b36c15a88f3b0efa5178ebcb45315bd665bb1904c6ce588005820030841762299807d77015380dc116e81bfee36c6b065aa54ac2a642592bdbd404a4f81273034e99b6d2fe100582003071bf9e8721f348fb38d2d5223855a80753080ef5b9b6f3405ad292d9ffb20461dda24e70a0e00582003a09b770b42179fbcc6d1359c0eaed95b23539c4928622dc175c8c2d52b61f04e09382b41653d11567b6faa94f34d038bcac0013e84f2c9454a0e1f0739d0af99aeb9348ec5105fd9d76666d570c41900582003d4a05e3878cb8b30b1f1fa423e2e9c18b63f319bd87576a7b6fc936d0f86a04a392609db60b0a85f55e00219ed370219ffff030625c5aa5f20c8cedd51d8c273f8637f9a8ca0b03803e59919a348784d5666bc033ebeb22b57a9b82dc07fb30a566e019315da7f6cb64c05791a8bde254619af6603abcd9a904f97edceca6ea6f6cb49494f18da171d204b0648c3c323341b9618880351e27ddebffa06428f42109e4ef3d98a9ef6a18d713f253fb4b792fedca0d75d0319e8da0c5741bf36fbcfe2cbf993208db662583e22a8dc374f36f15ad2c738f003671f2f34b2dfae05e81829de5d291952b90a8e29a568dd6038f3125dfd014cfb0342531089dce158fa60008d43b301e611f6cdafca2ff26e2e6565d7767682c9860058200361c60a5555e3c9863d745b16d4272ffe7e638147a819dd6bc98309cc027d704a8ed37fe14e52c7cdd8390058200337b3a598cf16faed09292bb69c6df7ceee4e48f0ae42dd0027b4e853ac05f0517801028ef575eae70ed4350acc5cb5d35e00582003db63996237cbc9d7901c28be9b47825609714f8e7960b35a5935ae875f5ef04e05e386d87bf22e28788f089dde65036999a37f8bb6ee47fed4e460955c4ce0df5c611f838145565a4421dd718c34f500581f021e5d1afeb629122a8ad0ed01d231d1a1f6155de56f33d0f3160719c43319581c1000000000040000000000000000000000000000000000000000000000581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820010065520c000028ed496c293650b4186e268a12d4fff73d3a1471f06687db2f00581f0256194131fc37cf5f333b78c2df940afe88f7701421c88a8ad4e5f86920454e02e33554955d18bf4a7d653ab49c021920820219a2310304f071a52cd1f01d79dbef468211409e9d83e225d768859254f834a626b6618b03bd942d0f0dd183bcbd4cae84569db19b29cdcaa394c40b22b1ff3dcbac9492f503e43f08471be0f387e4640e8aecc0cfa92f5bff4ff121bc776b50d51d71c9728703abcf78a3f91840a1434918fcbf4640ec51af65cd0d01bd0bbd4606ca4159368403c3dfdda9a4d4a6f552882e178440ed3a28f918b201aad3be5d57997b25f51e7a03b6012a9b96f914e63439078e8c61ed6fdb95596d874ebe58f90ff9a9f76b79fd032bf4fa79d59de1a8106b3149ad51e52793b13b3a2d6d3a20340f8e0cb681da6d0384038021f11feb6dd05e922c69218344b3466534f852e5040c573f2c86f405960372d3ffed235449c73d36f97510016591d8f24c86b8252b71aff7791a2948972603df2869f630a9b72d1e9c02a8f088ae9c66f481cffbfcaa4f37de15a3cbcd13700388d84855f797812f8d9149d7fe7e3057ba86bcb82dd627e06243924b8998010a0392acb25f66bb38f3956552f8a47f68214a9bc6ae42d5dd9f34438faaee16bc7e0219ffff0219ffff05581e037590175bcd67854d62e6da4a326b58f88278824cee574cdcbf57ca94c0070119567e05581e0393b1bfc337bfc17148a5ef6c710deb97416a2bb6a8b5a63c560fde24500c04466497bf4ced2803f77ac5bde21bf8d761d6307c072b30e58ba4f0bfa92006aa714494f090d48f7805581e03661395df127dbe4fdcc40c423049b942b4e59d4d6ae1b2a39c5cbbe0100c0146d81b871379aa03980f9c9009c8a51fc2f712c41766df04731537d76a1acb38d581843572df556103009ae4509c6c60e428fd070fe8d71fa8efb760c4d8b9ca540390a3ae45fd0ade03a14b4631161f7dd75bedb32a9c74fa203afc7c4948c37402aba743982d6ee05605581e034202e04a0c2c46e78062c2178c3a8073580b04a933948687ec74f051b007011bffffffffffffffff03df26ab5514699ba9d6e66ce5d9191936dc11f4fdf1a05dc7c691965ca249265805581e031b7cadac4c95c06b1308528013a2c0051b167d1f959f1b8719325459300401038dc98ff1a7c0e5d5bc5af4199f369a37c738cd40d166bb3b49c8684fba710cf80141080219a6fb03a084823c217a53a36ff76c83511101a56e71ca803e86f0e574f0c59d2b4ff5430219ffff03f01e68b5f873fcf3beeafe242c756f2923d7ee62f16dc8d81ed962f95ed514e0037faa8c22e018f46aadbeb3773d537ab321726c940e060b8ba892c23efdf06bc903c66f906cca925aff58b1b9378ed04c6e5f3ca1e2f5dc47dd47ef998344fb8f38030d6b17a185f2867187cea3e5a5c0961e14cd0e161044be1a1f3fc14f8db197f703d80be024f09251dedc38697d209ad337d65818861cf2cfe0a628affb69a8045a03939bc2af1d7809b7a5c9291824171244e844d8518004cd6e6d3f16fbb05c337603f5e8ae90f4af7760051a09981cf1813c601d4f7cc4f182f0e671e51b454ddab303b320438486979501165e2b93f73f8cd55c3e634099cd707bf07d5d31da3b6096032fd83f782a4acb07dbd4b6f5c206c94804f37ae2005a0cc551e686259233e8950338d695fbe811fef7c251a315d895455a30fb61428e8382682b83e316b897f966039e1a4f67dd12271ebaf49b505484c7efbe42b8cd0850dccb8d8c09d9e16978e7034982bdaec8ab0255d0bef10cb137cd90ffd153138fccd770e244ef93a96a8d960383a2392aa56b247e13087d1c400c7752ed083053daa74bde260ac340b6aa635c0219ffff0370eae395bee0097b967beb7131b733a84c6a93a7fbd9fcc284db0fed7a71026a0321fa2dc054ed62ab51e6760815fd8dd3aa1495eb211706ff11dabcfe8eb592f903d6ca15686d0be9003b0b5adab0465f78c2e2069fb5bf99b2241f61a257cba05c030d74367ed17a45230c8df79d99b1f5d498ab0696bb817dd24ebf0743e821e4c003a8a3258110d61b676a89d67fd15bfd7c535f0d9a914d7a7f46dad149e32354180341542e3e003380fd0a7d02a80f630996b2dce9eb63f4bbfba38df0fc8c1cae830346bfc12ffcb72cf6153265e56f3fd4b4e6914676885ce022bf8ed600c736f43d031771a0ac4a0ab7b16f75a85df72970431cab2c0d815ed8dbd6494653bd62b6f203f8591c6ce7298c9c039cdd96460e558a05c0b33f5e921e469e9d5ddf2d2868c203c4b6ef63a7bb8c49576fc8ba7296398fe31961464f27166a6e9c4f1beb3c15790219ffff0390f98d6f263ed43aa22c08a13ca98ab74bf2f70244532b8b899c071e565783240369c22714fa414096335353ff14e658192b80cb845d8938e2285f078822aeed930219ffff0308f80eb06745456efcf67fc1fe33de78c98d689afdaba3aa51420e873924e323030d320be07942832543f19983cb3960d76a0edf73ad8af76505684e196bee285a03d9a224078cdca803a82b9274fc4ebcf8140b4c1b5198b9fff3ae07a1b04c9f0503c339449255365cea735b1e70341a03dc01e6ca9d8774d0ef1f7777541c1f3eb9035f778c1b7198c65cbf7575dca4b5d09ba461fa3e1c38bd13e2400c405e8ddb5f034a8264a9473a423c85987ae2b146729a1c888c419c8bf9f69cd93355fe0a7dc5030e03e27eb8e78bc1c83cdf51beb3bf97c5d5047ede73a032d73a7aab9f44e9de036dd8fdb28a79635d8007dd51d301cd2e3537af205fbffabe79b7d49a44277354034d70023bdd5c793c24cc9b8614d86a45a16d02a4b99a6cfa4be84c751d88636f03f94e121b9db1089fe07057d14eadfa28a7222643758e7b9cff1c6d8dd0232702032ec27b31624f7e08aeb465b75aca4cd4a2efb35846d941f528b3ef7024a46eb603e96a13f35b7470904d285273331820eb2591bfdb34ff590c7a8f74f1dc4f8d3e0396e0252ab6d3a7d3613463ac3803e87642d64fdfe4c185d04c29a7978a99a7c203398e661e1eced1691fa5b213cc55ada15c0943e38929f2f38950a29c8eaad6b5038e27a6c01984d254ec77b1b62e18430a9ac918d409b4a7d2e0739d1bc3c513af03a313321f541e5d5d4e632487365e2c7dccd681c74033171e14dc581675aefd4f035bcad45afe01f472e417505ec80c3395a3cec94850807b380f6b70f6dec8ff2c039b88dc3b8bd533975c52e0058af8f569b401ad0914f602ea30cca920dcb7c3170370bbade757fb1c1d8e34317d3c4c0f4d3595c88c50812e962c9d9913e10bd788038f3c517b04634658647cc253c824a7af8f818d7b75e1d33ede59562abd1a322603f8c168c693f216e6085309270cb3813dfad8432db7aa3ec4ed7ce2b83697bfa70361525bd7c449bef2a423056021f4cfb7a6cea1b0c09949cd1145fced73dc965e03828164d1e77f5069200b2ce7a4c036e3ee4cb48c91fe2ccea6838e5e5685e8f6031a8ec0aa14cb2ba29968d5d77668ad41955ea120fbd08d0071f6d89cfa1ccf5f0339df210ef17e2fa06e44047228c8d3fd430789040463f820c94a964195e1cff0031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0306077214b0832f05511366c3e046a157d893007cb4ebdab7aa453b733007011bffffffffffffffff03f0e05269bbf791c5b19b9fbd4dfd3d4aac82bf7eac840e4ddeb4fd9af5414b5205581e03e09e5de634925e74a569714954c17a2a8b6d1903a00b13a9f2d3e3fb00040105581d0274737daf89d51148a5e881ebf366e828386bdb38848e3272fd361d790c044707233e722c9494045931e1608060405234801561001057600080fd5b50600436106102d35760003560e01c8063782d6fe111610186578063a457c2d7116100e3578063bdacb30311610097578063dc6663c711610071578063dc6663c71461058c578063dd62ed3e14610594578063f1127ed8146105a7576102d3565b8063bdacb30314610553578063ca15c87314610566578063d547741f14610579576102d3565b8063a9059cbb116100c8578063a9059cbb1461051a578063b4b5ea571461052d578063b4f56b2614610540576102d3565b8063a457c2d7146104f4578063a8a778ae14610507576102d3565b80639010d07c1161013a57806394ac91c61161011f57806394ac91c6146104dc57806395d89b41146104e4578063a217fddf146104ec576102d3565b80639010d07c146104b657806391d14854146104c9576102d3565b80637adbf9731161016b5780637adbf973146104865780637e0c17921461049957806380edef8e146104ae576102d3565b8063782d6fe11461045357806379cc679014610473576102d3565b806337a30bbc1161023457806345791d19116101e857806351e238e3116101cd57806351e238e3146104185780636fcfff451461042057806370a0823114610440576102d3565b806345791d19146103fd5780634b3161c214610405576102d3565b80633f22a488116102195780633f22a488146103cf57806340c10f19146103d757806342966c68146103ea576102d3565b806337a30bbc146103a957806339509351146103bc576102d3565b8063248a9ca31161028b5780632f2ff15d116102705780632f2ff15d1461036e578063313ce5671461038157806336568abe14610396576102d3565b8063248a9ca31461035357806328a4aeaa14610366576102d3565b806313af4035116102bc57806313af40351461031657806318160ddd1461032b57806323b872dd14610340576102d3565b806306fdde03146102d8578063095ea7b3146102f6575b600080fd5b6102e06105c8565b6040516102ed9190612a77565b60405180910390f35b61030961030436600461295c565b610674565b6040516102ed9190612a63565b6103296103243660046128cd565b610692565b005b610333610755565b6040516102ed9190612a6e565b61030961034e36600461291c565b61075b565b6103336103613660046129e5565b610831565b610309610846565b61032961037c3660046129fd565b610867565b6103896108c9565b6040516102ed9190612fe7565b6103296103a43660046129fd565b6108ce565b6103296103b73660046129e5565b610944565b6103096103ca36600461295c565b6109bc565b610333610a1d565b6103296103e536600461295c565b610a23565b6103296103f83660046129e5565b610b0e565b610329610b22565b6103296104133660046128cd565b610be2565b610333610c9c565b61043361042e3660046128cd565b610cab565b6040516102ed9190612fb2565b61033361044e3660046128cd565b610cc3565b61046661046136600461295c565b610ceb565b6040516102ed9190612ff5565b61032961048136600461295c565b610fcd565b6103296104943660046128cd565b611028565b6104a16110e2565b6040516102ed9190612a42565b6104a16110fe565b6104a16104c4366004612a21565b61111a565b6103096104d73660046129fd565b61113f565b6104a161115d565b6102e0611179565b6103336111f2565b61030961050236600461295c565b6111f7565b61032961051536600461295c565b611272565b61030961052836600461295c565b6114aa565b61046661053b3660046128cd565b6114f4565b61032961054e36600461295c565b6115a2565b6103296105613660046128cd565b6117eb565b6103336105743660046129e5565b6118a5565b6103296105873660046129fd565b6118bc565b6104a1611910565b6103336105a23660046128e8565b61192c565b6105ba6105b5366004612986565b611964565b6040516102ed929190612fc3565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561066c5780601f106106415761010080835404028352916020019161066c565b820191906000526020600020905b81548152906001019060200180831161064f57829003601f168201915b505050505081565b6000610688610681611a00565b8484611a04565b5060015b92915050565b60085473ffffffffffffffffffffffffffffffffffffffff163314806106cf5750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b61070e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b60405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60025490565b600b5460009074010000000000000000000000000000000000000000900460ff161561078c5761078c848484611b13565b610797848484611d62565b610827846107a3611a00565b610822856040518060600160405280602881526020016130e16028913973ffffffffffffffffffffffffffffffffffffffff8a166000908152600160205260408120906107ee611a00565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002054919063ffffffff611ef816565b611a04565b5060019392505050565b60009081526003602052604090206002015490565b600b5474010000000000000000000000000000000000000000900460ff1681565b600082815260036020526040902060020154610885906104d7611a00565b6108bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ba2565b6108c58282611f3e565b5050565b601281565b6108d6611a00565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612f1e565b6108c58282611fc7565b60085473ffffffffffffffffffffffffffffffffffffffff163314806109815750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b6109b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b600755565b60006106886109c9611a00565b8461082285600160006109da611a00565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61199f16565b60075481565b600b546040517f5518948800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690635518948890610a79903390600401612a42565b60206040518083038186803b158015610a9157600080fd5b505afa158015610aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac991906129c5565b1515600114610b04576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612cf0565b6108c58282612050565b610b1f610b19611a00565b82612151565b50565b60085473ffffffffffffffffffffffffffffffffffffffff16331480610b5f5750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b610b95576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b600b80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff8116740100000000000000000000000000000000000000009182900460ff1615909102179055565b60085473ffffffffffffffffffffffffffffffffffffffff16331480610c1f5750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b610c55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b600b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6a52b7d2dcc80cd2e400000081565b600d6020526000908152604090205463ffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6000438210610d26576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612d4d565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600d602052604090205463ffffffff1680610d6157600091505061068c565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600c6020908152604080832063ffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860181168552925290912054168310610e395773ffffffffffffffffffffffffffffffffffffffff84166000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9490940163ffffffff168352929052205464010000000090046bffffffffffffffffffffffff16905061068c565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600c6020908152604080832083805290915290205463ffffffff16831015610e8157600091505061068c565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82015b8163ffffffff168163ffffffff161115610f7557600282820363ffffffff16048103610ed1612892565b5073ffffffffffffffffffffffffffffffffffffffff87166000908152600c6020908152604080832063ffffffff8581168552908352928190208151808301909252549283168082526401000000009093046bffffffffffffffffffffffff169181019190915290871415610f505760200151945061068c9350505050565b805163ffffffff16871115610f6757819350610f6e565b6001820392505b5050610ea7565b5073ffffffffffffffffffffffffffffffffffffffff85166000908152600c6020908152604080832063ffffffff909416835292905220546bffffffffffffffffffffffff6401000000009091041691505092915050565b60006110058260405180606001604052806024815260200161313060249139610ff8866105a2611a00565b919063ffffffff611ef816565b905061101983611013611a00565b83611a04565b6110238383612151565b505050565b60085473ffffffffffffffffffffffffffffffffffffffff163314806110655750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b61109b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b600980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60095473ffffffffffffffffffffffffffffffffffffffff1681565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b6000828152600360205260408120611138908363ffffffff61228116565b9392505050565b6000828152600360205260408120611138908363ffffffff61228d16565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152929183018282801561066c5780601f106106415761010080835404028352916020019161066c565b600081565b6000610688611204611a00565b8461082285604051806060016040528060258152602001613187602591396001600061122e611a00565b73ffffffffffffffffffffffffffffffffffffffff908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff611ef816565b600b546040517f5518948800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906355189488906112c8903390600401612a42565b60206040518083038186803b1580156112e057600080fd5b505afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131891906129c5565b1515600114611353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612cf0565b600b5474010000000000000000000000000000000000000000900460ff161561143757611381823083611b13565b306000908152600d602052604081205463ffffffff1690816113a45760006113fe565b306000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860163ffffffff16845290915290205464010000000090046bffffffffffffffffffffffff165b905060006114258285604051806060016040528060238152602001613072602391396122af565b90506114333084848461230a565b5050505b6114418282612574565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fed0632d0be8a77d1cd861e2e5f035c6684bad17c6bd6850e2d3621c6542d140d8360405161149e9190612a6e565b60405180910390a35050565b600b5460009074010000000000000000000000000000000000000000900460ff16156114e2576114e26114db611a00565b8484611b13565b6106886114ed611a00565b8484611d62565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600d602052604081205463ffffffff168061152c576000611138565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff850163ffffffff16845290915290205464010000000090046bffffffffffffffffffffffff169392505050565b600b546040517f5518948800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906355189488906115f8903390600401612a42565b60206040518083038186803b15801561161057600080fd5b505afa158015611624573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164891906129c5565b1515600114611683576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612cf0565b600b5474010000000000000000000000000000000000000000900460ff161561178457306000908152600d602052604081205463ffffffff1690816116c9576000611723565b306000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860163ffffffff16845290915290205464010000000090046bffffffffffffffffffffffff165b9050600061176782856040518060400160405280601d81526020017f706f6f6c5f6d696e74206e657720766f746573206f766572666c6f77730000008152506125d5565b90506117753084848461230a565b611780308686611b13565b5050505b61178e8282612050565b8173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fbe70a233924923d3d70cfd3c5c22c22f0a43c6df422cc029140e80684f7b70eb8360405161149e9190612a6e565b60085473ffffffffffffffffffffffffffffffffffffffff163314806118285750600a5473ffffffffffffffffffffffffffffffffffffffff1633145b61185e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ec1565b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600081815260036020526040812061068c90612630565b6000828152600360205260409020600201546118da906104d7611a00565b61093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612c93565b600a5473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600c60209081526000928352604080842090915290825290205463ffffffff81169064010000000090046bffffffffffffffffffffffff1682565b600082820183811015611138576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612c5c565b60006111388373ffffffffffffffffffffffffffffffffffffffff841661263b565b3390565b73ffffffffffffffffffffffffffffffffffffffff8316611a51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612e64565b73ffffffffffffffffffffffffffffffffffffffff8216611a9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612bff565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590611b06908590612a6e565b60405180910390a3505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611b5d57506000816bffffffffffffffffffffffff16115b156110235773ffffffffffffffffffffffffffffffffffffffff831615611c605773ffffffffffffffffffffffffffffffffffffffff83166000908152600d602052604081205463ffffffff169081611bb7576000611c27565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860163ffffffff16845290915290205464010000000090046bffffffffffffffffffffffff165b90506000611c4e8285604051806060016040528060278152602001613109602791396122af565b9050611c5c8684848461230a565b5050505b73ffffffffffffffffffffffffffffffffffffffff8216156110235773ffffffffffffffffffffffffffffffffffffffff82166000908152600d602052604081205463ffffffff169081611cb5576000611d25565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860163ffffffff16845290915290205464010000000090046bffffffffffffffffffffffff165b90506000611d4c82856040518060600160405280602681526020016130bb602691396125d5565b9050611d5a8584848461230a565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316611daf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612e07565b73ffffffffffffffffffffffffffffffffffffffff8216611dfc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612b45565b611e07838383611023565b611e57816040518060600160405280602681526020016130956026913973ffffffffffffffffffffffffffffffffffffffff8616600090815260208190526040902054919063ffffffff611ef816565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152602081905260408082209390935590841681522054611e99908263ffffffff61199f16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b06908590612a6e565b60008184841115611f36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107059190612a77565b505050900390565b6000828152600360205260409020611f5c908263ffffffff6119de16565b156108c557611f69611a00565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152600360205260409020611fe5908263ffffffff61268516565b156108c557611ff2611a00565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45050565b73ffffffffffffffffffffffffffffffffffffffff821661209d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612f7b565b6120a960008383611023565b6002546120bc908263ffffffff61199f16565b60025573ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020546120f5908263ffffffff61199f16565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061149e908590612a6e565b73ffffffffffffffffffffffffffffffffffffffff821661219e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612daa565b6121aa82600083611023565b6121fa816040518060600160405280602281526020016130506022913973ffffffffffffffffffffffffffffffffffffffff8516600090815260208190526040902054919063ffffffff611ef816565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902055600254612233908263ffffffff6126a716565b60025560405160009073ffffffffffffffffffffffffffffffffffffffff8416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061149e908590612a6e565b600061113883836126e9565b60006111388373ffffffffffffffffffffffffffffffffffffffff8416612748565b6000836bffffffffffffffffffffffff16836bffffffffffffffffffffffff1611158290611f36576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107059190612a77565b600061232e4360405180606001604052806033815260200161315460339139612760565b905060008463ffffffff161180156123a2575073ffffffffffffffffffffffffffffffffffffffff85166000908152600c6020908152604080832063ffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8901811685529252909120548282169116145b156124415773ffffffffffffffffffffffffffffffffffffffff85166000908152600c602090815260408083207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff880163ffffffff168452909152902080547fffffffffffffffffffffffffffffffff000000000000000000000000ffffffff166401000000006bffffffffffffffffffffffff85160217905561251d565b60408051808201825263ffffffff80841682526bffffffffffffffffffffffff808616602080850191825273ffffffffffffffffffffffffffffffffffffffff8b166000818152600c83528781208c871682528352878120965187549451909516640100000000027fffffffffffffffffffffffffffffffff000000000000000000000000ffffffff9587167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000958616179590951694909417909555938252600d90935292909220805460018801909316929091169190911790555b8473ffffffffffffffffffffffffffffffffffffffff167f3eaa1c4be29b4a4c60e00300b5a17a8ec6c982b5b0ad5870cc84ebdc3b24d68e848460405161256592919061300e565b60405180910390a25050505050565b61257e8282612151565b6108c58261258a611a00565b610822846040518060600160405280602481526020016131306024913973ffffffffffffffffffffffffffffffffffffffff88166000908152600160205260408120906107ee611a00565b6000838301826bffffffffffffffffffffffff8087169083161015612627576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107059190612a77565b50949350505050565b600061068c826127aa565b60006126478383612748565b61267d5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561068c565b50600061068c565b60006111388373ffffffffffffffffffffffffffffffffffffffff84166127ae565b600061113883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ef8565b81546000908210612726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070590612ae8565b82600001828154811061273557fe5b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b60008164010000000084106127a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107059190612a77565b509192915050565b5490565b600081815260018301602052604081205480156128885783547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80830191908101906000908790839081106127ff57fe5b906000526020600020015490508087600001848154811061281c57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061284c57fe5b6001900381819060005260206000200160009055905586600101600087815260200190815260200160002060009055600194505050505061068c565b600091505061068c565b604080518082019091526000808252602082015290565b803573ffffffffffffffffffffffffffffffffffffffff8116811461068c57600080fd5b6000602082840312156128de578081fd5b61113883836128a9565b600080604083850312156128fa578081fd5b61290484846128a9565b915061291384602085016128a9565b90509250929050565b600080600060608486031215612930578081fd5b833561293b8161302d565b9250602084013561294b8161302d565b929592945050506040919091013590565b6000806040838503121561296e578182fd5b61297884846128a9565b946020939093013593505050565b60008060408385031215612998578182fd5b6129a284846128a9565b9150602083013563ffffffff811681146129ba578182fd5b809150509250929050565b6000602082840312156129d6578081fd5b81518015158114611138578182fd5b6000602082840312156129f6578081fd5b5035919050565b60008060408385031215612a0f578182fd5b8235915060208301356129ba8161302d565b60008060408385031215612a33578182fd5b50508035926020909101359150565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b90815260200190565b6000602080835283518082850152825b81811015612aa357858101830151858201604001528201612a87565b81811115612ab45783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60208082526022908201527f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60408201527f6473000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201527f6573730000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f206772616e740000000000000000000000000000000000606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560408201527f7373000000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526030908201527f416363657373436f6e74726f6c3a2073656e646572206d75737420626520616e60408201527f2061646d696e20746f207265766f6b6500000000000000000000000000000000606082015260800190565b60208082526021908201527f4f6e6c79206672617820706f6f6c732063616e206d696e74206e65772046524160408201527f5800000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526026908201527f4658533a3a6765745072696f72566f7465733a206e6f7420796574206465746560408201527f726d696e65640000000000000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360408201527f7300000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460408201527f6472657373000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602f908201527f596f7520617265206e6f7420616e206f776e6572206f722074686520676f766560408201527f726e616e63652074696d656c6f636b0000000000000000000000000000000000606082015260800190565b6020808252602f908201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560408201527f20726f6c657320666f722073656c660000000000000000000000000000000000606082015260800190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b63ffffffff91909116815260200190565b63ffffffff9290921682526bffffffffffffffffffffffff16602082015260400190565b60ff91909116815260200190565b6bffffffffffffffffffffffff91909116815260200190565b6bffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff81168114610b1f57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365706f6f6c5f6275726e5f66726f6d206e657720766f74657320756e646572666c6f777345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654658533a3a5f6d6f7665566f7465733a20766f746520616d6f756e74206f766572666c6f777345524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654658533a3a5f6d6f7665566f7465733a20766f746520616d6f756e7420756e646572666c6f777345524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e63654658533a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122040b1d5732c99ad1b09fdae93eaa09ad2c9755c5608f20330fe589d176288ef0664736f6c634300060b003303ee42805e345b58af7b2e5e664fdd75644142f367b20a85536a22db3597af171b034ff4b1d36c731a7ce2ddb143f97383b6ffa2644936ef6b1f542a9a4c312631c403e626a3893d46c9d72969bb7151a9c8884e729ebc0d915bebaa3b8cb385a4d34403db528b3ff52cc02f3b88cac5722f8102b3111657bbe192529b5e9326de570d8903c9cc6118bb0585e51b15b9fde8ec3b6f579049bf0315a064bd67b714824fcfe903b8a71637e455729a0864d702322ddb17229e4f6f434cbcdfd000a30abfe599ea0374cac266ef326d861ab9d765b06236e6e5edba47b386db7237cac9a82f288ced03fb810020abfc36f99801c3b644772e3e9e03b2487f46c6acd44ba411bc0ddc660359f0a575c66ceda43356ada3ccd83a2cb5a4922191dd2e4384d4a9c8bea6bd310342698eb43f3f62146fff30d70f46a728f5a4f73266e8fd138442380fe4926a3503c7bbfced57f7995e9c8032d92b5fbaa25c1b2ea5926f9f154308c726259acf490365ead3e904c59a38bba698ca16c5fe3b87da8d52c8e5923338fa3f2f018144760333f75b947282de2c762bff9c166ddc274ae89927835e12b988b94de69cabc0dc030f02da67f0576ffedff7bdfb7d1231c9489a7c6f75c5a2efc6d7cf52a80ba07503e3ca5d6b4d45fd390655f539072f84cf5d7004df1bf360d0c8ed8e661c0b04bc03409b4ac4c2cce7f8d433914714d92c104297c8571e84446fbbb834ff4eba4acf00581f037d99781c0c52e1aef47ac7fe0a5612515657de8b7cb38d76c5c20a2fbd404d01cda892bfca250000011af4f5033538a42d883172c02d8093e37df12fedd7b9c70e4bea4cff274d7e1e541acf1c00581f034fb37bdbd64b3fb3320749b4655bae0a948eac7df7b87b55189461f22ff04d08e33072f9b69a000000e639b200581f035017e2b555394afd677d89f583cff488f488c928b787d1c50ca0a0bf1a3045010106b8d200581f03b290af37d9a415f0bae8533915977a6319a829127bd39cd949822e6822f04f020f42394cb4ec6d11b0110104c09900581f03f6a88960f3e7028c3728b36f73ee9109637db5d4376258882f5a7e446f704e2d3b4839d7018c687c8500e0f36003da98050108096de2564f4d7df451b12e18e3f97fe979cdc5e27ec92a18371d1000581e0267ee1a0992ac48f70d55974c998914ff3ec99c1359ecdf8e24dd3f5ddc4d02fc2aa042281c0000012f6df700581e02a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95501853d955acef822db058eb8505911ed77f175b99e02188103b6ef32a900b91e7792a705bc345602f944e1b5c863759daea42b13bf523186c400581f032038dcd9b3ec1fd48a561f70521a8ed2889c56ece7eb94f0b7e24e11ad9044012b96f4038aebb7d715143022117de62c92b59690631b9a78e4029e6a8ad078145aca7ae302197ffe036f4bd260fee9fb3b17c0cf6c150a593ec23eee38fb187783d16dfab7e012089e032a8d613edf6ae086ae59f6d52b77af0b8585e9f1e6c0738f0e8027cf9ce3a1f9039145e2810d9fe96905ad8f24bbc3b73525ee5f194be2376d3b3fb27fab6e889d039516b94f5d7404c5e55c602716b92bac9bbbc7bd586fd298e5ce84ed94e6e92103a04ed35cdfb0f274a3bdd460b777d2f589ddeb81d450c4628bbb94a33d2340bb03e6197c0e69ea6554755c2fdb6c9738059ac85a7820e75869ad9f6fdd01a9903a03f2b07c61c131df989ae59ffca62560fdb058089f0068aed5b1f883f3edc462d003a2e4cf6a4da2fdd7ec8acce36177e308f6e63d7a038289b9f065cd14fdc2848c032f8978210f5a1becf573dfcd87f0797a0997043454ae4148e2d57dc4799e4c7303a6fdd5d725167a7b830e2af6d2928e287f10e33eb1ec0e3f5b451637e2ae4e970219ffff03ac2948f70306ed4b4eab9d519318ae90413b9a6e703e1246acb500d7d9df9b4603fcd985f3c1db84fd94da684621c597c66538a13426d61dbc21e1133c79964d4f0364ed493f1c6540893ed80fce19b992b098ee07c326c606c82884718b2ff875ab03da7943d210546fd1b09a73faa5c204256600a1f8193b69a659f7340f026bd82903115ea3c39aa209de9b548c4cc02990a4cb47c0c44fe7f09d8c3e83e5a1fe0342031ab7d5bc3d3a4a6eeb3d3123904975865ac233123e70954fdd7a99af1c56f99f03f2b1b6dc69d5dde4f2e38909a2478391be8ed9fb0226e0f9b589f08c8fd64d3503faf63d4b36575dab7916124d0e02368ee79e7debc13b04edb7cf99e2656a4f630219ffff037139daa05bdaab85f3a654738eef17cbb089047fd62b45ba0868a4b5bd88039e03ba0460c5b2209cf6f3756a99b07e884d418dcf69d6e0b41421c62574106bdf3003b75ba790f0c4b7d57abf2324147b853c3829a6775697d24dce58e7fe3f037f16039cb111229635ff28c4f0bacacd012ecd8640f57bbb26b497c3d1d18728d783af03e8f3dec0518d153e7cd5ee6e30a173897ef45200d7e320e5f9141a1454a3b46103005ea0d6faaa03b9270a3f2e85ac9cf106b95f5373e6ed9a482163e02a54bf7103e2a40cf02af897c1c4e026f4a297b1f119035b438ae683a05cb30a3933f2d4d903f62c9b707f4037c73983acb07e46851f1850478d85d77d5d7030bf3fd71577da030966fa28536a6240b00e83790c2e98afcd227535b44a30c166c4effb922f8061032eb1a355b14a7d01de045e65a3504741f84e647dbc30ba49529bd8e74096a4400371a5b70b8cdafebb481c289c2520d47df80fc046ee4588826b12a42b893ffd4803c0dbec356b032d27313f37a35a89d414bd2a3ce7b05a00275dad280d1ac8211f0333e64eb5d56a8bb279ebca187a9d79af956ab3bf466083dd8743638a643297a70353c86ae09b477d0496fc0867567d75059b12d8b18f7051d74c3d43f68f1b4e530219ffff03d4cccefa5f027713f866c5a88564eef98a5933b9a264ba37503fe5a8b1950c20036fdd1bd6ea2588780311b0a2bb1b701d5d5d8e4d9fe49bcc0c9340a59485919b032192a5fb48c33fe9e21567b682d32e4b0ed86c43665f19eabebe2977858e2c200333230630024edbf45eb2fec067307e520ea8c06dc0562490a515ad2fdc0cf9af037d11b962aaf2a5169d7221159d96e87ede06ac6236a5cd3a5448fcffadb55ded038510ce86ddb919da797a9a0b8186a159bceb8c26a7a702788034fa77a6d1e18b031ea1c728d5a910368c9164bb4b9fd467b0db65e363751fe5e5a22f19a07e11700301e704880c9559058d0c9dd18246f12cedfeb43dc02ce44ffd62991a9d644e7b031b93d2d5623a29d10bc20163ec169ced71f734c5e993086e890b77848bdd424e0391a0cca1cac71fc384c2e6a1978d2e3bfda54b9c0d58089e884a6e9581adb64b034ae2121d291f3726f414d41977e0e05c6901ea926ed5044f5402082c63353d090350a1de96e19177a980acdae0b091c2240a2e4c222d89475a20ebc159353b1db203b6e42e8f1423465c7a25190203875b1ed89e5607565007825f9c120f1bf589bb03c2b585eb7e65bb11d9178629ea018259d860f474372553e1a1e18f5b78ad075b03518b311eca9d85ce1c0fc2b536db41c9e356b252060928a7ab0744c0a0252efe0394a32061fa7f12a5e3d8538fdc2aa057c49a4abcc1c26966bbf8599b6683e3f603784fc58ccb70c1546268577027341b0c7dcdc7121f7183b1944171c9fb640a8e03950f3d0c3880aba1f8928b187eff7f15a6598751f7747109fd24a75f12c3210b0373c13605ba665dd80f7edaa0deef4bd05febfd808a3cad71788e5a6b8e06e587039ceecedeb6f1e0f1e5a959b409b4e66a2399c53be6fb45974c9f5929de8ec78e037f179d8bedf160f3545fb6b036da8c20e6f89ec06da9ef4539f6560df7b906cf036cb2cabdd1c0443ae0641099d1ad042000ee9bb7d6055c071f02bfaa2cf6e4b100581f037b4fdf121440a6f1b973db6d7f8c1ad7d6d26204a5d9ae2463f26671be0043ca0bba03673abf160bc2401649ad430d36c3f35b88ce02ba73e79c95fd3d8fc1ee3747e300581f0342dc1c3187ac71ce4b5d72f140b4af4ca6f2324acde0d34751cc11462bf04e012391ac0e276bdbb6e7011c1e3e03132d5228c623d6cceeb6e9d16e78d3e4488e65fcdcc991a4edf85104f301a45203e99e73a6975162f923ef9b7e5371a18b4539d12099f7b20a242335de8cd4a11403c655562afac2b6a720e3f4e0c52cfd72a78794bbc9be577ef87f0c5f56c3e37100581f0315265ce2eab39a9a5114e2ce0b0771927fdba2c8c60bae48aa0589eb93404d011c174818e9d64e4500f2934800581f03225d18e91503967beb98dc87ef6616d812c05af1b151df7b47e3f3d7a5604e1a3120c366bebbbb19c300f316d100581f03fb56f5909c3a6d84d49fb31e014a97f1015aeefe5c0d49f81c40432b40904dd8d726b7177a8000000101abc003ce4d112a35302e86a6a172eb5a8247078b3914b091f7f0e0bb68633c5f718501031521ab67dc12c5eafbd7da01f3b0aa24575391404cc50a2641532129ee5da4d500581f03294c31372d3773f946bd1cbe9c77d15bf9b63aff2e04ab350a5e81a3acc04e05500b07966642cee6d0011386e900581f037b9d5d3edddca2724252c2a28bde5e650d3ccd7f0989ed0df38a601a1a0043c8775f03f8712fa939bf90eaff71807716b751fab6269f00e96055f0ddb12964ef885f08036b2c9cec220b372a33033abe6fc0015510737fbaa6646e54bc06db152983194d0219ffef037910a252f3b3df3a0bef80f0e49cddffe4bc828e7930370f81b59d523d31126c03877f8be6619751900633d2ba3a3c8a7784dc83456177b5fe60993519edecf56803e04a2081e89f6ce018741324ae1434b435aa77972607d5dfa31ec1983030b39f03ce9d94e0da5d4417bbffb5d018a76339184bd16d8bbb65b068a1433de2c70da6036446f48de99d2ab3fa8e58a775cb661fa1553b3f8449a091c33b2be98881130b034bcc34fe09a03f3fa1399de6c70b79346f2fb6e22804d2753e69059ed72f6a7f03876d590b9740085593aa20e97d7ff9ff709c1e457e0264944b016bc68f6af56d033729d6b5fd9ba24a9a022ccb4ad5b2b29d0fe6ba1beadf765ffa026c20fc70720219ffff03f7c3c971ea25a638ecb6d642c64d83f24ba692a83c77e9f762c7fc9bd90062e4036d28b251dfb7d78c59a2bbd4630b5d7e3b4a490a8032ed5ac7c34a4cef68897b0341f78a1ddd5f6e7af4f15a897e97762e4e9e59d68775d4a875eb887fd037738c038de1ef2845d56f56f1d36ee6fe852ad29a979fc5a6ee9206e3d4a6776d12f65403445f58805b5415b1c57a5f77ae3ab91ae8332ef842642988bffb3f2ec9e490fb031d93eaa4e4b4acf0bdab4e8f03331e3dea49a7babb4832b1b7bb99d75266778a03dae6ed40348480ecd358adcb26a73eb1859ec63fee0c9a166989e44a60e9ee2a0345f650c890649718f5ada8161264734d1f87a76d507727039c89df34f47a9ecd03c58026fcd6c644e35edcd78484ed876b05f66500bec4c17c17b46430c52c0372030378c74ab41150515fcd8b6e0b0d2b9a582438aeb89079b30842a52aacdb6aea0219ffff036f1fd2af6784579747c7e6b412c7cd2d2eb0efa5dd1f552df4b367fa4c554bbe03f29e348e2abfd8301bec0c43b7b4645a1ba2742a62204a439294ee411b3925a9035791c1b36698aa1fec0a6ee1de92de574d91c6cf4a9859fa044d7736ad97f5ed033edfc5f19450aa17662703b5ada829ea64a58682a2942a84606a245f94ede5af03c47b0e9374f3d22103ad0e1f4454e14508a8fdd329daa881aba63fa0f5b502e90219ffff0321a51d7e124d21fddbcc73fed61236738be98201cf35faddfb5c79d21321ac1803ac36e0f1db243d72f999c3c6461544cbeddc51b428c301952a353ade16b069ad03be15193d007554f032e48a151ea9561a6152544a09d85f31304ae199c9ac1bd803322fbc2450599d3c523e7893c744b6b7553ae1875bc9bb8ce76b4b2b008aaae603f3c285a2af54059019b65d4c27d065cc0262679f8dd5036d6c2890cd72468702034eda2f87abadef220b2704dfdf6ce5561697ec26e56533bfcc806786eac00ae0038602755ea9e23c7af8518c79bb79a3b73e96f9428574bf64e85f668f817b931b03d85a1a57463742d26d258546abd5b4b88f371ddf0abc3b8eefcf6ad9357e06dc03929b9beec38f387346f57314bdfef52e42d07562886f1473d32d98329d11569603235780e17d54ea7f08efa260ac5656dbb6dc41ff0715fcedeb3bd996621b2eef031c06682989535bb827507de1de6f6c1fdfd9a8dcb3e9da32628a81d7a82e2f1703a05ef42c3954d0cf43c7eae79b9bfbc685dbb14a9ff6f0233fe774315975f1fa038dc336d1f03af4aa5f3688b2cfe16e98dd633a924e11e34e058844a5e6b80ae103ecb21f086adf87f47eb62b64f262ae36f142140ca6ee284d40de6d0b8a352ba403beeb69f9893997b0c841c37ea1054e6ee2a94b7e03756e6890730dcf9dfc64a003989c03a8b4a0d9682b53ce6d1ed8bff016022cd4e1ecd78882512e28a09869e303c0bed2aaebdaf742363db3f96db2abc3cdcbae7b703cb16e0e7e4f54a3117c3503d4f00df832f154631faf205f4eecb4dac4658dc37b10cf58405c39d064044d7e036de70b1e97e561446a037cdbdf54a56e3b5e64dea2c4c6cc4d79d3435d50b78f03c10e4275bcb63e2eee022fcab15e221db378d1f6e890fa87f13bfd5ee0e7d7b4035d1cde4856a991643e0a795bc607a8bd21f090367f66220d6bae16e1f2ec52aa037fcbc2cb5f185bce0f87ae61198dcfca7a2bcf23ceefd6685d736821398b80060388dac9330f65e6c76be8e08886875029fd6c18d119488694e67ec4e596c0b2a503d61777ed51bf482ed696a2bd49ccc4104d040f2d51a3ef519c2dbd27cc698dbe03f26fd6df4f51ac51605cd71134c79d6cc18d20852ca877d9bc622d3669c2628f03081d718c66ff84f2bd9191c1cee0c8a4a8b1c897656d032b2043acf92ad5b8c103063b7a93d38f39d0cd3321f803dba8b8700bad1c49476c0ff5db202630fc18860386cb492eb8c497b24f5626ea4a4a5f30f1bcd0273882de321bee970914662f2d033d0a89b16794da27a0a5eafa8613c64e1d9d74ac6833cd44ecf773897faea309037cfc0354637adaa1e9c51b6ba1aeb3f014b0449fbc29a7ac54e1d80f5d441d1e03b8b538a1b90d6090c95c94ca582dd12b10a42f35e7eb482b370250d3102ec62d036dae30440b58b6a392645c2c5a3c1036ac9e3c9740cf607d0268743f8b2072d200581f03ec5ec71d7321ee09cdbe4fb7eb4d72b4b206ef19206b09d9337a83cd36d04de0435fdc02c814499b0134ab72034b6357430393955e0a4b42329f19c590f3c516824b91f442d6d4a4b5ebdefbcb00581f0331545a588c1a5246e0993ca544c15158f326fc0721729d05200c3c6edd004d6afa10082589c60fa000ca4b6a00581f03d83b48b4f12d413e5e99af91557e9c6de007cf76375c83d654b8f2fe44404501010571760304c89ff9433b2a44d6ca59ecd2747f8b32fcb0382cef196e8f261d7e0bf57ea000581f033ee6d56dd0e501708bc2cff2520e866d2ffbd5809fd65e483365c78c5b804d2a44f6f9fdeeb3add100fb1e7700581f03d32ac1ff42cd693f85b686f3c2fe8c7c7cae2f123da775701a7850c078a04ecff5cce5af897b7fe4bb00ca561f03edaaa9c476101bbfede148f36e8bea533346ca6c49308548037cb6d3eb9f113a03b90da764f777f3b2637e24179b6257d8e0e70f7c201be9635e844ce3c5e289bc0219536f038dec7a3164f7b523043861c8249159c206ba9301d424f365b3f7953952b794a20356c6e07c50f0449ed53a0160bc93c3cccfb202f12929425276e1c7024a8152e903331ddd8cc73ced9a02495dea60f2fc3735573ff4435bc2dd753b3eb18fc0eaa70310ed9e2292f12bf6f282114ec790c49c7e9f32c53b11918410e07d67de29b213031e129e1a737e05381ff142e186f6553e09787ce80670cbb401c4590631fa173703f3a2221b93180ac92fa96e15c6ccdf8b440157f9cb3397d07e444f5d7b5b3f0203306f5c32dc7580f56ddcb5175b3c48e4f60f00192495e3d29c0ea183fb4cbfe0033b5187737bc317921fbff93d21e821e666b2b19562dff17ce6d718a1fe9a7ddc03ae9f803b48524abd7f74e25df0ef53b2098c4ae1d9319ee253949dfa2a5d94d20369122a5688b702c5f998aeebbfa36e2238f82421d5ca099e49d0c93bffcb719203251e74390c09db71f944150c991c693ceed8f8ac16bb9d57ec4c87b023d9d74703c8caff7649ec0a5c6f4c10ef82f20ad654babd0eb372c034cdafa68e3f099af20365f1f9b8ec8214a154a4ba96322c2b137e454b9c4ceaaaedeaf9e9cc64c2a9f003d77ec848047536edb21f5dc9c47112271b857a822ec7da734e73257e85fe39a90219ffff0219ffff03f8e58c169268af9e2de1360e0655d43c2117edcd27b5391943051319ee23b28b0219ffff03e13e79cd4d7178eba3a6bbcfe0080269f78583fbb8e9bacbb15b55cb12ab826a0322fd4a83acb6c986c538a8a60951d6b6a13ca2fc3751442ab197bbac04ff8a0803098b4a727ea25f3b9f938916fc52e70d73bff46a4da91977818caca6e4ff73a503161aaf193ec71551a5cee067656b2c10a49b1d30d0cf50bc9dac8a54bbedce0a033c6ade40ee5bebe33819c85a43e7c11ec227e7d33abbfa713cc56a0311e14c61030700243a88abe27c42bcedf8d324242e9ae384ee9934e8261c6d0b1a7b1cf05803e0a268b578235ad6cf97a026399b71888dc3c571acf1230a9916521fa705dd07032ed865d36f8fadf6e26b206950c384882428b347c94917c0b5274ae6d13c34aa035d2d7abf86a231a9d89642eb69ccc8467dfc04aafbe867de5f812c98ac0d247603a13528302ec056c888c194cab10287ad57fbd61dd910f73fd33dbab1afa51f3e03453ab6e4c602c8fc0520aea40f4e963d8ca99e60b8b7beb5fef0cb9cc278742303dac6b9904878ce213f886951ffde05b259803266367f42b6a5dacaaf15a50264037cc30d13e5d947cc0866091cc2a974a39443c9fac2c73a6b377a5d1441c1a24f039cbdcc82b7599c7ac752eebba1df71f5ba570191bc69778ca03ac1fceef16eba03f8e7547aafd59f1aab5ce048330cc9ca4aed5ac17703f501b91476314dc0590a03e9c8945a463104b48a59532da9d13665f2d34232fd8aad6b0a71675879d3ed890398d8cd3d9a980c867f1b0ba5b3c535edccfd5d4337dbc1c07d6ba7416c2a3d8000581f0349ecbba3d2afe1643191166cc78a2a268f2345bc9400de06523b3412a6a04e037ea369bec9cc16d7bf00ce03ad00581f0365a2c06a83c5a4bb36765c46fd0bab07b32a59ae8f4c776335d0adde1e204e35cac71369ba06b59d5301167a8b00581e02295630ef48b84ea6495f6607e0f97072f5346c3be2a38a8918f10d6eff42026600581e0290ee7d8dc71e8e5b7a0bd54ec78098ef3a30c26044ddfbac66dac7f9ea440118be8d02184803856f57e695b6d127f2d133e891348873c52debbe626bbdeef4e07d9d8fa04e7500581f03c54ede0d33bbd84f804034cd63b2a67848580972aba8d92dc22fe98fd4105820ffffffffffffffffffffffffffffffffffffffffffffffffbb5f6fe461ee8fb900581f0323e8db2b0134fe8b2006af7d5ff6c06c8368df4a0f0c2c5cdba9b2bad6c04e3941f158cb5bb1e5f30100fc5df900581f03f3f7028343c04e5511ee21eadd31f72ca41a7d514fc882229ef92b165c104102034e98451b4d108efd05e15ae6cb3ddfab0775d3d2fdad32470b71128737f7be09014106037e6770a03e96b154bf8d5437ab53d5a975ea69207a6f5a83c6fee1973f7f8589037b710586a82539e53172a146b95b04e0b73ef70674d51a3ede133df8ed990c1e00581f03ebf47c7c972b26fcc78d9ce5b9b71a41fb3a0c31c93483c221dfc31ac62041020219fcde03e36cd7171f5e651cb38fcadc5607c82c2df298ba75029f8036257ea22bb1a0dc0368a7917aa15788ef01723dbe78e265b0b35fb305745cdd83293c4bd837d8b707037deefc532f6a7bd0d4eae6b892440b8527bcd0eb4a1e3080eb5a69650b294746036f30f2d41c961588facf4b9ae406f829700baa2cd18321f9699bc89efe562a22031033e0a6f894929031bbca55635a9b300ba6e4734640fccd30d62eac1a75d304037f25b22a37b1a7e122bb79871448e2f7cf549e6b7c9715ea02de4e60def587900357c1393629dae2f187ef98a56282058fb2d1720b7671b57a9ba4ca164b662b31038dc17ea60f23da7317043811d4b32288bb048f92bd0f2c597ad73ac14d0f1744036bada6456d005667cf92242ab2371b2a975f94228955c9243ab96d3c8f9d1c7403cc0d5c9b0ab2747303e6921bde37f4ba3e9d587e3241a39789c46bcecb2552380219ffff03100713b1741b1550d67d9980fd0f39f39d8425cb8f59ce04566f58a8fcaf876803003b87da9e597e82db9b089684ce368c0423a6d0a9101fea4f2ad3c2294d792903ff45a4c4f79dbbff0c6929d3e36a3173e4d6a31d450bda1155bcc56120591192039ed65d6a5efecb9f7c6d1dc0577e0646f980654c49d983cf3c7da65b27234880039adb2cc2b68468817d1e147d85f75b37508a8dbf37d037e329936570adb574e30360865fabcdfcf4cdad6f31083ece3674e8a02733385d1ef461a697a5764bc6e5033b5a9cdc6485eda39f4b03c39d60a5984f24488423c93091b4461146da6b551703efb5b69ecd680b5c5b92f6076669a2a6d357cdc32e937bce283ead8cf9cbc1e203857130cce32e7d179cee0dc76b76d06b2b68fbf5a5c75cf256d2b2fdeb9439ce03a992cca81a58b033c669819485a2c546598d730d64cd5378f1ee71a266ea596c039ac57f74a157a244a444ca29032fb5e7d353d322ddd5cbf29447282dd8acc354031269bedd4ae493fdf9e4dc6fe1415c800c90cc514ed989c96292a66768fc712f03c0bfc21cf52da8a28f658dca1876f5f3396baaf0d89f384bad396ecac30cf3d003977ad81e74deed688f21de39924bd356c6d5a87567724dbb9737d1e4fea0915d03b35ad322bd72ad2c8eed14b295ef524bed7c8d71209bf5a73c967dce76ec7cd00219ffff03c44e4be2d39084479188ab3c489bccd0225ff0d2749b6ba683ec3bd60401106e0352c19436af78f97a9b94dcf83aca22f9f0001fb82532770dcf0df969346888db03ab5c5b58ad0e3dacf3494b128df7021d562e337b9d7638928aeb6fa260536d6803f17c1235cf8cb1e67f19f8adb75ae9bf0adcdac75ee9c05e4c32d84b4cc9321703d36760a7e16bb51dd9cea90e6ddff6cadac47b234bed17e71e454e3e587c739d0219ffff0348bcef44b6a0a37ab9654ffd0ac03fb0341dcd717ab497ef94d7e60fab189027034bee532e081183527ac74fb84b7008c51e953302d1e61d4b71444769bc67c1f103c97988f4b96177fc08214413e17e730b7700697ab1b748a299cf3894e6406ea20346aa7d952aa0eaceadc0ca08ef33b2dc425486d08485f175dd3b3de6f3328fa70306c84dc5b667bb361e4ccd2be69a6c387400c59c94cf0098327933a8d68bff9503f0f7db9fcd62a178cabb83b6f009d047702e19677303adc6b0b41d7d75ad594d03130570fa114e251fa67342e0ee46c72c4b78c774591e76ad8b20a3ad2fa764830339180f90d6df0ccc222735b79490928cef6af609c1981b92cfc37105e28efd4903457fcb0efb88a6cfdcce8bdbb5a99d6d299d7544e8cf5e2bcf5831b90735bc0d03138f860b3adec154fe58f626e65f644fd023cd644abd5158ce6fc8a555f9ca4c03ee31f59d31f17d36f1cb6a732cc935a171a1dddf7e40e202d5c12e5855a9cff30339397873b2de0ef4063542ff1abf658d7d8325ae17373cc35fbc05dbae30fd5803a04277260855cecb4dc8d4ce692517e7b076a03c225a4b64c60b4dc552b7e2ff03e3862e5a72eac25ecc6af32416b1e9bcd2da91a03ef4da8c6b487fc06533b3bc037c2aa94a7c4822049ac89fc716414186b8ed03f23ff8de2480ae23c14e91a79903576e00814580a96d47dd88725e5bfdc805e456eb1b84d826ae2d6ecd22cd07fb03566bd476c3f7b228398bbc157c97f3b21ef7e92a447745c95759cf5e7eafdb1903b89e7527a029a0661f86bd22124d03ccdc45158a82e7863271ec0088c24f2a3303f8058035a23506b77823c57bbf70eb34d9d21c941dcc5073383de9603e1a944f03153162545673a732fceff916fab3b8554e4f832aeba49b4c2e7f87d3d4dad3ed03bde8177a7add705f5b3ec6f2e3ac191fadd53e772bcb895890bab70cd6e839ab03b2aca5dc5f05896e66bff4dc74d706796c8259d779efe6ceb3ae77e68ea36efb00581f03e1cd1d0ef8fe08862ecdc8f65388b7dafe438dec9a3483d589076f0687d04e4394646109ed38e8f86900ffdb3d00581e021f09678c304276c5b82acc9a398d721e2511f00fd62c7f81c71fe125d349e0435fdc02c814499b00581e02dbbb4dd3f450a50c6a5ce873ed2b2210b81106a9762b0bb470123c80b3410600581e02f50653956e83df7281903e4499af2c5c29eb8d4f1d0bfe8f57cb8bbbaf4e1e02985e588bbb78570d00c6aaf000581e02a40f20412b164bc05943ebeadf229d4e95a237965fecae3bd8b329d0ff44013120a50219482403c23722f483ca498955dfa38f9eb93a3d2877abf424e6dff6cdaf1526bbbf61cb03ac0448e81c4d44efe920a2d0c5b1b892a2aace34585a5799e3312adbc448e4bc00581f03f1c2927e2015eaaaef6155800419488c76af5e3dd1e2d66d98120a49b9d0410103353384c8943666bdebeefb2f8d100089dad953a55a4ec0f8c48f0d8ffb3235ff030c2a6ebf9c70fdc163b2b1d00ad266eda3706f39b08210d4b08792876e6835aa00581f03a3cb113210fa87174cbad4a7b48c0284f7429ef4af445f6f0792bf9bc7e04d523c5398b20c12000000dd655303ecc09624c7e6ee92bcb3a4295e21ca622ff7347459bea4a0511a7a1e5b3f605203de554dee67343d17ad281071435f5b3d0c614c0507b163532ea1a7d6702e1bd5031864136fed6f498ccd9091d1a3080a71b388ee615dac54f36a410a4a24e45c9200581f0335dfe3f03447e974f8e032d1ce1873b103df1ebf1d0fc99ce7476a1a11904f01cfed5df40f9478884d3200ce0ebf0219fa7f033fe7e31add4727c65f1d898c8dffcc919f821f570b24f4d621003af6005dbe800329aee643132cb7f3f567bf1cd3935daefa38d30bb5ced38b37752e587e4d4a6403cf4a262edd6f6b9899d7edc3e670f6195fc96565bee00a0b3745d4266e28144d036eab29c3aaad3185b540bacceb68fec5eb92f9139964856c15b0b14f72b0e8ee031cd5a9c2ffffa3cbb1fd57aff2d5c13a932b6421adfd7f5a2c640e57e7f657cd03d3e608bdcd8b6700f9cecc8079edd55d97619593dde60289cd97d83ceda9bf3003345fdece0f586ae04463e64283ef7b828ecc90930e90c19221a18d1166a78e230219ffff0349aa44185e3445ae38301c1fc1f1e3fbb843f56bca50209fd779c746425a4f11031ccb5dbaf9507866152172f1c72a08eb8bf383f79032abc769a7cbef53318e6a03b5dd1d211904985d0ced33d4d9fa9fd06858db78964d5c17c65486814566c752031bc9eaa3f0e22590bcf102f047a97f0a6b105ba7ab44008c9d4849241443cde103acc65ec012a4529991c2f12ef16371bc466417ac098845a49bad0427ee500e7e0336a777d2f7bc57e0792e52498d1ac9799c7bb5b3428217d49f3c1c59a562d01e03946d711cf4376e90ca20b3a114b4b7f745c8cb73717a5e17b56456f98be264e10389577790f19e074fe4d268516426a22ff9d72d1af7b35b18e112165cdbbf684e0369b466a65335fca80d4f72fe7306ade6185f72accd6097f81892e555ef7b3fd303a75063743a091ff32c6908598fca92f1476e2b22746e77fd9cd7d4b46e7bf49b03279af7a93518784b90a16c5af312673e4d046a78d4de25028abacf16039db12b0399dcf53adeddac837018425da80674014769673c5843e2df01b3c88b5456c3eb03072d51450ac8e1c36c1090b4dc6ae7938b337f2505bbee99fa8a951983cbaa4f03607dc747507ea3d778590b0e3102cc12f1ebe06e8da47755e42c9c2b91e364550219ffff03a4c0a6772193fb3d8a295d7b67c927d28c113c32eb6564e95912b6b212c2ac9403b49c2700c7d317693691c55458131cf4e94b5c45d9f0c14f2f0e212ec937287503b181625897ed7f707f9b4b2a74a8473cd1e7b859202553032cc1f75f2a87434603b6f8f0259d322bc60007a876a3ac6d81cb40d7c6d1b581fe0c11de379cfa8c82032f72aa19281ad03abfa82f593b5feb13691c263c827d8a4d2e4cc9227f9e08eb03b448966f46634426df9037f53e6e232236c0c4f77d52df013f1adac91362bd67031b20aadf9e0158774a77899da37fd4997b0165488e3c4351cdc26d36a6c3433103e61878b8252b8edf50811766588dada32dde07a0126843781347e36aad0119cd0320e4b3458380a399839617f9f9e57b4520382d2a9339833018f36463b131f714035f415e8eeed911ce5183f197bb5d60e03e50a5df2cb9420e0c899adb4a74491703c3064bc848d7fd3529008f8d6b90061c62b5f5a7f317c4bb24a92fc347701cac03a4837f88d284f62055994000d9ffcada9d90d46f934d1eff6277dc98cae389a7037422fbafd09cf0e8b7857602a864ffa5b2d23e6f4fe441cd727362ce3a5a4de603194895cd4333818e0196e93f89aa121a3f4b6cc5b35b6807d4d2cc9b75a00e9203749961c5e2d3734a5e37017a4d4cc70de1103474e88f6fb4d85e0dde42b0d7f7038e9d4662f933c27e60ee1607fd04754344abee844f2b470dc28cb4d0d81f8ad003367e58ad7324131205dd7e543f972258dc13a047a29b321d5908020388d9207701410403e42655593066dd5d8095854c39c41e5037e01e02b526e1c71c10ac2570a276980344a4f68cf3108053929f19fcab3fc5a83f6f2ee63505dca16b27dac29475c8b50321e4c3a749e8822b5116865a4c321d52b5458876b62de19f07ed45a9136631ef034801a9fee557a1a544094ab87ca391021ce633c79ba12ad7df6e03db7e99993c00581e02dac52a9a43904074b96850f8ff8ce7c2bfa2d48ed4577d7ebd12a63d114ec3b0ba67dd4bb195d31c0132aa7000581e023ee9f327f677421ad0feb90cc4cf5a9f9111077eed6d8c3d927b76300e4db515f126e9a23c885600af706a00581e020a7da776f3cff708c15f1c9a96eedc6ecbf1b18821f3fa5bd8cbcc1388411c02183800581f03d58ecb215a9e0088fea08c8dceadc34153743dbba1bd63238c7dfaf896404d12653458d600a32a4200fc4e3403b23382b819078a4e83e835e3948fcaf33a9435636c2f42b356ebd41b1c48f6d800581f03b249dd4660cf4ead4a20f543a7b8bb49f8b591c4f66c4e9fe332b13817304f21a036601c0ee11c042c4800e3b0820308b21c8c7d1c100c873586d372e2904c10c73e204282d8cf6b1f1dc6c91fefff02194f9d039dd45b92b58d0bad114e6cd0d6fb2dd60c9c51744ea8d3244df991722678ed2203f87d10472d99de1b9f53613f3efb8881e95f7c4475c7d852ea34d10719583066031898e05e1af9e6a01ed999bab839efdb9ef48a25d23501e4168ef70e27aaa84f03bb35d8fad0c5f367fa273c47df4348cc9c683fd883e17906abd75b5a5ead561a03c4df04882c2eda817bdaa8be45a920f6949e834f8f688653f35a0e5f8914fe83036d46b1b4898c3dca04713a4e46ad4083829a5072a0ba81f88b879930aaf046a30219ffff03abd24080565506b167d8d46dce5d950b9eaccc3f9d0c4ecec89b7fa7c58e4ab403434c68d9a18c4484128ec0c6a9d07c0c49a30f727b99a34d8da45474c37e0b4c03c614b883c9770394c0212d5b890a36be89959f5b737021ac7e1da81bf70a0afe038e7696e4db6965523659c8cc850ffc33a3022a3c25e0bc5101a69b858abf71fb0349e00358e1065b0046e743af8155ab750ae82d151c7b54203c9948e0aa1ba51003b62a4a41ec9000d36f9b4e6481cdcb55517dd267a549ce12a433454c91032133036efe61fbf9b930f35c0fba1d2f5a2896123b86bd46e7c5bad940c3b44dc2bb3703ac0a7fd1ff380e9238ad59e41f7a057894b1cdaa4e48d8c6d030f70d2d9f7fcf03aa73934b8c9e82cc9ccce03d4e63860e8e3a957d504edec52e4196620d674baf0340dffb2d14371186f38913c8b4bdfb01ce741e77250e439d9b6eee01610001d5039bea0e7983bca628f9776bcfcce895a3d8448d5c6e5dfbe2b45116c369d118bd0219ffff039dbd7bb780b0775b969d0cc1a54f5d9b48a3edafc304ea4f0db5a7235af0e3b00219ffff0302cdb15a6a7e7eaab11559fa85148662c24246b40fc3880e2fbda6028809df250371f22fda4dc407fcc681cf4e48403fd25d9507c2e214b16a381cf891012ea400032928914ca2484ead3cd661a9b69e57717500acb45ff562f7a9ee200531b2f5240361641038e83c491cc7248255cf8aca387742eeb9008f2343e37faf6ff26021220309468934a051fa5867bbae41a6228dc3d1558d2a8e2c42d675cd84461dafbdf2036e827641656e1d9c38c582c9a5608378256b89f55a50d693c05bc8a83c709ca9032e78e41f8734d9162c7941812253b54207a98163c7e35bde07fb6228a1b2efa0031d4a73df7e162866767a56d09942c5fef366787fdba120b2321323f3558bfb4b03055c2cfa66144c71b2706af18d3a5996b2d1b71e7b267b85b026982d78f14fb803d902b9d1e899e8ee5bce92cce6373ab67a22f1f91ef6dac7aa0fc69b9eae200e03dc31c240b42a4c40e253fda2d3e6206dfd060cb36d0a90abed994f1ee605f7d4032414d3ac37a47756377435b445925a8918a8e7085e0bfb17183054784b544c2d03a44cdfb925ea689ea0a4262207ea013d3f25bbdb9b5a1664ba1f66b1441030ab031a63ba9ab71321b593986770e4df836a8d1027f1ebb6a9685d059825d932210503606f30f1238c4d37e48583b159a70bf4554adc7d31e848db59610e7db9422060031aa506e15a3b748f966842014c3a100567fc5fc6a12ea596962c06751c2f9acf032b2f3e7dfc2d398e2ce86e5768f21d4a0883d501bd0b39271f5a1870791bd4ab03212a9db0bc63268c6237e057a6353680eeaf2917361fc013ae78a6faf38b21d60375bb3714411c7aa87c6f37140feddfc53c7308d83ce2c1c02a47e53491156bd403d1f3ef397485d57409832519dad05e7c0f58532d34e4b78f1f3b4b97327755b903b659b63879c7fd9ed884b32c21e03e5797bfaf4c9a4e1dff83051fadf0111ac7039b01df5b5065949012b26654e39287d50ce98ec46406f2bde75864cd6b10e159035f0704e009c00fe62a247190d8e11c2fa63ddcf8032f98adfd1be463875af530030fcfa0899c5cb111b4f1e7adebfc2a516ed762c50bc7a76ddcc5336e1976a2920369d9eed391fa9ad4308e20a536e08fa64e388f387986008496645118379e197a03203b250db66c024b830ef8fc8df79f8641dbc23cc9f5dc1cf54a2887508496db037025361d83df9f2e5fa953e619ccd9e1350bca1958763f3d25805128a2b5ca4203c15ed5ba77ee1730e5c17dc2827154972108fcd9cc99c03aa83eebac8bb47cea03556aabe763c874df346b18cbea9e179e0253e35698eb5a80a9cdcb9081e691ad03fffe1e841b648587a82b9739bd0035b44715c7f116bfd135d547d630a916a65903372509342b031d98993cf3ab678c2498966b0219e2345a74bf7eafa6a8d8912b00581f03cd5c8205eaf766cc5f6b57a4a3d013d2e30665db17ee39411bc0572bb1604e0702cf62a56a14a1371300c602d700581e02eccd983af52972555127c6acd38f3177d6d4d5308c85416fd19b0fb9b64e22c5e62968a09e5d092c010cc25a00581e02db87b0c80456fa662564a4dadd9f1cfc4ce72ed711c41cbc9130afd8c24e6ab1107d953c011d2e95010097ea00581e021255d92c82100348e572a9bfa6c1a0d8f6d965bab40c9d3d43b4e0e9b84401346a4503332136ce4a00ea46d94943342c6d45fecb71b9b7b42efbf9e797a3c5e364d08500581e023bac4348e9b8bd5af4deb3d19ded19540f73cc0f6c148a149cab111d564e59113dc938de398da5e500e59557021923a003c58d3e5862636498814193361568603c5c2fd3f412dd22aa212eeb0b1f4edbdc03f10c0eb2682f8a28aae95b1e8364ef0327665fb68dacb1f92422e5ab19866de901410a00581f03c1c694f963ac37f1211e62cd5ab5794bc5c64d506a56d756eab5dd87eb404e02d37537ad6dfc3972340127a93f0308ce190f73356c38562b47ad3c7e9862caa309dc596dc043c8d0d3ed037797b803683424e7a4a0af43dd2329bf1ff9fb999882a487e22d47233c36323927420c7d00581f032460551f64bd7eb87fb1e902f0f161083f158cc1f236f7eec6ecbfa278b04d823f043b9998b1560c00edd21203bd06608b0acf0d96f50b0960d7fd3ca1910364614650fa9e914536cf650fb75c03d2ed50c7a4854c4a77569e5c8f912841003cbbbb7d6a3f10f84c6781810780f70335ab9c33d393be7bee6d9aeea9b1807fb3d551f3217dd1bf680c97b1d54219cc021967ff0324b29cbac01635182b3d4310e82db32d8dd5d980c24c5ab5b59576f76321542a039ebc115c3d19f3762597d98ab61bf62b66fe5855a8f70f49edf581772e602f4b0219ffff037dee7cb7ed593ae7fbd3a1d5b1837ce8b7d2f31c20f48b4c43526d257f666ddb039b302e896d2046a411d844da59b09816e9b36dd1fbbca21ea1c4f97ae878c94f0386bae87bcdb08c849f23fe8e21886e8d2681dcd2c9487612bdd631150e792f13031d1948d30876387042e1673943d79fbf0b6f853c8c31889668101eae51db5ddc03c37eae43cd1e4707b677dc5f75e18a69ed4225c1c7a9ae231b290cef003380fc032176503b24f326607852e283e4bf3d89a6e28f9a873f140f5a18f79a4e7318990219ffff0329214c6fb4603c0a9dbe3fdd15970bda26341b520db12b21178d7bbb798ce6d403fa3e9f5f7bfbcc0831ee307f353d14330ae8f47b86bd44b551dbc9d498b266320365173058d53411313875083888b23507103007cb43815d62969dd2a10b99561803bd01e694834a3445feffaa5ba7d6ede5b6c30d215beef25614e3997a03bcbfa103a44ccdc91276805efe3503d57b74573e376147897143db9ac5f1df73681e040b03ca18039a681063487da33f14801a695256226cae62c04ef11f7ffa7ed1614e1b0385f954b9212675090833a719b99883243b974d9c77229edef1437fccdb0cbdcc03fd8fd96398356d2a57d5aef4a5fcada351c89481e7a2ee7870ebecb4a604e6340219ffff0317a270695d24c4403d82e8d608121865645a681fc8228826a69a121815119e77038073e5d9ee3472ec9de1c8b0acafa170b669d2b38de917b9d171a3168fa71de1038fc4552954764f6b7846f2823433d0ab1e4a7f28498cb376add746eece93f7a7034f88553aa0daf1d37965aa46fd3ff0ee72e4366ea06a99493bab783bda3a1067033a8817f2e5304fcf2da1d9a4dbbf9b1e0fd931568c60d859859200762feb073b03737bc5b9d65c340acb2be5f476f29537053d1e5133322a7019ab6e821ef269c3034dd9b23cc292cb1e50bd93ad0ad161f5a658da4addbe3aacec2b3a37574f22f4037ea6f37f0ea82bbb66943b02e3d02011b580b86d05e008265c618c8d928d809e0372346605a2cd8567c4892958b44abe813e7fdf8afe1e70d0b28bef6858fb7623036eb17afbf9fe553902714b9930c3e49efbef0ca3aa1204a6d2dc11ab2f4cce74036383cbf61f1833deedde7684dc432c5a8f36782b3c8b07edc4362b5afbb0980403b20a81a27813d24c846aa5db492ab9880818328937a8b7ec09524b8ea85bfef5031dea5ec3606242b1013528101923d63fe68c4de2c93862c4d6c95b28796ab65703d833550715efb906fe90bf70889cc4fcd60baceb8d983326c257887a170e99b303a12f64fbaa1a782e34b78584e1411aa89569c688be9ccbb2222e382e6ba9ef0e03170d085028cc5c66eaf43e9cd6816c89a58a64c938164b0223645dc76d51aa6203d697b827623e051e52aea2f542dbab6bc951e8c7fee248806d2ee75a7a79ee0503d00c353bff446532b2a8777ebb5177748938192e37df985f3d82b375267fc9ca0306aa53fbac67ddc8277cc948bf09397cb9b383c4f8f91f2f68aac074c986c2a7036147191b7116ad61fb9834a4ce54ba99f614d0ab0fd3310e8a628ab0b3bdad40039a66f2b0d2d342bcdc29b89d62529e0b35233585d2141e00d8e895a2cf32a6b300581f03bbe26e83d5c81cedda6b5c63e435e5434e0feb66a3ff087e209d913de3e04dcb907b58c04df460f600e3b67800581f03a409850a748e0ec5a4d5a148f6e5c3540c10a105d0801d287f73f3e59e204e0f19eeab386b6f87ff0100f284eb03e4a006f445142d638fbed48f43449bf4d90137fcd2d64754216508486e3b622503391afa9d6cbe340f93309baa32d824ae50e031c25dbe002452c56e8d5c9d902a0371b57c9af712c6ceb2772e39202a8b8c5b90a6f2b2f9902a64442968ee1d93d000581f035c13400198f12b76f08084cd1a0f3ff30661d652681f8fa0222602abe8a04cb37f39d55fd3d80000f9992703eb6678085c4acc34b2c5377274bbe072cdb6f619cb0570dad96756927eea45a400581f033854178021544d576ab89f019509c5eadb85aa500083b06f97bb7df8f4304e9386f84610fb3e5432f20123cade00581f03736ba80110b32ee73c7f73c049ac8388bdb289a97d39b85a0012c22be5c043fb770900581f0366224d0098e2ebf58bed61a86ba1e1b016881dccc8d5e54eeca4985d12604e2dceea63f7559860b06000d83797030185025ad01d2247529f456040b2a11ef5a690d74fdbd7c509ae31eed00de24c00581f03c2be67d2aa0739287846e2b3dd4224a39c60cab92f4af422d190608db65043dd8ef10367217a3028e71a0ff596a8f65496eaccb6657983343f599b0fdbbf9b3869d87203aff899acd060ace12be519ee3c85b4d3f52aa349a2226e7e5c3d05482b362b740219feff03becf85995097ac8a8d05799a0575db7d9773ca33d107eef1535b227554d1632f032a81bfcdcdd32950ecd8ce58dc31fadf732f3e1fd0ce4d2d03abcf2cfd058b7203f88e17eb28b6d527059a942374970a5ba03e86097eb5800c9aaac161f8d0acbc03ca1bca34f9721c68642fe0e75738a383b4b53f8ff099647d1c5e6fe4f49a270d03ab939291c825967bff85bb79ec8a992bf56bff30e1e237893e9190356082a83803852f4fd3323fac820aebd7a3a1a17350c697788738736c912493a795ee796863039037815c9efff59849ed4b27c98359ee8e235af4713656ca7a96eb3478d3612903ffc7ad19f9911afe56b02ef1d74c5acfd4a61c31e276b5814589aa80ec32ba2503aa583eaa1150246411cafbae179f8bc31a625b6901cd83bd193a4b9d77c6427903c6dc1ac8ac26fc2f42190c131bd40025af8fb23d185d5159a630927490673b030219ffff035ad25e086874175c84e1915b58bf3b70045027b12604353189595ad065c4f0460306f908d3bb07be9df4874fe7868057f47a443d7e44133ae678cd5775efe5406e03291d88e5647475c3eef138ea5db741f03f7e4e192a4ba27e73ca47faaaeab98a03a6dc55cc96fb61235c5bedfe90c17f7a841f7b3776df753dd9066c9a7a67abf00394ee650ab82285efdf3f7fa911b062830b3a381700c2b06037e4bde0b60c50f203fc398ecc19685f017ce8d1a7d25b371ebb32c98967016fd5e7527b260a5dc0ed03ecdc38d17955106b36298b7a072a0b5839af408f9196dbe74d6e2930375c8bd903235371248cff2711d27d54da65e9c091fa435b674d7720f6a8a7699e9a481f8903e73b798b2146a6e02d7c2c0d286c4ee1f85c15e365f6266bf78ec7e8c8e3b785039827370af2ca8264320990a1c0b409bb6f62f078485b5065fb6709085aa9d9ef0364db2d0ca5a88092a29f619144c46b8c0d29dd763266cda98350bf5c3d18c9790219ffff03ef6ead6e2ee93dc0fdaa639d389f279ef908c0268e79f4ab5d461f3bb301a6850320f5db2fa3926918eadf7218064569aa738fefb5efedc355192dba36671b38910339c633f703823382a1ec0db7487c37328836b15fec6ab85a2cf80ac8cd38d4a503805143a857f299018e26c7f0eb3be99cd103d7c472be469ce73849c4389e854a03473b2366e196d5d1d674043c8a342bd3b1f34bcde3adae788466ff4740625f9d0219ffff03a6a4f75dee4478c47c78e8158bde90d39f21003653ee2c6dbf000b172f8d6dc50356d2e66dbe3f1c9fe5c7c51d6c07bb9432a833ae687b441a08b3cc9f71d8377e03e604681c880b279b79ccdc453babe030f7901716f667b5144ca3780eaf15041a03957e7e393669490cad1c0a0a3e47293313bfd2cecab7b0ab9ed935ceb77b6547039f82b78d13645c02e3cf3af2b8db1653770d9774bde00f3484a3284243af063a0363dd6d81d683efdb0ca03f878b4ae716da0edd76b3cd0bf41d4b1fee4c06e29503376a924f81c73e916291e94f78721fc7cc56cf6b04b1fa8405699872383b052c03baba7b9b60c2ed72d2331005ec92aa5e9efc8973e43e98be39a49b25ea27276f03864cd002685acce59021ad2a58f12c06d23166afaffc345c8e22727406d7dca303771a78b8ac671b3c0d5c731390b5f4f503e169aa8220e9f8381f21f648f324b2030224bc88a57794415208218fa389782d8551ded9d58f2688a86508b9666eeb2103f88c007de64650aff61d107d0b870c20861ec7d52a8ed5250a6d7f288e564b6d03c158151253a6cb32f93f266d7976cc77a7cf1c1eecc80640f9403be42ce79f7603d4511e045bbf0fd2fc7d06764ef7c4d3706e6b76fbd166bce38ba945bfd6cdeb03341772a2a87fc792b4dbcfe6c435de04e9ce1a572229e3e8e7189b4294311f1f03afa27052eb87c5936ffc98e8973175154bf6fbee3ab6b5d507bba8704499ce5a033321e30bdacc380fa6e5d3a82655e99c685e0de78fd0cb7a61e7d4bfa4bfc28b00581f03c1abbe26720c618d0d6c9e53ede24969308bfd9309bd83c81a83500487604d07c959aaf79a8da94f00b84dbb00581f035acf14e0b5e02b5ce59ce2028c805bc96485e6c6e46158adf9b24f8789c043e6b08100581f0315669d3795169f07cfc0ff9ec15c0b55e09d53ce66e865779d6d2b173b604c64b54004c71836d800dbb7900307a34f8e8c83bd353a273f50b608f99441b7237c176d931a39f52bc6a9148d9c0383dd26b5e8e7ad9b99c8412f29ad387210c821d66083b0128a283cdab3f301ab00581e02e61b0d701d6bedfb0e29ec436991fdab12cf3feae2dc5c9ed006acde434a03afae9cd40f00c7d84100581e0224937347beb843d60f5d09318ee153ab1387547316e00cef7d0edde6c24e497de697c776f715a6ee00e8686502184400581f03d88785a5036b5c535cb537ce70bff81e3b58f090300e328cab98105429c04d079078f4cbdf541164010354810339dfe350954b5e025867592afc600bd7d972c7b53e85bc460f01cd0469ae727900581f034ad91c481fa4069c8c13a44d15ce3c6d37cc5a20384775b8422213dbf36043fa499e03d370582e273e7e5f5bfafeaf0542314364fe54c98f70d732c737dbb3b0008c8803ac9e472c9d4164f2d4e912cd7978570aecb8212c95355af99518289d215d5d7e03e71d41281395c4b24c5d10ce05d9752453c4fd9d40273122f8e619fa48d196c30219ebff03913ce257e5254df6df14bf0b1d6c35e40921acad3bf1d3875742cd2277a183e60368d0972f0cc9ee437c21484ec1372ee5c772f49989c801e836faa5c1364473b00351088b15e22785de1698b3bfffc0344f82e44f6efff38402a1d7fb61a2002c70031a8f7787057afac60a122c2ed81e658ec0314d37e1c9b03e67de11b6f0bf2733038b77af25ec6d962d5b63a7f15f413a20483f450a6ab61bc513143f0523e0a0840335565ae513b0944307024c66e5c2cbd69129b11615aa637198a5d02f157a7cc303b4003f9d6ae60803bd61ec3b1d2e00dd4c00dcbbf8da8b64b7be6a37c3d25c6503470a6994bd93eba29653b949ea7f7d99c1c0fe3e45513fb7bb970583da2792d80372cb786a1771149f0258ef8d86f33d60cc7297f366e395b8683ffdcd1d83593803fd2b1570bbb58848ef8e50e0901bc1a386298bf71f839568c0f00f722491777003b7a8a067904042afb500316b244425b76251a3b26d6869fd45ff20cf0c57316a03dacc9ffc4d354124fcebb019130261330db951d0d661d901410dab0262f7a40d0219ffff038eda53dbcdaf27692f6009c52836a635e2fac3d045c5663891913f2b50820449033fc5eb34e1624ada5a9566ce869b3bee948d596b9a4d3b345d865a9b35d54b28039d0a3504f384877d5e5f21e9932bc52738030f19c3456ec6856afbc8a4d31c0103a5519aeafc37608843b7557240212500e0011fb04e5c733c052ead5f5d29736b03afbe98d6bebf1d9006dcc958a9f577528bc51d6a3a27c72e14bcc6ec5db2cfd303565e2792c0b1df3f427e9a13d08aa0a008836f6e947bbb9bff3895509291db9603100a39008107be0116c9a6c12df64eeee47973a96a7f3f913dd64c2262b079ca0219ffff03eb540712680da2b5aba94e0b1cf47f83290271a25e1c75122324d852669ec7dd0378d9d1357828d81b90308fdd0260ffc85313d72081e1c346bab00f92e3b083350314234e7417276257165b4bfa089ce9e610c110d16ece12f7f034297846df66530353d42f546f8d270d133964c443da0b17e42f9debf0cd63946537b62017fafb1303b149625d8a0100b7630601fc14c31390a1081798849b2260662a1ce52efc79b703c13afe816d0f4aed2bccbbe07e89cd8c66776fd8139584d61129006a531b8ea803767c8d701166b43a13de70d533ab2c753fd29de669d53d8a29c61f6eda23872b03e988fb08e9ad277216506136e0cc1dd4028c920792da87624b45df8e200a3353037072515eff9fed0e01b3844831b2b56a7aa37221a3617f2e50ffbbeca59f3575032d9c54f135b0b0f97264ec3241a59608faf0cc2eaeba53f0bb5e8abc4d3571c6032d294e6836c559787f89f16db29edab2510c5039cc95a590a2bfc996672e46cb0219ffff038c7f22f8525a290c5ac63d196b70f607c1b7484e25874b5871833aadafa762e10356f421cbb1e1d6971bb55b6afbbf67dfa754d210622df5c356a1fb74209390b4034547d6f26f6858e3d9dee26c162e5325437edb20215365bd706add5e174da4380219ffff05581d02388a38e67904920127d61ba5d60e91749766c93679f6f2cff96ef57e07011931e105581d0291940e4ad649353c164914fdebbbc0aeca11477dbd06ed6f0e5e3e0d04050219508005581e03405efcc65c160b7dc6bffe2426e30a2ab34dd2a35265f5e17365deff100c09470173dc1cf12d4d05581e03c41a428617fd3d54c3885536114a19f68dad60fc773b8327d01111e3700c01471d0fbd9897f4ed05581e039eaadb12a703852ddba353c5edfad316f25481635eaee840738a99e4600c07464de056fc62d0037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03e8d40f24c9a4bd36818e5c49a067aaae2f347c830d7c37ede2a3522cf007011bffffffffffffffff03734decc2529145b4e9ca77387cdd03fba4758a202894de8baad83bbffeae87a103686ffe0e0ef988db6601b5715d6c588d7a8d3bbd3ceb9ca00090c82ff9631460021976a703ebd86cfad2786c7f31ac9f99d8a8f37762f6610e49ab2ba2986758139bf9ce6503a1e73791ac5812cbf49650388b6f2de8ef51e4ae8414dd29d7434d9da57652eb0337039df6ffe0a6d0aa55246191142add3bf9e8871cb5bab55211f7e12fe549b6039e66086e03a4b36d0c9da5d013f3ecf7a914758b1f7da3e81502ffb1a934208a03b75cb3ef004872539f9b6f8dc957f8a16da1b219eccf18e149c887739811ea9b03617b51b7f5eb3546fb1524d166c8de8063d25a1bf810d36298d48b3d845766ae03c486a8a65dcd401330e56befd344f996bba3fedd195cb346b72c442f3dd57b1003554614d443c19302a50cd8bb6d4559db02cf8717896940250d119dee853e3950035782e1dd02190f5fda829f3df2e01e4dd2948c37f672b9cb024e25894036b5f4036b8dc699a49d85c27221056f0dd6ff8701841aa1450bede801f263c7cb05d9fe0316a18443f4ef02ff5f73bd9b456ee208212fc82ba4b3ed5a1df75507e69cd1a0034ef36d255ae5be3578ea7b6eda6a04fd84508151b68c0f5870cffccac80dd0500322254d15ac98995b42189b4d3ef081070ff3ccef5249d31ee087a277fcd9f9da03a54d84d7c29aece8670915150dbc78b570993fb4ce3fb206d72cf3da98b26e410219ffff03fa71cbd13f6c5e7d98da995cda9717b22b2b58c998d63a86c304cfb3b20bc13c03565fb5e36bed275d2ef2158caf7cb7d20de8fc6221e4e6a83f2b55cc1fe73d1b0219ffff033e81e686d079483f49e1c648990c80fdf6eb95e106173f80ee5a8fe607f9549303b77067c86536077756c2c6c9e5d96fa1b7d5c5ea28b21594f9a5501c204c76ef031a6da0b213836ca5355c973482711634f0b08a0394faab916ab9fe7e66a62a3d03e72e73c1a8df489b692e8b67d5db94639a20c0bfc9bca74d92529c7ba41b1aa6033dca9157b7b28b8d5a88ee2936a79cd03d4fbaf58cbcc92741ed198a343194ff033191d5c5e0bc60ec718e12fa7d66578ca3c6b5be7399a237e7189eeecf274fe30219ffff035e5f7daeca7eff517febbed951f1613b548a17af9b263617dfb24f972e0205bb039bd425b8f57c70df657d62c54fff6c38bb944437d7a0452f85eb37a444851c64034d1542f59f4108847f3e1c124584685791c5edaeede14dd27cec2b8ab3ae8bf9038e7cc128a6d09f0c632835712769b2baacf29e8f557ccd659f31ada4863f9c20039f72e8ccfab84843e68a66e4cafed1aee5ed9cfbaade646727add14c5873966603751556f36e015497acaab93b6fc2ee56313e808bb92ef91da7f6fe8e507fdf0003c2d9fd391ba3aa0e1134bfbe571751fb7d9e36663d803b8912dd7446913b351503550b18a1e98a6a02a02cd850e8ec4212b5ea02b03a9cdbf3b7c0b3552b6304c903df386d571973c1c42137ebdf8c326e7775afc4dba505e78981a3e038dd6fde96030d32e45b69bc46363b3c4884b465247931b93625d6ec82072cd23dab4403f86f03e6760750bd0f8dfa5f995a12d51165cd119b6427a0302f42025fd301c2b832c1036742d03841a904d1f6108a815afa1c9a9d61fe11181b9a8d73a7ce561fdd5c23037603f289bcca310bb90ec090db86e1dcc5af26107e5e8f855375a88322db64a40219ffff03753e03c48829234c361a80473dc1b138180aa7245450678698d8ec23a91d55b403cd7fed6f09caad83da412b301eed836c5f0b75c1ad33b71c2fdb7fb393adc45f0325414cc5bfcd066e5e61cdd8bb656b23191dba6b21eb818bce45ab92c4e7ff4a0364c0b5313ea50a7aacc245c466d49c5cf3e1c274f64a1a15f8adaf29443b71480323b4eb4de9be72e234ef4602885758ce49ed3625cb28f883cdedfd08484611190365df38c2615b27734642172a1aaabc2ed72da5e160e0cba208a7340e1c5fdc2b03fc533673657f03f8841f44919076d46f39cb0d72e1d317e008d1b485bb0463ea0396b8771fa65983f598138a05a25e7deeaea546c0d99935e13d2e349839b68aa303ec3bc835a89f3f4022ed3f3eb52d0101b7e230b916ac9bb9a4f83f42e4f818bd036a060fcd2f83cb1344a5c023cb6300ed48c00b05c0f0303a0debd53fea5fd07b03ef4594b8e47b9f4223e803b7b148f6cb3aa50a634799463d758ae09ca76a001f03f4d9765ec58fead9c498e33823f12bd151f5bd7fe5cbeaa719ede53beaa2b892035d4ff637d8e3945d02c62d23d0f3338d4d79fb778e614e6528e3e35c1585b287033b679896c40e454a17c0ed0eb9ba8984e59fbdce3b8a451632830094c655ba0b032dc5a20690c1f4d8e0f36210e73b1a92e5df43bf7478fb59f8f50caaee15b23f0314ec7c4ffff8a4dd184ffa0348e7abd88331d7a96a051a23950526e5a397328603a865a0e5dbff6b84e9c33ae4ab31f4aa3d0320ecd26f0d8bb20486b29441845b030da41c8b7ef4a8cbdbd3ccc76cdf37e1612fd6adbf1bde4aa7cb552399e294db037981080a02b1ec09456499d8aaf27504bcdbbd1efc00cd917b0159346e3606d203b1d098f06b868e22485c71862ff9b89a89978c4cfc56376850931f6595f5eb1303cff5bac468176965e2a4d3bfb19d35f85ffdf8f43daa3b25e71144a16b24d8c503a6fb179fcdb0a04cd688e3897fd7cb97bde63d130c239020289dce69dca18dea034d1c95df2b5ac0c7d8f31fa50fa1bb54860d57dc5f9dce8d5a10f91282328757037eec41c5ac2fa275a66d797c4a79b8f7caa94da61593703662a8d5e1c4520b25030da76db1c37ab1bc4cb79af7524dcf65222f40e29daef3d30b3476b4d6286a9e03723414c202e1d5f628c953b21fb75962bbbb0ea6da082bbbbabaa5a3fa57c39a03a7a663dcacb9a5acc13fd5b0c10933f61895edef43431e32d43997592d03dc24030d01ba8cdc1d22fdb3afa801e6c1347850665fc5389e497333c9c4ec8e1236df03fa8aa6f4a73d3f1fb0598763b04b3818408c98f0d520557eed57b963412e0ebd032d6b00419cc517250c42541a7f50afe3e90ad1792aa12dbe3e388acfe6f6b74d039aec6eb8a64de6c8fb4e9bbae34cc09a2667eddebbb585d4cb5264b193e0533a034c7a79fd5fa2bd35628d79c6a2f03c8535b634f4d74081f4ab6af320c412f59603a7a293a1699408e03be2f671049d440b8437a643fa20be6066fb5dbc0cc7b3ff05581e03db6fa8971ad16c5dff0df61c983a6c5735b13dc7d2ef55a5dff37dc6100c0147012ef35e16650005581e03829b8b434022a63cba8fe236649a2f2cc1c1569878795dc6ccc39487b0040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031cc3c1014051f7421eb11f39d4bdfafd216f161720ceaf06e74cda37f007011bffffffffffffffff03d9341e9a79236fcf78e02523d3655b8297ec4328c6f1577d949e7d07765db30205581e03d87c983935083aaf8af636694de96453713cee0fc83260aed3eb33b4a00c01470124efdd56e98b045935a63460ff164360ff161473ae2fc483527b8ef99eb5d9b44875f005ba1fae1333141660285761342f565b5f355f1a60061b5600000000000000000000000000000000000000000000000000000000000000000000000000000000022c0d9f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000005b00005b5f5f60a45f5f60246101825f393460415260023560601c806024525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af150608460595f396004601646355f1a375af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b0023b872dd0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60246101825f393460415260023560601c806024525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af150608460595f396004601646355f1a375af1601a9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60646101825f39600486601b0187601a01355f1a37856002013560601c806024525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15060a460595f39600487601601884601355f1a375af190601f019081355f1a60061b575f5ffd0000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af150608460595f396004601646355f1a375af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af150608460595f396004601646355f1a375af1601a9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60446101e65f39600486601b0187601a01355f1a37856002013560601c806004525f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af15060a460595f39600487601601884601355f1a375af190601f019081355f1a60061b575f5ffd0000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af150608460595f396004601646355f1a375af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af150608460595f396004601646355f1a375af1601a9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60446101e65f39600486601b0187601a01355f1a37856002013560601c806004525f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af15060a460595f39600487601601884601355f1a375af190601f019081355f1a60061b575f5ffd0000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346021525af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af1506080605d600439344652600460595f395af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346021525af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af1506080605d600439344652600460595f395af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60446101e65f39600486602a01874601355f1a37856002013560601c806004525f5f60445f5f8b6016013560601c5af15060a460595f39600487602f0188602e01355f1a375af1906033019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346025525af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346025525af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f393460081c6004525af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f393460081c6004525af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b4646355f1a60061b562e1a7d4d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60446101e65f39600481601601824601355f1a37601481601c016010375f5f60445f5f856002013560601c5af190601a019081355f1a60061b575f5ffd00005b3446526004610aca5f395f5f60245f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15f5f5f5f47335af11660fd575f5ffd0000000000000000005b33ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60646101825f39601481600801603037600481600201824601355f1a375f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60446101e65f39601481600801601037600481600201824601355f1a375f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60446101e65f39601481600801601037600481600201824601355f1a375f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60a460595f39600481601601824601355f1a375f5f60a45f5f856002013560601c5af190601a019081355f1a60061b575f5ffd0000000000000000000000005b60a460595f39600481601601824601355f1a37601481601c016050375f5f60a45f5f856002013560601c5af190601a019081355f1a60061b575f5ffd095ea7b3000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff52bbbe2900000000000000000000000000000000000000000000000000000000000000e00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6044610dbd5f395f5f60445f5f856022013560601c5af19046019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000005b6004610dbd5f39806015013560601c6004525f6024525f5f60445f5f8546013560601c5af1906029019081355f1a60061b575f5ffd000000000000000000005b6101c4610e015f398046013560e4526014816021016101303760148160350161015037600481604a0182604901355f1a60a40137600481604f0182604e01355f1a61016401375f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af1906053019081355f1a60061b575f5ffd00000000000000000000005b6101c4610e015f398046013560e4526014816021016101303760148160350161015037600481604a0182604901355f1a60a40137600481604f0182604e01355f1a61016401376014816055016070375f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af1906053019081355f1a60061b575f5ffd00005b6044610dbd5f396014816002016010375f5f60445f5f856016013560601c5af19046019081355f1a60061b575f5ffd7c5e9ea40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60a46111b05f39601481601501601037601481602e01605037600481602a0182602901355f1a3760048160430182604201355f1a375f5f60a45f5f8546013560601c5af1906047019081355f1a60061b575f5ffd128acb080000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffd8963efd1fc6a506488495d951d5263988d2500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000062000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000128acb080000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a800000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000001000276a400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000062000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000005b60246101825f39336024526004356044525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af100005b60246101825f39336024526024356044525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60e46113fb5f39600460166015355f1a376014601a60f037602e357d152100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af15f513460181b1160205160445114161660fd575f5ffd0000000000000000000000000000000000000000000000000000005b6101046112d55f393460181b6044526014601a60d037602e357d155200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af15f515f036016356015355f1a1c101660fd575f5ffd5b60046101e65f39336004526004356024525f5f60445f5f6084355af100005b60046101e65f39336004526024356024525f5f60445f5f60a4355af1000000000000000000000000000000000000000000000000000000000000000000005b6100e46112d55f39600460166015355f1a376014601a60f037602e357d16c100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af15f515f033460181b101660fd575f5ffd00000000000000000000000000000000000000000000000000000000000000005b6101046113fb5f393460181b5f036044526014601a60d037602e357d16a200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af160205160445114165f516016356015355f1a1c111660fd575f5ffd000000000000000000000000000000000000000000005b6101246113fb5f39600481601b01468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16a200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f51826016013583601501355f1a1c11166020516044511416906049019081355f1a60061b575f5ffd000000000000000000000000000000000000005b6101246113fb5f39601481604b01601037600481601b01468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16a200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f51826016013583601501355f1a1c11166020516044511416906049019081355f1a60061b575f5ffd000000000000000000005b6101246112d55f39600481601601468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16c100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f515f0382601b013583601a01355f1a1c1016906049019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000005b6101246112d55f39601481604b01601037600481601601468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16c100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f515f0382601b013583601a01355f1a1c1016906049019081355f1a60061b575f5ffd5b60046101e65f39336004526004358015611b13576024525f5f60445f5f6084355af15b602435801560fd576024525f5f60445f5f60a4355af1003c8a7d8d0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001af000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6084611b2b5f398046013560e81c60020b602452806004013560e81c60020b604452600481600801468103355f1a377f1af00000000000000000000000000000000000000000000000000000000000006101245260405f6101265f5f604886033560601c5af15f5182600d013583600c01355f1a1c11602051836012013584601101355f1a1c111616906016019081355f1a60061b575f5ffda34123a700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000004f1eb3d80000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a800000000000000000000000000000000000000000000000000000000000005b6084611d1a602039806015013560e81c60020b602452806018013560e81c60020b604452600481601c01468103355f1a378046013560601c60405f60a45f5f5f5f606460205f8a5af1956024611dbe5f396fffffffffffffffffffffffffffffffff6064525af1165f51826021013583602001355f1a1c801591111716602051826026013583602501355f1a1c80159111171690602a019081355f1a60061b575f5ffdff5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f000000000000000000000000000000000000000000000000000000000000000096e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f000000000000005b5f5f60a45f5f60605f5f60445f5f600235805f527fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000060145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af150608460595f39346021525af160fd575f5ffd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f600235805f527fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000060145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af150608460595f39346021525af1601a9081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f600235807fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005f5260145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af1506080605d600439344652600460595f395af160fd575f5ffd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f600235807fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005f5260145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af1506080605d600439344652600460595f395af1601a9081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f8b60020135807fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005f5260145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c60048d6016018e4601355f1a375af15060a460595f39600487601b0188601a01355f1a375af190601f019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f8b60020135805f527fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000060145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c60048d6016018e4601355f1a375af15060a460595f39600487601b0188601a01355f1a375af190601f019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000005b610126611b2b5f39806015013560601c60c452806029013560601c60e45280603d013560f01c6101045280603f013560e81c60020b602452806042013560e81c60020b604452600481604601468103355f1a3760405f6101265f5f8546013560601c5af15f5182604b013583604a01355f1a1c1116602051826050013583604f01355f1a1c1116906054019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000000000000000000000000000000000005b6101c4610e015f393360645260e63560e452600461011b61011a355f1a60a401376101063560601c6101245260843561014452600435610164525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af10000000000000000000000000000000000000000000000000000000000000000000000000000005b6101c4610e015f393360645260e63560e452600461011b61011a355f1a60a401376101063560601c6101245260a43561014452602435610164525f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af10000000000000000000000000000000000000000000000000000000000000000000000000000005b6101246113fb5f3960048160160182601501355f1a3780601a013560601c60c45280602e013560601c60e452806042013560f01c61010452806044013560f01c808060a45282604601355f1a60f61b6101245260629003826047016101263760405f8260c4015f5f8646013560601c5af160205160445114169101601b90039081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60e680355f1a60061b5600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6101246113fb5f3960048160160182601501355f1a3780601a013560601c60c45280602e013560601c60e452806042013560f01c61010452806044013560f01c80806019848201033560601c60045260a45282604601355f1a60f61b6101245260629003826047016101263760405f8260c4015f5f8646013560601c5af160205160445114169101601b90039081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b6101246113fb5f39336004526024355f1a1560051b600401355f0360445260fa3560601c60c45261010e3560601c60e4526101223560f01c610104525f5f6101243560f01c6061818060a452610126355f1a60f61b61012452036101276101263760c4015f5f60e63560601c5af100000000000000000000000000000000005b6101246113fb5f39336004526024355f1a1560051b600401355f03604452601460ff60d037601461011360f0376116a26101065260026101276101223760405f6101265f5f60e63560601c5af15f5160fb3560fa355f1a1c111660fd575f5ffd000000000000000000000000000000000000000000000000000000000000005b60a460595f39600435814601355f1a52336044525f5f60a45f5f856002013560601c5af10000000000000000000000000000000000000000000000000000005b60a460595f39602435814601355f1a52336044525f5f60a45f5f856002013560601c5af10000000000000000000000000000000000000000000000000000005b6101246112d55f39336004526024355f1a1560051b600401355f0360445260fa3560601c60c45261010e3560601c60e4526101223560f01c610104525f5f6101243560f01c6061818060a452610126355f1a60f61b61012452036101276101263760c4015f5f60e63560601c5af100000000000000000000000000000000005b6101246112d55f39336004526024355f1a1560051b600401355f03604452601460ff60d037601461011360f0376116c16101065260026101276101223760405f6101265f5f60e63560601c5af160205160fb3560fa355f1a1c111660fd575f5ffd0000000000000000000000000000000000000000000000000000000000005b6101246112d55f397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60445260048160160182601501355f1a3780601a013560601c60c45280602e013560601c60e452806042013560f01c61010452806044013560f01c808060a45282604601355f1a60f61b6101245260629003826047016101263760405f8260c4015f5f8646013560601c5af15f5160445114169101601b90039081355f1a60061b575f5ffd00000000000000000000000000000000005b6101246112d55f397fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60445260048160160182601501355f1a3780601a013560601c60c45280602e013560601c60e452806042013560f01c61010452806044013560f01c80806019848201033560601c60045260a45282604601355f1a60f61b6101245260629003826047016101263760405f8260c4015f5f8646013560601c5af15f5160445114169101601b90039081355f1a60061b575f5ffdd0e30db05b6004612afc5f395f5f60045f8460020135854601355f1a1c73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1906006019081355f1a60061b575f5ffd5b6024610aca5f39600481600201824601355f1a375f5f60245f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6044610dbd5f396014816016016010375f5f60445f5f8546013560601c5af1906015019081355f1a60061b575f5ffd000000000000000000000000000000005b6020610dbd5f396014816016016010375f602452600481602b01602083602a01355f1a03375f5f60445f5f8546013560601c5af1906015019081355f1a60061b575f5ffd3df0212400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b41b90800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6084612c455f3980601f0135805f1a600452461a60245260048160160182601501355f1a37600481601b0182601a01355f1a375f5f60845f84602101355f1a604451028546013560601c5af1906022019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000005b6084612cc95f3980601f0135805f1a600452461a60245260048160160182601501355f1a37600481601b0182601a01355f1a375f5f60845f84602101355f1a604451028546013560601c5af1906022019081355f1a60061b575f5ffde67ce70600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000008dae73330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000bd6015b40000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80dd93f59a0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80000000000000000000000000000000000000005b6044610dbd5f398046013560601c80600452816015013560601c5f5f60445f5f855af1506084612e5d5f39600483602a0184602901355f1a37600483602f0184602e01355f1a375f5f60845f5f865af16004610dbd5f39826004525f6024525f5f60445f5f865af116915050906033019081355f1a60061b575f5ffd0000005b6004610dbd5f398046013560601c806004525f602452600482602a0183602901355f1a375f5f60445f5f866015013560601c5af1506004612ee16020396060612f05604439600482602f0183602e01355f1a375f5f608460205f855af19050906033019081355f1a60061b575f5ffd000000000000000000000000000000005b6024612f655f3960205f60245f5f856002013560601c5af15f518260160135834601355f1a1c101690601a019081355f1a60061b575f5ffd000000000000005b6024612f895f3960205f60245f5f856002013560601c5af15f518260160135834601355f1a1c101690601a019081355f1a60061b575f5ffd70a082310000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000005b60246131395f3960205f60245f8446013560601c5afa5f51826016013583601501355f1a1c101690601a019081355f1a60061b575f5ffdc31b8d7a0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffd8963efd1fc6a506488495d951d5263988d2500c31b8d7a0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000276a40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6004610dbd5f3960405f60845f5f8546013560601c806004525f602452600487602a01468103355f1a375f5f60445f5f8b6015013560601c5af15060245160846131b85f396044525af15f515f0382602f013583602e01355f1a1c1016906033019081355f1a60061b575f5ffd0000000000000000000000000000000000005b6004610dbd5f3960405f60845f5f8546013560601c806004525f602452600487602a01468103355f1a375f5f60445f5f8b6015013560601c5af150602451608461323d5f396044525af16020515f0382602f013583602e01355f1a1c1016906033019081355f1a60061b575f5ffd00000000000000000000000000000000005b806015013560f01c80826017015f375f5f825f5f8646013560601c5af191016017019081355f1a60061b575f5ffd5b3273ae2fc483527b8ef99eb5d9b44875f005ba1fae1314606060845f3760605f2074ff1f98431c8ad98523631ae4a59f267346ea31f9845f526020527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546040526055600b2073ffffffffffffffffffffffffffffffffffffffff1633141660e43560f01c5774ff41ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c95f527f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e26040526055600b2073ffffffffffffffffffffffffffffffffffffffff1633143273ae2fc483527b8ef99eb5d9b44875f005ba1fae13141660e43560f01c5774ffbaceb8ec6b9355dfc0269c18bac9d6e2bdc29c4f5f527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546040526055600b2073ffffffffffffffffffffffffffffffffffffffff16331473ae2fc483527b8ef99eb5d9b44875f005ba1fae1332141660e43560f01c57000605581e0301f6c3949c69f9617d8cada9fa07b6fda3ca62cbb047761f4b81f57f500f0146472b71c633be1935a605581e039d23217cc1d0e25898a08368730ce1c3b413b7c4726dac94a5bb635c300c01461319718a50000219b7960327b8e0c185459f9aa10db0b86c9cd36420da3b7b7bde01c71629c220c885d03b0339bce1b888d21e35395cd8b0f003302278a618d5fda43f5e0e279de4930cc94203d30be93feae6122c5c83fcee4ade19d8593dc0e77a70a1352fbb785c9bf740e303deb873b1e8c27ff7cc35e9c20a82581575898cdd48b4ba9d47f905af045aae0103b69738127798fef850ebe4183e9c50becfadb204d2fe8a82c7ae0edcfc054f7903b5cf96681cfa7ac397bfbabe8f15e3bea0d64cb5c3e86c892b5fb8238899d040031539f0bda421922e26969d011b6000505a16c1521b430503d8b86caec8eb341f0326ccca40e69b5e8b739165789c0a3d1cb517789042fa21daac3b8a958be6869e0393eb3d942ea02eb0b8981a284886f44b6a1f2ca9529f288a0afe64f20925809b032935ed519533297ee0c42ee39db54c99bd57c6f9f076e91c1e89860ea458df7d030fa67730633207e5316cee980181bdc08dd23d9f0daf47909e38658e34390a340219ffff039ad59d99bc6fe6840948a4fb8dc20c90c86b9bb3c1d74ee6fe4180da9d56699703c4a40bdd868782e81adaa46705b72c0defe64dab82c3b8e5e5da80f43320a9f6039cc61970f5c19c255aab564e58cc849128925746dd86c21a58712966787139a10320202340c11e7f3465ab5f8bf98991bed2cfbeb0929182d7415c9f357c636e360219ffff0219ffff033a963237cba6a3d6585aac381328cd75724b92b8ac1a2b584aa6fe41ea34f07e036e6c0c03e499c337b5959659aca24d5bc9f6ce7c598696866264656072920e250393c45215e4299ca13b9a7d3c89a07fdda2549d6e33af204c4dfff2875205b6a203c5941e7111c68dcac3256b1fca079f1c247d1cca4a6ec4a9d7c1058a2acdaeee03cd12f89017414a36e5d1e117af299d7b0ba9f2e9073aa4beeb9223776e6a4c8303473298c84a3ed4e4db0b1067b16bf280c2ea71442fc9a569517e352a6bd480e303e5d12da1d752554ac6352297cbfc194ad92c715d375b5bd2d7d4dbbb7653ff7003b4e30fbbaba21b38279a3cd7c5818b94570221fa9cddd9bdc2e6d0d5cfc0cb7e03c709f965853be8c0b032519332ecee9ad1a0f76b08d88670b667da0579961a340323e53b82f67500d718d2739bdd6e74121db54978a1ee072440028fb7c72ce326036bab6c723a669ba93fad917d39e6f44b1e4bc88f33127e59d33d00ee75b4c49403d2ceb2b4217b61d4c7b4ec9382800231d8bcb31351ae1bc5b39f21b5f5a80e9c0399675a8cf5af4a9d3096edcc4760b39d6a981d41efcfacdc18f08bba2ffc7f8203dd22d8ed90f25e6284ece581aea339b51ce2ed41f39b1e82d45dbc876069f7a3034333f2191aa361bae5bff0a2cb162a95dc4e8aa801adccb13825602e829c4aea03bb308550ff1a6feb7df3208449993dfc84a6aec5839f44637ddd9c901efe775c031723f55e149c91723fcd6a1e629095741d84d8cc23183e47bf0b9295d3cadf7b030bf5bcbc944b096d3d3f83f9284bacf0f4868e8856610d052857e409c510947e039f3b8e5b2861f42fa4f2d41400c7b4fd58d271d8bb32ea5d25abf76f5dae24e6030b3882ae2a4ca66e11a5d62e228d8f92e7114e73f7d1528b2e31658999a098030362bd2bf37317e76101677229854a6bcc8ae45f618c80063d063ab383e5096830035e9f4c873167325bf31f327ec70b95305b0ac3781b347fd35055a9726768f36b03ff3b512cf849f396063e8f0c3edc0cea6d0700c838b0a3104a737d42bd63d5110356088d11e832ec9e149c540825f2c4bb7d222bd759ff5f676659aace8b3a10c5039f36632160ea78fd2da95585796fbbd86ff385e2be6933fc0cef7abf6be783e803d5374f14fbf6d8ce66d24ccd049e3ea654e2930a43269415309639c6c00c041e03c77334a56bbcd296dc977d613a0787d23dc50e386f38f50a8b2e19d3935b46d00318ce224ffd2c603c02b0eee89f0145f70b336094fcae79cb74d27d3e83c9d49503f2322569844078cec98ad89a6e78a14922a262993d5591aa7b57b48c248ec513033c42f95913d33a596d0ada1784333b6274524ebc5bfd031eaf565b068b97ee1103d1cc6f8d70d53fa4323791f0415bbc1c0e846f34817f4f4a1238b186aeb5b46403072b60748f91b67fd08ced02d2b9e21e6577d27d9585f827fed396aefb2dcbb303c3c0fcbe978a40fd7d8fe5236abf13ddad4950e1bad5608079cd866abae018b8031d942c5f793bd295e61894015b65c2a0b772da5420e868784603db7d45fc38ab03c8da0ea6267ccb6f8744e0324f60e1c4e050a758b4f5d503a207b7af44306ea103e3981f17dbc1a00258432c0e34232f267d05e271590ee7a9783a51870f9873c803c45e6f062008e40711e3c21dfbca2a7a71ef77f96bf98a86602195762457ad1003ca06c2b4c97d9941e56c3c752abe4c2b0b2cd162e22a5d25f61774dc453deedf05581e03da7d3b581a6515e83a053ac10dee614e37c74397b0001f77359de74100040305581e03e08b15e58c41c3c9db35bc5268e123e5e61f633bd60f8dd66ce320d4d0040105581e03961ea71a2092ede541a5313d58a72b669c614b45d7c9e73ab7f40b85d0040105581e03672b6f9797ef4ac1d8ce8f728ca73b2522b5f64e6790abdbc0f6d85df00c014709819ed72cdc2405581e036be6c90bff6b129f08f2d3732f40a37dbc9a95e1c60843ed138e4969d00c1836470135ec955aed3303235db60b9fecfc721d53cb6624da22433e765569a8312e86a6f0b47faf4a2a2305581d024eee85039fc9d8260336899b904d35911f52859f57c1e664281186f20c0147a7a5422d062ab804590c346060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a002903d474f7390e4f3fa5582baffce7c7e593281088023ce903b5210195a60d3e62ea038e51c2ef17ad8bb0aa206edfd7ef4197d485e9591c4aada7794e66de09ec11eb03335491a3b5abf21339932c543932ae0db4438198b3db6ec2c915d615555b0cdf03f17cab55bbf0b883271a783e1eb0723381d88385e8d71678cd4342bf8ba23eaa03449236f5e97bc818bf3c54587237c51c81104988b27a6816dfdf33490d40c01e0368df61db6062ff597ce90b699f1a3fe67f73cecba4e97ff8273e5ae4ca05c665033fe6446f54a0ddddc73d24dfbee676dfd2ddb91269fc3fafabf257457f49adb303a6a469454b5a858d9e09456c7479c2258a57ac3b7b928d3965cd26203b7681d703ef2f316b32395d2caa66694d54a712e0055f0e44d5e0ae0cd564a8154253adb503d63b7cc206c2a2ff892aa41fe88acca1a9e37fc9826fc021119409473d04141b0378944ae2bd98fbdfa8c1c24420b4e3a5cb1e97dd6c836ad2b767d855161b9356035243550571f2428d3d6c2061726c0ae77388ac01d47e4a2945ce0815ea04acb80326cab9d4c8d2757d900cfdc013017344b5335a4ed26cd22b5eecd6643d4020e60379d49069bc6eaea49feb72913bf96ac595a3129781fe79646fc320b9e4b56b4f033c92e2ca9ccd3605572aec810adb56bb2f6bb0356d39d4a8180423009bdf349503937fc2c10a4f7965a1a7312bd6690e15675f40caef8bf78b24029e4ac531daff03d7e7f78aa34de43379908e41734967aa729bd04d52bbb39cd420c8322be360fb039e14b0e25bd4a65c7c1c8653e518c9a4ef2e3054336fa4a5953fded389aafe990318ec801b77efbb0f578cb68fc1ba377ee7c6b282ece77b8dd4ce9c46a2d0add2037391e75e6e2aeffb6d2c76f5babfbe1845c7a69a9439bfc214e271d6f8e4d9fe03de1cf327b1482f50041226df688ea2df499e474c9462677f8679cc4b4025593c0325443ffd87d60165affeeafb81e5eae1c6c9ca9f77333cb6cb8fd38668eb14b103ca0edc3635b824a5633e92a22420442d5074bb4ccafc1a3112613cc69adb100803a06f3c56f1fb5cc07e9ba96f42ac59377a4552a3cba620f17221e8607fa9a40d03a04fd2816c9991e45ad0b519f52ef2763eccdedc6e09eb11185bb5b47851bfe103b14037479354b98653e80a203bcf5a5a29fc6a440f7947a1f87ac33d81a7fbcc0396660da63505720453c6c2a5902fadd7ea76001115551d0e3e262761e66657420369fb8b8ec9c3a95b48e30486033edd69131d3698414c3173be7df914ddb3978b031b56e75307fc2afe0b7d615459db1d8d84f7927aaed3ea7960b41739ec4ded6603c0667d1ea8986c956bcb4556d7bc5279f778c69cc907f0a62c2bba38cceb636000581f03d79f9b79caedba1cc858597d54b969e58e04b79f592862022af61ba489805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03216c4f85510df5ad2f1c1a268bbf9277ff4dfc53403817b8680d10b457f87c3b03dabd8dc134d9e5f68045ee0d49ab0272396d2529e5b268c6660068b2d004e00403ecf683937a5b19e78ee1fefaced9bd3a401e50d9c3cee5138a2afae117ea607603987d967ee028b727aa4bbb6303d5ebc789e4cd2d738e1f53469e5863b6943947039882df341964b7d6307eb0eb660f73349638a1bd1c3eba205554807b50e25f9a03d2b120902ecdef56fdf1e734ea48c503846b8f7bf1645ce4b8f83d462201532300581e0295235dde04425e0f2f7445fc728d8eafd269b92909bb8d7bc916e7b81a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0258ffd43f42d85add667242d7870c2f7107a6a097b23525345fb8f4ca9e4cffffffefb3eec028fcc8000000581e029833c44de348421817458702f36044df93d931970bf901f042f98f6b545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032cbf84db424bb4636ec1d7beca494e68d0aa8c5dd17dd333d9293366c41152e100581e02b797c6c877f598ed9a9ac742565e8e34b913a1a38c6f645923df790aef4916729c97c9b928f22f021980da03613d0878b2acf38d1cc270e35480d1715a79f789964f9b16a7d1e930561eec5003200b386d753dce132dd24edeb783c5010f9b0f6ffa5e647a10fe0c476528894a032f2d7c7f77dbcfec3fe9e7e28faa1625ba4aee6a88f07dbc10be58aeec06d6970219ffff03473019add66b87cbce4a714ac025f68499ea3ad6eaa08c8bf3204992bdcb91b00329da4e90d218f2b7c456ef0675568350b597c649315a7ba4d12b8b21ef67803c03253b3bc64da5ab71fa8bb56beb5b33e7ec5d66807cff94c34025456f8f633a4e0219ffff03c1970aab941e26296d0a3a59d42f872fd25757d4289e15f34213702d6c25c99703b94847529e7cd9745c64b4121b0ae2aef13583eb30dca12899c631b231abc2fa036c8518d33771c50bcd3148feea3da8f08fec0b291b12fb31b286fa96e85975ea034444f204644ca0024cae549fd7f51b07ce8500c44b8569d533ee371c9cbc11c40323f929cd1ee5d0968cc1aeb7bf2ed38db8b80776cd66842784f507572709b0f9033b90d31e183ecc28c0898a7a72c6ff9e449fb067dfc1d73bbfe742a59042be3303f9c58d181163291ab2e228abd30b63513b5f3571ce9ea5a14985e4e4e49250f003ff0263aaf45b5b76ec05735074de89c6980f889a82a66363183280f5ef0212730219ffff03a37acc7c3816cfc9c757366511fc4857bfee159fdb18a63832b8d93e5b65677803ec601992ccf541411b98fdfed48f65b27ea877aa564540bc4e0dc040dc37757903c0ade7a5ec2d8ea73d37fc435956fd4e67acf5a248c1a85b5c8050e3143029570308338dc7426b713f7b249c09b5b905365fa4459127f21c4cdb648170ac3ed2d00375031efbf460bf9c46fbda258804af8ad3749b3dc849af4b97947d4747b553a103e4705681421fd1499ff90282c346ccf34549bee6f12051a388ec0957350e5bb903a20ead0f4c98564e0547b72ba8cb4bdb52c7b6692addb01bcac04bae6835979203687c9ea95318fd5e1160118672153c0c2ae72b9adae4ec1bb9debe33c9964ba60380045822022417ca828b09f16ad59165765e624e45ab72b6390b070a3fab7c5203c4e360beeaf926e4e8ee33c4e9c5ac2bd40a08565c659486850a1e5366a2051b0344879454db9b802db1359db0e4e0f11f92e027053ee8f938b480f430e70fb8f1035aaf141c8c5ae23990b345df5c6a7bde9a2959b3ffdc75de8c2c23c0d8c265f303e04fb0c50f117a588eaaa52deb470cad8e4f86a4f8eab2127f61fa03c29b51bd03ebf9d6405045662413dc2ce544bdd4776095cd0eaf639cf7c0990d890b02e41903d920176676fbb3082a274fcfc14d74daccb7d63e90a19734f397577d661ad9350360bf5e80348420c74e28630e913bbbdb427b93d8f0c2c055834a5a8f9cd9ad250386d8cd06f78bd55ef12e75687efc0a6ff86e39a7627974ac984bd56b831596d103f35a84d3ad5750849dd81f5a7566fb0aa31f7f91c8fc942c8f2b9c066e6657b003c08ba078b10241b8766a93bae77981429e434510a104299b90417448d6ae0547033ba8cfb8ce4df252808a59d1d39a4590b4da9038ebbab0debcee4de8fde051ae03c831d74ade737ba79d07ee71cc138e42da6b61655eeb5d6dbb58840d4440a47e034e8e08e013d72872c8b1d47f071258369bb54a1180ca6a7d1ce4352a441463b903966f970efe5d67aebd96140d2a88734521d7566ccbb5d385dda9f53fdcac205a0322f15014d8b3685518a86933bbc4692261e90fe476a26f79dbf2e7cef92f7e4e03f31ccc9daf4e967c3728fe311ce495e34e838707f3f57797c3a99ff6ee45fddd038829f854a7cb0849ad9e778139fa329bbc2f0f2e8a60622f1b466774dbcbce07038f901609109991cb361d09c45983849cf994a1a98eeb76bce563ed3251fc8ddd03419800154481828267d7ed22f2d07ae148fde02e34b77e2e0b172b99a5693a0800581e02f7f6867afd098120028359a48a04a153771fa0373c0a209bfcd66cde0c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c98a0ab66d2672400007a02e1219cb4b03f2978ff1dba0fdb5f713bffa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020c0395467ff3c804c81a2df7c40d2095bb2439fcde5cc054eacb72fc995af20ef20a0219ffff03f745ad5990cbedc0dd9ef9c1f9085f33201ebccd4edd52f176b07b29de5824cc03de9ab9ec9b47c69279453ee30a628192f091ce5f1ea540a9dd5578e3711fe8dc033524dd9cc9240a375f48011f5a0dfd021cf26b818c16f8ffdaf5f8dc8497f1bb031d7b394748ea1f9d4f7ebdc1420e7eca2c32642ace4fcd3ef484cd75a7564b6b036617a3cf5787e1ece674fa2820634ab97a2eb0b552cbf46df1d74efaef8f061303c9cce23b7fdf663bf235bd74db143b70d1f0f6e99c657c18b18ce008775db41303e3bdfd36444c897972020c3eec0e1598edef140fc846a48910d914f8cf5152b203e9b46bd4435f30c50eee81c858cb89229e48407a33c1290275531379f070293d034f455cbbae7281c01b5f6726f0e554629e0191daea06953e808a162b97955ae4034ea5da7d8b8d04e977524b1c7d056a51820bd6f5f23f7c007b7d68e5bcff275b03ff824732c4d9e2bdf0051d8c58d2161acb65d4a10efbf39fd7064850151d208f0219ffff03ea243b59cba9e03c31593e558bc48efd09984d75f4d3902b903469193535e5d9034df5d10a4cd717c04a0d604c7d0403cadffb6af55f30432a5a3258f6a963a9610315506c5b765b736cf13c89ed291016b2e0e546419e3346b030861ec970eb7c10037d5e2002b1c26bd1b02b49db7a4898f5d6ae24b842e9aed8ce652de6940c36e40322eb03232bb8a22c89716f7dac7fce305d4f9a0e2806282049d00c2a0740d5870393e757dbc6b6bdd61e039affc542a0a223fc0d358648faad50b27e12c7da025003d7d59363f4b879725ba744b6ae61da7e5b81b4eafc0abe070ce0133cc34bdb130219ffff039921ba39c67f70f8211c0386703e9c3683dbef895e286eb839db5b4a9590a0c00348639641b2469e8290e563dfbb7d481d67929c90a3aa374e8eab96fa133cb53303167cb231b9712c37f1b86cf524d73392d60db927537b34e0a672068598fc5ee003866795e3338ce983c1526d3d55b5cda8e18fefe469aa2737c51819003dd3f1bf036cd09791b7f5b0af39fda72a2a1579c31e46fb59f74d0caf24cde79b0814e4b60319b961a1c33d3dc622fbe198054ed17e9467c577d1621931d1194a776cd0d79b0361575bdef5cb18fa1bceb1ca8073569cb8abebd0e35c015ae928bffbfa2bd4620339922c53c017efe0d427f626dc9d17528d18f49da869c6daf611b1d8ccad560103ced304edeb1b0a5d7793bcb4766a197b34c72ac3554c227b532371c6972dd8390300c3bd0da62ae7c0d0d570a11e6dee6fcbe7fac658c0c7fa2356b03af0aa6381035bb6069f282eb4f6774d768711793992eaa30e9c8a168db84b06c4f288dc71ca0317477cecaf065c738058cc7abe7de3f730930c3024f21bfe068c9fa59eb6f95200581e020827fcf2156bbaf7100cbba5b4f28849901f7133fe51e84100c08e4f9c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e037d07307b38b67e863849bf5acccd9d93272317fb3c31fffb9e0c8a17405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e031d754c9c3fce0d9fb66b8e321d3933142d52287dcaafb132ac50bbd040495c18b5db79567abc860219108000581e024b4417a1fba849f75a48d2e9ec3519ec626bce797223260e7004dafa225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02196001034d0471096dbbd5c28cd7fb7993614ab41cecfd60c4891101d16acc0652f9cb82038d7da9a01fba1be215a9dbc8b18c1d469bb8ac8df94c314cec6e0b567c1433d60381c3a4aa61ecf135f3d845108e271093a925938474d025160bce8cfc4f996a4f03a501f8846bd370e46243425c19cd863d0968256f7d691e3bfc27cb0856037a6a034c719b20f6006ddce8445067e41663b95b525f61c20b9e5684a0d353cd46fb6103b522dfc0a43005b59f7bf9d8d7e20c5b8d10f50effc3eb8d88ac3ecf391b44160340e1b73f325377d3a1b95882b64eef395aee54317692b900e2ab7047ecfc6bbb037268a6fd99d6fd666f1cc5198ffded9da908079e933d256f537627348350c5bd039da265ffb54b8b24de172614b630138735d710667053c9cc2b6209ff5fa73031039b4249cc2ce5add1dccbe1c5598a281107054d8f18a339d0c78bf45e4afe485a0351106733d9c3b2a545a919fbe3536efb67af0f54ceec8d285240024a19d1602d0219f9ff03cbe6d44d8eef57bb69a1fdbd8b98c1f6c36bd596b8c1df52bf315549263a0b4a036fd5b1cc4385b0ff50f0316abc0278ab9e923a8eba034112a9ff035b6adff0530341bdb4e484b4e7cc24a6a56538db2d2b4cee6f9d4a2d7db9a86546e3b6940bde03a2b948a6e5c7274c499f42ef10ec1de7ab11778dd9216d9f4f4331269ae0312003d6f67d63d9314151de4845ba9c1664c6fbaee8f7144d58ebd4773ea33706d4db03419fb6979a9b0b0317dcdb3328be7dac9aa75c079136e91be2dc492a46d59b8e0373f0c671c4fecb7ecfa7a1234e7214a52f3e123e7e24a2c645e0779d9360977703a82552cf8e20397c07dbe7269d40cb6784c3d3a6f4e2ce59133d78fd9998c81c03a647af15199334bd3a06219f7858ab66e3d2c0abc27ac4c15a50299fd1e29f8403cae232af59dd0007b3a34c2d2118c07408910343ccb91518deb8597528007068038b34f5cdc5dc223510f304c7919b2170566ae6b5f3e1c4a72a61898d9dc5d9ab03ce234d34093f40c534fc0b3355c46fcb5d76724db3cefa22872588ec75cec28b035bc81eac6afcc3faa4c624b7d2fd33084a12e2fae2d3d4f4c49011a6a9a793a50219ffff03f71a25938646aedbc71264b72260e0c1edf62180920fd9ea30dd0e0415716c9e032ad5c9d104899da9c833d2ca359be2e6391daeca2d056aea430f1d3c7503d1e903c9b9115d6a47733f65c3ca5427e6096998aa413d04b77de4a3f6bcbf3536b15e03d46f88dac61822a4b1ca54ad11cc7ca496e88b04db9773f766793ee575d11af303436a28fdbf32cf0e80c6a8c0154a3fccf1d23fe7b4980fa9316135443c12a2e403038c22e363a13811cba04993b03d8242e5ca65e40c9e606d8474e6938db8297b03b659feaa44ea3755b4a92d075016d5d6ddde808b1bd42afe9e73927d71fe90a70378b19e4df91ad54b2a86a5afd6d2501b2b98eb965555fd5092565327f18f66d503b8b8c0729319585e0e1fbb6e2f30515f826eaec046d720c750b3734fbbede3470219ffff036985f825725893664e601bc9ec89d3a9f1ed4acdb276136a5389ecb32583d843036aa0b59819c4c17f19519d3015417a9498763dc6421a5ba4d1027d6b50fd3f4203af86f31dd778430fff95ad294818a76880f175428a632f07453c78e57556031c033d3bf80a119d2e43c81bf92f01bc6984fbb7637517a49400351ea152d184adb4034ea5b31939a5e60f5d644cd8eade8f27dad9ad7117cef1a163731b7485a367eb0325820cda90a4002e7352aa153d08954ecb504ae04e858c09147bf3a8b1214e3200581e02f74b1a9e96eb38491ae8b2ce10edb09873178ccecbca3ac8972c3f21d647011b0dc926d20000581e02408d3ccabce486ff4548110c2b2647228dd4738caa600c529128f772965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02632a42131532bffbf7c0d89cb1e59e21b71a9066c035589b999e5f5a3149012c80beda338c85b4021885039ee459077a7bd55d935111a1f3c500fe02319e4ca4ecba05cdcc53f1fff372f103d0a5ad32374593cc931ce5659483818f5311c03cbea1ffc6a914dbcede24c999037c29cf1329c203dab77dd5990b0af8d887540d19fbac1281b591b4eaae51110203fb05cb5002d96292e487e16e81ba913fb0583e310b82980075050abc8d7a2b8303f76ecf7b3ed9ba8be6969f6fb66843af0b8224884702346d413e58f425cf359c033ab8f0de65258c45f4f7093b6ae09bc8419b3b4028e3284800eeedd5f28d003803bd3404f37c85a4a0e92276a096f33aff48d3d1b4e2d079e2797b86de9970cc0500581f031963faab3b854d30991c5ccf61dc673b3a07bc93ef498f0ea4e22c34d4a0440c8760d3037de710c451033f37a7b1f2bd6afa8bc8f14b71297fc40e3c13be1fed083b6ac703a6377cf07a19bf3f8f9f720895add3cd421fedcbe22561c53eb0d0949bcb97cd0399f6b49cae2b01441bced1f9f88f7fe21ba544b08cb49138153afa498177234c03fb12e15e9ec23b939e3b811e9f2b201ca1cb45e2d5204d7f600ac3fc26ba64e4036aaf8d5a31801fde6a285d31a0881ed158c208632ad2ed3d40e0ab1169f0eac5038816feead5cad7aa4a7e21f717027f6096d62f3d276a60f72450cb73a815bbf40219efff03822198b5a8a8a021bcf4fa271852337fcf6f3e2d6da11e80a075d4bcffa9627b03267d61a8e87c850e405df025c604faac411633daf73f8ca2ed961eedaf1d8a280320e2d6f5f678436f4729350e1b422c6d76795ace671e3b5d0db04316472c9bff03762cc24dff06bce5277ed32850b464f3380aa3a6c925132b88a92f6fffef1d9d03335be939f5a1d096218f4deb9a60160310ca0e5c817103f107ee60e0bbc11a2003d06f98055015efc6cac3a9d21bd32617eb3c652edcc10316bbbd2cb94d29b62f03931668670eae8b90015adf616377c44ce8ecd007835c4413c71a377466f7af9c03ab414143d230418bf1cc0013ad15923a23f1c7661a7e1c8280981a0b7489a56303bcc7facd3ed5f1751f1e315e84c91dc8cde6f3d2884df112530bf69d8d0e97f803968987a2d96f7d27e3aa650a1541fcba521a2fe1fcac1381d651b6ec923b2008034406cc33eab3889cc8e0d79ac3027893d245bc4cbf45da84a9d5c97d4c17d6ce0342418edb32cfb97ed2ca2bf98652d4968896d81bb3a8480051e2186bdf79103103060fa8de9886100bd2ca2614256c13dfd5fb9bc57d6ed2cfb6b5f3801174212a0219ffff035de5464d55cf89795c59723c4c79f92b72e9186089eb799cdb448dbe5273bcec030dec503045171291df296b966796400d402bf821d6072615f211da56b7ef6e74030d118426e18e94b054405058e6675f5339ea7df681ce60c57aa31afd4457e6940340002130e88d876464e834262bb48174deb9ff33d2f48ca4a2ccd0f7126186f50371695f187bef50f597f2d945c6d3b95411993d57b5507a9daffea353f34f4007031821367944268f367dc2bc4eae0979eb536c272bc59925386428625cdd99cfc6037ef48df2a3749f874e624263320c37c5f8e9c4a058700a3ed87544d65b819f01037e5f32907da5e8991a56dc65bb6095a4ea21d0c4920b1b3702d8b99b3125e59b030b9cade02f1ce9f51bf073fb363b4431c4a650e26101eb7d6909b8994a5192a903128b35e7db4a37c3940be512859b71a752f24e40c2093bf38f21c900c6b22ec203e3b0624df5f680b7ef5f9db571e9038f6802333947b00d65e26bcd8f156f27bb03b066a871fcdcd5334feaeb5171b2c410ffe93dcf933538488cb8bc6daa59870203fd1b6478efef1db788e79e51869f41320ea24e7245e12af43e7e1c32698ab9e9031eb698d2542cdadab0424439b62dce17003a2b0b6bf55866d0afc5bbf8a7cc930219ffff0219ffff0374ea617b3b81e103783e09079301e85c4a2e61871865cde77e47337f7b97ef1203650474f0a91675cf3ddb9300ebdd4e97442fa3b560029757299a2dfbcbb778c303ce7e1119ef156acd2aef2580518e588793ac6d7a69e2ad115f4547189f9c9f480367251d2c6ecd9237e8b9f2a3a408735d6906e9e435c0e728eb6c8e4d3cb30f6a03d27e8f0458aa640bbbf6aa182ba9746dee4b7e284331832bf393656d08cdf2d603b21177606e3e749ea77754acef895ba3c3da83cfaa1de839ed165040e8a200c803c505030802fe613252395373e1a3adba9eb28a44471d8a6ef8ca2305c8c142180362c627f8182fd6f2a341fcf4e80da8d2f1612adaef5cfadd22d24c913d08f06801410a03a525d407b4f90a4f0029678a6c7bbc4b409f2b035b6547d40ceadb1a4996f2c203a215fed860f9f8abb4a3fc463e091568ceaf56b327ab0256da88ce66d22098c0030fd694541a259fbfdbd0dd3c82adc4da07657b10e110f8ebcfd8255d8fcd55f503a9ae0d7b41f8b80ccc69d19f29c42261989c5089bc9ac8ca9c113d343aa7438d0301c758223c1ec4c5cd681964ed0e0e4c8329f2719af96d017b93b63b5b30996e039d6eda2559d95fd901970bfa8bf213b6eda466f4dbe7a818d2d1c24efad94dcd0319ad97026f1d6a8c7e157618bfcee58fce40db8bda6e613808924ba2aa57f2d203979fca848c8fbb686687789cae5c951f1f066cdbdff6dc6c22fdce982f7d9fa803657a3d2bd161e3da070d02db27018da5def6a53ba3187fd7ce4306d8e274d45b00581e02e8b2d7f9f2b3b6e66f63b7f9892ce354481ce14d59fdc23bb95444f22347470de4df82000000581e02e62ff1f0edd0dd3e7e7c4f80519fa81ce20138eef0e90867e400cb1bda4b4a817bb83777cf4e17b89c00581e020c9100e81124d3d4687c817ade35f9388ef5a18b4447fc074623ef25045820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219340003f0b60996b6e8255812d1db4cbdec6f14701401ac01a2167d5e7a90236e30b53103d5bba8d7282a7c5ace6a4435f369b66599941cf9823d7ac17fa66dd3abff4ee10219ffff035ffdef2225e7bbb034a538da1960847219b04bf5d77f506f0f58d617ca39dc060391454f60d66cf382d85e7579bfef729c50f5dbd10eb001f1aab4daa34fa576ed03223c5d171ecf82998bfe0a874c60410f81db5a616637f155504af3c78b447e16031df986a338b78a27e108683f2ed2ea16ae1e66a4b4be1fe82b54ba1aeedabfd303e0f5539e533bc8e481a49774aaf420fd6517084369404c0f37f1feb11b487819038ecf193cc57ca54cfa66f6c869593f60a3416eebc07291aeada6c45c2e5884e303a6b1e6343e91dc7299961bde647f3b47ac83ca709847473522b02ced1c16a30e03d715d87454a3a82a88bf055a1c80631ba480d7fc7c8c675f2c0d51c3624df1d90381fb19a78d62508f23116a0ba9bcac195ae008b153c2c3e24ddd992d9caafe5803fb8bd24981ae211cbb0c43d9b31a60be6a9cdf8a24e544f2a7a176ffcde5501b03c8c8adea554231082061b2beef9fbd18eb8b2812b0ff7981971319c315607e97034b1ea6d31314cd591a79f517a778160eabc39990b905557efbb82a91e1c35d9f03eb6ac69283ea7f3d89ac2bd15f9ab1468d115e75cb61d8a717ad150244a2fd450369441fd08dcac3ed6831739f0bc6ce1bfaacc587433eaf6740bc0243c86718940219ffff032bd391e21966262e799e3372bd6f65192056c8e003de4d9856eea0bf28ef5f18035817f0f22d4854110862215300e455d8f517997c1a7b6b0ac7e49a41037b0f4503edd451ff747cf72dd56c0dc27c4574c2672b549c0b1237d7c2980007100c548c0386e9300ea793b8be321924bf118ba640d3b11110f54cd1d6d383ff8949174fda03c14882eb9dc8d5a8a2b2e106543120922b83cc06f1d89c2a53fcc07932c4560703bc2e7fe44bfdaf55c58318885536dbbe35f6a0db1dd12be5dc4c559512ef21f7035ec60370a092fa6461f9e96d614cbfc7d6547b8da7c2b8099e6ee1b8fe7421b103605f7e56f771b3347aa02fe19242d83a215a0f095ec6670149e919443b477ca20305c3d481bb8295db538ddf169a2f9c0815c8bd3f4ddf58ab20f46151a75b864a033dd13b980a3a863cbf39d96b0c2b6cfa901885def4aaf3ec1d7f5e9b1c57bb36039ba2635dabb3e56209f5a646d7f46e2c9e8f1eee14a9a7134dc7c0089299e9be0313e243cc42bd210d78ef8d39002763a4811d8c9110c2149858271bfd1a00862903bb6510bd3cbde802857504cd1b8ead64af145970be2eee73bdc177e998b1d3dc0398845783d220d23d8fbbe08098c322774d35210bf1362b85b297030cd90c430f03ae020fee16a2fe3e7405f8de3799a0f2f4bca37ce2422f6cbaf19e39cf60969003585b0310fc198abf697b7580643240a8528cc6be7c60cf0c7a7c20dca53ade220364be1e26ca42ffd8477ee6eec43e172b539d8de440fa2532c2a5c594a613bd1603e79e50a5edd475637bc90472da50d1e1ab1d48a0c2ea82c277ea116a63bcfddf03a59754e0809d1f68f0f2a01119446e92057024082dbc39e4b71e83c9ec6d507303a6577037ab82e99035051913a80c3970d7bffe99189abf315799b985c01d503e03736b83b69f27169b9e372fe713fd2da75587fe903d5fb00662e0fa40edced587036eb28c7bcf3dcced8b3013a3dc44d5093b904f8e5d6ebbeea2ccada6afb5788003c529e8d568c4399146c43899df368a32b29b4d5ebed116de72b331650703c457035aac9de6385f9df9a31dd2efa63693e65d8d2eb62f15cb76a68f24ae4d397c35036bc87c53b51a47166d619e2dbb5d223ed0ad973946b2f94d23488314a1982b43037e2b3e86c2c21033aa07da57c890513273331ca276bbf51bcacd0dfbe2b9108603a616fafa9ed739e42287679fac1f372d4c5b0b0ecdda0c49339dfa7bf949b07e03a9a7e04de7d3420d7d2d216a3a01ef4bdb72648ba827f363ee5f609af2bdf19403e6d928be9a6dbe0366036de2313f167c2ace41cd2ac7fd341c19572b7af83a5103d491f80b05e693ecb738c34d62ea8b69a4a534e71126c6a31dd9e46e9d12080703c0363b3e1bde3a29d3440d72869f0d99fe67163d691b8e75aace544a9dedb6e100581e022de2251a5bc3df02f3b4e7f8f7fec2fc80b6b31b234aa7b327fbfbcc7549017d9fdefe5940c0bb0340c2eb705f4f9af155ea4ea8d115e672784c09cd164dc04d11bd69836db766cf00581e02356c99b3d9bb177aa91079f19a5bb5988087136db7ba3f3aca7c0b2d5a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028646259a9bad2201660070109ef108d3841adc7b006a408dcb32ae05e25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a457ed9cdf5498656f36d0f3f4fa2c05c4bb6b2258e764e338a4bea2de5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038bcd24469c0ca62426d7990f72e04c208199f01bf8af6e39aedb1ba27bcd7919034835ff3867d619b24c18392c219793cb48ab0b105f426c3463c92e84cb5637ee00581e02118bb1d0e61e919168a5d1cbb9faa40214f4470223ff3c89fc43a8228947b1a2bc2ec500000219e2e403da11f876cd9ff0a4aef5434f7580a0b7d7baccd7684df99ae474265a6f7e14b50219ffff039c2404e329da79c687bd30c0ee442417d4ad7c0720ca54d1ed6c6d04fdb36d7f037db147f725402db58f0850654732e0eb507a299e8b88041aa5a85e71cb1435c7036cdea31f0e5cb6472643bb1196a265887bf61a5fae43add4c52e6dacaaff3f55038c3b285faa4f556b51b9ab296eff30d09ee4e27d05341c81475d736b00fe32c0033f273d84228a75f2cc4b7bfc8a176b7ece012b326e6c047c765a109683dd835e0363c377ff5cb03fd5b040eedbd2e05a04f7281c0d237627121b2e861445ab60950382ef2cca8e702d8764766626d3b934f82a67d01bcaa00c98822256edee75afda03303a187ff8b4ad1f3c1ce6fbb596e396c37c112cecb717c184eb0e2dd36ae66703d712f2bb482b1b1841925026fabdf2b700c5c8ea198d0b7b8f540bde8a53afc103bc2a8a44ec4934f18e3a1beef959397ca4078a19bd1956e4bb1c7fb9306f881b0219ffff0219ffff03ccdccfec6dd17c564b4fcf375c4323454eab6000d2822b8ef5cdafa8657aaad6035347f4bc7058bff6ecc080776be36aa3eeb89d36e9b45fcbb97cc630247fc23203a622f5a5b88ff5de8cf7e6cf2619fd67830b76e489ced4c1a2959d4dcb9498b2039ec8e54c59a1742a8bacd8757e91b2f3a6a5cedfa4e15a03d86e42f8f4ae3203037151d9d8797c19cd55250323ad51e6525568cccac785e890f0a9cf768b5a04a40394803f61302a3bf668c70ee572526e2553bedb714af28d96fc216af931cfbb5903c4a1e5f9a4a6d36aaf5c373284976fab11382f82b89c693964c6b2989a50c004033aaf947d7f83d8a2e6af2257212cfe860ce095068679b8938e70a0232bdf3620035184e125a0e7b628c51998ae8c238bce8bfa7d9b63747b6174b572fab7942793030569c14db1fb9262bf79c5516e0e6111867f2b0eb28df5cc400c4c8de30a436b03768d22590efe26ba0b9c33e2daa97bf7ac685e37453900b61147c48481e98d23034e9758c8fb169bc25286ce86232e50c777c6e7d624332f31466970948c9a9fe503819bd8c6097bff8c143909cde972ec0e8183593a96f4503632dfcff7e50797f7036aa66683b0d8e9718a4f3d6bb97fd3e6d16e429452923de61579837de0a158d1035be2439e9f10b6c5bcd67dbb552b74d5901543b063c1ecf0f8e49e2a44e1978403bd5740df4287f8d6ac1e3536893f1d99add6730bb5994426e687b896cd4db340033c1ae69568a5bc4eb63154dce3e932c29ce6395fa952a46aae850d7cf7712d4803f6a1f29f6f8c5de8bb8a474119d651bf025b72260a939dbd7cc4ba4317734e2603105478aeab6681a12d470087581d36883c15327c79fbd1da24146f12f9914a6503ed84c333b548268d01a9d97a50283715beb1954f8984f4233b90cdc541b9ef9a03f3ae79b7d10b43542c18228a30f7b23939da09229a132ac4ce50d08c4336367b00581f03a76651cd9b6728d6842266fc16929e5d9c4481df47ddb87d09b7d5f824905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037e989e29dd555bef7f21af211c825288dafb487105409dc67196a9d1b291a6ef03972023a4bab7cf1309812dc1e381ad3229822619c76cf8ae0778293f47fad6d503ec3569ee38b729589d25d9e8b8c98c40492f7d8d9d645acdbb87e26c7bc4531c030baf25e39b99597ea1c89e390e137e11f87c698624f3bd68baa4118eaed67ded03d710c0d95dee620704c5785616f5e03e10987dc1685b08ea96ab2defe18750b303bc676a77388011fffa7d26b0ba60c23afae5b5c3a55d1071edb5db58131d161e035e0a0dfa6991bbf4539f962e31fa86821a03af3c115a7a1656fee877b928d4a60310bb848a7064d208ea89fd432883027a2c20ad7403222539011f787bb9bb7d8403dceea88f92168648162e15bd7e12797d6cd9c72388f48674fc42d3930471d3b3033629894e319cfe879239cb769aff48f1eba096868c252da016d9e4629cf23dc803834943904299f9b9f634564648a77422f6295ca0cec050f9a15916acfe281973033dfb6f55d7f5d05991a489e3d0639ba7b4813951a4e6293a8f6dbd4edf6387ec00581e02d311800ec4a58fcde4e0b25a195aec8074ad7ef92dfc3a3416fb1cacc1410100581e0210ba87d83c0f827bce1109d4ded66d0b17953feed3117c83658c4ba5bf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02285eb1d5d01874ba10656b3fa315a20f22e4b9fc0c0ad09962d4f4457b483a66e23915f4395000581e02846f02a8fd2a14181998679b22a0e30feb5c866896ea6cd83d3bb54d245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021980310219ffff03f1e6d4bb307ab547a8f9baeb9298f77114a11389baa12a950193a89a70e6836b034f79a56ef5687ae770a708dd6afb4675be2930adecf22b32e099050e8976a76203d29cb4c69d015fd0d206d2e24336fad9d82d723a451fb091d397e25b981bcc32036fa984f9edcd2ddb4d550d5cc3744b588d94f0feed439f1f473836a06d6da46f037040546d6c34496d07da0d2644dba7e66c36a6705347feef102170aadde5d0ff03d9b1228f5c6e5d58aa69d69eb2d76de925be8349f2a7ff8ddddd4e7927275c6f039b5226d997a9b87b07d0bb45cb95caf8a57eed9adb7e547e7f373f321512cfad03d3d0ef6a9889aeefa3bda98780a2f56635c358742e151dba9b8e49a584c7754d03ff7d0331955692f6b5db8e992ca05a2057d1ffa8d9dde6b30d3135ebcb2933bd03b8bd52a049c7fdcf4d295b7189741229098786c57ba96266e9bc8f8885437727039b6a5af2a130e5cfd446bc9db3db086b298f3bc2a08b98dbf7799d17dafa52c703624387c453318c59fa191a293205e84dfa3a1fbb805e113032041c136ab06f4003a2ccdf73b3ca95a8debecc2d316930eec5f123ef70c9e0bf8e592bdd85eb9a4c036494558a29f3a83be8bbea29789f5ad5653bd1696ccabd85a5c43bd759ebc5100219ffff0219ffff033464c4435643eb4fb21468a1c843c86323934ec595e3913e1cdec81fcfdc3dfb0352f0d7a7e627f0b977194f78863e1c146f010449990a0fa8c533a88cae68b54603197a4b6ed3e7741ed03b2deb4155a99e33cadb8b588f85c99a91c4f1893580500392cd832d45bb2d5e8aeac16ae262fe61cfead862d7e6f2cbe6f9e6b02c1dc7eb034f6edc27758c852c5280a56c0f9a77f4979985c138cec308fd8a3c22a719a7f90383def57753358f33125c0e15ed73a72fe82a5b117708ddea8fee4c8767ec6da80367f006f08eb564c1ac72b988fa041492fd7b82e2c49b63e8ca3a255962f31ea903f0c231446106d6adbd76f23ab773e15a6e22074029c1e6488db33a42478deda803a8b63c9b757946cde29ca2d36674f3f24f76952e2a27b6df6f81d386f06d45120350f34aa95303315e4a722cdb6537af1b5d0c4822dd6c8484e61247e474ee68c2035b599fc625d912134c89628d3ef5135b94b9dbfa98f2569ccab4dfdb08b47fa603747c9559f703e3058066c8e62589ec65362cefa050477cd032430233120609a203843f35a1101c3f4d50ba1b821f4638ed170d0a40db05599bff3c22196c1731f9032d1af8880c26170ab503da8a1e1bc52a1ea56b209ebdb45368f3839d0d7cd4e803467cab33c8ad22cba18dd2b60294ff8aa70c5ac9cfbc0f615801d99cb12f6591035f692923402522ae0d3ef764caf9b15a492df0ea6e3fbd092e5c9edd04899fcb03e16a02824ca162c7fa38ba6d92c3a4b8f45ca4baea10850d8859bd5e7bdbd61403df495b65a8543968fe455f40598754edf4d356b14c03cc1a3cdc153d0552568703105819add4ca33703fbe8c442217f7191137fcca6995b9d94da19c16e9ea82e3031fa476136e92ad4c5ae5901ff2a5ec971a1f5bcaa69cf1f2033066564d8887c20368aaaeafa58aa3afd6bc0b34c051f0b2d5ca5b1ca49d9f9cfd6011b0763104f203de96c8f4fdda20541729589836e99c2096169b18f5fe2d17f1732355966dfaf6038991c645421874575807b2d5213c272923373ba23f0740e6b098b5332c98d4e40320ee6ddf71676fc47bbb5621d7f723e334336f4d5205e9326285bd1eefec63c7030b50487e0c866d76cf840023b02be7847066ec9d73a889a3294ab2bf92df03b3030f8dcc4fa3f85870e8caa11d3ffb073aed5f6928ff75aad3bc30d3b492e588d203abd9851f2faa6b3d1719ef921d98d7a5b8b097fad9a53768c8589438bab6f4a1038d7f85ae8a1b05edce455b8bdcd055343aec6d9f9491816e90445c2815fced2d03b68c69d28d92457b1d2e6f28e69787d8e19bb3d389a0c2331d41cc1595cbd575035d5a81b95093d17cdba04fb65bf7702b0d00515c50c1b629eb4ea07d0ba8c51a037e2032d54db4ea91821c0e598c220a97d28f48009b669c4cfd36a0c2ab04dab20342ceae6dc131344b77ae2533530c84b1aadd3669480a7007f202c0787c938e8703305b90881bb178a4bebab455f93f2aaa10caed8d12b2a0076df16a5b7b84534e034cb5e731423cf1287b863aeb566ec800d0f97681be0b18c4f4b99f816d8c8a6b00581f036a185e7af11a515e6e22bd9f9949d4cbc67eb09e6003853c3e140fcd0610482e2a014e47ca58520343545686eb44677af786950e796ce65f56750daf6aa0c7a5511e0e49ded96e4203217c0056a6c4522f4dc01f62bfbecb4a3e78246530696f531bf3f2d0d2ff8eaf033e1b56be1aade438d82aa40997468ebd74138eb32d0e4a8b0e144d36f87928c303c51b6bd3fa632feeba9a08c43fec4c8d3d1c209e70aeffed3ff3db3b6edafa5700581f0343fde030a4cc76035ae11b45e7e1cf4ee673ba90b3a0e26c1c7bb34f1870464fef5dce4fe00219ffff030590c61fc7ee83270f90114ed2ebb4722fe7ca9d1551ce6e72a52d96ddef9c84037c6595e286bacc017d9ffa233de90d750497ad06736a17a444eac59770384a1703d61cd2989f8c09b90b173aa7549cef56b26ab85c26cd3f44b0aaf4b89bd2e4bd03a1a05a701d840ee9ae6baf5d4aaa22a5cfb6a6e2c0f8ad702d61699a715000bb03483ff184c179a87c328dba4e6a37b6eb1673089f0b99d226a9efec6fbe8c9c98035965eb228662d6f3ebcb5327bd1aae7077fb70ec35d412bb44c203e385cc825d03f4959bbe1f091528ffb22c63e99f45e68445a749e55a1616ddff918af8be2d590219ffff03ae9308588c76d3b0bfdb86a01d6a4b4243d9b415075ee4210065e0d8f0b4b8c80357c7406ff445494b1d20e6802a256a1b854a8aa98f091735bfad74c71e95ac19038a16ed14b103445caa1dee4d5a46ef46328cff04c15f844f97a13c378ace6af003e8fada676d0df3498db3fd554be6de4f8b94f804bfa5544ec92cb9fb4d94aada03a019592645ef6d89813bbc6d95639e39001ca31d88998a621a3db3daa90a8ae30219ffff03c152de7ca15144ffa3819754f64724989684b8c3921a25f99d451ed8b2e39b33035dbc944a3bbb177d96b92f3cde80954316574f50a39f10dd263f78435264dd7803c7a3b33456c4ad66222eb3a0c69e4a51c65498c0b4c7ce0aea2afa718716792c0219ffff03702308b22e0eddd075bdf9b0dd5ec059b5bbeb2069a88aace634bcc1749615ab030207752c77e58177daf66769ba35d78d649605af9831006cebe46bc4ca37017d03ac089132c7edb67160d488e2d8f26cb64dbe04c88ebf32b5a6c2c8002340eadf0320d224008e31900492ec612f7726c273645ddedae9b5c508e836d220e962cfe5038f7d269690af5db50c1c41edf014d2c4a4fd084eea609126741569ed0768bc70033a6f9ed0e7f2f2e26f7c40b8134347646dd02b64bf3c91f573a6be596c2483ef038591d6229d7b2a1972e8136f8c57aa6431bac8a4a22c9aa285cf3ad0ffc369e803cecc5f602182bf436073e59ac98e07ee0cd05d5bd760b001620d2d003b5dbafe0318003a0e2dd798e85fc5bf92d834659299b78dc64b60dceaa9b843f93a87b9b20362e9a3023f84de03b027543362ab08e3f8c885ad9e3eb8c06af5d7f9e5f2ccf303357183bd9099f175e00e74f13810855414886c280395ce2834c609b4cc24e5d6033b0724ca55f60715cbf4c072e29f84e12d6f11958e80643051e80b0869fe879903768938f01326f274e385d24aeaf95673afaec4033c6b2aa12f3d10bc21703080030c5ff98bbe6486089081a3291f982d90cd1a2c83e7874369b61302fb5371e7b8037ed61f9eb35342862dc76b60966639c1189a4cbffb3e261d09cbc09b6fdb66fe034cb947c0d4320b01a7e2945d37d0be3ed3c74871c242e84213e66340322205970392649cec2d60582cdd660245bec864d95f90c1dc09ed62f67c402c57a0b63a750369a5d3f0eb5ae71cc7219f7ddf996f186a3a4e154df0d9d01989a40a8b8da90603132cd69deeb5bc0f7ae986e82923da7af92f19fe55a4900900f16a7cd011d61e0399199980b9c02497dd322f7f2162cdd585f6fe3f3ef4f3a9f5e454a171741ef4039f776f26cd21bada971ba2244bc10843cc73f9b15fb929cb006fc30de38650a803a104193e2ca22565f05c9b9df843d45e01faec9b6dd50789520bd4e3534dfd10038beedffb5530cf75451a29bae9c2752576cfedb8014b55366c53915bb528e84003cfa9308aba0ceee5c3f612a71df738e18c94f1346cb543df6a6cae0353cedc4c0394106313120ec99841fa6735eac7d785a02255fd497efd736b5dac7b7078350003d72b7f83dcc5c3032382000e7fd99635c305599609d3ac75a21048b211767b5400581f03d9534a97309161c35a7d34de3403bf7a8acbe70f253822b7f9995ca395305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d12e23bbb5e87c7ac392247215c954329e053c33725a6c2bc9ebe22ded95106e03a21d5fb847356c3faabc4aba985525483bef066b9c3d9cc5bd9d6fed9d0f433700581e025aab50e2d80ec1038d5a1283282d924a19159afde44a20395aa7e8c5c8410103e0a53fdfdf8de51cb5853127a716ef7c92308b562eca09409ee3a5df02008ea600581e02df329e735ee48fd44b38cd0cee656c45f7a3e85e2de99fcaaa523fc7e45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022e7554af9ea76c12ad639680ac27a9fd5eb60a5b96a4d1f6365d24bcc247cf1f8a8667c0000219890200581f0353a9034ddc1266e7bbb51c81a983cf509282115b65694a4401800cf76b005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c4b1be4186d24bf593869ca7e7d46ed7745d83be4a4337e2fb49c1f1c5b8c1b803a34cff655d90992e9ef182ca8e81ea1335bf2b4687a1d9ce9922b6933f20544f035b3bf8176da0ec00ef47dd7c57a826e5ff784e8cf4a2756ef0d283a701f5a20903c8a7e845383f01d17ce50143a0da24f2532f2c2de42d6918c5586cb386a1ba5e03992b4168e486caf033e82251ffdd0b06a693f5943343cbfc661ca17d4a8aff14035adca5bc6cfeb83fa9cf6e0fe19611f87e7c9b26fd09c01731809294f3ee011a03c07a71a8fb9b3a0aad09cfe730a0c556f0378278ed4fced74c2983662a3ad23703b40c030bef252315ec2e575b51895c853e82915fea8ad1808dcdd553323f90cf03fde910394fd11359c897207a3d01b4905da6adfb7d51a09c0d51c68a85820f280219efbf03a2d7dbb2dac6a452a9fefc5660667e1387ac338855061ba7c3efbd4c7174ed760366ceaabdc0c3ea0da830d80c645cfe52ffaf6fd8eb179f743a06e65ff3e3a77403f15465fae587da0da3c02363a93269c17cef791396ff16d22aebd92c852cea950219ffff034539f2af325e331be9246f3928014b2ab949d23f613ac7520ad6f5f4ded7e35e03316c0861cb76d9b1633756a3d496f19540bc360417eb7513a1213ebba29f019703a73007419a7d5e9e747e31a8caf7c77c8e46c5378d872807ebcbe1dff2ad954c03aa1766892c9e7c0c71358b1feec05a898b219823f5556aea03c2d134e56120680370a704aa20b623a01b854d0f0cbdc79e631398ccadafd92f2d3998dc461120570334118047a74c2abfd481c1503e696ca07e1c513aaaeb66c47a86b9f15c44a94503e2b1bc8d20a397f17069859fe7b553c7cb02966685b34e54e06c192a270dc5c503f7c58babbca18d41264c39c419711e782ce3deb5f30f23550d0704dc7cfa72b0036e7ebeed3519e907090e04b74a793ef2113e42061d543a0ca9dd14d67a0b65a003d54b02cd527e79aca94d600ec68f10fcb5460479155d5efd1c8374bf0fdea7700219ffff030b11f648d4aa1302679f1617800950dd8e293cf75f7dfb5997f2409d2af7b242037e3eb0447487f372f1e57576b6b2d9334490e209e3d114a8fa3a0cd656cd2fa103d964b04d80e43bf6734f431387d16525f81add75b9caa821d576e09afe0c415e038cc5d63056e8788c634ae31232a926e7961e1cedb29d788cbbdf3208d3a2f24603f9fde949c6d1854ca9510eb92ca9b8d7b3e7e703ff3d14b2fd35b44e41713fed03eb0465391183d36cefd9cb858bb3ef515bfc6856dd9e56e014017a58f28449160219ffff030a1ebc801a50ab6b399ade0328dd7d8c2b94df4b59b83f6839591458d919f7fa032fbb96b715e9606abe12cb9489526c69b944620e2ad68d3c12d3b5acd9d965be03925d546bd13bbc2bb10d6c290a960369a71adc2b184b4771698e63b77729b66603979e3f90d904e2ab20e1e77feb6f912bc9658f4aefaf7d6996897b5df46032f90387b0bdde2b0e9241bc232e121581e729f21fdfb579a8b982ab2d42143768311b03eafda07c100f4654d6321ed0e658cc382bc8e81806bdaf8fd60c2a4eeb17e91f03643eecf7af98e4cea73804f7b6168254330aef5d82af409a53b7495c8bdc00c503f20cf64417efb93406821fe669aadda8ab2a2bf455961fbc086ad307749e683d03b935c156a78f9e31bc8a970d9e1d3c83f7ac0ddea208215fe78ec8b4cbbb0e6f03762ff1ef8ed2daa0c0eab29b883cc221099862984e9811e1e36ec7a67f59460103ec290ce626640fa6a1cfac91db693724d85c3bf73754d94fbf57cb0a3c600d1c03d53605f327fbb664453501df5a276dc83a05a596fda3330969e585a42afa1eab031aa9df8293904b0cc70fe696c42757a921b0b3444d49f4a18d3e76e0e33b9bda03b8373f19f42f87423cd6fba838a486b814814ec1e14d653c6c7e57b078f68b1403f66ec646d5a267be1f2d9e6799c2b2d716abf124972f0a66f4858bbe7bea88cf03c2e12d49f875dabae7ee048d4e787ddd040817e0e6858190c65523d2cf2e83b403dab15ba4ad96c431cb39e80b6862d45d8267b5c64a2910cf5a854a17a6db1a2903575d1eb43d37a7ac3f62ecb11eeb4f75f3d428e691c11bd72ee8ea9754d17e8d035406df034fb6f917a7d69932e802e6b9456324a323d37ac06a6d24ea97c6cd230330b3329fa3999d98b1acddd923a297fcd70c8b092654523e26bb07828cc452b0030f45ff672b1838003caca5b0bd2acd2d2ba74e5fe24191862e2c15364fec61e7034eae1b67624c0374e21230faa964c47f55daaacfe151eaa3b450be31ab013c0f0385101fa11b50bbd4500650d5bb97b5217ee1e35ee06de74bd50f0562ecae3b090319520fd3a81027b04aa8abbb2c2ca95ee79ef069c901a591bbbcdbe2c8e7dcdb03a1e17a6d84fd6ee9726ccabae940700effaaa798ce72eb08d4d71ee388e499b203931b461a27ff959763cf957708874b474c7f9068c7283a1b72c891766e0283fa03d35c1b14c911676349726ff4e79b155329989df897d5a12f07a1408252b4f24a03081a9572f00d4e58d5cb7052ad8020f57cc7a733ba5ccebdd484da7078030367036366eb825a6c04c3688bd2d96696b339bd5b13d72ab73771b2d8242bc5c22d2a03b15d826410fde140cd705b0cdc81dd096eeaf1fd0c04518b5d50bbd8d237c22103365ccfdd2f1705e5a050070f9e16a8fa4936202d953c7961e423dd08031af98403ca07a58cd7a7f7c185f8c2369379a30769624745f5805a0e0e5e442f456eb9f000581e02ec53d1f8f0d922b7eddd88f7cb494e52bf7c847d11840d6f0069a856c45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d9508c88f276ad894914f77269d9676611c99bc76789262d765edbeec94957e8cc2d8c09085c3600581e027cf2bdfe998bc385a170718414d6175c8707bd594e65a50f474e8cf1405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027374bbca0944704add153effd874e3ab2051a4fbfe254072215726b38d4809b6e64a8ec6000000581e02735847719324ece791ad0c8a342886ddc196c6d59368b23f2a8fa8cbd25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ccc3b2a40bc6558d09807fce8036034b41b718c365b50588eb410acbbb46515ab379a400021986a203eda4cafbb89f2014776062946c3b488a681db9a1c5fe325e5df809d1130ab91a03d573b3a64937fbc3387e23d83486cd046e6093a020599fad828291b75882213a03a286fa28b92a747f5b1444aac80361f207588ad2e4447c5d67f6de6aae5eafc003c499573487b4616249343e7ab8ff2a193734758bedfbeeaa579cdf67bdb6c68b03c76f00ffa52c3d53eb33f76bcded39967a726be473be2862a747ed0fce97759a03583c8b2a6ea0c7b88b1c7723dfccb029d00e0d56bdc55db1b96bb984b8b45ade035175e3eb0e35ea0a5c35b7ac3f626c8a106918598568b355c27a001883ee37c303e55a44322641cb450830db90544b19d51c72e6a5bd803b38df20670e4dd68bf403a196bcb7ed2a6e40f89836f198dc129d54419128e105ad3e0a32b4cbe3e656d103b1951f8145d4d0fcf3476db8178ffc36773ad4282766cb89c80d80a11a6e169a0363780d50e818f02c623363f7009e97a6f2425edeebc1e30800101474936f2bfb00581f031f14d8b32ff1b61393164791175d2cd0caaa5b71f27d3d07268791ca04e04607a99921da000219ffff0219ffff03a04dca35621cc0975210726ba3b4aa3dfdffb5cbeccaee7f2820e97f4b95fdcd03f9f6efc05479d2d4586401927d638389b4611ba46e569646431d1ef97d51b68f03491b51f654dc58c8964d2cf81b20d2a40818623e70ca925dd6e307a0de43e59403aaf0366dbd3bc2f23e02b8e09924514d69c520aca38489050d759fbbf7c3e0c103a16cb0e23360fa66ef907792d4f5aaa2027d8a095b23262bfd292aa69257d35e0372ce244d09a2c66d2b27ae4b1a959cc36fc31729ab56d08c38e7568528bc7f2d03f6a3c0cf507d599f12622d0ea6edd25969102cffcaf653c757093d45469f1b000362ed83d0a8d90a8d2d26e62e0400877dc854f8df03ff6ef9c6fc3269d7b3625b0219ffff030162ae29f5d42d7eea1045f886196a8fc8b8f3e46117fc77cd3cff18fa8ed71c0381e7904f15051080c29662b3582cad6ab79e99611f202f553f30d91aca7cc0d40339340bfe7bfd0ea099b805dad4be65b5b9b0aa372ebd5a988a514347af1313da03785bc61e7b04d6709997926c3e60cc165fa0705e4f267154ec5793d4e3a4acf8031e37f9c710d0ee6dff7c87b0d38e51f0eb3a10eb7c4e9f810d0cb8237248a07703b1332d8bfb2fcd39ed6075f290c9e2792f8b304e4acfe2b8e0ecdc422c5e1975034b0cae60669426127d85f7ca9038cf71b911fa31628d202b14ee99c7dbb6ee23039b92bd39d14a5f05495c636d32604d77975517ea038bae4a19f3e70883830646032f12dfa1a56d81c2719279df1612d1f8f3e68209b3f555de1823173283d42b980371fb87f70f64f7f06f4d00b014da26bbd541d74a59d6a9a0f6cc4c2b328487c30394dbdfc3cfa9fa69e4783f36116ba18746c5db64936d21ad9ad8b2c9c10d3a5f033a0eb01f637ca5bcba285b5ac4734c9ea60b6615de4b01d9691453447faf02d703f3f0eafe592dee1ca20515fd9a238314c138caffa5b7de7d0b78585599c28d35030fb11e646db2b8ba7a18c046d583e28aa99aff8c288c02d76c8e8da7c9626bdd039dd881bf838b5f826992956a6b98dbb2ef9dae200bae8d095d4df853bf226c3a03d58d365979e4ba920adae1eef4a0d9b8dc1cd12e444a969be6974aa4db89f5be03593f83f36c3050db343cadde6477ca4ec4c082d47a143164485b4412f73b36880313a13642b647bfeefdc893f12580e681055c542a392b08eb9c68d4e59195add3034302512bd497d6c6691c4c6d78fdf99b51252c4cf34b284987001796c063680d00581f031843a5260f50654be60454888c12e1df9a8f5beca305d3643235bb2410105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0314ac2a4037bb9c454b5ff1d341e61930d98f8bbf8d3879fb16bd9c75c9b180540313bead4b01c5285daeaf7db1909b4ff9adb2bde5b09c255d50960c7e8969fd450313ae4b87a9466bda777b78c5c73b9be0542daf06c4fcf95f16034d3c43f3340f034453e289c78c92dd80619ded94bf85359c38c30b8ccfbad693f38d7b6762751003487109bb8cf0d840ed721e37faeb56874d0c9b6aebb6d52abcd901b1e1d47e1e030feb2f389db71094872ccb0acb1ccff2f1aec23fe78ff388eccfd0000edba3ac0306c41f230bca0bff2ef0f2eee1e9f31dc74fdb942d2744b67227fac91ceee0ba03804ecf998e30b599cabc112ec9eb93488aa0db62e0006121f42ccac6aeb3e620038101d8390f58e6e7da14d23c8005b95989c7ebde1a3c6982158464c2aaae60a5032e72b7f4dce792eaeeab1c5033624a348c0511b1cc58e47802ebc95995d428db038c233253a52c8d290c1cc6d7784cbcb618436a5b351f4d65c5ec53e05c7b2abb00581e02e45fa4a838b134c920a70c634c9ca44bca01a924b0040860770d1aed8947726d75c93f880000581e02920e6cbb93e03175c156b6576e7c589a7b95ec4418551adbe64a3944845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d9e3ae4408c24bbf20270b80c0e51cd5286f36d273e3c2f607d0e1b3215820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021901280393d772a69697218f224549a9e49fe5d9bc8b9c7fd49e7ea79f9713960c9076380219fdff03ff8244a7862ced11195e7ef2b69d6522db8801e023bab2cebe2a2c0000efe15e03d1ed0e210b8de12b464404c5feaab1287ad638a8da8265b27f0466acef09043603a20ffd26cf8364d54057652c3bf2232928be85f6a8dad51ffaf65f1d4a1a90d803d282f261382f4a24e2edb0c228fd80582ac976553f4963b6585533683d1eaf750219ffff035c352fbe997e6696e36fdf3659bb6512288a7b0f263cbd774b6c5e7a5f49826a039e42c1e2333b0e6e7c26bc3d0cd90ac97bda29341cb3ad838f9c94cadfba5b370386e35eef2cd5378d10476850f6d895c22763b8ae2ba51c678406c9fb47cad9690349518c7b97c528369fba36f262b64037735480bc552279384f5b423aebb8230b033c117013adc49694c39a36e95b5305bcc8473219dcf5b78dece068965e6e2b5b03e1054f9d6931542d812816901cb2cd89374dc85cc7ad0dcd0657048c18aa075203fb319b6fcd9a542cf2a0970d81a839a7d22fc8f386cbcc9c033f86740452443703beea8b59e7d0402e6fc139a3bfc647189490c10772859d4b79635bd196ef701803b0ae04be170711f2e2137229f820b4e6e36abc12d4c2f05d8aa4066a686f00f3032bba8fa181a03803fd4a8043ac6dae994b9a64dbda0b7c7d867e2f54ef75bee103f672cf2423b7461cb7a8de68211e9d0a5212688ce89be5f8e2952ee810ddca2c0308a9d9f217e3d353ecbda405fb52f0b83bfe3c852117b2e3f207abf8215666c8033087541c176f9396fbde6817e059beb68925dd24c04bf38920b09a3403cf2b050387aa61af45676e377ed1b7f986a5278c6a3c382a81b20ecf5462aa8164dd946703a94ac428f5622d77c1aa0832df00601412dc32e392494deb5dd27adb8147568703c16240a802e127388dbc93ce4118ee3667b0991c7b9a5f59ade74c82e8d9786d0396cc007007101f117bad8910edc15085e0bf5294029a805b790e68f3b749fcbe0323e022674d12e8601674d3a531ccec7d81c2c578136397f74c342d4f19e112c900581f03ca9b8ea52b97f9d00c2491f1ed7a2588fe0282492de6f2ed702d8a9508505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f95b88a48bc6ab4e2a81d468541eb5fab96bb6d81981193f06ff2e222128c56e00581e02ae12f8fb629b8a44421622987afacf985112f36d589db3dfd1a9164ed55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027a66b1ef145f410762f81a5e4bb37fba8a206ba485108bee60609b4ee95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f2c4dc3aef520229ee9cf1f08fd47490de55d249d2aef454be36cc90d642027600581e02c309af7ffea68f14544e57986ea1d0c7b6251df813755344d49feb13145820f00000000000000000000000000000000000000000000000000000000000000000581e02679a81804517611c01c1e2d0e7f93beee8b0d02ddbac499c33765694ee420f3a00581e024e724e012ec23aafb8e26d4da57a8c5b6f5f3646d4983e7610548011024905b5fec9b0f8a596e1021949c803e979e60b6d1508edd3707e263cbf9d6b41f747f0e1ef82c225307f551dda5c9500581f035485baac3c0c976e3523a7c199c222dd2d3bfed149f71fc1cc75544cc0a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0311009565037c018ee1bad30234f24cd9d32d4474cddc0b972cc6641d8860cfef03ea9a80e48340714ac35515c6674b6e9192f228a342ad3bdeab1e772f78e14a78036a5f2d13321405910a91194b9cb22ce2af79c310b30c8a821fab3181b8095f900305d85e380ef8086cc6c162f0bc052b0a2070aa8a1a26111a9ee3b7523a5b5cf0035ca7476c7b91507464583cf8a38b97a3ea250720d42fe0011d211baf87754d940219ffff0354c984fea4e68bd2f45b1daa78252ae58508cc243975967849c86125874a6a5203a19541fcdd5fb56dca72e83780ce84f0f118f3c3f6bcf9a2e984449000baceb803a79b75d9737a2e23f9736b439bda8827cc6c9ffad1172bf5f65f6a6b107e893b03bd53f0ea942b3f8fe52a50fb94db6f4bf66a45dd60a64c1d173eba67fb1d52d703b747708d4f03424752b0cbd7cc117b5acfdfee56f77e64c717c25074c67e83ef03c4dba995c92a6456b55292972255ea743f3b193706335afd95d2e1f9755c21f50219ffff037de8880e0fa3491c809f6eb664a1e22fa345394afd5963d3df3c1c8b717db21103e5168ed59dbcc3e304327c61f5edb8e883b90a4d858d065f03b4f7322e78d20f0326563a985e52b2187f418d85a4a4969e794312ad7077935f3531d9aea136b97503bb7f307f55f3382b7745e39afb5cdf5868289f3143204453e6e5b77eece5630903f3e8dd57a50cecf2451c2f60cfe9f9b35ba8e84fbb3b338476b49aa556576a6e03ee6b15a8e9f1f58ac3d64f9e52c17b4d41139b30b62c477d95f73a210ce322cb03194c7d18e92b965a73c4b8b7679ba34cc034cf8de9e7ca69b9eef10130ee9978036d35798f83ae593389c123f273e007690c1d220d06ceba2d049f187f04b33ad003ea6613e056439029068d994c6ab2badd40dccc20502c1d9db23c825eb3c637fc0381818f518963c0f77ab64fe9e328ed8ad1fa472d16625e869ef32951bede9669034d33cade358a04b70ca9bd1b8ed09c77c7e35715930f34838167485b88177ca5038f74ba79925c138b9565d3d87515fd07de2ed75f320bf6d3f08f72b80a7f2feb031a831f14194b568a5140dc44ea61de175cf79bf5ce03e94681ef1699df8c9ee2034f61060c24b16d08f9d71484d73e41b3861f2ca6ec86fa8bf009574144aef22a03beabd2cf76e89225d698b7c9343b5d723c29d684979cbdb8a2eb4679b96e908103ac47ba16a2cf0d95bcc4d154ecdc04121f209071b5d807fe68681b92472b4f0603bdf8bf17926c45cf6a4f79af2c0f487436fd45c8e8363a394a4c0400d403e32403893a46c0b403aefce31c5416753c93c00c226c74f44e606f85e96794da22e30d03896f2f690628f860132cf6d0e66f39669da8cb23dcddb9ecfd5593f827daa32403e6102e7b7d67b1e8a85f73a7ddb5c8f98eaba1158c731e9da16d7391121be788034c0b5110309b876f3ef6b0b0392856b687936484b32106169c7b300b3bd5de0c0390e2b4f37b58757aff91c178f370e7716632af84034473b8d2fc028909aa446703d859cb70f6a610bb9083d89918e1cd1c62679fbb69b3d2fb9508e7aff22e65b300581e02a80bed90c19f0f6670e4bb2091c535d6fef9c337405c925805b547f4534734948586ad000000581e02562f65a93326adcf640e72a2e4fe73f8f48208b64db4c3d9bb6c37af1e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02409de0f7137d1cf965f6a0c8e87e601f13ea9539c318a3ea59069c3992470720db56fd786d00581e021853c58f9faf7ee6563e4b8ac36b9efd5d640a2a07bbb87f8b3c08ba5046039422b2363800581e02a3aa7b5ba6cea12e240633e1617c290c6e2ae29bffd69163dc54edc5055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191415032b3181be091047d92b188664bc692f203826dfa5d4becbd8461934859604915c039d56a99db81f40b1e03e62310b0d4f53f969d486729b632cf0f8c4f4d1c235d103931d4de23bce9a2ca735c93fcc1725fc1e44fbe27e5806f62fffd84230cc76db0219ffff03ddee41d5c02829702658b43861331656f8c96eb59fb4a0a65f40c389190d3355034f6b3911fef5a7a74c4941f6b8b1d9a723b8b45127f681e7a9ea8924ff2c435d036935f2a478b111ce554c34a1cca54dac58ca1ad7a785ae0342371dedc562d8a403f103dbf40110e2132c7bc2aa95f158dfda2b6b1845f7459c0b9c93125131f71f0219ffff033ed6e0035c03961d41990bd96ee0952c5b1849e07862f9ffc95b4fa043cb116803a0124125417aa1ecbc30c2348365ba6403fe4b84abec24e701500e5a9bb489400371a452d8127887690e45370919613677dbcd9374c64440cc08252ed442414bda0219ffff03585237bec67cfefc14fb2272f26a0088cfe1576688ca2fe02f87fad41db67ca90304007c01190fca642c27e4e3fa6fd5c373fa2d74e247132489ca1bb9e8b7eaf903f5cd9677d7863691c2fea2f9f97640bcf7e491e82ee6282701955604df5f0c670338114cf0d12c55115789d0c0d1885982cc08f78f0ef6523eabf149ca7e61bc9103b024edda77cf69915dc8267138e8a0178ee00fdc2ab23c3b4f74b773b4f70384032de831658f644d3c1fe9f0adbb2a758db6f369b560edb0a821e3f1510aba5f890391cb51006b71231936521b6d3b55f6584fae4297b977a15983e943247969ab900382252c8ba9b23e8a2aaa59cf44e67d3bc225f7b34097223491572d3744f451a303e773f03304d5b7bbb75507c7bd6bfa628b4f0b70999677b9badc7c3aa2abee9a03e9dbc155ef1f5cd919afc45760742bffa42953ce5d15dd6e162e7f4694a77046038a2a66a773f07af3c5e2000ab08d9efd34ba1d7eac5d152cd3cd1e21aae8f88200581f03c32bb8ce08bad23bdfb7d27b5366e03ad2fa0ca8c7e8bea7494d099a62b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03790cd852706505bf236d91ea21532eec80040dc85f01e233a4e6d6fa0edea66c03f6099e6c157801fe70ca57a212daf29d622eccddebc34044752fee46d393596703bfd93540f6ac74500a7d6074ecac85b57e14244c96490b195a8617b69eecd11500581e0218511b7cd4b9ecd9cb930fa7d0ccaea527b36f9b4edcd50be5ef0332c74801b362936139600000581e02c30d952b6a1ff82948ffdb4cf6c1814dfb662568b8376fe7a29dd43bcf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0205f39ad7a24a1aea23ded89111d2ebb327532b7a730083a503dfcb06fa4b52b7d2dcc80cd2e400000000581e02b7009d0db9ab5cb1b2b1fe1a8bd0ad657d4ead0607b00fd7fd2fab501f4a013c502b094e49aefe5a00581e027e43b11f1f39329bd12761224a94b1957e498c7206601d0961c9bff1d85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219036100581f034aadd74f1b6dd27978630a68f3a36938e7e5c670147121bd3e38e1f2ff305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03202136553a614bcbf61ae79e22b914a1b8a9df33bd6d877a5a5882f46f7830200219f7ff03584faa3e7edc70eea9d62a4b476d0cff451ae5862fdb74122401a12af03725af03723d5afd301893897e99790cf946c7182cb336fdf0b5e595b93c693489a736b60339949fe5a6dcbadb080a9785f0a36ac0000ed0d043ccbb95bbdcc46e1f1759310310e3d3c04cd4f632e1b983ef0b9c8f93ab5a5d0895e0187edf40ca5cc8259f18038bbc33b1f82379836a1a0da1c03ebe8dda42120376c736fbf4ef0f4fb0f534ec037c050e017217ce6fd455ba58d62b5ad611102063f680160826a4439ff6d1091303c89cba5bffd5ce268bb1461c51afc48015ab338873d5c1e59652914aae2c27ed0313fcbb4078e855f5079f6a3355acdabf726ae8f07efcd8fd38985c09c169a5d50318c3625cea4c3f012510ca511eeb0adaa2ef025aeb884c84579ae7bb96e2e2f80373ddc6614179159136bdc20383a310075eec373f9d22f98ea7ed3241770c892b03f9cf42f6a7898d12c54da7c54c98b6dfc7b210121c0cf1f3a4360c4da73d63f80316b4a5312e9c8955ac2e404b3cc5d907150b07798917deed06d849fa9d6d98bc035a6aad4a0f6088c6eedd2c5702eff576ceb5e884f4f0d4a5f8c34a61368255ca03575ab3b540e7bc678881de40ff6f5f157919a63fcebf3f24ff301dceee1eca8b03476528e87bbcea26b03186b7b2bddc0c2ac14d58187e3d112213e85a5ac045ef0219ffff03cd5821a752ffdc2eb867baae1cf7800d0bf208e945a2dd3ec3c4cacb85f9676b03bb0edf2eb73f252f9ca8832626253795b34a6fada6abe9f650a23ab4e592f0870357766981b6cbf227cf46d86e292e8279d0c03cd3053c84c8fa19e164e36d6b46034f29e91a023b6047624da8e20fdb94d12f07b214f30e67ae59ea97bad3807cdc0364429612ecb82159b43332b60c338c6c09ade1d41e8260e0bdfa2f80a48311000368747f94fae8fb8440b73113bb8dba95cb376cb850de53205cffb94d6a07ded10377c7c0045e4a860c20136813a8bfdd5948da761cbcb901f093540de258076de403b82235e15ed467ff4de71c388955ace57c90bf0dc2fdcf919cff332b90304d29038cd9971822f6ef384028f3e4233da074a6b9b40abdb6ef5e27685fbffb9f5d4f03455f9f11648c80176e11c36a6f569b9a0018e3b9c9194648149b77370da1255003c03f61aadec01b82e91510f82fe7c92b23ffbdae0b4849b4f965d67c7e421e8303a644e3f6c7fe3b034ee58e7c51f6a67376182fe378d30019c1ac0860a2e762df03aa229f33d79c7ffd21528b4c106dc4dba1a680d9cc039dd83e974480815c5dd70219ffff03d29c9c67b54e0d3c3d6ede4490e2510a1fcb9317ef40511fa86d8d2c49f6134903f05116cb80fd619bdf562a84d5af2b238cb2e7fdf392aa8ceb4f659a800b4e5d0350ba75a8aea01312af3047d75f0b2e415100149e39f69fa26c04b09d41a853b403c0d7b3a7d8b5d7bbfc278e0ffa9ff4f0f73788679ede8f4b7ce92e726bedc46f03d93fe70e8c3f8da040b6f241047c4303fb66903ba38dd3bb0139fdef81e2a6e003a19ed973ad5e309f965fd226434afedf9dd66aea93abf18e5a786723d0255c2e037b6d04892fb0036788db664f6f6c2bf13b61ae5d43c665d5529c4558f969b8cd03a8a23274df509760cd30950b6258b91403dec24b4b75727fdb93ed9f7c553c43030150a3ac1741597b527ab0cce2a3f6a1b5c5689cc2273f5dba13f11e97a6e1090356aebf5128111083e0654aeb4246cf63b04c22ad5004322b7315b5f8f8a37df903070fee095fa04aaf289549fc0b9f8f6dfd550d2b36fae950c5ea16db83fd44760367ce7cfd8479371b047e83434cbce9b5b9d80d1c088781d91055c9f5d0277d6703af81323f1131318994d22538890dfb7b158c91eac7c0bac7c84ca40ffffff91f0336699e52fd4e9adb08fb01e22156c388227f30b846a3966718f9287b89f315ad03612294f0892739761d7ad160f91ccd06ee636c5a70d24cb72498d811243499f103ca78e54f78e09e2cccb812a98ecc6168a717256ff607ffd8f16067f9e6f5dd6103a057e82e6275af36a23d8b849a661d2720a27a9d9225ce9c4b4c68c0c433df7b03ab5715735b34b8f58bd4fd8c25e6fa5d3841530d0eae39312d4d7c43e1533e6603b6f579104c5cc14f3291ec531aec897cdb8ea4c9b18b33dd47b1c056db0a2ac903327ed00c79e364c3b88a9fc2ea11e3a79b2e7b442586ac1d4784c36b63f47c7c03a1037233611a64cba2f5448af4bdb863d625e9c3d07d5e40ff0d230d5d3efcee00581e02ed4daa6a0a9b75d29c7ef4fffae8f9c551ac703018a36ac5b92d5beb5142147400581e0260311f64246cf20c020c5fbc1693ec1e6f2deadd582b888aaf29121a9e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023759e633d704cbe11def3c07df7dea1f091412fb4f605d7bca9183e9db5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0234e35e2d4c2c688622b3d0adfbc1fb58fde025534fc43e79aa7fe4ac804a040baf2f23f86ffd32f802190a0503900b924a773240dd683405075b2c91715c10a5adb75cff2022845f9b6ac05e67035b719e4c64c7504b8364138abb65b4c8a3f59697773b61b91b87b8efae32636503b4c088aad2053aac9d78aab1fa5e843d1d5be1ce9543c125917562274a31f22b032e4bceefe8f67e5e9ec4bc98cf52778d134888ddeb0af16dc58d19cf8e6b3f5503049f5d5cb75869c3f034029f20526c2455d416ff7209b978fbb4069ddc84062c039e3fe8e58b2540a97c26b0cb11adf07dcc4c8f4a4cf036585e640824960f515103bf16222909e495d78729419b0a46a067b15007ae8ec5d671515241b4e61c1bbf03c04aae3d0376e8ee0a8f2f39f00eb814e8f259af52cb2a8378b2e047a619c106032f6c61b0ea1454a71656e99a787c12ebf233ea1d012e14200fb738da126c068b03b336ee8365a9ada040cf3e03861354d14b059a5482540dac24c4ce64923f3987038792630033e0920ec205a544a00f4c93a6b3c100a38d04e70b20c84bcf7c59af03159e097256fe2a08a6a3ec2e3dd093ad01bfcef2dd60c9e3f530dbe94263c5f5037d717cf69827cbb4c0949c32eba50fc086ac41d034cd0be9819838a678dc75240219ffff03ab12e631aaeb16d41559d015f52427460db200cefd4e6cc1fe12fd5416e53c7603e7794035cd262f745454c2810b66417f1a2ce6771ff17a7d3e8dd4e430428dbe0370fed5aaf963b820d4f72a179b62e49ce037f27ddf2580c740b9bbbbcce3f8900363bc8a49dc5cd67baa48522fdf3e5ff3d2dbc7a40dd10a07ff8d723e1f419e6d0363600c87b8c576951566e049cb0647d3b1f422be4aca53c6076bcacc93597cf3032ae020726f67965702ddfb1d0df2ec8f6b2f8981c0327266d515694ee414704503a6b0164b42dd594b022cc58d78822fe83dcc658f6ef696847d8376bfaeff12e60219ffff0329b43833a55dd3fb4e44768268e7aaa02a205de182d69f27ebb7ae7dad2e43da0335b3cd9a56c2b09181e622926522f7259ed9cc3ec5f8c2a23006a1c51f312753031bd56b8464967823f4c77bb6b4444203094e8b21f6cad889598ed60f6eb5d733031b31224e137ac7ac751a9818386597936180f0e45890df5caa75c5e404cc3c5b031dc0eabdf4c1c95aa1a47a6020d98163d17b676a71fcfca7219d6628eb601e2c03e51ef0dcc4e8f56df9ca388c917d2bd45a04c3cc5f8e2245668134557a19ef830219ffff03e174bef6a126216ccb65571a3c5e8e1ee9a51d916d14038650bf31a12d7e7ab703c1a2f2823c3f1d32dca94b540c62aa11a97a2f3a6a261e8c9c00ce71060810a7039a8a35864bfa0b8891c7134a3dc1ce1ebec0865fe6999a193c7a18dc74919c6c03bad71febf49efd1a45b58c35005cf745efb510f0cc32f3faa1aac7a23462439a039a37c467d3353a4b4d130242ac3eed057dd471eaf0bbc75aefe18addcf73d29903fea08ef148e1ce5cefc6c8aa3174a2b863b3514be88bc2c9187a415e89dd6f2a03ad55a269eeb7efbfbf2019b79e9ddded819ce808c387da0b460bcd159296f7f303663a034bd68b3737a2575b4dbc458f2e019b56a91e84b2a153cac0c00c65a12003faef1a3fdb69211b69d29c90c75524426121a2c90e2eaa9865ccb3323ad8bcb3035f94af0e1e1c7319af4613e043baedcc5292cd2bfda7a99e409546ab5748a56e03fd80406bfc78883fb4b9d90db2a47ee7e2d0801fb31d344be1b6082c66e0d8d20339db53496b74c96053529229e5cc83d6546976568b06ed54885405feaf875619032e680560e3c9f604328c754be06b908623b6b9b0cf44bbf8abff77e76f8431880346532c944f178f3cdcdd46f743d998596027a72a81af46b50b3b23e823e1023f03db4292be2310ba53d97ae836a7569f83c4d0bd8a5b5a583f255545cedb94bccb031a9e82a5e71b3ba70a37693bb4f345e784efff448b56a90989ccdfe1f681d7da03a3fbd11d9a9d774e050abe93b4affa2e027f9e12664ada4e98340257672218d703926ef54cc624415c7815878ce950316344f370550c10aa1a672976231db5460a03e99c2e6ad773aceaa98b758823b30db862aff8f97c931fab3156113a0e528d1f0308f62200d62ea21e4669b16f7310c2139fd51a620b434998b6ee04d8e69584df03853916d11bf420e2b9cf7cfced6ae668a7a580dc02a9176329bb31d82711d134037403b171c99f6a19134339251a0bf556a774ea55a9723154575bb31a3d32c3b303182279c1e8b853a6530575b9b0f4ebf1efc476ea840ff0f52b2c60dbf6f8486700581e02ab98faa7ea073d0019aaaa8c891c3741e89c495e01df9d3af3adc334ae49037d2a11341c590e3300581e02761bb19d887508451912efb5dcb79a19415e809f49ae02a3517396d00c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02182203aad2cdfeae8d4b13d3ea704d95cdddb026a34111b5d831ba1d93ffe82c5c61d803404657bd5d275d9e8e8c2b23ef743a41b117fd8efdfe241ed566f058fef2bdd4033034b57970949aa519a8c40ff08f20e3db534d46834ddecef2c680ca28818fa6034cc86b806d15eb0d7ec87680302e69206ead38b9f0af99fa0be92aac84f5c25f03887f750195acd9f7bc5f0f95cca2c6ac72fa9edc94a47fbe9af29f196a46d723032caa86eaeebbcef26f52ca037074bf75200cc77d4a5c1f763b4e65ba4517ce8103ff765d1f762c87532d071f8242f97fb1eeaed8cb841ed1c1033dbee7500e91fa0219ffff032a86d38bc4299e3179b2e9e5f9af128ed953938af69a6c8be0f55ab86e32fe46039495823cebf4839f721fff4d95f24a3c0a141cd869826d10d8e2acce843194a90219ffff0326de06f3f8766704da810145f418e358159e387b0a65560e95aa7f693f3e868a033c4fdab4f16673327fcfddd4b8b57382b808046e3fbd4330fbc39c3634b44c700395025353978c316f3e47e805e662f85ccdb0660503fd2815e2ca222b9db534a103db8530eff2d89a653d790cc6863cbe169f648f2302e8695d19d4f9ff02213d9d03e5916b9197da21374b55f8c184bb0353c3ae78519eb0d3646ab5f0a494e99f21038b11bc816bb1ba69c139cbbe24d7d32aa5cd27df128404c5830655886ccf8f4603832f16bfc7b4f7ebc2f92c12c47e1918ac8892ce3cf94b0b77012d4631dd02680349097e9e861458752224c211ad0f163583434a8fb222e146bf39b6e45535c21a03c173e21d3d5f4e6ecb874e1ef08c597c2edfb05659dc76429f98afc3490874970313d18a63f01deabb8ba31f794f5f16cb966c622e95b569624b309bc6c68177430375181882780214e7975fe375db6da44b1850dc4037f79cc0d94c6757dbd8226503e300caf67c9289dc5856c406fb8fdf76d91aac9a5ff5ebd7f418f591beb98b9803abf245efba8ff05a5e6d2ce48a1d09ada54f9ced4650db7d9218a17da32a67df03de24cc47e0bca5b362b67eda823b4b089823d4009ae42c6d5831f4bc64634f9b0219ffff0219ffff03e42c5228c13c6092291217d98225c08b43a9c2777c90dfcb443bac9ae20bba9403185d3b2ea2e2992fb223b3120eef635139d044b8e0e813c1b95c9b21f83f9f2203ff98dad1ef3c81c2ccdd3e1c63f1e6c4d39b1f11f43bfde3358fa1dc43ca7db4039a8a15e4f87cb8f4f468d821c7cbdcddabf77da76cdc92df7b1ed0517471e0610330aeb51f9726154d6946e9b6ba8d1bc03de084f6e175ee4c4ae99ab7d724c3bd03e769f71b4a8d286e206bd45617725f7e525b76eac8d82875a619dc95bead56b403a7e16f89f40786418f5ab53e6b646729448bdd0df3e0c4d3fdbc5c91357e9e46039eaae28253375021d57d607775501ec14a27c056b39cf1bec8f9d452c22737e803b2d40a620ccd628fc07c56d10c9e08fab0180b0c441bbafac3563fd9024c464d031d7b29bc9d9bc64052b719cffbd5598722a686c6e32669e5dc21a3636c209dbf03af7e5012cc8eb2a09dea686283b44a1b04d163b7ab6520d4f48a2cf8a095b8d803dcbc4b6b33e89a6f94e8b2a44bf1aecadc6a7888f5030ed6f593ccc9648472fc03d35fff7006915ba6928bd92cc9b20ecc99972f943fdd6a6876ab17d899adacf103d7e85084f7b8085c45b663d9296f8158ea813d2dba62a149c3a4e06390fc8d8c03a90698ecc459fe60b2d6dd5cea7f4988d58084ad2751f1ff80b9f81f14173cf703cdb75bf95c2c5a44bfcb3a222ab806a45113b6d4e23e8e36fb643483e66fe9d703173dd9d83710d5665b9277ef92c101710ba5effd8c501705abbab0bc14c6f58303613c2e0177a0549e3dea084e19c7bd335985c5726e5d3523b6f8284e16e4bd1c0300aa4fde956c19126efce728e490ac0ed84e74e6f615662a876dbcb5d95b5614038a30b77f178618c435a3f2fe7f7239271cabf8ce7e15d1a218fa330317581c5003f69855db5fced65eadbf5d812fc16f73f5a2c2fdee5d4f1025ab7a0b8c524d770370079544099d3668771c15465877768e28e4fdeed768658c500c069756774cee03521ee7cc66f51c17bb5817620937012b8b0a04a0cc6fe793a4de4fd48a54c3b603fec09a1c9533b18a5545d8f7e452bc7e66aabe7ec09732fe5db08dd969be69b8038dac823546aba00b91a91f30933b5b068061cb018c20de55023f6aa41ba040810382525a15f3a8456b4c7768c64001206a260ba9502d435154c3d9c617ff5134cc036b41953c7b27e1624b37c6a57f101dd9e873a35d5ece4c2a46d9668c09a06f06037f4b35ad62c060c8d07778c3599651d80491c465c04eab1aeb3a3c6797b6fb9d031b8e1db5b42fdf1c1d047f8ad3b7f8e3c7972be988e06e7fc025c870e8ef17cc036716dd6d6a429d974ae7ff2e57081f060094eab54b26019b1fb1f0ade48fc3a003a333a6be66890a426354514d43fb40f18bec9498e963918f052a4a905d5371d403f1a0a55892374b3dc6a15953728c7a301e9be73492213b74fa8943bd0b072096035d99d9c4f90d7cfadd22459504bc54abc63aec396d02a65bd1bf32247466ea7f00581e024edc03ac7b4fbaef96898807ee83472a9b4d276166c0854e6ca005e0e65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02364ccaafd6888726f11393ad2235d9808d974b6a7305e3922ed5c0012e490e7134bbe8b698ac5a00581e0280d14a894298aceab0a5db98cc1a9dab6fe4ce63da76575fbfe2e66be85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219406003698f57c4f52e1c6230d18a4da19758b0fc555e8119414456ead8d9fe51d5cbb601410600581f0348f01ffd63bc4a9885502d00430c4bc7d192950b4240570def2b12882e00460fea8948980003bf4cd9afba350a69e3d13317350785107b48b1b7becd7e7fdaebb01639ea962a0381c9833ab9fdf1d93afa11ecbbe3d7f551f635075bcbade9009fcb1bffa7d77d03ad537ba17db86018a6a24366a6fb55621fc64039e095e1d96d667e19a18e976703478bba51aa2f73436522e51b43fd3116b21eda47495341211501ad6500ab25090219bfff037fca38ec6e29763f3380ab437741ff2d79a9ea9d5443cd87a8c539b7cc4869210219ffff035b68c353fed6f5665a2302971f359406059348500c8ae22d2eaac8b3e7dc7c100389312674d93cffee05e3dc81d6ced5856c121fe6986233a1e706f25b942dda32030aff82630e27374b2a4338c60be9e5aa562636a2e2b4ade73dff008a1024dc6903fc95fc2785af69ff8b01a8c01682ca61cfb21487a3ce5a6b127962a8fde380e003bcde96f616ff9141fba1292150236bed41534985688053e11110a2c1ce6e92d003c9909d777fc91415fcbf916ef1069cfebb17c9fef3a0c5d8dc440a034c372d9103ae7608e994013af4fe30ef0f5baf4bfa3139cdf2a1ff8b3e89f7138ae1d0a3d40219ffff03be63684864315f4805c26153419150ef4d9b3265acf368f65fdbcb62fe960ffa032eef38ec5e6018ebd26e371b47aec294401a9b91b30bdd360ce3ddcad0dc72c203f8ee42be5ef376d3e9b13ae92018020f456136a3cb15f82822c96a39e622201603afcd7f0edf671b7ec15dd6cab0f54b7f18e65d0482877bbb46a7f696503cea7b03dc58d23fc480f92c704ba950cf8c2524e910f9a649bdb82ab31352f9904df3e0034eb8c6ca3c7b8d23563b0e7bda64c6a943ca600e366a80319f1f5a02d7187d3c037ad5061985c514688efac50d963b246b064a5e401f5b2423b7401281cded49c60347ec990c19f379fe6fedd5ceb34105cab2ada86cfa5852c8f2566e94525f6a2e035fda47a56d1dd2299062ea3981bd1646993a3c8e3906d095416d468c47f40b0603f67bf094e1c9e597c683b4f8eb3c1aebb2723e7d94589be112d8cb6896d4f5190334105c88fcfd390e7b2e9ea13f3ac3881fa2441c959e467a057e38ace3b2bb600307864a116c05dc8bc1fddbc368ca119c1816daba2adc8fa17f35054ea41e15980360d398252301006e7cadc0f16f6a03d1b20a513ea55fdf5b33e8f62a1bb8e2af03928d85aac24d448d47b67d6a1404ed95fbcaba51d456646bd93f8f4e6556ce81038df26f9e4fadc375b873e7f585e967c9b062573c6609de050aa7455450d8099103dec63ec011b469c4fab0d97acec40931f8ee1b27932794e3623793b449682dfe0342598fe64ba267fa2985a0ba9a0c86a9ee558f6bc58b31a395e50a11243bb3f40370fba6fc9e96902a1ff67e2eb2188d153af8ca5724c67b2cf632ce069ad9a440032fd6dc652f4647989b530674c5ec00b4be62cba4874ede2021863f33925a121d039f55022fb6bb091c2c7eaf75bd3f28e312e819dd694dc688e9195c604debc62503c124c10c161a4d1c2fd741e91d3055b01666b7b5f392ce8fe98467d94433fcb603d86be3b2eed7f4306d1eb592b2d7d53e27e347422cd321ad374d5b285d41070b03a97160fb64d1248d35722c47930ba6b6f7429663e296c3d29d539184fbc2b0a903eeb86e5e9b113a25dcec84887ac2b7aef7b5c1689c79ece87fa27df0085a91f100581e039c030265f0860531408758a99880e5e6d6d482a35f66afa6897919ccf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e030d080f4c91f82ae28db746aff44ee02fce2be975b8ad92fbce433744b04943da4c5471549d7ec50219420000581e026431b0281d0715696dc1c9717c4709ce9ce1f7ff8c635fb2eb4e9f872e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02eceb3286832d24b3ce2487f5c0080bb14555df1dd469da39aba97083625820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02194022038296357c7a625032e069fa3dcb7dd3d83747a22c42f02dcf662a942e7e0e4afd03c89004ab59cdb1cdbfe85df99736737c232874ef52314d03deb22d4685d33f5303c43a6fdd116c4692fbc77a73ac7f5049d9905c60e810a8ffe4088de735b3c207030b893c165fa2c2314f8c9fd9b2e8eb13b188687b7667632e4e786f349daaddf503972c0cf8f84ade5952a556ae6ffaa7f3052a7d5590da9fcaddbc5cdbf62a7c4103b82dfe56acd3257d82a93fd509339bc2e845780ae9fc496803865e1e0c6b590100581f032f12955efabf0f41dfe704456f286485b4e6d566605d6aea1f58371a4870462d79883d200003cfcc6f298e3453085569c1bb4ffd9376e7ca44eb07c5c34f7c7bcbf04fd67b0f00581f035ed852373610a69093ee3c60cbb30d7b91854c0a1912d7f8f2a5e5d15930472386f26fc1000000581f03ad1549521e7a83cc935f6a628ed5cb73d5f74e2b77c5fd1ea55a197f4910465af3107a400003b4bf926d6dbac4c3711663245127264a93b26d35c5fb9f0557a892123ee73b970219ffff0336550c405693414632bb2cf9d3dad75acee96ac7d83ea17b89d574178b13e99b03baa4cbcbea93f960816aeab59fe76c43ac05edc7a3aa012aeb923f6614211bd803df0c10485e8685f6295875d568f1407cdbddf8fd8e8fa09b02e437f33882bc99030fe42ab2716c97ad5a3a5a614727c4e3ed2f832b9ada4d90c3d70f799944b8de037cf0d444d53d4e112d3dd35df91e7ff50edb50e0fb5a17a6bedd50271fe6a9f803ebabad236520c517965a9002ad52337efbafdcba8661abd78ff21beb4645361c03f2787a7f5a4196f335fde9a96db29aa365521c0e56b624b1df917ef2c97e7ea5037f896e42cd81d17c53e6d1e855021a0113bb41da5dd3b476e5265dd5c414f609039d37523cb294a23bde7aa2338a71bace84fb90db17292b027b939230be9d6e6e0219ffff03684871ce424f5340dc1a539cd8e0d3dae05916a1ee0aeb383fc645819bbf9c6f03125d4a9cc7756eaf41cc4be37e964ffc4ce327472af3fb70533ed7f61261e53d03dcd758e9375f6158609f23e6d65f956de5fde6812d6057a95812836ca27e136003875359ceea54613a9cb4832a056e4efa83da7b80b43505a771b9129a0f9934cd036caba277d1732793c6e6288574df19804343322def292be921383fe3b81cfb0f0366b590cd0b0d722f12d695e1ab4bc3943e72d5a028245ca8c7a7632a0a853a170300e6cb11fe548bdaa78c18c6d177bcb779b8d23903ee4be7ac806a276b15fccf0219ffff0355f7b09347ce1fd3be1d742ca97cd46df473752c2efe729bd66316151698541203948e5ea1601009530634a5ef9a974f20d3d83c6069c1e03af1ad924dbb22e69103404028dbc2f3553db387b5514cd4f7d8c052fb50566573e719d117fc9e316a490341ead53b0d9254ad2e7dae848dc411ca3d1cac1b6cd2c6d079af30d40d1b451503316190efd072340735492e720882a8c1acda3ee6b3d690911a558af8497e1b5803a35e2e594596cfb02e2b4fe45bdadf1e08b67140884637abc9f72498d7799e700333954bb94a2b5be0523c7a25401f969a83f7be207d2a42d0a5b92d07b66e77f003a30502951b43413db08606fb3acbe35953c30e8b7c358c363c7b6a596c9936e4034f9feb5474b6696402f94bae8972e5061c25ac4698788a8bbd7a05e8184124eb03a6738a2688be24d77dce3b3c3b45482ddd0a9090c92d93966265f3132b7611be031b19469faceda3d8d0bd063ccb97ab9e6450b39cfd92e8e72d56d4b8ca1af0f203c55ee86824ef73c52ea6e8ac3cc2d754172a803cf50efc03f6570a3d328b6d94037fa53d5d3dbbef4e8c9e9bc0b193725a2f3b49160f44a13169dac3f654f09efa03b60fcb6123bf91cb928d1a7698fc7f844ae53dfc28011a94d831177b7bd8de4e0365ca79ef94af55150abcb27b8efb6e27715b334146bdd969f90f099a78f7a51d030d57b48854a1b7e11c157d6a4e4d3ba32c560a553e8ce439ab58d8dbe76d5dfd03ca8af0359a09ab48179f649b42905689f0d2d9dc70932567b0902287f517eb4b03c367aa4694970e2428ab0bae0fb4541dd457adcd1916ba4c6f7d5749be614742038ec91279b12f971989c43f05f18154b24e73cb15a490200f934c6abe9712fd0b03345dc24965a15a0881150fd7fe7dfa6f309f1f3b7483aec3bc8bc99b1e45b19f0358870706c709eb1c65d25a0bdff83186cad1f7c282ca105a4af3c83d158d381d00581e02ccb9f7611c92192905c52a3165592f82c71b1cca6e187ceae1187043124b52b7d2dcc80cd2e400000000581e02fe9d8e37bfdaa5244f3919de5819c6ab8e05524adbe61e5dbf8bc89d6c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022ad598d665418c9288b93d0438337248fae5fb4d7eb5174570552cc3125820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02870c7168cc02b43dc2401143aac2233ca07180b527dc077d59c6314a87490114486d7c33176a8b031112c4efeb1f4de4d3f82374ff61b7615133b613b057ddc9e116f7c661dbcaec00581e02a829faa17f824430bc3ae6d4c34338e0279b7c24b9af97b719ad7dd90d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02199a2200581f03965d9b96aa2042c0d136f41f1d7a1916baebac59df881af6c1ac2b64b0c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0386d1d995ee5537949adebb31f75eb9dcbdc8da2b811034d47122028494e20284031ed6200f87503a1bf59af39fba0e36a23a0bf65673a3dd0036a33ccbba4328af032213f5a7cc2dc8c171fd8250d2e902eed20f429018e723ed929d0637974cdc240330c6b328ccd52966deff792bfb65554bf246bcd1c40e5acf7b64844145cc597f0352c244a8b7d51d6ea498000fad90926f560ab00e3c4410d1b0ed3b32832d7ce500581f03f9b41ec17fa07d84676eb8897285ae812184bf2846c1e4b44d051f7c10305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03fca920da19a62cda92bb1e88b86d4fef6bd57b33b9d235f52961c0ca776862f60373717af81b67b24eb3ff0f536836722818543b0b7bbade5b0c8581e2cd6cf2610219dff7038baa8d9731ced8e7ad56b34b2bdebf7c67fd7681c11afe8709c907b4ea62f003033fa1ca9ae7eb5e38eda0b9eb692f108b5d94367f7031046084e0db53de57d094038fb46862b09654f2217dae17899aae26536647209408cbe6a98d7339e5478a7303eb90834ee126606a7f61d5ea51d17ae563f3031824f9f54ee29cb2df3f22737003e1e656aeb974a2910b996d1a4e53b64dee9a42760ae657958ae5a39136eb20c503075cb8f56eab43093b6f8403af795544a71476c2d02ccf085e6b6c5e7f96f26f0382d34c0ed8572192ae6b8036c05d675b7008d14094f0686a5e1c4793abf42da60219ffff0342d82a9c0152c3eb33a1390308d4497e2d7844ffc591d46d0057ea273b7eb49403b1b59db322be71b13857e2c9257d1d264906742309e7a5236369a918b39f1d600380404f6c27588a15f96401e39f92b07b07575258feb2e539f2dd31078701474703458e53de5d85a006f9acb9aa2e84d3852a47c977eab60b138b90ee76b5dace0403d281b9e87c5625a477bf17e98c548457a83ece4c571adebda9eb7ae0ed96e8260344804d8129e0bc50bcb2030ccc447a84496fa9db41c3fc4c1b94bbd4258c2daa0301d9476c0b997c443d61f061957ec7d3273eb3f1f4d9be3b111469b28ca3c0a8033e6db4cb25c111e3b5beaebede12cb87e713cb5f8ecb143d06323fba0045d58d0219ffff0354e3739bebdfb40e772577437baa620c1e853821d0aa2b707b8934a0baf7829c03e2c472bf065e6f495ebabd86d9f10d98d6bbde75159ea8e1fd9f79c41e782ce103902b44e804c1b4eb693d32f01dc46b373be8211fc50d8c49ff07ef1448e6c89b03d0a2c583a26106d91c86378c0f2e8a275ac51ab2556f564a63461c6143379047035c38396a20851e0567a39c5b5c8b8ad54936d1c935e100f7cd3e1abce03d2d73036c41cf59f1c3c2ab9557696d7f7723e068d74d8df1d4490d607179a6f4d36d4203daf8c2ae7d2b534dcb23278f1d1f840791559728efbe13164251d314c920837e03e1a4fd02a59cdc8862e681c2f94db7f9cb9c7c729597b68f9d2c2c53a340be4003a43105eb5b1d6eafe323a213dedbdc00cc82048ef25b3566ee1a470e49aa54b603a5fb59ef2c726ebf28330e7c20f6de39ef88611d3091651e6af3ac67d7ccb1e103e3f9e71da46aefdb8869911a6fb4705e4938cba59c13a99b955468e520e2f20e03e47c212c9baeda8598ad9a6bfa68c46e800306bf1be2ab411efc8becfc405e490336492205e4f293f2ea71357944963d472797f665945c5237cc75c80dd4a37bee03d9d302f223e3dab3dfe802a558bedc9698c482dd737533575a7400b77388a8330354d65d8e2a9038dc2399431ec9d83306c4aef9ed6962903fc31c082b3879f54203ad74f08ba2e0cdccbc1eaf40c49a793e3d1ae93f6c31b7102b97b76c6e1274ab03c0c8616f5e48085d0799ef04a02b701cf148b6c3d043ca1dfd4fdfc37021276703cebfae0e858dd592896ef0dfac03c0ceb328de57cdd7c9f84edee5650433b6f60343161b728d5bc8a645070d607515d910389a84d75c76db61069b43eac7f6395d03ff6c79a3061a71be3b2ae9e8c2d688b2ddbabcfd9b0ad2f94804e8e1f13e44ff031a3056145f862baf6759e17c35915251da7dd665d19c8c9943951af0c79bc97903abde106294cdc853e10e70b9c547eabc3f62d02b4036c4ed69c8d170923547e503ae76942f455a2045ff2adbe4bd4b315d2f77772ba647775ac9f3a6d937e247820306598c4ec55b8a63831eeb43d438588805341a6aaa3c1e776cafe9c35a12e5ca030ad984d9992195c72ebb7d0eeba84340651cb504528450a8b83b1f4ff3e46c610383b854266d874eee3edb429d49fc5b447d6d2d5f7bba88032115e85c7167717303a87fa3ea01c738e683126e2998d39fb884ac0d87229495e81f54c7beb2c4748300581e0294a9930fb62d86e786667fadfde8d884f1ec17fb678bc7af748b575b935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fd99f645466c46d3a668cd166c1b705069c5de6932b505fa6673bb6f3c460a186b8e980000581e020bd73e20936d93fc52a44962652fbd0daee78c75fbf7384c368ecf24f447126c2e67c070c900581e024fccfb8bcea14450a6a3f66e931e633bfc0ccae2721287e0c26eb83fa2462632e314a0000219428103bb4ee21dcfca4dc0e094e2e64bf566d6782230c5e666a5b8ce03db11a94a9ebe00581f0370139c316447847fe8dec64c7362f103d363f37cfac349567f504d1084905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0390606530954321ced82f810406dd862a677f2da7b8ed6434018f5b7ef05d1b7b00581f039564245c2616f0beebc5daaa3ec6a42df502e9e10b07535e1b1905e2daf04711c37937e080000219dfff034c394019eae1926576cca18f2c37a9a974337a920a7fa641aca50713c6c1150a03ce0105ba0c5b8c0c99b7caa7860ce21858e79d57532c3dcb2a1e90dd971806eb03224a33182673821bf9b1ff45cf7174923db507ab2589930bc8d6fc6477982e4d03ca79b8c3939ad871c1f523a79f5a82f0c7b70c017e854df952d0c614077ce5660305cdc25ca8a195bd171e47338111186d95868c6fdc7bf3c4734936ed834e1d8603e3673f9134de175c100b0cd877b037ab626a589dfe15704ab86eb8bc0515f88803c099e683b54ebff4c0e1b709d1496917aca12b9b7cdf5904a34cc1972ee50c690219ffff03278106244cdc9c5f94190ee8d60e409acdfd1a3c6617e7d660ae13f9d7de02a4032fa8fdd887819345e18795d3d91106bfe3b51680ee34f9a60adb2fbf5efd4d5e031e8fbf837e2dd238bb90639e7e5d03906d7ad8ea658ca93536d4da0c5472d36103880778ec09b720824315013c3d4f498b46d7a1eed596b0192f59934ce17f10d503332bc9ec4e757957a8a310a1d945ec9a5cf400c54e934350feda88b12ae96bec03a717e245917501174685d70e67b52614f259678576cbea492e722d3d40136930034a324556e0949f861af92943828126df5ef3e0a89f1cba4d287a5ef1706f943f0219ffff0219ffff03077c49118f4d6f28a90a8ed146a323ab93776a8fe608efadb18a13d705a3a34e03e5084f73a77bad4080184e0d51ae919f582180b46025197e65f1ad917d669eea03e82500c09a03dc74d0335699e00904cd86876d229c939aa282166062ec1c5704038ec358212f71d10139220a90aa4a7b8be533c5f7eb4a13f47741ead00e8e073f03ee0ef684069c205a31c74150e894849aa0ed31d613fbff48cab7f168b1cf805c038af2780e4eae9040d787ab38d391a769d6a97e82f3ea7f70f24ce5a3c93d1cbd035f10378cf405a1ec1f45c0641da25b8a2df5b18c2cad7dc5bae074bb14af50c80360299299b2450d85ac2b673b5ddc1a72a23441deb6ee719b655b1923a9ace92b031c037a3211502ff8190fd7476d2d29fa59f8ec69637e4fc575ca1652713cfc3203e11b03829f891c8a4685abeaa8d64ab79e4c992cd8a2098e6c2802da7af0d866032936b36042918d761f5c905d9901bb8d721147f0fd7527c7e3573d652e7234ed03b48947efcacd385b090637a98c237cea4e01d6edbb92b13bd6f13e96df3f5b2e03b5855ef99f2c11d8b6a35e9461a15da63155e480ed6be6805e1d1d7f8e6bcdb3030875e57e5d65b8a31ac9b6a677f011d74f920e1fd5b0f55a973a58f20a5e9dc00349debed3b1e17d491d2416187e527e051660b5a9258c8a9b5cc4cd43648931e303098c1a80e558b615e8cb1f2396a8886924b79e6d2334bc1389e55938a4f47a1c03b5dfd098fcdd57779e928a936d0f20a016cba7308d03d302234277e538bf291401410b030c1321f3be05e92996a0a2af775afc8b55a65f26092dea54f94ed748055de7d703e62d49798dc14ed301f057787237e4764d2b2fd59afefe8fd240da88e48edef4038ff084388f527b609f25278344b8f3eaba29fadc3e8e1ff2cfedd5769f949f8c03a1e219dac9fac3ed5b9bbe2b2da28e2c5e36f4256a44bc959bb0385aac777db303c10dad1caeec288846cc4613a28c7839ecb4dbb39d67f9e0a9b1e0aabd44aa5400581f0338d09e8cdb0a69c296df75beff7a16a82710fd0bc07ce391856cf6f98ef05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c479a7da81de447b5ce632b67a0e70ce89794f731768a80fb5acedc775ee766b039490e77f03c64fd41ad8f5a6f5b4c02b9a0403694419e9f1c8a1b0ae5797318603119678347e44f872ae50c5caaa6769424860afbaf97a856b6a39f32d49950aab0335da7a868813a6b17a4e83c676e2ead04d930505f9e70595199572d22096cf1300581f038d70b3efba8cd49358366a06f61916d4841ff21d39dc5b10441264f49a405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03da04a5326f786f88894503fa1f43928487b13f53f3d4273984df235820472386f26fc1000000581e03c10eb5ad77ce2cf2cabc98cbb843db98bbb86af7edf609c47795244d10483d0caa453ea1089d02183000581e0285c4b520a4f14ac82e19d32e9ac6e7105d446182781a0e8fb37d80a3b65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190440039a25e616b5663c8112cc1b3841461413cda91cb7d940efc2b44e47aab29f0f5b034eb239bb104df6115632f1843b969e1451a407d4079304e52b694324e413837a0219fffe0340ee4ebdb394c13986aa2bbca7921ba08bf1bd0bc2ca2e55a5d848c775abf7990365a03e5ee219d089df97f57334c3530097f32b10e359f377251957e7ff113988037ce7b4c5172e0c9f8c60f0736cca6999fbd662ee7eb1d246763a62e7989c04f503bf1bfe57873ea123b619611bcd0d0f189ea889860bf44e8fb5c77674b2dcbf390373affdf45246b40a9f91c518772ec1860c5631fbfed97352d37eb459417d320903d208711f7cbdf22f2c267a6505abd6402643ecbe3f6809159b09c6d4929fc08e0393ebcfcb6d5939257ecce9c7447b91922b9e9e9194f4feb7e19ea3d7d1b7628403bbee6cc22b6571214e5b4a9775563d11e8bb44a8ed199dfd785b109df6cc869c03099d8278c77d54d9550291f1702e2fe4939f56c8d95b2bf3fa29c9350ac2a6e5033e194ac94dd82f3bd49111155657ea51baf69bc3ba5489193b516885260f276b03a8b9fe20a699c066ba1b14dd64a7d6fbbe3346b27cafa1e43fe7c659070800c70219ffff035f5c7aedff569a246c7df1d701ad914bdf1cad6b28e94e0a358b2c81d750566403c2206c7b66ab5f2d0932a9dbd65ff649274083c97c35cb69a849da99252a99e303ce56fb613ddf69eaf876843d1e270002418694701629fabc0068b0a92078722d03024afd6dd88b9477c9d0c18eb3e0528d57adfd725e9f3bde96dd93705f24f9ea03d9786d6e3c76d9a77b7bc1e6798e17ba7855d775fa0df67fece0a4c7845093c90347240b4a926c75d1d79f8e6bf48ba557e3aaaa69d9c81b7a0b4770b849d3aaaa032f66f4a7bbc511620f6fe978ea1e1b1a2a872d93a46cc0fa3215597139d7df4f03dc8d89b2b7be192efccbb758132c324e7308cfc4c143d4e4dc86c9620d8bab4c037a46cb959c311e4d4c316a9407d87265456975c5e43cad0ee8e10eae0acc7399032d22c62bbea4c4e0386a93d0922d07632747edfbf2f82609490aa9b4459d64590219ffff03668b4eca009f068fb7e223860046819828bd13678f749ab57e69e7718024757703993d1e99f648ad8cff7cc445a7199a9f1314051b5f137853019f9fcdf261c89a0367d0157d64ab02611f2ea23fdc1620084ac3d96421e7947e2df9e6d11c809c3003dc6b725be30c2fa9c01b3c46369a6267f0ac87ba2bd325fa983d2f8d653e411503044043c65423f46a90f92d12662b05e5c1a8d26c61abecaa019a3a3695711cc303ce8a0284a04bc9c04a01d846827ab67a8626d60e288565ea1cc6eb688b1e65db039572bbd6fb30fd37efa2e888397ad1ae9ec5785f63739eaec64562aecc036ebd03c267b6117d13d484db4ad905b70095a47b1f6a381ad7e693428057dc21089e0303b720b5dd1282297974444d6b0732dc86a9ca4be5ff397049a93044dc314fefeb030430be9e9d2364eb4738e429aa2a8a4b0fb46fc6217f6b229c5030756a1d0df503fa68d771f47b5f4c507f6c335a8ff0b0e1b1fe6eef4ab69cb68afb2bc691c082030aaacd90870077b14a029779ea29fa87636f15ca3c9ec4875ce27d395675d074030dc096db9e85124b54b8917e413eb071aaffbdeec91897c5343e617f20aec58403489c4f2ce7f649aa30efba0ced62c4595f62df433228ea3f2bc0ef9251ebef5f033d13d5a917ddf18cc72f8f6169601609539c2d48a8c8e4809f64db0835627b9703e09f05c234994345a52ca8a3ace826ecce4388688f7ed1e76a89d93b19db3e3203b0ad831a6f0d1346e69a0d4d81331af313fc7de2dbb3299d0942d8423f74790703848380113c7ec08bc22a99357fa2900b75557bf4145d8e1c7ec5f2ceb6ce3ecc037410cdba56885981e0012664929e4376124002fc943b030c73c09fcd0c83a07f00581f031a8a37eb689ca62b805bf03a27e5f380c57ff10f63e8bf19bbdc5230ecf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031101c17ed7315a1c22ae075f5717e7ca0ceb7623b6ad6eaa94598871b41f51dd035cc96f13250e2814fb280e9028de69450b26c87cd66f0127f0e0d341990d66e203cd97040f0efa62d3276fdd39cf4ac1342439fe1c6e762d4f4ce7334a8b6186f503854491afe97c7d9bca6e1934e59d36a41c80a929f829ecb49a239d29e175d69d030afe386708d69497fa9d9e01f311c3bfa550a25e92619ea643e8b3c79c990d5300581e0234a41e42a796bfc7e44026502f423152231ba347fd452e9501f7920be6477c58508723800000581e0293f4f7eac6d030d3689dc9c3c0d9eb8886c173fd6694963e5a4bc0b43a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f5e4a553f38c2e2df31f50636a524ed19b11755f921dc0568d95e722135820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022e25e4e3c0c1784e5b3a4182743fcdac08abf22a786b631bc78daf5f3c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03b696444cca9e388645ab12c573c5ce36e16ec7e213b4197d365f200dc049066aef6c2c08f7c9b800581e03c6fbc46a03a2683279f5da750611aeab351687b45b0b4417b3f53906d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021910040219225203b9c392c1c962ed077a9c7b4b79ed1498c9dcf2fb1427f1c1f62e4b15e3caaa330385d10a1dffc2401e09d48e38a29239af0d2ea5c172772e0dbaf1c3388bf5b86a03631b530831af6e06d87c932d9ecb5e403166f72c8865f8a22b8093a12b5ff9190348b0fcde0a4402c9781fd6b87c1a68367002c31e30c4f6016a9d2fd4ca03243b0390ed4cd6f371a9c29cef35fabff2e26878205f58525402f7719a4080db79ada20219fffe0367c0d733f17c70bd7a9d7f4e49837f527b2268204b823d43916d42448b79275d0356a1ebc7345d88c1bea1b1b5875608ff12c36bb1cd35e78784bdda5a97cb8f3c030aac4548a58676ea85ce5dc759d27cda20af7414568aeec739a0bc64a13efe970309a2a4812eb7ae81e537ab561ef271ea41d3037d0f61de7f7df5b5078f0ab87303deabbe17d3616e8d38014fa5edd971e0cb00d0c47674e347617afbff62a5c8e003b29009b911d75d6aeb86a725bfb80e9f35cb2324325320ec6cc9962394f1ab350219ffff03282a6cb45cd2d77b96cee093500221cdd30fa6ce66ba61753d72b5eb94cc619c03dae795e45793f4dd58a1cea515a6b97bc741caf1eb34acad2707a9e765a6477d031d6d98e13ef983b7088610d67c6d14d6758b63e9306c877b88be691558f6d3710370332cfebff0b96853c5a63050390a7f35cccdc7a1f02ad61eef2e7408d3e3ee035ff636188a0105f5bf043a83e1a9fb1c24c3bb76df1546f7b56adfe30d6653e4031e79ebdae1107666532b3418affc98d77f9003abc852eb5fd12836322e6d7842030caa6b3a3e4d5d61ad72ef9a6c7a56ca85d00514fe98f82363debe516fe5dea7034a1227ac11c7ac150c348020cf7e1981b67e56433056d9cece03752ef5b02dcb030c177f358894d372286e8fc5d4f64726793669ce266a6e4e29af855b83cfc861030d304487388c7d50bd87b6cb66d2dacc22e3de3f95a152c096914c2cc5f15fe603172647e1eda68373ee8a2abedb6f97ad36a1364453781788bea7a0e860c6a6eb03baae27ee1531890c6b7f0cdebb2e232486657c4cfb0111a6c3355e6e4cfcea3c034806bac5d57a97de5e96f6fcd831ac908c68b03ac15dca0129da1792cc36475503cc972da40d5733d86755a064b6a98a3bf4c8f20845038488c6e37a07e1a455690219ffff035b7c93be6a1fa2337ad86e5f946fed362f753a1936999b92e273d49a0e1ef9a803cbc8342fce85d5b9fd68b5c26aad24fc16f7d2439dad63fb75f567d4b04340d603990585069acfbfa0ca05c701829c05f149ffe7c7802606a653eb369bfecec159031cf29c7cd7245669fa8cb21b4600d5ea04d8802e5c0a11d3ff1fcb24d9ef0ae8032d4dfec81caf6fe01ab5731f09c1e4f182522f4d498ca7817ec17916c3195fc8035707c09d70c2953d1bbb0b3b7b42cd4ee5e0bc84565f0a7242fd624dbe39e09203ed953d7ac384022d76498c483a93bf72ee069ea47b6dee36b2d632143551aa28031c2ace10bece36a21714dce19c6292f22fb35a19954c3d5b83bf13a1bf2f80a20345ac9b14c0fac966bbc2f2a2698f1782c05e44c1521e51714abb6dcdfdaf940503411ec64ef4e10ed0f4ce939eda5b32e8680d060c4836e77d6e95beac8285160e0310a18dd580ec1e3a4056e904e381e17c63f07a274fa975b72ede55fdd5490e4d03c3a9b810d1aa4e33799be76fa5b86aefa1c42384946f9644b386a951e00457df03c0c80dd26fcddb6264029f9d408d94f99fe0d0f52c127181b91e5daeb43225ff03db3e66e0ce02c124c1afe4a7546239c3c6a1cfaa74cd8fa79f5acba0abbebb2e034347649ec6abe8d0aee1d56743530665de9daf84a1ffe0be2f9fc316b0ed0e64036cc152d8d22cd22469b849135d737d53cf9d2a39752a1c0e20c333280780f06e00581e0204e206d3b26aff33ba777ffd8de8837a3779beb0748689f7be913c2f4646065dd083700000581e02e1cce6a91040fc257adece82b781c8b62f0aff22745b15fa904f816d635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03b8e1ac4ed72955ed3a8366ff7cdd99597bf03f39ebaa90d592956192f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03443e4b71a79bab23c9917e46b6c79b1e82b20d874b937c3cd48ef82e905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e032420508c9e4b059f2c5f088bd68da59d2991fcf3234ca82df82dad6f505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219101103ea97eeaa64c6caf2661b5d9522166b06c9fb75356af03ff30001672ff5a7b80e00581e021212a31b7f3907ba4d7fd4e798a6373f4d7545af4febffbe4efda780845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c02903388cc8e8b6620f3e8524b903f765aa36998881a30aae49f1ae9773f9445f2275033ea02ba17057ea867b6c48f6d6cc06029b629b8a940fcd4da65063280095c8a903e65a786c13b693cfdf1e9ae0a908b58f4f3c62d73927ae5b91fa42545615a30f034ad555f7701d719c0fd2521d295e14362184de2cf3d6ea543164035608e64ac80356dbcdd9dc028ea13cd9ab0a0c3c3843de0a7d158617aeb6c29ce51e235b57fb03811f08928ea62718a6b95430ea4cdfbba03494b15e3bb0852187e5ef7d49a6a7037dbdb359985cc02d11ccebd98f895941a3077daba2cbe89373a508583b7b8e37036a7e1bfa6fb5c3e5c711c290a624269cbc27de6670e92c7cb294703f5d61a98d03caccfde70366f5c81ae4c5f5a50488292982a250a78d7e6a03a82e516ab7aba303339957a1a8f9ade3f1a79b015c448824618bb50f8f2b0b8e07c557cb4a89520803a6febed8701018796852cbd80e2b9564bcadd6a4e6851ef99d35aba8ad7d2dbd03f032288e9a767a86b24c19426f5cf77873b0b5a62dcde63e6cca3523a84a66460219ffff030d27f2ba367e37dbc384565d3b030e54467003bd7a5c6ced5424458831d883d103c51848e87b0bc955531bc57d6c42106c539609d7b4bffb0cd48b59f5548cd8ae0219ffff0308c1d2703a8409b38116e30dcb706a9e9a752e5d96eea6685e64643198415ede03d033312c596379da2c1d2b921797f782d736ec3962ed8aecc79891d1f6ddd30003616d0910d6254b3f55c4d5a1ad8288664dc6fb536d351c2a656cecff9a72d45903d7d779c1d7216782de061edd3d93f64f84fc4b5e4871adebfc7ae69de46386fa03cb16aef1c9da0f98a9cfb92ae995b75a3061100b8890d05eba7203bf52b344dc0372285fa7e0d255439107b26585e0a8575ba80e264c46a396d7dceba7f172496b03e55d33051669703eff001f2077d9aeb1c1fe20c462ed8bf5fb61c0ae829e805703119637c60e1497ad3da43f4c3d3ce2661aeb8905e8d20fa8f4a500559a538c5a0317a815ad5792b2bced1e3b52733e45ef1d154b29513bb00652fb5372acceae99033319d6537b0881bed9814504b150ad1d3dfe59dc8a2a8f086b3ee5aa33ca202403a231be4a12b0fc4a4406813c97555a219b0e782dd7bc02fa6ab0be8220f27ee00333e4836163a05b8585c5f0f06bf361c8d232451fbe3dbcbe5cb56f326659a96e0341870c62e847bbda5ab1121f71add69c21580ddb82e2261e986e6fd33e7d96690395806ac724ce0ca81fed8e3e0120e6e34025c6b212b615d75c247e25a791817d039ad34447fb6d1199017c6130d59ebc41a37f04a460261c2457b8c0dd6783f23b0219ffff0219ffff030e5ae58a82e2847d9afed3703ac4f5d1134b13412ea0f75d8dc1eb584746aeaf03a6259ccfd658a35de35280cd01e8e32e6a830a669ae14f0a649a15dd093aa3d3032abfe07ec4323e6a3bf07fddafc13c59e808d5795dbfe0d854572e68c206655d035d67a2320a7a252d0fffe6e9ee0965cabc814a15cb0ae38c652279d0c312dac70394fdee6d5716aa933f95e2a19e7d37266800b8a22d52f0387e7c8641925cc99403802abd86ef42f515a102a8404b05e5ba28f92c1fc9bb877ddbf34e16856eb55d0327a1eb2bdbc710945ae7956a30f7629453db73996fcd93d9dd6899d7d8e8ef7d03a4a0c90a2082dcf72280a2d7dd1041edadb37c5bc72ab9e709c670b0eb1f5ca8034903cf24efa77e9ecb3a49a1d728695af51bf0be6bbe95bdc0f42b67ca7961a803139abaf019b64c9b5e2c4efb36c9e187f871abf802336a14aae1bd426345241c03ecda5ce5c5c70ff4fa5b88ca977723856b7eec6c2d8d53ef8840b8203c9378b3035709e06a09067c3f8c8651a53c508a7820b8db83112868274f37b2883c763fc0034273d45b8130f70e347861e8dfefa5276a2b78fa09fc67f34cd546d1191590720324086d0d5fab2def509bcf4cb83f5267349c632b25cd2b080e3212efe29bbc46037131330eefb14d038f9dc27a7953d3a6afce4a3f7ea3554dc4ea8499f51c55f60326c4d2f2daf48017304be1dacbd06574701b9364e6ad632ce32a03890892c69e0360d203028e3b1079b97d8804d0f97eee5aab4b7d5f79b907cbbe4558eb39968603e8ce2d86ae0ded3372de1cdb8e4d0d55a5444a393d47a7c81ce3035f5f013558038f430df0272cb18778392f683061a3d0753b5d6397ca6e40c72e9db9969d16e203745412d088ba957a1345dc165a3c1aea27cb2db806d6905aeff8b19b58e1616b03d374c6371ac5c969d9da36715cd239696ff737e9196e2b7b7e7c1042cd79dd7600581e02226a44643cc3594c9ecd8db46db56fbdf0f5ed461089cb32396ed5cb57476a94d74f43000000581e027cb5607a61fdb75a44d4cca7f85906d59f67cca973d023a4eb4906e7c25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0315e60761751077a65e37f6540c0321d51a61384270cdd1a0c24c37991385b81003e5167411adf04549ea25cb771610c40b1cf87291bc0c5f4a829770bdbadce61702192c20036ae478994bdff62b7a85b1970a88ae910584b2d451f96fd9b82b9b5cbe50386e03697680aaebb0358eecc1581ce6e35b6666d12a40856cfea50cc75e311475167b03cccb808db7bf4ff1762b1e76353fb9185cf34cb3d8760a6919a8b2dcd85f90f4034e788c79d99959b7da7b91d0ae7f5ef3349384de74676d2a523f913eabee075f03fafdc8ea365664f3d4ff4cd7d5ebdff33fd868d089e14fe0b48f0faacd6f3b30030bfddb9d2830a80687dd5f341fcf25b2bf342dedd67a88e239e8e0dfa93b1a3403d8aa39cc5011ebf4e55899ce20a5a50c795e081a19fa8b005f9f2ac324785ae30396261e8a915d37e2767188f21427e6b582cfcfe6b69ea5543f37b7398deb4aa1038813ffa3f786c32a4923c1af7223fdc9f60a47f96746225e7cccb4f4e77740e0036694da8a22f985d67a967a13d4fdef88b00108e0841a76722a4e909c74c68e8700581f03a545f125ad5e883ef0ca231cd16f47c2bf0cce2738e8446fa1c1d87297a047f8b0a10e470000038256c66172a29193bb88655f23de3c1a2e699b1b645a52555f9b61d2fe4f9d340359a3d0f7bd0a6dd308a9fb8fbc9a3245fd7bb435a6f86ed1ca4afe6c6ededa4600581f03a0b9441365f93e39018f6a8e5564c0c366106c1cfcf0fd8759da295f196058200fd4bf5c8d955a04ededa97de8c45ced8d12a7b0bbc43c183bb7b2cca20890340219ffff03174579f19321d19e3309af62d75d40c172dc617fad6ec7c1126955889d9b834e03a5dd54cdfda851fb84fc2261fdcd85826ff24a3a52dcfbea4efd9e7f0cdab38903db9c1e3a88e904fbd3a66b91a416df09811f73eee5e596cc3ee8a1d044dd71040373e8d46cb701a14073a11fa40feb0baf23347f38be35306ee102456e73b9d0c303a5854f2861fbb5ad1c71bc02b6ea0eaf6d7603ef6835302d4b08692a1dabc4ae03d625a3820d9563701dc1c59fe26d256e009bf3b2cfa542641f4621d3de7cda3203cc3ddb9bb81342a4da7a4601a2d01826498cde2339616bcb451c9f382ebb9498032d799187d1f4c8aa267bb193b9b88558a0d05bb9be526bf403e56f2ec828ae3c037f3b9c3428a47eca046e0a31c49fefcbefebebd1959a411098be6f18296c9ed103671dfd1e2370625b61e7b795122272a752eebac063ccabd7fda50526db4f98350219ffff038dad3ca8f6df0714611e20cef777b7a4aefcefbbfa654448a37ead20fd4ccbef030c4362c503f92f1e1cbf73d4ac0d54fc8e0db5fd1df4dc4b5bdbca062539d26903a76221ee93cec5155b4f133ab187efcf74273827ee1186ef26dbe2842b4f06b1036d9248cbb855c0422d6cc0130de3e07ef6618ea2da5ed097a0609cc690b7b47d03fbfd9ef4cebd63a73205c6e9fb6dd9b70ee8d6f6aec052004d314fdfa3baa0f4033be905e811f1aa1db6210a0bc5bec19e221e1fcc8779027ffd2400896910788303e5ed0b0fa4b361c8783d5258a5e481e30b6bfe6a907c1625405b54f85ae887fd038b8c6e1f4ce6690c804d9c39776f4b448e937b66c7c371bebd32e3105ce3196c0219ffff03e0386188fd6f38683f09e885432091b09a2b23c58129aef8ef4c72f85e79622603a7ba6e06016826d1436c3e9000e93c4cf6caa71f18e30aba0b0ff0893cf166ec0346ab8b3a2c71faa149da8eac420b9f9acf168d644d306cd7c6b42b8fe7fa926603f17e20dd01103b8d750ae20c9dc400e3a01fc79c9134dfc977b1933bee53497e03f6cfcd25dedee7eedfeda0d803123edb49a522683998bfe4684885d55dcdaba70305ac876d5378eeb2541ae5546bf677719cc959c4ee2a464afb7877cab9be45c2037dbfc715c10350a2df7b200acd5ddf8f15f7d2b7caf73436416a52599b92299d032fb2bfdcda9c92aa451fd09e5a154b3aa0d7b0fddf2b93ff047935bec2baeee203407a4e69db2d855cca80a0cc99c512c2af5d22eb1826e3b4f101588b63efd32e03a3e7c0a492dbd1136c153936ac51852ddcf2754dcf026ff96008174ff6a55e4d03a089c9b72f5aad8fdb1e63e30c15829270717258dbab8b3c03711dfcb790efd50325d7e2df7e05d0837803b74b760b27f5306419ad3ccf50fb34cf5ac499b776410352f62e6aba3e15c793dec5a1361a0b8a9afe922094e2d1957b487d206568760c00581f033a8bd93e6f47a214b9e7ff4b79d1ac2d280783186964d88ac0d7174d6fa0472dc9ec2d3462e10367934fa1907b825901fa314cce0d66cb020a065abd13635531e398c47076609903ca003da74f2a0eb45fe3ae6dcef832f8349da9d4a3b7410a1eef0840841563ba031c0a86c5e3220c977810df2e8b99b3911b39c981f62a657f1f7d1b80036e706703e8c9985a76cdac7ed466a04aecb807045299e8bd1af857e23da59c6549999a39036d2b24db8b4855016824b72afcc5546d8f12b214e62c1f3e211fe9afc35b36790338ac4cacb96cd1899c3cd91fe2c8cec00913737e4ff8f12e8dab44b76150ea5700581e02411cd34df5b4e555f83a6d312074b4dde0abfd3cc0008983cd6bdafac34901863938fdbb2a2f9900581e0274b6cd395e8d0de637d9aa9d93600a1cf50a74fbae45a42e6030950caa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03416b1732ec3eea2490eec90fddaf8dab425ca240b0a243fec7bae91c4b7371af0219024203e8a4dea505ddaef91b298abb26bbd60df0b556a410b5653d787ec6237baeee2e038dfde5caa1902b8f7e7ffdce010184e0e50cff9efdfc9debfdf057374aa64493037d86b850c8f390fd2d2d0c30720c86386cb28fff922f5e5b453eeb8e2ec798e903d564c148b044c85fd6e31aa9e8436dae948dc0e12e9c0c83f83f57d01ba6245f03774cbf515790e03be440a7ee23a2459ceb6565b95fee895b7d757b252628185100581f03ae7f7b0200a96191fbf9f97f44028e656ca54e3061a3184f2e9963e367305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d796ca0ef60cfb9dda98296bcf35864d7105c2c129b89f7d88ed8f66005bf16c0219ffff032ed75403a1d318277ba9f87dc0a53a1a7e44e20d5f23e7bfae315206c198f57903bf3859e94d5199f73f695b21ec960b63b8d8a3873c32659aaafb76a242d4c6f90353c22dd03174b5006d38d80bf757c1e51c5b10d16a9e2cec0e86a8eec71ef29003a0851c19209b9107413d5cad5e9829f14e91a64d5029195e573f15232f91803f03e19e5247b4122bc3f52bab8aca4cdf52aa87753c427b5d28d6832a10ecb8c2f303624460e6cc31a9b261e129ed7447e8b6fe342332a4665f03be2cc6bf4aac5c2c037cfe5a9b36451b7ff0c3ab764aba895a740469bb900e40cca4f10a0693e73e230310dac1bfafeff1f3cbcc0f21cfbc33339f6a85625f59382cc3e7b8872f7376c303e155ac68d8d78a70d86662c9da646625169cf804ee3754d7d3162d0852c73a70036a4e143e9763781aed51d3fc912c0fd0d5d88c634154d6348ec7905d1845294703fb45a876b742064a87ee6738960e28615e2a3009c5399a1d9f084460b540d96a036fbe22b20ca4f953f52bcc87ff62f94bd0f19b0a50b9aacd0c872942d3b1c04f03c5fbf4819b4d51679c12cb6a67e05cefd8e2e65f2c3f701c823c6c10c390c1a8031004d020f5425874db1fbbfc0a2c096d09ea3fd097c5153844026d2de3d6e11c032ab7b42fabb2e19c887fa907515bd3d7964602ae6c8470c865b4a36b6d28cdff0219ffff03cd466d9f4783476fd7d30e22bcb79a57b69e9c5116005480ff6e4c40a0d9635b03335dbcb948ef0a77997d14a3aabd67e08d28dbf516206740f5a157fa262783e4030b664904c8e273464569f4cb3961d7a73d77d6fc17fcd680a6b16b0d97d863d203353c9cf71f037c61177ffa417a2a8b5d41113acb8fd7f6cc261311edf9afe452032babdf7ee3b500681e1636b49eb48cc86323f8637800c4174794bbe60ceed39d036dce92eba80944f2294f799782ffeac54fd06e60d7905176fb73183b84c622a80219ffff03f68047b32de892fdc1b93d1fbd2aa9b4222b31b11a9a154e5de663424d438bb603fa8b8df7b2a467c49eb67da41bb5b27d1f300f8aca14215e0279f6d0affd44a8032d874f1dd5b4d247a1d1a96b92fff80c17f42a3ec453e8fb89b119209354e46403c49c563eafad41869c7cff7c24ac938796131861fc388962f03099ab0c5f610f0326f61ab047c41605efdf47f06138be0859b991dcc30af1c1a5c839187fba6e7f03e30b09d5cbb3efbec444f376a44ee19adc87820c4dec54e7d7f4f939ffd8e56803b5d06f37a4026a13d485806ad681c5543265c6107128b1871e0ea55a89a50331033f055881176a23a1e779bed235f6136707511926172b8349e5e1bff9463ba96f03c80c8a2be5a432eb6c34698864bbe6a4d40b5aa2b0795dfeda0287f05fa3475b03535ef92deb01c09a2babd1abaf39d4acff58f1f356eed87f56af2fda5320067a0342f2773b236a9141e07df949f0d2e9c250ce70859e4c2589ebf94aa5ba7a9b0603e305bafaf3f2032eeaad29829044bb3a2df9bdaaf56d17850c7b25f8fb82eaeb03974e0c9605a568ee0a05ef22a30e1b9732ca22972cae2b2067bfd0cfb64bcd78036d976e93a8d4baeb23d72e05672f05a1da738e397a533c766cc06bb03545a37f00581e025edc1ee72ee0387ad1d508cb353a51a3d5ad8235fc46cdc3ab16f1c4b25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c722f8c1419f8b952a7ab751826584aa0d495e9c54836eea2a6756217d4763a7538df3200000581e034659fa020d7f6cac748aae3161fd2c5146476dd9a9bf75cc06472ea81049065c909b4196a6aa7a00581e035b3eba55341af8afae4366a2eb9ac2da1716b7f76045e3d898f00d7870410100581e03bd353098711728d7c4eb98dc96c51e19212adf456f1114b1a03cf584005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021901840219801203a0f279e2b392ebb527a2866a9c571281cc8a456de858347b07f54abdf0614b4c03af9f3d756ea13e5527687877769f385ecb7b82eb51c07819080eb1dc08da1669036d5d5f2169b9307fa10c7748ed544eb2f17e0a1014577454e67ab82eca133cb80343130a563ffccc11b16c98da74ff85bda81480424f9f370b47dea105ead860f003e9212604147c3d25627996adc6404532a693426a67f6a9724afe60abb5c0b7ef0314f38e4d408cf358ba43ad5fea53ae765b7acb45953b7122c2de9d508f676ce30388fc02e76f744589a3cc9ff16c766df61894ef299c9bfce7471ca319af091dc203b1f2ef685d04985b02b5d4ef86883b7020974447f03fcc10f3c1ac684c339c4c03b59dafc29c471d5bf0599200a8b1d960aa308e94f99f35a6ba1ffeff0ae881e203943f363786c56901cc786face3f8ff8941cb737ea126015b146a5bec5989534f03715323f254fc0da99e2f2d13d5d470b7081cfeb713abe356ede7f460be72276b03f7f6ccde615615d7836e49b138df916ce3d2ff120037ec415c87de91648bca99035298dc28e5bbef39d19ee47d282403fbd300308f0136052c16780f912a9cc5670357351136a8bcf2caed1ed44280f625c7c14f65b3f85f19f6296dbfbf8e65aa1f0219efff03f29b9425c11e1798c55025d1e9c5c7c6e2cb90d66c15dc4ee2e8ed3d19554c140398d89a1c5e8d0c25d3f1789e1256f5b6cb15f7d68ac29372dcdcff4db28a0336038d85c72c5b62bf6bd5ea38eba18ca4d00238a6f8bb0e21358b57507b436c92c903827fb07097302fdd6e3a0e4408bd4de7c0f5e43d4e179d8f096a9a688777b80b03c166225e318503eed7c6d0856510d847452011addf74d2c96f53e5ffd4c795300349004559f6577750a3fbea7079249a728a62c15886c22aecbac408fb8541938b03289320cbafffd1bf6ffe0ae1e38958106c4d08489ec5aba4b32c99edae8cceb1034a03a32cf6e0001b979de9a70b64166ad47c4cdfb1278e87c615dd55bf5a1b9d03a7aed7f69e7677ef0af9fbee07d74ff0c54e78afd38c3660fe98924722e1c7ee03a481daf580406fc75a93c0022c37243e8c1288c4a3db24b1539017683a22b0110219ffff0374368e17adfdea5fe9015044de114ebb649b4d99fc133bbc01a7ae169e8d7fea0374007e31da68edf105fa07db09fd24ed6decd0d0df212ce38b391c2d5e1ec17d03934ca63125432b890a65485b8be45d2e71ae10f0c6fd5dbc3ea0cf63088e0320030d0505c003858c1e3eb995ba994d2f7f5f3dc06fde1f996f221c6b97158825fc03abfe1fe39b84db4dcfa04effefd9270a3ea47bfb35c20831459e2ce2986ca5a303e0deff7f005e0fea82052e6b974c5c778b24b7373492dc51e80a6bb5b9751382033803404b4389e54f817ef55f86dbe926d1aafdd5153057dd6eb3433190d7fa360346fd8f0d2702ace72abd5336e17e9f72a00163b828cdb8d4757bc32b4af94cec0219ffff0219ffff0393d40bd95e3d9c6afd0876886476c4f5166a3c552407644c65d919a131d9fe1903092b4cf965c91e774f6b3727325c900cc3e1a5320f40099ed06ea526513ab960036751f28330abebef85bdefb8a320c5bb33a567d50df9feff72ef80d9da7c3bb703c6dfe64089b8b2b1e29083ffc8fa534debb4016a130c501bd321ad43d6cc26d503e4336ea26121c527014ff3083a103bc42ade74d7cf34ca6db45ee4b60db567f30378c4f7f5a42137f11f5b412ee3a4d278c060378ad09e9650f2d6e18ef0a887b803884b1dc7513a572d1fe435e78f62b2611c60630b81a5f0b9b78d370c8901a25903f4e6173f5c09c709da45ba910edc918f6f57b935b88d7e78c879b30bf6d4697d03f489257539aa5803b381626daa09d2751bb64ebfdbc27136c03b7c2948572f6f03efb5ed3eae8048063b13386c12bfddebccc61672c0321244d524a5528133518903fb10b18d40908251902d824f733b5bbe7d12ed7e433cf4e0ac355e46a7f3676603f8f7d1272a946b15ac2372fd03f1f065fd87c64e0c8fbbdb0dcb4ad843f35dc503b49bd0366dba2edbe5d97f4bb75c3af56d184ec9d6a746f9924e5c3e64da0610035d72b6dba5c2bd8f62ec94a074e71050c7648bb38b890b6fe07507f279a5d2d5035012d7fb145fe54f5c4c6019aff087997f7bcd1c135ee9bd21dcf8096178b22e030fd654482fb18c03aaabc293ec16e6b2ddfa6c25d12508c73b2dc66916878e800354c29c838e21de4aa8e7f65050ede62e2a2559563d40a3087d5e3527cdd4045e03940a0445541b65baf377ce63e396a643351a457cfdc5b55db6d0c072300b99ce03adf7f0665bbd154398f87b3ffd95f0a924d71b1bb04b5b7e78ad41174b395b3d032d12ee94348cc86492ddd4f4b475bb4e074a2835e150ca83ada6099451865c430377f7c129d599957bd8e19a8a044746d3c27e3dfc1a376155cae9e6fc7e6fba5903814a47ccb4a2f956b5b7688c29b06e606e3d4002906af70314bde11f2b4f02bc03f71bce2c25ab0b6d1d5133c030b6263f2fb710841b06cfb1ce97123099505a8b00581e028e9e8c2104b76e65e35d1d13b998358433b139973e3e2ba8ed6a9bc7ea410100581e02e8a25f40dc670dfbba92e80b105883c565b5170dc4d32ce856c7b919b24808dd4f1142c9378000581e0220d3335676e8a52f0524de4bb1a7295930dfd0bab092b6d84f94060f7048017f1bb2d439eb3100581e0218e2a93a298af04f35fe8e3ec1887fa1d75cb42e1a1d2e1edabf8ab19c455edfd6c74a02192884030d2eaf16f3718aa49fd009c8a145331d48d99ec5597fbc8c322d22c020ae1c880358d5707e13f74f89ac7286e4f029d2717543bf57d2103174110fbc926272685d035285bcd2c8b8fdc783d89f6c87bd43e21e17a271cd47ae25bee4e99cfb7bb38e03456443fc4ac384a59d730e7e0937cba443fd65829b3cbe30e3388ce9f6997d0e037dfed946286b420b583ab2e4006cdabdebe8e89fcab7ca8f2a1e6b87381933f303432eb535cc3323a7d800653f029929c4c85113bd885c909e770689943b93d5f40315116c347072b17bb74f1fdee5dc505093b8fdc03295232b2a9b803e7bbc2734037abd127baf36098b328ddf1e310e3f3198cafcce360987c62d97581984caffdc030755890f31b42d9d6dda3af6ca722a200c028a8b2251c7eb7c57b1db1d38b9ff03ecf71560d4c0986795675236162f2b61d4a85b894dc5c4e0616c3f4ce9b002de03e35e42a72a6d4064695be454ae0d3dc8d6cb94994f423a230ea8a753e97f8e7c03c3edb261b094456b6748c4d6f3985692008738bc00a1af11bed909f20395560d034e9d3324fd7ebca685318cc7352d6e8a792ffa015ebd5af191efb4f0259dcb4a0219ffff0352f871a1cdfe6ff03233f354f5312fd53a4bd17d9d69cf120124ef5acccd9844037abe2c9a80cd2222e4d89d942526aa7e1647f2b6397216f1dbd03a487c0ab54f0219ffff03e38ae05084f22f1f0de8cc91ed41b7dd277f8d1f83bbe892e8029b51a63389f103b78a59dfd5185d4a7723c31621d094820824703691ca242fa4d89c4362b7276703be0808d637541431569812e1183f3b8faf0b71ce7a5ebb5228d52b2562b70a490382682d38880912ad7de6de1ea19511b82735a0caf6bf8706a806fafd12feb9d10344b53dd4b36b88b44218ff6096ba3123eba13e64aae6d068497b86bbdccc7c1a034cce9ebd78f81c2ae3738ac96891227097029eb620b2c5761f1bb648343220c90343b6664f024ca88d8a956a28cfedd62286101cf52e46d18ab0be3f8840a56c77038884ba0d1816389693bd7c0a6708f0fa0136490cc9993d4f77fec71a4242f133037f754d475049f5ebcbc8af1c7818ea4e021de913417d27362b326376a974461a0358cc36ab0d4965fe09d5f3052fa41847cd7d47eda86780da18ed4f891955840603f54c10e791c565bc04323b2cbebcd593e2b161ad8b3743890c9a4e374b5c40860325a9d7540b28be7f9f46335d5185f6ba2baeae070c74165de19cf2f740bd0a9d03edb0a30cec810dd53446671a5a5e8fc4906ce7e37c9c6b8d605d9c6416a9908100581f03da0e93dc33a0df80739033413398b6c039309a7dc94ed9edff0ca9e7e7905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03886103f09d513e1c71be34bc2ea42b3ec6f3459131e947616db1d665d68836c10322cd64220ae08636c2014ee291db1a68f77f165e2ffd5803d623f86cb35afe6703afe0b1f3fba2dd7d34c27cddd60273b2452281a36e8103b42eccfa9fa4e981f603cf5938110a62b6a1b47f24a7633432522674cd4efe2e415917f50a5d8b52d2fe00581e02e1e364f1029a09fc68140d207ffd936a66428b940233074cf4ba242c315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0247104cb9e2e15fac00155fc46ebe57731ea8959927bba2ff1daaba30845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025850ee73d75caa2231e2f8a20e9ad8eb850dbe54fec1aaf179d076efe648ee65c50a6e81238602192021030b9f8c2af4b00aec7c6833c3638e6600f73600a90d77c2cfeeeab4705d64133a0341fd74eac9b2ae78ad81e85c17bbae596c46a4f686e352a52c0a11ffe7a3b52603b84dc0210427e8ffced9bcd42f0eb319b453837f1fb03e5f2d776fae88f66a8a03d8f9fb6d422ba0a35625f437d7894fec06581cedc426fece846220e0429fcd1000581f034f7369c1b6399997f02057237a6d0b0f3d96a140a1322045765ccae83230410103a84e7318e5d9f512d04a13986ff15576a55fdb5c99f83b14f6ca5f2b2af68f1a03730fd40ed9ff3930aec2370b05bff3224d6e7ce4042506b5d38f740d1fe3e8e00219ffff03dee334154ac7602f7e6d8e3a746f69e0edf1c86a62a6bd01046e433f6d1975270348ee1065812e879b24677ba745ac0b5c0546fce90843815f9347c1df595c776b03532b31aa1d15fce46652a2a34d8a3495cee16e45a47f20ca669026e64eefcdf2033b1fa1722b86bd2370312d0d530d8b9c00494fc4b721d5002876a66416adab420391644bed760cb7bb6ab9815e06cbc9047c26a5acdb53c72d8d2339c5de427ff5035c9346103eaacf3a2feb62bbcf245617546090ccc1535a26e822089ebece549703b0b750a9798f3c30129ff9fb8988f685198b302b917a895d9b81a2c2a4993c0f031894c2b9e6009c259091297e3901fe28f051bf4f68d04d02099a89c73daa362103b40f9be270a0da9d1587f5eb8ff8c1a4f9d65d774cd208cdf6867b19cbea25230382f0417094443670ae28373ec40d02651cf17e72609efb1b1c181784b8667b2803922474089e0cd70790576ce149dbe44fa71fb2c17837b7f4fdbc829d6958ee3003843f78daec0677694bcde97c6d07bcf155be403f832f27e0970cd8ed182bc49c0219ffff0219ffff0304a5110025a0c19cc565e54f8609f03403e0be902a337f10cbc82a922597cd0103c051f05d970f79f6e717af5a38e914dbf692f81307b4da1c70d4c0d43906d6900320e0cd4b07244de7eb1eaea3e82cf7d7aa0a1035d47311ff946d2ddfea71e3cf03e448bc82c9690f7203f947df10402bd111d57a4202027d9ecad917fa34b409dd03d722ac9b64d4bc1ce9eab6c58b5e4b7d23ba353ee7aecb9cdd94936468177cb9032289f738eb5cd4be564b8d8bbf28aac479f5f46250f55e9b73a3ce87871d93e6031cf900b2e62ccfe1bdb24bf611ba958be6751217ac4e884e25b9557298f33fa303b39742bf1a605cf702b68ccc03a30e9971edfbee4dfeb818284e6f5eb89792d103f18357a12b7c96c5263822f9afdc6c90baf1337a53963e87513fedabaa6ce96103f3dcf16bfd44648b7f11b0cd16fefc7d4cae7bab0ba91c1cb492ffe6bebdb9cd0396c263d8f5c68c40e85376c6db6f217cc0b45e494980d28e6db931dd96bc5d2c03a66772c3ba0ef7e290013bd5e1713b94bdb5f5196cf66206d2e542fba6215c6b030b8a9dbff444b2d87d1421ec5a25b5ed37f943aea686cac010085a7fb2223a9603c8cb17bbba35337cfc577391bfbebda66cd69c575538ba869f715bb0f182740803456159fead3adfd8c9538157e78961eb67df3b069cd1bc5bd7cbf5456ca6848f038de0f9a863a0b2e882fc30ba5e41192a99a3b57a1aa54f3cf17fc608d21569a503908d7d84dda2fd5d52a56969e7b51eb3772c89c7316fc821431a0c716e0cf33f0362c37f4e507ea44c1c9e555a328d90eb13fcef2e84fcc1c84573223f95b03f2903aa9778c23b5fa1aa7bd35d0ef583ce8716b24826369abe11b6e5a64f1d39b6220309836dc64bd038eb21d95ca34f70fa678b0e5b33a2b328c788bbb26870b9875c0330839808d8285ed4b036903c3301aefe8b89003cbeaf7fa9ad76dbccdaf07717033f4e9ee48d4f4b3c1918c4b045a5589ed9a53e0f9ce433e1a82e884f6c621932030aa115b6808946dc5830b1d4618fba35159d63c628c714dd94c80f94dfe4398d00581e02e00df8ea130ab1be8dcf823267f6b9cebbd327563ba366f5e3ef550a734a036c0ba092f20277d8c100581e02c3249789556b45df0712821f843c21b94ac725823c55257dd5dc9cbc065820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bb3604774da695189401b0662d23f143116afe8fb797b4ad74f152ff72c07ac7021942040397ffb2cb9e92f99cb4760cda30acf2cae840735fcfb5235cd20518ec555ffe39034a300483c7ca612db8d3f6f676e5d967ba07ccb1721dacfba574dda353a7ae1303d8810a965b0f43918f34a0b7dd607016ef2fcc39873dd45ca0ee5938afac2d9c03a824efa133578f6e2914b194a600968d7d3a66061d63714c73c12b0c9c69393203378dc1e3cb4db1de33e179034d5c2e2fed0bb636709c23376cd86f9f50fc5376033ae8340c351e2935aed423650a208adb7a6d42fded1de67f7baed1949b9757a9033093058bbb626dc5ba0e912cd79746dc661be0f145313e9273e7416e100ca674030581d0d0b093bf5424ad6c3ae9e4b4d87d2fe7dbe30ecbefd9ff508cb449e66a03d6c4b5e0b2becdaec004281bbd80dd2e1db18953cca967b56369c4cfc6a0a6a10398ab21f252090205989123a971e4da77f07978a5736375107af28d67a115861903885eb511ce1e01f6e9cd04d4a12659059dd9df68e1933a0383b45a995b3987fb032f15659615ee4c4545574673336583ce8a790b296da02b4e17af812cedf27b8c00581f03598da8598133f225c08987821af6755b52c873163727277f63824440b9105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffdf03a390fb342717e97e1f17121a9ede3146c665f9d2ea8d55fcd2eafdd7d2a77534037d498d05cbe99a2a1acb6d8b2a6aa55ce7edd509a57ddaf042921115b2ed27b4035ae2d24c7fb5081041a070203077b0de410b14e996b4bf210a1e0ee294edb0100306621356eaee323ce861a9513ec9558e270b222b34467dd794d87bc305b813050331da9bbfdf5e0a09bcacabf0075ea4cae01a66454b96ecb9b9db414bbdf47e7703f64300a82fb83d0e483f3b9d1da84013bf305c7266bb2455fc32c6628d05f70a031ab30ca557a55044802a2beb29405f18d7c04c864c18fc6f70259fc4a6e6a15403b271a34fd6d2c3388e865548ad57d0bfd0c5442bc70eb7257f8454e24055e65803ccfeff8b9d37f0e64e6afe59ff0d258a13afff7280fdacadfffeac650e6be15c03cc9b420d15983d7034e697b64bb22f311bd5e3478c8feb02a7092b5e6f6ea54803fa46756438701b9f30d03b5d79fdfeb28f55558d4f05446dff291625a0bbad0f032611e46815635cd194140d7d4deeff6e50e01134d7180d14b580dfbb45018fa40219ffff03b0f5c976aefe80a807f451fcd68d438af372746e6cdd0b4cfb0e2939433381c803c59765f9672acb5acf285c97767020327150a0c2c444b6b741717a5cb1e6709d0219ffff03966acb7edeb9dbce5ffbb2b55fb212b16b72552eb05b58f047b3530394509815036c2f52199606bd2d05afe3db8fb405aa6ef8fe35197a89e0e4188c5117c2f66103de24ff81c30605b9d9d820c6bfa2cb25d3b7a4bf2ec1a2226e058bb993311bff0388b3a2d0bdc743f20da5e5a6a43f5298675a31b389da30e4805b9467b5670bde03ac34bedde1170adb43731d36061f007b35ea3c0eeabaa880b44ce7c78d3753c403501427b60abbeff98a3575b3ba710ace94c926d62a9ff6429e85cb5bfecd832b03017b417dcd9a58cee69c0218eeded84c8e08d82715be26b3b8bad6540955be3d03c775029f9d2d296b68449cedef2aae70c1d3b306b611a1ab60ffa190edf1122603d985d626f3da5920052152fd01951cdbc8d8691153e70f2494dfa4aabd30af95032a0a241b043e83c732388a5fa7d6c91ee7b8cc1c5b3faea5786596f3e8635d2f03f27de27707c2f41bcd337045dafc9e908d04394585346c41fe84026e1d39a59303198aa605c04efdd6ab6baf8666a47320bc14b9707ed3a314b80699b777d13d7203bcb526dd58373f9dee0ab698bd3ea2102bfcaa2dd20c29539381e8cafbaca0bb034316eac53fadaebd5c8701c9d1b8ff0bf1c5bd7cfe30494dc55f0eb3a1330e240309d1c55a4357376476775791eacf0e58dcf4d4a6d7305d6526c5dedf0ac3aed903cf3a619c6654029d4929585e459ac1950f27f8e4e33053b9f0bc0b83b6ab42740376c62fe3654a6803b09cf4c16fbc6670ab491319c29bd0ddb25e7bd590f070da036874ba1bc530800ba7eb25227c8e0b9579967f3ed9b314a176e06e6296917de10332d72e5b1fb11c3e92ffa8fbbf001b35e6ca3001db506005c79d71703e9ae342037d8402b6dc9aede7eaaa1478ce3c3fa0fa79e5650acd106b71657f9293bac8df0347bdcbb0477dacd2ceb219a8ff4a2c1832bf52b054a89e9c0074f1622acc020000581f039d14c5e414be200b7f38fe054a2c38556ecb0ac27b08f24704fe5e2dd0705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e8b300e83e951b258850d070b1b569179c0ffaf25019f1f8caae0b91261e99a10330d7a97d1f1c2644a5576682c8bf86a76ee32e26af946be3410f2869e480515700581e02e2c0ca12601139eb63ae96d4cc9bea53d9f8b184daf2fa42a5a985883b480821c1e2994edfa500581e02dcfab698b06d14693713cfdd9476d6ca56aa2be245f127a7ac9f29fb87470118964d6f200000581e02bf20695951615b1f6f9afec33ffad009ea57b797398a5511a94bc8ba7347f195a3c4ba000000581e0256ee1cdc7455f69140a50ad24f186175ebe579ba32a6760ed6975f67fa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021940a103273918014cfadfc1597c8ec2ede4135bbe04672e4eff7d6c56075a71ad2052ac0353d51883299bc4386881191c078dcb706e969947ba4926adaef6d60c50f9f0db032747f5dca0025552059c19866cd8d7d9c512bc14eccc22fed8ceb8d29a435d4b0383bbbd6f5e1bb59739f5a7a115077e723ac8280acce3de81e60e846750a89e12037c2b10aa3c885ce6b7249e31581ca1b5ef5abf9c1c8f2568a23cbe664c54c3ed03eef4d38c609bec4883bbafc5863ae749b42e22d8be65cadd8c1a76748e087c45031821a1e7c0bbec95570122431e7083ac0f39a9aeef6aeda29e37b74d919e25fb030de2993871f0d18ccfe1a0e34ceab4a41cbf436fa550493a1704a869a27f8bf303de76c1cbcf8733975716c7d0760e49e909b8b1a5189c7d9fa36d0195dd32a3770219ffff038fe70d6249da87d748eaa88d1d280ee997783b98ba2c71373158531b85ce4d1e0394f720ee9f22eaff4612eb95172f72a8e50de5370c23d961865608ba71af58aa03ca3220a9eafd8347f30a9191af9cd7932aea33095ac2396cee85c6415a4c61e90219ffff03be1e38140602d2bf973075cd33b1c352b051da3cb07fdf01d240c261e253dba203a6b04ae87c7d5b237ef2f3d2d45fa1d83215d844585cc9ecc3f9cfdd45944e7a0378ed7070d07d655c8a021ae367f5fcd97ad886e492122332167a7d840571d0a0037104dd9fa809274834c2d323e2700d768fc4b96cc09948a01838eaa33493ce7e0366d8b92475b5fcfd33545a00effad2a6576b1e0b6ec62b65a3f262f0c94a56b9038d1e3d91fbc1d70ff7e20776d9a6204c2fc3f2b6f764ba527ac115c125cc83d5030a8d2c7d1f7d2a315887e761a1816c0c14070529a4f79433a1efb4c54201e0960339eaa7fe4b778c22913baaac46383f62e48833a6fd67115f74c8ddbee53c95a50397757ac876e458362659391b603a98e17f89d4de13b6429549a5b4d3b7b3c63303874e8a4bf0a512b97111ee3d34025f7faa477a0e19b73ee3594d284f0849e1c803e21a4d6cae1bc88a60737122b7127f49c70ea8222178dca1a5408862c3b81667030690b3ef6870c44ab3a108566e68665dc22f96b14ff96d118e779205f2e66fca03e062bec1facb9e2d0ae5b680456517979f087258b401b073d5fce15f1597c95503c80986214a04c063e4561c76000e4fd85d8b218658950329ba3d32f9f3f950750341fbae20e9fcb920cedea5ab30ae3cb6a7dbaca514a321a0be4600552593b913039dd652da16bc52f10b8c3f6bba7dee3a674f9698f9dcd71d415de6accc51e5c103881b287fa42ae2a3df6da579bcb98779289b2e4df01d80ffe91c9c3327faa27f039ee4b5269d4b5a8372a086d01e81f1dff8997b2bc31f8db9cc4879f39280a81d03e2e18545cf3d970e1b9cc824f90172b8900befc6645895ae4461b1c96e09f23b036864272ad7d526fb159789d7c22b7fc35e75663616877d7e5999029aa7969c5603fe58ac7bc119534d18c715439445c0cde2d4f3d9a3c6d3f2e19af759fc5f10bb03f19638ecafc5a307ad5b38cfe7e2ce91773e87ce81fb2e8be908e9b7a48529b503861cff595cc3cbae116dc54817664bcdc749b0caf15633c68e500171f8f37a9f033d8805b5752fa29b701a04e2cabf1e71eac9caff21b51b6fdc20ffa8f55d19a500581e02f57d9e41317251283ee8b2b874d9405f816530e9cd599459eadc598fef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026f0e42f62c090188c8229ed736ef6a4d526ff76e321923e2ae819169ce5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029f1ea64857220ae962ce0f88dc16b4f195097a5dee85880c271a9f243d47a594fe0beddc0000581e028e695bc5d779f47c1b571de10e7bb64a4353cc1d1a9cbf3c57285bc97a47012309ce54000000581e029bbd8c4614830927024f34cd268e08057ef04fb94e2be4c9f79204273f47d14e7df9177f29035bc00567af58c0ef223e22ea5cb9e428e15fcebbc4fa34f9ba40c7b5787ed28500581e02fe228d5307abde7cdd298990dc219c678d06b6c5edfd6b71ef3102c5d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c62be45060f171a2e48752b18908c1333565cb86c417582718f0d8be2c49045480ce22b727c80202197cb003d14941b43cd3ffbcd859abc6e7de4d3a426a09a96b195a807b5f3c5f0a3c63620399a1023e4aa2a0f707a3b2c1aab64f8eae9a712f1fc5b4611f1432e4fbf87b00037ea70dd91f497f1153089ea0301e15b39d3316abac19ddece23aa1f340dd9e1803abca697c9849e3e327f69cd010deab984c884af39ca07fc9f02c9120a1d375aa0319d9301fbbf082f8be7feaacca430ed0738a8fd0e15b7649d82a869decb2984203a83914687ae04e5e1f0527c1b89ff1ef229b68c0a64834d49f860e99b391c0c803edebb002d95d661a9e08dbe421e7494aedc778cae3504800bcb4e7c3edd5d9230304b91ccc658edf8ef5d3a1490c2030d9a8999d771d06e3e26b514901b49e3b8303a3646bcb59f5101715c58ba7c33d4896f5b40a659d97edbfc034c41dbdefc3c60219f7ff036b21c1b109daa17efc4f9e31ef4519bffebc9db5da9c0a5a65d0a900f4603572033a5edbf068cc4460630c6395cf1c7435b9b69d80c541f60a6ddb62886777b2fe037f968ecb491041e69c9ab02fc3b34d5fb5788c5ff6767acae7f6ddb56cbb4d720391afe04cfaa9b2e74b2b6c430a8ad0e535489bb0ac52c27f31f6afe82a180b9d03c4b621d156932cb41c34754b9d4efcd4ecaf5a85e0866c77712cf2ea43641ff90354e78d3fb685e8506a65048619d103e69552da77b38fba2fcb1257aa7750a1f20219ffff0219ffff0350789021cee45f3cf28df152c76be44d7dfaed53c875f4abdd0592753febc88d0386dde50b644b5146d236ceffb45cf405a4c14ca11b551013d6bfa302a5aabd76037d37e1d75201491d7e70afbec1c30a803e03273b30222f224e644697bd4d5e280368fe0a73841e50d94b5dc0d8a11273e6866f6254d3875a18490f0de8b8a7d43a0219ffff03bfae54da815a9b4d56eb450e463d705beda107913b74cda62dd1aebaecfd718f037399db9a81e46c3ddc6970c3d4cc193f8760ab3649d6a51d7934c48e9b9abcc303c43a776ae371b562c9dab4aec8fa36c3dd310f7d3d418086416523bb0b3de9f003ff299b24530842177606974540c884bb8596492d5beedeeaab1030ed969b44ae03c52048e31ec54f5a7d313d338e98310326b52d2d27ad099f1df8f41868803d6f036c2b157d9e7079bd5d7b9bf55c32d17f4e26232f0b76ad36e94a4a327a39bbb9036b97493a62728a111362ef972086d7df94cd04c7f0aeed3dfc4acfe83e43f82003e7ac5e5a1525a996a1434565195a1db510f9a892b0a57ac0780660fb068a365303757a1f087d42d814c121698cf037cd7c30b68773f17bb5cef3c212101d12a63b03432ec5dcca81020a377a3415686bed745a27edff56cb516b00d8552dfa2c715103e9c16c0858a0e7a281cd85f620ddd84328f89c193a7ab8d14541dd9c9c104d3100581f034b2c64d372e60b3deb584c7a735e688064d5472dba43445fe883dc3a9d90423c500367fb8f58870b4d6c24034690ffae360e87fcaefe9c1c1ce7c256d06a488fe8180317ba7cb2c931e207646aac16073af486d41a3b092761ee37e31afa0cd59b1bdd03c9f36cea93339355c5b16bc3ed108f851b829cdb5d3cb66065790bfcbaa5c1f603a29ceb75dbdb55aa60bec7a236d8e85f6f9673bf2013dfb6b1b141fdd787a687034db86cec4b566b614c14d223e622296d8c19b1d2077ba14c9457a7d8f5adc4a800581f034d1c8bfa4a97445926fd822a2ead1d6ec09cd234c58e3916929781163fd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03321f3bba7ea7b2aa6e3fe584e9f38330f6449ab0b63b5615a98530de7a484a6a03cdd938d4ed85d9bcb934431c98ab38acc2c9cf9d4652d7a3a34123d66e1644e700581e0270028ead38d9fd7f9171a618887d4f8576de72527b089b7a129b7affd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023ef8cdd718d82e58f2d37179323158c100e8815fb83d9a09270be655085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026659b8c90a58f0c6881882d50aa05277ce0d585fcf7750f0bdec8c7d155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b219247b01c8162aa97ca9dad7fe28fe9def6ea389cb95b204325054d74a0683ba06ce69c2e75fec021941b003c3e19b99041442fcb660bfb63d0f6232deabddc898f3f854e97237255ac9e1b00219ffff039f4262c3504cd2234acad4c53d34efc9cdbd4163be5ddb85bdda3c8f04c815550387d524f859744c173c8f1e63a581b9c4e60760168d7ba249da76af22bb8b960b035da38bca1e89784060a37cdfb6b0eba6e4cce3ac031af2a8873d5f47e3329e7f03e4a5c6afe5146b985738645fc976960c39ce67311cef758785d084d33fc21ce4039ed3b8f43225b9eecb396bf00fec9ed47f213c3ccfb7d55d70f48dce4ca8f38003111278dfd3b7f44ef56e9a7bbb3c0897b625a8803d08e2782c845ba9f531e6ee033b6ed64c055a46b7bc30320ed314b45e582e4f3a9642543e129802409535cdf103680f2783e71d986c38de79a83297f504d6b72354e033f781039be5a94a8b2b1303dcc00a522b06558f8e71ed642057c11cb19bcb72e30e80264ea957dd34d6fc9a0385046bd00a9bea3955e4b0a6d1f491a4eb50023b0a3f2f1d229ed296ebacd58703c67f5d8e789ea6daa7ac83b4f75aae27c441f8785fb9e5fe80d8cbd84935b2e503b93c1ed2e4eb9595e52c2fd3a3bdbf0da6ba288dd5a99ff4ac211bfccbb5c921035f9a74edb257081f30730b2e76749998db1748384028518696d833a42ce381790219ffff03c7d5047aa6ec264089c96256e2e42597c16e39c5f58e90c0c5dee4c55ab8d7c7032d026b05290d0511d615f8fab76b0ff22eb63971d214e8507f399b4d668bb8b50312772546b284c59a5e572d11450dbceebfadf1366b74299d1d519a671d40cf63036879e12af81515a5fb2d81bb35e1334cca33009e320c30872a0f8ed3154c574303c44b610b2a88dd32a5903fbf0699563ff293e6dec47172f38de54c54ad1d7d4f03f866a1c7c24151581bd4a97d395da9d60d2aaf964b57f6dc807c62f9e844b79d03033500ee8d7d4a9ae25d3d711fcfe709771cc7ea420ef8e35c91cd7ea51ed1aa036fff5f08127a7e8917151716674ffdc50c4cf373e63986e6ee611b7c1df9889b03784d8f33203c89587625be3156827121834eef11275419d3aad9296780c8eb8b035b59d0c1afd42756d7eada3a38cc699ec49dc0cc4a07979662079a618279c17803c66be693fd26629eeee7eed04faa09ee0a8a53eb72f1d7946e97b7a1f084626d03c8df2322f3e3b23f17f244eb6dc0e68cf4141364400bbb8627995bb6d7835292034036619aa8bf56f3dcc64d1cd9a68888f467bcd52725bf3330e82fff1c98856c030178b91a9f072af85df4ddee527f393aedfc288a9c66ad03e19f20d0305a159d03e744ca248de6edda6d5fbc992a955c8af3b55633ce3b2f26d47fbd4353817ad00219ffff03609e2fcd9e520f455a2057a1d9f46fcb955222ff65573cc7db1286ea8e800569032bfa8c5a11743cbddde0fa02364029801fe181e23e2b3b132aa9f6d8151d6e170311f6daf66e42760fa960738727218d61da24ab04b9d284b9d85ffec284218c98031c984fa158a43e1907a3c4bf9befad836f2427a42488e0dc7caafbffa8633f0603e8e45c189dd8d3d57f88da55c682600c239f730e1c083da07d9cecae853169a7039cdeb6d49efda6b9d1c9a5c61262ed41dd720efcc3d8b60e9c77045d0fa60acd0305a47c10c0ef9860f49c4a33c3a01743d7c30f13ddcebc65e53b271eeb9813d603a27115cb88d26d25bfd6647aaa9e8355b13e1391a9bda76c1338575799c2cc9f03f3b2a0541394fd19a39ae385adfc0cdb329f3565612790e3e4a2924a86108ddf032355d615e43efecdaf180a0103980438b96c6af4610e2294d74803003679fb01033eea4f13121e2655993d6eb4e2fc9cfc559ea312c52eab8f4d14767be58e70300300735b7c6bb0432fcd2e019ab788242669c6f0130177403c3621562005c35cbc03495f081fbefcd92f16e71c8de27277da8134595ccb8399670c036cc91009675e0338d832e45553375ec223813b5a032e52d9ca4e4d07997d9aff099ac10ed7f30f03db694029a7df935cf9eea17602502b1bb93a25556fb4deda36cdf817f3e2c30d03ed88bd0b6c2345eac9fca5596046ba2dafa99dd51672e8440ce8838aca4f0ad303f60289427b92c00f8a790d5f335e232fdcd97b4efe26250f9e6b831692f1bf3503676a4b83a87c4bc641349d80b7600ed147b2ef0cbd679713c3755d3c5752ef5203fe53177d1f232bdbbe750169b2d0d99758de4536cbbdd04b721bfced8029e0620375a40ce3369124866deda98fda6aab89231d04c8f2821053b0f6049eae131eb103e5a081566a0f975e07c848ab0d9852039b4870d903acde15c5c431d7ba87f39f036b14b2bd08612fa6f6c2b4d00df72eb57a1944eb307391a012e113f07156d3eb03056c5e0ee58940acd935843023a62eddc16c4a9ad83b89f823b3d8ab60065377037734b6708fb65e4a7d73555c1f83c6e7c425b862e7a548a767c2767f20777dba03a9ef9560cc1258ef59ce6e90ddea93112ba954bfcbd6c5ccdf6715ae123ac417039ea541d5f55f8b92d5a9a121ee65636a4d376824c5e1f5feef1e94db74f5f1c70323ec5fd6560fd587d246e155a40082f322639f88d62cc3aec8ac274f4cab63ec038ce55e1c798117e987e24d689ab53c6b2d5c5dabf062802dbd53881a0f54e75403b3d00c02572e62b5243b9f8dcc76b080d580c3dbee03594155642d63f177f29000581e02bf1397065fcf1c87f69fb1cd9b0d8f9f1be2eeea2c934793bb63f7bdca480a891b26350dd2f400581e0278dee27d76b9045567d3f904087abb01cf0a114199e4cb5a67b7f4b64348016345785d8a000000581e02f9cce805adb3afa11d78352a8b78158300d72e133f453c795fe38cbd0e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f4108a5358b530628412362376ba5bd6e0c80407979929b56d8068eb325820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219064403bd4c9fbf0ad6fe002a45484e8d08bf03a39e1cbd73d0460ec19ecc2f0cf67db50219ffff03324c3cd921669a36219d182926ebc31097eb08578e68a6fc65c39e779c002efc039849486455e0e0d7d30e8df2a5335073a7850091dc399def2eaba5ba83c0a03103af97deb81ad9653a720a94bdc6a43812905a8f80ebb4fbbf2a007873df04a4ba03015240eb0dcad169946e0b6d0a9252e0369654d5733dfb8a96c4fb95f69d87fb0377ea46ba30decfa2fe7448957207894b3835fabbf9a11e2def4af21954c1d7a10363d22471fc9da418d6a430a4c72fa28b6efbd2c8e19f4e52efb77e8ebb4764a903b727bf0feaa8bf4e5b1d097b6f263225af4559618f54436d1d760f69d396ddf103b2996bbed016903d47dc325ea9ed877e1ba9330650ab712a72c924dbbfd354bb0219ffff033a97a920025a8332199728be7feee9a44d23a0420003af613414d9a3293ead1a0321e3ce302ca02a3878ef6cff2a9d641bb3e68c4a06c1c303992c6a0236894be2033249aee0dd4e3f66315d89207b418b585637d435a50ea446eae0dffb202025840301323a043797c41b6cf52caaff1117cea77ae7b601fcb65bb29f7b2d097284510303a14b3cda9d883b10346190872f816470110bb7946b83c939ad8f25237065aa032572a85d1e4fe8fc47482258a94871713c3f67533c6919678c9889d5fdef1b9703c5f21b074536ac71147aaa1556fb83fd7aa99dbcfd3833545ff550d52fc7d9be0219ffff035cc61493953360452bd2cb7d9cf7a5054ee80276dfe69b34bd846e8c8abba51d031915d2959b96289e5be4d396d9449ae4783b047e3f07bce6e888e781b22ed0000357785c23d5fb8adf346327a12db445b983f09989e940cd40d0fec84dd8f5ea2d03223dc87977d4a036eae51f05ea8dd76ad641488336c33d822cb668f29c031952035bc50b8121595b5baad63af8b68ed1328e246feb661e9ef7b6bba4b1868511d703b489a17aba402de2fd84fb4f7215c5534d87df999d639d4fb213ca0895ffc4cd03751e8e6e1ac41ebe4525ba8b7a340891a9a23a5a1d136b28f683c207819f666503c1c90c244e5fb9b09106cae6e9e1e150908284dde24848177fa6ef0cc94b1ddf034953c1d645f87ee09eeb9d18552b29c2e5bfcf9d9a53eb87657d03f91f7fc20f0347a494774e8cd005b294f92474b439aa88cd52664be45f441f775e074967733b039484e216d16a47119ab693c10db0af08b01c88bf7c19f86a4d3470b71aa9d96503f244345f41313a344551ee706c9af6104e3b55028c624c7b3cd38965fb817ec303f74cf651a2656a24e9e5283eb74f0304696c6e5475eb82baf8300c705aa0c320033368753bc8d09015973bd48b1c46060dbde544e88bef88c56712f337ce39eca1033280a2e1182880ba32acd2c8351bacb6b6a22ffc7f0f67438a28f7a4c8709369034d60ad9a6444c86cfe95c4df951256ea9ec457de18ce999ec4aa95e1aa1ead9e00581e02a3e025a8c3f7655b04d5ebe9bf4434e09f1089901b3b58bac357ace7f8481bc16d674ec8000000581e0201120083ec772bd19d70548f90d33ac25c4fc27b8d241dc4a5346effed484f35d23f83a4e2fd00581e02e9eae687d82cd94e4e3bfe05e48c76efdca30f9ba4e9b652c386d5fa675820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219026003c2431aa9a577521a69e8d1bc644e50616bc2cfd8a70e84189ba232e88965665a03b529b6d786c6c4537b7e21e23da67f6aca2b7a70f39941efd81b7599a81601b103110dc4e40bb716066b11cae018d2949a962ec80296cdd56fb1e53425e123a06903e445339d65b1e5606980d8f89c8e593dac8f5ae3a0f2619e4d9546f966b3f49f03881a44bd51ecb2e578d9ea7e2f9f8f201c212d04bdd389e2f513ae7c47a78f2e038a1a87ebf8147e369799c94bdd0041c0d0607c0b897bb8cfcede61bf4c0bccb903ed1ebeace2fd6f81e81185d505bdb811211923d2c6636c6270525b785b6fe8f403a3d194b9bd3d63856d904d4507ccad43f6e2cda694be886da69cc27d41b0b6770352ee43fb32279efbf8cbf296ff0df8def54cba268a6a61878eb21c50d52138e203cbab0f98f29a46bd012d224236139a1022bbc213a6952d8f6b0cb96266c4803703e98c391329f23113e9d6188ccb848d9a757f6a882ec3d7898b45afaf71b13c4c03d757e85f7261581716cd6f47cf402d666b078ee866eecaa801a03de562c9bfe5036fbfccc96d10072467130dae70e9dbaa3432a07dddab1da558cb811fad84f6b203b3c7f44f9d750d79e54e9dad560e3a1379475a3abe4dc59fb3d651521c40c38b0219dfff0392618561f0f79fd772152e2598bda6c2899169d104125de27b96b1559c2637ca035456bcb3dc704ff32cc88b5ce1e32383070cee4640e1ed0a263abb32055a8e86036d0942ccf051ab3c00d83b9f9801da20afae6fc5d1b2ee4eaadc94c77d1122830320fa5a19d9336ccadece74083e039b95728217af584517cd009aa6fb05ee1581034a03760f5796f00d1f046fd81bb0a5bde276a3aaea772596ef166d428797d4180219ffff03405a7071d343848c5f1a0b1420cd5adbbf6f1336587d16515763e800f9ccfd7e03224d5d67b35109010ba1f5cb630c0a3bf1d8a0167087cbeb18a15fdf4ea8596e03ddacda0210a3b53e620f6f27a3708a147211618ddc5edeab7329ddf4edd8d9c603ccd1542ec69c67b2688a830b894d7b896c45844d250be8b31a058d58f83eabba036f362f012599c2f24073ab8e9f2775e04a946e06527d436cdd2b780cb24286f203e3d425a08fa588e54bb32a166010d377639dad8cb2708bdeedeb7010c0ccc3f903a008342a84e1412472559de645fd798e7006a4bca7aa9aca3bd415197452c195037e31444495c6dfd5b6489853399f4a9a4cd9b99061758a014f3621e5133dd626036bdf4dd5101f7515e3f15cd122dde9261d5aefd5aa101915761c7709bdbc4e5c03b777c8cf69f13bbab64117849ef4b7ebce4c4df41549ca8914565567df257165033f7c13f9c54c2a351a02d617a5e6ead036fdb36bf38f34008eabc40557250ef003bf67c19abea26dd2b84022f5f30f4c6117fd7f1f25d24c646fca056dd25855ef03d89bd3a8ccd906518c68d9ef1fa0bbeff12b5306e7bce3a69396e3b2fde2ca9e03e6c3aab7d4a633fcabd590c2a825c9278bf00675eb6c2778992010e39440f9fd0219ffff0363377b3ecbcfecbdbfb1277cc3269678bcce47ea2dd7a0ee6cefeb8adc35f1af03c23532bd1a72199504c9abd70f2863da716399ed58212953b09ca1407920e92903f3f59e5176e21e2bc6702f7d4675b90cf02a0cba9da6ce3d83e425a7b25dc97a0364794482fa9ef26bc2dc102f76172290a150acb3b52da348d2a0f00379bdaf1f03a33e142df41b4ea2ebe208a82d6cd0dfe87e93cd223edbd813f1173154358b6b03aac5cdea65f8b11287e63593a1b6a7c0e944edc44a02e84c5406cdea54f84a0b034b48220d6fb91d23a720c925b66a044e356da01e191096273503ba9f25596e5003946996b02fa3479f92ea412a034177e4d40ee89d43390123f9d5e79ec739dc8703288d1f048a5388569fbc71b5d877415cdc0ad4ae7ba7cea8b71aab792be5a5ca034d952a6edca2470002f24f17b72f08081b8c3c1c25c668889a1c681504ffbda603e03613bc96a42d7415a63662b3c4050e778aa76ffe0a7e922f5848535c95b238038f60bfb3f526cc3ed31358fca6475553f3dfc02fbc2ae8357dc9e6e8ab24747a03a4f31cde6505101e7cda371a986649aabd0a42220993e6adb539bb2f697852aa038bdffd27ff0e5e1d1d5c28bc5285f64d3cb14548d00865431ac87de5841e24fe03a8077e7e95ef24d4534e46cbaf79962d44bf7b33e9b2353fa861b0b7366039d1034df15c84d7a136ac360a6cca642d302706f97a32407d346d90e79f12bd30b37c037eb2825b451514b559e8392a09ae09252756141556a30d5258d8ad5d81e14877036ca8192eb40d254434b7930e6132689935ed92cc0338b429ce2ed8d4d9967ae703d8919cca81e64bd76d451a3bf5b91b65647af367b3dd5e6e608fcd7647e3d21a03bff311f41e40482860c7f455d341de72f16ca86db2ba906e406b37d3e01f250a032a159e8fe434e1dd5f9ed2840c93ad550bfb0609af3ad1100481b52df939287003c04c60b075238ad4ca52ed0de34145de86adb6dd3be71cc5526bb056eb80b57e032fe8c36b2417e6f696d401d4332e7c3c6c3b693fced3d54775bddd159161fb2d00581e0236f070d2c3602b30b8bddb8cf11e0eb5f88f03b466d067e7a7a65ff5f14b52b7d2dcc80cd2e400000000581e02e18eaba63c1b12cc8a9eea797c1be1e267f396ad33b7771ba94ad4dbae470e980069c285ee00581e023723c420c568512dc080f55f8902046b3dd46e59760a10c4c4d895fef7486ce4e6c8423052cf0219842003cb76a66605039254cc2ab2fe8d52e26db1b5c21c12f786fdc1ba40b7325ff63503211c10e629299d3e005b01b3f70903aa2a3b20ad020d21f630c865f42dff07f903c7596bfb665e95f9bdb478b28540d67c0d02eabc6e489712ea562f5c745c601a030adccce1fb15161a7fbf67a6d4a08859132a8b83fda43cda6db4c6872c02055003f277ae91ce89acf066b8b2eb6f095dd60521f35d61a2a41ecb8da27d0f5f971000581f036520f1cc70194747508eab802aa82aeb2fe17c1daa24a8db301698f12a00473820beb3b49527039e85fc530075afb703257a7d5b94f73094c69f934ce22230c97766c81a023755033826d8d4691d5320812da046206e3630e838dbb6f50da6e6b8e6f93bf3ee74d10219ffff038f339c635139001000889f78823abbb669995ec3a88cb25f3ce534a67d3db94203c439c970bf048aeca11ffa99467fae1451a75b6bbf0f6607dc7b603c2f5407a6038cbaff05093e1aa4c7f97d422d5532b2aedcbc44b4189eae72c5963b2d2c287903595203156f2324fbfa49b90a3c5f9e72556cceb91e4b256c46c0a7a7a72fccbd034bcf04d73d5a2d2f9c52fa110df36cbd90cb9e262f0eb1b74ac6e66cf5876c6d03906c7139c36eadc5aaf464b24df4a12e515bf074cdbd22a5ba8975bea50027180386d21cbbda485996349252b635cb374c18ba6882455f03393b98ecc198851c2c03cec57c71aea89847f2363b2a4fd95b9e390fe6d6977f9f22383c548d012d610803d3c8dbfdddf7877791f386e5468ea7741d01ff4ac7fc0cd89283a05bb1e576100219ffff036d83bf838777947e4310b0254e1f8dd5b9c7337b023e62d8ca7c96b71c9a5cd3031e08aca0cbb28d841e3355242e5b416bbdb8435e846c6bbc46da84a9b9d14c9a0370e9d47a8a44e8d2491b3c2f15f2df11671d3a1412c7da667d5fc576f084421003e40ecbec635152adac4371e5a04a1af436974f2e790d6818453cadcfa60048ef031d2493f389a766d537f88f27ce1ab6794781cfefb2f9a722c9c461ccb1a372ff038b44053a40d2cfb3727314635abc20f4be0f386744ad8d91c598d76da6077ebf03a5abb71f40d610ae201e023fc96a66e5f8c230362b239d776dd5da72daf3942f03a93c3c57d71f741e77f7ded3a8a0293be68054d3deb5f75427d30b5bc56d5223034b27a8f5873c15c9150389d4c2994d6374255c30ab79e0bc5843b3f0daade4fb03942f597929f72dbd0ca920760e899ac1776b40344db3d933b56d5cd920ffc7fa03ab02fb5cd7273fd82885aa2d444c4452f23df8a127b4b3af56ebd62301a62c2f031f24794d43b3b654c07373b3ddf5499c14f0a49336a3e24065569a6b41b6c30d03fab48ed29c5eb8122f74378e79fcb157e1129f5927482f24247366cb023472ba03b4b01dc0790a51e1eb0c684976de453ff1b6dc4fb696f0243078078b0c931d08038b3f19b35aebca459bcaec64633ed6db7c75a838f7f75b0554c4391fac43c60a0344d84b08ae40a20a1c971b25c7479b04e907253f706c023d6aa22dbc2279377400581f0326480275988972d331a86e7bd5d68777a828eed947d88df42d6847ab6ea05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03304c3a13482e00ffe538df0078da96a6d950b6a22f38c0852c19cdca95bee64200581e026b6ca7e20da48f6fcdf70f9b9c9298655ae44864ccc4fba3ef98e748f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c51ee185b308ff70a943956bd928bca6a44babb7d6c0233bded1f8bb0048458035813462336400581e0262b07ec5f1f27b3f3ef5b4f557059f3a08d95ef1f72a5a72f5d3f54f3748d02ab486cedc000000581e020bf215c7995b4d144dba4aa064d2b95a4d0f156557bc3724d3101f523d47083185ac03640003dbdaa174d0d4eeefdc6260a4611a6a78c5c99dbbddbe68898d441e6d7c2cf30300581e02443448bb6b31b5db16da22ebfa289a88e6e6ea4dd3a09695d84954b3655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021954d8034e8252388284818e15c20c74ae0d8172252a3ec04de5d6430861c70ac54d1600030b9a87a71e34274e574b24012886b22e1e27951667304ade8461f69328a0307a038a49e76353f275f3cbdd9dd35d8a06226129cad2865c495f507f1a0c4f80725303b9f2818be6a51a06fa293ff4a47f1debf62443657c91949fea08b34422b6de9d03dd1ef1b1f0b6c08c50432a3c4093d232b3249c4b1aa461db6a9eaa082ce2b42b0219ffff037c7414f8d8a4e4973d173ce53dba771fff5007b994ac6262d637ff38cff9315403c9d68f523d6abafe6584f14d3287eeea546f5bd8dd409c0d2c4c94cc81f46e34035a356e9fafd7eaacaf2a6dd33c7c833b3f55b15cd4354fc0bafe686c20dcc45d03b5834725d7c172779b4e478ec464ad696c97a4b21f946938ce0599633b38a6c8038409b9d889e5bb867382d60543f5a4ca480c7d59757ae73d23a31f058f37e51b0348e2d243559769152b85d1aea94e34b2044f75f982a5ea6195971196982e574e032cf55615ffff2dae825649e8a095093307a94bf44c5d694b8bd2c5d918b79c9a035f441474e13adf09298c1ef69cb4ef6fe3845c367b4b5d8e639ef4d3aae71876035f5ba651e096e121e7fc03deba227292898dc0c8b68362b7e1ebb4c3c04c3a5a034f9900da229540a6ce8be8f183ef66cad18a38c55d6109d326d9fe6cd582746f03e0ba10ab019117c90f393dc0c34fc67f79e7044ca01e2ccc6e1e6bb8c6f489d1030be39ccac546f1dfb7d26c89c3c68a36b85aa23908b715a26070b6a315dd650603b364e9ad4244424396d5a7dc86263bfdf37b7808aea44502d952d66da11e138b0219ffff03e9f25e4341293de982032cdb355a19f9224444310c7e2e4e2ce6cd4fb98ec69c0219ffff03a1ff7e0c38141ccbd819e99d5c6c3623f439cc09931694d9167cd600d7cd764a03d4a5b984fa175375ffec779cce080044dd37f11b2a9a530e6bcac02dc29f80ad0219ffff0385a8284d596af13c094de99218afd6114c8d9c6e9d236a4625e8e17669cf1e5003e6df71d3f2ddc2954f512921b753a3cb6e1e0b7a1dc6d71745001f59b3eca98d03e690cf2ec3ffbb20a29a4601fa677c34e28dd4a542388f173cd144b7b764fbc503b8b15c02f19346cc3faa7b3c16318e9b232fdbe744e3de3290c2db9aa5a3188203c209adddf8caade98c8e5216260ff1b6bad13b00aa02c8c9096fcf77ac0488be03aa5df703e5b621d165cbc1647fba4a468552cae9f81eef80aa538e8eb97a92ec0354e604145e4714c83d1ae9f091c61df45d830d57d0875598cc6728add3d5da2403ec4f8ffdc76ec7b96d918aae14fb080bb5403e94440bd70da0c722953e412a7e03ea6be4942d35d57a6d28e19d3a7d88276b2408caf0b56bf32a33b9f869bfe651033fe53490a3d11fb3cbdce2fb331cab35802dc26db7217bb4dfde27f4fbf26b59034b0961d377d17483623c7b9ce7cac274e1f8179df4c60f61dd5f1a9b2d6430b40361d8e5f0211d7c3f1fbea1ebeab88436a9a7cc2e700a56a97ace5be92cfff8b2032e093690d19dcc632409d189e5fe484a52bad07be64fe5ebc05c0e5c995f7be90341d82e2c82ab2fbe15e2950d1a49158a9dcf9ced7260e3710710e2549dcf870b03805387a3e200ae6f49ab97c0a66dbb6113ffee43734331f58b5517620c46aebf0344e15dcd8aa821b21c06c506536736f312ba35c5e83625964673c8784374fdb9031a7ea426071d7271db1c281f5d231134fa9ac9c2eb210e36ffbbea9b8d4973cf035425fcf0959422400f57e458f55f59a6b9a80a77e8da5aa0b1235d840930374b03bbbe783a5a496686cf1d799ceb7b062ebdacc2e506e91504028b2a3d3da5397e0313fb2e78edbb3edcce05019ceeca8ddddc6adf5410b35a9729ec9c767cd683e80385bec45395cbd019c249ff73639f4a770bf5c212384515a1e8b85e0048d719af03014de24fa26a0b1bd771155583c4df9b486256b295cd09c234dec76d4422af83036a49103d9ea497023c240eec62698d684af048fd21af3cfb8544f47229885e8a0352930230e4b997fcd32a5e2ff66aafc277fe5bc5d6b3fffcc14a66df7f60303003f1ee35c6dee134d9fd4251bb0b9dcc9b16995ddf47b869266fb605b480cfc9f700581e026f6cc5359322582efb596d7e2264c397b103801ee337f0c6d98dccddf847470de4df82000000581e0221d3d52aac4369688cd977749bb0f7f6b9feda8e998120fe9d67ab4dbf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b620343cfef42152da77f72710b4b5eb5072616e87df2c080a3dbc610b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e3a006bbfe8d4c285d67b1e4168e604bfce1edc854668d0fbb4ecf0eb95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027f8a32ea21f687756352bae438308869c1287064729a0f6d9a086a72fe4827a977401ad1e3c8021980780347e8fd6cf6d3fd50f5d997af97018e0c8eedce90fa3d8c4d2cc90fea4966918903f52fab0baac6c4a687dda8d43b8e22d8bb00da6a8d9dc5e1195800f44bcd533a0219ffff03726dc145b6a6d108a72e915430b6e488fb37ef049be4f4fa1cd3bad836cb841a03b41aa11538450642490ee705437bdd327101007bb0cfe61bab075e61fb3d23ba03f6f5abe6ca7e1eea0258e2b95ca6d8142ef66450bf2bd070ce4fc398e792600003f619f48bdce362e8e0b14a3eb96199c5dbcedc914a76c01b7ff5196ba338a27103224811f688bf921d2ebd6654f8b2a2b527c4464fda4384d381883dede1403e88039a926475d5bceb38cc7c44ecda492de9bd391743e9b53d25f2aa4ccaad054cd00331771d109974ff8c48451ef88a52615190de9ccfa31c3a97cba9417b6464f9ee03eeda397811d8e38535d45df0d37b5cbf0d83e917bf6f4e83ddc167a3bd4b79f5038cfb194892f592791267fbeee4e6cfe0493b1c418f8ef6a8a311c04c938461d203e192a273a8ffd3656145955a431f7102231e9aad78c9cc423241464330a6b72c0219ffff039c0cd61f2f19d427b1981e8e16e32e3f88b130a3737ae0139a58b00ca97a582d03ca110985de4b8384ba27e21e7ca1991ff5510a68d9dceac230f9ebd3c885628d03f9b0cdef119009261d3972f0e0baa17fce2f60b68d4fe184a4f056d2473dc14203c9abd12532aeab79b297e233f4a46a016401adcef374362d19927f0858b8298d03cd09234846bd0bb6b0d6fa7b6488a75f652c83d75ff12f126249a939e0bdcbed03095e454f574af0d5e97d0aead52151b4f29c67942d999f096dd4b2463bf164d503d5bb2d6dd84fc3da3ee394f0ddc49c6c78c4bc0871410cd6937574a8f4f7d92f03a8b2db149dc90758de373a1523c3e839231b45b1d29cc0680bece5adf39d3f4703d242ee192e6c277fa5509d49aec17302b86db7cbacf9b1efc40b35448ced555a0219ffff0325b3a6dad239667cfa14180fab25436167cc88f7ebc79f91b14d53318ab594f4039404f57af09d99be5e6b36c9b0fe2114bf2e28de052ec53ceeeba7aa3343aa570340dd59749dd56e965ec6cf6ecde09491507c6de0ea1f06d6dcf98bf815fe753f030e178a828f649e40de26b11a67649d24421c0d53ab97eefd6e245100673d7f5f03ce0bc32a674c1ae49f9d1bbb6b37467e7c79b4a14ba1a3e6995f4b33ecc7610b0325d459757bf2eede365211876d4df4f853b1ea063e117288cce6fedb10a8882103fc6d8918df4e4caf8adff445099aff73c359e079f7f404db3804b5f6f1d1a64603b8b94dfa9bbd3c7ef07f6c604a1732afec013f501239155eba01de2a1bac14060353202fe77a30b2c8d6c9d4ca85ed5072a3d9fde63c75d56f011cf844e0e1a59300581e02857cce08c663c4b566cb624ed8465aaa43a6829c5d385696eac1ba1ec25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02001ba58aca587e5115aaf3ad7cc007018ff8061fbd30a715b71ef8959c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024ea07105559d27a7c0a085be03577d0b3be26521e7977b65a6a1e730765820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c93de13262b30376bdeff424384505a1328e1f2f1ef28ebe40b171ee134924c432304254b21a4a0219380403d9b6194cbb3dbfa73ed15831691a9c34108d87d288277a25d14ef581e56e43bf0312ae8a6ec23cfe12fb64c0445d566e763cf7e5a5ed89fcd52d51dc61d3b76e3f0345e0abb791a9203ea0ad1f00a6448bd2ff06de439bf15095873b93a7a4b48fc003c87edc3b1e07399a45c4e89c9ecaecb87bf107a408dfe5ec144c2d83a640fe1c035477fcaa74ad4fff48dc5bb8c188f99e6878c9172617b6966e333a8aab9886d10358727b9aaed8c8de68b1483c2beefe7d50a67e12cb7dc93ca895afeb0cbcd1b203f344c143f9ec172c3d8709c5c4c9a95447542caf78903799c2a8fc517710c5b103aa8e8a88a2f23c7599b721afa69aa7064d96827bf6994cb36ce1acbb58c8ae7703a304a13714ed4c6c39ca2b649e1491da3ea0f09b9f069b06425707ef114e128003bbbe9f5fb48a04275c333683e1e2c859d52f17e0a4c8fa11f07060b47febab7902197fff037bb53b62967e92ebdd1dcac2c18b2f3ea4050d65f53dc84280b36b4111dca92a0322b3cbe735f11de203eaa8e5450976e7b0686325f783d3d1b53bc60c61ffb1e70396dfd4bd7398802eaf20b01f282d4e590821c3e189c4a96e449512c026553cbb032fde96562acea5881ef62cc64a270bb7a487603d15f95657beedb287deb75cb00338cd00c1f3d352b5df210d000da4f7f67210babdc2af3809adfb9c1d11464d5703e75e6a1880804686e4b293082e21ab146e00eea2b16e30124e987b227c5f1b5d03eb6941db3ae35e54cf31b1f178fed6cf5bdd6741429eca1979021e257bff1cb30380cf16b1e6a5d060fd5ce4a5815e415475627694b425d9f973d2fdd50ff09b0c03cbfbeb753f1243d911228829f46254eb61a1c003afefbaeb85ed9bd6e7478534036d4681f69c3a5a47dd9a2c6a88f453bd5b338255c50e727f3079b1eabdaecc2d03a8356af81518fb3cc024cbd02a26c8dd6d7dbfe77d76576315ae77d25d95f25703f4f514b65484be59471183bd51d211b3262ef973f450cd09cacfd7e1165281c20312931e9c7172746446d9bee3d2ecf5a00951d02f5f2fa3afa0eb83fc24913cb803d855598acf4cea79fae0ac1d73cc985f1589f6442f4d9e7a819772248f103b260219ffff033a44d5e7cc4da3164adf6a68b57163275c39d20af7dcebd3ca59e80d2397bb030350dd8540c47c1d18342c76a88dee01fc43f8a299f6dd7db2461a27497e1a48b1034a940d6887c14c11f831af0dbb6c3e9dc3f58ce2197c6fc4dfc29158ff44523c0372ec88c91f2541697a3ef160d1344cbc21a1a04ef47c830c47576cefdfc3365503a7bc5e4f60fed3889182326a828d21713013c51fcb86d13f39bb0d2239c77c5d03a2acc6117db0172c3d1942348d24622adf0406c40795f078a33e86a2e1e26712031715fc0d934a1381a03fb42c493450c3a993e9abb926907b4257588b3f08131103a88268ec568b0ede0d8bbcd403b9339f84bea6cfd17db4ab3ef008f8ce17dace03358995a5d81a8db9188f7fe6e61bb3780d3ea00b5cc776f771a10c51515fd95903f10310cc46e0cf29339dd4ed473b8bc58de9937d84f7e28da68e1110e5ffc5b603a723f6821d904d0e42345fde5c684c0847ebed2d355565dd577661b43ddbe86f0219ffff036fb85bc29667312f31fe925b3325ceac333c87d7ce793590ee77ccb5b4accec703673adccff679db437c6343cee637fa7438f7e9c1d4d88ad27262753f03d8ab3203b51cd725fcb0766758c04c1d2ef8df928a3566a1916aee5e60b148e5baad31470342671279a1236fb5fa3ec04461a6f67cb16fe17c92083c6c5a04168046f1467e03021717bf880905f0c41b4ddca62e3ae561f3d1396c0da422ca34806b3021c0740329b379da35a88c343ebb9c8fb6fcea6fa2837dded4ad19f5b4d88622eae48c7803df6d444b23a20b6388638e1ee3b134760be5af9f142c5b75bb8d3efbae0fa21a0364712b57e51d6599ab84aad57c6a34c478cb81ae0a126c7d107a51d6ecf20aea035fba9b5b2b3241a44a46a00dd2abbcf4393acd209a4b7d8b01bb342faf75fd8203ffefda0bc2054fbe9841faec0936ca36faf0d608860eda736a94ff143ae8d5a803f3c39ab1650710223a0e7d699a519196032804b898be84a47338a629daaf9084032e2658cab44684e84c19e81f4e902807ffcd68ca826069db29c0d84c147fa615037c53cd3c2dae8901f57404a68aa1968ce3dc6f5a43240443693352b71382cd9c033ef31479b9bcb92a573cb28de506cb3e510496093691567fd1fe1868e5484fed03c1160092b9a94d6778132e254113521c307a26c0d72dcde3b65ced42a8ae921c03eb62c8f590067f79429179b1b3dd606292c999397a3f30bece37e19c1bc37ffe03681d3ffe32194cd920df78414250262c6817620ef6250a5eb234901ead4957c2030659e688d6345aecf9004b0224f207f46dc1a9e8986cb62496a809c6ec95f81e0389435c343ddf0b938bbb4cf112cd02a8b43a52aa341ba3fb30de1244c0c310f300581e02e4854611a5f7f465c3bc9179ca87190b450b6eb0fe6602da68fe8ecd1b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d734e33253e8152110378143d73cf7357fee8d23632b990293aa16cd9242064900581e0224e56e5dcbff28eca1c4f61c2077f94c3c8029531c522a59ed7a112e005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02af55729cdeda9125d16ab3bc9551da0812b3064f2ec775f9161ae900b85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027b3844c0344c1204f4634363442e4154a43e4debab7ccbb2eeb4b97fc4415f00581e0290bd202965d3a6c7ecbb94961cb25c173c3916c5f9080889ede9747d24493ac22e9d0dfb0a30fb0219c4d003f2a7dfa2562d4301a7b48fd09b3e8d48eecf951f088c214bb47a68c11213c3af03fcaefb6d2b16eb890303895d3c6ad46368b1f22bb9493d6c7fb46148482902c6031ad55d3499a65d031b5c733b6f902cb7e2329ef56c46afd231f1443418e8da2a030f460562d19ed85655c01eee2637f889aeeaa1206c38f0af90f78efe97e39f1d036d33ca5b7065718285401866cf423c44f7d06600191a90d74b7b3f418302f4b703442232fbacd3aea1f0c5717dfc45f53bc2337b30e215d96f0d3d63adde1ce51a03afbbdeb73b42d3f93ffd7d54fbbfeff03d06dcc095a4c774e4d224c70773e6f303c12d8cf7bbe56d5551dfe35ef0463daf92eec495f3c34994b6e4f6dc5fca50750321afb431efdf697f5e4afb84db51d40d9c3fc531bb20f106b9316bf3985edaf903fce66d5e83006489abfc5e13122571540fe6157ff4ed95e21a64d483f007ea3a03c9f36cc410b64bb052609a24876f094f7500bae4f9e81918b5a1a15798948bde03dccb1c32da5df928a53ef3b82552a9269585dedd5d15748599200e9d1df365b800581f036fcfa99c3c1d6766e8e92bfd9e531ea64cc563a6548d67c68e816ed24a405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d3b49a336e7b631c0c8cb1e278ea27d33bd40766fd48963b93738e2f4b9548290219f7ff03b70e7b8295e1ff18ad1a7fd635a3d69dd02cfc9cc6e8892de8ac999a1c1e824903d62ab7db4202a0e30c501109130729f1d71bdff750f0337366a064da2b4d57790381dcc86a73b69b98ccebfee8fb63e6fda509502ffcb2d2dda457d92e66f8978e038f194d9b5d3ccf6ab1e076fb36845f8ff06234f9703c20d828c727d109f945eb038b9e970f8627d48169607b71b58a9829873160581e5d6467a05f9fb34a4767c7034b17f9158a4561cfdaf1cacf5715e583e6015f0ea66dd7e6f738f3a038bff54503e5450020c9b4565dc78619291139ed2e1f6043756906d2b54dce3e2e07e7b74e0219ffff0391b2e4e00c4e9200d14b13fe7b8b0157f1c8264f12fbf0ab8e62b2c5e301282503596ba9bf9d2d575cc998bda94295dc0c8289c6fecda04b095ee5759c8e32dc87037b3b747f3a9cf9716a14fc031a706289bcda8fdb3778a587d6871efee4bf1571031854d1eebca86c2dd20032da7e47b90d5314876be3aa7c7ec9fb829827a7f1ad03a925f4928b41b2d58f4a8b1cd4ca430bcb01c01f43a49524da19ab97947884dc0219ffff036cebfc854f1d0f7d07fbe5aaeb05fa149768523a9c7235b3f3ecb4a607bcd1b80365aaeb7982325b5312ef9442a1b985aec543b99596e05663eaee410d814f240c03e31ce247b1687e49f1d144ae0b7fb233e19484651d5837c80a5b256e39de0db3032709afd57ef085e0cb229f3a3182d509dc2713a0a36ebde6ec62618b05e7a935032b6bd454198a1fedd5e280d86ca039e9b7f34c1ee37640359241030c7070ec3003b4dff0ede0ff1fabba0f7b03e7a0fdb6c4dbdbe01048027f01e8cef3bd733ca3034a5860bc41dba8a6df8001d9900db6d194a5d1dadf5a90315ee4c58e6b588d07038f0d6984a38a19e7403a8f8fcd919044e54f69213ed85c34658bf56e02799dea03fe9d130b53b7fcbebe84da5960683d44251ba90037e383fbcfc3090a31230270032a4a5408350b8bd6b11d048e7f96b412fae6b46b45a6a4e8c608a4d13ae770a60375038ada9cfa833a67929422caa839040ab4f93ffb8fb1c0b0cfb2b0828c55cd0398adf0bbd7688ceba2f3955c082acca18234cc9e3b6a78dc90086170b315b29d03e11d0bf9bcf5dfbb55de9cd6a5520afd99f2d47df1ba7038dc57f4b7b1de1f6e03c3b357662b9a2f68dccf5847c22e1d9eacd996a3e652aa456a1555ef1322eb6c03dede1e9f03a13495e6c0e11ce153a3815e039f7cd731ece13c3ccee32561c8840308282e226b5860f010e6d07888740d84593386bf762a5122a8053b5fe7eabb2f03f00af4c19ade88c942c9d7ac4e7621a0234a4e6dc3237504d5892432890d0a1503fc7e3ef1cfde6a680dc08f851710255b4bd910ced4c9571612364209a4b5b35801410f03c04151e22172a02f3994ddf2adf7ac75f363a4530f5e4ce2284c0bc24c7855bc03fd8616a39ffab29ed12fea6ec318c723e2f3fe975c2ffcefb5091484ef123a390356a91a12d2c3161686015921d6740560520db69ee0c8975b32aa0429875efa1500581e02b9c899cbc8d27e98f25813a5f3a94d25566496a4363b9d2796a5d5f1ac5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0248d06926f3536b2f78aa61f4c65e4a1ac60560c237fc1946e4edbe69225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e034d3d3d247e215ffac0b4523255de41efa0d9b367ff2a2d74d4c0ddb9204602583b5c8aec00581e03257708e0103d2bb33b0b062bf0801bac690fda45ddb1a6e166b253b93047038d7ea4c680000219014000581e02d5ea7fbbc0a0b29210188deebf2a0870d3315d08fbc4d700ed556c9398472386f26fc100000219201303df9dec1696fcd71c498e7e965bd196ffaed8434f189f18d7daac08511841167100581f03e091a2b4b63fd2e06b9f9a632b6eca438156a3b57d8df78f45d074fd74f04641097079d91c03a8577301e732f29c6c447682d909ad9d10635b422727144d7fc5c2b120964d3603bc607a5416f84d99e8d263a3a8276d681514a33f26ad3007eac795620794cf1b03b582e189ba370e9a12370ec99395544126c72ca6eeacb306b33a3cac1cff937003af73a8342aa41dbf7afce758326a3351f5844e5ab7bce8152a196023bea0735e034c41f1af52adc6cd3d97e1fc122fcae6730923d821b91c0ffc318f5cdea0df010219ffef034d2e2c167d0eee1b4a0a1de3c2b2f15e61689b3a65ecb86ed51b939b311fff9703b4893e588394718680e3e9716bb6723f965837b7a559d276d0299177e729b6830309608b3dc220029d8ecefaf05880d6067b208b766a8a38e67e4aaf9d2676b7180350e7a99cbb6f3cbebfc5205cadd09999c2dfac2d6e368d95ea78bc7393363df30387ef33c782f60145e18d8afdef972a1de9a8dc1d5505d13e3704f816317c333503f793db492c5658503b8175ba1aab001825170c5bdb42dd05c2dd7fc31c99311203b637d11efd375e7dbdc0542f1c6440b9f94f91cc2cbd61242b3add59048275ad039bc70b06ebffe41b889b6e36368e496dce03d899fd0b64485fe80c09203f91000374deec2bcfdd2457b005aa65d6f7a511d2eb186bf930f92aab7de9fc753c38b503288095fe953e902f56b80fa58a97bdad0104ca5aa9a3e396b90a1433d27ed5e603bc30b76f7b88b07e74dee52cbb8bf07310d7d9e793b7061c69f0c86fcc610b99035f7cf497eb6b4da4e8b5afbe7fd3f8d1a0f0de2b161f94e8eb6c0649cfb46bb5035f6d7b70b696fc1378e82a7be33c1225ac114ea8151a3b87419e5d46f7fb897a03c63fd87680a1de8c8dee46cc7ee696c1d85d4244563f5d03e18ea0635b17cfb40219ffff0317338b96a16e31c772286718f75aa7e3fcdb60fc0859e3f1b829e272c2d72036037882cd30d16c6000c3d801eec7eca3136568f0e387e68cac7f3231491c2550840219ffff0365fdabd1899bb5c94a86a9a9961a879423a28d7e3e5166b8575d7303ee6d2e63030603fa6adeea192e137da015e4f0caf33af15db7930be2024efe9e7ad5ecb128037c8d82dd01f928fd6af7d19ca217cae3823564cc4e1449ae9f0459e3e603d47f0345e0af4d0230c0d2515db7ef89d4dfab2f2693b3c5b7a18216e88d90cbf63c77034235fa400a439508a4676970917d27545aa1035f8c20a4df8db128a03da00d0900581e02d5dfe97fc79b49904922cdcd87f6192d1d7aaf3b36cbfa5e57ca44fefd493311ffff366b5bc1ab00581e029e7f8d26d8b944984b1e79155ac8a3d3b94c2511cd77db9018dadfe6aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02188803b310f696d2a6625704479b551f2b85a4a8a7e2e44b8ca19369859cff02aab55403c15f27691d8de229daae376586637edd220b97a39eb935030fee50b35df6aa97033d4145eae3b309fcf478a32b72fe41e6ea1f37021c6270e88702d153062b0329033891c59d2e62c2cf07821e984e0e353074d2ee4443fe666459d88d3ad26705d203bdf68816be35d40d6d754cf41f8b79ca37fb7e023376df8d323dbc0252ed266a03f2d559c3fc6da54a40f13b1f91abb0f9ff5df8b3346362a794d6b128a352848e03b20a044c86e28f7046cdc64e1e19eb173fd8c65473663854df3cb9a64bdc839b03b4c2cd6d0a75565d7e99ae514a6427bad1320f1d5ce1bf002310cd35b9ca767e03ecb1ce8dad5dc417baefaed7f8947c962be1f74f1f8463cd93c398f7d3cd82b0039d5264b3bf0e8c1ef7f9fe336b79136c0178346de55bf874b7ff1bf81322285100581f03955fd2106271afc041236526f6d92154d7805660cc7b645c15ab55e9c4505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a5ec2862cd5940b7f90ed4893ac2dbb1b62fa0a579a2f39cbd2da2668a8213cb032d76f3fd0dc0ba3eab96525b8124637e629d5133cab4a6e18d9c91a1cfbd14ab039a1d6c6bbc1ee5c0eb966da5a439b4a0576256a5258f5f24bc23a9bdd82a2ea10374d44fb55ecb5b71f2bd4adee9d9aa7e5bd15ed825702a69e658367bc1ed099a0219ffff03ba8986609910eab03e5605566890fac96426b2741f4aec25bd270d6a55319e39030ad3a8e3f666c3381230c9a0b8afba66820a0e78520af1de272bedbef95fd1d2039f0b05bf0a81a09f70b232a4228c2be782de1189c16a77fbb52a0aad3f6b9308034a85ab327609f40bdb795c32c42200d2850c222d99e852c81e07839733a844a4035db5a3bf44423c58830dc6498f927aba25ce15244ee13efdebec436c3fe64c6e031ad89530dca78943920f0ee488b898611f8c441f90d4e7263f7dec5987430acc03ff7d4dda6c73f00ef4d65a42b2faaf710fe39f1f7b892751544076186f5d18a10337b1e35af35aed697ad1405be39e720a6e2d8f44a24a41d8678c742124689177032e55e83f590eb614ecda487cc6fd3a05765aa66f50dd230b9b593078515e2a5003ae46bac2779dba32420520d1504a8cf33a55dfa1cd5267e96dd2a07128fd050403122f141ef0fe0d6fd355d781946267090990c7f8317a4b688228ec65bf2cb1e7036001eac1473b8c4ed0b64da3844022a6e0191b2f06b33936d5d7e91c58a0322d0300efb69d84012b4b9a42b255c69547918345b2df67b0c516c1918ca8fd85607e0219ffff03352d51040588beef7c5a9c18866aba4f39413b06296f07be03d5092b152adb6f03077dd9debab03ca87cddef4a19e0ce1fc891ef18f81e90b5a1a2c98876827071035a135bc0cbee1021d55c2d6803f44327a6cab1451c3652c5dbb67fd1bd4521a1033b3aacad6e426e668d885ccdd128febe1f1f663912bc9468520cbfda9a8a9d5203b59482ee17faae55117ab326205887c3eda5d1ce31b173588fa1d330b8ab7127034b70c64f8da5c59b96ff50db37f11b4f32dce935e8c7d0716d446c9ebc59be57031901221e03469aace5baa2470315aff8426d8efb7ba354960f7c51d6d69b14070300be82be4ef9ba1a0acda3423567fbac08b9b0701174a0bff585a6815bf81ece03d1365444ee114f719eee2d040647154e9ca9d66522016b0d38783864931c44800308fb5b59f838113ead9c2e1c9d31f08753e6238bb62ef3a27ac8135a56b5105803e4649fe103b0a1a812d31162749aa70edcfaa1461bbaf92ed395fd589dc49ed603a79715ed47a96b08f1373945a439610a2500a3c061bc75c21cf9a6fb6cdef58a03a3d827feb2231f9379c6432bdc69464b80236a799a552b01155781e8f4588ca70219ffff038274e12e9649c4cb0c4e39cdff0377c9943ce6e59d4dfc5004e8d6214d9bf0160334c5887ab01ad2532085d6d6f22c6e7f863ed6ead1c89d21e6be355cade52186038c4e8d4b61e2fbfa5e81259a91446829fe46d646d91268925fe057cd6105393803917b946a3934630c57f57c960c80101ecac8b546367eb63a1e0a55651d9132ce03dcd8053b9dc00ad8ccf086fc576a561ce241909f7a1d08aadea68e58f1e1ba58030c0c409c59d0ce97a3398ab726ffc1dd2079d2fcb93f3ba87de50e87b9e1d55403d253e8cea0b930065d2dea489db376ce3ee8f233cab5c93bb43fa446db99691403418bbb4c434a27ec4774a47f278119bac6af9b5a53e0b7a15b22ca65313c4f91034a1e444d271fdb2edb556dd5de0f815e82ef2a3b2b97547e787132e2e5746c5a03882a96ba2d241ae2e19ad69c82f2e177e0fc4693d60400ab2a6d1509b474939d03c2d60ace623b4b3abf1df40ba62a1cfba5046c19d2e8e1dc972bf0bfc8f0e1920368e76e8a123fcb8330f9a5a700b8a023936b4f0752d7aa3e25fd1ec76ef0c50603354628833236891d595db66866b230861d02c680643f2012941b8ee8eb2aea7e03cc7df8ad4fb8550ca516824c1b7856eb155fc31afd609c78f805ab6237b1d13403fa9478fb03c84c759909ae5ed2ed73370b7589ea64d54f26e8a700e1c6e6fbe2036c43f8ea9df8c8c6d4eebf36eba1fd7f6f50bc2bfabb7d82b21e746a2f7b4d5c03acf291f691fe4ea0f9e9f0064270324e65b88de0ef7e0fa701c700dec61b6dbb00581f03738670878dac0818c8b519248612f84ca123c985dbb0f7226095921346c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028c20a6bb6a36d9b0fb5d5d9051a9eb2d2779b216c59829b0b8b8f4a80b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026e77b3e4f6278fd7cb14220c89138dc1c3d7db97e76a0d51c865d805c25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029cf64d581857a598d8ffd50d0708d5bdbb5ff9a73c7557011c0aa96fc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219108800581f03780ff552ea044b4cdc5b1627437f6fc834c5f68b7aafac774ad504f835105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dce6bee9333f59b6b39918df7222fba249f4170561220e4cfde10f355b9dd309032af109b5b915b78555f35de26483d237fb80fcbaef34f1d9bfb21023e565e07b03b4d228238f79271e3e1c430f8d24ca8cd4425938f4d5dea6d9ea5b5d87875422036dd40a7ffcb9a269295ae9b1da09c99dbbb8ab8479d69cb1dd5eae6e11e83cbc03c4961a11e64a69e5f0b10fbc6a2f513787e3d6b413a73679f038439d975f132d03317156f7f8ee5ff424eb33d0d37862da6306a862db304d0ac8da221a3daa81c303a29839ddd36c7221f8d693ed1d1876f98385f8c20268c1db7e39387f1a9c79a8034e27314e7f7feb0623d4c903e0bc1e3b54aa5b9a1a89c9e99e9e6845da749642037fda29fbec294964eda883e44eaab382127303630901d8167d32de2c8a98215603d8f90270096b5563ca0b05b175322d2c8fd158f843479d11bc850c70f1a122e10339f9802e1324dbca1ff620ee2edd1331a91e157113c3b3274950dfd458d2a97603c50e5e85dfadc1704daae9506f3fabf55c966d1fc49d1f45a93ddf76485b79410219ffff03f853fdab45661ae143231e5d84dc40a51a7f4e202a5a01e2efc86a42a75617090312d8534b99a7be8b762a1748b263bed8df90f0df6ff584624b2e2712ce1a83f603d775285bbf763babe832f381e7867e587c78eea7a6d767799f7cadedbff043fd03d9e1bb909dd92b137f317e98346fde89ff3765e265864977ccb679e1ec0f0664035b0d306963c3549c0be1b2906432334632fc6686599b1a05c65371be331cb0a6035c24a4ac283f6a6f21e9aa50279b694c1e084c7fc79f68e36065fd9efbba39f603ac14d8fc029597bab8eae05ccad6918f44c522d0c5dd03aba7cf50b9ba0c21c10337055207f5e1cf9f071d5ffd457d63388d0bb8b88679fac2e751e08e88ad160d03f327131947b23a4a023bf5fff21e3de166b0f92dfa3fcf89d212ce962840deb3033b75001f91d1c65d66f0c713bb9a97c275b86e11b5b0da716aa298209f50ed720322bd47b20df623d5e9d4bcecbc484853fbfe1a5c3210ba84671a7af1afe71ddf03372d15cdb9078d93218f3bc0446917784caa633c8deda47a2675c6b5cbccbe5c03c9c1c2cf90b00365774c1bfefbf904ff33a9916a96467adb418e234ca32f8372035fcbbad97ee62fbdaae7b347e97f7de54782ca74a47d25b1b025d4045539a4650219ffff03b5e87f49f6f6864f1cbf1c980844836ebb109bd47f65942ca49d5de356d57b9803b78fcf385fcafb509477a61b168b8709dc8367edc19b95edf49f50511efb62bf0219ffff034bad120c44d9161a4c1a979bf6dd8f8eb0b6d93659864c231de252679e09f09f03ca4e16eabcf88658bad63e7f56381366cf43db3385b37f6d75305cd4e155762b031d9484124005aed709587149b857cad49047f63802e7d7d529bc3cd91f332e63038216ab3026f5f4c82bb43ecffff29b0ae0902cc9a0e17c73fcd0962ff290d38d03a47376dbb708dc317c849adb08656f3154b9782e71cbb196d756553206029b2f035ae55004e26376a40e18f86d59fbf22d7178d67efed6d224c3993707a8896a8b0301ea361542ecc2cbe8a29dd142a54cd2892866fffde949b9b56f91d3145599cd0333484d524c565017d10f96fdf5b1c17e6e1966d7cc42b8896284dab7c9135c94039afb1881b4ca12b97d6a06d3c5e8f4da47bbaaa6ab7ef3dfa54f0f4437d713ad030f9006a84116e9421455c8a5bbfc06ccd4b91442094c3e24e6d209ff013c090203d40932ecf0e08e37185d2be212c5ad892afc329a8735f489ab77dd056fa2f52a03376ddf02454841d6eb76b3e9d316de93f2a55b93a2dfce935e90f8c115ec9764031359908aae8c427942fb3c29538cf3a6c108a621d32d65687e87999b1bb38c010318c0e06de48a2b507f82dacc6ea84423483d66decc36585e961cfd3f144cdc3303b8bd6d790cd7dbdd584e823ade07985357b9ae7bbe44ba147172500ba7d459f2030af556cba119a36e554b9c8649ae0d6d551001693f4352bad04a30f1d3bf4acc039e803da54603d22346f383a7660ef00c1bc524bd6a206cd5d201d6f1341adfb6034d56dc69c10ce517af353290ec45dfad66eafe5d5dc3c23a11236214d54cc7310349f60e1617dd34117e4f6b7ddf809505ef323dc219d31ae413233e56c50772e6035350907d4b35247f3cbc5a9487b222e0ce1d4b47e1d97cc251885d3ed22411420374a5b6a56f0aabc4e3f83612e85837b5b35baf5e79f7260864c10cecbc58f54203bd06fa2e404fd470a0ba8c0ec66b65cc2aa5d1b5734d212a23fae55e3a44131b03755310a8765ecfaced330cb6186ef59e9d0d7509904c57fcd3649b7eea03a6c003df0cbf056dc00cd1af48dd1a481728d98dfbb87ded14f6a0bca53faebd903ed103aa5b8493afaa4d9bf550c65fee2d0fb232a35aaeeebc3f663697506ca6f5219503bd665b5bc13cc975f47b7b17725741c37f97e3df336d2f634f6e83c4d53af9a303757f842d6ed1f7c74e2b3fc5b0a44463a8e70753a2b4556f056f2ea1fa20913b03dc06691fc3bc8d55ee8546df8ee8b9627d05755f7561c4e850d95e4ef5c5559c03f20d90d0d8121857b2b72605623465cf70522de30f10add9b8b8133395cb21c8039051ed640aa9712d5f300dc722d05d65d76e9e5aa8a41e91a69a785ef900656903a005359558e27ded456755f9b8e6a076c73eab8f198c3f1e7084af458dbcbdf903cee65ffb52fccaf9e439f3e3c107b9f0f2f1ba503ea7aaec7163995953f674230353b0c81559cbe56216f7a5bc66d37d96dd3dd39fd4e7c3c18bc6fb9f96465d3a00581f03c1b32c44731b4e809c75f2c9f573e0aab26fdd3b164289922c11ac0b11505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037a24bcf56dc79433685b556331c20852179e5e796607f5f1e0f3afdc92269f3203e47e6d16ef2768200ea6eca496e9d5ea195af3eef8c8fa05d98817ccfec9236f03d16022884be87d36bb69804c5824cc1e2ac2aad4a4ee9c698fda9076d904f15a032d32c024e53957d6adbdb12ac97ab1906147670f9968399cc84971b33dbd4e4a033dc117f95867e2d595d3164fd52d5be239e5c14b2a33f979a310b6be7e34b30e00581e0259561eefd7786055b6fff8946f5a7d69115b862988b6568f4d64511baa48a688906bd8b0000000581e020021341f9007b81eb8ab0686f177e6ffb319e6de9e183ed0583369e3214910e728698b14cdecb000581e02ed85542cab1060a70e917dc4c19b7f0d42dafd03f610f7351df7f073a9472386f26fc1000002199001036eecd26456ae7e5d9ccbb684c50f4c74a7c384c06482136a2c5c1b3ba7b1c29603737abaedd5e1b49965daea8b75da1e7de48432ccbd502298c4fe1e5a6193284d0219ffff0391fa107347b7ee20c7c0d5a5b546e8cbbf1693f74e488be97adfc77cf90492790219ffff034fa61c3095db7e5ae9aaed087fc37c3c86a862a78b07121f4b552153fefc055b034aa4242e9cb51be1c993cbde5035b4001a9fe2ccefaf6e070d0fec5ad30d48110376c7334ab9c9d2e3e64fd74967158c13b3064229946bf173cdcf46299aee41f10306077707016c65fafdae807ec1911b9857c8e179d9dfff6c95a53cef11129cf20219ffff03f6f43bc9390ac5db2342f36b849d3505ce645135a2e7e11c0ab6e6e2fb2a133203fd9d2bcb1a9b54ce4c6443f828689f3d95ed562807212bd835244dab90aa062c039039f89d93c74badceab1eda4e8bac5368286636dbc0a6edda1fd40eca2d2d6e03c7328ecdf053b9d676d0336913367ed189c2031117f94a1e65ee5d79f7b82dd503ef0aec5c85d5a12de64b79d31cef276bff89bf55aa3dd460c5da6585a0140adc032d3695898360a4202032a7c22a6d1938e753c7c66dbe7289c31d224cd921550303a499be06d77f9effdc84f0c55fc9024ea9bebed56779d28cb6990c1b3fd9133b03dbb7b5793a5b6adfdcd614654123fc5364744fd7b485f3262b7ab980b112d0990322b0ddd0ce8df81f80acc38399821f8c032f9c52a2e125afac29c389f682461a03ecb5491257fdecac819b33c2a4f21ac65cca9add784aee5966b324f00cf0b88e03bbe9a589754c30b7c93ed94700676c3109b7e11cd937f2f0ec23c6397aaccbf3030c764e21d99871049eb0f1733facb3a4a02a93d21f89201bc8b60e062a1b495c03d44999d12264b93d31421b9094d0705cc7abd0b1ee0d2ee6fd520a8f0787ec9f038e7614a2f067713eb0038d8a6eaab9cc95acd38bc22cf0919b231e383dd70bad031f56c5f8a035f199c9dc7c65fda553872b0076f200319b85434a0eb556d22b2403b92454791a67a007a793b610daf3abe1bb775d5f4956981c2a2ec18389eb73b300581e02ccbab239a99523e38805d641b4d697fe3d66145370b5f771ffede19b8f491fdfd0deb9759f858e035478419e8bb829bc5cf1c597681722ff5be0d4152dba6f0c329c906851d97cc400581e027c44a800e29a7b38ae5c74050c36e525c7b3fe02e35e49905e401526624211ef0219014103a6449b8a99ab115ebbcc117f6621f6a7c9ca14a6cab6084425266e20ae2a00550343dc5f2e850b6451d92aae338ead36348d2986d3390c797691444a88451cb1b5035dd545eaa211ddf8396a946156cb2f9dcfa481047a28c57550a6fd623c40972903448a27514bdfdd553607994713a6417787a28b8ac93cf0e955b356f481c7cbbb0381743a29d5b9d581449f9b081adf0e7dbca97f8559ccdfd10c7c62e3a2b827060321207561c07ad1560bd3238fa0c3089c3bab4b65204c2fc8094ad278684c0bab0385537a410de98ad63aca4a399f4771e3b594c732d941cc4892979201edb1bf87036a18fb73b17493f9c68cf9d4e52da5d07cfcd97745ad519d58059434c7e4dd6b03b2cd51f4b62e8b37ca8fccedda3e853d0c722734cd19a241191d3094ccbd3e680362887f337782338f638e0b95587e7fa983f86f050f6df326a76166a7b19dd3b30333e97f9ac7bf6f435275c273a08335751094567c2cdcb83e53964416d390505803793f1cf2fb8756696fe9c20d83dc778e623b36c4ae938939ccae878df51d1b5a031a38d5a9c5eeba5fdfae0b4a7bf1d019c9da37e165b0a80dd0e531f5d08494f803513846538e88ca403e5593aaca6c1b3f6680fe5297a8924de48682cfe6398f480395187433856b92f6e1cf05c53858f6f19405fcb8bcaf7c77ac89ce8d12a736560219ffff036283c8bceaff3cb283136ed359bd2e108d50e3ec76edfbf9855dc6923444010303b5bbebc87d82ee7fc0bc87c1ad59f2941ed5fe93c6a9367f348e2fe9801a1f7a0371a0631662cd4828feba06f491228cf5cea12644fdc864484f117adaf6c82b5f032741438e52d4dc628fac3e01d780eba7155aa6d795c1599f12b04201a20f62460347c69c08c3f94758206325464f8467dec608872d6c2fa81514d4f527e3949e50030e6943ca3611cf6c68712f435440234872ae97d28c8dcd794870c57049565453038da52950d6a554d045a9d38425458b2e3967b0c7f79e2a31172df64f031c5c39038d9047c5428322b231eb139989ade51e7732448166a61df95073b35af392137d0376504ab6f4767823aed3c87abd3bbc801b15c696d1417f81e8b281c9f03a39b003f475819ab785804b6b98111570698e4c7c4991949a3d736eb598d0bd4a27aeda0219ffff03c17c0b9c401646b8cb3d0e7664255634f8297371083e9580ff6f7eba931f74b8034f701806e495f0ef58bf2370fb3017dd11ef33e010391611f67d901a36cde59f03e3a6fa3e66f36bc450bbd4b0128922f4792eddc2ded1fd4025157d7f1b1d890d03fd6c02827f13c8fe8860c3973d95260c74295892c458e77981367943207575bd0219ffff03e51ee5343b9d0bcdf6654404042ceb77b239adab070f4c02cd36ee904809212603c55a4615ce3e36d14b1eb44077bf180b5f0e3413e71959c57510d1fed66e2cd803e946def68d427adb49f9cf0e78ce3d1fa6bab1be4116bdf5a01a1e0ba1d3ba37039da8c6f694eb9093f72c40bc26aff4bd9fb90259bcffac9e23e82fb960df9f9c0382a8afacd4c725edaad29efa0d94bb46b17e4ffd5d315dff3ae268f791e43ea5030a1db806e3e1003d48040a51cf390083d89466c3ff0174d2a076a0ae78bc528f03709c76aa954c2a43f2a7f27964b2c58deb7faf548780d234fa8fea6efb08e0cd03d393e0e86c689a7437ab398b67649774bc84ebfa29223b78de935c8b1102adb003371cd47e8cd482479f44e51e9872cbc6606439bf924baf59f59a8dcf2642eb72035dfe0183243f635a69f1a6f4a4525f8e51a1b85a948e503c9e4939e51c1df103036a792688759b1cb334a62893858b5899e100adcb25abb5e15c2175103e50aac003daf078866f142307b49afd7d2231794d8f64c0b2102241843dabeb553c67a5ef03f066d188d01486acdb8fe239264169439e7cb3f56d338621e7af07519b495d2d03ab554ef0fa27372ac2dd8ff4b85966ed75f6b236157a4053029423804709d80a03cb8a0124d9d331c2f04ef6cd7a3f1cb412f884c504ba45635178a3f0d6717c7d03c5ec5a422a1fbe2b156898e96cd02992b683d56ef5242b12facc6bbb0323bbfe03da435341d89198be5007b4a1e9249ce67dbb80252e081d15cc5fffc88156cce80366b414f9c716370400c7b0ab272106d3edbf86c33b5e3a478d5abcde10e36a3a03fba58749e8b1e0afbaf3eb05a5d713c25cc993a9a086c3a8da6ff8b1800c8d9400581e02a6b0fe5dd100bfc937d97e0188e841ac5d94087714ed13e876f00ea7975820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c9174080711e63590dd720d129ccff436cd9d87a67883414ada590bb815820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02660ee9e35a49a46ac3b61f97683cc367b7b9b4b6d2b4d866c73a8fedd54927978f20ee0d6fa6d00219804403f0717fa7de2b3df2270f1cb8dfd25094ce33373057f92029c76e9e97ad32896603e52dbcffc3ee472e5d277f18e05008aac69529f86492969538adb370b8c0b352030113a10367159a7545e26c989f0b3bf9ecba83069a7dd5ccb7dff186974db37303210b34751a089932d5483fa0da5710d0948ef59951d0c72d8c62af68ff4aed6903e0de13d0d49451b20ea1d707432d747300c2b77d037ee11e29641dacbbe46cde0219fffb038567e46e7bfa68e3b368351b6e1884cc198df0fdd5fc297e7726d5dec915149903799f7d585807339e4df0a932dd0590d3fc32b96ca7db92e9719b6f0a1a752cff03b80d0eb64f7292b07f805dc57196c6a17bdb431d7381c8bdc5f358ded40dfee303d1eb7acd83223c6d13b5871b63c59277c3080faebe962209f2f3d4c083c7c92b035771ba5db4ee784616025fee3b2481f77e7934dcd806ead639574b15959c8e0d0219ffff030cfbefd7e6214c0369cf0735a896cd489dae37c357d737f4d5ac51626d050c1e0377070fe9a259d7846d7998c134c7a23658ec94e7a80d58644c5ccfa1c4f28f32033e37a30883c260475b3ccf080d1bb12a042db4c90f380091e7f8556fac5419f203fca563b7fc1f1a93c0bb50d9ecbd819d3b20db27fb38d4ee4b2bfdd226a8b82503088af03c062f3da643f53369429de4445b99311b6224476ee88d681901ca443f03d2ee09815adc5349f64420d0ebd60650380a9e4afb4d668a7d4467d2d41a87fc03533eb0fdec792fe598aac39b10f9565689382678eba3ed5fdc40ff898d823d0f03563079609951b7b71888c18ca0a590596b0aab57bf645d231d64d996c4e4f60e03a4484e69b2a2bdd7e314eea52499cb422803b3898cb5de93f63dfc4937be700d035ed237d8207dfd7bbd6493048483ca4187d4eba81406956ac57c34d40925947703abe3abae0e48bcd3ac6258b48f4657fdda0b5c89332c48368ab34b601069f1e503b267a2ac52dc58412e4fc76001b9d8fa70f30dc4f1d4a5759e0d96d2a9cfc38e034d861e3207fe8eb04de5f00b5da1f67d383b79cf3adcfa86f3362b5bc30aed7e03f04c9583b8bb987aaa0afcc8379540b6ddcce41d9246f47f22ffc1efb1d9fd8e035b9d120d2c0c658d0767cf86c1930a0ed01a14d40b9246d5c9c51feca70b33b0036240262eff10d975ed495d3138b1a4c96ecec9122682f09267891d7a0f8f27810344fd285086ecb1421c4c052ac65885cea893d58d302bfab0b5799a765b3fdecc037254d0f991e105b99f2d576e2b884749ab66e5a6dbb78619666cc632c914803003a2efc5d11656edea91d420b1459af5e385983d904d2795e1fc690a831f7a309e0374ddf4a92f9c55602f446651f1ac90f8353cbb25e515b9cfd84b76a3d2f15b6b034e8966979bd0f90f5f550fdcf86498166688fd16b4de96d85f48762f6f9a6af50353d4a34c09cf6e037ba75a77acd99e1e14b716a44c479bf70bc786bc8f34477803fb45923bbb9458b6b02a0d51044a63e5335a71ff595c0ad385e65600888903e2032bbb71abff882d9ec97089651742691ea4b34511bc77d160a32003fc2ee18b3a03f7317c0c97c280fbf62cee643edbf6190b3675a5d25236ebca04db88e513f84703997f405cfa03208b19197d49a5ef3c2888de823db0cd2b392be2aa6c221cdeb10337061b49cc3d4c85947ccf775ece8fa7308cb0a1f84fd9210a1062a654f0afe4036618e9aa08e0ea4295732e7a5e5ed26e135b4cdeb07cf37a3834c7055de4f31403773516a4c031b73d716d3b4f797e714f6c7076dbd8a99d0c15a45cd9931eda2f03f148c2e00b6d39b3d0b25844a4dee521dde959c6734715b473f87acda6ebbd4b00581e02038e978cbbc8eb99dc2dd281eb9e212c86fc5960f22a6ff818bb3d4ea547235734a63756e300581e03aca0393f4fcfd519bcb79d862602d1a1d7c31350b1d8efd8690a4d0c50494102f1d52d03a5bc8b00581e039dd02786abc28dd65692e74f557f2fc867befc7317bd2247a2389288805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219082000581e02ea16f772c86d73260688ce94dc942b5abdef5191e8cc67abe54353b2ce474c34a94e6ea000021912800320fa5c42856c16591260a79d9c74054d5e210a78dfd8b373023619f5c73a38e30355b6999bd1bfb01d3ee30f06e921dccea6a21a71a090f29d56d13ed5222aa9fc03e225c1994982936deea3b23b98d1b1282f8f201b6b33741e82ce774e9e5837880219ffef03f8399193ae3f671230da3aac347c2fbf6c6cc56b0a41efad72cba82cc40d7e870346f0ddb62d144f6e4ad908623112cb737c967c74c55e89421a03aef8c4df16f103451e21083edb24cda2d9cb5092a7f86bfa96f98c26ca715ccafbde7147b0856c03b867f172de7c6a25faccf644c99fc75da12246259321da27b38452357b8760bb03570155d1d4c1995869d9aa9e36643fbbf1db162905a696325380cb91aca1738303f87d8a0e5e6efd9a1b5c46d39a7b2a7f813eef1089a5a3e9ca282800837f07e20357caecd69d3313dc1a153d72f84074548724125ef2d015f681cc0a979fef6f4e031438f332e5a149fd9177bf7cd6c09faaf0cc78f5a1b5a0fd09f11760223531190219ffff03aae83a5aee863a2c4a36f1250e65b15242843f12383ccf1b7263c5063050de30031639954d9437297fd277a441f898d3e3a461d6c000e32b32c8aa2aad0b70c7ab0219ffff03f0b863c67207b2e1914609461e946a48bb769b550d43c24285b547f1090c77220219ffff03e85e9314bceabb5f8894337a2646ade7f419ff4bcd96f82c407784d45e1166160380e96dd348aa19a567abecbd507b2150c3e50556b41763eb7341044b998b58bb0378e334f0d825d1ae5da190f5a238105ad5db77f37e37fa8c4c165f24dbe2248d0383617b2acb5342dc90ad6d67dd16cd3f9b0ab04d3bb40ef8ce9225f1bc18d8f80394127ee558948edb628100991a8da60c873afb3adc96932df9ce7dae3908964503e8b4fdc4152dbbae9dc5c1dc0737e05012fbf722ac0526067843458fd04a091703b15421c2508ab92cedb00b3fcb40b8eadca84d0acb51aae2db2877d01574158403e4cff9e0f474e87039e235f1a15b3e5046b9bd0ac62061801ea2fb885f417e3703936e39bf5a93a3d68df69f35a8e0922709b378222932492063102cc2f8742c2e038b1b1a6ec62fd4206eb047f6cdebca0d7b911494b8a0c3bfff02ae50333522a0031cd24226902fc4b43dc88610ee5c4f7eaeee480e733cc0722f86e7b72dd9549503d6cfda3662184fadc3bd926e160f37c60ed672dfdfba638160f5630236bd2fad030f2f5e727a99882aa4802cad35d97ea720cb073017514355c6ebb73c98dbedca032e805959e9c40bd358684844385fed744e75a8e135c868a9b83d54dd2a9fee3b039c766c38f685b4ea17cfeb7087382cfdb5709e499f2dbf3965dd0c0a96b12fd103215076532b8db56a6e4bc4931f2b6b48f34f4f6a5c126eb3464f5de77e810fda037a6603b38e0ae7e06ab5f264f3bdcfbcbd3cc058537d36d69854142dc4d2622103f777766007f758db87ca70ac2b542202600ae332f37624d008f15b3d455cda8d03750ffba8d6564ed7f34a3907294f8c7ac55e3ed4639c3b565ce42816a58559c1032155eda9d5e71e81ed029e0dee192c229ca42a1df823503d8cf1726fe93607d703101247f482c0f3360775306831eee6deaa3c6e6d54e60ac1d8fdb2accead1cc7033735753d7c5d04e2de7351e2c821b4d1c0f8d26ef6fa9f63a52536feadc4a7f1034542b7261c641c9ef6f56596758d6fe6c3dfc4204b3f3709da790709ddd4a878034045be263d36edd8e579c948ef80136a3fc0bc71d45452ce02d5389f3784811803e013c45af536c18834171667d18b29f4bb82289ee2cf3d5bccc0889f19c344f7034240b9bee63738567ac113dcca3eb7ed94c98bc4424fffa45d975b2bfb804ad803367407f2e9c7e43f2203ef81961e6e8429adf60548c60cb4d9598853da977f3703f3155ff695fdddf837913f3605962e9cfd8dfd53347aefaf364e1f7f22253f58030bda9d14dcb8aeb60d44bfe61b84fdcb8f98f657450d02bb8568a9c9f7960fa603aae185e922949bd666b0cf84eac2ebe1d7700423a4dd32271a2b12bb1822887400581e02e47f9e3d3cfca317e2ce7daccbcb1380633f8f9e750d275496787c70665820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02be8d252f2709dd8354d9bc1ea43d2556f3f1cb98c0ece1655da77d77a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030c96d5876f1e824ab3eb21f0ab12b288c9dbeab6c2ef8baea7570814cf9c1b1e00581e0225b25c5468577cbedb3a53e2a99f3fe492af8242fd43b182877186efc54741b9a6e8584000039b261cf40ffa329c50d7d0b2331d4cda178134062b2559bb59889dac9a8fdb0b00581e022c61be921bd86e231d9ef7cb92fbfd4cdab6f8c99aa9736c2398f59d1f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02194a8a03eae09dd7180b87ea667bdb68c8f7537e67f9c61634229a94e38e23992345123c03bae08406fccab966b0702df9e689f2e14c5314ec4b24c1d343dc38ebbd5877460301b87e8e6d5d39eb896dfe21eda41af5f0d44a9e5adf41ad868230865e58a3a903d2e3bd67f54c2d66809213e756fd9b7533407d0e8b243e61a3ddf1602e368fda03c97180b72812f861b954971ca9f5da5cad571c78f429ce9117b83bc5e7a60ec40317898d59a7c15dda87bda224cd28fb0da38ed33a59b22d1a13b0a22ea29df6b70332c1f813635d29efa93b63e3730491f5e69f1066f11f2e1f742d24add8bdf79400581f031ae688afd8c045104192a208b0e888465897b8acd8950d9658c91e8535c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0395fd14d49230ae297c9c39ed42fc4fd36152bea2f4b37df35461fecf2ae1618503616c140f652d113a69854e230b36671dec57264e2904af467d4041ad2788657b03d6bbf97e51638f951ce741c1d9566be89de3418442357140938399b1441c1cef0219ffff03e061857f6b6a35c37b4e4d1fdeeb5af8eb6a8afececfdedbba5d6f7622aca0420219ffff0355916cf93d561d61d7aa27f75f38e5d342c64f6b1ac0607c7eb5b4a0c71653e2035a997784ea7710882fa32d9400b9757c078f7ce4ace6b368beeaf5612379785b03ef1a692afc1460cd34299f0003c1dd0d75e3c6e36f554995642932b45edb95f90219ffff0326be4e3672c10da13559b66506dfc499890d5e11456f0131c21a0ddf8b334851032102fce594a09f3fd1c76844e4e7d0a0e3016cbeb53b79a5abb529462270a4af03f1f32ec2d65960d8308dd5faae169a4d8a3455381b49869bdae02cd21916176c032b79d0838a54cd2a837dc10b8d7b0736a0b432de4f48080f8e9d3cf8eacc7b510361b754b3f592e6ebd7ff8cafc759b5fbb95c1aaacbfe21161b7c38cfda5fde1c03718ac9e435020a13aaf964b9d49087e2f546fe453807503a70eaeffda4128c3303fd2b951b7d0db7f25cf777ea4b21ddc12f035cb0420604a8b758d2d1f33b802203e8792455f1cfe3350367d10ed964c042627cbf56282d42529e1e4e740ffe1b680338af3b64669c1537c71147eac722d791f295561d1fd34f21aeed0ceaf00d2e6c03e916eb3c2f77cae13b3c4e8dfb6fd802ce50329f488d729f50f5c7c5a6b217d003ac29ba70267b71f4accc07a8042cb6fd53650ce7ea2841d7081a66d7e70bc79a03c8f483c0e695da1a95da34ee47431f3ff577ff8e08eeac01994610ab9961065d03bf0ead9f6461b3094fc762936f9e61f574718080c40bd949be62523963fbf354038c086fc260e08d437abd9fb68a870f876f8d9783e0bba286d49ece7ab1ad56b403be9c9c52deef34493c4315090256f6a720fd8e5bc15a7e166cf3c8d71a1b184b037ef7fcff7682d143a8c1460beb47f1fbd6cbb059859566a320b62a0153832a1203b18954ab5f47c9927795fd93afe46b2e2aa0d264f0c9e6ddb5b099723d7ad464037a70f3105d37d3c7d8da1fbe7e4716f600b09068416590c7da296922ed41478303b79edf0d85a15185c40a3aa889bd26c0d029bfa86b740b1cc2dbb517973a00ef03ba918b379eebd240fd8feaa29b587d93bfe710232c65c95b96eb42414a97827303c6b490148b041ba0aa4b9b7a1e6378aabb5d4e9ec060cd75bb73fea16003c4e60306d97df5e904eeb69cfd4fba790b6ab4af61e7dafbd1ffe460169d5a9be629f0030de781f00b39f2eaee656e249506c0c3974ffe50d101dd80babe1ae4ecd9a79a03244df88102d7f9e84533c1e0e134cddbc97b9f442b63881e61ce0ed21f99b96503ded91d351374c198c776ef91c360185cbef1141fe064da93123c14e8f2c0119d033dc9c722bce9bbb20596192a9b2686734cc09ec2224b8bce43290105b1f50e000332de600907147812d8217a7f8446e830ed0acebe50dc3d3a5ab084a522aab1d00311161a86625558edc619b4b210916a68c1ab409ef5a5b1feb734e382fa9fab020385e067b8b293e49f3cb0c270b98d12826b62d00fdf78f689443710f9f2559d990325b0c8c78f0f51ba964e006f47b682a8cd3a3268f4433bf34f8095a987e27c15033f9c6c9c322ae415155ace889e2529d00b92654636ff29682a254bc68c785d890384e0077d77ea1179f19868b3e150b55d2b22cf14d2821ca084131ff42403a93203e8994cb05dba5db4722c82f6c33be8094e6148214e40ea110b2f2432197cbf7203c874ed1396d2e087c42c69b7a1966de57ce8414939773e14b02d499694fa11fc03bae60599f48e1467f567a52f8ee73a0e7a55552e94117551b9a2d3405ae4f24c03da31e45dbe466a1430e36820e3fd8fb5dbf26050d372d88ed711aa2f62b8783c00581e029340dbc4b2de43954b7bb8001141db2328c501d828c467894342f8ed445820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a933ec097c1d2bfb3fca529b525e981fa1dad52dcb1c2f66b613e79daa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02183003c66f936c6b6b61042d903411218530fc31a6821c681d694dfac2300bf57f92f700581f0341529f9df13d4f6324a9952e2e407b38105315174d613335536e44082f105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c545ad888f0da3ef12b2a98cb33c9e85f1e2dce1127a0ea669d5b772fc9902390219ffff03cbfd281afe3392bed3d2df9d18c738138a499d02afc0dbb632487f41e5b4b9b903eed553228e748aee458f8c499dce18511d4312fe6f78388634239a6087969d510326aaa229326f4db1cd20349c627d34eb412c44d153e3efe9139bc2e54743bbd30335fda82c2b4d60e4a4db435384a7930ac2a215048698527372c35f06eeb84ec40307499e3fdb0dc45c3161b619b6e652f28a8463a75c152b3263ea92c994b0e5c903ca1a34d156ab72af636efeacfb2eacd8fcef0323159cf93a7356013d55da16b70309a03eff991ad212258e3abab17ad3d2a0ad30b7eae6637dfc5978868a61a7b7030a382ec26f0dc555c42cd41827ccea2f582bc9131252c27cd99a2f65ebb61aae0381e5b7262483c407216308ed7e619fd90f805eff3f0eeb4021102d624207e92e0314baba84439f9b4e1e60a964296ec0315c8d03fb8807e8f36f1667d4749f06d10346165417bce0d10df5542de6c92c8cc49b591366c7a2246e0dcea5f3a5d4fcab037be7b6836d724cccd2272195dd9990c5381ad0c20d55fcafc07a76d68458f8ac0322b732a6ac77838155496512b30d7344a94a2613c9f59d12f371d4c7ce24e6240219ffff0219ffff038e1b0b58f904f2f659fe9d0eda1992dede80752492cb15e81ba4c86778522f3203738473a249d8eb379fe5384d0b80ede17b5364d7d7c471cd3ecc300db89c6cf303e3f6882fab18863644eae0a177a842cef8855f5c0aebf47271777304b5d5aae4036eb56791fdd77b6c6423214045e45d4fdb837ce74da7b1bb5036f57201acf82f03d61e1b01f3fcad1e7c846266d6c7f61ffdf341d664b2fbe2659eb19708804eeb03a09334292c3164581179a635cacd89462016955bd7a5b18f033fa58692cbe73603fac12795cede4e521a11e71f0691b365d98603565ab1574d275598ac1a96163b03eb511e8152a667b5a26dc0162332920545131e6f881485c4e7c1778b47039f4203ea299c76d07d90a081443ece038f99fac005a46719473c47ebd963bed602c1bb031a7360c76bae4a6a2f5702ab5d32b82f8fa99f4f06116d087056d6eb522a17ce03a7a0f90b6a670e72d88107ee59a0f3f8630c04ff773b746df115a1fda805194c03671efa24d5790abe769dd594dc705968283f3ba851ac160077c4f81c2e658005038a8a200aeda948604784207aadbe39d938a1e24de172ca3de2763efd043aabea039bf1f4b41bd7545c588142bfd6680196b69d173fa4a5a801fcda4428db09effa03e97b354e8d55c7ba0edac28b24dcd4cb355582652311c8bc4c8f98ec661c5d4203ee7d2c9d965dc29322f4c0ce37020d80eea4a92dc7008e884c0f3a3e3c76a2ad035b123e6bbcaa5866793759c893b724fd271d7d4ec33a4738efc3d2dca8e1cf2a03186f1e0dc5165459efb5b992c4f42e358b0b305f0dfa0cfa2741a468ac3f41a603f2ed1ca447b698e17332e8a2283d2b89b4df6c3bbe4c4e57584cbb06eb69e90303081b1dc47b06675cc7aca6d1d91e244526388d38c6a77cacfbe86017deed1798038c2ba0a2e5dfa56ed3dbb8d84f69597dd99c4f4784777b56e154ac00c80d433100581f037c4af4647ffec225ea868028adad468183c676e7da6ccc3dc063e6b1b7405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037a3db90e4c1f946e84663515122d73c377f0af135ff0118ee778bb56de6dd39a03fbebc7b32752bf531f1970d7b6b5f91abf44fbc7e874cf347ca961bb41d2fd1003a8ac1b02c2a292c6ac0fc7fc024f87376958881dc06c1b9420b5e607eee1826900581f03c89882f737ca37d7bdd77744b9a3cfb0b3f30c1d9f40587680b0f87a88d0473c6568f12e80000375a01f90056a908aee81615ca81b9824762f982bdd4b9d0a99cbfdb28621349003e005ecc3b0e68136771da75a5dd2b8b985b8b1ffcb165e3ea56a0e4eef6c20bb0388ddd000f113ec5f22b6fcd7188d60e488fa7547c88973d0ccb837f082cc227203d270853f906da0cdf16b9aef3acc1ce35e3317fc34678757562e170b5d75f7d60376e0ca927797051dabb67e455828edc36c0787378e39fa9c64e745cdb18e5ffb00581e02d45b2b545dcaf2586b91eb109841b1d300ee598ebfe3d371630803bf1e491c31c8a26e83075efa034cb92bbc2dff0a0fee87716c85be5748e3fc3097421fa1800039d262eda19de700581e02109e6374ff0397fcded8a6458715440bb9279a65454066cbb300da31bb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024cddb4b57ec908edf05671a702e34b2ccf44eaf33c295f305707e687655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b057af7de0fb6e8ab5719d822f20b8f91357e7ed390776d3ce5c4b99265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219154400581f039b03406c0dbd44fcf91a5cb828ff03f731658186a89887f66bb6e3f16bb0483a4965bf58a4000003509e42de9927c042c9ce6523730f09cc2d7617904adbed0787062daf4b2fbe2a03cec1524baeb8b2c4447bc1e6ce74becd1716b5850f5689ef037f01f7218b09a603f97fb10f48c166d1af8e8772e15dcc5eb72baf8426874a095e8196e0d0b412d603c2c4ed15ca87f55a54ecbe9fc1c4caee523401b114462e4e7946dbbfa9e6692e0219ffff031e4787599f6275c989d93b57b8c0093b6a059287cf214601ee0973dfafd1af0f03c4b651af49010e4c7c97bb570eac7b75fe15e4f252ea759d9cbf6181ae1aea4c031ea0bd030226a75bb89fc1df9955fd20ae7adcaf89931b81bb28376e69e36fdf03e9f3943954806cbea0f5bef82bfdde1042738be0f22901623289127ea2a99c5c033b80889f48061cbcbe9efb981862234abd4c8257079714ae81f3263d6cef46fc03db86cde799409126563553de93511abdc0fd91292fc8e5bcbc2f8a824f2300210354ee7cddb12299424703e2adeedd11818a2ed093ba2bfc0918e0c463b3050c90034a46acc10879b9087b67fe2de685b487c53722eca3ee4b8159063896534d345e0387c8beeb2ff1f47141eab86b7f7a9b5ae4daf3856ea7116f5c2cb0b98b09af080219ffff0219ffff031bcf4dd803e52fd83444b4063360d3fa2f081aea1837183cdeadd96adb74062603fc61a3eb3ff21c453039c9682c788d039eca244ff079a36e219e97eeba93115d0391ad5c7062bec3ae083c50ef37720456672e8d306c29da9f810c58f42b555a7d0301c8bd0cece48952dd71c5f1f5ca49bacec3023bc476485b51528ff05dd76883032589b3a90bdfffdbdfa0c29e463164c96ecbdf42c119a8f895e06038b262134503db4d7eb8cacde3e9bdacf08fc9633a5d6b53796b2a04da2af0f6828672eacc6d0219ffff03dee6886a82284cf1240a9897b6f42e804844a3e85425d98c798fcb9308df264003ac6334e2a5ee6c1d94830fe5d4234dc2d556ea6e7fba3ded84db7ed93ca0a4a903b4de117251e22e78d47e756d6a92cd60a902e3ce0216639aaf0954249396fb80036a0736e3ad1a508cbe917bd6a1ca3bd3dac4b09cefae877244bf05af7ddf5785030b17a1d8253422b8c67279823c216344701f5c38d088a05e657766b7a4a3812003394e41f2d04f7bacd7cbab0fb94a67aed440048b427bec9b1d4c86728103341c00581e02341d06f8b9ca69654b994e1f359d0e937f97fa2cc501f33fecfd1040e75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02062ab444ebb0cbe47133ab64a27416a1963dfab55fbec3e06d2db2271f475543df729c0000039f41389fd3aeaaf63b5d4c17dd620396733bf12c711ea84a385c2d5189e55ac7021985000353b446543493a63a09b7461e6539dcda853be82887ced26425b6228876ae64b403a51ddb56b130d4aa2410514c2fa75bec1ac904e421834614f0bbc185428c13c803264eb658d1b6e00f1bf670f4d2ac34c7d2efea0bd9ddeb9eca861d16081b35280305ec81c94e57c411a26130d3a666b5f844f062d2e63b8760c6a0fc5f4c43561a031624130aa42be84efedd431b80f49c451cad009d25efb649f00e6d9f7239d60703459ba6102f4a81a45c6c84f47b4102e31f2a89e021587480569b42e29b29392e030d083590d321ed9c0093a2a0894770c904e241145565e1949e640d42e0b7029b0388eafcd3af39b3b602480b271007fb2d3ce2d88441345aec366635950aeb513d035743ceeb3738bb78f0b71706d66553f2b2adc93c119ab15f5b16d983d8d1ae6400581f03b4cac8d5cba00e89ad5783a5fc2a3cb06236d041ed3c98aeaa6ae8c681005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036d77a1d434b5441c08e3318bc973f73b930b96dffa407b88b5121cb0042a47ca0219ff7d03e9e7ae8148cf764608d61a7256382727c1b2186983192b818a2db3492251493503308e434310a92784de4317bcc393d777d34c652b359832966b8a1034ad30e2790346dac1ad423259f93c0c109455335ac686ac0346e91925fa5abf381ba3f7fc240353e3360ecfe53df221bc924bf1cd52c1cf40aa14c0b50a1536841442ae5e54b6032aa919326fb674f750e7dba57435bca2b019962461a56fedb0139812a5fc041b036f837a725064a0e86d3b62c6852635945b90ed2328a19ca4573877b151e625b70313df542c4f27e7748271759974123043f2aa2460c384046384c1173fac38e181036444dca1dedc59e72871e4a410623970c0458bf2eef540978771e7657df9364d0317676c1e258eb09e4b08ab2c9c9f77ff1d9b45a787051818c11f3a870f15df7503d82a56c2a581e95d90e36e05648a3e755ac6f5008bae33054b05b886f68acffa034f693a9a831bdd0cf324c20c227df59421699160f2057e56c329b37b82d75b08036d3fe8779fcb77eb057d40e3998927a56c734e260109c4c7571d5a6343916f6f03a77697665055160e4ad66bacdd07bdfbf8c24b8fedcdc6824202fdcb8ab8e26403a48c1c9d42ebebabd9b5d2189c5b500ba7817e14cc1ef3060bfeead61425f3ce0219ffff031131040af472d8f33cce26ea1c5ac0c519acc63ea9d81d1d6ca116f6aa16db9d03d2660f5723776a71c4c2888fbe26064ffcc1f1ef31df2a4347ba45b461a1fe8203ad5274273c56af6dcc4d400279fcbc60b49ffdc67023da27de090201b018485a03f7dc61eed1c43cf4d40508c522479a68d4f1f78c6229a8fe37f0594860b132c403ccaa42e3c07ff21201be0667cd16fae66511dece5bc2305940ef426d2e813eb6032f4a089ba7fff46057edbd5f7b6c0e4c67da96d90fb16ffa6b66b880de48753a036abf0dd0b4b8c71103b007c23809804c83c5c07c64a3733dc7a775ece6578e3903ba3962a4b77cf92d0a8113b72f5d1c5ff1c549838209f0f4fc6cb4f35687e227034b12bc746fdfde1c03a50f8933602cabe5a90570d4777d5b3d83f6f1d4bb559503ad699b9047171c4c80eea1a562c955ac6e714b11bf76f6061da302726e0bdc4403bc9961de29c39e50c348c69c914a964a0a0fc6a7f182138842d10a30f54978e203680cab52a7783572af2981d9bb03a394d14cd7f38e6504bf20e0cb313f582a9900581f0358a1c80bd6e05b17d2ecb9c0537a2dd765cbef1773d84cdbad14311b9f804203ed039e99753dc1418d67aa23bee942e6267dc84f1be4de1aa1cc2a9ee072aefca6f100581e02dd3093e7334ab448827d78c7eb5c2eb0b70746360e1b8ac41bb4d840435820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ae5a763e335dfc66465c711108ba9e1e88f2ac2b129f681338fcd07be95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025faf14f1d4f44644c320754154cd9874fce5527bb96bed854216820713480141b49071b3800b00581e02e645b43e1c62f2bbcf7f5c028df833080e54869d2599916baf1fe5bf3c478314cfb947ca0600581e02741f0312be2678167e6391b86bb8c58e2942b047fe9f7a84c5a842bda05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d88d3bfdcf545b7e3f8d7c5caa1e1e6d66a235a9ac61dd26f620cdef9f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02095c9d972834ae1a65d6a245cbd520f154909b0299aba896968880cbfd460c0f9fbd833700581e02a35809f1608749a075a6f501765426344233f014a782332cc1df2daeef46048c273950000219e61c0307673b9f3f166d6403511b98170a45513238786c4086fe02ba30016a61deb08c03d5a05e3245d999598458ca18e72431d3f4c3972826bcfe738ed9009a76c1f9f103c5c383ab08db7617c221af1eca404d6a01181f552e1acc0cebf368fc69b35a7c00581f03ba404626cbabec5c1aef12f4f2f5b542f11f575ed0617dac7907c0d784605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03453cc8a7528f7fbb5fb04c4835a65a2e2c4b942ee047f8413f515076987ba562033752f59ab9544eb076a2a0211061dea7f7cd6b8bf9edc4541e4026b8774a43af034c3ab043dd4d8fde912a89dcd813430f3f7212baa779225a2fd9cfd3a51b9fde037fe6150c1297efdaeacd974dc103c4c4b04daa1448e5e59b87f556930b7119e8039b58a9e3ff6a91fd27b5a8335704050a126b6f5e892d1d2080a35f828cebc7d80219ffff0388377bd4a4b092d121aec339b77f95091b118354d917107d95b5d8e4baa524a30304206fa63c86d8ebe88c4a8111e372c5bd68e099b343c39de910b92129c0e805037fd879dc55919a5d92c499c34a1bc0f881cd8212a81dcd0c9f394066d94410b403089d0c7e88c1e780857ce0c810466a10c9e0c3807edf0ce27d739edda72d43b803d0a67b4eb8a86e0a7689b462555efa4c426631d59aec4c5947c1736b353508b203a54d91a730be64a51f006f2d48838effd7edaaadd73fe7fd26a882b6227f669703e03e48afa9f924f28c9da1e2a2718bd215988c57864d329f733b24d39d9d97e303803aeea523f96d79398a90a5817bc429bf4d04ece882691c84fe042b3143c867032c34d95e2e21abf46c8069b58586eb2a620236f108ac67d6d33d27716f52513503ad8a3e8fc88fc03b15b3defa28a2bd97761955dc5d09fd6baf691f7450d2520603737ac03b2ebd8ef5164e24584ea22ee9972a9ac362f6d414aecf7cbe1db4f92d03ec2185dbe5837d391a8c7c49c7d149c856569a3f9ad7e3ac5fba74c60177a038033dc06f214e075ab1071584e64303e9b49fe84b0d789a19e80052a3a1144d202c030d71df13b41fe44f54b219fd76f6f814a8d4055ac0be9fdc679ae2e7a6cfa0f60337297c187c59589a0fbbf5a118cdbb1b06bcb521e6ebd0f826fb5e8f82e9de1e0219ffff03ee6933de2e48f6089fcbd16a2f803dda2256e50b5f9d8c8e22bf60c53a012cd103cddcf9926a83fec12d8f8b85feaccaf850c942c461648ca7898ec9b5a69dfd8d03c82d98781c67242c80abe7b71c682cbe93fa1f4a3f4dc3ae0f4efc9050d2fa190219ffff035b75e225250328ff7c2048fca0aea5272debf6992246571b6acaabed07c66cd203754f7353194f239f3e209ec6276d958d7a2897b316846bee611db68c9130711303a832160e238b508fe3550ec46da75cd79ff2b133b9d80a4e0e979d490d9dfa3a03e9c8dd4cd4fc25a0e471121f17533a665baa0552c400daf03129756ecd8de3d303ed1de96e04f13edc34c7d988eb3a1ee1f4bee7ed66f0266e4227de69e3c387330355c2112daf0b989bc311989d1fd0c9b20ea947adbf54d143ed720416d868d03a03cccb89105ec3adf9fed679fa75c9655cbf779f2ea5c9520e6b59a9441d848bd003f6d9278ba516bc1d72010182d527ddba308734eac4b9b098b4a959c1a0947d86030d9cb2003a0487447f0094571e81d3e864a151f319785f618a3a2913360e5e4f037bdcc79ce6a2ca19f7a9aeced2adc5193e2da04cab8ef3938b84c9137054ec0103c0ce48866d049cb699572d0a9102c54a38f2517210e68c8de89085d5484a5d630367431ddc433269b84c0fcc7eb0301a03823b02825872403607272634da9c27ac0363fc03f28be555b2e7964c8e33ba3ccd1739915f3a0a79d3853fd44db4d6bae3034b965933821806c58b28efa3374c8917a88f1c0166c3a984fa1769cfcad333c10384fd0adc92a0d371db404de3bda517d02b98d4ff6c033dab65f579aa5aa4b33b0331c7ce1251897a0bf35a96f1e579f3ffb2c36a6514678fb7f1a68d6d9b8f64c30366014eb11edd57dcb9cecf674d224af89921befd17df8f4754b8c291679631a503f27fd565ecd8008d906be043af4b80eba30178244143b2cb7b9db0c1ed3d39c1033c52c4a453ea2e18fe82d44ec0abc058bbecd6cd071053589c5c68b8154cb1f60397531b8e95f5332ba0a5bfa10176275cc0122ed1420cb6233e1751539ff0fb1603e3febeab586935daba74204196d956ef83fb908924906fc89efcad41b87de6c703892434ca2dfc9c32a15db54b209a16042041547059dadab8bea1a141766af63d0304b8e9f3030d6713511d39b44da8dd544985210d68fc97b3e4b9012fc18bde6f03cc24a574e3486ff840f71f03417ee3fc74ea2e699c10b69ce83653a2b45061ef030b2a064d2307e9baae92b778c2256c32ed2ae804503bc50077424407216d00450317eea1a3af1ffe8be7dbea7e09cbcbb4454795b9a27061dc102a3a9220ff4a6903ca80b505aa62463c9182cfa3e9f0c28292112664d8fd3ea753896c79f6626d4203ef540ba75184e69b0cc004d495f23b89ee474939fee3f25b105c5b04f7a2127a036b0bd3c41610c77409e80cc45c7aabb146a5bf17499e196c111be0face196a8703c83fe45ca5c6bbfae8e8f08f2dd2764fbc69afa3add4f1982b3e1b746963a21603cc7b26e623070ec97b3e645d4a4e32258bff6b0597b13923dba3450501a1e1ba03a72571c1a7548f7e4d279cb5673acc2ce560f0e49b4474e6fc250813a33df499034a589c1ff7c954c05f7551736df580c4e5c1813679fef8b09e13bc2028e6826b037c522072578d99241a8cc402e952bd4bf4e70dcf7f7a30d8eace2f084eac40e40370b6a8b6bd75d2132947f3e05baeabe14238a4ed553307e98f48e69b8e81a82200581e023c8e0285cf1900e405e4bd465e219a261ce68dfc8bb46bae3a7ec61bb25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a8075e9efe61170e277642bc016106cb05fbbf530bb940c05351b2d9e95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a578f4d3a94fc21add363548ddba1bfc4aac521a19955fa1262d342617471258bb85a3217e021920030340c3eaa78234b5a8d7b6984550b7aef4dcddf380f80fd41bdd8f57c7a34bccb903f066e73a5ab76f356582aeb52015e96dda876e378db9b82a07ee3c11c92585220342599fdb9b56cfcf70c3a0af8e644d8b32935d475f77150d74900ccb8110ba760360f0c7dcecba0b396c909d15e20a0ed2cdf0348bb1a6a37e3d70f33dd5dc8e1b0361d9e735c3026a7766ebf912d3aebee68b957be15a2ca91ef96781cd527d0a320219ffbf033000f03706b526b0c3f59b3f4651b8558b2c0a0f6ebb4acb7833640d39db31b103eb1052d3772a947b78a3cf61697567de9b27c029a358731b15b9c56bc8a00c3f03bf8031e72eb1b46eff8b73b12f0abe8938da2fb0eade70b6899041402da76de803587ff6091503dbb30c7a9fdb87075a7ef9686703ca74b89bb0adcdc8c857bd900219ffff030938fccc9cc4308cbe9ae77108b09e3643ec61e161a4ff22ac2810ec1cd2c69203994e35644fce99f59e5990779afc0dfd9d16bed57f193af78b8c9c1f4878d3ca0311a30c9cc537b679792ef3a4bf097aaf01f03ff214b4abd01e026418d0d458a803d464d8b20b2fd46154f913c3e5779384ba0a52b84b3196281d675b1034af41b403901d7692bd4f0c8ff0617a5c4fb2c0d8475e6721600f7c9050f881e21ff54d3503e940feedf90226dbdf96246e8ab3dbc55ad54a29514ab5b84deede482acd0a740219ffff0397964f824c4c3871c20e6d2fa059739bfa9cedf253ca80333ba178ef7d71401a03ac67b7c518c08294e76ffb392129e3e4e5ad16ee1c0dc9032e5e635d936bd2f703504a09c52b665b8abe8748d36d70cea70b531648ad8fad4ef70afb4eda68ad2903b35c369e786ccfe4984393d991d21494a8b7bc88bf3fbe9f88ccdbf1e3bb245003970916ffd05ba780df081e9803218493d689f39fe630e69567bd1e7d093d1ee80356b027cd3a89f468fbba0e49f9a93bb1d00b7913d58564e5d5309086c2f3b2c60328ca3731120c776ee439cb424adf9c676d503daf1791ccac7ad2efd116f7bdc4037bcad54cfda7e585c1f514b5e78c5fab92ad1822643e7f5366e9e07af6d6a2160219ffff0399c93f77564f54e103dd68707670a8808215b450645c433b0c0f39831805093e03f2edce3c71fc1813b4c98f17d5f57bbb4ffa856a67bf09bee9a92be2c7809af5030fd1b09fe323de4d985a90c70fb39a863730e861ac003ab0292537411b595ccf03408a3d700871775547dac6611f026037f071ae1e73c0312552e222c44e76572003b6a3c7c7ed60886661d217d60091675d6fc1f980368814b6c22452147183a06e03f7947aea66f8a25036c49f2ed0f6fcacc44e896c503e2d35993ccb4ac610127f036473ff04e951fd02150ac052da6913849188f0e3c2c43237117546de3256be8c03b3f454a5bec21b7c9c0df935841d32fad046328f5a933e36248f625766847d5603e823220eb663ee896a899008a47e156f5636675c95f90a6eaef234d4aebd13a203d75d426a03e17ebbb9b1a6dc76b34667ea948426e79605611795020e3186f76703c47e50d79137494fc1b4044931f2517f3a8ae350640a042a184e4d467eff033303d0c9c360c1f1d544e682e8d47cb1dde3a381f1ac1653f25d7d2753942d493b9a03d67ee54f1d1adae6a1d6aa9160987814604d1385bcdb6965b4a4ec56dd4e8c49036fe7bea251c378ee57370ee1eb13675fbe49019bc06e8ec0d537b84bede5d117036bc284aed7cefabdbe416cf3173b2266ee4e31532164a0f8a8094cd1c6a5d9a903c42bf265ab3041c60cfd7621dc422061e24659e72084ca20c851a758293322fd0369033b8e194a7501d5b5f323519f904908a913514a1fc8819c1278e08567e2eb032acdcdbf4c76eeb7cf6deae0fe57b4c370e610d109b5680c1be0da029fad67f6035894401ccce338cb40c9a50595ba02c4d26fe4f8193f8dcdf5534b8e0e84dc3503acea51e65dc8989d2d414379fa9d3d99e39521efa81bbeb316d4f0feff8c7647032e812fa18c13b23e3cf70a22466b0834ac3085dc3e8e125f68e9222407c7e72a032a8612d33ce7ee3887e0ef5022197ce62b28e7d9c80f9024db34060513c2d01703609593a208a5bb79792fbed11b79a96cf903d10d22ce8b01c6f0f5ec6741944103619140afa4a1fcd5ef2e2eaf21e2c283a11c672ddf32fd2ab18e7879fbe1819a0350df56c5b58828a456e6077812fef54716c1995373a3419a73c556963c59fdd9037567e375abb4c1c228f0af1bf706a16e6c551425f123c38a67cba6d54d324837030e1cb326c9796c966b8e7cc11f900b4ef52c0c86764fee2ade02d805548d46c903301f078ffee95cdb2dbeb66f0b2c3f604db8dfcf7d3bae3c16e967f67a303dcc0363c37f9b718469e0b446f09ae31863efad206992f0c28e4fa631d4f5a1be87ad038c6956dd814ba5f5dfc8e518fb6f21148acca743313821aa2c12325ca6b7548a03b1ccbdb2dfd44284175f4b83b13cbb870c383f79c5e39f074301452815b148210355b24452dfe796e62482ccb1b5dd39e668b81304fc35b97fd413f82d815a5f45032acbdf68c840e9341908db01f69783b296d2fa0ce2909d63b1664902b55d1d3503d58cf5196343dabad334eb87ed72feeb846c8b64b7857a1993ac938cbcc6a71b03a259b48cd28ca9e71cd653d97e615ff121ae8469b3c70f508adfc97e58271676035c89f9a03b6cf2387431343542f94d0f6b63c39a699823b33e090228845878030392ccc99bc2deee36efa1cd4c8b496a294f9f8b8f608d49e1255d6704ca2c776e03c96523630c780c384f4d93fe3716eb0afc0a758e740d43da2311423071e3407d031d13a395a0e3befc6b963404d7d6b040f731c83dc979ca08690178eb2320619d0384e44b09bfd5bbd11f11a047ba51aa1de9cc73b18bf33315093c43115a07d5a4033ededa436d1b1ab96c03189cbee9a652a21755844f0b9e1d1ba6e12308d009f0039c8fe8c02dc7a09c9f7e070d1c353c298da06da5edf2cfd432f762922f4f804500581e02e16f6076f31ce08c2eb05a2552ec05a15f61871ea9adfcec41f0d9ab095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e385c7b19d816f82845b5a58447ed282a38ed6fd8b8f0c958ce3a1ca4e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02137c30aa3d0bf5a6a04fcc29c2917e518bc1cee9a97d2539ec942f0c084ad3c21bcecceda100000000581e03476e531a0ed861c93ffe6f3d6a539f36619bc7cc650429d984990369a04901af7b7fdf3c35204e00581e03ddf57507228ff53d5ca3e5f8df7b3ddddd09658e40eb0f1a1f180fde204b52b7d2dcc80cd2e40000000219080400581e0270241a3b5c7f74e5849809e5312a2c0cc59ab63877532dca26d47dc83a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219194603e21c4eda2f4135e50f4a66c97a8f8d17374b3edb418a40d44168e2fd5632360803ec4407940849b4bd04a1d8fae386ba2993030052f3bfdccb1ac1adcbed5fcefb0219efff03511c59d2a9aff0aa998b797b1e9e2cff97502e4ae7737a2b314712b09ba6bc5f03c53656275a404c115beaaf3c919182526269f0d9f88b91053bd97599fe2ec7280376abf61372714e58747f086765e074bc274d2e6da1469b0f8fd7a730102957f00219ffff03b78d7f92515f08b518e3d88dd164f2cf324923db7f70120a4074863f63a59a0b0219ffff03d0d94ba4e3dda067ae7a1cac43143e7ecbfa3d9d3a3d7f4131fc0cd072f56baf0302d29ba4c37fbf85dcf8b8204af059435c50b8ef40da7aa158dc516cdb3aa9a1032d37c7606a3e9fd35963b7cccc8c90cc60055a465df2108a4584966cdfe36b8e03c3c151a2f970cddc85df5c157cc41ccadb3bea24cf94d27701608435e6ce837b03a7c203d4e7f83ea738767ca94266b39ce1452fba575a9578b3e8780fabd53a8303f495f820299e381c01a5dab41b968c5dfdc68ce7230e15ad8f05f69ca0300dac0305c9762aa9e850e09fd8284a3a5e0a3f09295310fe78fdab021220802a1236d60301e404c153782ac0dd860bf80774d07f1f74f68fecbf912aeb3a645f67d7068503006b9740ea5a00de24e8832ef23f81b034b3a9788f5dccf96bd0067e1c6803be00581f03e9a13befb3e0cbcb910fd73b3291c294e3d78f41517be00f34badcdce270474738a3e9cff000033de8e59da30d865af88233e1ceb555ff1ea5f20329f94e890160e3403f52a34d01420040039266483e55e936a3554fce465ae2a95447d2ace55f1fba4cec4b40b81374f7190374ffd4a64be9f69fe927321f6d091d64326a695f6e48d4fa348e2e78211a2c4303263293e87f9bea50a82fea7a6edab4b1e3dc6a65f31da5e996c7de128a65106003d7ae63705279cd1c670f1ccbcc9d1b688634bb96a61f483676211d5c10595bcb03789f6a8a6792efa96f8f38d673144662c7711290e7a79620c93643aa5fd2346103e93b2037ff82aa4ba90a862c2d4235c1b348abd24a0edbca0a1e5b88ebf4c3cc03dc2669a1330da304b3d7993a9167655316af9d54d7e49d2d8bb4a651cc9e3b0203613d96decfd03283c21c20e55c1dfab9c7652281cfebe6d56c3db1590af18eeb0325c03671602875b9180b2e6bf51f6030477d7326dc0f17603c47dd6461731b8400581e022ab2f4d54a3cb049f6eab02cb7a5e9a40c81ead94f025d7a6f692de75247038d7ea4c6800000581e02b2d69d5ed5721c2b7ba7bcf188aadc94fd038c92d31779053eb3713ad9490203698da5e18e86c800581e02f4ea01b31886c531febaebf92dc7ac1fb1cc686ddd4969fedb5cb7715e478e1bc9bf04000000581e02f18409876291b9101030f78348bbfe7b314e5c06cbefa1d969d442358f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025bd2206e92f58ee6ae48d3568994b8e0f247d295d8d83c171fcb5a56d95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02195016033c14ff489a8d65df781fe3eaf0a69d4152252679746aabef799a9b63ad7d02f503139a8146da23ae6b29f6195aafd64825bf5ca23141918b58f6a957b76311dcd80219ffff0351a1b34a11cb32aaeeb4dde2c7c040e810a765b195c59ab2350d79dc5c9a4dd9036b88bf2442090a08bbcb9d2c131c702e72db06cb9be46dbe212dca9186297fef034ab0976aed3528b73b77fee854225c085c174c1912d6abe8ee19a4369c51e64f03de1696ff21bb73a95a5e6a7f8a6b682bcad1366a005a2ece5c2d41593b06acbd030bc8116a6134f275c8043973ab64b50cf456eb4b96db4c22a2fec4d76116dba003a3b66f65e967049237582cf60cf7f5152f4756a78fb7bbe2b30b914e7e439d0a0397fd527a9376983111e5a4a2dfaedc6f49bf19846ea7cf1663ff9231f1cbd56603447c775ca4da249613e311c698b844733152652bc69d27245ca1ed8a0373ed6003d48d1bb03fef9c5d147f033fa94de1718351e2cff5a6407e27c72d0a1967b36e03e9f0c161c622265bdfe39a96381335ed50ecd9b622df330573f4f960cc9d06de0354724fcb40a01b4aa0a0ebe20c706907d6e9acb4d87f398d8be5300b781de8ff03c59ed8bcfea3cbca4b389933033bb9d19eaa8276dd32c8997a033b2c232d0242032e9ccfe63db32222f72875eaf386e2790a41d8886c5ff88357f085b7aabdfa940219ffff037068c3c92d3cd09d47cad3d5c73cb9ee053c87ab8c3b73bd9188239b317c88e2034db73257f45a4822ac1462c29bb0a8aec2c5f02341976298a0dcaae6841d088e031093cdf7249ddfe816d0e2c8effd14888d986e5c7120ff5d8524b6d5c044e526035d9f9ad31ea145b3c5b196e641f6da7161c8ee7f2c58418f2ad09e2fce5aae0203fc59e176f0a35fa664bd6bf5b4e9cd09f9e5b3a715d9b4c3e6d6d55868256bb4039762f1c9a7650b7daa658f1d54ccb529ef92a67f80065a3be7f1937d302f551203c6b69c77a7f206a9835d3b269e37329cc5a55adc453558ad7587fb6f2f110c7d037c1b9f557bbf3642b3b00314a7f34f7a45f1b26a5af79bce85226104bb12ada503498e10a743c2db9a7b96a7ee49db265524ae95bdbe3d452d6944a0f98a61d3c5030ddce3cd9117cc0845c3f33c6a98f21d0e61ab681ef77b4654f8513ee8c38a680386fafbcbb7f61494f819f6c244168b928e8d5c9e7c73553e25d75e8a1d424d28032bf7c6a93ac1bffbbb876076df3477e53fb20a55e81e76dd5df3f09bcf80d20703e63a8a83e2facb37ece9d5b16242f53940459c0905843d7eb82e6cb6950c477d0219ffff03407dd4844151e9c4d811554c0f9484e4852807e68fd591ae472601d21fb456e7038fbbf77b74d9192bfa8ab7068f381bd4f7565afd92ca7a13958c58539ba3b51d035de5171963b32647b51a85c1edafdc8fab98564c98d2614642e6de472af7050c03575bc79c01754342c2ee3fafcb4e5479f12dded4663d85c5362ff8f69d12dfe60300c0e1a43e4caf8275d844219f86878a01be871cc179c47a3125549e19d605f60397bc88435804167051ade659b790f2af12555aac3c2c909e531b82f6c966d33d033d80270978a19c522e4f10b6e864755f50332db4c20c0f8c0a1bfa69e844097303eaa676f909b636031de524c39292e952d775ae163be392cc2243501b33acc90c03bd0234f35b9236944f38d737632c2fd1ac4b9ec3baf394372f687769b92342e8030b7bab8196042b19835f110882d642feb574ea75bc8d4fc95fddda7465cdb53e03dafacf8dc8b28260bef4159409d4d3f470050d29a1852de8ec92eddda1005d5803be2dff747bb73c8ab61a0270b1ef2dd8508744979da4249eafaf03717a938d9603a42308e91122163cd21f78e28c4a7eb69f4cfbfec2f1eaefe1ec34c19acbdd9d035ec83799545eeaec200c52aa5171ca1c8011ab1ea4387cb34de1270c3e5f5ddc037d4a623f0d79a14f4be98a84c06ea4d6dcd7d41cb6f0ef5f9ad2e8ef18188871031ddf13f6611cbbf6a66259261726d150e633b4c7bfdb438ba8e922121536c104034585ee0f6afeb2f5ae071d6eae2d6741c910001b606cb684074424661745cb0f03c818566bbe2e92e95cfe33b3e1ad66a5f839aee0514e13c2c9b36976886b6846030185a563ed9fa3ae4ddd442d604c3e55c5aefff735ed1f438db063951c54c8aa03d8bfbb834a7c67dd579a5c8e7603c3661b4e70c6c64f01ae9474233d90f73b1c0367a1f544f1344665ba62f2e9a09bc8e612fcfdd18d91ac08bdf1da04c3f7e6f2038303e9c7409922fbd997ccf63372f58c91ed8fb97730b038f0cd0a303b7add0b03177022b967121db632427a34d4c35462a69ec4b2ec7b4aea75cd6379da66cb3e03e7381b23f636f00224474ed43a1b25b55d8250cccc0448ff8e28b961e34c896903589bee441f12f4b6d192b02f0d97ef1fc7450572669c6670c4239ccace766f3103a8650df391543ca386c0ab5b9c955ce6d69041ffe7e478fa2940123ffff2031c0338844d175f85f17b7c27831ac19ff9efb7932ccb1421ae811dcb057ea41fba9703dbbf11a0f8c549d3f9644123e1369a34c0257b0816188132b743fb48d9e4846e031fa393ab40700662710976e44b73c64a354f16953b37e06936131ad694a0c30703149a01695afee6ffa9f86f6e14442d659f609b2ab5962506ea6ddb1081e28fe5039815b3792a61725f50c46ff11c84ef09973cfad17d278baf8208dc96ea5aa721035c15394a69caeb7a2733b9db03ba9b63e6dc1ad2ea0f642944729fe58b00cf3f0360e818a80ef3a1b292d6cbdcce08462cb29cb61c59eeeacd6f219abfdf68106a0388de8df5f0229e0733750251894bd1b9d56bdf00103a94146b4f9a00347d0d1a00581e02193ca7a5170a1b2ad66a99dd2e3478b53f11d47d1ec024f3178ade2ea55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022f6b33ceea2654f616017b81d5bb415805d5172b87cc86316e40047cce494c78e6d3895f86c25703389a6bd7a343f89493f6e3305b39add6c169e264a1fae4d4518dbebc07a61704021981010219ffff0307ac33a556861e8ab25a26cd7791d4352252e2c64dcdada1b7b531cbdcbbaaa803b85b95b47434c30aee8de2eaf949ec9a42521be008200828adcf9ca19b8f8c830363a25f57ec871415c84b3c5095d59d1113d06c63b3b75793a7fe346aa1bd6cc00379af4b13703494456cfebdb14a99de662b5184e9f7de7657cec923e0927e5d4103ade9886661d393e10c412f32c1c0c7e1cd65c8bf8cd2ca856ed6dcba3214e61703f977a4b15239dcdac55a69bb60daca20470e35c8ea1b3bc390f46de31ecf209b03059f574a9dba538fe99bd16e82afcf2e0d3b9c40343646f899a37dc4d07544730219ffff03e5a1236b1d0005cb2b977d6f93e56c867c9bea9f9fc24f0f29643c3b8952fc0303345f6c12ba47936119d04c8ab8405981ebd1ff174d483d361d256beaf2473ef1039684112cadd30cb11c454600c8ad7bc49b52bce041d8df703ab50646d81da4aa0390a22caf2ba190d899d29ca297ecfa00a82e3ba0e3004b18d0708d5e956438e9031eed2137c7da3f46b6aecd928f0ecdab117961603623bf8cbc38471d025f252003c75cc95689d4b07783fe0f6f4b24f3fe810751b967b0cb2a1d01b83e2cb056e20219ffff03faca1a0cb5749161f3e77a6cff670d8866778f16fa5c537bcf610e91f83d580d031869d50b9949d611fd12451a81ea50fe5a430223035e856165095413acfcb53b03a51691fb7176dfcb80b3faad3fcddf72119f3e26ba23ee77c25fdb1bf97647ff037925be062eab2777a23541b628a4a32aa9b651a160a6cfe1e408766f8537f1dd031b462fb63569c100027fd611698370c10a3d750c83bfadcbae3197d47a7367e903d9bf0e549e2b0fbfa4ff2e279daf6e66c7fbd24d7f59bfe578bbe857ff67fcc503fef3be716ecad117148de9a4c315e1a1a134a6eae071eb253448630e4d93078203cb95ac24594fc6eaca27a775ddfdc2fae79c5fd52038f28191e54ba104459057030c87936574c430bf6857df01034d31836ad1d0f6ba72f1f2ff16c828c147fb37034a50c0d76e1793ca0b421b339c290fa81c065677c78dd162958ded60fb3c10d3037da0adba81b9aff0c8a9ef951ea8e74ce7e1efd088942e2182b3001c332c56a203459fa557e6f9ef678c4fe2565e3f13562925374dea644aea35f52ba2f06154e30339843b3278bd53257c16f88597e0fd33308bb9fecd4c354a2198c99a32a3f90603c7a0e8424e407625cd3294bf1ceaea57d5c9afa862ada42f161d2418dd1b7e4203f079385987ca30e1c774092d62e1ecf6674c780f487a622beab2c7ea124c3f1303792de4be1d433458db9c131d549a681d0389d71db32c76eb58964c32b7d49c57035e2c4eed1401197bfc0706b599c170debcac51ebf53a1d32f1cee056c7849ce60360b8da9a7e10f4a1b632414be1a4f7217ff1302fb1fb6f0233525870d32e64bf00581e02c426b0f831dbe8ae7670b8145f322ee0306031b9d4ea57001dc1c47a495820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0235d0fff1732c482d89682a5ee92fb57c30623c44c09608b2e6bc1b121e490256c9f2af5b74c5f700581e02a8f1ac3b8a9978f54ad47bacfb869807aa6cea76e3fc74cd28d59b4812460eb46fcbc219034410c90329c6b88e80cce7c14fb73ee1cea53d1c1696c270d1c877803f81071e0219308403f281e9d27aed5d3f1c79f57fcc6961cb25c381c5da8d33297864711852f02cc503393b6f95738185d40088867afbb8ae6a6363dbdcb505a86e093352890179cb1403222b0fb9e73afd24304e7f314225e6a28448e2dc767d086686f832581063359100581f03ac3224d1dc5e025f51333dcf99c3904ecfbd50841bd5cff5c1d6ef1b86c0420dae03be88d0dd75228badde4916d14d6e2dd1bdcf177abbe48c0f725ed029283cf4f30379ffe2f312359bde50653ca86fcb77b00837e0c3bd453d15457af0aca599706b0219ffff0398f6a0e75236ea1d06cff38b3409a56c5e3d8a1d3b9d65e25e3dfa63a69dad3c0352869ac89af1a4963b027caecba521be25f237fb8348cac6735cb1f221a4133203424f587b8fb71c41f3e2e00db58fc680a924309112b35d0f6ca96a37293bda1b0366f44a82379da975a7dc89ed7d15c796bea96f59eddf4b81cbbaf03b14f45983036b1201a8d9b3b1a7cd311a30028f5b7d1c2fa6e632286668cfca599cffdfa83603468430cfee84c406f1b70fc7ef1455245e81e53cbe1fd41ec13d8da36c34c7be03ad422424bfd571e289abce4e4b287d3e7d628ca5cee60ec68dc80c8a00f71f07035e79c04b6d9c0533131759b5ed8d753d0ef6dfe8c0a4c5667e76f061d5e69570039445e4acfd6d8e4455c1339a171b5e5647593044848e9614e5b8bef6c7ad3a1003c59ed5a9e3d1070176dec6af6ca0f49c30d85172cf45b854a34f30ba02abb21303f6d07a2ee7f051a76f6fe2186edcc1f5080a368a96dbcb0086c57d33dcfaa7ed038bb4056b092386704593dc2b726c7c3a96c85ab8bab97d7033898045277d2c5203a79707f4da4ac1d164929a27352f6c79266924899745a29db44eff4bb2678d030366c55d5c7d0c706137fe1ba04e3b7a16b51baca08d0e861ba48d361d92d2446c031f1999b3c9bdb88cc6fa49d05d7ea84cf8bf25ede643e7d6fe9e9520aa8a00050219ffff0380e42776b451f01ebaf9eed1d8898393907b239e74b1915d08320a079aef8073033737d05df586e06b428c514f010dd1ecdfd17b689dff75e79dc79472c46ca5d603954eae7f9066b4b53dd5c621cfeb5be200e593dd10af31640220698ba063531403871688ab5ad35258632bed20b95dd80dfa46c1f29e5ba8ef035143f1c7c1799803e955cb53838d90678a37efcd197d1c66c627a8127daf294b9140fcecbef3fd7e036f656f881a2e07064707a7dd34ce4291ab0a79de054b9eeacbe6a004b11ba6e8035270292277d30bf463cf66cc671224c3ae645445bd06abfc7818635d5cd728d00364ea35b776d8db31abae8aaa5bc0b1bba2f20c16063a0a2ebbec80d3fbf00d64035f3d9b19d6681b2f0f2a6176807606ffa771a76e91704072dc50ccfbafbaf77c0219ffff03b549da57dbbadbe6f616cb5907448830220a91dd08719a674418e00ad4157d200219ffff0304f4ec56e3f3decd6c2804529a00d23fb2308190955255d2c1444849e5a9efcc03c885a793f2c5521a1060da0041362009d510238d3be136bc195fcafb8b0fdf60037447447614abbc6ed9cffa4358038b98913c1358a2a90e49716072d2ffa1935e033fe38b80fd86795eb6dd72ab96a6924f5096f043d9ddd907d6f736e7229de25303805c2859c787aad29cdfaca9be07116ef3902a4c649930440fcd9ac95a9c27da033a44a342c608477565df9192d39b62b8586d918bbfa931630889e6db720440450380f6ce19ee7e249dee76f15d62d6cebae9038addbe250989c2e79130b42325ac03cc2c6945126274ae40886bafc02314fa5a307affb8859423046b61d19a870a9b03f6999c5ed3a0df57713a9a4678889115743904da030e34636b9f23593f14ddf8033d602796ad211b57ee7149918e96454356a3bfba2ecf54cd8e7bd351e632b5850383b448884f07e9519ced4fd7df25298640e01c72d75481e3a821cc56697d0db203287bc9fe8f242dd5673671cf64674f560c0fa5de53c7910267d2706e41adfa2c03a3ad4008dcb7cef104e330b41228c07393d089c3bec8f1c21b4ddc4d82500a25031c658f8a1db2e0c7ce46788f3ae8d06fc93a92c638d31714991d70c3e7bb58870304eaade1dbe931e239d45c3912024f8fcc3c9207dd78d4500946dec3d811ca3300581e0212022e905f8aad02818a68e3bed5bd1f25b58b3aeb2bf423f9dc58f6fc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028a6ae710e149bbc4ef724f17c3199e52595cf392f6a1ff477629b49291480b73991da152c87700581e0270bb05a993a5f57c74b30b5ec97858fdc0ac4bd912b7f8fd24fd8c9d3a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026089fa229b1e672344490a7c73f1742a86666c3a40ed4ea5ef405484fe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021916050357dd305edac30f668a26bac5e31e3ae9fdedf1746f0168a321d399522c5653cf00581f0305f6a064256e2eb97992e236a98768653182c6666a538a46e22ee666f5b0470391539f9b6bf0034a40363e80ba9517d566fed205401549c552d6d7b85b33fa2684040fbdb8d5f800581f034827750ad0a663dd05572e94730da445e6e4df6a3ab0882bb344c5139f204b4a817c7c96084b55351c0003700fa79dece1ee73a4c1cbee441fdb318fbe8fbf19dbbda35f27aef71174eff603ce0a83aba40d34df5763aac1755c7b2633fc7705b03825fb43b8cf4a0f5dc9e903d9f4a2811bbd1fefee905dbaa153e307ef45b3edcae3011c6838c996eb5867de03c8c9132f118a978af530e337553a4e6b531322bcaf19248a0969e2a59d29e9c70219ffff03709a8086317fe33bc47647de317c5c46508932585317ddbe686f8db6df40ae52039423fa653949a789096963b95910bebf8078aa703667778f48064d092662325d038aaf4b2f31af841a9bbe6decb042386c3e1d3f40fc5b70d783fecc7dbf49366903dbbccc835e71db6bb87263088c764186975d9f6abd43962fbd1cae0cc7398c89031ac462e74d8487fb3d39ffd0808d214cb824f1c60b6bdc61cf604d1589a57aca03ba5a7a27abee6a845af848c86059cff589a425ba1b24291fa448c118f39df1c6039620a20e69274c8352af0af11e2e4ea87650ba51d127fa257776ace0587407c50350f2a4e14142c9b08dc8c0bb5e8019ea62bbd54db480854e8398ad21975b62f803b3511f56e185b2cb36a418c818b2cfa6efd7283b32165fffb4ac6772906987dd03420eb4c107547357a95be8ae2744050def28f7721e9e53e59297142dd01f6a7b03d0a7e5b8dce59943e8e8466a3623a980ad851df70e59e4679d88a3e7774602d30327626a46af7f4a6cc569bed956f963d57538733aabe295df693217ff9d8f5abd03fdd07625dc3dbd1c418cab125963a43cac4e8ab915f0dc8b950875d2bb91d6c2035b1bebd2c92372ab593be871716ea343fabde3e9734f251210731e73e59fadfc03344e7e3969346533df1366e181192a75f157425ae629b729d82d1a2068ce988d0219ffff033102ff9376e916e2804c374488d9a48be0cd36fb7f69e4fc16bcb3e280fe6e2903fc37864595aa667dd3c78648f597b5082a3c69aeb6112a39f625982e9b06095203865e68a00b07bf9ca6e6ffa4de75992a6ce5839a7a644a2b3ccc835336331cd603a6ce2cf33dc08215d0c6ce9c9dbb3e0f49d5ba6e8504d0888149d3dc875505240360e8a4c397e6dd14caeefd8cba0c6373eec075f9cd7678394a8740dfe9c868d203e41bf309edce73c41425b340498c17c55d772b910e3d110e445700f1e103a37c035eb1afbd134aa23d33b62e143327d5be3c3a90eb90127e4e0aef2c0df0244fbd03455d9c8f301d307fe3d80d3302e326f9d3f49bfab6d7cd3fcac505807f440db30219ffff0387e26a237c402f33f09082a8a002be3f521f8a03b294c778f6067a220966de2803938d66580f4d6671f29717d0c2d41c0d13076f887b291a443e3ced2868a5c8e00383eb1fe085e6dc9f64591e5bef9a99797634b5bdae9efbf325fec9e09acc87bc0360344c8db0f9462c6dfae9679ce1c2f513cbfb31e13f5cba1616614eabfb96d50370eae5558e29055a89dc78c12aa6b51528f8b20111f72a9600c418896690a45a03dc01dc9669641edebb069ee2c3d5612b6d5b38688ef2036d7ed0f86b4c51047c0344a7418cd0067985f27e9795b3da6a5e30b8930c58e3da23be33e92c7b6d7d8003e424c6148f19c3f455a38df294b98d4c6bebacfe176e7a9ca2d226a84c6b364b0334df738ff2ce76ab297e5816de3c63d0bac69b01cac23ef91cd54add8a450e9b03ee99b1f228336bf1f3d86db56388e9ba970d161f0708e77f7e37ec003a66869803a6bd57acfd0ea13f8b018955e2d4700f641b78fc9b86b838cba3a56c49ba68c8034fd242d4fb11ca429a47d45b3395c6557421c1baae623fdfa19ad94807f5bb41033d98b98902b65089bd82e7598eeafc4edb074873606366faa0a87ded1b264fe70335693c0a7897302a82d28680cf607e28577c949801470d13a462f401ece6cde203f73d6dab27d55b2a73e147513f2197cf9f7b4be3764e6ec7f64ec547beb7c0c503cea45209ca4a1e4dbaea40e6b4af7bc1134e1f9584ac30f73d6e7a88ab17d891039b0bd1fb1264188aa5c142dfccb164ce52a2ff487e88d73045f925226d7eec18034fcf5749cce0a6cf5cabb1a9b6712f595f03f22a7b7e25ac7d85be62ce3247ab030916589143d7e3283b9f5d737cacfbb0cb13892b2f72cdb41110b3029ccf028903023c65ea82226131d3e86b574edb35f29aca5b458c3636449adc83213b2154260338cbd980cfeea416a7a96dca211eb2e0b585d31b4cd0fc8ab6b3ac192d84d7d000581f03ac6f6ab33f4b40fc1cdd7a0ff37a1202c975b8630cb3e9564ae60bff62805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0300a22a98e8ad515d87915b6dd41ad6c3d34daf51ea8722d92f60da6227b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b57978b7e72bac953df013b09d5367cc28f0d681728b78aa6452d2a625f79ace035307eef97c2e4cdda5621637f91dfb1ea6a049dd9a87fac72bd3aa18c0901ce503473fb81c577694557cb9f5dc7c13b88b73dc29c65dc81901a7347f84f0aa8c6300581e02dc40bed541e3738d8f6902efc012ffc60a9b36827e7ef27291249720db4711c37937e0800000581e022c5ae32f1cc6ed1ebaab2d645f6de3c557c017c46d54aedea54c97b3085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027c4300ec88d7ff2c4c4008b319be7221d7654cb9725e049fc2e3b94f875820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0201cce32caf5cdb103dd6c48383c3f377c548fb2a60c34330a282d0509a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036f8cb08264af17edd30ad90010e7b49d50fc253d244d4b1ca3f5ccf7892064fa00581e023c93e1adf5ea78c863c1b18288b9c4982659ed64a1619ef92032a345f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038d8892a7d99e4d640676744f9e0eff9e9251021600feaf6b943cdbf12c25a3e402196c640219ffff036b6df31513421bb91b12feb1a3a90514d384873d1b3c75ebd9df32160c8c803603092f937017a46d47688155b21093a51717d34beb6131f27b86243fce27af4eb303918c161fb129caf93e7bea259acc26a4fc9b2ce793241342c3894dfdcc06600603364cd7b7264a7e09c6757fd6dc5c99cde5dfe81c1833ee912cf66ff0db120cce0364483f11eb7aa5192f9510d2c6cce50b04e658ad7d5b03c9b5c8ca658519542103cc1d1aaa1eafc2e7d308106289077cdb3b3f302f44e738b572099ce3e5ac9b020346578b80999d3a7331bc11c25ac560200832902ce054719b3d5ba92374a19fe2037b8d403559a4100b1e86ed64eb755f7cd7c637089d18b27ec06375843c95eeae03872a1413967997845f808e2bfbd41701cce761e08d05c7b626545845f95ca3d1031d2c893a29a93e9c1b684d1f67337aad569e8c7d9ee71dcae5d3de258c1b350403646566dad9ad46eac1c9a3845d9fbae9e03b18d82a8109875020e70bcbb617ee03dafcf72836200da4f2bcc527cac7347d4b269b0148fe5c6949a639b41ef1761e0219ffff037f44f26f9dedefc25753e5b50a1e0d774cedeeccca0b53f29fcbb9c77a6f5957035edd7e45276cdc85a091f9ba3c75ddefc42821f034df2c90384d9426cedd40c80300967976358f693d2a8f6fb6baca766786806c27bbee3aba2ae4d740f83537d30319af3ad33432c8e4e78c04881a423bf77e826119ce57d1ed52d0fb8023b48392039c8cbdcf80d6c6e947da4bd50cab7b831270317d8afa1162e2318faff39448810320f94db044f2d85c79f0a42aeb6e07ff6f6e83748ac2519adef58e131643f8600381bd5012d894f55d607e8a68baa6af8dfea3c306cfbed4b4eac320702ea99e2703b2fb051ecfba57d6ef4a8306eb1c956e6712a9c0de9ee6177bf8d3f5d942bb310219ffff0394188571777ecc8ad6f85ffb4a22c31ba395dc526aebdd4893d1ec5393e9b4d203bc27f56c0a9bff1afc0f9cf903cad4377228222aac24958b61d6f08503459222035a9d723c7aa977ed3771e04446ffeea9cba75d8e6eb25556234bfb1ac495643603df9ee9cf478aa42ef5a64d6c7875e0e15d75b9e7062029fe167cbe55d82d1d9e036fec3b9b8e8424b1f5b734a10d70b5c57bf279903ae7d6fa809c9945f7384ad003c91b653943cea118bf5092d04be040cfe251e26ab1e0bb9b4c305ba38eb0303d03f697f21e9094aac0569262b5300ddbb371a24a5d89af7832c030af0e4bb0fa1700581f03b483597f2d40f4174ac3e4b15b78cde8c3e94da2a34173e0343c470984105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0373f9e7ce8f604e3cfd98b6450327c48fc4e21e0723fe24cb36f307bfe1d6f7c403e9ce92ccebae7e91013a85b5f9e5d9c214b8b10458e506b444763e41888079d3034abc70ae670a98f36b74e3270a7d835d2062a8c808475c9556f6d587af86519d03ea39af5155a5e6756def4154244450d0b92db15ce575eb8a374e0c64d03d9e6203e0fb998c3862acdc676f1b2894ead0ac1c3806268a0223751c26aa528fbf7eff03fb064efb26704ced45acb9b159b4458e24be3cb6cac1834724379638984eb7ba03798160a5346fef9a5a70373c7f67f81224e0471e9b86ed337d38ede03bc6dd0f03a8a267999fcb620a60c89fc18cb70c8703e0ce206065f37dcc94e99d44d71f810301e7e998d5939a8fe9f5f8644c02f2eee9415425c235e6e728f5de9547f8a59803c9b439581e3b935151e52468e3b9ddacad2b60584a796f749d401d212e02db1f038af149b46eb9805692c18e54d9aa6e87015a03379591e5aae5057a032ee1d0a400581e02988ed9ca2b0ba1f0c0d9f294b947e56f4ee65613fa7c968917f01d51c448019e2e804b251b3a00581e026cc869e4f53917c40b9bc6711be7923f6b86e5538f1a6ac40f8b0e28a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028ea50b7964fc041a4159fa03658732c3b4a06d3b2aeeda165050c706655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027fdcb022663e6d53afdf68bd240003858b005e91f66ee2f55dcf609a9948016a981d7bc243c100581e02cfda133e13b02bd74fbdd9dfde0c7f9494d88c6ab54613416b0ecaa9925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190a700219ffff0364024deb7fcf79524e3867e88534fcfafee8c3a0c6d245febce085e6f018d07403cbb9bebe17bf2bb210e3fe1360f64d3825bd0ae32da67cd2e2f25fde117eb59d03216c9682a8c32e49492733a0583eba8d41e26124fb0f8dfc010a4dc358a41e22034438ac0bf2b402aea951b495fa5f170d714d5b89f912521949bc558cfa2a949203afffc1663d121e0c48748ce5426f713038a30e7a4d0d4f1eba26a30fb9f081b70370cb33a28701c42e0c7cda0e273972e133b5752d990fe71a633b11684de10e9d0308adf07fed7679ffbac36abf215e4afa0b31f36c09d3690abb623855020190de0328d93c69619069cd1dbb322d399fb4c65874e913d78034336e73302d9fc0937003849112955f5b6fb9c1dd086365b9f7a94b27f0cde5e335e1c091b10061c919af03ac155f63bf94bf98e48de5c53f924fa84022b6ccc0b202cc3f275f7071a87c5303e330f9aeefa16060e85404ae956a489510a1cd338fcd2b4433575e75edb6948e039e137da2b612aef0cedfa49fe962befaef217d220b447ce51f833a19cf06665803fad4b91c376489a6f021117953b765df91b966041566b0a2df42aab63ec08616039ba0e331977226f7be857395cacc68ad463833c668be23ab5efd22c8a55c8f830219ffff031a5e93ce39632eec9c8f01c061a9e8409966960becf24c449aefbd6543d5acd8035bdcd1a1799453ec562a557d5667da4e576dcc2f9a180516f9cbc10438bc30fe039f2be8e91907bd3c1634abf80efaa78763bcf95a17c06950f44f002638b6d2b703ea06cbdb484ba825f1ceb0fb7f67a9147956e483253d2b8923bb55f1a0fdf9460364a5c99bac63bac4888b42de5fc00f725a3f29bf0c5268ac88faba5bcbc84ac903123670c4a942b73d39bf05798121b659bf61589441333fadb7efb3a1463d54800314268bf5310a1d07d815b7afdb933d495ff48721966fcef80cc67730a58778ea0374b7e8a433754649a3b5461261f1f670afa937c176e3bb8f6e9c5d103236f82f039bd51d08c6393380a6862a2703d91fd67c48a1fb2305d0ed35f02962a69b6f92035b7e7df6c66175008a188ea0b6023190bb20978dcb949ed69ec9fb193651c4a103e4b7308b6d0f3efe19798d7c8251f121aa105e3a03bd05bf28bd230fea6f43fb033a104975bfee2af660c21f24b601bad549d2b2c03ad86b799f389ce12cd35d000304363fb0d9aa84fd3366bb8b8ffacf45132ce0a1156d7f25b068f5f7ce4b013f03d7d0d184098947b8d559264c2476caec150d32e457a00f5559aea69e73180011034f43e33000540f8d686a8566ce0f228c6f6abb328ef13e08e947053805557cd00394095d81d6df883bd4cf1204cc0ab6a4f58aa18ceb7b9c7beeacccc2aeae3bf60309bfb220185a4821b5c05e387a442bae4c5921dbbe60257fe7263977ae3a29a5032ad4a605db48717e4955cc072d43ad89642dccc105f479224008249978bf705b0343f83aecae6c2777d98c39feb116ded81de198f96feae9d99c075bf25cd191130359927b21c3f369f7c8b930ba31461ca08a47bc9c26b6485cfd5db58741e27b1b03f239767f86c74ce283388c60b98f58ef762b5f814a3498a3a1c48e3882ba719403ccabd11e3898f90323e8e644f73b8c33c103e0ed45759acbda0dd24a4300932b03f73e96c69f24cbf3db3548233ce2f40bbef19859c4f875437ca3361bf3dd50be03429ff44f97c84b3c0307a3dc9b6f00b32932a1566fe51ec1cb4d119405b09a4e03df4211b254c2a8b3f013f83dedc8b65a652cd2f8344a4c89d82c1ef62bf7250203d95eb0d2259f7c6cc04a6601d8e9592875e823f70be6ebbc6fd68864163d67150347fb9bf962a990a27f65be95a74fb4ac688954fef56edaeb165b9f9510a8468200581e02de42a4f07abbb890189aba362bdfc9b5a192972ccf36ea845a37d744b75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0271ce55e3b2ec6723a0111cfeb816fd559bacb3170855e0209fcfea959e4902ce0e2d467985e3f800581e02bf1666f28184c2d865f772e08ebe44b0d3e53effcef9f2b8bb29853ba15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219302003b182aa0946a5ab1c205fed3274ed4785ea6aaa26b36accc3cf98cb184572088a03c94ff48a619c18155917442139c2a55685544ea21a9c23233cebf10f7bb33fd903931dd5caead21e8c7d47b18131d569a65045b4725e8fca586066d8b7984e4ab503aed6c771ebb8a1a976cba2ee3621ff07697a8347306a500615f49c19c27c861a0219ffff03382a1447155f6bd72f6514285a50abeb100aa7e307ced5b34112e67515fa122103b7c002a099a774728a8cf0d2df3b7dd9716a8b9217e49ae460297d4807f8bc4e03cdc3773f58c4077a01b39240801a73a29e397159a8155011a59330592f8c590f033f2bb0aedb333601c0cd51235df5735de6f58629dd5b0037bd405799088f6cc1039d0f9e83356c4cdc3687aeef39dfdf3e5bb2262420f9b556d96187568fd413bf039d2f738cd8e8696fa37cd472fa437ea966e49b0a6618cb466a73a9e8bac758640348ac36241af870eef01e5245ef660c29a72c3134f90165feaa30bcd449f291f70219ffff032f5bbfc871bdcbaa69baab2e2a2b4e9fc394a35b86075d4ea296116adb0993ec03213993cd4498b3e4154a06b62a9f2ea9613a949b185e884fc83ad9bd4a8fe0030354445f81c9ce9586ec18e28021cee14f50f9fb9e3dea260b8ffe6d9713593b0903efef6ff4106bb11d571f3c9eb3213417ff4aa2ff34406415145a3901c08af7f903e79ad41d91756cabc5d2b1b156500b34432a794369f926e7534bd3a4946b949d039a5bf7b4a1f18bff4c79c547680318104b3971990667491fa1c4325e57b109770219ffff03e66cea33356394c9e7618cd39306e13f467c7e1eb04bb025213a4f56a029ea8603258f11c75f094b8f0750aa81460bc64ee1d8ed5ec624f4abe2728776e0e77b7303972015385be14ff400bcfa4bf1a97c999bc375e317571939d04d1be6f550c90403fb55d9854ad4b52366822d259f35edf5f143bf9219968f52854dd6095117036f035db814facb5338008f3049359c9757ceadf4e14449a4860265557d619e0c195c03a708093691ed0c674e9c74c6f58f5fca4974683d475b59112fd2e6bafb76d7c203aff422f00e618fd43f5c1c7fb2af0301ff1fe8adb32382aaf1e4db5f0b74c53a030a5748d61da1dc991cb6dc4490caf9e2e45f96c071a0976e255cf15cd538176c03459cae06365a42efac27b19c156bb7181a038c7aeaa72751dfe456292676c4be0353d8d5ee22e07846897b6d924e4bc93a45d5f1337043ff0b7dc80170635f888d03f4953c3532e1cf9afa91ecf6a84df32ca0cf2c54631ba8e8fc0df7edd2d0fe3b035e8c76605ef032f1046b554d30800b320877c3d296b36cf3589079020f8245a803a06bed4340bdc39cb03274fbb999f46c0853e08d7005b1bbdc5e4ed181c38435036a45952ce8920c04cad65f6a23ec0778490d440137262f75a1f1f364a5c7d2d7036828a55dbf00c3dccb16c749164c49d87053327b7454d6bfb3ad0714008d641003f9d2abb8cb5f9d2529cf3c3a1b6ef8a554320844a09ea0c68ab3df63f99e3788031f2171e6d2b3538959d606d081047844364fb0732a0bcd175078a6fba2089407036469fba5faf9c12d7abde54718f91afe4b334142992b0ecc3208a7ec5f6621ef03db61e47de09d8002bfa8c02e20311c7e08bed221ccce6203ad124bb54e4bef82033280498fef04ec4578df601c1cd7805c4cc6c24fb9db3fd1c96aa4d088a5e1f50316806e5ae01c137ca8900872724557068bdd03e287847fb5ad3bfd66fe256a2103276950f527e68e39964cc8360808d3776378959a44ce523d20e30e298055f75703b1cc45e7415c243500c8570ab56e97a748e97ecc6abbe5979af75abafd76cc0803a3b69131345b69a8bdee239472652efac8580bbcfa452cb27f728c87656e87660388f303990c46526c4336ebec3cb8d6730fde758d98b3a91e2cd1051f98a086f603680ac469f6f247e44a3d67944720742d6357aacea8e02389869782a61cbf71240329a2fb6c793ea46dd68cc43313970301e7e19a2c8984a6424681ffe1296dfcd000581e02d4b97323b901135bac499ce9b939cab4328ba2b760882f0bbe365707fc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a66dad2dbe324c1b04ea6a958574483cfa27551c47147bca554f61ade75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fc670ba808d16560cc2c9c58d6579a7af141530c44214ec55b454dc2865820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0262b16dadc6d464de1d1b46fe8dbac4a6407baed599b2e68b342ae82f5a490256c9f2af5b74c5f700581e021ea15b64170d0ce50b03dc4290f70ff0f025a9ee4d45962c204a7f862048068acfafd28a46b0021992410378e1f4b0d3c770dab63ac8a31bd9b53e0f9e7382306a543f58587e4a4f6e4818031291dbbcf8f49d0b247497123e3327c15c2fcc887b0345df9951acc8a00f6d3d03107679c68eb05a48f42971060a2a17b0240c78f19785f08a745cbc54fbcfe26a03bf25bd0c479817b8a3d30e79ff50e6e2b9370afd72c0c651ae44c1d21504455c03147d68c79976a7501f83da8a9b97b4c7f58c734906caafbece98712c3ec0581c0303e2d8810f24232a8722830fe41195556e6cd6316aa1af677272378bd56c4c9a0305df21eb52631f2251c7c95c935d21f4aff2da3de6f1df5f983a0e204e77178600581f03a8d62b682f188fa8b3aabec5ae19ea4ad2248759cb192d1356e26f6367c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c2c2e906a1c2e8d8e40a1a47bbd9c8797f31f2ea904d3159edced58e67b515fc03e00fff786315c7d85fbd5080667e2c9d873ca36a6331c2103560414797aba2e903b911812862a4832142c99d50122811ce65b6e9e27eaf4988b3142ba154d76b7a03288d42c81bce6b74c1113778fb708ab67522dd8785aa6bd651138921366c46d3033a18adf8f5c5c3d67a29f6ef853147bfe4c13bb2a5a9884d6cb48018f99c1a3100581f038a2c3c46d675fe4033799129a3126f5fb6482ad16e38b8ad08f1908a61a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d14c49e78a09d5535b08322381e685d04b3535868f9aca3b328d86741fe318c50219ffff032257200611977e417140bceee989a297f976d2afbb75bfcaf8068b21d40b5742039a10327d15f7910b74045de00ae2b54d0af7fccd809129ef7cd26b843e90470703051dfae9c689efd9b1e6d07478de2847ca4dab495cac895397eaf5f33e7f27040219ffff03bec7a0e4f05a601d7ab3539dff1b98beb4205546b0a9595737f0296bde18b3180371284e625f9bc3f72cdd1ad0de030e550464862c2c0efef0e00c5e04f8118e6c0371389d091ff0ed58ec906d612e2c180c2a43f2ecea2834e9a919683eaa39727a03c80e3d4cbb34f991f5bc5a3f8dbee2689fd5b62ff9ecb980d2684552df5f7aaa0219ffff030dd222a6adf57b8807b42e25ecf01a3df3e6b25cca99fcc15707b65a35d0642903f2dcf4b404ae2b78fc22f197766c3250c466a0431cabc37c17ba0224ebc008c1038ecd0034b0fe65f00ce786d27e4a980498c048f2720b4e87c8e47f53955fd74b0371aa7d71cf6d7e46b1dd3b4fb2fee97ec21a55538ae40b662f11c989069cbba10321c00aa7bb464e51ec4e81793ed568f608c6c77ce2ad26f9585bbe620a94753603e6d3abcebf3c0b1937d50ac2da3e69d0b7cb23a3166f1ceec37dfaed186a131b0390c529c99a2fc0fcf77863034aa746ebcb14fe159c465d0673076f7ca6df349e035c64665bdf1598dba7cd41584be842529b79a988b43af2b9de4c28aa1c9d0674038513856f7a1992278279698627ca4473cd0ad9ef2c78030b64f3d1d06e431881039029380e29ade6987e54dcb385b40a5078d5192cd9e93ea6f053fdc07e244a7603c8d70054d83aafe87a7172866592e295111dd1e9e009fe892b0aa54e92c290ee039bb428a8645067a73d99465d4976cb0d10229d58c80f9f83421f2faafa1b7238032e7dc5b904676c4a771be0fa9284eb4927d093ea34a24b7e789cd9416ba772bd03197508c0beaa679d4a87cbd21a206cfd9075a05f29eaed70201972dba339478b035ed24e6c0688b0525db8d1e8703ac72b3ec9c25e5b6858f1ff8d56975b480c7a03f160a96a499a5ac8e12c95e15fe2819d75c97bd01b6f290c2ddd5ed64bf7781a037cd930ce9102f5cd717e08bbc79db9091248ee902faeb539a363e061579053da00581e02bebcd7f01ec80c7e9d8812ae1acc2191db9dcff37f80ab4ea51b1d0a625820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02745edca5e50062e1ed48cd16b809f2f8d24c93f03a4a8e53fba416f0e1470c816bdd9c000002190440038936d08b56951f610fdd52034484a6b5e51f590a156586a9b0e5dfaca93013cc03a3576ab3ae4ae9a0dcc133e07d660f122d5adbb7d62f4fb5305ba0f8dd1b0f2f035ef5668b2a0b62a4df6663342ce28afb40a5e41dadb8c514fab6a9bb2f4cdd5f032736ca8269f4f1d1e2b53ba04a4ae0f17e949cb54bba79b2ccce36d9c3348ad603a998bd072cfb7d529c6eef372270253cf88e0b542b0e37baed66523d023aad2903615714ba9b273cdce98a76d2b5e5f9c0d9833c92c7c6536301dd33df0eaed79303ac1c279be140d1b981b83f179ec023fcb2c0c991b60fa126ea208ee40eba9fe0031a783f1a617c4881b3c8c71ebcc89dbf87c6da429d74f5947ce611b9d75edc2603456d37f1c0d4ad870a7ff866ac608112538ca6b8663009322b7ad1e184fa0e8c03cf715f4c40df63fe4500225135dbe768eb9aa2cb1c90279bb1f8c5889c42cd390219ff7e0301e395b685a2a430325370400c753077fc334a724b77b5bd8662cdfca1fef44403bbad28a74abb7c6ae2773750bd17e1b9ffcd38d53c99eef3d6128c68df20db7103a2f38a674a95cf51ecd695b03ba7a980e03c671ef4f2fbe5e5cd9c43105c14740324ccaab7e9775586640f8c889bbb8480d30c4c1afa4ca552958093d7e85a08eb03e0c65815aa6141a04dd791310acf62c67e777129e45a10fe43200a0af905662603fda4ec8f2d5bdaa383fd6748e6bade4a6724129c8a56db783de28c10ce87134903ad5ab289dee648263b94df882b790379ed9584208ff504dc9046fae11c721144035f71e499ed69bf34bf72321e58da537484bd4039e5d7a713b26cb4d5744bd95e0396aa8ab7e10ef64d39edb6b15c7552fc31788db448f0a9b34e61388c22fe6aac0365adf2c930739c08b56c5f696ef91ccfd5c607a3bc165dbf8ece9cd6b3a7ccdd0219ffff03d3a1ec2dec7c2b58b3462945797062caff8f2c13313981c5832f94770456e8020370ae9bf50afb53f115c8e7fc18f3f954fe410c54d16427883048a55435c1a46503eca44ad2ced8f8899021396236c9902b2aa05755f75f3248f5395a1a30267717031856df0a56a143d1b4f3c41d4940c2011394bf0ea9b29bd9b602fd3f950dcd2203f3316d333a6f112e450ef73f082ea92843f71e2fce293fb0264451234601c4d803b1b78bcc4f8c7e76c3162d007876cee553d50e64b077e7e76b466e297c7549840219ffff033c358f4b8be69701201b2c9daecceafdc3ee1fb5f1c7691fc5d3fc9e25fe509d03e0d63d5422ff042ef7e4af9e5ceabad3e2aa33ab3d4957df5fd576488229609503627285da59b6e64c90381a0fc8a883488908354d62219b7f607a2934fed93676034d288a91cf61f06ee5b12e8f8d349e851bb3fb0886845268a6ddbc59cab9897603b587c9096800a3d86ca9af6fc0fa31e4e4aca2c31f1ad29e914c13dbdbe517be03e3904e9b092517738fca3f6425e1c3f382b46afc386f3496920763e71941052603370621417b9476fe1a0d9f66ab30c98e72ab58d0f19ace80bfa7fd33be6b6366038c0034635f1629032fa045c76d686ad42f840549e8feafe8855b6a2b2951861a03a135e5684d881cfa7d14d1fa79a15251635745ff6938876aa392fdf2fe78f5740320fc11ebfb4d685e09afafae7ab0f9fe14c5a290e6c452781a304e65f872b67e03f0d1268cd6e131fc64f8defb1827e02c3994b9eff8b19f752d7f30c650fd6cf203ca3ee960b260f19e9fc91b8808b18e3565c3278c102985c9808c5ef0d3b76424037d889a7fef4f7e6f36ed00c84c87d924c41e756210c668386e08fa49a72279ed0393b5b0cfe8fd467e44bc0c0a9a4126ce3782424d197f4e3c3d96a661f6c84d9503ed3495717b7b7b0685fb4ed4ede8ab0f8912733447d9d352a9d23b55f0fb7c4f03b74d1bf6da239e0da0b67662a6f269c061e3e4b7359cc32c24a5d235ebc37a880342c41f4cd68cf8161b4769beb24585905a4e24eafa72f26f4b51075c099bc2b003f372e4b2ba24759b951ca1813908872417a41bbe1e580afa9f15401c2dc5169d03988162eeb7c20d15a4c8757ab1a942c89f19e600aaff9140e87f22bca2b0882d00581f03bd2e8969365b59e138a43bd6028aebb6e1ae6c1bf688b47f5690eca068405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cd2cdbdd277317f0879de0e587972741b1d5ea30cbdb41922dbebb8dcd8ca9ba0394fc8ddd4575c57ef2f26e86ddb0da30663f2e3f9439fd25edf36ebf1116522f0382ddf7098e9b67b36eca975d57699f28f4cea5a3fcea91790c2a06a1b5e042e4037db57be4d023741d7ec4c9f988abcdfd47e9f7f71ee39f0658cfc508aef7c57e030c39bd2f50aab4293e8a8a9d42cdbf421acee1420283d04cc8e0e0b27ce5aadc033d4894abd5c32c34694f0bd84f6c73a35b96b8436241bacafb1c03a9fd998fc900581e0217e0c219b58f64a42415630cf12d88372e03bc059c78d09e53929164ce5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b4ca22451d6cebb0403e28af7e0d10f8e1a4c586cbf72b3aec3fb58e22ea5eb601410500581e0209c41b130d387db64e89c263f03fc31592b58296965f22926c6e65e7205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02477dfb476be7a7b7076f810f756bc4a4ca1428cb07b43fb00fc96b66225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02196801038a7f2ea0249ef9d9932004ca6ae817d60dcef0de7a5b779b5e18fa3b261fa64d031c5b9a77c3a56ea1a7c67fc85a6c459acc694e21f656a6ccfb4ae23aa93fabb9038cd47fc87a17d1053b17e8d16337624a8b4f7a365baca77e7c7e1a53ae000f2b03b823ce09a28389984a1a0ffdeeab399f1f0aceda61dc856a23751b124832244c03ee242a4525c914fd13a36f9f74cac20134639aee171169323ab143f8b50642ca0219ffff034ab2f1832cc60ae1a78f8559bd35e56a8dfda7560e325d48b74cf3b52a3369590330957760201b515211c87e2db106a0fe471a74589b315c439c72e048ff99bb0f03b32d3c63f0b08df3560bab786b6ca5a5579aec74c7a99640bbd014ad43e2892503d934424f434e67d90fe5dc787958d0d748599ae5cb4433a9f889e1678bd5ddc3034f45cdbc88413b6b35c75240eddf9d1561f243e15703a2de83746ed27da4d57203d08336d8c8619a2536eb827e24f92d426284b47f2296e9eacc17a5d5bc880fac037b8a1ba908715a9c8eb112de6f6c3b588485d4680186d02d89cea858e694190c03b5ed593bcfc1f1553655c49361d4f959379de09af71010a7a9476855b540c5b3036baeee821394890c760620786c535370fdfe281181ff3f1c58086d093f39be670379400948dd50c71a38e70002128f911d0cf3b6ad2abbdde25e167643c4ae4aaa03077a5639cacc3790eba30833b9086ab27fb7a34e1b8dc5d768c077d37a7d431003912abf9ad6c69893f3d1ac00fcc9ce2ed39a98c43079122c2a1a11f65834c582035cb057968692f99a9a1322117f2932a571fd81eda5294069995a86f17fad962d03a2f17cf7e73bc0182be9bc08eb401838c9440232e66f7db5f852319b06872dc60219ffff0219ffff0317c4988762c7bfa7b020f82ac8a2b028ace66e968e82aceb01291a3a117dad46036524590614c35efe714026b4c02dc4c3d91e2b89eb60d58ba48b0a7b37492add0219ffff037ffeb619704cf30565056481a99da3060d64c75aac757788099b27fc2308ce210328cb750463fc5ce441b104fa7ed5c254b669db11daeeb1a51677b623899ae9a6035229dad6a1cedca173099f7f239997eadbfc84ecf3c5be9b2635e803463d2e250323f46bbe19012ac96c36466084f4f8656645e8ca943033b047c6e8d0e08416060387cea592d2fd18f8ecf0d5994fec8184b55eaa133037ea54936affdb94a7943703cb46bc9b1ba5060ff3bd03fe99c1a545ff2a242d436bce3edc0ab64856bc2e9003b568891df10bc34caa26901a4f923263f276db33e559aebab741d5ac17574804030c69a1d686f865febb9367c86b3027a57e7299b71419bd5943959ac6e52b8e7503006aba91df01d284993ec4a89a7a3956a0a4088194a74425b521c5f459e9ab600324ef2e55960a835f608a59e0cd17c07af15cec3fe7200c0043274711632acd0703ad6bf67a27ca119e6c85d15a52988523db67baa02a7ca5c26ba60575d6ce80db03223a1767ca916af5fe7e5085457029408942ceb4668ea52a5b891100abef7e72033b07d91ba3c4c18f91ff6b6da203bc1f6ea73f78c0369493e6178e6f78c840c703416a4aa72bbf38b81cb2692bd5b1f918cd06b7bb87962554844f8e78216b2ba803bd0d1ddcf2aad0f5debe1971ff6fee5b16389849c7925d5d9dd021b70bf292fa0355fe3d5dcb04eef437c062b55f58b5a2265909c272189e75d2ae8a91c0f8bc7603fcfe95d175d5d779d36aa2b75ebd6ec96716c248d6bc5556ec3a0ef8df6948dd037e637ce049f47875eceb0716bc13883370690a4064aa45fc99d9c191ade2178403e260b9d5684d6233620b09b15856ebe24b6ca5bcf161fa139d5dba1ad5977b24030dd2d6af388b054208e3c5c13f9af360f4dd0cdad6d0a047bac5f9418627093b03d57934ad9aa7d7e1bb7bbef81a4127c51e19a02ad6fd0e1e1f1237ba1e7f4e3903756e3a3cfa1033b49a87086c92b6462213d87a2ea48a2472b8254d07aad1bc4003509bbaf415649dc196e49d2506285279d79339b37c043d41d84075173cd0fb510383e6985a9ec5d6ce18d410e35e013061dcd58652b34d006b98a69a70c7bacd3c03a0dd457dca3171d32bf573aa86f90b96693b04eb33077de653add4a7c3eceb3503152bd178cd5daefa16afa2224df88f6498a4c8cf66f22e53e6e57472bf530b4703903d6ed321d5f534cffeb7362b6f9456e00028d5d52c7642a0bcaaf2f4cca48903f139b2e1615a7e9b4cc7a0f26c6f8e5e327db8899e7acfc6961fa637c396517b03ea5b9d8a2049a57b705edf0b4f40338949bf02abf98aed2a739736f60e8ca3970392dbc4522b043765dac375009198c57efbd8108668721d3470c3aeb172095a8300581f03e9702e10f806d0e136c4b30fa94aeb22e946eead109522c63aa2abb42e604787394f8408494203b5b15d163567704d8307599673cf356f8c37daeab092e1d6665b1291f6d19ebc03817f1c40f0f72cf09a1f8e2a14fb83a2d66d398783e8b6bc999e0cf716309ddf03bc6281edafcaca972da135901499f9bf61ebc37b506ad3d606b4656ae443350903eddee0328fc41f35ab0abff16df083529377516110ff4dcfbd50908209924b4800581e020c95ca0676535c0c56abe9e9d593ad6d6025d6f61e327d31fdf21648115820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0294e3e3f971518b172f4fa17b9a5bc5a0764384ae3958c766edd55856b24801984a3d176eee7c00581e02855e08332617f6d595cfebbf4b455e3738e1b63dc81b76b0d4f29b94b35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e037a0a95f64d45865c10cbcafe731edb222e0ff787e4ee24f8d2eb9b10c04914ddd03ad2c4bd283d00581e03bb4bd7888f62b4805e0aed9321844760e8867fc46d6b23e1fa76919ef0460eb5dfb506f70219420000581e02a48965bde9d95899eee81989f515020fbbd7114202b25b995816c8ef315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021906150389c74a9c80f2f14f13ad4e568de493dd0a65cafcc973dc62c84048da952663f80219fdff0359c1f3d0904ff821168cc3b7a1b51d7cee035d26cd4fce6b3ff4dca0701a58cb03487f76231cb85cde6fc8b83e89cf3c1f1a1f228873121783f0b08c506ebcdb410369192b882937fc6ae238294e9219240ac9388d4ca25eed40aa644632de21961603a0baf1de0fcb9587ae3c7bd9a9e362c87be762dcef31dca0a368f6ba883f61d2038dc0162f02084350f6d32d91ed40cba43c37e26e468f9110e6380cfdce1c0a79035f3ad558df16abc39e945ede5d970bf3d4d1c6f3571c1f7dfcb3b016c5b0e36d0219ffff03370b41d080da7157b9912be7e686a3819379d080fe715752d1ac80292dbc524a038186c792115d8e391b005ac3e3074598eeeea7af862f9ebad8df169ce224b5960363ca894839d59001db4ee10cc84c71ffef5820465ecad05286fa01451bae0aab03c48a43a059709a6807ff3afe00abf356f2465e9481ae52b58aad489fd5fc975f030706a03601ab307519d7c26124a1f2ad59b2236f7dba245e1d0cb02f12ad4d9f03390ea903c2626d2e93b747f86436d659af453c8ba24c4ff625b8759cf68e3c30030d0e653b0b92a868100779f983b3fcd1e7ca4bf8e97fb38078a3a80cc206c9c90398579201291b623a1347e20ce1627ddcf89ffbc10966ccaf3fb7dab4f4c751b0038e3d8d39e52a08816a0e0c730cdfa020eccba29df03c1389a4253122ebc98db20391f7fc0b41d705d4545dee15c3f0d96c79a533c66369c8808dfcb512e8f98b3b03ebdddf2ca0b604a2eec5da80b4136b7f30335030d8ea58dc1acefa5c17cf6e650219ffff0300b3931f283d8b19c2a446ebf78c19a9dfb1db8f64ce35b8d724b0497fac929403885a68b77ed78ea135269c3230deae429d0946c8355f42b930ae3e738b639b36030e8694dab0706c5df4b699a412297e86383b2073a10006c3610960902504490e03bda3c02730c2ff4e1052d92c2ce9160ee4c1e41b75b036b48fa43d12484f4acf03e7e2c967ed7faf59ecc37828e2977b879d74167ba1b833aca7cdb8ffdbb05340036d1ea7d074c103cb1226957cdbc6e8658db65053301ff8fcc21d6f094ed4404203518b275ac9ca6f9977f7c49351057327c205cfdcda06f8888e911593ba7a85530334f815c46a9e18fc44874ff8a7172788549811160ad6724d637ad22489af4a55031ed8619c06f3184555c05310d8280d3c7418d7099a64da818f7cabbe930392f503619292b50aafb5dde68f0da74aa4b2c501a5d6c33b02e34008a2e379e6b6311e03eccbcb1f7364a45ea1401f2c2ab0bbc065117b65a1b0ec1a6770c156a8843b6703110c10d7140a59937bb9dfe0ee8113aeaa0c34e1236432dd45b690518885e9340333cc691f7ff9fc17836d38ddfc88769ce9b1c27fdfe42741434e5bf58f83704f0346059d1dee894c2a98b48aca43a9725f68b0814a9549b0a2a9ed5444a14094f003da04beffdd25ec49650fea3e1346cff0e572b85073e289bceaf897692f18488903b3fd6e478daf006fd9435d668b37874b77acbf609425ff97e3a3b7c37b2883b40369e15140091fb0d460d2ba4f7dd4630832046c209fddc21cb16b55da115fd7790324eae448556bccbe2c612f2e8a94ec16762dd2f42f058be119364faae194696c03dcd0404b24e99b953feb6c4b0eb1d74568949d02e93adda79441f082d9a5ced20398e300d681ebe6c6db7b909b8cca6abf52bb1ae07b5fffaa2b47ee2c364e8b7803a72f9abb8bacdb8405345bec7ca289e3f686e49149b05ad5cd5bf4883b33f5bc0303e31854b80601248e922800462dfbc588c5c3bbd1760c79591a56b660959eb103bf238745e757f08d84a3ed8c2394eec76d59b59d33f9a6d658d8ae925ec8efff03c9eabed9dba69124e75a687e041fb20a4f6f6850d84dd3c23c44d9dae8ce1daf00581e029af6d5373e059196e472701114b6143738e8311bdb2c97c45f1de09fe45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dc4b46c0292348a3d17cb746ba29d12f211348bba9e8e9320b08439d0a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e9af10e949cb4d44f53afa20fb04d9acd3fd2278422a46e081fb07497e4701dd7c1681d00000581e029e64452126e2b6a548c717465b55124171bbdfb7ecde873c951753d5e546082f79cd900000581e03d5ee420fc8a03888b43bff8a83e3284bd5c93152c766a6a29fff57b570470aa87bee53800000581e038aaec79498fc99c68d1051a31349d4c394ac35fee76b00301d42e7a7504872241b476e934f82021940400219a2a003d44dcff9f56195ba36976de385804e847ee41b66486a9969c7ceae2f265f622a0358788ee4992ab792d4f9947b28b9ddb4068c816764f77897c80e4a7892cb7dc5034af04b0c6faa6848ecdaffc3888dc3b70c64978f61f4084a44728f1919cd0aa403428e38b1feacba9276335b49fc597d6b56d885f9d02e9e574878e8566f5ff8c40219ffff03088fdcb54f9816848f5fa618ba9916a83c386a7a4ed29140ad3cf212e6e9356e03340a765aafc58aac8cafd9645cc582fe236d1368abe940478c596cca75b0b6e20219ffff03397263edf3b223cf0a54fc1482a2491ad9bf4c91a10fa27bcc10151a9b3363800340392e16ff4e05327107fa24f743bfd1ec798c32c26f48f7431c35ce668f503403d01ea03776b9d171bbd5e84fd34f347a50bbd8d1c90edf47ef9d3fff9e40df1103ac28ef3b253da6a805ce3275c0da6aab3a969ea01521e6719d0bc5c2b94a050b0357d144eff078bcee553601c53c826e6e7099197c78afb1acca5dbaa843d3af7e0346bac1951c2db948a48e9ff6123de86baa22240db1fea2cfbaacafe492b7c1d303ca2b98403f43c16f9c38a0e454b278307ac1350c87b221e66452f39b6d54210b0325d1e6e537af0ea0ceb41ff9e0c90a8cb5b1c8a07e7edc6d43f2746ab5ba72a203b8fcf64194b0012066969e40bc065208d7f945fe25d3349604b6edcf7463ffbd033f1db2d95d34a72c31d8ce84059ad4a0e1c4791c8112a5f96a7afcb756ed332d037a56c0130b46b038fc90f7d688fbda57cfd742668c854ef29a8ac4c7c06ee48f03eb6fcab8ae6f78dd30b042d1c921d9f042d66ab9fd753ffd8cc6713032c71c1c03d3bf59a234c0ac5a6b3cd235e1a29bf07c9d16b646d33972e384b1c9d4c83afe03b8b2deb264143df3923866de46dc22bcb5922f375e75dcadead2f13f34d9e99c031ba1f8bcbffc1ccf4035c6c57dfb5c4edbbaf3a7de178e6b44a921cfc4fd23e40219ffff03f899a6b39252453b58172f376fc914a200fd9a81d6a7c340e537659110d1500703e60e6e2c3a0c87b5366344fad3350b6fa0f6c57c3208acd01853565bfd4511c7033fa9c38f50e224e98acb4dbb85d3ee50dca65a162249a102d1e392bcf627cac203c726c512856b543e2766a7d9bb71303840dcbb85ea5c4626e48a5c0cabd58206037d9ae0e4d8d7cf1af65571f8e60fdfab4383d099f1c9103ead999fe107599faf0312e260ad19b4afd7c7295a15bb1b1a2fea55dcd116b1e9c0172939f7e951c9a803d704317ca900c76cb1b1d3c74d45bd675377ef7302ff49c671c9d238e786460403d3c8e3c9378a95fc3a30fe75d3dc57b2ee8dbd54a2566499c2e6c3d0c868882f03934414b9d63506d7bf44b5fcc5bf115e70c3882654e19309ca16589b5618f6e103c4d949429304d78856eb8a9bb49111e0041811ec9ab7bc8ddbaaed0ab4e8dff603f8d9c160633f724b991ea6a04293a2f001120763f06c24f0037d1c512bf1a8b703926003860248566a2e76bd1d92a8ddcb669003b39cbec2179b8a2f6ca153131b03069ad871c62918c5fa897f72dc153bab2debf945710888716d1db2f7ee460dba03027e300d683c84bcf1d3b4f16387b9d94c4b3fbcec0da4d1e3ef1e475779f63e03149629546b10048da92f257d03870cf08320d7e4bdc7810ec7ed631904e688fb033819b414e2e368b50e3e787ac14efd1120ddc6da37f7fb44a5b90842f909ce2300581f03455395fd56b03f95cafcd640f84d4168a1bfc5ee972c5f476ba6fe8322a0470d8014722580010317a91aea8b1167bbddce35e0c804a301ef97b0a2dd2ea516d3e7c61d19c16f8c039d67675b6b9563a46c2c0d2b0b0ca0ead0716795385b63ad117162ce331558da00581e028fabeb945199a4cd4b942277627a2a12a25137536adb2b4e5733dc347148780f6e8163a710f800581e02ad51aadbeaaf212848e872afa9a1d623cbd7188615be92fee639fc42c35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a65f5cf62897290113a81108f0399bace420da2c234859a314c6d006c45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020a1e49e62f4917726da95bc08d670226c17b34f0def8a62a8c998410fd480853a0d2313c0000031058231aa0e084f8ce7f66433fad8828bdad4dafdc2cca6ea6232823b1c088a400581e022b97e3eb4e2d9eaca3ebb234b260bc6c32fb5aafb90df6605910047b175820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a43200581f03b74595260d4d95ccf946f5da577cf58359943c755b18b15bbfd8aa5678205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039bcf7dffbef8d81801de49855b6f9659ea18f5b3d577849ca777ac877f7f1b61031029c13c8ee3583b551ee659ff825af99a918919991f3b93e1a2d4387809821a03d8cc80a96b6d0efc6b4f9d68130a1edce06389e367809dd202a00c278a2e27d603317deae85f0c58d396c1c48d5c0bf56e367a95bfe698293915dd4d1c151a8b77039ecf5ddc9f05860fe1e2df298b0a348f489b56023834539aa4898a19a724012d03204016081c35370af442a06a235b2990e12efc6f223cc079436329fdb32f896803b1ed619d193b02888279933d6f972ba265c47bc7e206d443f0a19f2f7f2c3dfe0219ffff039eded1451a4f23f4ae334e7abb9022b1026d7415cf97e788512d2e779827e256032d0215cdf9683daa04c922cb34c7a0facfe2de67a1fdefe6b9d135699152a17a030976bd2b81762efd8c35880cc7ae210273477fcbbb8fc3a1746143a262f8489403e82999917958d3d695769cc4f05b582893027f6870b84c8ad7e9f880fb347cbf0362a6a0a6a3eda7979ed5afa64bc3ee31bf4a2ba0c7095923c26d7205d53a5c5403ea4661fcf38832d327486a1706ba251c8025f91e8fa087daf8d2c71aa7551e4f034ee1002b78a71f4ee380bec83c6029c585ceaf4cf0ac63f1dc023e9a797d2ee70309c0a2c2e039c1d42294b6d5919ae925b5fbfaa62636564102d910974b36184803d90962953a6b8eced54c09eea33773f365768dfabfaed4f6ec2284d217d5f42a0219ffff0308fe3fedae5333e7a2568ab7324d251d0cd0d4ba3794c38ee26221e172fe977b03413f95a901fe47d56790b529c00ea3022c7fe5c9dd1a8cd7e30fb20bf624de38038dbf43755df98d0608767e1871ef52726d4873b39a0dea485aaa4fe2a49718d2037b30c22f110304902e44ef7ae504cc668930a07eaa674e45f605abd30b1da70e0354fad3cef9bd4cc16414c5f810a7f287fbf65c7b871bf5753ff5434fe1fa19140328b1ba259c3a7951e52f7d2c0cdb9c8306f4b7eeaef0192f4c8457aba81ef2f50348ed8cfc47eaeb8cc5f1c19e6babcbca63cbb07600b9ec056a6b16358a88d27d032b1e2178bbd54d23bcde98a82c15295953c8753dc273aad8c841352a257ec29e031e30473eca60899297bccef08b30f0132fc084207cc5d402c77e478777c440810219ffff03db92802cfd018676993141a40f2258fdbf355539d9c90e7af831b3d6efff132f03382a3ac6ab65e4d161b78a38394c34e5fb39eb2f4831d890e6733880d1740ac603affbd8efcc9a4906463b69443f5543ca6f6e0626ad253e6974bc4525cf603ddb033ccf915b089db9b99b99846bd3de3a69531a67782d5b939b17a4bd38b8dd189203213c77baa2a57f6de4d0318294cfb9de213c7ca04f1da6cf8c593a21b2acb5c80377f2c9cad12b4b47cd4abda1e319dd9dd7c38966f1ad60ad283a6651f656a10e039f7b0d63da3732013dde5fae4f256e14582e4362d6bb81787d776f7b2b41c0d903b2f3d8e0940354c28c27a48486eb6648e2fafbd631a7482afb8ca73638c6ce1203545dcce51ec0849cdf709e502043483b5eea82c06c8f6f0ace0e9b308327533e0352737d58f9f4dc09294af1db491fd0fce7156b27f43b183a44d5f26f9d050686032b36f0897255a5afc2eaf554784a1f3c9ce371bb8663aecdec84933d741bb862036a9399cc34bb831189f1c22b362cf0a9b0e002d45f4ca5e7dec3bbb7b94b6f3a0310f62f34b49954b7517aa9d1f36f97b9598463d4f233fc5016a87eff7b8c7e4f03e1058a60f1ab2feba63c4c3db54844bd34fb751d99a94237f01f75b2588c0f07036c7fdf5f96d36b9fbd071ddf123b56602289587e73aaab20583d6579fa09689e030ea5056abb8792d1c2a087b3dedc16a9a36e45fb956631de66b825da9499f2cf00581f0348a195b977def9840a9fc30965dbe6b8e275b7e3c99e0620d01b5b44dfc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03bb9af5bc16b91b37f8551355cf329cf091bb107b909099da268085e437e0437de290031d1abb12a0e2bce19e4e6d95b0b97094721c526725f7e2641f8c7bf5f427c27003eac456226fa1f9b971c60f2e634ba6f9a8eb3c02907b3b66fe65518c6619944300581e02a2bfe01e2dc7f78bad2bbb463b2e9795d4f721d46c1deb381f8848b5bd491eff38f5540924f2f80219400103e59fa5b873410d075f171cfe9cb23b3af34a08b9053c46aa98bd294af8ff591003f3e34c11f438499827c3ea5f2f4039ccf4c42351d8a5456733a612caa10c76db03a4edf10027a0c230e6a2a85beb9bc3d0c4257a18b5bd181325566c64ca9ea5a40219fffb03e407aa0643c92d2e7563ee62be040ae2fd693d83f79f7b849ff2848bb1f195d503f7aeea532e72e45f1483024cedc3eef582314ff1f5063551710d40a51abedcb403a43f71630ad943b9ebe8e58aee938dc926aefc8c63656ec5bf9520cf462f60bf0328d13250198f71c1316363ee91320ecb3620d2532dc1943d3f470fc436530ee6034c0d16cf6b5f2fde43a249c3dbe80e4ac2cd75df97dbd3ddafe8f79f09d2da060373cc1caddd694b3d39c0ecb9b30f8305385ec56b8bf590bf6ac4bc466fd696d603a8f83aa09d46e10f3f9d98969fbf2b2e8bbc6c5d564df5d87449ba453e986cd203c5517ed32ab15e2a77d9fbfc321aff01cf4caea2b4b2309b0371787899823eda037c1623e378360c4ccefc8808a9796434c964815f1f23ee4951b03765e5dc1402032f14dd27ad0ad15c1d708f0e50c967e2be6690f0d9487cb87966662f507bccca0219ffff0359767bca0412019de89aeed227b7568b6cb2586d8b5e2ebced9cb7e39507fa290358353841c90d573340b691f22083e856cc4b129975e8324667e2ecceec670b6603705c4b19003d5b7718db09e29efefa9f0253ffb822c1c86d553009d78b13767f03de34afadd37a2a98c6ba9f3fcefbc5df715a6eac330d210bd01b4478ac6380a9037615c64de329b7a88b3f7e06ee46e9445ac32160e278c7a9f2f9899a74b41ea203fe6b7cc9a75dbbe81261a397e4a691323abe16f2fcabe300c0829e85548a4b2f032ba1b4a09495065a3b52d5a795141423411a7e1c613b1f0b6ec753c624cfb412034754d5b0fee9992d6a88fa090df90b3d702b182b47037cd921e21de62c83c94b0353c0de76eed4fa229426eb13554ad8251ec0cd570e4fe901104b6b20c3505aed0351d799b96943b407ca4640264679deae0cbe50771d9e0985a418d43620e58cde03a7d60d0a56c8ad7d3c7cd3481b6571504d9520bea652e40bbc1a6b0b25169cac03f2daf6209ada75f2e7c202a2710e15bdb0d753c6e27ec78dad9dd187a02a53500396ade0d9f2df5252cce45f072905a300eb356757fed749c00ccaabcf3992017503430d500cc6245dd08ddf27872fdf874b2edc67d14784bf0eb2483a35db58f9a30219ffff03049f1038771028e72bf4f8bbd6353fcd6d283bae469d433d82cb4ab202ef53ac0219ffff0331c87d513d2aebe68e89a894306e5bc4e8fb3e80372957e2b39ba775139ab470031e65614aa4ccca77cc6e56cbf0718c25a633e92ef5ef76156e0cceb031434705038908b9c33ad933e74d5ebe1f78f728e1be931f55cd6dcce00c635ebe32b99cb703866ac5174c546cf9844fea81d8498d4f9e995c70ab5fe861fb013e708c8ffc4e035fb8df07cac4357dc33c669bcc6667b2d068c10df9f37aa76cb0cac2f2add0c603efacfd80dbdd152058f0c979985d95a85588ab8fe376670e8b80220717a656b203fd89589474086565b2bfc5dcaed02b8159fd0681f3106a6ba42431e0365d329203124c7f529645c46f16beba2a79be408c60d06f3899e5cd907ac00a4579b0192803134b2dd526a583266311b907dd583eae1cf42f68c933e26204cc4741cb75617d03a2b15b1aed538b3cef5b6f7f804ee5f2b2ae554b51a6b50102a1fa13c5ae0e12034d4a862395466a2dd67ebf038f982b3a565dbd707f57a5f6f8a6542cf08f03d503de157d3634cbf0188938d43a966f433edbb40d2ceea538a12b98a6b513a36fdc03028a8359768d99df3874b94c5573568aa710f7c6ff2b3b2f5404873ce5974ba6037ebb9cf8a83d3e28eefb1ba699bc9fc5c77da06ee79d9f5897049be317e0481a03b117f1137a42eb4b4b785dcf056e2c473274320f525817d6eda86f1ac7bcae67032a6ce3bf18dcd86d7e02324950ce8dbc1646db5d7900e17df4eae64463ab03db032b896f075ed20bc168279fce41924328fa4fb12b71be2583bad023708c3e8bbf031ed7c09a4ea6d4fc4fe3c68f459255c1a8b78a0af2e3047b35d076ef851fec4b0310b784f4df4292185a656628a103937b41426ff1eccad1d3fffd24c050b9e8a803555533f2e5665b4ad76b788bba898d12a941ee5cfc438b49f5cf0a38dcdfaae603c7e49a178b444cb0ab094d875470018c54932b7257b479c81ea98c02c3e2d89c038867a1b2db8887a624595a2b07a328c139e06a0631010c386bc1c82e2efde8c50328e09ef73bb8b62ac6f380495798179a1f6d9654ccf40379369d8b9d5414d95d00581e03cedb67498de89b0bd886ef37e15e20797ef5b2173e3710af917e5ce74048bbc094bec8a0dfd400581e03df9c1574b5a503fb9eef801c473c68570a7be12385e427c96dec612cb0472386f26fc1000000581e032e81bfb6fa54cd262dd81e1e90983ebd51e91a4023164a79eff9bffc304b4a817c031993acc9701c000218700219010403f8096a567ce3e8876fb4ed04e12a023280780be63acfee76b0301f6e6ef2c24b0389db37ab1cc02c5a52631db46325f00cfdbf68d6fd262ff2cab8748b78e1f64003a5f020e6af4013ee2dbc770ce4ea2950038dae1047e1d642573bead122d1707103eb5135e7b635234cc77f27f255b85f3ea21f0bb1208f221f4eb6908885a3e2dd03ea691d918250ac54f6a4036530e1130f41fe2daa8028954ce745c45fc06e910003d9a42657c943e28d2928911793b5aaf0543a8729ee2034cf8c3969a523d038cb0376dfcc328cf7f35626588e207335d65c15301f4977e0c14e1db36ad653b5e6f9036980ce59f16747cb5fb1a4ba13603c77d3373b50f5cae9dae9e471a42ffe429203ed579dc89e65d9a648ef0c09fa0f849319b08e92b38512582035f6ab7c9489ac036b3feb99502f9905a160b3abc94d10a33ca50256f5492e8504f2155c0f474b74033901c59f760b6276cbe0f7f2ea5e2aa5e1097f47613efeccebabf90919c29da2037eb58ee2e67c415deda85c08137a8ebf64e0a84db04c770ea38fb9805f38f1f0039dacdd43db665b0d19b9f4d538cd2821621d9073a73892abc29cd8ee11bc857003243de0f1f15a3d3ac140afc8c5d954510f3f44c77fc3aca42dcf4262644ca41c0219ffff030cf5659be1cbb4ad8c0de5992962292d0c86fa2d5e11c2a84449d121873c668e0219ffff038d603bf3e9884343aacd5268de031e1a14642abfaf06fb9c1ab30aaede52e9d5031dfef73dfe0c80dd00ff46589b2b778c526a3cbad6291bc2bb879ff3349233010385747ce3ae44e910f6a859e38c68514d4671966a1f090782c5a62b66d413d88b031e9da941ff0d8541f5d00f21e163f14de04540d54202977e9dcc179126e81d2f037b21db6f4083bf0942063d2f27504cd99fe29af1cb82adfbead0f16cd997f73703fe33bfad3531d3e54e692a7efc590c5c3c71ffa1f1f009136d76a69df491fd78037d6d39289e75a9b1ee22d290177c0ad5149bff754f7ecb00e282de4bfb3eddab03a618bee370896720dc9aa8e6389a0fc957b93a1f96034be4f48a71ca61c0ae880219ffff03cc797623da9656c95a7a9a2aa02f0e0f9dde8b72ddda2b52c260c53c86dab0e203ab8ed37401f563a125c96e7ff34e54738b187ff882ebd6ae9df4eed5b7a33b07037e3586ab9844553f022cb10c096c8c38983dcdb1440ad9c9c4a72d77bebf0f90037b74d153b20ce9f873dcb9a2d1a80879c63bfb72403f12e6a0e49146b5d793d7035b0155397aaea53640eb6d1cdcd4294785588ecb52888e179ceb76cd490f7a5003be6c158963a48ebd5a9394530ef82c405d7dd152b1806b22134b00beedd55ff1037ec433838fb3381162660b8e0a383957ed696f166effaef15affc226cc7476e003de7143a7796e265bdd3760c2a55e54c0160910b0661d54fe58f5800a36fa506503ed495e0f19b99432dbd537a61e106a4b519d21b9b14b91983879deede470919c0392a68b50ad9941dc97aed442ebeebe391ec0dccd3094453216942319904919c20372487be9997fa83266a08df3caed2bfe76aa5afa3c13b6d7e437e34b5054906d032c73f9116bd330bb4049f64792c68d7ec011de8e5512cae784c303d76883fd350395aa1695e8bc7e4fde3640d68e6747195b3ee8b79cf74f515d6c75bd973b9f34035f8c2758bf9891b907410b852c89a9bca7e161798571239a93c79f0ac262e9410335357049092e1be8f83d5e83dfe462450ef1519a16e2067c5b9e7b4613e719ca034110061de3b38cbfa06aa2e4948204cbdb93ff8c52d0b35a807e9e5c266dc02d034253382be06d438b4668cf6a6322b858b491030df152ca1347f1418d015c939d037049ffe7023266149b7733354a71dba0eb0565ca9729b5080b95552b810c81a60351a4bae4b2a23b450ca129c92d27f2884c091bc97aac04088afdd753c4c58c6703c631adc81e5ffd2725e0c68db16ecee69375c40cc4cbc18f4658b78fd9daf0110386dbb42e85476d613fa39ead4e932c76c03dae4a9e6ebfc7857d98142f94af87033c4050d8dc358acd4a851501500e40167566de27f515bbe954fb053d36a7e889034d9a642d60e6e5efb3e160d574db93254e4dbaee9bb6a17ccaf8aa3dfeabb36f0395bacdeafbaf1d1e3edea79f548e606a853bdf047bf29340d9fc5f9078384dcb032b750d0ca3891ba164e4100f586aae0dd960949f7a4525b948ee1c1b161c4bd2033c2b633d46dbe73d2943615611ec53aa57f9d5b69257567a4fdb46b4b51f539a0394f7576907e72de8ec43594acf4edca3f82d331e5f3ee5ddf3989156e0c0ea8903f30adc206e1f70951ce1e30517c41ee0f157c46b6b92fe8c9b8bf442e92e3a75031a3cea06ded11de6d3c2dcc89d6ed1fc30f76a2c618b2cf2ae3f16a1c3d36b8d03c78282d36e5ba372e6c3af1557de70399b01e8180c950b21ec3e9ca6bc1ac2c5031a67a5443c4603a4a146ee087c4362226bd12d70471425c9b21a0ff09a2d9e5003e37baedf59e5a8bafd3c188fae2435d082f02786f4333668be3e9735c27b1dff03f78cfc132f1229b352680f6d5b914e879fad8e49a827162d7b5adbee99e7d6b5031d851c5dfcb263b600c510226f77a85a36acaa0b7528b539451ecc6791b8654803b61eb265c1fd87904309a11ff317d006767c8b68fdd1576ab5fd5413d263f48403566976fcc0677a1c398db82cfad398d62f50c9255a08eb3ff1ac426096e878fa03754fc68fb2503d7baa728539c290e4745d9d09599fa13628db9b01107646f43f034725f51be50d120ea1d99c69d9e14e95b99e66e73d3e350636774ddb72c83be800581e0331e268097bcdfa8be45862335c3c8d4da4c758fb0a71f9ac6edfc28e704817b45f41cf3bdecf00581e0317f49db905043d74748e51f3b5d18be22a1cdd0b6eae00d8187cc474d056f08c7fb94166b07580f9224e4bf1b3900000000000000219210000581e02db63646d39278a99d2f851e8753dbf23f87a1dcc12e9115874b3bb71745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021850030af12784a1bbb799c1eebf3d2b6b8514cf9b3c62391a1e5c335198904d96d2f10304dc6d080ea0fb451e2bcb7da477e8bafc61b5bf495a09bd46153969b77ed14b035a3c068ff1e51cce9b39f72c4ddaf873a3ba71fde80ba40bcfed47fc14b4c23403b9c2d7fa50c985b5baab2fd9e171f04648174d19692f801037ebd829f941b9400334c26bdc287863b0d7190cd60b33c26e32621c84c7358a192e6bfa8d255b358b00581f036a5b1a49c84ec4b1c19f794f4f1f2065aa7705dfd6372f85c8efc55a21d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bf48a4b4f1a22ca521b3dbc83c478af51f52ddf2c10d2b6766103ddb328ebc6503e9b63975feb1af01801482fd6229759cc6318ce82d7ec2b0151f394fefd95a7703ae272e8afad84d6fa688ca4f0038ca321493daee1089be3dc3806b6e1ea174b003e14cdac30ccf9765b4bc072351f2e461a99869f5ffa5c4e444547566988a45ac0219feff030717db32322e6369332d180d14b75378dc30927f63fa9a33f90de906109e2c84033060016461418fb8fb6c78358cd07c75a0ec05dd99af5e2a91eb8a71f285dbbf038cc281326d326692cd8a4b0547fa7b1bc2c611cbdbdeb69db7c5ca019d68590d038d0cb4172bc4bfeb5fab4e54a3c96ba0e39a80776a69c9c76f57a77ea20ddf1d0309b4e443ebbd085295c5cbe89acb1aac473ef7d19f9923ed7c7840347f0c3bf803c9466212797c9ec3ef10d7a26fa416faa1a6b63f8d5b602270b3ae1f094f488b038254b8fb9fb96c0c09c4980c44bd0c5713365b947e17ea8e185076f946476d3b03c17a74bbdfa951a929ce5badb7a5e1242e65f48dcc503b4fe6e9e307b056bf310219ffff0219ffff033d9abc2b7a418712333389546dd85ad47794df15a005067cb70f3186e1e2e2bd038d9b26ccd1ca782235b2ee8ed3fb43cbc3e126e0814a48244be57d2d484960c50383f0836615ec1fdc4a49aea88fcd9f5d59d8b680687d515e4235708ae399931e03270816349ca801ffb9045658baea9700c896a9ca35d7bba3da6aad425793349d03434cb23cd540bb000784343a0341a1cb14a510080907595083b9468e1ac09115038ad88fd18b2117ee6da1de4c389247919efee4f208b30ab73d13d9f61a8c7d0d037717efaf4217440bf505fc7657a0677373774b43f69f2af6387ebb3cc5efb3440301285521217ec86f310aa913614ba9eab3f579f3d3e18522804785ee2b058f94037d58724396d936f28ed3de2ef9d9eb592bbb68ef90f2c4c37f48b95da276b26b036d7ded7a20577dd0f9a40c1a5145fee0bfe2ab5a5071f55d4b6053d541cc4d6b036184e956c867ec9cee233afa3957a7a1946a4dcb4c1dfd4bbf6a2b3ef25927d403a1b6b25c7751d210299baeee368477f2854e58385317bffa549f0eb12a4ea1fb032bcedcb7f4a3713489e59a7c323e75c11d1bb73f65a309d00ee76cce37b0815a03981201d2f34f64dbca10acf994e5d73594da1d019b4eaa2078ebbce3429fc57f035ec8780c2f9c7b2bdaaa898b862d044c05bb19ecd25e467bc6f9a8ed357154c70389a52c5c224526e95bc613bd82d51201a31c28a2df84c34ce939aa1592742ef303ef048fcda88f659114989978e4c3fad2217cdfcf76b58233db186e1a294967b0037c50f0db10cf655f2d767313e3e952115dd48ea6cf7d206a91a89fd08da2f69a038e913619a4cc56c7b7b2e8ad2f164583db0eb44919492b6d6d6fc6d2fda0f97800581f038a0a0048fac68d05973e2c483abb246beb4771ae44e1507012e7e40c35405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0328d48a07e12ce3ce52d6d9dcb4c45b75a6277a697a2041d13fa484867dbfe287034f32cf3fc77778cbf2abc4cf30e99e701dc2d12fb2472f435ae638cf741977e403764da42e22e339c4ef93ab7b83db73715ae7f2a79b1c13caa154bcbc439ac022036bce29367c686a81fc6334a1f3de6dff4abdffbe861e42e82e89d718faa2428b03be906483d625dd8565d365ad4f40f57559f2d36c341c91a38e0499e4e6f6470f030ad47f24b7f54c2cbace7e7c36d0e36492ae2a74a2d24e5aea118e87fd74495300581e024686b4fd91e8e6efb4e144a6b38e59795fae914d37863dfe8927469f4e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037ebcbe0f8a8d9c76e72349a07b83c7778b38969a19f9eaa8fe758f860f3f2d8500581e029131bda30ee381a0b7e73143e07db024f623b40767efaecbf4d09912a95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cbc8ab5bd6e3467ef8ad24901078c763f88beb6c3725a528418e534a29465eadab85680000581e020e53cb8877b0a0dd371fbc9dbd7af56171a69b3acda36c208d5b1daefd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c650d4c535448ae06db0925f2300cdf8b814d77ffd078352fd79d7887f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0250ec1381103d8c665d774ee5b35d6cb4ee31a560c21c2d8a99e673538f480e978abad81cbecc0219259603aa3cc00fd9ccef023ef9c1562df8cb96ea4a999e7335b0d54e14365c9cbecaa403051bac32af78c505f3759ea0a91bd7d74938c2258836673fd255b222be9cf93d0219ffff03b86e251878e733e7d0d4763b0cb19a6f5e94ee6c020453d3d441cb27c2d5d77f03b37dacf3999d7a649503c589699a3b242a93072a31ccff7730f21ef8da69b8da038f1e1140794b6508abe38b1140809235d8e9474e82c316fa004ddfb8ef5baba403697946650d7eb6a18800bdc840427e8df18318de2f8e00e2428c5685e2413c7a032f51e44ea35a018f68650948c0a8f9cc236e0a29a4312875d976521f965caec103f205739a58ac381f68def90d1620ddbaab7f123250e6b9a8fc61a97522e42308034091e60fbf8a0a825fce6c563baee2c03a767e8dfbaca47760e5fe99e0fca6ed03d32e3d6578ade0391d85fca655120792c96bfc674c3564694441ee7fb3879cef03d1707eb4ea466348d276779d0d0901e88d0da385c84e7aeb2ae24b9bd1bd49ce032d03e3e689e79ab0828a04a0f5e733ccf924fb5fb0b88c59e01db32d249ebd88031bbc6832c7234679896773459bf74fb224530ecfc9f4283d178ae3650c46a97603029c40f2fbd11ebcafb8b34a4cfeeefac24a6940669526854c1b35ce00c4ca6d0370b62e07c6460b738defd31848d83fa2643b5ba33439b94b02351d4477b4622b0219ffff03bd921f9fb30c861c547f98600489c7bb528206c36baab2d70fabdba236ce251d0379f99a67c9026e4e0c27cf4c30c58797d2910cfd92d32de9af4206202f515ba3035c3491eddd2e88de78b1e6b8202f676573e32fd52fa55f30c9062fad40983eb703a004b6744bee0d5173fa66de67f1bd8c411c963665f62620f1eb191f723cf0600219ffff0378c365353c8757bb2145cd8fff662c387d6cc30cf3ba544c3006b39fdb2122c6034c58496edf06be162b82b09862d0581aefeeb91c4bc49b88d409b749205d6c4e03a622844eff491c808c6779f89e82ecfa21a6eb31eb61abe70e8f403f3fac18c9039a2aa7b359d32839bfede85db07a5731949c2ea14128add6767241472730ddbe035d4bc1c6a5b598aa4b3babf4aab87112313aebf855f01207ab0fb60e602e182d0396532f1a36fbc08433d4e2bd77e884cc47cdedf0f1be7de2b3f0804436d390c603a2bb134b9ebb374e4a2d51731997b77219a9ccb28fa8126f43b7f93c456c665b034c2dd1d4e85ece2789ef360b0303a738a521ec35b1cda8a5905339f5330e205f03bb895c30e330d8e4afefc52bda7e829a645286f996ca0978772f0b8e88cd75ad03acb7d57f6b225bbcb77b0ea2c820df58362f3c47cb65c77841dd5edd10cbcba4034ca4b0b0da387730071c82f8605cf389a0fa543f633ff4d9829fe3d70f4ab2cc03360e974c69a52b8e91aa4b3ae2d88cd9400c9b1b1646de3b067c6616670eddfb03b1b4cb3bd6ca9b3fa4c54b4db85214693141b8ea48699342ba16e0699cc0efb903e6392c6b3a35726c32830f57b5e82ea44bab7f29b4d9340c2e3c15d4dbc190710305c62c21f4ddacbd735690dd20d66a744856291de2bdad633d24477a33ac4c2203c398d24b80dfc8faf0276173528146c93d2de0c6d71c8bc0893fa032e0314b9103de97c459a794c84f67fc13fc8fe0f9a8143aafbc295639f22fa31eb224272a120352b76f81402d9dad4b04748f51f9d948092fe2881cfbc66bc02530fe126551b0030d8d2f01ffbe456567e645ac6402a0445f96348b74018baa3d63cd4458db286a03260860e60a83a7b83f500eadbb207f5485ee81185573149047dda0d8c39c433400581e02b835129b1c6cafb6bb1f17dea2cd5a8d9f85a1c3f8edfe2f9b430a7fbe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02952112eb772ca67d660e09d9d4e5e9f4c916babc4750cade4cd2474ea75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02449a4bb1d2d2ab1cfeaf047a707d02c71da963193492df0dc7132a75fe4e314dc6448d93388e9c4344479cc900581e02c43225ac0ae248f16d371a3ea19a1cf239b5db0b9b9094c8ac8a9d329c48ff9a1125e90c6d2e0219026c00581f035047ffc59ea56863f161dbda58ca02843b4e7f21c32a4519da762c161f905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f231ee53d3113ce0c6590038bf05033ced68f6525d88183fa27c46ac78259214030ecd7d138c3e0310b7792af6bcd73fac95922167b0f72fdeeaf546d82d8a08e403f0d60f2d83471c98e8dddf7074b0bbdb40a3504d4ff7c0bc1a46001610a01d530379346356b2c7356302a5fc8ec091a7f54e4d8aabeda7ad572f43c9cd9ad36ace033cd8fe1f3dbb38ea39ce868b23cc0b0b79d5e8eec8f0e7b39c9929f7b6c9eeb4037531a535f4867807a6ddb44cfa57d2ac076227d94c98405f0d0d7ebf12ad804f03d113d7d8e36a9d1fb808f815320bd7fd6f494fbf276132f6e889b04b7883d59d0219ffff03fb6c08d4e0c019abd71c210ced7e2c7d9a8be02e63cc30cde36c137100d85b0303238b0220f962a408c284c8cdf1e2e671cd8b38eb372ca511aa8c51918cbacd840310c3f984dd550b49572d0461bf1adaca44d73a899a75f719f7b7ff4c28584018034f5c828f59e9d450702dccaa2ec46aa7a031a172ad991212b9c833b064d1acdf035dd98cf04d37b8dbc2ef86f642a1bcd36ae36857225c627bd8b7be4ebd1cc0c0039188e221b336372f4645bb52c356015c7e3c728e5eacb672c1d33933e510299803dcbfb1f1a7e613ea3e402b6c4cb6df9f50da29294d987c45acd8b1410a36b439031a9d52db8027ec57db57c6daef4eb2c418cc0a0ea325a70eefb3ca35c8680157033cf30683991661f697cebdbb4e010baf84bd290ff707a0eafc12116dd27bd53003a169551b0c2ec4b40eb64012646d30067b4a514962c26bb97a0dce69e677731603d8bf803d2dee384a67d1ce88bfd3097248ab44d61f63d64a32334cac8b6a571803a66eec698eac52143aa95ef647709336c1aa29563295bed9a4843af740ab72bb0304ee3bb91ab059c9f3a599cf418da460643ae121c78a88181d6a46f6390b0d780219ffff0318135150ba2be73b3fa8fea61ee9cdf8dc5956582a4540732ba49f4785bcc330038c42e4fe6966879009e30c65cda48ad003045df26d7f2ee016b196cce206dcd4037fe11715aa534d9521e6e6d4da45ff7fdfd827e4631c38cb8b8a9c154b6cc42d03f603a3e7148e8372d8cb4f4e04060734db81929c18aad0afd6c5d450f35cea4c0380b61f74378ce74514619e9b4d6e40d22297a4abba39f14cc8cd8fde12f9c6fe0219ffff0219ffff0219ffff05581d02a65bd257638cf8cf09b8238888947cc3c0bea2aa2cc3f1c4ac7a30020f014b024396e388793718df67eb190c34021920020219712b03ff809fd4035b447288f1af06c2f7e9a4c9a6e5ab5946b9955ad016d417fcd75a03bbe0ab408d2847e38b67cf07500fb31298dee3b639c2a18f091dfce1b7a791a5031c3b349a7ee937b2b4babc92d591b01f6c8296a446b23ca1e9686aedfeac1f5503895a6aaa76c105ba9b55fd11ff05ad6baaf169370fe2476422867b719478f4fe03620accb65bb4c9061ce6514269fd587e16a33a55fe51531f3c0a081b670df41a036a27a107a13cdd08ce907db37e684b263e62f57f1f1179dbec2dbd664f0536e803e7aef0d8c9d7ac18853b8799630d1f904cbd62db280abf5396a568b84bf92b460219ffff03b50bfc5e13924196132858372841061baac4deeddbfb869ccfec7c91d33e16530219ffff037f3a2398eea3a9a60b751288a251d11e6753aa1c04fbf66c0a2841cd3d125a63039de7bee6ba77aa56dcb0c421b8029e767e2ad709a7bee19f241d893666e8537603269cfe73575e17e586085cc9ae3464801ad8e03a5351d3b45cdd84a00cfa709a0342241fb94f27a7b4aabdbbcb52abcfa8fff100804c0d12e4703105e67063c659038050762a9422e5b543eb53df0fb7b82ec7741d16617c58d6b3ee045eac39fb1d03fda8f54ad499f0fd355def88e01250c5ed06a7cd697af9c09fe47bfc79a9a1bb0219ffff0380d03e60f5aaafadf52e692d64a8f63a5658dabbc6b40ecbd19814fbcedc67b703cb622dc84817d5ad60bf5d422e494e4aba18e26dfc85565af1c31dcc7503750a0309ce4ba1500c8fcef364b913eaae2a0aa632ff0f12bd0ed0f625c4b0866540b103758ee997952c809933fb887f76a6f1b80301a5b8e9ad1776ecbd132cca1b6f520373806131237fb061ea477cf0d25a0b7de317d9c38210bc1093cc5216f6e1177c031af69a0f5e79c4ebdd4c0a791f76ee291fbcc0a64bd05bb80ba25378b140364603200f7f15077f1f30e990a05ef29a277324c97600f8cef5d5dc75f5c986acf7c2033fbe21cdbbccd279497e58c350efdf6bdbdd0794efc7e83c604a8873860f24c70219ffff038f9cda2f6e45b28ee14e5a406004dda8b59d9c99e3a0510e739bd5cb4b99efea0305e749261ef507f0991add5cfb704191c33f7cba0ec99d649a8a94a3af97b8e7039aa227e9d4ea32b7b50e66db8eafc8ce167e8174ef5aaaf00650d10b7d8516920322972852e5d11d77d2e9ffafa040f7c69e8cd629db0781da6d8d391f2e15b48f035b112b9c2bf1b172fdc15f46d849055cea5fb2ef9295cf414f03270399f95663030822007146ad3f6b5972159472f75c25fce9645c35336f5fb78f09ffb33490db0354fdb8aa136df967c400de7a6dec1379d17218de3eda84b5bd5d8bf403dd194203c55422c4167951f6d76738d50f5339da99def686c834414fe8251b04114e6da603afd899d41fe729037dfd09fa3d5eb2bee7396f0814dccbc0fd15d9f68bc21d750346c7177455fa1852e944e5cc4fdfd03cdfa5e16e9df9832118bef4b7f599687703fd3e1a6aaf015c26a11d0af4bf23df64ad2b9eebfcd40418ae1622f5536f400803727d2e37bf66c2c1b4a785bd85fa759e8e1be0297140539715b0d208b0674ba5038ab7da7cb129f0e84ac982c01187210749216a2ad5c3a6ca317678aa9be7496e030deccd395af935e263cb7297ac2910bb873d28658d91f18fbd1c30749e04ee3003e320aa5adeaa94654c372bc07cdbd901345b88fc89547cc47a86249acf65275203ee164beb074a58d46145989d3219ad408cb9ed83f36b83d4744b14e5b2e1858d034b890715305118a5cc2df7656c351af47da0e95e49024c86eaac1c3354e7b9de03ad00e0a0d6394a796a7603efdc95030d48f45630ae59d14682904a9776a631d703921551aff15327a92de53df6470a9d09648211202ab847344403b6b3c9f21b6505581e033f933ba38f9fbbb539ea18266f75c1acbf97bd352b40244cdfe13133d00c0247017451ee0ef00005581e034a8f30e1bb1a7fd3c525850a35479a02c70430b54e71fac4735e32c7200c0346aff94cb62d0804590c92608060405234801561001057600080fd5b50600436106100625760003560e01c80630b02b7421461006757806311da60b4146100905780634585e33b1461009a5780636e04ff0d146100ad5780636f313223146100ce5780637dece17f146100e5575b600080fd5b61007a6100753660046108da565b6100f8565b60405161008791906108fc565b60405180910390f35b6100986101c9565b005b6100986100a836600461092d565b61065c565b6100c06100bb36600461092d565b610668565b6040516100879291906109cf565b6100d760015481565b604051908152602001610087565b6100d76100f33660046108da565b61079e565b610100610869565b506040805180820190915260001981526000602082015282156101c35760005b838110156101c1576000838152602081905260409020541580159061015357508151600084815260208190526040902054105b1561016a5760008381526020819052604090205482525b60208083015160008581529182905260409091206001015411156101a05760008381526020818152604090912060010154908301525b6101ad6201518084610a21565b9250806101b981610a38565b915050610120565b505b92915050565b60007f00000000000000000000000046706780749bc41e7ab99d13bc1b2a74df40a7da6001600160a01b031663089ea02e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610229573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024d9190610a53565b905061025c6201518042610a82565b6102669042610a21565b61027290617080610a96565b8110156102bc5760405162461bcd60e51b815260206004820152601360248201527213dc9858db194e881b9bdd081d5c19185d1959606a1b60448201526064015b60405180910390fd5b60006102cb6201518042610a82565b6102d59042610a21565b6102e190617080610a96565b600081815260208190526040902090915060010154156103435760405162461bcd60e51b815260206004820152601760248201527f4f7261636c653a20616c726561647920736574746c656400000000000000000060448201526064016102b3565b600061034d6107c3565b602081015181519192501161039c5760405162461bcd60e51b81526020600482015260156024820152744f7261636c653a20696e76616c696420707269636560581b60448201526064016102b3565b600154158015906103bb57506103b56202a30083610a21565b60015411155b156105ef57600062015180600154846103d49190610a21565b6103de9190610aae565b6001546000908152602081905260408082208151808301928390529394509192919060029082845b8154815260200190600101908083116104065750939450600193505050505b828110156105eb57600061043c8262015180610ac2565b6001546104499190610a96565b85518451919250101561049c5784518351859184916104689190610a21565b6104729190610ac2565b61047c9190610aae565b83516104889190610a21565b6000828152602081905260409020556104de565b82518551859184916104ae9190610a21565b6104b89190610ac2565b6104c29190610aae565b83516104ce9190610a96565b6000828152602081905260409020555b6020808601519084015111156105405760208086015190840151859184916105069190610a21565b6105109190610ac2565b61051a9190610aae565b60208401516105299190610a21565b60008281526020819052604090206001015561058e565b60208084015190860151859184916105589190610a21565b6105629190610ac2565b61056c9190610aae565b602084015161057b9190610a96565b6000828152602081905260409020600101555b7f129963e6e43a03e48c7359ff751d2dce973b2e7719f9bc9e0bea219d39c4d05b816000808481526020019081526020016000206040516105d0929190610ae1565b60405180910390a150806105e381610a38565b915050610425565b5050505b600082815260208190526040902061060990826002610887565b5060018290556000828152602081905260409081902090517f129963e6e43a03e48c7359ff751d2dce973b2e7719f9bc9e0bea219d39c4d05b9161064f91859190610ae1565b60405180910390a1505050565b6106646101c9565b5050565b6000606060007f00000000000000000000000046706780749bc41e7ab99d13bc1b2a74df40a7da6001600160a01b031663089ea02e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f09190610a53565b90506106ff6201518042610a82565b6107099042610a21565b61071590617080610a96565b81101561075a5760405162461bcd60e51b815260206004820152601360248201527213dc9858db194e881b9bdd081d5c19185d1959606a1b60448201526064016102b3565b60006107696201518042610a82565b6107739042610a21565b61077f90617080610a96565b6000908152602081905260409020600101541596929550919350505050565b600060205281600052604060002081600281106107ba57600080fd5b01549150829050565b6107cb610869565b7f00000000000000000000000046706780749bc41e7ab99d13bc1b2a74df40a7da6001600160a01b0316633944ea3a6040518163ffffffff1660e01b8152600401600060405180830381865afa158015610829573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108519190810190610b2f565b8060200190518101906108649190610bdc565b905090565b60405180604001604052806002906020820280368337509192915050565b82600281019282156108b5579160200282015b828111156108b557825182559160200191906001019061089a565b506108c19291506108c5565b5090565b5b808211156108c157600081556001016108c6565b600080604083850312156108ed57600080fd5b50508035926020909101359150565b60408101818360005b6002811015610924578151835260209283019290910190600101610905565b50505092915050565b6000806020838503121561094057600080fd5b823567ffffffffffffffff8082111561095857600080fd5b818501915085601f83011261096c57600080fd5b81358181111561097b57600080fd5b86602082850101111561098d57600080fd5b60209290920196919550909350505050565b60005b838110156109ba5781810151838201526020016109a2565b838111156109c9576000848401525b50505050565b821515815260406020820152600082518060408401526109f681606085016020870161099f565b601f01601f1916919091016060019392505050565b634e487b7160e01b600052601160045260246000fd5b600082821015610a3357610a33610a0b565b500390565b6000600019821415610a4c57610a4c610a0b565b5060010190565b600060208284031215610a6557600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b600082610a9157610a91610a6c565b500690565b60008219821115610aa957610aa9610a0b565b500190565b600082610abd57610abd610a6c565b500490565b6000816000190483118215151615610adc57610adc610a0b565b500290565b8281526060810160208083018460005b6002811015610b0e57815483529183019160019182019101610af1565b505050509392505050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215610b4157600080fd5b815167ffffffffffffffff80821115610b5957600080fd5b818401915084601f830112610b6d57600080fd5b815181811115610b7f57610b7f610b19565b604051601f8201601f19908116603f01168101908382118183101715610ba757610ba7610b19565b81604052828152876020848701011115610bc057600080fd5b610bd183602083016020880161099f565b979650505050505050565b600060408284031215610bee57600080fd5b82601f830112610bfd57600080fd5b6040516040810181811067ffffffffffffffff82111715610c2057610c20610b19565b8060405250806040840185811115610c3757600080fd5b845b81811015610c51578051835260209283019201610c39565b50919594505050505056fea2646970667358221220df306820a898dbb6f4001b10a5fd0af5eac211c1e9b1f2143c87f3982832448764736f6c634300080a003303d0fc16092f11dfa682787ddac589a858c9b4ae483c46622641547d87a45b0e18005820036c5c9caf0c06c511ed90bc05e724223666ef0c48b5f03856b82c8a46810ba0454e1897070000582003d0ba537f456f142a28cdeaa7267d4a4865a747fc610c224808b09711e04f00454e2a972e800219010203eebc84e20a15ccdae0a6b9e7e84478a383538348615a1179f9a44855abe6416a0058200284f20586456b5007dff159d50e103813df8ce5f22898a0d46ad619ec06df7b4551c798544002190830036a3df86cf1860735cf3d0c4bc6ce7d899ffb11ceff4a5efaf7e639090a6cb2aa03d4237f8fd9f6998951e118ab938c24c42327bbd740f8dea098f96fe4e0cbfa1e03e6ab37d0bf98d9ad17b6bf0d1f2ec3ac7e9318235c9653239d89d40ae47c0ff6038f1877669856e483f3625850046ac4696342a167b9a52ae6470d7d19238d3601032bc8761823a3a9f6af871d240298fe1afb71edc43922030f56c05f6d18beba8c0397eaefa87fe6f5e18ae7599ad86f7e98ffe9f46489bb581d264ecb52e1f04c3e031ccacda1f83c62efd5dd65ee1262709254acb1774fda0697a5569863ce94e2fe03778bd8bf5f2cf70c1bba585e984ba4ced7a0e864983e6bfe54e89cff6ce96b1003a596d10ce35fa7d13c4cd3125fd36a68c9b004a66f83b928373e151b510bd54a03b430f925a9478e9949ed0d49dcd537416ccd3755d0ea4ee2d5a3d9471945147c03c223d753779bad5b3b0aaf048e24eea425a2eff7713bbd10544930c294675a4003ac88ba3429bb7e5b1558099d217275da4e4eaee2cbc4b49db74de29c65bd61d2034b7c0cd6f2077c82fde7d1bc5c8a46d804e4af77ec56a609f4e5a8d268f08bb20219fdff05581e03b389a5e440e4524d0939fa9da305fb05c09a5ae5140d43eebb5fbbc1300701190c9203492f703a74f0bb39631960c371b58c7c1929b54b8ff30bdf9aff2e1fbebc6e2905581e0303fca65f6df2bd5c30383e15bbf71a7262843d22c6cf114f09be728d300c02466a264348f3e005581e032682320902956c5059a0a465253da2461db69465f4f552f5cdabf6cd40040305581e033c7370c17cfe20a0a80fcc0235472f05f27f6ecdc815bdf3827069e1600c01470f15991c52600005581e03051224082952147decab995236eddf10767670c4e51117535e6df385600c0246fc3749b2cf0003a51ce151fb30f7dbe2e629834eea2685c8271185b764c332eef933677344f53f0396a389505ab6aae7990b995c821cfe43f233eab3e4a287b52b98509b727f275e0219c59f03db360c34599273def854f4596f71fcf01a9a2ca432c847d645b09a537ec39da10310255c8d5f7ba7ac344601270fb34ab2067b86e862bdf0326277feb8d6718e3c03f3664a514f8773df1e02469a2d639ef906a7fb28c3d941cad79b7938a5b986310333ae16bc6d8e31ee76f5726b3c7360af0fc1243fa6c2723a536a6e025b95df9f03880d89a9eb496277eb0660c079a1d6381d78ce082f545497407ad3aef0d1007a03b5f4c7d2b7cbc35f31bbb59c7ef5a3ff55a98f8f47b4b47a6b60c40abf56c342036f7699d9b954b74c64312c5188b323da79dcd61ee2974ce6295ac284a30c3c4603274211e15dd70876a489f2c2fc81ebfef078b5165b565100c144202ba4d1d67103966bb64d47e5722e9346c8738440f8ea132755a80bdaa981a70bc825270571ca0304cc751f5c84f80ea8480e31b66d382c47c8e09be0f5f3d192bf659cb1e3eca8039378ad9c9415065ad4213e72ac45634237db62c9f3e9dd5dda797b0e7a874c7103406ddd37179f6960ba600bfb162db412ac658aa59a0a5fcfa5e6bcae935e1d0d0219ffff036883d2890110878378e88e8c7e9179b466579958d14e5630a8e66d1dcff27c1a0392b62fa2ef769a4ad5e7306d7ef774b48769f96aca23926c80d4c1d1f364d7070306e299e533d8c40f10b4ae54ba9bf99c76057953136de87cfde7dbf4433c499603bac79ddbdd27c511ed1b2b3da2bd1ce3774adef364eb50702faf627bce8529e1036d52f0d0fac636bf3f45cf998adeb70d7a7c00b6524cd7a8005f50a0496e332203337a02e75365d95a116b83c3ce3c478432fb36fc0c167681860df5b99ce0318003fe97b61059682d37729758f22cc07445a625990ed2ebecda9e7ae07aff1a3a41037b894e822f1eec0305aa5bfe5fb53161c4657c4bfed29006082389a98a17234d03842046c1e167e802c1b31341686eb75e6bc7e0b44cced3884fb2c2b72518ab2b031006764ff6e863f57bee38edb791f8f64ebb6abdd55b4b2763793fccaf07cb9303dda99e7d9f66dda2b3b2f53bccf9e919629508657509f3f3769a788ff0999c47036a89021a78fa3e5872db700fdc5ac2f09369ad6f60d8c52841a127e80c9e2ff5033af2bd64efba4f955b6a0126a3e100519da0fc9fd3d6cbcd91042e9f9666a595039b308dd59f475181777fcda0a5211260d9b8bd934f48bf0510d86104452a521b03a91267e4f4e1e35de145758bb40461a5474420cafb7995253922538dc0270f4303510a97eb5f88732bf11805676f62ab9a1a7d10d1c21a61d2e074ffe9112151d503f41cf0ef122e9d2ddd6dcac707115dc27e7f6d974b60cd477d8be58b0c18926c03c274c1db382ad1d7c1c7da1fdf250702d2deb0b7a4e11779dc393c1de45d91010303e43f8ce8e57d68d81ce62044b93ac2a53d872a6ccf063c33dbec1d8ede3bb503d2607b29dddb62aac7eea947e94fc630512767685835336f1385324a1121e38203a3e6e695ec55fcd0d348ca26f1882f4c9b86da2584f37081e9eb3f4994e36e2a03b908c9fb75563cde3a88664d682073f8bde56777744588bf72494e018fd0cb7803be7d5e144a657d24f85eef57c70cf37e046ebe55ebd5d564abbfc84ebb2605f903d93f9f1fc9311e5874f8a55ecaf358374cce9d1d12964ee6fe057894c396533d05581d02495d66ce73a196a179125b1a5febc9fe73fc91f3acd1291a0d8dcab808480183130ebc80040005581d0273f29f41b71cea821f4c73702cd52764ef7b63e935727094c30702010847016bcc41e9000004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304b1089572ff68918230987ec0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604b1089572ff689182309840400582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04b7dda3a8400e65753f48fb40058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820234116822b3059b93e240109d3610e5a91b15bde0ed220dce9aa7af7cde6e916005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85607bcfbcb6c4c0672964a8c7a72fb1963d6092fea7c2402184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687db2f000000000000ff9a1125e90c6d2e014875b4891505c7def32f4a89310058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5407ddacf367f0d40bd68b4b80b4709a37bdc9f8470218480219b45505581d0289b2a382af590066d455acd3fd76c411c33d0c29e6b015ce6e26de2a0701192c1d02190288037a09682f2f25858eb7deab85b5912e58704477f5fe3cb609c0a9bb3a5db8ccf905581e038a30149da62efd61e15ca294a7fe3495b136f6ce2ea7af786f076ffde0040405581e03d77792e08943936559c5064382a2a605b8f889827f88034c264a61d1f0040103e36c8969b30e970f13abfa1b83899a58cb05dbc9ec00b3774cfea89b2ccc4e2605581e030d7f7504a813a788a240615b7c713a5ea3dd7824067b330586fe7ba5d00401037b204e5a73bc8d7ce097abf4bddc1805198b46d6d8d4aed64d35168bea0d55dc05581e03342cc5190c6e27eae944bff63dc91be272d016f3fb5b7f8ee16b783ce0040103a28770f9d53c4d397e419564bedea84c67b8eed08f2517f21b3dd72276f172b9039335129ad0c117d48e7202741129b2fc712f4a88cf287cadf0bdb31fd7e1c9a501410f0219fa9503411b8513e42ec13a24ca0e7bc23f787b5124c4aa4be28d44875f66a292afc16e0219ffff032cedead1cd61acae6f9732f2b859bbee2f7cb9aa2f2c97842a83736cd4b260d5038f2fa555fd7f29091b876a5b240fd6617d1108eb56ba5de3c6876a15c0dc695703212d04cece8efc0961c7e04c231c8687223bd76db8416f3400d90ad1c7639f6a0219ffff0219ffff03f4de7b967e8ab5192edb5c654a2d9eeb2dda733c165dfee7d494d622ae75978e03728ca742a9f2848ea6a3ec7c89ce7853215f09a5c1cf65bac44bb77ae7757c99035fd43e443e4fcf6fd9cbcb307f943ba653073d2efbf74e1c390bba667980707c0386832d4c593bf124e81ca2173e14ff71d86015acd2af8b94f79e7a6bf3f0648f032a9eafc5254006b2da98a43e07e6b392f2716ae2fb3be68ed360f5073cc512410318c63fb709f592d9fd0945cd33c517873c7d58642dab413e54838891bf29421b03f55ec004ec7c6a74e3be73184746df733534b11151d5a0e1f21b9f2a486f3dbe03faec6476c9c7369e9ffa662fbbb026ca8ec31916991bc2c23566ddc58a67a065036793af42f66e9e890fd77581340510c938a0248c30888b5d281f1bc716e4c9d303d40d73453150abf35b5d70d41f95897e5c478e41a7cb4a1ca1d4e801ec946b4903331eba29e30c74976e3934d11682c3001b4aa2fe72f3f1fe8da17f68a7575693031947d716bd629bbd484bdaa6fcc3ab77852fdb6082147ce48df5390c153ad26603f8c392cc3f25b9d9c47d728f2e3ad440cf555650ef34915ed60e3297d4b9ffd9033cdf2dedd0d6198cf943e831b798b975e4989ede01b9249c94b0e23c9154e35d037166b859a7430e38bf16fe6cffb7949dce5efcec00064fa7c74a5b5042d93b48034f56da466d8f50ae419bdaf0b2cc7027f6432c65ab7ad2b58d6f9c584287051f032cafe152ab9f7929a11b00bdee0b502433327b1080ce5f089260f9d543976f0705581d022c59102ca5cd599f935e5539a965610906cc3744597ea6bd3999a13d0c1a0002cbeb48bdb43e6ba8fef93605581d0296ffd5a2980d90326a3f41c7f646318c9059b1f47b9b38b5018435240c024606a4211dbc00020903ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e035d338df05d69a4e569f9423fbb2c905585cf4d2a39a3fc5082db824c8007011bffffffffffffffff038fa92528feea1822d38599a791d897ff4f9faab071a2900f688a1f00afe90ff603d33eb3d0f73bf9ef3337c4f8f6db30278ac22cd69d0ec7e7c517099b2f9d52ea032b54f91311e1355651fc63f5658f0ef9dace1eaa21282e33057c9864e43850d0031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03d4b9bf322904a371bf71363b3cc919bc040673f19ea14033e79f41a0c007011bffffffffffffffff03407bba10d4c7818fe543ec4a921d9c16571afc15ff5066cf981430bc95434c1b03f9449de2ebdfd2edd8d6c663fe0ea3928f528fcd23ff046203ef8007e735812602196ccb0382198182d4d9d3a785f24021a13d42dc3c18e8f9aaf37eae5ab12abc735f3ae20347d6db766d3bdb1d15584e4fac3284c704d64eb722b5c37185b979e65cb19c35033a3927130917e05c16d16dd1f56d0aa2ac057389c7624066d65d483fece322a703cbac4ca749562cb01d3ebdf77d8a7ba92c68a8dc6e441d9baa4f289348497ee8034b700287ee1dd13a859742ae6923a7529a0dd3f4edb7e9af91d60c5df235f1db0315058c04ff2818718212e91ec5b6481be9c25a86c908558a7e20c4a8dffc980603f2c3b1201c77597bf34a801329e0da50b98acc38e4513fcc411bc2f849642c4303db0fc2f6e690785b3edea87956c61b9a553f74b34fa064af80da7cfb350b60b20219ffff0321fbf0968c0be3511a2a5467dddddf00663ce6e902bbf728862d92d12ddd459b03ffab19382180c9b2c98e488fed342cdb212efba0522b83ed731387781883d1cd03d8c5b0fb2acb992ae91ee0ba62c131bf4229c3728cc8252f71accb22d9ba9df4033a982b88c1880ead72cd526604f1ae96047009ab969f26741e7c2ad41c814cd803ac7de6ab475b824783f868ce2971f5c7104ff5323b80de953a241598cf1e85070309aa857da82ca55183e6a3576a0110c02af3f8410a863e397eeb0146f235bb2a03b16e9650fc19ae40b0f3f0ae1787d1465d828457e5b9ebd2907bb9a845302a650348a1f1e6008a1e586380dc68662893c90c7622fb569d7eb7c4e378d1b3270c7403327762cf0c342af93f3d5fa0de1af52d579a6567c46ab903121f55d7cf92989d03399c6db209c675e76d0b9b71ed44952f194404652aeb6ab8ece46257cb1d51dd0219ffff03ebc9bed64e3bf75d017451371ca06dd3d942a590544ff57b47206b44f62bb45c03ed8299f530bf76cd4817478091e8b4ee38744ec83106ead0105768b377c5d53003bfac880cf88bf8c8605c6ba4c8f70ea9cce848095c7e3e55ebb4e3aceb5ea01303d58777e929b97fa59ded40c11cb9867e3c3ef2cb281038516753fb220923de330327e9c3efe5927fe598a83878582bbb7e461b3a888a7a2fe8671741001501448e039e9af6b53dbabbaa8e667c0e3b56bd0acdc8e713ab9912876867ea518e2ec53603e2580840abe8d4f880dd34a27bdd12e2b0b71265159af3fe1ac84e78fe1bc0c603547cd28bea3257dc12bf16a04aac19b2dfd6e9c4ce099d4382a74f0eb54a435f031ce5c1a69f4b48bef2dd1f0c03706f89713854619cf5a8626dbb1b5e4e6dda8603ccd4d5557741f786edae1386cd8c8f7f0ca5551e69ee52b2fb5ab82267d80f6203357e8b2382f91afb5e95773e464984df9b7c0246c273f2f4000f7a2154e52f7c0219ffff033d964c92e7387f1610e59c694b1936543809a5ac2180c82a64a3f97d2606c8a703b3a23500f8f4369e2e65f25c30e4158732c52a49a577d5189786af4c32259453032d4bc2512286814ca54e2825e37b0206557852ba20f61d8f07a9221e40f9bf1d03ac8009aed41b0420657e77b36dd466e505f71f74d1141cf0447cbcdab33bccd8031c5bd8dc9b54259e74c91fe7eeca6da1ac76a0fc27e13018cc22746412ad2642031aa900aed1552e4e7475dcd86ea552819d032bbb32af372c78e8d319f512329b03d29c07bb3ad0ea238e80ab60854934bf99298a483711b54cdda7929d367798d6035f65f1fd6dd8eef6df2d1f4c1c3c27c3a0866eb2eeede2d0e2e5c1a7148c835c034f99e083b00f90d2e46f7718c9f7a2bd2d6e3c51f8f3e278e39f61526c5e7e8303b2ec75667086d15bf66e1cbe1452ee92da690340b7d9eb61ab67f4b96a1c0a9703393182e679245c3ea16ee15471a4cdb16f9a59377044dab7d3f17bfe3322a97a0325a12bd99037ad6a2ad97f68924f56dcd6a6355bb2986fb73eea535ad045ffdf03fcbb6d365ee31bf936cffca4b16f93ecc40bde64b889dcd3181e2638f7c555f903c4188e09fc23e8817b7b9f5cc28eabc721c8eb5bb398769264f9e397abf348cc031149766ec6a87704d38f536fe01d70dcb90719280bc69435f1e6cfb8251e4e600347b6c25455790c6563367ed88ae5e3b264f3533fa736e8d53dcf1417e7240744039f3a86c4443ac0704998deff4e237c2c13ed6ab1cc6bb419dd7d674014f1ce2603b63984ab354e1599f857f76b632c7bbda7b1a7ae6cf9e176520bbd333fd030a203692df9d9d13e18db863ec13e111e3902c99481f89ccbeb9b65d0f5222bf5c09f03f4e328778b6d10611e1f178ff0505e816dc9d9c3d46062f4d01439c1008e34a7038cbe79e2dcf8d5d4649ee697198ff848b4eafa8a7464e7c67855551184f39ffc03dc3ac1a81e7c705e1f548fc8e6726efc937a246d3a89077642b0946257e100190378ae165b2ee95e7f1cff83c9f3fd41b13abc526b953093b668cc8aeb454269fb03534d0c0dd1981e23fd875fd7d8109b086167badcc7ae8332aa2ec91560f4cc43037b827feac7af3eea7a40df22c56c7f55fbb8c118c02d96bc81f9ff18782b11a403941fa376b1ac8635193c15036cd599b7b019a74cea8584d6a7f4feab9b9a14d6039b57d0e3424c18343542a98b202efd70001e1e55cf5932de5680f6a976a1469a03e026e74200ed7095d1eec8da212a01a3fb21a4359314829838141ecf1df271ec03862f67cb41a604d97936bb1638660232b6ad8b98e3ee4cdc66e4a6dcce7481f6035c428463e8a6425f9268cbc498d3d3713be22d0a0cc778dab580916fb7fefa64030ce465313babab7b38babfc07ba2c9736eaeec2e38784d03c08a6b9e9b4985e003177def9c108e517bcd8fb8b8ebe1404acd5ace85637036a910c8be5381827ae203059e319579744cd9095ba893edee0a40b8fc71f9a4492d237b9de0212e483cb3038c30c1c1ea256c0473b4a15a5a9b1faccc4fd96cf22d63913e4c14979dbc99e20399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803208002b903b899700123844440aea69e6f642f36c6116b977d3ea40cc27c395e05581e03ff25fd42b45aa415aa6115d9cd7e101e5adfc5540cd17951ee5d3cfa8007011bffffffffffffffff0355a3a1a425c7c075623b3fe163f8350fe49eff921f6ab2c0270fbf20f14dc73805581e030d8cad55caa266bb4478cd0a57ddfbcc06ca24a84877011e42de204e600c02470495627474fc0005581e03f29961c96a434f8e79f674c249853fdbf86f3fdc98f852a83bad098670040105581e03ef619cbfc9d45421ef86b0bf40b1b10e99cc45408620e11032ce69b1700c181e471ec086259f857a05581d02043026e8ada24ddcd9ba32470bcf73d94c353705507010c18333de290c19042d4801c1ebe8dd4fb71305581d02a9c24da48a6e58a28e948c7536dd388af3c91778a4fb2484b51f8acd0c034701c09ffbe8f5000219400205581e0346ffdc994479df8604385eb6e62ba610b4c2af1d9a6ab088d3be2fac200c0146593fcb62327005581e03f9e5f506affa23b8ef4671b56e61d04a5c203ca6f12f4c9f20373563d0040305581e03cf2669314e85f419ad61a85057675471e52357fca1e0cc242c972a59800c014701ea6f5e909610031e25444458952487c71e96cd86522d881e33f51ee236e6551433926eed3aa58003647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03e9c383a7d2a0d741b134f642b5fb5229a8e94ebe8cd13b4e2cd99e8844529f5a05581e0329c9562cce551270311d168bd6300be7c2af21912b0483432e49de1fe007011bffffffffffffffff0353e286a0911b46b5f2dedc46632972004a1fc0a9a9e1177f2f6f0e40edc581700219eef9035700b64584a06cc2b0bfd75d29c551a0219b6c28d4f1d5480b69c8d5c92755230219ffff03e299caa05e054e2cd2928f831c0fd8a3ebec1aa05e23358baec70736c000349c03232ece928298b076622e4d99b2925b0c2a96871ff5cb31dcf23b9026cef9694a0304ebad902209009174a55e9e49a1245349c515da7162788bbef0827c1b4d65f903860771fa53a41fdaa7ffadd4a1d285d1d1c60d9dc3c4f90b1fffac6f7786ac49031691116da2a9c0640c941b087aa7c22a600cb0fea483ff22ef15682a692b9abe03bcef37d077e2aa7de2974ce9cb78cf652a05448740f306f3ea070d996194d8d203d61cd3ce01179ebade4ef94db5d6bc4b979643bc143e564d9733bedb312f6514038e7fbaa17654d9e133eb4fc75885c6630d2c773ed24894224b9125fa7efdb0970219ffff03bcb207185e94a79f9a85ceb8aaededdd2db897c5525f5f6cf319d9445e5c07060347cd3d959e11cdf60418bc3cc211337f1f93f37059945f50e40a1dffdd46bd8f03b94585b2a1518142e1c00604b0c9c70ef76069cfefe7449e37002195d79a03fb039bdefc830e6fc2516fc212d5855c428293f316927b1895256795bce00eec115e03b89d1ac6a4a6142c79b5a31afa921c66d70ad27487efeef3ed3304096f007c8c0331996d45a698d67c8df7c0f4f0e487f85119f6200106d18ac4e7919e8d39012a033e9ac56312148e781b575b4ec4b5960fcf076c7ba9a4f62945dabc73b9ebb6e303de9dd15a0c6cafe3519fa7efa67e9ead8104e1795699b51e275ce5fef0f88beb03212b771d7ac7347e6ea08fc69a6364d3b23bd617db7c8b67578e055455d4cc0703bade1ef6d526ad88b55abf5c188d459746651b20eb6f7b9c478701157d1ffb5b03b5efca9f60b2b25a1ef9dd117af08f23fd456f475628b4cfc5f344a80f47ab470331ad0f19ccbcf714d9b7fa5553d2f928c19edf7757117b87b6f818dbd433447e03c95a319545f496346ae9637ad25ee57cabe44de2d38655eb055034e7bcc4b6420219ffff03cee3df7cfef8abcc20d8fb8522eebe0a9ff45e444b1afd50561900bb9033c475033f7bc2eea7f5c7310901068d2abcf5ecfe743a6e6066a0d2b5c0c83512b1d3840219ffff03e45de58166294497fbe4d9bfb7a2f80ee4a6f1af9ddacf7953388e0a38c5f004037dd5dbddab31bcbfadee2795668effb08d2d65639569712b9bdb3d20e9c17a9a033eb5e237076d71b7112b4a9824224cf404a57fac5c2d6add78ff5add6195647b03f18dc3fd80ba77c2e98b90fa36eaf9efcdcdc0ffba90f5dadb0e946d631e95740386d2d7d842e0ffe5c1efb41a0bab7a9493eee838987633a51c4b379781256432033edcd321a8708161cd9a42ce340aacd2099ea411bb7f1b28f32b7ca69842edb5039f79da223a548b3de65b95edc48af710ced15278c262c98c9de6a2958c0dc15903759da0e7f7eb171267ec67a8b481143755b29639fc059a291486873df970698b0363002d0fea3796490b443c8ea0f589558b4c83079f9978aaaff892a1e9fb34c303b24ce86fac0860048b40a584332723b8e93836e0199b2a111828ec59de89701a03533033e887ecc7d0d35dee32cbdca039d95c4fa34fe6dc93cf5112607b64e41403846df9abc5f4072a33819f02dea80ea2a6a20c06ae20391fdc7c9d9abffcfb28038ca4b9cccfb2fed90a45436313e4bfb2c9a2d0939c99a8d94044b8bce0b2da8703397d6e86bd4436bbb6ed2a3a456ec57533d0b57b27eeeaeafdeb8c2979f9a1ef03c7f4bb18fc39e954311b67bed81c6fd000c9c2a3fdbb2cd0129216b4ef83b3d103009a144e81af38d640d3d78c5cd12b546772a37f041a79b864e62a0fd897096203bec9a3554f14373ef5d3951b0481c5af607f24e0285171c2af3b1aa611c4184603c33f6d29cc736e50a84b33ff3327355f39206dc4641b5a58efae58b21a1dce4703e4d2a72a9f0c2ada53888bad625fb94d1c4f2458fb29928a7907ec92febe944c0348a0bbd59373366c2079fc66b977f91a43bf10764bc290924e335c869b530ab60338785391e1aac2291b37f0c0631cbef352de2cdabee0fb1431877f6448d8283c03eb7fb76f4a14c87e881f5a5d8a44709b6b3dcde98bd5aeba4c4bbbc883314d76036de5f2dec4d42c1eccf9924bdd7fea915cf0f5b13bc6a8741c7ab920c463156c03f05d8600ed8f0927353711debe8600a316eb5f8f17cbef1e6d85af2738f71ae203eed798ac5ea7977e50f43bd6189563dc62d7b45603f0d537c633917a322d007103460f0ede03f390cccc7775f73ae740818c12f646a2e4450dccc7bab256925f2103427f42f915036dac7973ab00b6854e79f3118cab7e2cfd68f66463700a66eb780364ef3149e89021bb2ebab1f111319790a96d3421ba68a4f5ef45e1201a2b3ecd0373dc8aa287140db6c1a14d8262da50aa8b59fafbdd882cdc29c830a6fb833d62030708aae461fe11cb2cb3b84c993cf2f2297ba595419a3b41dfc3adc1bbfce57b03bcf0e2f98d46c80ca90c56a7395890825201be322e1f25bcfc09f0edf1d12467037ff39cc4c65e750f850c6f2502b9f6cc0017b3f976d630c3df6843df961ed26203052bf1c46d1ef81a8ddadad7fa2262a7e37fb5f50bc6e5f2b6eff375630317b703a3f22f7f09c4e318b18ba6a6c9b3f4a90dd322f9f9f854817317b6eee4dfe6bb0397ddc3e3a83fceb09ff23471f70f6a56762a07e0a06b75f57f85b951fe020371035afd1a4112a50011c58c2a689082533f7414ad4f0184cfe49cd9d5427af823c10398480f5b9ff7c6c6acdb745bc31ddf1a36370c4b706de46fabbf86aa22496ed0035b3c9998cb32dd2e511ff5ea2b187f4922b050a8028b8e2b13cc058dcf6b59cd05581e0317f7f2905279c88186b4664907678d1581c8be802dbbc03dcdfad6e02007011bffffffffffffffff038cd49d8d8895737694ac60d10eb169300d7b8dc7cbae75917c698c1b26eb227e05581e03d6170971375368f98a1541b2a5eb0985f77f6570e09e63e7176b10b270040203faf91ae78eec61e3feb1f49b22c5d1cdaea216b75c691df6b966115ac32807fe03b56044793f6807817ca55da876da92b3a23d1364f97d0f3e73cc67f858dc456105581e03e9a673366cf3df1b85d6468ba62ed0e83a0c7e7efa36230d701659cc200c014802cdc7245abec28203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03cb6fbc0873fc5dad2833261fc3efb15fff290a1ca6831cf040b004bf0007011bffffffffffffffff0458ab608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c634300070600330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0041140058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d9db270c1b5e3bd161e8c8503c55ceabee709552005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c0410100582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc53054a0d43822175af83d9b1833eeec918f02833ce2b500582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04102035cf8e40acadfaf434ef92a3f584ff44fc581f949501b7ea94fa88bf9e780a95800582103d5755a6b04713acd916ca58ac22755bdad1624829bdac2f889a8f89628345790541bdb4c119225abaca0bfe12610789902851221ab03127fdca679e850e297a3a7d57b776e07aa7ad5f172c6809701312b282a19922b02191dc505581e03d0e0b8508a97ad03d7f38dbd82286958d2d78fa20a6e0e99bf905530e00f014926123dd58617ff594018ab032485954d6bf76a418085917daadb338e764dd70549b6a8e8cb8fb80b3815a658039af8ac3d75e8eacfa7a5b8b84be0fd8f4fd9c19ea1f53187591bfff555c2f14203638ac301fa95e3f743bb925d5cc83f46821e40ccb6abcbbd5af9e79b90c4e7e505581e03018ed81ab3de554864dc381ef5e339ad482e3035910a790a864d0a136007011bffffffffffffffff05581e03e0a8c46c661d551566f00729746cf89e35fa4ea1d5ba5c9d62638ed9100c024708cdba55c0e00003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03307c920d37422d4c83d32e7348d0fcebbc3d1b59217108bd02acb141e007011bffffffffffffffff05581e034ad904cc8a1749516f98f7ddf6ce88cb9cc324dc91b55589ac2cf8b0900c0347018aa5bd985e3802199eff03975ba65de07a5086df11e730f49e0a50c5a7365765216a00a10eb9c4c950135703431652926d53247a0509df718b49bd0ec1301222cd50e14cc3b0a5b24f0171df035d3e146305a23c56520c4c25c2c9ecd8b207184d3b1c97b50d7384a571d716da03f4b54a0f789bca17972a4be08dc74da67fa0e910917deb322abff6037098a25503d3189ea883da697d686404b7c4145b8f5da369e06d035f4dd9f75071c5fc06ff037425c130eb030999253d6efd86e1eb3a5d0680da0ed6096c7ccaf870e95318900219ffff0316b9dfda13efe2fc09b63d19ac2213d1890dacc15045bacf2972e590611e64b9039efc4965a0b796e4b8cdeff6da4a47585f56e61f108e94ffa13887511e0d4d1f039a29c8b6fb697ba1da8645ccd72db11dcae3c25fac9c1ec3d07e857b7d6d9d1b0347b9dbf6a84988f94d62d11593af8363d1800ac818d141f461270e5254dbf9f903b3b47f7d5a01e5bf3cbf61388119656cd4c128836741887f61700a700cc850e20219ffff0390d3f07a3fd2e2e59c8a1817f2f4744f601c42feddd01aedb355d5dc69038861034cb0ce56af1ff239dcf5d91570034b47d4e30a19637cb40d74369a6efa3277ad0219ffff0380e08f11ffbba98ae20f6c69994a72f27b0f6ce504c82b88bb77dcedeb59c908038e915b5fe7a1eaa5d39c35c9018f8a755230fff4a8437f03e7b93cc91c22fd69034b92acc87fcc564a097a43b78fc3c81de856f88b3e2b891ee42c6dd4efdcbd13038d274f45133ef472e41b46ecc5ae6554c756d876a389976edf9160c35c016ce3033ba6b3aabfd377eaaaa63f5e73bbed35239a1884ea54a6464b8cfa8e5eab031f03b1beded068a372cf692c42b77d1dcdae71e4be0825b24a655df1b4dde2e8dc7203b899da4a2d109b3ddf56a6d65193776b8a541085fb30c8b5146e7124235899d403131ea5f33764328a3b651a87e2f3eb21fdb36a4c45515d0f9595e5f827374aea03461573570e3c12c5742c26f4e825411f84b1fe9a36b36a4ab3e8120e1f3c70b5037a9840ea22bf776bef2d5eaf45cd93b0b3856c7cc6d296bea1934a80d5bb95300381e836d95c33cafdc732df9775b05faf3efa8a18520b61d4bad65ab4f3f2a5db03d6ee95a8726a1fb334ea311d52a7ad30ac9849f35872f7ca0d7ff9d2b62b2b18031daa60ca691672a141f3637f9cabe54e3196d4f381de07b0d45a109a498c31bf036f366c856e53367e09957c32c2e0f102b09bebb3378a89a1b5e1e2907333e31103f98a4bb39b7c3c8102a9644cfb0688fc52032bfee1b773478701f096200a344b03cca5da6ad9638c2222ebb6197cf982914e12ac5a1a0028b07d0616a76887b14303b79058a111263df7b20faf0fd957a80d2695873e03f9df4d9074a41a0531dab6037954a2ae734701307a677df42258a12f25674dcb340896d069a20e3de251b2be03cf3a14285ae12c86f6d5861787db809dc531728807a0af67b4d0f80840ad3120034bdd8aeabab8794b03e17310b55aff67b0ad8d487ee5e6ac12046530e63698e903ddb6ece4bfca08baef72b4054345348a9dd1df4dc3ec21084703ba8f6524989c037d56543922fb185ecfcb01d765f452e3438fefbf39a0e63c965c8fa43cfe5c9303b2d3d296c68b89397e9142e201dafb00f35c3eb6cb6fdd6570f35fda09171b1b0355814af755ad2aa592c55a154a7d185d71778e460013b599558d08ea26c61f6b037302feb1c15ffdf82d606c99c3e4e5f9f2df34be108503ecbc6c284a0903956c03bd5456aaed45c6ee373396a99e28052677f24d6eebd578ecd958b88adf58860903bf224d90a3d040f6ed8cf7de8553ddc8a8012c3801143f252402d8d995ae1af90389c0cfcfdf1626e35f5ef180154a3e69dba1a092a7122f2125eabea78e4ebc5203f8e60956fc37973ce8739dfdda84f462c464fc7fa8d33f80c8578dafbac22d74032cf313ccba276434ea60c6aed5fb908e3579526f2c3edbf198d74c9fd5090a6803cb2dd942c1c5017a740fd7eecd3d70784e069e443b06c120707595ca2265e833031ad76fd91f78d18e695fb1ce777155e6a360ae57edc7aea6ee9e2988e24e71b1038eb4db8db3a4920360fff2d2115e1c42a1912642e34363b138aca5e461496e70030c252bd9517378e888775dbf2d58dfe10ed73c0a4bb5a49cc45853b8e176593d03ef3a937eb58ccd81725e3b527c9b34787a3537152c277d74c84cad9d3101495803d7057d3e93bbfffaf81f367767b8adf74a6453b3f6c3350c73d52fa674451d6d03cd6fba08645014a3922a62377a6ddd6a506a7092764e86b36d13add6f425e9440363301583d0fad59e31afb60a7b3fe3713c67a46bbd9649490229e2eb4995ddd50382d466fa07d9af8db763c2835977099435ec3ceb09380455d258d1d62be6b4cf034cdc9d5b478452491910915ab4f9ece10e709fbad6cfa03f4f08a9084a7f0bc003cce185b2ca34492a66a3ee5ef0fd2940af0256bb951103c8ea3abe033b5bf81e03942f3a8e2e015921ce8f514a6a12387c09e95c26dfffee2d4f9c9fa3237d177805581e039b3a234ad40ef2b403f2b0be0c7b4b4b304f78198b3ae30c8391d42da00403036acce064d7b45e35154c9fcc3b60ac1978ca456030f239753282a54beb490d9005581e03a2c2c9a4cdd755486066b9181bc082fb896187f3da941157a0cbe313400c014743aafb2c7b508705581e039146c785736a2544f94c8fea80891a0da0328e78463bbb0debc98f78900c024702656cb3c0030004593d486080604052600436106100d65760003560e01c80638456cb591161007f5780639a1f3406116100595780639a1f340614610200578063cd0fb7a714610220578063f2fde38b14610260578063fa461e331461028057600080fd5b80638456cb59146101ad5780638da5cb5b146101c257806393b3774c146101ed57600080fd5b80632c8958f6116100b05780632c8958f6146100f95780636b2ace871461013f578063715018a61461019857600080fd5b8063046f7da2146100e257806323a69e75146100f95780632646478b1461011957600080fd5b366100dd57005b600080fd5b3480156100ee57600080fd5b506100f76102a0565b005b34801561010557600080fd5b506100f7610114366004613579565b6103a8565b61012c6101273660046136f5565b6103ba565b6040519081526020015b60405180910390f35b34801561014b57600080fd5b506101737f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610136565b3480156101a457600080fd5b506100f7610564565b3480156101b957600080fd5b506100f7610578565b3480156101ce57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610173565b61012c6101fb36600461377c565b61067b565b34801561020c57600080fd5b506100f761021b36600461382f565b61089a565b34801561022c57600080fd5b5061025061023b366004613868565b60016020526000908152604090205460ff1681565b6040519015158152602001610136565b34801561026c57600080fd5b506100f761027b366004613868565b6108f8565b34801561028c57600080fd5b506100f761029b366004613579565b6109af565b60005473ffffffffffffffffffffffffffffffffffffffff163314806102d557503360009081526001602052604090205460ff165b610366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f52503a2063616c6c6572206973206e6f7420746865206f776e6572206f72206160448201527f2070726976696c6567656420757365720000000000000000000000000000000060648201526084015b60405180910390fd5b600280547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b6103b4848484846109af565b50505050565b60025460009074010000000000000000000000000000000000000000900460ff16600114610444576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f526f75746550726f636573736f72206973206c6f636b65640000000000000000604482015260640161035d565b6002547501000000000000000000000000000000000000000000900460ff166001146104cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f526f75746550726f636573736f72206973207061757365640000000000000000604482015260640161035d565b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055610519878787878787610b5d565b9050600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790559695505050505050565b61056c6111a3565b6105766000611224565b565b60005473ffffffffffffffffffffffffffffffffffffffff163314806105ad57503360009081526001602052604090205460ff165b610639576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f52503a2063616c6c6572206973206e6f7420746865206f776e6572206f72206160448201527f2070726976696c65676564207573657200000000000000000000000000000000606482015260840161035d565b600280547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167502000000000000000000000000000000000000000000179055565b60025460009074010000000000000000000000000000000000000000900460ff16600114610705576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f526f75746550726f636573736f72206973206c6f636b65640000000000000000604482015260640161035d565b6002547501000000000000000000000000000000000000000000900460ff1660011461078d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f526f75746550726f636573736f72206973207061757365640000000000000000604482015260640161035d565b600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055604051600090819073ffffffffffffffffffffffffffffffffffffffff8c16908b908381818185875af1925050503d8060008114610826576040519150601f19603f3d011682016040523d82523d6000602084013e61082b565b606091505b50915091508161083d57805181602001fd5b61084b898989898989610b5d565b92505050600280547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905598975050505050505050565b6108a26111a3565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260016020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6109006111a3565b73ffffffffffffffffffffffffffffffffffffffff81166109a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161035d565b6109ac81611224565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314610a56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f526f75746550726f636573736f722e756e697377617056335377617043616c6c60448201527f6261636b3a2063616c6c2066726f6d20756e6b6e6f776e20736f757263650000606482015260840161035d565b6000808513610a655783610a67565b845b905060008113610af9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f526f75746550726f636573736f722e756e697377617056335377617043616c6c60448201527f6261636b3a206e6f7420706f73697469766520616d6f756e7400000000000000606482015260840161035d565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001660011790556000610b3283850185613868565b9050610b5573ffffffffffffffffffffffffffffffffffffffff82163384611299565b505050505050565b60008073ffffffffffffffffffffffffffffffffffffffff881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610c24576040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8916906370a0823190602401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f919061388c565b610c27565b60005b9050600073ffffffffffffffffffffffffffffffffffffffff871673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610cf1576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301528816906370a0823190602401602060405180830381865afa158015610cc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cec919061388c565b610d0a565b8473ffffffffffffffffffffffffffffffffffffffff16315b905087600080610d2e87604080518082019091528181528151909101602082015290565b90505b805160208201511115610e84576000610d508280516001018051915290565b90508060ff1660011415610d7a576000610d6983611372565b905083610d74578094505b50610e73565b8060ff1660021415610d9557610d90828d611437565b610e73565b8060ff1660031415610dac576000610d6983611457565b8060ff1660041415610dc157610d908261147d565b8060ff1660051415610dd657610d90826114a3565b8060ff1660061415610dec57610d908d836115a8565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f526f75746550726f636573736f723a20556e6b6e6f776e20636f6d6d616e642060448201527f636f646500000000000000000000000000000000000000000000000000000000606482015260840161035d565b610e7c836138d4565b925050610d31565b506000905073ffffffffffffffffffffffffffffffffffffffff8b1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610f4d576040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff8c16906370a0823190602401602060405180830381865afa158015610f24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f48919061388c565b610f50565b60005b905083610f5d8b8361390d565b1015610feb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f526f75746550726f636573736f723a204d696e696d616c20696e70757420626160448201527f6c616e63652076696f6c6174696f6e0000000000000000000000000000000000606482015260840161035d565b600073ffffffffffffffffffffffffffffffffffffffff8a1673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146110b3576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff89811660048301528b16906370a0823190602401602060405180830381865afa15801561108a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ae919061388c565b6110cc565b8773ffffffffffffffffffffffffffffffffffffffff16315b90506110d8898561390d565b81101561111e576110e98482613925565b6040517f963b34a500000000000000000000000000000000000000000000000000000000815260040161035d91815260200190565b6111288482613925565b6040805173ffffffffffffffffffffffffffffffffffffffff8b81168252602082018790529181018c905260608101839052919750808c1691908e169033907f2db5ddd0b42bdbca0d69ea16f234a870a485854ae0d91f16643d6f317d8b89949060800160405180910390a450505050509695505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161035d565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905261136d9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915261163b565b505050565b6000806113858380516014018051915290565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290915073ffffffffffffffffffffffffffffffffffffffff8216906370a0823190602401602060405180830381865afa1580156113f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611416919061388c565b91508115611425576001820391505b61143183308385611747565b50919050565b60006114498380516014018051915290565b905061136d83338385611747565b47611478823073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee84611747565b919050565b600061148f8280516014018051915290565b905061149f8260008360006117a2565b5050565b60006114b58280516014018051915290565b6040517ff7888aec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301523060248301529192506000917f0000000000000000000000000000000000000000000000000000000000000000169063f7888aec90604401602060405180830381865afa15801561154d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611571919061388c565b9050801561159c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b61136d83308484611747565b60006115ba8280516020018051915290565b905060006115ce8380516020018051915290565b905060006115e28480516001018051915290565b905060006115f68580516020018051915290565b9050600061160a8680516020018051915290565b905061163273ffffffffffffffffffffffffffffffffffffffff8816333088888888886118d6565b50505050505050565b600061169d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16611b569092919063ffffffff16565b80519091501561136d57808060200190518101906116bb919061393c565b61136d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161035d565b60006117598580516001018051915290565b905060005b8160ff16811015610b5557600061177b8780516002018051915290565b61ffff8082168602049485900394909150611798888888846117a2565b505060010161175e565b60006117b48580516001018051915290565b905060ff81166117cf576117ca85858585611b6d565b6118cf565b8060ff16600114156117e7576117ca85858585611f22565b8060ff16600214156117ff576117ca85858585612162565b8060ff1660031415611817576117ca85858585612410565b8060ff166004141561182f576117ca85858585612a98565b8060ff1660051415611847576117ca85858585612c26565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f526f75746550726f636573736f723a20556e6b6e6f776e20706f6f6c2074797060448201527f6500000000000000000000000000000000000000000000000000000000000000606482015260840161035d565b5050505050565b6040517f7ecebe0000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8881166004830152600091908a1690637ecebe0090602401602060405180830381865afa158015611946573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061196a919061388c565b6040517fd505accf00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301528981166024830152604482018990526064820188905260ff8716608483015260a4820186905260c48201859052919250908a169063d505accf9060e401600060405180830381600087803b158015611a0457600080fd5b505af1158015611a18573d6000803e3d6000fd5b50506040517f7ecebe0000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b81166004830152600093508c169150637ecebe0090602401602060405180830381865afa158015611a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aaf919061388c565b9050611abc82600161390d565b8114611b4a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f5361666545524332303a207065726d697420646964206e6f742073756363656560448201527f6400000000000000000000000000000000000000000000000000000000000000606482015260840161035d565b50505050505050505050565b6060611b6584846000856131e1565b949350505050565b6000611b7f8580516014018051915290565b90506000611b938680516001018051915290565b90506000611ba78780516014018051915290565b90506000611bbb8880516003018051915290565b905073ffffffffffffffffffffffffffffffffffffffff8716301415611c0157611bfc73ffffffffffffffffffffffffffffffffffffffff87168587611299565b611c41565b73ffffffffffffffffffffffffffffffffffffffff8716331415611c4157611c4173ffffffffffffffffffffffffffffffffffffffff87163386886132fa565b6000808573ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cb39190613977565b506dffffffffffffffffffffffffffff1691506dffffffffffffffffffffffffffff169150600082118015611ce85750600081115b611d4e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f57726f6e6720706f6f6c20726573657276657300000000000000000000000000604482015260640161035d565b6000808660ff16600114611d63578284611d66565b83835b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8b8116600483015292945090925083918c16906370a0823190602401602060405180830381865afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfe919061388c565b611e089190613925565b98506000611e1986620f42406139c7565b611e289062ffffff168b6139eb565b9050600081611e3a85620f42406139eb565b611e44919061390d565b611e4e84846139eb565b611e589190613a28565b90506000808a60ff16600114611e7057826000611e74565b6000835b604080516000815260208101918290527f022c0d9f00000000000000000000000000000000000000000000000000000000909152919350915073ffffffffffffffffffffffffffffffffffffffff8d169063022c0d9f90611ede90859085908f9060248101613ad9565b600060405180830381600087803b158015611ef857600080fd5b505af1158015611f0c573d6000803e3d6000fd5b5050505050505050505050505050505050505050565b6000611f348580516014018051915290565b9050600080611f498780516001018051915290565b60ff161190506000611f618780516014018051915290565b905073ffffffffffffffffffffffffffffffffffffffff8616331415611fa357611fa373ffffffffffffffffffffffffffffffffffffffff86163330876132fa565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915563128acb088284878161201757612012600173fffd8963efd1fc6a506488495d951d5263988d26613b14565b612027565b6120276401000276a36001613b41565b6040805173ffffffffffffffffffffffffffffffffffffffff8d166020820152016040516020818303038152906040526040518663ffffffff1660e01b8152600401612077959493929190613b79565b60408051808303816000875af1158015612095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b99190613bc0565b505060025473ffffffffffffffffffffffffffffffffffffffff16600114611632576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f526f75746550726f636573736f722e73776170556e6956333a20756e6578706560448201527f6374656400000000000000000000000000000000000000000000000000000000606482015260840161035d565b60006121748580516001018051915290565b905060006121888680516014018051915290565b9050600180831614156122575760006121a78780516014018051915290565b905060028316612213578073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b1580156121f957600080fd5b505af115801561220d573d6000803e3d6000fd5b50505050505b73ffffffffffffffffffffffffffffffffffffffff821630146122515761225173ffffffffffffffffffffffffffffffffffffffff82168386611299565b50610b55565b600282166123205773ffffffffffffffffffffffffffffffffffffffff851633141561229f5761229f73ffffffffffffffffffffffffffffffffffffffff85163330866132fa565b6040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff851690632e1a7d4d90602401600060405180830381600087803b15801561230757600080fd5b505af115801561231b573d6000803e3d6000fd5b505050505b60008173ffffffffffffffffffffffffffffffffffffffff168460405160006040518083038185875af1925050503d806000811461237a576040519150601f19603f3d011682016040523d82523d6000602084013e61237f565b606091505b5050905080611632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f526f75746550726f636573736f722e777261704e61746976653a204e6174697660448201527f6520746f6b656e207472616e73666572206661696c6564000000000000000000606482015260840161035d565b60006124228580516001018051915290565b905060006124368680516014018051915290565b905060ff8216156128315773ffffffffffffffffffffffffffffffffffffffff85163014156124a5576124a073ffffffffffffffffffffffffffffffffffffffff85167f000000000000000000000000000000000000000000000000000000000000000085611299565b61275b565b73ffffffffffffffffffffffffffffffffffffffff8516331415612505576124a073ffffffffffffffffffffffffffffffffffffffff8516337f0000000000000000000000000000000000000000000000000000000000000000866132fa565b6040517f4ffe34db00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301527f00000000000000000000000000000000000000000000000000000000000000001690634ffe34db906024016040805180830381865afa158015612590573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b49190613c04565b516040517fdf23b45b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301526fffffffffffffffffffffffffffffffff909216917f0000000000000000000000000000000000000000000000000000000000000000169063df23b45b90602401606060405180830381865afa158015612656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061267a9190613c77565b60409081015190517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000811660048301526fffffffffffffffffffffffffffffffff909216918716906370a0823190602401602060405180830381865afa158015612720573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612744919061388c565b61274e919061390d565b6127589190613925565b92505b6040517f02b9446c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830181905290831660448301526064820185905260006084830152906302b9446c9060a40160408051808303816000875af1158015612806573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282a9190613bc0565b5050610b55565b73ffffffffffffffffffffffffffffffffffffffff851615612908576040517ff18d03cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301528681166024830152306044830152606482018590527f0000000000000000000000000000000000000000000000000000000000000000169063f18d03cc90608401600060405180830381600087803b1580156128eb57600080fd5b505af11580156128ff573d6000803e3d6000fd5b505050506129c1565b6040517ff7888aec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301523060248301527f0000000000000000000000000000000000000000000000000000000000000000169063f7888aec90604401602060405180830381865afa15801561299a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129be919061388c565b92505b6040517f97da6d3000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152306024830152828116604483015260006064830152608482018590527f000000000000000000000000000000000000000000000000000000000000000016906397da6d309060a40160408051808303816000875af1158015612a6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a8e9190613bc0565b5050505050505050565b6000612aaa8580516014018051915290565b85516020808201805190920101875290915073ffffffffffffffffffffffffffffffffffffffff851615612b91576040517ff18d03cc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015286811660248301528381166044830152606482018590527f0000000000000000000000000000000000000000000000000000000000000000169063f18d03cc90608401600060405180830381600087803b158015612b7857600080fd5b505af1158015612b8c573d6000803e3d6000fd5b505050505b6040517f627dd56a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83169063627dd56a90612be3908490600401613ce3565b6020604051808303816000875af1158015612c02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611632919061388c565b6000612c388580516014018051915290565b90506000612c4c8680516001018051915290565b90506000612c608780516001018051915290565b60000b90506000612c778880516001018051915290565b60000b90506000612c8e8980516014018051915290565b90506000612ca28a80516014018051915290565b9050600073ffffffffffffffffffffffffffffffffffffffff891673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415612d8b576040517f3df02124000000000000000000000000000000000000000000000000000000008152600f86810b600483015285900b6024820152604481018990526000606482015273ffffffffffffffffffffffffffffffffffffffff881690633df02124908a9060840160206040518083038185885af1158015612d5f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190612d84919061388c565b905061306e565b73ffffffffffffffffffffffffffffffffffffffff8a16331415612dcb57612dcb73ffffffffffffffffffffffffffffffffffffffff8a1633308b6132fa565b612dec73ffffffffffffffffffffffffffffffffffffffff8a16888a613358565b5060ff8616612e9f576040517f3df02124000000000000000000000000000000000000000000000000000000008152600f86810b600483015285900b6024820152604481018990526000606482015273ffffffffffffffffffffffffffffffffffffffff881690633df02124906084016020604051808303816000875af1158015612e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d84919061388c565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff8416906370a0823190602401602060405180830381865afa158015612f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f30919061388c565b6040517f3df02124000000000000000000000000000000000000000000000000000000008152600f88810b600483015287900b6024820152604481018b90526000606482015290915073ffffffffffffffffffffffffffffffffffffffff891690633df0212490608401600060405180830381600087803b158015612fb457600080fd5b505af1158015612fc8573d6000803e3d6000fd5b50506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000925073ffffffffffffffffffffffffffffffffffffffff861691506370a0823190602401602060405180830381865afa158015613039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061305d919061388c565b90506130698282613925565b925050505b73ffffffffffffffffffffffffffffffffffffffff831630146131d45773ffffffffffffffffffffffffffffffffffffffff821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156131b35760008373ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114613117576040519150601f19603f3d011682016040523d82523d6000602084013e61311c565b606091505b50509050806131ad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603660248201527f526f75746550726f636573736f722e7377617043757276653a204e617469766560448201527f20746f6b656e207472616e73666572206661696c656400000000000000000000606482015260840161035d565b506131d4565b6131d473ffffffffffffffffffffffffffffffffffffffff83168483611299565b5050505050505050505050565b606082471015613273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161035d565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161329c9190613cf6565b60006040518083038185875af1925050503d80600081146132d9576040519150601f19603f3d011682016040523d82523d6000602084013e6132de565b606091505b50915091506132ef87838387613389565b979650505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526103b49085907f23b872dd00000000000000000000000000000000000000000000000000000000906084016112eb565b6000613365848484613426565b80611b65575061337784846000613426565b8015611b655750611b65848484613426565b6060831561341c5782516134155773ffffffffffffffffffffffffffffffffffffffff85163b613415576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161035d565b5081611b65565b611b658383613535565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b300000000000000000000000000000000000000000000000000000000179052915160009283928392918816916134bf9190613cf6565b6000604051808303816000865af19150503d80600081146134fc576040519150601f19603f3d011682016040523d82523d6000602084013e613501565b606091505b509150915081801561352b57508051158061352b57508080602001905181019061352b919061393c565b9695505050505050565b8151156135455781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035d9190613ce3565b6000806000806060858703121561358f57600080fd5b8435935060208501359250604085013567ffffffffffffffff808211156135b557600080fd5b818701915087601f8301126135c957600080fd5b8135818111156135d857600080fd5b8860208285010111156135ea57600080fd5b95989497505060200194505050565b73ffffffffffffffffffffffffffffffffffffffff811681146109ac57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f83011261365b57600080fd5b813567ffffffffffffffff808211156136765761367661361b565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156136bc576136bc61361b565b816040528381528660208588010111156136d557600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c0878903121561370e57600080fd5b8635613719816135f9565b9550602087013594506040870135613730816135f9565b9350606087013592506080870135613747816135f9565b915060a087013567ffffffffffffffff81111561376357600080fd5b61376f89828a0161364a565b9150509295509295509295565b600080600080600080600080610100898b03121561379957600080fd5b88356137a4816135f9565b97506020890135965060408901356137bb816135f9565b95506060890135945060808901356137d2816135f9565b935060a0890135925060c08901356137e9816135f9565b915060e089013567ffffffffffffffff81111561380557600080fd5b6138118b828c0161364a565b9150509295985092959890939650565b80151581146109ac57600080fd5b6000806040838503121561384257600080fd5b823561384d816135f9565b9150602083013561385d81613821565b809150509250929050565b60006020828403121561387a57600080fd5b8135613885816135f9565b9392505050565b60006020828403121561389e57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613906576139066138a5565b5060010190565b60008219821115613920576139206138a5565b500190565b600082821015613937576139376138a5565b500390565b60006020828403121561394e57600080fd5b815161388581613821565b80516dffffffffffffffffffffffffffff8116811461147857600080fd5b60008060006060848603121561398c57600080fd5b61399584613959565b92506139a360208501613959565b9150604084015163ffffffff811681146139bc57600080fd5b809150509250925092565b600062ffffff838116908316818110156139e3576139e36138a5565b039392505050565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613a2357613a236138a5565b500290565b600082613a5e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60005b83811015613a7e578181015183820152602001613a66565b838111156103b45750506000910152565b60008151808452613aa7816020860160208601613a63565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b84815283602082015273ffffffffffffffffffffffffffffffffffffffff8316604082015260806060820152600061352b6080830184613a8f565b600073ffffffffffffffffffffffffffffffffffffffff838116908316818110156139e3576139e36138a5565b600073ffffffffffffffffffffffffffffffffffffffff808316818516808303821115613b7057613b706138a5565b01949350505050565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a060808301526132ef60a0830184613a8f565b60008060408385031215613bd357600080fd5b505080516020909101519092909150565b80516fffffffffffffffffffffffffffffffff8116811461147857600080fd5b600060408284031215613c1657600080fd5b6040516040810181811067ffffffffffffffff82111715613c3957613c3961361b565b604052613c4583613be4565b8152613c5360208401613be4565b60208201529392505050565b805167ffffffffffffffff8116811461147857600080fd5b600060608284031215613c8957600080fd5b6040516060810181811067ffffffffffffffff82111715613cac57613cac61361b565b604052613cb883613c5f565b8152613cc660208401613c5f565b6020820152613cd760408401613be4565b60408201529392505050565b6020815260006138856020830184613a8f565b60008251613d08818460208701613a63565b919091019291505056fea26469706673582212201ff294929b57776d43429e47ba13e7bb550e4a27be6afbadf8c8a0d6ad6324b364736f6c634300080a00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305419b3eb3af5d93b77a5619b047de0eed7115a19e70058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05601010000000000000000000000000000000000000001021405581e0346f3384688341c721b805b50098dc47cca55495de4632b2164ba0ecc500701193d4805581e0379917346931eb83e6339c243e7b8ee258d80a71a526da6387a6f17d5200c0247051ed811d05d9c05581e032f19124404229fab105d2ba19c50713b04e8f7100b7ff9e8ac5a90b2c00403032bbe29e5167bd5b8b261acb9cbfbda5955ab14f8a2147393dc99b3b91f3941b7021979f20219ffff03cfebbc672fb6955756dd96982c262329780ef16af771106fe1863c40fba98bd1039c5ce55564e5d3827c63032bdad00452a151dc0cb7b80e462b3158bb37f25cd2033891e8f759d282533e50ce8a28e72b84397ca481e2abf51913ca016ef1c48d9a036a40261ab005dbc390327bab7fdc4595b49cc74db5fbbf8a266be86e8a6a939603e0b81fd21c4694d5ca50ee94b09f5c288ed5c3abd3396e2702c41b2c8167a7c103b2b9ae2812235290bec5387a83acaed6f7a75253af34940df9fd3fd16474c5f30219ffff0323ccdf157c793e44915309245991bf05e1533d35f90c67ef50e76bd48042300803ad06cdfe0bf06c2165c86083dfdbfe19c96db30c5b517d53506bb2301f78d5090219ffff039d7cd03fd861951ea519526e6d110134a7dcedf39aedf24b8e84df2c6a25f8b6034c5ffa48fcd4da327ad297d7c8ddfe2236e063425ecc53218465b5b01ea87b94033b320d9bde6f1e7b7110c79682681cdda3e80cc6db73a727df9d40bf9d0cc3f603d39e579bce88a0479878061b9dd7d87f1138e84efeb1434c66be375c5f50f4ad0330c08e644e2fd8bfc594e8ac76d708b26da430ee0c9f6ad2dd3605c1f78bb0e6037dc0189a07be11285f7b52144eaf6ce801b0a563de770dd091e7e4e23cb7df63034d4c815d8d001d8eb6e10b86ce6acd44ab5b69fa49c5de4cba9dcffc67fc03ed038e91687246655961e97eb0ce98ae9398649e2c17f399e7b7b1d75b52d2e72786032133af192d94da54ae62aac94d5a61b4c25f70965a149b612adcd69dccf2c1d203736b6fd664ac16303de2fbd51e315d12ee802e9559f5209bcb8d9b5a29507898039f0b21d127f4f95bda4e79475afd810ff834053d7af340af769e3da859adeae4039147085bb614137472ff513de24f7d3ad0c83afd927499082113e95d0534e0630364c12f0212e445e24e10b45788fa8b12bd1882f4ce090cd8c56cc357061fbd7b032d8be782d5a528fae7aec70d39ec47ceab258da8b4d567ca7d7cbb7e044648ce03fc1dfd234a678687b44765c533a607b4c6bb95d07fcb47eab6cc71206286d33703847877aa483cf276829554cd8699565a34d57780de30894945751c3b72b0610d0351bdceb9066e4242ae198e050abef853fb59d84f206216057681c4966c2ced7903e9735237342113a86c8cfb25207be3bf673b4fffb7e9139cf3f5d6eca345d54205581e0367ffece506dec66f013695adfbc00082b98c86907a1cbe5823762a8b800c0a46d300b596800005581d02b1a1b6ed338483ee9bc366b0bc4efefa32e419ecaefd2c95c0751856040104591e94608060405234801561001057600080fd5b50600436106101735760003560e01c806370a08231116100de578063a9059cbb11610097578063cf1a0ce111610071578063cf1a0ce11461031e578063dd62ed3e14610331578063e057fbff14610344578063ffb6b2fa1461035757610173565b8063a9059cbb146102e5578063a97e5c93146102f8578063aefe7da41461030b57610173565b806370a082311461027c57806375f2d82b1461028f5780637ddc1027146102a457806395d89b41146102b7578063a2d7cab8146102bf578063a457c2d7146102d257610173565b806335e061fc1161013057806335e061fc1461020857806339509351146102105780634054b92b1461022357806343672af0146102365780634fd7795414610249578063633a0d181461026957610173565b806306fdde0314610178578063095ea7b3146101965780630a55ec25146101b657806318160ddd146101cb57806323b872dd146101e0578063313ce567146101f3575b600080fd5b61018061036a565b60405161018d91906119db565b60405180910390f35b6101a96101a43660046115e9565b610400565b60405161018d91906118be565b6101c96101c4366004611753565b610416565b005b6101d3610468565b60405161018d91906118c9565b6101a96101ee3660046115ae565b61046e565b6101fb6104f6565b60405161018d9190611ca0565b6101a96104fb565b6101a961021e3660046115e9565b610504565b6101c96102313660046117cd565b610537565b6101c9610244366004611612565b61055c565b61025c6102573660046116bd565b610615565b60405161018d9190611897565b6101d36102773660046117b2565b61063f565b6101d361028a36600461155b565b610692565b6102976106b1565b60405161018d91906118ab565b6101d36102b236600461164e565b610712565b610180610749565b6101c96102cd3660046116d5565b6107aa565b6101a96102e03660046115e9565b610954565b6101a96102f33660046115e9565b6109ce565b6101a961030636600461155b565b6109db565b6101d3610319366004611719565b6109f0565b6101a961032c3660046116bd565b610a09565b6101d361033f36600461157c565b610a1e565b6101c961035236600461180f565b610a49565b6101c9610365366004611669565b610abb565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103f65780601f106103cb576101008083540402835291602001916103f6565b820191906000526020600020905b8154815290600101906020018083116103d957829003601f168201915b5050505050905090565b600061040d338484610aea565b50600192915050565b600061042284846109f0565b9050600283511161044e5760405162461bcd60e51b815260040161044590611ad4565b60405180910390fd5b6104588183610bd6565b6104628484610d06565b50505050565b60025490565b600061047b848484610e66565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156104de5760405162461bcd60e51b8152600401808060200182810382526028815260200180611da86028913960400191505060405180910390fd5b6104eb8533858403610aea565b506001949350505050565b600990565b60055460ff1681565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161040d9185908501610aea565b60006105428361063f565b905061054e8183610bd6565b61055783610fbc565b505050565b60055460ff1661057e5760405162461bcd60e51b815260040161044590611a9d565b600061058a8433610a1e565b9050828110156105ac5760405162461bcd60e51b815260040161044590611bbd565b6105b98433858403610aea565b6105c38484610fc8565b8160200151846001600160a01b03167f6b74e6f7dd6e60dc426635d2014db6f0d51f3ce50162504b561ccd9ca158f68c846000015186604051610607929190611911565b60405180910390a350505050565b6006818154811061062557600080fd5b6000918252602090912001546001600160a01b0316905081565b80516020808301516040808501518051805190850151828601519284015193516000976106759761da7a97919691959201611990565b604051602081830303815290604052805190602001209050919050565b6001600160a01b0381166000908152602081905260409020545b919050565b606060068054806020026020016040519081016040528092919081815260200182805480156103f657602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106eb575050505050905090565b600061b012838360405160200161072b93929190611974565b60405160208183030381529060405280519060200120905092915050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103f65780601f106103cb576101008083540402835291602001916103f6565b8060200151516041146107cf5760405162461bcd60e51b815260040161044590611a0e565b60208082015190810151604082015160608301519192909160001a907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561082b5760405162461bcd60e51b815260040161044590611b02565b8160ff16601b1415801561084357508160ff16601c14155b156108605760405162461bcd60e51b815260040161044590611b7b565b60606040518060400160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152509050600081886040516020016108af929190611875565b60405160208183030381529060405280519060200120905086600001516001600160a01b0316600182868989604051600081526020016040526040516108f894939291906118d2565b6020604051602081039080840390855afa15801561091a573d6000803e3d6000fd5b505050602060405103516001600160a01b03161461094a5760405162461bcd60e51b815260040161044590611a74565b5050505050505050565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156109b75760405162461bcd60e51b8152600401808060200182810382526025815260200180611e3a6025913960400191505060405180910390fd5b6109c43385858403610aea565b5060019392505050565b600061040d338484610e66565b60076020526000908152604090205460ff1681565b60006105e7838360405160200161072b93929190611948565b60086020526000908152604090205460ff1681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60055460ff16610a6b5760405162461bcd60e51b815260040161044590611a9d565b610a753383610fc8565b6020810151815160405133917f6b74e6f7dd6e60dc426635d2014db6f0d51f3ce50162504b561ccd9ca158f68c91610aaf91908790611911565b60405180910390a35050565b6000610ac78484610712565b9050610ad38183610bd6565b50506005805460ff19169215159290921790915550565b6001600160a01b038316610b2f5760405162461bcd60e51b8152600401808060200182810382526024815260200180611e166024913960400191505060405180910390fd5b6001600160a01b038216610b745760405162461bcd60e51b8152600401808060200182810382526022815260200180611d606022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6006546003906002020481511015610c005760405162461bcd60e51b815260040161044590611a45565b60008281526008602052604090205460ff1615610c2f5760405162461bcd60e51b815260040161044590611b44565b80516000805b82811015610ce7576000848281518110610c4b57fe5b602090810291909101810151516001600160a01b0381166000908152600790925260409091205490915060ff16610c945760405162461bcd60e51b815260040161044590611c3c565b6001600160a01b038116838111610cbd5760405162461bcd60e51b815260040161044590611c69565b809350610cdd87878581518110610cd057fe5b60200260200101516107aa565b5050600101610c35565b505050600091825250600860205260409020805460ff19166001179055565b60065460005b81811015610d635760006007600060068481548110610d2757fe5b6000918252602080832091909101546001600160a01b031683528201929092526040019020805460ff1916911515919091179055600101610d0c565b508151610d7790600690602085019061121b565b5060065460005b81811015610e265760076000858381518110610d9657fe5b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff1615610dda5760405162461bcd60e51b815260040161044590611c05565b600160076000868481518110610dec57fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610d7e565b507fbf8eff3db76b38ea899a5a32c8b2bede5ec5a339a2c5080495d1b154f2b5f21e8484604051610e589291906118f0565b60405180910390a150505050565b6001600160a01b038316610eab5760405162461bcd60e51b8152600401808060200182810382526025815260200180611df16025913960400191505060405180910390fd5b6001600160a01b038216610ef05760405162461bcd60e51b8152600401808060200182810382526023815260200180611d1b6023913960400191505060405180910390fd5b610efb838383610557565b6001600160a01b03831660009081526020819052604090205481811015610f535760405162461bcd60e51b8152600401808060200182810382526026815260200180611d826026913960400191505060405180910390fd5b6001600160a01b038085166000818152602081815260408083208787039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a350505050565b610fc5816110d2565b50565b6001600160a01b03821661100d5760405162461bcd60e51b8152600401808060200182810382526021815260200180611dd06021913960400191505060405180910390fd5b61101982600083610557565b6001600160a01b038216600090815260208190526040902054818110156110715760405162461bcd60e51b8152600401808060200182810382526022815260200180611d3e6022913960400191505060405180910390fd5b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3505050565b6110ed816000015182602001516001600160401b0316611157565b80516040808301516020808201518251808301519051938501519287015194516001600160a01b0390961695919490937fb4970d7abac0f0a296c031e82e94fba581d5f7c71401083ff999b9d86e9b99029361114c9391929091611924565b60405180910390a450565b6001600160a01b0382166111b2576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6111be60008383610557565b60028054820190556001600160a01b038216600081815260208181526040808320805486019055805185815290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b828054828255906000526020600020908101928215611270579160200282015b8281111561127057825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061123b565b5061127c929150611280565b5090565b5b8082111561127c5760008155600101611281565b80356001600160a01b03811681146106ac57600080fd5b600082601f8301126112bc578081fd5b81356112cf6112ca82611cd1565b611cae565b8181529150602080830190848101818402860182018710156112f057600080fd5b60005b848110156113165761130482611295565b845292820192908201906001016112f3565b505050505092915050565b600082601f830112611331578081fd5b813561133f6112ca82611cd1565b818152915060208083019084810160005b8481101561131657611367888484358a0101611389565b84529282019290820190600101611350565b803580151581146106ac57600080fd5b60006040828403121561139a578081fd5b604051604081016001600160401b0382821081831117156113b757fe5b816040528293506113c785611295565b83526020915081850135818111156113de57600080fd5b8501601f810187136113ef57600080fd5b8035828111156113fb57fe5b61140d601f8201601f19168501611cae565b9250808352878482840101111561142357600080fd5b808483018585013760009083018401525091015292915050565b600081830360c081121561144f578182fd5b60408051606081016001600160401b03828210818311171561146d57fe5b81845282955061147c87611295565b835261148a60208801611544565b60208401526080603f19860112156114a157600080fd5b8351945060608501915084821081831117156114b957fe5b5082526114c8868684016114ec565b8352608085013560208401526114e060a08601611544565b83830152015292915050565b6000604082840312156114fd578081fd5b604051604081018181106001600160401b038211171561151957fe5b6040529050808235600081900b811461153157600080fd5b8152602092830135920191909152919050565b80356001600160401b03811681146106ac57600080fd5b60006020828403121561156c578081fd5b61157582611295565b9392505050565b6000806040838503121561158e578081fd5b61159783611295565b91506115a560208401611295565b90509250929050565b6000806000606084860312156115c2578081fd5b6115cb84611295565b92506115d960208501611295565b9150604084013590509250925092565b600080604083850312156115fb578182fd5b61160483611295565b946020939093013593505050565b600080600060808486031215611626578283fd5b61162f84611295565b92506020840135915061164585604086016114ec565b90509250925092565b60008060408385031215611660578182fd5b61160483611379565b60008060006060848603121561167d578283fd5b61168684611379565b92506020840135915060408401356001600160401b038111156116a7578182fd5b6116b386828701611321565b9150509250925092565b6000602082840312156116ce578081fd5b5035919050565b600080604083850312156116e7578182fd5b8235915060208301356001600160401b03811115611703578182fd5b61170f85828601611389565b9150509250929050565b6000806040838503121561172b578182fd5b8235915060208301356001600160401b03811115611747578182fd5b61170f858286016112ac565b600080600060608486031215611767578081fd5b8335925060208401356001600160401b0380821115611784578283fd5b611790878388016112ac565b935060408601359150808211156117a5578283fd5b506116b386828701611321565b600060c082840312156117c3578081fd5b611575838361143d565b60008060e083850312156117df578182fd5b6117e9848461143d565b915060c08301356001600160401b03811115611803578182fd5b61170f85828601611321565b60008060608385031215611821578182fd5b823591506115a584602085016114ec565b6000815180845260208085019450808401835b8381101561186a5781516001600160a01b031687529582019590820190600101611845565b509495945050505050565b60008351611887818460208801611cee565b9190910191825250602001919050565b6001600160a01b0391909116815260200190565b6000602082526115756020830184611832565b901515815260200190565b90815260200190565b93845260ff9290921660208401526040830152606082015260800190565b6000838252604060208301526119096040830184611832565b949350505050565b60009290920b8252602082015260400190565b60009390930b83526001600160401b03918216602084015216604082015260600190565b600061ffff851682528360208301526060604083015261196b6060830184611832565b95945050505050565b61ffff9390931683529015156020830152604082015260600190565b61ffff9790971687526001600160a01b039590951660208701526001600160401b03938416604087015260009290920b6060860152608085015260a08401521660c082015260e00190565b60006020825282518060208401526119fa816040850160208701611cee565b601f01601f19169190910160400192915050565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b6020808252601590820152744e6f7420656e6f756768207369676e61747572657360581b604082015260600190565b6020808252600f908201526e57726f6e67207369676e617475726560881b604082015260600190565b6020808252601a908201527f4275726e2069732063757272656e746c792064697361626c6564000000000000604082015260600190565b60208082526014908201527313995dc81cd95d081a5cc81d1bdbc81cda1bdc9d60621b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526018908201527f566f746520697320616c72656164792066696e69736865640000000000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526028908201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616040820152676c6c6f77616e636560c01b606082015260800190565b60208082526017908201527f4475706c6963617465206f7261636c6520696e20536574000000000000000000604082015260600190565b6020808252601390820152722ab730baba3437b934bd32b21039b4b3b732b960691b604082015260600190565b60208082526019908201527f5369676e61747572657320617265206e6f7420736f7274656400000000000000604082015260600190565b60ff91909116815260200190565b6040518181016001600160401b0381118282101715611cc957fe5b604052919050565b60006001600160401b03821115611ce457fe5b5060209081020190565b60005b83811015611d09578181015183820152602001611cf1565b83811115610462575050600091015256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122059e486842dfe8c7ab44224799a35633a87ec346b1f567828e3450c99e78e54a864736f6c63430007040033039d22dfc9ae0daafbe6e8822844c3c31822f991cfcb4a9c2ec810af92787dd55c03e536a9baa9837cd479a45ceb9699720426b6bd3f6837e37883d4c295b1db1d9d03112616ccd27fe5333861f4e3f2063980ec54da9a18016c15d78d674c9d539902033fa323c984a70780b57cf29d3b86835d8827505230a0e340420f1d850a7a7dba03d749aa0d6468a380cad34e7792b2050fa2253435f700e6189094946ca995c96d03afbe3c24019e4f486ac36aa8dd8e20c850e4edc3bf305f3dc838b7d3cab5bb36037b6ce595e218305d907b4a4646702df479a4cc9884b3ddb80d0b8e24c4e0fb5703cf2956062bbd05e2a0306c8cca1cf6689ddf7cd94fe2abe50c565471ba788f9803209c0a17fe40a93179ff8da010d0f5ec17aad96b435420fe46917f9a7966469403b937c4090aba8b805287ce323952a7cb939dc44a449c72cac5e993388366bc2f037460e95a8cadb6106661c1bb0238f300c355b7f158996ad1d16c9dbccde41ce6035e4c7da2ab2f60284b74231bb251b875ce46602168e5171a33bcee8d7c98530d034e08c0ece747f8da57f9040a20a1830eca9f92f989e841501828a4d13a55c1c400581f02467cab72c06189fc5a06a3dd1330aab9dae4cfb66c76378de34acf79f786410100581f022c249bd8bd93bd52dafc6c682959f9a9b1cbff3290c99037e26ce456336f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffd88d6933d200581f03e550b1cda0dfe15863249de502356cf859080c1c3ab0f5ad62b185e0b28044060f5a6300581e021125e8059abd1a62ba8a5b9da3d585886a08c25056cb70b5c4d952f3bf5820fffffffffffffffffffffffffffffffffffffffffffffffffffffaff41727f2300581e02857461215c5f18d2f16453c44b2c90844fce6f2a01e1a49d31267fe0394649ebc1fa656d0219804000581f03b9910888faea69fabd01f543bee92fd1fab62be898e1842994beedf0da7049056bc75e2ad36952000219422000581f02dce8521a9bf2c913d069b9bb952ce8023ddfb268e6cd7e83f4edbef149f844e6fa975300581f0220a97aa1d2f2d90f555e3202e31656717c1b65be4959d95ec9c914442cd54501c450de8603ed3b89710f4182d8fa838dd3f90704b99418e003ab046e139a6a3d4d45a3aa9b03298efbec764c3d7e87be98468b1ef720512e74b5a4f5f45aeb0bb6fb574822ee03ccbaa3f660b2365ae6f7219aef45210c9f59453082ef4ed2ec1db24c34ea2e3000581f02c5e5e55c80860f0d4f1ecf7423b67acef06a51ad11b161a7becad39fce3245a4da0eaffc00581f02a3d8cb5bbc2d15b5b18f267f6992633e249aeb6a6d3c9afa2f0aa61f8db545027c452cba0348760d682fedecbb40e804df19510454d96be257070ad15c00c894cfd794cb8c00581f020285417f0d845f07e572665aa4c1dea8fa29ab6defdcb965385306cf2c244601218814a2a90219bfab03a13bc854350d9a356b341c8aff89c1fddc9266c0d26f7503899ca7bfeeb54f5003228863bf527415740970333123bc95ac556d2bad963f7ddcc34968fedce63ea1034b3828fd1164fe6b2eff9597cdccbb8e937a139381bcc4d86e24735675340402038fa3ef63f9899b1d493fd6632021717e9c32ba15a8bfe2076c0b5cd2788c320c03a828df6b840b57569f4bb4eef08201cd711fa36a698d28765e04b46d66792ee203dfc20dffc5a9ae8473df8b4d7fd2a4fefed44cdc38faec77cb7b54e9d4e78817031db8abe6a662ff4b11c933e1d8c3528b555f452420edeb4a9552334cd37fe26e03c511304ba7eeae5ca85b71b2daee8ec4dd6dd6dc9d64c1c9ac17b11136d59a79030c765038b22a0b6acb0dc5053ddc9a792fff6a739bce581ca15eba0dbc1c3540031254c85134f0fc7874939c6a8a1bb5896b6a16925085b7794922af478d68c5f10219ffff0353dfde2dc6f929097f74df1ddace8e099756227d7f20807decf33c7e00fe863703d06bc714047b875c76e72a818a1734a19f65e760052ddf64d9fd84b06ca644ca03a6b241e4bf918f334c6ca788d25aa1257983b306d7f7df3d626e8c5234444a9303976f222919278e1a5d89fe110a9f07fb1f34443e4fc409af4cae2b6d1cf4014b037c3855438bac98175584db208b605059fe3979b6c22daaf368f9240a6f833624032c6441e3bc660302f426c353175db5a1c84b5f5e18f4395adf6c3698eaf7608e0393b8167486c10c0b818451e8b62a9dab4f4127aee81f4c9d53ff94e06d0bcdbc0219ffff03288a2c9f09b0f0a2d608e52dad5a21ac3687f5ef0b800c4404cef1cc458315d0035e88fb4d841081b301072a0d97164c3c25c808448a94bf190148e1f5edd636a003ee459163fe24ea225e62080275d9a36dced22e5f4e37547124b856856f26b163037d45229e31b5daaadca1c556acd36159cb257e7cd6a14690d9b8b43fd002d4d603d2af72c9db345b282286078106c8286699ecb44a95dcfb2da1cb577c588a3c2503fa0e1bbe5693a4cec047a7f4ffbb63c3575748dd7cdb1dc755c26a6707411e4903a87dda8a29843c8191e7156947ad81d2d4c5a8ac339ec3efae7f46a84340033803ddc3bdc5b90392c54dc0ebee8a565b365cbeeb4bf16e2b8a5d1689b0fb3f56bf03ccb9cbdefc944b6a4947d09757094344a960eb9d6df7f2697e430c2996af7b15030130767d2920ce12af2062058ad1f88f2b844f4049f13822704e30c1b3cd136a03087ac85a6a647d9777a36447d778e6a97a5c74e79ada5609d70fd70d0d7571f403d5ab46c714bf51fe1619bcaa17545cf0dea9ba391f11aba4bc0deb781dd2076d03a2bbbfe8bc1ffc21150563536b50624f6b2ff1d8a168803e7d1e5cca65929439033c0d91b75c3a994a78230d60495d97185ee243f87388497f82f5179972ef1420033443576faedd01173d28cf4f6f1d703699aa6490c38fb5c41eb186af929202970345306c0e5e5b7f7be9877f3866d840454137333912dbb692175f1131738484a803aa734d98505034f13f3117252f58863a4425889235bd5d1be573980585f215e903479151c25b267e1958772286defbc82fe80dea18b749cb02d2bfd44d3ed963f803e9c1109ec9cd9cac455396680ca84773e134a86b41495c2cf6ae3e7af0e3d8b703cf19e1faa0899455d7e059afd2cdfd3e5a3b72ae92e4b85026022e133a11a0240324079f6031d70cfb397126ce8e066b6c8d3a0c7d8f34989009d12c1ec602f1210326540cf49061b9f0b53a6ee2db5420b4ea7839066c81b732122dfb3949f039a003fad557675b8238b86f9294b7540a4c601f9c76ba78fc065f8ccff0c14cffaf0303a446840d24f5646d44e9378ff6ee293fb0d83259c2070d7ee02a6c8d16b9beca00581f02a1f8d21d74362d60f528093e7d2c2930a7cc03a5a313dba3bf824ca24466450343b1eaa900581f0275793bca00349c98bce97543af52bb5e344c6dfee2525c49b5b1579a6f8d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0220e44007ab6401d7d560f7229c06d57110c1ca8b6e58ca44139141750b565820fffffffffffffffffffffffffffffffffffffffffffffffffffffffd1b10f24f030528266c9051bbe10356442ead0aa71de49295e24897c5d63b28f9cf445c959c0371b48d5905e812ba5a61ea2842c587e4987d5dab9cb860a25911d202bbd8f9000219cc140355315c3c99b4c24e33edc38bd02e3276ea377d3dc266deefac111263326e06b2033954213118a8c497c70cdbbd76b0840bd2e65ad06f0f769c3489c42a80676ba8037de5c623e0c4098874ea72e05d50bf218873e86f22ae01ec7ce587c6d34d46a203ecec8f2736a39d36e4a67e0363e4e1376c4cdb1be73b0c775b073ba7592855e7038bfbebe1c270924b7c2ae25162d589b326e7ff89c7f17f2986339428c4ea852403a8e3155d4aaad48d8ed35ea59f3c7d6447ea73cadbc473a3f15976a037cb2d0c0385178b083b5e7c02d11f0f4203bf355255818bf61f322c9b867ed131a12121790380e08d1a2c41b5c4d77ff13a1a07536cb92008a4636a2c469b9df8f50bfc710c0377c3e18011f7a8956104f7266d21fafc2a6497dc30a031b1fd2136a3d9eed64f03b6805442e2ee7dde52cad60b0d37741662a0cd83dc1c852cffec75c7ab45d3600317abdbd7eeca4f8f7a88a72e06e34076a9c53dc5f9f905bf2512fbfc540ac00203cb0c351a6b9fefdbcad6be7694e2352279782ca54b7340e0e9696196f15594900219ffff03072f627d4cf2f7f9aafe4427eab60ce5601d0c15243eccb07ebae3dac795824e03bf745a9223556b184de5ec712b8bb8b61e8a58feb9289a64a1dc5e16f22faf290219ffff03878859917ebc9c02d806e37b93dd0f9c3df83687c1d0bec537cbf3a9771819540352bd66a42063da7cd14ddf04d33add725b2103936ab219d1e09e3ea846c94efb0334bc1334b592c266899f865721e20b588503da3e2834261465e43ede06a22d8803317132a8cebaaad2f0b6fdbc90a4d57db1fae9e2538f186f299fe16c4aaad35103cba4033221108df7a752e3aaa76b2dda56c6240ba39dc7b74ebdc617738c03fe03a23de0b1991b422c37900512f4727a3171eeebf51bf20c4f37ed7579234e896c035926dcc85fa14e3b812eab7a645fcd420c7ac1e8c4a353d4bb8e1340babfa82f03f63654343787851c950b29249fce5b1b7ce9f9c75c7f66d3e54befbb0f0b26830310d3b7fb437931b093738ddf9b4428ebf1ddd605c1c35127227683de962ce0ae03ec207a52e80d16c269206d1460a9a94ab9f7231a4dd808b6b42ed7d1d707ade003850a3b778109aecf84d62d04515aadd810f07491d0a2937f4775323bd7a9b41900581f03bfe9dda9be9a4067dde09ce7db2ff9d721419df5f2decab3431c700d8e505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f039c5978cc1a5d9f929350c4dbbdc3b2e66da817b64419cabd9cdb97e1c310410102184200581f02f8506d4e780eea73e43d8010af83ed803f396fcb7e88a63e6e8f45682576410103bcfe97d91bbc43d1dca59c77f711650b286237a00f8d87efad4945a76c7d94bc03ca82d23ab99f0fff15b683922234d78b3962cb7aaed6bd76cad0779b1ea7ce8400581f0247b85a3f3fd6bf15431397749bccef5f8ecf46c3c096e8396fa8ee0834174418a6294800581f0298284c569c48d9fb4046399e673b0ba5e1d9524e398f21351111335676ba429e1700581f02e4b647ed18234cdc901f665fb754d067cde5f563f800d72a6534798fb9d15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffcbd1730ad6039cbdda26ab38554f89f62eb3668e51000caed0fe63c44c961f25a5ff08ae0638021928e70341c57a214a06e7508b21cfa434a93ac9a6835961a059dd9ab3701a3ac8f493380355e86f53b08dcf62219a41c691b1d48f59f2639e3c4a6be3c6c30a0a3bcafc8e03e60c9369f4e05e2165af2f12e8fa1c91cf6b67b9b9f073a2fa155dcbbc37653d03a57e25add03a08202afd282a937199cbbcc8bebf9f78af4dbfd8828cc5015d0c03be2ca961f64aaf3bccbd41b31886d2cef353d6354c47ef8812d36057329b8a9d03f5eb3ab50676abf10243c73201e68caf40c9cab736ce070d16577f38b0460f3403b86097a3f5db5cf3cb7f970f0215f8711f46000c54b5bb91eadc131bb14c6fc90384debaaf5d30938c321ab60c03993e7037e91737af314bf6953dbde3ad0df1b803285e17b8c15f81e33934939b573b24b6eeace074b57355d598305b101a3b1a7b03d8dcbdc206385b11f98d2a1ed4a1d7ba86dbc9734f2fbd56a37f20e517c4a23e0300c58982615beb0ca5e3d115e0174f2709beccc388c0a250f1f8ed493975d06403c7efdc9337c7cb2117c1a2bc05b818d124266e428308d70dfe475076de46db6f0320cf030c19ff0627d7e54fa859896651ab7fccbff37d3322513e93c47287abdc0330ecb88ab0e79c226e4945ebd21cd8e516d047cc422e3cc3c6924e47ef7023c60219ffff03cdd426cd030b46cfee4a4be69fb7ceb05c4273b24ba627679ee874d3369595ff03054d67137393b08a38007a6f1b9c65043bfbc2430d3a441b0d124bb90a7e7a3e03cca78c4b1a29272f956ee13e13f660b4395f4c002fb3531021bbd887fe025cbb03972c2835414626ece15d7d97881fa5db5588f4034d1a926fc7f726cf41aed41c0318849c447d82309a8a10856a31a483cb010199b93be678f01fde7fcc02d41c8f0219ffff0398cc96ccfb19b473dbdd28a65fd306f559657f39c5e71a030c5ccd97d8d0e2fc03cd71735057e647e5282a1f29ad7d651e236f58f177a1c162e85c12e406975d1603d33a64c052aaa6c442c08539c084b7e5039f962c0900c817a7b51f6ff070b17d030747fc918b6a8a543fb8ac214a0a339bd823299b04f92f945e9a0fc2ce8d893103451c97dcd47cd86a4c734b6bfbc3662483740ecf7b267b31b49ddaa451824be2035103e2bf55570e309630270e078898de7316f7f477e61fef883b59ea3010479903f5cecc035ff03fe20fc9e55164162ddc40894fe80b2082dc604c572709cb495a03ccba4c6d421a3d0a99eeb5a8c857867607518adcfdbf8008208c679948a129b303886486c56aa0ccfb1f48d5e2c5e03fc91f48d07ef6e1bd0c13a8a1512cd4e48803183272ac8245c7869d66bd1d6dc7c22403a98900edd8dbcfd2d450c9fcae251d0303d41caf88d99b917b03f45723d33fc5b82e7b015983dae97084708b600ee12f03a7f3f51b8ad80a20e4df3828ecbff98d04e7d29db1f4b03330ad45612536a5ee03646e3a04c0b4de06f851cbf369a621c0c814e4ca0bdc75448e12bf8153c33ced0356985c0ac56604237c1a78b3f1f730d0795455c4b0fd529cd7f430f845bcbf390355baf743fcf275edcbec2567ea7c8478c73fc3e9f83542b45fddd0fe7903326303d828f8cc51a2f90701ea6b546faf07c418974f98ac0fbd02f9edb644eb76b2c1035831c9eb5afaccc7a4b068e47d2976749d3855b9ca6c7c202a264f34f35aacdf00581f023ccc18640e54187a22453eba3a0811d2c4a3729ce60e7aadbeaf01b81905450327308d11038feb08a545f19824f958529e600390c3bc1f50c549e46acad7c2ee13a30dec4403898fe4014cb5ad5e7bcef4e8cc53a27d3e9ef201d21a424db0eb6c54c306e6ba035d5b230629f4376431c6f8f462d3e9848706efcc67104c31c75c0f0c3dce1e1900581f0245256c62f08fd9febe10d5b4dd427be762e3d0cb20ff8f38a1593fbc17415820fffffffffffffffffffffffffffffffffffffffffffffffffffffffec83bfcf303075de564b31a8354103ea82d41e9c4201592f96eee966d0ba97f5fae9211f6070390123e5b077535ff5f82ed6f54aa3ddfac8eb9716b60de3e5ddf61c6a6b27d7d03e3ab1c9c88b1f77fd2665f44596a72db0c235d70e36e374562c215ac2690b94f00581f02c2d14f8496086dba413fc0dcf63728caebd13a9d9713146e020cb236d50941010340a5f615ffe9c3adedde16c9d168bc62d5291064cab7fc29faa4759499ab09790219ef23036e676bea93f579c543fa79f097163f7b5d9939ccba0a3fe82af9a78e4171dd0003a0e7bf81a6ced3fc235df2ffa9d956f48eaf6b1654dd76e4b9913834fb008fef03fd57f8254816910bc8d081976c89ea02ccadfae7a59e9934cdaed26878fea72f03f37ec3a0fc280e876c85f5f1f8041ecc08f309ad675e69bf8279a7513d24963403de9bf9a14d0f247c19aec94156fa5ecd74385af63d17924c258df4b778883b5b03da47cb4f549b9e990f924d8a531247da8b43a94889305e9752335ce49a724ff603adbd5269f3c3c61b0549bf808e411c8fffd76b26a0070f16dd4241de2f0d8adb03d5d5dac0d40959b7d9079ae6a159687795368cba927b631d985c94cb336f16a3030709272d5550a3be11b9f56bacfb390b1a306366ae4b5a27bd164a1072e444da030cbd2474808f02cd62c05b60140c3baf0ee0f9ba805dba2fb3e1fb6e7051668a030c3392a955800da66b89b392f32cbd761c8e6ee508d0f77ec1f93a329603a25e03a9d809c14036a3c12ded7b7bda685af232206918bb13ba085b1d3fccc71327c703e3bfc339cf61791253601346deed863978b964b5d00486a6bf39066794b41d040384320f00fa4f1ba2f9f516f4c6cf06ccf3336040cb89971dbf5de568e0a6b6c903b377a48f60b7d45ae03046c501b20d46215bb4b38e208f72ef16f8c43dcfe0860219ffff03d9b1d82a7d4b2858e36b243fb16e6a7a35dd1d7819ed9f4573607157849c99d4039f021ef9db4a54b7723814dc6ee20efafc41591eb6fc703ce56104fd06f36b030219ffff0316e95505e0443ddd9562fe774e048099eff828de572d62333d5c2197455298770323bb177377a3147f8f86d025d0002b43aef7338a41b8c71971acf38ec49c27340307cac08cc2cdffe6a224ff31ac31489df4e8cc71e0851c5eb5cb488ffd35fb8703a88d16daa39223119e3d991d39878ff967361ddfc2d4ea8b8126bb08172589e803fa87810f08b36089661af75ad11838dafaf4c575598dfb4f73f405ae3f8585b803ad1b666da9db067909498f87c30be48b3b2d0be1a9c710bb2035768c87c07bad0306278664bb90629d4226b36d10f5eb1f1e0071ef4f3ca88a87605fe75075b6f6034c72a88237d182805c7d2b8ac477b4eb63db31db87c80698faf754250a863bd8039be034cdb089f7335f72177747f591448a7e799b126f825710ece4fb8647734d03c21136cda99bfdc32cc332eaeaf39dd7cef9080be5aae6bea747dc4bf92cfd9903059c0e5f8a364af961ea96e38523ae054a23270158e9148d2223c455f26d1463039a5495736bc96a2e58dd488e418a5a4060317f71ad77986c89c9f82d44ee2dad0367c701b4afdeb49105552ae6ee7540b3e5f6e272cc3f484a3a670faf9b21166e0307de1f658cdd6a26647cfe956782f3bad094b66b2a4b6141cba272a4585aaa36033ecc21338257b46dd72998e16cf5b0a61fa56d2d65dba83b4a1d9589ac1991fd03efb7bcbf15d31ba7fb71924cc282c1dfefd0d7737f05226c0ac343b29fd022f0037613efd6db72047ba2ab81659a60d486ea2992b041dcd41549119fa60dee5b4b032b7e34273f467661e23b09722f22aa915c64f9d37bb2b2416c3ba03ca901548603ee0c726c1c5b28a3bd9294f9d0be33e2b44edc761fdd4a6315c9cf92818d9fd003bc659e8ed70ac28832ccdccb3071ee1494075bb9a214be11daea0aa90a8af4f7030d194355edafde03629e67facecfd8d491c1911c69914d0ae334aedeb293c9a500581f02512894db16b27cf0e55255d94742ddb6976a0d9efb5d37d0ba7604fb22fe4504bb33b04300581f0243112fbc922db77018959f84bfb8e006fb823d093c47542580f272bad8ed444bd1fffa00581f02dc0ffeb7551b9adcc81334a32bf9bda78b830456508233fcdfe2926f57485820fffffffffffffffffffffffffffffffffffffffffffffffffffffffacee1a71800581f02d5774459dfe0a3993e1a75dc0193dcfbba6e3f24763f3658041287d4cc0a42c97300581f02453c354483d43bf1503bdfbf5660728163952b9c0b732a67005628a92557451568fff29b00581f03590d282e47e7efd4b6194aca5ab260506a90215f02904b2e498aef2683f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffdaf95eb18ae503355b70435e44c6c02d39689b5d31c47807303aeaec465f43f22193520377c78e0219202000581f020235170411af643a82c643189d614c7d09058160d18b4769bf8a9e474a1645042ebe69a000581f020437d97760e583d2bdddf11fd855941e4cb03037e3552e42cdf953140d9e442359359d021967aa03bd9c95b79a3c916824e0fd79c6e786894d899d2d26704bf8b40fe328275d4a9703a0fd380f0dcf9257f17fd8cf5ea5dd68cf2865b6a399ae5377d182c1f034967903f1d461ecaab42882309dc89ba8382e63d93a608e3c69908cc317bc82e56048f503bae4e01fd7a1c13ad7c21ed2a65bb49694280ecdcf7f7041cd18d1de41287bba03a3ddaafa1aaed440e9b8d8a184c308e937201c10fe93f280afe4ac864ef3f4d003eeb4aef90e24eadbb2c2d794935e4c4ad9662e131d2a973991e84e1d4c67c38d036e456384fd33064bd66492fca945acf798351166bdcf47380db483b86791fd6c03256ecdcb38e80c801c2f804219b93f4aca68d49bfc9cef10449ce1e06533248f032e7d281ee650496ac50576ab8a9e0057302cb11d34a4c29c727e95142d5dffa4034938580893ce2ad8a0d91f002d1dcda0a76ad18e8fd82976a91e831cf24fea420219ffff0219ffff0219ffff05581d02ab087ae7a0ed77cc24cc41da64da5c91792c0131d9fffc709fb261970701191e940219110003bfa879ccabc868baa35faf80660d0f33a6daaa003a5afb7a81fa8204b7ea892f05581e0349470522d43a58110e5e3c4750402bf90540a8c32f0156a011152723d00847071afd498d0000036af686f16e4437dfedff301c0efc59f7c275fe23369b7af8185b0e7025376f1205581e03dff6f045128291a9de835b7f8f3fce0f6ded11cabadf7e616191d86a90040103a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03591c8b96a14ce4cf76632917bb958b41313718491f479a3db6100abb6053c04405581e0371067f0de85f26f9320e82ad847feb9416d7345aac743d2c5b8a429fc007011bffffffffffffffff03b6311ba385eded0023c23eb1f53f257c974bc0677958679a6617e5efec171acc0219dee5032845bce9a86cd61e942cacba52fd6e237e77c3cc2067cea0be9cffc8e4642ae903d24911884ab4728888fe44a788008537a2c4f8d29c9f192b966c0fafeb551a8c033ca6cb19ef7488aff6817493ba51bed57afab7bed78bc7bf45e378571a20eff0034df1b98518ef735ca762d57954ff235a7119787a9349de7d1723c5eeb1f5cb620317af16628f08c1c9baf23225e5cd83ba3c5b2ecdc82dd4e84918270ee3843c4d037a55c6198cb47fe6e7f49188829ff87030b5b6077ca522469f7161704973f9e403058c3afbd052c30f26c017e1fa687c61efe5aba27ebcfd77a1552c2683b7665403ca0344b141638ab397b17da3a7a4415d1f76aec48ec1086b4a5a95d44ec0bbbc032b0a41d70b4f25080b8be85430035ab25c8289660365bfafd97b49cc435e318503e1b013cf53b9ecb80fe7a4565b32243becfaa45817fd2c23c23688bef9547fff03668018ff20dbb4e5c36dabf6d60af157ca0f45d3fcde2897fc44ef12d588385d03ebd4e20515affadb8751d2fa92e563ca775db03040257bf4d9c94ce9e7104ce10390e3615f0e5d403f2089dbd6b3da65dfa16a85f1d706bd6c9d1f3553ee47e31203150eaccdedbfe4d6be86547e516a3cb9fe0b63c2f0107d32a97dabf0db8607f60219ffff03bde1324c7286e8f54d532dc1a2af0cf4467a263665fe82902faeccb596074dda0342591523168688da507627b933c20ab57f64be53636d1f630459af8e683732a803ad13fe557f11f53e6caef7ec2c937a189d090d267227e8cc2f8aa217d58969c90397b841b45edb2cfdd063f32175172ef60f4fbab9782df33ffb402b5d5bd4821c03f5c312110c8516c06f7d30557b444b006518023f6d27abb4e1ebfb37379688e003da7751bec0b965fdfa8463191878a0f18111db2ad916f4c402b5d58137106d1f0304ca6e9d2741ebd192f7b3f23eb9f3820123fa532aed3faba45a9d74fd7d90730219ffff03010cfd6cc84d2b53f3c939cb72aef9b54f990a7ec10dccfb1cc8e4fe327b8c650354fc6f38a50646bd6818e347ca038525c64370c7ed9d170f90c4eac8b5212ad2035829c295d4ecb4654cd449290c5dfe75e41171dfb4191fed6231397e9c329793038461ac46824ef6eeff162865cf12931d2ab88890b50318f2407fdffa9fa6116f03433380467dcfb4dfbd7ca60d2725d5283e78ca61c12d28ca74a9d1e2977153ad03165068fe2d4904e894b47627f7acb7c5e0d4b23d4fc23fb931c3e6b73076d81203d37a9c0a11ab6975441f4fe283a0ee104718c2d421192cb109f380e6db585e250392483833572404584e6c7b7b04019cbdadcc8ecfe10f1eacb4d75eccf2b0e623030a601a33e996e379fdfe1bafeb6ec3b60c6f8d6edc07754ab2b2c891fc25ed7b037e5fbeabb783a97091f504a3dff5694f5d816dcfe5d2199e7d3ac6a867c3c71a036f39a91a9945a56a3b5474c330d913d9de7153f59554947ce460fd7655f8f5e103a22bd9f2c074169921689b6201c31d5ccb4f01b8ecee7da235c4cbb3d8b7256103173aadd6d5023a74ce186a08254e8b8a29b76bb40f595a832221f3c1701677ad03b8091ad07cfe5754168b025dcbc4cce17ba67f27a5c09039c5171aab49ef40150344e1cad3378fbca434ef284fc56014149a787d06f743a6ce32b196dd54c789a60219ffff035aa8ba32e1c8e3cbdcb460a949c42066533435ba00757d40f78790ab30e213180219ffff03c4a74f5e506c4be500b8de2859c6a955c5142a12e6a2de72a092d8b57ddea6e00320f52c843e37a004a8a5a0003cbe65683794fa79c4c1fd87e2878e82ea748a1603bf961bfd2c639371395ebcce6f809bea61c0d5fc17cf31dcc75ccad2eef4df30032c62866bb4e6b515f0a8490456dbf6f4524917cb483ea1a22ca70c2c39e39a2703d9935cf610df4f77c356124771d5fdbfc55dcee70c141de26376b52221fe2e56039d455d93a6e10562362f62196dd6fbf76b0283067a2ca1ffffbf6898befee32b03b1fa4a7ead79fd46ade24863e8f430424eb44379acc2f0995b4f20f4e2946864030cbb0909c067f9ab50c41f31276a0b3dc194a1b81663b57f3177b6945466fdf60320decc8fd24bcb777a9cbc3e56a93c07a22c499feacd0481f2bf544c2395e331030d4d51dead9d7c91373c854ca2aaef508baad2d96949eac632f46800000c677e03c24776f4b34ea3b1c6e6d75dd6d667fa6b129aa6f8160aa5c8fe1c318e03493803415c2090cc2fee0c77f637a8503590b79e8ccde1a92ad8b00cf7e0119abf0d9005581d0270e24777d140d7b84fa5725e5dfdbbaaa75e5239a222074149c30176040205581d027a260a54a643eae45bf3ee6e2443a13695454901d2f9b77a73e9fcc304010459034d60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220c42f71d8b037625f5c6fa459557f77bab39e64de4c1d9669354a34d9760df4ae64736f6c634300080d0033035c8657d3c83fe8f85fe3f9756322990b77894e194fdfb450cc88c050bbe1fb1a03a340c1f2bc80cdc5b63d8c2408ad3069c9868665c2e12e37d01811de912c57a20324f8a5a3420f16c9be0b62fe54fba0942230f85ad9d6d31b138cf34af41a014403e288222445ed9cfa57c0e8ace2b0c3cf87b5e8effa229a1326b020cbb937f0080336b4999697aaa3d0e2126a0c713a01b412d03808083cd15318f75f1732bc6717034f0a9dc7dd185bcfe83acc447780d1bcd92cea72deda78c8121314aec3c568f50352af409d3532048ec9ea971116746d856139e2112ce243192b7e777bb1c20d3d035f9bf00fbe1d9bc01434690be59e5ff90d60c37bef912189a119197001098c5f0399f4f57b7fe0a0f627ff529c562af3e7dd4307c1dfa47d607c54bcc3fcfec4a103c16f657a85ddc667d68c86f02c5a4804a0496ec306e5b64bdd94a45978a3844b03bf907d044fb879f2eb44b90be01f40974b2e2029de0c8f621a3d9aa9f8de095303f1d41589f25a723df54265387b11eab780cff2e6a078bbd04509c429783684b60369a2343522857e2751a9bdc4433e2ddbafcf46cfe2058eb9b132688da3f4915200581f02d0950f0805170420f11bd1e49db16a4427be93a5dd26f2d33005e8c447bd410100581f02f499f41835c25df396d76ec595f95e8d9846b5657b698b5a87c4a231ee5a54a03cf1a7632da1ae03b7fe66d03b20953ef3d40100581f02b5c0c4a80971d87dd4fd312cbb0b3aa12041dac47de6c013da0d787e523254ca10a17d66b2d4847c0503973d567051877abf2800581f023ae4da5049eb74cee39e4cf5827f7ce7b1d1d1775ef1c6311eb60558e6d554308861a430be4cce5502d0a12724771fc6daf216021904a1034067c2a8fac9d11db8194c6757d3e1f743491c57a5e410b7329d8fa4ec5b0d9903bf4bc52ede62396a5b8bc137bbe7846a21c0abf464a91804bb9c8db3f41878fd0385e62a40c438b310e948ae677846bed7b7826a17a381652f4f7dec8022c8676203bae65ca3cad68b78ec1de603027385586bdc3ceb1da737e7cbe74fc23752ece203bbd17b75ad463c3785b56a6dcb1f9e046f6719bd317a1829d5cdfd6439f8492e005820034acd4d53362b277764cc0894a3528d3384b56d4d37ea7254febfd06ae85c30541bad2608f2c2db18c2a73d19acbcf9f95fd003e703b919a3ccdfaff8e1f55b0bd0a3b1123f636f99f1e043e9eb189e8d589b6de5de00582003c0efc8afff0605e3d6911aefbd509d5b3e2d4d86a23be2fc0810e989c826e04101021999ff03d5bfe714b80bc14b88d8c566a2c9ca5b4d59593e107ea5bcc267cd9c457e8479037748f26ec8193aa9f3f70c055b0b4a5441142f171db666fc5bea435dfa7fbffd03eb30860459befa8fb799bce754269248273eb7c8e1124b81aac04e1397d86bf70394b8ba6317f51d8a009a53790aa9b984dae2278bcf315487cd710f4cb82bc85d03bcaf63f248d00985de7783920059f736811e2a25be7170ea27a1b7cca8b889c403f1439ecf116798ef023600134c039d7916c933a2329857cf8cae2eb2e1ae88ca0219ffff030ee7384f40f63187be174c8380f3f41445dc7410cd8875cbd483d0a8e6f2847f03460b54f3411df067e85384e40f5751f97d2860b243fd991e1cc08c24c59065e40377c8456a0b1dde426c5b2fca33cbd44d8553e00461cab2e50f0c45b4d53ef73f03116cd5462ff6fc91879df50791d2c4f57326549bc5ae11f5a5dee0b4d16ed0d30330e594245ff026cec191d4c1b15ce1c011a58013a8cafa5817d43343bdec29f403d59a4a1c861ac2bbc94bddeee3608e1af324726583f8a9d4c65c831d92ec10b60391d76d77fe849ba22655aa63a4da12e8d5db420dd3531f17b357100e25393da303dfb4d16ffc1b74a2ba8f8b8c5e4803d1b20b0d94f1b6da157b4e88774d30113203eb395b64a10fd398d89fbc92b86c228998398fb9e19992300ee8d437e4663e1e03ba73d8acb21a4a81d1e5f06110156779fa6a452810e6dae5a192af108ce8a42b03252814ef6a31dd7f0b992335cdf92f42a78eee562f90c07b0aa1d874462c034603747d3e54d9c6bb158d25c4698fe28688d00bdfa52cf938851bf9b91054ca67dd031d955e20055958c8a9965600ea636075b4517753999906f67b96e1e2358a4bf7005820031164c61558c59bd081599b4d3fc8ed01f32c976635d6569e1a00a17078c740546a7e7c3f339035bb028d012e84fecfb0d63e9339034f8adb4ebd0ebc1130f02a39422fb014d3df1706403254782b4aa70c3761a72103a22551987e43531e73b9f5dad9e46bad55f8682c25c5f473912e441959afa84b0058200379cfe0eb5d30d47319b6e992499e215cdf4a92b86c436a9a5e6f1741890e60543310788b0f5365a20ae85e1ce42ea81c8585013700582003120cae8ca85cbc1ddd052b78e83dd7efe9e0e9f997a6c1dbd9ed52e71b15104101005820037f9c557994017265a209c19446598d14587294e57e9e5cb845794479413560581901000000000e0b09327e10912d000000000ea0a633252c83df03d23ad6a3f67e1e478d6fd0fda9ffab41dcf349a99f4362cb1938d99b0b234794038252589851b2f4cd3d48949350ef769cc6226701f855802e3eec05b417e89def005820039648d34399b214e9ee64458bfc0522cc9470f189652300c37f301a297bf9805819010000000000dfb262bb15aa840000000000e91b5a7feb525e02193ce303b8ef118719117339e350a9c80db45a32b710aafddbe0359de9fb5a89d71ba577030421a4760868e79adc6c6499458be5d178a1a73e5492b0b6ec5b09aafaaf64f20341558e5b72e474eb416f39cf7c768c329074cc2ff11d51a3d51439acc7db174e03c7b695f2d23471869d75c622c85b0fc16a6ca134f2bcb5ca8962842631fece3d0219ffff039f9b078fa5d94eeffe2e687bddf3c96178a3bce7a7745d133fd8ee97490e6f1b0350ec9d26ee9ff4aa12f7713f336fe4d79e120df04c80a72c8824a61d3fd1e117036f98debceb7e7169e0d5c8e03bb2c47ec1016f320f2222bdae6cd3d994dc194a00582003c629376efd0a831db35cf91d9a0f7502fd2275fb3268dc848c5529378eccd0410103e35826190c7fcf47cb0cf0ff81e8f62ea3d5de12757b90beca9106203a36a3d4037ca8b838dff4e94c14ab931bbcdec863ab0bda6438997217af714bdbc67847c203cf06214f01cb27a84675b19b1203672c00714f170f7ef9af8c6dfa40901455ab03a6d26b0a1a28d48ba2c643af492944eb7efc4cf10241b750b51f89f0327120c3005820037e7f8892eb2ce6266508af25facb023a38e0e46619cb2f9ec99a709cf3434041010385f09219221def028e18fec55661638cfb21f3e3df1215704b1229ac91fd737100582003b79ff2b06b1b968c2f4477690e516cd3ff4db10fe586eae9dd52488b1b8c10544511e3649237200dacedf50ee3d0e18f2fbca93500582003e8060612698a76e897aa136482c66d7ba25355f79a4b661afc8e1acb6f692054aeb2707eda1e201cb13aa80b915bc3979d7e33a000582003411e83a818a87aab78f366742f1fb3f12b7de8dc4b4fbf522362764ed6b720581901000000001ac3b22ad55aada2000000001bc16d674ec80000005820035d9aaaa05fe4b06a7fa30f8837d5128a6d6061d716097cac0e04f7a3d11f70547b3748e8e35fd1f1f6fc7656494de4bc6c61a8880219ff4b03e7a77672c48437741dcffcd61513e7e5d80d63cedb18a559b5ffa0dc2bbb5be203db90dd0199e140de762c96a65eb37ed081962f1cb74bf8cb7821fcbb11f463e803ea360501e0c858b7b1f56241454d7ed09064b9a70c7466f1583a4e4814aee55d036553147a1c2823e807d4249bda6a248ce43ea361c90e35acd1d586836e58455b037e1a0dfc49b7ec5b23647cb8b72033682db92cfefa2010d57f7c7535a93cd23e00582003101e0bbb005a0a0f44edc5511f14700fccb7a223c657c20cd56330087f4fe054c48180e30d48c98aecf3b83cc2d750160be74f72032a83c67866f97d01e830ed2923e2d6f7c12db16a964280caaefabce3b931e1cb03d1e054ee1eddc50ae890dceee03daa766faa5d4cacb72cb5e0259eb079de5fb6005820037091ad17cc6492e2d3053989d0bbef43cb8eb6af4b5a26f551d5b790c45a60542178e1d614fefb2b304db58f07116d89f948fda10058200361a2f05d8c0b9a142f96259513cc9c8d2b8282d1ae15d18df116a5b0b3cd50410103806534afaf491e29e4c28eaa4501110443021d5cf7db3b75993d41d3addb5b5f0141000058200304e90ad2ccf30748ff4f4ad20637c4141e53d9b64a1cb51136e60ad7b4ba40410100581f02678aaa125c8bfd6b0b63cdcc72607cae1251ba233301191ef063ee8c0e9d542c55c3397423df4e57bd42aeab024ec4751adddd00581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d543ed97c79ded8894036da095b2e2f79f8080a9cd400581f02cfaf61e6bdd39430b743af60f1f25c7928a5866fe8ba8ba1b99369379357410100581f02ff47d3f5f73a41b2cfaa16fbde43198d2f44fcc95e5665112df0aa8719325819010000000001847b4ca8bb1791000000000191c1900ce7c41902192105035ee571e48d1b999872f2ec868a65e9e1a1f1c360cd427f7a6a8dbe1377404de80374a6160b11d7bacc50331b76b77c10f1616491c95eecdec7de102c54eec78b4302195cfd03770fdd486ff39b7d99493e3cf55d6912a535128adc402466bcde42b14fc35c8603eaad4fbea65d23269bd6fe01ecf179dc5f69666da1da18de8b935618f0b3f04d03b77f5c374509ec2b650aab427e1c70778b6c163feffa072f6bf545bdc4373b1f030c05299b26f1b1b00150d9e2246853f2f8ea58b83f3e65521c3575f5c55f3c7603782620fefd15c736733982943cf8150972e5174b242659b714b2dffbd884f3d10378f9431b04ee259ad59418b92b20ffcc2684d60a6c566a24cc1e6a43929c65d20318477f061d899b6b492e9ed8a87e122ecd95dab78239be5be7721589701e1fde03fe7f8f7ba437824e66a9e7554b62ace307675e9f12883ee1225625790f3b9e040308116f4cddd627c5ff77b41ceafba9bf45c45829e23bb25827b7167d397f5ec303aa2ca8dee24b99867ff1d508e6b5803fe9f99d305b854665b7cfde92bd411a1b0219ffff03d1c31c49ca047f0ff6ca6348b1894f60d53de2b4cc7bc4ba7a5921731b634b5c03d748eeed3acbb58f144d635ac4ef3ae5960f714a05255aebf02a45de0cc9283b031e9279a7e3af89ca157b856b8a8ff4801946294abb789f3e0d1c259461a15fef03cf01694caf9cce37c938d033a194175d6f2daf1d85e6b91aeac620dba396251303b383dbfb34f60bae90ea90b4af96662115282ef38ff7bc3c36094ebe345a4e6d036f86e7e13a743333e7b69f66b8d4f403918c8393ded109b2abfcbc9c40caf21d033c8afada590f066b762a4eea341d4983949fc8fc0dea3e6ff9cee7fed78d528d03eec88fa0b3bf5580224cee96cb1996a6f306e3cc63b5f8ad8ef036e3503aa4b0034680b6748ef74f94b416d81f4d53284e28be7b2d3159c16f8a4088a4c3a19c8303ca8405c3154dab80ef2031c4c9aaabb3b5a5213a89acbd0088b6c400c289ba02034c2c47c2e49ffb15d512babe9dfdcad0a01f6528e3837b94afa51319458ab4ec03f983287167ef8a5c6ec1be1bbb93f83b82248e8ea2d40e027400ce1fc8352b840332b179204d4d2ed68d8946e117a19fc9e15da1d58de7455716c45c46deb898e7038ee0a1cb97eebea3faf7dd67e92685224a3c28dfd71b71cec3acbf37284ac237005820039113a9786200922c93a0a1c2b18073dafb1af2e911c4963a30fe6d006891a0581901000000000044e88d589df45500000000004789e9d3c0ee890058200352c98863f3454968717f9ccc58ef2fcaf2ecc19cf88675a866c072c8d1d6a05487ccffc60a153a18fd6d1e96222bff2a077e0da2031828718398c03bdac02fddce4d1f486bcd4bc0ec574e73a06eb925b0092a3d69005820030d106136e1b9c81a9f9bd31a24055ed0588c3e6a3305275eac5bb9feb4f3b054354029b0d5c417fed5f22522d3a1325b5397df8e037325f93f7a45e5873f7f25da1b7b3eca76497b30a12d16a8dc549d3cbc9f21ea00582003ffdda713e94059c073896304ece42b4b6c120ef5c12d64e486b5efe3c5795041010058200346fd81c33f79460f37294366f2ad6caa3c5521de6bcc2205b1eb69c5b7d0c054ee64e341dccc9a073b299f38fdffc5373dcab99c0219b3f003a43424211e1b29f5b4b0f34f265cad16c2ccb82838f803f88b9b439ac914036703606890ded7d50a45d28680d9bd3302d4e346be95bcb3102d35e30e3b6659c0e203b701b6151829160d205750c282c2768b5f5b3916104399b33338347e9193d2f30306af6fddee8d7fd242eb72f692d86d317163a97e9a506554d169c32f6430920103e1aca59e99daa81819bd6318ef129688b4c67144e969d6144d36d5f2fe6784420219ffff03fa3313b1cd981eecfde1f1bcb704afcca41aedd7381d3d2a705d3328d015f738031eb1afa2c01e86852c18816b8037f468cea23bc22e7002fa5ee9b473f59e6740035d0ef2707ee195b005f85c59844bc67ee0d207fe00ac7a19f44894830820235803290e686d561eb0f1d187daba2a2fc132f594c6306b4c53d09f7bfec973442b7e03fa70a6ab505fca2d4e12799bd14a82746784b9eac48337eb50418092670747d9031c7d573695100cd45579b1c3b439b03899e9ef7eae1782b39a5bc7f120574d7d0058200334bd3ce8dfdcf575cb5928fd5dc04dcc4f85661c4c06e1c3d8cef695fdd7d0410100582003bdfd4aa1ab65dfdaf681ca6bda958ae4a123d4ed68c4277796592280e783505103ea6aad97b1c7478a00005b9b00005c11005820039d21b9bb25821c6f864e8316b00e9ca558d0f1c50efce43babfff22c79770054a03cf1a7632da1ae03b7fe66d03b20953ef3d40103a3e8d761f0e4abf0f410332ed97eb32e9d632d153aba4ec2c5135fd043edf76a00582003538a66b8a8b869a33c289e1801f1bb7b05b59106a2f14b0be24fdbf15f3e204101005820036c53b2bd40b2ed118f926c70e9a06cfe5f88d58fe45f05bad045156d8062f0545440a5aaf70e61265f71834531e719687fd08f33005820032a3a39e32a53a32c5a686610b539c4a0252e058260ba7e9c2038f4ceac7da041010318b36eb45886792d721ddc0501213d4479d07b10ab9a9ea247d908140e77893603450319b7c65f0f6abc93085f8274908444da20f91458b64fff33341d362634c50219b8e90376e05f9fa9343d7a33b9a29df0bf7085a12890b1ac7b2b211c3e045d24e859ec0339071b834fed993702358e564500150f87740beb1b050b604fba6ed060d9c1c503e42c94e2556a2e628775e371e83524d806295a25a56ac72173894a59021334830382bb95644a90ff7bad1764b9eefdd9d4facdb34d445a20fdcdb0ed7edb06299603ec618299d61e4f0d072e3b33a3a8fe36cd7b1e31fa359a699598c78a1d63372503267c503ecb22788bb64de86d9291d3d1bdf7330c0421d65698f9ca12cf63fab503f407877a39dee002491c95de30110a92795f13106b2c6b483234a075dca2eb4e031a4b49a8b748b47796c98d60b4a13b975f4045d1fb3d02bb68eb1e27624782ad03877fd9868f7dd6124a6268ee3c7bd16a551c503e2a57cb6b70fdd4e5215a13d00392fd07a46996ee88ad532d9386c88d621ca81c0ec3478297071fc11415b5ea4a0219ffff0303a6cec1a8c1e38689a41e292959c8aec36ebc5efa5572271d0b062aa1dbe5a003f7b06daed5c9a6c401a46adf31a2a845aa2ee0ab84f8843e44610137bab3848f03aa3b6a77b86bbb6fec4cfd88301e356ef0b3fb59412f6ebbe5f6d100596d45390219ffff05581d02565c8f9dc11055555ed3444aa67cc4d286be943ff540719bde794e09070119034d039d1fe6e7891ee0245a9bf1a6d04a3ae0cd02a68a1a0ddb562a492e5f265f79e7035365624befb3d6b37c47214ca6b44f8a829a21132004821ec3ed89f5b8f8647005581d0261496fc66989715d05bff3a1432e5a3d98012c68aa353248468e51a607011bffffffffffffffff02195014030a8d737d187e2dd7ca3a5b3a75c79cbf3744118b9eede4dbba52090168387e28035bb5881167ac55e377472b093d1143c1bda8b1056b79b5bccbb2cb957b408e2305581e03e33caa528c294ea6052a83962e869b38b9f301db5ccb34f356ab120e80040205581e03bd43bf0ec125e7d37d5beb09eaa0c071d01e59a5be823685777a8ba5f0084711c37937e080000352d8025abb09522fbd01790cb5e07376d94fe5a9272b25f6a63d9299400d3cff0304b26e337119e3da9ee71b3c6e22a0076bd7ba5a11a4d96001c2e27d6eb4ffa705581e0334caa6c4bdb815a7ea5f32ea55c734ca628007d9d49ec80f1aeb4f442004040318cfc2052c5a1d3cded8019fb701c3c7dbfa43c25612222d7c4167bb780d95d103e185fb24839e70bbe46bc898ef075d2ae6a7fb0b3cc456e3e7a2b5b8b97a05dd02197e6d03dcb3727661c3bd6f02a9709cf7ffe7a63d5b9379d81caf8f88b3b2a95fd2e8e803babd430dfb732def6b2d3172d99cb196665bfb6a4d443fdfa50929eb58ade28a0375b056df8fe125323b0eebe0fdf5b673e26ee1f1ba6f9cff6a9aeabdd363a4ad03817826841cfc43ae5e4aea68f807c3b1ef4c679002602bf2b1823b906de31abd03fe085630d01b5023f3a3abb433906affc8e7cb0a0fcd522575ae4c797ba0e19703a1ad540eadfb61980da813c3b65cdfa52347616d0be93371655d7201a1b5819f03c76a6aa6bf4c7806fe4f43a9b4ba9980a79d9507b4b203ce0c5f33e877732a010303c129350b1b42ad212e40f7663f23a1e865a826b7b37cf8bac8022d40c2c63003df324dcbf70a30948ce1035981e9e0a6bed36e319e526ec98f1c681e1b611c62039312b03c148920f5278d50f3f727296f8957b2c13fc20378ba1b1b7858bf4db7039649b1d846f6cd84346242f1470a34c5b1858752685f2e439d8a78842bec101403b3a440b858934df1e79062e405c50b7c419bc1820ac8f22fecf27350fbe77795035b92873efe9ae79242b89502f2cc56d5ed17846e5efe83a4eee442259a93e9de0219ffff03a58f5252e0924655165604024770351b41f7c13dddcf76e42f4392b8d5314d0e0388d7317844b92e8c8a499d06b0f6bed58759e1fdd0a9c03d07663622a78dc5db03d24dc551e153cfe6d853f96b28e27ac4aacf3291050107d7e5535c24e25141b8035d55c6f4f8c6192e7e22c088cc46797f12e092a2384a2b3117427fa0f16234f80370bd82b4f903ad01f525e5256e90d0ca29a120eb2346ad27244bfad878b4113f030c064a5505538687a90f9e69e36a9634a313a751a255bd0e1d0939034aebe2fb03094f0e5893afa1fe523294275dae025566f94805b2de4931c576030d0b6a053c03d0b6e6a2e6d53171d38a2caa3bebb2d47ea874db2c6a06642b671ec5cd79f8d803bcdfcf039b97cf95ba1b2c9ace6e925028509b482ada8252a005e4d3d7468494032fe6f227a441ba6d98035ca87815fc100463fd92e92fe693d646620f1c324f7f030b40c8fc5d73145f763ee06bfbfb33060ea64afb95d9bbee00b372f6b9d130290219ffff03dd3fde96a784a1e7d695f70842703bbf65697c4a649da489c3b90083939d013a03c1b926632cc92b3569055734e2206e0266b4c222624cf8c7c17f7333a50940bc03e63344e49cd2375d5ba0193216eb574974534de2d3376f9a4007d9aee74ffc30035d12d5ea798f05160e69d2826fcb5269c25b104fbdff8db93318531ff9535469031911029efa2d28c303730c1273df3e5c74e19257531167e108baac3037cb5e9e033444d3735a5adc5605b30f0c6c26e644730573c87ef1c5f636398469b3be004203b3597d2997db9ea5de7a18946037dc581389011670a0210de2461cb6c7f7287b03698447e2030973a5b818d4515154446db4c3ce838f4c23a898886677fd22d955036ec391331f0dcc9b871328c44f6505c653e50edab6e2e9ebebbfffcdaa276b3c030cce94c0558fb62fd8cdab87edd03f91cf72a4c4b87859eb7caa32c341568bef0380d159c5931fd27319c43194ec2bb90c70249e13ba08fcc260d5d32cff0a61590378922b16b3b0dca13219ffb30556e9e09a47ed3bdd859f24811b844d37ce525f034c2ca85ea853ed282f99fa578a5e10700c15e95c28ad0addedd5a12312fb588d031c074c5a7872eccef14679258744bf421bb9f910f7710272775d9e61e53638b703dd300712cb989a4531cd5d5dec2998f729c72bc43de98b2f6a098719735d98ac0219ffff036955b9c5bf9c57c09f11c1025aa968739719ca9a69527be17871e5fd30ae07d0033f4de1994b2c719103c02b63c5074ec48bfeadbad479d663ea5c6895ea61c840034a585a0eb9726b1b546990ad675861a9ee86debf3ea55dd1495320a571f08c0903bc6fe83862b310c3d2cf3f740835d4298bd67977360d602cfdb47bbddf80b0ec0317ae165d717f5a01eebcedea1ed7a3e3b408c4c3b296a9f903182d37f0da960e03f655373e352b4fc2a0d3083ab2c5941af1834d42180daf4fd4d27f9f030aaf8d037cf542f5a03b0730852026bc966ed872c23ff1ca7cbfdfa365e45915f3bfbb70039b3da54dec982e191cea54717787593cfb56553418635489dcb288045221f4bf03d4e5d9d17fdf9cacdf12aacff4a2673ba05195eec8a3d7fcaabe1102dcd10abf0364da558fdd05799dcce617f0f78e5b0a8385e54e1c0dcd1408f52f3ba9425e660368a36b5bb40583ea66ded90126455bec493ed05cfe4596010667f8ce1c90d7b603c9fdeb3f17707b74a36f2f060b2783099be18d0b424cef80e3d83865600b05c9031132e6f86b38a976d886b06250840aabb31e6788346cc65067400d961305ea61037439d08a7e4a39e733f7088aa6c9f0dbbd15c36d4ca3791fc3395d69564bd04e0323608c98eeeae02f8000568d78e761c77fb668030d9036c34cfc0b0ac2aad554034a5dbe528e7b77704188d20dd6b29d33a968393afea8d1682a2d5e52bffb6c3a03f26aef640ec83f55492d211ef1b3290cc803f84a38b91eba2349860e801522b9034ab733fb8f3612d886410544de4ea79b680ba9c6812247c8437da20542ba49cb03d0e1049fc2f5a3a35588625ce26092bc0977daa217d729939dc0a26c75f54f9503e7495c72853f20c1fd33b89a1e462c6d5049b5276c3b5705e132e6c28b881a06035273fbfcf49b6a633a6c3c1d3b85deec5dbcc87bfce0bbbf9b0c27b0d8b5ef3b03f97ba11d9379ecb7dde3c9397a757e019b5c26524af4b2eb6ac2defa4280e7cf0300adc0c3d751b81efa11939db181b4de6f31901cc724fe40ca4d1cb95c46ec200338b56d2dc8ee953229d8be77cd59cbd9aa9de924daa6afe462755487a63041d9030450728b15ba0a605dad18130b54d3a075357ffabbba7ab02cd29ac39e815bef0324d5161f6037e611ce38cd48f1552419a4fa7815b4a0bf7dcb7aadfe1ad532a203f62f92df9a7532e48876dd3fe65fe040cf818ccb0ace51db27c911cad34dbc0905581e0391c9a4f10a0a66ca178a58e3263618e1c164af4879afe0e41835f3e0b00c054701f57e233882f7037b25b11a8c9feaebbe8c6781b089d09a82862a728cc30f29f41e11c0c7b3b60103adc67a4321dbd31d3344b7b003aa9720041813185ba43cd2c8b9a497e582512003b174007b5c34c904bee3791e75533065ca619a3157b966c7d4aec76a5d94e43205581e03aab1bc852dede89de51a0019f1ec4e81b21a1411dbd416846ffbc1fa700c014706b6f12ed7052803db13981916e31e47b672cd2cdeb449376af16e1b4fcf3786f665586abf23b8f105581e0327986dc6d2b940241945cdc4d1d07ff69d2c6be095c8e1dcfb1f44d9000c08471bc51b57dbd00005581e034ee918bc5534e4cfc6078eecc2d53972c9c859b5c8443f2ce65bd9a5500c044609184e72a001038a3fc99f36e83f7e811f8b3bae96c831822efa0c250935cb4f2bc3fe84551d4705581e03dd00a84a9b9339ba9e482ffdfd176baf6bb36d76de8a54368b11e96970040104582d363d3d373d3d3d363d733a0b646ae29fbfd4c8e027bdb85d506a9a156a635af43d82803e903d91602b57fd5bf30605581d02491f6d46ec3be6301f2c57483545d249a05a43567aa24d772ffb5f570701182d05581d02e21f79e3af18bd6a66d7edf62f623552249e1d1743efd9bac8f241f804010219420002199f5b03026d32bd9fc2ade661a46a937fc797af42e0d8fbe8b3064307390c10b5014599037e23c59a6084dfd366240745b69800a09ff7e63530be877c1e8b5e858b645e080357766e2dfd5913da36ab583c8acbc0147eac6857cf605e121740e6858c335f380335df2e0a5285a9647d4bafbb28579c7bdea51e219c2d51a5e12932025a61315603a501da08870819dc3e75e44f51ea173be11dc779cccd7f52cffbca209881984903108bd6e7251a5df94c8e27d3a1206ade5bf1f3e5b7b182cda4a5d7034274d20303e7b8f6d24e315e9a3582e537e8469863e55fb0d6cae147c2ca09872fc853f75f0219ffff0219ffff03725c697d8b8da66dedb85a4196d0a9293e1842170a39f89b3de90a925b71b7db030fc94a9eb38e15649fcf8fea72b7e8d3ca5e13ab2b57705100c4598bae5370e70334dcca2710ecc026aefaa219e681269de38a7c1efb1af7b0251f73d5fb78a090034ecdd79357d4c274710878db3e61ab22aa6ae9ac78454b975bb84cd43841c2ec0316ed1a884ebfdf6a554f9f29fd83b0c4f18ff8c1dee1adc000cfe8fa3a5f07a603ca450c5f9a90fa4a39f139456bb133ae7ac46f65570dafbf721d234011bf50bd0310576154cfa9458b3d832e7b87fef521021d57476b556906282589449e02af7f03261be0a5dcb4d12a75c19bdb298f7b8c2199d06fa69022d820fe2c54bc9fcff00377716f0e0f376d947afe7983672803a1097c86ab3ce734d305da740f1381c9d103636665ea4cd0788e00718b596bec26b11ae0e700b53be8741e100e7878226f1303c27ff5df95b981eef96959b91ff94c728ab1e7136aaec96f6f668fbfc02586a6037e4b90ceaf8359aa73994cc3c5d94d2a921f57bedd71e78194a9b620e6f475ce03c8e5c01606ed9ef33ce2afcab6050e59406173e1daf3b2af284a8d83433e9cc903d48be70f3e0f211baec4f14caa97f6d7c8f67c780a3b5fd41988a8fd0db0823a03022c5c17bf3c80e15c17a470d9e5328376be7df6135b2a1333f50bce71b7d3dd0317361f45ad1af652ac560a1b7ce2dd4b1fc15d642fb6861aa70bbf14d979127603719ac67fed01f6cfd9e12be75841ed08aa4f51ec04d885835f7e03f4f41a436a0389f0d71700e7b785ae15734c841a5f4ac846a1eb5bebebd772a628215a72714e035707db9bc805c0f6a33abf0f2b36816702b1f9fb4e6b88bb8f5cea9ed25f926703111f77fe705fac3ae8dc37dce23ae73cad26f56eeb9ec42884d2f3b049f247c603dd3b458784545ffb35003fd26a9926b1cd21da9a7e866d66efdadbf7991c6d4203d45e82b7cf34c1b4a1d5e8e8b6d6180d849714b8bfd90fc8a6917ef0be2814b703fc31ee6a3fa654d3ba30730220363d656168d47f3e6d33e39c3c74d23837c85e032ea8f67f579ea7466170e0eb8cc6dd3327cd8e9c726e011963a7dbbfc54c2e0503fb231863bdf59ceb25928840a37fe034553f8d07c20ba4e14a624f6067ef362403fc7ab36a6ab7f2c80c57426e0ab7a845d1ad2ec9505f776a2c7594fa5495d72a03c6760922a6124a70682e045fc6824c8a375a4defc4150a92e2df63b1e25c765703219611d2f7a5f88142121a29ac556b0dea4f86e04c5f5769db9a8a3eeb6d44a503e88b699062b811fa88028adf1bb0c1fc99938dc041dc7d1b39cda9d7dabfa77903644c4f889fd8934194a726c15de653e8a5529add47f356f102757b9b2dd2759c030a83c2284a6b6dd529f635553e5650ef8cd073e6d23cb35ec7e01feb10c3272f03e0c66f08b97d1466285e24ed0ad2b7a3b0a687ff4f9e1e540e330dc369d8c0ed032c1cef2ac11803fec34141a63d57e41be011d3dc0e54865be85752aabe8c089f05581e03336b799a4f25fb8a7b269fb5e32a4bec4f3fdee9132c17b1d0b2b32f00040205581e0304cfa761890853314726ccc0675ac0772d5917a17ae603b9499ab77870040305581d02b4496c23e0ea93cba5e4b68e7096ad304cd916e8355655da292c84c108472d9f5f0c6276020459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000b98d4c97425d9908e66e53a6fdf673acca0be98681565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000b98d4c97425d9908e66e53a6fdf673acca0be9868d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000b98d4c97425d9908e66e53a6fdf673acca0be9868b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000b98d4c97425d9908e66e53a6fdf673acca0be986908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000b98d4c97425d9908e66e53a6fdf673acca0be9869087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000677d05b8bc5c691afd0dcb8ed81404c1ebe114d61614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000b98d4c97425d9908e66e53a6fdf673acca0be9861693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a039ee632ff9dae6a92372bce44672c5afa05c1a341b9f1721632577dabe6da432d03ef2be58b1f77142c08318641ada8ad9b7c9391ff51d4abda1cdb72fc92a8b50a00582002bb7a44d1badb2be5d40453846ee1cfca7390b79d8a23cf44daeca3cab209a94e1e2db7c1a630afb4eb3347d5cbf603916c89ed5df790e972ae399a07b5761e23a17f0955f4c1bbaf8932270ec4f6e903273a610883ac7e5bd39a0341146cdd76497de99d5c8f6c630bc9f49be669cf1603b7c045600f37da731efa0cad2a82919a4be0ecb94ff91f055181d04d82997b400356d064cc57146976ba15fa3e97bbd5e583c7295d3a5dd0c2a70a469340710ad603ffbea0ea835aab3278ec4076fe79c0390020bac77406459ca5c2067ef81d442b03b76e22c94f2c7423bde2468a83374b4fb07fb5fe1bb1409cb6b88c15496ce378032006564f80a3e51f3c2c21a411ba21f977d2599c6d9ed8ab9b114a95907560010365d71bde00a561fece246affd6b1fda453531803a13000406a7c2ac0ba6458a500582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000fee52f000000000000000006db8ac17572bd8e71c2dc3400582003c7b1a39cd3be8e70b3b782262702532bf575dc708778a3061b1a2f2bb97e80509d6d4c5f283272463f7768b4c8f5d0740058200306fc991deb124ffb327df6f2eb153d39bdcf7f9acd012dba8bccf3b83205f05820ffffffffffffffffffffffffffffffff2af24e5cabb82947fdb175ad5eec57e7021940110058200257b08407bd6323e5260e81405f8205aae4a4a1bae65abe12574c68e585048f4e0820995537a8badd231af9838b830058200294c5d3ed687b3dacbd3788ad117d7c5e3ab6f141b823378c1ab0ef0c61cf514f043fa1076c11ae2e0f986df5f9cca403c592ab634ea26eb5485cc037159d292182cfc85968fc782b11cd96de9a2dc5570334d7247cb56d2a959a5b9c80508eb1daa99b77c3bdea62c79dbcfc7ebef12da803b90656d799cf0cca8eb467607600d6bec6f67bd85cce311eb878c52a37d3f4ef0219efff03a3bd98daacbdc0775a1f3af6b436205293d5679cdc7fb7ccb92ba16fc2677fd600582003e39de33c674ed64181e41ba6d61203425f8f7c01449097bee210893352ad0050d12318e24dc901281d7a3dc407d8150d00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace05004b066a5b9f55612dba3467250fe39b900582003cd5921f6522f5d1e12bbac22d496fbd6663a635dc9d18f2020ec2311bf64c05820fffffffffffffffffa5411a1c70b32f3000000000000000005abee5e38f4cd0d00582003b46c30737ce9495023ca93abe4dea7a388a7b18c677c589bc1b354e20ebf204f18bc449c17aa9f00147da1dc3ffb080058200380b7975e672fac11929d1226827b3aef7051e1b2627f0c8afce62770ee15104f017b1d1c850eb2933e6b358d85a6170219253003b10fb3df9ec2b8b067725fb915f45ef53774839dfd0bc2e1ae1e0a1a0cf35fbe03ebb349ea2b8e538a1a159b219567d1ac675dfaa6c50471f841bcec2f9e71403803fc89006c2d67f2fc5f4f401e36ebc9634dd9ca1c6068936df8c9a31c2a861f0300582002211f06c5deb2b0ba8a13b55aa70cc422c453733c6aad1b9e0aa60d355492ef5820fffffffffffffffffffffffffffffffffbef91cb63ed425a9ab77166f02a543f00582002bec29d909cd26d937381adfa6e84d1e23545ff5e45d7d7513ff055a5fb62574e61561fc1c55d988e13d430a77e6500582002177f6600c582aafa385c0e7b0b6ba9acb5b90c447fd3c03f8ce8a025a3712f5820016653ea3f00003468000000000001f321238d10f4d9f8e69dffff5bc86e9644039fbae8e008e5ff0be77ac65332a18a749373264dc740efdcdfbc27709883212f037c9e5d5e8aa977dd0e379aeeae99b2d3f2f8a30be1f698b748a44cddcba5693b03946334f77a7e5b92a7f97120eb23a3ff35c20a928223add182c82f6aaa55e232005820027c0011ced223f2cf0b7230fbac91ffd2e7ebe03b6935dba6f48b3ea05299694f07c6ea97c30a825e0432646dd0e1c0030f6f62648636b24c7ae6c1b15c9510f5fe106097af706e10082586e9f9e16d1103b200bed77c83a4d19c0f72b3f915fcac6379e1968befb64081f8a338b62715d50373cc5843d8f7b1dbbca49f18b0854f82fc1ec5ebf6aeed377124c4cd94933a3400582002b829f44ae37acd9f95eb429bf6ade2cd7b3ea30a27a06e63d077d8c56fa238490d58fc9ebdfb0b26b40395416dfe77507327aa67fcd29a6905744dcc5a8d61587c4a79b843513ee2393e0219ffff036fe6552e31ba81b42d0fdf7b3669005a5ebc7eb50f96aec063021d725e92353800582002ac052fc4b87ff757f45add8d92fef52f50b24c06afa3bf9a96c5a3889f2d4d4f0daba3e66853706174a8c7176ac1bf03db2b412241cf2866e4669f2cb90bbcebc02bdf59674457f35ddace01da3206c600582002927aee51e00448ff15eed1ba773035d92488a4264faaa6275227bb823e7a7d4f0565490fc7ff87220b7d0582b9872900582002939ad38e0b6ee644881d0ebfa865e6c6107e287183f4aa1900da3ab938948a4f19328b05a5cf1ae52489a08cb81dcd03afdf7e6fd0adee4c28ce74584b13666c5937844f5b62ff0aaea0a82e5e099b2f03cfebc947d6344e1dc0100fdfc088c6af8be9b7c85d4f9c93639d0c300e9e6a3200582003902895fbd1c8ea0ac2eaf6371af699428b6bfd84c1e30fd04d2b6b57db26604f4723fe120a48d6cf3f9ae45a274fb1005820032fcc8a319408c7dc091e18d04ffb05ad7dc8bfb6cbd5727e59fd52e33d4810581e0200000580014355e5d6ce1ffbc90a00040000400000000000000000000002184103960e0567f544cc872f9a84c8cf637b0d0f1c42ba61a02077696e1b356bfe8f7103fe45571f3dc3789c2fd13240d1b67b1be5fe58265f7caa81d41868969035383003d49389b3615699242e0ec0b192385ae852205f23bdbee180621bbd4ef9c0120403530e90ddeeda0b6f46949cac2f0dc016877c11399e65c21bffd3dc8bcad21c0003b8207c24b10b243a3f8f6d3442267a89dd8b0e56db54d5de4ff67dde1f6f753103fa7e039da01a2e0b312242b4126db24130f0d33880dd31f04553ed50a5ff129c03135285057bc3a1607b46094947b0296ab75f48dd4ead07328d4436bbdb0eea7603063d5360a4c10431d1bc045a2b2677c73800057b7ff5933eb9e4df42b52806f00219ffff03512457d15cce85dc77e0cbc6dd58da9edc109876f3f9b513bc49222c0d18244f03c4c9c675aa67953560f7b1efaf5079acc53f70f57d648afb62cf1e46a6113c1c032e6357d1fea365719c3741784acb0088a9c3684daa00f0b9178bfa34a75813a7031db6d95d44caa1c0846f4a6ea878ff30c3c0f9203a5b46b29e5377f5e7ef938d039dd376cec7a88be87c75b92428c9a792c5bdc52210144166d5c85f712712492f038c1b86cc9abc478ad43aef103fb83f4843f612371c6b38c4d2da3946344f057803803ca41c3652c8632f6a009dcb004238d0432cb24c36965a530e0e8915a140c20362a6debc88e8d650ee76a294229c0d26c6e42f0dffa76c82da06e43b6f9e69d1038a716a926cfe41b8be3f6cd2ad8ac377723b85083e38e053f9460d34743cf26f005820027b84b130fd38b34b3d995fc3b5561b02c9107e0d6d5a4992d886b5cc60ccfe5820fffffffffffffffa6abef3c35ba8af97000000000000000595410c3ca45750690399a893526459d51020a76ebde7941f0a3e7975620b4dfc6163fe141623b398b703444834dd8f8c1a78f691f57e2237970c480e36166fda01683830eedfe44cc545005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a0330d96c168ad82477f9005820038ff2194ce9c0b73635c8fc03aa601a3f36e08b20e8c6cb8b66b50b75c622a04917273a863edc8f624000582003e8778ceba85928c9dc21e2c3e3378c51b00b1f34eebbb9361c8652ec4c7e104f281d88a4abc37bd85160e0ff6d5ed302190308030e9d8afecf0d02027e7f14296c6fe5c1b1011af0478d627ed7ea93a36899224700582002d9855ceede0169d8fe9c2a13974463c1b88ce47b66d578dd41fe2dad0117a649059fdcdd4f9c457b55034890fc455fe3e4cbebf69bcd40015966b55ee1d50b74b924461be93d0dd0b1b90319305b4434c04300763c6954129c9d967aa3d3d0443c3edb474da4ca25fc5bc8005820023ddd164ce152c46e97827a10b2db5ca0a11bd6077ef5d0a55a7906565735025004841f4ae186730bf38cfce73305b52d0219ffff03420cbb6c84bfa548af9d81a30b2d062ef14335f0e0cd3060d9d6e6485998351903842c1218507072868f2401116b8db2da104a755e14c63258824be50b7167f15e035f3350abdf210560bd91e4e7df5081611ccd7debb9531ece8d004c2695bfc2c50341959ac14733c433d583c402238a2be3c27cd0ef88ba7ae3b22650ab48b4bf510394ab5ea4bce8bca71788e9ba358d328d97434c1ead51e912135c539b7dc5c445038359c84dbd780df19cd8af7e15bc1aa888473d5b917938c84aa4e3c25c8f387c0311b926753d565e01ca9760e82e138fe808d8b14c08548e6c20e701ccde027c9c00582002504bb82b822515e739f5f42cae364bddfe4a93b106d8916d84b4da247c47554f43c54e40d98d7d7ef0b264e94260d203caab12d5bac006a10e18dfee09bbc0dd8e73ccc857bc3396c5a07b18a0d3fee10058200312efd2c5a2d452ce6a491b9d6c08bd2e59a323bf9aee750a5996132de2b6c05101687a2d08097a5538fb1857e0c1619c1f00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820010000346800000000000203b244cdb277f6154514ffff24061e25846687da1b00581f026cafc930e2297b2ef8d6cec545b59708fb0399739c97e1db92c18e30c2e94f2a19352535df6f539baebea2309503021902800219802003dde2208f9f1506580462d7d34abfbe590ff70f2b19f18e7460aa8d67c754fffb03c5d3ef3985d95e3799d8ea9b05951643939fad2fc22edb55c2e5ee289c91acaf03c3698ea3dafc642d16c670c1659d7839e779807aca052f92d5c2c4443b35794c031621d5edc96b29b552577b0401bf22a085877bc3eb202ace4e4988eee9f9d0eb03c4bb18236118e4cea38289d3494fcca34709f1939762a56d07b366e7fd8b3c96034bdac6e43834653b69bbd1c3e71a1dabb492901395933232f4d471f57a35e21c03eb07eb45f9b28c9f8cdeb939640a6de40b1683291dec8eef8b0204a1c0d9e312031af4473022089cede500d4d28cc74331f966df083da000c512d4290d9184920500582002c2aa9ef43103be02fbb641ca47e81540518c080caf808fd2e3c29df81e98094f38ffe4cc8fece075a0238b46d58dd00365ffb0ed3df1fd4d20d7bd7e10ba403ba64b2baf394296ad78144ce76675eb0d00582002ea3207b23049ca54bbfcba979cd2bc36acfab71c30b2adf4ad35b1b53578ed4f1aecbb164bd8fa6cf4cb16f3258951031c631469b34a9a68217530beec5cf9bd98d33c946c006738f211bb335e3ae4a70219ffff0219ffff05581d029a41aa7b702497cac60aa6005747a791e8a87ec67aee954dd2e86be9070119567e0219810005581e03ebe473f4dcad2ee507fa0df32a2000fc9985479e4d356dd17201171df00c1247217fa3f2c841bc037e3cbdf19178932e3f162086054082bae6f8051308fc646168c42369a39b255203499aeaf3d83f875fd95680452ca2503787ccf26865ee5f52853173464d5a241303c2e12117d0b9d828798af707c7fb80771ac617dcab3fd535c7aba77b271035a105581e03f95fc9516a87a9deb5970b871e997b39ae472e3bf94e2cccbf2a2c6980040105581e03594214ce7cf89043e6da27a77554058b06d00b055587e40c066a225b50040205581e03b776011aef2b9ce74a559111ae903336b3b6cd29961e063b6826a99af008480190548972f2580005581e034ffc026b1279740beaa35318fd3d03838a2f2ce916a7ff5a5752fdaa000c0547035b78f55010000219fe3603d873f55461d7c7813d1033b74c1b89ec911a886b5daab194679c66785b38b10b03aa7c554991ad0780eb1339776d5eb960d23bacd77d188767d3dfe57ee5e1ab9703c0b537a3533cd7d842f916235e5b2ad65b1c345cbab271fd185cd35e461b4f340362dd49516c83f0d9d4b0be1fdd3e15554d45639d47a56d8b44eea7131b8721f30300955bfe696c62607eba9faab85caaa52463e3e917cd07a9440a1f8d0f69ea820219ffff03393bc583e4d0e3948591c94247928982b20cccd0782972e1e6120655f2a67f6f0323c2ce777ca56473cfb7181bd83691ba90c448490bcdf00e822484ae1aef18310336dcad26515db7bd8ffc62c93f3c2d2413d3a7f1ac652834212b4a7f9dfb07370219ffff03e96b527f38e8f15fb507062e7e27d1b930e7c562a6e21df3d85de3afc96043b90219ffff031df3113db2ef604140c2007d5f8776f03f183cb96f74143e44b6b41fcc4c246c03d31673622d11f0283812570b00bf8d42a333144009f452af3f02e35504f5f94f0324bac0ecb13573971145ed1ade1f58c3e8de26a8bc565cfb3f67fdb0c05d657a037ce6b4dbcebb5c93d2717048d88dd608bb730ed9d0e4484870f82f50403e57f303b3cacc27365ec00fd930083a20c6a4f16d2841efb37788c342e20c1b2fb8fbe603e07df719b25440c02203b82d24aae13fed9e672643f21381ea35298f0f3a6b7c039fb68b5745f1e5b82ce61a3de57a77414504962fbc3cd441e6410e6849b49b720219ffff03a16d859811e2a64c3aebcde718a687dd319249dea98469151c10de91239780f2031cd2ba007cccd57494d9449351976239551b8a84d381ace03d787c5300d106c00368dce1c88e0a6499c09737b53a7b34f236247fbadc478308ddd9b85818e8457a03bc34854e069ba4a8f549199f27072445933901b54989de17c172cf21e8c06f5e03d9961703dcf14ddc36d83210744afbd52c57d9fef9639a66106fd62cabacef99039cba747dfa53636bb25d46578152f1d27975bad411a19abb2b3cfdcb66afbef8036b7e667d6d33323ad7d5ac7c6ecae1adcb7c20ceebb79259624d0cf6be59b51a0371782872b5548e7f8a91060267a651580bb58e0f07ad9baee8e2c5c79bd6825403fb49144551dddab9e981a0418b5954f0baf2ea84b48535ea057fe0701b96a1f703e9b83b9b2cfbfa1be223f3df416eaa3dbc7bfce3bc0760fb5e28f91e1423871b03f31fa436676da4b42ffbd0979b8c7e1c992496fb925c16b4669b7eadffb1145b0368dd12b0a4f82ad376be66614c74d21b6c43021ef5db5d657f391aaeeec838b80349c613bd02938d4ff40aeac145f57b6a38ae674fed283d06dcf82c7a98cbbb8b03864614fa57776ec81b47aaa23aad5348a3400153d57e3ca96aa6f8cab1736f0003abe9a33ed46d7cdc4626a36f0c8e630a4bdf4c66afdf5235c6ff06d1ec6cbb2a039ca3893c092ecda865d6e644a70468f44cf8511f1e1b6351a4c7cd18671eda62038b303a2c4ca76e836ab993a9c78635dfca377dc6dbc8ba189731aa831617d34403eeaa41da297beefa1ee2d1b447fc57988240edf39c244e254709e09eae69962203221cbedefd74a8d584cb066fcda82b8f77d2755e3db650868de3d29dee28e1c703fe5b4f0aa6b76b206e08f313aaa1a8e8000fe93dad963f86918e3b9e392d82d803dd75c67d6302b0d59678aa8c1922ea7e5a6a8cada517d79e4e80ba72538e97cd033a50f4cf7db253053c8696c0084e83bd13958d035a333d7bac70e4828a58236903599b2d2dc62096ff65adf8bed11f656fe523ebac024db2b4837f7e4706e2e997036aa2a0b16015ee386b8652fe2ed6f21f678b2225bf2dfa24bcfd847c29020f4e037637cfcfa580130dafd347cdc3d24951c0a263631d4f5ca0e557d875297c376c03f44c744dca08e63fb6c8e522b916d0257d88b90db74864481176e79fcc7fea8103e4d89e3a4ba0b128e47629399ee20494adb01dc99d9cee48d311a58e04a6a0b7039bacb634eebb29835bf50c6a353911a51551f2fa9882eaa0509d5cce725a8f7c036222981e87fbae856687edf8ba4300ba2ddb3d780fd474a132d11e3651b0a8f603d33c2d058faf9ce0dd29855b3a56b8961d9488ee407035bae7b4caf4594e09b003cf0ee76f9e26dfd340d8b8435444d2ff6049febf4db22727bf972be25315ed3a036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e03e99c5efa37932cc4e137ef0afdb356c54e42191563d49676802b56b3e007011bffffffffffffffff03197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e03538f7f111131a88eb009b832c04745efa83b4b9b81873cdde50ad287f007011bffffffffffffffff03236e8fd66132852947fe2636a186a90941aa04f21da23db01fdc1d624e77f39205581d02e49de264273230b00d9a59ea4502ed8ae5e94e4d6e3d004594f5dfd10c1904074805200ffe0f0d731503ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d028e38be200e2c619a96a3bfec0b2560f18d9264896b816e6fa2a65dc807011bffffffffffffffff0219400105581e03647337200b52f8a5d26b208981d4ba2057066effba8fefad6f6ff87220040105581e0359c77f11e15937274a7c1fd09bf63345dcc94a7ecc8e79feab4f3ab160040205581e03c71ebff503ce9f263823227aff924c362210e8bc2ba16104c617df95e00c1845470163544480fb6805581e03592ee7947b5ec2882f417eab9dd2b398812d8afd2f29c72366cf2bcd800c014701e6721fcc3ae805581e0356370368a35763361670c7c0cfae097a9465b3e2d9d0dafa3b11f043100c1819476fd1707366101f034932b62ab01bf52ce289fbcd80da07ede607404c85b3ca9e084e75c7a92f152701410e02195f53035b90b950b1abb254ea121b8643932ed5a1008e88aeeaecc89da33d814d144c24033a1be6b56495712b4a7e7494c4c3ce80b6ea1773539511c2087a92fcb3954d2303cf2a6c6576f2e26aaccc0ad258c38cfd6ec9e86020f42002b80d335301f8aad80335d71cff15936f634304e0112881e5aab1cdc11d869f9faf15e678f45e4bbc90030874fb6e7d4672f2b05642f8726f894aebd933054998b5149c99d15f5d642f0f0360405df49fd5dc171ed666a81c8a91f3215a0966894798adc5207d946428ce4f0219ffff0348bf9748566b99ab5a9afccc65f5c3e8a34bcf4981450938d24fa0e2a867401a0326d45015d98a966af975eec1a6930aacadb41157444944ae99769b01120d08870219ffff0343bbeeec38f130b71a48c871d1e47a82f4f15447fd2dee8b31f29cd5c0d4ab3803c6dbae10d7c7274de36c3f103efda2fae8ecfc0bb4311cc433699eb70d703fa703861962f87eb394058a7234435f424eb60b47a013fe5a581afef37da1a82a0c1f031ddd88b544708590e439b22b833af369c41b202905f7aec19cc36bef2748109903dbae70cc61003a4b2c4e6f770320cb44ffd3f9ac02873fa1610df3407410e23c0390cad75d0c394560454bd8a1ff3d43688ccd4f542964a4038b26467b1a7e1dca034ccaa6f58df24c4ece6254883a9034024de0b4e4006d4c00ddb9bdbb57e97442033fee6e34ed896b371979cf3a5dd6d3a8c088822d39c067f3a11ec8d77d4fe0b303b0b4a56a1d56e556021bc02969f7143f5d30ef8631eb78808cb656b658fa62d1035d5dab758f73accf5a1161873e2e2d3fe6f07c702c9d79507168a346edef6aaf0219ffff034aaa9651e6bef5c49f7aab1887237e1a76ceb77c0f0e704308930a63b48286b803bcf70befca7dba0d2b36cc66b954922b1ec6c724fca1dc38caddc0a5729ce35503a60b4a1c50ac1959be0dc0a75a60a9e918bba6b1500c835ac1a588d59fa01554034d8a458d77c587e9e31c4283ead0dd8eb6a2a429b21c7364501a0c8d131a75bc0353fd5310bd9166462e97436bf8111328b00f42da896e791ad03b679c1a9bc68603d3059aedd6cfa139294743f4840e314e86c4818e5055d98c03e4d4bad91a331d038510eff9a4991621b60bd4e3167cfb4276334e134dd5c2507cfee413f12e701e035503f72682ce7e8b672cd8ef7a0337529bfcdbf28fea83a87ef654e21e0671360396f4e6b744e2ecc90bcbb8a86399c714421e82e89a5613cab623dddc4dd9b442037eb620efd70a362ee757a7a4640eff07927be55ade042a4ae4e424ca9c1efd7c03f2b1261de4e806e3a44d7b4bcdeb00fc0371b796609d049989b2659971eccfd303c21fc493bf46a908fd3773e118535f424f2b630e89d2b6295b2c681e3ab1d2b10331a86b5836d77ccc8296071dc599752eea279680e0e2bb838e7eb9cc87a0d5be036dd9ebd5a457e780e7ff72114ad02fa5ee39e4ef1fad43cfc1e4cf86d0b147e603638c1efcc6211014bf154dc8ef97d41036ecbc5bbbb1e30a68117a47487ac6aa03590e6dcfab56a1f09754d274ec4b6ba7da7be0efe9fd9fd29e88c5b70fdb504c03ae1f895a9fc86dfd7dd4a42f1ba783abea3419ec4212ad0ce921370f46cfecee034fa32c08312c1987dcfdc71e214b2e56ddbff2730e8b1591666251d7136fa92a03bf777669eaab51ad34a54179b3b1e4042ee5337b9c4fc051c9b3a8f6b28976c603c940e54172debd630a32c1f48fd26a438651b6d563f742d6e6388cff25b14c12039a171239f67953269b20583f0fa6703b725432aad9cb7b5fcf6d4926fddc54ba03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0303f31cf18346d7a85547f285c565346d440c2d9f0fcf99f3d91fafb2267fa03505581e0312ca9b48a6acfa2ff14b8b98cba1ea1323c3d0930f6e9a717e2c78f75007011bffffffffffffffff03e3a156e66b74222cb495a84458717b649c1d28ed7e12f5781c529c082aad1e4001410a03a70796a63110902a76d620edee515712820c6facb73cceed444ec915e5c7635405581e0324e844d0c33895616c3c81707b28c512c530242d07dc05ae56aa9d670004010364ed24de36a5b0301ac08a76935220c706e2a36edfecb9233d499ad77e97bc9903e7f173908b6c9b11752a39e5003b2d9d02cf4124964d3ce1743dffd9614d065405581e0316d9bec11d57bcd42c33748f3e1ad5369a60b1a03e68552535123974500c0347014495482a40180322b80da86c53fe0acb0707ec8c426633e518380005675f8b7db463a41903aa6105581e038c45c87c5012f33eeda9e54300089437766af979141666a52c69d4d9800c034666c041b5f9d80459102b608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063dd9db56b11610066578063dd9db56b14610251578063e2889c8214610264578063f2fde38b14610277578063ffa1ad741461028a57600080fd5b80638da5cb5b146102075780639d8374b4146102225780639ed6952e14610235578063c08d1fe51461024857600080fd5b806358d2b4a5116100d357806358d2b4a51461016c5780635d77d8d0146101cc5780636f8f0dbd146101ec578063715018a6146101ff57600080fd5b8063113f792e1461010557806318e02bd9146101215780632bcdf3f4146101365780634028eddc14610149575b600080fd5b61010e60025481565b6040519081526020015b60405180910390f35b61013461012f366004610e24565b610292565b005b610134610144366004610e3f565b610330565b61015c610157366004610e58565b610435565b6040519015158152602001610118565b6101ac61017a366004610e24565b6001600160a01b0316600090815260036020819052604090912060018101546002820154928201546004909201549093565b604080519485526020850193909352918301526060820152608001610118565b6101df6101da366004610e24565b610460565b6040516101189190610e8b565b6101346101fa366004610e58565b61053f565b610134610613565b6000546040516001600160a01b039091168152602001610118565b610134610230366004610e58565b610627565b610134610243366004610ed8565b610789565b61010e60015481565b61013461025f366004610e58565b61099f565b610134610272366004610e3f565b610a11565b610134610285366004610e24565b610b17565b61010e600181565b6040518060a00160405280826001600160a01b03168152602001428152602001600154815260200160025481526020016000815250600360006102d23390565b6001600160a01b0390811682526020808301939093526040918201600020845181546001600160a01b031916921691909117815591830151600183015582015160028201556060820151600382015560809091015160049091015550565b610338610b90565b601481111561039a5760405162461bcd60e51b815260206004820152602360248201527f61646472206c696d6974206d757374206265206c657373206f7220657175616c60448201526202032360ec1b60648201526084015b60405180910390fd5b60018110156103f95760405162461bcd60e51b815260206004820152602560248201527f61646472206c696d6974206d7573742062652067726561746572206f7220657160448201526475616c203160d81b6064820152608401610391565b60028190556040518181527ff7931bcbb175b8011a5de1502c66af4a6b4c5eb7d87a5cd12a2cbb6189db5cf6906020015b60405180910390a150565b6001600160a01b03821660009081526004602052604081206104579083610bea565b90505b92915050565b6001600160a01b03811660009081526004602052604081206060919061048590610c0c565b905060008167ffffffffffffffff8111156104a2576104a2610f5e565b6040519080825280602002602001820160405280156104cb578160200160208202803683370190505b50905060005b82811015610537576001600160a01b03851660009081526004602052604090206104fb9082610c16565b82828151811061050d5761050d610f74565b6001600160a01b03909216602092830291909101909101528061052f81610fa0565b9150506104d1565b509392505050565b6001600160a01b038281166000908152600360205260409020541633146105a85760405162461bcd60e51b815260206004820152601c60248201527f4f6e6c792074686520746f6b656e206f776e657220616c6c6f776564000000006044820152606401610391565b6001600160a01b0382811660008181526003602090815260409182902080546001600160a01b031916948616948517905581519283528201929092527f58c4666d1756c527d157a91550f4ca84593b1353eea2528168c1ff4be2113706910160405180910390a15050565b61061b610b90565b6106256000610c22565b565b336000908152600360205260409020546001600160a01b038381169116146106a25760405162461bcd60e51b815260206004820152602860248201527f4f6e6c7920746865206f776e65722063616e2072656d6f76652066726f6d20626044820152671b1858dadb1a5cdd60c21b6064820152608401610391565b33600090815260036020526040902060028101546001909101546106c69190610fb9565b42106107145760405162461bcd60e51b815260206004820152601d60248201527f43616e206e6f7420706572666f6d2074686973206f7065726174696f6e0000006044820152606401610391565b61073d8160046000335b6001600160a01b03168152602081019190915260400160002090610bea565b156107855733600090815260046020526040902061075b9082610c72565b5033600090815260036020526040812060040180546001929061077f908490610fcc565b90915550505b5050565b336000908152600360205260409020546001600160a01b038481169116146107ff5760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e2061646420746f20626c61636b6c6044820152621a5cdd60ea1b6064820152608401610391565b33600090815260036020526040902060028101546001909101546108239190610fb9565b42106108715760405162461bcd60e51b815260206004820152601d60248201527f43616e206e6f7420706572666f6d2074686973206f7065726174696f6e0000006044820152606401610391565b60005b8181101561092f576108b083838381811061089157610891610f74565b90506020020160208101906108a69190610e24565b600460003361071e565b61091d576108f38383838181106108c9576108c9610f74565b90506020020160208101906108de9190610e24565b33600090815260046020526040902090610c87565b50336000908152600360205260408120600401805460019290610917908490610fb9565b90915550505b8061092781610fa0565b915050610874565b5033600090815260036020819052604090912090810154600490910154111561099a5760405162461bcd60e51b815260206004820152601d60248201527f626c61636b6c6973746564206d6f7265207468616e20616c6c6f7765640000006044820152606401610391565b505050565b6109ad82600460003361071e565b1580156109c557506109c381600460003361071e565b155b6107855760405162461bcd60e51b815260206004820152601b60248201527f54686973206164647265737320697320626c61636b6c697374656400000000006044820152606401610391565b610a19610b90565b620d2f00811115610a7d5760405162461bcd60e51b815260206004820152602860248201527f74696d65206c696d6974206d757374206265206c657373206f7220657175616c604482015267203130206461797360c01b6064820152608401610391565b62015180811015610ae25760405162461bcd60e51b815260206004820152602960248201527f74696d65206c696d6974206d7573742062652067726561746572206f7220657160448201526875616c20312064617960b81b6064820152608401610391565b60018190556040518181527f06d654c7b68677effa9c9aea108f787bf2111cd75c2d2b552f4fae106aa3ed0c9060200161042a565b610b1f610b90565b6001600160a01b038116610b845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610391565b610b8d81610c22565b50565b6000546001600160a01b031633146106255760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610391565b6001600160a01b03811660009081526001830160205260408120541515610457565b600061045a825490565b60006104578383610c9c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000610457836001600160a01b038416610cc6565b6000610457836001600160a01b038416610db9565b6000826000018281548110610cb357610cb3610f74565b9060005260206000200154905092915050565b60008181526001830160205260408120548015610daf576000610cea600183610fcc565b8554909150600090610cfe90600190610fcc565b9050818114610d63576000866000018281548110610d1e57610d1e610f74565b9060005260206000200154905080876000018481548110610d4157610d41610f74565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080610d7457610d74610fdf565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061045a565b600091505061045a565b6000818152600183016020526040812054610e005750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561045a565b50600061045a565b80356001600160a01b0381168114610e1f57600080fd5b919050565b600060208284031215610e3657600080fd5b61045782610e08565b600060208284031215610e5157600080fd5b5035919050565b60008060408385031215610e6b57600080fd5b610e7483610e08565b9150610e8260208401610e08565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015610ecc5783516001600160a01b031683529284019291840191600101610ea7565b50909695505050505050565b600080600060408486031215610eed57600080fd5b610ef684610e08565b9250602084013567ffffffffffffffff80821115610f1357600080fd5b818601915086601f830112610f2757600080fd5b813581811115610f3657600080fd5b8760208260051b8501011115610f4b57600080fd5b6020830194508093505050509250925092565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fb257610fb2610f8a565b5060010190565b8082018082111561045a5761045a610f8a565b8181038181111561045a5761045a610f8a565b634e487b7160e01b600052603160045260246000fdfea264697066735822122047692adf50d1ee0bb7b5aa656ef4c28a5bac3f51e5e3792a4a0000d44e381e7264736f6c6343000813003303c14008a34d926ad3c3a573dd2b779eda59fb6d3d1b40cd58fcb7c2b7124fb7df0331ceabf89a79c980424e210ce23d5a52c748bdf60083510c8f32d87891e518bb038fd9586680e8c1cfc394500a3ee37ec26e81abd7517c833a194e123ae2e075130399a2c31475e285515575edecedc21882c09b319930c1a7920e57fc88e65f39cc005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace410a00582002feefa1543f2a1d18d4712c650dadd32b56dc7c7ada5312b2024525a9a7e28754264a0fad9bb5d3518dcdb451d7cb2717b3bfb6ca00582002626a08c1ab6707475ca829d77d4086c9558da648b04d2cd19d3e1d5333ae0454bbe72425574b34476b094663072fcb3a46ba403300582002de24460f6d5812f82f729447a65111a382c744841eefe374beb4aacc7b511e54eca677b8eb7b5ce088d342f33271e97d3090a748021899034e7b405eddc0ca4b3ca822bc3e5c7377b106ed9c803b370e39149c229760a03b032b20da73d9f241b9a09c241e63511229eed7288344bf6b8c66b04adcc8c116e701410d03e7c2085748a14ec4284bc2a8c2dd4b177c93626f2362d63b78e941876d7e53310320f9ce6149a4fe36c1e86e8a6cc7c894000768ad3bf02b8456464b1ee9d936e20340c169013ae51ca6775a4d10b74552534e42d4a48184159149cabdfe19f281110315e08027a897539fcb9b668d4935f80b2dba492a45c944af1475e2383d7e68fa00582103746109aa8d78805da13a04c8ce090846a13cf4bcd8839500694b920268fa11a04101030e914a962713180e33ea10834bb789c1f1dbffe1672b72de5f2a98bf85b5c5ee03251bbaf09064a271c9e72f7383733e7ca151f9821a2784a81d6ff5f89102d197005821030f82958e3b45b6b79024b0e6bdd371ffd3808000f411853c78b0e5956712ee204466824c330219fbff05581e03e7a74f02d42a7f2b5aabc411ab084f1b1ce02883e372138b8931628cd0070119102b0219b6bc03d33cba838081ef19fbb9bd0478ce49d8194de92d104d60cccf8af64d3400a82b03e3e6ffd01a997b880d3f784a6c6ad59e7b3819c9be2a16a21be5c0e3c3f9e8750338407607a4dc4d8cd26f6c9a0e5bca227d16a84e91bf4a39cf727d7d864fcd490386df7fe42468f99b7f466604332ab7f83060450c4669ba07ce15a34630fe25f203179e5ab89d5b8b31a420276f1ec0e2640c1f2b36de762d07b399736a3b2f35bb037e7932578faf42061a7592f6aca36943469b71c31ec2a7e057e0c23316c9cc5303cca2e480a6825389128719088f701317f6ac691811e30ba56b52dbeddd3e8be1035347b761b06882905e4a56ca7ff1fe5ba3528f949dd36919d05d3624cc7e437b03270c121950a09612f70c8fe7796121b300e06278f38e0fbad56f0ccc72b8e3150219ffff033aae733798d46c0c2aaf01abe2f1a4524c9f3ef990f718caec7ef74b827b1cea03d816bc5804ede667738b27936ff038d880dffdcca32ffe750f7b6f4f5767e9530307bde40d716e263457d8810a10772d36094b7bb056d08a6a0458ce6a288f40e003edff7ac0761e567fc6728b25d49dc215e2ecac28cc5a24f90d84c1d63c3d0db003f692f79edfad1216e67fedcc8982c8dc70219705e0de264e70995bb99bc126520327c5a43ada02dfa8b71f5d80fe2dc4ff9919faa68d6948ddaf79bee329c44eb103e1dab58b9dd201b5fee8dd6afc45c80d2569187f93497f960fce0abc2beb221103234e92cf96969db71de90cc062c8fb9230fdc85a4517bcead83e5c8f573b970a03f77286eae57ba8e24bfe590831e436c0f1f185f2d37a616dd2ff4d37a4dc8132036d3bf38e1c3810315d1e20d1dae2351eced208accc6976ab03cbbf9021fba46d030ebbe9e56d903ddf3c46b031900447047210b6391e74b70aced6105b9986a27a037bd51a768a0ec1e368250e8c88f866498ec3ce00ee5de01775dbc04beede3b3403ef49332babc40c53255e2ea3041800610590ccd5d728e4f48d26b95fdbd4a4120219ffff03a26c8b07c25dcde04693473a8a4f2cad92e72fde59527b3b1b0ee7ed556529fb035be8e8302652bcc0535f9c0fa0e910b4fd278d7fb51a9646cec06e821b42f8e403f453ebaf30ae76829138698164fc34b15c1a77d0a3ce2a0b7f6c81385b29b28603d7b205766342cc449308903aebc2e9b1fc6a14f7e6979ab354eda6912943f83d036e45649ac977fdfc5f08eacb63c23027a25c18f82f819ea49877649dc04a311d03dbb5d3c12e88775c1d47cce73363a3dfdf24f5a96d81cdd8efb0437bf17dd55a0388c60344b90e7eb940fce0948b870168dff533099854eef500b85e6df810ad2c0219ffff03af303f9af8f76c717b46f91791fa4a74b165d7acd24cfd873b3fd7bd8882f18f03a7fe943ceb25df0bc24e6833d3b87132875b0c09cb748b3cbefd9df3eb70425103cc8d40fdc8d323419ef690279419f31c335132da964e32a3fe7c9863a0968275039aa4db2bb892cb1eb05e778c75b5202703d2e160ee5c495be7b0692601574da80309d9090212e97d755f06834f432ecf2ffde6422e697d0e1327f884ea1e6c97ef0387e8e007dbc38c8856c04af4da0e190899f3d9e91662a71c310d3191788e940f03b172d9053f11bbeaa7418114511944ec17bbd1ad0df40f2955b330503371686a03111a0c21ee0554cb16091f2124e28babdb289d546b95d6473c9c96f7cab1b9f003ce322ba7367d62bef3c47e62789c215c30d0061e1ea12488efa49214b7eb8be3032904b69e60d942384135b8bd8c94bc00a09e2560f9c136d0924edfc873870cd603b2b1d8c5f619a219e49553f5163a8d880c87452ac68aab66afe9902a88e4222e03d09dde513d981da1b3a828f9d712112c0a74b6ea266cc2377f70c040cdd1e8440399140c5c1509e523ee22066b1787fdb758268bc0481a372c5b2ea8126064a71f03e8a9fae457d2ccbc5e230a5c4869ed0a434b1eae34eb9b88ffb3b756b4a77a380388f97235c18020e477822e46c380cabb18abb01e330e248f51ccb749cdad7a2f0358ab6f94695a2f9d41746be5605fbb57517067e4cdfa1c562f690bc6ea9d546203d466641758b58a2ff9530e1f837824839362f2024fdced41b076f91caa366e280383dea9f1a6567631615bc0519d2810ef89a733e47bf70ac0f53b75f99238b9ab03b9ff67671f7d0d594cb1c2e21d4a3b8d3709f83b4fb730ee4d6831018b365d980306a16ed670e1a4f427d1778c1fe02d94be865664de0c4b5d9636ecabb6fcb81c03a00c333c181cca4fb3c70621090d5e129e0a912293dedeb7bf756e6109c48868030b3d266760bf433be389d9b330caadba0bae1800cbc02b6162cb41cf53c86da8035099828e0897abc7adbd53cc20698403f7fce4a7f81835c3f1d8c500e0d45c9d03de1a441110685c8ee8afe11158d1fd3b59083212e27a144ff276ffeb2985400703a8cbeeb544527d90bba7fa22ea195315d70263a2c6cc1fd987908ef9ec3129ce036d7469458c32477dc3b2499fb481e27a2d0198fe930a9cbea15f794aaa51a9e503f450e629a640aa59c4f3a65520c03df533eee8e57ca386305ff77f5680c5f55503d227c112c2e011444c168454de5fa7f2a03cc2e351a7f0669744e03da7f2034703022fd792b439e5cf427ed5647d100b1fac2fab3f0547bc58e2df99c1d5d06c510307e4e7f33114c54177a5e06f02e820133b85b8cc9e059f09f7a6ebc00766d835031add3264814c323a0b89c45f025e34f232545f02102e2250eba8869e09926f3a05581e031e46d3cd30aba8e6274eed6dbf6e05c315e8b6208e2ec42cae7c2431b00c0446e6ad2db6eb2c05581e032c1bd9bc5b2773527f8fd20a2316f345f7299c26691b0e6c0dbe785ee004184403bfc7707643c287fb74381d4eaca22f95005e6e285fd3acbd9e42e284daed36ff05581e0399eba34238aa844ad54d26eda25fc6c742d8a3a059c2e8ce96a84e9320040205581e03be52259cdcf52c49adcb4f8af2f76f3e0b5bccffb941196184aa3ed9e00847b1a2bc2ec5000005581e03ed38eea3118ad30cdcf2a3e50cc131c0835aa886dc6633f7663a0111a0040205581e035a9af1c9cde0dc077396bd9945cf21ba625d0ba326c9b989a3f7cf69300c034706f2aacdf28f8305581d02629e8c2c9e53cdb269183afb0a6629cc457904a6552de1b9eda636d70c182646a3089e8eea0004590ab56080604052600436106100555760003560e01c80630e47e9e31461005a5780633fc8cef31461007c5780637ac5d5a9146100cc578063969b53da146100df578063b4b6260914610113578063f469f82414610133575b600080fd5b34801561006657600080fd5b5061007a6100753660046107ba565b610146565b005b34801561008857600080fd5b506100b07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6040516001600160a01b03909116815260200160405180910390f35b61007a6100da366004610879565b610291565b3480156100eb57600080fd5b506100b07f0000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c57481565b34801561011f57600080fd5b5061007a61012e3660046108da565b6103b5565b61007a610141366004610987565b6104ff565b60405163d505accf60e01b81526001600160a01b038c169063d505accf9061017e90339030908d908a908a908a908a906004016109fd565b600060405180830381600087803b15801561019857600080fd5b505af11580156101ac573d6000803e3d6000fd5b506101c6925050506001600160a01b038c1633308b6106a6565b6101fa6001600160a01b038c167f0000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c5748a610624565b60405163041c592960e51b81526001600160a01b037f0000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c574169063838b252090610252908e908e908e908e908e908e908e90600401610a3e565b600060405180830381600087803b15801561026c57600080fd5b505af1158015610280573d6000803e3d6000fd5b505050505050505050505050505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156102ec57600080fd5b505af1158015610300573d6000803e3d6000fd5b505060405163041c592960e51b81526001600160a01b037f0000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c57416935063838b2520925061037d91507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908890339034908a908a908a90600401610a3e565b600060405180830381600087803b15801561039757600080fd5b505af11580156103ab573d6000803e3d6000fd5b5050505050505050565b60405163d505accf60e01b81526001600160a01b038b169063d505accf906103ed90339030908d908a908a908a908a906004016109fd565b600060405180830381600087803b15801561040757600080fd5b505af115801561041b573d6000803e3d6000fd5b50610435925050506001600160a01b038b1633308b6106a6565b6104696001600160a01b038b167f0000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c5748a610624565b60405163041c592960e51b81526001600160a01b037f0000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c574169063838b2520906104c1908d908d9033908e908e908e908e90600401610a3e565b600060405180830381600087803b1580156104db57600080fd5b505af11580156104ef573d6000803e3d6000fd5b5050505050505050505050505050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561055a57600080fd5b505af115801561056e573d6000803e3d6000fd5b505060405163041c592960e51b81526001600160a01b037f0000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c57416935063838b252092506105eb91507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908990899034908a908a908a90600401610a3e565b600060405180830381600087803b15801561060557600080fd5b505af1158015610619573d6000803e3d6000fd5b505050505050505050565b600060405163095ea7b360e01b8152836004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806106a05760405162461bcd60e51b815260206004820152600e60248201526d1054141493d59157d1905253115160921b60448201526064015b60405180910390fd5b50505050565b60006040516323b872dd60e01b81528460048201528360248201528260448201526020600060648360008a5af13d15601f3d11600160005114161716915050806107295760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610697565b5050505050565b80356001600160a01b038116811461074757600080fd5b919050565b803563ffffffff8116811461074757600080fd5b60008083601f84011261077257600080fd5b50813567ffffffffffffffff81111561078a57600080fd5b6020830191508360208285010111156107a257600080fd5b9250929050565b803560ff8116811461074757600080fd5b60008060008060008060008060008060006101408c8e0312156107dc57600080fd5b6107e58c610730565b9a506107f360208d01610730565b995061080160408d01610730565b985060608c0135975061081660808d0161074c565b965060a08c013567ffffffffffffffff81111561083257600080fd5b61083e8e828f01610760565b90975095505060c08c0135935061085760e08d016107a9565b92506101008c013591506101208c013590509295989b509295989b9093969950565b6000806000806060858703121561088f57600080fd5b61089885610730565b93506108a66020860161074c565b9250604085013567ffffffffffffffff8111156108c257600080fd5b6108ce87828801610760565b95989497509550505050565b6000806000806000806000806000806101208b8d0312156108fa57600080fd5b6109038b610730565b995061091160208c01610730565b985060408b0135975061092660608c0161074c565b965060808b013567ffffffffffffffff81111561094257600080fd5b61094e8d828e01610760565b90975095505060a08b0135935061096760c08c016107a9565b925060e08b013591506101008b013590509295989b9194979a5092959850565b60008060008060006080868803121561099f57600080fd5b6109a886610730565b94506109b660208701610730565b93506109c46040870161074c565b9250606086013567ffffffffffffffff8111156109e057600080fd5b6109ec88828901610760565b969995985093965092949392505050565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b0388811682528781166020830152861660408201526060810185905263ffffffff8416608082015260c060a0820181905281018290526000828460e0840137600060e0848401015260e0601f19601f85011683010190509897505050505050505056fea164736f6c634300080f000a0605581d023b80a620da11d450779249f2bd4a5c5d09191bc4fe808940ddaebcc50701190ab505581d020edebbc5e60173d8bf257f849c7bc5dc1f64de28b1384a028305e86e0c03465e236855f8b80219081405581e03c583382ece4509ad3c6d5e5e3979a6fc11ae8507116600684f301c15c00c0246781b116654280219b966034f5657025cd73d8fa5a48c0d82c0f6d14fd1b3998968ee852fcef7f1cdc1cebe03aab7f05464e7c890232960698ee96779cd486184800dd35bb5e873584aae2aa303ce8b63c7fca5d8fa75defd2b8bc4346808927c18cb660fb7e5746728e637ebbc03585189b16d15d9d22c717aa32f5ecae5b7d7be37c426bc79c1d3d65ffdca575003cd0986725076a2a5c6180f3d57629263d1b3b13d15d07079eadffc5c88208e8c0355a47d77c1285ab5e2a177e60e3caaf5e2d96ab8201dffada7ac92888262f1e003bf70ab0cd680dd15882cca0949a83a764cd20def22aeb0e37e6c65136a52273203e93ad52b1ffe6e8539549fd6f6adedbeaba012bff4b0ef6407e611f832f8f95803f673585367cfa7ff5539714c9078aac475d5166b633f0898fa6fc02c39b73f8a03fbb7e00d033959bba7caa581db438c27157beaee5f8303dd2989b45f82422e6c03c9d46f743906f3816a45f118b0586909c22734b504bbdc6e0ca1d07b4ac7da9c03fb8335bdcbfc2e569fc99fcac930f0e318b17a8330656ba842af10b8ebae63160219ffff03778bad4d793cb68499616b56f421aae08dbdab47a13f61d06f9d81a5e1ee04950337f17da85f151ac308f70b8f863584a61e77de25395c5e60267381b28646c4f703d21dcf2ee13608170b9f0c66c1b03c97f077abb8d454e4b0ce7f344ac7c898bf032577bebcc5ab79544e0546327ccf9cff8e43a39d2d354040283f4de8e6cd33e203e36464306afb76c158c635e94686d0610acbced147ad1f2e844f75ecf9697ef30219ffff0219ffff03bafade940149bfef00cba20d8ad2237bfb2c56a0ca9cbf8acbf6a509530717140219ffff0328ff256323c71703491cdab147542fbcb5db8db6bcce057276d0c84570d7e61a038261d9ed9904fee2bcd3ad88f0a47aa1720829a10ce0341e58fee7108b91680603e9d893e8fee59d57ae78ad5e60b1a71a6ca7992038850dc35d70183abe0024970337a04e9b7594b7c8c70afdb1a75eb06432d5ae9d6c22ec807d50becdd19b737303a17cd0390f0f0e2123126740d1af88d2108ba10b20a287f65a33264d9fcdf4820309e21a2daef1965f02583d1d4c204557cf455f99ece1842ee30cf3dc765758ff03ce5867d01518d9882f88dce4b28e7bfed10ead917981e186978e6106472ffc620385ac39943e16c230aed20f86adef609ee075fabac8fa3cc6b43de3d9c0887817035189f1ec5934035da2312c24dc5585226234e86492cf02c7921e86ab6635397d03af6c9d5077b7f0a25b08eb0750ded2364c685841546c817745abadd2bbd1d0b2037a05657be761d59cfacb724b721c84b15c6907a9fde19e85a4ef340e496aa6a103b74a95b6152b7c305a799685dc9ce88b6777b27b9a73dad2f473c29d6efca9f5039a2af2578428009f68be1639545ecc274c2c1b316b516c6baec7bc623b9e93cb03b5c9cb24f277b7023f21e6f9753affd46d0e435fcf2a0f9d367c80d9175116a203853ceb0d6b0c4550517c7a240712b7a6e37ddf4942a7a7d89c76a2cc332252ad038bca8306bd84a424346cc12398d22c0b856277dbc5ac7569e4fb312fac8ad98603cbb410ede7f020556e7301ae092718945b37f15af48db3f99d90a1a2b25341a403e4da1f9e372d128332d0974589b375aac412f0065084f179d8a9f46190bac1be03de21a5f653d212e59f34c2bf69ef0a4fbd812ae403ce1d663b029fe89a6fc84d033f8162667be3caf1470219b2d994121bbc0c3e9388113af0a3a021b4c3d6646d03dd53196f2a2665ea929db13eb595cbb5ce3cd5051eecac72a263988e3e98fca203d8c826570e157042d91d62abb77d42d346e89e37f4f8c1e6159ab505d6b0147d03e2fe93bdb47fa7bd33b338e2dad914851fb136cc4d2fa01967587e22c962eb93032c849f9765bb41f3bdd3db5d85957641dc50518e00ccbb5670331b0aab23a94a05581e03649f2075911c8f6d2db051958720c91f80bd909e9db967eb2aca739cc00c0247101566204af00005581e0381136ce4d0ae369c3169e70b8db4d2c75d64eda26a8dba5e32865643100c024701938f7483107203cf4ec28a03fc0e6a65701c4092c05fb0d7ee235d5ea883aa98b7f6da5f6d46cd05581e033426ba80175c605349f9412cf7641ca32384e13961d6bd9583a0b5b8c00c0147456316d9b0e35005581e0320ae4d3b37f4b878e1f0b72b910a484454f2f5fa24b0dc0dc8694ec8400c0c461116f54789b405581e03d7c7976e3626579d99a31dc78da8b11e96795e694c2f34b6463061c260040203e19a003a838e99cec8f72d4f3eedb2fb19af1d70dad0dbaae59ab439c9f7b20805581e0370b73895b8c9959bae685c3a19f45eb5ad89d42b52a340ec4ac204d19008410105581e03a52dff93dda13692ec23734627841b30a925eadcf279457adf2ac6c0700c01470707e3d802b08003e7f097b013456c79512a81aa37c5cfb1c64056c7d87264ce55d25b118bde185f05581e0375fe7fb7cd684e46b8f4297b42bfa9cb389fb5882854d002d7065ef5a00c034762995a5325f86005581e0395aac3f6e0ff159aa3764a7b9f279ad99f2ca704d7a61e514dcde5acf00c04470142fc6eee6e2f0219eadf03aa8d1b28310786facc867dbd51e4c222172a5a8fd7a7ce26302e1730321caa430320ea082aade731979eeb661601ddf114214c75be9133ef32334df7f7531e68ec03d0d7af8366cb9177ae4b3301031c1a593e7151929ff591de24406a2190d3cb84031a5043d265ba7341bcb2efc5e25c97bd6a0671f5a6b755b9f57a60edab096c41037bb2fcd2872e626d1eedd01e874ff72fd53647abe0599d42a5f25c0bd096015403ac18e5d2aae61f77ffb7778e846a5b9672afbab396c3edc1340a3b162f79ed5303a0cdfa22e557eecd301b82dccbb4eb47520936ba800fc63db72f8b4d212faa6203fe06e7857ffa8554547f57545bf2576ced097bbdab57321f602fa470cd3d854103a95288c1e5c603cc0d821ea11491602db17ec711442220c1d1a6ef24fd7ba9c703b7bf66f3831faf0dcec62162b4fac8fa8109a59bdf55062ad8ac1b6d60c1cd2203f3e1b7dcd0e48d16c021ca36ae31a0d20f0da901db04ba2646df79441bf6638e034e65d274f40992cbef4e868ecd08e3f6d39e9f62af298f3d9754ef3b2a1ccf9b036eac3a99c9757def748d5ca4602d8c075f225281383bf8965e7d67d3d843ea21032d262df48af4147f802291057298ecf195c5f3fc206ec5ee654ded4a2138f1610384c96ceedcfa09abaa4332a3d21675b9ad4c8c4b1a2aab18234ac83fc646ce310219ffff03be9fa5b05c67872789df14ba0af1f690e8f057c73620ca442cf9a73d1725687903e7ff6ab4397e5a4f38fe03ac07462b129e8a4b1cf01f6ec6f519237969241ef403fb225c65045e77ba460172382e7199bf2a9a20737e62f261ad00fdb58f4635be036c70048e0221c6b91ff444f5e1fa425aa957c4d656c1e68628ea6836a9200c360219ffff037ee45ecb580bdfc4a3d745f2858b7ded52e9c2c2a8a9a6d1657ebd536c8e5ef003b84dffdf8b666d45e08cacf0180f0bdd0fa7a009094c2559c760dbfa8040b6bf03fb4d7140e45bb4313a29399faddb762c1979fdbc896138bc45db0e9a0d0afcc303098f64586eb2c0173298a2cceabae90d998e15160c73a407156263f1371e4e1b03ee20c837c913e7ade4b1db77c7a8fb9a43b6d4a5957e46ee0a18882b6d5db0b30219ffff036938f3fa41c53ac8a723d81a72f34c3147894af3a0a1bb4bb5814261e2f63cfa03e7cafb74791385042d207801f39c1bf50cb5f464e7e947fe175d9aa9c4af90fb039d0a0a1aa5de0bd302c28a92b2b90a4d7de14e8d50adb4e6be108732cbb26e6903926c1db744f1628aeb2dfc298ef484c024662c2b9c5b89073fdcc7556503e429037b4c65751f04057eb540557be57cca96044a68344e20c2aca08c24ab9959f58003388c780b051f8599ebb161b83b02e9df72f6b195bf2b4b7881f527bdc853c85403e611c35316497b1e231783a1a78e923487ac6f0fc563c50d3667a07b6131872903525d69804b7ac338444577f962d9aea699b3a75fcd4ebe8487a65883a6701d3403c19c34f19c911a476e5fb30adca819225eed683f15a305558a3777c40f518d280321a4b9d41e8bd0822069e004c79326eb05a680a2664363eda65921ae6779da34035016642e2c783a4387ca60550da459c9dc1cb6468d35f0c92a969420e9c611b80349a4fe2582b622fa64b3100777f89d98dcb0977ba89ee4acec615248a0ac97480315a7c54b3c44e9dd10c028a25caf0e47b316995861e917cad91240f5c6cde669038e2aed66043cad26426c6edda2c2a76e77ba821dd808941f4e1db0f328f162730357021c8e3dbf3a67e80cdd7e487afde9baa3d4aab1f0136b16d5aeda9b92996e03b9d2ccd52c25e6fc023ef12d7e421cde7cced9b155acfb595b01ab48a60567560324cb7a734a7abd3cd3dc7e498dfa8adae553dfd38f5bdbf9f03fdb6f600be4f50370b93bd7ba6452f8ab4dbca84a5450619ddb3083e1a0a8a033704dacb416825803b8893b15fcaffd7c3bf8413fa44ff7b30bd8e6242fea0a7ff2998648e160b330036c1712989a9db4e40c35cbb88494e94a25d7745f05320fe46476708feab3e056037cbf886bc3b3a62a46e01e07d515f5f43933122fa24e1fb8b3e76c3c0d03045e03606066fc10c45209ac64088fbb890a5852fda293cc9635346fc69ac16556cce803e6cfad3b659b41cf7b3d7fb68b86278e51c14c46cabab15279c71a64dd327efa037b71a2ed27dd03c3f71eb3dfd30610691f0c6bd9a403c02c58002c8c70b03b09030c9721521b380ab8900a7ea28b1f8497cbf5b641b10964312f8142b648a07a1803e8ddd3c37b2895e8c1443d69146f2709f6f5597541f4e5102aa2e2881f512389038be6eb390f9b868340c24283ce34be2d274342b2d6fce60af8c8a65fe21aa8d203253e5fef5d43e7023136ecdc1810eaf4144904ff0d592177a6b858cfd77bc23d03923aed3faed7ef7ef6718f57fdf21b0d812428a8728763a781d4486eaeda1fe4031c150d3ae94c13be2444f3a969d5f484cb05c44bf446bb97d88445d224268ef703a1209e4aa01d261ed531f46fee487a3f96031bcd28f1729b846de24817b2eb12033eaf02d1d48a6fac5edfcc2f711a87f8ca3e89cbecf38876534d92f439abfeef05581e03774d33dff5cab65384a5750ecee5d8a13a7e73c0c8d2083db285fae7d00c01410403562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03c1881005f0c19795fd548be1832d5911eccc91fb7132af14bdfcddf91007011bffffffffffffffff05581e03e0f30466734ed2bd45d31e4db1fc46886b35ac1362c3b0f64431eae9400c01470122a255c19538035da89f2267d37f3cc967e78e08270eb75786d5f6121caaa0641b9fda3c59fd3405581e0370d107ac8ed73ba80e3d82ef359a9a9e8de00f2ae055473a54dfca0b900c014701d0f0a966b12b05581e03fda736023726553bae309d3225fb0803c301581942456588a1643c4230040105581d028c2207a9b4bf6e2d98306f23e3cdb089fe11808619fd0865d16446210c0447a263c5f45caf7405581d03669f94051d42e1e84365b6a52cf6e2f0e79b08d8542bce146f67f230040405581d03b93f91435b994d31b9f8f6b117ff8c5456c9fca4af328c2cd8fcfb30040305581d031fd8a83f5e8e6021b43453e88036fbff20a6e39ba64a92931dfb26d00c03473ab108183ddea502181c05581d02cfbb821f1be4a01a776d5f448d52129615888515b6705859103de7ea0c0647a4b688cd66d249021941400219b4f103002d4dcda9e4f4db1c9fbe8459cfe25d045587c769321a1e2563f0ee42d6574d0219ffff03c81607e792a76f7170c99cd2843850ced6f62bd96d7b9b53e09eda3cb085492203ebbaed96af1a712bf7674b55390e2ac8565480e42e6c300714de94871cf2ed0b03ca748d559f2f9cb9bbc3d3cfb384120984987e2ab6323bee019ac1bc19fc084f035ae578298d68718d3bcec33f1cbec662c0cd537f1a21e2f03e03f26d38fb98f60312db86e693eecfa457ae6f0974f9f5da89b982e01dfa41e5c5cd8c6ab93c9c48035e3a7aef6ca7c807b43ac39ae65c7f21ec5f320bb4feb5c7c562ff0f0893d43203ec7d354bf682153456dc9270095b40da44cda230f3757d7c253fddf658b8ed6303f033adaaf047c247fb4637ea3560702164b54aabe4998f2a4c86904fa1ca3819035b3d5c64b6fbcf80c3fa18f9f0231de1fe3bcbd47de93c253434a9fe382e746f03367c24174c484baee76dbd17f5720d13cf7f15ff065b2d003a2600e13e5024aa03918df7aa2c10be62c7370964696d85a873d1711b435c0895fc711df6a45a31c30219ffff03b47cc245f1f1418c47d2663d5408e535a38aa937f73535834e71786d5cd9fbbb03e3a18250da17ccce7fefab22d913c2b9568385dfcace78dba77b986efdf04b9303f684d5338da814078fac3500a33f0bc5f04cc3cae6ec50b8eea3d3e2f3fea35f037722625e4642ca76fce39c92f772fe079244d7df7f6660fa648ffabe9ac9c8a50219ffff031e08700afcd0af549748aa631b3eb11cfd360eb4a90c1457567c30a54bf8c99c031519447c12e6b045624dfb2d3839bacbff3299fef77e10af3e0e34c5f8cbcdcf036173ca24b1f64daab1db952083ecac3cf20360f8d0e1da6789aadfbe4ca3cf520370fb63973812fc99826d131b2492f0279510cf6d385b06bf3b9a8243609e0ed703a698f51e9a69afca4afae59dbe6d9570063b900086f79ec75ac602ee8dffeec1038ae146579af17ca6a3fecb67cc951de0826a0ead243bc3a02a6e3d7426b81387039c926d94794e8854d2b8e7255a175ff0704269168a55bc514d7d5b948037f67f03eeef59717384940dbf2ea9c1be449984a08f9e880e3f8ee7484ff159db53a98f034a3fc97cdf65394b9be365f31cef4934edc8498b559a9dab51c7b5e74cc5a8b703ae2f729367dc18e9b695935084d7ed3457857822aa571a66d369d6834e68792f0219ffff035c9f68eb5dd1b8fad805554ccd37e4e5bef5d7d76e19342565a091fb4dbdd138039ec4ad9a40ff49c4bc0608e12e4b507ad245b2a3a6b19f57cebd525c485ffa9f032b769449e1261ef6ec5bf3ebcd502698cf69dd19749f8bd886e0767c0239c3b703f69d4589759faf3c145bc025dc7bdf47818ddeda37e40b3b1526f7c90542aa790363bdaca39e51babc0e2b57072a5675bf1c7eacfac70af1258cb427b666451ef3033eb1cc8acc26cf379b3089a75f74fce38e0124fd1c9143ffd1c3b5a13508f46203f5d77f92b6d5dcd1ad0c7262f86d95399a74327114cd192a0c984885f1ed88b603941536b38333ed9967bc6727e0a282872acb869ebe64782aff44d9a517dda8da035a6baf4a16910cf24709f24cc62dd97c3deec3e5799be7fd8769daadfcb5154d03edb320f6f9fd3d09a7b35b901d56f9f942b4198431621dd70a98840cf7ccdd6003d1f3862c4626a7f2cfb1ed25987ba3ffc78d878327b5f36944e338b04e1fb14b030cb5773a2504e7146021faf1885da1b61821b9723ab8d2d1fd47b92131389e1e03a974e77b5598bda259ba3ee3426def7d743e1244d889079175f0a8afd503a1a3036d8a0ffc85edd29d55d0aee8fe7074670802f4854985d97104bfaee49ed75e4b036b106ad60b339be2475d7a57829ea860b3de38a4fb4f58fe657cd7f135b95395036c7376c5632bad7d01f7666edd8aa1a134b064defaa6c20c4c823d819b28a2b90314fd2ce53ff19e69db195ec5337c2138e06aea994636ef4200e6022a17afcf1503e11e184c7963754daf38260e3795ccb9aba858617a66784f84890f126b8f4a070374b2c8c521f3a097e6f596c2210bce9cef9b5336f9f9f92c148af2c0dcd26a510302c6ef1b5348575c241f45d364fbc0049558dba1b41342abfec15af94bd1ef8f03b6498563f366234dc894539d727ef42bba222b73192d7276d14151b63dfc3bd2031871fc23ba40ab676ac9cdfabb69e865aaf9c89837b921a11f5bc045caafbb4e03759225b07cd379eb1f101e7d879885fa5c8c71d8a767ebd278783ed68b664a7503deaedea518aa513b4d8c38eca32a89702b9b5b6f1e195813f10b1b826d1d6b10038015b8706deb5de7934edb6e910f5e5ca7f919cf0476b9bc1b812546b3602072034541296b169ec9abe39534955055404ee3b01855d14ca800397fbed45c751b32030b01a85d1c164730dde3d5e3232db93d9910f220fc4a2e1ebc9a3357d1164641038e25a7c9ae5933b5b3f439ba2cc279796a93643fb4902c324de8efce3756bcb903a8d85fdc74c9df9fc202c67916b2fd96fbcdeb19c0a1320984f849fef36ecdae04590ddb6080604052600436106100dd5760003560e01c80638ee643a61161007f578063bf6e753611610059578063bf6e753614610237578063d424422114610257578063d51c548614610277578063f2fde38b1461028557600080fd5b80638ee643a6146101dd57806390953238146101fd57806396a141a01461022157600080fd5b80633972d46c116100bb5780633972d46c14610153578063715018a6146101735780637e8a0699146101885780638da5cb5b146101a857600080fd5b806301d9c2cb146100e257806301e336671461011157806301f1f6e814610133575b600080fd5b3480156100ee57600080fd5b506003546100fc9060ff1681565b60405190151581526020015b60405180910390f35b34801561011d57600080fd5b5061013161012c366004610b28565b6102a5565b005b34801561013f57600080fd5b5061013161014e366004610b77565b6102bd565b34801561015f57600080fd5b5061013161016e366004610b9b565b6102f6565b34801561017f57600080fd5b50610131610303565b34801561019457600080fd5b506101316101a3366004610bb4565b610317565b3480156101b457600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610108565b3480156101e957600080fd5b506101316101f8366004610b9b565b6103b5565b34801561020957600080fd5b5061021360025481565b604051908152602001610108565b34801561022d57600080fd5b5061021360015481565b34801561024357600080fd5b50610131610252366004610b28565b6103c2565b34801561026357600080fd5b50610213610272366004610c05565b610457565b610213610272366004610c05565b34801561029157600080fd5b506101316102a0366004610c61565b61046e565b6102ad61052a565b6102b88383836105ab565b505050565b6102c561052a565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b6102fe61052a565b600155565b61030b61052a565b61031560006105db565b565b61031f61052a565b6040517f200175f700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff848116600483015283811660248301526044820183905285169063200175f790606401600060405180830381600087803b15801561039757600080fd5b505af11580156103ab573d6000803e3d6000fd5b5050505050505050565b6103bd61052a565b600255565b6103ca61052a565b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063fd9be52290604401600060405180830381600087803b15801561043a57600080fd5b505af115801561044e573d6000803e3d6000fd5b50505050505050565b60006104638383610650565b90505b949350505050565b61047661052a565b73ffffffffffffffffffffffffffffffffffffffff811661051e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610527816105db565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610515565b73ffffffffffffffffffffffffffffffffffffffff83166105d0576102b882826106c1565b6102b88383836107c7565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000811561069d5760035460ff16610694576040517f1cf849b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506002546106bb565b612710600154846106ae9190610c7e565b6106b89190610cbc565b90505b92915050565b73ffffffffffffffffffffffffffffffffffffffff821661070e576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610768576040519150601f19603f3d011682016040523d82523d6000602084013e61076d565b606091505b50509050806102b8576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610515565b73ffffffffffffffffffffffffffffffffffffffff8216610814576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526102b892908616918591859185918591906000906108e89084908490610995565b90508051600014806109095750808060200190518101906109099190610cf7565b6102b8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610515565b60606104668484600085856000808673ffffffffffffffffffffffffffffffffffffffff1685876040516109c99190610d38565b60006040518083038185875af1925050503d8060008114610a06576040519150601f19603f3d011682016040523d82523d6000602084013e610a0b565b606091505b5091509150610a1c87838387610a27565b979650505050505050565b60608315610abd578251600003610ab65773ffffffffffffffffffffffffffffffffffffffff85163b610ab6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610515565b5081610466565b6104668383815115610ad25781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105159190610d54565b73ffffffffffffffffffffffffffffffffffffffff8116811461052757600080fd5b600080600060608486031215610b3d57600080fd5b8335610b4881610b06565b92506020840135610b5881610b06565b929592945050506040919091013590565b801515811461052757600080fd5b600060208284031215610b8957600080fd5b8135610b9481610b69565b9392505050565b600060208284031215610bad57600080fd5b5035919050565b60008060008060808587031215610bca57600080fd5b8435610bd581610b06565b93506020850135610be581610b06565b92506040850135610bf581610b06565b9396929550929360600135925050565b60008060008060808587031215610c1b57600080fd5b8435610c2681610b06565b9350602085013563ffffffff81168114610c3f57600080fd5b9250604085013591506060850135610c5681610b69565b939692955090935050565b600060208284031215610c7357600080fd5b8135610b9481610b06565b80820281158282048414176106bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082610cf2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600060208284031215610d0957600080fd5b8151610b9481610b69565b60005b83811015610d2f578181015183820152602001610d17565b50506000910152565b60008251610d4a818460208701610d14565b9190910192915050565b6020815260008251806020840152610d73816040850160208701610d14565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220803c59959558d9c73d67e5b249e0df5a1bf7cb0887ff41b5c2149b2b0c07195364736f6c6343000816003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354cda8e3add00c95e5035617f970096118ca2f4c9205581d02bf1a5964fc472c5de01384dc5a8f5cb8c22988309d75847ce6d7239b0701190ddb05581d0292494d3172e0a8ab9eec39046fe39b097ef178d348230eacae8bd382040303197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581d028b46ae075640ae48c3655d6226033d5b2e23333a90d8e5ef9960288707011bffffffffffffffff0219440205581e034f1b46de71746ef2c26d27588bec6cfd16c3aaf8ccc11eae58659088b0040105581e030a2ff6d84615d1a3a434769ba17e683152717ee078122c3d60a326f9b00c014706afb91ff19300030fad406e28a007d9508d4b523fcec811f3157c15834ecc0f01352b2e3243704505581e03e77bdc0b32ee33c97ad845d085850bf4882195adea943d2099c7bf9ca00c01461f667a5c620005581e0356a5758b67834fb31349eb513aebc2b3a4e5505c59da855f4eef23d840040105581e038e2a01ff4ff3d5f2c98e4c851f04bfc9de82e17595006d5259cc3474300401035f0141e8a0c0ef385fb1b26d6f4151f1fe0ebfeaa7d6a9554329c3be8b6b2a6a05581e039dde13741330d022bbd84b6f82eab3ae33a229fe18bf8595c17c1b94c00c034456406bfc05581e034bc73b95df78eb2f6073ebad4c9f12a621acfaf55f45537004d5ba1d500c01474fbfefd7dfd0000219d6d7038e9bc26623378a705f2639e7f3fc09f3fa74f332c9dc2edea6775ad055004fbd033b1b4f18d3ddc01c0068bfe9acbe62e994722192a204d3bd82626f1c290a650e035e16d3c9ed6cab59dd27419046513010d3f5076524cf79d42450860c869465a1035c3b642d7b6b782e7abfeff843c6a1331fcc2861a69738ec08fedc89dced0d7e03846e2746ac06367d76d0d6e9ba68f340f82d1dc5ea11793dac8a8f5b23b962a70391a05f2d9a22e04d61f012c4e3e263d468c3b807d06752cc65f6a497dfc94ee803a37c823cf6a77631f906aa8b732eda9068ee03a93f6e9ac9a76062e7aa35f7bb0219ffff03bc955c03a9d58753fc59ad20de5a5b7b66ead32651a45cca8234f6f613bada080317fe120b04e24049a0488795aa8f3c7988c183b19602c8a81bd7ee918ca5a4a803d6b4310d4e5f0b32be75883b5aa230ef4feb17654363798c03a288f8e9fad6dd03fa142a83c74cff6d9c106abf31e14d448b39dbb2a9ec9f6f326d5a113a8eab16038578d32f2d1290a0ac10a61f4ffa463a4c7a9e123e2dee00e982c1d92c36a9130360aa161087fb5cc99b7b29475960cfffdab415339c34bd1861f5ae3637b9b21703726c647a91c990f8eec7caa4f74b75e2ab5dee7e98e59b25183a80b2cbc17d210219ffff03b6ccdcb91f7633b8fc1984d80a273c564ec0bfa79a9fd008aabdc33fb3a1efcd039bf34eadbca7c40b0e1e7b13c052c2154bf8829472e62f6fe2905c34b7b474a903593243241447df84c1b34c81cf9d4cb68a34f4ef22471a59934d62185063ce270219ffff037a9192897105c1b4814b8c9fb81a0d20fa64e7255107794c91dbfba5f2725f2503ae899fea89e2b7a10968ad52ebb1ee95efc9789225b6a57aa2c90f90715ec51303977746859a832af54822529827e23409f47383ba893225d5c7ae56e31ba11972038c65355016b2f2e599bf7cfc783ac1bea02ccd2f44332acd4fa5ca5d282fc70a03b8c21b4049fbe12efa8a8dd6ae3a2bdd1274b9499593c3484c1e1cf8c978213703730344092d7076eec2db1e0ad8e6055751119a883eb1cf1049484dfe704f5cf0033e871b2a4567d8b05190394a6bf896e97c261a481d7ce53f86e4773eb1f48b580397297e314835bb353f8edc02d97739b5e2c12c88470dde8784669381ded43fea03cfb5b92adccdc0fbd57136fa66bace5f4b645c5970c7bab9cc37864be8ba2d1e036e9a09ffa607ea70e6c70d30803e50f5671a6847a3fa31a683611365cc55cbcb03756df50e165275627de3bc4f60518aafdd450f06a7ffffb5f5b45073b1feb78c03d8b98c1cf30a8ca9a1affbb96696b5fffe333fded19c212bed108977775849e703405e2c6d2f118104387d5c2146d00252385f842b930f30268d803544467df26f033d4ad2bd538ed5db2fa99bab04510e832b4350982f983626987990808618b4e303c6958c31766fd8525c8aa9c5b116b382dd33aae88761ab740dbbaa097d3dab9703aec5f43f95197cd82540ec5bc56865e1e7527fd93c710b18969f4b484afd2d0003070186d18e943b55c1f2dde2487ddfcdc5164a9ca10447704ab4ececbe48680103493a8498b0191494acefc52b426865100890fd0d29c83ce0e8376182dad7a323031ad741a53002fdaa69d6473fa684ca05cb3bbd8fe12a37b5119ae1393e02872405581e035a781b4a19d84102c0c7bb358cdb4551eaad15f408d1297ee5e2aa24d00c0247036d0135a331fc0365d1d9c1048a14e6d85f1db6adea27094da59e89cb0df58de2363df6bf6a7da003b464c494bef2d3bf6aa0cf250b2fe1fba2e3b5da81fc200b5fccc87e540823c205581e0390664c05a1375023426297be8b049acc2f9d33733680a073e16aae33400c0845174876e80005581e03727cffa88f177dd47e8fd0294a35be9fbfb9953ce2a2eabf020d7da6a00c02460b922fea8f4005581d02305a8402d5b1b8af514c2da9381ac75b1b8d1e5c4f39c62daa9cbbcb040105581d0244c2c6edb4420b3862058e7a2a31cb72eb0395054ab3bb18dc9cfd490c0946468ace0fd80005581d0255d69729cf320d199af2b0d88ad256b7ae6425e3a5a59a93b8acb2c10c01470bd8646a6f2bdc0219020505581e038cf7bf21f74aff624f13c046c1ab26ea7ba32e3a918796e77e8a01566004020334a8c792954f61863702325796250d5ec7ca553e675d54079196bf23820d016303c39f97e82b900d58bb502659869be56374163c6b085a12d5db3867bde5f02fd10219d70703c0b38f2b53e080b3313fa4b7e509f855b81a73535091c853f033fec1beb742510344370713ddeeeb7a677e97da73a8906bcd9d2bf1b80d9bb1869e40aac28a674a03c987479c88c5c08f48761bbfd7f59c844a6be25ba41e5eef308dcfed0538d7c30219ffff03a591b39dec12688c8497e782d271b68b75c5974ed077f39ccea38949c2c421e6033eb25cfd1e1936316f029806ad6898e6289ff12ba6234b4051045f4133be0972037abef7868fb23e27a03b93259a7623307fa493e82f11bf380937b69110f92c6203eb0d13c1155bce940bab6b8bc9f7f9d13ff0a06f267f06de65b7bb1c144b6ff203bfa70c0ac3a09bd25fd6cf002f390ce2548bdbbf1c0b2fb078fc0485f43a98e403f7d8cac412dc8e2d6e44a06b39976da6b04099bc7db84ac4cc30a9698db9237c034c63ac2a18b27c64b82c668edc284063e9289dcece60820517e041d57582cb870333e03dfd6e5c67abc1dd6aac1a6fdb33cc31794c0d9bd87e556bd73cf3ac567803aafc128bed104c944395f322f53a9d3830b8fb1ac143d758c09d075411eb9a7e033bf60dfed28f61a10db0f646dbf670609bf7522f1f85bef182d948b64b55a0e103475f55a536f9067ee18bc79d0d5f529edfe0072cf9b2c8c98a5e1265fc376f480336bdc62b8d1e5d63b0aed56273dbe65ea98e2f956c9f4aaa3b68eb24a5949b8e034fe35bad893fa5c08abdf8aff42332b6d2d5ed20af454d2e9b94008bef557e490219ffff03ec203a9ed098da3444053242b4e2b21271039fa5157dc04ca4fa811afdc8d93503142e6f74955adb26cdaea15fabf8ba7da8b6834faa0a9f189b1d6ec17bc7721103f81fb549d99207345137143222e02a5587d07372b96809ba6f2f668bf1cfd15f03835ce25f7ca33ccd3e2767a74aea829384babce985b64b899193853d141e2ab003b1af657913170c1241941d25604be43aa71da50432ffe2c8bf3e21f45c162c9a03bc1661ce9af3a1d6c0a64ed6413d7f9e3eeea45526add06aca1bf8a3ccd3dffc036484c4878193c1e67c20697267da8f388981242a76cf64ea392d0a9e80e690a70351ff7ba423786835de0db845efbc8e1c767af18d6a69d3a116d2684ff763f8b803a05c18b7e3bf20dc071a3be9cee68d05f3379af48a1224891b6f93c9b37a8321031623b9d1be6c09eda42ad174147c19a18f6c8d88fef7d3e22b23a2d508499b8503ecade86c43a5b2f6640f93e5074b384b604f949aad42cab30651109f799402b10329e233f4900f0616516cc8546cf7dc8ed3022322904817aca3aeb4b730bb668503e8b72fbe08954ef9c313059bdf73f21a1056165e4e9fa4b6886bdba53a9bb6ef03173691170590ba440a948bc9f8bce5fb5f16d6ad3bdb7f6ae92f5415bd7e5b2f0219ffff0396127266e8be9fdb7d483371705bcfdbeea51caf894abb51c67dc8a588cfa6a0030f7bd4e61b39e6729225cfc30ae0dd8ae7402762e6f6ac529364fa4d2c382de303696830d582f3f59838ce73783e6c003c7dbff162a9062ae04a785b69ab1f58430393a00c7995c7b77b3c0b8c3e5e2516dffea5cbba4454708f320d231a4a7591f403ef8800e638e29063d3a08d94e1ad8a8717c797d499266fa9f34089010b0a41ce036a7cac9d3a66dd9646c7eea52f3ece769450f3f6ca10065b734003c9dec87716032e2bf6b0d9c733660126f1513deb71438e044150f2771c7537747fe509bbe9a003e56fe334876384ba1a598ee343662465184e05603974a638b0542887c00a1dbd03c46901ab51437d66cae13cd74127f8667e6daa960655ccbdc5558d88f4cb2086039e17fb65a078fa747c1e2c8b5df1ae846f6e8aa6e482bd20ae4baba8be3bc09e0219ffff03a9e635f904dddb8c34cf2b418d9ccd85375794378d19c6265e7737381e768ff703dbe8ce5b0a19de3bd2069496bbc3a8efcbc95a3371263d78e982fcf1bd07d75103be2dc79f074aae804fbc86c7d1a3480a784f4890d98f5103948664c457fab2c6037031d6a264b29cb4dd743bfc298d37f0073c846f5f8f4b7cd3a1b35b4375b5c103dec668ff6856f705f4a9ce2eaa5a0fd84e16b853c7489a712f65bd871de0d9d103bfdb41554b33143dee085c8d75146e2a0c0c5a9ad246d8c8be5771eae0e07b7103a39ada64ea46c4537f94aa7bdd03c3390c9ca763284a345cad6e02c8684744330381a90844a3325086fab0458382e63ffe0b57d397833a7126b5a3357710727c36036aa47f975f8bacb9b137e9fb7b64d19769cdd3c7264fa94af27f97aee09c4d93034653462aa48a79a3f6fb4dce653fceb2776c0a40105459b831c3197ec6282a6d034d8d29853d2414612a5d612bb4767c70c6a48e437ea63ddad300c9436b2d617a0336c6d0297e4fc721a3b53b3944f4c040d6109c77800366dc1bf09d5246914b2d03c236dea7cece53ae099c78f99f6daaeb6e6749899603bf13952809ef7c65e8e30336f53b36befdd616ae6cff89b101706265b604cfebd4216fe13ae97e37669a0303ef8ed732e35e4e77e40fefc760b9b9b50447f7f72c675371ced60ac24d2e0b36036ca070a54c409134fbd41e423b3e7d674d45b983a7c350f73425bdd35f671ce103c09d6142221b3068fd1c99751bc42e9e766c05bbf9342925be85872208490a6403535137f9bcad72e9c9a161ece23bf569e91e66b0a8ec2781f322786d7b2442ac03dc8134308277a03265ed932a092c39013cc39d244fe3e30f329f4539d090217705581e03fdb6de32c965202a635c0f66b48ca26be05a0a82295e6495719c8d9820040305581e038ababb33acac65c7fa6619f3fbd6b7fb13ee1a40a692cb489163eae64004181f05581d02a04dffd510e4cc44a438d287939dadf0f0a69790a612cdb4057822230c024802dec132995b5b2805581d02c0daabd7e0d1b490398a31d66f5bd66d3072b0918de2ffb92095d502040a0219404003bc599a935fbead94f22d2ea229e865d13d2e528cc66a135d0a860241f80b970e05581e03053d3fbcc6e9ff731aa7a0edf0e7eb32e5f9c472e675c3ed88204821900c0247a2612aa44a9c0005581e032abf6b423828ed8687dceb21fed369ae4a3fb95d40151e1fd6f5e23e500c18944713c6f588e23c46039c5ad1440751eeb77aa3fad1cb5e7b9a5db956b67ec9e5939553c6e2c3d0572d05581e034a747bf4624d1ed258b04c4ac14ef97e9c6f749f2a5b0af0dd905979200c0247330fad605dbbf00322c458ca5f333b76713199d41bd6ce038bd41d2598c39973a4f88460080674b403bc90232cdf3537b93ad5f9c0e8aa56b9cfe13e4ef776d9af5e120713e7f41563021957bc03a9774859798dbd441981f1adcfd70c8cf06006ea681cd01d32ff83e33f62c1f803c228933e5af3f18dc3a15d1758f2632ef0a59e58cee57152e6d4a529bc5c3286039c96de83e09c9d9525714f1db5ccb370c804ef8738b76f2fd86285099d74d2e903f1014249768de9630423628813280520d7664bd8a9bd6d607aedff6358a710a803c81703606663e0e68d818d2502e1024dd9c8b61b3fe6ce5ac695346317cc687d036d961512da57132711066a49113969236ee7df95154beeb912f9de9972123dbd03986a1398768bdad457d9bb2629204371368752f33e6584a3d1f7ce303bfdb06803a64cf9603afb9655959b098bddc7b499e391ae32258a5ec2def7c847dbaefaf70323252cede917d6ac0c5da1b0e9d39f7a7244ed7e8a015504769edb057ea69f73039e1ab3ef288e5033b5f9cdbcb3f9569d29a19c441bdb3466d120e0ecff03b52103aeadf51c6b8cc83621101ff1197a30d222d729bfc649a4c20770442ed7f7b48003850e76c794e2b98296b3376bbbf00c5bbb1f367db025fd64d476474ff3e3182b032beb5bc614e5d79a2fc314c7443126714c4edf5370ebd213b17b590dbd5b6f7d0219ffff036407c363f24d7d37a54117e50262a0bb32775d20ecf145aa69064dbdc12c111c0307352aff960837b622a9048b9293bd8d424edebd82f8c594d9ff79ec7ee0550103ebce3b0029097f945124bfdf0ac2fcad842ca6137aeb2841ec20d25ac44cf7c903c7b1f9d2ba5822d6f504741f55b1c3fd1be132a1bd61c6e4a2196336203d2cfa0338cba304b2becb1a4998885df6251e7ccca39453860edcb9e672147b46b4b96103ff6bc9a3263d53e7121512453ac3c9e10e5bdedf6c0130640f7ba18fd6e4f120033495fd6cf767dabc4acd6ee005e6dc8551950059e678751e8770b04ade0970e70219ffff03f303e859f606189b7b8a15228961e42e1ae2278e436e3e302de53c5a8f8738520384808184c15a3b8f46e137caafe527149955a99065b92c337d0ceba1093aabf203b532da203da75cb17cd5c624c7cf6c2fd0430b163bbdba6b400106288bd9aa6b03e821388bd55b7fea22fe6bf4dbc2331772a8ef918dc3c8ea0c9cdebb88a0bd1403ace319397c143487dd321b3c10b14cc620db1c1928ead6b9f3d8f296afe88eb403f396f5a3916309cf24ac0c130a2e4877726c306694a38258e60a60677bbac1f2030da46773806a219f92f2843647b878c9a85b332abdd8402a270359d36e49210903cf22244655734d313b2a59b5fab31bf56acbda1168f8c31d7d3f4a238e4e859c03ee3a92199ad496725a4b5293f2e1f16f2dc6685af70fee7b701151825f05b88c03c69c247e1707b46fe9b589d2bab79a9b113d9d26b53815a674e47b0b4de8681f032e0b99359fba37773b13281d90deb8310afbd14962a140335198fbd5058f70aa030d71191d93f14fe8ad9d906c877db5fe5debb0770d29fc0ab3745e6331804e3503b9120c83c4c89e1cdfcdebf8d3f70426b81a637fb1f785be845194186b99f2f1039ea30feb555510a6149dca91dc82386ab39763a33b747e990a41409dea39f0f00219ffff030827bb82ee5344c102830aa85d35c770b396d2780a13d3035a89b45d378b4d8a03a038ab8cc2e4afa0cb45a98c15382def9abdfe453dd7ce1b64e35e1bf9bb285003f0573d7d4475d1108a0667e1b370837ca14cbc078038e6372455b4e76e6f314303d4a904b76b324245f2793ba89b358189b45434fce7fdec260be16b22b8ba982603685de1b7ad1dad4082a496ed7d33937890f6ec383e492ca97caae05ddc67027203c0824b2788403576e5abbe54a978708a29f8251d580d65650c2fcf0b5641ce9803758eadb94a01b22d00a8ee794e83d03741bda37b66d54b456f30be53d63a05e403ee69ff3d7b7108f3293b3b8d23bdbc78fbb0a849756c429d5f5d1b232e86a45d03958c0f941e208b2f8e351a14a6ada07a255d1501a511a214c521a98808554c1b038db9df2d4aef5125299de449570c6f5faec86fb2573466f640f6a200cf4915e6039c79c333c7ee859d77d139c11327e1383c091078006460e4a937873689fe973f030b8c55d01712dc1a31404817093c6c631b72784c9d4ba7519684d09831aca7cd03549b767aeaa7bf5b8c8ac0475e4098b3dd6e9aa4d51f50cca24825a451363ac4031cd2e191c0d0149da93dbe6cadf1920e2c0997af0fb9b8c4da5303abda34e905030fd5dd93c98b6f8c642b63258ca409f7319cd197d29dd13d5c9d9ff759118faa05581e03200da3bcbc225a1d967d371b6e3f4fbb81f733008e89ebf78d0f1486d00c02465e9e3a9bd98005581e0329e14273e6deb980f29f9d7213f233d90494dcba17b150c71c7c3ff6c0040105581e0382646a6e51c2c202fe0088e60c63a8cd420a2359b3189927c857b956a00c0247017e142745280005581e0320708bf1b8a0e58147fce8f7108005f10aab54d06baa98c909237c91c00c024710135e7011767c05581e037905fd7cc99954f6a5c06698727c1666f779edd598e5b8f3037d8ce8400c024704918807446a2205581e03d5ecfe6a01cc600736d11cc88cb583353e0b35a85739874ebe131aa9700c06470e9a63615eed0005581d021bfd7efada8552c331188bd4d07c20224f44a88ac9e305fd181658c90c1870480b81441d9cdf5b8605581d02b8398f39ea4e4df20720d99912aa2927c32b1355d1a4f2b884db9bff04030219020405581e03a9efcd761e169f91ade34be173977de92ab75c35acd82d3a7d6c601c400402036e3e99e4c674d976958234bd7a7260b74dfb27a2ff656970236024df855a40cc021997c6030f4b02b07b52942ded280676d4b3be3a74ee0ea25a9c145870284fb421d5cebf036945db45fcc9a515a5cfeaa4ff0f798c5c0aef1798c613bcc2db729375d19c3803aeb5031664f20df8d8e6d07d1900397668a97f99042f9bc21dcd5c5de041dc4403e429958743d488e9498bb577308b9a764cf77ac7fcfc7d5b80ff4aec210905aa036cbb86b647b2a4200d22fc08c1b11303b394518b417a255873c2f3ccb5cbdca70373e7664dccc37b9dd9679f25e0435130cb13cf10a44531a1d13d2f90a5ded39003429b9dd32f980f5d8e903805000f3b36ecc59eaeefe523bde15dd65a1a8a9457032781a21d6f7211fde99399ce0e68cde42ec3f3512e282f39ab9052f31f516d110349a7cd0a6367d667a94fb8fc8f09f531b5936726bbcac330b00ef0e733626f1f031eabe37beec3edd9412db77f597516b6cf37ab30563bb7d043fda6cff148349003de9816f2cae606bcfe46a755c0661935d1febdb7ea6e1f7f7ab00651c083f2cb030c77d0d3bfdce5c2ab1fe1301010ff155d765e49fce00a330e3c67885c43eb1f03199a24ea66994fca25fa808dc465dd6ac0d927cea348b3b7863057428295a847036b043ca701cd3548c4cedb3e7a2895ccfbe8f2d821f2dda7ea5fc6b9b2262c430219ffff0338be6bb9df6bcc9460df825bda544b7cbac5ca50828fca0e9d5a8ca72719d43d03c3f58e6474818806f0f88ff95c620ae2349cd3ef53f2392407a4cb7e4b7c031e03d808905f5b22f3d44d56d075c805494140e146dcde8539c5a8f581d61a1bf5f3030deef3eba375671953e8effa9099c33fa75a6832bef2f2d27a03516c3f15329b03f402d841bb9ba3a71e64d65d9e68fd715c0894a9e022614d78e0fb9a310e25cc03bc7373a3afd6ae3d8aca1b525ed701eac5dc3e63c68d296e4e7a1846a070dc6f03292e829b793e2e283eb21ac292cf2cb30295bbec409e1d43c174a675f638755903750b457df266e72f49e161d91dc452e4d2de1dc7611d81cc18a0b29993ad052d03cbdb0ae2f397c6fe9c75ebb942b109fbbb00ae8d3cabda25d8d4a80aafe9064b03e1fc61d7dd5752b726ba066694fda543f36474b14a9b0cc02f156b97b9434bfa0338093b25fb19ca84f5ea4af36d0b2a44d0a94a8f2356bbb02d383f25737e212d03da69111bba44ba28b58f40efc030749eaa38ce4a8ae67a233f6cf5200af4cbd503da483d24143436ed306334134f22d6d04eb3e389b547fd64f8f278e8b96bc3370219ffff03461d83f66700023d448c2569ac376b4f4aea6d043c5699eb666b6e54c4cbfc9303aa2c96bc765130a858788d079b1f5205ef25b028bd7c891260c7e09b96ca76e803f6b27768c20257e2e0b7213cca007e03e037066301f1512dae5661c1a780e6e5036b61fd6187f9cd93ba986381f5e89216a18a32bc97ce6eac3c61c1167cf4ad5b0338785abedb16c238b497d29a6cdf42252ce467ac8f5f9c2ef7a8c5ee32b7034003e90b59e79bb5051fb46c04bde8854719d0281382f92085f5d263183ad5120ba9035fe9360cf9adabbf9cab03b28a2d321fd16204cbef7d7b359f9f4d4d37cdfc3d03f9e3af7b70e9c77ca41e79ec6cff01d7312c365340df3d1cb8cfb8ae46334f9b0219ffff0302617a018ee506de2a2b9a6b20b50c235bf3288dbe809ea5e29a600657fedffa0219ffff03b619bc5d4a5f8bbdb3dc9c5d8e0b2a2fa67a17d44e3876703a6b1aea59d759070219ffff030585f8c096265bea22eb1154a301f4e455598191ed154da25b1031cd3e5c81da0393733eec478cb25f927e2dfc30397ff1c75e0dfc2ff0183dc42e250417e114c60332066e4394b2d870427bba289a0a82d9a0f0abc73b34edb5aed2e507fd83af8703f1003235c2f228fea396f62dcb144468abde88c662d672697224850ca3ad497d037a7045637a283f14c78c8393963067786c5395a8e8b9354a43ee4376e667c32a03504e0fd7af6313d497b51df7781099ed54f4c2f734607c378fa413b1fe0ffc11034be53fc8903775f87b582dbf5060e66d7853471693654b14cbcbfe59ab58feaf03fbfe69622a91d7e8d56bb2542a7cb1c5e31e485efbd3be54556df77ae09a6c71035789542112bce35ef45e3e296937165e4c964bcf4b3964e551ddb5b9b3808721032a3e45e6d7f5292e0313fe9ec6a4651611ccfb0584cc90c1f11c89ad0bcaeb95032dd49ec411a36b576bccc2efbe937f310f2a9c7bb1267c6f7cfc9f9dd26ae08e03bd9038d83e7be48926e57b930b97976db47951d42071edf248badcc3d876b6980359e1eb93ea26b96e90a69d1d4fc51a3fdb6d2c9b9a57a10b7fdb22a307e4e94c03e04080fa28a77deeef7303246e23d328ca49be870171250a5a680d28447ce59203e1746d794691a54ba1dc6a67c2b4d61de1d09920106175cb56ed972c8447e29603f2c7e68d8c7429fd0ec144927000c9a54cad6dffaa50622a6fc0667fca27ba42032896f73600b661759bd12316de3ac2a9242dac265f3932fdebf70cfb1a0718c103236d5785af34295e2f706a34d1b6f4e28295d0c2abd1f8558a54b801e8101aa503a5df2394603a779aed9eed56556ba413e5e261dbb9cc0a11935166ef27d6a10503e7ebb689dfa8dcb9e25b28384b026546cfd33f5c8336c3cd2299f975826b9d74037a9dd2035f10a33fd8de89feaef19dfbba405ac139a3d40d77265b80ed6d0ccf03273dfebdcc85a7c55a7767a4fa384749ca6a631838ac32ed0a4839aa5e0be1bc0332f8befbbbe51e01a29c639fb909cd40c12bd95fce6a90c2fd3395bbd2f0dfae03c636496cc56ebbcdf48cc40c0c76bad73387684908a51ef14f012543bb66d26f030af121dcc0419c69c894555348c037c7edbd392971170868fb9f4ff87915264e03872a1f6df2e522f2b9999e11b8cef7899f430a88375e43825cb99991217400030351fc59f5fc59185768265d186c12503cbe40ec9ccbbce40da18c97403b27333b03f544ed467bada710bf3447a679a6d0509ea5c4dce7ee81844d1e6f04df8ac5d6031020e8dbe1effe030e8dfbbd2411ab93d25442d18ea6ed5947dceb78eaf9180f037bd2f3f484a6820f4ea484844784c8979712064133ab14f04a9335c0db30e0fd05581e038bac8a077140b7bad7ae0e37c81706a4693039b1bc76cc55b05cd0e5a0040105581e03281f3ac5612c555aa009271f3de41db2efeecb6baaadaec848812fee200c1848475365205542360605581e034745c3bdc214568969c41616652490163c45bbbef160d6d7d25efb5ec00c03474401a23ad9b3000345453db387421a6c6eb85df626bf203601b7d32aec5ae7cb466a75fcc19d7c8c05581e03fc1a5db902e97d0be2fd76cc6c2b1b2de833824858dfc7811ffed7d8b00c0c47036300b4da6f4005581e0337f4cdfa13cb570fab513e8b6c025658a75f9a59e28b91ff2771f5a0c0084714f3f45523a33403482b7594952def05e93f6646b34234a6b01e0df307019de2d1c275e1757542120334c01e2b038a4346192b959352361d2a85c3161d2846ec03e78d1067a14c63f8034e474085a936e380167690786673b9421a954a5cec6374d602a615553676883703ddff0a6c090ed617f3e246deb69c560158218b844aafded3f414bc49279ff1c905581e037b8e608cfcc87a0ebc3666f480387ab7e67a8a3e1a62ccffb935d3ed300c1957004902e6e9c60a4245226302197d9703ec3d860eabfbcaec3fdffa0a5efb939bdd0117531421452b4c66c6ebc9797ec403c00781fb860d1b22f985d495de72afacaf9a04a57c5be0a2c7240fc7880bd9a60382281888d8e61dae0b6087ed5bba1f3ebba4a2fc2fbcf79ceaad8bd940171f5803eda01ea3788b5f9f023bc36d0df433743708785879d5f9542d39b5c63633145d03471bf4beaa182b86d326e4e74bd49706794f489265faa2b2a15f2b4dc0502a100378589d3e39340ca7292b8975d2ec432ec14f05e6ce731943a2b826a385d7eb9a0219ffff03c664147b32085a2f79760c67d658daf32f995aaa320e11191ebea3c86035f68c033f499b6ece4a03ef6e561080e117e19b12914e1c51675f629688e76556e5ecac037c611274918eac5d50fcf9962c2f8c3759d416760305803cb24ae7334344a65f038e11d2c438b05e354f95be0d7c707e2052738cf9eb9a896904890a75b807bd7203d38a8de2d9be67097a35ebb41fe1f39f35b923188b4854be3a0537dab934e53b03e9efee0a7d59f8287470f42f2c87d8aad0591aa367be28cc2022d64712ae21db03fceabe1396ae95a92777358af1d85cbe0ee6ad66d24665361b5b48f7daea154f03d5dd40cfac20e78af82e0e53f97c8b1be83e3e6cade8004dea1ee4108ba04b7103b303b13c1192508a004a0270605c61ac5c1b244e8ba2de2cc7db7e756a72f51203ca8a1d2b44a892d6567edce5bd3d29bc07a399d3e86938744d55626387f51f9403643ba78f7792c6c54cc7f411d643c832ab1cb8e64efad63c86a5518a83e16e5d0219ffff0383c151237a3bd716152c29863b2a4cf1e43be024a328412f225be8ff3917d1d003670bf9684be8d8a0107c0fbc8be7738ed07ec826c5c11747cce14e2acd3f4d9d036aea9055342dd172f95faf91f2e02d58564719c9cc1d6abcd35490d24a7de80c030e842f30c1f4ab1f0a18b42bf88e5c03817f8996ff0ef05998572ae1eea87add03d6156cfd873560728320190ff837d97c5b3ee32e06277eb14160c3bfce55ea7b03117af5420588d15db736c21859185ce4c7344c42d5a7e532ff1b40d1aaafebb10219ffff03317142141edd5f38f53856c6e45828c0a95be0e662b788e98b994b891f2aaab203cf51f22352cfee37a315c4a74ef092690f476891b0aa1c0a40d5dfa29726c1ef0312366332f6a8b036b327e3396108b4484b27412afb3a7a943cb2b091a602f2410352d6de091f73f2a7ceeb266e62ae93f51ba972effd287d9bfb496e2789dadc3303d4b5ba24e45396df5082e222e11298197dcc9f5e89774572451a134784b088e403a84984c7ff58f04a3fdc79034934d40752c32741d53c760708082e17381e6e7903e6960c733e60364523a43d1bae570cda36a26c7aa408b4ba2cbfc58c3bdc389c0219ffff03b0f9b7fa0a67037a859d393f0b3d2ee12630d706d82d64d0159e4cc195e8c74703bd1e5320451987df805241200a85de6261e77dc7fdf808fbd8edd34255d4215f0392371acaae57c1966b1b68a4faa417bb0623e2727a5e40130302e106c8f365a303801bbc4edb9105779ef4b695174ee2e45a4b02c11da668c24952d36c24f467e603b4b891b60d7f7b3dcdf89d113b1a33ec53636aafb928a00021a400c2749d76c803c3118772d0d2a9967f2588e0d56f747d49c26d8373a956de813e29185f350ba60369fdd948829e21ddd13bbe0bfb547a506915ba9e111cf52e4b62c2c180ad3f120371932f444a764eaa8e487efbc7866423f3e5fca0efe8c7b74527bee3cd12f24e03bb3384f0f97504890fdfc30e7983a954c5025cb1c361d25d487a8c1fa32f408803a62d35d345ee32da957caef0d4dac6d54ee9d35c74818dd46254b7fd450b424f03a81a10107f0a40194b26b9c7d00f26e725727c639c36fe2cae1593c5f9264d500315343ab20fed92f5935498efeddac5c8eb74f3b320fdda39d3a5ab983f46dead03de10164b60f7336a57787059f6c54ee9ac5013a804e9b3262e89c66119a58ce7033efba010f4bf6c604cff47d9b2dfe9fe75e116f2db6b4848cdac3ba7582d57c603aed284d5fb42ea2769078e38ac1e7540e5f1e8b9bbea1f885b4fb5284cbc7e50033dbfcd640b21a707d1cda4683986bbb28fe0af4868ba26602bc01db9ac9916c6034b9333eb677054a75522277a427d7842468d531eda495ce81004a9f5f13b07e4034dd26bc484cf1b728b75025cf394380c9c0aaa011a9a345ffa3ef74f0d56e92b037002cc315c52e004f5e3cb8930805f0113e6d7ea0134d875666569b0acc7fb11034792438546c31de1fcdf205de85697ed9d62f27971076b97a0050f6ccfaefdfb03121265b3bc2569b3d4a659987bf9a4d1376a9416c727cd795183e6207fdf2cbf03d394c7466cdb177484aa05b14e814bc5a689b37cb12a5f243a40ad15ecf3520b03c3092994bcbadb85fd9ffe198cd34fe3829b04158d370f39bb138e93baa98720038b6f2b094cf38db0b46a1b432cd3a899125533ef44ac0116e91de11d0e25710503f25711f2403ed7c709c7ea3496f6e36cfe4c9583e9ea134622ec809381db34630385698d26dba29929099b813661448b54918796025e95b7f1f4a5ff175b633c1d032b0ace077223b486327c271474f5d8f4082a80850798a93fecbfe16ae672b8f3037d3cdc4d7bc44219caa7ec60b68491367012256f0b5b2207917f8235737c6d2103b2d6fca6ec3574ed2b5c3c19cfecd284833836c947b3dd090a179d9e05b03bb103790e1bb2009ac0e240a21d6f9109b6dc89f922f445e5edbf403132c5b75765c703ff9ac4ad189209fdce7acd496162103ad4becb10955ba6e7802f13c14fccd61a03ac705344df2864669a9df00ece6d72a87dda4029ea5cdd64b03d27d4e7f9289503657cea0df5e6fcded7113e10d26ad405dbe4f51c31c07ee76e5f2eca080338b10325c7ade380b16105ef83ea1c6d2a9fa7eac489741618930bcf73ecff850e3c2603d74596c32574f64f0b64a61976f64758f2c8e8d9fe973cccf1393ce3045931ea030fd3e1d1dc58128533bc18ca134e6464f88ac1e7e9358d0b00a5f7d5b50fe6fd0367d667d874c8870912897b736e3f9fd4570ce4bf0060b7a30f7a307deab9df8e05581e0321f123bc06cd579a5208f7b092b2334d1eb27d924bb2feb0ea43197a500c02416405581e039363fb4ef117bee906452993938efd72811551150c6fe8a46889ee40f00401030ee688e35fbeb36fa4e560031e818bca0080f62d13c2c48d0d939785ab0d733203647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0392126bde9db0bc7d14f8417033a235c4d384c7a3583ec6ad8816258890b58b9705581e0316e46a44634bd51109822611d94ed10a09e9c24c9ba52daaf0ab5e620007011bffffffffffffffff05581d02960b84a28adb17a31a3b5a8211125270a44d2bba40de584fc0f5dd210c034771feb96d74db3c04591849608060405260043610610108575f3560e01c806395d89b4111610094578063c1bd8cf911610063578063c1bd8cf91461039a578063d00efb2f146103c4578063d5f39488146103ee578063dd62ed3e14610418578063ee7742071461045457610108565b806395d89b41146102ce578063a457c2d7146102f8578063a9059cbb14610334578063bbde77c11461037057610108565b806323b872dd116100db57806323b872dd146101c6578063313ce56714610202578063395093511461022c57806349bd5a5e1461026857806370a082311461029257610108565b806306fdde031461010c578063095ea7b3146101365780631694505e1461017257806318160ddd1461019c575b5f80fd5b348015610117575f80fd5b5061012061045e565b60405161012d9190610f63565b60405180910390f35b348015610141575f80fd5b5061015c60048036038101906101579190611014565b6104ee565b604051610169919061106c565b60405180910390f35b34801561017d575f80fd5b50610186610510565b60405161019391906110e0565b60405180910390f35b3480156101a7575f80fd5b506101b0610534565b6040516101bd9190611108565b60405180910390f35b3480156101d1575f80fd5b506101ec60048036038101906101e79190611121565b61053d565b6040516101f9919061106c565b60405180910390f35b34801561020d575f80fd5b5061021661056b565b604051610223919061118c565b60405180910390f35b348015610237575f80fd5b50610252600480360381019061024d9190611014565b610573565b60405161025f919061106c565b60405180910390f35b348015610273575f80fd5b5061027c6105a9565b60405161028991906111b4565b60405180910390f35b34801561029d575f80fd5b506102b860048036038101906102b391906111cd565b6105cd565b6040516102c59190611108565b60405180910390f35b3480156102d9575f80fd5b506102e2610612565b6040516102ef9190610f63565b60405180910390f35b348015610303575f80fd5b5061031e60048036038101906103199190611014565b6106a2565b60405161032b919061106c565b60405180910390f35b34801561033f575f80fd5b5061035a60048036038101906103559190611014565b610717565b604051610367919061106c565b60405180910390f35b34801561037b575f80fd5b50610384610739565b6040516103919190611108565b60405180910390f35b3480156103a5575f80fd5b506103ae61073f565b6040516103bb9190611108565b60405180910390f35b3480156103cf575f80fd5b506103d8610745565b6040516103e59190611108565b60405180910390f35b3480156103f9575f80fd5b5061040261074b565b60405161040f91906111b4565b60405180910390f35b348015610423575f80fd5b5061043e600480360381019061043991906111f8565b610770565b60405161044b9190611108565b60405180910390f35b61045c6107f2565b005b60606003805461046d90611263565b80601f016020809104026020016040519081016040528092919081815260200182805461049990611263565b80156104e45780601f106104bb576101008083540402835291602001916104e4565b820191905f5260205f20905b8154815290600101906020018083116104c757829003601f168201915b5050505050905090565b5f806104f86108fe565b9050610505818585610905565b600191505092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b5f600254905090565b5f806105476108fe565b9050610554858285610ac8565b61055f858585610b53565b60019150509392505050565b5f6012905090565b5f8061057d6108fe565b905061059e81858561058f8589610770565b61059991906112c0565b610905565b600191505092915050565b7f000000000000000000000000a924e5636f89d67e8ba792cfeee15bbf820ff18e81565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60606004805461062190611263565b80601f016020809104026020016040519081016040528092919081815260200182805461064d90611263565b80156106985780601f1061066f57610100808354040283529160200191610698565b820191905f5260205f20905b81548152906001019060200180831161067b57829003601f168201915b5050505050905090565b5f806106ac6108fe565b90505f6106b98286610770565b9050838110156106fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f590611363565b60405180910390fd5b61070b8286868403610905565b60019250505092915050565b5f806107216108fe565b905061072e818585610b53565b600191505092915050565b60055481565b60075481565b60065481565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610824307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d61081f610534565b610905565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d719473061086b306105cd565b5f8060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016108b1969594939291906113ba565b60606040518083038185885af11580156108cd573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108f2919061142d565b50505043600681905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096a906114ed565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d89061157b565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610abb9190611108565b60405180910390a3505050565b5f610ad38484610770565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b4d5781811015610b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b36906115e3565b60405180910390fd5b610b4c8484848403610905565b5b50505050565b600a600654610b6291906112c0565b43108015610bbd575060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610bf557503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15610c535760055481610c07846105cd565b610c1191906112c0565b1115610c52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c499061164b565b60405180910390fd5b5b610c5e838383610c63565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc8906116d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3690611767565b60405180910390fd5b610d4a838383610ecf565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc4906117f5565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610eb69190611108565b60405180910390a3610ec9848484610ed4565b50505050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610f10578082015181840152602081019050610ef5565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610f3582610ed9565b610f3f8185610ee3565b9350610f4f818560208601610ef3565b610f5881610f1b565b840191505092915050565b5f6020820190508181035f830152610f7b8184610f2b565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610fb082610f87565b9050919050565b610fc081610fa6565b8114610fca575f80fd5b50565b5f81359050610fdb81610fb7565b92915050565b5f819050919050565b610ff381610fe1565b8114610ffd575f80fd5b50565b5f8135905061100e81610fea565b92915050565b5f806040838503121561102a57611029610f83565b5b5f61103785828601610fcd565b925050602061104885828601611000565b9150509250929050565b5f8115159050919050565b61106681611052565b82525050565b5f60208201905061107f5f83018461105d565b92915050565b5f819050919050565b5f6110a86110a361109e84610f87565b611085565b610f87565b9050919050565b5f6110b98261108e565b9050919050565b5f6110ca826110af565b9050919050565b6110da816110c0565b82525050565b5f6020820190506110f35f8301846110d1565b92915050565b61110281610fe1565b82525050565b5f60208201905061111b5f8301846110f9565b92915050565b5f805f6060848603121561113857611137610f83565b5b5f61114586828701610fcd565b935050602061115686828701610fcd565b925050604061116786828701611000565b9150509250925092565b5f60ff82169050919050565b61118681611171565b82525050565b5f60208201905061119f5f83018461117d565b92915050565b6111ae81610fa6565b82525050565b5f6020820190506111c75f8301846111a5565b92915050565b5f602082840312156111e2576111e1610f83565b5b5f6111ef84828501610fcd565b91505092915050565b5f806040838503121561120e5761120d610f83565b5b5f61121b85828601610fcd565b925050602061122c85828601610fcd565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061127a57607f821691505b60208210810361128d5761128c611236565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6112ca82610fe1565b91506112d583610fe1565b92508282019050808211156112ed576112ec611293565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61134d602583610ee3565b9150611358826112f3565b604082019050919050565b5f6020820190508181035f83015261137a81611341565b9050919050565b5f819050919050565b5f6113a461139f61139a84611381565b611085565b610fe1565b9050919050565b6113b48161138a565b82525050565b5f60c0820190506113cd5f8301896111a5565b6113da60208301886110f9565b6113e760408301876113ab565b6113f460608301866113ab565b61140160808301856111a5565b61140e60a08301846110f9565b979650505050505050565b5f8151905061142781610fea565b92915050565b5f805f6060848603121561144457611443610f83565b5b5f61145186828701611419565b935050602061146286828701611419565b925050604061147386828701611419565b9150509250925092565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6114d7602483610ee3565b91506114e28261147d565b604082019050919050565b5f6020820190508181035f830152611504816114cb565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611565602283610ee3565b91506115708261150b565b604082019050919050565b5f6020820190508181035f83015261159281611559565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f6115cd601d83610ee3565b91506115d882611599565b602082019050919050565b5f6020820190508181035f8301526115fa816115c1565b9050919050565b7f45786365656473206d61782077616c6c65742062616c616e63650000000000005f82015250565b5f611635601a83610ee3565b915061164082611601565b602082019050919050565b5f6020820190508181035f83015261166281611629565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6116c3602583610ee3565b91506116ce82611669565b604082019050919050565b5f6020820190508181035f8301526116f0816116b7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611751602383610ee3565b915061175c826116f7565b604082019050919050565b5f6020820190508181035f83015261177e81611745565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6117df602683610ee3565b91506117ea82611785565b604082019050919050565b5f6020820190508181035f83015261180c816117d3565b905091905056fea26469706673582212203cb22a69ac8a153c086f0361cc6ac43691a3b3d9ad1bbf10c21a69a39d4fbac364736f6c6343000816003303c55abdcdb8164a0883060c31871267024d24c198777dad302a68e1f14d8f822f03a3e1131afb257f010787f1aa7e57fa0d281233efbcf6ff0b2a04c8e2b52e44610384688fdaa5c0854b1cd039147c00551b540ef9dcd06001b6d68b68436b6fd12603518503ef58ccb3ce450c060e5e4139a784a4baa6d21d8176100b2b4d5adff45803ecf1dd764039c06f6afe762d89d2ff4d79ba397a4f779787ef63d6ccba0317c503d2db2395670c4c7629bcd6ed704fd95738ac860ea60a53a5068aed10d91c343603c9e1650d81402121fdcdd1bce398ff9d4e6a48fb432a1cfd5879873a2a832bf303461882586db784a3ca2fed5fcf64c37c045588d72d69b3e6c2014b1d67cbd54a033222477e4da987f2462fd5ae2a07bd24d2e6b7c0368d735d5c114448a780d41d035df420047b60f9649c9e0488eb1a34ef2bd78bfcb3e82e25b91c1d920adb8c750326cd148962d1784c5b771156133d3f6a5ac58767cf7a1a726262253b4f19475903b62462634eca23d2901cb9d0e051e475e1a86e07487e8edcd331023d1e89f53f0058200384e20c1acc0469331d9cd097648e1b1c48f3c2e056b4848c9fdf1c1cba5e404a044fd0340526e74e45530393d402e37d08442d29dd07fa1a26d241c63561cc520e115f90f36533e8910dc20335d393bb7406d921a13e751a3bac779c24bc86c4a749529f2407f6b80539753f0058200374fa9051b653f6bb4f25376dc0d114013de54d5a48dab98c110e15cce006605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820036c652fc06a18cca086e758526a6537246f0df46f0d2eb2cd276f6fe68fb5205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820038e689f1a837c0bdb2dc4b625184f2b6a51e3f505dd3b8aeffb78eb3aa9c6705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036c4f87978d902cd5c3fd2c51a330a7008c1ba16a1464c902b806eadf84dd644503408eb3742157227313f29f52ccc358bacc22522a25554db7a2c830a9bdf5448d03b262f5ba5e39e0e1fee05ef707760749a5304aa346182fd56e97b7e61fd35444005820030026878906634a15798109806ca51c19864258c678a521e4edd54802249aa0490df6646a9b5ac3315803e0975a1e0628cd2930d919ad70b66c4828675b69abee54a9e554bed880224de7005820039ee4b4a7e652822c6866794db51283aa76e2cd21a7004f9c2d49e25a1b77705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820033ff389616aa76eff716d7c5a0a951eb3fbcd0775834838ec1c6c5231ed66405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219f7f6032ebb6dadb64eb51437c74fbb3d05b4288bc81ea44fa472214729c8fada5c239b03ee2a8f1a6ce1712048c9e0c4db4881f12bfb7cf35c110b1aa5de5ad06ffc1bdf039a85eed0c77c8550fe711e7f569d4c7e1eb537095d9a8a85ef8346ca9acb00300332e4cbf5c063f298cb27d488da8206d565445c4b3fa0d6dcec57cae6221965e203d497724df8b1e2098f57d4cef319ed00c40b2639046b3fde923f18483267bc70032635c670279289647666abb52a29fe2cc19ffea848c121bc377fd337790d57c70219ffff03f4849654736eeda6b473853a8ac95929086d52a49468009fad923ccfffde3158038594232a8cc49c35ff7df12f788fa1350a2ca2c86cbfd1a065c1d0fd823c67e203e5cd18782b860e75fcdbea5dc018a249339ae8dc1f9c6f27ced9386e180e76b303a4380bd1d9bc06e2858d9fbc4d59e6896d1b3c67b92ba7ab9cb3574a8a1516420381aad2876238c75353812d4234869c83d286a84b55259df581cc0ea4b9ad9e6e03db39c659a77b2db4bb80446f91eca7f48551b266abfa9ffb1c8cffbf7e61174c039fba6b8215afab8bb255a8ddf0d311849704033c45f6abc686378effb88f0d0903e230de83e0fed1f54c5a61958d4fc5eca2bcc2c6dcd73280917fa07336ae17dd00582003ac080c11e6622c3aaec9e7532eec2d678e3c5ee7de33828cf2df14e323d8f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0376e6d1104a676793d421493272c5d0200444af32957802c53a23de1ac675f388005820030c77d2d7986d8f0c86060a042100db658b42299905d3bb95dede50f81507004946fb85303e3dd368ed00582003f380c0fce3606c8146c9158e438dbd2a569ce7ce3de83b731c344b9cdb76405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032c0e9a91965b0739ff4c865591c153bf75166eba0b671259980d3bc1bc15a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f8db18a18bb2d6d0409815226d38f593f4a820ad275de43fa3e2de3f37bbd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dcdc9f02190c463bdc6935dcd87553b8164007f18b1114c4674424381b5718e9034005c0a237f19353e863a0b6742b83e0d179a7f85ced70512cabccc096d3e6a900581f0247a05d1ec781ec3a3d28dacb433b8d1251696b9a20f61c12b56ba5fcca914a011de332abca99771a4200581f0227f3d726bc569167f965bb7d86709cd942cc12f0aadbcf1d30d64b1219734a021e26ad5c8d8c0e7ea90219080203dbb3cc4a545db5b0a7da9fc59d290b5f8348b89205dbee851dae5b389b6c5f1a038d61df60f1aeef18e1cd16f14affc7d2f6acd88072805ba9900dbd7c6e48df7600582003190aa9f805b0785d912f790c018074c360993ae40a6e9140a6932ae07e4f805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0354dea667ea180030aa1725a48a0b65bfcd6b0f1adbdf80ece62fc4170bc0a22a0219ecff034a10b3e616bf5f6bc64549aea102bbbb5a9bfe86ae264acfa0ecfa76b7f27f63031ee76abbbb2b529f33558e8717da253bf5eb5c25bd6a120cfe627638fedcb3ee034a7f8cb41d11a9d62cd229f4bb2fe573488f9d4081bfbfba57c7e7be193d819a03623e6748ec91b8dce5acdbefc95c9f316683ac02663d532b00628ee8fdd163d403cb5ee62888e9f5de318145d3d034ef5dcc6cad51714a8198a6371a8dbd27f683039a54248133759079e6906cd29693bed246d7c02a68c61e3e1502e0c17318378c03484721d4b672fbeef1824165e0a90b5c9f876a997e2bc01ec5613446ecd46ff7031eedffbcfe7cb5f99cd0080dd308e520020b267dd59f2e315f8e268fed438c5303e4429b8af78e8d796e435df34bc679ce4495b69d31d22b7c175598a3c9f04449030849c03b434912fab34e235cd8f3bb0309a39002e558521411a9a2ff7e21868a03fc0e3fc0335653c437b593670a0fe8c2d621b22e77dae50465ff277b1d6bc8740219ffff03554ff2ab0b72d11f0d35aacd0d802c7747a165bb9eb79920725bd9e5bf5ce5e303c618985ce8cf017e8b5c7d7a609b2e62e9f6b49a51ffcc83a69acd31f64843b003e9ae5f17f30951d727d3471dae23ed1a5c261e597de43d2aa0b754eeb1e5da120310902cb127a790e5c50759ba4993e934f73f5b8f63c1620849b92de41fb2eecf03bafafae5b923d0c0c8f64b789ac1438f28947e0fc8d29370365c29d0c555e3b70352c1c7ee113e8ccd5df0f43e98f62d43ba5a299d489323d91f399d5601f27ff40321838aa4723a2a4fef10fa44d6be83cb5106f1be1be13838d75daeed71de8a28038f34d50e11a6e3563b6fe3d43ab39bdcd671031aa35afa4f126e6ce7aaa309df03de141b5a808d2080ed49388da61f0f57f2aa5444d3afaeb54f8808c0d9a7db74030762511ef87ef1f14cb35c54b795922b4cca5f306500eca8768ff1444b5770ef032cc21622d1d510d912b448f45f44eba1e9c77c4d9aa1299476a259a3760b379c0348343bd5464cb9d2e935027fdde914cd3861154a7df8a1845a694e4c963ceb06005820035e5adc6a1ea8f2f12b9aa7ba25f2c965a55fd80e34ed9d97def08f5726e5e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0368241f1bd381a35f8bc85618c2064617e36393931e8faccccff68f4e612fac0d03bc133aa7e5d33fabc757286c189bd8f1ca52e6030b13b921c3d5db61c112f83b0141000330420cc8e44a39dfa9ff427b4df0fb69dab086b414afed2fc4b61da65aa6d47b0395887ffbd219cab55734ab8520daf01eb6d185a23744e87ab4aeb61b5e34970800581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f44011bbd1600581f02e476a38f89466a15ede532b0650f26dc47130b4024cd08d560aeeb193ac05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219080403d5f58a9ebba9acb7a62a27ea0495951575ad36f20b315979d50de17436abd53d031c6b9989916f5f93d95a2933bf1a1b23de6cbae042c2ab7f5112c6aac1a5be6600582003b1fc801b5d02119c32ca01fbb0b130864da2c3ab7a3f1a56a982a9dbc052904905b11bd5a6075361fa0364babd9303e7652ee69f09d3bf0c6b480f8f71eda047a8d64dbba950b6368bce00582003137a609fc3f4b9ef4f811f1160995d3dc4ffa9ca16b79ac0d881307416a0104948f752456ac7ac7dcc03eb2b257cfbd3970e91cb0912fd30e7c29990d28878a96c105257a370957aa81300582003fb8b9cb518ef2ae254f167390c3df7387e6a33296c5b388d428151a12ab910493c418af0f991e2b74a03dc5194d056529316983f031527c4091b23868f3d4f4067ac30867c6f05396241037b288ac8227a57600c03898731a21a97d8b968887920d6261aa8d740a8486a6203aed25881821355d8fc98bf396e5403814d513dadd3334fb3269153625a18a5fb0219ffff0339035c2475961d3750522642efb2fc7b9351c686b59a3a627277febf881810ba03eb78fb884aeaa202f9393fce9de57b68b6b437f5a136ffc5bd05a019503796e2030deef14acab81bb35e631166c6da69de2861c4c252bdfbe3be2dff6327bc214003d6a281e323e2cba367f700e96b946b16d290f58392021e2e2d34de87dfd0aa9203f7be3f50d9f02770460ee73a38be12356c6af8c880595997f669ab90841c65eb03b5bc5d7cd2517c0faf5155310d4bbf02f59f391330c807987d2863d537b4befc039dfb95dafdea9934e60bfbe2e222c38e4b65d1622fe4ed11e3dcdbe53790999f03bf6ff504dccc4f4469d7158153be9aa39a21d9c612521fbff3b1e5c251cc83bf03ed9abd5703c546192499c072fb987bc99f6f78ad011c7df07e28ac011d4acd060219ffff0219ffff05581d026dbc7a66336bcd40a33245f9e9c88e947711e8a9874e7425c6a04e4507011918490219800405581e03bd9572d2b7a58fb562599b337b9f95dc8c1b093fdcd40f34c7019bb3400c0b471b69a47577666003e43b8ae1def5d65a50546f94a00e7ede50cbeb4d526173620451bc10714b6b5b03ef88fa7eb6ba2fe1606a8c32dab315ab56ebb27850ce85683713d229690b4df5021973510353916264fb58c1faf79cc6e986785bc79a4fa31b9b014b0f2f198f68f33da54d0219ffff03a21e692546676aa345fd05c3b8043d9e94b4c045b0472e44d6b3db8f2919591f03d794895317bea20d11696dc08a4a8ab787d55ed1f6b0c7a93ebfbf030794a2cb03f3a72b9d10c90e7821f6e6afd165182698396f8cfec354017ff8fbb9926aece10391b946ce1141f008606ffa5a100a4d4da2fb048840725b7167798d429754dc4d0332310fc03b7fb6bdf1ca41a865ce26f020f4346a1ed4c038c699ee6b3a47c3e703b3ae12835edf04bdbc509c247128c4af7634f3420d130cebb99e76c1f338ec7c03a48e6d960ea1f489372ded66417b2b6970389e91978db7d68103bbc125f56e4f03dfdd55b9cb6f5b8e0d1adb27f0f81d470f2c49c42f7a13ba1a4bd0594fffa19003a88c8e62ebe9541bf1360819b071adf012436e65830c638403fe18908178932f037ca51e53080a68b69473e415233e400f81633ab955c12001d023b54404f8929a03de0d834d53815addadfe6b1d55a1951c5c1dd5aac97bff9cd15dd85137dfc5fd03771718a55ad74f63000a6b1d67e646fc72fd002943ea61b38d1801dce30551d60219ffff036b9f18947119ed4eb9755e5bcd3c543f8b21fdc9118cc8537e5ae53b6e84829603d63c15f87b38edddbf7f17fe122ccd5006c16567cf84b7592cb3f484ed623fec0390c3ed72a79ace7ade6cf627c0ad820dfb6b1d35b036d1948a5d084a3a7f365403aded66231e83babbb194d8d04e39a6f2a5b381ca4153acc7d7b1a4f2bddc298c0398e3245c509978f89f1685e279c567e72d59060f4002aa08d1a36b5bcb61214c03c23ed4fe1af773e16e1b6ee975d211f14bd5c0deed4c02829688bac79557ab2b03452de7808715c58e41793682e8f2ca9b192d1a9a9879ba04bd2e0bcd9933bc3d0387be6ac30b96b0200a9b7122ba641dc3dec450ff87929605dd301034666a741b038e5ef64ce0f4462344e91eb639ef6d82590e88b4b645dfb2db0b0c4f534ec6dc0219ffff037ab17887b6f91fbdc63c2305119818d0184b44ccce28c8ec4440d04b74a665fe0219ffff03d2c4d59dc5695332e00dddf80fdbf9117e5ef8aead689971dbb15ddd7ee90a0f033392fe0d3c80f03f77c8fabdadd5c260c574cf297fec0fa8e68a78712b0d433703e97b229f328acfcd0365add7835e24c74a267abbacff077ba4c229b657f0178a03c96961378adaf53ed129ac89ac49ed00b165c833ee55871bb6205844feae4c390392c27d7789a8863522aa5d72c4193a61320f8847f77ca4355df8480ab953157e0311717d74cc736f9dc2258e75ed6253b98972f05e9c6535d4a0952cb3ae203ebe031c7cf8393a39b5580768c10b5417d5dd15411e3fa5d702b93573a32e3cb9e605037e6b8bd3ac58b33dd2ebdeebf7322ca401c0ca05fe916bccbc932250996d6157039e6f4d6d9eb599027b6d0620922c790e3b900aa116fdfa3da70bf68d70a7a4580350afb0e6e0dbde5be8172d44340c76a55f3eba25df562eb3af2cd749b83fc2ee03f5a5127454a2390c6a16790b0874e9bad21f01c50131f888e112cd323280520b0352a09f9df59b5519baf60c857f92040656dcb0e6f89f99f00237af56ce9086a3032a1e340549ba60dea77b7bf9506b364668d9a9d9c25aef09b2c3fb9a4ced52ce032e92baa6d2d71c9e780a9d16eb78ebefd8af25b25e26a9c4db06100337f9815203efbdce2d8fdd007f925eb59d522912d24df64e4c93787d2738457c39791b577e03bec97d790a3f8911fab6d00ecec855522ab442173ec79ff29cbee935fc9304e5031d84092ec192f257b2022a2248f6dd102eff45a7d4c1752923b1922f6d06809003a38c60da6f512e9a218b6014dc7a97ac99c7fb9904c7203364ad832f63ee9d1403d3edd9655b574c7aef8fdb2e775b231f54266c8a878f0bde2121f14d78686656034581f9f7deb89b8f7b25ebfc30f8634c2330b1d4437b6c89d556cf2ec35d8695036b17875c45769f6a965acd3b935eaea833a4b8c322b69553a7ce2aff6daece87034d68b70c876e0d5da4e5cb595e772b091dfb5f47df5e6e14f55728f54833651903916a332d3a156518dd891e672a1de984677d4356d9b1ef6013823af377be67b703c6ca1da1a16fb320d39998dfbb52bf4233b4f3992be42cbce881a81a41b2c5ad03f0cecddf637ee07c1aa0821b001444d9dc0992742af47691f24c9463e8ad56d60388e8499ee50f8b7dbf707090e0b997b68a515efd9a68255585fed0bee3782cd003851560927cddd7260e33de74cd8cf9db0882934f6eb33b310bc738addad5809b05581e03b228c94fd49e4056beb5dfcd4f818d1d2bf355ee60a853cd6dc8572660040103df98f0a7f7d2c7d5c8c0f049486682962dd887e33f014f42da6db730ba51c74f0304df6989f4a25fad56b6e85a0782b5c72b7efd88b92c067812b2009e571bfedc05581e030c037c1b04dc4f3ecd6c4248fd025afb57343cf74feea9755daaed77d0040e03558c6c871970c94116b3e0da6861d37f0744f98fd2acd4e2406ad4b014a6479e035e57e9ec40f7c9219f24d223332bb15dac9e531f2799810f465b2d99a38418df05581e03a787ca2b3a109eaf9dde5677de49c22ef5174c1a0af615effe3adf895007011bffffffffffffffff05581e03755c81c5116e8d0b3d0706b1a52c3af5a92f7eae1749ac351da8db8e300c0146072a593eba4005581e035c894b030c51ab5391e5b2b70c622a8b558671ce87c9305482a1ea10b0040305581d023c1305ed50df20805413d786d7ae6a382dad8ebb419db78b478309040c1855471805f230d65ff905581d0251da00c79bd6072254e54213d4a749f35fcda4f200bcaaa426da4e250c01474556c243827ac005581d02784c1097081ff85cca12f69c1d3e73444ca58f2eed4ae5a267d33af20c1901a648010ea3d5a5dfff9a021920120219e55403088dd900efeb7dad21aa2444c2957286f6e10936447c04c825307fdbe5a8363003a6e68b7b71f6c1618723cd9c2f8616236b43dd1bda7365c83da2fe7ead42b1cd03fd63b6da6c9dfa98cc379f34dade65f64c97daf210a2872c8ecb9c703b7d25cc03d821b82287355344320ef58ef04f420da35bfc4937f2a9c6c1c0819c95ce574b0313152d0515f71e48c3705b5f1ab3545f00bc4ed8f645c3fc12495be62f6fd73703d266c06901566ad9dd13aed6a7e7958e33ad0a1e4027859b4468b3d7de9d3f9803c51d35533b613928bcb7cf4b994ed7e2988ab8ca7bc1ff109f0383ef41bbd15603219ea286d2e4b5450eeeb8bbc86e69847ffc8680399b482275d2ef40243c86250350956672219b1cf8623f9fd724931083df1db3d5dc18ac405c3d5c411ade3f7a03c24bec81c71b9090c963342702bd922bb610e5c467528434f63e7457f0e526da03144eaeafba6b0921648ec89b3341806acde86a886d3621e1ebfcc809eb0b48010312134c38b2ac88b16a4658d4a8c5834b23060d568bd5dd46fd1d9329e069409e030b6149f94991e118df06b80e2110639b5d50567663e6cb967e6bc861e2ecf56f03d6f2ff6be62b66101e00e2427c9674b6b80d61cf6d124ebd0faac8e13b27c0990219ffff033abb55aa19e0db9bcf008543ce35716eda868049f820e9c5bf2ebfb114922f5203341ea5774e1ffe4678f37cdd7f298c1b90121705b58803cee929558c104a5b3e03ade9b3a2c81ed83509aeedcac1d3541b01c77a09e0185d20f95a0f84a66c267c03212cd911920cd38b9fb0415680f2171fcd5a4c6ee0b96dee3b0a069c4e16a28303769665c414035e250fe9b466d3c4595fda770fcf246e7b9f438575793f69b63d039f88fabcb99474419389deefe5b1881ad3563bf33d940e344e49dab2d0c4e21203f25f1403b57c3056ed73973b54f6eed6786aed213936a7110f41f15c1a154d840219ffff03ac1041dc1d2873ac01516f0ad10faf411479df64f29be245ac13f358e74effe6031960ae7f0371fec14684c8da2300b6c0027600c7ccaeb5963423446a419fd7180328aa3ccbded090bd457e05134357bc1de1dc98e518e526926584cf6669c26f94030f8e761f9dbf8b75c05d9ddf72a37da8359d7600640a4c62abe4aac28d4e83660219ffff039dbdb80bbf897f9a9ae4484739aa0c722263e07159287ffb380c61578ae8d86d03b109086b69a611f0c9017bccfa609fa1d0f0c905b5e0cac983b53beeafba202f03729425a4196aa492539ec9d652decf80e586d6f01463a07e3942540bf4f82ba403e489b342051fa743a0960869b23265d35ada07afe80b53cb5fcd2c07b3db645d0374cf3dc1a7afacdea056ee88734f277117b441978416f85acbe82285a555f14403100866a64470ba9becf6ead44190248951e8cf99609f40e860b5814594cba2ab032b417f28ff2aad4cc00568792f6e68d37d49758c37aee982a14173806e71b4f403344fc7aad52d24295f3d4972e63b6ea7da4279c465ebe54e377d3290235f704403d70679bd205f830523462d49a82ce8bb7b37e620ba31a2eefd59949c745bb38203f71af734b86370de778dac1ee8a113a7911524fb25fd8db4df5d511b3441e0f703c5ec65ab4f79feb62fe019196ef1eb2ec74608f1fdcf943fddd667f1dd60c3ad030b436ff42048cb8241718519ef2edab3e2e79a7bb35c4cc6f465ed55a4a9be920354db92f11998ac4ac9c73fa6534cffc602c66015abc6ea22e451bd9432db38f3036374e6c809d7df23f783ca02a8612775605571322a56d9e8748b5a70e74b370e03c62b89c0f714eaa16910a5d70255286fa29af849fb3f4d1079277b32fe2b3400031ea46ddf7846b039997eccad2593d1eb063aa9a2459734c56d986392099771400353a3b50a13c119dd47cfc7b449ee283ec581d0a04b9b65c28cfb9498b09c950e03dd0ed9e36cd6ed3025355c34c032dc13f403a53158dbfc90925a00ebb919dc6b03f580e65795a7d0291652a4b40dece02123d5bd5a23fcc856a5787ec2af782a6e03bd20ddc03ba6efa16253946a807348e03ee6d32bb423a1891ea929f3f1e997f003fb60b025eb4df7c6f55e4ae9bb2aeddb3be4ebc1831eda35d3a6ce6f8c55316803b9298c838770e613273affada4ccd79c519c72ec2924db8facdf6031c2b3f1a80367d13638ecef2b58e251e48ee323f28b81a59356c9a1ac3a8cb512b0af8602d20390408f5e3662c0ba1f31932055d2198d54665c90b5e78a9a6415d36cfae50ab605581e038825299c6f26aab85fbb8f0c212698bd3c1406d029f8c775aa4a733eb004090459090b600436101561000d5761072f565b600035601c526000513461090657632b4656c881141561011d5760005461090657600160005560043560a01c6109065760243560a01c6109065760443560a01c61090657600954610906576001600955602435600255600435600a5560843560035560a43560045560c435600555602061020060646323b872dd61014052336101605230610180526064356101a05261015c60006002545af11561090657601f3d11156109065760005061020051156109065760443560015560a4356008556064356006556044357fda8220a878ff7a89474ccffdaa31ea1ed1ffbb0207d5051afccc4fbaf81f9bcd61014080808060643581525050602090509050610140a26001600052600060005560206000f35b63669416b881141561017357426008548082111561013b578061013d565b815b90509050610140526101405161014051610160526101605160065801610836565b6101c052610140526101c05160005260206000f35b63cf3090128114156101c95742600854808211156101915780610193565b815b905090506101405261014051610140516101605261016051600658016108ab565b6101c052610140526101c05160005260206000f35b634e71d92d8114156102045733610140527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61016052610282565b631e83409a81141561024f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101605260043560a01c610906576020600461014037600050610282565b63aad3ec9681141561027d5760043560a01c6109065760206004610140376020602461016037600050610282565b61039f565b60015433141561090657426008548082111561029e57806102a0565b815b90509050610180526101405161016051610180516101a051610180516101c0526101c05160065801610836565b610220526101a0526101805261016052610140526102205161016051808211156102f757806102f9565b815b905090506101a052600780546101a051818183011061090657808201905090508155506020610260604463a9059cbb6101c052610140516101e0526101a051610200526101dc60006002545af11561090657601f3d111561090657600050610260511561090657610140517f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d46101c08080806101a051815250506020905090506101c0a2005b63713533b381141561046357600a5433141561090657426008556101405160065801610895565b610160526101405261016051610140526020610200604463a9059cbb61016052600a5461018052610140516101a05261017c60006002545af11561090657601f3d1115610906576000506102005115610906577f26c39210ac9cda246a6cc6e33da67c1971d5f14bbc32e2b66c3e14ab813549d76101608080806001548152505060208101905080806101405181525050604090509050610160a1005b636b441a408114156104c35760043560a01c61090657600a5433141561090657600435600b557f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e961014080808060043581525050602090509050610140a1005b636a1c05ae81141561051a57600b543314156109065733600a556000600b557febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a11891056101408080803381525050602090509050610140a1005b63b15e13ee81141561057357600a54331415610906576000600b556000600a557febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a1189105610140808080600081525050602090509050610140a1005b638956c9838114156106255760043560a01c610906576001543314156109065760025460043518156105a65760016105ac565b60085442115b5b15610906576020610280604463a9059cbb6101e0526001546102005260206101c060246370a0823161014052306101605261015c6004355afa1561090657601f3d1115610906576000506101c051610220526101fc60006004355af11561090657601f3d111561090657600050610280511561090657005b6366d003ac81141561063d5760015460005260206000f35b63fc0c546a8114156106555760025460005260206000f35b63834ee41781141561066d5760035460005260206000f35b63162433568114156106855760045460005260206000f35b6394abf76081141561069d5760055460005260206000f35b633c48a6208114156106b55760065460005260206000f35b636af904c68114156106cd5760075460005260206000f35b63ac1a2f698114156106e55760085460005260206000f35b63158ef93e8114156106fd5760095460005260206000f35b63f851a44081141561071557600a5460005260206000f35b6317f7182a81141561072d57600b5460005260206000f35b505b60006000fd610747575b610160524261014052610760565b60001561075f575b6101605261014052600050610760565b5b600354610180526004546101a0526006546101c05261018051600554818183011061090657808201905090506101405110156107a457600060005260005161016051565b6101c0516101405161018051808210610906578082039050905080820282158284830414171561090657809050905090506101a051610180518082106109065780820390509050808015610906578204905090506101c0518082111561080a578061080c565b815b90509050600052600051610160515661082e575b610160524261014052610847565b600015610846575b6101605261014052600050610847565b5b61014051610160516101405161018052610180516006580161074f565b6101e05261016052610140526101e051600754808210610906578082039050905060005260005161016051566108a3575b6101605242610140526108bc565b6000156108bb575b61016052610140526000506108bc565b5b60065461014051610160516101405161018052610180516006580161074f565b6101e05261016052610140526101e051808210610906578082039050905060005260005161016051565b600080fd005821026e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af410105581d028b9d68b95b676f5cb82ddd9c9338506c1de8964bcfd6bd8162ce3303070119090b05581d022031415b66d6dcdbce84a3e6a781bf7584808a83d04fed14a271b1c9040505581d023c3978efe2aedc27e2f382d9edd1d0beaa57f38ba399edf867623dfd0c05463c74f6ba2e010219188005581e03d80d6d00d0b140a79e603a64de80cc86c086d6dbc40a70c0a70b9868600c0147214b445056145c05581e031753b27166e2e829e8f25bc6f17192e4853ba650f41a290be3acfc49000c034701339692e873280340241c46cb0b9240fd6591ccd14f171abb9ac80e700e98d4640bb2e9f7ccd25505581e03c5028760bb78bdaf16306bd19d61cc9aa31670968dcf3f7a0e09d8e0900c014704158d3c2d0cc0034dc9017a4afa5415bf3240e84564bb96e5ef2c6f7f2083c1f86e8fee2425de0d05581e03d6b2d0312d329cfd3c72b2c2c0ae4d5359916b20d6098e6644f86782000c0246b1ce640db8000219f90903825f5a5555776333e320c060c7ba529177c0b473655c366b5260a5ee5328a0f6030dca2cdb8ad72e7a4af0feafa0a84bc6296232465ed3201c48260cb3f2ed8fd9039b6f070b739f7b3d1ce9da4dcdf32b4017dc13d2bec36b5a4b62e2db2924fe4e0346b99bb381fed895bee3b0a9f6473c805554c10e50962c6bbd0eeb471b64ec3e037bd3dbe8d48fe73414fd2e55cef577865c2f4c3dfc9f57241385fbcc22ae133003d4ad9ee06903e1ed63438346e964398c8131e3f9c2e475f6ba41b636a5b4229203c8d7a08cb5a863871f71d9fe9d84e30fbe13ffa4ff4d254307109c98b3c1b9ec0348f36498224059636f01012e64aed09db1090c3a269c004caf4153c3a30da442035ffc02699ae2e42f9466115529b00bb2514e7d14e9db01f79e2a7bfe0ef3579803dbf83b4d445440ad86de4d519a588d528d75e67f30bcec8c5b3f173f92e2b07f036087088bfb81983b9e881f362034654d17d4ecd85574f420f1a9a04fd70cca5d034b8a5c00f7a391182e529be5cd9b2998911d2ddb9ac0186fc0dab970a36462500219ffff0312dd52c33d520f2568ccc52c79e59452d775f1f02fda328e72a14ffa1170406d03fc362bf654ffcf8c7c054abf183f2c924905e88703e618b314240b726e842c9e0219ffff0353179781537059d823ae2c1a007dc51fd388031ebe9d867eba3569d935e1bc7403e4198517e3079661c0009a39716e584a9eb38439ef549c9bfbcc38d646018d0e03145bb80be4fea072861718cdcfda81ba2e511de65f0e7f65b1f0674cde7d6aea031c07245f59ca35fe7865a03612cbf8d7cdc36a5316e07b6800e5e2a76ef063a503b995a6dc4e8938c87de8e1ea225ba13ddd362501e1e99ca401385ed8ae16d22e036135ca3c5e07553749c6ffabf1d71479ee573029ee93dfe36b615460f690bc12032c469caf78b9393ea6be43618eba8c1719630eb3384213d48b73527d0968962a0219ffff03c197bb925d7bdc03b26a901045d925e6ceaaa7ef616889b6b8cdf277017e732b033182d1b0628bc96d674c15b786121043c9d5f2389795cd0165fb461ea34986090384ecacab1e959656b872c261ba9f995ca8482d034d3350ecede438e48657feb0032322a6474b36efd95a8466b1d8ef4419dc065f57742bafb5d20275d6a5e326e303c5aa48e8d1ab1511be9d4f77b1390305c2bcb630d7665c8bc8f9ef0ffaf00ba60342e2951a65d3d28fd5313b5ced791ca199a9b27f3196cab9c5e388759c90e17803b6142e3d7ea4f9f9823c80dffb914a14addea37e5e91b7cf3929826bbad23f5b031da4be706304ab409e436e4b129c19652b401b756ad9504d8f3ef1c42a1dc7dc03f57247a26ec408b943e2fc60e02b37f6bad88e61c2de314e7c29532602cd9151030898fd5ae476b14d1a54ccefe1e0ad89d0a2052ec1d3df711bb5471abc7c6ffc0327086bb4152b55e2b54a1fd44f6f5e394c944dbf758977e3657868c90d62d4d10302329c2f0befae9eb578156e9e8ee0b078de5f2f59627f2cc6dc2898be1c440c03a5910d507b73d63d663b8b32040c83d04d11c81fa88a89f922d438ae1963fddb03f0a177471ac5a9e0545a51b81759f106a669e912585c774805edf1005cd96991037e00fa2f1a9a069696a6f77286a83fcda07f78d2e21aead656e2c1fb4cb836f703a7b800d64e37c6590d5424d31ee1cd8f4e976adef16c7f08acbb2a36046054a503443f29dc772fc9d719414c21b48c750eab3f8076b5a82cf92ca6d6bbb5b22b6b0362fbf98753203d3b0492afb175a103df3c5613e129832637ec96b210cd49a8c4034505d0be0a57125297de837afb4b8a0587a426b20cb7f3a214945306f901cbf6030de12ba84c4f706c448cb2a53ee080328092582ea62035cc1d5ca3460ebcce3f035fc6cca3950620332836408d552ec93f92a0c2c28dec69e5e4232ee2de6bc26603bd3e51cc9fb9d8d8585a3994435b45c67d2640f8a2c94ced10134db3fa638670033f8ab0622f16a5d6ca41f9d5a975b08306628558c28222b577c232295c44ddb905581e0359c71cd2a0429447ae7b66e9cfdd456f64b01140b5fa2bf9d37decb9400c03470d36b086be490005581e033f75b393ef7037dd15294360e70a5fbc5cef6d36aa6ba21347cdcef4d00c0345e8d4a510000313e7d40c11bfc7df5ced79300146f6fb364bd983369f6facbbb4dc8345ca706b05581e03655d91517c761bd21c14fdf5ce4b3eb20aa1a6c28d5742022166658960084725de70c15b8c00031e54faf919667ab509392f64094336c028b0642482d0ab9fc8bfa43f01769e4305581e03b7a22d7012e20b65e3434773e3a6b8c2c172a405c143a27c6857e13310040a05581e0362f09ebdf18d49f68615525abd68beb51fe3ccb0fa869c996686f052f008474db23fb5e82048045920f56080604052600436106101a15760003560e01c80638ca2fb08116100e1578063cd68b79b1161008a578063dbbb415511610064578063dbbb4155146106a6578063e0ad121a146106c6578063f2fde38b1461077b578063fd9be5221461079b57600080fd5b8063cd68b79b14610552578063d350ad251461058f578063da26663a146105af57600080fd5b8063c1723a1d116100bb578063c1723a1d146104f8578063c18403271461050b578063c4d66de81461053257600080fd5b80638ca2fb08146104495780638da5cb5b1461048957806392807f58146104b457600080fd5b80635d6d7ccb1161014e5780637760e22d116101285780637760e22d1461036b5780637bc3c9ab1461038b5780637dc438a4146103d157806388a4124c146103f157600080fd5b80635d6d7ccb146102e45780635e280f1114610304578063715018a61461035657600080fd5b80633161b7f61161017f5780633161b7f61461023c57806336a5beba1461025c57806352a72510146102c457600080fd5b806311f2c343146101a6578063223cf5b2146101dd5780632f7cb0b41461021a575b600080fd5b3480156101b257600080fd5b506101ca6101c1366004611c04565b60009392505050565b6040519081526020015b60405180910390f35b3480156101e957600080fd5b5061020d6101f8366004611c37565b606b6020526000908152604090205460ff1681565b6040516101d49190611c88565b34801561022657600080fd5b5061023a610235366004611ce9565b6107bb565b005b34801561024857600080fd5b5061023a610257366004611d04565b6107f8565b34801561026857600080fd5b5060408051808201825260008082526020918201528151808301835260685467ffffffffffffffff811680835263ffffffff680100000000000000009092048216928401928352845190815291511691810191909152016101d4565b3480156102d057600080fd5b5061023a6102df366004611d9d565b6109c8565b3480156102f057600080fd5b5061023a6102ff366004611ce9565b610a26565b34801561031057600080fd5b50606a546103319073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101d4565b34801561036257600080fd5b5061023a610aed565b34801561037757600080fd5b5061023a610386366004611dd9565b610b01565b34801561039757600080fd5b506103ab6103a6366004611e4e565b610bc5565b604080519283526fffffffffffffffffffffffffffffffff9091166020830152016101d4565b3480156103dd57600080fd5b5061023a6103ec366004611e6c565b610cd1565b3480156103fd57600080fd5b5061041161040c366004611c04565b610dde565b604080519485526fffffffffffffffffffffffffffffffff9384166020860152918316918401919091521660608201526080016101d4565b34801561045557600080fd5b50610479610464366004611e84565b60666020526000908152604090205460ff1681565b60405190151581526020016101d4565b34801561049557600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff16610331565b3480156104c057600080fd5b506069546fffffffffffffffffffffffffffffffff165b6040516fffffffffffffffffffffffffffffffff90911681526020016101d4565b610411610506366004611c04565b610e00565b34801561051757600080fd5b506065546fffffffffffffffffffffffffffffffff166104d7565b34801561053e57600080fd5b5061023a61054d366004611e84565b610e31565b34801561055e57600080fd5b506069546104d79070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681565b34801561059b57600080fd5b5061023a6105aa366004611ce9565b611118565b3480156105bb57600080fd5b506106626105ca366004611c37565b60408051606080820183526000808352602080840182905292840181905263ffffffff94851681526067835283902083519182018452546fffffffffffffffffffffffffffffffff81168252700100000000000000000000000000000000810467ffffffffffffffff169282019290925278010000000000000000000000000000000000000000000000009091049092169082015290565b6040805182516fffffffffffffffffffffffffffffffff16815260208084015167ffffffffffffffff16908201529181015163ffffffff16908201526060016101d4565b3480156106b257600080fd5b5061023a6106c1366004611e84565b611163565b3480156106d257600080fd5b506106626106e1366004611e9f565b60408051606080820183526000808352602080840182905292840181905261ffff949094168452606782529282902082519384018352546fffffffffffffffffffffffffffffffff8116845267ffffffffffffffff700100000000000000000000000000000000820416918401919091527801000000000000000000000000000000000000000000000000900463ffffffff169082015290565b34801561078757600080fd5b5061023a610796366004611e84565b6111b2565b3480156107a757600080fd5b5061023a6107b6366004611eba565b611269565b6107c361127f565b606980546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055565b3361081860335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461087c573360009081526066602052604090205460ff1661087c576040517f320ae52900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109c3573683838381811061089a5761089a611ee4565b6080029190910191506109ba90506108b56020830183611c37565b6108c736849003840160208501611f2b565b805160208083015160409384015184516060810186526fffffffffffffffffffffffffffffffff948516815267ffffffffffffffff92831681850190815263ffffffff9283168288019081529783166000908152606790955295909320925183549551965194167fffffffffffffffff000000000000000000000000000000000000000000000000909516949094177001000000000000000000000000000000009590911694909402939093177fffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffff1678010000000000000000000000000000000000000000000000009190921602179055565b5060010161087f565b505050565b6109d061127f565b73ffffffffffffffffffffffffffffffffffffffff91909116600090815260666020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b33610a4660335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610aaa573360009081526066602052604090205460ff16610aaa576040517f320ae52900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606980547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b610af561127f565b610aff6000611300565b565b610b0961127f565b60005b818110156109c357828282818110610b2657610b26611ee4565b9050604002016020016020810190610b3e9190611fbe565b606b6000858585818110610b5457610b54611ee4565b610b6a9260206040909202019081019150611c37565b63ffffffff168152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001836002811115610bb857610bb8611c59565b0217905550600101610b0c565b6000808461ffff16606e1480610be057508461ffff1661279f145b80610bf057508461ffff16614eaf145b15610c0d57610c048561ffff168585611377565b91509150610cc9565b8461ffff16606f1480610c2557508461ffff16612794145b80610c3557508461ffff16614ea4145b15610c4957610c048561ffff1685856114d4565b61ffff85166000908152606b602052604090205460ff166002816002811115610c7457610c74611c59565b03610c9257610c888661ffff1686866114d4565b9250925050610cc9565b6001816002811115610ca657610ca6611c59565b03610cba57610c888661ffff168686611377565b610c888661ffff168686611685565b935093915050565b33610cf160335473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610d55573360009081526066602052604090205460ff16610d55576040517f320ae52900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d656108b56020830183611c37565b6000610d7760a0830160808401611fdf565b90506000610d8b60c0840160a08501611c37565b6068805463ffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090921667ffffffffffffffff90941693909317179091555050565b600080600080610def87878761175a565b935093509350935093509350935093565b600080808080610e14565b60405180910390fd5b610e1f88888861175a565b94509450945094505093509350935093565b6000610e5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116610eb45773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610ed6565b3373ffffffffffffffffffffffffffffffffffffffff821614610ed657600080fd5b600054610100900460ff1615808015610ef65750600054600160ff909116105b80610f105750303b158015610f10575060005460ff166001145b610f9c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610e0b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610ffa57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6110026118a4565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260666020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055606580547fffffffffffffffffffffffffffffffff000000000000000000000000000000001668056bc75e2d6310000017905560698054702f000000000000000000000000000000006fffffffffffffffffffffffffffffffff9190911617905580156109c357600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b61112061127f565b606580547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055565b61116b61127f565b606a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6111ba61127f565b73ffffffffffffffffffffffffffffffffffffffff811661125d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610e0b565b61126681611300565b50565b61127161127f565b61127b8282611943565b5050565b60335473ffffffffffffffffffffffffffffffffffffffff163314610aff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610e0b565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b63ffffffff8381166000908152606760205260408120606854606954929384938492680100000000000000009004909116906064906113dc9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1689612029565b6113e69190612075565b6113f09190612029565b8254909150600090611424907801000000000000000000000000000000000000000000000000900463ffffffff1688612029565b835460685491925060009167ffffffffffffffff7001000000000000000000000000000000009092048216918491869161145f91168b612089565b6114699190612089565b6114739190612089565b61147d9190612029565b60655485549192506fffffffffffffffffffffffffffffffff908116916114a5911683612029565b6114af9190612075565b935493996fffffffffffffffffffffffffffffffff9094169850929650505050505050565b60008060006114e286611a49565b63ffffffff8082166000908152606760205260408120805493945092909161152791780100000000000000000000000000000000000000000000000090041688612029565b61153390610c74612089565b825490915060009061156390700100000000000000000000000000000000900467ffffffffffffffff1683612029565b63ffffffff808b16600090815260676020526040812080549394509290916115a89178010000000000000000000000000000000000000000000000009004168b612029565b8254909150600090700100000000000000000000000000000000900467ffffffffffffffff166115d88b84612089565b6115e29190612029565b60655487549192506000916fffffffffffffffffffffffffffffffff9182169161160d911687612029565b6116179190612075565b60655485549192506000916fffffffffffffffffffffffffffffffff91821691611642911685612029565b61164c9190612075565b9050600061165a8284612089565b9554959f6fffffffffffffffffffffffffffffffff9096169e50949c50505050505050505050505050565b63ffffffff808416600090815260676020526040812080549192839283916116ca91780100000000000000000000000000000000000000000000000090041687612029565b8254909150600090700100000000000000000000000000000000900467ffffffffffffffff166116fa8784612089565b6117049190612029565b60655484549192506fffffffffffffffffffffffffffffffff9081169161172c911683612029565b6117369190612075565b925492986fffffffffffffffffffffffffffffffff90931697509195505050505050565b60008080808061176c6175308961209c565b90508063ffffffff16606e148061178a57508063ffffffff1661279f145b8061179c57508063ffffffff16614eaf145b156117b6576117ac818888611377565b90955093506117fa565b8063ffffffff16606f14806117d257508063ffffffff16612794145b806117e457508063ffffffff16614ea4145b156117fa576117f48188886114d4565b90955093505b63ffffffff81166000908152606b602052604090205460ff16600281600281111561182757611827611c59565b03611841576118378289896114d4565b9096509450611876565b600181600281111561185557611855611c59565b0361186557611837828989611377565b611870828989611685565b90965094505b505060655460695494989397506fffffffffffffffffffffffffffffffff9081169650909316935090915050565b600054610100900460ff1661193b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610e0b565b610aff611b4b565b73ffffffffffffffffffffffffffffffffffffffff8216611990576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146119ea576040519150601f19603f3d011682016040523d82523d6000602084013e6119ef565b606091505b50509050806109c3576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610e0b565b600080611a586175308461209c565b90508063ffffffff16606f03611a715750606592915050565b8063ffffffff1661279403611a8a575061278992915050565b8063ffffffff16614ea403611aa35750614e9992915050565b600263ffffffff82166000908152606b602052604090205460ff166002811115611acf57611acf611c59565b14611b0e576040517ff42c33dc00000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610e0b565b6127108163ffffffff161015611b275750606592915050565b614e208163ffffffff161015611b4157506127b192915050565b50614e9992915050565b600054610100900460ff16611be2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610e0b565b610aff33611300565b803563ffffffff81168114611bff57600080fd5b919050565b600080600060608486031215611c1957600080fd5b611c2284611beb565b95602085013595506040909401359392505050565b600060208284031215611c4957600080fd5b611c5282611beb565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160038310611cc3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b80356fffffffffffffffffffffffffffffffff81168114611bff57600080fd5b600060208284031215611cfb57600080fd5b611c5282611cc9565b60008060208385031215611d1757600080fd5b823567ffffffffffffffff80821115611d2f57600080fd5b818501915085601f830112611d4357600080fd5b813581811115611d5257600080fd5b8660208260071b8501011115611d6757600080fd5b60209290920196919550909350505050565b803573ffffffffffffffffffffffffffffffffffffffff81168114611bff57600080fd5b60008060408385031215611db057600080fd5b611db983611d79565b915060208301358015158114611dce57600080fd5b809150509250929050565b60008060208385031215611dec57600080fd5b823567ffffffffffffffff80821115611e0457600080fd5b818501915085601f830112611e1857600080fd5b813581811115611e2757600080fd5b8660208260061b8501011115611d6757600080fd5b803561ffff81168114611bff57600080fd5b600080600060608486031215611e6357600080fd5b611c2284611e3c565b600060c08284031215611e7e57600080fd5b50919050565b600060208284031215611e9657600080fd5b611c5282611d79565b600060208284031215611eb157600080fd5b611c5282611e3c565b60008060408385031215611ecd57600080fd5b611ed683611d79565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b803567ffffffffffffffff81168114611bff57600080fd5b600060608284031215611f3d57600080fd5b6040516060810181811067ffffffffffffffff82111715611f87577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052611f9383611cc9565b8152611fa160208401611f13565b6020820152611fb260408401611beb565b60408201529392505050565b600060208284031215611fd057600080fd5b813560038110611c5257600080fd5b600060208284031215611ff157600080fd5b611c5282611f13565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761204057612040611ffa565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261208457612084612046565b500490565b8082018082111561204057612040611ffa565b600063ffffffff808416806120b3576120b3612046565b9216919091069291505056fea26469706673582212202368d77009043311184ccc44845e21050131e4a67e3465034cbef11db565817164736f6c634300081600330605581e03702213a32d8263b9cb4307d3a2267c190ec2142ed3974c19ffc185116007011920f505581e0335dd6d644fcc3e76f336d574fdd24f3e3775da0a753e8309de382d68a0040205581e03e22a292172224ecdbcf026f59c5acf43cb10b63b6820dfbbfce0e569a00c08472c7d724c84edcf05581e038177689569a59d161de3e62f9c3cab8aef459d85e689620ca758b21ae0040105581e03c6a9f7e393770f133f2e456bf65b9c1841c42fdb1cedfac14807602960040102199bbf03e0e1bdbc49ef3da959b34744b8ac1323a387e37e1ed69b0b82b76d166f99a39e03d36682ebf51e453037acd6651b5f63f025a9398b7ae0cd78ff4c3f395cd4735603fc4c1330f92412bc352239674af267441d953f791c899ad877285f055ba430e103dd2d426b43f0a85ec781dc56c9c539626cb7b227b7d73d4e7e6e7d94dd0a1c5a0341a303b7af43bc4970e275ab38aff69398ec87d585d8e1201b2df1842def46b503ce9bc95e984932805cc016eedee31a8326c6d57d3e72f7bf894b26eba245f0ca0312f9e547e54f31b7a274b313a559f863bc6eaf8c5b54cc3688176e369757dedc0332118a3e0631f80dfed5754ecc4c75f859a399ed94b3467aaa473d2b2bbec66c034b0e8a9586dd670d34b7a03c7e8ceca68d8df1d989b859216103776bb51e1c2d035073022aa53b921333f1bae5c0d3152453e2b194b56c5f0b6273e3263853b8db03fadbdded7dbe06aef739c2178e8e5ab793d761d00a85c6849ba629e935c81f6d0369fe6494c35a0b6701b9774f71e2bf1829aa5b04044e7cdfc55f0fc27888c06503424ceb82f3f951ae8cf16c29dee1e3d8f309530c843c6d89977360ad62bfb0ea03763dd1ab2cf8b81b01163c1c8b0d25af9baedd57a81d211344a4246d84e416900219ffff03d1d19f91574dda13cb17f328339030e387c82e44e32be0c5daaf9b45843f3a2d03c9465150a7b2fa56153a2c9008d5ffd32e294067f10e38503264b5a14b784f100219ffff03266e2aff1ac7664dfae4195a58f2586595b7a246a372e54169fd67ae2c2d7a9a03404176574e0e04106ddf527cf24fc61560c1bf96a78a9037c7436a7ac85bed2603b3cdfb2747a5c17cdd52e06fffa30d7383564a6901dbf22b0f6f386e5e6aed5803bb7e75a9cacdbbbd04c98af32d42a2b519cc94028b5c542f17d6146715421de703c86fd0cd52d4182d3ca87f9ce263829a2ab932ca4f45bb13b58a2cb1e9ac2fc303aee36a7422e96db5768d80cb9bd12e74aaec568cb91d15dcb24e9481039a13c80362d49cd8f117eccc8046395118efabf589980fcfeb3d984a78b06784398a500703c61eea5d6673d83a0211946bcc55ae81ac6f5133ebb59d476e941a35fa894e8003f9eea031b22ed76e5cb14bd0c120a887057c184e79f96bcd3d5057b34a6135e103892b7a0ff4e48621e8cbc73920bd6278dd5eb7efd9d82b0d70194f72938087380360952a4e0f87b587a0902c7a14d0ef0906ef046778476701c3bbd8ca46f8513d03a4bc57b47378def2b4087a1dade374b157ec06517aaaea7df400cdf1e0b57f0c03c1c8497d4378c9e2cf15dbae779d422a186671c7405beeebaffe46a5e543269f03eb2d4b9a7bef263c6f853a46465cc87a642f9508a3e28cf13454ab5991ed162d03348a9ca208ca7f904153e46ada31e19c30aec6a2ede5b6bba4d3724428e4480d03ab02334c3ef1c52edba458d9513fc8de5b8954498e6cba448958e4d61fa0057903cf2e7a140eead349a6e3b269211f659f2d9818afb0262eaa300195e8555fb49903c8cca2e7dd90d400abdd7152f2bdab627bcb015643039c0cb13363ab69877a7203b66dfce53a6611cda325566be04851ede8eb41461dae8cdaf9d2922e99f6941c03a3ce1ff5109a02aeca178848cf7e210edaf8c316ac1b8dba097350e21e81a62403b4064d7182499c78fa6c945224a579a38d7f5b7b4f2d29196f8c9e0c00bd0a7203db8b73f97d7cce6d3f3a96eaa91866da87e8bc4d05bda995286b3b84ec37c99403e15030761d1aaa3b5aba47e849d4408091b10d9aa7d278311e6c8ad2b4f5c297038a7bec8be59edcc1b0c5ea78c3778e279a5dc5fdb1dcfede11394a12fcd4c52403d6cc479e8a374c40f40c8f3df076d87b8a01816a488310ac83d5deac6413036503bdb04ee7a63a4bd4f4144b4fe42c7e1b4b80e728baa3f558c1d8f5990419391803b41560fafe8009773ce1633fb51329e366cafe6f47e5f9c6fe0d89644cc7a8dd031a1ced13a73f909754e8591c6965cddb6a791c39043bb2981eb4abde83a5195c0395d5e913db91e57e345bf0e0b76fa1b3ccc1b07fed72c449fda9486325a3a3e303fa2a103aad558d9b65b872e807e896425741a6ae0151f43ce306910eee078f1c03b4a9f22958e5cf181195bcd7a25d4996299388b93ec1ccdf9347d4faa1e6825103b516af9adf8d987764cd000e9475bcdc3051f3c4cdbae29f1782b0de09a3aa7f03c89d4f8bf5e24f976d125cf4274894c900657d248c6dee44c636bac55b83f2a405581d026a71cc744819df3e0d91adb37a730da63950384b3a7b97ed24f501550c18584702ba36afec8c00045958646080604052600436106102eb5760003560e01c8063764f6a7811610184578063a88835d7116100d6578063cbef2aa91161008a578063e5328e0611610064578063e5328e0614610a54578063f2fde38b14610a96578063fc0c546a14610ab6576102fa565b8063cbef2aa9146109c0578063cc32d176146109e2578063d621ad3f14610a1c576102fa565b8063bedb86fb116100bb578063bedb86fb1461096d578063c7c7f5b31461098d578063c859c483146109a0576102fa565b8063a88835d714610938578063b0d7ca5d14610958576102fa565b80638da5cb5b116101385780639f68b964116101125780639f68b964146108a6578063a7229fd9146108c2578063a85dc7f2146108e2576102fa565b80638da5cb5b1461081a5780639561b12f1461083857806396365d4414610858576102fa565b8063857749b011610169578063857749b0146107b157806388543f0e146107e55780638c70830b146107fa576102fa565b8063764f6a78146107705780637bde82f214610791576102fa565b80633b6f743b1161023d578063484267a4116101f15780635fcbd285116101cb5780635fcbd285146106df578063715018a6146107125780637260753714610727576102fa565b8063484267a41461065e5780635114bf091461067e5780635e280f1114610693576102fa565b8063434def5511610222578063434def55146105fd578063461bb0b91461061d57806347e7ef241461063d576102fa565b80633b6f743b146105bd5780633faa12c5146105dd576102fa565b8063192adc5d1161029f5780632bc5114c116102795780632bc5114c14610464578063341a46481461055a57806338da6b8e1461056d576102fa565b8063192adc5d146103e4578063200d2ed214610411578063203bd15f14610444576102fa565b806313bc4bc7116102d057806313bc4bc714610367578063156a0d0f1461038757806316909bca146103c8576102fa565b80630141e41b146103025780630d35b41514610338576102fa565b366102fa576102f8610aea565b005b6102f8610aea565b34801561030e57600080fd5b5061032261031d366004614707565b610b65565b60405161032f91906147e4565b60405180910390f35b34801561034457600080fd5b50610358610353366004614809565b610dd9565b60405161032f9392919061488e565b34801561037357600080fd5b506102f8610382366004614945565b6112df565b34801561039357600080fd5b50604080517f02e49c2c000000000000000000000000000000000000000000000000000000008152600060208201520161032f565b3480156103d457600080fd5b50600060405161032f919061495e565b3480156103f057600080fd5b506104046103ff3660046149ad565b611340565b60405161032f91906149ff565b34801561041d57600080fd5b5060025461043290600160a01b900460ff1681565b60405160ff909116815260200161032f565b34801561045057600080fd5b506102f861045f366004614a97565b611511565b34801561047057600080fd5b506104f96040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c0810182526002546001600160a01b03908116825260055481166020830152600754811692820192909252600654821660608201526003548216608082015260045490911660a082015290565b60405161032f9190600060c0820190506001600160a01b038084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525092915050565b6102f8610568366004614945565b611808565b34801561057957600080fd5b506105a4610588366004614b19565b60086020526000908152604090205467ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161032f565b3480156105c957600080fd5b506104046105d83660046149ad565b6118e2565b3480156105e957600080fd5b506102f86105f8366004614b34565b611b8f565b34801561060957600080fd5b506102f8610618366004614b71565b611c63565b34801561062957600080fd5b506102f8610638366004614bd4565b611ec9565b61065061064b366004614be6565b612077565b60405190815260200161032f565b34801561066a57600080fd5b50610650610679366004614c10565b61226a565b34801561068a57600080fd5b506106506123a5565b34801561069f57600080fd5b506106c77f0000000000000000000000001a44076050125825900e736c501f859c50fe728c81565b6040516001600160a01b03909116815260200161032f565b3480156106eb57600080fd5b507f000000000000000000000000fcb42a0e352a08abd50b8ee68d01f581b6dfd80a6106c7565b34801561071e57600080fd5b506102f86123b4565b34801561073357600080fd5b5061075b7f000000000000000000000000000000000000000000000000000000000000759581565b60405163ffffffff909116815260200161032f565b61078361077e366004614c2b565b6123c6565b60405161032f929190614cc9565b34801561079d57600080fd5b506106506107ac366004614ced565b6128bc565b3480156107bd57600080fd5b506104327f000000000000000000000000000000000000000000000000000000000000000681565b3480156107f157600080fd5b50600154610650565b34801561080657600080fd5b506102f8610815366004614945565b612ac5565b34801561082657600080fd5b506000546001600160a01b03166106c7565b34801561084457600080fd5b506102f8610853366004614d19565b612ad2565b34801561086457600080fd5b50600a547f000000000000000000000000000000000000000000000000000000e8d4a510006801000000000000000090910467ffffffffffffffff1602610650565b3480156108b257600080fd5b506040516001815260200161032f565b3480156108ce57600080fd5b506106506108dd366004614d8c565b612c27565b3480156108ee57600080fd5b50600a547f000000000000000000000000000000000000000000000000000000e8d4a5100070010000000000000000000000000000000090910467ffffffffffffffff1602610650565b34801561094457600080fd5b506102f8610953366004614dc8565b612d0d565b34801561096457600080fd5b506102f8612f2a565b34801561097957600080fd5b506102f8610988366004614e51565b612f9e565b61078361099b366004614c2b565b613059565b3480156109ac57600080fd5b506102f86109bb366004614e6e565b61308d565b6109d36109ce366004614c2b565b613188565b60405161032f93929190614e9a565b3480156109ee57600080fd5b506002546105a4907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b348015610a2857600080fd5b50610650610a37366004614ef5565b600960209081526000928352604080842090915290825290205481565b348015610a6057600080fd5b50610650600a5467ffffffffffffffff167f000000000000000000000000000000000000000000000000000000e8d4a510000290565b348015610aa257600080fd5b506102f8610ab1366004614c10565b61335d565b348015610ac257600080fd5b506106c77f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b03163314610b63576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b565b600254606090600160a01b900460ff16600114610bdd57600254600119600160a01b90910460ff1601610bab576040516376a9ad7360e01b815260040160405180910390fd5b6040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002805460ff60a01b1916600160a11b1790556003546001600160a01b0316338114610c1c57604051635bd25eff60e01b815260040160405180910390fd5b60008367ffffffffffffffff811115610c3757610c37614f18565b604051908082528060200260200182016040528015610c7c57816020015b6040805180820190915260008082526020820152815260200190600190039081610c555790505b5090506000805b85811015610d7e5736878783818110610c9e57610c9e614f47565b90506060020190506000610d08826020016020810190610cbe9190614f76565b610cce6060850160408601614f76565b60086000610cdf6020880188614b19565b63ffffffff1663ffffffff1681526020019081526020016000206134079092919063ffffffff16565b905067ffffffffffffffff811615610d74576040805180820190915280610d326020850185614b19565b63ffffffff16815267ffffffffffffffff83166020909101528585610d5681614fc2565b965081518110610d6857610d68614f47565b60200260200101819052505b5050600101610c83565b508082527fce105e156370093e6600169f7c01277f740d45fbcf95435227ce6f43ad0c3abd8783604051610db3929190614ffa565b60405180910390a1509150506002805460ff60a01b1916600160a01b1790559392505050565b60408051808201909152600080825260208201526060610e0c604051806040016040528060008152602001600081525090565b60408051808201909152807f000000000000000000000000000000000000000000000000000000e8d4a510008152602001610ea760086000886000016020810190610e579190614b19565b63ffffffff16815260208101919091526040016000205467ffffffffffffffff1667ffffffffffffffff167f000000000000000000000000000000000000000000000000000000e8d4a510000290565b81525092506000610ed48460200151866040013511610eca5785604001356134bd565b84602001516134bd565b90506000610f04610ee86020880188614b19565b83610eff610ef960c08b018b615019565b15919050565b6134fd565b600254604080517f81993cd000000000000000000000000000000000000000000000000000000000815283516001600160a01b039081166004830152602085015163ffffffff1660248301529184015167ffffffffffffffff9081166044830152606085015116606482015260808401511515608482015260a0840151151560a48201529293506000929116906381993cd09060c401602060405180830381865afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb919061507e565b90508267ffffffffffffffff168167ffffffffffffffff16146112625760408051600180825281830190925290816020015b60408051808201909152600081526060602082015281526020019060019003908161100d5790505094508267ffffffffffffffff168167ffffffffffffffff16101561112f5760405180604001604052806110a461109f8487611070919061509b565b67ffffffffffffffff167f000000000000000000000000000000000000000000000000000000e8d4a510000290565b613612565b6110ce907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6150bc565b81526020016040518060400160405280600c81526020017f70726f746f636f6c2066656500000000000000000000000000000000000000008152508152508560008151811061111f5761111f614f47565b6020026020010181905250611262565b8267ffffffffffffffff168167ffffffffffffffff161115611262576000611157848361509b565b905061116382826136c8565b909250905067ffffffffffffffff808516908316036111c25760408051600080825260208201909252906111ba565b6040805180820190915260008152606060208201528152602001906001900390816111925790505b509550611260565b604051806040016040528061120361109f8467ffffffffffffffff167f000000000000000000000000000000000000000000000000000000e8d4a510000290565b81526020016040518060400160405280600681526020017f72657761726400000000000000000000000000000000000000000000000000008152508152508660008151811061125457611254614f47565b60200260200101819052505b505b60405180604001604052806112a08567ffffffffffffffff167f000000000000000000000000000000000000000000000000000000e8d4a510000290565b81526020017f000000000000000000000000000000000000000000000000000000e8d4a5100067ffffffffffffffff8416029052959794965050505050565b6005546001600160a01b031633811461130b57604051635bd25eff60e01b815260040160405180910390fd5b611314826134bd565b600a60106101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050565b6040805180820190915260008082526020820152611364610ef960c0850185615019565b61139a576040517f2d9560be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113a984604001356134bd565b6006546040805160c081019091523381529192506001600160a01b031690633292cf02906020808201906113df90890189614b19565b63ffffffff1681526020888101359082015267ffffffffffffffff8516604082015260600161141160a0890189615019565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016114586080890189615019565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526114c991908790600401615177565b6040805180830381865afa1580156114e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115099190615225565b949350505050565b600254600160a01b900460ff1660011461155457600254600119600160a01b90910460ff1601610bab576040516376a9ad7360e01b815260040160405180910390fd5b6002805460ff60a01b1916600160a11b1790556006546001600160a01b031633811461159357604051635bd25eff60e01b815260040160405180910390fd5b67ffffffffffffffff84167f000000000000000000000000000000000000000000000000000000e8d4a5100002821580159060609061162c576116296115df60608c0160408d01614f76565b6115ec60208d018d614b19565b8589898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061371c92505050565b90505b6000611638898561374e565b9050801561174a576116498861375c565b82156116ee576040517f7cb590120000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000001a44076050125825900e736c501f859c50fe728c1690637cb59012906116bb908c908e906000908890600401615241565b600060405180830381600087803b1580156116d557600080fd5b505af11580156116e9573d6000803e3d6000fd5b505050505b6001600160a01b0389168a7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61172760208f018f614b19565b6040805163ffffffff9092168252602082018990520160405180910390a36117e8565b61175760208c018c614b19565b89858460405160200161176d9493929190615273565b60408051601f19818403018152918152815160209283012060008d8152600984528281208180528452918220557e7c17198cd078035dc663f9a0961f84cb6265411d0b4c793f96d432f6af4b55918c91906117ca908f018f614b19565b8c88876040516117df969594939291906152f1565b60405180910390a15b50506002805460ff60a01b1916600160a01b179055505050505050505050565b6007546001600160a01b031633811461183457604051635bd25eff60e01b815260040160405180910390fd5b61183d826137aa565b600061184933846137fb565b905080600260158282829054906101000a900467ffffffffffffffff166118709190615340565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fa064a2faa279f4d67c85c8fc69d4ebb7de2739a9e6dd864dfdd1b9e066d4bfd0816040516118d5919067ffffffffffffffff91909116815260200190565b60405180910390a1505050565b6040805180820190915260008082526020820152600061190584604001356134bd565b90508067ffffffffffffffff1660000361194b576040517f3442dd9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061195d610ef960c0870187615019565b90508015611acb576006546040805160c081019091523381526001600160a01b0390911690633292cf029060208082019061199a908a018a614b19565b63ffffffff1681526020898101359082015267ffffffffffffffff861660408201526060016119cc60a08a018a615019565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001611a1360808a018a615019565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b168152611a8491908890600401615177565b6040805180830381865afa158015611aa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac49190615225565b9250611b87565b600080611adb6080880188615019565b60065492109250506001600160a01b03166375d2208c611afe6020890189614b19565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815263ffffffff91909116600482015283151560248201526044016040805180830381865afa158015611b5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b839190615225565b9350505b505092915050565b611b97610aea565b7f000000000000000000000000000000000000000000000000000000000000759563ffffffff168263ffffffff1603611bfc576040517fada8342400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff8083166000908152600860205260409020611c1e91839061380616565b6040805163ffffffff8416815282151560208201527faf6b8dd4c5a827e03f548d06181b36aaba61e22436ff1cfa9bc409d576366a6091015b60405180910390a15050565b600254600160a01b900460ff16600114611ca657600254600119600160a01b90910460ff1601610bab576040516376a9ad7360e01b815260040160405180910390fd5b6002805460ff60a01b1916600160a11b1790556006546001600160a01b0316338114611ce557604051635bd25eff60e01b815260040160405180910390fd5b67ffffffffffffffff82167f000000000000000000000000000000000000000000000000000000e8d4a51000026000611d1e858361374e565b90508015611d8b57611d2f8461375c565b6001600160a01b038516877fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c611d6860208c018c614b19565b6040805163ffffffff9092168252602082018790520160405180910390a3611eac565b611d986020890189614b19565b60405160e09190911b7fffffffff00000000000000000000000000000000000000000000000000000000166020820152606086901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660248201526038810183905260580160408051601f19818403018152918152815160209283012060008a81526009845282812060ff8b168252845291909120557e7c17198cd078035dc663f9a0961f84cb6265411d0b4c793f96d432f6af4b559088908890611e60908c018c614b19565b6040805193845260ff909216602084015263ffffffff16908201526001600160a01b03871660608201526080810184905260c060a0820181905260009082015260e00160405180910390a15b50506002805460ff60a01b1916600160a01b179055505050505050565b611ed1610aea565b611ede6020820182614c10565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055611f1b6040820160208301614c10565b6005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055611f586060820160408301614c10565b6007805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055611f956080820160608301614c10565b6006805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055611fd260a0820160808301614c10565b6003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905561200f60c0820160a08301614c10565b6004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03929092169190911790556040517f9774229668135b546675daf425e41c0848f60aa32d0951881245f4f528cc33f09061206c908390615361565b60405180910390a150565b600254600090600160a01b900460ff166001146120bd57600254600119600160a01b90910460ff1601610bab576040516376a9ad7360e01b815260040160405180910390fd5b6002805460ff60a01b1916600160a11b1790556120d9826137aa565b60006120e533846137fb565b90506120f0816138d0565b7f000000000000000000000000000000000000000000000000000000e8d4a5100067ffffffffffffffff8216026040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018390529193507f000000000000000000000000fcb42a0e352a08abd50b8ee68d01f581b6dfd80a909116906340c10f1990604401600060405180830381600087803b1580156121a557600080fd5b505af11580156121b9573d6000803e3d6000fd5b5050600a80548493509091506000906121dd90849067ffffffffffffffff16615340565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550836001600160a01b0316336001600160a01b03167f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a78460405161224891815260200190565b60405180910390a3506002805460ff60a01b1916600160a01b17905592915050565b63ffffffff7f00000000000000000000000000000000000000000000000000000000000075951660009081526008602052604081205467ffffffffffffffff167f000000000000000000000000000000000000000000000000000000e8d4a51000026001600160a01b0383166122e25780915061239f565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526000917f000000000000000000000000fcb42a0e352a08abd50b8ee68d01f581b6dfd80a909116906370a0823190602401602060405180830381865afa158015612366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061238a91906153e0565b9050808211612399578161239b565b805b9250505b50919050565b60006123af613937565b905090565b6123bc610aea565b610b63600061398a565b6123ce6146a6565b6040805180820190915260008082526020820152600254600160a01b900460ff1660011461242557600254600119600160a01b90910460ff1601610bab576040516376a9ad7360e01b815260040160405180910390fd5b6002805460ff60a01b1916600160a11b179055612448610ef960c0870187615019565b61247e576040517f2d9560be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061248d86604001356134bd565b905060007f000000000000000000000000000000000000000000000000000000e8d4a5100067ffffffffffffffff8316026040517f79cc6790000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507f000000000000000000000000fcb42a0e352a08abd50b8ee68d01f581b6dfd80a6001600160a01b0316906379cc679090604401600060405180830381600087803b15801561254257600080fd5b505af1158015612556573d6000803e3d6000fd5b5050604051838152600092503391507f27d4634c833b7622a0acddbf7f746183625f105945e95c723ad1d5a9f2a0b6fc9060200160405180910390a360006125ac6125a460208a018a614b19565b8460016134fd565b905060006125c6826125c18b606001356134bd565b6139e7565b600a805491925085916000906125e790849067ffffffffffffffff1661509b565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061265081600860008c60000160208101906126289190614b19565b63ffffffff1663ffffffff168152602001908152602001600020613c4590919063ffffffff16565b8067ffffffffffffffff168467ffffffffffffffff16111561270f576000612678828661509b565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000007595811660009081526008602052604090209192506126be91908390613c4516565b80600a60088282829054906101000a900467ffffffffffffffff166126e3919061509b565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550506127ca565b8067ffffffffffffffff168467ffffffffffffffff1610156127ca576000612737858361509b565b63ffffffff7f00000000000000000000000000000000000000000000000000000000000075958116600090815260086020526040902091925061277d91908390613cd316565b80600a60088282829054906101000a900467ffffffffffffffff166127a29190615340565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b60006127e56127de368b90038b018b6153f9565b6000613d6d565b90506127f38a82848b613dea565b965060405180604001604052808581526020016128398467ffffffffffffffff167f000000000000000000000000000000000000000000000000000000e8d4a510000290565b9052875190965033907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a61287060208e018e614b19565b60208a8101516040805163ffffffff90941684529183018a90529082015260600160405180910390a350506002805460ff60a01b1916600160a01b179055509296919550909350505050565b600254600090600160a01b900460ff1660011461290257600254600119600160a01b90910460ff1601610bab576040516376a9ad7360e01b815260040160405180910390fd5b6002805460ff60a01b1916600160a11b1790556000612920846134bd565b63ffffffff7f00000000000000000000000000000000000000000000000000000000000075958116600090815260086020526040902091925061296691908390613c4516565b7f000000000000000000000000000000000000000000000000000000e8d4a5100067ffffffffffffffff8216026040517f79cc6790000000000000000000000000000000000000000000000000000000008152336004820152602481018290529092507f000000000000000000000000fcb42a0e352a08abd50b8ee68d01f581b6dfd80a6001600160a01b0316906379cc679090604401600060405180830381600087803b158015612a1757600080fd5b505af1158015612a2b573d6000803e3d6000fd5b5050600a8054849350909150600090612a4f90849067ffffffffffffffff1661509b565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550612a7f8383613f79565b612a888161375c565b6040518281526001600160a01b0384169033907f27d4634c833b7622a0acddbf7f746183625f105945e95c723ad1d5a9f2a0b6fc90602001612248565b612acd610aea565b600155565b600254600160a01b900460ff16600114612b1557600254600119600160a01b90910460ff1601610bab576040516376a9ad7360e01b815260040160405180910390fd5b6002805460ff60a01b1916600160a11b1790556003546001600160a01b0316338114612b5457604051635bd25eff60e01b815260040160405180910390fd5b60005b82811015612bd25736848483818110612b7257612b72614f47565b9050604002019050612bc9816020016020810190612b909190614f76565b60086000612ba16020860186614b19565b63ffffffff1663ffffffff168152602001908152602001600020613cd390919063ffffffff16565b50600101612b57565b507f10c5f2b007767d266c6c75c86ae9ed0c74e6320b30bda231af7396a990e7263c848484604051612c069392919061542b565b60405180910390a150506002805460ff60a01b1916600160a01b1790555050565b6007546000906001600160a01b0316338114612c5657604051635bd25eff60e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603612cf757600254600a54600091612cd8916110709167ffffffffffffffff750100000000000000000000000000000000000000000090910481169168010000000000000000900416615340565b612ce2904761549e565b9050808411612cf15783612cf3565b805b9350505b612d02858585613fc0565b91505b509392505050565b600254600160a01b900460ff16600114612d5057600254600119600160a01b90910460ff1601610bab576040516376a9ad7360e01b815260040160405180910390fd5b6002805460ff60a01b1916600160a11b179055604051612d7c90869086908690869086906020016154b1565b60408051601f19818403018152918152815160209283012060008a81526009845282812060ff8b16825290935291205414612de3576040517faba8b6ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600087815260096020908152604080832060ff8a168452909152812055612e0a8484613f79565b612e1b612e16846134bd565b61375c565b8015612ec2576040517f7cb590120000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000001a44076050125825900e736c501f859c50fe728c1690637cb5901290612e8f9087908b9060009088908890600401615523565b600060405180830381600087803b158015612ea957600080fd5b505af1158015612ebd573d6000803e3d6000fd5b505050505b6040805163ffffffff87168152602081018590526001600160a01b0386169189917fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c910160405180910390a350506002805460ff60a01b1916600160a01b1790555050505050565b6005546001600160a01b0316338114612f5657604051635bd25eff60e01b815260040160405180910390fd5b6000612f60613937565b9050612f6e338260006140ad565b6040518181527f19e23b96a5e0d494b59baca97d1fe386cf8e80a978dfd8845d25f1a9d5c7e18390602001611c57565b6005546001600160a01b0316338114612fca57604051635bd25eff60e01b815260040160405180910390fd5b600254600119600160a01b90910460ff1601612ff9576040516376a9ad7360e01b815260040160405180910390fd5b81613005576001613008565b60035b6002805460ff92909216600160a01b0260ff60a01b1990921691909117905560405182151581527f878ac8a2ca79520471f8f3c8494fa802c03ce3bf034252aad7f22318984fdbdb90602001611c57565b6130616146a6565b6040805180820190915260008082526020820152613080858585613188565b5090969095509350505050565b6007546001600160a01b03163381146130b957604051635bd25eff60e01b815260040160405180910390fd5b81600260158282829054906101000a900467ffffffffffffffff166130de919061509b565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506131408361313b8467ffffffffffffffff167f000000000000000000000000000000000000000000000000000000e8d4a510000290565b613f79565b604080516001600160a01b038516815267ffffffffffffffff841660208201527fa46907b6b80b882da80d6e36cc905dde57fafff0a5442c8898526fe952d1e65391016118d5565b6131906146a6565b6040805180820190915260008082526020820152604080518082019091526000815260606020820152600254600160a01b900460ff166001146131fc57600254600119600160a01b90910460ff1601610bab576040516376a9ad7360e01b815260040160405180910390fd5b6002805460ff60a01b1916600160a11b1790556000808061321c896140ee565b92509250925060405180604001604052806132608467ffffffffffffffff167f000000000000000000000000000000000000000000000000000000e8d4a510000290565b81526020017f000000000000000000000000000000000000000000000000000000e8d4a5100067ffffffffffffffff8416029052945060006132b16132aa368b90038b018b6153f9565b8751613d6d565b905083156132cc576132c58a82848b613dea565b96506132de565b6132d88a82848b614168565b90975094505b865133907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a61331060208e018e614b19565b89516020808c01516040805163ffffffff90951685529184019290925282015260600160405180910390a350506002805460ff60a01b1916600160a01b1790555092969195509350915050565b613365610aea565b6001600160a01b0381166133fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610b5a565b6134048161398a565b50565b825460009067ffffffffffffffff1667fffffffffffffffe198101613458576040517f5a5cc94600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8067ffffffffffffffff168367ffffffffffffffff161015612d055782810367ffffffffffffffff808216908616116134915784613493565b805b865467ffffffffffffffff8285031667ffffffffffffffff19909116178755925050509392505050565b60006134f77f000000000000000000000000000000000000000000000000000000e8d4a5100083816134f1576134f1615574565b04614364565b92915050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152600a5460009061355f9067ffffffffffffffff700100000000000000000000000000000000820481169116615340565b600a5490915060009067ffffffffffffffff6801000000000000000090910481169083161161358f5760006135b2565b600a546135b29068010000000000000000900467ffffffffffffffff168361509b565b6040805160c08101825233815263ffffffff8916602080830182905267ffffffffffffffff8a811684860152948516606084015260009182526008905291909120548216909114608082015284151560a0820152925050505b9392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211156136c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e743235360000000000000000000000000000000000000000000000006064820152608401610b5a565b5090565b600254600090819067ffffffffffffffff7501000000000000000000000000000000000000000000909104811690841681101561370d57838503810192509050613715565b848492509250505b9250929050565b60608484848460405160200161373594939291906155a3565b6040516020818303038152906040529050949350505050565b600061360b838360016143fe565b80600a60088282829054906101000a900467ffffffffffffffff16613781919061509b565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050565b34811415806137c457506137c0611070826134bd565b8114155b15613404576040517f3442dd9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061360b826134bd565b815467ffffffffffffffff1681156138785767ffffffffffffffff81161561385a576040517fca2bc39800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825467ffffffffffffffff191667ffffffffffffffff178355505050565b67ffffffffffffffff818116146138bb576040517fca2bc39800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825467ffffffffffffffff191683555b505050565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000759581166000908152600860205260409020613912918390613cd316565b80600a60088282829054906101000a900467ffffffffffffffff166137819190615340565b600254600a54600091613980916110709167ffffffffffffffff750100000000000000000000000000000000000000000090910481169168010000000000000000900416615340565b6123af904761549e565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600254604080517f43d9564d00000000000000000000000000000000000000000000000000000000815284516001600160a01b039081166004830152602086015163ffffffff1660248301529185015167ffffffffffffffff9081166044830152606086015116606482015260808501511515608482015260a0850151151560a482015260009291909116906343d9564d9060c4016020604051808303816000875af1158015613a9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613abf919061507e565b604084015190915067ffffffffffffffff8082169083161015613b4657613ae6828261509b565b60028054601590613b1b9084907501000000000000000000000000000000000000000000900467ffffffffffffffff16615340565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550613bdd565b8067ffffffffffffffff168267ffffffffffffffff161115613bdd576000613b6e828461509b565b9050613b7a83826136c8565b909350905067ffffffffffffffff811615613bdb5780600260158282829054906101000a900467ffffffffffffffff16613bb4919061509b565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b505b8267ffffffffffffffff168267ffffffffffffffff161080613c07575067ffffffffffffffff8216155b15613c3e576040517fa1e8654500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5092915050565b815467ffffffffffffffff1667fffffffffffffffe198101613c6657505050565b8167ffffffffffffffff168167ffffffffffffffff161015613cb4576040517f2b4d0ad500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825467ffffffffffffffff191691900367ffffffffffffffff16179055565b815467ffffffffffffffff1667fffffffffffffffe198101613cf457505050565b613cfe8282615340565b905067fffffffffffffffe1967ffffffffffffffff821601613d4c576040517f5a5cc94600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825467ffffffffffffffff191667ffffffffffffffff919091161790915550565b60408051808201909152600080825260208201528251600090613d91908490615621565b905080341015613dcd576040517f3442dd9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80341115613de257613ddf833461549e565b84525b509192915050565b613df26146a6565b602084015115613e0957613e098460200151614425565b60065484516040805160c081019091523381526001600160a01b039092169163ff6fb3009190602080820190613e41908b018b614b19565b63ffffffff16815260208a8101359082015267ffffffffffffffff88166040820152606001613e7360a08b018b615019565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001613eba60808b018b615019565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152613f2d919089908890600401615634565b60806040518083038185885af1158015613f4b573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190613f7091906156e4565b95945050505050565b6000613f87838360006143fe565b9050806138cb576040517f06a6167e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600254600090600160a01b900460ff1660011461400657600254600119600160a01b90910460ff1601610bab576040516376a9ad7360e01b815260040160405180910390fd5b6002805460ff60a01b1916600160a11b1790556007546001600160a01b031633811461404557604051635bd25eff60e01b815260040160405180910390fd5b6001600160a01b038516614085576040517f809fc44b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6140928585856000614498565b50506002805460ff60a01b1916600160a01b17905592915050565b6140b88383836143fe565b6138cb576040517f7c75c3d200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080614102610ef960c0860186615019565b92506141123385604001356137fb565b9150600061412d6141266020870187614b19565b84866134fd565b9050614140816125c187606001356134bd565b9150614157826008600061262860208a018a614b19565b614160826138d0565b509193909250565b6141706146a6565b6040805180820190915260008152606060208201526020850151156141c1576040517fb5e0bf8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006546040805160a081019091523381526001600160a01b03909116906385afd453906020808201906141f6908b018b614b19565b63ffffffff16815260208a8101359082015267ffffffffffffffff88166040820152606001600061422a60808c018c615019565b9190911190915250604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815282516001600160a01b03166004820152602083015163ffffffff166024820152908201516044820152606082015167ffffffffffffffff1660648201526080909101511515608482015260a4016000604051808303816000875af11580156142cb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526142f39190810190615700565b604082015151875192945090925090808214614359578181111561432757818103614320868260006143fe565b5050614359565b6040517fa028531600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505094509492505050565b600067ffffffffffffffff8211156136c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f34206269747300000000000000000000000000000000000000000000000000006064820152608401610b5a565b6000808261440c575a614410565b6001545b9050600080600080878986f195945050505050565b6004546001600160a01b031680614468576040517fb5e0bf8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61449481337f0000000000000000000000001a44076050125825900e736c501f859c50fe728c856144e0565b5050565b6144a4848484846144ec565b6144da576040517f7c75c3d200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b6144a484848484614519565b60006001600160a01b03851661450e576145078484846143fe565b9050611509565b613f708585856145cd565b6040516001600160a01b0380851660248301528316604482015260648101829052600090613f709086907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152614619565b6040516001600160a01b0383166024820152604481018290526000906115099085907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401614569565b6000806000846001600160a01b03168460405161463691906157f5565b6000604051808303816000865af19150503d8060008114614673576040519150601f19603f3d011682016040523d82523d6000602084013e614678565b606091505b509150915081614689576000613f70565b80511580613f70575080806020019051810190613f709190615811565b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016146e9604051806040016040528060008152602001600081525090565b905290565b803563ffffffff8116811461470257600080fd5b919050565b60008060006040848603121561471c57600080fd5b614725846146ee565b9250602084013567ffffffffffffffff8082111561474257600080fd5b818601915086601f83011261475657600080fd5b81358181111561476557600080fd5b87602060608302850101111561477a57600080fd5b6020830194508093505050509250925092565b60008151808452602080850194506020840160005b838110156147d9578151805163ffffffff16885283015167ffffffffffffffff1683880152604090960195908201906001016147a2565b509495945050505050565b60208152600061360b602083018461478d565b600060e0828403121561239f57600080fd5b60006020828403121561481b57600080fd5b813567ffffffffffffffff81111561483257600080fd5b611509848285016147f7565b60005b83811015614859578181015183820152602001614841565b50506000910152565b6000815180845261487a81602086016020860161483e565b601f01601f19169290920160200192915050565b8351815260208085015190820152600060a08201604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b83811015614927578887037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4001855281518051885283015183880187905261491487890182614862565b97505093820193908201906001016148ca565b50508751606088015250505060208501516080850152509050611509565b60006020828403121561495757600080fd5b5035919050565b6020810160028310614999577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b801515811461340457600080fd5b600080604083850312156149c057600080fd5b823567ffffffffffffffff8111156149d757600080fd5b6149e3858286016147f7565b92505060208301356149f48161499f565b809150509250929050565b8151815260208083015190820152604081016134f7565b60006060828403121561239f57600080fd5b80356001600160a01b038116811461470257600080fd5b67ffffffffffffffff8116811461340457600080fd5b60008083601f840112614a6757600080fd5b50813567ffffffffffffffff811115614a7f57600080fd5b60208301915083602082850101111561371557600080fd5b60008060008060008060e08789031215614ab057600080fd5b614aba8888614a16565b955060608701359450614acf60808801614a28565b935060a0870135614adf81614a3f565b925060c087013567ffffffffffffffff811115614afb57600080fd5b614b0789828a01614a55565b979a9699509497509295939492505050565b600060208284031215614b2b57600080fd5b61360b826146ee565b60008060408385031215614b4757600080fd5b614b50836146ee565b915060208301356149f48161499f565b803560ff8116811461470257600080fd5b600080600080600060e08688031215614b8957600080fd5b614b938787614a16565b945060608601359350614ba860808701614b60565b9250614bb660a08701614a28565b915060c0860135614bc681614a3f565b809150509295509295909350565b600060c0828403121561239f57600080fd5b60008060408385031215614bf957600080fd5b614c0283614a28565b946020939093013593505050565b600060208284031215614c2257600080fd5b61360b82614a28565b60008060008385036080811215614c4157600080fd5b843567ffffffffffffffff811115614c5857600080fd5b614c64878288016147f7565b9450506040601f1982011215614c7957600080fd5b50602084019150614c8c60608501614a28565b90509250925092565b8051825267ffffffffffffffff602082015116602083015260408101516138cb604084018280518252602090810151910152565b60c08101614cd78285614c95565b82516080830152602083015160a083015261360b565b60008060408385031215614d0057600080fd5b82359150614d1060208401614a28565b90509250929050565b600080600060408486031215614d2e57600080fd5b614d37846146ee565b9250602084013567ffffffffffffffff80821115614d5457600080fd5b818601915086601f830112614d6857600080fd5b813581811115614d7757600080fd5b8760208260061b850101111561477a57600080fd5b600080600060608486031215614da157600080fd5b614daa84614a28565b9250614db860208501614a28565b9150604084013590509250925092565b600080600080600080600060c0888a031215614de357600080fd5b87359650614df360208901614b60565b9550614e01604089016146ee565b9450614e0f60608901614a28565b93506080880135925060a088013567ffffffffffffffff811115614e3257600080fd5b614e3e8a828b01614a55565b989b979a50959850939692959293505050565b600060208284031215614e6357600080fd5b813561360b8161499f565b60008060408385031215614e8157600080fd5b614e8a83614a28565b915060208301356149f481614a3f565b614ea48185614c95565b82516080820152602083015160a082015260e060c082015268ffffffffffffffffff82511660e0820152600060208301516040610100840152614eeb610120840182614862565b9695505050505050565b60008060408385031215614f0857600080fd5b82359150614d1060208401614b60565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215614f8857600080fd5b813561360b81614a3f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614ff357614ff3614f93565b5060010190565b63ffffffff83168152604060208201526000611509604083018461478d565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261504e57600080fd5b83018035915067ffffffffffffffff82111561506957600080fd5b60200191503681900382131561371557600080fd5b60006020828403121561509057600080fd5b815161360b81614a3f565b67ffffffffffffffff828116828216039080821115613c3e57613c3e614f93565b808202600082127f8000000000000000000000000000000000000000000000000000000000000000841416156150f4576150f4614f93565b81810583148215176134f7576134f7614f93565b6001600160a01b03815116825263ffffffff60208201511660208301526040810151604083015267ffffffffffffffff60608201511660608301526000608082015160c0608085015261515e60c0850182614862565b905060a083015184820360a0860152613f708282614862565b60408152600061518a6040830185615108565b905082151560208301529392505050565b6040805190810167ffffffffffffffff811182821017156151be576151be614f18565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156151ed576151ed614f18565b604052919050565b60006040828403121561520757600080fd5b61520f61519b565b9050815181526020820151602082015292915050565b60006040828403121561523757600080fd5b61360b83836151f5565b6001600160a01b038516815283602082015261ffff83166040820152608060608201526000614eeb6080830184614862565b7fffffffff000000000000000000000000000000000000000000000000000000008560e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008460601b166004820152826018820152600082516152e181603885016020870161483e565b9190910160380195945050505050565b86815260ff8616602082015263ffffffff851660408201526001600160a01b038416606082015282608082015260c060a0820152600061533460c0830184614862565b98975050505050505050565b67ffffffffffffffff818116838216019080821115613c3e57613c3e614f93565b60c081016001600160a01b038061537785614a28565b1683528061538760208601614a28565b1660208401528061539a60408601614a28565b166040840152806153ad60608601614a28565b166060840152806153c060808601614a28565b166080840152806153d360a08601614a28565b1660a08401525092915050565b6000602082840312156153f257600080fd5b5051919050565b60006040828403121561540b57600080fd5b61541361519b565b82358152602083013560208201528091505092915050565b63ffffffff848116825260406020808401829052838201859052600092869160608601855b888110156154905783615462866146ee565b1682528285013561547281614a3f565b67ffffffffffffffff16828401529385019390850190600101615450565b509998505050505050505050565b818103818111156134f7576134f7614f93565b7fffffffff000000000000000000000000000000000000000000000000000000008660e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660048201528360188201528183603883013760009101603801908152949350505050565b6001600160a01b038616815284602082015261ffff8416604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c8201526000825161561181602c85016020870161483e565b91909101602c0195945050505050565b808201808211156134f7576134f7614f93565b6080815260006156476080830186615108565b9050615660602083018580518252602090810151910152565b6001600160a01b0383166060830152949350505050565b60006080828403121561568957600080fd5b6040516060810181811067ffffffffffffffff821117156156ac576156ac614f18565b80604052508091508251815260208301516156c681614a3f565b60208201526156d884604085016151f5565b60408201525092915050565b6000608082840312156156f657600080fd5b61360b8383615677565b60008060a0838503121561571357600080fd5b61571d8484615677565b9150608083015167ffffffffffffffff8082111561573a57600080fd5b908401906040828703121561574e57600080fd5b61575661519b565b825168ffffffffffffffffff8116811461576f57600080fd5b81526020838101518381111561578457600080fd5b80850194505087601f85011261579957600080fd5b8351838111156157ab576157ab614f18565b6157bd82601f19601f840116016151c4565b935080845288828287010111156157d357600080fd5b6157e28183860184880161483e565b5081019190915292959294509192505050565b6000825161580781846020870161483e565b9190910192915050565b60006020828403121561582357600080fd5b815161360b8161499f56fea264697066735822122034c515a780b8c95109deffe3c4c1eee8e5a7dbb06669b986a3fcd2ac7619aa3b64736f6c63430008160033033d03255c9bf88e0a1b8da26c5bc95daac1859e39d716e679910326ede666963700582103c4962cf596d3085b12cf443ffc974eb70830ffdd7354ea21e52c5cb8434671c048ffffffffffffffff005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635465bb797c2b9830d891d87288f029ed8dacc1970500582002f08e06f724f3ca900db27fcb3f6d2f66fa902fe30b3a92148906f4158e5dc54405b88d2202198200005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5818099b9f013e368b6c95c6fefb7a16dcc0d756389f3c658a0600582002525721f61573228df9b5bfe9ff7cc983d7771b6d86b7d7c882a78c950f4b724409c03c030219800103a26822dbecd0e9273d292ebd80eb09f13a25de32192abc6c0fa7d797d23a34bb0058210308c1f2e55cceca205486c7b1b57b9a8580cb601ff80aef54ca83ea2c222fa7f04403568f90005821031e3d0884e8fa7620f7d5b57803d8ce38393df25f91fb4052ae64e0df3968652058205e48d4266ccdd3d7b3d5b0fac665b60b039ee3ff74deb4430d4c6c2f52d9e6290355259eb92faa2253a7f911ae900d1690206a97d64139c4694fe6d35bbca6dffc03e5be592c3d7eec68a9d5cba2677d01bbb749a5be13e6d29da3c5e9673fb0ab7500582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b546b8ad17795d89b283e6d0362a87a403f3544bb9d005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84cfdccddc100000001c24c20850218440058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f546d6620efa72948c5f68a3c8646d58c00d3f4a98000582002bf7eca1f199e82b7a8a163c8f9419eaab835c94735bb3991d479df445ac00a4443ce8bcb0218c002199eb705581d02aca1ef7bc8e06b11a43dadc192e36c6bb4a633e94be511d8cf42a6f80f0249e6e35d94578084534f1958640219030003b3e93dd517d36e02051e482d5eab38378d91889e4407079c783d335b2119b9e605581e03b0890db9d0f9685d3a0798b8b6e3c9ddedd73ca6c15799ab4cae86c450040203d81d08013bda294fa9e8d1bfd2f3089d4f324457008d4600c65e8f4b8e3e3eb201410405581e036daa07a1be1d9bdfc1baf6ef401c37b17c2a5a88382111977480ca4d200c02450165a0bc000372a8d942114f03fe046e2d0a455e26de6cffb57c8543b4976811e8114ece9d44035d4d3d0ef5d841aa04093af44f1c80a131405e628039688bae1a533d81dc312c0371da6500f9d1c0d8869251c5f79b2b343e742c0f0f51068e039e2584a270d90a02192db80310c29316dc7e0c5f080a6fa5f11e766e57ba453a504818be65005b68746ecfed031cab566387494709113d5f5794fb4927f2d330e2f05f19aff493781b197ccd5003ac307f5173a6f6317c005628e5ff7bfc885d83ea807cdd3a2f602de1f83b231a0219ffff032146657fab7453c37ea3ca2fa3bc061e6c8af35033d2d30e8ba6391d4c98da030219ffff031618f57c9730f8e22973ceb911927dff4f4c1fa09c147fd96fdcb0de0c152b8f0219ffff03d8bd9e62c4feb2a423e9274002000e85ea02a8b11b079bff9f67db1dd326c20103c9bfacd73d292a21e5ff22489b7f87632dd002b255f1e11f3e7c45721fbc8dd00337965b091e3156403d2013819af103145032609db1afa44eb1b0ba42fc2b8c690219ffff03103c30a3f0e2c55153fab65fb6cf68c110a0f033dc2502dc04a5f8a13c031e74037d8afc3e32d8bcd209205d574e68db611865b7302f0921c3749277c0d54a282403d68ee093b0d506d3d2b95dbd224c7b058fe76ccecc7af0705fc773fba338fa1503810ffb89f341243adedf70ced52eeadd41eb7ccd3ea8455444d09547fdcc451f039526217d33f012b81a0e6f4f1a535083eeda90a6d3b6d286743b5fa6c36050bf03f786ca3a7fdc193acf6f85e8dbc041ed4ce9b7f2d68f725bc032b214174af098037bab16deb7a3c748f445559a943be5bbf0e2381800d8dfe3df3c9119f883271a030ca81fe318e92f17ab7ba1b20a099e75798ed1cc0d97d3c1ff3bf4e255ccd8170337e88448e8733fd4b49ac8fa93cdba94ede339aa161559d8b620ed7d94d2fff603a48944a79ecb7dc570b27a7337ee5b1956779e3fcac7864bf1ce340a47080840031b689b49645fcf31f67c6d2d9303afe0a8256ef902b8c50afb8be0b225f4f6c3034dd6f432fdc47d6189a4e796cc777cd371b815cb319b222f1f5971cdae733abf03e3a9ef0925b9c01afa3d3ca386828a748ca392067e76467bbb7f5fecfaf8ae3c0323671dbe777ec8c1d1b6db7ac6312a6ee84870d60726783d6cfb7b6e61e7ad9b03be64b63b85ae216b1092fde66b3d8045e76f7e2416270ddc8f9aa8d064a17bc7036417c582dc96948d75a728aed57353139f3c8b83274b2bb82d2e7bf79819915f034b06d28cb035dbad3be837aad74c84c181fe0a276d2502c9dd83caee1213a309039ab78f76bd4ada5e7b6e97b85791629bce862b4fc376f34c94728a94fcf2c4c103155ee3dd1ca659a4803d79d17fe1650bab5c698d8a8804fccc7f849aed9f8d4d0396c0cfed0aa19b6d426e1bbc43c6e153d3717eba2b06ab1422eb014248e458140317bb80af67f30601bb1f6d52b0a03147c523f89cd9d3998c9267bd610797e5250325bac5f373f7e8ea21faeb55683bec0063d5c11f7addfe2a2561e7b53fdc085d039762b939ae5c1124ec6f7803da6faa9f424531419d8f245f06aee35678cf12020370b0144c4f6df7955a6fccab29939e64c641df65e0c080276016e84e32bba541034146bff855b42804ad7677021761870c1c6ca3ef5815d694468b2e7f8549f243037070e4ca14ba996a013bfffe28203317454aeed03a9747a9e78ccadf6de502a503746511b749aed79bab55968475b8d2900bf31f0eb59656ad3c02e43aea040b1903457aefdd069e9e85718e61dde35bf06ce49bb327e0d4350a37571f0033b5e0f60330e051676799d9ccb292c7ad3b563c44f8412039bc73f1cacc3598a6a64976140363cbbb55be9980a7add476d5599f8b50afc170602ea2556a81a6b4ec67989a6d03d6e64e5a46422f3580aa98c8ab811187a8460c70ed2b77990780e532e2f4d14b0346d0d67158c1e3c47cd5460d776027032604ac3669b2a8188ca28bc16014f57503784493129cc1b030f7b3bc32d15e0df9e06a88fdf8d33acb1d255e15c285da6403f00eac5e4e72de73b4ae63853599fdd4e7c3743b17b039a5ab0f3a1a01e0c251037c31edfcbb5ab88d2df4585b2d20ad4fcba93f0000fbcaf2277e1b3bc3876e9703732f2a82fa0490a9334ec386c0a90c27995220ee16cbc76906253aa6ce5f84ae0388e8029856f3ca54d0fa291abfe889231118bb00d84b192ae4c1b358d8540b0f03db5f692ba158879fe091688a6bced4ff11e07f262fbc37592ffe16a75886bc550605581e03d52814f7c6ca71a8d5d6c880c37db0b75fa0ce6a50308f273c783f90e007011bffffffffffffffff05581e031be58620b33c1478d9d91465980edb41b6f2bbc4e671edbb0e7141f44004030394dd5f6348c34cb9ec13d4dad121109985c51aac33ef47aaf704a946bafc335e0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803c73872caa32311a439b182ed506f6870b9f23dfbfa81ddd01027999e500ed10205581e03832c01edf4eb1dbf06c61b3484d2e4ce4f94ebf4494639da2225dc2f4007011bffffffffffffffff05581e0382374274d1def88f69141a78c66142e1af1cf39e2fd41441c2df20b280040105581e03111396876a1f1190967fccb18c5017b2db1888a714223d1e2bfee046500c02466ade4a8d444005581e03f419550b55dbe1a9040cae750b883c262501188795dd8d8aa48ab726c0040203a8001fc8667400761960aff0b5aabcb3214f5d1cb12a3462946a292f3edd05ef031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e03149f3d640b22ca342b27bffcae78ea3d8740f81c5395c3d0f5deeec99007011bffffffffffffffff045945cd6080604052600436106101f5575f3560e01c80637a98660b1161011757806396115bc2116100ac578063c99d397f1161007c578063e37fec2511610062578063e37fec2514610549578063e87e73321461055d578063eeb728661461057c575f80fd5b8063c99d397f14610516578063e1f1176d14610535575f80fd5b806396115bc21461049a5780639be446bf146104b9578063a46efaf3146104d8578063b72d42a1146104f7575f80fd5b80638d4e4083116100e75780638d4e40831461043f57806391a66a2614610453578063946be3ed146104725780639588eca214610486575f80fd5b80637a98660b146103d95780638303bd8a146103f857806384f921cd1461040c5780638a9bf0901461042b575f80fd5b80633e3aa6c51161018d5780636170ff1b1161015d5780636170ff1b1461035d5780636d70f7ae1461037c578063775526411461039b57806377c7d7a9146103ba575f80fd5b80633e3aa6c5146102e8578063439fab91146103105780634bb278f31461032f57806354eccba414610343575f80fd5b806335befa5d116101c857806335befa5d146102805780633682a45014610294578063382d83e3146102b55780633d07b336146102c9575f80fd5b8063018cccdf146101f957806301a01590146102205780632c9dd5c01461024f57806333eeb1471461026e575b5f80fd5b348015610204575f80fd5b5061020d6105c7565b6040519081526020015b60405180910390f35b34801561022b575f80fd5b5061023f61023a366004613cc8565b61060b565b6040519015158152602001610217565b34801561025a575f80fd5b5061020d610269366004613d2b565b61061b565b348015610279575f80fd5b505f61023f565b34801561028b575f80fd5b5061020d61075a565b34801561029f575f80fd5b506102b36102ae366004613cc8565b61076c565b005b3480156102c0575f80fd5b5061020d61087b565b3480156102d4575f80fd5b506102b36102e3366004613d73565b61088d565b6102fb6102f6366004613d8a565b6109b5565b60408051928352602083019190915201610217565b34801561031b575f80fd5b506102b361032a366004613e17565b610ba2565b34801561033a575f80fd5b506102b3610dd4565b34801561034e575f80fd5b50670de0b6b3a764000061020d565b348015610368575f80fd5b5061020d610377366004613e56565b610eff565b348015610387575f80fd5b5061023f610396366004613cc8565b6111c4565b3480156103a6575f80fd5b506102b36103b5366004613eac565b6111fb565b3480156103c5575f80fd5b5061020d6103d4366004613d73565b611418565b3480156103e4575f80fd5b5061020d6103f3366004613e56565b611431565b348015610403575f80fd5b5061020d61153a565b348015610417575f80fd5b506102b3610426366004613cc8565b61155c565b348015610436575f80fd5b5061020d611565565b34801561044a575f80fd5b5061023f611587565b34801561045e575f80fd5b506102b361046d366004613cc8565b6115a9565b34801561047d575f80fd5b506102b36115b2565b348015610491575f80fd5b5061020d6115bc565b3480156104a5575f80fd5b506102b36104b4366004613cc8565b6115cb565b3480156104c4575f80fd5b5061020d6104d3366004613d73565b6116d2565b3480156104e3575f80fd5b5061020d6104f2366004613d73565b6116db565b348015610502575f80fd5b506102b3610511366004613ef9565b6116e4565b348015610521575f80fd5b506102b3610530366004613d73565b611889565b348015610540575f80fd5b5061020d611970565b348015610554575f80fd5b506102b3611992565b348015610568575f80fd5b506102b3610577366004613d73565b61199a565b348015610587575f80fd5b50604080518082018252601981527f537461726b576172655f537461726b6e65745f323032345f3800000000000000602082015290516102179190613f76565b5f6106066040518060400160405280602081526020017f535441524b4e45545f312e305f4d5347494e475f4c31544f4c325f4e4f4e4345815250611ac2565b905090565b5f61061582611b13565b92915050565b6040515f9081906106389086903390869088908290602001614006565b6040516020818303038152906040528051906020012090505f610659611b4c565b5f8381526020919091526040902054116106d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f494e56414c49445f4d4553534147455f544f5f434f4e53554d4500000000000060448201526064015b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16857f7a06c571aa77f34d9706c51e5d8122b5595aebeaa34233bfe866f22befb973b1868660405161071d92919061406d565b60405180910390a3600161072f611b4c565b5f8381526020019081526020015f205f82825461074c91906140b5565b909155509095945050505050565b5f610763611b6e565b60010154905090565b61077533611b13565b6107db576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f4e4c595f474f5645524e414e4345000000000000000000000000000000000060448201526064016106cb565b6107e4816111c4565b6108785760016107f2611bd5565b73ffffffffffffffffffffffffffffffffffffffff83165f818152602092835260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169415159490941790935591519182527f50a18c352ee1c02ffe058e15c2eb6e58be387c81e73cc1e17035286e54c19a5791015b60405180910390a15b50565b5f610884611b6e565b60020154905090565b610895611587565b156108fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f46494e414c495a4544000000000000000000000000000000000000000000000060448201526064016106cb565b61090533611b13565b61096b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f4e4c595f474f5645524e414e4345000000000000000000000000000000000060448201526064016106cb565b337f393c6beb5756a944b2967f15f31ff671e312e945d7a84fd3bdcfd6b408b2dc79610995611970565b60408051918252602082018590520160405180910390a261087881611bf7565b5f805f3411610a46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4c315f4d53475f4645455f4d5553545f42455f475245415445525f5448414e5f60448201527f300000000000000000000000000000000000000000000000000000000000000060648201526084016106cb565b670de0b6b3a7640000341115610ab8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d41585f4c315f4d53475f4645455f455843454544454400000000000000000060448201526064016106cb565b5f610ac16105c7565b9050610b0e6040518060400160405280602081526020017f535441524b4e45545f312e305f4d5347494e475f4c31544f4c325f4e4f4e4345815250826001610b0991906140c8565b611c15565b85873373ffffffffffffffffffffffffffffffffffffffff167fdb80dd488acf86d17c747445b0eabb5d57c541d3bd7b6b87af987858e5066b2b88888634604051610b5c94939291906140db565b60405180910390a45f610b728888888886611c47565b9050610b7f3460016140c8565b610b87611c87565b5f838152602091909152604090205597909650945050505050565b307f0000000000000000000000006e0acfdc3cf17a7f99ed34be56c3dfb93f464e2473ffffffffffffffffffffffffffffffffffffffff1603610c41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4449524543545f43414c4c5f444953414c4c4f5745440000000000000000000060448201526064016106cb565b5f610c4d816020614101565b90505f610c5b8260206140c8565b905080831015610cc7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e49545f444154415f544f4f5f534d414c4c0000000000000000000000000060448201526064016106cb565b5f610cd482848688614118565b810190610ce19190613cc8565b9050365f610cf18582888a614118565b91509150365f610d038887818c614118565b909250905073ffffffffffffffffffffffffffffffffffffffff851615610d3a57610d2f858383611ca9565b505050505050505050565b610d42611e9d565b15610db4578015610daf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f554e45585045435445445f494e49545f4441544100000000000000000000000060448201526064016106cb565b610d2f565b610dbe8282611ead565b610dc88282611fa2565b610d2f612008565b5050565b610ddd33611b13565b610e43576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f4e4c595f474f5645524e414e4345000000000000000000000000000000000060448201526064016106cb565b610e4b611587565b15610eb2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f46494e414c495a4544000000000000000000000000000000000000000000000060448201526064016106cb565b610ed5604051806060016040528060318152602001614567603191396001611c15565b6040517f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b17681905f90a1565b5f84863373ffffffffffffffffffffffffffffffffffffffff167f8abd2ec2e0a10c82f5b60ea00455fa96c41fd144f225fcc52b8d83d94f803ed8878787604051610f4c9392919061413f565b60405180910390a45f610f628787878787611c47565b90505f610f6d611c87565b5f83815260209190915260408120549150819003610fe7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e4f5f4d4553534147455f544f5f43414e43454c00000000000000000000000060448201526064016106cb565b5f610ff06120e5565b5f84815260209190915260408120549150819003611090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f4d4553534147455f43414e43454c4c4154494f4e5f4e4f545f5245515545535460448201527f454400000000000000000000000000000000000000000000000000000000000060648201526084016106cb565b5f61109961153a565b6110a390836140c8565b90508181101561110f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f43414e43454c5f414c4c4f5745445f54494d455f4f564552464c4f570000000060448201526064016106cb565b8042101561119e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4d4553534147455f43414e43454c4c4154494f4e5f4e4f545f414c4c4f57454460448201527f5f5945540000000000000000000000000000000000000000000000000000000060648201526084016106cb565b5f6111a7611c87565b5f8681526020919091526040902055509198975050505050505050565b5f6111cd611bd5565b73ffffffffffffffffffffffffffffffffffffffff9092165f90815260209290925250604090205460ff1690565b611204336111c4565b61126a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4f50455241544f520000000000000000000000000000000000000060448201526064016106cb565b5f611273611b6e565b600101549050600684116112e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f535441524b4e45545f4f55545055545f544f4f5f53484f52540000000000000060448201526064016106cb565b848460058181106112f6576112f6614162565b905060200201355f14611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f554e45585045435445445f4b5a475f44415f464c41470000000000000000000060448201526064016106cb565b5f6113858686604051806040016040528088815260200187815250612107565b905061139286868361219a565b61139d82600161418f565b6113a5611b6e565b6001015414611410576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f494e56414c49445f46494e414c5f424c4f434b5f4e554d42455200000000000060448201526064016106cb565b505050505050565b5f611421611c87565b5f92835260205250604090205490565b5f84863373ffffffffffffffffffffffffffffffffffffffff167f2e00dccd686fd6823ec7dc3e125582aa82881b6ff5f6b5a73856e1ea8338a3be87878760405161147e9392919061413f565b60405180910390a45f6114948787878787611c47565b90505f61149f611c87565b5f8381526020919091526040902054905080611517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e4f5f4d4553534147455f544f5f43414e43454c00000000000000000000000060448201526064016106cb565b426115206120e5565b5f8481526020919091526040902055509695505050505050565b5f6106066040518060600160405280602d81526020016144d0602d9139611ac2565b610878816124c2565b5f6106066040518060600160405280602381526020016144ad60239139611ac2565b5f61060660405180606001604052806031815260200161456760319139611ac2565b610878816126ab565b6115ba612909565b565b5f6115c5611b6e565b54919050565b6115d433611b13565b61163a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f4e4c595f474f5645524e414e4345000000000000000000000000000000000060448201526064016106cb565b611643816111c4565b15610878575f611651611bd5565b73ffffffffffffffffffffffffffffffffffffffff83165f818152602092835260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169415159490941790935591519182527fec5f6c3a91a1efb1f9a308bb33c6e9e66bf9090fad0732f127dfdbf516d0625d910161086f565b5f6114216120e5565b5f611421611b4c565b6116ed336111c4565b611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4f4e4c595f4f50455241544f520000000000000000000000000000000000000060448201526064016106cb565b5f61175c611b6e565b60010154905061176e600560066140c8565b84116117d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f535441524b4e45545f4f55545055545f544f4f5f53484f52540000000000000060448201526064016106cb565b848460058181106117e9576117e9614162565b90506020020135600114611859576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f554e45585045435445445f4b5a475f44415f464c41470000000000000000000060448201526064016106cb565b61187e61186985600681896141b6565b611877916005915f916141b6565b85856129cc565b5f6113858686613043565b611891611587565b156118f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f46494e414c495a4544000000000000000000000000000000000000000000000060448201526064016106cb565b61190133611b13565b611967576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f4e4c595f474f5645524e414e4345000000000000000000000000000000000060448201526064016106cb565b61087881613075565b5f6106066040518060600160405280602181526020016144fd60219139611ac2565b6115ba613097565b6119a2611587565b15611a09576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f46494e414c495a4544000000000000000000000000000000000000000000000060448201526064016106cb565b611a1233611b13565b611a78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f4e4c595f474f5645524e414e4345000000000000000000000000000000000060448201526064016106cb565b337f600a61c1b32ac42fb2fe76e8fc7582a98106668fc16dcd85567cd3937363e49b611aa2611565565b60408051918252602082018590520160405180910390a261087881613187565b5f8082604051602001611ad591906141e1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120549392505050565b5f80611b1d6131a9565b73ffffffffffffffffffffffffffffffffffffffff9093165f9081526020939093525050604090205460ff1690565b5f61060660405180606001604052806023815260200161451e602391396131f1565b5f8060405180606001604052806027815260200161448660279139604051602001611b9991906141e1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052805160209091012092915050565b5f61060660405180606001604052806028815260200161442e602891396131f1565b6108786040518060600160405280602181526020016144fd60219139825b5f82604051602001611c2791906141e1565b604051602081830303815290604052805190602001209050818155505050565b6040515f90611c6690339088908590899088908a9082906020016141fc565b60405160208183030381529060405280519060200120905095945050505050565b5f610606604051806060016040528060268152602001614541602691396131f1565b73ffffffffffffffffffffffffffffffffffffffff83163b611d27576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4549435f4e4f545f415f434f4e5452414354000000000000000000000000000060448201526064016106cb565b5f808473ffffffffffffffffffffffffffffffffffffffff1663439fab9160e01b8585604051602401611d5b929190614233565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051611de491906141e1565b5f60405180830381855af49150503d805f8114611e1c576040519150601f19603f3d011682016040523d82523d5f602084013e611e21565b606091505b5091509150818190611e60576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cb9190613f76565b508051819015611410576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cb9190613f76565b5f611ea6611565565b1515919050565b60c08114611f17576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f494c4c4547414c5f494e49545f444154415f53495a450000000000000000000060448201526064016106cb565b5f611f256020828486614118565b810190611f329190613d73565b9050805f03611f9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f4241445f494e495449414c495a4154494f4e000000000000000000000000000060448201526064016106cb565b505050565b5f808080611fb28587018761427f565b9350935093509350611fc384613187565b611fcc83613241565b611ff381611fd8611b6e565b90805182556020810151600183015560400151600290910155565b611ffc82611bf7565b61141062069780613075565b5f6120116131a9565b600181015490915074010000000000000000000000000000000000000000900460ff161561209b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f414c52454144595f494e495449414c495a45440000000000000000000000000060448201526064016106cb565b6001810180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905561087833613263565b5f610606604051806060016040528060308152602001614456603091396131f1565b5f82816121148683613043565b90505f8183865f015187602001518661212d91906140c8565b6040805160208101959095528401929092526060830152608082015260a001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528051602090910120905061218f8160016140c8565b979650505050505050565b6121a2611970565b838360048181106121b5576121b5614162565b9050602002013514612223576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f494e56414c49445f434f4e4649475f484153480000000000000000000000000060448201526064016106cb565b5f61222c611565565b604080516020810192909252810183905260600160405160208183030381529060405280519060200120905061226061335b565b73ffffffffffffffffffffffffffffffffffffffff16636a938567826040518263ffffffff1660e01b815260040161229a91815260200190565b602060405180830381865afa1580156122b5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122d99190614353565b61233f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e4f5f53544154455f5452414e534954494f4e5f50524f4f460000000000000060448201526064016106cb565b6040518281527f9866f8ddfe70bb512b2f2b28b49d4017c43f7ba775f1a20c61c13eea8cdac1119060200160405180910390a1612386848461237f611b6e565b919061337d565b5f6123a98585600581811061239d5761239d614162565b905060200201356134d4565b90506123c960016123bc8684818a6141b6565b6123c4611b4c565b6134f1565b6123d390826140c8565b90506123ed5f6123e58684818a6141b6565b6123c4611c87565b6123f790826140c8565b9050838114612462576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f535441524b4e45545f4f55545055545f544f4f5f4c4f4e47000000000000000060448201526064016106cb565b5f61246b611b6e565b805460018201546002830154604080519384526020840192909252908201529091507fd342ddf7a308dec111745b00315c14b7efb2bdae570a6856e088ed0c65a3576c9060600160405180910390a1505050505050565b6124cb33611b13565b612531576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f4e4c595f474f5645524e414e4345000000000000000000000000000000000060448201526064016106cb565b73ffffffffffffffffffffffffffffffffffffffff811633036125b0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f474f5645524e4f525f53454c465f52454d4f564500000000000000000000000060448201526064016106cb565b5f6125b96131a9565b90506125c482611b13565b61262a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4e4f545f474f5645524e4f52000000000000000000000000000000000000000060448201526064016106cb565b73ffffffffffffffffffffffffffffffffffffffff82165f818152602083815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905590519182527fd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a2959991015b60405180910390a15050565b6126b433611b13565b61271a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f4e4c595f474f5645524e414e4345000000000000000000000000000000000060448201526064016106cb565b5f6127236131a9565b905073ffffffffffffffffffffffffffffffffffffffff82166127a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f4241445f4144445245535300000000000000000000000000000000000000000060448201526064016106cb565b6127ab82611b13565b15612812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f414c52454144595f474f5645524e4f520000000000000000000000000000000060448201526064016106cb565b600181015473ffffffffffffffffffffffffffffffffffffffff1615612894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4f544845525f43414e4449444154455f50454e44494e4700000000000000000060448201526064016106cb565b6001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f6166272c8d3f5f579082f2827532732f97195007983bb5b83ac12c56700b01a69060200161269f565b5f6129126131a9565b600181015490915073ffffffffffffffffffffffffffffffffffffffff163314612998576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4f4e4c595f43414e4449444154455f474f5645524e4f5200000000000000000060448201526064016106cb565b6129a133613263565b60010180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60058314612a36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f494e56414c49445f4b5a475f5345474d454e545f53495a45000000000000000060448201526064016106cb565b60308114612aa0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f494e56414c49445f4b5a475f50524f4f465f53495a450000000000000000000060448201526064016106cb565b5f8049907fff000000000000000000000000000000000000000000000000000000000000009082901a60f81b167f010000000000000000000000000000000000000000000000000000000000000014612b55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f554e45585045435445445f424c4f425f484153485f56455253494f4e0000000060448201526064016106cb565b60605f8087875f818110612b6b57612b6b614162565b9050602002013590505f88886001818110612b8857612b88614162565b9050602002013590505f89896003818110612ba557612ba5614162565b9050602002013590505f8a8a6004818110612bc257612bc2614162565b90506020020135905077ffffffffffffffffffffffffffffffffffffffffffffffff8016841115612c4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f494e56414c49445f4b5a475f434f4d4d49544d454e540000000000000000000060448201526064016106cb565b77ffffffffffffffffffffffffffffffffffffffffffffffff831115612cd1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f494e56414c49445f4b5a475f434f4d4d49544d454e540000000000000000000060448201526064016106cb565b6fffffffffffffffffffffffffffffffff821115612d4b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f494e56414c49445f595f56414c5545000000000000000000000000000000000060448201526064016106cb565b6fffffffffffffffffffffffffffffffff811115612dc5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f494e56414c49445f595f56414c5545000000000000000000000000000000000060448201526064016106cb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000085831b8116602083015286831b1660388201528151808203603001815260509091019091529550612e1f82608083901b6140c8565b5f1b9450505050505f87876002818110612e3b57612e3b614162565b905060200201355f1b90505f80600a73ffffffffffffffffffffffffffffffffffffffff16868486888c8c604051602001612e7b96959493929190614372565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052612eb3916141e1565b5f60405180830381855afa9150503d805f8114612eeb576040519150601f19603f3d011682016040523d82523d5f602084013e612ef0565b606091505b509150915081612f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f504f494e545f4556414c554154494f4e5f505245434f4d50494c455f43414c4c60448201527f5f4641494c45440000000000000000000000000000000000000000000000000060648201526084016106cb565b805160208201207fb2157d3a40131b14c4c675335465dffde802f0ce5218ad012284d7f275d1b37c14613037576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f554e45585045435445445f504f494e545f4556414c554154494f4e5f5052454360448201527f4f4d50494c455f4f55545055540000000000000000000000000000000000000060648201526084016106cb565b50505050505050505050565b5f82826040516020016130579291906143b3565b60405160208183030381529060405280519060200120905092915050565b6108786040518060600160405280602d81526020016144d0602d913982611c15565b6130a033611b13565b613106576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4f4e4c595f474f5645524e414e4345000000000000000000000000000000000060448201526064016106cb565b5f61310f6131a9565b600181015490915073ffffffffffffffffffffffffffffffffffffffff1615610878576001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556040517f7a8dc7dd7fffb43c4807438fa62729225156941e641fd877938f4edade3429f5905f90a150565b6108786040518060600160405280602381526020016144ad6023913982611c15565b5f806040518060400160405280601c81526020017f535441524b4e45545f312e305f474f5645524e414e43455f494e464f00000000815250604051602001611b9991906141e1565b5f808260405160200161320491906141e1565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101209392505050565b61087860405180606001604052806022815260200161440c6022913982613bb7565b61326c81611b13565b156132d3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f414c52454144595f474f5645524e4f520000000000000000000000000000000060448201526064016106cb565b5f6132dc6131a9565b73ffffffffffffffffffffffffffffffffffffffff83165f818152602083815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905590519182529192507fcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d2910161269f565b5f61060660405180606001604052806022815260200161440c60229139611ac2565b6001836001015f828254613391919061418f565b909155508290508160028181106133aa576133aa614162565b9050602002013583600101541461341d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f494e56414c49445f424c4f434b5f4e554d42455200000000000000000000000060448201526064016106cb565b8181600381811061343057613430614162565b6020029190910135600285015550365f61344a8484613c48565b915091506134588282613c71565b8554146134c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e56414c49445f50524556494f55535f524f4f54000000000000000000000060448201526064016106cb565b6134cb8282613c93565b90945550505050565b5f816001146134e3575f6134e6565b60055b6106159060066140c8565b5f8084845f81811061350557613505614162565b9050602002013590506340000000811061357b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f494e56414c49445f4d4553534147455f5345474d454e545f53495a450000000060448201526064016106cb565b60015f61358883836140c8565b90505f8861359757600461359a565b60025b90505f5b82841015613a89575f6135b183866140c8565b905088811061361c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d4553534147455f544f4f5f53484f525400000000000000000000000000000060448201526064016106cb565b5f8a8a8381811061362f5761362f614162565b905060200201359050634000000081106136a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f494e56414c49445f5041594c4f41445f4c454e4754480000000000000000000060448201526064016106cb565b5f816136b28460016140c8565b6136bc91906140c8565b90508a811115613728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5452554e43415445445f4d4553534147455f5041594c4f41440000000000000060448201526064016106cb565b8c15613845575f8c8c89908492613741939291906141b6565b6040516020016137529291906143b3565b6040516020818303038152906040528051906020012090508c8c60018a61377991906140c8565b81811061378857613788614162565b9050602002013573ffffffffffffffffffffffffffffffffffffffff168d8d5f8b6137b391906140c8565b8181106137c2576137c2614162565b905060200201357f4264ac208b5fde633ccdd42e0f12c3d6d443a4f3779bbf886925b94665b63a228f8f60038d6137f991906140c8565b613805928892906141b6565b60405161381392919061406d565b60405180910390a35f81815260208c9052604081208054600192906138399084906140c8565b90915550613a7f915050565b5f8c8c89908492613858939291906141b6565b6040516020016138699291906143b3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291815281516020928301205f818152928e905291205490915080613914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f494e56414c49445f4d4553534147455f544f5f434f4e53554d4500000000000060448201526064016106cb565b61391f6001826140b5565b61392990876140c8565b5f92835260208d90526040832083905595508d90508c61394a60028b6140c8565b81811061395957613959614162565b9050602002013590505f8d8d60058b61397291906140c8565b61397e928692906141b6565b808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f8201169050808301925050505050505090508d8d60038b6139ce91906140c8565b8181106139dd576139dd614162565b905060200201358e8e60018c6139f391906140c8565b818110613a0257613a02614162565b905060200201358f8f5f8d613a1791906140c8565b818110613a2657613a26614162565b9050602002013573ffffffffffffffffffffffffffffffffffffffff167f9592d37825c744e33fa80c469683bbd04d336241bb600b574758efd182abe26a8486604051613a749291906143bf565b60405180910390a450505b955061359e915050565b828414613af2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f494e56414c49445f4d4553534147455f5345474d454e545f53495a450000000060448201526064016106cb565b8015613ba9576040515f90339083908381818185875af1925050503d805f8114613b37576040519150601f19603f3d011682016040523d82523d5f602084013e613b3c565b606091505b5050905080613ba7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c45440000000000000000000000000060448201526064016106cb565b505b509198975050505050505050565b5f613bc183611ac2565b73ffffffffffffffffffffffffffffffffffffffff1614613c3e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f414c52454144595f53455400000000000000000000000000000000000000000060448201526064016106cb565b610dd08282611c15565b365f838184613c588260026140c8565b92613c65939291906141b6565b915091505b9250929050565b5f82825f818110613c8457613c84614162565b90506020020135905092915050565b5f82826001818110613c8457613c84614162565b73ffffffffffffffffffffffffffffffffffffffff81168114610878575f80fd5b5f60208284031215613cd8575f80fd5b8135613ce381613ca7565b9392505050565b5f8083601f840112613cfa575f80fd5b50813567ffffffffffffffff811115613d11575f80fd5b6020830191508360208260051b8501011115613c6a575f80fd5b5f805f60408486031215613d3d575f80fd5b83359250602084013567ffffffffffffffff811115613d5a575f80fd5b613d6686828701613cea565b9497909650939450505050565b5f60208284031215613d83575f80fd5b5035919050565b5f805f8060608587031215613d9d575f80fd5b8435935060208501359250604085013567ffffffffffffffff811115613dc1575f80fd5b613dcd87828801613cea565b95989497509550505050565b5f8083601f840112613de9575f80fd5b50813567ffffffffffffffff811115613e00575f80fd5b602083019150836020828501011115613c6a575f80fd5b5f8060208385031215613e28575f80fd5b823567ffffffffffffffff811115613e3e575f80fd5b613e4a85828601613dd9565b90969095509350505050565b5f805f805f60808688031215613e6a575f80fd5b8535945060208601359350604086013567ffffffffffffffff811115613e8e575f80fd5b613e9a88828901613cea565b96999598509660600135949350505050565b5f805f8060608587031215613ebf575f80fd5b843567ffffffffffffffff811115613ed5575f80fd5b613ee187828801613cea565b90989097506020870135966040013595509350505050565b5f805f8060408587031215613f0c575f80fd5b843567ffffffffffffffff80821115613f23575f80fd5b613f2f88838901613cea565b90965094506020870135915080821115613f47575f80fd5b50613dcd87828801613dd9565b5f5b83811015613f6e578181015183820152602001613f56565b50505f910152565b602081525f8251806020840152613f94816040850160208701613f54565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b5f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115613ff3575f80fd5b8260051b80838637939093019392505050565b8581528460208201528360408201525f61218f606083018486613fc6565b8183525f7f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831115614054575f80fd5b8260051b80836020870137939093016020019392505050565b602081525f614080602083018486614024565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561061557610615614088565b8082018082111561061557610615614088565b606081525f6140ee606083018688614024565b6020830194909452506040015292915050565b808202811582820484141761061557610615614088565b5f8085851115614126575f80fd5b83861115614132575f80fd5b5050820193919092039150565b604081525f614152604083018587614024565b9050826020830152949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b8082018281125f8312801582168215821617156141ae576141ae614088565b505092915050565b5f80858511156141c4575f80fd5b838611156141d0575f80fd5b5050600583901b0193919092039150565b5f82516141f2818460208701613f54565b9190910192915050565b8781528660208201528560408201528460608201528360808201525f61422660a083018486613fc6565b9998505050505050505050565b60208152816020820152818360408301375f818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b5f805f8084860360c0811215614293575f80fd5b8535945060208601356142a581613ca7565b93506040860135925060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0820112156142dd575f80fd5b506040516060810181811067ffffffffffffffff82111715614326577f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b8060405250606086013581526080860135602082015260a086013560408201528091505092959194509250565b5f60208284031215614363575f80fd5b81518015158114613ce3575f80fd5b8681528560208201528460408201525f8451614395816060850160208901613f54565b8201838560608301375f930160600192835250909695505050505050565b5f614080828486613fc6565b604080825283519082018190525f906020906060840190828701845b828110156143f7578151845292840192908401906001016143db565b50505060209390930193909352509291505056fe535441524b4e45545f312e305f494e49545f56455249464945525f41444452455353535441524b4e45545f312e305f524f4c45535f4f50455241544f52535f4d415050494e475f544147535441524b4e45545f312e305f4d5347494e475f4c31544f4c325f43414e43454c4c4154494f4e5f4d41505050494e47535441524b4e45545f312e305f494e49545f535441524b4e45545f53544154455f535452554354535441524b4e45545f312e305f494e49545f50524f4752414d5f484153485f55494e54535441524b4e45545f312e305f4d5347494e475f4c31544f4c325f43414e43454c4c4154494f4e5f44454c4159535441524b4e45545f312e305f535441524b4e45545f434f4e4649475f48415348535441524b4e45545f312e305f4d5347494e475f4c32544f4c315f4d41505050494e47535441524b4e45545f312e305f4d5347494e475f4c31544f4c325f4d41505050494e475f5632535441524b574152455f434f4e5452414354535f474f564552454e45445f46494e414c495a41424c455f312e305f544147a26469706673582212206bc93e5069ac2a53ffdeae8ed589166e1c2e3cd6906050c9a2f101476009c8de64736f6c634300081800330058210396900f839d82ea76ebc3819a263e26e5a80d09447a224d6258e0c8132b715c004101005821038511c3456c2b402dbc0bd5ced200240cd06ef7b7f56e7a200b0745b1c25896f04612309ce5400102184405581d020df772385cd606917a13a4f8dd2ac633658b4e36695ea83e396bf0ef0f014612309ce540001945cd05581d022088919313d8321a01b6c08cf923dcde0b1bd87e4b4530437fded7760c014647d99eeff00005581d02fc03a7cfe0d9780e31e2824b687044f6561c103dee6c35c70cfb9a270c0746144862ee8680021940820219cccf03043d5e740e49dc4ae7155acbfd0c4d5acc1dec48a35c19fe491f5960e97336bc0372a53adda461a465325485e1db35104ced4990c3e1cee169656084d2953b733f037353a030a7e2d2b18ee6216d2a9febd224bff7bb71238bbc83b023f0bd0c42e203499aaa9032e837743a8d7bd22f81474a1b83d62a6986d16e84c95d28621f1ffd0219ffff0318e448ba93586b7924c021f66e34c83647ef706415ea75e4bd4e65210b9c5f4b0335aebb7178f7162976ea4c4c5b43f405952dd38fc2d05f77def7dbf81d6b94b403edaf7f464e2144f1b84cbeb5f97c3d683b69bbad88f629da33ef4ffd2311ed3f037a8a19b6b1e690924d999a1597c32ab17d86f8e9630641ff934a4ac5a1201e2903660b9d39496ba210fed81da16d011a3bd61dd18290a99a67927219a66d9129ea031fdc10f8d8e3275fdd00a95df32247d81f74cfe9684f822efc3fc611b3d2915d034b3eb286a4f3fcc31e9e8926d3cf8375b08650b435e5f03b73d48cad345a575303adfdd90461600394bb909bb83c0511df92aaf8f663dffc9400c645a98621cc0d036e59b6f90696cef77b8bcca342bf1d89536078cd103fac3731794e92a15809e8031410a9efe228cba7cf579333492cc537e72850b66f5188fa2321ddbf24cbcea00319d169ab82a1edbf45d2e6f785f316fbcef80bac13e1c10d2d27c5c46dc2368b03e85179c88bdad10812500c4d29c7804d571601754f1cd7cfdc8ec2b7d7e9cd360219ffff03069094434d4de7864d2a906556126b29c249bb92827c2d4ab6b75396ec088d5d03172a354fc102253d0c27779eeaf725e969121ee6e9e8bbc83e8f164a28c3eb41033ca5848876f49a7bf6e77cebcc2bd63a976882778fcaedad3375860604c3d6bc0320722e68b3b393015af0db64fb777e03fa0c189a0e9611e0930f66396f895b8b039543adeff7ce3c581f84a9d13c9829b6e52add8b9f5843afaa2fa3a6d94e06af035ec70e0aed5c74677c6a92a31094d13f51eab39bcc235b8df2e85b91271c7b9f0219ffff0308fa1ce655e4211f57df9a99c0b6b2e4c3c5d091629fb4c9133be64fbabec7670219ffff03c35b7ac643fb235a1bb2e25d65f2ac0732d12eaccd79ce75446314968c358f7603ca2756612ac7fb243a25d98ab5416fc4d135c2ec19444ff22a04e1af70d50d1e03f94aad110534daaeea1c3b6dbddc114a53ef0d45389c69e4c65ae3aae9dc79d00318fa63ade6258a085bc599a63a1e1a3838aa4f0c7bd63dbdbd54bc154574a2d9031cf25c55e09592c0c75471c35dd23b91bd744edb2cd693708c56b95ffe4e61e703c2cacfce3170306a66a8d849a2be49a9c76079c35db1a4699e1d5d84e638a7850365ab9bbb8db70261f6f506af16dbf80cc91f6c33df88c76af3f8b9ecb20e281503280a15f81d6e5984481d7fe732b74ccae5db02d56fa24f00f611f1aa3b351c4c0370846668ca0ff6024661a147cf26c8dd18db9e796304bbdc6551135c754798c0031631640b20c5b3aff3dc7d049d3e61c35b5c382acedb4efdd1e566b9223d0b8403da79d40f8f66e7f1033ffb76d42ee92dbb8a4d4a4624dec0ce524ab6cd12ce98030e0c023cc20626be289f85c9a956e1f2bb2a8693edb18b6ca9c95545e1bee6530397b3d697e30cfe21389d00aedc64e10ded94b7fa4026c6667400c02e04356cae036ab90c53c7bf940a98fbd77c5c08eaf5117da99484e9e882563258279e2fc08403b8521fbbb69837532e9d4bc95453b35cde8b80933f035b0ae849dfd10f4ce71d03470ba4979ac038c4b9f3215d0e9d54f057aa60e6ddb83483545e804d07a172da0312aca8473a7e928f124376936c106e16937d373c2c6a329a788d8cf42e2bd93303c4f05423d9827ae2517511b14ebb9811879ad30c75ed1fa3b624dcdbe305fb0b0337bacfc2dd92634ba8cee487a228315399ba1d6f17a4cda876477ead6158a85e038a52e9fe36f33084e8ed05af526204a15d1a2f38aeb59feeaf481cddd64d136903892b2a5c17a79b8079da5c19c4dbd89ab670e230ef0d0fff9e7e295d03ab55a20375cb34bb125b18fd9d241ffebc2a38ffaac3ae5834df393a3086863098e42b5f0368e8c1bee4de21148a487d467260261930ce2a0c5e4ec89243905a149db33f9a030609cdf9e5ab6bd47cc147c96f05634c350515a6c843f382199be01d902a774e0391defebc038e9111a26b39e4e1c487efbee8c2e831faa1f4679e7339e64deb8803f4ff9cb9b4e8a5b3113668c05ea9172527e319030b5051bf198468717ee25bcc038f5db4a469f277245f0ad6ff87b9aca788e9b4ab06f74fbcaca4acd0f28afcf503e3baa042ceef86d6da7b3bba5ff6dd0d473c789ed2e31753df9833200a3caf0003f9dfeed076198bbbef80acca348fe5b98b9b0dd54ea4770d3142067609889c6a0339121396960d22adc8aa932967fd724281c4bdc5b64a128badde551ebb9ea132035478d57e0edeadaa6820ce58a350e46b261f67b088d4f42ff284de5853c898050398e342f8c6bf0235d6f0bbc084c72b6421f41d1ca3658bb858be52fef6526ee003d86b0f9fd4a74beb6f0e2d6fc6ac0ef29d635239f46a7bfef9102a19fde6c3cd03ce3c123d4fd74f7c9ff6c602ccff3f35670085af850aa1fae64183b3f042f593036f7a1dddc251869dc7bf4e77a99361a971251f69d08e5d08e9cf6bd66685169303733a32c0e52586ed6de70f457646d6745fa3747b08b8d2914e94e8732d5ede5f0380a1002a68caaaf22f5ae523368e14cae04f051f1c145f953dc6f4ce3255bc7103a29114341bbe7b3c4b6108a8dec2f15d7cab2d676487656f874f64e017ae2e9f03463f28139140d03956be9b8b529382e4ed6ae49351989f54e0951720c843081703c3fe9b6e4ef2542f0c8540fc11b3f96e1affc1d95a4f4b7ccff5f3d6e2b5224c03f8b9f9b3313a62c93de70680e52d95d378b679aba83f1bd3fd8547904f6ed83403b14ab42d4d66629e3ed6163e45edde666e9df5fd026c2b96fac81f74ba5c985b03f370d918a334f1a6d1a9c187a44d435e0ac6a1c2f96001b79a4b6071ca82243403fc3d3a0c9a2306b56d62e884b2a6fb965fcdd0c6a29887c09922f08d660db9c50347c07ba07625f2f60f43109311aa41546364080039f51cda94d12fff8f50c7bf05581e0388b771621f4ae20dd0f722c95c0453d4a896db4ea786fbe9e5d20b0e500c0347035ca7f8f1d73105581e0355cd5261e88b7cb8a3a16d7436958c00ccf1d5c778b15e34a9f3b2cab004182a030ed350114abf96a7abb40ba8a570158711475c8b3de717bf14ebeb4a87b8de1703efb2b01b064bd8fc07d1cd278f1633a0d1aee45077ed1c2a8ce6081da9915807035b5521a6b7abb41e894229e497c4078d880b31f9319113fd450ba451564ad0e7034e9360ad256ab00db162aaa57a819a533503c52bc691fbee93b3837d193ce2e30377f40c5fcea4a1018102d3dca4d0f059a1d8baa7f0bd65fa81ba2ac3c92af2f801410405581e036ec5ba3d9fc08c71b26a8eeb0df973982fcb54ec2abe59313a05421ae0040d03e7537f29776f5bb159a4121b511e8439969a645f30c6d8b92eb1380d01f22ef60219ee4a0219ffff0219ffff03e90385516a62688e69de6db2001f52f53a2790715d92955cdb464cdbceb395d7034056f2839d6890d12f50841df5cbca6e26f41032716846cf9c1a3a3e1e407e7303d2006eabd71aaa13eba37e062d0ce79f274f0ac3329a6603fbaf2f312e882d01033ea8c0a240c94266f39bbf4eaf6e664ebea92692d59714b97fb6e6f9a2c0dbe903c377c07b96f1a0560cfaaa8358484db573d59fa5aa632ca05c55f145b3e5f13c03d8871a4103690cb3474520716cbe075ce817277efd3765b4752f3a495d72826a035614f11b6248ab6cc9728aeb394fbfb9a4b3fb1725c5f0bb7c27c8ab1aa2de6703838f0f61beb91cd56c9881178e88402760b4200137fcede63a0543cfae4f29de030fec90ef1831a7bd310d25d81cbcb96aba169292e807133a9387ddd914ff9f0d03be38e457cc75c8a5710ba85516c2670bc033b5c9a52ba54b60f117e26e7044f90219ffff030aae714fea1749b346ccb312148ba2175b7bb4cfa5caf33465c7bd0f8c300f3a0387ca8c21e411ea46ed403272792538e1cb988aa750870e8b1a8b611a0d6863f70312934128325ed1883ff84e37a73b967525ef80abd2b51a28484bb46074f94f8703596efca9ddeece9223b37c8a15b2473f9617b61861fd9468b2b2d0cdae97979f036bfd23f7a1ff44efb038e8f88d843c7723dd3108793ee6bdc578b0783685c5b203ce9094361ec46cd3e08fa83ab8f536484311f92c722e5fcfc8d49c1c5c9f614c032d925723494699377c716d051d7d69d3652ffc1e7fb468f1db62afac12cbdd9d032656c829d8a1867cf04119d37c73ec895f4939e1e275af83ea72f7dfcf997bb4038277b3c0d9539b4bb57f8f805c20b428b759d93040a2b0dabfc5b6d0010b5992037cb4506e5b5490a7fd89f931b9c8a21f2bd655533088954e4a0a953f9d2141ad03c7a7d70a666994d432f8a0adae0fcd9d96384485f8809afd7fcd614e7b20defd03b660c1c678c3a83f74197863335c898f9814e68da60af0117ddb5c828c456ead0328246a4d0da7f60e15169192ccbd67b641540cd4ade398e8de8828a7dc6b9c0403ad5b11c88c92db0924fb344fb14d19a68d5adbadab20f49af53e1ae7f8f0620e03557ec960b49c0890b61daf37b52cc2ad0c6f88cb47aba673530dbb03e064587c03f85483ccfc8f7baf56cf3254a21204a617f7e57825ff1f00209a764383e5f2a303536e96d9feda94ec8118d7abdb1e1986abcbe916d66b829b00a27e2145bdf52903c9a70b9eb1d5cd2bb76a36efc67275b5980864a37201ae3dc88655237bfcee500362618d682cc3fac7ba29e94e7d6943d5252345e00a78d2faf4dd2df1fb61c2b803c56db9c25ca86dd976de4d2ac3ca14db6b8281bc197cbb57d8e487330fc885060354bbade28616422c37385e189a28fba5409bee41180fa08089d58145e9f4d7c2034fa09534cf2aa209d4296ce3dde4a5cad1fb8f57d065bb697c5a3c08d811cd900315d100ec8206c03369e46d1142d3ec6fb46074826c3beb8c1c59b7ab2070991c0353c04f19ce3c9ab182a6182e9cfce5661a5decbc1bcc866dad75e327e6f8187203d01b9123c561963241dce48d429b1c4f55d18295578b8c9f018c8d612bbb87a305581e03f7de3df40b176dc18d781429aaffc6e141c8fb8b254bd3a1772671e6800c0247043b9f99e2896a03264c9e0ff37d87df9a6155c0e1551697e3d3674db6cfb3ef341df887bc6d75a903696bdd89d8801a173361a0c73a96198e7c43ff939323719910dd788f2693597303a3c129c46e2d202c54e56a79d15ae81a4748386551a86495a1bc6d6325f0bcc0033b89c27479ecffb8887c2b739e31b8723a3001b740bb2ffe7d26379e90be9a0404595a8860806040526004361061021e5760003560e01c80639871efa411610123578063d1b260d4116100ab578063f3dced3c1161006f578063f3dced3c1461061f578063f3e144b61461063f578063f6932b0d1461065f578063f851a4401461067f578063fa461e331461069f57600080fd5b8063d1b260d4146105a4578063d8837daf146105b7578063e0af3616146105ca578063e99bfa95146105ec578063f2fde38b146105ff57600080fd5b8063b07482d2116100f2578063b07482d214610528578063b3ab15fb1461053b578063b80c2f091461055b578063ca68d8f61461056e578063d13a35e61461058457600080fd5b80639871efa4146104ac5780639989d481146104bf5780639a09b285146104d25780639a307391146104f257600080fd5b80633ba7cadf116101a657806373679b6b1161017557806373679b6b146103f3578063779e45fc1461041b5780638575654f1461043b578063869c6b4b1461044e5780638da5cb5b1461048e57600080fd5b80633ba7cadf1461035257806341f4a9591461037e5780636aa476451461039e578063715018a6146103de57600080fd5b80630d5f0e3b116101ed5780630d5f0e3b146102e157806312a0ddc7146102f45780631afca626146103075780631bb943fd1461031d578063355b97181461033257600080fd5b806301617fab1461027557806303b87e5f1461028857806308298b5a146102ae5780630c00e013146102c157600080fd5b366102705732330361026e5760405162461bcd60e51b81526020600482015260146024820152731155120819195c1bdcda5d081c995a9958dd195960621b60448201526064015b60405180910390fd5b005b600080fd5b61026e610283366004614c00565b6106bf565b61029b610296366004614caa565b610a5c565b6040519081526020015b60405180910390f35b61029b6102bc366004614d76565b610b6d565b3480156102cd57600080fd5b5061026e6102dc366004614de8565b610c30565b61029b6102ef366004614e29565b610e5a565b61029b610302366004614e9c565b610eb4565b34801561031357600080fd5b5061029b60215481565b34801561032957600080fd5b5061026e610f01565b34801561033e57600080fd5b5061026e61034d366004614ef3565b610f35565b34801561035e57600080fd5b5061029b61036d366004614ef3565b602080526000908152604090205481565b34801561038a57600080fd5b5061026e610399366004614f0c565b610f49565b3480156103aa57600080fd5b506103c67370cbb871e8f30fc8ce23609e9e0ea87b6b222f5881565b6040516001600160a01b0390911681526020016102a5565b3480156103ea57600080fd5b5061026e611006565b3480156103ff57600080fd5b506103c6735703b683c7f928b721ca95da988d73a3299d475781565b34801561042757600080fd5b5061026e610436366004614f5d565b61101a565b61029b610449366004614e29565b6110d1565b34801561045a57600080fd5b5061047e610469366004614f92565b60046020526000908152604090205460ff1681565b60405190151581526020016102a5565b34801561049a57600080fd5b506000546001600160a01b03166103c6565b61029b6104ba366004614e29565b6111dd565b61029b6104cd366004614e9c565b611241565b3480156104de57600080fd5b5061026e6104ed366004614f92565b61132e565b3480156104fe57600080fd5b506103c661050d366004614f92565b601f602052600090815260409020546001600160a01b031681565b61029b610536366004615050565b6113d6565b34801561054757600080fd5b5061026e610556366004614f92565b6114e5565b61029b61056936600461507f565b611547565b34801561057a57600080fd5b5061029b61012c81565b34801561059057600080fd5b506003546103c6906001600160a01b031681565b61029b6105b236600461507f565b611611565b61029b6105c5366004614e29565b611784565b3480156105d657600080fd5b506103c66000805160206159f383398151915281565b61029b6105fa366004615135565b61187a565b34801561060b57600080fd5b5061026e61061a366004614f92565b611a9a565b34801561062b57600080fd5b506002546103c6906001600160a01b031681565b34801561064b57600080fd5b5061029b61065a366004615236565b611b10565b34801561066b57600080fd5b5061026e61067a366004614ef3565b611b5a565b34801561068b57600080fd5b506018546103c6906001600160a01b031681565b3480156106ab57600080fd5b5061026e6106ba3660046152c0565b611b6b565b600160ff1b81166001600160801b038216806107125760405162461bcd60e51b81526020600482015260126024820152710616d6f756e74206d757374206265203e20360741b6044820152606401610265565b81156108aa5760405163052f523360e11b81526000805160206159f383398151915260048201523360248201523060448201526001600160801b03821660648201527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690608401600060405180830381600087803b15801561078d57600080fd5b505af11580156107a1573d6000803e3d6000fd5b5050604051632e1a7d4d60e01b81526001600160801b03841660048201526000805160206159f38339815191529250632e1a7d4d9150602401600060405180830381600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b50506040516000925033915047908381818185875af1925050503d806000811461084e576040519150601f19603f3d011682016040523d82523d6000602084013e610853565b606091505b50509050806108a45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572206e617469766520746f6b656e206661696c6564000000006044820152606401610265565b50610988565b806001600160801b031634146108fb5760405162461bcd60e51b81526020600482015260166024820152751d985b1d59481b9bdd08195c5d585b08185b5bdd5b9d60521b6044820152606401610265565b6000805160206159f38339815191526001600160a01b031663d0e30db0826001600160801b03166040518263ffffffff1660e01b81526004016000604051808303818588803b15801561094d57600080fd5b505af1158015610961573d6000803e3d6000fd5b50505050506109886000805160206159f383398151915233836001600160801b0316611d53565b604051848152600080516020615a338339815191529060200160405180910390a1600080516020615a13833981519152826109d75773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6109e7565b6000805160206159f38339815191525b83610a00576000805160206159f3833981519152610a16565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5b604080516001600160a01b03938416815292909116602083015233908201526001600160801b03831660608201819052608082015260a00160405180910390a150505050565b6000876080013542811015610a835760405162461bcd60e51b815260040161026590615312565b610a8b611d83565b6040518b8152600080516020615a338339815191529060200160405180910390a16001600160a01b038a16610af05760405162461bcd60e51b815260206004820152600b60248201526a6e6f74206164647228302960a81b6044820152606401610265565b89610b44610b03368c90038c018c61533a565b8a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c92508b91508a9050893388611ddc565b9250610b5560408b01358b3561216a565b50610b5f60018055565b509998505050505050505050565b60405160a087901c8152600090600080516020615a338339815191529060200160405180910390a16001600160a01b038416610bd95760405162461bcd60e51b815260206004820152600b60248201526a6e6f74206164647228302960a81b6044820152606401610265565b610bf16001600160a01b03881687878686338a612390565b9050610c26866001600160a01b03891615610c0c578861216a565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61216a565b9695505050505050565b806000816001600160401b03811115610c4b57610c4b614faf565b604051908082528060200260200182016040528015610c74578160200160208202803683370190505b50905060005b82811015610e0e57601f6000868684818110610c9857610c986153c0565b9050602002810190610caa91906153d6565b610cbb906040810190602001614f92565b6001600160a01b039081168252602082019290925260400160002054163314801590610d2d5750848482818110610cf457610cf46153c0565b9050602002810190610d0691906153d6565b610d17906040810190602001614f92565b6001600160a01b0316336001600160a01b031614155b15610d4b5760405163203b1cdd60e21b815260040160405180910390fd5b6000610d81610d7c878785818110610d6557610d656153c0565b9050602002810190610d7791906153d6565b612b73565b612baf565b90506020600082815260200190815260200160002054838381518110610da957610da96153c0565b602002602001018181525050600160ff1b838381518110610dcc57610dcc6153c0565b602002602001015103610df2576040516311b18c4b60e11b815260040160405180910390fd5b60009081526020805260409020600160ff1b9055600101610c7a565b50336001600160a01b03167f2d978b051248279fa3127485450ca814a26b9b0938be9f714eda15eaec5ca881858584604051610e4c939291906154a0565b60405180910390a250505050565b60405160a086901c8152600090600080516020615a338339815191529060200160405180910390a16000610e9b336001600160a01b03891688888888612be2565b9092509050610eaa868261216a565b5095945050505050565b6000600080516020615a3383398151915284604051610ed591815260200190565b60405180910390a1610ef73380610ef1368790038701876155c4565b8561307b565b90505b9392505050565b610f096133f2565b6040517f0b3b40bc6027444e59029877c53be6734ca3724242753ffe5aa1a6066635211f90600090a132ff5b610f3d6133f2565b610f468161344c565b50565b610f516133f2565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610ff657600080836001600160a01b03168360405160006040518083038185875af1925050503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150818190610fee5760405162461bcd60e51b81526004016102659190615604565b505050505050565b611001838383611d53565b505050565b61100e6133f2565b61101860006134e4565b565b6018546001600160a01b031633148061103d57506000546001600160a01b031633145b61106e5760405162461bcd60e51b81526020600482015260026024820152616e6160f01b6044820152606401610265565b6001600160a01b038216600081815260046020908152604091829020805460ff19168515159081179091558251938452908301527fede97de789011d2becb9fba8441864c3b17f4a20f7ebf0a77e93f30adc30e207910160405180910390a15050565b3360009081526004602052604081205460ff1615156001146111055760405162461bcd60e51b815260040161026590615637565b60405160a087901c8152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa15801561116a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118e919061565e565b90925090506001600160a01b0381166111b95760405162461bcd60e51b815260040161026590615698565b6111d16001600160a01b038916888888888787612390565b98975050505050505050565b60405160a086901c8152600090600080516020615a338339815191529060200160405180910390a161121d6001600160a01b038716868686863333612390565b9050611238856001600160a01b03881615610c0c578761216a565b95945050505050565b3360009081526004602052604081205460ff1615156001146112755760405162461bcd60e51b815260040161026590615637565b61127d611d83565b604051848152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa1580156112de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611302919061565e565b9092509050611321828261131b368990038901896155c4565b8761307b565b92505050610efa60018055565b6018546001600160a01b031633148061135157506000546001600160a01b031633145b6113825760405162461bcd60e51b81526020600482015260026024820152616e6160f01b6044820152606401610265565b601880546001600160a01b0319166001600160a01b0383169081179091556040519081527f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c9060200160405180910390a150565b60006113e0611d83565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6114056060840160408501614f92565b6001600160a01b0316036114525760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21039b7bab931b2903a37b5b2b760611b6044820152606401610265565b6114626060830160408401614f92565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156114a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cc91906156c0565b83526114da3085858561307b565b9050610efa60018055565b336000818152601f602090815260409182902080546001600160a01b0319166001600160a01b03861690811790915591519182527fd58299b712891143e76310d5e664c4203c940a67db37cf856bdaa3c5c76a802c910160405180910390a250565b600087608001354281101561156e5760405162461bcd60e51b815260040161026590615312565b611576611d83565b6040518a8152600080516020615a338339815191529060200160405180910390a16115ea6115a9368b90038b018b61533a565b8989808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508b92508a9150899050883380611ddc565b91506115fb60408a01358a3561216a565b61160460018055565b5098975050505050505050565b60008760800135428110156116385760405162461bcd60e51b815260040161026590615312565b611640611d83565b3360009081526004602052604090205460ff1615156001146116745760405162461bcd60e51b815260040161026590615637565b6040518a8152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa1580156116d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f9919061565e565b90925090506001600160a01b0381166117245760405162461bcd60e51b815260040161026590615698565b611777611736368d90038d018d61533a565b8b8b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508d92508c91508b90508a8888611ddc565b9350505061160460018055565b3360009081526004602052604081205460ff1615156001146117b85760405162461bcd60e51b815260040161026590615637565b60405160a087901c8152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa15801561181d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611841919061565e565b90925090506001600160a01b03811661186c5760405162461bcd60e51b815260040161026590615698565b611604828289898989612be2565b60008860800135428110156118a15760405162461bcd60e51b815260040161026590615312565b6118a9611d83565b89356001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed19810161190f5760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21039b7bab931b2903a37b5b2b760611b6044820152606401610265565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197a91906156c0565b905060006040518060a001604052808e6000013581526020018e60200160208101906119a69190614f92565b6001600160a01b031681526020018381526020018e6060013581526020018e60800135815250905060008c8c90506001600160401b038111156119eb576119eb614faf565b604051908082528060200260200182016040528015611a14578160200160208202803683370190505b50905060005b8c811015611a7a578e60400135848f8f84818110611a3a57611a3a6153c0565b90506020020135611a4b91906156ef565b611a559190615706565b828281518110611a6757611a676153c0565b6020908102919091010152600101611a1a565b50611a8b82828d8d8d8d308e611ddc565b95505050505061160460018055565b611aa26133f2565b6001600160a01b038116611b075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610265565b610f46816134e4565b60405160a089901c8152600090600080516020615a338339815191529060200160405180910390a1611b43888484613534565b610b5f336001600160a01b038b1689898989612be2565b611b626133f2565b610f4681610f3d565b611baf565b3d6000803e3d6000fd5b80611b8757611b87611b70565b600160005114601f3d11163d151780611bab57633c9fd93960e21b60005260046000fd5b5050565b604051601581017306ff0b40e9091053eee51fa1d482ce5d852f523360611b825260206000600484335afa611be657611be6611b70565b6020806004808501335afa611bfd57611bfd611b70565b60206040600460088501335afa611c1657611c16611b70565b6000806000881360018114611c32576020519250879150611c3b565b60005192508891505b507fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000008452606060002083527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460208401526001600160a01b0360558520169250338314611cb357635960139160e11b60005260046000fd5b60843592507306ff0b40e9091053eee51fa1d482ce5d852f523360611b845230831460018114611d2557826014860152836034860152336054860152816074860152611d206020600060846010890160007370cbb871e8f30fc8ce23609e9e0ea87b6b222f585af1611b7a565b611d48565b336010860152816030860152611d48602060006044600c89016000885af1611b7a565b505050505050505050565b611d668363a9059cbb60e01b848461369a565b6110015760405163fb7f507960e01b815260040160405180910390fd5b600260015403611dd55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610265565b6002600155565b60408801516000908990611e3d5760405162461bcd60e51b815260206004820152602260248201527f526f7574653a2066726f6d546f6b656e416d6f756e74206d757374206265203e604482015261020360f41b6064820152608401610265565b805160208201516001600160a01b0391821691611e5b9116856136ed565b9250611e6681613778565b15611ed5576000805160206159f38339815191526001600160a01b031663d0e30db083604001516040518263ffffffff1660e01b81526004016000604051808303818588803b158015611eb857600080fd5b505af1158015611ecc573d6000803e3d6000fd5b50505050503094505b6000805b8b51811015611f11578b8181518110611ef457611ef46153c0565b602002602001015182611f079190615728565b9150600101611ed9565b508260400151811115611f845760405162461bcd60e51b815260206004820152603560248201527f526f7574653a206e756d626572206f6620626174636865732073686f756c64206044820152741899480f0f48199c9bdb551bdad95b905b5bdd5b9d605a1b6064820152608401610265565b508515611fd35760405162461bcd60e51b815260206004820152601b60248201527f74686520706172616d65746572206973206465707265636174656400000000006044820152606401610265565b895188146120155760405162461bcd60e51b815260206004820152600f60248201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b6044820152606401610265565b60005b888110156120865761207e868661203b86602001516001600160a01b0316613778565b8e858151811061204d5761204d6153c0565b60200260200101518e8e87818110612067576120676153c0565b9050602002810190612079919061573b565b61379a565b600101612018565b50612095826020015185613954565b602082015183906120af906001600160a01b0316866136ed565b6120b99190615784565b925081606001518310156121085760405162461bcd60e51b8152602060048201526016602482015275135a5b881c995d1d5c9b881b9bdd081c995858da195960521b6044820152606401610265565b60208083015160408085015181516001600160a01b038087168252909316938301939093523290820152606081019190915260808101849052600080516020615a138339815191529060a00160405180910390a1505098975050505050505050565b601f193601356561aefa81eaab60d11b6001600160d01b0319821601611001576001600160a01b03811665ffffffffffff60a083901c1661012c8111156121f35760405162461bcd60e51b815260206004820152601b60248201527f6572726f7220636f6d6d697373696f6e2072617465206c696d697400000000006044820152606401610265565b600061220182612710615784565b61220b83886156ef565b6122159190615706565b9050612229856001600160a01b0316613778565b156122d7576000836001600160a01b03168260405160006040518083038185875af1925050503d806000811461227b576040519150601f19603f3d011682016040523d82523d6000602084013e612280565b606091505b50509050806122d15760405162461bcd60e51b815260206004820152601b60248201527f636f6d6d697373696f6e2077697468206574686572206572726f7200000000006044820152606401610265565b50612347565b60405163052f523360e11b81527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690612314908890339088908790600401615797565b600060405180830381600087803b15801561232e57600080fd5b505af1158015612342573d6000803e3d6000fd5b505050505b604080518281526001600160a01b03851660208201527fffc60ee157a42f4d8edbd1897e6581a96d9ed04e44fb2ab53a47ce1eb8f2775b910160405180910390a1505050505050565b60006125dc565b62461bcd60e51b600052600160e51b6020528060405250806000fd5b828152600060206000600484600401865afa6123e8576123e86054700419d95d081d1bdad95b8819985a5b195960621b612397565b505060005192915050565b6770a082310dfe168160c01b815260008060206000600485600401875afa61243657612436605672049d1bdad95b8c0818d85b1b0819985a5b195960521b612397565b600051915083836004015260206000602485855afa6124775761247760597c1562616c616e63654f662063616c6c206661696c656400000000000000612397565b60005190509250929050565b6770a08231d21220a760c01b815260008060206000600485600401875afa61243657612436605672049d1bdad95b8c4818d85b1b0819985a5b195960521b612397565b668b0367c240bc6b60c21b8152600060406000600484600401875afa61250e5761250e60587c1472657365727665732063616c6c206661696c65640000000000000000612397565b60005160205186801561253a5789156125325761252b8786612483565b8390039650505b909190612551565b88156125515761254a87866123f3565b8490039650505b50668b0367c240bc6b60c21b8452898502633b9aca00929092028201910204905084801561258b5781600484015260006024840152612599565b600060048401528160248401525b50886044830152608060648301526000608483015260008060a4846000885af16111d1576111d1605470041cddd85c0818d85b1b0819985a5b195960621b612397565b84602085028101858061260357612603604e6b0b656d70747920706f6f6c7360901b612397565b5060405182358b15600181146126ad5734156126395761263960557111696e76616c6964206d73672e76616c756560581b612397565b63052f523360e11b83528c60048401528760248401526001600160a01b03821660448401528b606484015260008060848560007370cbb871e8f30fc8ce23609e9e0ea87b6b222f585af16126a8576126a86056720498db185a5b481d1bdad95b8819985a5b195960521b612397565b61277f565b60018c3410036126d7576126d760557111696e76616c6964206d73672e76616c756560581b612397565b670a9059cbbd0e30db60c41b835260008060048086018f6000805160206159f38339815191525af1612724576127246056720499195c1bdcda5d081155120819985a5b195960521b612397565b6001600160a01b03821683600401528b83602401526020600060448560006000805160206159f38339815191525af161277f5761277f60587c147472616e736665722057455448206661696c65640000000000000000612397565b508a9450602084015b838110156127de5780356127d26001600160a01b03821663ffffffff60a01b851660a01c600160fd1b8616600160fc1b8716600160ff1b88166001600160a01b0389168d8b6124c6565b96509150602001612788565b5060009350600160fe1b811680156128c2576000945061282b3063ffffffff60a01b841660a01c600160fd1b8516600160fc1b8616600160ff1b87166001600160a01b0388168c8a6124c6565b9550672e1a7d4da9059cbb60c01b83528560048401526020600060248560006000805160206159f38339815191525af16128875761288760577c13776974686472617720455448206661696c6564000000000000000000612397565b600080600080898b5af16128bd576128bd60577c137472616e7366657220455448206661696c6564000000000000000000612397565b612b05565b60009350600160ff1b8216801561297457600160fc1b83161561296f576770a082310dfe168160c01b8452602060006004866004016001600160a01b0387165afa61292857612928605672049d1bdad95b8c0818d85b1b0819985a5b195960521b612397565b600051955087846004015260206000602486895afa6129695761296960567c15746f6b656e302062616c616e6365206661696c656400000000000000612397565b60005194505b612a10565b600160fd1b831615612a10576770a08231d21220a760c01b8452602060006004866004016001600160a01b0387165afa6129c9576129c9605672049d1bdad95b8c4818d85b1b0819985a5b195960521b612397565b600051955087846004015260206000602486895afa612a0a57612a0a60597c15746f6b656e312062616c616e6365206661696c656400000000000000612397565b60005194505b50612a488763ffffffff60a01b841660a01c600160fd1b8516600160fc1b8616600160ff1b87166001600160a01b0388168c8a6124c6565b95508460001060018114612ab157600160ff1b83168015612a8957612a826770a082310dfe168160c01b6001600160a01b038616876123b3565b9650612aab565b612aa86770a08231d21220a760c01b6001600160a01b038616876123b3565b96505b50612b03565b6770a082310dfe168160c01b845287846004015260206000602486895afa612afb57612afb60587c146765742062616c616e63654f66206661696c65640000000000000000612397565b846000510396505b505b505088841015612b3757612b37605a7c164d696e2072657475726e206e6f742072656163686564000000000000612397565b8a8152826020820152326040820152896060820152836080820152600080516020615a1383398151915260a082a1505050979650505050505050565b60006040517f5d068ce469dcf41137bcb6c3e1894e076ad915392f28fda19ba41601d33c32a68152610120836020830137610140902092915050565b6000612bdc612bbc613b71565b8360405161190160f01b8152600281019290925260228201526042902090565b92915050565b600080612f7c565b6000846001600160ff1b031015612c0c57630b3f79fd60e41b60005260046000fd5b604051600160ff1b8516156001600160a01b0386168160018114612c9957630251596160e31b8452600484018681526000602082015289604082015273fffd8963efd1fc6a506488495d951d5263988d25606082015260a06080820152602060a08201528760c08201525060008060e4866000865af180612c8d5760206000fd5b5060206000803e612cf5565b630251596160e31b845260048401868152600160208201528960408201526401000276a4606082015260a06080820152602060a08201528760c08201525060008060e4866000865af180612ced5760206000fd5b5060208060003e5b505050506000519050600160ff1b811015612d1b576322323ba760e21b60005260046000fd5b19600101949350505050565b600181341003612d4257631841b4e160e01b60005260046000fd5b600080600080846000805160206159f38339815191525af180611bab57611bab60577c1357455448206465706f736974206661696c6564000000000000000000612397565b604051672e1a7d4da9059cbb60c01b815282600482015260008060248360006000805160206159f38339815191525af1905080612de657612de660587c1477697468647261772077657468206661696c65640000000000000000612397565b60008060008086865af190508061100157611001605571045cd95b9908195d1a195c8819985a5b1959605a1b612397565b60006040517306ff0b40e9091053eee51fa1d482ce5d852f523360611b8152600080600483865afa905080612e6657612e666055710459d95d081d1bdad95b8c0819985a5b1959605a1b612397565b5060206000803e505060005190565b60006040517306ff0b40e9091053eee51fa1d482ce5d852f523360611b81526000806004808401865afa905080612e6657612e666054710459d95d081d1bdad95b8c4819985a5b1959605a1b612397565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8085612f12578235600160ff1b81161560018114612f0357612efc82612e75565b9350612f0f565b612f0c82612e17565b93505b50505b86612f48578335600160ff1b81161560018114612f3957612f3282612e17565b9250612f45565b612f4282612e75565b92505b50505b60405182600052816020523260405285608052600080516020615a1383398151915260a06000a16040525095945050505050565b83601f19602085028201018480612f9e576333f3e07b60e11b60005260046000fd5b50600034118015612fb657612fb289612d27565b309a505b88606052825b82811015612fde57612fd18a82358e30612bea565b309c509950602001612fbc565b506000600160fd1b833516118060018114612ffe57801561301c5761302c565b61300b8b85358f30612bea565b9650613017878d612d87565b61302c565b6130298b85358f8f612bea565b96505b508886101561305d5761305d605a7c164d696e2072657475726e206e6f742072656163686564000000000000612397565b61306a8183888688612ec6565b945050505050965096945050505050565b8151600090810361309f576040516387741f3360e01b815260040160405180910390fd5b826060015180156130b1575082513414155b80156130e357506000805160206159f38339815191526130d76060840160408501614f92565b6001600160a01b031614155b15613101576040516387741f3360e01b815260040160405180910390fd5b8260800151801561313857506000805160206159f383398151915261312c6080840160608501614f92565b6001600160a01b031614155b156131565760405163591c75ef60e01b815260040160405180910390fd5b428360400151101561317b57604051632b32713d60e01b815260040160405180910390fd5b8260800151613205576131946080830160608401614f92565b6040516370a0823160e01b81526001600160a01b03868116600483015291909116906370a0823190602401602060405180830381865afa1580156131dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061320091906156c0565b613211565b836001600160a01b0316315b9050600061322f846000015187878688606001518960800151613c64565b905080156132535760405163f70b432d60e01b815260048101829052602401610265565b83608001516132e8578161326d6080850160608601614f92565b6040516370a0823160e01b81526001600160a01b03888116600483015291909116906370a0823190602401602060405180830381865afa1580156132b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d991906156c0565b6132e39190615784565b6132fc565b6132fc826001600160a01b03871631615784565b915083602001518210156133235760405163a7c6745960e01b815260040160405180910390fd5b6040805184358152610180850135602082018190529181018390527f5018f79d04d45a1d0ef7df4f8a02c44c1b0b59cd11983e44f1e9dfaf071db2199060600160405180910390a1600080516020615a1383398151915261338a6060860160408701614f92565b61339a6080870160608801614f92565b6133aa6040880160208901614f92565b8851604080516001600160a01b0395861681529385166020850152919093169082015260608101919091526080810185905260a00160405180910390a150505b949350505050565b6000546001600160a01b031633146110185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610265565b60f081901c6001600160a01b03821661271082111561347e57604051634bd934b560e01b815260040160405180910390fd5b6001600160a01b0381166134a557604051633480121760e21b815260040160405180910390fd5b602183905560405183815233907f04e0c6a722afc105ccf81d8792757f388d3dad9bc137b2e269cfd6ee99faba999060200160405180910390a2505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8015611001576000606060e08390036135d5576040516001600160a01b0386169061356e9063d505accf60e01b90879087906020016157c1565b60408051601f1981840301815290829052613588916157e5565b6000604051808303816000865af19150503d80600081146135c5576040519150601f19603f3d011682016040523d82523d6000602084013e6135ca565b606091505b509092509050613644565b610100839003613606576040516001600160a01b0386169061356e906323f2ebc360e21b90879087906020016157c1565b60405162461bcd60e51b81526020600482015260136024820152720aee4dedcce40e0cae4dad2e840d8cadccee8d606b1b6044820152606401610265565b816136935761367a816040518060400160405280600f81526020016e02832b936b4ba103330b4b632b21d1608d1b815250614102565b60405162461bcd60e51b81526004016102659190615604565b5050505050565b60006040518481528360048201528260248201526020600060448360008a5af191505080156133ea573d80156136dc57600160005114601f3d111691506136e4565b6000863b1191505b50949350505050565b60006136f883613778565b1561370e57506001600160a01b03811631612bdc565b6040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015613754573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efa91906156c0565b6001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1490565b60006137d4838360008181106137b2576137b26153c0565b90506020028101906137c491906157f7565b608001356001600160a01b031690565b905060008083815b8181101561394757801561381a576137ff8787838181106137b2576137b26153c0565b94506138146001600160a01b038616306136ed565b9750309a505b30613826600184615784565b82148015613832575089155b1561383e57508961390b565b613849600184615784565b821080156138945750878761385f846001615728565b81811061386e5761386e6153c0565b905060200281019061388091906157f7565b61388e90602081019061573b565b90506001145b156139065787876138a6846001615728565b8181106138b5576138b56153c0565b90506020028101906138c791906157f7565b6138d590602081019061573b565b60008181106138e6576138e66153c0565b90506020020160208101906138fb9190614f92565b90506001945061390b565b600094505b61393b8c828b8b8b87818110613923576139236153c0565b905060200281019061393591906157f7565b88614265565b508392506001016137dc565b5050505050505050505050565b613966826001600160a01b0316613778565b15613af3576040516370a0823160e01b81523060048201526000906000805160206159f3833981519152906370a0823190602401602060405180830381865afa1580156139b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139db91906156c0565b90508015613a4357604051632e1a7d4d60e01b8152600481018290526000805160206159f383398151915290632e1a7d4d90602401600060405180830381600087803b158015613a2a57600080fd5b505af1158015613a3e573d6000803e3d6000fd5b505050505b478015613aed576000836001600160a01b03168260405160006040518083038185875af1925050503d8060008114613a97576040519150601f19603f3d011682016040523d82523d6000602084013e613a9c565b606091505b50509050806136935760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572206e617469766520746f6b656e206661696c6564000000006044820152606401610265565b50505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015613b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5e91906156c0565b9050801561100157611001838383611d53565b600030733b3ae790df4f312e745d270119c6052904fb6790148015613b965750600146145b15613bc057507f568575351b1514757989de9c786c66097e2ae26e38a5fd1b885ac2dd02b8b0bc90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f9569cad29571f225e7f2c73ecd677d78be383da74efd13f4af2bade05dc1a8de828401527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000428460e001351015613c7a57506002610c26565b60006080850135613c8f60a08701358a6156ef565b613c999190615706565b90506102208501356000613ccd8a83613cb860608b0160408c01614f92565b613cc860808c0160608d01614f92565b6145a1565b905080831115613d1657604080518281526020810183905291935083917facd4baa7803154e33bc54ca36afe61420bf31d5f1bf3587746c146d2f3a76e50910160405180910390a15b6000613d24610d7c89612b73565b9050613d8281613d3a60408b0160208c01614f92565b613d486101208c018c61580d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506147cf92505050565b94508415613d935750505050610c26565b613da284828a60a0013561480c565b94508415613db35750505050610c26565b8515613efb577370cbb871e8f30fc8ce23609e9e0ea87b6b222f58630a5ea466613de360808b0160608c01614f92565b613df360408c0160208d01614f92565b735703b683c7f928b721ca95da988d73a3299d4757886040518563ffffffff1660e01b8152600401613e289493929190615797565b600060405180830381600087803b158015613e4257600080fd5b505af1158015613e56573d6000803e3d6000fd5b5050604051632e1a7d4d60e01b815260048101879052735703b683c7f928b721ca95da988d73a3299d47579250632e1a7d4d9150602401600060405180830381600087803b158015613ea757600080fd5b505af1158015613ebb573d6000803e3d6000fd5b50506040516001600160a01b038c16925086156108fc02915086906000818181858888f19350505050158015613ef5573d6000803e3d6000fd5b50613f89565b7370cbb871e8f30fc8ce23609e9e0ea87b6b222f58630a5ea466613f2560808b0160608c01614f92565b613f3560408c0160208d01614f92565b8c886040518563ffffffff1660e01b8152600401613f569493929190615797565b600060405180830381600087803b158015613f7057600080fd5b505af1158015613f84573d6000803e3d6000fd5b505050505b8615614022576000805160206159f38339815191526001600160a01b031663d0e30db08c6040518263ffffffff1660e01b81526004016000604051808303818588803b158015613fd857600080fd5b505af1158015613fec573d6000803e3d6000fd5b505050505061401d8860200160208101906140079190614f92565b6000805160206159f3833981519152908d611d53565b6140f4565b306001600160a01b038b16036140665761401d61404560408a0160208b01614f92565b8c61405660608c0160408d01614f92565b6001600160a01b03169190611d53565b7370cbb871e8f30fc8ce23609e9e0ea87b6b222f58630a5ea46661409060608b0160408c01614f92565b8c6140a160408d0160208e01614f92565b8f6040518563ffffffff1660e01b81526004016140c19493929190615797565b600060405180830381600087803b1580156140db57600080fd5b505af11580156140ef573d6000803e3d6000fd5b505050505b505050509695505050505050565b606060048351106142335760208301516001600160e01b0319811662461bcd60e51b14801561413357506044845110155b156141d357602484810151808601820180519192909190614155908490615728565b61415f9190615728565b865110156141a75760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b6044820152606401610265565b84816040516020016141ba929190615853565b6040516020818303038152906040529350505050612bdc565b6001600160e01b03198116634e487b7160e01b1480156141f4575083516024145b156142315760248401518361420882614899565b6040516020016142199291906158a2565b60405160208183030381529060405292505050612bdc565b505b8161423d846148c1565b60405160200161424e9291906158d7565b604051602081830303815290604052905092915050565b60808201356001600160a01b0316600080614280858061573b565b9050905060005b81811015611d4857600061429e604088018861573b565b838181106142ae576142ae6153c0565b60200291909101359150506001600160a01b038116600160ff1b821661ffff60a084901c1661271081111561431b5760405162461bcd60e51b8152602060048201526013602482015272776569676874206f7574206f662072616e676560681b6044820152606401610265565b6143258188615728565b9650614332600187615784565b8503614399576127108711156143995760405162461bcd60e51b815260206004820152602660248201527f746f74616c5765696768742063616e206e6f7420657863656564203130303030604482015265081b1a5b5a5d60d21b6064820152608401610265565b8861440857600081612710146143c5576127106143b6838e6156ef565b6143c09190615706565b6143c7565b8b5b90506144068e6143da60208e018e61573b565b898181106143ea576143ea6153c0565b90506020020160208101906143ff9190614f92565b8b84614aa8565b505b81156144d2576144188a8061573b565b86818110614428576144286153c0565b905060200201602081019061443d9190614f92565b6001600160a01b0316636f7929f28d8561445a60608f018f61573b565b8a81811061446a5761446a6153c0565b905060200281019061447c919061580d565b6040518563ffffffff1660e01b815260040161449b9493929190615928565b600060405180830381600087803b1580156144b557600080fd5b505af11580156144c9573d6000803e3d6000fd5b50505050614592565b6144dc8a8061573b565b868181106144ec576144ec6153c0565b90506020020160208101906145019190614f92565b6001600160a01b03166330e6ae318d8561451e60608f018f61573b565b8a81811061452e5761452e6153c0565b9050602002810190614540919061580d565b6040518563ffffffff1660e01b815260040161455f9493929190615928565b600060405180830381600087803b15801561457957600080fd5b505af115801561458d573d6000803e3d6000fd5b505050505b84600101945050505050614287565b600060f084901c6001600160a01b038516806146c35760405163e6a4390560e01b81526001600160a01b03808716600483015285166024820152735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9063e6a4390590604401602060405180830381865afa158015614617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061463b9190615955565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561467d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146a19190615955565b9050846001600160a01b0316816001600160a01b0316036146c157600192505b505b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614704573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147289190615989565b5091509150816001600160701b03166000148061474c57506001600160701b038116155b1561475f576000199450505050506133ea565b8360010361479757806001600160701b0316826001600160701b03168a61478691906156ef565b6147909190615706565b94506147c3565b816001600160701b0316816001600160701b03168a6147b691906156ef565b6147c09190615706565b94505b50505050949350505050565b60608101516080820151600091906147f1856147ec888585614b3d565b614bac565b61480057600192505050610efa565b60009695505050505050565b6000828152602080526040812054600160ff1b81016148305760035b915050610efa565b8015801561483e5750600083115b156148465750815b80851115614855576004614828565b8085036148755760008481526020805260409020600160ff1b905561488e565b61487f8582615784565b60008581526020805260409020555b600095945050505050565b6060612bdc826040516020016148b191815260200190565b6040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b906000906148e99060026156ef565b6148f4906002615728565b6001600160401b0381111561490b5761490b614faf565b6040519080825280601f01601f191660200182016040528015614935576020820181803683370190505b509050600360fc1b81600081518110614950576149506153c0565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061497f5761497f6153c0565b60200101906001600160f81b031916908160001a90535060005b8451811015614aa0578260048683815181106149b7576149b76153c0565b01602001516001600160f81b031916901c60f81c601081106149db576149db6153c0565b1a60f81b826149eb8360026156ef565b6149f6906002615728565b81518110614a0657614a066153c0565b60200101906001600160f81b031916908160001a90535082858281518110614a3057614a306153c0565b60209101015160f81c600f1660108110614a4c57614a4c6153c0565b1a60f81b82614a5c8360026156ef565b614a67906003615728565b81518110614a7757614a776153c0565b60200101906001600160f81b031916908160001a90535080614a98816159d9565b915050614999565b509392505050565b306001600160a01b03851603614ac857614ac3828483611d53565b613aed565b60405163052f523360e11b81527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690614b05908590889088908790600401615797565b600060405180830381600087803b158015614b1f57600080fd5b505af1158015614b33573d6000803e3d6000fd5b5050505050505050565b60006001600160ff1b0382167f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1811015614aa0576040518581528360ff1c601b016020820152846040820152816060820152600080526020600060808360015afa505060005195945050505050565b6000826001600160a01b0316826001600160a01b03161480614bea57506001600160a01b038084166000908152601f60205260409020548382169116145b15614bf757506001612bdc565b50600092915050565b60008060408385031215614c1357600080fd5b50508035926020909101359150565b6001600160a01b0381168114610f4657600080fd5b8035614c4281614c22565b919050565b600060a08284031215614c5957600080fd5b50919050565b60008083601f840112614c7157600080fd5b5081356001600160401b03811115614c8857600080fd5b6020830191508360208260051b8501011115614ca357600080fd5b9250929050565b60008060008060008060008060006101408a8c031215614cc957600080fd5b8935985060208a0135614cdb81614c22565b9750614cea8b60408c01614c47565b965060e08a01356001600160401b0380821115614d0657600080fd5b614d128d838e01614c5f565b90985096506101008c0135915080821115614d2c57600080fd5b614d388d838e01614c5f565b90965094506101208c0135915080821115614d5257600080fd5b50614d5f8c828d01614c5f565b915080935050809150509295985092959850929598565b60008060008060008060a08789031215614d8f57600080fd5b8635955060208701359450604087013593506060870135614daf81614c22565b925060808701356001600160401b03811115614dca57600080fd5b614dd689828a01614c5f565b979a9699509497509295939492505050565b60008060208385031215614dfb57600080fd5b82356001600160401b03811115614e1157600080fd5b614e1d85828601614c5f565b90969095509350505050565b600080600080600060808688031215614e4157600080fd5b85359450602086013593506040860135925060608601356001600160401b03811115614e6c57600080fd5b614e7888828901614c5f565b969995985093965092949392505050565b60006101408284031215614c5957600080fd5b600080600060e08486031215614eb157600080fd5b83359250614ec28560208601614c47565b915060c08401356001600160401b03811115614edd57600080fd5b614ee986828701614e89565b9150509250925092565b600060208284031215614f0557600080fd5b5035919050565b600080600060608486031215614f2157600080fd5b8335614f2c81614c22565b92506020840135614f3c81614c22565b929592945050506040919091013590565b80358015158114614c4257600080fd5b60008060408385031215614f7057600080fd5b8235614f7b81614c22565b9150614f8960208401614f4d565b90509250929050565b600060208284031215614fa457600080fd5b8135610efa81614c22565b634e487b7160e01b600052604160045260246000fd5b600060a08284031215614fd757600080fd5b60405160a081018181106001600160401b038211171561500757634e487b7160e01b600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015261503360608401614f4d565b606082015261504460808401614f4d565b60808201525092915050565b600080600060e0848603121561506557600080fd5b833561507081614c22565b9250614ec28560208601614fc5565b600080600080600080600080610120898b03121561509c57600080fd5b883597506150ad8a60208b01614c47565b965060c08901356001600160401b03808211156150c957600080fd5b6150d58c838d01614c5f565b909850965060e08b01359150808211156150ee57600080fd5b6150fa8c838d01614c5f565b90965094506101008b013591508082111561511457600080fd5b506151218b828c01614c5f565b999c989b5096995094979396929594505050565b600080600080600080600080610120898b03121561515257600080fd5b61515c8a8a614c47565b975060a08901356001600160401b038082111561517857600080fd5b6151848c838d01614c5f565b909950975060c08b013591508082111561519d57600080fd5b6151a98c838d01614c5f565b909750955060e08b01359150808211156151c257600080fd5b506151cf8b828c01614c5f565b9094509250506101008901356151e481614c22565b809150509295985092959890939650565b60008083601f84011261520757600080fd5b5081356001600160401b0381111561521e57600080fd5b602083019150836020828501011115614ca357600080fd5b60008060008060008060008060c0898b03121561525257600080fd5b88359750602089013561526481614c22565b9650604089013595506060890135945060808901356001600160401b038082111561528e57600080fd5b61529a8c838d01614c5f565b909650945060a08b01359150808211156152b357600080fd5b506151218b828c016151f5565b600080600080606085870312156152d657600080fd5b843593506020850135925060408501356001600160401b038111156152fa57600080fd5b615306878288016151f5565b95989497509550505050565b6020808252600e908201526d149bdd5d194e88195e1c1a5c995960921b604082015260600190565b600060a0828403121561534c57600080fd5b60405160a081018181106001600160401b038211171561537c57634e487b7160e01b600052604160045260246000fd5b60405282358152602083013561539181614c22565b806020830152506040830135604082015260608301356060820152608083013560808201528091505092915050565b634e487b7160e01b600052603260045260246000fd5b6000823561013e198336030181126153ed57600080fd5b9190910192915050565b6000808335601e1984360301811261540e57600080fd5b83016020810192503590506001600160401b0381111561542d57600080fd5b803603821315614ca357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600081518084526020808501945080840160005b8381101561549557815187529582019590820190600101615479565b509495945050505050565b60408082528181018490526000906060808401600587901b850182018885805b8a8110156155af57888403605f190185528235368d900361013e190181126154e6578283fd5b8c018035855261014060206154fc818401614c37565b6001600160a01b031681880152615514838b01614c37565b6001600160a01b03168a88015261552c838a01614c37565b6001600160a01b0316898801526080838101359088015260a0808401359088015260c0808401359088015260e0808401359088015261010061556f818501614f4d565b151590880152610120615584848201856153f7565b945083828a0152615598848a01868361543c565b9983019998505050949094019350506001016154c0565b50505085810360208701526147c08188615465565b600060a082840312156155d657600080fd5b610efa8383614fc5565b60005b838110156155fb5781810151838201526020016155e3565b50506000910152565b60208152600082518060208401526156238160408501602087016155e0565b601f01601f19169190910160400192915050565b6020808252600d908201526c6f6e6c79207072696f7269747960981b604082015260600190565b6000806040838503121561567157600080fd5b825161567c81614c22565b602084015190925061568d81614c22565b809150509250929050565b6020808252600e908201526d6e6f74206164647265737328302960901b604082015260600190565b6000602082840312156156d257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417612bdc57612bdc6156d9565b60008261572357634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115612bdc57612bdc6156d9565b6000808335601e1984360301811261575257600080fd5b8301803591506001600160401b0382111561576c57600080fd5b6020019150600581901b3603821315614ca357600080fd5b81810381811115612bdc57612bdc6156d9565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160e01b031984168152818360048301376000910160040190815292915050565b600082516153ed8184602087016155e0565b60008235609e198336030181126153ed57600080fd5b6000808335601e1984360301811261582457600080fd5b8301803591506001600160401b0382111561583e57600080fd5b602001915036819003821315614ca357600080fd5b600083516158658184602088016155e0565b6508ae4e4dee4560d31b90830190815283516158888160068401602088016155e0565b602960f81b60069290910191820152600701949350505050565b600083516158b48184602088016155e0565b650a0c2dcd2c6560d31b90830190815283516158888160068401602088016155e0565b600083516158e98184602088016155e0565b670aadcd6dcdeeedc560c31b908301908152835161590e8160088401602088016155e0565b602960f81b60089290910191820152600901949350505050565b6001600160a01b03858116825284166020820152606060408201819052600090610c26908301848661543c565b60006020828403121561596757600080fd5b8151610efa81614c22565b80516001600160701b0381168114614c4257600080fd5b60008060006060848603121561599e57600080fd5b6159a784615972565b92506159b560208501615972565b9150604084015163ffffffff811681146159ce57600080fd5b809150509250925092565b6000600182016159eb576159eb6156d9565b506001019056fe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21bb43f2da90e35f7b0cf38521ca95a49e68eb42fac49924930a5bd73cdf7576c7724394874fdd8ad13292ec739b441f85c6559f10dc4141b8d4c0fa4cbf55bdba264697066735822122086de79ead0fb270f5ba155e53602dfc8ed82c71fdd9d09db0688152e77f6d3ff64736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d01b673cfc6441b0ab383327afaf3ad1019455170058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6041010219080405581d0222a6136796a4543993032dac350fd03a38b21b9171733dc96a647ab90701195a8805581d02213db77e19bf46a10eac2cc934eb93da061b24922305d34507e19ee704010219040105581e03bba256d6d66ad6a711d3b9d82772be67a8ae407e1ef7a71ac166da7fe00c0147024d62d7fa523b03c29ba103680f2a5969c810900a54d65ba114eed252f3ae79dfc831b53274327b03fed993bae948faf2134e534481f21e08979c68b9227b29e568f0f10fdad096cf03ccbc414f180ccbae836c4938ca3a85fbd0d4e397e809418d8f7cc83090b1293e0219e70f03994cd11464be5f8335b7a61fe549e7952bb3319a3e563cca060b2fa1175ee39d036698f2033097deeac7d9bd3efa4dd322e8e6c6242b015688a6f31e89123d5018039b5ba9e59aa720b27edbc05b9fa3e64efbdb55af554492526bcda64782150e65030d51868fa67dee90cf565fa6c40af4d7158076f082e1bedf7e945875a6ee141903184958473e8766cb94bf9e2e9b32ad7846cdcb057151cda72efb441b3de041030341dddd49cc215f843621bfa5a179ea726fbf1de8f89cf6499578982ce99d29cc0219ffff03125a4842ac55267ee41305fe8c951c2290e18eed20ca71fbfae7db9a2bca42dc0383de05d157cbe0943d8b3ca508c9ee23d741e973bfd89847e6e6a7cbec00db0f0219ffff0399f92aa25e1c3d5393439574df15337a14c61e8a9ae1cbdd2a7842154025e0d3036ef421ff3c150c223ca2d8de69eb87820d6a8e085603899dba758c6bb218652e038ecba8d24dececfc0ba6bd1bde17e745a0e3a871f450c744f854857b71b77a6f03eb743b0c9ebf7d978721d92d1e575591930180df9d836bc1ec560422d7c21f7f03c31f9516b78b12deb7a434b28cce6edf5a7a6a5295400b41d60a55e47666a99503979290951d46d5a1d524fc01e8f472270654542a47013a7e34888fa1effb58c5037551f90d10e4e7d180109171a797090d746784513c6561be317a1a5dc4cea5c4038d49260e770d76432f72d35a0c2586c79af6a75b5ed148825e10786362ef360503a87cbd1ae1114f9cc555e7f81ea4ccfa6b1013876f9e32a5e5115bb6e557bc2e0312fdf809af7e144f8047e7ecb094b8ac32149dc809fb44a2a37014187671b49e030cfae0775e3414e9fcd2f63bcaaac6118cf06edd21edf1b4703cc23cbc00bb3803a1513d1f2d12978555c941a15f183d05434a5bd1c76d50b5e7823894fc1d918e03735a84e296ad4a8797363ebf897741a52afabd24285bb4c956f5e62612ce6c3f031c62bc522d30237a11df1eb6a376efab10db37859eebfdc70a635052fbb5ad0901410005581e03b986d649ec3c3572c2a6b774245b19ddbdf57d53dd942ef8f58535ff700c0c4702362f609380d905581e03b6bcc8b5664812b27a8ec82ef25783ee592b6b746ebbfa963e19be00700c02470207c1c90b033005581e03391c391c3a38dfcc28e5e25647c115e6aeeed62abbbb6bbb3955a485100c0246bcb1cba13cd805581e03840087b450ab43c290d49f2b560101f2283d8036f500d2995d8458c1f00c0346f0ecdfb5741805581e03a79e7e039bdd31c2f5ab869393881857f81418bd80081a5a0fc4b8b8e00c02460174876e800005581e0338c9352b05dfb985d9b3a875d93e9cc1603c3adeb6b62c5bf73ebad81004030362001992af1ba6db9b55ca197b25ad62c292ebeabf85e0f9d07a8957a29a1f8405581d02181e1fa4b7e7dac5554dc9bfea3081ef33dcd99607ba0b58ba2f5ecd0c04470b3dd18ca2894c0459080760806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a0340c9dd009ff1d4fdd6be7ac8a7ac7a07007a377084a0bebd28004d97efe0156a035137e700d1e706f103c3ebdce83e2e9318d5f727d225c1b9f0eb199bee0749fd030d6bd1f14853dbbca03ac88da26ecda29dd663993e07b153bc07ef141870fe6003aa3f41b41bc53c62c01143ccf933cc14bf0c3ab98c167c58c2917abbae783c050389041d0f9e6717a1fead05b8ef1328368ea08514cec83b15a17f52d90843f93703ed36951c4722783a0caec2ebbbbdc933e886b25d55a783b860d0be5da66d00bb033ba7ff7204c44900769ad7f5c7cbe011de67313200ed39ce545711d261a5dbcc03c87cba755ad210fdb0115efe31bd0208eb58fc17b47575e12fe059fca57c717a03a3082acad90a847428872655444092a69abacd3e24c3d10fb53ff683c3fad83d031a649befa2c1336c6f8588de8c56359042dcab81af9e4fcb5ccb0035ee037f1c0373c1eef26ee84a9a7b07e2effdf7d08d1546f290be8a94cd44d9d39456b17b2f031c37db3123b0d1c065ded1ce8d467d8ccb3c4ec86b80df8be7748151fd68e75a030eb4d30b072cab21c3b5cb370df4df6e4681b6b7fad35b9a1365a5576af6a4e203d0c868342e2c8b032a41062829da0e2ac5eabb35551fbc7e4f645d1af97ec1f0034e73952dd53d6ca7b4bb0ad7b21c7d8d90238a12adbdd3f4fdda2aa4513084530389577ec40463e3c8ce2e50656a13ba830ebc971308fe1713a12f8eacfd2ce5e20300876ebdd88fb4f1d3b1bc40c9123ddb0b904dceef03cbe3deddfd23a4b53dd403cebc714cab7a1a92a7e5c0235c25091edbc54841ad1a7109228843040be3733003882f87cc12309686c4d531b45557623eb43329ee431a97652e49a3480dd3085b03be84a3d47cc9a82f9c9b2d346d2463702f0bec02007338611d0b12062e4abaf403a2e042ba266214450c515c95b0395ce67696e4a241601ba7305b839e23019e7b03da78f6cd7261ccd02d0160a961754c661daf9e6c8a4aac187f428af9f349e7900323bef7d2d996e2881f04575092d961c52ed004576302039bdae2a8b21b31170000581f02efe2b551e660a828b99aec454710abd336b09d6b6f3fa80bae89a80ae0b55214b400000000000000000000000065fbd5f700581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054098927f692c86fa1722115652b9d2d7be8cba6d300581f0373bf8ee4d857efa530f42f676f8a1c3b2838b8e2264a266392de9d18c7f041010219080100581f02984845b116d24d426250cb198d702ce8721cd6fb6e9c2938f96c2695b671410100581f027296802941e08c02f081920140112fe44a7a62ca1d5d6c50dbcbffed5240582054cfaefb5a90f4ccb40ceab6cb3fa1783a3f0d0dbeddc708e2c078b632335a2603b68979b15397b5914d1028bd7ce0e610d1834edbc9a08228c74d291621c12b130219502503315a295b2f4301eb0985e1f5bb1b5256f7057a9f0e459fe3390567bd8c46c9f60376489c4162597a1a4112a12c31ae295aaa03f7e30b0801c0557ab0901453f7050334afe258122179e01faa4af4ce2c4e774402136e45cdfbde2a2bfff86ca217ff0306cf7fd027e4b50e74b6cd97ce781f2fa50d34d50244ce11d5bf991d34c4338f0219ffff0301d9811a49272d1df1f4184ef5e8e6d24d000901e92df3d333c7b50cdaa6be3903b0867215128ac75de77fc25e40a26d9a4e016e36627b5e2db0dbee18ce9dc18d036984a19af5d98d5d1588810258a1420f19b8c978c6fef1914a1e13c44e8479d4039c4d60c58a6473dd9a2c8fe7348efece88683245d7d934fbd595dbfd1320893403701f1646bf2161c4ad69f3387e29ea70595e9c39fd5b11e8a85c163f7ffe128603d5c33b9856623619bca0a89413ce72e022bb660967a0c6dafafff03148a22f1103bd5aa1bfb08bc52e5076a0f1128df34228565094b96aef8b93c7605de4e535e103bc8c41031c80eadd0b395dbaf728ceefeb218f077f67910afde943a796f89f22037200e91177559fb6a78145eca837e320794f6ece192705a35ac6d466c3eb3a0d03c70cb7a4a6f6a7f197a4ef6e227ee35d85cfdb83d01a34c5737ab280a15e1d5d0219ffff03ab004ba83be7a75ce377e5bb969f2972ad90022e9aa2d0f524512e5b89c8c7d8036adc9059031142beba33587dce2ce50007464f2f93501bcc32d608aff82238e2030925d7e05a9368a72daaab5f9024d1138d08b37d783322e3661773b35dee50ff0303786c65a6e58ebe8e2e28cf93d644d78cb90888a332a9f8a7c306b916de6393034548c0fdf28a4eb7a0f3a289d98f5361bcea1c039951f58eb8ea6a59667b686f00581f025a7c8514770180e7480dc4ea1bd4550df6b986b558ac7bc2d1d0e530747d5820e0bf607de983b72e65de832aafd6dc4a05da474f9f2f600109ab3c0bc24bc08e00581f020a0daa7ec60954fd7e1ecb65ece69f7ce11c71cb4909d57685bfe9fdba4d5820d1fc8f203b31f79868c219a353b7b78a36cc0037e8d2ccb7df2cac4d5343473000581f023a866faf2e94a4c23704daa3ed0be34a0462b30eb330c973c7f8d0da33a9410100581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60581c0134d6a200000000000a9ed50000000000000000000000003b9aca0000581f03fba441d540ee436adf25b11a3c666795ed042d497e11cd7b7b353b6227505218860000000000000000000000006655789700581f038dcfdecb9b540e25ffcba7c7233a0a6e347488ec56e4552bd151b718126041010219802400581f02468260c296e5bc4afba7121d7a33c42db1eeab9aae8ca387c9683eae117c52148800000000000000000000000065f7c5570219d114038d79334b1d34e5eca6ccf98cd152dd8fbe575f54bd10ba715122583d4e5dbe1e032d0bb03e42919b34065291753b0703e5672569ae0bb36563d2102307729f5fa30330cd0608b03d129e64c4024e71616c8a89bbeac13652c0df4448477fa45ca1570355e9af77f6b5bb8b09b912894e0f5ffe984ae778a16e6c383063bd22634ac0be03b05662276bf394e247ffdb4bec87c89dfdc6c24ca46807f4d3af4746599ae8ff03eee5d22ce6cf351a6600e446e25504ebd18b4099892603d7a3b72eb6664eba51031288cb2d28bb14da226e32203c45a427b5d4f31166192bde880ba6a007e9b721031608635d643268ebb585aad502f10ec6b3668188219dc4b460b0a491021510bc0305dcbcf6e09d3ff15507d4e7b66362e52dff9f91fe3132227b36171d5e7a52a2033de2b495c54425b64163e8f4cf971ab35126494da9798ecd6cec4594d5428334034b98dfd295da930cbb3e1f4ad31847177fd068900e12215d02ca1c57dafb158203de9914c82a3bfdb625bfb42edce2687451086ac3b185ca50d3fba2f66702ea91035dd74448569bb854246a899a63b087fb56db8d70f35a4adff7b97ce2f16e451603381d492932a988814349177e76f7a805851a892e4abc26e66b0e140e6be6bb7d03cf013a4a3a5c9b878039849fc4d9d2e787c53b46cb5d228ceeeff8c2f57dbf110219ffff033cf830674c2bae2ee5f0c7d4aa96d8c1164b0a4072c855dea529251875a9ae7403e962011f5e175f84122dc1c270711753d96b78cbacb6346a6523bd0b9c7814ea038a6538246e06caf4cd7c955e2bb6c0743dd4c63af7b2f1fc3e8d138965bb82de03f61c968c100264c609cbd80c8a93880e844b4c277f0aff0166452beb515ac8dd03ac4485b512620d44a00e6d437245260fded3dae97a512c5eefb0f78c87dc3eb5030707709179026a344f7bff15cf6ee521a471a094838e416c8c2aed1909a5b0ca03c431de229c79bb6e1fa0678dc1c3906e2fff55dfbfeb91a9fdaf4f177922329603afdf42630e7a94adc0a26a90230c85f050f72cdfadbd36d8805761b365cd2dd703278b53f06321490502e4526f5e3805fdff02366b2738a17d6c3b4dec3c799fbe03da0df4edc81ad748289067389c27fdd28635a56717f4a0e8ec24c135fdc264cd031917ba0a144f3dfa37a5a8ec3de9b20e8410a965f0209cc5a987b1d313c49039036ddaf10f8a087b3d3c1e7bd57a9a62b04b03678e548b9f60d6aaf3fd21e6bd8f03b9222dc8e244f882a4a6107ffd60c572744b52578b5578c3a84275e09a0e64b803e793f39a810d104f049d067c9cad737f56078425012799a24d5c3c374777d41e0219ffff03c19bb37d7ec6592d776463df24bcdda1d56250b1d24a8c4917305527ad56c0d703c8764736200fbe3c397ef779fff311032fb8fb1e2b303b400b7740fde3ed8e2103b6a47735e84c3665758605f86993d8d972131b2fc86b48b070b7395634fbbea2030e6de72b57b063dbf43a0ab3cc29777b6acb823f76d877ad91702f0354f7004c0219ffff05581d02ee9c19b18bb91025dbf9b26da7aca1ad2743fe6ed554c20391a7de850f01490aa0947808644363d61908070219109005581e030c4e8b9d4f739b05d6af91c9720cb09688ee8934c8a6f8e711ee104100041305581e033584ade849dc384cbfee6a63aba88178a616bc4569699367e1fa8e03a004010396fded50cc0fc7597dddf66570d3125a99b6ea894438409b46fbb752f062791a05581e0302eba8aea787ff21aacd12b6866282b4dd4ed21ecabdc2efd9306c9fb0040305581e037d0fa0fc152da2c0ecc791d476074cdb6093ecf1db5e7b5b3bae3d6a1004010219f7fa0305ba62bca27c3174545a86f51b02f046a499a8daf883287681a80d5f426aaf1803e5d0e39c7a08e5f38704545d0eaa3b4235f3902b72a5e0683d3accd88a0b5dfa03f78c0f58d22700dd2561090bde0c336c20d006aced89bb60681309c1f8af0ad503593af24a77448d5617acb122d7d679205fe938852566505cb5dfdc64b6e3dcca034f7d64dcf6635f3dae0e2db48365161b717f12bd8780342e38046e6df61f261603ebe9ffcc9f11031f1cd7ab721f4ee741324f388516b25da095e0cec4fa3543da03bd70a45e76fb619e4533e8148c41744258f62b0333c4b9cb17f4df91a509211e03e2706b07d4630eb1baaeea77476ea95add249c1b20a6297f77d06085b5ca5fdf039ec65ae9b6beb4461108d81d59ba6be2ba5f5ea55e0e0479af60c64dc19c415103584c8bf5531a6133e43bd3166487ac3b4e331b124c962a6d13d09534bc57326303fd91e0d29d121cbfa7386cb5d3ba8237ee83335b0d17347814c70b17d83e15f803ff658bd020b87634d5d8a997d52ed374f70fe9895295434717647d2da9153ca503019f26344ce0e881824cdbd061e7d5efa920ee49aab07810324de4b390b3af0f0219ffff031bf78756d480ccb95a262ed6e1c60f3d8ece96204331765a07edcdc33851ab2503ba3d77cc81fe8cab851a45e77f837a618338baa282df94022b1bfe63259aa905037a7e4d26455cf876ff1afbd2675f804164f9c8c123f8fbea1c85f4ea397a64790361e695d3bce394f0e308dfe9c4f08bea7ec76d84015b66c10e2baccf4acb3f0d03089ff6afefcd843c70bb767bd27fb298611596d84548f8401f5994e82615b735039e4afdc2dbe5b0a372f14bff56c4da86cd0a0c0f206c4e63fcea253526b52dd403679e4815f7a1f320146697be63ccfd821c2ca61c6f063a45d732380ba528886903cce60abc001c426f23289df92c5717585d277e42c31c9cd6815732882f9ec94e03f7ad3b1c649c2b5caa902bae233f2960a18870d7c7ce1ae32f2b5712b34930fc0219ffff032575e808d2be017f12a5a1bc6b20a63e2c3de3d58e3b165dbeb6fbb2bce69d0c03925c6016d7854799012e60c8fda987479df10049fc43d0a2e13dfe6ce9f1f74403a1e389600a4dd8a7f225bac73d82961a47808f23b40a2699c2a56b0cc586e5a803a66e9b43b77e2bc4685d0a19d3432182a2fad1c1994e0da88d4a02e9825a62f3034de7c28169911ef2f22ac097ef6a524720beb51e1702918ec3ad1cb2442fc8a903c24612606e361f090d237caa83caf632d1d496c1d152f4ed768eab626f861bbf0219ffff0348d120ea9b1fd2a70c5a76aeba51ba229bb6d4cf57237765a44b661ae867458d0335b87d98cbd7cfb225629492e65e70635de139955483e8e4bff3269a0f51534b03e33fc94cfcdc53234200b2e4e7cb08f9c9c0aefddfabf74e4803a4707785b03503f118df7cf570abeb2f652c608f7b64731f5ef802e75434af5a59bdc8f8dc9a5403136162592c69c4e8fd292f6dd5e2751b5db651a5a4414868cf63c950298d7fb803511a050a1ed980f0ef45c1cf142c1298f806d9c37b76da8c4716bf51e1591dbf03f86104c5722914b6bb14f82bc6a8d98732d554324e7b7057131724f62de6e34c03e744e2a0d4dc7fedc58dd2f2211ae7cb43587f7a5695d7779a1d449fab9bf33c037ea4109ab294b5fcc48473b8001d33201ae6d070974f7e25418da3a7b802ceb003d4f7b193ffe74e1d3d11842115a01ed4e532c46558385ca1a874732223f28bd70303021de7de26ab51b27a557ae2e2514df96c2ec06465b9f1c9f1e1b7472bf24b03d2f94ac86ad8b772defd4df0cabcbe8f5a619542f778700db0fe3f3e176fb8150387ee0e35ffd992499350538f546445b5a4ddad8bc6ccbcb02af6dcf0e780262403fb9d8449495e977233bb71e1ea15f90acdb6b6ba52a26ac2f7a56f038a17583f03624b9bc57b4e09de5ff34fe16e1448d2dd4f5d24de1fd9341fba3eb48471c554035881fb11ad9aa8c9644507e68749935b4c5ec2ea9a3f1df6ee7859a9d171b94903ba14b51dd3d222c3318258c1409dc81ad215da9a4164bcc9af4c545b09fdcdff033e512b8d936cd8c46a4e9b38f810fbe6ff43338e42c010c5710eff73cd5a75070372ac0b8b2de54a1c2d0ce60dffd343eddcb813010626e5945dd78ac5de87d2eb03a96eb32e6e1f986841bbf3cc3c95a3ae23382f0bb557172c8617079d8a10dee203c3bad241a2c9d33dbf653c3fe08e95f7ef38e90f746bbea6cb18e19f687c36210344b9bf89e30f9c3ada9b784c69211bc5f25deff1f28bf84185eebf9d3c5298a003c49464bc2e033087d694c74ba2ee9cb6a76502f9feed8827b3f26554817ec34603bb5e55bf71070947c559ed1dfe8a2c9262b75cfc86fe46206c8baf2db832b7af0367012de0e799a32203e66ec6675c5658a08e38e8a67ebfdf35a53ad9436f38150386fd4beb0cf5be4c24095f6728381b8da852567c6d2634591f5fb6f89745c83403dde880c74dee65975a1ebcc0ac26b8bb5cf7ffde3d8e3a5fc161f83c625415330312bbbd60b86302cab0f24429790557d166bf90e95d8a984ad13e5a4320a1a26503d85adf7a0a82c4f6b66646f9e2f620f78a74a8b8be4c1488f9a6342d1bab0bb30366601d0e17369b60988f0869701bb14d5b87a8870e022852aa85f5b7b80afeda05581e03f9870307f3d08ae3d24654f7efe1bc1ea8e78b1d3f227881fefc2d96300c0147068dd02690c6000311c01e6a618af7cd7939e103cd9459025a185ab99c4b59bed3115152834b1bd305581e03b6198d4464a19dd821a7ff14b8db88e42ea4c3f9c1a3a8b6b2439a6e500c0146cb0fa7ca490005581e031fe1c5268078146e5c9507fecd3517b9617af066555450da8a6d7e3aa0040105581e03f4687b702fed9398b30c99cdfa66186629e8168000f88b8793ff8bdc60040303fdd81ce5c67ca526a52126e84ecf6b16774b74bfb1700007a09d4ffecb2e750d03cd5c294b2ce1f005c8060710d7be7d484614f03dcfc6f4ebca4d8043e821569f039609f48aa42533d9184d72c1d7babb1c4cf911c117966b40d15313c0d8cd58f405581d0242fc49280cacf58cc9ac087513a917bb54ab6a544a3440a56de4cbdf07011bffffffffffffffff05581d02d40c8f4722d43ed70b7d77450a813b3a211c8c1068c9d44f511522b70c1827480129e075e763835e020505581e038abafa5b20be0e8670b2b945193c083cd6369d1eb5ad81f0b91408fdc00c014701469a72eebc780219ab69030cf8a0cb2b5dc63d1a47d91d4203f0cb7f9c7d3574b0d84e81cfe52ef70a80a80219ffff03a03773b6510897e75e2ff06a8b843336cacad715142aaef2599f10dd88e3ea280390f30064309fe73d3447912237a5671735cd1904f0d4652f7899fb37e1040e21038f9e4b827229ebc2c53ca5b4eb40c17753464aa913941aa70ecffaf4f99c8b1003f3cfbd32c231fe97ae062b8c889bc77bbbf657c1cd980bfc066b7aced1b9ba71036a6a1fd97473f2f556c08175422f81a6feb9dcef65a3a1f14330f3710d8e066f03dd75ae53bac6be431518ff35df1c8ea8918283fe173778a71af42402123446e10395fcfbf599bbac517a58a65ba9e9c839274fbe5bb6f3357e7510049653f764650376c876db9f1e1087e21b3ed8315d8f75b205d8e1f07f0fd3447afe0363311bcf03094bda0e55aa23bbd657ba5abed9d9450b0c7ab2c6f1d4cc855fb9460cf4ebf203998e5e4e47c625a27ac580198dc61ba9f574f140604c169f75a42c7cdce59eed03b1cddf5aecb5d668fa9b4250ab48b080c594dc77b54db25388d563914bc8e67b0219ffff03a4822a6ac33ac25ba67df1889c957d49d7646e8bdecebcd29fd217e3b0e01a8903c73b0d34e1ea2f51030f84f85c6801d7f25f92d929f69bb50ca78775b770196a031af73ed496bbcc246a750af807597449e99b254d53896ad1dce749efdc144caf03b639d422f8d24e070f2ce5c8f310b02fd1716bd605b5e27cedc8ba99b0aab0600219ffff03594af1ff1cc110a4bf8d4ae27467f1a43758ed61457d20874710aacf933e155903f32cd2c739f6928b305cfebe1668293385acf202d1075329d6f1e83e466af21203869644893214202ca774469a3b23edb803d31f8448d9034733e9b191e96825e70219ffff03e103e984e459f69b69db37678bef78cfc2fd9c67912c1fdb97ec24fb5c7ad180032275a04cae2137a277d92dfe5ed0a876ea053feb864cb5abee7607d25c36094803e8db1d96f57e0f26600a4707866e9cbfd7eafdb5c35503a8a3ccbaed80ccc63603e81e416aa174708099a180d2d40cd08850eb274183aa8c03129b5305f678af44035621c4684ba134bdb64f6dc167295a67bcb290815ce86091a461683db93dba21032df4a8213d34ca676a5cbd3b67d635458e12ef1ec59f966b468d7612ea68a76c03c310d4a3fbbc936495ab443b5e23aa5caa59090f74e2712118ad091f01273b100341fca286d36c260bb7397fffd9081dbeb2e676d8eadd1c01d5c0a957d9bdbc0203013ad3c22ec78bb510ecbcaade0d4cd772183c55d3f6605cc6c4bd7d8bc1117303b68819b7b370145629bd0b1da3cd6d4471fe0fa27faedd12f628125ed79418a403d3715d4c6c6ba5d18e8362cea045fa3446cd91572ce0a1d853b1efee1ee9dca5035f61e7ae2e5ed2da512d0bcbe772c36c75107ac9efffab7e8fc93db988e427370367a14508492cc8dba5e3a45b6a4b06eb1378ee205c0efd14cc190725a7c3093503b6598e865973ccacb8c0487c2f1d6d478839368702aee0e7f73aad81eae3d462037167a65b1f823cb75ae63d967a0c366fdb7deafc2f81b79b74b8cbf424cf853103155d918214a9fc01b38925c9d113257cffc99b2a41a61bdbd1764a5e66b7e27c038d7ac52455e1faf7d1b5004ede5bdbc84bb8937d682a17dd3174f297a0a62c2d03acf10a8a357963f5cbe7c203a5eacebee9d2c487454b3f6857f9b681afef2c0d0381ed94321b53068e9b861ef70a84cc82756063e1d8c712c919667acbb8d5039403ef71bc46655fc8a789e2f1179daaffcdc19c9b596d43c517e2044ff14361888e031d9e6c4ce81eca9a4efa30b93537f6566cc310784858f579088d84d576ee33bc03aa584833a8527e152bc606e96850d1e3cf3c2dd42d0f3bad6323380b77be7cd40314e772081dd42c9f82b21c550d96b05b20b9ba2bc818819f12d330f55fef5ea203b4369e25169d0e2e363f228277f0ad319528f2f002b0949d2eecf0b85682fc43037bdd91bbb28c00043ef9a95542fd9697902fb8a4bc2395f13f5556124e05001605581e0314e6ad1b983b35c3c817223de5ccb463065ef2f8f09b3f0f08a089b3800c0d47a6e2f94fdab8d00361e69b8ae55f6b6a64fe3bde2ff53939849a3e94f90e968bc32d8d06d4cdf8180300b203fb640f38cb30106a7ba44f924827daa6890b5d114b89ea9d55da34b4bc05581e03843349ac330975a5ef39d163e124126b71aaaed642e75f53a7a45532500c18844663376ea3168805581d028e1247e4b82f3f9d7b23257f54350b6b1067198f8b0c4e4f844a64ac040805581d028ce00345220479f3efc80143aa2d251139ef4039d072e4b6ed1f70b60c185248119e91fa50871f92021990000377af41f55d7f992d5ce7e90d673f36e2f5f096424843cc9b5a860a6fc73a52c20219728903f7f50853a1dfdf93477f9897fedfc4630d690ccc13a258838a83969151fb78b9039d44725a478e6548317ac3d477301a3cddfe0c3711c2a786643f9f68bd1405cb03955311d6e21234c9cd8b5fae60c1f987d84e9b76ccd26fdf6d5d6e88c640b81a03a2a268ae35c2bc81b346e9e5e074b11f8d1de2d14a36a807e968135e0052e1410325e0eab39ca709dd4d24b1e3ecfea090776f0730ded6b72fcc3719efcff78fcd03b6c1e8bfcdf78e0dc0268c15212230c66445fa8dcf5bee019744f2d1c3b263b50313ebc84670cc1407dd0c2559405fd7ef9ceb72ebddf6a8a3c047270ef652a9030219ffff03eb0acd92c9f40c498a6abddb6c762292843004906b83cf39367496c59cbd86fd03da8d2527e5159e6c0ad49ec4901a214e988fd1bc6ae51750de8140e701a278cb03c3b35348e9e3cddc4f2b5220305a77d253d76462b683d708687bc9eec03e9b410399d6954674d80970480041fdada9c7ce73985bb87f9d00a470f5d364cf69c2ce03d1f023022c2ebae27efd131e39f5b7bb7bc3c56a853d73bb066f586da68632e8035d09b3cd5ae70f9bb48ba207389ee6e86205f17218236a4f62697d268f62c5770219ffff03fce45f2f112164aca03d30cbd00ecf58c92bad10db6c3fde24d5f7359d483607030e0d2ba975288f2906f26c600f9bfd09ce8bfa9dfbbd37940b1ce9781e7df0f103f7225e5b4fa012de470767eb7a510caa58419d727bdcedf494ba128f6e9ee03503b3b65775a167f827306ffe7e5d5a9680c8b97e37b92c079334016003452eb4260386038eaf6572f07ae4a8a1ddd2466780d938aa443d4fef6a53b8edd51756abb003d86b38632a0055fcc1e94cc46e1f17cd8ea29c65116dd9625ee743bec0d17699031fe41e1e2cc272009eb2250cf9a43f7a49625a08963ec35e36657ace225e80960309188c932a3525df78e9978bbe333cb1f2d87492c2dc9bb51f78eaabd5cdf7b00219ffff030e34d0aa79d96948fca9dc8ba0ebac6ababdf4e89a5fb18b412af3908de98d720314e011fbdf6bc9c7eb6c0ded5e4b7da849649cec36179b8d5b577469aa2ff199038d2accf14e1930cd9da4a702b725cbb5e577aac6f66cd56256ecf983c4bd3e0c03a79a6117aa7b6b474787fd030bece878723dc81ca3e6cfe419a817e4ba2bf0e2035e0dbc9d07e5b018091f225fb165127426dffd2dc530f7c09f97da4c2270a8e2035eee69f31d54034d725c45675b84eb1f95e7f605e8de0b5cc205394945e3b48603fa285f264ffcc2b14edb070e55df19f4329f37573244d9091c371ca58821d74a03e22c4813fd0cdbcc5660f5f784dfffbfa031b3a2d5c1efa24958e7f691a9379b0384de00ea70fece9c7070da078a2e443e7ddb91f0a28c08005674e5235c0d783e030e96dcd392787aca67fd0b85547e3f2e138e997b6d5b0b7ee99c8a0f1ff1ffcc03da29eb4d3f04160f11a1dd1aa2e822f4935b77e3ec08e98683e3114cfe0d05e70399e7e981eb568adf9db82cf99f8abab3fe9af6f0589b04f012d7fce0eb7f474203259511dfd06a550167af0f72ff156f4e71bff005e891f851bdb6f9bb0183e37d0363b31f8a271fc925a575ba347586271495c5b41727fefa830bca08ba123e000c038a43f72f43017ac989447bf305554b5a227a65fe92a8078a885f653df9516139030e3c68576e37e7e8e8e8a03e37b0649a22815bc6ac91c50b34580a6713c4a3c6032ff798a432ec7483234e62d37869430ed15366c9025e16a8021c754aeb8abf0b03a83bd51bd426fcbc9b3c3e16488cfd65e35f85293942ff8d8c0d6f50e96c017b03be4139ad8fb476f2a8f3ea035593020d31e3d1720d70f5d84585326288c43f5f0390c0891db3be34227c8a1a456548f97fb8b311ed1c79cd08068ad22f0d41199403e5fe711e8d542665e00f63bfe1573ac5b0dfb7467242605552cd3977f0f040600367ea48403450d3b92209edf8b777a995b1f1ec1466e07ca8e47601f45095c3db03233bd56b424dcfb16cbfbb2aeb900de897986e38fed30716b6c1cd87c34b443c037163ba9b235b928bb6b4aaa3df40597fe4c95c66757f8444517e301d83ba637b032c5b2390bc9cd3f4b58ab98f1e6f37205b7ecdf28c074b98694ecff91100a9a805581e03d6a6797420925a5d45cf873f366f03d1516f015129c6e5ca4b98a627e007011bffffffffffffffff033da4a46ba1eee987ccd87dbe6fdafe57ab356b19a21b8937a6d6638bf34f7d0905581e03fef86f3a8ab17690f3d147d9f6532511b0d4d1465a450b2ab6af50f0800c02480ab7d9018dbe0e1803e79ded4e7f36260585fb364ed69b46fefa274d2806f833448a2cc339cc0151a605581d0226a27ee1d528c01176a631d0e4da089b7057595dad27d42043419ab20c1902e84760150885c73a7805581d0265344dfa7c17f25ed47bdb4021c8892b398bf7ee9065348994d433e30c0247016afab7db56a00219200403bfb5b9ec2c5f01b353bf7c95d9255d32103ee31a726156044941a3a2532bc6690219ac09034d132d127365f7efaa69829d0ce95dcec460facdd5f9e17a33244ec51873f2ac036a2b58358f0d40ec20be1695abae1cbda6d0cbfcbc82955170a65e39a0fd1b570364871efcb771ed0e6d78d371c51456cdb79a2f2196155242e22f39c49dc1245c034d08e9c9440b800859c83996ca1de4946e32370780d37194796d467a346799f203e2aa86203c729c353931f9bd2415614c2d5bbb3636fbdb67534112b432de7e3c03a47b8d7441239a5527b20664fc04e3e1fd7bb522b29fe482d58b16b6ca4db4340219ffff03843554167b7a9f1feab614b343f70cc55615fd9c25d8f465f6d7374fa93b35950313c6e03ef68d1d06f929a1f18ce2286c2d298a9568b37da7fd1dc61c5a85ff830396751d839b115d7a103fc4b43bd8901cd71a0e65bc7472b3d06919d3e57a6cd80368179b32100257531beb0662d193a50c1bb020189f9d34334cb1937357403c8f03ff73d18d56820ef61920552c74dfe0c2252769934f06c1fbf0f92269e47862ed03b40f99e293417021e7b22e7241004dbcbfc419fbbcfab5e83d3e356dad0f81f703187f5e25ec55ca4f899856c022e9c62b4f4a45349dceaca993109184dca2bbbd0359b601a37ecc5cdf6550c72c05b06b5e7bf51b617182de992e0e3a8003e93ce703c1566208cd8eafcc1e9388ec4a1b70f94a201baebd50ba8472b0ad449a82ea4c03477ac219f79161ddfd0e0cf5043f843b3ee054b75cee1f3985a369b0f8db49b103f713fda06c8153782de8d28c33b3ad04751a5cbc586c810a6f7ea7d02ce553a203aa9b03aa34570be4792e86ba0458fa4d7c974c04ce94369f931589cfd952833303b4022664dc0792cb081ef839976ff53c1abfc6f5a298ada3cc29cd7fa64ba5dc0219ffff0354c8aae9f1adf05e4955bc096133cea80c71a8073c8bb6d66ae201b42946658103fcedef50bc3e4c027c11e1e74822188d99b3a9ae487ba2a2fe3e79c0541b759a03f833ad47dd7ae9ce8552d978b0e157ba5a99d7afd93ab3f1bdae4622643d5b6203390ee434fb0d760c629cffedd4bf5e9b4bd5c1d9388b87ce7b6129d2a71f14fd03e2e07d259983534a04e37740f5a970b54d52002130a6a1df544a4ad3cdaf664a03231fcc4d1539fd6aa622530f37c20aa271cdc39390a28649e50cb6056a6160b1038ccda4a3abdc1043e42e823ac54da67e9f678c7e3e922e5a3ac696d4e9e91169032871a36e73346bdfa73f1a06489270678f3136421925a90f5f2148e601e086d203a59639e2fce4584d0f49977ea7d2c5b0a52653abd30bd778b16a9a71c2525fe903bfdf6327bff2e5562f5d5f748428e0854bff7ad2b4705424a54fc787d8e17ca503f427a7d3a5d66175598af02839e4defd553536904b353b86444e05c70d359e980219ffff03a4b16d549f9fa90829dd6015fb11a4c020e54c88b22a7a2612b26187c60ceb4103f69513f2fc732847abec26630ceb8cdd12b1bb2d3cbe4104958b8e46022d957e03e4e8541bf291714f158af4a65a2ba2031542d8b75a96ef25c0b591dd0c8ee1e903abe06ee22b94d969ad7065b81e94065051dde15bdf985a5d702ec5ec0aac21a8033f250089c087df7cfe2f9535bc7fa35dec8a1f97ae5c6a9ce534e3474166308a035e11be7f2443f71efebfd50e2da4b6027d620e379839cbdd56fdc561b47d55ac03406d576da0e2f298c4af7dd24252f3c0711d01ceb0ee3ca8f5c2fa9a371e5e3403bf76dfb90f0360df811bcf65e88462d13e46517e70dc25bf3bbbba232881c40f03bc711df54029be80ecaa551c692098beda0eef417e39b8c79a81f9acafba524d03af1595495f210dd7730effa7ea27635f6f1a7147c7b6c4f08b382b11ba63da1f03d4d1c4bb4d119c7415c29fb4f33407e9a6961f788a9e1ad99b47965dfcceaa910313f0ad7222116695b0b68c6fbd138a62ad928e29e4da5e3233030fc5d0b8b637031c150f305133b067b04d16b9a9f1c954c061b041226a1ffab3d2a62d02e652fd032c5977761c81e9b36fc8405359f30368bf67eb5432d8ec1ad5ce2c4a560008580376f9b51abf5992ca9c792eab67fcd453aa00cb4759972674c8df196cb466acbb036925df976f27da2792daf8ad7ca9ce8982fdb97399d0b378f9926c2ecc10d71003a01d49505d1ac2c6585f6b07b51e778698a1a72ab6424bec94422e2aa89b4a0c037581f62eaceb3d4b03d1f0060e96fbcbdfce05763dcbfb904597f9be0183c3b203721421a2c613edc6109bdd55f11e8dad1c83e7b0894d25dff8629a8485d1631803a7c0a7ac68befc2391260348e5c2890bd183b0252ba83639721be304aa18ec7703a52ecc48a1e7b04bf8ec616cf5f774033af7a0ed5cc174773fe73a8679d5e80b0373c3b55a4e74532b8776c30511cf3184c3ff3aba61062a93da85cd1bd5f348d9037809dc28f1d17c5051465cfe8b2389587be676a2f286e35a8485b749b2712f26032cd0e86977146fb080e2b3e71f68a431d37e9a0809e426397e6925078b1c4b7103275bb5f7dc5779b962e89b20fd03839e829735be21f8ce0b682ba8d9442ac06f0356d734e73af66ae37e471f6e1390eba4b7b302ffc9f55da403bda425164adac203d91a01505a7d71a65772a8ab0680b83f3ac49d54d70daa52ad5176411d04139c0335539d5c845275b59c99d20500715874569b64a30a8cd2bc364eb33e3c0366f903a014886e014d7f257c681f8644c7396838a597cbe5038fb656ea28261f470c0903c15f02a348004d7475360549a1f2c6a1123dcf5e0071cb2357d7f743ed8ccf5a03bbed2227b372331f5e917fc171908cd47f2f7f268aee3782ea035d0b630c63c30388801f197abd0b28ac341b59c4296f48b2595ba69d80b4d9bf2dff101cac2d61033f42dfe04cbbad5bfed739b880e94d71d0798fd88672e0b42f3ad6fe528b1ce9033238c22f9220d0b8b9361a0fe3fe50442133926043b7a0130bff9e78ec3dd0ab03c3c3b5b7d4ac21e41dbc73a3ef953fb8a8cf3ed1cf8c3b9e985bb53c2e454a4e05581e035b896231063af022104be92b5775580cafd1f398f022a3a231c161ed6004010306de9210574aff2143cb526db8a32609ce59a77b94cec0f6adf8cd0e08d1713903062323859c9de390b2922b36e9157fe1ef20de98dd9a58f051427550373fc7b40331b129619e445521edc0bf6039919885502a38f849470b3cd05e8057100d52010369dbf6d3b62dfee0a61a13fceb82f6f05de0aba3448533d0bddeedfb5c68f71904591cb5608060405234801561001057600080fd5b50600436106102415760003560e01c80639b7d7f0a11610145578063e2a3285c116100bd578063f45e65d81161008c578063f8c68de011610071578063f8c68de01461058a578063fd32aa0f14610592578063ffa1ad741461059a57600080fd5b8063f45e65d81461056d578063f68016b71461057657600080fd5b8063e2a3285c14610541578063e81b2c6d14610549578063f2b4e61714610552578063f2fde38b1461055a57600080fd5b8063c4e8ddfa11610114578063cc731b02116100f9578063cc731b02146103fd578063dac6e63a14610531578063e0e2016d1461053957600080fd5b8063c4e8ddfa146103e2578063c9b26f61146103ea57600080fd5b80639b7d7f0a146103b7578063a7119869146103bf578063b40a817c146103c7578063bc49ce5f146103da57600080fd5b80631fd19ee1116101d857806354fd4d50116101a7578063715018a61161018c578063715018a61461037e5780638da5cb5b14610386578063935f029e146103a457600080fd5b806354fd4d501461032d5780635d73369c1461037657600080fd5b80631fd19ee1146102ee57806348cd4cb1146102f65780634add321d146102fe5780634f16540b1461030657600080fd5b80630bbb7968116102145780630bbb7968146102b55780630c18c162146102ca57806318d13918146102d357806319f5cea8146102e657600080fd5b806306c9265714610246578063078f29cf146102615780630a49cb031461028e5780630ae14b1b14610296575b600080fd5b61024e6105a2565b6040519081526020015b60405180910390f35b6102696105d0565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b610269610609565b630bebc2005b60405167ffffffffffffffff9091168152602001610258565b6102c86102c336600461196a565b610639565b005b61024e60655481565b6102c86102e1366004611aab565b610a37565b61024e610a4b565b610269610a76565b61024e610aa0565b61029c610ad0565b61024e7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b6103696040518060400160405280600581526020017f322e322e3000000000000000000000000000000000000000000000000000000081525081565b6040516102589190611b38565b61024e610af6565b6102c8610b21565b60335473ffffffffffffffffffffffffffffffffffffffff16610269565b6102c86103b2366004611b4b565b610b35565b610269610b4b565b610269610b7b565b6102c86103d5366004611b6d565b610bab565b61024e610bbc565b610269610be7565b6102c86103f8366004611b88565b610c17565b6104c16040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516102589190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b610269610c28565b61024e610c58565b61024e610c83565b61024e60675481565b610269610cae565b6102c8610568366004611aab565b610cde565b61024e60665481565b60685461029c9067ffffffffffffffff1681565b61024e610d92565b61024e610dbd565b61024e600081565b6105cd60017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611bd0565b81565b600061060461060060017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd0565b5490565b905090565b600061060461060060017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd0565b600054610100900460ff16158080156106595750600054600160ff909116105b806106735750303b158015610673575060005460ff166001145b610704576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561076257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b61076a610e0c565b6107738a610cde565b61077c87610eab565b6107868989610f0c565b61078f86610f9d565b6107b87f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08869055565b6107eb6107e660017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd0565b849055565b61081f61081960017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd0565b83519055565b61085661084d60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd0565b60208401519055565b61088d61088460017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd0565b60408401519055565b6108c46108bb60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907611bd0565b60608401519055565b6108fb6108f260017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd0565b60808401519055565b61093261092960017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611bd0565b60a08401519055565b61093a6110f3565b6109438461115b565b61094b610ad0565b67ffffffffffffffff168667ffffffffffffffff1610156109c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106fb565b8015610a2b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050505050565b610a3f6115cf565b610a4881611650565b50565b6105cd60017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd0565b60006106047f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c085490565b600061060461060060017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b6069546000906106049063ffffffff6a0100000000000000000000820481169116611be7565b6105cd60017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd0565b610b296115cf565b610b3360006116d4565b565b610b3d6115cf565b610b478282610f0c565b5050565b600061060461060060017fa04c5bb938ca6fc46d95553abf0a76345ce3e722a30bf4f74928b8e7d852320d611bd0565b600061060461060060017f383f291819e6d54073bc9a648251d97421076bdd101933c0c022219ce9580637611bd0565b610bb36115cf565b610a4881610f9d565b6105cd60017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd0565b600061060461060060017f46adcbebc6be8ce551740c29c47c8798210f23f7f4086c41752944352568d5a8611bd0565b610c1f6115cf565b610a4881610eab565b600061060461060060017f71ac12829d66ee73d8d95bff50b3589745ce57edae70a3fb111a2342464dc598611bd0565b6105cd60017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b6105cd60017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907611bd0565b600061060461060060017f52322a25d9f59ea17656545543306b7aef62bc0cc53a0e65ccfa0c75b97aa907611bd0565b610ce66115cf565b73ffffffffffffffffffffffffffffffffffffffff8116610d89576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106fb565b610a48816116d4565b6105cd60017f9904ba90dde5696cda05c9e0dab5cbaa0fea005ace4d11218a02ac668dad6377611bd0565b6105cd60017f4b6c74f9e688cb39801f2112c14a8c57232a3fc5202e1444126d4bce86eb19ad611bd0565b9055565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b5490565b600054610100900460ff16610ea3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106fb565b610b3361174b565b60678190556040805160208082018490528251808303909101815290820190915260005b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610f009190611b38565b60405180910390a35050565b606582905560668190556040805160208101849052908101829052600090606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be83604051610f909190611b38565b60405180910390a3505050565b610fa5610ad0565b67ffffffffffffffff168167ffffffffffffffff161015611022576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106fb565b630bebc20067ffffffffffffffff8216111561109a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206869676860448201526064016106fb565b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff83169081179091556040805160208082019390935281518082039093018352810190526002610ecf565b61112161060060017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b600003610b3357610b3361115660017fa11ee3ab75b40e88a0105e935d17cd36c8faee0138320d776c411291bdbbb1a0611bd0565b439055565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff16111561120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016106fb565b6001816040015160ff16116112a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e2031000000000000000000000000000000000060648201526084016106fb565b6068546080820151825167ffffffffffffffff909216916112c39190611c13565b63ffffffff161115611331576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106fb565b6000816020015160ff16116113c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f742062652030000000000000000000000000000000000060648201526084016106fb565b8051602082015163ffffffff82169160ff909116906113e8908290611c32565b6113f29190611c7c565b63ffffffff1614611485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016106fb565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b60335473ffffffffffffffffffffffffffffffffffffffff163314610b33576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106fb565b6116797f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08829055565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290506003610ecf565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106fb565b610b33336116d4565b803573ffffffffffffffffffffffffffffffffffffffff8116811461180f57600080fd5b919050565b803567ffffffffffffffff8116811461180f57600080fd5b60405160c0810167ffffffffffffffff81118282101715611876577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803563ffffffff8116811461180f57600080fd5b803560ff8116811461180f57600080fd5b600060c082840312156118b357600080fd5b60405160c0810181811067ffffffffffffffff821117156118fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290508061190c836117eb565b815261191a602084016117eb565b602082015261192b604084016117eb565b604082015261193c606084016117eb565b606082015261194d608084016117eb565b608082015261195e60a084016117eb565b60a08201525092915050565b6000806000806000806000806000898b0361026081121561198a57600080fd5b6119938b6117eb565b995060208b0135985060408b0135975060608b013596506119b660808c01611814565b95506119c460a08c016117eb565b945060c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40820112156119f657600080fd5b506119ff61182c565b611a0b60c08c0161187c565b8152611a1960e08c01611890565b6020820152611a2b6101008c01611890565b6040820152611a3d6101208c0161187c565b6060820152611a4f6101408c0161187c565b60808201526101608b01356fffffffffffffffffffffffffffffffff81168114611a7857600080fd5b60a08201529250611a8c6101808b016117eb565b9150611a9c8b6101a08c016118a1565b90509295985092959850929598565b600060208284031215611abd57600080fd5b611ac6826117eb565b9392505050565b6000815180845260005b81811015611af357602081850181015186830182015201611ad7565b81811115611b05576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611ac66020830184611acd565b60008060408385031215611b5e57600080fd5b50508035926020909101359150565b600060208284031215611b7f57600080fd5b611ac682611814565b600060208284031215611b9a57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015611be257611be2611ba1565b500390565b600067ffffffffffffffff808316818516808303821115611c0a57611c0a611ba1565b01949350505050565b600063ffffffff808316818516808303821115611c0a57611c0a611ba1565b600063ffffffff80841680611c70577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b92169190910492915050565b600063ffffffff80831681851681830481118215151615611c9f57611c9f611ba1565b0294935050505056fea164736f6c634300080f000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582103fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe399914308046020100000001005821032a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82042dead005821032153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977530410100582103c15126c9d6cb6094f5d6f3cb2aac8dcbb22b2a1328bf6794f61b5e641c1be8e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219458405581e03b7bf2fa8297e0d14a606e17ffbe9a35d4005a9b3d1b6a96975e43829500701191cb5032fca68d4d2f49ec679aa5e69b1afd2109365436b5373b1a8f78f9f3ecbeb60b905581e03b1d9c03c7f11435ddbd67c19c49a211fb04954ef17fa037d367be907b00c01470801b3e70010000219f8f00219ffff03d32d25638bfe7d1a589788e1c4dd2165425f5f55001b1bcd34d520600c6a1274031b58cf9e581cf4004e7de7da067becc54b669a06f7d234fd7aa57f2344263d1103ad60bd4763dbdf6756cbadcc1b8c3b33f303f35ee63b3c4ec508b34338b312aa03f0d859d5dbeb14493912fa76650d1bbe5b8ebdaf4adfd99c8e82918d2da553f30356a04263fe22dc2abe8dff9af9f0fe27bfde1b9de5965869536a435079df9f4903aa1172e70633a4524413bf515ae5df3f2e30f2e9b6e9124dcd7db91081e8e2c303827011d6f967e1f7482fb8493b07d1a7f5f0aacdc3cfda37260970f05ca2aa1703f38a6f330c2e5516edc540bf4fa6bbcae6242b6f6a37bd35488d849c9a21766903da75da7b964182197593faa32ce25aa06b197898e8154c8792e7c99a690e1c770219ffff0351a87044cdf6030cf30761de7d61d668823f91d442659fe56239f66cedb0fb5403b5f6dea471223d516c92784d1f64ad971e1c648f2aa94c4ed910360d87ab987203f51528939a738ab56991d35e7e5aadf6571de55fab49ce3ea7d3dd8e336eba920219ffff0371de723acd054a03346d971a7fcbdc128109d2ae80d5c9e8056988bc01618b24033209db80b7d5ee2446bee1cc197f562bbdcc261f1a6f1eb800683b6db9f9b9eb03e922e04e1f018092e106e674a52d094c688fb6cc945eb95b219dcf5e1987bf2303277bdc8c955c5a5ca33821effc639bbb2e657dfefdc6854014c442ac07ad67520219ffff036dffcbdcbce8ec6ea343c9e6b29646b487aa36b6d9b7bac077a0f2b34285e7620350bc151ec29b3c15e64422df0418a7b2e6b91495ef832477bad014cca57c3b1e03089cd1d8d398beb8dc603bf3e89c1eab6f6714f7169a94b1db802b2c18200d8f032d58e1b47f9e73c9b07cd2e7092bf6ead24c6bf0d7fdd96d9344bd54464e2c1603b17039cf0c4cb18de92b3e7ce398707b9d7cb4627e9a2af37e6a14ee34f2277a03c7618f13dcca9be395b58789ba7b8a22adf9aef37c9dfa56612592880236f68603d92410698a0572ba653452ca921c03b3c887fe50380f2ab5c20a26360315543b03e38494f19d468a464a4206c6fff98cfbb8d6212db672f7e146b6bf029c754149039b03fd36e42c71b5e6273339b6e9eebd9422583397f0e83f9ace2752f558541803ebc263524f14c11216ce45320f1ba9909b7da907eb1c6dfa7d901d3fd7854f2403ddf6e9977058c41008324a1f790e7eff944b87015ade6789b83baacfd70621bd05581e030c58ceb8e614924dc1a9c5a68b07af5654e4c5b6735a8991316685a9600c01470b16349eac0000036e1d6230abdfd1dd77968b1fe9cd0f512e7535ec54f481d66e1df88d3ab4731c05581e03282a821cd87e1a95f8339fc12b7b7475d96c1ea06b409dabd69b3ded40040105581e03e884e73dd90fb856fa8cf22d3d45cf04ebb2c9eafd9f66615e3a6a31300c0245012a05f200039cf4100dc54b4bd5e52ecde8ef8a513d1b824d836da0dc1cce7f34b3b722b7de03377461bf3bb4be60c9f29388137c7eb8cc82779db8cf8168cb4734b548a966b005581e03d879d6da7a6d1e05b49f9791e99a51bf2786d17876e1f0cbe3c49c944007011bffffffffffffffff05581e03cfc19d0ffcaed363e178a5105368d9b57f60de4de4a43da6d59eabf9a0040205581d029eb15430709d5fe738762d66e13672696686f556ced8dd1de51762720c0247013a700629a9e705581d02b37e92e3458f5d74b430f10ee7c2f9a791c6eefc2ea1845e89fdb5f40402020505581e03b295b4d36f0d37b7bb2b6764db8ff36a8fa63cebdc06342e709b56ce500c0146befe6f67200005581e0369fab9041e1e04e19aae504c1c97d389d57a1979f5eca532dd81964f60040105581e03075dd09333eb10d26f373e175a546c9773f4a3cf0493c3144aca3cf260040305581e0378f0332baba3da3f38c79a489925c16ca1bf00a9462ee45b04a646c52008473152782f2f3c0005581e03e889c87f8e57967d0d01fc390ae9260e862b00e23ec0a8e167adbffd200c034702c567e6ecc0000219f69f0348a8a72e90fb672865c42161301454af9600dc3000be808a244ed1fc686768c303441619340d88b82fa943c7e0de019fa09d1a002dba5700ce91783882f42ca7f1035a9152cd3d7b610b865fe2a4a110d627933cbdb801936a4015703e3ad2c435da03f180150f1d910d10221c64f06337f4c47eb45243bf1d939e932aaf117dc2b88103e0703e4528b3f1c9c85375b19f569f49f74b3af983a08fccdb0c97acc652b79b03f46beeebe20a957aa2e353c49bb053ac231fd3ed1eb34375bac6291eae1b600e0334c389928e3757de6580bb323279a7e1b7eef2a76232ab74fc9d7a942785744c03d997bc57685902ed5e65d104e0c21c2c3318a62ab59766a668bd453011eccb6a03ec88b1b125e823700d283db5e259b6b34fa9650d4404a394656db0381981d23b0316b2669151f19cb682d898d67a11c37a0b7d6cd871a867b6fd63fd06008e265a0219ffff03e2de6899d9c5f19bd7426426eb057e4cd2ddff9d266d57796f20b9779b707acc03d0d3385125a15fd6f1d61ab043f937b7d6abf5bfecbb6afd39c43ea2e716e90d0355d21ace25db0a18af2fd58fad5fffde91774d10545df346208733709f0b3b130394513ec5198760096c056cc644d658ffa6cd562d9ba49339852aa4fc7c6870a703af10f0a8cb09dc60556ceee140e9c6f0b9660ca2f28f9b5c3ca8995927bf87e8036252f540e3d041f1a9b2bf681843e70bb45d4dfb50fbea49aa5585a78094e594037ab4c78ec2c824466ed46cc047624283a8c850180c366bafd25159f46d2b18f303220ddd21e2cc28d39e680684ed4765d6d9183b31cfcdc33e6f628b6866f02b95039f0efd3acbf79d2cc4073fd79ca771aeb0696ed2417bddf1c9df4345ab76ce2f037a3c55eecc99fbf19e15c60a7e8663260b771ac0ff04502f7545343576425c5d03cdce5986a615eff422e543fa213e510ee73d54a4fd564111da6ee6eaba4adc23031aaf23eaf1f146e45f796d0945abaceb175349df75036ba499f79013d088ea330219ffff03c56b20ef017c1f215220ff5932ed5930f95548fdd056bd4b3f2c4534dede15720362aa763ff8946db136f8bf8a5f01731c0908749310fe316dfdbe8020c6c2218f03a0e7d3f41571292233388986b9fce2a69c1dc774bd02a7ddd9da8fe4264a420b035420937f418e49255c19ef65705d64bba5ad35773365a94d164d4e921d43c4f603b38c35bb21d6727f41a1cc00f279702b25a04ae43cbb4e5ee2d765e98c0e5c9503dc4e25ebc0c9fdb166be1378c1d4be995cfc65772b10575340ce20b539d46caf0318b14a4256c686287f11f39f68874bbd49494cb11955be36a1204ac6e75b3d8303b4f9b7c6ee3c9d49e3dc64c913d3dd8fc8cdbf7cf6bf147eaab560971ddafe2e03db873d0ccda3784a38505c683626d026be377fe3b5c0d091b7bf9121f669996f039647f9c569f677cdf3f61f1f71640f5b4f354fe4b5a54c320f8c453b6217815903238fbfc75e61e1d527ca420134a5b1d9a8ee8522fd890ac4e938ab98512f308b0321d16bb5f1bce433afaa8dabd8b3dc4a91bf452acb52da6731f11d8e69ca897403e1d075339fc35bfc376de5f3feb6d4ea23f1cf8e24943b23bf0ab0483bb09c7403c19098b6339f91cd388416203896f7bad8a4c10ef37a82042e0d279bb3eb7d9603789f337face7e30f8db9812984b516dfa4655e4b70c7d86f983871c0aefdbdd005581e03a20bcd4eee6f1931417b68bd86170665848252324020bd34e5a6140e000c1a0022221849051e392d73e8fe5c9703f9e34d31d475505b8923ef6fac5563fb20cec5f6918ff45d1db42dd6e831093c037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03c2327cb2a6499a3dd44045888fff9a55d1761107eb82ec224a9c97497007011bffffffffffffffff05581e03ad07353584282b82684c9a7d07998c58097660df0009276ad4315e5300040105581e03b2bbae0f69a7bb86ccb386c423f89b04b3db78ca0ff0f98b34268e89b00c0147c05527079108a405581e0300e387caba90fdf4b22b01563ed4378c27182135a59e27f2e22a3bfa2008470dbc5afeb8a82003bdf7addc41fd2476f06a4ada006d0fcac1f9984a7dd234551ebd550c92f3e44905581e0382d4877459b2dbdadde23684cbe460520dd248fe2b8460d97b5f77d070040205581e033caf787a5561ca18c87765a29a011118d5636581150d8eb6e2803306800c0247050ade960cec0005581e03505cc098fd6397b74148190a1c4f8615d56822a613119521475edc65c0040303b3c8331a1d854f6688f515e72549f2e05e0137e03a28c3c7603600e5d1faa3240219777a0331e2d12d7cd19201acd3d0e86f57c7ae2c8555a76cf86944757bf1bdc78b6c55032fd63621bacde71c9d1b05340faac3ab571bf31b2cdfa7a58bf6a036589a02370318c25ae7ea63e7c2533830093eed58a8a7fa045f81d5ac5e4363497986b4db7703b1c15646f3dbc92c0d45df14e4acfa527667d50a2ab1f7e1c9ab9ed3e0953ec703190dd54425260121706ee2774e21fb6ac929e7fb8ff206bc9752eacc7fa6e8ba0378d13eafbd525199dad1b32fee880fb0c68c49a0fe2ce7b025adb125f5a8ec0d03ae38a07699f11309e1025a441b6854a23bd786ddc3779bf43d5d77c81496ce3d03a74e05a7d3361c793034535020797d7c2fe0fb528d87be3a9a85e29d037dcaec03f04e427e2c3b7ae5a41f48788dc5e3b7bee13e246def1029e408a420fd5ea91f03712a9c37d29d7f5335696226afdaa81d22c0d9cf92ea56bac220d12ac4e048ba0321dd2720a3df5fc7f79095640206536f4c2590d62a8d28efb80326505b8c131303971c9839a1aef353077d79faf25cba48360877854d123a41c5d6f145cebb1fa10219ffff03fa3b4cd51ab635a5232f259b3e480ca203c7d2948085574f4e6af389a7d2e2dc03f2745a63ad12d7a94ed922dab7a2db6379c83533be4b470ac1d3fd0070a194370351176e82623198b03ef1409d61dab38e42b2b5d9a3f8e07bdd320fc4817bc46503e046b96dcdc23eeb46523aff2cdbb8a8a8c66b465395d309c10c38846c9f94b8036c86836eb9cd1394724d98e33991d04378f5a7fab051d8d2dcc4fa24247522a403792321c04005ba36d0857606002acafcd94a53ed71fad6da0737d721b652d86003e8617f14b12196cec826b081002f8e9bf3923a89513eb7897ff8128a5ffba6e003eb69b1c3bdfb6b89f2c0cdda6739d46d1f68666dced50da7f395b9b9efb464c7034b41fdd8fcffa25da7f0beb6ddfc518769d4921df891edb5f77923b8ea8c247f0219ffff03bbbdb85d07ced5169699408668013f77f82694d4c56c3987dc61c0bfa2ab61450366e8383e4dc6575bc61b892e124049bbcd12b7f1beb0b18e987d8df8cfdb61d40317f226666b45658abf5c89236f180affd9efde9f5d41b6f50c7f5bf4115fc70e03090e8fcf6b4e1071ff239dc0ebdfeb48453c0a64684e35c216d3b40985cb5c8b03566f71e370a0266cd49aa0a525863bea01c4307373737f072aac8c4226b3fb7403140b8cdf6f149c172e015582092770e5188fa40812a6799cdb7a74423252fa1f0219ffff03fc11fba8f2dce61b293eb8245d5b291d3236733b8e29586278ea49846586993a03db465821bd39c9487dd7a78beef8b6280152e0a61c1ef429604a1c2738952c9d0388e1ad6dc7e89024feae403d09bd2eae3245ebed060f01ae9186c8e9987c5582033ddc05d8f1eb68a5704bdefbd4364b7303601f9e1a2016509e4aa5c02c07a252036889da9ee29609f90dc65841f1a9d9b93fe14d146abf9e3b0bacf9473cb1b24e0378cd8b61858c9c202f644e2df66a782a16d4b4527cb6ec6144f51867d7e55751031045c58b1a8ca9f6f89fd93e859055f8d1dee3ab8f9fa740964c4b10dc0ba52503915a4d31be5c28a95d28e9b02b18bb0fe9dd0f2ed55e4bd194bde153e0d90df603ea051ab41e0f02564c0ad2fd3195d55d77707ade4c45501f87aabff3af80b8dc03ae21135ac8a13a0499088388f60eda08cea7eab84429718a2a462138ae5ac05c037882cc534e77f3cac9a14c24f20c9697ad6d938ea9f2a520dcfde777790051120379a8ad2342a7e5de1858f0296c2ff74e98c0c913481df5d03cb75e2bf9fdae8f031612a170f151e3d0117ce9aeb4d719a9990862b00b7175a1aec9f3f8e1b1aab103f849e73082bfea5381a04c0c3decee46d9eb7894fa0473adbaf6b398f86ac4110353de41eb788bb6d4a65c873a76ddf4307fa28c7e242901877fd614cab50abc0203907cc707d906d7c62ecda0ca6e0b5f991277c5d905eb53e2ae78a33e7e3db12e03c41bc78119796557c13adc686eb162282945385c7f72a191aeaedb0f40253981039e55d7c9e52132fd7931159e6138ad15d69b64cf813f0e664e3588e1ff20e2eb0363412cf1bc91ad09dc57577704e760149b2ed6f376158ff4c372d895638c5d1003f2c38ebcfeea9189db805b17cb24330f5213b1a02fd35a124f9e5f9b3d22501a03b3ced0f747f1c8d92553a527b47e2caf4158a1e70a4eee302fdcf01114418f6a03bd991a06c1eccc65d0543c61185115c5de5b114a74f335761a099ec2001052200347486aeab74cc1a78a4d9784b86fba57f7ff4b165ae4bdfa9f32ea40b97f5cfd03d7b0cf414907e2ce0b684825d69e7b50705168e6b51a6351cc68eb8e088b77b8032536788826751d9c264f8769b2006616345cb9ee9fd3922dbc3ed6eb479de9d503fc9b7f857e22b2386d4d4be7fbc53ae1ffee7f4fd8693b7c8901349a2242231803caf5d5fb69f692842a575c9c18563ddee9634895ff010ef63c6b8dc7aa8613fb0347cf4cf0fbc4d2f71d8f5c22da0a924e6fb74dc1e8db7da698fabb17148237ff037830b218fe37f655cc633ed6292be0c0e828e51c89d31958e61976a9399f4d9003eb6f8b87dc45e8c828719d73561aae0d68f16d60ebd480a0d23cc2e4aa9fe73e03fdfc11983aa48349e8cb54c3b9bca66c379ee97eb4899f7d3e134f7b38447e97031b2be7f5923f17296fb6a532fa343e9f336df6db1d37d650aeb5e7a892ec79f503b9cc8a3ed7473581c52c86ee01d2c3759094ffe021655b1bab179b02fec8c8a203187f24519d8cbd0b312c44a7031e7bac8ecc6df7bdff7ec20359f2795fc0864f03044f62bf9cac7bc705683b156391430515dd1643e8c5156d846fb6db532feaab03a548cdd729d4dc610e87f2f67762e627ea51088d65f2fc5cdb5299b397cb849505581e032cc9a49469375e004915abb2b6da3d7316f970ca8b5f7e123dd153ab00040205581e033d9ec72fd972254a7dad5d4707591632716ad0f2dfb66cf85d60be5700040505581e03373016267b4602ad30214d2878660b807c93773787beb363f1733b23300402045909a860806040526004361061005e5760003560e01c8063893d20e811610043578063893d20e8146100b55780639b0b0fda146100f3578063aaf10f42146101135761006d565b806313af4035146100755780636c5d4ad0146100955761006d565b3661006d5761006b610128565b005b61006b610128565b34801561008157600080fd5b5061006b6100903660046107a2565b6103cb565b3480156100a157600080fd5b5061006b6100b036600461080e565b61045c565b3480156100c157600080fd5b506100ca610611565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100ff57600080fd5b5061006b61010e3660046108dd565b6106a8565b34801561011f57600080fd5b506100ca610716565b60006101527fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fb7947262000000000000000000000000000000000000000000000000000000001790529051919250600091829173ffffffffffffffffffffffffffffffffffffffff8516916101d4919061093a565b600060405180830381855afa9150503d806000811461020f576040519150601f19603f3d011682016040523d82523d6000602084013e610214565b606091505b5091509150818015610227575080516020145b156102d9576000818060200190518101906102429190610946565b905080156102d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4c314368756753706c61736850726f78793a2073797374656d2069732063757260448201527f72656e746c79206265696e67207570677261646564000000000000000000000060648201526084015b60405180910390fd5b505b60006103037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff81166103a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4c314368756753706c61736850726f78793a20696d706c656d656e746174696f60448201527f6e206973206e6f7420736574207965740000000000000000000000000000000060648201526084016102ce565b3660008037600080366000845af43d6000803e806103c5573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610424575033155b1561045457610451817fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b50565b610451610128565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104b5575033155b156104545760006104e47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b9050803f82516020840120036104f8575050565b60405160009061052e907f600d380380600d6000396000f30000000000000000000000000000000000000090859060200161095f565b604051602081830303815290604052905060008151602083016000f084516020860120909150813f146105e3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4c314368756753706c61736850726f78793a20636f646520776173206e6f742060448201527f636f72726563746c79206465706c6f796564000000000000000000000000000060648201526084016102ce565b61060b817f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b50505050565b600061063b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610672575033155b1561069d57507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6106a5610128565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610701575033155b1561070a579055565b610712610128565b5050565b60006107407fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610777575033155b1561069d57507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000602082840312156107b457600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146107d857600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561082057600080fd5b813567ffffffffffffffff8082111561083857600080fd5b818401915084601f83011261084c57600080fd5b81358181111561085e5761085e6107df565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156108a4576108a46107df565b816040528281528760208487010111156108bd57600080fd5b826020860160208301376000928101602001929092525095945050505050565b600080604083850312156108f057600080fd5b50508035926020909101359150565b6000815160005b818110156109205760208185018101518683015201610906565b8181111561092f576000828601525b509290920192915050565b60006107d882846108ff565b60006020828403121561095857600080fd5b5051919050565b7fffffffffffffffffffffffffff00000000000000000000000000000000000000831681526000610993600d8301846108ff565b94935050505056fea164736f6c634300080f000a00582103eb057a2011635d6eb70d82191e033db1b494d67b4270a062b0f81607571543f046016781ac5122005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d48105427ff92b30cae00dabcf8045cc68fc9dcb67c501900582103f9b929e9ecbbc0f964c7d1d846aca051190a8fdb08eb0a26bfd2da4666bf3b704430ad787d005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05420f1380a78492227a9b2366242335d684af2250700582103d29dc2a781793c1abe2e4a7939e8e2093db60d171ba8d1608592462ea6959fb0495c564feb7f2dc711b600582103fc79fd9e35137c442443bf07bb8f0842b034a4c5ca628411531f75146ab91d504609650509ab310058210359a29dbf4268a5cf585d69408057722b414c0bffcdbd079e609b3c4b2e114e004b085bf4a7f2c1496473c97602191ce805581e037ab26607c9d6c26b6dc0255e8916954007110749cf3433b1e341a8e31007011909a80305983fd0c45b8dcaadab7c31bbc64090d190523a239f5d8f4c0b5bb4aadfa16d01410803a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03a13ab03d61e278ec5e6d62cd09ebb831d50b594cb447e6f6ece8964d0007011bffffffffffffffff03a748bfec427eab1760c106a0ff1bea91321acf6c6b89e9e1e31d031fc0c72fbc05581e0367cb91d6a3e570da1e8d8ab7d41c518ed954e443c4f5cf2fa1a41e94300c01465312b9db0f5005581e03718e85441a6cd34dbda23d59b03efc000c4a4815cf3911b426335820600c02461e3790b7d000036b1c4beca00d5a306c87fca0bb333021644a8ae37308639e085f5e8a65c8ba6705581e031943c3a1fb41c9abdd35c672b22a72ee96c360e31582bcb7b8622c86e00c0247037a65333c30800219f3b303f23fc5fe39f7b1b25ae640de377bb41cea90bb9dcc0581b1fd2bd8d8eec367280385c3c4f24e62e184c3c817cf44a5d8c70e50bd55a8ee91a577d2c8be57e3d8a103f495c4f135c976ec32c816cf0345e230727db4e2112ca6b739893e72f875b4d203451354ca93fd11cf93cfb9cee81df8d924e1b46b56e11970633e0c01e8ee389003147e92a29de490fb3836ce78a9896584cfed83d1d7778c90f7341a934ec964d60219ffff03c6dcf07161843adf320863cf94abe7c603c688e2bcb819f09d8f5c458876647c03d66e7548b293655ed609af73288331e12c8a0fde4f3640808e93529605658bf20330c9c0094e405df8fb8e5586d58e2237e8ad4fa1cf09b04ce71d8e57c5f4858003951605284c47847cb78fb837959c4811b6745e1fb40532759037f1e1fcec36b703b025d9f330e8ce08ce6584ae0fbb2fc421d1d883581e1cabfa63b865189c957203b42ea14612eb30cdcfc06567a9593547da93668a731b25781ea39e357f21373003f5d8be66a9fa22527a3553b8bbe78182eda8b97f6eb86287f2b21da259dab08103ffac75a89240c52202ece80fb06395b2befacfd9fffc76c88dff94b0ff48cff903dca4f9b5d97ad19a85319d067ff3eeeb4efd27cd7d7f6909124a2ca6ca973ade03b27f159a8389831af3896691a81fec220693286b9e7b138d6d127320a527157f0219ffff0219ffff03814736fba18bbbc802d99a9c7befef61a875262249f7bbe42812daa9226781ee038ea42fa330ed3455a2955f848e61ca3fc568a88b2fce849f3acf08b8652ce53003b51ad33e4d1fba362af4896ffdb4638484949acb3b22b3c58290b279dc47fad0032712e36e40a6d482003d830ae0d95d465040a9321c45945fc92e5ffef7b284f3031f243b0c787442fd402feb9ea1bc11212f3494cbf2fb536d3f82c053a7406cc603e51c55773a39bf9083e6b15de566ae30e9b88429b583e2ed65daaf0e30771b84036d87074815a9ecfe8624c287f6be39d8aef9acc509cf63b4ce8ba33d306a32e00219ffff03f054014efbff8edb545507555dc17fc2f9c0a8047b0199da42edef95d328e279034875cb69e09fe6820a8b7c5debbaafb53a768842f69e948f19ffcdbc4816b96d036377c0dc8f9819f743bc789066d2452e8865dd7cd224e3649a7c8c7487ccc2ce03f05ead5f45a3403e8cc33917986e1ef305df421cb5332de67b827afe507964d2033788f29fec93f6a0ffecbf4d3376ef7d0afd1bf293954659d683fc49c059fc5b03f72582eb1c3722cf9adf7029bcdfdc32eea52b580eef5d7d758eaa44b92b2a3c037cdb3e17d26348b3457e4dd3d96b196ae884df0786211ea81200a3536fdd521b03e2c72137d655be26d83a9039c6ac0640fe162f545948113b8446fa59dbd30503032b0c61e26f6b31304accb59235fc8b504067770801b0067dae40ed9d3c3611ca03221387767afb6f956f4cb66fe062041afcc2baf0a432bb214524cbfdeff44a9d032dd3b3089ad42e7900d2778a68c7a48eb68b445cf54e12766386b830d8a8599903fe356f5986c04c6df3c371dbd0f9e81047cb8cf2b64e1fdb4c51f573bbeb0da403c28b342ea6b65ef24133c9e508dfbe6a36ca8aa47d740a03a33cdb553ed4f108037941892964269d12bd44637d7defdbf33cfed3470b062e5981cd31e2a86981b403da557d0ab038c2dd6d7e02790f61bbe70a86c1956c5a2e840d36389fd84c188703913b051da82a6b682e329083d6bb76f329010d08e12414c308485a03b62f9da50309942a543ac6b4ed21f118a46b293c9e28679a2b4e9ed88c5c21d404e1aac7d4031956f7c11e7b11cf65480ea3c2dae5aba5545e7e1696fa871198e8011b415d5803a23bdff78c32f0f52f1228ad20addf83d9ccaf24f3a9022af096c93a50d64294035bd78fe37638fee43da88bb89c7ad368559e960baf47e8561fac481e80b264da0383d9113df3d6f04d9d4a132fce1009193aa5e93c7bb0b28694708461a628bdab032760be42693fc0aa2f080eff0889d29b9205c833a5966d0a593668fc4235df0d03ff5e5516ecf4a3d8d60f977a9447bcaddbdc8c7def1a0832a1f592dc30fac5820372ac82eee92795fded149b5231383d75b7fb03aabad663f21ae914f27fe57e4d031f84d7a85fe75c72c5b44f58cd48dda444fab0d2d3d58a2c9b8ffd0a9ef2644103c00f6c64f74513e38cbb52857a67cbd9dc07b087eabc62f0c3396547bff75137039c97502ee4a45a8019497f6f3ae1d278ab5711ea3d5a3cc1d4722fb9e74b71860375f2e075171632682539e762591514e88082771ce17ded354072e4541d8ea23e037609b593ccefaafe8c7c75c679f61d6c8b9a849d66f06b2d1b07948881be981803867c6e42114dea0cf631db2a520012c89ab0df19b573013b3b7f223630e78967033d50c53babe5cefe64695b85a88e9a60ee24d14cfac2530f70ed3e3d98bcd9a903c7dd92de48e46f35d3deb475573c21e68c79a8861f549fbac5d1ff0d256d826f03a38af42e107b4f239ec4d9ad0f1fd11da4c8b75d23c3c8cd69a3d9949284ee9b030d830a156fc8cf4f96d25ac2e46c0ba1f66f72bf28b6b5408c951e301d0d2d1903b3fe230487a3f4bff69e72e127d982e4f88db68692992388054f5be95ea05c6b036d6e336db57294b124b8218ed46bd6877e03a7c3c86ade8bdbf8f3542e44c70e0372f8ef473b0389ee47d9cf6777803c9aeba0eb6aee7b5172d87d3445ce2febd3033b46f9287945adfa41cef704504439803ce883b965e6e1641323dbefcaf0a06803647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d031d0fcba59d380d862ee5bde4df9a88c3a39933097b29af3835741f15cc77fd6905581e039f9c86bc296678c378122d9aeda7aacb9b93c159338c40c236d8ec2df007011bffffffffffffffff05581e03b8a313ed02d00f90b2b84f9497064bbffe5de592e5624906ae273971100c04470bd986b6cb750e05581e03fd14f62b5a5b1415a317e5b4faf84a3dff9d8a2228bfec7a79e7c031800c03410103b410a51a90552dc7b17236bd0b92a50d930d9a42f826e4e75329d98a5298b78f032f7b0f874c4597e1c446075bb54bc83ab2ff48f651c02b2615bcd7ae7039dcb003c8f0ff6cf9a75064a9a84cb563b1deba89e317c1dd0f6b025ff6a294e0b88ef6031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02bc306a74d5abadb373eac99ac1b7c15d1a5913517b35e432f1567edf07011bffffffffffffffff04591f2a608060405234801561001057600080fd5b50600436106101c45760003560e01c8063715018a6116100f9578063ab88256711610097578063c0e4d62711610071578063c0e4d627146103ad578063da742228146103c0578063f2fde38b146103d3578063fa5e2abc146103e6576101c4565b8063ab88256714610363578063b5ec999914610376578063ba8dbea214610389576101c4565b806385dc3013116100d357806385dc3013146103075780638b56d0b71461031a5780638da5cb5b1461032d578063a53a225f14610342576101c4565b8063715018a6146102e457806376319190146102ec5780638456cb59146102ff576101c4565b80634fe2cf901161016657806357be34681161014057806357be3468146102a15780635c975abb146102c157806360f5dfda146102c95780636ef8d66d146102dc576101c4565b80634fe2cf901461026857806356e3866d1461027b578063572b6c051461028e576101c4565b80632feb4d54116101a25780632feb4d541461021a5780633f4ba83a1461022d57806346fbf68e14610235578063485cc95514610255576101c4565b8063128161a8146101c957806320b6d047146101f25780632cd271e714610207575b600080fd5b6101dc6101d7366004611832565b610406565b6040516101e99190611df2565b60405180910390f35b610205610200366004611885565b610445565b005b610205610215366004611832565b61053c565b610205610228366004611929565b610592565b61020561078c565b610248610243366004611832565b6107bb565b6040516101e99190611a48565b610205610263366004611853565b6107cf565b6102056102763660046118e0565b610860565b6102056102893660046118ae565b61093b565b61024861029c366004611832565b610a1e565b6102b46102af366004611832565b610a32565b6040516101e99190611e45565b610248610a44565b6102b46102d7366004611832565b610a4e565b610205610a6c565b610205610b00565b6102056102fa366004611832565b610b49565b610205610c0f565b6102b4610315366004611832565b610c3c565b610205610328366004611885565b610c5a565b610335610d18565b6040516101e99190611a34565b610355610350366004611832565b610d27565b6040516101e9929190611e82565b610355610371366004611a03565b610d40565b6102056103843660046118ae565b610d64565b61039c610397366004611832565b610e89565b6040516101e9959493929190611e4e565b6101dc6103bb366004611a03565b610ed5565b6102056103ce366004611832565b610f1c565b6102056103e1366004611832565b610f64565b6103f96103f4366004611832565b610fd2565b6040516101e99190611e00565b61040e6116b3565b506001600160a01b038116600090815260cd602090815260409182902082518084019093528054835260010154908201525b919050565b61044d61104e565b6001600160a01b031661045e610d18565b6001600160a01b03161461048d5760405162461bcd60e51b815260040161048490611d09565b60405180910390fd5b610495610a44565b156104b25760405162461bcd60e51b815260040161048490611c4e565b6001600160a01b0382166104d85760405162461bcd60e51b815260040161048490611b0e565b806104f55760405162461bcd60e51b815260040161048490611ac7565b6001600160a01b038216600081815260cb6020526040808220849055518392917f54c6d53cb907f770de602de9044582409b81724f06f763820017fb8ead31706291a35050565b610545336107bb565b6105615760405162461bcd60e51b815260040161048490611da2565b610569610a44565b156105865760405162461bcd60e51b815260040161048490611c4e565b61058f8161105d565b50565b61059a61104e565b6001600160a01b03166105ab610d18565b6001600160a01b0316146105d15760405162461bcd60e51b815260040161048490611d09565b815183511480156105e3575080518251145b6105ff5760405162461bcd60e51b815260040161048490611ba9565b805160005b818110156107855782818151811061062c57634e487b7160e01b600052603260045260246000fd5b60200260200101516000015160cc600087848151811061065c57634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020600086848151811061069457634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600001819055508281815181106106e357634e487b7160e01b600052603260045260246000fd5b60200260200101516020015160cc600087848151811061071357634e487b7160e01b600052603260045260246000fd5b60200260200101518152602001908152602001600020600086848151811061074b57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060010181905550806001019050610604565b5050505050565b610795336107bb565b6107b15760405162461bcd60e51b815260040161048490611da2565b6107b96110cc565b565b60c9546001600160a01b0390811691161490565b600054610100900460ff16806107e8575060005460ff16155b6108045760405162461bcd60e51b815260040161048490611c78565b600054610100900460ff1615801561082f576000805460ff1961ff0019909116610100171660011790555b6108388361113a565b6108406111c1565b61084982611245565b801561085b576000805461ff00191690555b505050565b61086861104e565b6001600160a01b0316610879610d18565b6001600160a01b03161461089f5760405162461bcd60e51b815260040161048490611d09565b6001600160a01b0386166108c55760405162461bcd60e51b815260040161048490611b0e565b8484116108e45760405162461bcd60e51b815260040161048490611be0565b6001600160a01b03909516600090815260ca602081815260408084206001818101805460ff19168217905560cd84529190942088815501958655526004810194909455915460058401556002830155600382015555565b826001600160a01b0381166109625760405162461bcd60e51b815260040161048490611b0e565b6001600160a01b038116600090815260ca602052604090206001015460ff1661099d5760405162461bcd60e51b815260040161048490611d75565b6109a561104e565b6001600160a01b03166109b6610d18565b6001600160a01b0316146109dc5760405162461bcd60e51b815260040161048490611d09565b8282116109fb5760405162461bcd60e51b815260040161048490611be0565b506001600160a01b03909216600090815260cd6020526040902090815560010155565b6033546001600160a01b0390811691161490565b60cb6020526000908152604090205481565b60975460ff165b90565b6001600160a01b0316600090815260ca602052604090206003015490565b610a75336107bb565b610a915760405162461bcd60e51b815260040161048490611da2565b610a99610a44565b15610ab65760405162461bcd60e51b815260040161048490611c4e565b60c9546040516000916001600160a01b0316907f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a811908390a360c980546001600160a01b0319169055565b610b0861104e565b6001600160a01b0316610b19610d18565b6001600160a01b031614610b3f5760405162461bcd60e51b815260040161048490611d09565b6107b96000611303565b806001600160a01b038116610b705760405162461bcd60e51b815260040161048490611b0e565b6001600160a01b038116600090815260ca602052604090206001015460ff16610bab5760405162461bcd60e51b815260040161048490611d75565b610bb361104e565b6001600160a01b0316610bc4610d18565b6001600160a01b031614610bea5760405162461bcd60e51b815260040161048490611d09565b506001600160a01b0316600090815260ca60205260409020600101805460ff19169055565b610c18336107bb565b610c345760405162461bcd60e51b815260040161048490611da2565b6107b9611355565b6001600160a01b0316600090815260ca602052604090206002015490565b816001600160a01b038116610c815760405162461bcd60e51b815260040161048490611b0e565b6001600160a01b038116600090815260ca602052604090206001015460ff16610cbc5760405162461bcd60e51b815260040161048490611d75565b610cc461104e565b6001600160a01b0316610cd5610d18565b6001600160a01b031614610cfb5760405162461bcd60e51b815260040161048490611d09565b506001600160a01b03909116600090815260ca6020526040902055565b6065546001600160a01b031690565b60cd602052600090815260409020805460019091015482565b60cc6020908152600092835260408084209091529082529020805460019091015482565b610d6c61104e565b6001600160a01b0316610d7d610d18565b6001600160a01b031614610da35760405162461bcd60e51b815260040161048490611d09565b610dab610a44565b15610dc85760405162461bcd60e51b815260040161048490611c4e565b81610de55760405162461bcd60e51b815260040161048490611c17565b80610e025760405162461bcd60e51b815260040161048490611b45565b808211158015610e1757506402540be4008111155b610e335760405162461bcd60e51b815260040161048490611cc6565b6001600160a01b038316600081815260ca602052604080822060028101869055600301849055518392859290917ff98c81ad0a5eb3551c3561de8dc9d1512e8680fb77425ea138ebfe9a9c0065ff9190a4505050565b60ca60209081526000918252604091829020805460018201546002830154600384015486518088019097526004850154875260059094015494860194909452909360ff90911692919085565b610edd6116b3565b50600082815260cc602090815260408083206001600160a01b038516845282529182902082518084019093528054835260010154908201525b92915050565b610f2461104e565b6001600160a01b0316610f35610d18565b6001600160a01b031614610f5b5760405162461bcd60e51b815260040161048490611d09565b61058f816113b0565b610f6c61104e565b6001600160a01b0316610f7d610d18565b6001600160a01b031614610fa35760405162461bcd60e51b815260040161048490611d09565b6001600160a01b038116610fc95760405162461bcd60e51b815260040161048490611a81565b61058f81611303565b610fda6116cd565b506040805160a0810182526001600160a01b0392909216600081815260ca60209081528382208054865260018082015460ff16151583880152600282015487870152600390910154606087015292825260cd8152908390208351808501909452805484529091015490820152608082015290565b6000611058611420565b905090565b6001600160a01b03811661107057600080fd5b60c9546040516001600160a01b038084169216907f95bb211a5a393c4d30c3edc9a745825fba4e6ad3e3bb949e6bf8ccdfe431a81190600090a360c980546001600160a01b0319166001600160a01b0392909216919091179055565b6110d4610a44565b6110f05760405162461bcd60e51b815260040161048490611a53565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61112361104e565b6040516111309190611a34565b60405180910390a1565b600054610100900460ff1680611153575060005460ff16155b61116f5760405162461bcd60e51b815260040161048490611c78565b600054610100900460ff1615801561119a576000805460ff1961ff0019909116610100171660011790555b6111a261144e565b6111ab826114c1565b80156111bd576000805461ff00191690555b5050565b600054610100900460ff16806111da575060005460ff16155b6111f65760405162461bcd60e51b815260040161048490611c78565b600054610100900460ff16158015611221576000805460ff1961ff0019909116610100171660011790555b61122961144e565b611231611551565b801561058f576000805461ff001916905550565b600054610100900460ff168061125e575060005460ff16155b61127a5760405162461bcd60e51b815260040161048490611c78565b600054610100900460ff161580156112a5576000805460ff1961ff0019909116610100171660011790555b6001600160a01b0382166112cb5760405162461bcd60e51b815260040161048490611d3e565b6112d36115c1565b60c980546001600160a01b0319166001600160a01b03841617905580156111bd576000805461ff00191690555050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61135d610a44565b1561137a5760405162461bcd60e51b815260040161048490611c4e565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861112361104e565b6001600160a01b0381166113d65760405162461bcd60e51b815260040161048490611b72565b603380546001600160a01b0319166001600160a01b0383169081179091556040517f871264f4293af7d2865ae7eae628b228f4991c57cb45b39c99f0b774ebe2901890600090a250565b600061142b33610a1e565b1561143f575060131936013560601c610a4b565b611447611631565b9050610a4b565b600054610100900460ff1680611467575060005460ff16155b6114835760405162461bcd60e51b815260040161048490611c78565b600054610100900460ff16158015611231576000805460ff1961ff001990911661010017166001179055801561058f576000805461ff001916905550565b600054610100900460ff16806114da575060005460ff16155b6114f65760405162461bcd60e51b815260040161048490611c78565b600054610100900460ff16158015611521576000805460ff1961ff0019909116610100171660011790555b603380546001600160a01b0319166001600160a01b03841617905580156111bd576000805461ff00191690555050565b600054610100900460ff168061156a575060005460ff16155b6115865760405162461bcd60e51b815260040161048490611c78565b600054610100900460ff161580156115b1576000805460ff1961ff0019909116610100171660011790555b6112316115bc61104e565b611303565b600054610100900460ff16806115da575060005460ff16155b6115f65760405162461bcd60e51b815260040161048490611c78565b600054610100900460ff16158015611621576000805460ff1961ff0019909116610100171660011790555b61162961144e565b611231611635565b3390565b600054610100900460ff168061164e575060005460ff16155b61166a5760405162461bcd60e51b815260040161048490611c78565b600054610100900460ff16158015611695576000805460ff1961ff0019909116610100171660011790555b6097805460ff19169055801561058f576000805461ff001916905550565b604051806040016040528060008152602001600081525090565b6040518060a001604052806000815260200160001515815260200160008152602001600081526020016116fe6116b3565b905290565b80356001600160a01b038116811461044057600080fd5b600082601f83011261172a578081fd5b8135602061173f61173a83611eba565b611e90565b828152818101908583018385028701840188101561175b578586fd5b855b858110156117805761176e82611703565b8452928401929084019060010161175d565b5090979650505050505050565b600082601f83011261179d578081fd5b813560206117ad61173a83611eba565b828152818101908583016040808602880185018910156117cb578687fd5b865b868110156118245781838b0312156117e3578788fd5b815182810181811067ffffffffffffffff8211171561180457611804611ede565b8352833581528684013587820152855293850193918101916001016117cd565b509198975050505050505050565b600060208284031215611843578081fd5b61184c82611703565b9392505050565b60008060408385031215611865578081fd5b61186e83611703565b915061187c60208401611703565b90509250929050565b60008060408385031215611897578182fd5b6118a083611703565b946020939093013593505050565b6000806000606084860312156118c2578081fd5b6118cb84611703565b95602085013595506040909401359392505050565b60008060008060008060c087890312156118f8578182fd5b61190187611703565b9860208801359850604088013597606081013597506080810135965060a00135945092505050565b60008060006060848603121561193d578283fd5b833567ffffffffffffffff80821115611954578485fd5b818601915086601f830112611967578485fd5b8135602061197761173a83611eba565b82815281810190858301838502870184018c101561199357898afd5b8996505b848710156119b5578035835260019690960195918301918301611997565b50975050870135925050808211156119cb578384fd5b6119d78783880161171a565b935060408601359150808211156119ec578283fd5b506119f98682870161178d565b9150509250925092565b60008060408385031215611a15578182fd5b8235915061187c60208401611703565b80518252602090810151910152565b6001600160a01b0391909116815260200190565b901515815260200190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b60208082526027908201527f457863657373205374617465204665652050657263656e746167652063616e6e60408201526606f7420626520360cc1b606082015260800190565b60208082526019908201527f546f6b656e20616464726573732063616e6e6f74206265203000000000000000604082015260600190565b60208082526013908201527204d6178204665652063616e6e6f74206265203606c1b604082015260600190565b6020808252601b908201527f54727573746564466f727761726465722063616e277420626520300000000000604082015260600190565b6020808252601a908201527f204552525f41525241595f4c454e4754485f4d49534d41544348000000000000604082015260600190565b60208082526019908201527f6d61784361704c696d6974203e206d696e4361704c696d697400000000000000604082015260600190565b6020808252601b908201527f457175696c69627269756d204665652063616e6e6f7420626520300000000000604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526023908201527f4d6178204665652063616e6e6f742062652067726561746572207468616e203160408201526230302560e81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601a908201527f50617573657220416464726573732063616e6e6f742062652030000000000000604082015260600190565b602080825260139082015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b604082015260600190565b60208082526030908201527f4f6e6c792070617573657220697320616c6c6f77656420746f20706572666f7260408201526f36903a3434b99037b832b930ba34b7b760811b606082015260800190565b60408101610f168284611a25565b600060c0820190508251825260208301511515602083015260408301516040830152606083015160608301526080830151611e3e6080840182611a25565b5092915050565b90815260200190565b8581528415156020820152604081018490526060810183905260c08101611e786080830184611a25565b9695505050505050565b918252602082015260400190565b60405181810167ffffffffffffffff81118282101715611eb257611eb2611ede565b604052919050565b600067ffffffffffffffff821115611ed457611ed4611ede565b5060209081020190565b634e487b7160e01b600052604160045260246000fdfea26469706673582212206cb443a35c66d7c54232fb2fb64a197943f2c4f624972d7bee510a89621ab6ff64736f6c634300080000330605581d026a53d90e46f92e0dc820666d4ca471f7cb9cd3a140a6a4c38b8934200701191f2a05581d0278b9f9d9ba2a26d1474f052e84aeea69c405e673531db7d1345b46c2040305581d02148374a643f743d370efa73b5db41c2584cf089bc14fcc3009fabc160c014502540be40002190a0903dae9d927aa7dc51f808d20bc9d45dffb3ae566aacf1c7a925be3d3d67842956f0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803041b2253bba2d218b34197b978991923ac72ec084a60981b726883316b15836a05581e03c43e48a0904be4a9bb8d8fcef7a01d466aeb938973f84aaf8e2c8e63a007011bffffffffffffffff03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03336b40cbaa16811a11ed55eb6f49a99ff96fc9c37515823c7c4d3657de78a24d05581e033f222341ab09a435fe37770fff15208f09b9fecae731c31ed6b364d50007011bffffffffffffffff05581e03b55bc4de9178f2b5463389caa3fe8d9776f4816b181253b76db7a9ffe00c014703b13a2afa65d10219df5c03d643b1507990d6d6a8dc0b2738241c844896ac2bdfd5e86cbcb78280d03eb2c90219ffff0347604b92353bf9bddd52f746c2cb3c83b011799da4bf1a561ce6943790b5b73503044df47780f17f7565f3730e3efd890976113b0a5f1d776fe2c5a561a3d6c526038cfdc62105a7275287cef6e9ecc3b995123380b495048d6b4ebf6d848a52280d0219ffff03d1927654c6a3c32819d84c0567d99c442f837b26bfad56f73f1368dfa0208743038a69463f779455d98eccb59d7ea4d1439321ae3dab86bf4cf57e95a28bbc99f203dcbb5c745effd39d520dada27bf27d0955ed91102a3e3223ab1401546c44cfa10219ffff034c9dba28f6766252f6059dbbb02ed8efd58c3e8c9bfa8d96426c202641a476b003ac7906190dde394d4ebea174f7da67196fe924d053176e29981cffcb551730d903b0133606dd39fc63ae434fcdf30fcea191cbe4177189971ad2618cc78cb99d970352718728d94becdbcea3d0d1dd5f6441eb2f0825a8704a344dcb9c854027a25b03bb649285c60c0dab996a71266902aa00bd196cde0e269cb017102f5f5315cd780328beff411491754b16ea24a3e3ae885f68ccce63d99965e08726007c67fc1ebc0359fdb730285e5aa928295200463d6e3f03e69fa31a941fdc46ee94c80647139303ede6d511525a67f9d6294b59983b245b095ba3891f7f6a22fb7de545570b5d1c0397ab4da6ab31bc61025b8b98b50f514dd5e3cb332f024eb654967a8b38c46f8f035a4185e147ba2d13f513eb1f82fc728ad4c1d058d64fa39c141eebf110c69491039ae4e5588d47d7a8e61a1ec71cee89ee8668bafd9e10a3c1d2a8e1350f331d0f03fa370df93609522270ee0b95f78f698cb81ae9b14be054bd563ec16c7cc9980b03bba6199ba8b599ac56ee2f35213f26d7d79c3529abb0bfda6ad9720ae3114b2103e8b16bfbe045b70048c9e5a236b97ce092e8ef679add353ece47348afcacf9590383898489557293dfeff3b4efb423727cc096daa5e5baeaa18c6808a5a281097203062ec1f2302b6b7f79fb872d27a6ea8776f90141148c081844644d8db9fbacb203ca5c9df6fc91edb3f85918d0adf1807a2c9ffff503cb8baf675bda75762d41e703d418bb2a69de88c1497f764d39596abf312f391586e973b00fb52e2cf038458803de2c60612740955c9414af15359e59c9d4805c15e207b969337ee163444e6227031d12ff22ae0bae6c4bfd85ec6f642bcba62ed76937d33a8259239258792e26f2030b0cc9e21a954ede934cb77c5d40598ba6ad30c940a2093909115d5443402d2603530da52d310e56769e3b5c775c07f9221a8f6fc5fa57f7117866cabd5aeb59b1038829a41113c81014cc79a4d2ddcf909e8b2f4da8b72eab2f4ae9e4e00c80c3c4031c2f33664174d9befcd4860d105ac774d8028a4fdfefbe4de3bbfd13be2ef54c05581e03db6bc5657e01c2ea5f7fc139493f02b6e7487034d8c246fa7119e3ef100c01472e6d812286a4c005581d02893d2f9f2c093f1cc097d388feee2665755800f3fe589d9f62cd48580c19054b4809db319acb9616e005581d02f4d79761bacb347ceae84ed993c02af28535c6801f3c6d6a9ed54c82040305581d02e83c140b8683c3fc6f20cc1b40d424b9cd4cd0b85dc8000d4d069d3804010219850003905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03c06e6fa0c434385133a81e591e9317fd554635e8d0e464db0b6b2901b007011bffffffffffffffff05581e03d0ae21d7af2c91f8f7cc6b6871bf2896a7f44df06bf3a7e22340573f600401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03e20c7fb735d5e82e397dc9aa4e8cb984e620836d7a23a6604225551d2007011bffffffffffffffff05581e03007e284beb7d869656a9035aaa920ad366557e453853094d5ce32abc700c01410105581e0311d0f287573d416521d062da43927dca00abacaad2f7abe29c0f8abcf0040302191d3a036246d938bb290f4694d007acbad46bb23e9bc7681c70fa7c6ae7b0d68417214703e35fdeaba2ed6e8f3932c6c2b6f83bd13c9789b74592bd0c82fe3b9420ee2883035d8c0246c18234a68ae41e61c27944439a581878ea0f6764ad5cee8f0e0ea9bd03ac0c7b6680cac38aa253b74755a12729de8a86b8ac3eef95e8aff53b3a961786034834c0569262ebc953465fc50379086302cc63c05564b46f96897685c7d92e32033ca4092df6845de401363765bca4e427db7d87c7fb41108ff529c627230f887203c94fa8769ba3c2af248099bed3f1f343a9b59cc9c844e01474622bafb8b5fb6203219ea054246dba0a643626f7d4d0837f70b60147755ed19bc6a1dbadebd00db403705027af14a521aa9549c0aba13227750cb8795a6a30d1709889c1173e2da9350373a468bafee0b9d021879dfc3a6365566e0a4b49ca474c9e03cba718ecc06cd80378272346cce361acf7e32d6a555c65f304c1aacff0a7ee11fd23bfe959f0150203cab17f349412a7e062bb4eebe0760aeeb60a1f2023e91cac223cc08b38980ebe0219ffff0387ecd57ab2aba297402200a44a9d012c77f6db1bd947a399910f0e465f863fd703f3bbecce0dee70023a24520b80561482115642d1e3d72dcf143d18f98cd79d5e03a5b012a2d26d296f5a29dc150298297993b860e2b070503cdbc2fb484650073803dc3401a8d34bc9fdbf1e15689cef69241b623cefc609653bb608d87fb54c563c030a12a07fd5085ad75896a9b2c839cd6c6831ffd8136170044df4ce50cec03753035e46cecfe6e585233d1f7650c5994b510d4b18d3d1fa7ab6701b973c676a442203ee4200f755200e87c1ea43f52852359e3dd94d0cdee76459984064d27ed835bf03f85b621ef6fbe53fece04cfeee3b35093e156b069a9ade1f12a741becb37b4a50219ffff0336539d0d3e831d388b3a7465bfe307af1bd2ea8902e94e6ca34b9ccdacd3e6af0313eee11030369fff08a6860f586730ea0076c394e580a56963840764d399d8810391cc88b437967daee1bd76a7e9a7f2d245f8b7b75542dbc3303ef4291522c6ce0349fc4515e689d31473a42143f6da9ad3ad8aa86a69ac2f56ffc785744d6e92ca0348287505f02be1a08048cc7b01de69be339f8c81391000abe999cf3b9989396f03c73814af4ac2c5c067f9299e4ce3f2a8cff050cee0c5dcdf7496677b4330e59c0219ffff03259c0979975f13035999d706c0a2f29114695f821435afd1320f50dc7bf8bde803b1fe09304492b4471ee6bedeba45bdcc1c49540ec038cc9a2399d0b0f122809f0318958472ca0402b15aeeadd95211bd8941bee6618d741ad98a624839245a8751032a06120ca7ac254f524dcd350aae01443b1200c881699df6a28cca0735a979c903a3b0614aae2606e6587b4f112491959e967db15515a509127a82d3b7d345048003dcf399cd816e8b6b4158a1a3abea537a83f943b3ec56612a90c1c79d185d0f40036b48ffbe9b337f1431739a5e7367fd957626d567a0462a8f7c549358a65a724f03310cfbf1d3818b2ee4c86621c8803c1ba83c42ab600297378ef9adaa6a253de10394b56c9d180718eb8c4e3e9e969a93cda76e5e3139139b5592260d593fc59ac403642279a5111254506b7c6211e36a95a75e5f26159d0ccf3b5e3845d4532d1a1a0219ffff03eeda1192d39e1df01dc5f9664af80c3a31077a798f4fd504a006ff292a255ef403471be9b1e867c8c713b63c5de7aa3e04a876b8c8bc7cd5e3b85ea19b657e6b1e03db8b804d1fcd3d3adb62cfa87f04dadb307272005aa6f1c6325a346210489d1a0307857060e202cfba15a05121eb137198895e8ea89d48354068baf6e2cf348d62034a79c84d8f2b1dc3b4c5363ca90f4ac5e3f14840a408ad93bd68943ac8a7dae20361437f4614b82acd6c3ef6799a87d893edbd4593a18813563fc7471f151bf83c038ec0031fd0fdb7f136a54aaae1fdf4cc79d8190df4ed7663cf029fc3054ae7b0032939ec254ee98460f21fb412010e7610af39615f9063897b4e0f5348465892ad03b92f84c63eb1d134861b806c968b73be93bc86b4186686e402895fab70a4d95b0307a2ef908d1839d41e589c8956a487c388d955f7ee4c6d19e93b4422ba86873a03119403fdbd0dc0883b65a6e2d291842575db220fad06bcf9ede4d10260453707039cd69a4be48d86062c3c8c5c54f417834071fbf10c93e059d9006f1297b449e503e0cce6ba484bc8fe4d4703516ddd7bbb782c428cb9a06d6fe8c7603f027de7ff030f94f85411b23ea3d1ae9962a049df3f20d03a1ba21dfae79fd00887ad1962d303afa05e5fec4768a770fd935b19e2bae8c9c1901768d716e112d9fe492a815e0b031863583956ab14489d7a0c7d8e268e3c015d90bb5b0c890ac1e27ae88c28020e038cbddce91489a6f03ee8293f6f560be8607a3b80632648177dcdbe286950811b032da621072ce3899039274bf8e04430b29c87aa84bec62115bd62451431cd106f0392f9877d1f55ba6de1d8cf386dfb325d138dbf65095fb6e13d9d589f66575d0e0382df58220033f306df111c404d258ec171fc941bef6e102828fa3b69a1d8d7bf03db3a56e984ef906b498cf79de5220bdef1413580523bbc0e35e97c3483603b47031f2f6b824d22d14698fd68d5617f25ae2671e508ad61af19f09faca0557e61fc03d02a38070730e42441c0079aaeeea1b81ca34accff1a155d49873a0477d58a8b03b48705ab9e6aca6c66785fa6fcac28ed4103af230d1dc8409dd9ba2cff7255b903ba9f56236e4e96d752a4086d74b47cf11a17e7209286f57ae4b503598a61203e03020b489f4e8ced9b7f64046abc155d9357eff527a01e72d17a922c125aefbda703d52358441deba639c19e237704bb4fa18ece960c99d4195150f37e205c3b0c00030dc17421ca99bf14b9b2b3410e133de52855e2491e0c44f9c277a0e241dd89e50398db582a7418abe5d31483ccd1e3dd8231dafd1bb5166178c34a5fc96b95e1f8037a674c8f0e4986a101d259745e6dcc47987c0e02d92aa42ce1fd1beabb655dfe03ecd5e4fe8dcbfd588edbe60b7f7bd0544d4aa19077645efccf49df6189ab5701032ec3c3d535cbe37e3015ca614bf635dcc58b77be102db977765403ccece827fe03f0860a818e03f66cbf3b455e6b193379572f069169a25f3e4436de82b2a5b232033299468a0faed6c4d5ab0ef01eb70b97dd9030bff1973968ffa7e734f3daf9cd0348ef21d55dbdc7656994c789305ec40eab3780ef9297bc5e1713b429a8d225a603352ed613e1c73cec1091c95c654b21c5379da7097168190d68e908d12f1ce0e403fd923890337c92e96aa0161ed5272fb88a9d250a75b6d7f35b5e36286c72ac47035c0641131fa4ae3d3f5b310f7983b57ac1332d79d81e18446dc515477bfed4b403d59ed76440029fe0431d387f3be8279f660cf9e9fddaed707c0de43cff228b570333ae95feeae4ba518a145e4e45aa9a698afd811778a9e14f165e3fd8fa77149905581e03be7c490d4ba47ca9c66b88b3abce144f75de055ebda94a626500810db00c0647a0e4f32161c49405581e03768c4fe09f1d57ece0522d935d0b37d56dad54c6b7fe1e5eb94e5f0c70040305581e0345b0cc460334edf9a606e2f0622bbce837bd99e29a7d04082bb08d71b00c02469db8395d5fdf038de5ee10f107981f6f53979a898f6170f6742882abf2e7bf1be63616aaa9621905581e0358db0bb3c7a4d5a9732168393bae7f5293aad36bd0f2283edb03b7ea500c034702a336fcba94c80219438d03408b3a859fa0a9ebaa86a6502b25710d6ab8d10f6fe73fdb0f88426df96e1c02039d4647cb4825b0a9922a1634cca4b47efa5d46a02a88ccd48ae27f8b49e072440219ffff03f43037d8b630dd29155e8eb435838e36feff47816a642999419b1e36eeb3aff40219ffff0374fc8fc91998c99e408e59c2bf73a758937f32c23919859ad2720e737196af20037fd3c0575b8f6dcf96df1efbe5e9dc9bf043cfc359054dbf30ccaa4511c2ac300395fe48ddaa30e2bc0349a2597a2fb927fe0f4eb2a6ac16f4b1dfa759320ad68503b6e91b27fa87ea1eff07e91e890a2a78e7915230d8fa9aec64884d162a14075903b3a301a245e2d3543ac992c4260eb446a8b299ee9a443cf78f69d44d4cfe634903c36d1dab0b7192f368e6603a8f201d7e354ae721ba8981ba1b8d597c16ae4fb003daaccf7a20964ddf91902b8be27a6b8603e21c20d4b08b04f599239a510d1c4103a5f691d3167c4294336650519cb504b5cbd492d8dacbfab08076330a788b1c8f032e30954d8e85889d1b3a40c469687c207a6a1313647d7bc5342c9ad404b7f5c70219ffff03fb8da055ecf4ff9e95d2d2c05dd7b091bac784e88075c4ad8313f66933d5f4ca0360838af89dc7e22a1ddb3e08529ea0a53dff091a15e2f801c0d93ab6b098c452038b8826663dacd907e41855fcfb34a54686795695716f9917e0022031c83aa14e0344890dda32408763a976b707bab4f3f119c4cff2ed47f2d490af6112c5392e8303690bbce090aaa13044e757de67339abc11c9bd9392163bc11eb31de55566cf3003e23b6aae1716316c54f2ae36701e9eac717a2b3fc2fc80c7b9506f4b88f0bbc203526ee3686ef8a0a87eb4f685455d5cc5cdd33ee4099617b3924e3e5e5a12b615034834c6554c871e35b3656a26d94dec28c390cbdf1a603648b6faf7ce82c593360322329f16c2dee6980e0bbb8c5cd281b392f92e0bdc153da0d1abcad3cbdccd71039eb711c1ae87bd1fda5e6add607510bb3032b37e9c83c4dd722eff25d70d3b170219ffff039f0962870f73b4216669b6f9bbdb2ac6454a560eff4226930adec269dac2a6fd03019a7f631196cb808f12597b46d51f3081398d722a18473bbe05e83c388d815603a40c8de7e3e52da63f15f023181218065781815e142328179b4342eee0899ff003cf907253191d0d0859148a65468ae070f5d46c2b6151fd57838a8385d5968c6903ebed5b6413e223964854d67be3bea8e075ced7fb0a596388adba7a0d03c759ce031ab61956b21357d7efb59870fc0e1d597296229bc6c7edbb89af2d70d73eaeb50318addf6bafeff62deb798d4c24a3d322f57873218a9554018bb839f6f87350b0036055e09672b3f1e5e974f8b1a96f7d84ec19a560be07ca0cc8ebbf4541fd041a030c13f349952b9b898dba448199c1f494b4bd7a2327a7e27c5964a192a99f81c003c075e2624756b7470f366083e5c89a63259fcc8470b373b56e42e54e1be1b014038dffd381897f6e53073ad78c191981cb262702fee7056babe097f2a30a9d020c03d7fe195bef9d2e3484477fa9923369374950a48046d4aade82a9aed111e95ece03070627cead05de012830507c0732318e59c48c490d53f6da954aecaa69feb9ad038b1b41bbc334af1f711b971453dfdb07579747e3a5e108ac8dd6cf2a06449f8203c9ae99026625c506af005bf96ea52c2ad0c0091a8f7830fd9a4592f1cc3d16cd03778548c312b5e976391e84ab93de3e88b96639db29bd00781ab0fd4e5436794e03e0abd92ed4907b45916961d25618444a55f43909d22c543c990a285398e66783034fdf795146c2a6ea5cb575a009369bdd687688b5796503519a700ede1d0c772e03c12a04ed73b2bd5fc2a7e7cfb0f83ccb4ebb989c9e47dd36369963570c2c29a3032e2eb4cd02b5a7c1f733a9828931ca26b441a20f34f238be5eac7b17610c5bab03d23eab1990ee34580400bfbbd24e8fc68aa5175199d6e4d9ada604e5cbc7254503e51448b5e923fc9a6b5184f1cc94cf7f3d7b4d6bbbbafa75f0b885ecf5f5398603d76b2455fb67ec50668ef0c8d078e102973f380e573a89fcc44342ab0b7bfadf038dda22bccfc9509995d05cca047836e7cc2adb4fd21c98ba5196c6188e412eec03767bf705f5e0443b54fc1ede99e3ffe39a6ecff91a8da73b8f73d441b6ff4fd303905abd86e23d861561d3a5dbac2aa3a6832180afe8c0b3f12996e443b0ef055003d09659a8bed55ae537601aea43777aef34ba0c6e7924e2b8b49a68cb220002d1035f70ac4793ef7c13cb0da48c43d65b02582408b17f0c716dccdc3b311d5e5fbf03f624d1dede617b1b564132964b7c95e14e6f5a36f8f046fa55b4e7cf9012a3ee03d3355fd38bb7eb479c25736707a2b79e13ff108934b482f300d3603f750062dd03e5f65258f84dbaa15a0f178caa19b63710f149b50ab16078182d514e43bca652030afa9db78c1ceffa3dcc0611bec208dc747a341c547175cab2bd7eea6174eb41035b5933f390201c912e77f61dd055499c16f4f444578891f66c4afff9d6c1fc63032557798d77b326bd2d51c1b434f4c2bb823c9511041df9a392116d72676ccdc2035edd46a050565f696024deda6b8fb903a0b14d9504696200af63a41725acd5400345e232b7a1205e8e498e1656c1bdfba0ea696093236d5edabd9a1e5cbbfdd56d039f1bf60717cea71789c55f2d4c55c55542e365aaa9aac54035a4046695a8f14703b150219263c0046fe48bac00c8d14cd50378c42be62a31dfb3f2e1109e4fc12203e988cf685d389844fcae31a6ab18e8740f5fff7c25ab7063448393bc3109b2e403dde87401dc640703d6b316bb3483df67fd0e47284475dca758c2e0763365eedc03024ad98e28f4c2e3902f26bbbf0b42723ddd32e77ac64b43f14273997864e203032dc19b73c4fcdc5e6cfe7ec5a6cd36d329874ca3899aa3af1e9e97e5ec12e9770392cce55a55c7b20165ed945700917104d429440ac3933c06f4c6b89676754e5b03fd1377d5ab59b30796ccd3670dce89c427b29c31d196426b33d6023f865aa7bc03e99bd85b357a9769edb79cd8a6ee70695a00dfd6819ce323fb9ab08542bc820c039439efc4b3445de5cff3803fdb908eb51f2ec4cd59b2245de20a422d52717b0f03cd7e62f97971f03c188ed4ee5680e8a143eb478ccbfb381795277ae28b2aa70c030147d2eff86a464fc5c3800deadfffd5381b4a392700050ccb6009552b4e5ab103c60623cc9eb09b523887c49cdfdf9ec455f8bb68eb2d539bc508c7662ad7f11505581e036eed3f6b60a0b9968d2c99161b58f9aeaef2f429f646182eff362d41100c01478c9c2948a6e8b203ce6d8df8da91526c7d10acdba9089419a8fe31c8abd0937e5deb1c80e290db4d03d0298c64863ad2cccb13cb9c891f46605dab766fc33f232885a065d123a0d78d03197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e03bac25ba32a8a4440693672c5d47e5e43e4596843899bd60cc8607ff10007011bffffffffffffffff05581e03cc478afafe1dd6764ed13d712dc5a54efa279e0858044a65054e3b35f00c03470d854a2bf1bfa4031872a5d3515fc00adad56b53b99e01dc7bd5329d18e5048277024db44da2e4ca04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630490c5c10c49c95968f200058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf60490c5c10c49c95968b3800582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af050031469fd0657786db6f6aecfb50966a40058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582016224ada24ce1ea48f6bbbedda3bd505a80d8063a467ff4818fd22ce322a6674005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a853011c75a2bb07516a61bf9c8cb05a381779fd840058200247ee53b7e8ca24096ff0d69c6c7776eef6ae5ee18883a85a8b7932945c84fa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219014400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687d56b000000000000780f6e8163a710f80000000001829affa3642faa10d90058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54444c21aedaf670502136bed85c7ad7d0a018c2a10218480219b45505581d02a669f1675002a526e461757598398e719365851e2a20d9ad9329051c0701192c1d05581d027d3105a455f8485d2ce166a7ecc723aa6865adc0c40d3972dfbd5e78040102190c0003de2c96db07855b34f8a9b4b5257b5cdaf18e8feae64e15fbd4530a773664f66505581e03cd634394d5e5ac54ab1838fa06807f624bb8a5de40bed4417a91d5ca900c01472d5383eaf9300005581e03c69fe9f7cbed4ed406fd3fc116125fe855458f83495d732883507761e00c024694dbd8aa310803a2939064d8c78c0e376ad60f740cde8e2f81317530249a23c3e33e2a19483d0d05581e03e195c363c3f64d6199483de72709bff93b3f256c2def3ec4cd551043b00c024614f4d4dd2ee805581e03fa1c61b1f92d3bb4779ad6ae5114dd03a00b7523d538b1d2866a9487400401039d085aaa9c01dbcce09bed9bf862894c2c2bd02567564ecfc7c8aeba9af135dc0219ffff034ed4bee2d36ac04ac3669d537c118ecbab02c24a6b0ecea6a5f72e7c7f20bf5803c4efdd7b383953b2f54656f24f41025705355390298deb56baa15a6512dfab21034077952e43bd4b7464e7376d08005d43c61a7ef6366936b1abdc92aea90ecfdf0219ffff03d9a8e7e511f50f5a6193facf1cae19980f36d0019abaec473c415e81a97b54a9039868dad2a1ca0cee48c25e8a4c6e83e5bb4c35a3c0d09963429d6333b16286d103a91b6a419ef397c47fed08c125e97cfa601c663f3819dec5644c35a49906ae840219ffff0219ffff034456f2525a34ac8c4011ef69302ad361550efe75371ceef69a5f4d32b92d4b7e03c25334a4281a4034e4c6a8dade340f0610562b9f52f5413e003144a32c27d14203c1e2a224de5cdd94132ec64f4f822a147c0dce06aa9b6c4bb06fad9adabc1862033219681bf566d67f5239d685d417e2a5f47676260ee1f073762dc0dc935dfa3a0399d619948548cf5be6e2574a059b19703e2c51c2914f464a5dac8287f7bc736603e5ae153b30126ee517bb507b0aa21a4a6352c252e951f6fe8c418294e22a0da903f1260563f50b2cc7ce20b0bd27c4480e5aaae2c14ff5bb4e6329ca2d455cfc5e03f40e7f179e3bf61c5300c7a3a84b2dcfa0011e2a60f52549d5107fd9153cb9f6034d15c97024d6e9567b6d3210c60a3037874374d886f56c06d5f6fe9be181091d0374daf750bab8282502ba96a9f4324f6229626927b637aba155c904a1284f23ee034828cc0a8646574f5ec5302305e298eb167cbd244445c64a3bf7144c9bc8ca80034ad9c3693539b1b0d159482d62ac05203c20c675fe36b71a0a3f3c4b81a5a14403b16ccbbe02df9e5e74d949d074f8a66deb171c2142400070ab11bfb0118b2b0b032e02fdf5287c589b8717dfcf0a8c3477f9aa01abcd5df18fda48777b00da6e2203ef1e1ffd3b3f999aa63782af983eda453cabb61f7c63b60f704a3760c2ff4093033c2f868ca35557955927a1bb03a5e9a4b1afbec4a0c1b377f28de86bf413735e0348e6750af6f5eda8255cbb348ad39e72a15d23ec5a36e095a642f29f922f8841030e87612948027782ec2b9e63cb090702b198c87c8396aa154e789679b4d6261a0311d47045356fa0054f9ca7119c523510538de63e54f3621ca9c2819c05c710710397882d9ea5bcf915c041e708630deb2c4ba8da20c7017e3f638225b168da3129039247e1bcba52aa9acda21b581b91f6e47ca4bf7b6969755e61c30ca5ee54ea1f03ae842ba5b83e066e3c573791b5daea8a7b5063480058968a381cbb344ca11f700302539d6a2394d8337a04d546de7befb9182f76f9b6fbb9cb18990a7c3749e7bf033ef96af9c1bc31cb83698c31cd561f454c2a4cf267d30ee43694de9145a2d48203c4af19cd154e932e6ba7c25f3e4eb49009d6d15ec521853d89f1bc598ad2534b03aaa3f234f88ec20cce6f617c8b57796d9fd4bae1a21463ae002b6376b48c27e2037961c079b2b15133c9ecda74951a5978b4d9a6a04b2f6f9edf2c01e6ad633ca003d1d192c04d0f9535056e2a65f46aeaaef2693b554bd6d49898313d392b9d2b100352aafe90777901f69d5dd872c6b892eb2891f13386ded4d205a3e7e768b1fb1c03b1a80122bf28a9b9d4cda594925ac3acf91ec5488ce52117568e6fd7482e9f6103eb582910830b73f3805344a3544bb3068946080cf36566250f36d5ed429e3e790321ae0ade4c3b8af0df7deabe9c12f0365024dadcd30291ba3ba15dd284509a5903fc42a724265eeb689584c72f6238a911f349603584e2f6effcd2ff6ad8ba27c403daec1d1308fd683aa5c32389416a0865f6529f044a209fd8b8bd036a8b16c52b0361d1ad0a9e7b611c08ddd2e89ad5d140def78ec9d7146c357651d1e22c117a5b05581e03010d51acacd4a55c45882883868d4f79ecb418f5a6411b267ac9ddeb3007011bffffffffffffffff03db492015be465431ce944418e803da13de9d6318aa47d7833a84fdf05cf91177032766a3173f99888322c86bf3ce1425e55d20385d903c90e7e08dc63e84b3fc9e036ec9ac2f8cea6c87aa6eda0ffe0904c7133b36022b1cc04df134b5aee76b2fc5045904906080604052600436106100385760003560e01c80633ccfd60b14610044578063996c6cc31461005b578063d0e30db0146100b157600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b506100596100b9565b005b34801561006757600080fd5b506000546100889073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6100596102f9565b600080546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015610128573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014c9190610418565b6000546040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905291925073ffffffffffffffffffffffffffffffffffffffff16906323b872dd906064016020604051808303816000875af11580156101ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ee9190610431565b506000546040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90602401600060405180830381600087803b15801561025b57600080fd5b505af115801561026f573d6000803e3d6000fd5b50506040516000925033915083908381818185875af1925050503d80600081146102b5576040519150601f19603f3d011682016040523d82523d6000602084013e6102ba565b606091505b50509050806102f5576040517f1a0263ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561036157600080fd5b505af1158015610375573d6000803e3d6000fd5b50506000546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815233600482015234602482015273ffffffffffffffffffffffffffffffffffffffff909116935063a9059cbb925060440190506020604051808303816000875af11580156103f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104159190610431565b50565b60006020828403121561042a57600080fd5b5051919050565b60006020828403121561044357600080fd5b8151801515811461045357600080fd5b939250505056fea26469706673582212202562bfeb58ff44ae4cadfd2fc5e15b32f24f3ffdc3361e47bee209b034b6e98c64736f6c6343000811003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354c02aaa39b223fe8d0a0e5c4f27ead9083c756cc205581e03ef11c74ef0975556bcfd19c90d493c97cf895653d61061c089f511b740070119049005581e03f141f11f5a09fbea0bf8b6e0caedc860437cc7dbd6dafc98b59c5fda300c0147063c5962af3e7403e51ce455fe9145d26b7a4203ca0c8b55b525f9e79a60b2c777eb5d24aca67e4902194c370366c99bd128816f288b314232d950a9b46e787a09515c6711aefbba03ba5673d50387aa14dfa56193e5087c7285976b2ace85bacea1064fabce8797829a7a523ac703022d04cbab5f87a401d0f39d2c448252f137528c74abf13b467d99d26a189e6203fb1c5e2f01997cf0ef64c639174dcd94dd5f0d486975b22cf1cc4e886391cb54031b857a6ce55fec57fa98bbfbe274727dbc531a87cd86929f0f46b9aa976b1e2f03ae60cc0b9b6e1a387e120b7874ad0defe8d39ab4cdb741904f49dc7b8c3e5ad203eff05c2255278811f539d122405a34fa138073e000b533ca98960b8c399a6c8103663a6841b8cadead60d7cb6000c58368bf18e52448c7052c61cad516486822be0219ffff0363b913b46b795e7537af55471965a5f3a2f4d194e83ee9ab3abbda25bde3909503e6718d93b6cc408363e950bf7a2ed112dfb4ae5b0af8498cd7fa3774914c7b5d033e64cdcffc8022408dd1ba3a6392a7f53933627a996a6e51ee006ed9e8f691c30219ffff036b8655e0a3a8ecc38eb955cedbd0fc4fbed1d5deba4ab17bd85f1790fa2f687f03d79148a2e1007a496f226206b383eb5390071862cc07b8aeb965124b6ac877540219ffff038f088988280a09ac2c7de11eb5aee9632dfa2a8d3acb405abe971314b5ae6c1403350a9cf5f4801f2d1466c6e333728f92928ccbf1a32b198e2f7369ae557bf84c035f59a0c7f1e11dd291760c32ce69bba886a1dba4cb6632cb8ea9b5a8fdb619cb034220ae01ce22fc270e761baa32601db4f2f025d004bb0576b1bf66061c16e50703f84197e6c58b79c1313c9d2564a296759899521477812bde95b79ea0852baf6f039939a0f209aace66d89f7d40512256edf66fd23763de81b716ed139f58533e3b0341e9fcd82e41d8eafc361dd7ba3c410b4d22f4b566818d9b501639dffadba06d03351820a740fa249aec7e5b6247ce608d996eb01db5591856a43ed159c4acb0c2034cad0cd3c15b6dd9ce016f66f82bc18932936e0b86fc1103aa251e1706f0bb83033ca9636e6d28a0c49f5a3b45c04bc2e58beb5a54348f15106f1aa911ccb9c29003d02d546f92a6d0b574ce4f028b6b280276d6ce03ece9befd0d381896b49659750335195caca78a7bf32a122ad92f7ebb3bea3048737d8bee24e4296f206be61d19035d53c9757a8d8148e9a5180d946c62032bd0103b4820f2ecd303642aed8190c303b6b004cbd2bb913797f19f2f1adfdf53ce3690250d5f8b3618156b4b471dd69003ff6a7671ba8c82acca2ed45940471b2f9d9024becc14b332e8c251978a937aac0322cdad72beb4342c1f74aa845d1818dc54025cd6857c018433e67f41e42deebf03f27a6d9375f7e0c80573b76cb658de003b64258fe9cbc0d705acbffe056f75bd0320ac29f0305202e39916fd21e3e5c035a194e24198e09fc225fc5caf8f333535039921e1f800dc0972c094cabf1ea49aaea827eb2e8fd0211313cc582d01a2faaa03892849ca366af745f994b0d6b288944b8aea983e44980ed997ff82c4017a8c700336ba6180a17482aad8b5cfaf5cafe8f9364dd8c6dad48645f130b023dd5a52bd033b78583cf914ae59430c9b32384b1a24f64222e957dc634f3c3d2ecb6d794299035709f26f06655e110bc135705b0f164c5dbeb77985cbb154963e18d78cc73a5f05581e03d484420d4c7715bd37f9c20257cf46d827cf9df95febb67a27521bb0700c024603d1e382100005581e033604a9a1ae518f828b43ae53139c0b8c42fcea8006165e0a22cac567c0040104595ee660806040526004361015610022575b3615610018575f80fd5b6100206123d8565b005b5f3560e01c806305b1ea031461034157806307ed23791461033c5780630d2c7c16146103375780630f449d7114610332578063143e86a71461032d57806315169dec14610328578063175accdc14610323578063188ac35d1461031e57806319367472146103195780633f4ba83a14610314578063435b97891461030f578063493189f01461030a5780634f38e2b81461030557806356a75868146103005780635816d723146102fb5780635c975abb146102f65780636fe7b0ba146102f1578063715018a6146102ec57806374261145146102e757806378e3214f146102e2578063802b2ef1146102dd57806383800a8e146102d85780638456cb59146102d357806384b0196e146102ce5780638770ba91146102c957806389af926a146102c457806389e7c650146102bf5780638da5cb5b146102ba5780639fda64bd146102b5578063a76dfc3b146102b0578063b68fb020146102ab578063bd61951d146102a6578063bf15fcd8146102a1578063bf7979591461029c578063bfa7514314610297578063c2a4075314610292578063c3cf80431461028d578063c4d652af14610288578063ca4ece2214610283578063cc713a041461027e578063ce3d710a14610279578063d2d374e514610274578063e2c95c821461026f578063e413f48d1461026a578063ea76dddf14610265578063f2fde38b14610260578063f497df751461025b578063f7a7005614610256578063fa461e33146102515763fcea9e4e0361000e57611030565b610ff9565b610fa6565b610f61565b610eff565b610ecb565b610eb1565b610e63565b610e43565b610df0565b610db4565b610d54565b610d36565b610cdd565b610cac565b610c92565b610c78565b610c5e565b610c4a565b610bfe565b610be9565b610bd1565b610b67565b610b4d565b610ac0565b610aa3565b610a77565b610940565b610923565b61090a565b6108dd565b6108b6565b6108a0565b610886565b610866565b610854565b6107de565b610733565b6106eb565b61067c565b610666565b61062f565b6105f1565b6105dc565b610596565b610530565b6104da565b6104a5565b610431565b610360565b604090600319011261035c576004359060243590565b5f80fd5b3461035c5761002061037136610346565b9061104a565b6001600160a01b0381160361035c57565b6004359061039582610377565b565b60e090602319011261035c57602490565b9181601f8401121561035c5782359167ffffffffffffffff831161035c576020838186019501011161035c57565b61012060031982011261035c576103eb610388565b916103f582610397565b91610104359067ffffffffffffffff821161035c57610416916004016103a8565b9091565b9081526040810192916103959160200152565b0152565b61044661043d366103d6565b929190916113c0565b906104566040519283928361041a565b0390f35b6bffffffffffffffffffffffff81160361035c57565b600435906103958261045a565b602435906103958261045a565b604090600319011261035c5761049e610470565b9060243590565b3461035c576100206104b63661048a565b9061147b565b608090600319011261035c5760043590602435906044359060643590565b6104566104f26104e9366104bc565b9291909161151e565b6040519182918290815260200190565b6024359061039582610377565b6044359061039582610377565b604090600319011261035c5761049e610388565b3461035c576104566104f261056361056661054a3661051c565b92906001600160a01b03165f52600460205260405f2090565b90565b612793565b602060031982011261035c576004359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c576104566105b06105aa3661056b565b90611551565b60405191829182901515815260200190565b606090600319011261035c57600435906024359060443590565b6104566104f26105eb366105c2565b9161156d565b6104566104f2610600366104bc565b9291909161159f565b60c090600319011261035c57600435906024359060443590606435906084359060a43590565b3461035c576104566104f261064336610609565b949390939291926115c9565b5f90600319011261035c57565b5f91031261035c57565b3461035c576106743661064f565b6100206115ec565b3461035c576104566104f26106c46106bf6106b26106993661051c565b91906001600160a01b03165f52600560205260405f2090565b905f5260205260405f2090565b6113cc565b6129e2565b60a090600319011261035c576004359060243590604435906064359060843590565b6104566104f26106fa366106c9565b939290926115f4565b90604060031983011261035c57600435916024359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c576104566105b061074736610703565b91611628565b61010090600319011261035c57600490565b61018060031982011261035c576107758161074d565b9167ffffffffffffffff6101043581811161035c5783610797916004016103a8565b93909392610124359261014435926101643591821161035c57610416916004016103a8565b60409061042d61039594969593966107d78360608101999052565b6020830152565b3461035c576104566107fe6107f23661075f565b95949094939193611646565b604093919351938493846107bc565b604060031982011261035c5767ffffffffffffffff9160043583811161035c578261083a916004016103a8565b9390939260243591821161035c57610416916004016103a8565b61085d3661080d565b929190916116f5565b3461035c576108743661064f565b6003546104569060a01c60ff166105b0565b3461035c576104566105b061089a36610703565b91611750565b3461035c576108ae3661064f565b610020611781565b3461035c576104566105b06108ca36610703565b91611789565b6064359061039582610377565b3461035c576100206108ee3661051c565b90611803565b61010060031982011261035c576105639061074d565b3461035c576104566104f261091e366108f4565b61180d565b3461035c576104566104f2610937366104bc565b9291909161181f565b3461035c5761094e3661064f565b610020611840565b5f5b8381106109675750505f910152565b8181015183820152602001610958565b6109996020926109909280519384809360209181520190565b94859101610956565b601f01601f19160190565b0190565b805180835291602001916020809201915f5b8281106109c8575050505090565b90919293826109dd6001928751815260200190565b9501939291016109ba565b93959194610a53610a4b610a6a95610a3d6105639b99610a2c8a610a63987fff00000000000000000000000000000000000000000000000000000000000000169052565b60e060208b015260e08a0190610977565b9088820360408a0152610977565b976060870152565b6001600160a01b03166080850152565b60a0830152565b60c08184039101526109a8565b3461035c57610a853661064f565b610456610a90611931565b93604097959793919351978897886109e8565b3461035c576104566104f2610ab7366106c9565b939290926119ba565b6104566104f2610acf366105c2565b916119c9565b9181601f8401121561035c5782359167ffffffffffffffff831161035c576020808501948460051b01011161035c57565b604060031982011261035c5767ffffffffffffffff9160043583811161035c5782610b3391600401610ad5565b9390939260243591821161035c5761041691600401610ad5565b3461035c57610020610b5e36610b06565b92919091611a1b565b3461035c57610b753661064f565b610456610b8a6003546001600160a01b031690565b604051918291826001600160a01b03909116815260200190565b61018060031982011261035c57610bba9061074d565b906101043590610124359061014435906101643590565b6104566107fe610be036610ba4565b93929092611a8a565b6104566104f2610bf836610346565b90611abc565b3461035c57610020610c0f36610346565b90611ae4565b90604060031983011261035c57610c2a610388565b916024359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c57610c5836610c15565b91611c27565b3461035c576104566104f2610c7236610c15565b91611c7c565b3461035c576104566105b0610c8c3661056b565b90611cba565b3461035c576104566105b0610ca636610703565b91611cd4565b3461035c576104566104f26105636106bf6106b26106993661051c565b602090600319011261035c57610563610470565b3461035c57610020610cee36610cc9565b611d33565b61012090600319011261035c57610d08610388565b90610d11610502565b9060443590610d1e6108d0565b906084359060a4359060c4359060e435906101043590565b6104566104f2610d4536610cf3565b97969096959195949294611d3c565b3461035c576104566105b0610d6836610703565b91611fae565b9061016060031983011261035c57610d858261074d565b91610104359067ffffffffffffffff821161035c57610da6916004016103a8565b909161012435906101443590565b3461035c576104566107fe610dc836610d6e565b93929092611fcc565b606090600319011261035c57610de5610388565b906024359060443590565b3461035c576104566105b0610e0436610dd1565b91611ff6565b61010090600319011261035c57610e1f610388565b9060243590610e2c61050f565b90606435906084359060a4359060c4359060e43590565b6104566104f2610e5236610e0a565b969590959491949392933390611d3c565b3461035c576104566104f2610e77366106c9565b9392909261201e565b60a090600319011261035c57610e94610388565b90610e9d610502565b90610ea661050f565b906064359060843590565b3461035c57610020610ec236610e80565b9392909261204a565b3461035c576104566104f2610edf36610609565b94939093929192612056565b602090600319011261035c57610563610388565b3461035c57610020610f1036610eeb565b6120c3565b906101a060031983011261035c57610f2c8261074d565b916101043591610124359161014435916101643591610184359067ffffffffffffffff821161035c57610416916004016103a8565b6104566107fe610f7036610f15565b959490949391936120cc565b60e090600319011261035c57600435906024359060443590606435906084359060a4359060c43590565b3461035c576104566104f2610fba36610f7c565b959490949391936120ed565b606060031982011261035c5760043591602435916044359067ffffffffffffffff821161035c57610416916004016103a8565b3461035c5761002061100a36610fc6565b92919091612390565b604090600319011261035c57611027610388565b9061056361047d565b3461035c576104566104f261104436611013565b9061239d565b9061105b611057836123e0565b1590565b6110d2576110cd6110b67fcda0f7e73d07bdb14b141f2cf4745926629a1b63e7c6a3dd8a80232cb459a850926110a5610563336001600160a01b03165f52600460205260405f2090565b64ffffffffff8660781c169061243b565b60405191829163ffffffff339660801c168361041a565b0390a2565b60046040517f86bffaca000000000000000000000000000000000000000000000000000000008152fd5b9061041693929161110b612465565b6113b4565b3561056381610377565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161113c57565b61111a565b9190820391821161113c57565b8181029291811591840414171561113c57565b634e487b7160e01b5f52601260045260245ffd5b811561117f570490565b611161565b9093919260a085013594851561137e5761119d81611110565b926111aa60208301611110565b926111b48561249e565b60c084013597909190600289161561135c575f8315611357575060808501355b34111561132d576111f4925b156112fc575b608085013580943390612517565b968794600183981615155f146112c55761120e308261257b565b600181116112a3575b5050611223828661114e565b611230610563898461114e565b1161126e57505090606061039593925b016001600160a01b0361125282611110565b1661125f575033906125f2565b61126890611110565b906125f2565b849161127d886112829361114e565b611175565b9061129f604051928392630325276360e11b84526004840161041a565b0390fd5b6112be9198505f19016112b68185611141565b9833906125f2565b5f80611217565b50919293829150106112df57506103959160608692611240565b8561129f604051928392630325276360e11b84526004840161041a565b61132861130b60408701611110565b60048b161515906001600160a01b0360808901359116338b6124ff565b6111e6565b60046040517f1841b4e1000000000000000000000000000000000000000000000000000000008152fd5b6111d4565b5f8315611379575060808501355b340361132d576111f4926111e0565b61136a565b60046040517f0262dde4000000000000000000000000000000000000000000000000000000008152fd5b90610416939291611184565b906104169392916113a8565b906104169392916110fc565b5490565b91602061039592949361042d8160408101976bffffffffffffffffffffffff169052565b7f099133aefc2c2d1e56f8ef3622ec8e80979a0713fc9c4e1497740efcf80993966110cd61146a61146d73ffffffffffffffffffffffffffffffffffffffff198560a01b1633176114596114536106bf835f52600260205260405f2090565b60010190565b9283915f52600260205260405f2090565b55565b6040519182913395836113d0565b9080158015611514575b6114ea576110cd61146a61146d7f099133aefc2c2d1e56f8ef3622ec8e80979a0713fc9c4e1497740efcf80993969361145973ffffffffffffffffffffffffffffffffffffffff198760a01b163317916109a46106bf845f52600260205260405f2090565b60046040517f555fbbbf000000000000000000000000000000000000000000000000000000008152fd5b5060ff8111611485565b90610563939291600160fb1b831615611543575b6001600160a01b03349116306126dd565b61154c34612684565b611532565b9061155c91306127aa565b81611565575090565b600191501490565b906105639291600160fb1b831615611591575b6001600160a01b03349116306127ce565b61159a34612684565b611580565b90610563939291600160fb1b8216156115bb575b34333061285e565b6115c434612684565b6115b3565b9061056395949392913333612875565b6115e1612929565b6103956103956129da565b6103956115d9565b9061056394939291600160fb1b83161561161a575b6001600160a01b033491163061285e565b61162334612684565b611609565b9161163391306127aa565b8192919261164057505090565b11919050565b9394611667966116599194929487612a16565b989394929591969097612ab9565b9192909190565b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000090358181169392601481106116a357505050565b60140360031b82901b16169150565b909291928360141161035c57831161035c57601401916013190190565b90929192831161035c579190565b9093929384831161035c57841161035c578101920390565b926117335f939461172d61041686958061172761171b611715838861166e565b60601c90565b6001600160a01b031690565b946116b2565b91612b4e565b508060405194853783305af43d5f833e1561174c573d90f35b3d90fd5b9161175b91306127aa565b8192919261176857505090565b14919050565b611776612929565b610395610395612b5d565b61039561176e565b929091925f5b63ffffffff82169081156117e0576117af610416836117b69389896116dd565b90306127aa565b816117d5575b506117cb579060201c9061178f565b5050915050600190565b60019150145f6117bc565b5050509150505f90565b90610395916117f7612929565b906103959133906125f2565b90610395916117ea565b61056390611819612c16565b90612ca2565b9061056393929133336127e3565b611835612929565b610395610395612d94565b61039561182d565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff811161187057604052565b611848565b6020810190811067ffffffffffffffff82111761187057604052565b6040810190811067ffffffffffffffff82111761187057604052565b90601f8019910116810190811067ffffffffffffffff82111761187057604052565b6040519061039582611875565b6040519061039582611891565b9061039560405192836118ad565b6118ff6118cf565b905f8252565b5f368137565b50610395611905565b602090369037565b6119246118f7565b906103956020830161190b565b61195a7f31696e6368204167677265676174696f6e20526f7574657200000000000000186149d6565b906119847f36000000000000000000000000000000000000000000000000000000000000016149f0565b9061198d61191c565b7f0f00000000000000000000000000000000000000000000000000000000000000939291469130915f9190565b906105639493929133336126f3565b906105639291600160fb1b8216156119e4575b3433306126dd565b6119ed34612684565b6119dc565b634e487b7160e01b5f52603260045260245ffd5b9190811015611a165760051b0190565b6119f2565b9290818103611a60575f5b818110611a34575050505050565b80611a5a611a4c611a48600194868a611a06565b3590565b610c0f611a4884888a611a06565b01611a26565b60046040517fd97cd9d8000000000000000000000000000000000000000000000000000000008152fd5b9261166794919293611a9a5f8091565b939092611ab2611aac5f805b97909691565b96909591565b9790963394612d9c565b9061056391600160fb1b821615611ad6575b3433306127ce565b611adf34612684565b611ace565b90611aee826123e0565b15611b4a57507fcda0f7e73d07bdb14b141f2cf4745926629a1b63e7c6a3dd8a80232cb459a8506110cd6110b6611b39610563336001600160a01b03165f52600460205260405f2090565b64ffffffffff8560781c1690612400565b7f5152abf959f6564662358c2e52b702259b78bac5ee7842a0f01937e670efcc7d9150806104f2611b93611b99936106b2336001600160a01b03165f52600560205260405f2090565b5f199055565b0390a1565b90825f939282370152565b81836109a492949394611b9e565b67ffffffffffffffff811161187057601f01601f191660200190565b90611be5611be083611bb7565b6118e9565b918252565b3d15611c0357611bf93d611bd3565b903d5f602084013e565b606090565b80611c1a604092610563959415159052565b8160208201520190610977565b5f928392611c3a60405180938193611ba9565b03915af4611c46611bea565b9061129f6040519283927f1934afc800000000000000000000000000000000000000000000000000000000845260048401611c08565b90611c8792916127aa565b9015611c905790565b60046040517f1f1b8f61000000000000000000000000000000000000000000000000000000008152fd5b90611cc591306127aa565b81611cce575090565b90501590565b929091925f5b63ffffffff8216908115611d28576117af61041683611cfa9389896116dd565b9015908115611d1c575b50611d13579060201c90611cda565b50509150505f90565b6001915014155f611d04565b505050915050600190565b610395906113f4565b906105639897969594939291611d50612465565b9295969097919394976001600160a01b039485811690811590815f14611f8d575087340361132d575b15611e235750926001600160ff1b035f97949361014996938998956040519b8c987f27a9b424000000000000000000000000000000000000000000000000000000008a5260048a01528760248a01528d60448a0152606489015260848801528160ff1c601b0160a488015260c48701521660e4850152610120610104850152600561012485015264062929c86960db1b610144850152165af115611e1b575090565b3d5f823e3d90fd5b969091929394959789878316155f14611ee857945f98959489989461014998946001600160ff1b03948b986040519e8f9b7f4cb6864c000000000000000000000000000000000000000000000000000000008d5260048d015260248c015260448b015260648a015215600114611ede57503060848801525b8160ff1c601b0160a488015260c48701521660e4850152610120610104850152600561012485015264062929c86960db1b610144850152165af115611e1b575090565b6084880152611e9b565b505f97948897939488956001600160ff1b039361016999959c6040519d8e9a7f2b651a6c000000000000000000000000000000000000000000000000000000008c5260048c015260248b015260448a01528d60648a0152608489015260a48801528160ff1c601b0160c488015260e487015216610104850152610140610124850152600561014485015264062929c86960db1b610164850152165af115611e1b575090565b3461132d57600160ff1b611fa9911615158989891633866124ff565b611d79565b91611fb991306127aa565b81929192611fc657505090565b10919050565b9261166794919293611fdc5f8091565b939092611fec611aac5f80611aa6565b9790963394612ab9565b6106bf906001600160a01b0361201a9360a01b9116175f52600260205260405f2090565b1490565b906001600160a01b036105639594939216336127e3565b90610395916001600160a01b03339116612f44565b50506103959250612035565b906001600160a01b03610563969594939216336126f3565b6103959061207a612929565b6001600160a01b038116156120925761039590612bc1565b6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602490fd5b6103959061206e565b9394611667966120df9194929487612a16565b989394929591969097612d9c565b906001600160a01b036105639796959493921633612875565b6040513d5f823e3d90fd5b60446020925f80935af1156121435760015f5114601f3d11163d15171561213457565b633c9fd93960e21b5f5260045ffd5b612106565b60646020925f80935af1156121435760015f5114601f3d11163d15171561213457565b9060405160158101907f0dfe1681d21220a7ddca3f43a9059cbb23b872dd36c785160000000000000000918282525f851394856001146123775750603582016020816004808601335afa15612143575193905b6084359530871460011461235a5760011461234357602081600485335afa15612143575b602060558401600460088601335afa15612143577fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000083526060812090527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546035830152336001600160a01b0360558420161861231b5760a4358060011461229a5715612270575b5050505050565b612290946010938352601483015233603483015260548201520190612148565b5f80808080612269565b5091819491526018840152336038840152605883015260788201525f80608460146e22d473030f116ddee9f6b43ac78ba3940182855af19081612310575b50156122e8575f80808080612269565b7fc3f9d332000000000000000000000000000000000000000000000000000000005f5260045ffd5b90503b15155f6122d8565b7fb2c02722000000000000000000000000000000000000000000000000000000005f5260045ffd5b6020603584016004808601335afa6121e257612106565b50506103959450600c925033601083015260308201520190612111565b9350602081600484335afa1561214357805193906121be565b909150610395925061216b565b6106bf906001600160a01b0373ffffffffffffffffffffffffffffffffffffffff196105639460a01b169116175f52600260205260405f2090565b610395612f52565b600160ff1b811615908115916123f4575090565b600160fe1b9150161590565b6103959092919261146a600160ff8660081c96161b61242a6106bf8785905f5260205260405f2090565b17948592905f5260205260405f2090565b61146a610395929493600160ff8760081c97161b1761242a6106bf8785905f5260205260405f2090565b60035460a01c60ff1661247457565b60046040517fd93c0665000000000000000000000000000000000000000000000000000000008152fd5b6001600160a01b031680159081156124b4575090565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee91501490565b92156124de5761039592613083565b61039592612f5a565b92156124f65761039592613112565b61039592612fd9565b931561250e5761039593613180565b6103959361304a565b90602093945f93816040519788947f4b64e49200000000000000000000000000000000000000000000000000000000865260048601526024850137602482840101526044019134905af115611e1b57505f5190565b9081602091031261035c575190565b6125848161249e565b1561258e57503190565b6040516370a0823160e01b81526001600160a01b0392831660048201529160209183916024918391165afa908115612143575f916125ca575090565b610563915060203d81116125eb575b6125e381836118ad565b81019061256c565b503d6125d9565b826125fc57505050565b6126058161249e565b156126705750814710612646575f8080936001600160a01b03829416611388f161262d611bea565b501561263557565b600460405163b12d13eb60e01b8152fd5b60046040517ff4d678b8000000000000000000000000000000000000000000000000000000008152fd5b6001600160a01b0361039593921690612f44565b8061268c5750565b5f6004818093630d0e30db60e41b825273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11561210657565b816126c3575050565b60045f80938193630d0e30db60e41b83525af11561210657565b9061056395949392916126ee612465565b61270a565b90610563969594939291612705612465565b61275b565b936127419391949695929661273b61272185613207565b92600160fc1b86161515998a5f1461275357843094613225565b9161342a565b926127495750565b61039590836137d6565b848994613225565b61273b6127419593989794929661277186613207565b93600160fc1b871615159a8b5f1461278b5785309561331c565b858a9561331c565b6106bf906105639260081c5f5260205260405f2090565b915f906020928294826040519283375afa60203d141691826127c857565b5f519150565b90610563949392916127de612465565b6127f9565b9061056395949392916127f4612465565b61282e565b909493929190600160fc1b8416156128235791610395939161281c9330906135eb565b92836137d6565b9461056394956135eb565b90959493929190600160fc1b851615612853579161281c9391610395959330906136c4565b9561056395966136c4565b90610563969594939291612870612465565b61288d565b9061056397969594939291612888612465565b6128db565b61273b6128cd92966127419699989594996128a782613207565b906128b188613207565b958691600160fc1b8a1615159d8e5f146128d357843098613225565b91613514565b848d98613225565b90959486929598979493986128ef81613207565b80926128fa88613207565b958691600160fc1b8a1615159d8e5f149b61273b976128cd946127419e6129235750309961331c565b9961331c565b600354336001600160a01b039091160361293f57565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602490fd5b612978613812565b6103956129a86003547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600355565b6040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa908060208101611b99565b610395612970565b80156129ec571990565b60046040517faa3eef95000000000000000000000000000000000000000000000000000000008152fd5b90929091600160fb1b831615612aaf576104168180612a3b611715612a41958961166e565b966116b2565b919091925b62ffffff60e082901c81168015612aa0576104168682612a6d610416612a7695848b6116cf565b999099986116dd565b919091925b60c81c168015612a925761041692610416926116cf565b5050506104166104165f8091565b509390925f8095909594612a7b565b9192903393612a46565b979593919896949290612ad3612acd612c16565b8a612ca2565b809a612adf828c613853565b9260a08c01358414612afc575b5050612af79961451f565b919092565b9061105791612b18936001600160a01b0360208f0135166138e2565b612b2457895f80612aec565b60046040517f5cd5d233000000000000000000000000000000000000000000000000000000008152fd5b90610563929130903390614531565b5f6001600160a01b03612b786003546001600160a01b031690565b612b9a60035473ffffffffffffffffffffffffffffffffffffffff1916600355565b167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3565b600380546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff19821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b6001600160a01b037f000000000000000000000000111111125421ca6dc452d289314280a0f8842a6516301480612c79575b15612c71577fd999e213f11c7bfa3e796c3409e316f25e02aa3e25e5c207a92e381c7d22b6de90565b6105636147e9565b507f00000000000000000000000000000000000000000000000000000000000000014614612c48565b9061012061056392610100604051917f3af21ec5a20011b88d3b7b4ed7c806cef05a5980cf34974bcd53566a131f7e4c835260208301372090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b612d1b612465565b610395612d626003547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017600355565b6040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258908060208101611b99565b610395612d13565b979593919896949290612db0612acd612c16565b809a612dbc828c613853565b9260a08c01358414612dd3575050612af79961451f565b60208c01356001600160a01b031692918315918215612ee0575b50509050612b24578a907f2000000000000000000000000000000000000000000000000000000000000000851615612e26575b80612aec565b612e308888614a81565b6014811015612e41575b5050612e20565b90612e5d610416838061172761171b611715612e66988861166e565b91843091614531565b50612e7761105760e08d01356123e0565b612e83575b8080612e3a565b6110576106bf612eab936106b2611057946001600160a01b03165f52600560205260405f2090565b612eb657895f612e7c565b60046040517fc5f2be51000000000000000000000000000000000000000000000000000000008152fd5b61171b9250612eee93614a0a565b8114158b905f80612ded565b612f079161105791614a8b565b612f0d57565b60046040517ffb7f5079000000000000000000000000000000000000000000000000000000008152fd5b612f079161105791614ad2565b9161105791612f0793614b31565b610395614b5f565b6064906020935f93604051926323b872dd60e01b845260048401526024830152604482015282805af180612fba575b15612f9057565b60046040517ff4059071000000000000000000000000000000000000000000000000000000008152fd5b503d15612fd05760015f5114601f3d1116612f89565b5f3b1515612f89565b91906020915f91604051946323b872dd60e01b8652600486015260248501526044840152606473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29382855af19081613028575b5015612f9057565b90503d15613042575060015f5114601f3d11165b5f613020565b3b151561303c565b92602092916064915f93604051926323b872dd60e01b845260048401526024830152604482015282855af19081613028575015612f9057565b916001600160a01b0381116130e8575f9160405193631b63c28b60e11b85526004850152602484015260448301528060648301528060846e22d473030f116ddee9f6b43ac78ba39382855af190816130dd575015612f9057565b90503b15155f613020565b60046040517f8112e119000000000000000000000000000000000000000000000000000000008152fd5b916001600160a01b0381116130e8575f9160405193631b63c28b60e11b855260048501526024840152604483015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260648301528060846e22d473030f116ddee9f6b43ac78ba39382855af190816130dd575015612f9057565b90926001600160a01b0381116130e8575f9260405194631b63c28b60e11b865260048601526024850152604484015260648301528060846e22d473030f116ddee9f6b43ac78ba39382855af190816130dd575015612f9057565b634e487b7160e01b5f52602160045260245ffd5b600311156131f857565b6131da565b90610395826131ee565b61321b6132168260fd1c6131fd565b6131fd565b1561171b57503090565b939291905f946132378460fd1c6131fd565b6001613242826131fd565b0361325357506105639495506155af565b61325c816131fd565b6132b95750610563949550826001600160a01b038092163081145f1461328d5750613288918516612f37565b6153e1565b9050331461329c575b506153e1565b6132b39083600160fa1b86161515918616336124e7565b5f613296565b6132c46002916131fd565b146132d0575b50505050565b6132f19495506001600160a01b033391161480613314575b6132fb57614cf1565b905f8080806132ca565b61330f600160fa1b841615158330336124e7565b614cf1565b5034156132e8565b5f9594939261332e60fd86901c6131fd565b6001613339826131fd565b0361334b5750506105639495506155af565b613354816131fd565b6133b8575061056395965083906001600160a01b038093163081145f146133845750826132889387169116612f44565b9190913314613396575b5050506153e1565b6133b092600160fa1b8716151592818816913391166124ff565b5f808361338e565b6133c36002916131fd565b146133cf575050505050565b6133f7959650836001600160a01b0392833391161480613422575b613402575b505050614cf1565b905f80808080612269565b61341a92600160fa1b871615159230913391166124ff565b5f80836133ef565b5034156133ea565b94939291905f9561343d8560fd1c6131fd565b6001613448826131fd565b03613459575061056395965061565c565b613462816131fd565b6134bf5750610563959650826001600160a01b038092163081145f14613493575061348e918616612efa565b6154cb565b905033146134a2575b506154cb565b6134b99083600160fa1b87161515918716336124cf565b5f61349c565b6134ca6002916131fd565b146134d6575050505050565b6133f79596506001600160a01b03339116148061350c575b156150a257613507600160fa1b851615158330336124cf565b6150a2565b5034156134ee565b939291905f946135268460fd1c6131fd565b6001613531826131fd565b0361354257506105639495506155af565b61354b816131fd565b61359c5750610563949550826001600160a01b038092163081145f146135775750613288918516612efa565b9050331461358557506153e1565b6132b39083600160fa1b86161515918616336124cf565b6135a76002916131fd565b146135b25750505050565b6132f19495506001600160a01b0333911614806135e3575b15614cf15761330f600160fa1b841615158330336124cf565b5034156135ca565b94939291905f956135fe8560fd1c6131fd565b6001613609826131fd565b0361361a575061056395965061565c565b613623816131fd565b6136745750610563959650826001600160a01b038092163081145f1461364f575061348e918616612f37565b9050331461365d57506154cb565b6134b99083600160fa1b87161515918716336124e7565b61367f6002916131fd565b1461368b575050505050565b6133f79596506001600160a01b0333911614806136bc575b156150a257613507600160fa1b851615158330336124e7565b5034156136a3565b5f96959493926136d760fd87901c6131fd565b60016136e2826131fd565b036136f457505061056395965061565c565b6136fd816131fd565b613761575061056396975083906001600160a01b038093163081145f1461372d57508261348e9388169116612f44565b919091331461373f575b5050506154cb565b61375992600160fa1b8816151592818916913391166124ff565b5f8083613737565b61376c6002916131fd565b1461377a575b505050505050565b6137a2969750836001600160a01b03928333911614806137ce575b6137ae575b5050506150a2565b905f8080808080613772565b6137c692600160fa1b881615159230913391166124ff565b5f808361379a565b503415613795565b906137e082615715565b306001600160a01b038216036137f4575050565b5f8080938193611388f11561210657565b816137e091939293615746565b6003546138239060a01c60ff161590565b61382957565b60046040517f8dfc202b000000000000000000000000000000000000000000000000000000008152fd5b61386060e08201356123e0565b1561389f5760a091500135905b811561387557565b60046040517ff71fbda2000000000000000000000000000000000000000000000000000000008152fd5b60a06138d36106bf6138dc946106b26001600160a01b036020870135166001600160a01b03165f52600560205260405f2090565b91013590615765565b9061386d565b5f9060209293959495829680604051927f1626ba7e00000000000000000000000000000000000000000000000000000000978885526004850152604060248501528160448501526064840137606401915afa61393b5750565b5f51143d602014169150565b9061041699989796959493929161395c612465565b61450d565b60e080610395936139728185359052565b6139826020820160208601359052565b6139926040820160408601359052565b6139a26060820160608601359052565b6139b26080820160808601359052565b6139c260a0820160a08601359052565b6139d260c0820160c08601359052565b019101359052565b818352916109999082906020018094611b9e565b95613a44613a5c96613a33613a2a6105639e9c989d9b96613a54988c613a4c9861010082613a206101e0948594613961565b01528d01916139da565b9c6101208b0152565b6001600160a01b0316610140890152565b610160870152565b610180850152565b6101a0830152565b6101c08185039101526139da565b93919694999790959298613a7f8685876157a0565b90156145065750613a976110573360e0880135615885565b6144dc57613aa860e08601356158b0565b6144b257600160fa1b60e086013516614417575b856143bd575b600160ff1b8316156142e357613ad8888b615a7f565b9a8b613ae8898b838b8a8c6159f1565b809c76ffffffffffffffffffffffffffffffffffffffffffffff8716928361428d575b505050505b600160ff1b60e08701351615158061427f575b614255578a8c021561422b57613b3c60e08701356123e0565b156141f357613b84613b6f6105636001600160a01b0360208a0135166001600160a01b03165f52600460205260405f2090565b64ffffffffff60e089013560781c1690615a8c565b600160fc1b60e08701351661412a575b6001600160a01b036060870135168c6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2168214918261411a575b8215614112578830925b8b8a60e08401357f010000000000000000000000000000000000000000000000000000000000000016156140b957909150613c1b9250615b02565b9050613f4457613c3b918f916001600160a01b0360208c01351690613180565b614088575b5060138111613ff2575b50506001600160a01b03608084013516906001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216821490818092613fe9575b15613ecc5750505086341061132d57863411613ea4575b8760e0830135600160f71b1615613e3857505f8080808a613cc787615b5f565b5af1613cd1611bea565b50156126355787925b600160fb1b60e084013516613d28575b505050613d18907ffec331350fce78ba658e082a71da20ac9f8d798a99b3c79681c8440cbfe77e0793611141565b90611b996040519283928361041a565b90919250613d368183615b8e565b909160208501356001600160a01b0316838360138111613e04575b50506001600160a01b031691823b1561035c575f94613da9869289968b8f8f906040519c8d9b8c9a8b997f462ebde2000000000000000000000000000000000000000000000000000000008b52339360048c016139ee565b03925af18015612143577ffec331350fce78ba658e082a71da20ac9f8d798a99b3c79681c8440cbfe77e0793613d18928892613deb575b819550829350613cea565b80613df8613dfe9261185c565b8061065c565b5f613de0565b6001600160a01b039550819450613e2d925080613e27611715826104169561166e565b956116b2565b93909392905f613d51565b92613e63887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26126ba565b613e9f88613e7085615b5f565b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216612f44565b613cda565b5f8080808a3403335af1613eb6611bea565b50613ca757600460405163b12d13eb60e01b8152fd5b9491943461132d5781613fd5575b8115613fc157600160fc1b30915b1615613f6e57613ef88385615b84565b9050613f445789613f0c918c973390613180565b15613cda57613e9f613f1d84615b5f565b897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2613805565b60046040517f2aefd060000000000000000000000000000000000000000000000000000000008152fd5b61105790613f8c92968b613f828688615b84565b9390923390615b0c565b613f97578893613f0c565b60046040517f478a5205000000000000000000000000000000000000000000000000000000008152fd5b600160fc1b613fcf86615b5f565b91613ee8565b60e0850135600160f71b1615159150613eda565b50341515613c90565b808061400a61171b61171b611715614010968861166e565b936116b2565b823b1561035c578592875f878f8f9583978f8f98614060946040519c8d9b8c9a8b997fadf38ba1000000000000000000000000000000000000000000000000000000008b52339360048c016139ee565b03925af1801561214357614075575b80613c4a565b80613df86140829261185c565b5f61406f565b6140b3908c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2613805565b5f613c40565b94611057946001600160a01b036140d760209695946140e399615b02565b96909501351690615b0c565b15613c3b5760046040517f70a03f48000000000000000000000000000000000000000000000000000000008152fd5b888492613be0565b600160fe1b871615159250613bd6565b6141348786615af8565b6001600160a01b0390602089013582168382601381116141cf575b50508281163b1561035c578f8f5f948f8f958f94908f998f938a966141a6946040519d8e9c8d9b8c997f0986bdd5000000000000000000000000000000000000000000000000000000008b52339360048c016139ee565b0393165af18015612143576141bc575b50613b94565b80613df86141c99261185c565b5f6141b6565b8195506141ea93506104169250613e2761171582809461166e565b90925f8061414f565b6142268c8a031961146a8a6106b26001600160a01b0360208c0135166001600160a01b03165f52600560205260405f2090565b613b84565b60046040517ffba5a276000000000000000000000000000000000000000000000000000000008152fd5b60046040517f8ef0017c000000000000000000000000000000000000000000000000000000008152fd5b5060a08601358c1415613b23565b8181036142b6575050116142a5575b5f8b818e613b0b565b600460405163fb8ae12960e01b8152fd5b6142c6610563926142cc9461114e565b9361114e565b101561429c57600460405163fb8ae12960e01b8152fd5b899a6142f3888a8d8a898b615948565b9b898d11614376575b8c76ffffffffffffffffffffffffffffffffffffffffffffff86169182614326575b505050613b10565b8d81810361434f5750501061433e575b5f8c8161431e565b600460405163240f51c960e11b8152fd5b6142c66105639261435f9461114e565b111561433657600460405163240f51c960e11b8152fd5b9a509a50879a61438a888a808a898b6159f1565b9a808c11156142fc5760046040517f7f902a93000000000000000000000000000000000000000000000000000000008152fd5b6143c786856158ce565b90816143d5575b5050613ac2565b6143e29161105791611551565b6143ed575f806143ce565b60046040517fb6629c02000000000000000000000000000000000000000000000000000000008152fd5b61442460e08601356123e0565b6144885761445961105760e0870135607881901c64ffffffffff9081169160a01c1660208901356001600160a01b0316611ff6565b15613abc5760046040517fe3e8b052000000000000000000000000000000000000000000000000000000008152fd5b60046040517f9e744e25000000000000000000000000000000000000000000000000000000008152fd5b60046040517fc56873ba000000000000000000000000000000000000000000000000000000008152fd5b60046040517fd4dfdafe000000000000000000000000000000000000000000000000000000008152fd5b5f5260045ffd5b90610416999897969594939291613a6a565b90610416999897969594939291613947565b6040519492916064841461471e57836048146146ac578360e01461468857836101001461466257836060146145c35750505061016014614593576004827f68275857000000000000000000000000000000000000000000000000000000008152fd5b610164826101605f94936302b67b5760e41b8695526004830137826e22d473030f116ddee9f6b43ac78ba35af190565b61016493505f95929486956020936040936302b67b5760e41b8752600487015260248601526014826050870137861965ffffffffffff9181601485013560e01c0183166064880152601884013560e01c608488015260a4870152601c83013560e01c011660c485015261010060e4850152816101048501528280820161012486013701610144830137826e22d473030f116ddee9f6b43ac78ba35af190565b5061010492508491505f949061010086956323f2ebc360e21b87945260048501375af190565b5060e492508491505f949060e0869563d505accf60e01b87945260048501375af190565b6101049350906001600160ff1b035f969395879687946323f2ebc360e21b87526004870152602486015260206008602883013592803560e01c60448901528619600482013560e01c016064890152600160848901528360ff1c601b0160a48901520160c48701371660e48401525af190565b60e49350906001600160ff1b035f9693958796879463d505accf60e01b87526004870152602486015260206024604483013592828160448a013786198382013560e01c0160648901528360ff1c601b0160848901520160a48701371660c48401525af190565b6147da610395946147d36080949897956147cc60a086019a6147c5877f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9052565b6020870152565b6040850152565b6060830152565b01906001600160a01b03169052565b60405160208101906148508161484230467fe455bf8ea6e7463a1046a0b52804526e119b4bf5136279614e0b1e8e296a4e2d7f5c6cbfb2848b981a8f93044b3530be1fac304ecd5042396ca8729cb8fdd718f388614784565b03601f1981018352826118ad565b51902090565b634e487b7160e01b5f52602260045260245ffd5b90600182811c92168015614889575b602083101461488457565b614856565b91607f1691614879565b905f915f546148ae6148a48261486a565b8084529260200190565b9060019081811690811561491657506001146148c957505050565b5f8052929350907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563925f935b828510614903575050500190565b80548585015260209094019381016148f5565b60ff19168352505090151560051b019150565b905f91600180549061494761493d8361486a565b8085529360200190565b91818116908115614916575060011461495f57505050565b60015f52929350907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6925f935b82851061499a575050500190565b805485850152602090940193810161498c565b60405190610395826149be81614893565b03836118ad565b60405190610395826149be81614929565b60ff81146149e75761056390615bbc565b506105636149ad565b60ff8114614a015761056390615bbc565b506105636149c5565b9092915f936001600160ff1b038216917f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a18310614a475750505050565b6020949550915f939160809360405193845260ff1c601b01868401526040830152606082015282805260015afa505f51905f8080806132ca565b9061041691615bd9565b60445f916020936040519163a9059cbb60e01b83526004830152602482015282805af19081614ab657565b90503d15614acb5760015f5114601f3d111690565b5f3b151590565b91906040519263a9059cbb60e01b84526004840152602483015260205f604473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29482865af19182614b145750565b9091503d15614b2b575060015f5114601f3d111690565b3b151590565b929160446020925f926040519163a9059cbb60e01b83526004830152602482015282865af19182614b145750565b323314614b6857565b60046040517f1b10b0f9000000000000000000000000000000000000000000000000000000008152fd5b15612143573d90565b5f602481602093614bba956370a0823160e01b83526004525afa614b92565b1561035c575f5190565b614bd084848484614c22565b15614bdb5750505050565b614be6848383614c53565b15614c1357918391614bf793614c22565b15614c04578080806132ca565b80633e3f8f7360e01b60049252fd5b600484633e3f8f7360e01b8152fd5b925f602094819460449463095ea7b360e01b8552600485015260248401525af160015f5114601f3d11163d15171690565b6020925f604492819463095ea7b360e01b845260048401528160248401525af160015f5114601f3d11163d15171690565b925f602094819460449463a9059cbb60e01b8552600485015260248401525af160015f5114601f3d11163d15171690565b5f916024916020947f87cb4f5723746eb8c6610657b739953eb9947eb0000000000000000000000000855260048301525afa15612143575f5190565b92916001600160a01b038116938160f21c946001808716818560f91c1691808660f01c16615072575b808660f11c1661503e575b60ff92614d3d848860d81c16858960d01c1687614cb5565b9473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee928388149587891487179485821517831516615004575b50604051926011818d60b81c1611614fdc578694847f3df02124a6417ed6ddc1f59d44ee1986ed4ae2b8bf5ed0562f7865a837cab6798e9652602081017f2a064e3c5b41b90865b2489ba64833a0e2ad025a394747c5cb7558f1ce7d65039052604081017fd2e2833add96994f00000000000000000000000000000000000000000000000090528560b61c6103fc16019d828f938760e01c1660048501528660e81c166024840152806044840152606483015f90526084938d888860f31c16986040985f98614e6c9b614fce575b600114614f905760f41c16614f80575b505b02871502905af1614b92565b15614f595760208a1651998a975b838160f41c1615614e92575b50505050505050505050565b838160f51c16614f39575b60f61c8316614f14575b308718614eb5575b80614e86565b1616600114614efe5791859391614ed29593614ef6575b50614c84565b15614ee757505b5f8281808080808080614eaf565b80633c9fd93960e21b60049252fd5b90505f614ecc565b5050505f809350809281925af1614ed957612106565b9650632e1a7d4d60e01b5f52896004525f8060248180885af115612143578996614ea7565b975f6004818093630d0e30db60e41b8252895af115612143578a97614e9d565b81818b1616600114614f7a57614f6f3086614b9b565b5f1901998a97614e7a565b47614f6f565b848601526020909401938d614e5e565b5050947fe413f48d00000000000000000000000000000000000000000000000000000000886060939783880190308252602082015201520193614e60565b97849088015260a497614e4e565b7fa231cb82000000000000000000000000000000000000000000000000000000005f5260045ffd5b61501a8c85808260c81c169160c01c1687614cb5565b908114615037575b615031908d8660405192614bc4565b5f614d80565b5087615022565b632e1a7d4d60e01b5f52866004525f806024818073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1614d2557612106565b630d0e30db60e41b5f525f806004818a73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1614d1a57612106565b9093926001600160a01b038116918160f21c956001808816818560f91c1691808660f01c166153b1575b808660f11c1661537d575b60ff926150ef848860d81c16858960d01c168a614cb5565b9473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee92838814958b888a14881795858d88851517861516615341575b50505050604051926011818d60b81c1611614fdc578d9c8795857f3df02124a6417ed6ddc1f59d44ee1986ed4ae2b8bf5ed0562f7865a837cab6798f9752602081017f2a064e3c5b41b90865b2489ba64833a0e2ad025a394747c5cb7558f1ce7d65039052604081017fd2e2833add96994f00000000000000000000000000000000000000000000000090528660b61c6103fc16019e8f93808860e01c1660048601528760e81c16602485015281604485015260648401526084938d888860f31c16986040985f986152219b614fce57600114614f905760f41c16614f80575002871502905af1614b92565b1561531a5760208b16519a8b975b838160f41c161561526b575b50505050505050508291501061524e5750565b8261129f604051928392630325276360e11b84526004840161041a565b838160f51c166152fa575b60f61c83166152d5575b30871861528e575b8061523b565b16166001146152bf57918593916152aa9593614ef65750614c84565b15614ee757505b5f8381808080808080615288565b5050505f809350809281925af16152b157612106565b9650632e1a7d4d60e01b5f528a6004525f8060248180885af115612143578a96615280565b975f6004818093630d0e30db60e41b8252895af115612143578b97615276565b81818c161660011461533b576153303086614b9b565b5f19019a8b9761522f565b47615330565b8087806153579360c81c169160c01c1685614cb5565b918214615375575b61536c9260405192614bc4565b8b5f858d615135565b8a915061535f565b632e1a7d4d60e01b5f52836004525f806024818073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16150d757612106565b630d0e30db60e41b5f525f806004818773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16150cc57612106565b9291926001600160a01b0384169360018160f71c169063ffffffff8160a01c169384156154bf575b60405194630240bc6b60e21b5f5260405f6004818b5afa156154b6573d605f190161548e576020975f958560a4958995633b9aca008a99968a97159e8f60051b519460f21c16519202920282019102049a63022c0d9f60e01b86528b0260048601528a0260248501526044840152608060648401528160848401525af115611e1b5750565b7f85cd58dc000000000000000000000000000000000000000000000000000000005f5260045ffd5b853d5f823e3d90fd5b633b6d03409450615409565b93929091936001600160a01b0382169160018160f71c169063ffffffff8160a01c169081156155a3575b60405195630240bc6b60e21b5f5260405f600481895afa1561559a573d605f190161548e57633b9aca0084159360208560051b519460f21c16519202920282019102049680881061557f57505f8094819460a494889463022c0d9f60e01b86528b0260048601528a0260248501526044840152608060648401528160848401525af115611e1b5750565b8560449189630325276360e11b835260048301526024820152fd5b863d5f823e3d90fd5b633b6d034091506154f5565b909160018460f71c169060405193630251596160e31b8552600485015281602485015260448401528060011461564b571561562c575b60a06084830152604060a483015260c4820152600160fa1b8216151560e482015260405f61010483826001600160a01b0387165af115611e1b575060f21c602016515f0390565b73fffd8963efd1fc6a506488495d951d5263988d2560648301526155e5565b506401000276a460648301526155e5565b90919493929460018460f71c169060405193630251596160e31b8552600485015281602485015260448401528060011461570457156156e5575b60a06084830152604060a483015260c4820152600160fa1b8216151560e482015260405f61010483826001600160a01b0387165af115611e1b575060f21c602016515f039180831061524e5750565b73fffd8963efd1fc6a506488495d951d5263988d256064830152615696565b506401000276a46064830152615696565b632e1a7d4d60e01b5f526004525f806024818073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af11561210657565b60245f808094938194632e1a7d4d60e01b83526004525af11561210657565b90811561577157501990565b905090565b90929192615786611be082611bb7565b938185528183011161035c57610395916020850190611b9e565b9160e08301357f0200000000000000000000000000000000000000000000000000000000000000161561585757801561582e576157f7916157e2913691615776565b6001600160a01b039181602084935191012090565b1691351603615808575b6001905f90565b5f907fdc11ee6b0000000000000000000000000000000000000000000000000000000090565b5050505f907fb2d25e490000000000000000000000000000000000000000000000000000000090565b91505015615801575f907f74896a7b0000000000000000000000000000000000000000000000000000000090565b69ffffffffffffffffffff8091169081159283156158a4575b50505090565b161490505f808061589e565b60501c64ffffffffff1680151590816158c7575090565b9050421190565b9061041691615c02565b9461592a90615919615910615932956105639d9b9761593a999d9b966159018c6101c092613961565b806101008d01528b01916139da565b9a610120890152565b6001600160a01b0316610140870152565b610160850152565b610180830152565b6101a08185039101526139da565b9391909492946159588282615cc6565b80949194156159d7579060209697615987838061598161171b61171b6117156159c2998d61166e565b986116b2565b9290916040519a8b998a9889987f1d9671c3000000000000000000000000000000000000000000000000000000008a52339360048b016158d8565b03915afa908115612143575f916125ca575090565b505050505050908160a060c0610563940135910135615cd0565b939190949294615a018282615cf2565b8094919415615a65579060209697615a2a838061598161171b61171b6117156159c2998d61166e565b9290916040519a8b998a9889987fd7ff8a80000000000000000000000000000000000000000000000000000000008a52339360048b016158d8565b505050505050908160a060c0610563940135910135615d09565b9080821015615771575090565b600160ff8360081c93161b91615aad6106bf8284905f5260205260405f2090565b908380831614615ace576103959361146a921792905f5260205260405f2090565b60046040517fa4f62a96000000000000000000000000000000000000000000000000000000008152fd5b9061041691615c1e565b9061041691615c3a565b9294805f9581602098889596604051976323b872dd60e01b8952600489015260248801526044870152615b53575b5050606401925af160015f5114601f3d11163d15171690565b6064850137805f615b3a565b6001600160a01b0360408201358116918215615b7a57505090565b6020013516919050565b9061041691615c56565b9061041691615c72565b615ba06118dc565b9060208252565b615baf615b98565b9061039560208301611914565b615bc581615d43565b90615bce615ba7565b918252602082015290565b60208210615bf55761041691601f190190602081019035615d7b565b50506104166104165f8091565b60208210615bf55761041691601f190190602081019035615dc6565b60208210615bf55761041691601f190190602081019035615de9565b60208210615bf55761041691601f190190602081019035615e0c565b60208210615bf55761041691601f190190602081019035615e2b565b60208210615bf55761041691601f190190602081019035615e4b565b60208210615bf55761041691601f190190602081019035615e6a565b60208210615bf55761041691601f190190602081019035615e8d565b9061041691615c8e565b80831760801c15615ce85761127d906105639361114e565b6105639202611175565b9061041691615caa565b9190820180921161113c57565b909182811760801c15615d3457615d2f82615d2a6105639561127d9461114e565b615cfc565b61112e565b610563920281015f1901611175565b60ff16601f8111615d515790565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b92909163ffffffff93848160801c1694859160a01c1693019383039211615d9e57565b7f9605a010000000000000000000000000000000000000000000000000000000005f5260045ffd5b92909163ffffffff93848160601c1694859160801c1693019383039211615d9e57565b92909163ffffffff93848160a01c1694859160c01c1693019383039211615d9e57565b92909163ffffffff8460201b81169485911693019383039211615d9e57565b92909163ffffffff9384811694859160201c1693019383039211615d9e57565b92909163ffffffff8460c01c16809460e01c93019383039211615d9e57565b92909163ffffffff93848160201c1694859160401c1693019383039211615d9e57565b92909163ffffffff93848160401c1694859160601c1693019383039211615d9e5756fea264697066735822122021d57fb103289e2cba8afc2bb1171da60ce5b202c078d95875fb05ec060bef4f64736f6c6343000817003303bfc56c9cd8ee679013eda7a057a8910907a229d1a37cd580034af2cf59235973034568612b1e94925148800fa35dde1194e3abc4cea919158771ef550f866a2dbf03584e525fd0dc27ffbd6ceaa1daf5190d68b0c9668e3c7df4b9edc97c8cdf0f1c03309424d87ac86f3c1442a1cd6143096cb223021361d39aa6cea1bc603485d36a035e42c042e8a7434ef9c3f5fd0ec9ad54910e2bdd6c43127c1c1f265a8a7f737503d89758b794e50a835b7afa8a891d4e00a1aaa8372469a55ac766bb241d8c12af031446a03d7133432ab434d4c2996048e8a31e442ca07c10617702ca9f4aea090003b9ed0612968fc5c9c59336a134f8dc0e8b8938ac78eb31055fc3f5bf7805bdf70319c4f7973d2b99132e1fdcac2f0893fe89db923f3201f2d35cf1c693e8b19c650302c56ccee0e3479446fdcfd15665090dc76c2e9d222ba79c3630522b50743755031958df320f0fe63640b8d86fff4c007f8bd8d63f4d43581c48a99d828b1a12750368a2dceb24f55c75ad297151fc1d10985c841ed0d000bab6a46ab7837ee7a37903faae3e532b37cdb4c7d757d067a65641e0b7981d1a9f7a1fec066e38b0c0a04503ed4fbf80e2c20e26554fb2543cd54edf5c7eb76668b149f76c58b5da3748062603d61e5f0dcae559551951d26350a5c240d6f2047b7d52e5a335dab58583e86a3d03feb8259ff7c25b8dc83d5a1d662aef24dfa5e1c945f271a4dbdd2e998d5aa0a603d3dfb5cd31b6c605390cc132cde0a581e15f6acc97b37b88e8e824bac1d207de035a6c0d13151c87039c317c110db325f37b34674792b6b3532a2cce8cc95384e303b9cca036cb397887dd10787b21653706d4fd944994c124180176254dd18ef2d203110428533a8af5c5700c63cf8e4c116263bdaf69fbd3e9a4311871d0b7a9a2c3038c31b1fb71a85df5d1a81334721af8635997fc4ea32449967c26ed0014bc6e4b00581f032093d01513c3d1030df09c7efed90b75c2dba1a875f63ebae85f8adacb105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05411799622f4d98a24514011e8527b969f7488ef4700581f03a0b7445ccac0ebeeee23d6fe055df547b46944e3be57401736257c667e905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03aa4f254a481dc21577ee1f10c57a60a8cf7916cc64297b006ca57e8630005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03ef07c5841b122012e6e0b4d670a6e89ef3521780d3742327cc98c84053f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021988a200581f028641947a072e037c5889c9355ceabdfb2715aff9f6471d37e4864d93f9e55820fffffffffffffffffffffffffffffffffffffffffffffffff5ef64f3908190d403ebbaef5ccdc2f71f2e5b5b2ca7181650f7c56f1fceaa7c37ebe8af7d326a37bf03ec2a60cc39aac40f2113d41ede2278752f7ddf0054eaac7cd12c6d0d77ff9af000581f02b92922ec5a85a977faf3a5ad47bd25c729515d57f4d35c1c6541e41117475820fffffffffffffffffffffffffffffffffffffffffffff9fa26225d97b0b1250003e3c8e2816dd23fad4ec87c15d6c3b22eeeaa27e01a68b822490f824e72735ab60219dc920360a1b72d4da85b60ec48963891b8492c880c1220d80664b376562258dc771ec9035dc79fc04757781e5ac78d0b51f0e18e483d5e416e0306084755ec3f400c51f7032f2246e574f63c0c9454b29973ddbc94662da8de59eb910312a443058e13e72603025ef1ea5bbce6d45ee4ed9eee829dfaaa470444e679fe74de3cf951a9df3a7003f3c332ca3b123897c6fbec3e3fcad36039b09eb17718838a107e12dd2b69a91103ac6e3bdbf109a6d97f74d4dbcaefb7f4d8bc6f9a44b0f3ae30954631ad7cff6003fd1520f266f3641d4f552cabda6b68308e43c6bf36b7ab96c8d1b2d9936730c803a5762d8efef30c3da6af2af673e11f77f1601cadbad0613d17ffda630d4dec45038aa310d675260ce0ba9e8d2182a694766e7b56b9252b4e91552fb22d01553b6a03c88dbc8a5fd75da97876d52a8cf47535077685b5239fe678687f39e457d2134e0219ffff03a95edfd51193ed2b69cb1f44316d08b5a34dc39cc3594c8566269816cc4dd2e9030ec9db92fcd384e54d300feb29ab843727d2b2bcbe1ae020a3effeda9484b89f03119ec974ee6970fb09214556165f638d465f77dcc0e234c60e965cbf0aba454a039cc862db7dc42eb3244c1536d746e4995c331cc5fa7119ffd9f3a7dbfd7f12f603f4f009f9deea2e2101a3dd51fd9243e3592e4ee90f04282494659826ff3049b2039ae97c39b519b612d48f0c94672cc0133281bff3189ad57ff8b5ab83f482c0090377d6ece2b52edc47cfcbd573c1284c44ddc8253d28cbd4f0b1121fa25afc60520349fcd7dc2f04403c77325ade59284549f3664aa1a5642a7794fbfe727f2f273d03ef28dff4a6e0a780e67d10a8efa19444045719871182d7f41e98302b2811232e039bb380fc7df8ce14b3919f0e416097026367902055b55045611911a1ed67091a032a7c9c5b3744b60dfb00346ae81146290fa88adea7c7ddb63c49f7d5b322fe07038d150ceb4ef265dac6e297ad20fa9af87f8c9342cea67a400d14dec72fd6e8cb036b7c7008f7cb71428cc9f94b094cd303a7c196c5527a65f400c0e7f8d66b07c70219ffff0334aa4d95de557101cc295f6527260837b707f876595f63c996a8823545f7f0c7039a52fffd7e610400abc439f70dfca2adb99a4e5e8151ee3fb1fdc8f8bb420626030b8cf1285c5ecde2e351730a51079cae6dc089270e3cc945ac636d8663f73b380219ffff05581e039c2ac5ebab831261ef370aa8c4f51929c79cf4b42770acd4bd33b93e400701195ee603197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e0359ec36de58241eb18b95b9b7d038aa9a7832980d7f04cd9eb159ed79b007011bffffffffffffffff05581e035eedd56859f90107f334851ca47f4fe9be9d059aaca01ebbdb6e7b32c00c0547034aaee791f80003e6197e5d0576f310b56e9c32875f7797edf1a4ca6e101c6c9a6cb4cb2739be8205581e037045d5fcb2a66f85e7f76ce53041602347e97c899d52949c705fb05dd00c014716a78fe7dfcc000219e784039a57e648c3221d56b33eccd5f47fb18d79c3f31a0c04467e0c7b06c488603ba0032765d3d7e2bf8e031b5e646066c316a946efec34944bc9b7d26401e31c3ab4ce03fc143adce424d501a025915ce8bd7c2a13097a1c396f97686c705550214650f903e67f62a1ca43b1cad01bd1a13081f353d1df93f39ef9bd642fc58272587c86ce036ef1c6073d39ed5690a2f8362c04afd56ceeb9aa7ab8f914e830bbd1b970515e03de54161b8d48beca853cdaf0d3a56e4ad4c2cdaa589a55bbd94a7a250387997d036a58123682a0b6eba555dc83af577d9508b5e8941d03c9b1bfe9e9d3bd8207d2032f90c38fe00d9d914d0fddafd7a26cbbc9dca86b4a9e76c0ec26d0d2a1893c87039718333be28946985c4a16bcb29857873cdc155fe77ebc5f4d08bdabc54175f603659a9cd904da838849c1a8c780d4b76caac26b2a92a4c2a8ad7361696e33cdda03126b799d4e7b8896ccb5261ec0f8d2e09d05f614789ccabb0d150bcd0f8af63003dc76ba59872a5812ef7f384aa2d1d2d7f573669adb6f0a06ce0a511a3bf31f830219ffff031e9e3affa2869cecf4e3d300d9e37faa8abeed29b44a6a3f41e700b0c41ebfde0329281e1387ecdad8f167755425f3c233c4153682b13474810d93d533e7cee366031c341ddc3b54c23eecf385ab3ec218c6441400fa44d023a9270e68e9839b2bbf03bdfad3b9af63fa8b68fa647b7c6b964c28a8038f51ab7e9a3d7a641f0c960ad603f3e6cf188484fd21175c14eb2c720c433792ca35035e6acbaebd6e0c653c2bbc03399def4c52ea51225a32a29302d25bf8c43e6be19cd0154437ad096d3ac0c10c03813ef9eae574f9f33dfea6d676f696f38e7b5d460391f200ad02b7cd858ce5420219ffff0310713725e7582891317b8f2bee790ec690ce46527dc72a6a1e8e59450559d32e031d21e84f146585f6b0ccef6c4ca4a9884fa52e2a63c944d332bf03ef74def742032425c265b27252fc529599bb1094e262aa5da1a60150c201f9b8079922bd4d400360bdfa89c88958f3b0eb3d93542de97424567d062683b9853984c415d867e2e703b5eee9e529e7835ab1ef382d6de51c43ee79fa62c6ba0d7d58182d2760a94cb803ab40b58c0e97b55fe6f25d000be7bfcfebd9cffc2b8c7a14a8f3c4d066c1eaa00219ffff03147c3d93796e97a5ffc16d1299a699940e9649b9671cb659ec412a7bc91fb9ed0367b1b6a84b96f9a01000a89e1b2c47936b6df2c3bc9551834560c6a342a93420039675ba98cde46bc68c15e8b7718f8e2dce1ba5fc4918113206215976b389beae0219ffff03130af63e4fc6c981406423196fb32db69690b4c6a6aa8683b37d924eb7a935ff03d74f8a73d4d21266f5a09818bb9718ff157fc8c91f30ae4191c3e45c697cb37e03af8a5d844d05a1aad84887b83c8484cf0ce3ce558d44f4dd489d22acb335acea03d05c1db688574ea6128ab9998e4d2d62ae2fc1609a0aff9150753c0cd24f664d03d6b6056011ef992804dda4cb418bfad64fd86908f3f784b189f8fdb298e6dd8303c57e454e891f4cb3d814da7b2dabe0a5623bf8f502f842a9ecf62be94225462703430f4ae08e3680c7dc9b1eb42dddef4eb22a9bb1b9dab8e51e81e1c82c6b50e20361252b843e593c5072347a20b2a6c0bcaf764f3ddc13f0b1665674d583fbcf6a037645d20d17121e1a1285c0b6baa21fbaeeab21614e34c4aec16086296cd16f0a03ccfb8ebbff65c5e486b9b6d47333cc88b04176fdce3107109016a319bd0eccfc03b5006bf5dab6601dd0518fd8bdbfb9bc6bf6c959a18d1cdd952c8884223673ec03215d106d9d2ee02fa0cbe847ded4db51264bc507fee79bc24c058459fa51504203505a672f3b3e722e11b1dcf8291a0d9fdd6769bf7e2450cf99229ca87bf204b7034ddaad95c37421f47eee3b60e1fd1488e3dd0976daabeaaa2d19c8ad867783b703fc202597a81d222eec17ab800a9673cac2d7c756459214bccdb57cddf61ab62b039c8a4e3df1b0b1cbe871523d6f8fac5e0ec73a8cc6ffae14581c8e4c36ae74000315fa0cdd59dd8c42dfa9a1a32b3c73eaeaa96f78f09eace6a8c854da4a183b2d03de7520e6bedd29f57fdafaf42243e222d112c3d85bbceb869f0b819a5b05bdf40307cbfb88d9534e3636dd724ecda32797f5637ecdaaf465c598492c7b6be7adc10303339e972588f52ba83fb0f4f43d48d0b46d52649321a25fd141f7a85efc45ce038ed6aa00f214bdd424ef16db857e6dbf6bed762770dfba2e5ceb88ec7f3ca399038d1522cb6122e6c63fe1cfc2ec50850a50f3cce1e8855dcac77c1c9aaf000bb2039ecacdcea91ed50eafcba0c8fdadfef577cc076b1aa06770b63a5c702109750905581e033b774587f060dceb9c1aef205ce8b468d2b2b7730c37b4be91842505100c014701ca62a4f780000366e6a60718dd3716caf55f60b0bc861c01e142bd7c2b6187b882bcb658f6cf1105581e037668eb0362abb314eff45a7a65e48669eb1b4e04461683f660391d3cc00c182046a3695ae1827005581e032b29d571ea0f3ddf87593e9aec2b89666fc4e694730e65dea58db182c00c0147194fe9ccd1280003ca72b343e6c842b37c818002a829505a63c430fd6d60e5f6caee1df558fbe9b804592e38600436101561000d57611d69565b600035601c5260005134612e335763c4d66de881141561031c5760043560a01c612e3357600654612e3357600435600655336c02863c1f5cdae420000000002755606061020060046395d89b416101a0526101bc6004355afa15612e3357603f3d1115612e3357601b6102006102005101511015612e33576000506102208051602001806101408284600060045af115612e33575050600060096101a0527f43757276652e66692000000000000000000000000000000000000000000000006101c0526101a060098060208461026001018260208501600060045af1505080518201915050610140601a8060208461026001018260208501600060045af1505080518201915050600e610200527f204761756765204465706f73697400000000000000000000000000000000000061022052610200600e8060208461026001018260208501600060045af15050805182019150508061026052610260905080600b602082510161012060006003818352015b82610120516020021115610192576101b4565b61012051602002850151610120518501555b815160010180835281141561017f575b5050505050506000610140601a8060208461020001018260208501600060045af150508051820191505060066101a0527f2d676175676500000000000000000000000000000000000000000000000000006101c0526101a060068060208461020001018260208501600060045af15050805182019150508061020052610200905080600f602082510161012060006002818352015b8261012051602002111561025c5761027e565b61012051602002850151610120518501555b8151600101808352811415610249575b5050505050504260155560206102006004632c4e722e6101a0526101bc73d533a949740bb3306d119cc777fa900ba034cd525afa15612e3357601f3d1115612e3357600050610200516c02863c1f5cdae4200000000018556020610200600463b26b238e6101a0526101bc600073d533a949740bb3306d119cc777fa900ba034cd525af115612e3357601f3d1115612e335760005061020051600755005b63313ce56781141561033357601260005260206000f35b63d31f3f6d8114156103675760016014546c01431e0fae6d7217caa0000000811015612e3357026015015460005260206000f35b634b8200938114156104485760043560a01c612e33576004356101605273d061d61a4d941c39e5453435b6345dc261c2fce06101805260006101405261014061012060006002818352015b6101205160200261016001513314156103ce57600183526103df565b5b81516001018083528114156103b2575b5050506101405115612e335760043561014052610140516006580161251a565b60005060043561014052600860043560e05260c052604060c02054610160526009546101805261018051610160516101405160065801611d6f565b600050600160005260206000f35b63331345838114156104f45760043560a01c612e335760043561014052610140516006580161251a565b6000506c02863c1f5cdae420000000001760043560e05260c052604060c0205460206101e06044638b752bb06101405260043561016052306101805261015c73d061d61a4d941c39e5453435b6345dc261c2fce05afa15612e3357601f3d1115612e33576000506101e051808210612e33578082039050905060005260206000f35b63e77e74378114156105615760043560a01c612e335760243560a01c612e33576c02863c1f5cdae420000000002560043560e05260c052604060c02060243560e05260c052604060c020547001000000000000000000000000000000008082069050905060005260206000f35b6333fd6f748114156107785760043560a01c612e335760243560a01c612e335760056c02863c1f5cdae420000000002260243560e05260c052604060c0200154610140526009546101605260006101605118156106ac574260026c02863c1f5cdae420000000002260243560e05260c052604060c0200154808211156105e757806105e9565b815b90509050610180526101805160046c02863c1f5cdae420000000002260243560e05260c052604060c0200154808210612e3357808203905090506101a05261014080516101a05160036c02863c1f5cdae420000000002260243560e05260c052604060c0200154808202821582848304141715612e335780905090509050670de0b6b3a7640000808202821582848304141715612e33578090509050905061016051808015612e33578204905090508181830110612e3357808201905090508152505b6c02863c1f5cdae420000000002460243560e05260c052604060c02060043560e05260c052604060c0205461018052600860043560e05260c052604060c020546101405161018051808210612e335780820390509050808202821582848304141715612e335780905090509050670de0b6b3a7640000808204905090506101a0526c02863c1f5cdae420000000002560043560e05260c052604060c02060243560e05260c052604060c0205460801c6101a0518181830110612e33578082019050905060005260206000f35b63bdf981168114156107ae5760043560a01c612e33576004356c02863c1f5cdae42000000000233360e05260c052604060c02055005b63e6f1daf28114156107ca573361014052600061016052610833565b6384e9bd7e8114156107f65760006101605260043560a01c612e33576020600461014037600050610833565b639faceb1b81141561082e5760043560a01c612e3357602060046101403760243560a01c612e33576020602461016037600050610833565b6108a7565b600054612e3357600160005560006101605118156108575733610140511415612e33575b610140516101605161014051610180526009546101a05260016101c052610160516101e0526101e0516101c0516101a0516101805160065801611f83565b61016052610140526000506000600055005b6396c55175811415610aa95760043560a01c612e33576c02863c1f5cdae420000000001660043560e05260c052604060c020546101405260206102c0604463da020a1861022052600435610240526020610200602463010ae757610180526004356101a05261019c735f3b5dfeb7b28cdbd7faba78963ee202a494e2a25afa15612e3357601f3d1115612e3357600050610200516102605261023c735f3b5dfeb7b28cdbd7faba78963ee202a494e2a25afa15612e3357601f3d1115612e33576000506102c05161016052600860043560e05260c052604060c020546101805260206102c060246370a08231610240526004356102605261025c735f3b5dfeb7b28cdbd7faba78963ee202a494e2a25afa15612e3357601f3d1115612e33576000506102c0516109d85760016109e2565b6101405161016051115b5b15612e3357610180516028808202821582848304141715612e335780905090509050606480820490509050601260043560e05260c052604060c020541115612e33576101405161016051610180516004356101a0526101a0516006580161251a565b6101805261016052610140526000506101405161016051610180516004356101a052600860043560e05260c052604060c020546101c0526009546101e0526101e0516101c0516101a05160065801611d6f565b610180526101605261014052600050005b63b6b55f25811415610ac5573361014052600061016052610b2e565b636e553f65811415610af15760006101605260243560a01c612e33576020602461014037600050610b2e565b6383df6747811415610b295760243560a01c612e3357602060246101403760443560011c612e33576020604461016037600050610b2e565b610d56565b600154612e3357600160015561014051610160516101405161018052610180516006580161251a565b610160526101405260005060006004351815610ce95760006c02863c1f5cdae4200000000019541415610180526009546101a0526101805115610bef576101405161016051610180516101a051610140516101c0526101a0516101e052610160516102005260006102205261022051610200516101e0516101c05160065801611f83565b6101a0526101805261016052610140526000505b6101a080516004358181830110612e33578082019050905081525060086101405160e05260c052604060c020546004358181830110612e3357808201905090506101c0526101c05160086101405160e05260c052604060c020556101a0516009556101405161016051610180516101a0516101c051610140516101e0526101c051610200526101a0516102205261022051610200516101e05160065801611d6f565b6101c0526101a05261018052610160526101405260005060206102a060646323b872dd6101e05233610200523061022052600435610240526101fc60006006545af115612e3357601f3d1115612e33576000506102a0505b60043561018052610140517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c6020610180a2600435610180526101405160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610180a36000600155005b632e1a7d4d811415610d6d57600061014052610d98565b6338d07436811415610d935760243560011c612e33576020602461014037600050610d98565b610f8a565b600254612e33576001600255610140513361016052610160516006580161251a565b6101405260005060006004351815610f235760006c02863c1f5cdae420000000001954141561016052600954610180526101605115610e4357610140516101605161018051336101a052610180516101c052610140516101e052600061020052610200516101e0516101c0516101a05160065801611f83565b6101805261016052610140526000505b6101808051600435808210612e33578082039050905081525060083360e05260c052604060c02054600435808210612e3357808203905090506101a0526101a05160083360e05260c052604060c02055610180516009556101405161016051610180516101a051336101c0526101a0516101e0526101805161020052610200516101e0516101c05160065801611d6f565b6101a0526101805261016052610140526000506020610260604463a9059cbb6101c052336101e052600435610200526101dc60006006545af115612e3357601f3d1115612e3357600050610260505b60043561016052337f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243646020610160a2600435610160526000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020610160a36000600255005b63a9059cbb811415610fe757600354612e3357600160035560043560a01c612e33573361014052600435610160526024356101805261018051610160516101405160065801612b11565b6000506001600052600060035560206000f35b6323b872dd8114156110d757600454612e3357600160045560043560a01c612e335760243560a01c612e3357600a60043560e05260c052604060c0203360e05260c052604060c02054610140527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101405118156110925761014051604435808210612e335780820390509050600a60043560e05260c052604060c0203360e05260c052604060c020555b6101405160043561016052602435610180526044356101a0526101a051610180516101605160065801612b11565b610140526000506001600052600060045560206000f35b63095ea7b381141561114a5760043560a01c612e3357602435600a3360e05260c052604060c02060043560e05260c052604060c0205560243561014052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610140a3600160005260206000f35b63395093518114156111f35760043560a01c612e3357600a3360e05260c052604060c02060043560e05260c052604060c020546024358181830110612e3357808201905090506101405261014051600a3360e05260c052604060c02060043560e05260c052604060c020556101405161016052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610160a3600160005260206000f35b63a457c2d781141561129a5760043560a01c612e3357600a3360e05260c052604060c02060043560e05260c052604060c02054602435808210612e3357808203905090506101405261014051600a3360e05260c052604060c02060043560e05260c052604060c020556101405161016052600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256020610160a3600160005260206000f35b63e8de0d4d8114156113aa5760043560a01c612e335760243560a01c612e335760206101a0600463f851a4406101405261015c6c02863c1f5cdae4200000000027545afa15612e3357601f3d1115612e33576000506101a051331415612e33576c02863c1f5cdae420000000001954610140526008610140511015612e335760016c02863c1f5cdae420000000002260043560e05260c052604060c0200154612e335760243560016c02863c1f5cdae420000000002260043560e05260c052604060c02001556004356001610140516008811015612e3357026c02863c1f5cdae420000000001a01556101405160018181830110612e3357808201905090506c02863c1f5cdae420000000001955005b63058a3a2481141561147e5760043560a01c612e335760243560a01c612e335760016c02863c1f5cdae420000000002260043560e05260c052604060c0200154610140526101405133141561140057600161143c565b6020610240600463f851a4406101e0526101fc6c02863c1f5cdae4200000000027545afa15612e3357601f3d1115612e33576000506102405133145b5b15612e33576000610140511815612e335760006024351815612e335760243560016c02863c1f5cdae420000000002260043560e05260c052604060c0200155005b6393f7aa6781141561178357600554612e3357600160055560043560a01c612e335760016c02863c1f5cdae420000000002260043560e05260c052604060c0200154331415612e33576000610140526009546101605260006101805260006101a0526101a05161018051610160516101405160065801611f83565b600050600060046101a0527f23b872dd000000000000000000000000000000000000000000000000000000006101c0526101a060048060208461020001018260208501600060045af15050805182019150503360208261020001015260208101905030602082610200010152602081019050602435602082610200010152602081019050806102005261020090508051602001806102c08284600060045af115612e3357505060206103a06102c0516102e060006004355af115612e335760203d808211156115c857806115ca565b815b90509050610380526103808051602001806101408284600060045af115612e33575050600061014051181561162c576101408060200151600082518060209013612e335780919012612e3357806020036101000a820490509050905015612e33575b60026c02863c1f5cdae420000000002260043560e05260c052604060c02001546101a0526101a051421061168d5760243562093a808082049050905060036c02863c1f5cdae420000000002260043560e05260c052604060c0200155611726565b6101a05142808210612e3357808203905090506101c0526101c05160036c02863c1f5cdae420000000002260043560e05260c052604060c0200154808202821582848304141715612e3357809050905090506101e0526024356101e0518181830110612e33578082019050905062093a808082049050905060036c02863c1f5cdae420000000002260043560e05260c052604060c02001555b4260046c02863c1f5cdae420000000002260043560e05260c052604060c02001554262093a808181830110612e33578082019050905060026c02863c1f5cdae420000000002260043560e05260c052604060c02001556000600555005b6390b229978114156117ed5760043560011c612e335760206101a0600463f851a4406101405261015c6c02863c1f5cdae4200000000027545afa15612e3357601f3d1115612e33576000506101a051331415612e33576004356c02863c1f5cdae420000000002655005b6382c630668114156118055760065460005260206000f35b63be5d1be981141561181d5760075460005260206000f35b6370a0823181141561184d5760043560a01c612e3357600860043560e05260c052604060c0205460005260206000f35b6318160ddd8114156118655760095460005260206000f35b63dd62ed3e8114156118ad5760043560a01c612e335760243560a01c612e3357600a60043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b6306fdde0381141561194a57600b80610180602082540161012060006003818352015b826101205160200211156118e357611905565b61012051850154610120516020028501525b81516001018083528114156118d0575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b6395d89b418114156119e757600f80610180602082540161012060006002818352015b82610120516020021115611980576119a2565b61012051850154610120516020028501525b815160010180835281141561196d575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b6313ecb1ca811415611a175760043560a01c612e3357601260043560e05260c052604060c0205460005260206000f35b6317e28089811415611a2f5760135460005260206000f35b63ef78d4fd811415611a475760145460005260206000f35b637598108c811415611a7b5760016004356c01431e0fae6d7217caa0000000811015612e3357026015015460005260206000f35b63fec8ee0c811415611abb5760016004356c01431e0fae6d7217caa0000000811015612e3357026c01431e0fae6d72100000000015015460005260206000f35b63de263bfa811415611af75760043560a01c612e33576c02863c1f5cdae420000000001560043560e05260c052604060c0205460005260206000f35b639bd324f2811415611b335760043560a01c612e33576c02863c1f5cdae420000000001660043560e05260c052604060c0205460005260206000f35b6309400707811415611b6f5760043560a01c612e33576c02863c1f5cdae420000000001760043560e05260c052604060c0205460005260206000f35b63180692d0811415611b93576c02863c1f5cdae42000000000185460005260206000f35b63963c94b9811415611bb7576c02863c1f5cdae42000000000195460005260206000f35b6354c49fe9811415611beb5760016004356008811015612e3357026c02863c1f5cdae420000000001a015460005260206000f35b6348e9c65e811415611c8f5760043560a01c612e33576c02863c1f5cdae420000000002260043560e05260c052604060c0206101408080808454815250506020810190508080600185015481525050602081019050808060028501548152505060208101905080806003850154815250506020810190508080600485015481525050602081019050808060058501548152505060c09050905060c05260c051610140f35b6301ddabf1811415611ccb5760043560a01c612e33576c02863c1f5cdae420000000002360043560e05260c052604060c0205460005260206000f35b63f05cc058811415611d1f5760043560a01c612e335760243560a01c612e33576c02863c1f5cdae420000000002460043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b639c868ac0811415611d43576c02863c1f5cdae42000000000265460005260206000f35b63c45a0155811415611d67576c02863c1f5cdae42000000000275460005260206000f35b505b60006000fd5b6101a0526101405261016052610180526020610260602463bbf7408a6101e05261014051610200526101fc738e0c00ed546602fd9927df742bbabf726d5b0d165afa15612e3357601f3d1115612e3357600050610260516101c052602061026060046318160ddd6102005261021c735f3b5dfeb7b28cdbd7faba78963ee202a494e2a25afa15612e3357601f3d1115612e3357600050610260516101e052610160516028808202821582848304141715612e3357809050905090506064808204905090506102005260006101e0511115611eae576102008051610180516101c051808202821582848304141715612e3357809050905090506101e051808015612e3357820490509050603c808202821582848304141715612e3357809050905090506064808204905090508181830110612e3357808201905090508152505b610160516102005180821115611ec45780611ec6565b815b905090506102005260126101405160e05260c052604060c02054610220526102005160126101405160e05260c052604060c02055601354610200518181830110612e33578082019050905061022051808210612e335780820390509050610240526102405160135561014051610260526101605161028052610180516102a052610200516102c052610240516102e0527f7ecd84343f76a23d2227290e0288da3251b045541698e575a5515af4f04197a360a0610260a16101a051565b6101c0526101405261016052610180526101a05260006101e0526101a0516102005260006101405118156120175760086101405160e05260c052604060c020546101e0526101805115611fda576101a05115611fdd565b60005b15612016576c02863c1f5cdae42000000000236101405160e05260c052604060c0205461020052610200516120155761014051610200525b5b5b6c02863c1f5cdae4200000000019546102205261024060006008818352015b6102205161024051141561204957612512565b6001610240516008811015612e3357026c02863c1f5cdae420000000001a01546102605260056c02863c1f5cdae42000000000226102605160e05260c052604060c0200154610280524260026c02863c1f5cdae42000000000226102605160e05260c052604060c0200154808211156120c257806120c4565b815b905090506102a0526102a05160046c02863c1f5cdae42000000000226102605160e05260c052604060c0200154808210612e3357808203905090506102c05260006102c05118156121ec576102a05160046c02863c1f5cdae42000000000226102605160e05260c052604060c020015560006101605118156121eb5761028080516102c05160036c02863c1f5cdae42000000000226102605160e05260c052604060c0200154808202821582848304141715612e335780905090509050670de0b6b3a7640000808202821582848304141715612e33578090509050905061016051808015612e33578204905090508181830110612e3357808201905090508152506102805160056c02863c1f5cdae42000000000226102605160e05260c052604060c02001555b5b6000610140511815612501576c02863c1f5cdae42000000000246102605160e05260c052604060c0206101405160e05260c052604060c020546102e052600061030052610280516102e05110156122b457610280516c02863c1f5cdae42000000000246102605160e05260c052604060c0206101405160e05260c052604060c020556101e051610280516102e051808210612e335780820390509050808202821582848304141715612e335780905090509050670de0b6b3a764000080820490509050610300525b6c02863c1f5cdae42000000000256101405160e05260c052604060c0206102605160e05260c052604060c02054610320526103205160801c610300518181830110612e3357808201905090506103405260006103405111156125005761032051700100000000000000000000000000000000808206905090506103605261018051156124a957600060046103e0527fa9059cbb00000000000000000000000000000000000000000000000000000000610400526103e060048060208461044001018260208501600060045af15050805182019150506102005160208261044001015260208101905061034051602082610440010152602081019050806104405261044090508051602001806104e08284600060045af115612e3357505060206105a06104e0516105006000610260515af115612e335760203d808211156123fb57806123fd565b815b90509050610580526105808051602001806103808284600060045af115612e33575050600061038051181561245f576103808060200151600082518060209013612e335780919012612e3357806020036101000a820490509050905015612e33575b61036051610340518181830110612e3357808201905090506c02863c1f5cdae42000000000256101405160e05260c052604060c0206102605160e05260c052604060c020556124ff565b60006103005111156124fe57610360516103405160801b8181830110612e3357808201905090506c02863c1f5cdae42000000000256101405160e05260c052604060c0206102605160e05260c052604060c020555b5b5b5b5b8151600101808352811415612036575b50506101c051565b6101605261014052601454610180526001610180516c01431e0fae6d7217caa0000000811015612e335702601501546101a0526001610180516c01431e0fae6d7217caa0000000811015612e3357026c01431e0fae6d7210000000001501546101c0526c02863c1f5cdae4200000000018546101e0526101e05161020052600754610220526101a05161022051106126475760206102a0600463b26b238e6102405261025c600073d533a949740bb3306d119cc777fa900ba034cd525af115612e3357601f3d1115612e33576000506102a05160075560206102a06004632c4e722e6102405261025c73d533a949740bb3306d119cc777fa900ba034cd525afa15612e3357601f3d1115612e33576000506102a05161020052610200516c02863c1f5cdae4200000000018555b6c02863c1f5cdae420000000002654156126625760006101e0525b6101a0514211156129a85760135461024052732f50d538606fa9edd2b11e2446beb18c9d5846bb3b15612e335760006000602463615e523761026052306102805261027c6000732f50d538606fa9edd2b11e2446beb18c9d5846bb5af115612e33576101a051610260526101a05162093a808181830110612e33578082019050905062093a808082049050905062093a80808202821582848304141715612e3357809050905090504280821115612719578061271b565b815b90509050610280526102a060006101f4818352015b6102805161026051808210612e3357808203905090506102c05260206103a0604463d3078c946103005230610320526102605162093a808082049050905062093a80808202821582848304141715612e3357809050905090506103405261031c732f50d538606fa9edd2b11e2446beb18c9d5846bb5afa15612e3357601f3d1115612e33576000506103a0516102e052600061024051111561294b576102605161022051106127e7576102805161022051106127ea565b60005b156128e6576101c080516101e0516102e051808202821582848304141715612e3357809050905090506102205161026051808210612e335780820390509050808202821582848304141715612e33578090509050905061024051808015612e33578204905090508181830110612e335780820190509050815250610200516101e0526101c080516101e0516102e051808202821582848304141715612e3357809050905090506102805161022051808210612e335780820390509050808202821582848304141715612e33578090509050905061024051808015612e33578204905090508181830110612e33578082019050905081525061294a565b6101c080516101e0516102e051808202821582848304141715612e3357809050905090506102c051808202821582848304141715612e33578090509050905061024051808015612e33578204905090508181830110612e3357808201905090508152505b5b4261028051141561295b576129a5565b61028051610260526102805162093a808181830110612e335780820190509050428082111561298a578061298c565b815b90509050610280525b8151600101808352811415612730575b50505b61018080516001808201808060008112156129bf57195b607f1c612e335790509050905081525061018051601455426001610180516c01431e0fae6d7217caa0000000811015612e335702601501556101c0516001610180516c01431e0fae6d7217caa0000000811015612e3357026c01431e0fae6d72100000000015015560126101405160e05260c052604060c02054610240526c02863c1f5cdae42000000000176101405160e05260c052604060c0208054610240516101c0516c02863c1f5cdae42000000000156101405160e05260c052604060c02054808210612e335780820390509050808202821582848304141715612e335780905090509050670de0b6b3a7640000808204905090508181830110612e3357808201905090508155506101c0516c02863c1f5cdae42000000000156101405160e05260c052604060c02055426c02863c1f5cdae42000000000166101405160e05260c052604060c0205561016051565b6101a0526101405261016052610180526101405161016051610180516101a051610140516101c0526101c0516006580161251a565b6101a0526101805261016052610140526000506101405161016051610180516101a051610160516101c0526101c0516006580161251a565b6101a0526101805261016052610140526000506000610180511815612df6576009546101c05260006c02863c1f5cdae42000000000195414156101e0526101e05115612c2d576101405161016051610180516101a0516101c0516101e05161014051610200526101c051610220526000610240526000610260526102605161024051610220516102005160065801611f83565b6101e0526101c0526101a0526101805261016052610140526000505b60086101405160e05260c052604060c0205461018051808210612e335780820390509050610200526102005160086101405160e05260c052604060c020556101405161016051610180516101a0516101c0516101e05161020051610140516102205261020051610240526101c0516102605261026051610240516102205160065801611d6f565b610200526101e0526101c0526101a0526101805261016052610140526000506101e05115612d4d576101405161016051610180516101a0516101c0516101e0516102005161016051610220526101c051610240526000610260526000610280526102805161026051610240516102205160065801611f83565b610200526101e0526101c0526101a0526101805261016052610140526000505b60086101605160e05260c052604060c02054610180518181830110612e335780820190509050610200526102005160086101605160e05260c052604060c020556101405161016051610180516101a0516101c0516101e05161020051610160516102205261020051610240526101c0516102605261026051610240516102205160065801611d6f565b610200526101e0526101c0526101a0526101805261016052610140526000505b610180516101c05261016051610140517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206101c0a36101a051565b600080fd00582102f652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f42dead05581e035de2e4d82a7210b40c143c3a41e150de58e33efc9e0217f2589b0229500701192e3803d6f8d652c01e542df9c4ea42e00a26a9174069c2253080d8de54526f0161ef3c05581e033d8772827a2429e1ebd7b6634fd33d4347f7810b8cd2d526fb143331a00c014713c25188c12000031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0334e16e6da69b6839c504dbd9d9a27517db8dcd5a2fcdc7a29a82a0cf8007011bffffffffffffffff03a7a0e7cdd41443c3a49a17ac2b66dc101e2fb74622f7b49ab8836242d44f4b7f0219799b03590584b6f7c8889e33ae04cd0900af191126b9c8ce25c58f7d8979a1cd1e34d203b5ef6d9113dc8a84140a7a88ae298c1090e8097ab370b5426a9ae4a537d0e494039f600e9e9ccda81d8b1c6670688c1310ff340d74ce7bbec8c6b310af6658084403e724444fd7eccda42635ec579a950c1d090a16bc5fde015e738f130ee39845a303893f693324184476c4ffe86ffa526d26f93decd45de2d1e520702cc78669aa4a03cbb63dd1288048e229e80f3960248e249ede20593e2cb8768a6639cc1816ce12036424b4ac78fbca5d4c6117d153a6d18ba2ee06838a673df22641f446b11b73490219ffff03f38bf77766232274ed5dd1628fc1c4d2f74e1889aea48a989b8ed2537814bfc00350a9fe32df2406dacd5eda5674d998fc425c7caa4473e6e78ac6b74a08de411d03aa01a253d91f6b864170793048b018f741296158b30ffb0bf1c9a5c51406a9c403cf8660d581a1b978ea28d892a64e7f224988f4146d7cf7af3a97e93aa0babcf3039e76722d151f3a3294efcc452b84807dc57e9ed423cf90c2c8deb6200754d57203bba0e7a651b0446329e7cd722ea044531c6ae69d750be48a7ee1a935eacad14c036407aa0db90613f7c28c358c9b4f81b841e5d5e88628f42a83caa933321295700327f472ae518681964341186b9a6606d18eb64655ca4aeac30db72f65df633dc903db6c139a68e6226fe2efed73fa0282d0fa31fcbda039307f00a200be0c5fe64a0219ffff03d5b70300415cc490bd86efaa7dbaeda8485f75780223df998f7d84a577db932203519272e730a7b445c9ff80af87b82413503ceade2088a53f3ede02152f88299b039b3a368c2c6b3000fe15406d29f54086a7076422b771f29318b82bc4833e8de90388cde2b2b4fbe18017c6a68b4d4cd186b0631abf0cc5b557769845b97d601850033463480ae195473b023277ffb9eacb9000efbd3ea8c1712dbd3b7df8a8d7bc8503023aff5ab6a1f9354adcebc8f077f04bccddcf1027085350961eb062c029f125030adc436a601ebeeefe9866a2a041f3c4c34542549136aa3a45cf49ea0a6c84e703895d0ac541258de9d4d4485f328292c283ec7906c186767abc7c9f4b2653773a03d33010438b356a819eaa3dd638bc9f451c559bb359a14ab0519432e35e579dc80219ffff03d7bf33c08f5d624b842d5e427b4a6d3319d0f0d7cd500f445a5f4e74c390721903f553c72f1078dd4bd8508fbce29dda562e3162ad2d00e5b0afe849088cf27f7e03b1541d226dea26c55b13aa492ff0c4a88e220ee431f2ec1d8d2012cc3c2f5229030af7f58446268d3d8bdb3975091e7b3c72b963ecd343f59bf6c6993300fb1731034845bf0aac4a90e2bc0f3a1150707a3ced3ade86fd30fbbb0211badeb7d2800503bd82dde60e848f9abac3ad2dbd33dc10093b51b8a104587a38bfd9b5ecd645600380da6c09c209f476eabcd8833c4e96bc22fb782412a2e405151de1e1e891eca7035fe317d583529478819e81b569f338f87552b1b91a7ba5f66ffca515078d8ef3039fbb284b405cc18fe423522744f416d90b6e9a42518e9c03c43dd33f14057f1b037e7ee0afce91721fbca004c24ef028f9a13b1261b87d67c64586f9a252667a49032d14e6bcbcc27d280348f7c212fc9851c07d186ce2a41115e75cee5b110707db038a66891eb3b4989cf1a09121d102c86590aad88bfb2ff1e8e17b49fc89cd46880377054403ae1087d7b1f179e6f4531797dad294c830ed9a68337f9c7563a1dbed031206ed544229009abb45a17138eb5d98ff0077928e84f9fab055c953cc9c7bf303993d878d5f16636dd011c8ade0694325bfbb2125ce4f6c184abf615bb87959ff03232a21c230eb854b72bdd168a7c9e2ac65acf74fa87fa48f5d964f8a4c951977033d3556fedbcb65c0523fdda5e15d13f2f46d3ac5dae075548e7f2b669cd9728c032f59535b4c1a70bd38915ad18efdf86e1847ad0a4df3242fce780d78a99879e703f16b7d8438c414c01988778e25159cd8f3930cb7e4b3cb108e02ec3f927e5d71030d60e015f5f46caa3f274916575a7fda3ae6ee6d7d2564d79f379b9e862e868705581e0372884eec83c2f124c41f8b19811afecd76596aa8863a4428638820c1e0084704f032983ce00003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038447cbac6ef7cbc388b517bbe8293ab83d743c32c77ba61b1c38c1bb0007011bffffffffffffffff03e52b2452dac39a208d1f9e71c037e07dda327252fd476fc9491404d53cdbc37a035f5497081de9529a6fe1c670d702987e78196677f0cc3ab439e698d2dda192e605581e03298f8c81b506c62f8e701663bb69ac58613efb99cf1394fbf684c2eb7007011bffffffffffffffff03dc0b4392f2f0075ef4861e6850a34c8d1fc22ffe799cc8b7a74c01a00e7f8cd903562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02467f40ce0a9d1169d0d5d4ac35a9465236bee6429d09c8f53aca59e707011bffffffffffffffff039c4da409f7c4cfa1dc902d1613c1182b714a021d9095a7284e5d73bbb87e250303163b8d1bfc6064dc4df1a6127ea86345306d8d7fd2923ef42f41a8246408cbae05581d02009954db8aa6828de090e3714119eab751f85c5a56963ab12acbdad307011bffffffffffffffff0459141560806040526004361061007b5760003560e01c80634039fd4b1161004e5780634039fd4b1461012157806344bc937b14610134578063574da7171461014757806393e4eaa91461015a57600080fd5b806303b6a673146100805780631b738b32146100d95780631fece7b4146100fb5780632923e82e1461010e575b600080fd5b34801561008c57600080fd5b506100c661009b366004610da0565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6040519081526020015b60405180910390f35b3480156100e557600080fd5b506100f96100f4366004610eb9565b610192565b005b6100f9610109366004610f38565b610248565b6100f961011c366004610fa4565b61049c565b6100f961012f366004610eb9565b610620565b6100f96101423660046110b7565b6107ac565b6100f9610155366004610f38565b61080e565b34801561016657600080fd5b5060005461017a906001600160a01b031681565b6040516001600160a01b0390911681526020016100d0565b60028054036101bc5760405162461bcd60e51b81526004016101b39061112b565b60405180910390fd5b60028055306001600160a01b0386160361022f576101db8484846109fd565b836001600160a01b0316336001600160a01b03167f05b90458f953d3fcb2d7fb25616a2fddeca749d0c47cc5c9832d0266b5346eea858585604051610222939291906111be565b60405180910390a361023c565b61023c8585858585610a76565b50506001600255505050565b60028054036102695760405162461bcd60e51b81526004016101b39061112b565b6002805560006001600160a01b0384166102b9575060405134906000906001600160a01b0387169083156108fc0290849084818181858888f193505050509050806102b357600080fd5b50610443565b34156103075760405162461bcd60e51b815260206004820181905260248201527f54484f52436861696e5f526f757465723a20756e65787065637465642065746860448201526064016101b3565b6000546001600160a01b03908116908516036103f757506000546040516302ccb1b360e41b81523060048201526024810184905283916001600160a01b031690632ccb1b30906044016020604051808303816000875af115801561036f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039391906111ee565b50600054604051630852cd8d60e31b8152600481018590526001600160a01b03909116906342966c6890602401600060405180830381600087803b1580156103da57600080fd5b505af11580156103ee573d6000803e3d6000fd5b50505050610443565b6104018484610bc7565b6001600160a01b03808716600090815260016020908152604080832093891683529290529081208054929350839290919061043d90849061122d565b90915550505b836001600160a01b0316856001600160a01b03167fef519b7eb82aaf6ac376a6df2d793843ebfd593de5f1a0601d3cc6ab49ebb3958385604051610488929190611245565b60405180910390a350506001600255505050565b60028054036104bd5760405162461bcd60e51b81526004016101b39061112b565b60028055306001600160a01b038516036105875760005b825181101561053457610522848483815181106104f3576104f3611266565b60200260200101516000015185848151811061051157610511611266565b6020026020010151602001516109fd565b8061052c8161127c565b9150506104d4565b50826001600160a01b0316336001600160a01b03167f281daef48d91e5cd3d32db0784f6af69cd8d8d2e8c612a3568dca51ded51e08f848460405161057a929190611295565b60405180910390a36105ee565b60005b82518110156105ec576105da85858584815181106105aa576105aa611266565b6020026020010151600001518685815181106105c8576105c8611266565b60200260200101516020015186610a76565b806105e48161127c565b91505061058a565b505b6040516000906001600160a01b038516903480156108fc029184818181858888f1935050505090508061023c57600080fd5b60028054036106415760405162461bcd60e51b81526004016101b39061112b565b600280556040516001600160a01b0385811660248301528481166044830152606482018490523491600091881690839060840160408051601f198184030181529181526020820180516001600160e01b0316631230c53d60e21b179052516106a99190611300565b60006040518083038185875af1925050503d80600081146106e6576040519150601f19603f3d011682016040523d82523d6000602084013e6106eb565b606091505b5050905080610753576040516000906001600160a01b0387169084156108fc0290859084818181858888f1935050505090508061075157604051339084156108fc029085906000818181858888f1935050505015801561074f573d6000803e3d6000fd5b505b505b336001600160a01b03167f8e5841bcd195b858d53b38bcf91b38d47f3bc800469b6812d35451ab619c6f6c8884898989896040516107969695949392919061131c565b60405180910390a2505060016002555050505050565b8042106107fb5760405162461bcd60e51b815260206004820152601960248201527f54484f52436861696e5f526f757465723a20657870697265640000000000000060448201526064016101b3565b61080785858585610248565b5050505050565b600280540361082f5760405162461bcd60e51b81526004016101b39061112b565b6002805560006001600160a01b0384166108a9575060405134906000906001600160a01b0387169083156108fc0290849084818181858888f193505050509050806108a357604051339083156108fc029084906000818181858888f193505050501580156108a1573d6000803e3d6000fd5b505b506109b6565b3360009081526001602090815260408083206001600160a01b0388168452909152812080548592906108dc90849061136a565b90915550506040516001600160a01b03868116602483015260448201859052600091829187169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b1790525161093b9190611300565b6000604051808303816000865af19150503d8060008114610978576040519150601f19603f3d011682016040523d82523d6000602084013e61097d565b606091505b50915091508180156109a75750805115806109a75750808060200190518101906109a791906111ee565b6109b057600080fd5b84925050505b846001600160a01b0316336001600160a01b03167fa9cd03aa3c1b4515114539cd53d22085129d495cb9e9f9af77864526240f1bf7868486604051610488939291906111be565b3360009081526001602090815260408083206001600160a01b038616845290915281208054839290610a3090849061136a565b90915550506001600160a01b03808416600090815260016020908152604080832093861683529290529081208054839290610a6c90849061122d565b9091555050505050565b3360009081526001602090815260408083206001600160a01b038716845290915281208054849290610aa990849061136a565b90915550506040516001600160a01b038681166024830152604482018490526000919085169060640160408051601f198184030181529181526020820180516001600160e01b031663095ea7b360e01b17905251610b079190611300565b6000604051808303816000865af19150503d8060008114610b44576040519150601f19603f3d011682016040523d82523d6000602084013e610b49565b606091505b5050905080610b5757600080fd5b6040516344bc937b60e01b81526001600160a01b038716906344bc937b90610b8d90889088908890889060001990600401611381565b600060405180830381600087803b158015610ba757600080fd5b505af1158015610bbb573d6000803e3d6000fd5b50505050505050505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038516906370a0823190602401602060405180830381865afa158015610c10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c3491906113c6565b6040513360248201523060448201526064810185905290915060009081906001600160a01b0387169060840160408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b17905251610c959190611300565b6000604051808303816000865af19150503d8060008114610cd2576040519150601f19603f3d011682016040523d82523d6000602084013e610cd7565b606091505b5091509150818015610d01575080511580610d01575080806020019051810190610d0191906111ee565b610d0a57600080fd5b6040516370a0823160e01b815230600482015283906001600160a01b038816906370a0823190602401602060405180830381865afa158015610d50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7491906113c6565b610d7e919061136a565b9695505050505050565b6001600160a01b0381168114610d9d57600080fd5b50565b60008060408385031215610db357600080fd5b8235610dbe81610d88565b91506020830135610dce81610d88565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715610e1257610e12610dd9565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610e4157610e41610dd9565b604052919050565b600082601f830112610e5a57600080fd5b813567ffffffffffffffff811115610e7457610e74610dd9565b610e87601f8201601f1916602001610e18565b818152846020838601011115610e9c57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215610ed157600080fd5b8535610edc81610d88565b94506020860135610eec81610d88565b93506040860135610efc81610d88565b925060608601359150608086013567ffffffffffffffff811115610f1f57600080fd5b610f2b88828901610e49565b9150509295509295909350565b60008060008060808587031215610f4e57600080fd5b8435610f5981610d88565b93506020850135610f6981610d88565b925060408501359150606085013567ffffffffffffffff811115610f8c57600080fd5b610f9887828801610e49565b91505092959194509250565b60008060008060808587031215610fba57600080fd5b8435610fc581610d88565b9350602085810135610fd681610d88565b935060408681013567ffffffffffffffff80821115610ff457600080fd5b818901915089601f83011261100857600080fd5b81358181111561101a5761101a610dd9565b611028858260051b01610e18565b81815260069190911b8301850190858101908c83111561104757600080fd5b938601935b828510156110905785858e0312156110645760008081fd5b61106c610def565b853561107781610d88565b815285880135888201528252938501939086019061104c565b9750505060608901359350808411156110a857600080fd5b505050610f9887828801610e49565b600080600080600060a086880312156110cf57600080fd5b85356110da81610d88565b945060208601356110ea81610d88565b935060408601359250606086013567ffffffffffffffff81111561110d57600080fd5b61111988828901610e49565b95989497509295608001359392505050565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60005b8381101561117d578181015183820152602001611165565b8381111561118c576000848401525b50505050565b600081518084526111aa816020860160208601611162565b601f01601f19169290920160200192915050565b60018060a01b03841681528260208201526060604082015260006111e56060830184611192565b95945050505050565b60006020828403121561120057600080fd5b8151801515811461121057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561124057611240611217565b500190565b82815260406020820152600061125e6040830184611192565b949350505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161128e5761128e611217565b5060010190565b60408082528351828201819052600091906020906060850190828801855b828110156112e157815180516001600160a01b031685528501518585015292850192908401906001016112b3565b505050848103828601526112f58187611192565b979650505050505050565b60008251611312818460208701611162565b9190910192915050565b6001600160a01b038781168252602082018790528581166040830152841660608201526080810183905260c060a0820181905260009061135e90830184611192565b98975050505050505050565b60008282101561137c5761137c611217565b500390565b6001600160a01b038681168252851660208201526040810184905260a0606082018190526000906113b490830185611192565b90508260808301529695505050505050565b6000602082840312156113d857600080fd5b505191905056fea26469706673582212202cfe991af8d38fa2ac1704297d010d8644417c5713ec84f255506fc12400514d64736f6c634300080d0033036fb210a665b47d7af050ecff664676a351fbf41f79e489438215f46485e25ae603ace8ca332761ecd281cec92102994b3013a6d72c9c51e7f96a7d38f9be468c250319fa9b8ff58ef601e9bf28b5caf057dcf90fd62f827589fdad77858fb60e457e034de4da3a88713af313264c0779f08e016d3a4e8a11e256820d3d74f2fd1fabbd03f96745f39125bb37a86185d7412fc7bb3f97cf6dc0ae230666051d60bce7679503462586a755f06b518bff0992438216a8c90ad6691c1786ca5eb4356249c5cc98037a15e9601ff345d22d937643e9dbe20b222ee65ff307d9b3ce0b8f4fed9a35b003b87f2037f0230c48cd86a22169f57967f23fd2d961da67ac4e0c466ea1d40af8034aaa7b9e075094104c47cba680d7e0e65665fdfc12ea6fc92d3cead96027137603056794c764579cda673d8b1e7a1496fd980622cc17a918b3429c061b5f21e6dd0367e413c0d116b67787d230ac557d96889f34b15d9f161849645c41d54cdbbec000581f027ddd8151869b892dda399fc2e1c40c0a2df1ef12dd78198e10d21ba8665a45024eeb68e400581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563543155ba85d5f96b2d030a4966af206230e46849cb0219200400582003844244ddb2c52346a36f3393e15e2b8797f8445ec44522e82912a8cdb880a04977cd564a891eff2c0000582003fc745b2d935d47bad4536af0df8af432b9feb6a9d12bec200909d219f604d0451a35727ebc0058200327c7f22237df8c9df5fa01939a33828c0b4689558fe23ae2c3f7507acd3f304901c4c52a2fb857880003040ebb22041f5a7becaca4115dd8340dc6b75f04e667709e5e2057a31880944700582003ab14e6c9c720446b21b2783fa4c67e8c5573ae2eb8a9c8c0c68da6da0ce5b0450a326eb52500582003a7202c23dfee125a7e179f4cee279dd196efc561b5fbc87227f6b95c84f540450198d85c4603672372e940c73f87d9f8add7ec72bd7557ba70850d9038251bd43565cac87869021949b903990ad25ae100d79df7c42120ef0a83723f49342a32036f4c449ee8430ddcd7bc03a21d706393b11f8aceda8f4658fb64c7cd8a0463850addc8a7fc0ce751635fbe03f278519d2fe080f45301b8b131ac89a850c10a67ddef0f2dd5a9555212dd211303e9126e4ba11be202c5d809de842ee496c80af9a0ec24756b0b2aee162ab86c44030bcefecce1a6cf2e0e5dd3cf5586df36f2ee8eceeb2df978741197c82b66582d03b172179a4bf0921f7310021a76f989b74c6c7317c6284481c651ba412089d2c50219ffff03a976f45f5bf527dbb7003e5bdd8d10d70c9f8f009e04dfd8141af992311f7eb803241fc32965475c97a817b425a69228a035cf041c59a2001482975e7ee2883c090058200311a9ce9f57db7b54b1fee779c190b446644d8aabcc479acc26dc43ccac324044c748f07b00582003a61e6ccdb86f87df2bab4ff36a4026e03143f6c5d1c39b4425564df92769d04a4c154274f6f112b6680000582003c64c922e8ab1adca612939bf51a37d555ba68df3d5dfd7942f3fad407c853045020234f33800581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace410103fcc055991b6ceeb06082e21d469a57e1be91c770062e62771d395b373ca02122021920800343bed82a23d2d02b4c597c17eb1b8e20949d6ce99932f977ce8bb59972b4f0e30058200385f4eef9ef478bf7967e6c133c61aeac87d4520a2fe8303058913bc215bad0450541153782005820038c74f2878fbd72802a940db5c668953b5a310e5dfb0cb86c33a1160f8c5cc045019c64ef9900582003458e63227d69d15f0443984458046331d223ae0e682ab97e8d6451aadc862045024195e78200582003ccc07f78667959de84345c529abc4d5cec199ddfdf6b2bf400d9749c8e7c40450467005f550058200341a28887453e45b44a854e51cf017a24ec90d4adbf5c0a8529d7147c50a5a04502c5d5109c02193d6f039b09d12cabe30a3654d26098844aeac5f69def67fb5aa6a283241ca63c720aec03e3cfd4f523458725bcaadab665ad75f843341c37969dd7e8bfcc95b72c99d3b0035be46d81f47787b0418834f48227ab8ae8543f253f0d96e95991efb691e78476039de1c228464062b99e2064070436cf43ca76dd5c03db329322d375888f634b1c03f74614469643883f0e85a7ad6232c9197c34f5e2cd469f4c6b56ea1db9a0dfc10307ccca035e60e52e24f910d2b23af25e6b0edc65bf8425afc169ed01feb5fe0f03bb4d38139c2a6c6206279c5541fac373d582b33bbbe0ec88ff162a338a1630f9030464f8b187d68190cfb8b1334f028bf875ba2245e0a7b45ef04e3a041786d2a6038a97e36180fe8bcf080188b1ec46d99d346dd4a89f64a5c85726de68c5864dda038c718a19d4fbd5b2d62866eba1b039f6f6b2849f40e94d62d713a82928e8eb4b03aaa73540447239fe84b54911bda3d8e19b1a85cc7fc8ac1ce863cd84dadb27a003a65b355c65855a236bcf3004787d248cd5ea91d819d17774149bd02c250fabea0058200340e0a073f569f14b6248d4b5029eaf16067a2645271a3e19b38195b8c4c9004502998ad124031a2daf72dde9bd215e8b7d86b971f06f4e598e15b700e8eaebbb26abaf73580a00582003bcd8336e8d8651ef4111830d8782242b80e0bad0204fdd972edce19ee25f204601684f3c3994005820036fc83f59976117c2effdce7cf8ee7d56d396e751369db528a8d51bd8d0fde04502e65a51c8005820033685f139360923b376847248cb9207b64919d2be3a0f9aaf6970ae727f5080450198ec30290219858103f1f81530d2811af2c9b6fd9356680784e1fabbbf6545d1b1671a89c134a3da9e03a4da9731c0219544af8450165763fe9017ab54d2cb4e9d99e3e0528f2ae1f6690219ffff03ebf1f230710c64c3793bd44327d58767b728ba165c25574fffeb3ad8e6071c8803e9cee75507f5e4a8ce53ac9fec750d103871016ecee4cb6c00ab192258e8d7ae031d31129e99d16eb57acbe33e2fc9c8ba0cb990c6d8898e4936705fb2e9fdc9d403097341619331f6c6dd1b4cbd3a0e80df2de40a00f13bed220bedca5ec7157da3038690c70d0f9cb9e27d1b9c6880beaa3bf18a520a70784ec3fa1356455f0b86cd03e3d8cfe0cb54ce198ceb2c23962d7586e67ad5721d29923519115ba2f73e841203c7e68fe104b158d1fa73b9a2d7695b2ae9ec5ce8e48cdb2e26344c22ae879697036a3d5f3ce2fe816f69e67bdd7e1f3d304236457dac0836ef11df2476f06900e603a62522d4f7a226e34de26371ceb487589abf75c35b8fd90de0616bbc406bc2e403da1e22dee1896e2171ffc5da4f1c53f158b871f55886f9bca31a45419b77b954039aaa153227d609e996ac4b3ee777384aa0fa0f0ec7cce90b43c3d6d08e647432033ca52c632270427327bb73efdf235e8e8091fa59d00ea0fdadf3c8f0b85565f503d786435dc46d87d8d45ccdb77ec992aa92fe00c08b461574f46c35c4e5d6605a037cfd235d1e0e29b96a17427d9943882b14fd9f65ffe97b083be481be1eb6824f033e6d6a68c646c0da192e145bf78f60c9bbba590ece323bd31d8d0f78335360cc0342c1b5efcf49b1c76c8aedc327126f2109021d7485ec7e48f1b9e78aa367e77b03b73de8c3be7dd354f98eb01e26122fd8576a55a6984cc82f1ef207ae6d7a388e0376d4bd53aaea2384e71ea581d8bee14b58b3d952be968d195d43f81d7ebd17c1031ead5c19e5e63dcc58e229878ff4973818ac56ccbd7c9c675b1ca22c38ea1df3033d1b7ab7e89b218421b72f0dd6d19d64ab7ff0ef0f2bab72c84f963f4a157f1303c4e1f6f22a06987a6076f861cb89e745d117ebc4c100c9cce6748929ff2414e2037deca2cfd2571d16ad654f97be57159b16b0f0fcec1aa4fcb42c815721dc85fd03e9033cbd88b7498e44daae2d3f51af8eb02935fc5c122df338a73d79d6a662560058200309e2910e0bd0f3024f695d38d3cf2c2e23d7aef90f9e849c41953ab877118045023bcd9896030cb4f96c39d4249d66b12eba9af217916007404a50ee5ffe7358384403b0f67700582003fe716a506dceccac1d41af51edaf4f833e354c0461c8d1aa0931b93147430045025ed38b8000582003458bdb67605d93bc9ea1070635e94e5e1c15cf5b855858e0509d7acd05ddf045056ee8c49c039d32db86a3dc5be3f7cb40f1e256d6a933ffcd62601f0d261cdee7a62c86e4c703fb5efe4bf908ae48b0d27375c1180d942c5130a198755189fef9223869802f0203465fd3485b301745fb48d725ab1cc4da9ff0c26a0ef5d4542e3646478393335c033d491f3e3794548fe8d9452b8fc3a9fb43d9610e72993dab75332443f4a6353900582003c3327c53d515058316bfbf5de5ee211f8c5c55d9745550ab580312b4adfe5044a4ef660800582003edb8846c3e22095b06fea8e90f075d1f6800ff8c84f24aaf476b2d393b97604422da35490058200339dc2e10e36353c67e2ba332665a78160b2242c25c26de4fc96400a5f232e045225e094fda005820038a9fad1fe9784eb50e50bc334c3f3edfc21cbf3955f272701832dfebe205c04501101f013e0219dbaf03e7bc523fd92bd07890f1e268bd9607f89565e284ab7e2fe093220ccdb5b63ee5037d870f3c5f27f1731f96d97f282498b79bd72b0697e9c43897da1c8775bc11250219ffff0219ffff05581d028fc0725d531bec6ffbd12f2d911bc10ff0693d1c752acb766316e3ff07011914150219400303c4b8776a489ec5e396307784431017fd3d66c7a2e1393848cf8843515ffa4ec305581e03c0986e128e3fab12273b3c75760e191025b5167c37088681955c17625004010368c1a5aecbf454d6231a6161f7570500489e80bdd44527195367008b1ebc19aa0219bcc8034f6a69938034d39059040c0b25e076a8aee102ce8e091b5dc99e09c2f9d743d403f10766e66c8970822d3cee508ac4be06bd05e9989b2395ffb0e16d8a7ef3525303ccec59462059e5c53346e7372fe2ab9bb96a4193c9fc19bd5aa9e5ea40d316ab03782b7d76967a1b7b553dba6e8ad17a6ae32281bab342f88c023521003516dfaf03cc2e23ba2adc0e157b7c92e94665f427a087a97dde9ed6b62ad3f7f55d2299a103d28d94bb8b9bb32407576be6ad790ece5bddbc343f219f72a89fd7c4e02f06dc033a459095ffd6cef19fb4620edbbb6bf0b31038e1439c6c08144eeb656330d0e403cc9c6b1d8eeb397fe1bafd2525b9852905f2330e1efc07bdc7a8563b9811dc3a030e4ecd79261184084a752a899869588f86dc54152947745d8916fc3a5853be4f036008d57e48001718c96db49fe86de96d6ff88218b70e82e65bdb2a85d2bba5ff038167b05ee5d5bf90e9544e56a638f0e68460feedd66539e20c20f81ac434934503cc8ec78a2f7a08ac9d895b211e59b3a6583c5d0e892e733915fae53ed5dd6835037b534b6fa7a6282858dcf67d34a7fe376801d14d27232bddebfc1bcc56b588c3032994e3dba2c181338a1e711e9f721a8f78d20bad0748f14a290be39e16a6967a0219ffff0397e35a811d7e20d76339942ebadb00600637634650c07e02ce885735cf346bc403260277a121b176454a4693fcd1614de213cb0fff8657b05c7e70eb9daef826090345da1ab6b797bf5bde621698aaccc5238d37a9af70c0b44b50e2c66016974f3c037de5e6dc7057934f48626c83d8da53ab8c1b8f5cbea96c06dbceb46800fbe9af03af8f220dab9622fc6d52e06a9abb0831e7f8d5b0daa1e311dbc0f4b1e40d4fa30219ffff03e77a1d029cc6f562ae33bdbe9f913d2dfe0382ac7be2897a0984dee8b30c6ff003c0d56dc4fb4dcbb3eadb0c264761e9dd36d911ee4d9a971a1473ec3f2110318a0310c3993e55ac421498c088ac2ec7e31ead6639be064182e2bacd984175cee96003867366edc0ef8662f52c509bfcc62b240d4451be6f232f90fa55ce1f060dea31034a671215998413d18b4152d28206ecc3b63a03892100b6096056b5f94acddce603c43906ff71e2828ae205c6570b39f07ca7f2481febce37c831c324967260011e03dc2bfd78f1c3801267a904b4e1ea291d9772295aa4a8aa0342e1fda8ecbe2ff0037c6aa53544e2b2822e81a825284d60c981cc194f53ccab2667842028f9e89153038c8e15650e00476dd607ee433af565cbc564d51c3ba72b9d7e0ce3e44355338a03be5198fc3c94189e0faad6eb47fbf33219badbaa490b189bcdd2ed53fa7213b103e9763bca052c973cc73eed4c5e6ad0f2d8f433ee638847dd7c4ace93c9374eca0219ffff03f168bad589e6b1f961f8e96bdf29ea589133384b5c71d459bbd3334a0ff1398f03778aeb70856c3449a7716ca7ae1445f6c59f5a9c0fb5a45520ff3f818f6bac4903009444710d9c7d6cc04a80917ff54f8d0c9e9da13ee1da8a2a77595e629b16db03fd28743b9c04fd1b0002e8064fd7b3bb53e496bbeedf153072dba4f2bb756e62036be38da17b93c05b4a4bf79df7caf18916a26456df5f2451660c8c6dbcb3e9e103bff036014c2bf69a492399d7af0ee3c6074c22aba00d747cc3b8038f21a5758c0315f37f8a01f7b2d84177187736dc6f97ecc0922daa88fd1a7f90f117bc0480ed034f052fab30f3fcf3ce7d0b0c2520b34364c7ac10cb20ed65bc56ada0d985fb4e03cbd471ebe8fdb25113d5f094f2a29827195a38883a535695f6d79194d312f5b203cc4471b19b5e7c965262b20d4ade148b2c94d53e8383634addd052d1f21f4e2f0317ad4ec764b5a67d92c5fe0db1298ec6681dde6834f1ad8dabeacbcc77704c0b032b1d08ed6486db8a3bc9281279d8a51fe64891875aab8dd04db110ff8a13604b03a5fb50ced0aee49ab4e696946190d5b623c0feb66dd28b1200e5926d8a2f0c7103bf1c2c31d41f3c13322efa544a1a27be820f817137be9d2b5cbe97297005e76f03e3c2d6a536fbd043be2b438f1778c86dbcb8e7c682523292ea57ec5d528462bc0335bfdbdb6744c040dee0a784957e368c8b8e1a4a1d2503795f6bfd451899b199034185bf24ed7262b0129821ebb10c9da4a0c7f4ccdb4e3a8cc405d133f4dcd17103743eb1968b3f2cbece543b3fc8933dcbc8845c6f89e104b62d14c85860443e9503d7d53b6cb33d4a9b7e518586b857bc3e2da9075a66a17858eb0d6843ccd568a10387ebc57c61a0a89b101d7f3ff11c014625ef18153165db991b3e56f294b5f4ce03ea7d25b0633c197de7068c29c0055bc5a09c5a43242c8fac48039a556d5e9ae503e0c167034d6a321be18fafe36f77e2d048c75fd9fde819cfbd1204adba85de9403933372ef7afe7f33d1337504d393299515792572a22c34b14821be091b04057d0344c8dea38d1376de3a9e4825e49d279df3ed2ae5c8982a418d14f9c9e1fc561b030a91f744369c7333f3c8ff74da4c3a2d22ea3f8a3fc5af1d2164fd6c798a55e3032962f7d6e7f0236b46c29d13aadbb0455072a6fe83989e46fa348e128e78324403fe98ba0295afd12931450237b0be86d3d76d83d5a84ba82b4a073c157939d87f031a73ddc0b55f37ceac6e4003d81376f4a0dd3c12ab668b1518728dde383b9b00030894b41adc38895edfd004618ea6bd2072ee43cfc27071ed9162da455fcf2ace031523328b42c64f114d3212c3592984cbdded06b986ec93760374012d94eb67b203ad3b4b30055d8341149e07a71b67a5b7bf5658e9e293c409176bb32f75f01fe403cf6dc082d52fbea8128a23bfe3040c1a1bae3bb8f63328801fa04564eb9130c403e563523afe8278b811c8c7900955fe929d880018baa8d95fbc42c110e0a040f6032913d422ff7f67cfaa925c6481202537fc149bedb03996215a20f29f1b88bed703ebdbd051be075aa03ae09e39c153a4a845aed3241d6ef2e44ab968ae148b33e60357fdfd943dca524613eb0d7a18c9be626d8d115e0e38d0829bae71f70981b0800377f71d838c2d95d5757301eac6195bf58cd26cd2539ab5c024a2554427b640ca05581e03c5746079ef3afb376a682e1906119329b518176963a7416c34b1779d9004020335810db24ceb31609b83309d8f8a58a0dedd934a2a43dd02e3c44809a901e627036892ab6e903d46049666948d8b2dfe52ee9b155458fd993095de34f9e10974da05581e03150f36cb0db20b5c1d1bcc8a37e72a51f2344dada544f106f405ecb43007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e037db84e5ebd015a6bdcdb461c40f97dcd0c104ad5fa2960e482ee3b13f007011bffffffffffffffff05581e035acf61562c01e80919e35d6525023252cc3321657c8ea71f296027ecd00401030aa747a6aaaa5168e76e25e52528f55171679c990bac2b3ff3c76b3ad37310eb030ac02a304763f428464dc1f7e2f85ddcfd77a181c30b2b2aeb7becb36126470c0459097d608060405234801561001057600080fd5b50600436106100d45760003560e01c80634788cabf11610081578063a457c2d71161005b578063a457c2d7146101da578063a9059cbb146101ed578063dd62ed3e1461020057600080fd5b80634788cabf1461018357806370a08231146101a957806395d89b41146101d257600080fd5b806323b872dd116100b257806323b872dd1461012c578063313ce5671461013f578063395093511461017057600080fd5b806306fdde03146100d9578063095ea7b3146100f757806318160ddd1461011a575b600080fd5b6100e1610239565b6040516100ee91906107c7565b60405180910390f35b61010a610105366004610831565b6102cb565b60405190151581526020016100ee565b6002545b6040519081526020016100ee565b61010a61013a36600461085b565b6102e5565b60405160ff7f00000000000000000000000000000000000000000000000000000000000000121681526020016100ee565b61010a61017e366004610831565b610309565b7fdba05ed67d0251facfcab8345f27ccd3e72b5a1da8cebfabbcccf4316e6d053c61011e565b61011e6101b7366004610897565b6001600160a01b031660009081526020819052604090205490565b6100e1610348565b61010a6101e8366004610831565b610357565b61010a6101fb366004610831565b610406565b61011e61020e3660046108b9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b606060038054610248906108ec565b80601f0160208091040260200160405190810160405280929190818152602001828054610274906108ec565b80156102c15780601f10610296576101008083540402835291602001916102c1565b820191906000526020600020905b8154815290600101906020018083116102a457829003601f168201915b5050505050905090565b6000336102d9818585610414565b60019150505b92915050565b6000336102f3858285610538565b6102fe8585856105ca565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091906102d99082908690610343908790610926565b610414565b606060048054610248906108ec565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102fe8286868403610414565b6000336102d98185856105ca565b6001600160a01b0383166104765760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f0565b6001600160a01b0382166104d75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f0565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146105c457818110156105b75760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103f0565b6105c48484848403610414565b50505050565b6001600160a01b0383166106465760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f647265737300000000000000000000000000000000000000000000000000000060648201526084016103f0565b6001600160a01b0382166106a85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f0565b6001600160a01b038316600090815260208190526040902054818110156107375760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e6365000000000000000000000000000000000000000000000000000060648201526084016103f0565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061076e908490610926565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107ba91815260200190565b60405180910390a36105c4565b600060208083528351808285015260005b818110156107f4578581018301518582016040015282016107d8565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461082c57600080fd5b919050565b6000806040838503121561084457600080fd5b61084d83610815565b946020939093013593505050565b60008060006060848603121561087057600080fd5b61087984610815565b925061088760208501610815565b9150604084013590509250925092565b6000602082840312156108a957600080fd5b6108b282610815565b9392505050565b600080604083850312156108cc57600080fd5b6108d583610815565b91506108e360208401610815565b90509250929050565b600181811c9082168061090057607f821691505b60208210810361092057634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102df57634e487b7160e01b600052601160045260246000fdfea26469706673582212207ddeac8475278cf0ca9512c436e51cfa6123ceca2b12f0946dc55264428646e264736f6c6343000810003303aaf3e79828d45cab812e9221527d572a1c0dc7fbf027fd22fe1b479a48d2040c036e37d2566412054da8c58277124407aa33c743cfe582ef73d93e7687761a3fca03213f9b240243937c9b719d95a0798812d055a9d9a209b457b1a94a8ecab0deee0369c997fc1da2110e61740a897c3bf6a6418b1dbe83be876ae6e18270b8d4fb7903088fef23dc0888d8de26df8e595cb123506a0e20929139575db7f2feb16ffeac03b7e219d69288f7b2a817c7ba483d694ce2fa48e2d203e4048e2a1825a5e51468035cdfccca09cba2d4ebcc5f4557b5c3effcd0edd7ac53fcbce4532ed225017dd20361ab5067c0aab0b16c2a14c8e444e3af973c0a85b22d8cbad9752e58f33f82b803a9b3a7f62ded4ae7301d5ee5300d80d6b5d9c62e9df88e2ab993360f9555435b036c2bc31be69c0283c9d063968396a2176d843130a3775ce58070c9a625a0388700582003a6fefbbb78439df348e05cc79d48339e6bd71ab5fb32664ba301966f832bc0490ad7a11d049aeecdff00582003acf51f490bfcb17406b8e5e05eb0b86931ee6dd69b98e1095846358d054ae04a05d8bf8613b1973241ce03788fc58c8ac360128d5260b6762725a97fcff7fe7e5ddce7d0f0160cb6739a360141000058200353fc1ab7c6990fa3f49dc2878eb117138b35d9f657924373475cae3c010a605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003cbdbbf42b6a20540754f0d997b7cbd1198c02093bea967dab45972335f6d205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0392e15498b4da92f6a524e90699802b9b24c736cf558018e0662a2a182625f1e3005820032f5ea326db0865642f13858d21070560ce276376f6d5d3023a91ccce9ad5e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032f10e57cbe3360e75d2a2eeb860cc6c1d740ccea36d92dcf3725ee0fddcac05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0351902f161c43631e6706dbc76ae3cb00c1d087bcd099f1dde28c1ac7f188a7b503ad4184d924c5d9e020ebe16df55ea167634e1b75b41063b2392827681ef2ec5c036976b2bc7af386216bbb30f9f6606669a39d602b15b436ca7ef37aafd2e3a14f03994b413fb362dfb2c6319e4ecec99221f2e3fc74fe13d250e45af43f2d01d27b0219f7f403f0fbfa37c67c02be662ca3b46b77a678920dd8733c431d70c697b24f10f55edd03819cb20067619da6e3ea2b64be0802714c40d9e2a87d08dde76d640e885757f1039fd4ac417ab6df016c9ae17ffb49f5591264350842554fd8cefe1ae85e0c739703e3f41277d2673dc94249df8bb9bbbcd6996a0bd285f4fabcfc5d1b441674029f0350bba84579c8d60feb926833fda868fceb30392cbd4befa156303293aae212920219ffff038606823c2506f7707aa625a977ddee473a6284730e8c90c03f570f6400073521038c44334afb5d55ae586cbd59626a7ccaa86986c8533546677dec30d07daf77ac036d3418a2b1dbcdf5ca989d6f2ea251645b73ab33d4457035635af4367dbdfe2e038dcb4cb599f7a8f5d2cc8dd29e4dba934b564de6e1ef68910788b217f71d067f038a71999e97cf2a0b1677013050285f3eca6b3d738a9b4e6f509434b1a2562dbc0316b80e2525b58a296127d64d312456ebd79694760471c7c9eb6a21830b5a36fd03c79ff222d7ab5ac15cf8c9b24610e6931e180b15f42150129ab28a213cbeed8a03b432cb7ea6b039eb7fc4ebb5270687176fa5ff7a48513639f2216a40a599b635036c74b8ef8d42cea7712508aa9f51841b48517d41342f1cc7569cb3773c38723f0337f228745c5c762e1c94dbb616dc4b45d6eb5b1a46de19f0db777b1cf2d6939203581fd7fcad59dcf2de9b35be7bc16c3c6fb648165b5975e6abb0590a07593f0b0350694e3dd6325db5a687448b62c613a300f182bbe6832af26c1a19a663f0359d039fc98acc3e5fc4183db78948abea605add77cb0c71225814bffd67cd129a62af039fc927efe1d8f21e381b90c44ebbc8c4c5d2902f0c63082c069acfc6cd15e6cc03b6112a2ceac8c505dc39f99e3ec8a5967c118e407eed1db75aa42099871ec47f03835aaed22e264f3a5f8bfd6cb36b239dc33dc6afcde41db637b46435c1d5425d0370228d61286a81d344bf6a1367499a2be378918a026ba22b303ae6fabd4b5ebb03ab6f8f7aced1f5fbf5e7ac1a23756cb76fffd32ce60a2b99b42ccd097f37d98f030861024698dd672e47fe9fdfb853660d31e305d67a70dbd4dbe01c965c2899db03f102958bbd9747839ee180a9f73be1229074fd9fd6950887f1106602d91a79b103fd72a50891a097160cf5250cf585fa301d4eaabc22f4234b1e307a749150a8d3033efba60dfc4fbf76c9e06beb5bc00eee8e22046759de0add734d9e7bba9f407200582003a15c4d84365c5e6d7809be0c2a6f351452777b29dbf59c3f306fcc8ccb75e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cb78f998ff9ee79310eab4140d58e859b7053359380184d5bc4190bc6db2c91000582003b96a76fdbba9a7551d92720cc0472b990c22af61af9ba4fcb0e2432a44b6804903093de9ffe4ac7ae50058200309665dedecf28d832e3242210fab5cf31d73b5ba8dc429bf254ed620a2f8005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034d18bd4bcb5ee04729b1a45181c3f2c3aa8baa02e7076d3cc8e0da10f042ca54005820033df17e015bdf5c6515f5f9456ad1b356fbe627d8a2fa3337c8a00832c081f0410100581f028cddfc2323b93edea6f70263054d5e536a473cfeec6bce7cf7d02105c8554a11a553b1f9da5d22172000581f02ece4ca65db149e6554998eeecf5bcb01ff4703fa7caefe88cb0d90ca03fa49012088beef5905b13e0219010103f26124a8ee6a6292c63f5f4cdf90ac6c62577c0ab0b6c37db9f21f4d3f4d9a3e035faf847b27e09060150db13659061b9f33103d17f9d0820abad268747956b2f0034c7fd9d05326be37f16cb7cf92e8184bd56f0ec40e5a4d53dd2afd47633388ca00582003dd40598126319c4d496f560b9400b3009410fbb1a6ac36ba640cc426aacdb04901e9dccfd360631f170219cf1f0219ffff03ba77d2ce4395fa683e74be0b505dbe76cfbff7ed61cbd2963985f02e2a894e93035105c9076deef612823393f2719e639a3f4ec14ad58a04a9795f718ecb94722203fd56a3ab7f7ab799491e2723bfde85eedffc4444b6e1cf6362cdf3ceae4be50a0357a26dfebfb09712158cd6dcb1e94e25851bdccbf7c442c483a236a1cba4ac25030f5cdeaf5e4d522c64477024b96eb1ae6e4fbadc56b99a2ff84f89830edd4fb903bcec498910cac2ac8d15fd540e63ea90481854e95873c154f25136d8d07cbdc40304c0cb302f673ec12ef0eaf399317d62e54039c8f3048f0755cba2f4b6ba778f0219ffff05581e03a3e86427c8df5d04767b451d10967aa521b13bad61cca342ef361d0d80070119097d05581e03a6034a855e8b04a8f688cbeabfdaeab3e4c06cf989f2fa39e56e7d3440040105581e03fbf85c421d2cccba476c9a8adc72bf9e263c09ade0b83abf3b8c4b9d10040403470a11de9c1a56e8152b1c4d811c8a512ec1b7eb662f7fa3eadbe6fdc81c594c05581e030db2cca8ef4691ba935a9cb84e73bafc5fe8947eb3d78c468491c82f90040305581e03358badd00dc29e3e22ba64513c9ebd1ee448b4123e8f28d80ef168be100c0147025e90cf524c000219fbbe03cc643c068b94af6eb685e12946bf9659530a8cb5630a5ccb57e7c3de130a3aba038d675fdc2e81c9d8548f2d467321ca5d3e4950a2c436b41f8dfa052669f80b1003bf704493d7da63d34cf3583679d3712ea58a924fc8bd24ee64320f2a532f121b033f88f00473ae20722a6ed1cca236d9715a73d49ca56f060f2592f2f0bd6c36970219ffff0219ffff031aaa9cdd408bac88960504f6d0b7a306dbf8a2513c926352af78c5c29abf1b23030bb7afafd59cd2ed30cae767228584b6448e511148e50c10427bca1be84da47e036196af450e1fda69d57f8299a31a8c26492e78b6483c9b142e148538500ba31b038b37dff8c683e34136b84696b6dc9a45aeb9922096eee4bef9d9f81897e6677f03b6bc275d5fa2456862cdf8c8dedcc15c799f229a04498a8320f4b4ee9ab2e4910219ffff03e15a4e844ad66e3d8147702236169e285ddc61d02adc4822e5843894b4a2a7070349ea64ee472753ac1a49aab01673eeba05db8f25b2f313b5ab4a8207763c938403cdb9e45ba25842180e8b33b451ed580554ce6c1e3974986371a33740cd0d6eca03388423ac90b1bbd9a1c60b34fd15813d6e555066b464aa3f5e74133c80eaa916038ff46ffe55ae8c59f561a4a2447944ba48ecdd957701020815d2cb7dc21ccade0370d4067c57c49727847076d2b192bbbdff2592b12dad61368706f884eebb8a8203fe69d46d633480b7e97f0046a7d6345f813a3826a706b7a08044ea3a943d552203003f072447bf7408db029217a1f8709d5a466702ce1d40222fe2ceed555c565c03246a69b552577b1e6954e557582c6b0ef3d3ca06c72abad22bf89bf4863d0857033f0a182c7f732ded2648912a32fcda5b12e008fc3e4d35c19a1429c1961764c40351d5177b82205a76fb89036ffaf8388ede63112bc4819a896f0c210617f8293b03e42228b16af73866e0dd423ef619991145c5f0a7cf9d556e4af61db07b6dbddc03633499d0e8f3cfe2b378bdafae1983cd13b21e94afd29f0f2d2dc34b38ffd5e4036d55631ffb7cdb69441419385e2caf492ea5a5f19b1a1a9d23bcf21ab408626b03f74e78163f005bebb4cb53112038fe745a53b540f72c7097ea30450367ccb4260310dba17470402cf9f2f0d7a1a22732d884285aecbcbf62232dbeb3ee4785162c03d77dbdfb66f443bc2799171146e1081df26f1e018e45751d4090e75969b154b303258b5ed421b9f3d40b6c89bac4a7f0951999c53b7eea9e21b5b3e374c02d07de03551414eb341f6bb1c42cc128e6d4289db470ac085d0ce5b916fccf9d4d740f67035c6e33ac83c5f7f11a3dd5474dcaee638e529b698d563f1ccde79cf19136fe5803e52a9ce22202fa436960be7d83a908b73f9b093567c95b971ee1d6dcbb55044003c6ec36dd050c332e2d0ca57c26694142c3ed71291fdf2523bce29c30dfc74f350361b36ff11d42556e3c84a664c20bd8f332611b6053500c77ef8bcc983f642fc103bcdb57f9ae2af07baaa2f0a257bc47509a27a92013013a4425abf7ffb3bd1f3803d26011ea94db865fd3988dc5a394c428da70f7d45cdd539b533f4eebf70c8c85039415ba8aaef7be70190ba6161453548678ca4c9efbdc045d133f2b8c0837bae703c4720f2ae055fe87df1a72054de2b3634c0dfa6b5eb31ebe4faacb4d4944e280031cad9d828861c3b0826a0d2cd558c15e72c1b7038fef81d3fa0ab1f31333292f03ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e0361521d478c10519e78b56bba6c1d100965fbae94700f3514bd6a8c237007011bffffffffffffffff03bf6a14737019edece0f3343d82625a65201f21e4b1167f4d9a8c40b347866f7005581e03674d4c21ddcf4071761de4b0fa2767182360ed80eab4302848408769000402031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581d025311f6ed47227ec915456e3712a5e7c91743c904cebdc7670199672e07011bffffffffffffffff05581d028bf01838dc7249fb99aec9a7af27b1bdee534a25e6ac31d1f0ade4a90c1a0001a06c482a4b92d3b0a3941a021940400376e01307d8da391c0e3fe1c85c350c1c871d606fe966c510d71132f19ac78dfe0306c526f7c962e3371b3794f7ccf4d24757962606cf354a49b551f14f30b993c30605581e0394b2536dfe6a1a436c9184e9a71704d489a5fbe318323de6035d0b900007011bffffffffffffffff05581e03771c896691800f20b3c41cb0e1026f1dd5d957cd6b4ffb2cee1c5568a00c0846a5ea32f6a43805581e038a5bed532c0e56a0e9f426601096560b3310956ba5c7acecf47fd862b00c014601ff3fe1060005581e032cfa390097836fad892c5ec2b6e9f0870dcc9c5d50c15332203bb25e10040105581e03be651072108c93603a1895c8fa7c24b726571f20b49a104c4d0bd6f1e00c0146138b4c37200903c3f5336764363d0d8d1fdf080c4efe734a0807b737cc9cdf9ca257ec03f252cb036629cb44f71ecf3be46dff8f5a2b86471e04c19ad8f94f81a7db068079b1204105581e03cab008f2a5fe924d58e4b8bf822b30e81217a4375f12f49cc699a6a7e007011bffffffffffffffff0219277f030f13348c3cc384d98a08c0982cae45d6835883f730f23c88c729759275404fd10395e1d5c16c30c0e76dc335ab9f17c7a1cce49637e661885b96706e0040648fbc03f7be5d4a9dcbedcbca625be1a5cfddb11afdb6370a894b2f9d7b45800408d52f03db7e1e3e6cf85fce2e61d41b33cb659febce6708d64694cd7514a954cb98329e03826ee3caf41713676cb5b9e69709d32b7190e88ce1c3494e2fcc6ea1ed2989ec03337843ff04577924980f06dff1dd65e786afd72bc48589bc6033ba853216b6b90310912425f1e6f54e8753dba36181aaf4dbc70a2f3b47bf92c45e85c35a41e1a503f1d283fe58d4a5dcd7fb83239c33c128ea676ad193831c55ae9c5e929946fd2403c489cd49c39e97dbebc25d04c0fd9c8d51a4930331656857871e58566ef119dd03c5cd6f6959424b5e31bb2ccac07db3f6472e31ee623d4e2df0386489fbe49bd6035a473c57c7f7fca8e2a8af68810a766326eb9bb194e92eca4bc69fb0093dcc3f0219ffff03e22294bd4da947257cee815528b770c0d0dc3427a030922cc39f5015b52e908803a861ae7f85df7a01377a9bec5d023ee5d3097762812f657fa8cdbedd8e0a14800219ffff03ed9463a4b92a8c2d5b8f00dc66332bbf015434cf9362fb6494c17fda2554e9f4032f38ea38f23fced0bc220dd201375419d1018b41240feb592ca306ed1112c2ab03009b10f01a4605fae7c8508d086fa595865e2032afc04fca52b46e8972935b7d03f77b313ac31b7f24bcd9d361df358235a08f791e28bd7cc8154865154b5cc4d50318a28aa9a7894281e361a4a4fe5daf062c498fa2de46bb1a3de629ad5de3703503262023c7a975b07036bfc497d4d3d7bc819d3b633978377431a3c146bfd58519035d62372fda50ce3d5d9e1de130f02983ad66bc14940c57216287f7f6309e57d803b485266288466449726a02d98ada0aac252e5e79359be08ba9ca7d515cddb09103dda925bdf695046d19c327a1e3927b09e2aba63e483ba68cbe5f6d59cb0095ad0219ffff03086c30bd1e8489af12aabb8c749bf27009230f5ecea5a4b72849e9a2dd1ab1240219ffff032386707e6791d6c2330239cf5a61f9993698de094fb36e191dd04d69f7f2f3af030393c5eeee16b69d20e9beb2955e58f76e619b55142ef8dd4836713481fe97670386837f361861f89b775d84e9bcd93f5fa82c509dbdb412923bc84240f85e3483039e28a4f9a23bb65717ce0fc3af8d35b43f1d61676faa358118a509ba1a2e9737037916420a056d49227c3987a9415c421af3045c204ed64e50279c6c2b7588b7ba036d0aba347d567e5674029272d7b13c3617e52063f3e13e2342132db214070ec503e22fda07e2bebe3635ab0649c8b2964c8dfd388a5580bbf50b5c67529329b77203c17b2238a9364f0c90542824818c0f2b957c0d24ffd9aa565de1ecad5b0a605f03e56806227d5d04a05ceeeeef572a4d2e0bb7c4569b99dd834f0724685b2067a803a5a81b16cb11135452e389d5fb559bb4fe031c776931b4f833042324de3fa42f0334669d5109479bd0cffd72d2bcfe0b1bea0f2455f56eb23676ca5c4d0fd90ee70324120ff0446496f8295f0aeb2711295eb8c0f9bd3b6d7ac4c5ebd1bc32754238034a02f8f3db5a5587218ebc4dbaed314fda96676edf7b22376ffcb1bf87b1534f03ca108378520bda0e1528208cf87d48a0b5bd7ceddff4291819d77e82b06127bd032342e5398c890b84625df8ca56712e0be5564f6bf446466b9fb777e2d44b182103e12aa79f8a1ad71860b6fbd91093956779d4e791e1344dd0d6b0f8f7cf893c55039c115df16c1b1f7e2637de6a74374a89ab7bf632ec97f1793b069fd6056beac1030ea1d19fb75ffb522886dfa679f58d64ff6a923cad68aa60705e67850863c6c00302a855d2b9b33d82f2e2d3863b858962767a9d0b5ba1f5ea4defcc1aadc64f80035bec1bda11dac9b05966af7345ebc2c1913d792a38a9cd0a842d198adb4a0615031e0cca2efe76e9848c4422d1d47e7a386412a1f9eef52f296d2668a34f87f2590381a64a85ab520534c0fe95695523329f100ef59f4f6190c9f0996ddc4076dec10330ec0d9736ce08ed4f31c2bb6678d011c5f83fa25ab9fd64c3ba144b7454833a032771c4205cb9ebeda0fa6a20a501ac336a5d14f9de8c70b634f650bbec629ff3034767d2d48def7b148dfc0d71f3a25ac0938720ce1313038dca30f06d1948b51e039eb967b2ad0158c36d1ce979329317117861dc010749047712d432daf12ed522034ff6513694cab2e8acff3f960264b2b0d896606c8c58369ab4384914e501bec203ac9c31bb73b9f0fecaa1d2e8bdf9ec608f9d08b7b1ffb69f196d9d4e6b4473f0038806ee2d00300572c0ba6d16e8cb512d6b15e27c5fea663c11625da93a9b86b803383b73e8fb24e4671fb630666d8eb787c011f795df7304527a0c6d97cfe115bc03ac4e098b4de1fdb403e76ae60aa60fca4f301c5b10aa61c6e270a6cea770510303b4e2a8908ba3ec932d7fd042e4bd6220cdd217d3c2008534e38f459553e1ba6203b4748bff12608b245709dc187bf0deb0250574b8c9ec99f8725a4277c00542c203f71573d2020599df8b60c777db6b4a1619c6e00c74559c839debe87ebc0a6f7a05581e03eab7277fd4ef3a2999b4bc539e4f2f4607e2abc024d61d88aa6af0cd600c18d7480142b83fea25154b05581e031c0a7b49b89e3a5516cccd192909f5f5dd885e93c64a5136f100b679e00c0246c34534714c0003b2c73b0300dcb79dd482b0505b75d4da1fc06afe8a3a7f0c7cbc67ba7472297203b5988426e73765a754e98becdfb7e5751caf172a0e10583f57da5b149637539703562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03f53491dbf59ec0c5373f0e55f31acfe31d130d427aab5804d52348af6007011bffffffffffffffff05581e030db3a08eb27b24ef7584035f3d49ee016668021c7b50680d0f2ec58d8004030399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908038082e7b97b42a53c8e8c58c59578c693f43686ff8506a5eb1d48f0ce3ce0894605581e0376a1b8cf70b7edbc253840549260a46d52c8e93dc85451b2af0d6520a007011bffffffffffffffff05581e033e6d641941f27860ece71462af776192b39be5aa619de5ab184f463f400c014635a9020ab00005581e03e93519881b00015289a419413f5573761392a699e61f72cd1a332b969004010219ffcc03ad91cf8761812b8d857fce7cf4fa05a030cde84bd3c9d473db8aebeeedc2525503b612f38944326a8ef6bb6fb9798a34d1ac515be7dc3ea9c58b9a8560a609ce5003152053c704a29ca72b1d1d04cf8bd8e99b7e1a8687833e31bcc1931680332fe7031dbb469673f6a1702a46d001e4a0e63a1eb160f5a4e434002235e81c37fc300e03a8106a8ffa57c6babdd77ac5313c30629242c7a5db842bea9be5a1885e91265a0375775cf16e953664367ff462f137731d33eb1076861fcfa2bc46af94ea51783003e39555230ef971160c44e2f96bb803a8b3c818f86f4801f6f93afff10acd4661034417f3c384bfc65bdc978221fcceda06bf10f526f3e13d7ad60953e473b3ef1a0219ffff03bcd8f74747a4f7a26441f0fbada357ae99f96e432ae4498f73fde4ccb17f87cc0219ffff0395ce32a7ff75a961fe12fb02b0e347bf329486a7ddd6a9e34990f63c8a42ace703dfa0ec83e120da0e5c86dfc365ff04044f8f370ae9319cd96dd35d5b8682d82d0331906154ce863da307f963e2d85b691abf4f1074a0d78232b897fb2dbf3326840379cd4654509a2695a42c3e2c4f55552dd5fe6e8e102a9f5493a482db1a9f9df90345f97ef39026ab36bc29b1089bdfc76ffba3abcfc5f4828304b73d39ecde1375039f8fa13ba7d79e3b46e87d1baa6e33e6ae6cdd691e6a8d16ef83fcc82af554310382e46d76ebc4a2ad469097eeae45f255273821753475b36fded8ea670bc4fe2e0355ece200103430b2da769e6a2f04270314f7bffd6322af021a11eacf7ab44a8003d48782efc03f6f379dbb32625469052b24f67cd9f3fc7c8abd5a923687905a3603338227c33f467698579907eef53aeb6ba642db5e3edd7c975f6fa7d0c5b6f10303e0fc577a73bec8a1b3d1c730582af72e8f66a1549fa7aee3d8e1b47a37485a87039f2d46341bab892a70b4f754ba9d3908a560153ce5131518d8256cf6c18418a803ff146c9f98f814706678be5613baeed17429f9f40bccc8835a8329ca249ba1bf038a1b6236dc34f52a3a19a6dad195699fe1d7617bfd50804bd08c6c3bbddcf2860219ffff032ad68b28e07e9844408e6c48e42d910b64b50b8be60b5bdec86ee374859374da03a1efd668524e29642b543a1c1fe4f3bc2260adc3a58aeb0dd89f9e4d4136314703e6effbdcfd474e68011248a1edacf4f7ed84f313a45fa936d5793db7bbad537e031963c2653ff404608ea884194f292db4038b5c1f8e947850b316b49115d10799036f664712597430b440c283c6734dffd0d39fb582651be0fad496dcf7bd9f529d03e39c42d1e4cc52c2fa58a66fc472a3125f42153c469ad827fc449edd3fe2791e03fbc82da2739d6e0966ac28c5676941280eec0c239b202f29f402125e019bb9dd037466fd979760fd1411b94080e1e0b8616bede08daff9bcede2fdfbe5bf30ccfd0397c3c0a489e12764c6ff3791fccef8a21ae5deff4b0af162aa28adffdc2e97660347c306c4998877225fc51bc654f781c2d957b3954c333db41ae162252e75762603e36aa859fbf59b66b7f7e3589bde5b09743c877e781fbcfde0f7bfad3ddeff55033b113b3e8b9ffe5717e2b4811e54655351f2ce6e8ee662a684def009e513d38b0388083aa94514b26013393fdb36aef94808779d2006f5ee771dc5ee2771d138190304c143274c46feb076251cec7aa3ea4a4247d9d4ac3d5ddb08de64e0fc6a217503a14a757b9c4c574eaa2a228851a6eabdbf3b03dbf86b435e9bb5b69dcd6263aa033b109c1a520a9c3b993c76a03ac13c9dfc3e55602a4fbefa2e9c93418b9ce2fa03e831196cfdcb2933c3d1a77879706856a10e0f84e90500ae09217dec9d63c759035af4592f72f9da8ec6a647665a10bf35d5d0dc0e73c38b2f2704081fb266e5f205581e035d61d380f9a819a2045561a32ced03944783d88f5a7baf4183383748f00c024729f8acd17b5d5e03d246f207721c5e2df6f8b80ecce8dd2f131b1e1505638aa9c5519cdf5a0043f903cac3df3119aaa7b9c8c90856a930b9d1e6bd2bd0581c82a9b0e4cd7bb78f5df405581d029627cebb1499dde62b6dbd00cd41ad62fb1977c24e2a650a8ebb73600403031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02c8c057f068401ca0e3f4b3844c7393d218a6127b96d8045f68747b2707011bffffffffffffffff045917706080604052600436106100c75760003560e01c80638da5cb5b11610074578063b84f5d1e1161004e578063b84f5d1e146101cd578063e8edc816146101ed578063f2fde38b14610202576100c7565b80638da5cb5b14610176578063a82f143c14610198578063b5268389146101ad576100c7565b80635c975abb116100a55780635c975abb14610121578063715018a61461014c5780637dd0480f14610161576100c7565b806339122461146100cc5780633ce33bff146100ee5780633ef11fd714610101575b600080fd5b3480156100d857600080fd5b506100ec6100e7366004610f93565b610222565b005b6100ec6100fc366004610fe5565b610448565b34801561010d57600080fd5b506100ec61011c366004610f53565b61066d565b34801561012d57600080fd5b506101366107d1565b60405161014391906112ca565b60405180910390f35b34801561015857600080fd5b506100ec6107f2565b34801561016d57600080fd5b506100ec610806565b34801561018257600080fd5b5061018b610816565b6040516101439190611249565b3480156101a457600080fd5b506100ec610832565b3480156101b957600080fd5b506101366101c836600461106f565b610842565b3480156101d957600080fd5b5061018b6101e836600461106f565b610862565b3480156101f957600080fd5b5061018b610895565b34801561020e57600080fd5b506100ec61021d366004610f12565b6108b9565b61022a61091a565b6102498173ffffffffffffffffffffffffffffffffffffffff1661098d565b610288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f90611336565b60405180910390fd5b6003838360405161029a929190611239565b9081526040519081900360200190205460ff16156102e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f90611614565b600073ffffffffffffffffffffffffffffffffffffffff166002848460405161030e929190611239565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff161461036b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f90611571565b816103a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f9061153a565b80600284846040516103b5929190611239565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff939093167fffffffffffffffffffffffff0000000000000000000000000000000000000000909316929092179091557ff9648cbc19f288e0f271f7e95311238912bf1ea8225e636a13bb1d25912600219061043b908590859085906112e9565b60405180910390a1505050565b6104506109ad565b6104586109ec565b60006002878760405161046c929190611239565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff169050806104cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f9061146f565b73ffffffffffffffffffffffffffffffffffffffff85161561052e5761052973ffffffffffffffffffffffffffffffffffffffff8616337f0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed1687610a30565b610567565b833414610567576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906113a4565b7f0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed1673ffffffffffffffffffffffffffffffffffffffff16634cfee326348363ab13824060e01b336040516020016105be9190611249565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526105fe92918a908a906020016111c9565b6040516020818303038152906040526040518463ffffffff1660e01b815260040161062a92919061129b565b6000604051808303818588803b15801561064357600080fd5b505af1158015610657573d6000803e3d6000fd5b505050505050610665610ad9565b505050505050565b61067561091a565b600073ffffffffffffffffffffffffffffffffffffffff166002838360405161069f929190611239565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1614156106fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906113db565b6002828260405161070f929190611239565b90815260405190819003602001812080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556001906003906107579085908590611239565b90815260405190819003602001812080549215157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909316929092179091557fb00061f7cc154fc23eb34671ab724fc7eb7b806abae871abae8f1eafce972135906107c590849084906112d5565b60405180910390a15050565b60005474010000000000000000000000000000000000000000900460ff1690565b6107fa61091a565b6108046000610adf565b565b61080e61091a565b610804610b54565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b61083a61091a565b610804610bdb565b805160208183018101805160038252928201919093012091525460ff1681565b805160208183018101805160028252928201919093012091525473ffffffffffffffffffffffffffffffffffffffff1681565b7f0000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed1681565b6108c161091a565b73ffffffffffffffffffffffffffffffffffffffff811661090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f90611412565b61091781610adf565b50565b610922610c30565b73ffffffffffffffffffffffffffffffffffffffff16610940610816565b73ffffffffffffffffffffffffffffffffffffffff1614610804576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906115a8565b73ffffffffffffffffffffffffffffffffffffffff81163b15155b919050565b6109b56107d1565b15610804576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f90611503565b60026001541415610a29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906116a8565b6002600155565b610ad3846323b872dd60e01b858585604051602401610a519392919061126a565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152610c34565b50505050565b60018055565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610b5c6109ad565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610bc4610c30565b604051610bd19190611249565b60405180910390a1565b610be3610cf2565b600080547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610bc45b3390565b6000610c96826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610d309092919063ffffffff16565b9050805160001480610cb7575080806020019051810190610cb79190610f33565b610ced576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f9061164b565b505050565b610cfa6107d1565b610804576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f9061136d565b6060610d3f8484600085610d47565b949350505050565b606082471015610d83576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906114a6565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610dac919061121d565b60006040518083038185875af1925050503d8060008114610de9576040519150601f19603f3d011682016040523d82523d6000602084013e610dee565b606091505b5091509150610dff87838387610e0a565b979650505050505050565b60608315610e5e578251610e5757610e218561098d565b610e57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f906115dd565b5081610d3f565b610d3f8383815115610e735781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027f9190611323565b803573ffffffffffffffffffffffffffffffffffffffff811681146109a857600080fd5b60008083601f840112610edc578081fd5b50813567ffffffffffffffff811115610ef3578182fd5b602083019150836020828501011115610f0b57600080fd5b9250929050565b600060208284031215610f23578081fd5b610f2c82610ea7565b9392505050565b600060208284031215610f44578081fd5b81518015158114610f2c578182fd5b60008060208385031215610f65578081fd5b823567ffffffffffffffff811115610f7b578182fd5b610f8785828601610ecb565b90969095509350505050565b600080600060408486031215610fa7578081fd5b833567ffffffffffffffff811115610fbd578182fd5b610fc986828701610ecb565b9094509250610fdc905060208501610ea7565b90509250925092565b60008060008060008060808789031215610ffd578182fd5b863567ffffffffffffffff80821115611014578384fd5b6110208a838b01610ecb565b909850965086915061103460208a01610ea7565b9550604089013594506060890135915080821115611050578384fd5b5061105d89828a01610ecb565b979a9699509497509295939492505050565b600060208284031215611080578081fd5b813567ffffffffffffffff80821115611097578283fd5b818401915084601f8301126110aa578283fd5b8135818111156110bc576110bc61170b565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156111025761110261170b565b8160405282815287602084870101111561111a578586fd5b826020860160208301379182016020019490945295945050505050565b6000815180845261114f8160208601602086016116df565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082845282826020860137806020848601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011685010190509392505050565b60007fffffffff000000000000000000000000000000000000000000000000000000008616825284516112038160048501602089016116df565b820183856004830137909201600401918252509392505050565b6000825161122f8184602087016116df565b9190910192915050565b6000828483379101908152919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b600073ffffffffffffffffffffffffffffffffffffffff8416825260406020830152610d3f6040830184611137565b901515815260200190565b600060208252610d3f602083018486611181565b6000604082526112fd604083018587611181565b905073ffffffffffffffffffffffffffffffffffffffff83166020830152949350505050565b600060208252610f2c6020830184611137565b60208082526019908201527f414441505445525f49535f4e4f545f415f434f4e545241435400000000000000604082015260600190565b60208082526014908201527f5061757361626c653a206e6f7420706175736564000000000000000000000000604082015260600190565b60208082526018908201527f4d534756414c55455f414d4f554e545f4d49534d415443480000000000000000604082015260600190565b60208082526016908201527f414441505445525f444f45535f4e4f545f455849535400000000000000000000604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b60208082526011908201527f414441505445525f4e4f545f464f554e44000000000000000000000000000000604082015260600190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60408201527f722063616c6c0000000000000000000000000000000000000000000000000000606082015260800190565b60208082526010908201527f5061757361626c653a2070617573656400000000000000000000000000000000604082015260600190565b60208082526012908201527f494e56414c49445f414441505445445f49440000000000000000000000000000604082015260600190565b6020808252600e908201527f414441505445525f455849535453000000000000000000000000000000000000604082015260600190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252600f908201527f414441505445525f52454d4f5645440000000000000000000000000000000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60408201527f6f74207375636365656400000000000000000000000000000000000000000000606082015260800190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60005b838110156116fa5781810151838201526020016116e2565b83811115610ad35750506000910152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea2646970667358221220608714aa9d6fbcc9fb12a697d4193a8e6fa52f25acaa2ad1114662393eb8d79464736f6c634300080100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305432ed10824819fdaa52e7ff9c50cda6a5cf7a1b35005821034551603e686fd4eb9cb764097b7a6c029e0619fd051068de573a7421c153d150547ac070f096c6e20931c3dc54f927446be232618b0058210327e5392cf41d6addc73de8d105feb85df6f7bbe47f21665215c33caaddd79610547ac070f096c6e20931c3dc54f927446be232618b00582103c026337f1cadaf15b8024f31855e0ab7607c74c130d2923eeec42114d95e4420547ac070f096c6e20931c3dc54f927446be232618b0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60410102190d1405581d02809384bdc1192854564f4438cc3c4359e5aec53e51ab50b53aad57b007021917700219414003346341f6c892dad9a7ae66c4f8c3e6273ae6ae77b27d399b50cd369c14d3795603809ee0e9ba08453a3b6f63081659050710185962fb7358eeafae8324665d6fbb03e4480a5608f2195abd15f2270f46f032046669e0ab748f8003259b54c497bd290399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908031cc9a79bd9d7d12e2ba4bc7e2c358d68b79122e34db4ff2932b40bda29158ff105581e036904e7d7b417b2396b64a83ac8d57679c28f8b0ebe7051fbb2ce2eb20007011bffffffffffffffff05581e03e882d389d79f792bdc6b5c3ac18f82c82504f42a7249b7286f19ac2bc00c02468975bdc738e805581e037fb2b46d97d6763d70bc8b42814eb1d70930c98ff4522ab48ab3073cb008473eae2ea120f5160219937b036eed0522a77278e71f944bd50ee307184b75c4560a8089eea149d464bed426c90391a1ba6fddb51ab85ac8d44957c7058b02b3bc108f25109a9b450289a9b3209903259893a640b87aa35218263356ceb258c7e1401a0433e2fc1df5b1c8f9e559c3038e86e98d8f6d01c7b05fdae959c7440fef4bb8b896f7ff11f528b5b37a5192f40376674b9b5ac449b653c6e0223ab8acc85d1760698420a7f6fbeb789d458ce5bc03e810fc137d57e7018659525f69b6e34c62bc72a8811f99cf23c19b78eda09e830219ffff0319a73166af8f9129ca6c6897bd38012c5438a3b56fbdc76f05d18074f8b9355f036433e05d0cc5c07972ad600f31abe42a38e2e0e52ad4ae272d040715f450c5cb03fc9aa8ecdd9e5a961bbabfca3a0405782770df3fbb3f4533bd2345cc0dd42b3403136d368582c4da95fe3ceabd9bb6a5f872df8064e8dc56ff5cd362b330529c9d03524404a9d177c1819f6269d0818d5733df3bb2128cc9556016c24ab0e40dd804033f74fd91d43f09747fd6f2749ee99134931d1bb1254aff1b05207d8d3ab5919b03991da42ab83835deeaaaf01d4303e683e7b591ad488d9937f4d63ec326d0a360031a2e6b9f29050bc43ea587f1b5d73968eb485d3b986be82abb03a6751709cb3e0219ffff036c97523b89de1af3b750494b018a884b3b3831afbcbf4758022bd749cdeb62f40326613d8e830b51bb70f38cc86da76b5bb3928ae44c346b56e56f2b4a5c3227e003030b9d9a2dc7783d7e91b422b40f9648a490ea995d221a53e1d1382e1f73c2f00323f9f72ecff58d10c5bd9724adb764f42d0304a90b05bc22bae04fa0607a69a7035df23f405dc8e188cbf5471a2d62768e9607d1513accbf25c72f3a6cb01085d6036c89fd042e282b5ec23932fb6215640edf089f27556e76b9036bb1461e69eb2703adfdc1d970a4e95805dc2eb42a39c408c9acd0fbf423473f642aca3500ff8c850335bb8e9845707a2c0d535a0542bf528a9ade51680ad7816a259947959150c52203dd5e1d4662e7ea965815f2b6456a536cc55befda621fa8f59c723f1fb3080e8503f2af5dd42923ae659fb2f917f6623ad77ad92de069c49527a0b2be3ecc358e6603eb00b71d0382bf27b4805c3831b95e05a733ee2da7a64b59d4157bec6aab96060301024a6f3bb7bf8344d9149e472a61a908c3315075cc4402d6c6d640280f73a503fc7772b31a6c8c7265e13471cf7c7aef51616458aea107bb0f8421b61a90bc6103d9ff23f5f769fec61794049bc93e647d7536450c27edc3b7ee6b4136e67a1bef0219ffff0382fba1a09b452cb1e2a8f07c74e208e10aba87dd9e09c942237a4e31fd75023e03925f830f79dd535970571816c07eb038938e9cc8228cc5e8f5cbace7778436c0031b4f1d003fc1059d9f76381ffdfcf86dad16ac7ac6e9d5a3eba439bba35acd270320becbb8537e7ac419219dbaecb64dfc3bed590e27d0b4d694aa8fa6955affd30219ffff03287fdb063bee8f89122fa56ba04cb115be2a431d9081ea795425f33a42090a4403b95da96dff277e04b9efbfe6f77e551c6be9d386079e44a4e82fbe07882a78a7031e0a7d3b5d1ebd32c91bbd32e5990b3ae1501ceb3337e44696fab5c35d7c97a0032da4b525b8c7d38104788802402b318de8791f01fad83383da18fbbb4164df4a031867d011a900ee65354dbd5e725582235cabef853ea16b8a1859d7d0cccb8d2403f341b6be7bc785bc9a7b79f89037a2d72f5b77425fbc77163a1799b5bb5be208035e6e22a9cfc76382273980b41a80d1e32d34ea2682d780899ff89a2bcfd3ac1503a8601f58f1dfc1b33fb5d7384b545265ce496b65e56c164a494eb18e38311a1c03d581d86fbe800ac19f0241e4d362f7af66a8ab56dc85cea1673a44a6423cf47903c2240f8519ad86d3572b1c49e9f5d28e34ffd18b76be7f520afb4a51d6909c2903359a43ed1df167874235d372bf45ee3dfeef19781de70a339a64cdd32b7791be037a4e67ebd199f819288718b029a9c86778fe0cd5a61ffa1e626895e5d8f4feca03594ddd85757bc2c4556243163a9009d76fcef6216d12cb98223252b224217dcc038852f9f9958bc0132c57d27d6557070d6c6c5a48b23c78409f4c1f272383844603d290a785cf9d32a2d033ae5e8ce9b461dddd87a25e281a4d4abf28490e7c70be03030ad683fec0f1e26f5171ce7f784fe0052fa620da8e70efc561c142ffb10379033e6b62d1d3fc3db1fc786dbc05f3e55a2af2e578cf920b60f9515a73f80f8b6e03ac35423c75c35325858e749d79b2d225789ec404c9b09f2ce816a6d1b8d3f83503c71c49d14ac6e92f3de6f90a499afd6fbb525f247607f8f20fd1547d71e81d97038c2c5ea3dad23041dd2cd6d7d709820cd382061c8d562bf85e28d83195fb2ade03fc7e34666d4ed48f9030f967ef4b0d6549c679e3acf87d66d60960a44c834b960332c49a7410fe0bcc30aca990d86a2b89f89e4724c59bea84288fcced4953b92203475a1d50e284c2cd81ec0406a259350b0e82bc5ee6df60fa932969e016f97a5103c65aa8fe7e0c4450bf13d22ae43a152fb8ef9bb62f3e0d3cbe36411f79047f40033e7df90db643e8269fdf23d8d25a415c8a058b6e4d6cb788c281c27c27d95324037afb3947dda2f915b35ebe5d1af96891fd76936907867a7f286b8e982a6e4d180319de53f268b4f3acdfe769f3e6e35a0022a51c8f071ff5d21d399658815df2e803959fb9f770d1188e2ff4199a1929e1d5231ec03a3224df6930b210ad37a7c2640360c6261da09554a90cc1ebf7c76ff4da40eed3a93c96212c0526299ff984c25e03d4235538ea33926ae6e9d876895d502fb1acab6786fa547e4bfa636dc96efdb103f38498ed35d20ddd2989207f23c66068a33c0b093b693766e116a0fe9bdcc57c03f43f497f935f5bb6c8663ac4beb9f43b61ca4c0a4bb2da5985ff61ee96f1153e0349f56d5d6fe40ae59331d9522046aa08ce638dc02846b851025f77a84f5e3fbe03c67e0b943757d845af7de7adc2b4d554451bf2073ee1e82eb74cfb14ce2a5e48033b07e0794f8e9747114c3aef6513e621a9bcae80d76fa71c404cb3d1ff0a2261031ea04094e8855c391254eaddaba627776f1bf8f16d79bf8b0fbe468d08a47e6f03f4a4ef006ca8bcbda6e368ee194e37ef4054f0c3a4c6691edbca62ac6f20776d03ca1331e9fc065699ca5dd7e5ceb4109b0906f7ea70b49af9d8bb298780ac999c05581e03c86cb1d43e4f5e0eb6f108dda224ea539cb32d7211cab0d9f3f3dc10400c024801c165e3225a9b15034f2729ee5d65814b219bbb5b17f09d43d00e5434d8f3557345b92e8c133005e503352ffb477a9da4a2fa5748e40b9a436e3116f1edf95a3ebbab2a76eabd0971c003381f8c95ff2b733a847823430efcbd3a6fde247bfc999defa608519282fb810305581e0363a16b2728e1c01ff6c5baf5b6638d0417d033b1bd5b62157e888c461007011bffffffffffffffff03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03c31e96c09021184796aa1a3c4a70212fef3abefa72702f0c8983be0ef007011bffffffffffffffff0357d74b99bd7946cf101175ac79a5d4e447aea6764ad32c10476089031c6f2cc005581d02f16f0e2aa20ec0a8053f691e5d2b4978073c20d4bc5d6a7209dac9e1040305581d02c1580a4123a4eb5ce73038ba855483f556fecf0c9a6d49cd249b5e18040305581d0288badd894683e913f9362f987e00bb9f9b498c6d6eadf04a379fcf630c18b04703600c4b6d07290459034d60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b4cc25ee0a1d68f32f84fe62a9fc5447ef0a66bcc894d39af42c6ef4be931c9764736f6c634300080d00330324a6ef7ea43a6ed827d32cb0c186a02ca41bf9109480d4526aa3f205a33a742c03f9c8fc7604d4c342408f4a2e5ee5516efdbefe9be4192ac2747c0218738e40c6034d1922bfe948cec8098f76e80f239b62f1d72b19c68122f9a213355d34db2ebb00582103162b0988d4210bff484413ed451d170a03887272177efc0b7d000f10abe9edf04b01ef017e246ee3e633120103c847d3bef02292711d41f8ec8542d7f8c143f640b3331fef5723de5dca4271a20347232f4e483d98bff7ab051671b6e902954227cd0911d22a3bf6ba77d4df5bf90320311cb24ae925be88d75382df89419cdc7be47df5623fdcd81ec3566798ee34005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05402656fe285fac5d5c756c2f03c17277df9bac65b037646a6cc38faf825701ddcf86f79d8174ffa8aae8e9b1dd724ef223079d18f8f0339739bbfa1c973f1d31bdd99da43aba643d29d9717683ad7b91a5f1d323206df03b703d689d91e5fcc4e1306b7847bc99088c337a24eac0450338ef31124199f7000582003d273fe82f6c97699de8548e44b1fe278df04296278104da06c048ab919519041010058200307b9f8bf86ad8bb770f71cd2b1992902ae0314d93fc0f2bb011d70e796226053c452affee3a17d9cecc1bcd2b8d5c7635c4cb9005820038d954e2cfef495862221e91bd7523613cf8808827cb33edfe4904cc51bf290581a1f7d844cf48acd00edcf0000000000015c7d829d4dc5def42e9f0219083003042723b60a242ab11a3d523eca6d915c5cf955e61d258dc71911a80c7d5959de0219508003ab9f9269005403987379e1c921627c186588ca5922acdefcceb52ce6009d7e9603e4ac9cc4e5db429fa70b5d3ea526fa5d470e1f2a1a28893d88dad9beb9c76723005820026cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a5435fa164735182de50811e8e2e824cfb9b6118ac200582002cfd9f2677b892d3eb546999e73618a0a1782463453e73ac76bf1119e429816410100582002ed16b2898c591eab14476eeba4051e382e6799cc7f887e974dc53a95b218154101005820029ac570dd491e5cc42c375f1ee447f7312e3e5a7739988db0f9b11de2f763f041010058200263b5d4f8f94d4f445416bea155a27dba1cc8e4783d0b72c9f0e618ed71aba2410102192c88035cb373a0663a69ea24cf200324f840dc5c07c9d22ca3f90e53465fbb24de124600582002192e1030363415d7b4fb0406540a0060e8e2fc8982f3f32289379e11fa6546547d5706f6ef3f89b3951e23e557cdfbc3239d4e2c00582002c904b8b3d5836b934865f466c72aa103169dfa7d6d1ffd03e16abe2b4f6613410103791e1d82df059108765aafb165b3a33b33d3735fbc1c508599501612dd130a9403b41a8f64c862601962c12312a2d89c34e8bedb12273537707a272299d5fd4b87021904a40219ffff05581d022b56b430dc6d6b494a5f3b154c44c1b59d987b4afa7c9e06a6155c930f014a12ba7d8a637eb198edcf19034d02198051033dd94be1cc06bdde2ed5920c2712f2426a3b5ba32861d50d4f75a0278838180c021941b90219ffff0219ffff032d63df5b137dfed9434e49c6f5d2600bf8f42234a9f2d05512127a4133d2820503739eee90a95c8e25d737f979f5aa356e2f9a95301af4036de57da178a9a4bb270389b3d7c46433e784d9af0eb2db1cedf7e6aa8e6ff5616fb84cf3acaf10b57bed03afe30695b9e7d8c014d9f621ae65e8b2116d20cb46489e5f6e095cb38a1fca0803a22106ac54fbdec162e2fa1057846666fe0f1d68a45b30243b53b8b6fdc463a903390e56b8aa3ebc171b87ccac5a33849977859f305215be1b53f16e99f2c72c6c03a5e7ffd94053ddc4e522340fe10ba5ffef1494fc58cb029f39cb86c04c48ca7a038ee54c4c1d0425e51442c27f729587c4f7207465d42baec8cd286be591f1b81303556575d548779a050b659941b5b8659fccb2ed29f3459ddb3a849ba92175587903d2879489b29bf3760355b496b1f248abb28e7fd45832eeeb2d3fa5aecb00594803f5286b7be195a69b3dd3c8556fb74408a31108f8ddd762222a7a72df19eba8fb0219ffff038402ff4363d21e57d745f88cdfb1cd9ebe16b35089b43ac140e782201cb8453303eaff813dbe50e71204ea4679a69544aab0ea9c574f81580deaf55705515844c903c4c8065fddf75dce8918b09f14d0699f0694fb23bfa10da963b32ac8b7e568780329ec046468690d2e64968ac9e539b9e704f70a322a6807b5429c05117a36411303aaf28a53fb5914d2a698a48c02b1eaeccf4b2b42660a7785c637548c2f79545103b775245e4743cfab4f6a9f965d58eb13895b79700659011ab4c34e016ec6201f0315248660d26430b77352e48908ea914bc01a95eea6ee088d451b6a1d0a4a6f7503c75cbb9c28eb8a3c5a20e4ac530ff68f9a4c8d9562c923e81ca1043a1e4f79ce034305c3e2eb2a421054a9e2e2f69693be9558480cbc3253045968118fad97d80003c36f8652017a7c97c044fbfa3c936ba78f7d4c7c66a10a850aca142eb80a147303bd8599bc984b877b901e79414602f8515bdf1776216d3d856b0aaff759b7b75203342143b7b688af2d80a2d03fbc96dc57fb85086abe61ac8d6a82039e8fd74e5a031ce950cf372a30c09933ee48d40910aa1d430e11d3659e3c991be754ca1483c6030bf4fbf01d04aeb26ca3bf0c40a2fab09483d9aaa3f361de63ae99de63b5c43e03c6246a694b2bea35af99169bb2388d02d14d7bbb416d823bf4ee1624c4fcdb960342f162b7b8fc969ace0fda6d7fc4d2eb3e24f6b7372c44fe372849dffe73c25b0365bd518436912ea6890e5495c4d798f0db70544fd83f7a73e7466f6e626b4475034607789046fd078fc0eb1cfeccfa4ee64b11e2ce8b4809d5285622100eb116bd0361dc7912e54e840287422de54843d1c6a689c71dd840eea234132d474c25c63e03e0c2bdf26290c1e24cdc970189d5a089a2d8aec32053b7223252af03ea5f8e5703e87b1b56788477fc9752b63234c0686fa13249cbb201518d3d58a915d8fc5bbf03d44e85259d45ea4b7b8f9156e6f0fea8d8eca4b824be1476ac0d9f310028d809034e991719a69cdc3ce37863446023596671b46de0731e8e957f44c5a1b578aa2f035f7d5abdb054a404e84f4319d4aa0e1f22904fa0b5a7339e757dfce66c13e12b033262208d1e01faba6e616600160fe7224fffe15036b927f0663df573b3c2b8d203c7300de9fd62a71661fb72eabe5b69d9321e877a95b7ae29251aec683737d590030ae7adb1a14f3ce1ccb200daceaf49cbb92e3c90b7abe72dfa6546dd134aae0203f1e2fd9052c8f3c4dd33369fbbd089c2ca887029e6b70c8f470aaa59e5516cf503db5862fdcf9d522a287f1a2be7f87f5aa35f7116e6247f10e709173fe5448c4a03d7d54ad90efd14a21680ac24130f1b24e95f8beb3bb90457bb63ec4e9b05215a0393890eb5a933c386336690e90826e2e7dbb65b972ea280b0d49e8b9eeb8b321f05581e035b8cd4b1d26623fcb189f234560482d5e90a51746cec2cad81bacc2f800c01461acdbbbbbfb003c993782d80a40db25de108b21a9213d33a4188c5f22f081bf042c796e4f017f103caa8f920a4476ce260e2de3ff39446b5d340922a3139d79c2a5505da86e52f3603df28c4c779c6eb2ad205db4f06c899d1f0da7e07b47d9dc3d9620fadafee541005581e03a421a8ba49bdce5018b441ceb0d5a1eb5e9b5e11fc4e76e3652709c6e00847bce6e5351b3c4c0334db7c7b629bb040177fb6461a57da9f443c4764b0baf6d81337d02a736065af01410e05581e038b60d057f88a5463c7e332e0e52e2ec632f2e26cae1fbd7e1f52e279300c0c47eec60b7e121e8705581e036d9f04eace3c65426b44a698d04d549f6209191b44d09428e8af35d700040303e358209e828c0e4be311ce3e748e655982ea4a5fdfaecf7b8010806165db592805581d02e872894d88292038f48a189a01babe0757bd90fb7f76b5a759cb0153040103c3802770f6753a888b86cd74e615671f75f64162f4d1ee5b8ecefd286df33dd405581d02a93db600bb5d0be11fc4c28c92d498de331ac23b6c9aa03a8667473f0c0146c4b944aa3800045955e06080604052600436106104d45760003560e01c80635c975abb11610279578063b46a130e1161015e578063da792058116100d6578063f2fde38b1161008a578063f340fa011161006f578063f340fa0114610f56578063f3fef3a314610f69578063f9609f0814610f8957600080fd5b8063f2fde38b14610f16578063f31f6aeb14610f3657600080fd5b8063ded05b45116100bb578063ded05b4514610eaa578063e453793414610ebd578063ee30511614610ef657600080fd5b8063da79205814610e65578063da8ed1f714610e8a57600080fd5b8063c24671561161012d578063d0e30db011610112578063d0e30db014610e0d578063d6951aa914610e15578063d936547e14610e3557600080fd5b8063c246715614610dc4578063c98bea5b14610de457600080fd5b8063b46a130e14610d4f578063bac1520314610d6f578063c00b2d6114610d84578063c00c2d7314610da457600080fd5b806389a8d9f5116101f1578063987f010f116101c0578063a7cd0a1c116101a5578063a7cd0a1c14610cfa578063aaf10f4214610d1a578063b0192f9a14610d2f57600080fd5b8063987f010f14610cba5780639a8a302b14610cda57600080fd5b806389a8d9f514610c3c5780638a1b58b114610c5c5780638da5cb5b14610c7c578063917266fa14610c9a57600080fd5b806371cb700f116102485780637c90fbf01161022d5780637c90fbf014610b9c5780637faac02a14610bc3578063813827a214610c1c57600080fd5b806371cb700f14610b5c578063732db63514610b7c57600080fd5b80635c975abb14610ad8578063670a6fd914610b0757806368057db214610b27578063715018a614610b4757600080fd5b806335876476116103ba578063469963aa1161033257806351199700116102e657806352d1902d116102cb57806352d1902d14610a8957806353f3fcb114610a9e578063561bddf814610ab857600080fd5b80635119970014610a4857806351fb012d14610a6857600080fd5b80634ddeec69116103175780634ddeec69146109f55780634f1ef28614610a1557806350a8a55314610a2857600080fd5b8063469963aa146109b55780634c73f498146109d557600080fd5b80633a53acb011610389578063429b62e51161036e578063429b62e514610950578063439766ce14610980578063456a23a61461099557600080fd5b80633a53acb0146108ec5780633d85f1541461090c57600080fd5b806335876476146108775780633659cfe61461089757806337cfdaca146108b7578063397a1b28146108cc57600080fd5b80631aab9ef11161044d57806322828cc21161041c57806326d5d54a1161040157806326d5d54a146107ce57806328ac82e71461082a5780632db004a31461084a57600080fd5b806322828cc21461078e5780632423f9c9146107ae57600080fd5b80631aab9ef11461070e5780631c6b4ed91461072e5780631d3ea14f1461074e57806321820f6e1461076e57600080fd5b80630de371e2116104a457806312c53c9b1161048957806312c53c9b1461069d5780631665f66d146106ce5780631729d10b146106ee57600080fd5b80630de371e21461062657806310ddce8e1461065e57600080fd5b806203c53d1461059157806303dcfbdc146105b357806308388426146105e6578063086e16c01461060657600080fd5b3661058c576001600160801b033411156105015760405163162908e360e11b815260040160405180910390fd5b60cf805434919060009061051f9084906001600160801b0316614638565b92506101000a8154816001600160801b0302191690836001600160801b031602179055503460cf60108282829054906101000a90046001600160801b03166105679190614658565b92506101000a8154816001600160801b0302191690836001600160801b031602179055005b600080fd5b34801561059d57600080fd5b506105b16105ac3660046146c4565b610f9c565b005b3480156105bf57600080fd5b506105d36105ce3660046147ab565b61101f565b6040519081526020015b60405180910390f35b3480156105f257600080fd5b506105b161060136600461487c565b61110a565b34801561061257600080fd5b506105b161062136600461497f565b6113df565b34801561063257600080fd5b5060ce54610646906001600160a01b031681565b6040516001600160a01b0390911681526020016105dd565b34801561066a57600080fd5b5060d45461068590600160801b90046001600160801b031681565b6040516001600160801b0390911681526020016105dd565b3480156106a957600080fd5b5060ce546106be90600160a01b900460ff1681565b60405190151581526020016105dd565b3480156106da57600080fd5b506105b16106e93660046149b2565b6113eb565b3480156106fa57600080fd5b5060de54610646906001600160a01b031681565b34801561071a57600080fd5b506105d36107293660046149db565b611476565b34801561073a57600080fd5b506105b1610749366004614a0e565b61168e565b34801561075a57600080fd5b506105b1610769366004614a50565b611717565b34801561077a57600080fd5b506105b1610789366004614ab2565b611737565b34801561079a57600080fd5b5060c954610646906001600160a01b031681565b3480156107ba57600080fd5b506105b16107c9366004614ab2565b6117b2565b3480156107da57600080fd5b5061080d6107e9366004614acf565b60d76020526000908152604090205463ffffffff8082169164010000000090041682565b6040805163ffffffff9384168152929091166020830152016105dd565b34801561083657600080fd5b5060cb54610646906001600160a01b031681565b34801561085657600080fd5b506105d3610865366004614af0565b60d86020526000908152604090205481565b34801561088357600080fd5b506105b1610892366004614b09565b6117f3565b3480156108a357600080fd5b506105b16108b2366004614b8f565b611ad3565b3480156108c357600080fd5b506105d3611c70565b3480156108d857600080fd5b506105d36108e7366004614baa565b611ca0565b3480156108f857600080fd5b506105d3610907366004614af0565b611e8e565b34801561091857600080fd5b5061092c610927366004614af0565b611f46565b604080516001600160a01b03909316835263ffffffff9091166020830152016105dd565b34801561095c57600080fd5b506106be61096b366004614b8f565b60d66020526000908152604090205460ff1681565b34801561098c57600080fd5b506105b1611f7e565b3480156109a157600080fd5b5060cf54610685906001600160801b031681565b3480156109c157600080fd5b5060ca54610646906001600160a01b031681565b3480156109e157600080fd5b506105b16109f0366004614bd4565b612007565b610a08610a03366004614bfe565b6120b6565b6040516105dd9190614c8b565b6105b1610a23366004614c9e565b61213a565b348015610a3457600080fd5b5060d054610646906001600160a01b031681565b348015610a5457600080fd5b506105d3610a63366004614b8f565b6122c4565b348015610a7457600080fd5b5060d9546106be90600160a01b900460ff1681565b348015610a9557600080fd5b506105d36123f5565b348015610aaa57600080fd5b5060dc546106be9060ff1681565b348015610ac457600080fd5b506105d3610ad3366004614af0565b6124ba565b348015610ae457600080fd5b5060dc546106be9071010000000000000000000000000000000000900460ff1681565b348015610b1357600080fd5b506105b1610b22366004614d44565b612550565b348015610b3357600080fd5b506105b1610b423660046146c4565b612583565b348015610b5357600080fd5b506105b16125f7565b348015610b6857600080fd5b5060d254610646906001600160a01b031681565b348015610b8857600080fd5b506105b1610b97366004614b8f565b61260b565b348015610ba857600080fd5b5060cf5461068590600160801b90046001600160801b031681565b348015610bcf57600080fd5b50610c00610bde366004614b8f565b60db6020526000908152604090205460ff811690610100900463ffffffff1682565b60408051921515835263ffffffff9091166020830152016105dd565b348015610c2857600080fd5b50610a08610c37366004614bfe565b6128f8565b348015610c4857600080fd5b506105b1610c57366004614a0e565b612969565b348015610c6857600080fd5b506105b1610c773660046149b2565b61297c565b348015610c8857600080fd5b506033546001600160a01b0316610646565b348015610ca657600080fd5b506105d3610cb5366004614af0565b6129cb565b348015610cc657600080fd5b50610a08610cd5366004614d7b565b612a9d565b348015610ce657600080fd5b5060d154610646906001600160a01b031681565b348015610d0657600080fd5b506105b1610d15366004614dc7565b612ab4565b348015610d2657600080fd5b50610646612b93565b348015610d3b57600080fd5b5060dd54610646906001600160a01b031681565b348015610d5b57600080fd5b506105d3610d6a366004614e1e565b612bcb565b348015610d7b57600080fd5b506105b1612c74565b348015610d9057600080fd5b506105b1610d9f366004614e51565b612ccb565b348015610db057600080fd5b5060d954610646906001600160a01b031681565b348015610dd057600080fd5b506105b1610ddf366004614b8f565b612dfa565b348015610df057600080fd5b5060d55461080d9063ffffffff8082169164010000000090041682565b6105d3612f88565b348015610e2157600080fd5b5060d454610685906001600160801b031681565b348015610e4157600080fd5b506106be610e50366004614b8f565b60da6020526000908152604090205460ff1681565b348015610e7157600080fd5b5060dc546106859061010090046001600160801b031681565b348015610e9657600080fd5b506105b1610ea5366004614ab2565b612f94565b610a08610eb8366004614d7b565b612faf565b348015610ec957600080fd5b5060d054610ee190600160a01b900463ffffffff1681565b60405163ffffffff90911681526020016105dd565b348015610f0257600080fd5b5060cc54610646906001600160a01b031681565b348015610f2257600080fd5b506105b1610f31366004614b8f565b612fc6565b348015610f4257600080fd5b5060cd54610646906001600160a01b031681565b6105d3610f64366004614b8f565b613053565b348015610f7557600080fd5b506105d3610f84366004614baa565b61310c565b6105d3610f97366004614bd4565b6133f1565b610fa4613506565b60de54600160a01b900460ff166110025760405162461bcd60e51b815260206004820152601160248201527f496e636f7272656374426e66744d6f646500000000000000000000000000000060448201526064015b60405180910390fd5b6110148989898989898989893061356e565b505050505050505050565b6000611029613506565b60ce546001600160a01b031663d505accf3330853560208701356110536060890160408a01614e74565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0395861660048201529490931660248501526044840191909152606483015260ff166084820152606085013560a4820152608085013560c482015260e401600060405180830381600087803b1580156110de57600080fd5b505af11580156110f2573d6000803e3d6000fd5b505050506111008484611ca0565b90505b9392505050565b6111126137ae565b61111a613506565b84518314801561112a5750845181145b6111765760405162461bcd60e51b815260206004820152600e60248201527f6c656e67746873206469666665720000000000000000000000000000000000006044820152606401610ff9565b6000855167ffffffffffffffff81111561119257611192614811565b6040519080825280602002602001820160405280156111bb578160200160208202803683370190505b50905060005b86518110156112935760d860008883815181106111e0576111e0614e97565b602002602001015181526020019081526020016000205482828151811061120957611209614e97565b60200260200101818152505060d8600088838151811061122b5761122b614e97565b602002602001015181526020019081526020016000206000905586818151811061125757611257614e97565b60200260200101517f3a45f0697c2ad042d28b6679f70d695b90d55438dfbf3f43a44bba9dcf061c1960405160405180910390a26001016111c1565b5085516112a9906801a055690d9db80000614ead565b60cf80546000906112c49084906001600160801b0316614658565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555085516801a055690d9db800006112fe9190614ead565b60cf8054601090611320908490600160801b90046001600160801b0316614638565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555060c960009054906101000a90046001600160a01b03166001600160a01b0316634cfc6c7387516801ae361fc1451c000061137e9190614ead565b8888888888886040518863ffffffff1660e01b81526004016113a596959493929190614f96565b6000604051808303818588803b1580156113be57600080fd5b505af11580156113d2573d6000803e3d6000fd5b5050505050505050505050565b6113e76137ae565b5050565b60d9546001600160a01b031633148061140e575060d2546001600160a01b031633145b61142b576040516317fe949f60e01b815260040160405180910390fd5b8060dc60018282829054906101000a90046001600160801b031661144f9190614658565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050565b6000611480613506565b60cc546001600160a01b031633146114ab576040516317fe949f60e01b815260040160405180910390fd5b60006114b684611e8e565b90506bffffffffffffffffffffffff8411806114d0575083155b806114d9575080155b156114f75760405163162908e360e11b815260040160405180910390fd5b60ce5460d2546040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039182166024820152604481018790529116906323b872dd906064016020604051808303816000875af115801561156b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158f919061501b565b5060d2546040517f19691cb00000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff8087166004830152831660248201526001600160a01b0387811660448301526064820186905260009216906319691cb0906084016020604051808303816000875af1158015611619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061163d9190615038565b9050336001600160a01b03167fb9da3f3df62c28aca604806cc6ee9678189d7591ef511a77bb040fa8361e9e028787600260405161167d93929190615089565b60405180910390a295945050505050565b6116966137ae565b60ca546040517ffb63cf5c0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063fb63cf5c906116e190859085906004016150f8565b600060405180830381600087803b1580156116fb57600080fd5b505af115801561170f573d6000803e3d6000fd5b505050505050565b61171f613506565b6117276137ae565b61173283838361380d565b505050565b61173f6137ae565b60d98054821515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff9091161790556040517ffddaedbbaf95678a4915c7d90609990f214a158cfffa4af95aa3e7ba087c8b07906117a790831515815260200190565b60405180910390a150565b6117ba6137ae565b60de8054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b600054610100900460ff16158080156118135750600054600160ff909116105b8061182d5750303b15801561182d575060005460ff166001145b61189f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610ff9565b6000805460ff1916600117905580156118c2576000805461ff0019166101001790555b6001600160a01b03881615806118df57506001600160a01b038716155b806118f157506001600160a01b038616155b8061190357506001600160a01b038516155b8061191557506001600160a01b038416155b1561194c576040517fbaca868900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611954613a78565b61195c613afd565b60ce80546001600160a01b03808b1673ffffffffffffffffffffffffffffffffffffffff199283161790925560c980548a841690831617905560ca805489841690831617905560cc805488841690831617905560cd805487841690831617905560dc805460d980547fffffffffffffffffffffffffffff00000000000000000000000000000000000090921671010000000000000000000000000000000000179092558684167fffffffffffffffffffffff0000000000000000000000000000000000000000009091168117600160a01b1790915560d2805493861693909216929092179055600090815260d660205260409020805460ff1916600117905560de80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690558015611ac9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b6001600160a01b037f00000000000000000000000002656fe285fac5d5c756c2f03c17277df9bac65b163003611b715760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610ff9565b7f00000000000000000000000002656fe285fac5d5c756c2f03c17277df9bac65b6001600160a01b0316611bcc7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b031614611c485760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610ff9565b611c5181613b7a565b60408051600080825260208201909252611c6d91839190613b82565b50565b60cf54600090611c92906001600160801b03600160801b820481169116614658565b6001600160801b0316905090565b6000611caa613506565b6000611cb583611e8e565b90506bffffffffffffffffffffffff831180611ccf575082155b80611cd8575080155b15611cf65760405163162908e360e11b815260040160405180910390fd5b60ce5460d2546040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b039182166024820152604481018690529116906323b872dd906064016020604051808303816000875af1158015611d6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8e919061501b565b5060d2546040517f19691cb00000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff8086166004830152831660248201526001600160a01b0386811660448301526000606483018190529216906319691cb0906084016020604051808303816000875af1158015611e18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e3c9190615038565b9050336001600160a01b03167fb9da3f3df62c28aca604806cc6ee9678189d7591ef511a77bb040fa8361e9e0286866001604051611e7c93929190615089565b60405180910390a29150505b92915050565b600080611e99611c70565b905080600003611eac5750600092915050565b60ce54604080517f3a98ef39000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691633a98ef399160048083019260209291908290030181865afa158015611f0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f329190615038565b611f3c9085614ead565b611103919061510c565b60d38181548110611f5657600080fd5b6000918252602090912001546001600160a01b0381169150600160a01b900463ffffffff1682565b611f866137ae565b60dc80547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff16710100000000000000000000000000000000001790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611fea3390565b6040516001600160a01b03909116815260200160405180910390a1565b61200f613d22565b6001600160a01b0382161580159061202f57506001600160a01b03811615155b61207b5760405162461bcd60e51b815260206004820152600e60248201527f496e76616c696420706172616d730000000000000000000000000000000000006044820152606401610ff9565b60dd80546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560de8054929093169116179055565b60606120c0613506565b60de54600160a01b900460ff161561211a5760405162461bcd60e51b815260206004820152601160248201527f496e636f7272656374426e66744d6f64650000000000000000000000000000006044820152606401610ff9565b61212f858585671bc16d674ec8000086613d7c565b90505b949350505050565b6001600160a01b037f00000000000000000000000002656fe285fac5d5c756c2f03c17277df9bac65b1630036121d85760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610ff9565b7f00000000000000000000000002656fe285fac5d5c756c2f03c17277df9bac65b6001600160a01b03166122337f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b6001600160a01b0316146122af5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610ff9565b6122b882613b7a565b6113e782826001613b82565b600080600060ce60009054906101000a90046001600160a01b03166001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa15801561231c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123409190615038565b905080156123ee5760ce546040517fce7c2ac20000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301528392169063ce7c2ac290602401602060405180830381865afa1580156123ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123cf9190615038565b6123d7611c70565b6123e19190614ead565b6123eb919061510c565b91505b5092915050565b6000306001600160a01b037f00000000000000000000000002656fe285fac5d5c756c2f03c17277df9bac65b16146124955760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610ff9565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b60008060ce60009054906101000a90046001600160a01b03166001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612510573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125349190615038565b9050806000036125475750600092915050565b80611f32611c70565b612558613d22565b6001600160a01b0391909116600090815260d660205260409020805460ff1916911515919091179055565b61258b613506565b60de54600160a01b900460ff16156125e55760405162461bcd60e51b815260206004820152601160248201527f496e636f7272656374426e66744d6f64650000000000000000000000000000006044820152606401610ff9565b6110148989898989898989893361356e565b6125ff613d22565b612609600061403e565b565b6001600160a01b038116600090815260db602052604090205460ff166126735760405162461bcd60e51b815260206004820152600e60248201527f4e6f7420726567697374657265640000000000000000000000000000000000006044820152606401610ff9565b6001600160a01b038116600090815260db602090815260408083205433845260d69092529091205461010090910463ffffffff169060ff16806126dc575060d381815481106126c4576126c4614e97565b6000918252602090912001546001600160a01b031633145b61271b5760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1021b0b63632b960811b6044820152606401610ff9565b60d35460009061272d9060019061512e565b9050600060d3828154811061274457612744614e97565b60009182526020909120015460d380546001600160a01b039092169250908390811061277257612772614e97565b9060005260206000200160d3848154811061278f5761278f614e97565b6000918252602080832084549201805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b039485169081178355955463ffffffff600160a01b9182900481169091027fffffffffffffffff000000000000000000000000000000000000000000000000909216909617179055908416825260db90526040902080549185166101000264ffffffff001990921691909117905560d380548061283d5761283d615141565b600082815260208082207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908401810180547fffffffffffffffff0000000000000000000000000000000000000000000000001690559092019092556001600160a01b03861680835260db8252604092839020805464ffffffffff1916905582519081529081018590527f9b6ce1269d88e60cbdb801501eb6b2bf94bae1523cfa6c5bff01ac01c57913d0910160405180910390a150505050565b6060612902613506565b60de54600160a01b900460ff1661295b5760405162461bcd60e51b815260206004820152601160248201527f496e636f7272656374426e66744d6f64650000000000000000000000000000006044820152606401610ff9565b61212f858585600086613d7c565b612971613506565b6113e782823361380d565b60d2546001600160a01b031633146129a7576040516317fe949f60e01b815260040160405180910390fd5b8060dc60018282829054906101000a90046001600160801b031661144f9190614638565b6000806129d6611c70565b9050806000036129e95750600092915050565b60ce54604080517f3a98ef3900000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691633a98ef399160048083019260209291908290030181865afa158015612a4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a709190615038565b612a7a9085614ead565b9050816001612a898284615157565b612a93919061512e565b612132919061510c565b6060612aa7613506565b61110084848460006128f8565b612abc6137ae565b60005b82811015612b8d578160da6000868685818110612ade57612ade614e97565b9050602002016020810190612af39190614b8f565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f0cb6419711fbc14c120b7eb5e02b897bb91a3ab45c8c53575792b9baa3e174e1848483818110612b4e57612b4e614e97565b9050602002016020810190612b639190614b8f565b604080516001600160a01b03909216825284151560208301520160405180910390a1600101612abf565b50505050565b6000612bc67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b6000612bd5613506565b60de546001600160a01b03163314612c225760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1021b0b63632b960811b6044820152606401610ff9565b836001600160a01b03167fa241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90d84600185604051612c609392919061516a565b60405180910390a26111008460008561409d565b612c7c6137ae565b60dc80547fffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffff1690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611fea565b60cc546001600160a01b03163314612cf6576040516317fe949f60e01b815260040160405180910390fd5b60cf54612d0d9082906001600160801b0316615195565b60cf80547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166001600160801b03929092169190911790557f11c6bf55864ff83827df712625d7a80e5583eef0264921025e7cd22003a21511612d6e611c70565b60ce60009054906101000a90046001600160a01b03166001600160a01b0316633a98ef396040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612de59190615038565b604080519283526020830191909152016117a7565b612e026137ae565b6001600160a01b038116600090815260db602052604090205460ff1615612e6b5760405162461bcd60e51b815260206004820152601260248201527f416c7265616479207265676973746572656400000000000000000000000000006044820152606401610ff9565b6040805180820182526001600160a01b038381168083526000602080850182815260d380546001808201835591855287517f915c3eb987b20e1af620c1403197bf687fb7f18513b3a73fde6e78c7072c41a6820180549451919098167fffffffffffffffff00000000000000000000000000000000000000000000000090941693909317600160a01b63ffffffff94851602179096558751808901895290815281861681840190815285855260db84529388902090518154945164ffffffffff1990951690151564ffffffff0019161761010094909216939093021790915584519182528101829052919290917f3b4092c34f0c2f5ee4cbf1f20a8cb5c161e77756b8f115201b35c47aefeb6749910160405180910390a1505050565b6000612bc66000613053565b612f9c6137ae565b60dc805460ff1916911515919091179055565b6060612fb9613506565b61110084848460006120b6565b612fce613d22565b6001600160a01b03811661304a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ff9565b611c6d8161403e565b600061305d613506565b6130663361420f565b6130b25760405162461bcd60e51b815260206004820152600c60248201527f496e76616c6964205573657200000000000000000000000000000000000000006044820152606401610ff9565b336001600160a01b03167fa241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90d346001856040516130f09392919061516a565b60405180910390a26131043334600061409d565b90505b919050565b6000613116613506565b6000613121836129cb565b60d2549091506001600160a01b0316331480613147575060cc546001600160a01b031633145b6131865760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1021b0b63632b960811b6044820152606401610ff9565b60cf54600160801b90046001600160801b03168311806131ca575060d2546001600160a01b0316331480156131ca575060dc5461010090046001600160801b031683115b80613257575060ce546040517f70a0823100000000000000000000000000000000000000000000000000000000815233600482015284916001600160a01b0316906370a0823190602401602060405180830381865afa158015613231573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132559190615038565b105b1561328e576040517fbb55fd2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160801b038311806132a1575082155b806132aa575080155b156132c85760405163162908e360e11b815260040160405180910390fd5b8260cf60108282829054906101000a90046001600160801b03166132ec9190614638565b82546001600160801b039182166101009390930a92830291909202199091161790555060d2546001600160a01b0316330361336a578260dc60018282829054906101000a90046001600160801b03166133459190614638565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b60ce546040517fee7a7c04000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b039091169063ee7a7c0490604401600060405180830381600087803b1580156133cf57600080fd5b505af11580156133e3573d6000803e3d6000fd5b505050506111038484614245565b60006133fb613506565b60cc546001600160a01b031633146134485760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1021b0b63632b960811b6044820152606401610ff9565b60cc546001600160a01b038481169116148061346857506134688361420f565b6134b45760405162461bcd60e51b815260206004820152600c60248201527f496e76616c6964205573657200000000000000000000000000000000000000006044820152606401610ff9565b336001600160a01b03167fa241faf62e66ce518d1934ce4c936d806a02289ba483fac23beb8c15755be90d346002856040516134f29392919061516a565b60405180910390a26111033334600061409d565b60dc5471010000000000000000000000000000000000900460ff16156126095760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610ff9565b878614801561357c57508784145b801561358757508782145b6135d35760405162461bcd60e51b815260206004820152600e60248201527f6c656e67746873206469666665720000000000000000000000000000000000006044820152606401610ff9565b60d080548991906014906135f5908490600160a01b900463ffffffff166151e3565b825463ffffffff9182166101009390930a92830291909202199091161790555060c9546001600160a01b0316636413cc086136388a670de0b6b3a7640000614ead565b8c8c8c86308e8e336040518a63ffffffff1660e01b8152600401613663989796959493929190615200565b6000604051808303818588803b15801561367c57600080fd5b505af1158015613690573d6000803e3d6000fd5b505050505060005b888110156113d2578585828181106136b2576136b2614e97565b9050602002013560d860008c8c858181106136cf576136cf614e97565b905060200201358152602001908152602001600020819055508989828181106136fa576136fa614e97565b905060200201357f7c6ee2c19ea9869a56eee5e68fe853d4e5a0171b0c02203d09df4c414fe8488285858481811061373457613734614e97565b9050602002810190613746919061531a565b8b8b8681811061375857613758614e97565b905060200281019061376a9190615361565b613774908061531a565b8b8b8881811061378657613786614e97565b9050602002013560405161379e959493929190615381565b60405180910390a2600101613698565b33600090815260d6602052604090205460ff166126095760405162461bcd60e51b815260206004820152600960248201527f4e6f742061646d696e00000000000000000000000000000000000000000000006044820152606401610ff9565b6000805b838110156139ee57600860ca546001600160a01b031663135f8aa787878581811061383e5761383e614e97565b905060200201356040518263ffffffff1660e01b815260040161386391815260200190565b602060405180830381865afa158015613880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138a491906153bb565b60098111156138b5576138b5615051565b0361397f5760de54600160a01b900460ff166138e4576138dd670de0b6b3a764000083615157565b9150613935565b670de0b6b3a764000060cf60108282829054906101000a90046001600160801b03166139109190614638565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505b84848281811061394757613947614e97565b905060200201357f93078fc8e25f8a1cf1f7267fc8b9e164b79add4272948f78faf310b3787d7f8060405160405180910390a26139e6565b60de54600160a01b900460ff166139a5576139a2671bc16d674ec8000083615157565b91505b600160d060148282829054906101000a900463ffffffff166139c791906151e3565b92506101000a81548163ffffffff021916908363ffffffff1602179055505b600101613811565b5060c9546040517f915152810000000000000000000000000000000000000000000000000000000081526001600160a01b0390911690639151528190613a3c908790879087906004016153dc565b600060405180830381600087803b158015613a5657600080fd5b505af1158015613a6a573d6000803e3d6000fd5b50505050612b8d8282614245565b600054610100900460ff16613af55760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ff9565b6126096142fc565b600054610100900460ff166126095760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ff9565b611c6d613d22565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613bb55761173283614382565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613c0f575060408051601f3d908101601f19168201909252613c0c91810190615038565b60015b613c815760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610ff9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114613d165760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610ff9565b5061173283838361444d565b6033546001600160a01b031633146126095760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ff9565b33600090815260db602052604090205460609063ffffffff6101008204169060ff168015613ddf5750336001600160a01b031660d38263ffffffff1681548110613dc857613dc8614e97565b6000918252602090912001546001600160a01b0316145b613e1e5760405162461bcd60e51b815260206004820152601060248201526f24b731b7b93932b1ba1021b0b63632b960811b6044820152606401610ff9565b613e288486614ead565b3414613e765760405162461bcd60e51b815260206004820152601260248201527f4e6f7420456e6f756768204465706f73697400000000000000000000000000006044820152606401610ff9565b613e89856801bc16d674ec800000614ead565b60cf54613ea7903490600160801b90046001600160801b0316615157565b1015613ef55760405162461bcd60e51b815260206004820152601260248201527f4e6f7420656e6f7567682062616c616e636500000000000000000000000000006044820152606401610ff9565b60de543090600090600160a01b900460ff16613f115733613f13565b305b9050600060c960009054906101000a90046001600160a01b03166001600160a01b03166347d678868b8b8b338888600160dc60009054906101000a900460ff168f6040518a63ffffffff1660e01b8152600401613f7899989796959493929190615409565b6000604051808303816000875af1158015613f97573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613fbf919081019061546c565b9050805160d060148282829054906101000a900463ffffffff16613fe391906154fd565b92506101000a81548163ffffffff021916908363ffffffff1602179055508051881115614031576000815189614019919061512e565b6140239089614ead565b905061402f3382614245565b505b9998505050505050505050565b603380546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008260cf60108282829054906101000a90046001600160801b03166140c39190614658565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508160cf60008282829054906101000a90046001600160801b031661410b9190614658565b92506101000a8154816001600160801b0302191690836001600160801b031602179055506000828461413d9190615157565b9050600061414a82614472565b90506001600160801b0382118061415f575081155b80614168575080155b156141865760405163162908e360e11b815260040160405180910390fd5b60ce546040517f528c198a0000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152602482018490529091169063528c198a90604401600060405180830381600087803b1580156141ed57600080fd5b505af1158015614201573d6000803e3d6000fd5b509298975050505050505050565b60d954600090600160a01b900460ff1615806131045750506001600160a01b0316600090815260da602052604090205460ff1690565b60405147906000906001600160a01b0385169084908381818185875af1925050503d8060008114614292576040519150601f19603f3d011682016040523d82523d6000602084013e614297565b606091505b505090508080156142b057506142ad838361512e565b47145b612b8d5760405162461bcd60e51b815260206004820152600860248201527f53656e644661696c0000000000000000000000000000000000000000000000006044820152606401610ff9565b600054610100900460ff166143795760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ff9565b6126093361403e565b6001600160a01b0381163b6143ff5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610ff9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61445683614499565b6000825111806144635750805b1561173257612b8d83836144d9565b6000808261447e611c70565b614488919061512e565b905080600003611eac575090919050565b6144a281614382565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b6145585760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e747261637400000000000000000000000000000000000000000000000000006064820152608401610ff9565b600080846001600160a01b031684604051614573919061553e565b600060405180830381855af49150503d80600081146145ae576040519150601f19603f3d011682016040523d82523d6000602084013e6145b3565b606091505b50915091506145db8282604051806060016040528060278152602001615584602791396145e4565b95945050505050565b606083156145f3575081611103565b61110383838151156146085781518083602001fd5b8060405162461bcd60e51b8152600401610ff99190615550565b634e487b7160e01b600052601160045260246000fd5b6001600160801b038281168282160390808211156123ee576123ee614622565b6001600160801b038181168382160190808211156123ee576123ee614622565b60008083601f84011261468a57600080fd5b50813567ffffffffffffffff8111156146a257600080fd5b6020830191508360208260051b85010111156146bd57600080fd5b9250929050565b600080600080600080600080600060a08a8c0312156146e257600080fd5b8935985060208a013567ffffffffffffffff8082111561470157600080fd5b61470d8d838e01614678565b909a50985060408c013591508082111561472657600080fd5b6147328d838e01614678565b909850965060608c013591508082111561474b57600080fd5b6147578d838e01614678565b909650945060808c013591508082111561477057600080fd5b5061477d8c828d01614678565b915080935050809150509295985092959850929598565b80356001600160a01b038116811461310757600080fd5b600080600083850360e08112156147c157600080fd5b6147ca85614794565b93506020850135925060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08201121561480357600080fd5b506040840190509250925092565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561485057614850614811565b604052919050565b600067ffffffffffffffff82111561487257614872614811565b5060051b60200190565b60008060008060006060868803121561489457600080fd5b853567ffffffffffffffff808211156148ac57600080fd5b818801915088601f8301126148c057600080fd5b813560206148d56148d083614858565b614827565b82815260059290921b8401810191818101908c8411156148f457600080fd5b948201945b83861015614912578535825294820194908201906148f9565b9950508901359250508082111561492857600080fd5b61493489838a01614678565b9096509450604088013591508082111561494d57600080fd5b5061495a88828901614678565b969995985093965092949392505050565b803563ffffffff8116811461310757600080fd5b6000806040838503121561499257600080fd5b61499b8361496b565b91506149a96020840161496b565b90509250929050565b6000602082840312156149c457600080fd5b81356001600160801b038116811461110357600080fd5b6000806000606084860312156149f057600080fd5b6149f984614794565b95602085013595506040909401359392505050565b60008060208385031215614a2157600080fd5b823567ffffffffffffffff811115614a3857600080fd5b614a4485828601614678565b90969095509350505050565b600080600060408486031215614a6557600080fd5b833567ffffffffffffffff811115614a7c57600080fd5b614a8886828701614678565b9094509250614a9b905060208501614794565b90509250925092565b8015158114611c6d57600080fd5b600060208284031215614ac457600080fd5b813561110381614aa4565b600060208284031215614ae157600080fd5b81356004811061110357600080fd5b600060208284031215614b0257600080fd5b5035919050565b600080600080600080600060e0888a031215614b2457600080fd5b614b2d88614794565b9650614b3b60208901614794565b9550614b4960408901614794565b9450614b5760608901614794565b9350614b6560808901614794565b9250614b7360a08901614794565b9150614b8160c08901614794565b905092959891949750929550565b600060208284031215614ba157600080fd5b61110382614794565b60008060408385031215614bbd57600080fd5b614bc683614794565b946020939093013593505050565b60008060408385031215614be757600080fd5b614bf083614794565b91506149a960208401614794565b60008060008060608587031215614c1457600080fd5b843567ffffffffffffffff811115614c2b57600080fd5b614c3787828801614678565b90989097506020870135966040013595509350505050565b60008151808452602080850194506020840160005b83811015614c8057815187529582019590820190600101614c64565b509495945050505050565b6020815260006111036020830184614c4f565b60008060408385031215614cb157600080fd5b614cba83614794565b915060208084013567ffffffffffffffff80821115614cd857600080fd5b818601915086601f830112614cec57600080fd5b813581811115614cfe57614cfe614811565b614d1084601f19601f84011601614827565b91508082528784828501011115614d2657600080fd5b80848401858401376000848284010152508093505050509250929050565b60008060408385031215614d5757600080fd5b614d6083614794565b91506020830135614d7081614aa4565b809150509250929050565b600080600060408486031215614d9057600080fd5b833567ffffffffffffffff811115614da757600080fd5b614db386828701614678565b909790965060209590950135949350505050565b600080600060408486031215614ddc57600080fd5b833567ffffffffffffffff811115614df357600080fd5b614dff86828701614678565b9094509250506020840135614e1381614aa4565b809150509250925092565b600080600060608486031215614e3357600080fd5b614e3c84614794565b925060208401359150614a9b60408501614794565b600060208284031215614e6357600080fd5b813580600f0b811461110357600080fd5b600060208284031215614e8657600080fd5b813560ff8116811461110357600080fd5b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417611e8857611e88614622565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b6000808335601e19843603018112614f0657600080fd5b830160208101925035905067ffffffffffffffff811115614f2657600080fd5b8036038213156146bd57600080fd5b6000838385526020808601955060208560051b8301018460005b87811015614f8957601f19858403018952614f6a8288614eef565b614f75858284614ec4565b9a86019a9450505090830190600101614f4f565b5090979650505050505050565b608081526000614fa96080830189614c4f565b60208382036020850152614fbe82898b614f35565b91508382036040850152614fd3828789614f35565b84810360608601528551808252602080880194509091019060005b8181101561500a57845183529383019391830191600101614fee565b50909b9a5050505050505050505050565b60006020828403121561502d57600080fd5b815161110381614aa4565b60006020828403121561504a57600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6004811061508557634e487b7160e01b600052602160045260246000fd5b9052565b6001600160a01b038416815260208101839052606081016121326040830184615067565b81835260007f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8311156150df57600080fd5b8260051b80836020870137939093016020019392505050565b6020815260006111006020830184866150ad565b60008261512957634e487b7160e01b600052601260045260246000fd5b500490565b81810381811115611e8857611e88614622565b634e487b7160e01b600052603160045260246000fd5b80820180821115611e8857611e88614622565b8381526060810161517e6020830185615067565b6001600160a01b0383166040830152949350505050565b600f81810b9083900b016f7fffffffffffffffffffffffffffffff81137fffffffffffffffffffffffffffffffff8000000000000000000000000000000082121715611e8857611e88614622565b63ffffffff8281168282160390808211156123ee576123ee614622565b8881526000602060c08184015261521b60c084018a8c6150ad565b6001600160a01b03808a1660408601526060818a166060870152608091508583036080870152828884528484019050848960051b8501018a6000805b8c8110156152fb57601f198885030185528235607e198f360301811261527b578283fd5b8e016152878180614eef565b8987526152978a88018284614ec4565b9150506152a68b830183614eef565b8783038d8901526152b8838284614ec4565b92505050604082013560408701526152d288830183614eef565b9250868203898801526152e6828483614ec4565b978c0197965050509289019250600101615257565b5050506001600160a01b03891660a08901529550614031945050505050565b6000808335601e1984360301811261533157600080fd5b83018035915067ffffffffffffffff82111561534c57600080fd5b6020019150368190038213156146bd57600080fd5b60008235607e1983360301811261537757600080fd5b9190910192915050565b606081526000615395606083018789614ec4565b82810360208401526153a8818688614ec4565b9150508260408301529695505050505050565b6000602082840312156153cd57600080fd5b8151600a811061110357600080fd5b6040815260006153f06040830185876150ad565b90506001600160a01b0383166020830152949350505050565b600061010080835261541e8184018c8e6150ad565b9150508860208301526001600160a01b038089166040840152808816606084015280871660808401525061545560a0830186615067565b92151560c082015260e00152979650505050505050565b6000602080838503121561547f57600080fd5b825167ffffffffffffffff81111561549657600080fd5b8301601f810185136154a757600080fd5b80516154b56148d082614858565b81815260059190911b820183019083810190878311156154d457600080fd5b928401925b828410156154f2578351825292840192908401906154d9565b979650505050505050565b63ffffffff8181168382160190808211156123ee576123ee614622565b60005b8381101561553557818101518382015260200161551d565b50506000910152565b6000825161537781846020870161551a565b602081526000825180602084015261556f81604085016020870161551a565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f96f5ced5aabf0d9b3402bddf3aafa41484e1044726f8c36d7a7d5c22a14bae364736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d02d1c19d065c16c0260e198c2215744e572e41caecaecfd90d1b51dbdd07011955e0031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02d73f8c261230ed75839ad7b39718d105d7fc2ef9abf09f2e5180e92e07011bffffffffffffffff02196c20038ea31a82b04bf2007a3c3b3fdb7e1c3a4392c531d51c3ccb371e3f23d9b362ac05581e032fd5ffbaeafb42b69f1f4535f254fdbaad01a4ff61dd7dba91eba511f00c02460bd2cc61d0000219f56f03e2076aa02ceab8640c96906a587c6cd51bfee264c0633c179b8fbbebdb6165f00368280c754106a5f3787e23a9f8e7fb2667fc324b507b037af0af3f470732b17b03feb9b5bbaaab9211d598cc6f6f6dc17cc212a0f4d1d68e0202586adb0262587e039ff2b715725ebb525920f81c4337b0de23a4127d24f01dbe5bba597b7bfc3bc30347d2b8531ad7ae86dc06f986921be8496309c93b0d3bab00f9ce8dc48f5638aa0395f58b12482dad3c03b36660d1e6f939943160bb69e8515b40e84ad4724088080344b48fe576faac0b011d14d2399f71318b707b0a14c1d61aa7914b43c9374929039645ab284e49346b41e3839d3a980015f309a576e924e41fc1938ec8c13e66bf03056b9fd41703eb5121a58898cd5c994d140ed746f592090042087180d83355a20339106f80b9228a75bbc2f883ca2e6a5fe481bd6d4c8b3688a784c566d99b1bb70390ed80e061b2becd04f58cf96b10c62d403823de855cddcf6cad460818b44c7803a70ab62fb876ba8c3cfb4ccf3ac4bccee5ab86eb0e40b9d0eb5b7e8edcbb477803e7567ee9a74e542255dbacf873d143b352c946a70941056d765e3e1e968e4fed035420706389045687557ef2827c65a5abdd0b33a9b883fc3213999e215f51e1e4036287291f917bf46f0efa98c348c865d807970cd6fe03ac24e68ea92d473021f90219ffff0219ffff0219ffff03996964971e726f868b1a3b7bb585bbdabe67b1f2730637d5466f6f9adfebdd53037112f3f6fac15bde8a058bfa2891258a654e0eedd74562df5ec55f1e5ba52a4603dc303e617a56fe45b5f79774c5dcb9f9eef9b34ba309c089149a01229d2ced92039bfb10046f936f4eb3b0df96e47ec889fd5e453f54c9460af34542615a8ae88c033c072771603523c09baf4d3d1ae363cb5ed87f94e330d9617d3ae2a598aa793f037785029e39ad49ec6b8c4601de2ac5ca3bc0fae9cca3699ea81c2ceaf26da30403d524f27c05ef1a600728fb4a214fdfdf581a22067c0f4227e87ebdd8273baf2203ef5bf0daab1b24e6783f2c5e416e794791b3f6e4ddbcd7fd5427b5207a7fef6e038857b54432e0699d9d4180234bb161130acec3641f57c5d75f7e7b01a3d97ec40219ffff032d4f109aec9ca56b89708523b5bb5a74f1c6fcd1bb883c48306e408ad0c5b6860341020b91f3eb0e99c59e05d9d00de494d93818da0244402c3993dd2564680da503572a89e4bcac2e8352bc9b2fbca12ecf528575e42bc8e5ff9357036d8d9181830385e452c25b1c1eea7c1ad62f4c543c32303565a2c65cbff29e0e874f911afa4e03c4ad0df3dd0f7c363639bf4681679dac3ddd32c507a908416d4bd8e5f790f0b90311552ab562ff7d9717d8434d0238116072d5fd4e6afecd6e24d16c499f8c029903f5f7aa80de338ebd2f2a05ec94758d593d40fe4aec4f3016ee35dfa77f1d914403547e7f23f0fa82a5c8598effd4b589db64ecc4c158e6a12965f04bf45d481629036a80f7d43eaec43afbd305c26b17d9a278fa4c39552712cf1f790e7108dedf6a033b182bec83c91316c4d2406540878d1b32799a9b530d42cb17cb110bf8db6b55036da611c65f518e232885b4233b8361ac67ae7baa4a2c29b746a611062328a02e034aa7b0b36cbfd266bc0064fd3f4f0493f3b280dcee419d576afc5ffbe01e12b703664ac0d9632ea3eb59f3d2931dedeeafbe4b0c26bc79ea39a4c34e45ecb2cf77034458a18a9c51673f3047f48a55692cd08c01ab1466939c469b0dc74952dfe791038b9eccce5613348a87293e6d8678b9926cbf49612c05e4a3680229bf3a07a5a4030e711371206a554aa74cc22578c90b53e61e386b4e2e8a80825a1244700378cf03bc055c84318fab6f604d516f9271f2e0437a0987901585974afd285b474aca3103c636c6f98c386e025a1aeb46c436fc2f227fa34a535a2dd79a0f4cd78d7f39d803ebb0a57722e7ab2e721036d6f514458bbbc5b53c0b48596960104334189fc17a05581e03259a9a589be864c55f34f4cec7fa41740f3e191c5e055a3457cfb73b900c0646107bf075bd1d05581e03457ea1e6d9ba429ac1c3c230d89ffbc15f377e51bf77376573eaaea0b00c02470375f7507498d20459260d6080604052600436106100ec5760003560e01c80636c8128d31161008a578063af2d9d8111610059578063af2d9d811461029e578063b6fb85bd146102db578063f090fa8d14610304578063f2fde38b14610341576100f3565b80636c8128d31461021c578063715018a6146102455780638456cb591461025c5780638da5cb5b14610273576100f3565b80633659871e116100c65780633659871e146101735780633f4ba83a146101b15780635c975abb146101c85780635d799f87146101f3576100f3565b806304824e70146100f85780631ed6144e14610121578063230d369c1461014a576100f3565b366100f357005b600080fd5b34801561010457600080fd5b5061011f600480360381019061011a9190611a71565b61036a565b005b34801561012d57600080fd5b5061014860048036038101906101439190611b3b565b61040a565b005b34801561015657600080fd5b50610171600480360381019061016c9190611bf3565b610517565b005b34801561017f57600080fd5b5061019a60048036038101906101959190611c5a565b610682565b6040516101a8929190611ca5565b60405180910390f35b3480156101bd57600080fd5b506101c661078e565b005b3480156101d457600080fd5b506101dd61082b565b6040516101ea9190611cce565b60405180910390f35b3480156101ff57600080fd5b5061021a60048036038101906102159190611ce9565b610841565b005b34801561022857600080fd5b50610243600480360381019061023e9190611d29565b6109ca565b005b34801561025157600080fd5b5061025a610c29565b005b34801561026857600080fd5b50610271610c3d565b005b34801561027f57600080fd5b50610288610cda565b6040516102959190611d9d565b60405180910390f35b3480156102aa57600080fd5b506102c560048036038101906102c09190611db8565b610d03565b6040516102d29190611cce565b60405180910390f35b3480156102e757600080fd5b5061030260048036038101906102fd9190611d29565b610e9e565b005b34801561031057600080fd5b5061032b60048036038101906103269190611db8565b6110fd565b6040516103389190611cce565b60405180910390f35b34801561034d57600080fd5b5061036860048036038101906103639190611a71565b611298565b005b6002600061037661131b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166103fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103f490611e7b565b60405180910390fd5b6104078147611323565b50565b6104126113c4565b60005b8383905081101561051157816002600086868581811061043857610437611e9b565b5b905060200201602081019061044d9190611a71565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1618a22a3b00b9ac70fd5a82f1f5cdd8cb272bd0f1b740ddf7c26ab05881dd5b8484838181106104d2576104d1611e9b565b5b90506020020160208101906104e79190611a71565b836040516104f6929190611ca5565b60405180910390a1808061050990611f03565b915050610415565b50505050565b61051f6113c4565b610527611442565b600060405180606001604052808573ffffffffffffffffffffffffffffffffffffffff168152602001841515815260200183151581525090508060036000877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548160ff02191690831515021790555060408201518160000160156101000a81548160ff0219169083151502179055509050507f13c362cbb099f11868136f24457bf912ab9bb21109158dd05b265e6b1a08b9503386868686604051610673959493929190611f5a565b60405180910390a15050505050565b600080600060036000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460ff161515151581526020016000820160159054906101000a900460ff161515151581525050905061077a8161148c565b806000015192508060200151915050915091565b6002600061079a61131b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610821576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081890611e7b565b60405180910390fd5b610829611534565b565b60008060149054906101000a900460ff16905090565b6002600061084d61131b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166108d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cb90611e7b565b60405180910390fd5b610978818373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109119190611d9d565b602060405180830381865afa15801561092e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109529190611fd9565b8473ffffffffffffffffffffffffffffffffffffffff166115969092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f8c4e91db779d40eb9afbcebd8cf9aa9195b7b057611e32ad5dc9e4025f56ada0826040516109be9190611d9d565b60405180910390a25050565b6109d26113c4565b6109da611442565b600060036000867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460ff161515151581526020016000820160159054906101000a900460ff1615151515815250509050610acf8161148c565b60005b84849050811015610c21578260056000887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019081526020016000206000878785818110610b4457610b43611e9b565b5b9050602002016020810190610b599190611a71565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f08f0fbeb8677fc4d909acd84d1382eff7544aafc119c2a414a7ffaaa647124b73387878785818110610be057610bdf611e9b565b5b9050602002016020810190610bf59190611a71565b86604051610c069493929190612006565b60405180910390a18080610c1990611f03565b915050610ad2565b505050505050565b610c316113c4565b610c3b600061161c565b565b60026000610c4961131b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610cd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc790611e7b565b60405180910390fd5b610cd86116e0565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060036000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460ff161515151581526020016000820160159054906101000a900460ff1615151515815250509050610df98161148c565b60056000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b610ea66113c4565b610eae611442565b600060036000867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460ff161515151581526020016000820160159054906101000a900460ff1615151515815250509050610fa38161148c565b60005b848490508110156110f5578260046000887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600087878581811061101857611017611e9b565b5b905060200201602081019061102d9190611a71565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fa7b1056211995d95ed6743563c6383be37d0f9ac5feda3d8a62d31f9dcd53c0033878787858181106110b4576110b3611e9b565b5b90506020020160208101906110c99190611a71565b866040516110da9493929190612006565b60405180910390a180806110ed90611f03565b915050610fa6565b505050505050565b60008060036000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460ff161515151581526020016000820160159054906101000a900460ff16151515158152505090506111f38161148c565b60046000857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1691505092915050565b6112a06113c4565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361130f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611306906120bd565b60405180910390fd5b6113188161161c565b50565b600033905090565b600080600080600085875af1905080611371576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113689061214f565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f77f67778e9529a2fd2147ffb2b10ca2e0d1efd8cb925e1f1d5702e39c5fa8da6836040516113b7919061217e565b60405180910390a2505050565b6113cc61131b565b73ffffffffffffffffffffffffffffffffffffffff166113ea610cda565b73ffffffffffffffffffffffffffffffffffffffff1614611440576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611437906121e5565b60405180910390fd5b565b61144a61082b565b1561148a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148190612251565b60405180910390fd5b565b600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff16036114f6576040517f8e4ed60d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060400151611531576040517f627b257900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b61153c611743565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61157f61131b565b60405161158c9190611d9d565b60405180910390a1565b6116178363a9059cbb60e01b84846040516024016115b5929190612271565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061178c565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6116e8611442565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861172c61131b565b6040516117399190611d9d565b60405180910390a1565b61174b61082b565b61178a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611781906122e6565b60405180910390fd5b565b60006117ee826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166118539092919063ffffffff16565b905060008151111561184e578080602001905181019061180e919061231b565b61184d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611844906123ba565b60405180910390fd5b5b505050565b6060611862848460008561186b565b90509392505050565b6060824710156118b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a79061244c565b60405180910390fd5b6118b98561197f565b6118f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ef906124b8565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516119219190612549565b60006040518083038185875af1925050503d806000811461195e576040519150601f19603f3d011682016040523d82523d6000602084013e611963565b606091505b50915091506119738282866119a2565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156119b257829050611a02565b6000835111156119c55782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f991906125b5565b60405180910390fd5b9392505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611a3e82611a13565b9050919050565b611a4e81611a33565b8114611a5957600080fd5b50565b600081359050611a6b81611a45565b92915050565b600060208284031215611a8757611a86611a09565b5b6000611a9584828501611a5c565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611ac357611ac2611a9e565b5b8235905067ffffffffffffffff811115611ae057611adf611aa3565b5b602083019150836020820283011115611afc57611afb611aa8565b5b9250929050565b60008115159050919050565b611b1881611b03565b8114611b2357600080fd5b50565b600081359050611b3581611b0f565b92915050565b600080600060408486031215611b5457611b53611a09565b5b600084013567ffffffffffffffff811115611b7257611b71611a0e565b5b611b7e86828701611aad565b93509350506020611b9186828701611b26565b9150509250925092565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611bd081611b9b565b8114611bdb57600080fd5b50565b600081359050611bed81611bc7565b92915050565b60008060008060808587031215611c0d57611c0c611a09565b5b6000611c1b87828801611bde565b9450506020611c2c87828801611a5c565b9350506040611c3d87828801611b26565b9250506060611c4e87828801611b26565b91505092959194509250565b600060208284031215611c7057611c6f611a09565b5b6000611c7e84828501611bde565b91505092915050565b611c9081611a33565b82525050565b611c9f81611b03565b82525050565b6000604082019050611cba6000830185611c87565b611cc76020830184611c96565b9392505050565b6000602082019050611ce36000830184611c96565b92915050565b60008060408385031215611d0057611cff611a09565b5b6000611d0e85828601611a5c565b9250506020611d1f85828601611a5c565b9150509250929050565b60008060008060608587031215611d4357611d42611a09565b5b6000611d5187828801611bde565b945050602085013567ffffffffffffffff811115611d7257611d71611a0e565b5b611d7e87828801611aad565b93509350506040611d9187828801611b26565b91505092959194509250565b6000602082019050611db26000830184611c87565b92915050565b60008060408385031215611dcf57611dce611a09565b5b6000611ddd85828601611bde565b9250506020611dee85828601611a5c565b9150509250929050565b600082825260208201905092915050565b7f4f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b6000611e65602483611df8565b9150611e7082611e09565b604082019050919050565b60006020820190508181036000830152611e9481611e58565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b6000611f0e82611ef9565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611f4057611f3f611eca565b5b600182019050919050565b611f5481611b9b565b82525050565b600060a082019050611f6f6000830188611c87565b611f7c6020830187611f4b565b611f896040830186611c87565b611f966060830185611c96565b611fa36080830184611c96565b9695505050505050565b611fb681611ef9565b8114611fc157600080fd5b50565b600081519050611fd381611fad565b92915050565b600060208284031215611fef57611fee611a09565b5b6000611ffd84828501611fc4565b91505092915050565b600060808201905061201b6000830187611c87565b6120286020830186611f4b565b6120356040830185611c87565b6120426060830184611c96565b95945050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006120a7602683611df8565b91506120b28261204b565b604082019050919050565b600060208201905081810360008301526120d68161209a565b9050919050565b7f5f7472616e736665724574683a20457468207472616e73666572206661696c6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000612139602183611df8565b9150612144826120dd565b604082019050919050565b600060208201905081810360008301526121688161212c565b9050919050565b61217881611ef9565b82525050565b6000602082019050612193600083018461216f565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006121cf602083611df8565b91506121da82612199565b602082019050919050565b600060208201905081810360008301526121fe816121c2565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b600061223b601083611df8565b915061224682612205565b602082019050919050565b6000602082019050818103600083015261226a8161222e565b9050919050565b60006040820190506122866000830185611c87565b612293602083018461216f565b9392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006122d0601483611df8565b91506122db8261229a565b602082019050919050565b600060208201905081810360008301526122ff816122c3565b9050919050565b60008151905061231581611b0f565b92915050565b60006020828403121561233157612330611a09565b5b600061233f84828501612306565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006123a4602a83611df8565b91506123af82612348565b604082019050919050565b600060208201905081810360008301526123d381612397565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612436602683611df8565b9150612441826123da565b604082019050919050565b6000602082019050818103600083015261246581612429565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006124a2601d83611df8565b91506124ad8261246c565b602082019050919050565b600060208201905081810360008301526124d181612495565b9050919050565b600081519050919050565b600081905092915050565b60005b8381101561250c5780820151818401526020810190506124f1565b60008484015250505050565b6000612523826124d8565b61252d81856124e3565b935061253d8185602086016124ee565b80840191505092915050565b60006125558284612518565b915081905092915050565b600081519050919050565b6000601f19601f8301169050919050565b600061258782612560565b6125918185611df8565b93506125a18185602086016124ee565b6125aa8161256b565b840191505092915050565b600060208201905081810360008301526125cf818461257c565b90509291505056fea264697066735822122019c7fc0895624deb96c16379607aee9340665abf2b4b96a30662647997e4912864736f6c6343000811003303b84da66d271bfe64f9bd5956a1570a12da04dea9fb0a5f79b01c3ae53d7f71250392a2359ddee9093f91d595f6d695dabb5c7cabfbe921f44ac9873d732b46ad9e0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630549287b8e84d972dd02f618bbed45b9a6d7ed16384005821030e850c96ca9b5583b0e759fb901dfdba724d37646a57c246b958e8fb520423304101036922a1b10ad78d81163f78c6cf8fdc57f9df88c8aae136689cc231c9c062613e035b5ea1e7366b05dad7bdf7d15dfa418d251230675fbf457872f429516e10a565005821039c82aa727264639b1aa722e08f2dd7984ab899ae34da69fa91dd7cc2d573f7804101033f246329ed9a65c5a925c2198b0a3c67e162fc09a3a93a5786f64e3686dff052005820024f3c6d7f9129f8b70192c8592f902d4948e120341dee9939204d1ea0002ec456010160396fca11136a1f960caada73ddd08495e0b94e00582002e6808dfdb63b0128867ed22a8ed5a3c726166f85c2b4a88403f697ab170656410100582002e7450b0c776d796ed9918c0f67a0851ecc2598fe658524db5726b67870e6df410102193040032718cc37fd4d8b72dc2777386ebbd52d8f7624e954f7127ae9617e2c4e3f9a5e005820024284dc59ea7c888863c4ab313c949643e4e5aa594d11014873c6a06385bed7410100582002a8d95ccfc6dd0fd6fc449e57cc5f75304f9d3857f0d3104298b4e8cad247fe41010218840375492524156636aec75533f2419809f2131e8c9e2ad698399ac55fd6377657e10382f6345d8a09bd0f0c23065c35bd493cfb70471fa04a7b9ee2cfb88ddb61455102197bef05581e03ed7291900fbe05b892fb68741769ef1ef81c017317d622eda798817470070119260d05581e03780462e6a5c0e561488c4be81606b70a44b8cb523ff901536e78d2bd90040205581e03af153a807c68caa4f1ebac90fb8d3ba3766c1036b9a2f1ae624c346be00c0f4641f10f52ac0003b43b4c0e572b613c0ca95eeee7b9ff0453ed7d016d49793b4d98892d4b53537103fd56e20c72e3f234260289d60bfaccad03b30a59244773d4d7dcccc0df7c766c05581e03162cf8997df23069c908acb8b108590fe11a74c1f09318ae648db29ee0040203bf9e64c638b04899baa11c80bd733447545a641e9fdce5be8726648f59b8eddd0310e381f2007835d0ebdfdbbab09feba786b7c62fd5502ac0aeec0f5e3cfc71ba01410c05581e03da44fb8928717c7d6914f2161343506ffab961cca2d1bfb9fc431e7a10040103b315d917a794e7953ca686bb995b0834b0432d5e482a3d0f2b870ec1e10dd33d0219dbb703ee67e185ee51527652c6c5f4514b38a0fe269a482044d9bdf17d8455eecdc9cf03ef006af6ca99c0b5caee59e3ad6bc4273290481f2387108608c84325e4880d4c03d75223a2d411849c912ddbd0b688ccd9e750d0ebf6582fa4278c3300046e98230334e0b61e50a9e70cf845cccc7fb82b6fe14366bba62b91dfcba581035f705f2f03f791d1cb9e90115a9689874d713d605f5fff1155a0d3b8abf3d939ad426684ba038bdfef6938d563ed5164f6dc7c34c6dc5d78e2171bcc9600c3d955322c06a3620389110e633d2e9254f45cffaf4fa466a77445c4f73c51e5433b9072f66f411b50033d5a195d45b7258a00608e0ed2dcb9f17323724763680acdbe40898d99b1b1ac0345eb4c81dbbba74ac8155d26358fb9b58d443c123e8c5733fe667671a3904a0803df2b3f15178fc6279fa194aa5c24fe57092098c1cb51b9949624ebb928993cb503c9d0e5f2b0c5e51303b4109bac5227413011e3d1fb9641852f3c7120563ca3ec037741050a43aa7651b42d96d3c402dab65d83dd275d5c4acde52fecc1d5bbffcf03b415bcf742faadf6dd85f4a0a6ec91ff231414571ac929f50a616311ce2b6b78037d38dfe5c6e7f4d03af5f4d27a08b395429764f420bd4149d8514061266bd0ea0219ffff03c5245bd5cbcbcaa8b0653bb280f9ad81a21553923125c204a312a249902971f703c307ea09000490b86d4390108e7630624084e0c4bedc7b9b8ef447d2264afaf90377cfae5b24e39833ff06ce9dfa9a5e6fa57bcddda8c5fa483facd05528a413fc03904879f73a0ac7ad94e55a8733bd43923a496dc2ccd2a4b3ad19c80754d74e66038ab7631b623d1337fd95f6e4b87f8ecd92337a8f9cb0ddb3183c3f10c41b13d4037b9cea810a7d2549c872cdc931263568de64f7300ea79db2614fd02a6d3f293b03676710caec360ffbd5c1718930f3f974917a89dcf9f4229b0b978d68500b807403371b6ec54f2275bf288928f06e4ef5448452f315a89b4253983ab24ca34a49a70219ffff039d8c54cc5ee3bea2c5d82973b4f3352e618ec1fcf36884c1002c7644932fc7f2034e0442ded3827e0759dc46347aa7cfe26950bc90e8e3f7fde8c8e9a34596f2fe03df907d33190cf48000e767a547502f9b3a03d1aef6bed81407a660e7afa5aa7c039d663b33ccba5fc7d3cdd712ab624c33bd430649170220e664adfb03fbab36db03b8446d02c68d01d373ef17dae64cc2f06e2b32985b9c64850d6f191b782b3c61039396244cc3b9f0c91a35ee91e02b32dee814318a6ed84eaa3a94327cebe6e12b03d3273aaf41ef7f9d77b0b9a9ff64d505cbfcc0de8d00fab84ed138066c81737303c8545b1da78d42015358043a2aa0f1c08697cd6002c5655e07166c94c94d246c03fe250c7c497d721610357fc3a9d4bcbcd519ea6d8be774a91f5a9deee666bb290219ffff038ea94cca75f2a96e856bcd579f6d578527573d57930b4feeaf6b0a0c8bd4e0e3038653954b7e45843d92807109cca4b75abf6fe910903f4a6064974cf502a109f503f1468a7e39d03ae9da4aea58cd20cd023e53dc1e017addd3cd668efd1e6b3fb2037e5ce6dbde1a7ef4fd67490d9ceeaa4543ed1d6a6a4f462a89c32d102fb5aa5d039e4f6b8257586317f94c4b386c128378855ee8c692b1c1305e30962db513cd7203e868d26e0650ec6753f5ea0c28ce8b1e60893838d2cfdb087d4f03b2e402afac03e78960da7bfe416a903b4f0d7b4770177ac647c1aa8f04105eda51f49333406b038791f1642cc9508320496abd0c38efc1a59626d7a662d39689dd2519731647cd034c8675d1f8007c12984e572efdf5ba55901337216f8a2df89bfa6b24537e2b2503a27a5fdb20cb885788dd22a3130f377a45831503224169dca0a335a88f3a755f03ae713c5f08ce36893fbae77afcb84b20a99c397592d4a05eb5304e2df78ebb8f03630d4f394dc69171ebea4838a4430de8abfa4227015dab175ce9e446dfde120603c4e7d07c91e57f97caf3f06e0b5d83f14282f5a6395b38014b6878cbbb2e47570391a03e0825d33377385f12d5e00ba093e8382837aee2173b0f2e795969797f4205581e037b1c81ef00f3aa4fe6d654f302d01b677902a7f2ae7ca9208273d81bd00c014707b8d4b7e5804405581e036c1bed4dbbd2a1edc2f7413a5c88eb2d6391e827fabc83b0853e98c9f0040305581e03245153e7d1135627b19fc8d348a032e15f83e2c460a99fdd84f087f640040103d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e0392bcff82b3ff460d36e0850f45089aefdbab2e6cb8bddd49ea147882e007011bffffffffffffffff03b2754c49ea63132f0b5738bd615ef2f7725dcf158419acc89852d387abde67ce031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03d9cd8c1d9823beba3da79cf35d6bba761c148c4444a031535c6113afa007011bffffffffffffffff0371ae108eea6b126d7ffe5a574fedea46f79f88221ddc6c86a472124677e14ec001410705581e038a0f91f9bd2692a49deac5c7efbd7cb9afdd37e34b2c461ca06b2e6f90040304595f7c60806040526004361061038c5760003560e01c80637b2d3e69116101dc578063b607bc3011610102578063e2748429116100a0578063f2fde38b1161006f578063f2fde38b14610c0d578063f60c715814610c2d578063f8c8765e14610c4d578063f92b41bd14610c6d57600080fd5b8063e274842914610b7d578063e949580e14610b9d578063f0fd108414610bd8578063f163d71214610bf857600080fd5b8063c6e4fc93116100dc578063c6e4fc9314610afc578063cbaaccb414610b1c578063d4a6a2fd14610b3c578063d8a531a614610b5d57600080fd5b8063b607bc3014610a7d578063bc5800e514610abc578063bfca66c914610adc57600080fd5b8063920123391161017a578063ad3cb1cc11610149578063ad3cb1cc146109df578063af26974514610a10578063b21185b314610a30578063b4ab6cf114610a5057600080fd5b8063920123391461095257806397520f74146109725780639762891714610992578063ab14dee4146109b257600080fd5b806385c23195116101b657806385c23195146108b557806385eab8c6146108d55780638ad0838d146108f55780638da5cb5b1461091557600080fd5b80637b2d3e69146108545780638110c50f146108745780638131fd161461089557600080fd5b8063474954c3116102c15780635f03b6b21161025f5780636d5bc5ca1161022e5780636d5bc5ca146107725780636e35d395146107d3578063715018a61461081f57806373417b091461083457600080fd5b80635f03b6b2146106fc578063675151b2146107125780636acf6eac146107325780636afffd901461075257600080fd5b806351ca0ffa1161029b57806351ca0ffa1461061257806351fa7cc21461063457806352d1902d146106c6578063564b81ef146106e957600080fd5b8063474954c3146105a05780634d9c41a7146105c05780634f1ef286146105ff57600080fd5b80633284c3b11161032e578063416b3e1e11610308578063416b3e1e1461051f578063427fa2041461053f5780634451d89f14610560578063468169b31461058057600080fd5b80633284c3b1146104a057806332e52ae1146104c05780633c11bdd6146104e057600080fd5b8063232275c11161036a578063232275c1146103f3578063238ac933146104135780632f1521581461045057806330f899531461047057600080fd5b806319a8b4a0146103915780631b878f71146103b35780631d671c5b146103d3575b600080fd5b34801561039d57600080fd5b506103b16103ac366004614e33565b610c9a565b005b3480156103bf57600080fd5b506103b16103ce366004614e87565b610dc2565b3480156103df57600080fd5b506103b16103ee366004614ec0565b610e4a565b3480156103ff57600080fd5b506103b161040e366004614f01565b610fa6565b34801561041f57600080fd5b50600d54610433906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561045c57600080fd5b506103b161046b366004614f9a565b6110e4565b34801561047c57600080fd5b5061049061048b366004615098565b6113a6565b6040519015158152602001610447565b3480156104ac57600080fd5b506104906104bb366004615098565b611522565b3480156104cc57600080fd5b506103b16104db366004614e87565b61154b565b3480156104ec57600080fd5b506105006104fb366004615114565b61169a565b604080516001600160801b039093168352602083019190915201610447565b34801561052b57600080fd5b5061050061053a366004615145565b6117e5565b34801561054b57600080fd5b5060065461049090600160a81b900460ff1681565b34801561056c57600080fd5b50600654610433906001600160a01b031681565b34801561058c57600080fd5b506103b161059b366004615171565b611990565b3480156105ac57600080fd5b506103b16105bb366004615114565b6119dd565b3480156105cc57600080fd5b506007546105e790600160401b90046001600160801b031681565b6040516001600160801b039091168152602001610447565b6103b161060d36600461523d565b611ab6565b34801561061e57600080fd5b50610627611ad5565b60405161044791906152a6565b34801561064057600080fd5b5061069361064f366004615114565b6009602090815260009283526040808420909152908252902080546001909101546001600160801b0380831692600160801b90819004821692808316929190041684565b604080516001600160801b0395861681529385166020850152918416918301919091529091166060820152608001610447565b3480156106d257600080fd5b506106db611b63565b604051908152602001610447565b3480156106f557600080fd5b50466106db565b34801561070857600080fd5b506106db60055481565b34801561071e57600080fd5b506103b161072d3660046152e7565b611b80565b34801561073e57600080fd5b506103b161074d36600461534e565b611c53565b34801561075e57600080fd5b506103b161076d3660046153c5565b611e16565b34801561077e57600080fd5b506107b361078d3660046153f1565b600b602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610447565b3480156107df57600080fd5b506107b36107ee366004615145565b60086020908152600092835260408084209091529082529020546001600160801b0380821691600160801b90041682565b34801561082b57600080fd5b506103b1611e9d565b34801561084057600080fd5b506103b161084f36600461540a565b611eb1565b34801561086057600080fd5b506103b161086f3660046153f1565b611f06565b34801561088057600080fd5b5060065461049090600160b01b900460ff1681565b3480156108a157600080fd5b50600154610433906001600160a01b031681565b3480156108c157600080fd5b50600454610433906001600160a01b031681565b3480156108e157600080fd5b506103b16108f036600461546b565b611f43565b34801561090157600080fd5b506105e7610910366004614f9a565b612106565b34801561092157600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610433565b34801561095e57600080fd5b506103b161096d3660046154d6565b61216e565b34801561097e57600080fd5b506103b161098d366004615171565b612235565b34801561099e57600080fd5b506103b16109ad3660046152e7565b6122e8565b3480156109be57600080fd5b506109d26109cd36600461551d565b6123da565b6040516104479190615538565b3480156109eb57600080fd5b50610627604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610a1c57600080fd5b50600054610433906001600160a01b031681565b348015610a3c57600080fd5b506103b1610a4b366004614e87565b612498565b348015610a5c57600080fd5b50610a70610a6b366004615590565b6124ee565b60405161044791906155d1565b348015610a8957600080fd5b50600654610aa490600160b81b90046001600160401b031681565b6040516001600160401b039091168152602001610447565b348015610ac857600080fd5b50610500610ad7366004615114565b6128eb565b348015610ae857600080fd5b50610433610af73660046153f1565b6129f7565b348015610b0857600080fd5b506103b1610b17366004615688565b612a21565b348015610b2857600080fd5b506103b1610b373660046156bd565b612a33565b348015610b4857600080fd5b5060065461049090600160a01b900460ff1681565b348015610b6957600080fd5b50600354610433906001600160a01b031681565b348015610b8957600080fd5b50600754610aa4906001600160401b031681565b348015610ba957600080fd5b50610490610bb83660046156f2565b8051602081830181018051600c8252928201919093012091525460ff1681565b348015610be457600080fd5b506103b1610bf3366004614e33565b612ae5565b348015610c0457600080fd5b506103b1612be3565b348015610c1957600080fd5b506103b1610c28366004614e87565b612c6e565b348015610c3957600080fd5b506103b1610c48366004615726565b612cac565b348015610c5957600080fd5b506103b1610c6836600461575f565b612fac565b348015610c7957600080fd5b506106db610c8836600461551d565b600a6020526000908152604090205481565b610ca26132bd565b600654600160a01b900460ff161580610cbb5750600554155b80610cc7575060055442105b15610ce557604051633c21f90f60e01b815260040160405180910390fd5b6006546001600160a01b0316610d0e5760405163206d376f60e01b815260040160405180910390fd5b6001546001600160a01b0316336001600160a01b031614610d41576040516282b42960e81b815260040160405180910390fd5b6000610d80848484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506132f592505050565b6006546001600160801b03919091169150610da5906001600160a01b0316858361337f565b50610dbd6001600080516020615f2783398151915255565b505050565b610dca6133f2565b600654600160b01b900460ff1615610df557604051639a8d50df60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527fef1cd24a01120da2689be4a7980f64da049419dcd5866a87bff7b5d978a5078c906020015b60405180910390a150565b610e526133f2565b600654600754600160b81b9091046001600160401b0390811691600160401b90046001600160801b03169084161580610e9e5750612710610e9385846157c6565b6001600160401b0316115b80610ebb5750806001600160801b0316836001600160801b031611155b15610ed957604051630a6428c360e11b815260040160405180910390fd5b600780546001600160401b038481166001600160c01b031990921691909117600160401b6001600160801b0387160217909155600680548692601791610f28918591600160b81b9004166157c6565b82546101009290920a6001600160401b0381810219909316918316021790915560065460075460408051600160b81b9093049093168252600160401b90046001600160801b031660208201527f9192c0214a8cdbd582aaaecda67c8e54fb3c6c1b5762e9abf01d78bf9681cf5992500160405180910390a150505050565b610fae6133f2565b848381141580610fbe5750808214155b15610fdc5760405163a121188760e01b815260040160405180910390fd5b60005b818110156110da57858582818110610ff957610ff96157e6565b905060200201602081019061100e91906157fc565b600860008a8a85818110611024576110246157e6565b90506020020160208101906110399190614e87565b6001600160a01b03166001600160a01b03168152602001908152602001600020600086868581811061106d5761106d6157e6565b9050602002016020810190611082919061551d565b600581111561109357611093615817565b60058111156110a4576110a4615817565b8152602081019190915260400160002080546001600160801b0319166001600160801b0392909216919091179055600101610fdf565b5050505050505050565b600254839081106111085760405163017e9c7d60e41b815260040160405180910390fd5b6111106133f2565b62278d00600554611121919061582d565b421161114057604051632e9cc64960e21b815260040160405180910390fd5b6000848152600b602052604090208280158061119057508484600081811061116a5761116a6157e6565b905060200201602081019061117f91906157fc565b82546001600160801b039182169116115b156111ae57604051633be4064960e01b815260040160405180910390fd5b6000805b828110156113115780156112495786866111cd600184615840565b8181106111dc576111dc6157e6565b90506020020160208101906111f191906157fc565b6001600160801b031687878381811061120c5761120c6157e6565b905060200201602081019061122191906157fc565b6001600160801b0316101561124957604051633be4064960e01b815260040160405180910390fd5b60008881526009602052604081208189898581811061126a5761126a6157e6565b905060200201602081019061127f91906157fc565b6001600160801b03908116825260208083019390935260409182016000908120835160808101855281548085168252600160801b90819004851696820187905260019092015480851695820195909552930490911660608301819052919350916112e99190615853565b90506001600160801b03811615611307576113048185615873565b93505b50506001016111b2565b50858561131f600185615840565b81811061132e5761132e6157e6565b905060200201602081019061134391906157fc565b83546001600160801b0319166001600160801b039182161780855582918591601091611379918591600160801b90910416615873565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555050505050505050565b600d546040516000916001600160a01b0316906114569061141a906113d190339087906020016158af565b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061344d92505050565b6001600160a01b0316146114a55760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964207369676e617475726560781b60448201526064015b60405180910390fd5b600c84846040516114b79291906158e7565b9081526040519081900360200190205460ff16156115175760405162461bcd60e51b815260206004820152601a60248201527f7369676e61747572652063616e6e6f7420626520726575736564000000000000604482015260640161149c565b5060015b9392505050565b600d546040516000916001600160a01b0316906114569061141a906113d19086906020016158f7565b6115536133f2565b600654600160a81b900460ff161561157e57604051636507689f60e01b815260040160405180910390fd5b62278d0060055461158f919061582d565b42116115ae57604051632e9cc64960e21b815260040160405180910390fd5b6001600160a01b0381166115d557604051633be4064960e01b815260040160405180910390fd5b6000805b600254811015611649576000818152600b602052604090208054600160801b90046001600160801b0316801561163f57600654611629906001600160a01b0316866001600160801b03841661337f565b61163c6001600160801b0382168561582d565b93505b50506001016115d9565b506006805460ff60a81b1916600160a81b179055604080518281524260208201527f51c3c049b061ef6ad9b287a90842a19c63db19253589bf999293790b4adffa1491015b60405180910390a15050565b6006546000908190600160a01b900460ff1615806116b85750600554155b806116c4575060055442105b156116e257604051633c21f90f60e01b815260040160405180910390fd5b6006546001600160a01b031661170b5760405163206d376f60e01b815260040160405180910390fd5b6002548490811061172f5760405163017e9c7d60e41b815260040160405180910390fd5b6000858152600960209081526040808320878452825291829020825160808101845281546001600160801b038082168352600160801b9182900481169483019490945260019092015480841694820194909452920416606082015261179381613479565b6006549094506001600160401b03600160b81b90910416612710146117b95760006117da565b6007546117da9062278d0090600160401b90046001600160801b031661582d565b925050509250929050565b6006546000908190600160a01b900460ff1615806118035750600554155b8061180f575060055442105b1561182d57604051633c21f90f60e01b815260040160405180910390fd5b6006546001600160a01b03166118565760405163206d376f60e01b815260040160405180910390fd5b6000600a600085600581111561186e5761186e615817565b600581111561187f5761187f615817565b815260200190815260200160002060010180549050905061192260086000876001600160a01b03166001600160a01b0316815260200190815260200160002060008660058111156118d2576118d2615817565b60058111156118e3576118e3615817565b815260208082019290925260409081016000208151808301909252546001600160801b038082168352600160801b909104169181019190915285613533565b9250600084600581111561193857611938615817565b146119755762278d0061194c8260b4615913565b6119599062015180615913565b600554611966919061582d565b611970919061582d565b611986565b62278d00600554611986919061582d565b9150509250929050565b848314801561199e57508481145b6119ba5760405162461bcd60e51b815260040161149c9061592a565b6119c987878787878787612235565b6119d4878585612ae5565b50505050505050565b6119e56133f2565b6006546001600160a01b0316611a0e5760405163206d376f60e01b815260040160405180910390fd5b81600003611a2f57604051630a6428c360e11b815260040160405180910390fd5b80600003611a5057604051630a6428c360e11b815260040160405180910390fd5b611a68336006546001600160a01b03169030856137d9565b60058190556006805460ff60a01b1916600160a01b17905560408051838152602081018390527f5ba5bfb53e85b015ce3b9ccbb1c00fe1fbee62fe700c131b5835bed2982a73d0910161168e565b611abe613812565b611ac7826138b7565b611ad182826138ea565b5050565b600e8054611ae290615961565b80601f0160208091040260200160405190810160405280929190818152602001828054611b0e90615961565b8015611b5b5780601f10611b3057610100808354040283529160200191611b5b565b820191906000526020600020905b815481529060010190602001808311611b3e57829003601f168201915b505050505081565b6000611b6d6139a7565b50600080516020615f0783398151915290565b611b886132bd565b600654600160a01b900460ff161580611ba15750600554155b80611bad575060055442105b15611bcb57604051633c21f90f60e01b815260040160405180910390fd5b6006546001600160a01b0316611bf45760405163206d376f60e01b815260040160405180910390fd5b6000611bff856139f0565b90506000611c0f82868686613b4a565b6006546001600160801b03919091169150611c34906001600160a01b0316838361337f565b5050611c4d6001600080516020615f2783398151915255565b50505050565b6000611c5e866139f0565b6001600160a01b0381166000908152600860205260408120919250856005811115611c8b57611c8b615817565b6005811115611c9c57611c9c615817565b81526020810191909152604001600020546001600160801b031615611cfb5760405162461bcd60e51b815260206004820152601560248201527410db185a5b58589b1948185b1c9958591e481cd95d605a1b604482015260640161149c565b6000600e611d11876001600160801b0316613c6b565b611d2b876005811115611d2657611d26615817565b613c6b565b611d3446613c6b565b611d3d30613c6b565b604051602001611d51959493929190615a0b565b6040516020818303038152906040529050611d6d8484836113a6565b506001600c8585604051611d829291906158e7565b9081526040805160209281900383019020805460ff1916931515939093179092556001600160a01b038416600090815260089091529081208791876005811115611dce57611dce615817565b6005811115611ddf57611ddf615817565b8152602081019190915260400160002080546001600160801b0319166001600160801b039290921691909117905550505050505050565b611e1e6133f2565b6006546001600160a01b0316611e475760405163206d376f60e01b815260040160405180910390fd5b600654611e5e906001600160a01b0316838361337f565b604080516001600160a01b0384168152602081018390527f4353f051398deb19bad16ba01c2250d186a65981b71a1c9cd7ef86f65cd25960910161168e565b611ea56133f2565b611eaf6000613cfd565b565b611eb96133f2565b60068054821515600160a01b0260ff60a01b199091161790556040517f7d9bc7474aa5661520727056d5036520e3004dfa67eebc8ea98dd139b044aae190610e3f90831515815260200190565b611f0e6133f2565b60058190556040518181527f964c90bd7629d544979f969dfe29b81336f2721db971a878cca932fd2a5b86ad90602001610e3f565b828114611f625760405162461bcd60e51b815260040161149c9061592a565b60005b838110156120fb576000858583818110611f8157611f816157e6565b9050608002016000013590506000868684818110611fa157611fa16157e6565b9050608002016020013590506000878785818110611fc157611fc16157e6565b9050608002016040016020810190611fd991906157fc565b90506000888886818110611fef57611fef6157e6565b905060800201606001602081019061200791906157fc565b905036600088888881811061201e5761201e6157e6565b90506020028101906120309190615aa1565b915091506000600e61204188613c6b565b61204a88613c6b565b61205c886001600160801b0316613c6b565b61206e886001600160801b0316613c6b565b61207746613c6b565b61208030613c6b565b6040516020016120969796959493929190615ae7565b60405160208183030381529060405290506120b2838383611522565b506001600c84846040516120c79291906158e7565b908152604051908190036020019020805491151560ff199092169190911790555050506001949094019350611f6592505050565b50611c4d8484613d6e565b6000805b828110156121665760006121368686868581811061212a5761212a6157e6565b9050602002013561169a565b509050806001600160801b0316600003612150575061215e565b61215a8184615873565b9250505b60010161210a565b509392505050565b6121766133f2565b6001600160a01b0383166121cc5760405162461bcd60e51b815260206004820152601760248201527f5f7369676e65722073686f756c64206e6f742062652030000000000000000000604482015260640161149c565b600d80546001600160a01b0319166001600160a01b038516179055600e6121f4828483615c0d565b507f91aa25cae04634ee896b374dca60a793204082970a8967624866b381095da9b283838360405161222893929190615ccc565b60405180910390a1505050565b848314801561224357508481145b61225f5760405162461bcd60e51b815260040161149c9061592a565b60005b838110156110da576122e088888884818110612280576122806157e6565b905060200201602081019061229591906157fc565b8787858181106122a7576122a76157e6565b90506020020160208101906122bc919061551d565b8686868181106122ce576122ce6157e6565b905060200281019061074d9190615aa1565b600101612262565b6122f06132bd565b600654600160a01b900460ff1615806123095750600554155b80612315575060055442105b1561233357604051633c21f90f60e01b815260040160405180910390fd5b6006546001600160a01b031661235c5760405163206d376f60e01b815260040160405180910390fd5b6001546001600160a01b0316336001600160a01b03161461238f576040516282b42960e81b815260040160405180910390fd5b600061239d85858585613b4a565b6006546001600160801b039190911691506123c2906001600160a01b0316868361337f565b50611c4d6001600080516020615f2783398151915255565b604080518082019091526000815260606020820152600a600083600581111561240557612405615817565b600581111561241657612416615817565b8152602001908152602001600020604051806040016040529081600082015481526020016001820180548060200260200160405190810160405280929190818152602001828054801561248857602002820191906000526020600020905b815481526020019060010190808311612474575b5050505050815250509050919050565b6124a06133f2565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f3d2fa335e1b3b6a3bd407f2f0792f840681697b303f66e46d6ca77f62636632c90602001610e3f565b6060600082815b818110156125445785858281811061250f5761250f6157e6565b90506020028101906125219190615d0c565b61252f906020810190615d22565b61253a91508461582d565b92506001016124f5565b50816001600160401b0381111561255d5761255d61500d565b6040519080825280602002602001820160405280156125dc57816020015b604080516101408101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101008201819052610120820152825260001990920191018161257b5790505b5092506000805b828110156128e15760008787838181106125ff576125ff6157e6565b90506020028101906126119190615d0c565b3590506000888884818110612628576126286157e6565b905060200281019061263a9190615d0c565b612648906020810190615d22565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509394505050505b81518110156128d6576000806126ab8585858151811061269e5761269e6157e6565b602002602001015161169a565b915091506000806126d5878787815181106126c8576126c86157e6565b60200260200101516128eb565b915091506040518061014001604052808881526020018787815181106126fd576126fd6157e6565b60200260200101518152602001856001600160801b03168152602001848152602001600960008a81526020019081526020016000206000898981518110612746576127466157e6565b60209081029190910181015182528181019290925260409081016000908120546001600160801b031684528b8152600983529081208a5193909201928a908a908110612794576127946157e6565b6020026020010151815260200190815260200160002060010160009054906101000a90046001600160801b03166001600160801b03168152602001836001600160801b03168152602001828152602001600960008a8152602001908152602001600020600089898151811061280b5761280b6157e6565b6020026020010151815260200190815260200160002060000160109054906101000a90046001600160801b03166001600160801b03168152602001600960008a8152602001908152602001600020600089898151811061286d5761286d6157e6565b602090810291909101810151825281019190915260400160002060010154600160801b90046001600160801b031690528c8a6128a881615d6b565b9b50815181106128ba576128ba6157e6565b602002602001018190525050505050808060010191505061267c565b5050506001016125e3565b5050505092915050565b6006546000908190600160a01b900460ff1615806129095750600554155b80612915575060055442105b1561293357604051633c21f90f60e01b815260040160405180910390fd5b6006546001600160a01b031661295c5760405163206d376f60e01b815260040160405180910390fd5b600254849081106129805760405163017e9c7d60e41b815260040160405180910390fd5b6000858152600960209081526040808320878452825291829020825160808101845281546001600160801b038082168352600160801b918290048116948301949094526001909201548084169482019490945292041660608201526129e481613e8d565b935062278d006005546117da919061582d565b60028181548110612a0757600080fd5b6000918252602090912001546001600160a01b0316905081565b612a296133f2565b611ad18282613d6e565b612a3b6133f2565b600083815260096020908152604080832085845290915281208054839290612a6d9084906001600160801b0316615873565b82546101009290920a6001600160801b038181021990931691831602179091556000858152600960209081526040808320878452825291829020548251888152918201879052909216908201527f39fd505972d80ed67ab0942151362990601c9c1d28ca49134865138bf4d0893a9150606001612228565b612aed6132bd565b600654600160a01b900460ff161580612b065750600554155b80612b12575060055442105b15612b3057604051633c21f90f60e01b815260040160405180910390fd5b6006546001600160a01b0316612b595760405163206d376f60e01b815260040160405180910390fd5b6000612b64846139f0565b90506000612ba5828585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506132f592505050565b6006546001600160801b03919091169150612bca906001600160a01b0316838361337f565b5050610dbd6001600080516020615f2783398151915255565b612beb6133f2565b600654600160b01b900460ff1615612c1657604051639a8d50df60e01b815260040160405180910390fd5b6006805460ff60b01b1916600160b01b179055600080546001600160a01b03191681556040519081527fef1cd24a01120da2689be4a7980f64da049419dcd5866a87bff7b5d978a5078c9060200160405180910390a1565b612c766133f2565b6001600160a01b038116612ca057604051631e4fbdf760e01b81526000600482015260240161149c565b612ca981613cfd565b50565b612cb46133f2565b600654600160a01b900460ff1615612cdf5760405163f1a3368f60e01b815260040160405180910390fd5b80838114612d005760405163a121188760e01b815260040160405180910390fd5b60005b81811015612f7b57838382818110612d1d57612d1d6157e6565b9050602002810190612d2f9190615d0c565b612d3d906020810190615d22565b9050848483818110612d5157612d516157e6565b9050602002810190612d639190615d0c565b3510612dcd5760405162461bcd60e51b815260206004820152603360248201527f5374617274206379636c652073686f756c6420626520736d616c6c65722074686044820152720c2dc40d8dec6d6aae084a0e65cd8cadccee8d606b1b606482015260840161149c565b6000848483818110612de157612de16157e6565b9050602002810190612df39190615d0c565b612e01906020810190615d22565b8080602002602001604051908101604052809392919081815260200183836020028082843760009201829052509394505050505b8151811015612ee457612710828281518110612e5357612e536157e6565b60200260200101511115612e7a57604051630a6428c360e11b815260040160405180910390fd5b8015612edc5781612e8c600183615840565b81518110612e9c57612e9c6157e6565b6020026020010151828281518110612eb657612eb66157e6565b602002602001015111612edc57604051630a6428c360e11b815260040160405180910390fd5b600101612e35565b50848483818110612ef757612ef76157e6565b9050602002810190612f099190615d0c565b600a6000898986818110612f1f57612f1f6157e6565b9050602002016020810190612f34919061551d565b6005811115612f4557612f45615817565b6005811115612f5657612f56615817565b81526020019081526020016000208181612f709190615d84565b505050600101612d03565b506040517f9f3def91475ff17701f8c108d79b21c495e90c3ad9bccb265a6510720a832d7790600090a15050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b0316600081158015612ff15750825b90506000826001600160401b0316600114801561300d5750303b155b90508115801561301b575080155b156130395760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561306357845460ff60401b1916600160401b1785555b6001600160a01b0389166130c45760405162461bcd60e51b815260206004820152602260248201527f5f636c61696d546f6b656e416464726573732073686f756c64206e6f74206265604482015261020360f41b606482015260840161149c565b6001600160a01b03881661311a5760405162461bcd60e51b815260206004820152601b60248201527f5f6b7a67416464726573732073686f756c64206e6f7420626520300000000000604482015260640161149c565b6001600160a01b0387166131705760405162461bcd60e51b815260206004820152601c60248201527f5f6b75627a416464726573732073686f756c64206e6f74206265203000000000604482015260640161149c565b6001600160a01b0386166131c65760405162461bcd60e51b815260206004820152601c60248201527f5f7967707a416464726573732073686f756c64206e6f74206265203000000000604482015260640161149c565b6131ce613f06565b6131d733613f0e565b6131df613f16565b600380546001600160a01b03199081166d76a84fef008cdabe6409d2fe638b1782556004805482166c447e69651d841bd8d104bed493179055600680546001600160a01b038d811691909316179055604080516060810182528b831681528a83166020820152918916908201526132599160029190614d62565b50600080546001600160a01b0319163317905583156132b257845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b600080516020615f278339815191528054600119016132ef57604051633ee5aeb560e01b815260040160405180910390fd5b60029055565b60006133018383613f1e565b9050806001600160801b031660000361332d576040516358c45ad560e01b815260040160405180910390fd5b604080516001600160801b03831681524260208201526001600160a01b038516917f7a61a2933ee34cf5cca59f8cd920eb077db0bd64d01b5f67c1387e2e4f0a81ec910160405180910390a292915050565b6040516001600160a01b03838116602483015260448201839052610dbd91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061402e565b6001600080516020615f2783398151915255565b336134247f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614611eaf5760405163118cdaa760e01b815233600482015260240161149c565b60008060008061345d8686614091565b92509250925061346d82826140de565b50909150505b92915050565b600654600090600160b81b90046001600160401b031680820361349f5750600092915050565b61271081036134d9576007546134c99062278d0090600160401b90046001600160801b031661582d565b4211156134d95750600092915050565b825160408401516001600160801b03821615806135085750816001600160801b0316816001600160801b031610155b1561351857506000949350505050565b61352a61352483614197565b82614213565b95945050505050565b81516020830151600091906001600160801b03821615806135665750816001600160801b0316816001600160801b031610155b1561357657600092505050613473565b600084600581111561358a5761358a615817565b036135ba5762278d006005546135a0919061582d565b4211156135b257600092505050613473565b509050613473565b6000600a60008660058111156135d2576135d2615817565b60058111156135e3576135e3615817565b8152602001908152602001600020604051806040016040529081600082015481526020016001820180548060200260200160405190810160405280929190818152602001828054801561365557602002820191906000526020600020905b815481526020019060010190808311613641575b5050505050815250509050600081602001515190508060000361368b57604051630a6428c360e11b815260040160405180910390fd5b62278d0061369a8260b4615913565b6136a79062015180615913565b6005546136b4919061582d565b6136be919061582d565b4211156136d2576000945050505050613473565b600062015180600554426136e69190615840565b6136f09190615e4a565b905060006136ff60b483615e4a565b9050600188600581111561371557613715615817565b148015613722575060b482105b156137365760009650505050505050613473565b6000600589600581111561374c5761374c615817565b1415801561375b575060048210155b9050600060058a600581111561377357613773615817565b148015613781575060068310155b9050818061378c5750805b156137aa5761379b8888614213565b98505050505050505050613473565b6137ca6137c487878b6137be88600161582d565b89614240565b88614213565b9b9a5050505050505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611c4d9186918216906323b872dd906084016133ac565b306001600160a01b037f0000000000000000000000004352291913aeb5009e8da7b75998ad03d80d4ad216148061389957507f0000000000000000000000004352291913aeb5009e8da7b75998ad03d80d4ad26001600160a01b031661388d600080516020615f07833981519152546001600160a01b031690565b6001600160a01b031614155b15611eaf5760405163703e46dd60e11b815260040160405180910390fd5b6000546001600160a01b0316336001600160a01b031614612ca9576040516282b42960e81b815260040160405180910390fd5b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613944575060408051601f3d908101601f1916820190925261394191810190615e5e565b60015b61396c57604051634c9c8ce360e01b81526001600160a01b038316600482015260240161149c565b600080516020615f07833981519152811461399d57604051632a87526960e21b81526004810182905260240161149c565b610dbd83836142e1565b306001600160a01b037f0000000000000000000000004352291913aeb5009e8da7b75998ad03d80d4ad21614611eaf5760405163703e46dd60e11b815260040160405180910390fd5b60006001600160a01b038216613a065733613473565b6004546000906001600160a01b031663e839bd53336040516001600160e01b031960e084901b1681526001600160a01b039182166004820152908616602482015260006044820152606401602060405180830381865afa158015613a6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a929190615e77565b90508015613aa1575090919050565b6003546001600160a01b0316639c395bc2336040516001600160e01b031960e084901b1681526001600160a01b0391821660048201529086166024820152604401602060405180830381865afa158015613aff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b239190615e77565b905080613b4357604051632d618d8160e21b815260040160405180910390fd5b5090919050565b6000613b57858585614337565b90508115613bed576001600160a01b03851660009081526008602090815260408083208380528252808320815180830190925280546001600160801b038082168452600160801b9091041692820192909252909190613bb69082613533565b90506001600160801b03811615613bea5781546001600160801b03600160801b808304821684018216029116178255918201915b50505b806001600160801b0316600003613c17576040516358c45ad560e01b815260040160405180910390fd5b604080516001600160801b03831681524260208201526001600160a01b038716917f6bae97ad4b952cdee3720ed0ea228b5eb79d5adb4475c05d9f3f6539627d8e2a910160405180910390a2949350505050565b60606000613c78836145fd565b60010190506000816001600160401b03811115613c9757613c9761500d565b6040519080825280601f01601f191660200182016040528015613cc1576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084613ccb57509392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60005b81811015610dbd576000838383818110613d8d57613d8d6157e6565b9050608002016000013590506000848484818110613dad57613dad6157e6565b9050608002016020013590506000858585818110613dcd57613dcd6157e6565b9050608002016040016020810190613de591906157fc565b90506000868686818110613dfb57613dfb6157e6565b9050608002016060016020810190613e1391906157fc565b60008581526009602090815260408083208784528252918290206001600160801b03848116600160801b029087161790558151878152908101869052600197909701969192507f6765cbdf175c095017f6961e716b812497f2e6022d292faa2aaf88591434190c910160405180910390a150505050613d71565b60208101516060820151600091906001600160801b0382161580613ec35750816001600160801b0316816001600160801b031610155b15613ed2575060009392505050565b62278d00600554613ee3919061582d565b421115613ef4575060009392505050565b613efe8282614213565b949350505050565b6133de6146d5565b612c766146d5565b611eaf6146d5565b6000805b8251811015614027576001600160a01b038416600090815260086020526040812084518290869085908110613f5957613f596157e6565b60200260200101516005811115613f7257613f72615817565b6005811115613f8357613f83615817565b815260208082019290925260409081016000908120825180840190935280546001600160801b038082168552600160801b9091041693830193909352865192935091613fe99190879086908110613fdc57613fdc6157e6565b6020026020010151613533565b90506001600160801b0381161561401d5781546001600160801b03600160801b808304821684018216029116178255928301925b5050600101613f22565b5092915050565b60006140436001600160a01b0384168361471e565b905080516000141580156140685750808060200190518101906140669190615e77565b155b15610dbd57604051635274afe760e01b81526001600160a01b038416600482015260240161149c565b600080600083516041036140cb5760208401516040850151606086015160001a6140bd8882858561472c565b9550955095505050506140d7565b50508151600091506002905b9250925092565b60008260038111156140f2576140f2615817565b036140fb575050565b600182600381111561410f5761410f615817565b0361412d5760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561414157614141615817565b036141625760405163fce698f760e01b81526004810182905260240161149c565b600382600381111561417657614176615817565b03611ad1576040516335e2f38360e21b81526004810182905260240161149c565b600754600090600160401b90046001600160801b031642106141f5576006546141f090612710906141d890600160b81b90046001600160401b031685615e94565b6001600160801b03166141eb9190615e4a565b6147fb565b613473565b60075461347390612710906141d8906001600160401b031685615e94565b6000816001600160801b0316836001600160801b031611156142375781830361151b565b60009392505050565b84516000908310156142545750600061352a565b8483111561426357508261352a565b600085841461428f5786602001518481518110614282576142826157e6565b6020026020010151614293565b6127105b90506142d68588602001516001876142ab9190615840565b815181106142bb576142bb6157e6565b60200260200101518360b4876142d19190615ebf565b614825565b979650505050505050565b6142ea826148c7565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561432f57610dbd828261492c565b611ad1614999565b6000805b8281101561216657366000858584818110614358576143586157e6565b905060200281019061436a9190615ed3565b614378906020810190615d22565b91509150366000878786818110614391576143916157e6565b90506020028101906143a39190615ed3565b6143b1906040810190615d22565b915091503660008989888181106143ca576143ca6157e6565b90506020028101906143dc9190615ed3565b6143ea906060810190615d22565b90925090508483811415806143ff5750808214155b1561441d5760405163a121188760e01b815260040160405180910390fd5b60008b8b8a818110614431576144316157e6565b90506020028101906144439190615ed3565b35905060005b828110156145e9576000878783818110614465576144656157e6565b905060200201602081019061447a919061540a565b15614519576144a28f848c8c86818110614496576144966157e6565b905060200201356149b8565b90506001600160801b0381161561451957600083815260096020526040812082918c8c868181106144d5576144d56157e6565b6020908102929092013583525081019190915260400160002060010180546001600160801b031981166001600160801b0391821693909301169190911790559a8b019a5b85858381811061452b5761452b6157e6565b9050602002016020810190614540919061540a565b156145e0576145688f848c8c8681811061455c5761455c6157e6565b90506020020135614afc565b90506001600160801b038116156145e057600083815260096020526040812082918c8c8681811061459b5761459b6157e6565b6020908102929092013583525081019190915260400160002060010180546001600160801b03600160801b8083048216909401811690930292169190911790559a8b019a5b50600101614449565b50886001019850505050505050505061433b565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061463c5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614668576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061468657662386f26fc10000830492506010015b6305f5e100831061469e576305f5e100830492506008015b61271083106146b257612710830492506004015b606483106146c4576064830492506002015b600a83106134735760010192915050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16611eaf57604051631afcd79f60e31b815260040160405180910390fd5b606061151b83836000614c40565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561476757506000915060039050826147f1565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156147bb573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166147e7575060009250600191508290506147f1565b9250600091508190505b9450945094915050565b6000600160801b82106148215760405163ede341c760e01b815260040160405180910390fd5b5090565b60008160000361485957614852612710614848866001600160801b038916615913565b6141eb9190615e4a565b9050613efe565b61352a60b46127108461486c8888615840565b61487f906001600160801b038b16615913565b6148899190615913565b6148939190615e4a565b61489d9190615e4a565b6127106148b3876001600160801b038a16615913565b6148bd9190615e4a565b6141eb919061582d565b806001600160a01b03163b6000036148fd57604051634c9c8ce360e01b81526001600160a01b038216600482015260240161149c565b600080516020615f0783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161494991906158f7565b600060405180830381855af49150503d8060008114614984576040519150601f19603f3d011682016040523d82523d6000602084013e614989565b606091505b509150915061352a858383614cdd565b3415611eaf5760405163b398979f60e01b815260040160405180910390fd5b600254600090839081106149df5760405163017e9c7d60e41b815260040160405180910390fd5b846001600160a01b0316600285815481106149fc576149fc6157e6565b6000918252602090912001546040516331a9108f60e11b8152600481018690526001600160a01b0390911690636352211e90602401602060405180830381865afa158015614a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a729190615ee9565b6001600160a01b031614614a98576040516282b42960e81b815260040160405180910390fd5b6000848152600960209081526040808320868452825291829020825160808101845281546001600160801b038082168352600160801b9182900481169483019490945260019092015480841694820194909452920416606082015261352a90613479565b60025460009083908110614b235760405163017e9c7d60e41b815260040160405180910390fd5b846001600160a01b031660028581548110614b4057614b406157e6565b6000918252602090912001546040516331a9108f60e11b8152600481018690526001600160a01b0390911690636352211e90602401602060405180830381865afa158015614b92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614bb69190615ee9565b6001600160a01b031614614bdc576040516282b42960e81b815260040160405180910390fd5b6000848152600960209081526040808320868452825291829020825160808101845281546001600160801b038082168352600160801b9182900481169483019490945260019092015480841694820194909452920416606082015261352a90613e8d565b606081471015614c655760405163cd78605960e01b815230600482015260240161149c565b600080856001600160a01b03168486604051614c8191906158f7565b60006040518083038185875af1925050503d8060008114614cbe576040519150601f19603f3d011682016040523d82523d6000602084013e614cc3565b606091505b5091509150614cd3868383614cdd565b9695505050505050565b606082614cf257614ced82614d39565b61151b565b8151158015614d0957506001600160a01b0384163b155b15614d3257604051639996b31560e01b81526001600160a01b038516600482015260240161149c565b508061151b565b805115614d495780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b828054828255906000526020600020908101928215614db7579160200282015b82811115614db757825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190614d82565b506148219291505b808211156148215760008155600101614dbf565b6001600160a01b0381168114612ca957600080fd5b60008083601f840112614dfa57600080fd5b5081356001600160401b03811115614e1157600080fd5b6020830191508360208260051b8501011115614e2c57600080fd5b9250929050565b600080600060408486031215614e4857600080fd5b8335614e5381614dd3565b925060208401356001600160401b03811115614e6e57600080fd5b614e7a86828701614de8565b9497909650939450505050565b600060208284031215614e9957600080fd5b813561151b81614dd3565b80356001600160801b0381168114614ebb57600080fd5b919050565b60008060408385031215614ed357600080fd5b82356001600160401b0381168114614eea57600080fd5b9150614ef860208401614ea4565b90509250929050565b60008060008060008060608789031215614f1a57600080fd5b86356001600160401b0380821115614f3157600080fd5b614f3d8a838b01614de8565b90985096506020890135915080821115614f5657600080fd5b614f628a838b01614de8565b90965094506040890135915080821115614f7b57600080fd5b50614f8889828a01614de8565b979a9699509497509295939492505050565b600080600060408486031215614faf57600080fd5b8335925060208401356001600160401b03811115614e6e57600080fd5b60008083601f840112614fde57600080fd5b5081356001600160401b03811115614ff557600080fd5b602083019150836020828501011115614e2c57600080fd5b634e487b7160e01b600052604160045260246000fd5b60006001600160401b038084111561503d5761503d61500d565b604051601f8501601f19908116603f011681019082821181831017156150655761506561500d565b8160405280935085815286868601111561507e57600080fd5b858560208301376000602087830101525050509392505050565b6000806000604084860312156150ad57600080fd5b83356001600160401b03808211156150c457600080fd5b6150d087838801614fcc565b909550935060208601359150808211156150e957600080fd5b508401601f810186136150fb57600080fd5b61510a86823560208401615023565b9150509250925092565b6000806040838503121561512757600080fd5b50508035926020909101359150565b803560068110614ebb57600080fd5b6000806040838503121561515857600080fd5b823561516381614dd3565b9150614ef860208401615136565b60008060008060008060006080888a03121561518c57600080fd5b873561519781614dd3565b965060208801356001600160401b03808211156151b357600080fd5b6151bf8b838c01614de8565b909850965060408a01359150808211156151d857600080fd5b6151e48b838c01614de8565b909650945060608a01359150808211156151fd57600080fd5b5061520a8a828b01614de8565b989b979a50959850939692959293505050565b600082601f83011261522e57600080fd5b61151b83833560208501615023565b6000806040838503121561525057600080fd5b823561525b81614dd3565b915060208301356001600160401b0381111561527657600080fd5b6119868582860161521d565b60005b8381101561529d578181015183820152602001615285565b50506000910152565b60208152600082518060208401526152c5816040850160208701615282565b601f01601f19169190910160400192915050565b8015158114612ca957600080fd5b600080600080606085870312156152fd57600080fd5b843561530881614dd3565b935060208501356001600160401b0381111561532357600080fd5b61532f87828801614de8565b9094509250506040850135615343816152d9565b939692955090935050565b60008060008060006080868803121561536657600080fd5b853561537181614dd3565b945061537f60208701614ea4565b935061538d60408701615136565b925060608601356001600160401b038111156153a857600080fd5b6153b488828901614fcc565b969995985093965092949392505050565b600080604083850312156153d857600080fd5b82356153e381614dd3565b946020939093013593505050565b60006020828403121561540357600080fd5b5035919050565b60006020828403121561541c57600080fd5b813561151b816152d9565b60008083601f84011261543957600080fd5b5081356001600160401b0381111561545057600080fd5b6020830191508360208260071b8501011115614e2c57600080fd5b6000806000806040858703121561548157600080fd5b84356001600160401b038082111561549857600080fd5b6154a488838901615427565b909650945060208701359150808211156154bd57600080fd5b506154ca87828801614de8565b95989497509550505050565b6000806000604084860312156154eb57600080fd5b83356154f681614dd3565b925060208401356001600160401b0381111561551157600080fd5b614e7a86828701614fcc565b60006020828403121561552f57600080fd5b61151b82615136565b60208082528251828201528281015160408084015280516060840181905260009291820190839060808601905b808310156155855783518252928401926001929092019190840190615565565b509695505050505050565b600080602083850312156155a357600080fd5b82356001600160401b038111156155b957600080fd5b6155c585828601614de8565b90969095509350505050565b602080825282518282018190526000919060409081850190868401855b8281101561567b578151805185528681015187860152858101516001600160801b03908116878701526060808301519087015260808083015182169087015260a08083015182169087015260c08083015182169087015260e080830151908701526101008083015182169087015261012091820151169085015261014090930192908501906001016155ee565b5091979650505050505050565b6000806020838503121561569b57600080fd5b82356001600160401b038111156156b157600080fd5b6155c585828601615427565b6000806000606084860312156156d257600080fd5b83359250602084013591506156e960408501614ea4565b90509250925092565b60006020828403121561570457600080fd5b81356001600160401b0381111561571a57600080fd5b613efe8482850161521d565b6000806000806040858703121561573c57600080fd5b84356001600160401b038082111561575357600080fd5b6154a488838901614de8565b6000806000806080858703121561577557600080fd5b843561578081614dd3565b9350602085013561579081614dd3565b925060408501356157a081614dd3565b9150606085013561534381614dd3565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03818116838216019080821115614027576140276157b0565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561580e57600080fd5b61151b82614ea4565b634e487b7160e01b600052602160045260246000fd5b80820180821115613473576134736157b0565b81810381811115613473576134736157b0565b6001600160801b03828116828216039080821115614027576140276157b0565b6001600160801b03818116838216019080821115614027576140276157b0565b600081516158a5818560208601615282565b9290920192915050565b6bffffffffffffffffffffffff198360601b168152600082516158d9816014850160208701615282565b919091016014019392505050565b8183823760009101908152919050565b60008251615909818460208701615282565b9190910192915050565b8082028115828204841417613473576134736157b0565b60208082526019908201527f696e636f6e73697374616e7420696e707574206c656e67746800000000000000604082015260600190565b600181811c9082168061597557607f821691505b60208210810361599557634e487b7160e01b600052602260045260246000fd5b50919050565b600081546159a881615961565b600182811680156159c057600181146159d5576128e1565b60ff19841687528215158302870194506128e1565b8560005260208060002060005b858110156159fb5781548a8201529084019082016159e2565b5050509590910195945050505050565b6000615a17828861599b565b652d736362752d60d01b81528651615a36816006840160208b01615282565b808201915050602d60f81b8060068301528651615a5a816007850160208b01615282565b600792019182018190528551615a77816008850160208a01615282565b60089201918201528351615a92816009840160208801615282565b01600901979650505050505050565b6000808335601e19843603018112615ab857600080fd5b8301803591506001600160401b03821115615ad257600080fd5b602001915036819003821315614e2c57600080fd5b6000615af3828a61599b565b662d736e6362752d60c81b81528851615b13816007840160208d01615282565b808201915050602d60f81b8060078301528851615b37816008850160208d01615282565b600892019182018190528751615b54816009850160208c01615282565b600992019182018190528651615b7181600a850160208b01615282565b600a9201918201528451615b8c81600b840160208901615282565b01615b9d600b8201602d60f81b9052565b615baa600c820185615893565b9a9950505050505050505050565b5b81811015611ad15760008155600101615bb9565b601f821115610dbd57806000526020600020601f840160051c81016020851015615bf45750805b615c06601f850160051c830182615bb8565b5050505050565b6001600160401b03831115615c2457615c2461500d565b615c3883615c328354615961565b83615bcd565b6000601f841160018114615c6c5760008515615c545750838201355b600019600387901b1c1916600186901b178355615c06565b600083815260209020601f19861690835b82811015615c9d5786850135825560209485019460019092019101615c7d565b5086821015615cba5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b60008235603e1983360301811261590957600080fd5b6000808335601e19843603018112615d3957600080fd5b8301803591506001600160401b03821115615d5357600080fd5b6020019150600581901b3603821315614e2c57600080fd5b600060018201615d7d57615d7d6157b0565b5060010190565b813581556001808201602080850135601e19863603018112615da557600080fd5b850180356001600160401b03811115615dbd57600080fd5b6020820191508060051b3603821315615dd557600080fd5b600160401b811115615de957615de961500d565b835481855580821015615e0f57846000526020600020615e0d828201848301615bb8565b505b50600093845260208420935b818110156110da57823585820155918301918501615e1b565b634e487b7160e01b600052601260045260246000fd5b600082615e5957615e59615e34565b500490565b600060208284031215615e7057600080fd5b5051919050565b600060208284031215615e8957600080fd5b815161151b816152d9565b6001600160801b03818116838216028082169190828114615eb757615eb76157b0565b505092915050565b600082615ece57615ece615e34565b500690565b60008235607e1983360301811261590957600080fd5b600060208284031215615efb57600080fd5b815161151b81614dd356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220416129534941c70f489eae7cce5fb2964b9c1c9534f12c92fbff060f2ad8f0a164736f6c6343000818003300582102e28a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c648ffffffffffffffff05581e035c7959e7f53983bb632a8c0700d6f023e5ec8b700f650903e1caac31800701195f7c031baa25f38c0b2d8d75e3ac57217f6520c076b4026a1587d96ec6a8805169bc6603ad967243822971acf2af4801407900571d523db8373a65cbca9842a99317a26705581e03dd1f8b5b7e39b22e2fa1ee22cb71e558752963a5d2a4b2947675181fb0040205581e03a451f01251e5154f32d77b3bbd0d0365436d35870a6d5fa96dad2bd3700c024724e0fa81af3b850219debf032ea1a4e72827844508bfba55916f23baf3f270f3e9697db2b51d365709cb509203519b9a7faf9f3168596c61939ea45b1b5bb3248a231a60215640a0857c690c86033a9ddca3dc16936c5364648629684b540d025d510794faa1bc51231a0f1e1c590219ffff03061df788eb43c059c646a3e681ca61bd9dde19ab09e444e6d10ebd3460a770eb03fc8e55a57a3b9d9ea6e6d84f06d279e877de1421c67b598f4bc17a6ffccce4a70302ad84331360ffe62315c50f1f1f05b4afa94908c029ad8a33126043ac06884503ed54765af9c8417488c8ead388635d1647002266e8369ebed961f4bf4dd1239403f1b46a2a7db29406676505aa9b196784070dc67a991b10db4fb3304c10f4101403d5f9c754923296a38bb6794ea4a26e065a9383db1fc83d761cff3094996714d4030c097705c1012c5bbf8946bb457e328b94df647ed0502a85ebf0e099e3648e1303aeeeeae13204d4b4e1f225d0d60b379f3350e788d9a37e630e85a42bced4b71803210f09d9d8106f280fba9956f5af5a75e30f7e4dadf21d95aaf2721288794ebd03e9049ec6e671503a27054c147903e2e8cbc2dc04d30e278af0e744b12b44bf390369e22d4f19d1907c79fad079a78fdd1a02e4e30887f1866c91de5f73e8d516a603e2f3b8cc0c0bcdb744cde0e38c470888106177dda5e3101622dfdd9a43a4372c033d08153c4492d3f9028f29b2d19e2233f4b7a6564d18ebe4998a6704014c061a0219ffff0311646418a49f2c1ddfbc64783e4f5139bd82853814483179062e541e350cf92b0349933656db440e8f61d9b3e529b59668bbf4445104d1861760b4a946dd0fc1bf0374335a75996d23da80e5f43fd076a2ad605767118931dfb4b1ab2764f4d2871c03d208ca983f6d81cc3f07911bfd256a05c829e2baab2a250574b40064a3cb3b9d03c9b0e0699d322a6d78c21f1dac41730be7b3201c1c05ec06f34b33a7b59dbe32035b9c850d5cd6b9288a948ff7a068debe4f2383a82706660751025c10bc7cfbad03fec8db68d388a6dfea6c28f335cac6c95ea500b14cef33eca0ee6fdbc51dbe0903bcde022995f446fd25213971b6346c1bdf6d7e7d332b79da9c9603ebf318b6fd03e5691c061fc34c9abb2d39ab4cbe94dc6f62086b6153ae04c7edcd7cce2b192903fbb4ffc14f18bec23bbfec9d83b9b2aa075fb81dfb96715850751571e822f7600314018971bb41f69f26ee8614ab72c0eeb8b871db7cc3d477e6893b7e6d373ff5037290f4c7c294fcc9b4bb854725d57870daaec5dcdaece6bcd94246105f52dc4503620ba1f3b71317386f848199a1daa962def6d15a44604205b5594167263402fe03220135a5ae3338bc422a6dd7666d0dc7da9af994e8bf093abe7eb32e852e395a034b7f9186a0beb6fc0919220f601aac2048d98e28f844d4c1ebe194744581f9090219ffff0347ab63dcb075e53be8eee8773eed7fe5d7cc0b22bff15c3f21813e132393cdae03ba79466e786cc1469aa6bd355d837e45a04561a911854686590f635540f9f2df03d37e3ae7df52df0cd704f10af62fdf7987554ba253062467598e6c0a725583430306043bf71da3a73ee3e821dc1ac5333b3976ea877b38391e244060f20d4295660366e537377eb72d834e491c926415e938afd2deab5985d6cf1a793b3388f637c803fb007b4587c621d49d75b8bcd0fbfc74ee5f4ecacebf48e873f6bbefbf961bd103cb4bae934e9486970eb00f00a8ad34be405709aea88532f9f60d150ec35eb05e033c5d16072f7d35c56d60b91e70b1899ff3dd85a3eaa5110fb21ca5dc9645b0a003727789ffac3b271ee4da0e68e1f58ee4da82021be8b2b2cf15c9f87c8d4268ca03fab2b41c4d825b444779e4f56ca6d50ac01022843bb72b752ab215a26178f3fd03d8554d7f3f36caa70e5d1b83eb8c7b21864c9caf66d8f5ebee9f71dad303b20603c84fdce8e0896643ad1b6cc095e0c1202819aed3cf159f8218e88a8c0bd2c23b03951e89f29a3ff064c7db8927c7a89ddded8fae867c0adb4f7c819fd901fd5056032f35e5b4049fce45bee089a4f86361c56407d076bf9959ac1f1c17e0dce87fd803c825b4730c8047a6c0a7f1ea27816e8a6190ea3424c9c990338410acbd1b463c03eefd90053358da2c15ead3754236ba881d41843da32f01faa4a03987758879ac0327f88052c90e4f6cba4b6433475b586a4113b3824aa7361a5283c291c6a57e2d03a139d7601063fabb45c5c1965201104835ff2a324d48bed81f9319273e278e5003e28182f2730b7910656b8586b4e7f0b7609d9da1881da8a9457c6e0179ffc0b503189af9b210a8e5f72339c98cb88fe69eba3b26c86748732161d7b8222b653bd00398bd549656d5b0b90c4ac6b0c79198c09eb73b9ab7f976b4b4096e88e56c582d03ce7ebc9597ce5a6469e15eef34a593a302eee7e9df176f458f071ca1a65970a9039c5ec561f3baa1f864c43d4843a340a76d631f38102902a653ba544ad0ffa0ab034a990956177e5f3140a590408434e12dcd14fc4abeb3acc23b14b10c47ea038403d087802c34902f1fd125610b07e202283660dedbf36b59e1bc9fa3d03cdf3c7503cbe4bc950c89a64a9b725e3e78d98a268c46d4f33bd79ff46201614fff2a812805581e035c296199b318b61591bc41ca1629ba95399c5cef73e6e933ca3f4ab8b008471c1bec0d76800003f30a5770d65b7040df18f01c479cddf88e920732aec54ac099c9a05e19ce6de301410305581e039a9edfe9e596372aaae400f0e31f60c0966051bce9bbb87178cbd524d0040205581e03bbf1279f3eda11d39be617fcd67a5864c8a28df8dfaa0c230f71b90d600c0a4703bd30ca8c7b0005581e038a7940d5d69b719046914a9d55058fcde0d196df9e655de815f70453600c0246930ec383404005581e032abcbf4a3247c7fd09edce96986aafc7643414c7edcc251b270cc91580040205581d023a77cb70c8d286f7ba854f6a233ae663f88165afc9a4995e9725b9340c064725778b20a9ee7605581d027158fbc68c2207627d73ecd73c6c7078bcc418e4b528397e71900a460c0d490a7bfc8da3d37f278405581d02caa1f940372eb510014daf95a8beb3e35b1566590326248e276c514904010219211005581e03f2c1c35e91205451e953edb2b114486c3992f96ca6ddd659770b73b210040105581e03394487abd1e3e5ad5526216839f64eefb7f0b3fa2d615df6164e1d59d0040305581e03d0b4cef7fcdb75598c1b215d1f6f4e08db79aff87883b5deb4a7031270040202192ede035b11c58aef390b3accff5b7302681f9680bfcb82e4505618f38199ce314691fa035cbf32f8e9fd06fc0d49283b53eedbd047b65109b1b8c023757a1f71d9622739037e8a7c9ca2a2b445694cad3b010ecf82d4a39fb2d6443bf9a67119978a4e3875033db317a5d6570c74596b1ab7a1aa45788edcf49bda2dbcc76fe3da9cb9240e0003fbe272a26a6da6d9e88f461996aae6108497bc7859df60c1d84689788fd53c3b03d6426ac186e4c6738156574192aed0b4aad26d3cafd04ce52bc0c198ee7d9436038d6c34a272c2ee0ed34bc4a22e9becda1a2f80956ca8c1d09c01f9da2f09b75303da1e46ae9d0d97d0e8a90107a85f355ec508b2ee33b4c4c2acfa78dce03d106f03dfd1ee1c6a8ef2a40d2fee40beeb6e441f1050c99ebc3c0a7ec481dadec7e44f0219ffff03db872b258d91f4519985dfb3e9df56d0daadb656e7f7d2a446a95444002f777c031d681d4da6b6e1cfd49f0fb04c4ac4ad23e7faea106184b7ce61fdf391a4389a0375a275a8a78ab00273b786c7d913451fc6b943d185a00f3835824f01a32c341f03c71a684de041581b71e10d769471ff15cdaf95ce358f2e94322030f7cfbdc98903db69fca90d025a06751cbc064454eee0b8e5eeb971ea04d6a04049ef1fefcf4803361e4ebff7a000f61eb6e842bfb712c48c7b2cece5cc13c9f1722e252711fe30035cfa73ddfae7d85191977b1ca3f02c1827afc3cd0216907622f8d2959e2689b60344832a4125e223f5ed77fe63cfcebdfe8426bbe2485a530c9b1d1eba14b21c4d03f761ad54fdde2a71befeb8b8b25414db75112676f6d6f74c9b0f43556de8572603685e48063a02d7604d5953b9da9dae353933dd0b35a136293531c5813ad8ce0f0219ffff0345bf49030f65ea830d4197d8606c76bf58e6d4b9dea028f149cdd07c7013463a0219ffff03150c22fccbf98f495a8ae9479e5feee1dd4c22b527b08f272f0e983ea2c9aa6303558165dd9d23d2c1c0fa7d134a594a076172a0ea6bce725fbf514bcc4208e7ae037c95fbac0036f3d20b02c0d7c8585a6245f6161326d8c9dee19d854d18d9d59703a860214fb341e00000b8fc0d5124618fb7807f322c87de2013f5075300f9a8290312824482a9a77618471985e3a9f005df510ff7d7b4ef35f5511675ebfc101e7f03b2b2f1f4ee2da5adedcbccfdb283c1a909fe4c1b7622b53ed4a97206de52c5b10360363db5abbfad7066feeea5cbacc1c4a5353088c3a1d06f7ebcd9d2b028817c035706b60e608c9e2c399834f477fc68b354c48f7f362bae846fa7669ffc814c4303657dbc7cbce5667c5652d9e3caa893357331ca66049197d41dcd9dd19a270c4c0311bc28e0d30fd6d9311dc7de00b302ad4a0486c64ed74e226a7c12b4338e8897032d17f66af1d7a3e1ef7e5f7ac5c8dc07b3919ebc99c02011b497f1d2c54368cc033184fe8fb6009e9cce536ed0a4a6ef5bf7bc336bbdb2f56fd0ba46659c866c74036c7d068036587ffa3c6177472cc3e7cdaa944042d3bbd02b2a30ccead78db03f0348b53184754531a5b8e4b95b7bd0e43f3da47f2a1f342427998c4fe84178dd6203cfc6ea37bbd552f1d03cf7ecf5143603c58a9cf4c6002dab949416263679db6b037685fb94cd248103fc933cfbb8650d845d4db93412e55905b0d2612f56ff9fa103cd07982764be439fe0ecccfb73711db914d60628519ab005413c47814ab6b3f5038097f50549ffddaa7534d1c38e6ba964d13fcec408b5ed28586062ccc9655ec203b1bee2cf27f0dcb1bf0dfe3a078a0a6b873768add3800aaa445fc26f8024519803f72b4fda68c73d7bf4f2d58a56981fa10c2143ddee65792f6d106e598d2ad189045934b7608060405234801561001057600080fd5b50600436106101985760003560e01c806379ba5097116100e3578063ad7a22f81161008c578063f2fde38b11610066578063f2fde38b146104fa578063f47a86901461050d578063ff888fb11461052057600080fd5b8063ad7a22f8146104b4578063afcb95d7146104c7578063b1dc65a4146104e757600080fd5b80638da5cb5b116100bd5780638da5cb5b146104645780638db94e441461048c578063a7206cd61461049457600080fd5b806379ba50971461042457806381ff70481461042c5780638456cb591461045c57600080fd5b806332048875116101455780635c975abb1161011f5780635c975abb146103b4578063666cab8d146103d05780637437ff9f146103e557600080fd5b806332048875146103795780633f4ba83a1461039a5780634120fccd146103a257600080fd5b8063181f5a7711610176578063181f5a77146103085780631ef381741461035157806329b980e41461036657600080fd5b806306285c691461019d5780630a6cd30d146102c057806310c374ed146102d8575b600080fd5b6102aa60408051608081018252600080825260208201819052918101829052606081019190915260405180608001604052807f00000000000000000000000000000000000000000000000045849994fc9c7b1567ffffffffffffffff1681526020017f000000000000000000000000000000000000000000000000475f3a7c1964d24967ffffffffffffffff1681526020017f000000000000000000000000190bce84cf2d500b878966f4cf98a50d78f2675e73ffffffffffffffffffffffffffffffffffffffff1681526020017f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff16815250905090565b6040516102b79190612656565b60405180910390f35b6102c8610533565b60405190151581526020016102b7565b60095468010000000000000000900464ffffffffff165b60405167ffffffffffffffff90911681526020016102b7565b6103446040518060400160405280601181526020017f436f6d6d697453746f726520312e322e3000000000000000000000000000000081525081565b6040516102b79190612713565b61036461035f366004612966565b6105ca565b005b610364610374366004612a33565b610deb565b61038c610387366004612aa6565b610e37565b6040519081526020016102b7565b610364610f2d565b60095467ffffffffffffffff166102ef565b6009546d0100000000000000000000000000900460ff166102c8565b6103d8610f93565b6040516102b79190612b6b565b604080516020808201835260009091528151808201835260085473ffffffffffffffffffffffffffffffffffffffff16908190529151918252016102b7565b610364611002565b6004546002546040805163ffffffff808516825264010000000090940490931660208401528201526060016102b7565b6103646110ff565b60005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102b7565b6102c861116f565b61038c6104a2366004612b7e565b6000908152600a602052604090205490565b6103646104c2366004612b97565b611226565b6040805160018152600060208201819052918101919091526060016102b7565b6103646104f5366004612bb2565b611269565b610364610508366004612c97565b611889565b61036461051b366004612cb4565b61189d565b6102c861052e366004612b7e565b61193c565b60007f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff1663397796f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190612cf6565b15905090565b855185518560ff16601f831115610642576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f746f6f206d616e79207369676e6572730000000000000000000000000000000060448201526064015b60405180910390fd5b806000036106ac576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f66206d75737420626520706f73697469766500000000000000000000000000006044820152606401610639565b81831461073a576040517f89a61989000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6f7261636c6520616464726573736573206f7574206f6620726567697374726160448201527f74696f6e000000000000000000000000000000000000000000000000000000006064820152608401610639565b610745816003612d47565b83116107ad576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661756c74792d6f7261636c65206620746f6f206869676800000000000000006044820152606401610639565b6107b5611a10565b6107be86611a93565b60065460005b818110156108ba5760056000600683815481106107e3576107e3612d5e565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556007805460059291908490811061085357610853612d5e565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556108b381612d8d565b90506107c4565b50895160005b81811015610c935760008c82815181106108dc576108dc612d5e565b60200260200101519050600060028111156108f9576108f9612dc5565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260056020526040902054610100900460ff16600281111561093857610938612dc5565b1461099f576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f7265706561746564207369676e657220616464726573730000000000000000006044820152606401610639565b73ffffffffffffffffffffffffffffffffffffffff81166109ec576040517fd6c62c9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915260ff83168152602081016001905273ffffffffffffffffffffffffffffffffffffffff821660009081526005602090815260409091208251815460ff9091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082168117835592840151919283917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001617610100836002811115610a9c57610a9c612dc5565b021790555090505060008c8381518110610ab857610ab8612d5e565b6020026020010151905060006002811115610ad557610ad5612dc5565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260056020526040902054610100900460ff166002811115610b1457610b14612dc5565b14610b7b576040517f89a6198900000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f7265706561746564207472616e736d69747465722061646472657373000000006044820152606401610639565b73ffffffffffffffffffffffffffffffffffffffff8116610bc8576040517fd6c62c9b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805180820190915260ff84168152602081016002905273ffffffffffffffffffffffffffffffffffffffff821660009081526005602090815260409091208251815460ff9091167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082168117835592840151919283917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001617610100836002811115610c7857610c78612dc5565b0217905550905050505080610c8c90612d8d565b90506108c0565b508a51610ca79060069060208e0190612598565b508951610cbb9060079060208d0190612598565b506003805460ff838116610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000909216908c161717905560048054610d41914691309190600090610d139063ffffffff16612df4565b91906101000a81548163ffffffff021916908363ffffffff160217905563ffffffff168e8e8e8e8e8e611c4f565b600260000181905550600060048054906101000a900463ffffffff169050436004806101000a81548163ffffffff021916908363ffffffff1602179055507f1591690b8638f5fb2dbec82ac741805ac5da8b45dc5263f4875b0496fdce4e0581600260000154600460009054906101000a900463ffffffff168f8f8f8f8f8f604051610dd599989796959493929190612e17565b60405180910390a1505050505050505050505050565b610df3611a10565b6009805464ffffffffff90921668010000000000000000027fffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffffff909216919091179055565b6009546000906d0100000000000000000000000000900460ff1615610e88576040517feced32bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610ef987878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808b0282810182019093528a82529093508a925089918291850190849080828437600092019190915250889250611cfa915050565b9050610f048161193c565b610f12576000915050610f24565b6000908152600a602052604090205490505b95945050505050565b610f35611a10565b600980547fffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffff1690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b60606007805480602002602001604051908101604052809291908181526020018280548015610ff857602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610fcd575b5050505050905090565b60015473ffffffffffffffffffffffffffffffffffffffff163314611083576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e6572000000000000000000006044820152606401610639565b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b611107611a10565b600980547fffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffff166d01000000000000000000000000001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610f89565b60007f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff1663397796f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112009190612cf6565b15801561122157506009546d0100000000000000000000000000900460ff16155b905090565b61122e611a10565b600980547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff92909216919091179055565b611278878760208b013561201b565b6040805160608101825260025480825260035460ff8082166020850152610100909104169282019290925289359182146112eb5780516040517f93df584c000000000000000000000000000000000000000000000000000000008152600481019190915260248101839052604401610639565b467f00000000000000000000000000000000000000000000000000000000000000011461136c576040517f0f01ce850000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000016004820152466024820152604401610639565b6040805183815260208c81013560081c63ffffffff16908201527fb04e63db38c49950639fa09d29872f21f5d49d614f3a969d8adf3d4b52e41a62910160405180910390a160007f00000000000000000000000000000000000000000000000000000000000000001561140e576002826020015183604001516113ef9190612ead565b6113f99190612ec6565b611404906001612ead565b60ff169050611424565b602082015161141e906001612ead565b60ff1690505b86811461145d576040517f71253a2500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b868514611496576040517fa75d88af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526005602090815260408083208151808301909252805460ff808216845292939192918401916101009091041660028111156114d9576114d9612dc5565b60028111156114ea576114ea612dc5565b905250905060028160200151600281111561150757611507612dc5565b14801561154e57506007816000015160ff168154811061152957611529612d5e565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1633145b611584576040517fda0f08e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506000611592866020612d47565b61159d896020612d47565b6115a98c610144612f0f565b6115b39190612f0f565b6115bd9190612f0f565b9050368114611601576040517f8e1192e100000000000000000000000000000000000000000000000000000000815260048101829052366024820152604401610639565b5060008a8a604051611614929190612f22565b60405190819003812061162b918e90602001612f32565b60405160208183030381529060405280519060200120905061164b612622565b8860005b818110156118785760006001858a846020811061166e5761166e612d5e565b61167b91901a601b612ead565b8f8f8681811061168d5761168d612d5e565b905060200201358e8e878181106116a6576116a6612d5e565b90506020020135604051600081526020016040526040516116e3949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015611705573d6000803e3d6000fd5b5050604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081015173ffffffffffffffffffffffffffffffffffffffff8116600090815260056020908152848220848601909552845460ff808216865293975091955092939284019161010090910416600281111561178857611788612dc5565b600281111561179957611799612dc5565b90525090506001816020015160028111156117b6576117b6612dc5565b146117ed576040517fca31867a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051859060ff16601f811061180457611804612d5e565b602002015115611840576040517ff67bc7c400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600185826000015160ff16601f811061185b5761185b612d5e565b9115156020909202015250611871905081612d8d565b905061164f565b505050505050505050505050505050565b611891611a10565b61189a81612428565b50565b6118a5611a10565b60005b818110156119375760008383838181106118c4576118c4612d5e565b9050602002013590506118d68161193c565b611926576000818152600a602052604080822091909155517f202f1139a3e334b6056064c0e9b19fd07e44a88d8f6e5ded571b24cf8c371f129061191d9083815260200190565b60405180910390a15b5061193081612d8d565b90506118a8565b505050565b6040805180820182523081526020810183815291517f4d616771000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9081166004830152915160248201526000917f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e811690634d61677190604401602060405180830381865afa1580156119e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a0a9190612cf6565b92915050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611a91576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610639565b565b600081806020019051810190611aa99190612f46565b805190915073ffffffffffffffffffffffffffffffffffffffff16611afa576040517f3f8be2be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8051600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055600980547fffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffffff169055604080516080810182527f00000000000000000000000000000000000000000000000045849994fc9c7b1567ffffffffffffffff90811682527f000000000000000000000000000000000000000000000000475f3a7c1964d2491660208201527f000000000000000000000000190bce84cf2d500b878966f4cf98a50d78f2675e8316818301527f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e819092166060830152517fc9d7123efd4203e60b0f0a4b1dbc4800fc97ce63679f71c3a27279b24a7ddec391611c43918490612f92565b60405180910390a15050565b6000808a8a8a8a8a8a8a8a8a604051602001611c739998979695949392919061300f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101207dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167e01000000000000000000000000000000000000000000000000000000000000179150509998505050505050505050565b8251825160009190818303611d3b576040517f11a6b26400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101018211801590611d4f57506101018111155b611d85576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82820101610100811115611de6576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600003611e135786600081518110611e0157611e01612d5e565b60200260200101519350505050612014565b60008167ffffffffffffffff811115611e2e57611e2e612726565b604051908082528060200260200182016040528015611e57578160200160208202803683370190505b50905060008080805b85811015611f9a5760006001821b8b811603611ebb5788851015611ea4578c5160018601958e918110611e9557611e95612d5e565b60200260200101519050611edd565b8551600185019487918110611e9557611e95612d5e565b8b5160018401938d918110611ed257611ed2612d5e565b602002602001015190505b600089861015611f0d578d5160018701968f918110611efe57611efe612d5e565b60200260200101519050611f2f565b8651600186019588918110611f2457611f24612d5e565b602002602001015190505b82851115611f69576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611f73828261251d565b878481518110611f8557611f85612d5e565b60209081029190910101525050600101611e60565b506001850382148015611fac57508683145b8015611fb757508581145b611fed576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600186038151811061200257612002612d5e565b60200260200101519750505050505050505b9392505050565b6009546d0100000000000000000000000000900460ff1615612069576040517feced32bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000411de17f12d1a34ecc7f45f49844626267c75e8173ffffffffffffffffffffffffffffffffffffffff1663397796f76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f89190612cf6565b1561212f576040517fc148371500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061213d8385018561319b565b8051515190915015158061215657508051602001515115155b1561228e5760095464ffffffffff8084166801000000000000000090920416101561225357600980547fffffffffffffffffffffffffffffffffffffff0000000000ffffffffffffffff166801000000000000000064ffffffffff85160217905560085481516040517f3937306f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90921691633937306f9161220d916004016133ee565b600060405180830381600087803b15801561222757600080fd5b505af115801561223b573d6000803e3d6000fd5b50505050604081015161224e5750505050565b61228e565b604081015161228e576040517ff803a2ca00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60208101515160095467ffffffffffffffff90811691161415806122c9575060208082015190810151905167ffffffffffffffff9182169116115b156123065780602001516040517fbb1ae18d0000000000000000000000000000000000000000000000000000000081526004016106399190613401565b6040810151612341576040517f504570e300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040808201516000908152600a60205220541561238a576040517fa0bce24f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602080820151015161239d906001613426565b600980547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff929092169190911790556040818101516000908152600a602052819020429055517f291698c01aa71f912280535d88a00d2c59fb63530a3f5d0098560468acb9ebf59061241a90839061344e565b60405180910390a150505050565b3373ffffffffffffffffffffffffffffffffffffffff8216036124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610639565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b600081831061255f5760408051600160208083019190915281830185905260608083018790528351808403909101815260809092019092528051910120612014565b60408051600160208083019190915281830186905260608083018690528351808403909101815260809092019092528051910120612014565b828054828255906000526020600020908101928215612612579160200282015b8281111561261257825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9091161782556020909201916001909101906125b8565b5061261e929150612641565b5090565b604051806103e00160405280601f906020820280368337509192915050565b5b8082111561261e5760008155600101612642565b60808101611a0a828467ffffffffffffffff80825116835280602083015116602084015250604081015173ffffffffffffffffffffffffffffffffffffffff808216604085015280606084015116606085015250505050565b6000815180845260005b818110156126d5576020818501810151868301820152016126b9565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b60208152600061201460208301846126af565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561277857612778612726565b60405290565b6040516060810167ffffffffffffffff8111828210171561277857612778612726565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156127e8576127e8612726565b604052919050565b600067ffffffffffffffff82111561280a5761280a612726565b5060051b60200190565b73ffffffffffffffffffffffffffffffffffffffff8116811461189a57600080fd5b600082601f83011261284757600080fd5b8135602061285c612857836127f0565b6127a1565b82815260059290921b8401810191818101908684111561287b57600080fd5b8286015b8481101561289f57803561289281612814565b835291830191830161287f565b509695505050505050565b803560ff811681146128bb57600080fd5b919050565b600082601f8301126128d157600080fd5b813567ffffffffffffffff8111156128eb576128eb612726565b61291c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116016127a1565b81815284602083860101111561293157600080fd5b816020850160208301376000918101602001919091529392505050565b803567ffffffffffffffff811681146128bb57600080fd5b60008060008060008060c0878903121561297f57600080fd5b863567ffffffffffffffff8082111561299757600080fd5b6129a38a838b01612836565b975060208901359150808211156129b957600080fd5b6129c58a838b01612836565b96506129d360408a016128aa565b955060608901359150808211156129e957600080fd5b6129f58a838b016128c0565b9450612a0360808a0161294e565b935060a0890135915080821115612a1957600080fd5b50612a2689828a016128c0565b9150509295509295509295565b600060208284031215612a4557600080fd5b813564ffffffffff8116811461201457600080fd5b60008083601f840112612a6c57600080fd5b50813567ffffffffffffffff811115612a8457600080fd5b6020830191508360208260051b8501011115612a9f57600080fd5b9250929050565b600080600080600060608688031215612abe57600080fd5b853567ffffffffffffffff80821115612ad657600080fd5b612ae289838a01612a5a565b90975095506020880135915080821115612afb57600080fd5b50612b0888828901612a5a565b96999598509660400135949350505050565b600081518084526020808501945080840160005b83811015612b6057815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612b2e565b509495945050505050565b6020815260006120146020830184612b1a565b600060208284031215612b9057600080fd5b5035919050565b600060208284031215612ba957600080fd5b6120148261294e565b60008060008060008060008060e0898b031215612bce57600080fd5b606089018a811115612bdf57600080fd5b8998503567ffffffffffffffff80821115612bf957600080fd5b818b0191508b601f830112612c0d57600080fd5b813581811115612c1c57600080fd5b8c6020828501011115612c2e57600080fd5b6020830199508098505060808b0135915080821115612c4c57600080fd5b612c588c838d01612a5a565b909750955060a08b0135915080821115612c7157600080fd5b50612c7e8b828c01612a5a565b999c989b50969995989497949560c00135949350505050565b600060208284031215612ca957600080fd5b813561201481612814565b60008060208385031215612cc757600080fd5b823567ffffffffffffffff811115612cde57600080fd5b612cea85828601612a5a565b90969095509350505050565b600060208284031215612d0857600080fd5b8151801515811461201457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417611a0a57611a0a612d18565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612dbe57612dbe612d18565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600063ffffffff808316818103612e0d57612e0d612d18565b6001019392505050565b600061012063ffffffff808d1684528b6020850152808b16604085015250806060840152612e478184018a612b1a565b90508281036080840152612e5b8189612b1a565b905060ff871660a084015282810360c0840152612e7881876126af565b905067ffffffffffffffff851660e0840152828103610100840152612e9d81856126af565b9c9b505050505050505050505050565b60ff8181168382160190811115611a0a57611a0a612d18565b600060ff831680612f00577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b80820180821115611a0a57611a0a612d18565b8183823760009101908152919050565b828152606082602083013760800192915050565b600060208284031215612f5857600080fd5b6040516020810181811067ffffffffffffffff82111715612f7b57612f7b612726565b6040528251612f8981612814565b81529392505050565b60a08101612feb828567ffffffffffffffff80825116835280602083015116602084015250604081015173ffffffffffffffffffffffffffffffffffffffff808216604085015280606084015116606085015250505050565b73ffffffffffffffffffffffffffffffffffffffff83511660808301529392505050565b60006101208b835273ffffffffffffffffffffffffffffffffffffffff8b16602084015267ffffffffffffffff808b1660408501528160608501526130568285018b612b1a565b9150838203608085015261306a828a612b1a565b915060ff881660a085015283820360c085015261308782886126af565b90861660e08501528381036101008501529050612e9d81856126af565b80357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146128bb57600080fd5b600082601f8301126130e157600080fd5b813560206130f1612857836127f0565b82815260069290921b8401810191818101908684111561311057600080fd5b8286015b8481101561289f576040818903121561312d5760008081fd5b613135612755565b61313e8261294e565b815261314b8583016130a4565b81860152835291830191604001613114565b60006040828403121561316f57600080fd5b613177612755565b90506131828261294e565b81526131906020830161294e565b602082015292915050565b600060208083850312156131ae57600080fd5b823567ffffffffffffffff808211156131c657600080fd5b90840190608082870312156131da57600080fd5b6131e261277e565b8235828111156131f157600080fd5b8301604081890381131561320457600080fd5b61320c612755565b82358581111561321b57600080fd5b8301601f81018b1361322c57600080fd5b803561323a612857826127f0565b81815260069190911b8201890190898101908d83111561325957600080fd5b928a01925b828410156132a95785848f0312156132765760008081fd5b61327e612755565b843561328981612814565b8152613296858d016130a4565b818d0152825292850192908a019061325e565b845250505082870135858111156132bf57600080fd5b6132cb8b8286016130d0565b828901525083526132de8986880161315d565b8684015260608501358184015250508094505050505092915050565b805160408084528151848201819052600092602091908201906060870190855b81811015613373578351805173ffffffffffffffffffffffffffffffffffffffff1684528501517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1685840152928401929185019160010161331a565b50508583015187820388850152805180835290840192506000918401905b808310156133e2578351805167ffffffffffffffff1683528501517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1685830152928401926001929092019190850190613391565b50979650505050505050565b60208152600061201460208301846132fa565b60408101611a0a8284805167ffffffffffffffff908116835260209182015116910152565b67ffffffffffffffff81811683821601908082111561344757613447612d18565b5092915050565b60208152600082516080602084015261346a60a08401826132fa565b905060208401516134956040850182805167ffffffffffffffff908116835260209182015116910152565b5060408401516080840152809150509291505056fea164736f6c6343000813000a0340367e613d38a2d8e2ff5d8e52872dff2ed26d6bb803608ac92211a6f7fea6ae0302f9f5d08ec5914b8ff676e441491f390be6d3df12fd1ef3613271fd236db5a803763d848cea3733fc50657929d867f75411f05d045e33119b557c90770da6b09c0311abbd6fc3286b88e9282940cc6d15fd05d468c2953bae50fbe286e08317966b005820039f7f5805f9ce9071a05a09b006f6a8d2db96f3ef98b1cdc2aed7fc1de6d0304465bbe8c70315a38b276771cb1bd10c1828c110ab4ccbd2f83f6d713277c9ab20658554591303a36417313fdfdb10c3f41e8f70b3025c45b6f1e0918ecd0b854920216405e54001410b00582003e4e50f44f41cfda867d273f68274f9992f1bfbe150bf0c86d20db7ec541af04201000359a747a93054474cb4aed9adb9e1fc7eb7061f5e12bde023faed5555e7cda99e0058200304d5d8dddf44dc4591e2f45521762da6cdb18c8b8d5e3115482899741a4630446680165f02194453005820028d6ff7f0f5b267709c107b5fb6be6d067b4c3544bc4fa507df6a77e5786a5d446620d683032ddc00a9f92ef175e9a3a12f74de40fa980574555d6d2593cd942dd327a40df4036549fce2d450944ffe96a6cd3c45bbcc852ff71b7b6fb7f19a90d257fa1a98ff03a98ea81533dc577cc3e1ad1bc16f4c9bd54f0eec38970b33ab8b1243e025bc5003133c72abd28d3dfd1638040d35493a66e1ff2a3384610507a3b0d3f8689943b703f2a40399c8e28682bc22112ee7ea158d635bc53545c393f88218d5f271dc9d810365e1a2b27eb1aeafdff31939d7c527eef6404928929811e6b724ad32e3e1e8980390f75851788c71dd03562d03bd381c4cbf625fbae010fc1dbad0679e8a07511303c04ca03bbe8b57da8168b84ecd175d0945671b3186656b63116f8c01a96b816c03eabdc31d6a9ad56c0301a70a1b133b3e50a605e4a31e1c4b8b20e505eb8becb3034e4ad0f634d52fe9da9e11c1feaf0c46a8e41c91c158b520a1f2bf8852e725d20058200392f07e61504868ef4c335f1d78e62e6b546230888f3fcd1847a83bed06c6f04466482c3f00582003e500528f685fd6785e07b6a56a79ff93fb010da3acc70ffcc5cf829bff1ac0446640c07f005820033e7a65dd8d571253b5e347ee516590a1b9d06df701657817bbfbcddd51daf042010100582003156ebacd8e32a5d51ec8b1b1a4ebd52c47a8fea2063afbec8fd3ad4d39d6f0446649d0db0219901400582002c00bb82fa1143680deb6991c7b9865e12314596473acd93e05f7208036e3b144663359570219fff70058200356ab7beea4836e6f02b8b4a25f94c4267a364aba42cf7ea519c3bb076eeed0446657704f00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0581f01a5fb364dc20180c6b3dd2e3ce85a349ddac175a17e46dc3cd325153736be005820032b8aaab44df71dee36fa56586d1243efd2b48e0a33859f9486af7193dc8e5044667ce90b00582003b16e71654852688ddbb51a378e96e5fc38bbe02a299130b0d2788d54b80cf044667a29c7021902700321ee75cd01c12a6416554977414e9e513f68c7fb28a58793f02f9f7c5139959703dca8b0a4f195b894b62b916956d423993bf76fff6b19886351622e5db6cbd1620364e431f66d7f917758fdeeecaa44144fe7863aa75e8da9a485f5280274bf04be037df4e7a9aac54f7a8bb4d25e98ddf0c94843537d1404869f7d617c7cf2d48b48005820035c87af186ac6f6ab9b675995340bffb9e0b5682a11c18ea435e19d38d26030446624bd2300582003d43d377f601bc538e62ef741ffe50e76512e14f5f44170d0de3064b748803042020e0058200312c8d4d4ad3b8881cc2784411747997ec0ee1d02a8a8efcf483dfa75564c7044662395d3005820035ec89d456ec8360b8f365b910c29f29b8726ffb9508c6241be19f2f902ffd04466521c1b00582003ce666fbd7cbf673c27dd108bcd647db24bea1bb934666e144a486391c05d804202010219206c00581f029645d070155992f913317643479c7b366cc60a2074b3576f698ffa5dcc9b42010200581f0287759e735d5f228d3b61bd6f1425029897c9215ce095d593ae5fe14a5e86446663080f02192100005820037251a5dae7620796c56335c46bea8f759792d641dd674d40f9ee82e3d6bbd044663ee3970058200365191ccd7df9751615c76feafca766437561459531590e53a155aa0705d420446636fb1b00582003821f0941c37b52608c79f18f2352bb923e5e2db29a8b6bb2e132d7aa4b9ba044667bea0b0219013200582002045d90ba630e4d4223defad90f0cff972aae58c81c80f670ab2c1ee042e6b7446644463b03d8c4c5308a5faa87c5d95c2067ca92f8687410d37ee64aee5733c28fa1ae0a7200582002b0c0ac3b0fbd3e382ae02d7cbba9071e417a545815f37a72e2b6b5312bd2a84465986187037b7044a5f7b2c2374d7ccb550940e983f79438c39f8d386d4a8e25e4b1d9f06503a7b2f451304dbcebb7bfdcbd21f4c5e9c2a69ad1ef1a9da4c18be2852fc5299e03ec04569fdeaad48066fd2fd9c911790515d498986c1f5c7b8e1f4d540fca93290379e4e961be9c6a056056484af66721d3d8c17876ba94848aac221d726741b27b03112d45b5c160ad798313058f0f53573dfdd468a0ce00f741eeadfc57a07ee63d00582003387fed420080351d5a65eefe95c8e943b7201b1c7004a78f67db14abbea6d044667f196300582003347c8fb357c00d1da9063127117cec897a9acbcf446381307b552635e691e04201090058200387c898209721bfa9c759390c66d3f4b7b6cfce4dbe16108bc5e02934222100446626d3d70058200312be215993d370874b9dcdb90f67be849aa004e21da75ffd309e0e96f2d2f0446632eadb005820039e5c64691d25bb003d3973edaf00182fe1c4886c96374b336031ae2cfbc3a0446602bc3702190ca40219ffff03612f21604d8e8ca213a91703be72a30ec5f31d4eb6176e0d1969d2bde6874e46005820027bca8f7c1c56da874da29cd62c3769b9880d38a258a91fc6dd1cfb6b4d1a8e54fc038715c79ebcf7f9ee5723e466454b21434157037bd661df2b88b3f2b52969fc66055fbe7558e8d927bcd8e71ee02de1b5e2b1b0038c38a2f37c7b5523559280b9aff0ee4f2d690d5120024a512eaadf58e705ccfb039f8f15ab6301eea2fb5700d22576879a75110ae83ec762bba13a42d8a3861ccb035760b87b4c633deb338370f94ad80be7556b628d32ca9b3419a47722d82ac92503e9b620feba6b694fffc296006f634e5b81d1661994d28fd68e648a8de5d96ded032bcd2b1788016d8db2806ebb05a0ed80161419f801130e4a194b3a7c76ecb71203743a55ec8fce121ad3a563d098378115daf060a3f4b4efdd89a15ce10ba5d5320317849e751eb225a263164741ec164324ef2c93123737a049250d900ed06f986603e4fb3103e3c8149fbb630b7f70ab9190a46b7892d09f02ed8915997ddd189e6e03a2b012e8c5e6bb16a7c43254466f94fea12ca4557c7ccee8fe0f6a355cbec33903fd2aaaa02489b3a9cf1b00720d5d92f5616e7f2e4c426c81bf6e1b4b785a388403c7d5a25852eb544c9f7ce26b04fc8c97636cbc6475c253e75fb3d62ebb376ab803e0f0c4a34d12d5e20b2f76ee051b9677c16472572240adff97547614bc49127100581f02e98c8d409e85bdfe8e5375aadbdec424a7bac4d79794d715e3ae5d23ca6c42010c00581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4b2b330200000000000003e002182400582003702a46a0ce5bc276713195c9101fd63a1bc1098a61f89ab6792470ae2a627044661d664b005820033db011b1d804d961e2d94e5227c43607beb61f033021ed259bd5fa48a3f160446640277f02184a0318d2c7dd062758c0937c5a03e16f60f217c330db4688a4004da0e0cd9537c1980219ffff037743271377339e7fd8a84594b357ca148c59ae1f50d7aa235737834105fc4107033705a5939329231d58a1a7536b48c644df1e27e9306dd103850745086ce6e98103bebf95595f680ef510817751826398176991733550da3fd2df87bd923e6ca07e035021cf5e477585d39444167664c58f9fa19ad6189d7207961912ae477615660603ee15a46cce8615de31c1f2ed98bd6693c73a1e29e2e60d78fab56841f549a197038ded66a2852b811bda6fb9189b39ce1239856a4c28a5e254539de5b20704618a03e6d37cbf18c115703f73cbe0589725247beaee50a799edf55a1e4d10f9aefd1003b5a96d594c5fffb431bbc4d686c5673b0aa0e2130614c562622d5622cc9d4e4d00581f02873cebe36a4a51db919d9927c0c6a5f86ca467045a7bab674b92fad4073d4465e97a8300581f02e3d6ca20d483f922f7e75def109eb271bf506171bf6a32277bb1a699323744667c149b00581f021355c8bed284f776135f43e565f252905d60e18bd09044662e1be34c4d444201030219480800582003009b50906ad5d15db4292a15e239e66f262809b9125e9d8f87c19181b7e69044667ffa3f021960000373773ed3b6115ec6ce9c34b90c68b58be8e731a6d00948b1da1c68e15e2f5c8b03d2517ba9b19c2e2708c72caff2dd2e3af9a7e4a533bd64738d1c0e7841fe1c0003ff931c08627bc27bcedf64f43356b377f08530f0c35ce0eb990f285cb486527703d061c1a2996064574d1bea06915b91be2d394b8d38a273e8a3c2b4900bca95dd01410d039698d587ffe8b7bf05b168c9ec78ec76428f8d107807180026e009ac4bb48e8103236167177833a6393bd672d3561feb4c4eb8d3b7456c2ff06d51888a245c711d0392f1778127debab7f883e35dc48e8a7acda2d4113cefc200f0a14e4a9007f7a90219ffff0058200205f01cce19be23ee17c578f3beca9576dd16d0f9d8b06c9ff9189c9503edbd446653191703bd23a86d29953f88b4a205ed588c95f153d0ceb8a7279d447a7d1d5826e4c0ad0393bc23e0d10777832824b32f9d6f24d7aa56c95f3fdcdaf876b90bd3c8bbab9f03b43c03d00db0af5ac246b793537e5e735eb11ff091cc6267207db7eff02f92b6030c21411c378dd3f4c9f5de6d8a56bce72d33582895fe4fa537561a460f46b821036460193cd90636641bda3e1433b61943374d3fed58b7427ee9bcc3b82dc17a3603875b0fdef7b4dcdc9c25e074f4e08a60f3b844c170a6f21ada42e82c5e0beafe037094a1343c1a010b54d56934b23482008e99aeb39fd9bd17972a4ed1883741bd005820021f05575a88f801730b33c33042c0a0463ccb24d3b65031770d2bb24811b96a446640ce8f03a536156e300e983a60446a16e4521def49a7cacb8f7abb5bd6134e844d69379503054a37c5021e2400a143a8af5ec9dfa0fc0edd06a989f55a9bf239c71ddefea80058200325be20b50f089bd312f1edf51c4c8597dd9615fef0888002efe661d0c572504202040058200346e5c74735014d2c9db8bf1d6342304b71c40e7bef5e1844d64e59655dd0b0446684f9b30058200345e0851203f72144fdd7a61f7ef6e6b0d49a9cc56da94782aed55e8d1ff580546a985273db73f21d6a74ee9f76725112819bd950005820034d4860dc3b819ad023ff0cbf022b67f0848f96a8d58122bd69b9fbc68395b0446640358f005820038600d04eff5ad4883345c033d2464b7cfa7310dd5b2f93570f53316ef27bd044667c068b0219112503d9662000b5d91d9170175212d7f2830978fcc8adbd7136fc2da06ad8fdb458e503e416662c28b8dbb07cc79b1ef37fe4921f6a745fa026310f056b6884792747ad0398837d0de77010c8b0033c54ae86b8765f7d77ce5837d05c870d6bf84ec5ef3a034d7400d515209d1e4c11f636e3735503a633fc9b1faef38b8e0aea99597141b50219ffff038e792db36c9de17eb244b363d8af7ad797df804f41ae8a2d36e116e7081fb34603b265decabf38b4a3e7820c8235a9cdc01fc19a19b0e33a7c008c546356217dd903871e9e65cab25102fc49dc31fcb49676c038e76d8ca0a032456a2fac60a2a04003e85a86428f2ed471a8d744b80c097732786bf703afb1cc74d940f3c8a7672277030674ff6fc7096ef2a511d38701f02f0a79293f5343674342baca4f77e6266cac035e124aa0219bd9787195a1d5268b7023bbb0feb8ca3e954fc7ec7c9e24e8e72d0058200264ff29999007b050d8e85c2a4626f62041e63a05bc52222a79cd635bdb69cc44666571f700582003193071ab1e12cbe7579bfa94b878d2dd03e5fb4d77713879efaf678a6172a042010b00582003288c4cc9fe2430944b702f5b17d8d2ee06896d3b98607774e7ba54d18dae00446635453f0058200342b071b29e559910bd62248794c29ffed1cf5bdb2748a6d27a2b36de7abb004465f58cb302190340035ebbbd560bf9a3254d6c8c6b46dc431328f076840630ae7f6205a42d76908cfa039fbb98c1ee6df9a89e0403d66dc406c647101230956b5e81632b2fb99f6736a4005820020631e7cbf6032bc67c23e6cfe750b0a5df7ea639d93d6ab4c2002ee891771244661ff5cb030468d4bbf52702350376ea433bd016bceff40b4f847e5d42b78ee8eab6a8652d035c166a1d4126e1e8dce28e9399b4ab9185c99db45817c4ea205fdb168be5521303c1466bd5f44bd16bfddd47aa2b2a52682aef14815a740e2e941801b9f12dbc1103fa2c71f6ef00b12c5fcfd7b793faf7916d1d0e205a0523838c1dc0244b41ec8c0219ff7f03cdcb1e24ceff6f75b99211c207cbf1df9dba79a9249f91eb5d4dabaa5cb7614e0058200294f78b5f26da473b1760b4f7c4fe620fa301e5bc5d6947627a4ac9bca96774446651d5e303f2f2c4fcd9267a91acc97b7fc68814f78baeafe78964fa9c3ffb0ac73a65c9cc03e779b81f890820b66ba4135ca8babecc2acefe1e0d65ecd95d4903fb22d3d85000582002e83f25d2bb7b6a78f85fa993718581fbcee1764cf73c2be9db75f6253842f4446681056303afc74982f279d5d427bed55981d901cb68add79f256348630f497ed79cab85e500582003bd7207aaa4fab6bcf8911302212dc87683a5c231cb889d3b14cb5745f1e5104466823c1300582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880411000582003f8a2d263e62a945a97c5cf8434b6f42a2594dd5acb29a4820fbe508524dd9044667ac30f00582003220d143ed21cf798fe4346f03e2e4483942b8cdb84cef9980c2ca4b46285204465c4af5b0058200389019a96e5cb3eb3967c94a79b45c9693e01dbc8dc212251f5208d5666959042020f02191a44038a910edcd97cfbf0f6c9c3ac6faadbc996be56997c3c49aa5ed83b6a959eb594034c4604c3bf1c0b4b5ca547d04550429237d05851270f6398298ab48dfa3750e30387eaafad20104d112aec69c6e6c0f37ece916e6b34372f2bb37bde41d29e487f0343f679e4d0da28d16ede5e9235d0c6345281679feccef0b2129dbb0d88965638034bb85112d911d3622adb9f4754db9dab659ac7e89784c5267e8abb2200d9625800582002fc9b3f7891681114fec89f7b8dfc107002a6cdba6ed0e0856f1a1e5a8b9f4844667a5ff70373f5326836db948d5f1213aab7cd55c6db082125d46394db3beed06fb8edb2fe037645d899383b2ad99cb90c50fc565e742c700d06ea556596b48b926661bfad320219f7ff03410f189cb732a8e115173e8e922564d83c29c3b656624ced43f23250dce042b30393ba5993048d81b92c63b6537b92707327179a5cbfe92d4e95560e3a3dbed49b00582002a85bda57466373d493a84ba73851204df6a2c4ab166bbfc661f4920a3c775054cbf79800f67af0f5391d49b98c63ee4e3c976e2d0058200372763675356bfda886757be3ae89727a0ff827126b4c01f57491881195d38044665343fb037510e9f8f8200ffef815be9181cd3fd70a70ef4d18503003d3c380f3279014210058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b042100500582003f65a695e13c9794eb889d289a0dbbece4b6ab70e0cac2dad04f3481b285d20446623c0270219043100582002921ea498f2a3c7a717b51619d7814e263b9b16d865ead60409a2ef762bedec42010503e97de97e8040d1649da6c2ab4d2ad8dff34acde8ee62067a93fe1fbb29272c75036dc58652fc22eeb9492335dcb8aeb14f6ec7ede5d146bf3f832cd15700b5824d036013a7b8d12559f9d91f706b4acbb0b5c28f876c97b19e05537536a09c11494703480e1ff74ae6a3a120b2487b101d7d686cccf9a43185b4c38ff17268d373e693038d99bb7e31c8093a84026f805c2c9e36871ae27705eb9af4630f7e7adeaeb0db034fee7861d2c23825174b579d2d5219a3d1023f6140215439457daac8b3f73e5a0303c8aadcb1804cfc6862285a0282f2376178ce2e9c546300df06d0f83a862a4203d2722c7d8594419bd82e6c0085dc3ed906d8a31144d58ad15b0e2f1ab3b66a9003faa2ec963d5ca77bb0d4e4f6757bd7aa66fe53a1c0f458addc620d11a7ad9c2e0325895deb40fd09e4048277d22e20bd27480aa70e45a80e2ad15da80d390a42690338f267c9133de336da2bcb380f41697fb078a6f22a921da2691d4bc7621637350219ff7f03f42c3131601c8f561034a396e41fd7a08c613db3e645539340db5d6ab83c2e6103275bc93ce882697b56141af5e162a79c2c0fa782f4e123eb7785b9928191ee4103365abaa2fd32e538fee473d44826d22ff166285e442291456a212b876157ab2f03ba2f3888a21be2746646d36db15325db07dbccc19f871d03b086bc79be7fcd56005820020da1bbabc8cffb3b3bc089b329ffedec08ba52db65693216c6f8ee08705545446682b99b00582003904f86ed1a26875ce2152e56f5a8070a542348c44fd8a29dab9198eb2cef704465fcb0f7005820038ff47bc3fdf2af82f01c542e208296151940ef9d2596a48025bc1021724a4044663b5c2b005820032efc00a466d0a642534998e30926e98a98039dfecb515ff044cf4ff0c732a0446679c63700582003a3da46020f4f3dd0952f8edc41681d6d891272770bc964f93bafe2a77736e04465fa0e0300581f0214723547fbef19580613a7fde0c3681b959b7e0ad9dc027b313667aafc9f4466804eab00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3548c9b2efb7c64c394119270bfece7f54763b958ad02189002198d10035d002a880dd0e4d90516d518820050ff7324feabe43df57f34c17c97472bc6a70356d1293b6a1405b3116faa452e29310f2231ef2f63b8a0eecb2cbafc58a260fa0336df74e15aab5e7918b67080c9ee2b41e35f504c9cd858b76ab14166dad7c31b03b0deda2d6e946c794f94587861f873b9624d45c50dd1cff1de35481822fa2f2c03c5272aafb00cde386e1b7d7fe612703794f824e24ff406224157c7cdc9afe07d030a6c7567aff9fdaf0b11e59f3368c006454d136ce498238434503d982427812900582002a31b342e6383a5abade2c0288e36e70fb1bab5a6e3b5a6ff2e8a0e17021f2d44666555cb0312f25b1e7c1e062f7a1b2c5475a4a715dd2375e730cde593e147be18afeab92100582002a75cd768cd6419a8a7666b85f833aec5676ccf7b9da80333e9a368eb4e805644663dbb8703e523016a0b102dd6a033f354100438b5a5ceebd3c050f6ca79e944f4c963b422037f505cd08ab869a3f47f9960dce237cf3c0bf6002a30c30b24fdc1f656ef5ff70382b34010086711eef9ab65314688fc071f760aa2b8caaf101b43b368c28c10ff0219ffff0219ffff05581e03a12cccb067475cab5afe35926efc958fe7597baed741ad9e01dfff4db007011934b70398d5f4fe1824944ee44ac9c0768fe7062c9b7d732489c47d873d096530541cb901410205581e033889574334445718166dbd96e441fc90892132fc27ef62b9953a6ee190040105581e03253802375cc4f904b9db228cccb7bfaf0234c23979f44c173fc6388e800c0246befe6f67200005581e038c9ba7fac146aee2375a632e788ab12d32100844aa73e1af5a10c506e00c01470108c665686d4003056c7a9721e9ccc2bd61baf0fc2225ab3c39004ec8bfe22faa73c583847fc94905581e036e2da593c027944d48340e8d7c3b742e884f9559a98e51dffe452ebc60040102198b8d03e58d970977f97d5892ee23fa4ad858c27ecdf527539777385372e1283d251c1b0343ae7bc0d9372a56980f0f0d548e1a0c312be66e8ec2627a6da4ea886ae6fe9103b2787e6475087dadca562906ced41cd926b02496c981b4cd9d7acb38aa404d57030b5ce38c48bf568aad5faa297d735dbab7a5d124eba46c00f6bbe994ad1c9b2f0376494006b2b673afca78c1662f0d15d3d46c6ad22a55a8bfe161f6a8b413e9ba03bafb113c2ee741b284721c3e122b96a80876a99c649466ab3e5a599e4dfae7b80380a02d1cf5437978ec29d12776b98ea54ba03f6788d143ddf5964bd2570f90e303ac757f5c2413b6ad69048dd802ce66260ed371e44596de570a88c318f4eeead003a734cc30c811d59b755301e27db17ae7da1d673b4f0d3f81f7c96e88ddcdb45f03cb0194a1e20f28a8f46e14a9f28a7dc43803d36743c9008b9fb7e0644c0b52e003ba2aab1ad7acdfa5d7d203203b434133bebe66a807b2ddd29a1fe9df02d12c60034c02eed6f5633a75ce90a9d7c0c3fdbf1b114ddbfacd8da3239ebd90c67efcf403fc3e20e218e17b3f69614415e3afeffbc4911c037a5d2279b5f37432778ea153037c01e1b7e6371bbeedc9446e1c937ef8e22c21909933f625d19ebb6625bd12270219ffff03e3c21fd8664d862a0b4508d0677b176beb68e18d2b2a6d8fab47a7dd0b34c0770349013f996e243ade08f58df19bed1a0bd0c39933c983bc5d67ed23eb192c55400219ffff032e56feeb550c869417f1220a0b098d1f529e8838555d7a1f8be71365c1c3c1da033980f5de3dd23bd29f82443f3a081235cb36e2fdf3fccd036bbf3cc16ea69dd903a1c13f4945c64cb17332c67923263e780ae91ea1e0f682b42bb58f93a3dfe7d303f76201bf3a212bb729630ef5fd6522d843080ab76f203d66d3003dae5ee65965030fd4b8f91a4fe7937fa59e2928848684ab601e5ba8c1da797e849d3acd6d422c03189fa60852bb55fbb560c4fa93f708ea5bfdb40b2a8daa1cfc8035e0665168ee036509dd639c78bbe3f65b645b704d2fdce133672e85f135fef29ba4a4be2009d4037319bc2ecafe4c78da4bd6ad96a1ee68bf98cf5d51d640bf981d86e4a9db6cea03a904cc483faf12e9231981f497fbf5c52a65a59612199fa2f850f4b18323b0f40367e8e88211461b06c52d9f843c2053fe71290265ba5c3bb5ebde5e8d016c46530219ffff035d1d24c19b7a94f02f9328756a387744bb624595bf4015dbd718549f744b4422038cb2d81d7d8c0fd9570237ed6b8c0fa32450d792c5935134a965410cd035437c03364bc6ecac81b82c6382499978b20c9886706fc95c02626d35cc97b70d53bf41032f0e85875e599f8381c35a5fb4a3e78a27d1877de3b68e06d27d85e6cd098b1d033fea55124c2c65318d228d0cfe5d17ad685365d40b2b31848e91eb23ad39ecdd03b1645b5a46323b31cdef828cca9dfc2e14fe51f7ac23968eb695bf1ca47fad1303e982f2abe1bb98a2e64749669ebeead9c837b5302f512e9c58902c7d18ec5d9003a49ff26c18c869130d5caff5bc9c9e6289307f19e1167b0210e5bf27d3b3f45803744c4e3980c52b6f0182c09b9288599027dec2126e13c056909a29b9f4e426a6030989c430f99de02ce4b28c06d9de6517eac5bb30a4f13332d6eb04fe327ebf740304881df4499d36865c1bb9955a6d531da144c6b70f400d1fa369550eac6e12d5039fd6185d141a5e934bfe6e46069f58503db348de550301e1fe6eef0ec401310103eeac76afe73bbe6c29edb3017fabbd9c93462333c074c0469b1e04f7c7b18eda03cafd2de1ce29bd115ba74f904485a698c3a70d482b776b068f2019fe6e1d5ae703866e862e45308ac0bd039fdfbed9c93ee13a2d2734bc32c06a0ccb9718d2ea7e03edd1ac147e7c9d1e24515f3354e40fffc59c43bf529f57df1670cb6be986890003fa68c5a85962db69eb971af1c9db45525490ab26a1c2f922b3f7b64cd68d755b0311a2f458601ddcee8fdf8c57e50550e8878070267bbfc4c93e54b8e6ad918007033975625b744263511139ef8379b0a0e8f00b937226e6d3c2122390580dfb6ee103790fb858c6612ccc5f0767e571d07a148df08b7bcd1843f397a053a4254cab35035ead0d12b10b32db353872fa5d9f95f7d67ba18af2db648966f1383f989812fc03f495c8ec10c5d2eb53ffb7bd9eaf37019cfdb1452f67f5aadc5b4510b569ecaf03a35f045a3b0679990713426c6a9838d8f808c8205dd059a9a5d9b61c9b351c7e039be6a15269f15f76f877cb98e4c1f1c968031f212cab4c20d37af266366fc6ce03d72aaa046883cc87e8968a20d1f4a5d799ba4678abd489e96782e8eda5c8a82903b70e8af2d16bb3a3dd2cc028986b3c17717a42016ed950228c798eec14cd51ba0382e25cd2fe90e12b8ad9cef9aa2a2ca6d356dfb16e973d8f9b412e5f6ba115fa03e74e00342c1715edf4cd148b0e451fb3502b41c1132a6467a231f0015223bf560347c8fa087e94d1b14791e089bdc2d6a9644ed7d6dde7f9e5c8678f53a68dfe73035bf2391eedebeadbb266512eed199502eb29a4d8a3a335b518847a5ed093524103062e0a96e001457e43e69fe973da80cce74620ae1b4e76486c7e1c5c628973660366597c3967b97a8c9edd5a601b39d4903933d3dde1d2fe4ea94450050eeed2e603d2824fd64e5f3e28c37e14fdc46252e15496e2001510bbf7026d4511b3cd8898035c08befe60474963f15bc35ec3fbdd607fb64bcfb7dc5ad3f952c49defc24dbe05581e03b4031b2ff7f198d8f848376476aa0128efc70a07bd1da541248f1947300c03470197300bcb58f805581e0390cd720bfe9aec89a06510774e3cadba2588e22b7375ae635ddf4b73a0040e03436074acee542719ceb9991db39bf1bcc7153a183c82bd94228179c9f60f724605581e039fa41ba58c766bf3d96fe3c58647546f74838d5a03996cd9017ada6cd00c04476f464a672f71db05581e0359c33a86eebdfbe15c9feb585853be205db86b433b3e341a18bd0ba32004020305818323a862339167949916ce638c959c0912826a395a92a423e586db2bb7f2031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0386d2f7ccfae852af0dc68115617ea1be9073a836966fce93476ead5b4007011bffffffffffffffff05581e032c20eaa4778e2bd87ad583087dc78be726bb31e0274b957c6894730890040205581e03b791956a0a47583732a5c44fd9ea967580f24ff57f3df72c699b1d84b00c034723c33990b8ae600219e5e80387df1badc54efad7b7f48697b433c98ccd8617dab9cfc41be5a50d2f15e53a62034bef039221a6bf21089f6a4e73af0336ffe0d07c329971d256f4fba81cff9827034a5dc8b1a8964f822109e5c7839a85456d7790e301e0f1dd7db1cf5ef7b314f503eeb0916af28afe35bf3b380597b33a075936a8fa085805064aa39f179b4c97960219ffff03d187a6fad6b1b03b01dde245b1d87db93ec68a60200062affc51ef2d4ccd2d2b03539d16e52306df4225405c28b2b930a8b54bbe87c1e26201646827b4c643eeeb03b9bfbae0daa15b1510f11067511f69decfdebab37ea695861e78806cbba2f22b0372464a6c7b833fff4d3d661ce99e49b77da815802e02bd136400535fcbcec90e0396b45b60f988bc19df5162aa9867539158f890dcb065ae823a84fd5fa30bafba03a5c67faa5b5d62553bf977b50f084f530974c8bcce70206b539203209ac962920219ffff03b929aef453a6e54b66fa1f4d29450981b5d04e52f1cd42ff391b0b8b082c4fe6030706b8f37060f080207c9c65237d6e93f06562e297e463b043453220f49b3406034bdc4790dea23a50c51a548548fcf5ed2689ef7c4664f00520a9a74366787bd0032f2cbc8d15ab9c4df4e6dd2cf1cdb8260ad17edcd91c3ed18e2863987228a2240219ffff03d51511164976ac6b63666856e04265b0b27b5fbc0ae591f1093db491c0b8f67e035346d3a34f419f8367e72d7a70ed9aa4df3dc7f465634c5c87df31a0431265ed0219ffff0219ffff03f7f6ba954b3280822c93b5dd44c9001341bdbb2feba927538c2178d2689b108003acf3cc7130361114b9802685074d5476a38c161a15a3fe02f37432c06bca0bdf03a324c18ec26e16d928884590d7cc201f71b12f6f118fa5e3d065003e62be10e703aad5bdd2448e2bedd928fee88cdf9dbb7ec7b491d076416e8c6b26068090e9f2037b1c37e8c7d30a6bd5d1b109b7ce3e592cd96a408f7344f5303cd95e7fbbd26e037f7b1f040e8521b286cdae9a6a8f8b6f6c14b9dc09cf4c63b3ad531c9f1eb30d036e52d0a45985ea9470c033e81a6378e4aa0a7a25d1394c6cd625f361809d724805581e03aec5e0045c32973a59065efe23ea76b0124759987ffe2c3e000bb72ce00c190184474152de28e70bf203a7afa0bc99e1d0bf679e5fd5db15f80a98e76e8a1f61c3bb7bc1c3db8f510d43038b714900987185b25a4b6369f62535a07468646498d1e82d7d89f7ded242894205581e03172bead88041fa3ba36400fd313d964851fa76843e9f9f0956db9a84100847146c4ab8e8bfb90362c5c423aa5adb1f74e7e8e3813416f50bcbaa3f4cac90875e334bb507d701f30348e177b73ddcc27e5e4b902741a465eab2044444875def1207134f801021daed03d19f89c64ee33b98eac358ea1b38f73491bc06f0108177f020110e4e64ee82ad038dfcda26dfe0e64873d2925984632be60430b99fbebc7ec9168d0ad2db80d6f705581e036fd025847282785e2a4ffeb497db67f90ea4d6a22ee0afecfcdd776c7007011bffffffffffffffff02192b2c03cdbf31906b4835d91cf9433bb789c7140eb9c248a9021d443ef763300aaa72df03e061f4e845f94a97d00b9a6afe4d8294ea8ae30d9879fc7af1358c67c8ce638503089cdb346528561d203e05492466b1642f9c9844b2e09365fb40cafe95a0d91b03c5d6f78e03f9f281c3ed497e7c9e39a9402fadd12779431a1ef29bb85e4a9579038a320c46bdf2c83ebc2f8fe1c3e26e38fc112374653dacd6fde6da60bdb39859039dbb40ffbe6379ea4358c8d5e42e46ea81d8cd58186dabb4c000a7949246f608038bd6923dd2a763fd4e9cae4fc5cc138136af8c0fa81da171996f68e79ee87807033a0f38e2e2d4532d73baf346aa2eddfbb179bbb314a1360f4a2eb95bf0d5289b03a9d14c567eedfd9d609f291a78f7e1e065b9bc8e1add35c67e570d92bc99134a03c650158017d8d1c8a6c589ecd0efaa3d6a8fed203891e034bff92acdd6bd1e3c0219ffff032a67594294cfb034eb73b04e723bc8810d52fd8f9c402a4de32637626587859103eddedd31827729c0e54370619ca763964757b0fe9e616a5bd79ea6fc07f899ad039857b7784f3d7d07898a2b3fcffe199bf07122d6693be10f1079bdb4838a48df03958d254c52b1a31e3162ad748fa0890c853bb6c512b5579707727fb3beb9636003db2a68888a921044941eb32ac7b8b4d5c841486d7d61f511b6a357495b4aa04703171c4cc76b512867e9c4c17495478299612a0240c341a1e9d97ef720a67d1a9703a869315e214eb4a30e9f1a8ed9d95d4a13345a027675afdd1004d94dae1f5973034d6becafc163585252d7da0cd48430c09bf10ea129b7689ec74210b21bd23e67032d87783ec76b4fe70b69e41cf9dde25aab36d9bf9dd4698646e82dc37b25dd060315373abad6369db2c66be740bb94d4b629327369e11d16e152231e0a5a12d39f03e7ede6ea4b05d0d6efe595cb0bf3db829c8c533b45449e7b7b350d760c61883c03989d856a513ee5bb2c3c8ee57b0ccee0b7513d724d66dd95a3149eda1d10319403775e1ac4201fe6800398a5fd8d162f7477259b91365692e5f81ecfdbe19841450219ffff03f1f4d98020e5eabfbcf9b8971056bb278d622dc5f78e9c24d3b5030e76212797031e4b34bf5b7252389908e8c84508df052d184da7bbd90e2170e728412c1b84910340dce0214c8c60541ea185e4e6074955d9e87228692d2786250e82d7b37fcb6f03535ddd66e936a70fbba5dac8afd5f69fde30380cb12a7408dec8658b7450017b03f0973b10fde6d53887efbaf8354a1581b535fe308dc4b8537548800f3a56765003631103e5897e58d2dfbf50ee296eb6ffe5faa3cd8a529dd5cdda79531f35ba5e03964b5499697e0801d798aa2b2bb37b58c2cb0473c9b9bcecbdbe2e41bba92c15039426cf1a38126fd46cead587843337a8d0993a5c88cc845e91dc316fc9df949303f27a2bb9e872af0f1509bb74872e1791e9039b1eaf56e34b404f40e5637bfec20390a85e712bec704cb37109a7a1459789e60516cbb3446ac16aa03f5f379dbd6303d7b8412b969ef1353c07028b10d459c4a71831f92dbf37bea9ebbe2fb78cf91203d297048316651f1c3a6d80448d945108dce34c8da1459be72f092a842dd9143303e51129f26056a1dc7fba3efbd770987d3575dee8970d76fb4126900e9679512a03d6a246fcda61e1235454f5de9517faffe1e56aa9bd9c678a0a5ac74191f2b57d031240512ee0dcd4e17e95c5660a2a457fab11ceaed51438461e4b44274eca6ce60219ffff03f676da59109d60129424fa484e6e8c258ecd9c0908036980a8a540724d0c2a2903299d5407d382b835baf935e3755ed6d207dff52aecbd23a4d5efe131480ab94703c04f079d62290c982fc8ed153a9ded83aab137c11f6a7279d5b4529970b29fcd031b7262b14b24fc2e461a915a14fc35359cc472dc2b0715ce1ba4c487ca20583d0399c637dc26a94cf689edfd955d09fa1b278a1a3cf0b3c19c1a00ec05460338f403a2e88a6c23fe6fa3d8602c8a44ccfefdd139b5a746f5dd95db4db7f69a28dbe5031978f4ff728a769279ee671e40666e7ec97a68b12468eeeff630ff106dba4591035504c0ce8478c9d17bed4f4cef408d311054430576f2138737948e8de20bc741039421b724fea7659b73e74dba8a72e106c671e3c2a4b9e49fccedbb40f3618243037726432e2d473e7d17f24098ca6ce42e5e45b25b9a183a3908a2462a81503ca30333b2db9d47c722d04379fa40adf3a768d64a39eb969a043058931ce62546bce503e14fa36c3e35e926f784e31e64b2876aad60942f4003a5a1533ee221f315e7e2037e931c4ae9210ca4ff62c2bc3fcd72f86802de308aed22798b90729daee4b65703979d59ccaadeb8049e84eae17a475289fa68f0d35a56b84403db08b87f5334330331af0f182d3d390c2151707361ea478ce96b5cb3f8f6caee3ed3de2d3127beb603455108efe082b6521b65ac16727ed63153ff17e2d7e0a483de3d12a429b7bcfa03524cf64d3896d113f22dbad6b2870e1d427b5aaa880e97f1b49486bd825cae1e0395f967853da4487ba9cccd4e94fc3ee2ddfb740ae96360fa21e16f3206c2487f033c9d0a4702a7343dde2e117f2545d0c754186d0abb06f3ee674f5f9ac41ab503031d292effb918e33a49a6bd8f5cc67fe0c324f9aee89b8415078dd8b1614f5a01038ce5998b0ea0442a1bd313b6be06a848d2a251dd9870f7a1145b0431f2c9d30603faeb5828488615486b1fb64b9254038e691a2b42d6d2d09f115ba53b6e1c938a031b744b6429fbc94441f884bbbe2929921739c2c366998459f6242e637d3ec6de039d5d3ad4ae075951119ac54a34efd5b6efb66046631f12bfef10f1c13a25281103a795f27b469c934b4f95dcfa1d5e0aa9ab6e31bafc256e22a9b0a2479dd6d92c05581e030f3e5912867e1e306e272bbc46cc807400119ec5acc9d6b2da559467f00c01470641779215b36803582a580e1916f1df1f8a3606e94ec65e9bcb6b1942aa9f6665142df74c67f1e0036a51b178833e2664c4447392828907b7de2b24a376125e5491a11df93dcb04de05581e03af72cf6b43fe0894be06bfb25565d1b64407cc2bd29966a95a3e3d52200c01470431e799206eab031dfca478d7d350fc48c127e5cdc62c81025840562050766e2afefe1f16ae29b40329e5f5b8caa8b408f7d818c6782d7486723963244639bcb8c79e141b32f2ccb8032afe73f280b772ba64e466ed5cc2cf39f7f780d10e3bfa08dc1e0100bcdc728305581e033b35e619d57b7c2fa8db68baa4a0d9d0362dabbefc2525e9476f4bc0600c0246235386f0972003c493589e72900a67d32f1c4d54c2e52f915fc2410751c9f5901394d3f917389b04591714608060405234801561001057600080fd5b50600436106101735760003560e01c80636b32810b116100de578063983b2d5611610097578063d505accf11610071578063d505accf1461036f578063dd62ed3e14610382578063e30c3978146103ad578063f44637ba146103c057600080fd5b8063983b2d56146103365780639dc29fac14610349578063a9059cbb1461035c57600080fd5b80636b32810b1461028c57806370a08231146102a15780637ecebe00146102c157806386fe8b43146102e15780638da5cb5b146102e957806395d89b411461031457600080fd5b80633092afd5116101305780633092afd51461022a578063313ce5671461023d57806332cb6b0c146102575780633644e5151461026957806340c10f19146102715780634e71e0c81461028457600080fd5b8063028468581461017857806306fdde031461018d578063078dfbe7146101ca578063095ea7b3146101dd57806318160ddd1461020057806323b872dd14610217575b600080fd5b61018b6101863660046113ae565b6103d3565b005b6101b460405180604001604052806008815260200167155dd54813195b9960c21b81525081565b6040516101c191906113f9565b60405180910390f35b61018b6101d836600461143c565b610456565b6101f06101eb36600461147f565b610566565b60405190151581526020016101c1565b61020960055481565b6040519081526020016101c1565b6101f06102253660046114a9565b6105d3565b61018b6102383660046113ae565b6107df565b610245601281565b60405160ff90911681526020016101c1565b6102096a0d3c21bcecceda1000000081565b610209610855565b61018b61027f36600461147f565b610864565b61018b6108af565b61029461096d565b6040516101c191906114e5565b6102096102af3660046113ae565b60006020819052908152604090205481565b6102096102cf3660046113ae565b60026020526000908152604090205481565b610294610979565b6003546102fc906001600160a01b031681565b6040516001600160a01b0390911681526020016101c1565b6101b46040518060400160405280600381526020016255775560e81b81525081565b61018b6103443660046113ae565b610985565b61018b61035736600461147f565b6109fb565b6101f061036a36600461147f565b610a46565b61018b61037d366004611532565b610b8b565b6102096103903660046115a5565b600160209081526000928352604080842090915290825290205481565b6004546102fc906001600160a01b031681565b61018b6103ce3660046113ae565b610dde565b6003546001600160a01b031633146104065760405162461bcd60e51b81526004016103fd906115d8565b60405180910390fd5b610411600882610e54565b6104475760405162461bcd60e51b81526020600482015260076024820152662165786973747360c81b60448201526064016103fd565b610452600882610e79565b5050565b6003546001600160a01b031633146104805760405162461bcd60e51b81526004016103fd906115d8565b8115610544576001600160a01b03831615158061049a5750805b6104de5760405162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b60448201526064016103fd565b6003546040516001600160a01b038086169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0385166001600160a01b031991821617909155600480549091169055505050565b600480546001600160a01b0385166001600160a01b0319909116179055505050565b3360008181526001602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105c19086815260200190565b60405180910390a35060015b92915050565b6000811561079a576001600160a01b0384166000908152602081905260409020548281101561063d5760405162461bcd60e51b815260206004820152601660248201527545524332303a2062616c616e636520746f6f206c6f7760501b60448201526064016103fd565b836001600160a01b0316856001600160a01b031614610798576001600160a01b0385166000908152600160209081526040808320338452909152902054600019811461070257838110156106d35760405162461bcd60e51b815260206004820152601860248201527f45524332303a20616c6c6f77616e636520746f6f206c6f77000000000000000060448201526064016103fd565b6106dd8482611623565b6001600160a01b03871660009081526001602090815260408083203384529091529020555b6001600160a01b0385166107515760405162461bcd60e51b815260206004820152601660248201527545524332303a206e6f207a65726f206164647265737360501b60448201526064016103fd565b61075b8483611623565b6001600160a01b03808816600090815260208190526040808220939093559087168152908120805486929061079190849061163a565b9091555050505b505b826001600160a01b0316846001600160a01b03166000805160206116bf833981519152846040516107cd91815260200190565b60405180910390a35060019392505050565b6003546001600160a01b031633146108095760405162461bcd60e51b81526004016103fd906115d8565b610814600682610e54565b61084a5760405162461bcd60e51b81526020600482015260076024820152662165786973747360c81b60448201526064016103fd565b610452600682610e79565b600061085f610e8e565b905090565b61086f600633610e54565b6108a55760405162461bcd60e51b815260206004820152600760248201526610b6b4b73a32b960c91b60448201526064016103fd565b6104528282610eee565b6004546001600160a01b031633811461090a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e657260448201526064016103fd565b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b039092166001600160a01b0319928316179055600480549091169055565b606061085f6006611016565b606061085f6008611016565b6003546001600160a01b031633146109af5760405162461bcd60e51b81526004016103fd906115d8565b6109ba600682610e54565b156109f05760405162461bcd60e51b815260206004820152600660248201526565786973747360d01b60448201526064016103fd565b610452600682611023565b610a06600833610e54565b610a3c5760405162461bcd60e51b815260206004820152600760248201526610b13ab93732b960c91b60448201526064016103fd565b6104528282611038565b600081151580610a5e5750336001600160a01b038416145b15610b60573360009081526020819052604090205482811015610abc5760405162461bcd60e51b815260206004820152601660248201527545524332303a2062616c616e636520746f6f206c6f7760501b60448201526064016103fd565b336001600160a01b03851614610b5e576001600160a01b038416610b1b5760405162461bcd60e51b815260206004820152601660248201527545524332303a206e6f207a65726f206164647265737360501b60448201526064016103fd565b610b258382611623565b33600090815260208190526040808220929092556001600160a01b03861681529081208054859290610b5890849061163a565b90915550505b505b6040518281526001600160a01b0384169033906000805160206116bf833981519152906020016105c1565b6001600160a01b038716610be15760405162461bcd60e51b815260206004820152601860248201527f45524332303a204f776e65722063616e6e6f742062652030000000000000000060448201526064016103fd565b834210610c215760405162461bcd60e51b815260206004820152600e60248201526d115490cc8c0e88115e1c1a5c995960921b60448201526064016103fd565b6001600160a01b03871660008181526002602052604081208054600192610ccb927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9291610c7483611652565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e00160405160208183030381529060405280519060200120611100565b6040805160008152602081018083529290925260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610d19573d6000803e3d6000fd5b505050602060405103516001600160a01b031614610d795760405162461bcd60e51b815260206004820152601860248201527f45524332303a20496e76616c6964205369676e6174757265000000000000000060448201526064016103fd565b6001600160a01b038781166000818152600160209081526040808320948b168084529482529182902089905590518881527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b6003546001600160a01b03163314610e085760405162461bcd60e51b81526004016103fd906115d8565b610e13600882610e54565b15610e495760405162461bcd60e51b815260206004820152600660248201526565786973747360d01b60448201526064016103fd565b610452600882611023565b6001600160a01b038116600090815260018301602052604081205415155b9392505050565b6000610e72836001600160a01b038416611155565b6000467f00000000000000000000000000000000000000000000000000000000000000018114610ec657610ec181611248565b610ee8565b7f61c067aca3facbfcec2b9ba619c0bbc88261b073a95ee061f0368f5814382aee5b91505090565b6001600160a01b038216610f445760405162461bcd60e51b815260206004820152601c60248201527f5577553a206e6f206d696e7420746f207a65726f20616464726573730000000060448201526064016103fd565b600554610f519082611289565b6a0d3c21bcecceda100000001015610fa45760405162461bcd60e51b81526020600482015260166024820152750aaeeaa744088dedc4ee840cede40deeccae4409a82b60531b60448201526064016103fd565b80600554610fb2919061163a565b6005556001600160a01b03821660009081526020819052604081208054839290610fdd90849061163a565b90915550506040518181526001600160a01b038316906000906000805160206116bf833981519152906020015b60405180910390a35050565b60606000610e72836112e7565b6000610e72836001600160a01b038416611343565b6001600160a01b0382166000908152602081905260409020548111156110905760405162461bcd60e51b815260206004820152600d60248201526c084eae4dc40e8dede40daeac6d609b1b60448201526064016103fd565b80600560008282546110a29190611623565b90915550506001600160a01b038216600090815260208190526040812080548392906110cf908490611623565b90915550506040518181526000906001600160a01b038416906000805160206116bf8339815191529060200161100a565b600060405180604001604052806002815260200161190160f01b815250611125610e8e565b836040516020016111389392919061166b565b604051602081830303815290604052805190602001209050919050565b6000818152600183016020526040812054801561123e576000611179600183611623565b855490915060009061118d90600190611623565b90508181146111f25760008660000182815481106111ad576111ad611692565b90600052602060002001549050808760000184815481106111d0576111d0611692565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611203576112036116a8565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506105cd565b60009150506105cd565b604080517f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a794692186020820152908101829052306060820152600090608001611138565b600081611296818561163a565b91508110156105cd5760405162461bcd60e51b815260206004820152601860248201527f426f72696e674d6174683a20416464204f766572666c6f77000000000000000060448201526064016103fd565b60608160000180548060200260200160405190810160405280929190818152602001828054801561133757602002820191906000526020600020905b815481526020019060010190808311611323575b50505050509050919050565b600081815260018301602052604081205461138a575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556105cd565b5060006105cd565b80356001600160a01b03811681146113a957600080fd5b919050565b6000602082840312156113c057600080fd5b610e7282611392565b60005b838110156113e45781810151838201526020016113cc565b838111156113f3576000848401525b50505050565b60208152600082518060208401526114188160408501602087016113c9565b601f01601f19169190910160400192915050565b803580151581146113a957600080fd5b60008060006060848603121561145157600080fd5b61145a84611392565b92506114686020850161142c565b91506114766040850161142c565b90509250925092565b6000806040838503121561149257600080fd5b61149b83611392565b946020939093013593505050565b6000806000606084860312156114be57600080fd5b6114c784611392565b92506114d560208501611392565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156115265783516001600160a01b031683529284019291840191600101611501565b50909695505050505050565b600080600080600080600060e0888a03121561154d57600080fd5b61155688611392565b965061156460208901611392565b95506040880135945060608801359350608088013560ff8116811461158857600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156115b857600080fd5b6115c183611392565b91506115cf60208401611392565b90509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b6000828210156116355761163561160d565b500390565b6000821982111561164d5761164d61160d565b500190565b6000600182016116645761166461160d565b5060010190565b6000845161167d8184602089016113c9565b91909101928352506020820152604001919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207c013370caf2dad11b6a87ead4e6ebf970b92dee827e6d0a064bce626836b27b64736f6c634300080f003303a9f8ba7c1c25e9dd535465c9f7ff32eee30c841b0ed342d36490e481238a0c9a03064422222fb606c6746ac3266974b18f894bfa3e6e266481a864a6124775c880036f8568b93e515fe3e66cf5c85c39a9e7ca14cb23b2e992bf85b4b10e8201a66e03602a6a9e1065388a7a42da1562379d9dd6b58742ea9dc6e6929e4e6ba7761dca0349d75ff65333783c9d45065be4b3204a26ab7c61bcc36e2455c426afd163d4ab0329543a6d9cadbc8c761201d92620161e66ffdec844f243138cb0006c39a3f5610300d4b4fbf0ece75158c3363973c3851af852c38152ebd97a3c63bb4130590f5603ba18b176931500fdab4416e14cca32745cedb9707bf6ddef31983cc18575635f00581f0284121ad583e7ea5888d4cff70e0aa5618b04a955d9e033141dee5f613b935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02bf7e728174db1bc2279f71b0b29ccb182f18ec87ba1bef3c07af7c8049a64608ee3e9e5e1d00581f0240b5ac5c5b679830799adcae46e11839c858caf6ac413d67cab364fb57a4483a4965bf58a40000021940a0005820031c7652e8176c3f6aa7cf97d2624a8adfc27d64fa4be6616ee45141061e65805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037963f154da456c63b116a6f72c12dd1fbe89178dc7ed6148bd3b48a38bc8459e00582003db04d97b5398fc8516f51bef4bfbcca4892696a053c820e0760ce5fff9bd005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200381e219fc31a53f94dde85f0701d636247f6726f1b6595cbfede4cd28e668405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219094b03bd735be280d3c823e4437f9d5a24bec4f7e984f4744d2002c4ff513db629f18a03035fd479f4832563c5ebc2cbaa1a03ab194345b5c2e11cc440e15a4cf81d7e3803713ab46d0eff9dfe3db4f3b6d1e3b5ae22c8f213942b9c65b02e3b81515f09590344bcf0523c647ff3370cc81de9c2b617cdbd0fd3dd13ed8387fbf170fe2376a3038dbd48b8771e8581af0e1469e0e0418e09cc285d5c2ea2820db4a6a2986f30f303a548267c460e9607fdcffb4d3a1d31757c15b4e43d959a9c4320f373f569e7f303a29ed3447a13ef067aed58fd30b4f52a63b230d117ff32329519d061dd6383f30358babb24139fea346b1435b14af5d5648afed5e5af962095e5a6f9a1593d3e52036a3bea7d65d83a3ed4305f494f3a1bd2ed9726e827c25ccba99d494194a5975103d2ae6485c12c99b99455db07085184ad92e9f1a06ce12aec6e43dc76a790c736036ed3346f83037aeb447a89da2711180dfebc724fa668d7518a73a1361f654df603d809e6031be2d12f887131c15e3a0097f81af671123bf6e442a957c5c9ac3b31039dd49b28cff72416ad267d9a78bc9ac636ff3e6583fb5e13d76c42c624dd9b1b03a28571874650eed5e78dacf42de1700a475046d2b89dfc13427b16722fa161d1038bdabe0855563b837a19c673e8f788c87fe10c50401c0993fb38ef01d9af721d0219ffff036172a6bf7565ed587254559f8791b38f4496f01b01870d12b783291acd61e44403671a9d8faec5fd30606de8e15a2b2fe35ae21141e327c2b900a99e7c7a5c5d3f03c443344befe401c5c0d57c09e6897f97cfd0f686103cd9fc000b9ec9f51cf6b2037fc1fa5cd4961756246f49aae277b353885eb2e4d4c3a28ad04451bd6ac43ef8036c6aa1c098b2511aa401819c6953662859f446098f2ecad90a57eae17c3b64d503d24441a5604acfb59cdcc8fc9ab92b17cda9549b152f9f32b901fa6907e15d4603fa845df5c6bf36eff6ee10f8bf83f2b73dffdbeb40c478fd5035d1018d26b4ad036731cae416857f34eb44dc4c36f60b77dd6a4e71ac86b7a54a654e204d0814bf0219ffff05581e032d3e27bf49aa9ca56d6d4e0f4fb59a68b8722cc34db09027c5cfc037a007011917140219f26b03855fdc226439ec29c15a56afb1c39f33422a13d8e430997c574af6ca8300990a03f4d6052cf155d6236df2ed727b6b9eed5ce99f5a8efa4909c7b0822ef31143f5036eeb84e7011ac31c9bdd8c8ef53599b5507b6092bd198d487651f9d9ef9e189b03e8759086266d005eb9f68fa1d840950c300667a0944af97f2b25f92f1a608b4f038a24e8e4298a08ad1031ae8fa389037b5f32c14c08094623d882a2ba7d992ea7038d1f46a612eb0d30a08c6596939bda46ab75b974e3019b1d8ea3f866d4ca7a1303f7748e3fae3fc2899e2cf142cf02c12759a9a7be0632bcc4ae3e2219c13fe4ab0397e90c6a0e3190e7b9d7de19ca024bd392ab029b685d5f7acb51d7bf9042b6dc032fd33dad3711d9b18e8a39a7835eba5fcfaac6d3e6f25ac4d5e010b4f3a2f5d40324cf816299a82182a3adbcd87591bf24fff055e20ec41877d2ae169e699c4d2a034ee47e2aa41fd12ef3f4d522ab3496cc51fad469a31008e475b7f2d2168767f603856a67a4bac928e7be2b3184abbc8effdac3831892a62b6fd797df2d2ea0e78003f8603239a037042258c5b1717df342c920deb0d1c376ade438363369724518a4032ef5129d7849b53a33fbeb3d4283dc7763301a0946aa557531c49794c742355c0219ffff03de6dcc8532dc332d744fbf0ee1cbe51fc636f8e3db749a440bc691254e8de075039ad4569313f3699a7c0c250f1ae054b6f85f8f4a47b2725c5a9c43443822515d03741417e4757ce2a7eb2ca18e43130b74b1ad59dbcc4c603fd970f8f97eede7e603e10cff8ff42780eaf58f9b8392dc323b5109662811d227aaeef50505f19f4ff80332881f5877aded57ba0ba4ff2da004ef1f84cfb809c87ae69dbb7d81f58e4d230370cdf11268383f985468a208bf66065db86eee8713418381871bd06091bdca7603ebe5e9ae7716866dab989abf63bf2e03c527dbf86974b962cc9cc46c53f8c3a70372a766a16d12f384b9bc177886a114f19ce86d410d558d8ba81a3eac5e0ab93503092b04fdd037235155d01f4b8b4b5c4d0eb0c5b9a26a0e9867dec2fed7e357ab03a2947dc65d35a02d3b88dc3b1646db1a19035b4a0235a5dd8c18569d19fdc1490375931051f77b01ee8b368c2d604966242a6072a4df438ee33314113bf01900f5036075b5fd03c01c73a398714c58adc509010ad992f8d2c8b928e95affc6de8b370219ffff03cf39cb9e32ab994fcef441d9b845fc93282280495faca9c06325ec6fa5ba07eb0368d849711052927c2bd098b5af1cc6dbf1c7e60dd0ae4800e3b091d36c779d79030cadea0eb0e5dc84ab6693b38a580a6c74fac61654f9847dcef170b4d185ec230219ffff0363a0f8d6aaeabb26bb3ce00a0117a013b120764edf5f3f1a94dbe39a7bdde508030ca228a3f23efe2ae869875d84429aac50fcd24956750f2a4c3064be816750b403e3645a51487ccc3289a0d71249e07cb1db1ca3031f6048394acbe0ea274c0a3503e8ccf808c75ec0de90deb6384ffa01e9e15a3099fe5f1e3ccfb6accdceabbd5a03c58712d67e70bef06e45b21fd762a0fb31c06757bf55b8f4f9c719137ad394720219ffff03d64c01fd7c50a234cf7801bb65b2a248cc4c51d1268a23e50fdcc4630ba94418032a26639e99185d03c02722bddfda4d4b09f2cda81d0cbe269fb615fd2b6cbdf303249b4100bf6d9cc3270c580bc37aa37d404484b9429dc7a00dba1b44108810d503b0c1a8233c462585d501336195e2c88f6305a1434f384fc35b765766e53c53b903088ba7f4f613a03cd76578d8b132266feafa4ac28980c5bcd9a1eed215c644ed034068bb741b5151f076cdea33b39e53d4c3fa97ad15b2c2c569bff000e08c0b9e030b4e3cded120dff5e4e50686412934eabfc61b7ff40f1ba1087fa62454da313c03ee4bc02eeb0ac0a28527e8f9bc35a3c464714c53b5aed2d113d384f0a09fa2f80357dae9f385b1b32ab78bde4bcccbc566e6d2999d4cea19376dd266d93822dd8f03d5b3e980e658ad0f892524d07c9176a19f313a379b84fca49c112e4ed50a9c5b03a5a03c35baf270a9841066d3d5711e90f32d76a92db5ad3ca7def989a765c7db03fa5d16ea4469dd2f44d7730ca3982d990bdebbc7f19e9ef350dd7127a1e8edcb039c06d5c8dee1f8dae7cc1e6ca289f9cbb96303ab72ead8d93b9cfe6527d1ec0803af7cdbfcd9e4544735676888aaeca1da51679d2f4ba821a2ea36a6bd7e29d0a503f3667f14cf16512b41b97312fc6cd12bf2dc32e9961b9bed76c84dcbc1febaa1032faec92c101c5e7d83b946f3d60694bbb60d53749235097872e9dc0d056dd9c603947bc79ea278be72d253304af5b610e2bdeff3335742710d6caf81f821e7d2b103949c14f5cd16776c62993ae326adffab98622998a3d58e31bfb21508fc8d9ac703fe724a73a2464500ef03b60dae4a09cc99ef4d02d9d1d407bc97990981b6e01c03bf9e9b4018029078e651057e2ba68dfb6fae3e17ce3211e4cfb6095e41f13472037a19e5917190188d3cd662153b95adb37691943e4660c829a697c3062284575903b23281d7023cbc71386ab6fad6f462a1a67e236c562d0515199898943aa4dbb0037fb0875251bac8f25a7172373c9fb792bb921764b7314d77badf000612b0ea3903fbab30cd199805dcaf9c7724b506f25b547afeae32db30f1acf14c970b46314903e98240c8eb7e213254de466380f01311e8e001f8934fa20cb9015e72216d34ef03031ca42bf6da4c729811e0da0ae211ff22079e555460966782b4af9ab0f118870390ea4e4bd5b38abd9cd471a4bf3c233ada4cd9dbd26b24c35192373663432593038a7c1679e5b15b0558ae629230483ed86a815cf6d3576587b9ac790333ecbd5005581e030a2551d076064543cf99dd248ec1f3893df6e1fbf5e30769b6003409300c024641bd26b9e388037767628de27d4eee6f74b10af5fbfd6fa2c7f888796f5c34c7ccd301c1d716f001410403562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031a55c395987296a0b8b69800f93d79f229e4d283b33752620c4760f80007011bffffffffffffffff05581e036cbd786c64395650b6a0633deb7fec6c72ebe6acd68abff8db0ceb3c80040103492255d3010466d4d36926f2c5cb0fc347124b9fa31ee55926d7ae64bed238dc05581e03c6c4c79134f977d3d76f0fcaac072256d7442132a64823f6c2f96366800c014701ce9592a49ff005581e031e8d9984d4f22db85b46f474b8c8a5eebc04d0d6ab4bca898c649eec3004181903298d06efb519e15ded428e8d519756e198cf903b09af5f78bd1d3635d0f411da039683dd5a79d93ad673277fc42c35340ed6e585122978b9861c5a66411a1d995805581d02880b0ea6a66ef81a90487672ac1ae78e7c564935202b47947edb93e10c08474118f3551a506005581d026080700b4cb141be7896a85dbabead25011118b3b15ab7b173c100df0c1148087ebf8772cca31105581d02b45f4e0ca0e492a6724a738ddbcc40d5ce3f45cf936848698909a9f604030219104805581e039070a30f5c9f89c30c3a33ea7e94f9735bd47c980e3bdddb53503b0680040405581e032b35060a0379bc72785acb3058d96c6060fc3a17efd95c4849389c0d000c0247013a1ed04f27c80219fefc0219ffff03bb4bb44ec46252f617bae3e0afaaf4eb5a72def6178c626c7f29f5e3d2d467de0337e0b02f1d665120046ce4e728d79949955ce2f3037ff3c6280ca80259cee7d703ebfab9644c3f21dc3ce8d7973b450a501dae570ae37f10e29e613f9dd8c3ea870305e354adab598d731cd420f5467daeaa967dbef3cc22ebf769596558bd75041c03c3e2f90674a48f24a207ae5f49921d6eb78e98cb75a376b0ff7d79d0954b925b037a165778b2a33e7cfd542c5b2cfffcd888a37ff26f681cf7a893d34e0243523703cf539d76d76cf3d18f910f8dca1ff635acd00c4979f602bea0b3e49c0065ea9403aca8d7543d39189c41f04c01aaef8157ca18135dca92e7f1c2f47aa5695238f3036b36db6758c0871e2e3a5e20aa3455412158fa10f59379c232381fcafbd0c16603218cea310930efe098dbd318533eef4534dfbc43ba5e317f9be96abb69acc5100219ffff032c1592a4741bb8d636525edbc4cbfca24ed1a444152becc1839dbd525e2d052e030f452693b797e0f4a62f2685adeebea53fbde4d5a248c2c360120942fec6d60603d03f9c0361b486898c8706f86c3b2c08014e26c68d5570c235db0be3f5b012a8035d65cb6db06e014ab3795a89134001986087b5d2765fa2de0e96eac530bec94903f0dc29dcbaf1e4b2ba7924ffd80a180a8ecf106e2aa98e6aeacf0c15ef7471890387cde6934ec63f577eae357ca1b5044d5c3d019243b09ad8b8a454a3f7e4fb45030337d943ca5ee2246b93e11bad884aa90c792b0814eb817a1d0962bba43331280357514d9d9434a7be5c63391472092510e92d5176de9797e28aecebf1c2508a4b039d98e0a91f86013b5e7a681562af6281d0905c18a9700b7e72a8dae6e6d9a86303d74fdfc82a0de39f83cf4fa95bf37fc787c2e1707e03608b314051c6ca1fdb970219ffff03fe1d37877a810e1b2ae26c68f0a9d1601d92a8056d8093381a8eb2b9572d322f03500146f7ba44b16ef6ff93ad22836288e6f56aaa24f407a290f00dd65e0e388103a0594cc85ac0803a82ba7b5155c49a9f4f2e8cf4c583e7fe58e689ba8dc05dc7033005ea6dca637c91a96497a1c9f9b2155e020b1c357c72f2a3962273acbb117603812a42e72ab67304cb0a3507a7a26dcea6fdca6e2d54dab99446795c3f7426ac0317ba9e2ba4f1212fcb14aed8454d29adc3b50654e06c2a4040debd4866934d47039874020772201c23e0c142ab58abf26fc1e37329a3e78e460190f370cb9a93cf03dd8c464ca856f4a92794d9ab4471390e100fb408ffffcb278f37fa5cce91dff0038dfd02632a0ecde474062ae4d482ae4387540957ef7b6d4e4b20f9577361b977030f0ba49f9b11e30aaaedd2b80d88c14a412f87cec2dcebf48217ae7094c8a2cd034bf1969046086472c43ec90e54f3f096ad690c045f363909be0ed4da669b822603a07c63c9cf9d64dfb14ae82ed3f3f1fd926cad3ea2a8580e116eea1b9e230b6503070da6074dee03a0b15b2ad6abc380d678436f73793a0797bd3e53baf9aa6da80338823a4eba53725e9fc41a15c0a026f0bc2b5cebc62e4e2d915ffd1d1e9b646b03b5a35cd8ad1e8e99dfbe0ae89f5bfff30d720492a7f9ce8d5146de12d06045bb03edce987ccc851c93462f268992e937535a0e6c41197f6f1d095f0ec705b27d3903b15ce5c31e4bb94fbc730d1a39186bcc182c27aae62dda0cf09d645753094c830386aca44e9dbcdbc5d201453e8eb5788b582df3b6922a0204397cd1879636b5d203625e478c824e15d51b1d7204b7558c59b30c050fccf92f2717b952e8f1c2f3590301c90a73ce4c322162d554c3c1c5948f8761ef1e453ba8d17381ff206954754603f67ecb60cf9000e0143e72ac3ac8cabfce2b7f35d09e4cc7c7912db61bde134b035d196cf5de9125044c20b5f67057307b80b0a0497d01e71295e33a247289e54103382054a9337fd40318175d856b85732598922a0bb7f4d76fdfe0fade6db1cf2e03ea4358047499ecd427d3e4aee85cf84228b9a27a2e22dd9cfed559774d09eff9039cb1d5da4d3e45ac246d9167aaf91df2395db8a2ec4b2066b3492fea7352ddaf03119d537ef5cd121d1de5966976362cc3bd62ab4bbebca195ae9f82aabfd3768003ab8cd14b44b32d350dcebf0a1c5a92a39042616ec8b4144f9e53b26cbfebd67703ddfc87ab4ad520b92505afe32570ae68f7b1160d9936e12393dd74cb890b9cde034fe6fbf2101c48bbf352119a5a4680ccef90ae61f61c5ccdc73accf76ab9e7e103902bd39a779b828b0b86df4ef47622a362379092faf094b277292b17b2f0b5ee03fc98f41dd9f4643ad92118e4dece9055bafd9a7ef8fccd4397b73edced3b029c03e5d54e90238dd3636eeb4a5bf7397ee8ccd4d8430a2d8125d411c9ab3eca2e0903ed6629836a693fc3904e59410968b2a1d796767c2b140becc68d96e02f44429403d07d2226cd93ec268560a4d55c13749948be9e1647e5d7d8c2a65a99e5fbd8e103bf82dc8fe17b468cef34e8519c47fb06995b5274daa59ffbeea134fb0101df8705581e0325c448d12b085fd753403fef4aa1bc927808e420696fa9e15c5d3810800c01470a85bad1fa047805581e03a12ffe494c1a877da4dbd8c3acf61a3ac8888effbbea1aa737cad5fc300c18254701481dbc7396f0031eb63a63615655b6fc1f831c1eae3757fd8094a920f4879a82211fd54478726703b7a4b325a81a719360f92813dc2c7ab695feab058ea777c67fe18fde41d7f4a105581e03f37a55458b728c7bd58a02d69af82a8f5bf1ae888f1b3fc802e83898d00c02470cb7fdb44bc00405581e03889179b46bf8f7bb72763406159607972d661409472880e13841dfed500c0147b6134970e4349e05581e038cd9ce32288ab6841df23caa6c147715ec912679aefd5611ff54052e30040403c562850382d9e3a12607f04d572ecf6a2a03c7dd68698a0261b5f106f8aaee9d05581e036fbcae78366dd4aa09d79f63422444ff56bf995ddff3802ad2769731500c0247024392bccc1980021941bf03e4e22022eecc31e8a6a97cafe26a4c7a4bafc153398c307db0c6bc5347f9c9cb03c5c199b7c3e3cf79a52435e0fb559574cdfe6e102c68a4e69edb3345f9d8babc03f7b2a9b7a353438f0b6fbccdaa9d3ca3b069e48764bace569d2f82d218926fcc03b52871d96189139c2fda22ed56022925f8b13d39e0b385a62062baf7dff732620219ffff03c539483739b4309c238e6506aca01cda37594d03239df1c88ac202b13f0f739a03c39b1f14103fc2d6bbc28859b929ecdc3945096b58b263ee275c3bca5fe54504031a7e5103064ab8b958c034481e889d4988cabd268e1b0bd186d60c15c7890fea0377355d330be87357e03fb9c3a29d01e573a2f7cddaacb51faea3528c1286b35f0219ffff03fa1493237962ed27efff96d1e8b5853861c0464b7ba6307cc2663afae27405a2035f13fffaf269d8700eae7a390f6fc1349ddc0cbc5857845e4279dd56cef14d5c039fa9617a11b18a911674f17aed5bfb21d475e67b9ca7811d132f66b309256f3203a1cdd73da5bb39b5a55dec2775ab18749c761f0d7d580b53bb4f5e7fe6fef0450219ffff037eb1a96eda977db7787dfce87fd62ed45370bb71f0b48e9b71a5de5cdd892bbc0394897ea2a721294e9cab7991a08544c759b5d8f7afce0ec3e7178fbec935f0e003a309d4a60a1a0fd06a22330b64a9858206a7d40b63ced4d347111d1ed48ba4de034eb11c4a26702aacc0dff29c4703cb4f55cd6c30b72ee30c37f41aa1a05e2ea503c45d73d67ce747cf4f1b6684fc8aa5eb1a890fda9e0c102501bdfe88c437fb2d0341420d689ae9909eec5b17bb1bddafd94026db4068815df53db3f14a047241e603905cb3cfcdd2db3ad5d9c8c2ecd99edb33ccf46b3212a23485deb074267d7c940399aadde3961db3407b5cfd6bc0f7f3cdd90d28fda47a3bae1975795d91480f0f03e4136df645f9997d1cf8718d84d1ce2a5eeb7767e6e1b9a1dbce50e5993587fb032088b8612bbdcc58733f40b940825b90782bde60c64af2f855e47ec3598c778b037666a4fdef96eafad78d5f4560feed19ab1b55ed4ae69fdab076591bd245e095037e8b820116e209b8771a85f52124fdaf67bd1ea8c5f0cfc2fa500c03043c4cad03ed5ccae27c939d5a3037445dbb3ec65cd07bb91bf81aaf9e1da4f846d2a7771d03f53241003151b9937721a894ff027c9308d64c80046613e95fcdd44e2f755a8e0378d99b571ae904977d51fdceb7e3cfa45c370aaa12c1acebbbfc054f78cb27ed0359b6068f0612eb77c7e0ba3de3015e9902dee2d6d5e8fc2ab9a9975af7f6802503fb8ff2478fbbdbf348caeb17b61ca995e0a4b3602fa87142cf25221b3d1bdc93039fcd20ea4254864ebe270e0ae00809027d5ceb0716bda1c95e4f2c011f2a8dea0368b9b5b839cd7e80aade9ba11b79d2d62d861f8e86345938ffa105b3de5b483d036fe044b7c0e0f8cd73c7bac4638439660d95f3dc9ac28ef55aae04a6d43a9b1505581e033fc51b44e6974c468274aa2432439b7c782b179e3a6d9725d343641540040105581d02cd56d83003d0a44a33b0551f25e4a299a56ee744925ea694a935fa3b0c0646033aff421f7005581d026373e331cff45a70533c7da467ed99d176261a3d0c9b0f214ed8350c040105581d020a204ccf91d9ff03603df5219e5a872f3cccd5640666a6b5e9bb2b1a0c0a4716b1a02abb731704592b4660806040526004361061012d5760003560e01c8063838b2520116100a5578063927ede2d11610074578063a9f9e67511610059578063a9f9e67514610433578063b1a1a88214610453578063e11013dd1461046657600080fd5b8063927ede2d146103ec5780639a2ac6d51461042057600080fd5b8063838b25201461033357806387087623146103535780638f601f661461037357806391c49bf8146103b957600080fd5b80633cb747bf116100fc57806354fd4d50116100e157806354fd4d50146102bd57806358a997f6146102df5780637f46ddb2146102ff57600080fd5b80633cb747bf14610244578063540abf731461029d57600080fd5b80630166a07a146101eb57806309fc88431461020b5780631532ec341461021e5780631635f5fd1461023157600080fd5b366101e657333b156101c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f4100000000000000000060648201526084015b60405180910390fd5b6101e4333362030d4060405180602001604052806000815250610479565b005b600080fd5b3480156101f757600080fd5b506101e4610206366004612447565b61048c565b6101e46102193660046124f8565b610882565b6101e461022c36600461254b565b610959565b6101e461023f36600461254b565b61096d565b34801561025057600080fd5b507f00000000000000000000000011dd2d9b5ec142dbafbefea82a75985eae4e12b05b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156102a957600080fd5b506101e46102b83660046125be565b610e42565b3480156102c957600080fd5b506102d2610e87565b60405161029491906126ab565b3480156102eb57600080fd5b506101e46102fa3660046126be565b610f2a565b34801561030b57600080fd5b506102737f000000000000000000000000420000000000000000000000000000000000001081565b34801561033f57600080fd5b506101e461034e3660046125be565b610ffe565b34801561035f57600080fd5b506101e461036e3660046126be565b611043565b34801561037f57600080fd5b506103ab61038e366004612741565b600260209081526000928352604080842090915290825290205481565b604051908152602001610294565b3480156103c557600080fd5b507f0000000000000000000000004200000000000000000000000000000000000010610273565b3480156103f857600080fd5b506102737f00000000000000000000000011dd2d9b5ec142dbafbefea82a75985eae4e12b081565b6101e461042e36600461277a565b611117565b34801561043f57600080fd5b506101e461044e366004612447565b611159565b6101e46104613660046124f8565b611168565b6101e461047436600461277a565b611239565b610486848434858561127c565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000011dd2d9b5ec142dbafbefea82a75985eae4e12b0161480156105aa57507f000000000000000000000000420000000000000000000000000000000000001073ffffffffffffffffffffffffffffffffffffffff167f00000000000000000000000011dd2d9b5ec142dbafbefea82a75985eae4e12b073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa15801561056e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059291906127dd565b73ffffffffffffffffffffffffffffffffffffffff16145b61065c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a4016101bd565b61066587611460565b156107b35761067487876114c2565b610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e00000000000000000000000000000000000000000000608482015260a4016101bd565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590528816906340c10f1990604401600060405180830381600087803b15801561079657600080fd5b505af11580156107aa573d6000803e3d6000fd5b50505050610835565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260209081526040808320938a16835292905220546107f1908490612829565b73ffffffffffffffffffffffffffffffffffffffff8089166000818152600260209081526040808320948c16835293905291909120919091556108359085856115e2565b610879878787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116b692505050565b50505050505050565b333b15610911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f4100000000000000000060648201526084016101bd565b6109543333348686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061127c92505050565b505050565b610966858585858561096d565b5050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000011dd2d9b5ec142dbafbefea82a75985eae4e12b016148015610a8b57507f000000000000000000000000420000000000000000000000000000000000001073ffffffffffffffffffffffffffffffffffffffff167f00000000000000000000000011dd2d9b5ec142dbafbefea82a75985eae4e12b073ffffffffffffffffffffffffffffffffffffffff16636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7391906127dd565b73ffffffffffffffffffffffffffffffffffffffff16145b610b3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a4016101bd565b823414610bcc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5374616e646172644272696467653a20616d6f756e742073656e7420646f657360448201527f206e6f74206d6174636820616d6f756e7420726571756972656400000000000060648201526084016101bd565b3073ffffffffffffffffffffffffffffffffffffffff851603610c71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f207360448201527f656c66000000000000000000000000000000000000000000000000000000000060648201526084016101bd565b7f00000000000000000000000011dd2d9b5ec142dbafbefea82a75985eae4e12b073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610d4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d60448201527f657373656e67657200000000000000000000000000000000000000000000000060648201526084016101bd565b610d8e85858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061174492505050565b6000610dab855a86604051806020016040528060008152506117b7565b905080610e3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a20455448207472616e736665722066616960448201527f6c6564000000000000000000000000000000000000000000000000000000000060648201526084016101bd565b505050505050565b61087987873388888888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d192505050565b6060610eb27f0000000000000000000000000000000000000000000000000000000000000001611b18565b610edb7f0000000000000000000000000000000000000000000000000000000000000001611b18565b610f047f0000000000000000000000000000000000000000000000000000000000000001611b18565b604051602001610f1693929190612840565b604051602081830303815290604052905090565b333b15610fb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f4100000000000000000060648201526084016101bd565b610e3a86863333888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c5592505050565b61087987873388888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611c5592505050565b333b156110d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f4100000000000000000060648201526084016101bd565b610e3a86863333888888888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d192505050565b61048633858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061047992505050565b6108798787878787878761048c565b333b156111f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f4100000000000000000060648201526084016101bd565b61095433338585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061047992505050565b6104863385348686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061127c92505050565b82341461130b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374616e646172644272696467653a206272696467696e6720455448206d757360448201527f7420696e636c7564652073756666696369656e74204554482076616c7565000060648201526084016101bd565b61131785858584611c64565b7f00000000000000000000000011dd2d9b5ec142dbafbefea82a75985eae4e12b073ffffffffffffffffffffffffffffffffffffffff16633dbb202b847f0000000000000000000000004200000000000000000000000000000000000010631635f5fd60e01b8989898860405160240161139494939291906128b6565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e086901b9092168252611427929188906004016128ff565b6000604051808303818588803b15801561144057600080fd5b505af1158015611454573d6000803e3d6000fd5b50505050505050505050565b600061148c827f1d1d8b6300000000000000000000000000000000000000000000000000000000611cd7565b806114bc57506114bc827fec4fc8e300000000000000000000000000000000000000000000000000000000611cd7565b92915050565b60006114ee837f1d1d8b6300000000000000000000000000000000000000000000000000000000611cd7565b15611597578273ffffffffffffffffffffffffffffffffffffffff1663c01e1bd66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561153e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061156291906127dd565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161490506114bc565b8273ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561153e573d6000803e3d6000fd5b60405173ffffffffffffffffffffffffffffffffffffffff83166024820152604481018290526109549084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611cfa565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b386868660405161172e93929190612944565b60405180910390a4610e3a868686868686611e06565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e63184846040516117a3929190612982565b60405180910390a361048684848484611e8e565b600080600080845160208601878a8af19695505050505050565b6117da87611460565b15611928576117e987876114c2565b61189b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e00000000000000000000000000000000000000000000608482015260a4016101bd565b6040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015260248201859052881690639dc29fac90604401600060405180830381600087803b15801561190b57600080fd5b505af115801561191f573d6000803e3d6000fd5b505050506119bc565b61194a73ffffffffffffffffffffffffffffffffffffffff8816863086611efb565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260209081526040808320938a168352929052205461198890849061299b565b73ffffffffffffffffffffffffffffffffffffffff8089166000908152600260209081526040808320938b16835292905220555b6119ca878787878786611f59565b7f00000000000000000000000011dd2d9b5ec142dbafbefea82a75985eae4e12b073ffffffffffffffffffffffffffffffffffffffff16633dbb202b7f0000000000000000000000004200000000000000000000000000000000000010630166a07a60e01b898b8a8a8a89604051602401611a4a969594939291906129b3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b9092168252611add929187906004016128ff565b600060405180830381600087803b158015611af757600080fd5b505af1158015611b0b573d6000803e3d6000fd5b5050505050505050505050565b606081600003611b5b57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611b855780611b6f81612a0e565b9150611b7e9050600a83612a75565b9150611b5f565b60008167ffffffffffffffff811115611ba057611ba0612a89565b6040519080825280601f01601f191660200182016040528015611bca576020820181803683370190505b5090505b8415611c4d57611bdf600183612829565b9150611bec600a86612ab8565b611bf790603061299b565b60f81b818381518110611c0c57611c0c612acc565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611c46600a86612a75565b9450611bce565b949350505050565b610879878787878787876117d1565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f238484604051611cc3929190612982565b60405180910390a361048684848484611fe7565b6000611ce283612046565b8015611cf35750611cf383836120aa565b9392505050565b6000611d5c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121799092919063ffffffff16565b8051909150156109545780806020019051810190611d7a9190612afb565b610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016101bd565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd868686604051611e7e93929190612944565b60405180910390a4505050505050565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d8484604051611eed929190612982565b60405180910390a350505050565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526104869085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611634565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396868686604051611fd193929190612944565b60405180910390a4610e3a868686868686612188565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af58484604051611eed929190612982565b6000612072827f01ffc9a7000000000000000000000000000000000000000000000000000000006120aa565b80156114bc57506120a3827fffffffff000000000000000000000000000000000000000000000000000000006120aa565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d91506000519050828015612162575060208210155b801561216e5750600081115b979650505050505050565b6060611c4d8484600085612200565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf868686604051611e7e93929190612944565b606082471015612292576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016101bd565b73ffffffffffffffffffffffffffffffffffffffff85163b612310576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101bd565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516123399190612b1d565b60006040518083038185875af1925050503d8060008114612376576040519150601f19603f3d011682016040523d82523d6000602084013e61237b565b606091505b509150915061216e82828660608315612395575081611cf3565b8251156123a55782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101bd91906126ab565b73ffffffffffffffffffffffffffffffffffffffff811681146123fb57600080fd5b50565b60008083601f84011261241057600080fd5b50813567ffffffffffffffff81111561242857600080fd5b60208301915083602082850101111561244057600080fd5b9250929050565b600080600080600080600060c0888a03121561246257600080fd5b873561246d816123d9565b9650602088013561247d816123d9565b9550604088013561248d816123d9565b9450606088013561249d816123d9565b93506080880135925060a088013567ffffffffffffffff8111156124c057600080fd5b6124cc8a828b016123fe565b989b979a50959850939692959293505050565b803563ffffffff811681146124f357600080fd5b919050565b60008060006040848603121561250d57600080fd5b612516846124df565b9250602084013567ffffffffffffffff81111561253257600080fd5b61253e868287016123fe565b9497909650939450505050565b60008060008060006080868803121561256357600080fd5b853561256e816123d9565b9450602086013561257e816123d9565b935060408601359250606086013567ffffffffffffffff8111156125a157600080fd5b6125ad888289016123fe565b969995985093965092949392505050565b600080600080600080600060c0888a0312156125d957600080fd5b87356125e4816123d9565b965060208801356125f4816123d9565b95506040880135612604816123d9565b945060608801359350612619608089016124df565b925060a088013567ffffffffffffffff8111156124c057600080fd5b60005b83811015612650578181015183820152602001612638565b838111156104865750506000910152565b60008151808452612679816020860160208601612635565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611cf36020830184612661565b60008060008060008060a087890312156126d757600080fd5b86356126e2816123d9565b955060208701356126f2816123d9565b945060408701359350612707606088016124df565b9250608087013567ffffffffffffffff81111561272357600080fd5b61272f89828a016123fe565b979a9699509497509295939492505050565b6000806040838503121561275457600080fd5b823561275f816123d9565b9150602083013561276f816123d9565b809150509250929050565b6000806000806060858703121561279057600080fd5b843561279b816123d9565b93506127a9602086016124df565b9250604085013567ffffffffffffffff8111156127c557600080fd5b6127d1878288016123fe565b95989497509550505050565b6000602082840312156127ef57600080fd5b8151611cf3816123d9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008282101561283b5761283b6127fa565b500390565b60008451612852818460208901612635565b80830190507f2e00000000000000000000000000000000000000000000000000000000000000808252855161288e816001850160208a01612635565b600192019182015283516128a9816002840160208801612635565b0160020195945050505050565b600073ffffffffffffffffffffffffffffffffffffffff8087168352808616602084015250836040830152608060608301526128f56080830184612661565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416815260606020820152600061292e6060830185612661565b905063ffffffff83166040830152949350505050565b73ffffffffffffffffffffffffffffffffffffffff841681528260208201526060604082015260006129796060830184612661565b95945050505050565b828152604060208201526000611c4d6040830184612661565b600082198211156129ae576129ae6127fa565b500190565b600073ffffffffffffffffffffffffffffffffffffffff80891683528088166020840152808716604084015280861660608401525083608083015260c060a0830152612a0260c0830184612661565b98975050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612a3f57612a3f6127fa565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082612a8457612a84612a46565b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082612ac757612ac7612a46565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215612b0d57600080fd5b81518015158114611cf357600080fd5b60008251612b2f818460208701612635565b919091019291505056fea164736f6c634300080f000a0605581d02244fcc67d8edcbeaaf420c34c3079f90e330bb01229a89e53ed50bb50701192b46021904c105581e03f58eafd6780061845496401e6d125ac69bfbb2a8180c153536c5793060040105581e03a1c97f77ea5500db4b80ab4e58277c4ee99f4dcee96b6f26a75e6e83300c01474549e74b4b3fb805581e032635ad41dc7d3ccf76b2430a99c4a7ad06b01a41e35fcbfb39a87247c0084764db2d91b4b11803905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e03c2971fe39657299c48b78c29ad36e554812cedcc11dfe6289d5cfe1ad007011bffffffffffffffff03a3b1877e9eecc47b92c287b4f9f2fc9db1d763a979a9841a70cac15816170f5303e4dc1ab4b83da1c35c72a54c8415c1b2440cf854db63a2dfe091e12639d857d505581e03825386ffe3d4ef08b0f8c4a8edd01b13b34147e0a504a0aacb96fcf9300c01472b608a6c4fecd803e573112edd69fe3c9b9dddac4ea3632a4d57bd09aa36d1d2e75aecd89e56a0810219e778034885eef4a698b40be128c96dbf4cb7871d41965e02fdde5c1ae08b26028961f903ed79256a87cebad1cd74d0692ad3860694458f1b4f67b15719954fb3a136895503527e0819818bb7cb02c7ccc12dfa59226ff667aa9efef58d5aea230d5f86f3ff033d4d40a2a96e4e7488c78d9d30bb293bd873fc59da1d2ce4b8b84615bd2d03aa030a510064c95cdc54cad5faaf09922713774d0b99d998220e984c62aeb3b59a3b03e51a93de2d93b36d0f0464a832e144bde4e5af4141a9ebceb4e4f14effbf4aba0327349d8274da05f1a4b6f06b593f421e3e2b14148a9686e7fa738152d586fee703253caac003c594c11d63f8cda85dbb16c81061706a5feb38874ebabc1e6dd90003e79a1741ce0b52894637a0b14a11d489f2a1b9d16c7566c17dc4283d27f064b103bd74d0b8fb6efdf2e8228f81ec6884b64e3db55f33b6e197e6faf72a1043eb4c0352a60772484508830ca769dbc22364edeac61ebb56c80e5b08e53cacfcaab1f6030cd32b9758a453b479b57402319c8e0a09c7a3685df80112ebbbd36c0136781503fe733c04cb135baa663827fbce01638b1f505219bd1b01bd3f3851e36d4db67b0368d5906ec59ee6ef0ad81f93af0b94a27f3fd6ae14e703d4f0eb62ca986b4ed90219ffff03587d914fd6b0604a3f4f39fffab5ea994758a67bf20247acaa2eb67cd8447482039de0d6b0e195e257cb3f718bd32b7e927ff67a2882d187b9a444fbde0c478c02035d35c45ed425066f7c9de3a0473bfbd34a1956e36e80f6a843ca6e7d9257c25f0347eff5bf2e92d5af1090c7399956a92ba268eac5671a525a75997cdc3b78c75e038ef477b232bf1103b521688b728bff0f17552ccd44e39c9f3cad0dac1997d5890339b12b876e42f9fab8f05eff4777b421496545560bfa8f759b0e76b8b4d46f7b0219ffff034780d964bebfb9080e25526307e621c104b84a238a9df3e364d930a99fed68e9033e40d57ec462409300422eb98a49f4d0c7961764ee13f334468b24afe01ba391038f8c1991b3936cfe8f5b3aaac8a70a0922999d9e05e3382f273f0fa8171cc88803dd968f74301fa7b69e9122e4fbe7c8b7daf4e458f09b74e30c45dd1f94d0b3230337d3e57eb0c6bdd027ce6e8c315bb2f68304fa293373f246b917316a91228cc6030c6f82e20ee51bc58e707967cc227a7cbf27aa053151a2e24993790ae75469290304d9a3ee67f51a34a4c313c054ea54aed0e9ac1c7904cea49257997a2113e1c703857b745e881c1e16a448a8a6a88ec6900b52fce2a4006c1f3d7c1705f6a154c103731a750fe919af9b9868a3c309c6a4b69063dc9e589e819d608d81054e58dd460391d1fba747a3ea527444299cb148c47103cb558c64180b9b6c934486c92a457203c1eb1edddde23ff7cff6f88386dcb93e011f981578c7659fb7fed43f909308510373d10fa54bb13fbdf1d6c4f719daf21382d8b469d7b841ae98f1e47b379e47c8032efda9ff5ad7fa6505151c1446188f900ad1b8cb007ffba569dd9d5a7f6f8fe403d314fdff49cf0e09e4a130243c0ce203b36868bef74bf3ad7d245cd6408fd7540219ffff0219ffff031308f0d928b87263b69484ab4aca201cb8ab02a28fe526635a901b4eeefaa6600306f4be00527e10b41fe2b12eedd1b881aeb9c6f18b79ad076594fb793118618d032a0b14c3a857b584ebd219453733de4eaf47976b6051e6c3b5069d706acb2ec80308c7f1fd64ccd6acba9269c3cc23726f179a0959da51e6fd159972a43f03110c030189a89b20c84d2edda5cd597d170b12c8851edbeb8ac224a6712aae5f04904b031edfb0f36582be4680877747d24b50a6da36c3de3006d353c9b1bbd05f335c5403684d089f0c87ba1b2c4d5b31571c8390e7a41b51450184c656a9b02ecd37137303045979ad0dbadc7cf42ec2108dbdbaa2310fddad8744971ce04352d10869216003bc46ec7f365653973cb776d2b00294c2f80a8e5ff1ef25f7bb254661328d026b0332fd471b8e34888515c6b7a31bdf4d016ea6527771585a2105baa448e2b32d230321bb4a57201aa6620897c76f79ce68feadb772e68929bc6854c9c4125c78033403e08711c72dbf6835517db44d5d8f63852aae1d5b277cb5b71b1b54ad898af1e703aba375690a8c6cb21dc4c6a541b2e5fb28e3051c3f28dfd551d75e60c0eb4e7803dcc388409540f66df64e557e34239f0a664c241192119fc86649a732719cc8f903d9dd863a8e9fa832ea72650192b56e0ffd1bf3c74154076eaa7650e14ceaab670364e158d5f9329cf4717e343245726568914aead4794cbfcbe8d67978bdcd051c0399473d5b1b92e788b1677e3c365098f5c2f1179c9ceb2d2923d850875050662a035ae6cf3c4c966521969440a69f9fa239cf0b627f4d3f60735d9ea44170467e3d0350a12f842cf2815d33385e2f00067baf25051f9ffd6186e8ed07dece6fda21dc035b8040c24ec5902393c0141aaf01429008c77fc695932dc8bceda356e76153390331804fb42f566b51bb984eed7f1f7c4e0c91b3cb6135af6535fdeef60c8ad04d03f1c6f24a0169be9ec1ea6eab6e6777821ef43589aaf5dc0e984582db9535e2c60307771aeed162e3fc96ca7deabe554b56aeb1e85b0adc8af84d113d8cddb6ef60035471d811c51a3acd77067caed0ea7229af2f92b44a59ed138839ee7af09e24080342732c0b8602e9425c702d6a87ca672f2a7de089a8bf9b002fb06728ffe2f28303ca08633a6ec389692040f685829adfc7cb858aae0c7d24dfc8edf7a0ecc2e5fa03b748a7ea426ae7d6b52b6b12e296c0932b15e3657ea64575bd0b27cc70d9a57f03f3ffe5591d188a3aad766f6ea15f08e7023d1ddad591f1e3581c5abdfff032120333006d08e66388ee1809e851c1c4ec470643e3866eaac68a2e4a95839f48295703f496b7a2099fe6cd4ad4a5767b6449d7cb86a675997c9d4ea86e5fd3e05f610e03cb515529c12e858fa51c721eb2ab8bcd70f31061c360d7bf40a51a670caa53f30367c88163590afd5fc38c758830045726bccdadeca5f6f24ee32859231005a62303a53ac480a10f7aaaee055058061cd9944c0125bb4d474e86d7b96cdb5da7664805581e03752e57607d0638ec201574b08005bc5dfaed70d83d53eaf8ba3b2b2c400c024745dad1f6b684e00459563760806040526004361061012c5760003560e01c80638c3152e9116100a5578063cff0ab9611610074578063e965084c11610059578063e965084c14610417578063e9e05c42146104a3578063f0498750146104b657600080fd5b8063cff0ab9614610356578063d53a822f146103f757600080fd5b80638c3152e9146102a05780639bf62d82146102c0578063a14238e7146102ed578063a35d99df1461031d57600080fd5b80635c975abb116100fc578063724c184c116100e1578063724c184c146102575780638456cb591461028b5780638b4c40b01461015157600080fd5b80635c975abb1461020d5780636dbffb781461023757600080fd5b80621c2ff6146101585780633f4ba83a146101b65780634870496f146101cb57806354fd4d50146101eb57600080fd5b36610153576101513334620186a06000604051806020016040528060008152506104ea565b005b600080fd5b34801561016457600080fd5b5061018c7f000000000000000000000000909e51211e959339efb14b36f5a50955a8ae377081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101c257600080fd5b50610151610785565b3480156101d757600080fd5b506101516101e6366004614be9565b6108a8565b3480156101f757600080fd5b50610200610f0e565b6040516101ad9190614d3f565b34801561021957600080fd5b506035546102279060ff1681565b60405190151581526020016101ad565b34801561024357600080fd5b50610227610252366004614d52565b610fb1565b34801561026357600080fd5b5061018c7f0000000000000000000000004a4962275df8c60a80d3a25faec5aa7de116a74681565b34801561029757600080fd5b50610151611088565b3480156102ac57600080fd5b506101516102bb366004614d6b565b6111a8565b3480156102cc57600080fd5b5060325461018c9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102f957600080fd5b50610227610308366004614d52565b60336020526000908152604090205460ff1681565b34801561032957600080fd5b5061033d610338366004614db8565b611a83565b60405167ffffffffffffffff90911681526020016101ad565b34801561036257600080fd5b506001546103be906fffffffffffffffffffffffffffffffff81169067ffffffffffffffff7001000000000000000000000000000000008204811691780100000000000000000000000000000000000000000000000090041683565b604080516fffffffffffffffffffffffffffffffff909416845267ffffffffffffffff92831660208501529116908201526060016101ad565b34801561040357600080fd5b50610151610412366004614de3565b611a9c565b34801561042357600080fd5b50610475610432366004614d52565b603460205260009081526040902080546001909101546fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041683565b604080519384526fffffffffffffffffffffffffffffffff92831660208501529116908201526060016101ad565b6101516104b1366004614dfe565b6104ea565b3480156104c257600080fd5b5061018c7f000000000000000000000000f761cc49bb127ab666899b41cdc4e62fa50cd9ca81565b8260005a905083156105a15773ffffffffffffffffffffffffffffffffffffffff8716156105a157604080517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482015260248101919091527f4f7074696d69736d506f7274616c3a206d7573742073656e6420746f2061646460448201527f72657373283029207768656e206372656174696e67206120636f6e747261637460648201526084015b60405180910390fd5b6105ab8351611a83565b67ffffffffffffffff168567ffffffffffffffff16101561064e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f7074696d69736d506f7274616c3a20676173206c696d697420746f6f20736d60448201527f616c6c00000000000000000000000000000000000000000000000000000000006064820152608401610598565b6201d4c0835111156106bc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f4f7074696d69736d506f7274616c3a206461746120746f6f206c6172676500006044820152606401610598565b333281146106dd575033731111000000000000000000000000000000001111015b600034888888886040516020016106f8959493929190614e77565b604051602081830303815290604052905060008973ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32846040516107689190614d3f565b60405180910390a4505061077c8282611ca5565b50505050505050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004a4962275df8c60a80d3a25faec5aa7de116a746161461084a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f7074696d69736d506f7274616c3a206f6e6c7920677561726469616e20636160448201527f6e20756e706175736500000000000000000000000000000000000000000000006064820152608401610598565b603580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b60355460ff1615610915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f7074696d69736d506f7274616c3a20706175736564000000000000000000006044820152606401610598565b3073ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16036109d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d506f7274616c3a20796f752063616e6e6f742073656e642060448201527f6d6573736167657320746f2074686520706f7274616c20636f6e7472616374006064820152608401610598565b6040517fa25ae557000000000000000000000000000000000000000000000000000000008152600481018590526000907f000000000000000000000000909e51211e959339efb14b36f5a50955a8ae377073ffffffffffffffffffffffffffffffffffffffff169063a25ae55790602401606060405180830381865afa158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a869190614efc565b519050610aa0610a9b36869003860186614f61565b611fd2565b8114610b2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4f7074696d69736d506f7274616c3a20696e76616c6964206f7574707574207260448201527f6f6f742070726f6f6600000000000000000000000000000000000000000000006064820152608401610598565b6000610b398761202e565b6000818152603460209081526040918290208251606081018452815481526001909101546fffffffffffffffffffffffffffffffff8082169383018490527001000000000000000000000000000000009091041692810192909252919250901580610c6b5750805160408083015190517fa25ae5570000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90911660048201527f000000000000000000000000909e51211e959339efb14b36f5a50955a8ae377073ffffffffffffffffffffffffffffffffffffffff169063a25ae55790602401606060405180830381865afa158015610c43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c679190614efc565b5114155b610cf7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173682060448201527f68617320616c7265616479206265656e2070726f76656e0000000000000000006064820152608401610598565b60408051602081018490526000918101829052606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815282825280516020918201209083018190529250610dc09101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828201909152600182527f0100000000000000000000000000000000000000000000000000000000000000602083015290610db6888a614fc7565b8a6040013561205e565b610e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4f7074696d69736d506f7274616c3a20696e76616c696420776974686472617760448201527f616c20696e636c7573696f6e2070726f6f6600000000000000000000000000006064820152608401610598565b604080516060810182528581526fffffffffffffffffffffffffffffffff42811660208084019182528c831684860190815260008981526034835286812095518655925190518416700100000000000000000000000000000000029316929092176001909301929092558b830151908c0151925173ffffffffffffffffffffffffffffffffffffffff918216939091169186917f67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f629190a4505050505050505050565b6060610f397f0000000000000000000000000000000000000000000000000000000000000001612082565b610f627f0000000000000000000000000000000000000000000000000000000000000007612082565b610f8b7f0000000000000000000000000000000000000000000000000000000000000002612082565b604051602001610f9d9392919061504b565b604051602081830303815290604052905090565b6040517fa25ae557000000000000000000000000000000000000000000000000000000008152600481018290526000906110829073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000909e51211e959339efb14b36f5a50955a8ae3770169063a25ae55790602401606060405180830381865afa158015611043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110679190614efc565b602001516fffffffffffffffffffffffffffffffff166121bf565b92915050565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000004a4962275df8c60a80d3a25faec5aa7de116a746161461114d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4f7074696d69736d506f7274616c3a206f6e6c7920677561726469616e20636160448201527f6e207061757365000000000000000000000000000000000000000000000000006064820152608401610598565b603580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589060200161089e565b60355460ff1615611215576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f7074696d69736d506f7274616c3a20706175736564000000000000000000006044820152606401610598565b60325473ffffffffffffffffffffffffffffffffffffffff1661dead146112be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603f60248201527f4f7074696d69736d506f7274616c3a2063616e206f6e6c79207472696767657260448201527f206f6e65207769746864726177616c20706572207472616e73616374696f6e006064820152608401610598565b60006112c98261202e565b60008181526034602090815260408083208151606081018352815481526001909101546fffffffffffffffffffffffffffffffff808216948301859052700100000000000000000000000000000000909104169181019190915292935090036113b4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173206e60448201527f6f74206265656e2070726f76656e2079657400000000000000000000000000006064820152608401610598565b7f000000000000000000000000909e51211e959339efb14b36f5a50955a8ae377073ffffffffffffffffffffffffffffffffffffffff1663887862726040518163ffffffff1660e01b8152600401602060405180830381865afa15801561141f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144391906150c1565b81602001516fffffffffffffffffffffffffffffffff16101561150e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604b60248201527f4f7074696d69736d506f7274616c3a207769746864726177616c2074696d657360448201527f74616d70206c657373207468616e204c32204f7261636c65207374617274696e60648201527f672074696d657374616d70000000000000000000000000000000000000000000608482015260a401610598565b61152d81602001516fffffffffffffffffffffffffffffffff166121bf565b6115df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604560248201527f4f7074696d69736d506f7274616c3a2070726f76656e2077697468647261776160448201527f6c2066696e616c697a6174696f6e20706572696f6420686173206e6f7420656c60648201527f6170736564000000000000000000000000000000000000000000000000000000608482015260a401610598565b60408181015190517fa25ae5570000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff90911660048201526000907f000000000000000000000000909e51211e959339efb14b36f5a50955a8ae377073ffffffffffffffffffffffffffffffffffffffff169063a25ae55790602401606060405180830381865afa158015611684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a89190614efc565b8251815191925014611762576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604960248201527f4f7074696d69736d506f7274616c3a206f757470757420726f6f742070726f7660448201527f656e206973206e6f74207468652073616d652061732063757272656e74206f7560648201527f7470757420726f6f740000000000000000000000000000000000000000000000608482015260a401610598565b61178181602001516fffffffffffffffffffffffffffffffff166121bf565b611833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604360248201527f4f7074696d69736d506f7274616c3a206f75747075742070726f706f73616c2060448201527f66696e616c697a6174696f6e20706572696f6420686173206e6f7420656c617060648201527f7365640000000000000000000000000000000000000000000000000000000000608482015260a401610598565b60008381526033602052604090205460ff16156118d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4f7074696d69736d506f7274616c3a207769746864726177616c20686173206160448201527f6c7265616479206265656e2066696e616c697a656400000000000000000000006064820152608401610598565b600083815260336020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055908601516032805473ffffffffffffffffffffffffffffffffffffffff9092167fffffffffffffffffffffffff00000000000000000000000000000000000000009092169190911790558501516080860151606087015160a088015161197493929190612262565b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead17905560405190915084907fdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b906119d990841515815260200190565b60405180910390a2801580156119ef5750326001145b15611a7c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4f7074696d69736d506f7274616c3a207769746864726177616c206661696c6560448201527f64000000000000000000000000000000000000000000000000000000000000006064820152608401610598565b5050505050565b6000611a90826010615109565b61108290615208615139565b600054610100900460ff1615808015611abc5750600054600160ff909116105b80611ad65750303b158015611ad6575060005460ff166001145b611b62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610598565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015611bc057600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001661dead179055603580548315157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116179055611c226122c0565b8015611c8557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b600154600090611cdb907801000000000000000000000000000000000000000000000000900467ffffffffffffffff1643615165565b90506000611ce76123a3565b90506000816020015160ff16826000015163ffffffff16611d0891906151ab565b90508215611e3f57600154600090611d3f908390700100000000000000000000000000000000900467ffffffffffffffff16615213565b90506000836040015160ff1683611d569190615287565b600154611d769084906fffffffffffffffffffffffffffffffff16615287565b611d8091906151ab565b600154909150600090611dd190611daa9084906fffffffffffffffffffffffffffffffff16615343565b866060015163ffffffff168760a001516fffffffffffffffffffffffffffffffff16612469565b90506001861115611e0057611dfd611daa82876040015160ff1660018a611df89190615165565b612488565b90505b6fffffffffffffffffffffffffffffffff16780100000000000000000000000000000000000000000000000067ffffffffffffffff4316021760015550505b60018054869190601090611e72908490700100000000000000000000000000000000900467ffffffffffffffff16615139565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550816000015163ffffffff16600160000160109054906101000a900467ffffffffffffffff1667ffffffffffffffff161315611f55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5265736f757263654d65746572696e673a2063616e6e6f7420627579206d6f7260448201527f6520676173207468616e20617661696c61626c6520676173206c696d697400006064820152608401610598565b600154600090611f81906fffffffffffffffffffffffffffffffff1667ffffffffffffffff88166153b7565b90506000611f9348633b9aca006124dd565b611f9d90836153f4565b905060005a611fac9088615165565b905080821115611fc857611fc8611fc38284615165565b6124f4565b5050505050505050565b60008160000151826020015183604001518460600151604051602001612011949392919093845260208401929092526040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b80516020808301516040808501516060860151608087015160a08801519351600097612011979096959101615408565b60008061206a86612522565b905061207881868686612554565b9695505050505050565b6060816000036120c557505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b81156120ef57806120d98161545f565b91506120e89050600a836153f4565b91506120c9565b60008167ffffffffffffffff81111561210a5761210a614a0f565b6040519080825280601f01601f191660200182016040528015612134576020820181803683370190505b5090505b84156121b757612149600183615165565b9150612156600a86615497565b6121619060306154ab565b60f81b818381518110612176576121766154c3565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506121b0600a866153f4565b9450612138565b949350505050565b60007f000000000000000000000000909e51211e959339efb14b36f5a50955a8ae377073ffffffffffffffffffffffffffffffffffffffff1663f4daa2916040518163ffffffff1660e01b8152600401602060405180830381865afa15801561222c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225091906150c1565b61225a90836154ab565b421192915050565b6000806000612272866000612584565b9050806122a8576308c379a06000526020805278185361666543616c6c3a204e6f7420656e6f756768206761736058526064601cfd5b600080855160208701888b5af1979650505050505050565b600054610100900460ff16612357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610598565b60408051606081018252633b9aca00808252600060208301524367ffffffffffffffff169190920181905278010000000000000000000000000000000000000000000000000217600155565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091527f000000000000000000000000f761cc49bb127ab666899b41cdc4e62fa50cd9ca73ffffffffffffffffffffffffffffffffffffffff1663cc731b026040518163ffffffff1660e01b815260040160c060405180830381865afa158015612440573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124649190615517565b905090565b600061247e61247885856125a2565b836125b2565b90505b9392505050565b6000670de0b6b3a76400006124c96124a085836151ab565b6124b290670de0b6b3a7640000615213565b6124c485670de0b6b3a7640000615287565b6125c1565b6124d39086615287565b61247e91906151ab565b6000818310156124ed5781612481565b5090919050565b6000805a90505b825a6125079083615165565b101561251d576125168261545f565b91506124fb565b505050565b6060818051906020012060405160200161253e91815260200190565b6040516020818303038152906040529050919050565b600061257b846125658786866125f2565b8051602091820120825192909101919091201490565b95945050505050565b600080603f83619c4001026040850201603f5a021015949350505050565b6000818312156124ed5781612481565b60008183126124ed5781612481565b6000612481670de0b6b3a7640000836125d98661307a565b6125e39190615287565b6125ed91906151ab565b6132be565b6060600084511161265f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d65726b6c65547269653a20656d707479206b657900000000000000000000006044820152606401610598565b600061266a846134fd565b90506000612677866135ec565b905060008460405160200161268e91815260200190565b60405160208183030381529060405290506000805b8451811015612ff15760008582815181106126c0576126c06154c3565b60200260200101519050845183111561275b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4d65726b6c65547269653a206b657920696e646578206578636565647320746f60448201527f74616c206b6579206c656e6774680000000000000000000000000000000000006064820152608401610598565b8260000361281457805180516020918201206040516127a99261278392910190815260200190565b604051602081830303815290604052858051602091820120825192909101919091201490565b61280f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4d65726b6c65547269653a20696e76616c696420726f6f7420686173680000006044820152606401610598565b61296b565b8051516020116128ca578051805160209182012060405161283e9261278392910190815260200190565b61280f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e60448201527f616c2068617368000000000000000000000000000000000000000000000000006064820152608401610598565b80518451602080870191909120825191909201201461296b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f6460448201527f65206861736800000000000000000000000000000000000000000000000000006064820152608401610598565b612977601060016154ab565b81602001515103612b585784518303612af05760006129b382602001516010815181106129a6576129a66154c3565b602002602001015161364f565b90506000815111612a46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603b60248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286272616e63682900000000006064820152608401610598565b60018751612a549190615165565b8314612ae2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286272616e6368290000000000006064820152608401610598565b965061248195505050505050565b6000858481518110612b0457612b046154c3565b602001015160f81c60f81b60f81c9050600082602001518260ff1681518110612b2f57612b2f6154c3565b60200260200101519050612b42816137af565b9550612b4f6001866154ab565b94505050612fde565b600281602001515103612f56576000612b70826137d4565b9050600081600081518110612b8757612b876154c3565b016020015160f81c90506000612b9e6002836155b6565b612ba99060026155d8565b90506000612bba848360ff166137f8565b90506000612bc88a896137f8565b90506000612bd6838361382e565b905080835114612c68576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f4d65726b6c65547269653a20706174682072656d61696e646572206d7573742060448201527f736861726520616c6c206e6962626c65732077697468206b65790000000000006064820152608401610598565b60ff851660021480612c7d575060ff85166003145b15612e715780825114612d12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f4d65726b6c65547269653a206b65792072656d61696e646572206d757374206260448201527f65206964656e746963616c20746f20706174682072656d61696e6465720000006064820152608401610598565b6000612d2e88602001516001815181106129a6576129a66154c3565b90506000815111612dc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f4d65726b6c65547269653a2076616c7565206c656e677468206d75737420626560448201527f2067726561746572207468616e207a65726f20286c65616629000000000000006064820152608401610598565b60018d51612dcf9190615165565b8914612e5d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c60448201527f617374206e6f646520696e2070726f6f6620286c6561662900000000000000006064820152608401610598565b9c506124819b505050505050505050505050565b60ff85161580612e84575060ff85166001145b15612ec357612eb08760200151600181518110612ea357612ea36154c3565b60200260200101516137af565b9950612ebc818a6154ab565b9850612f4b565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4d65726b6c65547269653a2072656365697665642061206e6f6465207769746860448201527f20616e20756e6b6e6f776e2070726566697800000000000000000000000000006064820152608401610598565b505050505050612fde565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4d65726b6c65547269653a20726563656976656420616e20756e70617273656160448201527f626c65206e6f64650000000000000000000000000000000000000000000000006064820152608401610598565b5080612fe98161545f565b9150506126a3565b506040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c6560448201527f6d656e74730000000000000000000000000000000000000000000000000000006064820152608401610598565b60008082136130e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e454400000000000000000000000000000000000000000000006044820152606401610598565b600060606130f2846138dd565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d7fffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9018302821d7ffffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f01830290911d7fffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b60007ffffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c182136132ef57506000919050565b680755bf798b4a1bf1e58212613361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4558505f4f564552464c4f5700000000000000000000000000000000000000006044820152606401610598565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056b80000000000000000000000001901d6bb17217f7d1cf79abc9e3b39881029093037fffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a550481018102606090811d6d0277594991cfc85f6e2461837cd9018202811d7fffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d7ffffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084017ffffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e010290911d6e0587f503bb6ea29d25fcb7401964500190910279d835ebba824c98fb31b83b2ca45c000000000000000000000000010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b805160609060008167ffffffffffffffff81111561351d5761351d614a0f565b60405190808252806020026020018201604052801561356257816020015b604080518082019091526060808252602082015281526020019060019003908161353b5790505b50905060005b828110156135e457604051806040016040528086838151811061358d5761358d6154c3565b602002602001015181526020016135bc8784815181106135af576135af6154c3565b60200260200101516139b3565b8152508282815181106135d1576135d16154c3565b6020908102919091010152600101613568565b509392505050565b606080604051905082518060011b603f8101601f1916830160405280835250602084016020830160005b83811015613644578060011b82018184015160001a8060041c8253600f811660018301535050600101613616565b509295945050505050565b6060600080600061365f856139c6565b91945092509050600081600181111561367a5761367a6155fb565b14613707576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206279746573206973206e6f7420612064617461206974656d000000000000006064820152608401610598565b61371182846154ab565b8551146137a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603460248201527f524c505265616465723a2062797465732076616c756520636f6e7461696e732060448201527f616e20696e76616c69642072656d61696e6465720000000000000000000000006064820152608401610598565b61257b85602001518484614433565b606060208260000151106137cb576137c68261364f565b611082565b611082826144d4565b60606110826137f383602001516000815181106129a6576129a66154c3565b6135ec565b6060825182106138175750604080516020810190915260008152611082565b61248183838486516138299190615165565b6144ea565b60008060008351855110613843578351613846565b84515b90505b80821080156138cd5750838281518110613865576138656154c3565b602001015160f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168583815181106138a4576138a46154c3565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016145b156135e457816001019150613849565b6000808211613948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f554e444546494e454400000000000000000000000000000000000000000000006044820152606401610598565b5060016fffffffffffffffffffffffffffffffff821160071b82811c67ffffffffffffffff1060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b60606110826139c1836146c2565b6147ab565b600080600080846000015111613a84576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620616e20524c50206974656d60448201527f206d7573742062652067726561746572207468616e207a65726f20746f20626560648201527f206465636f6461626c6500000000000000000000000000000000000000000000608482015260a401610598565b6020840151805160001a607f8111613aa957600060016000945094509450505061442c565b60b78111613cb7576000613abe608083615165565b905080876000015111613b79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604e60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20737472696e67206c656e6774682060648201527f2873686f727420737472696e6729000000000000000000000000000000000000608482015260a401610598565b6001838101517fff00000000000000000000000000000000000000000000000000000000000000169082141580613bf257507f80000000000000000000000000000000000000000000000000000000000000007fff00000000000000000000000000000000000000000000000000000000000000821610155b613ca4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f524c505265616465723a20696e76616c6964207072656669782c2073696e676c60448201527f652062797465203c203078383020617265206e6f74207072656669786564202860648201527f73686f727420737472696e672900000000000000000000000000000000000000608482015260a401610598565b506001955093506000925061442c915050565b60bf8111614005576000613ccc60b783615165565b905080876000015111613d87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152605160248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206265203e207468616e206c656e677468206f6620737472696e67206c656e60648201527f67746820286c6f6e6720737472696e6729000000000000000000000000000000608482015260a401610598565b60018301517fff00000000000000000000000000000000000000000000000000000000000000166000819003613e65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f60648201527f6e6720737472696e672900000000000000000000000000000000000000000000608482015260a401610598565b600184015160088302610100031c60378111613f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20353520627974657320286c6f6e6760648201527f20737472696e6729000000000000000000000000000000000000000000000000608482015260a401610598565b613f3381846154ab565b895111613fe8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604c60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20746f74616c206c656e677468202860648201527f6c6f6e6720737472696e67290000000000000000000000000000000000000000608482015260a401610598565b613ff38360016154ab565b975095506000945061442c9350505050565b60f781116140e657600061401a60c083615165565b9050808760000151116140d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e206c697374206c656e67746820287360648201527f686f7274206c6973742900000000000000000000000000000000000000000000608482015260a401610598565b60019550935084925061442c915050565b60006140f360f783615165565b9050808760000151116141ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604d60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206265203e207468616e206c656e677468206f66206c697374206c656e677460648201527f6820286c6f6e67206c6973742900000000000000000000000000000000000000608482015260a401610598565b60018301517fff0000000000000000000000000000000000000000000000000000000000000016600081900361428c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604860248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f74206e6f74206861766520616e79206c656164696e67207a65726f7320286c6f60648201527f6e67206c69737429000000000000000000000000000000000000000000000000608482015260a401610598565b600184015160088302610100031c60378111614350576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20353520627974657320286c6f6e6760648201527f206c697374290000000000000000000000000000000000000000000000000000608482015260a401610598565b61435a81846154ab565b89511161440f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620636f6e74656e74206d757360448201527f742062652067726561746572207468616e20746f74616c206c656e677468202860648201527f6c6f6e67206c6973742900000000000000000000000000000000000000000000608482015260a401610598565b61441a8360016154ab565b975095506001945061442c9350505050565b9193909250565b606060008267ffffffffffffffff81111561445057614450614a0f565b6040519080825280601f01601f19166020018201604052801561447a576020820181803683370190505b5090508260000361448c579050612481565b600061449885876154ab565b90506020820160005b858110156144b95782810151828201526020016144a1565b858111156144c8576000868301525b50919695505050505050565b6060611082826020015160008460000151614433565b60608182601f011015614559576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610598565b8282840110156145c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610598565b81830184511015614632576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610598565b60608215801561465157604051915060008252602082016040526146b9565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561468a578051835260209283019201614672565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6040805180820190915260008082526020820152600082511161478d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f524c505265616465723a206c656e677468206f6620616e20524c50206974656d60448201527f206d7573742062652067726561746572207468616e207a65726f20746f20626560648201527f206465636f6461626c6500000000000000000000000000000000000000000000608482015260a401610598565b50604080518082019091528151815260209182019181019190915290565b606060008060006147bb856139c6565b9194509250905060018160018111156147d6576147d66155fb565b14614863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f524c505265616465723a206465636f646564206974656d207479706520666f7260448201527f206c697374206973206e6f742061206c697374206974656d00000000000000006064820152608401610598565b845161486f83856154ab565b146148fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f524c505265616465723a206c697374206974656d2068617320616e20696e766160448201527f6c696420646174612072656d61696e64657200000000000000000000000000006064820152608401610598565b6040805160208082526104208201909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816149155790505090506000845b8751811015614a03576000806149886040518060400160405280858d6000015161496c9190615165565b8152602001858d6020015161498191906154ab565b90526139c6565b5091509150604051806040016040528083836149a491906154ab565b8152602001848c602001516149b991906154ab565b8152508585815181106149ce576149ce6154c3565b60209081029190910101526149e46001856154ab565b93506149f081836154ab565b6149fa90846154ab565b92505050614942565b50815295945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614a8557614a85614a0f565b604052919050565b803573ffffffffffffffffffffffffffffffffffffffff81168114614ab157600080fd5b919050565b600082601f830112614ac757600080fd5b813567ffffffffffffffff811115614ae157614ae1614a0f565b614b1260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614a3e565b818152846020838601011115614b2757600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215614b5657600080fd5b60405160c0810167ffffffffffffffff8282108183111715614b7a57614b7a614a0f565b8160405282935084358352614b9160208601614a8d565b6020840152614ba260408601614a8d565b6040840152606085013560608401526080850135608084015260a0850135915080821115614bcf57600080fd5b50614bdc85828601614ab6565b60a0830152505092915050565b600080600080600085870360e0811215614c0257600080fd5b863567ffffffffffffffff80821115614c1a57600080fd5b614c268a838b01614b44565b97506020890135965060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc084011215614c5f57600080fd5b60408901955060c0890135925080831115614c7957600080fd5b828901925089601f840112614c8d57600080fd5b8235915080821115614c9e57600080fd5b508860208260051b8401011115614cb457600080fd5b959894975092955050506020019190565b60005b83811015614ce0578181015183820152602001614cc8565b83811115614cef576000848401525b50505050565b60008151808452614d0d816020860160208601614cc5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006124816020830184614cf5565b600060208284031215614d6457600080fd5b5035919050565b600060208284031215614d7d57600080fd5b813567ffffffffffffffff811115614d9457600080fd5b6121b784828501614b44565b803567ffffffffffffffff81168114614ab157600080fd5b600060208284031215614dca57600080fd5b61248182614da0565b80358015158114614ab157600080fd5b600060208284031215614df557600080fd5b61248182614dd3565b600080600080600060a08688031215614e1657600080fd5b614e1f86614a8d565b945060208601359350614e3460408701614da0565b9250614e4260608701614dd3565b9150608086013567ffffffffffffffff811115614e5e57600080fd5b614e6a88828901614ab6565b9150509295509295909350565b8581528460208201527fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b16604082015282151560f81b604882015260008251614ecb816049850160208701614cc5565b919091016049019695505050505050565b80516fffffffffffffffffffffffffffffffff81168114614ab157600080fd5b600060608284031215614f0e57600080fd5b6040516060810181811067ffffffffffffffff82111715614f3157614f31614a0f565b60405282518152614f4460208401614edc565b6020820152614f5560408401614edc565b60408201529392505050565b600060808284031215614f7357600080fd5b6040516080810181811067ffffffffffffffff82111715614f9657614f96614a0f565b8060405250823581526020830135602082015260408301356040820152606083013560608201528091505092915050565b600067ffffffffffffffff80841115614fe257614fe2614a0f565b8360051b6020614ff3818301614a3e565b86815291850191818101903684111561500b57600080fd5b865b8481101561503f578035868111156150255760008081fd5b61503136828b01614ab6565b84525091830191830161500d565b50979650505050505050565b6000845161505d818460208901614cc5565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551615099816001850160208a01614cc5565b600192019182015283516150b4816002840160208801614cc5565b0160020195945050505050565b6000602082840312156150d357600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff80831681851681830481118215151615615130576151306150da565b02949350505050565b600067ffffffffffffffff80831681851680830382111561515c5761515c6150da565b01949350505050565b600082821015615177576151776150da565b500390565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000826151ba576151ba61517c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83147f80000000000000000000000000000000000000000000000000000000000000008314161561520e5761520e6150da565b500590565b6000808312837f80000000000000000000000000000000000000000000000000000000000000000183128115161561524d5761524d6150da565b837f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff018313811615615281576152816150da565b50500390565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000841360008413858304851182821616156152c8576152c86150da565b7f80000000000000000000000000000000000000000000000000000000000000006000871286820588128184161615615303576153036150da565b6000871292508782058712848416161561531f5761531f6150da565b87850587128184161615615335576153356150da565b505050929093029392505050565b6000808212827f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0384138115161561537d5761537d6150da565b827f80000000000000000000000000000000000000000000000000000000000000000384128116156153b1576153b16150da565b50500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156153ef576153ef6150da565b500290565b6000826154035761540361517c565b500490565b868152600073ffffffffffffffffffffffffffffffffffffffff808816602084015280871660408401525084606083015283608083015260c060a083015261545360c0830184614cf5565b98975050505050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203615490576154906150da565b5060010190565b6000826154a6576154a661517c565b500690565b600082198211156154be576154be6150da565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805163ffffffff81168114614ab157600080fd5b805160ff81168114614ab157600080fd5b600060c0828403121561552957600080fd5b60405160c0810181811067ffffffffffffffff8211171561554c5761554c614a0f565b604052615558836154f2565b815261556660208401615506565b602082015261557760408401615506565b6040820152615588606084016154f2565b6060820152615599608084016154f2565b60808201526155aa60a08401614edc565b60a08201529392505050565b600060ff8316806155c9576155c961517c565b8060ff84160691505092915050565b600060ff821660ff8416808210156155f2576155f26150da565b90039392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea164736f6c634300080f000a005821031df491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff697042dead0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563041010058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60581c0113050700000000000000000000000000000000000000003b9aca0000582103fa4bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d041010219180605581e0359360a6638d162b9ac073f62295b04d29de54f662b011d55cbcb8eae70070119563703af6307dc617771520c0fb9931b63a0743dd7be67a991d3fbfae371f2e862ffdb05581e03bb759faee6a5680e301dd8edc4bf945e3d8579c8e8c5757b430aa39260040105581e03820730aaecef27a6c7639addb946f3787095c830833e760c4c0501b1c00847038d7ea4c6800005581e031c4171cb86589f4ddbab586788f2670e15d8f4595ee3e06410201fc5500c044743b24df0ff936d03d36541972f37a26211462f75c4c9aa8f6c9c3fbdfd54024492341ae8ac0e358403dc81cf3e277c3474b91518aae70b1cd3ca6e81cb9ade05928f6a2c71bd2f33f305581e038adb015bf31b487aec52a1d59843d156eefb6fe748468cb4e66800f3900c014501c85d549802194b5703f93285e52f8c64472548e87b89eaa834e4bd9c8e02f82629dcb4aac2451b8749034d1afaf6f2f706954db7556a7a2c9345d3914db138ff97ad7b78eb10785e31ef03ddb4bf260f490a397aee98a5acb00a294d2fc148cd8313317df6cd7026089a890219ffff037e0c92d5f3defe9db7b69e60f105f179d853ef69c7cdb6d84833aa41e7002574035fa4515b26e34c534335977cbd2185c5ea6eae136134b527482e957c2ad2006a03ddc083c4017e066e863cfc5863d1f5edec37028835868e4e3c02e67929a08bd2034f29d18271542f874f4740c027db4cee334795fc16074089929aa4c9933fd885030ffa7c4854a984ed8f57a706241325d13d114b90053446d4383dd3485dd9fced0219ffff0344f90bc0befe374d8723607a1109c50205cc75748970befcd492f64a645b32500365629eac6e02d58f844d8af9a9aba2ba4ca5042e81b61b0ee048064b9710ebac0322210870684b7b95320b4db022da063cd695daf956308f8fd8fdb355d5954382036472fb52f1a5b8602db81bd9c633e9faf1be33c952293216159c7790f4b9580603b2fb41ce3ce6b49e8a1054a40ff8bcb4fa5ba5d277ab0c052a20d0ed5c6d0db403db3d67621db585e18eb9da981a019923760abf839628f883ea4e231aafcf6f9d0395ec45b3e460a4a8cfd108ff9af3fd63cf07ad697c0c75ca7bf1cc9fb6add3b1031b273d9638abb1c2b49454ea229e5e6606d8b51cc0207fbb2c5c933805ee39560219ffff031398f5e442c474505a268e481f90d3e69330eb60b282fa1f83ad935425b572df034941909a957a3d9c109a2a612a563dd445fd0e9a6968092b36866989ce2f2183035ed6865d846364b1dd5589ffd007449a0c95083f8cfe6d4aa5efe4a15e5d3386030b048b49a2001b6a62774c28de3858f4e10d2bdad91ed115a6933fc3791a96bb03ff163203706cba03780c1f81ec8eefd09d4d99552ce29c51bf88ee7e48cd0ae203a9e57d26743ee37607c9d4149dc54a3da4d44b50123e0f2ca3beaed889ab22db03a57941ebae8b7df6e365ba16b8d214a5ebc61df381318d60a6e48f2445a6cc7303571e58bed38cbb9aec7c5d3e36b36e32bbcdec884be8da7e5b79e28e062003ad03d109469eabc8648cb7e01e80e0a71d36fc0e109ab9a27c6f8594857e5c1374f403daa687e4819684f82c16645743262d6359af8bffdec83bd00355ca7e9ccca5a603a9307dafd0b8b21db9ba63b96bc5d5e4fc2104c14f745f675fd0bc165765897503232d326ef8306a5affd0c95f636434f16099c078cf7edb9edb72295ade2ca40e03eee5a5845358f59f7484761ef60066b89cb4cda9bbf2b51211ae7110e1d13af4034b13baa47f7f8cd8bcdc567e6b56e0a035e1b05a26e066399c03f0a1fd8922f70374a0358802744e0c98eeee8beb1b7b55c37622cc19bb464808082813ed14db9d03848f56e8c79a5aad4e6415e3f5f41cd2d8f39a538213198dcbd16801ab33853d05581e039b9da0623019afd72f3d765fe0632f88797dc6b28d763403a362499aa00402038ab6a978d828c039f558595c5109297ff77767d53a21b79a188ed84e2f501d3c05581e03ff101ae0ef2e3e63163a908a6571a7a975417123cebae0130d071c5ab008471ff973cafa800005581d034258c0e2f882b5ec47ca2367d996c28a56a5ca393bedb7741ee2cb600c024624383f5fa00004592610608060405234801561001057600080fd5b506004361061018d5760003560e01c806370a08231116100e35780639ab24eb01161008c578063d505accf11610066578063d505accf1461039c578063dd62ed3e146103af578063f1127ed8146103f557600080fd5b80639ab24eb014610363578063a9059cbb14610376578063c3cda5201461038957600080fd5b80638e539e8c116100bd5780638e539e8c1461032957806391ddadf41461033c57806395d89b411461035b57600080fd5b806370a08231146102c55780637ecebe00146102fb57806384b0196e1461030e57600080fd5b80633644e51511610145578063587cde1e1161011f578063587cde1e1461022a5780635c19a95c146102885780636fcfff451461029d57600080fd5b80633644e515146102075780633a46b1a81461020f5780634bf5d7e91461022257600080fd5b806318160ddd1161017657806318160ddd146101d357806323b872dd146101e5578063313ce567146101f857600080fd5b806306fdde0314610192578063095ea7b3146101b0575b600080fd5b61019a610447565b6040516101a7919061211f565b60405180910390f35b6101c36101be36600461215b565b6104d9565b60405190151581526020016101a7565b6002545b6040519081526020016101a7565b6101c36101f3366004612185565b6104f3565b604051601281526020016101a7565b6101d7610517565b6101d761021d36600461215b565b610526565b61019a6105e5565b6102636102383660046121c1565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600860205260409020541690565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a7565b61029b6102963660046121c1565b610676565b005b6102b06102ab3660046121c1565b610685565b60405163ffffffff90911681526020016101a7565b6101d76102d33660046121c1565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6101d76103093660046121c1565b610690565b61031661069b565b6040516101a797969594939291906121dc565b6101d761033736600461229e565b6106fd565b610344610793565b60405165ffffffffffff90911681526020016101a7565b61019a61079d565b6101d76103713660046121c1565b6107ac565b6101c361038436600461215b565b6107fc565b61029b6103973660046122c8565b61080a565b61029b6103aa366004612320565b6108ed565b6101d76103bd36600461238a565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b6104086104033660046123bd565b610a9a565b60408051825165ffffffffffff16815260209283015179ffffffffffffffffffffffffffffffffffffffffffffffffffff1692810192909252016101a7565b606060038054610456906123fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610482906123fd565b80156104cf5780601f106104a4576101008083540402835291602001916104cf565b820191906000526020600020905b8154815290600101906020018083116104b257829003601f168201915b5050505050905090565b6000336104e7818585610ad7565b60019150505b92915050565b600033610501858285610ae9565b61050c858585610bb8565b506001949350505050565b6000610521610c63565b905090565b600080610531610793565b90508065ffffffffffff16831061058a576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810184905265ffffffffffff821660248201526044015b60405180910390fd5b6105c161059684610d9b565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260096020526040902090610deb565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16949350505050565b60606105ef610eb7565b65ffffffffffff166105ff610793565b65ffffffffffff161461063e576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b336106818183610ec2565b5050565b60006104ed82610f59565b60006104ed82610f88565b6000606080600080600060606106af610fb3565b6106b7610fe0565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b600080610708610793565b90508065ffffffffffff16831061075c576040517fecd3f81e0000000000000000000000000000000000000000000000000000000081526004810184905265ffffffffffff82166024820152604401610581565b61077061076884610d9b565b600a90610deb565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169392505050565b6000610521610eb7565b606060048054610456906123fd565b73ffffffffffffffffffffffffffffffffffffffff811660009081526009602052604081206107da9061100d565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000336104e7818585610bb8565b83421115610847576040517f4683af0e00000000000000000000000000000000000000000000000000000000815260048101859052602401610581565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf602082015273ffffffffffffffffffffffffffffffffffffffff88169181019190915260608101869052608081018590526000906108ce906108c69060a0016040516020818303038152906040528051906020012061105c565b8585856110a4565b90506108da81876110d2565b6108e48188610ec2565b50505050505050565b8342111561092a576040517f6279130200000000000000000000000000000000000000000000000000000000815260048101859052602401610581565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886109848c73ffffffffffffffffffffffffffffffffffffffff16600090815260076020526040902080546001810190915590565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006109ec8261105c565b905060006109fc828787876110a4565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a83576040517f4b800e4600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff80831660048301528b166024820152604401610581565b610a8e8a8a8a610ad7565b50505050505050505050565b6040805180820190915260008082526020820152610ab88383611158565b9392505050565b6000610ab8828461247f565b6000610ab882846124b9565b610ae4838383600161119b565b505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610bb25781811015610ba3576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260448101839052606401610581565b610bb28484848403600061119b565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c08576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610581565b73ffffffffffffffffffffffffffffffffffffffff8216610c58576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610581565b610ae48383836112e3565b60003073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000009e6be44cc1236eef7e1f197418592d363bedcd5a16148015610cc957507f000000000000000000000000000000000000000000000000000000000000000146145b15610cf357507f1af91957da4b743af328a5e6ffad70adaea3203666f431fea597725427fbb7c590565b610521604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f3514df5797eac466878340977208f9e4ef0f47cfaac3c07632d9928a09c779f8918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600065ffffffffffff821115610de7576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526030600482015260248101839052604401610581565b5090565b815460009081816005811115610e4a576000610e06846112ee565b610e1090856124ec565b60008881526020902090915081015465ffffffffffff9081169087161015610e3a57809150610e48565b610e458160016124ff565b92505b505b6000610e58878785856113d6565b90508015610ea957610e7d87610e6f6001846124ec565b600091825260209091200190565b546601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16610eac565b60005b979650505050505050565b600061052143610d9b565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526008602052604080822080548686167fffffffffffffffffffffffff0000000000000000000000000000000000000000821681179092559151919094169392849290917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a4610ae48183610f5486611438565b611463565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600960205260408120546104ed90611683565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260408120546104ed565b60606105217f417a75726f00000000000000000000000000000000000000000000000000000560056116cd565b60606105217f310000000000000000000000000000000000000000000000000000000000000160066116cd565b805460009080156110535761102783610e6f6001846124ec565b546601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16610ab8565b60009392505050565b60006104ed611069610c63565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000806110b688888888611778565b9250925092506110c68282611872565b50909695505050505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600760205260409020805460018101909155818114610ae4576040517f752d88c000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101829052604401610581565b604080518082019091526000808252602082015273ffffffffffffffffffffffffffffffffffffffff83166000908152600960205260409020610ab89083611976565b73ffffffffffffffffffffffffffffffffffffffff84166111eb576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610581565b73ffffffffffffffffffffffffffffffffffffffff831661123b576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610581565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526001602090815260408083209387168352929052208290558015610bb2578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516112d591815260200190565b60405180910390a350505050565b610ae48383836119fc565b60008160000361130057506000919050565b6000600161130d84611a9c565b901c6001901b9050600181848161132657611326612512565b048201901c9050600181848161133e5761133e612512565b048201901c9050600181848161135657611356612512565b048201901c9050600181848161136e5761136e612512565b048201901c9050600181848161138657611386612512565b048201901c9050600181848161139e5761139e612512565b048201901c905060018184816113b6576113b6612512565b048201901c9050610ab8818285816113d0576113d0612512565b04611b30565b60005b818310156114305760006113ed8484611b46565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561141c5780925061142a565b6114278160016124ff565b93505b506113d9565b509392505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260408120546104ed565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561149f5750600081115b15610ae45773ffffffffffffffffffffffffffffffffffffffff8316156115945773ffffffffffffffffffffffffffffffffffffffff8316600090815260096020526040812081906114fc90610acb6114f786611b61565b611bc1565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611589929190918252602082015260400190565b60405180910390a250505b73ffffffffffffffffffffffffffffffffffffffff821615610ae45773ffffffffffffffffffffffffffffffffffffffff8216600090815260096020526040812081906115e790610abf6114f786611b61565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051611674929190918252602082015260400190565b60405180910390a25050505050565b600063ffffffff821115610de7576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526020600482015260248101839052604401610581565b606060ff83146116e7576116e083611bfa565b90506104ed565b8180546116f3906123fd565b80601f016020809104026020016040519081016040528092919081815260200182805461171f906123fd565b801561176c5780601f106117415761010080835404028352916020019161176c565b820191906000526020600020905b81548152906001019060200180831161174f57829003601f168201915b505050505090506104ed565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411156117b35750600091506003905082611868565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015611807573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661185e57506000925060019150829050611868565b9250600091508190505b9450945094915050565b600082600381111561188657611886612541565b0361188f575050565b60018260038111156118a3576118a3612541565b036118da576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028260038111156118ee576118ee612541565b03611928576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610581565b600382600381111561193c5761193c612541565b03610681576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610581565b6040805180820190915260008082526020820152826000018263ffffffff16815481106119a5576119a5612570565b60009182526020918290206040805180820190915291015465ffffffffffff811682526601000000000000900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16918101919091529392505050565b611a07838383611c39565b73ffffffffffffffffffffffffffffffffffffffff8316611a91576000611a2d60025490565b905079ffffffffffffffffffffffffffffffffffffffffffffffffffff80821115611a8e576040517f1cb15d260000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610581565b50505b610ae4838383611de4565b600080608083901c15611ab157608092831c92015b604083901c15611ac357604092831c92015b602083901c15611ad557602092831c92015b601083901c15611ae757601092831c92015b600883901c15611af957600892831c92015b600483901c15611b0b57600492831c92015b600283901c15611b1d57600292831c92015b600183901c156104ed5760010192915050565b6000818310611b3f5781610ab8565b5090919050565b6000611b55600284841861259f565b610ab8908484166124ff565b600079ffffffffffffffffffffffffffffffffffffffffffffffffffff821115610de7576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260d0600482015260248101839052604401610581565b600080611bed611bcf610793565b611be5611bdb8861100d565b868863ffffffff16565b879190611e81565b915091505b935093915050565b60606000611c0783611e8f565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b73ffffffffffffffffffffffffffffffffffffffff8316611c71578060026000828254611c6691906124ff565b90915550611d239050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015611cf7576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024810182905260448101839052606401610581565b73ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff8216611d4c57600280548290039055611d78565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611dd791815260200190565b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316611e1357611e10600a610abf6114f784611b61565b50505b73ffffffffffffffffffffffffffffffffffffffff8216611e4257611e3f600a610acb6114f784611b61565b50505b73ffffffffffffffffffffffffffffffffffffffff838116600090815260086020526040808220548584168352912054610ae492918216911683611463565b600080611bed858585611ed0565b600060ff8216601f8111156104ed576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82546000908190801561204a576000611eee87610e6f6001856124ec565b60408051808201909152905465ffffffffffff808216808452660100000000000090920479ffffffffffffffffffffffffffffffffffffffffffffffffffff1660208401529192509087161015611f71576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805165ffffffffffff808816911603611fd35784611f9488610e6f6001866124ec565b805479ffffffffffffffffffffffffffffffffffffffffffffffffffff9290921666010000000000000265ffffffffffff90921691909117905561203a565b6040805180820190915265ffffffffffff808816825279ffffffffffffffffffffffffffffffffffffffffffffffffffff80881660208085019182528b54600181018d5560008d815291909120945191519092166601000000000000029216919091179101555b602001519250839150611bf29050565b50506040805180820190915265ffffffffffff808516825279ffffffffffffffffffffffffffffffffffffffffffffffffffff80851660208085019182528854600181018a5560008a8152918220955192519093166601000000000000029190931617920191909155905081611bf2565b6000815180845260005b818110156120e1576020818501810151868301820152016120c5565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610ab860208301846120bb565b803573ffffffffffffffffffffffffffffffffffffffff8116811461215657600080fd5b919050565b6000806040838503121561216e57600080fd5b61217783612132565b946020939093013593505050565b60008060006060848603121561219a57600080fd5b6121a384612132565b92506121b160208501612132565b9150604084013590509250925092565b6000602082840312156121d357600080fd5b610ab882612132565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e0602084015261221960e084018a6120bb565b838103604085015261222b818a6120bb565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b8181101561228c57835183529284019291840191600101612270565b50909c9b505050505050505050505050565b6000602082840312156122b057600080fd5b5035919050565b803560ff8116811461215657600080fd5b60008060008060008060c087890312156122e157600080fd5b6122ea87612132565b95506020870135945060408701359350612306606088016122b7565b92506080870135915060a087013590509295509295509295565b600080600080600080600060e0888a03121561233b57600080fd5b61234488612132565b965061235260208901612132565b9550604088013594506060880135935061236e608089016122b7565b925060a0880135915060c0880135905092959891949750929550565b6000806040838503121561239d57600080fd5b6123a683612132565b91506123b460208401612132565b90509250929050565b600080604083850312156123d057600080fd5b6123d983612132565b9150602083013563ffffffff811681146123f257600080fd5b809150509250929050565b600181811c9082168061241157607f821691505b60208210810361244a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff8181168382160190808211156124b2576124b2612450565b5092915050565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff8281168282160390808211156124b2576124b2612450565b818103818111156104ed576104ed612450565b808201808211156104ed576104ed612450565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000826125d5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220fdad3bc40f053fafbc4b89055732376ce3267be76cb61f31ba9fb5a3198d07ca64736f6c63430008180033039d304dee9ba0dee5bef1939d679c0e307a0c1e949cc9b141095eeeaffde1632503019d84e7953bbf2f0612b60672128d23ee23115fe59e9f6bb36d030306747840030ec8d7ef829cd336674d1ab646092fa5cc9876df3a986c00d056126ddf9bbd6903a3fa540cb25b55b9696a30ecc60955c496a2c90a6957ca7f416171750430244303f9a73678cfbf8dddb27e12b0b5141119d004a8a00e97b056a95caca7374e5e89037fe9c702d99509452c91ab581f249f2e9ca0ca26df62ad0cd0372b21bff1c643034fe9a437d07c51aa8d0e76e10fbdfac605e3fbdd2c1078841eb7de3ee28af5cb0058200306f9652ec0804affafe2eb3f9f790d49a226be8d1de1fe5576d446eba3a04046ef0a496b9a2000582003782b1f9c9dd717f9139dbf6a40cd8e1b624e8c56c31d81dd50d565410ff470493635c9adc5dea00000005820036909eb3dfb9888b53922187e299129a79837d047773c7cfc922562ec14c270491ce2632c5ddf44752000582003a8ae219186d8aaa9b0b411ce07bd082222f990a9aff50af521ed26a3c55d304952dc384794b34439e00058200301cb44e73ef6c0d375b7a2d469ac153ab0dfa8e21e70b282cb72e3068ee5c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d6cbfe502757d3e4d1bc61611e02f81e97095c1a11e85dd35d334afda496f99800582003b9ed5b325c92ada8552fe22f75edbcb03692d39b9e26188471c91042ffec80490d7264e5d8e370d2e003ddfdc707017a2a7746c0ebd8845b500ac5e9798be2fbedf39eb5a9f54ed36979032f6f291e67bfff3dbe5c8969a71d3210ec7a9938c45464be2060555ea86d9e5400582003bc2a5111ea6a5780b1748d8412b4173dd6112e2f0784429d2622743b877380493635c9adc5dea00000030570bd98aa1282007d8b51f1c9c0ab9db428d5d470ea6b858246efce385469790219bda7034dc82d1e42b2a26296c4987cffaccf5991975b78d4bf761418eb11298b52f5a60389a6fbc3029a69800b7da325056d434eafee5df192a00bdda46b36ff462aa8dc035782e3b4d353147a956c582cb4e34980432c596bf07d0fd95cd46070b0b9ece003045dd3885d9cad1b700996990159e7550dad08b7adf39f853aee198d7be6ba180322bc0a48dcea4e9f01a2934225d6b105b6930b3874849f5ff3616b9fafd981b303e079cfb07aa3f31b0654b5424ee7b47c191e7f142700bbec86604e43bbbdaefa03ebeea54f2bf92e09bbe30155415697c46c445e5bcd950a0f58aa22ad1941f3f20391700fecd0320144838e8b9ad4ffe1752314603df612d65ec6a171ba5dd5cb510219ffff03c4ef3dda6520ab8c5a7ed2cc9e3356a657a5a4f676ea38a2ebedd5f2f7901e9b03ab2984b2b666ca3489d0ff189b8230e947f95a19dcb08e75b2c72a3a7137b9c203dc9a8005ea9546ecc31b371ec555f28181e0c7cea277a60cf7df513575fb6e27031157f84fc593e5098c1bb9e98a5882678b33f3e33e14c1100a8dcf87b45ff73703e6565041d797672890bf2151dd0be674d465ae4582a9b0ac5a9c753d4120dbcd03d435b431152c0c7bbec461aea5087798279578e749a42e7d11f2a44d4f540857031d82f88a83659d9121dd4d46034ad5cd1187befabf8e8d40bae476856c152d6603ff0d5a965aee8a09600ccaaa344c5133d0bc1c47e26b23aa44413cfc046c5ce903cf92286328714d12e6a7968f3d3742a60d271e2ea2dd0bc66e6344828a9b152e031cdf12e32df8c7886669ca06bf9899740731bba35936b30ca7ed2c4a54c69da4037a37836bc2e820a5f323f2e1a1c5f0e8d8be236de8c1b51b44c73bd84ef657aa03545539ef707ed524c9ea02236bae36b91948ee961723cd1edd22e38128b3a88c03b12821533ad9a0952bd407d8b5f058958c9fb726177c0b9b8055c6861a841c2b03f5bbf4f56deb78999cbcf1f09a9c0ea9ab479234f028e2c08f8dd057e2dad1d6037f359d6154bdbae1c2cc28682144fcf8a8f41548f4efc0d94b0585fa6f9d0bde03027a9fcb1bb0d6a7811bf43fe6ced74daa58305b0f0a9be8939fdf5d5bc9205c005820032750a70528567c7dd633b4666a6170893ad3ac20693501974c8ca883e6d5c04965ce0347b01d4cd91900582003db11a31c0c69750c02f26d707ab6a25f0dc4052ed67f3920028c13ffb39f605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e23dcb64a762c7a8d99b08602f8a81403aa120ee0aa43fa3eb20255d6805a45a00582003b427b87e4eb7190626fd6bbdfd6ea02e1f59f6ba7cf67e4b1e67744e82cf1049432b63cef40b226500030a260df9bf80c346cf963cf44005594ffacbb5d0e2660fa62535d21f0bccfaa2032ede2ce80b5e8a0b285395117e3c9cb05f140d2d1fc0d2dcb22b870d9967a702005820030addfe61b2d6c849d92cd52e23ece4d333a27439729d3d53f013a60b5e3fd04902212f8b833e1c61b000582003c08e4851298c548995509760babf7e6fe080b96853828b8be003a9b608e7d0493635c9adc5dea0000000582003eb288926097961eb5a31ad475311fc98a59a62e8eb70f63a1f00e3e5bf36b0496c6b935b8bbd400000031f44c458d65aa18b06209d2e5925ddf8af4b78ba2206210d2e0ac6cf1eb9969600582003236d27123f2f15af8e17e817c7a805af4cad3850092b33ddafe39c8e6ca2c04996bce7f039bce0b1000219ff1903245a017bf68c50319974fd4d296e6396c7117ebe57959af7bbf02d4ee87bfe7303679cff2155dd6f166f25a1d4e20f02d5dd1e74a4d0dcd6234a19ce4ee283abc6032685389b8702d5ce10f50f53623d0dd14cd3f57242c1b5a5a0554601b161859f03ddddb8661b16a5b35a35e9a3fa86f25587986ad25911bae8b35315d5b9826ca70219ffff036daa9d6160b446f179d30009779675ef411cb4a1a37e546d245e90a35da3846003b96815fcbc792f80e781552b557b43f65ae3be860270461cfc83e7d3f53ec18403afd6fc27bcb7471c0b98b2158d8ed0bd694b7b4bcbf2ba5efefe955cb3e995df034477f2a8d3f7cff36c66c629a4cfeb56d21e8542b75ff3d107df55b69094423203b293d52db06d6675fb2ea4d2ef87f59ff34fa9519459541516af3992ef7d4cb5034b34438ccd3c4b094f4590cb1a17bfcef43614056540eb73957c7f8140baed2103365d8b64def5a1d27620f0826ec4a4a59f3bdecb14ffc35cde49230b4136402303b3591454b8acea42f9def3dbb459657a87df3cf3ce1122474ac40826afd3473f03aba39dd476e920e9cb42b8704b8e41192a1441ec416c6bf7c65654a4fffb431d00582003f5ee28077c70c37327cc7afd748babd8cbcc3c54b9f7cc7ef00232b181e2805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034bb51d9bc3d7d0ab32e0fbbf2bd5fe1d0da389723ae0a7f0babb2a34231b9f250378892288d1b1147997ee443040af04444e45f00bb43737cc41888f9f516739a50058200372b6c29ee1e2adf377ca488c3f7bf08fe5a3d730ea0ab3f3f6a6da009cec805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0347931fbb31a52b21baa795652f96960b4e196d95935b0f80da9b0d46cfb57775005820030097c93f5cc4fe18b982304dff213bb28b7fb8a631020bd4780466af2b9b804912c4c80a7ab87e2b60034fe5b24dd3c27b71727a2184b45009064429df4128e94e864c212b3a8ac6e8a200582003e312ea336f9d1bd314585f035ed1606eb0d35fd13e3551f9de23b9f3086790493635c9adc5dea00000036d5b9eb760f0c5ae016f2ab07ceea1ddc7a641aba040033851420df479659d2601410203defcc516e7270e90ed8cab6f8e61f77df9e1e1d45489b178080ccbb23d56e7d6005820034b3c54c43210963a11dc56f608dbbb0a2f5a72533c556c7868864bbfcf6b805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a6bf032c86b538a27ac05f3b1d5b754f2c45dcf05b20cf0a4e44edf8cab3e1c14edc2303d6f3cb05b82ec0e1515fe817464c6be92178b3f534ae6c1b71ff04ba3c6d3e6e03b7e6f5109f078d40bcd7a714969b411ff4237527915395f8e3da294c4b2e1cf603129127a1873a529f371ce9c0dd68b594d1ef98f261b5c1a52d9a5da1edf67e2a036f0a54505cd6c5767d2263d319cd5616978897fb62266ffa76660ac33407d8cd0345f9c36fbeecaaa16d07d98c1872021a9464298bdc248ebf5c59c6231931f824035465a31bbf4f5aad4985cae31027979b28c23affcfad2c54345a49f6cf408e8503a5363c4bb6e1120bb19dad6738bcbffc98c8fc44c35296327be88ae62a96cceb0337dca190b401cde0e3c9bd5b30b1fc4aaa46da2389ed736cb0e1d5a816bd1d8103c67593103f9b00d8b84b80f9efb32d4a326ce9f9ea8a334c3419445562a3838903aabd0626f1da2e6240b8899ca2c751e0ceecc3c5b9e6f193d220f69ae8f72e280219ffff0315b1c10ccd690ff0e880c8398a7664c32b77e3daea76ee0ce5ee605f520c77e60391f3c9ca8bfc5041928bb53728f876038b1e3f1a7443be76958b355310583f95035dcfdc976c301e3977ff7b8b8fc16c4d3e4f35c8fe8f249bfba9d3924050bfc3035ee09e9c12b350dbd721c696aaa375fa4305cd963bf3adc7233235494d4c3a9003632f27dc6ca8d4c3231d44afae622f782a178ac61dc1dfffc590040a0a5f73d7031409edc2eeaedf8334930defa9720a966ffc90d535340b50d64ff5097b2aeeed03171544cff607e6585d20e42cdbf176ff412e106109a3fc9285b68f3e5cc502be03608bc8e3eaa6d09405b729f8c539b40f05b16e3cba4bbb38947e454b081c346d03d20525bea4eb074b5fcc52cf145aca8351ec4189cfec043add4740f69928cc5a034438803226901e89234b1956bab1048f36d43e94311b4f2579745e8fa7cfb4e7034b53b5daa3b16270000120c52be0965e196dee0905c10ca6c7a4ae8b3c0818d70328df2d0b446c5ad344a567a55e8f248f73c6a9bf86a285266fa6938cedc82a7d03a807c894fba0193f75afba25c14724073fdae128e9df8522a09cf6e2deb5853d036a3a9048d0f4dad24444ebc84c15b1fb419a84a06a35e203312911ba33d4d2dc0058200365d538a05fecbe9063c93053567b3bbbc81fe0eac0889f32c02337b4bf1f505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b569c045a16e4e4a7011e833a0a622b2d054b24268db7b0de904da4aa7751a270313d7596463dd1b669185e27f4aa8e64e86f188bb3228a925375a7c040202980d005820039a4f1b68003bfef8da51327b35278a5f40e3e5e6fb1478b877a9f864dbb2404a08735c8e289cd8008a8003c54202b47d7769941661a6b2001a85a0c5b21caf9e2644025c5a412b78761629005820030badcaca937ac134534559da8a53f7b4df184da37fca50a2086dd5960071904b07a673c8490b19e88e00430330fedf81df92101e09739542643efbe69dbacf3cafde199d47e9ceb1944be26e03688943505d661e4081ae4586f6133d6161aebe6a1cc8824ebf30583d4b0b471d00582003e5fa19e68d433388def491eda84ae0fdf2335c2546bb121e4df09ca602aa30492780b2e992d454a6400219afd003004efec127263eaffea4ccd2105b69896fa02cd26ab1c961a702157d413d1df00219ffff03d3f8273566f5c5ed13bbc720b718d62361225cd404b030ec2f73ceff35ed7b3b0361451da1a5c41daaaaf883696ddec0519d3604a8ceeb834c26bbe2db573c36d80219ffff05581d0306fcf2ff1d11ee81af93ebd6f5651101d64ea63591cdf243c99a362007011926100219801001410805581e03211ce2d5b9f436424e04a5c321296c9b177e9de3ab22e97234d2ddfee004030381b8aad2206293c332a4831faf83a5178ca2cbe77142ab40643e0d3d4973b7d603b2f61d6562d38bf605377dceaaca892f8597a1480401c41be7f5a76ba42c113505581e0390ce4461e6a5741d955843cf67e5d605a733f668d333fadc0bdbd36bc00c0b46474660f5bc0003d80cd839dd3957d572b90780ada202a13936fa2875daea94216263371e9ef1d20605581e0314fd662a7d7f833cd38f8c98e5300033da3a2a649e7710aa3348a4d60007011bffffffffffffffff034364c39f90bf7166215817504fe05dc570a4068ae782b5781627c79efeb41941032c6c745a17cd44ad68796100ee23dd5916855f803d3078060a3f522b33cfb4750219f6ab0321064c5632aaf93c3e09cdc54f73e74506f4bef04ebe4733df3ef3becad3d8180324d328eccb39dd5fa1ba1f7d545157355e063c4d77dd4eb88135bdfbfd2b5693034df36e1db09e6a5390a91be3413269e4188e3d3cfa8f3c54a0c4f4d8b58148a603b2af488a16148254018cc7da056b2fdbf96971ec7c13c39f380a7ebff181972b0219ffff03114cfd7ce9b544b64c391d975bd259103e1f155525db1523801f6236f98121de03785608a7f05ea55d442ff17a3d1af4f3921b20d9e5d45b297f9d15d6e82fa09703064fc856657c7d8efc25ef312539ce60737c59265738e6bb2f17ab73f199fb62032a51de5638be0981b7c9db5e03db46f79ad619cf95d969eb89cdaaadc7eff2ed03bf76587abd1f952701655f6d04a9fd7eb421554a13aaddfd7e8f5a6c5a4a2fd003a799f3ffb60c5c26e29778c3807b51c2df375207e911076beb58abc8748734a703b61b882a74df2f439a8360c4bd15574573271657868d6a774b943e13492e05a403fad88e06ace22b278537657e6495f1dfdfb43d8b027d90c2f540e01a0dde1929035d88a254e22f089e35331e29269595bc71d5b7f256781ae2ef35fead60b291ef030b29407650072ba84eb0a83ee2a07072f5dbe8980e503ceeb3537ebc0fe85a690219ffff0358c6a288dd9bb30826e9ac24638f883a30dc147a1398f36f249159f4b6f144120372d6d17985c66a21f217a9db1498eae9ef1bf5c2bd2dff16bbaa64bd8f3456d80385402a3b97074f31139b7ea6d2cc6643c1e7ebe02ca6b03dc9ab919b9b191efa0315706db6056f201fb635a980bd794c829442249af7e01ed1d19d615b180ae8ad03121ac8f91527b7c3c57bfdeb7e5749d8d58e70a327c1b1b3104b4f3df690bb2b03be01fee4cde97fc611a15e2c3d1fdae5907197d6fadb6a562f49ac83b907d05c03b3331daea10ea036533655e58591699efe90acae55a440d75391cd6f75a1d4bd034654d49507806d7381353c684b20f8640d1e47bd94ed3146f484c395f473ea2903531d377bd132a3ff2594b0069b62f197f9ca703069fd8340ef44e58f74d7de3203a3afd18c3c8b31b6f3d55ccd65ecbe262463e80995d51e9ca11ed5715096b65e0393765a79d2e37426f2bced8862b20be857342eab809c2004833c7fa4d2fdc4b2038349d2963830666e5378d075d93d0af68192346f75a0602a2b1f5a93c07ed7f803b56872345741db7b93a9df1d46f18eedebbd59dbb39bc270d70a15653cbae76103c22a02c7a14d74f77268defba54818b3b89cb2b7a56f4c7a320bea348b3edfe803a14ae052ea14f5c4db599b313c821b531c2ad1deea59f5577dde75677e2f391b0219ffff036880bed65745ea12215175ec359d8d114d763227490c80747520d5957518244a03afffa34801200634cb79533d9ba140b0aa607fb47b8cc63ca5810a9f5fadefa60398c293a79bb8d84f293dc3d8410a6a1a3ec0265eaefba40c351e235f23bb2a5d03079e56ca0d070ed11a2405cf475e7546265a047036f68eda71916142380e283303ca243cb23ec6830f8b485f6902501e0133a592a008ff16f3b1eca271478b54f303fa25e4465677a248a1b5bd174db0c293ccbd02ff4f533a8d4eb2e0d76c2aca3e03ba75d19b213596ba27c7cb2cfa6e31f3f438ce175a81b139425db487aefa6eff03ab44a6c7effc39b796fef4c397e4a92ba15d969dd1d25cf05e427fc436d5223a03d4c77f28b566cdd450bdc8df019ac02c3c086e2af70ba725c3be5fcc95a5cc9a036bfa083eb98bdf5b7a68c87c7f682b08d7e7f8d69395bb048eec051118d5f02a0219ffff03485e80cef1dbcda59956af2ece709e6d370855fbae5367f0d828e2cf50561c35036b93ba20003cad57f5d7bc6df8e57be6f54910c2704f42d09bdeab57ee842e8603f81ae5336ed121e88773bc2a82387688715949a69aa350bdd17bf36a281a9b5a03c2097e9464c2f1b55cc7c4fa1a8c2ce744b8eb24d483a07419c6327c2b5fabfe036b8e50807a87d5833f18e08cc8b90fa97d41c794d2a7678684c485a46019821a037165976cd6ea9db3373793908edafc272e9160a97669fd019aa34eed2ad9a6e503ec5693baf56a1eb0b0fcc465a51593fd0335ab57971244848bd8ce86db989606037a1ef69b28bdb9bece1e46cf7e8d810fd2690d9107a2e29c0ed2ccffc5159f9e033380aab563e76828f8383778c6fa626dc3d7076639f786ce775ea164b0891b8b0304008cd0f28eeef0d6fbf7a272a03bb0dbb45628ff2e12a722fab2192a0dd2900390bd52c0e2c357c5e4614ea0b76540ceb3ab37a6e726f97a0509951322eb374e0317779665bc90dd485b49e6d722d90123d14d314d931095de67c7c62306b31c92032bc4bc916dfdda20ea7298c40c1daf5af8dab10af5308e0a5e90943562540c9e03b1005a462f95c72e79c18873caf530843201108dad8b2a8dcbf87f4bef212d71038b602610a24517f54f9338f99c673230d9c972b9bd7b5dd8a3518c3f7b2874e003a862b75966c709baa7b556abdfbe63a04f8dc47fd884d7a4b5a7562f4dc0d59c03387334c9d82bcdeba0a473ef00ae0861e0d2429f6cbefd9c324e55ae3d0fc48b03b287134bb4f3e405b64e4de1f1e599f58b3cf60686d71bbe017f463717b64ffe034ca492870c5c0c6b29ebeb075759778420f3935c8f9ada815b020bd08cda727e036f21bb8d3807e0652040d2b6d565c5652b514f26c40d241d0a5451d9f65071d903daf5e1ca7b717cfbcd4eeddb0ced4ffb14d988ffb27f26f7837091705615c079035e37bb3bae7852dd2b51a0109dc736d4124d473c3264b2267f2363ae8f3453fc0350a52560a8cf07c5632ab59e477589227ab7d401c787d8a7b518672364edcc4d0391e364eaa79af9b97c4a372382935ebc717bef221f2072d22c99c73ee0f0ece0038f0116ababad182976f7df04ed616f365ef0ea7594de53d803be71a46961610703f25eedf176886f16121d91272e3e4831ff671e5c5e5f4c41b348f1bd8ae4f344032eac01c4da8f94f3862a081ab99d820884d7984b52f3eb7690d70f543707596a030804ca0438a6f0d8ea241a99c62a2d323cb2f09ad0d5bab57c71b5072b28436f03ed9b9bc0b8fd9378a33249cda70b86caa98d194c9429e6755b159ea95cac30460331462ea0bb6c0ebd957e23dc74227465923e40998e87582ac6f831944223a38f033c66a651794508b76ecd212fbb82702032cb83543d20a968a9e168b681c2836203dfd760462703fe5382ef5de0888e3a2cf082a7f2f1af468b365b2dd5026135cc03f7fc3379fdeb581be1ffa09193e0d638d27b58b827d3cc0bb615617b0ddf7da303ed30f7675a49efd5fdffbd786d93cbd39ed2e672279525eb2a0f033a172b03c103820f9d9286d73e0364cd01ffbaba5c7a70670a3bf803ffbe6ea95a5e9f817e73035c44fb4f75ff207455ebb37ee3ba5c84a61cb0b41a1d2ddd11ac0c2d3ccf6bc80343b03412e798ed51a67f96ff5327e10f7fa1f5ad6a82ba26e3b13cb20fa8cd3d039596ab3545c0ca49e44d1fdd08a9b3e20ba7cdb403a967abca6c70a09ea3060a039f9825848e4e84105e711fc864dbffe4b6d94cf28cd0d9324718d0b79e04f84803527215f58f40903a68296e3ee96ae0eef922b1f065f8c4560c052cac0768933b05581e03d93aac1412f22d76bbad5dd38f89f405117e29eac41d7620b52eb834700c0245b82b46260005581e03ec2e80e2d2f87d3456c8ba30821592d6e9e90731365fa27eeb227bea70040105581e0360a790a99ad83fbc7ef78a36b399459417f9303aea86115ac63ac30850040205581e03f97dfbf09c53f062c580273f4511c81e434436f3a8992e39f5596ab3d0084703a08a1e097800045959ae6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033005821028a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b410105581e03a2f4a4cbb1b67aa687f36aa61d0631958879d58861d3dea13daecfa6f00f014801f4eec0c4f12e1d1959ae030d8329487da35d8659e539b873e49a33cf3313fa1c19bd69d0a3e977aabaab0c05581e035547497eab9a72da4aa1aab6d3969904b40c60b1e87ea3c2e5e811fca0040405581e03c5d0f11268cd65335d623dd7e5e2bb1dcc90db4e6689bd66bbbcda3a40040205581e03854a5402ee10b25856de85f60ad0442f88de4cf0cf694b708a3c9b50b0040205581e03e3f6dc65e4447e6a86ddb7c9c96877b095b09b5634d01e3566c83a77e00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03fd36dedfa3a6ad18222ea91870b9d2e2da28a043b5c8e10dc17e88ef1007011bffffffffffffffff0219b9f303004ed5e0a028dc92526454d9335bb5dae020ec9903b913a045df183f0329206e03e7c3087443e5e9feed69d364c776586eaaef2f68f9b0a583f0db0e3960aa17ef0219ffff03b41248f3afdd06f48051fc46980f0999f11032e25733fae88e7561d5bedb1093037e6c55ba457ee2f7ee4bb127e0e9cfb8c4123164cbc64c89e00955d1d50438ea03d9f4e63bafa0ee5f26ac79a16b4b4fdf5fff63da58380ef50a5d84d06ca8b92a03a40580b92d1ce7a947fcd421d326434e8f9a47a9546e632a97da9006a5a684850346528df2274a64a35b7517ed7e029e5f93ee78d0e6d2cd478300cc84b7a0c7b20219ffff0317b967b026d8c4abc6945b59aa44804e5612490930afeb3a837f7703884a5b990219ffff0389205ea5324c1d8657227505f4ca96f163b2606efdd6fc1c25f85ad19b762c460347c5c998484b59f0e66c96652f748798e0a6b6ac3c513ec5f09fca5d657aaef60346c41374f2cc0a265d644298368d5ae6b3c817e9093f47fb89c1d9122f5fc6fc038e152326f82b3260c863425abf97398c41c920aaaaf4b40ee26c3d4f2276317a0369ecef394b5eb8933e9e7b4e4f0f47c89f91154968e90996ca2178f9f14b17fa03e97a2ff5b18659266dedb73bcc40f59f8da841b04740462c15b98651925e540e03f859cf1ee2dd56ccb489bfbb5382393ee2e487b511ff3f672120f8395c9e7d4803bd6f3c9bd719ee0a2061cc355d5a9f618730db5d634a4e68400fdc4e7d65d35e032cb38049857ce515a154ad45d6aac80431066136c2317c75fa233cc4b494ec640300545b48d747a76031de334d806d9f8a22af5dc7ffb36ec23dde7b1c909731f503849224af5ba86b19420393ee9c3ab4e1a2d021e4872d1e237a4b70c074d7356903e0ccbbb727d892e9134398e4bfc716515c23707848319f537cbbcd174d535111038ed814331a11147a9508f6ca31617e5e48309feef543430a31c4f85ee26896e903007d1939146948564164299e7d38ac0bb3c9df7e7b9bcd8bc69b8e926f19f68b03fe2cdd8571085c9389f0818fbf9b824b6587e3d89cde19133a76db26c9fe1f1c037e8dc621a24601d8786713398d16ef83a3ada92ac83da53ad22f92b71dbf26740394c3bbad988eee68cebcf2e94bfa2dce08778cab5fa06db8b17584c0bff937e403fe4b88ea5d30e3d391e4daccdde945c43e8d77835b6a9262b90e861bbfc00ac503a3f40d241539750572fbccb6067e95f818200a8011b4072489a42ef6c1a268f40308a3fea68b47c7bba2db3b03538b49f5aaa320d38545b72ebcc04516f52bc56c03b0c815a8efafc54d77d5786a95f8df39297c889e6212cfa7d8b6e1bb4b74e30b033ad6469f69e60da32f8aed3fc3517765519161eb193c06cdb7643b4642f14142031c1b2ad40b090c24c0f2712724b09e9a22e4392a21cd79034b21796277565939034bc0783ca4aa35664b0898bd5931aad03f32e48ea4ce47eba319ec528093b2ee03df31ae9cb8d915e6497e7e996feabbf995ee6da5d87a455af9c31ce7462fc5300376079eea014e4baa808e729950054a8372bc8b26fd0fd7c59adb08c8ea2bf5fd03d1b7c2f089ee836d24b3598041e90a3983be20c5161197a2a661e7969bbd481203c319953eae50d45e97114410641d793227ec2e644e215973c3d3e335d0aefb9e039b978ceeeb0014c4801608904789435fca75a28f7bb8fab5a1512c0ef162462003dbc2808ab43244d59b1669cd8070d86bbb02e4fceead851716888010768e333b038d77cac7232c0ba0789ee36cceba88ee76b1cb9058e1e9b987da1a7b5f6957c00367afa65d63290f6aa437ced61318d66a3c690dda6166af984a3a34412a67c382039773ad26d4f228483e6316878719ecf0f6cdcfab533e38370d827c7d46361dca05581e03f5cfbc6f793e86c37c2d472c6d756bf409d27f920cf7b50f0b895e79000c0e471770e00993a0000379f5ba2d47e74c5a686e5b60201d21258e1562174003e5beb7efa7d890d4c25005581d021f7efd1bb1d79067c08d7d088b61b319e7bca7dce50db2cb13415a8e040205581d02c3bede1ff930f30bd32afd9e3e1904ff7db3077b811a1aa15f2220e50c0246b8a5335ab0840458aa6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220d0232cfa81216c3e4973e570f043b57ccb69ae4a81b8bc064338713721c87a9f64736f6c6343000814003303fc8b3e11a8074859dbd4fdeeb8a5ea816e81808048f9cf1b43977007ff72876c037c2165d0b0d8000139b2a2e0b95c2a3146804a1951d2c361165f0219f52206c2033237c1a524c3fbba35a6299162defd57ce7d6ee1294b22fe9dedcfdbecb424c603a9ff795eb404abd44b006f27aa49ee0c874e75eed6874168115bac2e6db47b8e03d906b35390fb43e0f3ee6e84ba601b75d2e0a95fef5f4caf6a3c717d7e3c6aaf037108ebd6de905741397deed92a7dbd3e55ba5bb84c082bf7d477d3733dd11263035b9529a67f3144a844457b4a48b407c12361d5994c04ddaaef0e388bf97c30a803801a88d955b3704851f42a840629837c32a6e069cf7e363fe4d19fa769b477aa0395d8a6dfabca93244fd82e74e0b8b6d3e5c528f2bb811dff7ebdcb99f62a7c8803c18f9c5273fa48464025f76fa1dc36d08782d8437a1dd907ea13d93eae07cc5603d3df8838c2bf7ce63b60952170df434498c8b8ace0ef7975d9a7cc5165d7565b03dff115a9e89fd518a8f7cfd671eda772537c215708f6b3ce563f615c9e0f89a100581f02c44cf8953d00a6f0b3810a89a24cf07a87b39067287b0b26378cba2f46c9581a07f9d1be8edf164fef000000000000000000000000000000000003dc57b6f4346bbc18ccccba5ba9df197d1b5d2c06bc683f5991acd1951cee55fb01410d03a14274e9b9b4eb7a57bfff336399308da36925e56d58295066b0638f2ee3efaa00581f0279e2b817a240a4cd517da980503e1a66c9e3d3ef02d63e7ba381d4cd8b13410100581f02bda1add1ffb15de4c84774da27b4654a99ea9cc54e1f38e529d51d88b373581a0825281abc11045726000000000000000000000000000000000000581f02e9f1adb11d00240df184ffe1436409e5e68ccf2b6800fc741e4e2a493baf581a090963dec3c5df4f2a000000000000004409e1cffb573861140000581f02a380d6db376290e0660116c36f86f962bc0bc2d031a0cf5a1a0ac54eb9e1581a07801ffc064ae5e09000000000000000000000000000000000000300f463392ce82d1b4d3ec551a252f277bb9f61fcbb3855fcfbfedca1592c737202196bc903a027b8b90419bf6c3a203c8147bdcdb1ed8017f9b37af2e85d49dc68440b0a67039db5392580b374cefd8b96116a0ee314e948b9ee12c54c76d39c9589821aa4a2032709e3a550a9d85f324579d7bbe064f4b0825182a825ea41d1899d62bb1ed5b0031747c29aa5306b8c2d89678c843787c5e3f8f8d3a5dd7d5482e6076908188778037c18dea3456965bd8a3d82129360ff3dc5715212cd2c6778975f935a671a3784036a93ab3ca1df657919059979fb63e1a31d82da642ea7b6fbb94538910feb05f80219ffff033964016786b1d9c27ed16653cbc595dd48f479511150830c14f57ba052792f250302899e245245b60e3d6d370f9dc124c7abf885aa0d5e30f3e9a3ac5ab2105bc00367a3984fb9228b6e6e07ebe2114836c7a88c6bc291243508b8bf71e4c9f2b3460396391da538eadcae6606fd00f2e803cdbf151eb037fb533d9c7db28e8446a8df030215c895790517d4d4aed93f2b59151676dc5c7e0d241849ad44950794a74e4b03b63d319a98d194dfd3ee717db4a99698dfb5963d559990a270d60b49f56eb2a103be39c96dadd0a8fa15bd111d2878e89627d2e5f8b0e6794b7c3682603e838da803292f0d4620d2d440c45e08390af1b155abe560120f55b71120c202ec814db7fb03ade3430adbf33753bb035b8d5fced54aa07aac8e740320870aee2fa53dabe59503d7417c3b6afa9955a4c262866434670e8aad2dd03f75c81daa08f42360c14f20037023b70e3ca97110a323dfa889a4e5bc2f610758ea0bed888d49b5488ecfd89b0342643fa737639535904c895d4df093bad0a08fbfd114d743f1722bd51710f26003e9ec060b06003b602caf5b207c754a5b4f4aebbd05d4cad6a19e6a7516960d190377cda4a1927370d214db75cde05ab14a77fd39bd057eb38417af256e5aada8fa030e470065db40cd859bd9793eadc6891312aeb50b4a99007051679e37990687800219ffff0305f14f067ecb03d6c7c7f1bc8d630a05cea7f784cc89a384213f6c73f3003a930350bbb6d8b2525c4aa4bb0070e658f3dd6f9bcc5d561d68f95c94746892b8ac7c03e2a9adb5c758641d97711829741a3a7674836ed4dadfac6494c9e8f330a6df6703f980c89e078eb31f061724b2a8e530ab287e52b3f2cb798a764d41f3cbeb4ac903b14f82c5714b066437cab4ae314272f97a2492d610a0aa30b8129dd0e16b601e033e149a2e8e5038a2dc0ff70e431cdff16f1ac45fc56ad9849c3123c50a70d3dc03956ed167bcc163ad9259f176ba761893b23862e0caad9dafdc887ad8aef462fd03ae05353035c277c4535344301151b90d9b3430888a63006bd39b051eb4cf82ca0343ed9531d7d6e3f4ad40d3bca68d2a3c4d5aa7389756653cdb2dcd77dd3fed45038d7f72530a262e0545dfdf30fc6c1e095e47c8afb4703e0b9868fe01f6e57c42038cb2ea67388695a770228d22ebfbb9e753b49c39e46d7232b41a844b3e9230390328dce42b875a77759dffa4e3d058644215f0d0a58cd3f770fb4b4d817d40cadb03e521feb4d5fb45ad011aee18bc90d0a67158a4fb07ca2d6090f767b84e14737a03b85690d6484eaa797772b71ffeabc4ccedc4100bd7f3f6a88fd91e71d92dbeaa032c7eb4c1243d696f36275c0f186f0d40e883da4bf7984122c514f740614d52dd03d38bc3b90b835085435cc0c773fd98e58e7a33f8898ab2f8e2e27b1b91f0f410038d50a0761581191c819d9bde181cddc6fb5fe5c0ac9d20d04026e0843756cbc0033684ac72a1457fecf0274e1d7c370209eb19d6b11570a39f467281a6d30c451503e9f7b531981c42ede79cf43502e64584694ac350a0ababbc7e45ce035508f2c9032aae6dda9f4e411ee01478c6309bb34d854a62c5b68f3a5ce09003cc4b9b648900581f027fda2741da39e84e8b44e37478a058f8423e4299eb727398b76c6d217bfe581a08542446edf5227414000000000000004409e1cffb573861140000581f027487dd4d55f8f825677371705eb2625eb0aea9557eae3657e9862d2afd5a410100581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0544352291913aeb5009e8da7b75998ad03d80d4ad200581f0391758753d4f28a636a42948d2af3b965887a445c5088f7a9142a2c38a8e0581a0ad6f84f8df590e6c7000000000000004409e1cffb57386114000219040100581f02b218de72c7b08d5d8a0b51186306f7a60a55345ed5050b8223b1afc844d8581a121102fcfb44bb3007000000000000004409e1cffb573861140000581f0264a9b37220181fbc4fc6a6dbef33684a90aff66ee38072b916f5b71f1e00581a08d50bbb3973037009000000000000004409e1cffb573861140000581f02082c95ae222ce4aa42f87fd2f08729649be8544c95b2f2e23679c8fed2e0581a05e40cf02cf249b7800000000000000025cc811faa77ba90000000581f020207e5c88c0abf1288fb3487aa646da85a3056d0662c987183b0d4607888410100581f02c273b13a267663a233408258726c4830a7011530787f74c39e23858399e1410103c6b99abe6ded39f66c73215add7a814bd15b0853ef6d1256320f7a61c5305167033a2f290520919d187cab344a94169357b786e304b01d3742ea856531039fa4750219da67034b7c58130be09f2d57dec953c1c089f2772860ac90b561f38f3fde18a4f688d90329cec711b782470aa8dfdab409192f1105ed3e100f519ed9ed6faf8dbdb4cb6f03bc960e0e18b0ac80ee8b71d9e9040d686eb0dd6dc6d10c9e16d6728c7dd679ef03a9b3796974a672a2d8cf5c88fa1bcf344df203899a5c35f1ca32f8c1d07be93c0219ffff0333ba5a3ed23949d4d1ec131acbd9e27ef445a74ba17ced0e042ed2d4be3ae783035355999f75cda468b6fb341d19a83bc0782eadad52eadd747880eb66bf40102003572148436283a792664341a331eaf743905369c902fa9adc41e7203b1c50cc9a031fa540c2a34e8c7eb7fa372abcaa918eb9552b39d97ce3c6fae7df84808459b903a4034ac65f7d58496524b15e2d09656d9422002b1c225b11bf7365be26c21f3003c91ead84eef31f336ee5c57f257324145ac6349131d17ee416e47405027e1b780311050771a728f9fe2932edd73083d896860efad3901005760df2acf7e54e284a0375ec8a195694c54ed70c081c084ef3f5bdae5d65633f3646bea35435230efdef0364b2ba1567581f879f49fc97d973d55cd0ab1cdb3f873d1a015ba7b024b0a17c03a80ec71519b475164613076e78033f47672a9bdb99e62d3bc3ae63feba5296af0219ffff033d94a238a0f3ff012eefaa12c4b9a66f27548d90a96ef0fa95e2604dfa995b55039f0bf5857960b6ceb491801adf19ed2111234ba9dfb945a7800e6e89beda421003521596df3d0b6361cd973580fb071ed742e894e4cf086d5c02c1bd2598e0b43c0356d112fc8f9482c019e23e2d227a9b0c2e44cdb7d526b341cf23746dd7581a8e035f13b1aaee52d6beb5f3ecbab16acc8da0fda22734fb516da7e414873c95ad210374887e5fadcec5feab65ac23de3a5f840877353c4b80076bb42b8332b4c125d2039a02e12a02bf0196a4ae8707ebcf52c87d05bc61f76608711e3a656f2841d7d403cb60dd939813a23c9827b6a77edb06f2c3cb1e69976c220f81ac55596c75f6dc038b61b94ef09a07dcc0ca9ad29ee39262ba29f5e4aad898680229eaac3159d0600361f2d80ddec01fe89a310ee5bed5015e9299144aa15f7a43b9072fff1332492b03ddd23fa8abeb3e1fa4b4d3945c0eea8b8af8b26f9de2924a8dc1b378968d9d7b032e3b55ede572806042aa719873b2e4be2638e763539df36e21992ed336d25d2303b90e73bf2017f2d6db9212fcd807080e5928d1fadad725c89799a94f8460494203b2b707a35461d1813645d1dcf96b53f825c2ab516e679046f024fbaa408c67c103a8aa6742311f274cc982fe818117d4fbd17632eb0c0c3413ed23fa4f4d39edfa03fe5713007eb00bb0f9122444254c437ad9115ae056c57b55483dfd3385b9b2a203181ee29c30780169ab06b7ee28377fe4fe80b6189e47404efab92b8ac4eaf2ac035a67e8bab61e284ccc15da00c2760c21384cc85d3722fe9f575bc8e378184dd2038a7b9c2ed5a710700db0d35761d9532c0512a35be3869d42baaf80f2442d97b6034dd5b288e26d447bff9ed9d13db257fb2413481475773f67fbc61a2f34e8c2c30359eeca92856eb7cbe8abfa958c1a2c04db96834b114fceb6f7706e4002df5c3600581f02aa2bae66f7fe647d925821ab242aebf74993448c95e0e7f7e89c7bddae18581a1210f78b51bfba1204000000000000004409e1cffb573861140000581f02042cb1ba5d49149fb198bda9ff6ff64d82a71a34cc0462789b91b9c91ef4410100581f0241e405a05e76c23fb80f95e210d9771ea661b03f785c0fe8b8e0c1b8e7a1410100581f02b853cb0c1a98e26be5e6dda514220ba51f948b40767775eecc5640d3c69b581a057b339352c63782590000000000000025cc811faa77ba90000000581f02db20cf1cdccfd280f373cf33488835eabc511c253bebef0e3a254b4d1c464101035c76fb5943bc20cb81a375e4bc320774f98a58589c2c1f46c5c523afcb2fd36100581f024b1521054b9fe9c169d47bbbc325de4bbf69e0604a6a678641166cd9ef5f410100581f0277652c8002d3edb8ac68709fe01b6d82f98717535a701c357f7b916fa9d9581a0a2b730f311c1799590000000000000025cc811faa77ba90000000581f03a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0582061697264726f700000000000000000000000000000000000000000000000000e00581f03bad933b7f4cf44d7b4886aeccd4675e4ef025fcb031c58dfe6137e235880581a1210f32f41ee98320b000000000000004409e1cffb573861140000581f03b01d2c118f94dff27451e5814134fb64e8d86f038dd69519d5fa8e8f518041010219091000581f0221e8445132cd41edb1dfc3dfe04c0920286f81ef87bb3dd559e5f36a696b581a08c5c1475a55fe97b0000000000000004409e1cffb573861140002198b7e031bd4768ec19a3d2be3f87ff1152328ddaa175ae114e46a2508c69b01ac8d38d2033be35cf5b0e28bfc9c71b96176b28b73caf8e2a0470dc44cb5449b8cf415b816033cd0885db80171e44aef9f7bf6480d03d275054339db18c2e7bc0f2bb5d9b1fe0399411ea1fffcb0bd89b9110be778e419acb2ede25fea9e149175ea23215cac03039f283c23fb6fe002ba0882589454e200e67cee197f19bebff887370955407d0f037b6fa1ba54944d0b8e56cedf9919145ff3c77346ceb3b464c498205bd31d9f56037b4927640e91d039541b6092713665775ffc63051f8504f22bd5a37bc1e091c2035f21009e7e5f04930aff7cb7c482ec6f9b6cc662dc2b190eaac76d690a56f1b70219ffff0323f987e50b547331177bdfbcb9dc02f9703e1698abf55b4d09553743d1d3aecd037d2553cc91b9660bd52092f84f7f9feb83fe9e60ecff29f8f93bfe16ac3a28130363955e2b3e62c0530788c56e7acdd8ff166c43cc90294ea4193c50d1ead0f37a03136e6786bd20f256e959a1fb85c1406015487adc2d7cdfb92f397857a2603ad80219ffff03fca4a9435a2e1fe8f500877b32c2186fc3ba0cbe206e78613505785a513591fc03db83a76e203a08e81e1ba2e49596ba22610c843e64e877be7d5294832ef758900366e24e35838b7edd13370b3782a031df9b928940c4d074ff60915327c5b0da7d03d5aec9fddea3af59492a441f3e4f266b6d0eb986937ff5e926644bf54cb79a2603826b883a0a3b4e6de29b1e20fc56af4c7cf392307d33b3d3b1f5b9889116239303797a965aee28314d55500e68ad6b665a518e09c723375536f2f1d55ed1cbf81203ceb6e83ef582d8c4512f7e939df4896934857e50fdca8b6f5c783e377f0ed0a5037d76af9a5c91921cbff07ff6787cdf31e7cd458a4673b39bfc59c941d22a4101033442079d0a40a52ddbe144f5a0a8708c0f0c5eb6f379770dc3b3a713f08653630350ce99598cb76231f12f657e3df8d93e253b67c2d5ab01f74003770f55ab993d03502afc2792fa66224253aa5c321f7612276b4026748e485c70dc9d0a3c91f955036cfad062c31a1fcfae6ce503a755bd38800f1c88e6a67dcdf310f292fdf2c9ff03ff2eb06d66e505849f462880356eac1057c5fe9a53b95e40abc3b4237ba78c4e032fcf71347506dee58968ebd44ed9d25258e8602557f151a120e0838af571d219031115dfcf2fcefedac7b94bc0bd95b8a5255fd3dda638b16d490afea5b27267fe036c89c9bd5c4b02cdcba63bc045e0920c3ef173a151b5cc1df57adfb9a074ad44031201d1fd478f35d9a5856347b21a081bd10a70b6396cc99d580f627def47d1bd034d533bce790b4b710e8a7efc6d5ef02edcca996af80f48894bff336953d64ba4033b1005be86d7377ac2668c8f94cbded194b4d6f49d1345d9b2b61d0c49dab68c00581f024592597ffe5c57964ff45c2442ceeb56a662b8e958fccad0b534dfa5f127581a08a0b9058f926a3450000000000000000000000000000000000003b72cac8156186c18a00e2aef72534c26dbb5e29cc1694d7dbcc08b690a6d86b7034e2331af2b4a4ab132c78bff97e7a7d3795dc7d7d3bed392621eeae1170b2c09014104038c6f7224207db1ae40dab34e7f5e9c45bb994f7411635a14deff280f1339796600581f0390105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb505423bed02fea2e16a6e952573468661d44e1de557c00581f036caa06e60f2aebbc7b63b43e90a2bab19694ba06fa5a3d9017f3189e41b041010219120003cc7f8bab20172ae7615c23627bbf0142b8cef4a925e20e47f4e948d23759b35e00581f0275cc4d9503cf4e05ba3da631fafb1d521afd52a054cdbbee124d682a30d64101038ffbc047898d73f1ff7b1559e96b846a56355ed3498ac043e60c6e906690882d0219515e03d32335a12cf01f442d9da5cc450846d3c3a4cbfdd797785051ffea3b0e8eaebb038ca17ea6976a750695b80903a4720406a5f93f215bed83d4665315ef087882100368c2b1106080552cc5e6c068e68127a45cea4334e75ae9b5bcc871421f75937303764d918cc8f5b4905a1cd86970d5eb8ed24c0d4c5af7e4251b935804d0808db80219ffff0308b814269c431c112994110aef6ed9103ddec0452bc44f9c46eb5939814b5bbf03557035391fb9b29b608aaedbdbfcf9d9695a1af50d432cb026f4df608357360103234c2a636748ea9e265ba50287a579699f3d9e1966301a3c469564f149cca647037f45548050702ea3e70b56c13105965a7e58b5d5e00a4718eb37d005e1ff9c6d03e8142418dd96262e81a591135def336d6b8c1abb0f4236727489f4809f1d4d3d036c5c7ef2ddf5f15085b450e6dcaa7981ec2cbba0547b9d5942d5f2ae6e993faf03de7f5b23472f3cd86e53cb08dce05bebff5b999a8b8e900a81edcb581845966c0321e6b717835e51ffdf0412ab7f793e86b9c237c5854b8c067a64805b663a7d3d0219ffff033b69d0574c96de7697cb137e5bf731a78024a153ad8f280353b972f49c4190ee03a45efbf4678c676b12a5a7b3a02d4dce6c347b63d5e741e2d2a2a55313f0b2da0354c65e29115c1579ec5894a3b70c0db0240b0b0d3432751905fa4dae7a2971c503e377a0668628d981ea3629cf6413a5172582ff3ef728b3cf2b41d2d0eb74c4d103f56b2bace5f80cf705963e67e6909a5cd7059b9a3a0137fb418e761c7459c140031443af6a134db7002082a7820ea314825f4b77c23be3d3e5df39f9bf8a6d48120363be6b65152b7fd1cac7148d38400eb20a532241452d60e3f77c1b0d5c762dcf0058200399df514a171c7122a91278d5b57d0781bb9a87fa171f8306a0e809808d70a0581a04843ccbd07ba789fb000000000000000000000000000000000003bf39e0d9dfaba57a55506462581d4a2bfa227e9426133bc54b272c56f5bbfbe403df1945721917525869e0594884588e272f50f6866b85b02432d9a4d29bf49dea00581f0253802122cbf1c937e18ca6985981c6ef005df88ee61426eb23c720f8663d581a242202b4eaac8998f8000000000000004409e1cffb573861140000581f02d4b14661375c11c68c95f63dc36830ff3d9ab1c84789a0901bec322f24fc581a1210f32f41ee98320b000000000000004409e1cffb573861140000581f021d699b13522c2500323616eea2d5795b027724b126e8a086d93b12688ba6581a079d906af20ddf1147000000000000004409e1cffb573861140000581f024655fe8306b9c9ea92f11c19b1b83b9fd7cad5886a3d76fd7305d2604787581a0db65629cbe20892d7000000000000000000000000000000000000581f021ac552dfc33fa920d8fa5d405505a13f973c12800b2c70babee3d07df2bb581a1210fb319bbde8aa37000000000000004409e1cffb573861140002198cd003b4642a28319115dc7dc71e41a5297e4f5bb0cf7709b2ee5f36c9f723e995d6e5039d022f2fcaa2f464e8af4b49fed1a0c25a845bf36488f2d79a2aec3868ffc1e503345731a78c303f98a8ac95f496098d681bf6d56f111edba819a75879292d17090399a011395e285ea3465b22e6a313d8145e3bb38173dff24edb86ac8bda3de5e60341b6a2f80b2d6de3a1b579bb49970847d3e7108930d8a69b8430c089c2ade8ab03ac231a023cb8462ebccdaa825b76c43e37731bb273c794dd03bcca7aa4e53e0f03dc5e2d36fc7a7d71e04d070ddc16db341a5f3b1f63029611d3dba304582ddd18037d548c16e1611de8ec68a4c1f8c953cd3f17ed65fd9a58e450202d02569433680343c466e55d11c087b20ce9fe2d2c5e7ecd106a26b2216f94abfe7f03c148e9e70355f53ce962d410a5fe223eeff802510fcc199324d807dd70493cc02cae197f8f0219ffff038ed26e286892c51633bde86d7707bf4441f721f01ffe484a4db5e2af3e82dacc0339066ce77721d056942999997e5d8741e5231005ba1d6f4cfbee0493f2dcccf0031fb3276296f9a39eae272a3bee8e2c092b31d73dce199aadf6d5ac701c742724035fc1fb8f0d35dd8df4b4bead3ca8588616d9929723b947a522dafb4ed412785f0384ecbdb1db671d374f10d42166b4a36f118521bf00188c6cbbc519820bd6eef00337712d744ca895ba480130b01b5bb96dd0faf02f1cbba0d370acd1ea6bc0f6a4033baaf2eb4328e41d47869f19dd19bad3062db8ff6182cc61124eaf0b83e9a13f034b27d3939580d47c1c9e2ac08ad0c9f7dcb1740120c80df6eb82d1519bb1cfe503833aa199c69e956304b3e1a908deb4e6a2fc716bdc5600a3810a1d493044b5ae03e2cb47ce1ad6e9d81d6ac80ff66f95de553f5b31dd00fc5941ad04ac71de543703d63e539d18b2de054f9a25cd1a1db1b27217fe4c50d7e63d86bb16e3d29ff13e0219ffff0300aaa1cc65d92d5b095975654726c911ee60b0d6da8893cce3687e409f49c0370219ffff05581d02eb7ee3238160e45684c5244f215d9bf7d8572d3d1dbef297e39802f7070118aa05581d020aeae9c1c0193f2c68ee9c011695fc64a51eafbe70d5e13315ab612204010219462005581e03f4f938cab541886760743cc75c24aeafe616c688c2e5a9576041ac0ad0040105581e0339a40ef34ff3393eae5c1d53e3d890f73d1dd164b2e2661b9955fc59800c03461e44d786091805581e0390ad3f4f8a433b56721f991bdfbd066372879c23890131f9ff0bc2f530040105581e037181a7ea01284f86539e2adf39fa3d49e313f581decc2ab94098c82b70040105581e031ac2143b9a40c95ed2f59ef252fd3d4f8782dcfe3379ca1e326bc253000c014703f62e2633f60003c6eadcd3cbe5958c6ce16112d698771b900cedff91c98d2e00d6b32e838719b20219fd8303212d3e3647a141a3f2ac1cbb2905d6bc98ba2d2c4479078408c5a27e2e5c1a300332b641b47f16d9a27a12a6d5bf60dae574789ac1706885a87acead67014fb0cd03a31b66c8aabec62b652511ef1500c558b9b1d2e1854b2242ff92647e3c5c5f04035912097d9cbbee67900cd170f796ca0ccf4b359219c55b5ff980fe90645c32990219ffff03ade0e151d6a2e3a79886776902a523ae72289e331a06ab5691721fe9332dd8bc03976e19b92bb12f3f872308ae19e0124ad7181a901713d58a3ceea2432d3937d30378569f4fdef778f5aed7cd670adf9563bcb0696925fe990de42f10f2c885306b0374eaf1141a2314226ce7cec6965913d07cf1fb40520947bef7c8644c1467269b03b948f455d4a2e7b1a03f37bb048a274d424b77909d3fff7d3cbb228d57d65ac5038e93088cab25b2a0e7a66b3d9f1b8c4bbe077227ec93fa8af5f626cd6fff8f85035ff5a16d358256da1eedad2d9734ed3b2d30f8307c74229d0ec075615d36ca1f0331d477827ada11a429a8c6f002b82234f0dad2aa108db57730dd4bb0e970645803d3df6870701c013b4a9b55f1b77eb57da29624a4e39cc7b7523d25b46fae075d036a35a090a52b48e6583c78f0325a62020461bc019af17cd904bd19529d8d0f78038ddc8de274e10d7da38910268486d9809269ee384ff5d3d16a90a54df15022ce03ad7b07332ec7bcf71e13cd1c604c46db5b0f046ec5141d9a028adafbec038db60219ffff0219ffff037929bd20eba071d1dae0f3ae41100c5237b00ed28f9871eca0fa2fec5053d0a303ebd91b6746bfec9bdb08474e66198d35de83835a1cc5720bda3d749a3a6e50d303ce2e6409405ab6bf814e28acec3047222d678b294c726d2903cb9939fc7c43aa03f4ecc5e9c12c36637f95afa62893adfdc74a1c74d10821282bb9c6b8f5c5730a03ab39e8bb1c3223cdd9b70824bad479158ef58667369c6b7d5d597c89d405ab38031c740021410a2a43f2b9714a9580fb585bb155849f563a5bb272bcde81d73e27038fc8a313f480a5aeedb38dae73f54b2d6696d3098f395667a80903ce62a10547030db4629e2cb8606b89c5183ddd444a1e8e8c6dd8605ca37b16eb3e379e291ce103bfc2576f1b08e02b4455b90365494f9fcd361e1caa8ce5ae1eabea259d8b24ec03d0ae58f9fb02c2c13ef21b8c4994a0dc3c7ba269188245aeb61b9dd1d9b493af0383a8922c87bc088286ea99124ed414b52fc57386d337d44b4e09c974b6cc138203307a5ed7bb084a25464defa2e35819c06935a03e30e0059604d94895c6c6d01803336bac4e63db1c191a40357a73106395330fcb17743911318d930789889b2da9038397311e0e8dc986a94c743c446cb858af40276bcaf0f37358e59361233612be037f55a24b09b084899b50d603a46c62b4bf0d06f8e84aa46bfd03e1dd898f136103b995cc54ce52c23097b7c202fba8ecdbade30b3fb2ae99fb4aef023b9618fae903c0ef990598a83a1fee885c5fe0920370739696da080da10bc6d1db4df9da485a035db822cf43de10d718eac106d2206052c7f41b3bfad654ed4521ca365f229f63033ca6a3047a9a6590bb897c42cd848a75872fd240792752b3ddbb01042a8fb3b803dfed9334aad5fce9fb25825ff01fcade7578a14ebed5235e6db40c3f92f114630383a89891cad25c00f652b9cd1a56f4cc1293365b4f9624d752ee3a9718a92c44039edc67bcdab529378903d2b46bb38e3d324c0f2aa00acf379988a20dc00436c90311d68532cf0a2d79048c44535ee62eab3e399a0f47219fbd274cc5eda1fc05a5036af2cf2495e49fa4b29878ef91f917ac6b73324141db61d3b582f51e5daf27220358c22e5c3db972c028efe0cb143a92ce801067882727f81796c85663aa5345da03b7ce28040a76afc4eb24f41abe3cac5ee61606417bb1081fa219f5f0384ef64703204604c80b55036deeb8539164049a258428808280be21276d85bb385af8bac60399e16055abefeaa66961cddae475f6ebc75797365a9a163da022b9dea8e345210313323afe34d5a7a7305e25b0b946549cf5f1c13a75e8524533602fb9df6e7dba039d602f452227f83426b0370171caada49408d71467b181a335ce565e1c59bda00386645c304aff70b12c503395ea59f87ccab97a025073028e6ba658790ae87aa603b670d2db95352464bf101aeb502d60216a0863d5a23caa0b4af1be44e317b0d0033f610834043be57c3c226cc134bf67cd1e859061dcb40c54bfbb54e3bbb2ec5c03e300efdf76b150c1ed4fb63faff11276dd99de69de5c346909a4449d8f4326f703b94b1545e2456d71f7dc933c7791e90b6c91719ad73c90e78c5fa0a3746fef7a036467684a96fd041db4d34f9d182911a24c5f4a8201744a745b4f61840df4c33a03af34b3f1cbb8785f3fb685492ac643103326752c23b49633e133a026ec009df7039b2554a5e67ca845b91bad27180f77997b107bcd6338f7e5227354e9b125ad5103f4a2627e1136d63fd1250655fd32efaf256fc847769939d0e25fecd7b21fd1fb037b50f503df9ba516cf9b239d3bf0750612f0f5289bacc842a81ae284e605b09603ade84d9269b4a26b243d00b71d5334065f61bef42b4f85e4a0836999f82d5bf303d81597f66d4bfa4898bce568ff07b7b8fbfb766e2d8e4b0d33464d79c779e6410357b167d35071fa4302eb90e112aeaedf2831affcaf58bf9e70f1847da8e1e9ab045908b360806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122012bb4f564f73959a03513dc74fc3c6e40e8386e6f02c16b78d6db00ce0aa16af64736f6c634300080900330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305437aab97476ba8dc785476611006fd5dda4eed66b005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810546e38d4999fdb6fac24973e508cde9397e369c5af005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054241423640f5bfd019f885e9b6b544145f96bd6cc0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60485c2b930356c04f420058210328a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c604101021948a405581d02beea506e63d9311b0eb23c6ed86e7ddc2248d7bbe9d3d02bc17219010f01485c2b930356c04f421908b305581d022f5dce6d993107338134f4048a0ef5d2430bef1a1a61f0a9ab5c5fa60c01450572bfaa000219a0000334160b2b3414a1b448458100361c64bdccf5936cc939e8b2d592200ed19105df03da3cc90ef62d3ad9e255dff552fa7525c31d06eb64d5df5045e56a7bcd3538fe05581e037013a88a4a324f330a934552003c0ea9bf3bbae161c26003b4f849c0800c024701383b84a9a17005581e038a68ca0de222757ad180dfe2910996104dbdf45e510d8b7f8ce0c729700c01470cc8aa441de58003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0334748c9b864c1a7503fc03dd1016d10f8275d447ebcd45d257d242560007011bffffffffffffffff05581e0349a7d5dc763a3e1a8fff885943cd752edfd2814de2560f113870c7f4400c03480c2d8c1449f7162e02191ce403fbe1597ceb96b7ed1b269eac4c07be056a295bce4e9c2caa7271fad83a32e2a60219ffff03727bf3b4dd3a633dc8da7920ec3d84d9b65965b1b399ec25abf0261bae5ae2be0219ffff03778cb58de9c9e16ba779425c3943465132360b4a4ad267190833c163c264ea9203435643f7cd69d277d5e6af9c58e0a6b9b3b7b59e02779dd284787660ba37bd430219ffff030d2a7abdb67e17b088ff734ce4d43884ee91e36f4ecdddae3bfd44e11149388b037b4f153c2e7587536e881cf639b5e1f581c5785455a73d66b68517a8715f573003a1716c3a8cd6ebf8cc37152f4681cfc3ce1a86149c5b94a1ba0a66073ff2efef038c233d15cf1d000813aafadc8015dc63fd3ef9370b23f3323fddc5fe1d85b6350302e4c3c162f48c01e87fbe2d3987aa6bc29c69f01cdea3d9714a6216250453df03f83b8ab469cd113fe76e672e7cec1ba694d6e582f97183df7bc1183fdded560803039eadab95dad9e5ca5c336ea06d3f21ead0b66eb839e9de66a3233ed17c7812034579a05de87ce0e1c307249c0cc2cb30c426c52b9240d273eee54a6940653114030851a6ec49bf145816f6f6f1d4812b1e5d09f0c922ca3760991006ef126ce20b03a59bba584542e45102a974434d0654a0093e5a8159f56108d51b66c038d170c00350504e9bbc2ac6a805d9e09f437beeda7bb50a2c098f0964eb256659b8014a6803342bac3cc62e964293f3243ce1b4a7f6e34f96c245e8a1e568ec06c004fb9d4903563bf99b85307d6ce12a9f69ff3b4bb4a38665137e4945454653d12b7c0fc55303d9641deacb6a6420c240e478744629c162f7b9f0ca6a3600a11051e96243b00c035e95b19035cbbb5a1b5342911a34877f0fe01aad665e12c2048bc72cc582c4320340cbf8987b5096e7c1463d4bcf8e4f3b44c5b19f9bc12f24b0ac21335e1cd8c403d9953f549f1fd0ae669d0cce59d8e993cb41ba9ccc9153ef455af1404c892a9003a8fba45fd3ceb1bd0b6645b5c06eeb4443fe235bdf46c5db66ac1a5c1c0f1635036df7e26ca8555bece2da90a0b8751b950fbddbf964e1639a1e925b1f06b293d103cc032fcfbd5903281c0a78424f91ae5426f4d33a1d8609aad82f1204650cdb2b03cbc4190d6e1aaef4c99b61be443c097ac747c6f4649807cb0c4df8af1038d18503da416ce04bb179a9947664402f09b534e1f78f3ebb82a703af83a7f4a843a67d03f8aa7eb591331289478e75db9a7fc26d7c9c0aa3f469d278743caa77cfb45bae03f347c3f96613b4748f22b184ccf8b2c9d48413caad12fbf4ed344fc880611a8a0329b6a625f16a5bcb32dc749556b3da6b03484b672772eea0e4dcbb7623e758f203b3c7c4d367f5d67736c508f593b97ed1cc61ee85cdf48eb8ca1f9b083026369503f38f37e02247cd61511fd0a9d0c9a5c42f5482191736439e8b158a2d38c78e5f03ab8b43e48b91436299da5b7886067e0eb5665ecee5411cc497d917129884e57c0300553ff97545295fb3a8189b45b28d4c7dc3b1e10eb77dad114e60e57ef52ee6035c77dc00414d7a55dff0b8b2f5a12f742569399a65aad89513d2462bb9d4c8bc0363ddd55ffa8b60d73ce58bced0bf8efef5185b429736454bdc5f967f8dc6a020036b906ab0a48ab72b9e8656e7b97320b48088416609a5e3c2a4e847c966de3a8f03aea92e3a676e1fb7457be211c5fe30b08c966ffc0dea32b57a65e6413668509103b1f5672056f047227b4a2d85cb7ae355825a9617c0be199dd7099e1a1e6e11fb03e1d684d7844ae567733cc415dbf60fe226247f87006ea72c851c4d107c6c3d4203ae0825c05b0fbdafe6731bc99af0d55b77abcc89f9c2d8511f8a2367f53428d7036f3566fa201925e166834b18e4a3f79f2496a09383e37e81cbf1e92a74a1c3e7036423a8b9f7b7f9ab771e454d7300e1de741594a618a9b261c97c1a8a6a886d5003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03d812e3010622ba164816a2dedab5a759eb50eac438dbf9d3ed2dd769d007011bffffffffffffffff05581e031b3043a1c550af053e256be619432ab8ff29bcb0dc040337a84add5020040404591a4d608060405234801561001057600080fd5b50600436106100ff5760003560e01c80637afac32211610097578063cdc73d5111610066578063cdc73d511461032a578063d02641a014610332578063f2fde38b146103d4578063ffdb4b37146103e757600080fd5b80637afac322146102a65780638da5cb5b146102b9578063a6c94a73146102e1578063bfcd45661461031557600080fd5b80634ab35b0b116100d35780634ab35b0b146101a8578063514e8cff146101e857806352877af01461028b57806379ba50971461029e57600080fd5b806241e5be14610104578063181f5a771461012a5780633937306f1461017357806345ac924d14610188575b600080fd5b6101176101123660046113bd565b61042f565b6040519081526020015b60405180910390f35b6101666040518060400160405280601381526020017f5072696365526567697374727920312e322e300000000000000000000000000081525081565b60405161012191906113f9565b610186610181366004611465565b61049b565b005b61019b6101963660046114a0565b6107bf565b6040516101219190611515565b6101bb6101b6366004611590565b610893565b6040517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091168152602001610121565b61027e6101f63660046115c3565b60408051808201909152600080825260208201525067ffffffffffffffff166000908152600260209081526040918290208251808401909352547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811683527c0100000000000000000000000000000000000000000000000000000000900463ffffffff169082015290565b60405161012191906115de565b610186610299366004611731565b61089e565b6101866108b4565b6101866102b4366004611731565b6109b6565b60005460405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610121565b60405163ffffffff7f0000000000000000000000000000000000000000000000000000000000015f90168152602001610121565b61031d6109c8565b6040516101219190611795565b61031d6109d9565b61027e610340366004611590565b60408051808201909152600080825260208201525073ffffffffffffffffffffffffffffffffffffffff166000908152600360209081526040918290208251808401909352547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811683527c0100000000000000000000000000000000000000000000000000000000900463ffffffff169082015290565b6101866103e2366004611590565b6109e5565b6103fa6103f53660046117ef565b6109f9565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff938416815292909116602083015201610121565b600061043a82610b84565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1661046185610b84565b610489907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1685611851565b6104939190611868565b949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff1633148015906104cb57506104c9600433610d48565b155b15610502576040517f46f0815400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061050e82806118a3565b9050905060005b8181101561066057600061052984806118a3565b838181106105395761053961190b565b90506040020180360381019061054f9190611966565b604080518082018252602080840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116845263ffffffff42818116858701908152885173ffffffffffffffffffffffffffffffffffffffff9081166000908152600390975295889020965190519092167c010000000000000000000000000000000000000000000000000000000002919092161790935584519051935194955016927f52f50aa6d1a95a4595361ecf953d095f125d442e4673716dede699e049de148a926106479290917bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a250610659816119a3565b9050610515565b50600061067060208401846118a3565b9050905060005b818110156107b957600061068e60208601866118a3565b8381811061069e5761069e61190b565b9050604002018036038101906106b491906119db565b604080518082018252602080840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff908116845263ffffffff42818116858701908152885167ffffffffffffffff9081166000908152600290975295889020965190519092167c010000000000000000000000000000000000000000000000000000000002919092161790935584519051935194955016927fdd84a3fa9ef9409f550d54d6affec7e9c480c878c6ab27b78912a03e1b371c6e926107a09290917bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b60405180910390a2506107b2816119a3565b9050610677565b50505050565b60608160008167ffffffffffffffff8111156107dd576107dd611619565b60405190808252806020026020018201604052801561082257816020015b60408051808201909152600080825260208201528152602001906001900390816107fb5790505b50905060005b828110156108885761085a8686838181106108455761084561190b565b90506020020160208101906103409190611590565b82828151811061086c5761086c61190b565b602002602001018190525080610881906119a3565b9050610828565b509150505b92915050565b600061088d82610b84565b6108a6610d7a565b6108b08282610dfd565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff16331461093a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e65720000000000000000000060448201526064015b60405180910390fd5b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b6109be610d7a565b6108b08282610f59565b60606109d460046110b0565b905090565b60606109d460066110b0565b6109ed610d7a565b6109f6816110bd565b50565b67ffffffffffffffff811660009081526002602090815260408083208151808301909252547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811682527c0100000000000000000000000000000000000000000000000000000000900463ffffffff1691810182905282918203610ab1576040517f2e59db3a00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff85166004820152602401610931565b6000816020015163ffffffff1642610ac991906119fe565b90507f0000000000000000000000000000000000000000000000000000000000015f9063ffffffff16811115610b6a576040517ff08bcb3e00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff8616600482015263ffffffff7f0000000000000000000000000000000000000000000000000000000000015f9016602482015260448101829052606401610931565b610b7386610b84565b9151919350909150505b9250929050565b73ffffffffffffffffffffffffffffffffffffffff811660009081526003602090815260408083208151808301909252547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811682527c0100000000000000000000000000000000000000000000000000000000900463ffffffff16918101829052901580610c2c575080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16155b15610c7b576040517f06439c6b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610931565b6000816020015163ffffffff1642610c9391906119fe565b90507f0000000000000000000000000000000000000000000000000000000000015f9063ffffffff16811115610d40576040517fc65fdfca00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015263ffffffff7f0000000000000000000000000000000000000000000000000000000000015f9016602482015260448101829052606401610931565b505192915050565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260018301602052604081205415155b9392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610dfb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610931565b565b60005b8251811015610ea857610e36838281518110610e1e57610e1e61190b565b602002602001015160046111b290919063ffffffff16565b15610e9857828181518110610e4d57610e4d61190b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f34a02290b7920078c19f58e94b78c77eb9cc10195b20676e19bd3b82085893b860405160405180910390a25b610ea1816119a3565b9050610e00565b5060005b8151811015610f5457610ee2828281518110610eca57610eca61190b565b602002602001015160046111d490919063ffffffff16565b15610f4457818181518110610ef957610ef961190b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff167fff7dbb85c77ca68ca1f894d6498570e3d5095cd19466f07ee8d222b337e4068c60405160405180910390a25b610f4d816119a3565b9050610eac565b505050565b60005b825181101561100457610f92838281518110610f7a57610f7a61190b565b602002602001015160066111b290919063ffffffff16565b15610ff457828181518110610fa957610fa961190b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff167fdf1b1bd32a69711488d71554706bb130b1fc63a5fa1a2cd85e8440f84065ba2360405160405180910390a25b610ffd816119a3565b9050610f5c565b5060005b8151811015610f545761103e8282815181106110265761102661190b565b602002602001015160066111d490919063ffffffff16565b156110a0578181815181106110555761105561190b565b602002602001015173ffffffffffffffffffffffffffffffffffffffff167f1795838dc8ab2ffc5f431a1729a6afa0b587f982f7b2be0b9d7187a1ef547f9160405160405180910390a25b6110a9816119a3565b9050611008565b60606000610d73836111f6565b3373ffffffffffffffffffffffffffffffffffffffff82160361113c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610931565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b6000610d738373ffffffffffffffffffffffffffffffffffffffff8416611252565b6000610d738373ffffffffffffffffffffffffffffffffffffffff84166112a1565b60608160000180548060200260200160405190810160405280929190818152602001828054801561124657602002820191906000526020600020905b815481526020019060010190808311611232575b50505050509050919050565b60008181526001830160205260408120546112995750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561088d565b50600061088d565b6000818152600183016020526040812054801561138a5760006112c56001836119fe565b85549091506000906112d9906001906119fe565b905081811461133e5760008660000182815481106112f9576112f961190b565b906000526020600020015490508087600001848154811061131c5761131c61190b565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061134f5761134f611a11565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061088d565b600091505061088d565b803573ffffffffffffffffffffffffffffffffffffffff811681146113b857600080fd5b919050565b6000806000606084860312156113d257600080fd5b6113db84611394565b9250602084013591506113f060408501611394565b90509250925092565b600060208083528351808285015260005b818110156114265785810183015185820160400152820161140a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561147757600080fd5b813567ffffffffffffffff81111561148e57600080fd5b820160408185031215610d7357600080fd5b600080602083850312156114b357600080fd5b823567ffffffffffffffff808211156114cb57600080fd5b818501915085601f8301126114df57600080fd5b8135818111156114ee57600080fd5b8660208260051b850101111561150357600080fd5b60209290920196919550909350505050565b602080825282518282018190526000919060409081850190868401855b828110156115835761157384835180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16825260209081015163ffffffff16910152565b9284019290850190600101611532565b5091979650505050505050565b6000602082840312156115a257600080fd5b610d7382611394565b803567ffffffffffffffff811681146113b857600080fd5b6000602082840312156115d557600080fd5b610d73826115ab565b81517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815260208083015163ffffffff16908201526040810161088d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561166b5761166b611619565b60405290565b600082601f83011261168257600080fd5b8135602067ffffffffffffffff8083111561169f5761169f611619565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f830116810181811084821117156116e2576116e2611619565b60405293845285810183019383810192508785111561170057600080fd5b83870191505b848210156117265761171782611394565b83529183019190830190611706565b979650505050505050565b6000806040838503121561174457600080fd5b823567ffffffffffffffff8082111561175c57600080fd5b61176886838701611671565b9350602085013591508082111561177e57600080fd5b5061178b85828601611671565b9150509250929050565b6020808252825182820181905260009190848201906040850190845b818110156117e357835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016117b1565b50909695505050505050565b6000806040838503121561180257600080fd5b61180b83611394565b9150611819602084016115ab565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808202811582820484141761088d5761088d611822565b60008261189e577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126118d857600080fd5b83018035915067ffffffffffffffff8211156118f357600080fd5b6020019150600681901b3603821315610b7d57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80357bffffffffffffffffffffffffffffffffffffffffffffffffffffffff811681146113b857600080fd5b60006040828403121561197857600080fd5b611980611648565b61198983611394565b81526119976020840161193a565b60208201529392505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036119d4576119d4611822565b5060010190565b6000604082840312156119ed57600080fd5b6119f5611648565b611989836115ab565b8181038181111561088d5761088d611822565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea164736f6c6343000813000a03935bd5a14dbaf3d26b411ad02cb55aaa8491814518432e4fa661ca35e901f29203e493c98d117d07dfdac1bffb7d6ac54328af3d99ba011bd2a3007d10e0f5675b0058200259dea19c5d057ad973338bcfa9e918cb85163265a7a6d4298465c2bfad2c3758206687d92b000000000000000000000000000000000000000000d529ae9e860000005820023ad6178b2501f56ed75acb9e3be25fa64dc5d1c78b6fb9119cbab79cb157ce5476264869a3ebf51a59fca5aba84ee2867c7f190e00582002106e22f36355dc402726f5faae0376fb9f7f583564157ae822e05373cbe48a582065944db700000000000000000000000000000000000000000de0b6b3a764000000582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305444835bbba9d40deda9b64858095ecfb2693c9449005820031837e5dabc11f8d39d0299ca330538b2be0939d875569af76cabc6073865305820668741ff00000000000000000000000000000000000000000429d069189e000002184100581f02b99993cd859d9bd0968408118f5534963e857d44963aa22690af5d6320cc410700581f02b4f34c510433d3b74153634fe754af8d2ea48973aee5ae9c83d888b2b31658206687d4f30000000000000000000000000000000c9f2c9cd04674edea400000000219402001410000582002d73d0e5b51dc943e2bca46cb9e3ea6d287eb06dcfe1c0fdafcb56a08f6371b4109005820027f7dbcdbf52ec672728bbebd1528850a9c9e1ef9a0994ac644d7ce8b416cf054118a9389960f86390a4f14ce4c95d6ff076c6bfc0058200221d15d21557d384dbf8e1eefe7520fa7effb5f1b81fd58fd585a73918e628a41050219f382035ce7ab74a305c21bdb4d4d0c4bf195bbb372042135666735c2bdde3867e6ddc60336e81f738e14a7734c449005ce867a9183ee75607ad34a95ff46e255f530fb4f037a657c881dfc14381d083482572d9f383c40bda95051b182c3a5291b9b389c9b031c446593393e603967b9579ac217570b7774ef12a0c2d9c4c6fceaff972d204703a1486baa01c076e464a955b1cd0487a8d6a42f7eb0e33909a0b08c222a1cf7e503ad8fc5fba2838642f139f99d1c49f34300225beca50e665020bdab5a80fc330203ba7760b23824049b6eac676b02462292fad754bf8730b3beb2a3e915e466c0cb032293ac33674f1dabb0039de08720b891a46370b4e47a25480d9ab51d2aef04800336b4fe1cf2b5bca4591316de9ca3adad56edc66b7d8a74c8955e32072eb628b0034bf0e34abbd4d967f259884d215d524bf37f0bf8de8332f2dfec96129c3cc95b03818587f0296b27247ca321cd6c4bb8c34a87fb4c6d4dc76ad5cd83ed7eb63138039d7aca62f832dea8231cf36f9b35487de100bf6082c14cbafccccaaa710e412f005820021124f948b451ffb5cde121b696a233770cbd090ca0fd52e6176984eeb49ac458206685edc700000000000000000000000000000000000000000051b660cdd58000005820031d4ae18b9698f80c948aee3a938dc01f060f1c16420ada400a303c0c8dfa2058206687bebb0000000000000000000000000000000000000000000000191285eff2005820033d0e07d1636a1b413d3630491c8092e65930a8d092adc415fa8e9c15f8e18058206687d6af00000000000000000000000000000000000000000f32cd3cb3a3300002190802021958000326e3779ce3730569be50da2df591aa27fe9ec75782c28e166787eba6915d21f90219ffff05581e03a7531461868e0057b72ddbb825a04cd313e6937d14a2a73bd800662d600701191a4d03f74e3ef5acd3741f5d4e770e8f0e6689bca9ad4433b09c27de755e5443b928e103af6bdd458b4e2524cf15aba9ceda5cfc719d739dcabee1376821117d4a23d02205581e03ae0e78dd8345e81dcea10af7785e9f246507693084983923839c8142f0040405581e0394f6dd0a25b85c8685343fb021afc82cd4f52a0c96b383c626162427700c0346a2405b128110030d2f6e378a06961a5037c0f6df86b0239478f613b5f1808eb436d2a80ac236950219f55e03b07919e5c9d7ade1614bcf18a8bc7135de1295e7fb608bd5337a05d92962d5dc0314af947717037d6764d1b0fd1d148679fb2258ad3856f805b61d1348d1fbc10a03a5f21526836c25d813e9a30ee2f5c2a34bdd1e9770b6c4f244418abf93f8d9f00219ffff03cb87dfd87ff1ad169dced570908fa199a3024da92d5f0d4a4e726c8e1c6c0f2f03398024ddb237f0b3de8be164f283b932f7c26b47264f6ea9bb47ba0de2870b3c03b04748bd1aa19e255d2944b58a592da1713c61130e0cf93783f84699a2f0bdbc03841216a65252839fc456f843edd5d1c12c56e956d27ecb626482506383135dbe03df537038e16f2cddb5b12b93186eb6fc37cb512955e6ebbb99cd861a025fdece0323079b744c0e0514a905ca5d03acc73afc38da6460d74069615b3a4c59181ef803f18645dc3c51c4860e7326c73dae58e28c888fa6486e8f0fa5746a08dc92ecd50219ffff03ec9b4ec679fc30cef44a0edf4f61f233a38bc97b54e1b22e1f359474983359410219ffff03088f3d2c46ad055998876df727ea7723353fa930e9bfec96ce2321967ef15d0a035a7a241ecd8d2c2bb00329256ef24881fae87665da90d90f17927ef5242f8b6c0398250d5a2e225567b277a1e35b16c130c5835bf97d6dc910fd9eabfee83200db0219ffff03d29fec6f32745e05bbd9efe02c6c260c46cb23c526bc479602f691495935e821037532a7ffd0b69255d16c5a4513ada8b568515940fc7384f40ee2a0b524e9cca9037dab21fdb41369f449c4e3bb8a419bcbfedf051fcc809b00bcdcab0ae709c96a03276afb7cdd147eeb40e7778cbf2462c6b2ad48f2e173bc1bd09cb302a15301d703c7c928e3edeaf8411a258d156f36befa2a4bf5d036d809a7abed19b14d4505ef031beb5a8242a287b872018b324b978dde46fb502a5269c3a07f70ee980dbad53503392047d446feab95f4939f09c536a38777f515925535206e264384ed6c64aa4703c242a80d57470e7c1199c62ecce8e789b544886dfc2567d49b35b2e7659ed54f032082a114f31771140d26f01ef934d71ec2c4a2913c0335457fc19e6c8ce51e7903e8a637ebcd4213628f67624def70cde7dd2ba9fcbe7f02fce1e20e82c9480a5e03eb42c912d72dbedaf7fbe08e15aa0107fdb2890900023a3015eeff28d093c74f03a0566c72281fc7452cfc9ae26b41665b90c882423fb9a9b350295275cd2ef1cc036e6b07f666322b50959d48ac7af087525684c2bc13b7115b6aa2829a421799f203f7ab4d568e874f4422bc9039472b276357df789a7c51a807ac3deb6eac81f03203feca458c8e3b21e4a8eb4ecae52bf8e9d07ca1d1d8de0677ba4ea41cb41daa77030c831d477d77b81ebd76427920c731e189abab1b4d5bf5f031a03865c7f9490c036e3f3bbd007eff00a11e0b35201c6bacfe31a78947cb47e7001edda46081e3b903fe7895722044549d3aa374ad2a4d941bfae971fd87d77588e7c981a86ed5b1bc03fc3dc2c551f7a5f78289aad2ba42e10bddf68c4522b442bf471e9a400d33d43903ef0e0b4544ead0b23b6b133b0bfd037b722aae0ecc94e4c8146eec38f36cf1de038e3d5c792008044574118d4d24a3740f45fbfc8cd4286c19bf733f9592ec11e303f64a33068a1aa0aa301c29679eef4fa20c38e8f5fe57e8ff4e73b922b153ccb7035cf38d0a78224060058c170af00642632ab9d8b267cf236c69605ac048a9ef45036df53b4b334b2f8dbee995356e448ce18715832bb823f7d47a7e2496607b4f0803883f0346adeef8f2d902c95109c87c9e94433cbf8f902f00f88b595cbd2872b90354d636c3f7b2e8c19dc9b36ab019fd314e055cc25d794d5bad831eb52d7548e403a83f049325305ea65cfcfae28be65b8a1dbeba7a15eb979dc11fdbac8f105e4e036c2c1f44f64c5b06e82ef05adc2307e84c3c365c65166e2e860882353fb28b2b03dc41177c6ed2a616de1ebad2834c5d611ef91589c48148b340dffd2d17df12a6030ee2cc870f746db0e77a57cbadfb175683fa14b3b92f58f62898e328c9acef4403493bfe8e4662bd5a5ca612119a29b7268b20f0cfc69613d3de10204fa4ca23ec03f49b9db18c875d5934482d20dec2126dc54e49867094140ddf85cf524bc0512f0384205065121d8e7cdf5ba56afb764a7fa2d6c18ed8fe7df17e168968091d2c8c03f4410dc57f48d269d989fbce27efff5c0e3b45eed8f581ca90ae98dd9de19c17036c4609d65a4860a1001331e03a56ab902dce6e2839698b88f711e042c2b11dae03280dfe500151186133b0d7ca77785528b6f94a61e90d63b38f81ba8a14e9492603bca1898f946e0fce3922c0944c2997423119cb13a735fa9af4d881b11e46be1603856bf2c9b8d1d71f03a75cfa10a2572e21863d5f14670947f1be662d32d6b25605581e032ae654ea965fde50f55c8b48aa237e787064cefba102b1eb09b67732900c014701f4e0cf7cdffc03313923176b47af699f7e329469e6f4755312facd733c2a9cc55cf87d3dc9a57601410103945f50aae2fcdc3390345ce39b3c50eca8046757b1c57f20c925561563a7f7ee05581e03cf12321f9e37de838ef83e7e3d80dc476dde2e06b5d3b7a99eee2cd4100c03463fb121460c00030865cec1e9ac3048b12a85fc3b9fbc682c3831784e3396416635df4cb88c3fdd03a3c95032dec6da1194cabf79dcf787cc5f22123a66184ead3feea310aac3007f05581e03938ce7e50cd850ea73df3e5d52caf0e1a8604ef03c1245c5b491ea8b5007011bffffffffffffffff05581e03466e8493a4b1622232ea1f6ff317d10e4e578dd9ccfd2c0100112c56300c024739cf7dca5d732b0219464d0366fe3186ae7153a9ce6d3079bc72ea99a2665756f9799afbb376ee8f60273d450379c16b87311e5a872d8970b6c9e75430571b7bb3c651d0e83699f1c5a88ad79c038d5ae47c568f68293a707f41d8dfede710cc4988ddb4385ac2769e8dc1bfa50c03d8c342e5092338ca2dae684960d0902c8be03527b30a3745d6f6077cd1e39e4e0321baee8cbf416363334410dde141e9642259a962293b03ac6d0a1176fd8a6e2303d754f1254100c864304d25aae3f86130c43f72e1abcb752da447746e238976ad0219ffff0325be039aa247fdee9167c959616aa1a35d2df27a3164c98aa004909a6831bda3039b19dc8c30e5a439750d640dc31f7adffd36d74191862388930de54469379f990219ffff0219ffff03f4cbad9abc229b35f9480d75feb95dcbd3ab398b63f3e890005b7055532ac1ef03ee4bb9aea49317c5f201ae752e00712655faa4fed719f41940c4c549f26c65910396d95903986b8eb565706b846c4c74550f8dab7619cfe9a49599f83decb9471c037ab4086f2d50e2cc7734e0b9857e52f551437ffb5f81724e97c3ed449290325b0384f384c073c94f0a0a928f7580ffd980bbaa301d6b394e526092349883f52a7b03deba8c995ad03786cea59382081989431094c0371aa5774d60d46a588080d9f50383788757ae6c302f710b3d7dd18ebef03ca7bad6f10d4bf5d932683d21ac414503b9c9f6e1b4639b845ae3d25cc598e026671e236bd46fa5ec93453c827152f20d03ff2a781e7f405b66c79b0b2bec7dc40140e9c80c0d60fc2c338e61f4c948974103321a493cacb1cd8faceff93c925dbf0eea5c75f36837e74518e4f89e7994a78403099ab68d50dad4bc6894d08873551103180bdbda3afc37a3197a050b11e6adc903e44163859c757f30c5d4def2ed01dedb59349b4626590b33f07f0705d3ac75a1039d360c1df799f9410a25c61b7c0c571ae849c9d7df87c5e80a142773fbee3cc203e5970bec9abbc6c4900b13d73a05cd4d8192a295b85aaa2acfd297af55b8ab590374b40003793a8bad01f83ac12e6d77111d1ca55dcb338630288ce4865c22b61b03ebddef6c847c8f6eb79337449e766301699b3518c7e2081ff5ea203f04b4b5920380e53bf8b5818504ef18382c0db61a9c978290b40c590d94fcc3c25036e999b503601b888fa9a07d9ba3c6f44ea655abb2ef1521af27208fc5f26e761f8fb4906f039815d997f794cdc5006949886e227cfc8e2a8752edff0d806c44c728d9b5b9da03c17da754bde79ab888418333da126f176020aaab7ec7583503ac1a6c5f10096603788fe088facf0dea4e9de5cf383e2066a215b564f8c678b3400cbc3a5f10e97b0338bd856f3776712195164e601f19aa44fbfc0a909b017925dbf84f52d1ca2a0b03fdce2aced05f2b9b1b45e6eb3bbcdb96737f56f6d0bbf3222b2f9ef3b5bc089b03bcc8f79f9c158a45063505faa1faa7ad3933685f15d32f3df1b0fbb0be9b059503bfeab2f41b730c363403c7e80acc741537683de7bc20d278b7a4ae669cb1d7b803b2f876d28000cabf9a59332d92448169eb8f015c7e3bef6e915fefa41c3a887e035fc5ad018e9d6ee433e4f10682508650c42498e1330be21099ad960e4a50422f03d43101f2b8100d0135b3b26c427287cbe891aea606df44d9cfdba8a3a78e10540335ae1f9c06e0fa482f6ace7ca88099bda443378400b3e15a949bd6d85f7d21f003ff1d2e21ba235b61eb081c4a738ca70a794c50fdfa3579e62b8743b88c17be8a03d7700605d490b969681c0440e134373567b57385ac82f059a3b92a22c5408b1403a68f578b34da4ee3e3347bc026d97af2b4ac1c085af175b8b35ab530b704ed7d036e85ff2cf0387974ac8e854ee24f2f9041b2897409a028d06169ca23a3a4ab19038d2e80646a8ba8ba43e86c17b4441cfa2b99e7c59f7b6665f0e221805257b81c03b816027c7da882ecf43a9b65e9d3d6011e2557c8bfe1f657c2a20b75b4b9e93103bb068b6deb8e1b3910ede1a20c4037fe9539516548a62038b7c0600223caa100036ce35480357b439cb9600bdf50de454b1561c016bccf917e55e07ef93acd108803dae631ea241b369663a24c6d7d45eaa310f1b206b288bc11601d724acc829ecb03b40c9032fea68b496d320a06efdf9c71d57db8f05e25edc12c7340b89217cdf603feb69252e5c43ce22464d2eac39c00972eac5eb87f6301e4e346b1e2d7a8f0e305581e03570e749ff60b70cc8cfefcbb090014a4dd73b2cc01b721003d58eca7a00c0146123bcafb47e0045906da6060604052361561008d5760e060020a600035046306fdde038114610095578063095ea7b3146100f357806318160ddd1461016857806323b872dd14610171578063313ce5671461025c57806354fd4d501461026857806370a08231146102c657806395d89b41146102f4578063a9059cbb14610352578063cae9ca51146103f7578063dd62ed3e146105be575b6105f2610002565b6040805160038054602060026001831615610100026000190190921691909104601f81018290048202840182019094528383526105f493908301828280156106b75780601f1061068c576101008083540402835291602001916106b7565b61066260043560243533600160a060020a03908116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6102e260025481565b610662600435602435604435600160a060020a0383166000908152602081905260408120548290108015906101c4575060016020908152604080832033600160a060020a03168452909152812054829010155b80156101d05750600082115b156106bf57600160a060020a0383811660008181526020818152604080832080548801905588851680845281842080548990039055600183528184203390961684529482529182902080548790039055815186815291519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35060016106c3565b61067660045460ff1681565b6040805160068054602060026001831615610100026000190190921691909104601f81018290048202840182019094528383526105f493908301828280156106b75780601f1061068c576101008083540402835291602001916106b7565b600160a060020a03600435166000908152602081905260409020545b60408051918252519081900360200190f35b6105f46005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106b75780601f1061068c576101008083540402835291602001916106b7565b61066260043560243533600160a060020a03166000908152602081905260408120548290108015906103845750600082115b156106ca5733600160a060020a0390811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610162565b604080516020604435600481810135601f810184900484028501840190955284845261066294813594602480359593946064949293910191819084018382808284375094965050505050505033600160a060020a03908116600081815260016020908152604080832094881680845294825280832087905580518781529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a383600160a060020a031660405180807f72656365697665417070726f76616c28616464726573732c75696e743235362c81526020017f616464726573732c627974657329000000000000000000000000000000000000815260200150602e019050604051809103902060e060020a9004338530866040518560e060020a0281526004018085600160a060020a0316815260200184815260200183600160a060020a031681526020018280519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156105965780820380516001836020036101000a031916815260200191505b509450505050506000604051808303816000876161da5a03f19250505015156106d257610002565b6102e2600435602435600160a060020a03828116600090815260016020908152604080832093851683529290522054610162565b005b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156106545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b604080519115158252519081900360200190f35b6040805160ff9092168252519081900360200190f35b820191906000526020600020905b81548152906001019060200180831161069a57829003601f168201915b505050505081565b5060005b9392505050565b506000610162565b5060016106c35603b5a5dc553319ccae930a17a8792c6503b89bd39132bee823e05555eab7fe17b603a8745da6d52a1a460e4020b9286856db499a3dc1a911bb7cc5510632cb1fc91c0301f40a889ef4d7f3429fb396786d0319d2ff1e441e47591bbaedb4d0c9f4ab7a03eaf23bc634627dd6c530fe2ab02062e47254fd89553f287b2bb91960f5b8d98b03d4a3d37aff8386f231e7aab6f4743d59e504ef70f1d554c9a556f89cb8fbb74f0337a6ad35135d720ef5f7aa8dbeb100529312f0aad56f687af237a6c68e8d006703f36d3e3d3700203cfa354ec87a5b3bd592331b4f3f44e5d0c5eb381fd9d4122f03f7fb4793f2f2d96326dcbc9a15489bf0aaeafd8f9e77451ff9abca5a5b78ce69032ae395a0935b50d43e5f0cdf1002ad5863f3d35a4f1aabfdbdab5d04ca99506b031581f0c34a7470b0c09eea61d1c399c84c3097ef9be006ecfdb60866c2114fbe03a66ee920e4979498e3ab39c48509fc9af7214fa91457390a8daa6fa2bf3535f4030ea046b216cc5920d164a64d1897e537d5de8828b14ef855a0bb8f6400b7c8740333e3805c96b6bb96eb656ed905a5c3426c8ca76eadfde7b213e2120d91058d4d03b9daadc2c56806655f635dc162de485863c1df203ae041968bff01abd7a9450b036d9dfb51a66fa052e71aaa34412d78577c4acffc5776171b94e968286bf5c785038fb7996017a965926a0a2657d2ea46c366b835afcc05705b277c0bcb1fe11c6303cfa315f208372872918612c4dfa41fcd40c08265c7779ac28ca045262511df410360377f552d5ccc10cb28f28c9e3b2cddbe58be5f4bbf60c27f87271ad772028603e428427bdb606dc5e8ba4fbee4695f5a82cad61e184f277a49aef639d78b3f6a03c630e39f2cd0d8990cfa659c9cb91f14882c29068b5e84652287574e4e4639a603aef2fab7ad908c093409ecd5c4e3b8ab081262204d640b89fb792c79a4c34a7503b4b8ab572aeee775669f2f2a0261b96b0ade939c89f8b9a08cc63400a7ab1ebe0361cec68075a33dc6fd552ffff52c743b50c0ea0514503b168545445ac4203202030bf6d78b0f76fa96546752c479e0b0a992f946a08b5fa80c4d0de44b724ec5a7033e23fa88a1fa9f568905b80fbdfe2ab7f14003ab6fda32373cba735b0cbec9b9035e9c00a0acceb84e1dfbae84c1cce2905146649ee1a0b8435aa58fb7d682b8f600581f023c68f5532cf006879f68c5597459bd95505af3b75d6947b0d9c02e753b394902195912da4720000000581f02cdafe73e34173edafcd012c5f4eae7f2f076758116ea270d60b44bda2eef4688be16578c0000581f02e4e98fcfec02e09845aadf643c738bc31d0505f2368885bfa98f82a513f049732218068946f8380000581f0268b11a373d19d0a8f853f9e755584f00f9976973158a77e4c0279527380c480bb98ad2147a400003752d7e58a6e4d92f7e359d45cee674efba0e50fdb13832d005bcc8ab3bcf54f800581f020688e5c05c181ea9f6df0126645a7e191cb0ddb2feac42691812ac2a4a0549017e4ee67720f0040002194c86036b48ad214d94bae23f62b076a98cc0e511b17de804b97e26d0f733a436533edf03825ec1e17f0173fd8b3d4609c25a44d88e72bf1aff5d3365277c56bdf2c494fa03ccdc0de1c4c2a192a030cf8653dde4a963ef5cb4bd4487ca356ee6889905431d0355fac6f1a395a1980b376b2cfb909ad87f306f05dee221b1124bd5250b80d41003ee650bd61a1a2fbd83132677503750e38ebada5129fd35f451f1ad39c3cd7e19036b30a7cead7916933d94823404d7821bb531913539cb472ce13df861bb40c8b0038754f7a72a90455288a3f236e98b111309cc0a5306a19fa475af12d914b414cd032208e533f1b567f75ec562d4fcb8fc524b0963ab54449a2798e88ada3bb4167c03a65cfa0764ebdf9de44dc4d7f22b245083445246d76c49e2298c3b7167f387070219ffff03cffa688caf1d202a9dcbfb335a19778a374ed48071da4adb7ebb31d10211809d037318df2e3421e7bfc34ce9e70ce0dee1daca0751f3e2a9a43050096c631f652a03d87e86809e1421607b055b3e827e56a11e4ee2532059275284c5747579d80f80032212c39a018377e9e19aa39f889cdfce91bfb17143b76a2b4ca09d7230cba330037f91ff38d422abccb4e145dbae6db8d45eb439049f839aa9c02d56db52fc19d20385740b3339419c23ff3206b9a07a1f2961f6fd2bda293d893588c709dbd13c5d03e15d52935355aa86ac995fb6187f6c79039ae29a1019e8702e9f8caa0a5af0ff0219ffff03d51fcd53eb52c2e3ea55839f991d2b1779aa3f76e468cb86e938b1505cf1ec0303ddc0a558b1e107c860f385197d7ad1c8ec6ca48882dd17c9ee6e6df00711c4c403b09f35106eac02d481eadb444ae5cc59a63c34ea78a3ab432d0f9031db33dbd40219ffff05581e03bf708d519a221d6ab1b9d738c66c3404b9e256710f6d4cfb9c6f2d11d00b47c3663566a705101906da03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e032f74418aec46608e6569bae769ef46700ba2f6fcaa60661c126a34e6300f0147063a581e4a90001bffffffffffffffff05581e03567369082259deb18c3874a92c0223cc19005dddba291b459771cda5c00c024608648fa8285603a7c6b1f78a63d1d907630b1f031da947093ce9f6706e63b1be443ca02de08f7c034a4131be03e76739115765d2c57fd1dbb83c9ea3347b9c689d97150411881f0005581e034ef56b84d6cb413dde8cc1cd54c5b7c249f738a44dad8e89dabe657d9004020219668903efca4a9fc6ee7ac16b1c0433bb104938b059fc5f977e53dc7de58616cb83503503a6ad937816649d573ea8b15df577dff6a5f2f41922e316879cdb58fa07ce472e0219ffff031e70502243f4c28436cc0e5bed4775fe4e63319fcb54cd915c4f925cdd43a91203f7bedc75cf00ad7b81e8c4a24384ae9a6ca4fce6e5d25272f22ce19e5ee2ff2e034fa24351c617d1192abe33585484c0d948462aab2845b6c406f6d4d57ff38caf0219ffff034b67117003f12dd807d5a4c7918b767170922f82beeda4a9d9222304b8799318032f083fbab45b4f80cf58d150c07001dc79318e484d0143cf1d487daf86f96bb003b271c415a59a9f045289e597f415f12996ae4872769fc632650424097cc7afc4038df22ccaeba461a63417ba391e1e102ca469cbf7c32d773d9cbb88df019618d80338d35dd5308b579c8ba0049024aa122f19dcd9b4f4534b5c36324514ef8f389e0219ffff03c461aeb715d4c0f499491c6f58e57c1530c3b1c5a4bb949f1e63874993869f1103d9f3c8d78c3b38657528304484df77e47c8ac4d6a2831e301d3fbf93ad6568b40308dbe5ce6306d7e8df34fd985051b95425990a1f33cd923385606444617ca11503a9320a3331bf7c6a76a09a5126720e4ff09f6bcabbc72060349f14e6c75766a4038e38fa4967c5aaff12d0311aa2cd6c4c1d495256a57cb8554ff8bcee6274f28c03e10b0bacfdaa2611fadf270a12e6cb237cd071305ebd8beb73210881a261af4503888df6334d6954ccfe866ebc8cbbd20d1bdbb35cb18e7c088564290dfe25ca44030c6301b92c9dc3441c505e5d5626aac89b33b605c0c00a70619a000f1ebc9a55034c393eba871d5115c2ee74737c25d4ff56daa315506d3944b9a89a3182f1ceff0219ffff03fc1329e03cb3bb8a6dd46081742ad067d8da5e69aade1cc012044bcbb8352fd603ffc6c52132ff93818e7c9bf7c7dac0f2b33ce06eb38b3fa2b27890893ca5088b030baa07367a5ed71151ce95dbdd43a56a75bd095397fb07ae7813e401d190b78203ca05b9961740b6490197475f29764b047b4b6020e9cd092c4eb24f334136d98e03a97688455f9dd5b878035bfaf70a783b93f694f5374b3fa671857ae72512f49203542b59654893990d6b897effe56146db59efe4a4a43e59856a5cdd5c6d84caed03a6b7941a3f6180b50d2fc27aab7b5136a0f16b6cb389bb0d25c14e9d62a0d49903d6fba9ebd6a11da820c4bc76645ead80722abd9bef18154e9f36e053543de44803d6d65bf43a113e853a1037499b6264b553bf4403fe87bf294c6d0408db00dce403a2e634317af4d95151b4e334bb39bce0934c4c6aa39c5ec9f2505f9b4ab652b0031010ed5cc8aeacbcc139e10213da2b28289b43524b9cc4aca066341f533f75dc030a5eab1f633d64d9bda2d5f6b80b809477fc36aa9aee20cba3e4dc21eb0c241703c20cabf96d5d43f6cc85ce9bf80c61ed983bf1c0c66579cf9a34ed83fbc498bc03ce148c533bbc4e4b5bf55b0117bb522d4fa7ef32ed6a6d7bcae7c8760bf0fba703a21412a61b1a46f88ebb6edf7fe7871d8addf6a05b877ed71bfb1f873a3137e0037ebfc452f4b45c67d9fd4b5e47ef762e4b8334dc17ddc41e34520786fdcb3b0203114279066b78b867f4a1d1bddc2273a9a2dd3fafe75829c5d607dfe20d7f932a03fe3d1cad8546b5b559da34ddb2d1b1c215fe8f8411b6ed32b58dc28c63b5254603afc807fc7739e2239a9e35f56b5d0bdd29008499c91ded5f0d0189ccc7731eb003268a86611e573a3d67c92115cbde3c11d61614dedfb9741c964328995ea3ab1e03a69efcbc27a373c0dc41d51dc366340784d14d4bff645ae16a6eb5b80c6806c30331d38dbc8f05c672585a11faff5355927026c3e0d391ecd4b9d4a31113de01b403966206b05bcf71565d115f20d74de122fac88b61e0dd42802357da2398a29ca103bc0a2a299c8343a8fb7fe0ef3f5bd038b5eaa2d7fb8420815ba7eece3ff3e9ed03369cc7af5919ddaa5f539f8aa8839bbb2d3c1aebdcd519298b89a3ace380642903629ee0acaadb2416b1701a091462f5d10197ec624beb2c8f400cf860e8893a1803d4cc4bbca277652b807c71b04a48bef1af6f0b7b4456bc1498db8062b2152db9030665f86f47d5fe74bf0c0ad639ac0321af0c6719072785fa8a74286afae940ca034b79d51259d84f7f759c3e763b56259eab2293004d59629dadb242617b48fb0405581e03118c6bab592d8d2667bc15ef83962e82639a5c291516c6428bf0833df00c01470a5c483729e60005581e0320e38d4854ecd682ed58da546618788706c4620e78afd9ad64794a09d0040305581e039420367757dc1f7af98af1204d7fcc51128b6b42f1ab83db153d6e8690040105581e0343e0cdf7e17e0e0c2df518f0e3152d4bd974ec7d0fd62821bcf5f05fe0040305581e039c04a2465d77430c15f81d1b07bc586e922e620e9cca1ccef6d9e50c700c02470431908cc2dc7205581e038bbe7fefd02787fc974e159e264687dc2d95c2c28d505a526f09878710041405581e033f469f5ff6fe4f76580159e6ec4c77533fefcb3230649fd574dad00530040203aef0eddad8ba222f0c523994602662638318fd5201a11c1f862581bb8d0fb69d05581e0361b6037c3d2900c453a27209b1f47bce7b2119252a551d28cfff50288004020322e58bf4d71f929d07900ac43058a27ddc39c4c93e2b1614333e6c18da027ba505581e03d5109a21c4ca5dc03ffdac52b71e5ee1ec7359b5e4ca1e191c4ee6c5800c024601d1a94a2000033397051ae98b4518205abe1bfb13d5318365095f90fedad70e459d50629fdde403032f7bb862c077dab2299816394b4a0fec2d9dd4a1859fdbd9b273d84c153b5805581e039156809a4264cd4c598726a0f856da632ccfed35d36d1a1d54f400843007011bffffffffffffffff037e46b2659276f71d52484d34e00401a3a6dff81a9d48dbd58c04c84e0f6a898a021977fe0361c24afa9d174588de19ea4902e296abb1b273092aa5c8e3aa8c43cbb59e28110219ffff033f073591b228bb3d3161a5c5ce19588db2a2f06797f95d9587e9f50d47f966210327ce84db34b0808a63ad314e48eaa21046f2215eac8388e2e1417977eba138f103db87303734bf8b7ad17369b49730bcdcec68a1f5c9a3f65d1f4df5ebf2cd0fbe036b1b89c919382b3158009f2b2261fa609757de30ff31b895bd79ddd13ae8c6d00219ffff03d4f3df448efd3bed8a731e19a941edc400f92e165b2e447dabb54b76ff34e859039ef89a85a53f76e7a33919bbcafbacb3cdd5efe7ef06e385afed796955a4312103a95d2c8b566e7c58c957cc04d24c784c0212d586e5a83bf0c51a8222564849fa03c46e92cbd6aeee4ff03555e4b82f255aa221c032b8151743f057b96cd5ccc01f03e77cbfc3a33c9b068b3c9f02a1085034dca434cec80755e2895bd5cd8bd1b23003011c403c978c459836d16a274993317ddd6c3e5daf946f347973e36cf00c5ac803e3467b9874be1d979318b2da064dfe053fafa3d2f27f5a59ed5ba1f9e69cea30038fa9517fd4a231fbed2aaa7c3352a0d66c86a43b3410695870a3ef096b36e9e303c29bdb1e86b25596c7d91194f29700e63b3cf13bffff6780313f2e4a43d653e203c26875ef08b60db3ab73c5100d608e3a9027ea7628897c50b00b70632dade2f5035482ffa329575c365b087baf090dc56b4eeae3321427b56759882b02012176090219ffff0336ffff7cb99e31138ddd30f67c9d1141d89777fb4e50aaa47030a85b400639ef03c13fa7242ca3992da33196fd61caddf768161722d7f8d41cd50acb110d3a893303742d6ec4ddddad1eb42a706c4233cf54d6f8132829ed964bde64b180964c135f03b76a802ebb97a20f30ef14652f4b73750e6f2e5f18831962766aa918cf37da0403a88c9c3288b176fbf80f63e8e945cbf3092c45e4a343223aa2c8690e619b739a0393dbedcafec87105d1a6c83fc1cb1c6abad9b69483263c54a5cb8a3240b748b6036266a8f7f1aeacc095a52292c858b19d7dabf1031e3df109f10d878985cd7d2f03c6634f0bb8700d6f76dcd4f264857be8cbbbd7b22d4abc6aadf0efb29ef958ca03ab34b84c8170e1c6778b55bac8be000bd20e5a50b3a004a44593ef35eba9ddec032628c402c882b1a7f764614f9fbe26ab5ce63af2f02b59452ddba262b04a62f403829c8b5ed08ea80d3821ced695f9bd64ef8d65abf69d2c0331d423252885c7d70348aaaabeb673e733ca1930646cff0ebbc39d79847176fe8b0c80da855389d4fc03dcaf9c7afb2e41ac77f7a2cdf986cb3f05cc031c1dde5eae406c8e91eb4b3d9103c4426e05e984a41c97e7f89c712ed59f45a56669a321925409fcb00a14680ba503e012f59983104f1d14c305580ffa3651ccb42b92feae98377cbdff54aa20fc460219ffff03d81c42ea4c82d6fdfcc2955ba4be40ebbdac0d08d1ab8db365b0e5f0dbb2a04e03691dd905bdc6dea00fa63eb1d1836b91276faa7400160812d998bd67c1b95da803d35e70d82643444332d2e63b3595a479ecc3b897af73bbbcdef3648d311a6972037ccc9fa6ac581e4336e8966d3e50fc84acc61f429e69c4a03db061b8e9e47ed503455cdced19a60c537621802257dfd35f1123ce791f8b6a51aa72de30d4fb54fe0385b6a2b4c1ae717ac422ab8882ef18909f198ddd2ecf50fe6d664b1a00585995033dd1aad641b954889dd8eeb12e826abeeed3caa9fa7d8fc7fda0d7fe6983374803bfdc9fdff5618f9a7c83ccc744aef122b86a6c41b8a0be5460d1a5898ab06f93038ae43e742260abe255f41b451e395823ecac6fc18a09401dd19a02d660dce24303a84436b4bb929399154b1c877e61f9d892fb20dff9f99f45f41dec68ccb9712d039690f98b0977df15a30be85fea55a9929aa16e3dc2dd229d85b39719b1a24b7a03852e8c34de1c27aadc69eb705c4a3eddfff11175f624df2dcda43173f3f91a2b030eb603eed2b52e4341b514d2b56a4e825d6abc08b4bbbbbca61bdc2aab1716b1032e3548cc257b11e0c9e66680a7a5f42d2583815cfbeda4a23bf99bf19b7e5088030719dd8a4f2d7adf4a7ce2729ed29811f2037d75c2b31e0cd95778563485cc330355d3c14b6d54c3b3840f646867b54dd5c26516cbfaf4e8f353ed5581a7d33a4103f2458209f7f6a3b6329a582ff2992840bea5347afcf2ac85542408036da06b1b03938302acf74bc9e7d1343e947a02da0b943c09b9febed43b0b040b0deaa5763303260d8d2b0ced0465daa57aac26558434ba858ab9094f182c92a566aefd1cf967033a33bf9ad0298b953ee8a300b2c06473a49fa64b0266bc3d6d642caff9db3af003fa7db92885ade9b8849db2275afd4248f4e6244c28b01eb633e88fd6f4d7c4060367c92c8f23d7b7ae6694af00f3e55be9de01303f56830d150fb803bf0dbc8f200329c58cdbabd823eb6782cc5dd242ba796015844254dc31d56e24178a2d39d2e303a43d9d5f1d40c835773a5cb3f67af417fdd481265cbd18bcb2dd0163ec659c7e030350dbcb09bc148096f184bd9a5de9fd65f511bd0a5f979a99c7195f5ebbb76203576e0dd77e74aa211ea71c515683ceeb32f8feab965850eead49030ca41ed572034ad639c4b8b5bd584950ea2e42d118554f58abd374a1a3e55abfa8d005a1a2e1037cbc4e5d6ee82fbe4cf95142a5d6a28e3e7cedbc6723620c09d8f9bab2a0e9d303f9767e1bcb3ffd104c0228f21199d3ac9c100aa16151e5982e69659d84b22e2b05581e03e632c93c025657c0ecdef9ad1ce1e0247f44377279d6e93985a5b09530040105581d026eef414f287a7bbea6b3fbabd592539c583d546a355349451266cc43040105581d02f55514c47b8f50f9679e74c9e21697aa22f2c83189e9325af2d272db0c1908c647f1375836a59f2402190240034c1a8b0a86a30f8eb49a27e05f649bdefa450c1a51baa99f6948b07bd6f45e3f05581e030b969e27870661b3bf2bb7becc90d96b3dea7439ac5c958f0df9429270040105581e0342bd7abaf25151f5213e459ae794639a606b45af33d6ff020c62a05c300c024703b394fdcb3240031777d247cf44a80f076da2b251c712f011e434f65039acd55cdc392b24037c9f05581e0312b534ac056fc1ae70d374ae5661b3cbeaacff2bf6a13e381f17c410000c0146d1385c7bf00003a090298fb8eed6366220b3ace58e429fe3d612be74c8e9c52549a25682943b730219627c03ecc35a22d00f63def95c6b6533d3cfdd31cff38c1141e7870d4307400ef58e2a03f5eabc0f9a3f3fe1702f7f94eb17d1cd2c5a5064ce909fc67be35427483a17e903f587828e909a306029eabe005244466ae3aa8f9f786a3c0ac95efcd820f0146503877255e8adef4911a58a9c84c2388fbe35bf8fd9fd2ad91dccc5e686c73ab7ba03bc5585cea12b507a713f627ca525b24b0d9577758f920767316fbf92b670e2f703ba30f5861d5bf605100a34d226b6fbb157729f6e2d7c4dc9cf399578652cc61d03e3d2fa7b28c207a56647cf4d99f426a6076fd7f1cdb39a4f09fb6d5900f6fd3f0324e68d571927d907c79a11bb65b206c7b6e9182d966032e8dea3bce4cf9ba6e60331c1b8f8ee892b4d9a2a331d0913f155bbe04000bff0f4a070bfc68d7d1b96f1036315bd55187a3a2d398f5d9cdec384cee5c87b93938f1111f8f4c933fc8e124b03eb70dbf769a6fb314b0610e7659cceb25d2ebae7f7f5f9f5b31208c145e2d214030b056ae28783d861bdab0713669ec91f3ff33c74ee468dabddb706050e4da7d203cacf0b857dc10afefaeee45073baf24f440c95181cd9b14d1fe5dbcd5fe38525038b310fc39a516ae481bf1a3fbceea1c4d870fa78f260d9641368b1b002f6193b0219ffff035543d0cb4f3880011b386f57a350f471c41f50fb078281235665aed0c067a0cd038cae3a2e63a47478f89783bc0ee29857b71f7fdc59b916b04639a73007e0813103fcf0fff9784c634292557d0da4029f4e78678f53cbaa39681a6758ef330e315c03d9c6ac94c73af043dd07b459c63c772275bad30cd9a484cc48a27e6136469662038911fd6cdc9f17d67ba8e20d598c83e5d3a0508a68d102c7f7cf726ff93e005b0219ffff032556916587b880c4da98ad4ccd630c0951b37d060a300434d29ebd7a80f5bb5503dba6c2caae6b84700d10b01bffae04049c52f5755db9685032246edbe69a9bab03354762cd17d4539987b62f8b27bf5f0f79d727f5fd67749073a594235c6847e9034969c561228cf21f820c61d222c56870e1f0ab42f8f07c0670d1a9bbec0bb4b70305694811674d96315d70b3052a33907c015836d167c13484ff6dd0dbf83cb5d3039dd875ae66cde33129f1bef12113c03f5ca05e96634e3fbe4c2126318e25eae003eb65f0ee6623f6633c30539a0451e152ad7ff9f279542332a3e053de996a3643036d6e67e1f0b64b715248e40af7fa5c68a50bde2ad31346e18306901b34330fd70219ffff037d9f10a1bfa66611c0af747dbb758e2ed95bee5cecc07cee7a0dc0e3882bdc6503f0b7878fc5b8b636deb9724e87158c56b863e8bc945a2dd74bbe11d39d66236d032755699c0bf99e02d7d19a17569461d32e85657548b69f8000fe8242b875770603e8209c49c86b6420d5d2f502065e81ff17e19be1ebd0d2b35a5d92a4a9545f1703a39252c5f63d0196e4ab27af0e4a5f72fb126e2e16009efc3af8f7d1ece84c750304a434d2141df4c3a957c4918e1432ca0221267ac921e41e6336f794cfe8911003f29f94e5759e71369273ad97decdaf1416b4bd5e1099182a8b4f6d86b49fbedf03cb6ab26cf79f32545fc2bed6b960e9da92e13db46332be35b70d44dede71027903e68234e5f55813133dc1c2de3bef97b07b689c4156b899959a94e7ca14fa88b3039101c8026d261e06a5f0ace29464fda2a9f175f70947b278105a1a505a55938303f0a1a77ba4460326f89a8ae05b745871c83f472f282e3e388e689a3a72676e7e03b75d721a0be6709bcd9f24fca99ea0646f66e4f880a32b4e9939aace7e1dc6d803dff28e1fea1db4dd84b8520e612db41ae408b87bfd87d505330cfc7ba8147eaf03e0cde62cd8c53aa1460d3b28b222c8adfd942e79e0a02e82f44b1737562be962039427a6ad2abaf0ced19b4d6137d6099b9ac8304b8532e2468b675aa238a08b4803ce230337a4ea6036743c947d42fdffcbefb60dd1cd96980b4fdc08454262ac4e036caabee939c28e4e6708778c6975f66a65373f981d7144d1d0c3b089076fd9ad03565c2149b606ff2aa64f7aaab3b018ca576ea591651b749a5919799db921a6a5035e296febd173f853f17b270c6091260eff46a8dc1f883cb0b941a91a9499c2ed03f3b74125ba41f4c00919da9d0043d74d7197a8b88d837b174550a0931eb355470368b768fb6c52a8c0cfb32826306c248b553df558c5edde4c3d57a9bf60967298035a66ea988ddf10ea2b89736458ac5c51b21a6f5b560ddf0211649fdb9f982b4103e24d31cc1d7f43dfe61c584f2c435529c2ab01333d9b30cdb65a561f6db6a0a20302c6da070e21e10673b56b06bc9db2e30000a9fc9dc14088de50baf29f7aa16703f19887025f7b825e5f37b3fa764f1baa6ea45f83a7e5b1733a7aca8f64b3ad8b03db9b72055afa0000b80aee524cc2576d4fff8f86ae813fc926cc8fcfa5e808ad030efdfae05e0a8b7f26a36728110d195ff3a3e20e5a40823e22cddd8da52865f505581e0320e6b63a14c6969afdf5fb5c3e9af52c9b098a732f11e759ff94613540040205581e03eae9e84850eb5afd588050097d16c898cd246a98e5f5639faf08a104c00c0247626e1b1e200aa803799cd7243d44974ab0d74fabf5c4c91189cf46527d9a3bee6947e726309b931303b742c1e52502884226be253b62b770f4b90724e96cafb210470abfb7ab614555033c94a0c5a365106199615b9d6a44616547ec12ad70c14db7eca1a0019fe6e5eb032992c4e6a16314dcc998ed6b1af32303e1d2bf17aa650668cd2b8a5db9925e0105581e03b01adf0317ff475dbd28d16bf0b057d0019aa6ed86a67fc1c24547ea100c18c14803ace91c2bf0434f021918cb037708090d75562fcd9e63b03ddd4cd133322af7f3e1770160eeda3dcd3afa4953032b132be0f1647ef228de26fe51ac9777937f0a7b7ad893cb2238c0591bfef202039fcc15fbc7f14c071308605ed5f502e2dd4adb72f2e5048e3a4d4e972abd957b03b7067d78eb184ce1683d39c6a9aebbf19efa0a62a1b82f7a41250ead6ebececb035084d57f8517989eb750edf6c317d4862b4c04097492aca147278d20824fd94f0312bc75a5ad48239541b54ff6ea5e2c5df0b9b5587a56c1bc1648a76dbf93268e0390599c6e1f3ee31ac8a1315efc05c5970f6bde41e8346008103f6df279e8433003acec01cff3200663528f54c52b0fc3c12f02208e944be56744314043244bc9410219ffff038050648bf950cab10c1f967f9d4d689ef7c3be9f02454f7d677eb8fa0b47b6810327967557272501b988d2056bf4fc65447a96bd8d827b5b0440477ed38d12cdb9039f8fd1c1c4351cb934dd729e3fa36015861fab8311764870644f0f3cbe0c5e730349b049a9589841ab33e116ad9be2414b76bdf84365985fab1bd186a8ec1b4888039dcf4b262f018e50ef307a70ab67a4fac0dab54b8ea9f4690f7f4c23c4c40b29035aff0b4f47c6be79f8e4812eaa9250ee8079bdf6c0e03bdf49e6af04328a35bf0219ffff03bc5a9f906a08e5c6542f494e1c28f3c3a8afde840acf7f6ff4840b96b881cb7303cd79a2bf5f1984fbafc479faa90b8de92a9c9ce4df228d02da8a512d7ca86a0103812fbd882a7b19714b2d31a54fc5444bd12d083bcd0a8b763468d9162da367f303bb83658e389e8f6b6fa9f8ac4d8f3c4557f98c7a659d05fbc4e8f7b701e6abb6034a5367c270868051848cdaa7f4e9df24e75635a3c6b872ff88406018bbb2114c03524aed26d9b1ddb8c3b0fd9c2c7d33716b2aec12f4de3d938aa47a9cb0d32c410219ffff0326b4a7c5d9463b579dc024405f7084a2b6658b55ee12a63bb05443848d0698030359dc9c658a68bf672fdeb4dd74c681fabfb8a4a2c02ea3bb77d39482aed171fd0219ffff03cb669cbc9dfa1453ee38def1f20053093183d2533652a347997e075249b6063d034760b74cbbe409d7dfa7cde6cc0b8f3e8ff9c679799c0b7e789b95c6c102b25b03b21e12d9518c391fe87ad6cc555fa627138f129aadce3bcfdede52807ea5cc8003e5cb36fcae42a6d32bf8d4d0b6e0f78377f6bae46c65f719221062ca65c1e013039bf2013389240f11f95aaeac2e80967f0b0bd75773b1e8a6df04334554ac9756034d74939035b93a849546bd03b9a098ede836ff0530a38c25c865bb6eea78261203f8670dce6dcf53c2cc10dafc7f88069e2ed9cc75216c90b3b5bcef2b32cc015b03ca7397addfa1b28437fc69d04393f83f8c29080785b1911f5f38513df9b5268b03f1f3232ff28aa09fa547fe4f282009d1db532809ae8fd5f338b3ed99e7e34b4a03628151e05baa70018b27f0a262c4101e4e34d097bc95a50e282b75e3fba7885203092fd8cd85c9ed35561240b5fd2f71605e84d47758c03beb81e0f87696bc56a103b7865405fdd6cb984bae148414099e2fe9ce442a68d988252d710ebc8405fbe003a50daa9d53427c745df25a019fbcccc52b3189005b9689bb5c11aff3b5854a4c03d7836a7c1e0baccac48a4eb13671fcfa9384c045498631c75b23dcbaa1e56a16033b7296572b944d934529d22a73f065e811af21ff8abf2362016a72cbf89a6bb203f6596d37a06e58ecf350892f7c0e7e4e2da6c29075852af50657c88f85ed6643038e4887c95d8df0985dc7c301c3e7389eb98bf187f3d7a6a5ab6454ee994a840f031f224e8b159248a254c965faf17193098cdb0743b08540f2f5201a27a4588c640309b658d801a7d6831fde796d4ea7a7855fbad24185dea20ebe778f8b1875c85803b5ea2852b3c5ffb97385bea0d1861546623743b8e85f4fd4f664e98d13f86c0f0354fa1cf1348eab44fa1ffb552c67a4174708f705ff43fa811f5204c5ab2dbc5d036d4f195a7934d4326e489af65429ddeb9336af0aba5d9874fb49db5898bfdde7036bab1a090fff4fcc9a26dfecc9c4876bf071094d2d6fadbfbfdd692d4b932feb03770820fa28249dd029acb8b2077849b0a0e283df131b805fe3f6205ebba3e6bb035710e356540f7a5f9f55e2a1866ec3b900cde7f798cc932c7e7760c7ef8effe9039b282a5c5d02bae05b988bb20cc928d48020f9557ddcf5e6d65dfc675edd0d4d03e6d92aaa302eb71fb17378c75ec6f39a80a1ee3e3c37d555e8f078f38927cb64030b0add6a0b81a9ade41e9b4eaceeb0c32512d1d71ff084bd9b62335153505283033be54ac5ebc3d3c956f832bd5a06ca48bb165417a005e2cd03f99306f6e47a4403129eff5c3658b59081a56530aa99f0a5ed75f54c8e178138c4fe208457bde18905581e035c85f91f8273779bb08695719d28a2fa6bbef3d83f0b316a0d8018015007011bffffffffffffffff05581e030a855e9947f253f28be5b6af68e103760dc110a612eaf5eb814308dae00c014610e66862f81805581d032a4d7d4f30e3366579ca3ec3195fc165171ab48708ac067c1ec03fa00c1902d44814346d3d6dbb025b05581d03a2171b9c2fb49ee733a2ca9f79f987d6588400415586b9dcf7fa51700c024601e83ef0aa000219040401410505581e037b02d97bb41b2c565740efc5545b906a7a989d7733203890e9272fc2e00c08462a5a82eea84803905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e031596ea19835db4d6ace288d6ad2b1b88d68434f3efbb060457f96586e007011bffffffffffffffff05581e03e4b194725a160f193fafccd627562092b810aa64a02943af8aa3474610040105581e035cff6a7dd21764781056e210cec7368bf33d66da93dc3a2d0b1f06c550040102196cb403876ddb6a745111dd96a89ececd1f4a53d2d06b1dd3ee59832fab16217d83a9470358ddf8c53572e55b013916454a6e7161e22e958206ebc60cb92031dfb7f70fb6038cabf5f99dfd878d59c382f21e4f2fe22308fda337f9c5683649e634138933e2031f8d4d9bf678255182c18b1b0acd6157e197b6853cf2a3c247527634649386ff03f7ed5f16d1040ab9aa42bd8502d5e7795866f9270e0f91f74c0b83397ed753e5034f0a152689f30a07445ccbcc6ea2d4c1c03f3e91bd6cbc40eba32ebe72162ab40314f7f9f582bd6dd1f6358623d941fc8391b6256773fa4239dd35143ee3a2ad39038da36962da66a2ab3aeddc1514fb9acabbf1e8cea3171f0dd89828e2a23d310203745dd00eccc36e354264e8a5705397b632c2f8c5556fca8028006de807916e8b038aa793b70fc3b51151cd10cfea3d868d30cc18a60e0fae2bd4f41f7d483dc22f03202b7cdf1fc8aaa66b3056d74dbae754a10cbcafdeb6ef5a1a9b1607813a482d03f334c6d4b5bad64450f59fc2816198f8d3163342b975c87a05ff37e33d3e8fa60323e9fd849db11cf17f0de18e2ac039abd1e05d4189b207d9cc90ee938b9f504b039184f402bf879f0f15e3876c3ab56c4dc1362b3437b1c79c6fc25d4f2028a3bd0219ffff03e781775a906a18919fbeb9fca63f5838448277223dec8cace9c7787eded199ec03bd96466c2858585e86323c7337257d2d06891cc96bd2af81211d02c7c63eae06038529bbcebbc4232efeb14afde948fc0810b3285cd4fee55fe6d205ad478bca2703ba30ee5c9a6d39823420c6e35f221ea18787b876ef0d7cc9dd47b7df4d0118ac0219ffff03d87f4ac6cba16bb8458f50ff757cf9c9383c5953dff3dd38437cc39f77c4fe1a03e80350f9b352b99887c908b4c5f75b5c0ac9b286edfb55b099959219a7ed01d503801d36c88df9ebb37df672ff05079b4c8dc7e52f9b5dfecee9a5e3f55f02c3720309b1918984cb22f2e84f4596587de81d3f9fd732b0d13485f4bed5f35b0c9256034c8f20526a60ee75b898f235da4a9ee01d70ceb3fa5641cd9c31bcd91b24f5ba03656d6d4ee535d1a0f7d7a308b95cb248f1fb43a9f53473ca44d1f850b7dc7cbb03ec10bddc9a1b5ca55a6e9b9b1c96d35fea2ea81add20393d1e6fc6636d59d1ec0219ffff035a3033587788220ba660d0ec9060f5cfe0bd3514d54f377156b94534c7c5bf45033a6a0e717501252a43b6e09309c53b54982db6bb21000c24da6adfc03e87b13c03f696228e6df6191f11897cad6832f67dbde16ec5e471e4f91937f9e1d608000903214f91a8e6ea081e183c7001481f34b707a9003db02de1743c51b9e68187ab27034d576aa7d4814a95edd471a7c77cafe2f5f37bfbcd5cac542d23c6bb9cad323703476e5229bd79f810e4ce231b41838f752619e27ffadd5cd5172901df4ca7c7dc0316f9d67ac6917f7cbc7f2939e6298d08fbc7c2e586a3a6e7d512d6515fcd298c03e862e74f7771db14f0ec5961f273fae5a708523c80fd7e92c18331c807c987ff03bfa160ddc1b0af6805759128a06327c2fff488ee40297a4799de87e7cc52ceae0361237820770bfb82fc1d300b86fb37a59fc1cd451a00a52205c357fbde2db3ec0315b996320aa1217edfa8dd5b85fce542670141a9731744a3c012b64e4a3c9ed203c5cfc8d19c18ffb2971451ce8fca4a505826663d5d6e5e48503a4b63ac5f71630348251fc16b99b2559b99e9d5888da8d40027bdd03590a65bb1339bf5f607016503b5cb139fcc629bb708813a059d7f79660c4f606942b4815264d39ecacf17e0c30330c5c21b9455b4b9ac7c0401f72a990f735875a0753457327bc93a1d229ec24703ce4ff16397ee9dca48176b09688b03e3f46f69e78ef6a7b3de81062c08d535aa05581d020f94749b9095dc45aef3c3586072f73c59094e44a58f49f091014253040105581d02d58ddb0d98beb8e259cef62d9106bd83bbc4de93fdf1dee29071b0cf0c186d484d9424676eb241620219108003cff7343d893e51ffa52846ca6f9aa4b00aed2336a82b665aeb32d0fba1747dbe03ec5d79c40eb2fb2c9028785b23d011405caf3ead0c027edbffc8122c6174ebd605581e03f3e43e3e92d3f1b691df9c0311b02c522cf346a85ab1e78264c776871007011bffffffffffffffff0322411ce6baa38b243beb795d8945a94ccf6cd5da41dc2de2e837c6570e3ce82403905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e039157a1dc11a55eb4d1a1d8c0a18465a6daedace6d942bd568d3586cf6007011bffffffffffffffff05581e0395d7485d52dd229c2d52ec4aa121cac54c7e09a53f08c5da15d28a0cf00c034608b18a318a0005581e03ae2209de3887a99b016bce1418bf0eaf3a33d3dd80cd6597dd1a62a1700c03460112ed2a200005581e03c00d2c79cb8813a14b21a62ea13b72fabae303c1a3757e0e759ad6ac700c014701827d7a7c5993036fd4be406cc3df912b576e63006df4248d9ab74690999a6ef19520891a7c352605581e03f32d3fd6a0aa00d638176c03245378b02409588115212c1fe826a3ced0040105581e038d7c1b5eb41dc08740f5e961a3159bc086d7a9b80a7576c753d013cb100c014714f178a4f3700002193a7703c65bc605c8d08cdcb8ed76e4ec5c65402de6b5556ba5dd233820a9bac72b47a50322702a2d500a19e7f647ec16c1f52bf980801fe0224f6205bac84374bcb60bb903c4466726251e00005a178dee72b942e19e786235cc192d9ced86b870862a85f0038c956068e05bf170ae822723ffb3179a6c9d7886d525b5c9715d8801969283450396b9bcbe5323563e5fee8f05beb93b33e73d7964584511ac65864a10ae88b9e1036e6638ace03c0c610401437abd2ab7c229911092054f37efb511002ffec8271e0367a93c3d0b623a08f1fe08ceaed50dd2c4c1335877696be9e417e9dab8bb2fec03c0c2ba3c8b3d03298d6890bfc65d246396b4ceda311517121223d568d7dc8a4b03cb227b728070eb08305c054a503f38def536e151f8ae3dc51e23a018f481a6cc035deeb2cf8c5818665cd000e081cc7690d08816df82fc66fa3d382e30bf6db3900326fe58374e66d763c7da64d83544492665cc8a5d51f98fc2c53507aaf26854dc03a60625f3a7dbb94f31c03da8b690164c2e005ff2aa8a813da27ee36e6d15803603369e43496e8d2e8453556517d75371a69bbb1dbde13b0ddc6d7ccdf38f37ec2d0219ffff038acce0afc2594a8dbf776afa28556258bf9dc64723ad3b46ab39f954e9381e8203f3fa243ccdef873864c8862d335a60fe42a28ac26c1b67426ee474dccbc834ed03985e8d71ae6d884722121afa3025a3b6a962d4f666007aa0985e93bb925423ab03b89f8e20339e5db50a6c4e473f1ee3f4b74f20ea21681ff5cf052cf90c2d8ac803f66b13192f0c5c80586063684e0fd4676bbc92d304f099330a48b8082f9a56a0033d49766fb8e87f6a609969300dd1abb349de6ba77fbc4854b6b742c57e595810033da5c17fe199c1b9471c8b36412ba883ff6210f456528cf568107ea1c221cf1303a00ccdfe31a899c95f3ba91c8dda284dbdc6010aa6ba80d2d3212f460f6cdb9703151592a33e93967c509355523af998a294b3cbd8dc8de7304e2eeddc7dfd6bee032a525083713fab473d8ba1444adef989baca9cc5e26ee1f4694bc30eb3d15d4c03d91a287c802d39f1e17a393dccf26f526c0ab84a93679a008cc664fd56c2653503208085504e4a947c6ffcac11c5946aab669b70bbd1f6d74135295c7653665be4036f59c881eca7d368e9434eed045bbf3481c18f273cdb876e471caa92e411784203a6a14dc69ccbae3f71b033ee98d9d7e7cc79d550a78b1356cb301b832866fd400359c1aac524bc212427b06259fba446a7082bb7c70fb84bf666c5faf0b866800e0219ffff0304fbb99700a5da17359f9043d043d3b21d18f3ab4613596e42909c5d0cb4b68703050128a8fc9c25eb62e0ce73764a8d9f767da00fda2682225dc03bcf9faa5c710219ffff030d7b847005f21c8874b2575466e8c7041e7fa1275cfb45f1871b8c51e6c49af503917e5c85df957275f958cc373ca9a0abe8f572903c93092ee119f9508e52ca78032651808881936f57822f31eabb5b9904f573ca24999f2a8f395064b8d515848c0356020972b8a4ac72bc664a1bc7c0598bcecd1424a75918a7dcf1864e18a4ffcf0349ba8a808c9aa9cf4d933f746f59e4b272a4d4eefa2360b892159ab449419e070315d07079d8c8a52fbb72134d26dc916b9983acc03796c3c080579e2e97a4f12603cba1e904246574ecbe655bf95675cd76e7e37004e022a2df57bbb265b8d601c903923ef7e86fdde0edd46d3204637ea2802e3536d5211bcf35e1ec5f3efa429fa303e077793718f3b7d397865e3916832239a8da8bfbea4335f6682b993e04fbed9c034245c58b5512f4cea25b8454c68fb93f4e8fa900c6df1e335a4d90763e7c8fb503006a80171aadc7f8b6ff3e1a235e7cff1bbdaa3366233dcfd9e2334e9d6ddcac038f6f2026d88269a91c3c22873710194cc2ae211caa704bb80ea89772a808549403ffa7edd2617825f0a0ec59ea3cd2370059178afbeddce4b9b0c0f3ace67f192703efae8e9fa579cc4327a95ae5e2abceb8dc81faeb4b35e476c03018fabe88d94e03f18a726989a5287d07f997d9fe0168cdfd933011c6150b19721fcda0ed42c57603887992207db8ca175105d4ddac19ac84c26eb274b83db1c04708714a30e44285031d43c416b60f73cee91b8cf877efaa97131f8e3066b1f17499a11c3514bdf7560383e42b984d30316274f13a50f0652be3a4193cc0405bcbb4401747f05a67915b03a7695f06bc886e4e5501b9a8aa48290840f9f455de52ed74087616b8fec21e1f03d59f1851f91e986244830fd995c69f9553385aea82feb928ccb2e05eac969edd039922a4005aa90e9bd46888cf0db3c53ed1a7d8b878b4937d6d0e6b5d7ccffda8037791f5055d745e85f1750e31be7b04ab434bb7f2a1d9800462ee801779c9ac2103d33b219e5e58df6788f0f48d4c4fb1fed532b94770fd15a961232abd365d3fbc03b001938680365ae173ba5e520f080e752685517b5cc383f32adfb42451a8a74203507db540954391fda9d0971917c426178cee7a19cabad37773796bc3d495b2e8032db7e37b0292d9a50a955f77daf72f00f4be5b8e01a0a829e318ff08f772a760036a1825222ccf955da4b5c86ef11dffb69131469c70239423bcf3f2d9ac9bad640384c6dbfc47f244f75e1329ee6cd8a6e7fedadc0726f05f4f400fec41b4829db2035fdb7d1de1aa3bdc006ac53c96d72c6d37afe0d973b9a895c4d85a2fb407e7bc03eba227d9389d5952b461e1165086bea72e7936730e7c7b9ce7b954c566c38a2a039758379d4cffcb2106baab8d81fe2f0e0b95e573e7fbb6bcca44ddab54bbc3f903ecc6bb3a9674c89b95b54cc8323454bb5d981aa45f05ec0deeca4f798c59abbf03caa18758c5fcfcddcfbbbc06490d02463149b733ed5364e36ab2452b19c06a0205581e03d7027e49d1303c76d6468d025090cc92251b4cd5e100d860e0bc2be180040103d98794be6dfd637afa12f6ee1cfae0e61b80fd29138f8f7ce8c4c574e25c0021037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03a6d0693fa1af21e8b755758baf9e95769c9af13aff016eedb7da6b6f9007011bffffffffffffffff03df44f5dc10673412a7911cfa2b2643f459129bace1d5a800425da1b79a3360a903465aa481bce63a635913d960731373a2284d693ab541ed7240558c645ce4e4e9036efe1b9c025e1a84ded9d1010ee5a71f4fc3cecb99792397d85501d6f1a2244c05581e03817602b84aa1d14c844b1053d82171c539888f1163d1f54371a78f3db00c0c472cba2f1eff3933039b5037307f3fa285131e22da8703a306c20eabc18204281852d85015180ad1da05581e03612328208ccb5d84dea962660d2acc0341bd651825ac6c0300bd4069e00c014701eb2ce3399200036d0ba5663cef13d2ea6fd8b80b973c9712b015295e2fcf6cbf908ddf6a499c1a0459104960806040526004361061007f5760003560e01c806379641f741161004e57806379641f74146100f557806380dd9a1f146101465780638da5cb5b14610186578063f2fde38b146101a457600080fd5b806341f4a9591461008b578063597a9743146100ad5780636f82189d146100cd578063715018a6146100e057600080fd5b3661008657005b600080fd5b34801561009757600080fd5b506100ab6100a6366004610dc8565b6101c4565b005b3480156100b957600080fd5b506100ab6100c8366004610e04565b6102b7565b6100ab6100db366004610cc1565b61037f565b3480156100ec57600080fd5b506100ab61067c565b34801561010157600080fd5b506101297f000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015257600080fd5b50610176610161366004610ca6565b60016020526000908152604090205460ff1681565b604051901515815260200161013d565b34801561019257600080fd5b506000546001600160a01b0316610129565b3480156101b057600080fd5b506100ab6101bf366004610ca6565b6106b2565b6000546001600160a01b031633146101f75760405162461bcd60e51b81526004016101ee90610f4b565b60405180910390fd5b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610258576040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610252573d6000803e3d6000fd5b5061026c565b61026c6001600160a01b038316848361074d565b604080516001600160a01b038481168252602082018490528516917ff24ef89f38eadc1bde50701ad6e4d6d11a2dc24f7cf834a486991f3883328504910160405180910390a2505050565b6000546001600160a01b031633146102e15760405162461bcd60e51b81526004016101ee90610f4b565b60005b83811015610378578282828181106102fe576102fe610fd9565b90506020020160208101906103139190610e70565b6001600087878581811061032957610329610fd9565b905060200201602081019061033e9190610ca6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061037081610fb0565b9150506102e4565b5050505050565b60408051808201909152600c81526b6f6e6c79205842726964676560a01b6020820152336001600160a01b037f000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f16146103eb5760405162461bcd60e51b81526004016101ee9190610f18565b5060006001600160a01b03851673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610517573484146104585760405162461bcd60e51b8152602060048201526013602482015272125b98dbdb9cda5cdd195b9d08185b5bdd5b9d606a1b60448201526064016101ee565b346104a55760405162461bcd60e51b815260206004820152601860248201527f56414c55455f53484f554c445f4e4f545f42455f5a45524f000000000000000060448201526064016101ee565b60405163ea36842160e01b8152732a5c2568b10a0e826bfa892cf21ba7218310180b9063ea3684219034906104e0908b908890600401610edf565b6000604051808303818588803b1580156104f957600080fd5b505af115801561050d573d6000803e3d6000fd5b5050505050610619565b341561055c5760405162461bcd60e51b815260206004820152601460248201527356414c55455f53484f554c445f42455f5a45524f60601b60448201526064016101ee565b61057b85732a5c2568b10a0e826bfa892cf21ba7218310180b866107b5565b6040516355d7359560e01b8152600481018490526001600160a01b038087166024830152881660448201526064810185905260a06084820152600360a48201526209e96b60eb1b60c4820152732a5c2568b10a0e826bfa892cf21ba7218310180b906355d735959060e401600060405180830381600087803b15801561060057600080fd5b505af1158015610614573d6000803e3d6000fd5b505050505b604080516001600160a01b038a811682528981166020830152871681830152606081018690526080810183905290517f6ea4114cf93cff6c9ff22aef8d246e78a0368fa48033adc49edde5fa273f69a19181900360a00190a15050505050505050565b6000546001600160a01b031633146106a65760405162461bcd60e51b81526004016101ee90610f4b565b6106b06000610875565b565b6000546001600160a01b031633146106dc5760405162461bcd60e51b81526004016101ee90610f4b565b6001600160a01b0381166107415760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101ee565b61074a81610875565b50565b6040516001600160a01b0383166024820152604481018290526107b090849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526108c5565b505050565b604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e9060440160206040518083038186803b1580156107fc57600080fd5b505afa158015610810573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108349190610eaa565b61084c576107b06001600160a01b0384168383610997565b6108616001600160a01b038416836000610997565b6107b06001600160a01b0384168383610997565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600061091a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610abb9092919063ffffffff16565b8051909150156107b057808060200190518101906109389190610e8d565b6107b05760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016101ee565b801580610a205750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e9060440160206040518083038186803b1580156109e657600080fd5b505afa1580156109fa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1e9190610eaa565b155b610a8b5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016101ee565b6040516001600160a01b0383166024820152604481018290526107b090849063095ea7b360e01b90606401610779565b6060610aca8484600085610ad4565b90505b9392505050565b606082471015610b355760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016101ee565b6001600160a01b0385163b610b8c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101ee565b600080866001600160a01b03168587604051610ba89190610ec3565b60006040518083038185875af1925050503d8060008114610be5576040519150601f19603f3d011682016040523d82523d6000602084013e610bea565b606091505b5091509150610bfa828286610c05565b979650505050505050565b60608315610c14575081610acd565b825115610c245782518084602001fd5b8160405162461bcd60e51b81526004016101ee9190610f18565b80356001600160a01b0381168114610c5557600080fd5b919050565b60008083601f840112610c6c57600080fd5b50813567ffffffffffffffff811115610c8457600080fd5b6020830191508360208260051b8501011115610c9f57600080fd5b9250929050565b600060208284031215610cb857600080fd5b610acd82610c3e565b600080600080600080600060e0888a031215610cdc57600080fd5b610ce588610c3e565b9650610cf360208901610c3e565b9550610d0160408901610c3e565b9450610d0f60608901610c3e565b93506080880135925060a0880135915060c088013567ffffffffffffffff80821115610d3a57600080fd5b818a0191508a601f830112610d4e57600080fd5b813581811115610d6057610d60610fef565b604051601f8201601f19908116603f01168101908382118183101715610d8857610d88610fef565b816040528281528d6020848701011115610da157600080fd5b82602086016020830137600060208483010152809550505050505092959891949750929550565b600080600060608486031215610ddd57600080fd5b610de684610c3e565b9250610df460208501610c3e565b9150604084013590509250925092565b60008060008060408587031215610e1a57600080fd5b843567ffffffffffffffff80821115610e3257600080fd5b610e3e88838901610c5a565b90965094506020870135915080821115610e5757600080fd5b50610e6487828801610c5a565b95989497509550505050565b600060208284031215610e8257600080fd5b8135610acd81611005565b600060208284031215610e9f57600080fd5b8151610acd81611005565b600060208284031215610ebc57600080fd5b5051919050565b60008251610ed5818460208701610f80565b9190910192915050565b6001600160a01b0383168152602081018290526060604082018190526003908201526209e96b60eb1b6080820152600060a08201610aca565b6020815260008251806020840152610f37816040850160208701610f80565b601f01601f19169190910160400192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60005b83811015610f9b578181015183820152602001610f83565b83811115610faa576000848401525b50505050565b6000600019821415610fd257634e487b7160e01b600052601160045260246000fd5b5060010190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b801515811461074a57600080fdfea2646970667358221220fa8b41245be2a4783d0938e06f49d5d099e4bb0f0ebc3f06d6256cf26aa6910964736f6c634300080600330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054358506b4c5c441873ade429c5a2be777578e2c6f0058210339409ab60e351b21ab44abfbced7aa9c18fa5f19cef264ac2fc2c8d63139403041010219200405581d025a031747255fad38a662100e091121a90d03242c10509da13f9475f90701191049021980040219575e0352f519cad75415b80501f70148f7550d8c69462a2053f1fadba283167e55a63b03d4c97a2f99814d28616a0f5b904bc98a947e49889860cca93e2a399752d9ada103366676bd2320d72a3e04eaf707de5763c7df9c4d9498865a45ce3a58b51c5471032058ed2637f31ddc6bf3621fdd9f33d10d3717777247d567554d78f90329565603ae72af4464348ba207a8f72b32c21b4d4bd191f8785d70dff52de143b582c5b10307f2e5c8278e7e7746a8859eb27eb10c222211f96badfe001f2987e7faabe1ec03fade1cef0584baa33260a98154d911a8cb0cdf349f9554c9d4436edf4a75033f0366581b097a900c18d670d8a0e602fab79e36a0fc0b32f601e2dd2c45b1f6846a03c36bf69c24f36499b7f644c064b2453f1d25d10eb32e187377d1a23783e981a303f939b719e2ee9b9c7da38c666e918558903b891010c7d0d2f050fae77219319403dc3aae8ea58b89978a1c3318f26349affd1f175ea7f1f511159d0ee0da1802510219ffff0219ffff035656b1fd1a3f0887c0a1d95074c583ece445b10713b21b9cd3b6f21644cf2bdd0219ffff03b3ae99af7bf76090634afee3e9717e49e16d54bedf12d5a54d73544de453947b03ab45ee1fcff11adf270c52b44ed0dad163f8c67df728f89cf972064ea73c9c9303028472b544ba66bc00608995b04f46362364b3138fa06ad13b5f6c86a74290730371028dd2d4e713549ebedcf37c651841bc9b55dea4ca91cc0cc8f8ff333de5bf03211ae47b42726a4215d019eeea54bd07b096dffffc5b9c6238dd3c60228b57b503fd37db43bf626811bf4d5f9d9184d66ef001c0e1811e6f45b1930eddd83118b503376ed47326477569e6e2e6c2867958df2d4d9c501d3c7eea93aa0fd39ef04d1f0219ffff031b85a9fd5d2a54ce318f61b97652dd92fc565be3c904c50dd93e39458096971803f778980c9c6278cdbb7d30ea8523bc5aad1957dc1fb9d18e05d1cc0a95d4740403ba87e79a78ddaa5237537337a838d1f34fd5fe36f7ac22ae18c1721ce02daeed03c6083d27546b5b1d8960da42a6d15e4b9513fc0c80e998ad22bab2ca6f769fff03f380e83f8068624563d9d7bc779925b1fc8da215adc00bed6757b9358cd06f510343d85907f2d317006448d602e06d205344937526acccac6a78e70991f9e9bd38030116e1b35c452a3e066bec2209b8fd38907c321e8a8b001d4f37c1a300f39a2a035b21326dcafac2bbb965da86427430b12be26937dfbf645e7d289e581664219203d3b64ec9fd1279d89445fbb37a71b11f2f06627ecfb9e2329e5dd6b80b20bd4a0392bccdea2f2feb8c88d86cdd048ef76490bcda51d795f1d0daf45d239f9da2280324d8f80b367e61f95a504e9139595f59ec7c7fa01d7815fd548949f9e4f9f1e903d71a148afd5bdfc7a878cecfedb762256a557c3ec03c0b615d7511edcc459b1f0364b7b660857ad6f092b6994099c9754254f08a820b4e621fb107167680abac51031f78713f0a242b1a9d3059caf9de5d333f43bb8bf543bbc5edec90a4ae97ba3403ae11f0f65accf4319c4674c442852524f928f727aa08f470fe68eb51c351753e0329a54126196560f65c99c67d15c39d071204aec59967e07ab33dc80305669bf803d4c21e7a0367dfcf657387a446c36f401fac39a5599bbe4fa2a60fb7699d3ddb034a82e4e4febd1cc1cc3e8c83303cd1eed604488f5eeb5cd6a6dadc8ac241d1c703b1f4cf3fad378d9bb7670237a0ca8c148ba4f121ec49ec7e12519eaf625402b903950522557eb40bafbd082f0f5cc4be3bcdcb7f80c14eee43afd2bcd01f8d513703dcffde4b2f185fe1050a2e82d1edde05f177d3c197e2271efe964a68cb548a56038e7949e4570f3319828db3d896f01b809eca7a04390ca40e2e7a7e3412751de503db22dc742b84718315cf3623f575787ce354a3b536f2916445b8c98841d2879903f1b86aa0d1205b6a4c3f894308687ff2f57d4c791d6bcab2b3c417eb9e9153bc030a7a0118e00981ab321049c9d340cd52c3a4781037540f7c48d0fdc27e899b32038537f2e248702a6ae2a57e9110a5740f5772c876389739ac90debd6a0692713e05581e03414b080fc727873288304fcbf831f5a62596fd36ec4ad76e1faf6163d0040305581e03b6535a3302779485a0479d8b1e380a306a541a1b5574e114de1f9a9d900401031e2a1ed3d1572b872bbf09ee44d2ed737da31f01de3c0f4b4e1f046740066461034fc418834820b25555b7cf8be5503658e30bb499883f7aa550c7f8cf073c983905581e031457658c1b1ea115fc593103711e849fee8e06131ecb6c1b2756559bf00c0148073a99014a972cc004592b43606060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461019b5780630753c30c14610229578063095ea7b3146102625780630e136b19146102a45780630ecb93c0146102d157806318160ddd1461030a57806323b872dd1461033357806326976e3f1461039457806327e235e3146103e9578063313ce56714610436578063353907141461045f5780633eaaf86b146104885780633f4ba83a146104b157806359bf1abe146104c65780635c658165146105175780635c975abb1461058357806370a08231146105b05780638456cb59146105fd578063893d20e8146106125780638da5cb5b1461066757806395d89b41146106bc578063a9059cbb1461074a578063c0324c771461078c578063cc872b66146107b8578063db006a75146107db578063dd62ed3e146107fe578063dd644f721461086a578063e47d606014610893578063e4997dc5146108e4578063e5b5019a1461091d578063f2fde38b14610946578063f3bdc2281461097f575b600080fd5b34156101a657600080fd5b6101ae6109b8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023457600080fd5b610260600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a56565b005b341561026d57600080fd5b6102a2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b73565b005b34156102af57600080fd5b6102b7610cc1565b604051808215151515815260200191505060405180910390f35b34156102dc57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cd4565b005b341561031557600080fd5b61031d610ded565b6040518082815260200191505060405180910390f35b341561033e57600080fd5b610392600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ebd565b005b341561039f57600080fd5b6103a761109d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103f457600080fd5b610420600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c3565b6040518082815260200191505060405180910390f35b341561044157600080fd5b6104496110db565b6040518082815260200191505060405180910390f35b341561046a57600080fd5b6104726110e1565b6040518082815260200191505060405180910390f35b341561049357600080fd5b61049b6110e7565b6040518082815260200191505060405180910390f35b34156104bc57600080fd5b6104c46110ed565b005b34156104d157600080fd5b6104fd600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111ab565b604051808215151515815260200191505060405180910390f35b341561052257600080fd5b61056d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611201565b6040518082815260200191505060405180910390f35b341561058e57600080fd5b610596611226565b604051808215151515815260200191505060405180910390f35b34156105bb57600080fd5b6105e7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611239565b6040518082815260200191505060405180910390f35b341561060857600080fd5b610610611348565b005b341561061d57600080fd5b610625611408565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067257600080fd5b61067a611431565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106c757600080fd5b6106cf611456565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561070f5780820151818401526020810190506106f4565b50505050905090810190601f16801561073c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561075557600080fd5b61078a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114f4565b005b341561079757600080fd5b6107b6600480803590602001909190803590602001909190505061169e565b005b34156107c357600080fd5b6107d96004808035906020019091905050611783565b005b34156107e657600080fd5b6107fc600480803590602001909190505061197a565b005b341561080957600080fd5b610854600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b0d565b6040518082815260200191505060405180910390f35b341561087557600080fd5b61087d611c52565b6040518082815260200191505060405180910390f35b341561089e57600080fd5b6108ca600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c58565b604051808215151515815260200191505060405180910390f35b34156108ef57600080fd5b61091b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c78565b005b341561092857600080fd5b610930611d91565b6040518082815260200191505060405180910390f35b341561095157600080fd5b61097d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611db5565b005b341561098a57600080fd5b6109b6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e8a565b005b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a4e5780601f10610a2357610100808354040283529160200191610a4e565b820191906000526020600020905b815481529060010190602001808311610a3157829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ab157600080fd5b6001600a60146101000a81548160ff02191690831515021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b604060048101600036905010151515610b8b57600080fd5b600a60149054906101000a900460ff1615610cb157600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b1515610c9857600080fd5b6102c65a03f11515610ca957600080fd5b505050610cbc565b610cbb838361200e565b5b505050565b600a60149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d2f57600080fd5b6001600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000600a60149054906101000a900460ff1615610eb457600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515610e9257600080fd5b6102c65a03f11515610ea357600080fd5b505050604051805190509050610eba565b60015490505b90565b600060149054906101000a900460ff16151515610ed957600080fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515610f3257600080fd5b600a60149054906101000a900460ff161561108c57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338585856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b151561107357600080fd5b6102c65a03f1151561108457600080fd5b505050611098565b6110978383836121ab565b5b505050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60026020528060005260406000206000915090505481565b60095481565b60045481565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561114857600080fd5b600060149054906101000a900460ff16151561116357600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6005602052816000526040600020602052806000526040600020600091509150505481565b600060149054906101000a900460ff1681565b6000600a60149054906101000a900460ff161561133757600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561131557600080fd5b6102c65a03f1151561132657600080fd5b505050604051805190509050611343565b61134082612652565b90505b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113a357600080fd5b600060149054906101000a900460ff161515156113bf57600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114ec5780601f106114c1576101008083540402835291602001916114ec565b820191906000526020600020905b8154815290600101906020018083116114cf57829003601f168201915b505050505081565b600060149054906101000a900460ff1615151561151057600080fd5b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561156957600080fd5b600a60149054906101000a900460ff161561168f57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3384846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b151561167657600080fd5b6102c65a03f1151561168757600080fd5b50505061169a565b611699828261269b565b5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116f957600080fd5b60148210151561170857600080fd5b60328110151561171757600080fd5b81600381905550611736600954600a0a82612a0390919063ffffffff16565b6004819055507fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e600354600454604051808381526020018281526020019250505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117de57600080fd5b60015481600154011115156117f257600080fd5b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115156118c257600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806001600082825401925050819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d557600080fd5b80600154101515156119e657600080fd5b80600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515611a5557600080fd5b8060016000828254039250508190555080600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44816040518082815260200191505060405180910390a150565b6000600a60149054906101000a900460ff1615611c3f57600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1515611c1d57600080fd5b6102c65a03f11515611c2e57600080fd5b505050604051805190509050611c4c565b611c498383612a3e565b90505b92915050565b60035481565b60066020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cd357600080fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e1057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611e8757806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ee757600080fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f3f57600080fd5b611f4882611239565b90506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806001600082825403925050819055507f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c68282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b60406004810160003690501015151561202657600080fd5b600082141580156120b457506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1515156120c057600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3505050565b60008060006060600481016000369050101515156121c857600080fd5b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935061227061271061226260035488612a0390919063ffffffff16565b612ac590919063ffffffff16565b92506004548311156122825760045492505b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84101561233e576122bd8585612ae090919063ffffffff16565b600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6123518386612ae090919063ffffffff16565b91506123a585600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae090919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061243a82600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008311156125e4576124f983600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a350505050505050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806040600481016000369050101515156126b657600080fd5b6126df6127106126d160035487612a0390919063ffffffff16565b612ac590919063ffffffff16565b92506004548311156126f15760045492505b6127048385612ae090919063ffffffff16565b915061275884600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612ae090919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127ed82600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000831115612997576128ac83600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612af990919063ffffffff16565b600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35050505050565b6000806000841415612a185760009150612a37565b8284029050828482811515612a2957fe5b04141515612a3357fe5b8091505b5092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000808284811515612ad357fe5b0490508091505092915050565b6000828211151515612aee57fe5b818303905092915050565b6000808284019050838110151515612b0d57fe5b80915050929150505600a165627a7a72305820645ee12d73db47fd78ba77fa1f824c3c8f9184061b3b10386beb4dc9236abb2800290328319a2bb46618ac1716b1c8fae533695ec3b11808bcb2f40baa1c66a6f8e37e030942913773ae26ddefec3d62da6f34d2c56f9eedbaad207c18a944f1dccde298035cf5dff51e0de9d5374a71e3d2f22f552a31f8bfe104614df38d08127cc8d06603ad203f8cf07c56bc76f7510443134fe0604761d173c4c81c80c3f62ebc853a5a0308d6aed203bb032595669384a8317d9e02190d0b4399a7f1e65720afc3e2a4b50331039cfce022ac4bf2e83358fff32a03b0b1ff8c4d58182046ddc451a9ccbf4703875e17ffe6d51ccdabc79cc384d60815e45219c2da7f0bcc6dd46dafcda8756403ac049f04992e69d8b9fed3d67b07cda1d32999a655535ded1cbb89f82f9056d303ff736eed2762cdfcaba86ee4de0ac7448e74c4c46ea026f7473bfc82d2ecaf24033e232777d09d48fb94502e08f88a0e1ff5d9896ca54476be4ae0555449276758032a2325d34948db15634b8fb6a304fe4868b357a6fab4ccdef113cf20755fc37f033d86bf1d7369a6e09582431504bc1ced7dd443b453b5e69a9e2ac140e84c378c03ee4ae2379bef79d454547325e80fcc3c3bd7fb4d49ecf50cf9aab4ae0426ddb403cf37f23710094ab9420a2d8896aefa104ede72e0556b2aa68a07222482dcfcde03aaf271870416f2b104ddcf9bafbec1cd7e059b87ebd923972e6c0fad725111870345cc5deccda9261cb389be7d5588c82a0bac17b1072ef739727a5388d8e9d03903be404030ea52a9dc2cc493003158a245762b3b844862e8baaadf39619d12827f03860c478101c60309ad04924142827f7e2650c5718443ece8ab51b7e469da776503e037809093adaf9a0cf1ecede5de56323c072a03dfc5c66cba7f4dc764a4cd4403f24063056c41a343932200f9e954b47a65254c2beb35bf448352a3a6bc6eb53603196d1f3dbb6eefa8a6c0b67aa48888073dac433317dd112012d23d3d3c0ab02d03e1489c3736263099370f2677c5d618cc070debe0c46b55400db3de60b8587d5b036d5c8a56f4bd348864519e46ccf8fad65463ab2b1aa84276920fbe2098dddc440341a84672db98afbb40f5ebaa2404f838f4ce0cadd4d05cced861ce754a7d4f54031238efd531fafa2997acc50aff18ead2489639bb94bd23c456a226dc5763315f0375a98deb1b776464c7eaab86285d4ec22ab3f3a78520c724c8a84ed1d742c398032a10d96f828f86e9e87a1ea59c8a54b90ab54ac0b7a8efaff8bf032752ff567b03a80805fce79e06b3081b9c08a52de0fe5e5f493f8f306b00edae55b92c762bc10305c3b775d04605a17a37287c3fba12771ff077d4f3b369096faf1ff0982a71b7036117071b49fd6ec8493030a73b11b5cb1b71510c3f453bd27ef83cf54e06526803d4ba5ac66ce8999a8794860c5aef097d0b0b5523b661745e52d5ee844f5223be03bf8662e2f41b4fc4ad941fb685f9d774eb803da34304dd4c942e485ae4a87ddf03717d24a22e58ff18a50d2cf0800d6dc195ed837201ab7d7c851e2fe28a1859310382b2f56869431f269347429f352b0c194dc25d5b5afb5a4134c0ab5cc2a60af8033e55713c647513e0ba872af555b9fd8da58b9bdba6a24cd51001a02baad3d35d0363f30653d9465252d5fad931c20fab8480ddb9f646c8653ab6b3890c874a5aff033e30e8cf816f77a6043b37e51b53aafe7e8bb199ea4c2413d076d3d9495eec7d03c369221f51b7510205df63bb08d0b8c487d02d76be47e2c3fb14d0cb1e221c8b03e939aea43bc589419c7160d606e0631c65474ae4f8867524ae127a7b9680ed440399c54e198c79726857e37b5158c382e98c39816910755e55664286e6944a3f37037629d63d5ec07299311ca9d5855be3430a4d651c39225bd334be2423ebc7d920034d823ec62160726f4855a663098b902ec1a8aeb21c10422ea21a7af39760a0620315c3da1594e531b648b80dd66bce1335431f7a6eb57809db2da36ff82e91fd970300d3cc508bdf8c67334a32cf369e70f9cc9461a42eb36c7c92d51e249f9e974103715c606073d98d86c2af5ab533d55fb3de56e7460f580e2c1bb806a3431a9b060385c8162b9c77047e487889718c04bbfc5dfd7dda3ea3a65754cb785f8a887e88037bd0e193cb540c8e5ca6c9a860784c18b85457ff1adea433e20fcff930e9c1bd03066150c6db8127479dd03912b920c02eacf34b29294ccbd8a038bdd3dd09788b0367046e122bea714493e0f4b5466d90ce7dc15bde88e15a9a5b564126b7d8bcc903f8a8a47d936b942dc05c8fe266db180467a0454497ec2588b69c1cc9f07a258300581e02dbb0db60670b4f0f3b455928d6ef2295cb6805af7b006a8cf7a8ba4c0e581affecee2142a7dea9314b809a0c42d3e9560b1408a9f3b79347dd00581e02dac01f0b8bd17d0ae0fc82aecc81b596c7790f4bc4d0ff5da7c026e84c410200581e02e054c9477906bffbb6a93941500fafc8d91aeb8e823c3f505b0bce259e44858ec22b00581e026593241a384b952c0c16daee301bf3766368926ad6df843ccf8058bf3a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02d981b2d4c89024e9a0a415c32f0d7284b0a8bb7fd1227d32a2a1095ab55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024e4b7b0979c7adc2d406f9ae2494326cdbf4277f1c49607d5902ee7d3c439e9395021990b8030a245db3f84bb5de1176341d7b190eddf0f5aafe70ecf24bb1959f1288e4abb50219ffff03f6c549c3702d7be913d6144493dafb90a8430c8d655e5611009b909e3f4d246b0219ffff0301738555b4314d5b0a889039cb0e6b1bfa42d370f9b5120b08b24804970742a80219ffff03a2404b5a7c50c4cd39031f02e562be5ec590a1f8b911f8111a1adc10dea65a8603202996809f97d08bfdc981033eb3d15cd8b5288c638de997fc5e38c5f26434d003ab027aa1ffc7c1cc7db1401d00a2d97acb679360cb28658da558c62f097a8aa7035c30170e30970fd531c3374ba96b4aa7c5cff34efe684bc65fe8e8727d921b69033422e09b0d8d62d4d04b845fd97c8ed192fffe7a38f393151586754183cd72590388e3093d5fc01e2dfb9d8da500b37a603235865f6fea6283e0435c5a36dab23c037520e70fa643a273d054907560e01c1ef5bab9e74f375566c1bf0ce5c2aaaf1a03449308cb41a21256d644e62b2ccdcc1274a9715ec70b7bd0c8f943dcdd101ed003b86a46779c149ca9074ab1460cc5d13cf58dfc73ac26d89e15453baec73d505303858151d197301bf137c378fbe8bbd1b7d7a5d7858f3d2959cda992f1b04d02db03a0a54320748e37d1e3ea1cd819d3f19d70f894661949841fd69e7b4addb374a10330024582a682f23c2d7b7f8985969d8ca5d053b51f97b83d691de50cbd8172200399207df35aba840b7360e3e00f9ff993b1fab96ead2923241254f6d46fc32941038f15aed40612c06ba38e6214f6dc3e7cdc6615d581952aaf90f3ec6edd0cd45f03d9cc14a8551d8c4ef0aaf93e2f0138d0214421c1de4648b69cd1f8714f7534f003cceec7ee53b289b93879474acc1d9a62086f74a1c03bd75ff8f77aeaf73af16603be8f21e61123aba37a17f8e5d67ba9497979d729baa2f02cd5be96d1b45f623403afb4cde02cc3f84184419a4fcf8a34d417e2a377149cbcd4f0928348945e842503218333bef432b015bc64947dd6d70c58ce822aed7f48209d7c817130060e717003229277a239784d46f3e73c002f6ef2c0be7e758fd27fd03a47dde9b25d4407b903d7ab6c5551ff8a4861460dc4e320316bde8a39da628ff7b8a0dff56c1068563d03152d8839ba373e2d7a13c2532d7dc0deae179be6cf2aa3398caedb885c0d46220383e5d4738e190246fd67e199c1069c04bd6b18d6c221a885200a1458dc36c53e03258f15d8c29d5d2a18882af86c0f0a5e46ff877c236fd0f832b67fa1f8a1755d034279bf9b5c4dc91769b4263b5b6751eb7f85d9fddecd2f0134218a006b74f64003df4450ec2f0b17886dc36d226407751c2a9f568694175ddcfe2f187a4b20254d03c25b14fa19ed3b81009447a0968eec47dc1a9365a8da335e3b5e6274472dac060321e997dab94c701b0a1490dada6fdae7c82a68e99fe2fb2b9cd632c3d729e7c0037e6f432c812159ffeeedbcf830d3a8828aa985e20449d7aa3e639ee4be0f2390036efec7092e2e09c1b5a0774a1f6ef10350b0565e66f0b1f99b72cdcf83f942dd03c2f6a7e68b483c7c57e36c36033ad4b2911c096a4e91a66bdb0ee13dbde3cc6303e29caabf5f43756996d95e82da718629598fea66360b2c975adccee25cdfd34603066550201901b17db8d7c145dfd8ffe1c1ff235ded26ab3211a0c8bb87d8cc000338bb1dbdf101dee9c565f915bdef32f563f33b64c5dff1fa4ece4a633c271da003a5b82260cac67a45cc0e2502ade0f31ac66d90b18dc2606564a88a49a04b082b03029751cf6b1ccca3ef78af7cee48494be1d337fd9d9d45445be0325333cc36ef03bf1b1421987bae3aed324b9ad655f9a0920e8adbe5a5210c1caa4116aac4b77200581e02db330080fd578e4701cea57c992db34cb0270f3aa113b3f791385be1ca4417d7840000581e02eb06e65b7a93622da5a5537c5f59b24ac1c1a280a9d3e453c9db85660c42030d00581e02d5d2774c3f0dc4c282a5176c60571794d98c20f28cc9751aa811f9ead64409a54cd400581e02b7d40839ccf1aa955b82eafd5144dff8f038d8d5043daec50baf50f18244063dde2300581e02b75d5b45025d9e8658a0e3115033e2a179afe63a30cd50767a80c166b943cdfe6000581e028ceceed3727e942176df17eaf4a729bc455e073344a053915867a9b1e34416694e0000581e020e11ee8e7fc1a73a01edfff69080899a7b920176640dc4bf84a4a9b535410103b10bbbcad721d3311c96f5d92254493f2522d703847e8da71603e419513483c40219c6ea03529a5f92fa05dd1b15f7f2a6ef6bd88c624fa03640158ea0499da6bfd64bc3f20219ffff0316ca4478d2d00906f1d8399868dfb8dbf53cf2c170bc8cc17201fddabd0cc81c0219ffff03f02ad85fda83e7ea035328358db86acc740609fb221e9a24c799f83d5e1d7fdb0378d1c65a031066f8130587f4584ffb31060631cf8498e693015b553be6c8a54c037c3f8605bf703d9b87215f61eb6284256d48f92b42b20a79d1c102ef801b365103f9786dbf9290ca4a50fefe910a471eb4a8bb6a2b9fd9c401ae0f06190671c84b035573c1ac9b572ec6b78fa0e89463771b11d5109f0c116c8bbf703d3e7ce7f10e03d71c6895717d7f55e666865655337eea9e4dccf89030f548c03671b21ab84b77032d363dc7cef6ce282e7847d7363098b1623497f3d84dfaa370112ac0fe92638c0219ffff031c1e5eff57052ebebc10befb272c3d4c86bf5e6b940af0194161601223a658560371df0be95ab675c018be3f3398c0584ae267fa9856eb7ce58a16410b286a58fe037bfaad414e017fe4235bd2737b189ea6d348e11e3104df9b788982d2755ed10403169dc453f72d0b3a9bbb01346ce8879a7688e149f7821c5e1883f7a112d2f6360348d38754e352578daf1f9f60c27ed278e706fa70e3fdf276dcb70ac5a433061003078676330ec9c32570d297dc8b75e7f90718b888e8fe9e00cc29117f5bcf9c250219ffff0318434864e418aaf09f42bab5e916b319dc169f766763c97121948afad25f96e9036d102e35ac502fde23791765051096ab39c988b5543460243a819b42fdc62c80033b8936ae3075c3ac3e6e839e228f60eda58149ef6cadc435328db0d0afe67a960340943c45e722a7654446a7e68358c3efc08c38acc47aff37ba5ee405dadfcf4703aec7ee33b2e124780d21c8ed3fca9e85f6152f5d4d2316d43d01389215b9c483031e4f2e54c2dff57659f7a69deabad737b5571cfdbb7cea0d487bf104842986aa03e20af26ca1b38951b8b1f862dcc9db32dc4cb1ab5eab12dd51da64e402d28e6b0326c61499c01c150fa75786c2d1ae96fdb6c40f46f00b2a362e751c8962958f9b0347e3ea434910dc8c8e3a862eec5006f52fcc7559b440c51f73ac827d73ef2fc003a8759f1467cb7b3f7934a182e4b30e84672cd5a6a2d591524cb384b55ac9a1cc03b50eda27a9f74b90784f1da43e672e77cb76ede2adae2bbdcd484939f161c6c303b3767cf7cd1e5407b1b58314ea76be568de55c786ad90d8e42c88863734d626803e4e51c7c3c34455d57e22ed4278b37ad990269c85d029447d94c749f2eddb2f603a635edc58a82fb014c245387b2d16c0727550469727a76fdc5ca9528d1b8d1c5039263fd55919d03211aaa18ecb4e8c5966ca654904a1a5e1a6e1e016e697b54b503584eea1aa24bf14b85ef0ab70c0899c71554ec1456b2ba6f968f2800236b245903625091c62848c2dbd9cdcc7c83939d683ebb56aad99944fdc9a07f5192c243ba037231f7f0fdd9edeff0e1f3848d649ab096f09090ece0195f6698506026a4207803e6dc2d037cdabb48180e7126ebcecf1e26bc498ffa2e0b02bdf36d8ae9e39879037a7dc520add5a47122d6a7442ca6702412f1e22d2b0fca91419adbc7a8783ac60316fdfaef2fbd0becf5bbeeb8f3115e66b43582a9a8a85158e79d257f1e8d9bdd030bc8ee2dec3cbeade1aeed0c8ef2f63af82ab83f854590ea7cb69379329d858103e97a054d38da4a58a8f1a5a817dfb168680b26801aaf409c54ac17891e9f8a1c03efb883b57b6382bacb47c67444b16ffba244ee803742b48545190f1cde1d4b6e03411be2bb8c872ea384279e119857a61339731f679361a622aeeecd98e10d3b2f03558ece254ad4f44674c90c16c8c2d2b759dc8e561808d8350b5f9f0fd44223ca032458bfc49c5ff959812762ed8bfed0f4fc4353b6faf24470c6f498b68db89327032f4b4953d2ef099c1bb5b968aa2a795bb3f85eb091b22dbc32306018a253c5c50351ee81e71bc133bd84bf255e2a5ecc2e9362f39e70ec804d08749174e60852e8032fc77d6e1fb483945bf883669c9692d68fdf83d17f3ab6df0d5dedd85b6a6dbe03f098e914c98b7d71cb828bde416dacfb8f7b727dc2fe3e5f0cac291354673335037ff60f026cc437c591b454bf22700877718d4a04422959471b93724f036f2aaa03a5e911d6eda60c62cbf8281653ef7cf505ff8ba4b7b200633312182e4741bc5703a18cf91f28675660cddcf80ac6b1009d6e11c6af314d42c96ac6b6f05f0dcd5803c49a8dde201055fbe1b0112697a5229d182a23955d06319421c7d062a84b2fc503f6642d4034d979cd64d4ba850803858be3718b79004c8cb1d45f764de22eadb10350a7745cfa078dc37190237eaa5fc056f70848ec0630485d1c2de5d6b741ec470304b13d71a8b9bc18371cc0c2d9a1310d537830ae589d79c3ac8d647830349c29030e4917c40fe0ff7cb7c3730bcbda1447d089f53fe3325aecd51e92e8cdb4ef03037f72d8bfc5393d944a7529ad933bca2dbab34e167de5647ef77aa3c7513621cf035108c4b480d515168715dc020b4165c9051ff3cd03c38c20a785a1535b60eaff039730f746584081a399c5e2c8feacf7a20365b68fa2d9ca16c58a76d1576ec9e903326490e5e86dffa9f21ef45315aad0f89cf1b3d3b98f128883f6f7f8ca9e1c690370f35c69490dd49c33c672a17cec3ca78e81401870f2220218a78bc3a2c7886e03bb362b87a5e7595b3850558ede7e477b1d3f05709318dc73565b54f8141a834400581e02e12edaa5d0ef06835ed1b11c27f22ba9f92b12859df8e92d6420fcdfba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e88d00c017541f19deba965ec714cca749497a7831f12e9a2f5277e45744c6cfb0e003007828b5043efcf2af98b859d9aa63d1cb83c2cf307369ac0c8284b0816655c403dace203bfd431a38cc225e917292356ce95b915afe84bddf22f6f6095d5152f803bede73375142d0ef941157e2fdc7da59f1f1a3b336dbb643371c11c7410b38cc00581e02134d8d05ddbf5040ae3227dce6a9f08b219fb6472207ed93399922abb04405b8d800021961680219ffff0347b3ccc4d9199e14224f4fa53fd24ab6a29090f6b37871de6277760ee987ccd6037289160651e9a8d748e28c5d22ae8dbd00ba17429afb149ca78a32a42db8222803021ff5448f14e4249f11ce9a04358780024aadae89d1a03b3f49eec0abd4f1210219ffff03227ed5107e463906feae34f1000fe7b50de82db40d23975558b3f51c30a4068e0316228b48e9002b0780fd21c0cfcff31c1a95b268da6e5a5d41ccf2023df213fc035beb2abb81f7466b8d07a4caef0f9573c6c9aef558c5dda2dde82131cbd36ad003a5bd6dfacea6b0317c44c4341ed21c260e4e712a25907081de6a7a6accbba71c0219ffff03264ff41afe49af69640583e6a3ca18b51ae8543f17a2d14f2e85bc633d1cf2b003b7a32d5de25d84286dbccda2bd51842a8f60983a44eaebccc97b42d1b590bb8503014c6521df059c2d7bfdeeefc875be48cc7b1909a0a97577da4bf2501b5aeaeb03cd8ec5c23744fddab59ebf127409675cd25bffbdc7f2da326c0dfb03c0a950f4031e5bd5c2a8e41a5fc2d88e08a96427b2f85b000e7418cd08f56801205fcba4fc03ca77fabfd66ecc7f5172d965e3ca2fa2ce52e8513abf314ddf9a9a9ddc4665fa03f301eff424f1e0b321b24b219bda110c87340e676857c1b329edf91ba6671d5303d0a5e8c84d643a34bdb5e3ad802d32256d8c5cc172ff025f977d8a40fdc24dd403e444e6608ee9e9608412df710c2c6cf006555a194791d9f0d8bfb07a72c7660903760254a3a47fd6c6f193d71751c6d23e2327f00d8dea6419067aee4825d01f3b03cddf93c7d96d506a44b022eca3556fd79be61e70d9101c8200603d062b5bab1103b6421a9337885ebb67b23b168737b5ea12704eb84cacfa47c79aaa4f8339a6d203b6e23106af43782bc8cc321b9da2a8a38ba2ca158c072ab65cd26d3addeb3b34038ea8e4d728c34c6e3fe6212011097cdf1af06206631c3044c0a7fda7d2308f81036f9c4c34b6c60b382fdf8c39ad9ca9018db21980aa5a60f7148ef2cfc5b03e45038dbc1e082677d26cb2e4bbfceb472166f346117cc1aeb9c445d24214f9bb8cf00395a8ca2faceb9e3756a02699c11896c565e002ec0b91f49d80687f1744aa3f38038c5d4593274623afacdb470b0104e65c98430e964fac4ad654f73b88ffff969a03ade11dbd7d99665d9c6decaf97f8e657d5b3746063949d5c664a890ec3cd0d8603b99251ebdd5caf5c41bf4de848d31eb758fa91be06e58c1859eafcbfdf4672e403a6a00ce0fd90b7b4bffc7fde491cec142098328047cfabafb5e01a84249ada8803dba00f127cac9d62b78c1a7dc79b90bee8c139e14b01d37a6bb4ef04161eee0d0360fbe0d703b36830e7dfba5d5f72b63ff29c180908060e956a904f2c26678710035b22ee30b12e7de85ec0fb3ca639e5a40cc07dc70fd471162c1ee99dcf30f47203f108d7eae49f1cdd425f7cbfb5a6514a90b651e22315e6aa6be45470c33b28220338ecfdcadb256125a3ca6ad20d141496bb0846e06d59268658c440bba6e872f003f61eaaf475f0e1e2fa9be4c4df728f4ec940b62519039820996fdf5771455a25034d824ffa9daa4009d7c1c7c897d2bc8b2ae206e0b4e32da2357ac6619c748a8103ee6ed8633c91a1bfdf4578ed5e74cb1080183c2056e4f4d1bb7efa840aa7bbad00581e0284f6b21cfd21cb97ecf038c0b15602a3890065476d46ff1c112572555d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026887e322f888224c6325f57b3236eed25fddfdc4dab6409761c8ec698e410100581e028c5c32b5d159e42de1d05772b0de930d744b682026a403ff250b9c61af5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028e08ab95f5a5ac2b4b32decc0046be8497a16dfe098b252e31597614dc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027add03921737c0b5b6d5287372ab46456d00ea54fa4be014a4c9f33aa35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02533ac5fa31642d0007d491fc15bf0627f2e895f17ea2308db24e1a46715820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a515e5097b2b7666c1c9e95267cb8109945bcadd49693cc134c2949eda42271000581e0355b9de3c89cfa037bb098a5fde040956eb266e4b8ee460625fca243a204496fa834000581e031bd08994abeb761741241e2691d33738a4e1d55048f9ffe295299b1fe05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219140003ab63bd25232223e3ebeec90523a4ed1fc95369448423bf570a9f8d71bee2510d0219d9b403b401484627b31906e642d8c975b53fb5475edf836d5b9fa995ce147686b98c0d03fce894bd0cf696d8c6edd0a83bd89056d27eb94d54f9ce9a5bc61a48a6292598039ccc028fd8518b1084ae5b782bcae063cba8ac66445f1eeb93a358c0ef9deeba0303fcb38807e3574ce1960f365d29c2a4270954784d7f1d09e443dc631190518303f6008a2416a9fa6c3392fac0b217040df7c8059ca0fe2bc96d7534a49173e1d20219ffff0347256d9886b7454d149dd97a71fcccbb61c5274b46b6aa88cea7e77ba43863b803f09b18e0aefc89637c4de150f3aa9bf09b82bf5c1a1192b741f63c1d9d61e0870360dd37eb9e799c3c2b2ce892665d933d0ed07dc32591b53d52aad5404e280f520357f014d6993b75e4f337ec8f9a6fa7180ed56948049eade215b712b6e73d6a1603e410c585ba28c0b461ddc23fe2f165545256dcc2bbf759b0318f5745b7c384c30219ffff03b4b14d2eb09bd989d38d08c67498d66fba60d104987c2d5ddf54c43368a2f56903b0bffbed207935f1010b88d1a480aa2df6fd15b79a0c32d2493272e72937d8b103bfa5a6830dd23cd05e73f2f04b0640c2f70fb6ed08a1e7671076736c35330aa5030f41daee709aea8f9b7d4eae930266d1e95af37b9f197cc23eede9d9c8fa8d33036c20614d5eb5befb62952bd0aea39354715e23b2ed9c17f4d76d51aef3237e030300e3ad3f0a411e65525445c2f465ae0b68d75bfc383339f604ed00d0640b8eb90219ffff03fad4790e62f4504900ba2309133c6406dc78728c263ac154f7b87b32c44f39bc0352643e927bc31305493d3806beab6a5dbe54cc740264e37c5d705ac0df81a83803da5b655f465c11e99f033c6fd24b642e7f185bbffbdd247487c519c521895bef0332c9b77743f6ef04076caf10feeef33f15fb3d0329215a7cc13e28c68bcd7de203962f7d7a1e57c0b1ae7472ab43a82cc7cbd56ec044bee168d0aad1b08be6441103714b404048ce89727f6570b0a288a2b385e9d9dd20bcb9b784079bea373d3c4c03ba90fcc687fdf63ed7d4c54e636e68075d48dd60f4bb41fb19ac069197ee1984037c2f22fef79ac9062ac33e6c75b47ab1d3739d14ca5d643adb746b9ed580550303c8379036df6dfb993b80e279a10f1385fef6dbdcebc5b1a08663718dd93118fb0348b9847e148127ce8edc182038e894c0767b531c6ad4f3e51d3d42b319863bf403911199f67c2fb7376644af22c9fc9a08b166014c43c97967f90944b0d343fb010303a140c22512059ddfdaec0d1c83512b8243b5ac009e50983dfafa13aec94a1a03f30868049350b3d6545177ab86a7913a5950e63901fdbead936be5375325bd7e034690a89c1f56d2aa6a2b4f4b789f29c90ab8dfd5c52b6e69bd8a41479fc7573503d3e4b4d1fa20c76447690dd1abaf9e8c52793ba876158276714f959a16dbaf3003863027c421d8126bbea2a5ebd75ade9c6e54b40ff751460cd16b2090df4443b0030917ba8003a1590d2efd56648c4167bf5fa3ae384553bc9ee1b04b57d506ad6c03e11439325863ab29666d08da5a663975fcf60a681e64ae16050620736e5ee05103a82ca932c8b09866dba603331143269f6d555f8f22b5fcbd8bb260930e8ef8ea03d34b869f3958ad6cb57a1490c72f4879360cc6c8923f5a69f4768423ccaf3ea40351e4f57a2b9419b7491c0e4f7684d7225117f3edcdad57b52878e85f674aa748038e88266fff3d77b49535c2a6794ed6c1031df9eca1cfc6688c54d63a860749a7031876b9493253d9d9e959130bff912ca0b250ee02ae8f967761bf7361f36dd936039ae873def27d5f75c1f3f30a1a2de71c286f33f105df6303f53429d78544081903ebd11b221237d1e03e52919f6baeb98b36b0efff03ba741b45c8e6e743c0fea9037ed0c261dfeeb1de59b72b41f7891d98f3193c6aeb2177fa14554ad4278e42900380b69dae0fa202165dc9efe8e2f8ecd930c82675530010d376ce1921ab018eb803c92d6a8c12041e105a0e955b06dcd7e2d2ac9a40ecd38bbae18c5c7ff0cdbd1a03376054748e64735525753a44cc9031f098da2ced6dd6e78df0ad732665e55c9f0366c9ffda02f50f6eadba8b2d62b25b9fff8a012220cb7d58d522a57c1e9276c903d1c9504c188c174cef49fa85b69d8ace28c820273b77ea390d0f9ac5a3533ed703d9b0ea352197d3085e3480cc41e9cf5014668ce5025a127fc0a7304a9b11147c030d92753605da77a7ef22cd4e37149fdf15c03cc6eff04de5b9533c904309c7f900581e02b20623e295c86bf5cd43c90ef1310aaa6ccf19753e048b39d78502a5c94b4a817c7ffffffdabf41c0000581e025d18e6b12283773da5e4e0039bc284b3d49d62bd52af6084b2cf51f17e58200ffffffffffffffffffffffffffffffffffffffffffffffffffffffc5b17adda036132d4693674bc83076c2bf41b4c13eba92a002b2e5184403a4c17064297623a00581e02f25c7fd7a5959b333d053d46d244a9676156276024b7f5b460a13e2518441ba1ab6000581e027f50c42a14425980d70ae4fab5bbd6f1fc1d70ded79ba6d26bd7b2607a495562504d339ac5d88400581e020731f7e4c64472cb6c57c708a6a4da80f0144ed0542fc92ac4fcebc41b43a7291000581e027aba768109736954a9ad15822a857f5da98cd3d66e1e64f2a9e97885505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022f2719973b52ecadd4185d1b19d69ced3b5762eda167970246a7b25380435ae99c00581e03db97332a95412f08738d26cbab217958d8637bbf3f8a1f771b6e0ec4b045032d2d291600581e03ad3f1cb3873aee81d841b27c2c2c17be88d86f8abf8835b06f4e4255905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02182800581e02de8a84d1aa2842bb41aa86b70699d58c42d571236617480c2dbe7a0ee0434eed8c00581e02d5025d9c538d1e23c8cb12f98b6feb34aa64c1e7b4a5e22fcb75e519f8431005a30219b67e03d733096e67b279a147df0bc25a180e1044b45ff1aadd5147edeacb02b4a234900374a0cbd7e63f44c74822a36ac6ad853ffcf2775756058baaa1b8c50bdf5109b203862e2c987a809b19c88774cdfece1a8dcf60ce6cb1af62fe9bec8bf7de03ed9303d5e489968f3c976d953951b8c31efade13233c1d3478861dca0e99f5f391cc4a03fd4a6aa06d017c45e6ed3286a59dabdea442927792b37493050fa08942675472037273f3e78280d529c8fa681684f3cc46a77f5d3f87dcb1d9b71aaf009b28c0970367e9f6c006e4cf0da0a5ce97c5e4ccf197f51b0c9c2aac958592b920a98cef6c030056d9af5bffed4486ee685d9d9d0e15caa6125518712dfbc9e35b333704bd4203f98a8f953251d19ce70dda240baaa2e5a1ff9d43dd12620140f074b866899d6d03eb9ff428125b74fb05903cea2daa4ba68506fd8dcde73e88368f59a6e7d6df930219ffff03d24d4aad7707d56e4c713db297ad101e0972d944895f5ea51891b832cb67068c031b97f576258ac59f56dd8dad558874d58b1fda3b7145ed28cebcbcbe8615893f0360b52888339f014b9b413dc411b6abd6096bf4fff67b32a3ac2340d6feb67210033ac49f5d5a30a4484197579b3d3adef139e26d06cb541a0b165d29ccd9e51dff0219ffff03f4b1cf1e6d85739977d98aa048dcafc30bad289cb291ca9c540a683fba725e2b030f250bfefe3df9e61d70332597616c8fbe249dd2bc5dcf3c06da9bbf401ab1e60219ffff036c224bea8b720adaea6b4553b648c31a832e1b63290751f77bd304b63a346f2703461968e29527a131f310533370f89b83d7aa3c7427f0cbf5d1ff41e51ff6834f0219ffff03f5a6accde98ea70781d2136a41b050854e444673879322c49322af57e310c4a4032adffe2699471a967e1a38faea4629590c6d345822e246b4b215cb1ddff639ae032c58517c0543a0fdf3be6d56264092d34e071fd51a82ec38b5368e2f0c867c2103382228c109ae92b2a72026f6159bfe49e96f10fc4920c32aee08e16b7114225d0331a0a7396fa914b854c7ffb9ee0b69c95999e891b0922ab537a7428dd14350170352268c816606b4ffa45e68442831342d0319cc3393518ab4e13def51234b822f03043a20853ce93b09a3c0086008193d0c82b63d3f89127ccf4f57bc205008c3d903f83879899e696c31944944e7715e613a5dee99a47c3049bc2b4435ec180df61803cb4e293b9aae2179cdefde86f921d3c4cbd66ad0bdcd2219b11e6574343b449703ff623a5c1a730315bd4784ab84fc8673d505a15eb28703a89e176c572e20d2ce03e8ac40ce95ffbb6f3e9691e1b8708c072908600304640f4a01953c6cd7abe04d03fd88dddd617f7583b9755c7a6d02c76fffb3e51c44ba795ada625e6b6026c9c403f292107bb8d997e35ae8fef332b6f424eabebe36d5ba476c56132f3163267533035004580de21102eb2ab4b596ff039d55d7d7f7b522b8d39f5f7c9ab0fe932c330385361d9b2affb58f79552e855e329cb73c167843e330b96458613e368cdd3deb032f40a03ccaaf3ca5b20fd191a60d6848e232f09f7878d8288f86fc7519ebd85a0395e728cd17e915903899c4c3e879596d1c46c9f6f6c620ac42a25484f2ae972b03ad594234855d63ca16022dba124dac1c0616a9df07f33e4ef01a0face7c0dc86036ef18f16637bb7a45e32b6eb768d478fe172a6aba0fc25b5d2e04135d354f8e603c045d251644a30e620a06719009a948ca1fc76bb531063abe4f22881f24aa5d00368edbe77cf1d8d226d4a6340d175662d2fe2640b0234216342c0fc330e560741031a3fbcbfe06ab56445730adb5beeb3e40d97f835139fe6c4098cc5dbb50bf6d2032f22d31e031b6a4fd379984dee9335f199253ab8724284fa5ef222d2a03c2ba6035e5d2f43f6dbe91a9591c8a4696645271d9925c198f864e329fcb7c2beeca056033d692233b81ab6b94d59293ecfca63b032771487235d319802710dae442ca96603124ec6a4ab080dd553040536e837b50aa40d78403d01d8287b89c2712cf05795034ab20bc30990f39eab3028381374d83a061c78b80a70deca71490a0c3568b57903b6410d1ad62f4300c374e5742b9b6d1317f4f49b0375786e5d2d5e5db8b7ac740335961084f50f6bd44f6f30d2b42ab71f4a066353ae4a1522598d1764fa67b206032a376820a1391e94c75efe062885d13d05a79d07e18fdadf9bf1539f82e46815034cf98542f0e502c38f1a689cb392c8e28f1f9699f84ce1de3bf3c0b7066ac82900581e02a3ec37eb9f1236a4dbdc2a770e5efbc80c9148afeeedb122872d71995f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027b078062a34ef5b2dfe4e2e73fbbe6221ee63d4a52566ac1c8f78553844365081303a0583ba94bd9988147e3da6a63346cf3c1f18ba948725f51092b5d979017f76800581e02d884bc0dee0110f5c277b35b29cf6f9af318961200e9faf85283ac23935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033ea19d73d98bf749a9a22ccb88cb1cac2ab344b018ade45b27e3f5b63b5190520309a36ffc0672bf0f626c608596a4bb29c5d97a33b54067a8eff54552302e657600581e02e71e0a6896123547c0c8451fa039d2e802e19d45e6672f0a6755ba3d335820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f891ba2e45ff13a434afa306eddde2780531f10fedbce047da4c7b3447f3bc2b0314009e432a12f2ebe4bcf60cd550c306aa699ebfbe0c6bebe17858f4924fa4e500581e039016a6773e41523e8eaf7c8935eab0be38db9a751b84ed2aece1ff61704401c83db200581e03c239950a869acadd151a7f552d876b65dc5a4ffbbf514df121797f9460434c4b400218a002193d4f0219ffff030190f5a045af22ede2bc717001df514a0183d42cc889b5cbb52f169d3f3844a103e0269f8fad53297bb04aec31c5ee22ef9e9b1bbede22062fbd56c1c7939765010219ffff0312555d11f90f75c21a76999024be937997905e2069b0e150a957a383d60adc29037f505b3a424d931724d7aa228e89baabf7e6f4e47ebe9b25713c5d85cc97d0c40305ff660c2b6471ddcc4ca35884696e0992af8f4d64b419353337650c69250459035d65e08487d5cb305cb424fa2628edb1cba0b9ebfd90183ebe27b8b7e68feff003eef270176585cdbc026828bedaa9d314ba593ac37a2a76fa5ec406dab5b53e0b0305346ff1060d16441613bab3830ad90d4707256d7a1d9554089e9711011f676c0333d9014663dae0188d43fe7ff94fbcbf6547d9ea94dbedf5453c073fff82388503f2950cbffd49bed2dc23684022e99397a4dfd1f914fb6449e92157bbd566168c03d17c8c84359ca24f0808d8ad84f3cdd6455f6fff32ec58e327b329fb16605eae034ca11d26efd77afdc3bfedd2bf1330d782874d06ecf3773e06e127f1e3cc69fc0378eb067767ab6d50787bda4876edb2933f3f50c0ccd5b4eaccd3b5019a4f3725030221d49eb2386e52132b68aae4bc7cafd122579240c57c2db7f7eb93ea998a7a0219ffff037b16194bd956edc9601de7dcaeefdd8be80533edaaeef6bbedd1cb5f23187179036e4407f2ee941bf8ae552b57b6a70847d0a8bb8c300a23ad37343e9f5f37ed9e0307bca8c6ba48282068ffb6fc64ae9de9139a9b931ba7cfa3b135a3edb84509c503ced886799700d5ec6c647551fe12116c4da84c221e75d979d85d518940b328d403aeba3160d3007fa088e8550230a8291dcaac01a0850ff080a8fb15de2e45a30503c3c2a8caf5cd1ba76b9c96268d3b3a0258cabb155c14386fa899cab7afd7505203c2358c999e806eeb2952db12bdbfe3452f254aa715d263ddba26b6f9d7f876c4036300fb1c62120d48bb3866279302dc9721399385b7d5ac53a56745bd17807c05034de029d3961eacc1d8c733bbe4e1d7f2ca2715e05f59caf0d062cad12557860c03517e57ca5f3088b458ac53ad5ea97de0db05aaa84881b6e640374cb11f5f8f4703f88deb79f8af932da8a9f62bd2683e673b0eddcd631c786e15f1900d19f7f36e033e2d0b8f8a00d47b9d43c4191d21d0f4c2fa597a8e0f1db9195218373f0244250387022ad348fdfbc0fdaa003297e1b67191d7c98da4af8eddb84beac1810144f603d3672ec9a8fb3589842efeb7c015c2198fc7f4ec5da17ebbec4592e2ea624300039cab8e8b935155ea9cb3a48085efd2035e459524aaa976cde7ba747bbbb79300038afe7c3fd8f6042c4b11aacaf4d07f8e9d59d53d3a8494b42684531fb120568f030acea725c24037fb4bcea3ca10134d7e9399919322ad1e4656c86af0eff7502803251ec2e564aa4e303b70c3c11fbd0d46070ebe339fb8cee26c8f32bda31de69e03bda65595a25f9eb23ff06fba654ba15237201a0e560282e17a4a044eafe07e7103a0805873a5362f1092691cb21822d2b83d7cc7a9b2944883b0a90d75c836e1c703853e2d06819a57ab6a3a5654d3f1dbccead76b50b39f9cc40efd7bf7724c2725033a92f31fafc4c6c8e1cc84b7a5c21ff66edd4018a33bce333025e19e2de77fb303125f51c5df8cac5b0478a5c11aa9ffb82b105eac2774c64eea46a9f35c1e152403914db652817aae0c9526ebae36a8c25bae3f100bebe7ab67b7050d7b0e56c87903b468d45c7ebd293bbfaa845bc79afd252e56c3f3606c0640644912bf0f5fa5000340111417661627fbb538474df91e5e8b4e0f154eb2364698e5974c419d5a84bc0382c2d577441f91de1249697b035e99db6cbb40eb5390031add83677d904f045f03d141f40a9e0637fa4b7a4d7f642cc44df1248dddaf29f6e0956877f57e3109a2038b1c20a1d78357d6ea01a961e4bb50f20c2fda4d6ff6a0986dec42b425240e2a03e3e7993fb291a402396aa02c54689cf04b2faf5be84f8436fef4c0e8bd07f63a03fe034f74677fd95af7ced7ec364b34d1140927f05b3dede3236ac3d63ce0f01f03c016cba7e60f36ae8956b09e18d53fdda8d1476745554231542186d8c9ddb48f03907e18a579d0655dcf862a2c962a9f8cf2ffa7926a8415670f03ed71a0123bfa037721cd100d940caa315627f1864d84ca3574c144464def50e09b112d004697c7035051bf61e82a3be08905098c460c2d2e22165b2920f5150a30161a174c9a8a1f0322b9d68ec893e46a41c316bde1406b19b1b15e51f5c35f3dfbbaeff3e302661e00581e022771e84716f4d3332c6efc137d9fa979719e70e664fe27935ce455381547038d7d8a1803b003723c2be5593e7d8f85c4aeab316dcfaee9254a66a1c6c25d9ffc61e454f6906d00581e0240136e67576449dfca3590dac08ce1264d0f094237272d49f48ebce751465af3107972ec036634703c405b8015855bb7bea0084457878c1b806f1db3997ed8889a82f85c9400581e0372bb378b990733ebf795b262429534ca16e6859101436d9cd13249b7405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03e4038824e8ce5ddaf0113254645e60a6b9d292cadf4d894837679803704408a08b4800581e039548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054c6cde7c39eb2f0f0095f41570af89efc2c1ea8280219280400581e0287cd34ed43f476f40ac5bb2778e4456f4fed830761aa182cc3eb27f1da410100581e02db4aba65e648cc05dcb2b9ee410c79b5fb0ffdfa38b5479f0607a9395858200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b2c5033b87967e51dc7e5834d589ba305b67ef1d785997669163153c42dada4e5187aa0219ffff03dbc00021ce887dfdb42fc50af45adcfad07ce4f4676173d0ad7eea3ed049e92d03c57ca227db0de9639afab82ea1d57e5ad75e0b50380f9d08c1122e790330185e0219ffff033efa8ea9b90d47959b00a516cb7d609c195f3c54a088ee8bd4f1b1996045cae8032baa4e252d80db0ecbb9a42d82a6cc31662cb8889bfc1b306ed2d3b66c5454cf037137e68c92683bf0c65cd2942a6c89288eb675e4459e01e3f2b8f5549dfb8e010342c34fc18c15c9bcd7d18716b934785a982b1d0da3bb87b2fbd2e1362f6e0b9c03320f838192f59d1d219e903c0614933af907f0cd651d6c180de50f56a5c25c23036980e3d3d820ed362aa3d11629ceaa58ac0fc9fa315d5c90de97d7ee66d00b0703d0eb3c0bb2700ba7f377283bac428d4bda7317ccf235a4f0cdaf404bca8c1c1803c590dd0f50d9306d5d235675af96b8b83e098358cabcf5c42197b930011c5a0b037f45385113bf99d6212b9c12e7efd41a32f7178c74226f3efab3a39771626cbc0306db49a066cbf23f40602926b7356b17a3a0550de2b9a48f22a895db5f8901c303e7a5212d8efd811227063e77a1d0e292562019107a3861054c287c8a01a073e203731a0df4134894dc6a4545a59804c7669ca0f7b51d5c750afb825be93b85bf9803a45f78ca668bb6f1ca81df4db71955ca9963131633ecfbc4ecba3032d9bf409d03b9cfb07e120d86d1dee7b7ea1f5e906078f06cb45884f3b60d25292c6a416329034aaf5f585f71d95ca60c4348339c5c29fd7e77ce3fb923f11c67992b0b46804d0219ffff03e20d30769ee9cd3dea287bc14556234a02db7d003f91ef848e78b28dfe326ea703c472803c4ac37268f83e04230bd7f3907264e33205a5ed6bbd57bb29c455885c0373d14da34a034e6ce799b2419672b1b70132272cf0813e0cf5078a629705264e0330c2f10b4ca1a9bf4529413892268ec888d34d392dbe8e4048eff77f12da788303ab167e456a6d55a23bcad41a7210f94e9c63ee55c68df0320ef592921cbb4a5d03eb8fcae12250f8137982e57f178b3f4c742697a678d1971072c583711eb00a4b03856fe4e10200994faa54b4c2bbe7c814a8acee6288ac9a9eefb1d1c3ac2281f003ce153d99a9322619d52227af9caabcb0565a091372e5cb403603384c3fb0999f03cb9f7fc8f995f57712ba7642c6402c6a81b8e8dfdb23423ff227fa3333cbeb390307c5fd62144f49a3274890655b05fcd4653036b7fc0f73f7d2433cf00b059c4e0397bf9c020cb52ca2ddc46c318fd32d3fdf2a69ff81eebfe598b4307b4bd1373a03f926cef271bae2a46852c1d55c176c11a571beb7afecc99735c8e91d0b55afc503d12c4119b474a12a395ac2321d2715a3769ebc42a46626a6769476a6c5a478750371331a647b49ee5a041bd0b14890b8e3cbd3361d9c76fde9461c86ad1314397000581e02f600cb748e28b100e34651a0274936bf7eff8014dd625e2919f4eee8ca5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020effc395f900bd7c48e084287eaa93d1fcdd93de4d97a13c3a2a63a7d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff034f7adb85a1d3d0dd43173bef4f631e76fa4cc0c0a99db6d81cdd2ca92f953d1e01410200581e02bdf7fa7368556fab6952573752a8830b16a6abccf9cd025abbfb5d6ed75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f882d02a1e2ee686422a1aacac6edda2c4f44280f7e4cbb152566225534401c74a840370569d6e5bcb5c5e1d1cc0ea06d05efc343d9ec8ef90a2e5661cf6604ac6e39600581e0248311e0bc13ba1d899cd859af271881070752d0a1a6dda9d135fee6e255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036f9fbee3cde52dccf28c988dbded024db1495581aa96e51526f9b5b5404923e3021960bb03de9668c4f7d750305d40bdfeb1921021fb083ed29903778594f458a84a3a1773031d17600b787da57fe9700a650e8fd4a8dd35b189e8a445e48114e71a39079e8203565f0c1f9142134307c5331d9c84ba3c7cc7d5acf5c0e08cc3dbbe47c20cc48503e30e8628ab15e96093eb5680fd30b97e7979efeaa175dc3a4628da8b1b459746034b281470dcd62de1f006b542023e7e0df52a79c86ddb7361a7e22399864ece150399b17b14ee07c869c27fb4c0897a250cba5dfd6bee15d3da8390f926e3edbb8f036c261ebd8fb6ab43223a211d7c282aa636b3db5d085a4e28a22a98eb8d33afea03c5486adae37b20c57178c646754d84c3924d498add416e43366f0baa2df12bd10341535d363029dd2a9f0213cc79b4695e33231bf6704a613cd386597ea12afb2a03eafb90127828cfcee776dbe82712eca48c92e9e4b39feb8260e6950ddf9ecceb0333a92745f981f5b3ba831aeb47a91d7b992a86b4a4b2b4136b9d1e0f7a8a584703b21ceb777aeb9ae8084133fc91181e30d71d533f6f6b161c83b7f97ce6c63b8203427804240892341895b08285c78ecc31f9945587c04c37dcd108e267b6263ffd03455aff25f1beb6b3436ccc1ea0499ff1738240b3d79f868faf5769ea189bf95d0219ffff039f4882a26064471d3f3ab73e49a8a3c54251cc3010b847847574a2c913c51ec1031c4e4691a8b1068d59af36f39ff7bcda3ea5ba988fbeaa8b113fc6b9525e4ac20376f9f5790582f7049061fd64404fc56d53f5c3b1ac0ebf7aa3b19d207b3fe7f50376d40800e8f3ba7cecd1a0e60793c36fcc695f2c285d82ed8fd2ecc33219bcd5037c97903ae9f9fff9f835673cd9ae275cb22232836b6f6baca24c4f9af46eea5a037f070ca068e6363d56edb3a2e80ac5fb64f75a846148a39769343c1069ef3382031194c13854377fcf8616a2f2ad1ce1bd3bb0eddd5bc46befd602287c8eaaee0203d0f0967635e1c772fb20e8c125dadde24a9132f91cc8ee5f5a059af55fa4b21003b6fd44f50b9ffff4e560fe1af68d2c272d3e53a56af652ac678f9e9a4efd78a10361957ba2d284d4507f4d078d4b10a89404ca88cf61d7e05720d61673c7043509032e339399d2fe420e3a41fde268c0ebb0bfa41491022c5f58d8b5a5b15d3c44310219ffff0346a50e7efd0b4a788dbc201ce523b4acdc33662a6e19ec67f9642fceb4c8477c03188aa5ae9c90941502cd29624cb82a19be0c5fb8c78193bff887007d4738b75303c6e16334653b3d55d17e5ed113accdffd8687f48129111e13bcca5d44f94cf1c037e2656c7db762608287f3fbcbc4dede84b803863fc0a43b74ec2a255a5d4eac103a4848ed2bb4cce89ded108f4726756a36acd4921d969d89041a190b58d0004f30314d1efb3e4cd67035699a4a528552664f9bc576d557950af49367c6e439177b70219ffff033af197d41dccec41a3949f1f95aa125f5df23417f62a30bfdeb4fd823ff1a56e038e6cbb8df12fcfdb67c2eabedf42ef43364a88376520cd98a6cb297782b82ad5037a38e1d50e94682e4acbe8adce1af7fdfc2b1f508cc5a22eaeb6f6b370c96254037a639060113be710ddf8fe677a4b0195d863893fb38758433c3a2647873324eb037292c5c443adaaf1ad0dbc38e4a74b868029ad6a271e53575a5b27e15aa15e36035a0e85a1fa7b2633d5eeb31407e80f0f1620dafd7056349acd3f5a12e8a65cc7038db8696b27df2aedeaaeded90c63242190eb04d62c507e20a008b6d4e70416a903afe8591605a4e7f49a56c9b90cb972ff3a1ce10fca0bf30ecccda56acb1e5677036cc37e55f6fc61f9dbf2893973d201c4044ffd0a491b1c1423dde8b24a663d4103fb27c6c05fb0a4c890e4d62c629e2519c02034f4e93a22477927ddf9c4a9e92a03bdd7d788081921c1194099b1975c62a60b5132279d0995656f8e0121c20ca624037e42e0cdca69f3a4286659085421701d34211552d6d10aeabedc6217c10ed3ab033f5b8753afe1402757691273b41f8e31a44f6f3bc443f0926dd5dacd80e6bd9d03f74c3bbf7de6438e353cd77e07fcfffa1872b4c0ed73cc38e02a2784d0937b2203cad57da83feb9affa40c9de288a9e93b8b0ffbaeae59f904febae66a76042de703d658d00a84d1106a24b19db17e872de90640ff4dea79aa1fbcd808a31caa82ad035e68f3e559f9e9c4b46a5c4ef6b5fadc67286b1ab18a2d79b60cfe74b7c7492f038f90226044298d5e0a76010a76b1d19b3e62346847ea3b351c8258ab9caad77c038a73c0af6ac530ae9154a68dde4ece41d129179fe8461060c3b1c7a16b366bb303c88ff12a79337f885f4025dbc4ec2e384edba5280524a164a02a860cd1e9dcde0370173f0094fe4c84443a0fc1b3822ab939ce30c8cf72dcc14a0a19d11b11668803207ad7382b22747074a03813932334ab8667f02db2810ace2b07f6827bbae9bc032a501b582568a9ab8716cacc46029110303cf8b71bb6c46470627fa06694a66e039204ddb402cafb011bd81b627e0fadf45020a20c836eae63632fa2bc91abda910309b3afc36a2083a43eb9f729c3b4f00a78505cb91fc36dab28b53d21d0bb0c2d00581e02af7d4ea0e59f07147c6fc5073fb3649f4820cb05860579d58c67bdce9b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581d022630e6bd9370ecf9cf2550cfb13096d8e5fdf5a4e90c34608aae24da4401b1cedc00581d021d7bcac96c81b2ee570bc7ec0edd96360bf22d0b4f30fce46f14fdfd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219210001410100581e02ec4fd5ba249fc27d1ddde6910313495b1ddfdddf34d5346b718bd299d25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ee54a7f66ea58d381d2308181e57d0a9d430faaf4f19ad66fbf584467a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025536f175efe763b216a970c0e4a9f4496ba9182adde8a06d80cc286edc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e971dfd61fa91db1f3a95d447a3f4ba6d87a46c2dc19ac8ba53613f3aa440496ed4000581e02e9df8578b32c2ac7560abb5159d3417e64a62a928d432045197b9849404203de0219c91903331f014add227b0660e0191a69ab85a67bfcd7b4084ef5c7bed685f31cd17a71033fb1330c4df30cf70746a195f1bfd49890c76ce82790fe6366f92c91248a66f8036757ff2d62ea89b5c1e1a5b295ab17e9bfd767b492b92205a308e892d09b3a7e03a7809160e1b87e2875b0673b73c34b8078b1766486d5c75667d2c6a76c1b812903622409aae736fbab149af9a4088d32b64dd1ba5abb701ead7d6b400553b60c170219ffff03456ce5b3817400e4684cade648461f7966e2ddc1c2f5bc34253a9607e384bebd03bd9a962dea3518c89e31a4a7e7706c2357ff41b6817552e3b49daa5f9dda89e4030984464a9412e1106e46f01165569d84fb1c64b0b0cd2a2466df6b4a119a9a8d0219ffff036ec141b5acfb7f65cab875d1e1739191e3f800725ed102799a57edb340ed72090307802feda81c075c1332fabbcafa2da400e6065f33524698343b3ede503541d70320f559aafc482051f397fa9600b054ae970f245a71e10c67669a07f848e2873b03039a79673f46856d40b9a08801c30e654f5c19426ea153a9d05bf8b69f81ff8a03125afceaffdd9b8fde1dc4a5e81de2f15b335ac44011768cb4b01bc4c37f54bb031c134aef9cb2853edd718f564f33092d2f65b72ceb2cf4dbef7c045d5fc8c4a3031d1c6f1a4fc894f8adcef9fc7f3bcfcb6e83936b382cc46a0bafea074f54fff80335afa4023a47b3e4dfabde11c6a9f619e051dde28b8d1804fe8abb84b54d8d8c03ec7a15b01bee42c5accacdfb3cccfbbc395fedb63f4d564a056265823c90441303eb14f179df21257d4d592c589a5953221dbf5df0f8aa39269e19abc7696c0091030fb8fe358600282aae3652578072d8ed7e4523e602d520309cc221a360a218100376818732afc88cd81973bd1066525ebf4eb7c028fc23bef47b28bd8c065906bc0219ffff03dcad914b2a70194ede5ba666b0792dc029588db5585ac23f71193c27e788b0dd031e9339bb25aba14ade74e799668c83f69cc0c7501bcde8e1be131f135505b63103c6ce464b803580f97ed3f7e7f8ab56963913177d3c487cdcf16af7f01f73a8fd036ede9c21cae2db11e19d1ab7a5245e2ceb15a01bf23fede3775214bd3087172303fef17e2ce064e1f2f0e16ab1d95e296dc97efc0b5a79d09b559bc1181366da24038b6879d154a40e85524e3929db26947b5742b67b5482509086588b7effbc941603d780e0e3849a157b6e3c1feb7f1d90414fe14836c7e250910a9ec99dcf4e4a3e0324dc7ac220a39c986f5fbfa6dbbf4ebd9bd7bf28c318ac8110e32fc6a987b4f403d85aefac9d74569561e680d7df81233b19227ea28b49dca92831575652552f0403fc60e0375130a42c2cc741070e7afa549a5da1b08fb56e35af837a8933e4c6a5030f2cf076f3dc045a3978b336068d3ce0ab1e6ee7ab7b527d96374cd27b0c24ec0331ab36c5bf368630bad7e91e810ec1608098a511f7e3064dc1735fdf8a914cdf03dd352953fe9bcd83c31315e4935484fae11635a565a70c966fce1495919092cb03886382990113b83d920015107dd67b7d7f26c556cc4f4ad83d85a0d1755c85eb0397baf6d8b21d0f1505c888a4a88af6a9c21c558f3ed7df6bc19f73505bde268303b5c4ab6a0159ec87fe3c2a36cf63b3eff741c095aab457419b2315f095c6e31203d8d549314108b7b65259052d11cf7f8b2faa2c2b61b1d642543712d8289e8fa70361391c52e70846f0955b82b4b1617234d3f96528913f2f1885f7f5a6861cdbf903617e2fb2d9b0f051ea2a1b39d2e749c92978c903f729a07b3a22aadd0e39cc6c03e72968ee13607228fbea6798ab96ee6b421961d58693ec126073cb73a4af8e9303ed9b5cbfb6d72f34a9d933333c4afb19558a7a47fe6167ba8ef72a308bd65a040371d446e2f73715f41a4837e13d434429dfac1d962fc8b92cf7f261085766e69403c1b1e1b44462c66c1f981dcc2bd29d18ad5c7fbcf7123d1b00ba61f41cc3c9f700581e02afb5f0d34700516339803f1990b5531443f5eff465f620c7baf8be357b4401dccbfe00581e02bc10ce999a6339a1198b05dc7b50213fe6f4c18a0c155cda58baeca2ca5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0219f14dd76fef7794058437d650a0797aee3fb7274b2836a2e515fecf474401e22d8000581e024b79801085b727d483e66f175b7f1a05284c634027b0a6d2e683edbba75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036c9ab216f97a9cc152f426e65b31852f1149da545dd37832ff99565106852a6303350609cfdc6b231507971e480ccf7c30b5fb1ffd427756cebd3f9110fa68accd00581e02ac2c7351da6378c0339c1bd7a5e3cab5e04860bda7d3046d45e9d393a64304761400581e020775cc341bf3d7959959f6b9644e3d90bf499556cbf887b636ecc2683f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0354da5f076d6b7554d994bd89bd574bd0e6c07eaeda09a25f25002476274d007500581e0288a39f9bf76a69d2c158ae9c3dc67dda2904d438d013c48ce902c5e1e64433db2580021935f303824733a3e0de70141195ab7e3af31a3942aa26eacd5ac07b9c1f11a99de5ce0b037ce122b28e9bf061b01757fed4418132775e986832e2800ac9198d83c1dbd18e03b4cc7d1cafcce04bb73f4eb97b51f2befe989875feffeeedea29710eb7cc51a003ba7476526ed21a0686e47cb8cca41397691d956b7659672d035bb10e4030601903cdf6bc166d27d6e9e971ef0adcf1ec8bb8ae95bcf6de7f60aaff3152f8bc97a80300c00e9d6fbd695de2420541de7e53955767540ceb5bedd18adb211ab8f2ea1c033d896bf2189e59dde1d986911a826f42edf33a5518ca57e3ab912a4a1a33a9e10219ffff0219ffff03d83e2c81d820e169a67a26a6ae5a4a97e3c228852f6fd08793f4c27e9324b03303fd0c5f66c0ba4e54868896e03b0d82e3e736336e0ee0074c0c63323f263e3aaf03d2ff514cb1765c4c5dc035f7251232be0688ae8107f0e3a46fb664f05bc6e76f031dc13d7f04e14e1b28d81c52f6bc45b3ded5475a960256ecc1e5cd13a0257d8103a068994f6e756253c41c50af03c42766f1197c3dfe7b8666d33c10e526a5bd4e03ddc357ae792f47858d212a395760dc81a7baea22849e974b0b92b70f4b7cdaac038aa1eece8ab29061180a06fa68ec64cd5c9fe6222d87258d2a63d638365bdd8303a9f337702ca896dae6926f4911c2770d4f10f1e33f2d92e2d7bc37b8cef3ef2003125a9a567ba06bdb8e60b861c3dd438a71121e9505ef56bef894295f4ad4042e037284bb07b3ebc72caa008784941b729293e55eabd711ca3ffe5ed6e4f72ef68303fb0e08b1beed09b5d70fbac1a1960710eee1f3216a3ff4f671a003e7632eba65039bcc0b9d5eb902512157c95698bd58a52847a83b291caa709af22ab5543b0a8c031bf1722d08018e7fffaf8735975366d301173fa5e2d0744079f94be4ef3854be03ec516de06a419c0035ed42ec1dad1ae50657e622ba232e15951c1ecd7b2a7d310339182083292be256a9fd0608ec45b4db6cd05003ff56c016311cd26c9112b87a0219ffff0337216aab819dbf8fab6bd9dacf289c3cc778ce4a2cf17c033e8c055ae39e413903f749288e392a9c4caccb82bde40e12b1822e6b8943d67687071e6c4bf66f6b4c0345524fa97a4116f31e4b7be4f2e798cb2418fa40c9a2d25afd6b6a337626167d00581e02ff1228d2e62477ea2240b7e651863d2707c4ab87c4ecdff405752b957e4401312d0003267e2ab038f81fa5d85bf729ef7f708bc98e21a7d8d906852cc6e3cb871d81a800581e0242341ab13885128764f75c02ea2a1b09b56c780d83089e37819f04cf8d43d8acc000581e024e9b188a703076c02d7ec9733a5efe706be81774657d3b26204dab76475820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028ffe643bfec28f6ab3787c18f6959d9942ed1961b574160c14c26ab1f45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0241ff5556a303afac224678ea4ed50fedd0a64ce86469364ac9df52a05d4402faf08003a590643d5a04ddd8579b3d3a6829b5fb16076f689dbb19c50dcb82ee99019a5200581e0281df80081482dd2ae8583832ace98d5c096a898d6f689a2872f6ce093d410103a809f9265b537377c36c14fb96b99ced04389e3e3cfc5e8951c5a9cadd6dfbf500581e02a37a0b5d5078cdb6e2704322258bd03f5055c133e426d1576ff7422e3c4401b6263a00581e029014f3db96bd2aff6c8f910d3c55ddfe5433f56bb699ea1a667f646691440109449b0219cbbd0304b8b3113886c5c3aaabec4f64f18b1bb1e6aa9c150fab4253b27914c0cf23590325121023e6c519bfa8cab465638b027289e5d4a456a0f50d9ae6b06f7860522203b82dc2cf8e4a3877c4c5011c67ed9b55bee71765684bce4341f9478675af89470337d97f512cac0373a277d11aca740baa7845faf91263f9ebdc5d5ec9ecd8a21a03c23d0923e17c2666ab508b4b47f2e2a70416d8e2dfee22e876033d349f1489bf032f33fb55bcff0a58ea4881cef7d52b1dba84f2a98162cf1f8f6f7e6f4e4338be03a816c3a9ec233aca3542aa233fe66decbfbc7db238a7a7da47e97b9f738c448503035a9a84a900c0f17606274171ddab1944b02c4743879f5bae4e680705f2e8b50368de4386f0fedb12342cb39463e7734f0e3876387a13846df28dda5fa25dcac203b6f57895b7b6debe0232881c9e0b2937cc3bf497b664d61e90705a88c00133340398000011af766b913dc0f73b33cacb02f8dcec47681fd14d9a849b752efd2656038db9c7f14888dd849cf9d5be7498affcf8b9e86c91553ae354b96e4e0b36a19b030bb825f296f750b8e54f047049b8a63290256b49ac762ca420bcb6b3e6a5ef300339c16b26c0107204e0cc28de1c2d5fda997e47705a3b2f584f3bd4ac093f5210036bc4855159bfdeacbfe7e694f97aeae05361a1d64be81ef6c68b375583bf0a160219ffff0355fe488545748f585f8eff925e58feaed065dc7b1abdeebc0483cae6518ddbe00314cf8752a338a195e990c049cad2643e431283334152fb32b96febd89c8cd4c90340de9664cda099cd84bd320305762f1ee4f5f2b59faefae7aa37883712320642030c2e1d94efb1356eee1a8a4da712ca76a50d780441fcf4cd9a227bb7dab50db903133cbbc7da1f8e70b0aade69d95a2f75b2b962c9345f1488466a7b6ffc58b5a3032d8965e0fc2b6851e19eb75e86520dda10c5f7ab19db18644e5b789edf46c8ac0327b2b64380099142d3a66bc03a082175e3d210d430b16b7aa5b7da63678e1b2f0313a48c721d427779acbad25bf757d51cc39e5b04ad53a14bcbe912e8e28c639d03c0be33fba9f14eec6520710d942de559a7384a1b01c193727873896cc8dee8ed0372dab59a7c7c92e5484e7650fcdc746b94ab3c78b21abce3cea08476388d5c1003f2117804f2733779a1bdd49c83da51d55444e5a8db9ebeedba51f976b8a7c3a403cf1b0b3ed34dc380a9cf0cd2ba45a1838c594d05fc38951690e5c8724a49990303b80addda323dc33e98ef7861b6c67071141f2fba803f355b755bb5f4c411a6d30219ffff036e5c07362f6bde281de7328069854ebb0f59a526cd7431f5aa6fae034d04d45803e923733fe95c51b6c7c22716ad389922df8c6bb13fcb206aee5175addaec22c4036379214403848cf6b86fdcd42ad79219a0f7bcd7c06a39ce5f6d27608cbd2e0803abeb27eccc2be66cb4888052a3f5b17e6f95e4b048db1e37fb9d85a88400aba0030ce6b68cfa91bdb30be1abe0e58d23d5e9259f691778fc7801832847c07246d9034a455090640d5b4435640675547b9a507426c375d6cd1f8ea635c8483724af20035849768aa2138e8d660482f7675078465cdd6cfb3a8d9445012ffad40cc51c75034db2d0985156643cdf71cd7d6fffd2fab5b435aac17c5ac70e986e04685349d30334b13677e7fb52b118b7fbcd99d7fdb54b3e1adff8005de46877f67e8e378dbd0364329a22cc1926c189e148fb6374edb69ad332ab0ec4a9592af5dc3dec98f2b903693dcc2ce257bc960f65a46b123c0758c358dc9d33248700b5a885d7b2dd8b9c038c7980a3ad88d4e7a7e8b6ee8f9d9b8d020a1b38989bcffd1623018b5bc5d82403a99c3f7d60ba7be0cdf2642c3b69102482d759a3336bfb6425ab6291f3228d95030b99c82213e2d216e05b27a912e9221af922f1afb2cfdee038be549be406bc140219ffff0332c9b39e7009a8f897c657415a60d441dbed0bfc93dae9961c0765782be02e10032f7f82f5d2eb0ecb5bc2d086a48327f0794d196ecf70744b73b6ff51932e3da60219ffff03a367cb82622b4e4b7aecf10583e49bf072193634f1cef608101f3ccfcb2ffbbe0387fa35a66d44264acde2c29293593c639ef02a027e3d7aa5af2cce676265e68f03229d6d5fafb1574ca81856974add9c54987bc2bd2d245b8492246b8d1cd2d88703167d76e4412281c78b04bdbe5e76b7c8849067375fb1515865a78e5624a5607a03a00272d713caf515da16036fc19557c57afd21d6a85fa0020d44b62d8ee12514034f0c7ff442b847c5263785a0b60e39b7fc4c61527ef6cda4495899efc636cd1203b2eeae5e98922bba81439e9a5af153bf7514089a6fb11ae5aec1970ffa47443403d0d455583f514bb80aec0df385c6128f4194975917bd6f066b00d5bdcdcd3fed0322b26dd54560afdfe681b39006322e13c7ae488cf74b07455c8fa7af5e6a2d5503df5ee13552e511513207e54a883c14541d5027daa8b14644457ff896a945a17103b89a23232272699cfd677b735b86c9d8581743c89da1596b7b9c67a8178f800d03ad045fde6ebfabbe3a96ebe895f140e4fb8028b2b69a2fd3936a4e75f3a5a0ea0320604a64c8ce161583780c7a87e178bd3e52a78015401c284e536dc64217728d038499bcec2f153899aca16b78562210bac4ede8a69cbf8c5bf130cbe746acc46003ed9e26a1eed3b69fc71520c1ef1da7955ce9968d1006eca50062cae9291e1dfa034dcb87c2491dc64437d44ba66fafe323959f99ff06036d7c1c81536f03ebebf4032468d7bd2d39b9deb11ae773e7c5a8e33924bd38c353deb0baea286326286bb703434379936ce73ef1524de71af73776cf9ae6a26e93e82fb59169da77e5275eb903f7730a4dd86ef817087bef690659d23bf60828907540a2e2409c9e0eba968b3a03d2d2e05aae8430830406743f1ab2cfd195858dd0b848e706d269e381b13b472a0376e5d7458904a670dec070b1f92556ffe2997d9114bc78a95e910a3d993f453f039384845450b0638b98ae9ea1295444e8d30af5b9109029ec6eabb13fb213e7de034c37163224c0bdd10734655755a9258a7f18da8e704fb1511e255c3da657b00403a2e9b6528781ee18238b0bd1c5ee605a8f5a93023db0f0eaafa986306fc4b6f7032e2ac0d9f786866b34ecc2f5ce7b8e67840982f971d449bcd9348764115f43d70381da1339cfac6bcacb36819e5062722bfdfda6fa97fb950ce94a1de5fd8080d00354c14208048fdf622bfa736aa9bfdff16380858bafa675ee0ceb4de1f5752601036606f714461c3b66c53edaf27c4fea9f26c1a7469787b290a0b8585068d586c103ca6455e7acc3b19c3d716cdaeba2bbcf241f0ddd225fbaade46732b31ce33ede03a7e6a86f169c74ea25833b2fe2dccf319a7f950cd076af5bafe6cf5f2e35e7a2039c8604cf0a0622c37f52b359aafc5100083fcf733aefa278c46d6ecc59e858f30343e5e3bef3fb448721291557508d6be877429db24d3b8cd27fa07fc268931bae00581e02a8107c3fe2a98bbf864814052f9be6efe9eb81505767e1d4ea35be46b244037696b6031b3205424d8b5a8234982ffd0509e54fb289c63024c7f310064c1653cef2b59e00581e027cff1ae9a75976d98f652dee69700caecf663c8ce8d7bac38d8bc356bf43033450034f358e3daabe6aa590cfb661001ba020ea28fa5952dba97b8fa3b20b57848ca900581e02b1d4a7740021f86dea8cba45437fde4b568165434f2387a9113f26b9bd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0359a1c110f5cc0bde6f6a62727b6019bec2364250bda346dd70b161e1f68a871600581e03f50127be97bfe6e4e7167cae87fd98f35098c4a37eae164558132934504406f9474000581e0382a1b1a32560e3a355549865e456dbe50b8b3bef9f6de427f6c7c2d1c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219140000581e027346be432bc1547369545a3b1b55a012c66a14d0bd5c7c8a6b7c7003285820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029f901ecbe37beebffda2b6ccee1badffc0db2e41ea12a81847ee92e380430d6d6400581e0253cf7588951032771f75c61fdcb38c19baa98417476d6da3288f8fbada480de0b6b3a17cf58803401ac27d1ae31081e599c14682cbc481ae4751358631075a9e8686e083512b310219fe2703cbbcf802ffb8d6cc2736e9c87e52abcb3e1beb065f80c7931cea064ac723394603318b7f9765d5c0fcb6188e365b027afc295ff3b6f8021e5e32880ce621e290000219ffff03b9d933b2e631097413f6215db0afcce0e535d6557e713c20e8cbbfbac465c57b0382a12258ecd774540df57adadf6e8a09d598968480bc500379f13534f257f34703a04a412c3ac49e5fa19bbb51c8bf3a9a288c9a62b277855cd5565ce0f55bcaa003936a137487a09cfd7b8fba8f600b297482dcda0cac123b0e8a6a370166ece9fd03fce3983315116c4f55295535cf8bb137f616f5f7f641893ca6ca4d84f588af6403c8f24d916ad13e1211c1741162af6e7dc46c72388bb4001ca11940aa01c963c9036d73eb1bfb79aa18230e3e061223149e45c8bbe6f0f633311c59746597c7a5d0032a4cd7f0aa9243691d8c39b67d23f0df800fad589293b6726e649ec22f99daf503d78553c03e737571a66d6b398b396c11cf24e52db06626f0b6bdcacd0a828fa203cd94b8446021fd24c7d0109cbbbbe450227529c9cc4d2a4bc7077313f53fd183037b4c7ae47e6308fa685f289da24678a7c8c169141919703457f77bce1fb832120320839f1a544b7d654a950ee435d855abbb2c9918376df43e7f77da78f52526340219ffff031ff19cc8e2806a35f66c04e7cf62e365a9727e9da956323bd707e09603e7d7fb0219ffff030e229beb8fa233d7b6d4652bc24130c926f9b86a388edd66bdb2029908ba8b13039a1e9501dd416f2fe61128578c469968a87f6422f0b46f9c33c9291031621b5c03fea5eb2524008db403b3f2abeaace3f43af5894ff14baf3b5a764890c1e79e5c03fc8f88ff4bf940223eba35f641a169e96fd646ad647d60bb9cb4af948967e968039e2ee03641788603fd3c3972ffaee5d6309c8a4de83ee84cda48329aab7d7fa5036758ca40fe8a4a65785c41ef0c291019b7f9068db261015df90699ab1c8c3099032f381510f5a3d26e994ed6166506432611c5f86998d67112d063633db9c8e5de03688ccb13587252bc4652c08ea1367cb22f49d2adffcd39e21d6cabcbd1125f7e03a0b28931d0e7e7775e96b9a5f50cdff6c8f088c27b9b25bcb7fa4f753ae35c2c032b3dc9ef3fa6207453574c01cc426c0f8e72ca0ce6d3b3c050104095f0c8850d039ae6379befc8e4e3a4bc95f2860099fb4ded49f5c43c81dc91952b3eef9ed72e03f01d828b0a9c391f58c613d1ca7df891da4714aeac55970d4f1acdabd59638f503077eb6cb73bb5cdda311abe92b466fead3dd4ed950d1be75e83d71e3aedfd2b40359a2aaf9d68a7ce4d30914bdda6a987fbaae3915153b1d4389aacc5a6c85da1d03d88e6ab9750a9bbe46973d62d7dcfa58b601070cc9b631af0b733cd64966bf5003ffee6cbf03ed190e93b75b0fa3c26b05290f3764ca37a50fe7897c45d9ed561e03e1e10b6bdd0fa8cb4aff02ebfadcca9d07884c3c0e08c0a7fcaf6a726efa13bb030450ae0699f8d2e63a2dbcdad203f4a429336fd768a05429ac0893ab17e991430362383e386ff4d1b9f868fa2aa5f562dcb4fbb7258d7accc8a6dbf829ebcc1d79038810272ba9b6d3eaca7a570e2ece968c1594664d5d58fc0d60eb9ebf31d0852503968f64c8b09ffcf7269c2e45e9a8ef80cbc620b2e99648df4b562788aabecd91034fe77f40d679a144f0d9c86af04ec284c4258808135893462c6651b263ed3d8f03725b144b599a1224aee1b1ef727fb55c56fa75337ad44d806b3e8e0ad40d2a900357e3897f949e381b2423d4d71eb5bb4c8e9e3722295d377ed1078dd1d9b920a603ddde56d8ab10f2a4579b9a0810d56a2d83f00027ae38c28638cb0712181a931a036087dc450e5cab6a08becea34dc43eabb86afedbf447e88c9de818882d7acc56036677c4a94859dc0f6b30e0aed3bd0fc628ea5e0b491eca5f61aff82269231b4103c159ca10061eb73fb8554979b7eae7d9f77f716cfbd41664d4c2c013b1eb26ca035f673e0bff00f74802db16b72258505755b4c87593b4779a6114d33beeed6611034c0f9985dba6b24786b2edb043ed1e2093ff0930220bb1e6b114145a2710097f034c3c6b5d23765ea897740af3faffce958cbf79aa866dde97dffa1dddb9c316fe00581e02849eb39bebef8aacff59ae9d573940cad0fc42f35b161b7b9342fd74c244038444c000581e027a773bae7c57c75e7ee1abb4f97d9e78403e1e3a2448a98d16a555eb0645023985bc5700581e0276b7cd43b2b11bba6cea69d745a2048425cd8dc535cb622f2501e206f94405f5e1000356e560ccd280bb2198927b7064f84711896a25e19c04a0667b235432b5075e9500581e02f4b3e87deb174a7519a38d29b761e304e640c843588f7b72c1c33be256460243cec3c1c000581e02edaade2949ee01d7686c6066dc5f7e9f3b14cbe193f9ece3fd80bd188043053e9800581e02cfef7cbcef12997bcead9feaade5c31692ca72cf17c98bea4509d767975820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024c290a3a31fa35715bdd473751d5eb15d7312987a7e89a4748ea8ac7035820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190fc503066bf9510963c89997ca20a8bc01a26978d4c1d4acd2a168c5dfc1469f0229700219ffff0384b82a9f7fed263e8d3018b6cc28dd3bcc5f76497c03ee65997587051179bccd03028101fbab1a24d7af9088709f4641160ef22301451130c6301c5592af3baa8c03efdec538f69e25e8809fbca8139115790f224a56488543dd7719a28401a41584031b419ac9fc93b96993282ce51416b708d878c4f542862386d97c7f99c66afa53036bd2bab732c85c353e85e9a70e3b5aeb95188857f20a6d3bd2807b2e5c6976da03b9f88810763bcc3e15d4531dde1bee2a6e46b25fb4d4fc3ab69e089e24b4b3db03f3358c0411d5f2559f8c63087645012956783204a9f4f0786afb62bfcde7bc2c0219ffff038a47b60f4cc6f0721151e55a524366883f3c7cbc11de04429d244c7147fa95670363c8ec694c187a2c1ae7974ad1fbb3e9ea15abbbebe86ae2c7143303be62e5190312ccf28b3a5bd817ac46fe59724a8de0ddee931ba399959c6939ddecfd1afd2e039d31c34c0c73b7cad3441cfe735e9ac9e6b35d7e369ab931d44971a6835f974903bc4ab30d937b7713ab5372449818b1bd796abb3489cb3e88d7bcfa1559fa17ee0314a55e437d6be190bb13f1619f0f6e6c2af2653cbe4c729cb1adbddbd0d8c5f80219ffff0399ff89b1f8bfd822a2bf9297f414330388c9baa49e8cd6448f9870f2689b1c4903d6ad8f7285b44f63e885f305d501c55f901c19309f69fe779cfed0465d8cc8bd031d96d11d055569e727ed81f244c343adaa03dc62ba014aec6b462be99e2fc76f03ebe73188c16b088f587cf223433e0eedb78ea2f1f93c0a56fc52fe3d66bc3856034d9adb33c5355b5ed84a5748e0a9219da28280fa23ea52fc1585cd8d5f26693e03ad9664d495651114bb91369d04bb2d10f9128a8779c85db16b53045e05d70cbd03282309ee18f9e6257c0fd0dc1921917cb08e39f8859e7be34d3073d8c3bed8c203a4669011d7a4595f844361602cac0add8e860212bad9ccfb8c30296937ffe2e1030a404f70bf3b1c64befeee8f0b77f25aab9048e557ae84657b4e2d00e323b6de0338a78a4d4746edaf005d9cbb22e68acf4e136df9ccb6ab755b7020a55db4cbb60383c0e31f73d2589d13f98b7adede13e4a2911256bd20477ae95363ebab700bfb0341ccb7b7f0b3d57dafa45d21d5c5c85520550f04b6ef591bb0e525a9cad25ef10219ffff03ec2b092a8a783d2bc91ff6d6db18bdec66f5a3f7580846d24b68ae37ff73288903d8a4b13386a0ca318143d823f06f9e1ed2319db217f14b1bad6b003390ab9f760336e9447a3651ae9a66ec9ade7c78a511e364287ee565997a0dcdcc0075e8279703de94f79411028e0697b1cd188fa3dc2a065cb51a1171e9eef665eadf6347638c03058e0deea8da75fb18730e9610ae154b589751b9e4e58116b83ccbd1276248bd03dd7e7ee61f996665694c203c4bb155c1e5666ac5897707e764fc21974bdc3952030be033b903b1ff5b4b3664ce9c7cd29494ff9719782d0801ec2fbdde840bb1d70379b79be05ee5bd830b986b00df23899a08908eb29e3a92badf1821137670d00e03b96e3df8ea98c17f43107d03e9d4ecb31e33162cd94f523822d63f71b749c55e0328fa6b7469bee0b14a77db9a9abf4546f8a12c96132593db1d690dde876fb88f03181254cef901dce022287cec647dfbc2e4daa34a6b8e413005b19c4aee7c33e503b9fcf37dc3e151ce641dcc40b01cc3ac3cb84c7ff48d824eacc29748a8c3265b0356dafdf017c88a7568706585ead35bfa0e30071b871462727f9ee15bda35428a034c7cfe7a39043322f3e0fde30dd7110adebd847ccc01301ae0320e4821b1e733031dde31c8344734ded3ce5a9f79fe9ec32f2eede630c8db6de04bd1be2278ebc2039f57b41bb3e061bf9a3dbdb4e9df9f84cc87f8011c62d9d50bdffb3e3269845d0367538f883a6c92a059bc9fed98c0637c5296b0c808a215b3150c54d03b1b717b03c80fa142cdea5e859932ea4dc6a73faaafb3a744434d10d4c4dd06d5bdd72d1b03a6fb49d4a758e87d380dea4f9e484f1b27a74845bf19d499f6485726323764c4033238996a570642be8128c7fddcd17860f20c6fb228360e5e46efa5370941db09034a31cc207d09422c3ba1788a665f630e3b4db47ee677a63d18cd301dca43ad8503838aa5c843de5c030d49822a09150cd598f367c747e824ed6d7886d09f96c7d203f83c6b52e3c2e7fca1b07155d2d490c8c93bf9b20ee0c0993d477b5002fc6bd3038d53e7b7f1658a8250ee73cc41229158ae62a03ef7042b23260167dee2d48463036b0db873e82aee0d55377dc014a26ff63f303b4f87949bd0802f8ce0f1c3084d031147ee7883ecd5b56dd44e56f4845dfa8d908e3c1b2b19deb233a35bdb4db31203f1019ddf8684fef7e8665e8eb6cfff9919700c83cb1a6591ac904bfc7bdcae6f03412f1c1ef5f165ea1a512e0a02148b4fe4478db7f968e9f7048d6e3e06d5b0ec03430870fa68d9f8b4a2003d8b80bb2e07d00613bdaeab70356e898e28e1c6b5db035685b93247fdf1220ce1511893a88d02a8018b6aabf5065623712699754b2a94038b6cba55895df0ee3332bd823d3ebf408a242dc9f2195bc47c7e5f533d12a4b103393c13363852c7b9478f30a4ea8c0ba50282a9a5768d7e161609011478b4884e03e34fded538f7258284a9fa2db99a809fd57278fcb93814870782a767a639316100581e02eebaab63450cccc3c3b512f57289c4a1f02340f57000dccec7321afcdc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02555423cea9107bf6737eaf5696a8d310084ad62337e07cd1b6f3fde25243d59f8000581e03a117086105d6287abbc6ffc3cc7b10223bd7ac7653ae11f17950496c604c204fce5e30444babaf88f60000581e033f136b847b2f913b5d54ea75dce2e8bb950274422db9fcccc6ad680b605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219081000581e022b6f54a36c34462288ff541ba700a08e5e68e098a62aaca40428f7abf6440b71b0000382e94822863bc27c2ebae8be31889e3531d004659722387a7fc7044bd8fa5c3d0141060219214603dec53aa6da49e279265991dcd45cc892c6958ca9edca5b7c044c3917639c5e1f039f6f33ece1e2667801d3c5bea847fde87d4382461cfc81377622c7c5834ef81a034199c344f11bc7befbafb15215279aa96cbabe8be06876fd1ffdfe1cbd05a7ca03df3a8c0395d16d3117ba0dfec34ff55ebb5026375baee00e707c1b8a67afcb9f03e82d64a52a54119fe2485079fa92b795c1b81b15bde13051d48f6f8a3068f2b403769819bd451eb83bc419fb9c6c4b7a48f061a6d02f7c210a81c4a3a36f6e022003c9001ff912df4ed60e839f0ba3e023de485bea99afd881bd923a942b07b0647a0351b1dd3cfa87726e6e5b074c2ad6365f902a9ad3c8ccf473263a846d0a740a9303275518df1091c0eeca706d99b4fa266f56dc88b338f8c8572789cf5c56078921039fc1c563f416976f09c63bc81658d892c6f26daa467d2993cb98fcf3fbeeda0d035f63e661a7ecdd5e3cb47e65ac18875ba3787bb0790f96254caeb8782c2ca8010370a89b5eb25c666528b88de1d7afd72956e97a8a3e6b5d1acd25fce4d6caf2e403ebda23f995b3785272950784339ed0ea5f2eaf8aa98f991861c0384b30a4e7df0219ffff03a8dcecae2650e9a50d6028fe58b34a01c4e31cfdcc3e7b0e0540c4d30ea3242903305eb0b14573245ceb7019f8f6581740c4e3b543bee4efa5b1b2bfccb7417b910320f5fbb56e9793ad4e0d8d6b896b7d51c1a9f5f4f6982e6729b308631ce56d650349174ababae344dbc16a1ae98e09aa8fd667fcdf3c5f885de7ba23613f1384a403c92c78df4e73da5d81d86371dd463e229d5b0b4205956c669043458634cc35f90219ffff0219ffff03906402c55a6bb6f8203ee7e9104384457670b9c62fd3f837c9b014b4db149d60036d10a1836a4b8ee3947e76202235ce95cea180207193d3ac79a3a17e472daf5003a7e0643f8bcda1cbec7e0e9679b11efac8f3ea4bc7c77a6aef64c01800b445f703f6b4cc9e272f1c17ed123607f649a85c04e08f60846834e7ff0fe40e7638839703357204ff298bba6d3e574f2821a6c3026e7769c3d90fa601672cb997abe9c2860369883930da02c046d403d7dd3dae1fa70e1d07b9e1d125b91a31bd886fbd63bc03269c12f0add418e91dc9dd3cbad1d78e0c149315b00b067ed26663201e74b4b9036cf3b96d9c836bfdf0679266e4d39dc14580fcb62e93ad4ed8163f2019c6125503eea6380457b651472087a1b5444a7a644586680d698447ac9e8ecd2fb67eea0e03e51b912e101c5f55cf42606e86e0a73edee31a56dd3f799293627d2f8a90f16503e2d57054bcc560b545d70a8cd9ce68d258b9fa948ff5a91e81273b2e5ab6341c036bdcea368eb23917266562ab97f73927b795b0c00aae3209be385b66e6973ad203399b9d6b94db9bdaa387f0528552afeeb50ed2637c56a7f9a758f1c9adf7b5c0037ed8c76daaf2d3b0d918cab646c4afca27bd8889a228e1ffc5200e5bd8b601f0032180f4e6e677572bc1293da3905364b1d1b36aaeaf86af670a07cc59eb74cd13037a5f17df901be05d7915acae4ca632254977dd30b489e40925786c4e9745f9fc03fee294f370d27620556b6ef32e9b7a7b7965cecc8a48488190549cd176eb2b3403aae18df22c7b85319744284c27a13754f382c354fa33d2ca7e82aa5ff4576b7b03477f38ee47257fa996091134cdcf98a3b15b19dedcb86e388580a75e4897029603ec9ab4a6a1369706daf1c818dd6b556f1f1d1fc4e94c7f3dba4a37a01a5352c7030f18cd33c7db50097e0659a4f113c1db53d77439f1b0d7f449e27933b658f59a0357fac43322045f39a9f2c593c83bdde3c0fe430afac444261a0e36b3169b81b503cce804f7133bba30aedab8894cfb0ab41f6214aa9ef66791b9d084a7bdcdf9c2032b50904a724f5d560d33165bd3b84e1854cc8d09d96954fde0e6eb1e1d9722fe03cecea4d5b1757c40e42f42bc4965807fbce56dc80a7389374b85e856ca26300303225ecf5889798432996e0931a5a77083cd706719ac154600b6fc9cf8cb50a9d803bbc25a7622ae000d2c142a20746e63c45a0d951e982849a53828c0f3a3d1156a03441cdffc7ef3bbff497b44a988418693b54bd7dcbdaf05126389c86d868a1fe103d9a82ab9c534d72bdce74d9782ea51a2a75f05f7fce08284371773af398e42b203a354d55f76b75413fe6fcadd62ec0624710083858bcb3f3268893107abde76a00363ae9b0b0c900f1aa2d760d422f46aa70874bdc11ad25c4bfcb5d66603b92c8a033492e4e8b82c10ca4b88e5f67a78976a1b83c5dabd771c8da9003afbe726e85c03099126dc38b352177b4038cbd8ba14f39b70f947e9b43a668c54200a945a6eab03189f3be13df4780cfa9dca4fa043b93b498ef8724189b94ecf9ee122c74d36a2030e3b87abdb62b59e476d99795f2133b025df01704874510d642efc9ff52cf595033ba1d0b330108296c2269e0296efada9df2e9243694fadc01d87fe85938e1690033135258a8e5bb5b245983e1faa1894e8dd7a4a39a6b3101f108edef88a5f62bb03e337e79d02e8f484aeb659cd9d3cace45c67c9a3cd69b83bbf6a98d94887b738033a10200784fe81d8c6e5007643698029a400c3bce50229b3a924f2a59052d504033a8d72afe0d5bcd1eadfd914a9d86dd492eb1898759c37386c695b7a18f8e0d000581e02032d51edb0f038f3eda3f03f6f70c199a1ed39f51df9b5400dceac46a15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02829da5959005f5b40b6808592c6cd54aa4ff17777b4d659ebf3ad917e94633131857a46c00581e0296308abda6f7f79bc8dd8038eb0ec3121469ab073681715664b184f9ec430a1e9a03dee7abb8ecb3dc252f1a3229ed25167dd75a4b8765e28c47fd79f427d302fb860365a31efb9e85f8581be45d786e5a2df4579f286b4691699ff3bbb9b70ee65eb300581e02bfa4144878d25ee234f1a05bf3bdb2811c1fb5e7d921b920a665c175a444093f511d03bd745e6388f4f4e22db867cc41eb87734545210fa23b9d5a755d301d99a64f7c02192ec1030f7fb073cc62548582b549b41a55d5ae597a88f4460568df8c2dc4d581064f300385f7e853328627490f1a3512466d1ae4effa13f3d7cd7c536a9812311cf126750339b981c69611dd131d3e96fc5fe7681898f4521c6beef641f60e133621cb79c50219ffff030f5082e4c893ead7cb75454895288200fa77baa69a41e7b03da465a22fa7d717038b89c08d0f9a14c4af33ced6bb0b5e30f347ddcc46b1b181ea9ee0a4084646950219ffff0219ffff03a7d48d86f0299d0c740a6acab3f248ee1993975c6f77f1af9d836d9b48a4466803c48881f75e4d94dd4fb6412cc5c46675893056d134f7b253d318c3d5adf39b6e031c0ef1b81516581a06322d7adf6813b5677b333ac7e39bf7c7555c4f1f5a61ca03a612b6edcb9be678011ae2d6e34a69055bcc25c90a4871e8413ad77ca92ce53c03b550834810de92eb84fbbe3562b7fd5320e7fcd16131ba30a89083b0fdf5d4220368d7f151217147a3eca1fdf68c489e38627d2a8baac1bc087dbb02b9f31a9d48035521b77aa8f3d40b0ebc6299e31f390955eb635677fad550384d5f37872a1e270307a2ce4057140eb2951685c7338012cf05c40c84f98b9cc70ff873f050dc8e2b03b33d46ec159f1999951ca6432e97a0d03e9b8ebb567cfafbc93c4f0d248edb820368d81d31760cd945478f210b6e192c4acea7f0ed5ec6d93fdbb6eb3a0fc5eb5803cd53a5c186e265b469091ca12c218530b406c613986af15790e10b2970e9fe4e037cbeccb21e23d7aed6a7edc1affb38f279d6c6b03ebe05caf50f1b15f17b0dc903ac2b72f7bb6d113c730e3bfd88e69ccc5738a1e139d8f7c43120c46924201af30384b3e45acf72ceb35890d4147eb94560fa2cccad4df3e03cd4e03bb56db39f1c0353c05eebecfe668b8da734168fabee4087f07e3b10d1508ce5ee584d032db00f03cac84ab1f73b255cb600684498220a710d8797284daa85da8bac33f55a5c599b03f7187ef177a324d0b8553359a9ff140465fef92c0687ee8a55c7393d4dff7c55038e714dd3dd5494f1477f789fac75b4e74a5fd43f0b8702f91c9c58a72800c84b035d53da47bc3bb7e21effca41cb1633a3dd9527d0de10c086d17c4fb81fbb79ca0360555a354480a86fb831973ca1b7bb1f8b28d88c3d99a448851c98405a0673190340ac90cbaa5765e8f6d18e422246ce6e4f81dc567d1af119df9f4b652c366f09032e2ffea619d7e94db60e5fe91135246950c1b4ab524ad1ab3cf4eb5c643c217703bc8dc035361ececf2261e995845f9a43881cebfd7de7c0fe3db64414f2f704460336ce558075eb5faaef37b73e1cd8baa9e329e86c409c294613ac1e1eef305512036b4a1f4957699b76d053eacde05b258f71ce9efdde74f08c6fe3d7e1636bd3e3030d7ec7dfa306c9ef70685c50bafe532d4f36e37c7705e028f2fefdde5e7ac3640320bcfede2387734454fde81c205638ae09be5dc473c7fc41911b486c054fee9800581e02ceaa5067f8d7dc9a7ee82af71f048b832997b909167fd633ce29c206fc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03514ad6ec90b5a3dc17019cc6c2e7829579df3320bd43b0ab95269bf37045012115208000581e03d594d176a788287222a6b163771c8a2ad22abb708644ca39652d7dab004301213002185000581e02e0ec8e624ddd872cd970b531286fcd1d069b74f0619d18533c205677d14402154b7000581e022bbd1e023deb067e55a535049bbf045236535f15f2cd019e7c3aafecd4440fc87be900581e02a08bd812517dbec50560a1eae224b1b7e7b48f1fd850afe6191e9d943b438428db036370c32a9af71e53301f9e79f805bcdfb8b8796a28fdf7ef812b6b5cb88249f603f521d16059bce87ea8fc2b7e34f7b2ea0bcbaa92cadf532468e9f24adf71b5a600581e0286b65601e0b8f9207340d473ca65fc7213c8520a0dcbeb3c171dc2a98e4381b32000581e029b7324fc4458e1c8171b2f46adb4d28c69a1221536cd9709270b1fc9055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021993ae03f80317089679fb0bc13d15fbabc5ee89f5b95af0238a2808a04eeaad0296a68a037592e887b16c35d6ae7a20af5e4a60b40669064229e0450b72071d23e891817f03c9443e2d403ff0def3039cf6abb7762bf32ae1e151705c222191c1705cdcaefe0390b6ad73de4bf9f615a1e1037bc50d27b14c8f073afd5f7c860efef79aec21b60396fbb4e37a2bbdf2145786e0680eb8174bce345c913f690503a910392cd4d4a003effedf0ed8d37d56cf1613cc5eaa1f4bf4c9559cd5e3aedf1db65f438866307903dfb070d08f449cec62c3cbea0ceec69314d70319bf41b45e8a8f71346111f3fd03cf8391e6e96dd6c7bb13c26bec4675d73c745cad0fd1daade472aa60aad6e3e40392e3ecb22335000953035a9c14656652b9309bd1b249545eb464cdc8de4083a403db7347d97822c2dd7703b5c6de197deae4c7968b887f86f8b31519a61f68a3560324a0b19f24e648e4b196ea0b1dd0ddb849045aefd539e04c4ca3d8a8e6a87b780219ffff0219ffff039d2662fcbe4e9fc25380c426f943e507f2d59abbee18ea46a8945f4490adab7a031f9f06462a5eae545677041c15e6e5b5edcac04270ade863bac4b7e1aa7eefba03e8fa3745ff3b189ee05aea76bf77bf38f8f5f1d79fa0896ab96ebb37b631c052034f7a382cd6578915fe314d72c8661c609c6d186798b1a32f5de7caaeb5d631b5036b5ba94908a6b018fa895eb6e72c4fe2d2c05e3fd397dbb1750db090624e7e8803dfeb8a9769c70bb60abdb47c9d24374ae89a6121e980fdf01d58da8168465a580377ea55721a21f3629052c76331774f600955f6069c0c32ce56bcd795f8a94d9203ad9c1cc63cfa0f284be90d5ea5e1453a540dcc25b4cb71f76211d4569a37880f0219ffff031291ae4db75696cbaea16f4d1921612924392d67e1b34603f50b65338faa7b8003501bc5f52c6859143d9ba2a5a189b4be6f7dd1bc6ceef86ce6d2843156897c0d0312bc61d9c2e27aada107c58508ef19c616cdf673fa2e9d765e8f24eddd4a61b5036c47e711ba819e8ff2c766bd84265cf13d8d071aec156916697496f4e3c3b10e03aa14287e2451422f734c07e8b477047567f8dc579bf724ab85d94d1ce152cf23039192660cf8035d722043b27f55e2139d340b9df0aa5c49871ca47874c4fad675031fa95410973ffe0b8541bf604115c3aa22cf5812da5ed2d3abc3cb3057566a95031901a4813e6faba221f6e4dadef22cd6ed0237c3c66ba11e36c9b095c3f7904c03742c2413199fb03ed68358a093c17da73140a73d5e2c3a28712aceb00cc1593b036215faee21d815deab7229eae3b5613f4c78a96b375fdf02a297ccf00daab5a603cf24f88304c9d0b6a6ff64ffcf60858d99f8b32bd5b0c54581507a141d47557d03eae0a8881eb845f7679f25bbb1f4afb5bd0c9d04671a79bb9c0363fe9d28c88e031192e83447fbf8b7cc6c207122f997ed742f7f1d47054ee8ebef0731d962ed600356261ad1c8ee2bbc8775159042e374001cba396206c73bcf663493370f9567b60301161a80d5793655652e4c2d29f1c8bb82173df173451201253d22bce212a6f4036ffe77bf5e0b6a944d4276ca9b9eda100a53d6fc792a9e5bd9c68d21c84c58a203e381984730014f7f2bf6f571575bd991c57f86153c85f22c59ce015c8645a397034880afc4b65cfcbb8b3b2daedf6ceab0f52bcfe8fdca93d9d082e40dd9a1a71203752f95aae3e8b2c568430f1c9559afce82840536da98cda121a817a1ebe3de37032fb6f81580f95381b939837f9437133f13edf20de9f79da93162a2d764cebef3032b8f259f6005c6d517f15eff3619625bc3c38aaf0dd0b4dd81b12c7096f8bfc4038bdeb535c01a6d1f3a59d4b22709b2bb17d5f7c739ea88d4cf3b1e763e532a9e036a1692573294779563c1cc19ec8d2490fc6c0dab374b4e3ed4cf1e03d016690b03cb025471b2bad90f08d183c46420b5e518572938416997b2a75b6f6ba49d37f503dc79d48071ad06c67838c5f35fe5ba70e1f8a88829e435290201290824098c22034630efa157c97425bec666147054f7410e23f23f79b685ed1329e632eca150230369edb1e756a43d1e080bcb73f989cf3c1fe744cde8b84d62404e6d56d0bdf12f030c452e51dcd5830b250506918e99d3e887d169b69638c6f2b3eaf9be56d8119b0306731cc8c5e95f1e1760059d007c9a71e4692dec2d593fa26638c55255c08c48030bd957c3a3d2c32410bc94d47f6b0c98e3beb3ba00164c08daba0a693e4049e603a9877c73256ec942100b2872ad85c70e13f1a0bfe944b182536f1c3c0ec98d2e036cf67963834ec7ca8726bac980559d2ba93cf06ea7b920cc5d95ae88ec07cf6c03472c0162242d443113f72eb465fe8c6e184083234303f5e261e1175ca67e7d990302692d8d697b69fb56933f019376eed40f523b94d888dde505dc072066b220fc037fa2f0133be24c8df8a58d905226f677d4d2cbc3f8b7430a9342ddc12f80bc7c033f69dfaacc44f3975b473c8cfc5bfe29e021c2c9196403a982a0289f4c5b554a034b401b2f870b01d515c9e274533fe0577c06f55e8faf60d331e30758fc49a25600581e02a83c8c05c17695cc393fa8a4180303ec956e78ab5d2e1739682808b55f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ad36cdca77374c46aaef9628eb36829b30332ef782067c722f2e00b5d4410300581e02f9f355bda43531bbb4336a6fa7439b61e16211d8cfd28cf3b000cd8ab4471fffffa2997a3f03f320036881189a5ac443ad48829d97d11d3324d33748591d3af8b45c975741f000581e0235bf619cf7bc21ef54508538a77e7030cf2fe30a703a30baa0afeba62f415500581e03fbbb5a6e6bc688a9ba1b4f40735862e897330d083dcd67e9952a670c604504794ad41e00581e0378012a6bb663bafed85e1657914ed7b9daeb7805fd628e00964c62a2005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021920800376499476e642a3cb00eb8f703275d1beee756054c3f64e61744cf0e32412cff900581e029a940fdbb37fc8f3d5ec81d81e9e0047f47b20f51ce423357d1378b1cf43e4f68e00581e023bc0346d358fac635c8739a5439f6d575e495fe6fb63f67d5851af5fbd430f41960219fa700397fd00cf990c434245170f8ea3a0c64cf5b54f73f6554ae4600956344f4a6b4d0313983509d681876e471167b4702ab1fb416533dbc7c9933dbf843ac5281ab2ed03445369261a3488fea9356da1690b8d61bfd776923a6b9ae3d8d8fdb99ac5c9ae03d1d61c1fbae2953040beba5267407131d8fc505c254cc78338306f6bb8833ed30219ffff0369505c672007ad60bd46604232a25a74770f10f82ef14c69b668f637ad8e0729038d0ce8956955bf2d55553b954ccbd6b04f396cbc8d072b6bf714b2089ff1568803c63d36056c5b549d2cd24a37934c9f47280a3d96d9df073cb2875261723c2cc30304bc602af414341346d6dd974942f582be10b3951a573c9fd455a25742fb5a1803b2fa9e765e475bd1027ab5e4a8f71d0f920737f5fbde8ab7596445639b4bdc8c030d9efa41f513ebfa01081487504bbdbbab65127f040a372bef43cdea699e65e4033a40f6ea18057162cd383480531890ff53be37b8786537d94a84282807eaa8990219ffff0219ffff0355c9ab37619a729f3572c56b16ffbe3bd3b1ce62174772fed26a519d89ae83e103763436a3e97fb3752825a501734a5cb413a2c999b31d4cb25a4131faf0afb50603da8de071ec9da4eaa186c345d0ba97e5a5679a0e07e83f1a04984862df65b5ba0378f819aa1674aec1b06ee70be8bd84d4483dd90a0c51b490af30f5132e28450f03b5153a26abe54e13d3977ae6579499d043b0d200440ac3b7f96195974d416a7903a45e68b60bf780abd0faec0ce821f4a0226995f526f994d5528ef7db2eeed8f200581e02e6d246a58b2be71023c370fb9486df8383f8087134929db6cdde59d87c4403dd012900581e0231d04c9cab549a129393c2c2ff1714fd947115dd03ab5d3843854ee9e15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b9d43d8340dfa98611b38ad0aa4b2af541e0c2c9aab732df883c8ca07d410100581e027a8cfd006380931b3f794ecd7b16e3edd799bd3eb7b59ad326716b330c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02fe5f48c205287052832fd2039088baafb436ccc671f44fb1bf9a7f042a430f424000581e0209416ef0de9bb430e7719832cb23ec57b36da3d7147fd49b3e0acbf4da4310b3ba00581e0213d680d9148e1af703f7dd72a22c820e0acf6745174cafdb21bd894f0e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dce5bf9a3dc9a44c951a08ca2419413a6968f6591380637ca97c76f5695820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0208f8de8af30e10e429b246ba44245e7cd5f0c2380b7a8e7966de3558d9430a76bc034cbbd23599060651b1f69431c99dbec90b4bbbacf7cdca7c7d79cf6a57b0d3b003690c6ccf0594db3da7a01e78a8c2955314f8587e0bc7ea9c56b39de0000412dd02197fd2032b44a3ba5a26b72862bd6fe02331fbfa1c49650dcf532b63f010c57593ef69da03c1588939944ed9e41ca4eb90bdda9edea332ee918fb3406afdf7f2531d967d8503264aee9d131a630321e98cb99267271aaf163089f81e707ecd8f1986511ae4b003a49e1346b0406194f473e51a6103997bc90481742be3a554a56c158b3af0e54f0380470f58de919fddb904a8cdd454005a05dff77767878c46715492846c9db0070301d8c7f8c5a327b6a6afc29084e670a6acdd86f97ad29270085dc81e742d8b1c035b9e2fe17b07322370a5374935292c1a4e73f642508f0de29f70112969c9688f033dd311a81c8422137d0f91dcbef498faaea4f95de2e9214c5c4bbe7dc4a48c9603d5be3978b3b16b04ea53dfffc4bc28cdca9db6a598844d82ead8ea27544250f20386a82f637c25cca26a48785dbb7a71664740f2c1e3688311dc2dd95dd5743fe9030eb33b2d768da3f6596b2edc04b17f66fee1b39eacac663e77a99d6360ab5c51031690ced7ea26b42e97a5bc460cacc4513009f3f4d85aa89cb31f0a0f0cde82b9036c1595f5ffeee4e07818c1c8bd7a35c4453e10012825e332f7f7e276dd645ced03f3e7e7b92f02e3c7487b17eb73329ae46b8d289eebe421ef7b1208db0524367e0219ffff03d07250df5bdd0c2343d10df8a52684123905a46b18e641ac6fe76efa885147c5034e78ca9b72d5413c26b7e1d8b50d7f51401634230d168ced2e93c72dcfdbec6603ff9b453ce0b60cda839aee4a688bc7cc755c6284defa608f297ae0fb62b12e2803afa275b160f4200f605b1c5be95b5bf818da33190c3c7b8131f04a01cab212e603cf77f7c90ccce1d055910bd342519f583a65ba73876a9073b81e3c0eb69eac8603c613cabcf8153140e2548732dfab7026f9df73628db648a48599f26192567b0d0335459bbefcbd6c6312d29e179b22c3f2f1b4d5a4c173b8bd491ebb5179411b7703a42eacea39621436feb209d61323c6fd068bc2147ae9ed8b43245debed05894a038d1f1ae90e9d951e1eccba06c2391c76a5c6cee4415ed54494eb730682e9cadf036e1c69a871df9fc0ec8f52b300cfaa197d7351ada0f869dc393674c745ef6bea03d5c878196fbe9acb3e38b6b363d579a35671049245c695cd7ec25e5b444dd99f03d0d9007cde7f85f7bcfab1d87b6142ed3442e447e13349f431bf77c93d396da40219ffff03e72419a25df061d5e1010f4ed5a2121afaa8a753f19e22536621bce7e08297d303a86b054f651c39a544ef5e7aaa5ffb2130e356bc999aa894be1061ec958dd7f2035bab786cf87ccfd4d271c9cee815def14c3096fba0b1797925b9c9fa66ad0cbf030a67006d8e0d8f8840c199ee52ef7137a0e46ae4ebeb8e0d811e96c2206686ed03cb2c32cc1654bcf5b3577cab4edd575c3dc0994800dfe14815d98a40d32cae5a0367d64ce727f61be1355eb711c2bb307b762e1f3e08a07e990907b87111a6615d03ba48aa68e11fb288ed58398141e59c38ca27b0335d3ef8f0303c95f63e09145f0368b9987fb9587acb7d84881634c00632edf58edd50619716411c2a24cd0f14f40328ae27d984e894a1b327b9d172716e230b516be24fe011d17e6bed751895de62031ff89e3b7702fd65926e95f4c2a0a794f0d8af057994f0e90d53b81338aaab9503a1c5128ed596f14fb2d458c090dd2e84bfb73ec4ca3f7e9d532d9456b0f1932b03c79f22eb0d7152a8150e8b6084fd7d87d002fa50682fa3bd2018d17b1c1118a5035e810078f23a6d266ff95bbd190dbb6567205e8ebc4f2029fc91c5542822872e037b912e0da178d6b278a98dce83bdf53ee981935bfc37f1d072b87fb86d0f73720219ffff0219ffff03f75b6456bb7f2dc391eb26706e07aabbf0b5ea0127de5841372f556c43da65370382495dbb4fd706a2dd65751a9dbe118ae5fa2c2253d1b782f4afff665afab5ef0314f1a1a06a1ea1b9911d6bc79262442af92b83458f44eb3107af52cc0104b40303ac5ffee31642fb89ec02a02b0a8517a12c4ff275c31273987dc726a1063fe22f03a79b2181bbbc1200c8c9f29b13cde888195e2a7c1f0084ad3b0530cca38b5779039b66efb1594df81c46717ded7a71ffc3db7ed230dc93b3617ff4edd607cefee2032de7e6c73cbe157b4535bd0a9500f961899fe120dd1b78bfaf1e90d1e53f520603bf5779951d882ff569c8e51b02e29e6d20758195e6f81ce83a4c87a5b4b0d7de03a6623daf06cb21d77ba5471edf645e0d3a8d9b3d6ebf2071d59ed030d9522a0503728329edf5f80681307ff45abbdc9c904acd42b1f4ac85798dbf1a2a99cc71fc0361f6b1aa6b7f52e33b63219db5d3b68c2433c123fd99e6412fc003811b89144f03eb23999fb5c2e3e06042973185d77ed4a639cbc7f4044e3e3a58310c3563ef9303fb3617311fb1f0f5d7bafda9958a91600f185853997e1de7131dc3981048441e034d0d72187c2e6b6375bbad1def39513b4205293248cb4367d15a1c374d9be64303a5ce4e563c12782ed12d8350f5ae9316eef821e84e7a300cbd9de0a760de51a7037b24748e28e33b794d2c210821bfd3f0c0a9d2f079f392f25194fd14d31a40a4037ccf4885961368301956cc71eca99017fdb76b3a0c910f64d4c7bb520450f23d03a4c45729a3003503464552c1816529d7dda7ef8312662d87fecb6f5e0bca6a1103f1b304d036953133ad8db3f5442b6aaa4801eda67683ffecbb56f3ae4aa7b5b50348a57dbd0067cee055b56c2cdbc1a1532ac20ac86f5351bf74ca48c647205aef037dd47f8b8bb79cc9807c78b6112d41067585eeddbb34915aaa55dae7013410bc03b5711af008b082c862596ec41268b76447acfecd79aa6c97ef3ffcd4564e652603fb7caea3a1da70af53f8f5a2e882eac93e43d71ad55ea84c51bee258393546bb035939331efea763fa69e30355112a58aa3836c9670907bbb9ab5e26e78c5cbcbe0369ac39d2e2c17b5c389420d93abed26b665ca8278118d476d3a0ccef461e942603a4976707462406c5d2aec1ded77e5a5363d174789cc6246d0a6a48e829edcf0403357cc7266e6f8d2a7f408e144d12e4e172113f0bafddcbd2fe7b5c50d3a15816036402dd77e7b75a10b0738e274b5cee9b60424e67daa14615e11033cb7cdbba090369021ad46dc2b789419ecef9b0eeccd2ee383a4f37a02c891b64b379a813f2610336a3438fc423f9566b51144c8a2e78ab80fab7d3c4c7a2ab9c5c3fa199533a5803b3b1cede6b6dcaf4c2da6dc786810495591cd96b12ae92ee354e76bf24ca2c4a0346d4e4ecb39ca19b259f56ebe218da224546c058b823093db9016e6d2b38fa5503bd61927ed68cef6ee8c52f8022f98a9815359dc6f5d0443c6cf9753a652968f9034f12ae0b2c47cc064450797e18a78f34920c7f5eba37183fa496230bf643e608030d30ffa64c7d0f51300808441b5c04ca1c45a7a2e567655a37227e8ceb5ce63a03872a9a2b4fef678f7ab5bc190e330764e0e6ed0dd76a177d10b27e27b2fad2a803bfd36b6427e81ddb8ac0ed3ec714aed62be70c411dcf36b6dfbfb4facbcbb47300581e024346e5bc355105c5bea899a5d4261981cd8c017f8789945b99acae30344401ba52c000581e02b6b7e838ed5156bf7a7e8adccb3568db7c2b9096f6cfbb450aafd954275820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021717bbf5ddecd84d3688e30fa17f15ce9d876d417b6e800007ed8732405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037f44afd4279bcf932698f6641159df2828b96566cc63cadcbe2dc31949734dcf03d7944648997756bfda94260322b5efce36802551c6089797528bde7bba07cb4f00581e02f89d6dc932ab2b5071d8aa452376d48c6080466b2eaf95c57ebafece255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e020ffedef990195756f92654eb55287b4e9e8928171918d511a7e55462f14504a817c80000581e02df8804975eaf21f2042e865ec3a2d202c764570f29ad5531897f365682440121eac0021982fa0219ffff036ae54c1a2129a96b7773597159752aa71665fd62168f6990c84deb3c8d7cd926038a643469cb767caf285df841b90a3e09ba2341eadd1c4f303046bee663bf2dc303df3901709aaacbfc46a000ab12cf3a54102297406234b4cc8e6b00e32f67c090035000a6dbccd28ae3c2a228099644b7c5806776ac1df6dfbaf669a398ee84d23103e3cd3366ea108600c587e25c5723e027ba47e40eb3aaf44b4d9d880b59eebcf9035adeae35d43e2fcb222ffbac17ff47ab11f3066a0953bc46634580213a156e2a032cb6453f8025e6a01a4fa7940c51ef5417423244b78108c683005e324b43ee5d034fc79569ae864c51191df945b1b9b13e65552a1f749a88b14e4042d5a9b96b3403c82444524b95827cde95cc8c5910e9980df9193db9e4fccf8bc5a38e497be93903c1786451d13b7cf9adc5f7c66b5c2d9c94181124df1e45aa28357ed2f22a494a0219ffff0313acf84894922f0e378d2f2d176d2d28a936cd7a41f6dd9fbde442ee83d06e200328d9762d97e853ac39a46cf759610ead7361909a15de398db6c0313f5647666f0219ffff03e05ee61fde4ea68233ed65deb416d0ace2db0078852b107ceb16991d077d12d503a778e29771faa9fc34202c8970f04b9ca7f0ff125fda8e59be4f6ab03c0302d503e60c8e78aa1de49f19c517d9c3b30ee27b78d457f2a2e04c75c65960a6da5b88033e81b15c141264b7eb7fcd55d447d67be0034ef8720a02a69657c5eb181abb640378c5b3aa83355b9c7beb40974b1d2cb896956f15f6582d52cbccbd22af7f185a03bc8f98b32e654d1af4d1f772414208ebd77facf44945112061807e9c1b69dd170334a0da81bd11d8584d8ab43ed242e5357a80bc278819e4609ffa39f29f4b62b203ec128c812a67b57342efffc382e20fb97d7ca0aa8c1ce359dbb885f767d9cdb503e20fa50cddce78179ab2542c360581f80878abbc31c183d2535a730762589c42032eeb17ddaf9475c51424ad5eca19caa34086f3a19bba731cf674b9c55d11442d0350160be844af2ca6ff64c9df977d638d6c5a6cf622e95236ba948190ab839f200324fbfac730dcf07291ec4538e94c732ebe238017692d525da7f6159e0bb8ee1d0377e054f7cb8a444d71326d1f6afbcf6628e6d824872d1ac632ecdd18530bbb050340cd46bc88bb360574b4f8bfb66c41891eccda5e420584649c0fd3ce2da6e6a80373f51452674bd4ed7f6ce7898b0d513917f5d766bd9c2d4202f88908be35b77e03432884c845aec6c7e64e44e5068937fc82f8dc9e0b8f0e89134966d051cf3a8803fc229346a3c6dbf49a1e0c53bb749d3049963fee3cc30382cadd414d3b075e1e033d08dc6c68563c49f57c519c70861cb8ddca499d5559cbe944119b4ac8b9ed4d00581e03bcb309378fd683756b67a2d5135909202858be05337a7b14b8edebb1305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03bac804da757390ad0b502f55d51342f817493f4e2550556ac57e04958044611e627402191080038666c5f267e57d2d2066e5f9abddbb589a2b99a825cfeab797a9750117123a3103430d8ba41447b67fa290f8a3452659fd824ceec6d3db5b3378523cf95905dea303324dc12a5ffd7b03cef5e49b57b4d0464057d5d38f03672699630b72994dba7200581e0282e876baff978d80197f11c317dbdc4fdd86065722259bcea068b5972b4404c2f0a30219990203913853ba46f5126e5074ffa320f39cb52a96916901094646f4c09acf5c1a4f4003f6bd6e08c3baf1987086eeff54bfdbe36973bbe10d6dc3879c6cc7647d9a898d0387ed404241256a98ffefa8742ed195a538ba1405fd024d374f4cf73a1a3edb4e038f39b2c3ba94816035083f120a8a6d020e5fabaa4701641694c75116da433c290379d722f940458425704684e47fe26ad8010b9a6cccfd5482495caf6dad03370f03902b3c8f95d983e83ea641c03ba205a83440332d5079e1edcdd59554972f5f2103a4edca7021c30446a83f80c6618a7bee3009700c8d6f2d2a97e589d57224ddaf031aea96cf84312c6bbc30d4d50b4239990691e1877ba0cab5ea7bc272422d0a3103cad8cfe50a53a97d2125b9916782c9974b367faf329df5748eaff941f77699e103b8c5200c4559f3cd0adb54824515cf5701233f2106c0c678fb4c159ebf04c36303f9f9d069de70c9704128a1e77ec58ad129445450893d5cac0fb5f73c2fdfc43303c4356e29e37b5138867da29ad2c73922b84df2455556ed59892bd02aeb57fef50219ffff0381d020d595686256e6057be392c541e6d37cc825fe9dad54526c16290628864d0361c0c3207f10f09174ecb27f0f2239a97445bee991d6c38e34a52d2b33ffb1ae0391bfdd4a4d091300ff2cbfa6120d01acd1a799dc2b4137f53dbe74f0c4bf485f038c2b5f0a75a4bf85c831e2c08bfb3e3ebeb1b95e4c274c4259c6dcb7ccefe61203d0a586fcf579c883b4fa03c82f115c84a756f8af6aa06cc9d67adc7d6e52db1d036e208cfe4832323945d1149c0138a515d283941836ea643b24b30e037817e2e90363a603128b94c73c8abb267a78344764c7816adf64820304a38b42b36427f68d03a82ca259062d2c4071cbe2fc481fac90e9c49737d6f0aa3859fffbeeac0b850a03f3fac1479b78771af0ef7e0d693f2392aa2f31ca6a341f22405cc5eb86c4a96103b5835744038190d69a1e8be9f3496548899a16ff42b81a9bd90d3a49889d0e7503d4870955bf73df245166d05fdf4230a1cf4c6afec1d36eb616dafd9eb882a31e0219ffff03b7dea627aa37c9dbb7c6eafe3c11c037e8fce8b73eff257908f86d59b886327a03eaa53561eb1ca1d82068c8bd7c54a950478188085446611603cbf76d7618e6450376ffdc61d7b24d8d5d91647234be270c396e6dba61240f6ca4ea4c287ba9ebcd034df16862ccfea218a00849cbb9dd5afe30261f625a9a8f67521078f7f5458fb9034376a806a4385647afef6b6cdaf244d70108b3a219de0456837a88122c2420f8030352527773113115cd4abb6b420ed2bf7cfd4f64885710d100579b00cc1c9a6d03ab6c66fd2dc728b6eaab3160aca953712f38323cd3e892394cd596f6a1d188d2036930225cba81ae2f5aaedfc5e85779e1ab815f71315d9f37af96620c60a2f65f035d0dfb5cf87fe4fd05f9d556929b1bfe5a6b7752c025abd527514d19d40214d80219ffff0390d3167e9c669e5dc2cd8a2975af7dcb3a10f1f69c51cb611b0467f579dfca670366e8532626f84d83303533440232a29af5d9f198445e5c96defc4dc675d3225d03a190322ea2061908490f072eba3b96f4f9ae3d82f4a1bcf93e370f99a7c87b81035b2e1650f3b836232559f0ab7606670cfcf4f29df51e28f19412cfacd9a418e003a2e282970716e7a08c1fe2cc311fe8c2b26b4ebc24392244dea7c7d01c671af70301646af30dedf099b3f6a9514a00c15cbd8b33d7f9932c1a832d1cc74e88d13a03753b6ab161ae3f0e45a1389aab2fef4d9339b8cb4775987c6cd9602d5fcee3b103d7bbad4146a96c90dc88ca7e9c956f095c954aee5783d786ddcbf1f76adfbad5033362755e11cf890b6b639cd4867e4c4294df45e8a96f6cfe6437f4c7f203c0c603731108717744796e1444a8c6927f984a31c6ee77c14f00b69d7d43f9de7fa671039ad31e55f05229f3ee44fd8298a50b531fcbd0a0d8b641579127a0fc9bc5a6860379ab81db5b3bc1cdc18af36e041b6d42175a1d33f805b3284912bc12ec9346630370c4275adb156c2fda6ba759a9262b8b8969ab6412820e0e1197c2bbac4eaaa9035683fbb38d7a6c977754d1eb30ff770c98d9313649129247972b366de4c132110355dbda91e69d79ef2f9e8d754cc784ca595f18b5a5c38e63eedec3d0fc90434503bf7619cc6a565a501fdafd0a24b22b73d91644365662f9db98e1d84d58e047ee037196d9032a0a66f0caea5539bb8b7fac7880cbc9c026891fde3dde4ccf3a6839034dbbf29b6b3c4751d7440ec53ffb4e3211e8ec38c9713beadbccbb30cf97ecc703734f10fc727b4dc5bc586160d9f06b75c5f680f37129d9da2d8951a7acba44b5036c1e63d2ad223c67380ce871eed19b1f10eb7973264e09fa168bbe368effc41f03bcf4884698ceb460a243196a38ac8e3622752021556df3556dc53572cdf9c3bc03290bdd0590e9c0e9055eba4c23c9282be616f0a361c292d601722330d1fa033403cf4277161ed495ba8589a9f297a81dfe5a4e4e82c17867a6d4f2f232a165beff03dd98a6646153a756e0ec519948195a5ed425d187a7e29a9d2106c6e7f18fd1ca03bbff44366eeed1c2bf91c51da571f015243134acfe1a9f5b81ceb42445c02b13031897ac1b460866bc9970059e8e3fc5a264c8a4d8b0b4a7e608edba9adbc8c89703c50d8265d984294212e759dd25b7ca63a1d12aa4710ac0149342670fb43a8ed303f4a2b1473951d248dc418e80ab109cee4e19aaf7344431fbfd509be08f0a689a03ebc7bb87615db807c6c9e05a0d9b2ec0624c258cc059b2375af720c9b7fc8b9400581e029b3c82b3148420f3ba637087e4318735ae8d957604c6695ed7e8394dbe4347e81f00581e02b018d15cac037f48a988f221b7e4a77452c221b1e9b9dd74d0c9cbeacd42271003517bb105ec91736dedc4bb5442a1abf3fc9810c57e8271096d0e58f97ea3b49f03d11630160c8b9b8894e9ee6ceae7eb32e235062f78f1ee30c8cd1e7de0ecc15a0219e0200307c5f3e703de7e5f06b47f4482ef6211029bcbbc383947b2f64887c97d02c545037bf94db202dc87880d63c1e13734869806ea46aef4b4be00408910fe0213dc1f036ae5498db5e1ed37fa737950667bf7a42b122d56b0cfe6203ce406ac184ae7d103a393cb2836cfb71cc59d230e8f6e3466c91cc147ae6377ef0a3389c744f7245703b6753634586f3a522db04a8a5be6ee3f2b09ff6ec81757e1ceb0e16501fc7cfb032ba593ac458de349f5a228a60edbb9a53e4f440190829eb399aed1d3ba88fd9e0332ad23a8860aa76a00578265ed8ed087d216bba7cde0cf32e546eb9e6717176d032ad88ed3f0072fa06abf00c49ba8a3867df3645b0107e3bb61fe270437fe29c103e461d4d6d3d9ad56eac1d672ee0a1d7fe3547505e2c13e41c95b619ae4f1826b0219ffff03d7bd8fb73d5163d86a9f7d377653ab70fb441586d6330d5899253d51669c50fa03cadeb4a858c8d52b3e2ee926348073edf0dbf385902d9565cc4c6596abc9e9d7034b68a49e5b42c180d1d9ca85a15db1573a16692e51ee8b84afc3d924937f475403469c4225444d3596924b1f7875bc5979923ff83d50591574d26b6e32fb8c8fb20219ffff035a9f7fa1add76258fcdae17599686e5c4982f8f1e1e1db8bf2b435605bd139d703d345503761963ad6845a828068a1512f0c444f22fd1a065ec44bad20e6a4469e036e5c304312500aa00d60df68f62a4bf00faa384891d6de1c53dbc0e254b3b36a03053a0721928861cff4fa4274336a706d2586f73f96726e3f4dbcfb351bf6c62103e15c17bbd3914dbcbdc17f0eccc2b48b9e9d61520969586f1cbd148b08bb08ea0368638953a9ba8bc02da9ac7a894127b1cb3b7b3a4bfa066a0f0c32f2b2b8596d0219ffff03480387dab6ef63b4badf635fcf08e606d0d46d89461e55bc1ce1e49b790d93ec03e7a92ed2c0b42c179f2bd297f5907f1a193cf2d07ed9661031b4a6ebc529dc7c039dbf7fdb256e66e9b92f4cdb10da7774d33c3c886af1ecf2ea6eef1c952621d0032106e0d34ffb264d75f342504392a93b43f75085a658853b4aa060bafaa13cd203cedda4285ac6704368a4cf6702537cf69cbee9f258f5a26ff1126fd5ad68506b035f48d71be71465632d9f921dc247fed2dc237af145690260bb97534b9fbce83d0320578b391ffeb492ca5585976f7b175830ae77bb28c4159395d0627182a3fbdf034076e2a1758f354ba73b4d133b0006dd38558fc3f9e7345f20632a51f85aa994035b661ebd6aee7d71ecfc202781709cd1bc99f8184a9dbee1a2807ccbc5b2f20f039f8f214c1b67d8f0f711138e64dc7e9229952c91b6f605677dd221942fca0225030aaa2423bcc7c4f617e96f8545695ef94703e79e22f816d535817ccc7720d5c3037384547a59436a68e7b2dd624dc92d7122f4d63071d9c3d127ae16e7c7e08277039f09cbdc21da4aa1b3990ad321d1930b7cab9e332407a80eef7779602b0e479e0307482bc2d41f930ada94fb0915fead9c50f415e64be8bc760d08326e32b460de0372f4ceca2e34861c94823c980f4935710192ef414c97f807aa756524ceab6f3703f7b140ba8dd71fefeda70baaeb509de8e92a3ce328114c6e3bfac9b6522531c00387c4ec2d927e484ccd109abf09aeaa30bc29fbb1982cb5bdbdf4314bc18a868b0375597e21a88bc94bf1d2ed57af85b97caf04cf525c56f16f59ebc1379c7c44320350c38b635e7f32a28aa9cd0fe0cee8ad908cbb7c3d929aeae631e237e9ce1904033a494e8553a4d2f4b7c42c973754a648f781634a9748b8ba7b52024733c21a810358cd6871391ca9e4f23e7a87cfb5ba9bc7e0836c98b651ce71a9de8e8e182b3603440089f8d806c0e36853bcfb1c8bc32c7ad4a8a7dfae320c5a5b78118fff38ac038bdff6377d9c47cf6c86f847a59b8a05238836760004ce8ca6c3c3e420a187dd0304493d879c1f99d9a918e6e5b0d66c4c21d490554a8ad925043a843ab73ec6da038f33d1fc509ae527147d281ca1915c18559ffc2939e629d7f500dba0c5eccc8c033e38364c11fc08a46fd696f93c21768a7fb85fe537a638b0b207787905f05b1c00581f03a3c03f511b1f507e465d57e23d6cc5e04d16a4d8fe4b7d62043192eafbd04306cc7d03c0781a00a92426351820a047105777ae7ece65f71ad805af119db99489deb5fb00581e02fede58ac31ab2008e5a3d21e2d76e318b31c81e48822025fc1dda80a754402cd29c000581e024d132c33698420a63df844c0decee7cd09aedd0354304ff743ef7209f25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037c9c93aa3c9dafc8b003f5366a811903ff554d38ae4460fe99f929a0a251e49100581e02e19226b4a9b795f353c71a4dcc025d332160edc8595ffcd60a2dbb47065820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021984420332fb5bcb587bf78194adc5bc2c25cd332e67060e65667151d5d26f4197ba032a0219ffff0363386420fbcb2e6a1bb8c6f469a7de2437e9494e9e189c485bbe806c8264790e03e39790875a91bf0f814b99a8ae51ca7c540afc44e4928aaf6884574ad9e773d1036492890bde78eceb3539a435399fcc472eb8ec912ae08145ac03374599cabca903cd825a447725af7edf438cfa57182ef13c5b40cd29401e5626d013da3e48ca4f03bbc2016149e3245c739190a44a4cf6f2a2f2bc68418b5890b271f72fb7cc3a410307034e65676f13d2194cf019e89ba220736190ee5ee7abf8351c9ea1304778f603fe15dd8f4ce41c8e1147020ce5ae6f82e4a9895fb2b7c94930a72078f8f3728c03cf072e91d25937be769524eb905616b98957181952e252398728c777b2fc7f69038992646fc73dfaa3820bfa09d6133e3adb47b8c61eec5f06fe10c6d9f5f755830219ffff03d8a211f66055211f51c4c365bcc29788c8abe3fa68ee7b287657abb4c4d0b554032cb9123fc9c2593f1369e20161959d65ed712ff0b0ac83eb4e9edfeec843876103aa50586d86a09311603a823df3de09e200674dd7583342204cb01b780e500f9f034a2fec6f10ffd5e0c321ad6262ddc07d5dd6132057a21b9c1adc1f0855a4670b03ce45e4fe1630ec2e31bac1dfa617057e18aa2ac5481a9ae5f2b7797b87c3cd220399f50c96f903c4ace9e06666e3fb2b65b06ba78dfd9aed9826bc077d28d5467900581e0203ab5a2038eb21afd32325d1e9cba979c2f704f96c509ff041322fd453440bdb4be500581e02fe4e77cd89e62323c20644c5f3507576c87ecba67259b57ae6e4743afd450a3e9ab80000581e028fd21ca1dad15287dc6028bc15223d7c62372fce5819c9d09ec23b2555431bda2c036657adeaa18c897774f8997cfc4d1ad892ecb4a61952bbb3e1f3fc023d02a0c40219054403547704d6cd258903efc317855d8cb06828c8f5bb6078ac21c7bbf0e191580b21038971b0e407b9f85803310f89ecf52948fa61399467cbf8e00a079510df80c80a03c2c856338daada81b8367b7c5943ed86200f5dbdfc97f012a13454756c06a3c703f09be460b8f769a57c4c7c75d9d76c2fb5bc1b23037622ec93b05811fc09eb0b03972b6a7c36f03fbc09efb2a202138ebbd04d7bcf1a5ec029a507d2d8c798b0b20392642bc0b95de45a8cfb79445d682a20086029963dddd3adfca678810535eb6e03a3f65d42a13645801896758440721828dc51176fa4383350eeb198057347101f03e28fa598e638116f8886d5f87c5fc48276afe2ab8b30e856bc827148fe31f44003f9c06c8def8881052361b1ce3ed2d3687f4ecbcfcce2af0cdb138ad208a8ba2e0307ebab6729dcf86a8d3424e7deb48bcd3a82b55aef816ac8789991994934f574038ff74cb3f9e65b11a1e99707ac5817b021f2538a8f94a34158208b5025ae026e0219ffff03b01ff6395f6ffe4925ff95223b22d7a94983860d5c43e389fa8d0e76124d5f12031436ca9dd67aeff78e3bc83d0da4999df4efbca7d495f7b6e8ae1e5965c3ed6803c7e32f3547f73726ab96f156fc61298db00a82f83a2be361be7dfdd1b7131440038e99fa438c4104bdedffb60306fcfa40b4b842d6a473ded9611945bb9937d30e035984fa378eb3d5366e34fbc92bd93d6539fdf6e051b55d5ef559aa8330b97eba03190b81750ea1106d719b13800d910239f49bfa2ab7a1f11fbb056523e7a58494033165ed388a25291af6edfc04a3b630d33889d520dce16a697083709ba52b35be03bb229710c3318bcc80ee988ef6a7b59c68c06d9bef2ccd4b4c83b1788234005503da79b795e8f2fda76142b098f2f90fa75c3b223326fe931b46b64307fe2c8d7503c3122e4295e69db705db83b9e8464721e9ee29d7d901bb36cf2f4b93703f66f10344c3f1d05d90ac861bed349e7093b35d5d97f0f865726b4d4376b38dabe9eddb034c5506ff706e5335b22f577b393d0aaf268542e9c4936d27bbe474fba511f7fc03848917cf0918f7f7d48fc2e12176778437d2694fdb478a8389bd10aadd7faa7c0219ffff032eafffde0d013aa3208b577505dfc2b6dbd8a02b48034368a190cece82d79553039ee7d9fd18c3a3e1685af08a2c3696ed3e454d7bef32aafdad74717d74ed722f03609546f95fedc8c0e2160d901d9ac0b03ada7b9e59d339851cbcca8c6e5cd76f03ea3324b2578a487f57de0f4ae21a0d17e215ec640a065783c2c49aace49767630356183a2889a03f834d2dc00f6edb07c82441b4d8d7478cce69aa8eba639a439403f6734cfb150bb556580b3c2d44f32cedca4ef8b9ffe8a4366970cb3e87baf5110219ffff0219ffff03abce3633898e5b933e4979a601b9d48e05e932ab9241fedbc51e3bd3d0af81a403f7c6ddf4a7d30dae308239b753f8f587ba6b76cd54b8a90a45e427aaeb1c7cd6038d6d052236122d52401644646b07b80a5ba061fa7c637ba788fa3ce0680d85af031c59e26641f64e5d7c5d99a8fb0d82fc31b6abdfa43e483c54874b655b8d9a45034e718d40c859f0dd76f1939b587e7e5de78b1a58d8a29fe312febe80e96848dd0372753cd8ed7ac4ed9104d907b5d2425405577a63141f2bc1e22197e5e23e9dda033ce7142ec539f6ea0e84e0f984231974bc164fee4f2527b25991d43c5f86f222035d5c685b6199e28b42f73190cb0fea80fd6e954219299060baf0534affd46bd5033532a858d5747d15420a06230d4466d2adec0410867fed186a07f6e2c377e4f3031f6548c30fe16d049d892d2c4a98af3dadd50780398a502f55a44feeab71f49d03bc3da3d7359c7b7c503ee37857adddd4da9edd4e4debdc380a03d7508e975fda03fe07a44ac6b08ff71913283063fb1334c25acdd50ce328359d6d6d328d675ed9033349457ef5ded1eb7dc81a723683db65c5ced6e84e21a1faf67a28abe181cb5f0340e0adca2e37bcf30700f50159c063f36ba4fc9ed4262c94e2a2ae09254ab6a4039484b41d046a0d0c090ccc261555c0edcfd2854a0206f6f08e45486e274def59033fdf91baa4d54b64cda5077eb1fd5ea745037893a7520f260e16b314cc9f067003d675157877d9859ef10eb8ae06ded3822af9269b62f4f59ff1275a414ccf3946037b73ee85debd1216ca921ea79416d83d6904cb9e073ef2cf24a99e3337f09d7303997432fbd1a38bdc39f3b0fcf06205467bfd58e8496d5e959878618fac0f2674031dd183a6bafd6b32eab7d5d408edb9d8da16316ae2ad0dd65e9fdd4099c9ee8603190ea5b4e07aa57cafd79901660e4bd326f95ff225f1ab26363d76018079ac86030a28589d0f12bdc71d840797f77616e997aacd16b7b617095d7574dec37cc2ec03351d313b736619941fc2467e0afcf530ac780f1eac75ece72f7609ead902992e038969facafb51554c28c2d9d5103f23e9e4e413a2a6f8fe8f59d7efbb882108f2032720e8a63183e3f029d462578b313557528a45ba6cdd298aee8131e6a538a6b7036dae5503fbbb03077d1953a22f77e9828ba670aabd3ad3e221cb7772564619ac0374bb8900c1b168b5d2878577774eae75e3b4f5ad03e3e811f596c010ee8f903c03444df61574e27b29ba25cb8914f58ccab0583cfa1a31990d589603894da947c6036b5354e8e98811dd4c27e8556772deb8ec7df949ba6e1ee701057c8d69842ee803c9a4cb3241b910eae62a6d3678ff36595fa0079799d01833332420c5efd63aae037b3f2c29abe3a181a320a73fdf860a984319456f97a2d59e14e127c7433cf83f03e368608e4bd269de5a850b70d1e3b696641603973237f2b331734412b4b8d5ff03f4b80d9b9a62994b05c4d8349d9c75173a0780c57b4a083a88901ec7fff81639037e7035aba2278e38fe5438c8500e86e06280825730966ab1442ab01c68da494703b2ce7fe713988b02c1bde3346725176b6104d3c8432d128e4cd02b57d27f87d0033df52a305b7e8cc5fd788ec38f66a5f8ef7df90aa933706ce0e4f2ceb3d40a6e03b3ea3f35199bbb63068e7e571a7d3f8afb61ce6dff5cf0f3cccbc7176243d6bb03c5ce7aef30455f1ec400b79942c9852fe1cad03c738c371c269982780de4fd7f03219ec8b6cac1d17f93b219764b37108aa78122b71c4d3b58239cd9fbea67fb7a03978046d5af6d638c691085e47e59038d1200d54e4e88a00ccb4039fa9d6a795203577bcc1b33716d2ce7790abe601f40f152ed6b860a7dd9d99b0e761d79ae6834035d0258e33a5766c5ab707a61af1b5cddae3d6e88ef51c82f131b49d1ef0bf4ce036766fb9b82975ae442b0f591c4a489c9b5ea239e83b65281df2f8955a56592aa00581e02de920d629ba83b1bf4ad092eab4eea0c632594a5a33a87e2f2837e9bbe4398968000581e021bbbf61d18dbd0241acfc8cf83e0d11dbe77dddcfa8088cae790570e045820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03de52184ab82154d3d16de80490481d93e3436798dfb23ffd79434adaacf9c89c00581e0240909a454eee8c8e4f7892b6ea22bdc7c588e62360b2054924f15b7c1f581bf316271c7fc3908a8bef464e3945ef7a253609fffffe939719fdff00581e02c86f13df462c3515e9a2af147291fdbed1be93dcc79daa6d298bae33ad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0216fdfb8505ae10f544c0db6720f6959c0c0f24c5f972f6323071f571855820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02308ed047a001cd4a33588df5a3b84df30fa891fd4b66d9b89d22be5c25430f906000581e022d68726308639fb1a618a935e916537797f97452d24a98b45949964ff34413b65b6d0348aedd87c54ec4616f887637c5ff5574e55c8147ea2013e0be575e7888fc8c480219fc860219ffff03e6eb0b8a1e6727749fcfe3ad752b0d2935138bf750bf98439a9f6d92b5c860ce0219ffff033beaf8548f6b9a99e3439a8de280a4d5609b234e54253081e4787601cb761451035358697a5b25ca845ef0bc6b8729e7e2f8b9e10da188185db13b51c833118d9a034155f37696a33548a107ee99213d0c976f70d54a0b2e0f7306ab05d381cd60c1035ce405f6f6b64061946084d52cb3d8019230c3dc6af8fe5b8c50c9e9818015b703346d9a007b2dafe32e3f0a459598f432b2b47528b067be53f522828ff474af5e03896bcec9f5b6bc7dff4fa28b714fee2352546aa667df74c6a06beccb778729e90310d4ce8374964d78bd5e07a04ee9b14cfe4c30d5c1a43a31e3f4fb27df32b158036beddb9623d6c18825b288fb4f6db593add6427e4f833266f4b84df12617b3920380540cc1e7f3b62cded5f439701fa0dba973e970b8ab5d8f07048200d581b2750347d5a4c791986cc5ca0f3526c48280f7a3bfb4cffff28ae3fe13284b44260fb8034fce588928f5c9908c0453f97ea83c1561259d757f706e8725163be0035c48c603def82f0e45672512038a089aab7f3a2d73c9b1ac8048571bae7742e5223662e6038d63e3828045ddf1d45e49a0476f2777fec9e48f9a1d58aec5acaf08ba0460b0039c8782db2cedb8f1808300c24b0aba33d7d23e64132daec4cf6fffe19ea4c76b03c935779cdbd78faf90f5e04c161d31ba1d9e8d0a5dcb6703763617d1db10d4bd034b8b4c2108568df6a6256879aa2d41351b0fdc33bf9a70256a5739bb9a73518d038ba94bdce0e4cfc6fcac4bd62426167de45280d2f7c697dba48d41ce254860d40365565180f7ebca854d896e7918b186f52de1b1da73581717c6ba62ca837d7edd00581e02c29384f81e2e3fe24b7174b7dc37f2e191a9bbb8613d0255f8901c72e55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024b5e9b739aa0b7f713b19d06e3a6fecb594a5cd0c887021890a37efbfe5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024c083a651af22d0d61c284f5534fad74c5048df83992b998a59fc29d775820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027863effddd373caaadc5c68d84f9464511dfac2bd796412dd72edb833f435b8d8000581e02c6761ef7b1741025a2cb3ca1dc036fc1c6a0580ed0ef0830ba01b119ba4503bb7fd83000581e029abb115e45d334a573d3a75e85127ff2f3be6a253b253a365297d45ce14401c9c38000581e02dbc984ad21d7e4469ef5f2a56fe245c1d10e56de3e43238f3316be8717431667400301de7bc0fe4e7918da2b3a9e347ca057df91489170eca797b8a77d3d2443631100581e02cb6847e3b6ff47de085a57513996ebcd9deaba518dd77d49199a97b7615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b1eec5523d19311b51599d427ce7ab0893abb2466c3b0b0ed48e4780214607f848820c0a0219bb3303a9c38fab43d5ab4775809f0606389abd9c9e82079bdaca170f58ea616b14903f03749cb95a0ab73cd699cf2d805c37a7c921874a13ca5f4b1c04d4327a22a32bac039a0bc63eaa2255c25c16aecfed81bbd00a0a04bd66ccd0c17f5876cdfd9cbdeb03ec27a899be97f7e507f3875a84780d13101bd82a1082f145721678203bc6e9ce0353cef23997f9e4c891159a85a6123ce6e4fe6158cee2be95592e88c17022aaa0032ef562b1ddc52a54cc3e6147420b92348d937eaa739ed83fdf42e9b678c0e4f3032dfebb38806d31519ad3020ee29217c4542c7668e906eb59865959d8c9cae4ce03b18c10e275759a76b80bb32014294cfb3f4e054a6f17a402cc338be4d54467760321399bbab237937fc4f9acfeead2f53b1a416a43524382f324de013a534dcf0f0219ffff03729196d0d516bc53bb83c10a5bbd1506a699d9445c04699d70d090f8726a9b3d03a24d5be247c0a166871f65782e74b08358b4f3ac310101c8891452719f9f48e103516d632a48da64e0e76236575d359c72d0e98c2b939d2fc4aaed0578a8db049c0219ffff0350b86a39f293f8c34fe3f4fdf2c71ffe04f899c2a44676bc82bb4510e7f336a003d6055c0803c6f7b476b922663d563a2afb8bc02ec2935806fd837e98faa8183c030b41d501ef840a27982635c4898eb2245830878e9fdfcaabc9567a25280d38cb03c7088aeea11eaf459e2d16b90f6a2571142c4d670b463937e8756089440251f303a46ee1e6dbdcfa4e536e287f138330018cf46d1f4e7dcaa84c3dae9f9fd2034403f91f5eff83263b90f5eecc5e64b7d1c2d7f73f0e776438d330de35964b2cf18d03a87ee86c9e8342b37de9ae41b98feafb30fa7c6a5f31aa7a23697cd6a80d27590329931b66c55ea59378af5a795d4e09b089a1e934b04471720a8f2966e5cf2f2503c62da51a56aec49721b4cbf62528149283ae92feaf83ffb70cd258bcc158b1630219ffff03efb7ff6b0c2861e40444f745ae6c860dc8ff1cbb2a49b53bb8c49772cf8fefa903b6c528a8b993c8553cfff5e92d5fc534a4024212440b893a872eaf406b20f31a03adc70436760fc8a62885512853bcc1d6f1494942c7f335f3e4542983de1005a20339f03566411e950fdb27cc897892ce49756db4a5d41459e13198ab2c0c227de2039834254d8460da913095031003fc12345958fa51bc3822e648485f82b10e621d0384945cb9fd8bdbd8b94693dc8c979060c998d20d92ad8778efe2e9f9c990298603319b0b3151eba0a32e12d42b61bfbff2916a7b89486bad4d80f3b25340cff89603ac91236519a181864f17223e23a16e0cacdeef3b3b5d649cdd1db74f988ea36c0362ada03168e782de5a07cec05b980410581320a395b68013758521933b48a4d20399a16ea24d36795c02d4f801c3419c79499b2b685a94f44653433bf1fcdb45d70348f9823ec8f29cf568dd06ddc69c4eea6c4af3076a8a3c1d8bb5697780840df903bd878fc2ca2198190d39803550bc891651a1624dd2bb4bcbfc29c8c9e966e6ca03f84a927acdad8892fff5ca6db292dd2e0a860cf0223c44698a74dd0298717cb7034861f252b9db7fa0f41b2c9c84687ad9938021204749d2583f710517f13ead4303528be700ca218ddfa7c2e694f611ae4823ccc1d51fa9c0d83af2538ea5e089c503d3770b25198dccc113d08c7eba4d84c2aac67490231dbe9748e569370824012c03780c490af88e66e6c16c0bd0ebfd197bab8fb7e63596ef68327880ee677a4303032953579c395cc8b6111b3a0264faf20225ad05a7dc35f509c9a8a4bf9a2edb7003d043f40d13a75c8068de541b8a9e37d68359a0aa73f0382f5175dc77765c3c42039d0246f9f6eca82d45ca856b480665c72113766a48467f0c84f50b7ae36dbcca03b7680331540f96d2d4ce3c3586ebc04e7593d33c03287f637c5d5f8224f5209f00581e028ee9e248c9f049aef71e22ce696927ddb528ffe7b8390413bbcf55ab90440b0ac21700581e02a8109d9a815daa96388f1bf9cb7f77dd9ea16289e1cded880f098ceded5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03177b7b628bc4deedf0db3e88cc56e7bb54d68cd17ae00bcc446bd9ce1a1cebfd03503d350c296bd4addcf250fe5df22517ace44f28b705aafb66e6a7f5db50126700581e025d4a22e36e97c463b23bedb4b2a5810703711a68ba3313b78a99b3cd004419a1478003d65eb06b3e43e53697eb0340bb581d3b9aba77e47c59261e64d3facd395ae96000581e02bfcf9b44053a8bf1fe2812ad4de7e53a2dbc0b4edd4522f507c9355c314403473bc000581e029a8acd376d0ef8f48cc20660c7fc498b329a4a4906590f8c8816174ad7465af310792e900219dd8c03d8882c32f8b0c26552304f57f6ed78418c3f34a33c63616410412c03489632850336e4c7b683a16fd13ba81af2ed228ee0f7e5f5b9a438d2b42db52751c235352703a3ff498ef8ad64d2c478497904217f30e8a767607abe0f35529627bed340074303de65868b1c6d985910b7ed9719825523f898658601b142e600d9440855a5ec800360c2ef5a9db65e9590a6428814daca87420b51aa8be7fcf7f51113147c027f55034899e1a592cfa5b619d62e792d8738d8dec401780fcf5daf467aadc94e8259920313579fdc623c8c274be126cd59d3eaaedf8ae1f00758f9ca08091b9d41d09466038dee5137b1327ff1660e94b120ce4a94af8abcb1a0249dfe716fdc4c855359b103f5071f8bc635ec3fd0201c6d1b50283fc7ac664e643daf92328f9b74efc83cb70219ffff0302c3358c663483777025fd5633a3664998f8c7c5b87980f5f336eba3f575564703994b3772cc8bbbe2efc2029167d269b9d210cb2d5f2b45394cb38d77f890034d035f7101674ad8bc837c71268aa31a2f54524aeb585402d7f3c05c21c70307cc5603e919354fe954b1c3de5eb746f7a04f26e55901e36880994423b348da5def815c0366bbb384c4db1492f92fe3c06ad7d37d593114faef7fe84d33ddad636589897103837412ef2e9ef362cbdeb95640e9df14105d170547f991ce51679d4c14339f9a03861b83046a5e1b92d292f3b111881fc546c61aa7c2e2bccf3d5c1b7aea9a1dc80319bfbfd36b1981485e7312d88e1510da1900a442221a27f772b2dcaebceb9156034b77a5c5a2cfa4827ee81a9bd459896bdb4b75f54d5cd2f482bfe5163518fe5e0219ffff03ca313ce8945799ae86a2435127ee0096b8c6786dab95dd5ebe8a06b822c04023032a403135c400651fe291acd288c20ad5f8502e27f172dcd854f895a553beba770371fad0e970962247aed5455ca84151b4882af01897d9e7d7e75ba29604156f97035f9f677e6e6436996a16a43dd3937ac2bf09c9cc9594f17e48a0c10edaaee49503d54421e9137e855e04fc51bfb1ab1131e7864e4aa8a0a54f1854c6b850c32094036d35abf2c9ae32d3207890be0fc37433243d280ae1b710916a107e5e1d001ae8036edb104f3e48d3cf412b4b3f8ec49f359267a1a01ad24f85bd40cb92faa17570030806ca2cbc822b2382412e53f8fdb8dffb8efb5458a15431fcad9524fe0b8cd2034643a103c5093450860a20ba2e6389ed63a7dbef474db4de6a2e17aea9c682a503ae3a820fc39c5e89a66dcf83e6316c8f93dfa60062363438e23f208c36d947d90219ffff03a323bfc96b73581581e844531ec0da0a62fedc8e27c9e0505c30b06a46a56b9603533b012e464f802060a47e407205430559db5ab1a51d57dcdc260f8bec67d3670350e370ed5a27c17680ae5564539ab4da4402c4a91f5b8af2a896a7ea244b4f2f0372459674cc72830437a248a623ef8ccfe45b691d8cb46515aff4a7f5b5b8e70903ead14734bbd2ec9a66504bd705e8ee114fcdc7440e00fcb4737445b7518aafd10355d6c28ab21d3cd2d5b394b26fb165b4f941c2898030cdd1ceed0fca048ab54a03420bc708ea4d182214e8f596d9bf392bed8861f83cdd58a73bff1a443912248903d9802f44af7f29857159c30400b838d3678bcd6aff398420763b28a87264eb2703ca353f581db57f0e09064d255720e3630ffbd41affc96440014aef85bfedbf5b03b58c614112b95ff44e1c2ccc4cd7001a37b8a4dc328549a5949e844eb51821ca0305ba48d843c4ff425bc79955dde3f0c827cea413c74a2855705c26b2fa29277303d2623bb00311f2d6219fe03d4b59ab593a1496338523632313fffc5abebe61c903bd594624fd41d9ca64d882bce941cd18c452cc1b168b9e7d638fa65406b5fdf103271f6a23608280d2b72cc9eceb18fbbcafce2aafdaf95b4d599f0b49132f4caf038eba9ddea5649880ba70ba5e39114829e0d5a66318603662fb9364513249261d03ecc1f9193195131d380ce68271a98b1ec91aef6d18703ce8559df066090c224f039cc26339b0588e2a9b68fa5b7aa015f02f4023c814bed97dc87399ea1761d54f03d3d43106400ae9b2d6da4571cc89c9ad77e5426a199c0d36eb0372dd63d42b93034642cab015e99a9bba22788c9ad6109758fcd1fdd9777af1c41ea212c75c5515030af60c1a0fdc44c01cd9e7b33fd25ab1fd8e4813b1f1e1657a1c191fa5e6502f03bd9e11811be41259d2ae736650fb6b81b4c47676d514afa7992ebc71542fed4d031845029e2f23cd79c19ae3995bd711137fb0e19ba78cb47deb51602a1803548703c85bca9983be2b12c44d521a8085f9031a69f6908a241c604fef1f7b1f8c0b9b00581e02f1ca49add2450ef28f8de09dddfec37f8db83d475058ad6970394e5c7944f42eb8e803b047b39d1a8b8d0021a541cf57ed4f9351f1f3b742afa86ee06238244209ed69038a0d416f7c5951bce56fa4bd932f1f9a497bce669aa6e9f98c2aa4efda4a418f00581e020053f1c895ee5a9fc2d88ef8e02b2632084533d3b619b2f8a90e88200a45e8d4a5100000581e0207652b7f8735dbf15cb8395ba210b534baf92c491ab84ab89dc491b3a94402faf0800219015503045668d7a9c9810b1bc989dfec62ed2f0adc4dac1885747de451d8bcb642967c035d21c364c2ab754d226934880f9047b928c5b639f1248cd87a326dde44916b150330886d03dd4dcd7aea7e2d0b8652583d73c87200bf7788f50316fa70340ff8e803bedcaf8dbdc3f545d0e2aeae09c419ac9ea2fd60f1816e0095f6db19c4553ba5034efb34046879bf080170f60bd2919063bc27bc9ae0b68772503c69dd439ba36d0358ca4baf526312424480c32a09918c7cff68a9a9b511a2247410a34cc2dd270f0369d5eab8c8dd65a74a2c31ca39a7f75e85a9373c8ceae6b66b697331ed9c5bb90219ffff036b8e54bb35e961aef455a09b7dcb3d6f8951f4a09205946e43e5693af731d2ad03913a4425001f290f0d60772fb155c3307cb582ae03bc26628f8af6c468c747e40311c51daf58a4312ee21a17c52f8de3cb09a87586f73361055663baf135284f6703e73fa8058560da31b8004c4f66e5ec640ade8ccbc9845eda0bc6e475b8d762eb03dd89b64cbd0df061f7306107d7d91b4ced86e2042de9f964c6305a3b476ec20c037f03e309e472052e4a90c21e1fd85478d6f613d6bff22b42440adf84fdd3084c0339dd533fe02580e8d0648137664def5e8cc81fa8df10ba5a6ad0f6881cdc3e8b03a6200b59d3488f107b72ad667b5a68e9247e05c72eb8487b3d23dbb0588cdbe6039635cb988ef3fbea038bdca63ed31a029b94d0d100244d1fb806bf0d2d7732ec031dac33645b1e366b61b6fd03d7398a211b0c0c3c64e742e0cb9a83df6d600ab903e63821fe7310d78fd36cdb4f928d9a0b908a5855db00d3300ecfa56309d6997b0219ffff03a3abe02b0bfe08d5e5262fbefbc1f958f659bb76274ab16a1945b4df6e3f3a0103bb688f4cc5f52ac1c6397763e3774ca7aaf7bb8da78d932699b1b0d53a3c0ad903aabb6fe2d9080c10e6b0a40138123f9d4f9b63264c3e725516a1aff9a8fae58e03da5586e6245a4f6bd975862c039284cfd194661b353ae4e5d7f7ea94aa3fa38d03e0798218d8c69589409d33a3f4bd74cd981544774e869b625ea95d86bca623ef0219ffff0219ffff03686b7028ec016b26f8c9affa5391e28946b6bebc9b8bd5f31dd008cfe96b597803cba344353f990d154b10e8b099611450bf36db268a00583b6ae87e7bf2e4c081037e22587fcfea635014bad7ce91cfa2dbaff9d2ead03f49b01ec5c105ea458fb903f44969d5d9e4c2da27f3169e6d328f8ada9cac09ea39dcac309f3d506d829a6a03274f9b5a3004514a72d364061d0785cabc46164332183da61bb44ea819185972038da565b0f359d1a8d03cd8d192c50f075112f3ddb0a2bea05fbc61564ae4f94603444412ce5a3a07f959bd76061fb7b1f2c5149fb7f7313fe267ff4684d3f5098b03a8cd65c0abe1fad2c20134ebe199d05dec41e86d703a7c5bb297f27e2b0570df03bb19d2dc407b1beb32ee46337ee170a2dff37b98981cae030b337f62da5d146e035aa1b6dc3caba6cbf17cce0c1e8a0801b0a3d3ebc6d2d8c7c0494029f05783a103905b91db1c3c3e5de32fcc7f1b67eb50a54d8287b1ace3c0129f72e0ad53e7890314378699c0e459436cfa4044fd04864d582bfd817431aefed3e10caea570d2a00331fe6542f03b98fdf77e5836fd3ba8eb58796395385b4992c31b878e227a2f09038596fa60980252a956b19a69497b369e428ea4fe0b63d070884f2b14915bb49d03e8ecd10a39209967e8cea23747a0b2884594908d49a57b46d82bec296c55886403af3adf92ca3d29a4270c6253a81dd5f9a5e26f2b7bb8c83a3a134ee9aa8e610e0366f4956f2cee54a86127c73d5639d6d8ca0b1279245a6d80c75d3661cbbd7481037155a5ed94a406eeb2bdffe9e3cc9bb280c1619f4f608dee2018e1f16d0131d8037b0c7bdea8372d7aadf20c8a0412f53893e77b2b8c7be13c1977be226e653009036894ac10066acb27533357045322dc3984d4615267623535737d9be855624521032622ab5e658082a069dbe1de17d92f7ba49180112ebdaea26bfa237fdb66e854039ffc57730afc893f9f6117c13c85bd08cdba49b3c10dc43fc2110bd4aa71de77037afb06c01767c16c8c80a2aaa5b64f2dac6a9ba406c883186565f97220e4b2f800581e02a86e981f14b65f9b0e261c6ca82de65fccc4bffeb0f2d67bfdbf4e97c143986a9300581e02e479de2ec1a71f0089d9ece266d7d3f26448c4b2c376b5a35d61f0d92944096ae38000581e0294e0d8264c2dcb0d1d374f205b432e11b96b7238923ea2c44b1d9cc8f1432a4a4900581e029dde47ad55a4b150924a282c789512b71a18e281c86d48a19cc46d235944136e5d80035a1b314834a3108ed52fc0d2958de4984dd647c29f0d25055cc877dd29e3b3d600581e02b5b6397e81247ecac0f711995e4bcbfe358f98f1f58e5b33d1248c14724307a12000581e02029a102d031190d58fdeba1b4aaff5061e503b0502acdf8a4d13ba9d304404158bb203b3c088f469545b86eccbaa793e71859258eccb451e007f9733c105a828f538090219dd8503a1b07c88a98200b9e12604ad3484f551a4ad73e6df4a427adcef9eca109273a8038c44fa2661b98499f54bd5e35042533fe485ff5318e4ca00fbca963be467e47503566bbb2d6564a2c444be8dded6d98b03962b4220b1f7eced4ba8349c53e6836e035d394c772af288cf6f439b03d41f7ad72d9422ce4998fb0f37933adce75350000363eb3aece360c5bf8ed16e0c4de02891d214d3edb1676a7d70c54efc18509e0d03cdd5ea338500836e1c5ad00135ccb51d242d9406141212b12d2ebcd2ec3a078e0350e42bcac89d3debe467f14d0f5a83ae5ceca22d2b758a511d318f78164923b00363143142e47fd32e09576ddb5bb06e82ee42b93a54c9efe7af06cb5193fc5f500219ffff035ac195314d01be4d153525a328fbd8fc5426767ff91877b07a6254090a2e0f3903fbce424d7b460aa1a4e23c66333f927476859f0842db801d442edb3e7b3066ef03155c827b8abb8c9f5e9f7ceb4d7be621111ff2ded3391742cacca8df932795d60380f4e806f78de1b8f20f72c88e670d7d569facae2dc1ac8b4de8f3a317890f480347e04077e622b44dd434e254a1ba11b9ca09a04cee52a5fbff41deb3245f21f703e0a7e3e7b751afc1846f53009d790786e7812836b48d6fcd6487373b6b95e52c036af5d4ec9039b2edd049dc66a121392104556c5db9284469a44aa3159595292603009ac1395c69b7c5a373e82f5633cd60e125eecbd1cd345e24163cff97acc06b03403aa266af584c224eec15571d1a23e1f52b7b41a9b5485fb9a61f053b620d4b03c5202a181702ce0d275b71f0f216b98b973b8eed28dc1e0c7697c640152a1fa50219ffff031728463aa7a33b049fe61c0c1a5043bacd83c12b0c0b41c94ba48e10acfb76d003ef505d993dfe09e36e2a69684bbb718e32d2ef2d3e0498174af232e67ac88fb703459f4c2768cb023d0b0b073b7403f14568f2e4eebe3c07530872d4b8c5ef1ef803b273cb76e6479a41f7d727e4cde86e105f521653ffd038ae1891dd773034217b03ca51ef5ac9aae749b71a08a508c545fa149e6ffee2c1824dcbdcd64ea5bae3a003e993d7025aec974a302760d7070681037ae1bca34c1f0f1f74f9af3007e977b90219ffff0388955db1754a73962eec8f20bdf26a1b7c4a3555e0fb72d2e1390ebea9078ddb03314977a64d92ce9103717a27f0f8833ad96d8def83bae7fe00b964ff19d3c6dc035cfea8635ff7d8534c82f5225f79bc582bf53277ff3e0d705e24be9bd7ce990703e40c06043887c7d7f7739faa9135a2f3a28f3d88804dbbc4fd134e37c7fbe40803e2c648e254b135a21511539b2ea2a0d55fc7622eebccbcfa28bc4a5d46595103034f0ecf462197c32c52dca2dfa42f65a9a640a7540dcc83e8500cfc35db5569d003ebb05ab71a58939b77552e80703b60eac7a722479a3946ce493d2e6db3d0e97d03a1f68c652b17c38d7b8eebc23bb39bbc750370e8db75a644e19a8009228d98bf032e6b8cb76f83905daee5a89c922feca4eacabf111b787728f81d8d0384120f7b033a4f8897bb51b6eeb1796121c525069355396e85a3b8b3e252d9c4740d8c8151031462036edb14f62c66ffea983ead053e75d1e88b07132ed83af0f27748e3b428036917b73dc4e047fc8a1be8f585ab160de50f35435b605b235f22795dbde895a10366c4e94ac4685550df04b19a7311fd34508a1fec1d126424aa1dbd2d58d0764103bd5b0be3a6825c6bc663eb456f10dbfdd924a43d60d2b829244f8c960c91e4c5033b287ad88d26024056633e07a328c35ab5827557e22914d0fedec08013b11ae203adb80c7d0e267205451639190537c0405853a5f10232821f172c8f285ff79fec03032fb826106b032ebc05d02dd92788d930d3ccc8b9a3b253dd0ee32f3f74da6703836aad56b5671a7e828f653125c0aaf67e8dbf438dd67e07fc1e71c9de653163032cae5bddbb83414d93cba5b46c3a081d91f9fce2e2f16623b1e4f7412f3b67b403062dda499ce8be3288963ac13a1b1ead384530975eb8c346fc9131625e358db2038830e0ee4cb2a23e9f88d746a6a5e71c7c7727b22f6cd4b57b5c2b9e8f506dc703b25bd8b29d6f35ce1d345720dbbcf27e84a363aed2c38b851a950adaac5b047a03c00ba903ba6e245dc783e5bdbd0a21dbadd34f5a97a618535ca3f54b397078e6039ca15741cb7aed73070ef5a1f12079a9e85cfccdf40012e68d929af2de69d9d503041cc22e24f5c4c65749944ad87cf9c6e6915ec91d9beffd7b8f354035ade82503237593bc00cb3d25e5c618254637db0461bb0d22808c01fbd9a7adc033996ba4032a853a02c61c3d665dc84917aeb7f74e883caa01a8ed42259e72ac4ed96494ab03590f72be7692bc950ed4ed9001078a723f1ff6d1964b2d17f355af67167717f8030fe070e0f46717a06e9aafa7c707cd0a294946db8084522692ecb7f785103ff300581e02a3c41740e324fa98df1562b31fcf6b47d38f8253a2df3164f2d64313164c033b2e3c9fd0803cd9a2a1c003c7adc99b0d67a7d4660b6f177eb0e3b72971ea4156cc0ebb0d80f2e7924c202b00581e02a2ee738474cd8eb66d0f7283c7aaa1269e79879f2ddca2bb564d2de6c95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03088f9a206577ed9ef7581a568f366da015f84c37ece341093984c97c695bef4f00581e02e6acdd1dae68e6092e46490df4b9e7397603d3a630b44143ba568c93e144083374f00314f9c39d97271b30adc61c7dd58d648650d5125b54fdf19ff29719a94e1a0cab02191a8603970cb992e765b72f1d8ab83f53d6598c315561cc04e20794e6993a47813ce8cf03618ff117b4c3e8845bd9daab97e377b4cfbd8392208fc27f7b6c347bf196f46003c336cd21b4558830fabf1445fc71122e781231f05bff22413c1e30624404c1d903fdc03c3a40bab73c5f5547d9ed12a50942ca195629e4fa960e80c70d5e17d04f033c1c0a70712324cb996a77eb0ce2e287dd0188b01250b5923d5fc2dbb45e5dbd03affccf15da761345bfb884a39ec22cde39b7976e559fcc67eafc86e99ccb7b2503e5825b5cece7535928a85fe1fef05eefd5b21303220907fe20c68a9e0d0791d503424c675525530c861b2e7b18e64aa072c878a358eb9a5137c89d7ce6ff926d8403a550c39a902d3acbbb9d31c84b3a8fd2defa75a25b493bde673502273609737403d3ee039749230c3c7729f8fd65c8cb3808db62f34e0ee7753c105cd37aca2f0c03e0725abb9f03bc94534970a135f09fc1271c3fc62a37a11eb9a500145eff55e703fd7c95b641e75af9a220332c138c8efb99c0dcca82567ae852603da090d09fa10219ffff034d7404b2b7377fb4df56b942d6ec9833e85fd8ee16950e4c7da102b994e61ff803bd5a4db470ec7e31db09538267e895cbd52a0e4993a5a1d5e9c6ec01cc7168de0219ffff034884c1b6ccb0adc99378eeb7042820a86d63fb3890621da6d8b6701a6ec6ba5203d66cd67b9b625741b03891a590b812fffdf8ed1ed7d45d58f58dab57fe7152cc03d43552713c9dc887bae6e7f0758c825d73de0aab5303e5fc6ce5fc4c2cd4063603f146f4672eb61328da293305c122571623dbbc2134ad8205fb589074c0b1ac5a03b69088a631e53e74e83350df62325e99a636a5ccc07d50cff49cb77d10a2fe9d03c5b2490d40e22d0993db852211ea21218ce04bebbaaf50d12ce3e3c41861591903d6987a069c56fc9fd42f76ae8d22fea9387f5724363e321579237f7b8ad1010103cbd7b5b39a64170426c07911b92987c29b521323b3de4178a6491a651997609d033fcde064e2a94e1b4aab186b75400ba6a0141094f1bfd1331f9318ed464c8dce0369ee19e51a6db69b0955bdb373204e75ea67edf33be086309df435f772297b0903704cb1da54b3819c406839bd1fefbb5ad55bc28935026f68d39804699861fc5003b6ddab4f9dc69d66c5ca3538ad7634f5ea6c2efaa2e7c685fb3529d2f35828d9034136859ec5f3a78797dabc3d991520e182fe6af4725ee7a56cff7a24ee398f8d03e52cd4c5f6a9c4625922ce27f6c4206df72564f999b134771370157777fd4a3003c3da838ea817c0ff80954532237969889f003874936e1d92caef6dd7b9d548fe03bf8fd6bfe27a1c172134d27672e92e4c96d13a7839458003921204fc68c3f012037c8dbdd38747fe2673fe6b55343428f76f4648a2eb2a13eae1b90b49e21d38d303a63186d20ae191714305438d6e0bd52d8f7ce64c18084711601f225b718241f70390b16313e2f7ea24dbd02128b8fbcf1df08a8e340d71c7ef93f68f99f5f1ddb5032596be84042f7759d9b2aeb909d155c5aecbad4bd970de60c2120abfcdf0eb1903e85fcc5ed1817ca7a367cacebda777f0028e693b8f790565f96e15aa15c7a8390397ee3f135bcd2148b271d93c7aca14266945996382c8bd4025dd44cc45ae488f036c75a68c9b817908f9796dd9ca52b9b04e0da507a3f1557f8508a60050e57adc0337500af1c6b7c4f31424dfd123db2f7c56ef8d945f1f359922f8bf75d4d03d2903c801c680387f5c590a739654cfcf7736904737887191ccb0cf2d183c8555efcf03deac51fba6b174be88a0aafb67590ecaaf985e0157c5468c90133608ffe0de7c038a8a68e01bc6fd914e5384020d789c41b564b55749536c237196de022fad70ba03bc5982cd7087e92e9c22edb4f2c492b2e94b738de2cb7fd9d5c05aded2b249550340bc0249114dca8dcb84986f6b62ca89604933f4338921b3cc915c5ef67ff5e00387f5aff6a09d71f78c34d193c02ff57b77b9eb1657aa10f2d9eb14e0bcb4f4ff00581e02f929ba8ca709f618e4c3c7e788cbf6a362de6a6ed4247c199bda7be5c358200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bd3f4799a7c44a9bc5e8aa47e35da27d265ad9bafcafe32ed0e9a65603450a93ce704700581e0253f45ec9128c8d0fef018c533bc5954a854ee6beac0178597ecb1e2b8e430192450219c8000219ffff032940cfb19c0a68502122c58fb61a070023b449588d080463f91e3b235dc52c40039565ae093911074963d473f15cb78aed37893c85a3a7a6c58eef6d44d4cb8e0503263cc8b4c94259fd7da1305c2704cd4056a2ddac92a95adfd7c692206b70aa6d0219ffff03897cffcecc7dd0d5c3a4be9766a7a8dd8eadfbb06235a0bd8f27fc85cf43af7403fd270cbdf9f3341f22d09ce9ac40a3b3e4d0c5c6c68019a630911842df03927703f5fe779927a14a1753dcc585867308d6d8ffbf1bc9feed33810935e2c5d6d4740219ffff03eccfcf47ebf19a7934c954432d445975f4e610d29a9f63785663a1f511bd203f0323b3aa1609ccee8dffc7734ef820a9cf40f9f677857935e1a93db1f9f39f4fb90344a829c8af34b6ae286a4cf27d311f0535e897afe7c4b807c360e9d6d00f4e350362558f7a6476cd5170cdd6f18607bf7c36c47561b6cac4c6d4dd6c960a5f9c5103c7afdf140c5639081ef7efd74497a4b703fd37a372dc4e94122a12c5d1ba11ac03ce8b88155edc728b7acb1fa73fa3f4b08bc57230f0530ecbf8adeeb6879f4c1403a6c736279de05b35adb47c81c06aa61a30154d839da29dc00c4f6be9d0ca640503563f7a4648091582f0f2cae1d8c6e34948504a64d27ab9e27913e1005ddcf344034ff6cbf72c3210c41b7dc31adca5ccb820f4134591fc29c47be751a1be59aae803e50b2fed365d398ea0bd418c9ff741b22570781c9a3218afa8d7d02efcdddece031eb411a92b0f7f65630849687f9649de1cf3a9751c221450f6c468d9f550533003c7830ef1407df1a29be60e8ea00b9061a4a5a8f53208aac5d65eb938c6f4bcd4039386971625f04a1789338c64a1187f9c43226d7d75fe01851d2b8f6b3384e7ef03bfbce4291b05e2788ef2e9f8b79fced09e59293df89f526a7da1e652dbc0a218031303c716799a53f0b206b585fbe6177c113f7f2b44d1ac551088fc7a6df675c90324fbb98e2951b81960221f89ee818a90f2bc0e6457f1d9e03cbf719d131bb2c203cbe3e5da8912ba58fbf47f3c7bd620773bd7c3d2de8bd8437e76b987baf5892003710ca339f21a6560fc0d04a40425cc20a9b9c3f2b81e5268fb2ba4b57b542f3c03618b13004d55a7ff0a0e9ad531a45b00658e2b441e2ccda3a662e6fa2362787d038cbf32537b1ce8d15362def260887f120a06fc505ac82964c4b1d68eb9d1fb41039dc8e109837b9f57a8b97c27d86e0a29af837ed864186866375474ba874b747903d65f004d56f5133d968ff3f6147b40a773ce3ca3ae4aaf6d96e33b632364929e03333f6faa571fa11e085a9cb9ad3154f2e9d8f242d783b183cb80764ef9cd943c00581e024db70746d9bf48281efc49a942eb795c51022c22f0a2d551df8ec8b3b34317a3e000581e026479a2b11271af145821ab1ba1722601d157d10a980dba7d17ea834ff84301b44200581e02a10a0f18319da3ea8bdd9a3fcbc630a459fe3d90ec9c9a3c1be18ff55a410100581e02d403970d28dbc9ef201ca0d475d004155a5a7cc669f32cceaabea68afe43451f5000581e020f999f6fe17f7b5e567fda28f645e5cf4285a8f17ab99748a016c4a79344022afa5600581e02992d60e4adbe715730b17050783f3c5134001dfee1e577e7e8a2d21a984401e8480000581e02b6264860e816aa605f3dc9132faa5957452ab2d88919b530a3cc4c896c41010397b5370a9d4e3430ae7f5abb9be966c7dd9f11b6f8794d6963d5e1d39aaa4df700581e02eed662ab12b2ed0f0e08e8f3b19ae847ee99fbc185926cb951baaab7be450254582f4000581e02fad9a61f470598cbfb45bf34fcda0666483954748711b70597bf934fc1410102191aef03c45dbfeb9bffb0b7f1b37ae7228803b36d791bf2b0459a5f48c721969d2673df0219ffff039f348c08513a43478392e7e22fc53729a2619b84f34ab87c65cc12775e3b809a03f766fc02a08c767599845f30735ca8f481f31e304c7217698ccc40828f30e01703ba072545142b35c903477c93a68fe2a2730a36c6e3b1adfedd97533e820d9ab5038dd7e72cd367daca2dc44d1b3baa29b08cb360abd6a58c88903a5245ce65517503dba692595e3e74d9ab07f3910e89f1b1184fe27c9000c9d87d3c23a7c7f8e40503a2c5d4a75a0678b3bdcba6bf6fd9e78fdd5f9db79342b6de961ec209f4f9c64803f687025f0b6595b3855a6f611494aae102be4de2fe35e109b431b5abc794feac0393ca3c2256489fcb44f4ae7a6ba23024a40d4982ae63ae397886ef0807c52c280219ffff036af4b530bfe616cf04832d55760e7b867f0bcf71546a297b8998184991b9ac0c031a8a4e43634b2a9ea7d8ae48e7ce7961324ce04147f2ae8c18c9ea31508847b4037e663a52799f10ff85f3c3814a8b8e2776c9c375f9b0889cbfb222bb6a333b7c03efc3c0ddca682b29e74ddfdcff222c2b65a7743dd5239c1766da76bc9a3e220c03f8d59d1e2c8f2482c221ee885ecd5451729faf24e9faafad87a6f3eaffad036403ad1ea5e0e9b35704982f9f4fd2200bac307fc9fe02329025ca3522f11dc1b77003ddb5da1ee12f4c2baa17ba5bde038254089377b8ff3c7ede0ca80ef0e037a2110333bf49cb5048efdd7aaa38dd59161365b73d767b1c26b76bede8ac0b36f0957103c096bc43bf1d7f8495e3cde05e5ce58ce9635529f776fb35ca6259b9fe4fe6f50318b9574f42571032c644a1b44d9f88878a80abecc07cc24fbe1c21faf5d960760317b7dd0a9bd829900e25263b556b202a184c8066afb7c30bddd13e8bb10b275b0390de57cac5d8fec962d22e7ac41ff4676f8c289735b943eed844dec558dd22df03ec7e0f266642920bbda10125d69ea3228711ad87b816a1e41ad169389540ce3c03ab4d00ec4f80cb295a94604be50eff4f0655d39f05db40498613fbb645108303030046a3b317f83fdc0be17d79e06b4e1a8dfc8a6c441978d4fbfab7856bb1e9c20219ffff03022f84a8fe5c9ec2c32b2267c9024569c2194418e212c7b9791f3bbfac1245ba036f0e56555870c5763230e0c6bbc097b91a7dd3b62d5e5f47c7e147e94be23e6403bb521cb9f89107345e22ed1bcb294f22a0d77fa462c608c522b06e34d8c2d930034105d193168e58f65436c2d806a55d0aad5ecd455ba42b17c8f658d1babf68b303a478bd0c36a037cc8452ab6c364d4a90219040f83392d078bbe6f827d99ab2be0219ffff03f199a61118b5ac88ad2873435e9a9d62ec6de8f57b6ef1aec9af1ec3c6d6352f037e69e8ec25b2742862b1d23a002da6db3bd2eed552a3046138c049516d57e4e303bacaea114280fbec7f319b25460c1f0e0c3f422168b2b3a3893c181864291c190314f95127179b39dc25c28c8ebae447a95c1e84734946b57af6269277d54e5896033170bfc4552f974cb53953789f3d17301ff9159d1b534172bf42bb227faaee3d03f49e80177f610b74923dae1a09822534cb237a8268ebe65fd3501cc74fafaf0703767127d69fde8e031b4e681432a837d1e57e6138a70ec170ce39fdab1026082703cc630cc9a0b6077d8b7b23f1b4cce4db78b70b0ee331c49a6f5c0b91be71db1e03370a3d16e214ea8e1e3f3e6b1b21e90f50cc343cb9460db03bc282a22ac4475d0363f56b590b392f1a788469682253bf37a030712c991a81cc2b4e5de70623abad037317cc4736662e2de32f179330dc821f429a06ad583fee8da9c49e3ca4d9ce9703bb021f9835556e315c8f3c2e5e4f8e50c5bd90dbf7ea0ef2d6d851a7e7c10ce103cf6173947f56b2303b3eee363ff38cb3b7feb3ac5d564249835e024baea93756032cf025d72308f428f17d6dcec78da861b059cf651855ef1105fa2e051e23474c0328d814ec9db5f99afe6671b2f62498555b87cadb2114d617f35c69337004b15c0311538eec9d56675eab6b739f8c45ccc92363bcf5404bc1d73d33ebd0be893f7603a019becc108bdff30b43192d58626bdef61676129481a5c63e900f4da5b7d518032b2488fab6222c14fb09c9629df77eec80ee3c0f1ca0482cfc2b5786299bee89035238fd117b073f17a90f5bf4831ca0c632355eb3c04e8f43bc3de5d4afc654c803d1443b942bd04ce011ce4922dfca33f2914e0e93fce96cb53e42f3576aa95a8a00581e02f38cdac861baa66bfc6105f77bd80934651796ef1d60a3e2e2c41c656143028c6a00581e02787a570abb7eddf60fc39478faa78fbd139427876baa5ce8e5d7b1b370520d4c71c39c8a4037de50aec227225271fb7500581e02a820923e4eb0b7d0c8a494f2e5234bf43b69c4d67a98bebe67c11c5fb65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a94b9beec1f7b65486ddbd11183753a418966a61fe4214a0d16a23a81e10850d00581e02990bfe89119a2827d333220368ec02f4ad9f640abb6f7c6d904f99ce015820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0346d7b32ca9cce418c3bd2fd6a5a9d9abeb2ecac9e10203ace8a8b5b2aaaa7b9800581e02ce8c362dc5c77dd5a3e5639299399f7d5c0e87faf4a169fb4f0e591d7d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219133303048573ef32ee26f331124d45065cae9f7aa5cbad68537cf547af65acf25494710219ffff039f8685a676713608b8a7760d9835f30f0e17cdba75523a225fe5e95c613aed1c03cfd74d9f78f16d9513393c922741aa2c5979e473704036dab34133733382ebeb0340610e1020536e2080e4c10d3da569574a6bb49f403e1081fb4c3aec181aa0ba036d3ef6ad71ee681f71e3ce29f913587f94d7098d6b34d73e975e3119c0fdc23b03e2a9b195a07d30da4e2acac4dc4c59fca818a8422fd74592b208dafd41051308038f2f6cbf6598cdfcd9d5db5abcd4230522e2ff73ab1aa7b6e06ef29ba6685fe1035de725fe36936191398e7f77ad8e6ecc74617a3ef2a8f0bf932d808af7708c8203d98eb7436107d6eebdcac1ab62cb504c352a4324155df0b8fb0d585221a174fc03513fa38e4a499c2431ecf683b2165c202f12571e4078fee85f4dd5907195970003700357d6d5a7621b607608468774cae492c30c0a82f024f27726d9aa36cda13803e1bae33c8aaf5426fafbbc3de5044bcb2f85ba56c39de9790eb8f35c137de35a03761c42da20c545c596a2fc389df1395ea5b32ab1eafcd38b8774c479472063960394d8bcc5355c9c0c1e03b7cb21e888d3ef0a6516406ca6e75ad344d0bc3c969f035772fcffda8ef09541c6e667cfdd5844632f28b55afe15f1540826455c7af14a03c296e342ac173d154a2119d319276cfa5e90cd7e3711209a39ed1cd90c80dbac0219ffff035c8cbe9264b41abe80ab0f230a1c2727ec11dd24d85c2b1b6187be4477e552a503a53726ceb5efd8479cd1aebc1a53cf6b1ce368c725322fad9ba1113ac7ea1aa203d495cfc2dd9d8c861cf09e157feda649864454645ceaec5e47b000d1d9e640fb03893df8011aa2e4427d893973e2e196b30708695943e4e9a895c1d35efa84ddb603472a264dac33647ae2a17d3bf83fea14d120580230dfd3167cda102b5cfbe6f20314a3d2202ce8d957029ae31d9e6819ae84d5d9a38c6a53ff10678d1a3f369a0803c24b18ffa29dfedfa1b8760993a38cc1d46ced9e9d4ce8f91921b55436b9cba603b6e8d3ce638c08ff94b41c80e40004c38f1ee6e734182bada5072991ad89face036d99e6e23225e4cd3f953290d632b47af740423fb72930b8bb857e62ad68a0590219ffff036e603f4a52c6e8917558cdb8078ba061560a4f7172f784a7e3c988f154abfeb803ab90f56b6d175dd35534a46ca3697823f4279bd7c4f0fab6dee4fdf6247c5a3d034c65eb2814eeaa7afc01e78e737508706350dcac56caf68d6566c7f6654ece77033ca0ffe93ecf37aa068d3d7931cb2484a1e370c7aa2b5f511d57a110839bada9030cd3bb76c22d31967d474396c5516e8260867fd871b0691e6db2084172772c1a032431b41ffd352205c12fd0dc69d6c79e8c473fadcb86dde6a04d4777df796de803e06fe5434b268ba9ceb4e946b955c3df4e7d14a037d0e8990a330c8674ac5ad90378466412264a8966473263e58d099fd4620d3aaad5918d669b7fd24d1a327d1c0372eaddb820c0dde92310f6f5de528a88dce20a67928a4c95969cd691cc43ecfb03d887da871adcdf14626cfece19eaae0b721802aadd51b3c6f79a8f8e571de0fb032a9cc3f2aed7c38a059212222c2c0464125fd38fbe37a250b3404dbef61131b2035d2a0ffe0672e927aff92a150305843a18ad00d69ef8c5dc336d7f1b6772942503a849616bbde465ec96fbc56475e3fcd14d2716e3f457c6bb4c7f5c36f2a8f11a03787b70a5a1e197da66d1ae0ce182e722118722bdbadd1aae593caaa21f2e3ce603fc0c5d13f0099bffa6be471188c319fb6e3db821e2c5659b9403ec3a1d500c7a03706573238ee5cf0189457ffd52efda110c7c36e15539812da125ce65259b9f0c0308e91e9f235d15aaac9477dc43e228162f8d871c3f79a1e6c3ac55e6d9a14698036596130608983ce7a6c1ee80d008bc42ff86a3888ef28318a2dcec8a8a5a34a403ace9264923ba5f556ecd81a9aff132af7f07d6463c0a357ad9fd36a7211bbccd03e736c5c079e441aed7d7130bff2dbdba7d75b1951b53a7bcacb025d99107a1c403e2c7aad12f60d137e097ba3c7258bea1f559eae689f0a0606a16532cfb8a7dfb033c2b115bdf1302450d02d4d3a953f86855490ccca611e4d2ad5cd1e996027c1403bb6ecc633384365b672ac2b03f67ab187cda28e4319ce65b732f9e9c60f60b8103111319e0b3ce2054658d3385f1548221b92f68ba6e0cd9ec52a5df81d81a1b1303dae70721865a1bb7066e9d3c0ebfa790374692a22a9b86493ca0cc9ad26ef2a50394c60c40154214970a9c228934d44210f7c8a0a15039848c30f3660f72825986034d12a2674d36fc0f9f12f1f368adb505068107bcc53a8b9471c5aa0b08532ab600581e02b3b29a59ee05d43b7c49aa934417a35c61c2693ba9c1e9f75745d636845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021ec2d5ccdd7d68f225bc23b7221d5e9573ab4e9ba15b6fe288679d802b4408913f2200581e02d9ccce3725031b8856891950cbf341d754e17aeac05b117eb3fd2b0bd75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021944bf70af64141e56ba75cb080dc964a577c4f9b2d2075c6372dffc615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028b53cf7a408a0451c5313a3b6e5bf6b2c65702e164f153275be5ec7ec543061a800369e4f80a9577921a8ccead58e0114dbf14c96d514706493ede8b29306688f415021931320334fdd0bbfbd22725c413c5ed9199fd9dea770033ddd97ff3181abdc595b79bd603e320867f495b75f7897272df5de8a4d9f4d237219542c40227cd72593cbdaae603b8f6010c0bae74c0eb5e2bb1239aa884a022158cd12d8beb9f39d285c69af3f303d38c69e33d4cc0b76dc248aa35c30a1d31dd456ac3e79bd07426440827fe689003d7fefce52d9260788339133845045a3b62809c92a6d6972553b538bf43c489f50219ffff03a5bfceccc84117804f90380b5c5643e765834261c7a059f5936926c45c3bbe19036887a4fa13396e01e2a43efefb6618199b4876701a0159685b8334c14b9b2e6203adda8112d245bf1270eb39cfdff695aac2bb3ad19216ee12e881e3c43a8b9b0703c31a80057ac0182f8475823ed2962c4d6d62be5715bdf99c8a878705eeec8f150395874663495a59cbaf134cf799092514ce02548baf76051b57a9cc2694868c69030cb609507b0d10f6c0e636429533c977e92198184e6668fc3bbdc42ff6db02a3034310dec80a3fa07112da105128aa360b4e8f55d51fe905f281538b6b88a090ac03637d1fb8c771937ae06916c78d462993f056dc92b0b8b18c25bf6d8a4847c80b034da30b1e076aa6610743f4c69ea031aade7e994dfaaaccc0fde1ec4b62f7788403222df810498ce2db2fff94deb2ae3504294da843b584b6e0ace86412587d8a7b0219ffff03f4aa8f4cebaf026f05acf5fd04875c6767ee278429ac3b33ae8d9c5051e9d5eb03c2059b28cf839a0e0be75744783e2bd3e447b9c68f9d8a923fdfce5726643cab031a8fcb6cdf41a228b50d6137df739084c7b05b1daa7abc442c66d417bbd484270360884d53edb2ae0b23d3b626f34607fa4ca5fc9f3de5b626de60957a6b64669303d1bde176a7eff3ddb84af0134a4568b43dccd1d3a39b975b7c933cc69c9b2f5a0306eb9093d9418b83e18363014ef3edd71a2240bd653509d037b40c47fbec96fb03bf0971aa137085d99ef9bace699181128d4e8d3a01f7e4066bc13acba0d2c2ea039ab868e0b0585e1d5bca63f104d052ac1f950bbbc733accfdc6523b1eb5309fd0383498ce2226a1390d6ea72a5529dedae5e39e9a7d82e2a0a19916ebf5d48e59f03b35072bf0e36855495d76cc5e6d9f2d76f0853ad22552d811614f57258f3345203cb725773ed657b7e063822c1e10c63ea50707a091a5480a5830fe73139294f9303a0c353e08df0b9d52458bd5ea48c211e61751d8b0173826bf36c726260e463fe0219ffff0396ea6c4edfece4de221c9511d77fd4dc4d9a7284d7dd5dbdbb140168a6e89ee2039c81b41df65885672c8846e6d8e83042a81207fc8631441cef6b5b429d458798032ecb9b246af6b1e680ce590b09a393b5a75250efe22b6092bfc82a6f953a2f850333e9945bcb993b0e62e76fc87fb78d7f3c7fe5050ae03aab3ccb6128085a709f0369d7fdfeabcb54155e5a1e82d83950c5be3e01c5c55a2c41496149b4d154644d0356ba1cd9a22350caa3d4c667168b0a957338a506f17a73c217fb3b358fbc779b0372ef4f92ff9c29467ca540c3e3872b33b6f79e44af91adaf17727b6acbe5cfb30385ffde79bdf0496cfdecbadb1fcfb2833c840150e59cf005679711182f88edc703668986cf7d5220e939ccc1c39cb756285748cd780415db509e522791be27fbf0030e3d4671a40a745984335be051812b07bf44608372e6673273ad187c7a8a67da037826fa1fe20b01aabe78106a154505337e2fdf83524934d79675f8a85f6c53f903a1f1419a687a1045e1dc2b6f9e01f1b8e40ae81fb6f212848be569ffa8e4f9ef03348fbf00ccbfd5ad29a0092bb5619bb2f6158c8fc832a95f1d7dbe756aec3a3b033e2c747a5762d7852d71f72e5ea26660ec693950b435c49dbdd12941277dbd810323b94e6bda98bccedb4981644c9796af7649968834d4b36bd0f8b084e4316097038e0b7dfa540db48d53f2cec3ce31ba1afc3c0bbea0f8aafaa3a863d7eb0bb2cc0385b3ba257407de6b542f2f29eff73ad4edda2514b7ba5c33ce61c83a82fbce910327b340c908307638266b15b75cd326c2073da086ccd028883fd12e5e9b36fdab03e950b6ee2ee9f04876e8b3758f8a64085fa829a7b5f1a7d050b881b81573d12c0359f6492679653e4a994f71b73ac97ede7a8e3e40d5b1c9b7e20875b26ca362390322948f8a802ef8a453fb2dd15711a2fb7a487ad05b7e4841c0f1ef5ad5642ea103af2116d170d116784f2783e07b1fab61e2b572de486c0ff91db951fc9d9db83f031a3975519bbd9f95a1e7d7545056b951fe26db14a94468b04a807eb3a364373800581e02b4b97eeb98bc337f306d962f98b7decd88523ba51d7d9933e94b3f01365820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0381b65cd0950d74145351d549f15ec2933c2e4ba04d8ab82977b24f5576cd8a870384d72d1dcd10eff116812ca061f371a7e7af77cf4a1256609350179855c532e700581e02d43067c5af15012b384bb8e4bad0a00191fc2f878f16a7ee02a4079d2947015fd3821f6d0000581e0256ee467cca00fb99ced42151cd1d8caf1ee5eaf2fa579fbb43e8b79d83581affecee2142a7dea9314b809a0c42d3e9560b1408a9f3326b255d021954300373112531f662a19c29fcd531e03b5d57ba56e4334f84bc5e25d69ee416b1d6ef03eb30e09a3b5b496e2c93b76cf4ddf3b3da86dcf338f53014a52af9032069180103de3ca28ed7dcb2f995b37d0603d843f010468ca0dc2ae95498468dbafafa8241039f6862e083208d8afbfc25d542c301458eb76c51e6ce710d715aae7a78af2aa603b44fcd32df6addbb2d46e78a420f848162de2b7d53da41c93c186c43873a90020371f8c3250236b89ecc6d9b4ba31a17c23fa215978722407c212f5ebd94d15c0203ea2438d9f94d7bd3fbbc43adbd95fb9958537ab51578f5bf8bfbe5c3b8407ab70320b5f4a130b5a5bee0c43abd2377d07ce90035a2e64c5bda22a811a5bfeaefe00370da9f04f55106427a58695096ec8d5bdc1e7931508d60cdef95903b3292632403285682a0eec21537414a6b88615c85c5a3b64cb119fe8a318a079399707f91b603523ee59083b73e5388860593c88ffe44c3f06c84488d368633b562a329e89c2b033c2f453dbb2851924e3d051b92dafa087c90c9043ae340cfe0d16bfe34451c130357e7a72e6fd864da9c6ec90e6bdf225f2a6c28604d2f57cc27b948d82d6a7bd90385f70843a060a6300bd930133081441c6a23db296faa8d69b1af02db81d144e0033840da767cac6918a7430d59f32b63ed7d4f80aeec7381af8abaf7a14b4dc4d10219ffff0219ffff03f05e5d6040139f2f1973eef771c12a96c546cca80f584d8e83f12ad98ae7b7ff031871cf58ace89a55833a6327dfc94448e1c2ed1040a3821266f2768df818fe6d039bac25bc397961d6919d15078c06094bdf5c31b90c4474da60d1261e037fd9d9035ee463671d2612482ccb210f40c124c93e2e421506c8fa810cf9b9ebca79d087035aebb0575eb99001f1e609f854772baa7624fd0b1ec95ebcc8056fa7e780bb6103e4d37df8cab53a638bb5b8a7f5e12e80179414c9635f95f7ae993c89f8f6479b03c45a7503487f446bd887d0ef3f1f93e2c5127f3c5c4cc6b474af63996fdd30c5039166ccbe041d85057b192d44fb762fd3f762cc16e6a4265ecaafe2e6c1b174f80219ffff03c0329f32bac77f0d69645b2b4c02ca496335924536e5b69f0251222b0d1840440342a4908b6b7ffa09c48e9de2e35f8f5c894953b94169c23347511012cf18439d03b9d43fa900ffcb0a9c33950caf64f3211ed87c4b1529435ece5d94c696d7ee1303e9b7b5913d56558dd7f217dfb9509349cda6ceed83d849af4e06e95b7d19c84c03956dff3d4cad7dca04696dc61339a141f646adcd93fa1e9491bb919ec15e11ba03105390615b01ea1a27caf2cba3726cb5c7c2d3dd9fb4f3649097ae9f933593bf03f41673ea4664b98fae7455d00525bec01fb66772f0fa41c7e2e6b81789f5fe7b03694e575e00241fad86391f3c44326e1c0be25b99c1d9f56a82e1b445eca46fee0382fb6287343c66da9cfdbd345bc35e673301d6af4ef204f909fc90637a998ef10329a2a69fb9fd103951f26f94f2731e970b6acbd939c1fb8d50b41d086e1c81e10331d45d77b28e2f4d8e4415191ce316b650abb518a10111be51d406edcfa142b600581e03b66e11f66b4f393fa48a5c0c9df75333c125687b8526ab32fda16ad4e04606269914317900581e033ff5c6fa2a946e16b337284b6ba07d6fe5299a6546efff48e918393900443b8b87c00219404003f1ba0be8530eeba63c99f5c56d596d0bb706d3acd9d53e1c15b4d20ab5f2fca2039b1557ee46b03ff0ae9a7e874f76dcb2592484f3d7b0bf1bf0e9c8a61669b13100581e0284a07466c4729a625f8a7cebdcdc0fa8af66a5f5431f9513b1f322a456465af3107988cc00581e0219bb72afcc83d24984871e33c90e6c16dee5497005417853a930aaa6ba581affecee2142a7dea9314b809a0c42d3e9560b1408a9f36fb80ceb00581e02e4037da55a4b3da3b70f7359beea2b01ef43764c830fe70deccefe1cd44fc097ce7bc90715b34b9f0f0ee632c000581e02fefab8cb0a205c1acdaeb6261a5a782e5c052c45e72a1f38a99fed95714404c4b40000581e028b4a4c955e25a4ef4ec5c7e05ddffdd124334697e0ccc5453e265cb8d25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0272e91731f91bb34076508eccf8eee7e4fd596b88079bdfdd8bd4008e73440313ceab03c35980a086183f9adad554299fd14f1a68b05b08afbb67a2eca6d06fd9f1496b0219ce3d039dd88a6fe6409047b66ccbb911cfce26c34214a8f827c7354df5e7de3908e3cf03ed93105f466c9d4b2c37cc11adccc3ed8229bc964dfeabefb30fb48c6eb61b1103e1d7d2bce3f2e0bad542152f6d9caa0a3ad481d5250e525ff5c2353796e24a4b033dc31c1582614b36412fc7238521d654f7379352a8fbbab71a2ed79e11a6387b039a4b1d42247e322242104d9144fabd24dbad75455fda1cdff8116f8dcc0c5b7d03c79697c88280cef8a15505bbbab716d02e933f1ef1b73d00f3edaf367171ab8803f6154ba8ccab905934938f4ed998acc9b60f7c643fd232139a1d48ca8e58d28703f49c070021ffd253040c021a4496d24944930fbdabe64553d993cd5b82a4b9f903be94a7787beb4800599d0c06e3589b3633c967305af1215473d8401dc33d432703619c6881d2323b9b56396c5031ed1da9e327df9554ab08c4fe3fb0f2fd4d2bfc03272e60ea1e09bb7637b91f081b901f012d713a0b338c4c9cf7bd70b572b47eae0325979ca6140b0c380fe134f30d0fdc6ecaca469c5ee2a18937a7617e298b077e03a177cda9176d0c95d4c83175b64522e90ead676ee0764ffae292cff4437e5e8e034ac5f17eda5fb36dfa890ddc4bf28226b492c8415a45a4e92d7b19ae48f8498e03abc8f11a012fe83faf12a1bee0e86a511e0c571bf333dd19408da61b6675dac80219ffff03691e414442c18ac28cd2b61470d80c9d2f472be4aff0248f2a5166acf3c3c5f9030b070db86deb6ff563d2a43d59e9ff14ae0c2bb0bc9feb0914e577a7d332f3dc031f5cd00470607f622bc0580e4732896e64c1f21163483cd4135aebf14713e23b03a63386fcaeeefb4bc5ec862f3209878aaaab379f61908bf9859d9e11c272f82b03b711f8a4942022fabb83850ff7fb4004b70f0fc05f0142e2d518f8e7a913a4500316027baade99324afb5105d4c9c6f7279240ddcf342d8e5f6a60dce140ea9b380371cfa84b3b3b6cf6858f1158dae0fae4fc9e372c3bcd8f846ea60f4b6920a3c1035d5caec5f2626d6e18d43d21d6f93e0cdcc3f73a5ce7d7981c45f90012d9a78903262bbc542fe9d25c94a952ee2e4222b2aa728485b2bdf40afc969d3e50698049033b3b9f910302c8250e405017e4269d024b260e080b312d16f95c733283d50508032b98c225b3ab226a94a3ed8c426aae21355dc4afa756d093b45eee3eb5e1ea580219ffff03997d2728e5a7a3545ac6b3d35839096a71b79be7c69251249b03e9f6f80e62760312e8f7d5ef14d4cf1a819d1163a624f45cac58b8343ce00e00d913b1ded4d3a3034069f1597e8bf1fd910d28cca326d547463246a449f30feef5931413795072bb035c41ddefa2c12e142c15ed34a59cc302e9a047e77d4295e2d7913158d10f557d03c1e3a93f2752e5e76c9efc612cb566c7a7b2dbe833921c6aabce30817a92c017035be68aaf0ba035fd8ac5e2af1f064e495a2b0ae0235815760dabec2eb6c1cfbc03990a8b82377ca7597688040c7a81f106b895a97e6413891c661ba7dd6a9d6c6e036103d66e5e2e88117019439ead693291625ead3b5e7b85645611fb9d3dcae36b0301a9ac231996e2794ee1d38be106579e8409a72b5505bbd15f91fd6e4c66f1a603f4a69c74ed2a8cff6899ce525415006c3c7375df85c5ec7e201343ae357cd0a30219ffff0219ffff03852a5f0bc02a8b90753ce1b4eb0e9b6aa18237d62ae1ee635e2b2ca48c4ec892030b76b49540ab0be4b7d9d4b9a791dcc430cb4703686245dadaadbad2956333b603e685bebe771e54d792e9be894cd16477b9844070d16418aa344b9159d3a11f6d03f1fdb50c26040227cd504df4baff39688837231acfe48752567117f93f2218f6032d1b30ce68999f177554924aea1740b3f36c3ed3d4d834a8a824cc8701a87af2035c9edc65db7b975af61d981ba9f431a57a8b95aebff042e9d89259d51684ad5c036e3615e9754042770aeea83274c8c9e190bb9ae7e45606ad472713375147cbdf0342524a6f091b596c22615b8df34a32553c47a0e84a22e325a1e0a95f3721de890302ab0a2e408b7cef3aead377cb3800ed5ae7d055517908e430540cf1547bc1470325b24c1e75f6f3ffff7f12dde1a2d0e90b51ebfd8deef20c4695c84349fab8fa0365c293b3c3519fd1b55edcd9731713cc3280bc2523eca352ea2f324ca3423b8603862ef64c05b6e5a2739d88ff91f159411095e8c08aa367b2ef8a679a6155f181037e708c392a2bc88c34618a86a8976fdbd0904fa74993f5fd5ba156da117038c503477a2e8b00272c6e04a16028d2574ea3664361ae9929f2c7b4313c81d8682e45039b84697340d04d6dce4ba4e1ec1820ab9b3e0be4d709e799df218e43705aaff303a855cc23e8fee857adacbcefb975098ab983a38a06cde66c851290624448229a03312781827a60531b1f402f9687a9eec27643459bc1f99d2cf53c0f924ffc0638036ca483e07cbf6f099997d5ddce4ef1148d1bee1fc5741c503f72c643c002720c030e76dfd40f84b355ae2c72aec49b86216116d59d9e880067be26de43dbfc3dcb039fa5c04df8a04426c012cf61c356dea1e0635dfc32026a247082ddfcba6569d803c41b2a2eba2eb13f840de23ce00055b9e3763eeb3efa230ae6fee9f22f7b55ee03f22a1884ab115c04d4080ff1fc684c151b46f08cf4ebdae50bb590506e08927f030737274361fddd4b8c017e5aef3af0b2fe2958295c2b9c48a868cee0381428c5035bb06a20510160e7d3de0cc570567a8e80f06a75d92c46368e01c50c9147d2d5031df8e8f237f54ad19755646214fb530fb7c141ec658c824664d09f923a57b7de03f125df4e463d403a94c7fdd099c84dd8058e143d302ab38c77aa6e819b36382700581d03d03f59c7be5ab20d45fd61c31208ce817fed89c3c7901a838d6ebbc043af0ba400581d03cfdf9bb905d9139a507422cb27a49ffd9ec43745150c5e66039e29704478b30c40021904080142002200581e02020086a189df5bda1c9897ff7d786be4d63fe38a6293c738b9b0e414704309fc40035555bde81d4ebed44868eff87f2ba677a8fc1d5916a552fca549f7acfeb6281a00581e02448b0be798794296312d4cfd95ed5a7243d303d932515387fe963746b54315c05c00581e02805947d33a9e7d3062261105ac41754cb124630c4c65aee09612eb98b441060355e32aa4c526e0dd6fe8e3b175806dd8b2429269aca092226d1023df081b33d7039c4bc9d1e6990ed9c9053f8be0512c291f6dda5b9cff21ec207e5e5307ea718a035b33872599f325f9622979a6713ae5f8bcd9ff2c8b357c2a3894422c127959a100581e0271fd864b50ba7128d7decc7d05f58a0e82cc2e7ecdafb13fe17518fe28410800581e02dec38ca5c19be9c631cf60cc840e5bae46f3fb69ff2ddfba69dd2f22b55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ff280334771d22f96571ed47fb8ee8a022cc7a84303063e4e082d067d2197effd88ce803e0b3df7f2dd70b77f7fc459c5fdcf420db61bf71f0b11e864173a846a41bb3a103078948851fc0a8911f7b582fab379ea2e2626614176047fec3e1a718ed27b4d00329d328fcf9ff0f2098d9d41cd7bd9f91ab82d73557c306181f36875bef6407c60219ffff030f830fa472af5c1ecc6ca8bac370627b658bc6b109fe1c729962e6336f6fbc5e03e63b656cbd7e83c7b15a250f153d9c17b4d117ac8ddacdeefac621642b9baf550373724bac086716e42ebc3d92b31a38c065fe2730c7daf4edd9865e2e599e4d1a03db6bd62f88dd0aa4e5e72baf0b16973d6e56bd44f4134014bc38afde036efab8037a9523f8bca122842130787f3f27608d486401cc5ec2fd662d300ef541368b400385057b4645d413b890dffb22b7f1982b8e3b201174d93da80dc92367158151760219ffff03beadec238518dba08266bf1cb0fa14a0b8c4469453731dfebcaf1f33bd4d703c03b47dd059b09b2f1edda5a9ba32c574ff24f647300d3f54054e51d41d7b9dd4680377746f0a0832351b2146c41fceb8731da1c62340b025a80348c5cfc07163b24203a5cfdc648a2e07d470a352a1f9d68353a0b031d8141b8e1ae263ad96f736995e0348cb9fd49fa1af5e5f9b8c78decddd427fcf2eed90ed92caaf23dc202875bfd30342e95fca16eb9f43ac74c3b48fd5fa04eacb428f95fec483c9d41d2e36c646a2038b84fb12fa5cd1e15640060801e79d7549fb8a878a19b28f9c5bac67270c485203d774ac2304080497831ccbb78bab401af9dcb7300a58a860ba347a1a9f9207f20326de055fc11a60e01c1891056ba861c144999bb61d98d6404222d17f23a3ac590388ce31f812cfd9b7a0d4547d4fcd5480d8a94ee9f45b59015a08e5fbff4748130332ad8ece424313ed5d4a0b5fa8dc3f10f0e6dbcf2c8fdd942bbbc74d1a93e9660219ffff03c3b4fd3f700f2af1f3b79ede49086bc76b3327464b4522a3f57c5ade66c7631e03f42725ace14416aaabfb9258be9a9279bbd098c8f6616742ffdea624ab91af9803fb75cc9170b9e70a1b302657c8be2f94cd04eac92e3499b27047536d79c3f0c603cd285eba82cd483e83d51c742809a81c3bfc59ae302714b897f3fa9e771fbfcd036941c1d59898b7ef012009514c454c7b1556ec09bfc81e97b77b7efa2b20dc1c0350e3fb15d33d2dfd5a09cb8bfe64fd90f1ed01b6e77fe331523fe43f1cfedb12031a2c7f3b53d8049d09b03ddb0295e4cd2fa251e4f421c0779273ce2cd46ae4ba03ddbf98d4bdda56729ffa1a663a1cf5d576a4dbf729a5cfbb59ab4f3f4e9fb93903dcc0090402138a883b85274ee8ed79e8fcbcd71346d4f0ed9a7d6b989723ce11031e1a1de6109114c7427c26ef6d05cc5da445977d8cb4a709e7a08ba7b697dba2039ef4d49f552e1510ca5c76efc617ad92175b550a7bf1aa87ed7d6296e6b76f2903c3f0ccbe9818eb2229dc1cd77b9f544404d5769204f360174fc6aced2872834f0382e7d89511d4ae0a407116b7c45e79adc7439585c0ead4b9e87468f3fdf63d22030d6949a640da88afa6bcf1ba53f67039eea5d7dadaa10c16074b75e473c0f81c0324a86aa465655bc25b85d88b52425f49c49759bee2d43a4046db9062f3b6f59a030c5d676b8c4244372ed369df29ed284117122ef9ba71f5d02646aee96cd6f2fe035fcd8078dc3776cd1bf983592e85511f23cfa4d082d80094d24a99c46602840903f886493101f12bbafad2e70f1e9cbe8ef0cb99a9d50e6e270d6fe1b23d04de34039b51504c61ea6674002832667579df1fb083e1e406ba90cbff080ec5c667d8a203a6b13d743a9c3d507f78375a52f032224d0bcd4086387f6b8ece11bc6e4cf371033c7550ec6aec3eece17b20e9de8b369087d4e51b41b7868bc9c4332b5410d21103dcb997093cb5d22a1f1c0c2cb09350e0c6503d8c22a7095e1f5f3792a963512203245110f2e8caf8c47567d5d2a6e4f6705a818c6f6e400940072cec62eab4e378036f440d3cc50499854a2b3225ba0af6ceb253da7c6845b099ee4dbbdfd8dc7e3303c161ba9df19c4cd026facc9574f0e35385d82186670c07cb970ba9c93dc8b69c03e6aadaf36d0ae7d0c56245109343b02b5732a45bb5f4952df2815f1bc35aa46d030e0df3b53d2e817e3b92e12a83cb887f6d090a917fa0f49fee82dbdf9fd5380203f628d662e5c2047af4ce6e152a728b9a0aca91cba0482002fd87fd4cba1e8638036b9888ff3d3f81346c38a091d4d80dfe473f3783eb317d85c2a1d928ec04c8ed03865d8a916cc58f216f2d37a2f94bdad1e0a5fafa26556b09204867037af0295f03ef031226a0e68ca784ff4c7f9b0199ea8ae11bdb252965abe62a665ec1f850fe03e3f9db542d88f037f3f39561e004875c1cd8317ecc397492528e58a7b885bd070345b2e8cdcbe57fa4a45fdfa5f20133092cf5a987d97c24f3e1c690955e4ea2ed03d166cd7343f0bff683ff9b1d4e57b6165633147bf39c519dd07693ccdb18232d03a5bc7578feb69d4a0cc0ab62a5dd866c5d542e175d801b1fe96bd3c245e15a0603067a93ff6c0c30916c54edefe2881b13329a6845ab308263286f4eedc679e9db0399d3033f6c39af575938e56d2b6947944191b6759151c8cc5943d1990933e08903f7ad70ced18e743c02a7c9d2206636fba1da629a3789b34ab27e756c30f7861d032d61b7ac1fcd3c48cb531d6dfcfb3a73389abfaaf486dc06438369a6063a8b7c0359d7053d68635a36880ba50351593675574a6fac3e5a11f8b3e83ee378079ae703302f022c64cb51b70a30a2c43fc8aa90978526feda5dd15435ba1491ab88918103522c2de7220fc58fe4ab24d16855af5993e4230115fc4dbc8d5e7cd0ce9cc6bf00581e02d9736fb6a3983ba3feaefdeac5f8782d41fd20889beed1dd268c119cc65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029f9f785bc8139b00a9a7eabc35848afa6570ffb5d9d831e63af3baaaab46116608d2d50f00581e02659ea21c49d7d571af6d33e10c344b09d170df49eddb3863d4d6e00dcf4309a7ba00581e02a03ff966eb3001ce1af94587d8849eb0432d7829730c4832ab27735c6342271000581e02bdc13e82d1f0c4f3a10c025180359b0b00f5e483520f093384980ae65047038d7ea4c6800003283faead291ae7e1722cadd57ee8a5dbc9bad986f87d9c6c7f44a96ee7e26e0000581e029b458b2f8298241659744f567cf381885dda250721f1b2e25dd82f62be5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0364037757392dacb82522936d017ec5cf8b38f7a7d2380ba626be3c021d6815d100581e02ba2d1bfdcf567ab5179e99d2fd882c062695dc222d89b302253e466d37440278408d021969d503a695f4c1918b206ea15c3b67a50e6be9d63142efc709ec0eecdca911ecdb79ec03a070f1b35651a5ef26e3455b54f576a7958001375307b481cea4134fb74c502703ef6c017207f69b02717cd89c6a0f0debc6daea0b332353746f20339cc9766def03a9272d8705c26594691867ea0a8fd6d5ebc208f06105b90218820db03cb9277c0219ffff0219ffff033b317ada02bcf07d6454e0f7cf475ab604bea61b8d4b728ad9a38db43031cf3f03fb6504f25c5a01947aacfe915e7528418f8004a0a450ef03d362f3c1d650713403cbcdf94dcba48550bc4213d520cd65fe939fd59cc9dcb716d5dc1fb4cda3e3d703a315018b6a5327198ce2152f287105d9ed78537c366b7c7ed003a87e98d7920203e7ff80635960b3468524b79700a02afd13e4650c09d6d57ba5db4bd7673f7fbc03c7e911293397357521de5ee3578129a25a0d913f4c6eb7585ed7c916a14aa8c00219ffff036dd21f6423783f1251b28def64bc4e9b9dffd43752716b90f6e29dd84de846f703b438e19b6f92a995905c95828856ce9599dc9a937a1fc591ec61d708c8e9a67403c75db70ef98505c725f8d5c49b8738865c1aa17633de4ffc16447600c5a597e903bc45e3d8bd38406b08272fba75dce566eed16579a7ff9837e39c449c967d6159030b78b75b9b366478b475386e664f9cf63ff32968202b21ed2206d8119dc8f5cd03e8e1573c6a887aea621b3af940d6b24ce01853f202b19f4ad2e5ea340f2a283103b87238172802269ef649987c14ae5314a5ef5ea1a860dbf260530ec8f2311ff60353e5272cb19ac6b8056da60e547f448f1047ec519c16ff860f013f75a5d076a103fd3aae1cd8a9b729c8fa8bdea527f916b44fbf614b51248081baf64960a93d250348cd2b374077f0955a0ae2f4cd2205510d8906889c676c0f8c09b6d8c1b44ce403f9baa67c577514e94e8b434ee3b673cfdbed10d982fbc46328dd84aa929eed65032900ecfb753946734ec6f8892763c5753b05cafced4a525175db0a8b308ed8e70339e61cef40da5f45ec82ce5503a9ce7a69b4076627f13f4a866aacdc533ccb59035ba98f6ae0e1db5fd101cbd874b3b959273131f751b6e4a37bf367760e3e3304032c6d787febc63c6dd422616f5f91f7134e09060ce9b776c23e07daa8d6e3da81032da51f2c1e08572b523472c9387bcd31cd2658b02cb49810619004ee36404b1003d1d1a42138e13e55772a3b65a775defa7564724b8faa91986eea80e5bef4e4a103cc6f79f5a0d42cc38e56e266d72729f60c8ade18d7e225bc701653cd3f84178f03b8c51efe992e9682498c1a923cf61ed06ed70624030eb49b2984cc9c3ada453e032eac24be0cce816ab3514d79458e0f9b006d552525688c3ff76f72d4df0cb0df03f1e60d85bc145aa621f96d206fe4250ec46f3db2c28d03b8332ce0acda0dc234030b312c4f989d5d512741102081827265dd0bd2332c2a8bc79d9c34a35b13c43303c5da6562614957ddb34bb6e42c18e5b8e7f592c1a717ae65aca2e0396e57993003728cddf0866ef6f9983c7f1f072e71659d4314cd7508df094162ffacc23905f903f3662434334aec49374d6fed309883768eb4eccd2c675a771c729e655e8bc4a103337ab7284c4e9badf391c29e99426cc946a12c9cd1af4118fe0b12aeb9066e1903062d2cb7fb2ca5ddc3514a402062eaf9228c536a4444084b22d48dbbbe0495f0037a6c6554a48d1b1418741fc084697868eabd88a2b587280f28d946342aaa9fc60312c97188f74c0d356274c6cdbfdf52b46fe0e86e0491b6b8119f4037547e219603a5f311a6f69b0b983b717b9d8231db26c5bdaad6619d2355f1a0203599cbe38403136a9925edacd78fd7b0756806e43c67e61606ed9082f5d68b891d173c81744803fb31133916200d963d9429dc39920b0b6d598f63d633907ca2e83fa7062f466a030aa7b4db321923bb92f7241d2ba1972fcca3ceef4656ace4712bc83fb3f0063b0372de0498aac64cdeacac2a9a2aec9b0b6da95a42b471bf889981392351b9bee403121b631257ad26c91c3de5657bbbf370958f3fc8efa44edf589e47bf774b645c031d4b1b3d55e94306d4914291e9a339d6f7f3462da52ef8e3e3302e83e46b225b03c58d36e103be99c00a855acfbf3ec8451f99498d210915a8c5b8faee780b39e203ca4d56e4ac8c75034716d570475902aaca5efa302b45acfa969f6e684accbda8033f742f18306fba8911fdf5dc301d7f5b583b9520cf1292a593f72ac560b941db03fef8699663a25af6598a9c53f37c0a5ed6cdc53bf2c1dc39609f4a87ca190eb10358bb604cd21f452ca7cba10ac19e5e47e01ca10b59e5a4bc72607ac8a77a453400581e02b99373a0f2de54b539bf23e73e7eb8fc479e9a3a444066098e272ec526440614658000581e02765744285631987938c8b44c9318dc1ea7527b270d46492f7966f3902e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0365c41f2eada5914366afb073595537156d07a4f656ed846c3c149675ac66243600581e03894eaf0337ba8b140ee414f2e9a27e532caacc3ad475c8c2d955e2e5b042271000581e0389db04559c21a65a9921603e7ff43ef3f75b8fc92501387b06f2aede4045a6c8cc7f7f020600581e02c15946515137c99cfbdfe520668d9520dd72c807ef27039a91f6506b02432b586603f1c1fc4a87bc49b42a6c848a04dc1b980d15437caf70727800c77dab20afa71e039ead07c2e7f9a4217f421d64b5e06389c836492416c50755999a765639c276e202195e18037904966f33b11d31be331d2a7a5e116906f1907d5d36c0729b4a9ee79cd5dfdd03d64424759fa3765749db92fa144d4c00eaf0b5cfa610d3513e262a00471203720219ffff035e09624c241064d56b90e0bb61ab9fb6969fed9a8913335ed9bdb2bb3c356391037bfcebf901350bcc486de4ff23c51333b2e5a032c2b0449f177573e3e76ea0ee0312b57a5eba029e303dd969895503a0af05de1703d6a233d00f623235e310ee4803110e7b81d64ad0ab98e61ddd44d6e1d8474dbd8f39e03efc3f5c3dcace64eecc0219ffff037c056a9c2f49c94543b38034244f736b651be3016de33dde0bfb9c1384cdfc9b0312c5779799af3e4954cf77bc604b9df39e621a31518305eba5f0fe1e36440da40219ffff0219ffff0385df916a37fdd8f1f1ea3acfce710ddf85686ceeade89b2957f3efb7d4fbab830345c065b10b218aed7591baa7a29934e02280592d9737af55cd63d21bf89422440339c88509645ea0802079c36c0259698c4033d70615d60bfb262d88f5b5beddbf031c029a68ed972b2dec71e73014e6921c0c01915879d522902f3f32d03d6a65f403359141b2325821bf2a9e6c01f34a35da8c16d558bc4254f7193afe4e0c06b0b203448b08eff04cc086f12dcdb6d9e087f2a8e2e5f59d7aa197281485b729a5bb2803ea171729b44cf65e1290a0208157ad8023245e9d2c75984ce28a315bb65cc544039869b568337395d7f27ff56e5829828b2c36e08c609304e5433eb1cfa4341d570358c54325a56421c3e236755aa21b19ba8cf371a20d11cbaf2a32e169186c466203e5e2cf1320ba0bc0a1c097bc496280f62b8bdd12ad7e2d0dfe7672813757540903392f8d6aed9d713b673924bbbbde33c4cf29846239801615a8b37ff0884f900303f885476c93eec9248a6cafa4ef23a1f3d7176254e4090079d6a122b8d44fdf2303f3afda2aeab008b735aabbcc52c380686967a1d6f795fc44a7d9db3c689378120386ba9aadc0b199137b00adbfc4fa517fa012ee83989df941ec3c8a5c4e601797039d98f99881c86af4495e51b9102143eb2e01ad52acebc5a6ee039592b6d9165f03a6462345ec2fabcbc12c607f81bee11a3f753e7011134ce7701e34712e14f64a030eb55560d7eb72b6cfeb391e14186a58203f34eb76afa749db1f3a2e5cbbc0f503d01d3dcc5ef49b657cde994818a81db54baee370f3e433ab7d4347cd7a801ffb030c42b0765dddb731f244633307dae18610b4a457e7befa6c1a45e4094cf9ed2503ac830c1c03afd291f1eb8e3872cb9ce0d0f18637d6d9bc2f655e37aa2c0884c603c01b69a8ff63e1b7e27f32d0a115c0790a77b8328dfcfedb0aeaa069b045de3d0386ce97f3de4ea705cbeb8d0c5a0826bb3b57c2637ff92eabeee4267b7a1d5b8b037de2b67d1406107b8270f3ee1911944718a00ad05a904ee38530de95c36c6e7e03c895a144b5b53291853a7fd828330ed8aee2f8cb35804be64ea43e86b71c23cb0307c76586df58304f320cf4b6a6334c3d8544c4c1962e17ce0a2a505684c119c703c47824eda839d6d8ca50fe8abcb1b2c65cf99e0b2f81ef970db54c135306707d03488e38608b85280d6a8976b8de4056b840688b973808d8db7aa8da9d32dc489e03f4ca9d8047db242eefe57ba9cb771fda72c54a87e5994893659f06d2be4525e003b987497c1415e94aa1388d5092c2413982712da97f985411767d8cc1d4dd171d03ebf264b06d1a26cd120fc55ee80560a4f023c05d25fc8b7afbbe1c14782637a503354875b7cb8f0d1224378e6bbac5ea8a66276186f610795d342e571283f4849803cd301406a3a3f2caeb63b76a25c6ba7250cd46acb111a4d395c1705183436dbb03f41703e0d0b3f0e975125ceb1d0cbc9869fef926d7b50d856fe52de733c051e40315a2a8d53daa6e25f1708b59c697916feffe693b2d0c11fe655200a829fad8320353232b705e2d37ebfa0c35bfa4017c6a54aa334b954abdffd8b5bc30199377290342f692efebc2e89ce83326daedef2b70bd027319c1d88df240700066555c36ce03f7bddc1875cd1d6cca70713aa7f0810529eca13442dead86dfcecf38cff529dd0338d6e399bc30a5c604ea292421ade785ea15e44141d2810a042adb490e8f1d07033155003aa4582982062259b0bba0b9b18681e3f07439508e74d7f68d2ee8a070035e0a529bbbccab745315deaa96d06f88bae57081801333e94b176e944ddabdc300581e03644a3034b14c89432e61f0f488d56e65ec3a76d6bf7c63f27805e4da40495562504d33a7bc984400581e03fc1c11e5ec2e099214a987073ed9c07876dd1865a86d0899f983cf791044057bcf000219080100581e02d86bc7ef3e1994e982ed51da1c2015ebcc7454227fcab84604343d145e410100581e02ac363481f150eae9e854be4b06db2dac809c64369c6d834af738d399cb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027cfd070a43532f331fd583101fe27a4feedff8bd03d17d4f20f97850084405d22c6000581e02d177ed8dec50798a636fa5e4b0c3286168a001422871131c9bcf04df59495562504d3354ea754000581e025215d77b8c8d4d72d3f46a354d8a9a91df6238297bd255e7737ccd1f6b431420ec0219a0740219ffff031790f34d028e4c29d6d2cfc717280305e31da84befd75766377f86f103c275b203ce4c678e7e496e8eb6ded6f51155787b2a1717f07142dd6cd2798f938810dd180392a10b9e2ab5df8d05aaf24af29ec946d96958af59757775ac97b39a6c2131ea0219ffff03048df9d7032c5b807441e5eb00b740c3b0d8559e22ee312620b15cab5d29ae6e03096b75c71d6ff2e5d88dcfe900aa9d7c1afa8c52cb7f1aa312616fd197a7fece0219ffff0389fbb24d9711bba1056244902a22811e379dffccafec0d172ee7a0c2c81e1f1d0357c55b1be8a52991f7f0f93aabc49f18345027caca1fa032ad89ddd48756e5e0032c907b8f4f61b50531dd29135541cc5e81b1120ee5d522a3badd77af58f785d903a4ab1dd48f301fa35b15635ae404b3c91d4c941d154a8d45ad4641216bb8c701038e568ba09a7f5c639fcf5ad67ebcef74f6ed20e6496c5ae10fafe1fdf79c58e6030e56f8e25d26d51cf8984c9e025efd4001da8789f95ad44c13509130216628470342e38c0a69d072a1b4a82c532e8199365cc8203d8fa0ef2a4644741486a2149503da26499bc7ffcfd44e638a2a71c246644573ce9a67ed4567b01de9f3a7bca2fe0344bf93791d1e12580c4d412403454e817f2c6d4c56b3c3f10807b5b1486b609903d0399b1555b71ad763bd0106850dd1f4ad712aeef01b16c1589179e4db4f522003b8c986e080ceeb18274042f049ec0d2ea14ddd224dac8b6a9e29f6861bb06c9c0391475e9ed1c63ca75dc0459c60999ab917576521e7c3ff87b8fda074adf7de07036632543fc6f32148056fbb381e7beadb628e272bb29545126a9a617b8b58b03e031d8a2ed2ab3f20058baa5239e8f9685f9c01e779e4e2bf7aaa542d871e803e75036712f8fb1f1a2da2ce58910e10764d17a31a663c674ff1fbc7707eb727ea516503529e258721acfafbb482454decb9a0a7dfa390b47711d5471d2cf5ebabb198dd032b5f65e060db059b7bd17ef6743d797640bf500079bfb611121403725e06b13f03d229e8d705a0d745f946740e5d81685b47f3b1c4d2fb95f3401f94c911ff8489037953254059280a7790936fcf0a8881dd8c78608e8f851e5a226397ef71c4ecf90351579cdeee486fa7a792ee91e192c4fcc3f88df08a5f5ff1a6c0196c0274fc72032e1c769a83fb7437ce99c87cb5adda71eb854b5d5c95a35de845740f1639540f03a5c371b69b60864c3fab1e89c8aaee15e06cdfa7f348b882a2e3c97d52bdac5003f0668660a40231e4132a0c262c5b6bd44de078ad7331151ecc5485cbde2f59c20322e6b303981eaf36a5792786af1889fce7989ef0293bcb83f45d809c9c5ebc300397ffd3adf32c2f2b1cb1b2970f23e57a101aed0ca3365fa9f56e5fd273dd599403563f3fb6f20e28831f9de09d30afa59f3e09e69adb9c11826fb2ac6e13a90c500374b4ea51ac3ec9bec2e705bf80a58de7332a213eedb36be2d6144f8e13397ab203c5841e941fd3ab497fd088069917ff5ffca608f53c993665f1987302f39df45e03c8e769826e7ea39f49064e0631b173c1b78b85eb96e161d2808b3fc2affa9d5a037024258b7ddaaa1b0b04c1fae0d567136e33935c4d8cd868b54e9a22ab3a3a69033a0e6c34e80b0ea315318dcf345075e228d7810dd573f68180b2c487994eec8603a974d6f44bd8593400322ad1ef1b3cf6df428ed866eb9d9bf44343ac4d28b0ca0309bea6f2f3b61433f059ae8608249df9735285824b73f65898116b270b050b6803decb0cbd6b03ca2f9f6b20e6934adb1cf5eebff780bce0b7f9887a3bfb410e0903c9a6e9835daee42f018c9252740562b0ec2b70ffc757e7ef4deb089acf75f80403525f7f1b9392aa4b3988293f196d8ceeb65f6356c2381f56b5eb9090194dee1a036dbae149907a005ef8612486341c9ee84c973821695132fd58859eeb7e0b5a1c03e97d7e73c50fc3d965b91a878736250bff19974c71d6047d5bef15615aba56d9030adee44a10240e8e3c3a0b17aba5c25e0abb3266a9dfdbb42f6c5d4ab16a637103abb3ebfce10d557414886e4f559b3f01fb3b1d2ba6d3464a85e517d632954f2e039bc16be007390344e92937efa57b6e2b3ca2b62a926f23a15660270c0537c371034de1d5ba587aa4f250c16d05efa96b5f3b52aeb8478996c294952fb5e77d0cd003e1e47a1402f2a6730ea835d624bfceda0e0428511ad061021ce420d8a49f50f6039aa60a95704d4bc9af7e97fb8ff2448dfa7b1409def913b580e5fcd3b7670bd303d77f3575473d14f8c75766e1416c1dd6a307641e370fca494f718d657867cee90392b9db4e971211d463029c419876213912da51696e219ddeda5964c0500356f403f5f26f0885833d2f3900c313db20a3a317474579b06632671f358ad56e36f326035b57871bc61828dce011564da0081bf0367a6d13a1738b47a2fad91bc1ff518d00581e02d65b6a75ade10c889d7f56e473d94318f89044a2556c60054d4c2a06605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0292509671ba0da322c8fe3fff44e09a6ea6d2a97181e0a548eaece556a15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0383cb78fab4d77c81d30591b5f19dd71faabcc35742a181f023213ce41beacd1b00581e0256f4a3dc0f2dd0dc64513b44a101c072c9bc1ab380b7dbebc5fa4b19645820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0372a155c032f7605225644468e256969f1fda68f0a09078594e70675a9477215300581e02e0d151adaccbed5f88690745e820babc73b7a6eb3e71c02b9d54884f7e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c58103fde08b9adb7b4667e5aa8ce9e81951d16cfd344ff4667955a545950e340219b8980219ffff0219ffff03ed4a324aeea74d0b05584d1becf426ac1fdae1247f063208091edcb4bd2f302e0219ffff035d62d2f18ce32aa8bc8b4ed3f2b2e647356d103845762362e10bf1c738ab5d3e033007186e41258da1680e0d31ffbaba913af5d6a1448ee15cf1f6474c51246dcc00581e02f1959ad4e070feacbfa07852e55865538d746e8823978d3677f5060c545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028246cec5810061f4ff7efe1dcd6cb407d59abc3478830df04484584c86466f1511ea631500581e02835ee69d8a8c9362d374ed2d48255ddb91f56bfb035c0adc5d596c56d35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03714983937c1d49c6058571e80b5c319e67e3b6ff868e5e65e14e3168768a9cee00581e023704da64c857440c27f51c218e7e9da36790f37b39d4eb9da2935f39094b07a11ffffffffffd42188003c7f1ebc8e2c95b61f4efb136c9db16fe2d2d4da5bb8c0133849be43aa6f4c3cb0219916a030b238b9b8f525e2047598b129cd8935f7fbff2cc5762cc057abc3e401c7d872e0335de2a1acac9f99dab9c27f465d075368cf92c9ad4111c6bf1a27f6e2fcecec2037d3e078f197935a2b1c65d70d18699bbb9c3343283172a5d1102741535bd32e6035e28d0e63916dabb56aaf4cf469001b1802102b25233fbae21922683a6768231032ceb5b6e66f6caaeff026f7cc768801babd0490b23e832ffc09526b93fdb6d2b0322df1fc6f0857380cfda4424c40c6d9b039ff4787b07aeece933361f8e8823e4032970eeceddf59136dd965ac64aee806af56909f455828ed5cdca70dfcc5c14d70331c186c457893f0fbac82332cd8acf2f2c27019a8b537ae526b3365f4e0bd78203a61577c21bf879db93869d3c7f64e76b2dd4154829c83d2b123c481da7d82a3f036d2b996447bb27717335d86c327ffa9399e11bde809f67859d816000a4f1f9ec032597bfcd93983c9f97c9fa8a673e66f262073d6006ae4048570911c1241b8a4a03c9f7dee2e670f3f9371152bb22dd0b67630b3c4a48c732f723dc83e819fb213d03f1cbe9a9833f8843cd549c5a1f51aacfaac484ef4307ca1b205ec65f5eed10d103e386cae582497b668c86078ccb2f96177de1a029cf67ebb31198aea6d3451cfb0219ffff03a4e809ca254614ffb7c084f1433f8fe31a804c06e541309e1da4a22ff29fe7540305698fef87d54ec6671b1732474d33c1bad40029fe8329a338bc6bdd68ef8524038c7494c3968a2e74af4e624ec6bc245e1047bfaa991c81698d0762ee8101105a032415d06a42fce6f82108964c9988f65b1a913ea12c0e030265afa398814dbde003ad17a99ad2df7a98813676cf1a83a21201e935b154c4dd55c3b47e988021fa78039484af82019ed5ed8f48b4805844bd8bc6c9c16c47a91c72840334f194951468034a0c6ca59613e419319c385c6f63a72b154935b3bb8f8cfa9f1823cd0ca63f3703f38ed7c58535536ca9a463fbd171372aaefb050db496e6ca8f97aee06cd10980032c90275ca3e7884d690bc7bace32a1075756ad7ac5b9edbba55dc7b9ab9214fb03441f50eda8a9814158e87e8bcf95c742a08ac0d578893c5caaf9942b08a803ee03c5273d4491c85fab6f94105a12f27d1e086853c4867ad8521cc33ecb1b306a5a03dade31f26162d3311d46aabebe6ac6b40a1ed622b1dba09478b7969364a8844f03a6b1ceea153b568e6f889ffd9bb79a071c667d2d316fa803a47c0ec81ffa5b8703e3786c84e08c315ac847ba940e90412d13a931d9aeb2eaee0deb9734f48f71ef035cd581247fddc553a52b3e189b5f2724633a476574d56b4059d88d0493bae0830219ffff03d4f6a29dfdbd56c6cd5e4c9b1c574563a61bc1447e29f0e234eaefba72b9da31039686683e1aac0c6baeef8ebcc8f079de8137fdd13a3aba836c889d4559f6823c034692694781006f701ba13dcb574e402deedab736c36c960447dc01c952e11aef03e2275caf5fcb4c9f3e15f832b80e464ea18888ac213bf5c075c7eec1b587f5f20322b89ec42fa16114f712ea1141970d6d550e50667e22db76120531e87a91f786031e03f0b2122ea04799b58ee27e152737f43a1daa1dee73070999fea5f812a30703dc3e4eb2d792844c12509e96cd352ad23610dee11363e2091f82835d0d21251c03f0effb8c517ba019b2594b6938ec95018c8b0a4c1a7cd43ccb9eb9a3007c9eb40396423465a27dd01ad9a6e35290bc2f92cbb258fa882c7e6491c2873c6f121b7f03bbe632c8b10fc54e23ba9306ba366a581568371470fae778050acd9d184fc94403db6011528994842f1d0340b9d7a56768e7fea3e87feb918d0dd90343aad5baa60342937b0e827dc2ec86fd6e4ecc344e2f2f666462ef132635b524f44e32ddd90703a174f2026e81187d03be1479808a89b51e6ba481c8fe37f485f811b9323edfb7033ad4a4240df986f7df39c480b4c9027cb56dd7ed729400b268e9675d0212f21c035903f6235eb57652114656940ff412fae8bc1044959d3eb88557e3c0e8dcc70e0363e9b593bf23056f06647df6dc853a5927c06e9d43ffd5228dee41cff98ecd3b00581e0292c7327a0ffd244ae062b943a2ef7cf99faf52b8e8b15d0afbfcf33d855820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029c86216f4b2626db30b2a7dd9b3147a64002c497637cb5f4576c243eaa4402c0c17900581e02e698e47a85d97ebbeea71459e82dc9dcf1ba458f8bf7e487b89e1c808d4401fd5cd800581e02c764d3086c07fcfb42287b656aee7801f1c5a32c081768a37f6b56a29b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e1a57a4b090b6490a94fca2ce40089f19a496b3798621f4bbbe5eae63344022a543f00581e03faa42df2dda7cd6d7ef607df9299f0b4adae91126c965200ec475ba8e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0339b6ef86fa9a407f90ae6063935a141b940a813e7409e750ac51836af04501d230b07402184400581e0286ad031e8e00992c87fb5b93cead194e654ff80b1f656c9c1dcd60dd9e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02db48f5561be523ac5927008e730684ccbd495f9da7f80ef58f1dfa70cb4401602c400219b43303a486e5aa2820ff32fc55aece5c937a4feac90915502bfda44b2355a54baac9ef0347475c0b0191a2fe400dc007786adff71c95c38f941e76406357dbb1cc349c6603098ca745c64761539f8e6c54169e68624a9de4c09a6076ee68b359f5dd6f2d4f03fc43c9d236505e6a57107cc783c25f7a2148a9d3c622574a5feb3a36b522091803d563d0cdee9ae233e04e40677258fbf3e7ea7724c3d2c82a3e2da7116026880f0392485a6c9c078cf3f60f211d0d283f27e483bb1d9991be17308ee9f344ea5bd9030f902356b862b99943d0f1081154f7250d40def31dd513be6f8e0caaf3b326a403f4711e64577e08c914db6cfd843410b41ae3d903416f8a8ee5004bd81afdea49035c25da2ae62d7fc765980a51b2598201b7397906942fcb2c1eb5a59739048df803d400c01e01869b176168d43a95f73a133e8ec57f9cdda1e70e8610cb99425046031afae9718bd045a20e44de7800f233465e4ebba2af5897aa97a7d35cde7d5511032a3e337b66aa0dbc1d551a30a18f8e53b85e423aba1eca6b30aac9e885836d2e0219ffff03d75951eb1339c782560fa2a7df55ca8f3506c5896a89eb846def0538176e49d903ec1abf97bc689649c00a809af4408245fbb25137b6f34bb03a89de9035d5712f03eb6b646da855cfccf44b71b72b577bbdd05f2952087dfddef526e927f228524103ce2dfb6a926b3203aa92141b238578d145997bf25fa39bce891ebe670cd90251036b9bb55e2c12a92bca367984a7303585fcdb4b5cdd98af928f90263e572de805036a81164624ae08402a0578e0d9ba03a603aa2e0813f1fb917255d99c638e78ad036eb6c329e095f59b5bdc77e0ebedf96482d3dbc8e8413d52f01b7e2676b9fb4903b349226bfad2a6789c19ee80640ce6205a2f0eb9d5101613e17736c411e64e840345df6138f103c160c663b2c73fa15018ab8d015952e69adda86a4939d613104303e2d8b206994185625f173f03357002f35f4c8c8bfa45fbe9f2583d889a47c09003c86ef0a682699501bb799054ed2d40b5c6eb616bde615fb0688e0cca191a88da03bccdc9554dee1bc617f72d7605f70630b428a5d94b6a3cb02f0fb3a60cb4af5603176addba663970b8226e671e8e45d95ac4e7b3a2ea60c7930a2d9abf54fcc8b203a48733d77850da56ce92a81c0698bfbbd98ac3824651c9415a469f25a60675330219ffff032e780183ae69e97e5ca2116e9434821924e885cce093bae89611123af029d15e03163deb23c8d7e451a15fe3db7d58f7d3f41c0e04e22e8f3cb353154ac3c9d8990219ffff0331f65c27a1f6ff9cfc7eb414d59bb0c6ed92e1d8992981b7a3e15c24650c878a0390a8af44a83f8c99028e7d1bed595e4c6f66ae7f6d2b01e1272de51c495ce14303d1c214603242bd440e3d0b9511e5f52f64ca4e0ad8e75321563b665d259db12f035f7098f948387ebb924206c895accfab00785dd63189044b13144aecaaa2d2a8033c794d04d1bdae7e3c3f239afadeb960b1c502ec5a8a28a6031d1c13b6b81bed033fae768449a2b115502ece7f94de20ca532b3a1ddd1b28ad2ace41cf01a2963303c58d1735857062db4ac9e378e7d14764315b1b80d9e3e3b92fa57bcc2786607003fec5982dcd5ad672e7ec65626c22abded5450c9f8215fd4a13338f3b4357681d03fe53db55931561c0c14686d4229462f28cb565fceb514fa889fda87c99a9f95703121f2eb461310b79c81a93d428449bc1ac6d7a105283bd5ac3809b06c3923d9403ef3497a72570011bc4f2b6f8f32af80d8b96cd2f270745735951bc90dbf18d05033b4ba05fe79fb60ae42889659c6f9f1d64347f059eabc9c9c57cc0012e5e354f038accfff2d16fc5df5eb4631d731557ed8a1ff925cac81beab5082b8c71fd0b90034d180326bbae5d4bda61a89c9f5368285721c8222e9842a50aa4644da42d017c032d4fe2445fb734e11bd1016d59cd19c7cdbc0ad0de54bf80d8ad1d8d3a17ee31037d6dc70e551fd3be615dadb4fdfc6ae26e1e9cf22c0883df6a19b29ce91eb2cc039fbea03a19c3e4c0dcf81843638828db2df7c98b5142d11976e3b9ee714f156000581e02ebab19111e47c5b6cc127b24426f052ea16c22996ab82be5abf4a8bc0f430f420a034cb9d50abb98ee36866010033c5260b34dec2efc06fc0f1d6458d853b326f54b00581e028379ae7a2c3f91ab0b186bef09436067ca2462c58c3df767e6b317268a4423c3460000581e0208c34d8b67b69afecc718928af593d8cef33b45f72ae95a0a6fdaa68c3440337f98000581e02aa091022714dff5af17262e51ad47aa68e06848f60306e002d96f6cbdc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192ce0039cddf3e77399a36cfb0efff8050017a516cb29a40d427c3fe0e649b89b23864103f79c417e48b5afbbd8e94ac9422f25f5eb7e95a04680b3be1e2e706e953f4b280395b668b91ba8151760a442165bd289ea071e265ff94d656731a5b4d6dab194a903be2ca7e9e7f58b1a27c8e46867bd8be474c309a30cb835b5b53a85e02085e8d303f3328207f5f9ae32e0c0b2ba1372927a77d8eb470771716b1e6c07d05797173603ba8c814dacbe113c15ee68b3d026c71906982c786e3dafb8fc9e4c0c5519ae2e034723110384955ea3d59a11cea83a459e87efd1a2240c33678e0387316b5e5b4a0342f0e2dd598f7a7c17c5dfc6e225b3277ab31fcaef27f317c361bd6ffd1ba30003ebd5afc9a00cbcc816886a21530e8f85d52b40818a942d11cb1ce3d709f9dbb20219ffff03f8504e0c7c2ce76fe1c13907353dd3f99fc97d1e39b8c1a97c0819a641927b5803da7c5231e9554eefe5593f81f6dd6780bd25afd70742edf7a5fe3217cb83f2730338c9df4af94f9cddff92ef320d446fa37bc2db6d795657b992f2a33097bcb58d03466c08f9deb0c33dce6a1218ed7627d187ff68082582b3f0e3fb7b25bd806608036002eb32d639bfac101424c61b6548f64d0bbe6db1ceca1e4742297de7ffd082036c525570cc5155042d7cc1e68508f45650cb9e1df600f3db33b08de49c76250903df7bcea89e2010e776750aa69bf465e25d6892fb0c8a28187eb38ad65385f80c03af66eed4d9dba7b1ee1952ee3d3a320f768d042c03303ed63283bf2c8fe5fced0379f67b3e156283513e758e08b13586d61baf77a389862ad09c432e0fffe0b655039e69480c3efa61ba7782c80882aa06cef32cb7cb2a44ae66bf9d68c72257c2d403c1ec596f192ec0cc4fba54c1cfea674740f45e71cb5e0c0eafb199ac9705e88d0309c3eb75aa4fd5b567e4ea6553684fa5fcc73029cf92cbc0a4f06ff30c48593f033bc818a9544848c8fc122b7574c2d1581131561c9b3e639f24cb983876a9ad580219ffff0387e3674ba266e2ec6cd621c0a3a261567d87e0a71fccb05f2e8da24be83bc4b9031349b19d4535417bdcc98ee9cb92a24963e269f36158f8e7b75582f0286c1a6f0360023868ea53fc774a1bf7ff4c182824bab76d1e39efd55c85c55e643205ab2603d628d450eb562eaff9eb21df8eaa4d69db3956c369e27062a0255db13b68e77e036913b2c2547a9be9ee0a871b04908736fb6c6989ad7a0e352e1c87923ef93f37038eff1072424d85a9cfb564c4d4474e1f0b68e8090ebea98d3470cc1fb43ebdb2031f353d6c2ec97b883cdfed1141a6f6a8a16323ebad4a45e3c710fc005314370d0219ffff038b9d2586d7ded2decad47c76dba6e38c9b959f69245cf48588de310bfbb4bfaf030dd5af218ebcaba57785684cffffa2c12bbbc7486af19c632e87a3f130ba43b1034744d213f1097d7133d0c28e5bb9af9fa404723f22387f83ad04dbb77bdb4fc103133c2ae1190fd92f6d0af656304cc040a2120b5e06a48b88631855fc5b9e537903efc6e51ae107d7e23cfbc47367bd65af249fdfc2955ddc16507792c5644ed6f1030b2c10b839900631a31b3a2e1ab090ae2fd8ac0249459ce5f5178b38ce3f1853032ca7dd09e82b69fc0b627e476731a4f18038255b2247c560f31329868251bfc103db06eb780f4ea41a32552de2b758c93010d14aad7efe339595da534615b26d8803e4d905df46f329bac73894f9dd35d5b9471532cf1a70652fcee9e23c9f4cf8cd03b76365aabc846685680b570985446800cefc425b400451b142b4291d6eb981ab03cb841a2b23aef0924b04249090160db80daaa1107a7191424290c36eb1c415f603b6e8dbf84e353d3b3dcc2217d602107e8fff719d132163306ffaeb4e62df914703e0f273229d4583b7b867eb21810000b54691d93dd0d7d2c22460f7283f7f2dec03802fe25bb24a2ac49dda8465bbcc1f5fcad7dd163151b4ae3ab7a5323eebab9a0302e9a2338ec4cb04e25c30ee7c439952e95617b62b615b382d34411b00b95973039da87c2c8a0385c232b0c746e710e9594097268fc93b6e3b897b68b026c58bab03c2f65097a36a79d3f269a2cfbe4685b3c77429bbcbefb76cbc8baef5d22494c803a13d7e699d29ca2ab4064d29da13796f76cfe2ea72d7f82d24ba4bc00a6154f9039fb5608449740111e3195cf1fefa09e19640d9c424325612d7d8d4b092ebeb5e03bc59911b37b7686dca5fff07af65bef15bf52b8878aed7b3117cdd260cb8b55203c85c55d661ffe4a421e34c47c5bfe105b76d17a7c2c5391f70c83f9dba18112d036d909ba17c6420978e65acc4f9fc1b98424873566f19271382894f7faf34a5ad034c0cd707ced1ae41967bf7d417e47b979d9cb3ef3a0ec6178e38a5bb4651e8d900581e02c2e22f0c16e9ed58009772486f70da46d00c5317c51f2dfb1da46f0be8440393870000581e02c2251a14359888ac5595f47c7b5f27a17e7dab459284c8ba46c7cdcec15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031a5ae4788a47f9133bd1296b70882cfb718d31e5e978419188689a51194eb03200581e02bdc47429745e9168707c74d6d7e34b0b02f0661b982dff013d8274a756443f535afa00581e028287b6796d49586ca2df464e9cde9dde01a6851a3f86808cc6a09e2f574402745b6000581e02e98017ca950c6a6386d1b5928a06bad5e7635bc3624a500391359dbe80581d25179157c93ec73e23fa32aa4f9d3bda934d8ee69fffffffffffffffff00581e020dc348170b3497450581af50cffc720801e8d2ee2aafb22aa195539e5d4307ef4000581e02cad3171aaa5a7e152f270eacc18f4d7480df1de3cf57f38b7064b6bd205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b94a03206ff0849896511a54eac201aa621c138ebcd3baa693027d9b0141a049ebfb8503e1e0ce2636f6aa032506d1e56d4c8178af27aafb8e8865c41a0a082ed4b8fb60032d5f16be48b76b03968f4b08814e56657cfbababfdb25406eab57fa5330faee903775cd5f7c79bd98a67215f46247b706977a7f286467b11438a69b32e8a1d03d0034e1dc00f473c76da3279ac599eb75c20ef469a7552ae836162073788c63053ea039907cda9076a6af05ac0b72740a53d1682a6340147738d916746897e7b57672e033263425612b942a085c60a0983189112c334c5ee46fef0e2d78c1e9f1b9f7a8e0375b624e6f09dd99f967c064d1dd5bbccd9dda2268bbb2759bf0ba8288401fce90219ffff03da3ab1a4b2f520915c87d397ab4431749b85c0b968d2be7cb57a9aef6f77e3eb034d9924c4dee2f9d9ed800e005a85ec310d95b7fddb361e6eab400976ae53174303021f0fcf8a6a0f5d1246dd4e9ebaa4ea62dc86854f38f1fc589c9c263bc65f97031ed386dd8717b29cc0542690bb3496c48d04a51767e12b6021a007b3dab6f1c603d50aa6c98ab17aafeae9ae6810c62ac791089c3aee2871f41601dec9dbd755600355232929b1c27a135fb4ee31ee7cac31b5fbf235d62c4bfa4fcdae2923e7b090030e29255d98af816e88a0472398bd1ea6ab291334d00c870a9a11c3decddb52f40380d57388f5b2e8a841b480ba3e566686e8351c071b23579be2fd25f76b270a4203025baaed76f77ddc418aa5eb1555c757590629fbcad60c91bdc4021ffb90571b0362f4afe2b4691a74deb27c426f4c0c67b236dcb19488e096ad64371eab4a113b035abb6b5fae187c7e0a7ba01452b15efbb12383701c7fbd461576268227cb95dd0369d5e6de5e0769924bd39e8990d412af8f5ff42ec0885e4080f91cd5a369c6fe0219ffff037546db880cb21fdf652cc38ef6d8c84576fd6699621be7805b46f78bf004d70803ceac891d5e150bc1f67c99ae80d1bdea5a33970638950966d94d5167bcf3b82f03bfbedbc4b3181035567780bf582791cfeb233b5392a25971a5ba60a95510935a0219ffff0365da8a9b5c434b8aa7d961faaa662cf6be6196fd2363ed387d8d5f6699163b71037cbaff726efb79b2f21488ca9b4e4ed2d360bb01ffffd7432101bfd41ecaa03f03e72b20626fe20721e9dddfb840e94b22ba3fece8a82d51919ae0219c8c027c17037cddf824c4d88e8864c523bf877e3eae0df8ddd6a1001aaa1e6754f07a0bf4a203bcf601e3d4f033665e10345cb6a927b503048124d2efe7dc4fb397a86eed4eac03cef2f376abaa89f3daa90595040a3427a68d5c8e78d0c8a15beb2225491b0792039aea7509291ebc5f0dba9d7728d1d35c90f61bdc62f9f016bbeb5919f7107dc203ee249186556a678166c10bf940ae9a4f9f20f4871a838de7cbb966ae0a3b41680367688cee4ab0cfaa7b2e1a80cce7a8da2aa164884f130bba96d87195a2a81acb03304f31074070cc9fb8f77a13366539dd3b3db5c53157481c8ea7d2bbdf5d62c303ace016a44ae8f5c23e103c8ee30e561ab8e2df08efb983173e5812e72d75c8f503a523334d54a38ba4ed5f2b2e7c2ae9bab28c0d40d7ee5db24eef707990a9018003a01f58e5f3fdc3506e84e784a506ce3219f08017393b6bbf31dddbd50e9f0254030beb5ba5ddfd06821724aa6a3131808cca5d39a3d91960614424913f49d0998e03ccb2058e0a5e35481b02c9ab74370b97264013fcce7e51b16162b5a9a0ba25a200581e02cd6e948dcd966c6eae70bd2113371a3f0503b351f243103a6dacee8f9244090dcf6000581e02836709b9791cd13e02892819ae475c42da7f843a0843fed04d2fe790385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031e320a9c294b0715c001ccfcc62b2880597f11797c779f08a32cbf23de40a06701410000581e02ada50c9b6db35656417c6e08bb664aa7b6efb9497f02b6a9a90fd8a62c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b1ec8c04c81ed6d78891ec0b8384524f55ee891450038864cc49f45960430c52f900581e03b81784d487f25b62861ce2b4ae877f5f5c7307463b24fb7664d3ad6e70430f424000581e03adecd42ae27be762e759d1c987f2fbfcaff500d0d9b1f75b8e88b440b045011c9d819f02182800581e023637f1bf2e62e6ac72f5f8403ce775d09b110867f14356131ab52445c64407abe98700581e02f65cbac6a833661de22232aec8cdc3682945faf6dfdfe4a45f1d8bbff65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198aad03d9890dc2e9a3853cc195b24dbba55d57d03b768a9fec79ff5e3a196dadb503b60312e0662aed4d2cba0fa366e95865e2f69ae3ffe5c2ddbe49b287428c172a940a032bc73dc7bce695bbc6a026a7b3f5d2ae59a95ea5e7564e7852d3c3546bfb772a0347bca06c7387f4737afd0ae4760ce5e9b3a42a21e899a93b5f5d7c52af6a7c98032e8735f7650b18decf7a2d075ee693817f00f72d9b8cd9c997ab9f157b2187f303c669044d08b8cb8b018410316b243955e8487a0c7f4a50c5bed5c80a93aded45031ffa985c362c62f8bdb6eae959ed5962f419f3b0fb21c872ad035015929c86e20219ffff032196277a32e29c6e855de732dbe174363fc3cc02b5c29099748d64168078060b0316283ec84469e2bf105a2e51dd6579f01ce11a5ebb9974114dd8537ebf4de94a0370cf2a4f7adeae023308da86debf38b6e18871c840cccafc8e4ff6e1a1547a31033938a469fc84739894bb058e3021491c422bc0ccdf0a5cb7f8291ed0420e1935039c3cb3ac4ffb7dc08d28de6aef493f017f995e24d2e451e121c296e6c8c21871033348a564c78a28f38f85b885a64615d558578bcb03a05a9ce0311fba4fc6592403606cdd22304319d69ace69bc2537facea1f39dd055b505a09dc66d893ca2eccf0372f29edaa79eddb20748662e8401a18a335be4e6b899b87faa30f21c619156fc030833e6cfb1dab56fc7bec5387879ae321222e069e2b5396959a92c932f4f533c0354b32a4d987c41d48613a3f5076f0056b88a6e3167b371f4aa3250db8426497a03ec84f1b8b1f433644c99465278522b4e02e455893d25012ac6ed8276607614b9035b41a244fc9e6678da9e17d18c4067db08f26f5e2e17c02f68a96cf69f92e1e303aa0ba15ffb6ef2423b533c19adb7f815376badeee62d524f3a12b6f89d6880870353b2183e18fcf8492a2a5ba1130455750774731c1234d7898adac6d0f3cf1763037a4f4acf4f6e2464b4ef4e026c1be10f3220b3f2eb81b0c72fe1492714e73a5d0219ffff03ad0f40011038fee6d096b7252674aaf8e6345a50cac7ef40bebf625f7a0465cd03de91189be6d0da1e987f300f00259c4839250976a742a01194778797dc633ddb03eae78f0212ec9eaaf61fcfdc9ed98aca3ed89d207b9fce0268fb2f609c8ef8dc03a82ce17e0b481c5b65ddab6ce733c05d7cf0c48986c79cd156f71d427cd8ffcd03994921a9b274abb7f4876c639222dbeaeca2b2ab3a6d756c202b33cb6b27e0e203db4caf9c33ea7b6dc50c14386f34318a0d88f50d2590e913f1438cc2efad97290342010718d7194a4f07b671ae02088c943754f983246cc8ceb8b39b1eed43e50d033fa0e9722bafa8d4cf01d2a3eee05df05883863e9467c1f8b2bb0af6a04611960382beef3283433676d89beaf1c949d6d679d44deeea65207bb871dd087e55e80403c3f0b952d0cdc9933ca5eced139999659209f98906f8b0b1b11fa8b7b17fcaa50364af6ad37d2f6b73ece5d899d101480a1ea82d5a69ed5888bd471f424ed7317f0219ffff0362c686c03c4aade30adae52c21698a2efc3eb223557756c0c11275f2ab976e3d03fe55da2c0689a0bad03693bd42940dd85f2ba3bbd0eb21f4470b2334abcfd47a0219ffff0351837d12af1da682c0dda323cbc9cb9e39d592fd757e93c44c9df1e84988d51403d1369858efb78bc420569ba9468ef5d16dfd73caccb161ab267384c4ce7735f203e428820f0d7f3ef950452c72ed1c4e789ee4d85afcf7fb93af9be95795b257af03d12e3e1dad13138ea3398bd46abc25977c91a271fd1b9a689744a47ef55ce5f00329c4873b1fca2fca39c0b8547050916f0f73078994d962ed3a0bab718eea78e203b5cd4a2e219e2d18cc099cebd63291b9df820a32ff5089d61000b50a54336ea10331425868c6805399ed2152b48ba9cb786b35f4bdbbcbb9430db053f57fcaac7e037fb459a652254422f24fe5340aecd04d9c05d5e04b8c5b6a70476b4c1abbf16803df98b62c82b7eb5238e3ebb945fb56fe97ee43d32aff3dc96da57557adab333f03f7048724a96ecc4c82627c157f61bfb62d8c28fcc75351d9b8fb2b2db7754d610396b0c2092b24f68cc19b6fc790e7e02d5a65e84d5ad1f2d63ad3f2aab13b7811033a63719608154471b6884752898f3092a8205f909606b1357d4f34961df6920303eac7be4103476a44a33b9c1eef25f4d1d423ecf58df419d7c74115a609bbac27037a2112e62117145e2d4b801b3387a9930e8d0b2bb9aee31ad040c735999c338c03f1865b243d57ce291e1d35c0035949f479800f73b60c0400aa31faf77c0a7bbf03da85a0f3e0761a82cc3ebcbff569e1721104a5e3762f3e41850b8837e83e303703995d5dfccc354e1f937c11330f2bab387415578f8b0d062a9af53eeba2d82c2703fa8c645350e056506cd76f7f52409fcd5006dd2ea6e18422050ce4809b612b0b03d3921616cb9aa2272b91a6548ff6189bdc2e21502a1feed090997161c26d548d039ae7721301f124f8d4c2f2808f08d29f646bc80cc5005740fbce906213ed5f9d0344c828a68962bf5ec4dab9eacad1ed335fcec748626a875892051d555261eb77037a1128756749786c4b50772f3ef75e43d93f2059d975d74af76481299226a90a03d7cf7c00ff978074c0c4ebe31ea7fdc337fb3536651c59a2197e320f284bb154038190d1525735337bfac408f04cf5d6de47bde95990f7f93c6c6ddc5f7859b49d034afdd11f77a458f8591276f08069d94bc5d2b538e9d3f3b8a5c675b3ee53aac203b0f8b773f5c8f0fb2747964bf2224024a5b2cefbb72bdcff28f8c7b4d012b6a303eadce682e057d52c7805032e14d5bbf22cd4c3a5f7e9b853c5c3b77e428005bb03e8f92af986efff9f93e9c53b017bf0d5047a3e438b5b0c0505337e52b0e10f80036444573df294d4df71066cc4b9fc04359f58b1a5592f659fc2642420884c117401410700581e02f4850a212d718df6e92c5a8bacf14fe8b9c1e5841aa11b2fea98c26e975820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02bcdf5ddde7b9593757f6365a6e249d676974ba98d477c0ec36ddb687fe43017b5e036d8af3b3281e23944fbd8d7007df95b635c8e419147fd81ed5ec2cf57a5d682100581e024fb904adf26c7b31e0fc08caae5264c50b50b9fa3f9d59b59d81f7560d4401312d0000581e02fb507ac2b0ffed7f7cbf424b0cf6d09801d22b6fd9019d7f43b69a6649410100581e022bcc89767360e9361f3222b2a00b3ca40305065e9f7cd22b80fbfabbb55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028ff0a346e030f6d87a0d99b059794ceadeaa35451e66230d355e5326714416a6570000581e032cb71ba8e3fe335129c6a0d66207546d5290e7290c98191995100b497045331fcb547d00581e03d05075ca86b3aeca643e1a21eb093e3300a6bb83451a7b4e8df96d68205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219400103e465941a287b9f3632fbd55da4964bc6f8d3937f0f99d533b6c3011333af5f670219bf1603a360d34b1c716b7e395579ef0b26c3129a1ebeaf50db2ba93638c9c1cc8a016b0352a1c26d23d9b653bf46f470f045e8b9a40375cc7dc5f932e84ba784fe3d74cb032b7af93fb5ddb0799014c7c528f602b5716322319cae459fc480eea0fed034d9031285e06c9789111cc1d2affc9184c5bc67bad51ee72ec0ff5d011bf2169183ed03ad2e90754fe64259cc22dfc6ba2dca07e9bc1bf477a35c34f8fba9f8461d773003d298ab6a39836e126c8d410e376bfe5cc63e08da9626d70de7b259a7a037ba290219ffff0219ffff03e67595e0bdaa4f44d359574e8dcb7bff7c015ba4f685051a44fee793cb359fe70395702e6dfefa6407eaf9b7ddf58e9a8f8481d4c12cc4804d0a42d2ba4ded815a035f21d7e65e3961a03700387c580f87101bd7af79220181b92b4355c81a3ae53003feafd9fb0e092317204786e1c9c1c765caaaf678bd2b908481e8be42ea4d21ab035e8623de5c7c52342662723ef33a4d38075cbb6c0b6ea9fd63c627044b542325032df113473fa8a3ff34bb0b253057584599e9fdf311bdbe22647c0b229f9831180387f190fecccf45684379b7a6ca4ece5d145a7c1d588d07510c002477aeaed15e039f7c92ae421f6da1b32b36ebdc147ccc6f1223b5d39618ce42831901e9fdfdcd03493d01d606a920c3903aa0314a9c1211306db38236c11ca7fbdd8e48e90dd73303ea13938361f4d670dec2531c66c50272db6582612b9cd87670997c757e32ef5c033da2ce00163d3591424bc91f2319540df3157fa166879fe8097f8267cc7df6240334f5bf8d3b72d826d7ec7f001ccfd120f75d6779cb289190a75642404e93115e0361f2a5a9b47757edefbd959bd50310efb5a2cb19aa43e30efd6a91c57602378703eaa7bd5a8f8657e7920672b5675c8740b63dc0614eb544c7e5867b50136c58c4036465e020b1435bef5ba4505ea4d2fa571cea7f9b7eb52a0555d525273ce42a3c03a870ea41505bd8762e5d26d901c332f26b67bf28214101e2da0ccafa00c7250a00581e028a4aa8adc919ab4c606a9da7bd070a7354d5c9c29eb6a87327d44677864304e14100581e029842e94666625d55b8407b800e9c9370041908492a009fe8cc95df21c55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03532bcdaa706969df495b18770d67cb280a6649221bb6b27c4c81248be87dbbaa03b510fa0dea179f8100c00e7aaff0a5f51782838690832720d2ad7be2660fbbfa037cded6b60a298a6b0801f8b374dab454e529f7d7601ac2efbd64bd51b1a17e6101410603a89d20e17fb6170ea8cdb0aa75a964c54704277f439965c47eca7e6e7c59611500581e02c0cd436fec34ba9e7aec2ff1a297ebdf613b49b39cb405fbacea77b7165820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b4be28c455ac6370fabe6c0efb327321d997c70b61028c0f2c7ad3abb6742b3703a2a79167abeadc767deab0d9ff3960a9743fcb7c412c63aec3a31da3b64cca7f0219f9c403e7096d1f6751503f9a29772d0ede0b0defd83c66f210ee90eefeb8dbdeb3d68a038427051e35cc7732b77f30c6bc5656c08714cbc86576853033e21877e46304220313207fb2c2ca62e6de6f64ae4a081894256c5cf537511fdc1e9e7f392c58359a036028944db050934c7c8bbb0a31f43cac000945eb076246f96c2ed4331f956c76034e2670656b707176a6784223ff076b0cbd249ca2405ba14ca9ad3af96090761503e8fa686973d3b57b888a74a66f1e176517119ce6b734b0db7345f949cfa0a698036168fdb5c83f615cdee01dd9083a02a0d965dcc982d7309666be07598193e05b039937f2e7e18098ee43402abe5b7afc2d78104e1afef6953fa7501d61d9bfb1b30377fc7e0af7203a15bcc2152893b3b57b1e0159f7d6721a1d8fa518dfca07008d03b9d7d1831089e68c1a01d3a4123748b4f4aedc872d69781a36d5985913e43fc20349cfd2220b245a503d5a5a6e72c7f5d44c76e7f9a1cc1538ffb3cd718be4957803d0f0b41b52a2ad11288fbaca2d42861b3c4c2249bd878741e44adccb287fe51b03d48184f8901ac8263f757242e357f23cad0a817af8f43418f884d3c95a174c040339ec27afe32feaf1efec1cea330cee9f979f2278539d8d7cec9ff042e4db506d0219ffff03a7600f54823465e3585ad37d3daa74b3174cdeab64d379df9a468f371fc20be103bb0b60f56fa6d90037a21a7da6326e910851542cb0b96c7cdb0764318eac68970309677865d26626ce58e494a929c1521500479ab67cdfb9ee3e857345be3ac68203384cae1be8336716df7ee9e88c281c7a8f101e53691efad64d517bfb8bec710303eed986ccb2ad8d3aa7e54f409a839a0bdc8cbba3bc5f3cc6d5b83aae765d3a8e03b78bf0fa845befd86ca5fe7de3ea4f313bd190a1385ec2aabecf917608c8b7e2030be7be224dd232fc17278d686ee21b64dbdaceecf3643da8eb46a2d5c2671ab40219ffff03b04df36e7a997d378fe5c41f553bd1e0f69edc6552296e7bbc6a9c1a49b67be603edab87f534ee62b3f4fd9d263df94c6b3356f3eec35fe9ea38d4232af93aac5303c77907e40b56aa74331ebf2699a47e74758af6316152004f71efc6ca71c0bea1030fddf530d3fa1c48c69b129576aaee5ec5cd011edc0d8dc1442fc711474789960219ffff03afc509127d2b14b8537847894ce79fdc3ef4db847849f565fb4b4da9731e117603e108e574b59e70ff57291249feda185103954c3d226325464f0af7e203e94ec90399b3d1cce344241d2c8f4eea910d7e1728b04da55fa6b047dd4fe1e26ddb781903e8a428a8f69203853c90ad4938eb00652da06d9dc5286b89b002e8d8a74f177e033195b4e950e98f1213b81fd52fcf894db282f8b0c19169e18de5e26b27f9445e033a597a63946082f2fd65435ec9acbcffdf98a0f914ec8c4503552b34321f6bb10322e9252e3159ff635df21d12e504a2dd49c664f983f806a42803a5c0155f6a6c03b12c3ed373c76b885bfb20f2f791533d455eec44c7481f0565e77262acec940d036e42b0a291c342891eb5e76e8cf807757a0b1f0bacd6f7f5cf180b894c29246403af05f5eabdeeafffd86e41a2df6c8bb29efaf1c327cb2beab72565d307689526034c3b0556240f717361dd8705e2537eaa87099952d4718a344c72b80f9abca2a5031dc0bb0b0c7a860592fb78bd6a0a2ea955970bcc816797e821377e9fedaab20003d54a41e1e454b7ca0996eb43cdf05a481d6c240edccbbe9962051308096fe9b50352c3b8352f28c4d79f859a88aea6a0a7f025ac89661e1beaca396636a53a128503c2e63a779d8f93b36f76be7f74a22ffe6b4ed907d97802fc678a40b1513822fe03491790da4da99d9d6447e61e35983cd140544bdcdd98fb4966f4cd3114bb22680351e3b6827883b75fdf6b3a0e9705d134789304a2319ee1090bf034407000b881033a8d0ff4f0f5f45532d4c41dd7e33ab9f14740c9cbcda9be3f7330f039f8837900581e025f1686498eb93e0ba8566d05e432fa74d9f32203d22addc4a483f7f83b465af31079843a00581e02dd9f02ca6e25c7b1dfabdf197ca2692f3e417d894df9caae63aba05c37430186a000581e02209a0a091957da18f1b93f2a0a248bcc3b7367f7f79780a8336320fe9550fffffffffffffffdffffffff071a40e803d0ab37ca104f514f2cce350d6dd66ae61e194bfe30dfc55e8edd8bdf21d40a50034617d8d9ff92944a4f169a3da7ce37d966bb37a06137123747d46162c14c3eab00581e02f90a8dbcd7e5ef573fda5c103170356c8954e57d348d8eb62d2107ada05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219558403270dc77d87f624d4eab8a71f608980bb3ceed7579c2cd19badcebece92f6bc5903a035b9661a74ae93c9e183f87023a29af962d04eee4529ab68910b608a36d57303c5686f63ae7886ccd7a8aae90121bbb1b4f1ce8a658124f7d841d16c110016c4035105beeb6745c40ca5398f0209d8507ccef2a690f41789a57dab468118991aaa03b7033d9fb131ea47fd32b02e851ec65028cf4ef4fa19becce0a4377ffe48f469032f693693da773aec94424c4d9cd9cd49d5c3da93fb3dce1777e1fa2973a1dad603c85488e924974c09554c7ec04801b7e6db161ee500f5864c9a0b9fbb8e9712820302cac37ec17aee00df3a1897d7df27a032ae15128396d08d4ff962c5b94ced4c03177d20d81145a06d1a9b0c574a8e48aa88a6ed789ea3b94d31714048ebedb81a03b7618bed1317d715f98f36d93c8e0ba6a4ee0868229588c23ecca1bdc525195e03f06298bd82d62ae10ed65a312133a023ae3b0edc7aa375affdf73865e261cf64038a7491a503be7bde5bc827c9d5548d6eab8127bb571bcf5b1777214faad6c6e10339ca0352a9e783016fc19b6f9b117ea6edb5e36eb19bbe053cbeda963f13031e036e555b0cad544f3433a7312ae455fb736dfb3f89a6ec40c617adbd0d0c35e8680219ffff03873f645813258677cdbb2dbebf32e0765c3d889aeeda42de420adeabeab4d98d03a0d9dd6110350483a01f07a91aa33eaf0017e8cc0be3662062ebf4524dc218a203bf297e15f4471a99fcdcbfefbc4b9348d8ce26977be524af28b742145ee6ca9f0390dbac2ce3fc54c9b4c8f4da61e819ebba6671642db0a31203f5bbb40dad7bc20384ccceab3d7c1ccedd086b4875a7956eb4dd6ad7c768b6b382907763ee405b260381fa5a295726f467cbd9c5410d8dba4704214a2ed3fe9375e4e31ed4ce8bde82034cc22c59b59f09085a06046f8b041789fef72d54b7c2a6c8b73576d7eb8af4ff0219ffff038cf0426cd0af6666223c0d587c938b9b7f2ea259d224219431b5f06580ff7cef031d7d28810bf7b2f4ad8bf2f141f477dae0798d9111afbba85c12c9a8d7193b4503d9fdb9ce17e05b0209d61bc7270edf75438c5cd069fbc2c648f8f9432873badf0353c1e70c7b34a402cb384494fa3d9e34fcac997fdb125d086735d7f629b9c79403f7bd794e6fdadeab91f062dd7c700e866f48a2ad4e87d054274edb26658dd8ea031ed1223d765cf0f5622aeb718f9b21423dce86d14de6398a38f2aecdb3aa106a03eaa36d0345d45e995d750b29d4bec8134308dffbc20b42876d2dd8ca9748c95c031d2cc4d8719ab3d46525061138f81e30b1b02de3cc1dc3177bf9f8826838830003dbc4ec22a48b2cafae1901e0fe7d0985b885dd1b60649825fb839846d0331b7b03935963b87556a880e9ef289ce8bc0f62ab09ea5b972609eed1bd3509a6321b7703adcd3bf57812e0cc7ef63d10ff4e6c1b12281477dd385d31f353708afa1e191b0399d56ddf72ebccbf0bd86c92b2efc9beffc0291d2bfd937f1e8696e09ef8c77003fec8a7dec27ff2d6613ee89e9693bbbf92c7ab7675d0ae722cf74e57679abc81035b8b7d60f59eabcbc85e8ed4026dd14548b3d58febaf13dc5e7c299d2e56132c039867ed6e365553302485cf21593824649f4bc4a3a2ba2251c0f3da09ac2031340219ffff03c19e08ba678389feafee423c1d0f1ed07a3a8ebf47c65b06fb91484bb9fba54003e127641fae75fd8220d3d314c1bfb048852f6d913baaed0f24775d9e9d93a51b0320650f31082b3a70063d0056e2609b7436f93fcd2551e5924eceda49ed700ebd03d32cfcd35164ed5f9aefd64dcc192d24a439e1e03cb5f5a426aa3a4feee5d6f90219ffff03bed6d8522fe69cb850e9da702905270757a78f1a37e5e1ecc3b883429a9b149f0318f441701c0751f3d1934c4a3b081fa308207441a28bc70d014d7e1304bb8d760308a6747c2beed3ac4fd8677f3f88b709561b5603da38a1f1fd99430a7f504b3f030850633f0482f21362329c93ca7fb0ccf730132eda8eb8e2126c169f6120205403b424f3969d0920b9c09596476f62a29ef190c40a150b96194f0c0f4600fc723f0337421daaa10a3c814f21494a9474e5bebc8957532c627ece3230d8c350b0312203f79a553d4e5df8da1aec081548a0a9a8e688676513ea4fc006a700e829b3eb0603ae8f47de2ac807ab80a15ce35ce55b9746b7b264a7926dc15b93f62aefa5a087039af499c694b89f96dd5c965e00fb87ebaeac96063b3a7b4823ec33822af054ab038b0a5438467feb6e96051842e448ea96389cc943f59f2424dfcb1c6465bac25303ad7a52952559bbf14a1f85abd93dffc12c62c908e1210468ee8ca6350c0ae4ee03840824ed4fd393ea76bb7d04e97743a995e08dfe4bbb2a9e61366560af42bf3e0357ce8426c2da3d73d981d542789f2897df5e55c666df22ae6cb2d19b46a0a67803c63c5fed021e5b66036083c173e57e6995b64466e1a6e7dea7fc051e24970b4f0344d93feb9c6ccdab344cf72f12b0792ad01825a7cd861a57e458b15943e1d4f8031fe5106bed13633d822dc7a85e06c173a4136f6b547d17e4dd06569fb6b3757303e6acbaafee0ebfb5de88bb1b51a8eb4e7493d8faa017a57a2060cf620461a94c037fdafe5b70d91149f9e6ab6be7036b9ab93611d721bddf8701378481bf5178cc03a7406df77df25d1e2eb9ba2cbbef15242aab1c0f663a717bccc88ee284582b5f00581e023ff0381478b5f690ff8bd4b329b56c01b69b83efb9d9fee9238ec3588d4b4a817c7ffffffd6aa07a0000581e031acb55355675577d22118be87a8f921610866e11e3004c5d037518367044073712fd00581e03bd3b69f2c7f267833d861855aed8e0292919865c69121f9fb9152cb97043d59f800219802000581e02e12371e58c1a593359275d2d51ea7b9940c1051801fc041fa08c2fc5404398968000581e02a9cfe56304aca2ecdda55f3c90c4065be155f705088110ac4b2614b8805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0254b632f778a226214521af90162b7d410aa0fb190164f39d71622d63a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c8df6c6f33a37eab13a3d3077139c8f9cbc936d456e0bda328a03d5ee25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219be0003226b0dea92085900421aaf7f364488f7b1aad363577799fa93d6816eef6f7c3c031c76d63c02b493d361a3bc98e7e2573022ef2c663311d9ef3d562b3870f8006f0331c0cee5b999a16dcb6f2fc9dad495470b47693bd544c36f65a0d9eae579e2c403a1273513f8c75c927e87d2d06a9fea3aa8def404a68c5d563dfe6d567ebafb8603e7c75139a3d7bbe1c9ed90b17d24d36143da699fcebc45e318ac89fdb32354b10362aa0b77796cf2938efb4553bfe07134cf4204a47f0bc1db103ed08db43afad103ed3cec945847712b6a7a3d6330c08ac4ae89bf6fc0bd3852f182ef406105db1303a0e23b21032a73e0daae0444b618bb310c787d68cb1d427c11731768fadc7e160367434c8addcb47f4babb00b8ad18839d0aff5f636abe5ef3c766f89e857ef478038d4bfa20c7b4d163a2c074b0e2c190c9d0d935cac1c90836bb3b9edb1aaea50c0219ffff034148c37ea1b3c162769e423432e7921c446ee6612b6cfbc5267745b6eaf6de90032cec82a5b19143a60e18ab382c3d4f83122ac311021e857269124bae0bd4e80d03428731c324b06aa77513c46bc0f6baa7a08cebb2bc99f62e541b01e3333a98d5036630fe34bfd249eaee1be6496aa91b93c60e1aad8d47d80f8276f0b6248f9eb70378add68858f4e92f323df4b78aaf0f830e6db2ce11c92112ea74653525f9aa78039c3a312ddfa08e9659d309957a61ab818338bddc023e3242dfb91c028a90697803347c58224ebcf8828b5b5cf24ff8f2006e2f421fcbcd83dd1ccd0c3e7b79687403e7023696fe2bd568578e0731d25c6714aa09b955027a5e4b8138ed88a88dc8340219ffff034cd614a05a6ac2d6c81da54fa4145676f518798b23d4f5298bb45a1a98dc2e7603d7989ca7164f2ad63eb275ced2914d2df1f994de3f301798cd9b1b9e610964b3039b77fdecef3b6d80bb776c54c61eb1e84be9a1dfd5cfbac714895645927ee2ec03fdcbd2907f03d3d3b9a593988d5e563a753cc49923007fae2f722aee0be560a303ff3fb02606dba8b1156d5371ef5d43c7c5f0cad7db738c63611f4eb4d4015bf103c47ff5d802f2566f77966d071a6e2786b2c9c0a54f6157349216bba28eb89e5203f04eebf43e5e97cb715236cf47a02d0a708ab676758d838b50f5a605f812c78b034fa4c97df2789230134a3e00ced7b5f40697b69e8ce44996f0b77090482aabcf039ec463f05f3d443da19b7c04f3d61086890b787783c4d68744ebb18192b771280340aa1210586736226f031b69bfe4a26d54f50c36b87bd2c10ae89b9b7df3da8b0219ffff03a38321a4bd1a3a32755fe684a5eb48cc40679bfa4df2b0bd2ce36545f6d65fb503b5acdc74e0324284eed8218ea0e7eb1911cd2f21c9a1af4cb0174078788b733d03fdcd91b5e7722ed2c28ace8ec601a2fcbe8c298755888768b2c09a23d0751178035fcd45d1e9335f1a71f824f20fed107ac52518e3049a26f6a2a388e6295323340369d2f8d2697ebbf59b360f7d750eff7c3d3b5c2c898014f291cbc302a94345740370fd526b8ba55986ff37b4554f94908a30bf032d996b1e29bc4e7071c6a8eddc035024c2c0293aa30dd3e52d69da1645d1f581845774528fd1c8824d70640a19c503d7771724358e8a0a4b83cb1705df8828ee173c47b1784abc76c2cbd9e78d2d1203c889b24066eb9b2c4e36cd13b33f28c8b4c8cebd1373b7313baaabb04c7d903603de11eaf70bae8a04b32ae78abdde0b07918d7c227905464aedb27a7356490b45035557e6206680e1b0cd0961f14119c47f3b04d9af87a931f54b844e53d8131ddc0346b43853477ad2f738620209acaaab6ff91d742e06cc0ad2d659fd8c1450095403043bd81eca9101386fc1335e79d6769a5ef628b0191127d7011096f4eb3e25880396dba8c1704dbf9682c5bcf3b0b754b5e18e46b5539afcac0c9dc31daf8aa91e03ca7f78505c7fa92598779a8275237d66f676edb7408ec6fa109164ace4f50a1d03cc0718f5d15491b4f60cd745f356a13fc6eeef8cc2b1e94e8898735d12eb05d403b69131d744541d01397124e32c1c1c7ef5d0177976a8a50c7fff07f31416711a0389a539ee7ac58de343634b0f1a280bbdb6cfda957bbd62887df11bfe8beed73a039b6f413723da36aeb58a3adebcdab36239722eb05dd95b53635428b3525db58103910b5e50759d626b76120fc2257b11884fbf2c40425e6d056e0256cf0288b223032b8f76b7999ac76832d7604b3a7f30db2c586958477b2ba87d8f927272b88e6e0329ac5ad1cbf97651f9874aafd3e6cb535a77d879648a4e059cb8944ed6e5eeca030ea32e2e6101104b6accc8b3810b1927dc35f86e9c8f9b279ca17703186578b003b9924e6c90c0569323eca536e55c552943106f3a1b98dc100cbc4e0dd29cf59c0312d195bfc6a1781381d0f91bf6e6844a9bd2e5d7d9b98b67a116ee1f9ac1dc4000581e02338105914103f4c8f5c4bec5eb6369e351de9b38dd6cb26fbc50b5c6244306410500581e025c235f42f8e0c6b024de3486b1a093a7e24d2fd28381f1690c7dcc20c25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032f6255430890d5c26b7fae36e97d5604ca4275f8286068f86dd36f73da8c2bb100581e027f50d4997298f69af8de6953fdca7675a6dc64396de339b58fcd7f4bf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038d66e7ecb126f5a94a76224c8bf8c95e923b9b04447ea6bac6231eaaf016247700581e0259aa0ea1dcc914745001ebb4f7342c9a58226002ad80e74950be63abf84402dc9310031dc8b12dca2bf5991fb5c32228944884d05898d46fc1a8bca4afda2da07a31eb00581e0263df22a0e142a321099692a25f57671635492324bb2fdb852cbb7224524355970400581e02a6bbbe870b72af4316e14ac4f487d20b7ef714bdab786655685b89d36744055d4ac000581e02a785a770287a6bfe4b2b9b03e0c37998cbc386fcf83eb80526f7017b0745e7b094ff0002193e8f03df72e81ca4967be0f0f94bd7c64c56d391489b2a44a67143f6125d1b28b282af03dd59d65a49bc04bfc87cef2a1f5124ec0c26859efd587b0179b3206a60652358036909d1a66a9c09f644fa09442130b46170da5497f3335ab133b98292d31d249b03077ce42a9961fe2cd04179f28c77d9ceaa8b7948e5381b383e4a02f9359657df0321070960e5b172c0c38b85a780aae2778d3386bda2d7a544a9d21ff02f21915e03d9bd01bba14ce61e3d28cce36ada6bbfddb6f63384797fc5d6580db4b3d2187c03b344c285259bec2333465d7b1c829a543f140ee6fbeade732106b440372c1a5403bbb60d9281cbee06c2b3b4bdb57a251d31bac48fb081a4cbc00df429419f3a9f0219ffff0308150165b78ba5d1d1619d035ee06be2e1b45a9be9f0a4d51c964cdb4d166c7b03043a89adbad186cb16b4c2fcad2ec22a5ece944e4104e589a62c6f1f5b351f61031ed7938fe438014fcc7c45fab604021ac4a2cc57da9368c97f46df2067958ae6038b186e5ab3b4409c611dd27694cb4da7eb06d84ce52a5a725d101bebb18f4b460352142f2bd40961b8af23e76a25f0ddda95a7b7e7cf83b7c807c15156aff708e80219ffff039c7a74f41978a177129b4ce220fa026905e6ec7b5192c56abaa59245332ee179032996597026bfd990449befb8189adae4647821b441df85a8fde28d3597386e3303b61c505fff7d2b2c7d0a2fc55212789a81ad90f605b1f6626dc5be46adefec9003bf3a9fc502386322d8c3d78d2af9fe2a562bfa4f5e7998c669038d4e2ac5bb5d0302060939f78df533c172ebc9fbb81e2cad19f556f545bfe456fcbad2aa62c2a3039aef05b5a495fca9b9f92936fb6afeb7f40dbc49711d1a603d5cb97b1ecf725c03cd8079be96e802230e34f0c5124f2849fb88ed3873b04b974c642c2532b2f5c90353b2d6b312002155c90279759962132a90a244a020e36f009d24ddf744c2a34d031f51fdb24b794b6c4c2223ed009098329857bad387ae1997e905f93c231e13b603d761d1eb74d5e5b44912fb56a85581e1ad98db1ca27e75fa6aeca4e2012286fc0219ffff039df64c6080cd2b064261f7c21f44186bbbd1dc85e2b109564a604bf30dbb1ef10378086454806f043715612ede9392381e3a23feef9bfd16402c86ce342b63636103ef99fe13bd67af8f1ebbb202b6bf7eeda0ee094bb43490b403c9ac3221b9f3c3038c58a3ed4bd1512f038b007e7271f9bde81525c9b35b3b4cf7868830e81e344b03ef834ddd70eb0bb512ceffa1b2defecdaca48e0edaed8e27f286728b6e1c93d003d36334d405e4189d011047291d1862804cf95d1c1d511cfb37d391a808f46da203b52d67ce52e29f8a02c2112812ce586614f2543111ec8262f335f98ea1221f930394614b2c7ebccbe388218cc7a594e877e69c731fb583063b3ecad1359c2c822d03e9070364fd51f56b56b81aa0ab1d6fe4861904f3b3baec211e7209e94618259a0318beee01e8cc409f520681e6f23863a4bd119cce472fbc8fa8f60024fc6fb607034b450e9a8dd048b602d3cbf73ab6a0ebf27e8293ddb9b955889d55b224cec90c03d38047b108a4d143d3971f7b1b3183e111f32750cb96c118266d53fa14bec20c03c64c182cf324ac9413967ef4c2aad64d5ba6f0ff7a12a42acd8fff22e1c7ecc3033f4d391297188a04dc0627322ec92ff0797eeccaadb83a7abde86bf65c02ce150397c328b18c6397513020487562b07720ab5ffef1a5a41cb8d80e7e70ee1146780388f08fdcb1e176ab634b3fe2907dc90b31bcab2ef19aee3dc9e5c8416814a905038c46d336d5ddf03756922334f863d306d3f9969c85ea43b76d478a3ce9ec1ddf00581e0295886a1d73ee0b17fd480550f2157e5411cca6d7376bc80836c2fef0345820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dd4332eb11e81b0db6beb62ed00401e102e1d278c991c0b3fa9d3e3f3dd8f79800581e0264be25d55ac97c17da908f7d04f698d16963fc440d43cf3d7717bcc9bf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029b8518b4123b2fc1dfc0ce62899efa0143375dba66fc02214e6321faf6442390f23800581e02846211404ed3ce7ae482fdd0dc24fef57b6efd17fa6f0292eb76dc74b643e21d8c03bdb934880f1b59e29bd5810027bb700ec557fb344593d5cd56ec640f8aecc740021924dd0375f12a14181abb5586eaa924b41715f9abc6dbba9ca77fac579d483c3b91db87033d7a2f4379152428e1568698c2eadc89e56f1ba59b996718e0d56dce6a20ad910398cb26bd018232ac1ab49cbb2f98d2bbba94bee2191a65c0de0c5fc2e3da88ca039055177eb815c0677b822dd0dae7eb2f971221c7953d9e5e85ed0a15f4b12c6603e3b2d60133e20d4774f5887ef7f218166f78f46790326b15f8ca3b19b943857003cfb41a7673d09a722006a75d01c0189d5e7ecd68831e0872d504e681658892a303e96f3900a67eb2b3c2d72acb57c66455283f66352ef4ba5d2f42a4af1a62c129034096e2f672d2bf7e33d6dccc5a995d2a14b736880b2ec9d6f7c5706b982e9e5d03362a011077f5016c18425706de2df410babcad12789c34d55f88b64596cfc9a50219ffff03304e8cca9cdcbcc5b4dea1be14b38ba4271290c1806998fdee34bcbda07a153f03e137d14a5bddbf6a131b3410d7ac46004a5feb8eb854a524d559bb5608a9d78703d333a709ca89167c0a90e8abe7429ab01c713a84e1cf7484c233dda4acd3781403c19e4977260b5c14c776dc7d9e77d7f5b3ca9f600cf0edc8e000d64c5292fb6d036701a9d4d67441a4d0cad6d5666e37a70f0dfc4c505a8d2810c4babb472f60a9033238a315941e8f96a6ef454dea705a9a63b5c1c9da7efd413240e02d1f5ac13903147509bcf398ff0b9d60a704d5de03d91fa72a3107198974a866c32f43fb4ebd034032e109531ff983b8af4365a63a24281efe35593ac55cd1581a2b452f15c0b703540cb03cfbeb1603dbae2442943249057acbcadac145a5ff637d53897ba76816039847d9fa2cbb6a423dd3a281bca12005df6f6c883b21ed23c69c188fb6fef37803ebea95a095f461e2f17b138dc49a04837c981f4650c1df3f58a054eb7cb97d520333e0ef1d7a4f3681b269aaac6a1e91952a4127e617482247a882b75154957f8903a6546bb2fbd8408b48fc37bff4776fa0cdb25e26d0ea907ab259efd5a1fb3bfb0219ffff03183f76e5dc6e3451778568b32c88920de498db95ff59edf9a30005a75b3bdf32034ec1c4a7a4b5f4e0cb7caff2f8936017686d043ef49661342593ba99f7d39fcf035eb8cb254d90e6961dbe0c125ac97e0a3efa25a9abcb9e0bfbe0851462006c5b035133fef708047454c4f7cd64c2f3cab8825d32dc95814e7ec372cb9deaa04a9803bbe02a3664f842f5289e57c42b6f1ad5615667581ce705c0b97d699209bed6930393bc6c163ca8a4c8d6164ef18e1fd179b90c24d14638683fb1b4283fe4097612030aa7d6f60f868a58b208c6e610e1620e53f3a846f29306f139b6c21808e0dc1f03bd22c5de033d89fac06b493eba61e48d72c92ea49f29b520c506672235d917230219ffff035425381c8d85bfe2f891d12a913d80fa4822bb1e5957266f23da40534a45451703105af9d729395d85c031390b0129278b7f69b92d3fd3ac7fcbb5358c7ad3329403ab36f79cdaac98caba73456789c3f94f08ec4b0915f766c5abbd3b9fc97693080338c074302b1f7eaa31a8dee8d7a08436d036e734985afaf7c594b1a5e9081a9d03ab277bf5d39dfedcedf1d2ccfc97f1227e04e47b3f201a31da35dcc9f1ca9bb4036d51133480b131855b2474f73973fe017e9b0494054fdcea57b8caf868a8aeef0330a35bbea47d64ad19efadd8dd8b664644b025da11d070608d522638d93b608a0351117ae9d99bb26822a390c6565b94968ba2fe9e258534a35390b78f5630803f034c2e120affc9389f8383f49f20e911a1a79c59903bb1368d75242d5d9595138603b296de797e7a1f27efbf42353c292a6ed5f8fae35841afd5703be046648bab8203fcafc8d9a4f9505d23f6030f24b9aa099f2a95d1a1151d82b8162d022c730e550324f6ffd7cbf918b6463ecf1782e1f0190d03b4416adb65bc540a49ffdfc1ee30034aebbb9bfef7c8f427c6f11b65ce7671eea0e5ec0925581dbb2e9c43484c9f6a03812c75ada78ce9da5c303aa65742a784c3a13bf02cd84b7d58b04edb7d3fad7a034fce7e56aed379a89e46f13750d28c942993695a8301673428e79e111b3e6eb603d1ec4fd5290dd6a2aecc4ee7f9757e3ee1a363da44756ab851f29433649c0d28032e5961379a90f4804774af47e1b5197382d5e36c35ca149cfda226a1a4a105180324f6310878428423e4e8822c9b7bbd584f3f19dda099b2da209e32a29c46c9e003c11312a760ea78d1d36f1eff04a3689986ff94e1fe7c24e64a74c8f614d0261e032e38f5f196d39894e8f0218846669001ecfd291ee26ba81eab1b84dfe514bace0309f4653577714220d98e5dba8bb9630c9c5b50e5884b6dfb502692aa60ff5753035a3cffd646b7ddbf7a1775b247d1fa588db04e18df007370b5d4156c92c867a60357cabc40b66320126ba68f8b3c16856078c5b22072b7a86ab687eec0e3eac409032c7b11c6bf0eb9cf0c8bb3d3f88585a2450bd1a031f2c70e2d507a619da4eb7e0319de5a3d152ce55bcd31f1ebc0f53af115ce33afbfae4f81a402439da74ae3e103a671c9305b5bc6ab2955930933245ee04f071ad1ee66a5bb9486c6ea0a977d6503b6861145cfc914ca4033ff66d66ec24a70c328c2426c383174c3ee4f52b0d39a034cf0fac86243e87b0edbb7ac42516e79b71fae34a181750408d7f7251871e242036e34b7f57861fa34db601d0f965a1db172cdee7cc7d6a61a4a1e5163c2804c4c00581e02f6dc553487ebe7d09b5876dab763058370e215b2cf7b59ddf893c80945450df847580000581e0227c299aace9db8543ea8123a9b449aeabdc9f674170ba6febe2206dd8f431e8480037bd3c2ce33e1992e6fa466779489b5d8ccc1d9bdeccf7e51acad3590b19fdb6100581e02d7b01b3c7c5ca8d895088ee832fcc1a011ff62804866a59fc6befec1df410100581e02e0401d03e80273453901275a1cedf55673f1a76b96a52c2eed4ce2e0624d0c9f2c9cd03894372e7e446fc400581e02594bffe58dc249db1dfeb07f0f2d4ca6465e2e77090001b0dae9cecbaf46029d21110f9d021929b80219ffff036f82d8e608466433ce4ebdf668280b3c6f1c823b998ab0646732c226ac3a40b7038b72f9915d6c9cb320f209858eea9fa6e6b36c36a3ec354fbeaf21ce6ee36eb103a26f32246ee90b65cfaba00050f8f7d7e0b8324a07264557d44c0e71f337f2da0318ce2fc7f07921f452a48f8c3b6ed2f2ca53407fb12df78e755f105c62ce1c61030df3420084ff6bd75d49a926aae48e8003117fa4666b5cb33fac382e65e88b4a0365ee4cc705cd941d993797a14f54466d54fb33ee12b6589904cccf1a9dc6e8050366110f952c4f3ffdbd0fbc3336e94bf59de46eeae956481fb39ae68d53e5a72403d45995f8ca5d318028e8078ce07d1544f42bce9bb96cae306cc8beaed5a88aba03f34ccd9b4a16d53a8d09465f5ae36e8ee1a0f716668c2c3c6a92c3a167fb358b037efa9d7d9f07bb25daed3b41168c56309526f42f9a5cdeab3bb03d1659ed5a740219ffff039599470d8393eaddf99c3a7de27736ffc374d3c14e40d472f820b82f44bd57be036a19fb208a5eff65df6861c335a64a676e72fb1b72165a20eb6468d54d99a30903b90d149695a6da25bc9910dd00bec98340d12d4ebcea24219577822716a4108c0390eca744090f63f187244f0f79492ddea334b8fa474ff5c1204e17460826f04703428104e30f05f605685e875d7282526370a36c171430917f0a1fa0529d901ac203ce0adb4e904e92d804f8f4ffd8e9f3da1479ebc928528193b0cc478e44797e50036c8645cf812846b278bad6a042b5d0fd41e614365dd674b781b9380a2a3824660360e54434c65fee6554d906b36c7b36c27c76e4f400660df5a19636b9688611f10219ffff03401232c908f54f106d2429d9bc835bac605363134feaba0858045ff4ed6a9b0c039c3bd1e3e81302b40aa6b22d1a7ccf416a3908675770198779a720f7402a8ea2034afbeb79e1b1d5e7edae5aedda5fb456fb144882100f2f4b1bf281ba2074a30e035bf0d94b3f0ac940426b024a5935d3d8dce79dbd098443975050da79e47408d003659f99ea9e69f343b87f097f827a0c09250044dfeabb3a145b9d1b13ba9bb9420324d2ec008c14b7bfa0fa60d10bd3b8f06ad738945d54151df0afc49a1ef8e0bb0392fa91cfea5104a4e354e96cffa324b054d2d875b9bd2108fcf6dacbd0e03e6303ba90d054af7ef0ce643c02856a4d4fdb15270d204baefd1857d33e581d284404031b3b539ff5355815b55d96c2056725cf948c4c8cc55f4964f9a13d825f698b0a031408f34688ef633343c87df0f18f66b628448ad6e948ea887dcc9a2ec385076d03500d2701007a0bc928a25f67ae80006e07698de64ea9cfd73128e97d3da01d8403fc71308ecca36b384452350d65596d7096550af4658f487799426fa30006c049033e0a984919241cf21650a626ec0761a5aa802f71cb35290df5ad821df1281e85039c9b276d3b328b993d97640ad1bfc4ae3345bb5079f5e98ba577f6ef6ab9cf7403837781749fb6a8155fc650197ffdfb6bde59e5ec78f485d43da11618e6cf16f900581e02fcf9221ce852c2a7835532e55da8ef0733dbdec140c9efbfa66b339e40442725a13603f3c93af4fe3e907712bf6f5c33d2e81f6ff5ed8ca9c4b4f96d38fed49cdba67b03fae65c23d2f28b6cd961ac6155fc73f1ce6304ec2c8982fed5b02690b90818f103b749f14ac2ef80357607302c13a395b17e8894ac4e58aabf52fa27a5e9efe31100581e0262b19d35afb5f9a882594a2025eab8d484fc2473b6b113d88d0c11be48430ca0f200581e02d339084d513dbaa4cae585b522bee0ca57869d8197af2cc0dfb286c1265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0281409e073646e564465440cc90fb3b523402ce409e837fefe7556879df440983281f00581e020226233d5029bba17bbef202b8e700368074af513203eaa97e508b034147038d7ea477f688021955a70372534c43524b0e6278f7f6ece57c3b10717629437b5d651f3ef8a9eeda421f7d03b58b5b518e40ce5749c22f90b47564f9361d477e17a300c1b8657425fa1a47b803547cab7228644dc1530e558cc5a79b4daaabf12984b7d76f2799ba90224f4ae30367abefacf965d75c449c3a8530c735eca2273d8c99b9ddfd46bd7048512d605703da526f85b5ea3412556a0538cb5f05d769b558f27bfecd5ac496b1798e88fc1403428a751951f83bf71fffc1b71d81de2c9b229a718c65fae77f46f1d2a6ebfbd903813d093db0b6a01c10bc8953066017adbfb015cf1bbb428caa8f3742f27c1e9a037c40ef968c26c95b8d51488a136e9b422a081061f2839391ca0f1f1a3e5908b50219ffff0348fb63f8bbb7e10fbe7a69620d3b20931ec5a8a6f4ebbe286be3cf4bbd67e68f037e913f8d837b1690343b0c4f6ee1e242f47544fa1d500f069d10bbede5f175cc036a6852f3ab98fa11942786014344688e86b456a5658ede206839f339bf7d649d03524f1a65b4fa13e7fb48fa971b9c3121191ac346f8f3a159763090454d3f48160324fc5b3f6e7998c77af4b036e39f7d5639b2b51fa751fd6246058c21b1b9d1580334643b3eca266625d9e5ad83c13b33576a2495d49f8a11ff424deb47b5ab39930344775d557b946b59f2a89edfe2f568268922fc9273ed7abd893383fd8ab535ec03361606855ab5493e13183b394f60ba50039e7744e23a5a80d90edae19434baca03ae44c46f0c2320bce4b1274b218c044cc07ac023441df0e90f1c8b1d8fdfe45603395f4dc9d26af854357738de59c0046013d989879fa317c0b2eea113f8cfc96c03a703d40c0a71219b718b5ffc06d5655322e49c55ade59f47d4f1e7d2fbb5876f0371736f1c23fd63dff59604faa87418adbea020452d727b3683128ca794fe11b503bf311de39d7c8435aeeaa6c3ec6567e88fc38f5ad2b8e1a3594da0def814432e032d592a60d73bcc89ba92499638802d95f4520f19bc06bbe6cce9642d0ccce54a036dc8265b571830193eb3a6b0efa3df2ac05db10345d25bf8a5cf5e0338ec80d70219ffff031d36ec264b7a6037c23ce6b2bd670b15411947c764051db25993f266c1c3640303e26d26f4de5b1e3f4f2ff449dad3d240c91764fbcca5ee265e456df42b9b927b03aee18f20990e1ca6d4a23ca7514360ba82197d0b385c374004bd70e4f10ece7f03c147332829ed14bf7c21f1b48a3cfc64e8ef46fb8f563b455515c3bd3705adff03a46f0d2c2e633774079cd2541e4de4ffc6d7a360cc25bf3b80ddffa54071cc05034c308cb276621170220544232e3d74f794b94a87e243fae689e5e614011d507c032d61d73da26f417cae9f78e433ec814dbb653c8dcc854e1d753d1ddcfa30cdbf03fb4c6bcbe155f7113ffe8a1c760f0fd2b8dcb6c2844a369b203e4969f6673ac20219ffff03881018b591617bd40cb7ba8057a65c58f27cd602589d47ed472343b82204739903511b362258e14062ce29ac736966040f19329507c624fd189e9f44616ed45dcd03bd559a99cd52601d208585645a8d2c360fc258b68112086e207bb5c7473bdfa10333d1e6088d5488e00b23ce8460e3ff87437285a87112c43a359638fd55a0f57b0371d1bba9bf7da2dc1cd89c35832954b1e2f24b8ac4feeca874f5657efecb5e4d038a3fbad2d285c44a85b009ecf29caaf89c9bb1f51d5a727eae0f3f7246176ba30332a2afe4b2aa68e85d71c9db9e88b357b029b68f06de7f3b61250f9b0792fa360317cacce2919cdc896e28a6e9b50a86bb7de024206f8837c4a21d2ea40604c5f203ceb4dbe706f28f39cae04306d4cbe6684243e6ca6c954c793c9ccb0c603f863e03a2ba97310472ef4fbb648e8396239bf02d7337a867a0db722989442e39207c0e037d0749ab34288ed7262c6d3ef357a263b36fb6a407667cbee686b5d9933801f9031bd4b671c49cc0d4e7e4e9a57a5ac872da13b15b2072aa84d8f3f0756b409f7703ba7bf097b18016ef45ace938da9c819612a5527b76ca2a5153bcf2575c9c130d030a28a92a84e416a0bb086814728642db9da21e8a9a43bd3a4d30fc18c8fa743403a56e48580ba2ab62f48fdc37f55a4faadea843544016c27ef6d780df85d548db039e33c016bc0a6e79e20faeb858f1768676059cfa09cbf85d026421b56141cece03fc07f174ed6e83aaf25b4d9d308ef6c8514aaaaa66675df410f9c9a31ea9827903e718657b653ee5f09166419fb67d4b50ad7008646f30e9b6a8e781b321f8cb450380cba1c90feda131f28bed7570747d04051ea9bdb6be806bce5cfaa39d081019032aae60cd18b7c2aa646510fd88843d8611226e38a2a783a90079f2a58b241a76038aed9b857a676aa0b9b4d4fb6a09bda91de50292e5faa019e680b179fd5031df03e697443ffd2fe8115d1e382884960e82db596e23b0bc0d88df37090c6e00b820034aba7645cfc87b492669716f35db22fb23dfe2dd8dcc233d9b8a176615e9531700581e0239344be5b1278ee5dc23bb4e332661584925a8644134b728b421096f78495562504d337c8ef45800581e0254d34c3ad3ea630c9c9c921432f442d10f4edcb85d6365d634089c1e2c423c4900581e02b5e4e653eb702c57d515c5778d67f15ed5f7a67341e80be615a1fc98b644159f42cb00581e021e1fd03ca53b459655eca8a9ec342e77a0848539080f327b7e6421ccdb495562504d339afd395603f8df163b8037ea1c41ae2ab3ab8605846b5e2afe11b959883832ee6d39fb787d00581e02939844d1883a1c138e6f5bac8f9d481252ffd5702316d32469116a214d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e027120e46f6efd3d561a76a4f68d7b5906ad68f489861b50b60f3e037a5042271000581e02bdeee523cc0319f4b4fd3929e71d24f6856f747b62a3d1bf3b865b97305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029cf68a22f43a6af2e1716b7fd2c8e56151a8e6fd3a60a263274ac7a1ba4402896edc00581e021cb97133932acb647bf13f0dc7f3b06dd073d489d530850d9afe8b94554213ae02191fae03cf682c9e90d351bda87bdd18026e37bbbcec6c1f1954dd93c8df7d98afc86aca0351923baae7f7a8e89a87c79f88ba1200db72fe0ddb9908db60ce8312d6b72cba03694e44139849e7572c2e48ef45aa7a8a63082ef73463c641e99d7893ff0d6de103879bc772bda3fbca02ce4d1f029e1202f011eef2c215b1a0fddba28b1ca84188031ef3acdb6642e6d6b7677ddc86d2c84210b67a89abd21c5cfa3537fc3b42e3bc03bd87bef5ab509c9a00de6947dacb11505b888f9e225aeebad59958412ffb59fb038c673b26535676e3a2a83cc05375dc6796ea76d8ee6e2eb5d3ca062a9dc6ac4803b543ee9370d5a4a9f121f82102eb0c92c2f89aa3371f50affeae8de60afb7bb203990d8683b1ffddcd369a506567f842641c60cf1337edd92842bab43dee7ff88a038564f900447b8cce6e4e7e9a5a02edcf00144e907a3d26646d9b1324016febd90219ffff03c73291318da868020c4aa4b826dbcd5bbe0d4be96dca865201bfc9255ca150060219ffff03b6af7306bdf0604eabd7175b1a47d95a5714326e71c697bb628714f89b7b439d035157929c495f8e16ddfaff279bfee9592cf8411d04bde5662075cdcd1a34fe5503f5d20271a84584cce16d8913db170b2da52ef2d16f43afaa29e07277242d55e203199d4bda754880d24ff787d25125a1ef9baa7f6c304da2796587e2944dce918003d42a24c089b3a45781d710e38a7dd08ad112a381461acda601581aa6fccc47e30353d755882015e6aafa263f42da11343fd97c0c39817111ffd9faa5dc946726a203c794cb69dd2ae6f4db6877d03a070c4f580f9b3278bfb9511b2276fa3e7f9e690359255e174e9589b70c9cfcc7ae1d0ef9045e8f9adb047715ddb3a5e7ccbd89bb0330bcb3608fa4620eb2a5588e3dceb87be0f7aa5502836073a99b67c449a2bee903c2f38271b95e5759fe356231e4c149abc968329cc884174d5e562c3b66f573dc03679c189513bdb98a1e02a10efce355865137032e855b2b501c2df4aba16abc790219ffff03dcdea0b387a422caaebda31171637d3b4bb7572977dd45e406e7a08439d3c10e03da43e2b94e2b8230a8facb7753e5144a8f074191cbf7ec7eaf2188590d2b8c1f03a4c42ddc64062f3419e2a97c72f04eaa09121e6b085d8ef0655c0698340067df039ce6fd655b567fccead9b5279029372223dcde9b10643b6758a7f2038623410303dcf701a80e3f8df2bededc7bf041390117b8c73e4bd016a15b5dd39beb4b4b8a0390d372a75d62050cd5905a98cd2a50deda3c13744aedb9deb578dc2c0b277a0d03596d7c4f1d40ff60c59a2e689243f581d60f3ee5624d0836615cabf2377049a903bce4e7b3430fe57b95af79de66b52e339f272401d49d1ace6da75450628cc74d03e5432348f68e86ec4dcebf857a4a97badae30c90e728e575aa6e64e8619bc58903fabdf2be6b6939bc4c571748e5bc82c2aabf975fc4bf15814518cef8a665ab2a03680a0ce537e57cd5d37a0faf7dbdc14a495e170ab0183a7144a64ab51494699203c2a636890cc6040789164c1fad399e7835a7b2448470dc679a7ea1c59afd8c4e0379cbedd8611b18516dc6fe7abb6520b5cbe8fd2a08d4e55f0296ba64d65f1319033638feb152eeea79d2bb6ca722bd9e3c62e4ebb19e6b936b9a5aae6a1c773f9b033d7b708caaae567ee2b5ab79fa13bc778a22bcc6203d6e28a06cef8811003ac903de6e00173ef001eb56f03ff3af046fde501e9a647251cfebf25c9ce22396099003f5518c2f042a654bf4ec8f042a07114c0dcb9462cbfc519ff5d6c09ac8fbb5dd0345bf8ea5a76ba26eb8f69e1726fce4a74511986ab087115b48944b71d82c43890326860feedbb31b9fb9e959a8679444457e8a1ff9bd25cdd1562c0429e88530c1034f30cf25bf06650c22ef3eb3b6480d2c4b3ba1210cff5bfdd543bfd56a3f6f69035724bd89582c08a91ef1d759b81c2f01777d7fc77cfbf331ff82cfa889522924032dfba1d3a203195d7bb6b519c90fa942c476d85bf523d64069fa64b495bc2a9100581e0209de3305446167ff5261cf6fd6b3797ff005101b741acc573a06092f5d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02394b6da918313dd40b5c4767780d573db60983b9c38b7a7355dd51c6f45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028e55dd3378f16c0840542d4a3036e7d3893c0fd252d7237cfe175a43c34301e46003a2dd8a32ed53b3c61258aa4eb0b594ca8864bc98a16e56eb5ca099defebf4dca00581e0246ab2f3180242b473a4b0a0375d02a903eb1fc40daabf498b5b895aee95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029ed4fbf3e62ee3465bab3f7d1120ef77cd6e943376488976cbd28687fd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031fce1d4f07e2ee56b663b400c510b866ed6a5c4f6b3486ef4c7c60404a4aa24c00581e02d18cd3acc6379ef51a0d3ec16fbdb43ba8a73ca91c0c7df3581778729941010219eab003d2c9f605a40a051a7fb290a99c7ae9e07f898a32991cecd8d7f9d82648a0de500380e440d6d468cae087fca245cbe365208da3c693e41e9fb33307cb9a77d17b3d034969b7a1c6d67171d40003a3b91c98370777133053376c8732539a7140059ffc03578ae2e6fe7a95e11788e9071e8c060e225ddf2171d8e672699db6cd6a67e0b3034e23d37c8995cf1d46a3c73230af5805324ede49387c6c3a7ea5e3e74b81881c03b1f147ebb38e222b525bb241cf58fcd140bc7f771cc8bb3d17b904586add331d03e77ff65f52fa12700d3e18357a1552c4a8ca610f5ab3d67608a4c7807a51098d0381b4666e518fb4621415a48dae1496e00a537b2ed190adb66dcc182c129dd5180351bed9cd3605254a7200bc276280d3af0764432f72b848703a52f59d67789e8703842abf2c99feaefb79d8fbdbb3a0dac9a7dcb380cb0fcd6f37b3d82dd1353c63034d48fb0396a91f350e8c265e0a62a04342192a7eb9fe984a3d790311bfa2fbc003aa098a1588c37e7cecc339328f2659bb0529e014dd66cbfbd334a9d8e46eaaaa0219ffff03ded8535f7c682ca1b74d5c4c6550ffb1a5bb9c33f1b83e3f7e3687d854f6580b03c1d2765a6c2e155110d74937ff2df3ba80275e5ad38d13197476d738eea328e10324d703bfac5648edb0a42f33bf49f21a6c3c339185b5b7373be8e572c941b7dc03438c860cd5353346421bf96e3a228cd97302b7a858c08f52953a3b10ec3e9cd00389593829f57dca2de6306223f35616a13748c13f238411fb0d3dd7f4533acd9e0219ffff03dce75b0738831a36d902be3b3b6472f941504b358668f1f0d2e8b61abd0e759203c5c6d4ac6bc0e1b5040b17f07328a9b35af86911ee3bb31bdda0553e74cde816030c34c41bdcb7f5ad1145d550c55050aa2371c22369e3899704df3243586f4b7e03b1c5b7e7e039929388132f9a1ce28542545eb3c6e523c544c6af908b744294740306789cd9daa31196144f4d9dff2dd8e9394725fc4e44f27a45c4dae837ddba3203440b546ab34a1e1568528100530c05ad73ed0919205f722cbea7937085828339034b219acc07cf0e0a8a478ffd7282213fcb771f4d06427bc7e7d3117fc6b9d88803a6580f7dbc429877260c0513c3e0389502101148b62f90ec6d62d64d37122f55038d851b2178ee1087fca93a0f844412e00850f446a2d457b09b59b5b1aff545c803d3f105c50b968210107e8038fb2870cefe041f46b7ede50b660472417df5f89103f61542202a2f7a42f74e48b84f5b65a95d38be76cfbdb6ea517f72d9e4c4f551035923a2152e53b3736b1db328cca0e5432a34ae77ebd265adf36ec8972d0d497303c003114017cce21c8ab42ce20dff776d7bb7b3891c6d26f7a43703411b3eedd803c245c7cf0577fcd67dfedf97e91aa1218ab5c8ef4dda9d078026e823e5dd6c31034ca789ed5624033f01e65574f5d239788067490d9f459bb7fc3fc0204dec13e103ef4f0e056880a56e06b3d7c25ec5d43839885f23779d88f560f86efd476c3dfe033451446ba937aab1e520765cde3e00e26fc2b10cd3402a98d30d5f27a02885a903689977f9f9e71e70fd91b70bd8e6d53de2d03ea17816bb3af94be627f3dac81803b1e19f8d0d559ed2a447dcbb6b2175064cc502006be285fd34cc63b2be2df1430307cb5c5c16a11716b45d522c6e08c45ea17dbba0d75d8def8a0c715b18c7c79a039b8fc33fd01ed2aeee7df26321b7479dd5431e27147c7e67bd85158b7134e0bc00581e03b378f3696cc87b8250a6332c39243a98c6914688c4948f0ab8a38c74c0440493bd3800581e03a710abe513a25338c4cc35b8dfc79e68f306325baa786f04f6d5fd5d6045285a14bb800219600000581e02b24423f5451b5c809c7a08cda77b4ae2556514ab3846f0de14886c46654405f5e10000581e02b9ff862e0982680c427adc92d8661fafc83a852cc0c6f00c76188aed4a440260d36000581e02484634f6b1e8ec3b75af7086145cfd4f70a0681f6fbed7caea59e4fc784402625a0000581e02ab1cd5ff92d6b803aae01dea3e0cae38d0e74544e75e6b6eb8737699a8442123e30000581e0219a2ae9289d26d62bb4cacd30a8c0e323f47e33bc8770c2605dd33885f581affecee2142a7dea9314b809a0c42d3e9560b1408a9f3b79347dd00581e02e077363e97beae3db4846ee4a0cbba0cc89ebf0d186bc692aa833979ba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0365bb63407c251bc2e7f29c374ef9c8fc24e1c223be9fe7f5e45bb4e3c31113f702193d53035002dd1f5c8df95e816375d1b4fa3da0a2a061cfe1b3e13adaec45fba29db3b403d8a99abad826784de182670ec55d75f75d8315d830329580b8c477caac1906ae039159fc6c063442240b8e4a3aed32f697140f906fb772b90fb7dc76dcff33cf8903325b7f571bcb76e8f1b7632213141cf510e5a777120a8a1707de842d6cb0dcf103e7a190fce3d9b398b45be3b98729e3c8f7bcdf1976d7f717c7ba201a50a18f2603cd83e9e71a43dfd855e2a6f302ae1031c2f7e38f23ab5c230ec410061bed7fde036965d0b30de56100277f68b66a5fdce825305659297a2c835d7a8bf3a058063303f19944bf435f137304dd1661cabdc22bb103f8bdd2d3e9037935449e9eacdb2503cc8024a8511664ebc0b78c2bec43d9148eb2790930a1f043ef6b8d9a8d4121200307cb06798481ddca72359518ed7f8eab1ac3b3e884e567dd1d3612f9d04bf5c60219ffff03870d3381fb8a9702a416014469591c521671aaca0a1c9a2a125dd10c5fb0cd4803df2992ae58dff29c1954293b7bcadaefb4348b85a18fc70ce70b98dd423b38b7031b40982c4d26cde87c133acdad025a93f79afcb3919089a15d0c1c6ccc328a210219ffff038a62e37849fa2c74c6ebb8949e8281c48626062cd30969a75c2cdd5c62c7e2b003ff6cfca23ae340ef51823a3fb9b614c10baedd0b9a5b7c9dd5b82c615651f0ac037bcc77b436f86bb470eb6f30e462c485b3f10402e20af023df003af1b9840a0003cd4667b3e01b4cbe881d6e83740130b286d0d100912c03d850a47d7eb0ff9c09033e562c6e18cf114f0b44582ae32ea43efeb2294168daf6e1add0459aeecfc85f0219ffff0219ffff036b3f74bdd4590ee3586061f77b09b930375e7d045b86de81e1b74b126dd636b7031fcd4dd33334492026f2ffce2eaf80af52d582676c602f157263f4915686a9b903b90671c092a73418174070888f648b3498749c4e0e60642a336b437a86a6a074032de2ab18f552832e20ebb5578cd25b0aad953ce3fb5bd135c0da44a663e2a6e503b4d4d4000d6f490e36847a95d0b16d02fa264f8f0096e3fb0af593dc234d43e403c4759d6108d779129ec8aecd6074a931e8dfd2625068a60262ca6ec31b20ef5c03264d956d807196c40cd4aecfc36acbaee2826f3b3ac7ac51a0bd3d38359450f6031f3f524774930ba20c10b4d07df7753049c57a309775cce679dc857d5427d28103afdd2310077e216cc7e54135fa1cfb9b665fad25219acc35aa7420a3a77ba87a03fc38bc783923c86b6f75ef2835c5082a7832ed43ab082c2255c09c3f196416d503ff0fa7244d5cee29c50ecf591b90831b521a3fd484e93da5d3d133314fb33690034872dbfec196dbf2e3df478a9fddaaa23ccb202e9c1dc4b52a3c4bf8a1f14c6000581e024f1aad6352f3154027c7ff0391ad003f121b5f0514b4da20ebd46f09795820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02dc610b90dd07519c3003e9e1454aa84cef867534135562e9718812492d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff039642a967edebe8f89f4b23df70c29ce9872b60edbb50f3d6ad68961024d500ab00581e0277a4bcce74c92fb482c508cd30e3c8ebd5f27d835f62144993e97f915a58200ef772882872ff15bc06ca96caceb6d09a63e2d4affffffffffffffc014db27f00581e02864affc0e3fc222abdfd2b761f48dedb2c94b2e89b5af7de00c9602d97432d633f00581e02b9340f853b7128f747786ce880b97a7519dcc80704db9f158f30c23c2b44171126c0021905a503ad34991361c85dfa2da0bdbbb3b7f946f3356d5bdeaad306133efa673d2624050394b9a56ae3b1cc6397c8dbc6ab241a34aaddd2bba7989473790166c4bdef1cce03c2fcaa5e3d36f8a239d9a8514d5e776cc2187e9d6da0c1358599922b1caf326003ea5edc183e1b4c436c4ca8b3de0ba0eb1280882fc70ca84ad1683a0042b475a5033b696c748fe8cac7dcd6f7430ea50cddac8d456239347cfb905910e9348856fc03cd458e51c730ba3094d7fec02b55ae4f2b392da0e19924b12485f517984e0cb403d8f27b9de55c2a0a8a3a884d8ba045eea46b813b7b3c8bafcf090b3ad8a0c56d03ebb36c159f5ad91a44f75b9d23bdf050a44021fe1e13b18101201397f68a9b4903f7187750addb0451104ee75f9c41dd8861e74a5bcc10bcad476beba7c420074503e98e81fe6a60360d43d71d9267cb724a58ed03be731506dedaee307be0e5925c03a95e29f36b3f102fbc01b5e37f45d3c822a631c95c9a68c0c0db7ec737d9541003f8c5e7cacf418a8030605ec399ae5ad5652e4f90d625122c0b026d53a1e9a7a803c15bac4f4fef74222a5ea6d464b22184c68c1f0e69cc3bc1575a64471a959bb20352566aaa4ffa7ac2b450d90801221408a370607e5b5908f9bcf45f35391e5a360219ffff0319bb85de3b0d7f416d9835266c36ad94d70d5e37d5f956657c8e16811881db3103e15972d74d62d9f9319abdc22d89ab48d982668738eb663119d960b03a3b8eca032292a0554a3a026da56e24f0994270de205e0f266e050dd7cc14b7106b2664d203c5e118d94750ab15254e7d76827966d032771a7f9d01c920b336c6ca35f8c74a03b476d10f1eb1e801410e790d160e91ba826d060e0f6d102dd1eaf1b461514aba030960672dbc5c4bce85c6687e33a1ba5b839ea755456ed28f59ad07461d5dff4a0310b90c3f133c072269ed1a30d05004ed846e415b6933616f4f37530fd5f4d6d2035c148bebe1b97882788c48157ce9487609b74d457ef4355506ee232bdf26291703a184ddbce22d99cc6eae6abf6b7b5af8265c2bec76ec566f5725c06767c780ef0219ffff03d6a72785f43f1f00c5299e5924ae9378389ca43249e2be002304d97967829146036fe4bb20f9d84c71d28788e5e3ffa5deb9957e51812352caf16d5e566beded9b03f0fb7c62f31030190c94f9359f405065b51e858755d474888d95b142eb13bf00032d3c771d2a7ed3d16f442747fec9dce2dd85d3afec75cc0b7b851d7dfc9f74cf035440e10f581af46f94ef7f5054cdc4dc15614d8fe7fe1ebfc68846f5ad0f9c6103d59f21c9b232978f81ae800f0b5bd34416de4bfb2f646f8c8a33476b52dff55f032ffd611f9e0533c6828f5b989f0cde8882eecaccea3d629d1449bfcfabc5bdbb038acbd28b1f2826957a055a6591a307a917eff6d29820d2bb87eab73b7e563cca0300080f3340ae01777005ac630d58f45e9c18040e1bdb0183e011a2e4fbb8f86603a84dd67c2ef54c18a54406494e98ac4675daecd3192621c2cf2101e367a2c6cd0375865f461c64dd1019020ca10b4ffc3da101f2dc95c46754a01aca0f3d21873d038143f878ad4293ced9a7efa02bb38029a6526410e6ad79468d2836d336f5025d036bc9167debc7e83678d605433b1090e13a500c8693b7a3e373dd1aef95091fb103ae52cb0d4e23324907a24bcae1ea1e969ad3c07393174e6beb9acfbd024d749103e5fd2c1045896d40d1e5d89d1076182e5d9ccbf1e0e3a96280fb635c8035f59703e581dbcd8f9fec646941eb31eb5ddee1f825baf226a7ebedf76e01f6406454aa03979a1f05f0a6d5a8da1cc3ab1b9fec0a50028653369e1d1e51637c7ac38dbb59037529771334de92f96cbee336ad204d43addc2b453761a2d9f6a745749d7c892a0302488edf93cb6d5e01f813e0d372e8db5008afeee4f6ae9a1fbd248676749ddd037b519abda3b9d49709b6e7214153649d143bd138da0f5064e66eeae2fb7c74d6031368244c61bd0d5057050b10618514b8cd8d15674b17ccee4b9535bf27674c1c039478e7fdbc0598ff369e709c6869f99350ff98c5d945530afa9c7063d8f02fa9030747302d204a9b958a346ae10c8a53a34d2e7a4f2cd7db42876514c808272e09036ac86b84c204c84e4a1a0024c4324b18e9e9efb354d9e73bdcf2e4ef800b4e970328965a7337bac7dbbe559c4141fd3bb1b6d632bd76ef9520391bb5acdf0153610374dc911e8da25c2b875512195c5287aa2a09a3ba1dbcf01d573ad5d401d4d53d038e039c5fd521857c543aeac7de54f946aa1c3c2c85b7a0e1c1f1876d5a468c1f00581e02cb20d32698f7c7b36de0766e1965a38eba94df1a2a00d4ec3b7438b9d25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b2fa23a7d58aa2fe24af6199b33d1ee7341c4d220a5db2935b64c197ba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025f5bec8b55a40afa6a3ce17ce7ed8f4834a9403a222414a4f8222a28eb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0233731b6be46e0166373362c166e820443361f54be5c97c8b5f3ccef4d75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033508a9dd142ee9c234c92db4bbc25745a8bc79a895907015b39da97924bbbe6700581e0248d5b69f7908883ef76989bd7c8723879eaa8a17de3c2c13737e7350784146036e701dbffa63d5f463661dac19c6a10dc60b9c7a99524e4d201981dda506fdaf00581e026ee15716e44f6f355339c09b69b5c5ac03ff942d05c6b37b174d86ca5a4407e1723603fe66bc9840f1336aab9ef856e9ebf930af779a6b67363f55d73497a11cf4f01f00581e02791023839ff978f808a90d1f4ced6836b0bdeb7826ede6d4d5b8853b69495562504d33a70e58c70219cfd203332d47951178433c0c0c8befe0074dedcd1aef28160b4f3c4c43994bd213aed603e6e63b80186b839a5d54c07443ff7290a6783c9a04840b18e8cca901542aa9dd036c49fd79850a7b2f1a9437da4a1863bc4bef605a047775cf2a997dbbdc9ce08d039168a43b161eff533e8f99e60416e13172ed3294df182be9968bd9f759b8c7d203cb88fff27845db9280adede48a4e6573d4d138fefc36f1501065f82f2c82c6830219ffff0219ffff0353c2bb077ecd884314de65b2aa2429c3f585d1f9ea2f292023acb659e603538c03f818d10a95a2a6c77b4f1cae4261af06ec7a40a283744e65ad0763c42c66e85003ce6ad68654fdef577fb07b52e9708ab1ff483a6072d39e682d25d977b322defa03953323d753b618e746baca9f942ee3a20031358bced0da413b3aa995fe5d6cd8030d6d2c156caae30363f28c3710e0ac415c50aa1b56675bfac48a8bee5115f78703d39c009929f673f0675a2d0c6a72deaddfb18beea55e3a7f6b0ac5a5d848a0fc03c59936bb63d6e2634baa064e95b1b2f309d8e9a02132aaa2fdd0369d1b89ac110383b4454ea237651c9c9b1f939d22f1b8f7d7cf0b8e52d147ce96f1419efad53303bd7702bb8785eb66096616520fe8c38e3647718e27678936952626b18182d642036305b666598a5c271556b7940952f7e229e744d3947e57393039b5b2157b83f7030be20eb25026018d1c5e1e23d2a003a05ab7454375a595af2b753dd76baf32f00219ffff035a07d40416d91ee70bf0388778b08cdaeef1df41511943b6533a3cd652cab86003756cf56f8c83b2e8d4e3db43bd2e72490d22299ac706d9b63000bbdab7a9d2b903b3be9191e6e5793f018f2a839402f350fbb69249c20ba066b309b37de93f8ee8033a148b8a0be48640056e4d2f2cbbff7b9ce0c3770d2c808136f96427e9add3ac0357411d90f2692e7ad0964913e26c9fa62536dc18341bec002b57e3a965ae88fc03c2e0ac7ff8583551177843ce04995c4e58aea3c89095a2c714200ccd9c4d4909037f3ff9903902fb676f32568f8721994b32f85c8b6a7af5079b33e18f62246c950332701d44a3869f71f9ed19892fb03c739c740b0a43b0f31b40aba554816e106e03308a4739d91fee71338f0e1eaa6a8665a6a177f3f4289984153939a7b170f68f030906badaaeef9482b43eb593e6e271febd638f7b85e5a06c51f2ac4445f1ccfd0340e7ee41023e328222078d3bd1dd8d5ddaa983d406eb67bbbe0ef60c4eee80b400581e026fe5f4900ee0066f19e26b80848f2a6361c42100a361878be59d9f7268440629b5f900581e02effa0bc1f8181c899f158485d212fab56d796fbd5e3d0089bb47066d104fc097ce7bc90715b34b9f0c9d49f2c000581e026b56d17822dc11917579ce94c7039eb37269ec0d30d11f400ea5444061412c030b2dff597af72452cc85f38a4bd632e25a129d708f3dc1e324983fbbab6eda2d00581e0218cb7c088d7dce33039a0b2fdf6f7821a5a150e997164ca9c20a21ec44440404e41800581e02ee73efa15ee8d061236784b87c131057629bc0e184d5baf08c6b8bdfe64206fa00581e038a7ebc889ea830da5f49c77c57d05ea07688509f662d352e2cb604f9f044010a923000581e039ccc0fe8f3b05a02aad3b60a79ee9cd6fc32a53b3cf1f105cbe1582ef05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219400202191647037333c3674d4d6293bcbb01eb1fce4fecbcedffbf0005014417d907d2524be13103d5374d006a2e6089eda695664cac77bc677149442560fa6033413232b609933a03cb1595fdff8deda83890938ba4c9a489b85ede041e65c5a28060fc42c599cb88030b40afcb5578b62c570e6375e7269b392d93676d9ca644faaae04ac2c480dc62036a6664535772c579e0e55ba47852a5c569b9071cdac896d51ad013be80b5e818038d6c1500445eb770381b266854a11aa52eed386ec8cbc93e77484292227f2fcd0396a69adc94f6270632c9c40905085a84fe11e03b7cab6e463d42d9ef52caaee9032d2c0d65db36c4f80192a7e321304f83304ab3b9c884b9451fbcb93791b37f5b031bc93c4520fe4705318674a88cb3b8616a362b43f69f0e4eedde9197036655e6031936a78f66282dbb67c0038da341825ef56fb8cbe31d05b82cfa4b0b0a6dcec403ae2c12835f5ea0d27aba6b96b3f256460fd41bf3beea92f77bd7ac65ced32d1d031c5bc0cdfa44e15f55b8864f2f8250c64639f4262076dc30808f860bc61f8dec03c91295a513b70ed4966b076e67b26a538bcc85cf846f56b0fe9dbd5452235d8d0330eaaa424a50e7776d18c5ab5730e9ac4c6321dc274780404481b0d23e1708d803487842848650380ff821a5c535be41c90d8ca4f6cb809925a54b949f23ae04b30219ffff03b87f2a353eb9887f7d78c8400fd52dadc9e611e2037032b3f5f23f4265c4ec6a03e872b95b791d6b6b5462ba5c6e02ab65167f92f160b3191d2e5e4f36561283e20383167a8137ccdda532c992b9e1531221f6676c55fd3b95744a0c2c6553cff71c03121f006d8493ea49eb1ddec613d4014ff3f0f49587137ae0d21e4abf228f523803a0d92ca82a1b508b622860693e01e2ae7e6210a58a8af6a9add02fc49bd71a590306bf379b73578c15bb1425857badcb5d37aadee5c4d81a5891336c04ad28136c03f0fedd00bb27c81db6f20d2f9f7a79fcb958d0dde163245d69470072459e918303ca9cec08a8780673223837bd5ca4f7e9851e3c293b5590666b39a672c232b03303dd72cc871361ac75f1269360d42c921dbaf3f463d3ff5aaa5b1bda2201ab465203f74c9bb32b825173a41946e6d56257316e1f8c45af88647c2051b33ccf12f64903d504b1474823a2a6719fa5bb6b8ced3de82eb9a10a5ca5883361a5646ccd5f0b03e8431da9a02e176a6786f7895118d5c034eb03824aff38d8a11651d3d5888a46037019533cb71aaf810aedc717aa2c09c6a9e10f81215e47c823ba460cb330457c03888be44dd5fa49fbbe669f244db325f1427677a0c1176e01fb1647f833d4fd570219ffff03227a8ad390c9edef5884e392499c3fcd40fe1ceae7a212d89625adca52844e6e038363b51b50f59b8e09ed4457fa57a46b6cccf6946ef5875c66ddb13582e4b1da03534a6aed47e3f1a8b4e2051455ad9da2c7651dd215617dedb55c9a71813960a103cba994e3757bb8e495228eb974076c46e7650bca0580bd6f6dd4103aa750c97a03a9c64b7635ed0c9800e9151177eae319e6460ad003084e385bb164e82f42cf650357a466cb9d00f80bc4b17fed52aff098106c23b18f620e0e89d28e95ab7c1817032d7766d4404a7dd3205c892d0b2c42e2c71bb7dca802ffe5150c4d036f98e0f303b7b495e42a1153c10dc6b5d8701a21d0fe5b1ce6368a3a60c41ee14050f14fda0219ffff03358b6338003e9b632e083b2a83616875a310ea6b331c6363d340ea0057e6f6a50365fc73487c594cc99813513b2a672b94b9ae53e359df885954db96b96fc7644003c1fdebbbb461c1ff2e9f2e1f29aa494bf66cb997f55ccc294986b34b48a4efac03037b78535ff19962fe4e16f4a9800bd27616174702890b7b8f67d12b3f9f1a4d033b84328ae21a05fceb17d1f7b7490cea82d3f382734cc689f9f7834b81a368770331615a1f2d99865a03d433e5007b9250de2c66de3da50e7c26d132303dc07ea303e65f91e269725de6093d7202b5be5ae1599fc0080703db97874fec6bc9e9f67c0219ffff031d91695190aa18127f4161c08d5ee19c486d993417b2008b2cf6e36564d6d3ec0362a9c026f5e0873d1d26e91b3a98824d79dab19be8cac4b3e7715b33cdc9929003ffdf8bb68848f308f543b595eadf3523abfd6eb6c3ac3f0aa1a5391cf13ab42e0383203abb62bc31d75935149ae5efff568fc763f993f6fd750c09945414575a1a03be7e22351c86164ed1f18ba1fa4cf16ea6df2308eb1756734fa4bb5b47d98250038da6031bbe5e352b22cedb4b4e3c554ed4eecb9a48b73025f3df60a98a4600c40347504607ac81ee651d9e88ee061ac6c4d4ca92b687420319e2a1d6abd461393803e81dd54272e61686e93a698811ee5444d99b32dc8ade9f44b2d736c2f81ad2be03e29c038adb11fe066fcb1c62351965d75a3b808047494c7a25e7e40de6d2372e03aaa6250fbab678ce6df0a46a4b5bc29cd14f4192297f2ba46c01705ef15ffb1e03770f422cc59126158b808e399e7abf3224e29187622d8d67abc70a55503497230325101e010635b1b14a7e6dbd8ff5d88753e0f95c57bf88963492aab9bbf5425903d21aadb37ad199d503810a1e60c3938aa3aff2fe76ff72fbfd298b14855726bf0362ba79402ddc320f69c39cb1cdf1bd8d12d3648a9ab09bc8610542ee12f3d7320377acc9e093e2cb8c38f3520aff0931323abed1db649c4eec160722dea26553a003b4b31f474ccd7865204683ed5dce0c56e4dde5b077772b4f9d30f41f80f94c4603340b9ba5b0c086661f1f2a720fafaaeb344f6b89c5594a7fa612fdf4286f6f9703e8d4a7b1bb919897b5e22b104503e90e7107889a9c717f143f0dbfee6d7db60703042da48410c3cba9b81f2ceac5b225f604bcfccf4f39c3f3bc12b437e5137c2803ce6bff5a769d1de5766d051e48cbf65902e989e1ca937302a65f3f14000b1b6c03ef0589cf16ebeeefb15a7e5833182ec4e9025614c64c836e1a85689e562a794f0368277baa9d71c6d99a1c8a58dbd1ffce1db407fc935128da0ae02c0b5a59ace3033e92eb32d46dd502d03dc3e331f0cf5d0476e00afad6630c61beb653446a3b2d031fe31b100db368c4b17a67954c2f143c27713bd019626b76efea496e281ee6470305471f5c844b3d4140adebe3666e3aa391d22d815f0c91c388616b9493ad246203593e4534647426325c474bf68ab5abe05a04a7d401ceb15643164b331983a1d503af4a410f61e92268d8b6a0a9534b5dc9e8add6fb4afc384186a87e87f0a1c0f903b826aa90caadd90c68a55357f840b16fae140f07769be18f55039a0198cd66be039686f4caf5951c47625721eb5da30030296cada62890417a51d584231dcdaae703caa532237c6ff0d8d819296caa92585da2051f2623c7c9bb7317c390bdb597e30388f906b21e1a8c76b5eff480d9c652f86f72a5f4e019bf6c74346397f413a435030b24679c14fe40f2e409fa885d7d92e1ae502032158c8689e198a876e7de0ce203e13a1d67c75f5614d716bad0a4795afbd9106d9abd0cfea3c9e8731fc470fcfe039200cc7d25c9e8455dffe70c3221ee382a1125b5aadc10ee629c13561c80f34b03f68f847e2973c3f8dbca6b069d8faf71f46e2adbcb92d3c5f04b36f2d558776a00581e02513ee74428f524dbcb98654dbaaa65fadb98b8bc2d366c3afa26141f574b4a817c7ffffffd8e6f770600581e03b22f2ce2ba843ee538f3e0353197c7691ef6bdfc540803d74b686b72c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0330540e65f3f047695d98750127d0e5bc1a987b386c2cef784a4525a180440188c2e002188800581e0260b880c5c850702db54e755d5c5a8054e61bfa12bc455ce4c58c5f30d744021b178900581e02334ed38052ea4b738b87e8c746b4b4eadfa426d7f0fa3ddd450540512b45104c5c0a8e03435b7ad062e151d87959d059edb652978f4a242392ceeb1bc09a3279d930fceb03a442c492968b43e47f5b1931ddd1b8e8a38ea62f86424c86e6f0822e7cf742ed00581e0233a3700fb16e929cfc532a0e7408b8e7cb5a829cc5385ce75acd948ec44395894000581e02342808c0e23be9c7185a10ba1fabdf0ec0f7b274f418e865496b3a51db5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029873cb63df06ed34c1223425f3cf739a736b52e8d13a9bb443918bdff55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219dad20219ffff0219ffff03a12b90cfcfef26dbeeb7c4515248342e143d0cbbe55c2d911d5a735cb9ab108b039dc2eabc07e1bf4b80b6c23283d6df06f14714d2c6a1d6f85ed1d13a567d2b3903b2587d115ebb10c4ab443525f2d2bf984fe8573a73c2a0a951e83c2b429a640903e4588c7fc782b359f7b217f3f357006705c5df24bb97248aa69629340c88f86c0373843ad939ab0ab24a503ccb18fa2bb3d4f676680566604203d4baff052864ff03453a521898dd9e478fc7336d0aaf243e0801b265b8e6e203fe5345df7ba48c1203786673da45924aa76b49ed81b03289a31ca84c21187b419f497424d16d2f90cf033258d5ac8e41b871c9079cf90ca945e14c1bea6278fd0d3b04fedf81b46a44b003c05a7321be8a574ea0800491e02bb81285b4882ca3a5003571b760d96d55ae7c034053fe8a65d9e5674604e75d3009a94354cd9243133ca7db5f97dfbb17a487e00219ffff033ce048a9d4f7b9ca3fc257a8584421c9e46e5382e322e0378bdf3e4bc51d44040346d535fe06d953f9f07c76e86fb99c4e747076501fc339c7df6308d88b97ece3036ba436296839a4488a3114cdc7604aca9f18e42aa9716a25b556b7b83161372003b615086878233e02d1a39803cd2f612dacd0305f90a05503db3de5269135a12703ab823e7241251fdbae1e6e1e5094d147f74d8f6fb361aff03340fefffea5216103786eb35d31253ad4861f2a4d1d88aea21bdf2ba0650d76e4509697c74a9f8c550364371b3b8d7bb6cedb7f3239321154f5c0dfe8255e2e51d6b68649f3d7eaee0f0363735cc94f269a0ebde7b6b6385b5a36278b95af9d20a15441e526f33086c76f031d7f3e7656e1801c30f008598c2ce1a9fdf131fe0f4e3194ec869aa6fcd88dd00326ed449955a28c58bb17198728babbdb7412438b5d5b29b64f241a8b8059b3a1031fadc3b986e74de78ef6643669350947c51166668c0943b80721f0dbcd9f53a903d7430c00868717b2f8b63532d5514ebe2ff3c79c3b0853f7f085b55749a4f59403e6a4b2189734576a234bb09ca6c2b149420e3deb7ce1b8956333fc1d1126dd6403db3482ad5017ce49113b548fb67a11bd636c7bcfa9f833a6e54acec55afca7db03784894ace844bca3c00da19d2d31e6c9ffe06bf280eb9719d20096d682ae8dd903684bc8ab1a3f8aa5dc2d7c19d7ff5a4b5a487cfacf16955c1675aa421189f45b036fcceb98d9b45dd0196dd652e60ceafc42147f1fc04c6f610badc1814e0abd5f036a881adbd5e6ddc51bff049c2a02a9162440330362db9b5ea58bf2a8f18f719803f73ce390646f2d6cb07465196b8a2d9e0dabb70af771b4f1014ec77778d81a7f03d58415eed7bf4dad53e316cb8c561c88c93eb38f6284789396d29276c6d8cfb80367c9fd4d8e5a1b73d2d257da40fefc6a95721e47258624117901877ae0080c4203d5f85e079ec911b287d25886f6e3dc230da39af026d31175313e8496c1d0a44803cbb0eb79c38702bcfaf55012ce5dde42fc47398b1cd5e0959a85a348068d4e4803f138a8348287dd7c7f4d85f444c92311287dfe38801ca123cb333ec88e40f04e03a58d34fe33feada8ce01ce6ad00d3f8e937434a9004038b67bac5c44b981e51503e69800a61c8a3141347f4afa5349ac389640f4c62f0fb87f9ea3769ba14f7d990371d5c81fa2da42bddb328124e29d169797317e86d32754c00d127847225dc631032594829a7b381585c19b518c7ee384d9fb9d971dd7d0637bf683096bf056801803f6401aca48daa8a39a2ab7fc1153553f55aad2d01e65442126f0fd907a718850036e781f1393a561a9ef36b4a3292a0a782b4087296137e57846c68173f73b5902039b2286ff1e24996bb36466a3940cb7cb09b4ec6fb9c4e90cdf490bbf0cbfa5a30313fe132d7ca567d86ab9b0875e1205f718678ccc43a03912444f0539f9ffb41f00581e022b431799e19c4e8d5bffa8ccfb4b44105b99a1bb2d7eaa0e033a2a698148016345785d8a000003365f34a5d53b4cad6f1ebd71231eea71455990e258ba73a779edb40304304fcb00581e0220bd151133aee25c21127e637f2298cfd44e395385c831f0f0eefb8445440358b43b00581e028bddbb687e76de02ebd7248d997301a13f2a816020985a32286b6e33ba5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a1ff5afeb563fc160f58b4f1e10609208977cc1f955ebaa487b24b9cc45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cd299c628ca8b3196785988fad31d459ff570f6d7f7e85be9f402faf305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dc771d4bb2754d4a85f86d0590270172bcb2c07c7f5a6cdc7f5c61fa0988d93000581e03a79f13e7ce5ff842f77eb109c2dba95d2fc73421d9b9f692ee361206a044d101eec800581e033bf49ba6fe1b37fb2e1e85584880c8e2d3d99870e6362334ca5e361b90495562504d33a527999f00581e034bf9b1b29259986e47bbf0041cad9add1742c1a97d5b94f3eeb2be9b204402aa56b3021921040219d2d40353d5bd86c71f101f434ecfb1e3535085055cdc4d5e58a192bbc3beda2b0c789103b79cbada03601b4e1f2974b7984640751c241612746ff81b5e7071260b13d8a70219ffff031fe1f7555d273f8715fe3f211a0413637064f2270b6001a598bdcbfe6a5d5431032b0593f2f790f6b870b05761925e973ca80c59a817cac922d611fe126eaf394c034fc9d5286a5865454b21f596cc55db67b6ffaf14488d2495eaeb1c58f26fbf4d03be6f1e6b6820e98af7ad3ce7a6724a9c67cae147c234abed33e6adc84692200203a9f86626954a3a41d5b3bc9db9bd0f338b72b263a50efa74e687b24b8b54617603cb3b58b161246bcf6d2e2bd2d0c56825fb15fa24a202bfde2504bdef02f3a8860315e75908d89880f6c56940b1ff455390856887ee08933fd11432ea9d23512888031a9be613489e0b4e5c699db60ae20234e808bbc9a25412d00fb768a813c91f35038c072e3f3675c8466118828aba62e689b510fa1abd84caea145568a5f9144cbd03eefd54f786108ebd1a837df1ca80cd35f08ab4b444927dfe1f139b82b0f22c0c03706adebd2e92d6761ec3da0a03ac5ceb1ae5f1aa9fcc3ece660ba83fa6ea9238032302699bd0f61679b377da46141d2f6c3ee0fb01777dbacdba86eb547f7e43f7033bfaa338506fe88c291dde1a676682ad6c7ad82e95f2cb15ef0b6d88c4058c8f0219ffff03573ad7c50943e3bcc2166353d37f07ddf60bbb1a490dd295adc3e17c38f122bc0219ffff033901713fbbb75957be8903193815f275df3178a1e7b285ba49b657e1776e91aa033ac031ccd559d375b3012084cc9796a22086e3d782f9c4483777c62230a7558403be5de65a08484410a5f5288d93b480126b7aad0e5b757f21037fed381c20e7e203ce6b9df0c1cc98a2054cb0e9e2b938c27f11416d2d8233afb622c142d73f191f03f0216456bae48c1acceb7fd68b6067ed5f0dd0e2b949022fadc5da412ce6cd330315431c4638653ed8ff8f6ff87bb62ce4361a3bb31100f5969bd42dc89038c146032ffde47d5f5add089ec0bb51526e6c296c5807143cdc213d3ea4ab8dc05a5e7d03a7ba0fccb912d6995e8fe85271e98d3e9314aad6125811043bc0289ffea4440d03fa5a692ccdd4651c954283f2344a4a1c9e4e94a2556cc6bb5f99c604f786ff5d037eb91a9977122e4ca8571ba153a2c8000194a6b60e8df17a89de112b3e5c36c203699d34dd9a4e9c06f9a358347fba64a1f329854568fba982dcbf2a7d560574d203ddff3c64773841535cdf6c2fdfb6f258051d0b52be76420915ed768f9490629003e97e29eb49e33a0d03056086ccfc2be31ca1f5b979bb53e1ab9ba4178ba3f08b037e0524b10b7066855f112f7dac84c5b4286118b6d317c731abd40c14390c8a3103576b17fdfdf19afb90d03a29502eaaa484404231cfbd6966074bbde09c19dbdd0393d81766554c93350ecd9898a9e905865f95dc9c6aaaf2cef9910f8873677b050368c8e3cdc17e718cf9e393b3ce5ebbc2ef65880820cf0472011200a08d1d294503f96032cd0bff6e777fa8bd0c105da7cd2219ab649f8cd949b1a622df783a8e8b0374995a1faf34bcf699b2d8a3a93e58fbfae4e304e5e8630d989d15e584425a4403a378303023d35905e9c04dacb738794f536b1d9fafebd8e3c0e96535b89d45cc03fcc2b899e9f1e8e2d7d6c3949105e31d96047d9b8c32255ef37d35ddf617b82e0329c9281a10af72029b61d6be3ef841855b552e5efdb4135976e9cce2670c31be03654f619cc7a5753df82075b2623f5de429ec90c64500d65f658220cf08ed9563030de36c023518604b2f1e19f7135de6c3da9cf45dbfde3a85ee802ff7796d545403fd38a1802c1884884dc0881ab2a9b8e07fdaa3398356bee09bc49e6c35b504a200581e024cdceaa87320d880a94db5c21eb2b4e38361d48fe546973549306a43115820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03be836c726882bf70f07ceb7fb02a9e8cf7781f9bf735a3561dc3a7c8a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e037faf37627461092a17585d1dffbf388b08d417c279426a247e03ed14c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03c89acee4058c94dfb62ef0042216f3448f74d5f35a96c8433826543190442bcf35c00219042200581e02b55c0689653627228b1c562d3c3627ffd027749065eb46c3f539d8b7d7450b9a19758000581e020cf3b14de38265e8af944b03677b7c4e3533f5fb306e92ab58113e8d1744030af61000581e02fbb3b85c247f053663a1cd2c178b45b831501f7407d33675b85f018f48440ee8f7a503791cf95ca7ca9cbf94f6309e2378ff6e029c909ce8146ffad3f86c22ca28242200581e021abc34a250d6dcc01b64200be106f0cf36c9230db470732fee76ea9bd2430436f800581e02eeb383fe8282e7120261d922a964d5ab0ed7b89fefa23225f13c9a1b7f430f424000581e02db200a5fab2e23ec2b43382a97b9eac9c26ca7efd256a66b73c58e14e641640219b8970314bd4cd403980d9e6e22155439fe2698685d4c959dad558379d49a00e6612b2f0317a25a6e01a5780edf22c10d95cb9f3e20e3b6ef633bd6ebf253b472c61da646038ce39ac2feb6095399747f20d6eb990f10e66cac039040f00ffe5db7ab4ec32703f321be9a60b8cea9340699a0874a628eb2d57c45c32d7aee0cb011c8e5ce2380030d92eba0e0eb28e092dec5d96eaed5b57efc40e0951d196de2fb086dfde8a6e50354543fb97dfcb77ded1c86c8d47f3918466ed8be01b85fa9f91d12c52d4f1dc3038a0cf5c1cce9e81b54431488649a1b0f076ecc06bb2c97b3e3642fc1a54a681403f425b47af76f3b34deb06a0b19088c8c43720fcd1c805849676ad0d50f0535ce03ba0f54e29b731fbf8cb08b5f718326203efd2e5571dd902ab173bb8e24034bc20317ef0e87e9f4e0c97b2f0d572de1aad3e458d1fe8941d06255ba1672430740720219ffff0343a261c141a3e9b8f9dbcd44815c79367713ef2d4e70ad40209ab9fae166404f032a56352daeacc284af5165054a480cb2cb7929ba2f772f17b439fde3d7b6381503fd338153239867c27ba3ac04e49776ce4641b6bd4f0db20db6da51879672e3f50362f9f7d9eba10feb74a63ab9b835ba922cf2d6372fb83c767a45c6dac469c5c00219ffff035ac6039f83664793e92222b852bd3e1a3d05c290b557ce94f77961bcb519862d035245495f1535db400b4eacc4ab682694ba19e8e811657bb63c86bcf4353a4048036917cc4b36d56078adbc8d4f7b59c14955ccde37f290000e56e7998aadd5c62b034560204737500e6f57b8322ad6a8809bdc66d1e4f6a996da9a51706e19db9cbd037130d52f35dfe39b12294120bd3d447086c088e501600d7ad6d0b08c760241e403affde95082d2d6a9805331ca95f55c5359be218775c6e6aa134c24819556d82103ca2186fd890ee8fb66228429b6ce2c2c16e5a86f49bb94370aaa97c8f0d4118b03ab26c74f43961dd81164f201b9ed3e56349296a3ac50ae800f86161e9c3cd18803def68256127a880441bfd53338b4edd4afa04c802cf1532093f14a4f1acd8dda03255c7dee70da7ca74997cb6dd78963831646872ed05004b9990d79a03ca3e56f0219ffff03eeaa0bf91e413992ab04cfc127d5ab25df1b4315eb63beb2ec1df387a5f3b22c0361324b69dd26cf51b93074da7d46b135384852de99032b845e7595a8580b496d036734c972f5e5e2ae44dca3f12d809bbc6332e1695627dbf2488b66744214d1a10342ede1ce9b47396918821e42b0a92b37976b825e4f35950a4a5c0d1672125e80037dd8ab716f09e5a6ab591cf493c470bd13668663fe56dd37316279f608759e7f0365c7c96a4ba2162fc348506cd1a93b814d9645cc0057918aff2cbb086f40831103163ec51fdcab35a8d0e344203a28fe439619d394bc6ab3a826719bfab1b0b40903e2662859c4ef19bda745897f6dd5df61059af3e31f07cf8577f965a09bea09dd03d3a9cf3645dd553e86070d2cd9bbdfe0a8bd327a6724b68b4485e4f2acc1a279031cf2c0b08632c959be51cdf99bca3e0bdf73276c56a34d65b18b8b632e144f6d036df43644dd5ba07da375dd95d47cb1a380aab680d292e10814d21c82175c652c03a315eee367176f0f59caa1733fd1c26e200131c466ed7f93da973fe8cf3f610a03ce8c6901f39b53894d6cceadf562d05d860770d65d7ba6927efa4c8aebb0e949032680c5e748cb3d1357164cfe93767385ce48a1cc764525ca3d9a5e7e7683f8d503bf76c6679eb4247a8810a3c891728e9eecee5de339580524016535552db4cdea033bf3c0f07aa36baa39456567e42130c39929717baea37dbb0c6266ccc77ccfd403779aaf2fb5fb2c0dd9759b696a28b2fa4d0587f25624e08fb07449096db15a61035ef222b4afa59055d9ea38fca1a30231197c2fccf3099c2b93dc9081107321d6033374b5550bf95627e9b0bdcbfe017076168ba8a7c6fc8c74ca39f12f2d12205303d4cbc86bf8d04a096243de9d2cae5060632b5d4dcd08e2caa9b93a2e8b299bf9038da35133bd21145e2cf823abcefdcf336c9f0bfb9a89a91ae7ffbf3f0a40d8a9033f982d1448bfea6211dbae3d0e4cd3ccfb5f29c3a06893999dac7a5179b6682b03eea796221201927df5d0d35866a24f390a9d4d88293cd413a3b6ab51cb114bd10353b70378950f4009c6b6b56a0977fcf5d0a67643d8dccb73bda6a3b9cf50522103cf06582a2b8c530a73b9585f12a9c3677818083247e555215ce0b7a70d632fa403a7326606f6a83cd98eecdf9a0b725b7ca7c3035ab9286f9ac1ffea799ae37ae4035bfc7c04225f9afbf618d4368571d37e7dc2dfdb240a11dae459ef31ebedf54f03d8c9b2caad0a0da5c51691c1017fa707d96393988d01e89f84ec61ca0ee2834303bef053385875721662891070ff31d7b9e9bac49ad9f9767b45fb5b8e6197db5403e148c79c1ad5c8cb60868cd13af245537c67f93c8d1a7927bc0cfebc6adb5fbe03ea2e8307e2f55a989ad4f1db7732119cf4494bf4181a7234f03834e1a1895c5903fe09adb636be4c9229d649efb8a0c5d407eca2d2d9d2f60826c106c953673eda0393be48a6306b8789a2add2fa38864b113974f062ea1d95f26891534cc1c1b10600581e0258ad4898c1b80cbfb59e58a9da34efbf43d0a1abf94ccf980dbe51f26c410100581e0251557d60087c615dde1230b058f0bdfeaa659c155d0d5f095f02aa5ac55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02eed84c3aa754514a0ba026e299b3f259a915ac2f27ae9e2ed0d99d5688410100581e027578307e9f21a046eebb7658acb1a2378a343df57ec7a77ff005b2fc74410103c0db577ce3a6d1a09e48e73e81dcafe030643e91b14c3d830b673a5666bea0f600581e02e2a6b096dcf63508e0036a28d7b7fe93f8ce2389c89fbdce8f9eb16e544402625a0003dc4d8be73cbb0360f6e8ff9a2059dec6cc2c435210a055aeaa0c01f15f5ec23100581e0233728626cd53098d24fa83227778c6adf0453c9f7d95592dc2bed7c9ad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219cd460354558d1a3d8a6b7fd9908eb19f92199e9a44c88015e5c766e8754157af886fec0219ffff035b28a16a8716380ad183a777123df39218e7b33db330e471deeb6d9458a6f37f031afea426e4600093146930aa54561f4c7777e20711bd8bddc75ab252a95a850e032122b41f04d7f6710137b41de24094b8048b984987b0384c856594262ba5974d03c1e32d539acf55bcfa6a03dca88d21bccb4a414511cf7a18e20e99424bd065a2036bd86eaf1fb153a62950a0a0da09903291680f0be5c93efc5a3e18581a94b51203b09006a4512d28a6675b3ec7ad59084464d4241da4b051e906afe1bec78d695103be555bdcb9005405de264b37cb6cea4404b2f5c2d60f798fa1233c438addde35036314c3bc26dfff4b62bf956de65e46e36059c246d8152bcb4f85517f14634059030cb963c7bc99a91dec968b6ab98554c3d57d67e2da581ef72365a1fbb4e1b2d303d989780cca8f825e7374afda2258379e759c63408263bae48c4b5faf6d4ddcbe037e51ce9a3dc45b13c69e2d950bbcd132ab8dafc997e52c664c746a94b0e8f7be0317b9771b3decedb53072ba5eb1f5cb6a85e758883d6d7db5590f9bb1a09b105e0390584e043e98b8d56e271f3134928f80a98f2484a7fb38c33db38d74a600e32e0219ffff034421c6c3116672aa42f9d795dcbbef8554a1fc64f9c70cd67442e585e6f2defd0219ffff03eb21217fd5ad8331a3f399bd153bb5a3e0595a5828883e20e9c6e01cb1fbfad10358428364483bd03121e37db32a63668223d2dd21eb6fa2f6deb62e34042999a30219ffff032869107a5342ad485e83677e0cf92d1cdc9078c33c72dc9eeb9b188c3b60bb1003b5caa0d56c39027c49f73843cacc6b65f3b6fb317af992c2a924f84a7e0001b003ab71654db556c5ed20cd0bd317b40d0cca5a8f135ef2140e6759f542a15096f003c0c3a7996d2f2289d110ed9cd2a565e8e3713f12a752fa7497d15088aacd81c603f6767a0c39e69a5fafa7dffd51069451f461e4d22f7d5d8be8d8fd8a0da51de403451f8ab1d78cb19ffd23f0d90351a4a2f0543b05fa221dd6fba5314393d9ac860302639e76fff6fc7250c272958f75cb9a9c4744f5b9864792b90a2188bfc086ff03b26d700e6e616da982a1f9bd94ddc74d0d3405d4e0dddf24d6ee2d3eb26b959f03199428a1eacbe3e4fadc0c06b4c5708c9654f2c858e7403a0bc8e3bff86d69bb035752e02026d920332ddde7f9ebd0ef5920e52eb97fd289f52fc733b08fd0d83c03fa3fbfd12406ce709c724d0591a0694d4cd97a6b8b1fd7844201610621a6594c03de161cc67496543bae678451a86c710ccc012b17c6797fdb7ff67a05cdabcb6303a1021018913b7853e084791e5a8f5e272862486eac0da95a7d589be11c67aa9e03a7b017df0dac7bee8fade4362682b8e83300f8539b9c08cc9c5f1e8ce818ca86033ecfe1e81188dc0ddb53628926730f6c8db2f8bc9c8da558097656f85b988039038e66186971c7f2eb870ea59fbeb83df05f443d05ae29dd49663c4e0a42309e8d030c2342e3466a4475777cbbcd75c5de04e1b1e5fe167010fafc782b8380c4c9d003a5c420fe4b20256261f6a6de2659c4100a97e5d31a134ec611e9bd757ae12f71032e6289aeeb065d5621c1a52595a3c7be7127e1e101134aee9fc8dbffa321f77103f2174f0d76d07e46be23c5c2a6190fdd60b5dd0c0850321b50142ed924153c7003e8318f7398e722ee243816fe411bbe4efa1b8cc012cbfc4044838e3023004c2a035487c9e3ee6b22b4ea31ae9fcf25d5db9aeda0b49629d95a535c6f20b7b140ff03cbd7d17dde72df00cda6c8691fdd54579f6e11e6406decaf9ada32383a1f2503036c2cc790347edbf6b03a40bbbeb56d69b9335ae169739f89a521b9811a5062c3036a7525bce9625553f941a73eb04984292f208b5315428a1528c3ecbf5082f14d0305d4cf40823f1b08046c645a561037bef0c0edbe986fae02b32a8c9588cc5c13037be0a412c1a3246be3bb33261d2d0a4748d514c8555e3ec476b7a9d220bdf9a703db8e5446b0074adc1d162275c0fc4ddadd41ffe4a3ba3117faf1524188bc12f00337262fce0f5b10b975b99da36562e7b146d4493cb5cd57a2524796b0b5060e3e00581e025683b3beaf30d0df54cd83cb9b1c715c896b2a357fd94054d719df88315820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026ec3a4e61c399c867c3d26a193887d49f2c6b882d1bcce883b4de6ff965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e025e1f127f92b49f09bd42bc7670efad2d86cc961da542e5e1ba85ed712f4701485c407e12da00581e0202f96a533b609c8adefd74d05c916d421b650cc95adbc4cc2565bb1ba15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02f2aa146c6b2f2a23a43dcb9115b1123fee15460243fee19a58b9cee49844018cba8000581e025601dab4d16c8d893a6f01ede3e6ec7fed4d4a2e55a8008857a0b89a335820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0241b81d7300275301b67f701d46af922e0ad963a039440ebe507d098ca1440131014002194e1a037e839a00d66a4e2b1435dbbe0f8a9eb87e74600b675c267d4874c9a696671ed003230abd4e4a3f1e700551040484bef699d2b6ffb074f3e9bf8a29397373ceb7dc0340101737e46dc98ba40416647dccd4ab11900eaf8e9746d217bf5c40e43cd4300344536ab371d029d1a310cd51e7c2a93a2e7464b3b7daeeeb8f659254ae5e1d8b03fdddfab035179a6accf65a47f3b671ecc8b85325fe337d4e35c8baaa6009024e03acf18b1ba14de7f968792e88010eb1cbbe0e7a0c0575fc8bf266cff3aec5b71703e4b7ae2edc28e484aafb490a61a57831c6e4b27c515efc77aa557cf18426fb8f0383ddda162ac9a0748ac7b427a48afe8df0d9238fc08c82294181fd004ca98a91035878ef34350f61130cb3896882d02cde0c51d940f1f6c0b3c26541ef8aebd68f03bf1539de3878dfebad034130aca769dd5468722aaaa0e9f800225712a41e1d65038d31525aea795b435c5c0e66574859d53f3e6f855305a067413692014c83b5f00219ffff03c633b2d7d1ffe89de73b93716b68ad3c563d9061f739b3156446de87000da3040345c17b3bffec32d95ecc00a85d084c3cc30cfc993aa6ecc96d44ac492c5365f90386aafc00301ae9f4b2ccc46bdfcfb828f24a9b3f9ef702693b290b48d95d77a4034f26ff8fdb72e86b36b2a89cd20643a4804a10f93b819771cab5001d9ff8d3e5033bd09a56a278cf56a367a49e002e480650c86e9d008fea5fc7ba61a69399c1cd035656bf9425e9ca5215623b60103200e2c14f2b1b938a49c5a1e0c2f904b06c3e0311646e6e2b1fab0a8a7e3a0a7060eddd6f4a332bfb0bd0899d634c7084e35aed0386e6316373245a508584d221227cce3590c1d88ad1b51a431d28d49762c22a2903a79640add365ae0528d4b85e90442a2f4c97c5d79c027492ec6cb4939d481df5035604ad64e0c506f27bff0f893c38fe08a940bb28fbd23f5c0e6858d20fef218203b79891185670ce4bba9c97d9ae96b9d3c2cad451a643a1c3778817c17c44bd53030c883a3e794242b478dbb1e88dd6d428c3aa47d566574ca97fc4bdd90ab905410219ffff03907317a460246cbfe6cd80f67c1da5e1260fbf4a9339c0dee7358658b03012a00317000a76f70e8165edceaaefe814628b8a19f43bf3560aadd4a618d9a79a9b05039d091207498fb953a17d6778ed52745a36ce07e292ed04d64a2d99fcf41109d803252b6dc140ed6bbc8fc5bc4b7612b9797818184bb1d54fdb8c935f6d3111dc7703e33b054b53aa3ee4cdfd8c3b3c834b386f189fdd2e24f93bb8777744b462c399039ff04a9f8ae91ddf310c50aa7d06fa7c48c03a7cb3a887644c27f44a75c038900348c24b6530c1bbb8b595a3db4c7fb268ea76f7b374bc226241b9e865da10e70e032c7e68a999c87b15e526256d056847a6e6fabdcf847bd43fbf23ef4215c85b05039b6c430103f6bdd29b691b05b70ce2bc39af1657442707db4979917fd3e1611203fb40daabf31fc076edf7969f00139ae8c86046783252609d070267ac5e0f3748039631cee875e6914e053c1756c5d2f5bf765ecae29d91538a7824ee38ff98fe6c03a0e7d6992b0e5f4e3be23d89ad362111878bb38c5e058d5f4fd4ce667800c3c30305f751b4d764943925a40bcf50097ad0c900ac58ab31baf57292644f545345e5031bc5d05e64639f9b4b7c736c7cea02dd24ae9866462893e98b2d25f1668282c103eb22ec59ebe9d671dc6ec0e616e0449c09fa159a872b0e38e6802adbba6b1cd0037add038ef1aad411fcc66cad66076d109b43e25119234d967d27e09d2fee756f032576801947d86e449474adf13ea5097f0706695c32cf4fd0527a80028cbabfa800581e029ecf190cc9a97ae9731a320571880fe347a2ec176e78daa66e5a8f362543f3fcf000581e0254269e080dd1638f7213734cad92edda4967ee1be50664c01c7da2a1385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c48c2de52d55b2d1e394153a84c1e9d8cbf0e13d3679d5cd8057309aec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b805976bb5ccd0eb4ac7a3e5b5849b3c3000361fe224f1bd6dc76703e444067f354000581e02b0ae6abc2d7665048153edcbc52f6278e839cc521d220cdb3c348379ef4405d3907c00581e0258ee0f19afb55c03005c53fc88996804f56a858a115704884a8ca4e28a431ae82f03cb118670c571a21c7344b373c9e0f5d85909b286f49c5beb555ed4c69e9c0f19021935310379d89a3a21f40a093bffbe387dbdcee68aca2c3a17d5e509cd6d59cccf0416a703dcc82bfb5da2578e2e49c0870eb60d92a6cc908fcfbfa3cf362b111dca910ab2039a67efc209145f130e0acb5ee5e6d3e3b3fcaa7859cf1d7aba6ec00803dee567036eb4b9230f88920ef91aedc9540e05ebfa3f5312c9dcc60fb627fdd8746770ec0313b7d6305b4a6fd8a900511fe563b1d2fa3f4c1db193720321c5760c3e8446650219ffff038f1f99417b9a2cb81258875e2cddbf6d99802c732e6242d21eae07a119538d5103e77955518304a4e490e74d1f390df46f8c4ad9dec54d7f6ba72a84987fcdc96203ccadf252c8c0737b0ee4c0da8eb401576fc494fbbfc217b5c22aa733ad105a570369cf3458becfa3654cef2018e0447b6ba414386a8450b539b622690e320c62d203a1e7a478cc06be6e8eda0a20ed0b079cf20838611a1c6fd795e94b49378df75b030515aa9cc61231340bbf0b526e655cbb1bb52b4cea619ef2794b26e2f910d1cd03e71b4f574e2486cfb33b66c149125f330814e18ddacdbe16c416cbf77760c31c03ea8a538bc97c6a2c6ae7ee983b0c40c36c73104879d166846651fbc11b8059ac03b7de885f438f1133ea6ebc8545c5d415e8dc1501861d107c88fbb3e3395a9dbc0329e6da7a22bea2f0272ca9bed0a2dd4bea1514800079970b43540228db03aad60219ffff039635852d408bf48b2d55fbd205b6615d9b639254871b8f1d5f32d9ae6d95a79803f35d338a432fb8b0feb49b9f805b0e3efc2ec67deab7c9564d00676f568936c803410856bed271abc70d3d2181d209ab706e7f23392a89ddd0e235e4b97da543040360ab76e036438894f0630726583693fe1a8d2e18e9e186f590ab33497b715d94035d6203b90d37335bc90f4806de15d166df44f12aa80a003401a485ef5c1147c20219ffff0219ffff0219ffff05581e03802a763f7db875346d03fbf86f137de55814b191c069e721f4747473300f014101192b4305581e03ed41b02751507a69be5c8c241e3750749282f6640e4722cccc632c3b200c0246a9f3a93029c805581e03eaccb25c3b802599534e062dc2e93db54aba393318310c1577e1daa630040205581e03c5e948564ebf9b9a17980d6eaa6524d93aafb4fdd34166baf652cca1800c02450f5de81400031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038f8c3e9b5c4c6544d216c2e7a83776e591264e1c198f65049bfc74840007011bffffffffffffffff02193bfd03adc0fa3bfb80d831641c3f58a6e3a81ac1771b0a071665d951ac3c70f51fb8d903817c1db621cbc632e093dcc56d347e20373a34e7e26997bc8b51401b2e9eccb0036f718000e4e406422e3b9ce3c4541bdf331fa920cd295691194859e96296480303459c6e8b574d64274fb16551693a6e71ba2489ed094172f5784dc1bbcb53a3a5031af29c4ae492c1ef17d49e759c535e83a0f10e5be08e9218ad50a9a18a0586040396d3e05bb50ee4b1cec89a4eefea21fc8939fa5d1d698dddee320266d324585303ad45735c19f6fdd0d89dbbaa7aae4599b0e3fb099ae36b48410fb55231a1facc03222c95e1e6b00ed6c4d73be303c215c9ae1fa144ae4c752860a9eb79b7e8b95003c346ae0d5fbf50abe50aebff6380e5fb920324574ceb9260cc1d4785e2730c8d0219ffff0325da368f3341d0efac10aba854d4f48b02dbb0bd156969b0672ae2e98022a32f03eb9967c0025a0b6a7f034d4c78532260d00278aaff60cc050f868fa3e06f33b60219ffff03b19e66b7e4602ff4dd1cbff82055ae9d010b8503142c5c2bf999a53e77bc934b031147967dc01b345e1981cf856455b59344466c20db6e5948d596eb10b2b56bcd03f2e6e2be0c1b77e0e9809ee0cacbbbfc1aaf1530aeaf99f4da6a07f25506632b03e2ae5d4cdc013b6353bf52af4e5e9965dd835bb5c1df3ec2ac2f05173e595566036cd030953a7f0538f016c41f16dfb6b7c29af40670f980ba170b83c4e1ff219303c52b685a2778df70218aa9f677d8bc253c6840aa263d2b0e991e715f768f8ef903d19d22a5ed20b10cb8674103259242f4d5f051f1d603ada894750d1b7960541903d2ee635b2083111f394d8199b6e19a5f483d29de3d77e29996a2fc6a5bb498e903fc2cf077a86a99d629361a63778407e12f48e690f6efc22c3dbd45cad72c17b203a24f79ccc93bdd06149e2a887dcafb531cc30cb8f1908a051e13151341c6aea90394c5dc3608eaa13cdcf3293be9c0336a4a2c88a7937dda39cb7a4b1af2346df20219ffff0312c319eedb90950f99b09001a7afd04039366145af5a8bf5e2b8e08bad4901c903ead9e39b995090bdd2a92ab975d5083901876173fb606ddbf2a1ef56ad5fcd60036496eb9c827a968313d5bc92fe7f7fff1946b1d8814f9226ee9900f155edaa6203634de1c971b303cb5843a019d3429dc6ed3fa893c4637003a79a7cb2dd7c799103bda26dab4cf436d71f40b8e58dae0e1826654946411c3dac023227f3e913e38e03ac26514b7e00a27871f08c4af11be1711ad15e278aa5c000fa733f0ec716d93a03b50ade5861e766ba6401ca90ca8a055772712a62f752fd9df72879118cc4368f03a39bbcb48bfa89b2d11930896d60708f227d1675b77210a5bd1c0ef6f1344fa003dcfb81fff95c4104a22fa284248126f0992a19204fcb34dacaea6ede32a443c703cf33470da6c80eca65ec45781fd09beabe6bf96c0b526379099b125010e380d803571ab515741f6d4bd989db4dbfec4de4a162eee867856054e648af24432bc96803932481f2379423e602605cb719cffd32beef10b793aabaa563200feed5b01fe503b4514fcd226576779b2f263a72684d3282e7b3877212133789f1a2ad91a6ac37035969805a89d6e18a210fb4d245b894ec1f2392286bd62226eb4d6411809ba83603c2d87e65b1fe6a1291c4537e595b595ae32072db969b3bbafb10845da0e9d7fd037901f91190bda06b2c0a8494b868cde53ca98edee782e89f538e112f2861eb1e0391212d0a9a6650ffbbe0d78ceb59def690dd77c45583701333955ee2f4fe50db03b6b6767122d00203dbf41c7f0af0cc8f765eef48ed19cdd714d34818748d661d03ccfa080fb314215d13b2dda237beb74e1fafa4ab145a1197ea37f5c6e01fee0f03092b5b68a706451b8440e7326ef0df616f3f92b8684d2af7a8e5e127b4cd7a420314bfd4d0fe9437a1600caea14764ce1eb2fe905aef070e719b2b8ac878cc2ca503f1bb75411f8975899030c6006a1cf9a0ddfb8cc58189cb4b126c44945847c87003b9a71816403f371e60e75f86c6122de720001fb0f3cb4cb7dee6740c0767929a0334b42a2ff0b11f7f03fd246424ef891504b6ca6822841e3ea31695db1a01efe5035842c4c4fea24b6727c931c5942c10abb6a7b78a2e26637faa86191e010d7065039383c67ee3a259966e7bc99d739e55187013fdc13c6ebe77880fc17c8fb314c305581e03176084ceb589ccddf6641908c2d53abfc04678f5fef77d6c4dd4fb4ca00c0345dd72142be803679795f7e4c2a0dfbaa9cb07cc4c6c36b65de36e80dc65a54242331a076fb401031006cb85682bccbecec4f7fafe0769b2db10006b76d75fdee0d698510b8bc6ca03941aae80b96ad4b54114418f137b9117c6564ee5a2f173c96a5b27f54209ca7205581e03d938e60e0d5cc7915ab0b5754631d9ec274ff5f8ef78606893f693bfd00c193c3948291a3b01c0856ba102196860033df2123a8e6381f21839837a95bf55ab1ba0c94f74358509e019cc77f36b5df103d83d87157c4a4b76e038e01df8752ff97a7d3079c8227a91aff379f780189b8803a22a1e7ac5ea315a4c0af79288034bd3f6fdbc8f93402bb4723db591ffb0607103f1667930a9af2739d5280d1c99c93075dfd7e91f7393a7e5c3cd669ccd784d40032302e572dd71f354118fa13c5d413f155ed9732c73f2bebd6eaf2b3d52650fed03fdc3dd1a9304df7832b8ec3d4902ac0f42b53f95e69c3402d72e1098a454884203b32ac6329358ccf4965cfd5fda97451cf37ec80acf6e3aad025bde9f90fc74730305a2cf83df474da61ae7573812f11f09578972a392c0c2c8692a0b85d6df4f5103e20e575d59edb7220a1ef56cf0fe4e4864317a4715ae6e26180c559f54f37666035b31538ef0c521cb2e2a25f7e352e29d0deae10d6649c05e64b41029c0a0ae6e033c7b5058eb10bd0487b88fa10de99ab6491d5025679d4a84ab94310f559b18cd03014bb9a693ce1eb1e5a207bfbd8042ca7c0e87063360ae2e10e0d12de073173c03d34706f3801b3fcc2fd7af64ff7a50da877cddc34aae544b210ef04942c4f82e0353d820a6a11c603bb378f75998f0796c9e3d0c8c64dc95cd34ce8ad39664e72303355661e8f9910e237732abd3906917b103ace9b6294b0d07daa083dbea0682030219ffff03e812abdb43b484733e9dfeb95e959a711036a62dd3bcbccfd441f0bc12db3e3b03008899cd8e461cd31cdb2e9359a7e9953d590875d4ab44f23952e948e8410d0d0219ffff03209ae4985ba4e30b31d10f42f2b3e5a2722434b0e9ea04d8cc29367274491d9f03b33d82093ee6e39c3c06c98fdae8c8925134ca033b8aeab3b2c1df8c193b0b2b03e2091bb008eb58302c17aff45e75742073f5da20b6c0c9197a380e966e234e260324d7d8976084718df0f3626811f513ef6e0d328606eec6df660784f4566b0e9f0348dba75e3363207ce6e1b210ef7820b089497ee87645bccada634a6ff027e35003dd9fde0953d87368b2112e4b6a094410e666bfc6a455e8920a5ee2bc185b453a037cd8605539318b245501e6d107d8dc2843d259e710cdfee9eef45ae7afaf4efe03111be52b4a20c29cbbff84aecc8259ef06e87a2777eef1cee07d8a8af8ed19c30381523a2c356dd2632430126e2173e4bd9f83797099bf623a1027a1d6c57a810e030ae6b0b09cd66cd3436e277f4deae1b9d37f234c98d9a145862168bd6741d3fb03a1b18813ad3434f400ba10c0c37ecb706065af3edded78e1085dc02aabd82bbd0334d499057e752b8fbb612d6bd90704cdc5f422832d41498e497a5b1e6dbf77e803a731dab8992b01e039888c10356c2c2904ae2d9ac69ee39ddda1dbd7331419c4039397b088806233ad3a8164a5613e2d280aa94f00f35948112e152a75fdcb197803721def5aadde66a455ea83994b3db51972e090acbfdb98ad8464af52a94a90d8033ea281433f3e18d50847852089bdb734de9c11846867ef9ec84845e996531eea037092142cb8c100f0b908e184d5fba10bac626c7d55861cac6bcbca469fe4cd66034bd29a6cfb645c92107f63f0a3b8789b653a3852f2be7ae43e44c294bf42e3360328557784d2cbc98131c1a5c17c80ea5fc4b3ccd68ac903ccf60597040a2b7bfb03d1e73dbc563099e91c10fad50fc3e6b4db768f41779ba80504dd0a9c8c93d9f703f1dde73422480c56e6d614f4dfaf9d7abd6be10b2990315adbcb79c6f1b15910031b2b4d1c0a9dd8a9b49b8f5419bdbc50ef862e9523f0bfea69d44d86da69f9f903e331efde1717e4aefe5872ac15b468baccb79d1651e013277f2a16a88b1ecd10036b4076b5a7fc9e08e58d2dd4048f0e42af40eaff650e99d4e72d4e67e3aeefa403a9c9803e7f47a34e55bcf0ed33861b224bcaadafc7bb31af97415f087092fe38031aae3670c79415128cdd5fb8d04d1633ee5163e2c04b0388ba971481fd6e0d8b03a0e594a4784083b90aa772b411319fdf27a59511b31b6ef1f0cdc25460b39a7a034278eebe35ad5111958274c9f61245475d970357d4fec2025279fef892218bf60326de045c6d4d7359b2634cf5788d669c3406fc67e50c424b10c974bef9a349b3031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e034d546191fc5a1ac823ea715536a686e7de8487e7c027554343c765a33007011bffffffffffffffff0386f1c05cb1d80396daaaa1a1c829a4f2b089baa174cef83aea21e111dc4ca6c005581e03b9e7eb9fbd9807dff8e1aced662051a9cbebf5ee7bc1e4c9d2b9a1e2b00c01470203ddb593f4c0031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03704e36cd368ffc35234c3332659a1083ea25227d5243875ce03140d66007011bffffffffffffffff05581e0394f60913ca3b3feadd56c3772085f230803f0005d1b22edb2d788f85b0040505581d033c9ce01cd260fbebc456d3897c679309848e918a04e9f0f1b43f6b900c190b96491c652918b8cd29ed4705581d031f744bc4034fe57f0854863762ae705c9b2eeea0195affcf79c774600c0146293491dbe2e8021980100141050219742d038d80b1404f62b8ba0eecf8fb09083055ecdc482dcc12e80410be5a565d496e7f0349a4bd767c3ec7b825c4377962e5927f7553f8761a5eafc438bb3a726ca59f6903efa90a82688b0f486116b0079e7d9ed3d8b2f06596611abf2c7679a3300a52500321f2ffc6182fcbbe87214ee0401be5754de53a851033b29da8e9c2bd6ba25f550219ffff03878073033bf0c04b9ad3a365c4989c29956f7a7ebac95c4af32e9faafbf17f4703f8a2ed0884bb59fee3370987e47ee4d24d37085bc2f85823c3bc019e041903bb03935e0c5192d17d685a0ac2df909dce74723f7ad98bb3d9e28a8ffa1895cd446f03327b76207688c517d970b2422f255cd73a7ae57f96512fb6e5151e066c6e6409030059ef4a764e4abbc53a113cd6c115257806f09717f817b8e84363d967c0b1b603218848e48241a61673b9047e610d6b4336e1c8551af318f37de8317d4f2f66bd030e644c044b5ce10ef8d112529cda81fded8f09893f0d6953972be27d94cbed0003dc43d07b2ccc10a4596c99c444f71986fc78744dd30cc2a6064ef96512a3aa460219ffff03fcaccd5b4f3578aa00d59d90b1525b6eeda464fddd2fa3643b94adb2346ae4bc033af1c1abe55053cbba2efbb8d43d633c908ac0349c99375248bfd92078ef62d7035ba72f3abf09cfa8caf51dc5715943d181c819ca704382acbd5d3300c6dd1dc70349bf3f0995151d778b5c2b23fc3172ee7bc624157699455b8310dc7d5336aa140219ffff03caef4fb6d3341759d17546a7e9cd59796f2a23a27cee2e0b290b7ef3bf9704ea0219ffff0387b384d9e137b359e3b29ad46bce1dbd8037ae3e8d3f05bfba9852e278d613bd03e1327468b455b241af77e7d8a8b733a0d30d537768a780ec81bbe95e0c16c8b30333f06c914cf0fc9e0aacf1c8636e0c417e5a00f5d5c1fb8fb217562a972d48870345fad7603428436bf8b5f6795f69c0f64ecfb735890013c2e233af2e0f735ca303885f99c775eb2a8b7349120b9e5a90ca1846912db424ac331e578281f99eb9e103634da7b1b4b71cd301213467374d03a9fc71f4cb82fabd6024bb2274ff497c16037986916a5c707164147e62d6861e8fc003f192da1c2e0e0200644c2c3d2994eb03280fd1df3616dcd16a3fb3d18454dd6f5fc3f58ed362e4697e16e5453303b3ca03d544703f90e8b8976f0c6eb8082230ace34f79b5dbed5a64317820aebd1fd2a203ecbe00c5b407b17a5f412abbd8701a1cfef773d67da8eaad53c8c9ac04348c39038e5db7a636eddf02e3b4dffabef78a06a06e86c7b3bff0662a7b3257f6bb24ff036c66806509a6f05e1636ffa2b6829243b4fec4a1484c1ea7cee2b4a746b081dc03fdf6d79326d206e9a9fd40b9775cf396b043d8bd74e12dcc51aa9411b687c2e1035d0e3b3f2c2a190abe6b724373116770a262d9c5c03e1ffc23f66e67001bb44d032d1c43b14b4af08bffa8be3b0bbf87bc20eea2f2002b3555f3acaed2871952060326e8995332ac411220581b57ab0df081de7e1667e8e6b02400e025bc2b2617d60370c1e6d03f059669025f28dc430fe554504f37b513ce86fce31bd349790d649203728c596c08109913c5716fc0a007d8d003c6f77d16c93cb0f23a65a66dcb673e038e554a01ff47b70421d10122694334b94436b9b06635d8193d527a08ec28d84e0388f0ad52f95c875edb2b0a5532b955578b1b513b59afa738eb25e4db12c0d4c90309775610addbb516462ffdcc608bad716bccf479efbe6709161eeb3ffdff96580395cea340c4abe194c592afba08f3650a2f87529fcb41dcf323c02f8c0343713b032351144194bf5acfac216cffc1a04f0a95887aae34e9ee55aa52fb504423e400030ad9313c3018e7897321c8d392ad1c6a729d1d9daffb5613ae9cf5db57bb116a05581e031c4fc8f06fe47b9c51746db5992a2da07fb78270c359b4e5f8d38c44400c02461488ecf9784005581e03ca0d0804af5f2e15874bcbb1c335745d4ad5f1cbda8c3915e0947139300403045912ac608060405234801561001057600080fd5b50600436106100d45760003560e01c806379ba509711610081578063ee56997b1161005b578063ee56997b14610200578063f2fde38b14610213578063fa00763a1461022657600080fd5b806379ba5097146101c75780638da5cb5b146101cf578063b64fa9e6146101ed57600080fd5b80634d3e2323116100b25780634d3e23231461015557806357970e93146101685780636fadcf72146101b457600080fd5b8063033f49f7146100d9578063181f5a77146100ee5780632408afaa14610140575b600080fd5b6100ec6100e7366004610e72565b61026f565b005b61012a6040518060400160405280601981526020017f417574686f72697a6564466f7277617264657220312e312e300000000000000081525081565b6040516101379190610ef5565b60405180910390f35b610148610287565b6040516101379190610f61565b6100ec610163366004610e72565b6102f6565b61018f7f000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca81565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610137565b6100ec6101c2366004610e72565b61036b565b6100ec61042d565b60005473ffffffffffffffffffffffffffffffffffffffff1661018f565b6100ec6101fb366004611007565b61052a565b6100ec61020e366004611073565b6106cb565b6100ec6102213660046110b5565b6109dc565b61025f6102343660046110b5565b73ffffffffffffffffffffffffffffffffffffffff1660009081526002602052604090205460ff1690565b6040519015158152602001610137565b6102776109f0565b610282838383610a73565b505050565b606060038054806020026020016040519081016040528092919081815260200182805480156102ec57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116102c1575b5050505050905090565b6102ff836109dc565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f4e1e878dc28d5f040db5969163ff1acd75c44c3f655da2dde9c70bbd8e56dc7e848460405161035e9291906110d7565b60405180910390a3505050565b610373610c00565b7f000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610277576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f43616e6e6f7420666f727761726420746f204c696e6b20746f6b656e0000000060448201526064015b60405180910390fd5b60015473ffffffffffffffffffffffffffffffffffffffff1633146104ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e6572000000000000000000006044820152606401610424565b60008054337fffffffffffffffffffffffff00000000000000000000000000000000000000008083168217845560018054909116905560405173ffffffffffffffffffffffffffffffffffffffff90921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b610532610c00565b82811461059b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f417272617973206d7573742068617665207468652073616d65206c656e6774686044820152606401610424565b60005b838110156106c45760008585838181106105ba576105ba611124565b90506020020160208101906105cf91906110b5565b90507f000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610686576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f43616e6e6f7420666f727761726420746f204c696e6b20746f6b656e000000006044820152606401610424565b6106b38185858581811061069c5761069c611124565b90506020028101906106ae9190611153565b610a73565b506106bd816111b8565b905061059e565b5050505050565b6106d3610c79565b610739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f43616e6e6f742073657420617574686f72697a65642073656e646572730000006044820152606401610424565b806107a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4d7573742068617665206174206c6561737420312073656e64657200000000006044820152606401610424565b60035460005b8181101561083657600060026000600384815481106107c7576107c7611124565b60009182526020808320919091015473ffffffffffffffffffffffffffffffffffffffff168352820192909252604001902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001691151591909117905561082f816111b8565b90506107a6565b5060005b8281101561098e576002600085858481811061085857610858611124565b905060200201602081019061086d91906110b5565b73ffffffffffffffffffffffffffffffffffffffff16815260208101919091526040016000205460ff16156108fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f4d757374206e6f742068617665206475706c69636174652073656e64657273006044820152606401610424565b60016002600086868581811061091657610916611124565b905060200201602081019061092b91906110b5565b73ffffffffffffffffffffffffffffffffffffffff168152602081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055610987816111b8565b905061083a565b5061099b60038484610dac565b507ff263cfb3e4298332e776194610cf9fdc09ccb3ada8b9aa39764d882e11fbf0a08383336040516109cf93929190611217565b60405180910390a1505050565b6109e46109f0565b6109ed81610cb7565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610424565b565b73ffffffffffffffffffffffffffffffffffffffff83163b610af1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d75737420666f727761726420746f206120636f6e74726163740000000000006044820152606401610424565b6000808473ffffffffffffffffffffffffffffffffffffffff168484604051610b1b92919061128f565b6000604051808303816000865af19150503d8060008114610b58576040519150601f19603f3d011682016040523d82523d6000602084013e610b5d565b606091505b5091509150816106c4578051600003610bf8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f466f727761726465642063616c6c20726576657274656420776974686f75742060448201527f726561736f6e00000000000000000000000000000000000000000000000000006064820152608401610424565b805181602001fd5b3360009081526002602052604090205460ff16610a71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f7420617574686f72697a65642073656e64657200000000000000000000006044820152606401610424565b600033610c9b60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b3373ffffffffffffffffffffffffffffffffffffffff821603610d36576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610424565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b828054828255906000526020600020908101928215610e24579160200282015b82811115610e245781547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff843516178255602090920191600190910190610dcc565b50610e30929150610e34565b5090565b5b80821115610e305760008155600101610e35565b803573ffffffffffffffffffffffffffffffffffffffff81168114610e6d57600080fd5b919050565b600080600060408486031215610e8757600080fd5b610e9084610e49565b9250602084013567ffffffffffffffff80821115610ead57600080fd5b818601915086601f830112610ec157600080fd5b813581811115610ed057600080fd5b876020828501011115610ee257600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b81811015610f2257858101830151858201604001528201610f06565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b6020808252825182820181905260009190848201906040850190845b81811015610faf57835173ffffffffffffffffffffffffffffffffffffffff1683529284019291840191600101610f7d565b50909695505050505050565b60008083601f840112610fcd57600080fd5b50813567ffffffffffffffff811115610fe557600080fd5b6020830191508360208260051b850101111561100057600080fd5b9250929050565b6000806000806040858703121561101d57600080fd5b843567ffffffffffffffff8082111561103557600080fd5b61104188838901610fbb565b9096509450602087013591508082111561105a57600080fd5b5061106787828801610fbb565b95989497509550505050565b6000806020838503121561108657600080fd5b823567ffffffffffffffff81111561109d57600080fd5b6110a985828601610fbb565b90969095509350505050565b6000602082840312156110c757600080fd5b6110d082610e49565b9392505050565b60208152816020820152818360408301376000818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261118857600080fd5b83018035915067ffffffffffffffff8211156111a357600080fd5b60200191503681900382131561100057600080fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611210577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b6040808252810183905260008460608301825b868110156112655773ffffffffffffffffffffffffffffffffffffffff61125084610e49565b1682526020928301929091019060010161122a565b50809250505073ffffffffffffffffffffffffffffffffffffffff83166020830152949350505050565b818382376000910190815291905056fea164736f6c6343000813000a0396388c9aa765d0df13ee9f38f085238692d993c32e44cb60f0c4a579adc7719000582103a3cdd067c6b9c392d816fecb8c05c88eb9d9e77644e5482355e4aecd8ca98b004101005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b041010219110405581e03e86c781998f905c1f353749bff798f6675bed7ebe203a290a519194cd007011912ac05581e034001c8910274f1db142ad5d18d87d2bfb7e947d4b2ca1f57dd6091b0d00c014701e04db0e2583003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e035cead68a08abd5706837a4c0d4be3345b9ada51d4b1fa0bf548665a31007011bffffffffffffffff05581e036a40e7c9c7ec21a19102e4fbf2e107f85926e64907ad089ad012882460040105581e03290c1598ce4488093abf22557369ec5e2a5f1db59e7744c2e285bf4530040205581e035909860f2755f32587f30986dbaadbf3964006272a41b467ab2cae0480040105581e0345a0b1e03f672ffa1092a640cb96ebd751f758af3a998eb2ce9b424b60040103964690a998fbe9e452badd248f01834292b1d872bbd1e871dc700fd1f3acdf5d021949fe03973ab1bb4734b04d3a697437ac5c07db180bafb8a335cbe79b31db1bbb7eb9ea031c8c82f866ba4a0af2da87641dfa7ada0ed0efa56a4f1a55eac8b8e6cc216bef03b41c7d629c7959657eb87b80c7dd42f1980fbffd947444d84c1528f0f6a151f60219ffff03f35d940f024675a5aecc50aa581fedcf00596711f0e85da5db714ef5bf2cc9f8031fd56ab7310c8e5ad2d11dc480a92b69bb6da2c41e875bb3c91582c7710ca47f033a2eaf576c2e899d9d855cddeff8b29fcefcbbf0aaf1c524ae4be8a48860d0df037bd9b7e5ccb6c3e76fea460b660329d49aa1d4cf50465ca9e63a806f6cf8c12a037c06d523f7a8f831d8afb18c91cbbffcd5f989567eca36d84d963add56c585fb03b3129be22e7926dfd005961d85c5b4066eb773f5f7ef85b03f9debed0c5a8c7c0388814b9863c62034d99e971b5cdfa3c70f100006e29a1b72eeb4fec0bef27c1a0324da8c0f41d81e854d13b41e05e3080a2a905dd3a4d77e8e60aa7ef45c8b293203da9955990b7521845a486df4f6f6dfb2153a5eb683ad52327306eb5bac7fd4bd0359f3a8b32be00289636d85190e129de60d80a8575e9607463595ff806ecf953203ef89d9542af1ca42c93babcd2195277a5daa31ada41c0ac23d7aaacd3a6c03930376951c0d7c1f3da04d476c5c99a0888d665d1f3b2994b86d407f4a255d911391032624702e0c355e7be15e195e0e27633d068f42942f85a118f5eab8ebe80692f003befd996b4a7839157a38047bc64569d8dd55706701aa670770b328e5c805cda10219ffff033cd02cbeb5bd21bd065b2ae8657b478245562c890456a62d8c8e00a4c02a323603ff883fbc5720ba9d5f915b148b6dca2e5a521f70664f41c5c431ccf48cc3c27c031cca24344cb07cc7c7c6e33d5f4751dee9993e356c632d2eac9253e82cc7ad6c03a88083949e80513a052bf44ac8569198ef183111565a5415abb215d1d771a70b037d47df6e5517d50ec66c1d18982c0dbb2d4a4130d483b597bf16e01a7922992b0219ffff03e9fbf585977a13138359478cfdecbf63a3754f917c679aebb7e87472a39ae1e4034149aac665b3c79a549aa0d7a6ef85f81241c890a4300534ce7ce44bed8e206203e753718ea754fb0e55ad75dcbd75795398edcbbcf30fe9c8f70d22438de92b400360f4a245737979a703f2bb3aaeddebeb516cd952e9799af939e1a95e7ea5c9930368a85bab3bad746f74a3ce8cac7774823784fd4dacd750d6a198dfa3338b1ed8034e4f3a8c2f49ac157edc76bbf28d0e6be082be86eacef6a60ba75cb369cd88b803b136b8419dec73b6532aa4c67c3d55b085c0c11d5de333b585db3bc8da86750d033dbd051dc46efb2c0fc9ce7dfb451ae91fcf4be38818c09ca5c8c94f2070ca07033070ffc0b530036982f88ed89bb059410637e46252aeee2e99c564c39aac07ec03079c1186ef5b492754b278ebb1bbee84b3b821abd382deee17dd270a41dbf137031a05bd1182802503bb1b04d5ba90b78f1d68a6b796b203f16818ab76c57d867f039ac66d306f964168a2ad3a4af6dca9adc8dcbb9bd02092fe78f101802797573b03cc27f227152a57354b30e43a9fb676beac736d15f8057b2edb47241adfaca84a03d9bfc4de3bb7bcdd722257662a3564094385544e60afa8dc23b54a373eab22270219ffff03f586a21f97f4d236b688707f124c3980ff9e65ff8cb784e3e5782468684c4f3203fc01c6e45f2086c2c2d6f97bf100a18ddd2ac3c0e6c6580a41ca3964e70ab3370353235c7f6ca253b5e463ecd2c8ad483d5c7c1faae9c15c3dff042b01a924b0f203a2d50f140e153c9e91bdd0b5b079190cb57381690a3637418302663beb92552d032d8fae3909be7b2922aa14f238ec4c9b43e30a93eca96f6f3962756403fda3590309ac5176f5d9fcee09a99d7bb495d8c281ec4fd4fb6ea6aaf0acd4d00c3023a403720932c6781e9e92428ae43913d26c8cdf1e772a22f7cc61df41e250e68194600366a841edd05b4686db82af27ccff015c92a4c6ecfacea0ebd5e26b30be0eb35503307db7055f0e4153e4679c0a95cc0b08e63394b9b4cb1628f3511ce987e36c6803665a2b4e9331a120ed08cd50ed244981bebfd1ac69086586a272238cb4e5ecf00359657716f52fa50b67826533b148dc2ac376da40f0c8f9cbdd37c3bfa59bf63303229246259fbf8f09b165af9e6e7154d7e41d3155413bae4b23040ea226c52e6b03015265462f3e40b0ec41e7237747946c40bd03c7176cd86dae2a4d101fb5031b03b4bd26dfc37fe3bbad45b1f19be26562cbdee2165958e5a6a7560e8499f0782303cd2a7d7d24cdc85738fcc1d310bd276df82a0e7bb101d7f74c9a5f21417b68960360bffad691a061995296bd47bf0090d13645ba78e241cea1a421d078cc85361b0350bb8fda9d7bcf7bb30058c36113344bbedb8f46726b0f15e94df037166ae18103ed7b838321b797093eea58629c14c4892a1d40cdb31afd3de8b8354552c530a00316d6b1c0e35e8bf9b17bdee310fd2503ddeabdee117739dcc344b895e6361b3f03bf53ae7b35411786b9ea430b405a804f3d8705e8d7b321817583e77bfe0d82ae03f29ca65e0753faacf2af6428f5c16ce81f987450d0b91e6233ff168c497799e20306f23cd92379563f6e894fc2821fccf76824ccabffbf3dc9847048835281f5b803a55bf32f478af8823397dce2999c2831cdbe99aedc5812a3b52a3814bcbc067f0362c1ce26e6790a3a3e549047c462a73ab364d99d872374b9419d55321202c14a0350b0db607daef64d98bfbaebeaef87efcd2cef6bd64e88ce7d7ca5bda0d2833d034ea1529f29d2a075321febf6cb20711529e985b66250ef100c65c64ca589299e05581e0317d335da582b12ae246d1672321f3d6bd9b5ef157fd3ce8d47a8165c900c0347012dc4c21779c805581e03e5773016890c3bd27a475048f51d22a5c13e409e500b73e61d973ab6900c014689b4be8c535003c1790700c56b268cf3c2c26a214a8116a12230873967552908368ff75829a15803154af10bd370c45e94952d67ad918567a471ab079db24d152bdf9e16cfdea9e405581e03e1c71dd9526deb3c780a82b3eff173fa20bdceb537f66585682d6dd39007011bffffffffffffffff045911f06080604052600436106100695760003560e01c80638da5cb5b116100435780638da5cb5b146100df578063df2b057e14610114578063f2fde38b1461012757600080fd5b806301e3366714610075578063715018a6146100975780637bfa20a9146100ac57600080fd5b3661007057005b600080fd5b34801561008157600080fd5b50610095610090366004610d88565b610147565b005b3480156100a357600080fd5b5061009561015f565b3480156100b857600080fd5b506100cc6100c7366004610dc4565b610173565b6040519081526020015b60405180910390f35b3480156100eb57600080fd5b5060005460405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100d6565b6100cc610122366004610dc4565b610343565b34801561013357600080fd5b50610095610142366004610e84565b610451565b61014f610508565b61015a838383610589565b505050565b610167610508565b61017160006105b9565b565b60006101826020850185610e9f565b67ffffffffffffffff166000036101e3576101a36040860160208701610ec9565b6040517fd009138a00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b6101ed838361062e565b50600061021261020360a0880160808901610e9f565b67ffffffffffffffff166106d2565b90506000806102246020890189610e84565b73ffffffffffffffffffffffffffffffffffffffff166388a4124c61024f60408b0160208c01610ec9565b8561025d60208c018c610e9f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff166044820152606401608060405180830381865afa1580156102ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f29190610f0d565b9350505091506103358288602001602081019061030f9190610f62565b61031f60c08c0160a08d01610f62565b61032f60608c0160408d01610f86565b8561073e565b93505050505b949350505050565b60006103526020850185610e9f565b67ffffffffffffffff16600003610373576101a36040860160208701610ec9565b61037d838361062e565b50600061039361020360a0880160808901610e9f565b90506000806103a56020890189610e84565b73ffffffffffffffffffffffffffffffffffffffff1663c1723a1d6103d060408b0160208c01610ec9565b856103de60208c018c610e9f565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815263ffffffff939093166004840152602483019190915267ffffffffffffffff1660448201526064016080604051808303816000875af11580156102ce573d6000803e3d6000fd5b610459610508565b73ffffffffffffffffffffffffffffffffffffffff81166104fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016101da565b610505816105b9565b50565b60005473ffffffffffffffffffffffffffffffffffffffff163314610171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016101da565b73ffffffffffffffffffffffffffffffffffffffff83166105ae5761015a8282610838565b61015a83838361093e565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080821561068a576000806106458686856109ac565b6040517f7085244b00000000000000000000000000000000000000000000000000000000815260ff8516600482015290965092945085935050602490910190506101da565b8083146106c6576040517f04eb6e0c000000000000000000000000000000000000000000000000000000008152600481018290526024016101da565b60009150505b92915050565b6000806106e0604184610fd2565b90506106ed602082611018565b15610715576106fd602082611018565b610707908261102c565b61071290602061103f565b90505b8061072260e0604461103f565b61072c919061103f565b61073790604061103f565b9392505050565b60008061ffff8616156107515785610753565b845b9050600061271061076861ffff84168a610fd2565b6107729190611052565b90506fffffffffffffffffffffffffffffffff841615806107a357506fffffffffffffffffffffffffffffffff8516155b156107b157915061082f9050565b6000846fffffffffffffffffffffffffffffffff167f0000000000000000000000000000000000000000000000000de0b6b3a7640000876fffffffffffffffffffffffffffffffff166108049190610fd2565b61080e9190611052565b610818908a61103f565b90508181116108275781610829565b805b93505050505b95945050505050565b73ffffffffffffffffffffffffffffffffffffffff8216610885576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146108df576040519150601f19603f3d011682016040523d82523d6000602084013e6108e4565b606091505b505090508061015a576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044016101da565b73ffffffffffffffffffffffffffffffffffffffff821661098b576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61015a73ffffffffffffffffffffffffffffffffffffffff84168383610a06565b6000368160018401816109c0888884610a93565b60028301929091506109d89089908990600301610aba565b94506002820161ffff821683016109f181838b8d611066565b979b909a50969850505061ffff160193505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261015a908490610adf565b600060028201610aa581848688611066565b610aae91611090565b60f01c95945050505050565b6000838383818110610ace57610ace6110d8565b919091013560f81c95945050505050565b6000610b41826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610bee9092919063ffffffff16565b9050805160001480610b62575080806020019051810190610b629190611107565b61015a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016101da565b606061033b8484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051610c22919061114d565b60006040518083038185875af1925050503d8060008114610c5f576040519150601f19603f3d011682016040523d82523d6000602084013e610c64565b606091505b5091509150610c7587838387610c80565b979650505050505050565b60608315610d16578251600003610d0f5773ffffffffffffffffffffffffffffffffffffffff85163b610d0f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016101da565b508161033b565b61033b8383815115610d2b5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101da9190611169565b803573ffffffffffffffffffffffffffffffffffffffff81168114610d8357600080fd5b919050565b600080600060608486031215610d9d57600080fd5b610da684610d5f565b9250610db460208501610d5f565b9150604084013590509250925092565b600080600080848603610140811215610ddc57600080fd5b60c0811215610dea57600080fd5b85945060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4082011215610e1d57600080fd5b5060c08501925061012085013567ffffffffffffffff80821115610e4057600080fd5b818701915087601f830112610e5457600080fd5b813581811115610e6357600080fd5b886020828501011115610e7557600080fd5b95989497505060200194505050565b600060208284031215610e9657600080fd5b61073782610d5f565b600060208284031215610eb157600080fd5b813567ffffffffffffffff8116811461073757600080fd5b600060208284031215610edb57600080fd5b813563ffffffff8116811461073757600080fd5b6fffffffffffffffffffffffffffffffff8116811461050557600080fd5b60008060008060808587031215610f2357600080fd5b845193506020850151610f3581610eef565b6040860151909350610f4681610eef565b6060860151909250610f5781610eef565b939692955090935050565b600060208284031215610f7457600080fd5b813561ffff8116811461073757600080fd5b600060208284031215610f9857600080fd5b813561073781610eef565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820281158282048414176106cc576106cc610fa3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261102757611027610fe9565b500690565b818103818111156106cc576106cc610fa3565b808201808211156106cc576106cc610fa3565b60008261106157611061610fe9565b500490565b6000808585111561107657600080fd5b8386111561108357600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156110d05780818660020360031b1b83161692505b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561111957600080fd5b8151801515811461073757600080fd5b60005b8381101561114457818101518382015260200161112c565b50506000910152565b6000825161115f818460208701611129565b9190910192915050565b6020815260008251806020840152611188816040850160208701611129565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220e451c6f2f6749102e043ca854031dae5b894904402cd955b3b360b2b9c3e830964736f6c6343000816003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354b8ff877ed78ba520ece21b1de7843a8a57ca47cb05581e0366078a4bd276c34aaa3e3b35939a08e64c99b85a7b09c3120a172f89b007011911f0039fe80e960734299a904946bd74f08fd19210874e258b44597258d5122e1427ba0335551a33c6946132f328624ad488435dd091e52f85871c16c1600158fccf5239030e6c9088985c73a461b9ac9479ad917a5abee87ebdfbce6230022ac265bba63405581e032ad4e371d9403d64995dedb0d02ff96257ef5ebdb191da5dece8f53ba007011bffffffffffffffff03b45a948bc0f6cabb25ce11556240e9ec321b2d65fccdf6c47d74ad950d745373037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e032ca8fb5a36af9ee53019c0eeda45c0421452a8fc044de494584b2fae7007011bffffffffffffffff0219623703b0a59f17804befaf013ce0b8b4a3600d6c9145c3510771874091e049d5de6edb0219ffff03698b33c7d9017250313a36b8361bd9c64a02db3b66dd4e25e6ed67827e3556b30327e792f8c3c4670ebbe6b8420d671f7cf0d2ac5f915561eff83f06e1f5a4a32d0368854f5452bc3924e0fe386b31ad250772806bf0c40a0f8dd839d8d99d8f77aa03875f034ab0da9cf4429f1764fdcef2b1766286b658cbdd1903cb38c7f0a91d4203c1523cbfd3a0253ce63e64929cf20b3c173b434d18d5dbc4edce94db4b2d97cd030308aec66219cb26edd6feda0842733eedafb98935f1c887677100a27ccb67ff03ff6811b8f604f88d5154fc4c5f5f7771920264076efe67a17301ddfb2363076203a215853f2fbd76ca1ef9a0089c3334942a6d34b36903344b7e7f3a3fe484149e032bf3cdb2b1ed5a45f327d250018d4a8b1e07da7c94f4ce352433671e51b0f11c03c0cf51a776eee51a5cfaebeebf23b10fa4c6f08ed82d63ecd8af988370ad7662032f451ae7941143b7de83f34091770887742da27070f93e2c905fadd2b1b6f32703d960013e89cf131809d4a428909d6c77e34c53335b512adb608abf4a5da3fc8503bb2bd8fafccd9ff440f416a0becafd9a23176aec8042a832ce7a5b0899e7986e03e192ef73bc36e7d53acc0bde1220cea55f6fa60bb05f7f22adf1b992b391c4110219ffff03ae28faa7b86829a7f1d8f5cb59e61354f2703315d32c2ccf3bf727cc97e612d603fc99635996faeb1ce5b91c4f07a85d48a6c9818d292c9250666a48f4eea337340372abd879984c153da438d732a765b7b76f03f20f8a3a7cf26fb07c8530e63af503edcb82c9efd126f0ff960f4b6196fb663756777d633fdde796205705b338e0db036f2e6975b4db1fff94aa11267a4a453ba8cc442d1bc1e1b274be4c5323a712ac03ae13fcfce7fd34ea5881ca6aba9959faafa2bb51f0155ee9dfcee8967e0cac4b032f7cccbede65f4a34b91df31faaee79c86b4b3ba7fd202338ae647a520c2219d034b840cac463e0cc781441718ff3c795e65669a764bc12b60606c06baf48c64c1032b1b9d522929d6cb73bd1737cf5e6b4a80cdd7a558781e49dbe1f6412706e04503281dedb8bdc98602b5da237e5bdaa824995e8134bbb78f07cf89a3e5b279971d03a2359520930ab2faeacf94554cbe572d4486abf8863f688ca0d5d6d370fd09a10399e8be133bbb9bca08efc89641b3aa4a769148132d9ccd57909180623f188789035b46697d237bbcab4bb3e6f0c2f6c8238bd0ca4fc1488bc8511f865cd1417b2b038568d51698a6050a84bc54fe6aa3d64bd8b31b844c5bf15233c6ebb67476cc070337dabbf42a759b1bf2a7066973607edb32f44c4ab047936e5ae7815374ae96f003e54f8e4cae902a04af3635f97653e68e54a597bb9a545a3fe25fac484d199efc03e08182fd6645aacdff3bf5585c095e6784784370f46a91f1bcd9ac2c378633b903ccbb725f89d30b504a3116691d2746212dbf24b4d26251125df2c1f1e517c40603e0d7bd300d973b35f7cb9dcbb09f6ffdb684ec5b7006bebf15597b43c57ad2c903593d42eb37ef89e5a2aa78602b1dea009d2b57e0774c0a9a333c87ef1288ea8703e1996091c4b93fdbb072736300cc70326c0718bc0ec0b50794e555ee81851bfe05581e035a4c4b84654d896681d9910419c1442ebfdf27738e9bcf57c49d48e4a00c190384471c5d778685e85a03ae197819780da4994fa7fd7b1425b73c19927d1b84a665369935f8bc6566c85a03251aa2d8dab63638968fcaf51d3ab0f2181a07557fa12e5574f025c298643aa905581e0358f4d3945a04799dde91d9eb328a8490e56cfb56f5880d09fca6344ab0040103a73581a25c245517231af248fc12b8c1543e5370799c7340b4f527406713e69703f0a4986d69e9ff4578229a504bc20259a24b4fa76f0a51f6db5d2de3ca08c110039d7c6da5e74d3bcef01fab2a9804b15c04ce0fe0838f5cc76aa0edcf3b638b5d03dde4d281a90fa6ed3117f27f721a12fff00f6cdd8bbcb97081ee82c0d6b1d28f03eafae30133a135f755fd38d5b8e98772e5298062fa3c289dad5d4b3bb04ef42203f18a90f6361fd88feaccc248a235dfaa1a6efcd6e2937af027c92f8e9c1dcec801410605581e0346651466bf1f901c0923f9a8f8ef2c02c8a4aec727d182eb2021b01cf00c0147047fa99ef688000399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803ff71ec2b58d2fa78aec83fd326fcd8ded8a83dbefc0d323094beccd907b778b105581e03168344d2a3e375ffbcee328d44adc7ca00faf5be69d1e5564538c3494007011bffffffffffffffff05581e03ce7d91553d3bb9c2a632878a4fd3ac01df86e38539ba0fb4824b1848700c01466d13d8424d1f0219fef603a949d58333259475b2f6080920a96cba944abfd613a776a6cf886ce559142f2e034f65ef9f706982bf2e89767906cb613b534a5dc4fc78f8e5991fc0e395f604ce034e0d48b2b2b24b5e5f8b6247a981c9f80d985a41877cbe402e8a6dd941b676840219ffff03ba433022209dc04c5f2478a30b1780531765e58ecf6f62799b02dd0bd80209fa03ebfc2df59463c340ccdd96e9c8361a1d1892b0685a6114296a6ab44824d7e558039729dabd23bab244f27b68518b6e38594460b1d3f5ebdc6715282ab35842ca9c03f08e4a6b1e4d05ace7d26c86827e91e55e53e75238ab47cfa716a1fd97e3a7c7034a1767586c3687ad1be7a8a93979cb6d642bd2f38271c928c0afad6356c48d2f032d8f903cda8de88c7d3536fbec7e15174067578a425d5c17966497bda3b21c09033564cc13616cdff02f8c0230594f285ec3f8a62d90484a6796e5e821ffb3949d03d6be776bd6d60e588d9e02b2dff674e8b5fa005b2d6e1d9799406219797f016b0219ffff0354e6e4d31345854277841733dde145dc1680d4ad6c630b43e969ee4f6ed16fe70348c5cc416a4e2ccd69c25d3025dfad91b244ed0b59bf14b09351f6ed0e38f3e60219ffff035a4e0322631ec87ef84f95799bced82bf5e981b2844c219fabbbd9d889ea82df03457cdb7f960ef0d8d03879e361f421086efaed0adb1818470be4a9dbb33395260340188be3f34492e44f03abece942fe22b598bae10e2cc8f42b8299d4c9b5fa2f03a2d2abeec047c45652de25d78f9fafa5a76e861f3d0dc43b23228dc60820755903870f0064995900b6768ae790cf38d214820340609142c0c23e4a2ef0dc231d960325aa6552b1b6bc79e0652c3706c556b0b11559e2abcf566d2e170ef0fd99d25d03099413706639007a73f8ada0ebbe7fb91b57f385553fa4750b0c5e1b0069a4190349c3205e4c482d8c24db0cefa69181a44bf2086de82424004a9d65f4090040830378f797e8b36013fe4a411465158dffe975a05127bc7002761bc83a8a0afb1e7703fa89192050d9ab0363e3ac4f2dfb7a3e3fcfa884c243340332702d297c72f78403e862e900f7e8ace3cbe96e8c1ad9af05044a2240cd19fafefb6e153ab17306a0031cc506857d4f7f995f6d437361e198116ab5be66d110ed7017a3440349680f17039ca83a080ce4714cc309d2ef75d9b28042ef02b90cac0554148becbb9a883903032bcdcd5d0d919a3c3f23c18beea8d76511437df4bb3c3692f855f2587c4b45b60219ffff0397f09d3e19a153e848566d2b1becf6c201bac7824b6583db13268f2419360fed03aad88cd8e604e0a21288e7ca455174cb3ff297bad8ab6facc0012a6405f3e640038d97815952bdc6187b939823427ab8e6c6ac9dce9feeba89c440ed164751a0d003b5df0cdf87fdb4c0d2ec96a4ed3fea81f4ccf311cae56a8a8aef8e67367e53f903f5ab694dc0362ba1a920b6c69a7ecf66514ab9458e825ab9661dfbd8b9fef92803bb5049379e7d540e216252a945f583a96235b076f14e670e2d667d4bd94b394003b931a7adf28749064ecae87f62530c0201ed50634eaa2aa946045f40e1d89a71036ab0f2651c2070ed589e1c63df8e4212b0db15aab8b0a1ce2f21655e9db91f4c03aaae7ecd2bfcab3d60cd6f2ae76623c9f4c585066f3d95b65f9b0ef4e09fa59103a0a4d08c08862681433bacf73c20ac696dad1f4872f906adeffbb3e5f781e20a030392960efe325fcd6a03bc1df72837ca04b6e2c7ede8b4ab2d9ae5f00173977603f6d65650a537a36168ff30ddc556b2093540e501d136b4e782fb21f142bac1250383edc42f0a787cebf2d5cc649c37ca1c48396f467b5d35ebeda6a3c3a84d6ad203fcc7f088a5ad42218dfeb285813221eb1e878a4cc2642b0caaf7a1c722e82500038d9ce8ce7a0b5f4e6d29bfda3eac8a93e6e287f620d4b67b6331caafb275f2c903a25dd7549dd0dc32aa96c669f87e37589084bde2f9ab6261b216d2ef8a150af1030cd81af99edd639cebf7a29162aa9a128d0d12bcea731a76fc3a720bda28622803cc31e5af15b024b1002c22fbba159c7a80661f624a9194b50d9baa1a90caffeb0359137c95c158b1eb85b9b67d48ea14eefbf7f7c65876f32833db6dc70025e38803fa2846b3602d4ea737ec691f2c24cf8781aa71c54ba1ba892af0d3aecf57e821031f3b97ff0b7c2c0331d70c71c218c319d822e896409f7d762273fba5a94fcf0903bc294aaa28f74706dce2805cc861b3421076d186acf2ce9eb169fb4911e5c9aa031d5913dbd4165652d406cf62444696c863befc68b6b0440516b16b679d88f1ee0327c10e8b76b7119e030a6cce1a3bc748cf6b945cfc2008652c6b272611b9080b037d73e2b483c31f193bb301418674f0359bf54be98fe32530d09d7649f8b18b4b03599b988980f7c83fef04a3f51f38511a9c88c65abdd980a946ac1210e94c25cc03990e9a357e4aee096259ff0c4065750d00759aecccac49f967dcfae05eb9526c0308cfe5124b5fc73eda61534a0179bd89c9c5ce887ddf0e7ef5c19b30697837f403967e98b70b1a373f86fd420140c7e1b3634580f243cda87a94e50211d612878403b51cfbd8966b37180779527145d15ce2d9e9701105130cb396749a1c61e31a2b03a4a05365df2d3bf4ca452bd67d9909e39faebca42a1774398cc51a389891ca0f03c5b36d7380fec176480e4d3bf9ac1340fb251a52b9c460465636e521fd375caf039afd63b0fd407d62f58af0d9b1da40605b1d74ea654840f632f29a7a70c6f4f203126d93a0ba674a793deebee0b61ae7b46dc658a6ac631ea3adc589dad4ae0dbf0326f5102a5a96c402e4867e01ee94dd9a09bfc63a08afe797c24a2dca91deba1305581e03bbab733999a3b6abc4ce1ff7b8e9621c693742c44a011f50bba68ffab0040105581e032545285ff93fa4414fede49ff9043dcb7642706b6e1b901894b6605fa00403037b4ce35cb19da20c78ca328af56be482209c62aab2e7bea0fbc1bd09a3be7eee05581e03274e436760969a93d1708642aa74c5cef33998f95f9a8fe4e8726fcf100c0647131ee6862e60000318f9629195d4c1341728c08c0e0195d27926a5513794599f9f6a2b486b37ce40034821bf8434d2a3ca5ec3a5a83d299045abfa4ac209aea0187252b5bf47b3513905581e03c3cf6e28beca362d39dea269b8a49c08510af6461a9b8ded663c345fc007011bffffffffffffffff05581e03b7beb7d31d2c51545cd2bf04d5bf0af7bc086e39aca1d0cba317334ea00c0147062284e30448000384195f3fec3e028af22baf56ccd31240f24626d20ed44b98f4ca8e503da576e805581d02b8834d5b67bc3240c44affb1c7c074ed607e63623b51a8f18817c3870c024701f9730cfe5f1805581d0296c23f3b42df9bbb223a81da1fd72d4fe625bc29ea3519aac80a5c7a0c1935334809c5620dfae725d40219010103845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581e03132ce9a983d7b8a10605b2d9ac351c6aba9d786d883489d85085a57ce007011bffffffffffffffff0322a7e9985cba0d6b8b28a3ea021dc44fceb46a1640f08191c7ffc58fb715722501410f03e32c6caf579b7c6b3a1e0ecf83901930ea73c58d665854da66ecb8f7493c23d50219feb6033fbe953c594fe5645c06552d73804f33acbdef16a570159a9beda0fffbff52c1036e5948af0c0b6c6311d3522057b1323b2046d8b794603ad66c2d5e38f32f7cac0219ffff0305bf3d241300b369bd55d0319730173c22c022caef79858f613ea4b93f87152303ed79c000746705b2913b1105d453e56505ff5fda632075883192f2f7a80b97a103cd65a037879a3b59d3fddd326dafcadd88d394c40a8b895c07366be0723cc53e03c2bc9e3f7735e3a298fcefbe805811b6630b9e4dbc0c77669802bb37e30fe8dd03b0bd822c82e429f92820275f7004eec8020fff85e69bceefe8cf706662d06d41039b0b5f0912365c1e9e662b7f7ef9ea26089db251d3058ed8f41dbb4089280d9803a64976f68a084372966fd476c3d5dc264995f2c957a900b0bdacba88237a32ad03f18b26e68531e9964dcec17c521dbbfd50236fad042d6ea7856e246f6ba0eb7803075d22d71383e78b3b2f6b968d20fefd6eb493c512e79f2666441c3f5e4b00a8030e6a4b24bcd6e75e57e76e630b918a971035d358e204e9ee0fbc0560dd391d3b037776650bd34e56482c401b1a8f5029c9a39fbc413fed3607c0b743ee302dd0b703970a204de24dbf8f8c62acf0e1ecc9e33c4121f24a0c3cf2992feb77b88e393703e5ac0241c6a3b4e81a93c4272809ffe14f6fd51f54a7986f788bd9ace140e96e03b1109824cd72f3c694d012fbde56b3ef3349430407e00ea24209679ba1c0e5ef03f482209fc0a9e200b6dd484b738baf96acc6948a777a6414527a480b3a0c11dd0219ffff03e0074e1c3ec8e049483c5db486bcba7e8a0849f5002efe5247537504009feee103b08b78608cf3453741a70539a7951bbe9a0a39c32fcd028f14307f29594bda5b03d514234b516605c090607d3d88654d7c1b3cdfb007cd4b0812adbddf004f1fe10398ee9de33d9075d2b2a17474a53bb2d35163ef353ba6b48c5a612129fa832214035914c0053e46be051c7461889c840813123f785a5c456d6b752dd57b0a1b820c0219ffff0360c80b57bb50b9448b830c658ff28e887e6c7b84f0dc593a67b53a421c549c890333fd45c36b4497c4f03c4b90aec196dc1381f731f23361195555159d5d767638034f50eeb59bd6063a6f78d48eebca86263f5793ed849850adfce1e30326b42b23034ec7c83c2125d6fe40d08b50a965d14da3e950627cd3b0cbc85a624198c8ee740219ffff0355dc9eb8b452d56e720e3807c026031e2794a92c5cc83888723348db466849e90302e5525c6e7f4f731a85e0d5974863da06f91c4ae9219856cdfc628ac5f78c3e034e515d5e65ef6a7d791fbc1e8f06e0e3f309c2309463fc6692083cacad73007503827ca4de4c9c60ac969e2768c3a50e25c9dad4aa93c5005d8de32be2955fdd5d03aa458d6b325cbdf08ee3ee132d8414ed2323b56f7a5827a5ed25da52900ac85f03b7bf6e2fcb7e335ed70d637422097764be1078c7bc858d4cdb0d2cac3cd7d27003843c315ef9518219503319c3e554007f05f30943d5bcbac35c53e1a66283d9e6030725b34924fe9f2629ab48a1283f2afdcf5f62ed506e4aea7886820186eb97d7030a402d1b60b7273d5cca8d70f6e8726307ca32915c630b5644e39fae7787555203ae2eb07911e06902a01789254ea57183563ef9c7ff965e6a74209c096985063b03144bbf17b8a200922dbc45ac2364bd026d2c3574a87d41bddf38ff47c6c78b7703599bb99a60db8fb7de4a405f25ce13b31b9ba67cf64dca3a3d7df9ed56647ac6039bb7c5a1fe1077de5ca2a23b4859b7e6280ba57df8b675b0273cdc2d0bd0e11a0380d063b98f0505c0f2534137388b3c127adfe1a31ef9ac556fad7fcec0e3d84f030841fc69a9cebf978c5ff0f8fb610bf58e7f6cf24dc14faccf62e35aeaf5449f0318ad8120b8624bcfce1f9a7d1c35bca082c20bbfdcd54e87b00b936d216acbaa039f58be92c4e09cdf2e60f7d0616fd32770af985fa347f0b2de05314d47394fc2031bc1c4a5fc12af046f5a72163509811fd15ce239876cfe134da74c888201ed150321e99d2b8dc57db2bd008e15a404f654ec3f0c52f726d6f1abfe5d75f37d0fc10355f1c34b8314f59b3e45354df312eef55a9edf74e2aac4cb2a3411a3c5c206e003346a359d3663601dc20fb4cf0e2289ea52a60eb3aaf388a49a7ed2a5983804d303a47e02f32f72bf9ecef13d2b3e3dfd8a37f34e62c1c56bcf096734b3d139cbcd03aae31f7f163544cda051153f810012d3009451a9df3b3369b9409a0064e65be603455612e96d9e45b1776ed7bb8eaf80e12c2d055e4689b56e727aaba9e7f3cfee0368b5e51ce1ac1f48c74176b8ad540ad545a7c073696d966325a5c6d973b64ac703b8f8b674d35d957391a2b0701a3c2f7996da3d294633f2e09b2362291b5f345603d83d33c1b477958ef92983ea25ada39e5dd28b4ba58a6be07e184c7fb143132c03000c404a215fe17783384796041c0885bc3aaef0d79a1bf353b7739a08d5bea803cba8b0b0f2793249c24877ff08f748b534bd7c3649a39619fd3bdb895a4676640364a4f65b46950ffa280526d65a076aeb6abd1701ccdd8f97971c876a8a9df8290316ec45c034799cb55a20c5447967f92b1971964004918cc025ddcf6800f976d603821c426a3c822d36faf3e0aedac6be0867be3950b1ded5948ff1935c23e7a9d303799316b7f26607b47237eb011d78c86ee2dfdff25d1453faca8b1727a8b3483003bc01a94bf9e3de9e70696107a84942774ab66e9a5a458a22f2e6fe98160ec76503387bc8ce596e6ead3ccae53a95a67012d05abd8ca7539708bbff534319dfdedc036c71fb187c269826c5f63a7d2b7f629bc81ea074135d0d2aa3b3d681be1b36e5032996c5b2e43794e04a0fac89c334def0ce1f6d847e07bed69db91062f7a88b96038c51e6aaafb4e59f684199db0ccbf1c9650ea26800b8f819e4d46adadb5e8a57032b2f232bc4497c149bad631d61d5a15c0f3eccd75898ee45d79f516b339e19f803280d6f304b93739c500ac0191ca23a76067960f770cf9db673b8b6de95c72d37036e05388269f56ae71527a82ad30d4defae5b1631eaa92f4ed1def0c45ec8c5580383fdfebc50cce59861f9a9ecae8d0df5786f04caf8fa6a9ff1d52a3edf24f7f703b88ecc7822f6c2d2642551daf563416cc368f7a882107c26406b2273d581548d0324afd19757a71cedd1c03ee05b0295ce80e93ce5a6f67b20094ba08bc19aa07b03392052d7c28865bc092d51f6a4c4c12e9a9f3438cd21b4a7d7d701032dc2049f03d40c6f827d265cf6cb767f65b0e29d2b740380d3c02ea8b6d28ad0c6b30965f8031715e177aaddae413c056065b76b8f95437d4dbd1591cb72552b03b5c4e4d3eb0380b534aed19de26437270672acc087096e8ac3c9c4f6caac68eb864bc9c67a58031f5f086d1defb0092a359d5ee81a7c3b7dde0c2387d7451d4040c4d5d1bd511a03a5464694d7e346fbc14aa70a77d747dae7bc3ac7ce450f72b9db8ea4993f7f04032146bdad1cacb374b3810418763b69d87af676804f8fabfa912b2b75bb2337bc05581e03fc72f0bb0e5835935ed812c63382e5ae01d8e75d6666ad05824b34e5600c0346a056bce628a405581e03586c2ff8d2f5318f95511d219821390306872e56eae1f2bc1822d871f00c01464c46a3c1ba20034abd2c7b42be8f821923e4a20e5bcd924ba2d0e69075bdd7fec23b28e54ec51904592c4d6080604052600436106101795760003560e01c80637f46ddb2116100cb578063927ede2d1161007f578063b1a1a88211610059578063b1a1a882146104fe578063c89701a214610511578063e11013dd1461053e57600080fd5b8063927ede2d146104a05780639a2ac6d5146104cb578063a9f9e675146104de57600080fd5b806387087623116100b0578063870876231461043a5780638f601f661461045a57806391c49bf8146103ef57600080fd5b80637f46ddb2146103ef578063838b25201461041a57600080fd5b80633cb747bf1161012d57806354fd4d501161010757806354fd4d501461035457806358a997f6146103aa5780635c975abb146103ca57600080fd5b80633cb747bf146102e7578063485cc95514610314578063540abf731461033457600080fd5b80631532ec341161015e5780631532ec341461026a5780631635f5fd1461027d57806335e80ab31461029057600080fd5b80630166a07a1461023757806309fc88431461025757600080fd5b3661023257333b15610212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f4100000000000000000060648201526084015b60405180910390fd5b610230333362030d406040518060200160405280600081525061056d565b005b600080fd5b34801561024357600080fd5b506102306102523660046126b1565b610580565b610230610265366004612762565b61099a565b6102306102783660046127b5565b610a71565b61023061028b3660046127b5565b610a85565b34801561029c57600080fd5b506032546102bd9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156102f357600080fd5b506003546102bd9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561032057600080fd5b5061023061032f366004612828565b610f4e565b34801561034057600080fd5b5061023061034f366004612861565b611137565b34801561036057600080fd5b5061039d6040518060400160405280600581526020017f322e312e3000000000000000000000000000000000000000000000000000000081525081565b6040516102de919061294e565b3480156103b657600080fd5b506102306103c5366004612961565b61117c565b3480156103d657600080fd5b506103df611250565b60405190151581526020016102de565b3480156103fb57600080fd5b5060045473ffffffffffffffffffffffffffffffffffffffff166102bd565b34801561042657600080fd5b50610230610435366004612861565b6112e9565b34801561044657600080fd5b50610230610455366004612961565b61132e565b34801561046657600080fd5b50610492610475366004612828565b600260209081526000928352604080842090915290825290205481565b6040519081526020016102de565b3480156104ac57600080fd5b5060035473ffffffffffffffffffffffffffffffffffffffff166102bd565b6102306104d93660046129e4565b611402565b3480156104ea57600080fd5b506102306104f93660046126b1565b611444565b61023061050c366004612762565b611453565b34801561051d57600080fd5b506004546102bd9073ffffffffffffffffffffffffffffffffffffffff1681565b61023061054c3660046129e4565b611524565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b61057a8484348585611567565b50505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633148015610653575060048054600354604080517f6e296e45000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff938416949390921692636e296e459282820192602092908290030181865afa158015610617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190612a47565b73ffffffffffffffffffffffffffffffffffffffff16145b610705576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a401610209565b61070d611250565b15610774576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5374616e646172644272696467653a20706175736564000000000000000000006044820152606401610209565b61077d87611731565b156108cb5761078c8787611793565b61083e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e00000000000000000000000000000000000000000000608482015260a401610209565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590528816906340c10f1990604401600060405180830381600087803b1580156108ae57600080fd5b505af11580156108c2573d6000803e3d6000fd5b5050505061094d565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260209081526040808320938a1683529290522054610909908490612a93565b73ffffffffffffffffffffffffffffffffffffffff8089166000818152600260209081526040808320948c168352939052919091209190915561094d9085856118b3565b610991878787878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061198792505050565b50505050505050565b333b15610a29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610a6c3333348686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061156792505050565b505050565b610a7e8585858585610a85565b5050505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633148015610b58575060048054600354604080517f6e296e45000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff938416949390921692636e296e459282820192602092908290030181865afa158015610b1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b409190612a47565b73ffffffffffffffffffffffffffffffffffffffff16145b610c0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604160248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20746865206f7468657220627269646760648201527f6500000000000000000000000000000000000000000000000000000000000000608482015260a401610209565b610c12611250565b15610c79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5374616e646172644272696467653a20706175736564000000000000000000006044820152606401610209565b823414610d08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f5374616e646172644272696467653a20616d6f756e742073656e7420646f657360448201527f206e6f74206d6174636820616d6f756e742072657175697265640000000000006064820152608401610209565b3073ffffffffffffffffffffffffffffffffffffffff851603610dad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f207360448201527f656c6600000000000000000000000000000000000000000000000000000000006064820152608401610209565b60035473ffffffffffffffffffffffffffffffffffffffff90811690851603610e58576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d60448201527f657373656e6765720000000000000000000000000000000000000000000000006064820152608401610209565b610e9a85858585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a1592505050565b6000610eb7855a8660405180602001604052806000815250611a88565b905080610f46576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5374616e646172644272696467653a20455448207472616e736665722066616960448201527f6c656400000000000000000000000000000000000000000000000000000000006064820152608401610209565b505050505050565b600054610100900460ff1615808015610f6e5750600054600160ff909116105b80610f885750303b158015610f88575060005460ff166001145b611014576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610209565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561107257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b603280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84161790556110d083734200000000000000000000000000000000000010611aa2565b8015610a6c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b61099187873388888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b8c92505050565b333b1561120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610f4686863333888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611eb792505050565b603254604080517f5c975abb000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff1691635c975abb9160048083019260209291908290030181865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e49190612aaa565b905090565b61099187873388888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611eb792505050565b333b156113bd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610f4686863333888888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611b8c92505050565b61057a33858585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061056d92505050565b61099187878787878787610580565b333b156114e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c60448201527f792062652063616c6c65642066726f6d20616e20454f410000000000000000006064820152608401610209565b610a6c33338585858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061056d92505050565b61057a3385348686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061156792505050565b8234146115f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f5374616e646172644272696467653a206272696467696e6720455448206d757360448201527f7420696e636c7564652073756666696369656e74204554482076616c756500006064820152608401610209565b61160285858584611ec6565b60035460045460405173ffffffffffffffffffffffffffffffffffffffff92831692633dbb202b9287929116907f1635f5fd0000000000000000000000000000000000000000000000000000000090611665908b908b9086908a90602401612acc565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e086901b90921682526116f892918890600401612b15565b6000604051808303818588803b15801561171157600080fd5b505af1158015611725573d6000803e3d6000fd5b50505050505050505050565b600061175d827f1d1d8b6300000000000000000000000000000000000000000000000000000000611f39565b8061178d575061178d827fec4fc8e300000000000000000000000000000000000000000000000000000000611f39565b92915050565b60006117bf837f1d1d8b6300000000000000000000000000000000000000000000000000000000611f39565b15611868578273ffffffffffffffffffffffffffffffffffffffff1663c01e1bd66040518163ffffffff1660e01b8152600401602060405180830381865afa15801561180f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118339190612a47565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614905061178d565b8273ffffffffffffffffffffffffffffffffffffffff1663d6c0b2c46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561180f573d6000803e3d6000fd5b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610a6c9084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611f5c565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b38686866040516119ff93929190612b5a565b60405180910390a4610f46868686868686612068565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e6318484604051611a74929190612b98565b60405180910390a361057a848484846120f0565b600080600080845160208601878a8af19695505050505050565b600054610100900460ff16611b39576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610209565b6003805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560048054929093169116179055565b611b9587611731565b15611ce357611ba48787611793565b611c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604a60248201527f5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b60448201527f656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c60648201527f6f63616c20746f6b656e00000000000000000000000000000000000000000000608482015260a401610209565b6040517f9dc29fac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015260248201859052881690639dc29fac90604401600060405180830381600087803b158015611cc657600080fd5b505af1158015611cda573d6000803e3d6000fd5b50505050611d77565b611d0573ffffffffffffffffffffffffffffffffffffffff881686308661215d565b73ffffffffffffffffffffffffffffffffffffffff8088166000908152600260209081526040808320938a1683529290522054611d43908490612bb1565b73ffffffffffffffffffffffffffffffffffffffff8089166000908152600260209081526040808320938b16835292905220555b611d858787878787866121bb565b60035460045460405173ffffffffffffffffffffffffffffffffffffffff92831692633dbb202b9216907f0166a07a0000000000000000000000000000000000000000000000000000000090611de9908b908d908c908c908c908b90602401612bc9565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b9092168252611e7c92918790600401612b15565b600060405180830381600087803b158015611e9657600080fd5b505af1158015611eaa573d6000803e3d6000fd5b5050505050505050505050565b61099187878787878787611b8c565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f238484604051611f25929190612b98565b60405180910390a361057a84848484612249565b6000611f44836122a8565b8015611f555750611f55838361230c565b9392505050565b6000611fbe826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166123db9092919063ffffffff16565b805190915015610a6c5780806020019051810190611fdc9190612aaa565b610a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610209565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd8686866040516120e093929190612b5a565b60405180910390a4505050505050565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d848460405161214f929190612b98565b60405180910390a350505050565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905261057a9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611905565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d039686868660405161223393929190612b5a565b60405180910390a4610f468686868686866123f2565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5848460405161214f929190612b98565b60006122d4827f01ffc9a70000000000000000000000000000000000000000000000000000000061230c565b801561178d5750612305827fffffffff0000000000000000000000000000000000000000000000000000000061230c565b1592915050565b604080517fffffffff000000000000000000000000000000000000000000000000000000008316602480830191909152825180830390910181526044909101909152602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825160009392849283928392918391908a617530fa92503d915060005190508280156123c4575060208210155b80156123d05750600081115b979650505050505050565b60606123ea848460008561246a565b949350505050565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf8686866040516120e093929190612b5a565b6060824710156124fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610209565b73ffffffffffffffffffffffffffffffffffffffff85163b61257a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610209565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516125a39190612c24565b60006040518083038185875af1925050503d80600081146125e0576040519150601f19603f3d011682016040523d82523d6000602084013e6125e5565b606091505b50915091506123d0828286606083156125ff575081611f55565b82511561260f5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610209919061294e565b73ffffffffffffffffffffffffffffffffffffffff8116811461266557600080fd5b50565b60008083601f84011261267a57600080fd5b50813567ffffffffffffffff81111561269257600080fd5b6020830191508360208285010111156126aa57600080fd5b9250929050565b600080600080600080600060c0888a0312156126cc57600080fd5b87356126d781612643565b965060208801356126e781612643565b955060408801356126f781612643565b9450606088013561270781612643565b93506080880135925060a088013567ffffffffffffffff81111561272a57600080fd5b6127368a828b01612668565b989b979a50959850939692959293505050565b803563ffffffff8116811461275d57600080fd5b919050565b60008060006040848603121561277757600080fd5b61278084612749565b9250602084013567ffffffffffffffff81111561279c57600080fd5b6127a886828701612668565b9497909650939450505050565b6000806000806000608086880312156127cd57600080fd5b85356127d881612643565b945060208601356127e881612643565b935060408601359250606086013567ffffffffffffffff81111561280b57600080fd5b61281788828901612668565b969995985093965092949392505050565b6000806040838503121561283b57600080fd5b823561284681612643565b9150602083013561285681612643565b809150509250929050565b600080600080600080600060c0888a03121561287c57600080fd5b873561288781612643565b9650602088013561289781612643565b955060408801356128a781612643565b9450606088013593506128bc60808901612749565b925060a088013567ffffffffffffffff81111561272a57600080fd5b60005b838110156128f35781810151838201526020016128db565b8381111561057a5750506000910152565b6000815180845261291c8160208601602086016128d8565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611f556020830184612904565b60008060008060008060a0878903121561297a57600080fd5b863561298581612643565b9550602087013561299581612643565b9450604087013593506129aa60608801612749565b9250608087013567ffffffffffffffff8111156129c657600080fd5b6129d289828a01612668565b979a9699509497509295939492505050565b600080600080606085870312156129fa57600080fd5b8435612a0581612643565b9350612a1360208601612749565b9250604085013567ffffffffffffffff811115612a2f57600080fd5b612a3b87828801612668565b95989497509550505050565b600060208284031215612a5957600080fd5b8151611f5581612643565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015612aa557612aa5612a64565b500390565b600060208284031215612abc57600080fd5b81518015158114611f5557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152612b0b6080830184612904565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff84168152606060208201526000612b446060830185612904565b905063ffffffff83166040830152949350505050565b73ffffffffffffffffffffffffffffffffffffffff84168152826020820152606060408201526000612b8f6060830184612904565b95945050505050565b8281526040602082015260006123ea6040830184612904565b60008219821115612bc457612bc4612a64565b500190565b600073ffffffffffffffffffffffffffffffffffffffff80891683528088166020840152808716604084015280861660608401525083608083015260c060a0830152612c1860c0830184612904565b98975050505050505050565b60008251612c368184602087016128d8565b919091019291505056fea164736f6c634300080f000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b05442000000000000000000000000000000000000100219010405581e034532339b9e0cb71c0b169de3d3d7273c1722e49cc918871510b71331b00701192c4d03c279544d07d9631b1e37d835cadfe7098d60e508cf8f18a89ddb8b176d56874d0311ef04546b122ec0385c567bbc0806c71d73a316be8b38b22af6753c9c9c395605581e03c7c284dc991d26696e5beeb7d8a6b49c85f7fd9a5731e565f9a0b8d18007011bffffffffffffffff03880ac10791140b37d50c3b8cff1b9e7b8e5dae45b6a740e4097371a48804e7b403fb09c1b36b2a8811abf86eaf0bbcddd1678cc1bbe76da7541726305efa540aaa03cc51f2662e47ac26308e1d5858fca3f7a28fc3f6dce017d2e9019f76927ed74e0345b68a0d4c42a6477529b56f2e991a3e94d19bfbd7d374b85cec99c1891638c105581e036c9ca70f2ba8d19b7dfc98101ab04abfa7a195fa77285bd6e2f39bfe7007011bffffffffffffffff05581e0394a534c7796347176ae3d00b1908992205cbc02fc101d45256be7651600c024626331eaf6a0005581e0367dc8c6058a4fc8c33f6d4f64681840b5fddcd1d0b836605c3cec1e7200401021966eb0219ffff0325bde56dee61a05ee913cd5857725eccd23517ebdf8de5b936104bb72369bef50219ffff03cc4d46066b4d12bdb6d4fd307d84cb04b7f07062fe650f0a1bbc8388e9a763d403d77cfa1b3625d87648be2f0144b5529750ebcf315f3ef31fe52218efb988ee5e038c6d909a4fac9a41c4d4eca31930178a4c51f9f05390bfe462598a4b952ab9a50346f74cf521c250ca7a2ec45994ac3918d985a91a926098041f9417f51721a1f103b3c0016f94cc1c8aca1f661b3f91f3ffa1a6d968d4c23f321b81267a539533ca030110584a56fc5afcabe9ffd0fdd902808477f4db8231c2e014eb1770091ed3090219ffff0391d1e2dea3004486acdb59b568f65020235040895ca31f70feae76e4f8120f15035e4d6fd1a1f85a4319b79468b3306da05cdfd7578c960a02852484a05cd5f44803f5298e8e964c364e3f1ff517d61330d4350d2d68dbb108e9fc3a5edc81e9c516036541754c3f345ff18e3a6379a1bcae49bddb40da4eca71b52aff4bb19b0f0e9503060a3109f87735c62e5265c8667e1d201f5232b8728cd5ddc9dc9166fcec3f3d032b72b00455d0486b3b33e30e58ba4eaa20831de4f7af99dc4eb901f3b72c105603029091320e08e7e40e9053fa97c66cc84428cd767be073f643e869edcf4733e3030abc0c3ebc6c848adf5fd1db251445f88e20a8406ecc0efa97cbca05581a05be03fca3b7df78685fe8458c83186e8ac84e77ceb82a147921a2d03b5cbac0c709d00316c660c542dc4e6f02436e20ad42d0f10a314417c0c1cadbdf07e28fc8530d9c0347c41330c50dcbe5ab664c680c7d5478293bbe73972141923c9ca06f9d4543fa033b303a63f7e49fa28e0e24149140fe8dac74052cde2bdcee208234cb61dc3b66035dd85b7dca01570bc6de0aff1605330d53d7cb8e67f8dbd27d1afe2dc5eaf38b0305e3650406170e6dc6e8b7359cfcc82cb40b6e5e584ae08e228f69c1bb87b7b203024a339a9a249294c459f7a1316f01cd7bade5afca648bedaa42bb2b7dec745903cf5ca791ec016b27c41ae890a9f28bd8752a61af908d42edc58d29a467edf16b0324bd7a95815045f5586cfafa188e26eeb14e2c895e1ea3d2e4bdc443eb7df7e30392fb90cd50a3f227a1c9b0b9fa856c0417a8bb2b5c0de4d8cc9c4561c0f2935a03757f988aa2aa942479b075ffcc64a8d45bf6f1d32916161c241f9c51c08726f103046009e5c3fc5de03e83ebabd01ca1e8e9a59969a684fd298fcb763b3724fb4003db45a4da0d4d758dfd17d90864aa8725642a3767ad0139da7f7898cb38394c57032c7728baf8e21d842a497a365292fb5dabfa3ad829db6ac675541c30f21b10ab0309253fde28652779ed4ba8c6d8fb27a3ff2db01b2d3d1108d6626830d8ffa2a2034ad4bbf75647df3dc6267c9ba69ade977725812761f66dd0d99d43c259ea3e7503e9060f947ed6298f672b227d385671b7aa3d5121290cf67a36d31e194c3a85720399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803ca33b4b379b722978f6c598c8e2ed0b727e7cfd68f5fd58e54ee5b4559625f2005581e0333cd5f19a698e521e534a2456d3b877a35afcf2d56504c36d93627f80007011bffffffffffffffff05581e03a53f13d2185338b561e58bd47f09dea0307f54afb34609059c622a9520040205581e03329dc4c0059ee95d69b43a8ff48bdc2f6156d95b4962e558fe30d6ff80040203256792a1fced46e52f33a2737bcf2e6a43d50fe01206912847d252cfb9efa4560459047a6080604052600436106100865760003560e01c806392eefe9b1161005957806392eefe9b14610123578063d0e30db014610143578063f2fde38b1461014b578063f77c47911461016b578063fc7e286d1461018b57600080fd5b806302329a291461008b57806360da3e83146100ad578063715018a6146100dc5780638da5cb5b146100f1575b600080fd5b34801561009757600080fd5b506100ab6100a63660046103cb565b6101c6565b005b3480156100b957600080fd5b506003546100c79060ff1681565b60405190151581526020015b60405180910390f35b3480156100e857600080fd5b506100ab6101e1565b3480156100fd57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016100d3565b34801561012f57600080fd5b506100ab61013e3660046103f4565b6101f5565b6100ab61021f565b34801561015757600080fd5b506100ab6101663660046103f4565b61030b565b34801561017757600080fd5b5060015461010b906001600160a01b031681565b34801561019757600080fd5b506101b86101a63660046103f4565b60026020526000908152604090205481565b6040519081526020016100d3565b6101ce61034e565b6003805460ff1916911515919091179055565b6101e961034e565b6101f3600061037b565b565b6101fd61034e565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60035460ff16156102435760405163deeb694360e01b815260040160405180910390fd5b336000908152600260205260408120805434929061026290849061041d565b90915550506001546040516000916001600160a01b03169034908381818185875af1925050503d80600081146102b4576040519150601f19603f3d011682016040523d82523d6000602084013e6102b9565b606091505b50509050806102db576040516379cacff160e01b815260040160405180910390fd5b604051349033907fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c90600090a350565b61031361034e565b6001600160a01b03811661034257604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61034b8161037b565b50565b6000546001600160a01b031633146101f35760405163118cdaa760e01b8152336004820152602401610339565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156103dd57600080fd5b813580151581146103ed57600080fd5b9392505050565b60006020828403121561040657600080fd5b81356001600160a01b03811681146103ed57600080fd5b8082018082111561043e57634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220ba9961c8b66983fd9da1914a75efcbaa4c3e48aa7f1ef70c2b4b433cad068b5c64736f6c63430008140033037a9a8a3ee439a4347abf3652acd6b784f72c2a11467556132ea946ff4f531c2103c372970b36c4d3887e51cf1298a5f373377a17aa4a262e29a36209a494db7fda0370f39b24f65f59fb55b7e4504eb44668163baaa0ea3c7de5e3a68d2a5380f9ce033b71a0284aee5668d467242e40ca73c0f5d5960104cbd2bbd7d1ef992c61c80203ea35980f280665f2c5c0476c0f374ce397f93db2bbb935a6f18c4ddbf193d434039f8ebfed85f591cb826aaa67df655b6a969dfd74435a4adcba768e618622aa8a036fb87ca1d0c748a135f403e309cf0c5159e2619023b9b7e4974c99d42449f2d0035b18bddc6fb51d6a4ddb11a0582b4f5940a9a0e94f8d251a78abc4e19c5af0ec030e2195df386f4cd61244883bdfd7971106abf5a9245d317bad5713c8a8623ef603efbadf863e91c619d6feb928d7ef8b84da05ea18dd60cc1a20eac928de7d455d03a918175c28b0f325f008c3c52e80d6254a88cbb859cd25c3e26d5743811a90620342eae4063c80e1c8a06f374656c79673a78069e50a28f70ab497b416340b289e033ec8d8855ea2d2a9424b29417c4df14bf49ff4f3b89d996aab37680aa3589c520381e9db9a2a47653b8e36146519ce037d7342d2195641865683863d465a3f565103b3d3ee85720f2ed7aed13891254031a1359effa034a4aa9ed634eef9f393770703d635dcdfc1d020e19fdbbc6e5611629d68d3957ebf3a61424f45f7444491bc6e03ece1f74801d237044e2b07402d24002f2e72148c61b5813a7ee84cb25befb2b903a0cd1282c330141ccc6c736ebff18c7b8796ae6971bc44587568adf582155e1c03eb691cbc363a7a8924e7b5386dcdc6a4b964b054243259bb6f20a06e9bc106890393f1d4cb277ee2987d825af94c99b8a40851bdcfc6608e41214d9cf4077aac5d030ea78baac653fb7f95f07cc9c983a7445e6589ff83b3978ed0d0c77df56daaf803fc6cba108ea0a7ed1a85e81165e8670ab75919f3c23a82d1a95b401022ab1492030b7b0a667e63b200d38c16fb5e8957c11a7b1359f2e920e36f8eb134707fa2b3034cef6383c30d29bd074815b3b369095421cb9ce4f87a0213510b89cad9597c7d0328bc80a314877284d6e16aa35d389d5298e5e385fe5afdd3cf4a5325e978a65500581f028d3eceab177bd797d9a695d9458bf114e97a04799dc4fab67a86df6d6c7b4761e4378e24200000581f02de4c62701d09340b2ef03e09883e651ee0efa33f73cc72a712dcc204020947b8bdb978520000035d3faedbdff8c6243b690c6d0908309594bca28356640af849db047cbfebdace0344378e44aeebcffed67e70242242ebcae53903d51d8f26058fe82851fa5184c803986c58e126fbdc48928beb041047841884f63f95b8a03cc6c4372411fa827850034f0fc4ac742c520c7c462c3f55e053ffc6ce92f51740e5c06b409f4b6e72839203d2d11a54fc31e5e121e8583a057b46c3a437e054f08089ad9249b841ce65825003d9552e2c881d90158adaa9f13e902d3f504e5c0df7157573644168726d8ffb4103ba05ef4f149dff9a186690008e6ff6b8fbd31b8df86c15375e8c63f5efaff1f300581f028a266b86804b479243b2a6766d46506988c3988364e916ce22ea6673e698475e9e92884d900003650011a469e9e74ad12d04881eb9ae92ef0b738fab381eaa09e3c5b21e03af1803f1f02e4187059935294b24dddd75bfd6a3d19832f87e564430ed27961673dda50219e79f033c404769c44cc160d278f78a61a9181d726b5aca42610ec291cb83724ae5560903250199031483ca63c2feaae8756a277fc3e839c52e87de4020ddcfcc0b516ebe0308ae0048733ce2b1b8fd449ac14554a3f571500b128af6f2d2e0bc5c87e1503b032b317006ff3f426f986ded6ea67e62286f7f5f3e2bded50cec5d7ba1f4d1be16034b593da1d7e772f378522ff82d58b74cfd429c91dfb82f21591e46b885ce0f9903bb33fe6ddf751d1380840ac6d2be007d345951fd60847e0e82f5b17aca9380e30342cd9b2bb00af7b66fc47a8dd7927355be9962b801c990bba38943cdca63f459039c95ab9939192a09000f238e02ba1590885828b59713214811b28894c20abafc0219ffff032a8ddf2f814ee1f9cf3909684c401d5e2ef9eeff7ba74d39a448268afc2a9d74037aae9ff72ac4d0e0bb9f542fd2ac39e7567478bf898e1636f0573282fe22f36c03a5bb2f577784bd777050e6ff2c1bc296a888888e2f0106b06d19a1edc062866e03ea9653f0d18dccce22714ee38e2dc75fb5412886e4df623760652f0e563f52750219ffff03f664394dbbffac6a0ed3305a0106263c07d5f5137c1807d9cef38b0ac1bc762503fdcf6017d2917f477ab9663cc04fdf1a38daa6d09c13756eab65156da49cc1470329f42a8f26e4d8fa53f3d54a260172208b3744a19a306e429bcfcaa0a7b23a5b03cfc06bb4abf59bc23699f2d50a20e4669515b4968b40753861312bd8ac62de12032925cc383609d494a250a093b08035949b0655c8afa9e68da5ceee56091c4a37038b401c73f7b24a569c9c44ea08c3a950e4540e1aa2c531b45f80182a3c2cc1c900581f02458b97e62c586b87509e8927346d2096c6e7c5c3b75233bc1dfe44b3341e47617d71b148100000581f02a92714c418efaf3d6b62ed6e1fd0d1d5c08675037047556b44b26851910d47027ca57357c00000581f02f0dfd5cd26134e83529924c39d55634a1e73f728f59bd84c3e5e27231549477a919134c0400400581f027772a83a6b6bb4a4f9c11fc43c4764868913eff016c534503a539ef4e44b477c585087238004032dc9d33d11b7c71138953c06bffb3060bd0f55d112b006a3c3c92538c3d2af7800581f02ef134ccdb6ae13d90f96c0770dfe9a66d600e55e507657a8bc746141966948054607fc96a6000000581f0228399486dbd3686efc920ce60c398a54ddd01d7bd649080d11bcad824b0548016345785d8a000000581f02658dd21c69e480e29d4a6d5fafd612f21f1d1384773fec58359744427b84476e2255f409800000581f02a471e871ce3d4159fd923f8cbb6d2e4941c48f36b6c850f4a32f8db66200478e1bc9bf04000000581f0290169dfcf5e8eda426f72419371d1ee85655d5730ec01f27df314905ef1f48013fbe85edc9000003e723001d02155a7ce98d3e57389a8e7aa9e0bd1d77b9d3a955c55fc6b96d135800581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60544b4eec1ddc9420a5cc35a25f5899dc5993f9e58600581f03233d69e73e5de715b5cd872fe00a93cda9e9d5c6a358648b19c2fb3459604803782dace9d900000219020403bc8a93dcdb5634431c20c70a2a7f90798bfac95fbdefa60bdbeeecf6013cda2a0219ffdf039f725a38507329fcff6e5768ce4a45b5f1262e04a9a74a34815539b7eb61575c03cb87bd434828cfd83ae0d4db59f568fee2df97f32aec7ddadf078f4f2325fbb003362222ab518f309b490de2c4c00b84a2be6e8b95c2489e5a5c0a62ac559fbe6b03cb67315ba7b27a99f205e72fc994d16806445c3ee4fa150b1c2ae8caf8426d470398c46632c3322d9723333e155e02b87389569e3923f7b23f5d7c2152422560c403da8389a95a457a66ffb679c69b62da753fbc18868cb67f68a63a7de821eda8a403384a38b7c7a74545cb046240e547aa5cccf65d68fb5735a007da974671fc84c50373157ff9d0307127ef4896819e9bb1098a340cc8697b3f26057f667c722befec03c69d26c4a7f8354dbdb7f15bff265aa08a3f8ca59b91da87c019d31aad97d2df03ee5ce77fc0e6891630555efbc4f2e0e1f7dc5aada11e0fcfcfefed4c94ec58ee03c98cb67ea6666a745c7fbdf05e09ff52ddbd739218fdd364172c697b6033d6da038e94bb10b488bbae600e223ce6e72c3f8b7639d562d2145e8236afeeaaef5e62036ba7d550a635dc018cb27799880d3d257e9d2e195491339c7057c3ce6a2ba19f0324462bd6207f61bac952d6290c5012ba9851b6554a60cb0dfd1e6e822194ca57034a57aef349134e4056cb76ad62551d831b7338339728472f11befba785da52020219ffff03e033b8bd6dab9982f98c16562949560a42bc4ee509ee02065b32904f11ec640003f687e9a23cfa405cfb180730911580b9a2f6766afb0f9abe5a5f56522e48e97703a8b2759f40cc188be18819a5fdb222136c60b47bc15ec16b0cbd066798571d4403f619f79392cc7a4d0df3260d2adfc0e9a35c8aa1482aae7b5880675a4846fcb803465c017926e56901a0ce5fe42dd0f0736fb2a1dc6992f1f285aede42cc46c2e60309b51dcfb8d79182243704c3677322cb497d4440e5c31505599811a822e874e9034449f924ca2e3f916eb466e584de16529fb57f8e0ae39524f0e7207df414380503aeaef5088e22fca56fc315f45d53c4e0d12796d9508ec752df5f0d42dc0585fb0333b65179f770b460317aa9e35309845c3d771019547f885ceaa423e01d06aa5b031741d3e69faaf17d52b030269e36a0d594f4c46374f5dde50c694188baffe87e0335c5fe7c5fc8aed179b7d769a553c50fe19022293395bd42437ce2a2e1877b28037aa9782b5f2db74c7c1b2ec3e9908a73acce915235e3c546b96d6a0fc9d6b72b03ba543944fcd058819dbecff1625b0e145b275c4ec16acf0bca15ef9eaac53ed9034134f604220cb8f694f156941fab8864a3f3dcc6fbb379b704dbddecd482d4b10219ffff031a31fd2b07f2a6ddfc38ac108e2de00c7baa25ee59d444bde6c6a3896600615d03d8e5343e046739d01ddd6b74e9397f37d8bd2b53d7768e9c5759fd7afac5b28e0337eb9d537f86ba62cc16d7f90f6511200608fb4d2f58078c7f082a1e0ae25e4503b8d06a6b2248be48d543310ba375b374ce5ee722edd4e2ef2aab8134721ffaaf038a72e78565f692fefc71db053dc7dbf40414c80c5bc90a457101e3b8578309dd0344beb5e6bf294baecd58cb9bc6c2fb7886e38d8490bf1d526699a8155033d18a035437a5113c862f82072b32f6881a9e61cc7b01c1a52dee135ef0716f6e16580603f9923053ff745fb74d603e748e286666492338070f36769f87bdf4481cafeb2203f31844dd6f458550f7831b699c3063621af0e3c7d87b3d90c475cbfcfeb1e84a03fafa148ece77519a35098467c4e361d1e1d4529e6a1d92b51fc362a767af23b703af773ae4fe87b021e146c6cedc597cfc9ec6a70a23fbdfacc3e89da5609c452d03751e45f530171ef68286b03841dc264f58aba6ac6ac95c70a6d94e3e19c4ea2000581f022705961f33cb695308736656a37d6e51a79d782f1951e4a382f3ed06f2814802c68af0bb14000000581f02737ef7c446462b8fba5d49fab7cea392e264e06a0d0cc75b78a44f1e1328475ee0f72b5f200000581f02086c6725903a5e8aed3ce08b1b9515b387fac0388f1643bcc5b5b591684f48035834391ede80000349acf57644972f0a7b5fa310cc334bf80b51aad9c49fe3a865453056af85caf6039b4b7b0c29e745c1c62c5ec5ce9bc38582648de8a5ac09bc05fcf0ebc462fc590219eb270373ea987c903d773a1af1b7aeea0acbbb1d06af0a862c046fc4e4bda00ce9a43c03a81489f3c24e2f33a9bce2fc384914204a675e259cf8b626432231bacaa3f1d60395926ed58f58b2346f6ab0e5b44083f4ef4fc81d07c8cad736552cc05722d329033736da6bb0cb37004d26f8d13990e007cf5b5425cb7c6871b4431d61611f68ae034a5fa0da25778be233172c06c1c03c1085235d1184b2d215846ba34e2a5f588603465a0157597fdf03576c8e8afde1e7edd90819fc162ec2c3082b23480143ea3d0352cb53bfca405e642751e4d367b66409e0b61997aa42f4dd4436e62fb336a95803329925b3b4240e63703ea648dcc5b8a2ff92de3ab58eff870987bc9f2b12824603104f4da963ccbe9e81c066c3ba0de2535e30b770e098e3272e711b3c8219033e03d696e80b456f547bce937648e9a3a3555eafea2f7d96e82737c259fa9644426a0219ffff03184b38681e33374e5ecdc6dcd97d6de90d526303860fb7e93465b03c29de763d0388fd69cc6f5418f9f370328b6b4eb38f6066a857fc0d10b0902bd8306e64eb5a03695100c8cfdbcf1d705513b2aa955f375d0036d9f9626b29aab0258832e2518a0362b173e5b0c3a11eba3dd4b61b28aac15bbcbcb04dc96d1bce8b2db897c8b157030c586c8939ea8116e24123e4e1fb30c23d7264664635504b80b4333d5ad1a470035db1b9d408a27370d0f0faad945ea2f483d4afc7145620ad6db1a84de415c5b603a438353a97f5c41102f9d6e2a5af30cb4c2675929a57c6956c5241754a726e9f0356978a3a91021cf4b7c117f26c1a0462a1673ab5862dd79e3b2ebe09099122790304ed868c373a43f767a39cb7ca20115e694dd6d9961eab349ebfed6ea4738747031e119537368b386832a18c4a68f4db55d5ad5381c6a7d5b06733a2a34622e38b03ae23aa77d8d692698d416cbd7fc39d22b3538e4cd34059601fa4893c4f42048603c49f01c823a16444007ce5b3cb846a755e6c564cf6aa182bff30565c31e7f13703e1c413aed943701fa2d93a800d2ac4ed22f45449079c48f9ef26bb388db8d8db0219ffff0338c074c69894d9ae61f5ce99f3fcc1d534a5540c250a542c8f09656944f22b370359bdb406e62eb54ea3ade59681b94616e1f8fedf2c68454901a5cbd290bcedad03a242d0c843d8fb6b1cbc3ee742aa62ff0c0a7095d0b94ace3a200499a538591a0219ffff05581e03149f76f0232047054ee09428482231bcb636a909448feab45b7da50850070119047a0310b583a233dcecd278d5503a6033956d7c2d2fe46468693b72423b0d59482d2f0605581e03233b261e40bd557f1d108484a81815362aa919742df2d4874f1d65d77007011bffffffffffffffff03b19666f5c01b908e072655df10f915f354c06e095b925f879c48821da8bb5da102195b50034e853082d4db6da9fb3ecafb177e16e471aab9cfab8d6093ea30e5c149ad6491037b2e4d216921f61472c5f48d8c54077811d68b0066c12cfc30ea8a7c2c2e2c36036d46a33c458354b40bf4de36cde6acc8e3d1b3d79e7f1e37e54979d877750edd03197dc2fb905375e70bbd43c1d4dd838b9201876f5d4b1bb867ff7390adeefb490350270cd99f2ac074c429da94fa280989bc6d29974ea09e97dd6549c7a0e1d4ba03b0b6e704745680c0d512ab3a2ae7ffa606fe4e9b4c01d205d972e4f7d0fea13f036fdc7154c1894bb21e4f8b8ac662b54c96c62110a0a0eea5ca9c0f71805c5b5c038984102f25fabca058f30a25e845e3bd51c33c0cd1f8ef6360b29fd6ba2af9d903f8bac21f6c3dae91a81b58c063075cc30c7e97e457efdd32ee8e1a5ae94c272a03409f7c2b185bb913de7d75f153166ff5c2d4215d7f12cd543a3853158b67879003bcd279f30f5ad9cee6eae66aec1b37eb9acca3a41e23ce3ee4d0b6b1bfdd1c5b03754a1650a47fe49d70dd2b4a7c1c36e014089f0cad8c13223ab7f420ac930b4203c3b1e426b024e798b73d7f184b88a8614e32868f4140802261ba7a909d06f5420219ffff03496c2167c978bf4e083290a331887fa49eaff2a89de9b818c1c5230d7aa21f5a03c953dbf80ef6dd53fc9b17a83a6ac75ab9a0e9ca0f648333569d5ce5093a0fa80219ffff034f3e8808144360a914f9841f420e61859a021d8e85dbf6a0a4b5df38dd096c9203f701a436a51cfdc8899da5d80631f73693ee0dcc81e050cebfa0c33184cd7d8b03a74bf8e87ae4541c7efa73d12baf1856df0d8e15b77c8084edb167d2419f6598038064992d4d4f04cc72148ac2adcee42c1998be3ce6816fb9561932d6153a2248034b81cf3421a8ab37fa540f35a52f6453fce3adcb31acfc3746a069df69cd91e103e47af3b56b172ff636804a3604dade699783bd15a39ebdebfc601de3efc795b20219ffff0219ffff0219ffff039cad30e13964cc2d932590e77781a503c4d3e6a5de3313aa534dd98792a9c08a0399ffddfc35cb9dac9af8b3b0c0e302295544c44af8dd8c64ceeb80c1395f672e0376a89a5f935f4cb86e8118e42373742da4970d624083f3364ac9fd338e955e8b0334989ed87d561dedfe50f224ab8d98df410e7b1c1b2c48b2d9264e12cfc11cbb039e7160d38f22905f1242a2ef5d3cd3ba95a9dda8e346bc3e2bd026497c05c836037cb483723fad70a5fd53f099b83944b26b1a2d2a9d3abe9cbd3c691ec573fdab0358097c8e4cb8d036f66fdf836e7b3bf03377293f9acd134ad9e8250dae55a2da03bfc9a06189e84cfc08df3c475cc6e72acc85bf45945e50bfe5e5da6816b80e0a03afa9586ce73a0a0a35e036fadbdba88b5c7c0655659ba6b027fcc2f69e41c6c9032f271ef3d7e8aa97bbe75d38089a7f7f0bf742eadbc0fdf73815b4be4d01036c03842c16a501bdaee53d8f66e7b6e45f2608c2724e1f65a98950737c6ad073056b03cbe16d52e6d43c2b2d157707884aa766d28e69ff147971ebf89c2a340265dae703350127553cd4f99420f59515133a621b24b1c427fbb252422f4ea6c18738f8c40307c877aa33896b2c0fabe9cfdac58c3e563048971162b3a7713f53acd48383e60385758553a64decc8a36536ede5a5bf1fd32739ea64debf773c8dfcdafdc161360382d33c3516ac4f35a782b98bc92b333c9a6e65c1f8d37a8f5a18a6889434760003dd9b63255735845e062591cda58acd754c1bb564245a5a8a3f6420ce39806ab1036f840dfb5596d147d2745018cc7b2cc3faabe58959f8bad2a9946b2fa171e2fe03cbc9796d588e2a8458e1f0070d9877de7fd656274f2a45e5258d2d4fcff0b84503df9d143779936c74d0232f59f869bfc2c0c31c93394bbb2a6d580f63017b60ba0376a636f067959ecc5c7f271640a0f04867c9a69a7defc13f3349824975d019e603295aeb2d9c094afc8a934627b23df98b3160622cb78b92e2d61033b1ef5f9e3003cbea12495f8fbfd10d93a6bb5dbd6b6a3262aa0343a6548486af09a1d53b081f032d1cc18c86d90809b8837fa63a1cef6f0573bbc36e47bf89aafaf8776cbd156905581e03b1c0bbe07f0048344895d0dfe07361e711f786cf7ad458b98aa377d3a00c0147081328eec0d09605581e035f9c6b9b6420b80830090da2e5f692d3ed700db9335c110be8a05cc5c00c02470faa4b67622fe8030d5349a88bc2fdeb04cceec0bf3c2bd0673e8a1b4dd16f2d9fe117147555671703a1e78e01e785b73452391427c5d5db71e3b55d4c91f41b59d907c3fa3292dbff0308fdf826a3bfd8383df6af47743dc4e999ac6db05cb900f8f632a1d68c61d2b3031b7480c16b19d2ff30d0d7aaa54bb9bf44aa55f427966b14882a3fa6b7f751c405581e03535a5115b71ceb20eb17eee5335f889f47854604220220f310dc4ad7000c18584717f1b1f18c16fb021955c4034a6ceb2b7f5989fc1e9d9430a94d2b7d1c8eb73d10286aad7f0c84fa2a46f6d9035eeadee15dc8b283925d570ce4ae2d9bec796af2c9de658e8a1a0a85909ff1f40379f882ae4b8259c8f5799c6f12a72ab35494bccdf75910fa8b1fac4be02ca10f0346b4665ce98750ed8fd9b633181972448760d607f479d277f64499680504b1710305a337a5447ab866c850071bf4112aeae40ac6f16a0fd7438c629ceaa075ba7e0386758e46a2decbf35d9387b86b051e86e11bd7509c12d65e5911f44a8e1e1edd032c760dd483bb44ae7aa0440c97a9e33efc068668d9b45dc1af1302b334af34e103e4eef95288419686cb0b1eac22517da243416901ed2bcaaa5c86110d393b165603b752791d9b9f3424b0a6d83e287b6ca83b67677851b407bcb1fd9c56a6520a2b03f0cc30330eda88c15bb5c8bc73e88676e91e018de011b8ff083a5f2273d00205033a76fa29c3aba070f171126c1b9eaecdf28d998baac7de93c3fa6d581809192d035a77e58a074abd20d82dba2041fd1358229e0639e3849a0ddeeada966715567b0397434b6dd2dad7466f5cba86ced9dd38fb4181337c0920b2074f8f96a3574f670219ffff036a98648b79469b0a8d4a9709b679a05ce8f6e82d2df2b73b787ee4abc4c78d1d03d272c6c00f2afd5fd0cd231cc93b0390c7e894aa0c11fe04585ffd746ecb561d0320662f00ed5fe890515abd13f8cd9feef5df80484e2137a0aaa0fd3db19797db03fb8e45e28de0528b4ecc161a94a14949b37bbe2af590df58095a3589e3ceb03e037e6def27dd3f02f62f762291d27486a345fec1c84226db5bfd50db6d76aae80903c5acea2ddc1cece1eba5aa8dad9fa8086aaae15249164fb46d995fa083269b52032280f16a187a71bf5738ea75f7436a151dfe5902dae0480dd7f1e5c6d24bd271033af222e44cae5ffd0affcc707555153a6bb8266a89722fdd3239e4f67ffc5e3403cb068a94cd092b0f1fa4dbe46b6a0b73688f4a75f3da12c2bf917fc77d44af24039b1e055742d690d86ec026293c0293264dd733849b3d63e7fdf3abf4d2aea0b9035f43137b6ca9e8f270e76a2a60757eeea0fd847f5f295ecd3ef0fe0e8f0c2baf036bf8a144e75dc9383d80a46139ae6d010e02204f3e9e256b5db21e62f46584ae0219ffff03bd29526fd0a408c719f1f78c15fe8591ebac7be16357064468a9f0b5f8bdab6b03c0868c1105d63041dd69342aae919364266fb7e086748d6bb8d12735e465335103e6bd5322345d4fbb524ea8131f69377d46332b99904bb2f22ff7a4807816db4903246c4def8e8b4f70d8fda51035844482e7e9e8f576555ab6804f57f13b278b2f03248af4b46aeee1040605891d4c6d02998fc4d1c9c84a48f7dff9ef506543d62903060e700a7a2091b5bfbceeff7929e142b9d83eef4e216a413839806e0894981503183771eb53bee6ce78477482d74b0510b5db6feb8f3376dd879d028caef752760219ffff03be84ba2e15e1f33c854146e039b9307950a9b462d68fd2dc9407ef56e29edaab030ff1b7951eedc0f11bcd32e51f6f9a9dea1478218ce7184b8efd2b9e3ba026c503e14bff12fa89514d5e5c663930b6507f2e1b3abaa1dacefc4341d255f40c2a6f03bbd261fbf6244c6a0a29547977226b035a979423e9c582bc19ff8b19977dc95a0219ffff03c36145ee267b0d1d3699c2fbef50302566045e93ba2cfebaeb3e0d60c9359109033b4d31b2d30ee2a7532c818d32ac28a0407a72f276d85414049e0f6b6a570b7903585cd6984c24385db6484c3e0096e1067ee28cb8a53f4d02d8e877471cbafef703d7313043a50fc213ebd83ef6bca24060d2a656117bf3b21430877b5be5abd61b03f2f50682eee6157e086aeab6390f446af011b5e4c67316dead92bb279a4c14ff033f55d7a40dd96168744fdb740b9891e12723fc7c0e72dce4afae0cb47c0ea01403336422ec04aafef3563e35ff50cc589d60e59050afd4b4073ba9d2b01bf5cc45035032380ed6cc2e0f09d1931f81b0267374b97070449738ecdaf4a44f184e2754033fdfafdb390e1d7f8832be2100c56fb69680a140d5d2c9aea62687c87bd19eaf03ed5c5c1390239dcc6b0a6bc6ed80b6b2c561a14f72f532dbc0a50a2719b6b001034d4fdd51bf4995711d432df6acf3cd9b9388efdcfb534f9e1af9560e35100a6503af36d095926dd44e7df29279e6d93f3a76f5473160d5dedbf78ca76d5a71de7c03829f0d3f36cf6247429420cdbba8dbbfac066cac5e45460090868adf7ebab04703ec10134d1d17df1a3ab172fbf52dc08ef72f2adade3ae7eae7d4d95cf0636e8503e39cec519f7c6257306bd7ab1a7e2fabb98d8b0a49b91eeb4ed690fb9f5269b10398922f77e0f582b7a924693cdc07ad211961e2115931f6703bb315175a80c96803037de55ca278a5f4c6f673f037d4a04165244ea00db5f315bd9600a3730e0342039a97e30423006a6c2b52f2f0c5592949edb85cc6749fc3bb07581de997487723031410246f0a8e06fd6001dd2eace7f0f73ac05e9eef38128e87a070b7a9e37624038903bbb4700d612cf0e03a60a8f3086df958c0727d38896700c1d5e41fe7bfbb038d717489e1f25609fc3b49051edbdd46029828125c4cf638b293064488b996bc034115258d3faa1e76df10c44a8732c083f6b0844a69a1977aea6402b3c9c0fa4f036668a1304f6ebc202749412a0a29b6ab90c8a88dcac202fada413d1fc5aea67903426ea2b9ed9ce1ab1bc5329c6ec23b4fba9861e909a9a7394c06ab1a958e58fd03061919fda76569be0210ff02d6da78c963c5c4159fb197a4f23d131e28a25cf003197e80661e0ec9d56f573918a6e94ce8e446b4e8ca7d91151e9144cc3161376f03092198b7920b371ea9dfb78b1a51c899eacff1e92ad8ae3a7bdb1cd7b6ba87b105581e0388aa982aeb191795872876cf01b59ad4172dba0be1d3c2723fba9a0c50084826db992a3b18000005581e03ea28ca7112e601370fc1c5068a5682ec45164cee5a17dc28dd63585da00c01471d7821e42df50005581e03bb597af9de24215c14fd8ca75b8ec04a35965cb49e821eae0f46561a000c04481bb2765bb87443e50315b9c4967d8c9210248d454b7b44fdc46d5fcbad778402623a564dc285e519bc0384fb30d38ad5d89988e0dadbb149650f53df71c30058acbcbc3d0d08392b3e8c05581e037db8cbbe24a5b189dc840153b49f36cb5cf2d40c30aab0d4a2edf292b00c014621c50075e40003520df1d815e7017f27b72efe552db963249e35aa00517cc26b8e35c14901854205581e039ca3b891f7c862f299a118b9e4b53735a763a3cb36a8fe71e4710c59100c1901af47b9a50a444b90cd05581e03415ebe4a8bac9b78550588b0fac7e771542c52ba9c7ff1165b9a481940040105581e03e0420976e10fe8863be50c677d63cb72f9a74c10d494e5536c82c731b00c02471d4ddd8b1722b105581e032fd4177af344a90bcc58f575b62240195a29fb4749ceaf76f6a2175700040105581e0362c2d75d63ef5242b83139eff1bc49700ef0d3d29de61443906cc9bb3004010302216ed1bf8958090bd740320eb50152680b1860007111b53e90c35d3987ea100219ebef03b992bc1c489b7241c948ec38225f8d92743156b1f8d92686780769ff0c6e38ea033b7e69ea021c6e25e4204c9c01cf238827b1d5d29f60ce15347ca4327e5ead870302bc54b0e0d8b4265a57e68600710f2843536de9581c372839d8dc76e638a80703d4fb8007aa3c03a0eb5515997694df6e8bacefd30457a84095c36956bf919bc003e90a37f3c0c700551a50c56e566817eb4a5a56630d872eaaca89d97eb262bd9e033ff64acf215f9a3ad6aeb8fb8ed816c920ddb9f2467b4602ac2b20c2709a9a0a038bcad65ba1df6b9f08acdf62bbab4f2cb745a0333616640180a36a25a24bbd4103861a11ec88ae24659c6889179b42df74595005be5e8aa4849cd8bbeaba5518eb03660da50a175fe7e17933cac192b7d10f6a7b70e542a2e532896ff7b34495c48b037e3080b8f90048d91aed33e7d49a357b6ae52a4e59c64022e17493aa527b733d0353661ec568a32e419128de9f18239f9a8b4831c5839c2698a7881a53737453360219ffff036a89021f876e265b7b4c4071dc114d38dc76b45c71943bc680fee011866c109e0388c4963e6a9377e4c3eb74cec95f4c943da3545c389d8d61a09c18b48fa14c3f031491020d516fcb4995f6fbb076cd8d325683d913fe8667296a492a4748fdfba9032f3adda6a2aa767315fcfa4a622d82895926fcecad89693d3bb7d495f95897ac03c1b065f7a3b0738ecb88e1706aa99d21af17fb8a3c57a5289261b056d25263a9037cf79d19b1dfbae0eac08dcf1714976900d6ca724de7b61b75f5018e99ed600c032acefb86d180679fa828eda64b78c671883c28d107bdecc1aad2f66f52d4fd170304d9a7506757d938a64e51b2c6232dc1371a1ce97525a1b5aecb7c921525c220034735f6f337fbecb1509a2aa02407d7946a06a1ee0630bde9a36dc06502c34bb0032f1114ba38441dbc2c91f6d77819799d4dc75f7b8e54be6f8af3a8727a9c31ac039a803d622b46fb2f702cc508b07ff44b1a73adc2f95b070e1eee11654fd134f603603fe94de355d7eda44e4e2457b7059c8890fff694814363a47053ce42ddf92e03a399174662d7aa509d93888d627651b56f946d7092634f7cf5e65249ed541bd903b6792eedbea30742523a26949981cb14c3747e581a7fac97d513082b9e9a42e00219ffff0333cd292f080c7ae977dc4b7f49a3ecd39f3df6b0e4e7ad177f3c34847a7eac360361cefa8ba676153f34424357eb94fcdfaf1be54e34ea246b2ce37896811612fd03628a6ad777e92477da9672711cd5c5bbdc696e812e87363275a342dfbb0876e20352db33df86ccea91a6d9ebf55abe5ae061a5e11611db3e3715ab35bbf08d51ee03a045421473508f545caf3dbe1437b2729ca857d830e7c50453ac57f40c9e07a30386e5bde310e1a2769859f1aa353c63017207e7a0a8808a12c14853c29ff60ce803799e496833aabb7c5c2c3835cdf4fdd4a020668dd56cc1a87ee3fe65f884824a037d64aa8977e827aceef3cb00e677a13bc6b372d7e01665468f2f0bfa192dd8c30313750744ef656002fd07a6648f4483b34806cc62203f289a2d139ced603299cc03e236f0bc2de41958b1743cbf48ab7d4c11d9ccff5cf30001aa35dd7f540d41a8036ba9e9486339828c7426baa300764bc7ed2c3bad6da4e886fa9c45a93a9f1413038414c44a1335a98b4c62b5101bfa6a58f18db28b613a6a0180dba84a205a650305581e03b3d579e2a8f527bcbcf114faf4d3eadc60e48f687b80089d0fc8aff7f0040105581e03b7bf2ce92080bf82b23255a9ed45503f37183dadecd52c89ba228f53000c01470cb7fdb44bc00005581e03e8e569c6efae5f73fd54f5866d5c7e766ae42517532050abad13ea26d00c04447401ec5804592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a96555bfc6f677bc2316f0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604a96555bfc6f677bc22d8700582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04d0313cb0faa19d00f619e3432680058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58208b8cabee98f9a77b2f5dad7492ef4769cb1f3af84436129467b81c1044270142005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a855032920c8e9c80ce33ce117cbd6f8b928857005e2fc02184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687dab70000000000006ce4e6c8423052cf0000f40737094b0ff603620fb6f00058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5460d71e313709e0f910e15b277608ba8acd4eaa560218480219b45505581e030ec4a2225cf18f46a36e4012dbe7057bc80c8da7ad22860eac77dc2b000701192c1d05581e03d83cb2386f9ac07ee3eaa26e7b04ed6f43c1052da867019d9df288b2b00c0146bb5a2e67b80005581e03e74ed1eade3ceb4cb79b03172ca5f93dc09df165c18ff26cfbf9ce86f00c01470a7c803db4700002192e8503b404e78089a4fc408382cdf5554fbd29b686d4d8316946c975d9c1839c2736b70381520789e835fda248811337d0f362bf49db3feb12f086813e2381727ba4fe7003dcec25a3487d6bcbae9d0d02b58c1499ff0f5723d0ddd6ff42576214d96b0f9203cdce646534171498dc05bd447e009aad1f4bc42fe4aa362b6b8b91f1e69478ab032753a536f48afb1046fded7044a021915c7c47e0fc89cd887239c8b9a027740303f433fd856229658193088d5e31cf9e121a9def07bc8161bb7c60c54e47338bc10219ffff03a919ee48389528c064edf2db1a2fc07620617d5958650086e30bdbdccf53fdea0326f32eb07a600044fbc6c78060d638d52d1795df8b075c48e1bae2e9aad417b80315f51f03d9a26a98cd1f2bb6baa32a29514e0fb57db2fe29876563714221e88203f22e353c01743afdd958443ce843edc7680de259941acabb583205e00002bc69034eb382564807aa429c580a151cb53d624e5a3b06dad2b4f9de55f5088af5ac27037f17366b010bbba4fbbc6c18a30b487589266ee23ddf0102b9813b66593b6e21033d5c684cf8824f34c53a9b135df0411bb03df861188b5473f119e1d4c38d1e540371a24f87787310f6d3ea8ee3adde4d2bb15d105a2ffe266ce813799c46daabeb03f5d2f51c6e44d2e7ad3874de360cd483251076d15c264ac901f73889a66d124d03dcaea4be7d2b8b033399a223570ecdc6793a6877e1707f0a72a62953d49ad38003f6f989323d3f410233b9ce16a7f981524ba16dbd79e71369a03132e0ec563612032ba639b73b54a87f13f48c647a51f508ecf3b415d398ec45b4caa50da1ff440903b0d08b4a4d583cc945de933df19766f60b4f99b094cd62fc170ca10160e5a64003f9879f4f1e9bb0d7d7d45bca31316fc87bf9cb4b4cf366681ed3daa316a875cf038dd7bbba758215a89d3ecda32b581fc1bdb7ca8af2659d93c6e1fa59b9c1302d0219ffff034503cfd39387ef501a8bb07018f4a9facc97d2edb5371711c725a1276588e0ea0219ffff0376fc06da16b7c5015898de68bd9ad2dc7b4857fdf60bffc7366063c972927f2703a7898eea7024c00dfffd7c3788620186f2b2d15c6fdfc4f334c8211dceb23330034d292338b635a832eff05d57be21f215cd1fd1ab3dfb7f878355f46cd2618b9303396328d5897ad1f9fd5362d65948837a7b7b16559149cec76e3fb59307e7b0f80219ffff03b6a28da0d6d6e225a2001f213b35e75be6654307e7501d30b3a6e6f21330af37034e7a87ab11365f6cd6eebbe9ff073cbea1443c147d9782f319f860b29d80682a03cf52c299bf6239db97938fb0d9babd38fb56b4b68b6c791b121ca6bce9bea8ec0354c5bbf81b87ffb43f6ae06767f1da5084001d6ab71925929e115fe9e11ef13403e6a946dc8fc880826f02ee1bf5b8acd177e08096c98ed4c6b28e9b591b25dbda03f30572ef972064090bd7b50e94c9c64c8dae3a7211ce94fa9975e0e13d7429900392971f1da6ff9eaefff3c158c613ac5b956aeca82a4cda027f363aee9ad9a3cf038fc51e4fab7fc87812a25ec2e1fedf2903d0d7adfcc0c671c851efd70335cea003bddbd58803ebb438602cd91e586ed9af6da55127867bbe6510d5f8f8bbc1187d03f810e09861b9d8c4d50eb3d6f45f058bb7e8d47139b1cd18b725413d4c245eab03ee1b2d078514b0db97b60e3df97c3e77a8ce9c7f09716c181efea7963e9bce5a038ad71fcb89abb7ad092195582412f56f07103d360dd6754a2dc2f37c3ca6a869036ee8b3fd1dbaff4c4455a1c5ca074797a7823ba05d1ef0a768718983264d613a03c09d5dae901c8cacb7617bc89638ef99d4542962647950a4b1654eefb702d9880334b43a4d0c14e5d117c0d206d9e1ee013fc4ba6f4cd3b8ad27b08fd57a091a0c03495b2ae9f562d0f5fc7186fa2790f2d8c4b8c2a05c390ddaa7edc05560a87f230365b435df3cdd4e3b9d270ec6784f0d295d871bbd5fb7d20244fdd250c7bcc510032838d4c18be127d86c79e7c26a60a391ca4b294f0f0b7d1ac8c01d78f123c337035a84ac5a1fd094793e1c2646196cfc974097280af15160e054839a43501db8b30307147e29d4a96734b61eb42715d68b20d2116732809421af78ec4d7285f9ce1a0308e353bf15bdb8529cbb0df972c0bbbcfef27bbf12fc8c50baa3ec87543c648a03041dedcf82b2aef6d58620704243e9c7e7e858945479f0f0a3a14c6c47eb29ad03b15e75158075f89d77af4c4cc2f71d5b6d301dba42608eb69163cb51d14bf63405581e03d13447b236e90b4a8653ff2324ea660424b140f751b7fa349726f9afb00c02470112e213db7cf805581e03e89af9a1e66137105e0d224fe05065eae8a9bb506461e5c3de0f603a400c094725039a245ca0fd03197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e03b3ec12d3fad488e2dfca3c36776f633dbc5510656c9adf386a80600f0007011bffffffffffffffff05581e039e47f70598fbeff9b43772a4499de859d97e924b652acafd0f03bb31c0041205581e0324a73a4668e998b93578e4cd9ba6c9d31733db278e488a3d63f80ea8100c014627fca1d0e20905581d02d110d850833fea3c3582fea8c4449d5efcae6ec3d17fb150ff0599fa0c024701cfe5627216540459088c608060405234801561001057600080fd5b50600436106100ca5760003560e01c806379ba50971161007c57806379ba5097146101c65780638a9bf090146101ce5780638d4e4083146101e8578063c38c5813146101f0578063d6354e1514610216578063e87e73321461021e578063eeb728661461023b576100ca565b80631627540c146100cf5780631785f53c146100f757806324d7806c1461011d5780632f54bf6e146101575780634bb278f31461017d57806351447a72146101855780636a938567146101a9575b600080fd5b6100f5600480360360208110156100e557600080fd5b50356001600160a01b03166102b8565b005b6100f56004803603602081101561010d57600080fd5b50356001600160a01b031661036c565b6101436004803603602081101561013357600080fd5b50356001600160a01b031661042f565b604080519115158252519081900360200190f35b6101436004803603602081101561016d57600080fd5b50356001600160a01b031661044d565b6100f5610461565b61018d610526565b604080516001600160a01b039092168252519081900360200190f35b610143600480360360208110156101bf57600080fd5b5035610535565b6100f56105db565b6101d6610670565b60408051918252519081900360200190f35b610143610676565b6100f56004803603602081101561020657600080fd5b50356001600160a01b031661067f565b6101436106fa565b6100f56004803603602081101561023457600080fd5b503561077a565b61024361080c565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561027d578181015183820152602001610265565b50505050905090810190601f1680156102aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c13361044d565b6102ff576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6103088161044d565b1561034a576040805162461bcd60e51b815260206004820152600d60248201526c20a62922a0a22cafa7aba722a960991b604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6103753361044d565b6103b3576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6103bc8161044d565b1561040e576040805162461bcd60e51b815260206004820181905260248201527f4f574e45525f43414e4e4f545f42455f52454d4f5645445f41535f41444d494e604482015290519081900360640190fd5b6001600160a01b03166000908152600460205260409020805460ff19169055565b6001600160a01b031660009081526004602052604090205460ff1690565b6002546001600160a01b0391821691161490565b61046a3361042f565b6104a8576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b604482015290519081900360640190fd5b6104b0610676565b156104ee576040805162461bcd60e51b815260206004820152600960248201526811925390531256915160ba1b604482015290519081900360640190fd5b6005805460ff191660011790556040517f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768190600090a1565b6000546001600160a01b031681565b600080546001546040805160208082019390935280820186905281518082038301815260608201808452815191850191909120636a93856760e01b909152606482015290516001600160a01b0390931692636a93856792608480840193919291829003018186803b1580156105a957600080fd5b505afa1580156105bd573d6000803e3d6000fd5b505050506040513d60208110156105d357600080fd5b505192915050565b6003546001600160a01b0316331461062c576040805162461bcd60e51b815260206004820152600f60248201526e4e4f545f415f43414e44494441544560881b604482015290519081900360640190fd5b60038054600280546001600160a01b039092166001600160a01b031992831681179091556000908152600460205260409020805460ff191660011790558154169055565b60015481565b60055460ff1690565b6106883361044d565b6106c6576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa7aba722a960b11b604482015290519081900360640190fd5b6106cf8161042f565b6106f7576001600160a01b0381166000908152600460205260409020805460ff191660011790555b50565b60008060009054906101000a90046001600160a01b03166001600160a01b031663d6354e156040518163ffffffff1660e01b815260040160206040518083038186803b15801561074957600080fd5b505afa15801561075d573d6000803e3d6000fd5b505050506040513d602081101561077357600080fd5b5051905090565b610782610676565b156107c0576040805162461bcd60e51b815260206004820152600960248201526811925390531256915160ba1b604482015290519081900360640190fd5b6107c93361042f565b610807576040805162461bcd60e51b815260206004820152600a60248201526927a7262cafa0a226a4a760b11b604482015290519081900360640190fd5b600155565b60606040518060600160405280602a815260200161082d602a913990509056fe537461726b576172655f46696e616c697a61626c6547707346616374416461707465725f323032325f31a26469706673582212209a96661eb2b54472a84741bf05048dce3084d7dff68cd202e7f1cec6be1f90b964736f6c634300060c00330058210336b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054894c4a12548fb18eaa48cf34f9cd874fc08b7fc30058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0545751a83170bea11fe7cda5d599b04153c021f21a0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60582006aef41a7100a913e3883a8d5a7c72f7daf44843f6f418990e2ac092e94706e8005821032fd29d543bde68199b73860719cb0bbe9db14e17c8a3ba89e80c294efbf4b6c041010219181505581d023c11f4afbcc3f408a44219170b376358490793559d1394b54c144dcd070119088c0219021005581e037c03313562272a3fc614d4503b6391203a0c36a6249a2a8273565d0f60040b05581e03561ef31a2d014f8cace1efaa7b05729ab09bd2e9b6cb54b545277f20e00c0347020ec7de54d2b80219256f03da5740bdaad0e08375e5165a1d98574376daf7ce227687a7d75a19c594b4f4f703069b1e1c115280581cb8104be0d40bd03132ed0909d0dd96924e4ddbf53bb866039728801d1777adaf66c006d35260e63cb2b33d242c9c7d795bf95b454dffee40037716834e18aa47a464bdb4f6996efd7047f25694c76783c0d0f80040b780823d0219ffff0362eef3cb0108178886e4749b0de713fd74da6b8b88c2c80de9c7ae7d865029e0038c835fc69c2390475173a3ef1f8e8f832202fc54161271c3edd38841f6a1c0c1033e9049ffbf6c6d85a5fef4565266d0004fd71590cefb5c3568c5145c69eba05703cd4dfab3b00df485ea0987b3fb749340cb58a916ddc0a11ec6ed0e422e2a955403df0b9f00138e389bfea3699e39881231b0c7f9cec691b94d4adf0d0fae950118037841727a94935c6ab4cd5245e85e6b66d5b268ad1ebe54ac747771c804623bc503560c52a89467e2f3a084bd91467f4f0577d34d46cfab73a56c4d94dc5f115723037c28e3683b1844acb9665dcdfe17953d88fe793f020f6eb547538d6802b815bb03bee2f81a3c3191664d557051eefa754255e4cac754d5a210395b318cd9dcd4200388a930505af67a45558f68730bde31543cd79f9b7513b04b9ccca537df34d0f203b33a49704ccea1845ead110f0ecee0330f6017978eba4f536aa4e12adf0146d00219ffff0320601e9fafb681ef896c43db8992c9350c67915ab0495120a5b248b51474857103eeb0ebe5f8be298deae15a23f50114b9955ccf737f6056a25eb5b167766a2e3d0360303ec3f7da547a47136e38697af7f2ad21650f7b59b0ca7eabe9f39fa46ef90323fb22f78b25b65bddae7d37dc8994f42f0aab3cc755a0dd813af198d6927b9103a87dc29799f4fcc1eafbadcb1b6bae688093f686a3e6de9af19285d98d3265f803ed0554d8937991f26e90afc17184900b4cf4f6ff6e399d7287b3d00d612693bf0368d68e22ad1285b6e424e610e6f18b10df824d747d9fb96a6f840bef0b03af9c03015a3daba443272da690fc14e411acefb2854e97b28f74c53224d0575182c8210219ffff03522154754e56a29e7525a047636012561c6f03c90b7b823f52002a8e447f6cc703f1455b4eb3d8d52f0e43420dfd1004b6e7727db18206c5f5d5ba4f1995be4e330389e39fc8053daa30e0a7141b92281911047e1277f1da794cc1e413fd3edfd0d303233df953b81c8b1a89b49a28fe2da975a124af84ea2638ea1a9636803074fdbe036c9cd8439de28c2f494cf9837ff344e618b82ef3da6f21e91fcbdf24b53d8d850320ee96d1fc39674bb39c074775d4ce5a0e4290994e69b395ea1ea36738793b1f0321905b226118e402a7ec7fd6cdff043dcdad727e9a6596b5d437993414706e20038f404ed6712ad7cf6e8e92c59c923bfa9a2361641f7fcf89ec412822cf1491f2035d7bae691fc65552aed72e3fd938eaa919f4a492d37191d1299b74ebf9fd2fe703b800855ed1b6d87b65b744d5029e5f25a457f38f68b6b232bb1b20e5ef81854c032627506951ba2ef57d012e9c88f9f4a7a902c84073372823c1a089b5851da99e0357245b86f74eb9b83f47804b2f6c5281e3b14118041f5b41d682b1c5636e07ad033bda5b95bf411e4a9e279a418c5fb934618126c8455428f993aef9c2948c38b003aa7d1d637f6bd1d350db5455935b84cd72e3e559fd6a2cb854b66dae8c02629e03f48eb0252b348dc386ef7b2cbda14231c3d54c406793767117cd4e5caf4efeab03e3c4f5476ca428ea4f2980e31e46222cfaacf8ff6e4afc926c89eb576f63208a03272e196dc111fabc412116b964f889659ea64b9baa58fe20e42886ed2f95c43a03a5f7066cd042b0f7795f45de166d8c80ad37e6b6580ab4c7c55abc8fdff7b09303570e39c78694d7f3775ada45239ade0b348f04af39add3446b8abe55503ad9d4032270e54202ad0abf3f65d79ee0901a02b1f137b2e75f47c2eea1599f879d5bb703b20ce5b510fe778a220175c3182c77b47a6eca843c3abf5eb845daaa37a7408a03cd888c52bbbbe8ecfef5447427d30280c671fabc80a1420deb2661524bc4a0e503664b9d352a23e3cd48335aae7bc4ef61a9902080503fc950dbeaf344ed6d3c1c03d94c0e2d198fe2950e74020c6f56aeb89b845a58e84a45de7557e08913fe131c0303a0b82dacb1bdfe8c22c407ded9abf73d98882dbfe692445f3a8eb2fac766e803be296e08b2dfe37ac604dfd2b8bc604aa55ad4533f6243e1bf6a3edef8f3a08f0307c1053c345a68d74ef940a7d73ac6fd5c979cbb9214526e1731dfe1bf6a9797031ec744f144680b1874b02d0c0210ac30a257aaf72862b51f6b6c95a07b5150be03b1200f5a490b7996a9745637590c70883735a70123eed29ede3725ba2e09f0430353daab6eb53c960b09c1d5aaaa0d92e3bdb45e25718604c298259801d7da40f003e9cd44434cfb0fad8a8ad0b4c2f2a0245451539b153939b81c69a88aa9ed887503fdab00a8849aa9519cdc40d8af61e007e10762b408da758e72f74438c4cf492103ea18202512fe6492ec152685a1bce319112b73846ce9d2ee7319021d24b85bfc0364a545623f859b37b8e285a44883233512e730edefccdf4830b6561188b3e73a03ca1201a66afbfc280b1887c65fb478dc931bedf3307f00fa60cf8b49550f34ed031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03e845ce1a2058422bbbf96c551f002ee2f2624868fab1b89943949b968007011bffffffffffffffff036ddb7f7a1902b101427a25b074d557389b26e839c891476817293f0cf1f7e67303100ff74a4ff20beb455c7e6a898bf234b8a8a52205347f730414f0b7292c740005581e03e0d1de415714af469eabed77f786d8510bbe64cc8190357fa244e485200c0247450f09e3aa4b500393f31856f7b30bed2fe9c00641dca63d93b160ecdddfbc10ec25abc3aea84aeb03c2f6c242b4d26fe67cd8dd40c1db368c35b71f1e1ff7176548c4db0fa46654a605581d02751d5e750fe1f1f6e9d4739d9349a5ab43f295198480dcee3fcd378c040205581d02393ea69edf8b0a0f34556f5f7c9c74ec0f3bc1a3fcd28e178d9679c708470a3c411599100005581d02e7b28eba8eba652a217741bc993b528314ffcbf853008280e5ed87ad040102190a4005581e03525721d1a0ab81c53c0754e0d4c37d2324859672bbb47ea315690b56a0040405581e034477f836c9f37ff82781142f30cf10ed6af98ba9ed6629311ee81a55200c0b46f14370298ad30347cf3fffbb83c8942f4bf010d9e1ed22d7a63a3a11c6915570e1e435441a021e021926fb033277203ed1854a92ac35cc7240ed6a31d3cd872fd26ec3679815efe472020c110392fd511bee4fc83429826b193bc21a465a3004a86bd601bb34cc9e0666e6eb47031753b626aab64abf5d1d1c6db2d4c771f7fc8b526bc4782ba21fc4d0ba19888903de99301b43805fd6e64cba56f1b7faf3f6b1eaf47fb2bcf1a06b719b7925de9603ad9a80f0bb5d08a0fbd66fae51e1da8cc721c7b7df24d737ad6de9d83a42a28f0219ffff03ea2ddfee621dd66751958c6db2deb99db8fb71f247401d3d8c4d921d7c1004d403b69fc8a12311ba434659bf30784ec14c6fac48adc67a785afa09f357b8fd582e03c2a1e82b258242f024ced4206fd26e500f7086b52837f7c3b734e9d02e25ba76036af9d37468688fedaf045ba9cbc9a0757d8f0a18d02bb1c2a8b6b33fdafdaa03038d12615d0ecaa849959dc77ae38aedf4312d7a21ea0cfc711770b21ca9649316033f9abdfcf567948e3cb7b178957113841e7e2988851581903df019bdd7900dd503e0abbba6f2e6c3232a708dde9cafabc1135accadf08c6dc7539f3f5647db924e03f8c1eb0be9b943e1cc355bf2e741fbd1e1c4b197b1bc94e0f780a4781dd6b247034a82859991533cbb09c49e460b3d8f29fc98a8c1080a0eaa71dd528637415d6c0219ffff037cf6c43a716ee7033371a536d1f4aa39cc497b6011c5e331c3841d52f8611f3703ab3731506ad1537026cd3d4f4fdc404d6c8f8257b2a05bdbf81e9e566b2e10e103a86fdc3595132e943ae45b4c47da0de85b8b13f4c6d0f3fcd569c7285a2c73d3032b4842135b7a4ed20a62f63157a3c5619fa6b53c7e0c00da1f910886c3f7338e033b72454b4e5e02fe990e9af898ec0d4ee7eb0b45498c10f4ec53f93c3a6e41bb03c40eafa20a1feebc1cfe586f522dc2788d99b4125fbba787297399ae5be1da7c0219ffff03dc73414d2ccc556b509a328426876d4120b4f7c07d5240da992acf99411f483f0376bf1811e4037232e0802b6c132a0389e139a6a012369fa0a95136b4a09ddb6a038b4f6420fb3a83f017dbc74211f8f97b94723daf0435dd80f3192d9f628cea3503063fddf85c88363e9a0386b3ec75506effa7d7c87feb2ed696ea513823218cf503c40ed78255170774abef723baed5bcca00ec8f82a4bdd1e16189b36ef524a1a00388404d14251b2c5a6f205bca82655e010f8863f576930c4f0a577cf48106745e031664d0ee6e0d269c23622982a2f93cc2f36e61b80b19c79f30e11659ab2696ef03064a2a9334f9f3f764a71c8e01cf56235e3fa7134aa22c5919170146bf0a26f903977607d8a533ad989d32c055450b46b786a164ba12069c2de8aac528b717451a03e6dd502ba4267a80cefb641f358efad0fd81f1cfabd203c2ef2de7681544954f03867f07048f82bb7c818f676a78400078cadfe89e48c070adf2983c29daf3aa45033161d3d7b6f06f0ab91d2ce1509b6e007d6c893f77a4c7a23480e0f5bc00185b031479b530a0d5dfd642c08d514d3c25b7b3e451c338a4db35c007eb55f8a7717503c6353a5cd7b44d446e8fb6e8a69d22cd15e7938e25a39b438dd86b3a783096090383bdc7cb3ae0e772c780d8b824034db35cb15d49f1f10c3666db69878e8f65d4037fa4d95d7daa1d36914e4ccb057ba4dbe23e6345ef4123549374960ae5276d1903363bf8e3491fbfaf4e8f254529d1c240a707ae531d90d8aabed248c6facb15e40392226a53ad8d2af8bfcaa09a332d9af36b75025e5af94509bd72e16854198316030f0143c1f80fd1a9a24e04d8d916b67f760f60605d5bf36ca11726fa563643e503c4a7d32645d118a090e23c301aab6daba296a0b71e8ef4df48233526f191c09703e1604a59538f1ffa35b496196bcb67c6c281743ac916fa4d7d919eb3bb45ef3703e7828421efd12a14923663ea33994989e1ff9b170303b458250f230e50d97ff7033eb465b69e1f21b079c79569cf928b947ed85da2386781113da80aa0b9540d1f03c2568637556472b470d403b43615ac0685b0312260eb9172d20038fa73afb34d033a94875b734249e85090a6bc7a906768ee597747d5df76586a7678e132610880037a02658fa6d246d597f444b41b363c3c55be3f8db301a20069e46d22325e6b6103dff560eb686153443315e80bb9a93b72084c42222dcce730e2a88003e45d11000386ae175ca78f0b0defd3eddf7c6193b15eef8b28aed8b29c952f428f13496bd903c6e80a1615de3ef5696a660858b889dabc6be277b8a9ced2e8c61d2979ae0ec8030b6e38a8609c1e542ae4f2a9c97919d1dc5788d5242638c7a382dc4d73ac09a403c3761a44631cee3b004ea6a95276e2fd7b9a81902282c8cb6b3471e7c4a92a2a03ab2ee02bd58d0225c82e278b885a550179f9069baea380ce308cc626f966589f031fb7d510024a3cafb8c2df33cac51ce2a6087d04d07db98f8f72659061a356090318011473ee156e680d60fe1898101552e894e5afc9f2ab9e82368b53fcab973a0396ed0ea1ce552b6dca738786fa8800de0a1f7701eca5cb2128e4caf4844002b80303acd14b86d5fbf45c8829b6062b4ec6fa9285480e5a853e037b7e7b71d8a3b605581e033482dc39e44f06a4d1ac8cf3927098564c99aa954e53d70e3999cdcaa00c01466fc0985550a0033a54e38db0fe24886ef5bc66b393ca5a6698e13ff5c118fe137a2eab064d92c605581e03c5d0e77af0c99fe3b902a0d20b11f01ed69766ef7c692e60d518959cf00c0147049ee6145be2fb05581e03334f1734890e30d1d565f04f3a64f6fb89e6c1d8d9c51d68a3467e03c00c01471baf6842b282fd05581e0367ef6f7902d9a0e4726a1eda9652f64f49a8950218d3ad3a24600e1310040103730af002d55a28d1eb908f6f9ba4fedbb212f1e698e2ee5576ce535697ad4b2e05581e03eebebbeb9eaae5d8118a7eab59770a13f055f74cac3c21a85cd581b9000c0946d0dfb713c2d005581e03ac4235de98810732a3ce3bdc58fbb0c7a7c1d5c5ca5547ebbbed176f200c0147029f3bfffbcc0005581e035146ebf943e012f70288112c67324b78460384e64eee11ddc560cdbea00c02470190c3a50dbf7805581e036f53bf8bb686c02a8ba119b9bd1a0c9b76967042d1ac12828284edaf100c0147020f81c5f8400005581e03426cec9d259af30077e858ffdf2f4917a31d1349ad31aed81b4d31cce0040102197be50219ffff0219ffff03fd9bf7be5287ac4eb6043b733b77ef4fe7644f4b3fa6416c3c2a672673def5d60358ab36148926c6a553a1e138f8357026d97f87b16fb2ca2258fc96729e1f4ee103809edca09638975c4bb00a928d1f5c58eb44cb65ff539993c7a223bf90527f9c031103e0c09c9bd5a1bfa945ee51ba0d294b55a596c6a2fd0c63a411c22203511903ab0253f08341b53da4e4aacc2d392f1eb31352ba39f551cc5bbae8713b7ecd4303bdc5c9963ad12f7e1b51a3d2022e3fabf6fbdd2701280f137ed624abdd0695f0033d14f404faaac08154bdc895a45b079bcedc376dcd8228cbcdafa30407ef509403521eeafcd0f03434943054575963edec1bf15e78e0eb9df47cdec4cd209131ba0323b83f5ccfb26e71d0957e1a07347d7d4e78f8a080f871d5122dcad1da0b1c5f03699273a2fb0bbef5f6a81e35018baf994c05c70551c6ecc49726bc6e5fba5a340389a94f93b652067446d482f3f55aa4ea80ffc4302d42cf402d60c966bf1c27680219ffff031879e7dc44d8df1029ce7bd7be10b1dc275fa305cd82012d34388c38a68afc730219ffff03ff116d5b85485360d60858ebe87d7dfe6abbe9ccd4b02d9f25b1ab2d427fee0203bd9c7225cfddbdb0e54cdc8ecc0d1a9328495d2e31e1031a0931243cab6c76a8031b2ec5edb6765da07b831f965420073888c7c207d7a86b95ec5693e496ca50750356b2dbb406cd85b867e058afc46123433facfa2fa9dbcab26222418ac45703eb037d1f2869455ff2f3c7d10a969b9672c3cc13c62a6cb2d9a143eff2b6bde98185032a057d90c6d7848c76b3bae2e2f84044f7e214cefddd21dab7ed72fb179f3c8a034affd00c1afdd8129dcf6ee9977cfd2492899a29928eeb0b78e0cb44a2f67f5d03ae702d54086d80cf6deb63930ad2ead20ad9d8983862855fb54e8772f1be48c503a76a9f0bb49a8f19c564dced496b74ed82842a9ee5b230d8b962deb3c01fe20503508ead125687ee9be1c44f58d11d56324e65d6c6a572c28181ee859195e72d9103459cf1209588b58194e48e5d0de76cdbb9258715adc9b3b6cef0cac28223f5bc0362d3fc6a0f350a84eac0aea90651d370457ad319a1c0306e4ae20b49c34bb69403c3db4b93f366a27eaa5dcb5e9e7167edf26842a7c70e3eab0565a35b484078eb037bb17406615bc21358f698f22a11d872ac465611ddd2ffd0677013678723101c032b99fc8dc6767f4355a5ed4de3a344faacf1dcb0e5ec360df61f973cfb7b8c5a03ee6c1515f6c13cb4853672c297dbc0726ea1a035fb1288254dab1a212c6262a90357b8e9426f14250c90d71f5af328540bfda18bd987a2dd9bda8f616b22858aef03a64b71d37a7239cddae6d4ff467657ad121d61309aa6ec2508b1c8398d05f5b403c554bca7fc2cbb99612db4fbaf9c5db12760c60a80e43fec7395e2f3d8fa237b031cda870ad84415883aae0fe87c89be0e0b4649b6c3ab102808e33ec19fb9d2e503f165849b89a685a1fe1b987ebed8b409eacf46785385f18126c48d3b032ec6670332b83bf9e28634d3f2aa1c6b75f912ce90d610a0b37fda8c466f8950aac04ee9032e58c7bf0ef35f684ac0de31034e1382c592333d2314d4f123839046ad4531e703506338941f6ee005c8af0efecbd46a18587a62bd1aead7ad187ead075f9e0a6503a09c590ade70ae584edc00c7ba60d3c23965e678b68d8b64c135856e7990d86b03f5afd5cc39039260519cb53648d7b41f78563affc86f9fc5bcfdc66c5247ccfd03ee1705b5f68ed5c438a70c50fe7d621888a53c5de0fcf3a432def98d65197538035a6de5987fd03b15cd46d9f9cc87333fed983f0d8a0e4c7682b7e9aa03319413035d2933cb14a1213ed085aa2bdc9d68079c510089d43994836838ebeb69e942f0037c15cab5460a7be4d511c847295f4c2a267a1cc1821fd21190b9f3b69934bd08032049b4578330b7a90aa03fce88a67e208745fe2edb810840aebb181d17a33316030fd663ba0a9418c487d1b147fb7af0cd35398b5f76d61a7a5d750881194b796b03e040776fb9be130e71d51916be5358c95bb266571d2536a494389d3d4faeaed5033a0dec24deba48da1a5a60a320f64b1bf90a01cbd31de48461daed4e40bb9c9d036d88b066609c6239f78d3a7fa53380ee88dd5339562371424d0e60b58d64fae3038467d8d7872dc67d88781cf118b4fb40c2f2fea4a0c3dd19be9c7cd008f9a203036c6e325f328184921d66af4f2f1a0f9813e5208e00b0e9cb8b87326225a8dd8003a3b7a7d8a108d185e595e54cdc30e08287882483fc44cfb34faeacea45c6f13f0396544d9e42dc9243a6895d1d3b94fdde2a2a9eb9acf916ea3067a80afb2f9c8103ad1ec9303eee79bd36df3c8b9b4cdc030d45adec29e418289a7951a7b6d51ac103ba77da8774bc0bda94d6858093bf8d76f8457819e036d5ca7b57dbc1d3bff4d50314f194871dad5e7f3e64cdb8304550d53e7399466e1bc92edd4a2fedc9e233080335d12c84d2ec779545044c450191d15d21e709078b205a71b0dc98e28279913e03c637db02b4a680c95fc4b2dfe50292dba2289702905f4f5d76247130e8871c4403a4abff24a3adb5d6aec3931dc570872727cb5dc2734cc257b9ed7367583f549603f29e38be2bb3a0ba4a1ddb8ce3b7ae4f66669de0f8b7bdc27be54636e282a0a8036f4317c9354d1b3765e1871fdc234c51b8aa950785f512404f76dc7b8da5a5f303fc6f265d48a6f4973d002cfd94ddfdbbf84980f625db1994c9879d6b1057569205581e03b5d730ada100dc7a599f15357a3b2f508dda691e56a55306e4866909000c0447010e73004c220005581e033165171d2cf2d68a4e93bc1edb61eb59da5eeb12e41966587fe8408ad0040105581d0249d54d1fce591225d8c6b0ca3f7eab43b53f8fe89e549b2e5daff1420c01470d5ebd1b79420005581d02d6a228fba7a974c8163c9b59c516f98967ee4e48f4819592133f64640403045910bd60806040526107a2565b6308c379a060e01b60005260206004526002602452806044525060646000fd5b80828111156100355750815b92915050565b80820181811015610035576100357f3130000000000000000000000000000000000000000000000000000000000000610009565b81810381811115610035576100357f3131000000000000000000000000000000000000000000000000000000000000610009565b8082028215610035578183820414610035576100357f3132000000000000000000000000000000000000000000000000000000000000610009565b60006b033b2e3c9fd0803ce80000006100f784846100a3565b049392505050565b6000670de0b6b3a76400006100f784846100a3565b600082610144576101447f3134000000000000000000000000000000000000000000000000000000000000610009565b826100f76002850461015e670de0b6b3a7640000866100a3565b61003b565b600082610193576101937f3133000000000000000000000000000000000000000000000000000000000000610009565b826100f76002850461015e6b033b2e3c9fd0803ce8000000866100a3565b60008282045b80156101cc57600191909101908390046101b7565b5092915050565b600081156102f35760026101e8600a846101b1565b04604a81111561021b5761021b7f3136000000000000000000000000000000000000000000000000000000000000610009565b80600202600a0a8304600a8110156102375781600a0a60020292505b600a81106102495781600a0a60060292505b505060005b600581101561026c576002828385040104915060018101905061024e565b508181820211156102b057634190ab00828283020411156102b0576102b07f3135000000000000000000000000000000000000000000000000000000000000610009565b8181820210156102f357634190ab00818202830411156102f3576102f37f3135000000000000000000000000000000000000000000000000000000000000610009565b919050565b6000603183111561032c5761032c7f3137000000000000000000000000000000000000000000000000000000000000610009565b61034161033c84600a0a846100a3565b6101d3565b9392505050565b60006100356012836102f8565b36600a026198cb015a83030148810285811115610395576103957f3333000000000000000000000000000000000000000000000000000000000000610009565b483a03919091029060ff908603830204808211156103d6576103d67f3334000000000000000000000000000000000000000000000000000000000000610009565b8190036103e38147610029565b90508481151916156103fb5760008060008084415af1505b505050505050565b7f70a082310000000000000000000000000000000000000000000000000000000060009081523060045260208160248180865af1610464576104647f3231000000000000000000000000000000000000000000000000000000000000610009565b60203d14610495576104957f3032000000000000000000000000000000000000000000000000000000000000610009565b505060005190565b63556d6e9f60e01b6000528160045282602452836044526000602060006064600080865af16104ef576104ef7f3431000000000000000000000000000000000000000000000000000000000000610009565b60203d14610520576105207f3032000000000000000000000000000000000000000000000000000000000000610009565b50506000519392505050565b635e0d443f60e01b6000528160045282602452836044526000602060006064600080865af16104ef576104ef7f3431000000000000000000000000000000000000000000000000000000000000610009565b63c661065760e01b600052816004526000602060006024600080865af16105c8576105c87f3430000000000000000000000000000000000000000000000000000000000000610009565b60203d146105f9576105f97f3032000000000000000000000000000000000000000000000000000000000000610009565b5050600051919050565b6000610144358083136001811461061f57801561065457610660565b61064d6101643561015e61063f61063a60a435878a03610114565b610348565b670de0b6b3a764000061003b565b9250610660565b670de0b6b3a764000092505b5050919050565b6000610144358060000383136001811461068657801561065457610660565b61069460c43560a4356100de565b6106ad6101643561015e61063f61063a85888b01610114565b935050610660565b600061014435808313600181146106d157801561065457610660565b61064d6101643561015e60026106f86106f161063a60a435898c03610114565b60036100a3565b04670de0b6b3a764000061003b565b6000610144358060000383136001811461072657801561065457610660565b61073460c43560a4356100de565b6106ad6101643561015e60026106f86106f161063a878a8d01610114565b63095ea7b360e01b6000528060045250816024526000806044600080855af161079e5761079e7f3230000000000000000000000000000000000000000000000000000000000000610009565b5050565b5a60003560e01c63a246398a811415610b90574261010435146107e8576107e87f3330000000000000000000000000000000000000000000000000000000000000610009565b6107f660243560043561057e565b61080460443560043561057e565b61080d82610403565b606435811015610830576000805260006020526000604052600060605260806000f35b600060643561084b61084360018561006f565b608435610029565b60005b6101243581101561096f576002610865838561003b565b046108788160443560243560043561049d565b6108828282610163565b60c435808210156108995783955050505050610967565b6108b56108af60e435662386f26fc10000610114565b8561003b565b91506108c98260443560243560043561049d565b6108e56108d6868561006f565b6108e0868461006f565b610163565b925050808210156108fc5783955050505050610967565b670de0b6b3a76400006024356101843514600181146109205780156109305761093c565b610929866106b5565b915061093c565b61093985610707565b91505b5061094781836100ff565b935050508181101561095e57829450505050610967565b50909450849350505b60010161084e565b505050606435811015610995576000805260006020526000604052600060605260806000f35b6109a160843582610029565b905060c43591506109b282826100de565b6000806109be86610403565b6109cb8589600435610752565b63394747c560e01b6000526024356004526044356024528460445283606452600060845260008060a46000806004355af1610a2957610a297f3432000000000000000000000000000000000000000000000000000000000000610009565b610a3b81610a3689610403565b61006f565b905083811015610a6e57610a6e7f3331000000000000000000000000000000000000000000000000000000000000610009565b670de0b6b3a7640000602435610184351460018114610a92578015610aa257610aae565b610a9b87610603565b9150610aae565b610aab83610667565b91505b50610ab981886100ff565b92505085821015610aed57610aed7f3436000000000000000000000000000000000000000000000000000000000000610009565b610b18610b02670de0b6b3a7640000876100a3565b610a36846108e0670de0b6b3a7640000866100a3565b925050610b316001610b2c60e435856100ff565b6100ff565b91506000821215610b6557610b657f3332000000000000000000000000000000000000000000000000000000000000610009565b610b7160c435856100de565b9650836000528160205286604052806060525050505050505060806000f35b63ec2caa3e811415610dee57426101043514610bcf57610bcf7f3330000000000000000000000000000000000000000000000000000000000000610009565b610bdd60243560043561057e565b610beb60443560043561057e565b610bf482610403565b606435811015610c17576000805260006020526000604052600060605260806000f35b6000606435610c2a61084360018561006f565b60005b61012435811015610d39576002610c44838561003b565b04610c578160443560243560043561052c565b610c618282610163565b60c43580821015610c785783955050505050610d31565b610c8e6108af60e435662386f26fc10000610114565b9150610ca28260443560243560043561052c565b610caf6108d6868561006f565b92505080821015610cc65783955050505050610d31565b670de0b6b3a7640000602435610184351460018114610cea578015610cfa57610d06565b610cf3866106b5565b9150610d06565b610d0385610707565b91505b50610d1181836100ff565b9350505081811015610d2857829450505050610d31565b50909450849350505b600101610c2d565b505050606435811015610d5f576000805260006020526000604052600060605260806000f35b610d6b60843582610029565b905060c4359150610d7c82826100de565b600080610d8886610403565b610d958589600435610752565b633df0212460e01b600052602435600452604435602452846044528360645260008060846000806004355af1610a2957610a297f3432000000000000000000000000000000000000000000000000000000000000610009565b635d022402811415610f97574260c43514610e2c57610e2c7f3330000000000000000000000000000000000000000000000000000000000000610009565b6101043560643560e435610e41604435610403565b610e5083602435600435610752565b63394747c560e01b60005260ff8460f01c1660045260ff8460e81c166024528260445281606452600060845260008060a46000806004355af1610eb657610eb67f3432000000000000000000000000000000000000000000000000000000000000610009565b610ec1604435610403565b610ecb828261006f565b91505081811015610eff57610eff7f3331000000000000000000000000000000000000000000000000000000000000610009565b610f2c610f14670de0b6b3a7640000856100a3565b610a366084356108e0670de0b6b3a7640000866100a3565b915050610f406001610b2c60a435846100ff565b90506000811215610f7457610f747f3332000000000000000000000000000000000000000000000000000000000000610009565b600183169260f81c610f8882858884610355565b50600091825260205260409150f35b63f0869c7181141561105a574260c43514610fd557610fd57f3330000000000000000000000000000000000000000000000000000000000000610009565b6101043560643560e435610fea604435610403565b610ff983602435600435610752565b633df0212460e01b60005260ff8460f01c1660045260ff8460e81c16602452826044528160645260008060846000806004355af1610eb657610eb67f3432000000000000000000000000000000000000000000000000000000000000610009565b50506110857f3031000000000000000000000000000000000000000000000000000000000000610009565b00fea26469706673582212204541c254fa2f8cb8c984e630759b2205620a95a26ecc623edc3ab932405ed9d664736f6c634300080900330605581d0231ed5354bca7dafd22bb3920fb638db5b2c47a16b756e4597be1f57907011910bd0219205005581e03819f723b621f7301550fa28fe1da6cd5e08d7415e5344f4998b38324100c024623a3d2f3cb1005581e031ffb817a23294eb0b5f07b94c676549f9757dcc1fb32d48ce9594c3eb008470a53e6ae5cb00005581e03c6859392c8687fa407cd602cc274a4fe07161b79495628f819ad1eee300c064717305c32197a0005581e03218e6f7f0ab1d5f281f1a1b7ab02ce88284b4bacc2888ff7ad8ccdd9e00c02470326d38e732e0005581e03e5d91374ac82f6d4ec18836b59f5a2c9a9c465e31b1d2619ed4ecfe2000c0247016e3cb0800a2803ff5d9e976f973651dd947a333068af6a08f28f3a73530db072e3642bb5c21f8c02193d4d03575ef466a3b73206b88c5fabcd75ce8af67e7c0d6ce156610b4cf35d1fdb7d7303c41bfa6375309b1d81df0639966773403b29c7d926822dbf2cc841cb6facd6a4037fbc1ce2f7641c7931b6f9225e4970c7fe6141d6c5209bb986765d4e41a5ec7a0219ffff0219ffff037e452042b72bc7486769d888ce81192c33c05ca1a32cf1357dc4fe80bc65cb350219ffff0386d02e3b78f0e216160e912870b15cf83ecff78be539e12b04d7988ea76c324a03b7c0707c78fea2b95a370b151feb942332dfdd033b781f9caa9c1c9a67c8065f03445d64da5c12e718b1cd7316cbd9de50d0e1a7f243452bb172e1be5940ee6b95033b6b8fb7c1d4564aad3d5d6fb4fcbb20b393b9d90f999aa623c65a225e98e70003e4292656a71e0bf7157c7c4ffc11d14211023e1ecc2bd7c40e2888a364bde82503c648f9fe9b6dcbbf07fe23590f636cb55a79c139b62a7515028ae042c715cbc9033fcea83472c6104c116725dd95806c1198e5c416ef7a7dca4ffaedc8ee43155203a0292de4eeb27379f94b7d333ebc64e58efd8ed1498827d928871c00eada993403319fe22064bc916e7fdc920a86e3ccad89ebc0cb4c5909261f8a84f343d869790339ac31cc90eece8d51c85550796832df377579427c63b597e258a975876172a103a1a0a94138f0e8ae18e5a4ed29505280325d5d3829df0ce7792c92356e03d9df03ab277468a52bf1a242fe5d3306b4829dfa7aceb4843d5d81976e2510421d9f3205581e03bc8b2678c5c5b1acc758bde22a962af6cc498e8ad97f1c6cea215c183004010311e5aeb9bafbe65144e77f4a322a3a8a046ec88462cb14af08ef9f3b408c467c05581e039f3f8d2d83052b8bc8cd2b387ed5de5c39614ce8459a64ee83b76b13c00c03470b1b2d4ee799a403688be245b8db401a8123115a1a6d30b917b0486c0975f608948d577dd3e02fe503f2e495f39fb61cb4ac57f15806ccea80aded5064a5c19ed22521172c0ce4bdf805581e03ff6816324551d7472d41525c03e50437fc86ba5a14a4a166ccf0c2a0900847038d7ea4c6800005581e039aa7cdcec3c32dad253aae867a1c77ec6ef02f7aae745297d480c754d00401037bee9f561bad994c60a23259be7830422e75d659226133493df6bce4816b0536045902a860806040523661001357610011610017565b005b6100115b61002761002261005e565b610096565b565b606061004e838360405180606001604052806027815260200161024c602791396100ba565b9392505050565b3b151590565b90565b60006100917f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156100b5573d6000f35b3d6000fd5b6060833b61011e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b03168560405161013991906101fc565b600060405180830381855af49150503d8060008114610174576040519150601f19603f3d011682016040523d82523d6000602084013e610179565b606091505b5091509150610189828286610193565b9695505050505050565b606083156101a257508161004e565b8251156101b25782518084602001fd5b8160405162461bcd60e51b81526004016101159190610218565b60005b838110156101e75781810151838201526020016101cf565b838111156101f6576000848401525b50505050565b6000825161020e8184602087016101cc565b9190910192915050565b60208152600082518060208401526102378160408501602087016101cc565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122041f64d2ff908c9983923017ed36c949dd92697a1f359295e2ea2f809da86127664736f6c6343000809003303b029ce8241fef08a5d7ab079b822939432b153cca7dcb02b5bc69c555fb12d1d0387c58b141796a47ef125026d534f246118d03883adc232c5f26523af4c72050a033b94a73bede325c521fe79afecb7a6464554f3734cf8e32233f62204b4e9324e03e59700ae44840801fa968296b3308dcbe4e1afd62287bfc9424f6deb4e76b5ba0321921b8176b17830dc586fd57a07d3d7c41eb888ba874c6f9df6fdb738238df0033a1e1436c707ee6a3bf17fa17b1d73c19680a202da0c42f5df3bddf8342d92cd0385d2dec8231b4ee90978b0ee7137523d947fb2aa2caeee23c66a5c168a5b76f503bcb07b4e32f52d6b1865f74afeef5468969085bb2ff710708878ef7dce6792d80328eff679a5cadee4d36b19931629dce869a53e57be5aa87868b99a96faf0429803147ac5d6f0407247f4e7c50b9d257ffc60d30f12b29f63b5667865d59d2f044d037c80864ae33b9af593cd3feada34397c9dac0d0e8f281fbb87c5217a5180dd8103207c3b5d89a27c1b8fdc3667c46ec53c93924ec48ac32926b6e7008dfac6f40003422081d1351045b65c2b30e6b8428186320dd38f1ceacc84b7f6d895c9fb6a5d00581f02c646d0d43b9da0db421eba0ab50636f5d1329d4af7559abc45659a5b5027410203a5ef5c053abd32d5233264a7a375037756023d104f9e1bf5b8fbfae78d9ec2a503ba6bb63279cd6984aebc8251f1c80af3fff08151451c6f548142532d6bb6146a0303e8d55cb5fc9bae711230bea01d3dbfe265b6f4a8739b0c9ae901113c2d896503004f09bca1ef76970591099d02edf812bb6cc2bc06e91271fcc1a5aa74013bad00581f0397a7159e7ee1c809780fb22d8a69074a7756f74a5733cc61fd9813659b90410200581f03785832615e83ce817287b4c3e7ea64efd37a30477877ae5e8d71da36fd00410200581f0363b0ff993f8a85eb7f1f65b631cd61920be3f0a0ac095e167f02ec3d3520450720a1427c00581f0323e0a9452639c903264b41af476496a8734e1ec754da492ad795c8b8fe0041020360f0333c622f0d223fd6fbf64c72a7130c76bec38d2ad7ef20e1a8e28a76d35802190e81034826174d66d7a104fc929d36b4ee2e5154221a72f6e12f03f47d50dc0439f1f2039057d3a5e3acae63df200575980f88f0155ccb0a53b510b51e33b924bf11c963033ea6c54e15645cf27bdaf57ab6cd0f420db5c5c5cd358138c87e09189b303c7f033985239902b0582524db7a43f217d5117a09ea7d4572a1974fb08b3f742465ec03e7aeb1fba67a8fc724c420eb6b31959427629cf79d7544b9031f3d78aebfcf9a035eaff60689a7df131be28d938f3a9488726d7de9fee507615bc9a64945bc0afa03871e35a1363a1f46a56c8e19bf6d840f0fc24a7eb889fcff7171037a83bba0b1039eed27574e282f19d18cfcec17002b9d931d55b4163ccf8b9edcf29f68c0a0f2030813a554e2f6875c1a1f977198e7b45b2796c2739f0011622477498f1768e5b50219ffff03e903562eceec3bd2d7ac84d124faaa7b0fcb54b05dbbd216fc5faf2013ff77bd03bd83e6326bc8d5d9a0cbe3bdaaa561f7c16529a5ae52807f36ab6453e81f847103318dc75d564d759ed582b56a6606bde0ac5bfc8bc965f1796eee644f1241782a038e61b5d996c7f9cf455b010895447d9686b898fc5402cff56a00336dfe49b64c038e830adf05dd5caa484911fbe882f2bec7804f73f3515c775bf75e66402bb60b035d713679838e7ff7a7c4d6ed69f6917b4f39a560ecdac1e743a98f041972225b03ba5e0bb9e8fea7b64f512fa6294d04486b5a75c30b342791186be359ceaa35df032fe2fbbc288b9ed5aef314f71cfd25abf38b3af9e78a9317be93023982b3e0bf0347990e3f3005732a4ca03b42e73141819fff8cfdf346192ddda5959e68eb20de0219ffff033ff3ab513f8db1d49b07140c06946a17812abee00f8c93fca1527c851aa1e62b03a1bcb3ecdfd9ad87f8b8365e6a4572cf564b066d92f4c14df6a63f02ef70303d038ff7060561315713b5315a800f3a3a9c7e99e0f13cbe578b4a515183ac9b2322034cbd2d7236b4b0ed920b35f0f07e5fdeb5b1f2fe4e5bfa47c62f958fe4e1fd51033b5d6498ef92680678f646e9ef9003f1f7211412c60738ac0d9120cd0cbe945603277a8b4b72c9a84bd6bfea4fbf6db4f5609efccbdca40f798d5f4d52d25e3c1a033099ac3590cbaa32865e483f0b1bc5c91fc2e27cc98926b59aecf9e7ba6cdfa703b4aefd1682116f0a54e76fb9e14bfb9bee89ce380ee1d03c7ccfa6d5d9a4842c0386ed08517991d87a098e96aa0591df9749cfc9a130c7dd292f18dca15e3a51ec0322e971292af4d4fe5e0baef9265955a987d809c1d041aa9e9c96b3cc5a3a17a103dcc089d3b385ed72b3f7e7592dcaa62eb475bb941cf6df44d76e694757db177303404ba5e8a1bde11eb6082870427ea4633647d0b39899a5520b2ebeac3ac60be20323e3b3a986b4d4ffdcfe080a39852a54786816a4926ba8688a5c1a08016236d503c2b66fd53a6975c5d48b0b334e9e76394d77575fa58aa25a11d68994efeffeaa0219ffff0300ee577e4d0ca51e237c9206bf79b89cf46f506531e1552c31a26bca72ddf4fd0321b1a9111dc408ab51dc6b512b79af308e2a43d0ae4e6ad7cf92a688978dac0c0361ebaa1206a3e6c61513778263b9f0e6c29d461d66c14eba6ced0cb2a20c7fbe036230e93027df5fd3eac24a90a5e910f3187ee1bba0cfb21c1d85b1436a19557b033313c61b6eae887fa35109044e25fd2411bb768af55da721b3df97aff4d068fa03c81dc92e9c88de7ab099824312e030a4f1c1c0011125cfab730be970993d452403256eeffaea870c99271406110855cec59175d3778f3737fcc750fff5d8894c1d033f553114ca4e071af17b2d2465889006ef394c8bc67b9ea0704fa360b9eefbab030addedc96bda640f89c325227c20cd1d24399e7fb7dc68a74fe103f929f2ebcc0313457c089142e8cbfe304c9ccb20aa756fd1406ba2b4894646885bc7b1c069a6037aeae98a26dd6bfd6647d8429840bd05aba51b878257a3b7f93f4ce6a3886a6f03a920c50e48807a1ef466856c55c5c4f001d9d3406cabab2e0643a18f25f71dec035c241d3a62fe9a740dfe429ba29156b178fab243ff3e573feec191e73c8a0c4f037e4ef46b2bcaacf6ba6fd883dd33073b7dcba6dbe8dbf59275f129c2e265e13f03127e27ac39f15ad74955294c1ec63f84fe0c8b2ea6322fd85558fb341a3b3beb03c0752053e15bc45d3d580792d7440de67a78872e4defe914e45be0096d87f74003d57ae8e20cd83e9031a173adcd673621c20ce71e20c190ffb138c7e7b2dd91d503f818158e16fa487d4a0438cff3f42a3e83c46789f33b07a3a5ea035bc2afe75603bdb28c10c1788cab0484e020ee11608ab1f8c8e3a1fb5dac32ce68b715d02fdf00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05408c21b200ed06d2e32cec91a770c3fca8ad5f87700581f033ac356c52966e82fb5c2d5d4c1866e88fd94a2a7452ce7a6f756e066c800410200581f036e3e5f57822fad14628486d76ae7e63f89c7f567beb51c7fa19234bc65a0410200581f0322efebb8e6b8b088a016391df1d826534b40a354734f11f0064a74bfa960410200581f0362c3d0009a655ee73c34b9428597c4fac056465423750ae4b70441d5ca40410202190c2503a3d0b5aefdb3365a57fb0573609630839b702a92c47acefbb1823422e648bb9c038851deabcdf527caf40f08c404c560d82c7d78b8748a4efae1eb0330acab7b2a035ddcd98c33adf1c49bd09bf23e9844c49e0eae529783fa14e6833ad1c64faa31035da893ae77dbb9b26b3de777d35fc9583335609dbc60e265ca8bb9865948ec1f0369d9b71cdcf7b324e453761f6acbffb778e363fa55357395ddb61f22fef2d594030b8f8b469c5a0c5fbcd27e2c8239d071a99a075fef93e4006c050e46c01e0fbc03fffae662dcccc4f88cef071499dca9f9990da65bbee6696b0b73649a9d2b5b1500581f0217b82af3d6904db98b4878abb23a8af3f0180e489b7cda489db7d443efe8410203d2654902bad8f557b3ca32088753abdb941fa2359dd30fedf80c285daae9a10a03bf88cb61921268a063a4ef523e21148a72950fd5d4237f43368bd6c2811d027403155879ec2d0d65927ee0fba2e7c2b48d1c1dd856a8e801a1e83675d2f3185e720312316ddedaa2402315f3fe985b1aa290191952fe580ee9bc1b9490b1f33851e10391dce5810779e90dfc05018b5ef0e48403962fdac3b3de5c94d4ba0a2500b8e40219ffff03ba8c2d682e3a052996316a602746ed40c22d1fcaa69ec152e80ea35e16232c8903fe967e7a5544acbbcc0521be66d7301f91856572bd6b3c1f2f6ff8ae953dc65a031407babedd91d3fcd6361f4cbfcf1f60726a9654e149a8d7db33366c0586ec58035508e8f2784893a6fc38a153df2b9e2e7e3b4f398536becf7745566750bf6be40219ffff03fcfe6fea82c0eadc54fccac2665543d214bf4ec6298b0e31cd7623e0c4e884020373ca3bb8fa4077607d46aa88a4889ce55dfcd6fe69bb954ba556423eabb59f7d038c4856f6e1dab766e8b8703ea56674ac66abdd2c7dfe98efc1224008fc47086903cf1703d792b3338b0878a6751d044743c813679d36141af060ea97eab1abc45f037b3fefd1f3a0f19d27a375a759a38ce608ec7a880d14606000bc165c1334bf0003eb2c183805046ab7a88615bebd416708ba18ee1f96765f962c947e3a176d19a203bcc6c0d7233d85cf975524dc9e7b836c6f34e86fed29a32c76edd08fce98dc2b03a729da5471b95c2f3f8ecc3ea34e109aa5ff4971751b46e8b29b1f924820338003f48b474741056c8202283292f891f8dae44796de03d62c133679d00f2db423f50305afacde4db29087158903d47d419425cf29d5d4d3eec473fa63a5ed26981ccb0219ffff03cb61c09135123246366f823f23c7e45074ae0bec99a312a8e5a4ef012a6e32e0039942390f15af73566d405ae009dbf8cd6e0ccd83aed13a76fe1d28ba81dfe83c03ce1baee5a7409d2fd961ca33f1624125397fbf98002631595c5670099416f95f0348f45a738852c4515c50e218f66ffb6ee4d1c0fde4c48a822b8cd45fc1600c2203a8b48c491782b2fcfca06947cdab829e444e4cb07e44de1f0d1e3c904ad87323030046da25f21b6380c88625fc2f96da5243997f8f0666de0a4e1f01d2f49f48bc03f8fff2defbe31516a1b6a62e5475e745183cd18da00d36b78a852ce2dfc84dfc0325ddd3f6e50b43dda1dd149965521f4adb62a2c81c0ce57ad63c8607b1ab6df803a33cfe656d9d68488e9a3236cd6b835d8939c87ca9e80c3b966a23f36cdc232d03a3defb2e98948f21109c3ee09f47acfa7ee5ddd9f9680947a57624a08c66f4830375b47b1e0249792306a66321a12f17239172957b7988112848414f279c13ce9a036554eb2aa62e2670c51c49e632e00c95d7f74f00a284a5a1ec5649a419fb6da903319b93524d0bcb94c67ab322c92fadac5fee0f138d94ef1bc3798b5784f831c603a3317af1cd6c36f761c5151580015bf766f37748989e54e96fb09bf057c7920b03780744ac860ef548f6601a2c5501e4a9156ee7ce10224712274f78b0da94681403e4a1d54a82acb7ee12772d855932b4f432d84b8081c9c9bcb84c006f62a64bb503aeb7a5b66d218b5eca8b27fd2fb25f106663c8bef3e1670db1476fbb6f42cfc003b534f00d58d05f81f29401a6cbf222ef6df089a395a74042472645ea6fa5cd7503948a405c76c729a23854f93d34a617f836ddedcca742b48b7cfe8bca02c1485a036a311cf73b58060fbd8fd81879396951c480fa06eed93a774223a1a6df8f95d90362577448f6ddce89dabd52a4808ba7b75d474ade222851f4038766ed9cf1810b03ed48cacbf2ce7fa599d94cb81af47899983d629d78726a6f6bd257749ed608c4031b6eeac4539c1ef56e68db3fed0f7c1573dbe3e93886c87e302fd4be2c1dded9038056a3b9da8defe9c8be305a0d3561bad8fe1067f1ba9812d914460062ad24a40339f216b6af4fb5c280a3b9716e7b967c8a7ad7b694efd2022742f49fd4655afe03b73536bbbff08141b88c1a232ae9f84fbc965caad8188fb656acbd25b34a25f303f8a7907077c46dae3ec7bcc5af0c0a3ac5e051d897967a3280c4b9e0821bd927039ae0bf02130f18fe4f2f466122a9647ad8466dff56d5c2dc77aeee27bf3517c503c1958ad56c2c6c3cb199aac0ad5442a4e307f02fc7ddf5fb287d3f692904b8a00398284e8760c214b08a3a44e6cf36a742712622a9cb2bb1fce60fbe202c18560e031c268c9dea2b6ea723363fc823cd071f427bdb05fb679d6714fec7c6a0856058038bb247e2b180e9bc815dd2ddcf8771326e6d01328fab35ca8fac59ef55ea043503f6f88ecf31038050a65f582c95759e425c5c657f5af660210b020aac6e767ded032b8e3203c1093ee61a5b4cdf359065971149096767b6fc0c0f433cac76112b640396a37d8f79d2b05ad33653f5be10731f35a33a79b27c72cd68814b6b251bbbd903197bcdd7ff1973247a72853c7641559ca0c4e5cda7c61b520e6a7b49e05bb0f2038e5f5c867c2b172292af1d8ed015e7afa6cabf2d9ed4fd06654dcea1f14012810347b501ca6a732bc65651fda8120f9c1624299d94270dc5837228b468110d7abd03ce2e201a5c26729d534a65f526e2bf1d87b677b2ac1ec840d97c5f1a17fe8bd400581f03214f06b1913847f4a7b44e8f3fee8bca6b765891e5aff14318a9386b987048283edea298a2000000581f0307a3178645091d8640302b7788f95e3262962d2006a1d5c23d7f4b1eda1044596438a500581f03c3d15c830e4522ff4b296ae1f711516d13c5b037eceaac63d0af393f43804809b6e64a8ec6000000581f03419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c70410100581f0394dbfbcccad39cd90253bc9a5236b725a683b7b35f0513ac2652c11742604829a2241af62c000000581f031ec240f370e91407cf50c2e1c0249b62d5b8edfcc31f217232245d473040410200581f03f2465a3dd331a48d8f8ca5eca0d7ec577f7f1886e7f72ca98a746283ad704833590a6584f2000002196199030141565e2489f82ade4e2b8b526dac256d85b0d14b85750884fc78974cf43c04032a03c485fefb96c1a6cc89123d68f864e61eb58e687efc017111e1fe816e41930378e0d466a75bf52d54bfe16c3805aad24ed206ffdd3a7368a8b49f660706b3be0369c2e4566f068295dd81d633ac5be896c362a6b1315912663a731eaa86fd849703d4c7786e2662e85a3765843422b6824cd033b08de71ce0f0a13de4a0b680674003f256607f581c16bd6e0b5e710c5b5a1f17e9fa849b92e9dbcdd41662e0a81de30219ffff0219ffff0219ffff03363ab43b1b9360cdfd59139240324b191706e655a925dacc6a34b3f656fa111803886d40721a0ca1d15f1fbc874bb554ec924f4becf3bc4e1500cf56e3999f9f2403e7901a148d5f56732c82cf9c7b331d64596d0c3c1117a14a14aa35f84956cbd903f96b11c9de300210dee82dffbe2cbcdff3120bc120e33d0b5ad66921d2ba6b8d038ee2c3fdf58259f31ab5f4845b85343b97ec93d9c77411abd5b4944dac4247d703cf8cf5a36fa90dd71e6db5fb76f5983f55d888d6eedbc0dab856436969c08d3303d284d1ee8c9c3d76a8e981a3c5595a757ecaa5541eaa11110fd979b4ef235d650357d8dfe51025e17051571b3d94bb22b99ea2472061531e8712dfa61fe0af4f3203621b1a0f1720ba2c14e38331e5b46c1dc2e7ff285b24004940f645d16eab74ab034af541cca36b3bd901c24e658ad9c4f97c8e7e8d12885ebd14e77b8bb34978fc03e25215448d3f476747de86bb8929d4e1b79e6ecb78ef97fbe268578577e1b673034175c90db426ce147213c3c5ab9758c5f2d16839eec748e1562728a3d75d820e03f726558a65ba6522be8d297924e46b824923bd9aafece247cd53587e3ffbecf50324faad40a7115002bcb989af2cfdc5db527331279c98602c8671f2b083a8749903fd1264f7913a934a9f6e1009bfddd3b71ccaf74fca1681296cb8e22308371acf0323073e9070c7dab8f42ae8d16a890814cc74ff0fbf5d7609b7563bbb9273262403e9162537c36a5b68f86b969f0d6e35bd4d6bad9f04d05118595c4a05d9cf2c7903b879bb7d65a578a468e6c661384ff2a5641490010eff814000e6d72a28f4aa30032b9ea8acbe131ef93bf7430539858525ad09f1dcdebc3610e3bd66cc9f9eaafd03dcf676ea1dc30b76627a49262dc83347a0d2e862b883a590987cb07950c629a4039b44a2702837b8ddf6b92767e677eeb4b5fa839dc90ca2670541aedf0e2fb04e036d4777d510fa235a6a6120d0dc4d904dd1bcc748555b416d057fb494e9530d6703e3ca33e24ca83898db0cb7132538809d8c0321e1dc39ece4e85b642d3de8eb1f03c6d6f9078c6c4db898af032d02b492da88ffd4f13091e8591f45b6956b9a8d46033dad75a46d14acc12bc81596d2e6751bcdf4293370a0b95bb1fb97aba72359550384736ca37795b927f958076363c002e64e3e1ef1c856ba9c326e5caf6bb23f76030eb877c210abd7863f700d5a677a45143d73d2fa883b4ad8ab0f71d7b2bbef9403da7df7eb522e01b00284a7598048c9b122a51bf0fbef1775c989a0c2aec3cab503a62b154896be065004bcf09f97ff8ae33b4c4639aaa5f50a4315771947a70c0900581f03a88ac9b1c9d884d35b01299abe4bb7fa09fd2731006a27e8a378c7679170440db5858000581f038d75bbe88f2f73a9bb2288b81ad46ff6c58ebb4498ed3ad8592825d38fe0479fdf42f6e4800000581f0363fb40bd53e9ce93c66f1f3dbac0009f32a4f1c354fce106797dd63c5b6045047cb4c87f00581f03d14cdc455ea4046acd6f195fe08bb855c1ecd3f5d4c7845bb8e852b6cc70581b15c6f800000e10c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218cc037d34df2577731eb3538c097a62c47e706884e964f49c3154569fb315ca793a4f03dc953a6434a7244ec60a2b16e3077d2dbb0544b79cb90c66d2b4514b48f8c64703e8e1006a1a4ec15c0445e995eb96ed338760213defc91ab3aaa16e0bd566a6930330b47feb980010722cbc5cf9d9a112fa4f789f5c5e8c5adb3494ba87aa1ca17d0361ea143845a7d3ffa0b143466915308e4fa6c6c89f14904598c2e0e42507ebe503320717307b724f4bf5eddad05002faff3271aca63c6cd3e4b3ca05a603f4a23703e637a18ab9a009933e3736e81c65a5d1148147ad58baa089e1187d0563d407ea0343ef087326ac4aaf205619bc158d024a02ad4f9918aaa635b1e5d12e0d63935b03e1b93bc796e329b72b724378dc1f6c3c6ef6f8002e758d94d242b834ff970e6b0219ffff0334a441e99605e253a0c239235a132c6acdf53ad9c056f03f1eba9c29e6923b770324b1c9b48bc2ff9f6b1f1e935377c7567a10968b71eab4b74acac3e9776c36480219ffff03b42152ab8dd7ba1a346b6591e86a94d33d1ea530f157df7fc39956eb3ba9af9303b6a063a18ebc9f8374150668dacc9d0b9fe48fc6bf27ea0057cd41a735d2f77103afd47422e6a4b746b94fb552e6773f2611dbacc5440a41efc548057382e2878203e963504c95e2510b130105f53df80b9c2a15120b200c07d4075e853f51b84dee03e68986cebb424ba2353655dc254eec8e01308a29094140f773d865e0086468680397f591625bf1d372d2ee4366ce4af5dc0512c67bbae98dcc59e73cb6fe4679db0339de4bb8c752f3ff0f3b229e2e4b0bd559b210e769384afe74c2017e1ede16cf036b8511abe55316647a5694d1225b4a0abd5dd6d933cbcd1b0fa0dba05e37d21e0345afce25a8f3f714aab667cd32945d33fea159088fbc732285bd51d61a53cb77035d250a020cc19cbd645812fe3d47c7673e6724be229fe5b0e3d5c18d4316e0160219ffff039544a595d64539e5bed05345d617bb380e572faf6b607058c23478550542917703799937ab4325a8b5926324e31e99112c076b5a876b823525877f3502fd4caf1c036168e7679f9ac77e6c346eb24f3e247a807ff3f9ed6c8d95ac368efb7438010103783661dfa890a85047d06bf73c7e599c99eb57d051a42e2f21a8502c407de51003b905b2a44d8bd981f9d486df0ab8beea94540d4bb0e5503efcd4f24c8d2c912403fcc1e75774c1896697e8b03464e773e28c96bab9b77b283011ffadd5abd9a9a2035a7af74904b5bd4aa1f7fac51eebe06d14843e97b7f973ddd22902b7bdd758410323fcd547f87db435827764e8ddf2ac802a0736f7a7f4e555a87305136ecd6f420364b6d73bafe7e0f9e368f5c234e2ac2b2c95439f477ac27635b5adde7922afc5036bf02c33c45c2f54e409f0efd975c9911f9abec1f31f0809d30e7a6e42695eb403bb42d8730db1235b97b740d7a96bdc4f024755be64ba505813746c03db9a44f9034acd066b96a96e6af646985ae6ffe6f7f9c081f5e2d5d9a0441cda63d396c20c03a2ecf3f6d201db3780600339b5ab8b7e3b8f1aaf8ce840d10a01bd6ff3562e2b03ae3c73553e8c9d7fe2ccb1dfb419513d720880f877009de105e43b2d60258c4603fab45068e8a46c95cac1f73aa0baecc485d48b828601b9830f9e7903f8eef733037f9d2629f508705896170692d685dc831f0b90e391a4a6d0651c2b1908d6730903a3721831dc0cb6ab971b4202255428921a206468ed55f4e696cdd19447a244e40314ddc21edc6d748744fbcdd954338a977461e9d4aa68e4279819a76cd8616ee203ed75d75be3e8082995efb8ad70965c3e728d17889105a2589ec152178b7be58403c27a980f8b1fd01136759ac0186b37013a28e19218c44504b18582f29ce9e5bc03fed3031195d18a18f9c8a4a795d5248755d801327c82eeecedefa8226cb028c400581f03e30d8d02f5ab007f2dc2273ba2e9a55a2f3b9c67c258df87eb6c18d7a9b04801633c600f17600000581f03f07b49f50ead9227555ca1e9dc1734ce95a26c7836672194aee6f8de30c0410200581f03735d8e16c3ccff8ab4b98e7d6b505596ed5dc160b11dd2222b7a2a7905b0410200581e0291b6247e0a15902499e3089736b7a595a61fc90a5866dab11753dde8fa410100581e024409516a3f9196d06515df17c0cf61b2f14e3ec4e5846d7f909d907618410202186000581f03e7c0531d47ccdaeb97fdc3086365a7c5782195c4fbf1934f11d70be2aa70410202192906037d9c256eae6d2bfb2d21257cf7c3682463e1d581fdab600245564cf96e6a634e03eccd0530c6938d58b1485b8e885299e47a2404f10372ff1136f949d7e040e0d403bb9b180732aef6bf268d8306ed44082878c167d6d9b0b6bb014ff6326c51816503f60d93e68e2bd495a7aa112177d26ba46784f5c9e2a1ad7a39b7a0e841ac23b5034f414ca125e51164198a5cc64e423d285f76456d5b30fc488eb0c90d55a9b3f80219ffff0343845a1fbd000617394020944b8bf15d4a9216bfdd0df64edd118a837eae81170381122f62276c667b684c099bd079a83dbf1399fa6ba13ab69d869ef42c52e43b032cb43e24512611342b35acc5c9fd5453e95b90870020faa836807f0d9171eaba0323085bbdf065e96999d8a616684d8d448c903e12e3d4e21df7c3f37c315894730346223a13f0e2178fe5ce8e9d2a963e5886c80466bfc49c20bdb1237c0c1158ce034461038f2a3c07dbede4084d3c40f9a4bce1a979f1d164ead1e044e78bcc2c1903f4fb3101b65fba2004115df160f4d2a1a40b8807a5a4ecfa52e043b46803c8c503898ed0c336c8357679fcaf1ddfa484458443a0ac1a20fe6f63d4f32cd138703f0376922213220532bfbf97dd60b218e113904a2dcac77b794aaef66136eb1ae67903d9fab8993068553f59a0489ea87541aacc3dd052a4ff0a26a688a7e2433f684503fe3d013e2f502f956f986d1bef6835acfa42a38b2975f42a42a93e128a5400fd0219ffff03de057a9be259ab337fc0cfbeeddbabfcf9e777439274b6b2ec4677a7ce6a02d5036f9583cd16c379297912aa65f1d28237c2a08c2b13b92df0f25c54307d137099036bcb337ae4173f65c964cd23b17bf6ddf3055f1441b5ff517f43d366641255e703ec699fdd5b37b7eedbe58e3a4f68c9bbdf1aedc2d26cdd8892af2134c38aa02f03a01c01bab4e1fc568ef67052411dd12696227fe6d1e203f7f91d8bb4bd420c0c03778a772373913bee7230766ad32982b9780278edf7bfb944af3ab78638ca495f03b1ba0695e99e6cf69d7e77095488b605aed2fd9df49de63a657ed5a5aa7d4cf0038cb60e697f596b0b5787c6c96729f759067b94eedf87f5eb839daf311f8585f70219ffff0219ffff05581e03fabc320c46c57c0240c57bc532f279a59736fbbdf75503fb13d126a2a00f0145174876e8001902a803ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e035a25da755d3ff807b0df95981af082e88cba353bfe05b62e120898e53007011bffffffffffffffff036631939a405dfe9ce6eced874ca940ace214a91d2498dfd81e4dbf08d72fcfdb0219e7ba03979a1970ffb3491fe3e3a1fdc0606cc6de1b15b2a3b739379fd8b2fd56d5825d032016e3b25a01bc1ade6cb3e5b0f12216db7ff1be6ebe258de951e399822d34da03584542ae89c6041a8f21fca40eb6f4b8e9322a5c39c2c8d7fae0db193e9768ed03727f426b10af9ff9b07ac9d26df97c4dc62c18b7727af1bf81f4bbe233ee753c03ecb218b276ded1b12ec684d398c7cf1c5b5064a9c84b10cf3cddb97b3894b3df030986631ecdc2c267d992d7783c3e7a7d0790668b3075101f5318d4226dd4e19103745c98fc0f1335fd7f864513f0038585d591e95c69076d42a4eb766e1556504b03b16e22fe61568f52a3e4336fefd35dedaa35921ffb87c058da06070ccf833b8e036e6a364753b4e5dead7b3c26cc1c296e822a0cbe7088b9fd942d49f55fffd8530219ffff0371db8f448efc86a5107677ca7c3b3a9e4c660b2457e6edc3d7f580ddc73ed4820376bcb1259b0c23f7d3d8a13e600669e858de2bee73ff369858f356c28c9b85a6035c3c40c676c12ac447805773e735f7eaf418585028d3bd8fecc4f253e5a6e77403dc455324cdac4063f163ae0e26938fdeb5a82f692c523179e7c65caecc57270e035b6732f412e8f9d39ddc59b1025a0a0eaff77dcb00f13479493c0b8c7c1715380317b6be34ac8385e0afdcd82e9216f6cd40bef76eda46c63203517fb7f46e8d760318f6b869d95309a9a0222abc5eb5c3e4de7d141fb49994e377610e7b3f039da5035aa2bebdbd90b829b55d513bb8ed1a6b765ef47ec7d4988fd18e2ca4e1cd953003b501e48e84fc955057d8a9d0a3b5daf30c2508f061437fdfb60ac02dab64a8630219ffff03ba26054674cf370d3f4cad2c0ceffd8925be009e5150bea77667f57d80b0ebf0037f874a39023b3748a88aae5ed785f554934dfa5ce314594cf9b305f1bcae340f0318b6d55f8c9dc9113069c29a1f1883194aaf52c6f3353d637f17683f19dfb95b0360f8331ba596aadc865cab2e5ebcacf7d8ba24fe3ddf2b449ad32f83797fe0fe03284b301029464a14baedba3d890c33bb1936019695c8d9978e0e7e5ce8e639c403cad03d3b4941ecc2f35238a2dd96588bcaaa22821d82b5d641660c4e09911dd30381ef8363ebb2078f38a36f9b7996d02b095a73478c2ce774b48f7a4f4eb013a103407043e64603025433ba7c3cca358b93bc560c803d5e3f4b8af6b5f717bfd6e803807cd0714774769d1d4fbbd2e7b7d54f726f28af20dfca8c9ecc4aa0155d95520367cf0bae6d915d007e16985ec8a5c1856930d0bca16b3462391a5ccf2ab0eb9f0366ed19c6136b7558b7fd56378da82c1f031159abaa0ec5248b88ff10037f77960310fa53dd51d1c55183c415a562eeb02c405359ad6a721231f38742b4116262660394ea70256bb1a24085691bceeb1dbb0e3edbbe790b09b16ddc959d05e7d6f21c039c74723480100fd828d35a07c385008b915f463d980cfc32dbbd5a93cb86f9c70348431398450c6936fd40ef849858d00765a3d7c5b3ecfecb6ea8f4d40a75f57c0219ffff03633f486667fd8f3e74defc374a3dab78251c35b43d5f1c1d02d940a95d860cca037c66894625329da465da35e6d7bc559355a4230e44ed324bcacf13f9df2be1d8032ac8f968863b378a54e4f7f7db29dc40aa7644484df7d15340049e56af5bd2bd031c5bc247a42de80a506013d9e435eaa2b4ff5a4c075c31f016a4a34ed9cfac8c033702245bd68d69c1e8a0798edc477d43dd97b0de2a2044d9e09e825fb4b3cf8303045c74941cc9e7893c9bcc30a41e42bfce7dc1e3f69fd83579767933049c0c3003cb0325790cef78f0ee7ecda1413e118214269dbb963875b13eba7fc45a2429f40377bb7236cc31669fa90e6ba4642e39fcd68b8f3fd1f9d097c7eb6e592a013ef8034bda759c8720bd9a19cd6a9d1f02e5662126fc98896ea35c7d8ab135e23f441803c3d8ca0910968f84076a17db7a7e0483799a5c100fd94cf38321365ce07957cd03a297d9e5f50dd78897944d179e2b77df0f491178ed08a209a6f7220e9cfd86a7037c189053cb9a40124096cf6084b8680238449cb3768141824de58ceecf24b65e0303629b06581d71e49be4fb07e242263df6dcdfb7d0b178a2001cc4f2df460aa9038f5f3fd384702a46537f0d92763d1f5187c93544042d07d0eddb8a7f65eda66803aec2a7d49677fe3471ed82bd0962b8ed3b39776077427141adfc69da569a5d6b039b828298307e42d27596381a2e88fa2be967c1ad5aa705c1c2d728405cddae7c032e2ea7a3d97de1ee69f8c9017c347e5f585e5ee2b5dae9592b48a29cef845e1c037dd13dbd11271aa12b65d7796d6de1145dd5ce69c6d18d2998ca06f26a1b83a703223f2210677be6d8eefa21d4dbc263e414673ad9049bcdf343f0f36452ed055f03907b6ad7f8187753651a4948d14e414f27eee5f67cd587f301ce894a61c7531c036733921027aceef03092ef9317512020a137b855439835007df937b2ac66772c0393d76e2f7da33bf3b721749ad164de526952c6946aa7f885c4c6e8de5c9da08c0313aca16210d27bb6140d64acd10e167ea834ebf594bb84fe75d894fe30ec12ab0387736e4b96d24c3d6adcd5fca6bc02afc022840ef2c5684f16b14f639c931cf4034f8cd2209bc214b923114048d7c95190f2564136b5358726c4f93eabed58d6e603559f3f1c39a57f3584d212d4461422af40e4a21fe48540ec5d4f4bcc3a26cdb203e940c76ad57bd6f783c0a85acc0bf24288863c304ec8276a2ee5c532083be5c3039f4de9a4f2b8b8482208cccb38d1e7ae8a03dc8b616b8b0df511611666845d4303a0a77120a2029e36e185df7f74d36e5ec4da28ce0b59039e040e38ef2abe98940390961add70ef30c7cc932fde0484bea59d7614340c2c2222021fe8c9f7a2f08103eb0e6aaa0f5b54a0486385c105a4ef79aaa93e0092a75521a243db2b6c8639c803be682404552ccdd76a684ad3997d12865c204b0e6d2e165238915b6b2a04c1c1038599ad3002ec7bbcd2374f45f70b0a4071e28ba1cb0c6b5981e907ef938a3a0e03d8b96552cb398e2d5a407b71eb7277735e92c29ae5e914768fec33c863aee426036340044a5187aa9087ef36677e2d9b8713d9303d6d82e59b043618579299b146037092cca49362531322a6a9009dee08c75d55bcb923a3a99055b2b318dd80588003b3a22d55fe95e882328dd3838568137818549f259028e8a4d7c0721b1706990703b127a1f8eb5efde652d8f833af5200c030f5fe00edde7c4e16a8a394beaf530803fd8f0275cc54c832d4128ef1db9acdad15cc2d074813b13eb689713a868e83f603bf8395db0927b1ccb83ad9efa4f010de8cd46e2b75b250b86adfbfcbf616fe7b035b149473c42635c212d7147354e8c710d9cb01727f6dc91e877a1f37386de09403015558eb130bb420bc922ae32089a265f61847b28de305db8fa1749cd0e4550f03028ed7fc5c013851c2d0b7c5634c0c6472d169d8be7c94d53e1a359bb02613de03f8f5ecf4c4451640fd3f18896df9a64428635fe55ea8e0de3bf41b1005bdf2f003c6e19000fd6291ef6198ca2cc5e80f273d97eb305a982e541c8f8e14594ad0f803a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03313f7a94afd5c5ef5ca3a057f2ae580c15021a69a224cdfd66c25cf8786cca4205581e036b0c1fcd7dbc2b3a21d400117f0e68bf2aa1eacfb274683e8e8a0eb9b007011bffffffffffffffff03aea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e503b7105b389f3a3ef9320a88bbe9b2a09a244801d52ba055f7bbd4a974f740b24005581e039234ffdb8db9b2d0f8170b2394f3ef025bcabf3fbdd2b19d4d0a168b9007011bffffffffffffffff05581e03bcc72d3a88926823ba67744655221eeac2e172d54fb139e83ba76cd6400c183a48061655d7b1fcb0a405581e033138bcd11db610e4cfa753df77dc1a9029359bed658c3e30021c952450040305581e039bf235aeefd9ec2a3e10487852088e2ce0cc7e73de5a09ce9420d6c5d00401021933580219ffff0219ffff03897ab1e0c87674eaccaeb2bb96d0b11292d01daa38da695a4cecbbedddad506a03eea954195a37f4ee253ed09ac7fc1869317c297fb0bafae5eed2dea5374eab6d0362a5ff4d0f5a0069694546b8af15b77b315a4d4c67c621cad8670a716870954b030106325e8776c2e69da5af7d6bacb7c3c1a193969cd1626f1e2635d0a819e4a303e139b60dd5231e257dfcb6d017625761c5b022e618bb70f343ad8a8d34596c5d0219ffff03d2a7f948eeb9a34f30270dbfb1037078bc9e4de8cd5244361c86d9366852351903aa92519d32ef9e516b0687023a5d2f2e51b6ab9e54546948cd84ca989912ff3203a54ff766f951daf401623c7991a384f79338de3b4c75ec7289c867b5d4f3e68303c7e1215fd24cc438d0931661a5afea08d23a8c56072cf7cf0d5ba0e3e4b024910219ffff032ddb894ae82709b740ed18acb47fb0bd5a9f71a614239b045207c182fd330ee303f4eb41bfe26e5e82a81db77bbba486092607efafd4b65f85d07a0d116e68243203fcd3bee3acb17fb4d1a9e6541d9ca44f04816065044317bfd1eeb5aad3bd0dbd0385b184be7e913791b3c8d7a69f48198c310e303c340ebaa2af7b81b3444caeba03b67a1f517daa857d6045645466f740a3e0e286616b4c5549d25581bce5a5b9a203ea776acf5684e1c56dc1a24494998f54cc0e2015c7d807afc718804ed4e4d193034b67f691519904bd2397b3f6c9301ec0b9be7e83be3f702da436d502169f6e7803c72a023f645649e849c9c1ff08214bc5e1e2aa503a7df7acc778956809ae75af0377750e8e48d0a12d72717cbb6eb2c1e22521b5f4582c2c8e762adf8f1c77134d03953470df125451f558be263c1ab0c31db044f85555a3c920552d66a3f02d28a203cb63b43ef58cdc754888e1d39fca4672dcddf7925e545acf9e0f1fd504ee926f0335c31a9effc808162a704b5275e63f2351b1bfb73dcf77aeeb2229e1860a144603cb14c22b889a9911bfbc4b28bfb11998619c339c55477a9291c5036e02aa1af203db1ac00149e843671d32f741a372e04af95279a2a6410f0a9cbc79a5cb066f8403e946be77d79a2e765c146f1ab68ee09a511f3f943da95ff5c6065d8e5242179e032e54092152fa1cd9bac1042540743672cc34a6243d6971fcaaf580c5762ded3403d47482165364be4f2670c08eb281ff95f8bb4e50f53f842060e10afed0355478038102a8ca2416bcbcb5714151825b8eff4afb6a7cce84c379828768a4c92faf0503bd26f2a01b7f333a5d497b593f13601c83c35eb4c9e392d508bb281653f4b83c03a53c18af8250947eab4346d8e545f1f2dff3722a55d24119aa4e184d782de16603f6779ae17c7d7b6d0922ecaf802e02d0fb5a3a77df0c5f57ffa435f748b1528b038ab69cf582cd55dc2f774eb94a74ec8cf7601ae60a0002e47655aa73bc8ea37905581e039d845a7a1e9dff469d57889ca2da0f0cd327c2e813dfdff9b33d3f4b700c024504a817c80005581e038748081d48388b9379dff71bc41214c4f52db08e6e3ffca4b5600128600c0147455c20471a778805581e03c9ff6c2c7a5bd5b21ec425d467a5a879825f0497fca82c084ba342ffe00c0346a9d48d61a6a005581e03d3641338599d5cd1d81b60b25bb963329e4011224745a83a920f4afbf0040303443174488ef25fc8c4a8efee3e62d68c5802cafa118487fb5065b4033c502c1305581e0310e2687f8f272c02a8128a5b7cadbead5efbc4631d113f3a15f463979004183605581e031b98ce08f8df204726199692d4b4545c75a53f2ab6cdac481846829c500c06461ca79dbb9ef803ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0391d3979f303127d7f6a4736012d5039bb010c7848f99ac005384b56f6007011bffffffffffffffff05581e037571f1e3a540a4493b712dd61abba4f02004e1dd8386467686a1db40700c1a003108f749069e1b30da62a2548303ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03ef90c4a26ab079db16e3685fa597738296a42636e4d987df1855f4f33007011bffffffffffffffff03273930e87e8d08215f18ecfd6799b44c1fcb47ab90e806bfd5156a3accca2fb103cfc36a5981a49f7e8a74293e4057336ecd26dfe8755b327e21d135f4ad32737f05581e0349b2c4f77de666f5365444dab3cec6c72e6be49c371a72cefd5c2ca3200c014701d075e812ae000219dcff03571bc8c47f6e4b5b0244d3b473dc5fe70d0b1ea7732ddc9f35af73fae8e9522103f81b97f2e7661d5c3f4e6da40d9890f119da6a13878800d4411e6f23ba013e97034511754b6b4f63d7bac1a7ea4d67469bedb02b54d3cfa36b0b72222a4dae5672039458370c8bffd0463d485c7e50ae2599b67776a3a598f36c577b49c70b3adde903ad6cbb9c77c341eac2bd96df6442a644f0da7939f713d1129ba275f216ff340003388385f557be77063c378ebb86404cc374fd6d468eefe70e3d78f1f1e83921670219ffff03030f4ecaa18c0953b386d277aa03f3687bdd8ecb2a223537d3be13ec7da695170396786b079ae568c128e02b1a3f88dbaccacd171c57d150a4d39ee1bf5d2bde5a035478e291e85fd2f235d32bf07feffb7bafed6d5ee999ce76a95abc73a7b7b28203ac5cb8c81ccc1703c8f9b0bfd717761201668082e03ae1ce3709e22d2046ee0303731f97a6184653151e82b89d3317e45f7d23a15822a2662ecd309c94275aa0b203798769ba2410185bcdbfcb375616e4131031ccc1360934149dc931fe3e42c83e031a480b89230d66d27bb15bb12a385420f6bdeb03c41bf95b472503343f5b2f6403c4b0191b0642664f2726e2f58da55e0dff3ba07211cdda1787e3556a7ef5e10a038ea5687e1b0a71069b860c7309108c7dba6d6a19dd195a51a9cf606023ce7ed703684450dc6a8fc1bb6f33f40d700182489a501408dd203e5958d8fe905e0392f803fec03cef75ccd252d35d5e7bf5c2ec71672ee718a0a49c14d36b1fb9e5b60cdd03396704631b4e33443ab21e2ef192636ce781f0bb7804d5229e27cf2adc23a91403b1c5d7330aa7e09e585b3ad6c1db188e159066c3639aafe0540669ac6835bbbe0219ffff032e17e554fc78977bdf6a41e4450cc0448e377d427d45e6bec7d9eacbe1fadbd903f6bf63d1ea4ac6359e85627eff29579e2bff61266b2dcfdb6799f444a52e270e0334cff08535e6cb659f76c01aef49927fc847a3a86b6c47c377c0337f0585f4b8038f1735d67793e794e0bfd20dd858fe277b1b66604de1bc4e92f57087122c78c50219ffff0362396d3b6557b404cb5dad233c6e960549d7041cb6caf72884a29b006f23da4403f06fb616885ef66b55a6ba7a710ff384a2f8fae299ce95241996247fd8a3478d03bc1df07cee23eca0238a4deff09b3e45238a7300288f6b005aef6acd40587a7403dbdae6a8da0f7316fee7bbaaaa9dc4458a534eab21ef24940855d9359171613b038ebb9d108fa5dcf2b8f9e77d79162ee6ea12ce105a29d1514e9f7475e697863703fb1966713affdd2e8a9b8175b534fa853010227fe729717945e762b8220e88e003a890a0d77bda8ad8cfc8583f7370e2de371b93a9111ed018b963bcc063e095590308322191563031ea7bc05e9f88a161a88da2e2583707097735b1e508f077486a0392df1455bdd4c4bcc71432c28756172235fb0c2144c06e2c4dda5d9af6e305b503d134a1c22f80ad834b796748a761f1c6749a059b9761dfb65f0fae3f30d41fb50302b087a7db32cf3b4db9e8b16299bc6e1df27496177e78b4138af014c249dbf803180d4d2f84a2eb9453895cb15f9c94b868bc62887a58d18a4a2729cf2ad7953a0342ab6dfba63509281dd891f5ca197e78599814dab57f15b22b5427e9891f578703f7d47789451a9fe07588fe948d8c16e8885eef3191d513e941e27a7fb8a6169a031ac96cf79bbff84e2cd2114982a062009dc36f6f7bcc2cf7a039871ef596a40c0377d6699e34892f1a151d96fb02fdd78db5fbe2fca81aeaa70ce866bea3fa8bc00394238b3718b007c27ec6b33bba7d8868c238829d22e569f4781c9f0e6084e26a03bf57875e96d25865a6a1a0a429699df35e5ac95df1af9e651991cfa2156fed1c03002d33c6cbba581098d65045b3be2b104b99d934d32be2af7791f1599001aecd03b32e95af9f159499bfd91c53fe4a88e6a8c9135cc2d09abe6df6feae283eccd603efd2f9856cf87be5618f5d06a3b41179a2f6d2c30822a2434bbc7f61dc2ee06f037dcefc4a7a8ef5e7c4f6d63c47d4dbe5c356ff8bfcff10afe3c543b0adcca20103276ef82b6ef3dc5fb6a333165fc8ac2d0f9be9f7ff97b6d21665b9a927baca4d03429f4f9be4639707af80d4db069ff244be3010f8e8d82976b82af17f2ea41d17035b90c1fdccfbce17cafb0671a34b3fd17e266ecf68e5484edbced883bfd6462803595b787701c3747b8f81302762bebba2f403e73f3e0cdfdf0c01c228d6ef8c0103a4377033a81e56d58e71a193b258cfbb2fbe1bc00d047245f7082148246c77bd030bed0545220ece307c41bcaf5b6f1d495ef1c10e2acd9886a0b61bd12960002903a51ae83f6af5e79aa8ed8db63cbd8aaa83d68ae2a20d9cd1486d45b1265ebec00374e4971262e4749e5e0b2b7a36f4563410581f049e7918fac1a00cac30c901ea03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03e81a6b6ba6bab6e1bd3d6f39d57620b24a0e19836816a7297c6563b4d007011bffffffffffffffff03acc9aed41e2f600d0ef00b57119c47941166d8f0797a813d29316137f04025ab0605581d029a611615ce09fa408c12d11cc4a6675cb346e4eda9a940693766ea1007011bffffffffffffffff045917ca6080604052600436106100cc5760003560e01c80636684b1d61161007a5780636684b1d61461044e5780637147855d1461046357806372a44f07146104e35780638757653f146104f8578063b449ea5d1461052b578063c5ab845314610572578063e907fa3c14610587578063f9bcdde41461059c5761011e565b806312f16e6d146101a257806320cea94d146101d7578063439fab91146101fe57806356f36dbf146102795780635c60da1b146103035780635cef2e86146103345780635e3a97e7146103c15761011e565b3661011e576040805162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f52454345495645604482015290519081900360640190fd5b60006101286105b1565b90506001600160a01b03811661017e576040805162461bcd60e51b815260206004820152601660248201527526a4a9a9a4a723afa4a6a82622a6a2a72a20aa24a7a760511b604482015290519081900360640190fd5b3660008037600080366000845af43d6000803e80801561019d573d6000f35b3d6000fd5b3480156101ae57600080fd5b506101d5600480360360208110156101c557600080fd5b50356001600160a01b03166105d6565b005b3480156101e357600080fd5b506101ec6105e2565b60408051918252519081900360200190f35b34801561020a57600080fd5b506101d56004803603602081101561022157600080fd5b810190602081018135600160201b81111561023b57600080fd5b82018360208201111561024d57600080fd5b803590602001918460018302840111600160201b8311171561026e57600080fd5b509092509050610606565b34801561028557600080fd5b5061028e61064c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c85781810151838201526020016102b0565b50505050905090810190601f1680156102f55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561030f57600080fd5b506103186105b1565b604080516001600160a01b039092168252519081900360200190f35b34801561034057600080fd5b506101d56004803603606081101561035757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561038157600080fd5b82018360208201111561039357600080fd5b803590602001918460018302840111600160201b831117156103b457600080fd5b9193509150351515610668565b3480156103cd57600080fd5b506101d5600480360360608110156103e457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561040e57600080fd5b82018360208201111561042057600080fd5b803590602001918460018302840111600160201b8311171561044157600080fd5b9193509150351515610824565b34801561045a57600080fd5b506101d56109fa565b6101d56004803603606081101561047957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104a357600080fd5b8201836020820111156104b557600080fd5b803590602001918460018302840111600160201b831117156104d657600080fd5b9193509150351515610a04565b3480156104ef57600080fd5b506101ec611057565b34801561050457600080fd5b506101d56004803603602081101561051b57600080fd5b50356001600160a01b031661107d565b34801561053757600080fd5b5061055e6004803603602081101561054e57600080fd5b50356001600160a01b0316611086565b604080519115158252519081900360200190f35b34801561057e57600080fd5b5061028e611097565b34801561059357600080fd5b5061055e6110b8565b3480156105a857600080fd5b506101d56110de565b7f177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b245490565b6105df816110e6565b50565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f81565b6040805162461bcd60e51b815260206004820152601660248201527543414e4e4f545f43414c4c5f494e495449414c495a4560501b604482015290519081900360640190fd5b60405180606001604052806027815260200161176e6027913981565b61067133611233565b6106b4576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b60008484848460405160200180856001600160a01b031681526020018060200183151581526020018281038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060405160208183030381529060405280519060200120905060006002600083815260200190815260200160002054905060008111610791576040805162461bcd60e51b815260206004820152601b60248201527a2aa725a727aba72faaa823a920a222afa4a72327a926a0aa24a7a760291b604482015290519081900360640190fd5b6002600083815260200190815260200160002060009055856001600160a01b03167fe99b980b5259f200e4c1da973ff0251b6d9aaa144714c8773976ecd62b8ebe8d868686604051808060200183151581526020018281038252858582818152602001925080828437600083820152604051601f909101601f1916909201829003965090945050505050a2505050505050565b61082d33611233565b610870576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b610882846001600160a01b0316611262565b6108ca576040805162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015290519081900360640190fd5b60008484848460405160200180856001600160a01b031681526020018060200183151581526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050955050505050506040516020818303038152906040528051906020012090506000610946611057565b4201905060006109546105b1565b6001600160a01b031614156109665750425b806002600084815260200190815260200160002081905550856001600160a01b03167f723a7080d63c133cf338e44e00705cc1b7b2bde7e88d6218a8d62710a329ce1b868686604051808060200183151581526020018281038252858582818152602001925080828437600083820152604051601f909101601f1916909201829003965090945050505050a2505050505050565b610a02611268565b565b610a0d33611233565b610a50576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b610a586110b8565b610aa4576040805162461bcd60e51b815260206004820152601860248201527712535413115351539510551253d397d1925390531256915160421b604482015290519081900360640190fd5b610aac61132f565b15610af0576040805162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b604482015290519081900360640190fd5b60008484848460405160200180856001600160a01b031681526020018060200183151581526020018281038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060405160208183030381529060405280519060200120905060006002600083815260200190815260200160002054905060008111610bcd576040805162461bcd60e51b815260206004820152601b60248201527a2aa725a727aba72faaa823a920a222afa4a72327a926a0aa24a7a760291b604482015290519081900360640190fd5b610bdf866001600160a01b0316611262565b610c27576040805162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015290519081900360640190fd5b42811115610c76576040805162461bcd60e51b8152602060048201526017602482015276155411d490511157d393d517d153905093115117d65155604a1b604482015290519081900360640190fd5b610c7f86611492565b60006060876001600160a01b031663439fab9160e01b88886040516024018080602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b60208310610d305780518252601f199092019160209182019101610d11565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610d90576040519150601f19603f3d011682016040523d82523d6000602084013e610d95565b606091505b5091509150818190610e255760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610dea578181015183820152602001610dd2565b50505050905090810190601f168015610e175780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b178152915181516001600160a01b038c169382918083835b60208310610e825780518252601f199092019160209182019101610e63565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610ee2576040519150601f19603f3d011682016040523d82523d6000602084013e610ee7565b606091505b50909250905081610f3b576040805162461bcd60e51b815260206004820152601960248201527810d0531317d513d7d254d19493d6915397d491559154951151603a1b604482015290519081900360640190fd5b808060200190516020811015610f5057600080fd5b505115610fa0576040805162461bcd60e51b81526020600482015260196024820152782722abafa4a6a82622a6a2a72a20aa24a7a72fa32927ad22a760391b604482015290519081900360640190fd5b8415610fe357610fae6114b6565b6040516001600160a01b038916907fc13b75a5f14b69ebdc2431a5d475b3bff371abe251b5064144306fbd9c4de35c90600090a25b876001600160a01b03167fff14288d542bc1c1d15a652cb52af735f065c0c9d70b48e454a203c260733544888860405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a25050505050505050565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f545b90565b6105df816114dc565b600061109182611233565b92915050565b604051806040016040528060058152602001640332e302e360dc1b81525081565b7f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d2541590565b610a026115d9565b6110ef33611233565b611132576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b336001600160a01b0382161415611187576040805162461bcd60e51b8152602060048201526014602482015273474f5645524e4f525f53454c465f52454d4f564560601b604482015290519081900360640190fd5b6000611191611670565b905061119c82611233565b6111dc576040805162461bcd60e51b815260206004820152600c60248201526b2727aa2fa3a7ab22a92727a960a11b604482015290519081900360640190fd5b6001600160a01b03821660008181526020838152604091829020805460ff19169055815192835290517fd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a295999281900390910190a15050565b60008061123e611670565b6001600160a01b039390931660009081526020939093525050604090205460ff1690565b3b151590565b6000611272611670565b60018101549091506001600160a01b031633146112d0576040805162461bcd60e51b815260206004820152601760248201527627a7262cafa1a0a72224a220aa22afa3a7ab22a92727a960491b604482015290519081900360640190fd5b60018101546112e7906001600160a01b03166116ed565b6001810180546001600160a01b03191690556040805133815290517fcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d29181900360200190a150565b60008061133a6105b1565b90506001600160a01b03811661135457600091505061107a565b60408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b178152915181516000936060936001600160a01b038716939092909182918083835b602083106113ba5780518252601f19909201916020918201910161139b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461141a576040519150601f19603f3d011682016040523d82523d6000602084013e61141f565b606091505b50915091508181906114725760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610dea578181015183820152602001610dd2565b5080806020019051602081101561148857600080fd5b5051935050505090565b7f177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b2455565b60017f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d255565b6114e533611233565b611528576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6000611532611670565b905061153d82611233565b15611582576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b6001810180546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f6166272c8d3f5f579082f2827532732f97195007983bb5b83ac12c56700b01a69181900360200190a15050565b6115e233611233565b611625576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b600061162f611670565b6001810180546001600160a01b03191690556040519091507f7a8dc7dd7fffb43c4807438fa62729225156941e641fd877938f4edade3429f590600090a150565b60008060405180606001604052806027815260200161176e602791396040518082805190602001908083835b602083106116bb5780518252601f19909201916020918201910161169c565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092209392505050565b6116f681611233565b1561173b576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b6000611745611670565b6001600160a01b0390921660009081526020929092525060409020805460ff1916600117905556fe537461726b45782e50726f78792e323031392e476f7665726e6f7273496e666f726d6174696f6ea26469706673582212206915ffa322fbd31d29d2877950e41c74fc68fe578377c1be6d34b512e06f84c164736f6c634300060c0033005821033399933d673e492685ec18579ab6d10c5c0d8dd73364296f55dbb3d1ca8864f05501000000000000000000000000000000000000000000582103d454c8217658447a0dd182e3dfcfe7a93f35bd1b4c616d202f0abd3d220d39404461755a5100582103c98792390ee86412de162e79662b319194c987d093754988683e8702eca809504462eb9b0f00582103a28b7799cb5eaeb34f21b8fc484e27c125b6d2f5c21e2c97a6ec8de982f1002054d51a3d50d4d2f99a345a66971e650eea064dd8df00582103f155eba8f1c9340d0e385ce487c70db760fee70392adc1b72cb66205020338004465dc5903005821031f51a73535d0c5d16b277f3ff96fd058e88d3f94eeb2f2292f684cf6269db0004465ce0a0f00582103e069ee82ede65afbf1fff408a0ac3be0bf1b255ccc18f38f3971e129b280dd00410100582103d83bcf6d8c9e0ef1b61a62799b7eafecfac1ac0da968b8c755383d15090b639054d4c4044aca68ebbcb81b13cc2699e1bca2d3f45800582103d7da58eec3538a82e647a8bbd0440dae6b337b8a9b3e2278af48a14249ee29304463ecb5170058210351adc8d90b4bdce127882fdd18888a6a6415c16f93dcf7b7fe66f2b610b927e041010219bdac05581d02369d61a289d1392cc632ced58d856a15f9a3ea22ecf8de27291f9f9507011917ca02182205581e039e2298c5691d8a7c26f8553b5547bef59697da31d621a4feab3f5e19000c0247014ef2c8ff478005581e036144dbcfc17bc735a235be9c73c131565a674c76cf8b6a8bb6ed2e35800c181c4832d9c70e7f30250805581e03f8dd3604e18ab27984e3ca3727476e334c8ecfa066980b62f72f8d78d00c02479f0e6e013f84d005581e036d2aa8d6f17ec825aaea095f08753773a8d78bbb5e02f7501fc9ed87600c0147012ba0e432b20003b774722c066623b83e140ca1c4490d72ba01cfeffee491d1b4a9973aa58fa7d60317c4e9471925f3c474f0d589a4f25e4057a4924c999c264b40c7df578c4d917605581e03de7214fe586eb94dc013d578ac5c31b83ebb08a31d64e9e737a9d1bd1007011bffffffffffffffff05581e03dcc156305397085df86c619e534293ece5b9437582e6393066c08b1f300c0147034de92cd669e0031e3b21300cb84314cefdcffd8b8babb267ca11a9e08c7130418c099d81ce82180219e93603b1c2c8ed9d01edf153f65a8af423ce31fbc16bc18c31d13ce68b03c2d9f85871038f8140754addf55be7e8f7d90fa9ec8677a7cf7a0a62d2fbcc3a0c4ab701d63a032be7b74e7aa55dc4111a6a8d6c4b0f7ae5f987ad36d5f578b565d5af4cf27c3503c42976202d5b87d9bed2e000bafc9ddbddb53274cd21b68041e013e183de343f03e548bbffa2b6d6569b8d50d46e5dcbfe5e3ec9e292957699933ce9601086919d03099f970d04cdb91e1419907a9618f3a07d4b78a47fd1c48bd810c4824a3948c5034dc06d9e371e617090efff865e3535126a5c1baf6808538c7c2172efb8877ae80343a99e7a7a486d9d0216283b04d49ba08ceea584e65b3cca2f75cc5096204951038c94ce515877d4cb591283c2ad43ec8e05169d9172ca70f994e2245dd6079b570364074ef4598fdb1883b5cea7a4c9fa93aa679c43c520fbb366f01d11637820e60376df64788db6ba08df642f731717a9890f31de53fb83d2aaf0ee76187718990103f3a9e678a839ce90d174c92eaf85113e45ff3b038d51b20d127880fc4ddd4bd3039fd0c74c622ab9a2241b96e81049baee68a9bb6da0e6ad338656d95a3699d9970219ffff032010667711d44f646533038b6256893e3c540392b318092643b858de3a49cf4b03686d612c8b6161c7c6ba50dfe671c324762f6be3574bd6355f3efe8288d3668703df931ef691f7ed15c2d23bb36a4e5b523b77928ce7d6b46f73255a46fbcd59d60219ffff03b5b594e5f62dd9829c5ff5c9c4b8ec84476d21f2dcbec16a4b6716ad1b614b430363fc22cec8261f30428d4e1c41463de92fcf51c73b6b54fdb5282cbe6187d344039ac9d0e8f5e9122c67c915b7ffdd7556f8db75bc15532d48d89bb1496146edcb0219ffff03351c00ccedaedda16a81ecc382577d72d758c7d8b366feb123d06747cad0a5ca03021080a2935bab20875c087083b0c7df5464d7d28e34fdec1c09a6ec5fa4de7d03d489aa45768edf8dab4b5f4830090ebda8a545f5a5182b1acf692c86325a432303be200cc263a3609bb6bea3e6867be6844d1466838de122e1ebe4986f0da13bb5037bfb9bbb79fcfb3983bd5c50df98142bfa6ce309123052d2357960dbd5f328d503b4722e203ceaf1472863d85defa0ba8f2faa6321d8e8c36363ccd11ef002351a039d991489367bf3e8b103d79cf8744ee53b47f7ca81dd6926bafe3fb10662d8e8030f12161746ea7ee7d9cf64df64dfa8255cb99f85cfee9192b966d6a614af6dd9035f76dcd4d54f1b1d67af1f05c328f267b9b23a08bcfc03f89f63c48e1f2e7c5003d904038d16e0435a8e0039df5e4aa48aa84d7a5142fc5bf017d8954a9fa3f97203c9d926b14c54860cddbbfffa46878ef989da76c697a2a070ef8dd4e7735f22e10369c5d1894d7ae38ac1f1ec75841dbbe7cc074e27c7512e08cc61a1497e5347f103d87180b080c057f94c282fec220fef8bc6b79458c1e3c9a677279896760b8a64034f5614d842740a28541448190f8953e4abc13fb3fe1f133c747879b24473f08b036f4986fcf1487233b00a683b7448d61c2009522e1790ac8d3d1f6ad8eb08c1b403c2de368bc302f165e8b66c5b19927e14e3fa2e206ed877871130084ec9e4536003a0356de5ac3f72cfe54a8dc3fb53cb838dd9f8883016c5ac83ea58fe1b8df0ac03f0cb1214f49d9ccfd030a84e145d22e82b20a76cb469d3a303fc66aac22ccce903f0e7204deb509c3e9693b2d3ba7bc8dfde940462ce7d0956138e2d8ee586d65f05581e0362dd730c34219f66d7e2c34e93ea4eade7d35aaa7600662ca35b1d1f300c06473ca3897f23bbfb03f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e0356835df39328ff017101b3bb345f2a5a82306ccaf1c0ac62671e46ca8007011bffffffffffffffff05581e03deb28c1c4cb1f982cd09968c191d3a735e232c4f8ee1588f595c30e4500c01470525db9a47900003832b35d25d9ea3bfbc39ec1c3877d01028ee000d88b1ecfccee4c9278ca7a267031ac5149900ac884352277066148657af7582af4ab6fb8ebe7936c765f1df40ed05581e0313ab46e37475b55c881b9171bf1027ed2ed77d2969263a5db137d5e90007011bffffffffffffffff05581e03508aa7c92a44fcb4c8e554244832f453eecbf35e9bc1f1d805b66e0370040105581e03828696aa1c2d9ec1d2c2018a2ecd19837095c8bfdf9c8aedd2609f7b70040303d84e0e50cfb881248c415fdbd4a23d6d157d6b182bdf76fd192676e25b6a97d005581d02295b011aba4630dbbb8ee0c9a58271b0b776480ef707fbbc309db6660c03470ef024e971fe0005581d022fe33726efca9f9d92e96899f4309a76ba1822323b07fea0ece5d9e60c18ac4706dc524520fd650219100205581e03adbc3c8310b4e71539e8aae494b72e0e327c706cd12218570d4e4cdb500c04467f3b136f5b5802195d7303aba1a4d796985cc54ee712643f2b386f0d0056092ec1a062842d639f5da2706c036c5d6d4bfa94b1f92b1af644b804e96d0586870d619027ee9c8298105cb1b66f0321e703529922c9e949e599bda1a927ad8822ffe40911122737dd6c3b8e3747a80321a60eb2a43a46d50f6ba101df88ab6e33ff3ee9dcc9bb7a6a8afc94d14f060f0371602632681c5768e91c9d08e93df3aee097d525e29a4b563ece2af513df0d600334ec09f08fbb9b2ba76c9dfbe98f8ce5c7113e2d54714b98b3f7727e3f1e4ae303246341cbe568daab44d92e7269a2e0001981c282b09f13a670d30bba0aa457ea032b5689ebdb101a13a28775ad3c905bec880e03d8dd06fba756646fee55f4a57a033a609600fb90c8c9ffcad5242952e9cfe9353941f5cc9e55e08d26ece83342b70327467178eaa176786dc793d605d331e6efbb797ea6f3046eb847ba3462178f5e03c63e491b25d722a3cffa7bf8fddf9b2da8af9ef56520dbda6af63d33bbe65862033c58a66f75a25ddfa846b2c7f5d316e5642e68fbfe3b4ae865fbed5894cfddce03653e8fe12123b2b0c749066a6d2640d7cca3747042fe4667385e9cc94da9193803284c8ca74407ec75f8e4ba6c18dce7acd17d40641ca1885dd43bb0e3defa324403bdb4e02ca034ede096b2ee7cb68cf51a2e2983c49b69697eda8d0336a052a08c0219ffff033c11fe791c6a39ea90b4e480b0f6f213318dc3202455e5393dd9c483b6af5bdd03363e7fa5c1e8e1174e44de0e9846a3f3e98c6b4f9951fb378125f93f8ff3c91903baf790567548fac0a14f43c75bdc029d8e60ec20a16f676b27bdd24062036bb203a11b2c7a0018d5e8f328e378a48b691a8a720b8d861c79356a76f0155d7cf09d039f6665853a5a39cb5c458aa82903cb498f10d887be893c54d93606500563e9110327d8439bcc01104644ff5b1bfbdaf5796edd8c5374fb165acc4b5cf512cfb42403c8066eb6a13145899854cb8ac196e8cbef0dcc358e0840d00cbf5db8f884d68403d64e18298e124f59a5e7ead82303e62176a3981f17b1bc861e3ddc82ce456ff10219ffff03090e4493100d6f924ed2bffd380c67705c73e73a51eaad09372d01780e3cf04c0394ee89b9a7e04c72d4f536efcc2e14b4f72bb6d8622490721bbe4ec9c876aa9403d7f3b391b55030021bf3221c5574d63a1faa4be96de2f81cd8ceac2283ee6e1e03604042e3b7b355f2f946335052b344c599b96bf933943f78028b48d320d46830031a8996045829031ee4720ba3c9a8848a80861b90e993a7c077317a0797afaa7a0219ffff039e9fdad51b209c00979dca279765ec31d839516aae01546ea774bd6ce1832b630345b898357aad743007c2b96b971abe98fe86abc5d51b85f52bcab76b8f2be70b034671529134f17c5a48d2fba4bc025c416785036f9af01376b83b02907635aa9903ba7c0dda6318665467680cffb151de604443ecfecfee4cface7c75aec8fd02f803be6448130eabdcd87799d96788dbf33badbe7ae7de2e8739fb9997fdeb9aa3530353a632754f2dfe1f6a0b3edc70d84a933bfb274b93d1da4bb436da84fb72c81a03b75630c56b1c58307c38cf72c60d20e2b59504005a919d0f9d0e553d3689258f03103a9440ef7fffd320e950d222960b991ea122157b71c10b72e54db4b3435572030b0e70fa416e30e513204e436b775421f25615e5553f11d374b4db8cc959e72103f063a0ab1f41cb7cce52a3a397964b3b61b0e5799ae52cfaa6e0cb35ea856f86032cc52cea8a6fe790d18197fe3771e0bf1001993fdf4ece8b2c8c3c57316497a303a2b160c13c792ac5248a03ddfcb60edf109b37151203f3c538531754b08a2a81031e725c9a593701968de346c6d1510a102d9b7ecf53d5ed2d0520bb1a3a31189803b07cbf0f73c1b7f977b8b5f26b408d196e0ad1359e664f990805b356bc3e6c55030ac7e4863e4c184f59c497b00960e3d0c46c58a3ad754c472f98ee646878b2580369a033c9847479645153e5384b1f82e77fb98cd63bb5d65b35da6a556b735bbe03b626f0177c42e5d41ae899aec6ca76a2dfeac3a508e302eaf3a79eff60542ac803cda7bae9b35c450837c2783ef23ad027114574f695cf924294f590f27ba1cc2e0350401a1a0723b2940130e9544f053bc1b8903ad3a7ef8697e14add24ed88eeba031ac9c96f3238eddd8642d503b709016551245e1f38e0f4f9ebdca56be1b6885603328ca0ac0be3a321c79e5f16a4e8b45f12b641107f74e3304ec610420d75bb3b033758b927329b9a560fb1955c3b9a78b306cb1df7e3baa6f1a3e53ec0c31debed03aef18ac61e6ed2e06c1b3f8c26068397a806365c3a2214ae5f3bb75d4cc60e9303a25a47d1bee81600cd118cdf24c1a66c5bf1f1a2a5dce52a955e7bca55f01ba1036bd5571b4029447ba3c9fa986d521b46c0da91bba0d7e9aa7a5a20cbe9a8e46b039622f02e15ec0fee56ef21d31323537414c88446b403d2ff20a4d3bb5ebc79c703b94c2e1c51f567723e58235b7b9da1ec44679764dd2c810211d860a64349652c033238565f471be1ab9d5d742df50ec58d9a94010f72ef5a9a9d6fc365a395b342039959ca98ca335e83639de32c76dbd777307d3a4607baf8d8cd122ca73b7a2a7b03b59f2ac78d2fbc3445a240486c8215c6d01bd5bf8141b6c1446b3f60257dce80031c0cc307e35ae2323d186075554020ec49612493152eaf4d60041a3e0d789f5403855b5d04fb1b1aaa1ef92fac4fcb732dac4142b423999ca809b73ff4fc19f4c203599cdb51162f507d8c69218c3acaf9b1f8d42bee1dd1d378f9b3f5c5b2e387c603eab85b65b5734775fd71a430451e8c44d1891c65509558663a5673d0a5a90f0403a9f0de2a6f45af719b11335689b3df21581367508b37082217843fb13376cb8d03a8a9281a67112af07059b7e52ab109850ec3b2c4d325731394e6edf087c56df503045419332ea002e8ac193e1656427e0eae2b5a539790698709a71a265b04789d03d73a564d58206126d3cf9771d91ca4e56c6f6de8d192d999cc7007933554ef53037ad4d74aa314d53064c0f492b6f3d02ecd3f2cacb9d782c86b9a67c6eeeff6e603537978f1796a9d36eade4f9aff489ef4764d1f1282ee40c54e31dd964ee97b8203cbc217f7167821b67bf65b618bcc48839474f71bf08cbf669de9da028593a04d0458ab608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0416b00582002d9fd585179076395509afdd1fb8a4bf01acb10a9a3b085b35686741ca1e7cc53e94615b0b2d5c4d70799d2aae7dd1d7be96bb9021818005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354d9db270c1b5e3bd161e8c8503c55ceabee70955200582002e7efaf4c75afa10da740867ad976bced2739493e1e82652971395b55949a8354d5925b9de1b4d6261b738380c860b7d0a462c1be02194200005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c0410103944aa6d6cd9e2c839203e5e7f83c346d0d6892ab8d14b45d075dc3304829aff200582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04102005821036552f9043f7dbde1a3842eccf846aa02c647c3d99f9371aae3c93798f73f1ab054f48f2b2d2a534e402487b3ee7c18c33aec0fe5e4005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b04105005821039cd18de66b591c425d1afd1e4809d2e2b4a98444aa93bc5c21555c66966acf30410100582103cfa021c47822db06153ca4d88ee9495ecbd3532fdfabf1ca9367371748395de054b4a4155efd2ddef131886fea334c3064b53af5be0219d5c505581e03f2c95a31b408e7f34a9291ceae297d32858824fe837f40f025313f0090070118ab03bd91063c0c128d81ecd0e06c232c57a024b884e7de58f57daf176b651c0209f803b0f8e95b09fa19dd399e6cc9308cad223b52056bec7446c18c9071637fb7189f05581e0399e28586102261c744d1128ca0567428829d5fbebc4e15c7346addcf400c02462d8d52a2320003acdd8463e0a9acb8c6edfd6b1dc75285208ff1d16d6fb48e5e0b05d039f8c63205581e0331f7dfb7d7280adc1245efe2fac95d7670a8b32b69114003cf66d85420040305581e03d69490eb88a2ef73bb7241d2e3548898b6e95ff743cda8784e288e032008471a50a093d9f00003244113190db502f44dbaed5de481526ad9a09fa6d128cbd7f413f62e128d880e05581e0358c1d928b27ad02018a746142982e7dfbee5b1d314f716a4a08346db90040105581e039be0dcf2b5b655fe430367194f9b4563dc8b27bfa7dd305d6e822297100c0146bf72c96361a505581e033d4104792063bedba93799ec6e5e35ba3118cac107d60b654bb9f9bcb00c02467bf228fd70000219a3df0219ffff034669994a269de1946c5bac87a6b069aba7c0123d4d09eccaebe381062d353a7603ab209c01164291824e05444eed2b82c6a858dbf76b74e1ee88442c39463a8e49032c6a852389b46bed2a26bc9c4d87f09cc6657ffa33add6c3a3ab02b08d5892f00376fe31e1729b36d4bd551f698ee2fc1bebcdfb2280740736f5f143c9e5b2a72a03b035e98658cba27735ab1dc55cb6e4e382da49d245f163f7bc38a55c18788d350396499316de43c8ca0020ca8ebfd4ff2e5dea14a2af4b950ab1eb0ea347b293c60329839a9334279e936b5a96a22ac03e1a8e4f5a172b804b87563a37a447e9ddc00219ffff0219ffff034e2174895610b67448a8670c9517b79b30144c842a154fdeb27703ec58654aad0339f65979da14d10fd37b31d4d8fb85ec860b451ace90bc2db2e8cd01358581810349ce6de008fb46be229fd01b42a535514cfd5aad2945ac06e2da966cbce9cbd20304bfdea12f3018c52a10a6810ec98fa8a5119d763999ec57520df30ca177ed190328796ec66fa444cce03f4f81fc2ab736effb4560d9d535d5c982132ddc29a914035d0ed3964d380fae9cff2d9bcdd153501edb9194c4b76a4e9afae1e93a3cc836037a15d6de55e71b6c4407cc339e9d3310f14cc87589ef79b50a4c7f6aabd9eda50348419daa04a26927f90bbc20d2a9e8367c971ecddf991ca19da3f7d726ca01f903a74ebdb68ab37337766412adc0bfa7babed3cb336d523b9fffb8b551877bdb4103e31c8dcbc3c0d771d3a6c03f7e94b15e42ded130177eac381a798beb2026cf1403347888380cc2750d421b0b17cdd1b9ce61026d0de95fe03441e5b2b00519cce3035ef8a6f3dd04f9fa6867c72aedc48b7f45d8f3c2acee102577127d289701d840033fe9e15f158d5147c6e65f94ed48b8fef13f45a41f883e7bdbd8027c21157a7c03dd75cb1342958a2948d9b05c7d8207b36683d5a3369ad2e9f97bad87db37c954035256ba7eb6bd72252094e319664b892864e123a7c6aacf5ed21fec77080bd3b703883f613c60c80a47b6d2ed8cf8953d606f3712cfa2978abe30a00b7e6483f7b403982dbf8ea80d497ec7de74cd75a3ba375f207182c46b1ac84061c296bd7034b703977819e0289ecf9f456863e4b5556fbd5d707a1db63409f82538bca55b5a4bc803e0034ff0c6cec59b438eafc79c5fe8be7c40feb6985c11835f460e80d1db764103673c8b7b315deeb7311807b188555d920ee49bb5176a11e78e869f1d26aeaf66039c829c6b2800d51d3cf3003ba3af161ad931d2845bd0dd164ed0968007ef640f031ffb063bd0e58d86ebe133502a6acf58ded70134ca199f045577ff81172d4e15033ba89914c2720ccdd84c792536a62719c1afa7fd634f21a4dd5335bbe82d463205581e03604698b55d8b90ddc6efa31ca9100fdd83bb18c5cee6280e71dd2f9fd00c01465bc755c5e8f10384298877a0f5f7ee9e77cd977c6429a77de9db357cb02caad6167a9e940ba98303a6054988f885583538428554e9b989f3c318ddcc390612956d65663d9fb8fcec05581e030886e5982f01b9b9899f59640206e12b610c3fe90a163eb0a810fec10007011bffffffffffffffff04594f2b608060405234801561001057600080fd5b50600436106104055760003560e01c80638980f11f1161021a578063d2fbdc0d11610135578063e44b9fa5116100c8578063f2a8d34911610097578063f77e34d11161007c578063f77e34d1146109d9578063facefb64146109ec578063fff6cae9146109ff57600080fd5b8063f2a8d349146109bd578063f2caeb1e146109c657600080fd5b8063e44b9fa514610985578063e7f3058214610998578063ebe2b12b146109ab578063f288baf6146109b457600080fd5b8063d9f96e8d11610104578063d9f96e8d1461092c578063de1a655114610962578063e01f62bf14610975578063e1ba95d21461097d57600080fd5b8063d2fbdc0d146108e0578063d42fc9b4146108f3578063d5e1a9c614610906578063d7400d561461091957600080fd5b8063b94c4dcb116101ad578063ca6df29d1161017c578063ca6df29d14610885578063cc2abd64146108bb578063cdc82e80146108ce578063d2010fb4146108d757600080fd5b8063b94c4dcb1461084d578063c00007b014610856578063c354382614610869578063c8f33c911461087c57600080fd5b80639637927f116101e95780639637927f14610811578063a0f234761461081e578063aa1d4fce14610831578063b85efd061461083a57600080fd5b80638980f11f1461079d5780638bad86a7146107b05780638da5cb5b146107de57806391cf600a146107fe57600080fd5b80634f39059c116103255780636e27cef9116102b85780637910d17b1161028757806379ba50971161026c57806379ba5097146107625780637d6ef08e1461076a5780637f472e541461078a57600080fd5b80637910d17b146107145780637970833e1461072757600080fd5b80636e27cef9146106c957806370641a36146106d257806372f702f3146106da578063774d4ae71461070157600080fd5b80635bfd9258116102f45780635bfd92581461067957806364f2c0601461068157806369339245146106895780636c430dbb146106a957600080fd5b80634f39059c1461060c5780634fd2b5361461063357806353a47bb714610646578063551897731461066657600080fd5b8063218751b21161039d57806336f89af21161036c57806336f89af214610583578063386a9525146105b9578063387edc86146105c357806341a16f3f146105d657600080fd5b8063218751b2146104cc578063231b68dc1461051857806328408bab1461053b5780632c0c2a0a1461057057600080fd5b806317b18c89116103d957806317b18c891461047e5780631c1f78eb146104915780631e090f01146104995780631face856146104b957600080fd5b80628cc2621461040a5780630d7bac4f1461043357806312edb24c146104545780631627540c14610469575b600080fd5b61041d610418366004614921565b610a07565b60405161042a919061493c565b60405180910390f35b610446610441366004614980565b610b86565b60405190815260200161042a565b61045c610bb2565b60405161042a9190614999565b61047c610477366004614921565b610c21565b005b61044661048c3660046149e7565b610d46565b61041d610dd0565b6104ac6104a7366004614921565b610e71565b60405161042a9190614a09565b6104466104c7366004614921565b610f25565b6104f37f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a581565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161042a565b61052b610526366004614a77565b610f6b565b604051901515815260200161042a565b6104f3610549366004614921565b602080526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b61044661057e366004614921565b610fd9565b610446610591366004614921565b73ffffffffffffffffffffffffffffffffffffffff166000908152601e602052604090205490565b61044662093a8081565b61047c6105d1366004614921565b6112ed565b6104f36105e4366004614921565b600f6020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b6104f37f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a581565b610446610641366004614921565b6113d7565b6001546104f39073ffffffffffffffffffffffffffffffffffffffff1681565b61047c610674366004614ab8565b6113f8565b61044661151c565b601c54610446565b610446610697366004614921565b60146020526000908152604090205481565b6104466106b7366004614921565b60186020526000908152604090205481565b61044660085481565b61041d6115b0565b6104f37f000000000000000000000000be1c919ca137299715e9c929bc7126af14f7609181565b61044661070f366004614aef565b61170f565b61041d610722366004614ab8565b61191b565b61073a610735366004614aef565b611997565b604080519586526020860194909452928401919091526060830152608082015260a00161042a565b61047c6119e5565b610446610778366004614921565b601f6020526000908152604090205481565b610446610798366004614921565b611b30565b61047c6107ab366004614aef565b611b47565b6107c36107be366004614921565b611d30565b6040805193845260208401929092529082015260600161042a565b6000546104f39073ffffffffffffffffffffffffffffffffffffffff1681565b61047c61080c366004614921565b611f64565b60215461052b9060ff1681565b61044661082c366004614921565b612057565b61044660095481565b61047c6108483660046149e7565b61212f565b61044660075481565b61041d610864366004614921565b612386565b6104f3610877366004614921565b61240e565b61044660055481565b610446610893366004614921565b73ffffffffffffffffffffffffffffffffffffffff1660009081526022602052604090205490565b61047c6108c9366004614b19565b612470565b61044660065481565b61044660035481565b61047c6108ee3660046149e7565b6125a6565b610446610901366004614921565b61290a565b61047c610914366004614b64565b612946565b61047c610927366004614921565b612b35565b61044661093a366004614921565b73ffffffffffffffffffffffffffffffffffffffff166000908152601d602052604090205490565b61047c610970366004614a77565b612d50565b601b54610446565b61047c612e37565b610446610993366004614bb1565b612f08565b61047c6109a6366004614921565b612ff6565b61044660045481565b610446600a5481565b610446600b5481565b6104466109d4366004614980565b613154565b61047c6109e7366004614bd4565b61326b565b61047c6109fa366004614c20565b61343d565b61047c6135fd565b60606000610a136115b0565b60105490915067ffffffffffffffff811115610a3157610a31614bf1565b604051908082528060200260200182016040528015610a5a578160200160208202803683370190505b5073ffffffffffffffffffffffffffffffffffffffff84166000908152601e602052604090205490925015610b805760005b601054811015610b7e5773ffffffffffffffffffffffffffffffffffffffff84166000818152601760209081526040808320858452825280832054938352601682528083208584529091529020548351670de0b6b3a76400009190859085908110610af957610af9614cc5565b6020026020010151610b0b9190614d23565b73ffffffffffffffffffffffffffffffffffffffff87166000908152601e6020526040902054610b3b9190614d3a565b610b459190614d77565b610b4f9190614db2565b838281518110610b6157610b61614cc5565b602090810291909101015280610b7681614dca565b915050610a8c565b505b50919050565b600654600754600091610bac91610b9d8286614d3a565b610ba79190614d77565b61362d565b92915050565b60606010805480602002602001604051908101604052809291908181526020018280548015610c1757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bec575b5050505050905090565b60005473ffffffffffffffffffffffffffffffffffffffff163314610ccd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e000000000000000000000000000000000060648201526084015b60405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229060200160405180910390a150565b60006002805403610db3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610cc4565b60028055610dc43380858542613645565b60016002559392505050565b60135460609067ffffffffffffffff811115610dee57610dee614bf1565b604051908082528060200260200182016040528015610e17578160200160208202803683370190505b50905060005b601354811015610e6d5762093a80610e3482613154565b610e3e9190614d3a565b828281518110610e5057610e50614cc5565b602090810291909101015280610e6581614dca565b915050610e1d565b5090565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602260209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610f1a57838290600052602060002090600502016040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505081526020019060010190610eb6565b505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601f6020526040812054600354670de0b6b3a764000091610f6191614d3a565b610bac9190614d77565b6000805473ffffffffffffffffffffffffffffffffffffffff90811690841603610f9757506001610bac565b73ffffffffffffffffffffffffffffffffffffffff8281166000908152600f6020526040902054818516911603610fd057506001610bac565b50600092915050565b60008080610fe68461240e565b905073ffffffffffffffffffffffffffffffffffffffff8116156110b9576040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f000000000000000000000000c8418af6358ffdda74e09ca9cc3fe03ca6adc5b016906370a0823190602401602060405180830381865afa158015611090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b49190614e02565b611169565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301527f000000000000000000000000c8418af6358ffdda74e09ca9cc3fe03ca6adc5b016906370a0823190602401602060405180830381865afa158015611145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111699190614e02565b91506000670de0b6b3a76400007f000000000000000000000000c8418af6358ffdda74e09ca9cc3fe03ca6adc5b073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112059190614e02565b61120f9190614d3a565b600954600a5461121f9086614d3a565b6112299190614d3a565b6112339190614d77565b905060008073ffffffffffffffffffffffffffffffffffffffff8416156112625761125d84611b30565b61126b565b61126b876113d7565b905080156112bd57600081611288670de0b6b3a764000088614d3a565b6112929190614d77565b9050670de0b6b3a7640000600a54826112ab9190614d3a565b6112b59190614d77565b9250506112c2565b600091505b508082116112d057806112d2565b815b9450600a548511156112e457600a5494505b50505050919050565b6002805403611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610cc4565b6002805560215462010000900460ff16156113cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5265776172647320636f6c6c656374696f6e20706175736564000000000000006044820152606401610cc4565b506001600255565b6000670de0b6b3a7640000600b546113ee8461290a565b610f619190614d3a565b8015611406576114066135fd565b73ffffffffffffffffffffffffffffffffffffffff82161561151857600080600061143085611d30565b92509250925061143f85613a4b565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600c602052604090208290558281106114c357600061147a8483614d23565b905080601c5461148a9190614db2565b601c556114978185614db2565b73ffffffffffffffffffffffffffffffffffffffff87166000908152601e602052604090205550611514565b60006114cf8285614d23565b905080601c546114df9190614d23565b601c556114ec8185614d23565b73ffffffffffffffffffffffffffffffffffffffff87166000908152601e6020526040902055505b5050505b5050565b60008060047f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a573ffffffffffffffffffffffffffffffffffffffff1663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa15801561158c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f619190614e02565b6060601b54600014806115c35750601c54155b1561161d576015805480602002602001604051908101604052809291908181526020018280548015610c1757602002820191906000526020600020905b815481526020019060010190808311611600575050505050905090565b60105467ffffffffffffffff81111561163857611638614bf1565b604051908082528060200260200182016040528015611661578160200160208202803683370190505b50905060005b601554811015610e6d57601c5461167d82613154565b600554611688613b4b565b6116929190614d23565b61169c9190614d3a565b6116ae90670de0b6b3a7640000614d3a565b6116b89190614d77565b601582815481106116cb576116cb614cc5565b90600052602060002001546116e09190614db2565b8282815181106116f2576116f2614cc5565b60209081029190910101528061170781614dca565b915050611667565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260226020526040812080548291908490811061174957611749614cc5565b600091825260208083206040805160a081018252600590940290910180548452600181015484840181905260028201548584015260038201546060860152600490910154608085015273ffffffffffffffffffffffffffffffffffffffff89168552601890925283205491935011156117c7575060208101516117ef565b5073ffffffffffffffffffffffffffffffffffffffff84166000908152601860205260409020545b428260600151116118af57606082015173ffffffffffffffffffffffffffffffffffffffff861660009081526018602052604090205410156118a657600081836060015161183d9190614d23565b905060008360600151426118519190614d23565b90506000611863610441600285614d77565b905060006118718382614d3a565b61187b8584614d3a565b6118859190614db2565b90506118918385614db2565b61189b9082614d77565b9650505050506118ff565b600092506118ff565b6000808284606001516118c29190614d23565b905060004285606001516118d69190614d23565b905060026118e48284614db2565b6118ee9190614d77565b925050506118fb81610b86565b9350505b816080015183111561191357816080015192505b505092915050565b60606002805403611988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610cc4565b60028055610dc4338484613b5e565b602260205281600052604060002081815481106119b357600080fd5b600091825260209091206005909102018054600182015460028301546003840154600490940154929550909350919085565b60015473ffffffffffffffffffffffffffffffffffffffff163314611a8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e65727368697000000000000000000000006064820152608401610cc4565b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff93841681529290911660208301527fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c910160405180910390a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b6000670de0b6b3a7640000600b546113ee84610f25565b600054829073ffffffffffffffffffffffffffffffffffffffff16331480611b745750611b743382610f6b565b611bda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f74206f776e6572206f7220746b6e206d67720000000000000000000000006044820152606401610cc4565b6000805b601054811015611c54578473ffffffffffffffffffffffffffffffffffffffff1660108281548110611c1257611c12614cc5565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603611c425760019150611c54565b80611c4c81614dca565b915050611bde565b50808015611c88575073ffffffffffffffffffffffffffffffffffffffff8481166000908152600f60205260409020541633145b80611cb3575080158015611cb3575060005473ffffffffffffffffffffffffffffffffffffffff1633145b15611cc957611cc3843385613e2a565b50505050565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f2076616c696420746f6b656e7320746f207265636f7665720000000000006044820152606401610cc4565b505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601e60205260408120549080611d6184610fd9565b73ffffffffffffffffffffffffffffffffffffffff85166000908152601d602052604081205491935090158015611dbb575073ffffffffffffffffffffffffffffffffffffffff85166000908152601e6020526040902054155b80611deb575073ffffffffffffffffffffffffffffffffffffffff85166000908152600c60205260409020548310155b15611df7575081611e37565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600c6020526040902054600290611e2a9085614db2565b611e349190614d77565b90505b6000915060005b73ffffffffffffffffffffffffffffffffffffffff8616600090815260226020526040902054811015611f5b5773ffffffffffffffffffffffffffffffffffffffff86166000908152602260205260408120805483908110611ea257611ea2614cc5565b90600052602060002090600502016040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090506000611efb888461170f565b60408301519091506000670de0b6b3a7640000611f188785614db2565b611f229084614d3a565b611f2c9190614d77565b611f369083614db2565b9050611f428188614db2565b9650505050508080611f5390614dca565b915050611e3e565b50509193909250565b60005473ffffffffffffffffffffffffffffffffffffffff16331480611f9d5750738412ebf45bac1b340bbe8f318b928c466c4e39ca33145b612003576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b00000000000000000000006044820152606401610cc4565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811660ff90911615179055565b6000600354600b546120699190614d3a565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152670de0b6b3a76400009182917f000000000000000000000000c8418af6358ffdda74e09ca9cc3fe03ca6adc5b016906370a0823190602401602060405180830381865afa158015612101573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121259190614e02565b6113ee9190614d3a565b600280540361219a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610cc4565b600280553360016121ab82826113f8565b6000806121b83387613f93565b9150915060008583604001516121ce9190614db2565b90506121fc7f000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091333089614158565b6040805160a08101825288815260208581015181830152818301849052606080870151908301526080808701519083015233600090815260229091529190912080548490811061224e5761224e614cc5565b9060005260206000209060050201600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015590505085601b60008282546122a39190614db2565b9091555050336000908152601d6020526040812080548892906122c7908490614db2565b90915550600090506122d83361240e565b905073ffffffffffffffffffffffffffffffffffffffff8116156123315773ffffffffffffffffffffffffffffffffffffffff81166000908152601f60205260408120805489929061232b908490614db2565b90915550505b5061233d3360006113f8565b604080518881526020810188905233917f2640b32e7e5d0fa2a21ea06b22fbd75fda0fda384a895a5fdeef43646de47a0c910160405180910390a2505060016002555050505050565b606060028054036123f3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610cc4565b6002805561240333836001613b5e565b600160025592915050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600d602052604081205460ff1615612440575090565b5073ffffffffffffffffffffffffffffffffffffffff90811660009081526020805260409020541690565b919050565b60005473ffffffffffffffffffffffffffffffffffffffff163314806124a95750738412ebf45bac1b340bbe8f318b928c466c4e39ca33145b61250f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b00000000000000000000006044820152606401610cc4565b6021805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff931515610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff951515630100000002959095167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff00ff909316929092179390931791909116179055565b6002805403612611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610cc4565b6002805533600161262282826113f8565b60008061262f3387613f93565b9150915042851161269c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d75737420626520696e207468652066757475726500000000000000000000006044820152606401610cc4565b6000428360600151116126b05760006126c0565b4283606001516126c09190614d23565b905060006126ce4288614d23565b9050818111612739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f43616e6e6f742073686f7274656e206c6f636b2074696d6500000000000000006044820152606401610cc4565b6008548110156127a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d696e696d756d207374616b652074696d65206e6f74206d65740000000000006044820152606401610cc4565b600754811115612811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f547279696e6720746f206c6f636b20666f7220746f6f206c6f6e6700000000006044820152606401610cc4565b6040518060a001604052808981526020014281526020018560400151815260200188815260200161284183610b86565b905233600090815260226020526040902080548590811061286457612864614cc5565b906000526020600020906005020160008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050506128b23360006113f8565b6040805189815260208101839052428183015260608101899052905133917fc2cf1aae6decacbc52f96b4e4fec96d4ebab5236e4ed987165537bc463014a43919081900360800190a250506001600255505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152601d6020526040812054600354670de0b6b3a764000091610f6191614d3a565b600054849073ffffffffffffffffffffffffffffffffffffffff1633148061297357506129733382610f6b565b6129d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f74206f776e6572206f7220746b6e206d67720000000000000000000000006044820152606401610cc4565b73ffffffffffffffffffffffffffffffffffffffff8516600090815260146020526040902054601380548692908110612a1457612a14614cc5565b9060005260206000200181905550826011601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481548110612a7557612a75614cc5565b600091825260208083209190910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff948516179055918716815260149091526040902054601280548492908110612ae657612ae6614cc5565b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600d602052604090205460ff16612bc4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c69642070726f7879000000000000000000000000000000000000006044820152606401610cc4565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600e6020908152604080832033845290915290205460ff16612c5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f50726f787920686173206e6f7420616c6c6f77656420796f75207965740000006044820152606401610cc4565b33600090815260208052604090205473ffffffffffffffffffffffffffffffffffffffff168015612cd357336000908152601d602090815260408083205473ffffffffffffffffffffffffffffffffffffffff85168452601f9092528220805491929091612ccd908490614d23565b90915550505b3360009081526020808052604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155601d835281842054908452601f9092528220805491929091612d47908490614db2565b90915550505050565b600054829073ffffffffffffffffffffffffffffffffffffffff16331480612d7d5750612d7d3382610f6b565b612de3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f74206f776e6572206f7220746b6e206d67720000000000000000000000006044820152606401610cc4565b5073ffffffffffffffffffffffffffffffffffffffff9182166000908152600f6020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b60005473ffffffffffffffffffffffffffffffffffffffff16331480612e705750738412ebf45bac1b340bbe8f318b928c466c4e39ca33145b612ed6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b00000000000000000000006044820152606401610cc4565b602180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00811660ff90911615179055565b60006002805403612f75576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610cc4565b60028055602154610100900460ff1615612feb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f5769746864726177616c732070617573656400000000000000000000000000006044820152606401610cc4565b610dc43383856142f6565b336000908152600d602052604090205460ff1661306f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f496e76616c69642070726f7879000000000000000000000000000000000000006044820152606401610cc4565b336000818152600e6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8681168552908352818420805460ff8116157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009091161790559180529091205416036131515773ffffffffffffffffffffffffffffffffffffffff811660009081526020808052604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055601d825280832054338452601f909252822080549192909161314b908490614d23565b90915550505b50565b6000806011838154811061316a5761316a614cc5565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169050801561324557670de0b6b3a7640000601984815481106131b0576131b0614cc5565b90600052602060002001548273ffffffffffffffffffffffffffffffffffffffff16630a3be7576040518163ffffffff1660e01b8152600401602060405180830381865afa158015613206573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061322a9190614e02565b6132349190614d3a565b61323e9190614d77565b9150610b80565b6013838154811061325857613258614cc5565b9060005260206000200154915050919050565b60005b6011548110156115185760006011828154811061328d5761328d614cc5565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff169050801561342a5782806132df5750601a82815481106132d1576132d1614cc5565b906000526020600020015442115b1561342a576040517f6472eee100000000000000000000000000000000000000000000000000000000815230600482015242602482015273ffffffffffffffffffffffffffffffffffffffff821690636472eee1906044016020604051808303816000875af1158015613356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061337a9190614e02565b6019838154811061338d5761338d614cc5565b90600052602060002001819055508073ffffffffffffffffffffffffffffffffffffffff1663513872bd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061340a9190614e02565b601a838154811061341d5761341d614cc5565b6000918252602090912001555b508061343581614dca565b91505061326e565b60005473ffffffffffffffffffffffffffffffffffffffff163314806134765750738412ebf45bac1b340bbe8f318b928c466c4e39ca33145b6134dc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4e6f74206f776e6572206f722074696d656c6f636b00000000000000000000006044820152606401610cc4565b8051670de0b6b3a7640000111561354f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4d757374206265203e3d204d554c2050524543000000000000000000000000006044820152606401610cc4565b6080810151600111801590613569575060a0810151600111155b6135cf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4d757374206265203e3d203100000000000000000000000000000000000000006044820152606401610cc4565b80516006556020810151600a556040810151600b556060810151600955608081015160075560a00151600855565b613607600061326b565b61360f61151c565b600355600454421061362557613623614557565b565b61362361488a565b600081831061363c578161363e565b825b9392505050565b600085600161365482826113f8565b6021546301000000900460ff16156136c8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f5374616b696e67207061757365640000000000000000000000000000000000006044820152606401610cc4565b600854851015613734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4d696e696d756d207374616b652074696d65206e6f74206d65740000000000006044820152606401610cc4565b6007548511156137a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f547279696e6720746f206c6f636b20666f7220746f6f206c6f6e6700000000006044820152606401610cc4565b6137cc7f000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091883089614158565b60006137d786610b86565b73ffffffffffffffffffffffffffffffffffffffff8a166000908152601d602090815260408083205490517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608f901b169281019290925260348201899052605482018b9052607482015291925090609401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012073ffffffffffffffffffffffffffffffffffffffff8e1660009081526022835283902060a0850184528185529184018a90529183018b905290925090606081016138ca8a8a614db2565b815260209081018590528254600181810185556000948552828520845160059093020191825591830151918101919091556040820151600282015560608201516003820155608090910151600490910155601b80548a929061392d908490614db2565b909155505073ffffffffffffffffffffffffffffffffffffffff8a166000908152601d6020526040812080548a9290613967908490614db2565b90915550600090506139788b61240e565b905073ffffffffffffffffffffffffffffffffffffffff8116156139d15773ffffffffffffffffffffffffffffffffffffffff81166000908152601f6020526040812080548b92906139cb908490614db2565b90915550505b506139dd8a60006113f8565b604080518981526020810189905290810182905273ffffffffffffffffffffffffffffffffffffffff8a811660608301528b16907ff400e72e69ef4402819dfc57eeddc66f5eb69bf405e0e8098b1946ec1ac14a229060800160405180910390a29998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff811615613151576000613a7282610a07565b905060005b8151811015613ae057818181518110613a9257613a92614cc5565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff85166000908152601783526040808220858352909352919091205580613ad881614dca565b915050613a77565b5060005b8151811015611d2b5760158181548110613b0057613b00614cc5565b600091825260208083209091015473ffffffffffffffffffffffffffffffffffffffff8616835260168252604080842085855290925291205580613b4381614dca565b915050613ae4565b6000613b594260045461362d565b905090565b6060836001613b6d82826113f8565b73ffffffffffffffffffffffffffffffffffffffff8616600090815260186020526040902042905560215462010000900460ff1615613c08576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f5265776172647320636f6c6c656374696f6e20706175736564000000000000006044820152606401610cc4565b60105467ffffffffffffffff811115613c2357613c23614bf1565b604051908082528060200260200182016040528015613c4c578160200160208202803683370190505b50925060005b601054811015613e205773ffffffffffffffffffffffffffffffffffffffff871660009081526017602090815260408083208484529091529020548451859083908110613ca157613ca1614cc5565b60209081029190910181019190915273ffffffffffffffffffffffffffffffffffffffff881660009081526017825260408082208483529092529081208190558451859083908110613cf557613cf5614cc5565b60200260200101511115613e0e57613d6460108281548110613d1957613d19614cc5565b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687868481518110613d5757613d57614cc5565b6020026020010151613e2a565b8673ffffffffffffffffffffffffffffffffffffffff167f1d2f2ca53af5d2f333bd32fdd45f9c52ad8ebe31414f7792912077fcb3876dff858381518110613dae57613dae614cc5565b602002602001015160108481548110613dc957613dc9614cc5565b600091825260209182902001546040805193845273ffffffffffffffffffffffffffffffffffffffff918216928401929092528a169082015260600160405180910390a25b80613e1881614dca565b915050613c52565b5050509392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790529151600092839290871691613ec19190614e47565b6000604051808303816000865af19150503d8060008114613efe576040519150601f19603f3d011682016040523d82523d6000602084013e613f03565b606091505b5091509150818015613f2d575080511580613f2d575080806020019051810190613f2d9190614e63565b611514576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c4544006044820152606401610cc4565b613fc86040518060a0016040528060008019168152602001600081526020016000815260200160008152602001600081525090565b6000805b73ffffffffffffffffffffffffffffffffffffffff85166000908152602260205260409020548110156140e65773ffffffffffffffffffffffffffffffffffffffff8516600090815260226020526040902080548290811061403057614030614cc5565b90600052602060002090600502016000015484036140d45773ffffffffffffffffffffffffffffffffffffffff8516600090815260226020526040902080548290811061407f5761407f614cc5565b90600052602060002090600502016040518060a00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505092508091506140e6565b806140de81614dca565b915050613fcc565b5081518314614151576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5374616b65206e6f7420666f756e6400000000000000000000000000000000006044820152606401610cc4565b9250929050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017905291516000928392908816916141f79190614e47565b6000604051808303816000865af19150503d8060008114614234576040519150601f19603f3d011682016040523d82523d6000602084013e614239565b606091505b50915091508180156142635750805115806142635750808060200190518101906142639190614e63565b6142ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f464160448201527f494c4544000000000000000000000000000000000000000000000000000000006064820152608401610cc4565b505050505050565b600061430484846001613b5e565b506000806143128685613f93565b91509150816060015142101580614330575060215460ff1615156001145b614396576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f5374616b65206973207374696c6c206c6f636b656421000000000000000000006044820152606401610cc4565b6040820151801561454d576143cc7f000000000000000000000000be1c919ca137299715e9c929bc7126af14f760918783613e2a565b80601b60008282546143de9190614d23565b909155505073ffffffffffffffffffffffffffffffffffffffff87166000908152601d602052604081208054839290614418908490614d23565b90915550600090506144298861240e565b905073ffffffffffffffffffffffffffffffffffffffff8116156144825773ffffffffffffffffffffffffffffffffffffffff81166000908152601f60205260408120805484929061447c908490614d23565b90915550505b5073ffffffffffffffffffffffffffffffffffffffff871660009081526022602052604090208054839081106144ba576144ba614cc5565b6000918252602082206005909102018181556001810182905560028101829055600381018290556004018190556144f29088906113f8565b604080518281526020810187905273ffffffffffffffffffffffffffffffffffffffff888116828401529151918916917f1d9308f6b22a2754a1c622bb30889e8f8f956c83e524d039e9d65d5f052eb9089181900360600190a25b9695505050505050565b60005b6012548110156146485760006012828154811061457957614579614cc5565b60009182526020909120015473ffffffffffffffffffffffffffffffffffffffff1690508015614635576040517f092193ab00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff82169063092193ab9060240160408051808303816000875af115801561460e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146329190614e80565b50505b508061464081614dca565b91505061455a565b50600062093a806004544261465d9190614d23565b6146679190614d77565b905060005b60105481101561484a576010818154811061468957614689614cc5565b6000918252602090912001546040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff909116906370a0823190602401602060405180830381865afa158015614700573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147249190614e02565b61472f836001614db2565b62093a8061473c84613154565b6147469190614d3a565b6147509190614d3a565b11156010828154811061476557614765614cc5565b60009182526020918290200154604080517f4e6f7420656e6f7567682072657761726420746f6b656e7320617661696c6162938101939093527f6c653a20000000000000000000000000000000000000000000000000000000009083015260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016604482015260580160405160208183030381529060405290614837576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc49190614ea4565b508061484281614dca565b91505061466c565b5062093a8061485a826001614db2565b6148649190614d3a565b6004546148719190614db2565b60045561487c61488a565b61488461151c565b60035550565b60006148946115b0565b905060005b6015548110156148ee578181815181106148b5576148b5614cc5565b6020026020010151601582815481106148d0576148d0614cc5565b600091825260209091200155806148e681614dca565b915050614899565b506148f7613b4b565b60055550565b803573ffffffffffffffffffffffffffffffffffffffff8116811461246b57600080fd5b60006020828403121561493357600080fd5b61363e826148fd565b6020808252825182820181905260009190848201906040850190845b8181101561497457835183529284019291840191600101614958565b50909695505050505050565b60006020828403121561499257600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561497457835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016149b5565b600080604083850312156149fa57600080fd5b50508035926020909101359150565b602080825282518282018190526000919060409081850190868401855b82811015614a6a5781518051855286810151878601528581015186860152606080820151908601526080908101519085015260a09093019290850190600101614a26565b5091979650505050505050565b60008060408385031215614a8a57600080fd5b614a93836148fd565b9150614aa1602084016148fd565b90509250929050565b801515811461315157600080fd5b60008060408385031215614acb57600080fd5b614ad4836148fd565b91506020830135614ae481614aaa565b809150509250929050565b60008060408385031215614b0257600080fd5b614b0b836148fd565b946020939093013593505050565b600080600060608486031215614b2e57600080fd5b8335614b3981614aaa565b92506020840135614b4981614aaa565b91506040840135614b5981614aaa565b809150509250925092565b60008060008060808587031215614b7a57600080fd5b614b83856148fd565b935060208501359250614b98604086016148fd565b9150614ba6606086016148fd565b905092959194509250565b60008060408385031215614bc457600080fd5b82359150614aa1602084016148fd565b600060208284031215614be657600080fd5b813561363e81614aaa565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060c08284031215614c3257600080fd5b82601f830112614c4157600080fd5b60405160c0810181811067ffffffffffffffff82111715614c8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040528060c0840185811115614ca057600080fd5b845b81811015614cba578035835260209283019201614ca2565b509195945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600082821015614d3557614d35614cf4565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614d7257614d72614cf4565b500290565b600082614dad577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008219821115614dc557614dc5614cf4565b500190565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614dfb57614dfb614cf4565b5060010190565b600060208284031215614e1457600080fd5b5051919050565b60005b83811015614e36578181015183820152602001614e1e565b83811115611cc35750506000910152565b60008251614e59818460208701614e1b565b9190910192915050565b600060208284031215614e7557600080fd5b815161363e81614aaa565b60008060408385031215614e9357600080fd5b505080516020909101519092909150565b6020815260008251806020840152614ec3816040850160208701614e1b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea2646970667358221220195a7f0130650f66afe869afcc630ccd2568a662b9d8a49a5e24014311e40d7f64736f6c634300080f003300582002e091060b052eb91c2d45b88f1236e9551462b780e00f4da4d8c3febf2cc71f481bc16d674ec800000058200275b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9483782dace9d900000034ff2286b1fd6ed43e21e64d40c523f7c96c50073b0eda94f5da9a0a7f4f03fb700581f02ef27007e4b73adfc83d799cd8fb16f325fdd0a4ac2d9c60fa084f6688ab0481bc16d674ec8000000581f02f1895129b227313fcaa91d17460d269e37f5b7b00a2049078f175d850668410100581f026384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0446682be6302190803005820038940d42ce53257a225dac96daf3df3780eb869f6879256e023c277a9190470481bc16d674ec800000058200388f94443ae5eaadb1a4d7dd61206da5f1a90fa477538358107dd88162e9720481bc16d674ec800000219244003c25c1f8269af65c73f5f4c9c882614d033cfa482068181dd0ed51512536a34fb01410c005820033f571d6401ca38ae67eb7fe79d5078338fc5ffbe4497159a992edda2c58b80410100582003c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e0410100582003fdab98087d113ce5c2f09848f004bc728ef9a9f29895d5dd699658487ffca04464c7f36f00582003574874ac753b71b6af74132e9ce52cb28dfdcd4de291d324127a608f2e98e047d6106792b156cc021950a00391d70afda3bba38f7ae44c64b05d0aec4b2b237c223b83127a3564ce10f316b10319195688b012bf0d8422e5483d5ee139610b64dfb1f4842c2ca58542fa43ac0f00582003fcb53a2a4d45802dc518537ebb8766d0b12303637c3fd22e1981a0adbc74c05459cfcd384746ec3035299d90782be065e466800b021944000386b67577c9ded710871c6f10e5b848cb7b7e6bea0f1e833f9d5ab6fafa686c0c0347126e7a2bc2620fa4844617fc5ed4b731f98ccd3085df037a1d395a8e29ec9c03e376b3f0d039048ecea28e6860a493999124e3545359afd13f5e408b5e9351f700581f02c8de1bd2662b10637d113a637702f276c85a44ec2ebcf9b30e659a08502347d6ae80c98a7ee600581f02c122373e0e84ca84377e7b1d37dbb74ef8dfef1c9843cae4298550d8efb3478844ba710757ab0219014001410700582002e494ed93dc4a442c49a21e14039b56bf1eca54af12428c2e52391a1d9c2ef15459cfcd384746ec3035299d90782be065e466800b00581f0262a10381dec21b205ed72637e6b1b523bdd0e4d4d50af5cd23dd4500a2114b451ab4c0795dbde8364c3900581f0258076cc5fdc2d334428be54c05f483734979e2530e55a16284edd50c8c37481bc16d674ec800000219102000582003332104d743763a2417b311fa033718dcf92a2924fcb38b3dbfd5eaaa8da50047d136b35c91cccf0219801003549f9fd642f7e71205560b599e11d8b4c80c0ac72d2c59dfa6e3dcf8f7a828be0219fbff032a5ed39b0942029621e85296c5ebceca8d546b8bcc4e004617fe82fbf3e2a010005820039aacb78d5fb7b6b24d20b43c6add0be272b25eecadd410e07b300596516290410100582003162c18b2e1d6ce94bfd829aa3b6a5dd90673b9f56ed5c0e8320dd6110d8f6041080219404000582003fef86b1d9316b34afa72494448ab383cea97bdd9f87dc1d554bd4ce1918ef049056bc75e2d6310000000582003e06b67cf6a5e90756f658be7c4d081c8fafdabdaf4a72f9e146741067eb3f044649cbe9f02191800005820028f68f7b72ba3e6ce13ae6321ab7fc6fd9a773125a0402daa20b81d4924cc7a4464232ab3005820028b6c1707857b74b3a719bf88feaa7d4cc91168c95a19229e18ab04dacdd61a44648f9317037baff8f87fb7db25cd03b8f9fb553b80e9249522bea49b9c12c2fe3f2b33aefb03ea02ab9903fd3e1ba3c27efd8fb163389d4f2c98d1259dbed598f6d6f142428c00582002d2c70bb7b49109c92f2b5931919aced0c75796903fadfc81270318d5036ed6481bc16d674ec800000058200242460b7f37761c17cc421006de0bcf83f2accee3472dc892761bd2432e669b4465c9fd1703d76c2a95f623625b60b19b2bc403c90d4b0db774034cb1e1b0558e27162d25ad005820034776535333d90093ee1faeb2467ca5f03dff8667f01896b1a77cc833e3a38058206c309b0c81053b308b036a90a444f3840b288852cabacf373257d113a64429cd00582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720410100582003a14d9f6f0d4c78b215d4bfe2fa68912fc42de3369ce1aa81e3f5720278e3a041010219084800582002d539660cd9d716b68a294ba739e6a18bd005381a6ebc13c4e514ad65c6551858205c4969cad9c65daf9a82b04422ba90196e3335f26b201767783f17494beacff6030ac84b929648960d678d16a486df8e3db3b8cc1f276112c4058fbd5fb632f93500582002598bfd6f518b44f33a65c233c1bb9191f77c8495c1fc5da3cb97629586c63c5459cfcd384746ec3035299d90782be065e466800b0219dbff03c11c329220c5dd6b24c00d24bca7cc59e52e79d5b5086433476ae5b052d988f700582003a4e3f23ead73ce0a26ca3e56474b9e241c9906b7534690cfa4a71dad220370410100582003f0195d7e020a669329994e60f19462171727763ed300e292f7265fc336b2904b16e07fca79722aebe900000357edeab5aff7ab6e3b553274962ce3a58d32f26afe04adce6a8b1960a38b7feb0058200310c0d2e950a7a5a83d6095c552152fa9fd85c28734a315e17ff728fee36ac0410100582003fbe0fcdb52d60d492ff22e94930965de0050c7f09fcc4386d242161ca87a404465be5f1b02194d02034e2c6af5ef92e6d1fd70b2b4128eb91916ce3bfbad8bd503464668e361cc10c0038bf574ede642611e6b43d412924c501d35d5200f202a460e7ec5af564b8ec450005820030b9897b1343dcb3c8e740447afcb68afacdf5e313758f6c39bced81ad842a0410100582003ad2f639ecb9337af892858d0082d09f5d539d9c5aef1254fbc9b76975e7ed0410100582003a7ffc3da13d297c3e8a281bf5e03152320debb5a150a6949850fe2858877704b0e4c3dba4211108920000002194006037c0cb2b2ccd06690e91592db6bbc1c0284f42b71614e6ffb535805f503bcd7b103bc516e8b5c3ebff59e581e32ed0ab0b2401c73fa8643d9d8bd767b7cd292ee7d0058200277c54a0cc06510d2edc68816e2a21ba30643fad52aeb86c818e9a5f7d21c355459cfcd384746ec3035299d90782be065e466800b0058200221bc983a2b850d985287a61eb3de6fb077f0b7fa7a12a5f156aa7a9fe10cf847d2728c2ea63e12037bd4447fb5fe1f9c7d1c8c08aa3578110b0c9e26e5ea509f4203571c20bdbd6600582003962e3f68c15464961b09e80260f8787c5a111a3937e697eb93b634a61d3a904101005820032c7a564d0c04574d2b69f8a33e6e0bdb21c6afeb7c5de8f42bea2dde08b6b0446609c50f00582003846d3e819239c48dfc83fc1a1d75abc47a814b8b5f402ae6b7d58d702502b04463e1097700582003a729a38ce62f4edede0691376f0fecce57b06dcc622686c325ad343cf2d0205459cfcd384746ec3035299d90782be065e466800b037b790580d8b720c8a9988ec048147fcf6c1b497a92876f782deb0d96053ce356005820030c468ec3d422828e4beec89a7c835eaafef0c769ce1a3352362b678101053041010219266403a647e8c512ce8c55d09a910b2be20caef2407e965d38bcd2dbf6f712226b547b00582002d30e282cfbbc5aeac13184081757883756796f7afa521972655aaf712c756a5820a26facf76a8be56521a73c535842669ba95db9da5a4e73e2e493319142e5337003e6ca73894379e84797b331ecc01910e6274c58264d144ac5e15affe7f2d5cc730319653d64b01bef08862a95e91bfa56589f0577b7259330058ad3ec0b8e78e3a00360b4f9543a035d82763126a1b90cdd31eff86b06c3c88c410712ae8883bfba770219ffff005820020084288f92dc57effa8f1721b1985072e7dac9f678292d86ce0e811fb7fc1c410200582003aa9598969b96cb58085278d5a7cc8926c36b9a6fc74bfa09665b3f7d62d3e044633d721f03eae822f8f96c57eed34104b178aebb29aba347579aadeb34ef18e86d7015d6c300582003d92d765cc8c45227f5df8299dab2e22eb209f8cd24d3c13769fb16f84b3550410100581f0288c05a8c88d294524aa95ab2d548226b6373cd543fbb6726343ff45e7a8f481bc16d674ec8000000581f02c21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c684101021918000219410903a4ec3b0ee76976ee506706e81b454731426c9e552251c747213ebf611a91019903f400a658a527b1097a5f4486051d51218001c163769437b6ad7998a7ee94a9ba005820039bb5215b6da663f065bfc58cf729e1eb91898b1d03ed82101d4ecf6e6c66504961ce532485311ac03400582003c265e11bb142505c40bd9e1de50bf36b01ea4d2d1af6de8d52568746ae18c047d32a995efa4cce02190102030d6784e95c46df9eac7e7b19e9df6edac67973fbc7432579666133bec645138900582002c7a5bad0057ff18130fdd0a035ef7275c215cdcc7ac5abf8d790e7b08293c15459cfcd384746ec3035299d90782be065e466800b00582003c3fdbddab736f1bda2766064cb710e99b38547f8b03b458b7f92dbf24170c047d185300a298adb00582003043a95a4a0e21327e0a5e5de517ab0f0ba5fc4569fc2c13e721b313f0ff9e0410300582003964f02693470732e2683cf71f3ce81652c989da7094591efe822058048fc504804939ed549c69453005820039dc82e9d933f50a32c1d1f4fe59897b3c44f16ab07baa38fd65339ffa31f30410102190509005820030c770629c438c40d8ca9caf458d1be467b7fff1f60323a909ef6452b7916704463241adb0058200331099afc9269b389e0d266e8bf756c829603e67843da3dc769c18703e094e047d6ae80c98a7ee6036da9b1e73fea47ff0beee5ff1912aef2c31956e767826d915d53f57307f4681103721d65a6ed95e8a20a9353f00f5850e101fea629d663c75755a1c8569d12f9490219410303700c978cd3c4afc47f5c96273d2e459bfd705410beab496a7993fbe10aaa597000582003f8f824b55e0083bf7d7792f1bde5aef84a35c2ee407a413b69778260d9a86047d34e6d25a9d09400581f02aa4f87544323a9d1e5dd902f40c356527a7955687113db5f9a85ad579dc14b1701afcbe844a9a56d6de500581f028e869ab92e739b04c769ac9a3a23a50ea5c259f877c3b12e760e0e144e024464d3591f021921000219240003efd0616e6379ac8e365c7d1b19fdaa7a047ea211d86e557acd0aa6352c23ef11005820027d8da715d4c2e8e6754f2aeb5e4ab2b63dfc83011c65ceec2c7204ad8a42165459cfcd384746ec3035299d90782be065e466800b03623f0e913feb252b3ea3dafc29c8636641b22d1f887d4dfb5bf664d569543417005820036683d1a03ea6ade566ecf2a5b552879e2f2f4793598eae1b0460f73df5fd30410100582003167d07a3ced8ded881931b69dd9a88fefac2446feed5ecae376de13948d850481bc16d674ec80000021908080321a85174af2e6ad62c9609f60c4b6975b224acff68d0bd3fde3fce06cf2847ed0219ffff00582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace041010058200327294fe67a9615830240030af34fbf29ce4e35549fac4705ec19f57f927870481bc16d674ec8000002186000582002bd7527ee5b39586d43ab16fa882147b942bf3bab7391f021a1f4ed08419d0d490277f164490fcb581900582003b5ea8b779ac32d23e979aac68cb60a6fe7e2c26ff942ed69f90fa01a3de2805459cfcd384746ec3035299d90782be065e466800b005820039858df810e1d4d8699cbc729a0aedf73fc9bc96de01f2ba5b2aa156a6a8ae0481bc16d674ec8000000582003017144c96004fa0a99e045cf75794455a24556c6274479211faafb95c9cd105459cfcd384746ec3035299d90782be065e466800b02198012036ab7cf5c06476dda5dc1558ca39c7295515cd470b7cfad8c8a530706cf7533b8034e964403c982f909ea34bedd440e4982f0f8e10a1ba2d5a27d5f0e8d8f59e35e00582002d9fbc23082f436d66f6f4f6e18da2f090be9659423225dcf04f61ffc2bc239481bc16d674ec80000005820033a76db36c7c82781d74ae5d40a4f52614e69ca7823c093d120a50e0d264f30481bc16d674ec8000000582003a8db62322002f2a32282b0920534bda8e7644a5b0c30d0f6f829fa206f91f0543669c421b77340b2979d1a00a792cc2ee0fce73702198002035a22354fdaf2a7e5ed8b4501ed43286777438191298b8498d32e609920bf7d4900582003c4c56e51b5963e2b4a4d98461bacb0844847f273fb977493f17e7a665a57304b08943ca47002ecffb90000005820033124f8e563c47e679f63b77dece892eb94c4d1e70b82ac84642d41042be04047d29d8d624376ef0219090003bdf8437ef122185ebfd88ac1ab27606a8d607029bb625b18d8f2efc220a7203b03f595f40f68800494aa315a3b07a96fdc459260fc446bd6170ef783df86328cd103f887310ddbc19870c14cd1e4b011358ad5312c0dc1b664340e926de303b44c8800581f02969e3ec1301f178b9aa9b5677c9b283cfb2724fdf47bbbb3d49110487be647d411a7b8f41ed500581f02b79f7b1b0f5975dfa65b9ab961a7558695e12c49b62bd5f11cfba8383aba478844ba710757ab021910010058200360bef6957a677610f12ed7f09a7d6be82e597097912cb2cd7ce6e62a4de570410102188103bed8e1081bde6827b9761aca8f39b92b7c948c3506c78120d90c34d7564732bc03e6bcc7337c4270a060fd262b3b016380fb7fda4a2ccd30c1e019103dd9145fc50219ffef00582002f29ae464b17aa44f1de08efc523f11c5bc2d743622f2ef1805c70fb62853b44463ede7e3034dfee0cb2ec60dde2bb10b09de98fd6565bc6ca5ea7c5274700c96259323f244005820025d10d386895f6934887dcd22f490b0d4469843be2875d1f0aebb759c05dc2d47d5dd4be421964c005820035d48418eb054297f568511c203fda3817b784c9516a2faa01b19cb756d78205820660b7070bea154d0f7d7ff51543da447791ec5eae14e6a100263c676f848d213005820037e91ed0cc8bae3136e02784d73bbf5cddd5d74e9f6d92299ffc15186986cf04102005820030cc76ada68eaf45da62d664b522ed36e96b67d4d407a4583b9b09bcf18ca6047d0ec5f10036f8d0058200317bb7fd4c32f23424fe3fdbc378c22e01f1151038888d0ea11a5abb18a03f044655c032b021952200058200337c73d036882ef1b561c9b2d802e0d2aeae9e90e42895b0be5313453638b804a0c119faeed598c6445300058200393038d3ca5ffbb6372939d83770792a7fbc8110634491022c4dac8097acb70490c9f02cd24ba25aa0d00582003b153cea5885503426c222d02288001f8ae1ae1637bf14dc0591660d9d0d700410200582003448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec4750410102198a02034bdd1ac131df4ad15cb8acd2165d81b46098a3e28e91d8cc99e54e66c35ec48a03b6687ec955be9bc906631d8faf4ea11a82968e0573f6c3ccd79f1ef90dd0b9ae00582002cc7b4b0fff1b5157d98886270120761d3873d3bd1a2ed2ff4595054e6fa02a4464fd55230058200200e54e023f2f71600195908b97d7007d1796dc509f6243ee4dc4528a6b97a7481bc16d674ec800000370e8167298e3229096936ee259cee77bb850dc7c994ca02ea12b45cde0101b4b005820029c7a3077ea4c1e69271e202201268fc964684af2acbf37a85e108a159297c644633f0fb303dacf91f354e26456a34f4ef10a1c0d221f1b05a71a59199c54122434f36f83fe03703abc83a7fd509e13006909add2782ebf9669e546c55437a6ff8dffdad0434b005820028a03714b92737143cd2c130009b49a7b0b4a3b2417a9866520d04bbaa0be7447d25527176b2bba0219ffbb0343ba230268fdfa70a4d13d4f0eaebfd81c6bd34b311d101b328f94e3f6ccbb7003c5e562931a7440717422c52e654a11a0681872f1a55fe3c99321218cc64c79ff00582002805978be9d0bb8554aa141c78fd0192405f063acd19081eb6dffdadf0e00c9410103e7559bb98256353f99c0933ced45af89a9602e6319e58a29927a52488bb64905037d1dfb06c651debf5b6442704140548862d17370e07774a526e41fd09e6df8da036a4100f6dc05006310ee9efbf25a6e94578f9ee7d4ecc1a28b02eca5da92189803d9c259d284db44de520ac5bab25b020e0422c8789b194103f1fa4b78e48edca9005820036dcc1c0d25d928fc97bf81b18aca1dac690e6a26e65d4d94bbab1b77fc8b105820da8550a1dd61529268fbd63c5b1d8288d45501ccb9309793d482a3d38aa5a39a00582003f5f4df399d9f9495aff97e2e3be554386c77d9c3fe4bb80fa6c37bbb06add05459cfcd384746ec3035299d90782be065e466800b02182100582003d0ad21f09ec2114c7af3f1c20d10984878b4109e880e6267fb90e60192a9e0410100582003864701b7b8ece78d3871e28b0eab6f499f56b35913d16ee34bfb91a8b5aef0481bc16d674ec80000005820033bba263ee6f6ea1a88a5581f066168c71c86114ed6821b6791bbe9031f0500478844ba710757ab021901a003ab6061c7c1d25bca4a0fb6603f4837d8824afb7918199eeb593fb9dd910a29b400582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0483782dace9d900000005820035dc0acdbc1dd62c52edbf9a28d6a86580dd42813cc7f0664215c4afb4aac404102005820033abe7ab2eeed604d75662a430d394318807e0a25d26d03431fb368576fbe30410100582003978a295d0e0e311c5d0da871539e5eb09a18e283d8efeda528cbd588ce0fc0481bc16d674ec80000021911120356cd8cfc9508b267db2db921bb700c20d88c1f8b40c66c86fffe8c9b6d17a6a50219dafe005820021d3de8940b9d5e2a4bf7b4776aee82c9fd024ecc134ebda8bf5fc9a176cef65459cfcd384746ec3035299d90782be065e466800b0058200209abfa8eec92e218727dc0d4bfc5bfb457e7670a41a5a88d00d3955a0584414101030f37023f06727d346eb1601ab3c2c98e86e8bfddea18464624f0f6f59841524f03f4c7b5b907aa06b86ad30b79deaf2bb7e5f0b235948d91fdcf9162537f896a9903b508105dd15e467861f36c90281ad6f99693b1551a6283d497c27211f6b9b022036bf51721f80159b6e1cb9c4b6f1cf9ec81c2d3bcd305ba3fbb9526baa5e48120031ecc86debc29dc39f1593b12c4705cb18f84b515791407ddbe9e32a9ad2c0621038015454581a6c05bbc717b090590a09d8d6e60a0e05700c30849388717c9582f005820030c8090d3ed549b574d945051b4cd7d4a53c60449d36f8ce7f6d8915af4a3305459cfcd384746ec3035299d90782be065e466800b00582003dd80fa9f097c0961b3dbeaf91aaee9849ac08c822505dbaf709b2a86a659f04463eef34300582003c8a3e515c59c900bb284f6bea25f017fc38084865026e82a748d8cddf9e910446682be6302190a4003496ec98f9952541385f7c4733989972d1d182d54b0d9ac606453481ba648b2ed0058200269d2d2eaa5cfc5780ee1111ee381f2a5d9fe1ac78e9290066359c5d582bb875459cfcd384746ec3035299d90782be065e466800b0363a7972920c2a60556b4bbf22de33064bdb606b83a99a8e7ed806c87529d6592031f66bd785146f4e32fd4af8379f717e21e5147dfaeac2cf04e59717293fde5a1037bf67962de742111cef99ec6801b76e95808bda823c89a03cc13100f338c4ede0219ff5f0058200256b68482e621ede07b097571f1e5b62ef40d9d8508ee5ebb9495efdf9734274105036899a19d9753e07eb755ee78d384ecdb6b4ed6f0c866dada76308dbdd2f33ba90374fb40db8b63890ece935ba946bd70dcd97d8cdc1be0a58d6bcf0c6b764a1a70005820036a77e3a78c04eaa5384306c85014a97eb92d8e412944dc2d08f13a990817d047d656c7be414f9c00582003d42373caa888b39deb209571ac8228bd72f6f57399499ab547d16ab6f70a305459cfcd384746ec3035299d90782be065e466800b0058200349fdbd14c514edcede0035b4947628dd5675e0e70a27f16f9e9b8c7f1c00804b44a17f5f6c5680c3bb00000219900103bbbf0ace1fa671da7a358fd09d45a324854f4e8691b15ccac44095a9c956cabd03cb2d33d107b6b4593f830e699c867cd1aa7843477780367bdc998db85018c2ac03d54d77dfdf24031f780988edaf3c9d8ff79055b722dce80c4d5399342d3a0073039fba5588c379d56e46ad8900a5a08941cccce465d17bbc5f4edc1be79615772103618e981a1c325749203696569e6b97aada7b961459092637d0402d6bc929a868005820030e6acef63204956d46ea59af6b7bc89921e8c4cf2ddea5acf0bb8ab63f132047d156f108e71243005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b044668aadff005820035f08dfa43ffb2d56109416b977a32ffa8c28dfa121bcfd9972f24d09f4628047d19cae7aecd29d0219010a00582002fe894710d7fa275e47a1e5c3548f28629d5acde3015ff33ac5f5922d2c9a52410203437ff1da5bc7cb6a073408a72463610af4a006a545dd9191b33e882dfbd7a9d3005820039bd9c63c63c312de6d7d2faffa26284b28cacdef74605edd764d1c54c0f9d04463c89a5300582003be1306045d3aec05d01f0bf79081e69c64eab0e97164fbc39020704924a9a05459cfcd384746ec3035299d90782be065e466800b00582003c6f4f9afd1b908ce29ac2af5093163080cfccb8bd40fc7da83179c8d0052904463aa273f00581f03ffad2d91262d1e3c9a8c30b68f6b412755afbe1fc9682e66e344668421c0410100581f0352e937eee1a9e678e41b42cad2dbd75fa0bb45a16f11b57b5e3b89a25ed0446685e60002184401410d0219442200582003f2b9253118baa1f59b1a25b0c833e8e1708c706d8b830f9a7adaae59660a3047d18f73eedbbfed0058200320b8b177cb487968c369f2fb9e67f56f4f1e98cc2933daa5a425efef8ab2104101005820031d8175f8884fe4b324df3cb62c27e47623dac569cbb37b14ac21cae61529f047d2983ced4000ef02191801032879d3887562a1deef57247b88082e66a76bc980dc352d2c15f1935377f6a6170219ff7f0058200235e2fa1abe212c9035935d868183ac554e41d196aca3d9fc68b9b83a5c5d5e5820a8cb4707672670bd0e67eaba8858a9adeecdc854ac63878dc0aeb0658729cdfb03ae838dbd8788d0de99570fe197642e7a6ec7897d315ed7af4f0d698468d95e730329e4f6621f074fede5b524f56711ac30b72064d87195be9f83c7fa862266bc75034173b874bece56d2841128f14fa12670d33eb7d3ad8f171ebf5e15bf508faaa7005820024998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c96954101034d0311979c91f326e85019b7b30f1328f87800ee8e0171d73517e4ecbf2d652800582003e4a7e0be61e8f5270dcd4d67ba099a832ab8a7b484538049ec3bfc2e129b204101005820035bff0e4d1235e8f3b484ab3cd75cf05ddf0e04d8dca42bf2978d311e3d2a0047d35bb39150feeb00582003dd46ed98469d1be0f0373b043855a50675bfee670982a10ab92e9e286ac520410100582003259efaa78ca7b837299ab229a9875bf37494f2b005ce153f51687b62b9c8405459cfcd384746ec3035299d90782be065e466800b00582003e83824aac0249ccc9b4a6dbd89bd1d50fa58d31c6bef99b5211425dba481f04a043267e36e66a216816a021901aa0058200244a1bc9c70c39c731dee686607a7cb584c68e232bb47619e7b716b16c39d34481bc16d674ec80000005820020f1349b59180c705f6981f68d7778d0d7f813b1e00c50b79b820dbdca18b2744637760e7037bf35c441f3831783c134427570b404853b6f6fb19095890f5aa2af26b83b76003230a68668999424b8cdbeff90a5440c5e44f4c12dfab4975eb16428cb7e55d1b00582002e84f7cf9a14c7dffd5e978542b97fc9953ff695f9a2690f331162ce43b3c4158202ef0164102c006356b8e8ed32b2800c0bad7c9f0c9de5c63e6afddac33c790d203397772389d08197ab4ce1a43f6788776191836e192cb489c013ddaec42e4fbb503d3134de4f52c8c5c642edffb139cbe5d3412eb5f4442be8f080eee673096d3920377b44f2531ea875c164474c38cada016f5f4abb1e3f259bcced947105f1380bb0219dfff005820028e37a713473229bfdb367feb41491ed04132acb13b383b28ee2f1fd72f97304466236f0f03b74a3c63b6f3fd2ba8c665f9fe6d0e7d25060241c52432bc8f6a678edb9242680058200322f7a16d21830de068eed00009e3c20711894622a3476e3344418da02f6ea047d44b93cb86154f00582003ad7d55c02d8357201faf709ddc5c07e7b9585d5592908585494c98abae783047d211b7362bb84c0219010400582002bccbbd3b88341a61fded320b8a906b7687c53cf1ca94fcfdf323be731574b347d293bbfbb0f62003c5697fc3b8bbfa485b2f4edff5eaede234291b8a340b80029cb81bc00f17a5c100582002ec18e99d99ec7cf481e26bbd36de5e667e5cae787026a7c09802638a4cde884103005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6884401e1338003f013a04a5116c60f4dc17538d4dae41b209686da237a4340d1c7d2d7496fb66803a45e2d6710f2be89692638fc0b8fc36a6b3dbcf977bc58e5471561989ea517be005820022cf2645aa84ce947522c174243e27a37a8c20fbb6272595020872b24d9e2fa446540ca5b03930971650b7a8411c743612896540d2427e7800bf0843960497b6e75ecab138f0058200374d8b935817753fa0fc129f18222dd46f031014fe45e720b1496829c9735a058200fd7e147d6b2fc41a56a7f5dcd32d9df43570a3416f69c80c0830fc7f70070fc005820031742070d0f7859df08e836946cdd31fe9008a10589f7ce3c3b0c28d1e6a4804463f398f30058200302ccb9eda20344228d4a402630afdde8beb25c89b1060fa3b569e3d0d946304a1fe3d5b40bfff16c38ac00582003c0279662c11d0b9d555d7c01cac7f23abc3fe3b035454e5309e58d632ff8d041010219601403f9f18c7f335c623104e9431c4be2054eec7eb93bd8b0f24615e63a6ff384b01e03557bbdce08d7affef51dda2746f89aa10c1718fd765831aec93c0da1015172e5039330f947e2a36ed868f7b7f0f5f7c53b2786815cd551f04f748a22317f24cc6403d15c6f43b1a251f1471c7851583241e06c6cf92fb51ae1ea309ec073a65a0a050219ffff005820035af0185b4a0ff2cbc71dcae5627249ad026d81b168622bbbcde5e7188d0070446323853b005820039109de755851537ac7b3104465db3ee8f8a368d4dcf2dfdc1d468861d7ac00410103cb685eb51be6ee48809fa2ab8426b8da2c7d3a490b11459822fc2e9a0d9ba7ac0219021403ceb5789e7048bf2c8227b14af8d65b1f15d9e46ba8221305fd6307912927e55c038966383380e28521f8002556274738a5e1a195c35b18a642b9a0bbdd0871cc6900582003988b0608ac63b8c38e041a4e94cd6a90ea8a675a3cd0742e477a022b3614d044647ed8a300582003a2b13686772ab1843e8cd46627dcb17372179208299cf6376321b01c2dd7a0481bc16d674ec8000003ce069e7bab94f62831d34aee6e6a684c048f033634133644f9c07cbb5a799e7f021928200367af3235cb8e54f070b3404131f456de142148554f3529fc164a210beaec2e210058200231d9dfe8024cca78d087935baaef3ba63dd332af63978b5c2dac90339cdc0647d59fd40738d5b6005820023aba058014c5dd68d3aee8fe1ea2feffada2963de7b969167de713d4fd7bbf4463ea5e730385dc27fae886371d987fe80e17283cea20f1c6673b3e06d35901c76d2622cadb039d8510853fa982497dad350314a3569b0ad3fcbb84918ea82b9177df084dbe4603e341216e7bc1d75cff662fa24b8f62fcea9027adb13ee8892e157cddb6812e5b005820028a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444410100582003d3c37f7c1d8f1272139b9fdf255bb00f8fb24cc749e3091260f45732fdf0305459cfcd384746ec3035299d90782be065e466800b00582003826f01bf46a5ca30285a0937931c9350ce156aa354f63f15fa0985577d59904b1701afcbe844a9a56d6de500582003fa38896357c17a0a8067cb3de58f4eec40e6eefc195ee4095c3eca8484b0305820a8b18f0f3ea414dd57bf2cbe527494cdbabdd2e04679a7c8229232649c030881021908060327c63fe340df1eef81b700c2891667f76dc89dca971d44c67c0dc3f869a0bdac03f224ccb174cb7a183a6fef187260e0ecad8555b71cbaa63fb35b5451a5531f160219ddff00582003e16c20ca0c8b470e9ca4005ff2e7d7c7fee56e28d181333f3441aad8ee8f104a0269ecbc95deb5ada77003b48763ee3e16bc0199e073dc58225bd6f78668158c53f25e92d6c358f393e9a50058200306b56abb1b86b9b333370aea725b76939ac2ec3704abce7d0635026a61601041010219100603d88d4bbb2ca91b9728d9c4bdc6fd43167c1e57b932670a0272ca079785aaaba200582003844250dc60b208de3924391f089efb7d23e75cb2a1430eb164ceaed83ddc505459cfcd384746ec3035299d90782be065e466800b005820032216ea1d221f39b2fb413231a3a63a8307de0c85bc910a0fbc0916de94bcb041010058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b048037a9377e226eb7300582003f8956b7e1ae1a76c14acc14af88a71f5750e9c28e30201d43df46686008b2047d2be565ef5ebf00218b200582003877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89ce60410500582003a4319cf2c055ddc8713ae5a9d4647d6e87a0259bead7602823a9d7f64abdc04463e8c52f00582003d97ae95d17e02466a6c5674ef1c0e752dfb2e5ad625c59241e440732b27000478844ba710757ab0218830334d1f78d53651479958172094d478552bb2cc99e7a8ac996124a60293a548992033d81d8fc12280bf980843b459233ddf652c9c421967b3b64173f7c7b99a0264b00582003cc286e84ade1f211565dd2b8e2bcc8d41be11150b3682ee0867244fa2caca0481bc16d674ec8000000581f02b0b73c91de584e48237fe588510811524555809f5f4305ca7f5719c538c74463d1d4d300581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8481bc16d674ec80000021904020218300058200385f0d522d99e2ec110d1f6de4964e327340e338af1045a846213c1a908d5c0481bc16d674ec8000000582003f3e95cb63f9a4773a1d82e1087307f06738d24474bcee3135e31fdc086445047d3df1de28af55302185003a65a9f0a4814662416b9e1b1044663a40b2a313eef5f29dde629456c0d5051a5034a0d96bb3ef85785da72c6abd268b63965e2fc41e3212ca726382aa899edc02203b58dfd240d9794ebec4632524b78afda02b3665912b6c7e43aa4b12ab4f211ac00582002fbbc1ad095ca80a0d3242b965aba3aa1b7fc9b99be1b272e00ce87cc070bed5459cfcd384746ec3035299d90782be065e466800b005820037283664d6fe0d25b2ab21f661cbf8c0eb1c3da6a926d00c47383031d914810481bc16d674ec800000058200353b0d49e76608e0ce16d0c068be9094ab164f3b99fc7f3ef8ef3f8af8ea22047d30e66b987c8da00582003fadc568de5d9fef6016cd2372b7eb3ff3e31b2f8fe17d6a7d3fd01b3cfded04464523cdb00582003939f9f2410b940a8f0a98e1ae43d704adb1d7547928ca963f87db55dbe58f0481bc16d674ec800000219c08103d885eced2c04c342233bade8eec1daf273af15a7e909c1af25bfe18a62744b17005820030bc4621d0751d813b5c62e01b0e17c015a240bacef8447cd784f3f77be1640543432b6a60d23ca0dfca7761b7ab56459d9c964d0005820039319186296e6c5cb1d85a66f15b1625d07ee744e4c82de2c51de654f6718d05459cfcd384746ec3035299d90782be065e466800b00582003b4edc8c992796071d2f908ad6cd8a8d2391a5f6c809d2788c9603402fc645044661370ff0219c1000219fdff03be8e09a336087319bc576dcb991993b7dfa8be422afc76e25ec7d3a76682ac72005820038252c7d7b7884f09a49adf3c96d71cf0d7721542e926f265a8be50a206eb104102005820034ed2250ef485f9a07b213cba9eeec2970102a495b4ae2cb759990e76fba8404463d7cef70058200362bacaf3f4853847e472271d2692e40fe496a5b49b97b993d4ef3c2612b2204464104cfb00582003dbf114ac6631d9ea95ea15084a46865ca3be801ef64e4a29b729ebc25b22004101005820036a967073a14ce01f90278421f4ceadec3e2bed88bae7da164ad4af5ed93090481bc16d674ec8000002198503039394dd60f8d88b6c46cd695bbbc5e07e2470d988e5f0a77b5f6b3dd16bea291a03b82d95d00c8cc20b87b0a3632b24cf8686b449dd516f339dab89f40e522c45c60319c4fec80fe015f3ec68f3d01306363927181ca681a45f3a74048d590a903a1e005820024fdded33f2159654c1553e02e10a937848eccc3065e34fb0e6ca02c249a1945459cfcd384746ec3035299d90782be065e466800b036f4aa5ad93bd8ce2d188edfd9887387dd6047a3483c74b761ca4505f863b7cd7035e8bdbacd1e49b184446dea3195867b1eb5fff9cc72a78626ca3961258fc35ea03ae65144aaf3126c9f39a6990951998925058a6ba6551fc1475e7e30aee02004a0058200291d1d2d6c8e49332294335c5dc20fee44e82ee87251ceb783c1a24088086434464254f2f03777362db8384d3d28282e111793a98a5f7dfa6fb73f7145f798d3b96112895e5038e240dda3d3b91f8d8ecccebfe3054c261d6a4ddc3024cc833fbd1fe47eec222005820037a8f8251e9d8bace73d048adb95174896140c1923b4b6ec234365bb8739db04101005820035e83015937f732df7e712e26c8ac7b5202ad7a4009f463595ed2b8f0fdaa1044643d40630219400203629493e4f7d86193e9319f850b476f4d6ade3eee3595b5446ea9d5d0d5a267c800582002bbf71d289ebb9f254fefb58d3f3a7aff850df8ea49ce1c236959fb6846511c4101005820021a3567843cac184219b93aa1bcaeb7309f7f909fec2868dfd1284b9141d3f6446343f1330219ffff03a1cbd3351c39385acd32168ad9a5e8a81a045695fd94702ddce56d17b580bdd7005820020fb7adb7ed87e316b2b22ad786fce87a5fde2a3f89ef8467132ef590ae0edf4464c6865f0392fd79696bf37ccbf5f66856923e84d5917b709c526a6410a59ffdf845ae143c0382cfd5e45466469304702fa05f72cb886909c329e9f8ed1ae42746ee5a9e85f603ac92f06f5273c0ea1eb4d9e10f2b5b3cf075e5c37d12424e5738598864bfd55f03eb8bbb27e814a0f1b79e10c609be73e93256739c6ea7369f8fb72f738bcb576c00582002840ffa1bbed01e9fd78d88bb47a4deaeb767af0b6e61008a19ab3d409b072641010058200246301f39cd8d07327a7a71c6f0b2823c007ff42b0544ee8bd85aff03fe824f5459cfcd384746ec3035299d90782be065e466800b03a6c0d36c756f8247d80b64555af8dadf6e0f2cb990dafb913cf4a1e66d787eef00582002989b8cfc790d04a28123a64342d285effebd3912262b32542549efa9f7c888481bc16d674ec80000034359a2ed68d933c4d318a0899c770d3064332652ee507a0c4c0042ff60ce03d703ef7e55388bd0a0e3ce62fb9855f02dd7002d235a109802d0eee6463557962cfd00582002b7051e04576f83a466205ae5243f2898c0057fc54f1dc8762a3fed786461cc410103f4992b2e344d1b115b8f0b3675fbf1733630f894f6ecac5f8ed2c50423924c99030afea42dc1f74adeabac45831c49efadde14316115a96058f3132db0a6453bff03245c84c98815309bbe5852e601e96d31885799d14652f32cdfd76274355bdae90219ffff03053a7b77609db59a19fae5c4c34b30c654decec5e766c199d8dbe46c10fcf6ba00582002ac478c9d7316699d14bfc9f49655e948c032ef9c5f7329d154f6d86d77cdce41010379d34e7aadad63e13c331de99d59f87e3f370324e204a06a10c63536c8f36557005820031de3cddf2f00c1444df58ff40aae490be3606f83dc340ece7a5f6c6a262b804101005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30430910500219c00003f71c3561e73de9603a6e582ad27603068e0814ce8985155e3e3e4346d0afad1803389c1e97dc559869af640fcfd039605690e64027e855219a9b9d467784064d9f0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f481bc16d674ec80000033f7c65764338362a6a33b6392e26288d30080248436702773fcebad22978cbf803af65d62e0b0176114a650eef62e94590e31c26983148ab2fe622b3ed4c8dde2703ec56c2a76979908f05b39fdca0eb9f0de057e943c6859761e5e642166ca54272005820024f5d0e12639bee3f907ef327346bce31f8391eaacf95b4f9ead3b3236fc7e2410100582003645b50f4824c89d27d814bb64623e8fb35a354c19291ed34468eb1f3ad32c05459cfcd384746ec3035299d90782be065e466800b0058200369d8c7a1809d7ea905779accd0d5d3927608de08b0dc29c9e6a9b56c57c990480117a42af0370bde020c03fe73d97dd8b2d4cee5322cc1c7ed0caf8e2bbca76f2d77d1a3ca94fe81959e7f00582002707bca40e8aa572d7fcee68501d3f2c0ceb372a397920c1b04f59286dce4cf410103d4cae83ee72888f522780f5aa7d5a06c5871908033abedc0745899643e1c718e0219f7ff0219ffff05581e034c5bfdf1b080bea4703f0ffb8f74ee14559dcaee4a7f887a5bbb6a53300701194f2b05581e03360cbaf89cc4c67c2e4e21ff2fb61562bd19c4093bbd3d8c960d644d300c0246709ee40e544003f4348b0ecead2150c2b8106a04bfe18199d9174335ef1432b704dbbdd41d51f1037ec05407293c0c871a89c152a984e2d6ac0e4fcbafecf63bd841ebf1c228c4c4021984b503299ce65b0613bac0d735686bb79220a68d08d0f5db43556ff7921c679b2d0081036467295caf2b75a4231a8e3247c7524dd87f2ce530541f4284f451b75722859703b86d9bcbb3774e0e0d117fea28a56ef3bada70cff4c9688637b6583f5b9aa3e803d1a7326e8e28fd14a4f12292e8e049b2eacdf9c0644f568ddbb9e6d6e43648b703c79711f27d5ec95f891ec2c326eb6d9fb08630431e83a6852f2c7735238832a7031996310f52154f8bb0906ed5cbc9da1689fcb85d2eb5296e95b30e01b25081000311579bf957f537ae87ee71578d8844a03fdde88abc1a018dccdda13a64689a1b0219ffff03ba43e8eb930c8a049066fbf23767734aac45b27978a15ad061d2083abf1ce1f4032a40670ce47ae67883eaa169b2714856a07d39ae2cf42324f282609b96e3ced60219ffff03c31a1ff943bfd88625656374375f5ba5fdffb27eb67119dbf4201a0c82dcf30603bc2ea7c115d1b561bc6573147b45a823ef61c7c678b915d82c561f7e25370f7c03e0d0728c80020ea8e41aed958ead56b5efe1d3e4f5a69ab0060be64e06cd696b037187bcc8928bbd32e8376bc8b8448f1978db2e0185b455745f5b6795a946814203eab2396230cb9f95b363692ebc808af97feeb26194a7d837600f632d2323d1b30391f4016421d3ea3f54b68ebdab3691445b365fb55f0375533af96f5284da954303f95de5f9609bdee33df741f8beda216b43c47914b624115ac334e133fdb74a5b037d8f36001be2f695f65104a188bd787a51b085a531498afcd983672bb566f5be03f162df9bbbe5537f03a5d4abd2fdee0ddc52ce5965be0767201491c713086a50030ed44ff0d537265b5b67312f2653a467b725305432ff7fb6e85faee21396142003e75a66ee1e0b714c78e8ace12b379fa00d6ea20dd3d67fa45397c51dfa7e88c803aa95862a577634d866483dca2e05e70598b1f59094e030e84fcb1f376d55635f03e7f753527f5df3ccbe9df1678ee625347831bb279e5d03e1250d807eb00ab259033c0d29d5691e3f72f4728263bdb61b83aa7d856f8093b14f67241871239613060300269e1a00838de56a3465d0f57d49b74a159a3615e3e154e7012f7f2e07ac200219ffff0349747cc0f56e79371737006b0789e1f290b542709433d9e788d63f2b6ef588b8032249d64b2e1dfde9e08354b4a6302588cc57ac4e4ed0a35b2e28ebec6f7af2f10219ffff03853561ed8e2bcf085063efc3d765378ccf9c575ea395c9c19ccfcbac7165d5c603547a0abe7c16dba86839ffe656fb92c784d6494798958cfb4bc4b708783bb0c6035a844a219ce49c9a5ab992046f9680cdd59ed9ae31fecdb8354edf5d89a1e95a0340b042c9ba1aaa886c6645466776854116887976546023dae9070dad405801b903b863f3346d5b1a08d8acd1c147d3519a9c355709af010eec71bcc1fdf7833ad40307a5cfdcd51606a1407f30785dc046278951fd65d3ad15ee1da3fe84f0a5a81203b8e3d3005d6c53f5694079a5f26fc1d8b6637e22ec882e631ad9e0c9eae66e3a03644d87d1b230a46977eefe487e74d0eaccebe1b1bd26dc141e7c8208d57c680a03105a3b6adc3471e87b1d6153c57d6f256a1fbafd27ca51b887d98850c122806c03998ed20d314e6b5725a81bfdaf205c99496d9c1f1c8ce2b090a6f906ea90f04303155fae3bc3d6a12e87cec52e8ebfb3d3a5770f43f96df57620ba7f42853302a603050c1532476d4f614d0dfe58c7e7636f7bcce528dc5b591c886a5252dbd2b771037fb41490494036c3eabac5d7606c4d9e578782c3ad85676d4c6a26363a9764250310f0ea5787671d9e2efe9687f22b15f827366cead105e5b0dcccf99b34de704503d83064a93125bc55bed91cef9e44915489ec972ab721e5efa1e8a0d71d478fb9035f5a3f94c413dd7e6530d3f52940dc0e184c9a84a79165590284d71e6f93aed603861b32839de6e1b176807fa29227bed5011bd52a96db1896402905f35ef96fba03499e45bad0d5f328ffee267f7c301112c439d93012314c05f85a4de3362b40b603b96104d6d6dd9e4c9626481b4b76bf0b8d0082ab1987bbd9cd77a3c46026412303934bc6a65907a6491d12a84408ef40af6bc7b3cf939eba3b8ea7a7879e25eb5903c0559b5b1193c292cb19ca7989d1e39db9f1733257e9f35d33dc637ec1f25792030aa8a6cca42f770131dae9342b370e42c53fa47c1c166dc25b2a22d34f68514b03c4784ed4ba9e799840478d700478403274d22fefa7c163be6834b3ea84b30d4a03ab452811eb0ed2a4b26cc8f242317110e08ef4460fa42f7771d9ea83eccc5c5203b2b323c7798358d29975a6988c1bcb8876707eab69a45a412729ab1fb08c4ace039c1fa79ea33bb110bc459ffc4e76bb9b282e1bace3db78e5a3b235cd1c50c5450300b6b9b9982be4d94d168da5078f345fd9897cb0be467c160d18a093c7d1f236039c70d8101aeabee04bfd0df03a9947d915e1c70c31b22bafb09d1056d24b5c3e03043bb581b86483ee602913c4597ae6a0bc51cdca93d4f1c6623cc549054f9d01033a4e0d88fe515a8122015688aad466d69aac17c2fcff47ccd3d04cd7514b6aaf0342ead7189143ecadfa9d051119b27d61c044b3a108055589e1fd00d4c86f46a9038285ccde141b3f6ddea8c46335356e3d8dead325070b53e2632a0be0715890bb03c9cdb0897536a93ee9f5871b9204788b780104f488d5925ffed1764a627501d2039cf4100dc54b4bd5e52ecde8ef8a513d1b824d836da0dc1cce7f34b3b722b7de03377461bf3bb4be60c9f29388137c7eb8cc82779db8cf8168cb4734b548a966b005581e033d7f1d1f6d7699029449b3a99167859f59371a2eb6ade347ff136c13b007011bffffffffffffffff05581e033758724d78f6cfc9a1ba463109b11b34488a6c5cb9acc025ed32906240040203c3421ef92f04b7d4b4da5bee666587d80c2c67d23fe048430b2f72b46f5985d105581e035d1a67161b19fe86cb294eb382af2c3848dcc5868ed2f0bc8a18941750040104582d363d3d373d3d3d363d737287488f8df7dddc5f373142d4827aaf92aac8455af43d82803e903d91602b57fd5bf303d364153014395724e2525a54631446d0b54d82ca3aff45f452e38630520ad3280058200275b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db954711d650cd10df656c2c28d375649689f137005fa032389bccbc3907b07207b6e646c2082ccef26b3144b8965f824949b74a9d7c9fe00582002375ebedf2672953b3310c97523140335dfe860ee1d7831449d5e2b96e208104802f8d10150cf979900582002982633fd1c2bb7a67bdb667cb49cd72ec890c58d78a920aaf24449b54370964801aaa3c09fefa12003ffb1778339e7c9b29cec3be16184121e9d48aff4c0526e209aa83a77b79b24b103bf5536093e290985b4463e45b8cea77f35a17df60eb9937131475a70550277d60394f6f5b03175b5ec6dcaca7df614e895d0f00ce8c550d64161678fd71296623600582002c9f7c418951194140473e14456378bcc29bce9fb7de1e9e3a11efbc7698665480249d4ca619a70690058200268c1a9aa22ab1bffb85dd43d87d1f1b1d0b2c577772bdf1cf663f9d91cdf0f48322a70e24c067c5700582002f348c43e91c41a1d3580449b6ca7250fd9e84d720d2f83e492461a331dfe784825f2e1f9a102d44100582002c08aeb5b0e80dd974a146f605e58e7b9ac5c7b281275eb5dc17ea1ea20d5a05820ffffffffffffffffffffffffffffffffffffffffffffaa09d3cdb7982b281d5b0219bbdb005820023e232fb9e27810a1e6f97a1a03084596acec21d026b478bec750f85847d05d480fa446d8bc9550a5036d394019c8ed9c0bccae47ddf6a50b140539df3ab50472c8045e78c64fce49dd005820027832b523ad90550657dc7c19380143611d66a038de0eaa48e5bb6d1a29e603484c29e213bac3b050039ca8a814e3b4189979ee43e3bc748c18d619d7ed1c10af96ab3cf580b02054a103fb541657f4a2daded5cebeaa8bb6cbcd828c06b50a54c64a661a2ba184cebae303847cce8906bc3cc33e47933ded27762360aea5aecf355e2dd8ddde7c07b753d10058200258902f3f069d8582def4c0d5b6b237d7b98cfa345bfb452b2bbca6770c472e5820fffffffffffffffffffffffffffffffffffffffffffcafa5ec8cd854f3b71945033e1943d3ccb5fffde54759eb4ae5a8a6a43deb12456265bd128f15c8961d971f01410e03e7ef0924a8f51621f1d21436b010be670893758483529b051b9332b022fb80ea0058200334b3a307c4049ef66eb2a2bd12ebddad944dc2491a2866fb5c1bf4007774504803e084ee36e2edd900582003868abb9eaa62e8b20e39d6e4633c9f86eefd821a54bf55533a2b345b8b6b1048251a14ae4c26231a02190240005820027cbfab6590703ae6f7fd2a86063194511dff49574a3642b4b79df49044e68148013983ebad2647be00582002df167807421166f29a87fc522b46543164915401142af67f87687dbc8ae57454d533a949740bb3306d119cc777fa900ba034cd5202197d77033c467c78d9d5c0b240324e86af3fa4164fec78a237554a8abf4f932b45b961e10058200277e2219dc24ad9cf51e8fd693afcebdf08eeef620ba0fdede6a86954b4e8385820fffffffffffffffffffffffffffffffffffffffffffc0431fe476c7030a03c740357b5bac9f7316fd843b76c07e56dbbb4aecedd331585880d78c65b9b7c750a2800582003487634f4bc568c6b4b66b43e39c5659ecf41926a885842f6dd60e1624ffdb04901246a39e0e9968f6200582003c91e9be95e57d994daaa98445e4cb1341934cfa642f7c244ff184fc0d096404717c123aaf12a1200582003f9a43a82648e6343320277b69d64c2c5c27c3a448e5ed7bc4e6ab2ed0c64505820fffffffffffffffffffffffffffffffffffffffffffffba897b74201912b2a86021905400318975260d3f4b3569973f10a656798be93e6c7f94c09e50f1b55c60358fda1f80058200224072fa646c86c77f6971db0c4c801b1e7e14373c1e6b2bd66aa70b072d26348014f1bf07aa34b46005820020d7c063487ab32298d33c5a2cf893add17e9b77a10749f1f29aa513f4dd03748026ff2f471726c3b036d612cb572a70b8f8301f4b214c3d8f315ab78beda3eb721438ab35a52cff1fb0393d9df23380d11cebef97bfaadd37fec4098a4712d5e300ccf14f7ba26941f3e01410a00582002b1e44ebb4e0d847faa6557d770a2f203c2f424816509c69481eefefa3f10ab479524236599d18900582002f2a88bd2c64de0cba6e5d4b5d2a160a7cb9a07b3dd43e988e1acd6798fdf014801c14a258cae62ba0058200239a446b13f4a108d4eb0a7ea32103f30bbc5828d3bf8781400de89e30e9bdf485d805df480fe5fe700582002d446080affa6fdf0af0c36374b68b1a2887d8a1a6b266e882cb7a6853af716480386b0462502e2170219fbf30386ead009905072b25b771407775b758b77b10760848c8a96ff61898fceeac800005820037fb539c3826a1c75a17b37422fa004427d2c672907fc31cea8c6a5fa2f10705820ffffffffffffffffffffffffffffffffffffffffffffdd31521f70269b5f859300582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04b1701afcbe844a9a56d6de5005820035c28f8b51ee3de47b930f18e605c7277733cdc8aae2f588b05aea78cf7f4b05820fffffffffffffffffffffffffffffffffffffffffffdeb168e996f79e2ef21ae005820038f8d6a001da1251e179997ffd2c01207bdb3cbd4a1f98b2fa8cef68ccf07f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191422005820027d04d41b64136f7d09f84c2b96755a5bfd734a2669a4b555ff9c59024f85b14801f38f900da87a85005820023867f37ff92cc6c9f51716eac46a75345ddc1fc452dfeb5a37747bc268173148027113c2c68e28580389a2164c2c739461afb935c1e7c11b97f81e26f24d484a6c5bec6ca123fe04340058200291edde64f891985e61fb9764f04ed49a18629ea2d774b4612f842939de013448312d9db74ee2568e00582002be134d764bddad8fc8ff826f4baf223cb16a84176f325d9327537fe1b8f2ec4802702ebf0f145fcb037dc4c1cb2908855d7829733b173547c1ae15784c566e204e6493cce1d75bbbcf03121a3d317ed493a563679bd2385852b15ef5e32a9fd922c6b4a3efb19c414fad00582002bf1311c967c4908b12dd59a91c7e8ca0d3fff4b459eb80706e7bc8ee5c1a2d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002891af9730a02e0d18d86b7618f0fd775a6398ee5b850b3cd57e426c897f37d48073772864d1a3ec100582002b24afe18ce7bfe4d272dacf9d511c2cbe91b1e5c414c7b825b2508249af7005820fffffffffffffffffffffffffffffffffffffffffffff9660bd138ebbd8705cc030b0f9d7c0b54e36e3dfb8d38600cab8c6a5b39ac43a2bf2d7faaec5f7496baf1005820026757fb374f25f60e0ce6f990687fbfc5c80488f3a47e1516530990154b984a4677c5fd99406f005820026792b41c791b5a2755db113df9f806faedbd025b605fc8e2b5ab7567e0dd7d4901d070a93e1f3148200219febf00582002191074ad58a5d4e1bda69e1e9c557908fa61fa14debe5b460328f4e3b3567a48f85313e1d182958d03a854e5d66ffa5a2b7392d999f9c6137b4a60d71ada57fba388aa17425757c0eb0311cac0b0cb24447b5810fcee453dea5fea609074891ae0ab9e27a5209fcf264800582002c94639271195fb99f0e808e04f5c6165ecb27f06bab7c95ad09414befd142d5820ffffffffffffffffffffffffffffffffffffffffffff07dafb2791f0ba7e2d3e03591255f7bc967fa49d0ef31a04325173feaef906985355434fc335b819c6a7df00582002eb0a9f25c21cb61ec81004877f97ffbc82fda86b52b36f4eef3f740413d7424803cda34cc3db35e8005820022e5ead35a0b45bc813ed5d936dc8c34664c1b4d1220038f4d93fc484ebb08848013983ebad2647be037c79f3eff3a47b8dd10e567913e3b5017557ce006efcab0c811af0ce2f008b3b00582002eeb33e63026c5a7a89f565bb6a237c9aef8e2beb076d9fb63822d2f76139095820ffffffffffffffffffffffffffffffffffffffffffff9b5f236293a9c653d80003e1e91c98fba945f34d210fba4778a8049b5430b2f34bf41595aa114d2a48b63b0058200233e5c9aa192a99fdfe968be8a8a4cc26e0c894d101648545508ce2172cce024857c148c901d9818d0058200289677eff1e97986ec08f06367a87d9583676b80e010bdfd2f2724f951799365820ffffffffffffffffffffffffffffffffffffffffffffff93804fa741c2260e8803017ec13e1b5a9f2afc0233e0eb3a2c98cd6bf851a6aaa8ec34399c367f75bee20219eefe0058200212bc5b801d3156141fcfe309ed754622149dddc71c1ce1150cb5183c96f9ca48039ba9f2b221c65d00582002086ed10c1b431d3fa3ff720729106dfec137c95b8e315f8d2ac3bc92cac6f9485763d5ea394dd92b005820028b210483939e86e95906eeacaaf7a54dbd3bf98f055c1346bc21384f3987d54606f38eef1dea0362b9bbf399c41817d18ccce22f75602767998da9268543bee1c2ef0443fa9ffc0383861467e1554a09db6c9da39fb6d2bb69ee301cec2b5b831d2725ebb2868e02030b9d6a07aed491448531d58ef9f67abd101e474a7342fccea16c429a4322378b03840a4f282119c7efb7b69bfaf8cd7e67de25c65aea9b4238566e991529611a8700582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05426598e3e511adfadefd70ab2c3475ff7417411040058200356bbdf9a1605ee0b857dbf71be4b8fb4ab98e33e6b6106b58e817a679dc4005820ffffffffffffffffffffffffffffffffffffffffffff2eb4ea0eedf84f8ceae600582003926ee58f0f47cc80d88b3c672147d7ec4becbaf3ffc0521507999d05d82bb05820ffffffffffffffffffffffffffffffffffffffffffffe03b6f82afa4b529e79c021904120219730d030d8f3662b0b50fee954f2b31b9ae6925df0ad41c34127834f0a983668f27e983005820027ce7a2e6d2e1c075dba5f0a523de8e4d85b225ebc4afb50ba43d4e97659350477c84fb373a2a1e00582002f36ef89b428c564300705daa15c428eafc0d6e13082c2e8c7a35d08fe34d874801199412c6f24aa403863edbb36f8006ecfc11b44c561853946a7e687c73c56e673d603aec0dd9449900582002c5ec91b30dcd4c86f05ccaf7d30330f0bf578b47e1896f303376d5f6b9726f5820ffffffffffffffffffffffffffffffffffffffffffffea24cd2bb53169f7a08c03f8016ddb8f84162b0a69572020aaf62207c2f6fbfddb5b958b38c2f6de0e27cf03d54e4cc52d453f7008e5d129547c175a11829d833de5119718f9657efa738f83005820031b4ac666b6a422353dce0e0168e3a44606cb919ed195a0b28ddcbff82fc790476ab6bf37b30d3c0058200386a24237f12d9c34e2706606090f40e08d71fb0bbe7cad13651d28a99e41305820ffffffffffffffffffffffffffffffffffffffffffffec3d22d04e5a9c20870d005820034202331c3fc9344e77133fa42ab04e1beebe28e116a60d4d64c50d3d81b41048016a8c850a72469302196010005820029fd6457aba188eae4d32777df1b007bf7c85fd8f5e468d98ef0e1ac690bd55544e3fbd56cd56c3e72c1403e103b45db9da5b9d2b035608188f202448e8055d8d18bfd5b3fd3b6abfd921c63dfc5c92f2e1d426de6902192f2f0058200289ebd613332d33d9a5382d2fba2a9f75280fb35ff08d8f2fc2df50f22261b34852eacd82504b50f900582002131c41c6ff426f49b80aa52eec03c4f3446fdc6ea84b964dc26229fc1c0ab848396e5b38408b0d0a03ad972d87487a4e97495deb7ce57cbb7b4beef88002fbead9a8620d83b01cbb4300582002965a454526ae09635320e1ffbb33259ca6fbbd78a0452bc6c87aa1329cac7948035278e1674651ca03e4617f03a45f7820bfeb112c1f8f2378ed13732dca4033fb6718914f43241a4c030dd56ee026b53d8fa89277d8e27c6d06f6268963cc2c8c1ecb5594df792246d30058200209c570c3f04f861a35a83650d4b7467af70eaaa77ba4e47a0c1d6cdd8d03425820ffffffffffffffffffffffffffffffffffffffffffffe201a37c08b2e067a6aa0058200295dc2a4237a03f855a108a4fdcdb050d4e5da18a66caa45564d9315ca873554924466f431a22691c220058200218221f09678c304276c5b82acc9a398d721e2511f00fd62c7f81c71fe125d34b1701afcbe844a9a56d6de503910357ed9671abb1c475e0256dcf74e8e9883187436ac35107551aca4c158903032e5d9380d64b59466677628971827caae38cd12f9f073e15a89b747e75fff3be0316a58df2f79bc8207a52d4f22a62779e91c7b27c877e09d014b5c690d6124a3b0058200242f25a11d16115e635db0f016ed3ff034a3b355979c31b4a4057ed4b7cb0445820ffffffffffffffffffffffffffffffffffffffffffff9156b1d1e4d5e489ea6d0219bfcf03069cb75914f748d27b9ac69857cde0e831abb8c8d193910e35d6d9247a6a5357039f3ced79515d72fdde8d1b0948ba1cadf406f9293aa98f688643bfb4a85e456400582002ccc8ca0cf5a28f7f5bca5cf95804dedd9461e9e28009b0d274a0ccb0a134015820ffffffffffffffffffffffffffffffffffffffffffffb84ba2aa4bc1dc4a3e4a0058200208aa308dc84523e44e26fb4662461d52871b765d6d7104d2ec01e87939ffca48023746dca1255f8900582002c0dacd2b53efeb06f211bcd63b24eaff91f1d659762844fe73a9b2d4efd664470cc68943ccf91f00582002e80e8f1e0b48506ba3b641b7daab3aef209a76eefc3e85671830ae964d2ee848820294e84d46c1320058200336b28b966cace5c17bd751fd60bdd3c6ad3d16a3a75a8d788043e6dd2d4f405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820033ec7919c306fdea9893cc095970d3ae7bacfda7ec6cab4a8a969a1879ff9304803c8dbffffa098c000582003469fd1b6dd720e6494b2cfdd750df8d9c8c8f00fb2297c33a799f28c395750581906e03223c5fa9407ca000000000000000003e084ee36e2edd900582003c96ac540cc399fb107e11a6ed34789483d7724012a9f27f8afc9353e295af04792514299ac2787021993000058200252dbb25e715d6a248425bf4d80a0337dba0f2ee139dd7e8414e57a9013cdb345050984787203d19467a77a80c9c81174346e02f8a683c52026a7192656c0ebf00f1650ba350c03516c75e5ec3e2bfb7f29d6c6ecddedffc86347bd226332aa6ea5a986bdc561ec00582002175fbeb7e7fdd3519ab4c62a14f94114361a675f333795c2b220c2e880419a490111f9e236940cec4a02197ed60058200221e96113089df736b5bc69b7c970c3308e36562e9ada8c5bbf3db87e186a2b4857de8095c0b92a7403ed349f4069945c30508b05239b03ff57633dc76b57aaa8b222ff64c1e2d2d17801410003b102a75b84c46ab09da1f37a1caecc220685692a9fc06c32d3ba2db2fcf30760030ae2c19e48064ffa45ae88531f53479dd21868728968d5228d75c360aeb1e5c3005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854b30da2376f63de30b42dc055c93fa474f31330a503a2dcf6200e1792a1628ea3223485bf6fbdf61ba59b64c0ba37504d797282ee82005820029ae1ba1e193e20af283f9314307ac3f2cc5d59659e1542eb88fdac0babc3285820ffffffffffffffffffffffffffffffffffffffffffff52a81f1e22dbf143d5e200582002b31d7c9d0042d8959a4f62795ada19eebc272aaae8e2f180955dbeece34d845820fffffffffffffffffffffffffffffffffffffffffffffde2673f75128f858a7f03232831a4e3eec11d0a2d317f07944c4699b1a34517227eccb7a067f670b2f2bb0341df07dcb9eaf3b6b7f2543ed1ead313f458c9d6fa825a5f4e2aa4a3906955dd0058200291c6b38b212c5af3344c9ecb4443867672b75592d2314f957e887fbc5f53b2484e1649f03ce2f316005820020081bd2488c3fea99139e16668456914bb4f0334a844811c2cf6a7cea89f814928fcaf453cf65a89be0219e7fc00582002c104b4d790aef293c11eb663f5eaeaace9e119a3dbef2d8c6791bdaa4528a848242d22447ddd54d6005820027161e416b6f8505362e489f14562d5e624b0d1fbec7a00cbd66acda0fc2b47483b618b4364058f10005820023c4539fb8a62c5e9d239f48df21b8257e65616a68c2d463d1261c2bf9567784718ee2a52d80f6c03c3ebc5aabe9ceffb9d8799945a42f4501f9ffb43b5fce395ecbd5f5d46f5e9130058200333923f53cd837200c88bf595b515d4f8f708c620d45fbb781c4962e725014045a27d56673100582003e84fb4dd9cb80d26ac5a8faf68a3c97a78747c9a0ee3f92934a2bebd0d5490581a04238ac3116c49c4764e0000000000000001246a39e0e9968f62021920200058200272ec0fd37c259216a537cbc8ad06f0b4f9c5f628f1f7fa2d1027d0fe97ec294875e1f40af19260f403d207bc9fb026dd45ab307d09aadada6ea93f07d4d9676949a3bf27a70816919a00582002f4b46da31c4f86b221c0dfbbbba01af520f81092608a89682fdeea4ba5e09c5426598e3e511adfadefd70ab2c3475ff74174110403925efc394274d1cb03b2cbe0782552e32aeaae9dbf4856b2b8cd29840c60d95d00582003e70c823f0e971b511759714f16ed1d520833a53768c6cd948f07df6944ff505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003eaae2a5030a17f9c4129751de86b3a517ed51a2b3b4211c002b8a4cf113fa0480f951cc3c16e215c00582003dd026d07c65da1fffa49abe54d530cbcbcd597db98d079df4b8124aa593350482481c34b7dbdfdb800582003e76a5738bf81923f7a2b5cf4b2a86669ff48499e29bd606d814e52820751e05820fffffffffffffffffffffffffffffffffffffffffffaf733ec5df2dc12fcecd600582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd056947b7742c403f20e5faccdac5e092c943e7d0277010000582003bb41ec0ceacbffb1ca8519102c9faca44ddb8a136a0fcd099d8f81069c2e204829d4b1d11b69abd0021920ec005820022afd190a5c4f352cfa977fd12dc0187c88f7387ea4b91c7440ca58fb646a834773c47711fd77c403d962fa94036924c1616b72378ee98c7e57e9d341a998732e754a86593284aae702195dfb032076c25c2645c79a36ddaa698fc03a715d16e0d6ccb73eb2df90863b35683127005820022d5a29bcb69cc955ec507a3fe1cbbee9d123e39ab623f17c3ac7bde713ab6948029a45b17968537f03d13db41f8e421e260291e6ffdcbc953b4643caea780f4c1135d4cd8cd9311d82031bfd1ebc453faf06e532a26f622ff6beaa9d4a8130846136bc1626f39a8685f5005820024ac3e12c467b3304e1c2f63d9f2935b79bbeae0bfcb726b0851e218084af3e5820ffffffffffffffffffffffffffffffffffffffffffffd5b435219c0036164e0b005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8416a00582002ac26521d39bd637b77419458e70d6709d1796e7a157733364b2d41dc26249948027589dca7c736a103ae587316c462e23c07340545149babb45d91cc2f2dc4ca2c86797b2ebbc5d03a00582003fe9f9ec39a6103a7d983846ea9f0501b78146708aaa810047ff3ba526805d048034298258854f46f00582003d73eb2cdf6b01ed522f5c3ee9f164b2a84dcfad3f0962ae315db69fea4de705820ffffffffffffffffffffffffffffffffffffffffffe2b8e984a449d1aeb863c5005820032acbfbc34161a03e4514b945b46c4046bcaf34e0cce45f60d1510cfb93ef804804940373b4a2cf810058200300687e71c1ce10a8192765b81ab798d84c2a0d404ac3160567c3c51be287405820fffffffffffffffffffffffffffffffffffffffffffe7372bce7307fb687b29b02182b00582002ee7e091dd8b936fd93ccdd06b28979f353919f9d9a5917e9eb52d13e08a1195820ffffffffffffffffffffffffffffffffffffffffffffff93804fa741c2260e88038748023868e187410b23dae90d88f02a5303193ff79425f69b42dc3c31296856035447b75a6598ab30a2a9e77924cd1c55a3bc75f69c991ac81cef8116e5476e710219e9df0308a8b9ae1878f68b365363ddb0258701347aa16e91580526dbad5bc1d368cd400058200204a6ef452cdcb0f0bd6e2a214400c063aa16240028f5c0f7673657571f24434802c92d6959ba35dd005820023d9de1dcbf72e071da0701a1144c3ba2698ac659edad95218c0c93c7ca70175820ffffffffffffffffffffffffffffffffffffffffffff21f941b99382e3340c98005820021e60e0760f77485d129e9316e70184a8d7ba2cbce7eedbd1dcfa1d184ef4214830961550ab344856038796cf713c5299d92562cec96421ba49578638ac58e81a3616d337ae73587756036de02a13b86f9d7e2bf31dc880aa70f53d89e073836bb93176eff3fa49451a3700582002eb41ac50dc47872c693f6dc33ffe693451d6820d1f52ca79de0eac2627017f4803a08ec2e959b92800582002b64f1e2b480f53d67e3eadab735d7927bc00e3dd48b816cc21f1966d1bec285820ffffffffffffffffffffffffffffffffffffffffffffb5a073e428004753f7b303f7b8c80fa1b6705daa6aca0a7c31b5232913218869b15c7e5e924342a47104b503f4dcf03bac7eba1c419f405445dad6bfd63fa586b0797fecd42db71d621b5ddc00582002fc09873a4144de83469fd3b99cf67df63a8a7cc5df05147a68a04317423a615820ffffffffffffffffffffffffffffffffffffffffffffd5a755935fba1eb02883005820027932792458adc1191ef58a539800e7598eb019995e197092806b28175505f4480be0b2344f1470de00582002d3bd10b6b43770d3e4badc450c530e94cfa9444baa6ec90f67e39a5fe544224802faebbf4637e38f00582003e0a74595ced529330e857d33e7a3c48a4faf9974ecc4a273b3c2579bce9db0485d27ec9c9979703c00581f0223f8d1e2f5f5b5d3ab3ecdff0e8623a31966f91bf028368c65f5bb3084885820ffffffffffffffffffffffffffffffffffffffffffff156c1b053db891e15cc100581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410200581f02cb27f2dd8ffd3693aae2d11ce43663541f6885bd96cb2d6a48a4ee8deb815820ffffffffffffffffffffffffffffffffffffffffffffe81e07d33243f9040f8e02192208005820034c8bc4bbb1af2ffb35c0b0ed9086b6097acd5eb831b5c024e5a03ab087b2f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200387e7c220318230d1ecae421326dfec0b98b18c4d3d1508ff0853a02940e77048016cd579b5b50370021950600219bfdf034d77d8aad72d67ce598730f0e2abe9eb857c8303061bde1c47c04b363aa36bbc03270240a2924089775d80f04bdd28c65648db3d8a6873ec32b0805ef068cb72d103a19d4c926dbecaadd293b76c6ddfeaeb4e1388fedcec57e55a266ddd6d8d1b0b032d70f4146098ceaa941f0a4fd86f7ca66331b85f0cc81c0116f1b43b25206e5203cf170c7fdb3c32264ec312d3e901e302d3928dcecdfb1a244cd602d80543a85f0058200284c0d4c7aa0b89b37b148e972dcbdf1f6a1679bfd4101118611da75ba6d6484802a18246c2b905dd0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f410103417badf76866b45d22fe301390a7302f0dcf33a259c83ecb166e48b88ed6cd7f03e28867de3730afea8f1c651a5ceb61c324397b11ba175971696e1994f91fcd2f005820020f1dd1a62febd65640ab75468fd9a320a3a4ba7214a9a51d1919b5bf43618b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021988fd0219ffff05581e03e3afe3c5a47ef6edf52d20f8fa095c03fbe59e89cfe047b758b39f4f200701182d05581e03418820a93ebca5bc4fdf1d3691fb65a61737d587142cd02198953867600c024711c9674629300003f4ab7250776f171720f6623d404de01ef5993322e553ffe9260960c45d712c49037e6b42d89efd9e5fb4fe9fe039ebcaa616ab70e2f13dc1792e60147b237aea750306099125d1f60e3196bb7751c4b28c2847fc9e375a9c350015127ceaaadb39de031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e031dd4c47aee29fee98f9d1506fa14c183e92bd65926933db5940fd7e8c007011bffffffffffffffff0219d1e70366123e75202d8186c2294d0fd301737cdb31e2f841d6d577c5385ee59dcb1be60315b16171c5969d14a851a932fe3c41da9110ee66d67ca66c4cb307f0912beae4030e6c042bf4e2fe3363b138c3983634ecd305740fd2f521b5921ed1206dd92f5903a286c3dc9a3a1312e0771f80e65ee839befc2528ee8a07306276ec94488ddacb03ea70de6cc93eb5af4be7f505032d7c45a2aac4742bc814273b1699cceca8c0d703d67a082716f23a746675bca92282914c1f924f0e6d6018192de5f0b6f98802bf0373d2e41dc0ba6822f7e1bbd12783ccdd8d0b7056ddec813026b59f30869e8a4f0319fa17ee387ba2c15e923991ec23e271debe6af28c50f3b598ff3a914d5939ee033e5586178ada7f20344132caddfbb9bf87d567bcc712f97bd82e4e5692335d1e036486910601fd48a61c669da2f5763631e1ddb2187ce70962f2766a42abbfd9940394f73cde9e70c692acbde6f96d07393d9518f2fd319f9f680b424161d751a46f039c1448ebb8b42133a13dd0d76ca3d0b04ffe5b805e889fbf1f7fbdb1891cfa260219ffff0333f1ea17b50fff09c221bafb9dd908b029d97c58c0e83f484592b4f375c0035b035d2c1ed875c59df48153716ba739908e3301f898f1da78b1edce5d983b01dee20219ffff03fcbfec0974fd2c6d4a289c2df2451828cc921c9b1038eddf5b0a4703e5dd742c0357501bc6086f3e9602cb0c38d4d5aeaea0cd7e3c1ed4e9df519f815a9c987b320399a5f10f015ea205837df637c0bf21f55b8c8c6d823e7c7cd1ec342e69acfa1903b2847832cb43d9a43d2a3e7ca8067db0a4a19ae55b096c25c3a5b84a3fb2c91c036cb1a81541021e874539785a113519f1e314a84bbceb0ef4bbb7ba4ee37eb07703c231d45c94f0d9f80a346c3159e2d321cded37b23b0399762a5189199179a0b50361a1e1e9f2a68d2e7281c9e9064be89ffcf610bb30662858e79b4af3178c121c03a044ee8dffff83499bd691fec09ccd0e106de60a83b320e42f61a96260e8522b0219ffff03043c194533e1c244eaeb38f7bb028e3cfcbb38303445b430435dbdb55bc0f4d2034e37dc9df006e7f3a2a3421d8fcddf3c8f30b5a106309c9d07eb55963cddc20603590cafc849696b2319ac1d4c20839305af57dc42bcae7a280868507461bc680303b31d5d21799d1b1bea95ba1b7ecdcc11c6364baef7211fb9f0a4c2311720efa8034d83817cdc249e93f7dd8994761e770ddae06d31465069857860fe859b3331f603af8388031c7360d3ee91a964b5ea2aa259c6b3ebc601f82c8a5746358f253dc3039297f5d48e301e7ccc32e01e1f70f7994c9e1f9f3bfabad47e46d218105a2a5903c96c0d25c3959f1d7de3845a797655e6453c8bc50dc69a4ed04f47fc1c16648303b141d1802fde69b370cbdd653ad229cad47b51353053e2e71b06771e2e398219036ffc4775c0afecf1c5f18075898f99c6267d96ce39bb3bb9c8a62b6b9f45355903a1ce79d88ad44ba1efef10f9f88bd37ca53ec0bd1b916da0a48fa7e51f0362b0038ac264103d9e4bd8c6cde31fb70fd3efe7d17b9d0b7202fa728392ebb4a67d4203572e09fc13c6bcd8181237fc3d816e4100eefefa374eda30042ff16dcbb03536037546dca89dece176e85da2fee20a7fbe8f062b8d17215e00cdef252d21e30b0f03f822dd87b53f9c0abcfe34331a0e464f10b4cb5909533b86ef3c016d84e7b88a03a8e8455bf4e8724b6433e320d25cb77ce19d2b68b64991e59e15a0c3926a071d0316e052982f840d2cf1b7dace144a83298d76457fcd3d7e6f0711d9086495a81d03e522a618b71ebacb45076306fd7228337fdcb54938c7c0fb27594b5d9d48b7d003bd51815aac6331385dbb839739b69a8cbe4f8f42addc103b506f1304fac91225035e94714ae267c7d7abc734976188fe71b279a8c0099d301a6e58106635a3be89039a862c180cd54a93ab7e55e325237a439794cb313fee3f470fe614b9daaf1e8c0390337ac978e130cfc93eb8798a8f3ccb0072e749b4bc1541b28fd26824c79e36035c5f489caea7ab6f8165280ba0a5a4508f80abc58a03886ca14e82ecae5b9667031dec5969308f13ae2c8e46aa2cdd4e22bf18b78ebd95b728fe321ef36cc53a3b035481183a89898f81fe0b28b8ab11e046d6c13c00b4c9cff1e5f7257aac79660003528c840c63f883e42af234551b1b7ceeeee9c9e1299697262339f596bc2603ba03729c1e244e8ac3f7d94b52336262325aabdf226b1c5e0cf94ae704fbb777607a03cbb5985e64e61412402a5887cbfb0e983ebf83de6ad0654cb806ddb56e83a1350385fb12c8c2241bbe158d4d57171ca91516263cd94feee5992a226219a00da570034796364aeecb47cf7ca2094b9d00930e036100a2caa832737a587cfc4194c1cc035896f4c9edc16d3ed5fa92a7c4f32740f6ce4afb0e7708305f21312141064d010350e60f390f7e0f694839da6d189aad6f634183bf7808616d2bb276fc2c8b6d18031d4f19d3d969da9fe484ea9587dcb044e8a33df8ae9aaefe1ae907a6284c694e03bf984e711c2c3bccbeb4039fc1bf4b25d1cf298b4b9d62c98e12cea230ecad4803b189f936da6a885d4286e9c2ac7a7a6d60a61f9f5a0855435132f270b6f9dbcd0376ed15a0791bb479b0833b11468d2e489b191cf5d8a28a67f1ddbce863e7efb205581e038a1b73d843ec8c6250ea28f8efdbca69e0c2b9c2a649831f7c80115c800c184847022a2d8ae9901f04592536608060405234801561001057600080fd5b50600436106101a35760003560e01c80638da5cb5b116100ee578063d5a44f8611610097578063e4aa64ab11610071578063e4aa64ab1461052f578063f2fde38b14610538578063fc0c546a1461054b578063fd72b6e61461056b57600080fd5b8063d5a44f8614610422578063d5c620f614610513578063daa3770c1461051c57600080fd5b8063c53e5ce8116100c8578063c53e5ce8146103e9578063cd6dc687146103fc578063d2acd13d1461040f57600080fd5b80638da5cb5b14610365578063940a4e45146103c3578063bd83dbe5146103d657600080fd5b80635b11cfbd1161015057806377441b701161012a57806377441b701461024a5780637ba41d3414610303578063817b1cd21461032857600080fd5b80635b11cfbd1461021c57806361f129ad1461022f578063715018a61461024257600080fd5b80632e17de78116101815780632e17de78146101e35780634eb5c95b146101f6578063523a3f081461020957600080fd5b80631b6dc8cf146101a857806323095721146101c557806324a4afd5146101da575b600080fd5b6101b262278d0081565b6040519081526020015b60405180910390f35b6101d86101d33660046120a9565b61065e565b005b6101b260045481565b6101d86101f13660046120a9565b61066a565b6101d86102043660046120c2565b610673565b6101d86102173660046120a9565b6106ac565b6101d861022a3660046120c2565b6106b5565b6101b261023d366004612158565b6106e9565b6101d86106fb565b6102ba6102583660046120a9565b6003602052600090815260409020805460019091015473ffffffffffffffffffffffffffffffffffffffff8216917401000000000000000000000000000000000000000090046bffffffffffffffffffffffff169067ffffffffffffffff1683565b6040805173ffffffffffffffffffffffffffffffffffffffff90941684526bffffffffffffffffffffffff909216602084015267ffffffffffffffff16908201526060016101bc565b6005546103139063ffffffff1681565b60405163ffffffff90911681526020016101bc565b6005546103489064010000000090046bffffffffffffffffffffffff1681565b6040516bffffffffffffffffffffffff90911681526020016101bc565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b6101d86103d13660046120a9565b61070f565b6101b26103e4366004612195565b61077c565b6101d86103f73660046120a9565b610b2a565b6101d861040a3660046121ca565b610ba4565b6101d861041d3660046120c2565b610de5565b6104b26104303660046120a9565b6002602052600090815260409020805460019091015473ffffffffffffffffffffffffffffffffffffffff82169174010000000000000000000000000000000000000000908190046bffffffffffffffffffffffff90811692908116916c01000000000000000000000000820467ffffffffffffffff16910463ffffffff1685565b6040805173ffffffffffffffffffffffffffffffffffffffff9690961686526bffffffffffffffffffffffff9485166020870152929093169184019190915267ffffffffffffffff16606083015263ffffffff16608082015260a0016101bc565b6101b260065481565b61034861052a3660046120a9565b610e19565b6101b260075481565b6101d86105463660046121f6565b610e4c565b60005461039e9073ffffffffffffffffffffffffffffffffffffffff1681565b6105fe610579366004612213565b60016020819052600091825260409091208054918101546002909101546bffffffffffffffffffffffff8083169267ffffffffffffffff6c0100000000000000000000000082041692740100000000000000000000000000000000000000009182900483169273ffffffffffffffffffffffffffffffffffffffff8216929091041686565b604080519687526bffffffffffffffffffffffff958616602088015267ffffffffffffffff90941693860193909352908316606085015273ffffffffffffffffffffffffffffffffffffffff1660808401521660a082015260c0016101bc565b61066781610eb2565b50565b6106678161126b565b60005b818110156106a75761069f83838381811061069357610693612239565b90506020020135610eb2565b600101610676565b505050565b6106678161145d565b60005b818110156106a7576106e18383838181106106d5576106d5612239565b9050602002013561145d565b6001016106b8565b60006106f5338361077c565b92915050565b61070361158d565b61070d600061161b565b565b61071761158d565b60005461073c9073ffffffffffffffffffffffffffffffffffffffff163330846116b1565b61074581611740565b6040518181527f04944120d2e185fc95ba63f3ca24c385ec4c5215a801c8766c96486d7fc4ed8e906020015b60405180910390a150565b600080546107b09073ffffffffffffffffffffffffffffffffffffffff1633306bffffffffffffffffffffffff86166116b1565b6005546000906107c79063ffffffff166001612297565b905082600560048282829054906101000a90046bffffffffffffffffffffffff166107f291906122bb565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555060046000815461082f906122e0565b91905081905591506040518060a001604052808573ffffffffffffffffffffffffffffffffffffffff168152602001846bffffffffffffffffffffffff16815260200160006bffffffffffffffffffffffff16815260200161089042611a07565b67ffffffffffffffff908116825263ffffffff848116602093840181905260008781526002808652604080832088518989015173ffffffffffffffffffffffffffffffffffffffff909116740100000000000000000000000000000000000000006bffffffffffffffffffffffff92831681029190911783558a8401516001938401805460608e01516080909e01519285167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116176c010000000000000000000000009d909b169c909c02999099177fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff1698909716870297909717909855928252959094529092209283018054879391926014926109b5928692919004166122bb565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055506000600160006001856109f69190612318565b63ffffffff168152602081019190915260400160002060010154610a34906c01000000000000000000000000900467ffffffffffffffff1642612335565b9050610a56610a516bffffffffffffffffffffffff871683612348565b611a5b565b600283018054600090610a8090849073ffffffffffffffffffffffffffffffffffffffff1661235f565b92506101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508573ffffffffffffffffffffffffffffffffffffffff16847f18dcd430020e4d4899772fd94a8b40451dc5044dfb70bc46b532eeae431c864f87604051610b1991906bffffffffffffffffffffffff91909116815260200190565b60405180910390a350505092915050565b610b3261158d565b62278d00811115610b6f576040517f181b07a300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60078190556040518181527fe38e02a0993ebc1d22860019a45a3c26b72b3b377afebf7cc7b2c7caeee9e42a90602001610771565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff16600081158015610bef5750825b905060008267ffffffffffffffff166001148015610c0c5750303b155b905081158015610c1a575080155b15610c51576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001660011785558315610cb25784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b610cbb33611ab5565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790556007869055610d0942611a07565b6000805260016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4a805467ffffffffffffffff929092166c01000000000000000000000000027fffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffff9092169190911790558315610ddc5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b60005b818110156106a757610e11838383818110610e0557610e05612239565b9050602002013561126b565b600101610de8565b6000818152600260205260408120600101546bffffffffffffffffffffffff16610e4283611ac6565b6106f5919061238c565b610e5461158d565b73ffffffffffffffffffffffffffffffffffffffff8116610ea9576040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600060048201526024015b60405180910390fd5b6106678161161b565b610ebb8161145d565b600554600090610ed29063ffffffff166001612297565b600083815260026020526040902054600580549293506bffffffffffffffffffffffff740100000000000000000000000000000000000000009092048216928392600491610f2a91859164010000000090041661238c565b82546bffffffffffffffffffffffff9182166101009390930a92830291909202199091161790555060008381526002602052604090206001015463ffffffff8084167401000000000000000000000000000000000000000090920416036111195763ffffffff821660009081526001602052604090206002018054829190601490610fdc9084907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1661238c565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555060006001600060018561101d9190612318565b63ffffffff16815260208082019290925260409081016000908120600190810154888352600290945291902001546110779167ffffffffffffffff6c010000000000000000000000009182900481169291909104166123b1565b67ffffffffffffffff16905061109b6bffffffffffffffffffffffff8316826123d2565b63ffffffff8416600090815260016020526040812060020180549091906110d990849073ffffffffffffffffffffffffffffffffffffffff16612411565b92506101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505b600060075442611129919061243e565b604080516060810182523381526bffffffffffffffffffffffff85166020820152919250810161115883611a07565b67ffffffffffffffff908116909152600086815260036020908152604080832085518684015173ffffffffffffffffffffffffffffffffffffffff909116740100000000000000000000000000000000000000006bffffffffffffffffffffffff9283160217825595820151600191820180547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000169190961617909455600282528083209283559190920180547fffffffffffffffff00000000000000000000000000000000000000000000000016905580519285168352908201839052339186917fcbb10a3603d92dc1f9db6996b88539fbd521bb4144891e34c75b05c341c18379910160405180910390a350505050565b6000818152600360209081526040918290208251606081018452815473ffffffffffffffffffffffffffffffffffffffff8116808352740100000000000000000000000000000000000000009091046bffffffffffffffffffffffff169382019390935260019091015467ffffffffffffffff16928101929092521580611302575060208101516bffffffffffffffffffffffff16155b15611339576040517f304b58d700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806040015167ffffffffffffffff16421015611381576040517fca42c45400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000828152600360209081526040822082815560010180547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016905582519083015191546113f69273ffffffffffffffffffffffffffffffffffffffff90911691906bffffffffffffffffffffffff16611d6b565b80516020808301516040516bffffffffffffffffffffffff909116815273ffffffffffffffffffffffffffffffffffffffff9092169184917f37375b03d8924bd8f076f11f8411b9962aa5c02fb489021507bc6bb6f850e365910160405180910390a35050565b60008181526002602052604090205473ffffffffffffffffffffffffffffffffffffffff1633146114ba576040517fcd79e7ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006114c582610e19565b6000838152600260205260408120600101805492935083929091906114f99084906bffffffffffffffffffffffff166122bb565b82546101009290920a6bffffffffffffffffffffffff818102199093169183160217909155600054611546925073ffffffffffffffffffffffffffffffffffffffff169033908416611d6b565b6040516bffffffffffffffffffffffff8216815282907f636f874559828b1629d63384be62be9977582d7eebf0539f2a88d87c5602cd029060200160405180910390a25050565b336115cc7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff161461070d576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610ea0565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080547fffffffffffffffffffffffff0000000000000000000000000000000000000000811673ffffffffffffffffffffffffffffffffffffffff848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60405173ffffffffffffffffffffffffffffffffffffffff848116602483015283811660448301526064820183905261173a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611da9565b50505050565b600580546000919082906117599063ffffffff16612451565b825463ffffffff8083166101009490940a848102910219909116179092556000908152600160205260408120600281015460055493945090926bffffffffffffffffffffffff74010000000000000000000000000000000000000000909204821692916117d191849164010000000090910416612335565b9050600082156118745760006001816117ea8289612318565b63ffffffff168152602081019190915260400160002060010154611828906c01000000000000000000000000900467ffffffffffffffff1642612335565b6118329085612348565b6002860154909150819061185c9073ffffffffffffffffffffffffffffffffffffffff1682612335565b6118669086612348565b6118709190612474565b9150505b6000611880828461243e565b9050806000036118bc576040517fb36e4e6c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000816118c9858a612348565b6118d39190612474565b90506000841561190557846118f8836fffffffffffffffffffffffffffffffff612348565b6119029190612474565b90505b8060066000828254611917919061243e565b90915550611926905042611a07565b87600101600c6101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061195989611e3f565b6001880180546bffffffffffffffffffffffff92909216740100000000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff90921691909117905560065487556119bc6119b7838b612335565b611e3f565b60019790970180547fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166bffffffffffffffffffffffff909816979097179096555050505050505050565b600067ffffffffffffffff821115611a5757604080517f6dfcc650000000000000000000000000000000000000000000000000000000008152600481019190915260248101839052604401610ea0565b5090565b600073ffffffffffffffffffffffffffffffffffffffff821115611a57576040517f6dfcc65000000000000000000000000000000000000000000000000000000000815260a0600482015260248101839052604401610ea0565b611abd611e91565b61066781611ef8565b6000818152600260208181526040808420815160a08082018452825473ffffffffffffffffffffffffffffffffffffffff808216845274010000000000000000000000000000000000000000918290046bffffffffffffffffffffffff90811685890152600195860154808216868901526c0100000000000000000000000080820467ffffffffffffffff9081166060808a01919091529286900463ffffffff166080808a01829052908e52898c528a8e208b5160c081018d52815481529a8101548087169d8c019d909d52928c049091169989018a9052998590048316918801919091529098015490811696850196909652909404909416928101929092528303611bd6575060009392505050565b80516006546000916fffffffffffffffffffffffffffffffff91611bfa9190612335565b84602001516bffffffffffffffffffffffff16611c179190612348565b611c219190612474565b905060006001600060018660800151611c3a9190612318565b63ffffffff1663ffffffff168152602001908152602001600020600101600c9054906101000a900467ffffffffffffffff1667ffffffffffffffff169050600081846040015167ffffffffffffffff16611c949190612335565b8460a001516bffffffffffffffffffffffff16611cb19190612348565b90506000846080015173ffffffffffffffffffffffffffffffffffffffff1682611cdb9190612335565b9050600086606001518660400151611cf391906123b1565b67ffffffffffffffff1687602001516bffffffffffffffffffffffff16611d1a9190612348565b905060008215611d5057828288602001516bffffffffffffffffffffffff16611d439190612348565b611d4d9190612474565b90505b611d5d6119b7828861243e565b9a9950505050505050505050565b60405173ffffffffffffffffffffffffffffffffffffffff8381166024830152604482018390526106a791859182169063a9059cbb906064016116f3565b6000611dcb73ffffffffffffffffffffffffffffffffffffffff841683611f00565b90508051600014158015611df0575080806020019051810190611dee91906124af565b155b156106a7576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610ea0565b60006bffffffffffffffffffffffff821115611a57576040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526060600482015260248101839052604401610ea0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff1661070d576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e54611e91565b6060611f0e83836000611f15565b9392505050565b606081471015611f53576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610ea0565b6000808573ffffffffffffffffffffffffffffffffffffffff168486604051611f7c91906124d1565b60006040518083038185875af1925050503d8060008114611fb9576040519150601f19603f3d011682016040523d82523d6000602084013e611fbe565b606091505b5091509150611fce868383611fd8565b9695505050505050565b606082611fed57611fe882612067565b611f0e565b8151158015612011575073ffffffffffffffffffffffffffffffffffffffff84163b155b15612060576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610ea0565b5080611f0e565b8051156120775780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602082840312156120bb57600080fd5b5035919050565b600080602083850312156120d557600080fd5b823567ffffffffffffffff808211156120ed57600080fd5b818501915085601f83011261210157600080fd5b81358181111561211057600080fd5b8660208260051b850101111561212557600080fd5b60209290920196919550909350505050565b80356bffffffffffffffffffffffff8116811461215357600080fd5b919050565b60006020828403121561216a57600080fd5b611f0e82612137565b73ffffffffffffffffffffffffffffffffffffffff8116811461066757600080fd5b600080604083850312156121a857600080fd5b82356121b381612173565b91506121c160208401612137565b90509250929050565b600080604083850312156121dd57600080fd5b82356121e881612173565b946020939093013593505050565b60006020828403121561220857600080fd5b8135611f0e81612173565b60006020828403121561222557600080fd5b813563ffffffff81168114611f0e57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b63ffffffff8181168382160190808211156122b4576122b4612268565b5092915050565b6bffffffffffffffffffffffff8181168382160190808211156122b4576122b4612268565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361231157612311612268565b5060010190565b63ffffffff8281168282160390808211156122b4576122b4612268565b818103818111156106f5576106f5612268565b80820281158282048414176106f5576106f5612268565b73ffffffffffffffffffffffffffffffffffffffff8181168382160190808211156122b4576122b4612268565b6bffffffffffffffffffffffff8281168282160390808211156122b4576122b4612268565b67ffffffffffffffff8281168282160390808211156122b4576122b4612268565b73ffffffffffffffffffffffffffffffffffffffff82811682821681810283169291811582850482141761240857612408612268565b50505092915050565b73ffffffffffffffffffffffffffffffffffffffff8281168282160390808211156122b4576122b4612268565b808201808211156106f5576106f5612268565b600063ffffffff80831681810361246a5761246a612268565b6001019392505050565b6000826124aa577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156124c157600080fd5b81518015158114611f0e57600080fd5b6000825160005b818110156124f257602081860181015185830152016124d8565b50600092019182525091905056fea26469706673582212207b6e4fc56b98a1c2789e8c6ccc554d2f88ef5a56746c97e2393f9f94359cb86d64736f6c6343000818003300582102e28a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c648ffffffffffffffff05581e037cb41a18e629b8fc92b286edca1fa1d7492510829864f7b78e4626d5d0070119253605581e03801f218c035e7c7f71b7262f5750d1d5b7b01f61c91a6ec824af8fca700c0a47072a35930aa64705581e03a4e290e61d5929f1a7fcba8b9161d703ce66a16057a40d834eb65ef080040103a2cf88048c7e79bcb50357c5a04b3f17bf90b6f9647e46924e13cf0e4c08e89d05581e0369af094b7b867a825e0d8c307dad473542f7685500921a661fba96f8700c03470240fbc1425c70031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e032ff235a82802cad2b7affaeff8eed1fda5005943ea345fe48b82357c4007011bffffffffffffffff021973a303d1da3c9f2b1c720a8c1d61f5d8aec8396881d8958a10c05b036616fbf7981d350359e4ac7d6e61c4b31886c42885de3892a36649477b15d1825f757c76c0f279ff0344a4a60ad088c8a1d1acc1f1e14ecc0bcb4612197ec5ec4691aecbe180307c2703bb3b4f2cbaba45fba77381e7c682efc5e7e66f0a9b5064b3a305b4826fcea18c03f0fce72567f088e9376a3461ba283fa858b9b2727dc3d31679ede8626cd26c1c03914aadc365d6dcbb6057d47e03d268e4a15571eadbfbd9442748b8b94cf77aff03081dce241426314da5e5c75b59ae61795c2e781bce4628f902cda1307cf79eb503d9d17e880e8415760a821efe32ac7741465c21cbc55565d4ae2a404048b55bdd0399c72e5d567072b82534621c3442f1afb6cef5f68310a3f79c93597b9dceb6a70219ffff0374724b08c7b997780045e9a99825f1f16244a1617f3802ca8506410e6221211603627377bdd26d22e371cd4b9e7e502e3c4c38b082139508e3f0f5d796ae796276030382364422989803708e1759866e51faf0ff137bf033e269336b822b47c34a3203b086cd48eb8fb727b61ecb6b1390ae49c5f559a943b067bed44be1a7f50253fc0219ffff0219ffff03116c3790864b392a24c02524f4d94c79d836c31c59ea09ef4e9c6775cc57e6200338a347dc97f652b453aef57e117d68b725de55efdcc10f6bc03bf771e17a7bbf0219ffff03e983c99c4f97ffbcd00af8fd1fef6e35b9a6b719e33a600847f454549854929603a01f3120f7d44e23da073d454e8b8de578050e7c85007d604ee0b0a1fac088d1039aa5b3aa371b9df25c7505e893ccf12b4479e93eb1271c5cf0a6a6a7e4c7de4a0303b37aa8ab488b78d77fc28d0b047053730bcb55d579a0702fe1b0122ea8e97303308c130420ed47c34bdc7ff73dd619b699660f75bf71367534481418933bd56903840c4675394d22a9e31a734d17897047296a9ff12bf99a59d648876d9e91341e03c4027938f2f87b42582dc4080f549bcc929584d39e613760f4552fd5f19ac07f030071c3de5ffe2ab4592e7a0e2752b3688be31ce405a722a949f1a63e366b296703c64607af3111c000bfd08324886282ec85d04e83c103421acae11b1c6e51a9b70365909372d0813a995257d3b7351ac544a03f0d2618870a7b95b6af08bb236bfb03d8b13334389becc318bfe246467a577f2247809c51e2df54b589686048f37114034e7b72bd23d8ff649a485fbda951f7b8462bfa726906222f4ce5455506d54a4c03bcb646e147b20ef6b189b6f0cb608ad15375ad61511e1aed082cfece5d22f833033756550c627f95a97d402d6ec1fdb532b321652b24be4eaeaedf466463b4860903aefaffc123a3d3fa1e612de05606149d1588a47560edae7ba67eb407065eeeab03a7441b2afa20ad27b2e19997a31e76184541451fadf01f1f65cc9591bbef2ff20380e95a9d0934d580b7723705f30c474aa251c8426b6b5c9ff560d05c124bb6e303e7427d39011e57f8364de9105b29d27af777f1f0a4acd748159fb4555e73482403cf66c883b6c1ced854e3bf956f8f296e19b6e092ab51b15bfabca55bf11d072503ddbd7a057aa5236dc229c2c8965aa987526950fbfedbcbe15e3ab9de05eedc0103f2e9c9ec357c2bd9b892ec051eef3872c0bfee0758648c201b28f737d0bf0cdb032f58b4b2e1dd63007067b47886bd8292d32ab0a8e1aa5183bc8fc96b29f9c6330375cd75b194b8014f6d7e64ca5cdee2c766b2e7b315a3859027fe141c9ba21ceb0377d264f7f7c4ae27555ae67fd56793faa1664de6857bc0162c531eeb03b1d28c0341aac883927d6f08dd2e1996cd51abc760f3deec0f81c3e3161fad69d521658a0366b85fbef79cc4a1ea3aea93e221f1000a555e62970dbdf284a16becfb8d83e8034eb9a87661ff79830425f5b1a9eb4f14e23ba029607032eca054a9b95a557eda038a09313a8628aec2ce92bc18fc8e57be28089f33a65c841f918a6f1d848907fc03ac7084f2a428407560d3d683aa47bb68070dafdcd7d85ecc73892652092fdea203a65be996643d2b7ec34f492aeda547c44ae64e1f23120537746889d9f9e704120354ba54e78789e3671b17aea03cadc755b812c2f0f6ee848365c93ad50f61814303c07b4dc565b19561a6e3b8f403140692dc67c7b4ca873cf5be0ebb4a49e459cc03fc79a66d796dae1b8f05b1a358a2f9f6675152b9868d799b324ee82d87efcbb903882df028d8ba5429123d28588769c5b8c45338de5ace13ec13b5c8136c39e3c805581e03d615c2a510076b9b7bd81bfd5d38f510b275413bbd0dd7d75f3422dd50040105581e03a364947c1749f63cfe8ed28d3b7d636f78f87f3508c5a5f0da3125f9700c15468f94f7b98f6805581e0395c40d139ce79a2a66b32f01a78e79ac328d1129630642ceb1aa4b03600c014701e8344763fd9803647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d03336b40cbaa16811a11ed55eb6f49a99ff96fc9c37515823c7c4d3657de78a24d05581e0324c3e3fdeae4c0610f362c1249e2074d60d2f1d15e667070edfd27b93007011bffffffffffffffff05581d0263b18bb664ff5190389c9c821e3b063d836029fe97e6e6f86f2618b10c0147028b90a0d246a005581d021caf28f27e2358a25751ba691da74254184165933d0fbbff917d92ef0c024673f64205bfc90219c00002192407034bdc39a0b4b09c655ada9131c9ab7e34e55321a7b261d007bf597445904e728d0361b728f8d18a53dfba843e8db4f87811fccadc9133fccfa0835500322b7a4c34033691d42ebed072010b5219baa665dda5db7863fb8660d6033758893d920bf35a03473e1ce568d39319f244f9a7305fab24fc579717dc3284cf23af606d57799f3e03c7fb224e12158ccaa1d8d02b483235c160d14e811f01b2fb6e66302d796547c903438e105e62f4d0ae9974dfb1f6a98bfc422712cf22664b074a0b9fd875cffafc035fadccd4920dea5ffc2247ec40309cffacf129be613262ada53b71da8fd5baec0395f97afd72cbe61850f5099c723ea2c1b777cdb9587591dc7f4d143b11149b440219ffff03fff3095121793e28a80e067b1f660dbd22126951c2911e914dafef3c5b20b1fe0355790111665b287b440c87b0a821e027a1d8c7b4d4a9cb441674bf51079c395003de7928f82a03c5fb74e529d24f00cf125f9a65c9f9e26c8e38570bb8b8335cdd0341a8ea50dff4a7af5c359a7adf2ef29c5fc8a5064897170a7aecdf2b2dce570b03439a6e3af5a32f8e67cf35b173cdfd1bc1f63d522e848e7079fe74d91ef7263103ff5ed4f1462c2a40c2d291d8263505710d914922717f39ededf153ddaf0e24780351f0d5de938bcedea159aa61abb044a539efec3f7faae95f32d5236ac36756f9031cc7c049b6a0cf8a37de757ef0f128057e92164fadc5faad70d835461bd107490219ffff03d17c2940a73aa4d9e38c745313da433224a7a46dc129fe16d1c08195aaa6154703fa7e27655db7aa77c4936020255fe27fbd36eb928457a50d3f731ac08c588d69032dd5f1051fd802dacb0fc32b55838e3816168f99fcf914f57383e33c0249575e0326dba40d754d995ed2f69e00e385a68c9583a11db1531703fcb3577581a80e60036ad4b21a66e1d880d7571bc3fa81736e74ca1ed2d2623e4c087451cbad51c5ed0219ffff03aed1cfe5cdcfd8be31a401a863652a80ce7897d98167b228377bf67933320b1c03384f4adef9da5d66f658926417fb7584126eea0a19caeea2b90d1ed4ccbaf381038343bcd3e12bfa7cf039b7b079d203ce5bdd61088d71e7d0adbd92bbce2eba8c03de67b81e2de8ad52d484e8b055464ff12d256f5ccbc7d87e5aaabf7b85b837c403504359c0d555619607cc5dff80ca21c7d5a232dd98bac43a81ad79e4e858688c0219ffff03cce8d70d7f9df528092b3292ece738c23d5682a505856d1f6aead57a434f395003cb45b392d52a6be84d725499fe82ecc5e52bcf821d2a35bd27e506a4bacf49ee034f150edcb65381142526455831b785a97c7bc1002832c85eab730131ad2ae69a03d0316c8a7c6f4a5c85fc10d6d49269d98b70b55338e89d5561f2da020b15d34a03ec5cafd8651313da3b2b3539a6ec05fc78b7915ccd42a0d4087322da9db408a703c7e39ad195b3346edc1e7c5460bdea271e7ce660eb35ce36267215d0401077f503fc5813483f0e6bf8446ea6d74ea8d62ae62c099fd7f7b2273db7f9061030f49303b1c824ab754dd43be760b35c48920cf6b7641ec08579e200fd99c5e8b567e19f0356f59f702891d688f1c7befbd6505ade17ad21f2dbf88adc206dd25cee24a790033f755e544c72eaa3306cb9a6c7147ca45429b6614ce73e846efe6c6a3c81219603332ebefd27bf778ac3c160835e8cd3566ac3a5388f8cb0586bdac040f818161403014e63f23e138d3a8568930f66681f9893d27910fa9e6efff4fee8a56db1c5a803bea05983e980a0a4267ac53d201f104e181fe9a9aea5d36923cbc3b145ee6d8303f31ee18de641df4f78dd1bf6189dc049a12c2714dabda3b8862af746d9cbb9e703894dd49329bbb131eee7efcf1c1aa5cab1d31ca39b7c94e94e164dcfee8f157d03a7ed9a93b71d1b2fa5e60f6c6ebbb23d9a05fa6a6fc48aef8fc92d6745cd916e03db03ee543168b10cd60c31ca2fe5bf1c427b56ef189c7f02c2668e5710da9fdf034653eb554bdcd26fa37625c43adf08b6ea7163c7394b02408f8eb152e45f438f030b42e380b78a60d5311a190e869d3b088a6e27745488ce0c3ccd78cf031187a703bdfed372e9c0cd5e1139b45eb5a6d9b56e110b2a384a1334d3929c942049720c03a65ca083bc9dba3fcaa2f504eb4675de8764b601490e57c4e72e5396bb50f0a7031a25abf3ca89584708c74b8c359e7db797aac75ace7996e6f5cd95b48b2adf9e03a44df0effdf1a0c88b263b76377098d38469915f08e396f5ae464b0b54e3345203b5c12ea33eb870cd127c6cd1186cb427ccd349fcd3065e7abd6c322d8084cd3f031a82277cdd9a29657ed5dca170740ecb919b65e86928c7e1bdf8c7618d8800be05581e03afed217ddaa0ce696b7da8fdd5a34b34498bd89b6913778ade3e72c9f00c02460682cefbf95805581e031a4f21730e2edc4712469878326d1a2dfce41590e975201e3ab2e13fb00c0942028e035caca6083975a8b93b2219434a321eb09cfd0bb43e26602dc119e045e1f61efc032359d29449051ee6d6f5445242fbce10e42a31869087df58b986c538d84e440405581e030f93eeb8ed6432300fed18c87536c0e711467358722b6f40562355c210040103dddb09facc2a7ce581396f328c83c3686f332d95f680d7cb09b602a14ec79ac905581e03883b9be901b2a169cc79d20895d698e8110725c1b574469517fce093400c0247020c118fec929805581d0205454c7957ee93aeda2e43c7a6aaefd9b8edf859ad64e95884af16530c1a000199ab48b91ef7fe931f9eb605581d02b084523df49aea69d9b90ff1bc27112d683f40749e2438ffd8f4e29d0c0446a2b80f53006002191800030b28b9eacd13ec9f14e8bc1707130c0b423d2d403b9f3f1dc4cbcc03927c430f05581e03d90d19db39cb50fe73765e86b3b59f1eb27930c3032804295aa4961de00c01466bb34b8db4800219a73d039113eaa1b3368dfba28f6beaac3dd0f6e19d0d43d78ab919b9b260033f1a31d00377dcc911caed3369ef65264fa989e7e3abe5b47f5d834e9d4e81e680780ce8140219ffff031459354abde1ee7adff8d53eae8749694762918a7cc9e5092d6d8be5331fa67103a7dc06c8c4d0ed80b381e3337bc51aca9e77f713dec7efb6e3161bbc64feb23503b049f66fa498d062f9896a10b64af740d79b4f81d01fd3da81820b66f413cb0a0219ffff03d6f6e1325d2e650521e411dffab8265e3ed51882c2e51702953296dd6de2fc7b03ec0dc0a4b76db3ae6ceadeeb6dc2c89518483f3da58b067a6d0171a9dbed9348032a70db6c8f296a8e42ef060bbefbb0b996f29951954a42f3a0fce7660ea510ac03772b22ca488ffb65cc72a64e2a07520083f896e2f61da4d3b3447d0811a4c46403d748f5454ea9a68557fc5a5ed4e0924c78c262fa76380c7d4ad534c2f60ce6d503587674c7107005a9acbef9440222d0b55e434a5bb535f8aae7311bf6e761088903893ea986074abefe3c0d3d98867d918fd06b9c0535e10a395f07e4b65f23361f039cd3279ace7845c4ec4d556d006a729bc978d90dceb156b1d9c39447015577d703f4f180458945ad9a08620cd9be1760c43c689b40065ac7ab3db414a7fc4316b40343d7f3628121e45a9e62ce768cd51eca530e335d826b0aec7d38d990a25bffab03d286738655dff4f78aa8a3fa42cd5b4ad8f5b42b3652e57b19c84bbb6a1da05603e5714971180d32fbbeb62c6becf83b818b9ceb9cb929b73e4e07fc61586e194603bb3ba2fb535553c5b4d7082d62f9d664b8eaa007a491e2817a578e4982dc84a2035aa1cc864c465fe616de603e4a78b40544c0acb81c0e17496db591b6b703b59c030a21dc0b6a24fee76c641aca1ca9bb6a2b0f087691d69dbb42b94e5a5436c7f20219ffff03ba5d245fdbf432aed4c806035d2c1c6135a0c3ce42825a63345cfc3918a5202503434be0fae3df8319925e01b4d0c9085802657a63fbcc04628082119957dbd09d03f800a47bc48f3c2f76ee4f2efe34f98abcdef1addc81fb1e4f542251233f82c2030bd96038c8eaf4348e8672b7729095aef367f71e984a7718c3173eacf9168c1e03e6d56d536dea35b8c1ee823ff5ef977eaf1fc940df379bad4db92a9c8a4a558803b365d164228ced128a0d9e67b328af730795f7332236b3f4b97aba3d05a7337003527bf6caed107073029ec3f12ceabf3fa504965123cc53dd882eb7e08bf8d02b033a206f1ad2d09e2174fb063011f7f1ffd94dba5d3007f880c7f01f69fbae2678032e9f790a5502df8807ef222357e29ee167955f799fde3776ecad52d192d5cf5403240b5e0c26a332a3ec3bee02ac3405473e81b7fb1bd1de500c1bc4a6a53e89d00396a09270c6ea1c1c8dfee375cd74c149999d09697f0945cff4672f2749cdd06c0302c6d58c0ba5d49d5ca42250f765b5e97b55d38adfc2a69961ba992c35166fcd03d3fddbca83d9b4f6a0cf31e2a7f3eaf8e223d9592e38b1153b09e11e640b3957031621ba98cf56ee5236b9da0f996f5b0ab13b079c1dbd564f506fe8f9c9f7e0f003208b29ce6717a36a8157914691a83898e799f4be03f3fa48742574acb1c291fe036ad69fddee9dfea9ae5464ecc594a1e2e31c46ef20d92f360325488babd5270d0378e3aa9542c0a93ed0b6c08dd44df1f5cc49aee40cc59b64c84d908f37cdb5c9033ff13b61d8314ad8d2748020a4e53d0c4e2e69495ba822a5fb85046e0e35c0840345a8c3be6dfd3dd0ec18b40892230ad91a52f4dee4b11b21b058393a02014d020395c23dc52f5044803b2a22dcd033ff08fa5a7be328ef245a3c0270f400d9dd9103d9e9611b816b7ea28e043f26673f64a47847bc8d56a2ea5e090da7ec0bc7992603493ee81828e296b288248e5c6c02746886e4ccf07e29736a8c758c58337592030325c370c27522fd13245ab170a803e29dfb908e86a2f3f51cb5ae2b5936a259a703b1621474eba3c2c8a3c3968d1634c0ba5a7cec0a55a92acaba3d4f38e76306310397758109c38717fe04d20889b6c7983eaff66c39f42e1c63d2f26efe3738fd9805581e03c3f39ee1cf8e0e4ea01d6df7302c4a922042c6f8b92e2954852e547c10040305581e034df247713762807119c55bef0334f97d9054e69738ffcc09d38d0a8c60040103bd816aec653daa421509c6e3446154743b793f085fe30ef42a9df097e9bb37aa05581e035e39550970d9fada8af8c410008872cdd557b04aa69591203c65d26cb0040105581e033ea0a0b73ec80d69b4de7116db6e47f36b8b0eae7c9a4faf71a205fb500c04450272a8dc7f05581e035d5d70242cab09d00d6ec0e565a206415912c6d65acb283ae4dc12c1600401038cb45b7d73927922ee3c22679cdc71a49237f2e0449f6abc4ed4148deb4ca09205581e03621c7c0df8259d074bd74a0aa59513a6ef78cd90c3d31d381fb5c161f00c014701a13f568231ef03b5dc43656a6dd13c2b78ae8f449b39c28294381710a4a6388b45fb92949ae76205581d028eb8a345ac2c639d7966203b501d0eccf780a644b77508b63e6b8f7e0c14475a385df4813c9d04595db76080604052600436106101d3575f3560e01c806379ba5097116100fd578063c3f909d411610092578063ef16e84511610062578063ef16e84514610629578063f2fde38b1461064a578063fd257e2914610669578063ff00c39114610688575f80fd5b8063c3f909d41461058c578063dde89cf5146105ad578063e07baba6146105cf578063e30c39781461060c575f80fd5b80638da5cb5b116100cd5780638da5cb5b1461045c5780639413caa914610479578063a86f9d9e1461048d578063c19d93fb146104ac575f80fd5b806379ba5097146104015780638456cb59146104155780638778209d146104295780638abf607714610448575f80fd5b80633eb6b8cf11610173578063563479a511610143578063563479a5146103755780635c975abb146103a15780635fa15e79146103c1578063715018a6146103ed575f80fd5b80633eb6b8cf1461030d5780633f4ba83a1461032c5780634f1ef2861461034057806352d1902d14610353575f80fd5b806329d1b62f116101ae57806329d1b62f146102745780633075db56146102935780633659cfe6146102b75780633ab76e9f146102d6575f80fd5b8063069489a21461020357806310d008bd1461021757806326af798614610236575f80fd5b366101ff576101e06106a7565b6101fd57604051630d28633960e01b815260040160405180910390fd5b005b5f80fd5b34801561020e575f80fd5b506101fd6106bb565b348015610222575f80fd5b506101fd610231366004614b45565b610772565b348015610241575f80fd5b5061024a6108fa565b604080516001600160401b0390941684526020840192909252908201526060015b60405180910390f35b34801561027f575f80fd5b506101fd61028e366004614bca565b61092d565b34801561029e575f80fd5b506102a76106a7565b604051901515815260200161026b565b3480156102c2575f80fd5b506101fd6102d1366004614c1a565b610a10565b3480156102e1575f80fd5b506097546102f5906001600160a01b031681565b6040516001600160a01b03909116815260200161026b565b348015610318575f80fd5b506102f5610327366004614c35565b610ad7565b348015610337575f80fd5b506101fd610aed565b6101fd61034e366004614d8e565b610b18565b34801561035e575f80fd5b50610367610bd1565b60405190815260200161026b565b348015610380575f80fd5b5061039461038f366004614ded565b610c82565b60405161026b9190614e1e565b3480156103ac575f80fd5b506102a760c954610100900460ff1660021490565b3480156103cc575f80fd5b506103e06103db366004614ee9565b610d46565b60405161026b9190614f02565b3480156103f8575f80fd5b506101fd610e2d565b34801561040c575f80fd5b506101fd610e40565b348015610420575f80fd5b506101fd610eb7565b348015610434575f80fd5b506101fd610443366004614ee9565b610eca565b348015610453575f80fd5b506102f5610fcd565b348015610467575f80fd5b506033546001600160a01b03166102f5565b348015610484575f80fd5b5061024a610fdb565b348015610498575f80fd5b506102f56104a7366004614f9a565b610ffd565b3480156104b7575f80fd5b5060fe54604080516080808201835260ff80546001600160401b038082168552600160401b8083048216602080880191909152600160801b8085048416888a0152600160c01b9485900484166060808a0191909152895160e081018b526101005480871682529485048616938101939093529083048616151598820198909852600160881b82049094169684019690965261ffff600160901b8704169383019390935263ffffffff600160a01b86041660a08301529093041660c083015261057d929183565b60405161026b9392919061502a565b348015610597575f80fd5b506105a0611009565b60405161026b919061507a565b3480156105b8575f80fd5b506105c16110a0565b60405161026b929190615108565b3480156105da575f80fd5b5060c9546105f4906201000090046001600160401b031681565b6040516001600160401b03909116815260200161026b565b348015610617575f80fd5b506065546001600160a01b03166102f5565b61063c610637366004615152565b61118a565b60405161026b929190615305565b348015610655575f80fd5b506101fd610664366004614c1a565b6112c6565b348015610674575f80fd5b5061039461068336600461532f565b611337565b348015610693575f80fd5b506101fd6106a2366004615357565b611353565b5f60026106b2611368565b60ff1614905090565b6106c36113a7565b5f54600290610100900460ff161580156106e357505f5460ff8083169116105b6107085760405162461bcd60e51b81526004016106ff90615372565b60405180910390fd5b5f8054610100805466ffffffffffffff60881b1916815560fe83905561ff001960ff851661ffff199093168317909117169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b61078660c954610100900460ff1660021490565b156107a45760405163bae6e2a960e01b815260040160405180910390fd5b61010054600160801b900460ff16156107d0576040516333018e5560e11b815260040160405180910390fd5b60026107da611368565b60ff16036107fb5760405163dfc60d8560e01b815260040160405180910390fd5b6108056002611401565b5f808061081484860186615494565b9250925092508260c001516001600160401b0316866001600160401b03161461085057604051638a1c400f60e01b815260040160405180910390fd5b5f610859611009565b90505f6108746a3a30b4b5b7afba37b5b2b760a91b5f610ffd565b905061088660fb828430898989611449565b610895828660c001515f611f39565b156108ac576108ac60fb8284308660600151611fa8565b50506040517fdf66aee38ea9fe523cfd238705d455a354305a646748dbb931898b51cee4727b93506108e3925061010091506155c8565b60405180910390a16108f56001611401565b505050565b61010054600160401b90046001600160401b03165f8061092360fb61091d611009565b856129d2565b9394909392509050565b5f54610100900460ff161580801561094b57505f54600160ff909116105b806109645750303b15801561096457505f5460ff166001145b6109805760405162461bcd60e51b81526004016106ff90615372565b5f805460ff1916600117905580156109a1575f805461ff0019166101001790555b6109ab8585612a4b565b6109b660fb84612a85565b81156109c4576109c4612bd6565b8015610a09575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b037f0000000000000000000000005fc54737ecc1de49d58ae1195d4a296257f1e31b163003610a585760405162461bcd60e51b81526004016106ff90615630565b7f0000000000000000000000005fc54737ecc1de49d58ae1195d4a296257f1e31b6001600160a01b0316610a8a612c4d565b6001600160a01b031614610ab05760405162461bcd60e51b81526004016106ff9061567c565b610ab981612c68565b604080515f80825260208201909252610ad491839190612c70565b50565b5f610ae3848484612dda565b90505b9392505050565b610af5612ecb565b61010080546001600160c01b0316600160c01b426001600160401b031602179055565b6001600160a01b037f0000000000000000000000005fc54737ecc1de49d58ae1195d4a296257f1e31b163003610b605760405162461bcd60e51b81526004016106ff90615630565b7f0000000000000000000000005fc54737ecc1de49d58ae1195d4a296257f1e31b6001600160a01b0316610b92612c4d565b6001600160a01b031614610bb85760405162461bcd60e51b81526004016106ff9061567c565b610bc182612c68565b610bcd82826001612c70565b5050565b5f306001600160a01b037f0000000000000000000000005fc54737ecc1de49d58ae1195d4a296257f1e31b1614610c705760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016106ff565b505f80516020615d3b83398151915290565b610c8a6148fd565b610c9e60fb610c97611009565b8585612edd565b6040805161014081018252825481526001830154602082015260028301549181019190915260038201546001600160a01b0380821660608401526001600160601b03600160a01b9283900481166080850152600485015491821660a08501529190041660c08201526005909101546001600160401b03811660e083015261ffff600160401b82041661010083015260ff600160501b9091041661012082015290505b92915050565b60408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810191909152610d9960fb610d93611009565b84612f6b565b5060408051610100810182528254815260018301546001600160a01b03811660208301526001600160601b03600160a01b90910416918101919091526002909101546001600160401b038082166060840152600160401b820481166080840152600160801b82041660a083015263ffffffff600160c01b8204811660c0840152600160e01b9091041660e082015292915050565b610e356113a7565b610e3e5f612fcb565b565b60655433906001600160a01b03168114610eae5760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016106ff565b610ad481612fcb565b610ebf612bd6565b610e3e336001612fe4565b610ede60c954610100900460ff1660021490565b15610efc5760405163bae6e2a960e01b815260040160405180910390fd5b61010054600160801b900460ff1615610f28576040516333018e5560e11b815260040160405180910390fd5b6002610f32611368565b60ff1603610f535760405163dfc60d8560e01b815260040160405180910390fd5b610f5d6002611401565b610f8960fb610f7a6a3a30b4b5b7afba37b5b2b760a91b5f610ffd565b610f82611009565b3085611fa8565b6040517fdf66aee38ea9fe523cfd238705d455a354305a646748dbb931898b51cee4727b90610fbb90610100906155c8565b60405180910390a1610ad46001611401565b5f610fd6612c4d565b905090565b60ff54600160801b90046001600160401b03165f8061092360fb61091d611009565b5f610ae6468484612dda565b60408051610100810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081019190915250604080516101008101825262028c5881526204f1a060208201526204f3a091810191909152601060608201819052630e4e1c0060808301526806c6b935b8bbd4000060a083015260c0820152600160e082015290565b604080516080810182525f8082526020820181905291810182905260608101919091526110cb614950565b5050604080516080808201835260ff80546001600160401b038082168552600160401b8083048216602080880191909152600160801b8085048416888a0152600160c01b9485900484166060808a0191909152895160e081018b526101005480871682529485048616938101939093529083048616151598820198909852600160881b82049094169684019690965261ffff600160901b8704169383019390935263ffffffff600160a01b86041660a08301529093041660c083015291565b61119261498b565b60606111a860c954610100900460ff1660021490565b156111c65760405163bae6e2a960e01b815260040160405180910390fd5b60026111d0611368565b60ff16036111f15760405163dfc60d8560e01b815260040160405180910390fd5b6111fb6002611401565b5f611204611009565b90505f61121f6a3a30b4b5b7afba37b5b2b760a91b5f610ffd565b905061123260fb8284308c8c8c8c613063565b60c082015191955093506112499083906001611f39565b8015611260575061010054600160801b900460ff16155b156112775761127760fb8284308660600151611fa8565b50506040517fdf66aee38ea9fe523cfd238705d455a354305a646748dbb931898b51cee4727b906112ab90610100906155c8565b60405180910390a16112bd6001611401565b94509492505050565b6112ce6113a7565b606580546001600160a01b0383166001600160a01b031990911681179091556112ff6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b61133f6148fd565b610c9e60fb61134c611009565b85856138c0565b61135d3382612fe4565b610ad460fb8261393d565b5f611372466139ea565b1561139d57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b6033546001600160a01b03163314610e3e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106ff565b61140a466139ea565b1561143557807fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5d50565b60c9805460ff831660ff1990911617905550565b8151158061145957506020820151155b8061146657506040820151155b15611484576040516317eddea160e11b815260040160405180910390fd5b61148c6149fe565b6001600160a01b0387166060808301919091526040805160e08101825260058b01546001600160401b038082168352600160401b820481166020840190815260ff600160801b84048116151595850195909552600160881b83049094169483019490945261ffff600160901b820416608083015263ffffffff600160a01b82041660a0830152600160c01b9004831660c0808301919091529084529051908601519082169116111580611552575080515160c08501516001600160401b03918216911610155b1561157057604051638a1c400f60e01b815260040160405180910390fd5b85604001518460c0015161158491906156dc565b6001600160401b0390811661010083018190525f90815260208a9052604090206002810154909116610120830181905260c08801516115c89160ff90911690613a17565b156115d857604084015160c08301525b60018101546001600160a01b031660a08301819052611606576101a08501516001600160a01b031660a08301525b6001810154600160a01b90046001600160601b031660e08301528054608083015260c08501516101208301516001600160401b039182169116141580611658575061165085613a44565b826080015114155b1561167657604051632ec3485560e11b815260040160405180910390fd5b61167e6148fd565b61168a8a838786613a73565b63ffffffff909116610140850152845190915061ffff1615806116bc575085610140015161ffff16845f015161ffff16105b806116d6575080610100015161ffff16845f015161ffff16105b156116f457604051631a32f51360e01b815260040160405180910390fd5b604051635437cecf60e11b81526a3a34b2b92fb937baba32b960a91b60048201525f60248201819052906001600160a01b0389169063a86f9d9e90604401602060405180830381865afa15801561174d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117719190615701565b610120850151604051635c42d07960e01b81526001600160401b0390911660048201529091505f906001600160a01b03831690635c42d07990602401602060405180830381865afa1580156117c8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117ec9190615701565b865160405163576c3de760e01b815261ffff90911660048201529091506001600160a01b0382169063576c3de79060240160c060405180830381865afa158015611838573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061185c9190615732565b602086015261014088015160405163576c3de760e01b815261ffff90911660048201526001600160a01b0382169063576c3de79060240160c060405180830381865afa1580156118ae573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118d29190615732565b856040018190525050506119108160e001516001600160401b0316845f015160c001516001600160401b031685604001516080015161ffff16613c25565b156101a08401526020830151604001516001600160601b031615801590611942575060a08101516001600160a01b0316155b8015611959575082610140015163ffffffff166001145b801561196c575061010081015161ffff16155b801561197a5750826101a001515b156119b5578260a001516001600160a01b0316336001600160a01b0316146119b557604051632185a2ad60e21b815260040160405180910390fd5b60208301515115611b1f57602083015151604051635437cecf60e11b815260048101919091525f60248201819052906001600160a01b0389169063a86f9d9e90604401602060405180830381865afa158015611a13573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a379190615701565b90505f82610100015161ffff16865f015161ffff16148015611a6957506020850151604001516001600160601b031615155b6040805160e08101825260808089015182528b8301516020830152338284018190526101208a01516001600160401b03166060840152841515918301919091526101608c0151151560a083015260c0820152905163043d132d60e31b8152919250906001600160a01b038416906321e8996890611aee9084908c908c9060040161582b565b5f604051808303815f87803b158015611b05575f80fd5b505af1158015611b17573d5f803e3d5ffd5b505050505050505b602080840151604001516001600160601b0316156101808501528181015190860151148015611b55575080604001518360c00151145b15156101c0840152610100810151845161ffff91821691161115611bdc57611b808282878787613c42565b8261012001516001600160401b03167fc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f8633866020015160200151885f0151604051611bcf94939291906158c3565b60405180910390a2611e40565b826101c0015115611c0057604051639d49773160e01b815260040160405180910390fd5b82610180015115611cc15760208084015101516001600160601b031615611c2957611c29615916565b60808101516001600160601b0316158015611c4f575060a08101516001600160a01b0316155b611c5b57611c5b615916565b33606082018190526020808701519083015260c0840151604080840191909152610120850151865191516001600160401b03909116927fc195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701f92611bcf928a92915f916158c3565b60a08101516001600160a01b031615611ced576040516382ef169960e01b815260040160405180910390fd5b611d228160e001516001600160401b0316845f015160c001516001600160401b031685602001516060015162ffffff16613c25565b15611d405760405163378b1eff60e21b815260040160405180910390fd5b602083015160409081015190516323b872dd60e01b81523360048201523060248201526001600160601b0390911660448201526001600160a01b038a16906323b872dd906064016020604051808303815f875af1158015611da3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dc7919061592a565b506020830180516040908101516001600160601b031660c08401523360a084018190526101208601519251820151875192516001600160401b03909416937fb4c0a86c1ff239277697775b1e91d3375fd3a5ef6b345aa4e2f6001c890558f693611e37938b9390929091906158c3565b60405180910390a25b6001600160401b0342811660e083019081526101008086015183165f90815260029d8e01602090815260408083206101409099015163ffffffff1683529781529087902085518155908501516001820155958401519c86019c909c55606083015160808401516001600160601b03908116600160a01b9081026001600160a01b0393841617600389015560a086015160c087015190921602911617600486015551600590940180549b8301516101209093015160ff16600160501b0260ff60501b1961ffff909416600160401b0269ffffffffffffffffffff19909d1695909216949094179a909a171698909817905550505050505050565b5f83606001516001600160401b03165f03611f5557505f610ae6565b6060840151677fffffffffffffff600191821c16908111611f7a576001915050610ae6565b82611f8957600181901c611f8b565b5f5b611f9e826001600160401b038716615945565b1495945050505050565b6001600160401b03811615610a0957611fbf614ad9565b6040805160e08101825260058801546001600160401b038082168352600160401b82048116602080850191825260ff600160801b85048116151586880152600160881b850416606086015261ffff600160901b850416608086015263ffffffff600160a01b85041660a0860152600160c01b909304821660c0850152928552915190911690830181905290850151612056916156dc565b6001600160401b0390811660408084018290525f9182526020898152912090830151600282015491929182169116146120a257604051632ec3485560e11b815260040160405180910390fd5b6002810154600160e01b900463ffffffff1660a08301819052608083018190525f036120e15760405163d4345b9760e01b815260040160405180910390fd5b6040808301516001600160401b039081165f90815260028a016020908152838220608087015163ffffffff16835290529182206001015460e08501528481169081111561213057612130614c72565b604051908082528060200260200182016040528015612159578160200160208202803683370190505b5090505f846001600160401b03166001600160401b0381111561217e5761217e614c72565b6040519080825280602002602001820160405280156121a7578160200160208202803683370190505b506020850180516001016001600160401b0316905290505b83515160208501516001600160401b0391821691161080156121f65750846001600160401b031684606001516001600160401b0316105b156126755786604001516001600160401b031684602001516001600160401b031681612224576122246156c8565b066001600160401b0390811660408681018290525f91825260208c81529120908601516002820154919550821691161461227157604051632ec3485560e11b815260040160405180910390fd5b612285898486604001518760e00151614073565b63ffffffff166080850181905215612675576040848101516001600160401b03165f90815260028b016020908152828220608088015163ffffffff1683529052206005810154600160401b900461ffff1660c086015260048101546001600160a01b0316156122f45750612675565b6101808501516001600160a01b031661239157604051635437cecf60e11b81526a3a34b2b92fb937baba32b960a91b60048201525f60248201526001600160a01b0388169063a86f9d9e90604401602060405180830381865afa15801561235d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123819190615701565b6001600160a01b03166101808601525b6101808501516020860151604051635c42d07960e01b81526001600160401b0390911660048201525f916001600160a01b031690635c42d07990602401602060405180830381865afa1580156123e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061240d9190615701565b60c087015160405163576c3de760e01b815261ffff90911660048201526001600160a01b03919091169063576c3de79060240160c060405180830381865afa15801561245b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247f9190615732565b606001516005830154875160c001519192506124ad916001600160401b03918216911662ffffff8416613c25565b6124b8575050612675565b50608085015163ffffffff1660a0860152600181015460e086015260038101546001600160a01b031661016086018190526060860151845185916001600160401b031690811061250a5761250a615958565b60200260200101906001600160a01b031690816001600160a01b0316815250508060030160149054906101000a90046001600160601b03166001600160601b03168286606001516001600160401b03168151811061256a5761256a615958565b6020026020010181815250508461016001516001600160a01b031685602001516001600160401b03167fdecbd2c61cbda254917d6fd4c980a470701e8f9f1b744f6ad163ca70ca5db2898760e001515f8960c001516040516125e393929190928352602083019190915261ffff16604082015260600190565b60405180910390a36126098860c0015160ff1686602001516001600160401b0316613a17565b15612649576002810154801561264757610100860181905260208601516001600160401b0316610120870152608086015163ffffffff166101408701525b505b506020840180516001600160401b036001918201811690925260608601805190910190911690526121bf565b60608401516001600160401b0316156129c757606084015184516020015160408901519101906001600160401b03908116908216816126b6576126b66156c8565b066001600160401b03908116604087810182905260058d0180546fffffffffffffffff00000000000000001916600160401b8686160217905560a08801515f92835260208e90529181902060020180546001600160e01b0316600160e01b63ffffffff90941693909302929092179091556060870151909116808552808452905163446b4ad960e11b81526001600160a01b038b16906388d695b290612762908790879060040161596c565b6020604051808303815f875af115801561277e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127a2919061592a565b6127bf576040516307600b4160e21b815260040160405180910390fd5b610100860151156129c45761012086015160048c0180546fffffffffffffffffffffffffffffffff16600160801b6001600160401b039384169081026001600160c01b031691909117600160c01b4285160217909155908316146128905788604001516001600160401b03168661012001516001600160401b031681612847576128476156c8565b066001600160401b031660408781018290526101408801515f92835260208e9052912060020180546001600160e01b0316600160e01b63ffffffff909316929092029190911790555b604051635437cecf60e11b81526d7369676e616c5f7365727669636560901b60048201525f60248201526001600160a01b0389169063a86f9d9e90604401602060405180830381865afa1580156128e9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061290d9190615701565b89516101208801516101008901516040516313e4299d60e21b81526001600160401b0393841660048201527f73e6d340850343cc6f001515dc593377337c95a6ffe034fe1e844d4dab5da169602482015292909116604483015260648201526001600160a01b039190911690634f90a674906084016020604051808303815f875af115801561299e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129c291906159ee565b505b50505b505050505050505050565b5f805f806129e1878787612f6b565b60028201549193509150600160e01b900463ffffffff1615612a41576001600160401b0381165f90815260028881016020908152604080842086840154600160e01b900463ffffffff168552909152909120600181015491015490945092505b5050935093915050565b806001600160a01b038116612a735760405163538ba4f960e01b815260040160405180910390fd5b612a7c8361414c565b6108f5826141aa565b5f819003612aa65760405163d6d0f75560e01b815260040160405180910390fd5b600482018054426001600160401b03908116600160401b81026fffffffffffffffffffffffffffffffff1990931643929092169190911782179092556005808501805467ffffffffffffffff1990811660019081179092555f80805260208881526040808320600280820180546001600160e01b037fffffffff00000000ffffffffffffffff0000000000000000ffffffffffffffff909116909a17600160c11b1799909916600160e01b17909855858155968a01825280832085845282528083209485018990556003850180546001600160a01b031916905594840180549093169096179091558251868152948501819052918401829052919281907fdecbd2c61cbda254917d6fd4c980a470701e8f9f1b744f6ad163ca70ca5db2899060600160405180910390a350505050565b612bea60c954610100900460ff1660021490565b15612c085760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258906020015b60405180910390a1565b5f80516020615d3b833981519152546001600160a01b031690565b610ad46113a7565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615612ca3576108f58361421a565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612cfd575060408051601f3d908101601f19168201909252612cfa918101906159ee565b60015b612d605760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016106ff565b5f80516020615d3b8339815191528114612dce5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016106ff565b506108f58383836142b5565b6097545f906001600160a01b031680612e0657604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b81526001600160401b0386166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015612e58573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612e7c9190615701565b915082158015612e9357506001600160a01b038216155b15612ec357604051632b0d65db60e01b81526001600160401b0386166004820152602481018590526044016106ff565b509392505050565b612ed36142df565b610e3e335f612fe4565b5f805f612eeb878787612f6b565b915091508363ffffffff165f1480612f185750600282015463ffffffff600160c01b909104811690851610155b15612f365760405163727b1d6160e01b815260040160405180910390fd5b6001600160401b03165f908152600287016020908152604080832063ffffffff8716845290915290209150505b949350505050565b5f80836040015183612f7d91906156dc565b6001600160401b038181165f9081526020889052604090206002810154909450919250848116911614612fc357604051638a1c400f60e01b815260040160405180910390fd5b935093915050565b606580546001600160a01b0319169055610ad481614369565b6d636861696e5f7761746368646f6760901b6130086033546001600160a01b031690565b6001600160a01b0316336001600160a01b031614158015613045575061302f816001610ffd565b6001600160a01b0316336001600160a01b031614155b156108f557604051630d85cccf60e11b815260040160405180910390fd5b61306b61498b565b60605f61307a86880188615ae1565b60208101519091506001600160a01b0316613096573360208201525b6040805160e08101825260058d01546001600160401b038082168352600160401b82048116602080850182905260ff600160801b85048116151596860196909652600160881b8404909516606085015261ffff600160901b840416608085015263ffffffff600160a01b84041660a0850152600160c01b9092041660c0830152918b015190916131269190615bb5565b613131906001615bb5565b6001600160401b0316815f01516001600160401b031610613165576040516351ec7d5360e01b815260040160405180910390fd5b5f8c5f015f8c604001516001855f015161317f9190615bd5565b61318991906156dc565b6001600160401b0316815260208101919091526040015f20546060840151909150158015906131bc575082606001518114155b156131da57604051630d41ec8760e11b815260040160405180910390fd5b604080516101c0810182525f194301804082525f60208084018290528385018290529387015160608401527f569e75fc77c1a856f6daaf9e69d8a9566ca34aa47f9133711ce065a571af0cfd608080850191909152938701516001600160a01b031660a084015285516001600160401b0390811660c0850152938f015163ffffffff1660e08401524284166101008401529216610120820152610140810191909152861561016082018190526101808201839052336101a0830152909550156132f1576132a6466139ea565b6132c35760405163df9969ef60e01b815260040160405180910390fd5b5f80496040870181905290036132ec57604051639e7e2ddd60e01b815260040160405180910390fd5b613362565b8686604051613301929190615bf5565b60408051918290039091209086015260e08b015180156133445750336001600160a01b031661333886604001518560a001516143ba565b6001600160a01b031614155b156133625760405163f6ee3bdb60e01b815260040160405180910390fd5b81516040805144602082015260c09290921b6001600160c01b0319169082015243604882015260680160408051808303601f1901815291815281516020928301209187019190915251635437cecf60e11b81526a3a34b2b92fb937baba32b960a91b60048201525f60248201819052906001600160a01b038c169063a86f9d9e90604401602060405180830381865afa158015613401573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134259190615701565b8351604051635c42d07960e01b81526001600160401b0390911660048201529091505f906001600160a01b03831690635c42d07990602401602060405180830381865afa158015613478573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061349c9190615701565b60208801516040516359ab4e2360e01b81529192506001600160a01b038316916359ab4e23916134d29160040190815260200190565b602060405180830381865afa1580156134ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135119190615c04565b61ffff1661014088015250506040805161010081019091525f908061353588613a44565b81526020015f6001600160a01b031681526020018d60a001516001600160601b03168152602001845f01516001600160401b031681526020018761010001516001600160401b03168152602001436001600160401b03168152602001600163ffffffff1681526020015f63ffffffff168152509050808e5f015f8e60400151865f01516135c291906156dc565b6001600160401b03166001600160401b031681526020019081526020015f205f820151815f01556020820151816001015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160010160146101000a8154816001600160601b0302191690836001600160601b031602179055506060820151816002015f6101000a8154816001600160401b0302191690836001600160401b0316021790555060808201518160020160086101000a8154816001600160401b0302191690836001600160401b0316021790555060a08201518160020160106101000a8154816001600160401b0302191690836001600160401b0316021790555060c08201518160020160186101000a81548163ffffffff021916908363ffffffff16021790555060e082015181600201601c6101000a81548163ffffffff021916908363ffffffff1602179055509050508d6005015f015f81819054906101000a90046001600160401b031660010191906101000a8154816001600160401b0302191690836001600160401b031602179055508c6001600160a01b03166323b872dd33308f60a001516040518463ffffffff1660e01b81526004016137b7939291906001600160a01b0393841681529190921660208201526001600160601b0391909116604082015260600190565b6020604051808303815f875af11580156137d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137f7919061592a565b50341580159061380657504115155b156138155761381541346143d4565b604080515f8082526020820190925290613855565b604080516060810182525f80825260208083018290529282015282525f1990920191018161382a5790505b509450336001600160a01b03168660c001516001600160401b03167fcda4e564245eb15494bc6da29f6a42e1941cf57f5314bf35bab8a1fca0a9c60a8e60a0015189896040516138a793929190615c1f565b60405180910390a3505050509850989650505050505050565b5f805f6138ce878787612f6b565b915091505f6138df88848488614073565b90508063ffffffff165f036139075760405163727b1d6160e01b815260040160405180910390fd5b6001600160401b039091165f908152600288016020908152604080832063ffffffff909416835292905220915050949350505050565b6005820154811515600160801b90910460ff161515036139705760405163689d009d60e11b815260040160405180910390fd5b60058201805460ff60801b1916600160801b83151502179055806139b1576005820180546001600160c01b0316600160c01b426001600160401b0316021790555b60405181151581527fed64db85835d07c3c990b8ebdd55e32d64e5ed53143b6ef2179e7bfaf17ddc3b9060200160405180910390a15050565b5f60018214806139fb575061426882145b80613a08575062aa36a782145b80610d405750610d40826143df565b5f60018311613a2857506001610d40565b60018303838381613a3b57613a3b6156c8565b06149392505050565b5f81604051602001613a569190615c4f565b604051602081830303815290604052805190602001209050919050565b5f613a7c6148fd565b613a908686856101000151875f0151614073565b91508163ffffffff165f03613b5157600285018054600163ffffffff600160c01b80840482168381019092160263ffffffff60c01b1990931692909217928390556001600160401b03600160401b9093049290921660e08401529250829003613b0f578351815260a08301516001600160a01b031660608201526112bd565b6101208301516001600160401b03165f9081526001870160209081526040808320875184529091529020805463ffffffff191663ffffffff84161790556112bd565b50610100808301516001600160401b039081165f90815260028089016020908152604080842063ffffffff8816855282529283902083516101408101855281548152600182015492810192909252918201549281019290925260038101546001600160a01b0380821660608501526001600160601b03600160a01b9283900481166080860152600484015491821660a08601529190041660c08301526005015491821660e082015261ffff600160401b8304169281019290925260ff600160501b9091041661012082015294509492505050565b5f80603c8302613c3586866143f6565b0142101595945050505050565b60a08401515f906001600160a01b031615613d9357816101c0015115613d0957613c788560c001516001600160601b031661440b565b60608084015190870151608088015160405163a9059cbb60e01b81526001600160a01b0392831660048201526001600160601b039091166024820152929350169063a9059cbb906044015b6020604051808303815f875af1158015613cdf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d03919061592a565b50613ecf565b6002613d2186608001516001600160601b031661440b565b901c905081606001516001600160a01b031663a9059cbb8660a00151836003613d4a9190615c5e565b8860c001516001600160601b0316613d629190615c75565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401613cc3565b816101c0015115613db757604051639d49773160e01b815260040160405180910390fd5b613dcd85608001516001600160601b031661440b565b90508160e001516001600160601b03165f14613ecf576001860180546001600160a01b031690556020830151613e0490839061442d565b15613ecf57336001600160a01b03168260a001516001600160a01b031603613e455760e0820151613e3e906001600160601b031682615c75565b9050613ecf565b606082015160a083015160e084015160405163a9059cbb60e01b81526001600160a01b0392831660048201526001600160601b03909116602482015291169063a9059cbb906044016020604051808303815f875af1158015613ea9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ecd919061592a565b505b8160200151602001516001600160601b0316811115613f75576060820151602080840151015160405163a9059cbb60e01b81523360048201526001600160601b03909116830360248201526001600160a01b039091169063a9059cbb906044016020604051808303815f875af1158015613f4b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613f6f919061592a565b5061401e565b8160200151602001516001600160601b031681101561401e57606082015160208084015101516040516323b872dd60e01b81523360048201523060248201526001600160601b0390911683900360448201526001600160a01b03909116906323b872dd906064016020604051808303815f875af1158015613ff8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061401c919061592a565b505b60208083015101516001600160601b031660808601525f60a0860152336060860152825161ffff166101008601526101c082015161406b576020808501519086015260c082015160408601525b505050505050565b6001600160401b0382165f9081526002850160209081526040808320600184529091528120548290036140da57506002830154600190600160c01b900463ffffffff1681106140d5576040516367a1907f60e01b815260040160405180910390fd5b612f63565b5060028301546001600160401b03165f908152600185016020908152604080832084845290915290205463ffffffff16801580159061412e5750600284015463ffffffff600160c01b909104811690821610155b15612f63576040516367a1907f60e01b815260040160405180910390fd5b5f54610100900460ff166141725760405162461bcd60e51b81526004016106ff90615c88565b61417a61449d565b6141986001600160a01b038216156141925781612fcb565b33612fcb565b5060c9805461ff001916610100179055565b5f54610100900460ff166141d05760405162461bcd60e51b81526004016106ff90615c88565b6001600160401b034611156141f85760405163a12e8fa960e01b815260040160405180910390fd5b609780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0381163b6142875760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016106ff565b5f80516020615d3b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6142be836144c3565b5f825111806142ca5750805b156108f5576142d98383614502565b50505050565b6142f360c954610100900460ff1660021490565b6143105760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff001990911662010000426001600160401b031602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602001612c43565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f805f6143c78585614527565b91509150612ec381614569565b610bcd82825a6146b2565b5f617e2c8210158015610d40575050617e90101590565b5f8183116144045781610ae6565b5090919050565b5f811561442657600361441f836007615c5e565b901c610d40565b5f92915050565b5f826101a00151801561444b575082610140015163ffffffff166001145b80610ae657508261018001518015614464575081516020145b8015610ae657507f20d34d7a20a139f9be221ba2163925c0c86ed02d34033f288f010d23a63ef4b761449583615cd3565b149392505050565b5f54610100900460ff16610e3e5760405162461bcd60e51b81526004016106ff90615c88565b6144cc8161421a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610ae68383604051806060016040528060278152602001615d5b602791396146f5565b5f80825160410361455b576020830151604084015160608501515f1a61454f87828585614769565b94509450505050614562565b505f905060025b9250929050565b5f81600481111561457c5761457c615cf9565b036145845750565b600181600481111561459857614598615cf9565b036145e55760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016106ff565b60028160048111156145f9576145f9615cf9565b036146465760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016106ff565b600381600481111561465a5761465a615cf9565b03610ad45760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016106ff565b815f036146be57505050565b6146d883838360405180602001604052805f815250614823565b6108f557604051634c67134d60e11b815260040160405180910390fd5b60605f80856001600160a01b0316856040516147119190615d0d565b5f60405180830381855af49150503d805f8114614749576040519150601f19603f3d011682016040523d82523d5f602084013e61474e565b606091505b509150915061475f86838387614860565b9695505050505050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561479e57505f905060036112bd565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156147ef573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116614817575f600192509250506112bd565b965f9650945050505050565b5f6001600160a01b03851661484b57604051634c67134d60e11b815260040160405180910390fd5b5f80835160208501878988f195945050505050565b606083156148ce5782515f036148c7576001600160a01b0385163b6148c75760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016106ff565b5081612f63565b612f6383838151156148e35781518083602001fd5b8060405162461bcd60e51b81526004016106ff9190615d28565b60408051610140810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081019190915290565b6040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b604080516101c0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a081019190915290565b604051806101e00160405280614a12614950565b81526040805160c0810182525f8082526020828101829052928201819052606082018190526080820181905260a082015291019081526040805160c0810182525f8082526020828101829052928201819052606082018190526080820181905260a08201529101905b81525f6020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101208201819052610140820181905261016082018190526101809091015290565b604051806101a00160405280614a7b614950565b80356001600160401b0381168114614b03575f80fd5b919050565b5f8083601f840112614b18575f80fd5b5081356001600160401b03811115614b2e575f80fd5b602083019150836020828501011115614562575f80fd5b5f805f60408486031215614b57575f80fd5b614b6084614aed565b925060208401356001600160401b03811115614b7a575f80fd5b614b8686828701614b08565b9497909650939450505050565b6001600160a01b0381168114610ad4575f80fd5b8035614b0381614b93565b8015158114610ad4575f80fd5b8035614b0381614bb2565b5f805f8060808587031215614bdd575f80fd5b8435614be881614b93565b93506020850135614bf881614b93565b9250604085013591506060850135614c0f81614bb2565b939692955090935050565b5f60208284031215614c2a575f80fd5b8135610ae681614b93565b5f805f60608486031215614c47575f80fd5b614c5084614aed565b9250602084013591506040840135614c6781614bb2565b809150509250925092565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b0381118282101715614ca857614ca8614c72565b60405290565b6040516101c081016001600160401b0381118282101715614ca857614ca8614c72565b60405160c081016001600160401b0381118282101715614ca857614ca8614c72565b604051601f8201601f191681016001600160401b0381118282101715614d1b57614d1b614c72565b604052919050565b5f82601f830112614d32575f80fd5b81356001600160401b03811115614d4b57614d4b614c72565b614d5e601f8201601f1916602001614cf3565b818152846020838601011115614d72575f80fd5b816020850160208301375f918101602001919091529392505050565b5f8060408385031215614d9f575f80fd5b8235614daa81614b93565b915060208301356001600160401b03811115614dc4575f80fd5b614dd085828601614d23565b9150509250929050565b803563ffffffff81168114614b03575f80fd5b5f8060408385031215614dfe575f80fd5b614e0783614aed565b9150614e1560208401614dda565b90509250929050565b5f610140820190508251825260208301516020830152604083015160408301526060830151614e5860608401826001600160a01b03169052565b506080830151614e7360808401826001600160601b03169052565b5060a0830151614e8e60a08401826001600160a01b03169052565b5060c0830151614ea960c08401826001600160601b03169052565b5060e0830151614ec460e08401826001600160401b03169052565b506101008381015161ffff16908301526101209283015160ff16929091019190915290565b5f60208284031215614ef9575f80fd5b610ae682614aed565b815181526020808301516001600160a01b0316908201526040808301516001600160601b0316908201526060808301516001600160401b039081169183019190915260808084015182169083015260a080840151918216908301526101008201905060c0830151614f7b60c084018263ffffffff169052565b5060e0830151614f9360e084018263ffffffff169052565b5092915050565b5f8060408385031215614fab575f80fd5b823591506020830135614fbd81614bb2565b809150509250929050565b6001600160401b0380825116835280602083015116602084015260408201511515604084015260ff606083015116606084015261ffff608083015116608084015263ffffffff60a08301511660a08401528060c08301511660c0840152505050565b838152610180810161506d602083018580516001600160401b03908116835260208083015182169084015260408083015182169084015260609182015116910152565b612f6360a0830184614fc8565b5f610100820190506001600160401b038084511683528060208501511660208401528060408501511660408401528060608501511660608401525063ffffffff608084015116608083015260a08301516150df60a08401826001600160601b03169052565b5060c08301516150f460c084018260ff169052565b5060e0830151614f9360e084018215159052565b6101608101615145828580516001600160401b03908116835260208083015182169084015260408083015182169084015260609182015116910152565b610ae66080830184614fc8565b5f805f8060408587031215615165575f80fd5b84356001600160401b038082111561517b575f80fd5b61518788838901614b08565b9096509450602087013591508082111561519f575f80fd5b506151ac87828801614b08565b95989497509550505050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a08101516151fe60a08401826001600160a01b03169052565b5060c081015161521960c08401826001600160401b03169052565b5060e081015161523160e084018263ffffffff169052565b50610100818101516001600160401b039081169184019190915261012080830151909116908301526101408082015161ffff16908301526101608082015115159083015261018080820151908301526101a0808201516001600160a01b038116828501526142d9565b5f815180845260208085019450602084015f5b838110156152fa57815180516001600160a01b03168852838101516001600160601b0316848901526040908101516001600160401b031690880152606090960195908201906001016152ad565b509495945050505050565b5f6101e061531383866151b8565b806101c08401526153268184018561529a565b95945050505050565b5f8060408385031215615340575f80fd5b61534983614aed565b946020939093013593505050565b5f60208284031215615367575f80fd5b8135610ae681614bb2565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b61ffff81168114610ad4575f80fd5b8035614b03816153c0565b5f608082840312156153ea575f80fd5b604051608081018181106001600160401b038211171561540c5761540c614c72565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201525092915050565b5f6040828403121561544d575f80fd5b615455614c86565b90508135615462816153c0565b815260208201356001600160401b0381111561547c575f80fd5b61548884828501614d23565b60208301525092915050565b5f805f8385036102608112156154a8575f80fd5b6101c0808212156154b7575f80fd5b6154bf614cae565b915085358252602086013560208301526040860135604083015260608601356060830152608086013560808301526154f960a08701614ba7565b60a083015261550a60c08701614aed565b60c083015261551b60e08701614dda565b60e083015261010061552e818801614aed565b90830152610120615540878201614aed565b908301526101406155528782016153cf565b90830152610160615564878201614bbf565b9083015261018086810135908301526101a0615581818801614ba7565b8184015250819450615595878288016153da565b935050506102408401356001600160401b038111156155b2575f80fd5b6155be8682870161543d565b9150509250925092565b5f60e08201905082546001600160401b038082168452808260401c1660208501525060ff8160801c161515604084015260ff8160881c16606084015261ffff8160901c16608084015263ffffffff8160a01c1660a08401528060c01c60c08401525092915050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52601260045260245ffd5b5f6001600160401b03808416806156f5576156f56156c8565b92169190910692915050565b5f60208284031215615711575f80fd5b8151610ae681614b93565b80516001600160601b0381168114614b03575f80fd5b5f60c08284031215615742575f80fd5b61574a614cd1565b8251815261575a6020840161571c565b602082015261576b6040840161571c565b6040820152606083015162ffffff81168114615785575f80fd5b60608201526080830151615798816153c0565b608082015260a083015160ff811681146157b0575f80fd5b60a08201529392505050565b5f5b838110156157d65781810151838201526020016157be565b50505f910152565b5f81518084526157f58160208601602086016157bc565b601f01601f19169290920160200192915050565b61ffff81511682525f602082015160406020850152612f6360408501826157de565b83518152602080850151818301526040808601516001600160a01b03908116828501526060808801516001600160401b03168186015260808089015115159086015260a08089015115159086015260c08089015190921691850191909152855160e0850152918501516101008401528401516101208301528301516101408201525f6101808061016084015261475f81840185615809565b845181526020808601519082015260408086015190820152606094850151948101949094526001600160a01b039290921660808401526001600160601b031660a083015261ffff1660c082015260e00190565b634e487b7160e01b5f52600160045260245ffd5b5f6020828403121561593a575f80fd5b8151610ae681614bb2565b5f82615953576159536156c8565b500690565b634e487b7160e01b5f52603260045260245ffd5b604080825283519082018190525f906020906060840190828701845b828110156159ad5781516001600160a01b031684529284019290840190600101615988565b505050838103828501528451808252858301918301905f5b818110156159e1578351835292840192918401916001016159c5565b5090979650505050505050565b5f602082840312156159fe575f80fd5b5051919050565b5f82601f830112615a14575f80fd5b813560206001600160401b0380831115615a3057615a30614c72565b8260051b615a3f838201614cf3565b9384528581018301938381019088861115615a58575f80fd5b84880192505b85831015615ad557823584811115615a74575f80fd5b88016040818b03601f1901811315615a8a575f80fd5b615a92614c86565b87830135615a9f81614b93565b8152908201359086821115615ab2575f80fd5b615ac08c8984860101614d23565b81890152845250509184019190840190615a5e565b98975050505050505050565b5f60208284031215615af1575f80fd5b81356001600160401b0380821115615b07575f80fd5b9083019060c08286031215615b1a575f80fd5b615b22614cd1565b615b2b83614ba7565b8152615b3960208401614ba7565b60208201526040830135604082015260608301356060820152608083013582811115615b63575f80fd5b615b6f87828601615a05565b60808301525060a083013582811115615b86575f80fd5b615b9287828601614d23565b60a08301525095945050505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160401b03818116838216019080821115614f9357614f93615ba1565b6001600160401b03828116828216039080821115614f9357614f93615ba1565b818382375f9101908152919050565b5f60208284031215615c14575f80fd5b8151610ae6816153c0565b5f6102006001600160601b0386168352615c3c60208401866151b8565b806101e084015261475f8184018561529a565b6101c08101610d4082846151b8565b8082028115828204841417610d4057610d40615ba1565b80820180821115610d4057610d40615ba1565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b80516020808301519190811015615cf3575f198160200360031b1b821691505b50919050565b634e487b7160e01b5f52602160045260245ffd5b5f8251615d1e8184602087016157bc565b9190910192915050565b602081525f610ae660208301846157de56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220326b0dffa124ebf142f195b9a1744708d52ed7369b839aedb262467ed79e2b9464736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d0289712270f87219b7ebc7d15dac35edb84813b29fe7136a67a558a4030701195db70219060203d47b1c1624d9fecca7c086525852fa0159fcecc249abdfcde1be572e2fe27e3e0219ef390357565184afd9a2f225d610d2e05306c3cbb157e7072348a09a6ad70fef635205034dc26f5b8edbc41bdfe0a400acbe9f520509da9642fed7ba02a14e1c7e1f7250031b1c3208c454af16cf9e4a92f9be597f880bd63927f4bc66059766d89c583cc2035ada0e88a53569a406922eb64971c025442099f7382bf7381ccf867099e6ac050328d9fc788c73f2ed2f070f38262c1b9db3083669d8bfdea3a9743da4e6b8440a0301c3c35ddf45bd2e37a76169cd44692d8012e7d1dda5b951d5bbe4e07459d34d03683c8a624ecc04d488d7b8a1be32e0c2e909964eff8f235f35a4179ac0f5312003de7e599ad50d9d0baad8d851e889af1990925b291d6fb807be6fe207e5c2d608035326b76d78739e49bc68779ae950ba4998b04291454493ba69e181974abcf8020219ffff034ffc11c88d50a1ebe76c14a556dfc5e6523bbdf08171b5391a8ef581ea24532403f4fdf291b80e39a4c6ff747521b919eddd868c7b259d51995767331c49b6497103abc5216f26bc10f3aa50a37e54e14a1ee3a0f094deedda77045f562d9522219f0371b40466107f14adac844f278b8b231e71f79decbcd8bc25c355794f22595059038a66aeb1fed41d98eab44b09dedb0999aaef267f9705642384aa31df5f06943303085d04b8c9ce97c9d2d8a50b477fdf5a90356a2f40c430f55695182bc6c1d0ab0335760a9535405954cd50c4f97cb5f752e8cdf602cbb8ef70b77e328f895e338b031da0450dda15d82b325c1867b73f5e6e2d6b3d77068586dceca250addd7fa97a0219ffff0392a7e1fe78ed42e2bdbb9ad1404b250d8678e65bfeea20bf3d5f0bd364b3a006037cd69c200ca34e9b8148909efe158768d19d520ef4d8b2ebdd73eda6834e595a031cd42bfe51ef68fd1781f93f18f06d5b592a662ad00e6d6539e7312bfb75947903717b2076b9182be2a149e18773bec593052e68dab50252c0230ba4fa5549d9ff038f0f06ce2b7f0254c8d480acacd37d145e5c191e68d85f8185ad60eb8d6f3b1903db5cf01b04e1b74d61110523f11d98678ccec3652a94c37c69409a8613b98b95035b138e4bf5dbd7c8c9149fe1ed49c0f280802e255bdcf28a3cc4c7bd9570131d03bdaf58ffd390053517f3146fc1b688be08d8da42bffcf38514d0ffc78a8e5a4f039be24d541401992eaa23108f56e36b3345abb207e9447de2abe0e15114e2f85f036139efb8a5bc22a8e0998afcf05b7832f1f57dda6668b506c50f1e96951a8788035e9644e502fd7065e81e7b2d30d9e73763ccd3849dc66dc0185ef989289561ce0364d5f0abb538f083b870c1188419ea129231ddf18e13e5b009927ab0f52dc90d0219ffff03ec6926df36358f3f67ad01a32daddc022071dee68e5ded2fb86f9f76efe559cc031bc16fbc514e0f0b495645ed287d566fbc7787a1c79992994610e4750d9201e1032d2800077d157c3bd0d343a8e068ae744b652186cbc1c56ab5470ce2d28c992203cb60206612fb842beb9141bb364783c92030b9fb34af516d9571d34c3a768c82033658f6d0dba2934722dd100ff42bc03a5fca44c1c368e49245aa23ef19fd09f60301801c9356c080aac5862b4ee35f2f05f2bd3dee391bcec536ef86a785fa05250219ffff038b1dab548b1d2ea5a1dd351252762a43187c51b13e81221c476e3bb1de4fc8b4035231a20c3e7de17310348672f3be72ff0a0b6ead442d55b8a08f146c5264aee6032d05d071392cf0eedec1fc79902e45ccde92463ce79561e615a0b5d856327390038ccdd446564850a81d213d33d8014fa6b30a0fbe65448d08892c5e5df93c34cf03ee8185a49081035142b1d8252e162f4a27e495fd96ae0c251cb36cc9f930881a03bda55a979f5b86ad2381b0d59d5dfb7ecd9f712073c936173a1443f3bc62abc903d493ee95bac8e8ece37eb90e435f1819ab95e8bf5ee78248de8dc4875e4f899403db2de0ccff221e2f73b2356461d3cc51db8352b505b9e261eafbe192c20d92d70342705fe2c594689292c156e45b7c566645e714f2dc791f6523ec06a272a699c503831343b91b48c1bfcb49ea485570ef41434929e15a96e49fec1d0d5229075e5f0322f89ef267030a2b7f7f8b0e4cad419655dd1f89c95f664faffd664c0be57315034529a882e31786507f097db6002045ca57f528767d1d025db73e10aff260ff63033d0609b0b865b1097cde9e0ebf52ade14afe415b2ff8c67254a15e5211697e6103d19736007c2f1a78dbb6c4673addb305e841c704a6e3d008a9db498dfa1302b203971da87140a01aeded4bf7c358f4dacfe78d3e137a04d04aa6804916386bc28b037636f1640a482cbfdc4e93ddfa61665df5014d0d00c709705089d3c2540a6f35036ac775a97d3409adb490007d3fddc3e1dec6a0bc0ee7258dbfff9a3a042fdcc803845e539712cd8462969fa453505bc9ba58f9089e031820ebc9f61d31b4226cb9032e5f647107ad8d2a1729a5905c125cb1e350106bebbff1bcbbfbc8ea3b2953bd0359f9889a0b771f83cf2cf91ef2e5de137adfce9d55b29c7aaf53af8004bed017033f01fceeabbc5b6d366417ff5721058a17d460f03d59e13316994ec45bbcc63e0393adc8fc6d2e3e915d5f2afbe6bea09aa9061a146d9491e5b14813c747c2075a03ded17d4e0c72c5abcdc66bb1175a2ce2bed7c98e25e437c87bb065f3fbd51d6a03a181652978a14008bc41108bd1fd3ef8914e061e6a69214dbc733b8cdd7c856503f0fc45a616eb0e18f8366a59c0f1d118b11a21e927e5800217994bc908bd0c46036c522c2c74191c2753903a94de495b3f0309ed29c2562fc9781464daa6bc28ce03973f70e4fe207f05d6b356048fa4f702a7136462c46216413cb4d8bab3b63a99039d60a935a8288cf9f8b846986c0eaf6020480bf286191c2e43ce403ca84bc1e9034bd4c0a26fff20117e210d27f43c592177a0a06544ee0bffb6f04efed11b2996038eb3b54936eced201ab10235da758b02e0ec4240203980bb1f2581a6b4fd1c760310ccf2fa2da6007caa55a0d884a17aca5b5409603e00c7e56773f4595543488a03904a559f692a84c3ecfe5079043b596ca5a4fd779c7633edd9733ca851ab4451033682d097be2692a814a28b92787fd17c816fc7583dec1a71e8280d06c76453980301eed610130e34d10dff3a40ed84f34298529931806a47ae76a80d12f522016505581e0311687d2b30e6d2436453c469403f1aebe7df0d14b0e46ec308759d43400c034622fc52445d3803f7ca170aee4d51fd29843a3766c787e7073c987c95cad325f2683aaa6cd9379704582d363d3d373d3d3d363d73d7abc64cafc30fdd08a42ea4bc13846be455399c5af43d82803e903d91602b57fd5bf30058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630416a0058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace054989aeb4d175e16225e39e87d0d97a3360524ad8000582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b054edccb35798fae4925718a43cc608ae136208aa8d0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054f403c135812408bfbe8713b5a23a04b3d48aae31005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b054740ba8aa0052e07b925908b380248cb03f3de5cb00582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f041010219991405581d024a98bcd4ef7d57db438ab1a1caa6080bec49b81cfc4deaac93a5d54e0701182d05581d020eb3e6fd3ceb56cb3fcca01f667284bf49765dc23bbcc47fc0935131040105581d02949c3f7d0295e023260642ec051886e207bcf0da50ebce67571e8419040105581d027acdfcbf4d766dea7866352b443ed86ef1e5ccffbb556031fe70581c0401021910460365cca1e76471f8a786559b2481271146d736af76d57ba2badead2c4e6c49c72803df2363652d0a8474462bbb919736a07c1a119ace11887947414ec04651df07d9034aa7fcc41e196b4dbf31a2ccc799c784ff100c1f2aebc48ea339f883f3e4026905581e0391e6e352ce3812ca4ab26d24f8edc1ffb294a0ea6542627ad8b26eb2e004070386b8ffe786c8ea27722d6e67f0c66776e1799084259e9f8594799512eb71ea8d05581e039cc1935c9b72e693fee6efaead423673de83b34b7e8e04b169adcb0aa00c01470103dcaf75538802199cdc033960e78d18ac839621d8e2392d192ebbe38f753970cb9a942e5e80787f4d2c200362ef0ff813cfb50300ff7d7bca199a018a3250d5b295ec6b76cc0d4a207938d403abaade7da054c63c8da1767859a31e6226311e64469d0ee06d305e1d7406b18f03e9005a2e2c2402be5a46e80bd5060d82b5575c8c6cf91f0b3cc5bacb4b8a8b0303e3f117f23ef635fcc6ee23146b838d39d4e24e9566139419ba4d9d46a71e06dc0219ffff03b274d50c3cc129f91ce4c6c1ad1a7a573756bf535356a40e0b3ec654808dc30c0314c5adfc0732c63921c92eae2928eb7caa8f046f4f5ad7b6ec85ff043a33ffe2035d46b787e6585073862621124c10ca562f9db3fe7ce17da0d681454e24e51ba903d0fa3331a76e8c1e9e27ed8165c53cf7ef035317bfe5ae0b643c5f3243dd90af039148c13e6f5dd51705a7db4d2e550238e4b8050908b3e9555f89603c12e8e543034d8e962a12478c020fe0a0052b0265ee11b314f785c928c59924dcd15509d5e70219ffff0345b21f1d46b64acc032a3c28fff09ea376691b165b97780973423e9624f2dbf103dc973ce82a63a5671fe154b8bb6f336b2f2df3449120447dedf793e37b77e9390219ffff031d7d9e9c745e8e11c42854bc69d73c49d3d528af6388858195942f5a6c0e858a035cd126325d7b73cfc2ff300f87f12294049ec1b57b29007fcdbe86656a67b0f1030f9792ef57beafe32d8496caeb056054e81532c124eb4d3bf0645420a2e9774603d990f0efb5a43327d0bb0dd57ca343b5f9420838fbb1290a92360d2eab45761503c674558644bab094e3a528918e4718da4310924527f9287975041e585abb85ef03d1b1a1ca8dbe93368dac7617aca11249179df8cf8bc6ac732ca16cbbfc69a29503e447fe9d4d887bed61cd492d35b0dc2c7c547f069ab871d0181c793ace792cfb03536472f9ff155e45471d8dc6213e27b4d8b02764cae2757ca01d3a3bc616c80303588515ef9dc42ea637ff6a68a8985ebd80cdf3b798e9d1e06a882856fd837f400323895575797145d8f736dda5deb4f64725628ae3a634b39eda39e50df718f0c903776e66089f6e127218ef2f288b838274a1a6e49992ff15ccc610d266a5040410037c91a2cd954c98d4558b2e4b76c7375a167cd07823c4799d0db4253ff18b1ea9036d4e905b493fa35c19643cf9b62f8af29cd39bc4e2cf5f11cb5cce70ce4f217303cb3fa14c81d7d4ae14be4cc127c509a4c7a5f877ac9b68322f673348794d631603ac0d4dc50ed1cf80c0e9dcb742114a2d762883c4a45b9a73b8aea887f1f4fe1c034cfb12a94e125260122a43898411d682230ca325b882198855fd36eb6c6788fd03b67acac3d70ad740f4693ca6a5cf8cee43512b1519737f36c702149a3be12c1e03259ca729ee3550c655fbe06f69fbd68c74a05f160a1f87448efeb74c6c1b7d5003122140f1cde9db676f55090806fb9497f4a095ea5b6708c4bdefac2df613a3c803ce60158738ebfbb5f0a0201d8db6630ef8586e228847992af8b03236fc744a4403fd0390f17fc012c7d4f44bdeecbd54fe8470d5250279dedd56408a1660ac3f0d032364e99794bdeb404713b05945b145d41f101e17fcc6ae1b66e2432d7b9844900459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c634300080200330386d8595770070c9752f86a73569d88fdb34db8325234dd2280852afe60ace0730338ee8b2bcb1c832ba5edee31af1177cc6bdc1724ec969626d7cc28e11030cdb703c1f76ebf360670a6188ccb3216c9603f3fa60f87af0421a9ac174cecce5b58d900582002b95e1499c8576b1f40b92a555edeaf6159e7f0ff28b5e9e8b0ce515e9e1d094907518058bd45bc0000005820024f52e7cdd2ff819f9bfccfdd031819f4ed97c0b4635d9821769b78cd38806f439896800058200340c018f408291a6ce564c55284f83c9a502202c1e3c06e6e06d7bc84a455f047470de4df820000005820037a6f506db88a50f694afe0048ab13b47591e2348f74bd90acf298657212450452e90edd000021901100219210403ed6864ee3e8e90ab39b35c616a48c6327587b6a33e2526f9c6734491376e829800582002df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4815413a4cc0750296bb72eb0006febec306551a4f47200582002a36471a5eec75c159e6e939ef3a7c70c6f352f3e0750487d74fd480dc06f9949056bc75e2d6310000000582002f23a1e1ac37dc9b67120d948adabcc3738baf297b09d735a1e9eb885b6e270488ac7230489e80000005820022ee5807114f7e733c9725e182dcd7effbf50a5f08a212261ea22bf276a11e747470de4df8200000360e10fc259c22a393895280663bffb07c927775a5837cb6b9b323d97560c32020219618403708dc53fb6fbe27c3b7b6c960dbd5f18b54a386bbd172b426fc793bf24aa2644005820027363c472800deb8bc5ad1b756ba3bd2a2cbe4c7c5ca11de4ad23287911f93b4533a515c740005820020a3f68ff59d939fe25ebe74b72ea0ae8242bad55b54e22c176e284a608569f4a74778f4b571c4bc000000058200267355cf0a95ba91f5189e13be722b81ef55fdafbf48fdfa22d55f56b0ad1ee437270e000582002b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d5479e559ac5b499a5676e28f0074e29763f6c2a27e00582002fad8559fc53b9d6a23dd2d92890178a38f2378bfa03fe1aedda2a6cc26350d4101032e0266d85d5ed9d732ad7183a9470cb0b0afedaf288221c441def9f66c887c6800582002d8b19fb12fcc49c715e90fe86eca590fa0d8688964fc8486b6b35a9bac8435488ac7230489e800000058200256fca340663243f9218efa00933c9a692c1798e1de4396337e35101c1857424a69e10de76676d08000000058200259ac6530aaea76b4f04afffe7841fd9ece796b84ce60cbb461b597aced840c4902b5e3af16b188000000582002b940b613d2e2dd5150ce2e77ef73010b9f4fd958509879979882f96506b8f24402faf0800219a6fa031ec2089c5209870231d6a6413be419832099b821ae5ca00015505a6d62365c6900582002a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a825484a0856b038eaad1cc7e297cf34a7e72685a86930058200291f1a7617fcc02096b85a16c249b518df5fdf62d608d2772ee8f794c68717f4907518058bd45bc000003c47ffc99be6dc912f2e9f4f9d7b0e87989e6606a30e6156184f3eb540bd793c7005820021d3502f4b53bccdcff858d2f3cee5f1862681d1b3ffdea77e61d5cf4e5fde6452e90edd00000582002a347145a707aeb59b5d44abfa51a3fae3ec139c45f1ab0e621902020c12d0647470de4df82000000582002f97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c754d76b82204be75ab9610b04cf27c4f4a34291d5e602199856039aa0f4514e440bbeac34c2045088b95408805ad2ed81d2f0adab23c3d549b0ce03f939b38914230c50e9f1c82c8dda005f414ce2ab21187a8d96dc2a7a1217c333033f2d7c90fd426fed6617bfa02905f1c89552a7baca2a6208e429334fdd6c8dfb03bd85bbc05696d2d8da6ec5923b45daa7d646397f90e73e7b0079762c38522a4203d65260fe9ffcf4442bf86bd84779a14bfcc3e7a0b79af56b17e7ad28bef10752038e3e1c873c03648aef023f9243b11182abc4205a38ecd2447441a029feb8982e005821036d1b8a7e815c8ae9acfb2850dccd364305e7be689d2bf3166f8fe17d7a43c9804344aa200219ffff05581d02882b5d7df9bec1f55ed724d0ef95502bf84a013735738741e84ad8d4070119085d0380f08cda04c3aa18de08a05523e863a896ab9ec08dcdaf304d14392fbf70ad81030fc6143c7b4fe6bb489d45ae70c42801f125562a7c3ffeafe0c310d98235b17405581d02966904848f7b17e8e9eda8ae5db1971bbad1dec34de8da38ea61a62f07011bffffffffffffffff02182105581e03b11ce57046fb824eeb77f5c8d39f0e03f498259e36dcf34facfb6462d00c014678b17ce61d0005581e03f390a622c2385505a8f570fc5cc50d11d09ee83ced4d7536057004e89004020399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803bc1a59858b83839d5c0aa0effdf2714e8deed74c0edd260d52323b062cb7f8a805581e03ac6d4b3c28a5ada03b2d6de6492cae4a86bc4df24c77759d272f96a83007011bffffffffffffffff03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03dc231f987f9fa42b8ecfa0af6fb100cfdabf281c3bc771c7b0b47ef17007011bffffffffffffffff05581e030040574de1a1af6a8aaa22facdb26e3cbd4461ba9e5eff292b905d4ff00c0147022e615e2aa8fb05581e038eda249fbc798d8aa8607426e05cee747a359bdc26bfd64c293e132850040105581e03bd685fffbbbf02f300c0aec6f2240abd0fe15cd0756b1b6e029be1976008465af3107a400005581e033998133c86e326e7ac0b36712c2caab9a0bd32bf4f7654fa7dedfae5700c0347126aec9f8ffd7405581e03743f0bc62f4d7de914ecaacde861a382cc496f3aa99622f707b59998600c014744193982cc0e7d05581e03b7ce9c27f350dc848eb3bc96768d80215931b5b177090fc50c08b48ec00c014655f27eee680003bf5c728a3d76dbbe0a6e139b871347fdd2e0b6ca6d74de55e6fb321fff64861505581e0349cc1d7841015f126ef7f4707d5cfc8eee192ac1177a8367e84461b4900c0447038a9a3e01480005581e03c5c19336c33e644573b5de61e3062c0d2564f5c978ef05dbc65083a7c004020219ff7b0354a85516fc7d7226abc0e5045d908dcea5424968ea1187edd3c1311852d089ab03a751369fc26d8f20d4f6c392355eedeb60db20f2004f544fbc7df04a6f9aa5a503df92617bdc0211f66076ad561badec043e377dd19668368d2c1e326b93087b5d0219ffff03d6a0629c62ea58b77cd9f16c9c66de792e5e30e6eda13c91262145dd8c7af53403a877a8b6250bffbb8789499e1c936cbebf1d36355e0433bd4ee1f1250a09bdaa03a2a7873faf796d350fd040bf0bee7f166aee93225ee5ede792482b67e8d93edc03b2a77bbab767b4be28c55c86bab2e7e487917424ec1db148ed9380d71d3f525803cde7a0d287865e56b60e3af7345851642e9e49cc6b8eb95d1b4c3e5a79adb07b030727530f849c425f256ecb36cea83b084261b5d5edcde773c47bc1246ecdd1c1031fb97adfab683ce83d37ef153d6c588fe094beebff366d911dbdbe6e6444044203547410ea306813c8abfa67d91cd25918108946c5c8a8d654abaaa2c66930d6a503a024e8fc18ce9bef118870932287e4d8d08e16776444ebd7efb1f01b4ea241ed0219ffff031313b841b49caeb13cf7643b1fb16e15e26b01980b2ff7c7b6c72d47502ba69b031d6c4780e77ab41ad7a2699e7d1b54bab04a8d6093d98d42d7abed19ad31f8520338ee1f93cffcda22bcc8ee7b8f83c3ed6679f7760500cda1bf93ad3885786e470372dc5311a5a06209f9d89ea54a6e928ccb5736e2f78caefcd68c30d3a5d1de43037d8b24255f8bfab8e8cfea4cde72972eb2643898643ae6ca736cc1468d61a4be030c0d58504eb2cbbe9f826918f6e51c91418b351be8ea217e0a48e03eb5622d9a037af59c143f415d22187ebf89bca4fb978b6491b2ab2906d64ea42b263c81fee6037849e469e0ff8fa2bb2e2e12e1df715409f32f44ee640239ecca71bfe7ec3bef038302461db6f5559a50ed16c2860336069e5c0b142e19b770044fa49eb14804f603b7771f847e41d1e18db3ffd69f0e57b4395fb8dd8c83716b7d82f9abf70a3e0903adfa017d749c8ddd1a942ba6a3bcd3b24114707826819134dfeae1de1d6c01200219ffff03338a5ad1d4f53961dc78e468dcc68753fd7c3d7e875c4dcf2ec0df17b52131b3035b3515312ec56e8e9e506e2c934ed4ed3cb0557052a177417d1714afa53a257e03725ea0df70242e3d26fee60393b8f3293d8054385605f075af5a6d9b997e448403722bdcf9028a5bf0b3d8b56086698515b899544883102ec33f12707e806c2e0903273114f535638c5cc645393775616e3048d978f466d3b4bd71f33322d25ac0990394b3f3c784fde7b663e41cf87da8855926adab9d4de9d6e8a911a77f8ed3e70b033ed01966f5a3b4e351c2ff6993779cf1e48a1d00537be300df093df374aa23560303842f6ee15f179a1f47b6f2f482bc69f5e148e02b7fc17b27d2b85d9e499675037ed4d4fd69a5902223dcc924b95a2b2684609bdae56c6ae3ca061f6126f1dbca03298e8bba9045be1d47d4c10b6d24c13bd0abe0da21dfb1d4a44b93c0b01d97c6035fd994eb205dc2b944d8b1a29e591bd84cb949c5d2be19a3b78811fef523b5b303e47afcecc1dbbd4fcef700106531101c7d9dc11672a3de035dd2d3821f4531d80219ffff03a99664eb19b2407a708f40884d4f94648c59a544bbf51525544d09af1d7cdd8f0369edbde3b0c700879ca0860a659e19cc942c920ae6edf0cb9161b5285b3685ac03ec16815abf9006063da1d56616cf71165e5f9da777fb791885d11f9e2de0506603127f388bcd1e96f9e6d83a041ce21c44f714a824c8039f40068cc8dd7d3aaca80330e4307c13346722a5c9daa53df0a8419d181f674a611229b0f234807a287c9f03adf54ab38f82f3f254d709f7d5ff4fea95ebbb59d47b609e3691d15e5596c2cc0393342a14b3b764ff42a75a588bd2351a36cebe3a6f39934fb160f005cfaac50d0365184c993e87a3268232ab072b6daff20af5ad6f89488b982912db65d0d370bd039f79018289681cba2ffbc79fd4788609b5ca2282ed38f14f1526f911ebedffff0343937b2d001acd894496773a8089d54a13ae4eb0c428c3e9a5fe1cf4f9bf2abe0318880552e80fdbe4ea5b75d00370b17f9bb071c2a6aa99de977a50453363242903a7e3d639c90aedfa9991516f8c34fc6c83d2b9f640f229e537e204b28ad4553f03ba1350546ed375cc7a399848a4846ea6dc27f10907cec27a12193131e0d69123033c8d062407fcb531ea54081c019fa0becad482942ad20dacf9d77f79c53be80f0335f13f91a9e4ed4a8b22c6fbb56216a954782be77e7b03ac9ae38c9ce908b9bd0363c2bb2ffe0e7365aa78d1ceb26dc210e57b5dda5a378a9f7bf06761a771b36d03d97b47812058c02cc98364ddc1fc4ef3dcac4bdd86991a390e1d574e8448a0b8035c92f639d27dc08c7ecde48a51422d69d7d934a4995457d47330a2f5181633a003ffc83f848c712418b0b1eeada5004b29a722146fbd35832c5a49572d8d375d6e03b558579f020c71f24ee3a3ec6ff08f448423eea9ece04b5c9336013e0a1bdfef0315984b1f543441a2245438f7235a17ceea10c22aeb27cba391288ee4375b6c6a0322e51ec42103b368d2c485dfedab3c13b23c9df86e5d7cc942d3e5468ebee498031d1ff24debdb4fe24fffed9f0e8564714a9123c99826d2ec5d1f6980afeaca6d03c56b0ee99e04216d84e131fa65748f71dada8dd451820828d6243ed5756b3c6603be4c33b207807b0528619ba9fbf2b43f8645ffec6991f3332ab36e85cdda07b403e64563a4417ec13a8a5cb76494c2bc81940e1c76b5797212aa8b7c87cd77a265037fa3ae62b736b4735a136d269e3a75cefb32abc900d6e0b709ca55fd8aa1fd4e030a47017b898ee5596665a5d57ff929e76d7ad695e64c38ae008d66f77bf5cf3703393046cf3f0473c8fd004a5a5afb6e670ac5dac13717a7577bea25c1e8eccf98030ff07144a7ae31e08bba15811ab34e3981c18c4cd7c0a664994c886f04d519d903045bdb3c2cf32e366ce7a30bccad98063ccbde96133b523e758b3f1852f701580365d42a863c78c5928f0a22b8718d30c3ea492c4719ac612f57edece1a7dbce7d035c1d90962ce41d0363f1a14883aefad4f230fbbc1961319dff51defa2d69348f030b29df88375c68712f24cbe0522e1d480ea4df3f9029565bc324af76b085766803f30d573792d08742ae1e3190376a70a4929e8e7e43734dfd74139aa5728b0c9503dd6bdd9aa37bc18a43b8b6851952499c7215928ccaaef2db210b4d32c518b80103f88f7bdaada1c99615a6c6f97d1d5a5631e93dbc9198bcca488af7643963782705581e03c751a67151a2eff634ddf775ccea208b5afceb5450e63a310fd5dcf000040303774fd5b67887bfde11528d38a8635644b3336a99566bad24795e611559ca859305581e03adadd8c6f521b2bbeb3dec086bef643b50aa4ec3bfbf2fb138cf1326e00c01470a56ecf59bb70005581e03980e9a3298e39716562f7c4282a367aa7a4156eb1c2f026973fd9a4580040305581d03810dd314f51b8d43d9c099c997182b4685c531d5df20a0617b6424400c19013b477b0b94493f06f305581d03aacaa746a14889f48312d7e1c193fac4f7e53f96f3d44b78055a52400c0247011a01582b12a60219240001410a05581e03160ccfc9377c5d1896eb192d09fa1fcef7d02279b8fafb7db1c60ad7c00c0147017cc708878d8003741e525c0150f1def1eb8877825079ea14fb841d54659a178d2e73050a1fd1a901410805581e03d351f214b7d8d2ec40b699e96251c7f3de60053964a12f3b61c76b2bb0040103c92227393d8da5679ba6b4df1dc110c82cb0b5bf9184e9d3cf7bf3fbf04f41410332338427f593d6e90db7ec3f70c2277ab223aa1415cc4c3a3c7523b2d757035503bc9fb72b2845cff5c9965ee1af37297b7739f60bb46f4bc2e66f41bc2e6ee50a05581e038f835db1f9a3b1c8907cd3aef2ec613ed1a945805061f4721596ef36000c181846e82304add30005581e03e88f810caab397504e022a2e2a0e9cdab5e6a14d5ac3b28948df93a04004040219fbdf03fd01883bd68bcc89c50c6c4187e160b257983941e0bfa2d22f7fb1521f17ae7d0219ffff03d4d8a7e174eac498cf99eb349fff82c66829d3e95f42bd844b6003daa843cef4035357acd4f3b8f09d3fb43e1d76dfa044d7c59847eb3396c3006171d7f187746203aa13f26f4eb2b8c91a8b48eee38f1f22af27e5651f0dabb524e580f52958284e03e298f37ac63e86502ed13bf8a0977e5a6555f882eee6d61a6aecf9f419445cb003524dc4d926694a8e6dca2631b7a2b4a59ab4c768b4a625a088cff1f75e0e563303fca204732e974de4613bf5344e363475da016e455c6d674f3e0fd4448ded6a9a03ae1c0080a160e9fbb92a558530dc672d1343e5e970dfa80ea6d42c3dd1bd738a03e6b0affde614165df2646398d8d0fc6972081772d09549103581c92272a377340391b7aa0f8a393c0d793f36634319266b1a6c2df092afa3d86456fd8e5a22f542033096a443e6e38240db88cadd4b50a7ad37b91952ee3771293621ead6399ca4d40397a65a5a527597343f4dbe52cc42e31704edd0405249d57a189eebc0d6205dc50219ffff03fcb8604b642711e96d196ae0f0b90c316323a5d0e4c8780e7eaeb9dd8b0be5f3035fb61840497afff0db9bdbe7f97d6307810b1f9627dc5dd391a30805eb8cd4cd0219ffff031a4e191bf534cc19acd32095b582d42948cb137aebaa209ebdbd5a8f1f495699038d2821dbba5e734b378c4237405e5b70b4b86c88c94dec22da3a7d6bb484095303e8064d51c523e6e388dbbff1dedeb79acbac4a1f99ba8cfc2bf39355b6756c4f036f7565b0fc2d8a75e76c8e2bc56748aa525a242a29ab0a9979bbac6f94f492ae0371af41543304b82fc7f1659a775b555824543a4e565ff34011f9937743b0a83203a3331efcb803e92041db2e91c302c469e308ac8d4f4da2b7f1ceb33ed9305d6d034524feec7f1da661667e61741896ddc38a02756a53b6866ef9a8db98e3d6ce900397628977abe24a1fcb0bc04c40e361fde9859b33dea814f29e0fd44cf96f66f403648001df67403e29b794c8b2c0d05bc0a93969e6b450ca74ab379654cb4c6248030ad5f75a4e4a84f8e024bc98582732a66c93cfa3b690886f1e32ecac17595abd034d1beeacde99e99c891a028e98b367d69784b51639f4e02945a5ab14ce50669d033bcef8722dd44a13d781b4156532395bb63cee518f965c888231a21420ed98d10379116505df751413577a6e1fea37db40132593d9eb28b0f5b0db7f81aeed5f49036f4cf0b5a1a083d31e6c7afbfacafe869cf56a6817049323ea1e8be9cad80ffb036015752254277388eba7c1886032977975668786902ce52c9d16ca835784fcef033354a3a264934e6b9d462c2866067e818ba06b74b11255df558a577246a03cb603b3014e2c4f46e13d022ef9e047d3efa0f0cfde7b8eb6c27643afd873578ad84d033bc9bc0a4874fe05b2155f716fde2daaff443c78e26172c6a23d16a7bb6ed5ad0311b8616365d88cfdd46f1e7532abc073c12fb94ff1e9ad207c104d247a8971a703a6e8d97ef0c44b68f1ba59c5d3cbab0c8c14dd26f4e70b7713b715f2d29782140344646f07419c084ad02ac6a35f68c0793d642b9d61712330e01f08ccde96525803eb68b2967cfaae41b04c086fe7dc2af240d0ed886324eb8a359ef7a70c2deca0035448f692f53cef8e7835b0ffd57313b2ce785e91fdb2e44018889ff0f7bed5870324aa61a817f0d48d7509a634c8e537865012a509bde26608d3b7d89c1483695003daa3dbec06e5756246a2b64024a8eefc8986403b9cbb44c5bc931c9461128abd03408094864b5baf8b687344641276f6ad39127fcf9c564ef67310fea7721908580386fa38a90cd0ddb9b522f3102a5ffaac58f8a7a54a85bb7a05488c8f086efe370387a924fac0d9a0447111f96a19528c10b5f96e281cb3e5037bec3bff20fd0aaf036dbb3564f03d41498ed7499edd74a20a0d1ce8ec445ed225492c289c328344a903374987a18294f2eff8e0070788e7b94ab17892cb77bfbb0e40ffa876cbdd0303030db1653c7023250919246cb649901503b3f1295e4292df8bb7f25b753f11a7160338b7062767013f2ea30b0f8f5871383c974da60edbf9c4a8e4d2b7f3b0e03aed03298a2a424426b4496716c080a13da56f11a0c72960cd15a2972fac26351f8171030fec4d97fca460dad2864a229efe9980bc9643fc1396211cc4035fcb56916dfa032c49e432e3f236a200c7349aa3ec395b2abb007f30d17f4cbf755b4e45bff49203c3620d98d846fb2b607d1419ab3844d190337cd4fa8b10790632bda9b7f118180327c02a1a822222c2ad6a9a01021c98abf05dbe6d19540035756ef97697ed41d0032dfab473fb7182d9fa4810c1f0827699dfa3dbfbf0754cc0d32a3730f8f645d205581e032474741e61ee173f08fcdb64dbb30c5abf7879d96c57e58aefbdbf996007011bffffffffffffffff03e1648c1113742933d4cc1342528bba96833c24cab18ef8c9ad9e9dbacd77e28005581e0303c7f801ff22432e7fe2f085605a564090ef2493a9be8ecf9c1634b0900401039dadd84b70b6cef28e4ded452540ba1792ca4c605f45c4a38c83b1d9e71131710605581e03aa34896fc10c8775c60fcd1163ef366ac6d19db06ff30b973bdcebe4f007011bffffffffffffffff038595b2f7d4f1240a7d1f15370c02369d4255441625cdd631d3270f5c5b6387b803cdd4014aeac75c5cc82837813dfcc4730a530afbc8bf7660472e1bc5d50702db05581e0311e3f6ad648b83d06cdfbfa662483ce192c8e0db9cf2eba7aefcac66000402039e6e209c4333a284985476329baa511c890008f8511473904236d4d422fa7c90030fcf435c3699b34e17f0972348a9e87fa5aca128b24e243d8919d8b5f30190b6039c4da409f7c4cfa1dc902d1613c1182b714a021d9095a7284e5d73bbb87e25030394d9a2bd5f4ab8569e3bb34ac8a2657d65713732e23d72e8de681639e31b5d7b05581e030feba65f09d239001a6ce8bb356870e71e3f14702f8411a3877307589007011bffffffffffffffff03b3b1b6b333ef4b7c145ca92a34754f0e5f990b0deff40eb7cda48bbb27daa93701410905581e03e69d7780259ddd40d6abb0b9b74e82d7e6e741383580febc62d394cfa00c014213880459080760806040526004361061005e5760003560e01c80635c60da1b116100435780635c60da1b146100be5780638f283970146100f8578063f851a440146101185761006d565b80633659cfe6146100755780634f1ef286146100955761006d565b3661006d5761006b61012d565b005b61006b61012d565b34801561008157600080fd5b5061006b6100903660046106d9565b610224565b6100a86100a33660046106f4565b610296565b6040516100b59190610777565b60405180910390f35b3480156100ca57600080fd5b506100d3610419565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b5565b34801561010457600080fd5b5061006b6101133660046106d9565b6104b0565b34801561012457600080fd5b506100d3610517565b60006101577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b905073ffffffffffffffffffffffffffffffffffffffff8116610201576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f50726f78793a20696d706c656d656e746174696f6e206e6f7420696e6974696160448201527f6c697a656400000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b3660008037600080366000845af43d6000803e8061021e573d6000fd5b503d6000f35b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061027d575033155b1561028e5761028b816105a3565b50565b61028b61012d565b60606102c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806102f7575033155b1561040a57610305846105a3565b6000808573ffffffffffffffffffffffffffffffffffffffff16858560405161032f9291906107ea565b600060405180830381855af49150503d806000811461036a576040519150601f19603f3d011682016040523d82523d6000602084013e61036f565b606091505b509150915081610401576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603960248201527f50726f78793a2064656c656761746563616c6c20746f206e657720696d706c6560448201527f6d656e746174696f6e20636f6e7472616374206661696c65640000000000000060648201526084016101f8565b91506104129050565b61041261012d565b9392505050565b60006104437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061047a575033155b156104a557507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ad61012d565b90565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610509575033155b1561028e5761028b8161060b565b60006105417fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610578575033155b156104a557507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81905560405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60006106357fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61038390556040805173ffffffffffffffffffffffffffffffffffffffff8084168252851660208201529192507f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f910160405180910390a15050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106d457600080fd5b919050565b6000602082840312156106eb57600080fd5b610412826106b0565b60008060006040848603121561070957600080fd5b610712846106b0565b9250602084013567ffffffffffffffff8082111561072f57600080fd5b818601915086601f83011261074357600080fd5b81358181111561075257600080fd5b87602082850101111561076457600080fd5b6020830194508093505050509250925092565b600060208083528351808285015260005b818110156107a457858101830151858201604001528201610788565b818111156107b6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b818382376000910190815291905056fea164736f6c634300080f000a03ebcbb4d0aba95dd3e01b1d938e5efdfe07cd975409ef93050f829ee9ffa2d33403b1786a193f5d9fd19aea6658214ee459bcaf184c105a7e216849e42106fc645b031146d0f55cee55296c89f252448d6dde69e59aba261a51bd16baf8b1a0528164036f8b094e79bb383d32d85b251b1b072257b159de9b4e4a795ad5446c8fda283103574dafb970b812c1bdc6a5c4576f4dee758608771646de82f70087795d2e2649033aa6ce74922ab0220c5c816f1ad84fce55d0b7c0a90ae734494c95e8c4f64807031123bca0d1a51d6c37fee9792d1824e1e2c87056a96dd7f2e2b1a9a7e39dc95c035689dbbe03bfd9b51d55092e7d762811621417d3b8c7ac4ca8867b2d3d28b0a003638e267d5190f06ea99bf909a247ce434f1d4e736668f5ba3e2c9b519c57a24b03e56e8f89ac446006594bb88fca58f5bce1a3507f6d363a5886ace17c5e7984e703493cd858d19f3196afab62277e7bfda20829f38f8bb6c719f6f66d16bec9f357030e0a18cf720d3595c99ab2c6d4be2d5b6035ab10d13ed2cb478ed67bd6e94405034f88d68dcac89de253495338443b727a089204434ddf515503d016139ac2b4140334c118f98e993f7e67b2446973ba53c0ef6949633a269b95f3525254dc7c8c2c032092bf6bc73f47966c3bcb3057611290b96682c95f233111caa01a7fba683da003674219fff11c2fc228cf8a832ad50d3564351ec14dbc2efab940b08b1d5e914d00581f02f76aff8f426e0b748609156e8a33dc873368d7509eadabecaf7f41bd72415820a258cad0a2d04db58f609c712daf44ffe80969c2c5d08703c5cb36ff64f8c46300581f02d9839dd82f31b31cd36bfa9da492aba9892b0282bca79feafb4613ee17925201fe000000000000000000000000649b7e2f00581f02d58b02ea035f5652b8439cd413c9c5b00fcb773cb67f561e44a5696db281521355000000000000000000000000658f532f00581f038dbd5a501225b66e7a6ad9d86bd181fc0366931b3475fa31f07df833e090582013ee121ca59706b7131a3f0908ba9c56099a55756185a75d51fb1c35c450c25300581f037dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae054229047fed2591dbec1ef1118d64f7af3db9eb29000581f03245207f133025b0fe16c30fb91b96436b30947de5e58b088f7cddf6a06b0546f668df716a733e6dc4b7210fb96bd62b89064610219480100581f02fc5922e87d8b554e8bf769e4f3096bd3870f7b9b04b4a34a2d46a1468a2d52181500000000000000000000000065d21ddf00581f02240bad4b825ce31b697f799069f64393a4ec8cd2b61460d717d4e67571a358186678d77b5c09b1b8acafc9c5c0e01c13d9f21a4ac8330dfe0316564c3854ba38ff9d5c8c4322eddd99cd181390532fadb56b99105149b79d1100581f02db75ce2b19fb339e01eea247599fc198babe43d89ebe4c9fa2a926e932ef5221aa0000000000000000000000006658da5f00581f0204d715b6baa39fa9127bdffb9a450e217af48f62cb659847b3d678be291a5820f84aa10666806ab5f719b742a2e60f7d8b316578bfdafb3935e1ca6e41ee7b66021979c60343d0bfd7fa55fc1d75217e9d2a8e079e630d53b87d85811f8912576be1bcefac03cbd93e9f8c5c351dc7c253e023079d1e7196796d7664744ca519b2969ccfff3103f6ee26be15e0db6675544091c60742e7eb38de1c738de2ffbb664382e1740c9f030c288488c5e0a1283e98382410d4584253f60cbcf7661398095ba10820679e32031945d229b2fb3c6106ebec3e019ee80da0cf05b74c17d2ec10ee2d4464b264d80219ffff03d53cd4f5730177d8f79f044cec0064384769de8ea565715a7b0c86ef7a040abe03af079f5e66413851db526f24f53860f24c4179e35183a0dd810911671f4fdaf103a32432c684e3acd9a710dcd48dc9630a4f32b41b2656e06cbef3cc6138a37644031093aad3938dad9568cd6efbba298520add5619f2650ff29c15f3f599ec77a9b03687b8fea9ed7c844531742b466968b5f987efb6a9738d91ea0b7562c1e6a66a403321409d8747f2b66df781abb659d9d0124b38ec496cd01cae7f3a7af1b23dc3803e9ca425c5c042c04477e49ce7dfc004ed76ee9eff3be005d41ef82565356b7160354e2b5622539b28011402e19e5260564d03663f51a53056aace461685526313c030af3a2706002b25732e5c49602d4e95550bc9519f4c6e1938c10473a8fd6b98603a3f10863ecb9248950485e0bbf043ef58264316360863f9187c7b0bfe21971490377665769d20753a09af7703fa533932dc4357b1573190c5bac044594d528147a034ea49f2671cafb599f4b061172576bdf068764de3cdd686b4b9fb1c08a32275003b3d6ca9b900119d0e99f962dc06aa30b135341ff4b3198c90c56b9be677653d20219ffff035956b8434eaae15c28e92778452d99a7cbfb553807b448c8c6a5162fedba638703251e410ce912ba436588997d547ed90df8679fefddbd53041de6ad4917e0a153034ad1ca16a4dbc5f61b34355393f6ecc4b4ab40b1e208a4614a3ca07ff6e81b2d030bdea67d31d518634c194cde10f1b3f65e768223cffb7472c14f4b16eaf8621503457c09cc677f93606ef85197599ab56d3ade03ba89d16956d4c394c48f6e24240397703771ffa0103b3e19331bb4e72c9ee0dbee219dcc3a1b7dd495cd027f867b03eba27823e037a83be227b88ccc58733c1d7cb9810fa6d91a68f6fcafc1850f6803496f94fb20f86b96949c1e8ff21646543893848e9ba0fc88c29989993d6f473303c8006d85c5a163703d80b59f586f2003258a9b81f69061837c6f2d3c1836a85a03e9a12e115aca8a9aecea19b6226b90d077c6a2af04082f806d7d2abfbeff053603e498449c2466051c319bd705da4d2cbd0dc80b4ce6842f074c021d16d01386530304ff760662aa0ca8b944bcf3c762a8a3e622e2f7caff3e21c2d526e4c8d87ef903ec2cd8f5ce8e909111dd61cba8ecf58fe5c73e290177d4197baf2b6d0a6e49a003f721bfcfcb06ea88134d102e085e96b1a2c2ef29ad02235b678360d1fdb8b7a2030eb89ebf37bf8c715ccc624accbef29ca19ce28c115adbb30284b9accaa33b320355db1b1c8e3760650d578218fb0787d80b56295ce5e302515d5c300217f5179b0370a025b7efc3ea88ac44530c8e295be47dd8ca8524e20de19472df55bd69ef180347d3ce2a437cfc2dd485e2a4e6a4d677ea1a64712b6274ddc61cffa2f02fdb6e00581f021484cf5d821bdb01eb90179e14d7256862bdc2657ba9588a13d5d964a15c52126300000000000000000000000065824c4f00581f02c832d8ff100b8a3ffd5dc661e1c9c9ad0fd8b76ca06ebdd64beb6c5191a35820a76544470aff577cebd351443fe501888554c0b7c7167495a0b3f2b9a89d24b400581e024bc76ec54527e0471b9220999680f17aa317f2453f14408b0adcabb4de410100581e02ef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54e2f826324b2faf99e513d16d266c3f80ae87832b02194200014100035500178fdbdbd39144f93e0bb3c5b1304337ed6b72a0898e4e951c4f2565637d0340945f292636a628bc658856cbe67cfdbf08c1231e7a419e7102ee5d2a234c7f00581f022222f09c2206d8180cfda96cc277298e66bd12ac151f2cdd6de0041d3fd75820912108ef23c2d997e430630a80d2ded71d911bacf65e1ca8c75afe2c6c27374e00581f023cc9495c281132ede3c726869da06ccb48f9a127ce041073d8d9ed5fdba052045800000000000000000000000064bd81d300581f02967d2dafb6a1c5cbc8b80887b6608f91722bb8b9f2782ba1442249290bea5820e55aaccb40fedbb8ffd5c22f0be7b5c1551c26e7437a1352871e7c06e4a118d70219b907037e01c8537fc0bb85a6b4ed339fc7a41405d1453f56e441cc09f73e32e85f786e036de8e0853b3d20f0862785053e126c76b9729fab246332b45de9c52fb7ee821803a7996c4906a8d5734b919d5c78f6b6e10e78d9c576d8a07e4d01c7319717dd19032e7a000461972ba076d5bd39601f0e6708db7a5acd11d6954e894b2dd24faef90219ffff03ff8ec37d91bb8f6a5816f4ecc27ae36369a8d2b7bfbd57b84ea1b06ab007d46f035770cbe15418a8746082307479b882364f4df4ab537f052146ec04a3acae2a8703cab28c03c94a9cc6ddb69abcc57a4a55de103185143994d34ae42a1f8eeb6c4803b5a20dc7706fcebf0990a82830a388c0cdf4da030a70e1d3b52b82be42f8cbae0360250eaa28a06ef25b98229a0559fbfddcac10d0cbe0b7b02d86dbd1e0d8775303e60f1fe9d19cd6c7dbe5a13160dd80cf292376462d6e0d523ab8c42fb503115403f62c943275144d5b3f899f2d3eb6b7b80c81d410ec52782724f0b778dba32f070388a58000dabd166e641eebcf0e467680eb51ee601d35427c25a940dccc662a51033fc07ac78271860f7672e44e3c506da09399d6a15b3b8e2e8ae67d81212592e103284417426fcdeabb6f71065ff9c0205058c725f914136f0f66090045838ed1900219ffff03d810e73d790884101f685e43c4030868f845ecd6649d4f1a2a82f99addb46dbe03e683881e38d89e3571fcf576e47043acc2b211fdd959830eb7ea301e7defd29803d7ea50fa2a5ec618c030c17d562081a7b0ecd7d720dcafdb8a7f8d29464328ef03290d8c96475929c7a2c856a0f4f1841f61132689f2ad4ca9108808bf93857bd90316d3b8f9a300f5ff5eb03b37aeb3092f48d27ca7d562a0f3fef22ea9d66e3bcf01410900581f022add6d6d4614ee956f14abc2a750b8766936a0c8eb2b0292882822017fcf546f668df716a733e6dc4b7210fb96bd62b890646100581f026b00355398fe6c1aa6345cd2f4a473bfab4ad0a098d686ea639a48122634410100581f0220947583e3138c46627dd6ff7528f06de1829761b44f21590e05f4a7a41252167100000000000000000000000065bb0c3b00581f0267edef046aa00f12ccfa68ed6cc54fa3b7ec1be069cf56005e0c5724ad265820939c87c027cfea42cd05dac1cea30b933181f3d56ea83e4d4b8c9127b778d6dc00581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60581c0134d6b9000000000013dbc90000000000000000000000003b9aca0000581f03cf45aad98248d2243c6f54ab2d34406393b8adcea8a3b4f75a73827e29a04101021902040219447803a080917c20f3881ee494073b558f35ca64ec2a9f2e1eaa1e8a6b87d6d1b30754034e8bc4673b79c940b5a5a46502499eb842084e5a2752dfe3340feabb555555750391c9b89e200aba30a515c106848103f4216658506f172c528fe485262ba424b7038ca2fd05d8bebbbc41e7b1b6928673a0aafa09174ce02f0c5d4a25d35b989388034c4467fa8e19b9591da4143a3d33cc067f953394ac89e9b4020b940109ddc3c803d778ea03c11138e96f6ddb44853f39829d1413d7af492b59069ba098bc16d3e203fcb56ed67f39b65ce4c5b5ba39972ccd0395f846856e510540b4b94497bccec403da4d3da85c9478e3b9eb15e7be1f1959d211f7c3febc06b3a525ae5a0b10162003e68baa4870fac549807ae4e39b94ec6c4d4de20e3dd8debca838b12df0df96e5031e9affcf1b6e6c5af6d3ea90ba836f6f465276032881a24c1ebbdf1db3184b5f03520138a9dac3adc3d88d1b7c1306d5dd0ddf6d986b52541bc4d0a2d0e97861750341ffb4f078ebf87bf20ba99b864ac7f8f8733fffb46cfb357031b2f00075008b0380d0ac21ae997471b07eddcbcd9082d2d9af603caf9211001b8054dcb962dc4c0321955be34525d95fbe6c9493b4a8e7a3e866ef935e4ac36435429a734e1e6bca03de08de8ecab289d82b8b1b2d300e5a8868baecd11afac61ece6a2fe9f9178cbf0219ffff0334fa18e7e074e19cdab169c24603007a765d5dbb2a1213b075680c5f98f0df8503a9cae7d79599d9acf6b4c24151cfdc2fce128de297bcf0fec12f23f638ea3f880328fc9f90a46da1126c3dc63f8c121946599ea6751b220223d013e67d7d1ec3480315e0ec02b30490f7771394fceb0ea3dcb7e8148b77b1121b430aa35b11bc16ff03051ec552ad02b7a5dd3210c41bb74e18f2d2ec59e475b4870b69016cb045290603e45e2eaa88ca5cf0c985479bc318955697c0aded952b62cb643ece14ba635d48032b08a601bfb2768e364cdff812c8fb51755d47e37eeedfd52b97d2016639775803d1875767dfee3813355872547fad9b254788789bdf080f4230f734f98e14232403b58e92177dc9b68106478fcf74b7ade3c0fbcdfa930a16cf667b7f7cb8145c1103e6a2890f451df5e4175a4bf9b96816ded1841f9becdf3f6841274751db83ae4e032d524a6dbaf3ea6deeefbd07ccc277f3a43cf16ac68aa37a12879ddc81e92bff036572ca17f0908960e737e17e07e31a09b13f27c770db3d57a78f71e2b87ae9aa03f84e65aceb3366e8bc78885ab21d69c33bb883d8b184782d527ae8d4448bd9390392c9ee9e059c40ef59bcb77593cb365ee4fec6f7890ed38541fc081349dca9090219ffff0360cb963b47b167591aa75f445f6b4eeaa3b7dfe6de0132b14d67674aac5ed3ce0363b8f22c9c974d1a617d0a9d4fe605cadc868c67cbe7fae78a66fdb47da43328038ced610d4a03b23faf91623aacc4b470408d73ead4926a6ede40f9e8f8d0ba5f03ed165b453db28e09c9fc9e2bd5c677cac0ad4e0997488c5952bbbf83c1a33c710219ffff05581d0296aca1620f02422152a416eefed0b68d60c13ba661ed9975bb9b70ab0f014a68ea31e0007ab32aa42619080705581d0268bb39d039950e784def6b8306503fadfbb60df04d6776e8ee6521e60c0142138005581d028266bb41063797a348edde7f4d437475c77cd54a4ad52d0edb0ea3ff040105581d028a39e0864974775b30539617d41e10d6f6eac0ee88d90356e89761a60401021914090219bbfd03d74ced54210933b1a77a02c298ca9fe1ac86ee7feaf761d0fb719d6cc341a25c0329964ae2ef4b60e682302aecf7acc57bf4eb3eb6bbcae4fd96a1ca709c93f7b5038716843e024607df67646166c4d57ca30414b6b0e1ae58a3130503d2b5178bd20219ffff03d3d82b71de21a2a938e52c8554f0bedf8f0fa5618efa5662cb1f71d35d695d9c03e7b5b767f0a65aaf6a4916c98306175fe4e19fde8ec45f01fd1599443c25a78203d7fff8e75efd5c5b4d7a2dfd3670ba10a813dc3dcf7c21d2870c8fdc9f285e1c03ebd0f3dafe2b51230872a0d7ed5ae798f1af6637456556e00b9f4824db3c7341032fc20d641b849243d14cca2b6e6b7d6cb6da12351fddd085826ecefb86488393032a9933facdee172580eb0c6dd2ae2ae8bed3a3c79d6eeeb4a0f3d63f83c3ff4703f9087bd88fdb06aafd602b3954626ac6497b82fe121533f839af59ecdebe7ce3036eedfd398f281e4371792e7f8c8c4c7a794d423d8d58fdd756d160f2dfe4487403fbba5f8de8fb613b283195c0909735c63254d40a37ee3f03392cf4294282760c0219ffff03bdd55cf0a3b8d81f33a1aee71ceef5bcc87ead39dde662f59f1b6142e3dfb009030056339d603e4ec00d19c6ce6101c317b257cfd51d61d3ab40c9eb5a478c6f680219ffff03b12d50d4a5753dfc58bcc6191f916b42745cc6ba0c2c1277edcfea60c167af2603a7edb7c4260d50be3318568fbf4cef085b501b3b57e4291ebe92b429ada15e8603ea29ee9cb7c2fdb76de67878d7feabac25d910f82e84ad7e61f3a2905821cb3903c093913d9575e67dabffae40309083f4c9c4efdd957ee64cae2f9d446609c8550219ffff03084fae1b1f13309c865f73ee943670d17fa0a4efbe28f1ed7532f85ef7345b9f03c5c69f4d2a79028965cd0ba5998adb7aa185c6df23ed4b9861768dbc7496bddc03652ab54bd462b59ce7ebb3b3253c7b9058545ca40e7c9ba571a82fe366edda6c0306532a0e91a4b1207cd1a162643f0388d019995e624bc87545cdd66e68506f5a03ed3dbb9d5617cf004a0ad8e40d52235b3b56aa1b5236fc14997e7d0d124f93cb037621a5a873725314f574d7552963fb9e5f41f638063cc942a017e7d0ff891e5c0323b7599155ccefe9883d4bd22dd2617df4a1cc899726914b9427c379598be6a803499d4909684ae335016e1d520d6874cd7acbb1423deb3aed2191d0102a4b17cb03e987acd7dc51ab1cd2c688ec817cb7787ab807a0eaea8ca0aef239a2f7f6660d03b9738d564bae9eb1379de01c5b37a9f9a4012a6acc457710524f82496018331903e8e3dc0ff657f8674c6a5d40666f2a6201dac4e518d22c737319b37016379f9403f3784404320f88d8adc5c2161c8a0ff0a2e8f339b89bc420899ea0c00257538c032ad24fd7fff3b25a43274201af5d8a77d920717d83a3d2c0e1c4b9d7997bd2f2033e03955b9b8b25ff0921a6624d93fcaeb640a4aaa9d2d6024109b3aea53e3fd503c335c3d20de31810891a751a901f89fb304a68d98dcae0f1eba68b80cd8e060b031f1e5d90f5b0dac3d098e2a560ac2910fc602e834d3d7a82acb5dfa9bc2006fb034eac418842757aaec0905119e6ac165bc4fe533774910539b85199a1e736aa8e03deda13098e1635fd56d142f9037149141195a12addc97e2639c878b4273f15af032e90f8dd583a5845e41ed707f242312dce23db9dccbeaf92fcc639b582ca44d403bcb3c32f4b5c1e3334a1732292571bac50c75b4631c5149b78f34dda9e93bb8603bf9a6e33393074651edb37b95a374d7880f01d00683906f69f33636b59e5f85a039b4169e111b8968d11edbeb106965f55a1db46f11209513ee63900982c7b67550396b061a12674db7d903722aa0685e143b90556361cc2843255d2d1711e842d6e05581e03309354dfafb34e39945d92c484a4f497decf7979fb63bcc4751c1a39500c1902e648098f05c4b2541ae405581e03fb73be8a615cad0e82118df9a640eee1b0141152dbb316974210375760040105581e03a4933251819bce604fbc3bd7e820ef231b2b130291a3f020e4883098b0040105581e032871e5931693a4f2d5548cc5e817c236db012194e2a953e9130b0917e004010380b5b508f682645ac3f4d3849784c7fd9e33083f93923406b6a97f9511fa8f84032ca8c3b2eab9bf6c2a94670d6776d6b43441c891bf69322ba7453d64b648b72c014106034b1f37b28c82cc2fd737e1845f16bc4c7975232c9f3e33925c223bb269064e7b05581e03dfa0f4d5ef391bcbf43ee35c99f9ea432ed562a24b0fe117427989c8b004020219eb50037694ff1a86be7dbca57bc0c1ee85b4f0a677187fbacecbdb655055cd663e4e3a0373bb415cc6e06ce11bc567eef312fea9b9ec6c69aea424002a464cb2e6873aaa039bc6c887c48b6bf61613005e9a931604c2ae7c74bd8f9e2e661f3f174595acac033b6dee73a0b7316fe6e8f09ab7cffae49c26e25c8ce298625160ef62719d5566038b3cd67c21bf072b450f40934d2b12260dcc17e4e4b816c521bd7c0511fe89510348d861c25d9ad40c090507019e11383ce297e2e74acbc9b49658885319c45406035bc000f379f6bcfd75388946b2f549a0c7e5873940a5980c7eb0240999e1de1a0219ffff03a556d3d14b9c939fdd20df0a4d0fef9ca834d8e960858d9d78ebbab7522cd3f20330f5c495ef6a2f4036f07e617ad6fa0388633cb8dc4b32cddac8ef04846bd28d0320a8a00e9e6ea5e8fc17dadadb178237a9a7729986fc58e1950adb63bf7a4f3e0219ffff0330c83b925b09ccc2563fc8754a1406fe7fb5968a973f8e9f71379f5dfabbd98f039c78222b99b14aa30c5124b9a3c5a8087f73d98b50b682bee554f64f199b35a60351d29ed1be8a57565911ea077a0005af20fc75e49749265ee5d21707b9dc8f98033cae0a69fa4684706cf61ea3ea0936d17e2f5d6e282199f7b922af85e92dd3ad031b330e50da430d1a7ef8940f2277373f7db03a61cc2b455c338a0f99fd4a4b05038e67e44eac0db947ba9f9ff69bf896ba849d7f449ae2f452167bde151a5c6f3e03aa4e76052eeb75171a5f2717e10c779da387e7a6c053a06c42af9b9a0753bfdd03c5e3f5ea782c5bc9bb9b9c7f372c886286799ee13c4a48acd5b1f1bbb64e5c0c03f808d5c0d8acbe6f2d58e260fb8cb2d02784b0dcc762534360ec12f83083642303d71c3bb39d5c607eefa02bbfecf5a61e16450c9d83828539aa6faecf882bdad00375b4d7b2ae2b6e5bc27a4be16b0e51db610c817893db70746b2f80a175e2a57a0300dd397d4927634e65b1adb5789163ef7483f2746ad484b7f217e9017d4716fc039158fca53e4da64f96ebf37bdfd225a253d53c41df51b9b4de8fcae67e011aa10219ffff032c5ed67c0cb4fc46db16a422d0673c00f677f322663eb746ae45a59c658544f10316b92f3da6af6f7c3345d5e3d06716dc2e01b16420bb9935d482f0cda95b6e4303c36748861d6ca74d694dd0512a3876c2ad5a5ee54885a1edf50bf730a75310920356a17bc4538fdb1d85ee1a3f740ce5b9a0d73f5cde200dfc6a594d15a80a968903c155da4f4e75de28bdfcf03ad3fb1f3eb2fee942de6c2c68be0d8e5c5ff48b6d03241988c010a9687c2294935cad785f95493b47c8274cb3297f319c04f87aadf1039ba86fe1d5cd8192602f8ff1cd68b4b0944f92ce04a5e16427b33a4de5606fee036eb5e7bd5c9c0307fc3cbee31130a4c1c896a50ac933d408aaaddcfe730c5b2f0361bfdcaa4e1950b8e5a9fac13fd51905c1de48647b4d3dd48cd1310b39bc3e2b0366c46f307e9ef0a01fd452c13bfd84acb753af48962db688786c6998f448eec5039166e70250110dfb8cc2f2fb32bfc3d4373545159bb92180c4094bd8bd6abb1703ee30bf2cb1bd2fce83dac383b290686c5bf6c1ce9674b0ae9a2b8ff0d30c0020035d62847efa06a1447621c5ff6d86b4fc39b7ef5501fbf185cf6d754e56a9c09605581e03442e30236bc1c39a428bb7b7c7203002ef0baf5df51cd6a5a6243a30700c024619c8bfadec0005581e03e2abf3bb21276a092915308844cfce4da257ad0a5e7051f05d14cf6ea00c01473069ade2ad7f300374ba03ca71ce8424884bb49414a8535f25c1f84cae34a88a719249666edb72810385dbd7b3353b0919defe906b27e343be7bc182d78c8a9651465241060bb1fdd205581e0382fb0c6c33703ea4a2eefe874371db3c93535b5677d418a77e62c15dd00c03474b70260fc574f003b062764c715a4d1282ea79b6b18b76e7b97d4437c745345b312fc43e664da98301410d05581e03a41332a0033a540cc27a49bdf9162ddb9035351310e743214851593ef00c0446c02c2f05c0000313b76be1f3108deef65292101120fbf8d4619c7c225ecdc0a2eb70a7161bc38f05581d02607a69edc048e55c909aa157278ce470726246407159b74e0df1a64c0c1a0006e1944882e21be29c5a98cb05581d02f43e8a333fe17dcef4fa8bab64ed97b8c90d8b4dee7a8af2e7b9f3c8040105581d0272d0f3a8c392f0100c69d02809e92a55fe233a24db51f6660cf728630c074701b3cd42cf27440219420105581e03de9737db66c9f311c7acc425e085d34e1476ccf0191f376ec351cfe15004020219eab303c6ca6c0554b0047af04920f999e21c23184cbfe3a450710460f6916c67771fa40306668be52bf6ed07bb3d3d53efb93e4c6d81c87b21e99a1df8bbf0615b0f7b84037c4b29f529af91cd6e2b17de409e54906c2d0b6ab81f286f34b9de6e6ab504d40349502e50cb7dd4cfd60eda65eff05afd6e3bbebb8d5265599dfe497ec9b4612f031ad8b0290a987c9ac698f302e8d00e0f2887e794a98fa6b53124b3c8efb0c5e7035d9d4a067947c7c0855ece13a01e74f684e3e9c759d992e47503046c712145ae03fa001467dca84dc3d9cea28d2f10dd40ca5adc0723e68a6410692fc79bd489e203184d5c5a2ce820dced7f201f45c2631c7d6d80b1b389550eed918d8f0920ecfb039edbd12ce0f70da153ed38964d855587ff74d0d1af808030a521cb06b41e18450219ffff03c66678e5f2d12f74d8787ef70d6b71eef13e53d69656e64ef86012e3be1af6d1034c13d05e1884fe87444a1e3fbb7d09323945f219213a34e5f38262233938330403df0757b64a22662938df209d90974163529c879c3517d858a9179026a2798f0e0356b479c4095968816b0b8436db8d7ad83da59a7f5dff5c901d94c91fc0cac5b103762dbda4e6dad3c7857ce8fd8b614a9dabbf2e78a3375aa3f82f0183cbcce8e3037063f4ea4acaebf158bbb14733c9bbb6895d92b3a58abf969709fe8838c47d8a038661ed722c8166fa8db7ab21f2f7694d92a65c47360a0942e77ed01af8cf14d0035e33c90d71e890cb2ecf7579f05fe218b814abc8dc85935482b27483126f23af0371bb34fb8755575e2a4e52c4ebb22926678e10f0249b8a68994af9dc7706bf14033a7e0379e62ea9193a8fc3cc8267d1113f41a8dc35f6a4d3ad137c23dfe4c5ea032ee3ac3c1b733aafbc5e5cfd326744539c59b59f135162d2ab87a6fafbfe006203c665a7e5ac6097e8f3fb94390fc43a9254480b60fd0520a56e106be41a23c30c036e9c2e753a5c096bfbd2c03f99e8e85cdc8695a86b573faea7ceedf4777e900b0219ffff030ad2f23cbe0fdd2091e7370bf5142fff8ca1c7e141152418ba35b0a0e719f6d6036bc99354b841702f702f40c05dc81d485ed49516d538959336baaacb997a2ab2037cd7279b397c3ffb972610f98ab2d7f48024f8bc0a16dd2236cbce2ad0c7fce303d6bc92e7bc5331eafe4124f8705a5569b83a4f4fe3445cb81d85228636634b0f0309c0f2611ce33791630bf6572b5b6bd54e66e52cc5855a53450618f6d22f688e0397745531e0279d9b673684622ccd18b5aa5c89c1bdcda5d981d276908f753e730313b4fea20a7f72671e50cad9056673b67cea0ece316fb951ea64fbed4e93022c03b6b64802776418bee69aa7773472ff7807a1a45495fae5634e22319419697c1503a686f087ea63687d61a620eae03c47cb1f0839947f7d331b64dce4b6bcc6df3b0374f4c3ce48154e4109a248728aa54b855000a1e50282ec4f0b39c1f6ec3f13e7035139c734175b78d9164f63d6a57b191cf0f1e03667dcbbbd15bd2873fa7daec80339d98754fd4e5d2cef28d5466b0e26a2f8322d81c2e3aee660588dd6af37222d0219ffff03c0c757d3ba83f0f9c0e9969ccf188db307dba5982d4395107e9ddae4048dfc17034a2b8c5535f310f5cafe9e59dfb33b2d9be6022ba0db7d0e31b3cce42a70821803cc30b7fda8f1bd7d2fff422d3086b8eb6a7a7bee172e5010a7cd4e99e75c46480372a21f9400e6bfbc53038a94f30d9953178042b10bc87e9fcf22b32d1cfcda17033496a88163a488dddf9c99344d4e412e7cf6a313b826ee6b85950f61ed340ab50377156473bcd124d6a631c7ac9500162d9e334ec49ec7f36aafcbbec17a35f4c1037c29b6cf047069770439daa5ea21c84eb8c7a6394cdb1166f2be0381d463360603ce1700d07987de0bb06d0db2621dc1c4b04f7703e47b6a8d6a95b8dc11d8215b037360b88ef00c4a9eabd6dca1984ef6a3e802350980cf9c5ff396070f3f2cbbe4034ab7e25eedd898d5a9b4046a125d7639b347c403e101a538827f78ccaeb1e0a103b736ab92d50789ee4f46f3590e903496540563479268093619c44367664f1bd803f32405d1aa138013dbb6ec4f0e850727a92014fef99106969136129fece345340354055bb7e425731935f6d44d5ec0fc9d853d7a3bdc13e4d8754ba4a1d2c17b9103e8f92b15ce778d5e4731348a8c9005137a172b35546a06707944cb4dd1a513c205581e034032aefa9860997279277e86c37e01341834ca0fc34ef00edd2374bdc004020354e5d4b219ac9e465ed81c363fd7cdeaa1969e2c81bd5c5b86344185358f380503cbb7cb5e78bf4f0c843a3499557ec44f285cfeea8879bf20d03f4f67fe7b30d103267e72b86fac032dce813dc6d1c452e4bc644cde3cb59968fee6df3dcb7ab67705581d02f9ae46914114422cce3dbb8f962d83aface3f60a2ba5a2cef6c3811a041205581d02d54a070b441854b14805cb1e58538a13c28837b2b1ae37c76d2f3e350c0147a57988e3b4108005581d027b2f1566a74065143d6aa7ea72178b869a820e1aee6cab096556eeb508476f8d39614d70000219420403fc94e1df48f6317747175cea325c4be268da9aaac6530c03a0e96a4d8daf33a6031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0320ec25808e953a95363af120e02b47bfff5e932af0fa6db98951e95f1007011bffffffffffffffff0352e27be80b8d7cfc9190399b24a5500e1ca55680110a4e148987878d35b44dcf02196473036f9f2e55dca93e946bdcd458688a23fe01eed2ba3fdc91c3a90a37ea3b606e4103f83a12e0d38b6cf6fa80bcf3847afb4b30571b9b47825ecf644217f3998200d803249836e472ae01f5bc8ac3abeb4808fec1943631ec7a9c633a8f3a28745e11cf0323863bd986331f15c097d0ed63c8e30a12f9b5c0ec2419c1f2fb093536d4b41f0382c8aa5afb901609dfc1e340fd17d75aa0f854826b282290697bfd8ef193d05f037b61aad85fc0f3c2134ad0311d30c18457224db1efd640d0b5e006b0cbc483e6035e85ebf8e8cb3479b73eed5f77fb469cf822d220792e18b1fbc3d63dce7c0e73037c3fb5639add32b6aeb63780e1cef231ed40d419d75a1907ba151aec320b919403dd8face5bac45e00c591eb827ed7ac612d834bba38ac0ec2a94739ebb9c0940c031e17928bfc3b06955533b351f86bc3095da81c275e68a1d79991c1f2cf61c4cf03b83ace0ec2a8dcbe7763b5c5471bec9ca999369cae734357af5e8164b3daaaf603d1f96db45dc09d306436c550050a9aae15bdbca926b898d55399462d42cb767203a5e372082a404ae742b15cb8c9d8eff485fc493795cc3746f9a87d0d179f54170219ffff037c1d7bacd4ab19591dd289add7c75ec5d025a4de5a651a70e070255e43ecd61103cad4a3c5563731b7d96f91e0233b1623232e236cc69b65679d50326f68a53f3f03722af7efb033944d85a6cf8bf43da67d09bcc4c4f089d95a64c3a6aab02f7cc7030c9aab30bcb74aa38d0f896ae24696522dc26aa46256c01b62017ff4a064873a037e58229dcbf85b2a94ef85f9c5cca85bef2c0aab8eb5ed660794d8d50067a1ff030206d5ed00c895aee13067cafc53ba61c8767ce0e67cab21577e1024d750c461031d14521c48a9e6442e5e2932cd68f0098babc59b90b022f14d0b2f2198c3f2eb036bfa9bc42bebaacc40cd81318e0b48be025f4f2ce539c5e12c1a7149892bab3903122614d3c933c084ada8b5190e836a2392fb0a23936700f9e81524ae07f363590320c1a15f00a14bdc72bb4483d0db65066df0d1397ca996b31e3bec4b1a1c9e880219ffff0309ef3afd8ba17339ff8a2f577e4b925c19e11eac9a1c6e82b0b865f313f3b27e03c25f704551443b438eb24e81ec5200c40084bbfb4b0578c42cdeef2d8c3306f403f384949c338b7308c598e3f10e677fbfa667535d76f7034b1c30d16f37ec6e45036794948f977e2e41a5e517f01d468a80b9b0c384ae95e0826f52ccbb47f085ac037cbdf96ca3ba8d358a3b0a6395b2004e1e771f972df7c39e6b451a2b8d7a479703f4639579f415d8a24ab058b71da6e8beaee2bae0776ffce4b6d11af23d13274b034d97370eddab1db4710359b144e306feac95143aae3eaf2fcaf18fbefefcf71503488861355ad04d505bb82e9679e5b6ce288d6fb714a63a5bb73817e54f6557fb0219ffff032e03f35e3032b3be16390d51810d0ac295896d24f0abdf5fc5db0e3263dab348030bcf647c7a7b1bf2821ee02ed111460d5ff47b86f6393b40facd4b86d8cfd40703c46e01948acddfa2549cfa1bab7e8e2e370d855f45a14d7517810e26b35f92550377dee61f3ffebfb933c2276fd3a1701c1fb9210ec2c0f417c4578bfcde6e2705030bafb70af6560bfb29836839e5f3153b6cc1e7232d72275a8dbb2b1ccc15aa1d0303ac6525fbc6700b477cc4c46022564a8f518b67392abca96e74e8f66e4acaa703b63414249ec2e7932fa01fdce1a43ba8676990fbf8d4c025cb082d3c5ab30b7c033c936dcdc4de2e696e939a88023e4828759a572b07602ac78178f05e15fdfcbb03419aa2fc13379cd2bab565a6f45ad62be6ddb89672189c3c671318b5a464ae520388608ca48e4b9bea7eb03639aac4bbb4029efc58aa71c62692f70b9f83c46287038e5c1c0ff9ccf1368fabef9be880a7ff543d95457292fa7b4744daf841fd4f230219ffff0356e81e02863e709916454a9dd9fd432965f101bb2670b10bfe4927590464f03803732d5e8ba61e67e4c67c78b295cac1acdbbe0e291edf3224cca2798b47009120030eb1f54326075ee83c960f349f802e2a944689455c38365baa7074c5c71015b6032a2fd59fd6f987ef1e8048f11ef1bf227f59d3b92a43ccfc914f18529cc28a99035c129617fe210c48695856d6694f87fa3bd0e57ebd250d93a7201c1839dfb7b903cf6f2d667cb3588f973633916ce04c107bb561a6a6dfc0e3a0b5a6faed1ce9270322ad4baf4f49ea1ecaba041afda4606afd7aa41ef5ef9184339a31913c7362f80346172eb555d5706f22e133c6281d3eb995dbe5a6d7cb06d4c4a31fee162d554503ba959a7ab0449c3ad6d2b886492ee69ff105ab1d323923af43d8d09a0073c5400397b2f4422706e4c058c86dc044293c95fc29ae10e997a92f0496d41b1d0ec82603e14e7bf16ddfe9e301c613d1cd86d632ee0a0ec9b3725d22bf63b797eb08880e039926e174091af0028e72e9dd74c479746bad88d039c38d25a7d88d0309b3b2580395e664dc9104a831678500ea1e2d47b393acb6e6ead7b97ff5ff0708a56f083703d86f65ab82bcfec7b744bc9448b38a606b4ea9cbc606345e5f7c87406ce56a85033a286e10b93da6174ccb686508c9d448c939d467db09a0c87b0c4297a3cebde30368c15d703e38134eadfffd94312ac69f7b65310f1eba05a8135ce411b7f105e40305629718fd888c8f1be3a11a664891a492b2acd5170849863a776c08e994832303847482025c8ceae9f7779f25f8d59f2c0ecec0fce87a9fd764835c06de98d323033b7304b72363ca8d9cc940963805c892c401763dfc11f9bf7dc43cc4d9daf93e03e5149a2f1d4710e5d6efc8aa7bbb3d8a1d1dd4d06ac0dcb054c8117e7c5bb4cb03327694dc8b590e630457554d929aade34f85f58d652030ec41edcac83f1b9d4603b91406335356e24c0de4df991c1903764284ba8442639c0b68321a66e0c9ade2039a9d1798629e58cfb7964f0409f82290d7a9c5b52626705e31f3f705d53be51103c8215ce83fd02b4c6843b185ab1fdb97216fac6fe5c8788cc7ced1d036160bda032baa766907d246b1aebff4a30675253829c35decc3efb206669a259e544352bb03b5c00a2262a18fc0cee630b5c0ab6a1bd9dc585e488b7ed9ecfc6ec493a9b80b034e788e99f1d8c45b8ea7b76e9807f3e8a4da8a7abb45e481c7d00cb9424f3a9c03728bea210e7045838774f7561d6ad8892801ae355c216666c4e8bae8bc09c630031112a3ecdbf5c5bec744e91dc7524a0c6e3197ba7a8753d47e541734518c00a8035d644107e6f5a0db295eb2b85f0612a0d45b4d024da4cd924306836b231a993d03acb3d87aa641109902e1699c5cd76f8347eab7207dc9a420a30c11af32cd68a803aac774c2b39debfbcc03212788c541087e1e494d10c6998648bdef7a23736af203f7b7115d801c65fec3adacd5d432936c0f9fcfa835a70689042926aa4ab47b9703100973610049eea44cd90770982ec1e44b76b5dd1de78dc122b0abe154b866a80319c953e60146e33636e0bf353f992c9f92ad93d0dae55ecb2ff2518901f41b2f0382a1b66e5b80ab702682d27a623ec4a8611597cfebc7f0d2f61dd3f469b6f699038d8e7f5608626fa8fe14c296dd43667acd6c560115e5bcfbe8fda2aa3c4778fa0328f77fabb9329653f384fbdfd0fc4b1a2d22381a487e2af022836b2884b65bcc0331b7aa28b68eb6099ad60d0ad72cef54e9c7ae58a48e682da634c0d1e566a32f05581e033359b9ba7e5425143bde28ad6cc68723eaa5bf63edb0910cc35c9af0900c09471878389dae40000360ba870744abb0ed48660168aea5a318e8ff4997df420b0e69811a15f21f76d505581e03bf3735a0caa3a6682df6de248a3f32e6ade426c047715fe20234d848f00c014714f178a4f3700003d17e517f80b4b0abf08f3a23aba611e791d0deb559d08d415ae9f9f4b2446a5705581e036e08f817f4614cbcb41af0ccc156e5129478db2f876953edcbdcd943f00c05470283aab87f95df05581e0312107897253e5fef93a6ffce7026d19a80d6a14d8c1db6b27d413db8200c0347289a07706633be05581e03d2fdeaa55618c2c188cce3c526fdf94f9ce54f04e180b7a84adee16de00c18e448120a4219497c05b105581e03ca3f5b759c28e500d7deb5414d21bb969813e2e4a90fa8394e82fa6e300847058acfcdd9800003e3fc443add31e373aef826bd12b8fbba490cf0f5874e583a133d8895c191d8ac05581e0377d3d1aaeb3c2b700ed2dbe94f66316db55726c3ae2576bc09bf8ef4c00c0247459c363e0d14d805581e03256c6858de042fdab6f0f73c841347cec5b79b33372ed586a411285a900c0b472b4cb59ecde2400219ebeb03bb2141279c66c4f2b573f6885fe6d4445ee66d7ee1bfdbe3637bb0e6f0a67f240219ffff0219ffff0377ce990d0f9962e3c64482f71c8bbb9f05a22ecd10c01e832a598cffc66a53bf03d7b030e868a059c74df6cd3ddb1a392c4046d3baf11b1289446939448ca056ef037517a0b972c945cad0bf6b1876059ace5a7c7197fabd3279d8f090f252562e9003486e0a6604d8925f6c1d28da8b942fd1089c7ea54a2c852aa0be1d3dd248a31d039ae989813e09897437cf8cf650074685e4b498de320fa3dcb791c4f7f886063a03dfaa99fe1b9ccc38aef593f7e28b1bb7b12857e1afe78b074799b7a5e01a31f003e740c07fc11cb62cc0e47cb91e78f1878192a4476164395d613fc0ac40ca46b103f30fdb9a6e1a0f881358ad596782a1da5575dda5784cc7ef281451a9fa92ed6c0381929a60151321eb27af2ee05e35bf454158fb355f73449de374a4104af1ad9503c40362b269218f37e4e5396c49e809d7a2edc6a1fae576f32030df7c2d7ba9e5034dd8f180d8254567885368e7a3b8be7d396b4f669be6c94723e2876883d3089a03ed9cc84b9bf12040a950b02085e2654637d1dbcb9233f05ab8dd067326715b47038bb6f070383f6e7e7431165060384a2a41d3bb6394e6e11f54894097fc6ff267032e2df1b0ac91623dad3f7bceafbac949ed776f79602544a541af06bffa6f18cb037dd7187461d197e9448934dd73d9727d0d9d5224b8b8ab18381e1377b3ea31ac0219ffff0382e200c9f41ccb660655c97a4f44d9da9d02b9e460f15c143e8e36268bde984803cdfbba9c590e648e575bf63f1c908a84b5d881a717fc273f1ff139ac5e6192bb03f0fb340356c4fa3d49c48f804ecc89f17299c211f04889e5479e828aa5cf9e6f0377a095d85f6e4365cb3e5cb0a1bb936d88eb9ead254c5482a2881d42533aab36031a07261d5764ac6023e30fb261df222840ced11d33cd67d5c18f9fd2f53196a203511e9013b97b0039615919e0084c0cd77526e1efd0903df2ca094ded9d1042830305ed2a33e61260dcd861e79f2e22ef70843ad6d5461a92362ee9650ae545fc3903e6a5d92fd8132cbed0a9aaa11e499b3956f2f6902b905e2dde91f5265eb06223033b243a95c81d1db14ebbc0c3d6cea70ffdd3a199397551faf6c800c2a9c728a703a06ee6a7afbc18921c182c976b217f202d0de5998a5212745e57292c8b1dee32037a288bf12b057d9417634aa93eb0f26a4d63090b63786677b09348b571a18987033f244f24a82c55fb2efb188c90ae8c0e48dfebe40e56c092ac854076a26c05690338ceaa3b88fe4050a7a69813a12ccccf38c67ee054f5d51e54b6b54b739b680c03ff784521c0a95dbdc11fdcf90b3da0551dbe1c83c0ab021c3164807b61c69933030f8d9d57511dcffd55e6a07113c04dad488b63bd1811cfb70af486d8c9caf38103edd3124188680a1f8e8bc70d7abbdacc451333ccc5d78c0596cc3895c63885c90349847280995914d09387b8fa34470097c9cc23ce1fcbb9f1c08a3728c2bff31b0396232acdf3cf797035809fbda3b51f2cd2dc9201be9837108638e3a6a5c53d2003e4e89220fa7babbab36fe95eb8b9c2478eeaf16a74ba6393b549d7ea6bed21d7037e121ef1ae706cd1087ac1d353fbcdc012b74661668b7bcf0f356fa05f07202905581e03dae831206fa8f6a907c35410c157347a3c5878c0f794fac6063a1c73100c024701983560b6ec0005581e0300b1e829ea1172b4697ef01664ecb2f3e92586996a10ceea5a3de834f00c0246ef42b56253800459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000007bea39867e4169dbe237d55c8242a8f2fcdcc3871614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03946d5878151e7a2dbb8c84ec58dc4022b10d5d8835986dea384496365506d6b303d2369bcecdeb6d6f9f0cd905eb400ccf35deaf68b29099ce7c7250bd3d913bb4005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9058200100000000000000079b3d33f6a1c150fd0ed76da200121fea91814b6687ba2300582003922dc817a20706b3b0373780761e8724405f3ed71a15c582ddf390c9dce630520b352d6b3b27d873e9eed73549d57645725100582003165f6358752a486cc5346f27da4a5d5e4ba15343460c932a8f30ed93aea6a0515428d0099b5b45f2760b238f7de0d3a2cb030556a98de7d7e2ed23ae133128e259bddbc97bac27ce5ebc11abf4cc0d72b69a0058200320f0f2cd353b262aaccb81a53d37fdc47ad079969a33eb80b2d8e7c00a4a0052018c067715f8ce277d8ccdcce717983396f5005820036ccd6437501887ec5149751f9091b416c39a5c39e622b0811e57d8ef8153c04e07b028ea646c6396601ea40dbe280219f481031b4fcac45de758d24038b48f2f4d0db83baad1f44fa28989170268ad0ec3d5d703d3745491ded0e5112a7c35dcc8903e770e8bdd20fb47f58d406d0170f79f00b0032d11934513d8c2e38b360c3f5f035dd2c2fcf89b1534ac573986c03250c446470342eff03e10a89dea97c4564edd8853125b4339cc4b090a185e266f429031e5ad030632cfd01ae12e9525d49977f95f944589aae2caaa304b7bd3378975b5c60f300328a20b3a767aa73565c5967a44ea954cacbed7e968e7b114c8a4fa6cbb45a9670387133156c705256aae1754e5cdaa749abeedfe84dd00a127528f53588a3768fc0325797fe3c374061cdcd93e8632e2bd409e629ccae7b2e80555e6b5b89613323b03f6732375b5ba3df2456d63a1d5da38b67c3f3db5d559fb7dfe855e4da4ebfa9c03f777b3696442b6b812dc8598859a8f4f9233fe07295c862bdabfb947eacfd0040394562738225365e7de7d8b68d93ae140778e003eb2cad2e9210da74cf78b74ee033f103114195b33d5c6ecdb3571aa64a5526efbd551441754690bfe41f5966a6703545cea4be609941083414bc803a17dbb43d485e9d3ba67f9a19ad8404ee3dcfe0338cef85116ae075b37d7fd235194d7efe1604f0c78dad40b4c132f91e427755c0219ffff034301a00725d994325ed8e886cb11e5a61430c12fa04dca5a0308db1f6e02824c036cb3ff207df1dcd4361ce088645fd512075da3d853ed34d5f568a9a6938d12de0310df5f025e48f119767efb53c2b593300083120ad7560277454188f4c1daae260390389ccfeebeef79bcde43d49f2a26d954133ef5960b425638ba73347aeea9d003bf8dfb129085f0bce411d668f53a45c155b5393363db712cb375ebd45cab8c920353d810da4e846ec719816d085b05e747afbc295dbdd981c2cc7ccddc7609fceb037c0d0c88e502c0a5ba85ece872f5258358acd5cba837acd556ac22ac04b5a0320380eb64e39b0fd5a7daf5e22aa6a30c865d5bf885e8aad18ad0d14479acf1930a0350c6b35445af068d186d5f906e0d54ebb1442e5bc04e939b6ffeb5c37ff0386e03d4095d33dd3f5a4f97fd56ba9376de90e6dc7a2a2a84233dc7bb771d8ccbe2dc00582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100001e001e000202ffb2000000000000484d3add129e821fa24bfe374ffe032eb9b28bbec5ef672aa0771fe5c8ee03ea217cd677df07783a7ec331f13e506a0344cc3640c821622d80634849bb05803a4b9434e5a4a3dc5aebdedc09bc9e0932005820038bc1178efcb3644bbb98a0b17307c3d84c85df61c5fe4417b6332c6f70650052012b7e747cc37a62dba87362fd3e1fe0ad2a00581f02391f977ecbf5e587b6d75813ef81ca84dd82151adf950b33cb9b1edc09ff520b7dc40f59ba0af5e50f356c39bfdcf0967a00581f027330606da1b3a511cb74d59067f686371c2dfcf08c40f28d4ccae4bbb8eb5820eda9faf1fffffeff79692204070140000000000000002200804001000000000002190a00005820031418034c9c1e876530fea3a79619697ad1f111daa2e79045a40a6c4b69a6b051e94ed0da31ddf98df5b0de8b7609fd00aa00582003d47cb546b32d1dbbfd20e252ec07754932245ce4241f34ae956f12c7a07ce058200100001ae700000000000000000002d92cd50f60e6a710461f0000005578c02003092df643d1114adec423703fe9eb2c2b8032c0da99977c7882ff0eb0b724b32b0219619d03ed423b5d3219ede97b71b0ce8243a525b557c44953de93a41d2f0427ca20d62b030f272cc1b40013c6894bc45314475fe4017ffb2a40c8c89fc160759e35ecb67803d486919e7b6d423847d1f8f2c0b4803bf18a5f8f6b2acabd2d32051c2ec16334038b4e3f897067d4c7670a95ffefa0c0a5be9b51648c518231ae4c92c239fbd488036e8bbc9ce100117e2b07939a0cc290bf2f7affd0531c0b4a7e38082af63ea8430350cc6f405a58a3da9b036b6eea0e16c4a7ee6f3dcf45765318ff0a02d3124ad90219ffff030e5757462e3dc31e7b98ccc088ec5b3175d71eac3e402278706e592b721e8d41033b71c04e401a28ac168f951626a7e738e1c27565de05bff48bf766a1fcce45da03f97cda9ba54566bcd441bc0429bb002312e71bd503cf5b09998c40b69e2769ac03a4d580ea86803f7118309561fafa40343740ce4f40b4820a5fbd8ee88e2b48f90358200ec01a39f6c9cf9114cddb814c47bf6cde442dc4e4eafdfdd16cb93319e0039f8864c463fc507f260cf8bd87522de70dbeecc1beecf5b1289b9048e1ebb7b6039a71b29f1587d733aa0cfa105e65cc9ae14bbc717499fdfc44b7aef570ed9d780368b00f4fb84b5fb8ea2943471bbd3206eca00a5e47686e7696a0df4c2ab3a54103a17a51ad31cd48937f96f9394f5645dc9881b707c02c68c27c4934c6e2251af0039b098f586608deae6b3949ed7c3ce6af69692019be4fe9a8d0479abe7c30cdae0337ce1559ce3655f530b55d1a0be18597684a0a3ed2115a3c4f0ea717087c825703b21f6bf067cf5d6bef9673796c41c31876c2895f08407bbfd250199dee275f81035cf2b17089c65898af90e0a58a89b2496bdba816b0b5945bfbca091ee64081250368fbcd90ef5653195680677cc490de1e2eb86a3488505760b99c808a9edfaf6a037e761c4395b86716873bfaffbc4f3b218384cfd443912d312923bf4d024f7d5b035c4103656d68eb43a346c229aa413dfbb064249e97293ff4e69d81a59b6feb9900582003fa7c561d07dc51208256b25b715a16c8929238535817dfe3110d628a7948e051536e6b216fa522953ec13cb5ebcf3e5b67005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04801d6001f6da1baf5005820033b93398e8fe84062446435f460b5ed34237c52ed6c07e96103a34078dd029052036fbfd03ed8b84733fc1040094349dcf65100582003d452f5e735480f21c3c235bff5f10dcc727460b6b8f57c95b9f17faa364b705210ff7c0e6d18dbf5b3e9a1356c9163a325fa00582003a19f83c4c7150ae075729c5af11b790eb7c1766b3c0f16cb3d05501d205cc04e59f68de83fe47a1d1ef7aee889a503e8c34a9fee77a08c51620be2f7b104967889e782884262bea249ccc6429e9d0200582003baa07e0e8782f72eb18c7db8afd50858b05b590d2896a30830b4ec23d76e605193929829b8ad1ebdd416131dd5f8d9dcba005820037cd26ea17384379942873b567a72ad9709752ea6d79aa4076075aec81110c0582001031ca11e000000000000000169cc68bb311d87f9c2458c7900099c0205d2b3021951ee03607dcaab2cde006a0b9553ba85470b7100a2d0861cbb99eff505df75cfbd993703c331ed73dbe9023f093f81998b520bd927a449d82b520d91bbbe3afcd8b6046c03faa48f27ed365083ffb4c2f1733137c98050fb0d5bffbe99ecca95cc701346cc0387f1e1554dc0e45f8bc72b47ad68c782f8853ce9b3f1e628ae10e9bb07debed703761788eb6a21cf04de9f9cfce497e0300b4ac088ad58aa3ed64d8d5d1af6a3300219ffff03b5fe63bc69abb4af96650bb48572eb127ec84e9c89afd41141b60e683ef6583103b1c117a6581a826204ab76c5a04610532ac702eea8c7b66bf8494a312f4526ee035274107408b77bcc49073ee975e6ab2bf4e1e224531bb79dcb03af79e95e6a3400581f02da4eeb6ee3f4a36378c985e90670caeb7dd400edae834874ebad6d57931752014a68fd0dfb4cb11b20ccdb8aa2bd9fbfc900581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf64eb766727bcce9db50f9aa1d45a3c302194800005820037c6881afe7f1db3c8bb7a1d0d9cf7aff65e2c6f3cc37657b1a67cddba249204d19122fafbc4a6660294c95bebc03f0fd07f8b9b33f21358759a48feac10252678f544ad3c207c3ebcd07b87d177703c017ae989801eb9ea3bb8d737f78eb6cd28b41259255f655501ff45c288e522b0058200388b451a0894adf175714921b9a89401abf70bf4d68527b281e80a98c2c4a005820fffffffffffffffffffffffffffffffffffffc8a01238f35536970d04485db610383c68f894866e03d9063878f0d43ca6819ff90708e4e1760744d668be97e101300582003434eaa922678ae7c8a89e33035437050259426f6f7b08d4813ac995261b5f04e046240576de3b8a96290be2e2786005820032ed089e98ceb73713fa8a10880ee6caedfb8bf21e3e65eb122f4d3f1a771404e02a8f68c130de0aa3d9d4d1e326b02194a4f03b23b7e7e5a3aa79ca66a373f38e7979e68bbce2c08800db4ed531fb45c9893fb03bcac9789868bea52af64173b157c00384bc3a580a1878c017e6526bf028bff7503eecfc321b12b59545c41585bc43d49d27857607f3cb35a21b9b297bf7d214ed0037790bf26df1489cd541dfed8ae60ffcb90f0a78320ee8e040e05d192c5ff62dd034135f44289247120d3a5bab4a04525203f1d593e9ef44c3c01c8cc96fdf2373a03a0ca339e22eb35829a2b93726329e8765ddf71bc8c9f0501788bfc3a5d98affa038246b5c177d8db216897e8766c4023468052dc0d24a5911733b618c119a8ca64036c895bc28e0c47ad5e0b09e3488d002ce8b8b0fcbd3449d045c2181bed48b8db03291a911ec88e8461a9f0410576e364c623b7ed920b5db198d65a70f717dc7f3b030cbaa68494993b2663dfa71830b6924bd2f8b60097b044ec65ad9da55e5edbe00314f0a9d8077c1539f6f213d0ef86c24cda0b645d0508c77acb91137bbc355b87034fcb9c292d1382cc61b61b0958c517d0b9c40f3e88684343b86e4be12b8440ee0368144a7f179258d4750431ed58363912b867cb36bfd585814fb62299381ff78003e1ffb4f9ed86ea54d0f92b6a7b01061a0b23b59b6319d1b328c5534202aa793b0219ffff03bbc52cfaef16c8c800bd6a4d4e253232e2d94b5b9f6d48c3448f7928afb57292038118a38d5f53b1631636a8736d5ac9abd62cc1cd6bd040e2d9606ec4b7c08a6103fdcb9d50122c6c20737d732f3447dc2422372fcab83be99bb9d7db33fd8066b0037caa5e64c4565e31529a21b5238afffde6cebf6b2c91f8066c896b6b4850435603b6699f3696b5ceb81cf4a99f68b2ae82396e319d70cdb4b015028945b371c0a603dc72b1d293a69b9c9c58ecd63e5e9c8511dd124ac45704f40cc7c300d8a404910058200302730ee5ea789b7ec374e069d9ff41409be47f996acac9c8eb1c4b6f96404051f4a7f551e7aefa84cbd7c3bd574caaf341005820034b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15058200100000000000000079b43c3452775b1e44c8e59110012200ebdad776687c62f005820032a5a5e9f9bfc72592149cf3ae883c428fcce5a6afa9a1e3f4e188993d91bb058200161c8f5760000000000000004b09104da5a3d0d0ca51446f0000399824091480058200315c046d8aec9a4e8680428eb1970e1c17e7c8522763d2b31dcc432a6873b20510a0ac380036650899659b02f88d342e64900582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8058200100000000000000079b4f3367cc686388c6647cc90012204dbbf7b36687db2f00582003cfa551b103f232152bbe2fb45d82a2d5042935d45659488aa0686217d9c7e04e65cdc7dd445c8cc4cb538428749c0058200348018580abed3b3371b961d25392353f9a6d6047e3f93b6b56c89e81cea9904e2854dc0cdfde3b1050b1b0edb20703d60f46425416ab3c089dd7719614cde9f8562e81a91a1ebf8417f1e3dcef2c6c03b05400c4d02839a528af08ebea52768ee7b802984e3eceac6ba00a874a28751f034c294c6c7542629bbee039b1c0594cc02b2b506cd54e96c416fe474b9e415d5602196d3d03d597df14a6fe29d586cb85ce55ef5532772ab1a8824197638ef1ddd80882b65703cc9296673bf24fc5c919a605443990524056bc6e257074120d137f214568ef9603f84f1ee1982eb97e7ab35df4ed558ab2564315c8a60e6c718c69d8513e5331f3036559576e99b491d0b0caea25bba7f4b5ba9f0d87c1a1b6a28c29f407877eb64c038f0c94f78ecac37a387f25c83b179398b61bf3d35ad2df639b579e8fb003f35e0350bdec047dc87f7c5735d03e642bde74efe719021b06e4867871d93e8f063d260394c9ee1424695c8c19f3203f67561a81298cc26748c56707733e0adfba7f17d303261f0ea96bdc1c655d4caea178ed4f9a638fcfdb0f69de0ad73fa52c6897c2d3031c7d9e9073ff2f13bcb75c81b6fd82569e2661dc1351afc19b8e2db77d3db1fa0219ffff03a3194c31d46fce7a69b9aa257faa4e0ea3464b7a2b7c6eee5c2e89937b50762b03d40a035ed4b7c0f681f12306edc909204d9255bc014d9fddff78fbcb78beed7f0307f37a9ca5a2767bfe6866a6813719f2683da3d6132072ce26f8f86f4017461d0219ffff05581e03fed6c59f358aa60c5c57c497010dc87702b07b196a6fb32ba46cf8bd80070119567e05581e035f97f315b1befd28af90c4d767d9635bd42f8910619383d474a94cd1900c054702d6565e9b9dbd05581e0380e48c644d14dba3371b794072e80e454072c9133012b9609dfdc6c1900c0247011461a6610cc005581e030ed97fb1ebc4045e64ff55c33e7df6a6013711489aab9b79f8792ad6c00c05443b9aca0003882755d4c6bbb05b6e2a3f9a544092826740c58d2f5869e6e3318e710c2f556d05581e03508f096a334bb287649fc5c580e89f2b504572fd1b4a1377f0088c57900c014706a3cdfee04e0005581e0324d55bfb7055f4452289f739abda66997879b3fd04d5470087f2b74a300c094703d21cb5f9a96402194bad03b45b14a14121766ecc008444433c0815b5d786fd65a004220afe4382da7cf37f0365021e0d1e7c80929d2f275d3a5db9082eb6ba521e6df5be901d83e2264b571a03d4605bbcd070d3a0c2493a0707f6c9a8251183f82c6db498819eaac5d1d086a50355e41b3f6d8d474274c1e2ec4e33ec28fb492a933ae2a68126cd9d12fc1d27c1030d265d5b601e8122b5804cbcde35b06b5c5747052c5bc978a916a72c97185e6a03e6bb35cc789a088653b5bf35ad4e39eee01a90b8a09f9cb30eb013ed3c34caa00219ffff03814a6bd61b7dcf203d5b4cd112fa2ee4ff8f785516969819b876b0d55f0208e2031718e8fef1d3a452f22a6bb17029e71557060c607b48ebcc653fe55b741cf3f5038b768331d4cd4c58b967efa12c64a74e2a909a95479752fd3706eb646c247feb03c6f01c45a33621c662973e682dc2eb7a672840e903700b21d05491c24b0b292a0326b47f0583e6086938b21bc8a169c4e730785390979860c268574a5212e0b53e03309a9dc53f88b4417a7296a5c27f92c5a83c13f9b2896fedde9c55b11d29d1420378a6f3849cf151258d05e185b7f04469420d39112ae7a21917ddd623ad26ade103cf681ed413e69affdb2e7919c4b5d67e5bd3bd68acce9b0cc729e8a96b73e66e036eefad385a76d8198ef0500ddc05a20598c6d8d43c109007c71b2e7832e90bff03935dfb0dd69ca7c742e1e97819ec2a27d1c195c0a13201b38bbce2d312c3a9680346307b13695b19202ac2178383fb7045e12ea2ccded4680d2e752d485852c82f03e5086318790fc902aae08ed42ceb87a5e5dbc3fcf27a393ccb57e756ee85bab10219ffff034b6a727d9f7f1339800e5ff90d20b17af3e86ecf6814d92e073889b527140d3603c737412135ac583846542a9ff03a9f82c265ff2aa30525a80ece63ea1da44da80313f63534a2b91a976efe8e72296f3c298bde56aba87a89d9f0010fc16bbc68e6030b65aea95781d009a38a66910567db2f35b3aaa8d737f573457dace07c2e50a1038bdbfc45b50f67e8c403bd50627ea6490697a505477852728bdf0681f7fe74bc038cd7611f92435cca2b944bb3611b4b08ae64e8f704af0dcc5b9f5163f38786d603f1f5ca27aabdf70aa32f411b49cae29cfa2e1a277bdbe3f9d31db8a03dcd03ea03f938da72c5b74730d044d10359eee90a6b1ba619a2d6b8ebf00790c21baac7c40219ffff03e32df96d05f654a968acbb088c83172af7d6653100114330793d0972be75efb303f876a4a72404cec36400ebcbe082204e3bcd9f09e07f3e8ea6e7d25d8e4472bf03bb250621dba9aa5c76ec887c745bc9cd26d29ead3cf794fa9f683d0e9c6d68b7038018605b2cbc2593c16024d41eed2eb9fef732c26d3e826e910e43253513b1a70219ffff03643e052aa3bca12ed7d7493f48303913c8facbcea712c3bc62ba0edb6eca9c09036f71eb8a2feefd8b9b0f8e172f26f5c1211a612b1f936c3769cc886b7175467803f41d7659602b4ba25c189436fbd751021631af0c5e84bcd5222d417dc1b7bcfc031e42cf23ad27da4144aa771d07138e5b56e89a1d51f2feb2c153337019d40e67037b891ca2586e9a6b0431c58c98b856c1f029ee216f216f23e8a9d6e15f0b01d4039de3c0ce4adfa56cb7ca5e889a0c0b20a87967be8c765cd42b1da36e8d1443de030e014da8920edf86b59fd34138af26e29159df9bc9460fa8ae1dfaa622845f71035b1eff1d58adc12399788fff031674e30ff68dd7dd0882d69390e6030f85146303d7761adb4e48e52e6b9bacf9935480a660611f6d94483b2a92015784bee41a95031e9fb28c0e7c65cb2e47e8b7945829d258cd409ea276ed4c5eafe21ba612700803367c948476a6f837c61d9b65a370cd905be98af9aafcc6cbfa63fc635f0d196b03f88bb9f21b1b6ecc2bec6c21f1d64e855df7c2b788a5b6af2de2c04f6f0d603e039bb109f9c490685ceb14f7ceda22d9a6405fb71fa191c72d1ed3cc0b86f7e11d03c5c07bc9d7eb1c33688082cb9b6635955b523fceeab05b14db43aafb443cfb4e03626d75469d98001e0d174c0def3180082f408af9586f4e22e4f7e01b00f3ff11034126811c27d2a539964f31d1b00d5cea6100e662d66bb7d41f31610124d2a347037e16774ad64093bbeaae4d310c05b0c4b78586ed973accea0aa43be7991bb8a60339f4ab075bb4e7cf812803710f427ff7f0383e68fef91f8f2838fc8a58eb39dc036dad88dfd72b8e17c005560446527209388b7a582e918856baf015ad400e7155039badc57f8c80075c32b870677720eae0ebdaefd431568c223052302b9016a290031785c3bf0940a4e36c3f2ffd2e35c096c6a292bc9cc5f63d29ec86476e95f1a00322dadcf0f1a8a4b5b7262b6fc018b38f1db6e02108f7c4445be1b398f2f983af03393b3c605f48a50641bda36a2ed464b4a5fda9420a7bca0116e96b5930e5f707033d861340c5787a5083c01fb5d2c0129a68c80a933a064f204309d5c84a23adf203d7f0e4f0bfdbc8443a48247b6b8954d1de795bc3d962330d16c13e71abefa5120366f68a7e50a33b512cb55b68a43f4e681d82947efb02450c238fd0a6d6dfa4a903396328d257d6c35c04ba772cbbe749a269018347256ea06e2596db485ea80ab0039451c340cf298e9f40fad1bef96c13f9f77f3a8006c1160f5a7ee20ad4e2060003c032b9e1c57a6f0689f7890c19ddfa02a483937f98f7a92284d36c780fcc14be0300b971776625ba91afd992e0dde6a56579c0cd8f61f119823b0815d32e34aae803ef55c15d342b12c1fc932007b6f2fc7c878936d263147e7165b0dc0281c2b45303885dbfd71ef50f3e005f3106e72a21bac62303819ef7db414a75a5d492f81d9303fdd27630c058d7e114ab6d1f3072473229b4a2d8fec60216704f764f8335f6cd03cdfe7a665f224e2ef765b82087a7fb51b1e5459b297a9e88a1de57465a15b4b403f65483cc0fec6d52b76d283378b4579eaa80845c5cf1c49c70cc645350aefec303f39224e2bbb13bff9ff038cc26791130b2d4b6affe4a0c7258ccf1d91fbc1fdb039e2585c737f59877ea0e3937cced6bf9cd7c0b94e14f939aa689a587bdf9ab9b03258687bd428a04e336117f942ec9b7c313435ec9b52fb4fa4b1b20697036645403f5b497ab9cff8041d46f09e11ee5b33721412d0d14674c4aa3aa3e22e9e47e75031314b0b5ef0f28c293e0d12865d7fabce571db190eca40c809c9cbb6852fc5ed0340ab3e468032fba0d75ec28e3e3ade100413cc44fd015fa64e24bbed27a06d8203a17cd6182f6d7c8a32dac6126688b65ed69e2dd1a80bd57aea6a2b4269c275f803315f7ea3a43c44dc484e97beead9f0158e433912633b6dcc2145d746e259cf2403b4be219e1c4b83c6b01b1682694c31b532d5c8f6de13f99bfaca936d7f08988603bf5bd0fbb268704fca5427f11f763a79ffee1dd387beda4579699f0b92c8d10205581e0357771351e76f86572bcc78d8f267782ea1040284e2c32bdfb2807963300401030db4384d765cb9b1b304b0a5748097ce1f358ed9dcec880b554970e98d57605205581e036b2491c79cc9ee9ea034d7b90fffad2b64feeb0fbe299aa519bcc508c00c0247018979596fb98805581e034afa20a9e588dabd034c8c42ce5ac23018ea7a8adb64de51b1d17c8020040203ad9264471b283233e85cc6f6d209609082d71bed61593a7f30323553a4ed207605581d02a26c601bb3497ff014b8217c03335050001e25e4de5a7ea7b0899702040205581d0202654677cae1b31bdf55bda6463b6f32667a72211ffda39a768730950c19bee548b921881888743d1605581d0213b9c9e87be2c360c7e519cfe7efba372b352686983a2a4b8ddea23e04020219880405581e03dcb0dac0e9ed7fc067450fe5afad4ac3444074f13cfc010880983f9b7004188805581e03a354f38f6dbe6eb5e3316a0f47e26b6fda9dafe6d5ec26e1520e3bf2300401021917d10322b9f4366277ee1d8e8fcbf04bf39e0acdc5666506c6a11d45516c29fda5aac403959cfe8f2bd88259f23f804fe28202bb20f33f140007ce2557581cb95937d5710219ffff038b65b639c58ae9048e186f09e004754c03e15d9e8b0e9238c7399661dd5c6d5f0219ffff0219ffff037dbe48fd089974f0fa486a6baf26795daae0d9342de04b3b5a5dcb23b64e47530385fa2d4ad76420cc4fc6312acb54af0a28e41656dda273745dc9bdb5d3dbb704037742caba90fcbf97537dccddb9911a38beb6f026d5bfcc41811ef32aba7bbdec038b8c7eb997e19a8b115352fcb761b8c09e48762eb61afded2d357ce03a47656403bf330d73e27c2254527c317d3bb41734e3a118f58e6b89d15a40fbf73bdc4a18036141e2dc0c6bed7bde602e5add25b56fd8e1c01c6c38486d53283e583864267403b0045c172447382abdc0dd0643f6a02c2db503ed550aac6be687c608f1dd56ef0393216d93d752a4b6be5ad158e07caa363a38ed58993f25abaa119d3eddf0fc5f03e9f2de3f8abbe3d4e70c50fa040ac4c6788d0ca1d4a44f20220c884eaa0cf2bf03238ffd8f615dbc03170ddc5de358ff6b3f5943c72d20f61dfd3956bb3d2222ef03391779a351f5b99368b6f8671e07f4ebc50c235cc529052bfa6c18d327094df3032492280d92e61c9c6d958c544006bc9f2d5c8df99e45358f8080bc3959ab30e0035d64973f2e82b5fdfe9e779d8516726ff61bd8fe5ccd7aafd720c3104e8d15dd037576d6298c6b6f354767adcdcdd1f83c65431d947e3030131bceebea47c4147703635fe0fcc5a726bb711fe1c1424b05f169327e12229d7b91174d2a9d717636d9033110c356024d028e69b5afae6fd045dfaed8adc5844b9157dccf8218457f87e3034a41ce797a4a6a79065ed486a271e319cb18f19444e68e46794bcc782765cbc803809c9e66ac52251e9e1781e398b6559225dcf31ee0b79758dbe0f6ce2a148362032611c69fcb578dc28a9c290c6fd2e60010989a087e1ebdeaa8a6434a809388bb03c32272508597738e823d0e73f245c4ba568de4793b2a196b329761c0dae0e14105581e03e509528fafd1d26e085e056ebac4378f931cddd84f9ae50d1591e2fd4007011bffffffffffffffff05581e039bf971b3c072506f33662bed551d257b4325d6fd922ee142f2d15eee700c0147047e7885095800032ecd27c783d433c5f237916601119296656935366d76de930d9b002923e69a58033b974aef9fdfdb22bebe9b9a2141a659daf58237b1a92cb82705023193f1cbeb05581e03d62dc8cffca99c1b449796b540309e8bcb1288ba8c3ec0adcaaead3a4007011bffffffffffffffff03d62892f4cbec54e40a68bcc62666711fd709b23181e7c9ce3f3bc54f69dae5a305581e03104388ecdc2318139c0786c712751bd853b2d71489fd9202a00c4589e0040103d256c0158e4c0f31d24ada982c038b880eeeae94d6e692fcb9e8dee519c5159105581d02c9dd5309b418f25221e983afe8eaff63943706b1953b2fcf25d8b59c04010459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f00000000000000000000000057e114b691db790c35207b2e685d4a43181e606181565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f00000000000000000000000057e114b691db790c35207b2e685d4a43181e60618d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f00000000000000000000000057e114b691db790c35207b2e685d4a43181e60618b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f00000000000000000000000057e114b691db790c35207b2e685d4a43181e6061908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f00000000000000000000000057e114b691db790c35207b2e685d4a43181e60619087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000c3db44adc1fcdfd5671f555236eae49f4a8eea181614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f00000000000000000000000057e114b691db790c35207b2e685d4a43181e60611693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03037ba5229269b22a2207aa1a78b1b6d285f254ee416a58a54b7d4836ca9fdc3a03204796a0930ce576d2d46c42719ea916fbeafc769f184d6cfe64b3d1c741c9bc030c6faea715ee45f594a32304142d33f576472ee3b76b38e26342db141198764903feb7c4165b2dbdb26faaaa5611e094d493572f34b4e057d2531067c6c12eda020339aaabe4d03cdc236915f8212b1963b60f645fb2281f88443645a2b062a8ef9203ce2c8036a0bcfdb11660b57e7ddcfbebc6c327cc97002a54fad9201a18254a7c03fec07b451b732bdeec2fb4315e0a725c2ad27a38e755bd8017c95b95fdb7030a03061c5f846967087a6070a9a95b8b9c57728f42ac85c671e33c4769ab9b1ed349034b1938b17c832a0663503089546b5a7f85cd51590645bf64ae7832866653f08703eee6917e9c03347cd6123b96f336e69dc43792594e39fd5e775bb7e529e3268e03ee64b126073a6ef0f6b13d65e2de71afd9d557188723cbfdbc96f929957e717700581f02a4595675c32d2ec6d330c76c89f22681d33c9dd0011123937b1477f088455820ffffffffffffffffffffffffffffffffffffc5e6f88c0249bd07743ebeb9b74b00581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f01000258025800d8fea1d2000000000000000002e537bd89d332d0216d42410219208000582003915e30633c950092031a26c871be18d3a9618cf4b61d2c82f37986c25200404f031299cc038307ecc69f23406309c00058200308889c80760b3934c3d26ba982ecb81a4dc3804656bbb53d69c0e7a8446630504fcc9d741bd769768685c36deea07bff005820032971512fc28adfa0589973f1758d231cfe3f65ac012277162cf9904a2749a04ecc2e0c1935f3dca9dbf2729a70a600582003d17b10cebae0584f4c103ddc3f61ea912dbebff058abcbd55bb67dae63ba704f0802c01c70798b8378d033fbf7c1b900582003f2a8b9e326c70aa41d589c77b1f3a5429e19d04da3e2707f6d3d231eed65e051022846e296e9dec45b800a7f8135fbb8c403fbb2440ab7e051c2f27f2a979ebdc4fbe736ded131cba822dc88badbbd6d138703e6fd16444a3e193490198bb3137146b06dd21d0085c69c8c36650b55da68f152039dfc7fe1cca814016c51dbaf4d43971f84222e71ce0ca7ac75b65f5c4351f75b03bed92c9a958fcc4718ecc22e012709240c7f72708c328655171bcdfd292d37e800582003c86668ea1b51a781a75cecd8b3bb4b2b23833b6ce9a6886c5ab683762db5305820ffffffffffffffffffffffffffffffffffe3e5307713c7acf3969274d028dcb3033aaf97bbd8ca5a2d50c2d67a201249a86bf41710776e78d78e1a46b4c649ade603c2c41d3109be1076191274a606a728f9c03387fbe62ee27c56be99e2680efd260219dd7f031e8bcfb7727755680245d22238b84642febc7693a3b1d207ad6db8db2bc0f2280370a05f002ca0bbb0a03b2b510dc2ae2bd4b0cac148b944b650338d67749ea41a037dd8639730b47f94e41dcdce7136f0d8fba7b71c400458c8872acd195dbec1c70362b97ebabd3190bd877d054b74da8896b31ed8097ca0a8effd19370709539ceb0382c0d9485680a20ddb5dbc71b8cb7d418b40a1bf34bd00e8b68f436c9538310103faec7957d6cecb2f87b8f89729bc96dc0fd51a902db01139eb9c604c2cba58150219ffff03ec91a7c1ff0b9c39c74e11e430005c1f05038f7da8d1109e02b70fba94be2f49039f75134025656fd6343982ec33f40c532e71ad1a5221ed1dc691c277db0d5d1900582003eac985d0705b55f390466018bbabdb9569e44f5557551fec669ceabaf3b8f04f420277a2ea95e65f667d8b400c660300581f02211a9ba548a478d1d6650117d588d7be05ff0d9d9ce527cb63a979ee83cc5820ffffffffffffffffffffffffffffffff4f0f6d9bc6087666358e2b68e0bc95fd00581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4f514f73d4842f7ea221337b9b72c956021888031c6be95a18959ff3350eb603cc9480d6261ad0e8e37c11ffcc9085f3d7127648005820032d8aa0be13ab143f55d600665a8ae7ef90ba09d57c38fa538a2604d7e982705820010000006c000000000000019970c76434c3751765ffff62a01c861c6687c7a3005820038dd7c35791975ec2bbd6def0e8a9056c9a5ba6a99a65cf2e043201ceafb1304f2c2765de3d31bf156dfee1ee86c06b03813057f275ae4d296a9b6b1f72d30f8298b42db2806218b2860d47314704353c00582003d9968d06aa55ba227fb6ae6f9b32c81bdc0edbad4f79ebdf54c950dadab9705820ffffffffffffffffffffffffffffffff3f857b9ebd5dcf292e36d2f5c952326f005820035c9f2e66b9dbf27f327d596d5704c4e9971d6ddf9ca388c1c511010f310af0470201d35b884aeb021973a6037b128b1fcd2fe57af9f983f8a9c6493089c6fec105f9d8993ee61446b7c89804039a9e9b91034847f802fdf361afa2633044cd551db8ed844b8bebf1a989e2295f033637f60487877ad0c18b368bb683823f1a8c5a47c50ea107feeca39186cf8635034aaadd96dd1e34d3dd1dca76e5ca8ac554f4717a1be4a8e3966f3a9c8af8574e03e46c1098141f510e6d293c21900970b037e2bc8f143d4a6698c60023b693f5eb03ddf62b9929ab371af9a2337aad4e73ffaf33f49dce46033b2ddea8a726bfdea703027662525cac94a0f8017baf1fd1f7a8ec55705b6003b52e0f8c804a14c3b3c6036be5ca58b3278bafb0940b2b4c97e9813547de03c2a2cc9bc08483c8c6df21ac03441c7400bca41073df4337f157b8822db8f0b2e04fd0da2952ca29fd51a40219034f0edccbc013780a53f49e0451475d3eaafdda77caa48988ab37e84f79254b4e036ec040fb771c43cedac430b2e6eb6f1f44e7abf98d74c64230b7c39ad47693680336db389410cdf8aad407e24e36e564f59369a6625d9adbd995da529c5d6d92200319bd4d849f86540a86945c67facd3d262b9dada753750825fe67641ceff6d26903ecd732da88268990ea5cc7990e166b9997a15b1ac53e2e6619c1e57fb762708803e9339c3e2f324da4edc20bb700e5c811fccb74f3b433883dd8a992c8116a96620219ffff0321d42845e2851694a56cf11366ee9152cf88420842952b144be3863e697ab6e90328b86aacc7a867ac32cf17922db1516550fae4ea58b07c08464a02a03264b33b03d0a19617953af9cc60e3a8c948a3db2e162ca0ae3f3e9949512fb4c55f8d8bf90382e1d8557a4d78e456ce543aa4cffc57abc76783eb0f0a39f32b28d01dddebd903ae7dc92fdf375c979158f7e2d593f77df7c1db9075a7f1c7bf29896b6a04cb73035dbdf20d7638d2462507f027d9c23c98d793fbff5d63b4618bb5d228208f1b1603dc0e347d22725b95b98ddb32315e9cd754dad4d85decce740fdd860d1031fd80032c9f3e9eaf84053557c0b842dbdd3de4370577573789f5e868c3784253577ccc038b5b0ddadc125221843c399247d930c9febdb86b6f9ace3fe614606bfe893d5003223e8fe6088259c327ee74c95f035a584c61589e64e3aa309f3fa6b8de05c17e03684c2227b34d0767a04a6bd669765990075603766fc66b514b591dd94c0b260a0341ba98bf01f8f407fc7c10fce0ece6b49f3f002eb27af59efb09bba5d18d9f9003e69e17ddda92ad524bb9343ed61d2a31cb8dc240829d8b434b58d9cea9bfbe6e037ed209732a60d6981883d70dfd4d1e04d025a8bc8b1de6c5dbea5f098a0a0ded00582003fe9b4218754c238eb1a0de4012268068590ee2606f2ebf662599b1931713d05026cf36a3f28e78a6936316ebdab9356400581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4a4c9af485c62c8c7152b000581f02a5ea6416dfce185aa2cdc29c5e02a3ec764ab1e02688960ee209320836124f2267516cff74f5115e16f32875940100581f02ddcf76c926d1115e5c27d81142b2e9eeeac53815951383cf5475a18d507f50cee4f52dc6f9c3977c9d478c714352ab0219502003499eb05e7174b93821a2a07092e90629ecc0504b0e243cf0f0c67dcfb863538f005820036737317f75206bb77dac775244bd1ace988deecdfab60df4830fd90e3077a04f23c8cee052228d707a41eedc7f993f00582003334b0d03aa60e5ac5737c0bae14e6771118044f06c0f989b41c40ee23e4590582001000d7ba40000000000000000000000299c256f09b122203fffffefb97192740361adfca336ebd7cf7abdeaf3d6dc726eb9d941e26e4b04a41256333109c0852f03fe616a72fa0072a9d51b30d8a9884d533d5d01d7712208c76d40f842ea9db6e003d62d641f6a90b1917692b3be34a5e950825fc36254dec3e5ffed9ed0e28de4ba03abb2f13767591b910b74e1f5d41cc41e477f9159659cfbb34741f85e62f31dd30219f2ab0327b662b16d320d9dc6334d653ed368743c0b34843f1a65cd3e6f97ec25a85f6f03c1e295f1db7b898c8c7cbf21d23c3936bd7153d26a91793e6032e724012c001d03280e20ad46db0654f0132c2c4c04605a991d279af476d6049e139819e8155e8d034b8e684a831bb0c19df8d18753ac68aec8ae4df5fc3487211cc7021fdebaeb80036da664391bd6c48fbbe8a752612eaf7bd2e512b933bc3b627f3df469962294b40219ffff03db9a30e2f91fb19e57744735dcedad2bb0c58f28abd5871b71c3bcf302b3d1a90333f723bf1208bdcee1fcc7d3dee0f11629dc969967ad3a2a8b9c37877ca9f35a03218337d395b330b971a8afaf3022be4e5ea38ff41e879773b05456660e3e3491037d9990e22e9ac75e5e03d2def703e737de64dd15d365048adce9b5db64761f200323caf29c3d35d3607dcfca39da77ce023530c083439e616e0330dfa81f9181d003f55b2310fc8e000ac742fa863cd268d8491a0820628905355414e76f30833a320376b89c0b72e7538dac8a35735f66d819d2365a55bf24f2da368b9ddee11a4b3603ba6f10b2c181178c925034a4dbe8a13e8aa457465ce4c60c09217b1321583d9b03ee61f484b96b6fedb4142a9c355a25e302157dcb46a7df277a48fe828f3afbe6032c9115d36054e729e4b994e1135a4924effb75545033d4d8579a0313eb8d1be303bba9a2a98350f8884af3b714a32e18b6e8547b0c723680fbc6f2ff12e5f12cc0005820030f783ff3c7a7acdd2225748e228f76960e920a3f0afcc93f53491af451d2f051022cdd9d8702e1700fbf304591eb48c9fb005820039ea6848866d5312e65195a24e9086760917ee172d942507011f88b3e324af051011f93736e5a49edbdeeaa88fc6c7a5d8d0058200354d5fdf9aa7c8b06c68724232e8152b94cddf17354fa5c1967f389f6c9f2c04f266f4cc78d16bdabd9f7914fa1eb7400582003dd15c316f01b324cf32ffba403d2279d1b53f98828a9dd23cd76dcc53b17904f064abfa1a8d93d78cc2cc0041a6e72037f3b28037dcedfc21f0d1bf80f47ce3f028d819241cfd1b1e0e65cc4d070051900581f02aac876e83959c3d94c67f4e92e3dbb0f8a07ec0a1867b0074fb93c6810c358202ad2658688e88aa6f116b95fcecfff76ea5fd5cb9bc1da47cbdedb823c241a0800581f02eb7912886eaff44e01b233626bef41d971cdfc9f18db4a6d768995033c815103527c39ea479fe0eab96fbea1896a872900581f02850d5b1b50bb33847236948350c4c314eab828a9ff869fbbeae4cf1d248950566e0664a83047fada38abbab1afb08602185100582003e5ab2ebf288a49c1b784ac6873eea8bd8fec550a078b80f7dd8fae4c89e8f05820ffffffffffffffffffffffffffffffffcca40c6e4f2a4cedd8e543c52eaa597600582003838b8d6cb6a67e31c1c6b6700f42001725095d50499e55169db1cb6d0c4f004f4f24320d428ecd702ba2bd996f18d403f8079b39d5cae5c3a0106f96e52e78ff143471d9a0c5d89fdef36bf1819b53a3033978fd97c3e0945bbe3e4b23eef0ec29c37ee25a5f49b53e0fa5e8c2cd8ae8fe00582003425e9aa7f02f99491bf67283fcebb2b88524dec94ae4dcc59e1b4a2bd7baf05820010000006c0000000000000195b8c9c8596ce9f36fffff640e050cd46686bb77032acf898f484f26b076e55492de68a3513e9de55cc158af277fcf5896a3d8bcfc0219ddcf03986e5829020f44e684fdb832275572784209db5c06b798f39d5dff2c2da0480103666f9387f9d7737c48b86e8f215e9eaf7f24e2e6af09bdd9fcbbd0616370a26e031eeae45fb933415cc47a561a8f646f24dba60de59c0485ddf75966861059c3db03e8ba64d9de283aabf27a1a5753dbf0ee886c97d17fd57fc0f088c6039947c7c503cccea2e7574562d0ba66e5241a83aadbee79fb4cd92705e347c6cd62e663987003448d7d95e579463b4bca0867d1cf2252d84137679e9546325732b8c890730d8e03d87c8bc24ee17ca21ef4bd121ae9e6c65ca9b85daced932eeba8e2f48820d63603ee8d54d011af856d2568b03ab872d37a1ba26c5978a9f4d07667f6c0351f0b0b03c5029ddbeabbd6630e788f5821d1baf2b8dbdbd7901baeb573782ecfa7db125e0219ffff035e691ce1eca40c7d1308c8b2e60ddbb22acf3bce518bbd5d31c1acc155a36bb10219ffff05581d0268a96b9a6a3ef4d9e44b442b867ecaeee7dca6f50af011b607e37abe070119567e0219810005581e035c357e8f15ff3846fd65a63ba04bd65aecc6b2d088fff1021e650f6ed0040b05581e034a624b8ca742cd84b2fe8871eece5190473fad80ac360f4c1f5e14a9600c0649011d2172b074bc7aad05581e031fe9f9b43211fe26094fe8923e8a30a4c381c0e23209628d7badf5d680040105581e030d626bc1bb8655f42b54e72179a4c010bec19491c12ba17fadc10964a0040e03d1c8b1535faac6f36e3441f08687cce58e864eebc3a1b7d2130422ae92114da20219bfb7030294743059bd0aa0590eaa48b644dc424c93229bc17c61302ba64624c0d2f2f0031c032867b6bff16ef54b36654c475426e78436198cf0e1eb3c2e2e3e0967225b03361ece635a6978184bf59215a140ae757f0b49f9d315e946d6e62337b45d63fa032a62878a76664e1e8e0ffa6378f755dae7d59700de11b8d57566d5b91ea402d603d1485ae7d82173f3a524680501ba27075f595590e0cdb4fa86a9b1b0fb1e5f620331dfc719e24ff0cf9e2b2ce5dbf80edb18389d5f2893d45f65920a7eb1be5c25034c53ad9202c85e8fd7d1b87884e2d8d1a0f2f279886de041500e5763d92510a903d48e58857e34ab2095818038efcea7de0925b480b7b38610dd736d1c0d35366703c46a10690a1a19995f9d114964f47dec1b01b7cb3a561b71d147239f567b071d030f33288c3f14e571551620915659fe8a3e2f22a54430faa5f7c732845ac731d8035b90a596cf6fb6cee721d45591ce25efb62e4461b17a1d31cf99c4806a601f3b03ec67a300ac9471149d1ca54b4619caeac87fc49a916b413123ec0e752cdd87490219ffff039d2f6a222a95ddefe25d37200e7d4bf4636cc2c4f9ce9df3664d8499ecdfc31f03bd84b3364af4fffe3a13363f775a9028877765b674d7d351723cc2e5bf3f0958039b6e2436cbf24806b017c94eae873fe793b5888cb80a38e8f101838a9117d2f403bc36f9ff0b15f817c94a98b59531861b76afaccad77e7e9fc3e8584d32edb67a0377a4b35fe9a1e8265642bcc951d403128f1b8e0130c3f2467b8cb0e453d265ab03b6df81a4dc3330ac82483213bd910445be9978aa9a1e8e0a81e3d4546a0f0404038e95a19fe485e0482a26d22749eecec81bea8abbb8649b084f97a14d0039b0300332666b2af46b1f94f963f3a070399f4498f6bd4009fc1ec52e051ecd3aec0ed803fe5f242f1a1b6206d885f26b03bcd47757e2e2a08625a0510be28506b4552e9803b7c8b03fec2a1d629ab8996e58d25d26b2634543635850eb528d4abd34c72a380309fced1d7de56c1d9aafe7023e2215ff6b5fbb1eb7632ea14df85783419561a60219ffff037261e489064b8e6d4662584530be3758f4a54357d443fec81bf1ff32d65ae22903c127e949465d28f5cd882e28f86b4558734fd5e4ac63e1c9eee61bc8822db12603823843f529bdb943964d44537cc1ca70bfe880e7311b897c25410273fdd280a703a36010899dd666b726252432f3ba5e3da46c361b9931099c389ce6af3871f79c033f589692811f1afa31a4923c9adfd8da8bd9f5f2532a1cd8ad9a4d7e8492156703bf8f47272bd53578bc9c9542c63125f6d516939f97fb6b03996a1dafc8988f5d03505ea8b42f65b939e1a7e17d24df8ad175487a78346f973b1a01bc16a38f25400335638c6a4feb76df76b1d1faab1ca6d4c313581905c002e4a36e2b8f1cfc2a040306544e9d1f926cff9491e947ff3ee0ce758d6dbe165dcae18a19b2f7c144ed9c03c429c7b8ae6cc9c46c2cfcdf2f880212490f7e851a3977c930f33f2e03b99b490219ffff03cb77d0de56aa7723a014d9cdd615208741f37cc59bf3bb3bf27b1a5a454b1c52037c140a47066148738a8ab26f2032609e66cb960cfd5154eca959f96e0b742e7a039317bdebd6b875af541fabf510dc2fa502a26a6aa3a107973d3ac3c82824aaf90397b226a887f08e350a519e865ed86bff3b1e9492f4d2831a9fa90462e840ef9c03ad75e4a695f465248438b9181044a37ef7812f407b03fd015fbd0352734d73a603568fec0549353f207dae23cc6d8075ba9d9793f0ab6c61165d6971d10e4056c503777ed98219cbdfda1cae37e002396407ea98b51276bab78c3485452b41c642e0034dc3f0ff77759f1f46adeb322b86505d09f8af1e33ff0de10802829acf6704a003ea59dd90f0bd93e6435278681f7e55782d518465d10f61ac55655a4470f1a02e037bb6c7b49d24972d430ee736fc67097306e92866b99850a27fd4ce7136050054039ecf7e97ddade6a34f9fde92f8b43657f3b6730bcb8564599f516bb4975461c403d6ec73ad4a89eb78cebffdf757dd4925c9d2d1af1aae6827cc60dd4e093ef40d03148a52f830a5c5d68248364192457dc69b92ef64ee373b221c6b3925b9eb9fd103466be905c45ece61ddc6970b1fb4092532ee6a8b0f293b2d975b88d0d6966ffe033d3d853036d288d7b524ccb3c1cf0f65abec42c01ce7338496c4e977764f297403438d9ed1ebb7f2753ac73991f8781443aecd9cf16d57b1e6756e85837015ccd6037b2d8d7f80ac763c2837b59b3f7ab60750e8caf688a6e97abcef2cc8b51841160368c57fa58947af4579651fedb696e68c79b218d85a56ba7c681183e732d123860389b03ba66c1e22dc5c5375e6f59666ccc21a7b4ba5dd66d662953907d671ff050373f3c301a804c9cfd0d86d3a8686c12b4ded35310d685cbebfd9ef4fc787c5a6030e6e59156000fb32e03150fd01430194952f98fedf404aeceee300287318cec4036f9cfbc438fe7a4815cf5e2f0c1360eee50339facca3b17c8d13dfcbf8e499e1034c38fd4455e8656cf7ab530a9d93f4dda42849ddb2c041d9469daf76db3f3f3e0375672340aa819514bedc614372c354e0a078665475162ec16e1e8a1510472cdd03630bcb917b65b8808bf960c213942f7d1ca2afb26d2a80cba895c5acea9d659c03c4c0226353ecc8be24efa875abf409a14fb2ad774d3a1f3ece5bdcccdf4214ab045934996080604052600436106103d7575f3560e01c80638a8c523c116101ff578063b62496f511610113578063dd62ed3e116100a8578063f2fde38b11610078578063f2fde38b14610b19578063f637434214610b38578063f8b45b0514610b4d578063fe72b27a14610b62578063ff935af614610b81575f80fd5b8063dd62ed3e14610a97578063e2f4560514610adb578063e884f26014610af0578063f11a24d314610b04575f80fd5b8063c876d0b9116100e3578063c876d0b914610a35578063c8c8ebe414610a4e578063d257b34f14610a63578063d85ba06314610a82575f80fd5b8063b62496f5146109ab578063bbc0c742146109d9578063c0246668146109f7578063c18bc19514610a16575f80fd5b80639ec22c0e11610194578063a457c2d711610164578063a457c2d714610919578063a4c82a0014610938578063a4d15b641461094d578063a9059cbb1461096d578063aacebbe31461098c575f80fd5b80639ec22c0e146108bb5780639fccce32146108d0578063a0d82dc5146108e5578063a2657778146108fa575f80fd5b8063924de9b7116101cf578063924de9b71461085457806395d89b41146108735780639a7a23d6146108875780639c3b4fdc146108a6575f80fd5b80638a8c523c146107ef5780638da5cb5b146108035780638ea5220f14610820578063921369131461083f575f80fd5b80632e82f1a0116102f65780636ddd17131161028b578063751039fc1161025b578063751039fc146107695780637571336a1461077d57806375f0a8741461079c5780637bce5a04146107bb5780638095d564146107d0575f80fd5b80636ddd1713146106e357806370a0823114610702578063715018a614610736578063730c18881461074a575f80fd5b80634a62bb65116102c65780634a62bb65146106695780634fbee19314610682578063541a43cf146106b95780636a486a8e146106ce575f80fd5b80632e82f1a0146105e3578063313ce567146105fc578063395093511461061757806349bd5a5e14610636575f80fd5b80631a8145bb1161036c57806327c8f8351161033c57806327c8f835146105855780632bf3d42d1461059a5780632c3e486c146105af5780632d5a5d34146105c4575f80fd5b80631a8145bb1461051d5780631f3fed8f14610532578063203e727e1461054757806323b872dd14610566575f80fd5b806318160ddd116103a757806318160ddd146104b45780631816467f146104d2578063184c16c5146104f3578063199ffc7214610508575f80fd5b806306fdde03146103e2578063095ea7b31461040c57806310d5de531461043b5780631694505e14610469575f80fd5b366103de57005b5f80fd5b3480156103ed575f80fd5b506103f6610ba0565b6040516104039190612f8b565b60405180910390f35b348015610417575f80fd5b5061042b610426366004612fed565b610c30565b6040519015158152602001610403565b348015610446575f80fd5b5061042b610455366004613017565b60256020525f908152604090205460ff1681565b348015610474575f80fd5b5061049c7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610403565b3480156104bf575f80fd5b506002545b604051908152602001610403565b3480156104dd575f80fd5b506104f16104ec366004613017565b610c46565b005b3480156104fe575f80fd5b506104c4600f5481565b348015610513575f80fd5b506104c4600b5481565b348015610528575f80fd5b506104c460215481565b34801561053d575f80fd5b506104c460205481565b348015610552575f80fd5b506104f1610561366004613032565b610cd5565b348015610571575f80fd5b5061042b610580366004613049565b610db2565b348015610590575f80fd5b5061049c61dead81565b3480156105a5575f80fd5b506104c4601f5481565b3480156105ba575f80fd5b506104c4600d5481565b3480156105cf575f80fd5b506104f16105de366004613096565b610e19565b3480156105ee575f80fd5b50600c5461042b9060ff1681565b348015610607575f80fd5b5060405160128152602001610403565b348015610622575f80fd5b5061042b610631366004612fed565b610e6d565b348015610641575f80fd5b5061049c7f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b81565b348015610674575f80fd5b5060115461042b9060ff1681565b34801561068d575f80fd5b5061042b61069c366004613017565b6001600160a01b03165f9081526024602052604090205460ff1690565b3480156106c4575f80fd5b506104c4601e5481565b3480156106d9575f80fd5b506104c4601a5481565b3480156106ee575f80fd5b5060115461042b9062010000900460ff1681565b34801561070d575f80fd5b506104c461071c366004613017565b6001600160a01b03165f9081526020819052604090205490565b348015610741575f80fd5b506104f1610ea2565b348015610755575f80fd5b506104f16107643660046130c9565b610f15565b348015610774575f80fd5b5061042b61103e565b348015610788575f80fd5b506104f1610797366004613096565b61107a565b3480156107a7575f80fd5b5060065461049c906001600160a01b031681565b3480156107c6575f80fd5b506104c460175481565b3480156107db575f80fd5b506104f16107ea3660046130fb565b6110ce565b3480156107fa575f80fd5b506104f1611176565b34801561080e575f80fd5b506005546001600160a01b031661049c565b34801561082b575f80fd5b5060075461049c906001600160a01b031681565b34801561084a575f80fd5b506104c4601b5481565b34801561085f575f80fd5b506104f161086e366004613124565b6111bb565b34801561087e575f80fd5b506103f6611201565b348015610892575f80fd5b506104f16108a1366004613096565b611210565b3480156108b1575f80fd5b506104c460195481565b3480156108c6575f80fd5b506104c460105481565b3480156108db575f80fd5b506104c460225481565b3480156108f0575f80fd5b506104c4601d5481565b348015610905575f80fd5b506104f1610914366004613124565b6112ef565b348015610924575f80fd5b5061042b610933366004612fed565b611337565b348015610943575f80fd5b506104c4600e5481565b348015610958575f80fd5b5060115461042b906301000000900460ff1681565b348015610978575f80fd5b5061042b610987366004612fed565b611384565b348015610997575f80fd5b506104f16109a6366004613017565b611390565b3480156109b6575f80fd5b5061042b6109c5366004613017565b60266020525f908152604090205460ff1681565b3480156109e4575f80fd5b5060115461042b90610100900460ff1681565b348015610a02575f80fd5b506104f1610a11366004613096565b611416565b348015610a21575f80fd5b506104f1610a30366004613032565b61149e565b348015610a40575f80fd5b5060155461042b9060ff1681565b348015610a59575f80fd5b506104c460085481565b348015610a6e575f80fd5b5061042b610a7d366004613032565b61156f565b348015610a8d575f80fd5b506104c460165481565b348015610aa2575f80fd5b506104c4610ab136600461313d565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610ae6575f80fd5b506104c460095481565b348015610afb575f80fd5b5061042b6116c5565b348015610b0f575f80fd5b506104c460185481565b348015610b24575f80fd5b506104f1610b33366004613017565b611701565b348015610b43575f80fd5b506104c4601c5481565b348015610b58575f80fd5b506104c4600a5481565b348015610b6d575f80fd5b5061042b610b7c366004613032565b6117eb565b348015610b8c575f80fd5b506104f1610b9b366004613174565b611a59565b606060038054610baf906131ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610bdb906131ab565b8015610c265780601f10610bfd57610100808354040283529160200191610c26565b820191905f5260205f20905b815481529060010190602001808311610c0957829003601f168201915b5050505050905090565b5f610c3c338484611b0d565b5060015b92915050565b6005546001600160a01b03163314610c795760405162461bcd60e51b8152600401610c70906131e3565b60405180910390fd5b6007546040516001600160a01b03918216918316907f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e743905f90a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610cff5760405162461bcd60e51b8152600401610c70906131e3565b670de0b6b3a76400006103e8610d1460025490565b610d1f90600561322c565b610d299190613243565b610d339190613243565b811015610d9a5760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060448201526e6c6f776572207468616e20302e352560881b6064820152608401610c70565b610dac81670de0b6b3a764000061322c565b60085550565b5f610dbe848484611c31565b610e0f8433610e0a85604051806060016040528060288152602001613417602891396001600160a01b038a165f908152600160209081526040808320338452909152902054919061262d565b611b0d565b5060019392505050565b6005546001600160a01b03163314610e435760405162461bcd60e51b8152600401610c70906131e3565b6001600160a01b03919091165f908152601460205260409020805460ff1916911515919091179055565b335f8181526001602090815260408083206001600160a01b03871684529091528120549091610c3c918590610e0a9086612665565b6005546001600160a01b03163314610ecc5760405162461bcd60e51b8152600401610c70906131e3565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610f3f5760405162461bcd60e51b8152600401610c70906131e3565b610258831015610fad5760405162461bcd60e51b815260206004820152603360248201527f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e207468604482015272616e206576657279203130206d696e7574657360681b6064820152608401610c70565b6103e88211158015610fbd575060015b6110225760405162461bcd60e51b815260206004820152603060248201527f4d75737420736574206175746f204c50206275726e2070657263656e7420626560448201526f747765656e20302520616e642031302560801b6064820152608401610c70565b600d92909255600b55600c805460ff1916911515919091179055565b6005545f906001600160a01b0316331461106a5760405162461bcd60e51b8152600401610c70906131e3565b506011805460ff19169055600190565b6005546001600160a01b031633146110a45760405162461bcd60e51b8152600401610c70906131e3565b6001600160a01b03919091165f908152602560205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146110f85760405162461bcd60e51b8152600401610c70906131e3565b601783905560188290556019819055806111128385613262565b61111c9190613262565b6016819055602810156111715760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420353025206f72206c6573730000006044820152606401610c70565b505050565b6005546001600160a01b031633146111a05760405162461bcd60e51b8152600401610c70906131e3565b6011805462ffff0019166201010017905542600e5543602355565b6005546001600160a01b031633146111e55760405162461bcd60e51b8152600401610c70906131e3565b60118054911515620100000262ff000019909216919091179055565b606060048054610baf906131ab565b6005546001600160a01b0316331461123a5760405162461bcd60e51b8152600401610c70906131e3565b7f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b6001600160a01b0316826001600160a01b0316036112e15760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b65725061697273000000000000006064820152608401610c70565b6112eb82826126ca565b5050565b6005546001600160a01b031633146113195760405162461bcd60e51b8152600401610c70906131e3565b6011805491151563010000000263ff00000019909216919091179055565b5f610c3c3384610e0a8560405180606001604052806025815260200161343f60259139335f9081526001602090815260408083206001600160a01b038d168452909152902054919061262d565b5f610c3c338484611c31565b6005546001600160a01b031633146113ba5760405162461bcd60e51b8152600401610c70906131e3565b6006546040516001600160a01b03918216918316907fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b05674905f90a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146114405760405162461bcd60e51b8152600401610c70906131e3565b6001600160a01b0382165f81815260246020908152604091829020805460ff191685151590811790915591519182527f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7910160405180910390a25050565b6005546001600160a01b031633146114c85760405162461bcd60e51b8152600401610c70906131e3565b670de0b6b3a76400006103e86114dd60025490565b6114e890600f61322c565b6114f29190613243565b6114fc9190613243565b8110156115575760405162461bcd60e51b8152602060048201526024808201527f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e20604482015263312e352560e01b6064820152608401610c70565b61156981670de0b6b3a764000061322c565b600a5550565b6005545f906001600160a01b0316331461159b5760405162461bcd60e51b8152600401610c70906131e3565b620186a06115a860025490565b6115b390600161322c565b6115bd9190613243565b82101561162a5760405162461bcd60e51b815260206004820152603560248201527f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60448201527410181718181892903a37ba30b61039bab838363c9760591b6064820152608401610c70565b6103e861163660025490565b61164190600561322c565b61164b9190613243565b8211156116b75760405162461bcd60e51b815260206004820152603460248201527f5377617020616d6f756e742063616e6e6f742062652068696768657220746861604482015273371018171a92903a37ba30b61039bab838363c9760611b6064820152608401610c70565b50600981905560015b919050565b6005545f906001600160a01b031633146116f15760405162461bcd60e51b8152600401610c70906131e3565b506015805460ff19169055600190565b6005546001600160a01b0316331461172b5760405162461bcd60e51b8152600401610c70906131e3565b6001600160a01b0381166117905760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c70565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005545f906001600160a01b031633146118175760405162461bcd60e51b8152600401610c70906131e3565b600f546010546118279190613262565b42116118755760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e6973686044820152606401610c70565b6103e88211156118da5760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201526906b656e7320696e204c560b41b6064820152608401610c70565b426010556040516370a0823160e01b81526001600160a01b037f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b1660048201525f9030906370a0823190602401602060405180830381865afa158015611942573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119669190613275565b90505f61197f612710611979848761271d565b9061279b565b905080156119b4576119b47f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b61dead836127dc565b5f7f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b9050806001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611a10575f80fd5b505af1158015611a22573d5f803e3d5ffd5b50506040517f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb92505f9150a1506001949350505050565b6005546001600160a01b03163314611a835760405162461bcd60e51b8152600401610c70906131e3565b601b859055601c849055601d839055601e829055601f81905582611aa78587613262565b611ab19190613262565b601a81905560631015611b065760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420393925206f72206c6573730000006044820152606401610c70565b5050505050565b6001600160a01b038316611b6f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610c70565b6001600160a01b038216611bd05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610c70565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611c575760405162461bcd60e51b8152600401610c709061328c565b6001600160a01b038216611c7d5760405162461bcd60e51b8152600401610c70906132d1565b6001600160a01b0382165f9081526014602052604090205460ff16158015611cbd57506001600160a01b0383165f9081526014602052604090205460ff16155b611d235760405162461bcd60e51b815260206004820152603160248201527f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460448201527072616e73666572696e6720746f6b656e7360781b6064820152608401610c70565b805f03611d355761117183835f6127dc565b60115460ff16156121e7576005546001600160a01b03848116911614801590611d6c57506005546001600160a01b03838116911614155b8015611d8057506001600160a01b03821615155b8015611d9757506001600160a01b03821661dead14155b8015611dad5750600554600160a01b900460ff16155b156121e757601154610100900460ff16611e43576001600160a01b0383165f9081526024602052604090205460ff1680611dfe57506001600160a01b0382165f9081526024602052604090205460ff165b611e435760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b6044820152606401610c70565b60155460ff1615611f88576005546001600160a01b03838116911614801590611e9e57507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b0316826001600160a01b031614155b8015611edc57507f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b6001600160a01b0316826001600160a01b031614155b15611f8857325f908152601260205260409020544311611f765760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610c70565b325f9081526012602052604090204390555b6001600160a01b0383165f9081526026602052604090205460ff168015611fc757506001600160a01b0382165f9081526025602052604090205460ff16155b156120aa5760085481111561203c5760405162461bcd60e51b815260206004820152603560248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201527436b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760591b6064820152608401610c70565b600a546001600160a01b0383165f908152602081905260409020546120619083613262565b11156120a55760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610c70565b6121e7565b6001600160a01b0382165f9081526026602052604090205460ff1680156120e957506001600160a01b0383165f9081526025602052604090205460ff16155b1561215f576008548111156120a55760405162461bcd60e51b815260206004820152603660248201527f53656c6c207472616e7366657220616d6f756e742065786365656473207468656044820152751036b0bc2a3930b739b0b1ba34b7b720b6b7bab73a1760511b6064820152608401610c70565b6001600160a01b0382165f9081526025602052604090205460ff166121e757600a546001600160a01b0383165f908152602081905260409020546121a39083613262565b11156121e75760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b6044820152606401610c70565b6023546121f4905f613262565b431115801561223557507f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b6001600160a01b0316826001600160a01b031614155b801561225e57506001600160a01b038216737a250d5630b4cf539739df2c5dacb4c659f2488d14155b15612283576001600160a01b0382165f908152601460205260409020805460ff191690555b305f90815260208190526040902054600954811080159081906122ae575060115462010000900460ff165b80156122c45750600554600160a01b900460ff16155b80156122e857506001600160a01b0385165f9081526026602052604090205460ff16155b801561230c57506001600160a01b0385165f9081526024602052604090205460ff16155b801561233057506001600160a01b0384165f9081526024602052604090205460ff16155b1561235e576005805460ff60a01b1916600160a01b1790556123506128e2565b6005805460ff60a01b191690555b600554600160a01b900460ff1615801561238f57506001600160a01b0384165f9081526026602052604090205460ff165b801561239d5750600c5460ff165b80156123b85750600d54600e546123b49190613262565b4210155b80156123dc57506001600160a01b0385165f9081526024602052604090205460ff16155b156123eb576123e9612b0c565b505b6005546001600160a01b0386165f9081526024602052604090205460ff600160a01b90920482161591168061243757506001600160a01b0385165f9081526024602052604090205460ff165b1561243f57505f5b5f8115612619576001600160a01b0386165f9081526026602052604090205460ff16801561246e57505f601a54115b156125235761248d6064611979601a548861271d90919063ffffffff16565b9050601a54601c54826124a0919061322c565b6124aa9190613243565b60215f8282546124ba9190613262565b9091555050601a54601d546124cf908361322c565b6124d99190613243565b60225f8282546124e99190613262565b9091555050601a54601b546124fe908361322c565b6125089190613243565b60205f8282546125189190613262565b909155506125fb9050565b6001600160a01b0387165f9081526026602052604090205460ff16801561254b57505f601654115b156125fb5761256a60646119796016548861271d90919063ffffffff16565b90506016546018548261257d919061322c565b6125879190613243565b60215f8282546125979190613262565b90915550506016546019546125ac908361322c565b6125b69190613243565b60225f8282546125c69190613262565b90915550506016546017546125db908361322c565b6125e59190613243565b60205f8282546125f59190613262565b90915550505b801561260c5761260c8730836127dc565b6126168186613314565b94505b6126248787876127dc565b50505050505050565b5f81848411156126505760405162461bcd60e51b8152600401610c709190612f8b565b505f61265c8486613314565b95945050505050565b5f806126718385613262565b9050838110156126c35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610c70565b9392505050565b6001600160a01b0382165f81815260266020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b5f825f0361272c57505f610c40565b5f612737838561322c565b9050826127448583613243565b146126c35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610c70565b5f6126c383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612c91565b6001600160a01b0383166128025760405162461bcd60e51b8152600401610c709061328c565b6001600160a01b0382166128285760405162461bcd60e51b8152600401610c70906132d1565b612864816040518060600160405280602681526020016133f1602691396001600160a01b0386165f90815260208190526040902054919061262d565b6001600160a01b038085165f9081526020819052604080822093909355908416815220546128929082612665565b6001600160a01b038381165f818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611c24565b305f9081526020819052604081205490505f6022546020546021546129079190613262565b6129119190613262565b90505f82158061291f575081155b1561292957505050565b60095461293790601461322c565b83111561294f5760095461294c90601461322c565b92505b5f60028360215486612961919061322c565b61296b9190613243565b6129759190613243565b90505f6129828583612cbd565b90504761298e82612cfe565b5f6129994783612cbd565b90505f6129b5876119796020548561271d90919063ffffffff16565b90505f6129d1886119796022548661271d90919063ffffffff16565b90505f816129df8486613314565b6129e99190613314565b5f6021819055602081905560228190556007546040519293506001600160a01b031691849181818185875af1925050503d805f8114612a43576040519150601f19603f3d011682016040523d82523d5f602084013e612a48565b606091505b50909850508615801590612a5b57505f81115b15612aae57612a6a8782612eb4565b602154604080518881526020810184905280820192909252517f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619181900360600190a15b6006546040516001600160a01b039091169047905f81818185875af1925050503d805f8114612af8576040519150601f19603f3d011682016040523d82523d5f602084013e612afd565b606091505b50505050505050505050505050565b42600e556040516370a0823160e01b81526001600160a01b037f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b1660048201525f90819030906370a0823190602401602060405180830381865afa158015612b76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b9a9190613275565b90505f612bb8612710611979600b548561271d90919063ffffffff16565b90508015612bed57612bed7f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b61dead836127dc565b5f7f0000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921b9050806001600160a01b031663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b158015612c49575f80fd5b505af1158015612c5b573d5f803e3d5ffd5b50506040517f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d92505f9150a16001935050505090565b5f8183612cb15760405162461bcd60e51b8152600401610c709190612f8b565b505f61265c8486613243565b5f6126c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061262d565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110612d3157612d31613327565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612dad573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dd1919061333b565b81600181518110612de457612de4613327565b60200260200101906001600160a01b031690816001600160a01b031681525050612e2f307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611b0d565b60405163791ac94760e01b81526001600160a01b037f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d169063791ac94790612e839085905f90869030904290600401613356565b5f604051808303815f87803b158015612e9a575f80fd5b505af1158015612eac573d5f803e3d5ffd5b505050505050565b612edf307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611b0d565b60405163f305d71960e01b8152306004820152602481018390525f60448201819052606482015261dead60848201524260a48201527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03169063f305d71990839060c40160606040518083038185885af1158015612f66573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611b0691906133c5565b5f6020808352835180828501525f5b81811015612fb657858101830151858201604001528201612f9a565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114612fea575f80fd5b50565b5f8060408385031215612ffe575f80fd5b823561300981612fd6565b946020939093013593505050565b5f60208284031215613027575f80fd5b81356126c381612fd6565b5f60208284031215613042575f80fd5b5035919050565b5f805f6060848603121561305b575f80fd5b833561306681612fd6565b9250602084013561307681612fd6565b929592945050506040919091013590565b803580151581146116c0575f80fd5b5f80604083850312156130a7575f80fd5b82356130b281612fd6565b91506130c060208401613087565b90509250929050565b5f805f606084860312156130db575f80fd5b83359250602084013591506130f260408501613087565b90509250925092565b5f805f6060848603121561310d575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215613134575f80fd5b6126c382613087565b5f806040838503121561314e575f80fd5b823561315981612fd6565b9150602083013561316981612fd6565b809150509250929050565b5f805f805f60a08688031215613188575f80fd5b505083359560208501359550604085013594606081013594506080013592509050565b600181811c908216806131bf57607f821691505b6020821081036131dd57634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610c4057610c40613218565b5f8261325d57634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115610c4057610c40613218565b5f60208284031215613285575f80fd5b5051919050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b81810381811115610c4057610c40613218565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561334b575f80fd5b81516126c381612fd6565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156133a45784516001600160a01b03168352938301939183019160010161337f565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f606084860312156133d7575f80fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204b2e5ddde259843cfd35b1a14feef733eddc9cf513b2518e487d7e3f31b2534f64736f6c63430008150033033c3183bdd2e90a1ff4dd91d2d5745ff1924158525b8107fc268318b37bbd2bde03eff30769f75920a94a49f893919088094d4ab42f812a1c0d90c5fd01d12a2df00305525b262ba89fd08b385d22b7416830c5965bd33b73793473188e0101c57ce2005820034266eb4362e5beaa5d5c11eb98022ed6e02536568a09ac1bcae07bebae2b904603e0146b5f4403bd37be05b32794e4600444aa798e74972c6ca10ef006c4ee917ceba1525c2a4c005820037e50c1456ba056573878a6906b7f65331f0f5ec68287c7a4bb902678eeb1304d016392321bb4fba3dc89d3950c005820039f024faf7124f0daece5d7161f2c3817e3cdc692f2b5ef9c78320a08add2304d044ac936f0eb2281db8e9d801e00582003840f24a15ccb6bb47ba51024a96380b350963200fc3e537fcfa904a1eb24a04caac9a931dada27a4598118f1021930310391a89c55a746c26e57aa470a8c71d3d9a9aa5bad25670eff227ba9208f0aaa67033acf0a040f01760ba7acc654365289e47181280f5c4b8d240ec975fc656cbdf6039a8d938f775e1d231a3f18eb61a73eefc13121211d0db3346d81dd80d90ceb1e036012de0c94e64cd229c3a1f0e0b6d5ca3acbfad9cf69d3f79d833a4ead147b4d038ed7f45cb34bd80bcc2eab0bd2e49cc611e0dcd5cb953647250e855aa0646c2b0304200126303dcfe4173275e8545ce87564a5dc5ee4301c25abab80e06d3d8a27036fb3ff4d1bc3e399edf69c548d8a43de5c35c8a3e221870623630c12edb0707503cb01c9c7e1246a78306a5073d916cb1bc8da4068585b37cbc1dd01e9f4565c7c03948d69d58dfb099c19450d0ca6e6d7f1b2f78182ef6be0a7e535046b736d314e0351807b02fe38592608f1a1e242354936a4a92f36df0bb9b5b77592aed14950db03e56d502d5fd46eca159e188965cae009d5572276a9707ffb9c902e2cdb7f29e3035a3910e8931127cdffe29d47952ec5e24d1ba79f4b703c03c12fb8a294c75e560219ffff0307c1899d5168426c1574ac180d40ce45ce133fa432c753326e5091669fd17ba3032c1377698531e272fa4de0255238a8272bed1283d95b69e6c8d273e635d6209203353ff8df5a420e079f52398e5315b9170dd67b4ba229f706ed05e7ac9808ac050058200390a46916643754b373f771d414054b6b55f82207e42d2ac460dd800e1687105820fffffffffffffffffffffffffffffffffffffffec6f618d53549ef0a7dbd6c73005820038774ae8add891547fa4f41121aa10ca6054b1e7a7a94b608cb9c28bcd87cf04d01bb0ca01a7a67e3031899c1d5005820039407801fe15d46f0f311fc9b05fe22f6ea8183a7be19e6f1b3c731565823f05820fffffffffffffffffffffffffffffffffffffffeb2abe805936b600d8289f678036f8122e152179d644e5fc29a32cdb828fbb7b2ef25aebc6c47ec249d85de82b600582003877e9d1cca95586a62756799a59e75cc21080bab2607c335468ec2c180b8804d0b246cb4d8dff299f01182684f00582003f2a10174c960a4bc954db4b588bbfb9dee552a10b2a00b4f088e9596ad5df05820fffffffffffffffffffffffffffffffffffffff636e683b29b12718dcb7e4d100058200372ebc463bcc547af5dba98347e8eee7254cae662d46303bd10d6eff177bc405820fffffffffffffffffffffffffffffffffffffffffffffffc2f8f10c88383ffff00582003a67165440457fc95e3b1b2e080b215f783f9ab3b1aae1680b30524c4a467505820ffffffffffffffffffffffffffffffffffffff878e065659e8f63c232883117e0219e6d603d78fb1cac5061a99a2da8d50560e7b7aa1c9c8f06df8bc95704db04b4bed935203aded1c830f230ffc95548526ea5b6648e8c415119e1d8adaca8249a2cd92014b035b41f80f0acd5618af3a388ff4052a1173513962db8c17e30799313ddd8a4db10318a8ceaac07b144e2af5cfc0db2849383d015b11ef7545f7b8da8dcef9ed43a8031a7fe3d1724022f82d0f81fc93f3964e4397412041704365a9c328f5972716b803ac802a58aa42ca1a037505234002129618d69c1ab80381fcc02ea74c5df785470399dee86c196e9e53ce474a915adc09a8d3c3949535429edcba3ffd317201ca9b032c3137e27480b6306f0dfdca893bb10974fa18fa1583f55a086ce3c53e9901170398aeec15c29069a230678395ff7fa030314322aca548cd022a3700d5907115e4039a17aeb0978c952567faba73b2d0da38da19e00c113a2dc51d11d87c0f588e7503136379c3ee39b9c20993deb1287cce2ea662e6d76e717d0344ce71c043a7387803f6353a86242255923cbf774b6991ad1286c54ada03d91de6c1a3ec9236c7b155038ccc57411f3f224995c49512a00c17f782a78f47a772d76ff1f2fb7e8a8fc6a6033d3022f10e45b88a34e34950ef4859f31bfe823ca8a72d02b3c59b41c20195410219ffff037d68c22d1d6d8f8450b4a989dd7fdb8768fa8d8ccb8200aa9890e5014002006c03cb4336d23293eda3ce97aba7212cdfab8e2c4dc0f424a1592797a805b4d894f003dde9eaba4eefd4145a5cf7356e1184676c3cde389456ebe829c5bb5df281bdbe0343dc8fc8af59e8aafc8a74c977f1bdb9a2f35ed0cf1d9de60d071d98cab5415c0323a429bdc8ba84213cca5e72627f0beb76192d43c6f96627429a6491373d2edf0340fd7286a455088297004196a25743e3166ab350f663220a079caaba3b01760b03c7393007a8f0d99cde06e1d2989969ffaa73a531a85d5f111e3d7b5003379f2303d7c0074def420cd255a6475cac94ed2deba3e023f8c2cdd2b8709357aabcceb503c428c5ee527ebb3f5ac597744a370e37f1995854f6c2b95adb7d7285aa0bd1e803a4ed005985c6a2e503e079b02d3f22375604583e2fafdedd71571f2c8770328d005820038fd8c661c08515c817f661f6373058fee5f930946c2d5e4f00d2ea9c1604804c172650b780014b2dc393070800582003dd22f26ade0ba891cd4afc505931d6886d7a0839fe06ef5d58e97d2c553120440134c88100582003570891fe85aa8398cc2e7267cb360afa262218099d33524f00194651a092705820fffffffffffffffffffffffffffffffffffffff203e3d6793d10fb7c9d8dc95b00582003a5e357cfb45720e03a480ffe538891494f96e69f1479299b205ed923584f905820ffffffffffffffffffffffffffffffffffffffff075f27d27f2b1a6bdc2cc294021960220376ef26ded257a88fce56bceb33cca6854dd7ca562e77efb3f04137b2379ad72103c12fe67cf35d7096c48ab9be54884a6134ff8e65386b8028db21bfd6d79ed2120386f346912cd1452f7a2fe39af93e9be297fddf47aee701948272d673514fb45b03ed66ec5531fd1af219e26d2bfc6b67b1a455cb4f5fe9906eedef30d62ca1521803f3fac5ac3e52674a425d9a0547f96a0865cd9970079909809e5ad363bcbfc29b0219ffff032b452ee0efdcbaa905dacbeb8733be62deece054c454ced98d90099d5a0da1cf0058200316ea9e70e5d403a94eb94e5efb133368cd1f6d927209c313cfb9e03f4f7cc05820fffffffffffffffffffffffffffffffffffffff9ba61ddd236485bb28d139cf3005820032678f1c02bbb6d398eca5ccbeb864e63a37436e0d82b49b69f2de4791433905820ffffffffffffffffffffffffffffffffffffffff5e70f828c7e29c467885bc6200582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680440101010000582003bfdf82fd2314f348cc9f9d70b98ccbdecc5ef99bb8ad02806970db840fbef04d2e5b90f9d9f5f1a08f564cc40c0219c0a0039f0c7a4ae3bd31453072f5dfc46af83539e4c7099aa96301e1761ace12e51b84037e022a5d9c0aca67110e8a39a4ca023118f35ae927e819c712d815141b2c77d503b2c5cb98a98020600774b81e7234d6430241112ca64a54c151abf2f014531a5d032c9991a94c427ed7b7a07d4578e4232d249778a82b19180b45f9a258c6c712c1036dc15b5c2516518c7f0f2dd53373a53609d713d58a5694f9c4b58e599364ba4203a642a56e9f365b2db29ad3f3459390dc007a700849d4c39e71cefd6ecdebf53903b53c5348faf3d904f3d927352f302327068671289a0a4453fc9c21b92193e025035d1e691cd90156f51db33221a0b8a317c18f1c6bcc14d17d2a7440882be321e900581f02b9b520fbd6aebcfc2a5f82cccbf094c61d049acddb4ebea43a120123bfd04e014875b4891505c7def32f4a893103f820a22fcc10432213996d6e6d32380bb6cfe4118f2edf750708e937e90f78e3014108020c036a0564f121fd6ab7007b96629efa0078fdeeb0baeb85ed7b51fa7841e05ccce301410700582003fc23e3877289a3f1a838476b45e5122a927098230dd88f99090692b6dade30440134c882005820032b1f1c7ae4008ee85f4cbde1dd4b4d77b8f62db4bac98360802d203cff52205820ffffffffffffffffffffffffffffffffffffffffd887240a82d94b16a2ce0266005820031cc2e80c1a5df07372dc4097217b18b04d48ed3e4fabaa0c544d7db58e67904d076a08e890f040f82679e368e500582003a2c05d225a98dc394f237513dc8325ce1d22dacef0dd05f7627216c49cb7105820ffffffffffffffffffffffffffffffffffffffe65a78aa1fc87d62a0867fffff021954980321c065d3e4baf0ce62e8369d4d58482ef7bba1414df7d357b8ac5f97ba8af048005820021e016c05fe39891766c1937031fe4a29841cddf31bcd11884a438e897349965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c779a2ffd1fc6b930086c246a7d7369d6ae1c2013015ebdf8246df528e27ff51036d717f4f56574ba933b8fffb53ebe30e865481a9640bba7ce3f7b850a59a8d0a03e40532ed8f47b7416eff1e366e13c8a5d60ad56d830237c66463f49fa7a778a40219ffff03021be1492ebd3d14dbede833dc6a13705d5092952603da52d7bbfae88575f2d20331831958d5182ed09745653c6f5694996d2995ab994a1927918191ea5e4fd292037e91b2b46a462959fd96ef714511b602a22150b3bda21df1b7757e195e08e9e203ea1219b97db12e2fd7eb09fa18e781cf6ba7e62907d0fadbe2df245f8537be23037de6856e8cd0b08c04c6c97a39bfd1ca286b8a6f844ef0c9a0c492946f86091f03bfb097eb1c24a0297c6ae18dd2a16237f5590aa904ad07a64f0f670b7739abfe039b0fa7bcbe690b2322509e777aee605bcec9bc5ea6e178a59264afb9ca3b28d3038c7ab8612f2853230dd6b8409d0a01aeccf544d92918f50a18d44bd3f2f33ae8033ff9e03431e0f527631285e5f4560d8e939b87655a182cf4afdbc1481fde96dd033f371ce4fd50c7600e913eb29c718cf02288e072c92dc845463b0068d98921b803d9a91c010ebe82d1d6e43d47819de80719f816ce6fdc508312d51873435c4aae033fd170374f5ce3f3a2083bb0dc7b982333fc7ea6717640a2e64bc78907f1107f00582003b759b3b59c1579c656f164ba849e1179b3da2da609384cc41b32b93428a4904d17ca275f7f223d8bc8c97a41a0005820037401c188246baa7d067763ecae17564502e92beec23d02331f2dc85c530ad05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c78515ec9118ef3aa39bf44aee0242d762fa8a7a88466fd97d0c2ae94d72604cd65bf34c9a69b102df9e401a0331dd564d7eebc27a6bae16cb2b0d1e3cafd9d7adbf5cb3ea7c609a422738ebd602198106032c16ccba43d74cbdfe285553f2566142b64f2e44c3b3c8ebdb7de85f3eaebac30300a04c40997f4200abf1fbf7ee3e80c97a2c0c83124e664391a2f789d601a80103844cf9c51627dc977ba4398855d6b917a6aeaaa072f86eab54d0264f8636e9c103354e341efdb3e8210a421ded283b4f5a3a05d3f121a9fbe061536df6fc3ef31d0219ffff039cf5750d2e6b2794a97352399402dd092e83b435b214db0892358b8e3495681b03f3eb085c392f7896c81d81054cfb58aea85e5ee105b5cb64410a9f7c8f9dc9ee03f01baaa04798b282f24b11bdbed27316eea6de86c0226e9d97e083f4f85b0f05034271c11adef27d91e69ba3d9c1fd4b663fef9468dc6f6ef57d4f6b4e7da487ad038b801e6febe4071b813fe2fced1021812acff98fc54b0583261483eeeba13add038e962617c861dc02b01052749cf8043d47ebbfe3973a49d12675e1c226c82bb60338d89acf3d3b4983640e8310b5eb68ddd8482906c36ec7aa586c58ebd030771103690c2b751d862b78c2a1a6f9d97fd58d37aeb3a25d523e39b0c632ff5b46ade1036ed195336dea650c2ca0f5cb4fd9da44f3de0e57e6c286047c755bd0d8809053039d7e36328637b6169acaf3bdc38470985a7af2601b28d8d8901ddc525753801e034acea80a1b91b6b7939605c7ea5047bbb5c6e31e37793a2ba343deecd94dc01503fdabf2e0dc30f8b7b49d7548b8586e578ec3c28f7914c08126b27d22b81e807903f004cdbe4827f83c430035c8c3e0db7c63e3ee462eb0f9b86055d832fa39174b03324f8b74093123f6cf67e3c4802f4898c057ae6a736a193bba79b8a40ea37ea600582003ad98e28ea627cb96764289e3b1d7f66f5ae4565b09f7590052b97b8ac605905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04d02a7a94e5292bb5e3449000000039fea358567d493cf47285150aa0680edfd28b6718fe6695a80db9a5960402e2401410400582003a59aa1c4d358b28d673f612ec3defa07d998927b93b6be43298958aebe34104d014e46dda4ad5e791a25ffbb42032cb6a5d65efe27c9029a6c524ecd333763184dcf780983218b3e15b1767a546303fc941c34825d82f97366b23befeca9f76820e709cc0895082d8c9d49dad421c803f5798524c489972d7345d50bedd46da43c0d8156b98bb3396578757f1349a6fb02197a0303812584eae8c93830fcc2aa3513834e719d7be332be02ddc21a6e7c2306456e180219ffff03278850806f46e9a0aa68db01db2e14fc07fde485776189f2468fa84505a8087103fab625868f8615ccc90991990e96454104ac1e827eccf2defeb9db075d87ded3033e7a5a6b8a6b45f26af390dd9b630475f6dce5f8f2097f360b173405b396edce005820039457203ddb6f864dfe141555345187fcd4973f23580bde3a1a1c403209f9204d01431e0fae6d7217caa000000000582003c64f8b73d027d00250d61b7262702145a91c05ce680b239712e6b9d259caf05820fffffffffffffffffffffffffffffffffffffffe80c3ea5552087f051453ab760058200329f0cebf6930854c39421692c8517915c9ad8cb263c63c1a75713b0677deb0440134c88402198480038fdb0d82821dfdc76b0d07d29055e9e5133c8090640b08d8657f04a4a093592803610a374973e6ba3905fe7b3ed02597a513249f40f0be43691eb0eb797041cd370319d41346bb01ca2293434add675eb5919abecf07499e31e4a88016c213172fe203658cf1ee6263cdb7012edafb15fd4876cac75b83dcbede9b75b7d991236d720103b14d322daafca57c169f031dbaf2c5ce307010a5eba9d14db1089cc73d9fb06c039361e8da7a2ffea6cf148c7e839238f87691ee9953cd5b1e381cd8efb394584d03d80fc74d2c067453128b06812d9735b36639c359f2dadc244ecd1f1582e0a0bc03816b4164d50994e6862e86ae8cd16b5f270bdd6443de3c4d6d09622b61a95fd803c452b0b851b66983cb298d3f8a632a0535dfef0594450c127ffc1c9e4d16ca6403e0f458773dd810224325c0e07daf60e443d60227160cd6f20735acb515f792f1032e42e5ec0919040e7de2f0af4cdbdab2d44eb9b3d566cb048a92d738f5d8c99e038ce8441a5ef620ec02415dd8cb4b8357dfc176661c349ecc37dede2ee925a7400219ffff0388a4f16fe59094cc14229efb21106ad9dc86a9d44a203fb962548a28614e95c800582003a6f85ff2408b32a6cfa8de00b93dd377f9f09f00571382df430351b02f6ae05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003173b0f3082a1719c5ae882926db747478915d30946c3485af15a6fd3e123505820fffffffffffffffffffffffffffffffffffffffaa0040ff5fd4408958fbfa8cc030be9771c3dd0cfd27e02714ca1c25aebefb60cab40716aa9475691bb92d286820058200326f0c2684846ba9afa7eb83e381a0f5e0e679284e1d1271f74d9843e9dc9504c710335f0590d48e987ccd03c0058200349459e18840a869aba0aac95c9446ef8d966c6f65d06311dc2d6bb01315c705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219a6040326f2bbacbdfcef42f8707291823bf205b6b82ae65b444300fed3f48caf57b81503fd18f874f32f9bd7bf3e2da3016677281192988cab90f6a274ddd8b820051db9033ba6a2fc2c8e3370f04f6cb7a67527d1d1f3e82e61f5866c4db5086fa544275003f5eed0374da9990d951424c133ebdcfad0db96e4b5bb9380e1b8fcad3e26f5e503edaa600ec1315ff33c09a949ca00a68b0a16a653018ba752829024c24d78074a0316037c9d759ded0b7f2fe7820e01bdd0fa7c6e045cf16e5ef065cdde59d1089603999849b9e9b44f10b1fc9db74c95c2798f2a2a07523825e5875dec0daf9eefc503c38bc2d99d043ed10a62941cd8b2dc152cb61e358b021264afd3c4ed3c1b118c036592d93548f1007bfc91a78b4490646cdf21b7d36d85aae8f9298a443de272e80327917ec91e9f3bf030012c2fff9778410b90b9659fd705bc7f3440c27c4b462d039998837e43263d1129fcd60e735f362c3eda756a8668dc0922cf871aba655ec200582003176cf57066ea3941253dd9237f77eaeab35fccb4fdc0724eba8ba90ab8cbf05820ffffffffffffffffffffffffffffffffffffffb77a43e0aa617df7716f29784003b246c1064e77a19326c286c3e3765daa760ebb6eaff9681311175bc5e0549cba00582003607a6105691448625d8a8e7e61e79d6d2b0d8eeab5a87af75653c6934f1d105820ffffffffffffffffffffffffffffffffffffffe397d161b53fb34cff05bf3bd6021990800385488903ed287559ddfd138e09b1f63db380d9220cd505929d592e4fb1087ade03e6786f873ef519fe48587e3f575adcf5b3fd6ba79b14064e4c1322475e46a26b03665e0cd7b8165dccfec07a192b4b4ba9aa57a341afd2b1fb233860286a8e07a80219ffff0351bdd2c7c34ed5dc97d029d2f40a2ee2ca5508669b067bc52f2de3f0364243ff03f688e97057e616f96391d10aa98b1161c24ffb56a080182d42dd3f761c16229403fc37d40ec1e707c7546bdd626ba28387260f204bf27530a69cb7746de4acc1ca036aa4f60790711a36d8dd32b5e99dc7c72d5b7d6ce265b318a513fba8d1d9ebbb03bca44d5b5b388b72272b17f32bd70bb5c12516ca4255dec36d49f7c0363038a1038ab017c65c427d856d9c0155d35fd969bc0d4ea412529f0fd21c1e6b909eb8fb031db6da84207dc29bf958cbeec4803117904ebda77ee275dba5fbb76d609fd6e1034aec5806e5d190c531624ef3da8e8386b29037d7727f5401e360ae07ea16cd700306f433fb068cc9b8f746f963dcb71046da7c106957107fdfd601a9900008979c00582003cf0f3220b8c87ffa9b678325b53b636516361d1350f9ebb0126512c92fddb0440134c885033544b69f4a28be098fc607e152c7dd669738a9ed19be4649b8c65e719347d9f200582003f57ae04751357cb3908e8cb62c1b6460ccbf0d718d7f924ab9a878700d9bd0440134c88000582003f9eddc30b2bf8af4b5f90b97e51ce8303cb141f35f60e72bd0e17e02e724f04c63d497b594929ee202c488f800582003a22e38ff086ff9f66184140fd0b74505a65c6de2db6cfb83b09f83a61bfc10410100582003c90348d2219709b537e92a313e6dff6521b58f7ffa907f4b2aa85a00911d004c186d8ae5a27dcd3400f144aa00582003acc2cd6d75883cf4fea163d2bc80cc71e4164a067514180766617500b665505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c383030d988fe2020429ed587affdedb6646ae6fa2f8cb0174f97e87aef75e712706d3031d5e591ef0e246fa2778cdda5b58a5421d5fe53e66cd1f9bee732e86c18a14d5035c5f9e3c534ec78368181e511a9ac159d67b0db98a6b8d59527fc42a3e55e49c036d0aeed7f1b022f3ea79577fde585b6df8cb86681dd9105f1ae0efefe1a9981803c23f00663fc634bdf215bb75b284e223d0d2c3bb6c62c497edf6c4ddcf615d7903f7bd3c4bd225498c0d3ddbec85668faefcd3b46a23cba039a5b32f462f3dd9ef0219ffff0338dc35a7e470433f2a0b245cc343e7f2f2c47529304d43ab94548ad7bf897b650384309e93924d8b4a05b1be75df18c4390124aee924f34b37831317ab4cddf17e0307d790e16b5f43cf818e38dfff17dbbfc5f94c7279e040140a4ff6d1eeda2d2d0310846c5a8b5c91286ae3519fc7f1c1739855b3b0039df44b3e9b1441e821cf7d03eb06bc907aee72eab25834280c43d3a97e4c3eb20575f8d1abbca4ee432dc019034fa42a6417fa3323ea009bffefd0786138e671f6ea3bb61a646aabc2e45a40ad03e9bf2743f1eb348184d69b2a2c5e5ae90685e8e986869f39bf407e0f595a00950058200345f8900a868c765b36aa9fee94e1504fda4848cc28167edb3d5e6e10108ca05820fffffffffffffffffffffffffffffffffffffffb95d3805bc306c4fe745bc57303511f36831b3b55dc9106acd1c7c5932e0987553f16f32ba0a5d752cf85a972b000582003c5005f54beddf5d9e14bee0dfbeff46ea835a537aed29ae599414c3bf17f505820fffffffffffffffffffffffffffffffffffffffce564a6589f487f63cf7ff251005820039db5469f28151fdfd15867b32b5bbcdb229613956d404f637c520f791535505820ffffffffffffffffffffffffffffffffffffffc83f1c9339f6a145b602ffffff021932c0030999fe2d301ba4dd2d959572c1a5f5e1ce43ab5cc4c165f9ef24540507372f0f03d08302285f33818b44aa16a5451363c9cadacd95450b4b69bcbfe60c7230004900582002d3b6c3e906a9f7cdea75d35326096efcb81b98d0b09be07435b52aac8926885820fffffffffffffffffffffffffffffffffffffff3b31394b12394ce3f40139bdd037ac03a46f224ef8d7c5bad917c2f9e0437028e0279de5ff458e571a0b4fb6c5f00582003c97a6190ac903674f4e722ce1d9378739f5b145648f1012456ea4ab25cac605820fffffffffffffffffffffffffffffffffffffffee9dac11cf4c72f6cf83d719303807bcd6ba138d843c9c1db4bb0dfc8ba0d319510036f8f39730acb38c26b635e00582003c93b86ae52aa3ca97d46847ea7e09ca1057dc4eded8b3af5c04906bda095c04d0b4bae4c27e30ee43c38cb950600582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04466872fb70218960058200320659d2495eb2cf99aa0ba9b05ed9881363045188cd47dfc29d7df924c3fe04c1fe518989a32e1d536c6f2c200582003ca1137e7261b9794ca7fab0693a753b6fbb66d002b2ec9c845b22a4af6ec404d04a2eb8fe01fa5e824c26e30fc005820034960b8e1df2fbb0edb2b49957396a495826e8bc0dcdcee75bd24d6c145c2a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f7ce32339fc476519812644e959bf5251f0cf039523cf6c399954e876b80e04d039c6f1caf785bc0172baab5ae0219202a0364ab5d3f4d00ba73ed3febe1b2cc0e683a9c811dd7d9998f1187a7632ed5c99d03a524262a98be666e5f7396564869ef005f0f41e73180c2188a8213e16845587c03709c31963351983aaa68f89c0405e487cdf8e7977ac91c69300d6fd9d69a17d30219ffff0395cecc2cd682c3d0985b9e1740c634c412e0431943f0fa06e5b0392e20bebb1d03f31e6c328c34e0d9ef4d9308e4cbb5c0b7eb8fdce6b4952123c9dc76a9920a430058200309b6bf4f25b01e1d169a364521b7062bf56c06747987658a3ea231bd2b13c04d06111722c514b3d1a3df47789c0058200329b72a21627ef2ea3c023378f5f0a388816fd7e01a55926dc3fc16d485e7704d0a1ef55ab543e48d451027878c03349091f0842bf545bb6d614d1ade7e46f243faec9188ffb71559c8b0fa2ada6900582003701d14962dfc09f08e8ca6c510014d9f8e54226ac24417340e622ee57301d04e14bd0457f1cdbd6647777061bfe70058200304f830d93ad44aaca80d2714a8f1d4e0120c3d29900172c2406d412d3920804d135f3ea3519f47046af2469be2005820035075ddb3a09d9792e4154900716da0af1e055faf82919276bcb69791df96e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219463103cfe6649fe8b6e55bd3575c61ee33cd4bc5575d7a1cd8696c0032c3aa9ddadccf031def87ee1ecb94f928192b8a9a22a31fad74420077f469e9606e3eea82531f8403701962290190d04cc95dcc7b73a87685f467ac4b4b562323a6ce973fd437411a03bcd2bfe90aa669f44cb5c04ca17299d93931d1934781b5456f58097d44600477035167852af8c72f02f3c7949a09a842c21e8a85deedca5d954bfdfe20109e53c003cb3384d7ac532f01709aac292edb095f527d2d3c4832cfbd301f4a8bd201c73e0365dcc5e408eddd3d1e03e0d2722bce315af4f31ac0b6e38945f6485a8e7384d503c38509bef48227679edb27befacb97053a550401df6057a556d1ecc4829bc9c90334cc3663435f98eee2397a11a6bea8fa2c984a4b3a50248bc07d6732a81ef72703e16761306e76a4a2a03c68e1b7a1c9e4d735e2abcddc3a591314d929455f28e00318c42975048e502e1f4ce348a339ceeabadda4d5803a11e76232ae5d6ac6f0b903945ae9815ba6a2ec9a461829169278afac4b0576c4c174fdd4c0b78b47881762039446b5c9c84ad6ff908f4ede5d42fd8ee16d225d801daac08ac9cd1b4877ef340219ffff03fe1557e52371de482b5a3c298c3b2d6af44651f1a5102fa6dd077c9b14c3fb3f00582003c29cb520f354b09fc951962e5da42596cbfb7d1a0e7db67420f6f91566ed705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200339fae888ba3ba858d08662e3e0c60d2fb128edd57f5ba47c592d1c694a74905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030e942ecce7cdc8c5dd59bd76ef8cb35164598e0821531fd60832c9f87408104c69c6e376333d43a35e0a12e700582003dcc901f35166a5b3739c4a019d676d813408dc6e3cd692ccb554a4ce5f4ef04d0619edb8844384f7512ef22aa600582003dd4bdba7399dc507a98617d791f5abed40078dd8c11d73ae7eb0feeb319750440134c882021910a303901623e6eea867055306846d14f2466107456715e6af83b4321872ad4e030aa3036938ac4610d9d8c974a0016a8dc760b1ef05c91e2442b8366269a3542c0a4a9d00582002742b0a51c672115cd8f0f190957faf28335d4845df698505149766baee42455820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ac95cb3350b928f99f4f6df9460dc572968f16a081c07e22bd768c466f7a605820ffffffffffffffffffffffffffffffffffffffffbafb008c7e6808a566ce0a3503024c33bf9cf697e2cff847863aafc45166a34f2c441eab229ba13618c6182bbe0058200341fe7ead3fa47f78bd10f8e1a0de3dea50268904318cb166acd78fba062d804d0259cd6225e6f5b93c65607fa000582003b2b5166478fd4318d2acc6cc2c704584312bdd8781b32d5d06abda57f42300440134c880005820031f367aa0cc76a57360554493336f6b3426576d498105e46f3063d03ef4a2005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021980d103e7036dc267f906b4aaf4897d890f22c354ab1f0566d7ca00754158c7e422683503ca5d646f97ac786f941a661572c23d150acc047fe75900854c16775024ee8e4b03d2b3352cd910e9b9b3fa4c9a3869e2900016dc93980f8fb1d7a068fe145d814f00582003cb1ae896b385892dc7748cad86d4d8ba0709b7a2437a74cae801bd961edc605820ffffffffffffffffffffffffffffffffffffffdc603c7aa33805986a289fe6df0392c9776cff265fb50e38ecbc7960faaa2bf4a4458ee49219041756c51b7dc57500582003fc6e4c8d5fcfc6e3473b4bf0436c8a1cf08022eba122b155ff65ee11e0f3b04d01369bcf8b9073406caf4f15be02198c10036d978bb2f0410256236e4571a96f77a5755b8ce9392a51f2c9e6aeba0b8786f403ee3a4a6c86fc1e869b9a79701fa22c82dbc07a5b5377cddc1309b1fc1e4856790058200337eafd4159400a89ffd9b916ce80e25c6d84cc55c65fa7da2484beacf099705820ffffffffffffffffffffffffffffffffffffffffd87a4843bd91ff6bc3d5e787005820033d8fead143a55c4516253dd2d2941a1979cc6d60ce36f48626563995824da04d010b83140d620d36932377348d005820034a50cfa045f2f8df2ff7844a2d341e3fb62a3a3c321e6bb34273b4d6cc5540443f0591680058200333e59017a09ec81efa102571266ab48427a50a0502820c4f4bbfec278dd8e04d011987f7377ae53ca4c9d2f6fe00582003fa380647bd7e39ce0ae0e39c08d6963a40cee74538a0038ce61072efb790405820ffffffffffffffffffffffffffffffffffffffc83f1c9339f6a145b602ffffff00582003870dd8f5417058670cea094f0dd354f9ef98499481fd167493a6199059dd504d05ae074690ec816b14469fc146005820031e91d650ea3e1a2df8790ffadcdab1f0948f3aa85b1e7871b4a7c8c5c67cf04a0300000000000000000002197c3003a02a316e859c1e93c8cf84f89b1dababddd90fa27932b09b2fc809923e221d2503ab384c64ac4ba1e45bbcc1dccc08040ed70939fd1aadd23e31ad37bf9af8cec103f8c769cec48c07b1a619e48daeea148d9efa6b42d6ba85f9f7894f7930c6a7b403f5846de2b54ee1593749e8c376da8a43daeb119106bedbafe34d9fcf511fb1900219ffff03708fc0d834622943633ac96c33fa9366a081adb90ed1f96787a93bd24b477fd7034a6c1e835a20c453a50fe28a924f8fc429bf56ec368c7a529b1ed5c54e7825e30372c589646091fa19705f0caf1fbe865adf9b1362697800e6b2c81405821735d70316937cd17124c608320b23666a8fda8918677ee1efb2f4589553c01ec244550003a24a17a7bd54da21870cc2e0a41245f01c8d1f53bb642e5b93e8276de9eb8e2f030d23d995f08964afb91fef1eeccf701731e43d090e85b4e20aeffeea922b7311033ea9d89104e5b2d538d84b6bdd518f97ec1886a81f0b5c827fc4f7acbd74ca6903da85295560c6932ad5424cc2ee662061760b706ae8f13323971c6ed0db2282c00316043571fdb4c8fe37242d47f2764a3b428d153f0930170746f61f21600f4828005820034dde2e21b17f416804ebf6f1ed29a09ab740492dc4161f45172c83d4779e005820ffffffffffffffffffffffffffffffffffffffc83f1c9339f6a145b602ffffff0058200304b9cab64b83b9f484e432746bb9992f18583cb0a0e87217ceeb23c986b1605820ffffffffffffffffffffffffffffffffffffffc83f1c9339f6a145b602ffffff03f88e58117e1b3f62d1616afd3bfd7940be7598f53dd696e085e85a04084d0ec6005820031eaa1072b63f054f924a2748c00048aafe62f2149874b1510f281212e70600440134c88100582003cfac41aaef2dff3ee8eba817c52656c715bf942a715d2da34daf38691a0d704d01200d580a503a681dfdf67943005820032abf993bff6c85980097e0fa63298dee8c0038eae0c24e236207345b7eb5505820ffffffffffffffffffffffffffffffffffffffc83f1c9339f6a145b602ffffff021943c2031d7151ab22f66b5047b23848aab62ba15683a909b31c79e63d39961346bb71280360c01cd50a4623a0e8b1fdaf719a05a486e3daa0f2fecec957cf0d0c21d9b8d60394fb1059218143faa855bfb80ce7deaaf6aa1df78b8a11c5d47b143326a201f10058200228292ce3f7f496e68cc4fa877158f14ee980b7033ff64baac185971a7e6d9d4d06ed0f6946ab52441ca2389445037da7ed8617703914a9abca414ee3bc10cdf8e2ff91f0233e31d1f9bc8692d8ce03b6cbada2f87f91920cb3954b36308daf495fc51aab7ad296b90c1adb8190fc110219ffff0398eef5225207903b66a5708463b1d0521d58d112054c36c86e0fd9b0a5abab17038d9ae01846827f1661e80601caab1a119968eef152d043660d1ced6d44294b06030f306d74bb66e8e377b233727e0cd572986023ca4c0db32a709eca2687c2faa7034a0258ada0c6a1b979579fca5e96487f7938c8ab44d36b9c4f814794df090465005820030ff7257fff535a46e8f5ba7f4a7e752c63ccb35a7f4e629689e38b335d67704d334128e64d0d464880fb5adc08036ae8a17e24d2b4db1e2e48e1ec0d0769ebacc18f138dc6cb8ffc6207bd239c8703d0ecdbbff14d845d889a4f313f9e34ca10e818626a2ed9628313f52b100f354d00582003724556245f26dc8ae510553f5f16c099aa1e0c62287a3911edf57612db17405820fffffffffffffffffffffffffffffffffffffff448751372a478dfffe552c6e400582003ba6ecbb18d81665bdfa1f0702cc0f1673329b5421ae839cdd8427d62924a905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200309d6de1237e52e80006e2588658d8bbf9e3e69236cedfd41e2a772bc7e76c04c578ac956825a914e2a4c772f0219644303a1a653713f2168352e1bb5fdee2b7acd1d101dc298102bd53e14db9ea885fa6e03d1d49c57161970339a175a36733d7764b88733d10f73d30cd2786aa47091c4b203546042db74307a0bae130763a7e310af79c6e66f7b17dac392d062f84c41634203f037aba6920c5ae4347b9e16ccb104b5ac221bf0f85e05e9976c774ee2d43f7e03f2dc7403ad98b179e66f0d6db2f06d22b3540d835701a8f9cd74169de49f07f5030aa3a9ed110338c47794640f8977d90c3010fdee1971e725b24017d6b2ebab290357aaf23da3fdb659e656ceebd5cbe00dc433d78c4130d65d283f443021ea649203f83e2608a452a6ffb3ed85c926781188012487f6d82c0b9d1c6a2dc9742f118d03f8aaba59cc4dce4fb0dc88ff314e9e9dd1a1b0542190bb46af7bfc393d556bf303da6761da50dc4c012be4c42eba36f32e08cb8c784027c3ccc1808968db61ec1603c7229748255b2b1a7b065a07608e5e8f32ccc6815ec456471247ca222f814b380219ffff0219ffff05581e03346b073d69ed2b23075cb89bd3a0e253b346ff5439f8612ba3342dc8400701193499030a7d3b302bde89bfd3c998f63c7452d974c89e89a7138b220312868865e958e70382b35aa0068039555729e49a6318871f509e931f1419a51dc6c8e5dd33ddab8005581e038655ab291c8c88a64708da7cd9e3172f19cdd73dc654d81dc299321d2008470ceb8f33a7980005581e0363fb056f755b73aca378c5e312eb2978697ef59c8f0b57600f8c5129200c0947610dd13bfc064005581e03caa4f0fd0c2d2bd1b08d9ba4eef0d7e473f9b0d77e0333984275ae7e400c074707d5bcafb86cc005581e03d3d83a7ca4acc9350d5aecc81c0c5ea860e5728155a4a504a1a93568400c0146165089f9200005581e0374c463eb19fe15150647b19e1d310187068598b73c69f2fb7e6922f7b00404032d4fbb3282aa7d24213fd34ebc8ee6d57013696de2f836662b0d4ae348fc4d330219ad5c035a60ebc818dd2ebe31fcf205efd7c0f3e02eb8fa77333248f1c658a7a3ea15a303a38e64da324c74154219bb39ac796906d52ae1a29617673f0f86d15c74202a3103df4fabb57f76f98cdd32e34755b8fa5c66490d2f7ae6102634e3e18e6d583f6b030b17ea8074c26be1c39406a6684556deb82cc49e6601c228ee5456247c5d05ec0312c462b8b70daef346ec26ecbbe65bc6100f69bf4f0956dde2fca99ea15ef25403462718144c1c9d4cc201e43149ce5b39867c4011c16ef232b95812bf9c86dfbe03239a82550741dcc4dd9fed6bce47b447ce45e6ee930eb8b5217cf0ee7952652a039abf7f2363c20a6d6280ce316ca4b95c5de221fe616127c10f141080e6edec9c0312e4d058c6da42a92c8b9fb10df8b19db29f70f92e8aa3c94cdbe5b1e0dcac2f03affe1b676ee2a64928907d6fb7435b390c8f4973f0d659cc8ca59f2d123dc7c50329f9b710e79f822e80369fa37f300210db63d62582e937a3a51e68023eca9ded03ceb45d009897d10a265079cdbcc1af99203b80ca99f7c4ced644e60291ff59cc03efa0cfaa3fc12aa551424eba5f2aa8f912c6d46691c2e7fd1a2d52c3f2c2772503f3a8bb6101bc3a22859158de0deef98fa74721b8b59e3fee9c7e56fa4fcf1c5603f3cd601bfe1c6934b2fb0af776752a48c58f1ea1ebeb515c311da0449d6bec780219ffff03597a55e6bc27fef0d77709b2d18892ac8e5837e3f214f7adf0cb26ba1255dbc7039d77c818bbd6b4292efb2d7fbaadb9120f648cc979a0cc0786cd23e8174de96703e44598dcc64e2423a83b807c4cfbac35df89c51604a0d5c367e1364e878d0b75030c37e27dd4cee27a20c0c85c47b9a4683379ed5d623a1fad2cc47be7c564dc9e0372691a6c58c4198fe26aa8751482a3f64d4378aa56d96cad4e226dfa389a5c6e0393c68180d2322c7b24279452aec92aed7e02a3441eac5648adb2f3417228096b039d9bdee3e0632778d0eb48cbf10d584c3cfa6298d17f803c090c2b9e966fab5c0219ffff03b0792ed4798a446d76d01dc50cf1929eb78a9ab9db2e66d4dfae82664119e3410219ffff0341e8320c07ed59d945d6a7a8909c98ee6100094a354d614cc868ddedbf8128620219ffff03c94ea30eda1e6681398525300a2becf474e83ea1b0334bc08020d7302c25c4830219ffff038baa5e9d8492faca65fed2a2448ee9e461bc4bb5a2b6c2e4b658fa02128fc6d60359a8596aa56e6bd54e8334c3e93a5c0005e9ac993ae10aa2253003c3e31957f903971113ce7c1c9c95409b5e4281768b71f93b20ed1e9449e8f77148a9f02df21703019787466258cfd95c4c5a07f36c0f96345353a4d0cf6f8ec2af22fc78a5253d038585038e9038f8952bdecf21e14e8aa96c759fc7d1963b1a8ef40e78771133fb031df64d961b849f252ca094d284d2bea333cd5e231132ef0bbd8b5ed68055830303824b386fda5e814e79b7f4328f6e12cec8a4e35777a26e0dfd6a92526ac4faab03861f6e1dd4c74710b5e06180f728765f06c889c9b08353cde3b3a1208832ca2103959cd9dc7a88619d10d4ed3323acba010f9f1edfff4104fb80101df708e2cfd503274d0c75ba04cf6032bd5187d2ecb48533133d99cad0ae0d469a0f61ea589ebe03981fc403d2561123fe4777ce91f491330247f3ccc519d2d0a93d6de21eb4645b0398e7005b10dd984dc036dc84b853413ea9eb9f1d914d468d4d0e87ae9c9c7092037dd345ef28712c9a25eab13e65bb000a9f1b667e57cd094dc30251f5df324a3503cd4d9600de14ac51fdec43c2d243b621a36c2191d94b1ed2ce826c0efb78c2e003e34b1717fbf59418fb6d65b2c8bbfaf42a337bdf80dc29f6dcedc8440e8dc36f037ad533be0ae96acf3ea4828ac4be52dc2567db4d300c75648a6b31415d02fe72037ae7aae05e7cee52273d623a3d72ec0408f86385526b243c7e66744d2d7f8178035937c56838375b6a7a884d111cb409c89bf0a23c9221400c6f91344484f7abd90371c39506159bc99978373977ee4af8746ae8d741d28d47caa4f402b6b4f322f403f56222a541b148e6bdf3229a366f06ff7c121344eca2e9dba8a48192765c7364038cb24cfdb3b74db98aeb89714a4b66ab7dfe9b590f3b5209333206a283d93da5031edc2dd044538764ca6fc094c500c3ac02cea696162e2c5de3b401184191e7e203c60a80f54ba42ba638680a4175cd44d4817f5e80bb6f6a2625fb7ad726aa39d0039704ddb63617a5f9b9de1017283f4656697673b505ad35debc373dc390d7854f033265948ca42b82bd5f6be6ec73578b422452dbf1330b76350004bc1be55741e10392949d94cfad8997143dc312b7ffa1244df39ea086bde2580019b4f7c11226660322e327da5a12304255a4f44bc85fe6f9fdf80b96fceaf1095c443edd9fc50de60383aa321d111539fcec68bd45bef896f576feddafeacd688242a8cf03cf524cd80321737e320c32bc1c7f5a4708225653d41a0b7ab613cacab18b915ba675e3763903f530c70c53b2cda18eaf7de128acd3aef2eff0cb1a667c83995e467dff5eaef7038cfd7d25b1749188faa9203618744700ce36417c98fac559a6f1d4a3d30c226f03454f734da05d1ebe19fa83e74f5a3e7549940058a01b005be83b65dc328f2260038a7de70ddaca27f0dbbee3bb3151600b38fb5254b18d67a88e9078b288d5f65f03d18ddd4df34540a1118d62b6abf04281da38b1a7ec2bea707a8984f08bc9374903d6eb2e94378d5d4a1370aed5a54c4502b3719561f267abe7e62ed00cf805fab9031836dfa8498ecfda110d0326d887a408688329a2fd468181e26a947e286958fb05581e03f82ca94a6eec6185be53517c6a6f4f8a62bc60a618e4adebec9e6460800c0246687c324d1d6005581e039961a38cc6d7860e11250c4c8dbdf15e23b103a10b724b3a0bf86fc150040305581d02fea8b503b4affaa08c223fb1408ff315dc03ebff0b063b7abfd99af60c0248014789cef5142653034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581d029087127215743b267ee6f851e382a687db606466011ee2bcad49337907011bffffffffffffffff0219022005581e03df3f07d94b9f96e9b782aae80c8c8322f2e21ac9f8984130a293d27d600c024803cb4569a3af652f05581e03036545f031943eee4039b9f5c4a76a6e15e73f5247ecd0bd4bfed479300c0747434457104151bc05581e037dd56a53aeec9967b71ddae7457b61a77335332a8155faf97d798b84300c0348013171b5e2228fad037a1ae4f59bfc33d22655b9c9dadb3f059bc9ed2b06f935e82aad285d956af6c205581e03e7e4b5b04adfdb33e1014584f68f9493ec48b99d15e80f5f04e985cfe0040505581e030ab31609990e59e98359afb9afdfcf972f5d46c292be95e6223bb9ed900847038d7ea4c680000366d5e91e1b3843964910fba5159c47d2a74568045da9eb4b12c1f75c458bd7860219db6b03bc5aaeae60d2a220cce2afd3f714e33c7fcfaaa68701ac8372321a6f739c936c03221c0d3112a2c6ad1d700411e21e0486a4f1010c57bf1b2f114985dd55ae85c00322058e94c10a62c64f5304ea714ffc238944ef2d3a62b2b2ca42f1287b50b4ea03173a7da1db2de916d8fdb11780922a0750f0c020b20241b8df5cdffb2458d860033b69e4aa8bc2f3421767abb1d423017bebbe4e2fb76cdae22ebe0e026904240703f24996e21eb65652a7dfe3af6bd7e07f45164be7dafda0afd385c1b3637e97700219ffff03c5dc44235a5c26780a7e65421bee29bd5d7ba901619c3282797858a64ec5b069034f6a5413320f6704b5b8ef64aa02983d04f9d87a9d82a122c76250edd585359503715bf800ecadf874ea2d3e92ea4106cfedcc9304f097ac168f176340bb808bde03e1c54d91383f33fa520d6580b4dc483672ed8a2c9185bc84b820386b28a2f24c03aa3dfa64c5c1f738e45715854f02f4acd398c8f0888c754d3d879741b66e64ca03e4264998b6ad15b1af99535191089370d2efb49ac8a2b61aa74514933b1d1e810368e06a6f3df824be45fb5aebd0ebfc0a16656ae626d6242d79d92cd776fbad0c0219ffff03dd731710e8642d9feb16db1ae5ab3379025679fb468b3d95cf59cb7815cd0c2203bed1b71320732bb26add5c970ce8735802ade960d2cae0c0ff07684e8556e31903a568dd758b9b363b51f774a9c0c0879a5465537c66a130a93383c7d1d7609e5703aae84db4fc325a42ef6e545174eafc55320cbec9fd08b3b846503a6b1abdd0ac03491587f8404a42681f15b2e5220cd4c990145d904a489279bb59fa7091088a5e0302e1d06db43444c3eede239344b4639e493384096a3a26fd7b59817ee0faba1a03c291081f321bc8a41a40679efcbecbda889648dd023b1fe8fe77b75caf12495e030ed6018505e2b104b11df9d42563e209579883c59eda19baa7897b53acaf4d8803dccba10185e92b052899fb8ba257631fce343cece8e7b7edd249ad07813e15db039efa7da608c2e6de92a39fd468ebb3bf2fa6e53d65ea305c0c3f6e1bbe54582a03d9be2eb66524c7631bc01c6e51ccea088e36607b4a9d480a836a47cc99d3a4f7032aef8bd998c047d0973db7b056e2ed69b441f87133c73bc50af512db006965620219ffff0219ffff03e549d42c07ced7632c312ecbd97db43d21b597afdc0c5785e45d16e28ef0627d0380c0d2127e4c856824f09a5b002355562e1f9e2a9e9c3635740b7c3b27b69b06038ae70b6d51b38416224b4f0aee59012b7ffe146fce5650578f176b95aa687eff03fc6e6837e3f59c9db51ac9cebdcd3fde1f32b4202f489b271df018ed001de7e503407f463cdd591c6c37d77947c9b29c575ceebacae1960e79b697ff044c9788a103737b37d185cdb4def6a5441d832f169265a39a3b82952366dd77d5aba9d8d38603a36d2e1a0af13b7831b23002a2eb9f4bdab041d8009a23826d4f79072af0e0ca030b854f571eee94e8ccc91e2d43b45e4462b41e9e69e0523cf06616f4de3e839b032666b0febdabb4a964aecbdf7b6c16dc6c03c6a7a787f473115c9fa95ae4cba00352534243c80801d8820f6ebdb0b9783ae090066f963538b2c320551caa046cdf03f5c7f3e4b5f41d458d370768414440bde346fa11a41b32ec9027e6a5eeffac72030e7e15a1f644e6cda202ed5809d0cdd3c518ec44d20c68d1cb578aa3c4c0c09203a877b1e622d028d8f095dff12304d6399c888e74abd95df94466ec6f71541a77032be218253503416ebb1d74519f498ca7de900b0ebc5439b9f1b946d07de59ba003a5b1920316c592ce3ecee57f533c6ac6cfa43fa63429ca2fcb004e9b5917c7ac03dd32f2ebf9d7525357790d9082adf69e7d3fd6cf61fd81c7654214018b2f6f280368d5eac384c6cd268483435cac60b6a0bdc9583ae339ac40f4e4f320c20c9fde03db8cc6106f6e02429faaab389080d7b06ea51226b2ea4c5b45eadfd440bc8400032ffdf5152eca796f3f04642a0d0d0fc4ab8cc3b9e8c41a0a63a028a3face29860320a673f65271bc5340ca8a9920a2c516e87ca33fd9ac147426d020089723b01d035c233ca32fa131c2fbe28b522c8b69dd15b14a219c88815a0397276b874f5f2b037f0f82357d244eaf82180b7daeb8b813d6ba0c860851a2312491b96ad17a57c203d2732afa7d3adbf44fa5e469bcfa923a990dbdc80c97fffed7a9d4d0b8290ec00301ddc73aee2fc51797ba1922e1cf055072d8b0bffdd4b3849e963f16bec7031003e77be1611f450a2bdce1b8efea2569005eb8e1c5809ef98f074d7c9747064b6603695e7afc32bd49d3cb1e050957965c89daa518f21ba742f8b272e57bb1206f1103642df977630e1435b3e0b863423e3a556a633ba66f82fd2e3a1dc24170f895ea0315108a76d5c6461a9f120b2df5796dc9f566a1384701c153d6870dbbc5cd960703b34d1a2b776aba9c9802d61368b8f1b9c20819b8b465aa09a95e21c726b6ebb503f21b592584c27f1cbdb751537785ea80b58f244ee9ce27325df3bbc1276b9716038eb96b0bd556cfafaa534f5350bd70f6aba01936dee4f44c3d7fb9d80df8319b03cda9d796b2a868e0db8bb746d7e6cde6036371d540703c9bb49bd153f76bba69035f3b4a72021ac84e37ec8071befa985819be7195d807c0174be0edbdc2b023100347b53f0ae0542a7d2d8d832a7990a85a5c9296a4b9553a4150f90fa4b876a6fa03ddb469f27426bfaec3508af4bb7027817450361d8f1136af730d36d18d302df5036609191ab14ebf18045d5ad9d196b725a98bde1b6693c683b7c5812f2f01812c03a64f5568098de6e175bdb39c173fadb3e64133051019f957f7f288fe00b1089c03ae4a0509b1bc3db533175d855cbaa91eea46c885c8f7683ec5f1ebc607cbc36d03a1b8d99ec097ce68d4a4a5d4ec57f3a6705784e421d222335a58ea57e4f35e0003444f434eeebbb9e5ced20c3a4eb836c196c9d8d64e4fe17fad38caab516be4c003373f4028daad22e7db74a6d54fe72d4c91b3f5ad466f4cad26e6c8633d46549303e50c7fd4eccbf0cd426ffa99d56fd3a4b8589114b2f97e99325aa17a490f6d030357ec377f9c1064002f2bba54fb775f21066fd114fb22eb594c5a751e7cae5711030715ca15d1f1da0e9929955def0e52be98b699537074c73e1291437c51ce7ad203dd6b47c2c45ead08a5dc3cfec14c41e81dde71d708b9ad5333937b1bf2c89de705581e038692160bb5e4a82868d803347aac589991cc876a0cdb86e6046014ced00c181e472333d976a9f589034c565eba507492e9968491d9967489adf9f5964067101fe4501068bc870ca2ef05581e030d280d4f67dbe53fdecf88e1d2c9338ba1d44c40dc56ebecf05227fe000c014701551107783c000368af002602884139c42df1266dafd63e17cac4fa31844bacd2439e93b8a6e2a205581e03276a7cccb606376d18ff208e0c8887d2a21b94dafef47472120b3e7fe0084801453203f48af000038eaed9670e491c36af7293d496c9ca3b93654db91a1a8cfd129cc8e452e719cf05581e03d0f8cd755f0f7e0c62836f64c4c98b1bbed0382370cca413cf39a42720040203622ec558c8da8c64f50cb9325874d48c8cd1498aaf280d0f7870e136ecb0223e05581e03e8f7dc2022b169c61c957bbd66fe11e2ca220c0063c61d2d55ddb729800c02469930e5e9220805581d021f7bf89f1e2100fc16bd83bcbfadf5454d9b7ef6bd8fd615937795a10c1a00382de04a0681b78fc71c7322e3ca039cf4100dc54b4bd5e52ecde8ef8a513d1b824d836da0dc1cce7f34b3b722b7de039a8221a6457daed39645df92ce5a202121ac0622669767e464c77de0b0b034b805581d029a83462944a19907e6540072585c50745e56949ae0f2e2059dc11a2707011bffffffffffffffff03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d02c8fab4e0936556c3446582f45339e0f1a3b3fcce33326b79cb5a08d507011bffffffffffffffff021941010219f87c0219ffff0359a707f6f06c1605a55b363948a5030d53aa720a5cbe26e220e1ceb099fcfcba030ccfc218a958da66bf80b83c299248c53ed535537df55175bcf3b0a607b93d7403bcc3dd30cbad549c2f33d330c09f87a92dde62e1dcd10c2932e8793963b72a9e0219ffff0326c31249195d7e854209f16e8cdb36e431dea156acfa38dcaa83e4df4190be0b030c33e1041734d5a1e4ab9d43f69b94d78b9cbf8155246f6df6c5ad259e268b1f03ec0915d4778d7dbc7edef4a5bf94067717fe4ba2a206555bb81b116ce2c23093033545ac0955b946c3b30d1da53e625b9dbf31daa6f2ff2f6c0b0559312a9637460347874ef6d4ac1a5bb597ec2e4d02feb00b99bcb334c492b27d14bf10ec25b467036c12b2e59f502fb45d0fe9c445a935c9812eca23280316a9da0e9e32c3044b2f038b0b738106c93d7507929186c6e7e20ce461799590ddb0380d4c091fdaad7c510219ffff030d835b81bca04237c92a9067e5b9e4eace608a47f7c74117f13e07521ea2f03303e3859d5eedfcf0aec02e73593d744f9bec3a5be8080844cae5556d75cddb7be7034539361f9168f6b708af70732874e4cd714b3fe8f3293d475e9964f8f70531b00302fb2f22b30082ac3b1caa04ddbedcb39e70be51361652262c4c9972ed0c5921038a528c307283762f1fecdf71d52952d80ac50abb93105b6b30fb706441b0a00e03a45e5d5e55b0eadf97e0802b4fbee5e4c5f0947bb7e73a5ba9f880c2270888bb03ab226b47bd4d2e30a0f42719f508044ab97c0fe0f9261dfc600bec435c11bf0d030425c4d967d567bd5f57c5f7be20f6ee7cd84bbc59150595f34d51529193a7e303fe48173ba1482d694f7de07e03164cbe5a4e75d7a7294c8948dfc10b40b3402a0390c42885abed9ce3190893d905edbeb4fd7c62496058baebc59f346a1eae5c940304b0351b4d803ad1ce7fc762b991f0fb24eee6ceafc32e69a92a8a15b2bde27b037c756151adc42e64b87a335665791210c4e43138fefa1876a7baed9060cd47b9039213cfc9d6824f071f0f0b2935ab99e46879d20a620271ff1e80459d773125ed0323223a8d16e3d2d3f1f6e66985c7127cf3ee5af2f96d9e76fc9cbc24de32609603abb55293dedc5732520142245e27ac09dbe5a62742eb1728041c2d203d2743e30364cb49e35ef19290d3a6775ebc4b561a59ab64327f70a07ba69725dfe0c9548b03bb2fb000f00cd003f7959c7e5f8adb3236a5d481e3b14027b6c8ce59b30f838003d213c182d4c7b90367fa51aa411400fbc0d2d1e895f97d7ee4278bfda6e45fd5035ed4e2005809ce99f8d55f2758fbe9a26f83eea8f155a2c85157bb4ae057b23b03bcfd5215379c1b1c63578ec4207593163f1502401caa2178d66e5152237703500307d2f26e68be9ac9dc54c0f3ab74b64060977699137ea396a9c22cc80419a86a032feffd2030df2c09d19d7641fd944d1b5ed958e47b93c62b66a08ec006f420d00388d20626b5c6adefd8f1d289a0d3d67eb2f792d9a034d39f8afeb78187c3cba003bb8a38e8fa462e6a2917d41a120254dd1399eb1a94ed1ec75d6843335c979ec103e01d47c9b09a46db566ddcf1099496eccb07229c3387129f692ffac5774c979d030c2f14ec260045c288bafa4e631b7e67b624489e49ddb621f708cb83ed3fb06f03f85d77041bd5b855ea0de0cb9d17e9e8f040ff04b2b0bbf359442ac0f5c78ae503e4e33c48a53ab3dd68976c1640da9cf9bb17d17336ba16a9fba428728ddae25603c3fd28e22d089987350f70a040c354b77dfc2d587e578ed590635a504a676ac6039c020eb6e44a6fb94994e0f203eef8b45425081c662538801f4f5e725a22bca703ba453132386fffc4ee5cea685f43c2d151a960eea328ff45b437d17882ed42c503c37261d06704ba6880284ecfa7e8935d135657fe3df4a5b9ae7b70ec6e25e4ca05581e0343531e3a18aae9c59773a61d048e60856ce95fa351ff6a5948d4ec7430040205581e035a63661a2d17f1cd1b10fab9548633f44bbba53fd9b65f309e22d32d100c0546cb6e5b08b39004591324608060408181526004908136101561001f575b505050361561001d57005b005b600092833560e01c90816323a69e7514610afe5750806382762f5c14610a7c578063acde4177146105585763ae8f18f903610012576101007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610554577f0000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab61689073ffffffffffffffffffffffffffffffffffffffff90818316916100c6833314611165565b60c43563ffffffff8116809103610550576100e29042146111b0565b806100eb610d85565b16938251948580957f70a082310000000000000000000000000000000000000000000000000000000092838352818a840152602097889160249a8b915afa918215610546578a92610513575b5084610141610dad565b169187828a8c8a5196879384928a84528301525afa928315610509578b936104d6575b5061016d610d85565b8680610177610dad565b16911610948b610185610dd0565b9161026a8a6102298d610196610d85565b968d6101a0610dad565b81808751946101ae86610e65565b169a8b85521680948401521693849101527fffffffffffffffffffffffff0000000000000000000000000000000000000000968787541617865573ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155565b73ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006002541617600255565b88610273610dd0565b16976064359860a435928b841684036104d2578f948b956102d18f9687519061029b82610eb0565b8482528851998a98899788967f128acb080000000000000000000000000000000000000000000000000000000088528701611211565b03925af180156104c85761049c575b508b8880516102ee81610e65565b828152828c8201520152808c54168c5580600154166001556002541660025585610316610d85565b169088838b8d8b5195869384928b84528301525afa918c831561049157918a9493918c9392610456575b509061034b91611257565b96610354610dad565b16948851958693849283528d8301525afa801561044c578990610419575b61037c9250611257565b91116103d85760843511610399578461039660e4356112a6565b80f35b5162461bcd60e51b8152928301526005908201527f5441434f530000000000000000000000000000000000000000000000000000006044820152606490fd5b6064856007868686519362461bcd60e51b85528401528201527f43415249424f55000000000000000000000000000000000000000000000000006044820152fd5b508582813d8311610445575b61042f8183610ecc565b810103126104415761037c9151610372565b8880fd5b503d610425565b85513d8b823e3d90fd5b94859193508092503d831161048a575b6104708183610ecc565b810103126104865761034b8a918a945191610340565b8b80fd5b503d610466565b8951903d90823e3d90fd5b6104bb90893d8b116104c1575b6104b38183610ecc565b8101906111fb565b506102e0565b503d6104a9565b89513d8f823e3d90fd5b8480fd5b9092508781813d8311610502575b6104ee8183610ecc565b810103126104fe57519138610164565b8a80fd5b503d6104e4565b87513d8d823e3d90fd5b9091508681813d831161053f575b61052b8183610ecc565b8101031261053b57519038610137565b8980fd5b503d610521565b86513d8c823e3d90fd5b8680fd5b8280fd5b506101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610554577f0000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab61689173ffffffffffffffffffffffffffffffffffffffff90818416906105cb823314611165565b5a9460a43563ffffffff8116809103610a78576105e99042146111b0565b836105f2610d85565b168551938480937f70a082310000000000000000000000000000000000000000000000000000000093848352838784015260209586916024998a915afa918215610a6e5790879392918c92610a3c575b50858961064d610dad565b168b5195868092898252878c8301525afa938415610a32579089918d956109ff575b508c610679610d85565b8380610683610dad565b16911610916107328d6102298b610698610dd0565b6106a0610d85565b986106a9610dad565b81808751946106b786610e65565b169b8c85521680948401521693849101527fffffffffffffffffffffffff0000000000000000000000000000000000000000978887541617865573ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffff00000000000000000000000000000000000000006001541617600155565b8b61073b610dd0565b16608435938d851685036109fb578e938c93610795865161075b81610eb0565b8381528751988997889687957f128acb08000000000000000000000000000000000000000000000000000000008752606435928701611211565b03925af180156109f15790899392916109d5575b508c8b80516107b781610e65565b828152828a8201520152808d54168d5580600154166001556002541660025585896107e0610d85565b168b5193848092898252878c8301525afa918c83156109ca5791879493918a9392610993575b509061081191611257565b9861081a610dad565b16948a5195869384928352898301525afa801561098957899061095a575b6108429250611257565b958660901b968088047201000000000000000000000000000000000000149015171561092f5761d6d861087c915a9003019460c435611293565b9461088c60e435953a0286611293565b860180961161092f578587106108ef57505082156108c5575050610104359160ff83168093036104d2576103969303040260081c6112a6565b601286917f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b92600891606494519362461bcd60e51b85528401528201527f4c6974746c6520410000000000000000000000000000000000000000000000006044820152fd5b83886011857f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b508282813d8311610982575b6109708183610ecc565b81010312610441576108429151610838565b503d610966565b87513d8b823e3d90fd5b94859193508092503d83116109c3575b6109ad8183610ecc565b8101031261048657610811889187945191610806565b503d6109a3565b8b51903d90823e3d90fd5b6109eb908c8d3d106104c1576104b38183610ecc565b506107a9565b8b513d8f823e3d90fd5b8380fd5b87809296508193503d8311610a2b575b610a198183610ecc565b8101031261048657889051933861066f565b503d610a0f565b8a513d8e823e3d90fd5b935090508483813d8111610a67575b610a558183610ecc565b810103126104fe578692519038610642565b503d610a4b565b89513d8d823e3d90fd5b8780fd5b50907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9082823601126109fb5780359167ffffffffffffffff83116104d25760609083360301126109fb57602435938415158503610afb575092610ae491610af79401610f6b565b9051918291602083526020830190610d27565b0390f35b80fd5b9050346109fb5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126109fb5782359160243560443567ffffffffffffffff808211610a785736602383011215610a785781870135908111610a785736910160240111610d235785841392838015610d1a575b15610cd95750815192610b8784610e65565b86549273ffffffffffffffffffffffffffffffffffffffff94858516948582526001549260208301998885168b528160025494019789851689523303610c975750808b9151610bd581610e65565b82815282602082015201527fffffffffffffffffffffffff000000000000000000000000000000000000000092838092168b551660015516600255600014610c8757508184511682825116115b15610c57575061039692511633907f0000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab6168906110c8565b6103969350511633907f0000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab6168906110c8565b9250818151168285511611610c22565b6020606492519162461bcd60e51b8352820152600c60248201527f70616e63616b65206175746800000000000000000000000000000000000000006044820152fd5b8060208762461bcd60e51b60649452820152600560248201527f6e6f7065310000000000000000000000000000000000000000000000000000006044820152fd5b50868213610b75565b8580fd5b919082519283825260005b848110610d715750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201610d32565b60243573ffffffffffffffffffffffffffffffffffffffff81168103610da85790565b600080fd5b60443573ffffffffffffffffffffffffffffffffffffffff81168103610da85790565b60043573ffffffffffffffffffffffffffffffffffffffff81168103610da85790565b3573ffffffffffffffffffffffffffffffffffffffff81168103610da85790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610da8570180359067ffffffffffffffff8211610da857602001918136038313610da857565b6060810190811067ffffffffffffffff821117610e8157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6020810190811067ffffffffffffffff821117610e8157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e8157604052565b3d15610f66573d9067ffffffffffffffff8211610e815760405191610f5a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160184610ecc565b82523d6000602084013e565b606090565b9073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000048cc551eaeadedff6ecceb0227d9b709fa9344dc16330361108457600090156110455750600081610fcd610fc28394610df3565b916040810190610e14565b90816040519283928337810184815203915af4610fe8610f0d565b905b15610ff25790565b80511561100157805190602001fd5b606460405162461bcd60e51b815260206004820152600160248201527f52000000000000000000000000000000000000000000000000000000000000006044820152fd5b8160206110528394610df3565b61105f6040840184610e14565b9290836040519485928337810186815203930135905af161107e610f0d565b90610fea565b606460405162461bcd60e51b815260206004820152600b60248201527f466f7277617264417574680000000000000000000000000000000000000000006044820152fd5b9060006064926020958295604051947f23b872dd0000000000000000000000000000000000000000000000000000000086526004860152602485015260448401525af13d15601f3d116001600051141617161561112157565b606460405162461bcd60e51b815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c45440000000000000000000000006044820152fd5b1561116c57565b606460405162461bcd60e51b815260206004820152600860248201527f53776170417574680000000000000000000000000000000000000000000000006044820152fd5b156111b757565b606460405162461bcd60e51b815260206004820152600260248201527f62740000000000000000000000000000000000000000000000000000000000006044820152fd5b9190826040910312610da8576020825192015190565b919360a093611254969573ffffffffffffffffffffffffffffffffffffffff80941685521515602085015260408401521660608201528160808201520190610d27565b90565b9190820391821161126457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181029291811591840414171561126457565b4781116112e7575b801580156112ba575050565b6000808093819382906112de575b4190f1156112d257565b6040513d6000823e3d90fd5b506108fc6112c8565b50476112ae56fea2646970667358221220c3f5df91d721537f68f81d07aa9d1b6bf12d279dff28c6cf55ef89ad5ee4df1564736f6c634300081400330605581e0351c2f4ca7bef125841c189077b2a4332bf2fbbd3a6bafcd6245711c850070119132403719a725af10979d9054628ab10a5c33486d03400bd6072680f2acba728c923630605581e0349f4cb90bd2f94f24004783e304eafba7e4404148e134760149119951007011bffffffffffffffff05581e03c53111e560fe4a98d43d41c83dfb99dba379c58a03f4930bba12ee22c00c014742eefa097c314005581e0386773dd39aa1ce3bd649b97427a2677961fb688372c4b4fd71cea0aa000c0146487888fba9e005581e034147465305277cca4419729f9b695b10f98ecf88a2523cf219a85f8e50040205581e031fff7f6c08c6703896afcf0af77f2cd8e99fd054091994362c31904d20040105581e03829cf2209c670e989ce308db9be4f5eec4cfc643e75af13291813a301004010219371d035f5ab7f9a3cd22d9563224f8a89c402b798e6a0e54bbfb4d71e2b39f3fc9a3fa031abfa05b9025396d70664fb14408a4218df75b59897a06b3c2f64d9de2f27884033a72e4fc6d3f5629ea5bc684d79b6157ddce106d0c9f8c3cb1314b0bc19ca67103c2275819abcf2b1ccb77e86d24cce752d3a33f1999376481911fb92c8ed95eb403a319bac56f7a10e13e7020b77707a94f7e11b483a7fa393e3bad2083b5d3c14e0305601b81060ec3630b82ceb197c51eb8e33eda4b8c970104ff985290f84834360219ffff03f901af3c62181d85bc6aa4c80193449e53961a98ef5eb547ff9fbda0f12b8ac203b199ccf6c4171e07af0413511af8342ee92e3ada8dbc1a10eb5c6240b80ff83f0219ffff03d56af92499901c8099097d7d01140569b7d77b9d7a654045b005a6f88389816603ab6b8f7e3083312b2975dc505f6551cad73f86925a4a5562f298183e968348a803e1c251b938e038dba8c97ba8ef9c23b9fcb984bc44bd1b0612db9a147049005a0323e6c15bf4d3d90146c9e4d68b9a07c2b46792cd67b38607bbb9b8a0f89d7c0603681910863049afdce4a0b59d59784b85e1ca4d7ec54ca7cce7ae4be3204adfe10219ffff03340a9df8d89d6f76c539dbb0246a91542f8a533527d9acf2605be7dc9b1b9cc203eacc7d45458f9f856cb6c64334fa9af9012820f0db38b962bef578eb6584c7d50355949869e8c3b458278f44304d2ce4a53d9bce39eb6cbce4aea4fc93509bb781039f33580826da6850df13f494e3646ad389d53efa76c004d5262fc7fa30f304f70219ffff03ea36b8c4d654ba0290d1cc1983a1358f063d7ff8ed46fc115095ccca0e7a208103f26d8be67413239e42d0e95f33040720f0e241474e3e7c86ca6ae24e71bbc72f0396850465e2c43ed58ca825bb11618477fb5ea533aecacd11f80b7e48d813b1460309a6a9af4b8e2d099c18d7751b968ba153fbe4c2e0dc61bcf98e92296204480c03744156ad0fd2b2bfbc362f7b2978171d42811c588c7e92127cd4cf6843672089037c87dc3f3a59ed53e5adcba06a59b95cb028c85d05de26f42b7e08b9b8ea411b0387c0bb06030a154ea338786b4c7304224c89221ba8a910ca49df373d4153436c0351de1a00cbd915c87ac130171cea6c343bdd0a1f21c5956fe76cf9928732284d03d3f2795a154540e880135a21f5b037e0ee0b26d94763f7f39ce7fb7344504ead03c807b564cd86d5d55573d2d0b23a04ceb33bf654b304ab1da4a2e7ee9978afc2033bf92f8ff2655ebdb3c5d5dee44388f9a2266ab6e9e4300a6ce3626b962d9561034f5b65e93b951e26c88a99e74c7ea10ba3fb531a4d139d28dbbe1a4de08f41c00387abaa6d391feebf58250d125fbc27e1fc0c72504a649d1cb2abf8d5a625478f035dc6839d396b16aa831c93fbe241a01928533840b1c40beb71651e3df0926db6036e26478d2ff1fc872e74e5e48f194cf75931fbfe079073010d2a2fa1ef7650d905581e03fa0b585e90455fed4265de6eb9dd70d0f4b3e0872a62b0836ff8eaecf00c182046096022e02fa00370ad4b67983a7155fe3bebdb663903770c4e05bd23671cb1fe7bab63ceba31f6038cbdbb5211ce4aa63cddd1860bb28c0c184b10e2ccc7c47f1cff10164577c25805581e036a2499557df77e73463cf5c251a5020f732c11122b70b369287ad47a3007011bffffffffffffffff05581e03b3daa2b4a4cecee1c4099ba406818dafabc914aedab228b8b63f029be0040103d9edf292d2b7d1310d256cf293052b73f542d2264249a22f5ed80580760e9032031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03cb71dcd18b321eea19fd404cf66da640b825f221a5dafe8c1bfa24954007011bffffffffffffffff04591b2f60806040526004361061013f575f3560e01c806370a08231116100b357806395d89b411161006d57806395d89b411461036a578063a9059cbb14610397578063bf474bed146103b6578063c9567bf9146103cb578063d34628cc146103df578063dd62ed3e146103fe575f80fd5b806370a08231146102be578063715018a6146102f2578063751039fc146103065780637d1db4a51461031a5780638da5cb5b1461032f5780638f9a55c014610355575f80fd5b806323b872dd1161010457806323b872dd14610206578063313ce5671461022557806331c2d847146102405780633bbac5791461025f57806351bc3c85146102965780636fc3eaec146102aa575f80fd5b806306fdde031461014a578063095ea7b31461018a5780630faee56f146101b9578063109daa99146101dc57806318160ddd146101f2575f80fd5b3661014657005b5f80fd5b348015610155575f80fd5b50604080518082019091526006815265426f6d622d6f60d01b60208201525b604051610181919061163e565b60405180910390f35b348015610195575f80fd5b506101a96101a43660046116ae565b610442565b6040519015158152602001610181565b3480156101c4575f80fd5b506101ce60135481565b604051908152602001610181565b3480156101e7575f80fd5b506101f0610458565b005b3480156101fd575f80fd5b506101ce6104c6565b348015610211575f80fd5b506101a96102203660046116d8565b6104e6565b348015610230575f80fd5b5060405160098152602001610181565b34801561024b575f80fd5b506101f061025a36600461172a565b61054d565b34801561026a575f80fd5b506101a96102793660046117ea565b6001600160a01b03165f9081526004602052604090205460ff1690565b3480156102a1575f80fd5b506101f06105d4565b3480156102b5575f80fd5b506101f0610621565b3480156102c9575f80fd5b506101ce6102d83660046117ea565b6001600160a01b03165f9081526001602052604090205490565b3480156102fd575f80fd5b506101f061064d565b348015610311575f80fd5b506101f06106be565b348015610325575f80fd5b506101ce60105481565b34801561033a575f80fd5b505f546040516001600160a01b039091168152602001610181565b348015610360575f80fd5b506101ce60115481565b348015610375575f80fd5b50604080518082019091526005815264424f4d424f60d81b6020820152610174565b3480156103a2575f80fd5b506101a96103b13660046116ae565b61076a565b3480156103c1575f80fd5b506101ce60125481565b3480156103d6575f80fd5b506101f0610776565b3480156103ea575f80fd5b506101f06103f936600461172a565b610b1f565b348015610409575f80fd5b506101ce610418366004611805565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61044e338484610ba3565b5060015b92915050565b5f546001600160a01b0316331461048a5760405162461bcd60e51b81526004016104819061183c565b60405180910390fd5b5f600e8190556040519081527fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de3906020015b60405180910390a1565b5f6104d36009600a611965565b6104e19063042343e0611973565b905090565b5f6104f2848484610cc6565b610543843361053e85604051806060016040528060288152602001611ad2602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906112ba565b610ba3565b5060019392505050565b5f546001600160a01b031633146105765760405162461bcd60e51b81526004016104819061183c565b5f5b81518110156105d0575f60045f8484815181106105975761059761198a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610578565b5050565b6005546001600160a01b0316336001600160a01b0316146105f3575f80fd5b305f90815260016020526040902054801561061157610611816112f2565b4780156105d0576105d081611462565b6005546001600160a01b0316336001600160a01b031614610640575f80fd5b4761064a81611462565b50565b5f546001600160a01b031633146106765760405162461bcd60e51b81526004016104819061183c565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106e75760405162461bcd60e51b81526004016104819061183c565b6106f36009600a611965565b6107019063042343e0611973565b6010556107106009600a611965565b61071e9063042343e0611973565b6011557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61074e6009600a611965565b61075c9063042343e0611973565b6040519081526020016104bc565b5f61044e338484610cc6565b5f546001600160a01b0316331461079f5760405162461bcd60e51b81526004016104819061183c565b601554600160a01b900460ff16156107f95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610481565b601480546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556108429030906108346009600a611965565b61053e9063042343e0611973565b60145f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610892573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b6919061199e565b6001600160a01b031663c9c653963060145f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610915573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610939919061199e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610983573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109a7919061199e565b601580546001600160a01b039283166001600160a01b03199091161790556014541663f305d71947306109ee816001600160a01b03165f9081526001602052604090205490565b5f80610a015f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610a67573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a8c91906119b9565b505060155460145460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610ae1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0591906119e4565b506015805462ff00ff60a01b19166201000160a01b179055565b5f546001600160a01b03163314610b485760405162461bcd60e51b81526004016104819061183c565b5f5b81518110156105d057600160045f848481518110610b6a57610b6a61198a565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610b4a565b6001600160a01b038316610c055760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610481565b6001600160a01b038216610c665760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610481565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610d2a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610481565b6001600160a01b038216610d8c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610481565b5f8111610ded5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610481565b5f80546001600160a01b03858116911614801590610e1857505f546001600160a01b03848116911614155b1561117d576001600160a01b0384165f9081526004602052604090205460ff16158015610e5d57506001600160a01b0383165f9081526004602052604090205460ff16155b610e65575f80fd5b600f545f03610e9d57610e9a6064610e94600b54600f5411610e8957600754610e8d565b6009545b8590611499565b9061151e565b90505b600f5415610ec257610ebf6064610e94600e548561149990919063ffffffff16565b90505b6015546001600160a01b038581169116148015610eed57506014546001600160a01b03848116911614155b8015610f1157506001600160a01b0383165f9081526003602052604090205460ff16155b1561101457601054821115610f685760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610481565b60115482610f8a856001600160a01b03165f9081526001602052604090205490565b610f949190611a03565b1115610fe25760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610481565b610ffd6064610e94600b54600f5411610e8957600754610e8d565b600f80549192505f61100e83611a16565b91905055505b6015546001600160a01b03848116911614801561103a57506001600160a01b0384163014155b15611067576110646064610e94600c54600f541161105a57600854610e8d565b600a548590611499565b90505b305f90815260016020526040902054601554600160a81b900460ff1615801561109d57506015546001600160a01b038581169116145b80156110b25750601554600160b01b900460ff165b80156110bf575060125481115b80156110ce5750600d54600f54115b1561117b576017544311156110e2575f6016555b6003601654106111345760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000006044820152606401610481565b61115161114c846111478460135461155f565b61155f565b6112f2565b4780156111615761116147611462565b60168054905f61117083611a16565b909155505043601755505b505b80156111f557305f9081526001602052604090205461119c9082611573565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111ec9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461121790836115d1565b6001600160a01b0385165f9081526001602052604090205561125a61123c83836115d1565b6001600160a01b0385165f9081526001602052604090205490611573565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6112a385856115d1565b60405190815260200160405180910390a350505050565b5f81848411156112dd5760405162461bcd60e51b8152600401610481919061163e565b505f6112e98486611a2e565b95945050505050565b6015805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106113385761133861198a565b6001600160a01b03928316602091820292909201810191909152601454604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561138f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113b3919061199e565b816001815181106113c6576113c661198a565b6001600160a01b0392831660209182029290920101526014546113ec9130911684610ba3565b60145460405163791ac94760e01b81526001600160a01b039091169063791ac947906114249085905f90869030904290600401611a41565b5f604051808303815f87803b15801561143b575f80fd5b505af115801561144d573d5f803e3d5ffd5b50506015805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156105d0573d5f803e3d5ffd5b5f825f036114a857505f610452565b5f6114b38385611973565b9050826114c08583611ab2565b146115175760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610481565b9392505050565b5f61151783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611612565b5f81831161156d5782611517565b50919050565b5f8061157f8385611a03565b9050838110156115175760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610481565b5f61151783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506112ba565b5f81836116325760405162461bcd60e51b8152600401610481919061163e565b505f6112e98486611ab2565b5f602080835283518060208501525f5b8181101561166a5785810183015185820160400152820161164e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461064a575f80fd5b80356116a98161168a565b919050565b5f80604083850312156116bf575f80fd5b82356116ca8161168a565b946020939093013593505050565b5f805f606084860312156116ea575f80fd5b83356116f58161168a565b925060208401356117058161168a565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f602080838503121561173b575f80fd5b823567ffffffffffffffff80821115611752575f80fd5b818501915085601f830112611765575f80fd5b81358181111561177757611777611716565b8060051b604051601f19603f8301168101818110858211171561179c5761179c611716565b6040529182528482019250838101850191888311156117b9575f80fd5b938501935b828510156117de576117cf8561169e565b845293850193928501926117be565b98975050505050505050565b5f602082840312156117fa575f80fd5b81356115178161168a565b5f8060408385031215611816575f80fd5b82356118218161168a565b915060208301356118318161168a565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156118bf57815f19048211156118a5576118a5611871565b808516156118b257918102915b93841c939080029061188a565b509250929050565b5f826118d557506001610452565b816118e157505f610452565b81600181146118f757600281146119015761191d565b6001915050610452565b60ff84111561191257611912611871565b50506001821b610452565b5060208310610133831016604e8410600b8410161715611940575081810a610452565b61194a8383611885565b805f190482111561195d5761195d611871565b029392505050565b5f61151760ff8416836118c7565b808202811582820484141761045257610452611871565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156119ae575f80fd5b81516115178161168a565b5f805f606084860312156119cb575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156119f4575f80fd5b81518015158114611517575f80fd5b8082018082111561045257610452611871565b5f60018201611a2757611a27611871565b5060010190565b8181038181111561045257610452611871565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611a915784516001600160a01b031683529383019391830191600101611a6c565b50506001600160a01b03969096166060850152505050608001529392505050565b5f82611acc57634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220b4ee14a0b8eb811962639990c9b615bfdb8387e2a22aeab4d34876538bd0b62764736f6c6343000817003303c2d0e209c7643d4d2d63d7f89248e74532c70fc7999f7374ab26d158762d380b005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90411e00582003914c11c49910044c0727889cc10d51bebbc1f990a38e4bd3d42d89a6d88b6046657d1604494b00582003e5a5d31e508f1ecc3dfebc4c0c01b4d6ec51d5ff754fcbc707a08e7822655041010219488000582002a789c08c6d853525995fe3dd35d2dcc3378092e7b7b5a5ae094e7aaaed7bb25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03217946185fd2f35cbdf5f1e10d54f5a602684d053fca67bca607f1073d5863320058200294d57597ae163920c77ba31aac3df2cabf59b1371e50383b7f5a582f92c74b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff035b4657604ab73d149c5bdae084337bd0b025fbe15c6d714494019e6f114fab690373d399263c16d4879735006a7e80e94924683bad1d4f53e2900464e6bb0f179b038b02d372ee3d5fa5ead7d68f5e0d0a13658bab0340251a1913e67b9062d7892f00582002aac3e90a94b3e80af8933b813fc7e79854fb21a2a797f275429e05638cde805820ffffffffffffffffffffffffffffffffffffffffffffffffffff4e7b9de3d964030ebe676ff67c599d2bb8104eba20533e6e0e9d3b11adce8d3f372a0c9af866da031626f5b31dbe64cccd3999635c7a4eb140bdc906af369180b1297ec177bd4935031bca6d0cbc9adcf214e8886b62b2490a3aa32c28fd7e49989d440ff885c04bdd03dffd96bc59a7fb1337209c900ec57ac7d2c1e4c6534934f8b5ce4feb500a90e200582002812faf793c5370ad2e5d5e2957dc8d9903908480534473cdf162ba2ad9ab565820fffffffffffffffffffffffffffffffffffffffffffffffffffe94cf19f9ceb9031bc59eda1dc9804cb6afc17be320a2e33461bc0b5fd3f8beaed3a4c5db0624730219f7ff0058200265a6cb91a435235abb10687088efd75a547cc2bb38e3aca4629d5288547ddd410103872fbdccae270d4398f1f8566a98d5899ef79edf1e01ca5fc7b18eed2182778f0346af3d4a0f5dce19fd3453f39612249a8174165d1616c89aa9efc8d71b8f3fa60380d3c14701f504af3937466ddb8e60143f198dbe0b6530bd0db322ea47a0816303af7a82e0867c22a723a22448c60354d39e1c859f44157218d3641086d70edc80031e2a4c1965301fdc27906e4a2b2b0fe8041635cb660bb9feb49ac4ba6fc5c5c3036fbcf402365b24dfc44e1dbf13b15231b7e8d054c7cea718ef388fd04cb199d30377db2bd596dc0d6775edb7727c9201e9d2502def5e90dcac09ba9affb032cc5b034668cce9161ebb6d28b8ac38358475bd00ffdae94410614d75fc86222059a802030deab6089b4641aec5777adb033d43d0c4105b75965fe124452d6129728c6ca10389f9e4ce38e551e72d09178bd99c2fd4d5a8ed43257032f018cf91cabafb3b3900582003349939792f945084ac72e820aa5c1b2afe623f1557b7a6d477552928aa4ef05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672047f6a11f484ec00000582003585a605539bf781654afb9c1b69a438ecedc6b922d10200223a61d89c2e3604cffffffffffff52b743b1c76b0219014103264a69108070655a9177505b80616237f16d3d702b6485825f427face1f046b703549747ee0e63169436322cde0136f5c812758bc5971bc59f97ffb3c7a29adaa7005820025e30648ba4ec4b3ca8607de98b08ba4e333309e5a79ab7a7812125cb6e70ba5820fffffffffffffffffffffffffffffffffffffffffffffffffff9067a56805e120219efff035c0898da39d2f598adb6020984e6f2fe78e74a40f310613a1f678a2bb31804e803227609726ec18ba24f124b00e6512313b7de1d975d37e37a1192d60d1ad7b44300582002266102824cb0f6dc413ca0b687f5b2f6d44073276950189ba9695a8b4133c146397283e664d6005820034eff3c65ac1b8c9334951a6490f47aa1b7350bcf4b98cff9cbacd332c6ce304638fafa27029100582003ec6e12dd7a63054253a1774a0d6d6eeb21cc51b84866f44adbfb479903b6505820fffffffffffffffffffffffffffffffffffffffffffffffffffc6cd88333b87c00582003d9f004b098a21cef775b7772f3c0365279d3623810af7a5cec021314b1a8204801147f6fab88e974021954000058200257b80715f8574cc2e71ad1061be4a8aa4ebe200dc131d7372ae49507f002c34703b30e8c9ac8000368e71f3d0dc79b86eda54efee38c88a891b84df6471478e5daa7524ea2aaa3c9036a1ce98ed0fb1405fea0cb7db22678f6ea82212af3d2eafbb670233e068da6a500582003d7daf4c34829d9303f8b66c1383840dcd2d6ecc27173fadecd8277709789d05820ffffffffffffffffffffffffffffffffffffffffffffffffffff7ec29107777800582003f8a3f1d87de873026499677480ceaec1e4bde8063df37afcdaea44a5cbad0047020c0125d7f53e005820033076b953375d61b20ffb29d68657a0f0e7b7579da57118035ff84c262fe850470103a68c842e180219220200582002893825f8cf87194f9060829fe6e6311631569403b1fd7fe0f22f228fb3aeef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffaa6d7f56a52400582002a4c01ededf5dcce880a57c117169724819921d3a315654e907e3d026efdb455820fffffffffffffffffffffffffffffffffffffffffffffffffffefa235ae8c6ed03e4501560af5058dc58eb82dc3e62d68ae6df84858b6d185dce8c47952a07cd9b03a8e9ee1b86ca467c6673c6fb48d7eacac69e35dd441ebcea7171af969830b2a302196ffc00582002ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6847f6a11f484ec000034bf75d957ea6d7f3a798898ae8f33330e53725791cbe63010aed811b1331cf69031510fb3574aca776f8178097d8621e8f52fa3f4a88c05b61411122c04f83d2290306fc73c55a8aebfcab087708519a12eca2843ccc43fa89b9dd801404f90561c8005820026a558805650c5f18a632a7190e788a8342123ca0be8a216b2d6d15d04de1615820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200240c94462355b8a604439328f1c4ced7e62d5bfe938f2e2cc4ead0022a688de5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820034dc2e98e6ccfa3a7de085364da0223a4dedb95ab62fcec1bfb2a3227c381505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820037551b6d5bf34444a81ba245e24cf4e1d216330a0084caf462a0818cbe0e7905820fffffffffffffffffffffffffffffffffffffffffffffffffffe342610b25a580214005820037e938793c8ee0f146f568b32e69cb95e6f24956a5ac194ac84ce3f79eec6705820fffffffffffffffffffffffffffffffffffffffffffffffffffc4cf173653800005820037c88bfa62c5b629ba98e22cdb464ed44b7e41074ad708e9d6a986fdca0cda05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219140003cdffa2c9a809a0cde10ceb4db1e2ee10d7d6529fa01f123a9747b460992e407d01410000582002d2fdabcfaed4a045e842b9622845c0bf49abaab847249f7a450f1fb8c468375820fffffffffffffffffffffffffffffffffffffffffffffffffffdb16b8027f73f03818fada0d8b63b345021f1ec726151eb1889b2dce160678744c1e19c73e94df0005820026891d0129cede3373922f376406ea5eaf64190a95c6dc13482bd9268ea919a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219cfee03aae2ff7f8c2e858a28b7eb5863ba183b180e89a8c5fff90de61526c5321126130362711eb04a101cc645623db9039ccff1db5a98b4e717396861308164bafa78f60315e5d675d3cc416fc3b33d25d9ec1b8c163e273017bad59f8e6981a89eacbf74034b800ef965dc935215bca34252bd79ff7b186a9992ec842c3283996e6f902eb703b3c6b17a265314dd1d052cedc8af54e2d67d847b466cd6fcb4b8f870ac88b28c03df0d541ebc756b80bc88851144ab1faee969ceba0ef363971c8b1e1eff933efe014102005820025786a638da8861037a059ab80aa12d5ace18ae703140a6e68c03325cdbc41a5820fffffffffffffffffffffffffffffffffffffffffffffffffffdfc51cf307c62005820023cb4280884d764d2d16a45fb21fadc1d6d785ec2348c0ee914b1e134af0ee35820fffffffffffffffffffffffffffffffffffffffffffffffffffc4cf1736537ff00582002ea84a4b4a510f750ac40f6f8bbef86b0d56e2788efe524b6e96d3c36278f1b5820fffffffffffffffffffffffffffffffffffffffffffffffffffee7336314feca036b6be4fb5b64938891b159ec17944c01baa90f83f7f99371100c6c596963072100582003caae27b08dfab4bc14636759b6e4a5bf87b7160443e47ecd64b6cf932d21104701067018a126020058200307272763fa2f0d1b8cab9a0648d48e77d1918aa106e24622821a4cc4cc5a505820fffffffffffffffffffffffffffffffffffffffffffffffffffffc5647b38a2c00581f02b9ea7305db53d60865425d9a094cdfd07e9be9f22f3b1280d1e73ca254c8410100581f02236e895303dac47c1b4539fe720a674491a41521ce1906b239d4e1f65c4f473e7bac9be9150c0212005820032bd16577f55d4c45bba5ae286266628a41dc64f918e5d32763341bf38c8fa05820fffffffffffffffffffffffffffffffffffffffffffffffffffeab75542025100219850400582002e85316a77fa13341d93d25215282d98341ea97307be492d40c161d00dc65165820ffffffffffffffffffffffffffffffffffffffffffffffffffff9a10cc2f0e9103b5fe6145a344fd81b8286619a8e67f0bd6ee1674b67c4f9c038839f7630f0fe803ff86f841686fd9cbbd7f2efd5e31b0973cf5ff7e14218e6da1805c243be8f9250219fbfe03f394b76e0e3953a9e798581f7ccb33bd5d4eb7f9c3535b39d6ce3a691e0ec51700582002d8e883ea29dd8a8fb1a095df8a1333df2be9fda88ccd9fca7efb6a0aa924c05820fffffffffffffffffffffffffffffffffffffffffffffffffffcd404deb8eb58005820027034b34da9f83ae070757fae7ef5d863dd4339575d4ea16283e14bc9a929a35820ffffffffffffffffffffffffffffffffffffffffffffffffffff8e996f8cf5ca03102e3ff2de9b0f6827c14efb7293a6f3a2677c9c941a7f235f9da9945c54609500582002827a6108182ed4cc25a7a3936466d5dab4261c7a131635807416742f261fe946a9de0586a6d800582002f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec4755701000199b924ef880448fe0286bb3e9ca46090da9a9ff300582002788fb56d022b8bd55345dec21b4321ef2cbafdcd32df75c52dc28422fe08ef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032574817ff8935a4203d7c907d7ca150c2d357e1abb0047646eeaeb709066ad2500582002938b280988f755bc3522cc8f4bf10e21bb517b053791b99227a2b44105eb6b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002bca120a8f37b71c84e246050665bd94e724d541555423f6d74f1a422a2f0e65820fffffffffffffffffffffffffffffffffffffffffffffffffffdeced839823f4038e5d09566fa3de0f7bb7c92dbdbf708211bcc266c6a5f1a19705ebfae7c56538005820032a2abd35ac6d515630c0dd224858510fed3fa2a6ceeeffdf53215d3ae73df0465adb5919e00000582003af8595a4d5d63643105200328957a1547081e1276c3e5dc49405da510bb4805820fffffffffffffffffffffffffffffffffffffffffffffffffffa7a180c7558f702198008038011b69e6fd4322c4b13c5e20800cac32fb6a706d24301764e12c0abec60d66a00582002a7581e5965599390b75cb2d38555bc6f37c919d095d6ca32187d5c741f5db75820fffffffffffffffffffffffffffffffffffffffffffffffffffe5220276efac0030d77de0d5353c48f61659b23df19fd4154bc541805794d9d8213cb6699a3c3af00582002c36157f6010cfa6eac0c7bcdd547f97705f03f8cb562874baf03fbb7927d02470167ca73262f860219ffff00582002bf360571902ae437c8fc69e50299669881d453b8abc0e0c3ad602e7a4630f34702e5fbd60ceeec00582003b453d7fba8c0c9d105db91339b20e898818b6965da2c84f23cb9b1a4f4dc605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820038ce0a6bbf684c1d99c84e6276a5998a2d1979b68156d6278f6801cca2dfbd041010219100800582002049e3b694c97a75f944cdd79ecd59edc09190d88d0acf49153b97c528cc3795820ffffffffffffffffffffffffffffffffffffffffffffffffffff5ed44cab396a00582002f309abb892ac433bf216c0296d5ea5d09ea8fec2b56bd208df08607b95eceb5820ffffffffffffffffffffffffffffffffffffffffffffffffffff9c69f3e6258f03dc7477451172142068b9dba1cff8c0a66f7844f0b81825b867bcc8a8cc68d8d7039ff792ccb9abbb55f2c62ed5cd519f994b56598c5b6afdcb850a424a018fe81103a56638927d01df84f2affd709dd9b838f5652b9606f13726ec402012eec4acf0036e2e160db7bfc0bd093eafcd80874336dee396d953b486ca7a88c6d41449edc200582003719c0e7b0b2855d8c13549a0712ae2a71fa4e0d0c5120de410824b9b5b3a605820fffffffffffffffffffffffffffffffffffffffffffffffffffe92a0cfd1a09600582003bb9457caa26ab447c29b29a544a66207e301736838cce6843bc214fcc81dd05820fffffffffffffffffffffffffffffffffffffffffffffffffffb01a2c4d38af702194200005820021a397f2cebf479bc39e1e1877b1c3ba527cd4fe861cd655f2cc10032e66cd95820ffffffffffffffffffffffffffffffffffffffffffffffffffff57a2c150479603d3b08b34c91617970715723c7261816c8e0cdeb574b135eccb85dac2c43ea332005820023c8ffa9f5111eb5dfc8e81bc45c2d6d0b8dab0ad4d64773736e39621f5345f5820fffffffffffffffffffffffffffffffffffffffffffffffffffdd16249498dab005820020e2c1760f6ead082fd301ee2b614c6c8a07b577b62e24ce355f229dc5664a247038d7ea4c6800000582002550e02cb2e269215bbc721ddbb9c47469f09ec5842067e6551267a487bcafd5820fffffffffffffffffffffffffffffffffffffffffffffffffff6c70788a9c65500582002433dc6a6b4a3c5eb6c360c04f5444ec4ba172c0ea22a9b5c4c3d27a7dfea4e461d9e13daedba0219feff03ec140d907daa3912f95f8ae8578e3c6f04cb1e2cbdaf854e8876d60b1425152e03416d584fe8f17fa00438ce6714b18fe61881dd922fb94c00a08d6da3ccf00bc00058200253a924f35675e83e8b1f3ea16c3049dc8cfe690d0ef2b01678368cce1c674d44013fa449005820023ab3fde5611ecef5f8db070aceec2690d74014cc019f06623335d68bd76ab1410103d3f530ce852c30a490264229d6680636b6d28d63a785032c06c63032fee5b0230328cbba9ae26a652bf6e7742cb9386a166f4a81c8252163c8956c1a6b54fa49e2014200e10058200240f9cab5f8aae416bed9ae1098b0fee9f500b24f0e235f25061edba68ccabb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200272b866d8ba916cc5a9ac9973e3328ff03712117bc96fe81f0d8159be9ff88b4702404355e825a7037ba2d6bc3aa15c16c5019cd019bc619e4e5b008680a9006520fdaca9522d58e700582002e7c6f1e581bd9966028ff31d35a5f536b4ff814449446813978663c6ab4c1346633a9f5528ab039062c9daae875401dff9199c03c834d86d24725e8f25440e9468466cb35d242e00582002d31f2663ea631fefaec041c529c258da924cdc9e3a966946901399e238aaa25820fffffffffffffffffffffffffffffffffffffffffffffffffffd8ecd8b8f550200582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80204201b100582003128bd411b804a1a5d89ce08318112b4c05f88a43a99289954c54251bed3bc04701506d6703992c005820037176d14e9c4b1c31092a6b3a0f64fa4e923d4a26a655eda6d76f3079e7a4305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219080a02193f3f03e9b305e5b42419de9d670125b015f8802fff4175768a10f9ac86b875e896ab520384f95a3d20e63648404e9fdfa861b2bebd502ae834a6bb7254e4b26a35a66c6f038667744ed5deeec7037aced69030edcdd1c6a23a25833e23c3077474894b795303ee4b9be77a7f537bac2b944211fd37085618d8c54a200881179fc10a30a0efdb00582002084dba719552de050ff09de6f0d44620965e87e9bf9cb2b53e45cca5f93a57464ff661603b4903f6380f484e66fe27e3ec263a73bdb6480aa29ad0fb8feb6fe8db0a034dbcd84b00582002dde14f3e7f77394afef67fd47b0bebd3118ca3c79a5b87ca947618fab76acf5820ffffffffffffffffffffffffffffffffffffffffffffffffffff6bb7c49116970058200278d86511bb2b9a40ab227ddfcb98ff830c7eb8bf096b4266fbcf98b2e90508410100582002a1c51895c5db761f982d50bddf467fe5554677203cfeb7435a8d36e09be5ca470112bfdca74994039a9e0363a5c5e2bc57dcaffc0b9d13ef0b3227d36d3988cbcf38b536389bebb3038b363af9556b88e7db04410acf6755d3e497c5a42741a5620e0d3a18c7b127be00582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440463f231a70b8000058200333e4e1dd07991701587b279c65525bf4381b1b087b9915d8bb7450fce715105820ffffffffffffffffffffffffffffffffffffffffffffffffffffdafab7cb8c120219030003d6eddf17214140d974a736db3ff5cfd1e6004438f82292f9a1056914445a5f930058200215b9d573eb95d09ef26e8fecf36bf626f9c9f2a0be22685c5547957b94bd675820ffffffffffffffffffffffffffffffffffffffffffffffffffff1ae1dc1aa7ca039f7e25b2be074d83c79bfaaeb9ee49258d2c2f838821eece17fe553a915a79280219bdfd03cd6be80e67cc20c4ef0d87b1eee3d3f180f3680e98b699e3a5edbe35176974da005820026ed6987827b034831966df033ca1de0eba27bc30f90579c5ac7f957235c75a5820fffffffffffffffffffffffffffffffffffffffffffffffffffec7113f816acc0332fc5a467029091a6c56bdef2bc15faec650ccf9553343fce7605533e60a9bc403b6939b69e26641b6b17817dad56f76652c2511b1b8670d458e2a04c1ad07482400582002f195e28c16455529e795405fe5de55955d63f3aaede69bd69b229779f06e8c4703c8a47b2d360003fcc878fee8c4b6ae7ab5ca85b747c671c23e04497cd75e1d700fbeaa7ad241ea03faa3c4e20a1303bbfe881bb5f274fceafc47cb27c352289f6be5e8281150553c005820025c1be0d17dee18235986392a154141f79078070b6bae2ae552bf17afeba52e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffafaf428ab29403c11754903c97b87b8387ae1f404d931fcbf634195f44d3528352cb11517e30ec005820025c856bf200d24f21b0f27f55bc007d41e5322d1bd2ba8225d24fc8f7f624945820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032c27e98bc6df2835f1d44009c628f609ffec179ce53141e6bf7ac1d8c33b14e300582002e6fb7d9af7b698f1336d5c08ae0306b5da3f1072643eb1655f7bc4ab3c51a5465216f8c1c74603f5a999014edf60440ff67cdce9a45ee6f4b12557e4dee28f1272cfd1710f440300582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0547a250d5630b4cf539739df2c5dacb4c659f2488d00582003df8c6f516e9a5aa8aee9e3fcfc0e2904f279f6778ac0e9d8d8295e6dcd36d05820fffffffffffffffffffffffffffffffffffffffffffffffffffee33c73c4b31300582003c877dd03e92af5b96d18e197cf19fe493a7a13c352c0e4d673239d0d6f0b705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021940c003a6adf50fd5e3323be054faab9d523c4142c9d8961da34945e11c15f709f49add0219fffd034e3fec315689a44b1b7dd8b73fb66929336467ff6e4071c1254b85b47ef2a590005820035daecb7750f9aa07b4dde7acb230a19da15703647ac5268a135d4d484f40d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffa3f898c768ab00582003fe684d48c85e257ecec2ddcfdcc573d422807ced2b23292ac7801b6453aa304701a642368004400212038a4fb85ca6e19d7a8ac7d03db8fa2cccbd055e5966041835d9bcc36354d4e9dd03bcbb1b2add07311434c70cc12ee371c25eafa9e12c4bba89215345c24eff7b70035a9a5467a8db7a2a6094201c4dc6c9b045c6dcb1366a742f8d0671eb5dfdb0e50058200279b06a95d3b05b85a5ec7212b205ae1ed5742d5b0fad79370d3a75d552bf175820ffffffffffffffffffffffffffffffffffffffffffffffffffff88e755ce3946033d53008816a03cedb947ce4a0305065490a2aac38bb3271eeb2655990d724f9b00582002128a392ee20a5acaf9fe2014846f424899b069ae2294b8e1ebd88b2ec167605820ffffffffffffffffffffffffffffffffffffffffffffffffffff01e727571ee003078f5058bb911ec2b9d5c9857575b17ece164758c3368dd7770cf4930416b2c603850cac0369abf81e65d0c316af827abfab54988b33160867cdef358d5ca284640058200244fb0ec6d67b1f5e63c219945ad101a74271b5c894aaeb4e711376c16e46725820fffffffffffffffffffffffffffffffffffffffffffffffffffc4cf1736537ff03c4b328fb2d54c764d076f851d1f951e841466598acfbe5c1bdc920c55b3224410219dd67032b4217220c9bf6478ee5ab07ebc0b8aa8db70a4883c94f75aef803822cf08b5c0377e15c67180890696152d3d73699b99148f1f862fa98141f58cc476e8f0ae00b038d0a9759777895d555b6bb18f8db5df9a4cead9eb3b37d38ff88e167a99c82ce03e381fd037f210e2fab674b7d99eb95caaab1da920449a89624aeefb65c1b938e03d0b64ec6788de0f52b28315b6a37e7f0a7f3b673c5ac281b53b5fbc752fd9fbf005820029320929b95b6f3830debd3f7ed02f8f05ef182643b279fc0100af3c65182ba41010360b34e13ed1c8d845a54947b3c9ed13c9270344db63e990d6679952c850b9e7d03d4b1f5aaf51d38138e06a703e28959219d580855cdb8ad9fec94fbf652fc1675033260230361283c784b777724dd6e6dddfea1d1585a4ce614692631cf9732122700582003513004e1b15cee00a7fc7c9fedfd4acb1aea1772a7286f2b8491d7775824605820ffffffffffffffffffffffffffffffffffffffffffffffffffff99ed32004abb00582003aa10f8c7b46390c10fd3c598b5b849f6ada3f542e357680c552550489501f0410102192020005820029854d24d7681ad4f8fa99d974c80e82af0f7289783369f6b4f54998cbe54b75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0383c521a9f685dd487db3339b0d7fc9e20d37ff9f909c6e3b5888076a4227d6e10219ff4e0219ffff05581e036062b2e3358861e95dad8001395f0ff869159d56fdea3adfc46464ee000701191b2f03fb02a621704146ae5af4e37acfbe1c70fd2a70dd94b003b1d9291e62235aec75037c1dc75b6c7b8c8202691ea0b0a582281de830a857df1ea13616009e6693694a03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581e03e7bedc28e27fb1e6f1c7594609de953aff16ed21e19f56a45762a3cda007011bffffffffffffffff05581e0384aed984c0bb67bcfb434feada0df3a444fbeb17d38d8038b06ea354600c014761d5d24fd2d800036d758f0a19f8eb17fc9daf02009a005a507c5a5e77167974b43e138a322fc9490219ef9303f08134956bba62b4c29a403f1bd2dde399ae52ae6f80242829fd72dd0e9e099a03fa11a58077f8580c885cd18ffbfa9c812841ce219a0b760c1deca5e06369ca1b03825b0b4bc169e0c7abb735fb8db780e19134e0362baf755fb573569bdc2ae46a03dd06223fc38e9bc75d1b89836ce2add2998378b8aa58fd65dd2506bc7590647e03b9612296f84192cec6ea13a62f4d5dba1ca3b024d21fa1945846578cdd509af603ede2c314c232181def72ded35fbbd9a230b621103a7509afdcecebf770ea4d070383eb318207307e97bae1df2092a951922bd098a39022f2f2ae784d7558ec6a8903efd124841915ba66417e48201d23f174586af7fb69bcfa24919b2056689f0c6803cccf3159346896584269a90b6412a10a555f954111a15013a38417dbce23496503fa8f094050dc90f8285c69acceea033784f91bec8e2040f633ab08701b8b7d69030990a9922dc9e5ec873e9a74ae7c631de4734b870281b472f9d13ad8b86c235803c3d60f6c14980fbde61e27d9b361c43404b4c5d426bc34427d7b6e20b8ff6af003702a83a3ca255337b2d98d0add87457fef99b6868f7e69bb9388fdc92cbb623903022a19765a6d4dc3fc00e7c561f7c86201b45c58b80346fb2b0014bd2e1460cd03cb0369d616f7922f89ad274f6770ff7cd7175c0ecc387256636670b7a6cc05030219ffff03da7f2152a7d5be748669e866abd3e6932c95fe64b0bfc5065cd5144e2934f213038b4a6404689ad9fa1c0adc40a64f072f068c55c4792464819e22b23ac67b4fd503bcafb713270ef73a08a915cd9015521eb476a1d7be436cb38f95b80280b65d6103fd48df853f5bc64c24b874c1727e30a5d1d01a6118b11381b71feea2fa6c4790038e5d4757956b0c0704b707849e1a0b23e3633cd066cd3138a66bf1a016e3c79203c954c0b050bf1d3fed897bc4749d96600fb1f08826f3bf7777219fd5b0bfff6503ca52dcd02cf64cbb569157f7594698bbb5e17414142b524f7b8b8327163f187d0305a3c8ba1443e4fe0577dcd1edf6bd728f141248dcb85f14bee0aefa6f3b67f10219ffff03904b4418b8f22a31f4d199165c51a0e467fb788a3bf9e031c035fd0d7b40f7e603b7cbf8f3149183dbeec857bea89a9a9d4c484fda83b374c68f593f17f8ad16ff0394f98c1d66d86343d1371f1edd359ecdc3ac20108a4375c51f2c1ff0a6740e7403e01c7e2c1f5f8a989d63ef0a8bc4c8e50a0ff2cee8a57e285f72ff27b8218826037dd0c01dd6653e5e1daddf589af9eaf79706eb72899df8ca0d216ddb62c340b7031f7619c95908dc083130c95821f1e8a4549b820e3412c70d2879a3b55235c26b03ecf1439ac4b2fbe690b126079fef94c1219c632749bb03f61a2708747111595003edaab7bd93f357b1bd4d361733e9364596c40c8c3fa2b478d9f5b377a0e044d40219ffff0334377a702cef241f5ec52fd9bd217c1de863889823272d2b080996389e18fe3b0344a544512d5f019b33f81df8744c58c3c3e154f3148a5286a7572014c79c30ba03dc569f6212293bdb02bd83211dfdc25e47bf60e489a4b08ccb57de1dfea3fb2803142a30224650c4df51fcbde6ae299bb53d5786a43fa962592cc7ad742c637b80031fa4e18e104a145deb76d34f8052922bc966609b60434b55fd23cf167c94ba6d0308292c63628c885ff0190835848bc36e5fe37b355af0d096d8e7ce51870fc9ee0395780e28f42ffca52f3521cd9c7207d4a73acf082c5060a8ec119ddc4cb70f2b03fbc34873bd64a5aad012a9f5e07cc3bf65d2b43e1a302f03054c94e4891084ea03b1879c98eddffdd6c186ae9ae302136ae51c9d24614f437300dc66df9e1dd42e03993af80fc9ebb39e3162463581add5f53771437950c6510ba8c7b61a11ff64390398f7a3f6e5af0a976ff97c47792bc46f8ba68f07b0cb3dbaaf56e2e6f1b89f4203e07f409cbecded38506f43fdf8833217a98d1ab6560fdf5f28fb09a2d639d9c80339401f2aecb88c61d7591cf8bb4e7b44188879d3224508ee584a9b32061bdd4903443c5be5b0e84f85cc9bc5be9d8d1df7ccdcd88db96d1fab561ac7f74474637a03a01253a9f278c7742535f641127b585ded1fd32141e6cea47fed8ad7eeed140b03d177a709f39755f05104beb1eb4ed31eefe8663970ff9764d61891c5334be3bc03656e2c48047fb00b579c219e3e59cfc6af56f3a7059263ba7e4013c2241dd3f103600c0559f2bdd565f7ae810736af8795c92edd5c2b030c9934078e92ccc761de039cd30d6d7b5baab201cb501b726bcd989bf7731e50ddae610e526b7630db732d03d867132d24d0d9e14bd7193ab33d713e8c5d455653987a62e7f001295981c02805581e03902b26b0360e8e5e485cbe4ea105c8cf170de385260e521d4affdc65400c0247060209aa31900005581e033e8a6921a57a33d1b8db6797bb80decd2e8c69ff8290e200824d2012300c024502540be40003742446eb69276262fddc13efbbe6dd02f3080937dd26a88229b23aed7730741703d5e92460042cbe1f6ebebd7e5eeacdd4fef9288b7517b108a56e1c5a574344e5036368ae2082a10b92ac32764f5601bd124119368b200e69b2ee9f31b3b637b43d031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e038d653cc40e5fd903de348e44f48ea3b2e3f2e3855c73b36408b2b72b1007011bffffffffffffffff05581d02df55ab42bd1e0300c7cb1d925935ec8299e34051a97436e3c940baa10c1a00023d5f490144d4708376f58ed305581d02b81d2c910ee5992eaffc6d9d1abbabe18cdf9970de2d4b9970701bcd08471e415620dba0580219300003684f8f600ca676ad42d051d567c7d5d953b74ef42209ff8471f04ce67f44c4f805581e034f45e202e77caa701a31d22490966fea997410f112ce63d52ad80c02f00c014665ebaa8d7c180327c02a1a822222c2ad6a9a01021c98abf05dbe6d19540035756ef97697ed41d003f6e3c175a3d58fc6bddf9e654313e3ba0021d1b360d78fc6f604f02cb857812805581e037dbd56cd6abb40775b92ba27cb03287bc044278affca53df424b9c15b007011bffffffffffffffff036478d27451af9fe8d72474d01bdcee27d6c7a99bc15ab09537246f1aa4b46a5705581e03dafc2ff0728c975f883c6afc62253b7e31a4bd518ce825581ea6932bc00c0248015aea37b99c0e0002197fb5034e4e86c53013b91357e607af7f0cb87e4f6ab76c23167e65d697c50180f8095203243453d1d1575e037f9fe465cae6e1eef3c800c73ab706db8f4ec845a04ec42e03c5340b5f7826e39259145413dedcdc994602d95ad02aaa1121b1f04ab9b8b37e03482e6c62e71dbcf73b7903ffd111677cc047a21c45b1bbadb1757ba53836b5320395b8c59ec39883289215f7b08e3a4f5e901442e9dc01a18d347336ed4d874602039c27d820ca73dbccaf68ba56d15fd0f030c5384996b7e4fe129e41cd53948adf03a4606b755e7f32a9fa7e4641ea2e934a0b4fb26726b23a4fb058f268b036f6e30372ab85f9e738c8f174da6307d104418367a1ecaa35cc4194ec5bba9060939627031395e606275b96dd8d554784f16a3bbffc8336d19c8355dbe61720e083bc67430367e543cbf3eaa321c0d12527ad21f02214cf892c0f48a7d72df9adbf5fe3f8d503141e9ed5ddbbc95a8b81eb6542987f9cb6fbbef7a144edb1d31e00099030bedb0219ffff037da4e513a15a51b62524ac88f4a4ec7b3ff8dbce875c330decea5cef5406c42003df172a42dcda0eca61db55bc83954f7738072b1ac4d5e60c486fbf75ce122e10038fea5f554069b756749f6c07e4172d8b785984864a89038fb9db5ec1a9953447037807e091d56143af4e1380c5cb5861646013120636c59c956a5830f47351f5da03bfeb52fafdfc582291c4f7832635479bf9f0f5c48eacc8e2de57b139b54ab0910219ffff03c525f9d9e5c91b449209ad5c461e638dd9f827de9848f8c403f5154287d9758c0362960f94d780b5203c28a54034185f5e93a689c0d180a51f90f4125f65da236303a59612669436c6ea233867e0e4a9a5fddd61b5fce264a9fc20d6da501f891a6603e9457397a2b91d9449d99b7b7ea1bbfde9cff7dcc07ebbb27933cc2602e935af032d34e8aa3adb8e9fb8541b750e06cc41564c1e0a9c16b2a0992d458c931ec3e8035783882619800c9a16f5c5d1abc2a45710cb7d961fd46765337dac8d601d8f7403cd58b0b352c5111e9d685dc95b156b8a5c1cd36bca7d809376ab64b6a4a03c14035ee52d5c033dca8ae09b376b75c8e5b2ec734ef25d60748cd04ead9a15dd072f03df7379b1043e0cc2358cce0227557a05500702378b80bffa44990462be09f32203697d854c61371e48dc44b99f8f5f1fc9881a1ecdb7c21e090a4d87b894d2dcba03cbeab6aa36bd10547042ae0ce51acd7aeb0fc9e333ec744b23f33bda43aa84f60219ffff03a80219f17c769e79c5a0c6809b50cf0b7586f70ae4cae47ad24d3cabe6bce37c03d2bdc20f3da203e442b052d4eef2ef0c8f4f54f0969168b619da8d5a289a12f203703e8f6ff55f6d6c5e8af6e0b221ea775310cde9d946ae346e972ae0b6a0a6e80325a16e3848f47c5a2d8b919e28e7dc52e74df3d70ca1eb41163ee1c9a85c8bd103cb620814714e6dbb9e295800b1a6a852f4814349839bf60f5771343875e5f75403cad928dbaab792590f597a241cc13add32b20c23a3054db9571d967e1835f07103ab39f71c889370eb1e8eddd2d2ae09650d643a46c22b82d200a766b476b4372103643cba7b23071d4a12ffb45855763828916f1cbaa29eadd3ea9abf0509825b11030a52a877315ca651ead30579e3b0e59d8a7a81e9637a1cc5e60920322297179b03f94a58501aaeb30afc49b1c354b76192556b13ab896470e52d61eb3e1699106103f3f0f7199467ae34531598cef53f8c491d2677ad22c8e50132e97e54130564150219ffff03ab1e41dbdc64f8a300ff416035250c73bbcc5601a9730a1a99c69f0488251d89037a0e81cc32597f72567aa3a9b89adb33c84abae115f49b0efc99a80975843dd303069a494dae591fdfe66f21991bd923edbf0181fdd14770003e2b575d4d40e04e03fc5b0602dbe47f3c15bb336c3643e1995719eb7f62ce6f47e598dc80de465f620333f9fb2e33e0eabe999fb37f8094cff078babd83d7e7fb9ccf64dad5d6479042033bc02e538913eb0e88a949d4a86fbbf5778520af2607e961099a593bb95a71570334e92d884a7ae1af3f4081ccbbcf692d6731865052a5ed44c1de2ebbcb81127503dd31b401d5dc97d4294ae4dfb6adffb9d940141ca879a7f611efc0beef87a208036defc6d8b653131109889f4d5fdebef1960c928137b48f0a3d1165617b2d9dad031d90e25a15f58a66e35c8bcd9cc1b91db7aee5dc4d4dca584a4484f979073a12035ac8add9bcddc90df3f0f8c5ea52e087ea415621b2b1a56c7bbab15a0d60006603d0d6a34c51b7a999ebeaa1704f725f4986591c0977943d2b3c44f0a3550f485703c7863dace909ac8e8422adbae6a56203837b5a370dcbd7ba2414b24f2032e13e03f047805bfdd820bb1db7cf61f0e31da59776b3fc5e01d9706184c5769eccca6f032695598295d110343f30f7d2165d59c6987a5bb6ef8546ec03d5ead5e8cbe1ea03b3e755945f6febc3cc3f1805dd1f20d37a7af6e9a8a79b244e9750fb5322c8af0352044a875968486bc156154b173e14e3974e7abba5e81be4238548e8dee16f9a03701a0d62ba523e89e4519172a6c9145e0e183339195ef4660e75c501a0d78d7403bf765ad7050a45d8dcf14fdb0b89e18a7063d1a9f8e06c1c6b611bee4d8a1b2d034468170ddb241c425c7e6f38f3b20390bd9626540aec74d16345374fc834bbae037a67f2257806b1adda69a6e6c07031e58bf538b8972ffd5c7ca982041b389f2503721db9ef9c04f161f65df80b7b7252153d3fe0af64d1ca1612d61307e42cf65c03760bc2c52fcd409a5c0dc0e2ba5ee0c4f4ce998efb6387e2274d14f449f3f4ca03014f4b1954b633db8ae9c227b911bef281520b52258e3b28c935e62b655e25bf03eab922307217ce1104617830a63048ae970a464809e16a663395864a20ee724903b3634fa1e32c518d60cda660e7cb524ff64b64062904b25baf02060523fe909c033974f9f070ded7ae56771becdef29a0f9da3aa21503f4f5bbc7fac7401b1299c037f8527a46358a088d24273f8e98cafd5a3406216ba15a81175582c183608fedd0342a02220eb6e5d8565a56a2e285b0069db244b488a626008f9a6515c4f3e2a9603e344a35b1291d309c4c3b79498fe04b4e2ad4c5d94f2b575536e51bd0ba97d90034107fe7dfdb976bc2ed0c4135dd4c7598cc866430abd49512e70cbdcc30b8536031604951c259f0996acda688346f800e2c9dc28a9e7a51fae1abbaa986ad7ddef032eeb1157798de71c4064d2b77bf177926a4fbe058be8e13ac86ef5569873e2ce03acb368bd7ae053ef36232f7fb65e4ebe46c4e0b1fa4f68357ec3268a1e1ee93d05581e03882280052bfa48cb07fd609a14cc688d6ae6061040a591046008435cb00c0347058909c8cad40005581e03a4e40778eecb7687f23016ff880b2ac7de9fc1f17196f5affcb5dd7dc00c074718bc4653217f96030eb339ac81f2cb9bc8ed853937187ed1785b1ecaf139935e90498e045de2fa4b04591fef608060405234801561001057600080fd5b50600436106101da5760003560e01c80637b7e8bac11610104578063b5862428116100a2578063f2cc0c1811610071578063f2cc0c18146103eb578063f2fde38b146103fe578063f84354f114610411578063fc061a4f1461042457600080fd5b8063b586242814610375578063cba0e9961461037e578063d608b3b2146103aa578063dd62ed3e146103b257600080fd5b8063a457c2d7116100de578063a457c2d714610333578063a9059cbb14610346578063ae9dd5e014610359578063b2bdfa7b1461036257600080fd5b80637b7e8bac146102ef5780638da5cb5b1461031a57806395d89b411461032b57600080fd5b8063395093511161017c578063457bdf6c1161014b578063457bdf6c146102b857806370a08231146102cb578063715018a6146102de57806377ef7993146102e657600080fd5b806339509351146102755780633bd5d173146102885780633c9f861d1461029d5780634549b039146102a557600080fd5b806318160ddd116101b857806318160ddd1461023257806323b872dd1461023a5780632d8381191461024d578063313ce5671461026057600080fd5b806306fdde03146101df578063095ea7b3146101fd57806313114a9d14610220575b600080fd5b6101e7610437565b6040516101f49190611ca7565b60405180910390f35b61021061020b366004611d11565b6104c9565b60405190151581526020016101f4565b600f545b6040519081526020016101f4565b600d54610224565b610210610248366004611d3b565b6104e0565b61022461025b366004611d77565b610549565b60085460405160ff90911681526020016101f4565b610210610283366004611d11565b6105d2565b61029b610296366004611d77565b610608565b005b601054610224565b6102246102b3366004611d90565b6106f4565b61029b6102c6366004611dc5565b610783565b6102246102d9366004611dc5565b6107cf565b61029b61082e565b61022460135481565b600954610302906001600160a01b031681565b6040516001600160a01b0390911681526020016101f4565b6000546001600160a01b0316610302565b6101e76108a2565b610210610341366004611d11565b6108b1565b610210610354366004611d11565b610900565b61022460145481565b600054610302906001600160a01b031681565b61022460125481565b61021061038c366004611dc5565b6001600160a01b031660009081526004602052604090205460ff1690565b601154610224565b6102246103c0366004611de0565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b61029b6103f9366004611dc5565b61090d565b61029b61040c366004611dc5565b610a60565b61029b61041f366004611dc5565b610b4a565b61029b610432366004611e13565b610d00565b60606006805461044690611e3f565b80601f016020809104026020016040519081016040528092919081815260200182805461047290611e3f565b80156104bf5780601f10610494576101008083540402835291602001916104bf565b820191906000526020600020905b8154815290600101906020018083116104a257829003601f168201915b5050505050905090565b60006104d6338484610d8f565b5060015b92915050565b60006104ed848484610eb7565b61053f843361053a856040518060600160405280602a8152602001611f90602a91396001600160a01b038a16600090815260036020908152604080832033845290915290205491906111be565b610d8f565b5060019392505050565b6000600e548211156105b55760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084015b60405180910390fd5b60006105bf6111f8565b90506105cb838261121b565b9392505050565b3360008181526003602090815260408083206001600160a01b038716845290915281205490916104d691859061053a908661125d565b3360008181526004602052604090205460ff161561067d5760405162461bcd60e51b815260206004820152602c60248201527f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460448201526b3434b990333ab731ba34b7b760a11b60648201526084016105ac565b6000610688836112bc565b5050506001600160a01b0386166000908152600160205260409020549394506106b693925084915050611340565b6001600160a01b038316600090815260016020526040902055600e546106dc9082611340565b600e55600f546106ec908461125d565b600f55505050565b6000600d548311156107485760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e74206d757374206265206c657373207468616e20737570706c790060448201526064016105ac565b81610768576000610758846112bc565b509496506104da95505050505050565b6000610773846112bc565b509396506104da95505050505050565b6000546001600160a01b031633146107ad5760405162461bcd60e51b81526004016105ac90611e79565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03811660009081526004602052604081205460ff161561080c57506001600160a01b031660009081526002602052604090205490565b6001600160a01b0382166000908152600160205260409020546104da90610549565b6000546001600160a01b031633146108585760405162461bcd60e51b81526004016105ac90611e79565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60606007805461044690611e3f565b60006104d6338461053a85604051806060016040528060278152602001611f69602791393360009081526003602090815260408083206001600160a01b038d16845290915290205491906111be565b60006104d6338484610eb7565b6000546001600160a01b031633146109375760405162461bcd60e51b81526004016105ac90611e79565b6001600160a01b03811660009081526004602052604090205460ff16156109a05760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c7265616479206578636c75646564000000000060448201526064016105ac565b6001600160a01b038116600090815260016020526040902054156109fa576001600160a01b0381166000908152600160205260409020546109e090610549565b6001600160a01b0382166000908152600260205260409020555b6001600160a01b03166000818152600460205260408120805460ff191660019081179091556005805491820181559091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319169091179055565b6000546001600160a01b03163314610a8a5760405162461bcd60e51b81526004016105ac90611e79565b6001600160a01b038116610aef5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105ac565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610b745760405162461bcd60e51b81526004016105ac90611e79565b6001600160a01b03811660009081526004602052604090205460ff16610bdc5760405162461bcd60e51b815260206004820152601b60248201527f4163636f756e7420697320616c726561647920696e636c75646564000000000060448201526064016105ac565b60005b600554811015610cfc57816001600160a01b031660058281548110610c0657610c06611eae565b6000918252602090912001546001600160a01b031603610cea5760058054610c3090600190611eda565b81548110610c4057610c40611eae565b600091825260209091200154600580546001600160a01b039092169183908110610c6c57610c6c611eae565b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559184168152600282526040808220829055600490925220805460ff191690556005805480610cc457610cc4611eed565b600082815260209020810160001990810180546001600160a01b03191690550190555050565b80610cf481611f03565b915050610bdf565b5050565b6000546001600160a01b03163314610d2a5760405162461bcd60e51b81526004016105ac90611e79565b606483108015610d3a5750606482105b8015610d465750606481105b610d4f57600080fd5b610d5a836064611f1c565b601255610d68826064611f1c565b601355610d76816064611f1c565b6014819055601254601555601354601655601755505050565b6001600160a01b038316610df45760405162461bcd60e51b815260206004820152602660248201527f544f4b454e32303a20617070726f76652066726f6d20746865207a65726f206160448201526564647265737360d01b60648201526084016105ac565b6001600160a01b038216610e565760405162461bcd60e51b8152602060048201526024808201527f544f4b454e32303a20617070726f766520746f20746865207a65726f206164646044820152637265737360e01b60648201526084016105ac565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f1d5760405162461bcd60e51b815260206004820152602760248201527f544f4b454e32303a207472616e736665722066726f6d20746865207a65726f206044820152666164647265737360c81b60648201526084016105ac565b6001600160a01b038216610f815760405162461bcd60e51b815260206004820152602560248201527f544f4b454e32303a207472616e7366657220746f20746865207a65726f206164604482015264647265737360d81b60648201526084016105ac565b60008111610fe35760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105ac565b6009546001906001600160a01b038581169116148061100f57506009546001600160a01b038481169116145b8061103257506001600160a01b03831660009081526004602052604090205460ff165b1561103b575060005b8061104857611048611382565b6001600160a01b03841660009081526004602052604090205460ff16801561108957506001600160a01b03831660009081526004602052604090205460ff16155b1561109e576110998484846113c7565b61119c565b6001600160a01b03841660009081526004602052604090205460ff161580156110df57506001600160a01b03831660009081526004602052604090205460ff165b156110ef5761109984848461148b565b6001600160a01b03841660009081526004602052604090205460ff1615801561113157506001600160a01b03831660009081526004602052604090205460ff16155b15611141576110998484846114dd565b6001600160a01b03841660009081526004602052604090205460ff16801561118157506001600160a01b03831660009081526004602052604090205460ff165b156111915761109984848461152e565b61119c8484846114dd565b806111b8576111b8601554601255601654601355601754601455565b50505050565b600081848411156111e25760405162461bcd60e51b81526004016105ac9190611ca7565b5060006111ef8486611eda565b95945050505050565b6000806000611205611581565b9092509050611214828261121b565b9250505090565b60006105cb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611703565b60008061126a8385611f33565b9050838110156105cb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105ac565b6000806000806000806000806000806112dd8b601254601354601454611731565b92509250925060006112f18c8585856117b0565b905060006112fd6111f8565b905060008061130d8f88856117c8565b91509150600061132083838989886117f2565b929e50919c509a5091985093965091945092505050919395979092949650565b60006105cb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111be565b6012541580156113925750601354155b801561139e5750601454155b156113a557565b6012805460155560138054601655601480546017556000928390559082905555565b60006113d16111f8565b905060008060008060008060006113e7896112bc565b9650965096509650965096509650600061140a898461182e90919063ffffffff16565b90506114198c8c8c8b8b6118b0565b611423828d611954565b6114308682868686611a35565b8a6001600160a01b03168c6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161147591815260200190565b60405180910390a3505050505050505050505050565b60006114956111f8565b905060008060008060008060006114ab896112bc565b965096509650965096509650965060006114ce898461182e90919063ffffffff16565b90506114198c8c878b8b611ad0565b60006114e76111f8565b905060008060008060008060006114fd896112bc565b96509650965096509650965096506000611520898461182e90919063ffffffff16565b90506114198c8c8a8a611b58565b60006115386111f8565b9050600080600080600080600061154e896112bc565b96509650965096509650965096506000611571898461182e90919063ffffffff16565b90506114198c8c8c8b898c611bcc565b600e54600d546000918291825b6005548110156116d3578260016000600584815481106115b0576115b0611eae565b60009182526020808320909101546001600160a01b03168352820192909252604001902054118061161b57508160026000600584815481106115f4576115f4611eae565b60009182526020808320909101546001600160a01b03168352820192909252604001902054115b1561163157600e54600d54945094505050509091565b611677600160006005848154811061164b5761164b611eae565b60009182526020808320909101546001600160a01b031683528201929092526040019020548490611340565b92506116bf600260006005848154811061169357611693611eae565b60009182526020808320909101546001600160a01b031683528201929092526040019020548390611340565b9150806116cb81611f03565b91505061158e565b50600d54600e546116e39161121b565b8210156116fa57600e54600d549350935050509091565b90939092509050565b600081836117245760405162461bcd60e51b81526004016105ac9190611ca7565b5060006111ef8486611f46565b60008060008061175b6064611755600c546117558b8d61182e90919063ffffffff16565b9061121b565b9050600061177d6064611755600c546117558b8e61182e90919063ffffffff16565b9050600061179f6064611755600c546117558b8f61182e90919063ffffffff16565b929a91995091975095505050505050565b60006111ef826117c285818989611340565b90611340565b600080806117d6868561182e565b905060006117e4868661182e565b919791965090945050505050565b6000806117ff858461182e565b9050600061180d858561182e565b90506000611821826117c285818d8d611340565b9998505050505050505050565b600082600003611840575060006104da565b600061184c8385611f1c565b9050826118598583611f46565b146105cb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105ac565b6001600160a01b0385166000908152600260205260409020546118d39084611340565b6001600160a01b0386166000908152600260209081526040808320939093556001905220546119029083611340565b6001600160a01b038087166000908152600160205260408082209390935590861681522054611931908261125d565b6001600160a01b0390941660009081526001602052604090209390935550505050565b600061195e6111f8565b9050600061196c848361182e565b6009546001600160a01b0316600090815260016020526040902054909150611994908261125d565b600980546001600160a01b0390811660009081526001602090815260408083209590955592549091168152600290915220546119d0908561125d565b600980546001600160a01b03908116600090815260026020908152604091829020949094559154915187815291811692908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350505050565b611a4e846117c287600e5461134090919063ffffffff16565b600e55600f54611a5e908461125d565b600f55601054611a6e908361125d565b601055601154611a7e908261125d565b601155600d54611a8e9083611340565b600d5560405182815260009030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050505050565b6001600160a01b038516600090815260016020526040902054611af39083611340565b6001600160a01b03808716600090815260016020908152604080832094909455918716815260029091522054611b29908461125d565b6001600160a01b038516600090815260026020908152604080832093909355600190522054611931908261125d565b6001600160a01b038416600090815260016020526040902054611b7b9083611340565b6001600160a01b038086166000908152600160205260408082209390935590851681522054611baa908261125d565b6001600160a01b03909316600090815260016020526040902092909255505050565b6001600160a01b038616600090815260026020526040902054611bef9085611340565b6001600160a01b038716600090815260026020908152604080832093909355600190522054611c1e9084611340565b6001600160a01b03808816600090815260016020908152604080832094909455918816815260029091522054611c54908361125d565b6001600160a01b038616600090815260026020908152604080832093909355600190522054611c83908261125d565b6001600160a01b039095166000908152600160205260409020949094555050505050565b600060208083528351808285015260005b81811015611cd457858101830151858201604001528201611cb8565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611d0c57600080fd5b919050565b60008060408385031215611d2457600080fd5b611d2d83611cf5565b946020939093013593505050565b600080600060608486031215611d5057600080fd5b611d5984611cf5565b9250611d6760208501611cf5565b9150604084013590509250925092565b600060208284031215611d8957600080fd5b5035919050565b60008060408385031215611da357600080fd5b8235915060208301358015158114611dba57600080fd5b809150509250929050565b600060208284031215611dd757600080fd5b6105cb82611cf5565b60008060408385031215611df357600080fd5b611dfc83611cf5565b9150611e0a60208401611cf5565b90509250929050565b600080600060608486031215611e2857600080fd5b505081359360208301359350604090920135919050565b600181811c90821680611e5357607f821691505b602082108103611e7357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156104da576104da611ec4565b634e487b7160e01b600052603160045260246000fd5b600060018201611f1557611f15611ec4565b5060010190565b80820281158282048414176104da576104da611ec4565b808201808211156104da576104da611ec4565b600082611f6357634e487b7160e01b600052601260045260246000fd5b50049056fe544f4b454e32303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f544f4b454e32303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200d48d96ea7391a07e3167be78586b0b5f75b495dc63f43c7d54c280aec2dbbe764736f6c6343000811003303544fad903519bd371c2351b2c5237bd21c4501d3477899667da2f8b525093ef0037276850f3bf3cd5b6e0c32e5d3603451469ecb8f1721ab3f4f2536f40ceec6c9034ec6000d9742d05eca81ba21c80713f0dc3998c200156064dd336f4957d55af00378ae18e9f1ac0497d4edad4a693e5145b3bd29ea639385fe5bd18941a2d1948203502444f34a78092c744f694a11b67106ac5cbe38fd89848e2b5c21d46d948c04031202182c7e0a9d739a0aa3949b0351c57390a74d121bbc796ba7ab4f88b6eb5b03f7b57d66eee2ab2b6a7d332c02e5524d2cc5ba0479ce9e64d3c37ad820d1ebf003c0c581adb7b929e4f2a59194b1504747eb2af4360de36633e32f06090bb4b28203e995a498e22343da482809ca8f4d3dc25f72a601bbda85a5b24f28cb79d9ec52039119f2a179b615935c0e37829d8bd8a565a7f3f70cf404a9c817257d5b65b6f30387af8ba5f4b4dd233480c5d4041b2e405a31673bceaf7051e80eba66891f02f903bb401d20851a3bd146ced130c8a233fc14bc0a81bb0b52397bedfec2b531dbeb038a029365e09b0d340f300751130e3e8ed241d409c14e98688dfeb684c7fe556e034bae4b96313e4227d6eb5d8d48ae6ad38e1153af228ebe68882086ffca5d2b9503807a5ce94f2b42c08b29d7fdc573886b820e03c5429dac35945b97440cfe4b4d0352fed899f19d6f24a8b3259c8c347683eba89385355495b58633cc0973acb0490219ffff05581e03164e53667c404bc03a87d30b2711539ec202438ea3d819f6bdbd283ff00701191fef03a6631963c22ac2425c85f366841a21d43904e47a6a07ae9e0fcc5f686c996de805581e03b1a5c98f1f90aa311ced75d8e198fda46a547de0b62ffbd423ed4e91f00c0247024518a565ec6205581e036f67a7553a55535ffb729d371c6e1766bf16e89b9a30c26518603f7cd00c0242077705581e03066717051e0e86595bec391d45f44b69816cc3cddd3354466a6d447e800c0146666d004884c803fe665c2bfc2a35eb97b6fe5191112131e933f9a89596fd7cbfcf3e0be1cdbca403a75935ae2283b4d2f1d55d79e06dca5915984902001a0f93cbcb09971d585a2002199de903ccae761ab2bf0ae719d6faa097dd7fe6fc8e365e7716e123a83a93242317ae4003692c429b2e30c351bd140f7dd741c6cdbb45920bd91ffdb0e066ebafe836401803859e305528a904ce3e3175bf028e41b64227baa0c3a9c11d15e5a42a9940f40c0387b2711ba9b40bd3738ba85a6c1b6769bac55993c447cddc3557e4831cd6d4b0038e364a46067e3b47e30e2bed79837be98cc00a4be210368f1013bcc372d7b8b40361c732ff0136a74b3f06c013f21e26c616385dc705dec1df3a9edb9d19347c520219ffff033f3d73c6c3e122dd47e536fa7ab85ffb764d532b4a9f123cfabd5c244ae52ade0340add27a1e27bdd0f21d7318dcb44819f3102687978de21a3dee5806fd0542930219ffff0367f26d5c51b8428929ab5d28f6b657021af74f0e9aba2bd97a7bc3a1e42b41fa03482c92e76ecffcae0099770f0b07f4d36c023c8d9717a5bb4615cd8039ff7bd703243efd9788659f5ac9baa1da2f20af2cbe6f368c2f1d8d42c78ea0a9a232b99603151fd6040f4a5230ffc8f168ede4e33bf598e2455a0a95339877e27ec57b8dc70304fa29b6303b0ce7f389bf4b917f881e454953abf8924d7a364f4ca7d36e9a7503e7179b3a76458ca483430eafacf37e8bd7823feb21e654411a4ba1435ec45c75037ce01198e89508d3efb8277614a11cb9a6c4b31059098a0234a494dd3ca3f17003382c8f0b1c2f1796a1a1af0023df9cbff5db2d736a905908cea0bbf81b44407b0219ffff03838a376a34b9e813d4406c49bdfe68ac29a63b70a5a26eae143ba84003527ca60382947d85cca25f43f54a890b87adf8120136dc81605eeb004bca9f9f1ff4cf5603b7f4ee0f69dd249680232edda8a1006043e7b7b1a1fa0b3f3089bdd229036523038809200609f3e2bef5a82cdcb48b8d6eba62d6d9eecfcd3ff1561e7fa59556770320d19793b4d496efff78283a5f4375b2e0d9a6232f4cf36a76ecdbd6765b81210313b7af1c0cb12909901e856252cbe19185fee3fb6026cb54ae1c221d1186b57e035809181853163fe395568d28489d81ea8a6f63ef26510803a4d16f1377fba5dd038a4a962c10713453e4fe4701155157c7ffaf0fa570a756cc62c5b2613fbb9954031fa031d61f53b694a58a007a5022016dd4b951f9e3e4b4be1c465eea5e89d6b90378c24531262d2075ad9af7fc0faf05ba8c45d103ce2c8e8836cdfb736598240e037537845764afbdb67772f22980a416b34217540be25d4b4eec2b67576b934762032f84c7c1d9bf66fe742eeb9d28aec3a0da47875e9286593d0cca0ae8e94f5fab036cea8bc115b87eb2ddeeaa0e4f54fbb756a405318298932652a5af576ec6fe4003eb726c59d029ad45bddd2970c552b875110dbf8947900ba9c6081178f3d2067e0382935a27e581912f7fd2116d3aaf428c97eae7656585ff0b498e846ba0945a82036c906c4f37a0698781e2c4fdde3ce79a9bb3139b85b5f27e107f5a6094fc5807039dcf1cbaea49fa58981a170a4807912324a79a240b712a2e2340742d8a34d551034027954ee85e7a10cb5b157ee41addb99393e2350d7c72dea9073839f9f8ae1003cb521dfb995aec9d41a4b58ddf052ba1a3567bba3f77dee794e34ad364b40ff10357163d8f6781d5dd105fc65891c0416a3ca3afbf4feae2d90d9752451ab9ad2d0339fc03bd83d21570b5391a2e71d17f156499d5909f7b3d7bddba3ed8c0da1f2a0142008c05581e0388bb8ca99ee9fcc38ef331d28a387557221da3dcdb644721f2e32f8760040205581e0350dd3fc7ea21ee9418839b51fe0f030103c2fd34d829b7e72075f670900c08470563bed6eb4ea4034cf07d46f0ab4f266a8f58c7f79dd78681f5f300cb4f81a2a67cd3511867001501410303d7248f4f72ac4120a4c88f72871a0372d897c4a273d8e126f575d821c28f698305581d02ba9d3c5bf284dfce12e057af6218715fdf57629e9159b53c7fdf1116040305581d027724eb95680f7a57bfcc8f8327bd2adadf81f8c3016794c814d318d7040103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581d02226842e273961ea3e50039b81c25f7905064a59ed63f3efe921023a607011bffffffffffffffff0459197c60806040526004361061010e5760003560e01c8063860f7cda116100a557806399a88ec411610074578063b794726211610059578063b794726214610329578063f2fde38b14610364578063f3b7dead1461038457600080fd5b806399a88ec4146102e95780639b2ea4bd1461030957600080fd5b8063860f7cda1461026b5780638d52d4a01461028b5780638da5cb5b146102ab5780639623609d146102d657600080fd5b80633ab76e9f116100e15780633ab76e9f146101cc5780636bd9f516146101f9578063715018a6146102365780637eff275e1461024b57600080fd5b80630652b57a1461011357806307c8f7b014610135578063204e1c7a14610155578063238181ae1461019f575b600080fd5b34801561011f57600080fd5b5061013361012e3660046111f9565b6103a4565b005b34801561014157600080fd5b50610133610150366004611216565b6103f3565b34801561016157600080fd5b506101756101703660046111f9565b610445565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156101ab57600080fd5b506101bf6101ba3660046111f9565b61066b565b60405161019691906112ae565b3480156101d857600080fd5b506003546101759073ffffffffffffffffffffffffffffffffffffffff1681565b34801561020557600080fd5b506102296102143660046111f9565b60016020526000908152604090205460ff1681565b60405161019691906112f0565b34801561024257600080fd5b50610133610705565b34801561025757600080fd5b50610133610266366004611331565b610719565b34801561027757600080fd5b5061013361028636600461148c565b6108cc565b34801561029757600080fd5b506101336102a63660046114dc565b610903565b3480156102b757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610175565b6101336102e436600461150e565b610977565b3480156102f557600080fd5b50610133610304366004611331565b610b8e565b34801561031557600080fd5b50610133610324366004611584565b610e1e565b34801561033557600080fd5b5060035474010000000000000000000000000000000000000000900460ff166040519015158152602001610196565b34801561037057600080fd5b5061013361037f3660046111f9565b610eb4565b34801561039057600080fd5b5061017561039f3660046111f9565b610f6b565b6103ac6110e1565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6103fb6110e1565b6003805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604081205460ff1681816002811115610481576104816112c1565b036104fc578273ffffffffffffffffffffffffffffffffffffffff16635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f591906115cb565b9392505050565b6001816002811115610510576105106112c1565b03610560578273ffffffffffffffffffffffffffffffffffffffff1663aaf10f426040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d6000803e3d6000fd5b6002816002811115610574576105746112c1565b036105fe5760035473ffffffffffffffffffffffffffffffffffffffff8481166000908152600260205260409081902090517fbf40fac1000000000000000000000000000000000000000000000000000000008152919092169163bf40fac1916105e19190600401611635565b602060405180830381865afa1580156104d1573d6000803e3d6000fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f50726f787941646d696e3a20756e6b6e6f776e2070726f78792074797065000060448201526064015b60405180910390fd5b50919050565b60026020526000908152604090208054610684906115e8565b80601f01602080910402602001604051908101604052809291908181526020018280546106b0906115e8565b80156106fd5780601f106106d2576101008083540402835291602001916106fd565b820191906000526020600020905b8154815290600101906020018083116106e057829003601f168201915b505050505081565b61070d6110e1565b6107176000611162565b565b6107216110e1565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604081205460ff169081600281111561075d5761075d6112c1565b036107e9576040517f8f28397000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152841690638f283970906024015b600060405180830381600087803b1580156107cc57600080fd5b505af11580156107e0573d6000803e3d6000fd5b50505050505050565b60018160028111156107fd576107fd6112c1565b03610856576040517f13af403500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301528416906313af4035906024016107b2565b600281600281111561086a5761086a6112c1565b036105fe576003546040517ff2fde38b00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301529091169063f2fde38b906024016107b2565b505050565b6108d46110e1565b73ffffffffffffffffffffffffffffffffffffffff821660009081526002602052604090206108c78282611724565b61090b6110e1565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160208190526040909120805483927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009091169083600281111561096e5761096e6112c1565b02179055505050565b61097f6110e1565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081205460ff16908160028111156109bb576109bb6112c1565b03610a81576040517f4f1ef28600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851690634f1ef286903490610a16908790879060040161183e565b60006040518083038185885af1158015610a34573d6000803e3d6000fd5b50505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052610a7b9190810190611875565b50610b88565b610a8b8484610b8e565b60008473ffffffffffffffffffffffffffffffffffffffff163484604051610ab391906118ec565b60006040518083038185875af1925050503d8060008114610af0576040519150601f19603f3d011682016040523d82523d6000602084013e610af5565b606091505b5050905080610b86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f50726f787941646d696e3a2063616c6c20746f2070726f78792061667465722060448201527f75706772616465206661696c6564000000000000000000000000000000000000606482015260840161065c565b505b50505050565b610b966110e1565b73ffffffffffffffffffffffffffffffffffffffff821660009081526001602052604081205460ff1690816002811115610bd257610bd26112c1565b03610c2b576040517f3659cfe600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152841690633659cfe6906024016107b2565b6001816002811115610c3f57610c3f6112c1565b03610cbe576040517f9b0b0fda0000000000000000000000000000000000000000000000000000000081527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc600482015273ffffffffffffffffffffffffffffffffffffffff8381166024830152841690639b0b0fda906044016107b2565b6002816002811115610cd257610cd26112c1565b03610e165773ffffffffffffffffffffffffffffffffffffffff831660009081526002602052604081208054610d07906115e8565b80601f0160208091040260200160405190810160405280929190818152602001828054610d33906115e8565b8015610d805780601f10610d5557610100808354040283529160200191610d80565b820191906000526020600020905b815481529060010190602001808311610d6357829003601f168201915b50506003546040517f9b2ea4bd00000000000000000000000000000000000000000000000000000000815294955073ffffffffffffffffffffffffffffffffffffffff1693639b2ea4bd9350610dde92508591508790600401611908565b600060405180830381600087803b158015610df857600080fd5b505af1158015610e0c573d6000803e3d6000fd5b5050505050505050565b6108c7611940565b610e266110e1565b6003546040517f9b2ea4bd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff90911690639b2ea4bd90610e7e9085908590600401611908565b600060405180830381600087803b158015610e9857600080fd5b505af1158015610eac573d6000803e3d6000fd5b505050505050565b610ebc6110e1565b73ffffffffffffffffffffffffffffffffffffffff8116610f5f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161065c565b610f6881611162565b50565b73ffffffffffffffffffffffffffffffffffffffff811660009081526001602052604081205460ff1681816002811115610fa757610fa76112c1565b03610ff7578273ffffffffffffffffffffffffffffffffffffffff1663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d6000803e3d6000fd5b600181600281111561100b5761100b6112c1565b0361105b578273ffffffffffffffffffffffffffffffffffffffff1663893d20e86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d6000803e3d6000fd5b600281600281111561106f5761106f6112c1565b036105fe57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104d1573d6000803e3d6000fd5b60005473ffffffffffffffffffffffffffffffffffffffff163314610717576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161065c565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b73ffffffffffffffffffffffffffffffffffffffff81168114610f6857600080fd5b60006020828403121561120b57600080fd5b81356104f5816111d7565b60006020828403121561122857600080fd5b813580151581146104f557600080fd5b60005b8381101561125357818101518382015260200161123b565b83811115610b885750506000910152565b6000815180845261127c816020860160208601611238565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006104f56020830184611264565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016003831061132b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6000806040838503121561134457600080fd5b823561134f816111d7565b9150602083013561135f816111d7565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156113e0576113e061136a565b604052919050565b600067ffffffffffffffff8211156114025761140261136a565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600061144161143c846113e8565b611399565b905082815283838301111561145557600080fd5b828260208301376000602084830101529392505050565b600082601f83011261147d57600080fd5b6104f58383356020850161142e565b6000806040838503121561149f57600080fd5b82356114aa816111d7565b9150602083013567ffffffffffffffff8111156114c657600080fd5b6114d28582860161146c565b9150509250929050565b600080604083850312156114ef57600080fd5b82356114fa816111d7565b915060208301356003811061135f57600080fd5b60008060006060848603121561152357600080fd5b833561152e816111d7565b9250602084013561153e816111d7565b9150604084013567ffffffffffffffff81111561155a57600080fd5b8401601f8101861361156b57600080fd5b61157a8682356020840161142e565b9150509250925092565b6000806040838503121561159757600080fd5b823567ffffffffffffffff8111156115ae57600080fd5b6115ba8582860161146c565b925050602083013561135f816111d7565b6000602082840312156115dd57600080fd5b81516104f5816111d7565b600181811c908216806115fc57607f821691505b602082108103610665577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000602080835260008454611649816115e8565b8084870152604060018084166000811461166a57600181146116a2576116d0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008516838a01528284151560051b8a010195506116d0565b896000528660002060005b858110156116c85781548b82018601529083019088016116ad565b8a0184019650505b509398975050505050505050565b601f8211156108c757600081815260208120601f850160051c810160208610156117055750805b601f850160051c820191505b81811015610eac57828155600101611711565b815167ffffffffffffffff81111561173e5761173e61136a565b6117528161174c84546115e8565b846116de565b602080601f8311600181146117a5576000841561176f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610eac565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b828110156117f2578886015182559484019460019091019084016117d3565b508582101561182e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b73ffffffffffffffffffffffffffffffffffffffff8316815260406020820152600061186d6040830184611264565b949350505050565b60006020828403121561188757600080fd5b815167ffffffffffffffff81111561189e57600080fd5b8201601f810184136118af57600080fd5b80516118bd61143c826113e8565b8181528560208385010111156118d257600080fd5b6118e3826020830160208601611238565b95945050505050565b600082516118fe818460208701611238565b9190910192915050565b60408152600061191b6040830185611264565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fdfea164736f6c634300080f000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630545a0aae59d09fccbddb6c6cceb07b7279367c3d2a00582103119ee90c1a38db787a7ea2b96b375582847d2b9a8b933b0380a6aa694334bc60410100582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b54de1fcfb0851916ca5101820a69b13a4e276bd81f0058200208bb530122d4382d729fc96b1280ace580633f940cc38674a90c70ca41d4cb4102005820021d15d4b8349e7dfb32124f5fd7e1c32ce0de89bb6ce7fa13b505497efbb4d258204f564d5f4c3143726f7373446f6d61696e4d657373656e6765720000000000340219c0040219100c05581d0291450c95c08cc7600015819c1bf02922aabea2333dc3a85013519b40070119197c0219b01005581e031dee7916565035bdb22d599f296a671a991a8851de57a522147c30c8200401021905fc031e3320035dff78542916c5a6ba6be966900047e0529b1ef95cc1ebad363e01180386def342158be91bcc1d5dfc7eb67e621b637bedf88854daeffe53556995bd9603fa109d00a4ba9d0ca73c034744d850f2095eb3b6587b55ac871048f1055e54af03bf9b75f90bd27978c8aac5059357050fa28dd05d5051dbcc315989dfaf30b2e603934e2be174dfc46fb2d32279b7b898a4ce490e6690ef6f2b97de9ca078d6e54603962b5fec62462b570269eef939d9d86d439f46aee7e1ff1e2fcb970f056c0f3d03f7a23e11e2b3d774461ae329d5aef74cb0d5188fe5fd38dd285391e4137ee9d303657033546c80191d0b24cbe83dc6cba7e98a382007056a0678640aee94d1455403e23aabb0b96a4458315631c4aea571d147e794f9311573aa20671d284b94806b0219ffff037afe1889ba0f32c2f0ac9c353a77d08580ed1f5ab49f28461245106770c6cbe7035cb061917b129547a4af4ed15f3436353cb8884a41dfd84e5b79e2ec035553a303348be434193365013e007dd3d824c01898f4710dd49ce0350dca933334a3f00103704f1b0ec1cc35b0f204aa272e447cb8ec15c06131b08db8832ef73ae64c384503dcc9369aa84333e10b162570ca79d52d1f3c6dc8b7a96388cc48a32a18c54691039d171488e548ed9f2372a8a82bf507793af8fc9249480b8fd88162cf97149932038d04877e472f891dafc2279478f0b97f771b933d62c99a5833c3146df7746e24039307b5797b38afc4fffe0da4994698be555b54980b7801bdf8ade17c3e89633103e15ed22d94d50f4e5b3a608c52a87ac6994d2d2e3f13089e8557927989ef3b010219ffff034d9bc3a8c930b02bf8d9a91784d060d4a5a4cded9157a8d6a9391aee1de5de4503b2e9957d4dc19adf73565f039bc9e0e30194fac683d721c1adb3cadfcd92e97003b164d8a5bd94f2094e528a479f52864a90c487b746221796eb9b2b4a0b98371c034a05d43b7be43cb3d249999aa1b4a87f9136c4555067da87e114bb63c66ba80803587e21c9108e772d85ff5ab365e9378530ebff40affdc7f15a6dd0b89d0d3d55030620e4213c413bfb5eeccb6252c545c5b4be38da661675761cc8f49773f6b83f0391a0f43b0285e56422dd10aa8cb47820e0e40a0459cae619dc85554a519019de03eabc7060ad8926eb53b7a33254b586be38cf270fdaeb4471b8631c6a38b1b5cc0219ffff03bc06a4253c74cdfc36cb91515ae9fb1d0d053f26fec06f54da82a31879abeda7033907c6199588c75148864bfe6288ca2dff7db2ecf621b046bbaacfcbd8fbd60d038f0ae61c5c7aa1e55cd32f4d6aa820a0bef38ef73384b9cc1618350aa88a99320327dbd98ab87baac55ecff104cf0846bd5544183fa5cbde760d8da3c2202cfa3f0319d3b7b17df45a69175e1b3dcfb64c4219365d4b0136ca1c6064d125ea5855bd03aac45d0f11ad23b48a6855f433e07bf6787447d3f081f71905a7e585e3a71c970335236d0cdf6cfe8ee84ddef34587eee10786157dd415d36ca55c826479dfc124034b7dddccbaa2397ddb93f71bfc7e1d4786afb9d7298741e079e0e7e37caaf86a03b63c1a3337542e9239df50a452974c3ae03472e3a149c9a8bd6ab5d3496e9dfd033ff11fd0dfe0b7848eaa64afdecc73f763a8193ed04e580ca27fdffc5edb4dbc0374402d4e2e260b636e5778bd7b29ce3684eb1a32a3354f81bc4e03b98db8a75703c35db120ab87d31985dc7c53dac6c2a6fca6b978e059b2f7a54c33190cbecbbd03484b8112a55caf267ecb8057e0005a7189bd475b70ccc477d983ba23f60bf3cc03541a725a367bbcdb8bafea92582fa873ccb3b7786372dbde536a086020d6d754036d151bf09edcff3fe2d99974d8b786e2fe943ed4809cdc9af7e8270c6cc6c23c036f3308f6fbd111ddf495a5bf78509b518edd51167b4f8b2478c9d1bcc5750bea03869b88a5d9dba84e8b2d1ed534b098188ddc20d33a18581fc983c57bc756916c03a692c9c601b7d91917548ac7441b49345a502a79d90e6aca6727c5d1b0681cca03c78b15114e3a08fd60384e220ec4757604f1a9ef05ad08996b36e265429136b3039975091f2662f319cb94b657a911e29306524af6faf513d90b2966a83a524265039d380c73780dc1670149dfd3416a6a5a0c8cf51eafd8ead195cfb5d5711b44e40345dfccb492f056e43d68aaef28567f77026a09e085f255119b0f7c73e0e419f303542fcc0b6edc078220611691d18514886993d991142c429c9c790ac3e2daf22c0333ab58ae715387b371bac56ab0bf8e654a15df31f1e53030a52bcfe196e7ca8405581e03bda2c5acabd2f6c76cd46695f273a3dbff9fbdeec5c41b2a855fbcb830040305581e03736b277fc9428ffa46436c245943663d6a9109858e3041df2b1e34eb10040505581e031cd4cf798c04fb8e526486b156eeed968d9e4e0c8ec3b39ecef6a03880040305581e037a339145c7a324bb4c12aee6b0c3ce7ebff16419ecbe59c794f3502e7004020339831e602f3472df617be880b45c09b3078943e78893da8114bf134e1965abd403c198138c4e2fbd865279b3b59192a5db43b12910de19986a19fba8b5626ef82b03a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c033508087dccf1c6524b377780446e392263ed45f39658ce6d305ec0448960d62705581e0303a9049644a985e56ba4d9e41ced50a2cecb95017c1b200fc0e715605007011bffffffffffffffff05581e03ba5e35df2a2f5a40b39286f299bb8e8e58fcb65084e506323a087e13b00c02478952bc7d8177f003a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03efa97460069fcd5c657d457f0dc48b2632f95e211c65c98dbfec53df8007011bffffffffffffffff0363ce6caa96f57b4f74908605158c55e806ddd173a81842462810f8d0288ea8b305581e035d0553ff7393e41c8473890c039f38cf262ec3ebaf1c34d59a0d638c400c06470cef1c83bec16c05581e03b51ee0ef9aa59b7ef07391ba9d15d01a122de4f9ab0f21f10347f666d00c1a002395e14a08de5945364ae813e26503a05fc946278f27029157571be9b363c0f9a66e866e2bc779e1f64e9cf60fd70a031fc8b9ae2650d1f11c36ee41dfaa17138c166e33c1fe2ec3a16e18ff4fffef9b05581e03fe08916a230b9fba5001e60c0aed47fc92ae1484ad4ea0fb0f5a9573b007011bffffffffffffffff02197efb03eb3cb8bea36c6190c3642b89126de11c7faabf80863cda0fb4afed2b7f1d85810381c4ac54f6aed01c0cf864397e3f86583ffe96ceb391f7d724eb5f5b779242b20368264bda1851e9f5ce319c5280b016f29cc23f1d1dbb6884898206e67583e52f0219ffff03bc1aeb4833de0d27b3af9de5712831a643c7f730222f97ac3e158b197fb706dd0328dad1709bb695fbfbb20ec36195734effde5f6fb3027cbf1d8f97b5f85535ab0332094e7862265c59af6dff801844e6aa7a6e24ae2bc57867bf0cead383217f730364400f66bc303285715d339e875be619a33d6ba4476e6d4e313f05b8cd775f0d03d0e7dba37d00e10640aa60f6bc8d182bc505d62b4860b1d5b7c891eaf3df4f9b030e541a46b97baa22da606361e0c164c99cc6784e4975aa4486e403783741e098036be8404e13eeac2eb83ac534dcddd7bc2be6525e6a693722e8d15f34fd2233d40365d6a5672e8db747919986a8a2de6b4cf8276579ab16bd4425ca72a64840a91c033fa1659b35858a938c96c8768df2039c957bf09ed80217ad4f46c23ab1bcae8c0219ffff03d4e3a7bc3473fe7ecb6c4f4117cf806e62643e30b70c742180ab08ff3c09f66b03babaed959c6e7d87f552edff3ca17eb90105e979a92077a327bc2d9568b500230304530e9213e8c1dcdbd99c5c8c6dc3eaea2590f0958d02c6088813f1b3ff281c030a83990b0fdb28baa0e61c9f3f3016bde4bc21e4996e4a2972d8a52c84e079e803c7d8054dd1e4c7e85ebb09009ad652d0e325fa73e85d7fd89fd70a79c2e3b2ad039d81e8d9399faf016c1b5caaf3f6d29ff620a58757937d6d176b414ab96099f803466955eaf7fb160b86e4d29c959ceed1d015be13db7d61a27c3580054a5059510324d615a788de96044cb0e2ec11b01f5469be69c54962cbc2e85d09a776d3c20303df8614182ec8bda5dec4fe86a05cab2267ae66f8bc6a90b84c9fd85eabaf9356033a50f2d1651320509a86439c8ec0707405f1aabdf55e4fee2d5db5b9d2b28bda0219ffff03198eb0936435179314d86c01cf78e23a4ad13e4eae5b08561566bf4d5ae61ecf03125e133837dee87e84216ec3501aaee9b6b55418a08bc49aebf0899ee93c6396036a4d9abc692be453064f2c7d326f517e73d2fb04e8a7d25056358e6997a4f910037c0d03f5a11749a0836edaebc292e7fd1244cdf250444be207975f7875c92b1e034c928a473c55cfea11e7d6898d013f8ebbedd6c9aa1edcae4673beb49645f40b0355ed173e6183511bb68c66a5aa8802b43d40578a8b288e105894fa18423e9e300371fd06c811c8ee92f620654fd4fed295e31a6a13fe1580a0da392496b31f89be038022aa6b6e2265d54a93aa266b3c368f211e1e774c38611a71ae08beb1a7b637036741f2e6c74d4c5727b726d02e584a14b0a08848ad166343a20346f1cae1849603a8cb3361d91a5e82230da69ae3d4560e8de9250b210c8fe37fa868906d9c81cb03338fd8944b25afc693664bafccdb1a9cb3693eea8214a5723d35cfd932c0b17a0354741417a76f57369d1ff8e511867a2ba7c21205797c19719066d172d5599571033e8f0733bdf7ae9ba9ffdc4a9a55a7b89a586ca35d15ae24a821fb55a26b483a038c59b6b062dcb8de7b36ce4117a65752cf11b0ac235ad3adaa7a368d5c5acfa0037bd1c26dc64a5f0eb402ee5aca724400471d09ea4ab413bc8a2ed70be126edba03d2f93130b610e987789415e80a7f85a571cef19243edd5ffec701ddc91e6a005034ee6664e0d7800a5b80c9a7e6e00aa6595ca661f5329264f83ff1293105a2c7e0310c3e270a1ee3b9b119a2bccf9f243ca6a2b1035235ca40de1e32e94ce82bb0f03f2b136a84476cca13ae8b6fdf3a4926fe512380904a7e02469bf1124574fc43e032be9fd54390197ada950c4449d9dfded87f293b0b9f143c71ee8cee3ed2151300366d87b8ba16f48dd1e09aeeb70be1ec32f10f66edd42f97b308be5ffa615d2fa03553050b0ea747a69b6352daf112abb3a928493b9c1f024cb8c93221475d06d8e03722c289c928d4104b4ec41e2d9a4e805acb2911f3551f9ec1bfd9fd59193f29b03d7abb6ef5e8d23dec40767f1b393c6b846a3dc9af1778732558bd87c12798c7f038cc239fb346fc4daaabf7e4a33a3e6c5f0302dad345f4434d2d93d2976788f3603ddaf02de9c2159c230be55754a942b44e3db4941b433154019a6a1d6fb67a982037ed62207276ec8192eafc13e664a1691e078a5cb4a4c6fb26ee6fbff02126d2d030af743cf7069514f45778eeb15456ff705f359df980df9f51c40de83e2dbe112035d2b79fa507e58b2ecd7078ef02429e2e7b740991f1830656fbb2568dd8d4b050378860f0d2223668632b64262dca8384588e760f599541cd1a09160c4fd626492038c5abc944c213f361d4e42978ca99265cf1206bf2525c2181b9711ec4a0f9a3703dc06228ea82765e7ea844a88b266ee043dd83455d7fd402c5ba259508cb2ecd5033cda85d51def3c2f09c58d8f277f9dcb4a0e66504474d08862125c9551d082350313887406855fbbc743449b9c186da398b2d8182be82026e3873f4cf0e4cc5dcf031a8e82cfc4c502ece1c483c40b7e72a76b4dd462c6bc7cdb22665afa3f37163203739e91de0c6a809d42cc29e6f78ddcbdaea575399f2e3204427255690f2f5f26035cb63d6069c664d0014aa8e85431feb53e62f3b5cb0c77c37266227515c1d8e403386424500374724c3d2bfcea30eac5e4883b3959e97ff4a2dd7a7d8137c9a47e035295bf1baa341bd9a0b5278b1ba48993db51b2878e43212e16224a355ccad5eb032c3b12d5276a7c4be82c20f5a855652e22ca8511af70c4a665a0de998d39d2f005581e03bb1697fdfff05308c2d9e79571c5defae2b088e00fbf02f4fea7a654000c18b74739eb4a8bebce2b05581e03a5f11d87556e8bacab6e854b09fc5abccc7ae9a38921f7c342e8a41c700c03410105581e03dbda7def6486e1662f2ec04f63ea36039565d1107aa6298dd76c9579400c06468fc9f292a800035d28a307f0a132ac1659bdecf3c76ad29fb8a0b5e4b0899bdb815dff3503d77f0307a8d865c55ff9ee76de8bd04c8fe67a98e2c6dc4bd51ea2aca1c0bb035765c403a9c4a59733e007162120e4773a7f083e366a8cdd6f02f103c4487fcd047dbb2805581e030813b70881fbff088f87382d80c32cc9e8a2478eceb61500b3010644e00c024702ce80355f600002199edb03e1ce24025e3eb153c93d4d6d9c394a565820e00ef2abcdc4dba1f0b98ed228f503b90ecc1c12c0f1053a103351c43505216961675f54db4a577f353e9d0e1604ae0366fa3dc1ca1625dc4efccbc3a96438d24d0f0688d6fc84ac6607f6f198d19d0603949f4737c1e0b7323cf08ec5948997e474ecc40d9037212dbddb900d102ebf0203d4c7167965684230ca23f82aae26e0d9ef93dd576bb015adcb4ec7df5486b300036e4d23846835a8434b4a453075821dbd4e50632d2f8ab577f6b7eddf8f7a815a036824ae7bc30d18f60d22dd36a669ae2db5a54a488e5c8c5445c569027e2f234203a54fbab096f6f687ef60a30080902d7aa20c6c199a979dcb4820f8a02c4d24630219ffff03ca4fc90d4793d65d85649e2419bab45927b7dd0a873b1aa9691a73741d464c1b03784641cc1a14e83a3fefbbd596454cb0b7a4fd65f593fa44a06fbb423d72477103923176cc8f88e32cbb0a7b117bd045e0a9d72d25bef1b73fd530adfeeb4d16e303e60b8384df1663adf0148d6ef1a314a6184afe426b1ff88ab64956295b02f01d03aa0157222bab6ba00562cd9ebc9172066881de86414f25bb0419a397da7776860385cf5ba640209681920d5097b83f4d809443a86a1784c44c1ac9b4f844e651dc03e2b47bd3c8f0c8d047bda72d0480729ef60cd7bf24a0a35708129b8a7aac05670219ffff0219ffff0219ffff0344b5f998b93c155057540a6aa091c4c483a0b7e11fd79f480a4fe0fdfd3939b503feef8ff62a7eae3c0e1b9cfdec92a5f18543bae3c33021d0af794063a4f58ec4034f5f66dd6d4df1734fcff755e573f210538c059e3d35ecd55c83864a7826b2490371d1d8772f54742ac2141f0362244a7deae5ad5be0d7d642d3f43101d654b21b03d8ecf1791a23148320bb3b17cf1b562fcfb2d9eae054897d331655cff52843930373a863090cacb8803e53fc458e3f60903773b568ab9af3edd2f73f275b14c58d03b7e90fa4eddaa836bc3f345d5907c70d582ff06e31f445ec2e46e92902b286800327a992d4d486cb4742c4ab7da9b1533d9a9134e2845d015d4f841308e1667aaa03176cc8f78b001f5b33061c40215e00e0b06afc2409a14f880ab7ad062f345d4403d49874bb82477db9d6075c6b7d91c7537c2ba469cc1d27af46d3faab688c1f0003e525cdc0e66228abfef29983c1c91324b194858d50f78e8ea8192b99062886f5036ce3f6a71c4ce2747397c2be7bf1946f6928ecde9bf5e2177b12f13860210b38031d42c42e75d3e021c8c70292ee1b396df66208f1f79b1385c33099116aa021d3031c23b399dc42bf50e1f6276399f1cbcdb5b68709d7392c9512bb55f8e3e6ad1a03480b75cd80122eeb0d2d82b15ee9b4afede3fa6af609f4f3f51ba3bd08c68a5e033d45940cc8d41ddb893662f33988da25a8067c845a278d38035db4ab015331d203fa0f9d41623655f156269ae3b1d1533d2df696f6171e8c19497ea45afc4d89b903f135067a871a871e827492eb70db508efcd75774aad822fb66625658d96b922a03e85bc45b3c2506f785487d888daf05ec0394b6a20f939163961db229708be1ed034a944f635242727361220aac82c49b1909f0a750a7ba8e95631864e7052dcc7b03ab2e3c1cec0dcf4fe65454b7c6705b302471fc627a6f542dfe3cbc5189a61bab031427ca3c38c61153251463fd245ba4eb9e464cc8a899ef1cff129c1addab126805581d03a0c9cf1688de729324d71300dc9a0d65f9e69245464a6231dc6543900403045957886080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806301ffc9a7146101f4578063088890dc146101ef578063150b7a02146101ea578063192128b2146101e55780631f00ca74146101e057806323a69e751461016d57806324856bc3146101db5780632f100e4a146101d65780632f40e62a146101d15780633593564c146101cc5780633d0e3ec5146101c757806349df728c146101c25780634b31e26f146101bd5780634eeca823146101b857806350431ce4146101b3578063547988f9146101ae578063791ac947146101a9578063a0136443146101a4578063b6f9de951461019f578063bb7b9c761461019a578063bc197c8114610195578063d06ca61f14610190578063d1ef92491461018b578063e81dc5c114610186578063eb92db2714610181578063f23a6e611461017c578063f2fde38b14610177578063f9da581d14610172578063fa461e331461016d5763fb3bdb410361000e576116c5565b610895565b611690565b611663565b611609565b6114f6565b61149d565b611443565b61141c565b61138d565b611373565b611314565b61126f565b6111c2565b6110ec565b611083565b61101f565b610fbc565b610ed5565b610d01565b610bf1565b610b2c565b610b14565b6109ff565b61086e565b610815565b610745565b6103ef565b346102625760203660031901126102625760043563ffffffff60e01b811680910361026257602090630271189760e51b8114908115610251575b8115610240575b506040519015158152f35b6301ffc9a760e01b1490505f610235565b630a85bd0160e11b8114915061022e565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03811161028d57604052565b610266565b606081019081106001600160401b0382111761028d57604052565b608081019081106001600160401b0382111761028d57604052565b60a081019081106001600160401b0382111761028d57604052565b90601f801991011681019081106001600160401b0382111761028d57604052565b6001600160401b03811161028d5760051b60200190565b6001600160a01b0381160361026257565b929161033782610304565b9161034560405193846102e3565b829481845260208094019160051b810192831161026257905b82821061036b5750505050565b83809183356103798161031b565b81520191019061035e565b9080601f830112156102625781602061039f9335910161032c565b90565b9060a06003198301126102625760043591602435906001600160401b038211610262576103d191600401610384565b906044356103de8161031b565b906064359060843561039f8161031b565b6104066103fb366103a2565b9294904211156116ef565b61041761041283612865565b61173b565b61043061042385611791565b516001600160a01b031690565b6001546001600160a01b03949161045091869081165b16951685146117d7565b833b15610262575f60049460405195868092630d0e30db60e41b825234905af193841561068957610500946106ff575b506001546104a490610498906001600160a01b031681565b6001600160a01b031690565b6104c66104b361042388611791565b6104bf610423896117a3565b90866128d5565b60405163a9059cbb60e01b81526001600160a01b0390911660048201523460248201526020959091869183919082905f9082906044820190565b03925af180156106895761051b915f916106d2575b50611843565b6105376104986104986104236105318951611872565b896117c3565b6040516370a0823160e01b8082526001600160a01b038516600483015292918690829060249082905afa9485156106895787915f966106ab575b5061057d918591612aab565b6105996104986104986104236105938a51611872565b8a6117c3565b6040518381526001600160a01b0385166004820152908690829060249082905afa908115610689576105d49186915f9161068e575b50612c17565b101594856105e6575b610018866118c0565b61063095509061060b610498610498610423856106058a989751611872565b906117c3565b6040519182526001600160a01b03909216600482015294859190829081906024820190565b03915afa80156106895761001893610650935f9261065c575b5050612c17565b1515905f8080806105dd565b61067b9250803d10610682575b61067381836102e3565b8101906118b1565b5f80610649565b503d610669565b611823565b6106a59150883d8a116106825761067381836102e3565b5f6105ce565b85919650916106c961057d93893d8b116106825761067381836102e3565b96915091610571565b6106f29150863d88116106f8575b6106ea81836102e3565b81019061182e565b5f610515565b503d6106e0565b8061070c6107129261027a565b80611079565b5f610480565b9181601f84011215610262578235916001600160401b038311610262576020838186019501011161026257565b346102625760803660031901126102625761076160043561031b565b61076c60243561031b565b6064356001600160401b0381116102625761078b903690600401610718565b5050604051630a85bd0160e11b8152602090f35b6060600319820112610262576004356107b78161031b565b9160243591604435906001600160401b0382116102625761039f91600401610384565b60209060206040818301928281528551809452019301915f5b828110610801575050505090565b8351855293810193928101926001016107f3565b346102625761083b61082f6108293661079f565b916119aa565b604051918291826107da565b0390f35b9060406003198301126102625760043591602435906001600160401b0382116102625761039f91600401610384565b346102625761083b61082f6108823661083f565b5f549091906001600160a01b03166119aa565b34610262576060366003190112610262576024356004356044356001600160401b038111610262576108cb903690600401610718565b925f8313938415806109c5575b6109b357826108ec9161090c94019061280f565b6001600160a01b0390811692610901836143e2565b818398929a93614430565b83339116036109a157156109935750808616908416105b156109355750610018935033916144d1565b9150916042825110155f1461096957610018935061095282614559565b61096461095f33926145f6565b612855565b614605565b919290506009548211610981576100189233916144d1565b6040516339cedf2960e11b8152600490fd5b945080841690861610610923565b6040516332b13d9160e01b8152600490fd5b60405163316cf0eb60e01b8152600490fd5b505f8213156108d8565b9181601f84011215610262578235916001600160401b038311610262576020808501948460051b01011161026257565b604080600319360112610262576001600160401b036004803582811161026257610a2c9036908301610718565b93909260243590811161026257610a4690369084016109cf565b946001956001600c5403610b03576002600c55818103610aef575f5b828110610a73576100186001600c55565b610a8f610a8182858a611abd565b356001600160f81b03191690565b610aad610aa7610aa0848689611ac9565b3691611b25565b826133b7565b159081610ae0575b50610ac1578701610a62565b8451632c4029e960e01b8152908190610adc90828901611b7f565b0390fd5b600160ff1b161590505f610ab5565b6040516001621398b960e31b031981528590fd5b6040516337affdbf60e11b81528590fd5b61083b61082f610b23366103a2565b93929092611bad565b60e036600319011261026257600435610b448161031b565b6001600160401b039060243582811161026257610b65903690600401610384565b91604435908111610262573660238201121561026257806004013592610b8a84610304565b91610b9860405193846102e3565b8483526020946024602085019160051b8301019136831161026257602401905b828210610bd65761001860c43560a43560843560643589898c611d9f565b813562ffffff81168103610262578152908601908601610bb8565b60603660031901126102625760046001600160401b03813581811161026257610c1d9036908401610718565b92909160243590811161026257610c3790369083016109cf565b936044354211610cf0576001946001600c5403610cdf576002600c55818103610ccb575f5b828110610c6d576100186001600c55565b610c7b610a81828589611abd565b610c8c610aa7610aa0848689611ac9565b159081610cbc575b50610ca0578601610c5c565b604051632c4029e960e01b8152908190610adc90828801611b7f565b600160ff1b161590505f610c94565b6040516001621398b960e31b031981528490fd5b6040516337affdbf60e11b81528490fd5b604051632dfb7c8b60e11b81528390fd5b346102625760c0366003190112610262576044356001600160401b03811161026257610d34610e009136906004016109cf565b6064359291610d428461031b565b610dfa60a43591610d528361031b565b610d604260843510156116ef565b610d6c61041284612865565b610db0610d8a610d85610d7e87611872565b8785611f31565b611f41565b600154610d9f906001600160a01b0316610498565b6001600160a01b03909116146117d7565b610df1610dc0610d858684611f19565b610dcd610d858785611f19565b90610de960043592610de2610d858a88611f22565b90886128d5565b9033906140f5565b3093369161032c565b90612aab565b600154610e1790610498906001600160a01b031681565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92610eb4575b5060243582101580610eab575b610e59906118c0565b823b1561026257604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af19283156106895761001893610e98575b5061376c565b8061070c610ea59261027a565b5f610e92565b50811515610e50565b610ece91925060203d6020116106825761067381836102e3565b905f610e43565b346102625760208060031936011261026257600435610ef38161031b565b610efb6141d1565b6040516370a0823160e01b81523060048201526001600160a01b0391909116908281602481855afa908115610689575f928492610f6f928591610f95575b50610f45811515611f4b565b60405163a9059cbb60e01b8152336004820152602481019190915293849283919082906044820190565b03925af1801561068957610f7f57005b8161001892903d106106f8576106ea81836102e3565b610fac9150843d86116106825761067381836102e3565b5f610f39565b8015150361026257565b60c036600319011261026257600435610fd481610fb2565b602435906001600160401b03821161026257610ff76100189236906004016109cf565b916064359061100582610fb2565b60a435936110128561031b565b6084359360443592611f8f565b60c0366003190112610262576044356001600160401b0381116102625761082f61105061083b923690600401610384565b6064359061105d8261031b565b60a4359161106a8361031b565b6084359160243560043561234b565b5f91031261026257565b34610262575f3660031901126102625761109b6141d1565b4780156110b1575f808080933382f11561068957005b60405162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20776974686472617760681b6044820152606490fd5b6080366003190112610262576001600160401b0360048035828111610262576111189036908301610718565b926024359081116102625761113090369084016109cf565b9290606435936044354211610cf05761114b85341015611e99565b6001956001600c5403610cdf576002600c55808203610ccb575f5b818110611180576100188761117b6001600c55565b614044565b61118e610a81828489611abd565b61119f610aa7610aa0848789611ac9565b1590816111b3575b50610ca0578701611166565b600160ff1b161590505f6111a7565b346102625760a0366003190112610262576044356001600160401b038111610262576111f5610e009136906004016109cf565b60643592916112038461031b565b610dfa42608435101591611216836116ef565b610db060018060a01b0361122d815f5416956116ef565b61123961041286612865565b61124f610d8561124888611872565b8886611f31565b600154909190611267906001600160a01b0316610498565b9116146117d7565b60a03660031901126102625760043561128781610fb2565b602435906001600160401b038211610262576112aa6100189236906004016109cf565b91606435906112b882610fb2565b5f546001600160a01b0316936084359360443592611f8f565b9060806003198301126102625760043591602435906001600160401b0382116102625761130091600401610384565b9060443561130d8161031b565b9060643590565b61131d366112d1565b9291924211159061132d826116ef565b5f546001600160a01b039390841692611345906116ef565b61135161041284612865565b61045061136061042387611791565b60015486906001600160a01b0316610446565b346102625761083b61082f6113873661079f565b916123d3565b346102625760a0366003190112610262576113a960043561031b565b6113b460243561031b565b6001600160401b03604435818111610262576113d49036906004016109cf565b5050606435818111610262576113ee9036906004016109cf565b505060843590811161026257611408903690600401610718565b505060405163bc197c8160e01b8152602090f35b346102625761083b61082f6114303661083f565b5f549091906001600160a01b03166123d3565b60c0366003190112610262576004356001600160401b038111610262576114716100189136906004016109cf565b906044359161147f83610fb2565b60a4359261148c8461031b565b6084359260643592602435916124d1565b60a0366003190112610262576004356001600160401b038111610262576114cb6100189136906004016109cf565b90604435916114d983610fb2565b5f546001600160a01b0316926084359260643592602435916124d1565b34610262576020366003190112610262576004356001600160401b0380821691828103610262575f805160206157338339815191528054928460ff8560401c169182156115fc575b50506115ea577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2936115e5936001600160401b0319161790556115a55f805160206157338339815191526801000000000000000068ff000000000000000019825416179055565b6115ad61264d565b5f80516020615733833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b851610159050845f61153e565b346102625760a03660031901126102625761162560043561031b565b61163060243561031b565b6084356001600160401b0381116102625761164f903690600401610718565b505060405163f23a6e6160e01b8152602090f35b34610262576020366003190112610262576100186004356116838161031b565b61168b6141d1565b61278b565b5f366003190112610262576116a36141d1565b5f34156116bc575b5f8080809334904190f11561068957005b506108fc6116ab565b6100186116d1366112d1565b916116de428410156116ef565b5f546001600160a01b031693611bad565b156116f657565b60405162461bcd60e51b815260206004820152601860248201527f556e69737761705632526f757465723a204558504952454400000000000000006044820152606490fd5b1561174257565b60405162461bcd60e51b8152602060048201526013602482015272556e737570706f7274656420466163746f727960681b6044820152606490fd5b634e487b7160e01b5f52603260045260245ffd5b80511561179e5760200190565b61177d565b80516001101561179e5760400190565b80516002101561179e5760600190565b805182101561179e5760209160051b010190565b156117de57565b60405162461bcd60e51b815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f504154480000006044820152606490fd5b6040513d5f823e3d90fd5b90816020910312610262575161039f81610fb2565b1561184a57565b634e487b7160e01b5f52600160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161188057565b61185e565b60011981019190821161188057565b9061271091820391821161188057565b9190820391821161188057565b90816020910312610262575190565b156118c757565b60405162461bcd60e51b815260206004820152602b60248201527f556e69737761705632526f757465723a20494e53554646494349454e545f4f5560448201526a1514155517d05353d5539560aa1b6064820152608490fd5b1561192757565b60405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f5041544800006044820152606490fd5b9061197682610304565b61198360405191826102e3565b8281528092611994601f1991610304565b0190602036910137565b8015611880575f190190565b929190926119bc600283511015611920565b6119c6825161196c565b936119da6119d48651611872565b866117c3565b526119e481612c24565b906119ef8351611872565b805b6119fb5750505050565b80611a29611a15610423611a0f8795611872565b886117c3565b611a2261042384896117c3565b9085612d0d565b50909391905f9083611a9757505090611a7f91611a9194611a6c611a58610423611a5288611872565b8c6117c3565b611a65610423888d6117c3565b90896128d5565b915b611a78868d6117c3565b5188612f41565b611a8b61053183611872565b5261199e565b806119f1565b809194959350611ab3575b50611a919392611a7f928792611a6e565b9550611a91611aa2565b9082101561179e570190565b919081101561179e5760051b81013590601e19813603018212156102625701908135916001600160401b038311610262576020018236038113610262579190565b6001600160401b03811161028d57601f01601f191660200190565b929192611b3182611b0a565b91611b3f60405193846102e3565b829481845281830111610262578281602093845f960137010152565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60609181526040602082015281518060408301528060808484015e5f828201840152601f01601f1916010190565b92611bba904211156116ef565b611bc661041285612865565b611bf881611bd661042382611791565b6001546001600160a01b039081169691611bf2911687146117d7565b866119aa565b93611c0e611c0586611791565b51341015611d43565b611c1785611791565b5193803b15610262575f90600460405180978193630d0e30db60e41b83525af193841561068957611cc394611d30575b50600154602090611c6290610498906001600160a01b031681565b611c84611c7161042386611791565b611c7d610423876117a3565b90856128d5565b90611c8e88611791565b5160405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909586919082905f9082906044820190565b03925af190811561068957611ce38692611ce8965f91611d175750611843565b613617565b611cf181611791565b513411611cfb5790565b61039f611d11611d0a83611791565b51346118a4565b3361376c565b6106f2915060203d6020116106f8576106ea81836102e3565b8061070c611d3d9261027a565b5f611c47565b15611d4a57565b60405162461bcd60e51b815260206004820152602760248201527f556e69737761705632526f757465723a204558434553534956455f494e50555460448201526617d05353d5539560ca1b6064820152608490fd5b91909395944211611e87576001600c5403611e75576002600c55611dc585341015611e99565b8351815190600182018092116118805703611e405783611dff93611e1897611ded88346118a4565b91611df883306137e3565b30956139d8565b611e0833613df5565b6003815114611e24575b50614044565b611e226001600c55565b565b611e3a90611e3561042333926117a3565b613f2c565b5f611e12565b60405162461bcd60e51b815260206004820152600d60248201526c1a5b9d985b1a59081a5b9c1d5d609a1b6044820152606490fd5b6040516337affdbf60e11b8152600490fd5b604051632dfb7c8b60e11b8152600490fd5b15611ea057565b60405162461bcd60e51b815260206004820152602160248201527f5469702063616e277420626520626967676572207468616e2074782076616c756044820152606560f81b6064820152608490fd5b906001820180921161188057565b906002820180921161188057565b906064820180921161188057565b901561179e5790565b906001101561179e5760200190565b919081101561179e5760051b0190565b3561039f8161031b565b15611f5257565b60405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b6044820152606490fd5b9293949091611fa085341015611e99565b8434039234841161188057611fb691369161032c565b9215611fdd575093611fd791611e2295611fcf42611f0b565b913391612160565b506140a0565b9490916064420180421161188057611ff7904211156116ef565b61200361041283612865565b6120358161201361042382611791565b6001546001600160a01b03908116999161202f91168a146117d7565b846119aa565b9161204b8461204385611791565b511115611d43565b61205483611791565b5196803b15610262575f906004604051809a8193630d0e30db60e41b83525af1968715610689576120ed9761214d575b5060015460209061209f90610498906001600160a01b031681565b6120ae611c7161042386611791565b906120b886611791565b5160405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909889919082905f9082906044820190565b03925af19182156106895761210f61211793611e22995f91611d175750611843565b833392613617565b61212081611791565b51821161212f575b50506140a0565b6121469161213f611d1192611791565b51906118a4565b5f80612128565b8061070c61215a9261027a565b5f612084565b93919092612170904211156116ef565b61217c61041283612865565b6121ae8361218c61042382611791565b6001546001600160a01b0390811697916121a8911688146117d7565b846123d3565b936121bc6119d48651611872565b506121db6121d36121cd8751611872565b876117c3565b5115156118c0565b6121e485611791565b5190803b15610262575f90600460405180948193630d0e30db60e41b83525af1801561068957612338575b5060015461222790610498906001600160a01b031681565b90612237611c7161042386611791565b9361224186611791565b5160405163a9059cbb60e01b81526001600160a01b039690961660048701526024860152602094928590849060449082905f905af1801561068957610498610423836122a8866122b2968c6122df9b611ce3610498998f9d8e5f9261231b575b5050611843565b6106058151611872565b6040516370a0823160e01b81526001600160a01b0390921660048301529092839190829081906024820190565b03915afa9081156106895761039f925f926122fe575b505015156118c0565b6123149250803d106106825761067381836102e3565b5f806122f5565b6123319250803d106106f8576106ea81836102e3565b5f8e6122a1565b8061070c6123459261027a565b5f61220f565b909492919361235c904211156116ef565b61236861041284612865565b6123988461237861042382611791565b6001546001600160a01b0394916123929186908116610446565b856123d3565b946123a66121cd8751611872565b511015806123b8575b6121db906118c0565b506121db6123c96121cd8751611872565b51151590506123af565b929190926123e5600283511015611920565b6123ef825161196c565b936123f985611791565b5261240381612c24565b915f5b6124108251611872565b8110156124cb578061243f6124296104238794866117c3565b6124386104236121cd85611eef565b9086612d0d565b50909391905f90836124a75750509061249491600194612481612465610423878a6117c3565b61247a61042361247489611eef565b8b6117c3565b908a6128d5565b915b61248d868d6117c3565b51896142bf565b6124a061053183611eef565b5201612406565b8091949593506124c2575b5060019392612494928892612483565b965060016124b2565b50505050565b969594939291906124e482341015611e99565b81340390348211611880576124fa36828b61032c565b94612509600287511015611920565b612513865161196c565b95816125226105318951611872565b5261252c89612c24565b906125378151611872565b90818315925b612576575050505050612570611e2298998361256661255f6105938a51611872565b5198611791565b511192369161032c565b9161421c565b806125e285858f948e6125f4966125a9612595610423611a5286611872565b6125a2610423868d6117c3565b9083612d0d565b50509390928d856125ba8d51611872565b84149182612642575b5050612629575b5f956125fa575b906125db916117c3565b5190612f41565b611a8b6125ee83611872565b8d6117c3565b8061253d565b9450806126208b611c7d6104238461261a6104236119d46125db99611872565b936117c3565b959091506125d1565b61263285611872565b61263c83836117c3565b526125ca565b10159050858f6125c3565b73bdeb498e872e36f899f237fd1b93673ed6c14474330361275a57612670615060565b612678615060565b6126813361278b565b612689615060565b6001600160601b0360a01b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f815f5416175f5573c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2808260015416176001556126d7615060565b6e22d473030f116ddee9f6b43ac78ba3826003541617600355816002541617600255731f98431c8ad98523631ae4a59f267346ea31f9848160045416176004557fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546005556006541660065561274a614379565b612752614389565b611e226143d3565b60405162461bcd60e51b81526020600482015260096024820152682737ba1027bbb732b960b91b6044820152606490fd5b6001600160a01b039081169081156127f7577f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91906040838203126102625782356001600160401b03811161026257830181601f8201121561026257602091818361284993359101611b25565b92013561039f8161031b565b600160ff1b8114611880575f0390565b60018060a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81149081156128cc575b81156128c3575b81156128ba575b81156128b1575b816128aa575090565b9050151590565b801591506128a1565b8015915061289a565b80159150612893565b8015915061288c565b916128df9161471a565b6128ea839293612c24565b6129a65761039f9261293c61294a612907610498610498876147e1565b93604051928391602083019586906029926001600160601b0319809260601b16835260601b1660148201525f60288201520190565b03601f1981018352826102e3565b51902090916043916055936040519260388401526f5af43d82803e903d91602b57fd5bf3ff60248401526014830152733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c8201206078820152012090565b906129e3612a4b61039f9461049894604051938491602083019384906028926001600160601b0319809260601b16835260601b1660148201520190565b03926129f7601f19948581018352826102e3565b51902091612a04846147e1565b6040516001600160f81b03196020820190815260609690961b6bffffffffffffffffffffffff191660218201526035810194909452605584015260759081018352826102e3565b5190206001600160a01b031690565b604051602081018181106001600160401b0382111761028d576040525f8152905f368137565b909260809261039f95948352602083015260018060a01b031660408201528160608201520190611b5b565b9092915f5b612aba8551611872565b811015612c1057612ace61042382876117c3565b90612ade610423611a0f83611eef565b91612ae9838261471a565b5092612af68183886128d5565b8094612b0383858a612d0d565b50604080516370a0823160e01b81526001600160a01b03968716600480830191909152919891969491851693909260209290918385602481895afa918215610689578f612b608f9483908b99612b66995f9261065c575050612c17565b906142bf565b931603612c08578a5f92945b612b7c8251611885565b881015612bff57612b96610423612b9d936106058b611efd565b908b6128d5565b965b1691612ba9612a5a565b90833b1561026257612bd25f9692879351998a978896879563022c0d9f60e01b87528601612a80565b03925af191821561068957600192612bec575b5001612ab0565b8061070c612bf99261027a565b5f612be5565b50508796612b9f565b8a5f94612b72565b5050509050565b9081039081116118805790565b5f906001600160a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8103612c525750506126f290565b61039f57505f90565b51906001600160701b038216820361026257565b9081606091031261026257612c8381612c5b565b916040612c9260208401612c5b565b92015163ffffffff811681036102625790565b519061ffff8216820361026257565b919082608091031261026257612cc982612c5b565b91612cd660208201612c5b565b9161039f6060612ce860408501612ca5565b9301612ca5565b8115612cf9570490565b634e487b7160e01b5f52601260045260245ffd5b9091612d19818461471a565b5091612d2481612c24565b60018103612dfd5750612d42610498610498600494876080956128d5565b604051630240bc6b60e21b815292839182905afa908115610689575f935f80925f94612dbb575b50600a612d9691612d8e8261ffff80936001600160701b038091169b16971604611894565b951604611894565b92935b6001600160a01b03918216911603612db5579291905b90919293565b91612daf565b9050612d969550600a9350612de991925060803d608011612df6575b612de181836102e3565b810190612cb4565b9296509193919291612d69565b503d612dd7565b91612e1461049861049860609388600499966128d5565b604051630240bc6b60e21b815295869182905afa8015610689575f945f91612e4d575b506001600160701b038091169416908293612d99565b9050612e7291945060603d606011612e7c575b612e6a81836102e3565b810190612c6f565b509390935f612e37565b503d612e60565b15612e8a57565b60405162461bcd60e51b815260206004820152602c60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4f60448201526b155514155517d05353d5539560a21b6064820152608490fd5b15612eeb57565b60405162461bcd60e51b815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604482015267495155494449545960c01b6064820152608490fd5b909394612f4f851515612e83565b82151580613023575b612f6190612ee4565b80613005575060405163cc56b2c560e01b81526001600160a01b0395861660048201525f60248201529460209186916044918391165afa90811561068957612fd684612fd0612fcb612fe197612fc5612fdb9761039f9b5f91612fe6575b50611894565b95614888565b61482d565b94612c17565b614888565b90612cef565b6148c4565b612fff915060203d6020116106825761067381836102e3565b5f612fbf565b905061039f9450612fd684612fd0612fcb612fe197612fdb96614888565b50831515612f58565b5190611e228261031b565b9080601f830112156102625781519060209161305281610304565b9361306060405195866102e3565b81855260208086019260051b82010192831161026257602001905b828210613089575050505090565b83809183516130978161031b565b81520191019061307b565b9080601f83011215610262578151906020916130bd81610304565b936130cb60405195866102e3565b81855260208086019260051b82010192831161026257602001905b8282106130f4575050505090565b815181529083019083016130e6565b919060a083820312610262578251926020810151926040820151926001600160401b0393848111610262578161313a918501613037565b936060840151908111610262576080916131559185016130a2565b92015161039f8161031b565b608081830312610262578051926020820151926001600160401b03938481116102625781613190918501613037565b936040840151908111610262576060916131559185016130a2565b919082604091031261026257602082516131c48161031b565b92015190565b519065ffffffffffff8216820361026257565b81601f82011215610262578051906131f482611b0a565b9261320260405194856102e3565b8284526020838301011161026257815f9260208093018386015e8301015290565b91909180830360e081126102625760c081126102625760806040519161324883610292565b1261026257604051613259816102ad565b82516132648161031b565b815260208301516132748161031b565b6020820152613285604084016131ca565b6040820152613296606084016131ca565b606082015281526132a96080830161302c565b602082015260a082015160408201529260c08201516001600160401b0381116102625761039f92016131dd565b604061039f94936101009360018060a01b038091168452815181815116602086015281602082015116848601526060848201519165ffffffffffff80931682880152015116608085015260208201511660a0840152015160c08201528160e08201520190611b5b565b908160609103126102625780516133558161031b565b91604060208301516131c48161031b565b919060a08382031261026257825161337d8161031b565b9260208101519260408201519260608301516001600160401b038111610262576080916133ab9185016131dd565b92015161039f81610fb2565b600192919060f81c601f16601081106133ce575050565b60088110156134a5578061341e57506133f381602080611e2294518301019101613366565b909290156134145761340f33945b6001600160a01b0316614d5f565b614f0c565b61340f3094613401565b60018103613467575061343d81602080611e2294518301019101613366565b9092901561345d5761345833946001600160a01b0316614d5f565b614d83565b6134583094613401565b600414613472575b50565b61348881602080611e229451830101910161333f565b91906001600160a01b039061349e908216614d5f565b9116613faf565b600a81036135235750806020806134c193518301019101613223565b6003549091906134d9906001600160a01b0316610498565b91823b1561026257613505925f92836040518096819582946302b67b5760e41b845233600485016132d6565b03925af18015610689576135165750565b8061070c611e229261027a565b600b810361355a575061355561354582602080611e22955183010191016131ab565b91906001600160a01b0316614d5f565b6137e3565b600c8103613581575061357c61354582602080611e22955183010191016131ab565b613eb4565b600d81036135b357506135a081602080611e2294518301019101613161565b6001600160a01b03169290919034614c2c565b600e81036135e557506135d28160208061346f94518301019101613161565b6001600160a01b03169290919034614ae6565b600f146135ef5750565b61360581602080611e2294518301019101613103565b6001600160a01b031693909290614965565b90919392935f5b6136288251611872565b8110156137355761363c61042382846117c3565b9061365261042361364c83611eef565b856117c3565b9161365d838261471a565b509061366b611a0f84611eef565b51916001600160a01b03828116911603613725576136be6104986104985f94965b6136968951611885565b87101561371e576136b66136af610423611a528a611efd565b828c6128d5565b945b8a6128d5565b6136c6612a5a565b94813b15610262575f80946136f16040519889968795869463022c0d9f60e01b865260048601612a80565b03925af19182156106895760019261370b575b500161361e565b8061070c6137189261027a565b5f613704565b8c946136b8565b6136be6104986104985f9661368c565b505050509050565b3d15613767573d9061374e82611b0a565b9161375c60405193846102e3565b82523d5f602084013e565b606090565b5f918291613778612a5a565b91602083519301915af161378a61373d565b501561379257565b60405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b6064820152608490fd5b90600160ff1b81036138cb575047905b816137fc575050565b600254613811906001600160a01b0316610498565b803b15610262575f8391600460405180968193630d0e30db60e41b83525af19182156106895761388f936020936138b8575b50600254613859906001600160a01b0316610498565b60405163a9059cbb60e01b81526001600160a01b03909216600483015260248201929092529283919082905f9082906044820190565b03925af18015610689576138a05750565b61346f9060203d6020116106f8576106ea81836102e3565b8061070c6138c59261027a565b5f613843565b90478211156137f3575b604051631a84bc4160e21b8152600490fd5b9360429592916001600160601b03199485809260601b16875262ffffff60e81b809460e81b16601488015260601b16601786015260e81b16602b84015260601b16602e8201520190565b6001600160a01b039081165f19019190821161188057565b6001600160a01b039081166001019190821161188057565b90613979602091949394604084526040840190611b5b565b6001600160a01b03909416910152565b9190826040910312610262576020825192015190565b6001600160a01b039182168152911515602083015260408201929092529116606082015260a06080820181905261039f92910190611b5b565b93959491926139e690600955565b613a636139fb6104986104986104238a611791565b91613a32613a0b6104238a611791565b613a176104238b6117a3565b613a2c613a2388611791565b5162ffffff1690565b91614430565b604080516370a0823160e01b81526001600160a01b0390921660048301529360209384918391829081906024820190565b03915afa801561068957600a915f91613dd8575b50048110613b70575b613a97575b50505050505050611e22600854600955565b613b139660018451145f14613b1f57613b0d9281613ad2610423613acc613a23613ac661042361293c986117a3565b99611791565b92611791565b915195869485019192602b936001600160601b0319809360601b16845262ffffff60e81b9060e81b16601484015260601b1660178201520190565b91614e1b565b5f808080808080613a85565b613b0d9281613b3361042361293c946117b3565b95613b40613a23826117a3565b613b64610423613b5e613a23613b58610423886117a3565b95611791565b94611791565b935197889687016138e7565b8351600103613d7f57878784613b8861042384611791565b613be3613b97613a238a611791565b9161293c613ba7610423886117a3565b85519485938b85019192602b936001600160601b0319809360601b16845262ffffff60e81b9060e81b16601484015260601b1660178201520190565b613c31610498610498613bf8610423886117a3565b613c076104986104238a611791565b6001600160a01b0390911610968b613a2c613a23613acc610423613c2b8187611791565b956117a3565b845f8c613c94613c4361095f8b6145f6565b95848414613d5a57600a54613c78908d9061293c90613c6a906001600160a01b0316613949565b9b5b8b519485938401613961565b8751630251596160e31b8152988997889687956004870161399f565b03925af191825f925f94613d25575b50613ceb57505050848103613a8057825162461bcd60e51b8152602060048201526012602482015271151bdbc81b5d58da081c995c5d595cdd195960721b6044820152606490fd5b15613d165750613cfa90612855565b03613d05575f613a80565b8151636a70124760e11b8152600490fd5b613d209150612855565b613cfa565b909350613d49919250863d8811613d53575b613d4181836102e3565b810190613989565b919091925f613ca3565b503d613d37565b600b54613c78908d9061293c90613d79906001600160a01b0316613931565b9b613c6c565b878784613d8e61042384611791565b613dd3613d9d613a238a611791565b9161293c613dad610423886117a3565b613db9613a238d6117a3565b613dc56104238a6117b3565b9187519687958d87016138e7565b613be3565b613def9150843d86116106825761067381836102e3565b5f613a77565b600254613e0a906001600160a01b0316610498565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92613e93575b5081613e4157505050565b823b1561026257604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af192831561068957611e2293613e80575b50614fa7565b8061070c613e8d9261027a565b5f613e7a565b613ead91925060203d6020116106825761067381836102e3565b905f613e36565b600254909190613ecc906001600160a01b0316610498565b6040516370a0823160e01b815230600482015290929091602083602481875afa928315610689575f93613f0b575b5082106138d55781613e4157505050565b613f2591935060203d6020116106825761067381836102e3565b915f613efa565b6001600160a01b031680613f4e57504780613f45575050565b611e2291614fa7565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92613f8e575b5081613f8557505050565b611e2292614ff1565b613fa891925060203d6020116106825761067381836102e3565b905f613f7a565b9091906001600160a01b031680613fd25750479081106138d55780613f45575050565b6040516370a0823160e01b815230600482015290929091602083602481875afa928315610689575f93614023575b5082106140115781613f8557505050565b604051630ceb95c760e31b8152600490fd5b61403d91935060203d6020116106825761067381836102e3565b915f614000565b80614078575b504780158015614058575050565b5f8080938193829061406f575b3390f11561068957565b506108fc614065565b5f8091614083612a5a565b90602082519201904161c350f15061409961373d565b505f61404a565b90816140b6575b50504780158015614058575050565b5f806140e6936140c4612a5a565b90602082519201904161c350f16140d961373d565b5081156140ed5750611843565b5f806140a7565b90505f610515565b90915f80949381946040519160208301946323b872dd60e01b865260018060a01b038092166024850152166044830152606482015260648152614137816102c8565b51925af161414361373d565b816141a2575b501561415157565b60405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b6064820152608490fd5b80518015925082156141b7575b50505f614149565b6141ca925060208091830101910161182e565b5f806141af565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316330361420457565b60405163118cdaa760e01b8152336004820152602490fd5b9294909593955f14614244575091611e229591611fd79361423c42611f0b565b92339261234b565b959192506064420180421161188057611ff7904211156116ef565b1561426657565b60405162461bcd60e51b815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201526a1394155517d05353d5539560aa1b6064820152608490fd5b93909291936142cf84151561425f565b84151580614370575b6142e190612ee4565b856143585760405163cc56b2c560e01b81526001600160a01b0392831660048201525f6024820152955060209186916044918391165afa9182156106895761434d61434661435392614340612fdb9661039f995f91612fe65750611894565b90614888565b9283614888565b9361482d565b614915565b505061435361434d61434661039f96612fdb95614888565b508215156142d8565b614381615060565b612710600755565b614391615060565b5f198060085560095573fffd8963efd1fc6a506488495d951d5263988d266001600160601b0360a01b6401000276a381600a541617600a55600b541617600b55565b6143db615060565b6001600c55565b9081516143ef818461508e565b926017821061441e57602b6017820151921061440c57602b015191565b60405163a78aa27f60e01b8152600490fd5b604051636c84b51f60e11b8152600490fd5b6001600160a01b039291838116848316116144cb575b62ffffff846004541693856040519381602086019616865216604084015216606082015260608152614477816102ad565b5190206005546040516001600160f81b03196020820190815260609490941b6bffffffffffffffffffffffff19166021820152603581019290925260558201526144c4816075810161293c565b5190201690565b90614446565b6001600160a01b0393929184163081036144f05750611e22935061509d565b848492941161454757846003541693843b15610262575f94868692816084966040519a8b998a98631b63c28b60e11b8a5260048a01521660248801521660448601521660648401525af18015610689576135165750565b60405163c4bd89a960e01b8152600490fd5b8051601619808201929190818411611880578360088301106145e457601782106145e457818351106145d257601782146145c057601f8416801560051b0183019182010160178201915b8181106145b05750505052565b82518152602092830192016145a3565b60405163664a531d60e11b8152600490fd5b604051633b99b53d60e01b8152600490fd5b6040516323d5783d60e11b8152600490fd5b600160ff1b8110156102625790565b61049892936104985f60409461468c61463c6146208a6143e2565b6001600160a01b03808416908316109b8c989093909290614430565b948484146146c457600a546146709061465d906001600160a01b0316613949565b9a5b61293c8a5193849260208401613961565b8751630251596160e31b8152998a97889687956004870161399f565b03925af18015610689575f925f916146a357509192565b90506146bf91925060403d604011613d5357613d4181836102e3565b919092565b600b54614670906146dd906001600160a01b0316613931565b9a61465f565b61049892936104985f60409461468c61463c6146fe8a6143e2565b6001600160a01b03808316908416109b8c989093909290614430565b90916001600160a01b039182841683821680821461478e57101561478957925b9183161561474457565b60405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606490fd5b61473a565b60405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b6064820152608490fd5b5f906001600160a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8103612c525750507f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f90565b9061271091828102928184048114821517156118805783040361484c57565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b6044820152606490fd5b5f9291801591821561489e575b50501561484c57565b80820294509150811582850482141715611880576148bc9084612cef565b145f80614895565b9060018201918281116118805782106148d957565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b6044820152606490fd5b91908201918281116118805782106148d957565b1561493057565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fd5b909392916149c1816149e4946149bc60018060a01b0361498a81600654161515614929565b61499a6104236119d48651611872565b6002549091906149b490610498906001600160a01b031681565b911614614a5d565b615186565b6149dd836149d161042385611791565b610de961042385611791565b3092615436565b506002546149fa906001600160a01b0316610498565b6040516370a0823160e01b815230600482015290602090829060249082905afa801561068957611e2293614a37925f92614a3c575b501115614a9a565b613df5565b614a5691925060203d6020116106825761067381836102e3565b905f614a2f565b15614a6457565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420496e7075747360901b6044820152606490fd5b15614aa157565b60405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e540000000000006044820152606490fd5b92919360018060a01b0390614b0082600654161515614929565b85511561179e57614b3986614b86956149bc614b7f95602084015116614b3361049861049860025460018060a01b031690565b14614a5d565b95614b45848289615599565b96614b5b87614b538a611791565b511115614baa565b614b7a614b6a61042383611791565b614b738a611791565b51906137e3565b6152c3565b1015614bef565b614b8f82611791565b518111614b9a575090565b611d1161039f9161213f84611791565b15614bb157565b60405162461bcd60e51b8152602060048201526016602482015275115610d154d4d2559157d25394155517d05353d5539560521b6044820152606490fd5b15614bf657565b60405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d3d55514155560921b6044820152606490fd5b93909282614c59916149bc60018060a01b03614c4d81600654161515614929565b61499a61042385611791565b90614c6e6104986104986104238551876117c3565b6040516370a0823160e01b8082526001600160a01b0384166004830152602095919392918685602481865afa95861561068957614cf29988965f98614d36575b50918183614cc6614ccb956135556104238b97611791565b615436565b506040519081526001600160a01b0390921660048301529095869190829081906024820190565b03915afa801561068957611e2294614d12935f92614d19575b50506118a4565b1015614a9a565b614d2f9250803d106106825761067381836102e3565b5f80614d0b565b614ccb9391985091614d558793893d8b116106825761067381836102e3565b9891935091614cae565b6001600160a01b03811660018103614d775750503390565b60020361039f57503090565b614d999391949260095561096461095f866145f6565b90919015614dca5750614dab90612855565b03614db857600854600955565b604051636a70124760e11b8152600490fd5b614dd49150612855565b614dab565b15614de057565b60405162461bcd60e51b8152602060048201526013602482015272151bdbd7d31a5d1d1b1957d49958d95a5d9959606a1b6044820152606490fd5b909192614e2f61049861049886518761508e565b6040516370a0823160e01b815230600482015290602090829060249082905afa91821561068957614e9f92614e91925f91614eed575b50939291905b614e7a604288511015956145f6565b8515614ee757305b614e8b89615704565b916146e3565b90919015614ee05750612855565b9115614ebf57614e91614e9f913090614eb787614559565b929190614e6b565b50611e229250908110159081614ed6575b50614dd9565b905015155f614ed0565b9050612855565b84614e82565b614f06915060203d6020116106825761067381836102e3565b5f614e65565b9390919293600160ff1b8314614f34575b90614e91614e9f91614e7a604288511015956145f6565b9150614f4761049861049886518761508e565b6040516370a0823160e01b815230600482015290602090829060249082905afa91821561068957614e9f92614e91925f91614f88575b509391509150614f1d565b614fa1915060203d6020116106825761067381836102e3565b5f614f7d565b5f80809381935af115614fb657565b60405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606490fd5b5f91826044926020956040519363a9059cbb60e01b8552600485015260248401525af13d15601f3d1160015f51141617161561502957565b60405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fd5b60ff5f805160206157338339815191525460401c161561507c57565b604051631afcd79f60e31b8152600490fd5b9060141161440c576014015190565b9091906001600160a01b0316806150b85750611e2291614fa7565b600160ff1b82146150ce575b91611e2292614ff1565b6040516370a0823160e01b815230600482015292909150602083602481855afa801561068957611e22935f91615109575b50919092506150c4565b615122915060203d6020116106825761067381836102e3565b5f6150ff565b9081608091031261026257606060405191615142836102ad565b61514b81612ca5565b8352602081015161515b8161031b565b6020840152604081015161516e81610fb2565b6040840152015161517e81610fb2565b606082015290565b9091615192825161196c565b6151a161049861042386611791565b6006545f9591906151ba906001600160a01b0316610498565b905b83518710156152a55761522690966151dd61049861042360018401876117c3565b80986151e9838a6117c3565b5160405163704037bd60e01b81526001600160a01b0392831660048201529290911660248301526044820152916080908190849081906064820190565b0381875afa801561068957610498602061525892600196615271955f92615278575b505001516001600160a01b031690565b61526283886117c3565b6001600160a01b039091169052565b01956151bc565b6152979250803d1061529e575b61528f81836102e3565b810190615128565b5f80615248565b503d615285565b50505092509050565b90816020910312610262575161039f8161031b565b9092916152cf84611791565b505f805b835182101561542f57506152ea61042382856117c3565b600182016152fb61042382896117c3565b90855181145f1461541d5750835b60408051633684184360e21b81526001600160a01b03946004946020949293918716919085858881865afa9081156106895788615383995f93899885916153f0575b50945163029e02cd60e51b815294169116149682018781526001600160a01b0394909416602085015290968793849291839160400190565b03925af18015610689576001936153af925f926153d3575b5050906001600160801b0382169160801c90565b906001600160801b03925f146153ca575016915b01906152d3565b905016916153c3565b6153e99250803d106106825761067381836102e3565b5f8061539b565b6154109150893d8b11615416575b61540881836102e3565b8101906152ae565b5f61534b565b503d6153fe565b61042361542a91876117c3565b615309565b9450505050565b939290919361544485611791565b505f905b835182101561542f575061545f61042382856117c3565b6001820161547061042382896117c3565b90855181145f146155465750835b60408051633684184360e21b81526001600160a01b03946004946020949293918716919085858881865afa90811561068957886154f7995f93899885916153f05750945163029e02cd60e51b815294169116149682018781526001600160a01b0394909416602085015290968793849291839160400190565b03925af1801561068957600193615522925f926153d3575050906001600160801b0382169160801c90565b906001600160801b03925f1461553d575016915b0190615448565b90501691615536565b61042361555391876117c3565b61547e565b51906001600160801b038216820361026257565b908160609103126102625761558081615558565b9161039f604061559260208501615558565b9301615558565b909291926155a7815161196c565b936155b38351866117c3565b528151805b6155c157505050565b6155d66104236155d083611872565b846117c3565b906155ec610498610498610423611a0f85611872565b916156076155fa83896117c3565b516001600160801b031690565b604080516305e8746d60e01b815290946020939260049285818581865afa9081156106895761567d965f926156e7575b505060018060a01b03975195869485938493630abcd78360e41b85528b60609c8d9a169116149184019092916020906001600160801b0360408401951683521515910152565b03915afa908115610689576156b2935f926156b8575b5050611a8b6001600160801b036156a984611872565b921691886117c3565b806155b8565b6156d79250803d106156e0575b6156cf81836102e3565b81019061556c565b50505f80615693565b503d6156c5565b6156fd9250803d106154165761540881836102e3565b5f80615637565b90602b8251106145d257602b60405192600b810151600b8501520151602b830152602b82526060820160405256fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220acaf04ce472be82b53e96d88f0fb25b098e6c53619924b6a8555e62e55080e5d64736f6c6343000819003300582103175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9054fffd8963efd1fc6a506488495d951d5263988d2600582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68804227100058210365a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a804501000276a300582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b44105581d03639c64228440f4bd2ae46d5b506813ab36fd9137777c62afe5d42f1007011957880219040205581d02876caffad5ef4c51b4d7ef6ea839513ae3eeee534ef47110ec28049504050219400805581e03f47119f7136b6a1def201d85e900331cd238747bc8c56c3c6e6463e7f0040105581e03311fc32da51f90af9ee044ac2e8c9c108c54017da6dd8b9e59106bc2a0040103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03f3dd9015331d033b99d51b3f932aa7d589333cffd3d5c3281757b40b9007011bffffffffffffffff05581e03498ad85465a6d9a87a248ecba19ca612a0bc6e9eaae5da1c26f895fdc00c01480ebf66bdf11688db0219a98003a66bb441068c0cff3ff0c62a78109e9803b449992611893526fa8381be778832039f1bc056fa58ea7e39accf3669ef900809204c0efad0c6c9973deb30dda256fb0357b8cb12d9cda63f72a9e199a00e284faf1d6302b4ed8fd9fcf22aff2d766e9303d49702deef497ce5e14f1897dec381593ecd0ee7550f73dc9e69d7eff813644d033651da2118a88939504fa676025b93e49c6bdaa30755670c044aee9c0479d34703fd9b6e85a3740c518b284ce1c741f50380f55d7e834f652157495486cfe2ba4003cbe85ca4262ccf78f464d42fe901642b5bb184d1d7f88e69d137178ab9e69dbd03ab9c6524b81a15e0a09ceade91a4d7906800fe4651a203dd36398a44bbfd362d03bf48c49d06db7bd419754ee9d5f5d98eb2e0a0ac6394c333e418d56b147ecf69033ef8d40562f5108af685c2dae9c623ecc3f15f1ebf5217a31837045ab95c899e03adf802caed32458eecb623c177f75a4684ddafae4f24940323d04b7898dddf7a038fc0609bad5cfd08d85404432a8985b718f7586867a676ab3e99c9cca941da0b0307548ec7c3af05826677a17b078e006005a0077349827080b3dd84f5335e64a303a5b2e973aeb9e7251c76d700ef50a710df9961e84b4713124f01c35dd9a849cb0219ffff0381556a67b48f98ee0ecfa0deb3a4f77be6bbb7e941963ac86a24031184a600800349eaf64cf9633b792213ce509c5df168ac0eaa9d16644fe672b901110155acd40380b26d93228045c67bd23a335dcf662678483ea74a9db314a0303b3dbcf29bcb03c5d74197e444ffaef11dae6f09be5cca1747a645730a7542d8efb9121a1ca8cb03da73a3f05b75f3839da63ce608c1550e98e318ca4923cfd8804240078927227703c588d0bd72c4b6362bd6b8fbdae1324f95c80da34971b9fba3857566fbe2d3380309a80e2eef55dccc91d0dfdbc00dead108aaca4fc3537fd46c7ae366888b3ad003eaad6b3ad2033bb22190743b108bbfccad245cdebd848617df5f9910009394ad0369281aa35be78dd31873349e7b9eb06c20416d296c7a337f9ea6fd2e7c06e3e30309f1d9486b3dfda77f0b6e08f0530e8008faf64e691e7fae1b58fedeba1aac3a0219ffff03a656821f1f9b855d83315a1dca80cbc8dd078e25bc86c737a9981f89024a90b203da78666dd879e45a1061692e7ac51807e48a3db6c48bea30f486437e4a66e3140392f1938b48e7f0569d51579e725befea55a7f8b9a30379f5d19bb90a529dd6be033a040c6cd76d385a34949b1c58bd7a70ded012f49c4f1949996fbd041b8be77d03f89e59958637c7153c9c305d1d029693b114325c010052e0867c5a41efc4ade003497d47886f8b5c8b1f51bf515e1fdc52c05b51a17f814b76e938f4985a9bc63b034b391fc9a0f91a9fe09558df4bcb347f8f69e87cef7170b5a81f8591b2ab7bb30219ffff0385e8c7f066fe3aa973f1d4af8eea40952c0844b68c67199b21545a5815b1405c037a2d46d57e89c5cc78e4aed22392d06a9c78b6a45f25d8fd3fb47c7143ac1d750354173bcd7cb27418135fd3067b1343be52eb6b05c9580aa0e83dcf3ae6aecff7036c89cfbf5ba0e562a3b290bfc90cbef77a6a0fb15a52b105ff7e540612f63b15036043a56a30e0b4f28348ee26d72cb78050a44bf6774c4c5568c458330a7271c103d468325c4e5bb72bc1133cdfdc51da9c54741ec0a5c2af58590b7162c00c31870333d93a23c534670211f11ad4aab1a83fcb0739d2756688c5c168701c53770fe8033df45a13e7b074f3c57bc3fa521e2b49d9cc447434e2fd290d958b49cb94d793034954008be6a9c74d18b710f905a368d51302a616eab7f9d99e1a70647931e45e03339fac81353a0d0193c29f69463674050aafef1489c31d6930bc667436f2c2d9037a68fa1c25d4eb4cf841c1bb3a2cfdc46bece660bf93a221f6656e23e53b939503e83a2dd1a2038ff3ad2f46629ac740ec25ad5f202d52c26bf38711b75f00080d03d6e25bd99fcc6a967b645c76e159b7a3cdbe730ba6cae248b3bd665f0b01827a03b3c220e1234944635c6d185322b76bf783a09c42766904a3d0c655aa4a3be6c90343fba4e44f7d5b86dd299cd756aaf5a994a6de12f0b306116a5e2b8f51b4615e03a3384ac3ea592096bd83b2d203260a504fa4b412b19032a3fcfb657627b3334103a9bd43859ae4bbd3ad397401cb60dfd53ab33950b41c67c93d7c5447c9e51ca503882f7eace8efca0f3cc0830b3c229a0ec9a84e7bdc6e7f8227b2946f393e243e03a82787baef94573aa700a566972187201a6d5534f7f887ea61c5aa58e99b44bd03c6b2a8fb5b70cecb825bd57c2a68d5d37560f7bec6b40190304e114d8a903eb8034e701f25bc87701eb0b3941fe6078c913a571f89b9b96bd08e1d9bedd6c537f703e0c031baffbcf25e26155b7bbdd5e77fe45fe900b2ce496b9797fe14cd1f1e2103892571902685ca7716b0bb2be26015d7e3306de55d4e189baede77791e0daab2039e44f1e7a6704c0bd34c5188d407cd0a9fa7f66222594f39b247cc70577a05d30367bfcfe53c66b885ac341543871bab49b434e8d8e46903a9ad08c4388f31dd6d03d28a2fe7b2dc83eb2166a8458174b78b82013734cf0e4706b984eebca11f75ec03dc37227f0091580d73c3addd383432a99ee6465b3fdf7490312af062ffb64a3c03ed50432574e79850194b4374dd27cfe7534cef86546cd2c9b08a271165bf1b2805581e0319a4841944d466e95fbfd52b513d933b9f54f525b5c3931aa94acf7f500401031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03cd63095f763f10d8ea194350ff248393b8e441b61557fe36b75ddbd88007011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563049014326dfa67343d10b00582103a648b2d5d2316044eac88648b8821845a242e922c7e0381a9c6da1524b5800b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af04f836a35d0d6327eec74dc9c5dafbf28005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab048033b44cbe78d7a5f0219014000582103f00a1d6969993d4bbe1845ebd3a6b45ee816f634a0584b46a9301a8ed849b2e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58205f69a7127a272a24d6f821d7018ac573b1f5946dbfa7f89800a96b63c0387b83005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a852010da27eb052a89f4398fec1af706980c1c802184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd0049013feb9ada8bb652c400582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687d7930000000000000e978abad81cbecc00000000001c9d3de1bf5e12d8490058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f542e714434f68ca05032ed694f3a7c22ff0e94574e0218480219fc4d05581d0248fb88b0e52f6141e19f5e8ba35777fdb62e2420640b986fdd3fa7400701192c1d05581d027112985048b6e6c5411444faf506d455754ca435750c10590722c48308472c8d10457bc00005581d02a365eb83d1a441c27dbc9aa2cd350c7c9df3ba841c7a755feaceadbc0c0247019161dfa256600219406005581e03b69c1ecf2583cae3f35207766c6338a392bd2d9cf966629d1b6620d2300c0247030b711f97fba003389918ef1fb48a38789441e1530d768acf580cddc878c7bca332e02eefbcf4690347c533dff8d27d35540551d6929f6ff17c9c2f21fd5ebd3f9db479db733e6a25031f076133e91ffd01baa6361f964d9689688ccf8c61b8b1a7aed700897674e3cb0605581e039d14cd9f4b1f258346f37ef34afd0ecea0b0b1517568ffaca7e70481a007011bffffffffffffffff05581e036b9100a5f1e08dc28af2a851fcc671f07269b6032f225da7b7ef4dc0500c0147482466f8a5160003f52caca7b76bd271a0e19c1257d31581f1d5117fe68721bd59d8a2f2463dc5a3036b67864899cfdf71f9fce26720f9fd70c113cd91cee3ab96d62c835a66de57e303941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e036e8a2a6d06f8c37b564b48b6e3bb9635f8288ff9179cadcf60a756b06007011bffffffffffffffff0219e7ae03d06027438b2aaf1abcdb1b2f1d066eeec25cb89a8b06f9870df583e6a52898fd035a6961d4e6d548eba9593e382ab49152fb1a1527a910cdaa00895d1174ddd755035e2678e0c6811b6f60db650ca80b322b7776e2638a86be0e5ba44ff200538f9303ad02c76bd4f4ea3ae89027c11093f3b4e7d4717f3de99cee2e3deb01f960dca803f69dbf0de860b24e2c9603d6900046e5778d9e968773a2d7076b852ad88767c3031590f0bb657b5efc44fa429ac12dec6c72883f97fcac3609ad4a4b662c1db3eb039ec07c0dc706b31337fc56aced55f03da4d1ad11572e8f36bece30d7c39d05960301a4aab93b97b4ddb464d34665bbfed0730a4757a0c9daeb6542acdbf6e4766403b26209989f6571f03d0138e95d13ba1529dc68657a6eb26fde68de5ba93b42ab03c0ab21ac8768f786a942e8d888ca6b3e115b5d944ddd003b0f4001d618a7b6b70339a30611389e8d4dad962214fb63b33997fa6c5271ce70a51c118a281480c4e7035d85a34a1ae6e5daac09ffb506bdb4974a9e70c0f2b8595a9876e8bf5cba82fe0219ffff03ea6ea16596dedd376c18bf61d3d09060362c677f95ef9fdceeb3c2cb5fa634f303defa9c260ca68492242425bee54a5918f90f93092406ddc4724f28410f44ebc6030793214f538196f5c4057c3c6bb970bdebef06b34cb8210fcdba6e7ee564daaa0326d9130676118d9ff8f90553eadf5d6f61eed8ed785b28be023a589649519ec5033bc75047c6b63b952877ba7bb7691af45e9d89e0c151d5938b1c4bcc447299c4036baaf4a939815725d1bc66b4fc5bc146a58b32bae0bc6b2dfa2968281796782903d186fa659544198c2adcb876d218c16332dee526442c3c88a1aad2a19764479e03572df8e414f25e65e7dd0dcdb622061b45019918dad2af286b725586afdb58ca0219ffff0219ffff0337290407a81490006ac8abbab279e19c6a910913a1e19f8e1cd39be2ac226b12034abd95ee6225b4653f7304fbf1621ba2e7635ffc8182fec83c2d50087dfe6f3103f8234073114706fe46c8810879ba43143cccfddb03eeb89ee520373620199e620219ffff03bacdc014cd2ae480999b8d0361fc0456df3ad4817ee9e04a7798ec87df91f78d03fc2218fc2dcf75e8524fda4e54d4d228a90857f493f71c69f19096fe2874f436031569ab79820aeeb4c799025556575de4b1d6b6f24a3f41104516c35dd93030d2035c4e7fed2b9a73438336939e36f0407691360eea67b81dc56b318091be0e32a403b47ab3044709b4e6e18cb9d7fd19e25fa4da9e81ed85c1ba680ff5db19200bc303cb79c1cf8d903bf111156d2b9ca450f72a2adf1e309b28d7d4b249c615b60131037ca65a841ae3390a656942052f33f60c0f0141c2bb453aa81c855ce2dfc71fea03b0f90878d776ebc98b6bb42b609acc34b1443eca6b83586353005d82de698991031a83795788e212e58dab0e5dde4d4b7209a0806a6013a42538873eed9253c38803379f3147c74a35b7e98db6f14c160a8632d755eb7a12a3dd2512fcbcb617151e0350b92199426378b36235a0d732228634c251cc0eed251f0b4fe79aabd95437e303ab49388e10619bf76d4d0cf9c33b91383e5a021c04f9334bffcd3282c7c6172403342eedf1a7807f59a3a037986da477d490a0a49755ca848742c0e5cd7eb8389f031bcfd7e9c6df07f37b60b20e6df2c13ba3eacb59d3f9ca4c976d0ae35698c2320373fb64f9187ee778e4cbea4f9c84f793fa1d5e092ca8c8e2ade96665db5e8604039b6101bb7f247095a31d8690c3c888c5e580e60c33c6a583c1ada935df3b7aff03edddcc3e4157aa2449d0b2ce0043c7f47501db32468d7ec84490ec8ee4664aae0321b42c73cccaf5d45505e8371abd9079c66f3b4670065b138da5326582dab544032cef6c3643ebfe5292b48669ce5e9419bd9e6978bcba86617c2f27e5eb7040fe03739ff6d73253b3debb7a75f9071258fd8e85f9303cb810b57d2e678f351034b003de0d4355ac6a20052302822fde771fdbb918ff697db1367b11c49212423ff37203c9229c735c31b1310ff1fe9141e4f764da9123e85ce2651adc36f1757716645f033cdef3c9cdbf083c6f1a2e47cc340d9ef61f8843a6bcb4f97a26e80c2716a5f303eef3ffcea2acc9a1b0eaaff88ce801dd2ba578b8e71d367c470ab1eb02c585a903bb855a8525e7444c904a4055d0fee5ef20c1931910e20fe256ad661ff1fbd98203b962b12f511e271558746e497ea538ef1348270d07e894776828689a498ef79503363fe5c673ea6716fe3d12b43359756a31b2c4b32b0d1d3180296c4526061fd603d04dbdbd145afd18b1adbe829910ab7b30b46a26cd45c20a4e9fbdd13792c5b4031c15b03c57d7be9b4983e0c4995b70e542eba57625057f34d3515cf79fa427d803a21e40025a76b2607652bf0f7c1bc1355334a538cda711023a81e7c64fa4b47803a2879a149e6357b6d8699e97d0c300689ce89bed9918a5c6088123e722c0e8fc03d90e55f930c017ffc938f8d5422ecbe91f11b46ad458310b6082612f83b3ea1b03a2d7f4d8eebd67b9f1682f1c9f3e55155c99a4b7cc2df07022b6b2f56fd8c48703e3a21c063977f7b7b503b380bec79e0b3f90aa1b7181be0b4dc807a60b7de28b03eed17b844315059184b023fbdcd7394e6a56976c66cd7df4f83feab83b536b02035d3c6b7bd0775707deb7edd188577b3cc25b42431fd34d96d64fa444d7980f3503608bcac4a5eb50e65444712f8ff2fe5f63c703b9fa51a581f23c50b280497e3b03324d9b5a8b71188e0257bd15b3b43be94e043d8013a9b2d66a53bc344217a3bf038eac769443657d227fa39776b5303cfe66e2e350f24b094a86ab6465fef3fe9d0388ce0394b55a694d16ff7557601a4451820163758c26b38e6af6327aa23b545803a7ecc59320b834abf9c8d624a30b13d799d9094d1ebff8dd0d96ec25a1420c0303f389bc737807fea2b5ac30365c3df9f1bcd0ca25f3a108ae2c510a77958d5a77033d098f7d748e05b3007d4bfd2f282b9ddd76f7554b818ada692e4ae8cd0f314503bb8657f46181ebc73db59ccaa0a5c93a0ca83326d8918aaf0855303aea6a8608032c20c75a532707ecb1b6550291b85634b4d5ded62518aae315af0cba9f2c817c039f9b0ed4d921febb0ff6a5ac7c3d152a9e02c3fd2729b7e8fe380251a14ba2ef033f9b412c723b88624080d84a0d1998e7fee04f70736df2efbc4b57251bb73cd803c62720260605aa3cb501dcbae7cfb742284d7c1f57e644cb5b5e982d102250bb034f4c2b0980ae9beb20fe04dc95a734af509f1c23e7e11c07de32b524f477984a032f73a3e7945632de5c6e37de68a252c11287f805b36836fe564e885751d0314803828561393102ee332cffc66a9d247573ec00d0bbca7b702086b2d813132e20cc0355a269f5dd89b8ea7496113a04fd3518bab72a395189699ec4912eb4765843b603d7d3eed0009df59d88339e267c6f9d32f195b5f25e8ace86a9106b1d377e1e8105581e0373ebdfcf7af0c646710a2f68045bb7f9741b0fa2519c229852a4656c200c187348051ef47b60154d9205581e030f393cf0f2de76e51c01e1397b88afec82061194988fa0b72533e228000c03460116ee5d4c0003942844b7a432388f243d92f100327b99f34ccf561c4f14165d41a476159b13bd05581e03d5eb20c9ee30e46eca21e5a0eb7831b428c93d83b5e3a97ca117ace5d0040103559c1739569910952f3154eb5360cc4bcbb8a285a22ded38d0b6a806d2518a4801410e05581e030573e5ac99a0b1ca06a45f2cfff7d647d1e4c3cfdde7787666f28307d0040203fd8421991e8212422f69283aae985f85e22e693c7639dd9946114c19d93fcb6103a9d6d318c6118bf4797752960c19665133b4a221dd7675e3badb92934e936c1a05581e03d45651fae5be87d2d12c4949ef71e05dbcbb9b43776a7be537d2497d20040102196d57038c000cde5775eaaf3fab8b22d9397cc75d465155aa6a7f28a88da841874b266e0219ffff030c3bcd9789b1b4d4f2e1169e0cdd73182d8331f85ba4036cfc2206be801cb56c03f211b89f6fc52a88c1405c1fc622038876070e484eb9404c4d5f6407acb4daf9031cdc56a4dded65fc032dbab47a3b9fc8f542ee5ca9c1d6bd80a919bd92a641ea0383cfd357de5cefde081aa7dedc63d2d79ff545cf5d929331f864910271457e4103c7b13e92cede41ef95ce8c85ec52bb39ed46be0cebeb532c58608bfca5a0c1210219ffff035cb6744c1c96199d1c5b85840ca0c803e97249c9f3422f96ac030e706fc2600403208e01736309a6bf79505ce6995006240e03b8d4219673034d460e701f706b2a0219ffff0219ffff039e5a8f55badeaf9dbfeab91378e2599c628d26f7026940725c56100c8a77f00803ad96b94e58bf436b7c7adc66c9b4345b379463007bf4c72e11d7add2473f91ed03903a8872de0548198ce445db242a9d2e6cefe1367f7209362bfc486d88bb61b503bb0993cd4554b2875fc23848b0ec30415c3f13781e4964a17fc90a8c7a0be2cc03654b247afadacb41d156313e1feb5e3ed4dc12078ec5262daf34298b1dac457f03f9ec3b4958b32626e04e2da9cdac213527477e18aba55e190cec3ea6283564ac0353504d8c2dd053a393083aa54009ecd4babae53ce2e83b388643c04d804ed4d40324e2fe8b6c8791a0d4e742af3645136b0f601d4c836ad181ef6b34580002d6f603d07afcbd2494a568e188a3bb834b94a12885db81d9e2a8991b9fb68a3079959a03c9b3ec03b35ae114bc8f9a907809d26368f387464985803cf32be14e99ba6ba9032161f6e4497040d0ba7b3449e7a377c8278f31f1b29ed9223095762ff9d993a00317d71a3bae6d300324d75cc73356ff1db694fbd2482d2613d7186b80c49064d803230f6758d585647f0432cf01592eb04e4e90c1ef58b75a1d293d8c5da41aca4303a5eb8f94285f7038a1fef18a69b6452f4b4838814a1a1e286d214f06829c41b303d0f3c544dd667b2e6c0fbab019d3099bb1941e858703f21328affe223ba67d9d03ddbbca7b85f3e96054991a48715f375e81b45b47521c40d15e9002079ae0256603182606ff9cd4591636af72a367c07fcad82b80a5a18cb2044de0f376329c547f03337ca759e5ac8e4566f5c6605cd03373ad4cd562565b843b8895f97f31fa14980391e1be87668e87ab7aa663ba98a77b27758b283d14a3e39d666e667535e76de103933f36c765f9f66e009ba2278f27aacec54640647fdb0d0e65f99e433243fab7037031977058017c6f3ef1c5dcde21a9713b2bb8e3e5afd5dab80d446a14a6a8530396931e66874b2167ae2182cfed0333a36dbac49eb222bd178525cb9a3e24ed9f03f4faf70c1f744543fe376bd76e9729ee5be2d4b960a54536d7de0226d9fdccef039da81491034f0cd36de881fb5a16a485af458e62abcd2f316205fc8b338dca5d030c3770857932f46d860e78a5178d4e0a9851b6223b67910bcdb889d0d4698dd203288e2a5b806b8783827d9690f6a232e374ec484d4d0b3b8e2a2fb1eafa25867a031a48d60514017292db056102ec00a041432f081502a8814c9b76ed0a28ef0535039fc0a01a171531205e426c2b5cfac57a70c7ddddfde6c55ff2ea48038bd5c0d003657f005fcca5d302942aad437ee587a93c8f9faa242ec398d30800f5f677d8af0338d487f4bc1832fe474cf259459be6cb2eb1f9fa3c57c1bc66c6859dc0206fea03cd7114712ce11710f6984c1e7785bada23e1ba305704079b03dc277654f89afc035c49040e377026900e2f1bc1c135299b92db0154db09e25741c9c9891383c89603177ab317efd37068b874268612c469ab026bb4d9e5ef3c196f08094f968e4551039852a04dfcc0eb16257a162591cdf55d66d302f7d2f23c53b68dabded439143003dc2d6f40b7ce37b2c9e76241df229448e599baca8d018b7d5875cc3a22d93fd203d59547a2e3e3720798eb4d18b1e3731df10f40c8de8db8c07620d370c6d4327f03dcd740f1cb3e251c792d6de48036a14c2fd44f6a8503674881d4832eac89e4de0347d148916db2c362a8ea6fb11a2f6975e32dc54a642dcbee4583d5896274f4ac03f839825d382639bcd59dd51819a5369e5e116d75f1c399ebe8a3cef1ba781cf6045915c1608060405234801561001057600080fd5b50600436106101425760003560e01c80634e71e0c8116100b857806395d89b411161007c57806395d89b41146104d3578063a9059cbb146104db578063b4c50ff414610507578063dd62ed3e1461052d578063e59850f71461055b578063f2fde38b1461056357610142565b80634e71e0c81461048d57806370a08231146104955780638456db15146104bb57806385f2aef2146104c3578063870c66d6146104cb57610142565b806323b872dd1161010a57806323b872dd1461026a578063313ce567146102a05780633a625ee6146102be57806340c10f19146102e457806342966c68146103105780634ca608251461032d57610142565b806306fdde0314610147578063095ea7b3146101c45780630d0092971461020457806316048bc41461022c57806318160ddd14610250575b600080fd5b61014f610589565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b038135169060200135610614565b604080519115158252519081900360200190f35b61022a6004803603602081101561021a57600080fd5b50356001600160a01b031661067b565b005b610234610703565b604080516001600160a01b039092168252519081900360200190f35b610258610712565b60408051918252519081900360200190f35b6101f06004803603606081101561028057600080fd5b506001600160a01b03813581169160208101359091169060400135610718565b6102a86107f4565b6040805160ff9092168252519081900360200190f35b61022a600480360360208110156102d457600080fd5b50356001600160a01b03166107fd565b61022a600480360360408110156102fa57600080fd5b506001600160a01b0381351690602001356108ff565b61022a6004803603602081101561032657600080fd5b5035610a62565b61022a600480360361010081101561034457600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561037457600080fd5b82018360208201111561038657600080fd5b803590602001918460018302840111640100000000831117156103a857600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156103fb57600080fd5b82018360208201111561040d57600080fd5b8035906020019184600183028401116401000000008311171561042f57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013590604081013590606001356001600160a01b0316610b5e565b61022a610ccb565b610258600480360360208110156104ab57600080fd5b50356001600160a01b0316610d7e565b610234610d99565b610234610da8565b610258610db7565b61014f610dbd565b6101f0600480360360408110156104f157600080fd5b506001600160a01b038135169060200135610e18565b61022a6004803603602081101561051d57600080fd5b50356001600160a01b0316610e2e565b6102586004803603604081101561054357600080fd5b506001600160a01b0381358116916020013516610f13565b610258610f3e565b61022a6004803603602081101561057957600080fd5b50356001600160a01b0316610f44565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561060c5780601f106105e15761010080835404028352916020019161060c565b820191906000526020600020905b8154815290600101906020018083116105ef57829003601f168201915b505050505081565b336000818152600a602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b600154600160a01b900460ff16156106cd576040805162461bcd60e51b815260206004820152601060248201526f1113d113d7d25392551250531256915160821b604482015290519081900360640190fd5b6001805460ff60a01b1916600160a01b179055600080546001600160a01b039092166001600160a01b0319909216919091179055565b6000546001600160a01b031681565b60055481565b6001600160a01b0383166000908152600a60209081526040808320338452909152812054821115610787576040805162461bcd60e51b815260206004820152601460248201527308298989eae829c868abe9c9ea8be8a9c9eaa8e960631b604482015290519081900360640190fd5b610792848484610fea565b6001600160a01b0384166000908152600a602090815260408083203384529091529020546107c6908363ffffffff61131916565b6001600160a01b0385166000908152600a602090815260408083203384529091529020555060019392505050565b60035460ff1681565b6000546001600160a01b03163314610848576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b600060075411610895576040805162461bcd60e51b81526020600482015260136024820152722727aa2faa2920a222afa322a2afaa27a5a2a760691b604482015290519081900360640190fd5b600854604080516001600160a01b039283168152918316602083015280517f777d534c56e5409475a0daf453d4062d4d63f108acc530af91f101587cc91adc9281900390910190a1600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461094a576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b6000546001600160a01b03838116911614610998576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b6001600160a01b0382166000908152600960205260409020546109c1908263ffffffff61136216565b6001600160a01b0383166000908152600960205260409020556005546109ed908263ffffffff61136216565b6005556040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a26040805182815290516001600160a01b038416916000916000805160206115478339815191529181900360200190a35050565b33600090815260096020526040902054811115610ab9576040805162461bcd60e51b815260206004820152601060248201526f0ac8298aa8abe9c9ea8be8a9c9eaa8e960831b604482015290519081900360640190fd5b33600090815260096020526040902054610ad9908263ffffffff61131916565b33600090815260096020526040902055600554610afc908263ffffffff61131916565b60055560408051828152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051828152905160009133916000805160206115478339815191529181900360200190a350565b610b678861067b565b8551610b7a906002906020890190611462565b508451610b8e906004906020880190611462565b506003805460ff191660ff861617905560058790556001600160a01b0388166000908152600960205260409020879055611388831115610c15576040805162461bcd60e51b815260206004820152601860248201527f54524144455f4255524e5f524154494f5f494e56414c49440000000000000000604482015290519081900360640190fd5b611388821115610c6c576040805162461bcd60e51b815260206004820152601760248201527f54524144455f4645455f524154494f5f494e56414c4944000000000000000000604482015290519081900360640190fd5b60068390556007829055600880546001600160a01b038084166001600160a01b031990921691909117909155604080518981529051918a1691600091600080516020611547833981519152919081900360200190a35050505050505050565b6001546001600160a01b03163314610d1a576040805162461bcd60e51b815260206004820152600d60248201526c494e56414c49445f434c41494d60981b604482015290519081900360640190fd5b600154600080546040516001600160a01b0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b031660009081526009602052604090205490565b6001546001600160a01b031681565b6008546001600160a01b031681565b60075481565b6004805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561060c5780601f106105e15761010080835404028352916020019161060c565b6000610e25338484610fea565b50600192915050565b6000546001600160a01b03163314610e79576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b6001600160a01b03811615610ec8576040805162461bcd60e51b815260206004820152601060248201526f4e4f545f5a45524f5f4144445245535360801b604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350600080546001600160a01b0319169055565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b60065481565b6000546001600160a01b03163314610f8f576040805162461bcd60e51b81526020600482015260096024820152682727aa2fa7aba722a960b91b604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917fdcf55418cee3220104fef63f979ff3c4097ad240c0c43dcb33ce837748983e6291a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661102f5760405162461bcd60e51b81526004018080602001828103825260258152602001806115676025913960400191505060405180910390fd5b6001600160a01b0382166110745760405162461bcd60e51b81526004018080602001828103825260238152602001806114fe6023913960400191505060405180910390fd5b6001600160a01b0383166000908152600960205260409020548111156110cb5760405162461bcd60e51b81526004018080602001828103825260268152602001806115216026913960400191505060405180910390fd5b6001600160a01b0383166000908152600960205260409020546110f4908263ffffffff61131916565b6001600160a01b0384166000908152600960205260408120919091556006548190156111df57611141612710611135600654866113af90919063ffffffff16565b9063ffffffff61140a16565b6000805260096020527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b5490925061117f908363ffffffff61136216565b6000808052600960209081527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b9290925560408051858152905191926001600160a01b038916926000805160206115478339815191529281900390910190a35b6007541561127e57611202612710611135600754866113af90919063ffffffff16565b6008546001600160a01b0316600090815260096020526040902054909150611230908263ffffffff61136216565b600880546001600160a01b0390811660009081526009602090815260409182902094909455915482518581529251908216939189169260008051602061154783398151915292908290030190a35b60006112a082611294868663ffffffff61131916565b9063ffffffff61131916565b6001600160a01b0386166000908152600960205260409020549091506112cc908263ffffffff61136216565b6001600160a01b0380871660008181526009602090815260409182902094909455805185815290519193928a169260008051602061154783398151915292918290030190a3505050505050565b60008282111561135c576040805162461bcd60e51b815260206004820152600960248201526829aaa12fa2a92927a960b91b604482015290519081900360640190fd5b50900390565b6000828201838110156113a8576040805162461bcd60e51b815260206004820152600960248201526820a2222fa2a92927a960b91b604482015290519081900360640190fd5b9392505050565b6000826113be57506000610675565b828202828482816113cb57fe5b04146113a8576040805162461bcd60e51b815260206004820152600960248201526826aaa62fa2a92927a960b91b604482015290519081900360640190fd5b6000808211611451576040805162461bcd60e51b815260206004820152600e60248201526d2224ab24a224a723afa2a92927a960911b604482015290519081900360640190fd5b81838161145a57fe5b049392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106114a357805160ff19168380011785556114d0565b828001600101855582156114d0579182015b828111156114d05782518255916020019190600101906114b5565b506114dc9291506114e0565b5090565b6114fa91905b808211156114dc57600081556001016114e6565b9056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373a2646970667358221220175d052c597c17243e999221eee0ecedb922deff6a8e426f25c0c5d63da8fefd64736f6c634300060900330605581d0226ee71ed35c3385d27c42f7d1bd0e0b124b391e332e10db0d44fbd2607011915c105581d0279e50d2ca77eea9fce21a69ae8ca4b9e88c008223a53a5ee10f79cd80c014705c373551a5e0005581d029bcb02f9e48a01256ddc411612fa249cade081840ee3fc931f3641cb0c0146d708e2ff477802194a0003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03638983dd4496de9148bd6db736ead648e37aa79610e5bd0e1049598ea007011bffffffffffffffff03212b26d55906f030c1b548f0a2309f2ce3b8e401bfbbdc776f0d4122cebb597e05581e03e38ac55144cc25ce71219b480bbb84a15c0d043b1b90a00b61ee393b400c02470149aaf0353f00031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e030d114695b1bf140b672a7f81c45b4000ee4b4037f2ff475ec8ed6b8fd007011bffffffffffffffff03649bc425686e2d51c163870deb5031b6412ad4a5ba3e23c9f6f1b6ff66680e3b05581e03a6fc40bd7b7bf3429cda2332e8ce2c4be19a9ccebd590c771cedde39900c02470264d0eb2d188805581e03cc0e4880b3ae4b3520a5729e02d5a19e86e534a47e856ccda4c5afb110040105581e0391e6684f1f93f3569f497d3fad4e7b0ef0f9c8b9eaad1d39aae3606de00c0546990a6d7c4f500219ebf30219ffff03a46263bf496969ea2558a1deb103788562179d6c58f2acc1fa2a75e6de0d0b8f031fd142aca1344b35cbc40ff306fe3bb8c83443f10c2b7ae323c993ad9c1ef6a60219ffff03024f623d2ec572cf19791d2820183494f04ff282510fbe58e4ba350e472a9c0303487400b7462346a031319ee02c121cd4ed77e5cff5c50a086e55a04bab5477cc03ef6d4f749f920886fe7cd02613965fe018165f08faf754eeda338cb9739d674303cdc7a31dc5a644cafa983c88f3e3b0c6853f9bb44ca8b615c936882ebdc0a1800342500e72c7723ddcc77eb42d00241b871877f1e6425305584e3a522b1798a6af039fa11c1bae8fccad41d4b1eaa0eccc41ee58ac0a36d1d02890a0310aec25876903be8172e5fb776c070aa3cff7125b43f8db8a313844c8106440971fe70fb9bf4c03e6a67dacc97fc9d849ef99aaa64ca372e535630ac3d630916ea36c4d8d0a9c9f03c450e778e372a93179d0ec4b129150e3091b0b892596771b3bf0b45b9791313e03c5019bbf0bb4a8e96340323198725874bca7e8e74a270f51d4b883ab44f970f0036177968551076ea9b0a9d1a1331fce40dd18eb3d9c0a4d1271530949fcd9358603e46de93dd3c253651534367e289cc794943067dabef64bc33bb06c806a38257203e932490ba45ffb39fcc2ab35e40309907fc6611347151907c48969fed43933d10219ffff035c85883bdde5f1557bb48c910b476b7b85401ef136387fc3f9a8d5d0e5b7b1d303dbbda13a310b6f370559a40926e80db6314711c3b3471aa046e1578d2dd464350381a1c4ef1f5cdaf256518c17cc382643094bc8a07b4b985b1aec4affcd44506503f56f0444a493f408200f27d15519926d5c8438bffa907636071228cc39ea8b0103fb39eb8535a6f7d29800d3cabeaa6b9c97c33594eaf246cec33511b072163b420318961d9ac6935b2f7a632c22a499dfae4a956efdf027d9a07319f91556595915033891c09309475b23e87eef2548d8945bb8d1b77edd8e4d0a8e80fd1172a8c27703af7174797b1ee66b9d29f2b2e05bb977a4b5224b51dee0f3c97a4692aa38d9e2038b67a4049deb6a38c54073439c0e214575f8cc1485e5f57b93096ae4527155eb0378c2297ceb0c9823f50131dc27c7048d5d6b9b41c14dc1a86c27543f1b8ff2900391f198e5e18965c408ae667291143bc53b52777822257b6b752d7051da3dc7fd03b4692401afbfc0109bde3e821f2495ae2e4a0abf62bd2de156f03a4f75c3bd4903451fcd486414c22a6fd18f9d14affc984e16bea75d1d4e9d46a9b127fc48e7ff03195c50e4a6d6efd46276a608edc246d1ff41ce706f0a5d3604882aba7d767ffc03ad9b04a494558a09617248eaad680bdbbeacc925838c0665a2e381247f5dc00003f1e966e4e97feb885c310733c68f59d2307973195fcb65f83b34496efd36e44603af84293e1c40efb32f9187486ed5381d434ef05bad87d51fd08bb4cd69c236f503f766489f57f66832b7d65d7d20312cd2a91bdb1b98f1b857fcc7ebece49f72e903f4cdd9e5631c3312f48f75e2919fe57fe149f27488fab964dc4b1ed06dcc99d1038061e062512968a3615c17b816baaa1358fd20e838b91d2e2588dff00c7687d103e969fb705f622e8912b22788679ee56b18aed46195b342226949e24bd9c9aaa803053196c376f73ea15a6c7d7a68b6623957b1af1b40b3f4328215c6238057afc1031c6ce8239b0a97c95174f5afceebdc3236963fd71df2fd1aafa07cb922e6349103129f19e6770944dbe391cfb0354cc26bae28772c09061c782f3a3bd91e9f9fbf0142009e05581e03df83fcf7887910a3fa90b9b14c8650855296c438aca012151c87b173f0040105581e03f1b426288cac2eb41e81d7068c9b47936f232505ab58f39977656f365008480320db8cffada80005581e0315bae696893ace6979b9463b8af411e9e7ee73c6e6a773ccaa74ba26d00c18224758e3312d5514d803abcf06ba67e6d12fa236a27b1080718c09ed9f95ba895d9544b227ed5935bbf305581e03c7bd9bef4670c155a21164dbbf8528317624038383c62aaadf8687efe00c014609184e72a000031271f1a3c827e8250ce21f4c5501d4b57e4c30e3a914445a92447b9aed8a04a705581d025a3c668361a652c79f070961fac3e9dd7eed911a6d6eca2b37de71a704020459462660a0604081815260049081361015610022575b505050361561002057600080fd5b005b600092833560e01c90816301ffc9a71461093d57508063150b7a02146108af57806324856bc3146107e85780633593564c146106b1578063709a1cc21461044f578063bc197c811461038a578063f23a6e61146102f95763fa461e330361001257346102f55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f557813590602435926044359067ffffffffffffffff918281116102f1576100db9036908301610a97565b919092878613908115806102e7575b6102bf5783850186868203126102bb5785359182116102bb5761010e9186016136d0565b5060208401359373ffffffffffffffffffffffffffffffffffffffff938486168096036102bb5761013e9161415a565b959097602b89106102935786359260178460601c98019561016d62ffffff883560601c9660481c16868b614365565b3391160361026b571561026157508186105b15610197575050505061019493503391613ac2565b80f35b9395945091929091906042871061021b5750505083601711610217577f8000000000000000000000000000000000000000000000000000000000000000821015610217577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe961021194019161020c33916141b5565b6141e2565b50505080f35b8480fd5b91969550929391508454841161023957506101949394503391613ac2565b8590517f739dbe52000000000000000000000000000000000000000000000000000000008152fd5b965085821061017f565b8483517f32b13d91000000000000000000000000000000000000000000000000000000008152fd5b8382517f3b99b53d000000000000000000000000000000000000000000000000000000008152fd5b8980fd5b8286517f316cf0eb000000000000000000000000000000000000000000000000000000008152fd5b50888813156100ea565b8680fd5b8280fd5b5082346103875760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261038757610332610a2b565b5061033b610a53565b506084359067ffffffffffffffff8211610387575060209261035f91369101610a97565b5050517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b80fd5b5082346103875760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610387576103c3610a2b565b506103cc610a53565b5067ffffffffffffffff9060443582811161044b576103ee9036908601610ac5565b505060643582811161044b576104079036908601610ac5565b5050608435918211610387575060209261042391369101610a97565b5050517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346102f557602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ad5783833567ffffffffffffffff811161044b576104a1829136908701610a97565b90818551928392833781018381520390827f0000000000000000000000000554f068365ed43dcc98dcd7fd7a8208a5638c725af16104dd613675565b50156106855780517f70a082310000000000000000000000000000000000000000000000000000000081523084820152907f000000000000000000000000f4d2888d29d722226fafa5d9b24f9164c092421e73ffffffffffffffffffffffffffffffffffffffff168383602481845afa92831561067b578693610646575b5081517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ea37093ce161f090e443f304e1bf3a8f14d7bb40169581019586526020860184905294849186918290899082906040015b03925af193841561063c577f1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c9461060f575b5051908152a180f35b61062e90843d8611610635575b61062681836135fa565b81019061388d565b5038610606565b503d61061c565b81513d87823e3d90fd5b9092508381813d8311610674575b61065e81836135fa565b810103126106705751916105d461055b565b8580fd5b503d610654565b82513d88823e3d90fd5b9050517f7d529919000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f55767ffffffffffffffff8235818111610217576106fb9036908501610a97565b91602435908111610670576107139036908601610ac5565b92909160443542116107c0573330146107b1576001958654958773ffffffffffffffffffffffffffffffffffffffff88160361078b5750509185949391610782937fffffffffffffffffffffffff00000000000000000000000000000000000000009586339116178755610b54565b81541617905580f35b517f6f5ffb7e000000000000000000000000000000000000000000000000000000008152fd5b90919293506101949450610b54565b8585517f5bf6f916000000000000000000000000000000000000000000000000000000008152fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f55767ffffffffffffffff8235818111610217576108319036908501610a97565b91602435908111610670576108499036908601610ac5565b9290913330146107b1576001958654958773ffffffffffffffffffffffffffffffffffffffff88160361078b5750509185949391610782937fffffffffffffffffffffffff00000000000000000000000000000000000000009586339116178755610b54565b5082346103875760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610387576108e8610a2b565b506108f1610a53565b506064359067ffffffffffffffff8211610387575060209261091591369101610a97565b5050517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b849084346102f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f557357fffffffff0000000000000000000000000000000000000000000000000000000081168091036102f557602092507f4e2312e0000000000000000000000000000000000000000000000000000000008114908115610a01575b81156109d7575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836109d0565b7f150b7a0200000000000000000000000000000000000000000000000000000000811491506109c9565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b9181601f84011215610a4e5782359167ffffffffffffffff8311610a4e5760208381860195010111610a4e57565b9181601f84011215610a4e5782359167ffffffffffffffff8311610a4e576020808501948460051b010111610a4e57565b919082519283825260005b848110610b405750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201610b01565b9192909260805282810361350d5791906000905b828210610b755750505050565b8382959394951015611b4c5760059282841b60805101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe19182608051360301821215610a4e578160805101359767ffffffffffffffff8911610a4e576020836080510101988036038a13610a4e57606097603f90818989013560f81c166001976020821060001461317157506010808210156127b4575060088082101561187e57508061109157505050610c2a908a614198565b92909860a08560805101013560001461108757610c6173ffffffffffffffffffffffffffffffffffffffff600154169b5b35613854565b9960408660805101013585829d927f80000000000000000000000000000000000000000000000000000000000000008314610fcf575b50959c95505b7f8000000000000000000000000000000000000000000000000000000000000000811015610a4e5760428610610fc85730915b86602b11610a4e578d91601783013560601c9083359462ffffff8660601c96610d1573ffffffffffffffffffffffffffffffffffffffff92839260481c16868a614365565b169084881015610fac57806401000276a4965b602b60405199604060208c01528160608c015260808b0137600060ab8a015216604088015260a0875260c087019587871067ffffffffffffffff881117610f7d576040948288958688527f128acb080000000000000000000000000000000000000000000000000000000087521660c48a0152868a1060e48a01526101048901521661012487015260a06101448701528160007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4088610deb610164820182610af6565b0301925af1928315610f71576000928394610f2f575b5050610e159310600014610f2857506141b5565b9a60428510610e5657309085601711610a4e5760177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe991019501949b610c9d565b50985098606091969597949392509160805101013511610efe575b1580610ed1575b610e8a57506001019291929092610b68565b90610ecd60409283519384937f2c4029e9000000000000000000000000000000000000000000000000000000008552600485015260248401526044830190610af6565b0390fd5b507f8000000000000000000000000000000000000000000000000000000000000000828501351615610e78565b60046040517f39d35496000000000000000000000000000000000000000000000000000000008152fd5b90506141b5565b91929093506040843d604011610f69575b81610f4d604093866135fa565b8101031261038757505160e092909201519190610e1538610e01565b3d9150610f40565b6040513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8073fffd8963efd1fc6a506488495d951d5263988d2596610d28565b8b91610cd0565b60149192501061105d576020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301523560601c5afa908115610f715760009161102b575b503880610c97565b906020823d602011611055575b81611045602093836135fa565b8101031261038757505138611023565b3d9150611038565b60046040517f3b99b53d000000000000000000000000000000000000000000000000000000008152fd5b610c61309b610c5b565b6001819d969d9b989794959a999b146000146111b7575050506040926110bf84836080510101359382614198565b608051840160a00135156111ab5760606110f273ffffffffffffffffffffffffffffffffffffffff600154169435613854565b946080510101356000557f8000000000000000000000000000000000000000000000000000000000000000851015610a4e576111319361020c866141b5565b9091901561119c5750611143906141b5565b0361117357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000555b610e71565b600490517fd4e0248e000000000000000000000000000000000000000000000000000000008152fd5b6111a691506141b5565b611143565b60606110f23094610c5b565b9194929391600281036112065750505061116e925073ffffffffffffffffffffffffffffffffffffffff600154166111ff604060608560805101013594608051010135613854565b91356139d0565b9193916003810361157857505060805181018084019390604090850312610a4e57823567ffffffffffffffff8111610a4e5782608051010192606084860312610a4e57604051946060860186811067ffffffffffffffff821117610f7d57604052602085013567ffffffffffffffff8111610a4e57850160208201809882011215610a4e5760208101359061129a826136a5565b926112a860405194856135fa565b8284526040602085019360071b830101918a8311610a4e57604001925b828410611513575050505085526112de60408501610a76565b956020860196875260606040870195013585526040846080510101359067ffffffffffffffff8211610a4e57602061131f92611325966080510101016136d0565b5061417b565b909173ffffffffffffffffffffffffffffffffffffffff600154169473ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3163b15610a4e5794929391906040519586947f2a2d80d100000000000000000000000000000000000000000000000000000000865260048601526060602486015260c48501935193606060648701528451809152602060e487019501906000905b80821061149a575050509461143e9285949273ffffffffffffffffffffffffffffffffffffffff600098511660848701525160a48601527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc858403016044860152613537565b03818373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3165af18015610f715761148b575b50610e71565b61149490613576565b38611485565b9197965091929394602060806001928a5173ffffffffffffffffffffffffffffffffffffffff815116825273ffffffffffffffffffffffffffffffffffffffff848201511684830152606065ffffffffffff918260408201511660408501520151166060820152019801920188969795949392916113d8565b608060208584030112610a4e5760206080916040516115318161358a565b61153a87610a76565b8152611547838801610a76565b83820152611557604088016136bd565b6040820152611568606088016136bd565b60608201528152019301926112c5565b600495509193508482036116e757505090916040606061159e8286608051010135613854565b608051909501013573ffffffffffffffffffffffffffffffffffffffff908116933516806116145750479283106115ee575050806115de575b5050610e71565b6115e7916144d1565b38806115d7565b517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b9391908051937f70a082310000000000000000000000000000000000000000000000000000000085523083860152602085602481895afa9485156116dc576000956116a8575b50841061168257505081611671575b505050610e71565b61167a9261453f565b388080611669565b517f675cae38000000000000000000000000000000000000000000000000000000008152fd5b90946020823d6020116116d4575b816116c3602093836135fa565b81010312610387575051933861165a565b3d91506116b6565b82513d6000823e3d90fd5b8103611714575061116e925061170d604060608460805101013593608051010135613854565b90356138a5565b9091906006810361184e57506080510160608101359060409061173990820135613854565b9282158015611843575b61181b573573ffffffffffffffffffffffffffffffffffffffff16938461177f57505061116e92506117786127109147613984565b04906144d1565b8151907f70a082310000000000000000000000000000000000000000000000000000000082523090820152602081602481885afa91821561181157506000916117dd575b506117d661116e94939261271092613984565b049161453f565b906020823d602011611809575b816117f7602093836135fa565b810103126103875750516117d66117c3565b3d91506117ea565b513d6000823e3d90fd5b8482517fdeaa01e6000000000000000000000000000000000000000000000000000000008152fd5b506127108311611743565b83602491604051917fd76a1e9e000000000000000000000000000000000000000000000000000000008352820152fd5b819d969d9b989794959a999b93929314600014611b85575050506040916118ad83836080510101359185614198565b92909460a082608051010135600014611b7b576118e373ffffffffffffffffffffffffffffffffffffffff600154169135613854565b908615611b4c576118f385613a94565b8760011015611b4c5761191561195d9161190f60208901613a94565b90613c34565b907f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b938481611b32575b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860193868511611b03576119b9946119be73ffffffffffffffffffffffffffffffffffffffff9687928a85613a84565b613a94565b16948651947f70a082310000000000000000000000000000000000000000000000000000000091828752841693600499858b89015260249460208987818d5afa988915611af857600099611ac3575b509160209695949391611a1f93613cad565b8751968793849283528a8301525afa928315611ab857600093611a83575b50906060611a519260805101013592613ab5565b10611a5d575050610e71565b517f849eaf98000000000000000000000000000000000000000000000000000000008152fd5b90926020823d602011611ab0575b81611a9e602093836135fa565b81010312610387575051916060611a3d565b3d9150611a91565b84513d6000823e3d90fd5b90986020823d602011611af0575b81611ade602093836135fa565b81010312610387575051976020611a0d565b3d9150611ad1565b8b513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b611b4492611b3f88613a94565b613ac2565b388084611965565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6118e33091610c5b565b919492939160098103611f66575050611b9e9082614198565b608051840160a0013515611f5c57611bcf73ffffffffffffffffffffffffffffffffffffffff600154169335613854565b92611bd9836136a5565b95611be760405197886135fa565b83875283901b820160208701368211610a4e5783905b828210611f44575050506000946002875110611f1a576040816080510101359680517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111611b035790815b611ca757505060805101606001358611611c7d578215611b4c5761116e9585611c7892611b3f85613a94565b613cad565b60046040517f8ab0bc16000000000000000000000000000000000000000000000000000000008152fd5b90977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff89019750888811611b035773ffffffffffffffffffffffffffffffffffffffff611cf7611d6d9984613a70565b5116611d2373ffffffffffffffffffffffffffffffffffffffff611d1b8c86613a70565b511682613c34565b819a917f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b90604051907f0902f1ac00000000000000000000000000000000000000000000000000000000825260608260048173ffffffffffffffffffffffffffffffffffffffff87165afa9a8b15610f7157600092839c611ed1575b5073ffffffffffffffffffffffffffffffffffffffff1603611eb7576dffffffffffffffffffffffffffff8091169916905b9880158015611eaf575b611e855782611e0f91613984565b916103e892838102938185041490151715611b0357611e2d91613ab5565b6103e590818102918183041490151715611b0357611e4a91613997565b60018101809111611b0357978015611b03577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019081611c4c565b60046040517f7b9c8916000000000000000000000000000000000000000000000000000000008152fd5b508115611e01565b6dffffffffffffffffffffffffffff998a16991690611df7565b611f0a919c5073ffffffffffffffffffffffffffffffffffffffff935060603d8111611f13575b611f0281836135fa565b810190613c77565b509b9092611dc5565b503d611ef8565b60046040517f20db8267000000000000000000000000000000000000000000000000000000008152fd5b60208091611f5184610a76565b815201910190611bfd565b611bcf3093610c5b565b92945091600a81036120cc5750608051830160e08101358101946020808701359450909291611f9991908703018461414d565b1161105d5773ffffffffffffffffffffffffffffffffffffffff93847f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31692856001541691843b15610a4e5760409587875198899687967f2b67b570000000000000000000000000000000000000000000000000000000008852600488015261202190610a76565b166024860152808883608051010161203890610a76565b16604486015265ffffffffffff808360805101606001612057906136bd565b166064870152826080510160800161206e906136bd565b166084860152816080510160a00161208590610a76565b1660a48501526080510160c0013560c484015261010060e48401526120b1916101048401918701613537565b03815a6000948591f1908115611811575061148b5750610e71565b600b8103612296575050506120eb604080926080510101359235613854565b91807f80000000000000000000000000000000000000000000000000000000000000008103612266575050475b8061212557505050610e71565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216803b15610a4e578351927fd0e30db0000000000000000000000000000000000000000000000000000000008452600493600081868187875af1801561225b5761224c575b5030908616036121b4575b5050611669565b6122139460006020948651978895869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611811575061222d575b808080806121ad565b6122459060203d6020116106355761062681836135fa565b5038612224565b61225590613576565b386121a2565b86513d6000823e3d90fd5b47101561211857600482517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b600c810361242657505050906122ac9035613854565b9073ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21660408051937f70a08231000000000000000000000000000000000000000000000000000000008552600430818701526024916020878481885afa968715611ab8576000976123f2575b506080510183013586106123cb578561234e575b50505050505050610e71565b833b15610a4e57600091869183855196879485937f2e1a7d4d0000000000000000000000000000000000000000000000000000000085528401525af190811561181157506123bc575b5030908316036123ac575b8080808080612342565b6123b5916144d1565b38806123a2565b6123c590613576565b38612397565b82517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b90966020823d60201161241e575b8161240d602093836135fa565b81010312610387575051958361232e565b3d9150612400565b600d8103612681575082608051010191602083019360208260805101850312610a4e573567ffffffffffffffff8111610a4e57849160805101019182011215610a4e57602081013590612478826136a5565b93604093612488855196876135fa565b838652602086019285849560071b820101928311610a4e578501925b82841061261f575050505073ffffffffffffffffffffffffffffffffffffffff90816001541684519060005b8281106125b357505050817f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31691823b15610a4e5783517f0d58b1db000000000000000000000000000000000000000000000000000000008152602060048201529451602486018190528592604484019290916000915b81831061256f57505050509181600081819503925af1908115611811575061148b5750610e71565b91938395506080602091846060600195975182815116845282868201511686850152828d820151168d85015201511660608201520195019301909187949392612547565b81856125bf838a613a70565b515116036125f6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b03576001016124d0565b600486517fe7002877000000000000000000000000000000000000000000000000000000008152fd5b608060208584030112610a4e576020608091875161263c8161358a565b61264587610a76565b8152612652838801610a76565b83820152612661898801610a76565b8982015261267160608801610a76565b60608201528152019301926124a4565b9294505050600e810361278357506040918251907f70a0823100000000000000000000000000000000000000000000000000000000825260208260248173ffffffffffffffffffffffffffffffffffffffff806004983516888301528886608051010135165afa918215611ab85760009261274e575b5060805101606001351180159290612710575050610e71565b517fa3281672000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b9038806115d7565b90916020823d60201161277b575b81612769602093836135fa565b810103126103875750519060606126f7565b3d915061275c565b602490604051907fd76a1e9e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9150915060189b95939897999692949b808310600014612d435750810361282a5750505060009250906127e883928261417b565b81604051928392833781018481520391357f00000000000000000000000000000000000000adc04c56bf30ac9d3c0aaf14dc5af1612824613675565b90610e71565b6011810361288157505050600092509061284583928261417b565b81604051928392833781018481520391357f0000000000000000000000000000000000e655fae4d56241588680f86e3b23775af1612824613675565b601281036128d857505050600092509061289c83928261417b565b81604051928392833781018481520391357f000000000000000000000000941a6d105802cccaa06de58a13a6f49ebdcd481c5af1612824613675565b919392509060138103612a3e575050909150357f000000000000000000000000b47e3cd837ddf8e4c57f05d70ab865de6e193bbb916040600080825160208101907f8264fe9800000000000000000000000000000000000000000000000000000000825260248781830152815261294e816135de565b5190606086608051010135885af192612965613675565b948415612a04578273ffffffffffffffffffffffffffffffffffffffff612993921694608051010135613854565b90833b15610a4e5782517f8b72a2ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301526024820152916000908390604490829084905af1908115611811575061148b5750610e71565b505091925050517fae9bdf0000000000000000000000000000000000000000000000000000000000602082015260048152612824816135c2565b60158103612b4f57505090604091828051917f6352211e0000000000000000000000000000000000000000000000000000000083526020836024816004976060816080510101358983015273ffffffffffffffffffffffffffffffffffffffff968791608051010135165afa928315612b4457600093612b05575b5081903516911614918215612acf575050610e71565b517f7dbe7e89000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b6020939193813d602011612b3c575b81612b21602093836135fa565b8101031261044b575190828216820361038757509181612ab9565b3d9150612b14565b85513d6000823e3d90fd5b60168103612c765750506040918251907efdd58e00000000000000000000000000000000000000000000000000000000825260208280612bc160049660608660805101013590358884016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b038173ffffffffffffffffffffffffffffffffffffffff8886608051010135165afa918215611ab857600092612c41575b5060809081510101351191821592612c0b575050610e71565b517f483a6929000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b90916020823d602011612c6e575b81612c5c602093836135fa565b81010312610387575051906080612bf2565b3d9150612c4f565b909290601714612c87575050610e71565b60409073ffffffffffffffffffffffffffffffffffffffff612caf8383608051010135613854565b93351692833b15610a4e5782517f42842e0e00000000000000000000000000000000000000000000000000000000815260805130600483015273ffffffffffffffffffffffffffffffffffffffff909216602482015291016060013560448201529160009083908183816064810103925af19081156118115750612d34575b806115d7565b612d3d90613576565b38612d2e565b9396938214159050612d7e5750505061282492507f00000000000000000000000074312363e45dcaba76c59ec49a7aa8a65a67eed391613717565b60198103612dd5575050506000925090612d9983928261417b565b81604051928392833781018481520391357f0000000000000000000000002b2e8cda09bba9660dca5cb6233787738ad683295af1612824613675565b601a8103612e2c575050506000925090612df083928261417b565b81604051928392833781018481520391357f000000000000000000000000a42f6cada809bcf417deefbdd69c5c5a909249c05af1612824613675565b601b8103612f53575050506000612e4481928461417b565b9390604094818651928392833781018481520391357f00000000000000000000000074312363e45dcaba76c59ec49a7aa8a65a67eed35af1918291612e87613675565b92612e95575b505090610e71565b73ffffffffffffffffffffffffffffffffffffffff608083815101013516612ec4606084608051010135613854565b90825190612ed1826135a6565b60008252803b15610a4e57612f2d94600080948651978895869485937ff242432a00000000000000000000000000000000000000000000000000000000855260a060c0836080510101359260805101013590306004870161380f565b03925af19081156118115750612f44575b80612e8d565b612f4d90613576565b38612f3e565b91949091601c8103612f8e5750505061282492507f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f91613717565b9193929091601d81036131175750506060816080510101359060409173ffffffffffffffffffffffffffffffffffffffff612fcf8484608051010135613854565b9435168351947efdd58e0000000000000000000000000000000000000000000000000000000086526004936020878061302e87308a84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b0381865afa96871561225b576000976130e2575b50608090815101013586106130ba57845161305c816135a6565b60008152823b15610a4e576000946130a486928851998a97889687957ff242432a0000000000000000000000000000000000000000000000000000000087523090870161380f565b03925af1908115611811575061148b5750610e71565b8385517f675cae38000000000000000000000000000000000000000000000000000000008152fd5b90966020823d60201161310f575b816130fd602093836135fa565b81010312610387575051956080613042565b3d91506130f0565b929450925050601e810361278357508161313560009392849361417b565b81604051928392833781018481520391357f00000000000000000000000020f780a973856b93f63670377900c1d2a50a77c45af1612824613675565b9499989a92506020819d9792969d989498146000146131da575050505050508061319e600093849361417b565b81604051928392833781018481520391357f00000000000000000000000000000000000001ad428e4906ae43d8f9852d0dd65af1612824613675565b602190808203613351575050505090916131ff6131f7868661415a565b96909561417b565b929061324160409788519760208901997f24856bc3000000000000000000000000000000000000000000000000000000008b5260248a01526064890191613537565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc878203016044880152818152602082818301951b82010195856000915b8483106132d357505050505050505091816132c5600094938594037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b519082305af1612824613675565b90919293949596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085820301885288358284360301811215610a4e578301906020823592019167ffffffffffffffff8111610a4e578036038313610a4e5761334160209283928b95613537565b9a0198019695949301919061327f565b929750929593509350602281146000146127835750604080936080510101359060009060028310156134e1575050808491156000146134895750506000907f0000000000000000000000001e0049783f008a0085193e00003d00cd54003c71925b6020838251937f095ea7b3000000000000000000000000000000000000000000000000000000008552600496878601526024947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff868201526044968792355af13d15601f3d1187600051141617161561342e5750505050610e71565b91600e7f415050524f56455f4641494c45440000000000000000000000000000000000009260206064969551957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b036134b8576000907f0000000000000000000000002b2e8cda09bba9660dca5cb6233787738ad68329926133b2565b600482517f5461585f000000000000000000000000000000000000000000000000000000008152fd5b602492507f4e487b71000000000000000000000000000000000000000000000000000000008252600452fd5b60046040517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b67ffffffffffffffff8111610f7d57604052565b6080810190811067ffffffffffffffff821117610f7d57604052565b6020810190811067ffffffffffffffff821117610f7d57604052565b6040810190811067ffffffffffffffff821117610f7d57604052565b6060810190811067ffffffffffffffff821117610f7d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f7d57604052565b67ffffffffffffffff8111610f7d57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156136a0573d906136868261363b565b9161369460405193846135fa565b82523d6000602084013e565b606090565b67ffffffffffffffff8111610f7d5760051b60200190565b359065ffffffffffff82168203610a4e57565b81601f82011215610a4e578035906136e78261363b565b926136f560405194856135fa565b82845260208383010111610a4e57816000926020809301838601378301015290565b919290613724908361417b565b90938460405195869384378201906000958693838580955203918635905af19261374c613675565b9284613756575050565b73ffffffffffffffffffffffffffffffffffffffff60608201351661377e6040830135613854565b91813b156106ad576040517f42842e0e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff93909316602484015260800135604483015290919081908390606490829084905af190811561380357506137f85750565b61380190613576565b565b604051903d90823e3d90fd5b919261385195949160a09473ffffffffffffffffffffffffffffffffffffffff8092168552166020840152604083015260608201528160808201520190610af6565b90565b73ffffffffffffffffffffffffffffffffffffffff908082166001810361387e5750506001541690565b90915060020361385157503090565b90816020910312610a4e57518015158103610a4e5790565b9092919073ffffffffffffffffffffffffffffffffffffffff16806138cf575061380191926144d1565b7f80000000000000000000000000000000000000000000000000000000000000008214613902575b92613801929361453f565b9050604051927f70a08231000000000000000000000000000000000000000000000000000000008452306004850152602084602481855afa938415610f7157600094613951575b5092906138f7565b6020813d821161397c575b81613969602093836135fa565b8101031261021757519350613801613949565b3d915061395c565b81810292918115918404141715611b0357565b81156139a1570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b919273ffffffffffffffffffffffffffffffffffffffff91827f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31693843b15610a4e5760009484869281608496816040519b8c9a8b997f36c78516000000000000000000000000000000000000000000000000000000008b521660048a01521660248801521660448601521660648401525af18015610f71576137f85750565b8051821015611b4c5760209160051b010190565b9190811015611b4c5760051b0190565b3573ffffffffffffffffffffffffffffffffffffffff81168103610a4e5790565b91908203918211611b0357565b92919073ffffffffffffffffffffffffffffffffffffffff8082163003613aee575050613801926138a5565b8084959411613b02576138019416926139d0565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b9173ffffffffffffffffffffffffffffffffffffffff93613c2d916040519060208201927fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809260601b16845260601b16603482015260288152613b8f816135de565b519020613c01604051938492602084019687917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b5190201690565b73ffffffffffffffffffffffffffffffffffffffff8281169082161015613c585791565b9091565b51906dffffffffffffffffffffffffffff82168203610a4e57565b90816060910312610a4e57613c8b81613c5c565b916040613c9a60208401613c5c565b92015163ffffffff81168103610a4e5790565b9260028210614123578115611b4c57613cc584613a94565b9160019481861015611b4c5791613ce360209461190f868601613a94565b50926000935b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84018510613d1c575050505050505050565b613d2a6119b9868685613a84565b92613d3b6119b98a88018786613a84565b936040908151957f0902f1ac00000000000000000000000000000000000000000000000000000000875273ffffffffffffffffffffffffffffffffffffffff80941694606092600493808a86818b5afa998a1561225b57908d9594939291600091829c6140fd575b50508780916dffffffffffffffffffffffffffff8091169c16921692168214998a6000146140f7575b8651958680947f70a082310000000000000000000000000000000000000000000000000000000082528b8883015260249889915afa9283156140ec578e6000946140bb575b5050808303918115938480156140b3575b61408b57826103e5808602958604149114171561405e57613e439083613984565b926103e880830292830414171561403157613e689291613e629161414d565b90613997565b971561402957600097905b898b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe820181101561401d579161190f6119b9613eb9936002613f039c9601908d613a84565b8198917f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b965b988551918d83019367ffffffffffffffff9484811086821117613ff057885260008452813b15610a4e5760008a93613f8382968b519c8d97889687957f022c0d9f0000000000000000000000000000000000000000000000000000000087528d8701528d860152166044840152608060648401526084830190610af6565b03925af18015611ab857908d969594939291613fa8575b505050505094019391613ce9565b909192938095965011613fc45750505287903880808080613f9a565b6041907f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b876041887f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b5050508b956000613f05565b600090613e73565b856011867f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b866011877f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b8689517f7b9c8916000000000000000000000000000000000000000000000000000000008152fd5b508115613e22565b8181959293953d83116140e5575b6140d381836135fa565b8101031261038757505191388e613e11565b503d6140c9565b87513d6000823e3d90fd5b90613dcc565b899c50899250908161411a92903d10611f1357611f0281836135fa565b509b9091613da3565b60046040517fae52ad0c000000000000000000000000000000000000000000000000000000008152fd5b91908201809211611b0357565b91823583019161417460208435958186019503018561414d565b1161105d57565b91602083013583019161417460208435958186019503018561414d565b91606083013583019161417460208435958186019503018561414d565b7f80000000000000000000000000000000000000000000000000000000000000008114611b035760000390565b939193602b841061105d578462ffffff6000614267946142ee6142999935988960601c9a8b9a61423b601789013560601c9d8e109c73ffffffffffffffffffffffffffffffffffffffff9e8f998a9460481c1691614365565b16968b861461434a576401000276a49a5b60409d8e9b8c93845196879560208701526060860191613537565b91168b830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b848851998a98899788967f128acb080000000000000000000000000000000000000000000000000000000088521660048701528c6024870152604486015216606484015260a0608484015260a4830190610af6565b03925af190811561433f576000938492614309575b50509192565b9080949250813d8311614338575b61432181836135fa565b810103126103875750602082519201513880614303565b503d614317565b83513d6000823e3d90fd5b73fffd8963efd1fc6a506488495d951d5263988d259a61424c565b73ffffffffffffffffffffffffffffffffffffffff92838316848316116144c9575b62ffffff90846040519481602087019516855216604085015216606083015260608252608082019082821067ffffffffffffffff831117610f7d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80613c2d9183604052845190209361449c60a08201957fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54907f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98488917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608101845201826135fa565b909190614387565b600080809381935af1156144e157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561459257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fdfea2646970667358221220b2d6a39827110492aaa15cba3556e23894a51f2f635dc99ae66d21764ad4d90b64736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6041010219080405581d02367b74293bb052cf32dbf499b5c69c98fda9beb40172c7513283aa71070119462603eab71320eeef085932d28d44e0baf57b58344eb1e00ad28043fed2773af1d7eb0605581d02fa23563862f322c7e205623469c0b78f515b247fc070b0a8a7a361b207011bffffffffffffffff02192210030c975042158b302d08b687b5ad55407adea0f6c0c8e2ae9027af5f2b66a90e2503db731c607521cbd787386a1fe342cdf1bac891251c300135c9c48e15f96572ae021979ab035912db5be5e494b9869ee966dc5cdb5b1c0ebf0aafd99beddb56b33614cbd4340350d66cecb3172d4ea47865934885e230dbc6612d0615c19f48aa0f99c620e00c0396dd8272461e5973420b0810e1e3f702ab95d52c304ae5a30f50d5e176eec2ce034cd5a12cc595cf9ac692c15f7d8dc412bb040415428fd9866367960b2ff313bf03df1308114a521c9a5006f10efd7775038b4334aa51629be7a2058a0f7f9f4fdb035fdda7971295f56af31d49ae313686bb554bd9ee9376f746cf445dcb89f04d830219ffff03ae56d57ebb0b30cb79ec55cf5608b8beeec4653e658f727c4a6337776a43f3490376fe3d85459c20806617ca2412c9ac7330c22da0f3aa03859387f75aea69212603e890e09d15cd5af881de4e096d37b94b814658e6df853c77c0e9a6926773328d03d7c3b189a640ea11380fd91b5604a62f26450daceabd98e7e4b42b25883a92eb03da71a567b08767631d124b6edbb9bfab86f97345f4995079c0af2796b155a89b034f07cb1cc37af876e09f37078eee62aa59171a1f8761ce4b61b8241c128cd97903f767e716cf173ccc3f6024b20908c6db8dcf4f66ba49bf328f38bbf9b991c2e003a7397077cc5239b873d6c56e2b67b6bab3546a4e184046232097448f6f52cba303c2fda122d75767d0410e615eefaae641f90ad76925f5b4abd183d22d6d9cb43203d9472bf48f775829c48169a6d6f1c519a89343e97d985e71faf5153232b1a10e0219ffff0365f1db49dc1cd3a861d1f926810baec577d0d29b62e92a075c67be02a23e3d8303ef41142e15b2b124c98fd207aa11d8d0839868741a6c65a9c93ce2ea84041f1c0381479d1fe552eea4de598ffe727295cff10e006859bab4d29e4e5ccee004bb5503ba86307735361739f2379a343368fa54fc64d602c0e45f24c0dc28e21777d837037033c5aa1b8d295db8edacfdf9b31023c846b0f215ef67a97798aea4e21f137b03c1d739fd94dcedf9e6d79a7feac02923e4b79ef6226e697c9c216557a24cc4e20399aeef6f6988b84c46c9d122e2d54b1097592a429f79832c550730c9afb599690399b8ca3f492f3a9dbe3394005c2604e1af85ba0a0c6ab01872a0e3ee4b1b20670302bca2dc0f0d76dac901f60c1256e1697d2584bf5725e3aff13d8de5ede82d4303b5894285d2176543261a34c7dbbb9cde7ef913ba40f43a4b05ee7b51bfffb64e03ede590e8b8b6b2510cce7acb46dd4894d03239da32a31fb85b6741546f94874103ac2e20ebd15fc768f4fabec97112e5982eb0bb506ef81439b449514ca6779e6a0219ffff03b9626cad2ecd45e8f671eaf0effd673c0930903a1ecc3710cfef160d24e8368e03cb20ae3f336a7984151759bbef9a5163a9f2f5920c50a10981d96ad8337998730387a352cef8744b2d97254771504bb202bf5a6664b9458ff9bc98daf233a910130219ffff03fb2abc5739eca96eafc077fdac46aa871ffcab4845e30f9257ec3cceee60d5e50395fae49261cf84906c0b821fb3cbcaca9f95f155d1707934214a9d6285ea521c037148b559b5058dc87de1d638815bad79ba924a5204e872841592bb1cfdfee4fb03bcf9a2629af426fcfc0de092065b4627ad96a0ed352da12f7b505c7208d440c503e1ee6493b3b7aabd614efdfa92803a7c808f5c77c886de5b7990310e1c9c2edb0344dd942e4a86e0241c87087af7d96a2bdad48134878034492602b702ba6127a6031336d9eea53cbe3695cb6d90358805a622915f30259f2453b0230ded50ea0b7403361507aff8b47770f061286428af611911a821c9dcb2df037eb5a2395cd7d59f03cd9b0ada9f8923717355b518e32e62604a77318df3b360d98c2c026c599201cc03661473fc4fdd3ac6377aad25302204388f4f2e646537b00d1ab52ddcdb889c0c0395bed11b3a15b71b6bc28a8a4ca401d5d00769b8912b57787c38b592f698575a031ab4afc6a75e1af37f98382b7c53457efff2653ff3073d7b6c0549ac50e4ca83034703f8d697969c176db53f9d04ab18e52e85550bf307971248fda35bed28e81203293cf772c93dae6f350370a59b069e213023c7ca3c707fb1d32ebf6051c0f96503ae2ad0f5433f9700d633d079215b9f997eadf4e1db1043a38b24ef88ce87d5f603b12cc257503cc4d1e98787625f4ce04c18e7a554388fad0863988a71c33adb2103b7641c7c42666ccbebfda8530a828d3d6665825059d791768cedd58964ed235b03cf378a7a54f3cdf0b4ff0b61ea20bfbb10690d7223c82d2513eed27489b4ca1e03e29f62262f1db258d691060abe8e4bae54784b7c2124f8e902990973c29e0e820395a6442bf5d2526352d5d062054598a384ff85ad2d0c2460b3c359085e0d1177033c64b1048950c9103fcbc19c2bac13b4dce5d61f010c221b6a6abb5f91c1ac0103b1da412f8589f063c3e1ca095b9f192e303f7a9896b0754f7cbe2d71fa0c364203b15cb14758136fcf9d2e09fc1cc807847064185af1067d3f5606cf437411323a03a1d021c1d62e90e3b5bd40d600797437f34c9e845349fd41133568c156b446d30368b1ed9f2aea2614157693bc243affc43ca41c3dc0746b22f0fb9247933f668403354fccbc255a66418543bc5e5035f2a152d851ac26d8bb52bc396de5e374f13b03ad92fc5ce42f38ded32766cc45effc4aa0f25868a6836fd86fdff5fe36381158037a86a38478a96ef9fcbbf454db7eb4d5009f70adf897de194f729f3272ead291038df366681b6cc4ac42d8f0519868c3875c65f8c51c73b6d5cc4ee17c1bfab7470360d95bc0594f993bbb62368d5f6fd18d3bbf8615cfb9f2e6c078d69d0bc8c8ca035cffc355d6826938aed10d871f2de84ddff2bee7a1ba2be648e53b34619e65c9030d9ac92f60ccdbc8dec7da10c22407346737ffc26c12fca1c4d73b767fc0cbb403b8696c31bea53fae6bdeefdaa8d8b286dc45f27e84adae0b8f5f52d33dace7c503e1dfd8a86fe315ff4e853407f84abb06a7e8671d7a6bc1918df0b8a846b9c7a4031a45a6a307befa64acbaab8da7c27d11491b6c50fafb093ba23ee890c517fe5d03b381beec1d02a254b936ae24f13d625210b281471f1964d467bc63a63154431403b08f3d89a5c7ef90d7c74fa826f0db3a47e8aadf08809428801e83a0165a34a50362571b51ca0283ca92b3cd4187bba486cb4320bbbda334d20c3b1a333733a6d603cf38f7ba8fcdec4188510a583a40c08717b490fc3b8c41347d533d105ee98a9c033c0654cbc44c124a0125a926f3163cff5bccce7cb98576e872c9ca41f4b7da6303f54c3306199a87a4e21b1e8b90562721b063eed463d77c5a3b5f56c3a49a937403f54ffd1579818b104d5de37bae0e6b82176af5c97b60424c62de0012f98d123c0336bae1d1d4314460e6efaa14d91e233a011ed7e1daec460b1a9476be6f6f6bad03cb340569815bfc3046dc60751c08b53b81646e952c733040dbcdb7bfb1b7d93c033b997cb1f45bc1e47d22ad0978f335577ed42423a6e6b2102408613ae314ac4a032a8dc2d00299607e00befd216d0da77428ce6cf6919434bdc9bc09914449081103b686150dbed4b580eac0c9e1e0416c2ee2fad2a1e6b177b5e7b73678595d209003fed780b16c60f361bd1fcd52d87a89e21c323c1a08f352884e502b2e5bf89a6e03f4d3b245a1a034c2f0fd6f156bfe1caf0c8d86d5a03eec0acfdede6f44fdd34403055bc110fb7ae2c8a369ca86a9cf4160303b1642fa0671756b9cebfd13e8777903f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e0379a3ccec426a13b6d9a4c69919d9d8ac9c8dbaa48a432c140cc6289c0007011bffffffffffffffff05581d0292be10a1c4db8e7cfcae88f4abc159131ed48ddbdee9bd6eb9defe800c0646c22c22cb7a3005581d02cf228729724019084406bcb39aa228231bae465c51ebeda2712d97720c024721c6d8178f1d410219020805581e0371cea0d3b2bfdc09cd9a15fec6fa4fd4422f0cbf888097c7ede77010000c03462f04a84d1a8005581e033af47e58ecda27178d4a5e0f3d5eede8c0b44ac7600e8ac2285295ecc00c14472d0b77275362a405581e035e307e9c7dd6b8e193e12342c15ce6d79993512189072d2fe721d5a4300401037f7a285a74df127a5e714ce732dd021c0c1ce3f4881ff0c2d15ac5ae612fba0405581e031d6d2734834ddaaf36ec36ba281cd920ed087d08270cdbf7414d7c6150041303d80b740e667665b5fc519faab5140e637c197fe61db8518a44746592ae3cc25b0219fa920219ffff037f21a9393d870b61287e88af015a64021c3fab81013960b1ecd0e73ac040c840032cba1656f8f5becf3f636bc2743c9d22e1290311d7734e7391c5b188582ca8c60334f185b4f7145c723dc25b8254cac33e6527d2ffd338b79134b319e15031b5590358af0c1360df78fb8b89b43abc0cc4e6130b76e5b483a1e68faed4911b6361de03a42cec6a445d02d9ac2dfb70b136656dffc1158718872a76fa65a7ed303f101503d796c7bf1f842af48a4dbc33103f50a8a70b7ec1c75b38b5cb1274dcccec39f60374d1cdf4a0f38272394789b2161f5bf42d63083d527b84ec23c00ab250bc3b050219ffff0219ffff03dfb4d013922bc57af95b2bdaaa221926e6b038f72cbda3a6cc008cd103c690920322d7f532148df3ea4475f7e4a89097891de2182ad524678e7e8d39be5b52619203f61b3d89ceca708f115d183c0637db827fff397cd46b0d5b175b1ddb1065d4d703e18a04f7a333140e1d71ba800a997121a327183e9bc7f097ad049a83c7fb37e40219ffff035db3fdce14e5f37f91c5b14fdc31196399e2d997d876687932bd7238801f0d92036f327cac72376451603a5f3e7b6d5e37fabf00eee982be98fdce9c474317aefe03d44f46f67a7349f22b480b8e080b4b368ab4d844facc21a7258b8e10df57fd23036655bc628b709a25b91d71bb76b87e49bbdb9af760b461322ae03c00b59b23c8031c606f2ca713efa8435e3efd93173306695339cb31b8fa6a628ab81c68e053eb038c3f21f82b7868e2782b003a7d2a23c7aa6ab1b3d67b178d9ca2b5d98e8c388f031fbbee1aa46ce00a0eb7a5849f6f86606e113766bf05822491877037e819ca9f035eafddbf2b83824776010157f3e35581648d23998e4b83c23551c63e72a182a803cf8d9e3b3509ede898f7b1d30f498b8adc1e167b129fbf78ab1b047fc11529f403ea10c9da5ca6d20d458008a060bc0eedf246f5e022c9f633e8be25850240e0e403efac55fd767d0d1bb779a074dab94b7fb00a7b1811994970f1a2716ddf7be5e20377ec20a12ee5a0dc0d93f33fbcd2e6ab807b4a53a6d41e99e03456f4f92ce4bc0314a22c7b9dec486d8ea22eae66b77756106a56e9d4cf42bba976a5a9c3f69edf03e7ddc20ba1d265b5569ff9e11253f6c039a4d8e08a060a0fdd5d8f59a81f7a8603de3e018d81ce16dc4fbf5c0f8d0430b06e99d03e920749c4d3c6f2b5002e482b0330b9e6f68e00b5cecb3f04d2db0613b9463946452e417d638378b86ce8ebdf1d03845f15d0e8c70896dd46f3911ba68c115f77d41a47c33be85c71ea2fa0efb161038e7218215963a2051c1ac99d59ea0390cc9a75cf52e3cdcbb2b6a09846b78b3603b70cae530f4961da6123a282ac5c3956731b1c6d5de0f7eab1f8c0f95f5019d103ccaa1ff08c6fd7e821fa50b9b0797ec1be45e07ad7e85cd6df120523a048335f05581e03bced7fb869957e8d9d9d8a7364873212cd529af8b00a1b64c825ed15d008470805476476a80003c5473565a06d8a04a802d8e75e3eaa7c93ee627a5cb7d0fbbff94b5b5563649503751693fd74e60ba458cef45bb469da059a7008548fb928d799ecc2524fbae15405581d02914dfc11fb2377cb900d1ab20dcc1602a55f50810880a1cba6b3acb10c044703f8b8e8d736910459481060806040526004361061024d5760003560e01c8063717e8a4211610138578063c2803b2c116100b0578063cd88b9031161007f578063d2ae210411610064578063d2ae210414610804578063d547741f14610856578063fa34c84e1461087657600080fd5b8063cd88b903146107d1578063cfc32570146107f157600080fd5b8063c2803b2c14610736578063c358de0a14610764578063c416aa5114610784578063c7b2370b146107b157600080fd5b80637cd447341161010757806391d14854116100ec57806391d14854146105f15780639e94496514610644578063a217fddf1461072157600080fd5b80637cd44734146105cb5780638624ba07146105de57600080fd5b8063717e8a4214610513578063724e78da146105335780637260753714610553578063741bef1a1461059e57600080fd5b80632f2ff15d116101cb5780633d85ac331161019a5780635c975abb1161017f5780635c975abb146104885780635e280f11146104a0578063709eb664146104f357600080fd5b80633d85ac3314610455578063475b6d9e1461047557600080fd5b80632f2ff15d146103e25780633146646a1461040257806336568abe146104225780633927c0751461044257600080fd5b80631095b6d711610222578063248a9ca311610207578063248a9ca31461035757806326e67a37146103955780632de11376146103c257600080fd5b80631095b6d71461031757806316c38b3c1461033757600080fd5b80629fc68114610252578062bf2e801461027457806301e33667146102c757806301ffc9a7146102e7575b600080fd5b34801561025e57600080fd5b5061027261026d3660046136f8565b610896565b005b34801561028057600080fd5b5060c9546102af907c0100000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b3480156102d357600080fd5b506102726102e236600461379d565b610c35565b3480156102f357600080fd5b506103076103023660046137d9565b610c70565b60405190151581526020016102be565b34801561032357600080fd5b5061027261033236600461379d565b610d09565b34801561034357600080fd5b50610272610352366004613829565b610e98565b34801561036357600080fd5b50610387610372366004613846565b60009081526065602052604090206001015490565b6040519081526020016102be565b3480156103a157600080fd5b506103b56103b0366004613871565b610ebd565b6040516102be919061388e565b3480156103ce57600080fd5b506103076103dd3660046138d5565b610f44565b3480156103ee57600080fd5b506102726103fd3660046138f0565b611028565b34801561040e57600080fd5b5061027261041d366004613965565b611052565b34801561042e57600080fd5b5061027261043d3660046138f0565b61111b565b610272610450366004613a0e565b61114d565b34801561046157600080fd5b50610272610470366004613aec565b611237565b610272610483366004613bf4565b61141d565b34801561049457600080fd5b5060975460ff16610307565b3480156104ac57600080fd5b5061012e546104ce9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102be565b3480156104ff57600080fd5b5061038761050e366004613c75565b611471565b34801561051f57600080fd5b5061038761052e366004613c75565b6115ca565b34801561053f57600080fd5b5061027261054e3660046138d5565b611750565b34801561055f57600080fd5b5061012e546105899074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016102be565b3480156105aa57600080fd5b5060ca546104ce9073ffffffffffffffffffffffffffffffffffffffff1681565b6102726105d9366004613ce6565b6117ed565b6102726105ec366004613dac565b6119a2565b3480156105fd57600080fd5b5061030761060c3660046138f0565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b34801561065057600080fd5b506106d461065f366004613871565b61012d602052600090815260409020805460019091015467ffffffffffffffff8083169261ffff68010000000000000000820416926fffffffffffffffffffffffffffffffff6a0100000000000000000000909204821692918116917001000000000000000000000000000000009091041685565b6040805167ffffffffffffffff968716815261ffff90951660208601526fffffffffffffffffffffffffffffffff938416908501529116606083015291909116608082015260a0016102be565b34801561072d57600080fd5b50610387600081565b34801561074257600080fd5b5061012f546104ce9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561077057600080fd5b5061027261077f366004613e1f565b611bb8565b34801561079057600080fd5b5060c9546104ce9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156107bd57600080fd5b506102726107cc3660046138d5565b611c65565b3480156107dd57600080fd5b506102726107ec366004613e3a565b611d02565b6102726107ff366004613ec2565b611d4c565b34801561081057600080fd5b5060c95461083d9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102be565b34801561086257600080fd5b506102726108713660046138f0565b611f08565b34801561088257600080fd5b506102726108913660046138d5565b611f2d565b60006108c07fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166109195773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035561093b565b3373ffffffffffffffffffffffffffffffffffffffff82161461093b57600080fd5b600054610100900460ff161580801561095b5750600054600160ff909116105b806109755750303b158015610975575060005460ff166001145b610a06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610a6457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610a6c61201b565b610a7b8686612ee087876120bc565b61012e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a16908117909155604080517f416ecebf000000000000000000000000000000000000000000000000000000008152905163416ecebf916004808201926020929091908290030181865afa158015610b13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b379190613ef7565b61012e80547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905561012f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790558015610c2b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610c5f81612178565b610c6a848484612185565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610d0357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610d3381612178565b73ffffffffffffffffffffffffffffffffffffffff841660009081527fe3a3b2721d010eec8988605a93cd7c15d969808c0e2b42f6155dc2b4fa13c081602052604090205460ff16610db1576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610e2157600080fd5b505af1158015610e35573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b6000610ea381612178565b8115610eb557610eb16121b5565b5050565b610eb161223a565b63ffffffff8116600090815260cb6020908152604091829020805483518184028101840190945280845260609392830182828015610f3857602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610f095790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f0f6a9529577ef7bf1cbc8fccda1cc3c881f755c7e92e34c7c4deac1fa3c1c791602052604081205460ff1615610f9957506000919050565b60c95474010000000000000000000000000000000000000000900467ffffffffffffffff16158061100e575073ffffffffffffffffffffffffffffffffffffffff821660009081527f35c5067391a9036240763c1067bfa438a7b0131204a675a2fe562dd73782ce85602052604090205460ff165b1561101b57506001919050565b506000919050565b919050565b60008281526065602052604090206001015461104381612178565b61104d8383612291565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561107c81612178565b611084612358565b61012f546040517fe65106f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e65106f8906110df90879087908790600401613f5d565b600060405180830381600087803b1580156110f957600080fd5b505af115801561110d573d6000803e3d6000fd5b50505050610c6a600160fb55565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561117781612178565b61117f612358565b61119f8861118d86866123d2565b61119787876123f5565b8a8a8a61240e565b5061012f546040517fe65106f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e65106f8906111fb90879087908790600401613f5d565b600060405180830381600087803b15801561121557600080fd5b505af1158015611229573d6000803e3d6000fd5b50505050610c2b600160fb55565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561126181612178565b60005b82518110156113e157600083828151811061128157611281613f81565b6020908102919091018101516040805160a080820183528385015167ffffffffffffffff908116835260608086015161ffff9081168589019081526080808901516fffffffffffffffffffffffffffffffff908116888a01908152968a01518116948801948552888a01518616918801918252985163ffffffff16600090815261012d909a5296909820945185549851945188166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff9590921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090991690841617979097179290921695909517825551600191820180549351909516700100000000000000000000000000000000027fffffffffffffffff00000000000000000000000000000000000000000000000090931693169290921717909155919091019050611264565b507fb99f6de5e22c60c178b03bfacf2daeb4b6089f5b37e0fe2c48a5d5141191fc53826040516114119190613fb0565b60405180910390a15050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561144781612178565b61144f612358565b61145d87878787878761240e565b50611468600160fb55565b50505050505050565b60008461147d81610f44565b6114b3576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114bb612583565b6040805160a08101825260ca5473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a1660208084018290528a831684860152606084018a905260c95461ffff7c01000000000000000000000000000000000000000000000000000000008204166080860152600092835261012d9091529084902093517f434ee016000000000000000000000000000000000000000000000000000000008152929391169163434ee0169161157d918591908a908a90600401614057565b602060405180830381865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190614117565b98975050505050505050565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6115f681612178565b8561160081610f44565b611636576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61163e612583565b6040805160a08101825260ca5473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8b1660208084018290528b831684860152606084018b905260c95461ffff7c01000000000000000000000000000000000000000000000000000000008204166080860152600092835261012d9091529084902093517f566ef762000000000000000000000000000000000000000000000000000000008152929391169163566ef76291611700918591908b908b90600401614057565b6020604051808303816000875af115801561171f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117439190614117565b9998505050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561177a81612178565b60ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d90602001611411565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561181781612178565b61181f612358565b61012e546040517f91d20fa100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909116906391d20fa19084903490611888908f908f908f908f908f908f908f908f90600401614130565b6000604051808303818589803b1580156118a157600080fd5b5088f194505050505080156118b4575060015b61198c573d8080156118e2576040519150601f19603f3d011682016040523d82523d6000602084013e6118e7565b606091505b5061012e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663697fe6b68c8c8c8c88348e8e8e8e8c6040518c63ffffffff1660e01b81526004016119589b9a9998979695949392919061420a565b600060405180830381600087803b15801561197257600080fd5b505af1158015611986573d6000803e3d6000fd5b50505050505b611996600160fb55565b50505050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756119cc81612178565b6119d4612358565b61012e54600090611a1490602085019074010000000000000000000000000000000000000000900463ffffffff16611a0c82876138d5565b89898961240e565b90506000611a2282346142cc565b61012e5490915073ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e08601358360208801611a58818a6138d5565b60808a0135611a6a60a08c018c6142df565b611a7760c08e018e6142df565b6040518a63ffffffff1660e01b8152600401611a999796959493929190614380565b6000604051808303818589803b158015611ab257600080fd5b5088f19450505050508015611ac5575060015b611ba5573d808015611af3576040519150601f19603f3d011682016040523d82523d6000602084013e611af8565b606091505b5061012e5473ffffffffffffffffffffffffffffffffffffffff16636bf73fa360208701611b2681896138d5565b608089013560e08a013587611b3e60a08d018d6142df565b611b4b60c08f018f6142df565b8b6040518b63ffffffff1660e01b8152600401611b719a999897969594939291906143e4565b600060405180830381600087803b158015611b8b57600080fd5b505af1158015611b9f573d6000803e3d6000fd5b50505050505b5050611bb1600160fb55565b5050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611be281612178565b60c980547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d90602001611411565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611c8f81612178565b60c980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e090602001611411565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611d2c81612178565b63ffffffff8416600090815260cb60205260409020611bb19084846134d5565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611d7681612178565b611d7e612358565b61012e5473ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e08401353460208601611db181886138d5565b6080880135611dc360a08a018a6142df565b611dd060c08c018c6142df565b6040518a63ffffffff1660e01b8152600401611df29796959493929190614380565b6000604051808303818589803b158015611e0b57600080fd5b5088f19450505050508015611e1e575060015b611efe573d808015611e4c576040519150601f19603f3d011682016040523d82523d6000602084013e611e51565b606091505b5061012e5473ffffffffffffffffffffffffffffffffffffffff16636bf73fa360208501611e7f81876138d5565b608087013560e088013534611e9760a08b018b6142df565b611ea460c08d018d6142df565b8b6040518b63ffffffff1660e01b8152600401611eca9a999897969594939291906143e4565b600060405180830381600087803b158015611ee457600080fd5b505af1158015611ef8573d6000803e3d6000fd5b50505050505b610eb1600160fb55565b600082815260656020526040902060010154611f2381612178565b61104d83836125f0565b6000611f577fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116611fb05773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355611fd2565b3373ffffffffffffffffffffffffffffffffffffffff821614611fd257600080fd5b5061012f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff166120b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109fd565b6120ba6126b6565b565b600054610100900460ff16612153576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109fd565b61215b61274d565b61216361274d565b61216b6127e4565b611bb185858585856128a5565b6121828133612a8a565b50565b73ffffffffffffffffffffffffffffffffffffffff83166121aa5761104d8282612b44565b61104d838383612c4a565b6121bd612583565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122103390565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612242612cb8565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33612210565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156122f05750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b1561234e5760c980546014906123279074010000000000000000000000000000000000000000900467ffffffffffffffff16614470565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610eb18282612d24565b600260fb54036123c4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016109fd565b600260fb55565b600160fb55565b60006123e26031602d8486614497565b6123eb916144c1565b60e01c9392505050565b60006124076124048484612e18565b90565b9392505050565b6000808367ffffffffffffffff81111561242a5761242a6135b7565b604051908082528060200260200182016040528015612453578160200160208202803683370190505b50905060005b8481101561253657600086868381811061247557612475613f81565b90506040020180360381019061248b9190614509565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff1682602001518790604051600060405180830381858888f193505050503d80600081146124f2576040519150601f19603f3d011682016040523d82523d6000602084013e6124f7565b606091505b505090508084848151811061250e5761250e613f81565b91151560209283029190910182015282015161252a9086614560565b94505050600101612459565b507f1f48172553121d8bf273ce457a5a3dd180d464e0add3e0143045b7fa039c3468888888888886604051612570969594939291906145b1565b60405180910390a1509695505050505050565b60975460ff16156120ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016109fd565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca8214801561264e5750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b156126ac5760c980546014906126859074010000000000000000000000000000000000000000900467ffffffffffffffff16614643565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610eb18282612e31565b600054610100900460ff166123cb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109fd565b600054610100900460ff166120ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109fd565b600054610100900460ff1661287b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109fd565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600054610100900460ff1661293c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016109fd565b60c980547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff86160217905560ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff868116919091179091558216156129e0576129e0600083612291565b60005b8551811015612a3757612a2f7f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de878381518110612a2257612a22613f81565b6020026020010151612291565b6001016129e3565b5060005b8151811015612a8257612a7a7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775838381518110612a2257612a22613f81565b600101612a3b565b505050505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610eb157612aca81612eec565b612ad5836020612f0b565b604051602001612ae6929190614685565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526109fd91600401614706565b73ffffffffffffffffffffffffffffffffffffffff8216612b91576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612beb576040519150601f19603f3d011682016040523d82523d6000602084013e612bf0565b606091505b505090508061104d576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044016109fd565b73ffffffffffffffffffffffffffffffffffffffff8216612c97576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61104d73ffffffffffffffffffffffffffffffffffffffff8416838361314e565b60975460ff166120ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016109fd565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610eb157600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055612dba3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000612e28605160318486614497565b61240791614719565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610eb157600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610d0373ffffffffffffffffffffffffffffffffffffffff831660145b60606000612f1a836002614755565b612f25906002614560565b67ffffffffffffffff811115612f3d57612f3d6135b7565b6040519080825280601f01601f191660200182016040528015612f67576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612f9e57612f9e613f81565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061300157613001613f81565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600061303d846002614755565b613048906001614560565b90505b60018111156130e5577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061308957613089613f81565b1a60f81b82828151811061309f5761309f613f81565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936130de8161476c565b905061304b565b508315612407576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016109fd565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261104d928692916000916132199185169084906132c6565b905080516000148061323a57508080602001905181019061323a91906147a1565b61104d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016109fd565b60606132d584846000856132dd565b949350505050565b60608247101561336f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016109fd565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161339891906147be565b60006040518083038185875af1925050503d80600081146133d5576040519150601f19603f3d011682016040523d82523d6000602084013e6133da565b606091505b50915091506133eb878383876133f6565b979650505050505050565b6060831561348c5782516000036134855773ffffffffffffffffffffffffffffffffffffffff85163b613485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109fd565b50816132d5565b6132d583838151156134a15781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109fd9190614706565b82805482825590600052602060002090601f0160209004810192821561356e5791602002820160005b8382111561353f57833560ff1683826101000a81548160ff021916908360ff16021790555092602001926001016020816000010492830192600103026134fe565b801561356c5782816101000a81549060ff021916905560010160208160000104928301926001030261353f565b505b5061357a92915061357e565b5090565b5b8082111561357a576000815560010161357f565b803573ffffffffffffffffffffffffffffffffffffffff8116811461102357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715613609576136096135b7565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613656576136566135b7565b604052919050565b600067ffffffffffffffff821115613678576136786135b7565b5060051b60200190565b600082601f83011261369357600080fd5b813560206136a86136a38361365e565b61360f565b8083825260208201915060208460051b8701019350868411156136ca57600080fd5b602086015b848110156136ed576136e081613593565b83529183019183016136cf565b509695505050505050565b60008060008060008060c0878903121561371157600080fd5b61371a87613593565b955061372860208801613593565b9450604087013567ffffffffffffffff8082111561374557600080fd5b6137518a838b01613682565b955061375f60608a01613593565b945061376d60808a01613593565b935060a089013591508082111561378357600080fd5b5061379089828a01613682565b9150509295509295509295565b6000806000606084860312156137b257600080fd5b6137bb84613593565b92506137c960208501613593565b9150604084013590509250925092565b6000602082840312156137eb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461240757600080fd5b801515811461218257600080fd5b60006020828403121561383b57600080fd5b81356124078161381b565b60006020828403121561385857600080fd5b5035919050565b63ffffffff8116811461218257600080fd5b60006020828403121561388357600080fd5b81356124078161385f565b6020808252825182820181905260009190848201906040850190845b818110156138c957835160ff16835292840192918401916001016138aa565b50909695505050505050565b6000602082840312156138e757600080fd5b61240782613593565b6000806040838503121561390357600080fd5b8235915061391360208401613593565b90509250929050565b60008083601f84011261392e57600080fd5b50813567ffffffffffffffff81111561394657600080fd5b60208301915083602082850101111561395e57600080fd5b9250929050565b60008060006040848603121561397a57600080fd5b833567ffffffffffffffff81111561399157600080fd5b61399d8682870161391c565b909790965060209590950135949350505050565b6000606082840312156139c357600080fd5b50919050565b60008083601f8401126139db57600080fd5b50813567ffffffffffffffff8111156139f357600080fd5b6020830191508360208260061b850101111561395e57600080fd5b600080600080600080600060e0888a031215613a2957600080fd5b613a3389896139b1565b9650606088013567ffffffffffffffff80821115613a5057600080fd5b613a5c8b838c016139c9565b909850965060808a0135955060a08a0135915080821115613a7c57600080fd5b50613a898a828b0161391c565b989b979a5095989497959660c090950135949350505050565b803567ffffffffffffffff8116811461102357600080fd5b803561ffff8116811461102357600080fd5b80356fffffffffffffffffffffffffffffffff8116811461102357600080fd5b60006020808385031215613aff57600080fd5b823567ffffffffffffffff811115613b1657600080fd5b8301601f81018513613b2757600080fd5b8035613b356136a38261365e565b81815260c09182028301840191848201919088841115613b5457600080fd5b938501935b83851015613be85780858a031215613b715760008081fd5b613b796135e6565b8535613b848161385f565b8152613b91868801613aa2565b878201526040613ba2818801613aa2565b908201526060613bb3878201613aba565b908201526080613bc4878201613acc565b9082015260a0613bd5878201613acc565b9082015283529384019391850191613b59565b50979650505050505050565b60008060008060008060e08789031215613c0d57600080fd5b613c1788886139b1565b95506060870135613c278161385f565b9450613c3560808801613593565b935060a087013567ffffffffffffffff811115613c5157600080fd5b613c5d89828a016139c9565b979a969950949794969560c090950135949350505050565b600080600080600060808688031215613c8d57600080fd5b8535613c988161385f565b9450613ca660208701613593565b935060408601359250606086013567ffffffffffffffff811115613cc957600080fd5b613cd58882890161391c565b969995985093965092949392505050565b600080600080600080600080600060e08a8c031215613d0457600080fd5b613d0d8a613593565b9850613d1b60208b01613593565b975060408a01359650613d3060608b01613aba565b955060808a013567ffffffffffffffff80821115613d4d57600080fd5b613d598d838e0161391c565b909750955060a08c0135915080821115613d7257600080fd5b50613d7f8c828d0161391c565b9a9d999c50979a9699959894979660c00135949350505050565b600061010082840312156139c357600080fd5b60008060008060608587031215613dc257600080fd5b843567ffffffffffffffff80821115613dda57600080fd5b613de6888389016139c9565b9096509450602087013593506040870135915080821115613e0657600080fd5b50613e1387828801613d99565b91505092959194509250565b600060208284031215613e3157600080fd5b61240782613aba565b600080600060408486031215613e4f57600080fd5b8335613e5a8161385f565b9250602084013567ffffffffffffffff80821115613e7757600080fd5b818601915086601f830112613e8b57600080fd5b813581811115613e9a57600080fd5b8760208260051b8501011115613eaf57600080fd5b6020830194508093505050509250925092565b600060208284031215613ed457600080fd5b813567ffffffffffffffff811115613eeb57600080fd5b6132d584828501613d99565b600060208284031215613f0957600080fd5b81516124078161385f565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000613f71604083018587613f14565b9050826020830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602080825282518282018190526000919060409081850190868401855b8281101561404a578151805163ffffffff1685528681015167ffffffffffffffff9081168887015286820151168686015260608082015161ffff16908601526080808201516fffffffffffffffffffffffffffffffff9081169187019190915260a091820151169085015260c09093019290850190600101613fcd565b5091979650505050505050565b845173ffffffffffffffffffffffffffffffffffffffff908116825260208087015163ffffffff1690830152604080870151909116818301526060808701519083015260808087015161ffff90811682850152865467ffffffffffffffff80821660a08701529381901c90911660c085015260501c6fffffffffffffffffffffffffffffffff90811660e08501526001870154908116610100850152901c1661012082015261016061014082018190526000906133eb8382018587613f14565b60006020828403121561412957600080fd5b5051919050565b600073ffffffffffffffffffffffffffffffffffffffff808b168352808a1660208401525087604083015261ffff8716606083015260c0608083015261417a60c083018688613f14565b82810360a084015261418d818587613f14565b9b9a5050505050505050505050565b60005b838110156141b757818101518382015260200161419f565b50506000910152565b600081518084526141d881602086016020860161419c565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600061012073ffffffffffffffffffffffffffffffffffffffff808f168452808e166020850152508b604084015261ffff8b1660608401528960808401528860a08401528060c0840152614261818401888a613f14565b905082810360e0840152614276818688613f14565b905082810361010084015261428b81856141c0565b9e9d5050505050505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610d0357610d0361429d565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261431457600080fd5b83018035915067ffffffffffffffff82111561432f57600080fd5b60200191503681900382131561395e57600080fd5b803561434f8161385f565b63ffffffff1682526020818101359083015267ffffffffffffffff61437660408301613aa2565b1660408301525050565b61438a8189614344565b73ffffffffffffffffffffffffffffffffffffffff8716606082015285608082015260e060a082015260006143c360e083018688613f14565b82810360c08401526143d6818587613f14565b9a9950505050505050505050565b60006101406143f3838e614344565b73ffffffffffffffffffffffffffffffffffffffff8c1660608401528a60808401528960a08401528860c08401528060e0840152614434818401888a613f14565b905082810361010084015261444a818688613f14565b905082810361012084015261445f81856141c0565b9d9c50505050505050505050505050565b600067ffffffffffffffff80831681810361448d5761448d61429d565b6001019392505050565b600080858511156144a757600080fd5b838611156144b457600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156145015780818660040360031b1b83161692505b505092915050565b60006040828403121561451b57600080fd5b6040516040810181811067ffffffffffffffff8211171561453e5761453e6135b7565b60405261454a83613593565b8152602083013560208201528091505092915050565b80820180821115610d0357610d0361429d565b60008151808452602080850194506020840160005b838110156145a6578151151587529582019590820190600101614588565b509495945050505050565b600060e082016145c1838a614344565b63ffffffff8816606084015273ffffffffffffffffffffffffffffffffffffffff878116608085015260e060a0850152908590528590610100840160005b87811015614630578261461185613593565b16825260208481013590830152604093840193909101906001016145ff565b5084810360c086015261418d8187614573565b600067ffffffffffffffff82168061465d5761465d61429d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516146bd81601785016020880161419c565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516146fa81602884016020880161419c565b01602801949350505050565b60208152600061240760208301846141c0565b80356020831015610d03577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b8082028115828204841417610d0357610d0361429d565b60008161477b5761477b61429d565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000602082840312156147b357600080fd5b81516124078161381b565b600082516147d081846020870161419c565b919091019291505056fea2646970667358221220bb5382f6bd016bb892c3d11f11c63089cd2f3aef30e1fdb7c7ed28d930c1142c64736f6c634300081600330605581d02fd0b7cf63002556e30c5e5f42af3bf0fcad7c1876a52b463d50fc8a007011948100219600005581e033658d7efd66e40f303cc6a1c43b332d06320cfde0104dc78498ebe72600419010f05581e0308f031a64486c3c60085df7352e8494d00adf268bfbc5124a401571ce0040505581e0312d0a83a29c745f562d65b24318db794ac0647ff3615418fa07d510ae00c03470240d2b9a0c7c80372a38fe3f166d6d557b1d0008530a07c35dc4698f2368d32f5f399329536d0fc0219de92033cab0226b41f7e9bb48554bcdd7e980343bcf7f20cfe33dd73555523d260994103ad61b6123a1ceb4b765fda9f538b6c9dcb92f5c3b2ee5c6ec6c79196aed7418903d61b14d1a939bf704d5a4053c6cde354977262a927e5559bd02406fe5155670603ac199fa0bf1558ccbb10617787946ba07bad8f38913f6f3f9dafc27519849331030b4dec886378bbbf6b812202e864a8e2b713a8eeabef8da9c95a73b3fa9011c403f7ccf04ba2993583cb3292a89e2bfdfe0ebf3e1b2f83a3cfbb48c078e21f3d3503af754a70f042297ed742b9252bb46cbe8d3f5ba0cac12f6a5fc06cf2c6d996110379d928f20c601a664150c3602791772d78faa7ab53cb08ac8e53bd533b8b70e9037c281a079135352d24da700d5de9ce0c9fa6b7c5a598f9344208c0c19ed6c7a5036057daa8e36d3b10f313c720ff457ed21a05f9baf94715030f465a72a56133ee03385d3b9c43a0235d3261e40afaff0c96e7d8a2f7b847c969a5318d1bd9e7933003b86a500065b3196642e8d3eb8e176c18a21ab73903adcd11663ca9452cd9c6af03f368c850693ef41c199c30920b61f32b3db789d8e14cc2589a0130c95d76c6dc0336d69513bf789b92bc0562bf05b285b35a97f1dfba600f0acc9d4773074103090219ffff030f536a2fccd9720b6127445854dcc9d573d443b2991fa184f05608b03ae37ce3034bb0694c91b8564d10417f11c8bd1c51a8444626fc96a868ce434cdfa4f79dde03ef6a831f57ef89fa169be65c275e6b637038c5639b2c95399ed97c032ef9d4dc0378e54ddf2925cfc95921a3b03eb319903ea8b381a40f67d50d6f75eedc52765203375547c0ecd5d20755524d653ba45aa1c8fb3a73c895c976c6ca38952bbd734e032f07e64a909e473fdcc810f21c22c5f8855e9fda184acdfdd474dc6a4f1002e7037f8728bc091b4a7a95096227d0bc2486c4f7e4a77d81ea3299cfcc10e2455c060393bd2c083280a67928a2c172af74391798601f0da6dc30a70142c5ce3076d7d5039a5e72ee580db634b952e0cd65586a85a6e57c9bdba81dcbffc89c93ebf5207403a53721d392788d8220395715ea1fde912ac28585841f42dd46687bccc388e75e03ca4ae418c341d15d86ccd74922078cafde85f38d0b2fca44d1428457aa5ef86d0219ffff03210151f0666cdd59d3f5de617fd3116674c61e856f3d0e9c0ce7dcae6cfcc858033453ea050c7426e3c6b0300ba8828eb02db23bbc6a939a647581e17e388217620345c4433251fd0e7bacbb56f9b8a1ebaf135ade71245747ee78c8360d07e919c603ba34a24a39b0af32bba6416b84fc651b93c41b2af3b2b123ba1cf04fc280651c0327a4f8068caab4f8f442439b679d089f1dce41f91ec8de84464c903814756301035d3e052a843e6a68b91e42a80e4fc187069331c01d329a182d72518105a3104a03292371f5705b6cb6e0cea3b851d47acc6bc65955e8741a4d54a048bdb65381ff03ee2ff4c591644fb5abab8575e8d7ffce3608ee564bceeeccdc3385b3fb9f601e0219ffff03a344b9a1f731f7edbfed79c1cb7f1a8f334bf7e084d4beb2c768731d776a6950033967e8d5ea0891cff9487a1adac7e0569fa5dc0432c00dd3104c414dd4f7fdb8032fdb30172e3032077247a00da60adda65e0ea0eb070774e36b451b4e580799e0030562d05c970d7349746c73bd5cc49e7bc05331fd1483a7b2d46da1a631497d9203b46b772f535ff065c62cdd67df488eb819b2cc560e096722f6f641a6495b176303aa0403c2ee0c95a65ccd47e996434fadf94ae46e99a4c279b0b70bb33470dafb0321fc2dda4d7b2120970d980d4b55cd087fccdc8e18bcc5f98c6e26370d4febd703a2f5278bf99fa23a048e1c35836add4a7dde9d0bbbc50867eac57a2985cf0bc003afc214378e7e29aae4b4186661564279c7fe074f5551dfa24bf6bb7555b08585038f03686aaa44090f253c62f6b5652d16d450f34cc8ff3f94b53c7c9e5e8940c603db802573d2e84d87b54139956663efe1cb520e6a038852863aa87786ccaf2e4b03988597aaaff87690d2414562233662b9e84ab58bb467b709f0e4b562c3e7966603556d2e8f48b0ffead9323473fc57fe269c1c95eec4953cc71ff5fd0a4e9d5c4403bf72dd4437d64dfe151b13cffed88c6abb14794c369f5f5e8efc4fe226c329c103c17922c8b50b203fb07c092cd53d21a0ff0b96c8e504c47cedb018ef10bedcf503bb4ec107c6e496b24ff8d263e58d91406cb04c291815a00b59ddf8aa2e14eb1903ffe394e7ffffadb88c434af03bffdc18bb11a9172745ef570bbb6032889f962703f034f70a58e24fdc442c12c0360e50ffd3730a97e2520bbf4d7c1f70c1dbb13303756609ae1ebc6f5633d9624445fd3f8d79319d6759f13de1a1b25ec1e2631e7303bec5df5a0e73b1b8851385f489c4d3f5f364e3434b4d457b7049a93728885263037053d3b04b45bb47652c07322257d508fee5ca49e7551433ee7f1c44988ea712030d8dcb34c3809b26e2b004b5a640e65b48b04d936caa66bea191c186c54611bf030ab3a6b93494663ae3c4492efe1f7462818ce5f50325b1aefb51b5880f7fd5ca03bfbe24ca8330ee144f0fc6295e7c980bdffdf6680a747da890dacf916c46e21a05581e0340eef1b1bc43fa345a5379d28612c34d1b32ea644cb36115d082e483100c044701ccba1e76028d03a35ed0a8c2081bd632453e7ee1ea1f0c42c083b51327bc22ebe5ce25e6fc6aa20365f2f14fd94698a936b7a58ea1b41eb1e21769d14218ef960cc28d79fbbe3a300330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e031bb2042a6d2dbdd2e90a1a7e684b8c48c25298c2576ea034e119b16c4007011bffffffffffffffff03586e6f6e8f6c1b0e6c26db23ecc4b634097acaf048b341234c65ce6b8d951d2a03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e034cbd11ddce82f8fa8ff0f10acccbc8cddb72f4277f32440eca07bfd87007011bffffffffffffffff05581d02b19a33e0c96065e94f6a219d3e5b4b5ac58293a2a3fc7d1aa484ebfc040105581d0259a0730eff8f754826f503126f070fa9d6ddc933d49623e9fe3fd3fe040305581d02ea5f9f3ab68e3ae91ad0041d3335e46350f21474a858eb2e43269d1a040204591829608060405234801561001057600080fd5b50600436106101515760003560e01c8063b40a817c116100cd578063f2fde38b11610081578063f68016b711610066578063f68016b7146103f7578063f975e9251461040b578063ffa1ad741461041e57600080fd5b8063f2fde38b146103db578063f45e65d8146103ee57600080fd5b8063c9b26f61116100b2578063c9b26f611461028b578063cc731b021461029e578063e81b2c6d146103d257600080fd5b8063b40a817c14610265578063c71973f61461027857600080fd5b80634f16540b11610124578063715018a611610109578063715018a61461022c5780638da5cb5b14610234578063935f029e1461025257600080fd5b80634f16540b146101f057806354fd4d501461021757600080fd5b80630c18c1621461015657806318d13918146101725780631fd19ee1146101875780634add321d146101cf575b600080fd5b61015f60655481565b6040519081526020015b60405180910390f35b610185610180366004611307565b610426565b005b7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c08545b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610169565b6101d76104ea565b60405167ffffffffffffffff9091168152602001610169565b61015f7f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0881565b61021f610515565b60405161016991906113a3565b6101856105b8565b60335473ffffffffffffffffffffffffffffffffffffffff166101aa565b6101856102603660046113b6565b6105cc565b6101856102733660046113f0565b610665565b610185610286366004611548565b610750565b610185610299366004611564565b610764565b6103626040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260695463ffffffff8082168352640100000000820460ff9081166020850152650100000000008304169383019390935266010000000000008104831660608301526a0100000000000000000000810490921660808201526e0100000000000000000000000000009091046fffffffffffffffffffffffffffffffff1660a082015290565b6040516101699190600060c08201905063ffffffff80845116835260ff602085015116602084015260ff6040850151166040840152806060850151166060840152806080850151166080840152506fffffffffffffffffffffffffffffffff60a08401511660a083015292915050565b61015f60675481565b6101856103e9366004611307565b610794565b61015f60665481565b6068546101d79067ffffffffffffffff1681565b61018561041936600461157d565b610848565b61015f600081565b61042e610afb565b610456817f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c0855565b6040805173ffffffffffffffffffffffffffffffffffffffff8316602082015260009101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060035b60007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be836040516104de91906113a3565b60405180910390a35050565b6069546000906105109063ffffffff6a010000000000000000000082048116911661161f565b905090565b60606105407f0000000000000000000000000000000000000000000000000000000000000001610b7c565b6105697f0000000000000000000000000000000000000000000000000000000000000003610b7c565b6105927f0000000000000000000000000000000000000000000000000000000000000001610b7c565b6040516020016105a49392919061164b565b604051602081830303815290604052905090565b6105c0610afb565b6105ca6000610cb9565b565b6105d4610afb565b606582905560668190556040805160208101849052908101829052600090606001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529050600160007f1d2b0bda21d56b8bd12d4f94ebacffdfb35f5e226f84b461103bb8beab6353be8360405161065891906113a3565b60405180910390a3505050565b61066d610afb565b6106756104ea565b67ffffffffffffffff168167ffffffffffffffff1610156106f7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064015b60405180910390fd5b606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff831690811790915560408051602080820193909352815180820390930183528101905260026104ad565b610758610afb565b61076181610d30565b50565b61076c610afb565b60678190556040805160208082018490528251808303909101815290820190915260006104ad565b61079c610afb565b73ffffffffffffffffffffffffffffffffffffffff811661083f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016106ee565b61076181610cb9565b600054610100900460ff16158080156108685750600054600160ff909116105b806108825750303b158015610882575060005460ff166001145b61090e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084016106ee565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561096c57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109746111a4565b61097d88610794565b606587905560668690556067859055606880547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff86161790557f65a7ed542fb37fe237fdfbdd70b31598523fe5b32879e307bae27a0bd9581c088390556109ed82610d30565b6109f56104ea565b67ffffffffffffffff168467ffffffffffffffff161015610a72576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106ee565b8015610ad557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60335473ffffffffffffffffffffffffffffffffffffffff1633146105ca576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016106ee565b606081600003610bbf57505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115610be95780610bd3816116c1565b9150610be29050600a83611728565b9150610bc3565b60008167ffffffffffffffff811115610c0457610c0461140b565b6040519080825280601f01601f191660200182016040528015610c2e576020820181803683370190505b5090505b8415610cb157610c4360018361173c565b9150610c50600a86611753565b610c5b906030611767565b60f81b818381518110610c7057610c7061177f565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610caa600a86611728565b9450610c32565b949350505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8060a001516fffffffffffffffffffffffffffffffff16816060015163ffffffff161115610de0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f53797374656d436f6e6669673a206d696e206261736520666565206d7573742060448201527f6265206c657373207468616e206d61782062617365000000000000000000000060648201526084016106ee565b6001816040015160ff1611610e77576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a2064656e6f6d696e61746f72206d757374206260448201527f65206c6172676572207468616e2031000000000000000000000000000000000060648201526084016106ee565b6068546080820151825167ffffffffffffffff90921691610e9891906117ae565b63ffffffff161115610f06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f53797374656d436f6e6669673a20676173206c696d697420746f6f206c6f770060448201526064016106ee565b6000816020015160ff1611610f9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f53797374656d436f6e6669673a20656c6173746963697479206d756c7469706c60448201527f6965722063616e6e6f742062652030000000000000000000000000000000000060648201526084016106ee565b8051602082015163ffffffff82169160ff90911690610fbd9082906117cd565b610fc791906117f0565b63ffffffff161461105a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f53797374656d436f6e6669673a20707265636973696f6e206c6f73732077697460448201527f6820746172676574207265736f75726365206c696d697400000000000000000060648201526084016106ee565b805160698054602084015160408501516060860151608087015160a09097015163ffffffff9687167fffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000009095169490941764010000000060ff94851602177fffffffffffffffffffffffffffffffffffffffffffff0000000000ffffffffff166501000000000093909216929092027fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff1617660100000000000091851691909102177fffff0000000000000000000000000000000000000000ffffffffffffffffffff166a010000000000000000000093909416929092027fffff00000000000000000000000000000000ffffffffffffffffffffffffffff16929092176e0100000000000000000000000000006fffffffffffffffffffffffffffffffff90921691909102179055565b600054610100900460ff1661123b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106ee565b6105ca600054610100900460ff166112d5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016106ee565b6105ca33610cb9565b803573ffffffffffffffffffffffffffffffffffffffff8116811461130257600080fd5b919050565b60006020828403121561131957600080fd5b611322826112de565b9392505050565b60005b8381101561134457818101518382015260200161132c565b83811115611353576000848401525b50505050565b60008151808452611371816020860160208601611329565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006113226020830184611359565b600080604083850312156113c957600080fd5b50508035926020909101359150565b803567ffffffffffffffff8116811461130257600080fd5b60006020828403121561140257600080fd5b611322826113d8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b803563ffffffff8116811461130257600080fd5b803560ff8116811461130257600080fd5b80356fffffffffffffffffffffffffffffffff8116811461130257600080fd5b600060c0828403121561149157600080fd5b60405160c0810181811067ffffffffffffffff821117156114db577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040529050806114ea8361143a565b81526114f86020840161144e565b60208201526115096040840161144e565b604082015261151a6060840161143a565b606082015261152b6080840161143a565b608082015261153c60a0840161145f565b60a08201525092915050565b600060c0828403121561155a57600080fd5b611322838361147f565b60006020828403121561157657600080fd5b5035919050565b6000806000806000806000610180888a03121561159957600080fd5b6115a2886112de565b96506020880135955060408801359450606088013593506115c5608089016113d8565b92506115d360a089016112de565b91506115e28960c08a0161147f565b905092959891949750929550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516808303821115611642576116426115f0565b01949350505050565b6000845161165d818460208901611329565b80830190507f2e000000000000000000000000000000000000000000000000000000000000008082528551611699816001850160208a01611329565b600192019182015283516116b4816002840160208801611329565b0160020195945050505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036116f2576116f26115f0565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600082611737576117376116f9565b500490565b60008282101561174e5761174e6115f0565b500390565b600082611762576117626116f9565b500690565b6000821982111561177a5761177a6115f0565b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600063ffffffff808316818516808303821115611642576116426115f0565b600063ffffffff808416806117e4576117e46116f9565b92169190910492915050565b600063ffffffff80831681851681830481118215151615611813576118136115f0565b0294935050505056fea164736f6c634300080f000a0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005821031a88f3936348d602f3078126bdcd162c575cb17fb9bbfe2dab00b167bd295c3054e3e57f917e788f3921528caabf76eeaf781d3326005821036501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943540430a6fe000582103fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143080581effffffffffffffffffffffffffffffff000f42403b9aca00080a01312d0003ec05580f1cc9a792d71767b89c38b69bab118f47b0e93f9e86a47b4383a639a700582103787eeb91fe3101235e4a76063c7023ecb40f923f97916639c598592fa30d6ae054889e21d7ba3d6dd62e75d4980a4ad1349c61599d005821032153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c2209775304401c9c3800219079c05581d020138a5110c9fca290581fd0c83ab7e3a7099bdce814456008172d40507011918290219089803b39d755fa03965c9aef0e582a253d63fd5c36825a1b663c101c1e91fb15f02d805581e030e4e88c926efeb6512a782ac7165d47f06f2e874b92f89e308516430200402021956ec032d3a14e6ab0998421891c914ef7cd6b6643528f4262544bb50c4200919cc80210355f2cb8af16b8adc024ae2cf22f6a39bc218a361855669490fa01338338979aa03699829e6f398d446552fdb02b098f050a80fa50277e469622610a5b685407fe00331786bed0b999c160b44ebbfb93f56c49c4cea43469235ac54d678b83dd5d06803de495439c9895826a47750ff76dff503ea9d135bd0ff966321de1010ebbcb2a0036aa7e0eb988dcb45f5a838b741646844ef9f722097fb94bc8c2db2ae90e47120030c51891e1fb4418d82861f01cfeeb360e04d8ff69bf0709ca029ba244177f8bf0333a72d28bb35f93f5362d11555f56aa2342a5694591efa4d259c557d4d33619603eedd27f65b4c84e5e57090d06967670bc655efde6e4ee563470c8112becb37a8035e1fab95a2ac1b3758a0fe1ed302a772c02d4895935d859429a666c1c32d70ec0219ffff0367fe1eda0ef4a949862733b602ad546e1b112729e0df7c12856f776f5dc216390333f0866698e5da7ee8a37bb8e1eb41447a47598893ffb566c726411a16830c6e03828b9ca5b23ca431401e49b02a5a22cb522ab3ed77f5d58adbdbea1e371c4f1803135c9dbb3a33231faa856d5927ef8164b5f4c09a97ca90a3307c859d8894c5ce0219ffff0378819d69d1c6c259a7b5ff664924a6d5355293b49d77fa533815bc7c6b19189b031565c63754f9403e7d58b0fab9833ba04801d0efdd2d842a7c5ccc7a99e244ce03bca8856810289184debcf27307d4f4e9e81ea85a625cc6bafb2e248c2e57b1880373dcbb1bbcc2f1c38f88021ecd4bbbc836cf95c4e537f2042c424c721236825003929d781c8be017704a14b75e9ffc0b9f7111046fed6213f91c0e033205f55c3d03967547b4e929675d997c5675f7bd05dee323ef89c2ed4142da7ba80c33f97e5003f8f92dded12a27addab5b62c9a10b733e2682dd11682f0fee5b87201569ec82703990d1154441df100c8fca57b6294c8a9835267112fc0cb7d89303a4f788b1523034add43985167fa1051b8bf34b7f3b58c55f227b0ba2e8b6f2358d4c8ed89ad9d038fd07b414bd9a6581e97558b6dc45fe4871be6293a294452e3e20314e447e0df03ead9158293552e10af7ac7ce276b30301b4833c41b7cb96a94c3e66e42419cb20219ffff03a0e2572284367fb2c3424de4b1f77b14baa638503754665f7f139993f70d295e0343d780b5da0e4d757fb7b4058afa8c314fba183e784caf9576dbaa584287ed9b038be755aaffba6bf16339fbbf158aa8371ffe7375f362d8433877da6325852c7b0219ffff03517a8788fdf900f9518ee86c63ab54961a17203b46106b50c7cc8d156da1f2bf03ef2025faf749a287c8bb7934220d99bdb9a21bf9996705ac924987b6cbef53f403c25d3cde375315dc7d546214b08a19757d79441a7a46a52e35e962f7f54533a903eb8b667b63873501251c495e8b24631e21a6f2ec6e86cf526363c720f4748d4703d80a2f82fdced331e7fb1616f92f093cb315647f7223d92150062885d95fc11903c625d83677e44df3ae256f030910e44042a96ca2d68cbe9b1029e645a446344b03a89ff787f5e6948a76a4a0d25d4324bbbf67d0801c8c5cbae64e4e8f8c41b9e703d11679bd19b6ac9fc3e8f35bfb8d50b8f48ddee44c93bbecfbc4d664eee7dc2f039c1349a36a45d756edaad38248c182bb8397118ce8a7de0b5ed3bd9c54db1349035e87981201a1307ceee9ab6741041aa309576be31a9223e4fc1be464180e22d4038de02247ab585c90a3afef359bf9eff94c894fdc6486ddbbf0fb3b1998d7bb440329840306bb86c6a64fdbde25814b985269c436fb3b0a969bf241b1024eba8c7503286484e6abfb631fa986e4b7753ecbbff8297c8f9b53672e9accb6ba5a90a84a03682d90283c9cdca924aa99d81624a45b2763d2891222deeed7500a6f1773bc7103ba9396e21c31ebe7f104b07f2206fac1a28daa0ea0aede37405f83ba2bcbe3ed035e86a4d0a08217ef88540176c0d7d54a2dc6aa7971da285689048d6082ee3996031fef14c09424938608d971406c3a6a0379db2ffddc9e91d16dc6c130665fc4f304592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203e79d39d5724dde67dac64016ec8bed5ecdba44bf3a19889c087c65392eea01ad03ba5397b7d520f02c24ede04bb52062da5bb3375e0e3e2f8ff618069d1cadfd5403b30cd6cf352d8d64d70cb46f5614fad38945c07433510978e1053453f591201203e4063f09115d1c76cb15a2702e75099ed56c08c4346db0aca1ddd2868f523c320317eb2b08704e39185a15b27c4783917a4eaa51d7f4c0738f80e66d136ec23b8700582103b7f20d80f463411a8abd2ffc8dcbb0924b9589ee04da2c9d242a76e1e8200870410100582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05401ddbfcd2950b6cf30ba4d683d88bda44dff385400582003d29274fd532de128aa3934e79e59973230804449d6fb6abe0c736e1a94f1f047022c34d803493002184201410e03d10a366b0951384079e7efe6ed01fbf7ed1dc82c1c7371e028458544f719e984005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002f69e905324b4819bcb414b00cb9a924ad0198e656a9d2240ce21a5043c165046d7a1a6ee29650218c003a427af3caefd7e5a5da11e3d343988d2e568390cc0859fa789aee270c2448f9d00582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820229a2e2db56d38ec95aad50f4386da46cb3f31f1c1ff4bd2d39ff993f31429c7005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85040728260210b214bbc7bd2ae404c516400582002abe0af27a1a9d3d887c8a3cd6f40ea873feae1218aab1d6146e1a7c157aaba410a0219014400582002d5dcba3d2d0d251c6aa3e6ea5653abc5c481f983dd5790c239b1354fe7eb744101005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219808003a21ab886c830f54b25074cb38077f9f713fafc5c11d3a1ff19151b57ae31af8c005820039003855c6a27d80630501a346248059cb4561e098b83deed981de48d2f16704102005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058206687d8d700000000004c78e6d3895f86c2570000000000000063ce099aa409ad021980020058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f545a3e6a77ba2f983ec0d371ea3b475f8bc0811ad5005820023e610bfff771c3606aae4d5272aef0f6af4cfa3461931a491d466a5cb92ec441010058200287bf3d9d29ee0a8ead3b57c4290a11d12351a08c181d722c88fc227f6b668b4101021930480219fcff05581d028794ba15c4844f9ec07fc828e0db8d9056cb0b8f7bad6a4b665d9da30701192c1d05581d024749e78c7c7e8889b0d31a15fc0bad3d7c28c17ba416bca6362b81180c164843cc8ce325376e0005581d02a4bccc4dc5992b5f9edfac9a0acc8789a62c1aaaf0a0ce2fa5e18c0708471ec17da9cd7da802190902031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03d8e28975ad018468b11b9c430e39e82d251b4d52b32700d1e124535cc007011bffffffffffffffff05581e0352cb6d430449d3b39723fc31a20e0de19f749ac7f45a6a144628979980040205581e03c3209d933d3d6e76e8231585f85517e92caf40dc597f4807ca4ce097300c024713f3b30c1ae22305581e0302ab1aae2b8d708987118d8f61c4ba45dfc500512593b2ac6d7f8012d00c034709c0e1eb020d9605581e03e6b7dc5c82f3fe0ccb6af8678701da26583125a9279dec2a7e27f3fdd00c01471bbd21fd7d6084037c9a20750eb02dd49be0a9ea17221978736eeb1b382299d6b1332179290f02d3021983e8037b607ddab642486e84cf12fc6fe4dd0c924ccbf319edf82de5232c040d583bba031e30c996bbb765ab966c59bbf519d42118c254326e7b3a856bcc82701bef2f9703617879f8960e8b32d50c6809cf95a7649011572b4b91583f34ccb9d17546e73803e3dcded89e356a3fbd306be12fed16613b1eea7f39417e7733d18098fd06761e03cee9549529f0810dbf2f7614ba1343f42fd64e4813399c27db4a60c18f76dd6003c5f5000bc1b9ac050cb4c4373c60a43dc140a077dd5e63e9b0020b29e03fbda703c1579d27c638cdb4d0b1f79820100a38e9fd87f683b7a5f027dd0c9d3fcf132f0341694f51170ee285ef475a0627b2de93b6f5cece611d2101697629ae4a28df42039211f08edefa008f72593b1c70d189542c6a840f7dc4b44059285a82fa20f6a503aaa104c0020d17484498cf301cad020f456f1a4556334a208091b8b3909b29f603ef024491d4ff7590ffca7215cad6812d315a53e9263a3a725ff9a70e67d7cdf303c2bb16f821b5e8eeccd923977b705781d2c8f85b239e7ab48e304d0c3ed76e29039271216abdd1374d60c8d037909f7ab809dc215ca84b7f9241a29b26a3b45ed40219ffff03e7447c2e94b6113c9331146c5f1d745ec6670e551ab54fc80ad78f60cda7330b035cebd62761b086d4e6ea978972523de1c3b4dd8cdc0bb4135205b41f9b1d718103a43838b7566df827c592e8e4a42441a2451cabaa21b0945cf65905b915b65cf4032bb78b063f7e7b2a1462bdb45b97e51bc5706817103578c4f9aad41e1e91828f03396a417e76b7b27594dd0dad3ee120d9199d9b463f2dcb702952467bec2d261f0219ffff0337b291469ea601e0a8ef664a35601c34bd1bfd19acf1d7c725ec322e50791d8e038f5aff19030ebc6141e41f8e8750ed4b56edca6457bb1502bacb5f93c5ca21fb03a0f278410235ba1bec8ebfe8b9d7d2322be1af7668e8202c7e6afa0b38e8ed0e035a60dcf83f8f07c440483489113f52e3cee89ade8f0487d819bac409913eaf6d033cee09aa46fbc7b81814ac246fca8d5f11f6cef83a7969ee35ca13e8e05edbf0039719340e9ff07c7b43f6562b0b192ade22f14d487bd1ce4d732e0eb20f53e88003d14fcf7f4ce272b7ad1f0692764bb70987aa26aeca81cc1c5e06c9f99cb46f4403b3cc94e50f749c2ee7bc9049fccbef6a44ddaafb1049b7eb85136828fc44f42c035f5b0a5dd45b54d70d1e46243205b7bc43287ca544392abd5834d94d91a043bc03d38caeb1178ccdacba540ae5fa404cb45e9c8c4b4747ed0113993ae402186815032fedfb3bfd775f8409f75659972e5c7a1be73422bbba15efc2b60451a091c5f20219ffff03d4a031f9d49cf82296970e9a109bf87aa0b13da07a06c0d057ccafa36c0429f1037b5b544e94bc472509a1c697b5505cafd837218271379ed40e9c694f3b5db5a7037d9ab73680d51747626d5e2fff0ba2834839da76b657ba2a54a2308635b0927f03c69392e7a7d04b996b588f7f7b3618f7d3715b82de5269eccc46b65277062a9903cbed8d782306665ff4a8aefa87c35fa614fbe78932ebad8586f4703a42d2b04a03aab955c0af7db06d4835d923da1fd0eb4b0ea0f124cccdaf18ef0c9cad79c5ce031a2056702249e22f28f1edd86c86d4f8cc47e165e467b0172f7281ee69aa411b03f6171f4c691285ceb4f9d5229884e87b4246b3ecb14df4e2931ffb67280f04ae0351adb6f5c327b1d778725aae37e9c171bb1554ccc39a3275f55a0986d8fd9e9e032c7ec590a778e73b7c3af4c7b2043122e54f1c9b0bcf01b0e3f3f6619698ba8b038663bcee6dc167406cdfb034babf2b27bba612d4ea263c2ad1dcd058c314e0430316374a428a4ed95df5d10d2ad82f5494306e826cfccac4c1796c39e47ddb506d037ee98253ebdf98b1bdf8083e0b5688433b615dabcd8e1b3a2772323d9fe9df3303b17a9195fb7b86f2cc005796da44e41f3f3e06cb925fdc47d18d7811d02929eb03970f24c97fece18b2afff12849a85fdd5f9e81f69f29981b88896b07b057512d05581e033cd31a1c2bffec9c38d5dccd27a00dec091b527a7583cdc1aeafa6a2700c01471c16363d2084e405581e03dfabf86fd37609b68f438230f0a9b6d17a009f01073fa580160650ec200847d26627e659190805581e0312348d583a1d0d656c30e94abfb11c96a8ff6d82662ac750843fd53a300c02466048d952e400034ae53e1b4cdcb25cd48274a944fa943d3c9ada9eb3c602dbbf1996799eae10c405581e0375461c5fa6e708757dc4ce74c099023aa095afc0ae5a0ecfdad83a804004090399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908030ad7a648c25b0186997556dd8fe56bfb87f4c8821a5802ac3b85acb64a71388305581d026c94c7eb182c8a248fe0225603a083fc0f42db7847a810af6a579e6f07011bffffffffffffffff05581d039bf627a9d3bb59629fb0558fdb479462ee5ee723a7b819f0233d8a500c02470d9a6160a3663b04592bfa60806040526004361061003f5760003560e01c80635bb5d44814610044578063899cc31714610059578063ce8a97a514610079578063decb09d71461008c575b600080fd5b6100576100523660046124c7565b6100ac565b005b34801561006557600080fd5b50610057610074366004612573565b6102a5565b6100576100873660046125f9565b6104f7565b34801561009857600080fd5b506100576100a7366004612648565b6106ea565b3360006100b934476126b0565b9050858061010001516100f8576040517f50dc905c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8680610120015115610136576040517f50dc905c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8761014c8160a001516001600160a01b03161590565b15610183576040517f1e4ec46b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c001516000036101c1576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa65bb2f450488ab0858c00edc14abc5297769bf42adb48cfb77752890e8b697b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0161023c576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018155895160c08b015161025491908b8b33610845565b60c08b01526102638a88610980565b60009081905547935091505082821161027d576000610287565b61028783836126b0565b9050801561029b5761029b60008583610c94565b5050505050505050565b6102ad610cbd565b7f3054da8d868a64d042338c7baf39c5a0a735f3268ce50536bb45aeaa077c8ca4547f3054da8d868a64d042338c7baf39c5a0a735f3268ce50536bb45aeaa077c8ca39074010000000000000000000000000000000000000000900460ff1615610343576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8381101561046a576000858583818110610362576103626126c3565b905060400201602001602081019061037a91906126f2565b6001600160a01b0316036103ba576040517f35be3ac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8484828181106103cc576103cc6126c3565b90506040020160200160208101906103e491906126f2565b8260008787858181106103f9576103f96126c3565b61040f92602060409092020190810191506126f2565b6001600160a01b039081168252602082019290925260400160002080547fffffffffffffffffffffffff00000000000000000000000000000000000000001692909116919091179055806104628161270f565b915050610346565b506001810180547fffffffffffffffffffffff000000000000000000000000000000000000000000166001600160a01b03841617740100000000000000000000000000000000000000001790556040517fd192688003c02a257d1ee3ef083c31f3ba31e400ad8655bf4257081255c91568906104e99086908690612747565b60405180910390a150505050565b33600061050434476126b0565b90508380610100015115610544576040517f50dc905c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8480610120015115610582576040517f50dc905c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b856105988160a001516001600160a01b03161590565b156105cf576040517f1e4ec46b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060c0015160000361060d576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa65bb2f450488ab0858c00edc14abc5297769bf42adb48cfb77752890e8b697b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610688576040517f29f745a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018155608088015160c08901516106a09190610d25565b6106aa8888610980565b6000908190554793509150508282116106c45760006106ce565b6106ce83836126b0565b905080156106e2576106e260008583610c94565b505050505050565b6106f2610cbd565b7f3054da8d868a64d042338c7baf39c5a0a735f3268ce50536bb45aeaa077c8ca4547f3054da8d868a64d042338c7baf39c5a0a735f3268ce50536bb45aeaa077c8ca39074010000000000000000000000000000000000000000900460ff16610787576040517f87138d5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166107c7576040517f35be3ac800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038381166000818152602084815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169487169485179055905192835290917f8ba151f3405c32cff2d4c159409e00b97b0b46fbcbe59438e7f62c1283f80638910160405180910390a2505050565b600082808203610881576040517f0503c3ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600085856108906001856126b0565b81811061089f5761089f6126c3565b90506020028101906108b191906127ad565b6108c29060808101906060016126f2565b905060006108cf82610e81565b90506001600160a01b0382166108ec576108e934826126b0565b90505b60006108f88888610f20565b9050610904888861101f565b6109118a89898985611080565b60008261091d85610e81565b61092791906126b0565b905089811015610972576040517f275c273c000000000000000000000000000000000000000000000000000000008152600481018b9052602481018290526044015b60405180910390fd5b9a9950505050505050505050565b60808201516001600160a01b0390811660009081527f3054da8d868a64d042338c7baf39c5a0a735f3268ce50536bb45aeaa077c8ca3602081905260408220549092169081156109d057816109df565b60018301546001600160a01b03165b90506109f685608001516001600160a01b03161590565b15610ab55760c085015160a08601516001600160a01b03831691639a2ac6d591610a266040890160208a016127eb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526001600160a01b03909216600483015263ffffffff16602482015260606044820152600060648201526084016000604051808303818588803b158015610a9757600080fd5b505af1158015610aab573d6000803e3d6000fd5b5050505050610c56565b610ac88560800151828760c001516113fe565b610ad86060850160408601612811565b15610b755760a085015160c08601516040517fffaad6a50000000000000000000000000000000000000000000000000000000081526001600160a01b0384169263ffaad6a592610b3e926004016001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015610b5857600080fd5b505af1158015610b6c573d6000803e3d6000fd5b50505050610c56565b60808501516001600160a01b0382169063838b252090610b9860208801886126f2565b60a089015160c08a0151610bb260408b0160208c016127eb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0395861660048201529385166024850152939091166044830152606482015263ffffffff91909116608482015260c060a4820152600060c482015260e401600060405180830381600087803b158015610c3d57600080fd5b505af1158015610c51573d6000803e3d6000fd5b505050505b7fcba69f43792f9f399347222505213b55af8e0b0b54b893085c2e27ecbe1644f185604051610c85919061287e565b60405180910390a15050505050565b6001600160a01b03831615610cb357610cae838383611522565b505050565b610cae8282611637565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c600401546001600160a01b03163314610d23576040517f277d76f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6001600160a01b038216610d715780341015610d6d576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b80600003610dab576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523360048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2f919061294c565b905081811015610e75576040517fcf4791810000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610969565b610cae83333085611747565b60006001600160a01b03821615610f18576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f13919061294c565b610f1a565b475b92915050565b60608160008167ffffffffffffffff811115610f3e57610f3e61225e565b604051908082528060200260200182016040528015610f67578160200160208202803683370190505b5090506000805b8381101561101457868682818110610f8857610f886126c3565b9050602002810190610f9a91906127ad565b610fab9060808101906060016126f2565b9150610fb682610e81565b838281518110610fc857610fc86126c3565b60209081029190910101526001600160a01b03821661100c5734838281518110610ff457610ff46126c3565b6020026020010181815161100891906126b0565b9052505b600101610f6e565b509095945050505050565b60005b81811015610cae57600083838381811061103e5761103e6126c3565b905060200281019061105091906127ad565b61105990612965565b90508060c00151156110775761107781604001518260800151610d25565b50600101611022565b838383838260018114611319576000858561109c6001856126b0565b8181106110ab576110ab6126c3565b90506020028101906110bd91906127ad565b6110ce9060808101906060016126f2565b9050600089815b8181101561125f57368d8d838181106110f0576110f06126c3565b905060200281019061110291906127ad565b905061112461111760608301604084016126f2565b6001600160a01b03161590565b8061117a575061117a61113d60408301602084016126f2565b6001600160a01b031660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1e602052604090205460ff1690565b8015611191575061119161113d60208301836126f2565b801561121657506112166111a860a0830183612a0a565b6111b791600491600091612a76565b6111c091612aa0565b7fffffffff000000000000000000000000000000000000000000000000000000001660009081527f7a8ac5d3b7183f220a0602439da45ea337311d699902d1ed11a3725a714e7f1f602052604090205460ff1690565b61124c576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112568f82611925565b506001016110d5565b505060005b61126f6001856126b0565b81101561131157600088888381811061128a5761128a6126c3565b905060200281019061129c91906127ad565b6112ad9060808101906060016126f2565b9050836001600160a01b0316816001600160a01b031614611308578582815181106112da576112da6126c3565b60200260200101516112eb82610e81565b6112f591906126b0565b9250821561130857611308818885610c94565b50600101611264565b5050506113f2565b8760005b818110156113ef57368b8b83818110611338576113386126c3565b905060200281019061134a91906127ad565b905061135f61111760608301604084016126f2565b80611378575061137861113d60408301602084016126f2565b801561138f575061138f61113d60208301836126f2565b80156113a657506113a66111a860a0830183612a0a565b6113dc576040517f9453980400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113e68d82611925565b5060010161131d565b50505b50505050505050505050565b6001600160a01b03831661141157505050565b6001600160a01b038216611451576040517f63ba9bff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa1580156114ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114de919061294c565b90508181101561151c5761151c8484611517847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6126b0565b611c21565b50505050565b6001600160a01b038316611562576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156115c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115e6919061294c565b90508082111561162c576040517fcf4791810000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610969565b61151c848484611d65565b6001600160a01b038216611677576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b478111156116ba576040517fcf47918100000000000000000000000000000000000000000000000000000000815260048101829052476024820152604401610969565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611707576040519150601f19603f3d011682016040523d82523d6000602084013e61170c565b606091505b5050905080610cae576040517f5a04673700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038416611787576040517fd1bebf0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382166117c7576040517f21f7434500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b03838116600483015285916000918316906370a0823190602401602060405180830381865afa15801561182b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184f919061294c565b905061185d82868686611dae565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038581166004830152849183918516906370a0823190602401602060405180830381865afa1580156118c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e4919061294c565b6118ee91906126b0565b146106e2576040517f2c5211c600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61193b61193560208301836126f2565b3b151590565b611971576040517f6eefed2000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b608081013560008190036119b1576040517fe46e079c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119c661111760608501604086016126f2565b6119d15760006119d7565b82608001355b905060006119f36119ee60608601604087016126f2565b610e81565b90506000611a0a6119ee60808701606088016126f2565b905082600003611a4157611a41611a2760608701604088016126f2565b611a3760408801602089016126f2565b87608001356113fe565b8460800135821015611a8c576040517fcf4791810000000000000000000000000000000000000000000000000000000081526080860135600482015260248101839052604401610969565b600080611a9c60208801886126f2565b6001600160a01b031685611ab360a08a018a612a0a565b604051611ac1929190612ae8565b60006040518083038185875af1925050503d8060008114611afe576040519150601f19603f3d011682016040523d82523d6000602084013e611b03565b606091505b509150915081611b4e576000611b1882611dff565b9050806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109699190612af8565b6000611b636119ee60808a0160608b016126f2565b90507f7bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b3889611b9460208b018b6126f2565b611ba460608c0160408d016126f2565b611bb460808d0160608e016126f2565b8c60800135898711611bc65786611bd0565b611bd08a886126b0565b604080519687526001600160a01b0395861660208801529385169386019390935292166060840152608083019190915260a08201524260c082015260e00160405180910390a1505050505050505050565b6040517fdd62ed3e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015611c8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611caf919061294c565b611cb99190612b0b565b6040516001600160a01b03851660248201526044810182905290915061151c9085907f095ea7b300000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152611e7d565b6040516001600160a01b038316602482015260448101829052610cae9084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401611d01565b6040516001600160a01b038085166024830152831660448201526064810182905261151c9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401611d01565b6060604482511015611e4457505060408051808201909152601d81527f5472616e73616374696f6e2072657665727465642073696c656e746c79000000602082015290565b6000611e606004808551611e5891906126b0565b859190611f7c565b905080806020019051810190611e769190612b1e565b9392505050565b6000611ed2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166120789092919063ffffffff16565b805190915015610cae5780806020019051810190611ef09190612b95565b610cae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610969565b606081611f8a81601f612b0b565b1015611fc2576040517f47aaf07a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611fcc8284612b0b565b84511015612006576040517f3b99b53d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082158015612025576040519150600082526020820160405261206f565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561205e578051835260209283019201612046565b5050858452601f01601f1916604052505b50949350505050565b6060612087848460008561208f565b949350505050565b606082471015612121576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610969565b6001600160a01b0385163b612192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610969565b600080866001600160a01b031685876040516121ae9190612bb2565b60006040518083038185875af1925050503d80600081146121eb576040519150601f19603f3d011682016040523d82523d6000602084013e6121f0565b606091505b509150915061220082828661220b565b979650505050505050565b6060831561221a575081611e76565b82511561222a5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109699190612af8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610140810167ffffffffffffffff811182821017156122b1576122b161225e565b60405290565b60405160e0810167ffffffffffffffff811182821017156122b1576122b161225e565b604051601f8201601f1916810167ffffffffffffffff811182821017156123035761230361225e565b604052919050565b600067ffffffffffffffff8211156123255761232561225e565b50601f01601f191660200190565b600082601f83011261234457600080fd5b81356123576123528261230b565b6122da565b81815284602083860101111561236c57600080fd5b816020850160208301376000918101602001919091529392505050565b6001600160a01b038116811461239e57600080fd5b50565b80356123ac81612389565b919050565b801515811461239e57600080fd5b80356123ac816123b1565b600061014082840312156123dd57600080fd5b6123e561228d565b905081358152602082013567ffffffffffffffff8082111561240657600080fd5b61241285838601612333565b6020840152604084013591508082111561242b57600080fd5b5061243884828501612333565b60408301525061244a606083016123a1565b606082015261245b608083016123a1565b608082015261246c60a083016123a1565b60a082015260c082013560c082015260e082013560e08201526101006124938184016123bf565b908201526101206124a58382016123bf565b9082015292915050565b6000606082840312156124c157600080fd5b50919050565b60008060008060a085870312156124dd57600080fd5b843567ffffffffffffffff808211156124f557600080fd5b612501888389016123ca565b9550602087013591508082111561251757600080fd5b818701915087601f83011261252b57600080fd5b81358181111561253a57600080fd5b8860208260051b850101111561254f57600080fd5b60208301955080945050505061256886604087016124af565b905092959194509250565b60008060006040848603121561258857600080fd5b833567ffffffffffffffff808211156125a057600080fd5b818601915086601f8301126125b457600080fd5b8135818111156125c357600080fd5b8760208260061b85010111156125d857600080fd5b602092830195509350508401356125ee81612389565b809150509250925092565b6000806080838503121561260c57600080fd5b823567ffffffffffffffff81111561262357600080fd5b61262f858286016123ca565b92505061263f84602085016124af565b90509250929050565b6000806040838503121561265b57600080fd5b823561266681612389565b9150602083013561267681612389565b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610f1a57610f1a612681565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561270457600080fd5b8135611e7681612389565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361274057612740612681565b5060010190565b6020808252818101839052600090604080840186845b878110156127a057813561277081612389565b6001600160a01b039081168452828601359061278b82612389565b1683860152918301919083019060010161275d565b5090979650505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff218336030181126127e157600080fd5b9190910192915050565b6000602082840312156127fd57600080fd5b813563ffffffff81168114611e7657600080fd5b60006020828403121561282357600080fd5b8135611e76816123b1565b60005b83811015612849578181015183820152602001612831565b50506000910152565b6000815180845261286a81602086016020860161282e565b601f01601f19169290920160200192915050565b6020815281516020820152600060208301516101408060408501526128a7610160850183612852565b91506040850151601f198584030160608601526128c48382612852565b92505060608501516128e160808601826001600160a01b03169052565b5060808501516001600160a01b03811660a08601525060a08501516001600160a01b03811660c08601525060c085015160e085015260e085015161010081818701528087015191505061012061293a8187018315159052565b90950151151593019290925250919050565b60006020828403121561295e57600080fd5b5051919050565b600060e0823603121561297757600080fd5b61297f6122b7565b612988836123a1565b8152612996602084016123a1565b60208201526129a7604084016123a1565b60408201526129b8606084016123a1565b60608201526080830135608082015260a083013567ffffffffffffffff8111156129e157600080fd5b6129ed36828601612333565b60a0830152506129ff60c084016123bf565b60c082015292915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612a3f57600080fd5b83018035915067ffffffffffffffff821115612a5a57600080fd5b602001915036819003821315612a6f57600080fd5b9250929050565b60008085851115612a8657600080fd5b83861115612a9357600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612ae05780818660040360031b1b83161692505b505092915050565b8183823760009101908152919050565b602081526000611e766020830184612852565b80820180821115610f1a57610f1a612681565b600060208284031215612b3057600080fd5b815167ffffffffffffffff811115612b4757600080fd5b8201601f81018413612b5857600080fd5b8051612b666123528261230b565b818152856020838501011115612b7b57600080fd5b612b8c82602083016020860161282e565b95945050505050565b600060208284031215612ba757600080fd5b8151611e76816123b1565b600082516127e181846020870161282e56fea2646970667358221220d072ffb9670ba588f40e8cb428e3115ca32719d43b25729a75fa2b3478aec68c64736f6c634300081100330605581d0355385f22287dd5ff773ac43b4f0784f99588bed6a6dfdb16cb34ab300701192bfa021860021902080399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908037e057c81e0df8762feb922c8dd8b584f13b325322d1b48499f1823afeb8c47f205581e03dd8f9e0dd71d0eabd8dca7858d3111533ee8e76b8a2f117a84c0929c6007011bffffffffffffffff05581e033ef92da3f719805d7fc19aae0e5c505a839c597c6addd8ba1a6e67f7500c0446e2f03b834ca80219f2a203614298f2a6571e9a9649d245fda9399c38fab56e1943d0dd1c784df76b7466e403425dcd0dd25e48772cbc6443b006270c859bf56de147b5d5bc1a03ca3a58c9fc038fda55ed6ade8fe167c6b6a98bb3f1b4d515727e5237bef7e58d263508dd263f03f305b65e019f13312078aca02da0f3eaae09c9f47ce0e150fba04c5c7cf8722a0359f7f323c2c8f62eb2837f59cfd3162aabbd3060b1d2cba40199385853b9874703ed174b4d0fbe126bd00024fae02140aeafddf7aa555d6fc4a05ac026782f634503b4250c096b17a40cf7fe318b634ae909c6cb63cbde40b7eb5e5113a91054a8490343e88ef332cf4c24d4248b1fffae392f69985b10caca9a55aa77beefee5dcd1c0328eee37791ad030766c5a11bacee6c4a9beff221e34393e454e923ae0a4de5730385e707fb6f47e93cfa6d11b7386f0deda8d935cf4130138146b02cb5204134be039f5c9633704567f372bbfa1c38c88cb330f5d4580971ce146e403bd2dcbd14060316477900665b32feba0daae0295a5bfdc739fe2f848b2adda1b91eddc7c8726203bc2d13e982f3ef39cabeaa22ca3203fe519f29e9b66d8309b4c2f51126b3da5303e9840430d6ea4179ad91311edfeec4add1363df38de7058af25374b32a14f7dd0219ffff0328bd01a0470e78148b3450d43ea1b705d233f644a5cdf7c1e0a2aa5cbbb3ed4303cb35ee6c1add1237f4f3beeb0fe3094035912f799e2b272361abe04e592a5097034f6a0125f0c1ca25db04da140a3f676851047c0675f4eeb72949c0079de2b0630365afb6b5a48d81a0cccd6ed1e3b53489faa02feb72b484154f318509a8e5bade038b6c79d743a8a4efc59443f518cc58cdb90bf7b2d34a7c95130d8dc1f59c9c740219ffff03ffaeba7df731981e1939dd5aa31ff0682214f14e3f1157ef22c76574acaf6ca7031b26691b0d634945f344582826f0196493a756cfb2965618a8a165998cf4e48403f6a5e57f67da3177a97bc5093967bf81fe444edc2cb55964dbecdec103d59cff0362919dc3b0041564757cf61a65dc363f7a2bf5ebf71c8cce8fccd0b47f2edc4b0353ddffbff0f2c7c69c0187ecd0816aed1464f48bc14be677565c1646692c38350376dc6c1058f558e5b7795ed5d0b1a56e2d284f04f4f8afc3fc833df7614f21c1030dafdbefd260251a71f90713313f2b088fed052646a3c19a85a94ed301683bca036bc823a98aff99ed4323207a992c5defe47607b7afcb4bee6009d8d1573bdde603c90a15829651594d081cd58bce508a32a80776c5c0746c8e5ee3b0bf70dd50bf03eeee4b21354ed11bcc1a526b270c0a9d66df63a01b6cd800d5e9fcf19938f201033aae8cd7dc4d1fbda5b48e48af74d49fce866c1aabc1e2a8c56f79d39c468b2903cdc0fbc27fd9d6f3e6db945c735998dcddb2e4a2c3fdf8737c6877ea0382812a03315ab456937df831409926a5d6b666503f1e6b65f613accdb2a3d283b9b4e67e03faefd82eebb625a1f9a44c9bf9383e4c4cb720d1ea385cf45da10a5bff3a35100364aea2803bf441f01ed7df6d8e6d7b9ab2eab12d1fcd70e658c36659fca0743703162034a08eec6655080b80fb6ba9ff9231335c0d7f6503bd9d0b62673d963cc303ae5f2a1e1c424ee1a2ac163434f7440fc231234fd74bda311709d4f2b5bc91a7036bc1a46ff12b6a0bb312a9b6d88a7184e59e168e8fb683aff8ebd4f5d855c7e903df39a96936eff7a697d298a56182dd2ab91bda6013a06a265558035efc6336c603b79c4f5fdefb109508c96b933c7d3ab3d90cebb413275ca01a1683461c02a89d0312b09a0c1baa15dc5bc4c150ebf13405bc3c144372a8ef9d20808ebd4af4488305581e03a758aedaa23035f34c07f918ac312d58ebcd7e9a845b6e0f83143925200c06467f2e2c5afa5805581e03b47317758964d67735ca94f0c635a6323a6c04d19b043e8a103ffeb9d00c014710343490d2100003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03bb7bb3cc1934ee372b76074d77055b1890ab23b1cf75195263c10b2e9007011bffffffffffffffff05581e03e5e077e0388aa9c8fde38cc9499deed1daf5f4be57607fa128230e13500c0247020377bc60813005581e0374ca1e0b7a646d856c8932b2604b20adf8a78d97805ba1e9c3083d5c300c01465c782cee4fc005581e0343aa894aa53d2492598ac9d0942f0c72bf55a59811dd70920a45c83890040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b57005821034d50c2bf7f08fe2bec01c6cdaba8deb6e3252f3740c4af0b907bac679adae4805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304807c07017e6af710e0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604807c07017e6af6d2600582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05102888a4912b2a0a1a3b05b00d850d08ac00058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58203b2265d6a0336d90553a60a33b73bfb01fa814bb5a015c8cb77ebd431a3273b1005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85006aa4353b7cb606bc087191278c92f3c02184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687daff00000000000017b45f41cf3bdecf00000000000002bf71987a9f38430058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54218436996d3de16cecf6a5d731b5d683406a0bc10218480219b45705581d02905c3955824539df3e56ceacc1cae52d41874b858b5cc3eec81c7e610701192c1d05581d0294c03c78f3e40f03ace9ee22b720dc59fd79504f93c2e7b7ca54f3cc04030219408003c59a4a9be8f759a11e78d92d62201975babd09b0fb6df9ed0f04500e8845a27a05581e0344957f61c6bfb2b268e15a0f08e6cd9f5661378c40c51a661c7b9cc1d004010330e86eceb5cbbdeea5cdbf76d7dba3f46c82f8120eefa6a5e9e01a1c75d4f84305581e034bf409bb10083cd0aaefd59e391e054142935fbc21bd0487ac71b30fc0040203e008cfd75e9fd115389471d766f7472d48b74836e07f6f75730fd3a9286844c102197ecf030ee9c5592fa3ee4e51bce6c78b74d0fd24b4efa428bd0072161faae084820c8703a81b11ffae49221db5ba6b7fbef1b85d230d9cef5ec2f4a7c8c30fd0bfa107600352f9537d5c118dddf3c2c93e267049c6a084d83aa9c9ccb3505538f36789215203aba371d9245fc53feece4b3a16b4f812060e77d551932100c4d5a31ef713f063033cdc47ed8001f87310bfefd2d47fa3e75321182a900cad885769d852885d409a0363bea7be03f06ca5ae37eae71dae29e5f60920e20c5d76a2498cf6c79e8c73040339aa832f52c36b6dd84bb2965a802d3b5a9c57025be9621b94b2fcbbb4eafbfb0333376e51a2363e41206f7dc4184c19b1b987130f83bbdbc46b2ff78969da9ab203b70b147466eb7924afbb15693684056f86d0bb595ef3a3a5cced65a3b8c3cf0b0308fedf09d3d76b925aa59a4ae9d2a3a07bcef6d4f70924c32a0c12baf007ff8a03cb988a6008a42cd57774272d7b3dda85e26675eb9768114115c73ddbe9fe7d360219ffff03c798d0837cc789a85d62fcad81cf8c798ee659dc8faf9c87578ecefa32be6c49030685a73dc0510cbdb284473581d4aa7618794c0102ba0f8276eec2eb5e901499039bd715c26d6867880067f79613a0f50076b63612ee5389778b09314e1cadbe490219ffff034abb823007a840b85c1e16ba33779745dcf10eb96d5cff3b80a3869eea0b5c0603e1ddb9ad080a0e85d5c02ff794e22f5ca990c36848c4a8d8c13ba5b4be6e0f2f03b288103097d9ce24bf7026f5152f38c48b70d001211277e0a04994f58523cad803a7f1f0f17c921e3708fc768182857acd640cac4dde86b0af73fa639dfad7749203175b09c7f87e5c218a3ea2ea2d5d26a7bca3943dde65c4fe549d40a1a61b39ee032415269d3a6510d1d8966a4b1626922ad6031e3d955a4e92cf76e35f1045c56c0219ffff03b42f2bbed9bea5e3039fce9a8db690e34ca2c376ce3605d6e1ea025d196e23fa039d38003cfba83d4f0986d50a1f53fe272d56fab59a4092ddbceb0e1749c7539f03a10503ae3c53ef796e77e8e6447681795a93233600cf442aa99853be244e9c24038b375cf12cb483e61dc694f5adedbc7ed6338a65d41624b17e8e79c17ad1f4e20390ad7b42993ea40fd892c00403496578f8747f768674672b4aa5575e95a7f41603802786cdedee5e93b94a59e8214e0b7c0bf611852b8a94690aa72ab715d2fca903f3822c0c8cd87bafeedc41b51f750e5d8cf8f711c4bb188982cf10c2a5a6cb9803c97a2b9557c0eca284d58b76a9636c6996281bc8189da13d74aa3df329a63df90379ee35d686e1fdf26ac3a88745dc2e12a188cd4ccdfb960857e9c643ad4699a603ea8a941109f3a4a74f870336062c61ccd30bf9b9b3e856e6ffbd9f1fa8959b3c03b915518579abe5cb2763ed68a8f9543f9750f50bb6550118fd25c0b4ce3ae7af039aefc240b7eb1ddf0698543ea9bb5b4c887326392d8b06126e7865d6d944397c0359682967aaaaf66c334bcf5671ea288d16adee8c997623253a888be62bd4905f03bf7cebd913392fd382e705ca52bb8238bc3e6766b48ad001691a7ef0068c2e0b03d8c1c35aa5ebe315a35b9e126e4589515e80c09a344e8e9b9ddb79f600e26b920341a03bb88ba84ed5c11cbdba741bd4e3f694bdb0823544d5d5478a27193df06d03f5b6248f955bc1434471833a320e02dc721e268c835e092826ff596d238c3b0a036ed8ca49aa2cb42de2d173f87dd9f32055170947e77e0b8e17968889f8b532e40368ec1a8d011c6a8ed076aba3498ca5a46357ae9e7d7c38605a25aee2d250c933038107e4b2a1585b597a0bb0cf48390a6edd3b45f73cd56b57776e77345c8e836d03a91f6aa7ede4f2c87be4dcdee1a3179becc09b2d9d01398f7d33edd0af77cc59035a5642e4c691ed3a480714f280cb6b76f9e7924a218b96408dab8b514f3b7a7603b855e4d48ed06366747aeda5afaf8d28b7da96428970c4b41ff7bceb69b00d0703113d477cc00a73c9de52cef7dc714b6135a271723ff337059fe6d17d4e54e608033e97bb79e8bb69c60c4277a7931e62116bf1f0c5f31ab133a4f8c865bfee6ec4031ecdc3c95fbd7a9afb62a6908a67237f55e183c6383858822d0f6b36679d958803f127d61fd885c3bba3dce5231c2be217c7212a2d99eea4abe7da5e63ca486b7c03ccacfb179b66a5fb4c94e538aac16b4e3ff68eb18c70f91efc891a5a464ed247039a5aea19b641657494624cf0d3231ef0b8233a13b0f2ca1b2d6e8523c71f626d03a361e59ebf39a25684e8c042ab7168cc9093f8d63195421e0c1eca01d8113e8803976d4e000cf15f071e2633f576c6002481862617536997349c604f2ab6118fe50355093b1d256378afd8a550247e33d4adbab8362e541b8021e43030059f55e653032bfa320422c37c6b1dafba01d42ac012e0ce758908e011398e688d44870ffa0b039cd59f8bbd855ab2de7cabe71d81ef9d8ab9d8d5001167d1410159806efaa0f105581e03ee2eefc29236c6e3b00550f183115901e0a5afe4fa13aba269d6f3f650040205581e0313e7fbc358f60336e67d2a5e6d4b5cab4fc663dcf58199838c65d621800c01470260ff6624400005581e030a9b3b4fea19a2664b1a4d915e68ad49448dd293c429fa77a73af99eb00c034702fbf9bd9c800005581e0303390de7ca5cd06d31be7bbc67ff297244343704c405535c749ae60b300c0146819f5218170f04590e586080604052610642565b61001281610036565b6308c379a060e01b6103e45260206103e852806104085250806104285260646103e4fd5b60005b81811a1561004957600101610039565b919050565b808281111561005a5750815b92915050565b8082018181101561005a5761005a7f3032000000000000000000000000000000000000000000000000000000000000610009565b8181038181111561005a5761005a7f3033000000000000000000000000000000000000000000000000000000000000610009565b8181038181131561005a5761005a7f3034000000000000000000000000000000000000000000000000000000000000610009565b808202821561005a57818382041461005a5761005a7f3035000000000000000000000000000000000000000000000000000000000000610009565b600061005a82836100fc565b6000670de0b6b3a764000061015884846100fc565b049392505050565b60006b033b2e3c9fd0803ce800000061015884846100fc565b600061005a8283610143565b6000826101b5576101b57f3036000000000000000000000000000000000000000000000000000000000000610009565b82610158600285046101cf670de0b6b3a7640000866100fc565b610060565b600082610204576102047f3232000000000000000000000000000000000000000000000000000000000000610009565b82610158600285046101cf6b033b2e3c9fd0803ce8000000866100fc565b600082610252576102527f3037000000000000000000000000000000000000000000000000000000000000610009565b82610158600285046101cf633b9aca00866100fc565b60008282045b8015610283576001919091019083900461026e565b5092915050565b6000811561004957600261029f600a84610268565b04604a8111156102d2576102d27f3038000000000000000000000000000000000000000000000000000000000000610009565b80600202600a0a8304600a8110156102ee5781600a0a60020292505b600a81106103005781600a0a60060292505b505060005b60058110156103235760028283850401049150600181019050610305565b5081818202111561036e57634190ab0061033f83838402610222565b111561036e5761036e7f3039000000000000000000000000000000000000000000000000000000000000610009565b81818202101561004957634190ab0061038982830284610222565b1115610049576100497f3039000000000000000000000000000000000000000000000000000000000000610009565b63a9059cbb60e01b600052600435600452816024526000806044600080855af1610405576104057f3133000000000000000000000000000000000000000000000000000000000000610009565b5050565b600083156104be5761041b85846101d4565b6104346103e561042d6103e8866100fc565b04826100c8565b60008113156104bb576104746b033b2e3c9fd0803ce800000061046a8961046561045e868c610160565b60046100fc565b6101d4565b026101cf84610137565b6104b76104ae6104a86104888a60026100fc565b6104a361049d886104988861028a565b610094565b8b610143565b610185565b84610094565b6002840461004e565b9350505b50505b949350505050565b600083156104be576104d88583610160565b6104ea6103e561042d6103e8876100fc565b60008113156104bb5761050c61050361045e88846100fc565b6101cf84610137565b61053861051a8860026100fc565b6104a361052686610179565b6104986105328661028a565b88610143565b90508082131561054f576104b76104ae8284610094565b505050949350505050565b60006105686103e5836100fc565b806105756103e8866100fc565b0161058086836100fc565b0495945050505050565b36600a026198cb015a820301488102838111156105ca576105ca7f3139000000000000000000000000000000000000000000000000000000000000610009565b483a03919091029060ff9084036101243560f81c020480821115610611576106117f3230000000000000000000000000000000000000000000000000000000000000610009565b81900361061e814761004e565b905060016101243516811519161561063c5760008060008084415af1505b50505050565b5a60003560e01c6370aa0dfe811415610a2f57426101043514610688576106887f3131000000000000000000000000000000000000000000000000000000000000610009565b630dfe168160e01b6000526020600060046000806004355af16106ce576106ce7f3134000000000000000000000000000000000000000000000000000000000000610009565b60203d146106ff576106ff7f3137000000000000000000000000000000000000000000000000000000000000610009565b60243560005114630902f1ac60e01b6000526040600060046000806004355af161074c5761074c7f3135000000000000000000000000000000000000000000000000000000000000610009565b60603d1461077d5761077d7f3137000000000000000000000000000000000000000000000000000000000000610009565b60008082600181146107945780156107a3576107ae565b600051925060205191506107ae565b600051915060205192505b506107c860c4356107c18160a435610160565b8385610409565b6107d46084358261004e565b90506370a0823160e01b600052306004526020600060246000806024355af1610820576108207f3132000000000000000000000000000000000000000000000000000000000000610009565b60203d14610851576108517f3137000000000000000000000000000000000000000000000000000000000000610009565b61085d8160005161004e565b9050606435811015610892576108927f3231000000000000000000000000000000000000000000000000000000000000610009565b61089d82848361055a565b6108a782826101d4565b6108b760c4356104a38184610094565b90506108ce6108c68283610143565b60a435610143565b90508281101561091c5780925060643583101561090e5761090e7f3231000000000000000000000000000000000000000000000000000000000000610009565b61091984868561055a565b91505b50610929826024356103b8565b7f022c0d9f00000000000000000000000000000000000000000000000000000000600052846001811461096157801561096f57610979565b600060045281602452610979565b8160045260006024525b50306044526080606452600060845260008060a46000806004355af16109c2576109c27f3136000000000000000000000000000000000000000000000000000000000000610009565b816109cf60c435836101d4565b039450506000841215610a0557610a057f3138000000000000000000000000000000000000000000000000000000000000610009565b610a1160e43585610143565b9350610a1d848761058a565b80600052505050806020525060406000f35b63c22b6075811415610df557426101043514610a6e57610a6e7f3131000000000000000000000000000000000000000000000000000000000000610009565b630dfe168160e01b6000526020600060046000806004355af1610ab457610ab47f3134000000000000000000000000000000000000000000000000000000000000610009565b60203d14610ae557610ae57f3137000000000000000000000000000000000000000000000000000000000000610009565b60243560005114630902f1ac60e01b6000526040600060046000806004355af1610b3257610b327f3135000000000000000000000000000000000000000000000000000000000000610009565b60603d14610b6357610b637f3137000000000000000000000000000000000000000000000000000000000000610009565b6000808260018114610b7a578015610b8957610b94565b60005192506020519150610b94565b600051915060205192505b50610bae60c435610ba78160a435610160565b83856104c6565b610bba6084358261004e565b90506370a0823160e01b600052306004526020600060246000806044355af1610c0657610c067f3132000000000000000000000000000000000000000000000000000000000000610009565b60203d14610c3757610c377f3137000000000000000000000000000000000000000000000000000000000000610009565b610c438160005161004e565b9050606435811015610c7857610c787f3231000000000000000000000000000000000000000000000000000000000000610009565b610c8383838361055a565b610c8d81836101d4565b610c9d60c4356104a38382610094565b9050610cbf610cac8283610143565b610cba60c43560a435610160565b610143565b905082811015610d0d57809250606435831015610cff57610cff7f3231000000000000000000000000000000000000000000000000000000000000610009565b610d0a85858561055a565b91505b50610d1a826044356103b8565b7f022c0d9f000000000000000000000000000000000000000000000000000000006000528460018114610d52578015610d6057610d6a565b816004526000602452610d6a565b6000600452816024525b50306044526080606452600060845260008060a46000806004355af1610db357610db37f3136000000000000000000000000000000000000000000000000000000000000610009565b610dbf60c435836101d4565b900393506000841215610a0557610a057f3138000000000000000000000000000000000000000000000000000000000000610009565b5050610e207f3031000000000000000000000000000000000000000000000000000000000000610009565b00fea2646970667358221220849defa8ce5a6a3f5fc311cc60dd2ee71f11da785bb243480b4809a7c52501ac64736f6c634300080900330605581d02278eb386f930bbd0f6005ccd8b46444176982bb5c4e75b39786b5dab0701190e5805581d02cc410248b58ae0b310210c3bda2329872ff6ee0b3aaa4aa963df05ab0c0247029c7a85e8f00005581d02b9cdb8d46bf4285725e9cf5f6deb6d6deacc2c5d7108f4a99a68d41c0c01462171db4f0510021940a005581e03884e08ccdb6482dcc98d5b3c03733f0a8dd4482f7815c4e88620be00300c0147016d78c8dadb8005581e033e1f590dfa5c10b583b3dcf1074d1cc06257a028a16f95b8632cbbac90084802fb185f8a9959a105581e033bfce4171475cf5c753d758c0774296491b4c8f413ae67bb2756c065d00c02474395cb2a95245c0219556703daa9ac1f97e7a03ddc35928007ff1440ec7474b43d06c0e1674c0e4fe93d16980356b043b94493d7eafdfecc6320d848481755437ec058d43e12ed285a89da3d110219ffff039dc171d8c3c753a7908487d29103e6ede3f712c1625cd22cf0a7f7f01410123b039c4c70a3e483aa41361ced0206bf4fdca73342b2eb4774662a517e6e36da9c81031b45f43424063489539bba0d9b1e568a3410446a988b8d24a91ffa7c1f3e322803c55804aee09a25bf61800bb51b367513f2f77a249c2e50c41879a4968ef485740314bacb445bd3cb9d0642d9e7ddd8a46cbbb1bbe52481f38d53364ef1ceb6e89a03d71760dce40d24303e24eb22c3a7358ad342252e17b2ae0d06f3763ad3f2ccb5030312dc98354a7ed05caf997bfd08a9db09efd5bc1a541f4503a96cd1d4eb1b9d03cb3ad7831ecf8e8c72725e823bbf691b14d3888471c800516a41103a9aa86f630311622311f98767219b826ecf097f93a6625df5671314a85ffa27bc3bea7ba7c3034be757f143575a1d64f51553c5bb7d43fd0a35579d8cac9b097f973444994c2a0349c1dc646b2306c9d7cb0c2d2bfe120aa7052036d4441b9635b10607593cac7d03a63d6895ed106f821431d1eb87861f58bb02178d1987b64049fcdf01fbeefadd034a641a121cac25d05ebcb57bfdb989590e0e4adadbd67318f0554ad321324185036516c3d05085a827498112add78a3809ef6aa2d218bcd485d1fbeb369dcb4c8e03574f7dde06cc8594faf70ddc751ed31d65c9bc5858d47aa950d33b3fdeed5c6d0219ffff03096dad0cb4c282126b402e7ab4f62a5b0492924f3e906fa2ae06d8a3027047dc0219ffff03c255a29d991b3e288b79f946528bcc76028af1fec0d1def36853e355c6ca708c036509d26cda9390cd1e00e2bedd40daeb30db36eef94fbdedb1122743db5914f403255e32691b6963d74fc86979634b4cc3843b343ecae537072c9a9857f217230403e2b4a41d7a301f6dcf20913a26784f996f42d43c8bb7475202ce90145adf0df103f796c90f9945008705b817310288f40b7ca27fb729132fc36326e24b2c7abd7903f7c3a55195b1198a7cfaa8e4dc226e1ec5573c12c890e77489fba836bdbbc37b030bc490258d01c0f0bfa934734aa4347b31e5ee4f86e5916625a0cb8b6de97ed903e116eddf800fdc15db9e7cfb469c507bee3d505f651a39d9d599c6d778b0444d030a34c8225b4a68d24c68d97f10cfb58e5c64afc4e814230454031ede926a63f703a7936bf8f60000a3c819ad883fec44314906890cee5f03d792fca2ec21d57923035e30dca554a3351a0d5984325d350970ccd02bcbd0d701b4c4b3ee38751a034d03e36f3b12e2873fb8f94a948ca1fd7d789efb2a12dc6267ed4afb02550615be7303a1c932701f328dc7dbb6ad2efde41d15677020bc6f702d0c457325c888c65011033214b5311dcb0760c514d82b84591e70e8609d2ae6852f4b3ac933c79ca7a99605581e038bd5ca233f7ee327bd16ea7bed46ea2c17bacc09c3207d615e1d9644b00c184e4702731acb5e560405581e03c26da3e3f30af0e99e26d67cd1a578dd687af7647ee8768b28bbc463700c02476d3ffd6417840004591f04608060405234801561001057600080fd5b506004361061004c5760003560e01c80636a938567146100515780639b3b76cc14610082578063d6354e15146101ea578063eeb72866146101f2575b600080fd5b61006e6004803603602081101561006757600080fd5b503561026f565b604080519115158252519081900360200190f35b6101e8600480360360a081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b91939092909160208101903564010000000081111561010557600080fd5b82018360208201111561011757600080fd5b8035906020019184602083028401116401000000008311171561013957600080fd5b91939092909160208101903564010000000081111561015757600080fd5b82018360208201111561016957600080fd5b8035906020019184602083028401116401000000008311171561018b57600080fd5b9193909290916020810190356401000000008111156101a957600080fd5b8201836020820111156101bb57600080fd5b803590602001918460208302840111640100000000831117156101dd57600080fd5b919350915035610280565b005b61006e6108b4565b6101fa6108bd565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561023457818101518382015260200161021c565b50505050905090810190601f1680156102615780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600061027a826108dd565b92915050565b601482116102ef57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f496e76616c696420636169726f417578496e707574206c656e6774682e000000604482015290519081900360640190fd5b6000838360148181106102fe57fe5b905060200201359050610310816108f2565b600201831461038057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f496e76616c696420636169726f417578496e707574206c656e6774682e000000604482015290519081900360640190fd5b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe840167ffffffffffffffff811180156103bb57600080fd5b506040519080825280602002602001820160405280156103e5578160200160208202803683370190505b50905060005b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe85018110156104475785858281811061042157fe5b9050602002013582828151811061043457fe5b60209081029190910101526001016103eb565b5060008060006104ba8a8a8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808e0282810182019093528d82529093508d92508c9182918501908490808284376000920191909152506108fb92505050565b9250925092508288886104cd600061141f565b8181106104d657fe5b905060200201351461054957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c69642073697a6520666f72206d656d6f7279207061676520302e00604482015290519081900360640190fd5b8188886105566000611428565b81811061055f57fe5b90506020020135146105d257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c6964206861736820666f72206d656d6f7279207061676520302e00604482015290519081900360640190fd5b8088886105e0600089611431565b8181106105e957fe5b9050602002013514610646576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180611d0b602d913960400191505060405180910390fd5b5050600354841090506106ba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f636169726f56657269666965724964206973206f7574206f662072616e67652e604482015290519081900360640190fd5b600383815481106106c757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cb7dd798c8c8c8c866040518663ffffffff1660e01b8152600401808060200180602001806020018481038452898982818152602001925060200280828437600083820152601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01690910185810384528781526020908101915088908802808284376000838201819052601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169092018681038452875181528751602091820193828a0193509102908190849084905b838110156107f75781810151838201526020016107df565b5050505090500198505050505050505050600060405180830381600087803b15801561082257600080fd5b505af1158015610836573d6000803e3d6000fd5b505050506108a787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525061144092505050565b5050505050505050505050565b60015460ff1690565b6060604051806060016040528060258152602001611d3860259139905090565b60009081526020819052604090205460ff1690565b60040260140190565b6000806000808560008151811061090e57fe5b602002602001015190506340000000811061098a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496e76616c6964206e756d626572206f66207461736b732e0000000000000000604482015290519081900360640190fd5b600281810260eb019450606090850267ffffffffffffffff811180156109af57600080fd5b506040519080825280602002602001820160405280156109d9578160200160208202803683370190505b50905060006109e6611c1f565b6001809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b6cee596040518163ffffffff1660e01b8152600401611c006040518083038186803b158015610a4e57600080fd5b505afa158015610a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c00811015610a8857600080fd5b50905060005b60e0811015610aed5760018101848481518110610aa757fe5b602002602001018181525050818160e08110610abf57fe5b6020020151848460010181518110610ad357fe5b602090810291909101015260029290920191600101610a8e565b5050600087600681518110610afe57fe5b6020026020010151905060058103838360000181518110610b1b57fe5b60200260200101818152505087600881518110610b3457fe5b6020026020010151838360010181518110610b4b57fe5b60200260200101818152505060048103838360020181518110610b6a57fe5b60200260200101818152505087600a81518110610b8357fe5b6020026020010151838360030181518110610b9a57fe5b60200260200101818152505060038103838360040181518110610bb957fe5b60200260200101818152505087600c81518110610bd257fe5b6020026020010151838360050181518110610be957fe5b60200260200101818152505060028103838360060181518110610c0857fe5b60200260200101818152505087600e81518110610c2157fe5b6020026020010151838360070181518110610c3857fe5b60200260200101818152505060018103838360080181518110610c5757fe5b60200260200101818152505087601081518110610c7057fe5b6020026020010151838360090181518110610c8757fe5b602002602001018181525050600a8201915050600087600781518110610ca957fe5b6020026020010151905060058103838360000181518110610cc657fe5b60200260200101818152505087600981518110610cdf57fe5b6020026020010151838360010181518110610cf657fe5b60200260200101818152505060048103838360020181518110610d1557fe5b60200260200101818152505087600b81518110610d2e57fe5b6020026020010151838360030181518110610d4557fe5b60200260200101818152505060038103838360040181518110610d6457fe5b60200260200101818152505087600d81518110610d7d57fe5b6020026020010151838360050181518110610d9457fe5b60200260200101818152505060028103838360060181518110610db357fe5b60200260200101818152505087600f81518110610dcc57fe5b6020026020010151838360070181518110610de357fe5b60200260200101818152505060018103838360080181518110610e0257fe5b60200260200101818152505087601181518110610e1b57fe5b6020026020010151838360090181518110610e3257fe5b602002602001018181525050600a82019150508260040287600c81518110610e5657fe5b60200260200101510187600d81518110610e6c57fe5b60200260200101511015610ecb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252604f815260200180611cbc604f913960600191505060405180910390fd5b8260020287601081518110610edc57fe5b60200260200101510187601181518110610ef257fe5b60200260200101511015610f51576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d815260200180611e92603d913960400191505060405180910390fd5b600087600881518110610f6057fe5b6020026020010151905080838360000181518110610f7a57fe5b60200260200101818152505083838360010181518110610f9657fe5b60209081029190910101526002919091019060019081019060005b858110156111835760008b6000840181518110610fca57fe5b6020026020010151905080600211158015610fe85750634000000081105b61105357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f496e76616c6964207461736b206f75747075742073697a652e00000000000000604482015290519081900360640190fd5b60008c600185018151811061106457fe5b6020026020010151905060008d600286018151811061107f57fe5b602002602001015190508060011115801561109c57506210000081105b6110f1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180611e5d6035913960400191505060405180910390fd5b8588886000018151811061110157fe5b6020026020010181815250508288886001018151811061111d57fe5b6020026020010181815250508560010188886002018151811061113c57fe5b6020026020010181815250508188886003018151811061115857fe5b6020908102919091010152600496909601959490910193600202929092016003019150600101610fb1565b50808a51146111f357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f496e76616c6964206c656e677468206f66207461736b4d657461646174612e00604482015290519081900360640190fd5b818960098151811061120157fe5b60200260200101511461125f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180611d846023913960400191505060405180910390fd5b5050808251146112ba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611c3f6029913960400191505060405180910390fd5b600254875160009173ffffffffffffffffffffffffffffffffffffffff169063405a63629085908b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe810190811061130f57fe5b60200260200101518b60018d51038151811061132757fe5b60200260200101517f08000000000000110000000000000000000000000000000000000000000000016040518563ffffffff1660e01b81526004018080602001858152602001848152602001838152602001828103825286818151815260200191508051906020019060200280838360005b838110156113b1578181015183820152602001611399565b5050505090500195505050505050606060405180830381600087803b1580156113d957600080fd5b505af11580156113ed573d6000803e3d6000fd5b505050506040513d606081101561140357600080fd5b506020810151604090910151979a909950969750505050505050565b60030260150190565b60030260160190565b60038102820160140192915050565b60008060008460008151811061145257fe5b6020026020010151905060608460148151811061146b57fe5b602002602001015160030167ffffffffffffffff8111801561148c57600080fd5b506040519080825280602002602001820160405280156114b6578160200160208202803683370190505b5090506040816001815181106114c857fe5b6020026020010181815250506000600190506000866008815181106114e957fe5b6020026020010151600301905060006001905060608860148151811061150b57fe5b602002602001015160020267ffffffffffffffff8111801561152c57600080fd5b50604051908082528060200260200182016040528015611556578160200160208202803683370190505b5060009850905089895b878a10156118605781516000908590849060028a0190811061157e57fe5b60209081029190910101519a506000805b8c8110156116ae5760008660008360020260038e010101815181106115b057fe5b60200260200101519050621000008110611615576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611dcb602b913960400191505060405180910390fd5b60005b8181101561166a576000806116318c8e8a8e8a8e6118da565b91509150808f888e036003018151811061164757fe5b6020908102919091010152509a8b019a60019a8b019a9601959384019301611618565b5060008760018460020260038f0101018151811061168457fe5b60200260200101519050806000146116a4576116a1898583611a5f565b93505b505060010161158f565b5080600114611708576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526029815260200180611c686029913960400191505060405180910390fd5b60008560018b018151811061171957fe5b6020026020010151905060008660008c018151811061173457fe5b60200260200101519050808860018151811061174c57fe5b6020026020010151600201146117ad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180611df66035913960400191505060405180910390fd5b506000876000815181106117bd57fe5b602002602001015190506000828260405160200180838152602001828152602001925050506040516020818303038152906040528051906020012090508e6002026003018c019b5060006040518080611d5d6027913960270190506040518091039020905060208e01868c03848252806040830152826020600383010283a150505061184881611b49565b50506001909d019c5050506002959095019450611560565b838b60148151811061186e57fe5b6020026020010151146118cc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180611da76024913960400191505060405180910390fd5b505050505050505050505050565b60008060006118e88961141f565b90506000806118f68b611bb9565b90506000806119048d611428565b905060006020600187010289015194506020600185010289015192506020600183010289015190506340000000851061199e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f496e76616c696420706167652073697a652e0000000000000000000000000000604482015290519081900360640190fd5b8c8314611a0c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e76616c6964207061676520616464726573732e0000000000000000000000604482015290519081900360640190fd5b848c018b60018c6002020181518110611a2157fe5b602002602001018181525050808b60008c6002020181518110611a4057fe5b6020908102919091010152939d939c50929a5050505050505050505050565b600082821115611aba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180611c91602b913960400191505060405180910390fd5b60008460018086036002020181518110611ad057fe5b6020026020010151905060008385039050600060028202602002602001905060006040860282890120905083886001856002020181518110611b0e57fe5b60200260200101818152505080600101886000856002020181518110611b3057fe5b6020908102919091010152505060010195945050505050565b600081815260208190526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091555460ff16611bb657600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790555b50565b60006001821015611c15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180611e2b6032913960400191505060405180910390fd5b5060030260140190565b60405180611c00016040528060e090602082028036833750919291505056fe4e6f7420616c6c20436169726f207075626c696320696e707574732077657265207772697474656e2e4e6f646520737461636b206d75737420636f6e7461696e2065786163746c79206f6e65206974656d2e496e76616c69642076616c7565206f66206e5f6e6f64657320696e2074726565207374727563747572652e52616e67652d636865636b2073746f7020706f696e7465722073686f756c6420626520616674657220616c6c2072616e676520636865636b73207573656420666f722076616c69646174696f6e732e496e76616c69642063756d756c61746976652070726f6475637420666f72206d656d6f7279207061676520302e537461726b576172655f47707353746174656d656e7456657269666965725f323032305f314c6f674d656d6f7279506167657348617368657328627974657333322c627974657333325b5d29496e636f6e73697374656e742070726f6772616d206f7574707574206c656e6774682e4e6f7420616c6c206d656d6f727920706167657320776572652070726f6365737365642e496e76616c69642076616c7565206f66206e5f706167657320696e2074726565207374727563747572652e5468652073756d206f662074686520706167652073697a657320646f6573206e6f74206d61746368206f75747075742073697a652e41646472657373206f6620706167652030206973206e6f742070617274206f6620746865207075626c696320696e7075742e496e76616c6964206e756d626572206f6620706169727320696e20746865204d65726b6c652074726565207374727563747572652e4e756d626572206f6620636865636b706f696e74732073686f756c64206265206174206c6561737420746865206e756d626572206f66207461736b732ea2646970667358221220aee968d1a490695bba1cc1b5d320bcb8b96391726460daac9ed5bc8bf81399c764736f6c634300060b0033034fce551c0b9bba9d8f4f9a644b604a4b6ee6df7b9b3b460272be5f2d3b39075403f71fbdcde9ea60dc7add428b2ef13dcf1ca15dde7136d64e90dac5075feec1d50342f7269fdb0b424ac94e7fc2696895b08d298d3230d5401220c820783ab3fe7103d806da70553f21daae5e7b1cb2b2b873edb72c14b7dc1dbf2488ce52081fd2f5030b9569beb130ae35980abd6185eeb65f76f892bf0bd47dfa7ae63032d63a275c032ac5c2ca9c64a2691ad62be4c9fbb4fbda314aa89a7a66ec37348eaf7944bd6c031ab6321426446e4d5de2a60fa17c3c24bc5fb53cc7e6010f1b004874116e4d940368c420c4731e64a7e611999a5f500a04ce94f3e31361e997a3c66507f3b74075030d1322aae138f78afff6971731121adb3d0ac76f2e10da01497e999812b46c0e03733cf51db114e820fbf813ea566b53eda7738ceab0cfcf7854876a402fe347a1034bfe25f11d20f17b8736ad9e1a8f03ef1612a172a0cfadce2c7cc2beda0a972c03d04662e943006e1de4955deead452c1c81a054310f6ba3a3fc980dd29ef758d80395aefda7388657c34c6eaa755abbc5de36048d3de6c9a4ab3c0701768c545da60305c5526968d9a05d33f34ebe49e23149e6d33335e173d610a1be296fa13b406503cbd60fc09df884d9f6a542f1365aff13a7fdeac702a12eb1b589358afdc2bed203f724978935b9c0b84aa1cd272241091325838197478ccff538e705a1605a3147038d37c567e21cfa0c9d8abf6d657a793c3ea2a5c9fbeee5273fa3798e7e11daa7039b740ec9491e5d6d717d34fcadd1dfb4bee18dda0416389ca85fedbe129f55c903227e5b7928ffb5e201527a278ca42f84aa227358e23242f1940df54a51f3d456030ad741d02fc9c8c7330e3fda3df5b6103cefe572bc929bdf1c2ec8a5eda07765036357a000478f8a0bfe65450c400c3975689465996bc659e6a72867e8fbc3377c0325a1b37e625ad769c54429ba4afee7d8c76c4951934baec3afe6cea4d0741763039950976bf7d70c2a2c00c37077187ae36166706387ec4dce8a916aaa6e28d4940343c1e019399ddc7041fbd958289104e431a6a338d58aba4303146057170870ef03671d08f90bb01aa183b82ebce37f114eb20044013fc18cd64ee9815761f75b220314bf9c17f24736426fb5af94684c3c99ea116299831027ec91d49a212108668200581f022a75429f4d15b5f91a8a3c487e028c47e15b1b05d90dc2438c7371b334e9410100581f0244a7b6ec494f7078b49f8b0278332814db309cedc9cb8924fd48e571082b410100581f023b14afc90042a3fe7aefa651cb9a1bdbc682b6ad4518c5cd06745f988abe410100581f025fede66013bcbfa05aa8c3dbbb0c1de8059344c107b0109b57f6bc44bbf6410100581f029ffd58db029f2bac46056dbc53052839d91105f501f2db6ecb9566ee683254eca5da0287d407a23f7c0a13a9aad87c7fbc10a300581f02c6d8c58c18aaf5f34cf2f22e8ea1f3da5e7adc994f2979dea86167f2dbbd410102190ce4039875d6e4775784eb9ed04c5c69a2d98b623f8e57a6467e781ce8084be241b057030e6346e7c95955cf0c9cda7f69a59487b03a420508a8715598dd0371a3ff419d03c434e6e3434fc30fb1811aa050dd0576d22e4eef368fb0306f767cc96ef84fb403e786e3f92c1b1bc909d866d6036ec6ff6ec9ef5387334f4dc8730c363e5d2144034477ddd132abd069cbb25fc76c44eb2d1155f1305443a3d47635c04530b294b30348ba6ad34e6cca914ae3d93368a9bf2fb7a1162b6b5c18b316220a5df3249ba0031dcac1b11117a8195563b0c11527e69781cf80c0dd7777e27eb64874a9e038470219ffff0219ffff032956f21e410a694719fbe183dd85a0368a28c72185476fa37cfcedf068000d68033f1c761f9207df03f41d1515c8f2a3eb61d1de7a94a76607549e95100370e8c2032dc192f2dc463057e35b76c4ccc02e7ef933d3d0c8dbddb634e2d92db2aa4ab003aa395a6996c8f8242ace8272d12e3d705a7727101c22b64f2d4894aa8d44c98e0304a258f30fe28105841309a7b062c324c8c2bfb870e5e6d062bbf8a5d52d7a9a00581f02b0f60370c9470cd5b3c04fad7653e684ecd5a89e695604b19857232ffb6b410100581f0271294af207f04381361e7bb01d01154519cd17f0ea5e49096e9986629731410100581f0261ae4cc9c13e96708ee5fc18c311be548bf9ac485d8d36d110ac02f87bfb410100581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace54efbcce4659db72ec6897f46783303708cf9acef8033911995dbd26727c9575810f766be0d419a0ca16c33792e197b948f8ecee104f021901a503b51a8ad1a68074495cc2d4d0c3ba4caccacd9c221d485485051a64e41ab7f85803565fe3376da1f8f6a26fa381940bacf5a25bd4c1959d4253317290efc64b725403b4ebd4bf69e72bd6d49a370790ef77bc96f4094f78d21ac2b2a66b12c085b4ca0399b84701b8583fd0e6a81be42d58d0f2466fed7359b85ce05c752c83dc5eb5af03671b8775f7c0cd4cb3269d22bd344f2e71c82155c506168fc33f0644e7aea79b03e7ae2167ca33860ebfd14f31d3ae5002a936d4275455ba0d6302a6933133665403e11cb08fc36ba13022842a8e8fd4421210131667bb1b57a4a28c8acbc2fcb76f031e2bf6db5965dbbef8dce2749b1c7f7860f71d62d06e954cc8567c1f88fc3b63031834198075f63d98265a41465f3a018c7d72eaa384ac215bab1d51de32a2ecdc03ea07032b2b2a782b132071f2bf758c0cb26a560a2b4d2f31bfa4017310e7b96a0219ffff03dc6bd73f7933e1c9e2f345ea4f3f8911de85fb0d93cf45273db9ec9eaf31c1f5039442f1b3a805bf809e5578034815e6839d3a1fcf2edbb057fbf6647a67c78fa7031d22ccce23c767bd108248bca5d825cd0d266da13933995800d85b5c81cfd8e2030eaef708142542bbbc8b5ee139c27d0a0cc9b4b9c13be34ace7278b28f233a9103317de978f1e35b54b9ee81821573d402468d961ce413366960492866ebbb462303313abb6d07eaa3f2bb679efc2c8cafc47bce14eeca576788ee801c74b655ca9203dda3483f7ce1d15bf1d663042bd126fa893829d50654324404fa47dfbfcffe0303172b2597b94ed2ba2c37dc8e4e7c9a4294dd67de7e11100efb47946278919fb503610d98af16671de4bbd9c391214c30abe4bc6c51ca2d676b99e59107dc8b461603a4a6d126cfa07bcc7858d6c60db7c7eeefce20fa17db03e3f5d6628462af6e7c03c8121ffeb05844e5130eb48e1e3a1f881c02bc4098681c509e20df1af112c14703c12d17e425b10d6049a3ed4f24bab0c08002a7d0afa96b3849de16663fc8cbd303de8c9685d7d5c937aae37ea468970e0a3aed63d9878d49a6bbdabf83dd85c5b20349fd9f40fe7de34523718280ff6c75bc8fe855119b82a2a7433ff6ab4709a21003255781c02ae5e50caef6d3ed445294f901b915cb8c0eeac3dc2482cc5eea10ef0219ffff03236e2f59803a5cd2064fceb03f2e2dd456cfedc9c781366a26c9bea745ebb0ef0372ad12874dcc6ecfcf0f239852c50b85a02559f39e66ca59bd83f1c360c146f00315ebcd7ebf62d85449a50eab7bf2de1350da315dd5176b932de5d35425e4c8dd03420ea8fbb70b6c0f18d9c4cf11d98ca07e5af7aa66aef7cde1ea09b5964d511a03f59a6893d6e801c91b276ca0fcc0a3a75c3f8c9223ecf5abe5c03bf0a776a6b40337b024eaf520a5a853639ec6a95dc7b54f4e13d7a676aaf239791e191cec6ddb03d8dfd4a3af89fb500469f798fa4e027c625e7990197e4788b50361d91be0440000581f02701d78b499cd7a842f9afe1f82bf461aeccee2b0345f2456604f42119110410100581f0207b6f59bc1091141719af12f90b480af60e1dcc4e3fefc617a0c85676692410100581f02c97d45928d3235c534e5bd720b8f68bc75fa2f2a201a4ce6edd4002632b0410100581f023bffdf9c377322c9ab1074ce243721041e3dac963caa9817c90065da4ecb4101032191262549ffd74a4f5636773f949f80ebafa23b71c6ddc79f51513ff1bd682b00581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6551dd8945200f5a09d6fe0ed68494c2ac41cd02e2d0102196c03033d5f5d0097893c3c775b9c823dd7c2f41cd1853cbaa9d3e7e84605a7f2dfd64c03e7f71d286dd626ddd981dbb9fa06452e98c500e59e7a7b5bf6ce22d5e4becd5e03102a3323b1e553e57e743bac55f5ffb4eb65d2bbd43a9a927ecb0083934d29b403c353bb608b852c6249311c37ccf56c3e7a6c5bcd2b5a0db29c787df8503ebd10031717dc8beebf9a186e4afb36491fbf608bbd7375c7856e178b3b8e2d2b7ea1960383128aced70772bc86942434f0e1adc68e58066afe59023ac90200b382213d1e03bd235a8f4a7f504bd2d8f483996bce62c401b9211fa9adba243cf3ca6b78b4de031f6189eebac8c2126aebd923c6e2c91066881d335343b97cacc68a6747a0783c03ee6938e127c59d13461db91a5260af1d4a3bbf56cdb5161162b7ac9f5b1730fb03095e9d71f8638fd1c5f7424834722805a94e97fd81ff04dcd138885b2755be21034340b3a56a6880afce74c1454ab8a3c749fac3fc1ca6399d8115bbe99e420ea10340fe92a70e1025fcbbd063db0d304160a872025c9e868b2276d66807d5be8e560378370545dd038be13488677a8d5205ec1c7eff08383bf3c86fbea47fd410566503a62671d30c5093fefb1b342d52a04ad34dc117e63c68b2928a0782cf38e18791032d3a52b04cacec6da2853704aec7eac836e92a9be7ebe9f834830ed553ce41660219ffff039df865ba6924cce0cfb1b71d5a84f3673cbef446ef8685fcb6e72e73933c4c49031b5785330b93f9ba14507e8d3d004d46472d01b45b4be31fce6d874b2d030bc103f089dbb78ca24c50e9266e17d922318ca1948dd9963f276aa07551cc940885da0381f76025bc959d1d1a22dd40c14bff50a1f50a50eb242517d648b57658f6ea2c03a202ce3336c7f4991c686444483d46129964b0f76ad96a4c414971cc8d1dd36e035734bcb828d6913664188c856a9413da76b437018cbb486477bd136a6df49a2a03923be95e3c568d1ff5e63a57e84e4adc258b534933adb416f329e66970992b2903fce650b1402286164c5195ceed55d6a63915442a326bd1fb7230140174715ba003dd26b46389a31681277f397f8016719d81b52d11a64c85bcd4d54f07cac23f1e03bd1871d76f17fea99407c48002a09c25576f6522b356b8e861d974f9d33730b7034d86fadf20b8deb72898c5c339ab38afedf3aed2cde4cd0e16030b3c87feecb703e750e2402532acef9565e728dcd0289ee1e3d39fa5f20b17673d907332f049a90360a552f2c41fc7350ae9d281300b638645603c34f18516d55c1a0392eeb731ec0309791218cc59b515095a898b33e9105cf86b495a6cd5f8d33471116eebec2ecf0219ffff03d5a0a00ec9be6aff4570daf2e030a19ce3fc5d4f211f75f16a39d380ac56fd2603c4bb956cadaf7938fed849bcbe67b2d8dbad93414a6529420a2f27505c2381e503fb74b690e8406e65f3be79ab711b987a82febf0c57101d6938d2764924f79669035e92b4d7f621b2c4a35ca4561c49799190a205278951788621ade5b3c07c11d703874d79393237a9b3d3d059107d3dbe6c76cf569226e9406b29cc20d875c435aa0334d7f52e6362664940bf2f78ba77e0cc5b8811f1a080e9a61961b86abe45014e038082ac5c27d1e606a4ef976f36ff52d535490f90bcab22eb13d5b982484d959900581f02fd735bfcc43cd3f5ad960b994e8ee6058f8a120d858543069ad86e044d93410100581f022e6fb3a5ba8d746bfbbf1ad01e81125a734367550a70e3c388c615300836410100581f025a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b410300581f0280316ab65f9d6f27ed109c4fb5c8431a95eabee55c6fc620a7b9bc57cd5c4101021920c4030c3b3d54a1558dc5757cf5b4fcdc16a0209278ec03654d62ab9dcc933e3d1af8039106811c59709a01ca32ff8df71f0d83bfdc330205c179e5d5c61b4afb6f3f340324a8ea4d7447cb26d1784b87d88dbf3f7192c18b202bb6f6668a52d9b26f26d303a43913b4a733661e3cfc7456fd4650ec7366d62b44f84ded7b6040a587fa857b034df8e1943a0d513781a4c2126160fa72292c08974e80e6c72be7eb0006febcf30383951bd4dac4c45ca330c6c626e75ac8a97e7c21dea92e69744f67b01aa37ff3032bfb592244bd45c95627feab6f50cd4c57270eb638c3e42f20bb71d8714cabd30307d45d4e0ad7eaf7032ee4eaf4c0fa19d217a270056b839a4005ab22e34c463c0310e6e23bac1314b3cca048a67a00dbe0b4f2c789537e7edaeaf6ea2b6ff1f99003e16e1c59ba52b912548ff05a4763b725e2369325b62f413ff55ccb847689ddd10219ffff03d0fa7ac073f713b8679738a0a953f869a26aeb3d3d83289e978f1dfbab83b8e9037985d3f1942b2a210aa8bd7c2fa3bbc4aa95b2f49ce594fb4178a84ec9153a20031689a92dba7e3dfd311cc3f4ec8ee6c791bde43569515742a63e8d8be4c809f403d2f9b18f4ebfb15b9da1ce467a417208ead2178befd8a06eaf220c0f0708a7e803e1afe049f925e9290ef0deb090081138beb5b7cb749179f11c28beb0f96d5839038954982e066bca4e023a946d267d91bd3fcd8eb6033ba7eb95c228146e1b86da03c892decdf24f76acc81bb4f164c619b4a477884e8e8258534c1db83508e243370347a6b1f8dc58b700def733fac3c9eb8fb1a1e2e646b6a66072fdda89d34bbd15039561909adfad1c941640e4d29d748875056f7aa5f575c0b0a51e8ba184d9d148031f15aba574c80ac83574045edea5672f1df9510db51f96c82bf1836ce4395b03039cb2e5d2e2c7afb3ccfd7999040bcffbe404d2a0fd7601fc3db13f89c67bea8503a5defeed9cb973a2e87635d2738d638c88a02d69e5a7f5e7667f7605608abf2403c3e6085dea9a2c07d965c4727413b1ebde19dc00ccba4b40111f91a2ab3468f50219ffff031b621443709e3257aef7ddd38b2a4026e3ba7fcda585d9ee2a4cbe72a740351e03328e6de0f54c3fc79312a17120354af257adc1f9ff3a397943abbe31e2a801c9030abe194275eec50234fc27c1818bf76470ff5b6f1e05e23e8fb63a74bc48227703dbe8afeb23477a08c50a4a785eff25c1d2614a1dff8d801554545df385a6acec0377c42261278bf403ea7dae880e0f2b1e4b0aca1dc94f8807dc8613098125cdaa03c7746cdc836e70a205636fc4f02c20fb4040de01fec2ee838b26205e523ed24e032ca5c28f056422c1155958797e7595331b02b039e752e8c8dc82302a7de562b5039930f21f1d8df4fb3db7af448d4135dc64fb5acf1f7c9c80363a0fe0d178fb14033abe96dc89f8b2c8505a8e6c851d6d54464dbce3e7a323d36adcf85b6adce6ff00581f02d781042fd57b5f648612728047d75623b52ab12d4d8e03b99cdd66c852b6410100581f02401368a43605766708cf613e97572e073d3dea3a814981d56b742f104380410100581f02f9a28f0d09351754e0848e4196f28d62bf42d6ad5b46f4fbc32be63c4919410100581f025ad38f3ed1a49c0caffdc05a1833dc5666b365f6c13dbac8e82cfb692f72410102190a81039ecbea66862fa5165f9cd755cc6f8cf23ae3bcdc80a9bb0b86cf2945a49238ff03749d6ec2462e12e556981925903d126c39a7a66e831a69ff293ea33d439f20a50302f28c16fcdd63944aba0ca8c41b0ff3b36cb842153d5ef5198a9017d5349bcb03af3837f5bbc1f6d24cec6a78aec01a92198f9627dab6c8d95be6996097c25d6b00582003f424e221ebb1b1ef35656e6d804f741f879a4ede51909b7c1cfdd6afc72ff041010342f274a7ddbeb6a6dcfde33dc8940986fe3aee8b055d68dd85584d4bcf635693032f162b26cb361d05308db8095e5320787423008688bcc79bfd5f7ab75528b94303d30d25a7690075ed8d215ff266ef06af0483a777efb53ed4aae05cdf2d7e2fc50219ffff03113e812025807b330aae601b9eef738596a9ae00aef230a2953059d17bce599403e245fb520d79a18a34b6d3f2233bee76c28b3a8dd46d2ee8ca3962bfe0f0f96d03a8aa90ccb502aa16feadf0d625824eb0bc7ce94e8f09760e7f37d51bfd963fd303afccf03eca4219f1e88674b9bffb0f0b1a0e922c91da9dd0afca0126f752ab39030da78f11aef68bbc553d0db915b0a7b0481f053ee02ecd13d6cf042ff453ba200353de615c99ad3d456b584fabf78a24d824c21813133076c6ce653c6632bea6d403a28040474715c258414feedb26ecc51c686972bfef448e422eaf1d6465a69da3032987429cf39e1a0b1a661515e433d3309faae98620998c51bf1e170cae7ef2f2038c22d4c361b728b035dd2db6a02daedf5174b3e40987e71b6775cca306d060df035b6959befcd0ff8aaffb0f3523e2c41034ec3981eb17b0ad1eacec6ecc197a280340e31f97182616b283b96943aedcb3dea5a67d26ea5e66fd577fd1e886391a0a038169df0895ec6181cdc9c540cfa34c61bd53348a064390c523fa88f2d1a49f6d032c88b7c4988ed875e7293020db0bcaba25b049ec83a664636931a6309d23414003cb8e9f01d6b60b53265e62f0303ead182dbeeb8bb52fb95a1235bc6fe404310e0219ffff03a4bd5c4f8b9f8cc89cbe51bae7d01de928caeb57cbaa03636b15348173eac4ff0219ffff05581e032ba683209c481ab5d7bb389465c62e332b8420d18913340110de56d6c00701191f0405581e03a24ba4b088447fb0cc1822c45e50373cf92cb593f14b9432b73bf1d9100402039617eb121737f300344186021ad97051f33dcfc42032ebe57d5c8cd4ffc72fdc05581e0300efebe635d77ce3cac01c37b887652ba6c12dc78be5c6e00928259e500c044701ee2e41f0efb005581e03d65a468f2c7414f6494cc5c3ee56d269939f0fc08b6d4cde195e527b600c0147c601ff5d2cd10c05581e03b5bd80a74690a1250bb98f3ce7206fa90862a844bf296522009d4079000c01450177825f00030d4c67b0fad55de84c2b18a0ec2a160ee3034f92557b8a184159c0fb1281c54f0219a6fc0376ecfa86a07a0d75bde295af9b22d723b00faf8d8a5c93e0bfa54afb37111cf0039bc271a9f86556c15b20d556ee86ff7ecb1cc3477b20a19051084c52bb401090039fca436869ecc7b1f8b3c769cc0e70cabdc67444bfc1e1eb3a2c1f57d6437d0a03fc118aa7e902c91cd02cdd50f7e19f1546d23e9fb21be25dc43522cffba0eab203cb806299efb754992ccddc1a0b4a203e582a4fc7a6b92301d20831af608c7d1d03c13e5434272abff19f2c249acd5f9a770807f5f4bbee46773d19c0ab45ce32290326326fba3b52016ba83308e846968a8ac75dfe8e403188777d3a34d29c79536e03a1bdd188713162e7e11d2e1bf14d21c3bccac70aebc40eb67b55d46b7842d41403272e39ea3772635d214cf0d35ec0a638412e22b281c67c3ac4e79e55a46eca6103748c2a54b6f5f21c5c026d886d9fa0029846073d40e58a469ccc53317bffe99603e208bc08719de62c2442e09d574722c1c4ef3ae87a60117ba150a90aa223b0770307d9edd3e9b89b2f8287e9b4d2763b7caf3377eb8b01eb850e146ef9fe98905a03ae2b6873f4b73be96184a921343375dbf0837ffb30c4356122105647e8f73e5a0219ffff03e3ffb367aff37c50195430ae79db9a7399fb2906db90bd98447ca41b170d914c0310d59cf2af2aef59ffb60bd297e9f0dc1ec01d64b9f550a130d797de3111e64303aab2a3ef10f9bd88c582b82e7e935ee2e3f43a1706c3b346a70c08b4efa3ae5903a6974339aa32e55d924001e5c0db97d00efc64d83023eff7c113eb38d04c11480387923dae6e4ec6aaebf479c293fffa56105d8903a5b94898802930bd4df4e27d03b4d83276f84a23e31858b5e67a0bc0953228690f7b3be660b4607bb0e981598b0219ffff0350acc495c7a95d81c4a5f2d732f114a2fbfaf4c41212704bf7639e5153bf9a7403668f885d9a63cf78b1a88390c972ee2d5fe5184e447e0b959a38e2f1e8ba5e5503ee4caf8fae0a6c69718ca49425650dc38031b931bd1559ae09997b639d1e00e60341b68e6e2e9fbac4486072b8983f93d0d03c4ea171da91fcdc0b9da5e48913e003d383c2d13db141a784b6ce4d1ca6f1c110cd987dcd9450afb23953eaba6da156035c932bc6f5e51db00781060f5594f42f09f993e626fb2646b2b833b40c63722f032c813094d9723893075f611b2cf0c04f8dc672386e0601ab850cb62f719f41dd03c3f4aed7d11086d8f6cc44d891e39d07aedfc749ae3388392001669b58963c2e03cdd3237f472c11f1f4d5e95525c8e3f666e2f0a47a075143d3301a42f23f34ed03a3a257eb566e5ea13b705028255fa8982bf311eba7765159705a05d3b420a90403ffb1438c50099c93c850f130846720adcd818c08ec86ff62ab8e027c1fcd3f580363563b1c2ca17e1b673be96896c6bd108370fee6702419b8d349cf7ea702f9880368dc57de2227f7a6630eec28ab0f63b087356310469ce44b7b732fa65e0944d1034e9c1d4892d0cc000b91148941a5fd4d90e188b0172dfef76ac1c6f94f985f0f03de29133dbd34a6b587b92247a7dccefd4a89417ccfff0ae0f4ea022f8a7213a60219ffff03494d1500444bd430daf87a72be3eb6a50e45de9ac21f7c9539013eeae9e3681a03d0da5cf27679c95acb9c326fe83d2cf308ba51ca3215b55efc5aec2692606f220219ffff03e5a1531ebeffeb4825f2de199dd5e01c1ec45d51c876090397d930141762c662031e53cc115541d8f0c43f01705063ce03a8d3213b63bdfd5d124dbd556c627b3b034ccc30c587fc8dce88bf55be23926b0cd559aafd37549dd76ee51081c68b8c66031db30a8733b2fcb6e11b13ba1e05dc31df772b5fd8c009390bfa5b22286cdb95031c5a3e32c0c01ec45b4e4bddeb11f4159ae0eb03fd95145ef595893a45df04ff037de643bdb23756d50a70ae0b5007b0f63d764d38bcde775118e56893a34cb70603da815732e1728277599808bd37d4ae8c674dc4df29a2d55c182731a4468a92be032a043d96c1c7ab0da3b3e6910cae08baa5edabdb825fb7247219fd6cbf630d12038c80e4ef089c8087c02ba319b232ab0e3af1c87eb432d337c51c6bc06e571f1103a1bcaf354046e8167a8e8d75459b45f6bc3e42aeed71305b19095121e2299692039063893ee91d285a18ba8deece15cb02fa5ba75e59e8aad1bd908dc2d5900119038e6f0967960fc33d0c6456396e24f7410abb3f30023280b99281fe1aa489652203edcf27fa983d2e1ce293397bcc368a0717d9a3230826dd0225f8cf26a58e86010334bc3b621b9f27b4c42bb8ff823cb92e7ee33be27c1184849dc3ccf8b63c73ff030c40041084406d4e76737279b02163ad5e9d5fcff8df2e90c2dece5209cf17810305e5268a3de7860dcb2143e5a132a52b278dd32220bd48d4fb32a94ac72c9abd034f06476f373d2916e1c5b9ec5fac2e025c9943e08decc2fbc8daa3d461dc88a80367bd282d78195cb95349d1aae7568d23567626b2c0f011a3e73a10cab7af6c7603484e2b6b02baaa9e4767b35d536ccddac163fa66e8e1ac4400b6565069b2560f03a5addabf979f175bd8d24c512f8d4c022a334d6878cb53f2e20750308ba375e303783e1f32d8a6cb7d10c62d955f0ce889f10050c6941da1e0faac83c9fbe34ae203fbfc53c275e25b7b96e9545ae916db179997fede6de826e8199c583620e4f9ee035413d47de5e046652e9190860cd122aa141600106a7f83b36033ca578dd293c30361e917ec9703fe87575e8bd5a93d285d89c5577cbd8b873eb26703ae4b56f921036c6d040cfda8d31590651512b6b281568763a2e1e155c01afcfea26103c93958035d25388ad380d4fa5abb8d6fa8d338522c4add6feae8dd55fe2cdb240cd10e6d03d25ba612e3289b83ab11bdde5416588e04cd078ea6176bd9c38d6f4b25632c04033f4b70c2447c69447fc64756b9f63e02bf296358f3551913ab99444cfe4aa2c3038815ea813401a7a50eeda543ee9f47e3e56bb59640eebb27305ef5b688ac83a805581e03c271581a29b87f6348d2cb32d6663d96ff38e0694cef3c266360952be0040105581e039de1365676a2547b1240e532be0835ef5d36549eddc80f3a6f27ad7f90040105581e0386dfe9b7ad79c06e595d9b52464e2f87a83103353855d1220e654b3360040105581e0358975f2cb771d4873b4653a30195af99473e47568f6e3a3ff1b56047500c03462f286235cb900391a787568113ab5b541b4b77c47670042f17daece51f916fd7e0c95763599e1c0344d567b15c600ad22b8e81af33b9773c1d7609c763b17f302fe2ac25a6bfaf2b05581d0264587154bdb114dc8712d28fd2d42e7916218061ed88eaeea5518da407011bffffffffffffffff05581d0256369d9f345ce89b4b1fee9eddc44d492a6fc02852bc7f684e8f619c0c18c048026770495e56f84f02198004035566fb55a7b1b84d5733362dfba572548e81b1a741477865489ddbd06d08976005581e03e6f2c4c3dd0e2c0033c9d93b74f36139218526df6e2fa6d9daacd298300c01470b2aa1fefe5800035ed95f20886901067215e7a1df0ec4df5ea81702f9a7b403cc8025c59ad7930f031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03cd3fce4d1bdab7d8d79ce115a36dc3cf32772ff11ff7d4066688b078a007011bffffffffffffffff05581e0362759632f448fb8d141fe3dbfb36305a010ea29e34d5ded991e82f64d004050219a3d703542421bd3dddf20bd33d5a6350d19471ebd2dad1ebeb18427c7f0717ecd5dbb403909409fa64798cf30ae2c25b6fdeaf402bc9a84a30c53835dd056614ad2ae0ab0363ebebf66296d834f57fbb81ac379b53d337eb84f400b702f4704e40156565a503165d4d4987ef136ce9a7917b49858c6766294c3af496d751c41cc9512f7ac9f8032bd11b3cfb8e4e97e11a52819ff82bad1514f95dc533c781461d63fe3bb77e2e03688f8bd625e9822528fc485e83beef5bb2d6cf1e15a1cc818e2436704937390c03342bce95a84c758ffdf37af50c9e566516cf327986a269214bbbefa9b5245cc703071f845cdaacc58fd3c83b9df37016519f226b9d3304daa18c389867108c9cc3034cbaf2502be1d68fba13b4ee1f42205d011aa7e474a39ca6acf97afb2231f2d803a7d96636026373c88e5b67fc896c0507f1429adb6ef81c0a67c3b89ebe917b070382015ecce184b802a882768ef8ff20bf7631c1132dacbe66a52dfff01ee613770336156667f208ce7ffd939f806035372bf7542a46178e24636c27fd2d833a1318032f2127d5e385b639ccb52d7ef2af68c16b2029a7afbdc036a3cef88a6e4deee50219ffff0304fc14eb1bb7e2b1e9abe9408d97e8867e43c5aa01bd177bea63f0f5b008861f03bba3ad6ae11633aab253d9d739f40e09ba960de906750e23d12f97aee5ee72150368e6eb7345354f3f5a99af1275a5b9a95732631019077be4c414cd4229caa1880330cf506a8560b05bfea4d599463c107d774fd6b1ea339b209cec60bbbc33f3d403c1454ab8009c5f7726756d3a939ce5a8ae123d24c40f6b9123379dd93d9e8a200219ffff0219ffff036881f0827207d2304a5d617e74a66c131ad605089bbb1097f003e56fbd483fe303cfcbc6f1dc4ee45f9a8273af96d658627dccc43334c544154ab3bf53253127d50344c1e8a863ff2580dca822c8644bab4d9ed0e5ee6059bbd125cdc90f78c9e2a003e943dc42d86d3d18f6f8f5d2f1d80d9023c099e517e6f1630b6288b80cecbdf3037deaf08e4f0f38d1d8f39b8205520f53ac3481bd645c862b746561fd51abc191035b831fb94a74c51371bc06174eabe97347fe134c5fc49b1549b2e353ecfb49f3038ef2348794d2dd79d94d473caaf11c27207b9671b5aa2b13d2d896277faf15050387a9aa1fc7877976d586f3e345f58191081ac6b0987912391c6c207996db1cfd03c1cb33c3d52e4f049a6cf3e1ff7aad0bcf672c278ed95060ac34b00d88174c5b03337ab81d99f9dc14967db6094f9cf4094f046f9e67a6f641d378be1d2e7add46037351fe09ac592cf029b8fc2016e2428313eea3533176b64a5415df370fd8499c0314db7681a400f93243da897cc3eb426c056916588cddf65907e1896974e1dd08030c0df4728230c7939c037d5bd7093e7ac3cc457b577c5ba8e69e246481807fe303f88460091b624b0ec8fa51870187f5820b548efabb9c2c8f6675905727cb0e9e030cd14de1b399b3d175dc624a9b5871216333f5b9edced2025488f1514b3597a0037e48466d1614d75cab9682973d81be3d3bd2ea5576d16af490bf75dca89b5a1803ef3dca5eef8783dca04cf6da29002b7968e203f99b713252151c667f4093287b03f40ae297b4540ab16bc7581cd1e589e0c21806ebd14fc65d5793eb556397707903340a8542bb94bebfa42aeb787492e8d7062d10488ab1efd083c51852b6b5d98503bfc24b471ed072e76fc14446de8e6df29df9348b58eee1f90fd46980de9742fa030a10d28b108d3f5b1c067b62131230bbbf285ea41fd2077e24e5e411da62588e03b6ea441f715c2a96fa26c3964a51637073c2401d6f04b23ad8dd470d090c5f6503f3371909b6d9d6fb7d8423848b6bfd23e7d0cb4db5700278c08879a4662877da0354737c3461bb2f78e65b241ebdf1b20dea146a710d4b05ee27c14a3a971e966803560b936401579c15a3a942098e5c9a0d59ab9ffe8f3987244b89338f4ca0b85105581d02313de342edf36dbb6b75271662ac342d5a26aae4e96bbb445a3bea670c0e47a63394c701ba1703562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d02c90d0928778c15ed26d6b06e294eb428adf56da0eff60f767c2acfe507011bffffffffffffffff0219220003484ed3b7d841df7515a3e95f782420037f6c50c143360360cb05af332134bb7905581e03a5c54a803f551e01156faccf245df69f25602975b2198a447f872a15500c02470354325027900005581e03fb9ccccae2b065662d1badbb4430614c20f2da38bc79686ddbb3c1da300c024713d2fafdd8c00005581e0353755a463d241afd951250e4711df1e9d3dce10a19e97859a2f7ae70500c02464519c364a9af0354759649b2eb763e5a1557b87a1ac028c4f0edbaa7254c3f54dc048632998dc905581e03b1983013c1f9d355a7b1178fc9f3ace6b513457a089699a5d3210324f00c0c474503873e6b42f105581e0376e3e8a87626adaa543b44083d3fb17417a2d9291f1d45fc2588a71d100c04470ef1b60a94a4fa036e0f0f6cedb472468dc93fa3eed3f5197f596a3224347c238ae3ec982675183c05581e03ca9190ec907fe48549f4307ce4320ac03270e70d4857bd1c7b850dbcc00c0144b9f610a60219b9e603a468915b540b780b77f3dbda59ac24746fdc8f6f0937ba552b04d1beeba6293503d7b94ea9b488e5e20d0e47e856c61792f535b650b0f5eee69008d252124e60320382a0f36f153cebedb45bc3d335e93298f0b69dc1ac4c20ab00f69ab0ca3e8042033b99108dfc79aa0cb0ec8c56b0a19fbb8ee6c935e126f72f237fd14b9bb0ac6e03c68df001e692a189347b0a664149653e5e966385fdea75e9b930a36a47b851a803669695b9923c01a5f2142bdc0ccebf6797fbcc94a53f1d4e33f6b93acf2cf83f03bdd53be5dfd27e93df0a390d8e139355c729b496c12434cad3fc498af16c1f7003f6cfdb7f2ab699c09226a16f5e6f404f849d00d8cf146852e5e11a13f9e4fe0103569b717f35a14ba431d80530bab961a180cb73d7bcfdae1f13a3166dbf04c3a503edfc9362195dc03fe8beafe48384234b6a1111abefa3eac6ca8f35cdf3d4109903f04b6ccb159e515692b67c828c59601784bb19ddbae59c2e0984eab7201607f8035c82da86bf9008aa4f426dca4d66c5dad7fcc8d1e741474e29dc07e8219a6c5f0308bad87864358690bdfd3bb48aed92f031ffc74fedd23b541ee1a516b59494d80219ffff03362b90b9a157f597fa0dcf1e22273c1bf2feac303ddc5b8f14d1dbbac03650ef031953816a587bf4fb964b44fb518094e41d0219f4b2a7af6724f0572fc0cad19403661647002b06850edb0f476447d512958b0a3e91d26abfbfd0b44d993f96bbaa03b21a2c6db244cca2f3233d8106b24c05859f78d84c1065097ea0e4a7a1b8a5880219ffff0352a6e51013c7ed7381b7886ad7a1f0692b83c6aa1f4219b9a92f1e462394eae6035922e9b5b8e0d7dbce9d3db5493804b895b7cba98ed48489fb01b0cbdf896b170360a6f1d37a5dce07352beaf7c5a5da7f5dbe68a104ae1eddda9b1e7474c49636036d1a84b45a14b69c88e71456adacaa903c9cf13e20ebb6c5385adab42fad8a4d03197ba59daca1554e52cf78faef47ba0e01dd9d46a8afd552bcb5159b419cd1690219ffff03da1175ea38b9918ec36544ce0e4477e1099e8d9c53944169f46540dea38e3da90369f96ad0028da0fa6b62754dccd978714ab9b580b13bb051f98653bd4d075a0103225cd9d798a0ff69f86d06b128d52f588e623620f4077c27188188171fb6aff803655c3f0c0ff3b20ff263d661e3c9674ba95b65a2922b7fe6035c7ff7dc71da7003b394020498525e178e32d6d6e74c0dae1a627db63a3bf4909938267becb79b0e03c17d5cb0c3c617a3da3e5dd8bcb1c4e78937f1050cd285264d9e69e03b43f68c03c5a060e07f427601d4fffd0c1f98f029d5f966f3cdc38f7b99f10f3d4048ffb603145873f052b3bc8d239bf6c6156f8e17f58d77bd9bb3f0490cb47827dbff1fbc036ea87d616b81fd12e6f0c850a8d083dc9862b0541b8fc0a7a76fd0d8348febec038068a167bb35491899b679a3fbccb7b088ecb3500d4a9dfdaaa99705dfe8730b030200dcdcbd0633707e5f855db80668d89dc41b3fdb35a3efd4d7ace95a8b829c03f81ae2c0044f8f3e7a8aeae23776ef014d2f0920fdf594ce38459031afdcb33703c5079522b40f6cdbb53b799eb93e1d7a438ae21b5d1d4c6f49441e00490e96b7037873e6c039b3571023ab1ea1ddac82ee1e1b925b846e206157f75602632a374d03563cb8d94f2ef42389b187749071caeb58f853482478a5186f8718717f03f52c036c0c92bacca4de27729582b3249f656d440dfe3eb567d46bdcdf8a5240fcd85f03023c1d80f103b0ddf1e5b6c454920d43ad4b022e973972919569576448315cc40327baa2fc0af952f11b1679c5ed3628ac7b8aa78d0ba0f13be7d0dd92521c7b4203fdddc7d3a6fad9c712d2132df937f932396e5f1e2945db40c618ad973bb9fc4a039ad7716bfd1287dbd742797c57b0d38767a6c70534a9c8305f13ab566da015ea03454985fdcebbbe37c9bd786214b92ee7f489d7a03a2325972fa0c2b582a0d1240372cf7e11161fc70acbf2df8db6ca30593c7320e0403a75e159277ef22df118dc03f1f1be62587b2530377502f6b5b902b4968f06b6eeef3411c282d5e60a1b306c05581e031c079ea9ff7deda37500f40b408c555aa414dd2909c4fb8d06708c8cb00c02471b04c32d9dab4105581e03b7cea30fa486371f1645424fc173122893feb334d839fc0bfc955b2fe00c014743e4851efc5af804595d626080604052600436106102285760003560e01c80638e8920e311610123578063c4552791116100ab578063f3dced3c1161006f578063f3dced3c14610700578063f46901ed14610720578063f7260d3e14610740578063f72f863b14610760578063f851a4401461078057600080fd5b8063c455279114610644578063ca68d8f614610674578063cea8ef5c1461068a578063e2587da1146106c0578063f2fde38b146106e057600080fd5b8063aeee23c4116100f2578063aeee23c414610522578063b796af131461055d578063bb8c17d314610598578063be75ddac146105b8578063c1a8e6fd146105f357600080fd5b80638e8920e3146104bc578063972250fe146104cf578063aa0bd4de146104e2578063adc927af1461050257600080fd5b806359605679116101b15780638129fc1c116101755780638129fc1c1461043157806381a52222146104465780638456cb5914610476578063861a8dcb1461048b5780638da5cb5b1461049e57600080fd5b8063596056791461036e5780635c975abb146103ae578063704b6c02146103c6578063715018a6146103e65780637ae729ca146103fb57600080fd5b80633d21e25a116101f85780633d21e25a146102d35780633eee9156146102e65780633f4ba83a14610306578063474707f01461031b578063534015b31461033b57600080fd5b80621a9f6214610234578063017e7e58146102565780630758d92414610293578063123119cd146102b357600080fd5b3661022f57005b600080fd5b34801561024057600080fd5b5061025461024f366004614d6f565b6107a0565b005b34801561026257600080fd5b5060ce54610276906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561029f57600080fd5b5060cb54610276906001600160a01b031681565b3480156102bf57600080fd5b5060cc54610276906001600160a01b031681565b6102546102e1366004614fa9565b610957565b3480156102f257600080fd5b506102546103013660046150a9565b61097d565b34801561031257600080fd5b506102546109ea565b34801561032757600080fd5b506102546103363660046150dd565b610a42565b34801561034757600080fd5b5060cc5460cd54604080516001600160a01b0393841681529290911660208301520161028a565b34801561037a57600080fd5b5061039e610389366004615194565b60d76020526000908152604090205460ff1681565b604051901515815260200161028a565b3480156103ba57600080fd5b5060335460ff1661039e565b3480156103d257600080fd5b506102546103e13660046151af565b610a84565b3480156103f257600080fd5b50610254610b29565b34801561040757600080fd5b506102766104163660046151cc565b60d4602052600090815260409020546001600160a01b031681565b34801561043d57600080fd5b50610254610b3b565b34801561045257600080fd5b5061039e6104613660046151af565b60d06020526000908152604090205460ff1681565b34801561048257600080fd5b50610254610c67565b6102546104993660046152fc565b610cbd565b3480156104aa57600080fd5b506065546001600160a01b0316610276565b6102546104ca3660046153c5565b610e29565b6102546104dd3660046153f9565b610ee6565b3480156104ee57600080fd5b506102546104fd366004615514565b610eff565b34801561050e57600080fd5b5061025461051d366004614d6f565b6110ab565b34801561052e57600080fd5b5061039e61053d36600461557f565b60d160209081526000928352604080842090915290825290205460ff1681565b34801561056957600080fd5b5061058a6105783660046151cc565b60d36020526000908152604090205481565b60405190815260200161028a565b3480156105a457600080fd5b506102546105b336600461557f565b611254565b3480156105c457600080fd5b5061039e6105d336600461557f565b60d260209081526000928352604080842090915290825290205460ff1681565b3480156105ff57600080fd5b5061062d61060e3660046151af565b60d5602052600090815260409020805460019091015460ff9091169082565b60408051921515835260208301919091520161028a565b34801561065057600080fd5b5061039e61065f3660046151af565b60d66020526000908152604090205460ff1681565b34801561068057600080fd5b5061058a61012c81565b34801561069657600080fd5b506102766106a53660046151cc565b60c9602052600090815260409020546001600160a01b031681565b3480156106cc57600080fd5b506102546106db3660046155a1565b6112f2565b3480156106ec57600080fd5b506102546106fb3660046151af565b61149e565b34801561070c57600080fd5b5060ca54610276906001600160a01b031681565b34801561072c57600080fd5b5061025461073b3660046151af565b611514565b34801561074c57600080fd5b5060cd54610276906001600160a01b031681565b34801561076c57600080fd5b5061025461077b3660046151af565b6115f8565b34801561078c57600080fd5b5060cf54610276906001600160a01b031681565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b031633146107f65760405162461bcd60e51b81526004016107ed9190615683565b60405180910390fd5b5080518251146040518060400160405280601081526020016f1b195b99dd1a081b9bdd08195c5d585b60821b815250906108435760405162461bcd60e51b81526004016107ed9190615683565b5060005b82518110156109525781818151811061086257610862615696565b602002602001015160d0600085848151811061088057610880615696565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f0bf1a6b9bd400a8478e3082dd8932968c39600716acaf5dbf7553e798c1cd36a8382815181106108f2576108f2615696565b602002602001015183838151811061090c5761090c615696565b60200260200101516040516109389291906001600160a01b039290921682521515602082015260400190565b60405180910390a18061094a816156c2565b915050610847565b505050565b61095f6116dc565b610967611735565b6109708161177b565b61097a6001609755565b50565b6109856116dc565b61098d611735565b33600090815260d0602090815260409182902054825180840190935260088352676f6e6c79206d706360c01b9183019190915260ff166109e05760405162461bcd60e51b81526004016107ed9190615683565b50610970816122c8565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b03163314610a375760405162461bcd60e51b81526004016107ed9190615683565b50610a40612a51565b565b610a4a6116dc565b610a52611735565b610a69610a6260208501856151af565b8383612aa3565b610a7a610a75846156db565b61177b565b6109526001609755565b610a8c612c02565b60408051808201909152600981526806164647265737320360bc1b60208201526001600160a01b038216610ad35760405162461bcd60e51b81526004016107ed9190615683565b5060cf80546001600160a01b0319166001600160a01b0383169081179091556040519081527f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c906020015b60405180910390a150565b610b31612c02565b610a406000612c5c565b600054610100900460ff1615808015610b5b5750600054600160ff909116105b80610b755750303b158015610b75575060005460ff166001145b610bd85760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016107ed565b6000805460ff191660011790558015610bfb576000805461ff0019166101001790555b610c03612cae565b610c0b612cdd565b610c13612d0c565b60cf80546001600160a01b03191633179055801561097a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610b1e565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b03163314610cb45760405162461bcd60e51b81526004016107ed9190615683565b50610a40612d3b565b610cc56116dc565b610ccd611735565b33600090815260d0602090815260409182902054825180840190935260088352676f6e6c79206d706360c01b9183019190915260ff16610d205760405162461bcd60e51b81526004016107ed9190615683565b503460005b8351811015610d8d57610d50848281518110610d4357610d43615696565b6020026020010151612d78565b838181518110610d6257610d62615696565b60200260200101516020015182610d7991906156e7565b915080610d85816156c2565b915050610d25565b5060005b8251811015610dce57610dbc838281518110610daf57610daf615696565b60200260200101516122c8565b80610dc6816156c2565b915050610d91565b5060408051808201909152601481527306c6566742076616c7565206d75737420626520360641b60208201528115610e195760405162461bcd60e51b81526004016107ed9190615683565b5050610e256001609755565b5050565b610e316116dc565b610e39611735565b33600090815260d0602090815260409182902054825180840190935260088352676f6e6c79206d706360c01b9183019190915260ff16610e8c5760405162461bcd60e51b81526004016107ed9190615683565b508060200151341460405180604001604052806011815260200170696e76616c6964206d73672076616c756560781b81525090610edc5760405162461bcd60e51b81526004016107ed9190615683565b5061097081612d78565b610eee6116dc565b610ef6611735565b61097081612f39565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b03163314610f4c5760405162461bcd60e51b81526004016107ed9190615683565b5060408051808201909152601081526f1b195b99dd1a081b9bdd08195c5d585b60821b6020820152838214610f945760405162461bcd60e51b81526004016107ed9190615683565b5060005b838110156110a457828282818110610fb257610fb2615696565b9050602002016020810190610fc791906151af565b60c96000878785818110610fdd57610fdd615696565b90506020020135815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555084848281811061102857611028615696565b905060200201357f0f86ee2bbb4d6370cc5e337c548e9af76e112c16b1aa97877c11e1328fa8ca3984848481811061106257611062615696565b905060200201602081019061107791906151af565b6040516001600160a01b03909116815260200160405180910390a28061109c816156c2565b915050610f98565b5050505050565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b031633146110f85760405162461bcd60e51b81526004016107ed9190615683565b5080518251146040518060400160405280601081526020016f1b195b99dd1a081b9bdd08195c5d585b60821b815250906111455760405162461bcd60e51b81526004016107ed9190615683565b5060005b82518110156109525781818151811061116457611164615696565b602002602001015160d6600085848151811061118257611182615696565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f4519d4931af171182c3df6a6b61730c684f07903a4bd23a3edbff97685da43748382815181106111f4576111f4615696565b602002602001015183838151811061120e5761120e615696565b602002602001015160405161123a9291906001600160a01b039290921682521515602082015260400190565b60405180910390a18061124c816156c2565b915050611149565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b031633146112a15760405162461bcd60e51b81526004016107ed9190615683565b50600082815260d3602090815260409182902083905581518481529081018390527f7ef26aca67d68e814b326749559541e70261dc0bb13ec23b061cb4efae5bf10a91015b60405180910390a15050565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b0316331461133f5760405162461bcd60e51b81526004016107ed9190615683565b5080518251146040518060400160405280601081526020016f1b195b99dd1a081b9bdd08195c5d585b60821b8152509061138c5760405162461bcd60e51b81526004016107ed9190615683565b5060005b8251811015610952578181815181106113ab576113ab615696565b602002602001015160d760008584815181106113c9576113c9615696565b60200260200101516001600160e01b0319166001600160e01b031916815260200190815260200160002060006101000a81548160ff0219169083151502179055507f2fc5194644b0d028829e475d57cad5ccad073d27cef6d863b7bd7ed88ae9a2c183828151811061143d5761143d615696565b602002602001015183838151811061145757611457615696565b60200260200101516040516114849291906001600160e01b03199290921682521515602082015260400190565b60405180910390a180611496816156c2565b915050611390565b6114a6612c02565b6001600160a01b03811661150b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107ed565b61097a81612c5c565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b031633146115615760405162461bcd60e51b81526004016107ed9190615683565b5060408051808201909152600981526806164647265737320360bc1b60208201526001600160a01b0382166115a95760405162461bcd60e51b81526004016107ed9190615683565b5060ce80546001600160a01b0319166001600160a01b0383169081179091556040519081527f3dedba2a214b4fff9bf20fc473c114824654e0bc70512b4a92f6d5978763c28d90602001610b1e565b60cf5460408051808201909152600a81526937b7363c9030b236b4b760b11b6020820152906001600160a01b031633146116455760405162461bcd60e51b81526004016107ed9190615683565b5060408051808201909152600981526806164647265737320360bc1b60208201526001600160a01b03821661168d5760405162461bcd60e51b81526004016107ed9190615683565b5060cb80546001600160a01b0319166001600160a01b0383169081179091556040519081527f33f0bdb7050bc888ca819c34892844adff2a3109dc1810301e8fd6af0ac7edb990602001610b1e565b60026097540361172e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016107ed565b6002609755565b60335460ff1615610a405760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016107ed565b6117df60405180610120016040528060006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160006001600160e01b0319168152602001606081525090565b60608201516040805180820190915260118152701a5b9d985b1a59081859185c1d1bdc9251607a1b60208201529061182a5760405162461bcd60e51b81526004016107ed9190615683565b506060820151600090815260c96020908152604091829020546001600160a01b031680845282518084019093526017835276696e76616c69642061646170746f72206164647265737360481b9183019190915261189a5760405162461bcd60e51b81526004016107ed9190615683565b50815160408051808201909152600981526806164647265737320360bc1b6020820152906001600160a01b03166118e45760405162461bcd60e51b81526004016107ed9190615683565b5060006001600160a01b031682602001516001600160a01b031614156040518060400160405280600981526020016806164647265737320360bc1b815250906119405760405162461bcd60e51b81526004016107ed9190615683565b5081602001516001600160a01b031682600001516001600160a01b031614156040518060400160405280600d81526020016c1859191c995cdcc8195c5d585b609a1b815250906119a35760405162461bcd60e51b81526004016107ed9190615683565b506040808301518151808301909252600982526806164647265737320360bc1b60208301526001600160a01b03166119ee5760405162461bcd60e51b81526004016107ed9190615683565b5060cb5460408051808201909152600981526806164647265737320360bc1b6020820152906001600160a01b0316611a395760405162461bcd60e51b81526004016107ed9190615683565b5060a08201516040805180820190915260128152710616d6f756e74206d757374206265203e20360741b602082015290611a865760405162461bcd60e51b81526004016107ed9190615683565b5060c082015160408051808201909152601681527506d696e20616d6f756e74206d757374206265203e20360541b602082015290611ad75760405162461bcd60e51b81526004016107ed9190615683565b50608082015160c081901c90602081901c6001600160a01b03169063ffffffff166080840152606083015260a08201526020820151611b15906133e5565b604082015261012082015160d790600090611b2f906156fa565b6001600160e01b03191681526020808201929092526040908101600020548151808301909252600f82526e195c9c881cd95b1958dd1bdc881a59608a1b928201929092529060ff16611b945760405162461bcd60e51b81526004016107ed9190615683565b5060cc80546001600160a01b0319908116331790915560cd80549091163017905560a082015182516101408401516000928392611bd0926133f7565b6101408601819052855191935091506001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed1901611d275760a0840151611c1283346156e7565b101560405180604001604052806011815260200170696e76616c6964206d73672076616c756560781b81525090611c5c5760405162461bcd60e51b81526004016107ed9190615683565b5073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031684602001516001600160a01b031603611cab57611c9f30308660a0015160006136a6565b151560c0840152611dfd565b60cb5460a08501516101208601516040516001600160a01b0390931692611cd29190615731565b60006040518083038185875af1925050503d8060008114611d0f576040519150601f19603f3d011682016040523d82523d6000602084013e611d14565b606091505b50610100850152151560c0840152611dfd565b83516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2148015611d74575060208401516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b15611d8a57611c9f33308660a0015160016136a6565b60cb546101208501516040516001600160a01b0390921691611dac9190615731565b6000604051808303816000865af19150503d8060008114611de9576040519150601f19603f3d011682016040523d82523d6000602084013e611dee565b606091505b50610100850152151560c08401525b60cc80546001600160a01b031990811690915560cd8054909116905560c08301516101008401515115611e6757611e628461010001516040518060400160405280601181526020017003232bc103937baba32b91032b939101d1607d1b8152506139a2565b611e93565b604051806040016040528060128152602001711a5b9d195c9b985b081ddc985c0819985a5b60721b8152505b90611eb15760405162461bcd60e51b81526004016107ed9190615683565b508260400151611ec485602001516133e5565b611ece91906156e7565b602084015260c08401516060840151611ee7919061574d565b836020015110156040518060400160405280600e81526020016d36b4b71030b6b7bab73a1032b93960911b81525090611f335760405162461bcd60e51b81526004016107ed9190615683565b5060ce5460208501516060850151611f55926001600160a01b03169190613b05565b82606001518360200151611f6991906156e7565b83602001818152505073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031684602001516001600160a01b03160361203b5782600001516001600160a01b0316636f82189d348560200151611fc6919061574d565b33876040015133896020015189602001518a608001518c61010001516040518963ffffffff1660e01b81526004016120049796959493929190615760565b6000604051808303818588803b15801561201d57600080fd5b505af1158015612031573d6000803e3d6000fd5b505050505061212b565b612052836000015185602001518560200151613b05565b83516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed19016120a65782600001516001600160a01b0316636f82189d8560a00151843461209c91906156e7565b611fc691906156e7565b82600001516001600160a01b0316636f82189d3433876040015133896020015189602001518a608001518c61010001516040518963ffffffff1660e01b81526004016120f89796959493929190615760565b6000604051808303818588803b15801561211157600080fd5b505af1158015612125573d6000803e3d6000fd5b50505050505b60006121558460a001518560800151876060015188604001518961010001518a6101400151613be5565b905084606001517fb9dae57db52a734b183c77227c96068231beb6a93a060ca7a9d3164f716714ea33876040015188600001518960a001518a602001518a602001518b60600151896040516121b19897969594939291906157f2565b60405180910390a273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031685602001516001600160a01b03160361225a578360400151346121fd87602001516133e5565b612207919061574d565b101560405180604001604052806014815260200173736c617368206d75636820746f6f206d6f6e657960601b815250906122545760405162461bcd60e51b81526004016107ed9190615683565b506110a4565b836040015161226c86602001516133e5565b101560405180604001604052806014815260200173736c617368206d75636820746f6f206d6f6e657960601b815250906122b95760405162461bcd60e51b81526004016107ed9190615683565b505050505050565b6001609755565b60006122d782600001516133e5565b90506000826080015183606001516122ef919061574d565b90506122fb8382613ed8565b60408051808201909152600f81526e6e6f20656e6f756768206d6f6e657960881b6020820152818310156123425760405162461bcd60e51b81526004016107ed9190615683565b5060cb5460408051808201909152600981526806164647265737320360bc1b6020820152906001600160a01b031661238d5760405162461bcd60e51b81526004016107ed9190615683565b5060a0830151600090815260d16020908152604080832060c0870151845282529182902054825180840190935260088352671a185cc81c185a5960c21b9183019190915260ff16156123f25760405162461bcd60e51b81526004016107ed9190615683565b5060a0830151600090815260d16020908152604080832060c087015184528252808320805460ff191660019081179091558151818152808301909252909182810190803683370190505090508360c001518160008151811061245657612456615696565b602090810291909101015260ce54845160808601516000926060928392612487926001600160a01b03169190613b05565b60e0870151511561294a5760006124a68860200151896040015161425d565b60cc8054306001600160a01b03199182161790915560408a015160cd80549092166001600160a01b039182161790915589519192501673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed19016125ea5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031688602001516001600160a01b0316036125775761253d3089604001518a6060015160006136a6565b93508361257257604051806040016040528060128152602001711a5b9d195c9b985b081ddc985c0819985a5b60721b81525091505b6127e4565b60cb54606089015160e08a01516040516001600160a01b039093169261259d9190615731565b60006040518083038185875af1925050503d80600081146125da576040519150601f19603f3d011682016040523d82523d6000602084013e6125df565b606091505b5090945092506127e4565b87516001600160a01b031673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2148015612637575060208801516001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b156126515761253d3089604001518a6060015160016136a6565b60007370cbb871e8f30fc8ce23609e9e0ea87b6b222f586001600160a01b0316631c6eced56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156126a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126c99190615853565b60608a01518a519192506126e8916001600160a01b0316908390614305565b60cb5460e08a01516040516001600160a01b03909216916127099190615731565b6000604051808303816000865af19150503d8060008114612746576040519150601f19603f3d011682016040523d82523d6000602084013e61274b565b606091505b508a51604051636eb1769f60e11b81523060048201526001600160a01b038581166024830152939850919650919091169063dd62ed3e90604401602060405180830381865afa1580156127a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127c69190615870565b156127e25788516127e2906001600160a01b0316826000614305565b505b831580156127f3575060008351115b1561282e5761282b836040518060400160405280601181526020017003232bc103937baba32b91032b939101d1607d1b8152506139a2565b91505b60cc80546001600160a01b031990811690915560cd80549091169055836128cb57612866886040015189600001518a60600151613b05565b7f6d1b775ce655ea3b568c59e0f161908781f216e4d9feb04fa524ca23a44f4b07886040015189600001518a602001518b6060015160008d608001518e60a00151898d6040516128be99989796959493929190615889565b60405180910390a1612944565b806128de89602001518a6040015161425d565b6128e891906156e7565b6040808a01518a5160208c015160808d015160a08e015194519596507f6d1b775ce655ea3b568c59e0f161908781f216e4d9feb04fa524ca23a44f4b079561293b9560009289929091908b908f90615889565b60405180910390a15b506129e2565b50604080518082018252600a8152695f5f726566756e645f5f60b01b60208201529087015187516060890151612981929190613b05565b7f6d1b775ce655ea3b568c59e0f161908781f216e4d9feb04fa524ca23a44f4b078760400151886000015189602001518a6060015160008c608001518d60a00151888c6040516129d999989796959493929190615889565b60405180910390a15b846129f088600001516133e5565b6129fa90886156e7565b111560405180604001604052806014815260200173736c617368206d75636820746f6f206d6f6e657960601b81525090612a475760405162461bcd60e51b81526004016107ed9190615683565b5050505050505050565b612a5961444d565b6033805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b8015610952576000606060e0839003612b44576040516001600160a01b03861690612add9063d505accf60e01b90879087906020016158fa565b60408051601f1981840301815290829052612af791615731565b6000604051808303816000865af19150503d8060008114612b34576040519150601f19603f3d011682016040523d82523d6000602084013e612b39565b606091505b509092509050612bb3565b610100839003612b75576040516001600160a01b03861690612add906323f2ebc360e21b90879087906020016158fa565b60405162461bcd60e51b81526020600482015260136024820152720aee4dedcce40e0cae4dad2e840d8cadccee8d606b1b60448201526064016107ed565b816110a457612be9816040518060400160405280600f81526020016e02832b936b4ba103330b4b632b21d1608d1b8152506139a2565b60405162461bcd60e51b81526004016107ed9190615683565b6065546001600160a01b03163314610a405760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107ed565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff16612cd55760405162461bcd60e51b81526004016107ed9061591e565b610a40614496565b600054610100900460ff16612d045760405162461bcd60e51b81526004016107ed9061591e565b610a406144c9565b600054610100900460ff16612d335760405162461bcd60e51b81526004016107ed9061591e565b610a406144f0565b612d43611735565b6033805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612a863390565b600160005260d360209081527fb0a3e43c7bb3d788f8bb37bbdf867a9bb5c27b60c1c3803c8e0f152e14296a16548282015160408051808201909152601281527165786365656420616c6c6f7765642067617360701b938101939093521115612df45760405162461bcd60e51b81526004016107ed9190615683565b50604080820151600090815260d2602090815282822060608501518352815290829020548251808401909352600f83526e68617320726563656976652067617360881b9183019190915260ff1615612e5f5760405162461bcd60e51b81526004016107ed9190615683565b50604080820151600090815260d26020908152828220606085015183528152919020805460ff19166001179055815190820151612eb2919073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee90613b05565b60408051600180825281830190925260009160208083019080368337019050509050816060015181600081518110612eec57612eec615696565b6020026020010181815250507fc9f1b98ce4fd29c9b2de9c4514957faa4bf8fbcad43c471530fb873726c3c286826000015183602001518460400151846040516112e69493929190615969565b80516040805180820190915260118152701a5b9d985b1a59081859185c1d1bdc9251607a1b602082015290612f815760405162461bcd60e51b81526004016107ed9190615683565b508051600090815260c960209081526040918290205482518084019093526017835276696e76616c69642061646170746f72206164647265737360481b918301919091526001600160a01b03169081612fed5760405162461bcd60e51b81526004016107ed9190615683565b5060006001600160a01b031682602001516001600160a01b031614156040518060400160405280600981526020016806164647265737320360bc1b815250906130495760405162461bcd60e51b81526004016107ed9190615683565b506040808301518151808301909252600982526806164647265737320360bc1b60208301526001600160a01b03166130945760405162461bcd60e51b81526004016107ed9190615683565b5060808201516040805180820190915260128152710616d6f756e74206d757374206265203e20360741b6020820152906130e15760405162461bcd60e51b81526004016107ed9190615683565b5060408051808201909152600081526060602082015261310e836080015184604001518560c001516133f7565b6020830181905290825260c0840152606083015134906000908190819061314d9060c081901c916001600160a01b03602083901c169163ffffffff1690565b92509250925073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6001600160a01b031687604001516001600160a01b0316036132b5578451608088015161319690849061574d565b6131a0919061574d565b34101560405180604001604052806011815260200170696e76616c6964206d73672076616c756560781b815250906131eb5760405162461bcd60e51b81526004016107ed9190615683565b5084516131f890856156e7565b935081156132b05760ce546040516000916001600160a01b03169084908381818185875af1925050503d806000811461324d576040519150601f19603f3d011682016040523d82523d6000602084013e613252565b606091505b505090508060405180604001604052806013815260200172115512081d1c985b9cd9995c8819985a5b1959606a1b815250906132a15760405162461bcd60e51b81526004016107ed9190615683565b506132ac83866156e7565b9450505b6132ef565b81156132db5760ce5460408801516132db9133916001600160a01b039091169085614520565b6132ef338789604001518a60800151614520565b602087015160408089015160808a015160a08b01519251636f82189d60e01b81526001600160a01b038b1694636f82189d948a9461333594339485938b91600401615760565b6000604051808303818588803b15801561334e57600080fd5b505af1158015613362573d6000803e3d6000fd5b5050505050600061338784838a600001518b602001518c60a001518d60c00151613be5565b905087600001517ff6481cbc1da19356c5cb6b884be507da735b89f21dc4bbb7c9b7cc0968b03b7a338a602001518b604001518c6080015188876040516133d396959493929190615996565b60405180910390a25050505050505050565b60006133f1823061425d565b92915050565b60006060601f193601356561aefa81eaab60d11b6001600160d01b03198216016136995760408051808201909152601b81527f6572726f7220636f6d6d697373696f6e2072617465206c696d6974000000000060208201526001600160a01b0382169065ffffffffffff60a084901c169061012c82111561348b5760405162461bcd60e51b81526004016107ed9190615683565b50613498816127106156e7565b6134a2828a6159e4565b6134ac91906159fb565b945073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03881601613585576000826001600160a01b03168660405160006040518083038185875af1925050503d8060008114613520576040519150601f19603f3d011682016040523d82523d6000602084013e613525565b606091505b50509050806040518060400160405280601b81526020017f636f6d6d697373696f6e2077697468206574686572206572726f7200000000008152509061357e5760405162461bcd60e51b81526004016107ed9190615683565b5050613591565b61359133838988614520565b855161359e6020826156e7565b6001600160401b038111156135b5576135b5614bf1565b6040519080825280601f01601f1916602001820160405280156135df576020820181803683370190505b50945060005b6135f06020836156e7565b81101561364f5787818151811061360957613609615696565b602001015160f81c60f81b86828151811061362657613626615696565b60200101906001600160f81b031916908160001a90535080613647816156c2565b9150506135e5565b50604080518781526001600160a01b03851660208201527fffc60ee157a42f4d8edbd1897e6581a96d9ed04e44fb2ab53a47ce1eb8f2775b910160405180910390a150505061369d565b8391505b50935093915050565b60008083116040518060400160405280601781526020017f7772617020616d6f756e74206d757374206265203e2030000000000000000000815250906136ff5760405162461bcd60e51b81526004016107ed9190615683565b5081156138fe57306001600160a01b038616036137ac5760405163a9059cbb60e01b8152735703b683c7f928b721ca95da988d73a3299d475760048201526024810184905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29063a9059cbb906044016020604051808303816000875af1158015613782573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137a69190615a1d565b506137e0565b6137e085735703b683c7f928b721ca95da988d73a3299d475773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc286614520565b604051632e1a7d4d60e01b815260048101849052735703b683c7f928b721ca95da988d73a3299d475790632e1a7d4d90602401600060405180830381600087803b15801561382d57600080fd5b505af1158015613841573d6000803e3d6000fd5b505050506001600160a01b03841630146138f9576000846001600160a01b03168460405160006040518083038185875af1925050503d80600081146138a2576040519150601f19603f3d011682016040523d82523d6000602084013e6138a7565b606091505b505090508060405180604001604052806013815260200172115512081d1c985b9cd9995c8819985a5b1959606a1b815250906138f65760405162461bcd60e51b81526004016107ed9190615683565b50505b613996565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b15801561394d57600080fd5b505af1158015613961573d6000803e3d6000fd5b505050506001600160a01b038516301490506139965761399673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc285856145a0565b5060015b949350505050565b60606004835110613ad35760208301516001600160e01b0319811662461bcd60e51b1480156139d357506044845110155b15613a73576024848101518086018201805191929091906139f590849061574d565b6139ff919061574d565b86511015613a475760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b60448201526064016107ed565b8481604051602001613a5a929190615a3a565b60405160208183030381529060405293505050506133f1565b6001600160e01b03198116634e487b7160e01b148015613a94575083516024145b15613ad157602484015183613aa8826145d0565b604051602001613ab9929190615a89565b604051602081830303815290604052925050506133f1565b505b81613add846145f8565b604051602001613aee929190615abe565b604051602081830303815290604052905092915050565b80156109525773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03831601613bd1576000836001600160a01b03168260405160006040518083038185875af1925050503d8060008114613b7d576040519150601f19603f3d011682016040523d82523d6000602084013e613b82565b606091505b505090508060405180604001604052806013815260200172115512081d1c985b9cd9995c8819985a5b1959606a1b815250906110a45760405162461bcd60e51b81526004016107ed9190615683565b6109526001600160a01b03831684836145a0565b60408051600680825260e082019092526060916020820160c0803683370190505090508660001b81600081518110613c1f57613c1f615696565b6020026020010181815250508560001b81600181518110613c4257613c42615696565b6020026020010181815250506001851480613c5d5750600285145b15613cf5576040516bffffffffffffffffffffffff19606086901b166020820152603401604051602081830303815290604052613c9990615b0f565b81600281518110613cac57613cac615696565b60209081029190910181019190915260408051600081529182019052613cd190615b0f565b81600381518110613ce457613ce4615696565b602002602001018181525050613da7565b60038503613da757600083806020019051810190613d139190615b7b565b50925050506000613d23826147df565b905080600081518110613d3857613d38615696565b602002602001015183600281518110613d5357613d53615696565b602002602001018181525050600181511115613da45780600181518110613d7c57613d7c615696565b602002602001015183600381518110613d9757613d97615696565b6020026020010181815250505b50505b815115613e5957600082806020019051810190613dc49190615bf9565b90506000613dd1826147df565b905080600081518110613de657613de6615696565b602002602001015183600481518110613e0157613e01615696565b602002602001018181525050600181511115613e525780600181518110613e2a57613e2a615696565b602002602001015183600581518110613e4557613e45615696565b6020026020010181815250505b5050613ece565b80600281518110613e6c57613e6c615696565b602002602001015181600481518110613e8757613e87615696565b60200260200101818152505080600381518110613ea657613ea6615696565b602002602001015181600581518110613ec157613ec1615696565b6020026020010181815250505b9695505050505050565b600080836101000151806020019051810190613ef49190615c2d565b91509150600080600080613f0886866148aa565b60408051808201909152600b81526a3d32b9379039b4b3b732b960a91b6020820152939750919550935091506001600160a01b038516613f5b5760405162461bcd60e51b81526004016107ed9190615683565b506001600160a01b038416600090815260d66020908152604091829020548251808401909352601083526f6e6f74206f7261636c652070726f787960801b9183019190915260ff16613fc05760405162461bcd60e51b81526004016107ed9190615683565b50600360005260d360209081527f64de0974ce81404dc9f7f680a2e3b4cfc70679cd50192b307cda861d6e23b6505460408051808201909152600c81526b195c9c8818da185a5b881a5960a21b9281019290925284146140335760405162461bcd60e51b81526004016107ed9190615683565b5060408051808201909152601681527531b7b73a3930b1ba1030b2323932b9b99032b93937b960511b60208201526001600160a01b038316301461408a5760405162461bcd60e51b81526004016107ed9190615683565b5080602001518860c001511460405180604001604052806014815260200173636c61696d206e6f206f7261636c6520696e666f60601b815250906140e15760405162461bcd60e51b81526004016107ed9190615683565b50604080820151898201518251808401909352601483527331b630b4b6903a379030b2323932b9b99032b93960611b60208401526001600160a01b039081169116146141405760405162461bcd60e51b81526004016107ed9190615683565b506060810151885160408051808201909152601781527f636c61696d20746f6b656e2061646472657373206572720000000000000000006020820152916001600160a01b039182169116146141a85760405162461bcd60e51b81526004016107ed9190615683565b506002600090815260d36020527f8f145ec1981fda056bae73a9467bf215a78583d2d921572993bc5b1783a6fe0c549060646141e4818461574d565b8460a001516141f391906159e4565b6141fd91906159fb565b9050808911156040518060400160405280601681526020017531b630b4b6903a37b5b2b71030b6b7bab73a1032b93960511b815250906142505760405162461bcd60e51b81526004016107ed9190615683565b5050505050505050505050565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146142f2576040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa1580156142c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142ed9190615870565b6142fe565b816001600160a01b0316315b9392505050565b80158061437f5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015614359573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061437d9190615870565b155b6143ea5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016107ed565b6040516001600160a01b03831660248201526044810182905261095290849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526149f9565b60335460ff16610a405760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107ed565b600054610100900460ff166144bd5760405162461bcd60e51b81526004016107ed9061591e565b6033805460ff19169055565b600054610100900460ff166122c15760405162461bcd60e51b81526004016107ed9061591e565b600054610100900460ff166145175760405162461bcd60e51b81526004016107ed9061591e565b610a4033612c5c565b60405163052f523360e11b81526001600160a01b038084166004830152808616602483015284166044820152606481018290527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690608401600060405180830381600087803b15801561458c57600080fd5b505af1158015612a47573d6000803e3d6000fd5b6040516001600160a01b03831660248201526044810182905261095290849063a9059cbb60e01b90606401614416565b60606133f1826040516020016145e891815260200190565b6040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b906000906146209060026159e4565b61462b90600261574d565b6001600160401b0381111561464257614642614bf1565b6040519080825280601f01601f19166020018201604052801561466c576020820181803683370190505b509050600360fc1b8160008151811061468757614687615696565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106146b6576146b6615696565b60200101906001600160f81b031916908160001a90535060005b84518110156147d7578260048683815181106146ee576146ee615696565b01602001516001600160f81b031916901c60f81c6010811061471257614712615696565b1a60f81b826147228360026159e4565b61472d90600261574d565b8151811061473d5761473d615696565b60200101906001600160f81b031916908160001a9053508285828151811061476757614767615696565b60209101015160f81c600f166010811061478357614783615696565b1a60f81b826147938360026159e4565b61479e90600361574d565b815181106147ae576147ae615696565b60200101906001600160f81b031916908160001a905350806147cf816156c2565b9150506146d0565b509392505050565b6060600060208351601f6147f3919061574d565b6147fd91906159fb565b9050806001600160401b0381111561481757614817614bf1565b604051908082528060200260200182016040528015614840578160200160208202803683370190505b50915060005b818110156148a35760008061485c8360206159e4565b61486790602061574d565b90508086015191508185848151811061488257614882615696565b6020026020010181815250505050808061489b906156c2565b915050614846565b5050919050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101829052819081906000806000878060200190518101906148f89190615c86565b9250925092506000898051906020012060405160200161494491907f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60408051601f1981840301815282825280516020918201206000845290830180835281905260ff8516918301919091526060820186905260808201859052915060019060a0016020604051602081039080840390855afa1580156149ac573d6000803e3d6000fd5b50505060206040510351975050505050858060200190518101906149d09190615cc5565b60a089015260808801526060870152604086015260208501528352909350915092959194509250565b6000614a4e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614ace9092919063ffffffff16565b9050805160001480614a6f575080806020019051810190614a6f9190615a1d565b6109525760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107ed565b606061399a848460008585600080866001600160a01b03168587604051614af59190615731565b60006040518083038185875af1925050503d8060008114614b32576040519150601f19603f3d011682016040523d82523d6000602084013e614b37565b606091505b5091509150614b4887838387614b53565b979650505050505050565b60608315614bc2578251600003614bbb576001600160a01b0385163b614bbb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107ed565b508161399a565b61399a8383815115614bd75781518083602001fd5b8060405162461bcd60e51b81526004016107ed9190615683565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b0381118282101715614c2a57614c2a614bf1565b60405290565b60405161012081016001600160401b0381118282101715614c2a57614c2a614bf1565b60405160e081016001600160401b0381118282101715614c2a57614c2a614bf1565b604051601f8201601f191681016001600160401b0381118282101715614c9d57614c9d614bf1565b604052919050565b60006001600160401b03821115614cbe57614cbe614bf1565b5060051b60200190565b6001600160a01b038116811461097a57600080fd5b8035614ce881614cc8565b919050565b801515811461097a57600080fd5b600082601f830112614d0c57600080fd5b81356020614d21614d1c83614ca5565b614c75565b82815260059290921b84018101918181019086841115614d4057600080fd5b8286015b84811015614d64578035614d5781614ced565b8352918301918301614d44565b509695505050505050565b60008060408385031215614d8257600080fd5b82356001600160401b0380821115614d9957600080fd5b818501915085601f830112614dad57600080fd5b81356020614dbd614d1c83614ca5565b82815260059290921b84018101918181019089841115614ddc57600080fd5b948201945b83861015614e03578535614df481614cc8565b82529482019490820190614de1565b96505086013592505080821115614e1957600080fd5b50614e2685828601614cfb565b9150509250929050565b60006001600160401b03821115614e4957614e49614bf1565b50601f01601f191660200190565b600082601f830112614e6857600080fd5b8135614e76614d1c82614e30565b818152846020838601011115614e8b57600080fd5b816020850160208301376000918101602001919091529392505050565b60006101608284031215614ebb57600080fd5b614ec3614c07565b9050614ece82614cdd565b8152614edc60208301614cdd565b6020820152614eed60408301614cdd565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e082013560e0820152610100808301356001600160401b0380821115614f4057600080fd5b614f4c86838701614e57565b83850152610120925082850135915080821115614f6857600080fd5b614f7486838701614e57565b83850152610140925082850135915080821115614f9057600080fd5b50614f9d85828601614e57565b82840152505092915050565b600060208284031215614fbb57600080fd5b81356001600160401b03811115614fd157600080fd5b61399a84828501614ea8565b60006101208284031215614ff057600080fd5b614ff8614c30565b905061500382614cdd565b815261501160208301614cdd565b602082015261502260408301614cdd565b6040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015260e08201356001600160401b038082111561506957600080fd5b61507585838601614e57565b60e08401526101009150818401358181111561509057600080fd5b61509c86828701614e57565b8385015250505092915050565b6000602082840312156150bb57600080fd5b81356001600160401b038111156150d157600080fd5b61399a84828501614fdd565b6000806000604084860312156150f257600080fd5b83356001600160401b038082111561510957600080fd5b90850190610160828803121561511e57600080fd5b9093506020850135908082111561513457600080fd5b818601915086601f83011261514857600080fd5b81358181111561515757600080fd5b87602082850101111561516957600080fd5b6020830194508093505050509250925092565b80356001600160e01b031981168114614ce857600080fd5b6000602082840312156151a657600080fd5b6142fe8261517c565b6000602082840312156151c157600080fd5b81356142fe81614cc8565b6000602082840312156151de57600080fd5b5035919050565b600060a082840312156151f757600080fd5b60405160a081016001600160401b03828210818311171561521a5761521a614bf1565b816040528293508435915061522e82614cc8565b818352602085013560208401526040850135604084015260608501356060840152608085013591508082111561526357600080fd5b5061527085828601614e57565b6080830152505092915050565b600082601f83011261528e57600080fd5b8135602061529e614d1c83614ca5565b82815260059290921b840181019181810190868411156152bd57600080fd5b8286015b84811015614d645780356001600160401b038111156152e05760008081fd5b6152ee8986838b0101614fdd565b8452509183019183016152c1565b6000806040838503121561530f57600080fd5b82356001600160401b038082111561532657600080fd5b818501915085601f83011261533a57600080fd5b8135602061534a614d1c83614ca5565b82815260059290921b8401810191818101908984111561536957600080fd5b8286015b848110156153a1578035868111156153855760008081fd5b6153938c86838b01016151e5565b84525091830191830161536d565b50965050860135925050808211156153b857600080fd5b50614e268582860161527d565b6000602082840312156153d757600080fd5b81356001600160401b038111156153ed57600080fd5b61399a848285016151e5565b60006020828403121561540b57600080fd5b81356001600160401b038082111561542257600080fd5b9083019060e0828603121561543657600080fd5b61543e614c53565b8235815261544e60208401614cdd565b602082015261545f60408401614cdd565b6040820152606083013560608201526080830135608082015260a08301358281111561548a57600080fd5b61549687828601614e57565b60a08301525060c0830135828111156154ae57600080fd5b6154ba87828601614e57565b60c08301525095945050505050565b60008083601f8401126154db57600080fd5b5081356001600160401b038111156154f257600080fd5b6020830191508360208260051b850101111561550d57600080fd5b9250929050565b6000806000806040858703121561552a57600080fd5b84356001600160401b038082111561554157600080fd5b61554d888389016154c9565b9096509450602087013591508082111561556657600080fd5b50615573878288016154c9565b95989497509550505050565b6000806040838503121561559257600080fd5b50508035926020909101359150565b600080604083850312156155b457600080fd5b82356001600160401b03808211156155cb57600080fd5b818501915085601f8301126155df57600080fd5b813560206155ef614d1c83614ca5565b82815260059290921b8401810191818101908984111561560e57600080fd5b948201945b83861015614e03576156248661517c565b82529482019490820190615613565b60005b8381101561564e578181015183820152602001615636565b50506000910152565b6000815180845261566f816020860160208601615633565b601f01601f19169290920160200192915050565b6020815260006142fe6020830184615657565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016156d4576156d46156ac565b5060010190565b60006133f13683614ea8565b818103818111156133f1576133f16156ac565b805160208201516001600160e01b031980821692919060048310156157295780818460040360031b1b83161693505b505050919050565b60008251615743818460208701615633565b9190910192915050565b808201808211156133f1576133f16156ac565b6001600160a01b03888116825287811660208301528681166040830152851660608201526080810184905260a0810183905260e060c082018190526000906157aa90830184615657565b9998505050505050505050565b600081518084526020808501945080840160005b838110156157e7578151875295820195908201906001016157cb565b509495945050505050565b6001600160a01b03898116825288811660208301528781166040830152606082018790528516608082015260a0810184905260c0810183905261010060e08201819052600090615844838201856157b7565b9b9a5050505050505050505050565b60006020828403121561586557600080fd5b81516142fe81614cc8565b60006020828403121561588257600080fd5b5051919050565b600061012060018060a01b03808d168452808c166020850152808b166040850152508860608401528760808401528660a08401528560c08401528060e08401526158d581840186615657565b90508281036101008401526158ea81856157b7565b9c9b505050505050505050505050565b6001600160e01b031984168152818360048301376000910160040190815292915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60018060a01b0385168152836020820152826040820152608060608201526000613ece60808301846157b7565b6001600160a01b038781168252868116602083015285166040820152606081018490526080810183905260c060a082018190526000906159d8908301846157b7565b98975050505050505050565b80820281158282048414176133f1576133f16156ac565b600082615a1857634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215615a2f57600080fd5b81516142fe81614ced565b60008351615a4c818460208801615633565b6508ae4e4dee4560d31b9083019081528351615a6f816006840160208801615633565b602960f81b60069290910191820152600701949350505050565b60008351615a9b818460208801615633565b650a0c2dcd2c6560d31b9083019081528351615a6f816006840160208801615633565b60008351615ad0818460208801615633565b670aadcd6dcdeeedc560c31b9083019081528351615af5816008840160208801615633565b602960f81b60089290910191820152600901949350505050565b80516020808301519190811015615b30576000198160200360031b1b821691505b50919050565b600082601f830112615b4757600080fd5b8151615b55614d1c82614e30565b818152846020838601011115615b6a57600080fd5b61399a826020830160208701615633565b60008060008060808587031215615b9157600080fd5b8451615b9c81614cc8565b60208601519094506001600160401b0380821115615bb957600080fd5b615bc588838901615b36565b94506040870151915080821115615bdb57600080fd5b50615be887828801615b36565b606096909601519497939650505050565b600060208284031215615c0b57600080fd5b81516001600160401b03811115615c2157600080fd5b61399a84828501615b36565b60008060408385031215615c4057600080fd5b82516001600160401b0380821115615c5757600080fd5b615c6386838701615b36565b93506020850151915080821115615c7957600080fd5b50614e2685828601615b36565b600080600060608486031215615c9b57600080fd5b8351925060208401519150604084015160ff81168114615cba57600080fd5b809150509250925092565b600080600080600080600080610100898b031215615ce257600080fd5b885197506020890151615cf481614cc8565b60408a015160608b015160808c015160a08d015160c08e015160e0909e01519c9f949e50929c919b909a50919850965094509250505056fea26469706673582212203e8be36b2869df4619bb105618305e70b502de8d496dc330c44a380a3914672e64736f6c6343000813003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e036d6d7694f04243d7564a2aee4b6f4f522947281c3b66b3a61c07ff98600701195d6205581e031c7079a439afd72c1a346d3c43fe174e18605a5515c5afbd1e462f6c00040105581e0354633a3532c7b4034f57caaccba14ef2aa37fbf94dec371051200a9c300c0b4702eb971f0db65203edf3ea693f229467c02e088ebf3d8e4f1849a167273baa95d588a1274b20db5e031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0390e6eb1335be3c17dafe7b3757af9aa26b8089df11a4611d3eb973b2f007011bffffffffffffffff021933b30351ff0c8cd5573247e4f84fbc5dbd5e565cdd88837ca47b9d4208dfc3c20ec1fc030f17e1883bef9a51ca052c2e1e9da20d112a28805138cc20391759eee864ff4603d381266a797001ef0f7ab49df29d3814877a9784b077c061e22dc59cdaef446503f663e333a9c9fef9d2674423c840a9b3e28e176e4b2b8fda427a0eee26744fc4038250fac86da79b8810fd93271e589710207b05b81f5581d30e6d79ea198c8d6503864a5e6bb74ee2301f6fdc7984bbcfc02cde1599426ce2fba76be18b056371ce03202facbdc13ab7fccb3accfd8bcb6e1cd84730b8b4c07cb67ac13737a79a24c803e3b0333d9cb8ef3deac591bf1918c8ae1e6644c3cad5db8b1c122f547fde74880300737225243d9ca8c9be400fd4e36c545ea6d9e8cc206b0aa46be8d0fde3ce62038e5c25bf456f5127abaa909eab03a27ec66516e1ce2b5730e0242bd6e76f45a103991ad3fbc7c8d8b2984429557939fa4e2d28871e8d362e157a3d7aa9fa9288af0219ffff03046e8cc188cfd3599f61166976f111eb81e400b828289dcc547ec21ba284dfd103f287ecd7db07bc4ad9e52390c2e1804456b1d80b6e9c99c76d4bad77ec3715740379030e5fb1a5b4d235ef7e420832cd1796b721339c65c2e4e65065a980926a6c03d7ba3c294f7cdc6753ae6218eabdc4002e3d556f2d6e629a32b5b075027656e303656fa16a39bbba8f0d22bf8d3fc108fdfdb782c973821d0ad4152897e200c26303d98e7a6863f6346d0c5c41f8f301968b82364c889922ca641ce8c9b34ce2411303f559fc1dc5b42924138c286da8b783db4eae69e76743fb76976fe34fb9a1b8d70313565d23ec80c3a44d3775d4f3bb0cee2a2c6ba271e27d0116d8ce3a1591e9d3030e99715f5bfed784acce5807b81a4fbecaf167ff8ec9b8ee58b3fbf273f8b9a60360248958f2c1a1f835ba5acc8fa4d3883bf7a4c292e5147d6e59e08bbb4584ef03796c232cd70c1dd1d08cad3d9372452eab5e3302a8177937a085757d4a901d4403f06e1791d67ca76af1591a8792c0a72e7e233d6f120fd0bb08428f9aae35b8860219ffff0366dc6bddf437784acc17b2362cef76acdcd6b03c591973911e23f0265bd83dd103c2d380d4db1e3c541d1a30a3106ecadcee9576de4783e0e40c58ff1eca00a5f9030d12a9dcf3f20472f13888f53dbc2b8979617bea9d51371a35a5fc773baedb2203817e5b8230f133d2ca64ac122b6c394415da0fecc2666b93b667c8e227c3a25e03fc1f6f657f21bfb8f77b3c47a8219ebac6ce71c9e771660706d7d95a13b5c46803687213b830ad7fdac30183070277e7af71b4a4bb7d59604c081c73d555a1b2a703eaa9399378aa1b9c4aa28859a3d944da6fe18197b71d9a527cf569f77053dd540219ffff039b9457009902a98755f7018603299774d52e033c66383fa17137aa93588fed2f0363e7cda84d419b96ee07de2fe8c339f563cbdcc6959c0b7662f8d1622e88c80f0378f361f73eaef9f1a7ef489ebce3a37c108b9177383db70719aa19be8343ca7f0219ffff03074757691b4f337c4150d190a08763619e58c438d949c808c78acb43761688f60373b8e866d7a82d53caf9fff5ea83749970cc829b73f03ad611937667f15d4c6803061e0c01564abba4a03cbf452d088d48825af208be10961fc57418f7ae8c4bc703bb660e775af20289e24a2696da68b04596f2e2dbf4a27f9ecca40380c323f8ab0313def2ff5ac53e0bd8b848cabb4db5a556c992ae1062eb28d8519c9096e30dff0332d537a8c86146e7c2bb5e1f6bd28f3a452ea1fdafae402db9c68a546c80c99603933b472fc5f4eb1faea54e90fcbcc64c1257d32d9fbbeba0146c16734b23a39903129667a4295eda5ce9a3ed22d877adff1370e197a6ea1624d8a59919f2a688b70325ddef5a524b4eb36ccddbc717afe340f5726186b7cb2bccf46e0afdf070d14b037b94a143a596b75227eb0c0a660377fde40618b6c198d4ae5e6f879b0e2e5bee03dd2d23667f48a06fc1f202e14bbc60a0d77762d8e5d16a0ddc7621dca916a24503fb2c031cd71626910430bfc7a67b6df7943678de1b558700d6a3c9d7d1e6ffe203c1d16218c8bfb8128af2063a00a684b4304985093b166314ba6631f95bbb8bf003312b567476d6230692cd0882244ce139bdc8ecbf5ee31438245db1112af3f21703c639a69cd77e81020c746cccb1da68697f78649c23f5d0b0e54d16e3e02423a4031e6dd22b0e8650bac10d2320c9086d1b15ebbaa5b1969ec3346e571d26de4f740379fb9e5a4bad7138bee7f21746006a45dfc42d13e06af781275277795a18de7c032c88d7c43097c242fc38f7a73ca595a11b83638bb7b3c5958ba508cd1814e197037ee3263fb44daece1796b4e2182a976439fefd6f8bc64e6c8ba763240145a03001410d03941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e03ad5e2df1dcb54923714b0fbb2d688e68398edb549726449074c831967007011bffffffffffffffff03a1466e9f2a8de004a1cb7448ebd35c0cee2093b1c75b44f18516f00da40fffc403077c010fd66768e3b7576ef6dfc805ee9f7402e1a7ebfd87ee619bb8638a08ad03312b5f11199724ee48356d583c4700e1603a7ee31801508ca5cdc9d3c173b02c035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503d5947b1d524258ea4cb9c6516547abce2ee1b8a6e8d65b6155e3a6c2f79523a205581e03b502e65274f9a4f0417f1fab9fd85ce5a151b79caf63e10874b77baf7007011bffffffffffffffff05581e03f122c0e255efd3ede5d1239b83980647426ee70d59dd2dbcab3dc96df00c03464e26a65b92d804592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203c3087089f5dc924cdd21503c87ad870f0c8a103975f07ff982a4b120802a38290058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304a89faf32274888edba2120058210311b69f42801f585e43589a942315233529a09ddc1c032cbf75c8331dd6c0229041010058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604a8959032f8f2db54e2a360058200238e9689977d526f580531775c606e5a07c1ff4f40a9ee98e4cca4fe145a2f44102005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4e023d0e8834f365a3fa815d1146640219420000582103e313b3016558f806461e2c163d7963a7cc05d3ac33035a59659a6b711d0e9be041010058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58205d2ffebb1f55e83c8b2dbf8dd8e8b0092677f6887ca952eb0f8dd3eec2c2d7b8005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a855050794b33c2aa80362bf2140b92a0b704fb9450fb002184400582002757298381664e831f65315b0dea734f6acbf08b1aba9701ef84a9d6ac082745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219808000582103bae6bdab10499c377c61dca501d8df23d18b34de98b2a16bbf5d14bb63b3cf205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687daff000000000005b5fec9b0f8a596e100001dcefcb1e58a0392d493e7260058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54636bd98fc13908e475f56d8a38a6e03616ec55630218480219f65d05581d02b9f80525bdfb3e52953395b5e651fd35457870004f58a57bcfd4a5d90701192c1d05581d025ede4e287179cdbd05fa6eeae853028d705c1f59a6b6103f856c6b560401021860021964fa03fb3b5eb1f14020237196ef467f000da59feaf3e306e695f4c6512bd2882af377036dc8eb3c3e7dac72b14091e2fdded71eced576833f3221484e19ae44b690d999034e74699114c38b70ac3c2fbc3abcbc27ebe8decf03714bf9668abc446dacdcaa039225e296f45643931c1e756effc95cc27ffdd658e2f00117f9bf84f0ec629f6e03ad7808b1f3e34f66beddf67b7f883e09215f5c9cf5312ccd7e8660a6a0a798d903d40656c145662fa53c83715bcc6896909b12f5089eefc9781e898518f18065aa033d1bf772ed0814bd8540d4d58951a8499814ccb412884a49a898793528dddcf303270f16fc88cc50e29c107fc1232078f6eae7cb8d8ed3abcae416b6986b280045033c957d2a365442f2b9fe1cc9b8c3f60d4ea6b629478a915004630e34ca8db8a003f1a51946c9e053965342f21cd9cedeb4ac012a261eb024fa695a97c66d26973303dcdf44cc65372aacb62ad65a46c9898a85f5034fe9264c7552cbc5f8195359b80219ffff0355c9a9d245c53fa81b43aa10f5ac757a229f6c1b88d513776d23eb8a1c9068ff03b96e6786a7a26061dd14691d1d6a901af9de62282b4da282485372a32eca4dc9030399ab614b98869047796bf7fb651990dd2420e2fad77707a77e508575cecee403d170444e160d44ae1fdb1dcb961f16ad6337aa814e1d0b91d19d41a83e9b1ef2037d5d61d65cbc84b789313d1398f0112bf55b6de19766b0c4ec4602240482b32a03f7ce2aaae65792fb90156af48f7f45769e723c4cee67fd7485f2fbe3e108be9a038b675008be48af58dd74e86d0f6d16512d6b18346b39badb93bcda5cc6df7045033debfaa3f641b2ec49e86bf412df203bd90aabd20e2739fc2fff49b54be07daf038147bb2f63c0bda1340c1022566c089723a7121bf7a956e6a303b0265abd07a50302b600f2647e2d2f0485e4ef14804b07474820c1716dcfa7a00d8ef4b36e60fd03d69f69fec87e3b5982274c9cffe2c0978cbc6ea068b905ff85eb4581e12f89fc0395275be6345ac97a9f38480a12bc8a2633a2dbdb8cb4d269954a2011cf820d2c0219ffff0349bb77b0fadddfb5c37cc8705c360cc8149842d69bac81a33b4f80ddeec1de40032475b2ab7e16a2fb90b2fafc83c1c9af05c061aa0da56c5ea44ef22094f39af703bd273b612aa02e7b7c9b201cc9f25bb297c950fae6b265fe3509a4b8abacd96803f4e577154189f9c9bf925480dd98d4d498f3e53d0e408148a2b1c338a7e5411703e471e1d31dd22da6a9a5f23d67447638f637c4e6a8a09903638c4b48b5f0904c03aef1a4574681350c9c627633417b02dc70d3494fafb5e8f9917deb5a9c33bfdb03bece6762a3c45e01c0e42a1f411aaa5f2d9b8eecdaaf69cb9cbb8ad3fd96187e03817e972f9591fac90882beffdc318a6c0f3e64e8113568990b8920f259805fbb033a587c0e97483472be7ca234e5b5259e9b64dd14fdac5cf720f6647eb90d14410385fa24b7a3a8dd00b44084faac3a813e79a2dd7f80add650607f0136cd3b86bd0308d721546966bb5570c9281fb0aec215904b47d0c18dcdf45dbddf6418c3ead4039590d5d27098fa172b45ab05ac45e9e74b9f6cd4c4c04422faadc12286fa540603d760be6d3be7f225c03a72ac5ec9c8547e264e09a49803f7f42636270618930f03dc5a7d8509e8786ca7be6f457f2c0338a572959d452167b358ffa3b9bca95bb20219ffff0365205fe823b4c28135f025a3e54a77a28696614a8527d34a14dfdf6ff9518b8c038248d90a04d8d76b0eb2ebc2bfdff84478f98224c4e339cab1ce4bb3fc7e047903c33c1bd0db1df2aabf869faf226e000cd6b10d07c81472e580e200602a3f86030371ff8402f067b009226bdfdbaf83a9b3ce58bc0e06fee48846f12d633f9dafeb03d647f1d311be1f565deb7724732a614698f16c3eec05bed0eacf890d19d5832f03ebb096fe8b1de587b35421c751a5fdef15b1a1b52337adab973c292bd633314f034acca44a84b3077d63ed3804af62e1a7314ad6029f169fddff3bf6d1cf475a110219ffff038922de4ca23620130794030e7291c6092b28d6e301f4bc3fa2801bd5d5b9157c037bd0708ad315b721fa863f00f7808dc9463f935c8cde7d67d25dadd4022e29de03b6491f9de1e88f34ed82655299399abe131611ce2376cb386456686d3d8e71ca0350ac99cfc34f727d68a96dec8a1def2612587e106fc8a9341b8c175d2417ec000357eefe8fb8e6c49dfcedc5207ccce23282a87454864dc8fa5d8f71fdeca9afac03c1c7a0e8f46797b7e7e8655f02366f5a814917bdeb08cc67317f1d00f889abd8039b229ee7d5fbd74b8f25dad812a2a0d38c79ac88217f6e2688e0c2ecd3b8945a03daa9ca97ab291aca6bdee58e621dd161e16117fca3d6473c0e04277f77fa7206036a9470e261900bf4fab86d1bf9c0a80eb8c62e6954ceeee019193a151766f332035c4d2e13959e1c64572c5f25777a685b46a9da377d1e8002c192fd9c7e59475103dd0e2e678be0be82f8b90175f27d7f14d0f33d7578bde7c4fb07103fb47f5011038c0621092632f4c6f1395d5460549220ff9e5e13477fdabf4e28599355281b26036bc86a82de45a0da50e41d21320b9e6697251acc9bfd80b0d66a27bf8d8cc5a303a509d85c7b8f7ab9c56716552397eba9f6ee96b37887429c7a3311b0168553020349e677aa9190d7a4027f1316b0c9106f51e947a002bee65b5921b6cfeba189f3034cdac6414749b2ba1e68b4324483174eb7bc36fa40552acbad7ce22cd3dd5e8603c99b5b7ba7bcdf8cfd736dac05a5a233115d20dfa675e4768d4f2128ce351bf1030f721bb066329c3f994f6d2c5311b7e9ba62108de42bfc796129ee9bcce1e48d0363603b9b0ab7ec212f6dfd58b7f534a45f4324d04b373fdacfbd959437aa7c5b05581c0338ed7063aac28db648790186c51496e260108d5e0ce095d19687b004020459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c63430008020033035047d52ad637f63705e1d86ed3054f5b279c28df9532981dfc81279ab8b0d0d2032630c81a020e3a598734d9f7c9c43258a6d71fc53592c969d96c092ec7e7c09903a150a9c11209414ae0c9573f45bfbc2914060d47396f3ff10cc660e7d8d09d6e035c1375bc1ff2be68ede0d52a408e5e70c5af498ba1c4ce78d73587ed2130192f03378f027c7a6af65939e7cd72946c1affa30907ba2d356adeedbc233c60c1720303085156fd8631c5b1842ddeac45d841ab9cc8039684ac25bd07b8c9a988f410010336c897959f5a292f00e5534de9e5f4cf463f024df7f3b48e0ea8fbbeca7e2e1d037fc86ae9ef741b573c24b33419e80c6d32d9925c9fae6f004e04e2c1df12b04403bf886b22c47bb05413d5e30497c9bb8c6b3998935f1d5f30ebb17d84340cc2f200581f0225ee9d6041a5b641c5d812bf44446db6da6e96454243bc3030f8ac7897f6410100581f0206451d414b2cd3aadc84760fdcfad2136b054af81fe9ebf4ca26e496f85a410100581f021d947b0686059c60917a71be07b0a418540fa107caeb31bf9e58d42cec21410100581f0297594e3d72d2b753bf3c5e08475af4dc356b189f676260d581f479f3dd16410100581f02a4449573b02a864dd7245cbda229b70d5b77bee87a394f0ce977851c636541010397506a070eaf3c1db639330805b67274db66ca336e7e5ab8fae5585248cc8a720323a4ad0c2b674ac09f0629bc43efa0eb7c10f9c68e8c003e24c5bf5417687c6100581f02ec64d51b1f11f0ed3b17d7b3082720a661f4c2c772167c5b7c2d98cf25f1470d7a31ce09c65b0219c6a303509d1f72b281e89c1bfd9afc80cea96a70f36ce931ff7e14ce6f07096fd0271203c6ca5aba6c94f8c63b9fb9188638e3631353acfcbb6ac42b4ccda5f02020e9780385ea5c163dea5dccd9c4937d0cd9e5a9f8ebe49a82fa6eaeb0693b981224074503488d94ad64da9e0615b9601c314b7b49e9edb28b4d2183c057e9bdcf06c442ce032dd8582ed854b092ce594f073015860668ea8fe11109a4eb89dc390387d31844030c2a26694048cdb182a517e0503937d83c7b2244d6bc95a2c94c8460c4a3c44703cba8f76dc5acd4cd3235eeae85d70125d6085babac255d01f8e4add92ca1f02303c6b54baac8a446fb378d80341c7a01cc2022001394a323d923f414d29e0fa0480219ffff03980466ed5e6e22a39a61520d82f981663f62a39533cfd76057fb61ef0f1d483a0322c6369c14f8e86ef268c056a1731a5902b90b77cfcc2f295bb334393464784503c31ed2483b183a19741e602fe80f8637e960d9b4a869aa4f0e9402e845bd44e603155be9f551b6b75febfbc454cd309a05408ddb54d27b468bcacafee486cbb1b203a233dde8b7706bd45eadeee040ddd4b02a447f9f09909a7d34ab87a6727cf14803bd361d64f8b180f72226fc80f0d8257e1de19de5969844f55b332c06770aae3d03796c6506d516f44d0ca649879618f03831b3fda9697dd6d8d1cf02737ce6001c0369d7a792eec168b317fcf2a758d6d16ec7b8c8682787819c478066bbc0a7474b031ae0ffa93e6e969950eb4242363ed511d625a5fc957338e19ebff75245bff5360383ef7a415402c78b0fdf98df34967fc1df9a7084280f2de2b318aae6c05d39e803cc5508cb829b92602ecb075ec0dba6d388ce05843b3a499c1bd78de64b74daeb0398a2144dfa191a3df89f10a29e0d0dfabef5262bb315de7ba7df4f5fbe9be68c03ce15fa3c23106be04d0b4f08340850c5566660574c7c1ac76ab7c5854b2a50ea03d6391ecbb5663df4bdd60118be263c64b525e3059c197fe7b7b613e3b253bde10219ffff03dc7f2a33161dd5565634ab1767cdeab1e6a3d977c2a5397c944c68acbef07c1e036138727eb0dc8a45a09911d35d3bcd0bfd61c08157112843eca8fb0bfdf2f4f7036f3d9e62fcbea51ac85eaca571a51ba8fdd7c67b648519ff1b673c5cd0d575a903a71f26258218f12aae3ec0a44c023af04223d0a68116ac1f21d0400b7490730803cf3d1a3784326660b764f68adc5c9224ddf23efd48e9631352407edd4fac5e970309955ca590b291fd3fdb6b679872cec44e2ea78e301fe425db1c77a82dddfe4c03bab17a5807eb93c03033a8e617e58cb0c7da7ca05779b86790cfcbc1526aff7d03c765222c434fd47672979c0d05ed597c6f60aa3c3c125e5a1dfcce6d3a2d61c603d813a5548c69f5731230b0e13a43f73b0502bd04593ef3f87e5887e6d5ffd31e038aee2103fe4aafd0b2218f1698d535b916e9f4d6f379f5c01d45f47b3ce75179036a1838feb0a1e65b0b23d1fd6a7deab0853089e63e98f3135ead1f62a20f5171035d939494941fc442b35f78e934a439c779f8950fd551e8c6070e098e2cd853440301c268a964c6ffa1b5e64fb608ef9497c67117ccf52236586a8d57d3932e286b0386d1f7212c3aef532c3a7a87d7062c4563e274d5803c77df0dadfdaea11906e5038ae3184ffc85fb452d3a60d9560d7d6c909b9dc76ce652cabbbd66bbe1b783eb03febf2032b17e514a34a9daf108a94bb946caa9b5831d665ad75dbbc0f589ea7e03a5cdee4a9e2f22f127afe2d672419867f52df3af7dda058676de774953a3d4c1034f4516e8d9acc1abb6bb320f9e524b2bfb536c7706f052a623e1194fb2ecf98403b80634ba73ddc7c2a14cb14c6e462b4dd528fadf890a57edf4613472a50f313d00581f03674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee105484a0856b038eaad1cc7e297cf34a7e72685a869300581f03f3a2b1c840209d70707249cc0c62e75473c074ed58c70f4551ff286cced041010219010400581f027d0a99e883d3d77eb18ce39f379968ece3a3850650989426d088beb8e1d7410103996972277cb57f99faea5c6ff4407e5f651f25976ddc8cba8578d6e071285baa00581f02d1734d003e078bf5fe7fcc2420a24a3bb2b3bcecd6658a792dffb873276a41010219c4b003d804143909ffac2f968588c86f5fde1fbd30243a110971fa358b7ee7cbb2aa2d038a28f02f87d6a579a0edc3c7691c8194dbcae1586a999ca30e83be1dda370c950219ffff039437a67bc2e8323ae43f06c19cf3589d33cc18e5bd38ecae8b6bb5b7efff9fb60336b772bd9bf03946caef35654989e9af981d699bc26bb8f7d25e17859b1bc7120371e63565963b53fd59293d6b174ed794e522bba542653507ff9f14be8a57acd2036636c2013a91ec3f7348d06cb07a373b3ee2de444e4f011b0c8decf931a55c1e03b6a5d055d0c459f42829e7bac85d3bde7a1e0dfa0abef17272ad7b04d58821f603fdce91306f9904a89e6d3cf70b2c3b7fb5714ddfb6e941034b9ebe448c7be54003d50e6ef060f5942a6442227787c353f1e66ab7df3385e740c44ec084a75323bb030ce146b1699fc0762a0c181a376ec52f3c6d12f816fd9a2d9ea87e71b0922ed603044529f31d4b8b4dcca1ca64c37b9ea360569bf1fff0d401d917643431f678d703c3e61fb04c93fe5aec7f1b21e8b471f8bb506ca2929eab3f7bf0581e780d8d6003f73d84c24d741af31c168043bd05dcf5fb19ea86fd0518b8d83b09b6bad17df803a586e3dc140e8c49bd68a2e3032a91702acdd3b3dd4a80154f465b1d70a7338f031334cf722071309c3de939894cd29bfbeb69d9a634723be50e2810f4c1d9b8ba0219ffff03494b9848032bc9ccc42e7908239fd1eb21824bcde5427bf10e04e0a2468e915703810c7d4c5f47dd67a246d78d9a89f4cc3ebbe9b3d1e2fab3b4c8098b362dbda903b86a92beee8971e60d1cd90eecdb2d1fd151d3745559695164679e4ef09a672b036c8e93cd0dddad4f7c8fa9dc9c547f2723ac3f6735e7f01b8c027fcd513a8aba03752c2acc1e8dfe36d663e21aff836ae4b998b64248ad24588903ecc4af0363db034117455cc62860bac44774289e99c342e6376f818aa21c4e46ad74b1272f89a603e9c39d23d95c88c09f35cfd7a7dddf340b02af6c8234da54b9450be690bc9db1036e2fc694927fc388a313d0bbbc87d3fc9ab523b37be807fb3f9be0856170c7c003907ca52927423ece54f598c086af5b8ba9dcd5625f43fcc6c8fae57ec48c7f0a0355dec01ab02e4323eaa6ae482ba59f1c8f2d76826a04927e3e13071a9a727c960363fe5a54835843aa1fead6e71c8da8b9bc4448b00a733cebaf68113de173bdbf034302d14f965518c5ac9b61a816ed19f22f056a651b63b94b28e6893216f88e9b0366fbb87727c2dab55f9a78f9ee12cd998c5803f6c4b0ee7272c05046b38299c503fac27decde2fe3d67aea7597f002a0cfc716c7f698cd269431b1f0e42fafa27b03baed4ba08193756eb3c932168bc4af4c5deade6b53af5421902e9643080a913200581f02e43f0acbd99f64a7da9763525d05ee8e5f34b54feffbc328fcade2ea8146410100581f02f34ccbd4c76da4e9b8211481b96c5f6619c61563a90ac70353ba99473b64410100581f0251f91f8729ed18395c21da1b60becfe9924204eea08ddcf8f1f545bdf9ac410100581f0243c7032ef0b23adf8076fd39c6f37349cc217c87eff56b8ef2b7f0359372410100581f02a29c9907f3726e3af886e34231d857082a9bb40b51db022a4cf90f10ae34410100581f028613ab3d9d4d6811cd0d1940f7157785ddfb3874a969a37921fae38c8f06410103471b4db48b530be1728408f9ba2b5ffd484c3c0dbef25a3f70e338da9a5fa52300581f02973c9d348c993a5f8974f8b969b1a4a29ed37c800f5c18cde9d0a84e8b90410103a59bcf61211b4a0a227e3db2136548f7d6225126e2a8a41ba985b3bebc74299900581f020bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4815413a4cc0750296bb72eb0006febec306551a4f4720219a6bb03f33c7ae8298d1af1ad89c944afc11f50ff54e4ec7b1e7ec9d660b6f144dc9eff030fe5af8e057dedb34433c5cab842ac900a4e0b6af952fae5213b2f9428b83e760219ffff03460e97e87889765454e3dca576f662e502564e1a02d7f156caf0bd9c4e4c0a730306eaed7d765a68276fcf1ec5dff91457c8af60af74130bef8d5b0fd71af20d4d030cd3230637a7a01b999661f41c9b0f547453be37f1863470214e9c580f3f1b8000581f02ee2bde55acb31f1fe94483f303b1c303f87cc843bd79a2d4cea900834018410100581f02b9bfb3383782285b681cd3d50b7a8218e05dac000a8347aa83ca59f612cc410100581f03028453e1e7b8cb13949135170b436c3cc0c8cb4ddfc59e47838039204ac0410100581f03df80ec1ae6ac9100e1fd0ebf3246c17f5c933137af392011f4c5f61513a054e6dbf5861ed9828594af4c6ea6356411c3a0b16800581f03db526772176e6c7e75dd5a0032e7bb288a0b08fcacdf0b0a4c2ef19972304101035a5527f86b29a50e6c6a1a7649586212e2e7241839d52bf4b4faa35e2dcc274c0219c02103caca6682a47a81c6a267c9a4e682499b8dbebca2a0ce8ebf3ddbf27e16f2e3d500581f026da7452e9aa718893a488296f378a34a736622deb5679b8f98784672340f41010308e959daf7d761090b77f00a4f34b5bc512f197404151c91618a31da8cf7e37b0219c8f103594370dca304d62e3ee4b3c3304bcc3b31670451ae4fd95aa94b808f52a1fff303e47ecfabe7b2ff3ac473765ad84749d96bbe780abb7749cfd6e423e09a58564603e30967e568f7c3f33628e465fcaf61f789c18c45e3530e7eadea9b1f046b2f630322931dbdbd182a57f347749e75c902a385245c30dadb99ed4fd65c014b563313035e280e6b10334ef611e6a89f3ecf1b76bc27ed5ba547d47fcdd9352081154b150387d584e4d265dfe818070321c5a944121dedb25d5d132ec8b9127d3b22feeb1c03f593c26f8315ac5127523c9eb9572848b5421058bfff6c875470d1d4d5eaf4d103b1129b3257ca56f68e3afac81081525b362704b6acf0e28e7d5ead332d8c8122034ba7fd18b60b56eacf355c8e17bf6b30d5f3325038c525d3369778eab69bf3c10388c58ea673ab7315bbfb7df6108a36909affd810d9978d455f5f743d6b4a31e503e89a73b7a52be53ed953024b801671ce75e9d9a786bb07f6fc01e152e1deccae0364560e8eb0b7f259de8ca73308f9d7fc8cc0d90ce3e6d946fe61aa84dc1c2d4f03c4ebd49255eadea2a64fa7768aac23460b64c5e463a8c079d963b867d35564e203ab50c1972dc68f0f2be29a8774855d4fd43cda74c17350effcefd9bc1eed6d350389f2b0d039889e2bc15028e3efb5bd1239f2569b37b6f00a8ca35e47b085465c0219ffff03a6c6f8ddc1bfb67faa22c0812201be221847543746f7367097a5f766a7775e5103b1e0879aa6c20ef44c0236eded584cdbb33bf4c2f1540217d36a5a8004f3c8d1034993361605ed6e4bf809e57244019f88bf7294d72aabdba271f57185edaf8f78031fc5752d5d72ef25540f77fec7c485f82689c768352d72c6681f3acfb85222660351940b0b904737a5422ae0f5bc8ada738646655109fcc66498c3d6a7e08e2354031a94a6021b32016661238a202f5fa494601cb037c5e95a9622fc97d75b9886d2036e4ec83099e91259ece9eef64d0a451891a8bb553793ac71ac9e5a8f7aad77e6037ea090cd994ce3eff6b13fb298c1c8d74c358e806f7eb631c298f55070631c5c0389346ded787fa98d040134c3e5b16e291170856c2e95e9a7f15d16eba1de11d7031346976d739cf0a6ebf941af56ea367102ddb9fea8df792c5cffbc01d0dabe4f0311ebc6c943f8faf70e6dd3cc923cdad9158fade5211fee2ad6f2351bb435565f0219ffff03cbc6d0318c02407785a4c244f40df25d2e822564d015a440695e6786fe186ad6034bdfc0ac120a70fa20a6fc222f75d06448231493abc33831db578c1320c360b6037d344ccff6134766c1b80d0703df74f66bd20832a7db8dae9fce88573fdbd9f80399163882956183e0e89bd2c8204b5cf8b3fb80a82b125e1592908eb549997044034992dc3d4e9da4079ea2bc974b33f9876fb9e4fda9a8f5b9f7e0fe062121d4de035c643d483e841d35557d81436270cf95e568e5a64d85cefa1604ff9925fb96e403263a5e08df0e229b2152fff98cb0e8ede92b303294c40b134993f08979d007b303c5ab0047a388a0fcf641c6255aaf7a0c6bea80b87a1c3f08cf91ab8fa2b1ee8203216d30928ae8b2c4aa9f976037c3754b1eb68ffb479c9029bdecc002df4ee19903f8b7a2deb1a9fa2f03b19efdfa63e9feeed4a1dc565bf252ba6167e049bbd17c0396e512413ec37b75bff8944b182a68a7f05ff2f744bff0fa60f2f02bf1d87e6c03f3a6d172df4d8dc860653ac72f3310510b3664f7584911f15c2bbca59cd07b3203103a9254c7b65f7956d60588a03feb985b99455ab07d9d2426a42515d24e853203365cccf63fca773a99111ca908ef3e7cd4ed8f48986ec1137a00682721deb291033aba129d2a46dcd484772f0b1db3133bdeb52e32bc048554e998accb8ff7e5820319df25c646332cd67ed1424512a126c296778ddf60210de67eebf0c33d96ac880342ccde653422e606ada704d33bfa1b3c74ea9401fe25237a164fbc4549527e1700581f02ea279c87d4f4f2262f82b5c6b7c8a9d2cd08bad79ca1a01f85c3b5636f7f410100581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0544906b8e690eb1e09fec924422452d1105d59d04200581f03dd9307402cf74b0d656469ff0f35adfec9548a41e2ce162dccf0efc7ff0041010219100100581f028da0339561a885053a0e59fe7591f9d53ed6f49d1fd015018ae13e88e0ef41010344c2d92bbe05e6e5c010a4143be2204786354d3b43eae34d5f8c9a08a3c8b6b50329d364c8e6fec17846528001539ba63266df879ece7ca2cad0c2c145437f4a5800581f026dea48d52bcd34f8ebab1ba70641166512d219b81dcf9c12b5370e7de1e0410100581f02a7aeb3e911d8a6b62e67107ba2773a2496b076daae4359884118051dee7d4101037c05aa56ae86d6de5cabbde0ab814bb4a32fd339c7d5bb14f556cb8ee460accf037deabbfc7cca2aee58ea31ba12704c5b9b7d56f0df5f26dbbdd3cb78191d8a2900581f0262e870c7243f5c76003b3966a7a8a6115d4ad7215a6b5d159600c1739e5e410100581f02996b033c43d95e675b3f08547f913e7f358e4ea79985910424e807edd59e410100581f02dc4a24529734916a5e1e355042c1b787755d03b45a60b075931e8935900141010219b77d034611f9e2a05fbcbfede7ec769629573492ff5d1c56e21449948087a483b20e8503f81c72601e84bb7d305841a72aca0940ed238ec4376c19e3969b7f4326960770033e1c7f17a026754c9a6d4bcd0c84f32d7fc0119582e9238077cb26e0dd5617b4032e3f5ec7d6b08baf053dabda6bfa99e24e2ccd59ad48370e022858b56188a5fc0219ffff039514144342e014ae4acc18b96e4273f8e042a9a9af2694603354f2aa1eef907003a57ed3247abf3de7beb8a9655d06a6542d0dd002b0408495231d9ac3f540d57c03556f8212746de4430a250c48b43d8a3388617321f01f587c2dcb5bc70ffe8cfe03b0b4f90d0ec30e12c2b7bf413a1f4305a20d37af0ff77c7fa914a0333bf9f357039c17c334c3be12e11b93e7512124d3f5cb2501b0317f668a937f34c312f9ef440353fdb783e659ca3bc5f0872952ebf8789f5338802cd2f1d067bda75399d5f5fd0392a341f5f73d6ca9c2e993f29c0159ee55565d7c9da072124ad87f3f875e8fa103c0e047149c4f272ad87cdf9aadeb02f85526e60a03c95fd6a07d1575f85aac3f033ae588287d0daddd555caf8f2a73aa368c88edac35f1fbb332e42a4c59a4d4a80349ce6cb459f2ecc539b1e6bd71377d23a58cb66e62fa48911f0e814de9a819b80219ffff03004a7ed4cf45b1724732e572ca26c6207a27fe4303f3e023fed9fb2672d64ed303b9ffea712a96b5541134e4b70028da4b9c366220b98a1617edf3df539f085f7e03e959d61bf773acd858ed48b0167bff42b55c0b412170092f42e8926d76cc414c038e41e070c1b164e5b8fb3c9b67afa926a472503f657269ac85aa4ccf6dc57f090337d3c946bb90ea3d9d288220742f62cd716a742f86314f6df757881ed04987430383cfd0839a50a19fbb8838375321d195c6349df18fcebced5423aba86146155f03b922613fae807485c7e23831709d02c074f2850b5ce05056fc7c833b758532d403f91ab7f215dd795977ff5bf0ace4157440350396cb5bfb23539624b7ebfc636103e2150ee37c2e4c6c23e6ced2a0ed09598027ab0c45fdd2567e514ab260e4789103760cd9dd87f5362f806f6aae302e38b1972ddf69764aef1a11f24dde928394da037044336e53f5099d73817f6c0397e43acbdc93c46d1a15bb905791fe81e0d41003d0fe432f838768a346a7eda5edfdfcee0b8c6a623d804303e283eac72436d92c03e05f71ac79478d04be87c3697393bfe30aef2fe86ebf4cdb40e6f214feda4cfc037790ba47702abce888a33d5f2691c19cc18b590abc96bbc6fd2d8707c7bb243a03c0b893e67bfd7b49c488a3dfb904c7bddde4e8d2db93a418be189ae0e6d63b4e0331af4869abf9805900db9931b4257a0c96965535e1bf2bf69092b79350b2f0a003e48a3b8d010240393eaf407aa8cb8f79e61ef59bd62a6be3b4300640c0d2494a03eaa182ddd1ed7181396d5346a0fc7e13235b463a459bf7cf32bc25e2b2bd0ba80319a10e6a6660df935f6078bb6c9265ad65d3c9912aea0d5ed0e2c06b0844ab5003598690d2c4a437f8522f33c73f85866f541cb55a7b20d18b7118db05d8bfca930383dff2b8d5f27e5a069aaf0261773ffed22ba1b5080a9a282fb64fd123d35eee036683bc5b41a60a5a1daa9f2df22138e3fa4adcc2842f6fe0e1d9ee94615411ab03d9f7a5b7ff72ca5cadce4288308aae47b8895d3ca9dea9cb0e4261a1c4e5581203ccdb1c3bd2a84689b1a386b49e6d4b689044e33d4cc7196a8aa9bab449ff4af6035b1027e1d39dd908146d887211be134db7122df30ad2e25a2a2d3425e260591b03b3c18497b0945be0a6b65109806355bd4e4553b1c0ed3aedb2849f74611a7ed603e3146fd019d7213e781932470006227cf6313f4c341be137184533eea31dc6a503fd12f072562fc1ea7d55869cb625f5dcdba0685058b21e5cb54bd046c3ca28830346d86d6d53cc9da5dd8d9b73884a2d3635536db3a6674b88d34cdbfc19d8cb6a035e5f2599edc49e17cfec3a5a332736d9357920668ed63f45fd9879ec050904f900581f029bf9f88683b7115fcb60b9cd8882ea0c756f4a73c2cc140168cf2b85420f410100581f02847b7238850434b96c8b7bae4b0f0ed10ee81af71ceb15c78ff3e461a652410103f4b906767890c25794d831ba609c47fbdcf8d3b461934dd5a13b9d239f089b3c03980fac71c28bfa3660a6ebdd1a6e1e0bc5e9b65dea2f7e45232c11ab195ababa00581f020bdfb6593dc9d84fdad21df130707c1480b2d0e094d035b6d90a0463f7e0410100581f02c45c06739c911a850fb176e5007243bae27beb71b3f0bde0186eaf1f15c7410100581f023ad524a6179b53aa570d7edcf546bb6c6ee9823c6d83e70805ba8e99c70f410100581f024afe47b5e9786faa5c32f1bbd7d5d46badb3e4e40558c43588d95de435a4410100581f02a923a58e9a155135f3704c3e3c39898cc04007c92edf7ad24e4700d97def41010348daafae5204135d459cf5aef356102aedee1951ab48a4672c07dc83ccc9f59900581f02a8fb7e4304911ebbecbb87196e7472e1cf4361d6db701453c251862afa4441010219b5de0219ffff0219ffff03b10904f762cd29327416e667e6b30c4bd8911af4da6092bc7f87c6873a63191803dbc9b5074da49a2be142d8b568552399fe1b6e963aae733691dbc07b8b554f2203fad6b9e1e24ba56c2ae1ce46b0bf73e15ef43bb43c4ed0e822927c48d94e770503dbdeff114c84fc0ad4cbf1bab0c182d38a2cace1b99a3f4dec6b17463e8739d700581f02d2f7b678d36c55f48fa44709d4aea6a69ebd9c9ced3ed916d51addb9ae5c410100581f024cbc13b9ae2ca784017c6ac25f3addffc75f37f16248dbdf02e30c9ea4a7410100581f02e338c66915948b1177b25880ee99088f01d8c2588946fd3c74883aaffeab410103b84b53f4c32457a481630e61d52e94adee149a7fe21542a3aec074297ee09eeb03bc7048b406ef68fdb2923faff10d02c646512b04f59236d5f1dc8c7bf9a35833035f6bf0a3e9b6c050d0f1ab58e04762d25a9dc4d5492fecd9b3ed65b0d0a46eec00581f022bcd88a276cc1530f3a292494f4402441171b3170d8fa8169077ef4d2ada410100581f02a19735c0d504a5b339d909677571e03b0227c1af9480ab39864a0ba9b6e6410100581f03277a4d610656a1c5ec3ca01ad16a344568bb3bcf3be7e54fdd24cae52060410100581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60410100581f03c0afa2d7e4080740432949c161dc22a6652fce9d88d3b8bccdb97f881a6041010219080502194cfd03a1fe878c99c7bf6af57f85b55fff75113d9de5dad11413c43afc1361c1c2cb590330891924ad15037d1aef82beb608eeeaefc35ade006f4e500d6753cc408648fd03a9f2a73df4d99f97aa600e7102f6a482d8190a416b94d077b09bbed0c5b20df5033965b1153792561f64d459fc40d7a1bbcd05d45e93dee5f41c41c6c2afebbc76030555aa59c310f8d59ccdff76e6c06e312d642f525b6b185ab1e27cfc8097de730347ee2f299240987bd75ee434e3f944f636851763839b69cb9364b8543966d07903fd6b1106af391e8d80234a0ea868cff40d8a2eedbc6ba6497801eea38d19d013030a1b4c596e2312a0d580416096ca9396504d41963b9e442a6cd7f471fad1ec6603a2831089b27db931c6c458d9179fff1af947c5f63089dab67b3cf57cd140aec3035c664a64fb4d7cd711c335b45aa57c29c29197eb0599c367edbb83440b91ec4503a2789bb74d31c448ec89e75243075112539fa1bb0c65bcf56c0388aa93456bef03440144f3ae09af2d2c291251db9350ad6a824269da49fc636e4e4b64a9c83c9c03fcb7a0e56b74d49e05ca1acf76e13d11a5ad489b12d3dd640917a10c97b0a76403b9918ce9a15529b6cd8afa0331fa000c60e4bde85a1978ef8338e5c9263cd1a203758ff69dad22e96a930794299a2eeaeef4ae461957d0a5217dcb3be69f30c6ac0219ffff03dfb2507244cbf6407a5fa3b80626eda1f361b39e01f5fcaabcc6c54d59e468c403649eddfdedf84adde2e371c7eeca0b877edd9b80f00f98ecabe88d0ab1cc30d603048194c4920571c142ab8938fc3de0634645bd63f8359b62605d130c8a0a7e9b0344703316cd9a47de875a68006f2dbd714cba3e80f144eafdaf1b6bfc4fd6095c038994f9bd130aa3b4c53b200483125731858f92f579b9df7591ba18fffb4df81d03ed56d542d2e4935558d1bb69b3a96a3923a2e9a98cc0e9fee29578d39d9e5249035f5d93c4ca41065fbe351ea62a47049ddbb33ef25b8be4fa0cfc15abf5ec1a8a03e8492ecb06929dbe041fad9e457a28deda20d52869a11600b9fc5772e8f622280334726840d9771b9ce51446eca86c07196a13f3f595f0b9d842e5045bace135900353a00536e935281f915053939a78d8658b33b7181ffbd6608d94bc6d0199fd4f030f83404cdfa4be9b296e4b7152f3a28ba1d74a120852001ef3482dee02b8a8ba03ec6f3b53ce2741014d90fd2e19816f06d3d2baa6be2d6db1e7163c088369b1e5038fd29c2c286f313e7e32c155e8d16541291257089acc7eb176e54a4a8b70dc390308951794567e6c4f7eaa613aba367a434d55fc51ae416dd05f82c9bd291553a70219ffff03b3e8c3cfb70c64910e5011c8f73d1806264dde474e7221f39fcc26635bd588c703f74d592053efe7cfe98eef97aad9407646de5e57b8a9fdd0a712bbd6b78cf0f10353bd3ab5e1f6375bb1c003e53baffccafecf6e9d97060dd0715dd178d279077f03f2db17eebb1122f5d27c7c7b6dea8f54db06ec43384e89c6474f1d893317a17903512ce8965cf2cc9e4e03c0383952ec1f7b63d96f6b8c7d94fea102ec2ef0221003900ed4bf8c0105670a4b48103b49f7353948804d998d905b8c8a628992c5ea4503c37192c9edccdbb1d5690158e693fe2d33c4c0a13b04a615b02dc6f4f8a2dd630327eb894a5916fe9eb7294dae9e606f0e86bf112f23f8cf80a94b7023437ebaff03ed7c31e8d54a4f9c7df4f60ebc6c60c8fc9e5c5cda646b23f33a229564c78ef203683156a139c539a9d60cb3bfa3465d2cd750e04653501dd2dd67af36739a184a00581f02d4d72927f06c66509dd26102ce77eec946b4450a0e924c151e9fd45774ec4101035d1c3105882e618a51caf576cbe9a962e7bd89e12e2a95a3763aa081c52db72d00581f0227e0edc9bcdb08e9300e3f55069f9f1723b4d680d5a599ca1fba891afae3410100581f023e0042f87c3a531e35bf0308b637837ddc953b4d12681fa146b93bd586da410100581f02922d9968128642b6fa919ffa43a1b4525ea5c23e1d29218bcaf254a7541f410100581f0286119c74d86e8f0371402ca53e3d60393094ac77b38390e4e352bff3f06d410100581f024ad5f731ecf811880a25c9cb53451315cd03e0a9e7689bb992d357a88376410103c1a0e7db5902e43c125d1734a9614be16495c972c4f2e09f0cdd76d7396475c100581f0334e1d7ee834c9ffd3bda29553acecefa2b10a87c955e9964d04304a1d6d0410100581f032af2cfc251225e1968fd6ca21e4044f129bffa95bac3503be8bdb30a367054ebab24f13de55789ec1f3ffe99a285754e15f7b90219100100581f020c2f2e4699d896fe849e0f7555b7b7aeabe869f01e44287c347b64d98d2341010219ef70034b2d4c90de98671aeeb5d4af164af92173666a2ae78a2906003439bfbca3a56103e444695783f76e81387c6b6194f859b00250ab9c1b6bb9bfe5bde2e8bf03b5650327ebf621e40d126a5521443241a3effcb4813b61eaab6fe39c2e410d6df71c84039c58e22118dc95322dae2e955a4587fe4d27b0b009ee70884b70ec52bb4bd1490359a081edeac67da50be8b6649c62be0174ca189b24b48dd08e6892cd8dcf46cc036c9779aaada26020a6f9bdc485bc547ba14d6ff7f8e616cb391499fb182640c403c3b7c2fe842f52bde9161b4bb7ef732b6b39d386bebdccae3f68d507bda791410219ffff038105cc1a82c34d2cc24e78e6e964ad737914124939db7a618e692f5835810e85036b9a48990a4f24b2e5fcb4f037b7b5e1d96effa7b7aee9630d87700a42272677039cbb6fce130a5ebaef5ff4e729bed4b067d3afc3a9082563f955f7f0c57faa5f037b3757837e2c6634ae314205bc55bf365f896675ec0858d5b2016d4aa0aaa0b40327f9018f294a50ffdab5123666a192ff683314ff48f886ea34dacde91fd9551503e1097bc8603bc2027c41382c4201e9dfe7b1ef51d09b90b1ca359f759952173003782ebfa4c6b6c11d5d39d52a1f85369f8c54fabdafdc01c35abd272b41bd091b032426dcaf37353b4f6f815f3a50573187670b7811ffbc922b63880ab73e4cdca5031da2162532cc2d1098e3166c7eeae1b1e6d2c6077d554a22447e163ad41c39af03b24d1d75cec5bcae944424663d32c05100f1c013b0321d68b05715cbd81c9ef20377a55eb188e20a8fb2c1fb6be6657f49d3df3fadc99abbcbf4dc9425957b7d850329a255b9d3c25f027dc16fa830390d3b689f6b1d10478035a0c1e189eb20a8f203d74a2a2d66d0249ae91e9129fe0a05432407e5609a06becf0b6e8d720a81f06a03c91453f06f06369732793105e5e2627bb99a1eadbc1cb1e9ffd4c1aeeaec173f0371558a15b1dee8df95f6ac894ed0aed5e0610d7b2e5c1386dcc5b9869dd0797903101d8936a184fd3c0c13775b39b4cc0f863586f0570d65219f1f8870770044b0033bc46bc89ad6b60f3f2fa0a2f4f2ca599abb321ef42b62bc587cb6f16fb77c9a03b11993c4fcc4a17ef0999b0de77a5b2cb88ee7750c8e189f4ca3748e7e0cd7ba03d3a900d8cbee3c47ced34350bfeebb9adf3b5ed75fd3dda4c7bddeabd2c5776403e9f3c520188e578bb6b7f68566bf3c16b4e55ff892b4d7403e99e64a3be7e85e0386ffea97b5245c385083b1fd4266ca3387cc3a3cd8c9d816a5f67cb7ecf89a2903722f1378f14cccf7f11123f61bdabd345acf26b10faaef0a9dede87f0bcc339a03d713892008e2e1b94be2c56fb3b6d51b27956268650374988f4855f9302ef9af038fce93366239161f6dcf838e99f73a1245a511af61ccc20d03de232c4ade4ddd03a58f42586782b5d2e590bd957a925ff5daedde62e2e868715d140a230e198dc700581f034aef173832c11d9c1c7e4f26febff954c70cf543c3dd89ab63690a94cc60410100581f03f99ae0713a0dc7a84c5090b6e3c668942ea3a7a387c170276f7cc3dcc5e0410100581f0381cb075df56e4ee91d424c1d763577dd3dbbe52ec7bd6eb65322efa6f420480810d1cee3cf96c60219822000581f021de79081b94c34ec12ecd59ea66c8b2415d43da8d4220cda6a9d1a148bba410100581f02c5dde04ae9036c11e902a134f7b36528a957a7a90289fa90490a44a6f43a410100581f0208489dd775d557f07b6ee4e73ecf82082213f2ad085e61a5e910ed840593410100581f029b92dfcfbfdb9ce66e50c489a730194c40704cfaa52f4d8cbc5b05ca5c2b410100581f02b6f1edfbf313b2334a8664dba34363aa31b7e34fdbb7fe9ca181fee1c419410100581f02f66843b4f9564b400cf8155d616aa9ad86595895bc7f793e557257de46b4410103c39c6dc16e403fbbdf5b6254166bfff4bedd1c302bb10ce4efd1c4efdf2d046a00581f02e1444263e3cf412df233d2bd1bff99b7fab1f5f71abb08b3beddde1e6939410100581f020dd60390f2755bcc680deb3522011a33f7f16df54d2d583dc0a6deb5bd9a4101033c319dd2de25e388dd9885062a6c80e3fe36820bbb95bbc5b369db45688b031103eed9fd0d4e7e56480de7eadf4d32c6fd1ebec257696fe33b7bd0df4bf52bc4cd0219bdfa0219ffff037c26af8354ac95412687cf1f764fc2a49e16163e9de3dbcf37f4dc5a7547f41903438eb89fa680f47a9d41db726dbace3d4c7cb04da27fedc54b69ea02eeaf554a03572ba03af523b67fd06c382bd1bdbe61a631abede9dcd50848ebe17a4ed3324803c0ff0b074629e32a2bd5788a00f976f0a06fe920773b3f5632586b68f6a375910219ffff03ae860de3caa509e5dadd8f56a9ebb936175fdfdf055eda2e82c8131d940627320219ffff05581c03b1ee8c0c5288bf79cc30628c7d86e28dad20855aac74ee73a5fd900f01490176e3105901f780c619085d021921000142001d05581d02f1d3e18143e4ab6dc7e4f7f53b0782ece7fdfe40c12f31fa55c50d2908480591345bcfeaaee00219011005581e03ad5368222a7bb7b8eb43fbd2f51f860d37537ebeb4a3b25cafa5f03dc0040c0359a5386093c1ca9e98b3dbf236bc5437ce46560701eaea4656a3403667435d4f03b9252c873da1805865aa3cdbaaf8fc70cb40992bf4df05949808422e8e5fe23a0142006805581e03132d36ad68aaacb2189974838ddda0da96c2a5342eca77ca6b90a238600c01478cc07dbc2cf60003f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e035143babdf01276dd4c03b3579147ebf6c29bd571ec6d5f9145a75f7ab007011bffffffffffffffff02197f9c03d07c6cdc42e78f95400d7facbde3c400784eb69075564da8cee563eb4da426360330019c2531d4e827df764c1e4f852d7ef7624be783a5c13886c2e590d01a7f2603f6ef831f03efd88844cbd9c102d1fa47fdce5848f2e0cf3c59128072b48c4dec03774fbff28aa92f14272d8cf7f94d7520374716e42d4ae0f8ec2c4e539295c3730354342462d57af0194f7be8506980d5374322dabbd088c283d9fbba3573a754730304b83c2f60d51f46de6a5c8ce68b290d919c15f8fff7020a8cda4451e4541d6e0390b1f5a933291de9fb7a54ccce73c852d67f64656c1dcd3164088b99c7bf3d2e033f3a856e4354cd97da0b0fce515d939ede22e2f35ebfe264f7087ebff2970e650219ffff03183c551ec22febc31d691feb3b3e5e59ca86ce7f6d7ac9f148465822a953c2f703484a6a6f25b6215190aa4ae4fcd2744b22857f7ddc2c93daeb7a69c46677f1c60324039e85f5f254b5be19ae5466dddb26a4943b962dc18a03ea932ed69cbd15ba035ef7fedfdf3a95f58935ffb43d8faf72de616b91cd82494888c2cc932e0968ae0361777cb7e7548a76aa17a5ebb8626595992fe14a551a4b2214d59d4b0aad7cb803693310faae3825764fd7616de52f31ff1be32ba86dfc04c2bf446c3b2301d5450322e3b48ad89d2d03b6d2800f49b7223a1ed20397f7617e0dd6a863435dde6f2d03d95300cb3f113c7cdbd365f4d7c0d9f77549847176e6d74f3e1d7babc882d7ac03abd89528499eb4d90a2ad2ebd45ee53a1e8251190aa10b4c223e034858b772b3038170d1004d78bb660fdc82d700ac331d8516cd93aba384607dedb5d9a7e85bf3039f9d8225714f388c1131f60520497d93ceb259c76ecd32c1602c96bda84e6db803b1858891fc52fb0a03ddc9532873917c8adcfb0095203b6202e1f9c57a43c0430219ffff03ba22685a627e77d2e356f65b20e0867f433480eee6a74894a61bf04b848891d20358ed74eebcbac3824e7969b160c2957924e0b4d110326f0f14bc664a0d40e9ee03453f2ad6956d4668b9afd2f00793661eb5f23ef17d3c132354fc5c7e4333c10803ac4108d33cbd20b3280b674d0d356554abd4a30a7ca4cc3dda60758fd4542c220346daa5a12b2f7f0f1f522028bbbe46d5670e3fcc8fc9359a09d26c8cbae4b792033ff584c2debc8281e39b87af6f1f5983ad71593f2826e8bcfb1cef9594a2ce6a034d7e7633e883e25c54f6fa8732998c70c55d0df94d4cb7945dd2d8bff5569df603fd580c651c5506f98605ce3fa8a1e78e078dede2b6d34c1dd93de9e173fc0905036ff7a6b53afbe9db2e452b82e4c751f39be0f07a2f58f7a9e78752f69ce0bd0e03768f27e94cc4759ab3c098cd54e900216cafbe340b290fd747c171ced9969252037c41bb20fbc9afc241f84a367072522575c336b11c13e2e1131a29581de5cde5038000f65973eb4ce808438f5deb2b396285d596e17c70eee3bd75cc8c4d08f0620395b0cc9b116601198612eff29da6d5e585c6955f67a4dfb9dfe9c01e6ec7c68603be4e6c9a8ce629bbd59db162ec7337d851c8b6028fa632ced387aed21ed29c0c0219ffff037c88655bb972307475d255788f61d7c70f4c049d9c42bb8159a7e7ec84e7328003bfecb2533d8e2488333a86f896111ab7f945d08011e3e89e31397e98864fadaf03b504a07fe8197230ba0a4ff761b45ae9a692a23bbc7e3b1a227fc7c17ee5e8f50314aa2437da45312b48b75f6a1880a3d16bea7261421863d0ba710f411ecc5066038dc44f66d02adde5a695b7cee7ee22fc5ef6692b89eb73db502a41e00f3383ed037ff06df4e3bc91e53a572408b4bff8d52ddf1c7a43d88ae520793bf5efa9589f03e0b01c119b89c2434b1539f8e646c3c94950701ae30f829b407ab823b0629e6b0342f366b0f36ff550e8708ec9a06b96bfaf93bddf12d4267ba7d9c882acfaf08e0372f74743022d3d77b785d46b4fb47edc862c7b4f76801799fffbcc6393c2efa4034ba4cbff6db643c15f760f43097436eb602249557c266b4ae838448de961b8f10351a03340a8eaee989757b68c01a1e8c902e2b88e3baf5f1143e58fea856406db0339c96bd87ad8374c69d6c555a55993f1e5222501c8a13dc512a428a3e70645000311eb7c76072d3f5f4a974db8625bef1e4e297b7a3450b7e6723ab646ac43d81c03a26e3927e74921de60d66d27053308adcecde6eb8c661b3d3d190977afe0bb0f030de06e72198467376cd05bccac92d0304a27560a45dc43f26a0a89c9619eafb103e52935afb06795d122e75684d62aabed8a4fe161d2b6330dc4a40080b157fde903076fd12ea82375bacfc31c1803aeffd67faa629b774eee7b5ed2ff91cb5b93a103c9bc054320b5a5d75d3491c482f35c600bdc337c79d68b50ce2f3127168a3d3503456442c02a3393c31f6dcb8e357916fd49e20f68a6e7e10eb8ca76eb32041126031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e03cbf1bd9cb9244ee9eb32304fa46c6d3987eed87e2b053d3dc67971a38007011bffffffffffffffff035c338ff87cd68ac9f06aade874b2a7e58873dd08ebd2b1d8edf1794b243685b303e50201296c6e9068447df25e3e59e39dce1a486bf7a68467073384c328d66a7d05581e03227d7a6fbb504ff385d97c9219ed84afb1a188f4d9352f641effe3fc600c03474102d7f2beb06b05581e0377d58fa56de95c65c8d3b32c45c0eb1dcd7a67e9db9520b2e32f27f82004010333924da466c1f5ca2d1fb001fb74cb653e26c89be1177a96b70b481f5b5f7ac703864c4ff25d97eb0508c40171ccef0d4ff1a456a06e3f9b0b848331d814dfe6a903ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e03764cb961901882278c56674959df10edbf61dc677960b4b4782576a4d007011bffffffffffffffff03e718838690993b66a53c2ee62bb61f9acebed9b78051e78421e64ab8b6080a2705581d026740d37d331116ddd04e8f120f426fdc643a124093713e4ff5326cd40c0246cca2e5133710045935997360396fca11136a1f960caada73ddd08495e0b94e301460806040526004361061006c5760003560e01c8063031b905c146100715780632dde2b7f1461008f5780636a2b69f0146100ad5780636ae4b4f7146100d657806386a4a6ef146100f4578063c4d9122014610112575b600080fd5b610079610130565b60405161008691906128d7565b60405180910390f35b610097610169565b6040516100a4919061293a565b60405180910390f35b8180156100b957600080fd5b506100d460048036038101906100cf9190612983565b610181565b005b6100de6105b3565b6040516100eb91906128d7565b60405180910390f35b6100fc6105ec565b604051610109919061293a565b60405180910390f35b61011a610604565b6040516101279190612a07565b60405180910390f35b6040518060400160405280600381526020017f312e30000000000000000000000000000000000000000000000000000000000081525081565b739afd2948f573dd8684347924ebce1847d50621ed81565b739afd2948f573dd8684347924ebce1847d50621ed73ffffffffffffffffffffffffffffffffffffffff1663f090fa8d60405180606001604052806023815260200161354160239139805190602001208380602001906101e19190612a31565b60200160208101906101f39190612a85565b6040518363ffffffff1660e01b8152600401610210929190612ad0565b602060405180830381865afa15801561022d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102519190612b31565b610287576040517f45bb4ea800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b739afd2948f573dd8684347924ebce1847d50621ed73ffffffffffffffffffffffffffffffffffffffff1663af2d9d8160405180606001604052806023815260200161354160239139805190602001208380602001906102e79190612a31565b60000160208101906102f99190612a85565b6040518363ffffffff1660e01b8152600401610316929190612ad0565b602060405180830381865afa158015610333573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103579190612b31565b61038d576040517f2b0fe4a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080600073e4da6f981a78b8b9edefe4d7a955c04ba7e67d8d73ffffffffffffffffffffffffffffffffffffffff16636611f5286040518163ffffffff1660e01b8152600401606060405180830381865afa1580156103f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104159190612bd2565b92509250925060058081111561042e5761042d612c25565b5b84806000019061043e9190612c54565b60200160208101906104509190612ca2565b600581111561046257610461612c25565b5b111561049a576040517fd4371b3000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060058111156104ae576104ad612c25565b5b8480600001906104be9190612c54565b60200160208101906104d09190612ca2565b60058111156104e2576104e1612c25565b5b036104f5576104f084610627565b6105ad565b6001600581111561050957610508612c25565b5b8480600001906105199190612c54565b602001602081019061052b9190612ca2565b600581111561053d5761053c612c25565b5b0361059f578380600001906105529190612c54565b60a0013534101561058f576040517fe1a3cee200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61059a848483610d7d565b6105ac565b6105ab848484846111f9565b5b5b50505050565b6040518060400160405280602081526020017f4269744b65657020534f523a204167677265676174696f6e204665617475726581525081565b73e4da6f981a78b8b9edefe4d7a955c04ba7e67d8d81565b604051806060016040528060238152602001613541602391398051906020012081565b73e4da6f981a78b8b9edefe4d7a955c04ba7e67d8d73ffffffffffffffffffffffffffffffffffffffff16632cf886718280600001906106679190612c54565b80600001906106769190612ccf565b6000013583806000019061068a9190612c54565b80600001906106999190612ccf565b80602001906106a89190612cf7565b6040518463ffffffff1660e01b81526004016106c693929190612dc0565b600060405180830381600087803b1580156106e057600080fd5b505af11580156106f4573d6000803e3d6000fd5b50505050600081806000019061070a9190612c54565b604001602081019061071c9190612a85565b9050600061074a8380600001906107339190612c54565b60600160208101906107459190612a85565b61144c565b905061077683806000019061075f9190612c54565b60400160208101906107719190612a85565b61144c565b156107cd5782806000019061078b9190612c54565b60a001353410156107c8576040517fe1a3cee200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108d9565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016108089190612df2565b602060405180830381865afa158015610825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108499190612e0d565b905083806000019061085b9190612c54565b60800135811015610898576040517f2cc2b0be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108d7838580602001906108ac9190612a31565b60000160208101906108be9190612a85565b8680600001906108ce9190612c54565b608001356114cf565b505b600081610980578380600001906108f09190612c54565b60600160208101906109029190612a85565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161093a9190612df2565b602060405180830381865afa158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097b9190612e0d565b610982565b475b905060008480602001906109969190612a31565b60200160208101906109a89190612a85565b73ffffffffffffffffffffffffffffffffffffffff16348680602001906109cf9190612a31565b80604001906109de9190612cf7565b6040516109ec929190612e6a565b60006040518083038185875af1925050503d8060008114610a29576040519150601f19603f3d011682016040523d82523d6000602084013e610a2e565b606091505b50509050610a3b816115df565b600083610ae257858060000190610a529190612c54565b6060016020810190610a649190612a85565b73ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610a9c9190612df2565b602060405180830381865afa158015610ab9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610add9190612e0d565b610ae4565b475b90508315610b2757610b22868060000190610aff9190612c54565b60c0016020810190610b119190612a85565b8483610b1d9190612eb2565b6115f1565b610b80565b610b7f868060000190610b3a9190612c54565b6060016020810190610b4c9190612a85565b878060000190610b5c9190612c54565b60c0016020810190610b6e9190612a85565b8584610b7a9190612eb2565b6116f1565b5b858060000190610b909190612c54565b60c0016020810190610ba29190612a85565b73ffffffffffffffffffffffffffffffffffffffff16868060000190610bc89190612c54565b6020016020810190610bda9190612ca2565b6005811115610bec57610beb612c25565b5b7fa3a0edf0526ed08d875540e19888f79e48c7fd86b501e3145a99f2f3e56e0c0360006040518060400160405280602081526020017f4269744b65657020534f523a204167677265676174696f6e20466561747572658152506040518060400160405280600381526020017f312e300000000000000000000000000000000000000000000000000000000000815250604051610c8a93929190612f75565b60405180910390a37f65015729990773c576a3b60dabbbebc51d01eae66dea69e06f4b79f345cf5b72868060400190610cc39190612fba565b8060000190610cd29190612cf7565b888060400190610ce29190612fba565b60200135338a8060400190610cf79190612fba565b6060016020810190610d099190612a85565b8b8060000190610d199190612c54565b6040016020810190610d2b9190612a85565b8c8060400190610d3b9190612fba565b6040016020810190610d4d9190612a85565b8a89610d599190612eb2565b604051610d6d989796959493929190612ff1565b60405180910390a1505050505050565b6000838060000190610d8f9190612c54565b6060016020810190610da19190612a85565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610dde9190612df2565b602060405180830381865afa158015610dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1f9190612e0d565b9050600061271084878060000190610e379190612c54565b60800135610e459190613069565b610e4f91906130da565b9050610e5b85826115f1565b6000868060200190610e6d9190612a31565b6020016020810190610e7f9190612a85565b73ffffffffffffffffffffffffffffffffffffffff16878060000190610ea59190612c54565b60a00135888060200190610eb99190612a31565b8060400190610ec89190612cf7565b604051610ed6929190612e6a565b60006040518083038185875af1925050503d8060008114610f13576040519150601f19603f3d011682016040523d82523d6000602084013e610f18565b606091505b50509050610f25816115df565b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f609190612df2565b602060405180830381865afa158015610f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fa19190612e0d565b9050610ffb888060000190610fb69190612c54565b6060016020810190610fc89190612a85565b898060000190610fd89190612c54565b60c0016020810190610fea9190612a85565b8684610ff69190612eb2565b6116f1565b87806000019061100b9190612c54565b60c001602081019061101d9190612a85565b73ffffffffffffffffffffffffffffffffffffffff168880600001906110439190612c54565b60200160208101906110559190612ca2565b600581111561106757611066612c25565b5b7fa3a0edf0526ed08d875540e19888f79e48c7fd86b501e3145a99f2f3e56e0c03856040518060400160405280602081526020017f4269744b65657020534f523a204167677265676174696f6e20466561747572658152506040518060400160405280600381526020017f312e3000000000000000000000000000000000000000000000000000000000008152506040516111049392919061310b565b60405180910390a37f65015729990773c576a3b60dabbbebc51d01eae66dea69e06f4b79f345cf5b7288806040019061113d9190612fba565b806000019061114c9190612cf7565b8a806040019061115c9190612fba565b60200135338c80604001906111719190612fba565b60600160208101906111839190612a85565b8d80600001906111939190612c54565b60400160208101906111a59190612a85565b8e80604001906111b59190612fba565b60400160208101906111c79190612a85565b8b896111d39190612eb2565b6040516111e7989796959493929190612ff1565b60405180910390a15050505050505050565b600084806000019061120b9190612c54565b604001602081019061121d9190612a85565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161125a9190612df2565b602060405180830381865afa158015611277573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129b9190612e0d565b90508580600001906112ad9190612c54565b608001358110156112ea576040517f2cc2b0be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611329828780602001906112fe9190612a31565b60000160208101906113109190612a85565b8880600001906113209190612c54565b608001356114cf565b6002600581111561133d5761133c612c25565b5b86806000019061134d9190612c54565b602001602081019061135f9190612ca2565b600581111561137157611370612c25565b5b0361138657611381868685611846565b611444565b6004600581111561139a57611399612c25565b5b8680600001906113aa9190612c54565b60200160208101906113bc9190612ca2565b60058111156113ce576113cd612c25565b5b036113e3576113de868685611b6c565b611443565b61144286600360058111156113fb576113fa612c25565b5b88806000019061140b9190612c54565b602001602081019061141d9190612ca2565b600581111561142f5761142e612c25565b5b1461143a578661143c565b855b85611fef565b5b5b505050505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614806114c85750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b9050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b815260040161150c929190613150565b602060405180830381865afa158015611529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061154d9190612e0d565b9050818110156115d957600081111561158d5761158c8360008673ffffffffffffffffffffffffffffffffffffffff1661247b9092919063ffffffff16565b5b6115d8837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8673ffffffffffffffffffffffffffffffffffffffff1661247b9092919063ffffffff16565b5b50505050565b806115ee573d6000803e3d6000fd5b50565b60008273ffffffffffffffffffffffffffffffffffffffff1682600067ffffffffffffffff81111561162657611625613179565b5b6040519080825280601f01601f1916602001820160405280156116585781602001600182028036833780820191505090505b5060405161166691906131e4565b60006040518083038185875af1925050503d80600081146116a3576040519150601f19603f3d011682016040523d82523d6000602084013e6116a8565b606091505b50509050806116ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e390613247565b60405180910390fd5b505050565b6000808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b8585604051602401611726929190613267565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161179091906131e4565b6000604051808303816000865af19150503d80600081146117cd576040519150601f19603f3d011682016040523d82523d6000602084013e6117d2565b606091505b509150915081801561180057506000815114806117ff5750808060200190518101906117fe9190612b31565b5b5b61183f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611836906132dc565b60405180910390fd5b5050505050565b600047905060008060008680602001906118609190612a31565b60200160208101906118729190612a85565b73ffffffffffffffffffffffffffffffffffffffff16600088806020019061189a9190612a31565b80604001906118a99190612cf7565b6040516118b7929190612e6a565b60006040518083038185875af1925050503d80600081146118f4576040519150601f19603f3d011682016040523d82523d6000602084013e6118f9565b606091505b50509050611906816115df565b83476119129190612eb2565b915061271085836119239190613069565b61192d91906130da565b925061193986846115f1565b61196f87806000019061194c9190612c54565b60c001602081019061195e9190612a85565b848461196a9190612eb2565b6115f1565b86806000019061197f9190612c54565b60c00160208101906119919190612a85565b73ffffffffffffffffffffffffffffffffffffffff168780600001906119b79190612c54565b60200160208101906119c99190612ca2565b60058111156119db576119da612c25565b5b7fa3a0edf0526ed08d875540e19888f79e48c7fd86b501e3145a99f2f3e56e0c03856040518060400160405280602081526020017f4269744b65657020534f523a204167677265676174696f6e20466561747572658152506040518060400160405280600381526020017f312e300000000000000000000000000000000000000000000000000000000000815250604051611a789392919061310b565b60405180910390a37f65015729990773c576a3b60dabbbebc51d01eae66dea69e06f4b79f345cf5b72878060400190611ab19190612fba565b8060000190611ac09190612cf7565b898060400190611ad09190612fba565b60200135338b8060400190611ae59190612fba565b6060016020810190611af79190612a85565b8c8060000190611b079190612c54565b6040016020810190611b199190612a85565b8d8060400190611b299190612fba565b6040016020810190611b3b9190612a85565b8a8a611b479190612eb2565b604051611b5b989796959493929190612ff1565b60405180910390a150505050505050565b6000838060000190611b7e9190612c54565b6060016020810190611b909190612a85565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611bcd9190612df2565b602060405180830381865afa158015611bea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0e9190612e0d565b90506000806000878060200190611c259190612a31565b6020016020810190611c379190612a85565b73ffffffffffffffffffffffffffffffffffffffff166000898060200190611c5f9190612a31565b8060400190611c6e9190612cf7565b604051611c7c929190612e6a565b60006040518083038185875af1925050503d8060008114611cb9576040519150601f19603f3d011682016040523d82523d6000602084013e611cbe565b606091505b50509050611ccb816115df565b838573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611d059190612df2565b602060405180830381865afa158015611d22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d469190612e0d565b611d509190612eb2565b92506127108684611d619190613069565b611d6b91906130da565b9150611d99888060000190611d809190612c54565b6060016020810190611d929190612a85565b88846116f1565b611df1888060000190611dac9190612c54565b6060016020810190611dbe9190612a85565b898060000190611dce9190612c54565b60c0016020810190611de09190612a85565b8486611dec9190612eb2565b6116f1565b878060000190611e019190612c54565b60c0016020810190611e139190612a85565b73ffffffffffffffffffffffffffffffffffffffff16888060000190611e399190612c54565b6020016020810190611e4b9190612ca2565b6005811115611e5d57611e5c612c25565b5b7fa3a0edf0526ed08d875540e19888f79e48c7fd86b501e3145a99f2f3e56e0c03846040518060400160405280602081526020017f4269744b65657020534f523a204167677265676174696f6e20466561747572658152506040518060400160405280600381526020017f312e300000000000000000000000000000000000000000000000000000000000815250604051611efa9392919061310b565b60405180910390a37f65015729990773c576a3b60dabbbebc51d01eae66dea69e06f4b79f345cf5b72888060400190611f339190612fba565b8060000190611f429190612cf7565b8a8060400190611f529190612fba565b60200135338c8060400190611f679190612fba565b6060016020810190611f799190612a85565b8d8060000190611f899190612c54565b6040016020810190611f9b9190612a85565b8e8060400190611fab9190612fba565b6040016020810190611fbd9190612a85565b898b611fc99190612eb2565b604051611fdd989796959493929190612ff1565b60405180910390a15050505050505050565b60008380600001906120019190612c54565b60600160208101906120139190612a85565b905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016120509190612df2565b602060405180830381865afa15801561206d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120919190612e0d565b90506000612710848780600001906120a99190612c54565b608001356120b79190613069565b6120c191906130da565b90506120ef8680600001906120d69190612c54565b60400160208101906120e89190612a85565b86836116f1565b60008680602001906121019190612a31565b60200160208101906121139190612a85565b73ffffffffffffffffffffffffffffffffffffffff16600088806020019061213b9190612a31565b806040019061214a9190612cf7565b604051612158929190612e6a565b60006040518083038185875af1925050503d8060008114612195576040519150601f19603f3d011682016040523d82523d6000602084013e61219a565b606091505b505090506121a7816115df565b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016121e29190612df2565b602060405180830381865afa1580156121ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122239190612e0d565b905061227d8880600001906122389190612c54565b606001602081019061224a9190612a85565b89806000019061225a9190612c54565b60c001602081019061226c9190612a85565b86846122789190612eb2565b6116f1565b87806000019061228d9190612c54565b60c001602081019061229f9190612a85565b73ffffffffffffffffffffffffffffffffffffffff168880600001906122c59190612c54565b60200160208101906122d79190612ca2565b60058111156122e9576122e8612c25565b5b7fa3a0edf0526ed08d875540e19888f79e48c7fd86b501e3145a99f2f3e56e0c03856040518060400160405280602081526020017f4269744b65657020534f523a204167677265676174696f6e20466561747572658152506040518060400160405280600381526020017f312e3000000000000000000000000000000000000000000000000000000000008152506040516123869392919061310b565b60405180910390a37f65015729990773c576a3b60dabbbebc51d01eae66dea69e06f4b79f345cf5b728880604001906123bf9190612fba565b80600001906123ce9190612cf7565b8a80604001906123de9190612fba565b60200135338c80604001906123f39190612fba565b60600160208101906124059190612a85565b8d80600001906124159190612c54565b60400160208101906124279190612a85565b8e80604001906124379190612fba565b60400160208101906124499190612a85565b8b896124559190612eb2565b604051612469989796959493929190612ff1565b60405180910390a15050505050505050565b6000811480612505575060008373ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30856040518363ffffffff1660e01b81526004016124c2929190613150565b602060405180830381865afa1580156124df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125039190612e0d565b145b612544576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161253b9061336e565b60405180910390fd5b6125c58363095ea7b360e01b8484604051602401612563929190613267565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506125ca565b505050565b600061262c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166126919092919063ffffffff16565b905060008151111561268c578080602001905181019061264c9190612b31565b61268b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268290613400565b60405180910390fd5b5b505050565b60606126a084846000856126a9565b90509392505050565b6060824710156126ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e590613492565b60405180910390fd5b6126f7856127bd565b612736576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161272d906134fe565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161275f91906131e4565b60006040518083038185875af1925050503d806000811461279c576040519150601f19603f3d011682016040523d82523d6000602084013e6127a1565b606091505b50915091506127b18282866127e0565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156127f057829050612840565b6000835111156128035782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612837919061351e565b60405180910390fd5b9392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612881578082015181840152602081019050612866565b60008484015250505050565b6000601f19601f8301169050919050565b60006128a982612847565b6128b38185612852565b93506128c3818560208601612863565b6128cc8161288d565b840191505092915050565b600060208201905081810360008301526128f1818461289e565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612924826128f9565b9050919050565b61293481612919565b82525050565b600060208201905061294f600083018461292b565b92915050565b600080fd5b600080fd5b600080fd5b60006060828403121561297a5761297961295f565b5b81905092915050565b60006020828403121561299957612998612955565b5b600082013567ffffffffffffffff8111156129b7576129b661295a565b5b6129c384828501612964565b91505092915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612a01816129cc565b82525050565b6000602082019050612a1c60008301846129f8565b92915050565b600080fd5b600080fd5b600080fd5b600082356001606003833603038112612a4d57612a4c612a22565b5b80830191505092915050565b612a6281612919565b8114612a6d57600080fd5b50565b600081359050612a7f81612a59565b92915050565b600060208284031215612a9b57612a9a612955565b5b6000612aa984828501612a70565b91505092915050565b612abb816129cc565b82525050565b612aca81612919565b82525050565b6000604082019050612ae56000830185612ab2565b612af26020830184612ac1565b9392505050565b60008115159050919050565b612b0e81612af9565b8114612b1957600080fd5b50565b600081519050612b2b81612b05565b92915050565b600060208284031215612b4757612b46612955565b5b6000612b5584828501612b1c565b91505092915050565b6000612b69826128f9565b9050919050565b612b7981612b5e565b8114612b8457600080fd5b50565b600081519050612b9681612b70565b92915050565b6000819050919050565b612baf81612b9c565b8114612bba57600080fd5b50565b600081519050612bcc81612ba6565b92915050565b600080600060608486031215612beb57612bea612955565b5b6000612bf986828701612b87565b9350506020612c0a86828701612b87565b9250506040612c1b86828701612bbd565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60008235600161010003833603038112612c7157612c70612a22565b5b80830191505092915050565b60068110612c8a57600080fd5b50565b600081359050612c9c81612c7d565b92915050565b600060208284031215612cb857612cb7612955565b5b6000612cc684828501612c8d565b91505092915050565b600082356001604003833603038112612ceb57612cea612a22565b5b80830191505092915050565b60008083356001602003843603038112612d1457612d13612a22565b5b80840192508235915067ffffffffffffffff821115612d3657612d35612a27565b5b602083019250600182023603831315612d5257612d51612a2c565b5b509250929050565b6000819050919050565b612d6d81612d5a565b82525050565b600082825260208201905092915050565b82818337600083830152505050565b6000612d9f8385612d73565b9350612dac838584612d84565b612db58361288d565b840190509392505050565b6000604082019050612dd56000830186612d64565b8181036020830152612de8818486612d93565b9050949350505050565b6000602082019050612e076000830184612ac1565b92915050565b600060208284031215612e2357612e22612955565b5b6000612e3184828501612bbd565b91505092915050565b600081905092915050565b6000612e518385612e3a565b9350612e5e838584612d84565b82840190509392505050565b6000612e77828486612e45565b91508190509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ebd82612b9c565b9150612ec883612b9c565b9250828203905081811115612ee057612edf612e83565b5b92915050565b6000819050919050565b6000819050919050565b6000612f15612f10612f0b84612ee6565b612ef0565b612b9c565b9050919050565b612f2581612efa565b82525050565b600082825260208201905092915050565b6000612f4782612847565b612f518185612f2b565b9350612f61818560208601612863565b612f6a8161288d565b840191505092915050565b6000606082019050612f8a6000830186612f1c565b8181036020830152612f9c8185612f3c565b90508181036040830152612fb08184612f3c565b9050949350505050565b600082356001608003833603038112612fd657612fd5612a22565b5b80830191505092915050565b612feb81612b9c565b82525050565b600060e082019050818103600083015261300c818a8c612d93565b905061301b6020830189612fe2565b6130286040830188612ac1565b6130356060830187612ac1565b6130426080830186612ac1565b61304f60a0830185612ac1565b61305c60c0830184612fe2565b9998505050505050505050565b600061307482612b9c565b915061307f83612b9c565b925082820261308d81612b9c565b915082820484148315176130a4576130a3612e83565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006130e582612b9c565b91506130f083612b9c565b925082613100576130ff6130ab565b5b828204905092915050565b60006060820190506131206000830186612fe2565b81810360208301526131328185612f3c565b905081810360408301526131468184612f3c565b9050949350505050565b60006040820190506131656000830185612ac1565b6131726020830184612ac1565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b60006131be826131a8565b6131c88185612e3a565b93506131d8818560208601612863565b80840191505092915050565b60006131f082846131b3565b915081905092915050565b7f5354450000000000000000000000000000000000000000000000000000000000600082015250565b6000613231600383612f2b565b915061323c826131fb565b602082019050919050565b6000602082019050818103600083015261326081613224565b9050919050565b600060408201905061327c6000830185612ac1565b6132896020830184612fe2565b9392505050565b7f5354000000000000000000000000000000000000000000000000000000000000600082015250565b60006132c6600283612f2b565b91506132d182613290565b602082019050919050565b600060208201905081810360008301526132f5816132b9565b9050919050565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60008201527f20746f206e6f6e2d7a65726f20616c6c6f77616e636500000000000000000000602082015250565b6000613358603683612f2b565b9150613363826132fc565b604082019050919050565b600060208201905081810360008301526133878161334b565b9050919050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b60006133ea602a83612f2b565b91506133f58261338e565b604082019050919050565b60006020820190508181036000830152613419816133dd565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b600061347c602683612f2b565b915061348782613420565b604082019050919050565b600060208201905081810360008301526134ab8161346f565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006134e8601d83612f2b565b91506134f3826134b2565b602082019050919050565b60006020820190508181036000830152613517816134db565b9050919050565b600060208201905081810360008301526135388184612f3c565b90509291505056fe73776170284167677265676174696f6e466561747572652e5377617044657461696c29a2646970667358221220a21e9863f7cb2d8f8c71e1a2b034f117a709fde7d0b6de6de9e4cb0c66ce5aac64736f6c634300081100330605581d0284af4cd48b731328fbc7b0fc1b6291ebb95e1d3c1df34c8b2894b5ef07011935990219101005581e036c233a3d90ce212f24c6f70663766d4301ae818d7033784e8a62926330040103e2298c6b7ff980a650b601d036b942d0544010e6c8fca3a85c7fcaa88588cbee0219bfdb030390bd217356bd8cef77557fbba6d9b858d47232bf73388af1e5eb528e3e314303f433bc410287e057dbe5b013f0cc4553c91c86fac6e19da896c647a84d8bc72c03f24a1b743e207b65063b3970f78b6d938a650c95f8817b67366c6006da9ab602039472350b867d964036c4056c664f49188490e6dbda06a93cd67435c59a3e723203c21e44ba6ab2cb54d6ea684cb12eb24cbbcc065bb19e2a4fd9707697c163d4ec03aed7589bd17f9c6817b8ba5d483108ca31849a9f1dd533a1c4a40a8d132e77790219ffff031d16fe34d34ae81f5f14ab58dbe376560e6c02aeb25556d1040ecb0ef9cd324403066e7a6f26028c84be348b147189d3b2f6962708d9dd091a8940f492ae56b5dc03f215f7b36965ba703e374a0202db26a0189e102613ce8c5cead072f1bc1431460329ca39fcc06d7144d76f8a82cc2941f2995adb435b3058e0eebf75177c4ab51b03959e22ae7f461bc77eb604fa30d1dee8cadfa12a711c4dfb2b08c5e6fc8aaf73034fb0d46f66ae5b8871bf35028b74e0a37ac9b5c1ba36e91420f0de9c3fbb29a903fd9c8636561b31f5f9e7d600bfa0bf772212b85cf8190b6141fb0c6accffdf6c0219ffff03aa463d3685a5bd4067f720621668bda50a17a811788c6988b091c48b799e8a2c03d9e2fcc84814fbb23323da0d0930c1db1ed01e9811f9bb981210869cb49f5aed03e77b426c53137a2f3042e8f4689942ae35e523b20c93a9b99b22517967f5d00f03bd6d5b14af0e2915c7d22522c0a3883dae36c271a569ff2dc8b2f8093aa6592603b0739f50483439c8e67d3860d20b55d897c92259fd04eda0725a5d21d311d87a0356d6a268c8dd6cc18b0d834f8c0bbb508d2c9621f4884213d34ed1b6ec3c5fd20314aef06f5e7ec2c6fb776c9597feec695252d05e9673955d7e16049826c63f2b03f2ece8cff217ac44a2ab7885b3803c516414c014cddc5fd6dab3346d06dc948003a6bf02620a5ad0895c84edc8e7653da182643f969b27fae6dbd616da6f01582903b53ecb936efb20f6360ea80c0465dda6974e33aae7f4ad68afaedffe64b0939f03c4ea5f916dc4ad95fb6c00a3a37afd283f6096142052f7f1b34097c8565bccc003dce3ec1f42134dbd958f376ba7cdc490d25a8227e0d7e18328384e916e545c10038906efcdfc8cbb7b9e8b4a3b30f37dc00e597a5205cdeda8fa9ebfcb1582915503ea19d7b95426883dd68a246965c2c8b0fb285f87322757baa8a3ec64d819524f031a7b36c58ceb60a8389a89c961083eaaa5a7d89522b9ffd4832aed028a4a357803d5065b2f33aee085be7ab7debd890b3a04cbf340103a3f2bb66e0b868e4e8cea036ec63565941b07ebf7c5db38fb7007d00e64b070708669f4b5d2391d5e48fbef036f63782a6ed1dd1774821b6a79700e235c40169171b3b21148ac8019658a1b210334c27915aff80666fdd991329a15d799b9545747231159d1c6a2ee4d0658af3f03cf42fc80ff63ce12f28722f0068904797e3c26818ebbdc98186f5718c34a2ac203e1a35e03d3239efc92a379c6890c793be76351c0a6c40228860ebe15b34696f303c612d23eca1681a98d532936eb9fe50989d6a5e9f2210c5cae5c9aeeb7e3031603a45b806d0b1c9286a51686ff8f8e81b6254693a87f25abe60abe63b3d37fe3a7032f90744c4a7b7570d59de89c6594cf06f6d7a5006d77e17e339901bb25ac0d8e03b759fabb6d48846b2fd665cfe07e7b428279121927077958486c01aec253d35903bd2ae1493ba50e3c4703055bf50d5c98d45af8a57974ebc95eb6a681094c6e1603a52558c10d468c95f33bae15b345b5e2c95fc09431d9e32610a02d251872df1903ab4c88b2713d964711f11bb1fc9e021bd95ac087b2688a5f78b003f397cd9ae20379b0ace82b3e0570770ef95eba71a670b7263ee2aae6fcc9fa7eaf4084ba99150347991341bcc03a9f6d89b99003431a98415cc75b685e5fa75f7523cde34b231f0366f54dfbe3bd540a8ac0103e393fe7995f6bcd20ac550c91f7168fb0af503765032fc632a93228ba62c6d25e359a70f89d4c7ffc63cf35a3bc75a31d0685dbc1bd035effefe4ce0b2af1f5b7e01dfbb0ca5d80d29042d2ecfe63d042a9cf6aa4bd0203adb12454ea46504cad2e129f0a10ccadeeda49fd60822cb6cbc3e8e9f338606f038f8f79bbe1d679427690c8c9beabd1fa94748bd31d13a5ec02aec4fcda2e7e98039ed08dea3f437462f0161b83669452ccfa32b9c12e264dcc9077c2e5e432238c037814c99e8ea4ac79284cf1ceeb79142f0ca92da3ed4d1806c4b78aa39f666b95030d7691c2d6d0270a3fe9244dfdf12f9fa6d3fabf1517b0688d90b4ac78132c7c05581e03abea1d4b4a3d60829ab22097b034f38c33d535004e74661f8d0eb11b80040105581e03f1d03f758f053e8beea23dc655d0f10e5bef807ae9d8236c7b4f46e450040403647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03fb7dbe4e1c6cb2a3eb8dcf88384485532f1c4b87c763a07e8acaa0fb2007011bffffffffffffffff05581e030cee01384b796794fcfb64deb3ea3ff994821fbef42b190baf2b2c62400c18334802ff96020458c892031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03228585e2835d4245fdea8a267c06bf40a5a0586233b3d6ba9524b8071007011bffffffffffffffff05581e034c1e2977e28b53a67628535218a94a8e7633ca15c95c046002a80640200c1828473dd5003b1ffc1e05581e032a9484479539843aced919f895217b5e53d93d3be2b49c12198545a6500c0147011e0bed322fae05581d02bf1f396356cdc9ced5353f1bdcb19bd46c8514910a388d5160da567a0c01470221307481235405581d029d3d71aa971fab31c1b2462f08bf30c58dec636837c5e76d6dd12c6608481bc16d674ec800000219120005581e036b8d682ef56ff437e78a0a5cc2a684f2875b96334b471c85322432ece0040105581e0345fff7a2c648328663b421f7b17a9db947d824c5fd757fe73abe298fa004020219fae4034230e2a73bb3185bdef87c68c499a3c9f82cb6a5a673000ca8561ee6e882c5a0037414b5f4988de81fa69b942bda2fc1cb0036505a9ea2debb1442411889c695740219ffff032163a82fc8e4440ed57809893b51c193dcfd1f6ee62712bdad187d0f6a7087de036928c766ada480b057ac828be42ce9dee84f6fa29bab878c869f333310136eef03d639a3bd8c5ff70f4871ac2b29a31399df964dcdbca5a31a62c7d8421ef7af52030ca4579587e93cf7f2e1fb8ade8ff197de32cec61e8e8bcff419082252e8dfd30219ffff0219ffff0306b2f53b151205eedec979b64310408b95a1401627330c47e0c10f4dfeaa80f00331c093024c085bf14a4f606eb8d69b2cd4664cf0432e31dd24adb667ea856265033f1f3854011a74cb89cb31f23a0b12c048ee15ecb6b10716eed791ba466d28e703b14bcfe192c736140fe481b76a5926076dd24a032c2580e60b378fcf9fef29810383c2111f7826f69aedc4dad22ebd68d8e4b5c400689da9c71c048fb48d9686800340af43020d26f0d098e8ad25f73a437ff8e161de8063f95586a4c9c3dec364bd037187221d5138a159dbf0b7686c3d484b30271a4b2f9f1f53734e9aa9082bbc410331a1e08346e700f74945c071aea257e52d00e3293a8a34b80246325524e78b6203d380b6012adf503a1689b7519f1a4da4f40da9bb4e9a341fef22ee9f578e4c92036105bc348e92aab325805eb1094be3af454f79a62067bd3e98268f220702f5f80219ffff033f8e99f34404a91223cbbbdf385a27a2c8393a7c43f25ec944696487a5031fca03f37a391b67a3995617be367c06c3f38355c3f402415085217ad8e84d28daed05030764fd18c860f8453bc0d1306d1e9f8402e87c34e8350eec3a1ae5725d21a08f03ee56d98cfc52ba32d5fab3687f88271544c5f00e7eed709861356cc62644e0750334cf97700e23791ef2295086d8424f73f066123027e36800f7395445bbf2e00003879cdd63abd82d1c360c295bcf1e6d5d190735180e11569bc7cb9add97f45e7a0355851bd9b9809751be0289f3bf1c9503323c6db4dbedc9d54bbbeaa852b7739803dc0a4711e790241b2f3b7e84a6665580f89a5efa35c4f92d68bbadd805da7430037532c7d1f83524a8dfa3525cbe77f2fe938b40fac2787d8d04d227dd9c7733ed031f7b6934582843cb0c1c598bcdff34efab40b91dab3f0a2176b9f5c5e977832d03a94cf28eb2c7d26d4f5ec5907d5efaf260dcbe6bfaeb1648efee9f34593b247403fc38fa2a3bf74c32d43743908e29c8a21e56705b62bcc58c17941234208ea23f03a62bc2819a97cc18c28eab3ff7989259bad91658229887a6dfb01bf6eaebc9c9034b0b558265e985ea33f924309f3380bbf15b50e9355b2eff733f15b2d55e2e6103afe83ed538e70fa0072bd4d8e8ebea26129f9960a95e6f9f85c8214d8bc00ddf033495bd0a0bc7a37ba7fc4fa323ae7b365e8392c7f5569eaffab73fa0759296ad031019b17e9226765182a5e563979e74d92067f9b54e1c22f16898fee90818716803a3b10b61f2e199b7a2d753f371e4b59db8735ec7ff047271a9c4df7c73d5680d031053bc34fdb9e3a4043f14ff3051c981de5e175b375ebaab59938e8b41c7a37d038e29cd0027c4bc9599e7e27455907d32da6c0607e4c1541ab80d51edb9cdc2e10388a470cc713cfb66020fb296a78dc437f0614cc844cdf2e4d1816a75e27cbcc4037c69f6f1d939e19b8077e74bdb4f7a712a41c615e9a530df93b804bcfb996f1f038db2c0d9db531ea0626951b115ddb32c4bb81379941e7b0541f325fa224a8a5603725c3b8d7fb646700c468314e91df1bca2dddc66c40cfb24b4ebca5b7ae70de6038f57958c91072b40195a700665ca753b81b2248d7312f7a3a0f00d733006bdeb03d08a7b74b32646fb4ce32e2e3b754755bac39ef10f8d6acbd1d596a63f3de93403bab2716a91e9b6025792e84ee04b501bea4c535c59dcc4658569a308b0ae42010308cca5cae0456854ce988261a2bee660478e800e9e47a84d860d4fd7d96a4cde03e146e70e09701d06b8b59fe46d2a9b7600ab104da797e11c4e39c518e661a45503993e909f3e27c4235d53700fbdc4f98765a040cc5ebe96beb52039c1b6568196033f98ebecff8ff5059652924a3c382da0b8468d0de7cea8d027a05497d267831b037500b4f5e24118aa2507db16ff46e163088f2598fffd031d4c69c2f00af90664039c0df827b4117d697d0815e78acfb6c3efa307a02d3485814e74af77887f94df03aa49ee0a266c229a1d51aec219b94eab221317de0b9f2ea9b5d50e8b8f556fa603a9c3a9df0d8b8d451bf31303ae3537331247bdc80439576763c58d9badbb876c0316a27f29dd9ddc3f51371c6abc7d95f4314e7315b1fa4cace0c083693a5091c503c3572244eb07b48e7dd848233a1d35ed8f1b72ef8012b6444f1350725e099b2b037d8da0d8efcae604662749541020747b2d60adfc06db2d35dcf4d32be17a1029030a504d3c4928c971037b99b7d1de063cb5e48a5669c1daffb7b0ba0e0acbe38803587568c4fc095498eef7c6b0d00fa1534df5bc2cb183195eb720f8fcd8076cb903fe6a077ef7e600b6650f5a26fcdb1d2b62ab651dd27ee070d96d84c5da013c4a03b3cdd8dc3c3b23086907e76d45113b6d7f0be38f73aae06d691c095efc8b6b4b03ac2a7423380417a748498187627f14cc54cb125444bb289de593065357b4634e03ab96a74a7f2f3964a091d2a692332743f6bb5307d9ea657f2f27a5a301cb029f05581e0314adf442d14a91fa82af1f9db2f36e9ca134840e10a2ab30bf2aa39c200c1147d9625687162b49032ef4a07bebd2d5781133b6db51e780f3eaf870bd7aecc63253a1f17f59910dc605581e033157c64ec5b3e0793fa84156ffca3e1116248ecbea417123dd7c697f800c02470150835691200005581e03a1cc252cd51778748ad882cbb763ad504fc3f367e463b02ef5a361c290040105581e03b45719a2efbd4a74181b97a7ecd82bf2bbc6e076e22714fe2242ebd9600c0246d646aab45600035775f8d8fabf5d30b477f2255c8ea84548a81bb4cfadb01dcdab809528dcd90d03ba6557f66635aeba59fe9d561755ab1f9b10d7c3ea57be4653f0cd299b3a858405581e03572d900e2fe6fc5545dff38cb856c5a0eecb777bda21bc39c6952338700402032b6657e96b1d273d4cca89f967d15675ea5e59d92910d3559218f64a10c7271b0219dfa0033aa77fe430b5ec312a1c5d1349cc94cccd023358c657253823196e506d164723035ee2796dc1636d7c95f2d98aec91ac71fad1bd685df55ca341723e3e9a111066036c98ccefb6183e4ee0292cb1c1fd79fe535cb78eeaab377bffc8528d95acfe2b03abe94d49dd1d0ea981b96cec5b20f70cf206564461e36fd62a9c91820d0aa37503e30906f91c5e03186df4fd1a996afcb40306969fbf2b6eca298c09485d4e67a10219ffff03923b48ce1a27aa8ed469cf85b5aee5cec86b3d115e1f7c24dd97dbaaa16df305037af7ce8d0f0df5bebc4012f60eef41fa21d010917be432ed689082ed1ea012db031b4f63a50241a8779ecd1f47888d112f43f7e878723745abd60a390ad3d780b50219ffff03f41b8c7dc530a1d4e96ddc331fd468f1031aba561342915c34244595ea3b85dc0219ffff035636e7b804a0f3130fd45d76cb7939d8b4b413da24eed235881b05dcf5dc9ff003662276e02a8d635a5c341e3fd4fe62692400b761abea839620207f06b8fa3acf03d177107a445c7a47011d15acca54b2d8776385d0f8c15188fe3894c857ec92ea03ea1b1f454b8985400d937cd4489172f20bf0c90d46005d2af69dec98f2407f3403176d1955e67a9f0e79a9d8f6ddfeca087d6794b738e49f44e62ea5389e9ad1a6031b17c4825b191e85a2d1eac61ba90e57936d11a260a326c430e946598fdc0149034f5611dbef05751a55a8c5a29caac4858ebe23648cdd2644e0dba0c7dbef63aa03c5450059f32b0a5f4da61763d3b0b45d418a11b4acefdf44f2bea95b4a3d933b031d96687977f858d43dd97ee34cec231c731e7181905fd178a79276d2e84c904c03128e10e87a28fb76f87094973046794ea73b5f05ae9773fc1006431be962850a03c905f0baa1b8fe082d19736e660c77ca7bf5d900d6f0f28e982c741eecd3aeb1034c71c2792b8549616bba9a91a424707fb393dd8cd0a42afcbac4651e4f9dd51d03173dfc7ca717d545dcc48f74beb6267813b394ff724f5f28a2406e0306d3d3370395d477fd262dfce89c593e3d82674f1f57c1aca11465a8353d636c4947b9e31003bad86e7068eefa98b8b060adeb1b003a6badb04a1b066cb1cc379e8240fe45b103f120f7204968e84d4a978cc8faa02e7b3890cd27c5fbd2dd3105ffdd01319517038f37edb6fa089a8b3c09ad4ce3e83459c3e84559bf32d4f4cfd23107e30feae7035f939a5d373d9adc9b74aac6fed97955dc316575e4dfabd4d73a4492dfc7bdb8034dd5bc7160b85cfef0dea329e2418ea6e10ec4581a068e6fee1bc3eab47c2d1a03e8bf9ec31be1ad286222cb0696f2385fb9152add58810eb702232ebcccf42b91036b1c8c52e52165d2c063271bc038c4c09f0b5a0e54e463798112a05f1af926a4037a2915a99a672081a63c77ee4988f14b36dbc324310f7661756c4cb420299e83036bbd1e6504fa6cdeb3591116cb84e665e6382e4f18c9febfdc5604ba19b3131603ba4a1fed79c22c92a9cedad019d456e6e295d4d044d8dc1010b418630e9546f2037ad8284eb03fc6749e8eba18c836a398fd4ebaf859d607bbf7ebca7b8ba69e1003b7ab356cf5b9bd98227898eca3cb7c9cac80f2a059e8bf0e954cbe45ef45590f03bd58eb774da02d37473c5b6b75bd2b5af43e2abd01a244a423c4000d8b3dcedd0361256f16202d2988f4727c2eea12f8c200f3665be85f69beb04a3fe4f4f950c50366b0dc8db4ceb6d9a218b2067b20b63cd38291dfbc473a03a37e0b3c04dcbd8303bb225b4bf6af62c04e0568a8e73e20e97862c67a68bde28c3bb55dda46b22cae038acf6f08d9e518f484c1a0144353cc31a48ba09a10907e5359adaa54c37cd86d033bf8899044a32066af36562b7414fa0e79831bc916bd4696695fa422d04bbd4b036dedd50f85b8403ffcab2570fda69a3613d45ff33cc9f3b9eab0166aa07b05a30364af4fcdf24883bf06e28e0e9b764834d488853ca49613cebc483de6f23c47290360caab92d66ac4386840159ad6a4849badbe1d0b1234159f066ce428230b0f7803733123f2c624de032f98fbd879cb4944b183e57b441dfe6a9ef29772ec76aac303554acbc0554dd3cb7c0ecb2108617cac9bfdb662d93d5572b762140bf1d4462603fb6cc8c89edda45a31e8794c7e5266734a17d12e047a9005fb793c448558a1f203e84c1ba538f0bfd0babaa6287624deedbc028562da7fad5b2d69c874eb2d30b9035a49ae0c3802a0f423e37b9e63c4efc74a6b92974196c1f8adfbe3a5d348b7aa03ee2dbbe7d95d231a4c0f2d6be8d908d6c5e05692c3d37d1bc5e51d41f9c738a7032c0229f2537df50a5e50d8057dc3953d2a986a703f0a7f6f9a624f10832e9d1703fedf3936e9bf02103d9b8f030ff53422b21fcfe14f43240bb9afaac32326e2190306580fe1cca20284de9b3bab81f9a1d15b6d0d5083fa5f72f65912879952976303a363ef275e9a4ac6d9904bc0ac89e124fffe6afba4fd59289e07bd9d7733405903028126fa48195764237c5e82f763e8f020daa9239c8f1a4e37d655bcb2ac362b034690e165dd0f6ecaf977bbc533e423a4daffb6aa11f3e24de46ef1b9450a28e005581d02573659db1474b334397f1b11482ff0cd969768ef134ce80c518c2e56040205581d02b67a55879261900750896ff9ffd9aacf7f1f24a2a910b7ee17127e150404045916ee608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063a457c2d711610071578063a457c2d714610376578063a9059cbb146103a2578063bf7e214f146103ce578063d505accf146103f2578063dd62ed3e1461044357610121565b806370a08231146102d057806379cc6790146102f65780637a9e5e4b146103225780637ecebe001461034857806395d89b411461036e57610121565b8063313ce567116100f4578063313ce567146102335780633644e51514610251578063395093511461025957806340c10f191461028557806342966c68146102b357610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806323b872dd146101fd575b600080fd5b61012e610471565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b038135169060200135610508565b604080519115158252519081900360200190f35b6101eb61051e565b60408051918252519081900360200190f35b6101cf6004803603606081101561021357600080fd5b506001600160a01b03813581169160208101359091169060400135610524565b61023b61058d565b6040805160ff9092168252519081900360200190f35b6101eb6105b1565b6101cf6004803603604081101561026f57600080fd5b506001600160a01b0381351690602001356105c0565b6102b16004803603604081101561029b57600080fd5b506001600160a01b0381351690602001356105f6565b005b6102b1600480360360208110156102c957600080fd5b503561072a565b6101eb600480360360208110156102e657600080fd5b50356001600160a01b0316610737565b6102b16004803603604081101561030c57600080fd5b506001600160a01b038135169060200135610752565b6102b16004803603602081101561033857600080fd5b50356001600160a01b031661075c565b6101eb6004803603602081101561035e57600080fd5b50356001600160a01b0316610892565b61012e6108b9565b6101cf6004803603604081101561038c57600080fd5b506001600160a01b03813516906020013561091a565b6101cf600480360360408110156103b857600080fd5b506001600160a01b038135169060200135610969565b6103d6610976565b604080516001600160a01b039092168252519081900360200190f35b6102b1600480360360e081101561040857600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135610985565b6101eb6004803603604081101561045957600080fd5b506001600160a01b0381358116916020013516610b01565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104fd5780601f106104d2576101008083540402835291602001916104fd565b820191906000526020600020905b8154815290600101906020018083116104e057829003601f168201915b505050505090505b90565b6000610515338484610b2c565b50600192915050565b60025490565b6000610531848484610c18565b610583843361057e856040518060600160405280602881526020016115de602891396001600160a01b038a1660009081526001602090815260408083203384529091529020549190610d73565b610b2c565b5060019392505050565b7f000000000000000000000000000000000000000000000000000000000000000990565b60006105bb610e0a565b905090565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161051591859061057e9086610ed1565b600760009054906101000a90046001600160a01b03166001600160a01b031663fbfa77cf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d602081101561066e57600080fd5b50516006906001600160a01b0316331461071b5760405162461bcd60e51b815260206004820190815282546002600019610100600184161502019091160460248301819052909182916044909101908490801561070c5780601f106106e15761010080835404028352916020019161070c565b820191906000526020600020905b8154815290600101906020018083116106ef57829003601f168201915b50509250505060405180910390fd5b506107268282610f32565b5050565b6107343382611022565b50565b6001600160a01b031660009081526020819052604090205490565b610726828261111e565b600760009054906101000a90046001600160a01b03166001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b1580156107aa57600080fd5b505afa1580156107be573d6000803e3d6000fd5b505050506040513d60208110156107d457600080fd5b50516006906001600160a01b031633146108475760405162461bcd60e51b815260206004820190815282546002600019610100600184161502019091160460248301819052909182916044909101908490801561070c5780601f106106e15761010080835404028352916020019161070c565b50600780546001600160a01b0319166001600160a01b0383169081179091556040517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90600090a250565b6001600160a01b03811660009081526005602052604081206108b39061116a565b92915050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104fd5780601f106104d2576101008083540402835291602001916104fd565b6000610515338461057e85604051806060016040528060258152602001611694602591393360009081526001602090815260408083206001600160a01b038d1684529091529020549190610d73565b6000610515338484610c18565b6007546001600160a01b031681565b834211156109da576040805162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015290519081900360640190fd5b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610a098c61116e565b8960405160200180878152602001866001600160a01b03168152602001856001600160a01b0316815260200184815260200183815260200182815260200196505050505050506040516020818303038152906040528051906020012090506000610a72826111a0565b90506000610a82828787876111b3565b9050896001600160a01b0316816001600160a01b031614610aea576040805162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b610af58a8a8a610b2c565b50505050505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b038316610b715760405162461bcd60e51b81526004018080602001828103825260248152602001806116706024913960400191505060405180910390fd5b6001600160a01b038216610bb65760405162461bcd60e51b81526004018080602001828103825260228152602001806115526022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610c5d5760405162461bcd60e51b815260040180806020018281038252602581526020018061164b6025913960400191505060405180910390fd5b6001600160a01b038216610ca25760405162461bcd60e51b815260040180806020018281038252602381526020018061150d6023913960400191505060405180910390fd5b610cad838383611165565b610cea81604051806060016040528060268152602001611574602691396001600160a01b0386166000908152602081905260409020549190610d73565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610d199082610ed1565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610e025760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610dc7578181015183820152602001610daf565b50505050905090810190601f168015610df45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000467f0000000000000000000000000000000000000000000000000000000000000001811415610e5e577fb86338c2ea64c0e4cc86f7224cf3207aaae6f51fd55aa8b31cf5b137cc777b7f915050610505565b610ec97f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f5cb8f939bed19e73a0229b7f12172ba2ec61ccc623f4cf0c36f42aacbd39b6617fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66111db565b915050610505565b600082820183811015610f2b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610f8d576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610f9960008383611165565b600254610fa69082610ed1565b6002556001600160a01b038216600090815260208190526040902054610fcc9082610ed1565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166110675760405162461bcd60e51b815260040180806020018281038252602181526020018061162a6021913960400191505060405180910390fd5b61107382600083611165565b6110b081604051806060016040528060228152602001611530602291396001600160a01b0385166000908152602081905260409020549190610d73565b6001600160a01b0383166000908152602081905260409020556002546110d69082611220565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600061114e82604051806060016040528060248152602001611606602491396111478633610b01565b9190610d73565b905061115b833383610b2c565b6111658383611022565b505050565b5490565b6001600160a01b038116600090815260056020526040812061118f8161116a565b915061119a81611262565b50919050565b60006108b36111ad610e0a565b8361126b565b60008060006111c4878787876112a6565b915091506111d18161139b565b5095945050505050565b604080516020808201959095528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c09092019052805191012090565b6000610f2b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d73565b80546001019055565b6040805161190160f01b6020808301919091526022820194909452604280820193909352815180820390930183526062019052805191012090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156112dd5750600090506003611392565b8460ff16601b141580156112f557508460ff16601c14155b156113065750600090506004611392565b600060018787878760405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611362573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661138b57600060019250925050611392565b9150600090505b94509492505050565b60008160048111156113a957fe5b14156113b457610734565b60018160048111156113c257fe5b1415611415576040805162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015290519081900360640190fd5b600281600481111561142357fe5b1415611476576040805162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015290519081900360640190fd5b600381600481111561148457fe5b14156114c15760405162461bcd60e51b815260040180806020018281038252602281526020018061159a6022913960400191505060405180910390fd5b60048160048111156114cf57fe5b14156107345760405162461bcd60e51b81526004018080602001828103825260228152602001806115bc6022913960400191505060405180910390fdfe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545434453413a20696e76616c6964207369676e6174757265202773272076616c756545434453413a20696e76616c6964207369676e6174757265202776272076616c756545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212201dd9d58665b9f124afb5f5fd154759d875decbca6dcc7036a2d0e59c76a3832a64736f6c6343000705003303c4825e42772ca66d311c220bc0b28458b98852dc0ade24b5bc16e0ce114e94d30355026c75a9cf0bd6287e8a082de0267a077030812a06735444f3465b4ee42df60349c12dfc36a392da5ff31ab4920d905aaa69913a87a3764753b98c3802c40eae03c2028b31e1b9574620a746bf4fb4b8b5314d9cb43c99d4570373b3de6ef51eb60396b543969fe48034d8bfb70fc0ae43c8d87f46fcdeda3988157075436480809a037132231a156b17e7522b440fa38a1f9114a4ce89513b7174f97aefaa3ed2b5ae038eed1e0a66f1424e9a54587b7b1b8a527ca42061246df0ae3fa8dc87d1230767037eef4ce2c60d7c2528d2ccb9e879a99f9c5773f7020292879996705f940b982b03f14c1ab14e5221a905067c9fb01cbea5aa8fd2c11898bc5d13d5825943ba7e2703d8784efabc8ee11e3fa7bc2547dc36ba2a768595f1f2931e6e1697affb1f02400340fa0d5ad35ed49d44739e8ba0a2ab710d83c5ded31b002132f8335097c66f9b03c7e4086c5190a73b164d444a6c996539bfc24b58b7fa4547bc2de0c42342ef9703443cdf7e67b6d9a415843117f3c064cd42043c2935a5fd45ea17e766f840f36d03684aa99b3805d10b118ac37230d000fbf69d0f9ef0605c7f4447fecd9dcfc2ee03faedd2e450c4ea78f8841938f8d7d6c5e0f877a23cb0a4234f59ac27f5c418b403cd29467595bd3aa6b405dce2516bc0925d1789e7624b20eed70a692d965c0b70038f13e8492926af8c17dd947f523c18ad2f94cfc3b8fc3e8d16198f2e1a1ccc080317c2d831c04c9498ff24621f3730089d3df4b725710f5759bbbfd351f4f3cbe5030d33cc048c9f83a2a96f5401a89f9dfb41df5eaf7e28d6a262c6819cc91a37ea038022d105c8ff6dca7aa79bbce9665177326e258d83c72883f38d127e18bcd72c00581f02618bbac5f8f508f521f117f4c7d41bbc77b79fee8841d5a575f1d5863dc45820fffffffffffffffffffffffffffffffffffffffffffffffffffffd84ff750286036e01242d788947502f22ddb889becedc4df82cb699429969ea67f749072f412d00581f0225730d236b31aab7af13d2f25bbfc55f5180cda4910474b1bfc95faf8f8f5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02d597edb32350275259268f2c5367ab1c2459ae50a928693561e544b00a965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e4a92a34dd85b97115512414013b5062ac5334e9423fa5e947b13b05f23caff300581f025a9bda578b0efed4e10c684eb0f9085796d2205ce734a366de95db486084480de0b5952c40a3a700581f03f5108856c311d7865b7df0b5481edb8c76f48ada1eb72bc873b81cff50b046154d9675a76100581f0323600c5b7e809862d6ef14bcb09c1193c8ba7aef12a457d9afbf8bf779605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03dae4233c2b13d6505c3068381c6c7793c05b29bbc39e17dfcbac75d2c1405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219022400581f02059cac8a17e35112172db00bfca254f45464291ece1f878f622b67c2a3f9480de0b6b3696b9bcd032db7af81206420ffef8ea3f3b52c2f16283444a8b0e8672f2da433881d8bb07000581f02d0a625771b2996e77e15952453fa5063e738d8c0b1cad4b8eaeb1c5705775820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff54a98aef00581f023dee261755d0e85465ea2288c855918ce5eebe48622c649ed8153bdafb29480de0b6b3a764000000581f02e926f0897335a90fc376b166e0778924252f4040fa11de61f41579320091443b9aca000219f5de03d65aa8faedf884e2f2afb67828745f941b0a7f831c84561fd832a5bdb95d7c9b033b00b924fe8c89c62b35736ceaa25ef031695ff810004cc5dceae5eba64c47e70344c3535cb4917667bc552f9fc1bb94e5d0df80b360d62d92daf2fc6e7a95d8c103125d0095c760a72fae9335169ffee8ca9f80a472cf95e4021dc4e6a84f8ebbeb0219ffff03f3d53d95682b83de7bd8fea4b27b8bcc98510f7eff09fc86021ac05bf8feb7dd0333fa234d9421152006cf58c17e158fdcd0fede97d7d85f90bc8a9ef96f0ce598036821c44e6eb5c33da688959800372703c4a02fcd46a6dfb3dadebce99248ba450383f6818521f468b139d18312755155721eb386c6543808299e9b89bab6a2b2150325418a95004047a9da7b015f050b3d69bcfd65a5e785fae4cdadc02ab6c9a797030201c216eec4f6f8ad9273d2ef0cd670b2ac14e2bcc8b05c036aa2f37ed7af5d03f3dc0d5f440f277da7de23a3bb4d9605e0b0b37812528e278f50041d4a76040a03409e65e7d868ad6c510c6566c067886079ba4632d5b249d4b0cd24b38e70876c0335707afeeeebffee3cf43ecf85e8a07b2956948a23291daa74f8035e45240a4f035ebaa4a936c5d8c4a309ce0881447eb2deaf3b14160740c3e5f816f7f2c87dbf0219ffff03a275025a0ae979d50ba33536c17daa11b3208c88ba0cbe761a44dc110d99120a03b8751bc54326e2a2a468de3749dd59984cbb130344764446fb583d55b4c3dccf03eedabf850b94714af152cd8b5e93d3d2ac226212668c81663acb91b43d324bc003d0e5e5cc0dde9300548c215d68b145c3456e8183a46048709a58788be97614fa031a24a28f18b3be63653c53fb3f62da94f10c1ba2d222cea951df1d103a0bc4a403195975252f94e408ff04e955c8478ec5b08823f86b251519160c24725c2738f803cd65c6fbca413b3b7a8f731aec999d7d479d7aec6ae055567a69ce376a5c0acf03756002bfdb5151a74d540230a1165d98aaaefa22a1b0ef37f798c89ac6e2443a03990c3a4ab896c465d0dc9fd9f0eac648b5bb8b18017fffd07cdd0d9f1e5586ce037f8d853b484ff88881139571f0d1a04113854106537ecba8fbb5b2920171819903e7985be56e70a0f6354c4e1cff2808de348cbd4f520ec0867a842341fb94e29303b386eafce049d12c34918055caf9691bf4d3320b3426a7b2b64acb5f0619ac9b031d0d02529a1dec5820b4b157b04c8c7410acf898f040d209c547e394dc95c04703ede2ce23d7226db37ef680c47b427e04dc81d58b0b103973437931a68f153b2e0395e4e30e856e6e2537ca12d4138267aef8327a8c739159eeea86b4964ef571a103a6664a81f4421bc8b70288f51d53aba38532f2262842e10b941a2d17036e204503b637b80dc023acf2947707f1265d3080f383b335e1e7806ecc35d654fcacca59030bce58d02b123e5559eb9e6caae729c7800e1ee6deb9c18fa578dea6ec95acf103a97f0387f34f9aa4b38de6d7a509eaea2b53b41e2577497948e26a1fe3e6fe4303d606a5b0fbbde485378b35453a61eb1edb3e175b37e82001f250603104bc8ad203a45a1255b4195c5ee63e8aa2540f64ca544ab83564a19f7a6f2eb52af8ac5e0803e02d737d8ba7d339e65bb9b77589cea5faabbc7b7165045422c37c3e9c578523033f759fe15fe0ca5d90b7ded9dfb626bd09bdc777f3a972064fe5ffc1e6f9049d038ec1e0ed1509dcb5852e48b8ee3e074c48c9c79f17f8bf64e17c88d344c8b0f403ba53427a0c9dc0e914554ca4bb38c0a00b75b44e05218d97f25d2b78f9a7226703ffa7f48036d4b78c4da113158d77833e8d4462bb06d522923ee8de003d464b950315fa4c6b5f43d650ea21591febcaa900bd0f2f309c16c26e5762fbde0badbf1803feb04e9e002e9079ab2db4b9bdcc038f2cde27cd4982aa2051b82435ea0e5af5032431404638d45e842e600cf807cfe759cf4ceb4327a6a2312db2582a3a4748fb03c78b207ec03baf7e16fcd31519611308745dbe0f9628abaeb4733df71ac936a80362e9b62af21791fc1587e13cf020d0411f93ea59af13845973000306ee98b13603ecadc94b5b5ab62fcaff3c59a14520b18358c2fdfbc6d32adf7b0d88963adecb03c37734ae3afd63bc44feea21022081eec29778190f7babdefad1fb369693b22703595ee6b492169791eea3faf1bcbb4bf2ca999fb4ab83e069bc6dfd72001daa6900581e02cc330d838719a134f256b26bd6bf2b5b76fd9384dd07bbcda8fb8d17ab469a2a64eea93900581e02c61ffa8e90aa61094bb5f49f5d80c3d251160395abfc50d82c534ba8e7480de0b62edbb8f7270219042000581f03b14fb01b3e0e8e6366d5ecf34cf15a8f2277f4f4435e219b689cadd44fc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffff86004013b30219040200581f026a4334ee1bbb51fec2279fdce86dec3054882812a9425d7b922d684215ec5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe8f12b028403ba40a59bae80339b28c5c1e6751cabac310064a8292b85e0d1aecb2439cc8f5c034fb7fa3996dfca0127107b1e661736827486f69dac0e4aaa8d3ee8e09eb9953803ceb40e529891c4ccbd2e5a704903f8daa896c309252426d556bb554d3ece360a03b51e0da5df7d10adb7d22abdf57fbabe50ba0a846fd7210c75744d708e470da500581f02ec96da17d069d8dba498637c5b6c2b757967a3342a80cb2b70bfe9ba3fca480de0b6b3a7640000037da63127ce327edccf9f92683f9b458a8aad48d6dcc7bb56f69b7032533aefbc02192fbf0319e97d44c23043da2d234cc1c319f5a83dccad58c0e95c8d528739c8333b2a0c034c67bc3ad8ab2bcea51cb21bf87a36e6d3c4d37746983417db50583a813c7003031d23aff113c6fac26a4270bd96018846ed597672f226f4ca27d952ed16e0954803939b3d405a482a7213da49bac782b158f5683ed0f5fa03a26d1ac9faf289a92503c6e16edafd1e0c1e31260826a02a974497a07f474e46e43e50e70c6c32de32d903dab30430cba94743611364a934b2035faaa296244ec11267f967155fb3189e6e03521be91095fa9ea142ab9eb6f6b6c4b4135960909aecf9ab95c9aa9b60b7e9100219ffff0219ffff0330854d4bc2cd18499243d3c975c1a3b8617b7a4e1baa92f177259ef83d8c61c1039d4b169893301e0407fd3970b6c41a7ad6d48acba8e9f7b3ee1c51548db9788a03511213dd679293e28c91b78c174a4503a31d04394436fee7fb35a7811c6f3d830219ffff05581d023aa66e2e80164c9a02050a835dde5f13eb0e186b96ee6a187e00e4ee07011916ee0219012203ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e0386b347cbf66d50f233a35b869b29e4666b10db459fee37455329daf38007011bffffffffffffffff039c4da409f7c4cfa1dc902d1613c1182b714a021d9095a7284e5d73bbb87e250303163b8d1bfc6064dc4df1a6127ea86345306d8d7fd2923ef42f41a8246408cbae05581e031c076f5ae49b18be227366f01992ab9812d30f56fd61e6c4b6f30fa52007011bffffffffffffffff05581e03db472c449491b5e674ce844f1c32be36baa540104adc6bd8140faa15c0040105581e033fb19fe5174c90259b04648e24ba083154e410cde523d8020570133810040103075b401777e403a6769c99daeb2f70835efce7e9ca0bb83cdeaa2189273545e20219b4440337b2488dada27b49daabe0e8127aab9c190482a6117449935a734db4c8faf7f5034a7e5536a7637517ea3711e200d9770ac073faef4682b12f49af4f0cff58accb0345646e73e8e1bd7fe75784dde8d6c15b93c2e0799efe1be1b5fd46560816c7160219ffff03259042f66b09b2fa4730aa062fbf31abba13fedb6b532efd15c27d68b393b7f70219ffff0219ffff0219ffff0219ffff0319b60aa6a7b740a6f7500576e5d5ad3e7054bd8d672480bffd30567fa43cef25030c2766397f55ad94333dfae12d14e400bb2d1d328934ff1490108ff16bb7452c038ae9ac9b3e72d481633629ec9b38d1d51ebaacc01d3501af1d943eed1ba9e85e03bd1943a0655a5ab4963abddcceedaadb91d0653a349c4fac02752106cfd6cf4f03777bb361b937dca924a643cdc8afe650e72530868c813266636bf7a6dd0f79500364f77d7d26c4db55f5e08f2a6c3cf21e0ec2e415c35b916f1d73e97c8efe83ef035cbdc0b39dfe2ee7289541bc76c8a653bd7ece1a1a67bd8688b40daeed09173203b7dd8f445bd10c66cf1d08e95d1ddc4e7514d8041bc8efb47004bd762152292a031d902d524bbf59a12a34e7b373f5a3cc5179d73de8bf0638181c760247e3527503e88bde9ccd369146683b8fb91c1a4c4f67b6199ce230076f2d108622039f46e9038b7b5ad4c66c16f23c5afd83d010208be5bc2952bcf9057488dc65330f60a354031734d38bb41480fa530ea1c315843c2311743af0f9c107d0b99a1ed8e6587b3f0341dcf6b159e828be98f7c375c59aafeb6876754e588db12a4afbb8ddc3e62b8f032d81864145d41ae66590b8168a4c5a3c25f33d0564f05da00e6a64c03efa53ef03c0d5e26595cf59899beea8482897f945e312e8924cf7b0ac8da4b7c7cd9710b303baaaccf01e5c17afa3b0d7c53b993ac2e63df6f80b1e6aa09bf8a1495c859ebe03c6941f048a8f64c01a1b67dac741bd4490595dee0fa2da37f015697e90694ceb032a9831d3c194c9210d537720aa525ef51dbfbb470f3d3a4f84070cac75f7a25e03f8e2a92fcda31f91d317be47f671dee3839a3277feb436404bfc3df777cfdc420352aff1eec798d845a0405e6cc2e9caa4a43623fbc7b4b8604e8ddd18f7b79a5b0316b424202b1ab96f0f505576659c1e9a0ef53b3f7e965f061ff3c5f8e706773d039aa60147fa96f8f2bd604628b535c59d660516c3011788cc6d216a840a2c9b4c0398c414636609ed1819919f62826c57a526de9b8aad521ddb5c7d1415ac353df303ef0ee815657bd06a68ae0fe52aba8f68725bf0114595e0f79a159052d1ee163b03fcb7277d5159a76ca84d5c4773b564d8410f88713ff3db22b51a1c499973d6dd034aacbd987f5782b1beac29de72985b5f8886c424c27cbbec3a4aeb9ca2796c4103eaded716b9531a3e3366a869d596c141669f71af9a32c1a2874687a71c3cd5550380d31560307fea78ad61db5da11bedc43972759935b51559c854afe788abfe9a035c9bfd27d1be28f560f8fd6764023b58168668af6d1f2442b657af050c2752e2032406e7b8fcfdb7b1d8c82e004b30b87fc8713431ca5d19dbfd54263a5213892703464eca3109edc375fc5ec27203d16fdda25702c6521882954eaa3dcce5c739b603e6ca5a5ae1b142a163fae5c259eac51379a64ab0b95806de6003971f3d57469003a2b5078621fd38a13c763f88e135fd338348b6bf920a04282b97aaf1c5829c9c03d4e4a6ac1582d27e8a0cf39f78853cb9c6f92fbe13c2a666d1279111bbeac81f03a13ca59e8708ca7b7451f727d1f4640d43987ca2cdd87cc2a78854e450d8aba40325dde25a5a590050ae95d38ddaa391e86e97b92ce8623346d96b123a4b74bca00390865dba106e6341fc035793c80bc5519e3df2292354e89a272747ae7dfeb6fa03cd0a81128b9cf221221a7a174ce4f153a441e1618c28dcb3882987cdbcf1ed0a0316185ff175255f35ef6296cb2d5ebed71201339c4406ca2692ec2d2166478ab803ed0189e3b8c3529cef44927a1e16fbf03eed78ebd9747ec432f31f3e6c06026a038d65dc2b6c31011a4316ca994055986ff3dbe83bb34fa8f6e9b0cbd45709a5bb05581d026428a7246b4403c55783cdea3cb92d8d7d6e328f8dad9ae25596422b0c18754784ad6848a126cc05581d02d64fcff0643e3966c3ac50b5e7bf9791f597c19ddfb93415fc7aebab0c014779adc0dae8b8000219400203c561b948d41a5adcb6877840e219ec886b7612b28f71c6ae9d4bfdc01c0f097403f9ffee110478574dea319e447e798ed435345de2e40a8374364a9033dbb225f001410105581e03d2fa1e67b240ca75b9e01f98a5fedfac940551adba2641dfc0c7066db00c186247155be2a374ebfd03c4a70647bf459ec2284a534f26a25a410acdfe3ea83fdcc4f807d086351bdafe05581e038f04e47dc01b125950f2f23971edc3510522b85e5b1645603932c5c3400c183e4689135ffca5e805581e03b1928944a7e58824e1548c930333d6c8ce4bd91d0d54b1a193438a21900c0b4719851289a8e4ea05581e035948feceb7dde761a847b7d34b004ccadd85db3a7dd5fa0780827808c004010314d36f572fd1e732329bb4425e733853a5db5830b9716a5c6200cecf797ae62803992d84791a5bc936584f0c74bd6d6b92ae9747cc017501cde512185bbbc39a970219c17f03f1cbb7a0a288d9fbeb3079fac55c7522a509402f387686417c2c228d1e70287f0305d7e6fc2f92f1f16b8c5bef99840f7a012f88c67436c951d5d6df16dbb76f1e0300f68f6e7450c87bfdcdcf7cb6aa4c627d783b5086a8b96c7839b69a4c885a1c03d2e74c612f1f5a51c73846b0d94e38d328b7655d6a0efd69f6209b518d2be429033bc3cb7c743e162296a07a8e7086c904d78755db18ad3770ae8998befc02161b03d8b0c069f1611acedee63ff1cc6d70f8892d4a69561c8f1cd173d886ac7199880219ffff0382a973c0cc1310fb75e4d1c7b24adedf8e5e11da3d689b1ea179f350e4cdba3c031ca2babadad963ba2fa6b4ef9c4b245c6a129b504f2691e4bb9539dab911f65c0384faf58d3df6139f8f8037dba06af908e627d9906ea871e9084e029b8e2711f603549e10eb79f85d82d5e7eaa10a93752cfd35e78c5877b7a7ca67c35abfbb6dcd036ccb1734659d45df8d6844a51281366c8db98feb60d71658d83f01c7b18e597c03483ca22c703db27aa72bea67cd16ff71f2cb748f886d34131ac8ddbd2a28ae3f03537835b8c25c53b4e77ecc288ea4057436256571b2e8e1bdf922546bfa26772d03666b68ef971c64f861bbfa06584ad25ac8ad4de193270b0e9f59e61cff8e139e0393d63bb8427606b0f40526eb21c6885691d3ac1914054aac14b7c09c7940999a03fc0da938f8ce7f1757c9d541d69d2af63236d430385a8b744b7b5e761a2417570219ffff0219ffff0301b5cc392fc5e53972326bcb87f6b89b51d11fc7cd802495fbd92ec8e07058250312cf00279331eb190f6f1c496da084cdab373e2673ea477052b0c959ee1def8603e98efa39d6c0a0ec5a4573e35e81987f95db3f022f791767b8cf0c015681f3b2037e8ed5e0521b1ccaaa13de1239ecd26b04c16fc902ce03ae9390d29a5aa3b6520219ffff03da5121b6ab6088ac37ee49fab40865af91fee719789b2c29e9026a5d008f77570340db06c51103d481cecf11d957dfadb72d2bd14e950653a9c4d0e7e806016419037b194284c7bba551986ddc59c9de5e886da307388f5198f16b2d2b4fb23f74e0036c013c07746f0588c0a248e5a1f776d88a3ac355d20496cad5841c3186facecb03eb68195b883f9bd74c9cdc1f0b00f315b232b0c6276f5c3fc936baa901deb931036402dd190415dba589dd8effe0b25afbfb6a7d5a484e9d0a41cbca458115c13903a001de906fb1f4dd112b77b4279ab37b7a1f5e5fe75585293c70ce455ca15645035b264b3dc45affa77a905504a654842593ac18a23f4dbcbe392ac775850cef3403119ac1aa67bdc605834f71625ff5a5d6ac621086e7d67814b9d26c8c03199df503633a5d00de8bc51f106efeddf9c421b29eb3ed009390dcd5c01847f043c402a903838d8892b4eb036444b42823b2bc16ea662eccb992a87590bf6aa72560d1fdde034ee4f647c8cd3dd2d04127c1a35ed5298f8bc30f9e8524e0dd8d4c42ca603d0703639036292dfb2019dcd78a1c0d0783c21c54cb880310a6f084c8074c5959a485031bcc1b54b4cf03a92cb2bb725ca95cc9e3dc7aceccfbfd63aabf9ef73629de480332a909ec46750670b5068b9d9edea8bdaa2ae5dc51f79bcfd156e27b34f08ccb034f49c2a183415b5405b9bbbf22cffacbe19cb58d38c74d92cabb847e14652aef03f48b9c55c10abeaa0046d3c1cc3db6814cfd5d0223bce28b2a290c8270e812ee03259129b43c478b247d81d1221e81408329dbc69ab4574e9e2732f976de09943303ec0d7eb385834eaecb646684044cb0244db36a5b33fbabdf9bc951dfb3ddc44c03c2197aa85fbb62cff52d28d3b6fb657718e2e2b4cf7106d025def9b024bfa3cf03f9878ec96f0a015e58c2d26c62c769afa19b9f84066366cb254544180b59ab860380be76a918df593519d2517e87dac5e7858399db793f7c53ae0f227b75eaaacf030c62ec43ff29f976a0f2459932120a7aac244a27a2ffd68dcb4fd5f3fc30c45203f50a786d6d6ca4b60ab07a4d2fe27e22358a108f56b79b92ad73ff837569865903724eb95155f49a0b8c62c33014414bc4884e7f263f3cfda8d85ea460fd0ff517032d953f28443a477cc3066272d4696bed04d6c0cb9aa689a47cb5e6e0d9f6fab1037f0a0aa76812ba9f549172f2e5dc631e3f679cf7a91beedd6b87311ea7c5cb8b05581e035b3a52e7f9afe182a8754df399f459b308a6243a5c35486552bf3159400c01443801f7e905581e03af7bccb3bf91321a8b4bf7ef83e217d8e1a0e1890cb787ccda0dff4ba00c0344f3bf9d4505581e034bac89100cefcf871e991c42b2603fbf65b29dd203172d2ba84e8e5d30040203c58a5dffd811e2b81c67f7bf6f66064f6580a4796b8403c84d0ba772e7a220a903a7d8643d75ffd69df6efec92603ae46a93bce5674e038838bb796fee40db49c805581e03acbe2a5f23326d0b5f65a8e35afd132811b425e0ec110f9dd23bcb08200c01467ed2b8bba6c005581d02e4ca9a030c4371100c67a65c5f177a3d94db448e9d65c08e7712dbf00c014701f98210412c5005581d0207168c6a14940d40291c0dad37aaa72f695bd8a688e8c0473184ba9d084698e2d4c968000219028005581e036a961c621949ddef8480c2b0e63550cf19af0d1a0539cda2d174d70ec0040105581e03e78662344edf8869ba733efb60ae9973c3dc68174d70b1b1fd292fc7800c1897463cae245b2c7803f363a7284eddbcbed500aaa73110b30226c85607db1f15b042a0044db1f3c80303ed9d69bfc9e59a5eeee9fb6c9b7e9f7a126cfe8e57d864c4e3c088c9345393f20219ef6603b06c7fbba29cce4c5130d2314d83d452b2acbb28a97c17918c47c4183522a80a031d8f4edd044c494f4d46138efd1c3cf528decc8c68f275fe612cbc663086afbe03bd688b81e67e947516ba69d7a80c2ba9395f6cbfde792bc14231aaffb147853b03a0ebe2a93c3edcc45e38421e70b8b76dacac460a9aebdf8f718fbb1ed4e435df03b70a26b19ee924951bc3edc94c76d5c859fe0056ae718236ed32c36fc056b77e03b4db15d6a4767672462163f537c587c308e1459d3585469f1d04aa7e34857733031c2892f440306d1b1eb360083afc65bca35c7f0e980b443e1c37625820e6e29d032d8d0d21c9140a90e26116494856eb179c1392407ff761b7232f80fea3625c550348409aa6eae55b618da92df7bcc36a7b836256157d3388ce005ca88c3693143803c57e82a06453f61a7c7f16497cc43d2cd69ecd86831e8a924a5237e1502356cf03a26db16330cad60e15424c32669ef7b348c753f0ba1173651e39e9ffa38586e30313b9749876e419cc4c90ba7e19712c19e34f4a8e3e347e52d559c8dd71854f8403cd1cd738d1631c05bb2f4de18e9ce8e0e6dffac8f541c02c2d6efafd0df71f7f0219ffff03bd43d717600c6341697c8249313c91958f3d638c923bca2797b6c8f6d67d950f03912a3835cfa6baa0e010664558f11a825d0fe692503dc0a14dcabfc0ea10616b03a6ee645b400baacd61a5f52fa47bb8557a1978c84356ca0c789eff115085aa1303e910f1a93409e85be284f5d68698b40fc83a04d219690303232e4eceefa0ec0d03da5c3e7d0eb7d4b5088e8b5ff78e3afb2c9d86fd0bf13fb80c4e9abdc77c1e9b03113f58d71bd74cace93d0318bb210198a0ab617ecd01312dfb342a919894bc6c0219ffff039dafbf447441ca0bbf1ae95ab2d014091019b08153a2188986ca5984ee5376c903f7f0fdf07466e6c69074821177ccff01d8fe2bb5046982fea58c2771d83668a503ac0270bd171f37560b4cafc2611ab45a0f2e25245a467c90a792a4c14dfc237503d4be0af4c1296e9e109e59e696116cc037d9104a46923da6342ca5c45f54ba840219ffff039c9f2ddee32ac1aeafb36421c06d50644c74ac7dad788fe63970e79b63bf8edf031e84803b48fc5b06f5eccccd5ac0cf3ef76fc4edf871c51eb10914f7f3cf433803298978f51248c46a8023051784a4022ee14c60fbbaea8a9264e7a2c7a4f76ee903e8efd0d40d8342fd11035e8f262bc546344993b4828e0e112d7ddd9a35e31092037173639b83cbcf29751149159882b83614e060b54b9f278e7adcfd947c04231a039ebc10c8133387fd46ad003c84619231402604e630959d101dac0ba1479c97a8038cf2aee42cd372ae175d6deb60fb767e450591f0be2878cbee3aa12b9041e5fc0306ec7d8fb25445a61503dbc95e1344599ec80583a8acf75c9758f8f5dc7ad54703e34578ce1d51d5a1ac7c4608cb0f0d4b12737f2d501b581e09fb4cb495b68da3031f864ea779235266807c5f58950c595f10651b324b7862d957dbb06b23d2d5a503931a3ed28d7506d0b60cef247fae01577010556ded3937d3a58c6174d75c3b1903d7b5bfd497baee67a7680fc433eb4707710ae972396c20702e0e62aee671eb5505581e03fdc63c599813be1bb95f8cd996995fcb749edff80e8d70037826fabad004010308d779845e11dd1945a6f31a755a8b3b5bd1172222fbababc27a5411d83b24aa03117cd0374e2622305f8268d1ae1d0dcea012dd83dc89fc395dc5031535b0529705581e036bfafacecb9f9d06f900114e6167a8b1303c7c2bab2ec5bcab2da9309007011bffffffffffffffff05581e034b39c7d122bfeaca9548f10e6013318207e6692cd40afb302fd4f41cb00c03462c8e9fd2366003ff532076390a93fb53453e1378ff24bce05657293f685445dc5f6bd35e322f560389058cc8f1c0977762a91db474307db2dead5c7a6b532baca7871b3f47cf3ddc05581d027b7f8646029ff48f2e4120870df1a9bb9041dff664df8ef3c5d0df400c054761b216a78a357805581d02358fe88a554cdae518681b02188aa039d17276033e13988529af30b60c184a48363562cce8a8f12105581d020539681aa7628bc3b32c50c705dcfb1f296adce5be97a9115967bdf20c024405f5e10005581d025a8a712a368a84b9ca3c66ca637fedb8048936d73e25de2ba2ac12780c05466cc73ed49d4802194520037861df32c0596e83bf702e225a4a0a0ee05956ed330bcf9b2d44ac0fd2553ea403fd2e5cd782c5c2a328d1f42962240a7b476d65395db264969a0f0de56409666505581e030288926a5376ca7ceaf15d5598b1f8ab52346a2283de24138cf5af0730040305581e03d71ebae975f9014b6c0c97c32ebdd5defa4c059b56724b4d49f78c90b00c01470936f2ae7ff1d002199dea03656c28e9c27deed09be130e4a8392568055c3db9fc6a0bf490ffe16b80ea68d3036d9823aeb8cff7c82675da77a9b971fa4b7e2aa190abda87f1c244abb046d5b303ba971b9e2ee9f481c2fe65c7aaec4cd70d5b57dbb19f03b9f52218579ea3adf1032692030a8c1638c14501daaa1d4d3e41e229e7778d3af29e4353d40c675b9a700389c2555878aafc9dcdcead8426022b7dfa5d4f4f89cc76915af3cd4028ea07160219ffff03c0323e54217495f02a9395c14421c28aa3b42cee54b62c6c829534a84e4dd06203f2215ade96da0a8c3ca9647bdaa6e228f17e085e2a9a56e4c6d15a0b9a8a6cb5036cf43d85e52aca7c25f95db292e42375b0c6b3ab2cab9b6e27998899c100d2f7037f19cf00cf68da377bd6570d0432012a2b520a98e9901465f1fca034ef64790e03aa29a563141e49f3d8054d45931a4530e1bbc7c29841fbac4a4d6a2c91b7425f03f87ee9b9290b899c86224425b1dab611e5f9dedfc7c3c7fb73de4d7a0103762e03c22f5ded46d62c780c63f869e5e98ec9fef8165e6661d5a93a7063f7d2516bc2038fc0120a974aa34d431ab7268aca46d2ee81a64844dfbec82739d7ecd643a3ef03478f1f75ac755ad2c1c437adfb4a84e624f65b420c23176952615d6534ac19f803af7fef61ed51db02450af6eec56c10b8f2a1886e42c7c9a9fe98b2668f14d79c03f4b5ba00e3355b683613c6973c0e678fc2f04db0928d04ad7b3856cf9c50f9a103a54d106a668641a8f9b27deb7f5bb73a37f61c44187e224a603e071a431d1bcf03926093287de71b102e6dbbf3b64989ca50acd024740d9c6b067692ef8a0b735003009eca068a75f32d13c1630d17e0407b70b34ef901870268a06c8e93cc807f40036756c5865f2f4117839165c2a4c84003100b51655843ffd9461de289489d85060219ffff037152f7f9ada3ed8e36f37c0b98b35d02dbf2dfdc52c1c3ca604c5ce89d474cd6036fe958b9a2719781d3cb2d53c7aacb0d38fe87c373dfa3f5f13eb3290531db0b033d584b0cca149dbe88c760e4ba3d77a5f1026581703a2ba69c5923f454ea88350313bb205cde60f0b687fc6e32de79cdc86676a579b5f48f5e5d252649a59dae1103762ef04b8044aac82a86bf37ac4d7d2157684cd02bceccf3af7b8183e7d9d24703dd532fd32ce59eb13a996da7b306fd07cfd1448668399de5b89c1a2a80c59c1d03e16bfe2c2e53b36e7b46908fcc1ce02dd19f6382ad8e6fa926595394e8c0e1840318b5c1803ba3e9cd06351438c54aecb7f899fa0e01ebcc187dd7ac63bb600c120321de8b8fe96b952932d5ad7cc4e64637b41f18ae494c60011fd9718d546242b203c69e0b1c3189a8a3f4692c0199765748df55b07829f0d3e5dd803a2630a8a28e0397941edfc454aa6c9f87acb01fa8232095b60d7c489941328743a03d04d5a09c03f766a50b98e15c62d1515188ea2e22df7f6cab95148acd1028916384ff2a989603328032e43d56cf66c3149ffe3b4bf7d5f35589817ddd5c2b7a0084488342df470219ffff03659bbb61f38d20c9289917b24eb8fa5a59c967fadea20c2f4f418baeffe0c860039d0485072386182f66e98089be4d648cbb57e99b3efe3772132ba175cc400ac6033a7776381caf1f653624e8147678051c1517fac5215a79f5e69108147bc1f61703353b6a45e4a7281b4829bb8eb426f8a92829a7ba84935676ad5494fefa327af70376a072659dce95579f1877bd9c8b2a2634a5e87eb0782ec57673ade1c3af7ceb033e6ff12da78a340d20e8849d875800c82211c546893ca1b34ddaad46fe37251903ed337ab377c102bd24d5d029561a3a001309713c7b042229e0449a62843a9341030a1c422993ae85353a9bdafcee984ea3a1d62b89ada2275062016c14a3934ec70386ae111837822d656f41d47c175978fc8e7e9557d61f73868cb2d7611f6f7d70031107acf172ffa9b6a6ab864b422e53454ae5789631c2b96a80f0d11c70149181035289526264b9605f91631b7aa08109ddb1b6d92437222f939ed59647e90b6fa803b7b354ae3ebf1f4811ba51764db4347d3f721fedcbcb15b97df66ab75ba6fd20031d1b0a02b71478266b8672e0b2d435f1dec0871e26922b1ee643dd36d6e8888503ab2571171f6eb32af16d9498b8152b2853e1959264c58ca38f73eef17be5ac06034f115d6c2694a87f7b374f7ca6a5d0515fa34b00a674dd44cace576fcccf721f035a9b3ebff0b8ace719a6a170e8573c2a2d5ec7a1d80fcc3f8b4f1ba23a1dd43d0349c71b89ed03ac699baa9319f08fb5ebb63e8d653cabf889fb97e8c4bed9562803a0891c55f1594db2468c383f37fb5f68b1a0df46ddecc1e51c36df4eae7dbd6703b339e036ab271ce3b1e729b7517aa5bea257f2ae14fa258f316c66cd2e1f36b903aae04c7d509ee75228c672b53642f3b3126077b488937fd85082672de61e53070374e7fe86d164f1f29b09238210124a61945889da3e8a163fde48929e4f4e0f3c03f9f7b5e25a28276e6c74e398755adb78755f5cbd3ae8e747f689c384e58a4b950305f8d2aba213669f18cb217edcd69c0cd8f3648fb35995a359a6c7f5e21cb31803463e5c0ba447f484ddf89aeb3bcad64aaaa8642ebbf957a4e026f26752e20c1c05581e03f25cf2174ba3a527b616cc2867510ed930ba0aa3bdb3f01c3ccd384e600c0147018e2aa3c7749805581e033bbb523d4358dde8c9abc880393e33d2ddb4d06fa7d62b1bf10a4188900c02477f418241e8f65f03496b6945ded9b8ec61d28eaf084579bba517d99515bd1689ac41ec9cf9a2e1fb05581e03c7539a7685b6b721b2b332585024ce28113d5768691395f3d70e0c6470040305581e03c4bcd3f5322b8ba28806c45c30c711d519cea42708bc386fcaaac3f400040205581e03909b67afe5a78f046087b87c92941c5506a09354c1954f48cfc37cdda00c19016f4724a17a78718a55031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03ac78835c1f991ef2e93315f5a63a9991e5fe2ca45f487da4dcd6a0468007011bffffffffffffffff02195a8703eed0ded513cb57150397cc68bfc72feae24c75a125a1cd14861bc4d2167d0c3e0219ffff03edae5fcc567baad9bacad9f6d0e6096629afe283b1209fd2c8b49283580c8d8603788cdca9f7b6ccae29bf596771b92f63151d91cbb8dee1d91ff29877fbf0ea51035905d6222337bae226711c9bba98bcc72eca67cfa41358ffecd6955c4f37b5d903f8d508349ef9f2c626a0dd1d13b00405d83cfbfcf2ce8bc478e5ad21db8c607c036030e2d4417f63922f9f839ab9eed6cb3c49c5c0a4bf7d20d848707d519ad0150304a45f163a12520c0ada6279720851e9f9b44a98a9ce94761b2ae4d1bc34cb5e0219ffff037781b8fa28ee7e5829b6259637918b24857feb95406ccba7cdd4c0cbb40944a003c2d26c76f969754d90d35947a529416bf9968a4f35ead1b5f4e8dcc3016aae28032f21175ac0ab37d8f0ae282f0c63c4a1524a2b2d9014420207e0254acafb11370341194a84ba28d16848a3a86e5c4180b7b3d8f371e5c7e951fea3abdc7377f2e103267858229529adda6b94f301aeb79ef44cea03ab8fc986efec3c500b10ed55a403af18422197b6221bc9fdf47591b0ce28d192216c3db264b6450617a25b23176e034ed7257953cff0b32ab05095b986a71dce1f78a900b9c3ff6879ecd725abbde2032a6b9fb9d43c14036f6492f24075eccb5d53c1a4542235cf9a5bd5771a8527e303859b582eaf11320038998c734ccd82168f23410e0f55b3496b65ff49972a50890372c7bea7402906000e7cc9da987a7f9d854279105106c5e8166509e12fca5d20038b86face4540ea9e0aa983fb236852a6908e6c588dc1b8556cced9be020750590368ed5decacf924d94bab0d3aea4b9134dc6c5be73d5d533a5bb52175e46c5a5d03b8bc91e56d26666e0336889c19e4c804866f93858da4dfdf9d46b3e6a148b35e03aeb9cb251bd3d7df2e973da9a1a3dee4727a8f1c4e242ba86f8c06ec86f4507703f3bd183fdbf0cc062db53f82982b5cc2c6efe66afd34c6f1bda59336953b11630219ffff03a46ef93e3e9cd0730c33cee2630395ef75503a534e81300e9322580b46084c7403df98df4352ba31d11f1e68090e6cbde432e21505e8d27a72e5874c483bc79aa503aefef2335ff68ffbefd6390fd18c70fac39ab1226587a6a7b4e3dc1a4048339903687598f17e06365edccefbf42006bd1227d27e4e364c2258daf2200e9600dae1034dfd60bb6f455bcac7dd735f5d8e28c7c77e00f78fa028d03f01b3be5661be7803d09ac0d79f3696ed1d45f1a3fcb2016fb6eeafd05bc6ed19534d36c8b56b972003c1e01044f0c69c36cd46ecf3dd16a90b5a853c37f9870f16500b2b0c3414b47e03f4fbef6b1e568f567e710ee344134956d2e0ca2a765cdc9d79ba60d4fe7718630345dd905fa7076fc4ffe4f309084501648d0642c5c8e9f5cb1e2a70aa5708645c0219ffff033eee7c1f38b18ce22746b81e22ca455386900f18c1d09ce79c00ccd4304e090d03a1cc3ab045dfa2225aa401065ed0a6cf4f702a6a3081535a1c6bdc6e69d087d9033307ba86752c2fec49b00a1ff497adf26f80e5699307c05f7f8898f0121ba97a03f1b83b880d91c57c11209981e3166bcf702ee83442e66c14c799052f6b12cbed03e55b1a4e1a902cc379fa02ecfd0fd2521b429332638ac51d47ebce6f34f186ed03b5c5ffee5fcc58da91cc0f40d9f20ccd64b4da90db8c1ac857dd78e348725dfc03805031e0a2329e2d3e56e2c1e0bd171efb6fe83c0371dee3aca341337777bf2703a41e4ba456ddc2eeef4278e609ae52766a5de9e567f55e49e6e10c0d3c9e4b6603d3ca219f27017b885f2a7f5ce86ed6c6411a2bcd8320546adc54ac557625b42c03d4134ac3f9d70d53950cb22883fa5d5e70a74722b1fb97d8a90d09b882e5246a0351f2c4231ab3260dfbc2660fdcc010a196f142f96c2eb917e981ebdb57f4e8eb03af1100c144b123c453fa19a8f8bdebec20bb980a0d600c312caa073f7b388ad8032ba9f399edab05e3f252bb4e697d84985837eb30f280d91ff75fe080970909fa033892ed32eb6cb8ca913d4fd0f166d74bbc8ee035cf44cb5d0468a7d0b6290fde031dd3e435121850df34dcfe3827a3c2f79d73585f4757576d91580c75f24a14f9034814a47c2f4c805d1f611c8fd00c9f094f7b660aac9831f16493233ee52184fe039ee8c6793bf307e37677d99b8c8c9a898925c48382069c4f42d24d8980ac63610371047975736fb6385e9f8308c62edb3acd4904c7f89aeb7b5810e81314096085035a512d6b1b02b3519ebbddb31979f7f633dd6b4df3db63338cd49d66751d4530037aa976c08eb599e72a190830ae72cbf4da5a9bfa5ba82b1c96887e6cae44c6550374c43c460afd60300afaf8b74d45e5f80091f8f3599061b0348f869f68961c46032add7db2cf8e9910077e6ec975dd2477e14b12fce3c65d92fa1cfd641b755d9f03afaa8cb90d87a7454c2dac03420fa5571c4e91f9043756fb9af3724e4be8370f0303c5427ab47aaf46c741011ebad4f4564ed12530b2ace8a35d7c629555b1a29003394bbba2d17902de359d2cd080ef3762f370edaaf49afac92a8a993537534e860383325080f817319e6206b55800ffe36cc831bd313b8e5dace1f37ce325acfa7803e08fc2b92ee7e032ec57bd7cdb279d22bea9034c56469b54c59efd5cc2cbd5ad0312f329995d2b05c360f846c53fee2cf9555cb08fb92b611e8a143c96448f764d03fecc62c949f4867e6ff387af21ea120209a8581032791f763a65ec81fa0aa156039f523271f2924ff7fb8014acd958c8b7377f1063536a5b718a53bf9a91f4df69034fd06d92ab2ccf9c87defa6442b545fb4f740c21c52a2bb07d225f71a052946b03e7906648bbecb870f434fef7661e5ad7f4c01fa144c77fb495cbcf5319b8ef5b03011c5660501a7f7d8f6b2fb590c3061325732d26f9ce3e9838ac75b8c08833f80358d6ffe166661e9c15f9e4f88eed35b8e7622514b475d823e52ce9a69075c11603260418ca7abe1bfa7c7596548fce08c5b965e426726cc7250819aaccf15ca3ef0328b0bc4484465c069e6f52a8145019150dfe0e003347134e93501fef7fd956160605581e0348d04f26b20cb2512b9de4dbb8a129b235ae934a40b4cf12c37f99ad9007011bffffffffffffffff03420f03b9fd73be3a0ea5d0bdd198715855ecde001c3f95044aba28d4331aeee303197506d6551b948e13201746f78ba7bec7c6404eb9804b477e6203f31a4b9e660605581e03c6cb8035cf6e20c86130f422d9a1ab9bdedebba15d73c2c41a4ecc7d6007011bffffffffffffffff05581e03f6dea29cb83b1d350f9d57e0707a8e6484b4c3341bb97a43c2bd5833200c014609184e72a00005581e03ff8ffb7acb864cd75aea31ebcfaa7895d54c8c95b5d582d4fa2afc75000c11472f3d270592e61705581e03398f3646a8962564237c28c860fdf14071854bc53212f4267aee60ec200c01470262226ff2940005581e03efeea6b80e626f5710677efd2b4edfefa0ad75896ee3a35e8aad580c600c014707abbc69b276bf034ff46470520e181282e10184ef158b55f804489aa93019224ab35b20e079761d014200bf031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0334a5506df2e0f808b8d4e6b830472228b04ab7a39620a44ba4686a4d1007011bffffffffffffffff05581d02e470a5002268aa78d0462600516de7dade41a5da41b7fe95061a51f20c19017e4801e728941024ba5305581d02036d372f35e45cb24eea7e043223ff8a01033b7f1a80ad4c6a62066c0c0245f6ccec680005581d02dce0575426b820ce276bee22e39f3bfb07163076bd447c76e275d6ec0c014762c48dd36f2be9021918800219f6e203da78a366da94c60b8d5a0a3f165a8f1d57afe0fe4a7e56cd1cfbe33436439d3103c25cc5def3dd28ea25721789a01bd310b67205ba773c9fb38d1b0de3006edc9603c7bcd5fefccf575d257e836fd781d6e82c9571f5b6f300a8eb9f3d72a4f682a20219ffff03692ebbf79a46886c9a2739a7ca98e64ed913da3d0911bff722d8233dba9b791f0317e5103cfe4c308fbc44bc1c1a0962e7bf007ba955cca0d48576c17912a6c25f03a25e996ecb226efd2538ac1030e79c448146b01784fb6742297063776a98252503c6fb2538751d4209c387e98d118d69c1ef60fc5b774b8f91b0f884365fc51185032ec2d267ed8cc48cf3361bf39d8e148e0fc16d3e6e35900374ef1614b5f7e08d031a254dc73e30aacfc827bfef347dfc78cbadb2c32a2a9406b1322d7107c184d40219ffff033e7c0e3566c8df5df3534e5ee6e58d561ae03c8eed98f7e3375eef6b1b50e2a103588088f7eb66c29732d3ae0ea90db996f39ebc8d6b0af83a96b08d5129597b670219ffff03e52304a208f6ac35f4451b166c015a6cc232d2f5266d5ac986b261db73256096030f55ad2dfe2aff7fc366589d3e842db0dabde9a19eb0a2fbae3154339d30f3a5035f235bb9f2fc5025ec55533aa63f0073761e761ebe005e0797fd7631bf4c0bdb038b1c2ab09c41b9577d73d4b4d3e2a0d505736b8012588c7285ce1d6cf9144ad70313407516c8ce1eb600db09276d00bf944d7c965f9bfd1e8cdf1e88d8297e8f5003cf25e454e3e55b3050da62da4dab18d6884a6923953657ac141e8a40456c2ef20389e1ae00a51e7259c1145614951ebeb59c63cfd288a4ce1d8e08d5e5f343ab75031a0f6ea8aa0b64c22cce0cea458c7643b61c8dc8f50202508a025cd3e818f3d803331c9e7f092904971b504d6919c799fc04a30af8207887ab034f156abc8296d20303ab594227ca22f71c07ed29462cad6910b6eb4879a9983072042cd1a68affd603e807ff03a3a33561ab1c596a8d9ffa80eab15a06f0da2bc70db74b7ebefc20da03a6fe5ada3ce38fa68f09b2717607e0c2e1fa3faeeda7b660fbb37b113a3f101203629e5fbab1934e2868886e7e37e234bbd893dce6f282ae0503c221c8ad26c6f103022724e41c4ebee2dd75707f9c98db72e32546ceab6ee26352fddb4f9fef19570351d11e74bf75f330d2bcfd9fdcaca3030d6415e0a155e549d3c2477c6612f0c503fc63c7fdae49d6607e6bf34a60beae442fcefc3d30147652a5ff6cb0d202545603d8f79beffa5ac0a72ba15ba074260ff9bdf278a643321108f50a2f08b20d246e03796bd55d6854be77df72c4826bef865365f854315b7587449fbfc15d2905c50a033987692d073cc645c9827b2c8982727eb7f60d44d40e1f6719401f73a92815af03a97c913897c581e9f3a76e56b8d0912ceaade60254778c9565882bad5ef67bad0370ff3bfebb501f85da5a20c47aebca0e3a54b646e23fe6d153b469167db4f6bf039ff24ed6b0155a425fcb02f60cee1177f25bdf4b1a6d2f003f697f621d9fed090308e5b6e05ab4ef55353e47611e1f8a2fefe2905f60e08e11a20edeeea1862763030a0206b835d8d094d34637b3aa419de55b448b88d54484562ba5f2b7fa9f581d0328f21f1389776e922dbe3ac76a0c9f1989897471aa2cf307bd0c7d4d170a2aeb0379f6bfe5831ff7720651a0c0605c7a41f1b98465775457da29e72f7db0e9ad4f0354ab16c3155a908c6e7be31bede9d17b8543ae7828bc3c176ddc6141a0cb18080318af1dfbdb9b7a121a26712e4455f0769f54e7ca19fc903dbbfca8d002f30f0703a6696898658ea650bd9c88400f05cfc0138a9b8ccc07b44f567d5147cdf8ae0903643f09cf866a64228ac84b29c0331612d4cca9db5fc40f742202f06acab83fbd05581e03702f3a8d7ff766676f49463c07386ecd2db1be22ad939b8a30b2111b40040205581e0306b3803e8b00fd69cd812e98c9cd215d979509e1f20c172a403b7653f00c014802eca7a0c5955a7205581e039518bd4caed14fa17756c17566789c799ea68e84bfcf423b41c9fc3260040305581e03691736546aaaac1b2fe5e8a096c445168adab65c51958f7e09a2ec866004070458aa6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea2646970667358221220d0232cfa81216c3e4973e570f043b57ccb69ae4a81b8bc064338713721c87a9f64736f6c63430008140033035ed41517e23b2bd77be72a6c2177f4828624755c66cb3151d284a263af0eefb80321f64c9980a4a3a086056986c3bbbd9ed9b83583e392db45bca32ca83546a77703066ca76147e8d7acbf0fec91fe88f48521453a04e61af6fac05b9c17ae04c88003287340890f32480a2c52443a061bd9b135b391003a8e9428bb1982fd306599b0035949c7c7571b3bf9e17a129be44ed2db33f3885aac9bd59bac8514fdae9ec83a038908f8e0fb8c9628756daa01c846ee12b3dfd2ee6b2534db5576d60d6f0380e10312623f3919e83f24adb3e2367c46e691b2ccabc6319b1a603aa430a1337c9c9603f112dd009a0657fd33503a39028ddb2d4ac739f892eb59ef7105bef5bab0aa4a0379d4a5d88ec14914d3a7b5a3f4a28ace4cf8f3a3ae2516f3f7f54ab9aa8e4d4503a673d200afa878843a2a0b914e2d695d8f108f54fe7bff2e3efae14ff73a5ad3033e343e3c27f11f0470bcf7afd5821126ffabf1a01e61d5ad4fe0d96a54e3dcb70325fab0344acf9a2f0ff1e044bfc6cd39387774fc47fadc93e1faf96b370d360d00582003fc32de523b06a7e10e8d26e2c9d3413c42f95b73f542937e6e42d9a72e20904101005820036c6d509d5a823c05ce5280b9c951d574044ca63866602170206842c4fd9890410103594bed300b751e2490d41428434b3900e9807e8dfda1a28c183a0cdbc1c11c5e03c2fc9da36e849ba54003c587e0435f20e1cdbfc2324f71a4da1bd3efb8ffa1a3034fdf381ca2014e7c2ccdddbf0254757f44b8c9ea55866d204b1e88a28789183c03627da52211e4ff7168472ed5729b31cf4e6ee4dc298477b22a31fa2794596d4a014102036fe79800a8b6e7ee5d43edc111fd596a68b3d82f80c424338332979d833eee48005820033367db98d2e43fd496d50ec2ffb4af5257850da8f13b4128e69436ffec30a0581a163c0fb846284fa000000000000000006f2c4e995ec98e200000039249fc9b0b084bd27c7842b734e9de8575d43773698290cfaf8d7d2d609d76c100581f023fd97a66ff717426487699511b73fc850f6d4b55c720e6d1128079b92324581a11c9a62d04ed0c80000000000000000058f03ee118a13e80000000581f02a895ed071d6a38dc7f66077a6e591ae2ac235adafb23715b22372903f4f0581ac3aa23ef362f89800000000000000003d252b3ac0eedaf80000000581f027101da3172bb97d143a5f8baa15889ee013c05d6d0b6cbf500939f61c9274a163c0fb846284fa0000000581f02a566d2ce60ba406c2a6b24e39c30eed387f1e365625b88ee211543a3f2284101021960820219d7ff03a13d2a61ec65af75c5002263550c0cfb59cc3144d68ac949d21b5f42e0f21bac0380a0de0ca4b50872230c332e47e7b0007201243894f394f55c9c8a78f0f3c747036befe8c713e1a9e381174724f45499010d33d3e90ee6b8b96ad27c06bb44c3fb035003df7cf9d0c3e30d9ea588bd9cdd1d259ea82cdd0a6790565b672deec6e1ac03bb6c30c9a2b0c3407566138ec6bdc7a00e728e591159152a8e1b9fd7725a5f6e03dbcaa50bdc7f814ebad16e12469ca528bda8fb1ff694de8e318968882f1f544700581f029018e26d5c2b6f4c9f63929ef97d38e82a592efa5827526b30166aa34626410100581f020a5e8ebd9ad11961c259053c5196de0b7f7ddb1012113adbd6045941873241010218a00058200379e560e727dd773a1317108109a7bc75ef93d3d7e9a0d34cd236fd8e803b004101039d40cf1440f94d9da2e8299d91539934737528acc7f70f019ed3a006d41dcae4030c8bb7b08f19ba507333e08b6e941d847253fda1936876b648314e7737d7bd6603691335359d4ed44cbd000d8fdcdc5c02df98c723e5a88075a0c90e08586d7d9703f7d64eb67b8c2c24759028875260f60cf2dcdbc2843e83b347d1f840c369352503f5312ef7ce0de6e82a91ab2a157530c3cf39d1df25ed26aeb4090e5135523e3e0344185f7e11f8ba7d3cdc5b0195977f7a879fba61207985b8e0a5decb2168c8a30397e6cc8a537e5077a8807fe4ad5ec5012ff99f32c8317f830a13bb3fc00020b0035c3d48c858ebd3136847de6a65f96ab8dfdc8a68e2045c035bafa9ffddcc530e00582003bde437a4a42ad8294f419cc4a87ae4d4d84a21aa8f832edaa42927650ecd80581a0472698b413b43200000000000000000163c0fb846284fa0000003dafae55534452fb905cb4668d434024b2571f5927e4ad3e93bfd8ac181daa8b30219ffff0348d0c4eff0d955a95336a1b03563508be80e7210ea471d7642ef5b39f61c0926033a26b1b4e7cee95f03b8839cfb68ee0b11d29f5cde1164290eb44a905a35da0f032276d323dcf235ca8b5c8ba2cfc9a3a6d8d4584e4013c8d46887ee1fa1538e000304d7c0fc4b19077f0df9697e68371bebc3a6d463d2da959a408b3fee39625c6e03774ba5336557be8928dd8110d30b38d0f8e87673ad9b492e06b46727d81d14b8033efd449522af82bbf833f6445a0388c980584d5d5e71e8f1bd97163d61a48e030219ffff0307d0cf56f3749bb62fecb07fa0087fafc6808e2c6a5cba18e52ab0927da1943f0368324412fd99e559d3e33899bf807c7d8c797ad481327a2fe381c567816471180378fa2390d95e93099fddffcaefbe077faa69d203e9936b61cd54ccf64e81b17e030591eb7714ea0de00862e280bba468b0c1e87af4fb0cca706cc68dbfe2a108a203a19c085779d6ca8dfe056991f54a98c62e864de44abc6a7d1bc9df81c8b342460323cd1d1f55a6a46bb8a9ef91fcde7b182d7d2f08a0d281a18095aa746029cffe0359754924913b23d5be21133b614d4740c11175f934976a9a31dd8cfb524b693903fe1f81d370b354a42a17da113ad5c1497e6c8b7619c865368778635c2b84c8e703edbe61ff9ff48f0d78763d4f42a433f33330486de413068fe41acc5cb5d6aeef038e93b632bddda42be1875b686d02976249a0f00e2fafa3e1dcb67502ff6292b503b7163dc434210b905c1004cc31a9d99fd13f0b83b1a28882ac95cd4cdb1a214703b21c9262deee3589cfd22dd1850cc8b7dcca1c820befe34ea75089d96a6c764000582003549712dbe033ca6e3ec972ad5f62672dd4a3095c6bebac1a93e6e209ada53041010372ba4ea3d1660f34b3a1b0d8b721858717f9e2c4022209eea77fc056ad7196d6005820031643101082845d0fad359d61171ab6ab9d736a1882abca5e621b105f9f8400410103f419fb1d4609ec4d8034065ea9b1df02058fec39cc0bbd60e575ad1deb6d33dc035d779d2cdffb1646ee85c0b9d63b360c63482ebc61190d5e0210f3278a86c00603a0303994f6eef21b392d95ca5744555f1952751c69c4ebe6d57e4a4e0286ae170307fa2eda71e867c2de280508d450d7eb8547a2366f01762851bcacdfebba7d70005820036420343c1e460255b4753447a14f864df37841fce8881b5fa7f37f972c1b20410100581f02fa5cc78d08283fec75592d3ded2746d90c763b4d3e85583cf60ce4636f8a581a08e4d3168276864000000000000000002c781f708c509f40000000581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d544352291913aeb5009e8da7b75998ad03d80d4ad200581f02d373a00910bff264034e865515993b2c72c74f102b72f21b76b1fc74e170410100581f028b0209e9a9c4dead87e4957f1d82f4369f5b2a98f2ed56c9258d2952f29041010219c00603c5af6bfed94cf6811bda7984b14d8d1c81788ba0b68e8643ff8ecb95e5211a1900582003d5098668ec6c61ac11efc5d0297c3e5cb11ccb654ffb9def85e49630b8a2e041010368b91bcef7916f0f9a175219e0f82314dec89884d0c7cf078ab16ac745bc2aee03c56a6ce74b0b264c70acd3845f6700e0481cdcf9e396b833d714ddcae2389f9c014200300219ffff03da5ff31923123e30e6aadb1d8f0e47be3314fddb04a7d456490a7e8e4fc721fd0315a4af7d63ebec7ce185e85d53969bcc773e879630469c88681d125496f0f75f03bde7f4bfef1a51b9c0d8b3515c9d9b6c81fd04716593e0b49f759e549a87c0ce035105070d7e0db3023a421ec7720072cc9bb08e4da359198854d30b73a2ad53470362910d8714f99a17e1711d6e546127e73265af5ba3d7ea10ad554bec2dad0216035f16e83e9d2771c3f924abb4cb25c44ce233d2bf39f22178eab1b21a5531c23503bc3f197de50955aaf425cc5aaa74c33366275ee5d56b5234d9a6c04ffccdfc2a03ea909c65938a6b892b56c1cadc0fc36d1bc8a02a339a3c719d99c79d355f415703caa99ec84ee4c25f53f2b33275ce5c4b59d7e38ed44c4f51f3e34dc9ee216d11030cc3544ca967284e46a54af54965b994c6e53049f6a18502263b3232c7f567330219ffff0303b6c7adcec4aebe99d51371cb8fde5823a6dab70728adaa726843c5e79a719a03ee06bb370a0e0a69455bdebfa72ee2497e5b31e69d87690a4c054fc13813c6e2039bfb352b1a2f26411b0be48ea37a420181f3dc2acd73fd6bfae81dfb101a760c03e05190b1e7726ae24afb1b1e250977146678f00e3a69dc5a99a2c82540b69b9603134edb880bf506efa225ecffd7d7bde10638033ea9f31ea6fc8d377cc3aa49bd034f15f259d6f94f232abf25751eb8387435f01b6d5ab1be7f2e74067dd6f299950312f924bc26b0cc700c1fda557986f2431a26975aa667cf55c54c3fc43980881c03fcd3c06ee373a858e5f1192e8d73a16d9ccd74344cef16ffe6801671fba9a85203cea7fdce07c96753b3266f742ba0b81b108106ba849d8e2a3010af790045a7620317540e56709300c47a8fef0cbd334428dc836edb93f8a6ecaf2f80fc81e4890f031445d2fec28bd7cbe17e6d1ea179429b6db29b75f479f41ccf3f91f4674a9ad40326df0195bb4c9b3f3c2765e33388ea9960cdb42e2bfaf4b36c06ead490dc45f203bba4178d6f2a1df7d98dca52041a7b1a8aad23a5541cfc7af5e4d4ff529fc74803bae6e1b3cc056e7b7527b4c947bd025ec2e81dc9229ee0287bf8d896acaa7a4600582003850f380371f3a1ee54cb57153a180000426d8f285f9f9418ef40567677d8a0581a08e4d3168276864000000000000000002c781f708c509f40000003dbbe02188a282a18261f02bc40b92d32ff8a38474842e61f1cf6de38d8a12e46005820039b925b6e47d466a17efccd4bc4294605d0cda8c968a2f97d3bb22ca993c5404101005820037c9e939bcf010f6ac91771c858c3756e956233d5eff88089573282db57a1a04a163c0fb846284fa0000003ff3791a447a2143eee0ab478719108db2ff6178af0320fbd361e2bd8ae7b5fd703a4936c197cb493395f22c13d41f2e49f186783113da912df0a02b9b84e78011600582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0582070726573616c650000000000000000000000000000000000000000000000000e0365e6107ebeed6aab45015656dd671ed84699c13d108be40f43660a420dd84f7903d9cb772b5246e2e170833cc27058fbd782135f069eef45f7512546ea21f67a6d03135277855fd6c7ede29941a9ff3c0dcd3608eba08066f23e64a0173eadbefe6803b1f593a3d3047d378898648682de8eb9eac8ca0d9c8ef554c81d7bf393a69e14039bf766de94cc2e953a7c44813ba86b6c00e233b9235ebfb7301af5c943607a7c03ff20967a4eddc2e29b768746a1ad2d8d42eda03f4a338fb50708c13affb5461f03e55bde37b8268a7f6fe9892f2b0de4d516ec575e4635012287063f13d827dd7e0219dffe03e5246a8f98f2d3b78ad8389f133ee106a9d124c596a1d3115e87105e9b9cc09c0356142dce945a16804e2ae580b0e4144ae34f7a75f6abe5971ceb5726018135e70328a2d14969c28c58b88862201fcf9c62e3954619400e1e7f3b3ae75d6b8ce7d20391857c50b0f8c00c678dfa3af962ad6b99a0f3b2bcd005f69db6701ad3dcae660219ffff03f4b08b39e53338d4f1e58ab4fab1d345dd89601691657893054c1f2ea7014da10343c1d7426adfd039249aba0a5d2aa6e38730114a90f9d4a717d6be82b518041303683f4e26697df70c477808f408c655b69f2bd5e384c8fd9f30372b674b00d5e70305249945efaa4812321422d60d3d6def9f53089567677769a80b60d7ca3bb81e03e46f052fad2b541a24d8cf750ea4e80ac970ce792474d4618e99d28747a22e38037d42c36a29b0947a8b09814d5f6b718e135ae48773d104cc8aaab40cf2e3562403010a206e631e47ee9f736c479f3b422918811c91c1b9091a3b0a9abf627bb98e03f050008d35aca9badcf603de28d6106d42916cbe939027555900b14bb7b61cb903cbb42c806664a0850603b8452de6c289e8c0f59f0439f1e84aebcc876335a2350369f1ea4bab782091844b68350e32168f5e2fe813824da5ad8481e7b468f01b7d034c1300f2069975e22add6b0327df55a575e71fd3132cf52648d5415e96f8944303e51a59f9f3f99a564ba74b577822d01874e33cabf40ae0cfb5ad5a8082a06d9a014108030585a184f90a035dcf41499dfced054c92671d56e07a27d9d938713fc42dd84f03443be88f943fea08ddbb2ee7795dfe16c0bec23b8d9c17e9b9d3a47b40bfad51035d4b11f09dfed1434216a8765882451a47fb9fec9733efd1ade63da6a4bafb9f005820036f70c8e9de81cb738e30c88d21781c7e14caa8317a415bf9c9c255635c3740581a0472698b413b43200000000000000000163c0fb846284fa0000003267226e1df5fb36fa802749bff67a808a30b56496d32d294b4b1905cc6b7ab1a031de43517bbfaf50dae428becd9d85f03150e53cb151e0c79b75518f397c532120380c91aca0897cad2137ae62508e36ae0d0c341c301a681c82e3e68009b930d6300581f02990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb55423bed02fea2e16a6e952573468661d44e1de557c00581f02e534e8dc61c5bc45cb6e89a42e3085d226b89f6e2d2bb25d0e108d7fc6ce581a6f0fdf0168f8eaf90000000000000002e469ceb411261e7c000000581f028e6f91f7326f0c963b2c80c60c72fd52d57c31df40503de7ed000d70fec1581a0472698b413b43200000000000000000163c0fb846284fa00000021920c003e0efbc8489565fa71f9039aa62c01fc1b3d14c311fa9cfcda386d5a6cca3584c0381f23231a6a02ee5f2f4b645c693095f10f84df00d881f71e986ca9599e091ab035c8f0a8a9b88f939f34e965300cc8d9732c4c06e68ed1c188e22c63599ccc0bd03f0f566ca0a601430518e401e4843772348e4421bc45168f26e36a8a1be73f57c0219ffff030a8c2af3bf49eca82449385d40cb0cbc770c4716eb2383ede293674f7a471d0703946401acced8f5d481d9ce36a82989266a83c3762c9b3e0c84c5bcf2a23ab973037a0818aa79c6343339b5e988470032a67234f440001c0afb335a2af519b2b46e03d6e833a0ea12c58bca9bb61b30f4e54b0017de9d8c125adcb1e0837bf8f23592035e30958c35ef218e7fa9487d1eb5601674cc2a87f43881882ef2f9429a90139a03e2f79698561e116bef32ff4a70f51bf2f2528ef7b186697cd55145e49d58956a0332c414beb4b7976b9068b93fa2902b39686eec15ac633a4a00b94db2c73aec0903b0a10aaf0cecd17bfdc4663079533185b9d98a4fce527310732fb459b75756d50219ffff033ef789ecf944815479bf5fe36ebd09d3d5119389b9e16bd61a9384bbed10b11103c136a4eed1cf1f359b54b077eb1a5b7f4e584459877b76703ee77d8693968d890219ffff05581e034ee95d0297cb6b1d46c906b6f13af19ee18c08db120ea5b604d07a5600070118aa03fc24cc46ef553640aa5592ed3bf98cdd288d24daa981d8933674fc7e14986a7f05581e037d763ef565b8be3260c127ab3786b37793fa4ac8b7d46cd16c5afd01f004187b05581e0330a07d673b9ff9e1536311725f856646d6f1794fc069bd115b67f7d3e00402030f28fbde222f30d8e0be44ceec45d406d85909585025d6d3ae6f778739ed4c2f01410b0313a3439d21726fac58991727a50099eb5e0909aec3908b47136b29ea2cbf64e70605581e0367b11ec0e1d525614ed62b1ad9fbe1253b69e99532339b74b6d737e74007011bffffffffffffffff02195fef036f3b8e47ee871683b6f4735e5368897aced4e203e6c71b72c679827543f9a361032a3afaaf6b9403cd7922fc9b2c7d0b48456d8c4e80a32d54d59ca2365327fdc1030e610cc451c2442c632ad96f678ee70f2c43d438eb88cc8c252426184702ffad031721bfb30fbc7ec6744f8c302f48fe28263020dc78e7df9daa6719688222e30c03f17f12d5e44ee323c0cede8a10d055d8b984d1cfd40665d4891abc80f4175d3d0370ad3ec9853a85365fc60bff56545a6d2237585ac8a348de0adc63912e83e7e1038ebc173a9b4e3be58837c1092783ee9c3c264252a3d1f60fbbb4395443920b8e03de48b256f59a49f3a79bc2c2ac64da6eadd00de36b9736fa0ef79a07d02d5cda03f37ce59eacef5625401ec3fbbcd684fde5b6f940474dee0ffa873f6c7adbb2fc0374b6e787e75a82ab00f39c269997f3f8cd6e7c6d632a3ba307afbb693e10c1c803a872f87ee7300de0daf2ea36f786439f8bd9ee238d17f31dd24378fbee1848b70219ffff0321aa8b8182c297c1d61b82de0c9f66e849a535b1ea13c74edd14d0dab5e0a2e80351454afe2727b7b28ed754bfbc922fc8de4c55089ae82b15bdc7537d5b77dc4203596d8db3972258a1dedec2e1ff54de3efe7b160239071219c240940945f85b450312bb5fa28f3ed1d26c8c253139b8615e67bcd0502ea8074100e9182189ba59a903223edf22076da404927dbb807041321f000bc08982db0edcdd1f25df246d09e1038c9f76d90c0ad2d7708f82a6b3979a8a8323930f7d3f54d0cd5ce93bc626a5ac032b9b8b2c28705e7f8703af1663faa7bbe2872f49515455ba78e83ab9fa37cde903ef9b8e368c7b7461909b9d306bc902a1bca35b32d233718a2dea41782142a75703c72e319971375cfeec1ff65a75881e490482e2c8ff812c5724ef75ab1806eb6903115d6c238f67bf6feb10c5b2a684fd0c461532beb1156f785d8a36a98689e3130345555968aef69f0df81665349c2110727dabfe70c632840b1f348c824fcdc84203c4ca97c29f4942c0607170a2ab2b4c6479d337daa9544523d1b8c43a4615d8280219ffff0219ffff039ac3d832c00f8dfb025ef7d6a52b07e08da1209b878ba9605e8e31f11ac8a1b203475a7385dcdaa0fd42d9d37c417cf8fc6bb19740fda5c2fbb51bbb8b639596e903deddb21d50e47b821ddff737dc0115a6c563f6eb266f0be9be62ed17d29be4c20390519393abdbd9a8600e4254e2834778888424a893dc3cfd2c9f0fadbd6665a503027e3d4ee4db0e97a6f15031b63209030e79cbbd1ec4754f8e833921eb702ad103e422dc846f9f330a75df24801761a98a2349067b213d245995f994d84e68c49103dfb22abed48a1bd9d28fee7c1a42f0bc5a9d2a913447386b6ea89c520bab1c85037204b0a6126000bd99cad820bcf87bbf4cad44b76f9278da409b5c1e0cec07bd0318672803ea2013e7b39a479d8c925cd9a3776fcde8a0e36b201fa84a8ee8454f034ffabb347e85a87df3f6d10e1d40072724f27126a2cd74442132429c02906fed03b9d0b015d31ca317841df49d4f40f4b0975c1f2fbaa4e0d4cd54816a35906f5c0386734499cd5fc3b74597db193494d6e3852d1fae8f5b04c995bf133d629cb06b0348dddb3f7d07fe20ad1fb725021ef67b8a4185f1ed13097a63396ec14835917503edae946d1a26ae7808476fbf0b7be08360733616303066a1c3fc6ffe153fdb97034163648c29c2dec98075a2f24ce3a69bf6eb2084bedf927d5bc48c70a6bc86e603b5205ce71cad9e4412c88918d84fda282fe962a323e1fac8f879ab809af42daf03b621a21b8ae0cc8e4ba79f66e960677746cda8cf001066d4c75514b61a1221300304bca811481d8eedd64ed16200ea3521664326516f9ed7c07fd7cbededd4d23603383fba7534ccb9ee7518d9ca836447f25e3c2ac38e6f021918355412a1ca59db034aea4bc7a7dcf2ede64eeb6c62a9c7be3f9ebe85e12e8deef2d1bbb2d2ba234c03f245e350075debd05b6235b4953541938745a8859de4db5f88a43c629868b79503d85774cd9608ff123151f91680fb3dbf591e4b92bba3dcb54cfd7a7fa7c0db8c035a26b2019841d18cfeae28be4ce9fe793797df94e67ed543afab7f5ec05c43f303f510f8bdc16b6ae861bca58e6917ccea254e6fffc2e1da2b7007d3e0a9790b330301e372168c7680e394a2ca095eac69051fd4ab2516ec376ffe89415db766a615039d915da681e00b483c3e09ad981474599179c97f0102ac80909de34018eded43038fcdcbcbe7ac152376d13e174e923a2381f823342a00dee212e0e4c62558a9e203ff9cdd23b0b1a9480ed9ed522bd8102b8b6a0e61f203baf89e7d11279375766303dfc7979cc3a1ef3b18a327aa118c13ed918a699950632b2a52ad85cbc192ddfe039346e44b4438e8b4e39208daa7954db09d6292467d24ce242af4dc64a444d168034cd1ee344dc13452ffdca840a5a4a1fd57e1e50f2d80bb07bf919486056d337a03f1e633b4de9683c2249377b661b1527e0423ba413a2ce994819eddbc7f1b20c305581e032ca01e5497387a37dfe840be6903305e40b0d88d80615124a19ff992400c0247014285766aada803c0b2765e9eec2a35c20b24c2843fc181056f1201c56ea7b266dfd74f60b527ec05581e03cf77b14b1b904e4bacab75e73db95ad9a56346099f2187a04d3ee78940040103076d606e2c6c0a93428eba39831cd4674d3e990a8bd0e76e8224b7268fe0a77f05581e032df8bd479d1761398e22929c1b5b3d19166bb08999649e013fd44f6a20040305581e037b8ca858b4da0b9bff3baa180efe04e45b8782b30dd06576090a742d100c05469987c6350c4005581d02647c992abb8ff8d17a6b1127e86f21819b058afe379ebba3fc3179ae0c182a47150e50327d35000459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000006985884c4392d348587b19cb9eaaf157f13271cd81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000006985884c4392d348587b19cb9eaaf157f13271cd8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000006985884c4392d348587b19cb9eaaf157f13271cd8b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000006985884c4392d348587b19cb9eaaf157f13271cd908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000006985884c4392d348587b19cb9eaaf157f13271cd9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000360acf12e72044ba3eaaa654e51e4725c699dcb11614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000006985884c4392d348587b19cb9eaaf157f13271cd1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03c7a65f7af8f00a66a84c839d7830ca6b158006642aaa44487e9fc1972f06e20603c8d8c1333571c8204925ab960c770a9ee2192bb2a59b5aeb923582ba3cce419503114e6775fc3aa60f80d9616ad081c5abd8cdf7a517461b356fa5e196dc80567703ad3dcf9ee58ccdb244009f104e00b7765d82b09f44979776decf1a7e0ec74a96037e50375fe5cca9438dfbb59d1d393943b68ab2d9fa137337aa9e8e4035d1112a039ac18884823d36977b42c84f980980a2cd34d496b6a7a3b0cd7710953109f4850058200259cbac659b017f1bdf447a3a602e3d83ad30b65b2c649c1c61205f7c3b02a25819017be01f6479a82dfb00000000000000017be01f6479a82dfb034cf6c38d0974f8ef11980431f6c75cd83d8d135aec3bc032dbc19f7a57d13f6100582002c9dc9a85478cfa46dfa086f61e764c48ed447af1417739c4ce38ad579a8f0e4e0b45dfa23d42fb92af513578deef00581f024253e39509c1a5ac839edbbf5ec604e0014e3def5b207758611bd24598ec4e359f6cc19f34e3b4623c882c5e6600581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f0100000100010000fef6310000000000000000088671aec7bdc600000000000219220000582003882617ff426a830cb12e455817e419283f5573088a1c0068248909c73b48e05006033e0610345d5a117e41fdc036a9e600582003adcc8c3b831010bab39e59890a5912e9e914dcb1ca6bbda539b08e358ac6b04e01bae55b7af421eeb4c42847f3af02190209034e9dc21e445a5b27328c4dbb623b0d115c868db7a7584bfe3fb32acc26a013690364fffd3caaeffafb0816987240bfb0560489954b38ff0a7589f02bdd1fc250c900582002f9fecc7f7acc89977cdaaed9c77931fae73744649fe64922affb8a5c6ac56c4d251681e735d8eb527bcbc26b55037159a1ae945c1859c54b854392c8f492122c3f6e27fcf1ff54eebe104b2ca44402195f9f03b81606f0586e30378362a87a8b0662d37b5ace3f4fe23095ebb22f88faaea52600581f021e5cb0abd4d568cea664d0eef07dac99f33c8618e0ead25d40c4a092bb2a4f1f62e44cdd44a7493f5b8197cb831700581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace4f369c342304dd4072f06946d1d13b670218820141050321469f04709a63356180333203b190ec2cb378732b6cc8e981548daf8db2d313005820021d3a319adbdb787f96ed5bff43df218aee67aab92a73a3b832a92d16ec77cb4a02c8c243c7973dec7dce00582002548caf83de5d0219e7f571a35843d79cee2b50de3c6599fcada8f3bedcc1015820fffffffffffffffe51fa4a96ad9c82e50000000000000001ae05b56952637d1b005820026dfda1fe582ea1ee8ec50c981a7073635a6eca5bd1228f533491b716ce4d2e5820010000000000000000000000000000000000000000000000000000000000000000582002f1d3d8c9c4d85802885ed8bc7c091c9a9c788f0992c51c11137ccfbb83847858180237ee76f9a821a60000000000000007fd23ed3af8ff1828005820025d92855b3738d183619b4ab5bc5c01ca34ef595bab7110934664d25b3cbe435820fffffffffffffffffffffffffffffffffeae21fd8fcafc8cd21e9d814162649903dd7e5f01d94b4cc4ff7c39f92e6da9e24e049fcad46486e7fbcd1cd3c116d48d00582002e9e933d2dd8ac9decf97823fae97ea7f99e74cf65d6ada56a5438ec3293c614f0287695027000313124d8f90bd32600058200283d1bac2f33f92c9b69fe08a8afab7ed9748470edee0b3e66012f5892ce33c5820016674cfb7000041e8000000000000004742b81513908c0b4effffff0365a8080367d9dd7e10b6ba4ea9fd9cc90812b7b23b2152fe79bb786e77c6499dc8044d5700582002ead0946dd09bb2c12119a9ee6e28e48e4e49e1dd2604f7e74554abc0a0f468581861fe5f967a719778000000000000000061fe5f967a71977803d446578f11414b7fbc9dfa8048e372c12e40684daa069b4e0e212f222713d6af005820027d5d0e9f82268604ba2af81a6212df962aa896ad10dff56e5819ae379284975820ffffffffffffffffffffffffffffffffffe622ecf3b94e5d25598d254a6ac81f03dc1579b48469e4ac8bec69f5bb473936620765207ea347a5b6e896d54d296f0e0219ffbf032e779b9dd0da8e69c58abb91952e217691e9bfe2e0032346adf9248484007899037f3919c84c1eb3cdc64ac0bc5313da627023afa5d56754610f47f009a352a7e503007cb4027f68542e81f01b28d7ac70ea71f3e2e6c4cdb82850caa1b228305b72005820028ac012299c0db2059b7fb8d8838cf03520a6ea0b5c1e4fc6a2fe24d74d1daa4e05775e23ffc28280c7e142c43096005820022a14cd0aabe0130efe4c76e369f988fe86db4db8b5ed0cf05a9dbba1826c5a4f12bd586996b79432b871d01441bbbd0058200319fcc0dbc992a93b661fe05b996bff7a1503f32c26ff51e217b20905b8133050acf8a3a58e6a1ef420059388d0d1236000582003a9ae2091bad31a7c410b6152b875321241d1418b8cfe4ed7ebdb8bc6bef320581e24a2420d800091800058000006121002e0100004240030018200000081000219020200582002baf42f93cf9b10f33435c952095d5e431c6466712a64a2fc0180a92c7e252248081a1e11d384f51f005820020b8b3d572a06c0fe8fe4ed9098e3f95dcb3a9bc2b55f87279ad46c54f615435820016687881f000041e800000000000003c74cf14010b9b957dcffffeaf3b65660005820021e60ae8317b81a849346bf63cbf2a1d97b2f4a0390d3c9b36e7df5cdce8e2f4907e2c9bc26436deb100058200261ccc01a5104b612dfe261a618b13f5ab4f76a69e46f9ee043a5320e075e314d38ba173508d1a4d67d4f312bb400582002ab99384fb24477b5223b0a7734e8853530ac5f083ca91921da6c390c2b55b84f0cd03c74539bf95d9d3b18fce79c8700582002bd4664f5d34be6cb91597e24a898317d691ccd444dd40ba141d44fc071d99b5820016682f80b000041e8000000000000033babcb73ce92b375cbffffefb3d28cf403d019f372e4edcdcce29f8d51af4027a005128dd28fa03cf265dd1822b6722b7e005820023c923dc51ee4bf5e9fe3cbcc02c6e3b79721ef00d4669791bb05e677a53e28581947bcd678990567ce0c0000000000000047bcd678990567ce0c00582002eeb70c180ea8772d4231f09b9e46142cd85bc8c3286ff7db22d6d74450bd1250606b2302023aa2bbc10298e8511ba72c0219ff750058200287a1a7cb707253a31f37cd8752813821213aa69689ab80002807728472c4b0504da161702eed55ff026c0eb05c07f51e00582002349ae652881ee2b157f457d19c8acacd31671122b3c877989131798e258bc64f02406c75f9c500d145a14dee546d8c035d12e563d0f8ed1a3f7e68efed310995d2ed48d2a8a3e136738a439c04b3a53103f8a1c8ed681f9984a00604b6c2bbd470d84ecdaf8fa01701b2c69f1b6cbe3e2a00582002cfb3fe4a7f55a7aaea83ed72a45e491ac3d9dc0086375f99ed82e6f95c40f65820fffffffffffffffecd793e6c2c94ff1900000000000000013286c193d36b00e7005820025f31254893e0b87d1c0409564db26b317ac77768ecde6e6c08d409d2fe96ac4f10ec1db06b2c15ce64c6a7d17e3eea00582002e177af16da999b61b94cabaa746846ddaf92cf5fccf26826052a7bf0a5b5374f57dffc61d9e3025e72627bed421acb00582002267b9682dc52f6f81deb4c8bfb969ac64432ae4bbf968fd358fd8e9b76ee744f309521b95449394da112cfecd7d73c00582003c21f938ccc26ba514e5ce7b43dcca1d00c6761f6b44ff66058a3e903e931c0502441b231b87dad148c743eb30bb0a222005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04a09ddb0d9125040b943d600582003cbae1228c3b5b6099b2944ab16d72bf6ad47f111f8a9e6641152f9c29c7f304f2f40d3f314b80c815947da495309c600582003baf9e5ae632b9fe813edb7857da028aef46bf55d90963d5d7398a9fc6ee15048078f1120724f38570219021a03c3c1308e45367e2e8ccb716bbacc28b7dca1b0d4b7e702750de897e1fd86dc100058200229126fea81d34a979352010b0d1424f6174c2790c45f4f5a2e952850aa5fb358200166842a9b000041e80000000000000365c1c2f6a2684851ccffffee75a57404005820022c116a541e43e6c228ff41c48a8fdb557313a955696f8ffb241533135e6ce64ebd1e0bf26647e1fa107f296a0caa00582002a7c833a2a1f8c05fb282a7abc40672224ca58fc912ddd385fc422a4b0b2ec35820016676f7c3000041e800000000000000c340e46eded90c87ecfffffcb2f0e9100219debf03d4af2fec01c0617bd3786239dc805f4fd4d65ebee314c58f24a39e0ad66c0ea50332a4e80ea951df470e96997a04ec4230a5e6dcec0c9a0011abca3045bbb02468031b5770983526d79a6a413778ed667c77c267d7d8d3b288dd569ae7acfcbd134e031adf6466ab2a7209c66196cdb7e5a6b6ebfb02d274a9d9bab2244831efb2736103afac8353aed3a6ce3a96bc20236d46242c24634b1b3c2a0d95aa9dbfd9f5eda8033ace911f44e32884cea928e3ded4db16680e3cfa2f5c632a04aaba0b7a7cb9840058200233827c0482f7d2442815f1212372d03330dede8614fcf9c387b0cde9165c9e4d21529a0094ecbf843efd72cd270058200321d1a7dc1486b570a38a264a529b8fcb00f952f12e6a563e794b509573f6d050046a7e3304ec81bf9c8e072e8297e1aa005820037a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30582001000041e800000000000003d1b1394f54fcd9bc1affffea9d85f3686687da5702198080005820028da5e78e5ea435b5af9d1edb92a44de6f5c89b65f8cd2bcd582b2835277a0950028b0f56ebf6d071add2e10d8969d1d00058200273279e74c771781c2cb439e42c3447273b5c9c785956f6a0338ffdaa8370b85820ffffffffffffffe511719ce0cf822caa000000000000001aee8e631f307dd3560305628439c4280927ee0aaf8b2c0f6f6cf983bf3a728ecdd3d6d3c9a96ceef4b0030ce534cb5bd29ae70b735b5605245d9b4a52b1f52c9522b71d0e3e99de915e5b005820021553b0a10d0de073485a6d382a005ad93f07797b7bda203090a5dea8b162db4a03ee04c7836ca5806bd90058200221163c0eb163fb8cf3aeba0c4a6646d97900835e4d31e864cdcc305e2677b54e202c08075d54c228acd237b345850396f94314b089ec7dac728cae780ee5a012ac9a98f73bb46f9109ac416e9b979500582002d709fede1456fdeaed93c0a7266bd3a0e3f814bf4c114570565d716d50b88f4f2ae0357a4d259dae1ffa8a47f6ccbd02191dfc0219ffff05581d02c8c1869692ce0b0a61381f9304091fc34c3a54d037152d8ffe41565e070119567e0219020202195e0b0219ffff03f22df8cb610e1d8ea3947c9ea290eb0c7a1d8b085657a9cebe4d8418cec6e523037805d61bf6cc4e4231a72b87fc3a202e42f6fac7b78ee5b1ab9fcface6de817803390b898e9203fd6922784078b86fd2a2678a78134f565ba2fc450a4a26948e66036586cef41579622a8f3815c1a1f470e16a9840f4ab4a718ea5018847485c1c0103155a929bfc5af912eff4bd55044dcd9a36230685520f8052bb78b394459d6e850219ffff033743d4dd4fa5283b19e0effc19192d4873887250f82781536e420fc575dcd14503285cadc6c5766c0e85f14be9f8e89f60d1553add80065799aaad00a11aab0a790349d1a252e1c7d71323c1b3279f762eb5834aef42c873bad9f685c94461cc06270343b47bf52c54f26e25130248f079094556c04f36500ac12d7a5eafefa57954f003076e0f9a433e6e4a3f2dda8fcd94982418005e593ab9305fa25da8ebbb5d7207039bf7ed9297d5fabbd8e2fcc71e510fc9a9b191f4c1c6899294bdee4de98fbacb03107f31ff5fa9474fb0f4da2e60e835e32ef3ab4d8fdf3b7b3c29b82e088c30ef035f0e9fc5d519e65f6e4b854ad8152b91a90feb3e82ab5b09b4a0f8cf12f740f303d88b78e86bc4f506edea4f9aff1dd9fa13eacd79b54ddb49ae7424f335f5f54c037ce08ec127345a3e9d9c42c4704a16e2e08b51666a1691cd9b28b17c62660aef03b806688b0e17289ac728b883892e181ff833a9da2a73180f3f77d9c440be0c7c0219ffff039b8f73d71d927dffe7d64d193216339bcbd209853f4d95acd8578b3a70149c2a0379102f6aa72bc9c994e7e1740b1c5f710550ba372569f2b86036c72de5b2f01503ceb21559fd44ec673f44b7e5eaa393a6624e6c9315eac94aa36429673f9269760358bba09180e30e34ed3aaad68eb5d6ac5f42e3024c02f5ef89debbbad835fec203b4b33747f2fea2ccc00f3428cd92eec977dc3e65694f7ed409196fd44e4cd79b0219ffff03ead136861060960c5520135f787a4a2e493ccb3325f0feada1c7f7e520590ac903aea9b2bd14e7c1cfe023104537bbaeaafb0234bc1def346a5928000b3ae1a8120343c7f1be77ecc27fcc8538a1f654cdd3d58a2f6b4bb2e172111aacc21b5e1dc903685b0a420f9a6e41a1c8b8c94ce2239ce222bbf557f4bac0b6526ac55bf4f4a503a379c7481da9bdfc30f77902330185ea5f85d07960efcf4f08c75ee792776f95036abe4b6c425084df1303cd48f0bc9ed410d93e1b415bef976d12b8f20b2491ae03d869d12029dd9d623626e3b9f9f2f9e75db9d27dfa4ac47da25676b5a31f96c8030c4a518953a7046ccc8957e744130826abb436783bed1df6a8ffad4cb104d7e403fef9b1e03dc702424eca608a930f1734b21e4f79723c1673f79fe0475cff0ad703504eecc6bab84d2029ed69666f72248b3dc9c4b417e4238be40d50267506d4d803fecbf2523bd03ce22b98cb111ce62ac4867c60eb2b83783320a01434f3c01b2c0349162844c3d11880b5cc7fd20a9d343bf13177f1453dad6af9cbcc68d058b7a003391472427ddefded636adab5b407db1bcc5d74646167da6b3a4c0a7b5992c114033f065aba32c00f6c0eb32177c8701be865f90de10cefee37c8caf87cda9aef1903219b781c990749475d878406fb7b06c5cea1d4b610051a82cad0949d906b376f03b731af0f92ffcfcd1cba6df4df1ddcd70b625b4b39a651155abfe05094407c640371aa582fa0f2c92be16565cfb83719ea3acabab03117f95b9cdeb95f08d3680803c257f7901c05f16ed96c9b892329403853cb12c4520de89b63a94b6585caae6203c6a96853bcf2dc6ff6918c12f50b5bfca54ad492f86096fd1cd6a7f5597d5b3f030d8aff473e0c346a6596caf7f335cf00a9292e04f83a5ad079cef80351c3818003a066ba70bac36406439e2ab65237e9c1ed0c712a053f7e20d44a661fa141a37103c73caa6fea58c648a1e0897b325368120bafc5996b5a23b837422718e54ce25b03a5ef2542cb58f587576a69a7cd6572333be7646ed6847c0902d915095a59a8d40379dcdfc4732e68f463a2436e2a42cc2f811a0b7b8969f61613023812b732b1840318c517314be87933a6972fb812158a061b3249e98ca798f5f052c329bc11d39e0359317d390033d0ca528bcc07bfcaeafeb5eedd754832d800e1a52c952a07df4003220fd07971ca3518ace46a302bedf8846f67fc102ad60781e92c7597adfae8d6037814dcda0a303853b8365520d3639f21c860342c595c1085103b64379f95beaf036e6eef06ffdf0d7cdac49dc4171d66ba2959499d1aa25ac6ec6c4e97a72fa00f03de4d5c72d80af72c1b02d2c376a441e3028c99a5228549f8dd08cebca1377cc903935add5651529c9c833e8bff89a11b4508e5a1e3946b6084d3f892ae5b059978037aba7f8e5b40b39f1b9b15e007318588575de93e0097fa4f1e83c5e2af3b13f2037f34e7c2586ae8fae536cb97a8cdc501a6c668f67fe2b01b069aa5408e1b9cf0032411e640826867481196cc3e7a24a75d0375104927757bcf1ad26a8895d26d460312bf86138388f9ed63409663e2e1d723793afd47cc2cd78b5360cc349c1afa0003925225e8725b74db413140c003b0ebbcd96cae8669770beeac4411c384961cd703211dfb56072a596f28cfa66eb4e9d8b281cfbc1a137e78f073781a4c41ae2b770327bab28c0c993cc0e3f138e012a6480b7c008247ff7e27bf9b03e0b003644f9a03719838ec4410abbd11edd2e1faf5e12a38b6e5b1cc8d798ad8fb9c0cf83cc3560376756fe94f72f1d6e71277fa5d2694c46c77807dcee0c4bd915ae8ec7870373503dab525062e3b03aaff828631c7be4430b5d8d94ae581d4f4e48debe744f163f003d08bf50afd7646770be85cd27910dc52d123ac68e7b56830ef6a230633c98b84032fff19140fbf63da24042b8cfe4632607f463bc94d4b3a64f06bd238331a9abf0315d38ee55fc3337fbb8ca525641fea98c3848ce7da4dfe5f203386351bad002f0346e5ed1593a081ce599d1bf40200f2778ad62e00ab19580702680f0be1460593036b91fdaa6bf6f76e6e1c17714c18bf3049937c4d69d3a9892542535a61f4e76003e895e6da5e35bb6d1000cb8cc83f834c977050c269b69cc111c63aae54148c9605581d02dd9d559657e6abac4338dd89cbedfdbc9747fe5695fde95af29811d4040205581d0263729d8136fe3118f91d414693b455e5648edc0c48397d6823a41d720c18c5477d190d3f5b813303ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581d02a7a5bedbe7690f93c88ff92dddd44af7ed2ae26ad5f612d47f830d2d07011bffffffffffffffff05581d021a03250001284ecfc9943fdc680896bc14ac5db5ca344ef58ec0eb460c014713956d037d00000219e00405581e035417f869dcbc9fbbea48734face9b8f7574fc098b1578313816cf78f80084803b2f9286d89400005581e03f2d6bba2d5d931d3a2315625ca96ab900c9bb12361200deade29208c700401030f48aae743439d60523af337d114002c71286e3b436e3c03e6ed487e511a44d903875e7ac6e1287e76209a3f4a9be4f1d5c5c4672a60a3a35a6045225fb217c614034e95503e8b80254ada03291816ee4ef78d61ce38003d881ebb18299cff7e2624035119450d3c6d10a6d7c5cc5850c7cb4ead376a6e28bb682f71fa0139f4e3cb5a05581e0323f4e6875036697b0bd5d1e977faf2c651ac0bcd9907351514815994600c0146de8fc82979f8033b23a1219fa4e623b0aa6e5ce0b112d8f5c229c87f0980b259dd1a4256566d7e03bf5a4ccd12a725389f29ee483a756ff10f888a46b3050759fa0926581c448fde05581e0325dde1f6ea29e0b61d7dead1900eb22df35783e20ab1194268dee6204007011bffffffffffffffff02191b7e03ee730e98029599d680e177d3e64ad94448e2f292cdf14cf1b7198561ad1489a50321b34ded7c779cd233b0cb6d6b23a22e0a20d8ffadbb17f658af640520389c2b0219ffff0385f62324f4122fb53d365e77575b0302d76e715a4108d7c70a44f2a691db8c2303cf03f0232f66a40eccb3457f62db01358667976394f19853b5471a5a82703e6f0219ffff0219ffff0371275c3b0c3d79dfa2ed08344a9a265be126383a9d8d0481e3f3a92bb8f32e3f03c13a15ab2a1cc06a42bb1e865bee2dfe1ecbc731938927219e46754b2dbdda48034169a1b543382b2c9412fc82fddfc9c0eec371bbff18dc2e0cd28830668422e603dff7cbff4bfddfe0c3c193d7b28d98985e230765d2b50d4f96ce0473eb8adf89034a38edad4e3cab039b592c0809bfcdb6261c9112a7920c79b62433874a3d0bcb038bc88d20bcd1b74c8bc0bbfe96d59c000724fd7af03755d1073a0bf5dac31c5b0374e7c2da13afd0f0ba654e0d77a0888d01598dac7ff001a3f542ef0d52f59a240320e2d2808394c9c4a1240e5012718599e0b8c0d9b218bcb17120256f97a2ab33033b8252c828804f7f766cb0165132b8cad7ce2fcfe17aa4820e7b4724751335120342d16f50fd99cc56efc5eb4d902add91188f4db0ccfaaa618a242c0e4b741f3d038098c01ae0a6a50a2eef94ca47956e7eb6f80dcb46e242ac4b893456890df92903f14ad75a3e2a8ceda9273db7ad430406d6d109dd35b2a1bcfcd6f7c0e3698c6c0329ff5db03e6fcc049c29d16ef37a5d173ff4e19d505935bf485d95c2a75e82e5032427fdd04d23845ffc0667963ae4f3eac5c1f89e19cb0e50eb6eaeec50af1806035326a58340d50e300bb7d3a496189bbed1aaa7ec8c67a023cd240d893df15e660342ef3abfbf0a428d0010a9d57c43ae8b4a29ceec185e10700a18cee069b6bf82030386d2aae7f2f3b63eb1a0c229eb4cec9df7731f46d54543d0e6861800afb5f3037392a60edca527f0ce1177a7db48fdc4fdb8e7edd86d48e54fa1d8f836fc3ba2033d23bac16dd19030b19e525d7ee38493be9f07a1e038f58f71d0a3fb7f62336503b4e65c8a6e667bd11600e815468496edfbb9b8f22f305531f2db3670998814cc03b28f30f24492fc97b016b8d89cdc5a711c155685e83b35832c5542dc4c43ab2703d4d42ff708d8d9e172a7e680473f826ea9e14df0ac2a98deffb07acaa31fdce00347faa6f31c373e8c88268ae90b2722dfb45db03f5b5770d38aef9ac95565ffad0320e630117a3649ac7d42e70d55b702eef5aab3139561a81fdaa11f6ead325a2503bd90d6df6efe5078e781a02893f54b1df76374925d71a5479025ae6cf95c2fc803ed7646948ef0c4e24749bbf413537e076ff66883d1b66e621ad309592e244d45031c0307400c77d6b629ff0b9d66b31445da0a870c1e46ef44162ae59bbf078f4103134e710c6e229d58e7db2c999babdf4e930553af1caea1c1aa6bc9cd780e0a4d05581e0366e5855692ef93190a13d3105a8d1cdb36873a3fcd38b767f2b88d4ed004030300e81d76545f9ad5f6a701af44888e6aa52ec8a1dd0a29845d086440affa16e4031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03835bd1c6a5b895919eae547e4bd24b778a6c1b6ba5e1c56f57c2ead9c007011bffffffffffffffff05581e0303c52ed6bae4c298f5d33e0ea4f5e34e4a6588067edb0c9059f2b5a7f00c18e547855ab432d6f6e705581e0329f8340e1c8222dcc819f4bda71c1fe0366b8bbbc66b88603060b16a200847321f738e06240005581e030713f7b10eb02a79c8a98cd2d79c30072b71dc6d922e0adf35e11fb2000c0347034f40123e4cd003865178656043db9ae2ac594083241fbb5d2470a122f87391a526f8d450e49b3c030f1e9c87bd59821889676a95c4376de22f3b4d6dcc4df4a440fe68155ee7ff9905581e03db26eb2dcd1f5cd4e8dfcfd5cc607c7d8097cf83ca488cdb638ef581c007011bffffffffffffffff0219907603994ff51a3a79c1036588de1763633ded92f2639db41c9cd9779dbeeaf8f91be3038c97d9300ca05983f25c1a307cde6a26d98f68af0750901027d069fa157f6acc03b666ad6f3a186d032655097f6b5589c709579fc0325cfa1200dd108f8234cb80036faaeeb91e82f7783f66ee2611259a50b31f81ea4f5ead32352bf67315aa244903f78a3cfe4938707cee34281327ef3426dbfaa3766a5fd49fd4cb99a180ac209903c913774824ff38a59a0827558f9c7f1a13022d39ca772c60a7b384c84e6ef8f9031bb62af1ee5e5a146b9e9a78d51eec6231d8d5dd4ca76efd64aaaa6e2962da3b03204baa0c009a87a7a453a0dfe7e8d12fec0765cee4f9b7fa2d6d6b130ea650ff03a27f6894210a623ac485a8c5dcccbfbc3ffe59633105e63b1d40f5906418dc4b03be0dbf861a826b140ae2b272094321a5f29473916f1a1d43b458c502c177f2b20219ffff038ce0609f01c69aa89232faf8576b35b9d0294fafb6b6d743fd03ca6d1355a9060339716b2d63c637c48baa192e8da67d73f669052aec58c32f0ee70564096df0980372ff6dc7c9c3db90d2601a578406966cb51fe034a040c959ded967bb9a048c1e03f58d91fdffb764ce91c786d1e3092ff40ad1e239c61f10bc364a36f3703258cd03cb13a780954786a25eb980386bf532f25d3868106fd069b5dc878e93f82b8db703b55e51f496e353f656fe02423f74b14cbdbf3fdc3c1a9bba19eb023b288547b00219ffff037fb981a16b70bc368d16083b1a4157c1d56013dfd4b45af5d4c370c21d4fa40d0361c290a6b8920fa575d91fbcf22e38d52574966294edda5c1714e7c7de137775032a6c2f8151e39fdf7d39813096b90a98b2b9df4fd5aa2916b7cbdc857af0356003fb7c038a252a981be28e965127415aa498746a5e712073c13a16ccdbe9e09b62030898e24e1cc758c70f5b57704ceaf71ab4b6ad58865c435307719ec55b58310d033ed5078e781ada278b720876fe78dcea89dc065a844c7919dba428beaf54cb0503637532b3f2c9026b603a821219262261962a98bd103e6471f38a457fdbfb81e8030c576693449d31777c484958f3f0442ffc2d325ec86322f1b482faf38942d6380219ffff032e13dba968ae3cf3e66bb6901d16aef92e8ea6a958dee0afe59018354ffb3ac003f944f59ce4fa6e217fdf9f624e3248a069fc1aa231cff855a0c6e45f53429cf50219ffff0364ac9c819f92135f73abb7b917d1fbbde20e53beb244ab87f0464aae5fcd38a903abfa4346feb4eb557078f0a25e831f7dda03284ae51d72733a210c0d4064fc0803aacefb0ca9dc70f062299ada8c9724ce2711e1e8a9c48dbbc2b336a3d81a511f033b9b887d6047e43a5eb78e41c217eaed9c2b55a2e2c244c38e9f9c1353d151360374e14b9b13fad3ef2532b3c175a725c7e7cc992ce9c202c42437ce6e928b646b03bc80a0e58059d5daec0eda4e226b245c0dead0422080494b1647288cfb8cdb7603997e3c8c7e868c8515b2f2448d6a77562098995fa311a1ac8336539f7744cdb2030835b3e6e264919f5955a7873d6a60d9b288dbd45de0036f9f9566999df95e1203999dbdab6142587e517f1257a2f7e826e7b78b4b573b96b854929a51c67f994703e68499384b8c64fc5e59a5972d9d711f3b6deaa825881849c2074195cd6e09740369c27d1b9d935e2193afa2591ef3e6ad3c37c2e20fdeb9bff9e833ce8b77ec5d036ba616007010191bf92b7a32e948833c980c646ed705805209067c4541afbf8203deb24b4c6bcefca3a307e9ef9a1e5f442d77d791a3514aac4ae9f6a0ce610cd903a8e1aa3ce97a2d4cb45f1b1f116107c1a7d1879a5f07d7fbaaff3bc3e65296d20312dad8878e789a40ffd436a94eadf6ded3e4e346382e786cf984d16f6b2cab12033b2a3091bb910b9461b35576713970223777cc496b204e3a8426923e4c8df0f403017c744d45abfa610da75ad788e8ce342e1a66b16fad5d87737e24eb518c4b8e0312e7c5cb10bc362186f77b429038a3283e57e93574bacc92b108591f39f5b27b03d8add250255bbeb2dc7b2a73ab8b907b4649f17d115836622700ebeae91907bd03cc9db839b982504d84cafca03ad090213294cd97ae8e6ef854f10e6a6d1ee0b60357feadaaf078a19000c66196e56fbb00ac554b64b5f3c99317ee6bc151a279eb03ab2e7360a5a7319a927431b49cc423dd26efe31904ac668fa386aa741da1caa8032e2023069e39a681c1bf3721da244ad2ed998b7d9f088fce838b9a3401ba1f5203767892dff1573232c0e8c88b76e2b3548463066ce51a4ec0de103c023b1405f703cf7ee5e782b35d56e9dd84c29b85be2c99cadb47cf670f16f3cf0b40403b5a2403c540c4660efbb9f209ddaef58d010925d780118022292c709bff22cd45d5dd9b032cab986412cc91f175ca35773f63388d70db6d068312e204042c8deb9ceb1186036f162044ca87985856bf787f3406effec3aae0654ef41dac842e337c8d6d94b60317c48887d0ab1af033a55bbbc4bc0242af1cca9be48f333b66caee2df50132840328dc99e627a810c350382d6523dc1d16a5b0cbd53304eb2a505233f91f13471b031872e27d945d573bbdd51251969e8e52bc7c3fd036751e625f79c398427404ed033a12b17acb044b68da25c8d6671c87a21cb133b49bf3c69e27869d8dabcf73d303ca49905f3a40dec8da7e09f3290d96f43073d9bcbe272e2d6f2e9bfefcc5845a031748ca172ba7a8d39f9e2666e16af902f6809d74a24955154b1bf5c5a3b01ef105581e03fc4b2460f64636384f63f514748d7e4748a201431c2d291ba609d8abc0040103b044a55f6334469026c7d274628493b0d4ab794a2e0d10970920c93c9ee4afe10330ffc58503275ac3f1848c2871667500649193cb0c68e0eebe7f995c911ac58d05581e03818a9f6844a7e210af69a5dd79252ddcb9fee33f5939b9fbdaa06b2b800c04471ec82e790ea19405581e035b5b1d354e1f6715174a971dd1ba11e1b82b08979d89d8fa964de504f008471871a86cc68e2003b1a0e13019942e7d123e37a32439370d11a9d96219966278e1f64c507b2cdccc031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e035973e06464ac654537fb92a58936a96c48323672ac4d53da954f41868007011bffffffffffffffff05581e031508a31cffdf0072bdf1135a0691b4a36296656974fb9c13092ee57cb00c04476e42589bc616fa02190ed603811549d537b4be3a05bf4e85689d736fac68192c5a2e3a6d9701f708480efea503f0b7d0d832cea2ca17fa4e9fc17ab47d11a112fc0eb17a076ea916f234e279f60219ffff03a34e25026ca45d362869ebc2206a01b42efac12a61068a6dc241c034b9a7ed29035fbb0b740515f286d878782d4daaa1d8eaeb80d023d3f139aba753f54c3a65ea037e0c0aff8d727e758da45c4dce84b6e34cae0b01bfa39a5df142c8a7e883cec9036b2d5fd1ceeadf8b41465724d505f75506e4d6d71e2a1fb8bc6e3e247046dad60341738ad7674d7e97d3157cadf1a5c2a6662654c804fbe435d1aecc3e768691510219ffff03291b24cc80e50253a69c1dd04d96efe87389e210d15ca46786d6b657c45b3a6903ead296b20367a6e9fa59b6e1b9b6a66e7cb811a3015bb8bc648013a2dce1ff480382df162dde74fec03c7d6e8e0955ae2c6647df397c53daba25d5077a693c890c03710a4accbc78907fd1482b0721c8cae0cf77ff63e5e86c584ac9cd90e341e24903bb001961a6b6a1c5f70a8b221f2bd17b8f884a07de531a34b2090bde0b82904a03b52a2d3e9c0a3446f7a5ec0ba0677bc8b221dfea587e7d13149490953942f9fe03fee5d89aa77ecb57c58fc84bc707132132aa6809e6ec3c12c6c33556add9f9be036f7dcb7800cda08bb3626cac6c2f6733ffe1c9d0015b9c8b7dec36800fc0e744032f4b567214761eea308cfb33e277993ec4fd45583d8cf0c7e0e6fe1e35223ade0219ffff0355de7db1ba23cb8a0297550961b852240e4c024c2a9af0c71a19edc7247d176b037b9ec71c46599e93243edcbce870179bb785ee830bbaf45ba2f6996265667f9403d6e7312220a34f829cfa07de1fe8802d1f639b7e9d010ad309ef1e16a141a11d03e61b97db9243c5d6c83a22694a945d40e9e438f9c109ad7f0d1a39a5b3d42d3b0301c3169f3396a29e95aa81157dbb94efa3fc83c79a215ff301e775ff0c3809dc03c52cf0bc08590a18561941fab16978ad7ec59130781abcd14ce9fc874ae83d0603939b4170375a753684ba0371400763ec7bb0874b608e49e9da01f5aa7e6bde95036703646d08167bc14044d954849e67a9859b2f3cffe98da38ff8f9993f8713ef03e9e8986a2e4702fa013844be6081befc7a26995b5a75f14c2d5160642855d8890389dea483c0da4e70c9f8353a9f396635e18529608b9b0acbc7bb2ef515ac028c0219ffff03e9bbfe92895f05db40ece2efca948a66c0548136e8a4e1b7d35a592cf1f58edd03efe215620360701767162e7e9c267bd9cda8a9359363c1f957bcb5195b3d3f92038276e070b74e98c474c18df5fe88af5ed58b0950537f77b4d5821bf6ae8b16590358e52aa6f9d3d0af4df22a6ccb8e11b68df45d61c9e1b16c1f86db7bd8c2f7b103a716fa5b8c82ed153299fc764e9fb5cb9827043efbfdfb16c1b0c7178fa1491e0304c14fed5704af6f8a5116d72bd06ff5dba23fee1be131ff0a3df3244c4941b3036c53de3b748964f4a56ad143dbcb022669cb2e51d29dd09841909c48617f3658039482d7ece0fefd0bed6732244c9fd5ff6fa43e56ca510f010c4662f652eac31d0375b7513ed626c38cbfa8e780cb81f088118066b0c1d330b6d5e24ebbb760bb5f035572bf0e728f4d8502d57683998d06eb9c835ac89fb4f4c74e11158b15fd7f700378365bd599686f173ec53dde5d20963efcf30f947ea256868d6611c0f9939e38036a3eefc1471d401ce9ceb2253846cdc75c995f0b13507f1322d18684c71f6d31033fea70220fbbfcfa2a8b3f0574a410a63df85537a9a5e48cf239024c459763a403d71af2aeca641166ae837c4eb1336638e3383db20703f811dc83e375f568c99b032e0c43b12b87bf3a7ec6285d5e3329602e4971af9bd6ab44e10a5f3bd99b2ef30308bf9dc6fae47fc8e0ead0b448624e7f8fc214ac81423af8e734c2148e24f8d40343dc040a01c7b1833bea245afb3b8afed4cb5e33c17a61eed7a19041cc13d58b0391a26ecfae97347dd79d587abb4dea46cb7d7a0bdb2cf94391f14a6f4ddf704e039b1644ff7a630b88e2b88ac584667743c78e43ec93c5c29ade8534f75f6da6a303a0dcae51b373b139bfdcc8c4c7c623792150086dcc4275f9ea74a8bc039fbde6035ebe36a45794d1057963b5ed84cc244d12086d05779ae55babc8aa82ab132a6a03b8c465d37b228e8675637f9df2134ed3d9428e52a7214d2844af004e17489c1a03eabd4603170ecf3f255a891509c104ea1ca707821b652662b97173e6ea62a83303a9c6068025098b7e017f85758ad14032f27f551bd6b0a3163aa9e04e69e44e2a0333ab7c963001564f2d863b668883b1db26e636b9e45533b3a7809ba63374f70705581e0304e9f5c145522a0c72629c4188dd67efbc26f2a15ae4c40b34e7fc7f600c0148164397cd39e3fc6803115e59b22fb10e59461ce529095538ae061ec57dd339b6e45e44763e50b3321b037ccf4ab8b7ca55472f343bf6446f19d46be1cdf8cc647e15cad33aa2305d98d103f48846e8ac0f123592406816366b26791c9780b1575b4f8def96cfcee80c911903ef6c2335a368703656d204cae55c64856ef27970a7103f8f3cfdeeb74db8b4ce05581d02491365ecec264797f9d9bc769eacfc9d210bd921eb038d6169bd736507011bffffffffffffffff04594a5360806040526004361015610018575b6100166146e2565b005b60003560e01c8063042e02cf146105545780630902f1ac1461054b5780630bc47ad1146105425780630c340a241461053957806318160ddd14610530578063189bb2f1146105275780631c9f7fb91461051e5780631f5954bd1461051557806323b872dd1461050c57806324a3d6221461050357806326441318146104fa5780632a48cf12146104f15780632b92a07d146104e85780632d05670b146104df5780632e04b8e7146104d6578063300e6beb146104cd578063313ce567146104c457806332176c49146104bb578063374c49b4146104b257806338aa813f146104a95780633b3bec2e146104a057806341976e09146104975780634232cd631461048e578063439e2e451461048557806344c1e5eb1461047c57806344c35d071461047357806344ff241d1461046a57806359e017bd146104615780635a94b8d11461045857806367800b5f1461044f57806370a08231146104465780637914acc71461043d5780637ac88ed1146104345780637eb711311461042b578063804de71f146104225780638285ef40146104195780638d5d814c1461041057806390323177146104075780639241a561146103fe5780639364e18a146103f557806394920cca146103ec5780639ea99a5a146103e35780639fa83b5a146103da5780639ff567f8146103d1578063a1654379146103c8578063a1a1ef43146103bf578063a46fe83b146103b6578063a5b4ff79146103ad578063a9059cbb146103a4578063aba7f15e1461039b578063ad14777c14610392578063bfe69c8d14610389578063c1ee2c1814610380578063c3b35a7e14610377578063c3cecfd21461036e578063c55dae6314610365578063c5fa15cf1461035c578063c8c7fe6b14610353578063cde680411461034a578063d8e5f61114610341578063d955759d14610338578063dc4abafd1461032f578063e478795d14610326578063e4e6e7791461031d578063e7dad6bd14610314578063f2b9fdb81461030b5763f3fef3a30361000e576103066119d8565b61000e565b506103066119ab565b50610306611965565b506103066117f9565b5061030661170e565b5061030661169b565b5061030661167c565b50610306611655565b50610306611639565b5061030661160e565b506103066115a0565b5061030661155a565b506103066114f5565b506103066114d9565b506103066114bb565b50610306611420565b50610306611372565b50610306611336565b506103066112e8565b506103066112ac565b5061030661126d565b50610306611246565b50610306611205565b506103066111dd565b506103066111ac565b50610306611170565b50610306611134565b506103066110f8565b506103066110bc565b5061030661109e565b50610306611077565b50610306611016565b50610306610fda565b50610306610fbe565b50610306610f92565b50610306610f56565b50610306610f2e565b50610306610f07565b50610306610ecb565b50610306610e75565b50610306610e2f565b50610306610ca6565b50610306610c60565b50610306610c44565b50610306610c28565b50610306610c00565b50610306610bcb565b50610306610aff565b50610306610ad7565b50610306610a9b565b50610306610a5c565b50610306610a20565b506103066109e2565b506103066109a6565b50610306610951565b506103066108b0565b50610306610892565b50610306610815565b506103066107cc565b50610306610763565b506103066106dd565b506103066106a1565b50610306610635565b506103066105ef565b506103066105c9565b506103066105a5565b50610306610573565b6001600160a01b0381160361056e57565b600080fd5b503461056e57602036600319011261056e57602061059b6004356105968161055d565b612cd5565b6040519015158152f35b503461056e57600036600319011261056e5760206105c16129e1565b604051908152f35b503461056e57600036600319011261056e5760206001805460f81c161515604051908152f35b503461056e57600036600319011261056e576040517f0000000000000000000000006d903f6003cca6255d85cca4d3b5e5146dc339256001600160a01b03168152602090f35b503461056e57600036600319011261056e57602066038d7ea4c6800061069861065c6121c9565b61067f6001549161067964ffffffffff91828560d01c169061223d565b166124ac565b506001600160401b0316906001600160681b0316611ae0565b04604051908152f35b503461056e57600036600319011261056e5760206040517f00000000000000000000000000000000000000000000000000000196ea2796a18152f35b503461056e576000806003193601126107605760015464ffffffffff8160d01c1661074f5764ffffffffff60d01b6107136121c9565b64ffffffffff60d01b1990921660d09290921b161760015580546001600160801b0319166e038d7ea4c6800000038d7ea4c68000178155604051f35b60405162dc149f60e41b8152600490fd5b80fd5b503461056e57600036600319011261056e5760206040517f0000000000000000000000000000000000000000000000000853a0d2313c00008152f35b9081606091031261056e5780356107b58161055d565b91604060208301356107c68161055d565b92013590565b503461056e5761080a6107e036600461079f565b91907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4891336137cf565b602060405160018152f35b503461056e57600036600319011261056e576040517f000000000000000000000000bbf3f1421d886e9b2c5d716b5192ac998af2012c6001600160a01b03168152602090f35b919082608091031261056e5781356108728161055d565b9160208101356108818161055d565b91606060408301356107c68161055d565b503461056e576100166108a636600461085b565b9291909133613c2d565b503461056e57600036600319011261056e5760206040517f0000000000000000000000000000000000000000000000000000001fbf38043a8152f35b919082604091031261056e57602082356109058161055d565b9201356109118161055d565b90565b9060018060a01b0316600052602052604060002090565b6001600160801b031690565b6001600160801b0391821681529116602082015260400190565b503461056e576109a26109866109683660046108ec565b6001600160a01b039091166000908152600660205260409020610914565b54604051918291608081901c906001600160801b031683610937565b0390f35b503461056e57600036600319011261056e5760206040517f000000000000000000000000000000000000000000000000000000009d70f5088152f35b503461056e57602036600319011261056e57600435610a008161055d565b60018060a01b031660005260046020526020604060002054604051908152f35b503461056e57600036600319011261056e5760206040517f0000000000000000000000000000000000000000000000000000000005f5e1008152f35b503461056e57600036600319011261056e57602060405160ff7f0000000000000000000000000000000000000000000000000000000000000006168152f35b503461056e57600036600319011261056e5760206040517f000000000000000000000000000000000000000000000000000012309ce540008152f35b503461056e57602036600319011261056e5760206105c1600435610afa8161055d565b61469a565b503461056e57602036600319011261056e57602061059b600435610b228161055d565b612b0c565b6001600160401b031690565b610bc99092919260e08061010083019560ff815116845260018060a01b03806020830151166020860152604082015116604085015260018060401b036060820151166060850152610b936080820151608086019060018060401b03169052565b60a0818101516001600160401b03169085015260c0818101516001600160401b03169085015201516001600160801b0316910152565b565b503461056e57602036600319011261056e576109a2610bf4600435610bef8161055d565b612145565b60405191829182610b33565b503461056e57602036600319011261056e5760206105c1600435610c238161055d565b61281f565b503461056e57610016610c3c36600461079f565b913333613176565b503461056e57610016610c5836600461079f565b9133336137cf565b503461056e57600036600319011261056e5760206040517f00000000000000000000000000000000000000000000000000000000000f42408152f35b8015150361056e57565b503461056e5760a036600319011261056e57600435610cc481610c9c565b602435610cd081610c9c565b60443591610cdd83610c9c565b60643592610cea84610c9c565b608435610cf681610c9c565b60018060a01b03807f0000000000000000000000006d903f6003cca6255d85cca4d3b5e5146dc33925163314159081610e02575b50610df1577f3be39979091ae7ca962aa1c44e645f2df3c221b79f324afa5f44aedc8d2f690d94610dec92610db7610d746000610d66886149ef565b9060ff8080931691161b1690565b610d826001610d668a6149ef565b17610d916002610d66856149ef565b17610da06003610d66866149ef565b17610daf6004610d66876149ef565b176001612de9565b6040519586958693909594919260809360a0860197151586521515602086015215156040850152151560608401521515910152565b0390a1005b6040516282b42960e81b8152600490fd5b90507f000000000000000000000000bbf3f1421d886e9b2c5d716b5192ac998af2012c1633141538610d2a565b503461056e57600036600319011261056e576040517f000000000000000000000000285617313887d43256f852cae0ee4de4b68d45b06001600160a01b03168152602090f35b503461056e57602036600319011261056e57600435610e938161055d565b6001600160a01b0316600090815260026020526040908190205490519081906109a290608081901c906001600160801b031683610937565b503461056e57600036600319011261056e5760206040517f000000000000000000000000000000000000000000000000000000008dc0fa1e8152f35b503461056e57600036600319011261056e576020600460015460f81c161515604051908152f35b503461056e57602036600319011261056e5760206105c1600435610f518161055d565b61463c565b503461056e57600036600319011261056e5760206040517f000000000000000000000000000000000000000000000000000000001c59cb9f8152f35b503461056e57604036600319011261056e5760206105c1600435610fb58161055d565b6024359061451d565b503461056e57600036600319011261056e5760206105c1612784565b503461056e57600036600319011261056e5760206040517f0000000000000000000000000000000000000000000000000000001a942ee5c58152f35b503461056e57600036600319011261056e57602066038d7ea4c6800061069861103d6121c9565b61105a6001549161067964ffffffffff91828560d01c169061223d565b6001600160401b03169160681c6001600160681b03169050611ae0565b503461056e57600036600319011261056e576020600860015460f81c161515604051908152f35b503461056e576100166110b236600461085b565b9291909133613176565b503461056e57600036600319011261056e5760206040517f0000000000000000000000000000000000000000000000000c7d713b49da00008152f35b503461056e57600036600319011261056e5760206040517f000000000000000000000000000000000000000000000000000000e8d4a510008152f35b503461056e57600036600319011261056e5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461056e57600036600319011261056e5760206040517f000000000000000000000000000000000000000000000000000000bf54ab327b8152f35b503461056e57602036600319011261056e5760206111cb600435612665565b6040516001600160401b039091168152f35b503461056e57602036600319011261056e5760206105c16004356112008161055d565b6128d9565b503461056e57602060ff61123a61121d3660046108ec565b6001600160a01b0390911660009081526003855260409020610914565b54166040519015158152f35b503461056e57600036600319011261056e576020600260015460f81c161515604051908152f35b503461056e57600036600319011261056e57602060405160ff7f0000000000000000000000000000000000000000000000000000000000000005168152f35b503461056e57600036600319011261056e5760206040517f0000000000000000000000000000000000000000000000000c7d713b49da00008152f35b503461056e57604036600319011261056e5761080a6004356113098161055d565b602435907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489033336137cf565b503461056e57600036600319011261056e5760206040517f00000000000000000000000000000000000000000000000000038d7ea4c680008152f35b503461056e5761138336600461079f565b6001600160a01b03917f0000000000000000000000006d903f6003cca6255d85cca4d3b5e5146dc3392583163303610df1576113da93600060209460405180978196829563095ea7b360e01b845260048401613e16565b0393165af18015611413575b6113ec57005b6100169060203d811161140c575b6114048183611a05565b810190613482565b503d6113fa565b61141b612812565b6113e6565b503461056e57602036600319011261056e576100166004356114418161055d565b6114496122a3565b60018060a01b038116600052600560205260406000206114b06040519161147160a084611a05565b54600c81900b83526001600160401b03606882901c8116602085015260a882901c16604084015261ffff60e882901c16606084015260f81c6080830152565b8051600c0b91613016565b503461056e576100166114cf36600461085b565b92919091336137cf565b503461056e576100166114ed36600461079f565b913333613c2d565b503461056e57604036600319011261056e576004356115138161055d565b602435906001600160401b039081831161056e573660238401121561056e57826004013591821161056e573660248360051b8501011161056e576024610016930190614038565b503461056e57600036600319011261056e576040517f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb486001600160a01b03168152602090f35b503461056e57602036600319011261056e576004356115be8161055d565b60018060a01b0316600052600760205260806040600020546040519063ffffffff8116825260018060401b038160201c166020830152600180841b038160601c16604083015260e01c6060820152f35b503461056e57602036600319011261056e5760043560ff8116810361056e57610bf46109a291611b2d565b503461056e57602061059b61164f3660046108ec565b90614721565b503461056e57600036600319011261056e576020601060015460f81c161515604051908152f35b503461056e57602036600319011261056e5760206111cb600435612555565b503461056e57602036600319011261056e576004356116b98161055d565b60018060a01b0316600052600560205260a06040600020546040519080600c0b825260018060401b03808260681c1660208401528160a81c16604083015261ffff8160e81c16606083015260f81c6080820152f35b503461056e57604036600319011261056e5760043561172c8161055d565b602435906001600160a01b037f0000000000000000000000006d903f6003cca6255d85cca4d3b5e5146dc3392581163303610df1576117696129e1565b600081129081156117e7575b506117d557816117c7847fec4431f2ba1a9382f6b0c4352b888cba6f7db91667d9f776abe5ad8ddc5401b6947f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48613e31565b6040519384521691602090a2005b60405163128bd24d60e31b8152600490fd5b6117f191506149e4565b831138611775565b503461056e57608036600319011261056e576004356118178161055d565b604435606435916118278361055d565b601060015460f81c166119535761183c6129e1565b60008112159081611928575b506119165761187882337f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48613497565b611882828261451d565b92602435841061190457611895826128d9565b84116117d5577ff891b2a411b0e66a5f0a6ff1368670fefa287a13f541eb633a386a1a9cc7046b916118dc6118ff926118d56118d088614943565b61092b565b9083613e31565b6040805194855260208501959095526001600160a01b0316933393918291820190565b0390a3005b60405163fa6ad35560e01b8152600490fd5b604051631d99ddbf60e01b8152600490fd5b90507f000000000000000000000000000000000000000000000000000012309ce54000111538611848565b6040516313d0ff5960e31b8152600490fd5b503461056e57600036600319011261056e576040517f0000000000000000000000008fffffd4afb6115b954bd326cbe7b4ba576818f66001600160a01b03168152602090f35b503461056e57604036600319011261056e576100166004356119cc8161055d565b60243590333333613176565b503461056e57604036600319011261056e576100166004356119f98161055d565b60243590333333613c2d565b601f909101601f19168101906001600160401b03821190821017611a2857604052565b634e487b7160e01b600052604160045260246000fd5b90610bc96040519283611a05565b60405190611a5c61010083611a05565b8160e06000918281528260208201528260408201528260608201528260808201528260a08201528260c08201520152565b50634e487b7160e01b600052601260045260246000fd5b50634e487b7160e01b600052601160045260246000fd5b6001600160401b0391821691908215611ad357160490565b611adb611a8d565b160490565b8060001904821181151516611af3570290565b611afb611aa4565b0290565b60ff16604d8111611b11575b600a0a90565b611b19611aa4565b611b0b565b6001600160401b039091169052565b611b35611a4c565b5060ff811660ff7f0000000000000000000000000000000000000000000000000000000000000005168110156121335780611cc357507f00000000000000000dbba012dbd020caef83efd542f4de03e3cf0c28a4428bd57f0000000000001d4c1b581964c00e94cb662c3520282e6f5717214004a7f268885b6001600160401b0380611bcb612710670de0b6b3a7640000611abb565b1661ffff9181838560a01c1690611be191611ae0565b611bea90610b27565b91611bfb8160b087901c8616611ae0565b611c0490610b27565b938560c01c1690611c1491611ae0565b611c1d90610b27565b938560a01c60ff16611c2e90611aff565b611c3790610b27565b91808316908760a81c1690611c4b91611ae0565b611c549061092b565b95611c60610100611a3e565b60ff9890981688526001600160a01b039182166020890152166040870152611c8b9060608701611b1e565b611c989060808601611b1e565b611ca59060a08501611b1e565b611cb29060c08401611b1e565b6001600160801b031660e082015290565b60018103611d1357507f000000000000000000465008f4030086522a5beea4988f8ca5b36dbc97bee88c7f000000000000251c21341f402260fac5e5542a773aa44fbcfedf7c193bc2c599611bae565b60028103611d6357507f000000000000000007a120125f4ec3df9cbd43714fe2740f5e3616155c5b84197f000000000000251c22f6203ac02aaa39b223fe8d0a0e5c4f27ead9083c756cc2611bae565b60038103611db357507f000000000000000027ac4012553303d460ee0afb37edff9be42922d8ff63220e7f000000000000206c1edc1c841f9840a85d5af5bf1d1762f925bdaddc4201f984611bae565b60048103611e0357507f00000000000000003d0900122c1d072e956affc0d435cb7ac38ef18d24d9127c7f000000000000245421341edc514910771af9ca656af840dff83e8264ecf986ca611bae565b60058103611e5357507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bae565b60068103611ea357507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bae565b60078103611ef357507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bae565b60088103611f4357507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bae565b60098103611f9357507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bae565b600a8103611fe357507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bae565b600b810361203357507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bae565b600c810361208357507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bae565b600d81036120d357507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bae565b600e03612121577f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000611bae565b60405163971241a160e01b8152600490fd5b604051633640530560e01b8152600490fd5b9061214e611a4c565b5060009060ff92837f000000000000000000000000000000000000000000000000000000000000000516925b838582161061219557604051633640530560e01b8152600490fd5b61219e81611b2d565b60208101516001600160a01b038481169116146121c05750600101841661217a565b93505050915090565b600160281b4210156121e05764ffffffffff421690565b604051633d32ffdb60e01b8152600490fd5b9060405161220160a082611a05565b608081935480600c0b835260018060401b03808260681c1660208501528160a81c16604084015261ffff8160e81c16606084015260f81c910152565b64ffffffffff9182169116818110612253570390565b61225b611aa4565b0390565b6001600160681b031690565b6001600160401b0391821691908116908290038111612288570190565b612290611aa4565b0190565b60681c6001600160681b031690565b6122ab6121c9565b6122d56122cb6122c560015464ffffffffff9060d01c1690565b8361223d565b64ffffffffff1690565b90816122df575050565b816123366122ef610bc9946124ac565b60008054600160401b600160801b03191660409290921b600160401b600160801b0316919091178155919082546001600160401b0319166001600160401b03909116178255565b61234160015461225f565b7f000000000000000000000000000000000000000000000000000000e8d4a5100092906001600160681b031683811015612436575b5061238a612385600154612294565b61225f565b928310156123be575b50506001805464ffffffffff60d01b191660d09390931b64ffffffffff60d01b169290921790915550565b6123ff6123fa61242e946123f561240e947f000000000000000000000000000000000000000000000000000000bf54ab327b611ae0565b612e1f565b6148f7565b825460c01c61226b565b61226b565b81546001600160c01b031660c09190911b6001600160c01b031916179055565b388080612393565b61248061246d6123fa6124a6936123f5867f00000000000000000000000000000000000000000000000000000196ea2796a1611ae0565b845460801c6001600160401b031661226b565b8354600160801b600160c01b03191660809190911b600160801b600160c01b0316178355565b38612376565b6000546001600160401b03604082901c811693929181169190816124d1575b50509190565b8161252461251e6124fe97946125306125369761252a8761250561252a996124f7612784565b9e8f612555565b169d612665565b169b61252461251e670de0b6b3a7640000998a93611ae0565b84611ae0565b046148f7565b9061226b565b98611ae0565b9138806124cb565b81198111612288570190565b818110612253570390565b7f0000000000000000000000000000000000000000000000000c7d713b49da00008082116125de57506123fa670de0b6b3a76400006125b7610911937f000000000000000000000000000000000000000000000000000000008dc0fa1e611ae0565b047f000000000000000000000000000000000000000000000000000000000000000061253e565b610911916123fa91612651670de0b6b3a764000091612621836125b7837f000000000000000000000000000000000000000000000000000000008dc0fa1e611ae0565b93818110612658575b037f0000000000000000000000000000000000000000000000000000001a942ee5c5611ae0565b049061253e565b612660611aa4565b61262a565b7f0000000000000000000000000000000000000000000000000c7d713b49da00008082116126ee57506123fa670de0b6b3a76400006126c7610911937f000000000000000000000000000000000000000000000000000000009d70f508611ae0565b047f000000000000000000000000000000000000000000000000000000001c59cb9f61253e565b610911916123fa91612651670de0b6b3a764000091612731836126c7837f000000000000000000000000000000000000000000000000000000009d70f508611ae0565b93818110612761575b037f0000000000000000000000000000000000000000000000000000001fbf38043a611ae0565b612769611aa4565b61273a565b8115612778570490565b612780611a8d565b0490565b60005460015466038d7ea4c68000906127c6906001600160681b036001600160401b03846127b6828816848616611ae0565b049560401c169160681c16611ae0565b04816127d3575050600090565b670de0b6b3a76400009080600019048211811515166127f157020490565b6127f9611aa4565b020490565b51906001600160501b038216820361056e57565b506040513d6000823e3d90fd5b604051633fabe5a360e21b81529060a090829060049082906001600160a01b03165afa9081156128bd575b600091612871575b50600081131561285f5790565b60405163fd1ee34960e01b8152600490fd5b9060a0823d82116128b5575b8161288a60a09383611a05565b81010312610760575061289c816127fe565b506128ae6080602083015192016127fe565b5038612852565b3d915061287d565b6128c5612812565b61284a565b9081602091031261056e575190565b6040516370a0823160e01b8152306004820152906001600160a01b0316602082602481845afa918215612964575b600092612934575b506000908152600260205260409020546001600160801b031690818110612253570390565b61295691925060203d811161295d575b61294e8183611a05565b8101906128ca565b903861290f565b503d612944565b61296c612812565b612907565b600082128015600160ff1b840183121661299b575b6001600160ff1b038301821316612253570390565b6129a3611aa4565b612986565b6000811280156001600160ff1b038390038413166129d4575b600160ff1b829003831216612288570190565b6129dc611aa4565b6129c1565b6109116129ec6121c9565b612a0f612a0a6122cb6001549364ffffffffff8560d01c169061223d565b6124ac565b6040516370a0823160e01b8152306004820152929091906020846024816001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48165afa938415612aff575b600094612ac7575b5091612abb612ab5612ab593612aae612ac19666038d7ea4c680009260018060401b0384612aa18260018060681b039416848616611ae0565b0497169160681c16611ae0565b0495614998565b91614998565b90612971565b906129a8565b612ac193919450612ab5612ab593612aae612af2612abb9460203d811161295d5761294e8183611a05565b9794965050935050612a68565b612b07612812565b612a60565b90612b22612b1b836005610914565b54600c0b90565b906000928383600c0b1215612ccc57612bb2612b59612b53612b48846005979697610914565b5460e81c61ffff1690565b9361475e565b612b827f0000000000000000000000008fffffd4afb6115b954bd326cbe7b4ba576818f661281f565b7f00000000000000000000000000000000000000000000000000000000000f42406001600160401b031691612e6a565b90849360ff95867f000000000000000000000000000000000000000000000000000000000000000516955b8781169087821015612cbe5790889161ffff600180931b891616612c03575b0116612bdd565b9590915082811215612cb25790612cac8992612ac1612ca788612ca1612c9c6080612c94612c638f612c42612c3a612c5692611b2d565b976006610914565b60208801516001600160a01b031690610914565b546001600160801b031690565b6040860151612c7a906001600160a01b031661281f565b612c876060880151610b27565b91600180861b0316612e4a565b930151610b27565b610b27565b90612e0c565b614998565b95612bfc565b50955050945050505090565b505094509450509050121590565b50915050600190565b90612ce4612b1b836005610914565b906000928383600c0b1215612de457612d0a612b59612b53612b48846005979697610914565b90849360ff95867f000000000000000000000000000000000000000000000000000000000000000516955b8781169087821015612dd75790889161ffff600180931b891616612d5b575b0116612d35565b9590915082811215612dcb5790612dc58992612ac1612ca788612ca1612c9c60a0612c94612d928f612c42612c3a612c5692611b2d565b6040860151612da9906001600160a01b031661281f565b612db66060880151610b27565b916001600160801b0316612e4a565b95612d54565b50509450945050505090565b5050945094505090501290565b509050565b80546001600160f81b031660f89290921b6001600160f81b031916919091179055565b670de0b6b3a76400009161278091611ae0565b61276e907f00000000000000000000000000000000000000000000000000000000000f424090611ae0565b90612e5491611ae0565b6001600160401b03909116908115612778570490565b9190612e7590614998565b6000808413939082136001600160ff1b03858216848204841116612f31575b600160ff1b95600085129185918316858905831216612f24575b60008512938416828905861216612f17575b058312911616612f0a575b6001600160401b03909216929102908215612efd575b8114600019831416612ef1570590565b612ef9611aa4565b0590565b612f05611a8d565b612ee1565b612f12611aa4565b612ecb565b612f1f611aa4565b612ec0565b612f2c611aa4565b612eae565b612f39611aa4565b612e94565b6001600160401b039182169116818110612253570390565b600c0b6001600160671b03198114612f6f575b60000390565b612f77611aa4565b612f69565b805461ffff60e81b191660e89290921b61ffff60e81b16919091179055565b81518154602084015160408501516001600160e81b03199092166001600160681b039093169290921760689290921b600160681b600160a81b03169190911760a89190911b600160a81b600160e81b03161781556060820151610bc99260ff916080919061300d9061ffff1685612f7c565b01511690612de9565b61311f90610bc9936130298451600c0b90565b600c82900b855260009182918683600c83900b8113613136576130b661308f6130f594613080612c9c6130dd9661307a60206130726123fa995460018060401b039060801c1690565b920151610b27565b90612f3e565b906001600160681b0316611ae0565b7f00000000000000000000000000000000000000000000000000038d7ea4c680009061276e565b7f00000000000000000000000000000000000000000000000000000000000000019061276e565b6130ef60408901916124098351610b27565b90611b1e565b600c0b1261312457546131189060801c6001600160401b03165b60208501611b1e565b6005610914565b612f9b565b546131319060c01c61310f565b613118565b6130b661308f6131719461316c61238561225f613166612c9c6130dd9961307a60206130726123fa9c5460c01c90565b93612f56565b611ae0565b6130f5565b939290936001805460f81c16611953576131936131979186614721565b1590565b610df1576001600160a01b038181167f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48909116036131ee5750610bc992600019830361327f5791506131e88161469a565b9161327f565b906131fc610bc99493614943565b926135d1565b6001600160681b0391821691908116908290038111612288570190565b80546001600160681b0319166001600160681b03909216919091179055565b6001600160681b039182169116818110612253570390565b8054600160681b600160d01b03191660689290921b600160681b600160d01b0316919091179055565b61332d91926132af81837f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48613497565b6132b76122a3565b61333a6132cd6132c8866005610914565b6121f2565b8051600c0b906133346132fd6132f66132f16132e88661475e565b612ac189614998565b6147f8565b8094613406565b979061331d6133168a61331160015461225f565b613202565b600161321f565b613328600154612294565b61323e565b6001613256565b86613016565b6040519081526001600160a01b0393841693849216907fd1cf3d156d5f8f0d50f6c122ed609cec09d35c9b9fb3fff6ea0959134dae424e90602090a36001600160681b038116613388575050565b6000805160206149fe8339815191526133bf6133af6000936133aa8554610b27565b6147d3565b6040519081529081906020820190565b0390a3565b600c91820b910b6000821280156001600160671b031984018312166133f9575b6001600160671b038301821316612253570390565b613401611aa4565b6133e4565b91909180600c0b83600c0b81811261347557600012613439575061342a91926133c4565b6001600160681b031690600090565b60001361345c5761344a91926133c4565b6000916001600160681b039190911690565b61346590612f56565b6001600160681b03908116921690565b5050509050600090600090565b9081602091031261056e575161091181610c9c565b6040516323b872dd60e01b81526001600160a01b039283166004820152306024820152604481019390935260209183916064918391600091165af190811561351a575b6000916134fc575b50156134ea57565b60405163073d1efd60e51b8152600490fd5b613514915060203d811161140c576114048183611a05565b386134e2565b613522612812565b6134da565b90604051613536604082611a05565b91546001600160801b038116835260801c6020830152565b6001600160801b0391821691908116908290038111612288570190565b80546001600160801b0319166001600160801b03909216919091179055565b90602060018060801b03916135a2838251168561356b565b0151825490911660809190911b6001600160801b031916179055565b6001600160801b03909116815260200190565b909290916001600160801b03906135eb8284168583613497565b6135f481612145565b90613608613603826002610914565b613527565b9261362c61361f8661361a875161092b565b61354e565b6001600160801b03168552565b613636845161092b565b906136476118d060e086015161092b565b9116116136f1576136cc6136ba856136ec946136c67ffa56f7b24f17183d81894d3ac2ee654e3c26388d17a28dbd9549b8114304e1f4976136c18761369b8e6136a76136a0612c568561369b856006610914565b610914565b988961354e565b9889956136b5856002610914565b61358a565b6006610914565b61356b565b89613703565b6040516001600160a01b03918216968216959091169390918291826135be565b0390a4565b604051637ac7b99d60e11b8152600490fd5b909290916001600160801b039081161580806137c4575b156137655750505061374d613745613736610bc9945160ff1690565b600160ff9091161b61ffff1690565b916005610914565b9061375e825461ffff9060e81c1690565b1790612f7c565b1591826137b9575b5050613777575050565b60ff610bc992600161ffff92839251161b16199160018060a01b031660005260056020526040600020916137b1835461ffff9060e81c1690565b161690612f7c565b16159050388061376d565b50818316151561371a565b93929093600260015460f81c16611953576131936137ed9186614721565b610df1576001600160a01b038481168382161461386557807f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4816908216146000146138515750610bc992600019830361388857915061384b8261463c565b91613888565b9061385f610bc99493614943565b92613b21565b60405163e397a99b60e01b8152600490fd5b600160ff1b8114612f6f5760000390565b9190916138936122a3565b61389e816005610914565b6138a7906121f2565b6138b2846005610914565b6138bb906121f2565b9281516138c890600c0b90565b9380516138d590600c0b90565b926138df8661475e565b6138e884614998565b6138f191612971565b926138fb8561475e565b9061390590614998565b61390e916129a8565b90613918846147f8565b61392281936147f8565b97889361392e91613abc565b986139399197613406565b98878a6001546139489061225f565b9061395291613202565b9061395c9161323e565b61396790600161321f565b60015461397390612294565b9061397d91613202565b906139879161323e565b613992906001613256565b61399c9187613016565b6139a69187613016565b60008112613a53575b506001600160681b0391818316613a0b575b505081166139cd575050565b6000805160206149fe8339815191526133bf6139ef6000936133aa8554610b27565b6040519081526001600160a01b03909416939081906020820190565b6000805160206149fe833981519152613a49613a2d6000946133aa8654610b27565b6040519081526001600160a01b03909316929081906020820190565b0390a338806139c1565b613a5c90613877565b7f0000000000000000000000000000000000000000000000000000000005f5e10011613aaa57613a8e61319383612b0c565b613a9857386139af565b604051630a62fbdb60e11b8152600490fd5b604051637139da2360e11b8152600490fd5b919082600c0b81600c0b81811361347557600013613adf575061342a91926133c4565b600012613af05761344a91926133c4565b613af990612f56565b6001600160681b03928316921690565b6001600160801b039182169116818110612253570390565b6001600160a01b0380821660008181526006602052604090206001600160801b03959194919391908690613b56908690610914565b54168382169687600052600660205285604060002090613b7591610914565b5416613b818983613b09565b613b8b8a8361354e565b928188613b99886006610914565b90613ba391610914565b90613bad9161356b565b8388613bba876006610914565b90613bc491610914565b90613bce9161356b565b613bd788612145565b91613be3918388613703565b613bec93613703565b613bf590612b0c565b15613a98577f29db89d45e1a802b4d55e202984fce9faf1d30aedf86503ff1ea0ed9ebb64201916136ec6040519283921696826135be565b93929093600460015460f81c1661195357613193613c4b9186614721565b610df1576001600160a01b038181167f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4890911603613ca25750610bc9926000198303613cb6579150613c9c8261463c565b91613cb6565b90613cb0610bc99493614943565b92613eb9565b909161332d92613cc46122a3565b613cd26132c8846005610914565b613d2c613ce08251600c0b90565b613cf5613cec8261475e565b612abb87614998565b92613334613d0c613d05866147f8565b8094613abc565b613d216133168361332860019e959e5461225f565b613311600154612294565b60008112613dd1575b50613d6182827f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48613e31565b6040519182526001600160a01b0392831692169082907f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb90602090a36001600160681b038216613daf575050565b6000805160206149fe8339815191526133bf6133af6000946133aa8654610b27565b613dda90613877565b7f0000000000000000000000000000000000000000000000000000000005f5e10011613aaa57613e0c61319384612b0c565b613a985738613d35565b6001600160a01b039091168152602081019190915260400190565b91613e5792602092600060405180968195829463a9059cbb60e01b845260048401613e16565b03926001600160a01b03165af1908115613eac575b600091613e8e575b5015613e7c57565b60405163cefaffeb60e01b8152600490fd5b613ea6915060203d811161140c576114048183611a05565b38613e74565b613eb4612812565b613e6c565b6001600160a01b038082166000818152600660205260408120909695919491936001600160801b03918290613eef908790610914565b5416613efb8882613b09565b80878781169b8c81526002602052604081208c8882541690613f1c91613b09565b613f259161356b565b8a815260066020526040902090613f3b91610914565b90613f459161356b565b613f4e87612145565b91613f599284613703565b613f6290612b0c565b15613a98577fd6d480d5b3068db003533b170d67561494d72e3bf9fa40a266471351ebba9e169382613f9692881691613e31565b6136ec6040519283921695826135be565b9190811015613fb75760051b0190565b634e487b7160e01b600052603260045260246000fd5b356109118161055d565b90604051613fe6608082611a05565b915463ffffffff81168352602081811c6001600160401b031690840152606081811c6001600160801b0316604085015260e09190911c90830152565b60019063ffffffff809116908114612288570190565b9291909260016008815460f81c16611953575a946140546122a3565b60005b848110614153575050506140fe906140f76140d86140d361407d610bc997985a9061254a565b6140cc6140ba614096614091886007610914565b613fd7565b986123fa6140b06140ab8c5163ffffffff1690565b614022565b63ffffffff168b52565b6130ef60208a01916124098351610b27565b4890611ae0565b614943565b6140ea604086019161361a835161092b565b6001600160801b03169052565b6007610914565b815160208084015160408501516060958601516001600160e01b031960e09190911b16600160601b600160e01b039190961b1663ffffffff909316600160201b600160601b039190921b161717919091179055565b8061417161416b61416686948987613fa7565b613fcd565b86614177565b01614057565b9161418461319383612cd5565b61450b57906141976132c8826005610914565b906141a38251600c0b90565b936141ad8561475e565b926060906141bf8282015161ffff1690565b6141e87f0000000000000000000000008fffffd4afb6115b954bd326cbe7b4ba576818f661281f565b96600092839860ff9a8b7f0000000000000000000000000000000000000000000000000000000000000005169a5b8c8116908c82101561438a57908d91898c8c61ffff600180961b8c1616614242575b5050500116614216565b90919a8261424f85611b2d565b60208101519092906001600160a01b0316908160068161426f8683610914565b9061427991610914565b546001600160801b03169461428d91610914565b9061429791610914565b60006142a29161356b565b6142ad826002610914565b8381546142b99061092b565b906142c391613b09565b6142cc9161356b565b604084810151909f906001600160a01b03166142e79061281f565b908501516142f490610b27565b614307916001600160801b038616612e4a565b9360c0015161431590610b27565b61431e90610b27565b6143289085612e0c565b6143319161253e565b9d516001600160801b0392909216825260208201929092526001600160a01b0391821693821692909116907f9850ab1af75177e4a9201c65a2cf7976d5d28e40ef63494b44366f86b2f9412e90604090a4898c8c614238565b50509497969950945096915097506143e06143da612ca7856143d560018060401b037f00000000000000000000000000000000000000000000000000000000000f424016809a611ae0565b61276e565b826129a8565b9160008312614502575b6143f3836147f8565b96876143ff9187613016565b8661440b866005610914565b600061441691612f7c565b61441f91613406565b60015461442b9061225f565b9061443591613202565b61444090600161321f565b60015461444c90612294565b906144569161323e565b614461906001613256565b61446a91612971565b614473906149e4565b9261447e9184612e4a565b6040805193845260208401919091526001600160a01b039182169485939216917f1547a878dc89ad3c367b6338b4be6a65a5dd74fb77ae044da1e8747ef1f4f62f9190a380600c0b6000126144d1575050565b6000805160206149fe8339815191526133bf6133af6000936144fc6144f68654610b27565b916149bb565b906147d3565b600092506143ea565b604051636ef5bcdd60e11b8152600490fd5b906145e561452d61091193612145565b6145b060606145db61454a60018060a01b0360408601511661281f565b60c08501516001600160401b0394670de0b6b3a7640000929091839061459f908890811680841061462f575b8303167f0000000000000000000000000000000000000000000000000853a0d2313c0000611ae0565b04808410614622575b830390611ae0565b049561316c7f0000000000000000000000008fffffd4afb6115b954bd326cbe7b4ba576818f661281f565b9201511690611ae0565b908015614615575b7f00000000000000000000000000000000000000000000000000000000000f4240910461276e565b61461d611a8d565b6145ed565b61462a611aa4565b6145a8565b614637611aa4565b614576565b61465f6146476121c9565b61067964ffffffffff918260015460d01c169061223d565b506001600160a01b03909116600090815260056020526040812054600c0b91908083131561469457506144fc610911926149bb565b91505090565b6146a56146476121c9565b6001600160a01b03909216600090815260056020526040812054600c0b9291508083121561469457506144fc6146dd61091193612f56565b6149bb565b50600036818037808036817f000000000000000000000000285617313887d43256f852cae0ee4de4b68d45b05af43d82803e1561471d573d90f35b3d90fd5b6001600160a01b0380831691169081149190821561473e57505090565b60ff9250906147599160005260036020526040600020610914565b541690565b6000600c82900b1261479e576000546109119166038d7ea4c6800091614798916001600160401b03909116906001600160681b0316611ae0565b04614998565b6147ce612ca7610911926147bf60018060401b0360005460401c1691612f56565b6001600160681b0316906147d3565b613877565b66038d7ea4c6800091612780916001600160401b0316906001600160681b0316611ae0565b6000811261481e5760005461091191614819916001600160401b03166148a7565b614969565b61487b6148196109119261483f60018060401b0360005460401c1691613877565b614864826000199266038d7ea4c680009080850482118115151661489a575b0261253e565b6001811061488d575b8215614880575b010461491d565b612f56565b614888611a8d565b614874565b614895611aa4565b61486d565b6148a2611aa4565b61485e565b906109119166038d7ea4c680009082600019048211831515166148ea575b6001600160401b03169182156148dd575b020461491d565b6148e5611a8d565b6148d6565b6148f2611aa4565b6148c5565b6001600160401b039081811161490b571690565b6040516372a1cb5160e11b8152600490fd5b6001600160681b0390818111614931571690565b604051630dc7925560e11b8152600490fd5b6001600160801b0390818111614957571690565b60405163762ea71160e11b8152600490fd5b6001600160681b03166001600160671b03811161498657600c0b90565b604051639369ae3560e01b8152600490fd5b6001600160ff1b0381116149a95790565b60405163e7e828ad60e01b8152600490fd5b600081600c0b126149d2576001600160681b031690565b60405163363b64b760e11b8152600490fd5b600081126149d25790565b60009015610911575060019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212202a7592e3c3182f32b57bc65987dbae689a3af695096cecda4191815467d98a2a64736f6c634300080f00330605581d026cd5e2c762a6538d1fa0f3e26a709f8158f844dfdc5a1825bd5bbf130701194a530219180005581e03a7348709ddd7def416c798059b3174f988717aea364a1e3e16a303c4c00c01471acbcda8572f1305581e0365798e7ca45bbe7e79f22400ac4825b1464eb651e480d7c68baf778280040205581e03fbbf13d07937120b8d62304dc41aa40f4ce562757ac51d4e582574db90040205581e03f2d33a033ea812bf7fb1c8457b43c672164989e99d5fd9e208c8d50df00c074804b330b54f02115905581e03f61f88b886ec6e8368d0c8584fd5d6daeb5e7844bd846a976081af2e600c044763784670d4d77205581e034f987ff63b128deb0ac095534a76068ed0c72356da88f678746b2d0ac00c014714f178a4f3700002197fa50219ffff03990ede3dc7537ae2b86e0fe2586898e0c7ba3ffdccdae3c86f0f5644f9b274a503fc775df9536197918ae4a69862631c24490e9e2af10930d652937ce91010d40003222878c4b9fae39c971e5c704b7fdbc567c32425d602022beb5cedb4364031650355552576cb4c794abdf0d06369f64618b4903cdb02a7241608021bbb0ba0265f03eb498f1f5bae4a33f21fa590f8c5a3b0b00cbfa64e0c03f0485d29bb68d6afee0328c52680b0a22419d7dc2b62e2c96d1448da9277844250224b7b3380ac20171403260da86062da391790a43ca10d1c0dc7ab44673ae46470271e3b0377a03542130219ffff031a51e64a206c695993b8ff557711272902c1653942d348ee9dd7006f53f70dc403901f06c8d652e1efa3cf7b618d7f8a50d19fd5d8bd5f23e4cfc95929c8ae26f503b97749ccd4216b6ff3431b1e03a5c58b6cf14e3bef3c0c0fcdb1cca1df35f5dd0310a2f5314c3a0ed12ffe689bfd1ffd820993cbe1abc8615d78f65c18d9827de0032eec6f663e9dfeae7d0e811acf207391da2fded4f148521f045c24bb5abcd6f30303c19d32fb31ad6d27dd42b34dcce66af0bfdc6244ef2ade4ec03c7294c6bf38031ce3618ccf8f88f433c74da2df5feaf419606df81ebb12adc13b33085510a509034d3fdd45e4dc4c756cbba6cf63b504b171fb28acae425652dcfd4ba60d015d7a0383f9605d109bfe56e1a10cc8ab667986f2aff2c72d232ce01100b5c60e20f37a033d4d40cb302dc950a6df01124123f03d948d1e919d071e314c304ee5c3437cd70313d7db7a39e15c80d2016df4ed623b1bcc8d2b35e9d30329e2347a4c6f420916030686b43fb192c97fd46f9e67ebcade309bd1b06cf975c691f03967db199ff9350321cd0660026b21e97036e96d089f23209542479d2bdec844bba7ec272c59be2c03f582b23a54649576487b9341bd0b549b45b0bc4dc709e155169470a59f4971020219ffff030229407521cae61144976e3f50dd33bc000bf572980f91011f669f071de0d0680366df0f8d797600ee9fa46fdded41790299b84ac4faaaf042466383c4abb7693503c33eb6e19ae9beb0a1fda8433a3a90a53ac944691a5ba60e45f403995806c9c303c6c46e478eb1b135dd99f88243ec380b6d3070b7d072099c1a8dc2498a049efc03098968cfe87bedba51107c8301e9cf0ebfe89583d6f38dbbab214fbb7d19a958038a8980ae1350fa08f2bc221699a811e086d88f1bc7c9ef44fc2b0c6647856980037a9b6bca3c7243cdd81fb7bd6aa810b6f51a5012fcbcf607faa5680f5d0765e4034c111743ff70497e77ee66989d6f25a541dfc52aa9859c80d8f1d15b694ed77f03b738ccb904fa85bf36be6034b5b50ab55ff3a37f1f559801882277f98c23c19703a85523fe69012a355b4bd7e922b2a89764a9c8f9bf129d532edbcb7e0eeed3b903c26b17529000d9dc4f01eb06d9a9c1418702af31431f668e9d0b5a44d8d53008035977513d0d9ac6d2d48b7afe54d92e4fb5b2c104d25beb11776fa728e2d9926903bdef54c093d309b50b8c7dc30fd43dd850529ad446781c7fced587ca73ef6a500336ca0a434b7ad6a5d3b998ce2e8ecd9a306073ec576fdaca61abe75c66eda9a2034809d8c552cc9808be3aab46cc4d4e8783efb9e1af2b41323d3835f85d700acf03ccd1aca714fd1054c3ae40cde276fd95a65057492ae1203961125c67daff65a3037574a9353b9bf6396fd6b5f551673113b258a77165726703a8e13f838ca4400003536daa338077198a89dd547848017b3914412d481c69084d20900b8015cc05dd030e7e8dcd54ffae173ac7eb161780771f658a954da24becb562621ce78076e1cc035e1da21508429fff680c582ba27f6e3497341717bde31edae8a68269f0e102b703d70ae8cf8757dc4f3a4201ad89ccf7a3648b809bbe913c74c6c68c5c6b0c9dbe0332077caa0272c3ee331c2c48aa1ea293c513b4aef364ed3028ff2164646daf4a03f57dc6af148de8fcdda39c62077691fe090acecdcf36919cfd7d03b77889b119031b173cc253df1982a56e9bda29ae501e1b3dd332d24466bf089b83c6d2ffcb3f03ec5a8cc410e3c31619ad087e8cb90fa7dff69ae5f8bf5d936e17993c1485baf7033e4b2523068d177509988ed4bb988469d52bbc378b552389c6c8cdbcbd87b96e03cdec872d9e1e16d13d98ea693e1ef9d012c53ed6e6d189f309ec9b1d8a93914803d1dad1a0beaa15acbb9ffc80a5d29b6a983015682a36e4ed7278ee4535d58ec1036dfa78dfa80fc295a993a5fb2653c349b93523171e0a99d3e59309f871ef9ac203d8139895484a8f33de4b3e49152d3bbaf4f86b0acba4e94744c1bdac8dddbd47036606e1da688bc3bcfd168513b4c627adf612606a25024c26f6cdc8f6e0fa597603c8d5c3e43e774d377c4f61fb6d8498144389bc644cc50869eb1f5ada45be8304036cfa820a40f764acef6853dabb7783df175a634b4aecf0074c3620302bf8d6a90347214baf89db2742a0d10547ca31ebbaec438710c76afde0c6941ef478b46535032648302aaaac112001b95e5665182551e49bd7ffc080a6986c3b187ba00564cf037c2f8085d8f83964a8950802b38d8c49c0ceee04c71ac9d792e37ef0c8b9ea3a0356b1ee0a9c20e6e30afb2cffcf7cf02527a83fd3815df53c76f6888bf3a4cbb603dd05b002609784e502a367e89a6841311af3267ac6ba25931b60f50e8f1717d405581e03bef75bc90fcbb8e4beac1a8bc1d887c2b22752bd531637238dbe5b67d00c0146541afb1ea7480459185d6080604052600436106100cc5760003560e01c80636684b1d61161007a5780636684b1d61461044e5780637147855d1461046357806372a44f07146104e35780638757653f146104f8578063b449ea5d1461052b578063c5ab845314610572578063e907fa3c14610587578063f9bcdde41461059c5761011e565b806312f16e6d146101a257806320cea94d146101d7578063439fab91146101fe57806356f36dbf146102795780635c60da1b146103035780635cef2e86146103345780635e3a97e7146103c15761011e565b3661011e576040805162461bcd60e51b815260206004820181905260248201527f434f4e54524143545f4e4f545f45585045435445445f544f5f52454345495645604482015290519081900360640190fd5b60006101286105b1565b90506001600160a01b03811661017e576040805162461bcd60e51b815260206004820152601660248201527526a4a9a9a4a723afa4a6a82622a6a2a72a20aa24a7a760511b604482015290519081900360640190fd5b3660008037600080366000845af43d6000803e80801561019d573d6000f35b3d6000fd5b3480156101ae57600080fd5b506101d5600480360360208110156101c557600080fd5b50356001600160a01b03166105d6565b005b3480156101e357600080fd5b506101ec6105e2565b60408051918252519081900360200190f35b34801561020a57600080fd5b506101d56004803603602081101561022157600080fd5b810190602081018135600160201b81111561023b57600080fd5b82018360208201111561024d57600080fd5b803590602001918460018302840111600160201b8311171561026e57600080fd5b509092509050610606565b34801561028557600080fd5b5061028e61064c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c85781810151838201526020016102b0565b50505050905090810190601f1680156102f55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561030f57600080fd5b506103186105b1565b604080516001600160a01b039092168252519081900360200190f35b34801561034057600080fd5b506101d56004803603606081101561035757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561038157600080fd5b82018360208201111561039357600080fd5b803590602001918460018302840111600160201b831117156103b457600080fd5b9193509150351515610668565b3480156103cd57600080fd5b506101d5600480360360608110156103e457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561040e57600080fd5b82018360208201111561042057600080fd5b803590602001918460018302840111600160201b8311171561044157600080fd5b9193509150351515610831565b34801561045a57600080fd5b506101d5610a14565b6101d56004803603606081101561047957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104a357600080fd5b8201836020820111156104b557600080fd5b803590602001918460018302840111600160201b831117156104d657600080fd5b9193509150351515610a1e565b3480156104ef57600080fd5b506101ec61107c565b34801561050457600080fd5b506101d56004803603602081101561051b57600080fd5b50356001600160a01b03166110a2565b34801561053757600080fd5b5061055e6004803603602081101561054e57600080fd5b50356001600160a01b03166110ab565b604080519115158252519081900360200190f35b34801561057e57600080fd5b5061028e6110bc565b34801561059357600080fd5b5061055e6110dd565b3480156105a857600080fd5b506101d5611103565b7f177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b245490565b6105df8161110b565b50565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f81565b6040805162461bcd60e51b815260206004820152601660248201527543414e4e4f545f43414c4c5f494e495449414c495a4560501b604482015290519081900360640190fd5b6040518060600160405280602781526020016118016027913981565b61067133611258565b6106b4576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b60008484848460405160200180856001600160a01b03166001600160a01b0316815260200180602001831515151581526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050955050505050506040516020818303038152906040528051906020012090506000600260008381526020019081526020016000205490506000811161079c576040805162461bcd60e51b815260206004820152601b60248201527a2aa725a727aba72faaa823a920a222afa4a72327a926a0aa24a7a760291b604482015290519081900360640190fd5b6002600083815260200190815260200160002060009055856001600160a01b03167fe99b980b5259f200e4c1da973ff0251b6d9aaa144714c8773976ecd62b8ebe8d8686866040518080602001831515151581526020018281038252858582818152602001925080828437600083820152604051601f909101601f1916909201829003965090945050505050a2505050505050565b61083a33611258565b61087d576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b61088f846001600160a01b0316611287565b6108d7576040805162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015290519081900360640190fd5b60008484848460405160200180856001600160a01b03166001600160a01b0316815260200180602001831515151581526020018281038252858582818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050604051602081830303815290604052805190602001209050600061095e61107c565b42019050600061096c6105b1565b6001600160a01b0316141561097e5750425b806002600084815260200190815260200160002081905550856001600160a01b03167f723a7080d63c133cf338e44e00705cc1b7b2bde7e88d6218a8d62710a329ce1b8686866040518080602001831515151581526020018281038252858582818152602001925080828437600083820152604051601f909101601f1916909201829003965090945050505050a2505050505050565b610a1c61128d565b565b610a2733611258565b610a6a576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b610a726110dd565b610abe576040805162461bcd60e51b815260206004820152601860248201527712535413115351539510551253d397d1925390531256915160421b604482015290519081900360640190fd5b610ac6611354565b15610b0a576040805162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b604482015290519081900360640190fd5b60008484848460405160200180856001600160a01b03166001600160a01b0316815260200180602001831515151581526020018281038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509550505050505060405160208183030381529060405280519060200120905060006002600083815260200190815260200160002054905060008111610bf2576040805162461bcd60e51b815260206004820152601b60248201527a2aa725a727aba72faaa823a920a222afa4a72327a926a0aa24a7a760291b604482015290519081900360640190fd5b610c04866001600160a01b0316611287565b610c4c576040805162461bcd60e51b8152602060048201526014602482015273105111149154d4d7d393d517d0d3d395149050d560621b604482015290519081900360640190fd5b42811115610c9b576040805162461bcd60e51b8152602060048201526017602482015276155411d490511157d393d517d153905093115117d65155604a1b604482015290519081900360640190fd5b610ca4866114b7565b60006060876001600160a01b031663439fab9160e01b88886040516024018080602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b60208310610d555780518252601f199092019160209182019101610d36565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610db5576040519150601f19603f3d011682016040523d82523d6000602084013e610dba565b606091505b5091509150818190610e4a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e0f578181015183820152602001610df7565b50505050905090810190601f168015610e3c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b178152915181516001600160a01b038c169382918083835b60208310610ea75780518252601f199092019160209182019101610e88565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610f07576040519150601f19603f3d011682016040523d82523d6000602084013e610f0c565b606091505b50909250905081610f60576040805162461bcd60e51b815260206004820152601960248201527810d0531317d513d7d254d19493d6915397d491559154951151603a1b604482015290519081900360640190fd5b808060200190516020811015610f7557600080fd5b505115610fc5576040805162461bcd60e51b81526020600482015260196024820152782722abafa4a6a82622a6a2a72a20aa24a7a72fa32927ad22a760391b604482015290519081900360640190fd5b841561100857610fd36114db565b6040516001600160a01b038916907fc13b75a5f14b69ebdc2431a5d475b3bff371abe251b5064144306fbd9c4de35c90600090a25b876001600160a01b03167fff14288d542bc1c1d15a652cb52af735f065c0c9d70b48e454a203c260733544888860405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a25050505050505050565b7fc21dbb3089fcb2c4f4c6a67854ab4db2b0f233ea4b21b21f912d52d18fc5db1f545b90565b6105df81611501565b60006110b682611258565b92915050565b604051806040016040528060058152602001640332e302e360dc1b81525081565b7f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d2541590565b610a1c6115fe565b61111433611258565b611157576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b336001600160a01b03821614156111ac576040805162461bcd60e51b8152602060048201526014602482015273474f5645524e4f525f53454c465f52454d4f564560601b604482015290519081900360640190fd5b60006111b6611695565b90506111c182611258565b611201576040805162461bcd60e51b815260206004820152600c60248201526b2727aa2fa3a7ab22a92727a960a11b604482015290519081900360640190fd5b6001600160a01b03821660008181526020838152604091829020805460ff19169055815192835290517fd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a295999281900390910190a15050565b600080611263611695565b6001600160a01b039390931660009081526020939093525050604090205460ff1690565b3b151590565b6000611297611695565b60018101549091506001600160a01b031633146112f5576040805162461bcd60e51b815260206004820152601760248201527627a7262cafa1a0a72224a220aa22afa3a7ab22a92727a960491b604482015290519081900360640190fd5b600181015461130c906001600160a01b0316611760565b6001810180546001600160a01b03191690556040805133815290517fcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d29181900360200190a150565b60008061135f6105b1565b90506001600160a01b03811661137957600091505061109f565b60408051600481526024810182526020810180516001600160e01b03166333eeb14760e01b178152915181516000936060936001600160a01b038716939092909182918083835b602083106113df5780518252601f1990920191602091820191016113c0565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461143f576040519150601f19603f3d011682016040523d82523d6000602084013e611444565b606091505b50915091508181906114975760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e0f578181015183820152602001610df7565b508080602001905160208110156114ad57600080fd5b5051935050505090565b7f177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b2455565b60017f7d433c6f837e8f93009937c466c82efbb5ba621fae36886d0cac433c5d0aa7d255565b61150a33611258565b61154d576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6000611557611695565b905061156282611258565b156115a7576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b6001810180546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f6166272c8d3f5f579082f2827532732f97195007983bb5b83ac12c56700b01a69181900360200190a15050565b61160733611258565b61164a576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6000611654611695565b6001810180546001600160a01b03191690556040519091507f7a8dc7dd7fffb43c4807438fa62729225156941e641fd877938f4edade3429f590600090a150565b600060606116a16117e0565b9050600080826040518082805190602001908083835b602083106116d65780518252601f1990920191602091820191016116b7565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092206001810154909350600160a01b900460ff16915061175a9050576040805162461bcd60e51b815260206004820152600f60248201526e1393d517d253925512505312569151608a1b604482015290519081900360640190fd5b91505090565b61176981611258565b156117ae576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b60006117b8611695565b6001600160a01b0390921660009081526020929092525060409020805460ff19166001179055565b60606040518060600160405280602781526020016118016027913990509056fe537461726b45782e50726f78792e323031392e476f7665726e6f7273496e666f726d6174696f6ea264697066735822122091098189b40fd48be3bc8fcd2d350c270e3ab321f584518f0c99845046afb14d64736f6c634300060b003303b55e874502a5afa5c3fd4bb02f13c041a364218977eca63be3a584378eb15ec703abc6d31d4285ac76b866bf6dcca422b719578a160cf0fd0e8a693b967cdab35603ed77311bb77a7a40ba804e18a589f70043eaea3ee9b07441c636986f09cec2ce031b2ef1c9619f984f77e894152f3c701710dd56a569b92562aec3a707890961ad03d90db75cf04aca954256bf771e3f0560706a2b77412d78b4fcfc18188e9b83d803f27b5e3bbabcf50628a027a0d39b1d37298b7ac3bb5901a75de574c92b951534030fa9cd402ea1fd02b6dc9e61c1f861e2893c744d42db83170f4e2044ebfe6a42030141a67c37538e31f736cbe2bc199e2047d6a162d21e61933c643fc4dc3d7bfe03b77949d6a7c633cbb9221601ec95d4e7454067410ed8d24b6506a81b15d97f83039512b174b6b756484bdcc07c82002541f74fa4d730d935f694c492299d5dd68803bbbd19951e7781eb1d050b140707f7d006a28db174da9c70dfcc32550edc83e703c0c1d820ce64aeee1a9fe42dcd86ffb4e5218eb4b27ce61c095176ecbdc9ce0f030bc276f73a13c4e7e0de26dd9781ce16b41633b54116c586cc77b30b694ce1bc039ff092ce57928a4e8c30a6bdab6eeb4d8b27f7585520a4e178419ac59c3fb66d03ee651104d3419933ad3b48fc479d7871b835e6b7f33883c5377f7685cc9c8dd203daa7fd1a7c7f53996fa90c696ba239a5636abf19fdab50f775e6764fd4082de7035790b000fef7ed3285bc7c48de88728defd6facbe3fa30498c9a0f1afc48f63f03ee8009a26316cb2b76e1d92c4e7f443cf08803ef9fbaabedf88b76b92063880a033f2bc7da4d76a1d942decd8c734f690aca94ba032542b3dedda3dbc7eb3f6e6303998f1414efb33b24d418880fc674bfea1578c3c5517d48b7678588c6d644c60300581f02f358f5632db127ff89ab7c34a346ce0016a4d5ca4c377286183d38d6eee9545438cd4d990073506223868da2253f96116ca0fa00581f0207a8f93ecab54a7b3bdd17175c999928fbda5cb66566d695b5a3a3aa97c8543c4a0a5fca3e6100ad7f1c00d285a0440f43b4a200581f024a9ed4a1038b8bc88e845320eaced92045df1ddbcf5155c0462a992cf84954b0ead913a824735d7d6bcdc3eb39cabc1319d0af00581f02047ac76fa8b2dd8509804ad086a394c18feda2a59254c40ea2931809b68c5411efaf6601bfc5b2a8de7823594b6a157d03306400581f0269d02898b98632265c5ff3d7c72a659da40c99ab6712e7ce69269b8127d654ffa0d0d3849cb1a43aa70596a64ba146bc33c24100581f021fdedb46d8181b64f48795f379ed3b631d3f895eb4c23f284a21b10c117e544927a2a3ca82bf893bcaa7fcdc62dfbcc0b5107900581f03e82dc8604716bb5772c75a58046dcedb8529da82da9b1f0211fd555df650546fda99052400164e0960a21df3c373feee6383c100581f0354fe5f3df7a01d3b6b6ea0ec74d4212b6070ce9f933b75cd3a51c43541d05410c983110e64c972488d2eff4927d4769741b1950219020400581f029614e852c643407c13ea95395edd05faa5b9f5547a80e62e2580008262d254b14799d571a401dc068bcb5d1001bf460efc3862038b3ed03d1efb72ae274a184660b641a4690724f28f1c5118f29f2ef6519aca3800581f021134ea694f08257badadded388d4a79b6ac4f0fded6050afd66d393b894654317d839423dc95183bd1d5bb36f326f1084888d400581f02553da55e90032c0580313865f61984d45e985d1d0655d33e649bea9d0b145465abe3c267da53e490db7576aeef5649308745c00219be6e03b210a76f366327a52011344ac47ce2f0d5b8c7b9ebe1c293dcebaa5af21d867f031a8596ae09e94b6f89c6e8ae2982535d8256fbfe5cfa0c59b6e0b840b97caf440219ffff039a783000ed75d5650918764126292449859f684e3048538b8009fde56ea54f9f03270dcb771dfc25fd4ba76da92a931e76646ab4bb2e9d037bad047014a22dfc98034d53421748117e0e1b508995d6a74b74c1f306235d1a4c20d0bb1d731f5925d603c1eef5af0bfc43cb99748345e8d0d66d1cab750c02819df516799cee5ec0b7220392f4653205f2976006c5b5ed49fc38711fde59f94376bafa8beeaeb8e56d1f78035e94425bc414e5dad67967f229dbaa503f2f361bd602bef060dd2c0493b7ff09033fd5c2e3902dff457b68cf3232d677300bb5c60e48d0ef147dbeb8445f82584b03762daa619bb9dece37098fd4d1ca7b1836bde2372af69e01349b3f6a921549350219ffff034bd97672ce40c907246fad526ca5ba5d24aec8df95eeeaed9ff5c4681ed35b2003133760c0667a3830e3127b1a1ff8203191794c862bff2c850b25604ee240b1dd03f539873c4f6ed7351181214f10c613619a24481991adeeeb1595854c9ca419c40320af7e203cfb7a24cf63f43e47afac5870f6ae83c1f8c86f595523ac1ffc775e039563485bae652946c808497c1b989a38ea6901649a7a4a937c1072a975c03821035cb12c0a1dee552c91d9a0be6f896bad9f705ae94e1377af3e793f7c21f0e83803b7b4bfa387256794fd74179145cd8b238371bbd4a7afba58ef1b4087fd75cd9a03c99b9054c7005787a13036a7b12b95fde9b19db4d647447ffcd212029cca0149039640e2b4a1dc0e10a254962bce346ceb8b8d9345aa4653c81a1b7777660eb9f903865f8f65b0d6ba9c5be98f01fb22d2c5bab5444f34467e5ec60ef22dfb9990a803bc7107b3597ab375d9511590541dc7b5e30f66f0254a4d8700639af6a02d8834031e22031208cf355f41dc5e1618c3f2503186bcdc001b5028abecd065afc8c57c03b3e0a6348e6bdedf004daeaacf3f4b2277568298cddbec48cdbb6abd184ff6630366f8089d4496a856449f86b861bf020ec4a88009b0c7a30a25769cd038bcc1db03bdce62886e5f8b1f14b138e7ea88e7ecd0c24c3ea9ef68116727bb38094b543103354729d746daca0fe4af7b6016607cb387455addad1d1b76c3af12b76dae059c039abd701757a2ff8b7272781ed9b6ea845de85d6085cfad14d4cf047474f2012400581f0294989349e3aecba6d836456f0bf6c640c1742205782e24fafd694af3384e54bd81eb43d2aebe0b284fd7a03bdb59b9d142d2cb0312c2cc4adbac46432298237ec190beeb9a2b77c95c067d6c7e595a9ed9a26a4000581f02ace5c8fb0df9a21908f77e6c77a8ba3f5afb51554f5778ea283b221af72e5446ee371ce53884a4c5a224b53da03939785c13ac00581f026db8a3ac0fde7434ff6d53810db9fd64fa4d2052ba5003f93d4c1a5dbfa654e6b9ad6db51cdaa1565c37a960aa6a24889cf2e600581f03b34c9fda0c0384e0d5752da068556f8f80fa5c1a903f6c3bc98de82eac30549c89beb732837885be5a4b08f9f887dfe241aada00581f0378d0d0b58b9b805be73b1366e13e2619c704a899af8a82e8a1a615e87fc054f34f0254971a7877108448c476cbffb0daf1a87c00581f03bbe6d52c4164d81469ccd1ed72eb1a0fa33925438bbfd70ae4109e5e963041010218e00219e884039aac6b025f5ebba7851f21f45c0e773205928ef0d5494957c29d4edfd7f332a20219ffff03f796bd84dd257f1b2f0e4e7eb65cd051728a6bf93a233142189c03ec946409db039276839ba14056ab444dca147ea42c205fcd6f5d08b23920352637f41201b736039c504c909c43765ed0a388bc513d6a9df1e567f905e04e03c4490a879ce9c2da039eae763c6398a236ab30fd4af6c4951b58419241e0c28222371d786a670a9fc203cf292255eda3cd2c7ad4db77655dbb5366002505295bda2f56b0d5b7268dde1203cd87d9c5b75ebd2c27cc21a2cc0abaee9977fb7b56a73a29b71fe3b8a47b069103dc46ec42482a7f11d825095ce0a1d795d3f260c82fb5280b9df79d7c10b0f7b80331284526edf4ca21c8b72c4f617c5cbda0addd6f3e931318102ee20f594a4371038714424f79ad3be50dd7390f2d8973c0f290b530f7b84b7475beb632c597ac3a039201eba2ff081ca75bbca6d9863fbc91101c0037871c73e8f7d22968391a3ea4032f309c32d289e3c97473859d015ae3a6f3521512b1240b162e2a8aa427974271031e708271ac9bc8b2bbe6c0487fd171000085f5fbfb97842886ab180d02a339580375333a8caa83439ac2dc071330b30e434f711225180f2a699a7f7cad1f6d27b2039912a70489a2cccb6825b3c435e3f631e5ee97a8c2e7b25fb7d3c15bd70400f30333cef2f85ab0a8add77c2db5f0358fe629ec0a183b969a215f806c3fc0c7abab0219ffff030fd57e5554a0999c71c054ed7cec29a659d4a566203ecd7c9f6c14efd7c08cd7032c9d86dc112e30c5c877dc4e5036454711dd02886fa0bf49e7d98d342c4be366037350a1956f547c09aec23f6f71ad2a480de92befbb716e90464aed0e6418cdd2035b358ead44af10641d26564c23ca211eb99189dbe8005a4deeda6630ae9c212a031852e6e4573c18e4558ef7070f2f6157fed24db37b6f14a6ba1d90394878087f03620cea1ea283cc6b1fb36de91bb8372e08aa73b0750108229ff615d642e17e1803a58e079341c53af94ec38b4c8b7bc3b99e1333b644bfffb3d40bee5b50da4005034182da85145915787beed685b8904efaf74f74ba7ca653338a5772af7d3fbce60382982eaece927f364e4cc8e626b6502dbf9c82892445f463487ca969e6608d0a03b6c07580bc6b5810f01278527a995b0df8ef98aa18edad654fbcf231e42b2fce032cbd2e4e401d8b8e0746f02665b587665842040e7c253a5776735ab91e2642d000581f02c0db4809e36d3c7cc9367fed9ec4cccb9ee24f35de57292ba8524fb1acac54527ea2bcc0d588e78624a1f91a15a348a905775600581f027160a3e9c8abedf010956c133fb7f8107d34b542e45fc3ecb9b085275bb65448bf8b5f2b1d38b24b592bc348c8d49c160fd0db0328e6a1444acf547564451539843170742fddd7137d02f1b0b5cd3b166ce363eb030e3e721faf23f98c9f53e1d1fd7845d7553e8232a0f94992230509dc0e61834100581f024c73c30efca12db5edccab72239de419c1050fea9fe70de1004bd052427f549b79710956a130b3e5b10e8fdf2cc6307d0d81cc033620290c229729f9cd43dc23df7c75aaec3455d3c3d9929d0605b70ea67af3a500581f02d67cd3bea2c50449af04247d3abe9be509d3ae1161b9d02e8606e82303dc546979b1d44252babac97d4347280a0638855febc70376788c114bec37748eafc607eabb168c81112b0ed69578aa6e09f9814ba8bec7039f8f9cd2909f9ee0fd710b0fc2f518999dcd0976f8ce6796374c268767ae34b4021952f503f29bf46659bf3bd2ad2e63b941dd2197bc990e3a17cef4fd24abba5da092d7c603a2bbd426cdd1ca506373d261a59fe5ff9d37edd9ad2591c8ac4b707c42348e83037d56576c10e013549073678a60156a31a2f1b428ad1bbf1267c99a64b4473f6e03f8685152332f8b597057c651d4a70a15bc104ce6b2398bc7a0556f0c5f148d57036e13808e02e1495c1d58fabaf65843303be8f1fe07adb23240ce55c7926b206103524b91b1c808178f4c2d3f55e0d97f15f761e5d784b9b0c1527bc29c1b8956400316fe18f8e6b20c1b48ec39e881938a79a8e76850651fdadd252e46fb3a59f7860330beeeea1e1e368e8bf26beff46bf077bea1d16968e7ab15104e79bbe066c3f70366fa363f369ac4df6533ebcca4f28a427c0e2edd3140fcfecae22fef6bf34a8a03d61a1aa73ae03957367aa5ad0890aee93b71cbf0603f7ace739635afdb6e07ec0391a935b51b680ef1e3ffb9952a0cf3f1a1308106cb7c425e535bc3842182655f0219ffff030983f8826bd1310bd201dd9bc80b18958fb83bfb9567ab81ae9ea643d99aa10803be4df1f350f7e69a9877856ce142a8e52068e651ac7fe447f1fd84a849a807e80355d20ee3fc8e3a26ecb77be455cc27717f197aab1c476a95390f712641852e4903cdacad89040fbd5d43258f6f3bee686b11bf0dcdcdf9a5fa749072ac15e9a1e4035a47bfb0f807c68db22880cc4fd60ba8cad97cb6b074145cef3ffa8997d904c003819011ce3ecb3e329e05f6e8f3ba3d445f2b34c31dc0f91cb773db714eae14450380a9d8744aca107046f4da53b201122f59061737abc40a469485b02f7f8e3c8503a547f727d1d065b66a22c2c24ff7233c22db6629e0beffa74a3bee46817cbbd00315f830e66cab7ed6e9809c8a5ff5cade61ac80db88ffd48ee6cf55b88a50ab7e031bb2e18af50fb0b07d61efc9cb54ca385e4ea2713f8feb323d525c0106fdafe700581f025bd008c1b82e21156ba1bdc61ec3d8e08637e68aa31a6abcc121c44ad43554135b38eb26ce7956654ffb324df4173a96fa5d8a0312435f2e74d43dd4147f9350ca8d6f27221ed9b76ea804a779555e95842c53ef00581f02bd331130d7bcbc42810daf9e7c7d1a442feb54116a6e58b196591d4cd0bf54ea8154d39dfa1a09eb14337d3656ef58978df21a00581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0543318074ad502b7dee59463595fba22665394452200581f033276ed0a7f1e01edee979b3e475171149a2daa9459acf7250c4cde3ae0f0548d3c864b2a285b6e2cb2f8367cf0e7d22f7b461f02190c0000581f02b3c9fbbf124fa3fa8712ff7cb632f67dcc7c39843f47d097733eaef0c73854aa2d016bbf04ceb64d5d50f69ef4b39e27f24e5f0324ef5b9c82882a6ab48be5fa577b949915127c257c8913de61500fc2b5572c1000581f0276f6012752b2a0aed4f5bfafbc10558c6c4af2e6f05b4de0ae44434a75e1548e8ea1415d08f3edbfc2c468bf2cc0061216dfb20335b0eddc1b2a5c28ee243651932db4e642fecf255a635fd320ef0430e0cca89b038881dbde305ef13f4d1260892f79bf6298895fec11a5d0d3015b492644c1b8d9034dc4403199fa11ab3933445f206622075ad4b5e7583de7a9f5195ee8343a660c00581f0232b889e407b2418ef7a329b33d5bf5644217f0b7fa7cfe34196ded69ef94541e4cffcc201c4bc50b2b92a71bbec4960616c4a2036b721c2b03a4d709a47788b1a8b5d036df8a3b5d10e016dedcbfd487d1fa52a600581f02c59c4f2abc5a32d15e3450a721186f397ecb04653f11045a80afe9c7b49154b82eaabe27469f2cf48d05044e367c0d4ace1b400219ffaf03cc6bb581f6af99c65a6c31d6bfd12e8151db8ad31f916cf15de26e166f13f2a403a0e6f6d5b23aa90a43e07ed234481f3fd1e80614fa46a2bf7507c0ca9c6a9a8a03a6cab182cfec203ae76406ed7cb7097ed1ef9e9a0961555e74ce25d426024c860380fb378f433eecbb8ca6762e2e76ba2c83ec0999be4a3882f8dba06c5b118f2a039862f63f212beae2535287224dd1514480d6f154e684a9138e899488b25d87650303dda3b5b76940ae6cfc03c5904e667fde53bc38f217121f0fa051e44c99636203a4a4ee93a6be72afd73bc2c4930687d8f1becff0fb490f23db3fab3443e717fa03c6a148945de0e70d1f8b8e6c12e19e46ae50be3ea2d40e008ad4d4fa6b0699ba033d424f99887f6e7f56ef386db521169d4f9bb894c97025eaa0cf5f7c8d950b4f031765ff3d6f0202f501636a2031115c902078bf80177507baad89cb046fe5c0bb03b86e8042bb18fa22a09e4daa4c08cae9f83fd672bcabd96840b0bfc3b3ca8def03ff3fa9c34321e986cd13d90e63dbd2688bac76510524bd8e41a52a43676e831c0219ffff033657c0267d37c763a44117b32e9ba63ecb2bced723348b346ef3e7568bcf2b2a03da2756df1428e791999ee4c31bed1d50f2dbb7a26e73c8558bbf1741889656b403c4626b45ab5719d7ea8f5f9c5521f7951d198f831bea48f14d6e946807c7c09c030b4f4efea5d80c6098b7f7b7a774ad84631e66ca5c8d644c9bf6a889b39488e003ced818ab867c838c8eb6e125d020b8e0b59243fee31f9b0c0be066018ec854710219ffff0324b30c1172ea983e12d705251dbeb9c2ca86486ae95a4c76b84d7060f4cdaaa403deaa45dde63caa887cc114befcd29900df435a89a7fe443ac5aed97ae8063fcf00581f021aab368889f23be6be3cba9247ec89b6fef6e6f391455e19d66ec337ce3f547dbe7e15213f27a21d90a51f02d8508ca95d253103999e047a5232051c08da3c9a296ba290ba9ce7395ca0383c0b19695b7b9912c600581f0397b939bbafa6e2601eaaa3ab6777e0bbb807a9625f88809dd90f74123c0054867f52fc8248be0a061e8583cd3de86579521ac700581f03a9c0d7ceeab5418dd65d6e1ef243028c4b58fd23450c9c7f52ae7c53a870542278340a10134bc8aaf03bbefd9eb389662f213300581f03fd6de09779dd41dd843c6168106125729c7df8dd522b91f96232e8c15c504502540be4000219020600581f023ba9c188753466d6bcd8504702bd460000e3db7e3fa3d5213861678790a8540d3aa2fc809ebbb10badd10cfc81c3642f4d137500581f02993bdffdde2caa8193a3c2070eedc08d6707fea88988e5436c700978dedb549b1bbbcc15c1bf960990cea2c5020f0215f2196c00581f02a82de49860516297aaafadfec2e3bf9d083d212a217403db4f16d8f0ccb2543c15b451b1f550fe9b39a3aaca7afe8e8300cc2800581f02c3c19ecd91a92b555149099e50edc7e39b26dba83d450597be1f9e13a79654a1b3df752046f23290cc7f3bb1d6385ad178ecd500581f0272f99800c3bacd04758b1d65ec44280b1c26c83ccebcb77cbc0773e834935418b4742aab17c94ab6fbbf1ddcc801185155102e033fdfac9fd922118627cd2ee15bc1148d32515502fe4129a874a41af1a42ee21d00581f02cb28d560d51f70e481254ff4954c69337c7b8d8fe9bbea74896f9ad7bdeb546f214dcd45a2b2e851d0b07c772c2ccbf4a0b23403a53c41735dbad24f2f265d118e7b629b1c817f2db05d5edf4e67eea5c255149f00581f029c240506b70171d85dc848faeeddbce41e05a30dfe9b6ea5a8737e0afc2a5448351102aa3d9422d136b89ee4217ca0a10c697500581f024d68511d5a2130dd344210cf174450dbe79b38eb3aac9dc7176a1a11916354c07abe529ccf39ef732573ef4f7b779f61716fed0219bdfb037b4775b26045a933c813bb1f7d6a8541f5e63d1a00f6b1a7cce049cd80671800030f9c9fff1b43f6c80ffee8cbbe52795e630fb0ec910dcf20b623621fc29f6da40352f6c836e2e2a79daf811e175ae27cdee299f37b4aaaa85d33b9b5d52ef3488103afa0d933d73397bf51052712b59757cea65f22c6f6ec135369b57776ac83a73c03a305173a9b875b8dadbaa3732f4c1133c595e83129abc7b7075c17c529ef6a0503d754883351f896ba19c3e884e619edb6315df40738451d373802a200d7feb2b803e4ede2fec8ef85ca915e951f17e945ebdc3f33ab3d5af3061ad12c7b78144dd30375454c36ba8f55468bb5c0fde274a25eab7d31f5d868fad207275be63846294e03e282026c412ef8add4f5c1235a8edd15cfe755424f5936ca0b2a8f4cea5c5b3503430545efddc15a1cc25a252a734186bb71d6fffba8ec2f3a0475d7439d41d5e903d936a78365f93d0f75e872f82b2eb58e7e0b76db64307a0971a2149f5806ccfc034056e1b55671644fe1e6db626d8206d1d2f7719595f23fb938c0e064bd58c73603c2b64eba39aa7663869ddedf990c5f9b9b9cf4861886554d65a10f149326e4c403f97a631d985d4436b8d320426fde0070468cfa6b8f58bba48f81f37fee8276cc035003b554cf53e08b106380ec7eed4c9887a75523a869d10a7173192bb252772f0219ffff0372f9cd789498f246d0ebc5b050729e0f2dfa1b55d8b8a9aa23cd803dea1106610300716e811f90cc13efc6a536cc8fca2dcb4cd9660ca960f7d422f945adc43800037f958c5dec93bbe7341b9ad51413f2cc3cc0bfa779c52565f6138e4cb2a136c00362d24a67746319e68c692b7f67fbc018211c8a6df73e2506fb1b59c4207cf39903ff6152468b465dfbaf4941104f756beae96f67331eb0829db0a0d656cd9eea1f03154582872eedb66021bb0fa0c502d40750f805ed5346595f2f9e8c56387cffdc03f23f7bea8eaa3b4a98c0df7023923fc68f66e91c15fdf0d489489440d2f5cca803e756e10ea7aa9c047fbcd1a9b4589d7a25b84496cc4d3cb00fe7c3219fe90fbd033701c855a2c2a6239d020f64375f829123cc47a74e4ea359b90e8cdddf914971030a5aa0d74a4c00b588974cb09eb12d5bc7bb123e4a0175df6e8b991fa8a68b5e0381a95354379e2aca292b4a4ec5f4ed9d29ab89e008f93417f299e6481155c1fb03f9de4bcaa315a86314709e8bcabbbf4d4bcb41d4560bee071549e579072d462203880099a0746316ccf19e698e8806081393ccb147d5ebc7f05cd2316186290bac00581f03ed2499ad29072e951b5cdeb81125c86351e3a26d65a9a79abb0d416aed4058208322fff20000000000000000000000000000000000000000000000000000000800581f03de85bdd93aecea5059542192bb68bd27cd0e4ea875db3ceb1244d419b8c0542aa5bb070120af865d8244547152aa7f87e993b3021908800323936c6c07443929ce2b3905c38e29c1e4085aca2b005fc22afba30d09dc7edc00581f02be58ba96fc11158b6f99c6c7e94a2838331443c473e1f26c2ffe5e0eada7548b4b2c5aa9e1a980a93a99750e64bf02abe2228a00581f02e3f6d04676cb9647d79f0de800447d7885c426f43052794ae1b35db596a054647189c878eb6e0c7d623b1048bdbbc957d3158700581f023aef9eb16c651076310a67a47406df79a0b555f26ae7fd4e4ad0a949424d542df016938dc4928ff136f150fc72c8a0b1a61acf00581f0257a01eba32eb62dba3e56340e17aaa7a6f666f16bea2d075307506dd315754529b26123c26b2926b49d59fa24df37588fa65100321950aa6165b503df4c727b05c7c9a28eba75dfc2ab5442fdbfdacff47bac3ae00581f020b345650fc425fd14aa61e1eae6b5c31ddbffee2ac870a65396b00ef9a72540bf5c4cdcf51acc7897806e1bfdd43f77658ae7b00581f025d16c3ca9dbd557481078e1dc2d3c8456040cf740cf8bdd7718b701d820854b6955f341510dd0137cfd54d753975eb4114fa0102195adf030423efb97884e3278376159fcf1afd6d53064b8a0c586e971af3dee5e830705603f8809661631cbdada39de816bc7d7a28fecf9755d5f8a4f14bdad9e2b63dd9aa030ac6dbbd5d6a608037ab6a7f0a716a8330cc0e250f19d403af3a5122f0da3ee5033793aad0b7db7fc41b053ba8f3eb86dc52755dd0a86cb2ecc91094421ebfb5d50354c527bdca3db148e6307e7b6060c1856d7023126911fe45de678d6a860afc27038d218472fb20517eb09b6311ef7adfccd5a14887d2c3a7902de9b5e5aa24af770219ffff03f54401bbfccd994eb9f0ba33f9b333d8db9114187c19893bd73464159277c807030236deabf52a38369e0e9ccb4292718e6dd391cae651a7d14344ea23ac767035035d62f4aba8b0659493cecd1a3ae704f4357343a04253d4576c0ae69b9141abf403bcd4e319c9b7c836abf0eac6d8f5a39d95f922ee59386fbb97ceb9eb726b9605034f37fa2883268ca7fdac4b3b6af5c810ff74370b9adae87ab278da05970967310333c193b8d1886d987d7a32cd5f338151c97551a23794a9cdef476820d7f964a1037668fb3bbcf32e9ed7f4336d6b928d68a162f8eec09c4408ed4edf4086c598a8037fee3c45ae30ded6224824be7d26cdf99f254f1614ae9547c6585b47752567ae0395495566edb48372764e38e6208299df21d2c2ccd8519974b040072c0b6dd68603609f2f0c28d9c4db21766396112dd26f52f846e4291f38d1b7246f33dd01cd4903da3651ba1e14766c29fecd572e8acdfbe2987a16174e3da9efc58a895d3b505c03855db015786c243422da5cfb1d15e6c3b2592795caf9bfb526587a6ef6c015b30219ffff031aba00e52b778cb8e3e48762341e9980331f77918060cbb41dd781fb1e061bfc03cdd5b86c0b6da59e6fb87d2f92c0584a2484d120bf9d6c74d0902f77b734d7be03c1b2b7c0df66e47e235177226a534645c8c76baf06547a319f3d117c8a00d36703d7368d3dfe80438cbff510f3c70581ce52ea42795a089cac32dc32447a23757403a1a035af45865840ea24c780edf753c6de1460f56ec2be54a09a5a580645d251032064101991a31c66f5f814991771c3ff5085957b51d9a7866d1493326748cbdf036bfb73b631dda566100db5b5c93bd61369a750b41a8d655ea10f6370f31725430337acb9f69cdb778d668187848ea99a023125d0f59ae07005dbb0c5435ac3344903b89e860cf0cae7a5545f99981c97b0b1971e1bdb0575f2c716152470d5cd5d89032a4973fd2f741f16067dd41cbe903c98a33e1f869c54d799f9db3ec165a07ae20388184f88f619fcfb46636f5de8707129cba21f1516bb5889e620b066e607cc040383e07c3163d494fc6cf199bf798b87989fd5b5addf2f8fd757e22ad81112697f03205cd45c42bd626f238dab9917333a0c365c22152b04018dca0d61a6144d96810308cbbfa787b5016905d994b37120023da539adc61f994a432424c0c8456293f203bdbea6f0583b6ceca067078f5b14f1962227ee4d312299c4aa38237fa39c090603ae14d19d5c506270c02dfe43ad1b4e273e3f08ee1463c90ea3becb29a2e9601f03a9b8e871a80485b10ba38425c808888f68abca7a52df2d098478ed5726615d7c031e518a18181b0cf2dd4e14392ce772cd5ca19a6087252f1a3eedb43927fd780e03c6a3127e8007425b835c7b2e25802e89b770186c20a6184e3b8d53f76d4d42b5030f3895e76a73380af34312e69246bfddab529187de6cf56c2ab745ab39e76e71031ee7ba4e66a738e96b72c49d4f7587c7b059a5fcd45a897c8d962608e64b1e3900581f03db8a84b66f22f0c149f2b0674bd125bc0a371727de063d48bb7c42e0867054035b14a52ba8e98de3dae761a6d44aa8620179f000581f03cf6d8c9e0ef1b61a62799b7eafecfac1ac0da968b8c755383d15090b639054df2f24751f7e84ccdcd39e7b49904fab0fb0f5830219080803b1c3f16fd9d20a0cf5f936f986894ec7f8dcc09bba55ae1b86ce79b6aa47309c014103037694d8b6f974b613d83feb2ed2668a3201861b817b1e0de412d2211bba9a317e0303da93ddac106fd0bdfc1c82f88856ab0e35b616de641eed4cc02210d57041a100581f024649989adedc1c068fa33de45f61dd79fbb77d155f75091c95f8203f2054549d770fca4ad9b5f3e0632852fcccab40431eedf3031c7fcafa01e416bda3a9395705e3c9a013c4b8a13b6076773e1819932886e39a00581f02651e93cc0e2cc92e41377940f80b37074835942f959687adf05c3e6ae37154e3c3f1e036fbdf3ba47f808ea64ab1699d532e3900581f02cdbeb7a4c1f5fb603cfad184ed6b1835a054e3faa02316ec25014876ed37542b00cf80d2ae36e19248669ee6d264812f77134f031e2bb6546744d0bd5249336884f920979e822a997b131ed449e20507c9afed4e0219f4780345f506f3bf86652ea214ff66e42e4eca67d6bf0139dfe32642bbddccdd49e61903820e2bc79ab318a4027d5318b1db609787fb25f3a083c606ba7ec82070d919c603a50f5a6f9367a7020d5901a3616a586143731a75d78a18d6224f722fa4bb2629038d56bec45bb86fc58c88ced99968e176b9304dff7f1812746fd02d4726ed8149035b9116c07ed2a1c6218c211bbaa61de9f0a6752172cf285960cd149a594e22bf037f72fde7bc33cb55051cb69b83200544ca5aa84fa915735578cdffc7134f567603300da1841269e734f54fe69d4efcfd5b9de203c4035083e532fa6285c3bfb7da0219ffff037242acf8448c23486a79c06be4de2481ab4b1de390378fe2f97023cb0d6be9f0030988ddf00bef08f9946bfee50fcc59795a8e6174ff97a94c2184758e11da6a0c033eb08a0c6d7964fb13b150e2015cee9aa766d1e571481d91f697e65f1f1524ad03f35edd3309fed505b966652560e6f0107164f60ae93856c21e8c7e9788a1aab903f1ac894f024f6322d183a95d27bc418a36a2639ebbc28f215a40cb6f8e904e5203adfa971d0ca3280ecbfeb4fdc41a1539ce1d5896b99df334c61c2e7ad666d2ca03fec0fe800c4e3da6bd38aa8b33c1cf10fea449056b0c7332bbbe7e4f9c8469ad03f027f13e5ebf56652db6043ee5e43ccae1beb91dd1cd8f3b3b0eafa4ed0772790355104d48b720a81f6ce8bad95827ce657b5328fdeb46f4e888ef84d753e708bb03f61fe5079d43d021d2b55153d956e9d8c09c97516f3dae6ac7880b51ce0f8b5603aa3a057a5334fcfcb253213cccb6d7709772e4464a7102132940bd6157ea5d4b032d5b6f7b1d088c736e488c1c138c68bc5f1ae8aba08a8c78a281421c95895d7300581f0295e4c5f445baccbefbc43d41625102cd6ce883907779bbc4feca4b7dd4a2540c7775bcd30c43f02b1c6669549b34a0d76aea0e00581f0234ccbaf68b52e8847a2e26af235d3d3fd759d7c4856c21d350f57789f940540a65c215a47e5b54bdd8de5619ae3d5f7739580700581f03cd5e95c65fec27cbf4d09728ff405426777ceac9b4242630742ee127de10542dbc18a3ac126abe1ff90a83bbc3947ff7912afb00581f0374393a0c767d197b050d730f0bc6d19e262c00abdfd9e8952b6829336eb054201154bf6e62750619ab217f05bbb22e6dd05f0100581f03ab651d28d5b74bb70dc485ac787e6c110d69fa6cbd6be198af8a5b3a6370541900e87957dd186c1d74a65b3dca1cec5e717d540219101800581f02a346e21946cf37eb74710825a2ae6621b251da9f0311c0f539745bd3d207545f28c7c3573bfdcd59f8d7f87ad1ba6010f168e900581f0241101ee8eaed6469dfcdddcadbb05c8ec1023144a3ec4716cb71b25ba27c542e32c4e08402e6cb57329038765b752d09eae28203187aa7587cf0cd5a25f9c5a77d538c26919a2b123b70b3f63e8210ad36d6b40500581f0252b31195b9798ac60247b22c0bdcb5cf889fe5ff1eae290e72f48f1b0f2e5477f20c95747b47f1945fe8b476c1cbeee7a1b86d00581f027d9b5b1e340aa32a096686356e07e1ac81da621511cae388ac2d8f1aca30542a76ea351ba70ab51654b35d42f58d2df73f57880219b2e7035daa61deb6f971f3b2bb5de3312394639985f8d0add8d36bc4e4d07b10998fb403c9f65fa8c0bb1b988287eaea8f78c791acde8ea196ece17f02dbea6dda52c814039fa1931c7efad25b831c8acd4f0b75f3e79ff8d6efced655b024a4ccc4fceee3031f40806b0560ff9d6b25afeb1384d659d2a2dc39446d31e3681efb0ed66aa78b0301304a68c3efaf1af9f33f4ac36d76cf498f59a3a0c712c9c0a35ea15ced295f0219ffff03d22bec456305891781157a492018e0c237cf3766819669e2382911da25dc22bd0219ffff037b8fcd7171989881b64048829a0d11fbf4ed2378ea95f8b3d2c5947f6aa79d1703ee7db6df534064efe68619bb7a15b617c7060bd392a1d14e2bc72cdab3cc265e035828401602acf2c942a9b9551e9cfca10f9ba523358fbefd4746855ca4c85b2f0219ffff05581e03174c100f645995c2d90eb7bf5be032585662a66913c32fb5135397e4600f014a0162d03ffa5070cf100019185d05581e03dc46ed9a460ce666a425856487c229e1114e5324d4c28fe156adb757c00c024733d12ae69b1c0005581e037532b2226bc91b4c87fff2ada7e8b4c84e80c20cfcaaf2c5c2ba85f0200c01473f56907edae18805581e0378cd4ad4e911d1f42fa749d875cd3c71b632b4fe8b8121047a9884a000040105581e03d3ad191021fc0a109e33428e0b7bbbc22c7d23a80d02353acff3ebebb0084786051c24fe325905581e036398600c321d12eb600f242602c45389e0ce2ca03fd1097c5ec7227b800c04473287be3ea3f00005581e0353c4837fc872238acc275d546c0d646df9cd1ee2ae092afdf2919fb5200402035d0e02b7c9faad15964e6a999341bb0c6a2e60b4c8ed762afc45fea65f80dcaa05581e03e7c282ab5572c5eaaacbd76c6607609ab97a5dedaa11e2b9b944182ee00848016c6ef2d3de16a005581e03cc7edcca4909ed0cf592bd005ec1349721f7e9036b7056e9212fca7ac00c0346ea95497c75800219fd750391daf67f2aaecefbde1ea149c7e301b2616633d821980ce33b2a02b05766569d037c5208584cd4ef6a1f8d9b61c0f3ff0230306e767eafeb4f0dd8411e182a72bb03fe91030a6f39f2b5d7aa98637b6c3e091eef34ed11df3ff3cd2e4ea8edb14841034c59a2bbef3f60021a0c0474a8fbeca88706c5b2006de39da74912e1431db25f036dd0080bdae849f624fb8cb7f1eadac9573dc25e102b29aee0e9f8b78170d5580219ffff03b5f2c2b7a30f89015e3ee376d86fb8b9323007003a2787461c5c675c4ac7851603dc6b949a7141616bc4eda21edf2b16f96a402fb18e159ffe2a1557873fe530fd03563f42afd6511578330c4059efbcf1f65d7be188a5c107eff3dfe0220c90827e03ac68b0f1038035baf40571e381f83a5ec5c22400a6de535f866dd5ac26699efd03d43988e474056dcf625380881f5c7040e6174547abff7194bbf382912933ec13032fe30a7ad4b0b6619d300ebc4a9354a02cd6cf247ae0a77319b08c3211fef30b033b56709f24d4a841ce1438d6a83224f2eda51160273944e450987a804b62770203961f8ad0e2e5967edc509316799799a9da208c8ebfd2d2a2f8d21ebc6905d0b403729aad77ccac48018b1c190ed8bad9de5916f3ce5be91cf234d11756a14d359503ef42c6404b2320e1ba3b4c392ac04fec3535f0f683f7b29ac599fbc980d734db03a709197420ab1f61f26abd4ef04f28323b735c2c36043fd0dc7a7e25aa0a982e03baec5f2fbf8bdc7a813f204a06aa44f97f6b185b872b98c5b8e1257af8cab937038d0ed58420dc2a4d906145ec117d50838a62c0e825fbfba558bab3228e60bb1a03e970b33dc9a163001e38160fca361c45ca57d680d18860be16f472ae45ec1bc20374271099bc83b73c76e41e57ec6379d494bb1bbc4a3f481f38c93f85ef5715f20219ffff0219ffff039456a0a5a9dd05c6128c0da70c864f2614e3506d386af40f030c6e8ed9dc8f8803a2cb83ed258c3717c420981c61f415136029c79b8fc861285bf88c8bab320ca1037c12558c1698293325af72760f38390648861be5f3ba0f10d00b52640f4d972903a2f32dabca502a603de8bc40fce7be452a8ed1b4ac0daaac4edc5decdd17ae290313220e05594b2d19edbdc561574461c8cb42ea521fdb21bb6bb2fd4de150cc2e0367412f47c2fc0cb9673be63abde74d0cf20fed24e79e805dd0b334eee6903120038c22244f68d0689dceebf6fa6b3db072b0ed5c3d1eac057207412a0d47af63cc038ade8723bed9a53cad14b319d6b9b4a91bdc13a68ffe4e7625271d352b9489d20353f0f2b3a5581cd5a6c58c0215a7c6bc4499ef2616e272b93f2d70500bdeb3e803a8071c0547aed9a6d7fef3265ef9cfdba8b4edf7c03454f7ac24475fb3838a700361d450562c3a0c4205874540c19e0f77b4ac32106833b8b5fe1d5e629e0af84e03369fdabbf6602722aa870850e088fc39433d76aab9741dbe2fb6a2908e0d767003fa47d31d0d7e540af69d49198357c277e1be7eb6a3d53ac38de70bef432fdd7703d33ea0ac4e3fa6350a53197b0b46e6bca681ac517e8d86cea0e90ce460c09d990344f33796d2b8b0a6e1291a6a1d5af85ebb782be394701524dc74056783054ac2039d0cb60f0763f99aaa4a7d2722645f1ceb875bee667706712d8ca1d0b5a904e003a40f266e5ab5000c93fa9f9852858501f4654503d7d09878ba16a90d1af0b732039192c597ffc2ef19ccd89ca786e5a8f6ec74a993b1ba9e9cbe44c3dcf06415bb03671756f625bbbc601ee85ad77a7b3e366c2a88211b91b18241bc75c428577ba205581e036012a10f8185a14a30f14e277ecc0d37ed11aea72001d5aff6ec43d9f00c01470c44450a5c51610374ff0ca2e27cc015d8d622654c81c65a2e292a0ab4c608db09a90bca789cab9703dcf182706ef7caf1dfa3ff3529136ec4e3be7dcc63bc11da5930a45aa2e59b05030783e9c4f43385160309cb003014160b4113fa5ba6412f7be6e0592dee4067cf05581e0306f1d50441a1e75632b54ea80d325021382df66182e71bc94996d9294007011bffffffffffffffff03f99da0f111b22e42351ac1b4eba2106c4a546bf84ad643093bfb35d4c7c4a79705581e0366480845d9ac045225c5d2ad3b52ceb75b54cc9a8c735385d2669d8810040105581e03e34d078b6873367bc55037754f7ac884de0343233234f90b3498b137600c024697e0ca3fc3c8037ff1d8435b827db368a0660b3a840240473c24e812d60793f404a22444f2fe02045923d4608060405234801561001057600080fd5b506060602060016000350102604051915080820160405280600083375060408051611fe08082526203fc208201909252606091602082016203fc008036833701905050905061005f8282611107565b60007e4000000000000110000000000001210000000000000000000000000000000090507f08000000000000110000000000000000000000000000000000000000000000018184610dc081016060610140830151028101616f80830161ab808401602089015b838510156110f85760008888855109896147c08901518b0382018b615ea08b01518651090982019150896147e08901518b0382018b615ec08b01516020870151090982019150896148008901518b0382018b615ee08b01516040870151090982019150896148208901518b0382018b615f008b01516060870151090982019150896148408901518b0382018b615f208b01516080870151090982019150896148608901518b0382018b615f408b015160a0870151090982019150896148808901518b0382018b615f608b015160c0870151090982019150896148a08901518b0382018b615f808b015160e0870151090982019150896148c08901518b0382018b615fa08b0151610100870151090982019150896148e08901518b0382018b615fc08b0151610120870151090982019150896149008901518b0382018b615fe08b0151610140870151090982019150896149208901518b0382018b6160008b0151610160870151090982019150896149408901518b0382018b6160208b0151610180870151090982019150896149608901518b0382018b6160408b01516101a0870151090982019150896149808901518b0382018b6160608b01516101c0870151090982019150896149a08901518b0382018b6160808b01516101e0870151090982019150508888602086015109896149c08901518b0382018b6160a08b01518651090982019150896149e08901518b0382018b6160c08b0151602087015109098201915089614a008901518b0382018b6160e08b01516106e087015109098201915089614a208901518b0382018b6161008b015161070087015109098201915089614a408901518b0382018b6161208b01516107e087015109098201915050888860408601510989614a608901518b0382018b6161408b0151865109098201915089614a808901518b0382018b6161608b0151602087015109098201915089614aa08901518b0382018b6161808b01516106e087015109098201915089614ac08901518b0382018b6161a08b015161070087015109098201915050888860608601510989614ae08901518b0382018b6161c08b0151865109098201915089614b008901518b0382018b6161e08b01516106e087015109098201915050888860808601510989614b208901518b0382018b6162008b0151865109098201915089614b408901518b0382018b6162208b0151602087015109098201915089614b608901518b0382018b6162408b0151610580870151090982019150898a614b808a01518c0383018c6162608c01516105a088015109098308915089614ba08901518b0382018b6162808b01516105c087015109098201915089614bc08901518b0382018b6162a08b01516105e087015109098201915089614be08901518b0382018b6162c08b01516106a087015109098201915089614c008901518b0382018b6162e08b01516106c087015109098201915089614c208901518b0382018b6163008b015161070087015109098201915050888860a08601510989614c408901518b0382018b6163208b0151865109098201915089614c608901518b0382018b6163408b0151602087015109098201915089614c808901518b0382018b6163608b0151604087015109098201915089614ca08901518b0382018b6163808b0151606087015109098201915089614cc08901518b0382018b6163a08b0151608087015109098201915089614ce08901518b0382018b6163c08b015160a087015109098201915089614d008901518b0382018b6163e08b015160c087015109098201915089614d208901518b0382018b6164008b015160e087015109098201915089614d408901518b0382018b6164208b015161010087015109098201915089614d608901518b0382018b6164408b015161012087015109098201915089614d808901518b0382018b6164608b015161018087015109098201915089614da08901518b0382018b6164808b01516101a087015109098201915089614dc08901518b0382018b6164a08b015161020087015109098201915089614de08901518b0382018b6164c08b01516102c087015109098201915089614e008901518b0382018b6164e08b01516102e087015109098201915089614e208901518b0382018b6165008b01516103a087015109098201915089614e408901518b0382018b6165208b01516103c087015109098201915089614e608901518b0382018b6165408b015161050087015109098201915089614e808901518b0382018b6165608b015161052087015109098201915089614ea08901518b0382018b6165808b015161060087015109098201915089614ec08901518b0382018b6165a08b015161062087015109098201915089614ee08901518b0382018b6165c08b015161072087015109098201915089614f008901518b0382018b6165e08b015161074087015109098201915089614f208901518b0382018b6166008b015161076087015109098201915089614f408901518b0382018b6166208b0151610780870151090982019150898a614f608a01518c0383018c6166408c01516107a088015109098308915089614f808901518b0382018b6166608b01516107c087015109098201915089614fa08901518b0382018b6166808b015161080087015109098201915089614fc08901518b0382018b6166a08b015161090087015109098201915089614fe08901518b0382018b6166c08b0151610920870151090982019150896150008901518b0382018b6166e08b0151610a4087015109098201915050888860c086015109896150208901518b0382018b6167008b01518651090982019150896150408901518b0382018b6167208b01516020870151090982019150896150608901518b0382018b6167408b01516040870151090982019150896150808901518b0382018b6167608b0151606087015109098201915050888860e086015109896150a08901518b0382018b6167808b01518651090982019150896150c08901518b0382018b6167a08b01516020870151090982019150896150e08901518b0382018b6167c08b01516040870151090982019150896151008901518b0382018b6167e08b01516060870151090982019150896151208901518b0382018b6168008b01516080870151090982019150896151408901518b0382018b6168208b015160a0870151090982019150896151608901518b0382018b6168408b015160c0870151090982019150896151808901518b0382018b6168608b015160e0870151090982019150896151a08901518b0382018b6168808b0151610100870151090982019150896151c08901518b0382018b6168a08b0151610120870151090982019150896151e08901518b0382018b6168c08b0151610160870151090982019150896152008901518b0382018b6168e08b0151610180870151090982019150896152208901518b0382018b6169008b01516101a0870151090982019150896152408901518b0382018b6169208b01516101e0870151090982019150896152608901518b0382018b6169408b0151610220870151090982019150896152808901518b0382018b6169608b0151610240870151090982019150896152a08901518b0382018b6169808b0151610260870151090982019150896152c08901518b0382018b6169a08b0151610280870151090982019150896152e08901518b0382018b6169c08b01516102e0870151090982019150896153008901518b0382018b6169e08b0151610300870151090982019150896153208901518b0382018b616a008b0151610320870151090982019150898a6153408a01518c0383018c616a208c0151610340880151090983089150896153608901518b0382018b616a408b0151610360870151090982019150896153808901518b0382018b616a608b01516103c0870151090982019150896153a08901518b0382018b616a808b01516103e0870151090982019150896153c08901518b0382018b616aa08b0151610400870151090982019150896153e08901518b0382018b616ac08b0151610440870151090982019150896154008901518b0382018b616ae08b0151610480870151090982019150896154208901518b0382018b616b008b01516104a0870151090982019150896154408901518b0382018b616b208b01516104c0870151090982019150896154608901518b0382018b616b408b0151610540870151090982019150896154808901518b0382018b616b608b0151610560870151090982019150896154a08901518b0382018b616b808b0151610640870151090982019150896154c08901518b0382018b616ba08b0151610680870151090982019150896154e08901518b0382018b616bc08b0151610820870151090982019150896155008901518b0382018b616be08b0151610840870151090982019150896155208901518b0382018b616c008b0151610860870151090982019150896155408901518b0382018b616c208b0151610880870151090982019150896155608901518b0382018b616c408b01516108a0870151090982019150896155808901518b0382018b616c608b01516108c0870151090982019150896155a08901518b0382018b616c808b01516108e0870151090982019150896155c08901518b0382018b616ca08b01516109c0870151090982019150896155e08901518b0382018b616cc08b01516109e0870151090982019150896156008901518b0382018b616ce08b0151610a00870151090982019150896156208901518b0382018b616d008b0151610a2087015109098201915050888861010086015109896156408901518b0382018b616d208b01518651090982019150896156608901518b0382018b616d408b0151610200870151090982019150896156808901518b0382018b616d608b01516102a0870151090982019150896156a08901518b0382018b616d808b0151610380870151090982019150896156c08901518b0382018b616da08b0151610420870151090982019150896156e08901518b0382018b616dc08b0151610460870151090982019150896157008901518b0382018b616de08b01516104e0870151090982019150898a6157208a01518c0383018c616e008c0151610580880151090983089150896157408901518b0382018b616e208b0151610660870151090982019150896157608901518b0382018b616e408b0151610940870151090982019150896157808901518b0382018b616e608b0151610960870151090982019150896157a08901518b0382018b616e808b0151610980870151090982019150896157c08901518b0382018b616ea08b01516109a087015109098201915050888861012086015109896157e08901518b0382018b616ec08b01518651090982019150896158008901518b0382018b616ee08b01516020870151090982019150896158208901518b0382018b616f008b01516040870151090982019150896158408901518b0382018b616f208b015160a087015109098201915050610140840193508888845109896158608901518b0382018b616f408b0151610a60870151090982019150508888602085015109896158808901518b0382018b616f608b0151610a608701510909909101899006602087015250610a808101516040868101919091526060909501949190910190610aa0016100c5565b5050505050611200610dc08201f35b600361111161237f565b61115c565b600060405160208152602080820152602060408201528260608201528360808201528460a082015260208160c0836005600019fa61115357600080fd5b51949350505050565b612b608401517f0800000000000011000000000000000000000000000000000000000000000001808283098352808284510960208401819052835182910960408401528082604085015109606084015280826060850151096080840152808260808501510960a0840152808260a08501510960c08401819052835182910960e0840152808260e08501510961010084018190526020840151829109610120840152808261012085015109610140840152806040840151610120850151096101608401528060a084015161014085015109610180840181905260a08401518291096101a0840152808183610180860151096101a0850151096101c0840181905260608401518291096101e084015280826101e08501510961020084015280818283846101a08801516101e0890151096102008801510961020087015109610200860151096102008501510961022084015280816101408501516101a086015109610220850151096102408401526112d581613dc984611116565b61026084015280816101408501516101a08601510961026085015109610280840152612b80860151808203806102a0860152828482099050806102c0860152828482099050806102e08601528284820990508061030086015282848209905080610320860152828482099050806103408601528284820990508061036086015282848209905080610380860152828482099050806103a0860152828482099050806103c0860152828482099050806103e08601528284820990508061040086015282848209905080610420860152828482099050806104408601528284820990508061046086015282848209905080610480860152828482099050806104a0860152828482099050806104c086015282606086015182099050806104e0860152828551820990508061050086015282606086015182099050806105208601528284820990508061054086015282606086015182099050806105608601528284820990508061058086015282604086015182099050806105a086015282602086015182099050806105c08601528260a086015182099050806105e08601528260a0860151820990508061060086015282848209905080610620860152826060860151820990508061064086015282848209905080610660860152826040860151820990508061068086015282602086015182099050806106a0860152828482099050806106c08601528261012086015182099050806106e086015282848209905080610700860152826080860151820990508061072086015282604086015182099050806107408601528260e086015182099050806107608601528260c0860151820990508061078086015282606086015182099050806107a0860152828482099050806107c086015282604086015182099050806107e0860152826101a0860151820990508061080086015282610160860151820990508061082086015282848209905080610840860152826020860151820990508061086086015282848209905080610880860152828482099050806108a0860152828482099050806108c086015282604086015182099050806108e0860152826101608601518209905080610900860152826101008601518209905080610920860152826101208601518209905080610940860152828482099050806109608601528260208601518209905080610980860152828482099050806109a086015282606086015182099050806109c0860152828482099050806109e0860152826101e08601518209905080610a00860152826102008601518209905080610a2086015282848209905080610a40860152826101e08601518209905080610a60860152826101c08601518209905080610a808601528260808601518209905080610aa0860152826102608601518209905080610ac08601528260a08601518209905080610ae0860152826101808601518209905080610b008601528260a08601518209905080610b208601528260a08601518209905080610b408601528260a08601518209905080610b60860152826101a08601518209905080610b80860152826102208601518209905080610ba086015282848209905080610bc0860152826102808601518209905080610be0860152826101408601518209905080610c00860152826101408601518209905080610c20860152826101a08601518209905080610c40860152826101208601518209905080610c608601528260a08601518209905080610c80860152826101808601518209905080610ca08601528260a08601518209905080610cc0860152826102408601518209610ce0860152506101408701516158a0888101945060209182028901019087016201fe20880160018585800986035b848810156121d45787519550868a87096102a08a01518101838652808552888185099350506102c08a01518101836020870152806020860152888185099350506102e08a01518101836040870152806040860152888185099350506103008a01518101836060870152806060860152888185099350506103208a01518101836080870152806080860152888185099350506103408a015181018360a08701528060a0860152888185099350506103608a015181018360c08701528060c0860152888185099350506103808a015181018360e08701528060e0860152888185099350506103a08a015181018361010087015280610100860152888185099350506103c08a015181018361012087015280610120860152888185099350506103e08a015181018361014087015280610140860152888185099350506104008a015181018361016087015280610160860152888185099350506104208a015181018361018087015280610180860152888185099350506104408a01518101836101a0870152806101a0860152888185099350506104608a01518101836101c0870152806101c0860152888185099350506104808a01518101836101e0870152806101e0860152888185099350506104a08a015181018361020087015280610200860152888185099350506104c08a015181018361022087015280610220860152888185099350506104e08a015181018361024087015280610240860152888185099350506105008a015181018361026087015280610260860152888185099350506105208a015181018361028087015280610280860152888185099350506105408a01518101836102a0870152806102a0860152888185099350506105608a01518101836102c0870152806102c0860152888185099350506105808a01518101836102e0870152806102e0860152888185099350506105a08a015181018361030087015280610300860152888185099350506105c08a015181018361032087015280610320860152888185099350506105e08a015181018361034087015280610340860152888185099350506106008a015181018361036087015280610360860152888185099350506106208a015181018361038087015280610380860152888185099350506106408a01518101836103a0870152806103a0860152888185099350506106608a01518101836103c0870152806103c0860152888185099350506106808a01518101836103e0870152806103e0860152888185099350506106a08a015181018361040087015280610400860152888185099350506106c08a015181018361042087015280610420860152888185099350506106e08a015181018361044087015280610440860152888185099350506107008a015181018361046087015280610460860152888185099350506107208a015181018361048087015280610480860152888185099350506107408a01518101836104a0870152806104a0860152888185099350506107608a01518101836104c0870152806104c0860152888185099350506107808a01518101836104e0870152806104e0860152888185099350506107a08a015181018361050087015280610500860152888185099350506107c08a015181018361052087015280610520860152888185099350506107e08a015181018361054087015280610540860152888185099350506108008a015181018361056087015280610560860152888185099350506108208a015181018361058087015280610580860152888185099350506108408a01518101836105a0870152806105a0860152888185099350506108608a01518101836105c0870152806105c0860152888185099350506108808a01518101836105e0870152806105e0860152888185099350506108a08a015181018361060087015280610600860152888185099350506108c08a015181018361062087015280610620860152888185099350506108e08a015181018361064087015280610640860152888185099350506109008a015181018361066087015280610660860152888185099350506109208a015181018361068087015280610680860152888185099350506109408a01518101836106a0870152806106a0860152888185099350506109608a01518101836106c0870152806106c0860152888185099350506109808a01518101836106e0870152806106e0860152888185099350506109a08a015181018361070087015280610700860152888185099350506109c08a015181018361072087015280610720860152888185099350506109e08a01518101836107408701528061074086015288818509935050610a008a01518101836107608701528061076086015288818509935050610a208a01518101836107808701528061078086015288818509935050610a408a01518101836107a0870152806107a086015288818509935050610a608a01518101836107c0870152806107c086015288818509935050610a808a01518101836107e0870152806107e086015288818509935050610aa08a01518101836108008701528061080086015288818509935050610ac08a01518101836108208701528061082086015288818509935050610ae08a01518101836108408701528061084086015288818509935050610b008a01518101836108608701528061086086015288818509935050610b208a01518101836108808701528061088086015288818509935050610b408a01518101836108a0870152806108a086015288818509935050610b608a01518101836108c0870152806108c086015288818509935050610b808a01518101836108e0870152806108e086015288818509935050610ba08a01518101836109008701528061090086015288818509935050610bc08a01518101836109208701528061092086015288818509935050610be08a01518101836109408701528061094086015288818509935050610c008a01518101836109608701528061096086015288818509935050610c208a01518101836109808701528061098086015288818509935050610c408a01518101836109a0870152806109a086015288818509935050610c608a01518101836109c0870152806109c086015288818509935050610c808a01518101836109e0870152806109e086015288818509935050610ca08a0151810183610a0087015280610a0086015288818509935050610cc08a0151810183610a2087015280610a2086015288818509935050610ce08a0151810183610a4087015280610a408601528881850993505081810183610a6087015280610a60860152888185099350505081610a8085015285610a80840152868683099150610aa084019350610aa08301925060208801975061182d565b506201fe00965060208a0194506121ef866002880383611116565b9350505081612250577f08c379a0000000000000000000000000000000000000000000000000000000006000526020600452601e6024527f426174636820696e76657273652070726f64756374206973207a65726f2e000060445260626000fd5b60e08301905b81811115612331577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00180518590849009815284868201518409925060208103905084838251098152848682015184099250602081039050848382510981528486820151840992506020810390508483825109815284868201518409925060208103905084838251098152848682015184099250602081039050848382510981528486820151840992506020810390508483825109815284868201518409925060208103905084838251098152848682015184099250612256565b5b83811115612373577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001805185908490098152848682015184099250612332565b50505050505050505050565b60405180610d000160405280606890602082028036833750919291505056fea264697066735822122079709f3ab0c3fdea996f04990e9694cef4e2f4ee3a8861bb284b8d94a499048164736f6c634300060b00330605581e03e2d8250e6d858631759e63f9dc65fe7b3b07d8e8aa70866d97fbbc514007011923d402193b9803cc49da51d576d17d1c422415cb20233c30e80f7f88b11b6712694a3748cf295603f0c8b94644e1564b32570ad9dfa6fdb5eedcfe1d69624e364182b915fad6f16b03cb13c5a660f871b3e45fd5ef646a0124b5d6aa4923b32d775b1b0361c1972cb0037d0a0eb4ebb61c48a0665d731f2788d5a3177c8aef922644838fbc267e7f5c9803e2c13c64cd1adf458d2f2f216ef5c2553db3659867b811e4b2d753ee6c514e8303653dae29f6a65e09b2232a2d30b51ae1cb37037eb5194397f23157c26621d3da03a53950c63a9a90e4ad2b377ef4a345381b3bcdd8dfeb334ae8bec65dea407574036b20a5c7b5081c7406104e2f302fd2a623dcc6e5c9ab21d1e21ab22492d3a406035c5fe014588bdd606f897eeb04030091d2f25cddecd542288e9d3f5c891e0b5e03ca4a08160eb4ea3dfe2bb089b497168845704dd279042c67bb599da4663078cf0219ffff0306b18f7c4e94d1bf98b2048f75a94305c8cd78a38ebee9b761130b3056d9ce2c03540a64c68556f83a846ac69971597b216d859a62dcc62d8d011be697221f766d0219ffff03cdf96a5b11739bc18ae11f56534adfe10ecd3fa6f5e06c232e4d3958f99925a103b001e430e0803fcfc3911e0889c8f4379b919235b9c7e22f9573fe51a5756049037d56de8803de92213f3f6808d2a1698786352bc177b2265704b97de5dce8639e03a2c51a952fbe5254114710669754140191134298e3b818d72949eb179be430bb03988ddaed265c6a171b295ec874fbbda8e16a36b81e0ac3f20b166d565558b34303f7535f0d31b3c623a023fd4fb433b087ab934ae01c718b19a9bb55c7507ecc61039a5952d5f911cf9245f91b95efb8d80be1e841f07bd791d80083f8873288682903b0c02278d08b34a31fc71a4d9ba10a8a56478fa96be52d2f7795168b29f637f3033a97b945fe1b34061c8721d5cc94c4be63521d70720a50a5c9ad4a7503115a390347296d1ce42f9f352b4574c7902567ed4a688ca56e4ef99d023b4e17e062d693030acbd816d18c0c10893fd1aa119e7e882fe2a44050edd60b46aec02878d9db8103bc155cb8389f4d6b2592b99e86c3b32b04449794c33f5eaf201fe38d554c50b503f44909426fd591ad043060b30d0c9963424feb4b2efc506c36b6ca9a48647d43037d1c3ec1ea530c385b2f28f83e26188215fce6077124aae9e3bd0393bf2ca2250219ffff03b5f36c030810d06805ef0d923ddc6224b8dd1581ad6920b1d04d3cdeea26c7bf0219ffff03fe72554856ae1b9edf4dc5b5b5bfd1421cd4bc126a04502bb78820c71332700f037ebe2b7f1ff222075158860f1e439ac02d8677e78b7fe539ebe4cc8940bd7ffa03ea4d343f13f0b5eac9e79f78d2d19a03c77994f2929a41b6c9fa0e98c09d8562030ead2a5b2161b3504e74920ec507d8b4e921a82799017dc1bbf97f4ce38759ff03d0d8f033574d788d90504f9b3b03b4b7194b18efc2c0d7c9f20c0dcfdce4bebd03ca5aa9734c303110ab73e8e0edd74f0f7f573adce188c692ca0e71a30b1e7d1103ee71106cefb0882096b906f3d0eb5f9aec4f1bbc18f012cc8b60aba67bf7011f033326f2e984b44937b883382d6c9d8cd0a83ef7cd15573ebd0ba051a271a6fade03fe7d2663d978a0ce304f6cb92102191b3c2da8f74538541a9ad67e2a4d5f6cd403cf0399b1e3bc02ac6d7a869a20052bc58f5747f04f48087b4924c0b5647bf51903d60abc44cc3eea697e89b80f55c07d73db88be52d1bc67ad01cd18625e48a593034e115fcddd06f1457d96fe0c11b4c341c15ed25680dc6b2858841988f25bb486032a6bdd362d86dd9c57fdf364feff92502cc6c6e6e88d4c852496d5af45a3e99a0382acc37bf137b4b3392273ced1a782cff28cbc6c49b10f579c66f2cc163be1a203b54a5be9e9916ec593791090aa5d69658e2f48daaa2da2c41770d966c519bcf7030f319d1cbbe40b693c23c568a519b9eb0622895540f63b9049d3df262b8edf5803a8774c3b7f73b157a98dafae84e4aff6fd2b173eda789b81e565a0ec1f30e5d503e687a8472e4b04617297209c585d97587934d4cebbec0eb5a1c33a03607a8eb505581e03094d30623bc02ed95ed8133b9229b90b959a7cb41669849963d95545400402037647c11c937475a333b31a8fc9caeff8d33f7839faf1c6ae5f9593285d71c97a0349ec7336542403d67185222f88bbe8ea64e05a6d17c148a8d3b157f5a0b37138045935e960806040526004361061025f575f3560e01c806379ba50971161013f578063a457c2d7116100b3578063dd62ed3e11610078578063dd62ed3e1461072d578063e07baba61461074c578063e30c39781461078b578063f09a4016146107a8578063f1127ed8146107c7578063f2fde38b14610810575f80fd5b8063a457c2d714610692578063a86f9d9e146106b1578063a9059cbb146106d0578063c3cda520146106ef578063d505accf1461070e575f80fd5b80638abf6077116101045780638abf6077146105cb5780638da5cb5b146105df5780638e539e8c146105fc57806391ddadf41461061b57806395d89b41146106465780639ab24eb014610673575f80fd5b806379ba50971461053e5780637ecebe00146105525780638456cb591461057157806384b0196e1461058557806388d695b2146105ac575f80fd5b80633eb6b8cf116101d6578063587cde1e1161019b578063587cde1e146104635780635c19a95c146104825780635c975abb146104a15780636fcfff45146104c157806370a08231146104f5578063715018a61461052a575f80fd5b80633eb6b8cf146103d35780633f4ba83a146103f25780634bf5d7e9146104065780634f1ef2861461043c57806352d1902d1461044f575f80fd5b8063313ce56711610227578063313ce5671461030e5780633644e515146103295780633659cfe61461033d578063395093511461035e5780633a46b1a81461037d5780633ab76e9f1461039c575f80fd5b806306fdde0314610263578063095ea7b31461028d57806318160ddd146102bc57806323b872dd146102db5780633075db56146102fa575b5f80fd5b34801561026e575f80fd5b5061027761082f565b6040516102849190612dd8565b60405180910390f35b348015610298575f80fd5b506102ac6102a7366004612dfe565b6108c0565b6040519015158152602001610284565b3480156102c7575f80fd5b5061012f545b604051908152602001610284565b3480156102e6575f80fd5b506102ac6102f5366004612e28565b6108d9565b348015610305575f80fd5b506102ac6108fc565b348015610319575f80fd5b5060405160128152602001610284565b348015610334575f80fd5b506102cd610910565b348015610348575f80fd5b5061035c610357366004612e66565b61091e565b005b348015610369575f80fd5b506102ac610378366004612dfe565b6109ee565b348015610388575f80fd5b506102cd610397366004612dfe565b610a0f565b3480156103a7575f80fd5b506097546103bb906001600160a01b031681565b6040516001600160a01b039091168152602001610284565b3480156103de575f80fd5b506103bb6103ed366004612e90565b610a93565b3480156103fd575f80fd5b5061035c610aa7565b348015610411575f80fd5b5060408051808201909152600e81526d06d6f64653d74696d657374616d760941b6020820152610277565b61035c61044a366004612eeb565b610abb565b34801561045a575f80fd5b506102cd610b74565b34801561046e575f80fd5b506103bb61047d366004612e66565b610c25565b34801561048d575f80fd5b5061035c61049c366004612e66565b610c9e565b3480156104ac575f80fd5b506102ac60c954610100900460ff1660021490565b3480156104cc575f80fd5b506104e06104db366004612e66565b610ca8565b60405163ffffffff9091168152602001610284565b348015610500575f80fd5b506102cd61050f366004612e66565b6001600160a01b03165f90815261012d602052604090205490565b348015610535575f80fd5b5061035c610cca565b348015610549575f80fd5b5061035c610cdb565b34801561055d575f80fd5b506102cd61056c366004612e66565b610d52565b34801561057c575f80fd5b5061035c610d70565b348015610590575f80fd5b50610599610d83565b6040516102849796959493929190612fa9565b3480156105b7575f80fd5b506102ac6105c6366004613088565b610e1e565b3480156105d6575f80fd5b506103bb610ea6565b3480156105ea575f80fd5b506033546001600160a01b03166103bb565b348015610607575f80fd5b506102cd6106163660046130ef565b610eaf565b348015610626575f80fd5b5061062f610f16565b60405165ffffffffffff9091168152602001610284565b348015610651575f80fd5b506040805180820190915260058152645441494b4f60d81b6020820152610277565b34801561067e575f80fd5b506102cd61068d366004612e66565b610f20565b34801561069d575f80fd5b506102ac6106ac366004612dfe565b610f9f565b3480156106bc575f80fd5b506103bb6106cb366004613106565b611019565b3480156106db575f80fd5b506102ac6106ea366004612dfe565b611025565b3480156106fa575f80fd5b5061035c610709366004613140565b611032565b348015610719575f80fd5b5061035c610728366004613196565b611167565b348015610738575f80fd5b506102cd6107473660046131ff565b6112c8565b348015610757575f80fd5b5060c9546107729062010000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610284565b348015610796575f80fd5b506065546001600160a01b03166103bb565b3480156107b3575f80fd5b5061035c6107c23660046131ff565b6112f3565b3480156107d2575f80fd5b506107e66107e1366004613236565b611493565b60408051825163ffffffff1681526020928301516001600160e01b03169281019290925201610284565b34801561081b575f80fd5b5061035c61082a366004612e66565b611515565b6060610130805461083f9061326a565b80601f016020809104026020016040519081016040528092919081815260200182805461086b9061326a565b80156108b65780601f1061088d576101008083540402835291602001916108b6565b820191905f5260205f20905b81548152906001019060200180831161089957829003601f168201915b5050505050905090565b5f336108cd818585611586565b60019150505b92915050565b5f336108e68582856116aa565b6108f1858585611722565b506001949350505050565b5f60026109076118d3565b60ff1614905090565b5f610919611912565b905090565b6001600160a01b037f000000000000000000000000cfe803378d79d1180ebf030455040ea6513869df16300361096f5760405162461bcd60e51b81526004016109669061329c565b60405180910390fd5b7f000000000000000000000000cfe803378d79d1180ebf030455040ea6513869df6001600160a01b03166109a161191b565b6001600160a01b0316146109c75760405162461bcd60e51b8152600401610966906132e8565b6109d081611936565b604080515f808252602082019092526109eb9183919061193e565b50565b5f336108cd818585610a0083836112c8565b610a0a9190613348565b611586565b5f610a18610f16565b65ffffffffffff168210610a6a5760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b6044820152606401610966565b6001600160a01b0383165f9081526101c760205260409020610a8c9083611aa8565b9392505050565b5f610a9f848484611b89565b949350505050565b610aaf611c7c565b610ab9335f611d0d565b565b6001600160a01b037f000000000000000000000000cfe803378d79d1180ebf030455040ea6513869df163003610b035760405162461bcd60e51b81526004016109669061329c565b7f000000000000000000000000cfe803378d79d1180ebf030455040ea6513869df6001600160a01b0316610b3561191b565b6001600160a01b031614610b5b5760405162461bcd60e51b8152600401610966906132e8565b610b6482611936565b610b708282600161193e565b5050565b5f306001600160a01b037f000000000000000000000000cfe803378d79d1180ebf030455040ea6513869df1614610c135760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610966565b505f8051602061356d83398151915290565b5f6001600160a01b0382167306a9ab27c7e2255df1815e6cc0168d7755feb19a1480610c6d57506001600160a01b03821673996282ca11e5deb6b5d122cc3b9a1fcaad4415ab145b15610c7957505f919050565b6001600160a01b038083165f9081526101c66020526040902054166108d3565b919050565b6109eb3382611d15565b6001600160a01b0381165f9081526101c760205260408120546108d390611da9565b610cd2611e11565b610ab95f611e6b565b60655433906001600160a01b03168114610d495760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610966565b6109eb81611e6b565b6001600160a01b0381165f90815261019360205260408120546108d3565b610d78611e84565b610ab9336001611d0d565b5f6060805f805f606061015f545f801b148015610da1575061016054155b610de55760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610966565b610ded611ef5565b610df5611f05565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b5f838214610e3f57604051634354597560e11b815260040160405180910390fd5b5f5b84811015610e9a57610e9233878784818110610e5f57610e5f61335b565b9050602002016020810190610e749190612e66565b868685818110610e8657610e8661335b565b90506020020135611722565b600101610e41565b50600195945050505050565b5f61091961191b565b5f610eb8610f16565b65ffffffffffff168210610f0a5760405162461bcd60e51b815260206004820152601960248201527804552433230566f7465733a20667574757265206c6f6f6b757603c1b6044820152606401610966565b6108d36101c883611aa8565b5f61091942611f15565b6001600160a01b0381165f9081526101c760205260408120548015610f8d576001600160a01b0383165f9081526101c76020526040902080545f198301908110610f6c57610f6c61335b565b5f9182526020909120015464010000000090046001600160e01b0316610f8f565b5f5b6001600160e01b03169392505050565b5f3381610fac82866112c8565b90508381101561100c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610966565b6108f18286868403611586565b5f610a8c468484611b89565b5f336108cd818585611722565b834211156110825760405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e617475726520657870697265640000006044820152606401610966565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b0388169181019190915260608101869052608081018590525f906110fb906110f39060a00160405160208183030381529060405280519060200120611f7b565b858585611fa7565b905061110681611fcd565b86146111545760405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000006044820152606401610966565b61115e8188611d15565b50505050505050565b834211156111b75760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610966565b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886111e58c611fcd565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090505f61123f82611f7b565b90505f61124e82878787611fa7565b9050896001600160a01b0316816001600160a01b0316146112b15760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610966565b6112bc8a8a8a611586565b50505050505050505050565b6001600160a01b039182165f90815261012e6020908152604080832093909416825291909152205490565b5f54610100900460ff161580801561131157505f54600160ff909116105b8061132a5750303b15801561132a57505f5460ff166001145b61138d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610966565b5f805460ff1916600117905580156113ae575f805461ff0019166101001790555b6113b783611ff5565b6113ff6040518060400160405280600b81526020016a2a30b4b5b7902a37b5b2b760a91b81525060405180604001604052806003815260200162544b4f60e81b815250612053565b611407612083565b6114336040518060400160405280600b81526020016a2a30b4b5b7902a37b5b2b760a91b8152506120a9565b611449826b033b2e3c9fd0803ce80000006120f2565b801561148e575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b604080518082019091525f80825260208201526001600160a01b0383165f9081526101c760205260409020805463ffffffff84169081106114d6576114d661335b565b5f9182526020918290206040805180820190915291015463ffffffff8116825264010000000090046001600160e01b0316918101919091529392505050565b61151d611e11565b606580546001600160a01b0383166001600160a01b0319909116811790915561154e6033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6001600160a01b0383166115e85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610966565b6001600160a01b0382166116495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610966565b6001600160a01b038381165f81815261012e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6116b584846112c8565b90505f19811461171c578181101561170f5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610966565b61171c8484848403611586565b50505050565b6001600160a01b0383166117865760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610966565b6001600160a01b0382166117e85760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610966565b6001600160a01b0383165f90815261012d6020526040902054818110156118605760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610966565b6001600160a01b038085165f81815261012d602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906118c09086815260200190565b60405180910390a361171c84848461217e565b5f6118dd46612199565b1561190857507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f6109196121c6565b5f8051602061356d833981519152546001600160a01b031690565b6109eb611e11565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156119715761148e83612239565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119cb575060408051601f3d908101601f191682019092526119c89181019061336f565b60015b611a2e5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610966565b5f8051602061356d8339815191528114611a9c5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610966565b5061148e8383836122d4565b81545f9081816005811115611aff575f611ac1846122f8565b611acb9085613386565b5f88815260209020909150869082015463ffffffff161115611aef57809150611afd565b611afa816001613348565b92505b505b80821015611b4a575f611b1283836123dc565b5f88815260209020909150869082015463ffffffff161115611b3657809150611b44565b611b41816001613348565b92505b50611aff565b8015611b74575f8681526020902081015f19015464010000000090046001600160e01b0316611b76565b5f5b6001600160e01b03169695505050505050565b6097545f906001600160a01b031680611bb557604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015611c08573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c2c9190613399565b915082158015611c4357506001600160a01b038216155b15611c7457604051632b0d65db60e01b815267ffffffffffffffff8616600482015260248101859052604401610966565b509392505050565b611c9060c954610100900460ff1660021490565b611cad5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff0019909116620100004267ffffffffffffffff1602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b610b70611e11565b5f611d1f83610c25565b90505f611d41846001600160a01b03165f90815261012d602052604090205490565b6001600160a01b038581165f8181526101c6602052604080822080546001600160a01b031916898616908117909155905194955093928616927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a461171c8284836123f6565b5f63ffffffff821115611e0d5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608401610966565b5090565b6033546001600160a01b03163314610ab95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610966565b606580546001600160a01b03191690556109eb81612532565b611e9860c954610100900460ff1660021490565b15611eb65760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001611d03565b6060610161805461083f9061326a565b6060610162805461083f9061326a565b5f65ffffffffffff821115611e0d5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608401610966565b5f6108d3611f87611912565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f611fb687878787612583565b91509150611fc381612640565b5095945050505050565b6001600160a01b0381165f908152610193602052604090208054600181018255905b50919050565b5f54610100900460ff1661201b5760405162461bcd60e51b8152600401610966906133b4565b612023612083565b6120416001600160a01b0382161561203b5781611e6b565b33611e6b565b5060c9805461ff001916610100179055565b5f54610100900460ff166120795760405162461bcd60e51b8152600401610966906133b4565b610b708282612789565b5f54610100900460ff16610ab95760405162461bcd60e51b8152600401610966906133b4565b5f54610100900460ff166120cf5760405162461bcd60e51b8152600401610966906133b4565b6109eb81604051806040016040528060018152602001603160f81b8152506127ca565b6120fc828261281b565b61012f546001600160e01b03101561216f5760405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b6064820152608401610966565b61171c6101c86128e3836128ee565b61148e61218a84610c25565b61219384610c25565b836123f6565b5f60018214806121aa575061426882145b806121b7575062aa36a782145b806108d357506108d382612a5a565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6121f0612a71565b6121f8612aca565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b0381163b6122a65760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610966565b5f8051602061356d83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6122dd83612afb565b5f825111806122e95750805b1561148e5761171c8383612b3a565b5f815f0361230757505f919050565b5f600161231384612b5f565b901c6001901b9050600181848161232c5761232c6133ff565b048201901c90506001818481612344576123446133ff565b048201901c9050600181848161235c5761235c6133ff565b048201901c90506001818481612374576123746133ff565b048201901c9050600181848161238c5761238c6133ff565b048201901c905060018184816123a4576123a46133ff565b048201901c905060018184816123bc576123bc6133ff565b048201901c9050610a8c818285816123d6576123d66133ff565b04612bf2565b5f6123ea6002848418613413565b610a8c90848416613348565b816001600160a01b0316836001600160a01b03161415801561241757505f81115b1561148e576001600160a01b038316156124a5576001600160a01b0383165f9081526101c760205260408120819061245290612c07856128ee565b91509150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724838360405161249a929190918252602082015260400190565b60405180910390a250505b6001600160a01b0382161561148e576001600160a01b0382165f9081526101c76020526040812081906124db906128e3856128ee565b91509150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612523929190918252602082015260400190565b60405180910390a25050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156125b857505f90506003612637565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612609573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116612631575f60019250925050612637565b91505f90505b94509492505050565b5f81600481111561265357612653613432565b0361265b5750565b600181600481111561266f5761266f613432565b036126bc5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610966565b60028160048111156126d0576126d0613432565b0361271d5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610966565b600381600481111561273157612731613432565b036109eb5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610966565b5f54610100900460ff166127af5760405162461bcd60e51b8152600401610966906133b4565b6101306127bc8382613491565b5061013161148e8282613491565b5f54610100900460ff166127f05760405162461bcd60e51b8152600401610966906133b4565b6101616127fd8382613491565b5061016261280b8282613491565b50505f61015f8190556101605550565b6001600160a01b0382166128715760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610966565b8061012f5f8282546128839190613348565b90915550506001600160a01b0382165f81815261012d60209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610b705f838361217e565b5f610a8c8284613348565b82545f908190818115612938575f8781526020902082015f190160408051808201909152905463ffffffff8116825264010000000090046001600160e01b0316602082015261294c565b604080518082019091525f80825260208201525b905080602001516001600160e01b0316935061296c84868863ffffffff16565b92505f821180156129945750612980610f16565b65ffffffffffff16815f015163ffffffff16145b156129d7576129a283612c12565b5f8881526020902083015f190180546001600160e01b03929092166401000000000263ffffffff909216919091179055612a50565b8660405180604001604052806129fb6129ee610f16565b65ffffffffffff16611da9565b63ffffffff168152602001612a0f86612c12565b6001600160e01b0390811690915282546001810184555f938452602093849020835194909301519091166401000000000263ffffffff909316929092179101555b5050935093915050565b5f617e2c82101580156108d3575050617e90101590565b5f80612a7b611ef5565b805190915015612a92578051602090910120919050565b61015f548015612aa25792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b5f80612ad4611f05565b805190915015612aeb578051602090910120919050565b610160548015612aa25792915050565b612b0481612239565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060610a8c838360405180606001604052806027815260200161358d60279139612c7a565b5f80608083901c15612b7357608092831c92015b604083901c15612b8557604092831c92015b602083901c15612b9757602092831c92015b601083901c15612ba957601092831c92015b600883901c15612bbb57600892831c92015b600483901c15612bcd57600492831c92015b600283901c15612bdf57600292831c92015b600183901c156108d35760010192915050565b5f818310612c005781610a8c565b5090919050565b5f610a8c8284613386565b5f6001600160e01b03821115611e0d5760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608401610966565b60605f80856001600160a01b031685604051612c969190613551565b5f60405180830381855af49150503d805f8114612cce576040519150601f19603f3d011682016040523d82523d5f602084013e612cd3565b606091505b5091509150612ce486838387612cee565b9695505050505050565b60608315612d5c5782515f03612d55576001600160a01b0385163b612d555760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610966565b5081610a9f565b610a9f8383815115612d715781518083602001fd5b8060405162461bcd60e51b81526004016109669190612dd8565b5f5b83811015612da5578181015183820152602001612d8d565b50505f910152565b5f8151808452612dc4816020860160208601612d8b565b601f01601f19169290920160200192915050565b602081525f610a8c6020830184612dad565b6001600160a01b03811681146109eb575f80fd5b5f8060408385031215612e0f575f80fd5b8235612e1a81612dea565b946020939093013593505050565b5f805f60608486031215612e3a575f80fd5b8335612e4581612dea565b92506020840135612e5581612dea565b929592945050506040919091013590565b5f60208284031215612e76575f80fd5b8135610a8c81612dea565b80358015158114610c99575f80fd5b5f805f60608486031215612ea2575f80fd5b833567ffffffffffffffff81168114612eb9575f80fd5b925060208401359150612ece60408501612e81565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215612efc575f80fd5b8235612f0781612dea565b9150602083013567ffffffffffffffff80821115612f23575f80fd5b818501915085601f830112612f36575f80fd5b813581811115612f4857612f48612ed7565b604051601f8201601f19908116603f01168101908382118183101715612f7057612f70612ed7565b81604052828152886020848701011115612f88575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b60ff60f81b881681525f602060e06020840152612fc960e084018a612dad565b8381036040850152612fdb818a612dad565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825260208088019350909101905f5b8181101561302e57835183529284019291840191600101613012565b50909c9b505050505050505050505050565b5f8083601f840112613050575f80fd5b50813567ffffffffffffffff811115613067575f80fd5b6020830191508360208260051b8501011115613081575f80fd5b9250929050565b5f805f806040858703121561309b575f80fd5b843567ffffffffffffffff808211156130b2575f80fd5b6130be88838901613040565b909650945060208701359150808211156130d6575f80fd5b506130e387828801613040565b95989497509550505050565b5f602082840312156130ff575f80fd5b5035919050565b5f8060408385031215613117575f80fd5b8235915061312760208401612e81565b90509250929050565b803560ff81168114610c99575f80fd5b5f805f805f8060c08789031215613155575f80fd5b863561316081612dea565b9550602087013594506040870135935061317c60608801613130565b92506080870135915060a087013590509295509295509295565b5f805f805f805f60e0888a0312156131ac575f80fd5b87356131b781612dea565b965060208801356131c781612dea565b955060408801359450606088013593506131e360808901613130565b925060a0880135915060c0880135905092959891949750929550565b5f8060408385031215613210575f80fd5b823561321b81612dea565b9150602083013561322b81612dea565b809150509250929050565b5f8060408385031215613247575f80fd5b823561325281612dea565b9150602083013563ffffffff8116811461322b575f80fd5b600181811c9082168061327e57607f821691505b602082108103611fef57634e487b7160e01b5f52602260045260245ffd5b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156108d3576108d3613334565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561337f575f80fd5b5051919050565b818103818111156108d3576108d3613334565b5f602082840312156133a9575f80fd5b8151610a8c81612dea565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b5f52601260045260245ffd5b5f8261342d57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52602160045260245ffd5b601f82111561148e57805f5260205f20601f840160051c8101602085101561346b5750805b601f840160051c820191505b8181101561348a575f8155600101613477565b5050505050565b815167ffffffffffffffff8111156134ab576134ab612ed7565b6134bf816134b9845461326a565b84613446565b602080601f8311600181146134f2575f84156134db5750858301515b5f19600386901b1c1916600185901b178555613549565b5f85815260208120601f198616915b8281101561352057888601518255948401946001909101908401613501565b508582101561353d57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f8251613562818460208701612d8b565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220da3f018591757ee1472c2c8ac53422702c551970a502a7dacb94db331ffd631e64736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581e03d668d7d14f4b4204bbce13eb900420cbb1fea69ef19ad56500ae99996007011935e905581e03df17a13bb2ef09feba2f0dc9d27138e2ad221dcb347c22ffd5b73287100c0147084cebb1efe60003a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03781db00b0f822ed4fcde8a38c2d1f114ec0dd6ae5df5174e1f7ea4739007011bffffffffffffffff033b121af6be704a7f17603401b825bca43e71f501f94f5b0a303f02bd1a07cb6605581e03da3bcf8ea0ef252b7ec20216bf425b0faa506fed03ce3c0ab30820f1100c014713b23d16a2800005581e03815a3bd21d54016f36856549a107672678131856ad829208a2501ab1b00c014702d3a05731edb702198e7e03377e48e03328dc6665e7864f4a72984a52e14ea52f03bd2dfebcad28c47f4a8903ee1a88b92578cb87cd8e6c627ab7c404778beb221b0c4fa4720e70af19a72ec6035812f3a85d74d721bc5f6769218e84a617f7e077e82a3019991d91ecfd15451a03de344bb217768184c2c2f7d9ec98a8689bed024eabf3a55078dda2ee8a666bf5033ffb93d33fae7e21409851d10b2fb408f1e12d722795e6c7cdaaa4e9945ad4ca03b7e793ddffd65858538bf61fc4cadf2815b270e7c8f40b255c23999bbd17183903848b6b9bc8ac1bd33b2c0b639a8b678fccf3dee0cc6439e023054d59cf12a7ea03d32f5824dcfe39dfdeb6f01165588ba29333ae88de3bf269be4483e9a13ed28f03903cbe33b2b03551dbf2d9d28675a583eaa2a2540f5d2f604e975292dbde051703b6021884147f138b586c0e64782928ffe079df1c6ab0dcb0f183a87d51fd6b8f03c10d7ccaf4ec53534a64440e5d0a75b458a193164888b707a63089d6a56559ea03e4d85fc61c206f3d1a8a1152964acd66d47fac9ff9f194eaf697fb62e3cba785033a9ac84476e0e65232463ce2d0d0da93c2f91e5aa4c575047ee081da71cda9690313ec7e02d0b3d8126bedbf5ffddf608b4597b7f69db5ac1f04c099b1f682cb3403ecafc241acc81ffa95966e9264cf2bb9939a757945269a1c91920c2aa786fcbf0219ffff03888f4fb9e7f3b42794d5d7d4aecfb633ec8b3247bbd34beffb95339e08044ea003cc809a9f1467183a46f2056a2827cdb6a1aaa33933f9dee9b31363280d217e1f03fcacca661d8a20c59b6998a364af71d50dc34d77aa39532831664d56e31ebfc403bb36f669287776462efd5421a8770990720c85a2b2a78f9309d6aa1f137ad89a030f67fc8d2202ae2c3e043cd84faeb37b89fc027ca42c1a6e6b43f0c013cdd17903c8e93d4e0ee048c038883a25d876e9136f203115bd559033351b01dcd6c611a303facda09c1881ca762eb4e89c41d835f53adb490c41021555c0275f8bd79ce14e036e37a9556896ff190f149d7158de50819d2ce2e463319b384e107cc6cdd5a78603ad0b48375baa27e112454b051aafc6c678f88b7158ecc2c8516e0bc4f7026e1b03aeac63a15e1809c06dab17c4ca079d42c36d161e35f4ff3df3ba4ac66657237a03d22f6ec7db1ce0ac66442df00396fc2cea03fe672c82f27802d4f37ca948b29b0219ffff03e8a59bf1aeab2cb8fb740fa11451935ee45c96ee402185b6fc79ce09bbac1eb40338933eaecd4d8e3016405024a8a38a6138a59ab68ae6809c383b64b52e5eeb0503b201f04e993ae0146d1ecd782c12a4ca52bd2f43eb08f7989f683e40ef612e67036ae83b4465d0befa1abd01a07724c19566973044b37d6b789bba9ad40040ffaa0219ffff03eba367c1e925e339b9203c04250e356b6873b05783ae4f3e445de6d33bed1d2503e99b672a440c84f899140d03b6a79a65aaaf6e1e98cba2f5320f518e4781705403d118dae57bbbd0280f7bc8fe20c143529e25022bc2bd21227db3192c23cf5ce7036666bcbec51744e7766796630914a141ac673a1fa68f3b1f79c4ea7919557f210317721300319c44d48be58027b071bd2974925060e27a6aea791c7446e0e1e98d03c6b3a0285405ab5a482895807fe1592b808d4406123dda62b554bcf09ae86af803bfec54a1172be009fa80e82ad1a8813d848b90419d30a4c879b62c2a9b276c010385723631910897f421baf20fdc93814218509e4b896087d9fa36dbabb37b5e780382322b4821631e243fbe4de8764ef251ac1d69d85e00848b5dd5a82442e2d4b603a055f6723da515d6a3f88e8b914bc2fc3b36279356edd54b58e49d124e3207ff0332a8bf34724b7b47fdf3f86755f4a84a45006bdfa161ed9009f38d2524e4ba810388b97b43e2814bdbb078f4fe1b9bcd1287cde2d1832e954105f07e29097ef66e038e91401d386fe95554e60421e21a3a25d677edfc5665fd97b44fad0774f7bb70031d971b171aaa1bf85086ffd7a30824fd586bbbd051ec0f3181b99c7dc9031e3f03d830d86f3af4946d26eeb6c7f023fce92a45b9213d186ae202ba0d41b6167106030d961e0a6e91d6c4a4e577d7a36523ad23838109beb379fe2808e840365538e1030cbd799040120038502c32faabccc6851624b65e04bd881b1c9ac84b06af3db603083af54547fc3daa0eb36d505e17ca8d03f98e99d429f99b4c5563a5202efb6803d0bc4d73dcc2cfbb62bfb1228504fd1fcfc8cffea0116df135cc526ef9267bbd03d7ed07c98b2858882385ea561385dc6efe2fffb2e95d212a96e22d50880da96a0384c04d1401bb157a5e83ed97ee5a1c6283e3c0e9ccb4849bda682b193d5d719e03786e828f6167e8258a09de9dd67041aa29400978063a3e2f9aee2158b22eea85038febc50fa07e2fef0588146a15b61a741d93ce0f02a02ed2cc79cd95e047fe7f0331448e4c3b4290884d6d8b9cd2243258955349ac75000f4239b505a11dd76b5903c0db286b5b2bceaec558e695cb9925f63844da0ff310201db4599a39db532f4f0378a21bc576eb7d9b91521cd9076dd59040536960221f9558d17ae51e480071ee030eebb4cc7b0c7712f098b68af209ed1b88ec7c0b0ab6e34096a74fba06eb535803b44ca9a57cf168ff8121d8a56a5e8469e176a6dda0317d7f0abf1a49cd79af0c0312fc202fac2435342da213a420730aef4861d9e9b15a6e56a050469b743ad2ed034fcbd59b60c9b972f878f4e288e7d88a5b656afd2997eb320f72e2b47660292d03cdab523e71b120ad3d4b44925042977fc6d18eace372503d5a61264db657037703a7d964404b71bf57f1a9f6a61c14f86d4c9123fe5d28e215b24278d5f943734d039bb4074a415a7fa2fa0cfc4f850be30f04f2ee700053066c6c83d89e6583135503796e65f1a43ac9cb0773bf5a34993554879c230ba559e51dfd826935320a82e903092c68d8076c5d9bfaa1a5af73881622f93b4188c121733a4ee2cbf7d18db3bc0311ead210ac979f34d734d8e652b5ff76575c0fb1ca5777c6d80b9ac0aa5d090c03d14882ed8e3a17ca0edaf472423bf9ac71963ef9e932957b2e2ff6ee2bdff056033bd81810ad6adf83fc64af6171ba228304b66820713a280cd9902692a8b15c68033fee6457dc4bc0f72150989bb11ab88b37335105b87a627a021f58758ae9366f03bb6a374e67d4c58e21be2f3f21a97816b76c5e9e7728d8ebe1c46b9a5578955f03c04815180672efdaaa21e2d25bca430ab3251513fee3cd9a9933b94ba69fa364030239bc70cc612b20011a36ad037f4ac326a60a9bda018909c2fc672eb24f728d03f24dfbe43510fe1e8eee3076a8a79dc5cf057ab686967a8ee220368a588dab5e03eb6d455910525d53ab796589c3bab6769e4b8efcb5f69f164dd30df72438e9e403efa74d015a012dd17bb4dbdc7855f8715bd2327172dcf2a455763a63dc1bc30403b56f68c07f837f65c0b8a3302b718e74894b9409af2429848f173db09026040903a38b2bece6aa2dd0c119fa045ba4caed896b6535f29e89e1e6d23e121669aca20331b77579bb938a0402bdedaab494114cdc64291e0c275241fd1a3e180bc547000328d164f22ebbe18ae763f1f95ccd83aea050c41e4000e2dbde3b409c3e05e6ad0333cbcecd6626df661b92b6f5073ed0302f1e77b3333bb6db40bf8d82b730f51c03f1eeb9648f9183644e66077841ec17ed81c3819267239ea0ae5f507833b8a0eb031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03047a8469cbbc9d0aeb6e06a72eb096d73d55fb3a30df545fc4586c9bb007011bffffffffffffffff05581e038b997b83fc366826c0beb4eea48f2fb3ae9b71907cf6ddce4ffe4ac2a00c0246d14927dabec003e05f0123a16228a8efc2af6a018b351152c5afc574ce39c5274088a859d4a9cb05581d029eed00fb6c9f914aa74ddea4fa50e9b321b7a5c4ccafbf477aaef1c30c014702ff69d065bd1805581d02f0c8c915fa00147626e88f2d540625add66465ca620b36920a7aa4ef040105581d020cc7b838d0457c3cc0e7aeff3e20a92f8d8fafa116eb9d06536084a708465af3107a40000219220405581e03beeef28d9035e5ca43a729abc9020e5527d997a816b9e6a033112f73400c0247048ee84e71d73805581e0398b2da056bfdb613c82ce67d72c0a7ca445436a74102e9e6582aa34ba00c01469222319913b803f3bed5d71c4f44e01e5625ceb49d1d746fe6192e5775a83d44f0db0c967bcbb705581e033cb7241115f64eb4fcc3236030132d4d1618aa3d41f4d7fee657f28e700c01470141c0d58f899005581e03ea382973f9af593121ce253b152ae41cd2dc06af9cccb5708caf7e84400c064702304a63ff1a4205581e03170e370fc0d17644a7014455ad09419a2627048c5c58d9f797470a49000c0f47318fd500429e3b035114777b60d4328600f29b6e5b0eedc060c0cc7b44de773859183f44f45abff4021967770219ffff034f3e5d04bcdd617535a3578e0bfb48995733608bf1c6bb29546ae627e5c46c9d0380d6eb100b8cd92cd0a389cfb07ccb77bbdef0a163f05d7f4808dfd8cdea143d03eab1bb36858a0953e96817bb97c820d6d8c231b26b0e12d2a699ad2c6f6a68830219ffff03bae5d60ef8c15717ad155400bdb80cb306504670c417d2e3d033020ed7b2130c0219ffff0303f98ed97a87447356e7783e49dd6e9caf07dec44223579e51af851debe430f7036378b9f02a57ae92287126ef45cbaf803527518c7e5bc844a79cb579e753e2e803cc43b5b3d31fc9dfe13bf9dfdb9b75ace8b48a49af39b195519a974d0c70590d035432d78334a2dca1cd15735b073e7a883e12c6c32cf6a87f7b6cb710358b4acb03d77de1c7950d6d3cc26ee0cbc7ddd5bb70d21918f54817c0e29aefb06dcdae1603e163bc023343fa0a25913a763c8a4d5f0e1eaa65ab5ada65e3d95b1dafa0e4740360bb467dcfcad880885fd7c0abc0d239d79dbc9dc3db2318a88811bb67057f5d03b8a374add5a131ab901413992ffabbe9c8ec65cab60369b4abf362e37c825dfa03a05fc946278f27029157571be9b363c0f9a66e866e2bc779e1f64e9cf60fd70a03574a5fecb8b85856d22375bcd5605709cfcbc17e611f620cb80681c0b6de9bec05581e03affe9a8a6dd058567584dab8b3fd2d6936ca10fa3c52677c90975676e007011bffffffffffffffff05581e037da0a8874fc083d5efc4a12aca3a803bd9795e7f39f2d85c2a46bdd9e00c06460ca0c6734600045917c3608060405260043610610126575f3560e01c80635c975abb116100a85780638da5cb5b1161006d5780638da5cb5b146102d5578063a86f9d9e146102f2578063d8f4648f14610311578063e07baba614610330578063e30c39781461036f578063f2fde38b1461038c575f80fd5b80635c975abb14610265578063715018a61461028557806379ba5097146102995780638456cb59146102ad5780638abf6077146102c1575f80fd5b80633ab76e9f116100ee5780633ab76e9f146101de5780633eb6b8cf146101fd5780633f4ba83a1461021c5780634f1ef2861461023057806352d1902d14610243575f80fd5b8063069489a21461012a57806319ab453c1461014057806328f713cc1461015f5780633075db561461019b5780633659cfe6146101bf575b5f80fd5b348015610135575f80fd5b5061013e6103ab565b005b34801561014b575f80fd5b5061013e61015a366004611394565b61045b565b34801561016a575f80fd5b5061017e6101793660046113cb565b610533565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101a6575f80fd5b506101af61058d565b6040519015158152602001610192565b3480156101ca575f80fd5b5061013e6101d9366004611394565b6105a1565b3480156101e9575f80fd5b5060975461017e906001600160a01b031681565b348015610208575f80fd5b5061017e610217366004611402565b610668565b348015610227575f80fd5b5061013e61067c565b61013e61023e36600461144f565b610690565b34801561024e575f80fd5b50610257610745565b604051908152602001610192565b348015610270575f80fd5b506101af60c954610100900460ff1660021490565b348015610290575f80fd5b5061013e6107f6565b3480156102a4575f80fd5b5061013e610807565b3480156102b8575f80fd5b5061013e61087e565b3480156102cc575f80fd5b5061017e610891565b3480156102e0575f80fd5b506033546001600160a01b031661017e565b3480156102fd575f80fd5b5061017e61030c36600461150d565b61089f565b34801561031c575f80fd5b5061013e61032b366004611537565b6108b2565b34801561033b575f80fd5b5060c9546103569062010000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610192565b34801561037a575f80fd5b506065546001600160a01b031661017e565b348015610397575f80fd5b5061013e6103a6366004611394565b610990565b6103b3610a01565b5f54600290610100900460ff161580156103d357505f5460ff8083169116105b6103f85760405162461bcd60e51b81526004016103ef90611574565b60405180910390fd5b5f8054609780546001600160a01b0319163017905561ffff191660ff83169081176101001761ff0019169091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b5f54610100900460ff161580801561047957505f54600160ff909116105b806104925750303b15801561049257505f5460ff166001145b6104ae5760405162461bcd60e51b81526004016103ef90611574565b5f805460ff1916600117905580156104cf575f805461ff0019166101001790555b6104d882610a5b565b609780546001600160a01b03191630179055801561052f575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b5f8061053f8484610ab9565b90506001600160a01b03811615610557579050610587565b505067ffffffffffffffff82165f90815260fb602090815260408083208484529091529020546001600160a01b03165b92915050565b5f6002610598610c98565b60ff1614905090565b6001600160a01b037f00000000000000000000000029a88d60246c76e4f28806b9c8a42d21831549001630036105e95760405162461bcd60e51b81526004016103ef906115c2565b7f00000000000000000000000029a88d60246c76e4f28806b9c8a42d21831549006001600160a01b031661061b610cd7565b6001600160a01b0316146106415760405162461bcd60e51b81526004016103ef9061160e565b61064a81610cf2565b604080515f8082526020820190925261066591839190610cfa565b50565b5f610674848484610e69565b949350505050565b610684610f5c565b61068e335f610fed565b565b6001600160a01b037f00000000000000000000000029a88d60246c76e4f28806b9c8a42d21831549001630036106d85760405162461bcd60e51b81526004016103ef906115c2565b7f00000000000000000000000029a88d60246c76e4f28806b9c8a42d21831549006001600160a01b031661070a610cd7565b6001600160a01b0316146107305760405162461bcd60e51b81526004016103ef9061160e565b61073982610cf2565b61052f82826001610cfa565b5f306001600160a01b037f00000000000000000000000029a88d60246c76e4f28806b9c8a42d218315490016146107e45760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016103ef565b505f8051602061174783398151915290565b6107fe610a01565b61068e5f611006565b60655433906001600160a01b031681146108755760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016103ef565b61066581611006565b61088661101f565b61068e336001610fed565b5f61089a610cd7565b905090565b5f6108ab468484610e69565b9392505050565b6108ba610a01565b67ffffffffffffffff83165f90815260fb602090815260408083208584529091529020546001600160a01b0390811690821681900361090c5760405163a883089360e01b815260040160405180910390fd5b67ffffffffffffffff84165f81815260fb6020908152604080832087845282529182902080546001600160a01b0319166001600160a01b038781169182179092558351908152908516918101919091528592917f500dcd607a98daece9bccc2511bf6032471252929de73caf507aae0e082f8453910160405180910390a350505050565b610998610a01565b606580546001600160a01b0383166001600160a01b031990911681179091556109c96033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6033546001600160a01b0316331461068e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103ef565b5f54610100900460ff16610a815760405162461bcd60e51b81526004016103ef9061165a565b610a89611090565b610aa76001600160a01b03821615610aa15781611006565b33611006565b5060c9805461ff001916610100179055565b5f8267ffffffffffffffff16600103610c90576a3a30b4b5b7afba37b5b2b760a91b8203610afc57507310dea67478c5f8c5e2d90e5e9b26dbe60c54d800610587565b6d7369676e616c5f7365727669636560901b8203610b2f5750739e0a24964e5397b566c1ed39258e21ab5e35c77c610587565b6562726964676560d01b8203610b5a575073d60247c6848b7ca29eddf63aa924e53db6ddd8ec610587565b647461696b6f60d81b8203610b8457507306a9ab27c7e2255df1815e6cc0168d7755feb19a610587565b670e8d2cae4bee6cef60c31b8203610bb1575073b0f3186fc1963f774f52ff455dc86aedd0b31f81610587565b75746965725f677561726469616e5f6d696e6f7269747960501b8203610bec575073579a8d63a2db646284cbfe31fe5082c9989e985c610587565b6c3a34b2b92fb3bab0b93234b0b760991b8203610c1e575073e3d777143ea25a6e031d1e921f396750885f43ac610587565b7f6175746f6d6174615f646361705f6174746573746174696f6e000000000000008203610c605750738d7c954960a36a7596d7ea4945ddf891967ca8a3610587565b6a3a34b2b92fb937baba32b960a91b8203610c905750736e997f1f22c40ba37f633b08f3b07e10ed43155a610587565b505f92915050565b5f610ca2466110b6565b15610ccd57507fa5054f728453d3dbe953bdc43e4d0cb97e662ea32d7958190f3dc2da31d9721b5c90565b5060c95460ff1690565b5f80516020611747833981519152546001600160a01b031690565b610665610a01565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610d3257610d2d836110e3565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610d8c575060408051601f3d908101601f19168201909252610d89918101906116a5565b60015b610def5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016103ef565b5f805160206117478339815191528114610e5d5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016103ef565b50610d2d83838361117e565b6097545f906001600160a01b031680610e9557604051638ed88b2560e01b815260040160405180910390fd5b604051630a3dc4f360e21b815267ffffffffffffffff86166004820152602481018590526001600160a01b038216906328f713cc90604401602060405180830381865afa158015610ee8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0c91906116bc565b915082158015610f2357506001600160a01b038216155b15610f5457604051632b0d65db60e01b815267ffffffffffffffff86166004820152602481018590526044016103ef565b509392505050565b610f7060c954610100900460ff1660021490565b610f8d5760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461010069ffffffffffffffffff0019909116620100004267ffffffffffffffff1602171790556040513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa906020015b60405180910390a1565b604051630c2b8f8f60e11b815260040160405180910390fd5b606580546001600160a01b0319169055610665816111a8565b61103360c954610100900460ff1660021490565b156110515760405163bae6e2a960e01b815260040160405180910390fd5b60c9805461ff0019166102001790556040513381527f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25890602001610fe3565b5f54610100900460ff1661068e5760405162461bcd60e51b81526004016103ef9061165a565b5f60018214806110c7575061426882145b806110d4575062aa36a782145b806105875750610587826111f9565b6001600160a01b0381163b6111505760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016103ef565b5f8051602061174783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61118783611210565b5f825111806111935750805b15610d2d576111a2838361124f565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f617e2c8210158015610587575050617e90101590565b611219816110e3565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b60606108ab83836040518060600160405280602781526020016117676027913960605f80856001600160a01b03168560405161128b91906116f9565b5f60405180830381855af49150503d805f81146112c3576040519150601f19603f3d011682016040523d82523d5f602084013e6112c8565b606091505b50915091506112d9868383876112e3565b9695505050505050565b606083156113515782515f0361134a576001600160a01b0385163b61134a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103ef565b5081610674565b61067483838151156113665781518083602001fd5b8060405162461bcd60e51b81526004016103ef9190611714565b6001600160a01b0381168114610665575f80fd5b5f602082840312156113a4575f80fd5b81356108ab81611380565b803567ffffffffffffffff811681146113c6575f80fd5b919050565b5f80604083850312156113dc575f80fd5b6113e5836113af565b946020939093013593505050565b803580151581146113c6575f80fd5b5f805f60608486031215611414575f80fd5b61141d846113af565b925060208401359150611432604085016113f3565b90509250925092565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215611460575f80fd5b823561146b81611380565b9150602083013567ffffffffffffffff80821115611487575f80fd5b818501915085601f83011261149a575f80fd5b8135818111156114ac576114ac61143b565b604051601f8201601f19908116603f011681019083821181831017156114d4576114d461143b565b816040528281528860208487010111156114ec575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b5f806040838503121561151e575f80fd5b8235915061152e602084016113f3565b90509250929050565b5f805f60608486031215611549575f80fd5b611552846113af565b925060208401359150604084013561156981611380565b809150509250925092565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b5f602082840312156116b5575f80fd5b5051919050565b5f602082840312156116cc575f80fd5b81516108ab81611380565b5f5b838110156116f15781810151838201526020016116d9565b50505f910152565b5f825161170a8184602087016116d7565b9190910192915050565b602081525f82518060208401526117328160408501602087016116d7565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220cb4525dd638dcf37629c0860f9a5a5d9c186f2757b24dd50bc34953112c3d94864736f6c6343000818003300582102290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341ff05581d0278f68c259aa9195cbb88099bb788ac54e643f96a07ee1e5ae183207d07011917c305581d02013fc2230d787e8397e677a2ff97bb5408e2f7b64045a76b897089330c01471925b9c9ffb9580219018005581e03142c09a7ad7c259105e85bbf9125d71694ea5fccf0ef19b590e31213200401031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e030b6a5dba9ff1f11f70a8c9999a3612796ff1d2cec3ea2eee0fb8730e1007011bffffffffffffffff0394a518f04bdf7d231a75515bba835b420608dd2e775acdccbb487be158206e8b05581e031e989d5916e500ae0e390277b393f3212e5f49c4e6c54898382befa8300c014788b87eaa960e0005581e035a30247667e0eb4db4db7d7ac930607952541ae0164fdc2898b2069ca0040605581e032064cc833d08ea66733f59e6b8d8cf1360b6eb71ae087ea42ecb9c84b00c134734dfa36d4143f602196dcf03fceaba5edac59817ffd7568dd4c0f53469ac019e6af429c890675930b03baa32030da2e82a65ea5ed0cece06a53aa31a9f5b8fba8f415c2b37400f45fc33e3380303a96294d7530338827e3af3728b9d2fb9e1cd5fc158874c93ef3713bdb0504ef803b737b64b9c075e2ff5402a63dd45f22e812d7780b94cb88bd584b8c1658d3179035920859d1dee532db0a9f13a3236b3a1c5d4184baa7f98f3188c836db10b4e30034b6a1e51408769b27c8e70f7c54d831db31b6f76ec68c7ae09afda8ac780ee7c03007baff8152750aa4f31fa6e4f5c097bde6aded62520ee86aa2c2e9795ce355f0313d7b2bcf0a2afe2177d59c9d2477ea30b398bf8cee392683916bf2c049ea47e03a0d91f5fdaaba9fdb06e8f4acf039692ea90b0809cf9d51f4464691127a94a45036167dfe5acc88d652a52416d0401a30d8d3099d11e54918930d1c50863be1566037ab52d43b4c0508d653067de544422cdf9ff42382b3eef94ca1f08b5bc2a285003d5d27bd062ce90d35f3da49dd042e6430878955839aab1af61f8bd0c39c6c1300219ffff03640522b1fdfb9d4431ec768e9bad4a00fb49e614ac20908373ec975940a3a8b4031db8f41258906ce965ac5316b7b627f04847a45576cd79a30652c4569f86359303b3b0a4408c57d14f2ac256de74a2a9190d902f3b8f8e34404750df24be79070e0391b78dc9a649a591ab695f4b122c7bc80d765f618d968da2473ef23873ee9a38035a4b918a79dabedf9f16abdb6743175bd5127e659ae37e62c384580c7eecb7d3037e35a8b7b2f9b92bc190fa999e27181ce73696d2cf1c971ff01bc95ed216593203272d1035004707cad76e78af38bf5943c46a9eedafea1f1b3f6d04c8bfffda0003193d068d08dee2c03f79a3180b7764b51ab19f789a736e224c72ac7d001368d50347eb5ece03ebef24037a14f5f2748206a9b5451edbd6a9464b705ddd8f6b8b3703c8f66572635dc06769d4d9a7d63908d433b4940478f1bddcb6c8170750a342f303a394cf30149c32e835c63c8c95c7fccf7306da131b043763274d64552814b5ab035140877a008ff19aced83913052cfc611a54daf511c6a779ae4f144e422963b403484701b03934d74a258e4451f884a2919ea7625e4dc645a421e9e085befe53cc03fe49093b76cf6cd00b0f46d00b4c2d3f91a3eb0976829f7e5206ddb2bf6fdd95035c3102e71436f36a80356c7ab4d8f5dda43853103f4ba1f1b25ed6f6a9e435720219ffff03c9757645ac4eef6343b81c392d6caea481fd9b2ef7378477fe247237e1550f1603c7380e7ee0466edc2a38f43eb5fbef20fff0830266a0fdae7cecf884372ef55903f813d7cb72d6514f57015d5883f6a1a6868d6c6f44642c95f433d1578def313603e7b95577c6c12a4a350d118cb2633084500767d1de2b440b84dc4730528ea62b03c195f7d6a042a87dadb8e7642d1fe8dd7179030796f0a5a6ce19547b4d64054b031470ab3764284dbed39d8c0451d11ff4df6f4c91d1f055048e166248aed025b803e20688d7b17a0bf55163b32a037d7ebf1ee12d9e75d35a396aa224986d8711dc034d64d792576d4d9cadb137a4dec7d0c59042cb1249795b714fd69361bc04e24b03a0a773267acbafd3f2721f237add62a3c74d5a1d5a4f7c3de06a8b254c76b23603f1e126f1010442f414d0acfed77e8d8d43a49b4b23b3d4d9e15b2b57e0ef742e0300ae7ae246ee4311dadb9679f2bd160ba17ab3dc3029a3b9e5f65b74f5f07c72038af712b77f87e7d4b23c37beada2c40fab8a192db94b6d98eca0683111c74029036fd248d4a75ab25ee2f565d496b9c1dcf786dbb3c3a5c9be6ab02298f8270d7c03af97040727b36417e3f8cae0cc9fde54ea2a34d1e108603d532ed51cb686c0ca05581e0323d8c846f5854b8e6609970f4ccdfb0330e726be1bbcf5f1a9a0668980040103716d92a9140389f4ec91a7fb6fe256bf3ec95c85ac370ed720e843f6323fc88003869ccf07ed921132a9fed97dbfd531bae8c30cd21d627eba0e6827c50c61a6a103dd324e5626a45c7c29af667cd2bb912465b1ff2d08cdafb3a51eb81dce668ea005581e0315e4f74771b4ca8e2201f320a047edfdac25971886088d5fe8d69d96a00c0b48010d3a8bee4b64ff05581e033f34678478b9ca72a643888f6cbeaec0f2125e7104bc2307de9237ece0040203fbfde7967760d5f3ba5bf1dc8b53efae2431870c8c9672d5dfdf324f6d30549805581d02f946ff48b4d8f52b77535a4a675e2f6199b949d348cc879747d692cd0c014729da9ee366f40005581d029939079ce3ea62995c8e626ff632510d2cf6bd3460a6aaaa8a2b20000c034606a4623d9fe805581d03df3cf64c0f915f772d3cfe1fba8d36654e016eda74269225fd56fd100c0348184d9dded707050805581d03148f5048993749778ddbefe5d4cde5674ef12ee5074b3d2c8e0760100c0247036f829ffad720020c05581d02de331a8f734f587812736c427d91e25bf2af139883146b51a2381ad504020219180a0396cf5d203af30c3f238ab195d03490e9768e25a8afbd2ee1c7c1857ecfa569be0219ace703949f72e7ae1420a508404bc6e144b0ceb7eaa0ed826a6fc6a19694258b92f0d9031b98e7defb3f86dd41be3bb38a5dd325f82789b8a9ad0dd76d85fcb8069b214d03358f6c8857494187d2c9f602751e821d35dffc6b5c8266797762ea5289dba37603e1aea453ce3c86f01570b7b4f13376cce08529a90595ee2931bf7815204c243003b0719519a0385764e1040fd56f3fb4812de8dabf81fa89cec0cf26ed6cfc0911030c430e3e7e5bdb28b4cc69b7642bded0f421475e9c50bc9b681bf1c96323aadd03c7fdbdee1c448615ac0a1d6bb042295d7f737db1609610602dbb495c8f66524e039ff83cf3e1568d9d3be159d3be2ea98890b4072f405575be4358685597337b3a03039487844393f17631c6a27fcc83c05a05a96d147ebc3456aa4ff90b02417c990381a1285e040e87cc59f7cac33dac010e066c1c2e250f3ac05c8c6f8eea57387a03040b2a96db158176b3ab1d1495fb683c85484f9700c794e1158bfbcb91a8a255035dc046895a51339f3610eeeb03f7c74b7f1b83d507ec0e2944b70a3da02c6786038e31b73e597156a54c9aad35e57ed9e892860bccdd2dfac243250f8e361b5fae031e6eecbf0b2b04711c4051a050d12fd23dbb25a2b806f812253fdab5dfc18d3f0219ffff03f4af0f4c217424a1a8a1d89f29c1182db74d33416ad8f3d4e894829058cb0d0903094310c7ebfabb825b3c8919cac262fa0bdc145885c3cfc8d768bf2e558a5ad903542d3ffac264ac091548a721b410b7fd72e53d1f7ddaf82ef7c60fc763e78f1703b7b4c4f5cd0aafc9cddf907c1d9a40c8b9e85175d272730ac29386f8f3247e5003a6ae28eae4880899e8521ad576c03a0c8a91a3bddd1a944cba108b0be825718a0219ffff03901fd9ca0894110a4ba65a5f5b939e8dd8c8a1e24afd85c32f3054b41ee1260e037ad14f86337163d39dd71e33b40cd4c0246edce42118d37102ef4ac41a0ec5720331d3f3b40a1300d21875913cad648fc2924ac9a60288531a969aa5087ccf4f1f03061eccda8940ff4c912860a53ee0f80248f39749a344ba8cc4be2299a39237d2036d0163e374a088d454b4b6a39950be613f7afd400d373c24772dd1416fe808f003c50c7073eca6691879e731704032d90446fa289bf9eb2a14132723e0adddfcbd0362772e4b11238b2bf97aa832eff95d1c9069d43072dcbc5c17fef3e89e77e03003806bfc857dd5649e10d5e21f1ec8ce9462c5e778624158238cc10ab5c89b19f503e13e03d7cb59eac2f07d60d252f67622629c4ff49e8158c798ad29d6112e45520219ffff032f361ee82e193c9883cb52d29c6a9fd3a68f8da0660eae95ec2797b0c4e8322203c07bfd64cce3b57ea42731a25fa8a1f65f1c78668cbe74a8f0ae598c567d70840323ce9228e82b4702fe44f8599f3a8549b42266cad10a62747ca5f81bfead645203f716f93469dc346b810eb614166ff0e0bfcb8f53a365109cf932501d6bf4d4e8033e96e50e82f8aff2d1fc85da9d3d815dffa7af07135f5819949abc2f90febfaf037a6844500acf029e6e1c5a08f072c925dadd21cedad02fcf51cd0b3600e4ac41033d01b620b9d1eaac369f1a755ce24b7f0f90fc5228d467614fdef17c7e0d064a030988cd7c8016bffe23f73a10d7fb0b73efc44b2c79bb740e53da4c569331c05003d92f3658e3da002f78e192dbdcefc83f599caa2a92455515f087115df551975403968d25188b3ce4ae25bd56a50596a4267265daabfc765aff0caaffff4a1b08d70335e1bb3257d34627667877805a4c0ae8403a9acc3268f1a86dcd98969ecdce4a03b57dd665e69629f5996a0f54e609390c2af7cccc865139fb1b9bb98a60df5c6f030a36416db38d109a71d93e70f755083355ba559c7a1a5198c3d3b079729b75e703a8f945c6526be91f4f640431938b979fa42c6f2de7dfcc991265b71338009a5503a28991c629b0e2d06906d2087c0fadf40fdbefdafe1d3d08a337dc3aaa5ac33d03d3c80eda75ed555fb4ce77c131bc246922f2ce8917d3339b8dddde86f4c64eaf030e22afbf1587f2c91d5555047c2f1597cd2b9d3b98f0e69a2386602ecadf20b503cd286ea3746742867dd7419f35c77f3699f649d2ff8b787e9f54248765418648036006cb080855a67098b5769e4af9e39a1fb67cdca07e20114cd4496387134ff503ad3374180cb5a4c9e28cdb2c66d9fac2f412864c78e104df6e8b3899dd14884d03b96b840dd053af9695bb00a67cc13d7bc935f07ddd6fe85e900a2052ca06dd2703b60ce0e60491ac36fa1b663ee07b13597a14ca4717630a20fea3239fdd4c0be905581e036b199562966ae00d2f64d256a5731e2b0c75046a4a4d422610e4d14cb00402038197df63e0b958d4747e24d748d002c22236b279c5c3948c995be1f27a571d6b0363da90044839e63d5e1b3d5807848eb1c5b26d8be21c9351541e43d1f0b450990336bea8c24cf25d91244748172f799820c05fa3e1d2c98f5368a9df4795aabd4905581e03439d0a0b1e9e83cc2637f496c61af38486a57ab1a6782e0be325a4f4700c024741dbc38bfe580005581d02f1773bbd0031581a808d4eb27f78bfb940794e5038d16146f0b6bced040305581d0295ebaf432e4448d1b8e5cd0296c0e50a2008f01fbd7c37c8cbc7cb700c190463480744ded06d5472f80219840003ef6bfac81afae51daebeb080c9cdd51d547c802c0c67d473a77b4da3bd06fb9803689f46cfdd02f83584fc93f5fddf4d36dc58503b174916d1ef1b52f73b9900d4035cfda204d6842466338ee718e01fefc1e31c05ab227e2f424f9f0460ddc37b3b05581e03ce5f0f59aec9c3173620b7259479a664671600d5dad63cd1258bb891f007011bffffffffffffffff05581e03f46c51f73a13a7af6a5666c56644da7b77d437a8506f8e1d2b5cd000b0040202193a3703631a6328494202f2fe702f5e0f511d2cd9f5a1860abc52f3061b7f3f20027e08038f0f1d97144f0633e141216f028f55486dab5011b23bfa241af5614a229e1157034ef7a10b4e29a8abd1def972d7cc902b639fb79b88d012948a49d22b4e3c365103f0c02e1c7087993c2e6cfc844ac0a165b466b31cb8ffe3b9829ad632f2af4b4203c8960b8a17d6a54ad7f7bb922db511106930ff760ebdf637b313a1b2d4c8558f036d58bd5f829118aa3fd1bb0f7283baebde78fa9692ab19063d8510ae78b7e4f4039ba339606ae2dc153b132b19bff329b64c3d824718274763d3d0a197d9ce289a03e14206da006fa8e19584de6d864bd200849ee2d55555db5d6e5559f7b838d01b0374f065f2474e7a16df0fe75cad7466e9fb783915ba5db298ffe784b80cdbcaf003b2019ec9c64429502171e9367f62bc6217f2cd0d3f0b97eeef8a373eaadfba7003667249fba2e1e0d3e5b4d72343b463590f7904ca60f6303a86e0a7ccb9979a8003bd31d2c1ee0e17b701ad21c92713fbc3bb11e7967da0fc84b4457e92bdf0c989036eb263459764a2834b00f0544fd5dde7b5500eca34818915bb84f26d44f15f0c035049a63280651d8b4f5d0956d96b6c087436960e6ef91bb1d03fc67b43cc8994030fa0e35e3107e61df7f3a4be43693cdbefe1b9dec592938ace4dc25ac80704cf0219ffff03f6daf85552b50457397895148b753f1ed0e9e2b552516187eccb45ddbf5ed87c03dab7a9315f68bf7cf1bfdde637d841e5155aec9baacb831dd49161be4ba567bf038aa35abdb21d4cb0e044f00a9088d2b02216162a79821e8c0dcf80b53772499203a94b4fc640bd1446682a8fc1d4e52f1ccbe08cb3591739b5878ab908563e0a6e0219ffff0389f05d4f0e09de848b52ecc3116afc8234856d4708e56569db0e416cc0d971a50360aec8a1e95f0b58cdcc9d4dfedf7b6e4ef70ebecf1a8105e654818d8138921a03b7c1b8f2ddec7807f07b97e0c754e68a321db52cce03171230cc9c4b3427ed0803f57e3342ca78fcbe2565f93c036212793bd5e99380a77781fd5e6eb9288e93850219ffff0219ffff03965c74e5a22f4773a43c1e49a87b47d2b454696309d5d6caa9dca7dc866fc6bf037ac68296883ab499e0bda51df94c60b1f174b81b83ebae1e05d16da850bc9b2a0351da2a1ca03b22257e6db6c87cc9856504626e9cb11fa231bff278bd4f3462aa035cf314502711fd5732a197f54efd3f074b18c070fea51a3551a99e08b51bcf6803600f1a9671ea7a2dd20607a06f3cb03a46d3c4307f9fad49778a69d9cbd745eb0324adaa7083d6d376a390b8d36d112962b9f02a6fe605917983083dee01ec261503cc7d523ca706c75aa159102a8a7797ae6e5a8ec6d196576cc2fd8cf0c45a5ab50306f049372efb0d5f606bb225271541fa0a2da69d0f3375cb29abe3d7de9456e50310112a6cbbdcce9f3006e9a1d07feaa158db78b72d892283c0884fc8ab35434003054cfb1ac2c83f3549a6c6ca931822b59ff23ee4ec60ec1fcae13dcaac0b2f39033abe786127c8392c9a475aa2ae068d6f248b9d61de243414419b31d1ccc2768a03103a3aa104d75b6cfba242248eef494da3571071ad88a8d14c7b8b48c6f6704403763c39cd4bddd4a5c13efc8bc767f5e625a67d15ff041bb1789c930654a2c34703eee51275ab4a5e893189138c31dd332659fc6ae1fa1d802222f44f26958f0e880315ab08a0ca199ba31917d650e5604a63f5614d626268af5098c1cf49d493f7380307ec3a6e5ce88e4d85e432a45b8505f80c43e12ac95a43ffd4d3a38d31bd10a0036d8f7c19603a06f31419cc2bfb1e8a1ddc939d37d2de884aae68f3b7ff98a398034627b5d422ac3b1c88a9330299212ed2cb7a125365d24798e9b99718819f100b03014742e5d8419a998fde37a2a4499de8f0b6c149dc5589f6a26089e061978fdf03b51d4bd027ed6d9db155bebbb0c58c4bed8a75c492af74edc00a8b6f7f43908203f0861f59ce9b45166076c43c6b8732556454683d31d5b8fb07f91020c059531e039792687f6278959ffb1913f8a6fecbf873c54570f2ae741a84c4658832c0139c03c5aa1f4672bdcaaa0b30191664875f10414c092e6d75631cc7ce8ea820079c8503ceaa0454128ab5a13cd7195086858b8dd6f3094d92bd9b7e4ed82f1a133592fb03b033c6a27a0f339f48510044d41b5ff67bd3611e49ee7de59e713d8e4f08aa9b0320d0b3c9b39f00374307c53db1d3a9a743b26524c76b22dd61b6237aec972904038439a079e64b07acfe4591978bd47b9134d318a1379bed7dfc2738dcafaf161e0324f18a9099427f67a38aa59705d5491858ddb497ff4c3a70cf67ced3a6d57d5503061899e99e420b755d9f61c7fe26f2960fc83c01cc10b6e2db1cb925a39d3471039132a30fe7d8a68d7da08d8e00b3237d0b915fb7a821b9332c63b912cc9d10f7034c20f1a4d536d74296f45a807a148b01603e5c202b417d2102a708710665275a03f9b5edac1405b494728ad4ff0c79f1df513170d8e3c50c9fe73e660c4c6f947405581e03c7396013afba01d2019cced787cd2b21dc123932658cac46afd634b6c0031bffffffffffffffff05581e0309c3bb643f8166154d8f22e57edc4f684af057e67ac8f4b77fa6d9a7100c1a001ddacb4966e2e27c5b1f4a038f05581e030f74d7e0516bd893ccebb16bca1a68fdfe5198aa8bef033f011d4002d00c1818470d89569e6975ba031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e037495864b61b2e370440d3f095d3f1376d66fb1c9411b8e22d7003e5ca007011bffffffffffffffff05581e03dd3271994641c0c89c2176f4f3fdf9ab4f7fc4e9bc1cccb702c46251300c014641ca8e52b935038465a48f731bfa48053bbc80a378417f25d4b9243d50542ee4ffa23bd306ccc60219cd820324946660f086cb8bff26e52f8f46cec96d3e45de039b7a38abe231b9dcf4dcaf03ad19299b85086dc702d1856599b69a18c538fbd73a25fc36d43b533505f40b810219ffff03f61a5a11ffdc5d6a197e7bee95d72e3342d5490317d1912e35e26e28f76e6b8f03e419e55581bb0355b447a05c73f6b0121630cb05d0350a56c8b1a33cf8dddeec03236444922ae09a824680a9309a792f0aa23f9b4dc0575860aa98ff890920e0900347fd36f83e7deca6013935a6df00e62879cd87a4ec69ed65235accccf073428c035cd9953025be7d87fdd48456227d958645b1316fa41d444a4d59bd6a24869702039f7d771370fc6ddb1960a65d442128527c224c3a5b1732e6c1748732aa82647303d411873eaf6bc1fc80119f843ed302f904b7c22ddfb729aeed10b2313d81393403b75f2c00fccbce120c0674231f90ed672a4770088510b40b29e1c4727a2aaa7e034cb6c06e9c81b6e5248b8b3087a0458f5bdfcf14ea460c2a0e51a43c8a51ad73032ae266cdcd1bba754355c15f9ff7a2514480e5280615aaf8e8cc86d4e5b6d3fa0386631c2858140bd144e1f4bc15c991ed0d41237497571394bf449c6a2f5051680331f7fe0a5afcfb04bd8dc3e44269917ea67cfc7ac55822e082f3844a9c2e236503119f63db3bd01e0363b2510466b3af4c6c51c9170c80b9e4dcf118019a1b876d03c19535c28aacb4cbce631ff4bd69cb578ebee01259c2290a44e21085083d757403fbdd802e80c99bef78cdb5bb7435c07cd2b6ccc2bdc3cfc2e3085b8ebe4e69d10219ffff032e5d1d4cfe03f50dd321c73a86f2a72d3951b16c66c6e2cc5ae05cfeb75c447403971e58c68df8ade3c722f7a0b92e2d45cd38a6734ddac6cd6dbbdf8ad370bd0303bd07e52bd6af565005788510d437ec18704f0f8145fcc7b98e37f16714c1dbfc0352cb6b52d5e7788bbba3c168354bd45b00f82914251f0ae2b850e3f21fc62689030779ed3610570b0d52f31d9c38ace09710bbbf2013f99659dbdbe62a404b90b70219ffff03a0edbb9639a6d8c0d472edc5c1c4b07c63656432cc6e68381a16d87f1fc3d10903ba23954bb27654436db56937f91ff3633e55076cda9a918008085a159833bc1e039647749108f3fd5055019b1a3accb2354ed56b36523428222cfa891f0bb960d90366d93a4a5b2fc5cc5ef967e4b3f500870b154db262813969115c48b3936850d903afa5997d7c08bfd03259435e04adebfe30c027bb33336083b5f41a58256373400330a4bb977f3808bbf3be3f01a12c42281f95278f46e0b517d3d1eef86efac9c503095f81de154a9744d82d8487ac0beeafe2f9815deb379f1d53bbf2419e294aa8036f31f09410d3fc602eb6adc3a8b3defaf54eca931c19d14022416d2c950b248d0305c00fcd9b1655338839cffc5663f83538b102541a8b3955308732e52cad86ce03b06560fd97a2282bce3d8788ab2318cd69e5c50fba5fe343d3d9ff8b8b5133430376f2b90c8b676af90aee4317985c39984e1294f6187800565261bb78486b163303e4094b03eea7a8e750724696939dd6ee4f493c0d11b91766ba5711179850b54903c3cbab30a3480d0fc186f0148518e3b2cd2e3e1ef7998776ac84d12b5aaf1cdc05581e0343a212553211c3cb7fbd4257160bac7c0f31829fc536ae92cf093c77200c0147051546a26560000395feb06b1c871fb0dba8e1f9a33decb59863d62adf72cd7fd6c6a96fac43557e05581e0345a8c804b7617e818ffb9027ea327ae54cbcb64185bb1776b933ebdc70040405581e034916018bf4367257801e460c378f153451eaab4d905402618bf80a5e500c024703182b7c3196e80354cac1b90780952322d14f99d3de0c1b945a4f9b35432ad63fad3abd85c5f1fb05581e03d2e192e20ee227d7b33279b9b774b19d4f4f2c22426c61e38227c126300c024705d64cbf5db00005581e035fcbe5c11ed02819aeccadf9a7a3a2d4b63a79f5983315884cf78beef00c0247041739f64b16bc05581d022e7e0470c691f0fa60194ec0600007a152adfe04a1aaadb3875a87cc0c024502540be40004594b63608060405234801561001057600080fd5b506004361061002b5760003560e01c80635ed86d5c14610030575b600080fd5b61004d6004803603602081101561004657600080fd5b503561005f565b60408051918252519081900360200190f35b60007f080000000000001100000000000000000000000000000000000000000000000180838181818181818181818181818f097f062b07622f501888a668440d9b856be4b0c3bf12a401fc2bebaeab4a7e1684ad01097f075a127d817aee244517479bab5c4bfc2a0035d43d673badaf64d8adf94353bd01097e14f3359ce0d2891d1bc2b6f4d2d6dd71fe22925b8a09f66147db095a9d498301097f02d6129632b4fc43e4142abf55fe2d1f3e79dfa01c73d8fb56a465dbd07a968201097f05115ade709c058be5dc6f406794062642086e431bab03c9a86d53c79aa83db401097f029f6aa5fc92eab8b8b9871c8449c1f617b808ea9860717f3e5e1678672ec56501097f07e08f9d222cc0764fb5ca69e51ad4cdb7f1b612058568a142bc7a4cdd0e39c40191508083828584878689888b8a8d8c8f8f097f054c5dff0aed23c07edcd958ee3690e617011b87a5fec541725237d4ebf3438201097f02b7d501bedc4e7c604b0e55dd2d8166fa39a541efc24d81d8464fabfef3fa3701097f068e1d50b4d0570e357eac7bc742ec26dac1edc5b179989c7ae8d3179163910301097f0707c572424682b685a1ba90dfd7e56f86254862d86e20b5a2d3ca85fe0017ad01097f02cd9a093ece61e554b2bdde3ec474900e4412775ad25456e5be6e11df7b9fff01097f07492aa940f34a027f8fb3700f29cf628c1d05d1675cb7865509f20617a90b2f01097f055e928ba557ed7fe0ecde6d1fbb83d112e6b06a087b4013b9c425fa36eb04150191508083828584878689888b8a8d8c8f8f097f03cdb28a913a41d597915de055aecc59f2b13079d3d8b33ab0a075eeddb1bf8e01097efd48fb35400aaaf57d130b6143b241db8af174cada72ede8f2fac4ec6688d201097f0133b6505a6afd2e5fada0e53ea51c012e4935ea6d2d02caaa15ffc50a45079b01097f02d2d27711772cafff2cad828dd78d8b213e317e8939cf79164ae64dea577d6101097f060ac57e328ff6938a17d43e6137a55399b95459be60fe980ed8960edaeee10d01097f07b056cb6f172b25e3555d6b1422ff769fd4c07258fa16b03609f0e374012ed401097ed21afb1901f1b3ad66587a7fb97ee06662edc3bc8c8d32b48625a135ba23a90191508083828584878689888b8a8d8c8f8f097f07784c2e140072fd26e95911df38f9a337107750a72b9ce05a21a0f781b92dba01097f07c1667b8d44d288c4f5150d01c5206d4d5868497630745b6916466c8a5b122801097f0491c2243a95c44528b86167a4418ff9d93a04bde8dd7a5d2b19ea579d29531201097f06aebd7a9279eba43cb1c0b14bb723dde464a86cac92518ca16ae27a8684d9cf01097f0709be747b0a69a9523680ff69e6bfea4637bd570ce5c45256b39ff695557da601097e47275cd67ff3b7637ed55ced299a6142a821ab466a897f1eecfc8bca55726901097f058ccfd44df4e339c65e1423eaad47210f2e16aa6530d3d51f38b70e5eb3a6230191508083828584878689888b8a8d8c8f8f097f028218a1bc7586b71ec1989082b8f7ab0efba14569c6f6e5d7aeee1964ab6d7001097f0660bd8049bd301d093aab9ae530bedc37467d4ff0a12c89d689d61ef9b9546a01097f04dd38543d129d0a71b1836c6e2eae47fde5d572e32ee9a5791f7ee823eab4db01097e08509234000e130c8828328ae4997d5116117716cca9490e6e63f30b7df69901097f062ad4d764ed0072a7649425270e2b210421c77d3ce98e2587ea5440a591ecc001097f066c5222dc133e37dfa0566c49d107852d978eb7454489d3b2ada8de022125d801097ee4d1f1f1f9b379bea473f76bc8f3c4d530335e2d6bd782b42324872767b6280191508083828584878689888b8a8d8c8f8f097f06ac2f92bc4c04fd50ebd3e336b53b866e790ace39838aa96a4b791011455b2901097f059d753a23735a336c50466f5ccaab3671230fbdaf55101530e5f562a5efcaf501097f0166b26359c51d067955874f5612eb70806d7b8d5de4d8e0a75e0d57b39b184601097f02dd27ce7910e44ee00ec3335bd79429846a70d92d482adf81b36a9ff1aaa30a01097f045970c86c25bc9a68f2e2a34969faa2134c95b19230fcfe7436c98f537539eb01097f0539cd2c1a28df263709cf0eadef73a600f563ab3d82c27692b1424814cc3e1501097f031eb3b57e6844e3efc1e3975ea393476d8aace5f43ca62b09314c90b8ae96880191508083828584878689888b8a8d8c8f8f097f047359c8dd2b86e4f634a9a50950abde25942877bc5db93d62bf43d2886692e401097f02d8ae7b28c8c3acc8bef3d4c2a9f5ef1323748de693a9a1ad3ff8601116b16501097e4538fc863186b4babe3b424b4111251bb1e20ba5516be54160cd560ec0d5a301097f0559548517b1025ad61020be3e252b6ddbf1d5d53043231f8850c0da52b8268a01097f03132d42e4a928c08a972e17b2c3b500dbcadbe6190b2e7f5b58300a0c8a38c601097f05b02adb78afd4e219642a1fc38b2ef9f63926841ccfda072ac17326d3d50f3c01097f075971517855ffbc9657dab30657ed1e3797307bbec1ffe136cb0d8a64ed6eea0191508083828584878689888b8a8d8c8f8f097f0174a4710688db61da7559255caebf641a268b4df53d45de5e8156d36b4b2ab001097f0295fb60eec46a40a33b1a9532427b42e224c0ac6c50e3c1c5d17c2c16651a2501097f02037a7d08a1c4fa4d5d4f53436a252302840007c09163026637e9cdddc958f001097f07e9e1c3d4bd3231686c235a495f737a9ec3d633331a95d85e17e90f99a08af501097f0218da336adf8608530fdf8320c4edc00631d36c8726430732038a369548cf5601097f078c7b0512cae47833eb6bf01c1075aafca19eef9b32e37f4f9a9eff315637c701097f0628226c46fe0bfa8aa36074ed0785cb16461ee2945ecee9deaa6399bba2742c0191508083828584878689888b8a8d8c8f8f097e2eb6bd70a00ec26418d347df1a444f7ba0972416103f00c771e0f3d50bd8e501097edf82eebd6cde9b50958606c6ff83c855c43ce9613fec366c7792cb456ea91301097f04221572cf29651f508bab9eb82545b17cf6f9efd0416b65262e5491ad408e3901097f01d5fc46deed0eb9b56cba1d2bf8075227504aaf6ab1330b346cc3cb84a07cc801097f055ee57d4096ccf0260baa2a1a2639978d965a786e4fc917cb2426f8a99591d201097f021706619a453a544bee0ccaceda9fe69f860c894b36bc9cb7ea4455dd88a9ca01097f076ea16625d0cf0c04f096ac7d6eacafd00809ef1d1a3cf5e37dc2a13a02d3030191508083828584878689888b8a8d8c8f8f097f06d0d885e8d2530c7a324f7b2ef47db35aa8162289a4420a54f13a82b871d85001097f0471bb97187c83c0e7b51ab70022147e8d8ebe25d4081907e7d1bee8d6c6581f01097f012b9157240a237f319beefb6019bf0de1897b9e2d8e5536e3a21d8f9fd689e701097f02ef7f1dfebad70ef549da1a143c838cea27749807efcb1a0a29cfab1642092801097f0519de0df91b17442a8f60b512297d69a1b516f70f67d76eb9c287f06e37c55c01097f02a45de0b79a4e9c53d47f6126d35b1d050775d5fb17f3c3dc22c7b6476608c001097f027e3cfc87448bc0392a0d6c1b1aa06626636fc703bbcf3717fbe6f0759c48550191508083828584878689888b8a8d8c8f8f097f077a45066995089dbd4072d6817397ce0c7e92b53d19338e9bd7549e954bd96101097e3139ae970d95891aa70cbbf6f172223e07eb521a5149b7e0c9202793f6dbdb01097f025dd21ff92e6f1075df6b5ddb2b774ff963b1b84a985261b1e94ca9eedaa49d01097f013eb9f5362c087af5ee758bf0b589c0e34af337b3c06c788573534e96de30b701097e6a39a27be962632e0bfb245f65a4d70912d1572e39003d63def5f45bbcc8f701097f02c11fa8c0ba68518942f1c686dafd32aa26545886d28cdedae00071360df67401097f07ce49a9b8d374e1174ae6ccea7cae8d743404552253f7ec854317722a5efffe0191508083828584878689888b8a8d8c8f8f097f06bf518769635f9fa39c1258844d4f62e5fc00b70792944da0a939990492313b01097f06123efb57144c151864b4f717a44cecc667fb2ebc47bf24bda4f7d0ef8f550f01097f02c29d0056cfe7325567a9f2d09d917b37a45aa3cefe20b78c4bda2942af59bd01097f076914b565dab13e76053b7a74c24c005b0930011e48ab26db44b6b49a1e7ae501097e648c35904fdb8bbf9c0bc9288319c248e17974fbb6616a70acdac004878bb901097f01cc7ec07c4e1e6626b5263044071687d0ad34ad4d08996a213380e9b728585b01097f0154a5ad294d41caedd8d927eac226dea1e2b78f6ed0a6901a00e45ae0ad78f60191508083828584878689888b8a8d8c8f8f097ebd5fd7dcc1ce2bcd7f7415a22115f0c846d16ac7458e6c531e7e44dc66496201097f02b2b08bfc4c3d5941538b2eda43b3cd009656cf83b6b23be56b3041df3dbb0b01097f05e48cfc304417473eb4e587942a76921fb007d8b11ce648d36828e8cbb5d59501097f079c11c262fc2efc9aceafe4a5886713151352e60c4db45826e0e343cc5919a901097ee2acacfba8f832e4e3cffb6ecf4675df678403610fe91363172229444ac0c001097f06dbd918c7623bb07b05ca515146ddd7193373250e0836062fd1c430e2b7894a01097f061b210c04a0899fe2a3dc53348507d6f53d4cd3831644e4630eb40564ee5b470191508083828584878689888b8a8d8c8f8f097f01e3816f2a6a4900b65d140d144225a8a81cb3ea22f56de3cbcfe3944fc0e89801097f03c99839cb11fecd878ab9efd1d2ed2a718f6e0df4caac1a070de06ddf1a609101097f0567205f3e5ec69ce7962918c41ed0309c3ddfd85fc92702ce1c207b282f17c201097f010382fdec78a18047041629179e18ec7dd067bed125bf5fe83f13d637a8ff6701097f043aeb91e6f453d372353d9814a85c21617e6c934c694a0b06100e1e9aec408701097f02b6a2e9d453e19e3d766f24cb7c6753f84adca0f75f7a871092688bb5ba0d3701097f01f3e3e61713ab64544b28dfcaf4da25b64e625048ca55cc783dff614f5796d00191508083828584878689888b8a8d8c8f8f097f0364cf25e248a3f2fc2106025945389328c0ef37848a59ff2afdc685c085482201097ef9762bf5620ec90d711f12cbe600f29906fcdcdea4f17cf51ffad2e07887e201097e078e4cf312ec50466bfea965b655e9514d9d69bf0bae566fc88187fe730f7001097e8981cc99962f20f8814162568d9d7edb7fcc637fc6907a98b1d1eece9811c601097f04e28bfd662fc5e09399fc49a49a622a7e845631244b9472df8c91c4a703321a01097f03085800be446839854dfb7bd9ea67ff139267fb5268faaf153db26b0036863001097f0787a6c80d5a23f91cb91d2508633cce6125da76e797ed460256933a4e6a24b70191508083828584878689888b8a8d8c8f8f097f05ad768a2e70b4018e505bb5f6f44d249d9f5ba5f126106cde9be7726cf5c0a301097f058afefb8e3180356e33794e20db869aba4bd4e5dfc795f8089d6f123025179b01097f04f62f4d968964e4908d16fb9412f8d10eb82e14e83f3e094a02470f27eae00601097f05ffa0d51bff335ad53cfe99165aa64f5ac1b01c360bd0101856537fb03da5ed01097f043fa3aa05db6331941265719fc1ee057d9f3dc81704f81c2ce7faece0fe86c601097f01e836012f5509ea2f3dfdd474e9e4a96f6924e6619924ee4c6870a5294e26a901097f041052d90f803f015bee5bd1a5f6e2f78f30439ecbe39861cdaebaa8f7c563710191508083828584878689888b8a8d8c8f8f097f016f6ec82023f48ea80196121afab584b9bce7f01e9515d0a3b489d68df3e2a901097f04b7236fb7f8b72b2d369effbee5b4bebe7d2205ed72f9831b41c711680cbbf201097f06620ec871e8a2c03933d0621b13e7f357b7349ea16bb549e7e15e265269225201097f05b553a6606a3f01d862af22a3309a6df0aadec753fd1e0321b0eb08504c1f1201097f017a1bf17777a3b56a76df412810d05c9e222027aca604791694d3b020ea40cc01097f064fecb621f4dc18fa1b66152f28bdd15b7b12d495c496e77016bf3b979e4b1b01097f07e31ce22d2a3d776ad90e008ce82c594dab9ff2c42708f4f0676000cd86891a0191508083828584878689888b8a8d8c8f8f097f043530eaa364a9df353dcfc154bae168e0fa9b51a3362c6cb351d47bb7f6b82901097f035fea15e2101714f172da73da6ddc2077ebd42ada067e7879bba8c2ee1d9db101097f04509575b94136d744c8679c3028b0db514688db5338c4bcc9f50ccd7d15c95f01097ef8bd8807280892ca46c092b74f845d90f3a6b61b197a0594fa30686ca41a5f01097f051443fc9bbe11d787df4afc59f4366629cfb3a14c80cda1caa1ce6107fd063f01097f022cf3cd9fc0103158f7de369046ac0cff77c44c3f9c6ca942616fe7d59d623101097f014714592154025f15704e279d2db4c70f545137269ccbd82c11fba275bacc850191508083828584878689888b8a8d8c8f8f097f01d44a3f67a1142e7922f4329f775fec5f8bd2d32ef8ab41a00821e76fbaa89f01097f02d9f309e84716b322c26aa86a3fe3cb6ff230e0968dfc58b869268c751e510d01097f064ff5a81d9e22197bb59e8cb340a0f44e22e226fed168f8b125d850bd727b7b01097f02cf1eefdbf254a549ddf4069288ea075d9aae074aac7853005b57c37c2039e501097f020d846afc1a11dae8646d542770f294b9c9f21f1196fba567f2f74d058ebc2501097f04ce9244cd3966ce1a6fd7f8b85fb1c8751e35aa53032f8063535665ac3a69f601097f0203ddf8cbfae2898d2d2f183cd0efd1c3f7db1b84b8e96e38f2b87b4bdad1bb0191508083828584878689888b8a8d8c8f8f097f037b40695420e59161b338e413a72daa6909f0e4f6f85426f8eeb6bd0dc3a1b501097e8554877281326c1c7e1f3a2f5e81341554ecea862c2677fa67ab2f88b3b03f01097f0619cb05e71db22ca1ef274bd0a7cdaf4fb79b3015b96f44814b490f048d2af001097f066af1f51f840c438b502c2a5ab689f9b38c2c96df36988710951bf185cb850101097f05486125e0ed23fdc42a4f8c96cb08d934b6f3b429c4af5f8396618e978e981101097f041d785e118be2d27a159ed5216de66a84873e1f62088726d9607c6443a1409001097ea6117e45c1c561307d63895569d34fd7e3f2b2ea088dec37dc3a5527deffd40191508083828584878689888b8a8d8c8f8f097f03bfe2f1e8df44829fa27a78c46c223c7e64bda85be60d8a3a5d0e7d36c20e2901097f03daea06a4a96480c4f7fff1082d95836964b63c14281ef942fa9a9890d8754c01097e3678ebeaffc3e64d76141f41be973ff36e8398a6aa0385eddaa0c4183e364601097f05cc1da57cf1059231e195a26b1323599c95f98e4b302d6e6f4bd41180b56d3501097f04f4cd7f9fd5b694cc5ea6154d0738cdbac3978ce74a7314bcafea3dbc1da61d01097f077bdb42e999e93273fa3cbb7ae7160522231680eccc4d38c1b8a83d2a0420a701097f04e1cdd107e3116b4ff22720938a201eed2ea0b499bfde301562f5e39a42b0660191508083828584878689888b8a8d8c8f8f097f0513bd3eda9403f4167249972ce4947f3ac9e9da03a7b9ef557a65645b9616be01097f023d7ed01587af3b9aefeae8a627c6401d36245cafa9367631036d2bd7c47e2601097f01ec8c3c39ec4705944ffa8b3b9b61f73c9ad759cb79a107dd93a125685f511901097f04d0db05514a8c0f152a8664579c004fb738cd3790214984bc3f21f31d49436101097f02bc791bd7e68342116218ed9bb657b8b54e550022e39af11ce55b29ae49218b01097f07ea13011e0dce5c917be4cd36c8931f5969852109a16d7c5142e8fb3c8b765001097f011a9029a5c07557ec347592ba7181acafbaf0f0c5c9e81d7e995a4de57fe5660191508083828584878689888b8a8d8c8f8f097f0359506efbff0e2b81d91cd6a5f808a6c65255e1bf06cc03dbaba94758b3acfd01097f0491899cb7600abb42ac8cd91f2c775ec410469573f57c1030ed1582327eedb801097e7a42c4e98f014e50dba6b25fc32401b7695fadb7bf271fe0a763712ee545c201097f02f7d26f183c54146bd83514f5459bfd95ac635649d74225c2168a8e7baec08201097f03ab952be650de0c679ddc0a35bac2907a6e58303059d4edb914e74c67d0522601097f02b7f9df93ba787a9a5a7a0a3b5daba02e2ce65df16ada37575735697eda6c1d01097eb04ac19a9f1483b8ee3b763be73814c9621fb3d23e6d874d9093d999d3d4eb0191508083828584878689888b8a8d8c8f8f097f04f4df07e55d3ebf0ed955bd9f7c34de001f09a92c1ead17b0c1a485d48a432901097f01522043741ba933948d7298114b71322258a3d4e7cf2496590c35683dbe2a7c01097e0b489643a1aa2c181b4739d45582e2576a6f9bd51c81d300ebdc3a58b79bb201097e4db70c63a1dac4e5ddde15e3626d009683aa8ea14face2c3fdb6ec97c8a86a01097f0309bca858a0f9fc5a468a57981c9c6b7c79636b1f31284938d1c6a21f006a3301097f0625a1fce22a9fb7717107b137a0f5ea4ca059008f5cc6fdfb5cb5bb1734bd1701097f06ae2e00f7827692b0d20f483d3c71594f61d50846b52abfee39f6697513c0d00191508083828584878689888b8a8d8c8f8f097f04b5acbaa0f7e360885677439654649256829cdd6d4a6c7ffa904a0683fb5fe701097f066a63b8ed2255586855fb30333ce0e2ff4eb2b4cd5d2125d8d20cd3fcfc1d0401097f055351e9d60f58241736330de978242e4e40c4209a7879d7ae3823c148abd82a01097f0588747248358bf8bdbd990996cb43468c89909cad0f8230cc939538b9b331df01097f067801dffe217a1a64e0b12f405157af52025266fcc391fddaebf3b6c7ab79a901097f0411556b9c89186a2f9f79e55d045295790b28af97fab64e77777e3828532be501097f05c01501e6a113ccca7cc9c723b1fad6ba60ec5b0a85b7d09c72120d3f733bd50191508083828584878689888b8a8d8c8f8f097f05b0d578cb7aa59ba02b0bb894848b745440c0cf562c2e635312c9bfc305e16901097f03013a9c6094ab0086b1397621f93ac07bf45574ea26b09d3e4587afffe995ca01097f07d9c679179dfab605ca04e1993b37ddff490c440665005698a47c442a1cc10c01097e4f6e24500755d20ec5f28480a41a0cf23baa1aa24202382e9f4ec8ec6d759601097f04e0a6e0c26f85c74373782bd2924f3bc0f6b4a2914c4f7f8850a79eab58056601097f06caac68bec6ce4eff4f74c1f33dbc027165cc02cec8f69e9470ff99c0b132c301097f01c867fa9ae031469be012c4f201ed3ad56573a22891351012ad1f7d300361f00191508083828584878689888b8a8d8c8f8f097f01761abb092f6c4e3eda770480fb4ab095e786bc3f1b1f960bc4c95232308b3a01097f04a35c4582c91999a39b553248bf2a39ae5825204085a9e98bd6ddab3bfcc0a401097f06a4efc048a81614dede6c4f6181253e84f20d4a4f95f973147ee3fcd72077fa01097e65c14f7de75359a40c5f244f78b2920b61087fdbbf59aa507644d94f5bd21001097e9be8b219ca1684dfbef720a3e9f034b319e2d233aed85063924fc60aedf20e01097f07352e8793ed3f6283e492544b2944d6fea715980d8884f6821574d36868b0c701097f065c04013accf25a2cd1d9eb98689d71694ffb20dced009df5b9af167602b4c20191508083828584878689888b8a8d8c8f8f097f0679bf3101f8b2112eefab47d7372f0297507511c7cceb4478f2baf0541740f501097f0162e6e8431b7280f8401ca08922c5452c7237132efe3a481a71b5c97183e9d001097ed9da926adbb5ffa493c54223f97fa1b0d141129d8736bc4f5768426c7e82a201097f0711628cee8d673863e18f058cf82551ca8351486b9b210873b4e18447e1140801097f06f6131c193cd7b3fdb4d0848df70474ba9e80529097311cd7c13e322205a1c001097f02512f776d1b3d212be7c2adce1cfa083d1b2b9af1c6f3cc424b266bfa19aa0601097f0400330fb079fb4cc8671ea9a996de8f5442f20b9b9a3bc9df8b81e01506c5ad0191508083828584878689888b8a8d8c8f8f097f040cfb729788e16fa80b7d937f0088157d18ff2cf7c79b748d0e150c896d348f01097f059786091e2d824242c7aa5dde34ffbac99f6a9a1aa5ecc8a395aa13e8aa55af01097f04adf53e64235d5327822ee3e584674af053e496c5d92a6c8c43e1e8e7d327fb01097efe9d827d7e6387c7228d92f78574add4ceddddac1fbe71dec1258220c0840201097f037f1342e071f8a087c1405692443305d28d4c11b84d92bd7dedc563fc3ad32901097f074a39339d1d708a9ea407f03d8b0e5ab103c3251596258b78be1bd97ad0691501097f0152c16cce8c1c782287b8908a790014fe3c51c57cefaef63e2c8dae5a7a5daa0191508083828584878689888b8a8d8c8f8f097f05b32dadeb15d554f39f227de4ad20600eea4b763fa4c90ffa1a41812ae4347901097f03b4b0f9b88e16446a2de79c1d8c34865d5d6e581f08bbbc652ce67d8ac1d95201097f044041800e20fa7a15dd9274ea8283b09c30a0d900d9c165217004e669b39d9901097f05609324fa7ef5213591c8d36c59dd42df8f5f26f84468bb84f843707a5c9c4801097f06235547369b594514d2fa1ca9b06fd25f9d2764fe8b099c7d9671f542a01d4601097f0614509129cebd380f416c4c9c7127ee7b53d878860905f047ad722a8214723601097f04f847058896f8e2727ef3b4577e62d5f6a729696b8705fe217b97c73fd1afee0191508083828584878689888b8a8d8c8f8f097efee20b19c4437f06eeffccb05b88c4e236d18f8e3518ba124ab4eec844c49601097f05897638208b8e9509d1128c29af87cf30c57942d47016819435b373c0a309d701097f01fb19890707fa2e617de7dcea9ad35ce9960009f1e38aa2629c66fa5b8d5d1901097f045fb29b3ac673e9f525332c8bad73d76521985406fc09398078b30339c857b501097f0528d041bf152aa3a0205430412a196619b68c81d7a706fea0fc090e0cc6a10501097f01e149d42cd477212ab7f01fe40f76858f09ce2bdfc397df635ed8a453714e7e01097f075f781602ada44803c0ca4bc8c1bd5064700762d18c309a2b9059dcd8c3dcca0191508083828584878689888b8a8d8c8f8f097f01571843ced13a8d342b63c63abc4b83d357eb286af04380edd1eaefcef3f1f801097f0304103a8d35f43cf87d50682e86e473fffd71d13e0c783e596a59a62b06402d01097f02849ac77a2f5398eef51aeb8312dcef8b347b690728d4eb835bf4670301e6e701097f052a36a173c7ebc96cfc55bda4bbc73bc349657d39ebe096725e9cc4bff01def01097f043e371660fff35e52cd5dc08c9c347d8f7c64a116375d0e6e3ad3512d85a99a01097f076594f29261e2aa9cf4a90b58b0f79c2aaa99d63c4ff64b4806cb8cfb0df31601097f04cbae4979c7a1313c2d0f68b21f5734ec83f9e1a88c78b3976a6ef84a1b6dbd0191508083828584878689888b8a8d8c8f8f097e76702a08064b5768ae2979aca07322782191172276f1bcfbc14cbaa3e758dc01097e64f8c462b308a1337bca235add2482fdc3607507b2c9c0f91b9187f567630301097f02ef5951aae064a7357b1e4ed49f05f17f778f2e8735f8d17b5cfb82faf3b84801097f066e2651e6f5758c334d1c1451d563b2df07b424b5d0125c739ada959479890e01097eb3dd17f46d6b12bf4e5db184d6962c156bef94f9f73861e34d88503fbc517a01097f019412ccd078bf5665579cbd16035a251e08f40722eca4452eedb3173248846801097f0719df2a50d9c3f2eb3f0336665f2980e432191e21fc49f488854b8352fd94fe0191508083828584878689888b8a8d8c8f8f097f0459f095ba3b70f76e493c6afe2d4b6eebd21343f74bfe3390868612fc250fdc01097edef6a0b2b71d97a59c674c052fe23f7d000a334e180b0793b6974fe29a64c301097f074e503d57e49daf6939077c0b4a4d68e66bc2425ce53b01b48f14629547640101097ed49f196e60ebea0eb13d85f05cffedff32477e83129bad30bd9dd55575542901097f0298215f335fb63a11d31958d950d95c909bb94e144c113cc4ecc0848846909701097f06232d26f420f9b4f119e64762927b5e8a21192575b200081b0545ad4e9a2c2501097f02b51d7f94ec71f3a8e3e20d766a4a7f13d08d758a686ff86dbda48026c7ec3d0191508083828584878689888b8a8d8c8f8f097f045fb08bc21969d5ca9b1ec473cc92a4ad911de8b0607ddc12b9ee98c286d37f01097f070c0f7da90cd889d8df06f9774de8a9a20c88e86753506c7afd0e1f6ef15e7601097f01b16d94e84ffd3ad61286f5a79d5a6f7b5b5dd6442aea9013ad21467bf1281d01097f06a81925732161d4e5dc61ed6a10726027fa66d892aabbf46a477f4455072c0201097f013ed29a84c4875ac188521bc40e9258e03d83c9ceb8716c6fbeed065a5df73b01097f0184ee38f80fa532983fa248c14c0220c2a5691836e899a5c9b83c975b03608f01097f065f4a97d2b1c90582859966540e839ac2d62ad2ea960aa2af36776b2d07ce340191508083828584878689888b8a8d8c8f8f097ee00ac968fe5a147fef45fbd626c540a194ec3dfb2c1cca7938e037349d4f3401097e96935be4e41797417259166181bb646a619ef95cc8978ffeca81d141d062f701097f061c61341c83517cb7d112a76864271492473e04130ce4ce23331f7300bd8c8901097f073eba0e9e52c3a93ab6dce26d5858b2d699d8401b2c43253616b5701aa803c501097f077434256511acfd027b41e03a571a9f56b0442dc675c139a2e1476fe716102c01097f0325f10662fc8bd38e591b0e8caa47b3fff46703656b2c5863d39c150d298fc801097f03c835256339330b1c94cad78cfefda36a949b9c8553d918f3d8547cd1805ac50191508083828584878689888b8a8d8c8f8f097f07340540d0c9f9dd2c1142f03f408ab977afc7371934c62259fdd29f0652f8d001097f017d8ab17e403b1925b40206c11f8a6a29ed08217e1ef303906ecb354fdda1f301097f078562cbfb984ebea085472a1b004dbf86e7d99f4809a5020969246a84a9d16501097f060c93d3dac2628ad796e1dc80bc0796d054c991ea23094d699bffb43a630add01097f072bafd4641e6928ca65cb48e8001ee077944201f70d5bed524c69b709410d3e01097f06321e76192ba31cc63bf7c526c8ebbf4df5b705f01e4151068ee3dd658aa67401097f07caaf4f7b073af26c036d8bab5c74fc3f752f9ecc01041787e9ddf7735961890191508083828584878689888b8a8d8c8f8f097f066ada08fe725f364ca32c1055e1ab1216967856d6cd8762dd4ea915c2ed40e901097f05b6477413bac2f0d370c0cdcdec4cea10fd322fbcd7b202d4ccbeb0581fd34f01097f035c99bed31baaf7833ca759a9bea792965a87b42171259ac51b00d872d581fb01097f07ce96f5a3261a977f04ff70ef416a3d5c165100d19f551a6ac514e4d00fb18e01097f01c933d3449f6241d0f9d547db9e708fc2ee3e0598be5f87b675fb6736a15c3901097f0687aac173963fe1e01f9e0d50eba0e95e1e8783eb21c0f6c1f45cd42408198d01097f02f2f5447e274a20d9d60615f83a18b2a4db300d5e199d7c8c6c6cfb754e8cbf0191508083828584878689888b8a8d8c8f8f097e91cd6c3b8ddd8954a44e8a9cf6f7f183af8e6226849f05e6e6ebda2409e04201097f0282ad11848887c771898b5a32ac6ca14cc2510830454aa8e194975e308fe04201097f05455d2de2d7570fbeeb431a9a21187ecc049874b64a227bb543aab4af16e27b01097f02fcabf82bfd2529eac169a520cbdb2a0f8c205c5a9b1f1ac69bd3a44b25faa901097f033d4fbf9dae7a87cc13db3c95ed3976b50113f072e56a13e675e4af241bb86401097f03cbf28927ecbda443555c9d51f40c294fb6688a17812cb0c85fb6501cdc070901097f04fefb86cfccbbea031f15d85033f10f92f2b6b689153e305bfa8821935979c30191508083828584878689888b8a8d8c8f8f097f063f4ad31c4d59ee741b1b0ac99e022959df079b5b033ec7a1ecd3b4797f94d901097f06c74e3b74559e12949b8c3b55369b2d275b2920b4442c536d63f91debd6149901097f045a5b88744e83d901f33da0d0de869381e7a125a6d8bd104cf72ded013ea4c601097f011243de8b4214dc3220693acfaa6b626cfc3b8c812140779af9b72dfb1b92f101097f0123f50f65a68168d6b43c464270479801376ff6979b94f60252a47d9d7d34d201097f025446fd382a1b0f5350b91290b2dc35a6dabaf215d53cbb32d1732fc6ebfffb01097f0160d7d587f3a17673bf04189e0062c7bab764fb54ebd0f042fec72f953a91da0191508083828584878689888b8a8d8c8f8f097f01e0fcefcc1d1c5a69e81c4fdfe7de04d95b53c162a3b64b5956df8e59e1b93b01097f01925470cee5111eb991ccc8b0412be603c0b8df342d7b186a3aaeddae103bf301097f02848af5bb20ab624881dc9244ea18b1d6939e14270714253a896e57cb0f63ea01097f06c2a98464d6eb4038d55b57632bb283ab091eac255fd6797df41612cfe3ea1b01097f031563499de399383464854a8679e0b073513c5bc46cdcc2a2107f00677e635601097f06da4d6fb1e6b2f1b42910a9dcc4702912002d7d36ac7100e19c7f298c7948a801097f03d368784067d457e43cb63b3f526e721fab153949b090a99a128c5744fab4a20191508083828584878689888b8a8d8c8f8f097f0266b63657dbde655f034c014a8fb73b77138b52eb0e17eacbf402bb90305f1001097f0179f2a40de3db251b95a60431e7cfe2dfa48dc8654bbf81add938e9f2f6725c01097f01118c09adef545b07e209d88b0a645673a103c9e71e8f671e74c84abf1a2a2d01097f06ebb7c4ee2d4212e6d7cea8c16f97c935f3bbbc2f400c9a738f1ebd37eec6ee01097f041d1ca4f756c80f197ba1635314a3dc756f9d8d9406af16538643d3e1021bd701097f03129daa367a01a45fe3f0ccde215371f59c5643bfad33f4269a6478c8c8b7f801097f01fefe6ebd886640df863e5f5c25e9b42fbc10adfa7ef07d1fda0eabafa60a6e0191508083828584878689888b8a8d8c8f8f097f037e79bd72d714d3de7ed2b1ba79e345f75646bf67efd8ea3050ddb357802a3c01097f024eb6fb4dbac687e35d4168b970db6e7dc76c4c886dce0d4bad2e6544b8e6c601097e6508b5fcc13191197f91407d5b1b21d321b7f311e55ede9ab8a6975308dcee01097f043e46c5f1cf3b5cac9722eeee991cbcf53af25a4a355a91ea9b8a4d4754d90801097f07393709fd08807a84ca44526a2b8ec97bce5aad1adf00560d04110de6d9eda801097f0690c8328ca161c48f3f8f37570e42095d1a0d9e101b3ec0ddc91426fc22facb01097f041354bad5cbef57b0e7eacebef8f0176f3b70992ea5a418f502242acbc4a1ff0191508083828584878689888b8a8d8c8f8f097f03475f32b5bea9dbd19ec199ef34e531b696cac0461e644ffb41a5e99d0735fb01097f033cfe02e240929353f193c6d3387f1117d04f116889f38d9a196abdf986e48a01097f033e7ba5f7e56065e3f8b091578e8e7a7b118116de47237fa5a97e44e97b7f6901097f05526001b8a8c2c6209e40b5d380836bcf63db4ef85c25fd5b72d749b0bd36de01097f064028a3945aa2866db68b304dd0d83d75ed0ba5c2f9d0b47e80d11d8da6526d01097f0378113f110b2404e7d185e920249519ded728cb1027fa8cc2843a588886a7ed01097e5f4fd7854cf7b89a3983da1a39839d85c7331c3353b0a8cd218f7f4e1f780c0191508083828584878689888b8a8d8c8f8f097f06467afeee167ea95feb4a85c48fabb2c7067de57acd5098692855189e21c57e01097f01e4bf5029043367487394808d7ee7df5ad1ad1da2c4710a1b2444ffde106f2a01097e684a30c1084e8edf34a77bf8848fd2098459f5461bdf3352faf9c8801435b601097ee3f2bdc2de2b623c56390eb0044adb980766ae1a58d775e003c39724d1d6f701097f062dae59d425684ef78c1829e0454cd5e76f5d322ea8cb5ae5e911f545beeee101097f05761ff2e0a250691a66dc36d372afbd6a8016726efe0c418d7899d60d26bde601097f04dc27c76881bb820eb74814d1b69825e9048b1a3b064e603cca4bd4814b22430191508083828584878689888b8a8d8c8f8f097f05a15d718a45959d16dd6e0b98badbb086e2a9741ac04086f078bc6951506e0501097f023cf69cfd7730dd096fd485b2d8bdfcd89ca6004689bcbcacbeff288f18ff9b01097e4d6c233f7bf3ade219a8e3a89e12d05beb7faccbfa811ebd930c391523f7b401097f05a347e7937c7a178952905f499babbeda500a820ccfdf7f3a99589687a623e701097f043394095e27ddb7825c0671833a6ac9784f31626914c902c225f05ce42bbd9f01097f066d91bcc591c880303ee4695475e8a8e402926f0c01ade8880c7b03c76998ee01097f03348152349370ec1c4d753735ef255b50e54aa9a432f48a121c39b8887827e00191508083828584878689888b8a8d8c8f8f097efa17235a82497674de45bfa59e61a329b2d0e63eb18ab9b74aa46783e04c8101097f045ffc1ad229bf52b2531afadd1c5ba120c57b34def87149880d1e5cb6c5391c01097f037f5f6b25ee428e91e886127b961856d9ebc52740ceb763baa7e71371b8436401097f058281d625ddb432caef06e485bc2b74cc077aea9ba5072198e76542f0c69dd001097f03e35aebb590266ea1fdd8198cf3c23c77731dddd95d488a9d9f9837e3bd0f6f01097f02850977abc89355540e8abb804da7805ef88b12f40cbd9158ef330b767901eb01097f072fb3298da88c470a2f93a391063810be01078c8375183b57a024c223f2f4280191508083828584878689888b8a8d8c8f8f097f053f792c81d26c122898d70ed7fcfd8f02a8f5a9ec8b9868fc4490d3a46b4e8e01097ea7da81afc9f3c93366b6e161b1fc7a497d6c770fb140bf4b64e5fc707cd3d301097f026601a459facdd83458b56099975d2b7dbbc431d41b53f5dd6ca2901dfaacfe01097f04a048ce90e3a1eeedd4932ff37760fd8b1dc995aff7107bd66318652efd103201097f0287fed27ab81e5f721d2bd5aab0e69f53e94ce5dccc35c2dcc88e12465fadc201097f0414215fbcef7f5af60f320e67a845e4a17b0a0eca39b4e18ba89fbe8a18949101097f0208f0c2f5a114b2342f51e919e4fe44c2a42cd06382d9edc4ef58939b249bab0191508083828584878689888b8a8d8c8f8f097f05726e3dee7bbc5e5b4f3ad65f0fb17699efb5936d50ad380785f2b10fe8953b01097f06fa8562db8de26797e9c9905aa769e4881304b4f20cb64d718d271c182f44fc01097f02a60396cf912573be2837653283a23702037f614e33e1c6fe2834eee9a1c7a601097f05b6b3213744858ad659c4c07c9220380d63c01f680986191c8776eb703661c301097f0709a47e72cda4fdf428bb9784f02f77c700086755d4bdb5b229d1b80a2ea4e501097f075e9c821cdd2e754759306283aa4af8bdbb0ed31f4e978dc550141fd10da6be01097f02adfa41f72ba3b61b9dfa6f017b19682b0b0f8cd86be3d37374aba3ce990a550191508083828584878689888b8a8d8c8f8f097e6e313bf82c34d3af1e7fc14d811dde163ca6e57accbe476875e4a967da00b801097f078516acc9d32f4e54f8925865c91f70b210f4ebc7533fc624685b3d5daa7b1801097f03b8cca1c3fb2b26b7e206802d52d2ed1c725b8f95407e3ef295a7dd9ee0d45e01097f0287ef69d6f69ab853e4f0d24b22e4c15169d12c41706dbeede9fb49c61179c401097f07c84837e6872bea4f0448183cecd6bb24a8574456ab91173b04b9423be8a64b01097f078f890541865c12169233143f47a056a91dbd18222c5d31bfb2db19162c204c01097f046cbc37eff4616daaa86160d5690f5473e24171441e29705ae564223a351c230191508083828584878689888b8a8d8c8f8f097f0309f9698e38823c05e56d073d83ea551bfa80ace08e749aa4c83031a22360c201097e1a2cd41155bbb7ceee94dbd01bd876140b1698f03b2ff8f8de3ba45b4ea14e01097f010699899068f86fa3843b06693288630b9ac4b87be7b3726fdba32b41caac2b01097f02762878a5f6665bee609c26e750cd886e239c31caf1508d5a2a185b58576b7701097f057f7a737e643bd859d8a53e1b621c09be89fcca7b96f8e42333e46426f26a2001097f07239c3b89513196e3cae91f8df8bd79f08033061ba63c089bd764644907479e01097f038cb4f77410e9a33306f8a4b92b6f76bf239ba44e0ef45dab0bfcb75dfe41410191508083828584878689888b8a8d8c8f8f097f0382114ce9d712af864a253d29471a436b83ee4f7b8ae3fe19ec3ab315e18d8a01097f051ceb130c1908fdcfa6896756241fca8f74ab172d98c76facb7b8b931fa881201097f04f6b918e40f8022d2bda8d53214e8fd84743bc2280231d3ae772844bbcd1aac01097f02d9af4ef0d50851ae1b0cdab3587a71728eaaa4e56e67803c5ff9126e72269601097f04640cb2cbc73d7c9fd2a1783122cb5ee8c68e7c04b0b647d43a35cd4961e4ca01097f01b3104591a23f262051182209c0f73caa30e8631fc4413a5bf97c9d51a70abb01097f02103ea7ff918748c4325a992c561b551b70fa9d97e48a52b3c157799d2136930191508083828584878689888b8a8d8c8f8f097f069fb58adef701279dddeff71e1832aea01ae10a5128a9f744a5a945b5fff20001097e375e99f4993200342e6f6ad713711052d518e5dac24681b3999878bbad627d01097e0e051fab79733dd773d13f5bec04b1c20252df512d937f6b7352e4c4fa49cb01097f05d72a87fe662c05530c3ec822f925a10c121a44c4adecf24850fa2442cb4abb01097f06f2a9f716b1fa27c35675a57273feb79ffce02286bcb1e253a8e126c2cea35701097e9b419422a2083bf174263351640e009b56d6e2278552f9e7ee6a6004d4552401097f03dee84f905f6a06940783bc3f322a0fc22a984dd244d00a85ea3a42955583770191508083828584878689888b8a8d8c8f8f097f03dbd68c7c5945f48515d975002a1caf1c491c6743f151df31f95c5870c90fb301097f07d52bb08c1d72a66c3e5c60f6742675ac788ec8b4f2178ff9990a04d22c076e01097f0107c8fc81a96a3c13d1ddf04b8bcce0450610c2ee6c127e0f47ce2ed2fa061301097f06d8f39b47e79d44503aa87a3fdf101b055f89c663bd7ec377d175280f3f8db901097f06d5a755e91ed732dcf8afd32eac3b4875843bb116430a966ef88f17aad54c1601097f064035ce25716c9c7675ecce40d3cfb65ce3121439e10367fe29f2742cc02d8501097f03e44a162d501fc521774c75994f4b55eb85878f5e867cacb75c7ff0b7efe9410191508083828584878689888b8a8d8c8f8f097f01b2441db55dbd9b87c45b1afba238ed28d1f2dfe9725d9a4cae3a45e3d59b6301097e8b54ed775cf8f3dd5b54fcdea07e2bcefae323f6212b8f54877a60e1f8026f01097f0338c001d0c722d793cc14219415d61c52de28d33ab8bfe5dd31674784f2b56801097f04ea62ac09b98dcc34b5437f6bdb4fb9a681dac12d1ca7090011c73259dcef4b01097f06a226b1dabca8ff2fbb52f0adcf4267a47e0eed089774157f318b507361a0b801097f06ba0329f670df105c31eb665f3b6f243ab5de7ed8aa59ce9b0683e6bdfd901901097f077f62cb2f9db71ba7a9913be0a434ca045a26704681af5353b7c7860be6e7740191508083828584878689888b8a8d8c8f8f097f0770018fe3435297b82b391a3bd2d09151dd3949545d0ef111cdf9fece9f389c01097f04279b49402fada9fcb602f909bc138c3547baf384dfef9594e2fa488cfdf8b801097f04dabf5afe371cde17b9fa6c54c1b38d603f345c58d4f66e06fedd8948b402b001097f015296a7d071a85f1358bb157d5e62b18a11e189415c16f594a18be7276ed2c701097f079708fbce6bbe1c862e988648dd25347d60c9e0981540dd81ccaf78054a12f801097f0209866f9b8d946508db2df8eb9d30f65ede2c99ec8deb2e5a1b7093e9a6241601097f04ab0da9c66ca2588350bdb85cc745b4c5e7226cf7c4fb69708cddf6e8145f290191508083828584878689888b8a8d8c8f8f097f054578b117a58f5beb0d511ba42110c4696f4fec165acfbbde208a4705045fc001097f055c9e37b0208bfbbb61e5e0e05c72111421b24b45ea53d3ddfad1cdfd243ff001097f05889b4a99416f2f954450c60492129c5f7a36f875a56dde5188318e88d6032a01097f05919f2392a53f9b230145d1b5e6da28165dd1d8cc7d28d3310a805ebee721fd01097f043e49d0d9bfd165776eeab9118ea672c24a055a700e35a04426abe1b236506b01097f040e394412097f7c06183ae2997707604273b0a4ec1add0030bd7e115c20ca7001097f06337d741eb226911e37cc48087126cdd89f00941523cda2fa5e965dc4fa25e40191508083828584878689888b8a8d8c8f8f097f064592b7d9a6a922f5cf5f74c56e167ec000436a6b3caec299bcefea25e5fdd101097f01d608ffab983d8aa17db9385433abb0025c77e27357285448c4ff6a8438570a01097e333793406d06dad0406a859ea2c203aff33e3cd906d6f04aabb0dffbabbc9c01097f03b5f2338d066753b2507a39884bddc2d0c5bef88e4bc3e79288331afe9a623401097f03fa0ff20cc486bd0b43f96826c66b070a6f6e3df3359ebd2970661f9c679e2e01097f062cea6c83442875da8b98083d8bb18bce5d3d431a3301afc635600578b3350601097f04835c753d4b5059c1b4186516851f562e63e348f8810714cc393be9810a1de80191508083828584878689888b8a8d8c8f8f097e0c230c4af49117fa614b1d4d74ef462211a5d55537ac71564ace080dd4b32501097f01917c10cc63bc9f43116c3688542cd867e1a84ce0d3e58dfb0c11c4b082874801097f013c6580dce66b35fd24183e1635fb6008a6deb6cb507bf48d531273d5b4c2e901097f06c6dbd58b8657f8588bae8a4d990e6f9b0525af4eabe87512c5f6a655c9202801097e59daeadc724e9c227258a56b000c6a613db617da41bbeb694521c86323c93b01097eead9e7eac2f6c388de28561955e6009f9f1ed098f70516f2bda28597c9ee0301097f054600ac31d014f7241c14e5aedefdc72b839cb0e98b84aa13f031316af486480191508083828584878689888b8a8d8c8f8f097f05370b38ea84ca67c75ab50a4cb8f23f4017175a98b23df9e1c92f92c279e16901097f023ae2f35a2da5ff92426d59ce066e29a525ee1207de1c370023975b4403ac6d01097f05952b292edb661874ff2d3482fb968149f09982bd7a194d2b502ee3dd32927b01097f030c7ab8fe6b61574f49c3d76b3173f76816f31beb33097d425a94beab6caaa201097f04dbc9ceabbf1c8d5c679cf80d9bfc26ab696135792e83061e98b9c36ae6a4a001097f03f1908469233dcf5c433790cb3574261ed6debca41fb55b912be7cf34adc18701097f051778c6b175ce13e994dc1604dac3b901990cbae0246b2cec2aecbe96dd20060191508083828584878689888b8a8d8c8f8f097f06a91b3677713dc15cd110c71cb8e174c8ebd8d7df1a1b4120bb4b6b1683ad5c01097f03cfdc71122fdfc7807b2efe35fb6c7691985d2727401eb8a8132d0e0df3cdd601097f05099f832fdec91fd27af0d221e009ed6770227d63bcee6e1802cdd12275126001097e1793fa490096ddd67530e29cb3e8e9632d1885815be3f9d96375aa5946f51101097f06d4bd8c4aa4a530d965180c18062d6bc440e6e70cbf0836d6af11235c7fde2d01097f03d7587a79c4ae9c24934a10a9c1398c04f3915fb6889b72b361505a85db2b6901097e39007630deec4a6eaf806518c109f4aff9cbfb8826d86f301e562ec560ff890191508083828584878689888b8a8d8c8f8f097f051e4a728ecd68dc30e4a1b5867a1022af5808edafc3cb12d26d43b495528f1801097f07f921548c686f600b302290f692a66e9ececa142f691f9129c7d8bd2a06803f01097f042cdd4f6ecbfd891fedb9ecb6d320f6adafdb274ee15cc11ef4c0436a4e9afb01097f0755d64434e4e4233388c34a90438764c568353cfde4311021b45e0f369b0db301097f04b5e107dbcd02c0dbef4d3a77d66386a864d31109d0d0392847c8919d926fbe01097f0373a1f2fbe36dae9a5f2c2b35febe59b53869e1678c8da23bd9e92c3c2ac0a701097f053bad76d22e1525dcec248b73438d6f444caf75794c26144e26803fe2bc77360191508083828584878689888b8a8d8c8f8f097eaeb135e456ad66bb5bb2b91a4aa429915f6f9951aa15bba78576744a69801601097f0111d440a13cab69043e1072b61c1736cf3901941b4c57d7602b8effa7e74b3c01097f05fb8d87e82c3547e32ce316e4439d1aaf3723e4a906c91533ba8dd9631f166101097e1426a2050d240104b5c07a9cdaf7fce03c2accadb0ce98344ecb4942c434db01097e929eaf221c110efdaa57970581428d66d5866fb9547aab76e89e8971efc91b01097e0cb3220da969b95193a25d1d4d76d1cd1ec596040a7b31da7f64164809bdc401097f03c3ea2cbc8ce544c6c98ad9053cb2c35326f4e502214e5f72c7951474b5a84c0191508083828584878689888b8a8d8c8f8f097f068892b41018bc73b541800d91f0bb2a8cd9fcfee8be13bacbaf7dff7aecdcd401097f02a652d2592f5cc1197a206db79d06e3b74a55b1d4ec03c516a6957e87345cbf01097f01e0c96f0b836d1e2df4e4063d56b78f38f2ad16040d61855b0f664c066d130c01097f065d167bcce20a40b78583e4dcf7e3f44663e0c595e18f48f83ea4230b20704701097f01668b919fcdf512b5683880ed048853e00f456adde728427fcde63ac9f5961101097f01489d6012d4c9701b63f3610034fb5bfca185c7b01222907781eb104e03109701097f057ad5370b26ea1478f3fa0346d2e390e90feda8022c9820813d9ddd0f36e7ba0191508083828584878689888b8a8d8c8f8f097f0522f83a59f717f37b235c05338a02630ad83c3ed307838f6e795f9705cbc84901097eb6bca44a12ba7914e575f83cf8b9b8bcd4780622806901dcb9530ff9a454f801097f06fb8324456f1dc4b423220d18d40de524a27dc4f35e4c780a042f6edc95f97d01097f02039c72c1c7c134fb300e82b104394f54a5b7ffe6f7f00e7c3e4ca6640841a901097f0614a280377b9dc732773d969da5ddd8cc125262313eb7b2bd38b7668cdf00b401097f0243a084aa8c82348102320b0ad19ede41b6bd7ffb3a7041339a13f34f6b567101097f073e8c35fa646fce6bf10c33168dcf3d2e40af17ced70b1929826d0ca4ba2e990191508083828584878689888b8a8d8c8f8f097f064f6f50e51b19d5a90e6d2c9cfc3486dbf2b37c7f949cc4f8ac4dd988e5bdff01097f01365aaaf8c72d7e9b250bd91ee2c2264362e87679abcf2df2b7a4e1eda1575f01097f024a083b7cf164138ea0c468f33317d89c97b69378c906d918123f3ed5a02cf701097f025ea89f2d7ad620296fda2be181b5a6be626eade8974facd81e53df842c125b01097f02d32dd179cf74693057ede607e0054fbc3e4194efd6415156f3ec909c37ead201097f03b74f537f03a28e72bae3bf1810f1a2fde1711eacd6bc64bf55f37b3bd9940b01097f0575b929bc0caa43939bfae95a6d5cd8d4082be7fe0934be4c08f7fd3cbe89c50191508083828584878689888b8a8d8c8f8f097f07ab2a5ce120c251b658bfe532880535e93cbf88aa60a1b384017195e671570601097f07a7d5ce80c8498175cdd4408e08cea457517e37dcba08d0a6cd2a4defcce34d01097e06475aad2a1631a6103b238548fe8a03934779ecadeaead2bc20a677c0c71c01097f0547ddf1021a2cbacc8081cbe3a5c89b8ae808942513cd6f6ad166b0306cee6601097f0653405343098520984b06f707cee84ea765ecc932783cca87058b88d0f2bbe901097f03f22422d66d77bda123b47b7f5bffe5527f95d331346f6a545c66887ad75ab901097f01b18b73effab8a483156d16e87be4dfce1250333eafc784d76c6ee145978c480191508083828584878689888b8a8d8c8f8f097f02843bf3d789d84faebdd6ceb0eed3ec0acd959732178b00b4242eb5cff0ef3a01097f0592d2fbca1f86935e587f6cfdacd0a221237bd378e2d1cbadc3d168c7a1756c01097e4c35c95cf7170d2ab6b9b6e3c1be66dba2de170638f27975fb5ec12c36a45d01097f0405f9011670f0f202814795cdf0251b665e8f39991dfe2282a1dd2acdbaccb101097e43b4be816239e45b4d22123c840717fe3e8f6ce53238fad4ad56e27c85f3e901097f03a2c1769a49e0632c149dc9d3f30306f9d9cc00cdb426d58b2741c804c51af401097f0422c03b47f25f698d3dfbb02556367c97b7d8e2657af2e45ebc61845aa2c52b0191508083828584878689888b8a8d8c8f8f097f05a47f80b2d6e8c8e89f08c23e4eee09ae23882290a4dbdc5d0b09e71329712401097f02059b2385d435959cedebbb68ab5c484441832a20d67889ff9974057cdbf87401097f06b735de6be3ab4aa1425c328c838ba09dec586718729f1e172554cac036483b01097f03c05c93a63aad66725d8d25e62f76199a1e9f5743577777caa05832f4e79acc01097f04245e03d0378593b2d4230b945a2a147b36ebfdf368f0dd5fc22e3b31ac118601097f04de104ea20937d5d6cb02c4ab4d7c4d03ab2eb16d1b837ccf0c2a05ea2873b101097f048876d457eaebe03383add02eb4c0c49a09923757428595a4f3ad6299d69cba0191508083828584878689888b8a8d8c8f8f097f06d6ed610ff1347a9252bf835af9666acc415b28796d968ab76353cdc118173301097f01da9b14257c5c5cbc1a97aff87690dfa51e82af9a11eaf5cb2538f595ea210501097f0416057baac3a1780d7d25b192188b9b3981bdcab0e2dffb2fd95456a531320101097f01706af2f962881d86f167571fcbb909b6f1e4fa386fca8d87b674335196f44b01097f06d9c76938c974418e62166285ade6564712e6a263357e11d70f3e1f2ae531e801097f0771fefe011becb392f5c379dc9e902c41be8f1069ae3c5e0bf6016b7b1b3f5501097f040cbcae9364d8af8b767a72b260793922cf1ba2a03fedfc60d4eab1d5f000420191508083828584878689888b8a8d8c8f8f097f0274b54e6342ced28b28c62edbc8a6cdb44d1530e0fba56e4940e55d806f437f01097f077273f7030b86a46aee79ed44f0968feb0ffccfa0964ffff141e693fd0fb6d101097e4dbe5188f23eedad88bab99323be5ac9bf747525c23d4c0665334dafd1f0c601097f03410d8b91297b00cf8d438bea18b9ebd55ae441a2f6bac6623a15e43ad64d4d01097f04195cb2f46ca4e1ef5d93ab3a5decbdc9e74d0bb81d56abcf59304ecf79863c01097f06581a70ec64b4268a4741b4f7de866050d31b69005c782630f4bdc51a1650b201097f0754535ea8702292678b57fbde36c97454994bed59e0d0e13cf8a6c3ef7a03240191508083828584878689888b8a8d8c8f8f097f071034c062fdc1b61e812617b037c5dd1e80d158a92bdae7ccaec162fff4edd301097f0297d52739d69b228b057588496920930df6ada28e5e2a431b65502750a5bad701097f0446d7e2595a1940ab7f6dec4c9f78953de9c0f4c67a130b55f1894779e73ac301097f05b0a8465067d8f43cac5dbc1145110e1e79e0f32ba1d59d2514405a0a80686001097f05bdc50def36283e003e9ccf2f1bed188326bec8bed554815f9e49062ed6da4a01097f03b591c6de6700576abbe4b4544de71cd3266a5dbb70740762d0c16a863bead801097f07fe75f49544ac3cf237a17e58179851f5b3e7420330e5861ec505291d9a03800191508083828584878689888b8a8d8c8f8f097ee09e3870dab755cabbeac23076891b510207da569b75bf32d3f63c8ce0846001097f066bb11e034bb55410211b7cd410cf076db77f008bd93f0dc938f089e853f0ee01097f0630cb6b8bcbe79e58025a699d489116a875f287fef6f1677b497b8702c3777d01097f046ebc0bdf94c2f85023a0c1b29d229ef7a23e173d310b814f72c73904f6a5f901097f03fdf21da099da6c005b076001c5a95f2fe26aeff47e2cb9e8e52166a22b643e01097f06c647f1e5e8e93fda4bc0ae5d513cb60558e2b44bf885484161bbfb5e09396901097f0688dbf5c443560c219afd8c54a0b26bdc9284925f2cc0adc889c1de024d6ecd019150808383097f03c782f4a1a6d94adf1448fd7feef975f47af9c79bbf7e2d74940673704b828a019150808281614b2557fe5b06939250505056fea2646970667358221220e3fdd2170d69bfcb6629614744cd47d06c1e0c1799a8daca1bdadbaf6201817c64736f6c634300060b00330605581d027a69c7c24d4af0b8e8f25454f79e7c9e8af629dcee7d30977f761f540701194b6302186003a4c08cfdbfc8ffd526c37e2e3a79946222d8f610c5b322d135e365a4fb960b5b05581e038e82b48bf6fd7381789dabbc0772a4718a71b35f8a6028e221bac826700c0247039f04c1e8ff90021976ba038645b1b5bc4f1ed027b1b108a39be3ed6bc6634ebcaab09d7f99dbc5661c658e03e37cd2605a9832e17283589c55ca03e4b6e2cb4820be35019967b0c8cc0ddcfc0358f2933a86ed78382ec6aed0be0b8aae7e53d526dc291564e214b79220ed47040383206437597a51a4f661d6556384fd15f9c10dd1dc3a89b9e2e76335b3f2544703c476aeb97be32765f30a3d3ffcba3b959c7cad2f7ad180f97714f8add1c49bf203ccf5084f9a7a8e343258d1465856640d5b1d98ce8a754e6963d1006912a5bb54039a50cfe991395ae3a5f6c8d302103ea243c9a58d5e024f8148cb7d612e911e0c0219ffff037fe49cff2247701bf1bdec96cfb86260f5aa6e92d39417adc0733256c912ce2f03c0046b167c8203cff3d8ee1c32b379be4115f1f5e3c586e2eec53e766c5a8df203f8eea19117123d6811fcb209c490189d109562c9f6b3fc1ecbce9f55a7ae5d4c0361641c830304409168cbe9364d0b41e6e0e231b9348b22f14cc73ecd85d1d4a5036ab07d6d656e1edccf9a07111c7bc5334545b4759e6b4abe563f79ff098c218b0389ce3cc3e018379a7520f2dc800c9ab2b29f3105424b73e7eb8e4c61bf587eb7032759d6bad82358084a4ac4640411c84d48a2d646b9c90d8f105003499f5c26e303fe5558ab0e263acf464d8cdfb9cb1b179b0c6c21789d659381ff24d381e27d1203a19a77e068122d56e97358b2afc5cefdefa44737ff16d6663e7b918383c0de12034b158f7afa5669db6ee83613f2e1ce2abce7445513abcca44f6dcecc6f76626103623ffce67ace7d84a6b17b7b668b6012a6477acbc50876cc49d3e11a1215d10d03d130ca856a9b2b03503ec02273d0b7e9933e11a050c49fcda087cf366b0838aa030c291d714653edc90b8fc1628b67d595a5c9d06d4b23740fca1ac358a1bce2dc031440cc2d209c85f117ff9f7e7c044b25ef73aaead44d1b5b910899aaa5e6d7c00219ffff03509ace4c642d7676652bf0077e861095607d70c016b714fb076324045619efd103802dfcf064c136a21fda92f4169d0b2a5eb02b6a25d5a6e12da6b7760291983a033939b8365654a86878a31e63702463a4f973c8105381ceef1103d6f5ff30b98e038fdb309bb8b52e45bdf9bc609604e275b9742a6e7d3da0cde363056c2c043e050389d3304429c03a98214de3aa3bf19f708a7736a483a1886ea1b7acda9d81435c03d88d0fdaca4deb812b96c7f9fed2d28d281c19959d7fd71b4704bc4e749cf9d7031bb881df749ca24ebe14d9f2c4664729ad3d2256a4b3ffb1a2703c0287c2ec6d03bd3d19793a06ce2f6eb271896e140062e3d9f7c932df3a34f34273215ca94b2c03755a4cd62ad8de9a5a318b6de7ce6d8d22f8655771019151077e10edf493fd5f033615e898d38d0b9f011ebb27aba6d735cae6dae8bf6bf9ec3cfdd5d949d2e511038dcc4b130bf1b010be293e0ae1623fea9ace531435d0cd8a426992c8c502708303b7146952e1bbe5555094139967b348a0d1c42d1dafa4df6fa0f9e065491607f80219ffff035c86d0843749b9e92e76ce466c23f7681a757471e0277f67bb44334162e0be560304c32ecc975124d943c79f4fced80edc7c9f83fa80e308871cba77b06109ae79031d302888e8551072f578470242d713ea15a5569974483854015632165d5c54df037d3af6019de4b16cfdad5bb6e91fc61474d1efa9a4d3d131b0d5599ecf15bd9603c7b6d55d066b49e3f9de17119701642d06b113c50f892322d41029a7440662e8031ac381051a80385c09a92256eae77990640f8058b4ef721402462cfc88122bf4033880a69947e154b5bc7936723bce886a309c068548dba7ad4a0ad67af352e97b03631ee3fd98f6f39844e60041ec6ea9cb107859bbdaab54d82c617259ea85802f03bac5383bb7536bdb83c2761b20546bb5e7d36ddfad76d644f587e823d68890e10381f9214d12a75445f90e55fea73980b8db9bced05cec01bcb31d1f12adc6fbd503381e06e2398e8f68e2d3c315f06379cd36132f2a8eba35e914ad26413886c64c03fedbc9cc30510352fd1e107683cc242700374b4f5ecfebf9791cd1734c7aa2720361486b70c20a8a1c987b61d6987ac5bc5aadf687b0d531d410836efa79d9abf403f508a052892bb4af42c5d2f2dd9d599e86c11140ab1b8ee32491be1c58f477fc031d2b81f1b932b71b1d6dbaf806375f5c81182fe59788d9e0bc5e40630b4cb89c0356faef8edd3f3f998107824b927b9bde58c7015fe9ff743a59e6ecd0fd786107038aa4b95f51e1cb512c66ec8696d4996c1cc77dd1fd087d2b1f0eaa352cc8676e03f21ab8688aaba4e3d875ba994231534d3c553327cd3aba425bde0773b8d98631037ae29eb4cc2d79bef05042ce7cad2bf0272ee6c6360f6e4da2ddef89d1ab5eb6036e43f0983809a34a0997ae804e97cc628fb624ef205bd22167334770a019a350037d4ff24772e960031147b40afc8dd26d3942e92bf2654a2cc415f23050634f810362cb3710d0d321c4ace5dda5251fd8fe299164881abb5ada270052525d43d6480379040468612c5b5ae0788affcb6874ae6d10459bebc858c819f1d1b7a67b58ae03b612e7fa140dfe838e087fac5fa4740e1ff0d82fa7a9c2c681c2922cc088942a035475d86682c3877c34ee07f1f39fae3f65d823f177ee068d6d74a8c0ba48bfc7031f1f70ced67dbb4226e89afdc3b91f2540ea857b3a09594865479c23ae461c7e05581d029ffe98d0fcbd77bff9af39f8ffd52a8df3c9dd3dfb465433730b30d80c0448040c832528a374ea05581d023369df7d1b5194c19812f3f045dbec01f647214cecc92106d0acf0b10c0147021aa810ed82d90399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe90803de21c117e18d57941fc5bbd3babc74bb0c315183a99ed606fb7d2bf51028b7d705581d02ebd9bf7b0a6943f880f444e6005d4e22239f59da169456d663ffb2f707011bffffffffffffffff05581d020eff7c9f7f0c190143a45d592e8e7d4df028a4d08a135058aee6062304020219511005581e03a6f2b53eb1af652f781aedc2e5ef743049866d291dd715d89d21a9d1a00c0e4618dd54348880032d514cc703c7a97e44f3efb8dd3aa31811b83c5d1797d90f90f2e5f31a665c6a05581e03812a2251a2901ed3198f742fa3d059be57c3eb6f33c105119a58c5489004010374c27c5150c4272985282a19ae3fe433e5b7a1c3c19c7d4baf5c22668ab9fe050370fbedab5e78dfbb8992b2b9bec96415ac7c9016b60eb52d3e10c980328fd55903b50435960493ef4d8cde4122f2345cba124a9c0497b73733afc2fb7a7b4d6da405581e03fe6a339d67f81006d10570d96df22e6dac54a007d671e2ee4e176fa300040305581e031d15e309557e8cc3c09e1bc1f96553a077f2f3b078c0d9e2bea247c7d00c01470bd9e869737a1f05581e03eb4576233756f715f8479f560a987184a65a2572886bd87174652761500c014702a65f8e6048c00219ddb103eb3f8a2483a68b05b20603e1420b138b900334d75290bdb6e8dd771030bc8fd003171d6609f66f5495fa302e9cdb22cce0366abeb41d1a5c7bb4d9688013369bff03f34d7d8aac14ac4681a99cf002cc3b3f0b19aa6ff553742182859719880fe436036d163edf5f27fa86199e56742657b54e4121101ea0868566c3235ed7e6e4495a038a51ad81b7d58d6c7df4cd190f4f534dd52bc22ae8ff016dc194786afa08f0810219ffff0348022bb776f3a881bdbfd6299efdc9871aa0c24058f0a99c247a9c48fd8150c30341385312fa97115945bcc111ef32f276eab1e9346e01a3611811831a25aef2b703be96d8f216c1df8b431fb43791856cec997702156a0d5e8c444eec35d280151f03bf7be011817b51143bfdfeecab0c11aafe8e50ad5d04f5177d8958b0f241426303e192a06831088697e2e7689f1c71de1156cd7c32047adb0c9d077f681b7abc9e031e5386f70d9c6330ae89e4b1230e7acef9b708970e113f5ffa9529fe23655d1c0387de42545ed6b62c6916da2de422488196af4d25a4ab86e9ec790a59f4d868530347a728a7db124e4ece1ad3a51dbd9608a785ed3a2a662894ae9cfb5e7593da370219ffff03b072370f4969e50d47922792eb3c52baf67da63df110553e81273fe67a34c40f03c8493a0edf6b02418cfe920da153a9a80df3ae3f8402c2c0d1e92e6773aba27a03364bcd46d9b50b58ba80a275e290ccca3af5c8c7f5fbb3897a505074e4ed188f035028675f857ddb418803957a7db5fa898fd56cf45a3402f9f239485f4f3205840338bbf01e2f7e53b67d28e941fb659e6c447010d40ee2dcbbb54e95a762dae1bd0310da5b953bb5a98149bc0d54421a91bf63d7c60209f0c0c9f9314ac5c5d17af003a34eeb747a7c6b8795d8a264266b22b397b935de258b72a52d1b7e5994cc1683036f4aa029dbf177e3e5ab36c5a2bf0ee8f07e4be6fe1a8a7fe9204573e415a1b90308b5260cc1f316773975d93d62a11e41c68917b54d777a53e05d96efa54fc6c40219ffff036478189f6cd7382a828f8bf41fe1adab9e142e58ef7386f40ada00aa26af28ea03928bf60daf131999659953ce46628f96be86e10703168977e1ff5f764a66a663033ad450f4dd82f12991cff54af3c04d72c7cfa88b5dbcd71f0cc5981b037ca67e03b32b1f6caefe73f5ce7aec38a157f43baf5f2d60e5fbef30cf3d4952012d8d430358ff34421d83f9d5776c0e6178393bf49ef44ff337e4d7291ecbc8d2eaca2f04035e5d70d91bad7a3bfb445b2ed01937f97805b042d2e639114bdb1f8aad92109903252ec1c83ee26b635103bd2b50102aa5cfde54861aeaf4481351725dacec9ad3039df37d74ae9e6feb75a3315743f5845a0844149b004f77b7e359fa97a11e92a70346b362610fa3e37a85ff4b0b4b3e62915096e970cbb8ae31d76167aaf643608f034ca8622203613983bb680e6849ee36203185b8f5c8c9f965f56168719b8c3de10370592bf855b463e1f4c82f48d76c40c8c9e4049aec8a2ad0ab16d610dc3e386603c9f66c64cc47238bdbf7e70bc99217ede90616b374e1077c99dd41e9ec45b11003b2643e645bfbb44d701a3965751ee7a3694dd455a7231494ab6c3466e86ef2860328f8042b5b82e932a9d5f0c2570eaaefa0cfc2bdb3ba835ff924d5048dc75d47031f597f15b3f3840c1182186703c435fad421d3a8aebf84cdb667dd1e2fac66db03941a5c9458003559d1f405c4591861c9050ae366686155da5fcc6c788c8a37960375a5a6dff27fcaaa11aa2cc962dde8b849f4c12400ae1a43fd7e67b6a1a26a6e033a7106814278722bacab7799093f11048d86fcd75639f15f707d2b23213800eb03d4266a328501352b179a94043868f514ae2b4cbdab7047872c89a82202122b44036abf463ed38f6b564967c47d1c6b04122267e8da40e6760ec9ddf270a05b7bf703c6686fa2e4ba2b3771447c674a7a585111e5c65d6b1a1032e7ae928dac6acbe703606da88ecc74f3b903d4e031a8347b98584644aa0df68cd64ec38752905422f905581e032bd0e3e22d10b8d880abffca1b092995fa63a896223a4f1e72117295600c084711ef638ff3c700035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5031ec24ddcab326164119cbdfe96c65710c56272a8db33d064d6bb4da5582fa3c905581e038f72d40f408437cfa14381aa9d5678dd318d5bd4b74be9e67de50606b007011bffffffffffffffff036f85b7bf10fd7eeba3c5decaca23ec9d0a81bf92a1f8a742dfd778993ef9299f0605581e03f1d3b0c57a9d328472f980541aa4e0603b3452de800d8e76a482d6226007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03eb631ddbdabe4a1dcf0a973c7375616fda993cb989b57fd8838ffc896007011bffffffffffffffff05581e0352650f28d7a8f73c7ba49bcd72d97edf8d731797e5a2728559b865552008470e8c87f785691505581e03ebea2f113dc4688cb9710b2194eeaf0d428c7524c8e7a1197148d4c7e0040203818254249eb0387ce5adb54bb377bcaa4661d040f754c5fe29f307021517346a03fb9cb38f33fc4607158fa4ef8e5037cb16eaad5c7ab482e9bc82915aeb9df85c05581e034b2a88e2993c221bb39e6e45008abf44394b84bd4498496823c098ff100c1147030c06b2ad495003fb64400744ddb74165f73194477bbab43b94bef94f0e363ae06a224c6a9571350349449f3abb8f8224140d85dc2c0c1bedf86d1934ae0d21d0e375ac6333d8a2f00219ef99032d3b88f7f952d2d50731beea16a565ec5897ae8d803f2b17217b619193aab106035028ef71a27133013435a015cd94a1331cea3a6886c739379501a84f580b881603887865a65b8129b569e40358cc954b335441764a390e209923122864f217215103e3413e66a796d4a08f8cb6836ba50f929b1d91675941e58ffd6ad13db849f55003fa2ae8891e5f2794cc6a93ae6313cb9f0dd99f84dad9ca93f4735cee2d12b05e03aba33d99af49234274a32c8729489a47d3cace787561db6e909e345e1fbac16303e19f11c1b542f20177b68d664d8ed1a4de155814190a6ac73b401c6e235757ef036fc54284d6bf4a953f7d350ec7552444a73a946ff756e2e7aab6ee30023cf5d20388a5e179daed10ee1ab9cbb51ffbb941220b8bf6393a5b237c955be8b7b8dc7403821acb90b7b3d2b9f2ed8437ea74a52b3488a68b14a43874b5adddb1f1e3ee450219ffff031935860c69d536bbdda2caaebfe223f75f198c6c79c95e7fcebb923fadc8edc803e131d8671bbaf0a376850b22495561c843d88d624ee126cb1aa267e708ef4175039ea1a64ab27c944383fb7abab6fe7c99c08361a579bbb7a2213496d0c92848cf0325ac0b175e2bf345fad2e845886f802804822bf2d5525b5f5059dc5d67f0979103087c245a0ff8173744ab943eeb4e5e5b75072ee68ce5eb8f334529d919aee17d03db320e8bcf696a5621a4ceb4277321074b4b905450130a56992ae9d045d1023f03d7570260553025baaadb4223a896f889391d281b18b08c3a397616bf592347c30341593e43892b2d74bf2fd19707f0b58943f908b8e013f996a520d0ee1951ef840346f48b841dd4253766579ed5c4af39ab4e182cc72bb3aec4984c5c88b0200d4403a4d45551a21d9b53151a3cbd030e9fafdbdb6e864f3a154c725aa5e70ad49b8503d03cd3fda228ccf6be57f1b737a8757c92c839208a6c68cc60a95d0534f2a30303429478dfbe7c0537869df0a172f375ca383650a5aba7e1131b8f04e82063aca30219ffff03d887a731b7cceba80e32f115baf6fbc0385c84543ab0f066364222d694255ca103c1326b410f1eb7c4854e963123296d08e4edfcbcb707da5d716dee44063e3da40219ffff0375c6da3f3201b48ef456895d17d91d3784f9e8a27a2aba2d04b14e72298f6a1a0219ffff036c75d1ac8b0616c0fcaef079c670e4be6fe386bd9378ca427881cc826b6aecd403d5e7590c253fd48a9712233d8cf0e3d129f2ae551535ab512e99cdfdb0e83524037c041757f0f3bcc6df84488e683e509b4e5bf2c09e13e3668bf68ffdbb1ea64003aa93e4c4d2cfda2253e124cbd2be3f34103735e141738787a154d8c32919a07303b997371f00a6e1957d34cf23b1888aa3b7157362fd089e89e787fda36595fbb603bb1b342456e57ad6577ced0738b9d727236ee714a8767c7429dea2afad9e514a0375fe8e65d2c964bd63496f46f151142507bd1a5d10452e12436b88731ce4446403866f72c338314730375b0d8040571a91e374fcee4e8998f8565f7b2cf6f97c5d037d9b83b112bddd667347075f70384340321bb1988cafb7bcb9ddab70287f9ff00379f7b4a2fffca7a0f35a3416da2837ec327b48ff4d6e1bf7d1109ae54aed6bd4039611d035d6ddbb82e16f4db81be6b7fe4553af415fa245584f7022c3230d088803413abf509cd662555b56bddd488305b91c31b104be6c0b97ad752718cecd6d40039123d018cf83a8120cc3460fe7ef780b39490f89d1b39eb7efad08e93b27ea680358d0564a86a32b40ae547e5cb6d5228f9053d4211c038149a8622575c396ec5c03ca88e1dfc251bcb5c09ec4a39da112d672d16097510460cb963cfb52dbf9351c036217b719d9f85ece1f24dc2a52e6d576a26d1030db1de2315ddec96589e51a0b039fc607721888da9d4673c5ebcdffe96d83f2879a592503e381c2700e52ea76ca036b0f595fc61c433ce5770954a10938dbf3e365e7f6b326556f7e71cb4ecdff1403c647e3bdf4a152492307ccb0b22475680ccee5d88e7fd2b4cc7862094a375aa403430a0d01e8a0d446a39ed29e0aea167f3a4bfa19ce872270434e305f87a737da03fa54da13df1c3d6c69d025cd3b33a1faeb7de4aba4b0a31f73d24a7dabc64bcb030f5cca702d4053d0dd8eafda18ea82c5c83d01abdde66ef5299914548d3dda4f03f48202aae68612d272cb6148d7d2291f12fabe7a65830181eb5266b677ceb81a037d9c4e122f5d367a70836146f495db1b87e9001dbfd0c4f31daba00bff3ca7b005581d03025525bc2a9ba0d2ee84baa2bfc683296c33ef54a694579d598f62100c0346ce73063a50f00458b66080604052348015600e575f80fd5b50600436106026575f3560e01c80635c42d07914602a575b5f80fd5b604e6035366004606a565b50733a1a900680baadb889202faf12915f7e47b71ddd90565b6040516001600160a01b03909116815260200160405180910390f35b5f602082840312156079575f80fd5b503591905056fea2646970667358221220619721a199bb08a941f536a122dc0d7cb833dac5af6d656ce1c9dd2f3591ef9364736f6c634300081800330605581d03950c99531a07fdfe2b728362f683375e9375a3cd48d527df5e4623c0070118b6020505581d02f3832c4511513065e13592f23798493f37ce2ef6625fe609d8ac7a00040505581d020874fb8dc6047b463c532b76d27c1685bbdc0d0955ddef7a4344004d0c18294701ab27000227300219200c03d010be21298fe2314729e607c60ca3a12935772ed5e02cc2cfd1670eaf5351bc030891526a4540c7546e7d39536e0381ec0ff163ccf9360dc5c7e17c77dbef3d5905581e03728b551d1bdcaeb5aa94368d138f7dda414f2403c07e868b14a373f9d00401039443945fe879c5d5fac0c303ce09e2ec1bdb236df58146f5f290142ed862497a031e09c0cf2a7377805a52c9b99ad4a72f2b7ed5384c87f1f00b5ed071f97191c003a5c4bcfb91a0f1ab2cbe478e362556d95ce8e707bf647f4f58b435362038fb4e03647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0372279800b9ca9c5ba59f2654e2f282a50f928c8e3c99bf7aef45cc51196d378705581e03802e0b43bb855949232cfc53abf5c2096ecef5b2d4cb2da46c62b0ed5007011bffffffffffffffff03a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e0341ae448cc0a66b91bb4da8ad44f9412bf0bf1ad2f67dfcaf7d8add3fd007011bffffffffffffffff05581e03939a18461d7be85ff548673d7c7eb955794cc07ae3beb42aedd2a86d400c01470ddf32e98f15d70219cd7603ae84e5ef06bfdcaf41d7bbd5530e80dc8c02ad114c735883af1b64a7ee17ef4303ab7956c6385b20cc5994c2b956cec22d548f8432401f8d05391388235f91736f03a02a168c0ee86c2e5c172d9fb5d034de02f055f832abfe513601aaf89850e24703055006f99fabd4c195283fa2c65627cff032f12886f5acaebfb5a0b858a1036103e752804399dec0ff90b8445a68cf1e2391464773cd9025eacaa5354048e03632030350d8a5ce4006eb06568ba2f13b9877f0a25a7662db41f854fb1cb746049a7703598606cb6817f87f3efd67819ad8ac5f49289207359c1f7f25840b128c78d683030618c10d5d4945a9649a652c43bd450995a51cc78af9c7ce287002cf13082d0e03fdf780835eed209d886976be0632105760802df1e02403bd4b45631a19796147039107c491a7d36cfa12ffcedf7c401b028c72802cdb3fc59dd6d6c675d29bc628034c942864c3e3d65f7cf20f358708684d3c2c2a607cee2266bd6f89b165d74bd103fb1bc1e695a06cea28d3b8e9a095d9ccdba4921f4d88bd371dfd937f334871b503e11495ec80e043b9ca5053348e465db77d8dde43c8fbe0ffd9ccf231386ada03036662c7c00f655a9b34e968920d6b275a2e97bccdfd72765e4a3af2b0d55a32950219ffff03bf644c8ee358cf7c9b81340a20aaa64c390e6e0c48a785e00cab8b02588c8ecb03443547ce1287dbb62d52c72aa4dcef51bd574b4d4bdf4f340a3214c6b2f2e41903216d85ba41104ea6c50b75996d1fc23e1683dd7b18499b3618810d29bd7b2ede03e4bb07aecf9270cf43e06453be003a5891dcc12047bad983c7a070ec43c4028c039a799d1cd4410b2c8b4ffd4ae2d83f4040e0f3704174a6601dcf931dee6ca8b2038254ace57186c0359de628d9298c2ce965aeab1057a1065af49b10e1435da8db031c8dd922593f40c24fcb238e5c2949c8053ddd1c3273719fcc78714531bb9e760219ffff03da8ada583f2fb3c9ce370de37c766037708ada5c8f17f09972b7422ca755145a036fe39688c237ec7fbb3cc1b2e8d9db2d825a0fb8ae719bad895ae7c94789bb350383fd3a06cb103bfaa3151c1fb2d9b4d4ac398a3d95b2861298d76ac7156ee29a03da69e1f5de44f903ec987364c4171b58c7d1dd502b748b159cf180b759cd48b403340f2f0a337a5ded633a305f484a08c1fd348c4f60ca5bb2be61307bd45f6e77039786caac0deeb34367c2c5dda6afec9d1704e8c20e7a63b96880241b44decb150219ffff0336ee2d56725e027455bc241b6bc9308890debb6efa638cb5ebd491d73538fce0030ebd76089dbbf1e2548bdf26d02d47f1db014ac147c3978b8c9801a3518b0ba1036e2c8a5fae5ec1394d17aa9a89b3818a492bdbc5c4de46be46e8fff4acf8cde0034b2f13c45254773fda8c3e4d7d425e64613893adaeb39287b3c452cc0ba3828e036d46bff18f033c04943b4845fb0f6f845fbb074aaf32138a8e0b276d3fed99320322e94936c616c2baf8cc47645f942b23735cef5a98e148e72192c410105bbc74031230b23094e79ee4acf3f671024c5f79ac613ec93f8ed30f3cf5ca14f69cfcfe0341d83ba81f9601734ffd47ad4ff33cb2827e69ee5111cf85ef067a7a0545b0200374f24b9ccf2744275db2c34c0419a9677583590eb67e708521b55db08ebee5ab038117d22c1675830a676289a416379c99a72e21770bdef656360127eb0db0a4df033a70c82706ecd6995df1c661fff4f75ca934e103e9c23159d164488163dfbf5c03231fc0e7834ccfdc7c1786ea3bbe5be0b4b593459418488a8117655bd6b54ded036bd60ccb2b73a059d5eb88202f54c424a2be7eb0c81160b2218081857052b336031ec6a638f0300d52e78ee1e475a743f6c260cf1d76eb24de2cdc8e342cf5e81703e6b6fb48aad7881e5a836defa22fd4d2e298d2e204132503e14fad5c980a1ce8034ace7ca7792321d4c688703231fcc73c74db857b213d7014d4bb209d2e501dd1032dfd328fba8de9a3e23efc4e8ee3d26d0d451cf58469af3b070e9fe6ef26425c032ec80a9f7d4287cc5c20aa93e35262b56b946c04708eda5eced864d299e8aa96035b125e48b8e9be3a3a900d652eb5018518ef23071d45633bd41ac35eb90e519703ecc89ae54103579937048c51426619d2703a46ed495664b4a83bc4a623d46d7203414b65156e0f7d940b7e1af4d7ab4aa77ad07b06290d62f00f4cad2665fc442803ee5a71fa90c21f726b9a95b6354e1ac38c6a6c3481d1884160517a50afbc3fa803873595aa5228e314860122eaa27a92074bacc1666d4fdfe3a0f5810f7fc6a7ae0352efc05f199db4ddc863ce2d8b9d5f1f22839ca762b8ae87ce235e479a1ec81f03db439951588a8403fb5d7dd6c6e1123e49049ff973cd9f62e1caf79898714b990358bd97cc84bd90cf72190dbaca63cb515b31b8f7181daf74a6c9f73f0dfc4eb3031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03c48f350c04756990a0404f1308aaf9d0f36a93dc923901991dd9a893b007011bffffffffffffffff05581e033039d546f0561b5087e7c043aced477daba602e3e14767a8e87aef14500c024701bf083f017f6805581e03e7df95ab5fcb04ecb0b53454f446dda15c00aa37a7daa01e93420999700c0d47a978c4194cfc6d05581e0347577cb9f55ef57ae479f795026b72c16e663ceb0e73b8294d781d2870040305581e0370f37abc685a6f08262cb1359067911fc058358c1b57bdf48095a232600c0147172ccd211fe00005581e039ea1044523c7c99a88fb498bc1bbf358edba81e6b2d817754bee410f900c03460c87a6f6d6e803f9395039d593a77a233ed1381e806e66683e27a0ada4b61873ba2bda73e284bf03385ab7184a0519689ec9ec7303ed05980efcdb2e529b5c23c4e6e5e674d9e9c405581e03f3a5989e7223e64d05c36788784017ca1c4b7b1ad815ee56d929e2d6b00c014613258d0a9a4003c4a23adf26bed5a411aec5391f5fe745de3b01b5b2de2983f15582ff6489276f05581e0362ebeca1f91e5966b0238dea5a906e7f5cfc7540b5bbd1860bce8081c00c024701775e548797100219f5b903007f9d0eddf62df57319ca2b8cedb8b19cb7fe2d9680b1eb82a8721eadddc0ef0219ffff0306209c504c48e2f8117b6ab32d09e22401ded368a02ded19418c456e38a0bfec035d721e59a98ded034b1dd1aab0eb1057937653b67f1ecc2147bb93150468580703d1c6eb2ebc86d91465d8e6c68e407d8058e857f6a7bdaa7b4571232b88dca19a036b7cf7423cca4fc2f4f58bff8fbed6b46bd23fe0ffeb1ba3cd15613a00af124503f5dad4f40391b6f3fe654ba3783b8b21e1da97418796b48e2172a7d900b0d43a0325cc39bdfa1539f10f2b973fbcab35e194a3b80a826226fffdb54c57ae05c6cd03a50b13a33c646504b4115290cf33ca436c1bcdf8229e299a3ce6154bd3086a84031827de22c869449ec17ed30ac211a553cf8d5ba4c562c621f222995777baf5fc03862d29945f492e2af825db4581f9f167173a36e686c83eeb60b92f30a7cfacca037dbed15874dad0c855bc2dde126c70c3d1ab848ac07669d9e04707f4082227fa03841b2297fdfc5a2b7a995ecd73f242b0bc1d145449577dbe2108d2ecfb5ad2ea03138ef247d2c8788f07d9715c9ed48dd978acbd4153c76a1b1b3ced332473f9be039df0867db415a714732382ea87b22ca8f118b19c3d193b315698fe25de0009ac034508540a07113e82607417164fc76663e1c1faa0632b951ed238c7bfe763f9cd0219ffff0324b2c21247759050e3918f4e2e09a0eca9e91667fa2196d770a293382f6ac753030a2c2cd546ee71fa2bb4a60900b76ed312785d0aa2b685d1da9c501270d66e37035df081a4300b7860a725fe18d4b54781288bf944532d24e7309ae5a9d1c8d53d03ecdc8cf5c2055e9052c3a1c2e84f3bcbee29fb23db1ebffac9993cd5b1063433035f6494bd40735877e3a530cb550ae820fa87cf6d46c09502d0f02a878820ee270219ffff0307db74c65bd70286796c02e5891a5d14d5a0200c45578f27cb7c97f68fc272a00332a9113e967c4678c85124a4e0e5021d8371b543f335bb71e0a7c399224fc73f038c2c1582828aba3d3eaa65fdef532eeacc3036327f7c699ce95325c6dcc1306103c380be0bbf2d44b558310403e9fa2bf5f73901c41bd8d4e585cbc5eea84758dd039e16c4329b944d640d1bf27a5097848c2b8697109878f2559b38e771d34dfd5e03e9baa2d7bbc64999da00ee7641e29b9b960abe36614aa0222dd036b01ebe0e4e030f9792f9ade604c16424f4817095b3ad3011e13f72c1509d812485dedc61a51e0219ffff03d669d87fdfe36461433d655f764874ed0905e418e0c3e49d50ce1ef22622eb4c03dab682bcc32423b671f865f330c278830544b6cb7b1d038a53fb9e297f4c5adb03189a2cce77aface938258cd905728149d969c66703b3a49751fffaf84bf01704037ecaa9433bc84efa669e3110a059db7400f31a4d62064fc209c25f935f2fd92c03cb0d82cd9135d4f3fc5478bebb8c6efc9979f505a5f194237a762127cb31973a03ef2ffaaf38d89e90c5e306bafadfd2254bdbe99cb9caf9eaecfe45db7d67b8d3039bd24ed6fbe1ec9b9e69a740ee0d704f8c341455e25089cb086ec392b4988729031dd97f546a5bfd48e652357c96da689d55d85af0ffe9e6103d5dd25f49ba882a038d9971c78da92764f643e5c1c9cdb54159411fae6e68c92225f63061f9dba245030a2485884a1ed8ae3562f8c9427413e5516a89b2bff37267fd97eee45f8161d403cfb66f80bd1d50200dfa41ab4be46ec602df011932e0078a607ae0c2e49014e703be629f282b621ccb3ab7b9fd3b520f3b4da9603bd095c6c47d25e7ea017c3edf03f73bd04a2ce0f5e50ff956d62f2a3e8a898bd5de12ee1dbd5d6ab7518378ed4603ecc5a62a42b933394cb148486c6f8c3252350a80d1a2e82ff114e9e24184dcdd03f40fb69eb316c091b9c726d1a045345e491d4524b2ebb4b7ccb27b9bb71f7eb60325580769c65fd47b1f40290cabf3f8887848ca9bf8fc22b74e4596dba1d9be02036ff810b4c147426def02bb637b03385207e8f22506582a54db21225abcb911da038d5148da9576744391ef1bd8ee0c9cadc01439465aea17bb14730b119882a7fa03b920d829e1b10ca97766411007cc4760206394ee6e516e62cfd1a106f17372af03768a8be2b919187533d71701769f9554f07ea14f2e11c4bc7ec669ea8f4b832303cb06a99b86839c5785f0a8b7a5e71b0d146364f9a31f582f4e25cfd16f08d0bc0344794ce51856fc6c7a199827903cefe1965c0902cca9a4d77bbce30f3467bd24030b520a72ada72647bd1a956dd8f2a438d9082a244bf566c75630f1e3d4358b3503f6298144b79f637dda76d719c449a625fc8c9c6f7b25f22cf7a2044442f59f68038cd07653e54849242994341a31352ce62ddeb350cb1fd7a74e85504b1bed7754034e61ea22670fe8c012487e3fb42daaa6b877f1d32630437f10b3901f7c8ec2be03055066d98301551655b94778276d3227bf62b64c9552630ea6cbd818a1be3943035ce74a47f1165b28abc1b8f2613c01c8fb92f593fdcd12557b1a548ced3ca07c0323e4b7c0c114251b953cc5ed51b2f3c8b1caa7b22732121b58974bf026421c3403d25c5c7b8f327e60a74a090fadda16231fecbc022283261971eff2ba99b0b970031a68c57e67ed3c89b08f18ba483d4391c0fac7e14ac520450a78eaee0238069903d454f5be02cc7f6ff4dc6764dd57e42fe01af2e80ee65c6e7b30d66c1f63718003961de09dd5e0ba974404a96f7e567cd0785567ddeb5380dadda14e9169d70c3b033b137e7089bd0a293d648ff7502d807bad88d23595759b422a0851e7c28364830385d75fc2fb3cc26f1e8ad6c935368437745420135c26d0517b185e1eaaaff18603a60e38a9633631fcc8cbafceb7cff8790168ea199622f5cded347e07bac3ff0703ee20cbcdde1a206702e3e65fdc4a8efab25749f1065934d8879db2a49b8b7edb032575d8d5fea45a2053b0c179db1dfbe484af488a7967d7a3ded70ebb4e8d3b5f034e8b996c52b3c14fefae79f2a2b0e6b48c5714497a3743860589d6f1b4fcf776036d14d31bb604eadbec569ea677a62a1e77ad15183fe4b7066df4defa7e555cbd034a03f3385bbb32dcc8b6b1cc0a8f663152d1833a0e72cb837d5c79537931c18d03e7031b39d6505690502856e45e91babb4fb86bc2a6fc1f8fc5e2f498aac6a39d0381e1ac72351c9ba864c89a6fa7c77608cdd95c03891a85ccdcabd1d70a427b37031930ec1052010c5bf0e4f1fe1a8cadf5cd74b6af41bc284d6c999c7199bfdc1303c7e4754f125d93e8488e6de20664a552c05ba9836ca0b0b26b9f6c557128c1c30360f40cf623afcafd96f957bda93270c0a624c2d83089ef8dfae7a5b55330ac9a0360695ac7fbd13c1a75c030b13f7ade6e08e2c324ccd49271242e7ca5aef172d60352daa3bcc5c008c09030372da8e3f9f34caf44338a1cc1c4b0bc96fd84d7d6d003a1b54a2ff7a61a38521752698fd616708953df57701c164f53be9a3ae6594b1203f4ed4625cb9d31060a09741d53bc66ce8473f024896324ed150541065663efd3031d400bd8245b48ed5a5739512cd022d796aab89c1d726532f27b310ebd6f9adf0395c7f6a5dcc7f1d82318d9d2e1a06c8cf457066e213c602d5fdbc65e1a065b1d0374484de140576bdaf2a880022f8173910183b0da0c62cf3f96322a86dcb8fef6032532e27e45c3b758841fee972f41d590851f172f7f7cabc843f37c8d612100f203594145fc8e726f3b2b76d71e9dda3e581b38fc7dae85600584508a0267d290c605581e03baf4fd34db1feaaeacc8d2673fd6b1878040f0add48ebab8e579ca10e00c014702790220c3800005581e036dfbf43745aae88c3cb7c62b5bc2218906325fc43bb7e0034111f2e4c0040304591e696080604052600436106100c65760003560e01c80635d799f871161007f5780638456cb59116100595780638456cb591461050f5780638da5cb5b14610526578063a91ee0dc14610551578063f2fde38b1461057a576100cd565b80635d799f8714610492578063715018a6146104bb5780637ac07dcc146104d2576100cd565b806304824e70146103aa578063172bc838146103d35780631ed6144e146103fe5780632c1c0050146104275780633f4ba83a146104505780635c975abb14610467576100cd565b366100cd57005b6100d56105a3565b60026001540361011a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161011190611305565b60405180910390fd5b6002600181905550600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166101a5576040517f48f5c3ed00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60048060ff16146101e2576040517fbbfe1a3100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633659871e6000357fffffffff00000000000000000000000000000000000000000000000000000000166040518263ffffffff1660e01b81526004016102649190611360565b6040805180830381865afa158015610280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a4919061141b565b9150915060008082610321578373ffffffffffffffffffffffffffffffffffffffff16346000366040516102d992919061149a565b60006040518083038185875af1925050503d8060008114610316576040519150601f19603f3d011682016040523d82523d6000602084013e61031b565b606091505b5061038b565b8373ffffffffffffffffffffffffffffffffffffffff1660003660405161034992919061149a565b600060405180830381855af49150503d8060008114610384576040519150601f19603f3d011682016040523d82523d6000602084013e610389565b606091505b505b915091508161039e5761039d816105ed565b5b50505050600180819055005b3480156103b657600080fd5b506103d160048036038101906103cc91906114c8565b6105f5565b005b3480156103df57600080fd5b506103e8610695565b6040516103f59190611504565b60405180910390f35b34801561040a57600080fd5b5061042560048036038101906104209190611599565b6106bb565b005b34801561043357600080fd5b5061044e600480360381019061044991906115f9565b6107c8565b005b34801561045c57600080fd5b50610465610866565b005b34801561047357600080fd5b5061047c610903565b6040516104899190611648565b60405180910390f35b34801561049e57600080fd5b506104b960048036038101906104b49190611663565b610919565b005b3480156104c757600080fd5b506104d0610aa2565b005b3480156104de57600080fd5b506104f960048036038101906104f491906114c8565b610ab6565b6040516105069190611648565b60405180910390f35b34801561051b57600080fd5b50610524610ad6565b005b34801561053257600080fd5b5061053b610b73565b6040516105489190611504565b60405180910390f35b34801561055d57600080fd5b50610578600480360381019061057391906114c8565b610b9c565b005b34801561058657600080fd5b506105a1600480360381019061059c91906114c8565b610c29565b005b6105ab610903565b156105eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e2906116ef565b60405180910390fd5b565b805160208201fd5b60026000610601610cac565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610688576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067f90611781565b60405180910390fd5b6106928147610cb4565b50565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6106c3610d55565b60005b838390508110156107c25781600260008686858181106106e9576106e86117a1565b5b90506020020160208101906106fe91906114c8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1618a22a3b00b9ac70fd5a82f1f5cdd8cb272bd0f1b740ddf7c26ab05881dd5b848483818110610783576107826117a1565b5b905060200201602081019061079891906114c8565b836040516107a79291906117d0565b60405180910390a180806107ba90611832565b9150506106c6565b50505050565b6107d0610d55565b80600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f80149de357d03a77a0524185910e7058c93bbe2501c1ff200ec899e699c84add33838360405161085a9392919061187a565b60405180910390a15050565b60026000610872610cac565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f090611781565b60405180910390fd5b610901610dd3565b565b60008060149054906101000a900460ff16905090565b60026000610925610cac565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166109ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a390611781565b60405180910390fd5b610a50818373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016109e99190611504565b602060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906118dd565b8473ffffffffffffffffffffffffffffffffffffffff16610e359092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f8c4e91db779d40eb9afbcebd8cf9aa9195b7b057611e32ad5dc9e4025f56ada082604051610a969190611504565b60405180910390a25050565b610aaa610d55565b610ab46000610ebb565b565b60046020528060005260406000206000915054906101000a900460ff1681565b60026000610ae2610cac565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610b69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6090611781565b60405180910390fd5b610b71610f7f565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610ba46105a3565b610bac610d55565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fa6cdf06494ab3c79fae6cca5316f6324ff80979c2a51d8f239aee07a4aecd35b3382604051610c1e92919061190a565b60405180910390a150565b610c31610d55565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610ca0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c97906119a5565b60405180910390fd5b610ca981610ebb565b50565b600033905090565b600080600080600085875af1905080610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf990611a37565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f77f67778e9529a2fd2147ffb2b10ca2e0d1efd8cb925e1f1d5702e39c5fa8da683604051610d489190611a66565b60405180910390a2505050565b610d5d610cac565b73ffffffffffffffffffffffffffffffffffffffff16610d7b610b73565b73ffffffffffffffffffffffffffffffffffffffff1614610dd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc890611acd565b60405180910390fd5b565b610ddb610fe2565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610e1e610cac565b604051610e2b9190611504565b60405180910390a1565b610eb68363a9059cbb60e01b8484604051602401610e54929190611aed565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061102b565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610f876105a3565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610fcb610cac565b604051610fd89190611504565b60405180910390a1565b610fea610903565b611029576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102090611b62565b60405180910390fd5b565b600061108d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166110f29092919063ffffffff16565b90506000815111156110ed57808060200190518101906110ad9190611b82565b6110ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e390611c21565b60405180910390fd5b5b505050565b6060611101848460008561110a565b90509392505050565b60608247101561114f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114690611cb3565b60405180910390fd5b6111588561121e565b611197576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118e90611d1f565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516111c09190611da5565b60006040518083038185875af1925050503d80600081146111fd576040519150601f19603f3d011682016040523d82523d6000602084013e611202565b606091505b5091509150611212828286611241565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60608315611251578290506112a1565b6000835111156112645782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112989190611e11565b60405180910390fd5b9392505050565b600082825260208201905092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b60006112ef601f836112a8565b91506112fa826112b9565b602082019050919050565b6000602082019050818103600083015261131e816112e2565b9050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61135a81611325565b82525050565b60006020820190506113756000830184611351565b92915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006113b082611385565b9050919050565b6113c0816113a5565b81146113cb57600080fd5b50565b6000815190506113dd816113b7565b92915050565b60008115159050919050565b6113f8816113e3565b811461140357600080fd5b50565b600081519050611415816113ef565b92915050565b600080604083850312156114325761143161137b565b5b6000611440858286016113ce565b925050602061145185828601611406565b9150509250929050565b600081905092915050565b82818337600083830152505050565b6000611481838561145b565b935061148e838584611466565b82840190509392505050565b60006114a7828486611475565b91508190509392505050565b6000813590506114c2816113b7565b92915050565b6000602082840312156114de576114dd61137b565b5b60006114ec848285016114b3565b91505092915050565b6114fe816113a5565b82525050565b600060208201905061151960008301846114f5565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126115445761154361151f565b5b8235905067ffffffffffffffff81111561156157611560611524565b5b60208301915083602082028301111561157d5761157c611529565b5b9250929050565b600081359050611593816113ef565b92915050565b6000806000604084860312156115b2576115b161137b565b5b600084013567ffffffffffffffff8111156115d0576115cf611380565b5b6115dc8682870161152e565b935093505060206115ef86828701611584565b9150509250925092565b600080604083850312156116105761160f61137b565b5b600061161e858286016114b3565b925050602061162f85828601611584565b9150509250929050565b611642816113e3565b82525050565b600060208201905061165d6000830184611639565b92915050565b6000806040838503121561167a5761167961137b565b5b6000611688858286016114b3565b9250506020611699858286016114b3565b9150509250929050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006116d96010836112a8565b91506116e4826116a3565b602082019050919050565b60006020820190508181036000830152611708816116cc565b9050919050565b7f4f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b600061176b6024836112a8565b91506117768261170f565b604082019050919050565b6000602082019050818103600083015261179a8161175e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006040820190506117e560008301856114f5565b6117f26020830184611639565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600061183d82611828565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361186f5761186e6117f9565b5b600182019050919050565b600060608201905061188f60008301866114f5565b61189c60208301856114f5565b6118a96040830184611639565b949350505050565b6118ba81611828565b81146118c557600080fd5b50565b6000815190506118d7816118b1565b92915050565b6000602082840312156118f3576118f261137b565b5b6000611901848285016118c8565b91505092915050565b600060408201905061191f60008301856114f5565b61192c60208301846114f5565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061198f6026836112a8565b915061199a82611933565b604082019050919050565b600060208201905081810360008301526119be81611982565b9050919050565b7f5f7472616e736665724574683a20457468207472616e73666572206661696c6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611a216021836112a8565b9150611a2c826119c5565b604082019050919050565b60006020820190508181036000830152611a5081611a14565b9050919050565b611a6081611828565b82525050565b6000602082019050611a7b6000830184611a57565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611ab76020836112a8565b9150611ac282611a81565b602082019050919050565b60006020820190508181036000830152611ae681611aaa565b9050919050565b6000604082019050611b0260008301856114f5565b611b0f6020830184611a57565b9392505050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000611b4c6014836112a8565b9150611b5782611b16565b602082019050919050565b60006020820190508181036000830152611b7b81611b3f565b9050919050565b600060208284031215611b9857611b9761137b565b5b6000611ba684828501611406565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611c0b602a836112a8565b9150611c1682611baf565b604082019050919050565b60006020820190508181036000830152611c3a81611bfe565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000611c9d6026836112a8565b9150611ca882611c41565b604082019050919050565b60006020820190508181036000830152611ccc81611c90565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611d09601d836112a8565b9150611d1482611cd3565b602082019050919050565b60006020820190508181036000830152611d3881611cfc565b9050919050565b600081519050919050565b60005b83811015611d68578082015181840152602081019050611d4d565b60008484015250505050565b6000611d7f82611d3f565b611d89818561145b565b9350611d99818560208601611d4a565b80840191505092915050565b6000611db18284611d74565b915081905092915050565b600081519050919050565b6000601f19601f8301169050919050565b6000611de382611dbc565b611ded81856112a8565b9350611dfd818560208601611d4a565b611e0681611dc7565b840191505092915050565b60006020820190508181036000830152611e2b8184611dd8565b90509291505056fea2646970667358221220952f4a9c9ce8b18400fc98bd5da187b3f90b272c27b2bd22c55af7dda36d706264736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630549287b8e84d972dd02f618bbed45b9a6d7ed163840058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604101005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0549afd2948f573dd8684347924ebce1847d50621ed005820022ee6a03b57892a4e4049a2a90541c1e8bb806083514cc1625a35292e43498c41010058200214e6f66d02904012f00e7ea919d20817b7a9778ee8c9ee2670a7a02f46def84101021941000219580405581d026bbb8cf19a4631d512b2cfcdcce18dd8330baa5bffc7b903ec0cd9e40f0147010fd14d989685191e6905581d02a22169e570fbe1047f09a10dbfede9fb1f3a7f2d1639e744dca00b4d04010219010405581e031b9846315f5d80d3a689e6ff88b55861ab19d610f350ee44d5082f77600c0846dc6b6fb4c000037e878122c7ea1f50512503d9dcd2f2eb142212f430cb4f0cf574b81bde4bc3ca05581e03b5f16e801784b042510b57bba8379abb4c0a6020f554a52d33140092a0040205581e03b19959d997aa3537cdd30eff5fb68724fad2a5752bb82b9feef358c1e0040103b1c622088ab3079072d2498f9690982d01c097b026c1d276bcc34a69bc60acc205581e039b717a1a2821e2684fdd0d29b090218bea11c983d4060ee27d1efb745004010219e3c5036d9c6ce0c2de491a4b56a8e98ae39c03f924bd0e1d6399cdd850830d86006e0c0385c3bc7606901369eab80752cd00b010a81221670dca9cf11918f8ced369a31d0306e59e5ffc50959227898073cbe0d5f2d61af09577814137012bf2fbd0221ad003b534a0f50db2708547089bcd7ba957e1785bc8849f3904e9b021d700e3d584360219ffff038f42d66cef4981f5e9a04274c2f43eec221366e7940ea756091e8ae5cc6f4f190219ffff03f0a4b07c6d97c55c2f4a128ab64057a1f450b575300cafdd2d8a0fd9d38ab5190219ffff0219ffff03aa57b2d187d8fb360c9b11bd258dcc27f5e95a02fd21754cbed02a18b71d263c03870b497c0cd65ae4092a3204c57df18bc21ef6e62ca378b30afaebd511cf78560373fdc1e3bfa617b2e0e6c21eafe1b7d4a1352b49c7c49ac6186a27b38251574e03269b9ba8478274c26b51811787a5fba41add0a77d2d07e239a75e00368b549b603a5451b65df59a8a17a0a7c13410270fa7a68847972aa4fab9e39c36f85882417037c28af70f9d4915b7efe6a2a69a55807a3ac9b03ce034eac5a4480c326084792036bdee04a0f5f0fbd3084eee0262f7eca017871e6b9a9c2468feb542a5869d598033ec31646e2274f5c6c536f4f20eaba5a6432a8b9c27befdd631f86548b2bf60f03b74822ff2990e29092b1389f476088d540adb6fb69101cd67a2d31c7465aaad6031d85979bbce0054ef2c67d760b2edda45c281768d06d09c43e72d0de576bd1b403f8633d92fe0862d54572773e01cb77b00e8fe98af508613d9324cc192fd9a2920373a1962100ca6c4412b07519433df35a066e41df9075ad3405d2e2736d02cc24030fc8067e50b53ece4db94d06813040c09c9ed5ff3eb0aea495c388ba7b3975ff0346983358b1c536ba6e8014a309015294a5db8a0cae2dcd5fd14802dc3c453d310384c463a43ac07fa97ac0acfe517acf9de6f986d2d7a59f50b46ca5c0ecee0e7b032749ec628a07a36a100d813c7e64eb3f655da28d708f2b806704956a307d4759031064a771723e59d89e4d964c12ec504c42abc935f44ad2df926f2b646fb34636039ec5b8030de60ea07897d972d0fe78b67d35c177fceeea92b5d9eae02b05ecb403abf51feda3d56d307665fbe73d90ecf4626f6dc770f994376fa96518ae9a70aa03946c344a7ea8c2d376d57f16f800269404ac732de86a28aec09c181fa32ac2b503cadf78d3dc1c1d5aaf2337bd689e704d154d2a0b1459e2902115fe5e2eb5af2203ad286b7d17471737793644862da4ebcebfd8d0a1f034602f8b9101403d3a30dc03bf16e20707de9c4760277bfc3a538884652692d19c8e43c33a0977f401684feb03c121eee481f7db3c416f915d97d76140e5ba39cba2b2aab0d3ac6781e985fdf7039c22612b6491301e89e9c9bc328034c109bad3f01c7351d5320c98d60608dc0103356816f097059b134bb1acb53331d026d8d25fc90eb41afc8e85681b25d1764d0314a8a2c16dc06374a7eb7ec9e83856586d44720a30b60dc6b287026299b8c4100335f7857e4499f7a6b8588ffd91facd59164e9d22a8179169e91305f6b0e38c910309f40a12d6786c29d1ff8bfaf6bef4865f6eebb96104a5bab6b0e06ebf7036ef03e0027fc24d2bf3017b8182a91f42f6c0d386f2632cce563013e853cf4c15416f0310775198e83c93b2465694d541823d0b28acc8ecfe404db5cf3ef21fcceb6d6b0328ccaa6b2743ee45bdb4597d27b374ef83ff8c679ea93c15b5ce56aea1c5aae705581e03b77eb9d294eec42a1b03a157aa00312465788478aa4ecb422707c84fc0040305581e03ea660c97128dfda45e278af58372c6d423d6986f2104f5ba6813d7e030040105581e03e1cc7cae2d1f9c054ba33736c5d3bd259a84374ed17a5eab5cd9cfc490040205581e03f800b31e1f08b9b1dce074e296ddf1dc32b04254c3e04fb80432e96f90040603562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03b6739cc2cf626e2e5bd822cd536ddc157f151de3e46d02f61190ac36b007011bffffffffffffffff05581e03a66564b2e922fad58f958cc9777752e02bb01140dc6245708f30d2a0800c01461c5fbed968b005581e03d484e3af574578e993a6cdcf5098ad0b057c624519d1495e75f2df87f004030370ad4b67983a7155fe3bebdb663903770c4e05bd23671cb1fe7bab63ceba31f6038cbdbb5211ce4aa63cddd1860bb28c0c184b10e2ccc7c47f1cff10164577c25805581e03694d97039addafc75b9210ef884eddee9a16d6c5fe7cd3cafc935fdc3007011bffffffffffffffff03e8f00f41e5220ea915d4cd7dda93da0e29ab136b9ca4be1f5eb69f4ca1960d23032b2db7671fa9532f7ed0182aa9ae42baa31c73a9c5008ddbb85f61f5c04cc92605581e03347e6f6503961b70ad30ef98620c48b46e9a3241a0ef84b1bb60b390a00c1822463f1aa692d4fc0459551d6003361161000c576129bd565b5f3560e01c635b41b9088118610033576084361061534c575f610aa05233610ac052610091565b63394747c5811861005f5760a4361061534c576084358060011c61534c57610aa05233610ac052610091565b63ce7d650381186100dd5760c4361061534c576084358060011c61534c57610aa05260a4358060a01c61534c57610ac0525b5f5460021461534c5760025f556020336105e05234610600526080600461062037610aa0516106a052610ac0516106c0526040366106e0376100d4610ae0613cbd565b610ae060035f55f35b6365b2489b81186100fa576084361061534c5733610aa05261011d565b63e2ad025a81186101675760a4361061534c576084358060a01c61534c57610aa0525b5f5460021461534c5760025f556020336105e0523461060052608060046106203760016106a052610aa0516106c0526040366106e03761015e610ac0613cbd565b610ac060035f55f35b634515cef38118610189576084361061534c575f6105e05233610600526101e7565b632b6e993a81186101b55760a4361061534c576084358060011c61534c576105e05233610600526101e7565b635cecb5f781186109a75760c4361061534c576084358060011c61534c576105e05260a4358060a01c61534c57610600525b5f5460021461534c5760025f556101ff610660612d41565b61066080516106205260208101516106405250600b5461066052600c5461068052600d546106a052610120366106c03760043560243580820182811061534c579050905060443580820182811061534c57905090501561534c5760015460405261026a610840612e9a565b61084080516107e05260208101516108005260408101516108205250600354610840526108405160405261029f6108a0612ed6565b6108a080516108605260208101516108805250610660516108a052610680516108c0526106a0516108e0525f6003905b8061090052610900516002811161534c5760051b6106600151610900516002811161534c5760051b6004013580820182811061534c57905090506109205261092051610900516002811161534c5760051b610660015261092051610900516002811161534c57600b01556001018181186102cf575050610660516107205261068051610740526106a05161076052610660516107e05180820281158383830414171561534c5790509050610660526108a0516107e05180820281158383830414171561534c57905090506108a052600160028101905b8061090052670de0b6b3a7640000610900516002811161534c5760051b6106600151610900516001810381811161534c5790506001811161534c5760051b610860015180820281158383830414171561534c5790509050610900516002811161534c5760051b6107e0015180820281158383830414171561534c579050905004610900516002811161534c5760051b6106600152670de0b6b3a7640000610900516002811161534c5760051b6108a00151610900516002811161534c5760051b6107e00151610900516001810381811161534c5790506001811161534c5760051b61086001510280820281158383830414171561534c579050905004610900516002811161534c5760051b6108a001526001018181186103a55750505f6003905b8061090052610900516002811161534c5760051b600401351561060457602061535d5f395f516020610900516002811161534c5760051b60400161535d015f395f511861056a576020610900516002811161534c5760051b60400161535d015f395f51604052610900516002811161534c5760051b600401356060525f6080523460a05260403660c03733610100525f610120526105e051610140526105b9612a10565b6020610900516002811161534c5760051b60400161535d015f395f51604052610900516002811161534c5760051b600401356060526080366080373361010052604036610120376105b9612a10565b610900516002811161534c5760051b6106600151610900516002811161534c5760051b6108a0015180820382811161534c5790509050610900516002811161534c5760051b6106c001525b6001018181186104c657505042600a541161062557600e546107c052610690565b602061537d5f395f51637b12e00961090052610620516109205261064051610940526108a051610960526108c051610980526108e0516109a0525f6109c052602061090060c461091c845afa61067d573d5f5f3e3d5ffd5b60203d1061534c576109009050516107c0525b602061537d5f395f51637b12e00961092052610620516109405261064051610960526106605161098052610680516109a0526106a0516109c0525f6109e052602061092060c461093c845afa6106e8573d5f5f3e3d5ffd5b60203d1061534c5761092090505161090052601954610920526107c0511561075257610920516109005180820281158383830414171561534c57905090506107c051801561534c57808204905090506109205180820382811161534c57905090506107805261076d565b6109005160405261076461094061444a565b61094051610780525b610780511561534c576107c0511561088e576106c0516101e0526106e051610200526107005161022052610660516102405261068051610260526106a051610280526107ba610940614537565b610940516107805180820281158383830414171561534c57905090506402540be400810490506001810181811061534c5790506107a052610780516107a05180820382811161534c579050905061078052610920516107805180820182811061534c579050905061092052610600516040526107805160605261083e610940614662565b610940506106205160e0526106405161010052610660516101205261068051610140526106a0516101605261090051610180525f6101a05261088161094061309d565b61094051610840526108d7565b61090051600e55670de0b6b3a7640000601155670de0b6b3a7640000600f55670de0b6b3a764000060105561060051604052610780516060526108d2610940614662565b610940505b606435610780511015610949576008610940527f536c6970706167650000000000000000000000000000000000000000000000006109605261094050610940518061096001601f825f031636823750506308c379a061090052602061092052601f19601f61094051011660440161091cfd5b610600517fe1b60455bd9e33720b547f60e4e0cfbf1252d0f2ee0147d53029945f39fe3c1a60606004610940376107a0516109a052610920516109c052610840516109e05260c0610940a261099c6148a6565b602061078060035f55f35b6317e26cd181186109c9573461534c57602061535d5f395f5160405260206040f35b63ed6c154681186109eb573461534c57602061537d5f395f5160405260206040f35b63c66106578118610a27576024361061534c573461534c5760206004356002811161534c5760051b60400161535d015f395f5160405260206040f35b63c45a01558118610a43573461534c5760025460405260206040f35b636112c7478118610a5f573461534c5760065460405260206040f35b63204fe3d58118610a7b573461534c5760075460405260206040f35b63e89876ff8118610a97573461534c5760085460405260206040f35b63f30cfad58118610ab3573461534c5760095460405260206040f35b63f9ed95978118610acf573461534c57600a5460405260206040f35b634903b0d18118610aff576024361061534c573461534c576004356002811161534c57600b015460405260206040f35b630f529ba28118610b1b573461534c57600e5460405260206040f35b637ba1a74d8118610b37573461534c57600f5460405260206040f35b630b7b594b8118610b53573461534c5760105460405260206040f35b630c46b72a8118610b6f573461534c5760115460405260206040f35b633dd654788118610b8b573461534c5760125460405260206040f35b63e36164058118610ba7573461534c5760145460405260206040f35b634469ed148118610bc6573461534c5764012a05f20060405260206040f35b63405e28f88118610be2573461534c5760165460405260206040f35b6306fdde038118610c3d573461534c576020806040528060400160206153fd5f395f51602082018161541d823950808252508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b6395d89b418118610c9d573461534c5760208060405280604001602061545d5f395f5160208201602061547d5f395f51815250808252508051806020830101601f825f03163682375050601f19601f825160200101169050810190506040f35b63313ce5678118610cb8573461534c57601260405260206040f35b6354fd4d508118610d3c573461534c5760208060805260066040527f76322e302e30000000000000000000000000000000000000000000000000000060605260408160800181516020830160208301815181525050808252508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f35b6370a082318118610d7a576024361061534c576004358060a01c61534c576040523461534c5760176040516020525f5260405f205460605260206060f35b63dd62ed3e8118610dd5576044361061534c576004358060a01c61534c576040526024358060a01c61534c576060523461534c5760186040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b6318160ddd8118610df1573461534c5760195460405260206040f35b637ecebe008118610e2f576024361061534c576004358060a01c61534c576040523461534c57601a6040516020525f5260405f205460605260206060f35b63bfa0b1338118610e51573461534c5760206154dd5f395f5160405260206040f35b63dd96994f8118610ef357610104361061534c576084358060011c61534c57610aa05260a4358060a01c61534c57610ac05260c4358060a01c61534c57610ae0523461534c575f5460021461534c5760025f5560e4351561534c576020610ac0516105e0525f610600526080600461062037610aa0516106a052610ae0516106c052336106e05260e43561070052610eea610b00613cbd565b610b0060035f55f35b63ecb586a58118610f1b576084361061534c575f610400523361042052600161044052610fca565b63fce647368118610f4d5760a4361061534c576084358060011c61534c57610400523361042052600161044052610fca565b631da3d2388118610f895760c4361061534c576084358060011c61534c576104005260a4358060a01c61534c5761042052600161044052610fca565b635cd3478081186112ab5760e4361061534c576084358060011c61534c576104005260a4358060a01c61534c576104205260c4358060011c61534c57610440525b3461534c575f5460021461534c5760025f5560043561046052600b5461048052600c546104a052600d546104c0526060366104e0376104405115611010576110106148a6565b601954610540523360405260043560605261102c610560614c09565b61056050610540516104605118611091575f6003905b8061056052610560516002811161534c5760051b6104800151610560516002811161534c5760051b6104e001525f610560516002811161534c57600b01556001018181186110425750506111a8565b610460516001810381811161534c579050610460525f6003905b8061056052610560516002811161534c5760051b61048001516104605180820281158383830414171561534c579050905061054051801561534c5780820490509050610560516002811161534c5760051b6104e00152610560516002811161534c5760051b60240135610560516002811161534c5760051b6104e001511061534c57610560516002811161534c5760051b6104800151610560516002811161534c5760051b6104e0015180820382811161534c5790509050610560516002811161534c57600b0155610560516002811161534c5760051b6104e00151610560516002811161534c5760051b61048001526001018181186110ab5750505b600e54610560526105605161054051610560516104605180820281158383830414171561534c57905090500480820382811161534c5790509050600e555f6003905b80610580526020610580516002811161534c5760051b60400161535d015f395f51604052610580516002811161534c5760051b6104e00151606052610400516080526104205160a05261123b612c4a565b6001018181186111ea575050337fd6cc314a0b1e3b2579f8e64248e82434072e8271290eef8ad0886709304195f561048051610580526104a0516105a0526104c0516105c0526105405160043580820382811161534c57905090506105e0526080610580a260606104e060035f55f35b63f1dc3cc981186112cd576064361061534c575f61066052336106805261132b565b638f15b6b581186112f9576084361061534c576064358060011c61534c5761066052336106805261132b565b6307329bcd81186115545760a4361061534c576064358060011c61534c57610660526084358060a01c61534c57610680525b3461534c575f5460021461534c5760025f556113486106e0612d41565b6106e080516106a05260208101516106c0525060e0366106e03761136a6148a6565b6106a0516101e0526106c05161020052604060046102203742600a5411610260526113966107c0614c7b565b6107c080516106e052602081015161070052604081018051610740526020810151610760526040810151610780525060a08101516107a052506044356106e05110156114415760086107c0527f536c6970706167650000000000000000000000000000000000000000000000006107e0526107c0506107c051806107e001601f825f031636823750506308c379a06107805260206107a052601f19601f6107c051011660440161079cfd5b6024356002811161534c57600b0180546106e05180820382811161534c57905090508155503360405260043560605261147b6107c0614c09565b6107c05060206024356002811161534c5760051b60400161535d015f395f516040526106e051606052610660516080526106805160a0526114ba612c4a565b6106a05160e0526106c0516101005261074051610120526107605161014052610780516101605261070051610180525f6101a0526114f96107e061309d565b6107e0516107c052337fe200e24d4a4c7cd367dd9befe394dc8a14e6d58c88ff5e2f512d65a9e0aa9c5c604060046107e0376106e051610820526107a051610840526107c0516108605260a06107e0a260206106e060035f55f35b63c93f49e8811861157f573461534c575f5460021461534c5760025f556115796148a6565b60035f55005b6323b872dd811861164e576064361061534c576004358060a01c61534c5760c0526024358060a01c61534c5760e0523461534c57601860c0516020525f5260405f2080336020525f5260405f20905054610100527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010051146116275760c051604052336060526101005160443580820382811161534c57905090506080526116276151c1565b60c05160405260e051606052604435608052611641615216565b6001610120526020610120f35b63a9059cbb8118611697576044361061534c576004358060a01c61534c5760c0523461534c573360405260c05160605260243560805261168c615216565b600160e052602060e0f35b63095ea7b381186116e0576044361061534c576004358060a01c61534c5760c0523461534c573360405260c0516060526024356080526116d56151c1565b600160e052602060e0f35b63395093518118611795576044361061534c576004358060a01c61534c5760c0523461534c576018336020525f5260405f208060c0516020525f5260405f2090505460e05260243560e051016101005260e051610100511015611763577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100525b60e0516101005114611788573360405260c051606052610100516080526117886151c1565b6001610120526020610120f35b63a457c2d7811861182a576044361061534c576004358060a01c61534c5760c0523461534c576018336020525f5260405f208060c0516020525f5260405f2090505460e05260243560e05103610100526101005160e05110156117f8575f610100525b60e051610100511461181d573360405260c0516060526101005160805261181d6151c1565b6001610120526020610120f35b63d505accf81186119e75760e4361061534c576004358060a01c61534c57610120526024358060a01c61534c57610140526084358060081c61534c57610160523461534c57610120511561534c57606435421161534c57601a610120516020525f5260405f2054610180525f60026101c0527f19010000000000000000000000000000000000000000000000000000000000006101e0526101c08051602082018361032001815181525050808301925050506118e76102006152ad565b610200518161032001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c961024052610120516102605261014051610280526044356102a052610180516102c0526064356102e05260c061022052610220805160208201209050816103200152602081019050806103005261030090508051602082012090506101a052610120516101a0516101c052610160516101e052604060a46102003760205f60806101c060015afa505f511861534c5760016101805101601a610120516020525f5260405f205561012051604052610140516060526044356080526119da6151c1565b60016101c05260206101c0f35b63cab4d3db8118611a37573461534c57602060025463cab4d3db604052602060406004605c845afa611a1b573d5f5f3e3d5ffd5b60203d1061534c576040518060a01c61534c5760805260809050f35b633883e1198118611ae2576084361061534c576064358060011c61534c576040523461534c5760025463e31593d8608052602060806004609c845afa611a7f573d5f5f3e3d5ffd5b60203d1061534c576080518060a01c61534c5760c05260c09050516060526020606051638585c4b16080526060600460a0376040516101005230610120526020608060a4609c845afa611ad4573d5f5f3e3d5ffd5b60203d1061534c5760809050f35b63556d6e9f8118611b77576064361061534c573461534c5760025463e31593d8606052602060606004607c845afa611b1c573d5f5f3e3d5ffd5b60203d1061534c576060518060a01c61534c5760a05260a09050516040526020604051633bb1f8c1606052606060046080373060e052602060606084607c845afa611b69573d5f5f3e3d5ffd5b60203d1061534c5760609050f35b6337ed3a7a8118611c0c576064361061534c573461534c5760025463e31593d8606052602060606004607c845afa611bb1573d5f5f3e3d5ffd5b60203d1061534c576060518060a01c61534c5760a05260a090505160405260206040516399bf0b76606052606060046080373060e052602060606084607c845afa611bfe573d5f5f3e3d5ffd5b60203d1061534c5760609050f35b6354f0f7d58118611ce1573461534c575f5460021461534c57600454604052611c36610120612ed6565b610120805160e052602081015161010052506011546003810281600382041861534c579050602061537d5f395f5163f42c56c26101205260e0516101005180820281158383830414171561534c5790509050610140526020610120602461013c845afa611ca5573d5f5f3e3d5ffd5b60203d1061534c5761012090505180820281158383830414171561534c579050905069d3c21bcecceda100000081049050610160526020610160f35b63bb7b8b808118611d48573461534c575f5460021461534c57600e54604052611d0b61016061444a565b61016051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050601954801561534c5780820490509050610180526020610180f35b63687276538118611f72576024361061534c573461534c575f5460021461534c57600454604052611d7a610100612ed6565b6101006004356001811161534c5760051b810190505160e052600354604052611da4610120612ed6565b6101206004356001811161534c5760051b8101905051610100526006546101205242610120511015611f6b57600554604052611de1610160612ed6565b6101606004356001811161534c5760051b810190505161014052601254604052611e0c610180612e9a565b6101806040810190505161016052602061537d5f395f516381d18d876101a052426101205180820382811161534c5790509050670de0b6b3a7640000810281670de0b6b3a764000082041861534c57905061016051801561534c57808204905090508060ff1c61534c577f8000000000000000000000000000000000000000000000000000000000000000811461534c575f036101c05260206101a060246101bc845afa611ebc573d5f5f3e3d5ffd5b60203d1061534c576101a09050516101805261014051610100518060011b818160011c1861534c579050808281188284100218905090506101805180670de0b6b3a764000003670de0b6b3a7640000811161534c57905080820281158383830414171561534c579050905060e0516101805180820281158383830414171561534c579050905080820182811061534c5790509050670de0b6b3a7640000810490506101a05260206101a0611f70565b602060e05bf35b63591890178118611fb2576024361061534c573461534c576020600554604052611f9c60e0612ed6565b60e06004356001811161534c5760051b81019050f35b63a3f7cdd58118611ff2576024361061534c573461534c576020600354604052611fdc60e0612ed6565b60e06004356001811161534c5760051b81019050f35b63ddca3f438118612050573461534c57602061200f6101e0614780565b6101e080516102605260208101516102805260408101516102a0525061026051606052610280516080526102a05160a05261204b610240612f37565b610240f35b634fb08c5e81186120d1576044361061534c573461534c576020612075610660612d41565b61066080516107605260208101516107805250604060046107a03742600a54116107e052610760516101e05261078051610200526107a051610220526107c051610240526107e051610260526120cc6106a0614c7b565b6106a0f35b63cde699fa811861210b5760c4361061534c573461534c576020606060046101e0376060606461024037612106610340614537565b610340f35b63f446c1d0811861212d573461534c576020612128610120612d41565b610120f35b63b13739298118612155573461534c57602061214a610120612d41565b610120602081019050f35b6392526c0c811861217b573461534c5760206014546040526121776060612e9a565b6060f35b63ee8de67581186121a7573461534c57602060145460405261219d6060612e9a565b6060602081019050f35b6372d4f0e281186121d3573461534c5760206014546040526121c96060612e9a565b6060604081019050f35b6349fe9e7781186121f9573461534c5760206012546040526121f56060612e9a565b6060f35b63083812e58118612225573461534c57602060125460405261221b6060612e9a565b6060602081019050f35b6309c3da6a8118612270573461534c576012546040526122456060612e9a565b6060604081019050516102b68102816102b682041861534c5790506103e88104905060c052602060c0f35b633620604b8118612296573461534c5760606001546040526122926060612e9a565b6060f35b63572e562581186122c7576064361061534c573461534c576020606060046060376122c26101e0612f37565b6101e0f35b633644e51581186122e9573461534c5760206122e46101206152ad565b610120f35b635e248072811861252a576064361061534c573461534c5760025463f851a440610120526020610120600461013c845afa612326573d5f5f3e3d5ffd5b60203d1061534c57610120518060a01c61534c5761016052610160905051331861534c576008546201517f810181811061534c57905042111561534c574262015180810181811061534c5790506001810381811161534c579050604435111561534c57612394610160612d41565b610160805161012052602081015161014052506101205160801b6101605261014051610160511761016052610a8c6004351061534c57631017df806004351161534c576402540be4006024351061534c5766b1a2bc2ec500006024351161534c57600435670de0b6b3a7640000810281670de0b6b3a764000082041861534c57905061012051801561534c578082049050905061018052678ac7230489e80000610180511161534c5767016345785d8a0000610180511061534c57602435670de0b6b3a7640000810281670de0b6b3a764000082041861534c57905061014051801561534c578082049050905061018052678ac7230489e80000610180511161534c5767016345785d8a0000610180511061534c57610160516007554260085560043560801b6101a0526024356101a051176101a052604435600a556101a0516009557fe35f0559b0642164e286b30df2077ec3a05426617a25db7578fd20ba39a6cd05610120516101c0526004356101e05261014051610200526024356102205242610240526044356102605260c06101c0a1005b63244c7c2e811861260d573461534c5760025463f851a440610120526020610120600461013c845afa61255f573d5f5f3e3d5ffd5b60203d1061534c57610120518060a01c61534c5761016052610160905051331861534c5761258e610160612d41565b610160805161012052602081015161014052506101205160801b610160526101405161016051176101605261016051600755610160516009554260085542600a557f5f0e7fba3d100c9e19446e1c92fe436f0a9a22fe99669360e4fdd6d3de2fc2846101205161018052610140516101a052426101c0526060610180a1005b634711a4f881186128675760c4361061534c573461534c5760025463f851a44060a052602060a0600460bc845afa612647573d5f5f3e3d5ffd5b60203d1061534c5760a0518060a01c61534c5760e05260e0905051331861534c5760165461534c57426203f480810181811061534c57905060a05260a0516016556060600460c0376014546040526126a0610180612e9a565b610180805161012052602081015161014052604081015161016052506402540be40060e05111156126d7576101405160e0526126e4565b6207a12060e0511061534c575b6402540be40160c051106126fa576101205160c0525b60e05160c0511161534c57670de0b6b3a763ffff61010051111561272557610160516101005261272f565b610100511561534c575b60c05160405260e0516060526101005160805261274d6101806151ab565b61018051601555606060646101803760125460405261276d610240612e9a565b61024080516101e05260208101516102005260408101516102205250670de0b6b3a764000161018051106127a4576101e051610180525b670de0b6b3a76400016101a051106127bf57610200516101a0525b620d505d6101c05111156127da57610220516101c0526127e6565b60576101c0511061534c575b610180516040526101a0516060526101c0516080526128066102406151ab565b6102405160135560a0517fec36b92a482408f90e07357ca20c8cfaca85affe765903cb242e377fafb166af60c0516102405260e051610260526101005161028052610180516102a0526101a0516102c0526101c0516102e05260c0610240a2005b632a7dd7cd8118612962573461534c575f5460021461534c5760025f55601654421061534c576016541561534c575f6016556015546060526060516014556013546080526080516012556080516040526128c2610100612e9a565b610100805160a052602081015160c052604081015160e052506060516040526128ec610160612e9a565b610160805161010052602081015161012052604081015161014052507fa32137411fc7c20db359079cd84af0e2cad58cd7a182a8a5e23e08e554e88bf061010051610160526101205161018052610140516101a05260a0516101c05260c0516101e05260e0516102005260c0610160a160035f55005b63226840fb81186129bb573461534c5760025463f851a440604052602060406004605c845afa612994573d5f5f3e3d5ffd5b60203d1061534c576040518060a01c61534c576080526080905051331861534c575f601655005b505b3415612a0e57602061535d5f395f515f6040525f6003905b60208160051b60400161535d015f395f5183186129f6576001604052612a01565b6001018181186129d5575b505060405190501561534c575b005b61014051612a1e575f612a2d565b602061535d5f395f5160405118155b612c3c5760a05161534c5760e051612ab9576040516323b872dd610160526101005161018052306101a0526060516101c0526020610160606461017c5f855af1612a79573d5f5f3e3d5ffd5b3d612a9057803b1561534c5760016101e052612aa9565b60203d1061534c57610160518060011c61534c576101e0525b6101e09050511561534c57612bec565b6040516370a0823161018052306101a0526020610180602461019c845afa612ae3573d5f5f3e3d5ffd5b60203d1061534c57610180905051610160525f60e0516101805261018080516101c05260046101a0526101a09050805160208201836102c001815181525050808301925050506101005161020052610120516102205260405161024052606051610260526080516102805260a06101e0526101e0805160208201836102c0018281848460045afa50505080830192505050806102a0526102a050505f5f6102a0516102c05f60c0515af1612b99573d5f5f3e3d5ffd5b6060516040516370a0823161018052306101a0526020610180602461019c845afa612bc6573d5f5f3e3d5ffd5b60203d1061534c576101809050516101605180820382811161534c57905090501861534c575b602061535d5f395f5160405118612c4857602061535d5f395f51632e1a7d4d6101605260605161018052803b1561534c575f610160602461017c5f855af1612c36573d5f5f3e3d5ffd5b50612c48565b60605160a0511861534c575b565b608051612c57575f612c66565b602061535d5f395f5160405118155b612d1d57602061535d5f395f5160405118612cae57602061535d5f395f5163d0e30db060c052803b1561534c575f60c0600460dc606051855af1612cac573d5f5f3e3d5ffd5b505b60405163a9059cbb60c05260a05160e05260605161010052602060c0604460dc5f855af1612cde573d5f5f3e3d5ffd5b3d612cf557803b1561534c57600161012052612d0d565b60203d1061534c5760c0518060011c61534c57610120525b6101209050511561534c57612d3f565b5f60c05260c0505f5f60c05160e060605160a0515af1612d3f573d5f5f3e3d5ffd5b565b600a546040526009546060526fffffffffffffffffffffffffffffffff6060511660805260605160801c60a052604051421015612e8a5760075460c05260085460e05260405160e05180820382811161534c57905090506040524260e05180820382811161534c579050905060e05260405160e05180820382811161534c57905090506101005260c05160801c6101005180820281158383830414171561534c579050905060a05160e05180820281158383830414171561534c579050905080820182811061534c5790509050604051801561534c578082049050905060a0526fffffffffffffffffffffffffffffffff60c051166101005180820281158383830414171561534c579050905060805160e05180820281158383830414171561534c579050905080820182811061534c5790509050604051801561534c57808204905090506080525b60a0518152608051602082015250565b67ffffffffffffffff60405160801c16815267ffffffffffffffff60405160401c16602082015267ffffffffffffffff60405116604082015250565b60403660603760405160a0525f6002905b8060c0526fffffffffffffffffffffffffffffffff60a0511660c0516001811161534c5760051b6060015260a05160801c60a052600101818118612ee75750506060518152608051602082015250565b601454604052612f48610120612e9a565b610120805160c052602081015160e05260408101516101005250602061537d5f395f5163fa18042d61014052606051610160526080516101805260a0516101a052610100516101c0526020610140608461015c845afa612faa573d5f5f3e3d5ffd5b60203d1061534c5761014090505161012052670de0b6b3a764000060c0516101205180820281158383830414171561534c579050905060e0516101205180670de0b6b3a764000003670de0b6b3a7640000811161534c57905080820281158383830414171561534c579050905080820182811061534c579050905004815250565b6040366080375f6002905b8060c05260805160801b60805260c051806001036001811161534c5790506001811161534c5760051b6040015160a0526ffffffffffffffffffffffffffffffffe60a0511161534c5760805160a05117608052600101818118613036575050608051815250565b6012546040526130ae610220612e9a565b61022080516101c05260208101516101e052604081015161020052506004546040526130db610260612ed6565b610260805161022052602081015161024052506005546040526130ff6102a0612ed6565b6102a0805161026052602081015161028052506003546102a0526102a05160405261312b610300612ed6565b61030080516102c05260208101516102e0525060195461030052600f546103205260115461034052600654610360524261036051101561331957602061537d5f395f516381d18d876103a05261020051426103605180820382811161534c5790509050670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050048060ff1c61534c577f8000000000000000000000000000000000000000000000000000000000000000811461534c575f036103c05260206103a060246103bc845afa6131fb573d5f5f3e3d5ffd5b60203d1061534c576103a0905051610380525f6002905b806103a052670de0b6b3a76400006103a0516001811161534c5760051b61026001516103a0516001811161534c5760051b6102c001518060011b818160011c1861534c579050808281188284100218905090506103805180670de0b6b3a764000003670de0b6b3a7640000811161534c57905080820281158383830414171561534c57905090506103a0516001811161534c5760051b61022001516103805180820281158383830414171561534c579050905080820182811061534c5790509050046103a0516001811161534c5760051b6102200152600101818118613212575050610220516040526102405160605261330d6103a061302b565b6103a051600455426006555b61018051610380526101805161339657602061537d5f395f51637b12e0096103a05260e0516103c052610100516103e0526101205161040052610140516104205261016051610440526101a0516104605260206103a060c46103bc845afa613383573d5f5f3e3d5ffd5b60203d1061534c576103a0905051610380525b602061537d5f395f5163754b76b36103a052610120516103c052610140516103e0526101605161040052610380516104205260e05161044052610100516104605260406103a060c46103bc845afa6133f0573d5f5f3e3d5ffd5b60403d1061534c576103a09050805161026052602081015161028052505f6002905b806103a052670de0b6b3a76400006103a0516001811161534c5760051b61026001516103a0516001811161534c5760051b6102c0015180820281158383830414171561534c5790509050046103a0516001811161534c5760051b610260015260010181811861341257505061026051604052610280516060526134966103a061302b565b6103a0516005556060366103a037600361038051046103a0525f6002905b806104005261038051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050610400516001811161534c5760051b6102c001516003810281600382041861534c579050801561534c5780820490509050610400516001810181811061534c5790506002811161534c5760051b6103a001526001018181186134b4575050670de0b6b3a764000061040052670de0b6b3a764000061042052610340511561368957602061537d5f395f5163bad1dc26610460526103a051610480526103c0516104a0526103e0516104c0526020610460606461047c845afa61359f573d5f5f3e3d5ffd5b60203d1061534c576104609050516104405261044051670de0b6b3a7640000810281670de0b6b3a764000082041861534c57905061030051801561534c57808204905090506104205261034051610320516104205180820281158383830414171561534c5790509050046104005242600a54101561368957610340516104205111613689576004610460527f4c6f7373000000000000000000000000000000000000000000000000000000006104805261046050610460518061048001601f825f031636823750506308c379a061042052602061044052601f19601f61046051011660440161043cfd5b61040051600f55610400516101c0518060011b818160011c1861534c57905080820182811061534c5790509050610420518060011b818160011c1861534c579050670de0b6b3a7640000810381811161534c5790501115613ca557604036610440375f6002905b8061048052610480516001811161534c5760051b6102c00151610480516001811161534c5760051b6102200151670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790500461046052670de0b6b3a764000161046051101561376a5761046051670de0b6b3a7640000036104605261377d565b670de0b6b3a76400006104605103610460525b610460516fffffffffffffffffffffffffffffffff811161534c576002810a90506104405101610440526001018181186136f0575050610440518060b57101000000000000000000000000000000000082106137e0578160801c91508060401b90505b690100000000000000000082106137fe578160401c91508060201b90505b650100000000008210613818578160201c91508060101b90505b63010000008210613830578160101c91508060081b90505b620100008201810260121c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c9050808184040160011c90508083048082811882841002189050905090509050610440526101e05160056104405104808281188284110218905090506104805261048051610440511115613ca5576040366104a0375f6002905b806104e052610440516104e0516001811161534c5760051b6102c0015161048051610440510380820281158383830414171561534c5790509050610480516104e0516001811161534c5760051b610220015180820281158383830414171561534c579050905080820182811061534c5790509050046104e0516001811161534c5760051b6104a001526001018181186138d1575050610120516103a052610140516103c052610160516103e0525f6002905b806104e0526104e0516001811161534c5760051b6102c001516104e0516001810181811061534c5790506002811161534c5760051b61012001516104e0516001811161534c5760051b6104a0015180820281158383830414171561534c5790509050046104e0516001810181811061534c5790506002811161534c5760051b6103a00152600101818118613983575050602061537d5f395f51637b12e0096105005260e0516105205261010051610540526103a051610560526103c051610580526103e0516105a0525f6105c052602061050060c461051c845afa613a6a573d5f5f3e3d5ffd5b60203d1061534c576105009050516104e0525f6003905b8061050052610500516002811161534c5760051b6103a00151670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790506104e051801561534c578082049050905061052052662386f26fc10000610520511015613ae5575f613af6565b68056bc75e2d631000006105205111155b1561534c57600101818118613a815750506104e0516003810490506103a0525f6002905b80610500526104e051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050610500516001811161534c5760051b6104a001516003810281600382041861534c579050801561534c5780820490509050610500516001810181811061534c5790506002811161534c5760051b6103a00152600101818118613b1a57505061030051602061537d5f395f5163bad1dc26610500526103a051610520526103c051610540526103e051610560526020610500606461051c845afa613be6573d5f5f3e3d5ffd5b60203d1061534c57610500905051670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790500461034052670de0b6b3a7640001610340511015613c30575f613c5e565b61040051610340518060011b818160011c1861534c579050670de0b6b3a7640000810381811161534c579050115b15613ca5576104a0516040526104c051606052613c7c61050061302b565b610500516102a0526104e051600e55610340516011556102a0516003556102a051815250613cbb565b61038051600e55610420516011556102a0518152505b565b61064051610620511461534c57610660511561534c57613cde610760612d41565b61076080516107205260208101516107405250600b5461076052600c5461078052600d546107a052600154604052613d17610820612e9a565b61082080516107c05260208101516107e052604081015161080052505f61082052610640516002811161534c5760051b610760015161084052610620516002811161534c5760051b610760015161086052610860516106605180820182811061534c5790509050610620516002811161534c5760051b6107600152610620516002811161534c5760051b6107600151610620516002811161534c57600b01556003546108805261088051604052613dcf6108e0612ed6565b6108e080516108a05260208101516108c05250610760516107c05180820281158383830414171561534c579050905061076052600160028101905b806108e052670de0b6b3a76400006108e0516002811161534c5760051b61076001516108e0516001810381811161534c5790506001811161534c5760051b6108a0015180820281158383830414171561534c57905090506108e0516002811161534c5760051b6107c0015180820281158383830414171561534c5790509050046108e0516002811161534c5760051b6107600152600101818118613e0a575050610620516002811161534c5760051b6107c001516108e052600a546109005242610900511115613ff757610860516108e05180820281158383830414171561534c5790509050610860526106205115613f4557670de0b6b3a764000061086051610620516001810381811161534c5790506001811161534c5760051b6108a0015180820281158383830414171561534c579050905004610860525b610620516002811161534c5760051b61076001516109205261086051610620516002811161534c5760051b6107600152602061537d5f395f51637b12e0096109405261072051610960526107405161098052610760516109a052610780516109c0526107a0516109e0525f610a0052602061094060c461095c845afa613fcd573d5f5f3e3d5ffd5b60203d1061534c57610940905051600e5561092051610620516002811161534c5760051b61076001525b600e5461092052610640516002811161534c5760051b6107c0015161094052602061537d5f395f51634a2ab3be6109a052610720516109c052610740516109e05261076051610a005261078051610a20526107a051610a405261092051610a605261064051610a805260406109a060e46109bc845afa614079573d5f5f3e3d5ffd5b60403d1061534c576109a0905080516109605260208101516109805250610640516002811161534c5760051b61076001516109605180820382811161534c579050905061082052610640516002811161534c5760051b6107600180516108205180820382811161534c5790509050815250610820516001810381811161534c57905061082052610640511561415d5761082051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050610640516001810381811161534c5790506001811161534c5760051b6108a00151801561534c5780820490509050610820525b6108205161094051801561534c5780820490509050610820526402540be40061076051606052610780516080526107a05160a05261419c6109c0612f37565b6109c0516108205180820281158383830414171561534c5790509050046109a052610820516109a05180820382811161534c5790509050610820526106805161082051101561424a5760086109c0527f536c6970706167650000000000000000000000000000000000000000000000006109e0526109c0506109c051806109e001601f825f031636823750506308c379a06109805260206109a052601f19601f6109c051011660440161099cfd5b610840516108205180820382811161534c57905090506108405261084051610640516002811161534c57600b0155610840516109405180820281158383830414171561534c57905090506108405261064051156142e957670de0b6b3a764000061084051610640516001810381811161534c5790506001811161534c5760051b6108a0015180820281158383830414171561534c579050905004610840525b61084051610640516002811161534c5760051b61076001526020610620516002811161534c5760051b60400161535d015f395f5160405261066051606052610820516080526106005160a0526106e05160c0526107005160e0526105e051610100526106c051610120526106a05161014052614363612a10565b6020610640516002811161534c5760051b60400161535d015f395f51604052610820516060526106a0516080526106c05160a05261439f612c4a565b6107205160e0526107405161010052610760516101205261078051610140526107a051610160525f61018052610980516101a0526143de6109c061309d565b6109c051610880526105e0517f143f1f8e861fbdeddd5b46e844b7d3ac7b86a122f36e8c463859ee6811b1f29c610620516109c052610660516109e05261064051610a005261082051610a20526109a051610a405261088051610a605260c06109c0a261082051815250565b60603660603760405160038104905060605260035460c052600160028101905b8060e052604051670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790506fffffffffffffffffffffffffffffffff60c051166003810281600382041861534c579050801561534c578082049050905060e0516002811161534c5760051b6060015260c05160801c60c05260010181811861446a575050602061537d5f395f5163bad1dc2660e052606051610100526080516101205260a05161014052602060e0606460fc845afa614525573d5f5f3e3d5ffd5b60203d1061534c5760e0905051815250565b600361024051606052610260516080526102805160a0526145596102c0612f37565b6102c0510260031c6102a0525f6102c0525f6003905b8060051b6101e001516102e0526102c0516102e05180820182811061534c57905090506102c05260010181811861456f57505060036102c051046102e0525f610300525f6003905b8060051b6101e00151610320526102e05161032051116145f55761030051610320516102e0510380820182811061534c579050905061030052614615565b610300516102e051610320510380820182811061534c5790509050610300525b6001018181186145b75750506102a0516103005180820281158383830414171561534c57905090506102c051801561534c5780820490509050620186a0810181811061534c579050815250565b60195460605180820182811061534c579050905060195560176040516020525f5260405f20805460605180820182811061534c57905090508155506040515f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60605160805260206080a36001815250565b60195460805260805160605180820281158383830414171561534c5790509050670de0b6b3a76400008104905060a05260a051156147785760805160a05180820182811061534c579050905060195560176040516020525f5260405f20805460a05180820182811061534c57905090508155506040515f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60a05160c052602060c0a35b60a051815250565b600b54606052600c54608052600d5460a05260035460c0526001546040526147a9610140612e9a565b610140805160e0526020810151610100526040810151610120525060605160e05180820281158383830414171561534c5790509050606052600160028101905b80610140526fffffffffffffffffffffffffffffffff60c05116610140516002811161534c5760051b60e0015180820281158383830414171561534c579050905061016052610140516002811161534c5760051b606001516101605180820281158383830414171561534c5790509050670de0b6b3a764000081049050610140516002811161534c5760051b6060015260c05160801c60c0526001018181186147e95750506060518152608051602082015260a051604082015250565b6148b16101e0612d41565b6101e080516101a05260208101516101c05250600f546101e0526010546102005260195461022052610200516101e05111156148fb57670de0b6b3a763ffff6102205111156148fe565b60015b1561490857614c07565b5f6003905b8061024052602061535d5f395f516020610240516002811161534c5760051b60400161535d015f395f51186149525747610240516002811161534c57600b01556149b4565b6020610240516002811161534c5760051b60400161535d015f395f516370a082316102605230610280526020610260602461027c845afa614995573d5f5f3e3d5ffd5b60203d1061534c57610260905051610240516002811161534c57600b01555b60010181811861490d575050601154610240526404a817c800610200516101e0510364012a05f20081028164012a05f20082041861534c579050046102605260025463cab4d3db6102a05260206102a060046102bc845afa614a18573d5f5f3e3d5ffd5b60203d1061534c576102a0518060a01c61534c576102e0526102e0905051610280526102805115614a4e57610260511515614a50565b5f5b15614b385761024051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050610240516102605180820382811161534c5790509050801561534c5780820490509050670de0b6b3a7640000810381811161534c5790506102a052610280516040526102a051606052614acb6102e06146d4565b6102e0516102c0526101e051610260518060011b818160011c1861534c57905080820382811161534c57905090506101e0526101e051600f55610280517f6059a38198b1dc42b3791087d1ff0fbd72b3179553c25f678cd246f52ffaaf596102c0516102e05260206102e0a25b602061537d5f395f51637b12e009610320526101a051610340526101c05161036052614b656102c0614780565b6102c080516103805260208101516103a05260408101516103c052505f6103e052602061032060c461033c845afa614b9f573d5f5f3e3d5ffd5b60203d1061534c576103209050516102a0526102a051600e556102a051604052614bca6102c061444a565b6102c051670de0b6b3a7640000810281670de0b6b3a764000082041861534c579050601954801561534c57808204905090506011556101e0516010555b565b60195460605180820382811161534c579050905060195560176040516020525f5260405f20805460605180820382811161534c57905090508155505f6040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60605160805260206080a36001815250565b6019546102805261028051610220511161534c576002610240511161534c57600b546102a052600c546102c052600d546102e052600154604052614cc0610360612e9a565b6103608051610300526020810151610320526040810151610340525061030051610360526103205161038052610340516103a0525f6103c05261030051670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790506103e05260035461040052610360516102a05180820281158383830414171561534c579050905061036052600160028101905b80610420526fffffffffffffffffffffffffffffffff610400511661044052610420516102405118614dab5761044051610240516002811161534c5760051b610360015180820281158383830414171561534c57905090506103e0525b670de0b6b3a7640000610420516002811161534c5760051b6103600151610420516002811161534c5760051b6102a0015180820281158383830414171561534c57905090506104405180820281158383830414171561534c579050905004610420516002811161534c5760051b61036001526104005160801c61040052600101818118614d4e57505061026051614e4857600e546103c052614eb3565b602061537d5f395f51637b12e009610420526101e0516104405261020051610460526103605161048052610380516104a0526103a0516104c0525f6104e052602061042060c461043c845afa614ea0573d5f5f3e3d5ffd5b60203d1061534c576104209050516103c0525b6103c05161042052610360516104405261038051610460526103a05161048052610240516002811161534c5760051b61036001516003810281600382041861534c5790506102205180820281158383830414171561534c579050905061028051801561534c57808204905090506104a052601454604052614f356104e0612e9a565b6104e0602081019050516104c052610240516002811161534c5760051b61044001516104a0511015614fb457610240516002811161534c5760051b6104400180516104a05180820382811161534c579050905081525061044051606052610460516080526104805160a052614fab6104e0612f37565b6104e0516104c0525b61028051610220516104205180820281158383830414171561534c5790509050046104e0526104c0516104e05180820281158383830414171561534c57905090506404a817c800810490506001810181811061534c57905061050052610500516003810281600382041861534c579050610240516002811161534c5760051b6102a0015180820281158383830414171561534c579050905061042051801561534c578082049050905061052052610420516104e0516105005180820382811161534c579050905080820382811161534c579050905061042052602061537d5f395f51634a2ab3be610560526101e05161058052610200516105a052610360516105c052610380516105e0526103a0516106005261042051610620526102405161064052604061056060e461057c845afa6150f0573d5f5f3e3d5ffd5b60403d1061534c5761056090505161054052610240516002811161534c5760051b61036001516105405180820382811161534c5790509050670de0b6b3a7640000810281670de0b6b3a764000082041861534c5790506103e051801561534c57808204905090506105605261054051610240516002811161534c5760051b6103600152610560518152610420516020820152604081016103605181526103805160208201526103a0516040820152506105205160a082015250565b60805160605160401b60405160801b1717815250565b60805160186040516020525f5260405f20806060516020525f5260405f209050556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560805160a052602060a0a3565b6060513081146152285780151561522a565b5f5b90501561534c5760176040516020525f5260405f20805460805180820382811161534c579050905081555060176060516020525f5260405f20805460805180820182811061534c57905090508155506060516040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60805160a052602060a0a3565b60206154bd5f395f51461461533d577fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac56472606052602061549d5f395f516080527fd61c1033330c368dfc371f5b1e7133f4794e104642e5a3c87aba7a6a3441c8ff60a0524660c0523060e05260206154dd5f395f516101005260c0604052604080516020820120905081525061534a565b60206154fd5f395f518152505b565b5f80fda165767970657283000309000b000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000cbff3004a20dbfe2731543aa38599a526e0fd6ee000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000d54726963727970746f55534443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6372765553444357425443574554480000000000000000000000000000000000aca05ce585b6e5a8eb5fda1ce709e7afff5e91fa75a791d7d642b70ce309f03800000000000000000000000000000000000000000000000000000000000000019130120a815b305a87f3895e79d3138b1ca24e08fdb1f9665e673d6f464ac2da3e910f52862dda9daa65474fe80225189c241f98359575e31c3630225869de9b00582002fc9a0d21be660631d58da1ce41f2aef41843afacb3cf147ce0238ee4419646410100582003342fda0ae75ebc2aa176a4797ed8480edcdb49e1177bd56923dc7b98ac79304c19d971e40a7f82b9fbe1a77b005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9046095389ab66fa02189000582003b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0058199f968f8c7b1664c4a50000000000000bb6097453754fae2f9a0058200310e4fded79571675808f7964b32727f03e383399a3d40c5dc3f9b7b8f6c3b04c19d971de7de7df5f269bda650219204000582002d36604b9eeae220812c4459562bb15031c0139b984400a7a5b783e8c855e61468ba98aa6c9d6032daf586c417aadb76d307d40dc5303aee73b413637b4f6e86fdf26acc7487fca0058200203f4c7af2390ae420ecee918b835aaf22ab64336224e8cc0b8b1d0c7d4f1de4814d1120d7b1600000384e90393b49e8c2bb350c61099f4c244a89af7b9845449c35607038774dec3c600582002be253d8dcdee39c6fcc4e909600477711f06bea616ba138293c5bcf158daa55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002cdc2bb88a1fb7b25d5b7d841e50a2a1023c1762fe9c2ebeecd298b4e0cbe9e58207fffffffffffffffffffffffffffffffffffffffffffffffd44baa6d3d17167b005820027693beeb7adae146db9162df5e6529f839548ff2a0f570cbda48435efc8a9e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0392e26a9c9a71a6b08b5f9e0f6e47b4844b34e6cdb8a142df638c9d96b83eb9500219deab03cc87e281ca79a4b58dd5a2be15a1e99b207ccd5fbc2ab831d628d759ea50319303bea809ccfbe361b7449d37f974f47e208c48250654c0b8eaec89af28345b847c00582002e7ac88900b8173b3973b0dc4898f76efa3a9717f16ae18de962619f663466858207fffffffffffffffffffffffffffffffffffffffffffffffffdfae2392fedce3038c40be8efc22a44c686eeb21091dac04e1b6e47a4b146f9ad7bf7a402c47af0100582002a87b48c26759d22b6e249770a9e136dade74c1c5e73657cf6a807b8c50e3f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ddca139fcc8411430e2f15dfabaf8d18688f38c76c442821742f9896c77c3cde01410d00582002c2846a9fc25f3ae4ef400d59604b48d73c68e6e305df651a7707545c299e204c19d971e4e55109ccae8ee47500582002c7dc6db910b3f4f83a98802f442598ff62a272e4c57e552c0979e5f7d2b2204fc097ce7bc9069385652f938f3ce4380369948bb1f0899823863f5d2e095d6232645ef895624bbec492533088865f6e9600581f0261c5ec2b16739fabfbeb68c2a34e1ad7e1bcbeb898ed7839401ea95618eb472911c23d9a800000581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56341030219200801410000582002368669b49ac6523d29b36f15ee34d2219f91b3d39b64e8559f31e9f2a0ebad58207fffffffffffffffffffffffffffffffffffffffffffffff619fb0a4bdcc341b0058200283d1f00b7941fb2a3e6ee9356f989a15c4a8e29e7a23c79dea617eccaa6f505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03da353a450c3e7f55a504c2b71d20921a7ed31635512f006ec3eb314fd864b8230058200213d225cc52441150ab3d4b5396f2cfa8c92b59efd26a297375be5541cc9f905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219d7df00582002ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68480dfda8dfee00aae700582002ed211d09dc65d1fe5ac44de25ad02f57c181e3ba19c00758b9c7c2bd6252c85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820028540d78c96d96cb2dbb2b9ef4e5d90306be9ebea726ea070dc0e0ad622d7385820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820027d3f85fb9d69d047db1335ae54f3caaeb16dfc13257c2f7221f6c0ad5a618958207ffffffffffffffffffffffffffffffffffffffffffffffe9ec94ed7babf445103843d21b32cc78246c49e1d570995d8d41b293f1f24aee9d3dc39bca2f9ce78300058200214821b56b49efd2d2900926b21178450bb8054931fc14767fa6fa08260ae495820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0314eb4bf127c163d4a46aa5cc31ca6a8dfba5ee2d5ad230a18ffa176dc5d9eaae00582002b150468837ffb1386123b20fcc7fef718dc3d2fbc7ff7b2b58231e2de3891b4822b0a37512ebf2ba03e23a3a49e75df9e90132704dc19b7aecc92f84944b5410c9e51866e7270771c7033f7269bd7a08dd8d7e62b16d259284203cfd783619edb8a6a735a15e4fea60b703a2fa942d56210beef1186e8822739ca3aa4a23cfa3f352ca525745a3c6cc4a0a00582002d0ddc5578273399d82121b51320a0ee52397409881c870971dfc60c8ad77ee5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ff4e03b9c2127f97f4a57f787538bf3f579dd856c502b6cc19d38e61f8d25fae27bd9203cdb69e563bcc6ef3bf2a7fe0e83a3e3c03ddd8ea6671a5cb43011b213d079bf303c7dfaef3cfd395b9ccd5b3c8dd40f2abb486ef09b454d49273d4b9fe2a91136403d2a83f70663f8619f71db669998df2368ac678f3dba3201a88125e67961c62f800582002db50488a8fb6e08fca7c505258759ac3c1cc02ab6311ba15ec2c5a3be4cb8d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002d0c9462ab1bf0e93d52ff9ea4e60fdb85ace0c26d66ad3b2b099ca7e2b9ad15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820025545a620e797a2283600c2fcaf30a8745dd1591351e1afbef7cb27040dab745820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820024d9fbf2799262c32d1eec42e34b7b3ecbb67685c2bb224ea9782c5f8eb4fca5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0531a0e6d000000000000000000000abd8940e805005820035912f6029b0599dd6583213bacbbb2edf4db3da199ff2c9b318456d4303cb04702b7199a6bfecd021901020385259143745bef70956784a436f76cc2187e73941b07f8a3bbe7811e7be5fd100219f4a40392150c1320fc8ef27d48fef734f8f5b1e66e22e47e6cb093ce4675a9b42dc1b6031b3995a6d7e9c33821a839c87ffad57e7ff3818d7d0e23c3e66f3b0f8af5f8e60356e8314b997c94f68fe46fa81930d72b77df363e3085db3619e69a4b7636d7ed005820023c550486f656dae341eb82d8c8f71cae3d322a8c79f183b688b65872f963674585fa834cce034cef216fc38ad29840f67dc4ed177eafb3f0dc6665dcc2fd3654c5cd86698bcd00582002b8291320dfd612d265d86cb811acb2e49932e915bef4e9de42505bb4b36af948294325ffa2c6f3420058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b58199f25d66fcfadb485b80000000000000bb20d497eab6ef796b80058200250cf1381efb924f7d5de2115113415cc30c07eb275468f152df6b4d8d828845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002447d4026398117e75858f0216fb86ad35707cb4ca88cb5d268e10b7a1f490b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820021108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802480e1a2fd52380fccb03e84ca43c4b3c24d29af47b201560f300c27f737e840b0e4f8fa0a8627338a912030d69366d0b3f92e101a7b8fc23dc1839462f6494716140acdf9fce91d46cb6a20219fd8700582002c2949ee1fe9f4a5848460efa7a22fc58f8eee83c8e63e87248fb7d8cbaf65a58207ffffffffffffffffffffffffffffffffffffffffffffffdb2cd97f8d67adf7c03c7e6a9acc4ce0745e09aa4ee1ca660efac13b3d37c55e7b9640aa0fa0eb61a6f037e5450aa17f05213cdb47601c69988d3b7ee39a82a9473e37b032fe167c309eb03cfec2317e02a3a6a1ff76608022d1dca4c72845757147a7de583c6ddcec33b3b005820024998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c96954a03ee1098497e836703230058200209adbdec831d4b82b4ca3f7e674a3b94a869144f9c16f1e5ad24dcff7572aa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0377fe079cf41d030c0561f8d00677cc5bc28e05a8de30b4e3676070478920695c00582002015bf46a0016eb042656b07b0b3c3f4ce35b4ac517072232987962fb4b36a64c19d971e4fe72e53db43da0f8033f6e102913922bf5cc0393d38ea0e0ac174e50e66c2476143b5d55806533f0d9033306d59357e1b4860e6d22c8c20af772a697e31ee3921df0f4a6a55a63e643ec03ba2ecd954ea15f7470486d6d19e4bd28db9b84eaa08690641b37a44adbb95f210326ebb7ea2c4d12fec108d2e34518f2555876ea8b3ddab366635bb59aec62edcb0219d5bf0312f75f7fda5e305dede779af817418a81981e21dbd487ffe80942dd02bb8e71600582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6055e8d4a5100000000002540be40000000000000000010058200332331ae04755841a66fd193f5c6691031a7dc41fb9c61a91f7865b8fdb6f504c19d971e4a666244e610ac561021841005820028746802e3b790aea6d012361a722fa72175afaf18f5cba3aded454817c98de5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0386cbb5533abf4c0ef29b68f7fc5a942cffb68303964d7c19c5f38c0d573dd57f00582002b7d0e9021a86dd8dc1344eb00066309629fd512c0a48dd85a526e0eeb082c8476823a87b127f07005820022fcf3b42bfb1446270401d1f29d494ae68a413090954d14cec9863a5d3876046e91abda748db0369b5a89a5b0933f34f2248b0734f6454a53b640b3e9241f0713aff7e91b8f24b005820024e9c8c94af95ec3e8ee5747563fe2044c902a5811a952aa92301cff219b987476dcaaa2112df5d00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04b1950b1541ab6b07d56043300582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344405601d1a94a20000001bda703f0a00000000000000003610219018000582002d628c045501900346e0be46a5dd40492a82f855428e37e2acf08878d17b51848126cae3e93ff6bb10311be9e8f864b230cf4270b18ef4e50f1ef41f61faf4ddb0eb39de0ba9eb8adca00582002a45dc015963e500c9805f1aea6330953685c11fdfe81d6b9ffd9965d136a815820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ef5600582002251862efa6274da26a572de6c3395830bbc16df6175e873512df27b1c592fc4c19d971e4e8b92804a0e5ea5400582003b1e78d38f6c814a69a714811ffa440e925bd6d2f0771e34c90f54552d74cf05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b058199f1b5083be552841130000000000000bb1ef39fb026d2c0fa10058200344195a03a98ec2ef20201326af5e3db9cb39db1315ed66ca4fd95f0bb208f058207ffffffffffffffffffffffffffffffffffffffffffffffffb6a131cb68f69e8021910220058200282f3ea2143eedb5f3e9a3e87708e3ad38d38b85c49716506e14f9e08b372e347071afd498d0000005820027a06de98154085c2ccef37cc106697adf25e3016a448abfd17423f0efa61a8468c0acb13dd8f03e41cbe979da3250b552fad58b54b5f046f8f6b97350ef1673ef5ef44ac9d5de2005820026d86ffc8302d06ba69a6d2c000b5b6afc8d31eaf5a5991a5419155ff9884ac490a89792ae045e75f66005820027075e9534be916c31cb5445356738a5ab49bd5fd9054d7608d5c762f6146894751b660cdd58003030213aaaecf36a8cd966846ddf74db885eb037a346316373199e4f7ec5c52a2110058200271f62779b385d9d286636eb7887399d42d9d1cbc9c77777eef76875593d6c24c19d971a7fd053cded756612000582002ab6e2133ce942fa5582d8dd0dadbe89d88e5bd63d8542c8050081ec12b97e74c19d971e4fe8401e740000000031bf18503d74c3d391e9a538b1ba8f79f808474880ab156a831de54c1a253756a005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec532dc6c00000000001c9c3800001c6bf5263400000582002b2d20f1b86074aab2e5121d55fd4b1e12b82bb1d3098c47ef9bb4045106b8758207ffffffffffffffffffffffffffffffffffffffffffffff92d51c6d7c12919f20219f6fe0371155fe90e6cb4c99e277a34f71370bf642def49a35473494c1b9cc3a9355cd7005820020c20d9d26c4adbc2120ca538704341771b39ba1fc1aedb561eec54e77668af5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820020ccb5bbb6b4e3ba6f95e6e570743cadf570c2e496d0dc197af5a732be06aa75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820022759d4b2a4ed5fc8b9e544cb3b85d85f04a6c704e97996497022739b20e6194c19d971db3d29bf243e0ec15e0058200268b340774f52abe226ad987736bc9df4f2fd999133a66137da40e89cdfd83c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003964171625451614c33a0673a054ffed485431cbbf470211b25d977164c76d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c1865ffdfb62bb3c6a2f027ef71f5350d1e9d7413040837bfefe03fb7f6a605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5049bb624ed237311e22fa021908060366ccec133029af380b99ba64eccd28827a6845bb3404a44436a80a0d4fb3b5b5034eefc94c46fa3b2ffd08419dbb6a529e9fa6453be8295d235f97b5231ba454a203374ad02d74b4c9577dbf1ad479a0be516623a6a1bdee49257e409a7ef2f37d9e00582002b216c3e88f7714e57c91c0936783bf96e999dec5976a02622daa0fa48998d44801efdc6c50ea507500582002538d206576eed181b567b9af6482a16235361fefbf483491a25375d28880004c19d971e434acdd03c546abbc005820027c11c28a4a65171ffd9502aa94cb7b6421a8408bd8a063c5f1e328b87de93e4c19d971e49b926a153ac16e1f005820036d944dcc4963810149329f83d7526757b8382ed9c4c1a3180f7156a64becf04c19d971e4f1899b24a016d72400582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7045044d53cd07005820036eac92e91b195ad2344ddb7c4d059f10d7958c8444ef97c8806520b0f39ad0480135a7497447ca09021920500219bfeb03e21730b35a18e60d759d1da24f18268bd0546dd89195e2697e58d73470c483be030f8ea78458be2c21d86a9a44cf75d1d4bfd1c9a44912f1bdb2ed9730956f643f03bca315c6960d194b378adc443a564dec97a9358c8b0b896ea6ab8b6d48c09bc300582002ec3068754c6412248a55661d9c62c82f9f282e8814687bb4cb0b514f3c336f4701b970e5c5747400582002a38f3866de704be9fc33af5296b65918ff8a7103b8e07f1a46f12210117a6e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003bb636e6505a4081c1313a1e96e4e761b33d8930a8b3902bdb4f209bef1af0058207fffffffffffffffffffffffffffffffffffffffffffffffa6166bb0a5bcc847005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0446687db1702182403de7ae4cfd326ea0af1307c3a59e7ecb682ec8b63e3af5f7a1199f4190f2ad07103bbceef279ea814a12603f2305c744b730476f9f5e4008aea806f3254d516160700582002f613ae8cf53c0aca0f242f81e2bbdfe57feafffea072568eba9dcd6f8a49174735820b75a87bd40301f0c2b7a6ae54fd828123faada0c58ac7212366daf2073d1923c2f9f912d57003dec28116acdff525a3f29021df74dfcb27cc3dff5be70c6c80364d7ad94635b902199e670219ffff05581e0347bae6510045f1e4bec6a12975363112a6269ae082ff526c67c37ee9400f0149bb624ed237311e22fa19551d05581e03777a98cb4617c0198818aa3233c8ea4bea07c01be77d6a066c7febf9d0084703328b944c4000021957ff03f2b32e3bfe7ff627bbea1db5082a53fbabffc0c149c129a1d1517f1e2fe3ead703c01e5b8b392f1a1297ef1e60a8bfd94e9e783d50110d4f34dab0b40dde200bb903b5e79237b6c811c962a513be47eab115ff44f629463012325fbd127e421fc5ed037bbef095d8afcf6d307650b7b1878c685dd87607be90851eaae4efa4f973c114039e83138c354707a162df06f7f39817929b88462e1dc18d1ea246dc416fcf40a50219ffff0386a7db6394ec6cbfad49a99dd6a26bc59ed10b083e3d7a00df28d3765537c47103158ba5abbaede02c55dda1b2b9087b6d7945040342549f5110cf24e4a759c5bd034e2480e0e8fa578ec765976427208e41c111dc7ed3490a3730a48bd6bc4bb0a703c0220642cc5629fa3d5b24cd3353e9cfdeaabb1a5eda17fab275b8323b9c09150219ffff03503cfffe52c20638350a40fd080793950827b43df2d38a6b66ed3225d2c9751d03240164b7a0579a80955f61ca82059ea6ca933f08452093733526320a7be22fb203f13c2f07c23e4d0919d5522a1a5da8657c96eabd2df9f38ddc0877409d17336603b2d0bb7670e96b177f7c8df93bb4f8b616afab3a746c474472161e9154d1621503e196d312e9313021140fd40bb58f5eafdae66d9a85cf0f9630a2d106117149bf03fb35855535b778870e2c348bd076e2d4aa1ecba68a46a482e699ab8b85cd384d0391fbb3a4cf8f059707b2a5b79f0d3916851d2348d0fe0e8478519268ce63d354035acda05c05de5f8ee709028f3f30422fa09980b055a6db969e989136e8e094bd03793ba8b111646f73c4654058c79326b49b15c30c49b74ac24f782077d17eec7a039f42e59a71803b4e71030decb67dd97aa03d810d0355ffe902d531f2e53c95e703cc505d5d87001d40b3206e5e6cfdab00a7406445bed39ac7712d4e45b5c130a50309f7a266ffaba47988952121f6a79b1ae43d3718605c3fb056d5be37fd120c2f033ee5b0886347e7963d5449b3cc682a987359fdfb8a5c05554296119f4861cb5b039705e7454e54995c305cbdababb44e460c7f26f2c57be6390bf9df63f789d3a603d80b1a466e05be01ab7b1296841f303281d2385e0a6ec715421c5fa948ccac5a03ff85a71ec6e3d1a3e9844e3782d8332dc2acf5c69e92222cd29078884687ab7003c9b6bfdcdbfe36840e6ab41bbd4c8f35e52fcf3be367dbb2589bfc72b3b4d31403d7683857859e0a904a03c0e625c7ea21e78a7c397435e801e31d1886eb3b81c903e9479b64288557aaf3f3856d15b93b95819534f36fd90523f403510b0b02992503d45e5bd732f95340d42968cef023e6e9dc555b56a241067eaa076a707e516dce038a5c4c3f7451f07aa3aee28bb5ab496853c59af5f261d05ca83ca9e5eeed138a03cb62bb5b4a0cc5309e62b17b469861dcdf21110584a2768f34002154e977e790031ccc6acb8b656d49d3406bf25ad96860521281e4fb8cdcc02b5f63390132bbee032f7e7504f17c7a8d58b780c282c61720e0c80b2fb75c9613642b8e7a78d28dbf0368834f26308879370302b11c662773d92bccad4c1a7e4d9b74f1e511fe241beb033a46c0d19c6472edce1338ea7521a9d226c9d4c3830daf7bf535b04db119e8c503c3954931410730eb549306af44c7517468065e873793dfca43cfff29898f882c03ca6c40153b95494238838b8a8436dae8e380bae6ae2448af3f68386795d606bd039f9f32e1617c3c26c723ed7e9ffb7a6e5fc629e06305adaefed75014c834a79a03580f81594d7c437c7ab45dfbfe1f028d4cb21580ff789743f04af6e64d282da103837f76a66351902f6e8e2360396799d361a557a810ef99bf844994e6de8ceb9603293ef73dfe7d36d7e1cec3273eb55b66d3442e0a29603078e44b9502ddf91bc603dac9e2a149cc2dcb44cfaaaff5cc43e3c71d1ecad2cb71657350f35687f750a803c36c1f6eba19491e105968544303055b253db1fec52a1a211f9887fdf47dd50c03e83fe1d1b4f2c9af0e5cc01861a1a0492343c4b8f6d11bae01c3d28a00aaba7c05581e03585ad155924823a1930e41ec6cb3666de9263dbff01a4b96f3da9e9b000c0245d81b3e3e8005581e035f3f89f8f1ddfc992f3a4a43ad799de0c1b0f4ec40f1d456553696d6c00c01472d97b730789e000355bc358a148ad77ddfd9b2dcc3294868e86db9e189c6559c3f823b6d700d1e2d01410005581e03201b82e017fe86b4bfc029a79f8f6cd3e7ead98d672f280cb8533fc0e0040103125f11924e1de5c63f9bf1ba06f3ec51612f1367932ffee33836275b2e27c89705581e035302aa3cffd78fb8f216691f1b5dfc0852d7c09677586c51f0e6f7de500c0e4702657ed9ee9e8005581e0330ab88537051d54264620593ba1c4ac871619ce6a126b5aa3a49e61df0040103aea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e50306339e60ec8548feccec3f2c5f041066c5a534bb5415a5f236522bc5871e9e3c05581e03d012f785e0f258bf7b409bba8e7ad15f32f81d4a13260facb0b8e873c00f01480de0b6b3a76400001bffffffffffffffff03449757d9e9b69bbab0d765b5a4800afee59bd255bca7d66a2aa8d14fbde4a832045959d36080604052600436106101845760003560e01c806361d027b3116100d6578063d15b0d491161007f578063f2fde38b11610059578063f2fde38b14610513578063faaebd2114610533578063fd9be5221461056e57600080fd5b8063d15b0d49146104a6578063d80e9bd9146104c6578063f0f44260146104f357600080fd5b80638da5cb5b116100b05780638da5cb5b1461042e5780639c33abf714610459578063c14c43491461048657600080fd5b806361d027b3146103a75780636750cd4c146103f9578063715018a61461041957600080fd5b806329460b0b1161013857806343ea4fa91161011257806343ea4fa9146102cb5780634d963200146102eb57806354fd4d501461037a57600080fd5b806329460b0b1461025057806339e3f938146102705780634389e58f1461029d57600080fd5b80631881d94d116101695780631881d94d146101f2578063200175f71461020e57806320efd7221461023057600080fd5b806301ffc9a714610190578063188183f4146101c557600080fd5b3661018b57005b600080fd5b34801561019c57600080fd5b506101b06101ab36600461453b565b61058e565b60405190151581526020015b60405180910390f35b3480156101d157600080fd5b506101e56101e03660046145cc565b610673565b6040516101bc9190614605565b3480156101fe57600080fd5b5060006040516101bc9190614638565b34801561021a57600080fd5b5061022e610229366004614679565b610780565b005b34801561023c57600080fd5b5061022e61024b3660046146ff565b61092d565b34801561025c57600080fd5b5061022e61026b366004614754565b610ae1565b34801561027c57600080fd5b5061029061028b3660046145cc565b610cc6565b6040516101bc919061485a565b3480156102a957600080fd5b506102bd6102b8366004614886565b610e67565b6040516101bc9291906149a4565b3480156102d757600080fd5b506102906102e63660046145cc565b610f61565b3480156102f757600080fd5b506103496103063660046145cc565b600460209081526000928352604080842090915290825290205463ffffffff811690640100000000900473ffffffffffffffffffffffffffffffffffffffff1682565b6040805163ffffffff909316835273ffffffffffffffffffffffffffffffffffffffff9091166020830152016101bc565b34801561038657600080fd5b506040805160038152600060208201526002918101919091526060016101bc565b3480156103b357600080fd5b506003546103d49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bc565b34801561040557600080fd5b506101b06104143660046149c8565b61131b565b34801561042557600080fd5b5061022e611326565b34801561043a57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166103d4565b34801561046557600080fd5b506104796104743660046149e5565b61133a565b6040516101bc9190614a30565b34801561049257600080fd5b5061022e6104a1366004614a43565b611421565b3480156104b257600080fd5b5061022e6104c1366004614ab8565b611599565b3480156104d257600080fd5b506104e66104e1366004614886565b611627565b6040516101bc9190614ad1565b3480156104ff57600080fd5b5061022e61050e366004614ae8565b611697565b34801561051f57600080fd5b5061022e61052e366004614ae8565b6116ab565b34801561053f57600080fd5b5061056061054e366004614ae8565b60056020526000908152604090205481565b6040519081526020016101bc565b34801561057a57600080fd5b5061022e610589366004614b05565b61175f565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061062157507fffffffff0000000000000000000000000000000000000000000000000000000082167fb6e9ace300000000000000000000000000000000000000000000000000000000145b8061066d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b604080518082019091526000808252602082015263ffffffff80831660008181527f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8916845260048352818420948452939091528120805492939092169081900361070457825463ffffffff16610706565b805b63ffffffff1684528154640100000000900473ffffffffffffffffffffffffffffffffffffffff1680610758578354640100000000900473ffffffffffffffffffffffffffffffffffffffff1661075a565b805b73ffffffffffffffffffffffffffffffffffffffff166020860152509295945050505050565b60035473ffffffffffffffffffffffffffffffffffffffff1633146107d1576040517f885762a700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff1663e1758bd86040518163ffffffff1660e01b8152600401602060405180830381865afa158015610853573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108779190614b31565b73ffffffffffffffffffffffffffffffffffffffff16036108c4576040517fe695d04400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108cf838383611859565b6040805173ffffffffffffffffffffffffffffffffffffffff8086168252841660208201529081018290527fe081464b7278501267de69fa85b7b9560b0ae05d5fbfaab9b1986c70356e2efe906060015b60405180910390a1505050565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff16331461099c576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610adb57368383838181106109ba576109ba614b4e565b90506020028101906109cc9190614b7d565b90506109e36109de60208301836149c8565b6118cc565b60016109f560408301602084016149c8565b63ffffffff1603610a3557610a30610a1060208301836149c8565b86610a1e6040850185614bbb565b810190610a2b9190614cea565b611913565b610ad2565b6002610a4760408301602084016149c8565b63ffffffff1603610a8257610a30610a6260208301836149c8565b86610a706040850185614bbb565b810190610a7d9190614ea3565b6119c0565b610a9260408201602083016149c8565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161099f565b50505050565b610ae9611a09565b60005b81811015610c885736838383818110610b0757610b07614b4e565b9050602002810190610b199190614ed8565b905060ff610b2a6020830183614f0c565b610b3b906040810190602001614f40565b60ff1603610b75576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff610b846020830183614f0c565b610b95906060810190604001614f40565b60ff1603610bcf576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff610be56020830183614f0c565b610bf3906020810190614f5b565b67ffffffffffffffff1603610c34576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c52610c446020830183614f0c565b610c4d90614f76565b611a8a565b610c7f6000610c6460208401846149c8565b610c716020850185614f0c565b610c7a90614f76565b611adb565b50600101610aec565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b5608282604051610cba929190615034565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a01000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015610de757602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dbc575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610e5657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610e2b575b505050505081525050905092915050565b604080518082019091526000808252602082015260607f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff163314610eec576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610efa888888611e6f565b9092509050600080610f2c610f1560608c0160408d01614ae8565b610f2560808d0160608e016149c8565b858a611f3c565b9092509050610f3b8284615203565b604080518082019091529081526020810191909152945091925050505b94509492505050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff168061101157825467ffffffffffffffff168452611030565b67ffffffffffffffff818116146110305767ffffffffffffffff811684525b815468010000000000000000900460ff166110e657825468010000000000000000900460ff16156110e157826001018054806020026020016040519081016040528092919081815260200182805480156110c057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611095575b50505050506080850152825468010000000000000000900460ff1660208501525b611184565b815468010000000000000000900460ff90811614611184578160010180548060200260200160405190810160405280929190818152602001828054801561116357602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311611138575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff166112535782546901000000000000000000900460ff161561124e578260020180548060200260200160405190810160405280929190818152602001828054801561121657602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116111eb575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b611309565b81546901000000000000000000900460ff9081161461130957816002018054806020026020016040519081016040528092919081815260200182805480156112d157602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116112a6575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b61131284611a8a565b50505092915050565b600061066d826120ca565b61132e611a09565b6113386000612131565b565b60607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff63ffffffff831601611399576113738385610673565b6040516020016113839190614605565b604051602081830303815290604052905061141a565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff8316016113e0576113d08385610f61565b604051602001611383919061485a565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610ac9565b9392505050565b611429611a09565b60005b81811015611567573683838381811061144757611447614b4e565b60609081029290920192506000916114659150830160408401614ae8565b73ffffffffffffffffffffffffffffffffffffffff16036114b2576040517f20e9d05a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114c260408201602083016149c8565b63ffffffff16600003611501576040517f49cfac4300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000808052600460209081528201907f17ef568e3e12ab5b9c7254a8d58478811de00f9e6eb34345acd53bf8fd09d3ec9061153c83856149c8565b63ffffffff168152602081019190915260400160002061155c8282615216565b50505060010161142c565b507f2b001e1c6683bf79cc52891bd7215b204c787d18134fc7f3d21b4f32a49e47de8282604051610cba9291906152ae565b6115a1611a09565b6002548111156115eb576002546040517f34084fb8000000000000000000000000000000000000000000000000000000008152610ac9918391600401918252602082015260400190565b60028190556040518181527f491ff913b5444f4136b0d4075f020cfe3a5f60de926ec0b091612401a22b7842906020015b60405180910390a150565b60408051808201909152600080825260208201526000806116786116516060890160408a01614ae8565b61166160808a0160608b016149c8565b61166e60c08b018b614bbb565b9050878a8a6121a6565b604080518082019091529182526020820152925050505b949350505050565b61169f611a09565b6116a8816122ac565b50565b6116b3611a09565b73ffffffffffffffffffffffffffffffffffffffff8116611756576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610ac9565b6116a881612131565b6117688161231f565b60007f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff1663e1758bd86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117f99190614b31565b9050611806818484612389565b6040805133815273ffffffffffffffffffffffffffffffffffffffff851660208201529081018390527f820b7fd51bf79c54350bab98400651b3314ff6e79b33528821871d94a666988390606001610920565b73ffffffffffffffffffffffffffffffffffffffff82166118a6576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118c773ffffffffffffffffffffffffffffffffffffffff841683836123b9565b505050565b6118d5816120ca565b6116a8576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610ac9565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260046020908152604080832063ffffffff8089168552908352928190208551815493870151909516640100000000027fffffffffffffffff0000000000000000000000000000000000000000000000009093169490931693909317179055517f779cb2dd9d2bb1be1737d05435d744facbfb84a2a4912e21379d39beddcdc805906109209084908690859061533b565b6119cb828483611adb565b6119d58284610f61565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f508182848360405161092093929190615397565b60005473ffffffffffffffffffffffffffffffffffffffff163314611338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ac9565b602081015160ff16158015611aa45750606081015160ff16155b156116a8576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff9081161480611af65750602081015160ff16155b15611b3d5760808101515115611b38576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611bbc565b806020015160ff16816080015151141580611b7857506002611b61600160ff6153d2565b611b6b91906153eb565b60ff16816020015160ff16115b15611baf576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611bbc8160800151612446565b604081015160ff9081161480611bd75750604081015160ff16155b15611c5d5760a08101515115611c19576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611c58576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d34565b806040015160ff168160a0015151141580611c9857506002611c81600160ff6153d2565b611c8b91906153eb565b60ff16816040015160ff16115b15611ccf576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161580611cf05750806040015160ff16816060015160ff16115b15611d27576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611d348160a00151612446565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611e4b939085019201906144a5565b5060a08201518051611e679160028401916020909101906144a5565b505050505050565b60606000806000611e8086866124e0565b90925090506000611eaa611e9a60608a0160408b01614ae8565b6101e060808b0160608c016149c8565b90506000611ebb60c08a018a614bbb565b90509050611ed381836000015163ffffffff166124f9565b6020820151611f0390611eec60808c0160608d016149c8565b611efc60608d0160408e01614ae8565b8488612541565b611f0d9086615203565b9450600080611f1c8b8661267a565b9092509050611f2b8288615203565b909b909a5098505050505050505050565b600354600090819073ffffffffffffffffffffffffffffffffffffffff1615610f585760405173ffffffffffffffffffffffffffffffffffffffff8716602482015263ffffffff8616604482015260648101859052831515608482015260009060a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd51c54860000000000000000000000000000000000000000000000000000000017905260035491925060009182916120669173ffffffffffffffffffffffffffffffffffffffff16907f0000000000000000000000000000000000000000000000000000000000030d409084908761269d565b915091506120768787848461274e565b909550935084156120be5760035473ffffffffffffffffffffffffffffffffffffffff16600090815260056020526040812080548792906120b8908490615203565b90915550505b50505094509492505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff1615158061141a5750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806000806121b686866124e0565b9150915060006121c78b8b846127c9565b905060006121d58c8c610673565b90506121eb8a826000015163ffffffff166124f9565b806020015173ffffffffffffffffffffffffffffffffffffffff1663709eb6648c8e8d886040518563ffffffff1660e01b815260040161222e9493929190615434565b602060405180830381865afa15801561224b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061226f919061547f565b6122799083615203565b915060008061228a8e8e868e6127d6565b90925090506122998285615203565b9e909d509b505050505050505050505050565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f3c864541ef71378c6229510ed90f376565ee42d9c5e0904a984a9e863e6db44f9060200161161c565b3360009081526005602052604090205480821115612373576040517f34084fb80000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ac9565b3360009081526005602052604090209190039055565b73ffffffffffffffffffffffffffffffffffffffff83166123ae576118c7828261291a565b6118c7838383611859565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526118c7908490612a20565b6000805b82518110156118c757600083828151811061246757612467614b4e565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16116124d6576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b915060010161244a565b6060806124ed8484612b2f565b915091505b9250929050565b8082111561253d576040517fc667af3e0000000000000000000000000000000000000000000000000000000081526004810183905260248101829052604401610ac9565b5050565b6040517f717e8a4200000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff87169063717e8a429061259c908890889088908890600401615434565b6020604051808303816000875af11580156125bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125df919061547f565b905080156126225773ffffffffffffffffffffffffffffffffffffffff86166000908152600560205260408120805483929061261c908490615203565b90915550505b6040805173ffffffffffffffffffffffffffffffffffffffff88168152602081018390527f61ed099e74a97a1d7f8bb0952a88ca8b7b8ebd00c126ea04671f92a81213318a910160405180910390a195945050505050565b60006060612692600561268c86615526565b85612c1c565b909590945092505050565b60006060863b8083036126c457604080516000808252602082019092529250925050612744565b60008060008761ffff1667ffffffffffffffff8111156126e6576126e6614c20565b6040519080825280601f01601f191660200182016040528015612710576020820181803683370190505b509050600080885160208a018c8f8ff191503d925087831115612731578792505b828152826000602083013e909450925050505b9550959350505050565b60008083158061275f575082516020115b1561276f57506000905080610f58565b600083806020019051810190612785919061547f565b90508515612795578091506127bf565b600060025488116127a8576002546127aa565b875b90508082116127b957816127bb565b805b9350505b5094509492505050565b600061168f848484612d78565b600354600090819073ffffffffffffffffffffffffffffffffffffffff1615610f585760405173ffffffffffffffffffffffffffffffffffffffff8716602482015263ffffffff8616604482015260648101859052831515608482015260009060a401604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd42442210000000000000000000000000000000000000000000000000000000017905260035491925060009182916128fe9173ffffffffffffffffffffffffffffffffffffffff16907f0000000000000000000000000000000000000000000000000000000000030d409086612df2565b9150915061290e8787848461274e565b94509450505050610f58565b73ffffffffffffffffffffffffffffffffffffffff8216612967576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146129c1576040519150601f19603f3d011682016040523d82523d6000602084013e6129c6565b606091505b50509050806118c7576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610ac9565b6000612a82826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612e9f9092919063ffffffff16565b9050805160001480612aa3575080806020019051810190612aa391906155c4565b6118c7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610ac9565b606080600080612b3f8686612eae565b915091508051600003612b9757604080516000808252602082019092528391612b8b565b604080518082019091526000815260606020820152815260200190600190039081612b635790505b509350935050506124f2565b604080516001808252818301909252600091816020015b604080518082019091526000815260606020820152815260200190600190039081612bae5790505090506040518060400160405280600260ff1681526020018381525081600081518110612c0457612c04614b4e565b60209081029190910101529196919550909350505050565b600060606000612c2b856130ef565b90506000612c38866131d5565b805160208201206060880151604089015192935090916000612c5a8284610f61565b905060008951600014612c8b5789600081518110612c7a57612c7a614b4e565b602002602001015160200151612c9c565b604051806020016040528060008152505b90506060612cfc8d846040518060a001604052808963ffffffff1681526020018c81526020018a8152602001876000015167ffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff16815250856131f2565b604051919b509150612d1490899089906020016155e1565b60405160208183030381529060405298507f07ea52d82345d6e838192107d8fd7123d9c2ec8e916cd0aad13fd2b60db2464483608001518460a0015183604051612d6093929190615610565b60405180910390a15050505050505050935093915050565b600080612d858585610f61565b905060008351600014612db65783600081518110612da557612da5614b4e565b602002602001015160200151612dc7565b604051806020016040528060008152505b9050600080612dd5836134de565b91509150612de684888a8585613782565b98975050505050505050565b60006060853b808303612e1957604080516000808252602082019092529250925050610f58565b60008060008761ffff1667ffffffffffffffff811115612e3b57612e3b614c20565b6040519080825280601f01601f191660200182016040528015612e65576020820181803683370190505b509050600080885160208a018d8dfa91503d925087831115612e85578792505b828152826000602083013e90999098509650505050505050565b606061168f8484600085613940565b6060806002831015612eef576040517f6592671c00000000000000000000000000000000000000000000000000000000815260006004820152602401610ac9565b6000612efe600282868861566e565b612f0791615698565b60f01c905060027ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd82016130d8578060005b86831015613064576000612f5260018501858a8c61566e565b612f5b916156e0565b60f81c90506000819003612f9e576040517f6780cfaf00000000000000000000000000000000000000000000000000000000815260006004820152602401610ac9565b8160ff16600003612fb157809150612fee565b8160ff168160ff1614612fee57366000612fcd86868c8e61566e565b91509150612fde8989868585613a59565b9099509750859450919250829150505b600184019360009061300590600301868b8d61566e565b61300e91615698565b60f01c90506000819003613051576040517f6592671c00000000000000000000000000000000000000000000000000000000815260048101869052602401610ac9565b8060020161ffff16850194505050612f39565b8287146130a0576040517f6592671c00000000000000000000000000000000000000000000000000000000815260048101849052602401610ac9565b60028711156130d1573660006130b885858b8d61566e565b915091506130c98888858585613a59565b909850965050505b50506130e6565b6130e3828787613bce565b93505b50509250929050565b8051602080830151604080850151606080870151608088015193517f01000000000000000000000000000000000000000000000000000000000000009681019690965260c09690961b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e093841b7fffffffff00000000000000000000000000000000000000000000000000000000908116602987015273ffffffffffffffffffffffffffffffffffffffff909216602d8601529490921b909116604d83015260518201526071015b6040516020818303038152906040529050919050565b60608160a001518260c001516040516020016131bf929190615726565b60006060600080613202856134de565b9150915060008760400151886020015161321c919061574c565b90508060ff1667ffffffffffffffff81111561323a5761323a614c20565b604051908082528060200260200182016040528015613263578160200160208202803683370190505b50935060005b8160ff168160ff1610156134d1576000896020015160ff168260ff16106132be5760a08a015160208b015161329e90846153d2565b60ff16815181106132b1576132b1614b4e565b60200260200101516132e0565b89608001518260ff16815181106132d7576132d7614b4e565b60200260200101515b60408051602081019091526000808252919250905b855181101561334d578360ff1686828151811061331457613314614b4e565b602002602001015160ff16036133455786818151811061333657613336614b4e565b6020026020010151915061334d565b6001016132f5565b506040517f95d376d700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8316906395d376d7906133a2908d908590600401615765565b6020604051808303816000875af11580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e5919061547f565b878460ff16815181106133fa576133fa614b4e565b6020026020010181815250506000878460ff168151811061341d5761341d614b4e565b602002602001015111156134c757868360ff168151811061344057613440614b4e565b60200260200101518c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134959190615203565b92505081905550868360ff16815181106134b1576134b1614b4e565b6020026020010151886134c49190615203565b97505b5050600101613269565b5050505094509492505050565b60608082516000036134ef57915091565b60006134fa84613e4d565b90508060ff166001036135ac5760408051600180825281830190925290816020015b606081526020019060019003908161351c579050509250838360008151811061354757613547614b4e565b60209081029190910101526040805160018082528183019092529081602001602082028036833701905050915061357f846003613f72565b8260008151811061359257613592614b4e565b602002602001019060ff16908160ff168152505050915091565b8060ff1667ffffffffffffffff8111156135c8576135c8614c20565b6040519080825280602002602001820160405280156135f1578160200160208202803683370190505b5091508060ff1667ffffffffffffffff81111561361057613610614c20565b60405190808252806020026020018201604052801561364357816020015b606081526020019060019003908161362e5790505b50925060008060ff5b86518310156136f75760019092019160006136678885613ff2565b600294909401939050600061367c8986613f72565b90508260ff1660ff03613691578092506136e8565b8260ff168160ff16146136e8577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd8486030160006136d08b8784614072565b90506136de8a8a87846141ec565b5093909301929150815b5061ffff16929092019161364c565b8183036000613707898584614072565b9050613715888885846141ec565b60005b8660ff168160ff16101561377657878160ff168151811061373b5761373b614b4e565b6020908102919091010180517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0160ff169052600101613718565b50505050505050915091565b60008086604001518760200151613799919061574c565b905060005b8160ff168160ff161015613935576000886020015160ff168260ff16106137f35760a089015160208a01516137d390846153d2565b60ff16815181106137e6576137e6614b4e565b6020026020010151613815565b88608001518260ff168151811061380c5761380c614b4e565b60200260200101515b60408051602081019091526000808252919250905b8651811015613882578360ff1687828151811061384957613849614b4e565b602002602001015160ff160361387a5787818151811061386b5761386b614b4e565b60200260200101519150613882565b60010161382a565b5089516040517f30bb3aac00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416916330bb3aac916138db918d918d9087906004016157e3565b602060405180830381865afa1580156138f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391c919061547f565b6139269086615203565b9450505080600101905061379e565b505095945050505050565b6060824710156139d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610ac9565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516139fb919061582e565b60006040518083038185875af1925050503d8060008114613a38576040519150601f19603f3d011682016040523d82523d6000602084013e613a3d565b606091505b5091509150613a4e8783838761431b565b979650505050505050565b6060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff861601613af457865115613ab657868484604051602001613aa293929190615840565b604051602081830303815290604052613aed565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050505b9650613bc3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff861601613b8c57855115613b4e57858484604051602001613b3a93929190615840565b604051602081830303815290604052613b85565b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050505b9550613bc3565b6040517f6780cfaf00000000000000000000000000000000000000000000000000000000815260ff86166004820152602401610ac9565b509495939450505050565b60607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61ffff851601613cf45760228214613c35576040517f0dc652a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613c56613c4860226002868861566e565b613c5191615868565b6143bb565b6040517f0100000000000000000000000000000000000000000000000000000000000000602082018190527e11000000000000000000000000000000000000000000000000000000000000602183015260238201527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608083901b16602482015290915060340160405160208183030381529060405291505061141a565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe61ffff851601613e1557604282111580613d2f5750606282115b15613d66576040517fc0927c5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000613d79613c4860226002868861566e565b90506000613d8e613c4860426022878961566e565b905060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbe8501613dc2866042818a61566e565b613dcb91615868565b60405160086020938403029190911c9250613dfc916001916011918391889183916031916002918b918b91016158a4565b604051602081830303815290604052935050505061141a565b6040517f4170513000000000000000000000000000000000000000000000000000000000815261ffff85166004820152602401610ac9565b600080805b8351821015613f2e576001909101906000613e6d8584613ff2565b905060028301925060028161ffff161015613eb7576040517f04eb6e0c00000000000000000000000000000000000000000000000000000000815260048101849052602401610ac9565b6000613ec38685613f72565b90508060ff1660ff03613f02576040517fd3d3d9bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160ff82161b8316613f1f5760019485019460ff82161b831792505b5061ffff169190910190613e52565b83518214613f6b576040517f04eb6e0c00000000000000000000000000000000000000000000000000000000815260048101839052602401610ac9565b5050919050565b6000613f7f826001615203565b83511015613fe9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f746f55696e74385f6f75744f66426f756e6473000000000000000000000000006044820152606401610ac9565b50016001015190565b6000613fff826002615203565b83511015614069576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7431365f6f75744f66426f756e64730000000000000000000000006044820152606401610ac9565b50016002015190565b60608161408081601f615203565b10156140e8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610ac9565b6140f28284615203565b8451101561415c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610ac9565b60608215801561417b57604051915060008252602082016040526141e3565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156141b457805183526020928301920161419c565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b8160ff1660ff03614229576040517fd3d3d9bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061423683600161574c565b905060005b8451811015611e6757600085828151811061425857614258614b4e565b602002602001015190508060ff168360ff16036142cd5786828151811061428157614281614b4e565b60200260200101518460405160200161429b9291906155e1565b6040516020818303038152906040528783815181106142bc576142bc614b4e565b602002602001018190525050611e67565b8060ff1660000361431257828683815181106142eb576142eb614b4e565b602002602001019060ff16908160ff1681525050838783815181106142bc576142bc614b4e565b5060010161423b565b606083156143b15782516000036143aa5773ffffffffffffffffffffffffffffffffffffffff85163b6143aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ac9565b508161168f565b61168f8383614461565b60006fffffffffffffffffffffffffffffffff82111561445d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610ac9565b5090565b8151156144715781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac99190614a30565b82805482825590600052602060002090810192821561451f579160200282015b8281111561451f57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9091161782556020909201916001909101906144c5565b5061445d9291505b8082111561445d5760008155600101614527565b60006020828403121561454d57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461141a57600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146116a857600080fd5b80356145aa8161457d565b919050565b63ffffffff811681146116a857600080fd5b80356145aa816145af565b600080604083850312156145df57600080fd5b82356145ea8161457d565b915060208301356145fa816145af565b809150509250929050565b815163ffffffff16815260208083015173ffffffffffffffffffffffffffffffffffffffff16908201526040810161066d565b6020810160038310614673577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060006060848603121561468e57600080fd5b83356146998161457d565b925060208401356146a98161457d565b929592945050506040919091013590565b60008083601f8401126146cc57600080fd5b50813567ffffffffffffffff8111156146e457600080fd5b6020830191508360208260051b85010111156124f257600080fd5b60008060006040848603121561471457600080fd5b833561471f8161457d565b9250602084013567ffffffffffffffff81111561473b57600080fd5b614747868287016146ba565b9497909650939450505050565b6000806020838503121561476757600080fd5b823567ffffffffffffffff81111561477e57600080fd5b61478a858286016146ba565b90969095509350505050565b60008151808452602080850194506020840160005b838110156147dd57815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016147ab565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261483860c0850182614796565b905060a083015184820360a08601526148518282614796565b95945050505050565b60208152600061141a60208301846147e8565b80151581146116a857600080fd5b80356145aa8161486d565b6000806000806060858703121561489c57600080fd5b843567ffffffffffffffff808211156148b457600080fd5b9086019060e082890312156148c857600080fd5b909450602086013590808211156148de57600080fd5b818701915087601f8301126148f257600080fd5b81358181111561490157600080fd5b88602082850101111561491357600080fd5b60208301955080945050505061492b6040860161487b565b905092959194509250565b60005b83811015614951578181015183820152602001614939565b50506000910152565b60008151808452614972816020860160208601614936565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b825181526020808401519082015260606040820152600061168f606083018461495a565b6000602082840312156149da57600080fd5b813561141a816145af565b6000806000606084860312156149fa57600080fd5b8335614a05816145af565b92506020840135614a158161457d565b91506040840135614a25816145af565b809150509250925092565b60208152600061141a602083018461495a565b60008060208385031215614a5657600080fd5b823567ffffffffffffffff80821115614a6e57600080fd5b818501915085601f830112614a8257600080fd5b813581811115614a9157600080fd5b866020606083028501011115614aa657600080fd5b60209290920196919550909350505050565b600060208284031215614aca57600080fd5b5035919050565b81518152602080830151908201526040810161066d565b600060208284031215614afa57600080fd5b813561141a8161457d565b60008060408385031215614b1857600080fd5b8235614b238161457d565b946020939093013593505050565b600060208284031215614b4357600080fd5b815161141a8161457d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112614bb157600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614bf057600080fd5b83018035915067ffffffffffffffff821115614c0b57600080fd5b6020019150368190038213156124f257600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715614c7257614c72614c20565b60405290565b60405160e0810167ffffffffffffffff81118282101715614c7257614c72614c20565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614ce257614ce2614c20565b604052919050565b600060408284031215614cfc57600080fd5b6040516040810181811067ffffffffffffffff82111715614d1f57614d1f614c20565b6040528235614d2d816145af565b81526020830135614d3d8161457d565b60208201529392505050565b803567ffffffffffffffff811681146145aa57600080fd5b803560ff811681146145aa57600080fd5b600082601f830112614d8357600080fd5b8135602067ffffffffffffffff821115614d9f57614d9f614c20565b8160051b614dae828201614c9b565b9283528481018201928281019087851115614dc857600080fd5b83870192505b84831015613a4e578235614de18161457d565b82529183019190830190614dce565b600060c08284031215614e0257600080fd5b614e0a614c4f565b9050614e1582614d49565b8152614e2360208301614d61565b6020820152614e3460408301614d61565b6040820152614e4560608301614d61565b6060820152608082013567ffffffffffffffff80821115614e6557600080fd5b614e7185838601614d72565b608084015260a0840135915080821115614e8a57600080fd5b50614e9784828501614d72565b60a08301525092915050565b600060208284031215614eb557600080fd5b813567ffffffffffffffff811115614ecc57600080fd5b61168f84828501614df0565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112614bb157600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112614bb157600080fd5b600060208284031215614f5257600080fd5b61141a82614d61565b600060208284031215614f6d57600080fd5b61141a82614d49565b600061066d3683614df0565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112614fb757600080fd5b830160208101925035905067ffffffffffffffff811115614fd757600080fd5b8060051b36038213156124f257600080fd5b8183526000602080850194508260005b858110156147dd57813561500c8161457d565b73ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101614ff9565b60208082528181018390526000906040808401600586901b8501820187855b888110156151c6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126150b557600080fd5b8b0180356150c2816145af565b63ffffffff16855280880135368290037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff410181126150ff57600080fd5b8589018890520167ffffffffffffffff61511882614d49565b1687860152615128888201614d61565b606060ff8083168289015261513e8a8501614d61565b92506080818416818a0152615154838601614d61565b935060a09250818416838a015261516d81860186614f82565b60c08b81015294509150615188905061010089018483614fe9565b92505061519781840184614f82565b93509050838783030160e08801526151b0828483614fe9565b978a019796505050928701925050600101615053565b509098975050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082018082111561066d5761066d6151d4565b8135615221816145af565b63ffffffff811690508154817fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000821617835560208401356152618161457d565b77ffffffffffffffffffffffffffffffffffffffff000000008160201b16837fffffffffffffffff0000000000000000000000000000000000000000000000008416171784555050505050565b6020808252818101839052600090604080840186845b8781101561532e5781356152d7816145af565b63ffffffff908116845282860135906152ef826145af565b1683860152818401356153018161457d565b73ffffffffffffffffffffffffffffffffffffffff168385015260609283019291909101906001016152c4565b5090979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526080810161168f6040830184805163ffffffff16825260209081015173ffffffffffffffffffffffffffffffffffffffff16910152565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8316602082015260606040820152600061485160608301846147e8565b60ff828116828216039081111561066d5761066d6151d4565b600060ff831680615425577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b63ffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201526000615475608083018461495a565b9695505050505050565b60006020828403121561549157600080fd5b5051919050565b600082601f8301126154a957600080fd5b813567ffffffffffffffff8111156154c3576154c3614c20565b6154f460207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614c9b565b81815284602083860101111561550957600080fd5b816020850160208301376000918101602001919091529392505050565b600060e0823603121561553857600080fd5b615540614c78565b61554983614d49565b8152615557602084016145c1565b60208201526155686040840161459f565b6040820152615579606084016145c1565b60608201526080830135608082015260a083013560a082015260c083013567ffffffffffffffff8111156155ac57600080fd5b6155b836828601615498565b60c08301525092915050565b6000602082840312156155d657600080fd5b815161141a8161486d565b600083516155f3818460208801614936565b835190830190615607818360208801614936565b01949350505050565b6060815260006156236060830186614796565b602083820360208501526156378287614796565b84810360408601528551808252602080880194509091019060005b818110156151c657845183529383019391830191600101615652565b6000808585111561567e57600080fd5b8386111561568b57600080fd5b5050820193919092039150565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156156d85780818660020360031b1b83161692505b505092915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156156d85760019490940360031b84901b1690921692915050565b8281526000825161573e816020850160208701614936565b919091016020019392505050565b60ff818116838216019081111561066d5761066d6151d4565b6040815263ffffffff83511660408201526000602084015160a0606084015261579160e084018261495a565b90506040850151608084015267ffffffffffffffff60608601511660a084015273ffffffffffffffffffffffffffffffffffffffff60808601511660c08401528281036020840152614851818561495a565b63ffffffff8516815267ffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201526000615475608083018461495a565b60008251614bb1818460208701614936565b60008451615852818460208901614936565b8201838582376000930192835250909392505050565b8035602083101561066d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b60007fff00000000000000000000000000000000000000000000000000000000000000808c60f81b1683527fffff000000000000000000000000000000000000000000000000000000000000808c60f01b166001850152818b60f81b1660038501527fffffffffffffffffffffffffffffffff000000000000000000000000000000008a60801b166004850152818960f81b166014850152808860f01b16601585015250808660f81b16601784015250615985601883018560801b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000169052565b5060288101919091526048019897505050505050505056fea2646970667358221220841ae22f8575fab1ed29ade9f317bee38a367043c3c362cf75f35a1a1b2ab5fd64736f6c634300081600330394d3354f49e88adf33518de6d0f15b3220b34d5446877a070f41a88612ced62a03bc0a01c25440eaca7a9c1f928e1a64eb9d13ff0a641f7a1863af943b6470300c03788f0c736020beb078dbe01169b487d711d6a5a5dcb9f8263ddd3805ff9b103b03b96459d59e926f6201ccaec70b3733dc914e0ff0de854d04269c57a72e45b26f005820032ebdcfb60392e49e6f31bb2a8bf5f743c43049f38d10c32e876829372788705818173272739bd7aa6e4e214714048a9fe6994530590000271000582003e713b549dcb2b2e2c1a27f1d238a8fa81f04f0ae08539697f06ce4af56c540410100582003595b499f52306d1035cb5d6d1fc9f8f842d0779c5b3faf9d5111b5a28a71b049010000000000000000005820033d720162cda050b62d5d64f262a1eb5495376af6355734b856dd5b2cbb0630548ddf05f9a5c488b4973897e278b58895bf87cb2400582003e469d42d02a44d598ffaf3f68f83a5c69018e9846842114a062de640726250410200582003f2d76833905f07f14bf4fc9bc7b9ea1567bf4f2fc6cf681d614787d99d9250410102190aa30340bbb15a210ea06de8c9ba00f3251d0927042f3525b6678a05b85f9aaab17cbe03bc9cdb085ade86006647c5f65839f1611a27bcc2595557bccdd11a0df16d40fd038db536cdc3d1580681be42c28c4a3e4f112429268bf38c3550ec414471b056ed03085de90ccd16eb5c8ef9e255bb4896bd6798a5e2b25d3cb9f21b1ade1b0ddb4303e4806f566a943ac027ead07e2c113f0b14d6b1795615aa8f139d2eadfc9415a903029ef698529ed00bd0dfce664189bd01c5d8879f7334eef17b4969b4c5fd21a4033b3d6d8825c1df7bdbc0d650ee1853f1501dfae38bf019dba9b42afe642e4afe03fe233098e7abe86ff07633bd44fe407678d2607d49a99f3c3986cc657d93bec803949d0d406fb838bd77f76cfead0f988ad4fc5a4d743a6994eecbdf20e64703b9032993f828e365a32fc71a31c14ce464e9e5ffc02827fdfb788bef8d3cfb3fdd4a005820030549cfccb4f9c8fecfe8718c5592d8b7dbb7a8f10b621b357371bfa75bb13054380275805876ff19055ea900cdb2b46a94ecf20d00582003619610470b089b54b21dedc282b127cdf1947a93b85d7b9ad9c9ba87c32c60548fafae7dd957044088b3d0f67359c327c6200d1800582003f075eb0c7de9a49c1da6345da19a638214165302700850eb2de4da4f973570548ddf05f9a5c488b4973897e278b58895bf87cb2403390f91f5faa408004cdd9924554aade6b2c16087278ddbd5ffe36118ecdd57b4005820037396b71710c70cd56fe56a41457d4a191dc6a4b0ff770fbc2474550db4b6d0548fafae7dd957044088b3d0f67359c327c6200d1800582003a65b7b4b7b8166f31b76ef6f0f5aae1b45162dee6b897ac167a2747fb59b90548fafae7dd957044088b3d0f67359c327c6200d180058200359a878b13bf823fd3b0cf10ebbe67ffa934096058918f4297f2df57c944dc04902000000000000000f02199ac4036c50a78a13d49c97cb23e0e6d49dc617c0a02efd62c67bdc72455a6acd3bd81d038732b3a06c3d100e2c53555961d8675719c30037ed7930b73c1ad6ec638490d70219ffff03d6965c745f8bbf226dfd1c79f1d2241021ec0258276eda5047ce3a1a55c698df00582003ebd595a9b963e68de65d9e45fb8d6b2dda4c18fcc4bc3d8e6477cd391efaf041010372761842dc9c4a337d581e3b39b6030784a4ebc38baed349e08ab13fdf560a1001410300581f025f89879be09cd85c62b82902ed21472f55b46a5d8b3a11c7143515a1b830410200581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace47019945ca26200002189000582003b42e1aba41298dbf2a20da9dad2550dc4636382d49f05751d1799e16399e904901000000000000000f00582003eca6048394c2e30293db19ef643a5fa4acbaa71416b4fc0c582c31152e09a05818173272739bd7aa6e4e214714048a9fe6994530590000271000582003d3491c6a186de98ac6077e73e91bbd39a3c3caaca30a7c3a61bfb1cc24ee0054380275805876ff19055ea900cdb2b46a94ecf20d0219432303ac08e90552177d53da019110ded2c088bd4482d3564ca8c13f893daf7df7ecb203adc708801a43a687c680ec80fb742c47de812bfb8357095dd24296e15bb698c303c3160a3b97ba998f7686624ac91980c20fe5401e073c6f4f2641c25fb0feff830330d1205deb9b477a2daf7cd75df6f3e19aa49cbd2a4dc66e3b1c82b2b05cc264035e2f9a37ccb57a19bb59cb8891897d5c54e24a37ad6817ed1c5d789bb3fb024c03959add73a2a38059452f482a35f6e2d920b8c05d755b945171862b976e05ccc7037a7d773c7596848187d4e5412b3f0c656b14cee26047c5fecf5cd87d6a893ad90387ac41380e08e27ea115c2a6e82799afc92c190d822739c6c8acb238684e3fda0360fc3903e5d5076f4b7bd077f00d97cc67a9cd36df6367467438bc19773f614e03c090acb1187c21e9f5a2f0bc8e2c63913afb99ddb942910d5d3e0ec5165fe8fb03effd08533bd73386894d32cb856506125f3ed6c06e7b8554996d4bf6aa5f968c034e98ed962cd2c88396dbe67baa55f55bddb790b05b931aaa6f56a1edcdbfdfb9036c787152562f440144e35e96ed321c0714d85f0652e173005e3378ca5089843003cffb8b79264a5474b7dcd9cbe21c202dce03ef77fb9f7b7a4c81c58725edd35a031df12e233b31d310310986864a6b6a3c43ad7f0ebcee2859f8d11faab3e6adc90219ffff03ea78b2585bac1614ab52cc81893825845a29a0067be21c719524546a2c3103bb0058200347b6156135c1db1c192c237dc9685255c6c5fb925ab3ab972e3bd2297305904901000000000000000f00581f02c6899d97c39260b6f64f68b0aa423f55585f9a36fc94f8000f1dbc26593054a59ba433ac34d2927232918ef5b2eaafcf130ba503291b88461bb70401b3a1d81dffa166480ff7424ef96ab18f68d0d3a955f77c0202198002005820032348442f6fa0b78778c2db905a3f4edf703cdb5ed2fe112aa40e65d8fdfeb041020058200389d64a7bca915b3fc58abeec06a6be12f8f8a6143e09b6b2dc6f9e150087a0490200000000000000060058200325efcb87309e7c756379bdfd3a31669a81a1c007ac78badc2928943640110054589dedbd617e0cbcb916a9223f4d1300c294236b00582003141ce0f93ae09ea51031755abf125187975bfe4844355eaf7edd13f08c68904901000000000000000f00582003113e31af2dc385640368d7d4e76284fd2179adbbaac387f92ddf6cb9a3f89041010058200366f3097482d061a1adea904310fc814cc85e323ec126c92dc081e58c1912f0410103b044f4b9f08996b377d822834811950893512311f4127c92015b0394feeb9979021931bd030cf0006a97f9f233a81d0384907570ceae29554b6c212d94d44932ba8ff7562703d5c75d22f600e182b822208775c31b19b36ea7c1626d9ae7de727c3dc6d13c0a0308d2635f58fb1d40c481cd787f331bd42dd117a766104c0e7e6519021001cc7603d62a08d329884b7358f309b95378d501f737c6c23b217775cf46f153806737d203a278da90e39391f971987cfc774ffefeb6b1d98b75896f6b93c525226f7e8c2703ee3d3c56e3ab9ee0f0815db6db581f70b8c441d3560bd6f88b94d471a7a5d56f03f45989a0ffcea2ced50a20cffb3d089e6badb848aa6c5cf2d43660b8350994b503de7eeaed0349f2933ca4aff502b6ebd2cf66375852cdb3a9366c688609f0063f037f3093d2e1b4ea61478bfeca28a6c96ddfb63ac904e4c0ea0ea3d32efc6192160392196aef4b7a056a49c4df7b01cb2c18ae9bbedae610fda17d24c485a1ad46a803f75c447e0c444b7d8857e111c6c8de42ac5994d2ae0fbc3571fe9dbdd317015a03ee0d583305763eac3eb6b965850ea2e7c2c822d22e5f5c75c38d20ee2427951d03f34e8adab4956eace96b7a68d8347a06197c0fee1b635b38f87b1fa902218539038c6c7f412e74569b5b91a933ad20cb5c640579f9d7ef7d3b63e9e3492bc404de0219ffff03ad9b4415421501961b1f6401b4dd57ea868fa7ea0b3038ca84fd3ebae020876a03e96523d48f16fc3c4f8f23fb798bed3891337e6eca915b2c02cc7edfa09e97db03725873415335732e2cb87bfca27d1e47bf2745e0ee7c7aaf2ea2e2c0c398bd5c03e9da1a481fcfbfd89d21c769b4f69b22153e8e02cab125b92d8dfe4d6e64f11803df50a8e2df012ce512eb37f0cfd1fa5fb5e6417a02d034c1e605dae4e006c7da03992463421c48d87bc28a54201a384d51deaff9fbbb986a48d91cde214d02d67e03bf017e6378d0b207dc89759d3cbeaa1fd5e362c98a31588ea55efc3159e907bb03d0e6bccca3d05d8ddd7fe1bb4664c127dae4620f60a3845fc37542076d4ee758036f6b6bf068e6ad25e3ca4894e503e5485d09b296420ce156c79aa368192e7bef03b5b204a4e12a457330440ab2565b628c4a5c57ab676cfc6fc71dc8505be5b22f03b0bb84311b727b88136966b8b55fc44458d57077e45de0df9387045df5f59a2b0373b7a9bd14d3a4646bae8350f62061ffb95af076d55df8ad90d964cadf9cbdd000582003fbd608b2393a2379578759e1fe028a1f213a4770dc8a2dbe08788936dc8900548ddf05f9a5c488b4973897e278b58895bf87cb2400582003073c4121119bcfa9064ef29468427feb6c0167dfdbfbb38edee0f3034285d054380275805876ff19055ea900cdb2b46a94ecf20d00582003e784b86fb0a56e73272a33132c7d8f423a23994319599b17c038d2a3b9a820490100000000000000060311160f644c657db638886dee43fd35f7800d3d48b8aec2e51753179666858a2600582003bb9c17f555fad0e8d6539a129418bb75c1504a86782951b947002e6ca435e0480a8b6842949445830363f2c06a54abc3e233f4a5c3e28f4a959af0177499e3a6be9f9c729bf3937b8500582003517b4bc6d2eb30ddea4fbffebc90921062adfa65e7a70c06150c717220f9b04901000000000000000a02198999033430288148d3674b2fc77da1897b8e91839ee7ce78ccfa229889c3bdf518d1760397d0eff980624c7a8f99033dd34325bde6e216d8d6167546d69165fd726360ea0347747dc0aab20f0e2cca9181ad49ba4ae43af193ee1a5e7cef67ee12c0da94eb03d8e7c51248c3052888d8d5929197d21b64b6b67516fc94d258196ca7dbde0ab8031652ce1d083edadc38679e55ca5452df030cfab2ceace613a4f9f9ec207cd84d03cb057c9103f17e36e1df9a0e4d5c2f1c000ceb4332360129a4e54f14297408cc038a0693894dbe09b5a63b16015add33a25fdfc323f6482495c2cee5c639fe77690219ffff03f8bfd27e5d8d0232ff3916c8ca220e761e902275b0783db5dbe8ef0268133a0903377013e1ece7e408bbfeece06d5cedc56a4e2cabe4a5978782be0da6f0ca39270308d964afc987fbfe18ac34a4ec7104129cff719312f05fcc877523963e9aaa22036642d2cf439ef4b3e2afbdc996c269b45f837e50e6336d61d3a9d082354484c0036eb40797473f6f78a2a1a4a70131af5f37f701dd67cbd5235ad3e43d3507036b03b445f68862b251d945b903e55b9668f23833ed914f13fc71ecf2ee862059227103cfbd36ab53c92aa655d72100526d14d63998c288acebc58ffe332c9bc6fbc8e503a9ef781aad1b430a3f0d2413eae5ab9079953b15adaf87bd4316c72dc50aad3b03fba9cd848a4010858ca047cffd5bec84cdf2dae609a2edf74dfb022e06894ecc03727d7ca751624fdc0e660923cfa0808b6b95a70a91886ee8f4a4299541b3cdaa033e2cf632541031093a6c1f294a2900927acaf582338888bd70c9b24be33204140383b0d3fd0cdbcfd3bd2cdb96267663fe6f373f354b30ba19fcb088949922e4f10380706ea789a63b854199df6d54d22c488d48772338947e4429bd4f31bd7f430403cd4a28e6dc781b9cf3fac7d8c5458cb8a145e4ca0d5c80735f5b8d26b9183b4300582003b16dde6b70a47379ec65c148dee8b098e491a92d2ca9734c0e3d880091f72054589dedbd617e0cbcb916a9223f4d1300c294236b03b821e28854c9963484d4c1b895449c9cd005339d04b0c305e218c1e0f3c94ef5005820031c1a429a08266dea4fba5e9290c5930aada55653be6b3134e8af0e72f27cb0410200582003d7e1f1d2b907196922bb7ac38e028b701af432a232af15a4db3b69a5485f9054d56e4eab23cb81f43168f9f45211eb027b9ac7cc00582003e02ae08382754df0fe32dade567afdd5f1df87b9d32510e7b09c72a86ed63041020058200367b603417601b06472b9f8190e1aa8cbeee93e9dc710b4f97c1d019d3bd2c05818173272739bd7aa6e4e214714048a9fe699453059000027100309d414f45b434688a588953ea15a92724c4ca7a12937876d6eb10859a5fc3de300582003b9e8dd96b10a66014c37ba59cf416a457d1c3a38665bcac092154b1a2ed0304902000000000000000000582003616f175ef18ca4333d0bce409db93686e9a86708a5d583d4cfea3faa4010b04901000000000000000f0219f85500582003c284a839bc244a4ebba3af3598d097c12e64b1e5e83965345735827ec2ede04901000000000000000200582003671772eb2b1f49784e398ce4431e872354e12d3d6769fd6ef1229fc67a492054380275805876ff19055ea900cdb2b46a94ecf20d03b58168720e2b9621c5c692c0301131009c02a6d5b3b9eee16ead0f1c662ce0f0005820036a062f913ee53bed15a1a15909de7ff04bbdd96dfcfafffc2910ffd0c38df054a59ba433ac34d2927232918ef5b2eaafcf130ba5034175bb829540b85e460737aedb88c5a551e46db714926d29dea9187b05d4c89703eda1831873a9bfc6990ced4e8f39f9b4087223f31373f825864d4ce1e54bad5200582003b7f3e3e9405f7e012ecaebf9bb6957cda0a13f5ebf93f6a236502c3565ddc054589dedbd617e0cbcb916a9223f4d1300c294236b00582003aec78aea938f7618b413112ae436807b3f99ee8a38c89e530242c680ec2f304102005820030f3402cfb8fbd5040a241060961a401deccb832ebd944aa03c7f5ff4aab220410102192df80219ffff03d667a2cf228370f13ba1044d2f3f1e772dac5cddd69605a14df9bd90b8a71c1203fba196ec562ebe2e4020053ddfb958689d36f1eefb7f256420b537a823c97ea803c9c1522a2b3b9761a8c6a906516cbc932428bd07fcc5461d17b213a84d0c871003230d286eac588029d1fc809db984d36f4ae051847cd18115bee6a2bcdc82b4bf0058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0545ebb3f2feaa15271101a927869b3a56837e73056005820034e2ec735dead74cb9b3ca73502d29c0e3b8b8bd433e825176b074c318f0de04901000000000000000f00582003e86ae347ab02a133d1377f9b2c8fba71ed70f9c40db42b2a77213a4082975041020219026603a1d20067c9820e67d09a17b89d300e9697fa2f253b87eebd5ca1b3c8f7e3459c0363b8a21bb16b11a79a249a2fb3f55fa1d67d761b1e0ccdb3797b6d7e595c5f5503c673156c810579f5025beac97121d0d461be924e81452b3691ea526d128dd65500581f02266a69f8625b462324a2c3ea02193cc638dd7bba4e428f830df60b31e5c1410100581f02a9c5274cf15b920f70d66cf46b51079548843f10c8e0d7156bec60b8d367548fafae7dd957044088b3d0f67359c327c6200d18021842030abd7bbb0b579397cd8589503014c99f264814d04e8f190bbfe12bcae64d81640058200353c3ece49cfcdd87c53eee82a2a53430d536118d1a7523ff43a7edeb52b0a049020000000000000000005820030e2f4f18ec02582176c002f7060643fca59800b8118a9853f73eb759f55a004901000000000000000f033f0ad6abec4f0289362e15d94d706044b2ed54d97f366e859dc24cd1555b8300014109005820033e2014114266c49064993ae683c6e248483d12ed6bbb2114d4989127ac30604901000000000000000f0219061e03d3c97a84378a4f47e2c81ec1c1e062be1fc0fec2851f0fd09f9af0ca16238ac403989a8516797103cb4ababe30d5d4f430e21cbcc7c0a217b7a1c7f8c9f1e00c22034821fd94b29a598b555156c79fdeab891bb9131b95b55a60d402f0801413edb20313dff1e8b5fdc9a16d0db18ba0efd2d4348bab390a44966b0c9d83e12a3042ce03ece8e9607d331c105a60d3cd8987c539e7e2249159451a9d582e566eef1e80f8039481f1ca61bc905e7537e54cd4aa5a039d6ab70c207bf33017dbade6777b74480344d72a81c9301c2f465f1bdeb396a8d30e688f0efd15da4008cb43f6e4e99c73033bd240135440262a21f49160509ebaa1ace21a513e32a399af973aaa850372140058200329e08e429727052136a0dea1206c0eb361c6b540848c060ccea3d3023a497054589dedbd617e0cbcb916a9223f4d1300c294236b00582003a118293815797439d4a7e1457abfed85f273089f02c5f642c1f991b57cc270410103cb44eb1c4545e58b94f2c28ae7ec3d70d108d5c21d1d77780eff00020bfeb514005820037915bb045ccfb5bc3dd329fb5903469b2da2b8720a700ba0ee85679e248de0489c9ca47b1a4c54c400582003fce97dd95be131229d758a06d291062e1b0472c7c743318cebcecb1ed44dd054589dedbd617e0cbcb916a9223f4d1300c294236b00582003eaab625adbd7e9f72f0080562bb05735072942558e078838fd6c0c9a4ea34054589dedbd617e0cbcb916a9223f4d1300c294236b032891d26094f1e6314a4bb03ef4516064efe4df053fbd959c9ede21e87347d29b02196c260219ffff0396150c4db59bcaa9d0ebd78d2a8024b1c8faebf8d7084cb30ae2e3e1f47aa34d03c04a9e5dfdd276df4f7aa7cfc37c594413b79ff17d3c4709dd42e43535f890760306f0f714faa48b19925f3f893e419b76f032fdc29094656dc66d8fc1f22de70203a1465370f63fcf46204e4aa3883c152d3fd7a18f7c4ba3408447e4847d6ed6a1035cbec5e92a66d222f5d622759bb148b01b9ddf94a0926c5123c2088c0ccddefa03b8a30601f92b4fbb5eca01af0ecd1d75b9f150b4d4b26cdf240942b1dc0ab20c0324bf9c6726d7711b36a81c3efe3aa2e035c3699cd20f11f752c83d3684c0102703036d0f5718dac0f372e8853253f9bd6ababff73923e83ddd3170abcd96ef95b4034dbcafe6b1f7dfbd5d6b931c0b3c12a67b63836ce23b69db100661b38b6fe1ac03e7f25974f02ccfa470409a3a7a627ad5fd2c91739ed061ff5142097e1ec57c09036be25c16cd4129827ab86b0f88051139036cd982c28770440e678c7b8027ad5d03d2be60152b155f2cd559272968dfc9d9b43588ccbcce3102118e74d1683171ad00582003dbd0d9865850545b17bd66bc0ea2235c43780f4472dc7682d15b8fd1b2f2e0490100000000000000060058200305185608183d6d0f58cf15d0c551152976968462871d1dd3f21cfc286b006054771d10d0c86e26ea8d3b778ad4d31b30533b9cbf005820031fc4411e8db13238df35084eb2b5c9d65b48420da026217f82a61d43f934904901000000000000000f005820036e60b0afe7f927f8ad0e81869c070cb73dabac76c448a8b423651b5d7e4e304804633bf4bdf6b54b021980e0035a8eb87d3ff8117bd35911dcff94af92c32ae0aab6b2a3d32e75e4c389d8a7b00315cc27c8a5f90767fadf8bf8698b1c8835c59671b3684ec66dc4016ca8cf7ea3035bd8295345bea9f280e5c4640ac065b9a3c225c1e240455de6e687855334a9e90219ffff0324dd6472962a27baf942dbcf3adf4e308e6dc402b8e307d6f6d3a2f6e7545cf003275e7684594c12476988ba129a469e92e84502b862ca34b5db5753c736e59f1b0219ffff05581e03ac3b453f91001c1997d485d4e3b9f83768675ee8e9ab898d09cf8b5ad00f0148e3968f1a2e48f2a21959d30219f3790322d4f4f907bbf545fb1ba0df0076790408dddfd626b29c9b8524cc3aca76a4360219ffff03e25bf687c7e07ea4e51993c28cbc1958de54caf1dbc37145a6420cd51af2e734036d4e882d5fe7ecc9de23eee745afe402c6f6254a5fe6f254b188e0fe195c7ef50219ffff030f2b4ceb5d4da6a8c6034bbf4f3c59287abfbb7eacbfa928c20f476c34b7e92703b44bf9933cf4ee6e4c9433bc590809e5112671e79321921b7dccb272d7b0cd800219ffff03236cfdaf32c90ba900776ad48cd4f8c9a23bb3089ceda194ba92ff19126eb78a03a638b2068ae49f1969b6d2ac8b24cfa84638bdf6e471b4a44a0ea83960d9170f039f0590f606848512c7acfc668de51591c7249b5669f58c803090f9cc9fba703103fd35ca3fdcdbc23bcf504591516403ab08f8b758b9cd68f3be65da7830b386a8039b8d9eba672d6f72d169b5f2de11edacdcd5267a193c1ceb3cff27c485544c6803fdb77d22cd20b09769b617ea4488f0d63dc5a4f6aac4a7f61c3cf0055e54be940328b847d096d0c4f5b936ec1b576cfafd59cf2376652665cf01fb98c45ea1acdd03ff693f76341b5be8f8d5f8b31b2630069b34e7ae752ab236837a32d78caf4a8f03ddaa4290bc29f2af011be9003b2633742c743e4f32ab6988e1298b077eb8f091036f59a8077eb08d4858dfe27bb17dbc41e257810098303e06c611b09f7a2c78a50382971d34cda8ae56e1ca898de633295118020a922924f63bfdce4808737b93910347ae604a981ab59fe5314fbfc702d7f4d1f9f315c01cf090f21c64d82cd95f9c0331093a23919ba8fc340600ffc4f761fcd74a3afced2f6786bc1dd2fc1a562618036f507c8bfd2e67684790c2c11062836083eb0b12699fd9ba215a0962be596c8f0344902374f262a2a5ef8f1cd3b21670a2db1e57be13a3029c5983488dfafe5fb003b96f7706062877f87f69f35bf03f87573b31c1548672ac7101115b361c0c64dd03f6e0feb9f18402f3caf841983e1a1554d1f5d8f5ee651b49d2713fa83e27acb505581e035253de2bd04dc2ff565b1cf8316ca12860d38ab163589365a6d9d500500c034803d4bba714ba046303186fcf2ec9617137c15f1052537195ed628d46f9c56f41c03033da0e881e2d5a035c1741e41eba63acfe92990fbcde29328602aa42cde4f80ace393b3702a241a605581e032d9117e8d0c3da0e7705962e4941169be4035010f494ca6bbef779e2e007011bffffffffffffffff05581e03c57115076236d4d165afc581c1ec50e6e7a0a170c5548f5648acc25950040205581e032dcbece68a696c0d4690daf4d218bb00b6b059659f1afc3e58d4f6efd0040105581e032ebf810e22db3f9fa23640adb881a2d8b0925902d282dfeeb7a4a0bf300c0347022b5d0a8fee38021908c6039407e91e00461638b1565994fa5750476f329c1a4733bcad2ffb73cb808f91f1039d8ef358173b218099ea407f3944ddf4db1b8f960246b85b10d985c833b7ccbc03a9b878cb0157c05b1599091b2fc74d53893e964ccc2febbf00672ca042f0a67c03c7ae568f8e7626022e60035c41d1d1246d70814aa59b57c33a62b38ea5d81c0c03f53677426ef6f72e062d07a1ffe7fd9a6bce913b14b96c3e34ac57f31319ab7903dc5f98ba15e82fffe8206e84f2039a0560d799437a9e6f849ac93403f4f729bd03f1b0af8ee285fb492cfe2e3e9e91d8374ac8735d3f95a3260bad441f0d880f1403d70daa961c1a63079ee02cc2bbe9e586858cb9f748bb23fe70e213f99463683e03622832442a8fb4a0c6b2cef623498ef30465ba3a8c34725a2bba962c794bd5ab038bd59134b4b432bdd1cfcc9416bfacef5e85e81261781cf1ad4d9c08246c9ad703dd41c9ebc913322e26d62d7b3c9428eb1a0038d59c3dcb2c78a2b02f1a4eb10b03de089e11bf88430db2913f79d2e8f72cdaa3222ab9e32e18b2d26d426f02f557038082fad5a0102fb9e2acd6fd2816bb7ad386713bbbdaa676cd61d0d070e15af90219ffff03c917e407770d4128bf2608a5d977289e31ebb306e95a6bab7ace99dff0c071d603f52f044426017656561b932557a6bf7dc3ace6554f34890732b83b5d6ba1da9303a51b996972af40dcfafc86ffe3e528d4474b307552e6fd2aece916f57e8df43a03d9ae0c7f31e52cb6d9b0ea9a67fba1ee71a0348c32fcb9da9911583b7466d606036f2c867cdbfcc226418d0c8cef56953f307ba44a8d9e46e2bcaf6700b3c420d303654c6998b1c6bf7f9240ce2d7b80c41ef83ad7db5970aaa9db95d1805e7a3d00035a72e2a1278ad49a79cab8f07a9e326bc7faf932e633b56173e2fe10e680025503683c65b535f35b1356e30f0591030d8d6f9b63b7af80f44c3db27abeba3a4b900397306bed274f9b15449c4a128f0ad874e1e244805568610a2d98224688efef5203f2c1bbf2ee3193dcd8beb9e239da0436512860d6811fe324d7a7a487c1c3b9920318efe92cda2208642ae879995a191b6023324fe2b750bceaedd1a977553a000f039fc593b0e761f9a09747d74f6e6eae5e2c66962206dd631e9ab48f1d29a37526030f021df31eba97fa5d554d29ceaebc7c314a8f90275f8209d0169296c5f5e4210219ffff030b0f8971a12b6fbb363bd9125a09218d51f79e58b427b0cdb83e7fb419688b9403da96ae576a7f2107b157038a7d134457cfb1eae4063bfbcd88d31d56ad20496103aa56c18cb1b8063825cfef90eb07852b77447090a0c7185547a87118f6a8017b03ea396d3ad3231dc9e09324d2fef8efacd8208903cc1ffae70318d7379efda03c039400a9f6df1227b941029fea06bc52f55f503fdca46fe6b81b7cde6f2a42a7d4030a2f78c28542bd6dcad7ca209ba366803433a326953682852c0876d67db7bc6003623bb9b18809552632cc189aef230b4b8af3ceebb9a574f33e11bf386b0be19203d59cb6b6cea31701282cc0255ba2fafee34e1af126b446995eea5a461b0de48d03ca8b50a0fee5583990e691ea16d1559b1ced4dac9686b1b3cd6b20895f982bdf03cef273422f2e816269ce524e6a31567c8a9f5a96ee6591af5a10e7b0915c36e103bb910d13dfaf974f9ab3d3fdac168bf74280c70cfb1f8484005fd334e48806ce03b47f4014a0c3e297f53947c0dc7ffef94f3bf39e31f19fa81106aa390a14f72a03beb3add17206932e1843966592868d96fe7b9d9a9865a0f88b834e292dbdd0be0365513affdfe24a1162891f69ba3238e5d0c32dc114971b61e01df816975dc38f03be453ba9cb4a65cc2efb845bb45d426baa5b2abcf363bfa6fdc79982f1af792405581e03871f105c5b5bb570644928c6cd950c0b6eec22394b768beeee7a6be2e00c0145c813adc4c705581e03a6ab6efb23d41bb4bfa9df01fcc3afee9ba720bd8bb68e04f04602e8700c01467f62428c180005581e039d8218fe91f350b54c4b1fd9c3a323489a2db920db932b30445922ac700c0146cdb419e1f79003005dc8aaa2c1a08dcedea274cc6b41ea860237ca892b4b5ac24e5210ca0cd7e305581d029e56743ba776938eb501b9db8649a077c5fd5083edd4c41320ba1e50040205581d02b2684657c4100a9a2af688b626c9ced4171ae90bec946213ceee00140c0147099624e546b000045907a960806040526004361061004a5760003560e01c806355a2ba681461004f5780636a9385671461009a578063a9059cbb146100d8578063d6354e1514610104578063eeb7286614610119575b600080fd5b34801561005b57600080fd5b506100986004803603608081101561007257600080fd5b506001600160a01b038135811691602081013590911690604081013590606001356101a3565b005b3480156100a657600080fd5b506100c4600480360360208110156100bd57600080fd5b50356102b6565b604080519115158252519081900360200190f35b610098600480360360408110156100ee57600080fd5b506001600160a01b0381351690602001356102c7565b34801561011057600080fd5b506100c46103cf565b34801561012557600080fd5b5061012e6103d8565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60408051606086811b6001600160601b0319908116602080850191909152603484018790529187901b166054830152606880830185905283518084039091018152608890920190925280519101206101fa816103f8565b1561024a576040805162461bcd60e51b815260206004820152601b60248201527a1514905394d1915497d053149150511657d49151d254d511549151602a1b604482015290519081900360640190fd5b6102538161040d565b604080516001600160a01b038088168252861660208201528082018590526060810184905290517f36c96ccc320eab9b6da1de6cc1e8ebc52a51cb114710b9c7db204cdad3067ce19181900360800190a16102af858585610441565b5050505050565b60006102c1826103f8565b92915050565b604080516001600160601b0319606085901b166020808301919091523460348301526000605483015260688083018590528351808403909101815260889092019092528051910120610318816103f8565b15610368576040805162461bcd60e51b815260206004820152601b60248201527a1514905394d1915497d053149150511657d49151d254d511549151602a1b604482015290519081900360640190fd5b6103718161040d565b604080516001600160a01b03851681526000602082015234818301526060810184905290517f36c96ccc320eab9b6da1de6cc1e8ebc52a51cb114710b9c7db204cdad3067ce19181900360800190a16103ca83346104a1565b505050565b60015460ff1690565b606060405180606001604052806021815260200161075360219139905090565b60009081526020819052604090205460ff1690565b6000818152602081905260409020805460ff191660019081179091555460ff1661043e576001805460ff1916811790555b50565b604080513360248201526001600160a01b03808616604483015260648083018590528351808403909101815260849092019092526020810180516001600160e01b03166323b872dd60e01b1790526103ca9184169063ffffffff6104be16565b6104ba6001600160a01b0383168263ffffffff6106b016565b5050565b6104c78261074c565b61050c576040805162461bcd60e51b81526020600482015260116024820152704241445f544f4b454e5f4144445245535360781b604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061054a5780518252601f19909201916020918201910161052b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146105ac576040519150601f19603f3d011682016040523d82523d6000602084013e6105b1565b606091505b50915091508181906106415760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156106065781810151838201526020016105ee565b50505050905090810190601f1680156106335780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b508051156106aa5780806020019051602081101561065e57600080fd5b50516106aa576040805162461bcd60e51b81526020600482015260166024820152751513d2d15397d3d4115490551253d397d1905253115160521b604482015290519081900360640190fd5b50505050565b6040516000906001600160a01b0384169083908381818185875af1925050503d80600081146106fb576040519150601f19603f3d011682016040523d82523d6000602084013e610700565b606091505b50509050806103ca576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b3b15159056fe537461726b576172655f5472616e7366657252656769737472795f323032305f31a2646970667358221220f9282f536fe52808700561e430abbe3e9aac313c10706077cde13b35400fe79764736f6c634300060b0033032a7726519e11229aa20522cf438f56b8b37fddac9282af4623616efb9609eaf6036f080c0010113a89ee6bc99c17fddaa4e4d39811fb30f6d9d0c24465ca6df613038a5a7711149a2f83a5645858905ec3571a41587baf2f95e31029e5d9f0cf33c803abba9afdee8a3e39ae22361ff2aa46f65078d7cc906e98e6f35b1f0dfcb2b321039059eaf0e9f9b88eb5bcd9f28a343a6e97ae5138424b4777134f73c4beeb9c3b031b90e5b4557f374ec46f33e6665ae6b33f0e2e2543043affbc176550f59c3f98032c1692035dacb58783540486e94bf5ef9dc0bf2175970b45532f466aa300804a0362f4d268497c0b5eb8848470099c548ead80ca7c5268e2b827e620f2966d68f1037afc947a2335b73c7f4e64dbf980cd8ded322fe6e86fc5508a255db2a31901dd0394daa41acea300ac12c4f61b00a50ea7a673e6f07f890c4586212859093056a2035cb6983f4a16e60521e700f49c902c8a09831833fc0bb9753e7114933c267f96034346af90461c9be6c0a22d3c64d94ea3141e61c82207e0f00ec4303b67e8b697035502fff74a36d75211d21e56bbc84f51da67dda2a936421c0d6527a9672548f003ff839da97b62817a7499eabcd3277daf8978f8b33855a426e1dc3d450a7442dd034ae1e681e64b61735605a730a9f2e247cc49896e9d96185b6770bb1bf72ce734038cabdf909959ca4b72a20109cd9e60c551bd1098d1f41bc9042a2ca9707ef47c030e5218a1af6a5ef4bd2e0835e7c0d3aa283dc5f147724c697b2362d9b08498610313e5cc89d93d6ce095940bd2b836b05d8c6a7317a31f42e1cc08e286d92eea0e03885fce95c186c77aa0d2781eda75418962a04189d286092bf1e21131940d3417033dbea27b6f114e1ef919b41e1d28438d3406a988e876f65e41d7eea32d3486bc0310b74c698dcebc7bc5fd801b33c2e5e7b88ca82b11ba8dfb7add149030515c210381c0687624100719a61165581e83d3f2ae8833071989e8eb9a3921dc4c7bde0f034cdb587762b06b0bd9fe240b1572c42b907c4008c27d641138bae1a94e6ac859031170dd8288339ca245e0c8982bf2bbf905e56b931c46370186a56fc87290bd43038e320b51ed749439a1c4e9cd8f1dd8572a9a7cf4a6982216c05f9cd43f10ad8900581f0312e5ef6f4b436f27484523f7ce6689c503d4b256f90c443a1701b004aae0410100581f03183a207913f767d4f4803fac5dd72bbc32507461103571d8a7e4b80141c0410100581f032beeed09087fc18224e933034e7217744b31b107b81b78538a7b1fd80b70410102191081031f618536f78621eb47a371802e1b41e601bb8620370b5e1537bd14c0aa13f92703194d077b28a2c672a486decf3eef6e647181704b8cf798e5284205c0edb5f8ed038ab18e1ee080b4dad9c22be8e576db23f4e859c230c09694383751b0d865934600581f0228c24ea81cb317c3806899982c21fbfcad96dd5aba0961d51b3731a6439b41010310ce15e5887e92e0d04047296555cf538f67763dcecdcf7672744cae29859b5003b9dbcf0350e4fc614dcbd7412bd88659b0135c68fbd821be77bddd59c98deb94037bf71336f4932d6086a02341cc292e11a045660addbf5fe604ea9c57313666100219bfdf03efe23293780ca425cd530ffe4aadb672263dee1176c3eefd6dcd2eb8eebeaa580355a4b2eb3f257f461683223b46bee497ac1e7e2f60108b2e2d0d64bb27f5e1e1038fbcd7eea082606592dc791454021cc1fe6f5648fe42cdae69f60f0e960991ba0391cffd095fc75bb11321224bf2910163f80f1714aa1c86e88f38a22762968fb303c140ec17593ff0770bd5099819df903c84c055b3f66687c053f92932009aa86703ed554d8210a11686f003fa31697e09b2b127f1da20e56a5a76199a9a107d398b0219ffff03769787516e0ca85452929e10c8279dfdcaf568defb037fad470d98f92144a97f0310b1974800c7a372f6e5f177c467b53172f76f3e830049687e7a4cb234d57e100314c91172a271195e493b3eacd91ced045406e0a009d6dbf828e8a1c6defe7ab703f3f8df56acb8a79592350c0aa5515428fe9df67b723b3da18f602645c0274e9f030bd152b6b01b3042f35de19c4eb47b5f51f84f5d3605d25c4fa1f83942bf936c0219ffff03658c12b67e410084079df17535c3d4f5da50202e95e1ab73ac30bf51f25913a503b99f43e3bcf2b9ed42ca25482ee753b079cb5a650d845353f3a5f15d3b48b5e20338940ea517bf5dbb053228609f0af984f103e9d6dd3064293ee09eec3eca13fd031a980134706a25b4e70778e7511a0492720c3d29f90dd4b6efca1db66c70466f039f813cec10544be455f1dcaf7d1c34e079c4c91c2e09e0755e362ebca28382db03d019ac2a7b852897e147d996d8032603e43176dc2586783b04343032609be31f031a20314f2de03f1f69dad8dc57711180878e4d80b95d292e96960822731a5bae03e4f0c2f45cbda604d827d8a3209f2adaee113da8cf10b56b8ddb1137ea5d4ca903b7cec1c6edd0081002fcc16d11d0ebf1ca966e20cf12599bdae29dea9ba876af0369aaee573c39bcc84a4576cde4f070ae47ade5a7c90e245f7d67185d53defeb400581f0298a8e711ff4ba9e43f16a11d97c3c640130c2ba39934351077074f55c44e410103fdcfabf0ceb1341841ce509e8e3d5c53a60606555cb20a815c1cd867b3543aa90301196e21afe22d1a925a545e8ca2ba531b224da00cd7ac2052642f71b5dc328f00581f0253b2e10b35232f242a84638da8ff80b6c639633db77e174f1220ac48aee74101037520ab961465094b6500a30e030833bb0e9590281eeab753249e30a92ffb486e033dcb92e68ac53a9f4af1d5b3432743790da62a9015ac8e2f0950819110731642038cc7d20440156a324e58ea123ba77c764d256da0e19c3efaf261a7d108ba33300305978b9fdfd2515b9382d7e8633a6aa7c79deb08508420cc4a22ef795366699d00581e02c1c810bea95e0426c5c9cea9c8b37c39b8bdd7310f9675ccfba79591c7410100581e02a05323187598b8fb69b0a3a17f9d5247168d04c4cf5e13fee851c6c5fc4101020500581f03fe3b5223ac09f31cd8277ed0c2a7a003205e2d14e1e086735b0c519edb50410100581f03f095af77d525142a8a724aefd643db43384c7d4e18a9ae4e8445020321e041010219908003028f05793605687072aa77b277b2e63add6e6ebc10d461fea484341493812511035c7e2bedeedc22da2df1873a25cb7a66ad3b1047807ed6b75ae0bbda36510153035f3260d2c41a071026e60e12a2ce3a63e27bca7770ac72076706d7dcc4afdc9203f82977f862f182edd281c16bdb625670fc041980727e6083cb2f49e9a9ce476700581f0276e08d58785906fe827273bde7a0e248122f3b31379292bb21d49af6b98e410103cc933619062d9193eacf886ff9f41be9cc443cbd56c86c6939a971975f3c3ea500581f028e84221ebc69bd3d576aee4bf16cba38db94de6f7641c9996736e3e44eb541010219ffff034deade22fcf8ac87a3ab4a456279d53826d78fa88768b7d560e8c6f49121f46603bd90b9c98a66efe840b5b3e4fa1348e5ed77b48c82402370edf8b9bb0c08664d03d441872b749a6f0f494ce027981f78840695db67a5b50a06fbfdd3cdf55781fa03255be19ccde872c8f47d749611a96394c99cd2327f6daeb80125542ad7f0c8e903549dd2a56cba079b52822b5658bb77d7c0c8d29fd7b12166cd079ead6ea0cba803045dac7b85dc826a4f59c44b08f8ac036e69d7fcd117e3340dcf14fcd188495c03cd62d52b38c7957fde0fb2fa5a8605a8e59557ad82fcc11eb8b006825f2a1a63034caeaa6ccb2b9f408282357bdbe316ae3fc66462b8e819d0fd70a7aa6653aa8f0219ffff032bea69edbed6b07c41a6ec487a21f57a9ac4b6148b64ca7da6bb119840a8975a037b94c8632e1fce2b44e00ce2ca7ba13451de53d27884d4179d29badd96aeaee00359de34f889cfeda5461c05e51338eb78b0cbaaf19a8a0749fc11e9995ef59dbc032e1b651e1013354d865cb1d5dfe422c742497351448c8ebbb00d9a95f4e37012034fbdd4aefaa2a85854d13bf4f10413cb9a917f31851313bd90d9cb9875730d9603bb8224faed83e3e4eb735a41eb1aeb60f46999338d0e229980014a30c738af4d0306c9e7e4638aeb6da1c114281191aeeeec02f7d701653ce1b2deb6ea79a743740352bb886964fa1216af4ef03877cccdd2de9cccd8121af4de30b25cc4c1908441038341d5250939ec2c1ec4913f4ff1cb1dac27d446b0fb1b99575a3cceedf5b29c031d9d12d4a7728757598a5ce1533ab09b538de08e78264e37918306220c89b4fd03be06f5ee6d62a0dea9f68d09b05655242833f9d8099dbbfb15ebbfdfe4e593cf0378ae395106424fb32f995d36b70f7a161dedb95251d3c397ce370c8d6e5cdd10037c4ba04bdcef3fefeb56f732be7cfa4a6bfb6783e46d9a705ebafa5ce222ba2f0219ffff03352c6416355a81449d80468e571c091f4b690c7cf7b409c611aa35f22df27f2403f3282c26fd30c52d282d915c28d17c8ea195354ed53e27317ee7cfef91702e4d00581f024c892988cbc213b8821fd347af4023908f9cd1536ea1ac79e6fd362d8da3410103514110925dc299eecbe5c7a25f0b2ca12d6a40064bfe93d2e7adba479caf73b90141000389ad87d4ae2e35cf2ca7e5edc6c22123dbdfbe9a8a464e70369ed990d1a10d6e00581f022ab06fc574af8256511bc3906cff4ae16b76e7672aec3e06b894c19c7faa410100581f036b247bbe98aba714cd21bbb09511d5863d6242abc274b905f6a879c822e0410100581f03fbb71792dfc936a29592c40b7226ceb1ce947fa4a478a5eccb3982a5fee0410100581f0345395cf3a6669dd3fc60c066ab073ae739e39ba5df4aec1823b9b153d7e0410102191900037eca14bd08cd7f03344f35f69716b70bfdb6cc13ace8b9b96ea78fe7cac239cb00581f02823d65d855e8159eaa8541d794f666f93d24c21592b606df7b3f212e30fd4101036d00642b8b66084de3ea9208677830bb17a287464a83cff9e6245479abc81df300581f02069446ba2598d70210c824c735a7eee504372ca274ee24f87c3da4200d0d410100581f02104a4270577661346a4a68f179ab352ad9cc0f57378934846835469b1b0a4101032b69c7c885c0f721c24708dc8a2dd54913eca11ecd012cff102359d2460922240381f0df6687d2bb914a401fb7dbbcb5bfde9c62d25b45810c1f20b3986c50bd2b03f6fb116c4f2e7d8c91c4ade967679283fbda7cef74e31c187040fbd521cf046a03288970ab29aecc8a8821c9a72d89fa615526859fbaa37459c34650cbf23081dc0219dbff03bb809503122dcef01df4d6ec8074ebb94dc7d6832018c6abe6e81aed0327dedd03c91749538d92579b37fbe929ba4b6b9ad0ce3091eb2a20e27dcabf42f0d08e0603037dab97e300e739043e24070704834e1d774a48bc7c910f9fa9e9b7d2ac858703a4df3b2d9afbfc90e1e49a7e09bdb69baa423afa6f7f65b59dd17cbf28b042cb03f1c805b68e81bd3704aa67aded11129c0622e936a13d7d67a93fc8f5e45b820903c00767d59cae2dff2f8aba52ab2338e4d9a17097cfb768939fc7f86822a40fb5039b7a2c047b297da96c3ff0316ef2e33daf48161588d043f55f154bf4ef6d602a033021ed71677c071cd68d88105a664b170e981af6698f69d1424463530c343ab403b5d29b63f7205753232d0de3d4367c70e09a386320fb88eb9920dede812b5a0803feb37f06b7a4c6b80ace43969d5722d745f6a30ecb2837358eb15c7af59c897f03955bce9b90bb6fa8faf34f8117014d1fd2e1a0de3ab3910006f346575a4ca48f0305bd546dff0504796e84982f33d5bf804f6e58087aeb1720050c07644e5d32a403857cd55822e37c059f694981a8956a37d951eff54508185bd562ef7a514ee0d9032eb8124968f1437d7daa4e702e6e76b455077f520c9141fa0289d056299f42430219ffff03138bfdaa37ad6d9d265e00f20a536b8a1204c98b24fd89d5e4e92af65f1aa73f0342f1cb016318d52f510274d49d70c362aa5c117c685362f5bcd5f02620a90b4503b0b8824db3cf1deba719975b6cd3850025494d93c442af717dd3bdcbd55caa5b03410093b3c4aeffd234a81e044f5f806c82730f252fe137344709cb9e4a458baf034a2efbb62cfc07df33f31f959b3edaf3086ef83148884e972c92718a7631e48903b5069d0802aa10d3fe81a4b92a1a6bdc834ba9995d1329b8f6058da1a5bfc0b6035b7f7e445d124294c7f0c34f24fa6d1954fbebbf3bc42ca7b472bee6d7632c5003fe98c47202a03662e042fa233c09ea3d1c8a43f1480d297d7021cbff4c8fb63f03b4738de4cfa52bcd0ee1e7f277b4f6c00a593f54c9abd0554effa916b6832fcd03f969fcd59421113fdafa4ccfdbc8ef5d96660d21cdd908bb7e9647622626886403cd49cce2e27f4172131453080b760cd08158e5de0f9049cb4b3c2cd4905cb79f034061487ff176452312f747d0789795941d61fc68d5edbd18725a07cc901658bd0325193ee40dee476ccf25b87cf9eb93e29f06c16e3845474fd141660273dce1790308038c726e502204de7c2ca367921c7b9f91a61cf00e8719260aa75b7f21fbfb038f921cdd983d3455b2c5cbfc731ea684046d627d31c3bf67998892ab12487e6d038d8497c50234e60c6578f1683fc7ddbf9f2132dc2a057bfa361d9b8ad00d085e03eda6b346ac1df18fcffcbe3d891dbfdce6566eb6ea27a29b3fada2a8669f198503f206f785ff160eb2d59a58523a52d9c9c06e703a4fda3fc4d74f686de345813603c9fdcaebf7671d0b43f55dbe9224c419068e789cec2d9fd0f23196b1bf906dea03b3b652f457bd629f1582b2efa33d6a14d9306c17fe1ba6616ee5be9b378b66070376cec0827fbde21bc4ccb1024b5f636cb1ed2213217df4adc1687e377a0fb757032f11ed798b90a5d54a21bb7fec7556d39dab86475a237d73cebcf1de19c358660329d9a29c9aef3a70b28aea39b0bc5c37ea6c926dd1bcd014a6474f43da6e48f20379784c4834368aabc347f292c23a63f75885d408bd665ded4a3aeae5488549830362a0bc9e3bd208d31fb56b57fffbb52b132af3204f724f57512061a89befc30203070f22b011c1469b5ad75343652a66e82150f55a51323c078e6954dba2d36d280339cda4542150d12cbb86dfbf196fad1e6504aa4f9652ec7c0948297f1906d90503b77083cf86c5fefa2e0737116384cbe3fd2aef3e7885f766a45f6269648fb2f103fa9a95a7ffc68fe3a8654ef89e82e6dc6f08a52e85b4d1a3d75adc981501aa270398b0a28ffc04c0575f259e5e146657919d6552afbdd33cd0cd6fa432ec00e45900581e026d233cf0fcd9735b91e8c4558a0c47f0f713dba076699db2831bd67c5f410100581e02e28a030fb76773484106028a9739cd64ae749309f5fc340e782dd7970741010219110000581f03e911db1a5492b32d97140b2d0293e06e3bd1992b8e4f894757725df14d3041010219081003e9bc6fca606d65ccc93a1f22a87b391f2c75bfc756466588b7d06e31ea7ad8d903154c4f0b1d07697a36b02cd186b6537e3524bdcd49dde65d05ad223ba93e5a0900581f025573ecb9068aa2e93314a351dbf21a20118b030776f889e9044431af0285410100581f02f80dad2bb1368eb6a50c2753069c3bfe26aca8e484e3945b1fd44c9746d241010219bff603a714ff4a7513e31262551df58be8686eceff5e3c0e2527d7f72e282f746598fb0315dff44fa8bea45ca6259aff9a4e55d3ee4c172ae7b3b521fbb3801297aeb8930378635c69be51a99036e37a8088ef941a5924123322521b9abdce63987d115cc5038d0c9f4e894cc8fd5f796a40fc469762c7060a9b9fcc83c9038819899a8ba5a803bfb7e6fda5565e8b872d700b0449d0818534af36b232ad20ca45d8acf04b5ac4038001a35c250013165cd5e980b7c1d6a816d6e757e480aade44f43dbc3b7f46f70219ffff0219ffff0375a9787c7933323646259cc3947a15a734c01ae7d682bf7df32fe715fb3a4b180387e11319d2ef85373dc4bf6828b1e22eb1d12b5e620ec362a98edeaaccbe73a00368520433b8c9349b71948366648961331624b6900c91eac351542f44e2442188032b96f366ec894e4e0c4e1c29ca1a8d01eb65b22bb5bc816baec025c27060540c03bedec4a03a2e08b48d716ae222087d4c23157377bd99dfadfab574cf208c0f6d0369287a7762a5f76704afa420c3e827eb6e86454ca3ab5a6edf3d27e4649df5e103e25a2afcaae187829cf9867d8077cee2e2db0c2b5100667343ec2656bad2680403ff16057fae7646e73abaace0085a28e8eb357fdcb47b6a0a2f0a597e49d4b0c30375da2fd95a89ac7ef2d2500ba90589ea6e488609bd96fa8822a5a68afaeb402103bcc045c589a2de4f5e793854880a1651dee881e0b3356c2db8fc47baaa85d489032c045979e8fe7cdc55a743e010397bd2828bef294d5ed5776c7bf0066d134e18032dcf12d3943c5629cadf90c80961dfffdfb60321452d7d9dd0b9681e9692042c030a82d24b6df1652ba5fa01b49f1a4ef7526037f456bf8e08e76b444e8d18fcd303a0d4426430d07464a96dc43fa78fa4a7ac9fa20ebdeb119b6cf64855cba0898103085abec7a509e627fbb7b9b74a42f80e80038fd1235f81abecfb43c2bb56a20b031136a1f3d2aebeed432536b9e57b4493d7784712bbcba6d2e74004eb25b4a81e0328f0cd9a632e8bcd1ddaacb913927b0d442d08fdd416632c2acf0c4c478bc0af035da84252a60a2c1fc55d6902b7454025b9d3f081d755d9cf525d6679535e57e903dcd5661d0fb699c2801ece14091e3ab18b8a7192d86b7afa24559b58e04f9e87034a92f7df22a49c87dacd4af32691797b081df63262f1cb85e9d63c01bc46d61c03a551ff26a5a4c6b059899583c5d908355dda536335b706857f7d480e5d5df84f0385830f06152085b8dda64a638b84a8c12d2750af3de6c7739924dee273cbca14035d4324c3c71c79ac132e3eb657f03ec23aea658c59c7e911028451c69db11ee60308e3b0a1a0a0b0fa11545a76f606cdea50d6c42b2ae4b05eeeb35404abd4792f0306366417308a1c202e911d6f91ee9001b082af598c24ac5f0a5f208e3ed4a8280348d4a35417a7ff71de8cdfe9c3f72945858134cac6d3eecb348036c39843c0f700581f021721762b3f3682368492ec69e63c3ea686de175cf8c9ee2ae5222638d32a410103be8df4d10a81f6481a8409a145f7b1fd400303f34d534392121f5dfa82ab8d63034163517070d0e6354d231ff0022e3ebb85cbe4fa5f3f31be60005b01a158a7d703d3bc3cb5e2ce1a6e53641ef3cfbf8c1a87530eac71f0f40f1c262c25200c92ab03296694f59ac5e327a945edfbe8ccfdd4ca1473d9aec84efc29917206d3715ab200581f038e3af46d66bbce20d6bfbbf19a5c32049b79c44f1648795a559007cf6c60410100581f03da3b6c400b02763cb8974c1744872dc563623849543bdf9690b3e67fed50410100581f03bcdc8889cc9b9a4bc2ff20471630356d47364c16d4a3b3bbbb1b17a06330410100581f038f57dfe832ffa54b0bc2dbacf5a9daaa76bf61d37f60cbc033d41fd53590410100581f030e8e51cb724df8ba6f201c1bf39ba39ad61ad8ff524cb78d2b1eb2b2592041010219c504032fd03a82b098d480b4b02fdc3c6f4c41059311f22828e4fe22f3d446c3267d500360a2e6e9029ca78595c585e7f4c3873ed1cddfca76c9c5dc4dae160af81b16a103288aeafdf0d9b51de6bf086bc01a6b55e8bedfc167a6a79f5c4777e6d81451d00355d60a43c0c7470df96ac91a2c12056c6ca783c2092a75210654146270471d2d03150eedaa05c83bddc6485f61b3a8b91a7f59589247049d697494152eb9a477e500581f02f284e2160a0e7adaeaae60348698d4baf46cd76088fc0cb5ad62f0f4d10741010378a01a96835f57bb348a25aafa0396aafe27d356ff2b392cb6f6446a469c7d320219ffdf032906804ba3e938fdca080be271d6ea1730a0b4e4fa8653f75cbb9f74631de755037c8d24d823dd91b9a02bbd9608c60f66398992b1c3be760d5a805424a60001a20219ffff03126b1cf7fb1bc3fac60a733ef7eb87e8b9b401a12f45161198b564c7cdd3e593037fe1aa9b73debdeddc1615a11af400095767cdbf9c10bc77152bb10c02c3c10a03d6c5529c2fa71e238d516bc2c26d67626605d7bfb8f346b686c36b4e7f9fd2e0037c5fe5f59c6049d837981bd57754f13c7faf48950f13de918f4cda1c411fcfaf0219ffff033f71e239b0c7c8866e75192c3b59d4c08d6021420adbf1469e728d1e65b8a32803003818e857ea5d385abe9cce2b5c82f951afd24f93adee9b06f62ba268ecb5c0033c9efc0ba1cf635c77fb51db36737e7f0a6017095d4dd93d59cffb9c4276054203708bfafff6b32e2afa76463ebf03d05ed811a002498d5c6c3e1b8066fc81361303356f0baf162b82150b0030d2bdec181d5a91ff10d00064150db49eeabd77a2400390b1a2e3c270b554890dadcf45d2cbfd8ace33b22c3f3e15250ad19d5e2845650399daf777162d1dbd74c45272b458e72d0e68fec2a5c1495be51209ec711ba14803eec781adb8df5cac8ccb9ca8ebab0d9fec5ea7e05ab13e0f5c6ec9d95f5cba2503dbc736c4cdc34cb0f901b2c604d9ff5a544702f953f6285bfa05d81515f4e1ee00581f03129e7d1682f6c1d0f8fd4b830aa4b594a5540e495ec13e0d9e9e57857a90410100581f0383cb8145459a0a132c42c70a12288b6f7a5228f793ea5157e0469e6193c0410100581f03c86bbc5dc0a1e6c9d3f448486d46017ed7b5229ad313cb1addc596e84fd041010219050103185a8e44ae7b901fd74ad4295732313b81c25054aec657ef5f9149e43bdb269603090efd9516c6ffe87e89e401bcf5a5c9834b4bac6acd5d51cac3a7d5762807f70380afad065245dcd19c9de61bec5b99b70242b5572d2ea6deaa18f8dc82daecbc03f66dca898e3bd247a9ebd19ce16fd5870c6fcc14f0d4c78121272fcaf8153c0d00581f02a0950321ccf06a31b7baebfcf6c15d72d47caf64a7771450cd9e1cdce265410100581f027327b285800d858749910b427772153403d2453f5a8c0967cb400bd281dc410103404e61c39067316b2c75a8f691e1fec7a5e1854cb198d4d7ac492f0ad98a6963035f465ebed7ef18abf09277bafbb3c181cb6ade1e55824378af7e8afaa949b53b0219fdff033d9b0fb4f9e324f89145d92adc2238dcf90d07c709c862a27383268908fd08f70371b8a18de014a78f9a796f61f1c0d3c7835ef0abbf87097c5b69cb0f97e47c63036e0aad5c6c3fa9f193759e33d828036160bce02f58b055a1fe2ac21853c5ec000308711b30c4a0d05d03fc0ee1d28a2af1548ebf2fac979b7564bbff6e9c2ebf3b033b88ec0f8d1819636d1c3875e251d4126a4b313cbbbb879956b6c3e39f5e5d6e03ecc1796e765895cae3da6c0a6189d739afbefd8e556b52b1c2aa7a49446521d403380ca371634dcae6de2b97f64675803923fe0c4d9b85e0183abb9fcf487e091a032e758c1e92660df5afac649566899f0fa524ef49b80ee989b32d4111f7f63835033f471d8d47b9878920068a6b48cc3222c45853c092f653cbc7877345911bbc1c03aaf5e97559eff591583d0d5ba0baadc416b27d4b357e79ddc1a73a2211d3b556036be515b0310418b530b78d79a18acc0ca5c3c74fa985f709ecc45d6734caddb4031295b2dff9f95d8ba353bcc23216c1d673e13ea305f6bed8ee52d2378028f5f703765a1ad70a41f30e05b64e861bda3c6b16576123c36c733852b673ab5b4b05020219ffff03afc7b84a84ab140da59ecf292a805b77e468c4a3e827297bc9e8338b5b549dbc03954055b55df7950d203c690587f7bf5e56a71bd0a91b597302fad7c5792497880312d60802749ea449b06e786c44a78fc27f50b7beea37f1c3c78edfe930f826ba032c57a15adf12938d1df915d31511f24230e79e7a1f4dee88b5447fcd69a726790393569c706bb44f15e2828132ada8dcad40b77ec7014b43fa7a42d2f04805a7f10307e03977f186750a0aabad04334b5396f95195cad3fb6ac1cb7d647eee818c2103b16cbca7a9c6c026ab0b2cf2460a0edcd5b39fc78ee1112c3d50d96ac0ad6f1203d990c2c36af5126f4ec357de12f0775c7e9d2b395462e2be647440706c518d5d03e8e340fc4c8cb2278924199cc821099e33e56abdc876faac78ce7527f6ee5c3803192ec614e7198385834b1960dd63e7b4f5ba08b9c22a406a8dec3900bf1027bc03c6e6fa14e7fda0e72b8423fd17d30a155512ed6d6b9149a4d8b8fc9bdf96ad8503ecd89f2f7576431fe78c8dcd9fe63278210841c0ea82c77426bcbc1a40ae1bff0343d437ffc80e39d2c3a906b97a4985b934396767f829e5a06cc4de84ce29991a034c356df3f4bdfd73ae3fb8398992eef576591db02bd80a7f2fdf20addd8b9ceb0219ffff0374b4b0311ebb819d8dcc2e789276ef23361603c0519b37d7297771e5676c453e0336c2e41309cab3ebda8e0d2220efc92b491e9f0032cc90c6d5702d748b75b555033746559eb0cdba345c5899fd1b43e80589b06855ca0a637800902f3320d3d7b703cb6a3959b93c2cab0fc9feed12bf3deb938f84280a68aa2c0898e7c36ff328950334c62dce17b8210041b786d88040aa909c34c0e99976dafce8957487f0a9547003c86a30d2c1b9400d49409e3a36959c4438eac1e10a7c5141d6902f9e55987acc03d8569f2f950fc6b112ef9db87f93cf57c57330b0893d4ae23a2a346ad619958f0356d716eeb5d54696813f189ee28f26b4aad2698454010b738d4aa94805956f3403b6f8ca242d5bd7ecdfa4cfd970ae9762d20cb250403652aa4ecce598105528b4037f6e92adb3668d72b4a4bf42f0efbd39ea7608b88441d40ab798b6a22984797c0355a18bbc8d66671532443431affd8f8b979b44ccfb381fadfab3c5b31781703b033355c8e4217adf39b848c8f109ce215180ce21d848efcac23d792409760fc346031356f9958249c0f31eb3c411019264947fc0437cab2de68e136e880e9672ec2d03862f146506b3025fe4d47664fefde74f5a0e3ce5171b3acd9ffb2ece36485f2d03b88382651df708e6cac71bbe04521ccb39066674e35ecb6565b09cbafa1589a703d2d9b004763e4fbf77f7f90d46c3fb2758cbcc714a86c379dd44b65a71c6cf8f03aecb9283b9af7489a0a87c9c1475ce7765bacc3b37fbf5e70cbe6d7aaec757440324eff531a41529117148f20dedb3f06695bcf5d9f06d111642bd4d31c128c2120342cc660541c240459787ea2024b531e3754cb0d59283f4025f16c38f5224510d03f83a05cbb6cd577f1e1e45fb4c400a8db5641904699d1a778eacb8e74485d9e103084f354902a68257332ce0eb882792c8d142426430c0375cc82f18db388cd7f703960d1ae8fdefab10975b038423eccabb92e8c09b9d3a58bbaab36a62a8dca1fe035ae9f90bd3bbede9fcedf6184e0d8c1203faf49fbef6d81eaa24db9d8a267bc10371f9af2aa40401c6049d6cd4c5267ef400195260a54c1a9574871f6c3704ef0d030f215a7fb909c814c819a5712a71fcb059fe4bf560c17eb2b36a1a9aab6a034800581f02b8309d653241c60f03285523d55204a3b4fc3b5744e801d7f292b9974f47410100581f027bdcb52033cf4c21b9ef6e4027f246a250bc312a8cc76eab5a077f46f6fa410100581f02dab369289e9be92dba04e23b1fed937246659bc81a3f687193aff4e321af410100581e022cc15ae241c61c70576b405fb417406edf0322d8bd2a8bf165f0bb0546410100581e02bd2d0ab513fc69ba19a75dbc570bf3b94fbed427ce97e70d00906a3c364101020601410a0394e863129e102671ad2e44059e382a89b6f0b9b6c8acd67f449bf3b9990b6ce903c04b164d0ccebe60b9bb1fd10b82c4b5c2aa1d67d434b2d9a7c8fe49b229371603b3af69d5ded61712ff4b49f28a4900ba3c7e909984befd4eeccd6007705e830e030078a5da2f33767ac8578bb0504c410b54d3a493b77e91caa4d3d304896bd30300581f028cae16ded90143c72faec61a1cd969d8d75d00f8901dca10c44e8ceea738410103410ac016271f750cfc97052a960138ba1cd346eb24ef5658f2fd57f68f14fa800335b883bc65561e20ccc2eaa3231d6e62b9aa479662a4bb22ef8670f0bca9f002030d00becddb2b337807f9b0958d403e0d2ec082a7b23cad50e18067da997124500219ff5f03122a9e00fc28d142d7d0b009f661e65a5f3d97ecd6751f4a19d17332692f5a8903e0ecdf68701c84966459c2de97a467c94b5f2d3de4f45552dff3339645d50530036ef8bb618370fc77ec2bf275ad9f1d294bf0b52671998faa1847b493abcaf81903686b52caf2c953e865a435757066d0cdd3d1c1a45a436509d4deb643c5f12e74037effffddd849c84e629e286b7c917e54f0cee5f86bbd1745eb2a351af8dff4060337bc01cb41833b6268a0a88e98e1ca493d6f657d44fb7ba6674aa1c3c85e2bcf030bee19635bdc4ffd8d064f91d7caa780ed2e4ee4556b17957ad0640d8d37fb820219ffff03639f2533242b4a5e09fdab6521afd056562ec86f6089b57e20983f7231f8605f038dd5371a19cc5543e3c3cbe4bea151da02125bf67cdc97a9e279a704bf9460ac0219ffff030ec8cea86c9b784255467d36e7d01208651154becf361b134ce61a4cfbab5a0503555eaa3eb23dbdb69e855e49957415401952d4199ec2b33fa6acbe0de3535e4f03414d4a1f7bb97d41ae824f0cd69364d243f7130b8b0d0efefb9f0fbfd8f0cbe803ff7bfef96b73d106dd54b989be97a073d226fafe1f04beac5cd0b0b4e2ea5b1a03dff40b1d5a0ed024e3ed96e1a096c04e9c7def295531b83dcde42cd4a0900e040323c9417c1a753d8aa8f9181d9e9ae0430303e266a648a6043d0436315a5f9e0903b43d23bca8c0842b1f4065e5067d172e8b45bbe3083760f111d403e379fb001f03eb64de6b33611a30eb4b7b920cfe6ce4e8a814b45f235ee083ba431c9a5110b603c5f22b925eebee912e694c27bd6bb62ee925659e39932c7962aa8328c4eed4ba03bdd0ad75e0c3844a2f9af7ada0a5b2e39b94e2e17caef62217505ac1f47a5ded03ba33aec644367b2cab68c7268c7aec0bf8611fcf0965ec48a0558ba62823399403cc34bd45ce1743f8e734eb3a87bb836861a5dbe728e47e95ce2ab99a9b6748dd03f1d38041dd5ec8550a00040ec16593c55b05b934fd47ff43a82f264eb7d3dab303989533d4b8965657afc45aa0076a53b24bfec49465f549f4710826d9d0155d4e00581f038a5277dcb95033bf9680c555bc0380ca855db92051ce41e3c5a4931390f0410100581f03543690452d861742f962b5150e3e0621fee3fad06877fadc0c076566ae604101037f9135319fd8a19838ce4288ace932996547be183df0d9cb531fc316e9a804ef0219120200581f022366012c945862fa80f774ad098f56c372c5489633f66180c8f6844a9a95410103666ab628051a09e4112f26c77a8da15e2213fd92e87035e0693f0f766a0ad704031ae780d5ef7da86367ade4de927157077dee506626563bd6853b57544523c61d032e5c05a49c045610ef49e1bcebad1767e3d2adc5f0d609ec91b4e459aa89913a00581f02f52d2bf4f002535ec8e359d575cd610db9a6fc25b11e4816f3fea38c4662410100581f021b0c87318f2a335cb52781ae59472efc0119f5b738523f78b5f1c787f9a2410103b99b5b1e4c3a286a263848c320ace9e5aae942c3fc360e7f11810cc558ec64d100581f0214e5f2d773dea8078caf6ddb9089bb917a40b435ec1f0b4cb29fe4a855f1410100581f02f50af72d08cb5d70fba7f31ec001f220d83c76507c4652657970cc4b7c7f410100581f02c10d5de223c6d8ebf64034029eae6c6b55462e5b07ddf184a9e5131297d541010378c98c1fdaf9fea627cfe40b7a3c1782d762decc68cea07a673a5b40d4195fc40355696956ea2c80d00b267f8a435370549f526134e1bb364780d00ef278fa0cf1033c0a16a601b1ccafcc524d27bf4cb9b4ca1477728117a2557f27e96897123fa00219fff703b70278525d52bc9f73fef297426ddf5e5462b42ad3303300569955a249f3e46703c4a286c8930e45bbc00cc7616e35192232884db1424459249ec0a641a2e5f58903439ca86ffa79c35f95e81532ef3005e37d7ebdacbd7e212c69aa382d527094100219ffff0389255f4a441e336525f4b20f7866bc697bf1611d2325210de184f39bb15b95b9031f857d2494b9d4776fa5a141b04892f11b8d748a10564f0ddf5e808172afaf48030953aad9c00e0585ce6c5c624af208886db743727c2698a121cc84f4e4e1f13903ba070c91d5fe657913bdcc4a319c729192356c3de6e98968b666d838349cbbf6037fec2cc001021733d9610245492c4282ab84a0edb47081465082e218f7aa078603318873203aa2ab71be88f736db850d9e3c01da9dd0e061e1cfae2fa56884d7fb03c723dffd05b2dee56bcfd280665da6dc18082355ca0629cbe85addd8847892450344234407bd90db24536a914db0e80486ef2c175f5c6cac5e16bed9d3638f91940321090c43559848f4d64ec12eafb9aed7dd903a9d4bb3514819c79089c67f0de803054f5ab6d32a888d13d9906aa5d979197df67200423699836e6f2a567e92dd59034ac1a94722cadc32c659cbf427933de91c578411756de6ea0d9a8fef8fe2f03f03acc45d87dbf81f30a99be1aaf3f44e6e7aab73f95cb5e064d1c41e23470812a4034917fca2d1ecd425d7e141ae2f00f60131963ed98db40e1d4cb8e1e14a89fba903287b7d28d8b7ba8f45f67634ab5c052198e81e50557eb318f1f06fed8985e5fd00581f023f1648fb9c1cf45ad0f2ffe0ab89c616230edf34b8bf472bb6ad90fdc64c4101031774d3448ff1efb08428511dbd311863a70fde6f933f6ef64960a6e38e9ef09900581f02fdc369bbaf5d6276d49b6fa2433c4988a0a969d2d9628eee614d99be74d04101036e4bc8ebe03f34f8488e547ee079563a15f7a378e72d061deb0db9ba622eb67e03a67f150a331b5794b8c4fe2dea48e0b22d38fcaaff7f150ebfc4088cb248aae200581f02ae97793bf194e686b3373dcc9f66394ca7e5d8a974a9bd6470cfd55df3c4410103f831eb8983e9a71474b1d4b3072b51a91ab0a2ccfb4f3fddaa9b0cb767a2fd2603c4ba7f9f056ab85f159b70a64b7811aea3b20eb476c80071f2182d898c6d984200581f0356d0376f225006035064f085d78fd6d5471c8c64632d920f370f34665c40410100581f03b65dcf46af26acd8594db2c166442161d93038dcebf2a57b4015aaebb1a0410100581e02c495eaaf744b07420d566c3ee8b8c6dafdf16fc0621a2622e28f0c8bcb410100581e024616118ec019d3d6fb581a2983ab07e666797d3844736a1dc537664c8c41010219104002190c04037ddb49c8ab99f87e0b0afa4f95911cab3fbc7226d4725ac9fcf7fcd2150e7507033647b14d127bff3294234f3138067180d617d1821c3e0a6f51d685c45a17f8b200581f02e42f9c68eb41e3986134b6ddd586334b18f5323fab2a62fd3b65e347d97d41010219fff703559d4dc465a353532bd94b691c27c02e4a29239b17c96ab2a3b6dc762681a515038cf198bf2830ef77bd43b846f63432aca6187fac4c12ad33d6989eb564f1912703918c71ba9c0b3fd9795a2cc38396a549e16cb9c3f69778c6a3c200ef6d8b5cce030d8b23f46da06ec6866a8c58353ca65d8ff54a6a3df0e31b5e75376d533d4f2b036d05b90f188f036b3dd9e00afce55e31c28c022a902d120bcb3e8732585dcefe03ca06ee98b4f282f839fcabe0c4b4f14324a08c126b6fb5475cd28709310234490364157ceb146944d220c2b54fb3b1cb39b93de4e0ba8319161a7ca3dd17fafd7003987446cae6c879cece00a3b66cb3c47e13b58ff5446e3aee79319a7297eaaf8a03a95d7673d1bc59aec1bba8015b1a76a05f5222c04473a28c979f67d1a5964c93033229f0151f66ec6861819f835a302b72276b622bc4a9c7dab1aaf4d5f38a294c03e1e178a6f203cf2546932aa7527a35ab7aa556c017a9b4bd9efe1801d0b0a098032995cbfc093b2ecfc74bad65505a6121e34f9d1d4e5c20402bb425c781bc77190330cfa08a746e686e700c42c5a68450ddddef598ae6f1496b4415666b9ecf35af031d0bbee19c59ffdfb71b46fcb0aa89741ddf2d7fa9075426e785cf57567c482b0219ffff03275dc2950990dbdf6c2d531feee30d9497d9b7c480c6eeb8a0a037b40ee278fb033674799d2d1f4dbdbff9024e9b0d105f7328a6e07ad2b222f43c42c61a75afe903bd9e46cb6803c143d717260616dd5123686762c68baab8a37fd6122dc90f9c530219ffff03957c62324b3f6902cdc8d8f91b2731bcd1fd78151123088c66133dd42b8559c1037c32042b8f62f4123b97c452bfb363b6bf53723143ed2377af9a38f6ef4c92e103bda82fbafb18927c6278bea539c9e2cbb6392a67655b9c770af46546b3f2873e035d1b42bd7ed3e6ea3c34ca47da5e79ea75151c0643de4d7e0726f48d8237649d03e3da927b15b46d8f9d93f7c7337967accc0edf848279d1dbc7e22ece1bfdcff903707d92e120bc508cc4511e2f2c8e0da76ada6f57f7c6a077078a82859795d5bb03fc2f702c7fa54830cddd6af2dc9ccd59a4222baf5fd87ca38ed48f96a057f8b60380df4ac9eebce4d387da076a009be3e47f3508e2a4b44fc75ea97c3a1b605d6a030ed54d4450a3fb2c5e45e86882698a7d8d7a1c767e7c4463210ffc301e7094910342033d22c1710af4ae9ca08bf4ef75bbbb325058eaafab930a65b18b420ec548035f0c9896a9f8031a411e6ba8b078e612bd6c06671b49d9ec9dc612b49c660f1c03f2137b5a256a6d4839e57477da11faacc88b3b788a3f926ba129baeab0c2ad18033e63ac39afb77c25fb516658337c10f0772ba4e363b6681e45e50a6cef0c83ed035337185b700ffc1b769bca99bcb43289065f3b7dd34471ab9e8d581813b5011e0331d7aa0b6338d6c28bfd6e73e868477c66194fabc57b9f04c7ee24d12d890351037311149cdca730b33d3b3f6eeca7075c36a58eeb77b7d8a079441324dbca0d5e03b432919c9fede9a4ff8c3c1d2409baa63875591908885a4fa55d0be7ca76c99903bd9a605fda1eb06008824af1848fec15745df02e3f55a21b72878f409c5e3dd403fbfced69b03968f94937a8b32efb2b14b4d96062cc3cada500cd847a29d1e94e03eb71b473cef2bd02eb684ccc2e7c41ff867ee0fcd405226102db078602ffeb4a032e36466aa94e3066764e60a6632224cb8f1258aa3fe9cedd4e672ad3bfd6a46903eb1deb9981f880df35b57280a536304eb7f57b5a96b731f545d4868ea7af7f1203a63657da258e44199587e96d3ebb5a916f689b2f176cf016a5961acd11639e76038c39b5e9674d1fed59468af1534b0797ced1e162867c337c9a2511e3492568c30323b8bde73a75aaf70850919110bad63c74d16451c445a676654462d815ae8b6d030c55f069d1751bdd54ee12d4d7049cfebd14eb92e078d9ef9c8370fbcfec1e5803c20c37d2d482e5ac16e9225ab08008855b9bdc7785296d86c4f11fe57107e46303e2d7fa7013edd921a95dd2c4f1ffd4b3750b355c5769c2b6dae3136b41432c6003c0b68befd757cbadbf08c95caf4a34d5525af8cd16dee23fe43ca93e60e7bc1c0396788d2c0d3bd0063b5a0264c5394c0a54640f73b526e040ef6ae260045c0f67038469377595a0b5c5593ff24167dc92835d426b4e9526f1914b253ab3438b310500581f0290e5428dd9f042a4269d0d6998372b278274e01faa3edb2aaca9227c4ce141010360056df0920bcd847fe2b4585e428467dd7cf3a1e2b78f6f6f78b3837b75e0070343a69d7b0028078785fc86fed4b3437ca4b23b1cea482edb9ed48156fa2e26f4031b8721077a6e3988ec4dc5e6e2de9d6e93cedfdf02e29b6d0245f9a49f5be8680333309b146ebb1579ba10029a8bd596d89c43ad5bb6a038ef579fc6fdb2071c9300581f02e58fad0e6d9867618ae284b2753940ce64577a81018971218eb51d3cf8e5410103f3953dfe624a0c720fa3b970abe929d82976cb57f704390fd7165ff2774fd007034dc0563e0ab80c368fec43321fb654a0834fc36eab5084613fecf2b2d206391c00581f025f145a82817f87a4ae9613e9b9e4ad0f1be861e77533e9d346300ed87b3f410100581f03922b871579ac01e2b425a794d3f6b57d5873233557529b007e0f5a6f4690410100581f037bab195036374f0244ef22fc5117e3e1de8fc83fb50c9dfaefcbe7862c00410100581e027e11dece9afafccce58cd3cd378c7b2d8ac36fadbf6063587e7fcd7df8410100581e02f1f3bc286797e76c960e9e1631d90a97538e0a4500baf71e2f4bcab7fe41010219090000581f0376f1350e438a9edc2ae839950035a233123443357258054c3d44eeae37b04101021911220219ffff03a425ea77badd76e81c7a678d4bd8adc4fe6264f240acb5245820d6bbf7d3e50703046c92b95fcc5b5533766c1b14e593ff22c65c5f8e1aa773d2fb2a86ad9de64403ad72ca2174f97506af2048db576b29a003032de5919b6ba4d3779fd65f32bfe90219ffff03ee9229c2fb452f42556263cf82347086f68f36cff2b112552fd3d646500f000703e1c2a94cd5a3925289c056fe558f24b0535191f150765e9c9e4a32ad7e968d5b0219ffff03502bb421bedb85b9a9a9f04c6bc0eb2dba481408ff38fd87e3a362eec1d4f82b03c32138ced2d2435a6b3b3e3a1cbd5de0b90c1bdff5f825ef87b8efa4bf3619030318031d7cbc142b1f754d25c917bec7e2e7336bd7fc0bf8ec8f5c0ddb2dab54f30335ee04aef5f7dfbe55cd46002eb98312d2c4b403e4ef761b0d39e82c18369fd203d9682424a5d5e7c78515d262f6d77af0a7eb6606805fb4b294be894652e452a403308b3517ba9b6f1df123ca7c9cd82eb9f81228d88006fda79fedc3d67fab637603d078c1b101bfc9913e637f5d86d72ba7bb60cb441765e84bc06512ef8b9404a80342164fa22ce7f9b8e8904aaec79936fc44338c6ef1f5b1a3e2d7b1150269a6000365e2ded31aa75469fdf928337fe36f0faf779134e502f370c861bd27850fdd7803a9037daa5045aff9534fdca669ca4b3aa0fae300e1e2dc8120a04ca9518cff6803597f4e638e4cdb3c041d1e6dbede9e311700612167cca5405e5d588c1ddf9ec703bbc06e2d06868df13efe096f18001256db503db71e45685b761ac49b83cc0e8503ce2ae34d3a740ff63d35abb3d6e2c62300a530e2f032605448274ab89d47c5820385f086c0e14f557f03f719f50a30a51d49bd5be724426dc25bb28c969c3b7a4503e981cd84fa866ca8c3b4bded2605cf88e86a7710b6efc1e038ceb2e99b956aaa03da71b6cda77e0a0d0aefc810dd08b87e716397fa143aa2ee08e348716203b48a03af1174b5af9ee4386cc6def0c72c77b658ef901b9f0ba53fa306373070306140030e82c1b23e89ec5b8c085835ceafbfcacecf21722c3617c18a42cf20f95ee17703b363cf8c50cb485b4d21eb2d8f31ca8fdde064f82ef42540b87aed692f2bde1e035ece2a423032bf0ba5d6deb3ff277d0bd7f2898442404b6a2d00831592e2a57a00581f025f448efd8e52518b755ae78bf31784fba611ae6dc7b4c5ae4fa594c395684101030c3bf11f14dc810e0b07d282216310ab82a198f2820ebb4893767a03297bc6b203cd893f17eb62b3e24ba3e0d8ed0a24f40c37c5a035a54bed793d58abbbc26ed903573fac3d6c985415662f4f088f7fefc882cde40dacbecf3a3b9fdad93a643a0a0373a36aa9c83ea2048e35e84130573d8bb7f7a3ecf3fd068980d3af045c91e0c200581f02628bcec21c9941505341452329b64ae0e491f8d4ff83e44d64d5058893ca410100581f02e1e618e090e3f63558997e2c1ea1b38c3090c2bc379b78adfe1e3947be69410100581f02bd2c2f6cba3844ff13003a096c721def0d0340d94d1c1bbaa99467bc747d41010347f8ede0fcd26411305bbe1e8fae9aa939a292a0864240062776b4c7d4211e1803f63aa64c64ef3a4e232dc2775db52d00efe4bbf0e78dda7a7918d5a9a45d7b5803c6469cb7c459fc04305ac130075cf5d23e45ec7c3f62c670e540f72d1ee2876500581f029f6d3d7229ba47a0280c925668b21a2742166e22404823dcd6d39d214ab2410100581f02585e8e06958cd4a1ccaec3ed8cf3bdb70588e82880ce9ecf07634aa3e9a54101030dd16f4350aac063e1b456e333de7c1e560e90a9fce7651d20e7d4a9c6dcfd5403d7d9b35c47d2ba96c0feceb6518fc30e3b42ad807f3f2eef1d72ac883bab09f200581f0286f4b2179ba8524860b7e450cfe18dc55ba17262d6fef1d6d51ab5a6003c41010219ffff0219ffff037906523101ceecd07d728880dc9d32155fae3ceb2a977a5150eb35b11789123a03a5a91ade5d1c6fa1b2ec90c36cf6530e7e42455304c209453ad63f53c344e29603ceab691e0eb725a55b1b76d0b50126ee654cc5baeb408ac96b65587bf49ac27c03291120ea4d4c4b0b53a4d17cc32d356c44fd89c72fb0e205d5238e6a705d3f200333c8faf46a8cddd1ae3bdef9b46b7de79ad05f3717fe4d403a950a7d48b0959103d3c726e44719bc39a3b96029f7a5ca83f78c6d80bb165947fc855c03c27d38dd03ef19d72f8441dea78988bcb4d0422705d105261a8292854f9535a0aa7a122dbe03b0d14c6712bbd92156b2217b63a83f5e530d14c4e1a6deee4bd6cdac4264e681030e56738bbf0ef1fcd8f5b8a989aaa5686b06265f7bf66400f9ee6931caa2092703e01f7d1635f6e85946d5b25bded87b4f4a9d680b64a0c01b83fd99ec47e2f37b0219ffff03978c7be03a1277258287b0f0fde9dcd476830a3f6c0990130c6382ffacf607c1033086a4ce8e6387e3e99c9291688feca06331e7e34c8fefc0dd25acfd7cc08e8803ea70b45526f298c77420a2351fcc68680e2a0d8700fba767643ec2e1a98fa3b803ce397b5a8e6d05098b04344759be405067b86b65b24729c4deaaeb6e44d44b1603eb46984694a2a624d4d698e569e6c3a5f2e0075adbdb5aaeb169bcc144c26a1803a1d53dd26459a9847e725a313545989a25280f625ecf9b219d6331c896007ae10372cf128b89348755e0f1228951491ed24fcde7f9c8db6de1a428d5f68cbbd7bf03f20daf663c31f6f194f2bbc751b73f21f701368ccaab394feaf6e91c98f656c10377b06a4dcaeaa0d00619999155aae8a5afffee84c59df99f41ad7f5823adbbb7031fec72601dc0bba9fd945dae3786ca565ff0cb8d18a5aa139cee8d2656045e8703001dd9cb83982ba83c5ccad7e0b566904ad45331ffd2739484bf2060b7b1b44e03d5734dfcd69d450f45ca1860604be13cc08bf695c9044a5131fce4a85c6a252c00581f023e244924426fefd3abf958fabf77c4ec1025201e70fe160db37940d8460b4101035f5dc0405ccfb11fe6d822b066209da7b013c98e197ba3854e00449bdacaedf903a5be79097fbf077f0350ea3d685054dc41ad826f91cabe77a795243461e9232300581f02b78fc10c837d1109cca2fde028144a1df9b3bd556faa0f94b8791fe70da94101033a68e9df64582c7367eee8bd6705dd4979f21d0d9db97c47fd52c365898977170350e33b3cb98d1711d4a4bcbaa2138988a6f84e444e152511b5976498fdbbe77c034721f873cb021e80b5acda5e1c044e5bf122af04c377e8d0c02b4b0753039ee4033d5a6d829b95d28dc22c6766e4c952fc60fcd21937866758d50163a8eb52fa2e03344bf074fbf49049ac46a952711be17cff116f671b8fd75246df9c0c73e731b1039b17c33c2f1de119a468f1f207661b68837c319c8c4884a99490dd8f16685bc600581f02ec61a701614cf4b22ce1d47032f73631535415705db081d230ec223d249e410100581f02d8b52854fe55636aa1a5fbddf37668463679bffd70c71c0a54578d9a5ddc410100581f03a9c0b12a358af748439883e01d8d911e8963c1a29c4c7cc92b06c9def010410100581f03d64bb5e3fd519f1fc07dd7720aeadded5ee04198c15965c53fa06f04dee0410100581f0353b137d5d1f3879c92d66a766e74f0a1a6367031031778ef1155db46f540410100581f0353442a928f1bd24793df91f2465d32770820803eaeedc4435596cf662a10410102190416032e05ff535a3c6b077f341ef32bd009e5ed1261647943ac6422f054a9bb5ca9140219f6ff03687abea6fc80ff827e4c876ac05558a5d3d72a631f52411cb4163bba75fde7ab03870e4289f6f308ab66eaa2293f3eab0c93bb4212c3172fc8078053747f20a9610382336b17b1d97318bdb5ff96c61041488ad1360d1e89ff13612cdc7fe3b3c308030674c9d5dd57a746d4c4c7608bb30207aaa719fe6af2b94cc64158ce24c3326f0219ffff03ccb0fdb8d708ae5dec19d3bdc561b3f1f1d2bd1a8cd306cca070fe2dfebc935e03d8adb8ef233bfaf2cdfa26e7ad0e5b149a0d0df26f4c5fda6107f382efd9219d03ad34edd6b706701e3f0e3c6cd8791e2d3825dd62eefb4e733b4a704afae55c1f03f538ed1597abd39ade1cf4dc328f418aa4eb653401396bbe8e4038beb0e43b6403e4943a48c8b97d4d8ff91d90a91b20966d7d27b64909f7aeef5c7818b38eeace0378de875d7628eab074d26ec3776019b1741423d1c51a9a129065e47f7f0fd73503ce39b2a015a9fc417f1681c7489815c11ca0420a0f7c5e3337083f67031a7cb10369d386c877a5c42d60e5594c991ce219000e46d6bf508087f6f90805651d300203ec5c3ce090bd5f4d25a49ba91b8a6856022058ea606061ad8a8209cb8d478e3e03c1e27c7a0d8a58722b997ee1612cbf43dafd47578c9e4dd2cfde6e9546c469c203c0911615fa44503e966b5a774c9f900675fc14f873afa8b6f29f1c3a8277438a03c57dd69e22ddd2aa3070657e1c349c719a50c16e3bb0792deb484a369b2f03750308a0ea82b919be52ade351d6f5c8e125b8638e47192246ce0dbb0cf40b9dfdad03bebf039a18bc9117c2f8375d81aa77ea92d2bfe552700e372ae525d8233b2d05038c0424c38258903734bb836f8fe524da530e988105fcb323b29b1bc4d282aaa40335ac8cd2d325c357aed0c3bddaa0dcbc070a3978b0e7b452fd18677faa01d7f3037ebf4dc2a8fbe35dfafa6d6eb1d8e6634e01547e1358a7a660bc532cdfdb8aec0352c9d120860420bf2f9dfe85ecf4926fe7b5de1eae6fed1d68e99a8b64598228039669ed23cc647a86d1c6e042f48d56be39118c0ef3f90286c074f66653bed1a203cd45e87a5aaedde26f950e0adec0627cbf73fdfb2e89cac0e8b2f2946fbee0f303da54262243f410a2485d14b1e013e8dbd698edb81741047a246d5749e15e78090312432644f0a3f35c6bfe717ea2b92466273363d6a493f95b4aded29cecf6084f03f88afe4c65cfc6e999f0970f33648ed602bcf56931efbec04b71bbbbae48249c034f5fe61e4d02635ad695973532be05871dcddb1911088d8305d30b1b98a5fddc034dbf02c24c608aedc9791836e3258846126567758bee75a028962212a14e5b68034f75af9c69f7edcb176013ae3f1bbf51aa17cc85d057f10d51f8737d1ac78b3303a38b66bd993a5c4088d04b39c8a9c40be9f3ecbe4d01fccaec47654cee3de8780373793e1cf0db849d2d418ad00322d23f92579485b71e34006eca91fa257c1dbb03e2af18176585e726683e75bba2398cc5d4c0835d557d30bfaa1745e9ec7cc0dc03c7d136331db8442a4cfba0ddf69fd83cde91f0a94c7ecb553003d73447a4273d038e54501dceb4646894573895a9cf1f2b58c09136dbdbbd5947ad0753201be07a03470c58fab211cb45474c23487220ca89fdf5b3c504f83f794b6134da7b90923000581f02bc6f9382b71b0b88dc2b9dd28216f08dc68b425dab83bedf7eb07cee54944101034106e4b24a0128d967c1dabe605b09b794a7ffe0b0d54ad22e43a5d76752660d00581f028f75b6b098ec82a0c84e06ac818140007e2e7fb495016091a1e356f19f69410100581e022e4721db373702efede46b626fed52523caef7228719551059ef4bdcd7410100581e0230342b73ed6ed28ea1b0c89b7b27fdae729cce04a44db8addb61f3f51641010219080400581f033e4b1655414b5bcef64c22afa31f7030d799e4676b811b90dca623a656b0410100581f03b1e41e116d35c7d8ddf88347970761fbbfb056fa1c4de254dcc75cc22b80410102190680039abee336ed1642c94a44e222dbfd71c644fa515a8832f922de49675ea2e2bdf100581f029d233c337d55d796245a496950452b479489096dc2aea4d516405f489d5e410103c0169c6e5a6e6cb8210f6ce4a44664b94a2d187e5273a664cb11a574915d697c03c594cbcc1c81ca05cb1577190bb3d0cffa4e66949be4d0f09747cae24d1458a80219dbff0310ec2d9d7b74d79f0a1633ac94eaf4886d548581e9ae814b627d76caa357df0d0219ffff032cc9847bcfa6c16419f91b40c601502b958e0d8b7a637bc8e905469df21b6ea9038942c37051fd35d64874906774b87a014bc29741d440064c5dd13ab04d9e57ce0219ffff03d8c9876b81648bcc7251a20a1d8f0c2673dbf1c7345cd85dc2ee11c954ba2d4903e1ccb2e149f1c5f4a82d3c96a6842ce1f53d0b7dafcf30f1bd083968e30c85f603df8431a227e204ee0015d73b2e56ac85b23b8086de9406d57ee91c761b1b9bf9037ad13cfe5bc587180d05ae19405ffd704f928a17c9f19c4b8879ef640688013803ea9c4e928b46ba73bcd2859df8e4bd7fae60b00764433e7b42f2d9d49e1932d20360483dd52a8121cea5634ea614e24be6d68fc70d9ff2b8eb8e23fe35e2030c6803dab407924804dd52e571634c7673ce9cdccf2a3544e46452a782d0fddaba8f40031a96764379d42c2ced47276ebde232f788287d0f6ee090a21677fb7d1672af3a03fcf4c08e530b0ccc0a1bce7ed651e979a4d1b23a9d57f68056f4aeae069d02320371e47d13887e92a305525c548a1be207ac0065a9bb50a7156004aafb9faf0e0f00581f022bcd2e549f18e6480d7816248bfcacf946c538b71c56df4c2a2a7d550291410103e933359e71c109722a2e88b80c210eaa420976b2cff90abe166b6f4a0202852800581f03b125cff02402183cf3ea46beb302e13643dd3d5cbb8c23f58805a7649980410100581f035b37e7b5e347ed3a606c449898a0e06294e87c360686ffab956aab7f8b80410102188203092436fba7bba0824be11cb08b19dfae8f8e3193f1c10e236fb301342dd7fac400581f0259f44f8d3460f6f75efb834adc9e81bb3deafc556e0df1f60a1e01eab583410100581f02326e1c01eae9249185e57a42b03c4d3325edbdad0a3f9b07f7807d8a7b4b410103e81098ed9ed84613c8e09d3c3cc81118da43311426bc76557d0352c27a414dbf00581f02f383538d9eb3c69bbe39acddd01a27c0808cd8decfbd194b29dad3528afd41010367dc9ad2a0d949fb53f501e843b9c21c3ffb6f88a74bf68326cb042756e2bb1703a140f671074f58d656b87e9714a52ff228b7a4b208ed41b81ec4ebc84fdd53610364ea757286a07b8cc63c519f1ec3c51aadab743901cebca17f0083181fd0e08000581f02fec764da5baf6ff045b12d8d08c5069a29ee34d5c8d3e1f2405a3ebd20f741010219fdfd03757d8eb69b91707c4c9c0ff6afe7f408fb11b96f426da457bdcd11f3c879241903c420d55189a6a30e0950f71f6bba73ccf466b8f0d2dcd773b20e8e5211985a8303ef67954a81f7a47359eea41a0b8b4dbcb10106b7949a99d56c5d6642496cf16503cf5655d90d4b566de4e091287926c7212d414645fcaff8636886c42c7637bfc60313052c51d1e016d0c8065904d6a715433af77bc456e215b76db451c9e56ffcbd034ef3152070953d7fc01dafe23d7cf64a9966a494f3567f26ad49c0230660160703923e1609d520e31796bb2262701385162d8749eedc0ec34158a9d9cd30dc350b03db547d6b7cee4233f06beb30e1cb533ba631c6b339bbc1562e7e2b3083673b560365ab9cd0c00d698f199f525dd902614c3ebcecf2b21cc44de5995df282599db603ddcb2fa658d2a92faa172b78c29d2a48876bfe172da50f3b5f98b6b5b392064c03cac1021e3ac4924ecc0f9aa56d103fb2bb66072c918590bdcb871006601df8d40324b958796f976837daf312d654f6a5ae649bb13b150f81e69c4f95b8afebca0f033b4a22076c569a5f29c2fa88cea1be22218d1d66c3391d20ddb455a4a1817677034c05c2e92635fa3a28d258fe6d8a7e6be10209eb39e5cb126baa08363ba5a5b1036ce669bce77d4740b7cfc79a0b8428e22db95a482560e65912c374b784462d300219ffff0359a3916407d6b3e6f7c91e6758d887d486e7320e25fcbaa0f15148792c0180df0367ae66c69a320e95da9120065d0b4dc19b3ea44f319470c7d4f900edf04cdbd1032b2a19933cdb8f3ad04b31055d79d5764c4ee5e23e7b119776e0d0dfc8967c2f03d2564362a8f21df497b83fe339fab6e525709f35290fcdf43874932d2e654cb603c15db4ab9b186bae961bd4b2444cf5d48d0462727fc21334ff57737b8d6af9ff03db6b61dfd11d372fd79be95d846ce8750faba76890ba1f2ae1c170ff6d1ac87b034af04eaf0d3fffe2417eb960869b5b4d456b9396fb187afa60af974b4119e051035242f00f4af0bceea956a9b95e2cac1c35c09e7ecfe4d88b66ad93a6c9cee1ec033b8b99bdbf829aac3b144cf68d807dbbcff6d19827c8051c9b6b57dec41d1e5203fd637567c56966246d4ecd83101dcd130bd2cf4966c8fd22cf8bd4d273f98cba03021e2e7dfa8a64d238f45e95b8aab2392b3cd303de9231434349eb741562d78d03797501338dd142e54455da7008136358fb9d73b0cf89a06ab1221243505d404c03d572d963da84052f32020aefc76bc225ac1dc9137bf8067c30f0cd862564861d037f9a5b0ae6c697a42272338ca6e2f16bd0894281145ef90a91a3cc1d5495e06003d8897dfed7b898bef4698ef2f16ad14a6fbb87c135f215cd6059bdc738e6e1c203113bee9def2c660b2320937db7a033d999ec9cd657eff6a542f05f6f2eb3cb4403a76e3c5119b96fae44a990f371a8629907f1c5a0a10630eb73fad1049cc9ae2703fa2d7a89cec0161063f60a3f6becb939a960b557326e94d80631502b9866da3d00581f02946ec982352b9f0c49367871fa1fea201837be31bc10a5755fb429c85080410100581f02089711b4d3289a17bd6ec0c9c52acb65d197e7fe81c5aedae44375e54d4941010354862a3e3598f006d2fef34bc5760966a3253ce4cc4e88c8d6e0fc3839ec311800581f026d4a9c29332db86300748b676bd50a9e93e814573e926d36543f5454beb5410100581f02e4843c471c7575d2a5eb432e38f803358d1e27037d632662807253281f2d410103f42354639cfb703465d5d5cf2a291df5125125835ff793afaf9ab4522e61e49303c2fb23c050fc929b7a69f896e1b016409ef022149c9ba4d69d9b48fda0f2101c0310a9dc5a859ff119556b55c02144c4652ba4d1714848ca2d7e545c6d69010cc003e2306b2bfcf89785ab8194f1df2e17b6aaa56c60b8fdfeebb1c9c37e3a88d4e7033a43d74a978dfd8317cd152bd094791ce342d9596a9461181747e2aea7aef87a0323ce21d72d9d8d733dec361b0417eea6d8b21c6683008eddac665d772f640a6d039099f4a69c2c87e3afbdf2685ba71564fbab2e612a7e12ec5c97eb866c86625503341c8c5d907bd702b44af3c998adc3afcfb7b3a4d642808e92369deb37880acf01410400581f027cf649e8be9ecf97e19f41e02a2be0dbb2b1b69e1a606605684254151022410103d1d83031eb8504b3ea5201274ed2a3b9168fe144d41bd286b7c41b092374677203e295aa3e0f8210562ce7d9dd8002d833a8a4defa905b3d569e8fcd682bbe60d30219ffff035f0ab30cfe93589acaf9f240fdaf386a42ff6fa999d68a20f0c584e51964ed5b0219ffff03eae4ede78725d3a07ed61bdd9c764fbff02dccb0f265ea492d39aa03a4397dec033e59babf76bf0d7a7b2470914a279d0df399fde2b429120e3de9208e3a9a1ed8031d88e9bac189e4491cf3f3bceb8e45b0dacfae918219ec75f7e474a89d6d768a0219ffff0219ffff05581d02a5fa90033150abf3b07df5f92892db1a0663cb87a9e7b14cae5d616007011907a90219034005581e03dde240918589b3f05f25af22b19d6068525fc1962b2a89d7fa00bb54400c01480164d1499bccd80003a9c2bd9b79f9c89a2d01dd5f3b6a65bbe66cb78a168ed4a25b799520882ec86905581e0357580035b10d6027ce99cc3e99b81aa54e51091ed5f381d9a59364dae00c01465f7f37b3900005581e03b610e4a5a06caa54789d942e0425588c33fa5f11cb1afe340ac55851400c0146e45b0e25831805581e03448d444cb72524c51895e16974035a73c9c0e95f78e54ac662f095b62004020219fda9033af474d904201340a7890ba202be54d5194d291ab3a1cd1bf10773cfe60be8bc03f053a63ca1b94617b8969859c009670868b758a0dc95d52af6defa7b81e12234031011ecceed538a23d9e7e2ab4f241ca936fae8e80b7f9923dbffa0a304ba516d03b1255e15a79e66236eaa3cc02a337ac1171720fcca79420fee48b26d4c3b459c037aedb243c31839473017cfd13e231d2494987f83c0b49abed2cdef0c270b9d9a03010e318b9af40a377cc7643aa3c1307d1fbf7e05baf87467113cf9b5a72150dd03a453b1c55fcc61896dc69a4525ef04aae4302a547137e27156665a83aee160ef031143f0eaf1b55b2fdfaf0bb1ebc8aa06947bee7edd4b2f020b4ed49f23c4985f030fdc9707c9103769a9ae6999fd424b047edc1a5bf858f277529c0d48ce30d2a003d6429855326321b51f1b0c96ac476c475d6626eada10f13213b64bd85cfcac4603f3c8f5a5e4e963a57341008cf380e5d25678932c61dd84327a4b4ed20bd86db2038bdd40e16ce840faf26ed5cc2631d995ae17ef25e4643c8195bd8bbb4d4fad9503bd3cac6e90c3911a242eb9c9d85b54147b64781738afe1b8b3a33ae0869060b80392cdaf09ac4bf2afaaa3d03059c04e325c8fa9411bf96a4189235b96508c1003037a31bb0a9fd4589d71943abd2e9ca2c8a7e96f577d25faebefa0b01fee45e8670219ffff03cf2e28d0f7100b25f4b087d815ee42fd1c8460125ed2d7db0ded405e9e9a853a032ec3abe722d577ceedaceadc271f47e2ad5c5e0395c21fa748c422ecfb83ca2c03287fcba5e640716de844c65fe78f812cd4112197860bd2294327afa4c032873b034354379a7c2cb1fc062fcfc77a985a2002a4081869f85379acb3c44b36d85d7003e9771e75ff7ebce0f7f9edeb534bfcf8b3889bbfd11dc63236ad857b4b38fdc00356b18689d3dcf5822b657751ec0d154a9e3399addc443117b35e37acc1e3252b035a9d82fb839ff8ee78058480ca68b3bd6465af1ce96e4a6b65a334a97fbeb17603bd30e7779e32290de3eeecc59fec266c7d6a8e27221e661bc82472710feff3ff0219ffff03688c9489497e9c65dc6b28b5082f27d28392806d65d8f130c90b10685ad72aa20339105ae1d12bd98b39bcb52395d9e65dcf3f12d2e8faacef1fa53593574fa3640219ffff0219ffff03804e9ee447a697e3bf74ac6434e8f249217406a799405361e283820909d92ee403b6dad99255049027d9e397b8d111bc0f7bcbba0014a097bdbfd87d6aa60f7f4b03b3c18e4fd04bd6f20125cd4b88593f500bc99bb09c639d8e8ff655f99b13c16303abd8a64a7507ad9b90cce0fd0b9b2f1d43456f677ecb5abbb7abacc3a5837e6f03ed453670e6a3c7916d3e811cf60fa3ab657996aa036cabb790d362a852c8a30d039c8226a1e75afa60cd4542e42765640fc060bedea72f5a2ca6136a4ec53f7daa03c753e493133a360f2960a5dc883c9ba9309e8ef099cc71a78d49385eb6968886035b64d0973638d4639cfd9fb821046ce4008209158e1de7467ddd7d5d620e7a0703b38a91937641d653dcd16600291e30c747c79682e87bbe88dbdd2104a425942e0364d998001bfd46dede7569d949c65b0ff1d5465787c997d8febe049d07bf68a203c061a18b77a0a5e90bd0be7af2c2992f922bf65d260837473085f81c7e00f147032a063cde310e292daec1b43827e61ab8bb26b8e4fa0800d5e02bc4a72688755803e6a662dc9636f5b39e812e1ee05b372f9fc72014134fc1f9ec84e77cbead2e780348b48bdbfe39e1e7046a4915ce087539cbdcf84f02e97121cb96d659d1b57e6a03420d5c806d7b5a868967d9267651cec74efdb6fbbe49176929e2bc56e97678c703ef40c42ac21df04d6f630029b2e2c76cb25beb68e64c4a8720edf98278478c2b036e5ff2646a93d143b8319bb1df1f068a4f7f3e6ffae905a657a00761e7aed45303520570da363c4570a074d43ff5828e1114155c6c05659b3b1779590287f92a8103f4eeaae732a2c89fda94c6592b4d7372a79c78d1e800d26fd0c0b3c054e70c1003e97daa614c331ee1f68db3a0d674eb43cb63fd0d3c55161f4c52713f2c1fbb2a03127ba5eaa4b916704eee78ccacc5f9554d06c7e6a96e91985820087977c6b0850341048e79ed38a21cba6b52ae38983d9165ee6f68c585b951af80ea80ad30327301410803984dc61ae8726bc337abe0f3f350c2a77ba781e9d9d094b3fee0189c6f0ba82803a1f2803284635a3ad6f1126bfb6f03f1da0c80e4c261fd412d23f17fe2a79c1803f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e032bf1cfa9061688a2178dde1255fdd5bb16f7638876a150ca8e4bcfe8c007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581d035865924c4673e3a2accaafe8965cde4c55ef08ec0f839a2ab850d9e007011bffffffffffffffff0458aa608060405236601057600e6013565b005b600e5b601f601b6021565b6057565b565b5f60527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f80375f80365f845af43d5f803e8080156070573d5ff35b3d5ffdfea2646970667358221220f8a584f5571c1942ce287f04e503e7a62bf0c9046c8825d7d0dba2e353309c8e64736f6c634300081800330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304101005820024a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff954579f40d0be111b823962043702cabe6aaa290780005820021f36870d18f32a11fea0f144b021c8b407bb50f8e0267c711123f454b963c0549cbee534b5d8a6280e01a14844ee8af350399c7f0218a0005821032145acb98307a6ee0a7e55af7e0621ab3b904201f33c4f7a315f20dcf42521304101005821036be4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d280420100005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054d547ca5d6b50dc5e900a091978597eb51f18f9d1005821032a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a820549cbee534b5d8a6280e01a14844ee8af350399c7f00582103fca21eb5d5c6da818e5b622645d572839f4d25f61120447edcf2902dd4db33b04101021905dc05581d03668e1baa2a48f1f1db7fa6c67cce3520eb35278e1f509ca545d019400f014674e116dc4d0018aa0219400101410105581e03d3a58c5be67e7b00e0fc18d0eff5e1c3b43b586029c2d17eb6a0605d400c01470150835691200005581e0377af71ca91bc20c65fb366b48552163b7a9b2267efc97edb1e4573048004020219e5b703a3a4ccee448b953b645d6dea7ac5aad58e5c2a6d164d4a818a8a6f099de3adf803d86611a5275c50c0560af85e9feeb868136a92c7f9d46f34cac729f7adadd99d03b56079a0626bfdb9ce9979b1a60d9d24a74f57f125b25c4a51fa20e35d7ece8503ee72561a3c79d08f4561487030a1a12f266a113ed7335befac6d4e9a91e1800c0336e5eb129012f5b660244e14d055ac7e33297d2c752b7b58e3f15acd1514be2603460d3d7a8f2858cc56de6b4c2ebe4b59a27794e58434b5347ccae8149a4dbc1603df1cc4c35bb637ad6f4e9e469e600287f3832cdbd4ceb952e4c634aca5cbc8f9033d62fc3af550e529744158a893b784b0e75783cfd8ff379b6ab041fbdb678b68038a190327fc6238b23cb6acdb8218672e5d3595b6732b39bf9dc4f0c1b522cd1d0322f306207683487832ff5f3bdb267e5196c667b82e3cd7969201af65529323fb039b79e1aba4f213089d6415e50911b6750a0c50257e2cec81322b7c820c4ab01303d7f815248713d5ecfb2d55990e67ab1f37523219d94f0ab5529e68a5af9355e0034275e456d7716beac0dd8ddd25615c051d32b632cc6d5112d27617df2ddf513403062b8d5c892f80e9c7efa3e23c0e9c87e9d345dbf8c7168b983860874664f2d60219ffff031a79ab9359341e7ed00fc6e1c39e9d6070b3d4512370ce68ad0923ff3333e0e003997d8c72f725c5252014f82e47529b4d420f000ce724bc03477e699e20e5d945035d37a78aa427ca5a8c1987d3f77f8c72f5bb994dfc332b6628c4232c3a0deae403cfd4b65ce1c3ff2f6a154dade875dfbb8346fee6311b2f629ae15f3b68cea5e5037084b3237f998bcc7b4e9e5a45be606b0ca1b3a297d250031b6b0407b3a9aba7032304e5784b698d5926521f47f93fa4db58218f576b930f3330c2ae6fbde2e7ba03ea102116b5fdb7106c49ac824ee0b5ec4ccea557e26c6be92e23b130a68dd30703324a08e6fc48480752d8f5c6a7d2c635201572c9210c10d80e8f9d89cb1c203e037b1450e9495f092325d46560e0122774ee6c80be6e52678c467c7419e2a2a9a0039da03db61621b56f77a3228dfdc1aa8154a24e02c948829586ab08253262728a03001eaa147e4536dbd443143311d4fdc005e2521b6b07bd087fc1058534915e0f0219ffff038047caa23b719aee7261db9d11ee040c0450157233eea635d864f28a751e00110347c41d863c9f49c65161cf6682947c7d4fe4885a964604d8923af5f2134c930a037a806dd3056e0e8122624cb3f801db4f7ea078a3ff4e16b9564712c4005bf95403dfb9f607adba618b67feef05a07587c8436ec40f2465a10e1505bab4a8c24d9203ea97e1829662cd13cd302b2d86ab8aca362f75a14858d0b8db0b23ede51415c1036fe71f26a5d73a1b522ab35dc10b26f9b82c18ae66e8ad5d6ba759dc38ef76fa0219ffff038d06982d06e3d82e70d9387c9dbd1b5525d9f5684762c81385a7daf2bc53eb0603cbe325dde2f61be4a7ad553ec50c87266e8581a7364dff81e5c624658b8d66d803c64a74e076b9b9e7a36d1f91aa7d5bfec2b6901f986d82ec42e272c9abec8b20039537e19e0b3f4a16a8f60d78e9422246ea2943dbbc7faa6084fd2bb9920f2b1c03789f2a94ff05a2c42610a38cb941826f1cc1cd7954418ee7efc3ab094ad34b6203fb547b7f63408c97615bce1cf4b76d6cb7d2c647291c42c4eaa9a113e908f186033fb5d671ad83ad7f91ca7c48f593dd352f21705e5b9eecd7d8d3e58eb49de17d0300df0265a0cde8d35515750c1fe80e32fc76ab419ad4867efa820279343861ed03fc898b7b2bba6e8b632442bb54e28ef9ab36368461f1098643b0a1848c9f87ae03c7d5a4d299a1fe1bc33117c5a9fceeb2ff2815e8553e6fc3b015ba6b5a3d929803e59fe1907ab7d93102399244459d4a0c7e23f4d266bd555619f9c4f3094d534503ff7a52c5a5c0574d3fad48a5344e942f8a7558157e82f8145deee69d866aef2d03c39c8018ea36b8caaed429051ad680f4674642cc6e82b2a511a4c429910d434b03bfe14e767c9c77b7b81faa8ecfaea13c268d8632d61a23c7d3020767780d608b03249538ef2c78fe73c588f71ca2d46c0a27f5fd26a61a444900436e97123e6d8203f1d583768a7ae3bbe998cefd2576491943dcdff7531ae8834df70ee789c5123203e17a2b71ab0d181f96c3de0dc8b82d7a5c7522d9d748cc14535cfce0d3aa453803d8a4c3b23b2ed6c1442757a76b9f21e8ac2eca28d9ea5c82b3d46d6d90e7828003d6768c63743f821574da4af4dbf46c3d3117029de84a2fe707ab92f82746c2df03e79bbe303beb35a52b2094df1ac85e5dde8fbb0a88a787499945b6c642a744c103f1b53756bf376134f74ea70dc5de062456a47627e3978767fd84b2b3e40bc161033f334c5de1b9aeab378406c102baeebc004af224fa85080367476be3f03470120329a0a59bbdf9d2d60bdff98c1b03aadb892127e87b459c10a11545a2dbcba57e03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0319eefa8d9f6dd11d2b2b5092172310dac5a947a60b95319754f323a42007011bffffffffffffffff0375342f05b8194d97a3260cb8d6ed29fb7dbceeb4c88d5ef4407ddf060764634a04582d363d3d373d3d3d363d73afd3d38fecebcdda6d934979d4ac7f17330a96ca5af43d82803e903d91602b57fd5bf300582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0420100005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3041130219804005581e03876e3d0e7cab531d20aa7541b10b8743208f7efcd298b0aa5edf0380000701182d05581e03cbfdf9df5823ee33379bb789f93070f284f1102e40332d00f95db9c0200c0446797e0c828ad003c6f47116601f7c013c57184e539e6e214fb565cc76c4b338744b3322676d952c0350761f9209f72811f12c36cb4bafd1ea4b50e1b7ffe7856b0f9872ec87ee6d2d01410305581e03e066f0d0397a73666219f48f97eb48fd4e4eed3a1c1bda29e4ecb059300c0248011a4db8e85af000032bbc731986da0a5532d7b3becc56649d1f2521bb142f6df640934f80e5c2e71401410505581e0361ee2e386e999c52053312c8b239aae180e3afc7562885a9d5456b6e2008472a0393408e70000346a8b3eff5b399ef125f10745e9674aa5844cf4a6ea25fbb4aa854c53327486b05581e03213f817d24db9bf8fa9fb97884ca3edb6f10719cef11c7f92fb963b630040102191f3f0307831bcee8fccf776637386aafc2672a09099d83519422c7084f873b8d054b26034dcd19849295ee6b15ae4812bb2a63d91286e31b817821075d99d4e89d5b0f8c035703de5094a3900107ac845831bfc6f41e6b5523f7364a418de726855e844175038132447e591409580253f4e736ae601142530265b4564f7ffb08e54cb184c733033149f686cf88b1a60005e8f47ebff8b36687c279f6b248ec85f6d3779ba26ba6036129381aa1f2ef2e7fce91931c70b378449de80ee0957d080181fe6bda48261303a2a8b471660e20684054dd384e28d2fe2d7d92885535e3dad6f5905bb746b68503c97fe67b00a02e9c2fc8f4b45a5ae5531d98cc119420e61b9a795f6b0682e1f30219ffff036644a5bff302ed361fc57f31719394a39e7e805cefed68ba0b8ea410b35ebfe303025fb54c0173438fab549b687be85f7f05b87bd3a241838960e57401853f37540368130911702c781d9e05245aa6c070f259f957b1b1e16dad2f1e15c3af513e6b03dbb9307b0805f5ed5299104ba674ca1e6f0550b20ec60623f5cb11f300f11ea503fd707fefd2b8d92534200360adde9b75704bded712f190fea19982659c5a37d1034b09d483b6eb9240f5a0ed5a53e165d5993b0497ce525f180b425c628b72ab23031049a7a485f89efa04b2dccc5be1e26d78d66201f7f271b77d1751444cc83475038cad601761a96789a7bc871e58829aba43ed2327102a1d68fa3de77b21bbcf0e031b650e89f166de94d79a8048aa9e3aeb5aa160f9846cf53188849c5e7a9dc40a0398612e9ab147f55587b84c3300b5f877354aa9683f2fcda8e5b432ff6498215a0337c18d6e1d295b9a140448d9d64d5b0d209dd6a92d231b21aabf8f65fe25486a033458d09dc3923a69319796b0778f0aef5c6f83f0736830ecae0540bb5e3b1ac703777c2c621a5e2fd1af75bf5f0ad6071796991ea636780842cba388b51f2c1f130219ffff0374d04c32c14ba6e3dcb952660b7379f3557b7f7ae8b53a782e6500a54d661b0d03e187477eec121f85afdf983b5a956d2b7b57c1be69803797072ce1ae6f3e0a7e03001ea6333f086fe65c7e17fe6189ef61c62a12051a9fa7e792973dbc9bee49c50373284e2ed5d302f1361f3e18e27c35e5e5afebeae7e7e51b192bf59fe53d34fd03bbfdd2c216b24ea9302106cbecf6f4225f5ee9e748b73cec005ae0c1bef6ddff0353709ac42615afcc6150ae46217301a4e166e2ef8c59c59d01e80fb28b9fa7e303dc79de6474ba8592052df37563cafc19ea655f1e56904a79f065ce7f24e0d36e033f151b2be537e7acc36feb6a701c9f4a1b1f230c9774431ae9d9f853901c2a0203c92a3f21e24d4633211a78192490ad4bd4c3f4c886c6dd356db4404a2e3c8d3f0219ffff0377a2695c614d78b651a7fb038724307048c392d053fc1705984138f2500f76ff039b96c6f4cfa06c1d0e58ff2586c4b2e5b12498c1b3dac792f1ea1d332bbeacca033c388ad5d9755605f252782c9e7919cc43663d3be01a8611bf55fec635fbcb420219ffff03a773278bde42b140461df36aeafe2a70cd25e45057db1632c9cec79e9b48425b038f9e5bb3ae89f1c6e9010c79d181f4ad0e8abffd76191af656fc54642ff58ffa030e0cd06d8d262bfa544454ec70f4ad7a80bc162d2b3df6088fd17ab6eed7d60d03945f2706c34101e09639f2f0b98ca9bf46ab34f376e7534f67c47491b78486430399cdccca27e3ce0d2fc308c4d86b88d96cf0360547005491ddb0a8ffb78d98ed032b9eae8853290efec184c345045a8a270f583de2f26f9212b73659d1ec76dc8e03aa3d1846e5a5b02d444851025df561cda8dee8394695ac0533b51951fbb873cd03b95e391d07bde6ed8d62b2472ab43bb0e7c2ef8de6956ad8e4baba0e67c1634203def5354ee0fe2d1eac7d078902055465b3a154fc76d4ccaacc65da6be62c2cc403f5a9cc12660e9709c125303894c5d0f6211ba74a2ea5f9b943052a9e926e0705039adf65e76564e6842434eac9c782f1e4c94e1f67127704ba0e8bc2a3e07dff0603e7a5a86a5d08e1b92a1ed89f433ce2535b18b8aaff3f6af523ce798aff6ec3eb039f7cf591b89145ed5e0ff91bb89ca341c7e5f1747d7fe24554b75ced5fb7577903b7dbc3f2ffd8a07ea41fbb299f503f22345525a1cbd186a0f70bd33938042f3b032f060a33c60878a61cbf6b9978a9e1fe99b149fb40dfcc263b82a3373e92270905581e03bebe3c3f2ea0db8e81adf2946c991f6973ad12fbcc790ddace27149ac0040805581e0337a74d91bda0f2609d607d0f14fa8aa5ca43d780f91c5cf6a45ef219500c0247037c374a090aa003e7dd2888f2a4d15b261d9f1f942fe1dd694e6395057827aa1db6c5a0f07ddb1305581e03fe55374430828e2448566128b5634e4f724926dbe2545a520d7dfc3c800c024701bc089b21de4903435980c1731af9d4cdff811ed6668155f33ee45feddf0c7034f74734d7689a2b0368b275401ab34ecb101a13b11f468f1fc03aea6970b9df8d3281820506a7491a0342ead5994ba5eeb581c59348ce7ef7a1bf58a833df19abd45f9b712b97bf439905581e03ad9c8e86b4185e6b0da26eee3756274bd9521a29563b0f80b8d3e40e900c02480dc12f9953df289d05581e030a8786ad77d595d53e954635c3fe530b75b9b9035b2a26228104e774600c0147041530f9c6a00005581e0341cb4e0773f8c67e25577bf68897d7cf947109d6ee655cf474757bd2f00c17469140b4adf1e805581d02f6307ffca44321d6ab56c43f5a43f74167a35787e14227e5aa82019f0c1901c34731107a9ad7640a05581d0269467e5a5007809e1087da075cb06ff6194e5fde9134344ceb97ced704010218a005581e035413d78821673f94fa78b17fcb772970846a25651e0daaf7cf9f65e380040b02193dfd0383d43968c925af658cf236fabcb00a3b76349b72c34e0d8c2506fef4bb0a42f0030ea1c231416b790877ad0963101cf143335e05ea31fb2988c883e069d84c0b4203f967af7df184e065d8f4f42b27f65ace03980ce585b4153f7d4d4605ad17349503e7612489499ab54b1c7b0342504493402bca0a273a33d3ce8bf25fe753dec1d6030d1642f7d3519c5aaa25d1482fd1f4f53e4357fac9a7e1435f1f4f0a5f433bea03e27dc70f3fcf6d52dd72231e703dbce0ddac86c7ae4efbc10adc8e638c046e2f03ef4f85f360fe0084fccbb089db88be1bb406b40e1c94efc87e612b043364529603bb8f4d5a0467ac39027788a27e754ced6a02fe4737af298b0f10dcf348435945030f9253d0f4c5fbca519cf1261448b104ee9fb7fb8b1236d5ce6ea31a830f3c7a0354b2338b73bcec274efa3b287ccdf14df8d533ab992f3b32a4ab9e45d1282b9903ed342e202f2e179322297efeff09d411e66c297d1f306c6d983b5922eccad41c03a3ede3eaa89a4099647e6ad3cca19f6e21a934c8b1949d0c41c07dac83816a590327479c07e3d0c8d9792ffd1bc8b92f6790a534e271873d0d5a94b70bed6508870371d3a9d8381082db52a9bd7a1a27586f222226d173ae8ae1a817664db7491d3e0219ffff03fcc930c7f9adfb952d09033499ae817895afffc0a262bd9d230a8bfd4f9d444b03b15ef442a905db09f980cae3eddd67f798688145ceb9ddeba3b7c42d212fd7c0037358acdc022dac569889e7e60b5d156488dc1f39d8afd71180b20ca32e7d7aac03decc6b2b7f0414c77d141ec0feb870b4da5dd674c67768625383e17d8803883203d72895bd4c6cd02bb894451aca59c60597aa537785a2c977a02c7fbf207eed3e031b9a42bbf94b9300dd1d2b7e414a120210c0bc67d0fdf372d147716318fd806f033c7720efa88ab3c0ffe424f57f33712f2f61e36fe0b8314ec291991da7454478039c83b756e44e02e4170e8310a3e7d77d1d8d25721d7bcbac02794c054f8fbfe20384058061388c2b9fad4682a15dc5d6d70bf142e53517ab1e1d4279d8a9ed53830379b61533a63ae803c1916308c371af6d861f075b2b2d426c684d58b95fa7622703ea2ca061bd860c1f91290d84afcd7805bff88bd7786a64b16199a20928398538037efb4d04fd6b8e90aa91f67ce27b4f3dc75316f7de42033250dc65d64d9fa2e30383f1a04163b82ec8f2eaa40c71ce6c0bc5278b397d618445852ee18335d9b97a0337278f39e5e4264cb9de74ce19b3774ffcae3a4673637661f4ed71a5ca849fda0219ffff03b6a7b8a3fb7dbfc5d3c0e0d935e31a711ca9a9e8fd76d634572de9c17fea207b037d5c2321414c6038041c172b845428d8dea74b1dd9da92051eef608ac164eada0219ffff0310b7218d7a7d3e086db85ba9cdd9cf50b2306afa7cd86434df79189a8840a4b703ff8596a7608113f0ae164d7909c8197a1bc9dbadcce6345d6b5ede35acef5614032530433d2b4142ff87e39b1a67ccbfb9413841f3d189c66eaa63b562ef6369d30316d433095af2bc376fa4039bd1d7f7bffbd5b783fa0a2c4105080c7729883f4d038a6f17219caef018a965d9721757a7e774462675cc2c39ae97259c98bb4d0e53036ac3b10ef3320ddb762cc24fbd45296fba865911c72435908c5a5a8cf0beac2103106b05e60566977fb394157d54a5a33f111a1c1baccd8b0401f89b0c3045fd1c035610be4c3e25cb2cda924d7a3ea72ddc93e5cf05ec5249174481dac35f2074ea03aea5bb946b480746f8365ab2cdc38d7f2c68afb51c78e3340b2f7a67ffd9e3fc03831c1ff2b372c312b011ca46be8060476f16c3fef8117ed7f640f97212915c8803e6b29534dddaebfce51c20a023424174903f1eb3ec882a0e1d2760e39f021f5f0318dc1e8abd30f4d203eca1d8b5bd4cc832b85b3bdd9dc8e35965b2fbc395d33c03836ecee1549e3bc94d9257d58bc687256a3ea02c9c19becbccbf0a6db7c375f2035f71a70c71fdd65314204b77fb65751c5af627b631bce65d6d919b580fb62fcb03266ff3e3e939bd58a96dd5f8f8c89145a2913e68ef3c699753bf405af939393a03bcbd415965e05cdc9f3b595d9c505eecffe013f15f853241a668dac31756b3460339fdf4d5fcb8cd305fa7f90acf2660544203b4726ae8834e53ec830f5cba565405581d02eda174effb279ff55057a58ed47d7bfe8babd4a5fd68adf1ec5f44430c02471e6774a5fce00004594e9c6080604052600436106102e95760003560e01c80638c4bce1c11610186578063bc197c81116100d7578063e30a5cff11610085578063e30a5cff14610f48578063e6de628214610f5d578063ec3161b014610f72578063eeb7286614610fa2578063f23a6e6114610fb7578063f637d95014611057578063fcb0582214611081576102e9565b8063bc197c8114610b99578063be2b110514610ccd578063c23b60ef14610d09578063c8b1031a14610d93578063d88d8b3814610e15578063d91443b714610e97578063dd7202d814610f1e576102e9565b8063a45d784111610134578063a45d7841146109dc578063a6fa6e90146109f1578063abf98fe114610a24578063ae1cdde614610a5a578063ae87381614610a96578063b12773fb14610acc578063b766311214610b84576102e9565b80638c4bce1c146108ad578063993f3639146108e05780639c6a2837146108f55780639ed170841461090a578063a1cc5e1314610946578063a1cc921e14610976578063a2bdde3d146109a9576102e9565b80633cc660ad116102405780635eecd218116101ee5780635eecd218146107ed57806364d84842146108025780636ce5d9571461031557806372eb36881461083857806377e84e0d1461084d5780637cf12b90146108625780637df7dc0414610877576102e9565b80633cc660ad14610658578063439fab911461066d578063441a3e70146106e857806345f5cd971461071857806349325bac1461074b5780634e8912da1461078d5780635e586cd1146107c3576102e9565b80631dbd1da71161029d5780631dbd1da7146105045780632505c3d91461054a57806328700a1514610586578063296e2f371461059b57806329e411ac146105cb578063333ac20b1461060d57806333eeb14714610643576102e9565b8062717542146102ee578062aeef8a14610315578063019b417a14610340578063049f5ade146103765780630b3a2d21146103b45780630ebdac03146103e7578063150b7a021461044c575b600080fd5b3480156102fa57600080fd5b506103036110bd565b60408051918252519081900360200190f35b61033e6004803603606081101561032b57600080fd5b50803590602081013590604001356110c4565b005b34801561034c57600080fd5b5061033e6004803603606081101561036357600080fd5b508035906020810135906040013561112d565b34801561038257600080fd5b506103a06004803603602081101561039957600080fd5b5035611138565b604080519115158252519081900360200190f35b3480156103c057600080fd5b5061033e600480360360208110156103d757600080fd5b50356001600160a01b0316611150565b3480156103f357600080fd5b506103fc6111f7565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610438578181015183820152602001610420565b505050509050019250505060405180910390f35b34801561045857600080fd5b506104e76004803603608081101561046f57600080fd5b6001600160a01b03823581169260208101359091169160408201359190810190608081016060820135600160201b8111156104a957600080fd5b8201836020820111156104bb57600080fd5b803590602001918460018302840111600160201b831117156104dc57600080fd5b5090925090506113b0565b604080516001600160e01b03199092168252519081900360200190f35b34801561051057600080fd5b5061052e6004803603602081101561052757600080fd5b50356113dc565b604080516001600160a01b039092168252519081900360200190f35b34801561055657600080fd5b5061033e6004803603608081101561056d57600080fd5b5080359060208101359060408101359060600135611421565b34801561059257600080fd5b5061033e61159b565b3480156105a757600080fd5b50610303600480360360408110156105be57600080fd5b50803590602001356115a5565b3480156105d757600080fd5b5061033e600480360360a08110156105ee57600080fd5b50803590602081013590604081013590606081013590608001356115cc565b34801561061957600080fd5b506103036004803603606081101561063057600080fd5b50803590602081013590604001356117c5565b34801561064f57600080fd5b506103a06117e9565b34801561066457600080fd5b506103036117f9565b34801561067957600080fd5b5061033e6004803603602081101561069057600080fd5b810190602081018135600160201b8111156106aa57600080fd5b8201836020820111156106bc57600080fd5b803590602001918460018302840111600160201b831117156106dd57600080fd5b5090925090506117fe565b3480156106f457600080fd5b5061033e6004803603604081101561070b57600080fd5b508035906020013561183d565b34801561072457600080fd5b506103a06004803603602081101561073b57600080fd5b50356001600160a01b0316611981565b34801561075757600080fd5b5061033e600480360360a081101561076e57600080fd5b5080359060208101359060408101359060608101359060800135611992565b34801561079957600080fd5b50610303600480360360608110156107b057600080fd5b5080359060208101359060400135611a40565b3480156107cf57600080fd5b50610303600480360360208110156107e657600080fd5b5035611a64565b3480156107f957600080fd5b50610303611ad4565b34801561080e57600080fd5b5061033e6004803603606081101561082557600080fd5b5080359060208101359060400135611ada565b34801561084457600080fd5b5061033e611c4b565b34801561085957600080fd5b50610303611c53565b34801561086e57600080fd5b5061033e611c5a565b34801561088357600080fd5b5061033e6004803603606081101561089a57600080fd5b5080359060208101359060400135611d99565b3480156108b957600080fd5b5061033e600480360360208110156108d057600080fd5b50356001600160a01b0316611e5e565b3480156108ec57600080fd5b50610303611e6a565b34801561090157600080fd5b5061052e611e72565b34801561091657600080fd5b5061033e6004803603608081101561092d57600080fd5b5080359060208101359060408101359060600135611e89565b34801561095257600080fd5b506103036004803603604081101561096957600080fd5b5080359060200135611e9b565b34801561098257600080fd5b5061033e6004803603602081101561099957600080fd5b50356001600160a01b0316611fc2565b3480156109b557600080fd5b506103a0600480360360208110156109cc57600080fd5b50356001600160a01b0316611fcb565b3480156109e857600080fd5b50610303611fe9565b3480156109fd57600080fd5b5061033e60048036036020811015610a1457600080fd5b50356001600160a01b0316611ff7565b348015610a3057600080fd5b5061030360048036036060811015610a4757600080fd5b508035906020810135906040013561209b565b348015610a6657600080fd5b5061033e60048036036080811015610a7d57600080fd5b50803590602081013590604081013590606001356120d3565b348015610aa257600080fd5b5061033e60048036036060811015610ab957600080fd5b508035906020810135906040013561217a565b348015610ad857600080fd5b5061030360048036036040811015610aef57600080fd5b81359190810190604081016020820135600160201b811115610b1057600080fd5b820183602082011115610b2257600080fd5b803590602001918460018302840111600160201b83111715610b4357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506122a8945050505050565b348015610b9057600080fd5b50610303612369565b348015610ba557600080fd5b506104e7600480360360a0811015610bbc57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b811115610bef57600080fd5b820183602082011115610c0157600080fd5b803590602001918460208302840111600160201b83111715610c2257600080fd5b919390929091602081019035600160201b811115610c3f57600080fd5b820183602082011115610c5157600080fd5b803590602001918460208302840111600160201b83111715610c7257600080fd5b919390929091602081019035600160201b811115610c8f57600080fd5b820183602082011115610ca157600080fd5b803590602001918460018302840111600160201b83111715610cc257600080fd5b509092509050612370565b348015610cd957600080fd5b5061033e60048036036080811015610cf057600080fd5b508035906020810135906040810135906060013561239f565b348015610d1557600080fd5b50610d1e612549565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610d58578181015183820152602001610d40565b50505050905090810190601f168015610d855780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b348015610d9f57600080fd5b5061033e60048036036040811015610db657600080fd5b81359190810190604081016020820135600160201b811115610dd757600080fd5b820183602082011115610de957600080fd5b803590602001918460018302840111600160201b83111715610e0a57600080fd5b509092509050612565565b348015610e2157600080fd5b5061033e60048036036060811015610e3857600080fd5b81359190810190604081016020820135600160201b811115610e5957600080fd5b820183602082011115610e6b57600080fd5b803590602001918460018302840111600160201b83111715610e8c57600080fd5b91935091503561256e565b348015610ea357600080fd5b5061033e60048036036060811015610eba57600080fd5b813591602081013591810190606081016040820135600160201b811115610ee057600080fd5b820183602082011115610ef257600080fd5b803590602001918460018302840111600160201b83111715610f1357600080fd5b509092509050612910565b348015610f2a57600080fd5b5061030360048036036020811015610f4157600080fd5b5035612b06565b348015610f5457600080fd5b50610303612b37565b348015610f6957600080fd5b50610303612b3c565b348015610f7e57600080fd5b5061030360048036036040811015610f9557600080fd5b5080359060200135612b41565b348015610fae57600080fd5b50610d1e612b70565b348015610fc357600080fd5b506104e7600480360360a0811015610fda57600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359181019060a081016080820135600160201b81111561101957600080fd5b82018360208201111561102b57600080fd5b803590602001918460018302840111600160201b8311171561104c57600080fd5b509092509050612b90565b34801561106357600080fd5b50610d1e6004803603602081101561107a57600080fd5b5035612bbd565b34801561108d57600080fd5b5061033e600480360360808110156110a457600080fd5b5080359060208101359060408101359060600135612cbe565b62093a8081565b6110cd82612d27565b611113576040805162461bcd60e51b8152602060048201526012602482015271494e56414c49445f41535345545f5459504560701b604482015290519081900360640190fd5b6111288383836111238634612d4b565b611421565b505050565b611128838383611ada565b60008181526015602052604090205460ff165b919050565b61115933612db8565b61119c576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6001600160a01b038116600081815260116020908152604091829020805460ff19166001179055815192835290517f9085a9044aeb6daeeb5b4bf84af42b1a1613d4056f503c4e992b6396c16bd52f9281900390910190a150565b60408051600680825260e0820190925260609190600090826020820160c08036833750508151919450506001820191631f7df70160e21b91859190811061123a57fe5b6001600160e01b0319909216602092830291909101909101528251600182019163be2b110560e01b91859190811061126e57fe5b6001600160e01b031990921660209283029190910190910152825160018201916357439c0b60e11b9185919081106112a257fe5b6001600160e01b03199092166020928302919091019091015282516001820191630441a3e760e41b9185919081106112d657fe5b6001600160e01b0319909216602092830291909101909101528251600182019163d91443b760e01b91859190811061130a57fe5b6001600160e01b0319909216602092830291909101909101528251600182019163326c242160e11b91859190811061133e57fe5b6001600160e01b0319909216602092830291909101909101528082146113ab576040805162461bcd60e51b815260206004820181905260248201527f494e434f52524543545f53454c4543544f52535f41525241595f4c454e475448604482015290519081900360640190fd5b505090565b60006001600160a01b03861630146113c95760006113d2565b630a85bd0160e11b5b9695505050505050565b6000818152601860205260408120546001600160a01b0316801561140157905061114b565b6001600160a01b038316831461141857600061141a565b825b9392505050565b6114296117e9565b1561146d576040805162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b604482015290519081900360640190fd5b61147683612de7565b156114be576040805162461bcd60e51b81526020600482015260136024820152724d494e5441424c455f41535345545f5459504560681b604482015290519081900360640190fd5b6114c783612e2b565b611512576040805162461bcd60e51b81526020600482015260176024820152764e4f4e5f46554e4749424c455f41535345545f5459504560481b604482015290519081900360640190fd5b8261151f85828585612e8a565b5061152a8483612f7f565b7f06724742ccc8c330a39a641ef02a0b419bd09248360680bb38159b0a8c2635d6338685876115598988613244565b604080516001600160a01b0390961686526020860194909452848401929092526060840152608083015260a08201859052519081900360c00190a15050505050565b6115a36132b5565b565b6000602260006115b5858561337c565b815260200190815260200160002054905092915050565b6115d46117e9565b15611618576040805162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b604482015290519081900360640190fd5b611621846133d6565b611667576040805162461bcd60e51b8152602060048201526012602482015271494e56414c49445f41535345545f5459504560701b604482015290519081900360640190fd5b60006116738585611e9b565b9050600061168387838686612e8a565b905061168e8661341a565b156117375760018111156116e1576040805162461bcd60e51b81526020600482015260156024820152741253131151d05317d15490cdcc8c57d05353d55395605a1b604482015290519081900360640190fd5b6040805133815260208101899052808201869052606081018890526080810187905260a0810184905290517f0fcf2162832b2d6033d4d34d2f45a28d9cfee523f1899945bbdd32529cfda67b9181900360c00190a15b61174286868561342d565b7fed94dc026fa9364c53bc0af51cde7f54f3109b3f31fceb26d01396d80e20453b3388868989876117738d8b613244565b604080516001600160a01b0390981688526020880196909652868601949094526060860192909252608085015260a084015260c083015260e0820186905251908190036101000190a150505050505050565b60009283526007602090815260408085209385529281528284209184525290205490565b600454600160a01b900460ff1690565b600090565b6040805162461bcd60e51b815260206004820152600f60248201526e1393d517d253541311535153951151608a1b604482015290519081900360640190fd5b6000611848836134f1565b905061185382612de7565b1561189b576040805162461bcd60e51b81526020600482015260136024820152724d494e5441424c455f41535345545f5459504560681b604482015290519081900360640190fd5b6118a482612e2b565b6118ef576040805162461bcd60e51b81526020600482015260176024820152764e4f4e5f46554e4749424c455f41535345545f5459504560481b604482015290519081900360640190fd5b600083815260086020908152604080832085845290915281208054919055829061191a83838361354d565b7fb7477a7b93b2addc5272bbd7ad0986ef1c0d0bd265f26c3dc4bbe42727c2ac0c85856119478785613244565b60408051938452602084019290925282820152606082018490526001600160a01b0386166080830152519081900360a00190a15050505050565b600061198c82612db8565b92915050565b61199a6117e9565b156119de576040805162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b604482015290519081900360640190fd5b6119e7846137e4565b611a2c576040805162461bcd60e51b81526020600482015260116024820152702727aa2fa2a92198989a9aafaa27a5a2a760791b604482015290519081900360640190fd5b611a3985858585856115cc565b5050505050565b60009283526006602090815260408085209385529281528284209184525290205490565b6024546000908210611ab5576040805162461bcd60e51b815260206004820152601560248201527408286a8929e9cbe929c888ab0bea89e9ebe90928e9605b1b604482015290519081900360640190fd5b60248281548110611ac257fe5b90600052602060002001549050919050565b60245490565b611ae3826133d6565b611b29576040805162461bcd60e51b8152602060048201526012602482015271494e56414c49445f41535345545f5459504560701b604482015290519081900360640190fd5b6000611b358383611e9b565b90506000611b42856134f1565b600086815260086020908152604080832086845290915281208054919055909150611b6f828686846137f7565b611b788561341a565b15611bd4576040805187815260208101879052808201869052606081018590526001600160a01b038416608082015290517fa5cfa8e2199ec5b8ca319288bcab72734207d30569756ee594a74b4df7abbf419181900360a00190a15b7fc6ba68235f3229e53f3a95cda25543ad54c0f6df2493a06c05fb930bea7966fe86868686611c038a87613244565b604080519586526020860194909452848401929092526060840152608083015260a082018490526001600160a01b03851660c0830152519081900360e00190a1505050505050565b6115a36138bd565b6202a30081565b611c626117e9565b611ca6576040805162461bcd60e51b815260206004820152601060248201526f29aa20aa22afa727aa2fa32927ad22a760811b604482015290519081900360640190fd5b611caf33612db8565b611cf2576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b600554421015611d44576040805162461bcd60e51b8152602060048201526018602482015277155391949151569157d393d517d0531313d5d15117d6515560421b604482015290519081900360640190fd5b6004805460ff60a01b19169055600d805460019081019091556025805482019055600f805490910190556040517f07017fe9180629cfffba412f65a9affcf9a121de02294179f5c058f881dcc9f890600090a1565b82611da3816134f1565b6001600160a01b0316336001600160a01b031614611df6576040805162461bcd60e51b815260206004820152601a6024820152600080516020614ddf833981519152604482015290519081900360640190fd5b60008481526007602090815260408083208684528252808320858452825291829020429055815186815290810184905280820185905290517f0bc1df35228095c37da66a6ffcc755ea79dfc437345685f618e05fafad6b445e9181900360600190a150505050565b611e6781613954565b50565b6301e1338081565b68010000000000000004546001600160a01b031681565b611e9584848484611421565b50505050565b6000611ea6836133d6565b611ee15760405162461bcd60e51b8152600401808060200182810382526021815260200180614dff6021913960400191505060405180910390fd5b6060611eec8461341a565b611f1b576040518060400160405280600d81526020016c2727a72fa6a4a72a20a126229d60991b815250611f39565b6040518060400160405280600481526020016327232a1d60e11b8152505b90506001600160fa1b038185856040516020018084805190602001908083835b60208310611f785780518252601f199092019160209182019101611f59565b51815160209384036101000a600019018019909216911617905292019485525083810192909252506040805180840383018152928101905281519101209190911695945050505050565b611e6781613a51565b6001600160a01b031660009081526011602052604090205460ff1690565b680100000000000000035481565b61200033612db8565b612043576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6001600160a01b038116600081815260116020908152604091829020805460ff19169055815192835290517ffa49aecb996ea8d99950bb051552dfcc0b5460a0bb209867a1ed8067c32c21779281900390910190a150565b6000838152600660209081526040808320858452825280832084845290915281205483906120ca908290613244565b95945050505050565b6120db6117e9565b1561211f576040805162461bcd60e51b815260206004820152600f60248201526e29aa20aa22afa4a9afa32927ad22a760891b604482015290519081900360640190fd5b6121288361341a565b61216c576040805162461bcd60e51b815260206004820152601060248201526f2727aa2fa2a9219b9918afaa27a5a2a760811b604482015290519081900360640190fd5b611e958484838560016115cc565b82612184816134f1565b6001600160a01b0316336001600160a01b0316146121d7576040805162461bcd60e51b815260206004820152601a6024820152600080516020614ddf833981519152604482015290519081900360640190fd5b6121e083612e2b565b61222b576040805162461bcd60e51b81526020600482015260176024820152764e4f4e5f46554e4749424c455f41535345545f5459504560481b604482015290519081900360640190fd5b826000612239868386613b9e565b905061224633868361354d565b7fe3e46ecf1138180bf93cba62a0b7e661d976a8ab3d40243f7b082667d8f500af8685876122748986613244565b60408051948552602085019390935283830191909152606083015260808201849052519081900360a00190a1505050505050565b600080828051906020012060001c9050600160fa1b6001600160f01b036040518060400160405280600981526020016826a4a72a20a126229d60b91b81525086846040516020018084805190602001908083835b6020831061231b5780518252601f1990920191602091820191016122fc565b51815160209384036101000a60001901801990921691161790529201948552508381019290925250604080518084038301815292810190528151910120919091169190911795945050505050565b6224ea0081565b60006001600160a01b0389163014612389576000612392565b63bc197c8160e01b5b9998505050505050505050565b836123a9816134f1565b6001600160a01b0316336001600160a01b0316146123fc576040805162461bcd60e51b815260206004820152601a6024820152600080516020614ddf833981519152604482015290519081900360640190fd5b612405846133d6565b61244b576040805162461bcd60e51b8152602060048201526012602482015271494e56414c49445f41535345545f5459504560701b604482015290519081900360640190fd5b60006124578585611e9b565b90506000612466878386613b9e565b9050801561247a5761247a338787846137f7565b6124838661341a565b156124d7576040805188815260208101869052808201889052606081018790526080810184905290517ff00c0c1a754f6df7545d96a7e12aad552728b94ca6aa94f81e297bdbcf1dab9c9181900360a00190a15b7fcc00f2179d127845242252f3c3b6b238c5ed33c2e933179f09653cfb1cdee7ca87858888866125078c88613244565b604080519687526020870195909552858501939093526060850191909152608084015260a083015260c08201849052519081900360e00190a150505050505050565b604051806060016040528060268152602001614e206026913981565b61112883838360015b61257733611fcb565b6125bc576040805162461bcd60e51b815260206004820152601160248201527027a7262cafaa27a5a2a729afa0a226a4a760791b604482015290519081900360640190fd5b6125c584611138565b15612612576040805162461bcd60e51b81526020600482015260186024820152771054d4d15517d053149150511657d49151d254d51154915160421b604482015290519081900360640190fd5b600167080000000000001160c01b018410612669576040805162461bcd60e51b8152602060048201526012602482015271494e56414c49445f41535345545f5459504560701b604482015290519081900360640190fd5b600081116126b0576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f5155414e54554d60881b604482015290519081900360640190fd5b600160801b81106126fa576040805162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f5155414e54554d60881b604482015290519081900360640190fd5b60006001600160fa1b0384848460405160200180848480828437919091019283525050604080518083038152602092830190915280519101209290921692505050848114612784576040805162461bcd60e51b8152602060048201526012602482015271494e56414c49445f41535345545f5459504560701b604482015290519081900360640190fd5b6127c384848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613cab92505050565b61280284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613e2792505050565b156128525781600114612852576040805162461bcd60e51b8152602060048201526013602482015272494e56414c49445f4e46545f5155414e54554d60681b604482015290519081900360640190fd5b6000858152601560209081526040808320805460ff1916600117905560149091529020612880908585614d2b565b508160166000878152602001908152602001600020819055507f7a0efbc885500f3b4a895231945be4520e4c0ba5ef7274a225a0272c81ccbcb78585858560405180858152602001806020018381526020018281038252858582818152602001925080828437600083820152604051601f909101601f191690920182900397509095505050505050a15050505050565b600061291b856134f1565b60008581526015602052604090205490915060ff16612976576040805162461bcd60e51b8152602060048201526012602482015271494e56414c49445f41535345545f5459504560701b604482015290519081900360640190fd5b61297f84612de7565b6129ca576040805162461bcd60e51b81526020600482015260176024820152764e4f4e5f4d494e5441424c455f41535345545f5459504560481b604482015290519081900360640190fd5b6000612a0c8585858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506122a892505050565b6000878152600860209081526040808320848452909152902054909150612a7a576040805162461bcd60e51b815260206004820152601d60248201527f4e4f5f50454e44494e475f5749544844524157414c5f42414c414e4345000000604482015290519081900360640190fd5b600086815260086020908152604080832084845290915281208054919055612aa58682858888613e6b565b7f7e6e15df814c1a309a57686de672b2bedd128eacde35c5370c36d6840d4e9a928787612ad28985613244565b604080519384526020840192909252828201526060820184905260808201859052519081900360a00190a150505050505050565b60008181526015602052604081205460ff16612b245750600161114b565b5060009081526016602052604090205490565b600a81565b604081565b60008281526008602090815260408083208484529091528120548290612b68908290613244565b949350505050565b6060604051806060016040528060218152602001614e4660219139905090565b60006001600160a01b0387163014612ba9576000612bb2565b63f23a6e6160e01b5b979650505050505050565b60008181526015602052604090205460609060ff16612c1f576040805162461bcd60e51b81526020600482015260196024820152781054d4d15517d516541157d393d517d49151d254d511549151603a1b604482015290519081900360640190fd5b60008281526014602090815260409182902080548351601f600260001961010060018616150201909316929092049182018490048402810184019094528084529091830182828015612cb25780601f10612c8757610100808354040283529160200191612cb2565b820191906000526020600020905b815481529060010190602001808311612c9557829003601f168201915b50505050509050919050565b83612cc8816134f1565b6001600160a01b0316336001600160a01b031614612d1b576040805162461bcd60e51b815260206004820152601a6024820152600080516020614ddf833981519152604482015290519081900360640190fd5b611a398585848661239f565b60006341917ff960e11b612d3a8361400d565b6001600160e01b0319161492915050565b600080612d5784612b06565b9050808381612d6257fe5b0615612da6576040805162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b604482015290519081900360640190fd5b808381612daf57fe5b04949350505050565b600080612dc3614020565b6001600160a01b039390931660009081526020939093525050604090205460ff1690565b600080612df38361400d565b90506001600160e01b031981166368646e2d60e01b148061141a57506001600160e01b03198116635c5c333960e11b14915050919050565b600080612e378361400d565b90506001600160e01b031981166341917ff960e11b1480612e6857506001600160e01b03198116630f47261b60e41b145b8061141a57506001600160e01b031981166368646e2d60e01b14915050919050565b60008481526006602090815260408083208684528252808320858452909152812054820182811015612ef6576040805162461bcd60e51b815260206004820152601060248201526f4445504f5349545f4f564552464c4f5760801b604482015290519081900360640190fd5b600086815260066020908152604080832088845282528083208784529091529020819055612f238661409d565b8015612f4f57506000868152600760209081526040808320888452825280832087845290915290205415155b156120ca576000868152600760209081526040808320888452825280832087845290915281205595945050505050565b6000612f8b8383613244565b9050612f96836140c3565b156131985781612fa65750613240565b6000612fb1846140d6565b905060008190506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561300757600080fd5b505afa15801561301b573d6000803e3d6000fd5b505050506040513d602081101561303157600080fd5b50516040805133602482015230604482015260648082018890528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905290915061308d6001600160a01b038516826140e9565b6000836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156130dc57600080fd5b505afa1580156130f0573d6000803e3d6000fd5b505050506040513d602081101561310657600080fd5b505190508281101561314a576040805162461bcd60e51b81526020600482015260086024820152674f564552464c4f5760c01b604482015290519081900360640190fd5b858301811461318e576040805162461bcd60e51b815260206004820152601c6024820152600080516020614dbf833981519152604482015290519081900360640190fd5b5050505050611128565b6131a183612d27565b156131fa578034146131f5576040805162461bcd60e51b8152602060048201526018602482015277125390d3d4949150d517d1115413d4d25517d05353d5539560421b604482015290519081900360640190fd5b611128565b6040805162461bcd60e51b8152602060048201526016602482015275554e535550504f525445445f544f4b454e5f5459504560501b604482015290519081900360640190fd5b5050565b60008061325084612b06565b905080830291508281838161326157fe5b04146132ae576040805162461bcd60e51b815260206004820152601760248201527644455155414e54495a4154494f4e5f4f564552464c4f5760481b604482015290519081900360640190fd5b5092915050565b60006132bf614020565b60018101549091506001600160a01b0316331461331d576040805162461bcd60e51b815260206004820152601760248201527627a7262cafa1a0a72224a220aa22afa3a7ab22a92727a960491b604482015290519081900360640190fd5b6001810154613334906001600160a01b03166142d5565b6001810180546001600160a01b03191690556040805133815290517fcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d29181900360200190a150565b600061141a6040518060400160405280600f81526020016e1195531317d5d2551211149055d053608a1b81525084846040516020018083815260200182815260200192505050604051602081830303815290604052614355565b6000806133e28361400d565b90506001600160e01b0319811663012b8bc960e11b148061141a57506001600160e01b03198116633348691d60e01b14915050919050565b600063012b8bc960e11b612d3a8361400d565b613436836133d6565b61347d576040805162461bcd60e51b815260206004820152601360248201527246554e4749424c455f41535345545f5459504560681b604482015290519081900360640190fd5b6134868361341a565b156134e057806001146134d6576040805162461bcd60e51b8152602060048201526013602482015272494c4c4547414c5f4e46545f42414c414e434560681b604482015290519081900360640190fd5b6131f58383614417565b8015611128576111288383836144ca565b60006134fc826113dc565b90506001600160a01b03811661114b576040805162461bcd60e51b81526020600482015260116024820152701554d15497d553949151d254d511549151607a1b604482015290519081900360640190fd5b6001600160a01b03831661359c576040805162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015290519081900360640190fd5b60006135a88383613244565b90506135b3836140c3565b156137b357816135c35750611128565b60006135ce846140d6565b905060008190506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561362457600080fd5b505afa158015613638573d6000803e3d6000fd5b505050506040513d602081101561364e57600080fd5b5051604080516001600160a01b03808b16602483015260448083018990528351808403909101815260649092019092526020810180516001600160e01b031663a9059cbb60e01b1790529192506136a7908516826140e9565b6000836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156136f657600080fd5b505afa15801561370a573d6000803e3d6000fd5b505050506040513d602081101561372057600080fd5b5051905082811115613765576040805162461bcd60e51b8152602060048201526009602482015268554e444552464c4f5760b81b604482015290519081900360640190fd5b85830381146137a9576040805162461bcd60e51b815260206004820152601c6024820152600080516020614dbf833981519152604482015290519081900360640190fd5b5050505050611e95565b6137bc83612d27565b156131fa57816137cc5750611128565b6137df6001600160a01b038516826147e0565b611e95565b6000633348691d60e01b612d3a8361400d565b613800836133d6565b613847576040805162461bcd60e51b815260206004820152601360248201527246554e4749424c455f41535345545f5459504560681b604482015290519081900360640190fd5b6138508361341a565b156138ab57806001146138a0576040805162461bcd60e51b8152602060048201526013602482015272494c4c4547414c5f4e46545f42414c414e434560681b604482015290519081900360640190fd5b6137df84848461487c565b8015611e9557611e9584848484614981565b6138c633612db8565b613909576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b6000613913614020565b6001810180546001600160a01b03191690556040519091507f7a8dc7dd7fffb43c4807438fa62729225156941e641fd877938f4edade3429f590600090a150565b61395d33612db8565b6139a0576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b60006139aa614020565b90506139b582612db8565b156139fa576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b6001810180546001600160a01b0384166001600160a01b0319909116811790915560408051918252517f6166272c8d3f5f579082f2827532732f97195007983bb5b83ac12c56700b01a69181900360200190a15050565b613a5a33612db8565b613a9d576040805162461bcd60e51b815260206004820152600f60248201526e4f4e4c595f474f5645524e414e434560881b604482015290519081900360640190fd5b336001600160a01b0382161415613af2576040805162461bcd60e51b8152602060048201526014602482015273474f5645524e4f525f53454c465f52454d4f564560601b604482015290519081900360640190fd5b6000613afc614020565b9050613b0782612db8565b613b47576040805162461bcd60e51b815260206004820152600c60248201526b2727aa2fa3a7ab22a92727a960a11b604482015290519081900360640190fd5b6001600160a01b03821660008181526020838152604091829020805460ff19169055815192835290517fd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a295999281900390910190a15050565b6000838152600760209081526040808320858452825280832084845290915281205480613c09576040805162461bcd60e51b815260206004820152601460248201527311115413d4d25517d393d517d0d05390d153115160621b604482015290519081900360640190fd5b6202a30081810190811015613c1a57fe5b80421015613c60576040805162461bcd60e51b815260206004820152600e60248201526d11115413d4d25517d313d0d2d15160921b604482015290519081900360640190fd5b50505060008381526006602090815260408083208584528252808320848452825280832080549084905595835260078252808320948352938152838220928252919091529081205590565b6000613cb682614c6e565b9050613cc181614c7f565b613d0b576040805162461bcd60e51b8152602060048201526016602482015275554e535550504f525445445f544f4b454e5f5459504560501b604482015290519081900360640190fd5b6001600160e01b031981166341917ff960e11b1415613d76578151600414613d71576040805162461bcd60e51b8152602060048201526014602482015273494e56414c49445f41535345545f535452494e4760601b604482015290519081900360640190fd5b613240565b8151602414613dc3576040805162461bcd60e51b8152602060048201526014602482015273494e56414c49445f41535345545f535452494e4760601b604482015290519081900360640190fd5b6000613dce83614d1e565b9050613de2816001600160a01b0316614d25565b611128576040805162461bcd60e51b81526020600482015260116024820152704241445f544f4b454e5f4144445245535360781b604482015290519081900360640190fd5b600080613e3383614c6e565b90506001600160e01b0319811663012b8bc960e11b148061141a57506001600160e01b03198116635c5c333960e11b14915050919050565b6001600160a01b038316613eba576040805162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015290519081900360640190fd5b613ec385612de7565b613f0e576040805162461bcd60e51b81526020600482015260176024820152764e4f4e5f4d494e5441424c455f41535345545f5459504560481b604482015290519081900360640190fd5b60008411613f59576040805162461bcd60e51b81526020600482015260136024820152721253959053125117d352539517d05353d55395606a1b604482015290519081900360640190fd5b6000613f658686613244565b90506000613f72876140d6565b90506140048583868660405160240180856001600160a01b0316815260200184815260200180602001828103825284848281815260200192508082843760008184015260408051601f19601f9093018316909401848103909201845252506020810180516319ee6e3f60e01b6001600160e01b039091161790526001600160a01b038916965094506140e99350505050565b50505050505050565b600061198c61401b83612bbd565b614c6e565b600080604051806060016040528060268152602001614e20602691396040518082805190602001908083835b6020831061406b5780518252601f19909201916020918201910161404c565b51815160209384036101000a600019018019909216911617905292019485525060405193849003019092209392505050565b60006140a8826113dc565b6001600160a01b0316336001600160a01b0316149050919050565b6000630f47261b60e41b612d3a8361400d565b600061198c6140e483612bbd565b614d1e565b6140f282614d25565b614137576040805162461bcd60e51b81526020600482015260116024820152704241445f544f4b454e5f4144445245535360781b604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106141755780518252601f199092019160209182019101614156565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146141d7576040519150601f19603f3d011682016040523d82523d6000602084013e6141dc565b606091505b509150915081819061426c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614231578181015183820152602001614219565b50505050905090810190601f16801561425e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50805115611e955780806020019051602081101561428957600080fd5b5051611e95576040805162461bcd60e51b81526020600482015260166024820152751513d2d15397d3d4115490551253d397d1905253115160521b604482015290519081900360640190fd5b6142de81612db8565b15614323576040805162461bcd60e51b815260206004820152601060248201526f20a62922a0a22cafa3a7ab22a92727a960811b604482015290519081900360640190fd5b600061432d614020565b6001600160a01b0390921660009081526020929092525060409020805460ff19166001179055565b600082826040516020018083805190602001908083835b6020831061438b5780518252601f19909201916020918201910161436c565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b602083106143d35780518252601f1990920191602091820191016143b4565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405280519060200120905092915050565b6144208261341a565b614464576040805162461bcd60e51b815260206004820152601060248201526f2727aa2fa2a9219b9918afaa27a5a2a760811b604482015290519081900360640190fd5b600061446f836140d6565b6040805133602482015230604482015260648082018690528251808303909101815260849091019091526020810180516001600160e01b0316632142170760e11b179052909150611128906001600160a01b038316906140e9565b6144d3836137e4565b614518576040805162461bcd60e51b81526020600482015260116024820152702727aa2fa2a92198989a9aafaa27a5a2a760791b604482015290519081900360640190fd5b8061452257611128565b600061452e8483613244565b9050600061453b856140d6565b60408051627eeac760e11b815230600482015260248101879052905191925082916000916001600160a01b0384169162fdd58e91604480820192602092909190829003018186803b15801561458f57600080fd5b505afa1580156145a3573d6000803e3d6000fd5b505050506040513d60208110156145b957600080fd5b810190808051906020019092919050505090506146ce63f242432a60e01b333089886040518060200160405280600081525060405160240180866001600160a01b03168152602001856001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561465557818101518382015260200161463d565b50505050905090810190601f1680156146825780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909a169990991790985250506001600160a01b038a16959450506140e992505050565b6000826001600160a01b031662fdd58e30896040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b15801561472457600080fd5b505afa158015614738573d6000803e3d6000fd5b505050506040513d602081101561474e57600080fd5b5051905081811015614792576040805162461bcd60e51b81526020600482015260086024820152674f564552464c4f5760c01b604482015290519081900360640190fd5b84820181146147d6576040805162461bcd60e51b815260206004820152601c6024820152600080516020614dbf833981519152604482015290519081900360640190fd5b5050505050505050565b6040516000906001600160a01b0384169083908381818185875af1925050503d806000811461482b576040519150601f19603f3d011682016040523d82523d6000602084013e614830565b606091505b5050905080611128576040805162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b604482015290519081900360640190fd5b6001600160a01b0383166148cb576040805162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015290519081900360640190fd5b6148d48261341a565b614918576040805162461bcd60e51b815260206004820152601060248201526f2727aa2fa2a9219b9918afaa27a5a2a760811b604482015290519081900360640190fd5b6000614923836140d6565b604080513060248201526001600160a01b03808816604483015260648083018790528351808403909101815260849092019092526020810180516001600160e01b0316632142170760e11b179052919250611e9591908316906140e9565b6001600160a01b0384166149d0576040805162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b604482015290519081900360640190fd5b6149d9836137e4565b614a1e576040805162461bcd60e51b81526020600482015260116024820152702727aa2fa2a92198989a9aafaa27a5a2a760791b604482015290519081900360640190fd5b80614a2857611e95565b6000614a348483613244565b90506000614a41856140d6565b60408051627eeac760e11b815230600482015260248101879052905191925082916000916001600160a01b0384169162fdd58e91604480820192602092909190829003018186803b158015614a9557600080fd5b505afa158015614aa9573d6000803e3d6000fd5b505050506040513d6020811015614abf57600080fd5b81019080805190602001909291905050509050614b5a63f242432a60e01b308a89886040518060200160405280600081525060405160240180866001600160a01b03168152602001856001600160a01b0316815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360008381101561465557818101518382015260200161463d565b6000826001600160a01b031662fdd58e30896040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b158015614bb057600080fd5b505afa158015614bc4573d6000803e3d6000fd5b505050506040513d6020811015614bda57600080fd5b5051905081811115614c1f576040805162461bcd60e51b8152602060048201526009602482015268554e444552464c4f5760b81b604482015290519081900360640190fd5b8482038114614c63576040805162461bcd60e51b815260206004820152601c6024820152600080516020614dbf833981519152604482015290519081900360640190fd5b505050505050505050565b602001516001600160e01b03191690565b60006001600160e01b031982166341917ff960e11b1480614cb057506001600160e01b03198216630f47261b60e41b145b80614ccb57506001600160e01b0319821663012b8bc960e11b145b80614ce657506001600160e01b031982166368646e2d60e01b145b80614d0157506001600160e01b03198216635c5c333960e11b145b8061198c5750506001600160e01b031916633348691d60e01b1490565b6024015190565b3b151590565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10614d6c5782800160ff19823516178555614d99565b82800160010185558215614d99579182015b82811115614d99578235825591602001919060010190614d7e565b50614da5929150614da9565b5090565b5b80821115614da55760008155600101614daa56fe494e434f52524543545f414d4f554e545f5452414e53464552524544000000004d49534d41544348494e475f535441524b5f4554485f4b45595300000000000041535345545f545950455f444f45535f4e4f545f54414b455f544f4b454e5f4944537461726b45782e4d61696e2e323031392e476f7665726e6f7273496e666f726d6174696f6e537461726b576172655f546f6b656e73416e6452616d70696e675f323032325f32a2646970667358221220dceb72817044db7cba290582a0d8c7b21878ca86d2edb87a60b1165772a90f3664736f6c634300060c00330605581d025dba804f502587e8a0fb0d45ad1b866f5f960e5b8d9df5832cd320f80701194e9c0219410003a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e039514075af4709e53a68f694977c262b9d76dad40f83dcd99f6285ed2b007011bffffffffffffffff05581e035935d015a71bf39a45564d81b570e8a9abe65134393b84af73bae020700c0147231ec694b7209705581e03aa44ed4e1ea9fea3cb93c3d9cfb96064c8f40613787aa86b80e75059600c01440e4e1c0005581e031f71da916ad518097bd8951ee2743723f432e2d8cb97c381efc9124ed0040105581e035918506b63a4d7512a138cca2d4fbf24edb2749999c1aa6c10dc7ae6f004070325b9b2f44148c4566767487e185898435b1f6208244269abbd283c935d82128a05581e03f0a0d5e3f3526ea043cae579087eadd9d87e618b8529b57064fcaf9bc0040105581e031a7e1ddc82abda670972b8b03c30e4bb834cabf202e864012cfeb058800c16472ca2988972ce0003016a4d4263a71ae9dcbdbb826f813c87d6006d800c0aedaff7e442e85f8f6f740364685a46416e31802daaff71d9da8e0a0117a6949d36ade8bc927a5e6f7b5758034d200bfe58c8d3b1b357cc3ce5b8bc1b73474da846211329654a8aa7c5f2559e05581e03bd9d65aef16f0ebf9d15d2996836414db97bce7d1ab42807f9bed64c900c0247028c79de2f62000219f9ef034017ef29982b410a01fd11bcd864f75d0d0485def563ded2e4c74e639dab08e703a5922a0d8fb592b31365b7079336d133fac0593492d950e293b2c190904d7ed103d1f458c9e6b0038d1a25b5659023a2e9b67d56556f45816ce393ca3058ac3e5c033bae3ee317f514a10b2baa36f1d0a05d61139cde76350f99b6aed514e7222f9403b915e23d5d7d43d983af913d5652ea378846532884b61505164b77b0383fb4ee0383ca328521688874604e2fe54c42b616140d36d49a42ddf303cb7c6aa7df76cd03bddd64985588ff39604ed432c050e1ced0b2f69e42d2670572f5772a8c70d414033097988d38e39e46ba8547834bb0c3bf03c5f529d00d0e0e4f7eb0eba51402cd0219ffff03450d7409b91e8104b1390c052c3eee71e4d5527342733f6b3d3136835ed4749e0380b70a9dc4ad91fd85ac3ea6d31f9d197f900f8d57310187d6c9e3465734de4d03511cb4d255a54424aebf8f52f6e0b294de5f0d41939bb5ebdc965b6a0dc52c530334a99d18a9e796e77aea7d2ea3a8637ce0ab334eaaf402bc5936438b51b7c9ef035d296569b73e2a9d44c3fc0ff92880e055e45fe5309b0f03d22f0f83c2838bbb038fa32774a0be5c8ff7585445cf2a2536af0c9905b7d2ade14102cbf59d5b457403812bd155d3ef373e914f3d94a2d676d5c1c6de23bb2fb2039cc6bbb9b6087d2403b06a461a1c6a7e9baee66f026531f3d3269a87d393c5369aa3d6fa8daa848568035f107452919919e797e3ea3536ff4849039af804889c86882a1be73bb77beb650219ffff03e12947e0202203b99a6beb874fbda6a3a9408bfa256546d5263053932f02914703ea1121e818cde729a2a222a2de418e11226d0adf6a4171a029c63489a7f96de503d184f35797bf4808d1d983c5ae2d78a908a97aafed4d4cf29f67c646029122640389ea71e1049f1047d5f61297d3823e2417fc5d2243c73f9f88b00094c8d1767a03c50e062ac2ac2b7307d862aae588568e4d2af85bbbb442a1dbb5f63bbc899f6003f62ca76c4e409043f5f71864d4c0459ed1225d7f03bbd2c729707a6f0e8faebd03f4c2066e90bbf9406798507e63a9ad5bcbf5b894d51e6e4cf7b5de06dc3da7880303dbad8173af36b7fd06a739b85b387e319dfb9d56605b6d4eaf24943fd7052b03fe0da034a560964a98e9fee31e38514726bf05056c51879c602d8df1e4331744031bc64817f4f2d183ed701562a3f28105c1136d8570a26bfa1683cdf5ed50cedf0380f48a5c3805d29c906d67297838182be00abff77a8c315838fe45e6c2462c040331e62dbbd93440b3508eb6f2e66326b6121348bf79df9e6f205fbdef70bd1d470219ffff0396348098ae8078071a91c3fffc92b0f52897e8a1c320536e7680500030a5ee6803b70cba62f3206d4f9b9797d3541d55722d98134a0533ff7a1e30bf08aac409a1035bec5dad51069f6cfcdf4a4bc4d5455c1a47b67276f745f0360216af4b88693103069993f5eeb2f6112eca5b0034d23b5fa86e30f9d4e3d9de1b0efb002b6d557c033cb8187ea6bf81242badf97938c423a5dadc14c2e27c2797ceb584acd04cf43003e8c5f9494e78ff89cd2aff9d48727eabe113ad239377f2bd061a133b527dd5d50323957191817fdcd081f6218c288c0c6abdd66c3575c984414c0caf07a014e33d038199018e643a7560e90b1244bc1dda1af4dd9fded31e6c9629c92224a448da6903c2e9f812dd9a3591782f0206d390bcc7e22dccc40d718f6b8b52c4b0f3dcb13e030ae0cb817e3702cc3d6aeabbcbcf62ef03e5a2337bdff4cc61a9115a48e3df4c0311668fd18e903fe1f8148ecec30af7b56c2074fdc85def79aafc71c44f75984e0381e70871a50398bec29daa5233c4c6caad519981267c378c4a53e9cb4249033e034ae6d3ac0a13342979901b9bf4680d2a3c048e9685a2f92da8320aea73d6377603df539acc7d39eef661c84ea534e99326e4b96cb80c89c45fb0f1e983c890d62b035580efc6965d2ae78cccc2a5479b9edcd1581e572c7b160463cb7759afdc821b034fe7fa82b110b376b15dfbe0b0f629902a114cb798dc774968c72f4421c7e57e03fd7631c6673a4b9559df0a4d24a5713f573a4e2901a6e9c4e97cef59ef8c599803e0f051b4a41b219044c70c58cebcc1e36647f11454442a0ffd9bcc4d6dd1051d034fd24172ff8e449760ac37d7572176d063c38579ffac2e5118d7bdc3a953a91d034250ca6f53324770d297946c5e9420002e7c4a4e25a04fe92ed041b14ea3c77203afda5417d931d39ac26248dcc665770f2ab47d71c5f138263cda32d982665aeb0391e5969101c49d3737f71c47b42d202797003d00716ece00e4942dc482efea9703fb6fe2d231871fb97d026d8b0bd82d1f2ead763a32ff40ea960f593abfb4e520039a0b825013fdaf5fbe01f3c9d1585e5a13a039231c1ac5e86a4144be295dda5e033dd5df38e6fe6d279e9c4f72676d445f0a7591181fce72c8bd0983b016e3b4bf03f9735fc8d3b17afbd5cd95de7d1056a6da8614a8bd6cb058ee680b1bd2e6974e033654b467455f783257299560b8eb2ad5c55b8c9fd5ef04f31dd7cb163171bfa003f83ec70ff716a626b1e3c48159a7247e963fb2bab817961bc84b088d16f2ab9803b219dcb9b5d6861b1bc3675de496f78487af698aae472a85a8335c91ec5f5b40032792f952e9933793acb8a860283500d3d1be0e793cd3b81e1c2728c40466d95b05581e03876a1c07387c15c6f7d9ea7314c85538db71774939c09f7f75a2419bd0040105581e03a0607ccb6eb09bd601e22ac69f3b8fa4d8450a116bc4389cc960787e600c0147014c43448a400005581d02e82a0f8e33d332acc1d1169f4d82fa0a9b5e7771c2f3aed64ec7d2340c014708d6564f52240004590873600436101561000d57610868565b600035601c526000513461086e5763313ce56781141561003257601260005260206000f35b63a9059cbb8114156100db5760043560a01c61086e5760073360e05260c052604060c020805460243580821061086e5780820390509050815550600760043560e05260c052604060c0208054602435818183011061086e5780820190509050815550600435337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61014080808060243581525050602090509050610140a3600160005260206000f35b6323b872dd8114156102115760043560a01c61086e5760243560a01c61086e57600760043560e05260c052604060c020805460443580821061086e5780820390509050815550600760243560e05260c052604060c0208054604435818183011061086e5780820190509050815550600860043560e05260c052604060c0203360e05260c052604060c02054610140527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101405118156101c8576101405160443580821061086e5780820390509050600860043560e05260c052604060c0203360e05260c052604060c020555b6024356004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61016080808060443581525050602090509050610160a3600160005260206000f35b63095ea7b381141561028e5760043560a01c61086e5760243560083360e05260c052604060c02060043560e05260c052604060c02055600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92561014080808060243581525050602090509050610140a3600160005260206000f35b63395093518114156103415760043560a01c61086e5760083360e05260c052604060c02060043560e05260c052604060c02054602435818183011061086e5780820190509050610140526101405160083360e05260c052604060c02060043560e05260c052604060c02055600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256101608080806101405181525050602090509050610160a3600160005260206000f35b63a457c2d78114156103f25760043560a01c61086e5760083360e05260c052604060c02060043560e05260c052604060c0205460243580821061086e5780820390509050610140526101405160083360e05260c052604060c02060043560e05260c052604060c02055600435337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256101608080806101405181525050602090509050610160a3600160005260206000f35b6340c10f1981141561049c5760043560a01c61086e57600a5433141561086e5760098054602435818183011061086e5780820190509050815550600760043560e05260c052604060c0208054602435818183011061086e578082019050905081555060043560007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61014080808060243581525050602090509050610140a3600160005260206000f35b6379cc67908114156105425760043560a01c61086e57600a5433141561086e576009805460243580821061086e5780820390509050815550600760043560e05260c052604060c020805460243580821061086e578082039050905081555060006004357fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61014080808060243581525050602090509050610140a3600160005260206000f35b631652e9fc81141561056a5760043560a01c61086e57600a5433141561086e57600435600a55005b63e1430e06811415610684576060600435600401610140376040600435600401351161086e5760406024356004016101c0376020602435600401351161086e573360206102806004638da5cb5b6102205261023c600a545afa1561086e57601f3d111561086e5760005061028051141561086e57610140806000602082510161012060006003818352015b826101205160200211156106085761062a565b61012051602002850151610120518501555b81516001018083528114156105f5575b5050505050506101c0806004602082510161012060006002818352015b8261012051602002111561065a5761067c565b61012051602002850151610120518501555b8151600101808352811415610647575b505050505050005b6306fdde0381141561072157600080610180602082540161012060006003818352015b826101205160200211156106ba576106dc565b61012051850154610120516020028501525b81516001018083528114156106a7575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b6395d89b418114156107be57600480610180602082540161012060006002818352015b8261012051602002111561075757610779565b61012051850154610120516020028501525b8151600101808352811415610744575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f35b6370a082318114156107ee5760043560a01c61086e57600760043560e05260c052604060c0205460005260206000f35b63dd62ed3e8114156108365760043560a01c61086e5760243560a01c61086e57600860043560e05260c052604060c02060243560e05260c052604060c0205460005260206000f35b6318160ddd81141561084e5760095460005260206000f35b630754617281141561086657600a5460005260206000f35b505b60006000fd5b600080fd03049e97b25894cbd36451a9ebb2dc064b990396af847e90298f30971b30e5b17c035ec1fb896ee87ba99f8581b6450f8c0b075dba2791d946f04c0e148df5fdc22003385141804ed1ceab2ce32227f0e491e479012a8ca9839ce06e84f97955e3dd380385934f11bcc54c52c89557d27fa1ef4312564d4770109ff9519b4fffb4759d54030442d63d3076e8ff5eb21c965faeda3b516696936bd332db2d3dc379f55e42e6036e6cdfd75a5fddec2a80eecd2d6b6308ba64fb23f048965fb0b2bc630e405a24031c1e5cf24894fd8a9b051150aeebeebc967672ab52a5746c354feb965c2ad3ba03a64c1c75cfb7badb29c0b90c5890b046a7ed7a99a81e816962b62ee162aa3cb20381bf027186c11e7f3e4590875a2abc88f1189a37b02caf6c6456038ae9f1541403e28447d36f787157488cef978810a7490f6e04e016d17b8b46ad3a5b06bcccdb034e3d1e70e53f688c5e67d881d43cab289050a545334870edf7bc78b588b43458034b5d08fcf505c740254652b4ce09c5c65dd3411824293e0392ab9979b283b5de0363abe2068474ca23e22b6d12ec5ba6bcb1800d3126685c5c1d9b3d5499b943a90340ccab868f0ac4cf5c188badfb4268f3fca94f1349568bebafcc561b3b15ac08030b0c52afd6f4c6316bd234eb373aef29c4ee7177528eb101d030251e67a75000037a7903f284c9f72272f98ea6f12fe66ac2b8fbbd3b4cb3988904c61f7756cb4a03df3d3d84708b9cdd108df871a74eb7a5ec89e6d761f79e137af5a13bf61069b103c1b6ce6c6b3e08830e878df1be4d87395e8e7b7cca50bf0fa067c863ef42195e03be4e3cd6a902d8fc5c3f0f04bfcc9bd5ca8e35caecc7bcc44b5a91022544201f03c336968e01121e7792f1bb31f0bcbf0ac91095525cbadc521362d45e6b7f47380378a48be8e30106e37df70c254b0f2373907b8e2e7efbe47837b8d3a90e388eff00581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4b0c88a6e27e295aafb5ff4600581f02ffadd3c8681df319bc9885bbbb02604b3077fd7c67a93ffe9c482cadbd494fc097ce7bc8fc83afa0fb48156cccd70219102000582003e1481a75f7477ad891a80b2b48110b8aac52fafe105025e9588dde44f4f7505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820034e7b5d2e102094e4e4d4e57bc1c9a62bec90dabf0ccc1a62cb2086dc5fad205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03741a29d351a11080c01e4609690429cc6156fd81866c412bcb33eec5b6bf06de03c6d1b44a2af83ce4d6b47ceff278785fd0214d360966e9a7d75f710b95851823005820037dd2934ee589d26c2288a041457cb7bf8c2357ff7814cca6f2a3fcac8a2c505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003ec924994bce85a6753c62dfea241296840b4db00ac8a5751b45db89de5d1b0410102198f4303ddbb44a55c6a15c17410aced9cb82672d20d3405b972b3ce46a21eb8c6799dbe0219ffff03e541734a72a4509c0f97fba3d2c28f47295e1b0a0a5efcfee5530cf657ef4a77034896b89eb6b84a2081c93b44e2132b74bc387c08b3c7c44220fce274583f78510329927bfe0bce20d1e843e81f62206a1c2adc4421250095d9a91768dd85f9258f0338505be25352de26325225c0f8b4e4b594fbe74221945c279bdbb7fcb0dee88a034b160cce4b93b673209b41534f6acc21ed995c4f2f010c7bb1a235eaedb6a30a0311c544a525e22f9048bfdc9690916cae59894948db6edb2e6d5ba976c11ba2060315b1ffb7881abddb2f7fd7a7f78f85cc5d62abef45bda2de77cc776ed379c3fa037a455b42b081e38e8d28df6dbc17963b0e898c8c585a95f38ba5c707178e0abf03f7ecd48b7a27c10aa01400d0e4cf232d2e7bcf1c34d2c6e3b85766f2b2aa324b0219ffff05581d02ed1cfa08bd7e7a7b3d624fce28330993fc872ff3b251d35da9160998070119087305581d02a377352b07a264094bef87cc39d54c526401d7a6472021dc681df1b104010219c40005581e0338aedb727b2ab4b0f6ac3ef8e5f4c57338e2e6b01da4bbcb9732c99b10040105581e03ef2cbc66594a82597030b9a178d5131e1dd9f472fac2bd258b35d623600c1903cb48015cdca8ea54a9300372319efda098145f249e156db0823c1ef91af87a3428d1817e5790f397418c5c05581e0353bc552876065370c2c762060611ca6df6dc9aa1fb543c3d5f34b6418004030349f1299492a9f51f0e052c1834244d1351aa801b1618c2d05d0070513d729edc032c4581a64f2af37e10645c1798ff3a92369bd568710a264cc0d59fae9770411f02194f4e0219ffff0219ffff03afbe02cf0ecd24de4292117fffd5fa324adc6f6a4cbc96d76d379d9d13d614aa03b71f3aaf47314b1e54f2c70330caebf945bb2eff959fc2b0c0c2bebacae8496803724c9ba6c1de0faa1f096685e6b0a953401249ec532f270d9f7260a2768d4b7203be30998cf79d2dd9b12d7fecc6fbe5dd68927b7c96625ff01abe63298cdf24b70364d0aa49cffd06e8c0d7249639463599fd0ff3cb0d10b5a7862bba49d42b4f97035fe28d180f70e9fb759d0091d202480a43e8795450afb71bb7cb535616ed489c03bd116eaea9a9e6c63b51d7bb22fc5fbedcb3ae45c8069ef8c8618dd228df271803812363144b16435b89a9037b99b4c4c586c199eddb4f28ebc0533cb6f26508cc03f9369f95fd5fc96b3a97c8181ed6550e52f74095dfda12dbd6a2c6c90b1d7055035fcdcc0c50d5bc5d2f874a90ff05b2ad456e745e95ae894f129de396d7a868c9036db52ade43aa10dc6a5aa3a78473d4b4689717f754fee6ee4b78388dc0a136f9030df1525c7cf419b259b8f12545bea6aed2f7f07452c51399eb5b422e12bd4ee4030f4a1076724394ebf5acb8492575ff78374694de666c1a33acd3acc8c85e4b750377db4f1a605d0e8cba00e40256afe9115f75b57cf617827215bfe02673ed22f103890c8f67f0112c4556ad490069db9b65e879c40748bc4d765ecfa0f77da0c7a10219ffff03ba1a0d025c2be2e54dda7a96c056afe24ea6f03e3346a434a181678534a9860c03d83ce02af90c73debe905396a36c56dc10805c76e654ea36f551e54c30ec0f5903eea7c32c23de3140ed0737efa45ae3d68d10a16a39bc5d5d2e3fc4d4e3c4b3dc032bb8939ef729e42c5e4e0537640d3c7bfe3c761fb6532cd5b5952f0a64cd9a8203269c3ad9872bbe2ac31c8cfe1e6b4d9c776c2160d8753d22781aed16b5ff2e38033fcd77fd93edfac639cdb44718541bbf78e5cd2d65821a0085ce4adf83b31b3a03753fb744670654460f26551f48153a337e20815214f92892946052214b50eca103b2a1c0a12c5e1c9de387bc41ead4e9db425fcf30a42dad41b4f786e9489c806003cd7fd6e4d4fe5180e738d0c53ebdcd017e4c7b04db62218cfbc6358887b647e4037fc3b04d963fbb4cb9fce4202681570e548df523503a60d80c147f9cfaa2a0ad0359f8626edd84a73452427ec4231d6a7d8c9b7220b0a4f4da15feb75a2054de15034d8b61cd56c6b35b230ccfaa5d83e14b446fd400c4ee641519a88cf68d8a484d03d0a490e2a6909939796e143d21268714ff2e05c10f067bc10ccec75bd3d4013e0386afa12a2ccae477c72e919f4ee238c12520b5028d3c7128246d1fa70ba200b803f5af4fbeb589c080c3630c793e2a9ce91551b4130223daf5e3c818b4c4b4d96803e6adb43a9267dcd148dcf42889223e012ff8355c2f19968067b699b4c25adf68033c17f3ef912b994e6308059c96624022db4f2478886a0f4b3bb740d38532da2d039e9ff380bcac4b140991e7793fbe1052b9a5eb69bb2ed3a512b8180bdb579d1603e922bc980f0779747a1dcf526629aaad1da9a92967563d79b4f2567197c2276c0355f61a0688c9b4e33c7c02430d036a72ebaf3c7dbde48ee432cbe12cfd53db0003814ffe20ac59d24d76a95a78798fd7f42ed6e3d7742a9e936ab9db3e9791724803b628f8c5c8a676a676f4b96b21f202ccc8cdb8202aaa274bf27095891d3fc8ba037e81680c7af6ecbc81a5fec73b70df5e20591aee8d71866b737603e00dd6e35205581e033794f8041dcffb5544bf223866dd39f6517c71e2cece1ff0e9a27e16c00c01470f04a70e1b799803bf9c11bde5e0f79af678e8890f3b302f7dec506ef240546efbb34ca3a528072f03f9de4850c1d2e78e8f2fa1ac0bb0dc1a2c05ec0003e10cf78729ecca21c0aa1205581e0399496a4735589fc1a2dd4905b6abf636d40de1e88b5a7c0adb5a08ee10040105581e03b5a89816699c681a7fa844c85f1e2c5bd93558075a2bdab6859209c2400c0347034da8f5929200039f3f4b4263ee0a92e5c8ecfbd6bf8059d8912e300664a02c05e8bb2461bcb20b03d479a4db198c37f97275718283705279d712e81a053c9818d752158c52a52c9401410905581e03f8e2a1660becdf30110e409b589b48bc48c59500da4d3d8d9d93d1bfb00c0146bfa47183ba0005581e03792587c382017b205b12cf563eea67ca18a805d8b3b81676ca6ab570a00c014745e3a35725b2900458ad363d3d373d3d3d363d73b032ca260b1cabd144f47825c6ae32fb3026f12c5af43d82803e903d91602b57fd5bf300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000a65ba71d653f62c64d97099b58d25a955eb374a000000000000000000000000000000000000000000000000000000000000003ae0605581e039055133b2393d1db3fad16801237af2c91fc11944a53208de6fa1e2000070118ad03e9d81acfd602c8ae5da7a8c46d004314f8f100f4c703e9fbb58945a66057ded70219bc6f037a8cbbccf9f4ae26d0fbb093bfc01469b1a5165988a02bdb39ce3cd66e8993ef03f1e5024e6548ef666c342d44cf8141e6d4ce529afef60881f1fc2000587420ce03b5d59e801029241f079094c3bdf387c02edf2d7fa8089a30e212e47d91765352038e841385dfdeca08af1098ca54e66fc7af22c4bbbcf3ba7ee3cdcf40e524d17403485c7aef534a3272633f81af304ce09b3081c094e274775d6f6a5b1da86197c8039ba0efd5de6424a9a87a75a982aa9be61417ac8349f1e5b83e814a73a8bb68d3039db98d5d3b8750ec6267643663ab95d4f35b4e01d157f6f631533309efb2c80b03d7952ad4e9fcebb4559fda7aa25ecc58b42e6aebaaaaac4ea6ce8aacaa5c16e6035d5131a6d64c13f3589cffc4a49e84df6b8d2bbca485c0221d7e9dd89ab5047f0373ba8e83d0245b44de2be661750783725bb403edd4c0c1bbf477193723ef9bd003332f217b1e47898d068f48c56383f7e3dedbe3b8056a7da47ba179e3c3e3288b03300ab10ef7c5f03b3c0ad5b5b175510fede8a26e4c6541856a7877085603d7020355fa1616bf5a978aacd649028ee78519c8d2fe4b7db4ce82c3763f5110d4a460037a53bf152d49a968c24802cde7aeada360bdd17cb0797f2377081b96c74629c60219ffff03239c91a8d00d714f28c39f3041c7b404dc15e4b5c8e3b3fc5c86eb0ca7c0865d0219ffff03daef44b75796cb26007d55a4f571e15442dd593a92b88058fc5b40d5b7e086ef03e621ff71cf05842fc7b34a41a38c563bb328eec424bad78a4506450cd7899e5f035bc66bc49fabfb06702baf9695f6ff29f390b130c31fcdc3a1d2149b7bb03fb50362c87c7f06daf0a472fbf95aadd9403159a290ec5d07d299a474fd698362a28403450b1e2f3abe3f049b507269ff15924623f6dbfd99a47db736b38d7f81961ac603bff1da3e13e9720c1786e1952e1b23a2df0395e868793bbe9b3171a7f4c0bc0c030da77b130505a6c7b8e5c811a946f5f3c1a8a38f86098d8b131e02b07e28b21703c89bf2c2b6e16f15dd72883cba43edf5670e82b143f0d4f5604747e409057f1603f7571a4bef5e7d2f48453724e0f138d70faa4f7f92fbe934f4000af7ec2bc96303f2a4425c1edbfc8e715c86a13b3fc302cf9a1e8e17c182f466bdb7bc5ed306f4032ef2ed1bc365b8463416a7d07c5f9e077628588a42abf46dc244add7e57db31a038ff102729e48987a738143806bbdc5386c69cd8ef255caa104c3af04798d7fe2035975abe7a4562a5599d65576012e467175aaee38da525b3f45acefa66421f0be035e2012b492c8a5b7fbce956d1031cc68d4a7e1eca1ee3352963b3f0762fdf3440219ffff033f9600515204012d969204cd2c66f305f93243d4ef880f25ad25508a2aba14b2033ccc07e603720c56a58e945c81806f56f0746ba984d1190e16e526e8c431784d03b3ffde1fcc230252827181172722fae663b60deb885fb4d8dcaac337d753cca903259670107a99b2fad04ec16b270296bc11c8774660826f2a3b78087195a963270219ffff0219ffff036ebdad9877a49528e6a4859e27b5956ebac9d87e92c6fcceb7cb00c56c574e4903edb92bd5818724bc38b854304948e53c04940183ac2a07c48138e295a4cd8821030e3a14f33fbecd5f4a5ad8f47f09958356dc28c7579e9b04c6d774395c68268b0369cd83efaeba7fcbf306f4c07222a8b14502e059197de9a530f6aca2be118e6103a423e4a79e0b176df8f0906f187f822ceaa6e66fe1ac01674d29ac0f4aad72e603c85e77e2c1bb60cf52abd2e0731d4b9daa6c53dfa96d683c9362703b9da8a21c0365b4970852b57ec8a4cf2a3eed2eaac1a81c549ad3a08253d3babfcd0aefbd9703c5dae05cc7135e9497ef9a0243796f651d7e83690b4d0064bd4d493daa1a6d1203aa25a81709b47e8050753192d8ce6eeb69cdf9827bee49f3f3d65256e19a29fd038ac5d0874c81d2c1fcf585393b3bd7f9c933e79bc63c907cc07cdf614dcad71d036ee468492ad3e21d8b59857941ab117eacb0045da38b9928396932efa1798859039af6e73a7d8b76123229b69d121e611df926da29ccabb8c01778a4940db164fd03ff2ac46d5763802229eb8010b25cec13a3b84f7064c575053cbab362c336da4303ca94b78b89f721d79edb2eccdfb2bbf20d856ed2b1912707c9bce14f060a858c031a8d99d437cd4d11b351564551521c5b65b70c8ab068edded12cbdc1802c99df033d053a2ae9e107039d2488b02765fd96a1eeaf98c2b07cc654b7d7b127d9323d03cc0abe2e849684558cce1f4f639361c0e9e602668a7044e8c1cd43ab6466b74303f67d803f3e1422e52cecc25468065c7118514959ea0aa8ff88d8b42cb2aa00420393549e7ca5ab446a68efc1f7d71b6bb4ccd9bfedb66a1d676b4e1bb63724cb750314eea9cfada15c05c983ad08ae8c1683b61f1c0a13e493bc9086583a652fa37c03036607071993822464bec2fa6e18cc48a37ad5b5a99abf52e43a614c10b8af1503a1f0682ffe772366fc00cd4170142564a3496498d300562b64b1ced6f9a62be703e411b178d152216c595c490b2a9f089f88a2ed46e8914698197d202ba79467ed030ee410acb64026f3d61298c238312c815cd215338a7d8f5842c97cb31d2a166e0315a937f22e489d261c7d1eff36711de20b6db966bc8bc9da3b905972c9dc119d031eaa64ce4e09b0048e519648354b4959166f774b267db89c4f88ea6c7368709a036df79399c7fc9aca868189e38244190480e76d21a16052d5a17feb1d7a3ec44203f4fee4bdc03303eda1b25617a100a25fbf0dabe82a7a8dd412a3f3bc7933b94a03b552ad5ef81715039e5b13c3420efe700ce71ab2ec1ff61f6e04cb6450915e7b035f2b3743d54936d0b768c2283c9298fa18f103ed3de63d1a6a4ccf3213de875c0369682edfbe82ff15cfde768ad76593de32a652f5fc6557c92954870f1727ac4a03b52d3e662571934f85018db4a42089df4552db1e26f3422b2caa1dc320d88cb703bfcf1b269704fca6672d908e55f693f3dc7d53698b46968064a5069d0dd58b00032d1fef252c6e0c6f751819f9471a700eaa1e280741c940c9e2b3f5d4ec51cc500320a9fa4e251d0cfde64b2cc762e1d554680af8c6c6f460406e5874eed1edcef503c27b99496196f16544f4bfd9518e1472e9f9829aa01576885b68a5c0ac01b1e00371a805da9a76274c8f5ab750aff44a970635b000b8eb8bdaeaa291ec1a59075f05581e035cd643940aea42f0146e869903d4b896aaa5f73d93ab916ea3e5a775e00405030492eaa80311fd6ea9156166088b25e1dff4a500328f5b18e2aa83d815445e310305df714a91b96df60a2c9154156d44aaff1b85e29b1fd52af1a05e537eb15ec105581e0317c9e64fe019f727154a50aa0e99a83612fcf16367f973e91e415e4ec00c01469c6aa255178005581d028c62965f294dcee7df9c3077ad775c8781ba78ba32e9c6069f6213790c024769297ec13a6b0b04591a2a60806040526004361061011e575f3560e01c806377b54bad1161009d578063a9059cbb11610062578063a9059cbb14610315578063bf474bed14610334578063c9567bf914610349578063dd62ed3e1461035d578063f4293890146103a1575f80fd5b806377b54bad146102795780637d1db4a5146102985780638da5cb5b146102ad5780638f9a55c0146102d357806395d89b41146102e8575f80fd5b8063313ce567116100e3578063313ce567146101ec57806351bc3c851461020757806370a082311461021d578063715018a614610251578063751039fc14610265575f80fd5b806306fdde0314610129578063095ea7b3146101675780630faee56f1461019657806318160ddd146101b957806323b872dd146101cd575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b506040805180820190915260048152634d41474160e01b60208201525b60405161015e9190611606565b60405180910390f35b348015610172575f80fd5b50610186610181366004611668565b6103b5565b604051901515815260200161015e565b3480156101a1575f80fd5b506101ab60145481565b60405190815260200161015e565b3480156101c4575f80fd5b506101ab6103cb565b3480156101d8575f80fd5b506101866101e7366004611692565b6103eb565b3480156101f7575f80fd5b506040516009815260200161015e565b348015610212575f80fd5b5061021b610452565b005b348015610228575f80fd5b506101ab6102373660046116d0565b6001600160a01b03165f9081526001602052604090205490565b34801561025c575f80fd5b5061021b610484565b348015610270575f80fd5b5061021b6104fe565b348015610284575f80fd5b50610186610293366004611668565b6105af565b3480156102a3575f80fd5b506101ab60115481565b3480156102b8575f80fd5b505f546040516001600160a01b03909116815260200161015e565b3480156102de575f80fd5b506101ab60125481565b3480156102f3575f80fd5b5060408051808201909152600581526405452554d560dc1b6020820152610151565b348015610320575f80fd5b5061018661032f366004611668565b6106df565b34801561033f575f80fd5b506101ab60135481565b348015610354575f80fd5b5061021b6106eb565b348015610368575f80fd5b506101ab6103773660046116eb565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156103ac575f80fd5b5061021b610a98565b5f6103c1338484610b31565b5060015b92915050565b5f6103d86009600a611816565b6103e6906302cd29c0611824565b905090565b5f6103f7848484610c54565b6104488433610443856040518060600160405280602881526020016119cd602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611212565b610b31565b5060019392505050565b305f908152600160205260409020548015610470576104708161124a565b47801561048057610480816113ba565b5050565b5f546001600160a01b031633146104b65760405162461bcd60e51b81526004016104ad9061183b565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105275760405162461bcd60e51b81526004016104ad9061183b565b6105336009600a611816565b610541906302cd29c0611824565b6011556105506009600a611816565b61055e906302cd29c0611824565b6012557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61058e6009600a611816565b61059c906302cd29c0611824565b60405190815260200160405180910390a1565b5f815f03610620576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa1580156105f9573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061d9190611870565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a16004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820184905284169063a9059cbb906044016020604051808303815f875af11580156106b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106d89190611887565b9392505050565b5f6103c1338484610c54565b5f546001600160a01b031633146107145760405162461bcd60e51b81526004016104ad9061183b565b601654600160a01b900460ff161561076e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ad565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107b79030906107a96009600a611816565b610443906302cd29c0611824565b60155f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610807573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061082b91906118a6565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108ae91906118a6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156108f8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061091c91906118a6565b601680546001600160a01b039283166001600160a01b03199091161790556015541663f305d7194730610963816001600160a01b03165f9081526001602052604090205490565b5f806109765f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109dc573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a0191906118c1565b505060165460155460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610a56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7a9190611887565b506016805462ff00ff60a01b19166201000160a01b17905543600855565b5f4711610afa5760405162461bcd60e51b815260206004820152602a60248201527f436f6e74726163742062616c616e6365206d7573742062652067726561746572604482015269207468616e207a65726f60b01b60648201526084016104ad565b60045460405147916001600160a01b03169082156108fc029083905f818181858888f19350505050158015610480573d5f803e3d5ffd5b6001600160a01b038316610b935760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ad565b6001600160a01b038216610bf45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ad565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cb85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ad565b6001600160a01b038216610d1a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ad565b5f8111610d7b5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ad565b5f80546001600160a01b03858116911614801590610da657505f546001600160a01b03848116911614155b156110d557610dd76064610dd1600d5460105411610dc657600954610dca565b600b545b8590611468565b906114e6565b6016549091506001600160a01b038581169116148015610e0557506015546001600160a01b03848116911614155b8015610e2957506001600160a01b0383165f9081526003602052604090205460ff16155b15610f3057601154821115610e805760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ad565b60125482610ea2856001600160a01b03165f9081526001602052604090205490565b610eac91906118ec565b1115610efa5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ad565b436008546003610f0a91906118ec565b1115610f1b57823b15610f1b575f80fd5b60108054905f610f2a836118ff565b91905055505b6016546001600160a01b03848116911614801590610f6657506001600160a01b0383165f9081526003602052604090205460ff16155b15610fe55760125482610f8d856001600160a01b03165f9081526001602052604090205490565b610f9791906118ec565b1115610fe55760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ad565b6016546001600160a01b03848116911614801561100b57506001600160a01b0384163014155b15611038576110356064610dd1600e546010541161102b57600a54610dca565b600c548590611468565b90505b305f90815260016020526040902054601654600160a81b900460ff1615801561106e57506016546001600160a01b038581169116145b80156110835750601654600160b01b900460ff165b8015611090575060135481115b801561109f5750600f54601054115b156110d3576110c16110bc846110b784601454611527565b611527565b61124a565b4780156110d1576110d1476113ba565b505b505b801561114d57305f908152600160205260409020546110f4908261153b565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111449085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461116f9083611599565b6001600160a01b0385165f908152600160205260409020556111b26111948383611599565b6001600160a01b0385165f908152600160205260409020549061153b565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6111fb8585611599565b60405190815260200160405180910390a350505050565b5f81848411156112355760405162461bcd60e51b81526004016104ad9190611606565b505f6112418486611917565b95945050505050565b6016805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112905761129061192a565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061130b91906118a6565b8160018151811061131e5761131e61192a565b6001600160a01b0392831660209182029290920101526015546113449130911684610b31565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061137c9085905f9086903090429060040161193e565b5f604051808303815f87803b158015611393575f80fd5b505af11580156113a5573d5f803e3d5ffd5b50506016805460ff60a81b1916905550505050565b5f6064600654836113cb9190611824565b6113d591906119ad565b90505f6064600754846113e89190611824565b6113f291906119ad565b6004546040519192506001600160a01b03169083156108fc029084905f818181858888f1935050505015801561142a573d5f803e3d5ffd5b506005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611462573d5f803e3d5ffd5b50505050565b5f825f0361147757505f6103c5565b5f6114828385611824565b90508261148f85836119ad565b146106d85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ad565b5f6106d883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115da565b5f81831161153557826106d8565b50919050565b5f8061154783856118ec565b9050838110156106d85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ad565b5f6106d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611212565b5f81836115fa5760405162461bcd60e51b81526004016104ad9190611606565b505f61124184866119ad565b5f6020808352835180828501525f5b8181101561163157858101830151858201604001528201611615565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611665575f80fd5b50565b5f8060408385031215611679575f80fd5b823561168481611651565b946020939093013593505050565b5f805f606084860312156116a4575f80fd5b83356116af81611651565b925060208401356116bf81611651565b929592945050506040919091013590565b5f602082840312156116e0575f80fd5b81356106d881611651565b5f80604083850312156116fc575f80fd5b823561170781611651565b9150602083013561171781611651565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561177057815f190482111561175657611756611722565b8085161561176357918102915b93841c939080029061173b565b509250929050565b5f82611786575060016103c5565b8161179257505f6103c5565b81600181146117a857600281146117b2576117ce565b60019150506103c5565b60ff8411156117c3576117c3611722565b50506001821b6103c5565b5060208310610133831016604e8410600b84101617156117f1575081810a6103c5565b6117fb8383611736565b805f190482111561180e5761180e611722565b029392505050565b5f6106d860ff841683611778565b80820281158282048414176103c5576103c5611722565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611880575f80fd5b5051919050565b5f60208284031215611897575f80fd5b815180151581146106d8575f80fd5b5f602082840312156118b6575f80fd5b81516106d881611651565b5f805f606084860312156118d3575f80fd5b8351925060208401519150604084015190509250925092565b808201808211156103c5576103c5611722565b5f6001820161191057611910611722565b5060010190565b818103818111156103c5576103c5611722565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561198c5784516001600160a01b031683529383019391830191600101611967565b50506001600160a01b03969096166060850152505050608001529392505050565b5f826119c757634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200f378175c9337a72dcdd44102d9081505a6fa7d76f54f84cbb63be33b16031c264736f6c63430008140033035cbebfafda0588e89d64ce15c75c6ab1985df8c52c44b63b1c6d00e5e1b0c43b0329a365e247c8260d5fe0d66952227fa8351f0d25efe4cafa31c0ed786cb214a603c154dfae0560233fe8ac775721758a73483a9dc288722c68896e70bdc74d39a50337ae1fd01a3b6a2aa386c71ee84a1d0d34eb51e6c370f7cb34a78590ba50d53403e7d56700bce57733fa44c74ce940edc6ba59f21911f09f9dbab7ff1bbc16d646038407fa5b9675b5a80519a4e989feec5df5a6ba9fe7802379647e88fa06d9b55303e2fa658ebabee788f1517a12e8df4118307d9f177e2301a339ae77b6145b89e603e7304b14ee96ba906823fa880bc2b96e3c6a28c42b2ff8fc79d07c05f15ceacf031534cf7abe0b13827e1678de1de06ddd1e4f80b532f3aac17a7eaab5bde1491403e0789525719f994bb315c8fbb84fcf4b08a76dfc5a714f0601afa0ee07fed70c00581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9410100581f02f8318ec0f1cc011f2b3c854b87ba5ab0c2a25065163cb2732619c0d960c65820fffffffffffffffffffffffffffffffffffffffffffffffffffffff55235f6b100581f02776e2bba3d9dcb5a0034b1241195d17a07efb3ae9d1212b5096e71d25cfe45042ccdb72c00581f0218c58860b27162025489de1d412a1d19ddfd9db89e0d5d0e53cb24d052a94501358504f500581f025612c895354fedececd2eb0efeca8bbb8c4c11b9dbe99c7bab7f85aa6cea443b023380038dffb0335ae17d3a6e27650b3382c6aa8333cbe5b05b1478588d66234ed02ba600581f02b897b18b98be2521f3e2c377e111e8fc537625ce27dc43606ffeff1b6054458a4d28b40003bbcd1260f5398842fdf6bfb64b31be74f57e737947a1775b8c4e1e99e4eefdec00581f02fcd83dde95210d7bcd6cc42ebe3757b5b37edcf38f5925352eb45f1947015820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219f5e603fca5e3a886cae6b59a8288b9ea4c8f7b2fc1be2830241311b2eaceb26a2baedc032b45953b5644fdac87d8a0bd31f03272d65bc42fa34f2899532e5d45752add21038eaab970b26483896717fba78c04da3ca1b8c92ce4db6e2ce7d8490ba58d73c20361bd458cf82df5d61f7c9d78281adc2214df969d792ef03fd51c0b9ede3c8960037acdae390cd573f07f544703bfa8afb632573fca337edd71526ef0101e4bed68035e94ec0c7147ef4359678a6a9c8f44a87101f6b5646b2488e7eeb882c0213c0003590c2d1b57acd2baec573651498b8c661c78cd254309111d9d6ffda79300bfb0032ef129946ce921f6d8aa6bf8146a26719c3e98fffae51ef83b84c0ef63d226700219ffff0311a3851cc095c315c78a58587e6190b6c3c13a44ad240c821a5bc33071e1975503699f53b2a1640d22aa4094c0d7e512f81241f15a50d278d1fc5b2346ff72913503e311c5dd16359a00b9a18700fe554891dcf4f18c40d8930e7be724307f23ae7d03bfe779a2df2d143f551f79118bbeb8439fd1863f0ca20a94be71291b6d50a5df033ad1a9a7ed01c2212ed65c29b69d4c53f7d2d50a2cd41fe6feafdd535d3da7e303b7c8678c4d3e6fb0d542fb472aad6a8131cfee79717a097e5b39f792c60bcccc03645989d756344a00c58f0e54992828ea7dadcd21c369d42d5374ebf9d7e8aeb8037021f3c948b4a905006b184e3e513cdfdda1b9541d491148131d9ddf7ec5a4a2033fe9576fb229977226a5954d1307c7faaab580cc979949cc6c04b5d3f215a25b031c8b140d90e2b6561ce8ec8e5ef1bf5676a5bddf2b698edb74784c909a1d477d038bc2d9dabd61357b7a1f7c0804d362e66090389845fe2f018f3b8be4ce1d96eb03f7b80fc1f778e318c3b11dce38be413351333bfbe4fd20a5a6940457cf7169f903162b03a849e48d872935c13070f1b8fd5658184ab75df619b4b4fc4b86ad4d2c03ff766c8bf8717bd843eb5414f11c755031f8117d31c262cf03e68a467ef5f70e03f65d5827f544a205eb28cb1a48d3bfdd53ee45cb0c51d305beee4cfd0d8d01b9037f899ed024ad9338797e0f3c0290b0602222aef321435b3cda15213eb648c77803b06cbc2a16e0177668f739b58cf09427e13d55f8ef3545b7317d213a6f4eb37303303cdb2e0b4bc7cc91fe573d61a8f72d581ef53064981e79692094b4c55b514903ddfcd7fd7f02704f5dde3d71378f6a83faedddd85928ca051671342f5c1d69d2033b2dd1ac362c6a1ed309e61dd8e3cfd5c17ee4ff8bca412df160956bfc4889b003da8f6508f62c84f2009d908cd8f6338d656dd950d50bcf8588d0aeeed710b79d039654284b2afc40ab9e04a4e67eb90a5081162b1fa2b9fb8eff861dfae356267a032539c85de192f27365f2bf6f8140537b021f6b2d42d9d3c8737a264b60af39da0349bf44785a4647c2dd6f2ff85017ad2f4c45473f2bc87a8e3f0cad794c9620330381e7b3f08c439a6f4472195ffbfad4d4bfc8ea4bbc6ea74f4663ceff69aa89f700581f02629563e7638b11dd50ffe6f4801e5fc7bbeda2bab9bcceb4c219730f9eee5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe1bb656bff0309f95bf32204bb9c4125bbb61a0203197ae04ac1912640fe9850396dec9d995c00581f029f12bb47f0d9514b51b6fb820db2abff2194825ded647ccb7f95ccb066bd450974ef3ecd03570797859da9fedf11e7d3c1e7a5f70276024a136e733d2efe556a7dd40e2ffd00581f02069b4fa4e1841b6fd0486587c5d59a740fd4bdae77d18e60718ccfaeab085820fffffffffffffffffffffffffffffffffffffffffffffffffffffc8035d30efb03afc1a1a325514e1b3b9935009dbc83c77187674656676630726ae7572bb14032014109032240f2aa39987b86c6902d8e7f5a830646237114d8354b6f78b0087ffb8ff3fe0320c4564e66ade9be29a017431fa559874e256761706c62f839a25c8921d7b69d0219f15d03d72b26733cd5daca70dd5b45a24c4c40c1430e782694e3cbeb75ec2b495b4e6f036b09aea1ee0f941f2c91146a4ffbfd54f3d85d5679b87b839c8f82bde9a199b4033649ee1246e1bcb2b3b147dec0023b5b061923ca5965c3b083ed1329efa6ed8c0219ffff03844fe739db815b634b2f4dfead12136f4a1ddfdcf13cffa2fcd85c12b7cc365403f84cd6f67f259cafdb18f2a359008b200de672ef77385aee7347ca4226a0a4a70219ffff03856d3a83921c74077aa47b45cfed5766a238a26dc32760754fdddc8994e073e503ed62c1a8ec34e0ce2b7b6c3b75f02b08e466c90d9d6b3a6a3b69b2f1159495c7034d245d3afc4f6405b0afee1061d3f936f1bb961628555acf2fea50812fcd2de003b62e342bfc6b4be86e9a60399ce1470e4250556892698819b6ff56328fec8730033683e46438f5b7088873f78a2621872bd8ae18c9fcc42a241a2a50819994d0cb039fe68d1089d62382bbd63c4a908c52a88e0ac7020fed69b717026dfc4ce1d8a5033618a7384d725e0a95028140e8ecf16365f4490dcca4ade10742a3d9e84892020338f428285fa011fead4244be4371ab60a3eb846a6b31047649147f894d91cd95036c367a6319e1766d4b2aa58e988a6960366e853307a366031d2616d65494f34e035f9723eb47e4082df0036e0e7008536be6356e39595da0fe237b15d3827a6585032be6f071ef0937f37d0b2a2b90f94acc9313be4ac87ebd0676d44be70d1c9b870397cb6fa804d596e8ae5c2bdef10c9b780a3d0d70d18369e2720f86bdd0134f24037f20cbdae767d4e223593b9bcf99315a88714cd9757fa93175b3ed56012806b8035b1b7310406bc112ce98dc3dbe1b96d0b0a316c6c5d6e8a22dbc9850b7201a0703424ea41a4cc7e78a72835d79bfa05378ded851156d158f705ffcc2114686d23f034e36e0e08c0c431d0e00f20b76df4ca77e1af6f27cf27774b6b1871f780eba9000581f020a7f935474bbb70a9e9a3388322ea1535d2a4800eb4659911553d2dc0a6c5820fffffffffffffffffffffffffffffffffffffffffffffffffffffff6afd06fff00581f0229fb80e8724ac69fba98797daac1203a5900d2f6f1c6c91963fb206c064e450235ae28a200581f0292fcbf03853fa8ff420a1767fd952eedaecf53997aa15bc54855c4d657705820ffffffffffffffffffffffffffffffffffffffffffffffffffffd25e925685f10350268c5b958d6667c0a8ae36ba3f87b52ea582e7408bbbcce446f6433f56dbdb03acef2eb15e4e643a8b0c42af498e950697f5569d2d6144065149ad31b315394100581f0235180619284fee253c3ea90bc0f244983befb1dbe6517fb11b321251725c45065b536f690305fd2dc518d9b00a716bc91e0ccdcd5178a04f5177d784127ff506b2028e5e3d032649ec9c31c8935b8378a382690b2abe3738fb849b59236e4e4d635ab6f897b700581f0280ed4b083eda46b4206de727834c179d1132fef7e5bc53ec5fd773f18e5647024d6ac27bce0b0219d29e03bd8d10ce4917f0569e0dc3a51e7aad4a40d9de43875038ca9e9eb325eaaa8af503cd0e48dbf3eff608506d22de3a97c98ee58fc69265be647d4174cc6876b94392037b45653bfac655498409c1eddf1eae982d4b07ead045dc651340397603e5daab03fcd58c1bbd62be1c9e3a68264ac89cfc4ce724eeab50c33120adb92217c10ea10355a376ad52bd1494cedf533a402185666fa17b96f5451f7450b82970358a48f103ea45047bc11cdb2826cff46fd32df7a948876597738f647e48ea367e5962e30c03ece200f845da1bbb5eeba30d1659859b3637a89b837e0ce1c6a9b5f678ccc9bf038fcbd2c9e9f68a34af6d51133f8ffe0d61dc455bc431f68fe727e124327dcc610219ffff039d5a89f6c3d7063e9d483d5253018f75f3b572f49a6d65f454e03237b3a8954203078f6396733f131205229b55ec08dd9b7c0ce1bc6de141af5fb60dbf6be28686033475d67879da8536f19dd274888aca880c6923a6466176e35a8e6043289dc3b3037fd690202cac7a8c04710a6c0f3cecf63297038ad756a3eedf4a2cb60b11750103e415d44a72e7d7edbe4bfb62650a446d3da1c873c6ef5606900d7da31b823be803822a3157bca18a7000a042166815d1d1e66d60e55edc2f772eb86d1047ce195203484f444fe13ea28440b280e0bce1cfdc8f022872fb65038f069f993cc260550d03382fb3cc8822ccf631fe53953c2f9d5345d91195a507166a941067fc566da1a80344be12a3f8f07573b685f55614807ec13608d2bd5140fc679cffc4dd7a1540890327843c8c4a1b7b9d4719b51d36b273b646d3d5f703f4f12734c4dc98e2ee448a00581f02a87babaec028d7314be0b51fa759f2730a15191677a731b618dae807d9014579126a500000581f020d1502ee5f5edc8d54fee4fc0ed03e26cdcd16d6d3613eacfb19d813b2425820ffffffffffffffffffffffffffffffffffffffffffffffffffff70fa6b6eb5d600581f02d122e0eb01f1eb0feae3ee4d22d215433c2e567dea820006fd9fc288f26b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffff8afa224a7700581f037dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae67204301e67400581f0368348dab64412c436931ac1eb3527c8fd5d43749bdbfd9aa328dd8fe72005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190110031081a8f9ea42f1c22f1ef9674819bf9a3b4a5c139a8656f260f4dc14a4d5f346038adc2ddf0c227e3b94d8f83d619f7e518863acf62685ca048915df6068a8cad7031020c498c670f4343f7b8b02e3d9bfd13d3b71816852912a0e0269988c5d8c0e03433d777383b3c4e9be0570a040780bc1ccd8cba63556a25eb773e4d936d460940219d3ed0310087d434d8561dadb0e2b73f137e2d1d1801d1fb0d1c2cf4fbb771170d0ccec03a34a0492e1a403c95e00fa92314e2bd0664472a5fd72e253719e3c73eb9dd30b03f54d8ededa8a0a78799059b246441c5264809957be7a71957fc37e19191f535b035b7e62e0cbc3aa76408c6e02f23c35a430e8b7d9c3266066682104f49b6ffd8a036dcb3f0505b77dc529542fef46e6c1fc6e950cb8422b1aeb351524f866e5b9e3036e831cc0b7a8ca5e236ee671af271beb952968239a2f1a2a95436cc978e4769d0327a92b70f7f591557971278fb43888b11313eb491314a9d3b71f9e8b78166303031a5314b8606dcf4a66046ca902acb5e9422b069d81e539f45833ad8bdb668d2903176692de66c29cc0a0eb3842fe5832f3b89c2decdcafece05170a51be689f61e0219ffff0315683db0ba52a6f2966bf089fe49e476877ab55f5d9f5bc2088bafdf4451c27d03732b4367b21a37697a4caca4e7934483a28ad27a69b26b1a4fc1e248cb58561203fdad74d2d16fd9ad87fe190d2eb2b43adfce7c2c623c4b8eab4319e75f3a9c64034c9443c37a1f53968b2727b6fe224eb0c1775ff4c049499e4b2628db4685e1170219ffff032de7c64aa72a6270df7206ec271a3d35322c814530e1130eada98d58f99b33a603510b0436de50ce287f0320a840506fce93d65b15e2d9fbd7b44a4723bc364c8503d71698728736fcb560574690db0f24e7366c312e3503b9d2907dfc3d2ac1a03903234573615554bfa836cc7f2bb7e49e36635ebbee6b5805d3f2cf278ace8efd280348b3f37a52ef72c55b2e4eefaea3a7b717aadce06e330faa04800de2dcbc83f103438eee1c24c3f6fc6c8b205f5790c465ffadfe0257418f3d12a3d14f2852ab7b035c883b25c682b42c459a956353be8e572878193e9c2763ae9ffbb6cf20b49f4203b6e7ffc8fd93bfbbe2e7d30f76a32b0b384de16655592ebf6631e616ed86ab4c0389f17d2fb07c4f25b34d34a7c8db63ca9d36709a62c4bfcfa46717f9196c239200581f0228602fed41bd08ab59cc07453801f5f3a61aa2855297a31ab37f8a4d6ae85820fffffffffffffffffffffffffffffffffffffffffffffffffffffdf93869389400581f0201c0161ed234341b80b089de74b8f0b4baee1051ccb69c916e350277e9344502e6de343600581f02b8854310be5355c31e0aef73db9682534481d2de7e023a421545bc8d2cee452ea2760bdf03688b3070e5f19221c436f3d092c658466541e576a515d04d30b4c4811f8ce62e00581f02ff1695beea28e2b0ad21f1dd347662f28cf9115e34ea40ffb594674045445820fffffffffffffffffffffffffffffffffffffffffffffffffffffeb25b16c9d300581f02a907a2935fdd0b294542414a6db9d99ca4914299b35d5d67867d296b6fcd451fa99d261000581f0241ed3b3df4b48f0e96c0667e971b26403774496e186a9d944a4e5e3eeb804403741cc9021969150389d0ae4654ebf80c611a92bc8434159e66c2a12979454ce938fcf8d9e761c449032acf67c7b67cc0c592ddc6e207367e97297d0b8c484aedd22b2d07e487de4165034d4505efabe4279fb6c89d75bffe9ba69ef0a21d6c6621daf332927a3bb267bf03efa064927bb2078d44b82a10df327f91956a766f8afdb55962b1f60ee846e36203d07a67142699ef4472cd7a57f97c17174439b5ae995cfb3e910c5bfa604f0095039c76bab2678397d8c799ba5896f336145afe868a163f03645420f03604bc3c4f03b401699ab877fee20088a696f60a938ab1b3daca6f99ae6aec4b41267d149b59034a1874864b68ceaf1dad9463f31482168e55b3928cece0d906cec390413630040392b11035a1a351c57b06fa5dafd1e559ad6b38d4bb38eaff6b67b1c96393deba03bfc78ae97c0756c5adbfdf1db3aa9e3215ae4432aff413238847b0bbcccefe81034afe2d0daef18db780be44945913f8941092f70abaa8404c5226c51b166947e10394e5044c99e0c3b56b64971e1529547218b855880fcaf09c5122eed4c6f900510352f376e4ace100e1c12674ec270d877106c3f376d168a482e8458536342e5c3503ba11902a7056d8a3e80942ef526a61d58882bd5431be6d6e7f903b14efce6f9f03ad9341775503c0b55669cc6440c38e5d7fd1ebdc7fc7032865b057533ecc2f6d0219ffff032b0f70824ff87bc83d1a8e13d255c704e72d2877c268a3bc1ba02c581a70ffa503cf7352a214af3a07c6a8cceec9a3e8981c0604bd53a4af820c76b2c2094f078c032cc049048c9e0ad75f9d68165e4b1b864a00a436f2047ee59a98fc2479478ee003631239862f9512e59357b82b138d6af9b94beaaa8c67dfa7948da3a00bde1adc0330ccb4ba48bc52ae1069a5f68dd234d427d38a96df92d150d944dd0342fa4980036488937dc622eb790fcd5436627aebe940d4ae210e96bddf6036e9869909e7bb0315809a9dcbe3081e9218045924431ca92d9616a6c3a7edc8e6be46f8051d62f203ee13741b7193c7679778da7bf8b622a4afc27561375812cd99bee0fcb154a93c034c014ddd9ca1ac60809a18de51518449b8a0501bdafb18897aa2ef0647f5169a03cc451e2827fd05be80d818fd87e43ff260469fbe1ebe92f785a63530c5d815b80382a7737efea3cd7a5252850b63e162bf1f2280fe4d54a82e8db74b6251e62d0b0300fcecc773c3600e7bcf8f69770bba7715e2cf49d9d939457319d9ef281078eb034c04e22a4f4e334bf0c30f0a99bc802ca226222df0b4fb349c9b290c1646b8cd031e155702b8595ff2a244ef8f390e51fd6c58868b2aef7bed1df7b2357000a08803a299a5951fe728d4050ddf1928ef34d3cc396910bbb20118a767d757a29a846703988d04f08ca954b7a6a83734332dc269f45bfcbb06b436cf1782a7611a7cbb0b03676ae04c7d58a08e7716a1d621b0a9e36c9e5e633dd6383bea3903f74babbbb10321dd51603b70462f4e2ec7d1696481ad82ce03f1ef0bff59154e240d41a9ea2c00581f02a7d9a2570ae5890599208adb19d7aa7473ad0bcd752d42f5fb5806b4093b410300581f027e4aff3188dc875172764383af9efc8bc363689398002a375451b9c36d8e4607a4cc09724300581f02146ae492465731144e22709fe3fd5728e5f8a8c2495ffb49a64c9da795a25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030ba9c0973d195c492737148bcbc51633a53595f789d73804d2c398671c5da3ed00581f021c246c6a1a9609831fdc0736c07afdded3c4d39360dedc5b7e4b23bc98255820ffffffffffffffffffffffffffffffffffffffffffffffffffffff41ec59fd5903488bcb55c06ba61867d556df5fd31c1a28d80e5658ef2f881391e3f5fb3a537900581f025b3d3d61f7ba90531a6d177645d7c55bd5f825c34fd80f407ab705702fcf45090dc7add800581f02315a8a9a5d385f03367d344a0cab9b5e486bdbb3ecb989e1efe63e8e594145033ed962aa03f4bc8f7c6680b539f685f2ba98594a26c3becfb8573d67ca11d50ed590c30f71037bd1e914ff504f8612a301f4ac1dc3f1b33ff85d4bc139e418c6ac45edd852720219747f03b1d16f11046f3a52e0ce7f76a72fa6a50e50056876c935be94f9faec7035cdf4031c71d9171c716a15c9f7f25795934b0d020783c4355374615f16cb1f9d7dce4c0219ffff039856cbd9c7241974716a59734253dd00ccdb4bb78111e57c3d5f56f401db81770219ffff03fcf711a0a819a28c42df82b2ddd9d7a5ca2ebdb9a46a6678dc696e3f1eb05ec20358d859e8fe35800affd5e04e54854b36709a684a1a9b5f681c9fe534f9af0dc503ee0176b1c7938aa2d7828f4713fc8d01ba433f0a42081a9605a86702014d3fcf03317f7038ccaa191cb13b627615bde3aa59d718fc30af82cc1b0f230998023b1b03a95e3982cd6b380b44f74fd398d4fc0b55c1e33b20da00c3103f90cd43456359030c21cbef72cf38c77fb03dede4dd07a1bdbdc90ab86eb2662f9afff2dbcec83a030b7896542237a69e2c278870f15cb8c92c0b762e81144142fc4dd8c6d9042bff03023bf2cf71a7950f444242046996d96d61012ee0b4a0e771dee3d0e37e3c918a035b31bb1677635682d99a6b6731ae50ce2e22fde5f6af21d8275e1f1c11adee9c0355c833d4db4926575d1fb57568c72baf16f18f931086bfdec5630232603591d5038769ed60d16facac806ed3fbb2b4035162a23ca98be292f1525a3b918200c109036a2405297055fa0ee84f6b0fd3995e8aac6338d37164bb1bb95330e6f9d25bbc03956bb6f955dc3da2e8d2016e1eb2853c095b7bc3006f42bd15a56f1e52e83dc0038507f27c0df323d13ccf18ad92a6b96982ddc8cb759fede3d0b0fc36fd65297703f44efa4afca07dc1eae1d9afbd3cd0759c4f9c34630edf974920851eca660b0a03c18c0446df697e28f4fd38765624e46f3af59d7a545264165e9468181f98524900581f02a6b7b7afddfdac8b9cfb5bdac683b3afbc4df143be242e40ca43c8c6f74045473dc6bc7000581f02e2a6b0fff0dcc7101d02b12abe780e21bca8417e5972cee7cb2fb0ed53b55820fffffffffffffffffffffffffffffffffffffffffffffffffffffe4106817503030fd2178b15d17dfefda53c3fcebc6234647f74afb41596f021aa046808703a2d00581f021250a559273fad7c3fd46bec4928f2933a9ed88b48896ee0776fceeac5e3450d64fd345400581f02aa47b8e8760b850e13350db8eb9d171bed5d0fb5e17ba29602ee215c6939450323d8833c00581f02d42174b7a74406ddc528de01188a49e3986588212e3de489e368b2467f374511b5ac085800581f0397d5cbe63689c47c48390c323b7a5b8f9d660dfdb2ef0b44c703df711f1044d03a8b7700581f0324ce288b2149fdc3d536411daf3d9e6953ce83b669af102f252ab4460eb05820fffffffffffffffffffffffffffffffffffffffffffffffffffffffc6da8224200581f0321a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68047a6fa40407180000219104800581f02cbb371e73d4b063f84a9785c6c88b17e6e8edd3f3c7302747aa4ca038fa745c72b930caf02195b660369f339be6863a4d10ed9c7970f6db9877dc2fa0ce1db8e9d962e61a6d66c8f190219ffff0347674de1edafa7706eb05e55c8428102736bd6e085e39e3df42f8170206c4c320378f05b80fdb5ffd1cff0977abde3a38579c73291a8a4a8d693a3bc923c42333a039cef7e40dd08c49b3c328d696ad0b875daaa47769558e283719fc3b46a88b72a03b7a16bd9c0e60098279efed9fb827e86a93bc08e553eb4a232607513840a946b03575faeafd7d753ce5399c224f8bb88aebbdfc1f46e465cc5b8eb6b39ec22ca4903388d045bd5e94117249722968bc62a8b09f0628e0a488c6e681e52ce6efa31b703776d8844ae0ae9b9cae141d07d00e6b00e0c570abac59b95364e3aaa22c5a69e03df8ec9a42709d4d4bf4dcfc599e265fcbe37fa5c941185d4c0750b0dd63b4c3603d2e9f1001f4c0e1e063c9cbbd5eff4120d634ce17b2796ab3e8b8cdf7d9330de0344e557397e7b4609f53e1bfd6b7f0907fd7b3b41eb9e3b638a272b50241c05cd039eb28bd2111dd030218d7aaaa35a52b5f82ee67c433b5df91a2bd316ec95804403bb349933316933ba3cf59be8b153053e06b6d52ce0b92b11dfc86d0265c72a700332f5b818a3612d5291839042b833f7eaf0c6c478525376831af17e5b590abd710383dc5699b7276ac2e098f0b68c7a808c85df66145005c6ffcbdc4d27a7bcdba70219ffff03049a3001e680d511fa974507ae759bea66c00be2cb8a78bdff2ff656b3b9d9cb039f2a14eb31f30c8947cb554ac539ae9299a2fc029dfb17700f352e815c77111103867cbb06ce2e0d1265b870d0be1311b5bca931c6fa1d9208e89ee974e50bda200362baf5feafefa8331023a27787d359d2f07f261c21aac7fc113bf658c55406520330c0485f1d1fe4d20b21a26ed14f47d61d7c774d3241993f44dc7fc0541190040314b92948c86d0c8952926dfe59616bd2c87aba23a61df31562581b63885e8f870348886d1cdeacb606ad61ef9a2f2eddb28737137c72de46861bb2248c84ce77e7039fc189fa18538edbb0399808247c199dc6fd2fdf5dc38126a8fe157332679d55037be68387b4bc0e5b882417eb8187ba37e2eb3fd437bdc8c49f2de6e08f0f83a3036b4ba7c496f7ee89a86686ffacac9dbbcb52694887408923e2be871e25e6078103b1e1b10dd27cc6e6126ffde590759add977a6f2869eebdf3bd8223f8258ebce60320a9a20d216a3257ed042a3fb75285e167b0a0e1d273b287aa1e2928dd7a40d2030fbc34138e2f379e0e65a1628c159024071b3d715825965059ea43312aba43cc0364153c036b40637e9ae45d8338b6ef75d7f9f5c4e2fe0d51228b235ae9e16d1a038a827b222455e850a2efbcde52e1b8356d15830b62ca966cccde08f188a509c60302da18f7d812741f1453ea274ecb8d268e3130183222668cd767260b83d3bcae03648975d2b64c0f69f0a0cf6492f440128c22691dde61f5f78e8f519847b560a503d133befdb988958174c3778b0d50de3da7792af36627b665e7f12ed5482473990359dfb212dad5e4a08f8bdb985b077feda00da5945a8ade971fe641527a15342e03c922d8249b52dee0d843665da9ce9e7eb049168036936aa46735eb982483d7d4035c46bcb4c8a23d3e0c4d8533c7620e177c4eb80823acf5ec421b62527684736e00581f0264cf4ba08efd0c315c908ffbab4a3e612cc499547ef29d378785ba57b8bc4517b8ee3b3500581f0280cb2f49421b08bfca802ed5a76ac87d0b41cf2621729c4e532977eb19be4502540be40000581f0248fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475547a250d5630b4cf539739df2c5dacb4c659f2488d00581f0248dcd8eed0245d4932fcd4e44d791806d2bf5e2d3025e33ce03dadb4db655820fffffffffffffffffffffffffffffffffffffffffffffffffffffff5278bdfad0317d4afc842e2733919db70a02c6a4444b10aa729cd02c419e3f5281946fecda30322734c72a4fe5138ddf0e6df9f8ef70808a1113c76c7d97f8407872fb44dbb3200581f025cb0f1a9bb37857fa8f24bbde0866f862cdf99c2c8794ee8a0679de827355820ffffffffffffffffffffffffffffffffffffffffffffffffffffff5f1e28abac00581f028cb51a9bd7ac6700709640ac6d069a7346756369f45fce5f7fc55e31b925451a7667d70d021926d30219ffff0338ce7c8d01a326e2f0609d91a91ec5d806afb04323462c3e0484d677b889b19203c4d12463e0a29d6f94ff2fbef78cf3b0654596260903b22424b2158f562769610353ce75e03f4b276556ef24a1a5c0ecd29bb0ccd136377493bdc0ae1ee7c2ade903fb3446a2318a1343a141f89bc1c36828d3429f34766fce306f2bb2a766b4bb2503a36f25b17b03ef1c3f2a326f7f984fd95fd9db7c961658df52c19513ddda3a9e039991065f05cd6afc9c128e30a9fef0b15050421a67de34ad2e6c1508b4538033034efb8e01aec02e2613a3781c37615447ea920c80fd89b622a3705d4b95048dd6036fd129c856d076572825408ace4d8868f8c13f8f5c35702a61c3b922bf32729e0359d46c09b1d0645d5d32c58430655cdde19074dc1051d53180a0d5e3218169ee0302f58dd4916f9e264b53c82813a38facc4cffb659eaa75e4ac5eaafddd6196bd0219ffff030c130dcbd283ce6f97ef41ccee444b63365ec262e144902801e8c43682e666a2036bcc8f3c42ed6c9712bceb1475dab05721913623129aee6687a81bbab719bb28032f198aed2fd2eb6cd13d5061e92120412bf39f42054254a994d7356174fe08bc037ebc70e268d9b982facc2fc3b4fe2c98e113d854a6932be80aa15959393b862a037135a0c2d862502284065e2c908f4b4b3f5001aa6f4b574887873761923149560388402ff447bb6bf0cd31d219fbd44f2a6523ddc08c49ad473d000e9b19c21ed403da9fad39fc977e4efa3df33542aef9bb8c3a2b81ec85dc1e452a2f3375f7158c0304b168a8cce1c641ac591e07acd4bc7fc26772837e46ba279e4a29014ff2a585037726a4cbc0e71464cd1516767c06a34d2773a57421bbd6983a4d9fe7395ac43d0389734e74695be0d3a397ca6d8f3662208d0a794d3bf70b1e7f7e7e112b390ddc03100ccfdbec3267b1031517ee5aa001826e7e042ce0372f4932c4ad94ae44484503db61dc3378918735fe0e059d6de171390c2d0292adbcf68ca442652777cb881a031016042212837fea7eae7c2b2f59027a161db12d7c704f5772ddfee600e6f1b803f4e056e8ff12f218a6d3e3126b85a0ce0304fb0c7afc3e8d9ae910b2a405067003b43bad378a40f581d7b251dc50e5a8a392a1702ec55c5e8db2aeadf5b6189892033222d16a20991d0a5f964360796a6587d2b24fe5caf98b45a5ca583541302571035b9a34b047bb30b787f47c55ac86d802086c3e2d8be1e034ada5dad9be0e5ac603bdae441f62185939e4a862b183cb53b47a6c8326091cfd19cb3995a154c8875903f0ffe242cc98a7a3fee9b22388b608bb24d2611d88effc63cf36b236eb52961403ef41a9f677fdad37755b66ad03ec1350e4960126196b581a4b900c8b863ea7c203aec6e55c3a982f6a2726e659c07ee44ab2c296be09c2d2b7b4179bdec63fcd44039120cc45d46e32a6dd09d96ab6d5921ad75be14d8201957d9300dea2c3d47a10030838aff54cd00c8ebca067cf8c8f73ad6e99da8f27d931e8e4fd1848f34c0612037f23a319d7bbe8d69129f6a224c491de4ae5a6dead55e9287c60aa448f41d60b00581f024b1d5eb8b93df613f2b6b2bc4fb642a9c77833ee10080cc011cc664742fa5820ffffffffffffffffffffffffffffffffffffffffffffffffffffff8a300cbbf600581f028ba201a0b4866ccfb976d028995ceaba32e909c8aab50b6a8fa6645fb95e450667e975f403f12e115a7ad42f2b02f2a2efa4a787fbcf58c449d27bd6a089e06fbc5241e538031799664173c73b992583c9cabc52a18d00f95be4d2b0d1f3a220d4dbd386698803bbc72209c0c30d6212e3435606567b23fadb3cea5798a8123a6019d671e0611300581f0379bf8e24f014def320537b417f0a18287770e08ddb08dfd2fb304dc0f4405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444047a6fa404071800002184200581f02a5f4240fdd0d5bdcf1fc4c0019ffd118b652126f38f880ba2a7902b23a93443b02338000581f029d12953fb79228bfcf7b5b26fe3d7bfad32c34d0575be9d92ac77863fcbc450e8ab1a55702191e65031c562b72ac2bcd481023c972662ac936b4640519633cfb12e28db0780db7e805039e2ee0aa6505ebcc95bb26546edbb91a68750201098cb1b04dcdabd29e6794400389c1f9aa8bd5993e52f58468506c6f84ddd8d2f578a7c5d2f6faaa6988b4ffe2038f608075bf091982e8bd23c9e75611499c20e456f44977dcdd8d985d1bf90d5f0380fcdb08c9c18e0853a17519877efc16b87359d8a096913bde4832c0da08ccce0329dd7cb7fd0e896254592e7d7d612a57d4ccaa8caf3cb1235cfcfce1d57630e903b6529427ce49f6ea1529b2d7baad9f955cf71aac7afb0253c708dc35e45415100219ffff034cce6519f4df80cf075ec93934608bbf0c37063dd3dea25f46dba7708a835d3103bd52ac3b66cc3c6e5ac36040027678986cb7e57f09cd2c9202733b43acfe9aee03db400439d4b868ae69a7f6567dd8130b1b097171b9bbcc4b2f818e096e33f85003b68783affbaf4a689c6f7157eb6f9a1b7173620d2378823a5adf82b03ee40e930219ffff03d9255feb231de2dafa3e943b326dc4daeaee82f1581a1d123286a39637fdca5d0354cea46b726293900b0e6b3e8508ecee48d1819d63aa0133f73b47741203e30a03531574b37eb65e3fe5e6752b4dfff7e92f09fc7d317e191ba7d77ffdebb9c06303a4b2c975aadde82bd3ef99aba43568a002db4a234e174578561fb1101611e83f03e0717b07bd92757078c4201bb3878a67bdf8f1ad22696ed55cccc55b47a889ed039e994af77a06b69bb161be66bea0bef36fd4b621b8693e2990d5b083d5d5bb40037e143a13930015201e6d8992821deca9d285e63df8e37d1a0929af564ded91840380deea7709e2c9b02350e3e5ed158f90d1df63aa68accc6b6ec99fad4098ec91034b530717dbc4749b9ab00699bed6a104c1de366fc8c90c5f81f50789478d522703c13cbcd22f423c06ae0ba7b82f66b5a03cde0b6256fb031ab48606dc4d10a65c03920ad5847141d96d0006b0cd30b8c105792a2dd725e05e3f15ecbceac0ce747f0378107d6aa6b3f758b0aa4d214250ea0ac18332706c019ccb46ae494d28b8fd4203450c2f7320e185f96fc4ede2e115f2a7b49738f902886b47fb4f36360a1cf79e034a3a06230a02c779677c818f276126a60d8ea515549f575b09d497e9bd3bfc6003a7a4ac9d38114159657abe7e3d2f195c9b6b9af46b14b8578fad0ff558e43775031fb55841ded4cd7dc9a63ddb49585098eec70758bd2c4b4ffda8d3241127fb4a0360339ddde2ae8832adcabcc21d74e8c110b7319adbcc130abec217e14ffd42c60361f53b18c6da76eb173f0e7c3ac1e0d7af194bc07163c7e155b62497ecadfc6303d1d00ddbc6199f033c45acd321ba3ba819a4d39c8a1529c10a7d825a971006a400581f02e982706a25dbb3d9697faeb0e61eec0ac981e29fe7f65c44c0efb1d2f94245253189d4dc00581f020f285e2f18bed8a0542d951cdfc555a03bb2ae040944f141a2cb8e3f1dcf45175974421100581f0390105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50411400581f039562e8b61b4be6669900d88f491c2ba7e64ae4133545216f144421fe9ca044899133bf0219820000581f02232fed11e3c88f6e8d183e3c15d1dee6369f8d66411a4839181b7717186f45315301420400581f028f861db83f519f722d6fb42bcc140e654087eb057b0c072628f5451a5763450eeb4ed6f1038adebf8e9fa1d3627cfd8b10831dad8e2a4505f49b95080944d1d7df8b877b7c0397b4555bc33b016cfed2fcc8f5cc2f4a82bf29f879fcb1b5d836863b0bcb2f8200581f02582969a536126d2185cc2346e2f22b3427f44486057c1109f927c446a0545820ffffffffffffffffffffffffffffffffffffffffffffffffffffffe85902918e0219ba510398ca89151931ce562d5046ce67c3b1a6b4274b9790c430c6b25abe546b209b9b039668085bdd6c78592ed0711bf1e77ce5538bb20718ed3f36a146d63691f403370378f803a3f100d6ae3e78119ae91232b25ff23aeb626b7925ff968f1d11b79d0c03da339f81da0a7acb7dccb88735dc77d6940a7f73f90299258a53c8a191f0f97b0219ffff034e4541f0de48a6043cac8bd510cbc31c0996f5100d775eb18531611c7c9ad2f903c5be25c7e6fde0f919487e90a8159ff75a4633442531262399572328207f9c680379560893755b129659d940529a484375b23246be5a291d98ba5cd6c0e944a73d03edef8fbe9f6ed7e4cecdc2d5e9c102ee8e478b61f163b8e58bba968a31f649cb03310631b332a428b313551692158ab6702a91511b8eb383e25e0b43d3d480639200581f02147d7dc355ba459fc788f669e58cfaf9dc25ddcd0702e87d69c7b512428957010001e4b8583ccb95b25737c016ac88e539d0605949e803164bca08f0ea682886e51ae8c5ef04c6d580838cb4c2b65c0b2ccc19267e1295038e6453dbacd2a9bf8ca12bd03d8eee80e244cd3549b5e557d629588947ab2417037014b1ac1233d7dcab8f80199b19023cc8ebb97ddee1e8d58c3c76cebc9bf46100581f0215d8397d86930c48c4810dde3fcfdbe19a71d1904041e7945dfaa25cc1e85820fffffffffffffffffffffffffffffffffffffffffffffffffffffff785ca462b03c2d2d7ecf9aa6d8e3fa4e8ec6b8542b4ff9ba4dd5a9b89e679d737e11da0a7ec00581f02787409d289ae3f6b78b86db2a0bb5f9d14268fa544d46cf4139670810ce245622a49c56500581f023140c03d8eb44b4d9bc27dcb44fd3a02401e525eedf0f3c0d5875463a16d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffa7e40081e00380c4234e1df09776297bd4082fe95b2e3e2a3a6b6bb61cde6e4c468a6e21409003fea86283c29171b5fc27c4fea408db24f6bd79123b0654b2e670f997d0ad8dad0219f3ed0304e36915a23be649dfeb8b69caa9176e56ab554e983eafc35cc5cd145bd61a6a039fd1092318c9d14fa6b703d975ec74f1edcb0c5e44035452f141173c9101ee9703be0c0f47ec2cf9372120d4f6322b97af5288475fb45aa8816db5590c465481e403c55b222fd58eab79e587b579065e6e6febbfcf4d5aceb3850109125f714e511a03bc9380f618441a4e0756fee33a2f75a531a87828c6992d4b1d387004c2f9edf6032782a37140b11011ecd4956c66f19b53930e225a50ca26cfac8070341f2b4cf70383e49b10c4ceaf4864e8a99684ba8dc672894e08fa93e5f48030a32155898aa403d5cbcfc778059fc6de116a509a9ef49ce776369d299b3864ea68b0bd5005d8d703cebc85af0926a2eb59b2b5217a9a3d2b6940d0a6cf4dc05540294c4de924428a0371d2d7be7e4e06d020d31cd2edb06e9b7b9dcfe76a4d54871384bd42afd0f57503d5789927afbf2116661c46660637c40c6aa976f8e6890445981b502f7e70d6aa03a907ad152b3532573527409a324b9b4a90b9b9804a0a1d6817fc019d4b8a95270219ffff031db8880a624e975a95437c0eb9e40900ba5e9096ec8d59a09fb683728621512403814d1bfe1896c7163700ae033940d0de805f56bf4d3c2bb88d77ba5bd8da4ecd037057d087c301eecc49fe327e1b0809f241649ca28059f2e11ffc4599f457016d03b726fa4a8ecf439903962e88f960e2ba5a4e7221472ec5f306f77b678748085d03ae60bbca97976d06cbb436f9270ed0a2c428779505bf03baba413798daeeafef0318c1015e97ac755d61a67709a7b229e3e1637882e31549c5f6994e1c37af09e203d745016f711705b4b4d30d4731861da2aa89e0291bc93d9266b19d68d87d700a0219ffff03605cfb29d7c32b6cd763ee4f26f834df0b7d0269849a4bd51273e8800bc92d8903cc356d3cbeb1641c3b73c1e400b3423b0eb347d750871c25792241c0b9ea733a03c3519468b44465efe8c4a9f0afcc1b7992c6f1733e4841bec9c0de81c6f4c4620366635ef8f11679ea1ab1e42dbb76cc6e39a364abe97bac717524847dd65e7e2903980a2b7e624fdf95b4a768a8416c9dad40567397891ae907d852cfc673f8153403beb386bd8c2511d6b408774c56f9005492a79bb5ce7f8eedc357174077296f15035ebc7c9eeda9df5cca3c4706bc5e6eb0185688d5131a47f4d6161bb52eb8c46803d4407e596dd8cf4826c77b8e0bd793da5f20cc717e810ce200f2fc6b5fb179120339bba164a846e486ca66b7f17e5e69405e0b6f23e5216f1e27e7472c116e05d703324e49980ff725962ee2c81d8c004812c57092d529387c011af89ec84977d54a037bbea2114d112886c07569ac11221af2cbf3b6306d5a98ca36c4e2624283c97c0311ed6ccb4caccac76e0abfd9497499a52f5ba2b806f0cb11d7b8de058150fc8f033b4f59968ae6c2bf2f1e349ab91678273dbbc4a7b0a1c0a14ed34faeebcd41f3035373ff633a193c226d712d6e3a29a13c029d9fed1e02666d27c7f1d751501ff1035216fd5927cf45933c327cd209499bf2873d2c161ee5bb093f585b108ef989b20380917049ce46c52976be0c1bfc4afec548998e8aa2ab169c75e0f13531cfe2580375417b31771c6b55a885b1a0d211d78cdf4d2aa3eca60ade373d42e12ba907f003205dde8fec906705e270516789717dd3b2be82f9cd2bfedb47297ee2ed2b15f7032730d312e4627b5102903618bc61c25d8c5989a4d898791bcbafb2690d77172403c7bb0477b39dd1131c1558f8669d3afa29fcfe5682e600917b9212b9e837fa6503b67f89a439de81d8f315d6f64b3935b2fb3e66c3cd3f272222cfaac363afaf02036a165a19e76aae506cba85280cd49dd52e57faa3968657c37cf1130f23f7f3e703e8f5f2daa447d632b034de2ddaa8f663992f550d8dcabe9cca4379577c370315035468c4a53e0acd9f29fae5a506124f46f66e7f2a45f8b6f2cb74d7a0c478c6d000581f022e4ec739773aab14b7075dcfefcf57a8bf6a3da5e0809739ecf3d86ff5cb44c20261b000581f02ea2144b921c4f71478c66d9ce7f53c20b7cb6f2a90ccf0e252e80d0fb09d45336cec7a7e00581f0289756990014abc171b2dc11750d371ee4c1c4b9f71ce0d0410c6eecb054c44aed7476903374c35c9fac1704cf9afb7a33098eb95706c262fa5d549a4c7e0e0afd6cd93fa03ac424ebb12e165bb7f277e7b1462aeabd0716fe9d4334bdce29507b575174da300581f02daa78a7f52f4b790ff18c3281c8af143edef7d1e0f90a60f36abf7a32a1e4501a569976200581f02bf2a762a84600400930852bfd34d6e8444a73d03a08266c2f66d9313e56a453b66c7400c032d8c6bf1bc8c6ff025fdca61875d114b10aa2aa88266d04ab389f046fadcff1500581f02c1be778e8276f8f9be4d187b5c7a97fb5898f21d5d9bc60e8300ffc2786a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f81a0f652f246b4355800024c2762e0d5130724a13d6cacbfbea0215def3ff0b03a4c5894be1daa412c496d0fea0798f3086fe31811e11b362d972cba0a36c2ee100581f02f981b2eadd7c5504a2bbea19095caa1c58d72998aa97b2d289d3458d7b4d45014e90654b0219dbf303d7490238cc0494d74088eb843973426e52d1927c3d46777ad368631e33b1a5a40219ffff03adbbc78bd8795708e604e6ed5ae9e071c399738d50ece258c381e19a4b82e61603c9a9d5d06625c3617d8f682903dad0d88022d3a32b0d8cee45496dd4c34c090903237cdc6bac53262e758353fef0e033ece19805f87c615a4d50aa0c9d79510d1e036647ce8afc9af41b518f9758e3be9c7d88bab819c0194d4af8dea4d704cfbee403bce5e17a7689a72e3b9b831498bd6e787021e45907af524becdb79018c39adf90219ffff03615bcec0ac98c0c966236c5cacdfa685a72826463d627d69d324f93bf706c21d0304c788bf2542a9cc8387703909e9e5edf8ecc0601c3dbfbfd17f0fb8aec57fe40379e2a5eb87a5a660b454e3f5fc103b9749a3572710c743f32994afc2a8a4b0a403aee3551bf81c82c5fabdd37fdffa68340e4b757eba7e39acf878ae2b2cbe3589031177af77495d4283a0bc7fac4f0f396400c29894cdeb3f33568059f85210e644032763b41c71bbdf4747028fed7b8773e0ffb1e54f5a19282ca71e2236e6c7684c0387b44e910592d945d5bfa332cb8243d68a1fb31637fd7fec450de455ec847ae3039e21c9ec96698cd7ea8c64b8086747d468ed02c398c08eadfd1dc271abed4968033f75154dc629db1ee680d50bd562e074ab54d7b8dfca245318c563bfbdc3655503a5c9b4063d60d183f19aa8c5a25348e39551d6f43b003abf91c4916832eba2570312120a31f3a9e5ad197b8c6f7b5eb9295c43f644a8d41628fe38a5680ae40b2203b2bbe0b0b350f2de81ee988aef122d8c6bed5c03802a5fc8ee40a1a631a3e50f031311d37b1e8a1c2b5ad3e99ff7a5459ce690e6cd1914e8c05692b4156169848d03d2fbb15e128069fc1d581a74749307d13283876a90e09c5f327a3869d20559d60307171ec8a3e2a9e3e603000ef5c97ce8672c5365d2f331e1cc47dcb93439ab8d03c8f063b12eb366a9f807640234263c4aa8f1e3c1891ae4fb4556ab3dbf21e3bf038d327d65bffa652bf230f6d17981e35deb9b68cb3d4a44d254f2cbef92e0aea503c468af13475556c3317620f799c21859a143a89afa33835fa78c1de0aebd6ae1038563926509984f62735a9335969f79eb08e8859f9a413475b69ebdac45e3e01900581f02028cc6288b0d085ddd5532c796e8728d83bd849f968a6c1a101fa75792315820ffffffffffffffffffffffffffffffffffffffffffffffffffffff9484523a8000581f02abb47682cefbffd646f29ed99a4717d170a77b5d54aa29a06c5d68bd26b84520e61ba46b03f9bcaee418a0c3de262deb86648c73d88ed88d1133de69bc7955c13b84d70fc100581f024d953d6ce1d08162817b0f88df54631a06cb7aa78dd85d1053accb3dade8444d978c1700581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee34401110ce000581f022b5bea160ecf87ab00f921319771d1ca9df1e0c0c0cb1af404ace995026444264caa3800581f0261bc95bc97c61fc0c5fcebc09efa48fd6ed144785d10d14fb02cf0788fb94293fe00581f02cbc1a890caf5b6fc46c5e6f5c39c6a95805d7ba48eb67fd4cea3831cf7ee45023248d008038b10c731a066ed0a51b065c629d15510d7a077793f84a6c3e5ec7a1c20c9f4b70219b2af0219ffff0303f8555d0355479c7cb4ea49af80a0902fa55037b649786ed7bdcd18c64dc20d0364d301da8d1e4d5d8daca9780d24c302e2bb03eb5a49b5507225e8245febb4a103c7a819b3828481a1dc311532ef347b1c37fbcfbc9e80ed27d3c328bc4c2718d403ef9ed14e8fc6b86f6996178cc20ef7a51530bb6ebbe2fb9faedc438a19c31bb003fa302f4caa31cc8f6ce24f3b483df287ad7e4e6e5fe87a1fcf1ea20c0a9e612c03371c42ecf226494e9479748c56c717cd859176c6e994d19d9e2775cf7b1a45930343bbd04a6427def97414df6f824e60c28e23e571cd8b46b72eb13fe3db57c4ae034715bc515fe0dda0aff827f575456ac26869b625d2d0df5a0c518ab57ccd7ca1035a6088a6cdc24ac9039b93e71a7e831bdba277a2248cbfdb64600783e08dc5b403617e5de28ac672b3fba4bd8bab323e64346811f36e01f46f4598b88a6c9f2bf803162c7131b4b1d0e0e676f9309c995f3d410e964d29988583a036f723f66c20920377bb2e4516b09437effd3ab1c27a70911d9bd21dcc6f74ef4c6fd026fbe95a320219ffff0219ffff05581d025a8fe65f86e428ba621fa355d546c04e501e99a5eb8ff4598e9585280f014101191a2a05581d02f0ddba0e917cedc5b7d7420a2b334e2439f28594f74f72afb83b91360c1647021144356151c0020705581e0300d94569eeb726d57788a38c5745bf67c9648c161323c04e6ab89598400c06470bd898dbbb584303d67a5bf5a2b2d04b4b54130a1c66926937c8be4d5bf70e8594c291da0791250a05581e031767cf4d499618a995b675b7f31d2ad10c9d004dc5f610772e2e8731600c01461330ba013800035e84da026fc0a4febea8585835faa1f29485e782fabbe08a7fb4a4115b40b42c0219abd603634186a93f9090175f1acb7dfcf411501475ae1eb260d1d46bff40de8cefe0cb03ac5985013e9c147d83c232668a5f3149543e00ee8e31dc45a93a4c4c67d9917b03f2b5a892c662e14df8938cc66adccfe5cc54cf86244f9107c8e11a1cd4a2dd130309912bf7e70dd0160459ac14fbddec5a54e9d536b79a931053b091f61138a93603fbb2e19fb9a05d410698f2e10e49f2d37430b8f6227041b01632fe1476a7c142036218f8aa8df84c8f531ddd9d1ae410ff6ad822933af249048dee7d956d6d40f8039b0293bfcbff55c903b6d91d7d1748d8c6ed6f6978713546f8b7801bcb57ede00357b4b80efc8be8cb7b04b1ced265bc8544c0240c6f79f6e15569c4f90148c2a203be2909504ce5c3f63383ad6d807bc7361a47f61e49bccfa1a6e53f32c725746a03ad4490c2ee8f4a5c9077dfdbda9f3e501af4f5c400995603eee90bc0400345f7034bd7810755057f3b4a261dbf6e86227d24858062e1ea6b5a72b26d84ecfd99120219ffff038c98f40872669ac281005fd32e2c0e25de68ae5e37da7306df853a106edf21e30347c885494f2ab1c54a1b950b14e0a4d961d52cd4bec767bf25b0b8bea53d4eaf030fb5c15c16009ae502d22f3ef99ac83023d47c47f54fa1ee5e93146ef00e4d2e0219ffff035857ad518821da28c4593309d751076d24af38a768cab708a30375a98ff967a50219ffff035c7511189fe2e5d88005cd19d3abbadbca026ad42c151db17da98f1add42ce0f031bcc70def3dbe4af7edd959c3c22d5e621e8db6360349f840f4f813a7f910d5803499ca3bb170bfae4039995caace0a940d3f013b7f980064eb6b8894ae0e5452303da540ea2b0e0376012cf3eab5c4adc6bc6c73e766c0b2128bdb359aa1eec916303bd9274fda7be16e34aab6458a2fbed6c74596f49c1c524a8a729fb675315107b0311b46926852bb85adfd9220a781471b69c145ac5fd2a0c40e1766f2c3f79ac47031de52fb8650d199a648fb084745a690be9f4364efb1e1db650a68570108eec820318ed4385d5569b5d3f0213fac00be1f17575233bcd18792cb8b6b1431df073f003465098e63fff15deb2255a1ed1cd5cb6693b227792630a3a5b2365fffe89367703c7a93c6ca598cd741a3c965fc97a3d7a0a75cf969898dbaf206388d0340c2d2a03712356a1f0449fc0bda83f929256fe593fbb7662fc1b91f80aa3e0543d3564b60346abdf1959f65b460f73d8e872e3763acd6403fd7c3a49f343522abb7a4d1da8036f4f54f1ff953f87df71c6eb65cc75e4776c93ee262fc66d0cb79341a7e8092f03bd6679612b9b80780f58ea336c2f5a35940faf859655b7948927fd3913951b90031a71039e2c9a311993c07f7ac1cbb3f34e0025758e7198074f61a416e222ab9403539bc75e5c0b13bdb70f48604a82da4bb5a6c92d041e2ca9e473aae89755d5670386378e8ebb9eab9b818a00e41fd7243715e43906309e6e88315525801b07911205581e037f8ac2718038643385e109e3de1cf633658255f6d330b5f851d96e7a800401038b583a939f1173989a82839259b542556df2c8fdf0de26314b0a9576b4b0e69703af134eb4a5da4562d6c7b2d6f7caf10ed4c7f5dbb1b06bd2eb3992355525c4d403eead5c58f680359cd4f2117b971528735b2bfb924199389fc69c2d9d305dc44d05581d02a910735695302ef948a47246fa30565d9142e99818cf6253b3b49ea107011bffffffffffffffff05581d0209d2d5048c735b186b364791ab055974f2053e0a0f0bf977c40b46f80c196d1c4902079e63512ee4efad0219021005581e039b6e3e5a0e710f074b4ecd6357060abb8533e7423f919a92a331360040040105581e036eb3b436efc1acbd579858b29b0eeabbee2d6d312d03f53b26ab6064f00c024709fbd10883fc00037f3057e308598339a6b23703233e51f82b11a94d0565f3796b3cc531277e394305581e03cc987bb86fe6f6a400f0b6fcd66f010816a52fb736cdd3f7969829adf0040105581e037fd6bfa2448bbca416634e80e6f0600a55d464e4d2c72bee2cc13ac200084804d412da4be7700005581e031f113d8a9dfec2daa381e240ea0f29dbb36e2565b8e6d3d32ef4f15290040305581e03cbc1ae98c6428e09adebe2e18f0decebddfc4a3af18d2e4d1cdb15b1100c014702a9fdbda0c68605581e0331cfd4cb15e6145f1f50c7ff0d196b64bd5d209fc46ca58cbdc5c10a500c0447031f58e59d340002192bfe03d745a9ac21d440365601aec846c6a5b6ab38e1c1f0bd735bd4cd74a113441b7a039fb4fae8c07bc591e7eda0b21e8aeb48c106e9ecfd279b1f2a755d58b4e16fd40332ee66f9400bf1fa34b95637a13adac8cc330be4c3c0d36b81b8783913a24a3b032890fc18be8df7f423bad95f31fbdbc6348ff3006a4f47921070c130b4571b370303dddf7b581b4288e65ca509a939ac8588508aa7ca5471350bdf3e7b6b6d3e6b039dfcf3c4dbb96d15febbe8cf256cf2d76e97ff9cf610e39a06bff82cc4feb09103913f421b618bd76903464e29c4369f8c86ae1b01874ac5e12268c9aff1be932703191030241b60bed1ec92d74faeaf9af9c3a32860806a009b2298019f891274a7032c9d53379f79ba7f989940ba51e0ec00029ff69672cbc4152ae2b6cd697701b9033a06c90b80935a60cb15cae494abe3ec19faf0728211e15a39a8e23472c88ce403df63aeeabdfbb7b1fc9ad2464672b10bbcf31b326507d781873241f98949bc7f0219ffff0337676cbd331fce9e6875f462d99f4aaf55e3d7a16296550c51db628a2cdf7be803f6647a3e2452ff626178b755ff36dbfd01df77e2fbfd0ed9d1734255962b10d603edec39a7b19ab54060c51e84b66ac4ee44be30fb70e8eaba5beb6b54777afb1603f54eaaaa3ac01842c586db24ce65f63df051623212a4c81e3d95d338d2ba339d03f2c5622314b170ecefc8006233585c0b2c6e9a075c7dae2aa4937ec26b155d8203f950155f900d8609cf4848301b0b814fa1e90e306f20391198f258283e1f14b803a9bb6c07436e6baef4a2fa8fe72a713de42b8c989ebe698966ebcc68bc72688a03a08f84981a0603a2e0df631402a685f2fb369b1a3f07824275973e905427313603c9c16ad628c775eb927d1409c4ae9ef633f118b7bd63d79d455e10492fa3babc03e330db3f8dc3a5cde91cb02ad4d05cf922eba11b41f9f5e63efe2f7323e7a6800396533e71d274ee365ab8a871da80c8ee5c73bc76a3df180c6f3dad76e92dcd7c0219ffff03c90938e6e1b05919ab9e60fe9bb117de275910c69d99b7daa7a018fa817889c40334e640cee27fc4b2b34bac8b780bdfacb0925ff203e537ca935ddf38373f04d203f5b28c5ea7e90996eb3e9e748ebc5fa86b209e947ebad791826a82b4802c8f5e03aef09a62005d3a5bdce1f9a6e0a0ec64f48b80a8ed80656fa513a49886e4288303692f3581d290e4455922d6f2f3b1c73339750c77fd395adeb47f0d637521e3540351700cb3437a0481da752c28c9eed63400afb1de1e57f79b9fda93fcb137e0e70356d988febc6b8c7619b406259525d72f60bd18fc8f96ca58e449c4608c475c5a037f7ac19407b40857066807f756df289963d94d0a0f09405495055b48b4dada2603647462ffcc2ca9fcae7cd22d49f2ce1d5e608b048f2ade0a788e764389097d490377eda7227cc9f8aa58ca1c9604f4b462858c35d358854d004caf851eac157710033c25cdb03aa4a74afb0f28c116e239ef038b55b5abaafff519dc916444792dbd0219ffff039fccc8c24793a9313bf9c55af880b7d1081d9626e47e15af53ecddfd585bd66b03f9f6e204897c079510c7b89b86ec6b3e3c6735765e6edbe1ecdfb71e1c376716037075641b0e250385e1e7b7299e5abc11d62df5c40f0db04c840cf1ffeae6c0b6037461c33cc92144c992d771f0ea9b32405cfda67624cb21b3d10a54c9dd2483b1033aee1bffaacd80150415727f83aa3fdf5a9127fca2a95b2449dc0be35b8ea18203e01ef4912fb84ce905f2aa2c2ba113e540d330389e88209349c207fff876ec3b038a2b360e94190113ef89088e3c7d221660e65a883c8f9bdffc9b35a77904fd7d03700957e3d63acf4c7f45cfc5187cf7f1d23f1c8943580b6a1c391e5fd66451820353e8feb9d5bb51dc1508ebeb72061616e82dcc509a4cb6367f820a9f3a3304c10307d28b427b12e5340cbadcc07f7b6030384ac675689b04d4ecc05612d76b0e1603f6d1b7f2f11ba735b98e4bcc17fe96309567dcbfb13ed7c45d3e122376e70e9f031b3c9158ea39acdd7a9446b53a25843fbae55279afdbe6db6f58772728fe93a4034623c2c2bae95b365a93018d3f4f57bdd17e701e26af620a686348f9277d5f1e035e02928ca03e62313ea75b8f089b061689aa21c975c6437415185678ec7821d50312af9472aab2522163ff7757b40ab0c34f8fdd93711862210f083242ad64d45203cea086f4a59523ed48feefe83be4d33e7a7c2c27626c12313bb97d261399820603367604304c45213b57d7009b437452ef8e1ead0456edaaee5027cd38c20b20e803c15b603c1e75d6246fc015edfb9e35f104a23255ff77cd4d6952b4e7caa9199b038d9bbb30713f5a57df326dd0f460ef948a85d481b7180f96498902f02db43f8b03c7a207098f03a36cd87c6f61803cf8177cb2447c45fdcbdb516bafdd59225dbd03edca119dd06eedb30b34c20e7b5d1a92814711041c7258801c896c9cc21a094b03da186c5b986585ba16248dc3f3458ee37f68461a2b547d7d1c8ff666d6df2cba033c98a5f4ce67784eb62823795ba00e31523d20a79e5278087a530d5e5493ea8a033a9d0be3d98fec0e5eec9be91cda953a93fcbae2687a952df7ccf9f519c368790357e974485ba47b89ef557241c8c424de6e6a7b824c67bfed51f674f82d165d9a0352402135f827e26109a596623d345b5742783128521b3d602850e8a6b7ef743903546f8ece5a97aa92479ac880b9904535345603677597faab1a4854cf77e060480384fa461fc289eb15afb336ec98a1b16258910040054785c089d4833c9db76c83038b92b61bf2fed08a784605d05bb8084c5a7facf5d4eb368dfeb2d2f8e08b487f0334f79cd2c78d380bfe6c59b4b348ec1d51376bc04e6aacf4620f9775be0d7ef403a075a865c96ab19c0e2c1ec551892e27a571c0e6a34626c40154288ef3a454ec05581e0307ca8be16205c9f373b6c2a11707a0ddd9282f0d7512e9d7b72ba0cc200c0146a315e43c519803fb959e619b5377d499c535a061dae70b91ae1706f368d75e21ad545ecc54519d03186a07353527d0aa7ac297f2c3d190cf4df07cb07857100215b886c7b527b33205581e03548726082630d75e2bb20b322c95d5f36fc5c3e812788f07d891775e40040205581e032516d02c74764139412ff90b78248861124f499773146f86b8dd641f100c08470348d85ed3865c03d3d7090bac7b38a9032c48220fd90931c84bcc5375cb082e834afbed0c09eea405581e030236438754ef6b4ca43b88ff088cddce4c251c74b6d8ed55e40b4f3d300c014714696485ffe80005581e03ae0b4c558bc57f897a5360f1564e5ff8d3f95f884a58d9b3a575c69420084830a5d0de49fb9a8c03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903d2db6cb96921c62d1d41125fd36c569f6cee21d1820c7be26a9fbc47578a741b05581e03a2df6ca39af9a7b51472d002c5987914dc45fe9e75c2682b6f455af7c007011bffffffffffffffff05581d02e30243a2fe5a4896236b4a5b5fd55b002736fc9383e04e0351a3a74c0c104616970c15fb8005581d0272e727d00cf1caa12bde0160eafc151978dd3a41a732e8b5ce0139f80c01464274ef64cc000219100805581e03dc10e8df515eaece8173b6a38cb064820747307d7b27abad9715ec35d00c0245a2ded60d4003ea2910131d2e6c09a39d55477e30f8b86349f6d73410cba525f8a89c70fc776802195ff30318884ed739e7202378601a41b82bbcb8b3f6f79538774bff667998b1ecd2165603a0253b152767ef49812270df04995613b130b97f315bfbd0be25eff9a0707d8303057024bb53d1babc6108e359b1d57234cb46ce231439ffda59e19a40621269a6033be12b0543589d46b927fdac40f17fc9b33b0ee27565eb62a9b81d54d2404d1703190138a237f5152a101cb79de9405ba6a4bfcb5f74bee352b3bd446645732fa7039cef2e012b6ee76d284a5807b2777e58c32f529e3c03be9e9091e670ee2b64790395690bd3db5d33a813c7ce12ffd0c7c10b27038b3496d31c6cca217a90dd7ccc0377fdea8c9ab1da88586a58cc4e67610be4a739e661a692fdfaa705a8969563430219ffff03dd5449c00a8506fd1070e87995c0024f047f203ae100595647ab4cd29fb4e63b03c97db9aa8ecd90e2a3b0be05f4f11ce279d1b720f5c4a410b622e22d53b41904033f3cd17d8040efd4e95e77cdc9673bccab5165ba8ae67417ccdb6c6d11fa41a803b237d6779ef7f752cf31af3b9d87b85f59b6d290150201ec0e8c98d64f50cca00219ffff03654b8bc8aea3b02b7c9ba90d4ea9b29b3efd75794396a4708e56291ab7d82e7a035805cf5995a64b780f6a9ddc716a7c35a9418fa7498697f4f0a4d9dd109b20440219ffff03a8b692c115021818e982efb7835d12d5b41c0d8bf945faf4fb51bfd2c86a81f003d722b25e583ad0953ce70d4752aa72b56825b0674537b75b498fc9d1636f05f20219ffff0330879c6e73470091e759125d2665f74b57184055f391fc5b5a7d105b942cb06403b5cbac790e2ddd11d11b85309b5f5fdbb23fb6e5bacb1b1b6301fd8709f40508038c07af09dd20b700020d8bba958bf68a25dec454dd913ddad1fa29ae2f977b7a03c9c946a9934d833f5df8ff728e92e933045304082abba8e403d0fb670dabea620349c72217c7c7bcdad1bda55e9554442387d0bfc30cfe77b890c62786c99f15ce035574c559ef126f4ace1aa8c60221c98aba1e33c547ea6f282de9558aa9344b3b037158b2d86c09fcf2557693494b149724b3051ff3bac56144c1025ccf773cce8c03d4b724fc2673f2a59331013321544b99f760289290498a236744985d1afe52f70344932adad6f94d3aa72aa3ad3d2ba20c9b3d8bd413bf7dc9c4b3daeb14405fe6039a1f6bae4019b4f989006802e07a1a11b1b4e049d0dde4c7583e736809286efd03fc93fa24a3fac042a3376ac1853904ac389cf88bdeba9d10e0389130d96e4637030900c0bedd883b47679ad8d273dfaa8a953987fce96400a7d91e44a29ce5d5cb03eaef5d68675d06ae6f1ab442bea566329ccbfcee81f3efcf36078b723a99cdf1035b80b55f47cf874369698df6a51b787f736e6b4d52aed65a0cbc3fed4506d71403c19a43401192675dc905a33f7672965d9e3be916734869fc0f7e26642ab2622903f9385ccb377639e22964d03c370d3392328d6f3b8d54a560a1a2f7b774061fb2035d2c7f178a778eebb5c6770356247452cff29dc23e6754ad65541b505d3a387e0330ae9d0b8710aac4887c42a8fd6e2847c8b61c1801bb2cf3b2c2149ae7b2475c03ac2245d5beabfc0825582a7e2c46c4d479d05f171d89c5db1c0fdf8428731fda03cd62dcb46c2830e1f0e7bb4741da5d00d5a28c572d8f5b132b895cdaa98657a60322b04020af27d25982cf3a35637e06cfb7efa731d2b20791402b507224c67ace0321e18b623ecf50416b1bfdeea40d85b8435d6a30a1ab31b0f0d7f8732d58777f03111f9e98a5c45fc0669559a266d1dd89ad5e443c7754c1e2fb9bdf6d5aa6d167034fee23b3f1409b8a4c8b250c795f4f22daf53adf07f33b02fb620a8d0b7ff9030309e36c97fbb991094a809d782734f5fe9d379d9286136621a5ee06aa16b3d70303a783651b9f581ac0ba16bb50eee6ff670b3c16f4ea956f1fbe699595955446ab032f8a40f8eb57ecab1c2a01277dbcdcb0cd2574cd5b4c21f8459c60b67ac2a95803401f45c8fe5a59e896635b708693858fa778a94ef715ba44a1059ca7c75e5b85030d5709731c7a08a06e6c09284effa51a64aa2cff84e85964c2613ed914fbdaa40345394f8f33d7593493affef7b87271aca2dd8447e1780271089b9b538e919a3403dcc0b076f581be18d5e373a3b989ee01058e09a3ab61e1e5209b9d60a9bbbe0b037ac8d356056609f48090b11f91260657b19261da8de3f79d91d991de74a4dde303a72ec1fc1899ecbb73584ad5a3f071d71f0238eb164d020f9a0bab7a4531835603cb682205f18961d9302d1e91412adacc54dadde499ac1aed5f89a9ac23a88afa031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e032e8d515ca18424d00b11df1342775a289e61728fb67a647634da86b5b007011bffffffffffffffff03d7d633a58946d00ec7a1f93c1ca631df0a8673eae96370b6b72631a2907dfb7705581e033fc85809662858ef84da3bed357c869ee43c4d2819a83a2937915c2cd00c0147ae93a8ff9e300003b40cabe387ab1ae0428e6acd4f45febed642e349e6ff78e5a0c05562312e524f05581e0305d5e239991ca957fdafb6c81e43e290d6f76e225d6a2eab825f7b9740040105581e03ab5b2d37e3e36f18459c8d739cf4cdf28c3dafab87d3e2a33182a651b00c03416403cc80a46fd86aa7d5f4c2bc76f1e6fa171f6370a7220ad8b37ba5ecc254a992d7035a4c1af179adaaa7f3f14e742e56aa80a3bb4cc0f7652031b83a918e921c878704591ee0608060405234801561001057600080fd5b50600436106101425760003560e01c80637ecebe00116100b8578063a9059cbb1161007c578063a9059cbb146106b4578063b753a98c1461071a578063bb35783b14610768578063bf353dbb146107d6578063dd62ed3e1461082e578063f2d5d56b146108a657610142565b80637ecebe00146104a15780638fcbaf0c146104f957806395d89b411461059f5780639c52a7f1146106225780639dc29fac1461066657610142565b8063313ce5671161010a578063313ce567146102f25780633644e5151461031657806340c10f191461033457806354fd4d501461038257806365fae35e1461040557806370a082311461044957610142565b806306fdde0314610147578063095ea7b3146101ca57806318160ddd1461023057806323b872dd1461024e57806330adf81f146102d4575b600080fd5b61014f6108f4565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610216600480360360408110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061092d565b604051808215151515815260200191505060405180910390f35b610238610a1f565b6040518082815260200191505060405180910390f35b6102ba6004803603606081101561026457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a25565b604051808215151515815260200191505060405180910390f35b6102dc610f3a565b6040518082815260200191505060405180910390f35b6102fa610f61565b604051808260ff1660ff16815260200191505060405180910390f35b61031e610f66565b6040518082815260200191505060405180910390f35b6103806004803603604081101561034a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610f6c565b005b61038a611128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103ca5780820151818401526020810190506103af565b50505050905090810190601f1680156103f75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104476004803603602081101561041b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611161565b005b61048b6004803603602081101561045f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061128f565b6040518082815260200191505060405180910390f35b6104e3600480360360208110156104b757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112a7565b6040518082815260200191505060405180910390f35b61059d600480360361010081101561051057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190803515159060200190929190803560ff16906020019092919080359060200190929190803590602001909291905050506112bf565b005b6105a76117fa565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105e75780820151818401526020810190506105cc565b50505050905090810190601f1680156106145780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106646004803603602081101561063857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611833565b005b6106b26004803603604081101561067c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611961565b005b610700600480360360408110156106ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611df4565b604051808215151515815260200191505060405180910390f35b6107666004803603604081101561073057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e09565b005b6107d46004803603606081101561077e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e19565b005b610818600480360360208110156107ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2a565b6040518082815260200191505060405180910390f35b6108906004803603604081101561084457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e42565b6040518082815260200191505060405180910390f35b6108f2600480360360408110156108bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e67565b005b6040518060400160405280600e81526020017f44616920537461626c65636f696e00000000000000000000000000000000000081525081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60015481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610adc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610bb457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610db25781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610cab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b610d31600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610dfb600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e77565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e87600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611e91565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b7fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b81565b601281565b60055481565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611020576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b611069600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e91565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110b860015482611e91565b6001819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6040518060400160405280600181526020017f310000000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611215576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b60026020528060005260406000206000915090505481565b60046020528060005260406000206000915090505481565b60006005547fea2aa0a1be11a07ed86d755c93467f4f82362b452371d1ba94d1715123511acb60001b8a8a8a8a8a604051602001808781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018215151515815260200196505050505050506040516020818303038152906040528051906020012060405160200180807f190100000000000000000000000000000000000000000000000000000000000081525060020183815260200182815260200192505050604051602081830303815290604052805190602001209050600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141561148c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4461692f696e76616c69642d616464726573732d30000000000000000000000081525060200191505060405180910390fd5b60018185858560405160008152602001604052604051808581526020018460ff1660ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156114e9573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f696e76616c69642d7065726d6974000000000000000000000000000081525060200191505060405180910390fd5b60008614806115a25750854211155b611614576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f7065726d69742d65787069726564000000000000000000000000000081525060200191505060405180910390fd5b600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505587146116d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4461692f696e76616c69642d6e6f6e636500000000000000000000000000000081525060200191505060405180910390fd5b6000856116e4576000611706565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b905080600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a350505050505050505050565b6040518060400160405280600381526020017f444149000000000000000000000000000000000000000000000000000000000081525081565b60016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054146118e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4461692f6e6f742d617574686f72697a6564000000000000000000000000000081525060200191505060405180910390fd5b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505961012081016040526020815260e0602082015260e0600060408301376024356004353360003560e01c60e01b61012085a45050565b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611a16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4461692f696e73756666696369656e742d62616c616e6365000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611aee57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15611cec5780600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611be5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4461692f696e73756666696369656e742d616c6c6f77616e636500000000000081525060200191505060405180910390fd5b611c6b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b611d35600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482611e77565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d8460015482611e77565b600181905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000611e01338484610a25565b905092915050565b611e14338383610a25565b505050565b611e24838383610a25565b50505050565b60006020528060005260406000206000915090505481565b6003602052816000526040600020602052806000526040600020600091509150505481565b611e72823383610a25565b505050565b6000828284039150811115611e8b57600080fd5b92915050565b6000828284019150811015611ea557600080fd5b9291505056fea265627a7a72315820c0ae2c29860c0a59d5586a579abbcddfe4bcef0524a87301425cbc58c3e94e3164736f6c634300050c00320328e069ad6ca9587116d4ea5892332ee08e15b45e635e2ceaafe8355925b156870311d22db8a9b0290da939596392e34e39ee9b7e928851cbfd2268ab6a059209e203229fd25ddb199b7e71e6dfc519410a2992694aebc48249da29a8b7981ee8f80d034c209dd2eb02bd5ac92c8f181da780c706b5bd4a12aa75a5b90d80965d44a573031f0610162239eedbc978fb359a2825889a1e0fb69e676114b2db82b9da833ba303cf59375206fb5bef65890b544685c35a8d37b8e4e107259e04be29877f1882f603669d69c1c19a709ebe4d31e266853ba6f40e320f5c485d2467afc8285b270066032913fc222128574b93576b01fdeb639c727b952be535857ec5bc40b2ffc5b7c3039a16c5b8ffc5621a7dc72fffc51ee67386ceef4ec1b1a1250114f4a4cfe6f8a3038812853c53935e145834b4ce4fecb67885907c116cb29825ef8a79dc234e0088039ba604ce9ee5cb9441c147b4932ac4457b2089f46c454992e615463070fe4a4f03be9c62ddf1b0d666dfb5fab5fe347ba80254f310279b2ff938d3e78aefdea2ad0389d29e7f2d96d9e750ce16dfe55a7f5dd00cce60cda3418d3bf531d7b81f24cc03e4f786b630beaa726985be4a2cbb3203be0918c65c464ea2ca27c56739ad209b033f5700028a7a146e17e05a0e92180bb4fe2d7e8d6b33792a5cada01e89cb55b803405a5dfdea55999a8a56ce28b13688dc868e823991aea0fefa1d75f46aed0d2b03abe0492f2153e0ecb51db3d54f8d6e85efcb6e4cf800037085433c99393b5ac50354cb619b5f1b09dec2d8ec178e522874840afc97a8e55984991371c8546f294c03ad2909163c38699cde8e57b32e0c4ccb31d74eccccfe94804f2f157824ab55e60330914fae66b0083791600557cae1797a164f78e561d9ab6cf650e2a99dc752e703944e5d42383545c8657ea4914ad5fddbd6bb50f1def055c6f08789cd8f2340a5030b7885e9ede4b16470d90306753339cf47730d7df3047c90b4d433930b5458a80304b17744e520ac804aaf9b327b17489c7a1f0449a370010e19f408f3e4c8503303ec418ff5c9ae6d852bf099b7aaa94cb8d21c676591e8c76aa41c33b14a1933ec030f82405a2e59994e46b0a3fa7ca3e48274f1001fe5ff2aaeb5ae0f54bf2dfc5203bca56b5a08e7a183fc103ab26c6fa212dd9d2b4faf20114544ecf59c6882a38d03c4b0a3fd6efbea2413972ce9a4d1574da8b28f85c6dea1e54810c48783e1a3e9034d4ecc9d053022bc7d91393d82f507e8327bdac8bcbcd461e8d4dd33043f43f903f26ed263073a6b9e5c3a727b6b99af447e2720e695f2de641d51c11148e60b38030788976a47b17390689e58c8d684d6710af02980bb455ff6fde5a95ebf0dd79203477bc58930a1fd8137c098f86ce91f8c2df15aded398b673b400d569980efd030381d0edf22843f4b2777109659c1ba6608053a7b43d135c721ea398ae297063690311db86a9d387f1f3a16b00640ba434613485cc0a3c1095eaf970cdb60096e68c039ada229420d69e2eb541ab10e7ff2d82038e9542a727413c6f8a81c8c87e528f03477276ff446bedee8bcd3013d05cc57677a39ee28868fbdb40f46079497920760329afc63bcb6beec66b980825ee61cd92df16309fe6bf9bc0b16e45a10081320b03054488ef22e6146a273a7cfc50e2775efcfb65b7213e157879f5580dcfffc2ba03126678984b1ce95e61babd4ea00ada54663cd9d950f797236e6ad65196e67e2903ce340f0c0ec8412d43d4c9e97bb80af4a494ce0a465a2885754ed1c3810c712b03965a1fc35d8779bb0207fa9736edd0f29fdd0c5f353d144e9560cb77a9ef1f4003cabe1dea40940be276b468f72096c2c62567cf131b05c65422116bb453a0c29703099d87e80d5c494aa49a341388fc020ae0e07956383feda60a346c3aaa22bde0030fef74f07663db8f5342ea6b7c5b9760612033a098a084ef62b033a95a3bcb64032c27c4863fd29f193cc8930a8f01fdc0f17bf89ad12bc114096408bbce1bd720030efece7e9aae483da69621aee3c2e5d96661b5893e35abc4cdd814c6a149bee303d31fb0616911a70105b8231ec5002d5e4c58f0384ef41eadd0ccf4b36637985403e963fb8c7a029cf5281332fc8e462cefe3315328217ec97623a9f9c7618d9e9000581f03fce6c8467fcaeaec4c3d6a368715f157b678d1050f9af0f1ebc049b5fe0049029cb4e87e29faf57403fc78c17e363732d187076ecfbee367d27bb188cd7e71751cb15d95a09904a3a70377e23168cc00913dbf40f1224456fb4de23ce5b8c47ed41613ded1ced10909030399b398d0f4f9b20f2f9d630a685f51fc69c6348d92cffdfd2e01602ebe6dc18500581f032c61a35a28214088a4dc3e5b541c504ad3ae15e748a0ee76d65e7990b5a058207fffffffffffffffffffffffffffffffffffffffffffffdcc3701bd8fc17ffff03972bd997b7e7709d5cc194b5a50793f38bc4f91a01284500717fe5497f2c33a701410203fa08f6c506e98759635b92e1073c93be295447dfb0143905ba79cb1c3f341c29037741cf6de018cf9b6817ad662578e8510d92e88ad4e3f54d560e648d8dcb435003c35485e67be6b0877135241e1ab66e5d867acc7078d79aebe46443e5dbd4ca0a03417cbd7d16b6f6d43a1eb1669c8046661a822c9c408c282b3e0130fc39b477a203fabd13e2ca89dba06bfdb922195e127bf6ced13d612efa58e51b29bcf9afec6803823390d12ac5bae4a3d05f2dbcc849be1fe9de96636d937bbab97fa9d766c294038397b4fd531b59e51e47cf3d168793598c92a7fbd1e9c059c6b17e2badc7906400581e0228eac51e64c7919d903888f30ddecf71b40c7df79a4d2d305c16a672584b03f01765b44dfc6790e98100581e02da4be26f4d88e6183a4dc6e82fdce3a9498adfab8e52d1255afe4da4fd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021550fa3e876af65ab64bd075a09618f59ac0c0fae532509566c6960e095820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02e891b2bad644894a13280bee0fe41b0501088acf169f7a2ea8473350405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02aeb293c1f7d9be8bb20bb6a058a456a95b87ba6e011f0f365adc0b8fc25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191c900219ffeb0368493f2a35a4554cc4c63cf6e287e43fdbcf92c9d39e1a21b9e7b3e2f7d6088a03f03f17e4677d4e2cf3de168d6082f28bdc890f5069fd67173a47f68a6d2fcebe0219ffff0219ffff03eb7332c7631846be0fe757d9810ab591869f4402504df93d231870f6a52c52ec0219ffff03517c3fe8777cb6206c9c1021af8cc59633cb61c0106f58c7396c338b11f9692c030991dfced614c6ec89f91d2d1c1182f0bae2e6a477e1ad4fcb13b84886b107fd03402d8d639e9070e04b9157be63adc57c417a4d03f292607b465365bc5dfc4f8b03177d8ad20c5fdfcc8541c9b7ac941306fb8f534a27364f0633cdfee05d3f11550334691e5019200a347c4c96df26d1beb66f7be10df838e9293b4cdcef0b7088aa03315e7c355ace94e4636ba29d9af674dafb04a8514e01f3f2e164efb8b332760a03892ace2a66531994dd756ddb96420ee11ec2f76c5911207e92d3f443b8f76e9c0354ec718fef71ec3911584e69eb614817b57a3725ae094db16fa5ec78a7220cbd0395dd10bb692ec962435557368a279d7b2581c4650bf7aae8936aac8a4e03a28e03976baa614546fabca9193fb0aa15d95cd07be00f6429f4e579438971f106014100581f03c6a3fe63d554828100f36005cadd48af0eae4c721fd4b4dd76ca1eb0a240489c92faae443f35d300581e024bf84638051fc606e5dbad22afba04f19175d81931e74eeca47a3c61235820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e029006436fc45c7c25c9d50ed95176b7fd710791b2340e0b7ce57d71eff35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e021008f2810544dcd9bfaaac12743a613e8d2ed4eb43bba491861856d2a84b064311bf3fae5975c9dcb70219120103e7d5085476b1e184aec16807f0586c87ac6ac273d88321aa13e7eca709a4c4fe00581f032790f376390f8b53dd48f577b4141f07e65fddf8052ad5128b9b6f1ba12049040197fe1a7847800003f55a56a7145d094933c115279c9ad955d7f97ae58a7a648f85268028aa95b36603afc976fe4eb2b95d74af3958638dd98e2e4191616e44c906db78fadcce1fce1d038de43a74f20a9ff8560dc02c6d60ade402ba975d348ee58d9de03c3506f49918035a04fe53bfb35359f339d098bb5fb6bc2b62b32b6264f29416994377c964f6b703e7a9374a60b2ab0ea41cb962fc9b20137a6d5107075a8e2e131c133f1cb0d89000581f030c4fbab40bacecc734c2e6751392dc8ae0b4044d190e7c8902036c53efa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0328476abff06745e8dcda58e89fa56d326824583037513a1c14349749dcccb46300581f0388b1abbf641cc17006d1be43d69d790fc1aec5ad15e426f98ab91a3b99305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cd1f3ac0a4755986db5c238e4ca03cb72162020a2dc347d3f29cdb259a887af40370f9d1e7a765891f6ad70ee408f54cba1d902f60460a6146ee08d85cf90b9bfa0219ffbf030965a645c530b5d055a3e89115d73e3aa12e5d859ae3fe1b448b0284a1f8e6d60369b86761049625eaa813bbe13d527eef58cb64bf352a6d32ef3306273b24d35f03d9fd4123cb9e53587d1b99d314cce5b0e1b82fb847a82b6b0157f6e88225ac8803456cf34de310dc764ba1542d2bc01db1f2035c0fa7c1186c75169445083d770e03f3735ed2602ee7dee11e3a147ac8762caec6a8af287b594e3cf428d95896b6f003f0c65bb0b074d6b5ba23cb3bd4774655c0e2ac3bdb7664d0a18ffc1d38e562cf0311916077d4fc8619e8cefe5d9d3aaccbd09309a8e5bdd825d4d88c4f5ab11bde0368ea7380be454bb7597b1e0f58d33ecbb6b680d8dab083deb3b5891e8126c0c8037b411b0c92bb0df22294eb596f09755f266734d35ab34763b7b8cdadf115f9e703cf620356394da75e0e2fd766debb5e4bd9055ef0df18637d9c8312ad28a86c95032751c0f4f4e995d0df30588556083d13dd1180dfe02840c09f281c5e179d0d610219ffff0384471ceed9357fde2b3a34da48adc3dd0ae255b63020036b4bfd4be45f2dd9ea033691492dba03b05b1d40b6939d6ca66ada47e9a70cc75a117763752ac68e4e63031e688504a2b5d7f65391a9e70eb5d6e87e8ea16d8589f4d54c648f54f61873880376dcfd75ae4a21188138774c2578aded8d8e7d92832f7101d9743ce9b666761f0332092036f807eaa7a90ac07c17fb0f0851bd27c47c851337585f60af0f37b1e903eea0b02466264cdd1d6e5c4897607582c033ece174bfe2307c25c8574368c1aa0386469b648f01666ac9dab14bc2243a2ad2860ffd45509c5cef0d4a02d3e404470358f78eab38e5b6e7cd5d08ab845830b847b4f33026e3d486335909c724d515460359c2d24644a01066e89bbf297824d5bf021f0545f4accf6fcf2f6416d04dc2ec03688f15d6a2f5acd4a84a8c12a97b283c970ccd2b498ad31a039ee6289556a01903edde5f5d4bcc896401c800a51aa04a3d3448f3ea17d50019e556577e846e3a1d035d8a2a96e410030f8b0bb85207cc92df07b3e443a2614503ad0464c8c11dabea036e1a3822d3f87b3d5c1a4a90a5a52a18555cf817da35d361153cd42310c96035039afe32509f96f0b7189ef7e964f618e22538c50c8884aa080c66e9f386dbdd6a0336b94984190f5fe11929e8c595cfb85fe92b3bbfa85438f0b6b33d5d631a226f0219ffff03c3fcfec7fcce7ee08321495d22cbf02598cc83149e2eab7d57dc0ffbf46b93f203a80d58abb4155bcfb0090c0969ad5a7e0c81989e0c4dbad593daaa28dd2b236a030390b7e8e5be30c18b4e2a1dec076b36e52bea7b6291b709c7d56893486009ae0316754a07dd0e795c5ef45b4e1b2a7ea994294fdab3eb20f3cff03bbe616e892d037c175ba657cf7c66ff779ce6f81e58fbcb1ab0dc8616ab393d93f7ce3f4909ff033d43a090693fead2c406970a23c16efc432e6e174abb76a32a2c54263247ee11031b6223c65bb3bbbba3ae2714c2f9e15c8f2b0168db0f6e2f55b5622cc1f0099803e72d768fee402b75622ff1d6397f742bb936b361a30256595532c0c4700d6d8903213321a4cd140c943e7642096f0b1c9a3bdb3cf069f5f0504373ee9e78b75d62030611d866a670dded0f6a083cf0502856dd61eefb2bcdaa212195c2ae0199c1c00219ffff035892af1cba6d33542fb9511fdc4cda18478a1d26ddf633862e58c5b90546d5aa037464c2943896f66671b6870afc368cc3ff0d2166d9405dd09df095ba967d07e60394a3ff5a499b235938c9cee83746d1231247684aa87abc0d06805b5318c962d503122ed8e6cedb71782b0736201ce7680ccec4355c7b3a4bf7ddf1eefbc0b0e75f034d7cf6fbecd450e5c01bcaf538ba3ef2271c6aa5310e8f7dbe7a2194b99aac3003a61a052577d6a63931ca4db8cd4d5fd45fee236741c24ace4a4cd0ee9ead28ae0365384b2ad087428d587e322a39d381bc1a8128bd430a7bf086b66f5a3b759d6d03b407ed3ea8cbacba21d957b4b821470aaf05c866899aa45b080f5954afd0852903b97366059002e6f75825faca7a174cce1b04c25d93c031deb6f825a83cb716bd03c741f5438f5304545a8448c9aa336bbb667300dcde627e266161d410e884d36f03b9a0b1672f9e701de1f6b87fc3011c009c42750b8150ce8ab1d150a231fddb7b03c427c2ef77adb805df54dc1a8d990d3e1292a450f75bf1cf3066fc4097bf49cc039583c373b3d911b9e1737c53a20c37bb0dc3b262d848d677af36d8b3c57ce35303288ffe1f77d0605804c55b5caeb806e31d6a6e18b6c771e1dd9a859a2de34fef03aac3d1fd00b9c6e99e08dfe564eb69303330a11bb2eef29f2e6a266cef42d87603961aa7a7ef918b15065ef30365c2b1a820663fb3af0b08e51283ee916233c01503a47ee7f29b98aebfa1e688761008272eee345bcff1aa50cb50b6e5d20dde90fe03edd5c574ca4c3a7fa08e73ac3624abf5d8c0d6add2e7896b6b6cdaada6b3f11703490020e960698e16fb5d38999d03e724d3720f1010122cf11d9d5bff04f415b703a72cdd3ab6c4ea40e397e289a1b8c3bfc1e3b573286248106569f59e8184a91703c40eeb2dabb5ae15e4a0c9f3a370ff89210f7991bf2339ac234b6bf2335eb62403074dcaadfe954fbdaacbb8c72575a5128fb89a2d4ecbb3bfcb312121fe78c55b034bd0cd1e582446d0bd4229bd490617f4df1bcfb1492f4631fa036b0e50270fda0337573972549c93d414be39fa46b419007dce99de2483baec66edfe6b4bb7e42603598e8d1aed9dfeb6aa6fabbb3845bd57454596a806c61a5684227d9dd3bf1ef00399ef2bfe41c2aff1f26b51d4699a54160d73920bba7144b1afdd07b1eb75dc3203609e89b1f8779d20d7b79d12bcec00dc577330a3ec721cf9b4dd32662eba700b0382f3c3be4208f99fd21c4f2a109b36e85d109ff09f5aa3f0264410ea554126c203310a709c2de8f23642576b05d6f467e6948b048337c6fa500b38d26cb44de59903b84e544a440cb2c7e52d5f52d449e5f7ec83add3a71752f43081bbe5e52dd48c0346c8c6ee3e342f65b04c5f641ab154a4227910ccecf9eef90577e855f889d7d203e25a284af155fac7a99885330d4e902a94ea9728781b863f72e3d6ed1c58fa770393c5658ab53ef11480c99aed27af908f4361f27bbbe1d048265cf91b5ced52e403769ce4ded663117129aaabeaae100dbaf1fa727eb47293cfecf7cebb2645e21d039e8b3c93950976dc67540f613af386c05e60e2a9a6fec2af3c4adc7400c36987033f185e7dec3d72eca97115a2316e13f003f5c9a222c14442342ea669c3cbdc6c00581f03ef620ba21f1b19dfe9f75b1f486d89cc4975949799664989106e3b504f105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030c894e0dbc96909c0fbc03db2cfff783b5fe58b3a3542e912e055cbd6993475c00581f03ee2948f67eb292527ac93d9e5cf570df9436afa7bda3060afad532189b804801680491657ef81600581f03a31f44d1227c67b525908c0efcaa04528a871bdbddce17299a749d10e7a04b0126391df4696fd3cc2c3203934f6bd73c394c98578e5609fe9f1557c6f42555fb4be2a38b30a3b12eb2cbd6036957b87a4cc9eb5dd2899bb8823767146ec94215349b242f2173ee1b61e4134f00581f0398c68a494c86c832d321acace794118077267a311ee819d155da4d8c67f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03923f62db76bedd584e274fe59caa3cd7c379152a969620163cd05ac12ab04901158e460913d0000000581f03fb8f4b00e1aa8a5b58faf38f1da680c21d643f0a6d6c34c1e795a97072705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e7e9bc75c18e6f6cae6545c251d8c5c9174f7be4425901fea7367a07bb9e0add033aecf1b4b79fa9fe94fd4f75a32c5acd5101cad14cf026ad5a072b66aafed5d203cfbfcd93153bede1951450fc93fc968659da75071331d73006920f158d274abf03b7d52305d3e58a8ab251b291200758b2ab69324f51eaee9ff739f73f88be379100581f0334c117ef4d714512e469147d161422a38fdbe26e19a05c8b8cf6b21058f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffbb033b105627fa209a5ff5dd200d7474623fcd1f08e4db7915fb665beb41ee41e2020366e8829a71aac41ad83b65ff75dff7f17d30b383547bdbe4e1c8de820a6086fc039c1fc97a9db6fdd0f6ff6795b8f6a1c7997c1931d4a28536cfde7b3a460b84a7032457853e04cf4433dec97b656274a80d84af9603360141c34748d7c20329f42d035e23bf26c35b4397d9fc64d44ea123b892fb4d1dfce68bd9c767656d3ca5966b031e78db0c6456b441227237d021b51eb73bfb9decfc7bd03a6af6a2967569446703bf67b0c8ea80722f6d6f607ab32296858413d856b7cd7464cb3037ce60e8a32e0359a0fbbf034e5d88156338a31a360479e148ae47661ca6d1cc3d5e4507b2ed500219ffff0219ffff032b33dc93e171be1fcea16aff65cc40da71aedb8fa6b6c42957947c003d3956b8030d6d8c972a54e8e071b4a6322d89d0fb02b3832300b428d30439b6111f31fd34032db41ce16658f7f61b14a9dbff8b3bfa110799fbdbf5f3d46f1fc1650dc87ee80219ffff032a2c46a556195c4543277c3195b6c9aa03ac7254bb44b0953b18d0ac563372540315ab363d00150484d1bb735395dbb70e395d0f5fce6b1ec5a86450560c468442039c2b51e2f526e72ab49fdb425dbd70c26e084170e7dbd9c66bdfe42f4b29080403ab81b3b0a7667d50d77d3452b649d6ad6672fcb182a9c586e57c1c61e2664b0a0392c7316ab497c5f4838399be6166e779f8725cd038911c0a3cb215b8edab62e803da4ebf66eda26e80d4f201f3b968dd94e2e24c607c01330cde854c6afa5fb835031565db8019ad615964c2441f23b890eeb2a8559e28219592d70d3198dd75864c03e131d7ba33a8ae8e59e0f91eaf98f5294f647f878b4a091f87f271237a45936f031943c38dd39f48d21e5e0fe244f60259d62aca60986f6cbfeb5ef164dd782a740351337a2d8ab64d163d7c662b3b56b8ab8200e2d7f849d38befd1c5e655799ac9030c3a8ff46f601a5d39176b419b052bfa3c012a4aa05eb24335d532681964af05034267103a9f084c972de0710b1b50583eafc4aee5f5608ed4b68cec43a843a6570362bbda981b69e431c84e3d61b6f7326515f496408a7ed232ae03fa3b9942608003c12636a9040dd33855d097e0dca25eca3c6655ad3eaa2d1b8b084e4462ebc7f20323d62fa65917801318ae363f8a0a4f862ac31d40db1ef3d3a5d70a5377f2690103833fe0739039b25f7721ec05b313ecc6778f6a145f471d538169134bc0a787f80352bb51ed25737e345dfe48321eab3706d15842d6ade868b09bff80fb7dc714bc039fc8c2f8944f68cfb8d18465c747f719928de279fb0b04d40442a6cd45e86a25037669f98de5deb21726edf27d3fefb716015e4d646fefdcb7dcfbd5ae65efcd120326208cda51e0f1b3595257d81b46fcb4d4ea309a67f6cb2095bc5b4cee88d00f03ef2239486c79ba0e8b69e4fbd162137e64dde0ffbab73c9351a0e1e03f3b86850388aee43276f8d8e9ab64d079e1ddecb386615c0f049296e7d506301ead17cb15031d5bcca2d4d5e0355f1b9b9ee51c24bc00a5b1ecfddba7385b635e8eb81e7e39032643d2571539f7e21e35225e26100c5d5ff83f2991cc9b587b4b9b7150a8878c039ac50a4d7fce951e47758fa65e39622b3a9ffe0af667fd295f06eb554f33a860031a3de696dbeb045352e884d1423114921017267636a7d816d3558b88ca38e23303a4d271a4baafb5050b53dc7b4c8adf946ce5894e04bbef5028aeca1ae002ba35034c94f9996faad42859c86c85f19561ac94428200e91fa526b2bea277a74b86d203cb1a0733f3ef77870f7c5a5d3f7dfe4cf58bb67a4b1bb4ee901f747ecdc7d3c003f6522f8e3a87c0ba34331aa58c7b8cdaaee13a156b29bbb61356acb3172dc15a03bd3d4849194102423543b6b20aa8accfb584437d204ce665bc0c87516d56313e03d944237c35e4825556cda0264a7ff6aa575c5a4f9d64a9b8c75a21d51d4d9145039ca9348d05f92825c759aaa9ae7755da67b64056c61919bf368d2b2fd52149f7031f342b40f2cd59d9177aa1ed05ed3f9aa8a4d9a44886dc47127742072bd07fc20374ab43a281dc4c20b4644b0482d69287dd7c568b425738b9004cb03e768a2fa80304b44bfd6cb2b18a47b307938b93464138d598a0dba22562d98fac823b928fcd03b241802f5c0f2fb6f4fe0c02eade17a6a8c1bf153c027ac88d5272abfc444d3503def7c8eefc68f06a4cc7af9720927383aba64aa2d6b1a234f3fe2eae0ad3644f00581f03296b2045949a147e3ada292df51c6a3634b415e454df732646b4c97c2170480155675ed66f29a000581f03491a37dc1492528ab75995fa570cf4c7ff6b75c147324015a31cf00bd4a04c033b2b4e226f87277ff6c3c603fcff17a69c2d22253ae12c30eff6d244276e92f6372b5f2df89c6343f2ab4ea90300cecc08b23e1639249cd76e7a2fef5b7d858265deaa47c0fcb582cc1748b8f903b696277dfa1e6cbb174f712c13aa1e3a9db0aecca3d71e5849c28ea31a4234e200581f035c8abae463fb32bd0706a949ee49ec5d3f2b9e718116164c34a71bffa2105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f036c24d8c0186ee94c09bd10a0f2c67c3c9d13dc44085ff901df351091e6c04a021e19e0c9bab240000000581f038dcaea8a3cfd6fba138cce4126b8e6c230a2852bf52b0422b5d4c99bb7804623105a98618100581f0385c3ebf9abb858384bd70c27ac0e66bf71b800726aa906e0fad20dff31704803fbbc1e6523200000581f0307184c4a5411a001b0c6f29d2f5dffe1f3066a8e57fe0d10890acbd0bd604807872e59928ed242036d22472d44dae0ae4a36eb6908c877707105c0e4b2cbc918a16cb374f74759170219fcbb03312ffa3e0f5dbd812032139c9e0c8dfb5a4952da6869c0c0fa651f8321d1c7a0032f63dc2b81013d23f12bcc3c751a9a5f6c597f53b76c8a79be05cad221e2b1ce0368021d039be866a7a65b42031efff49fd621ccde222c5c98f26fd889b3b4a49203a6585520669f905bb7e2f42c3e6f90e9e5d989e0a2596aa33d9b23680daf78e6032b2c5558f0972bf63bd2a312778d99bd9848816397b0dc3ee1a79054d7c48952033c0751e3d5be70954accf57383356f9b77038c1d66fd960558f19cdd72f478550219ffff0219ffff03d23b8bea385822a9a05b25067c99a0887c2cf3426fbc2e275c14536f344701d903d7176d0783a361a509734ef1916fb75ab48d3193a1cac797949a9e9047157924038179fd591b0df96003e1e2d95539f19528a541308cf60ccb1d98f20e1bdc9b4803f6047bfd1116b187ae2239d0a3b71b2e91aec016662164ce43e341c47b2db3c6039b99073bfb965236ce3550b8d0fe262cb813a109d5fa0f6d026fd0110c5ecdec039b65f1e3875a1c3ad5ece06c0ca948eb99196f94f81b1f7eeb7779b9e9daa8d003a1d85215e56373fdf9889698db13e6ed66b734a1785e813e898b56ba9104c5110219ffff0219ffff05581d028cfc997a82252167ac25a16580d9730353eb1b9f0c6bbf0e4c82c4d00701191ee005581d02a482ab4b142dc254cd296386030fe8c02d1a908075bb0c57c5d36d420c01463faa252260000219200805581e03720393ff9f9a5a3113b70ecfdd01ec81296fd5c7434cc8c89bedae0240040105581e0326a1263a49385849fc3d264449cc387a96dada0c5160f58c608505d9100c01470383de5d371000021935f703f29b186d2d1752166133ad00bc9a4be5f007410a68ee8d349c81ab0fc62a4c65038313bf139ea559d73ddc4eb89afe49877225d6a9bca436ea43eda3bd2075dd0f0219ffff03e2a8c99f39a327aec81f6a7f282bb8ce66c5f94793a0cf44603b34ddcc2835910317900374bf0169b52128569449b8d0c478ce43da62c46afb65a27f6df133cfb3034ad9a8a80636b42d21baf8902f3b55e76062dde258c544dffc1955046cd81a6b0315d09ba5d57081452867d45b9b197a6cdde8098d4cb92cc4d065c636f5535dca030687dc1f3151dfd8ef935aed3c0fbe56493267a86e2590ee2718720c20a6a27203bd9042bf8561d76f343cac54428b5e2c976ca3e51e71b33ca30ff5459e05f380036d5b3fb71f7136bd2d3713a9b100ba6d83a959fc0334602b8fd40de17398338d03da605aa63f218ef55f9d24ec1cbfdb9374c1642188448c2be218c7cf20306de703e99822e9009ecadf517243db4f5ff03f94fef975697d2c045aa02d046f8176e50219ffff03a6cf49ef3e6644cd5b36ce071574893d5630a56f5c967aa2f43abd8bdfbdb76303bcf3e044b64eb1a7bb9d0c7f2b0b023c2c81efa6ea393f67eb0a4f19abb1b20403ce0c4c94e37500a5cb4da9592ec52bdfdaf7daa8c0a1cc132fe0302f24e1c49b03e974ef788e5b3a0a971371c1a5addf7e312ffd4d5dc97738f9a4c22b58812c0f03dc5ea5844b91dd75effb8ccf05dbc05777c8c58496799163adec72c0739d595c03c7b8518dedfc90e62d7a91598d2cca99ae04a532b35eb05e970869913f4ceb170219ffff03534d201c4d3049f1dcff3bca2305db534525b389a34a8b22bf63d571ec4db25b0315b4dd345fafaad3d5e9d10c724df92d3447e78c61a8c5fed765abf3da19e20e03e46324f4de330e4bd53d196d00a5a454e812385bab6c0da1b766c89d2dadc37f035af3ac7df3ddcfdea6bf7bf102545c9364e93bf38264a6cc6c40035d9afb1329036abb44293dfa5308d59dadaabe2f1d6e9f19c739b1a1705c9ffc4c66e12b439803f2827ed1b1be06545e38ecbb3fc24de6766e6a97e7787a5db64c366a4f043888034899d373501b0e5f89383de22fad353ccb88a1b7dc6fac8ae83fc3de3b4a7ad303b254dc5f808a87b268b6e265f10aba920601c120e5212329a1be1c6605c5904203215613bc441965cdd6c5f13dbb5b9f3c6ea0008b0e70580beb5b61539f70bb32035f6dc1a414411fc77c48eca2aaf2c1e90964d4c8ba89f2df79e7872a510922a1038235d474dfc42cdfc2bf16cd216b6ff1b8e40a84e1d020ab90384739935325a503300da66bc4547f6c5bdc61c397b2ebf1f145c6b4fc61532dcabf09a5f817f8a80395c5d75892fcb3278df2a570188922416d7cce619bdbe84cff59f6ad2e8d284603148ddab3dc80f5f25d6730dca6fdbd10e0a00435febf955940e86567dbbf673503ba3cf5391bf182204389923af024a329ea8b44634e917602aa59bf2a563d66b103fd6ce5a742553fc3b155e3c1cc09e7f06066d19f28218010253c0861224588ad03277bd7c618305b4f90d2577343bce8fa52afb75ac0df9ab30264517fc1f5fe3f038d91eeee452a2e86da42574a46a89a805c900ce050dc8e6f8fdc8fce5b91283c0331f29a4a628a99fd629231644cb0c0ec808b66ab4777328b8fc020e1a1504cea0324b09371afc9408858513c1f2cd59cf30f7d6ce012ef2b6ea33d3a623ab34ac9039d03fe72625dcfe12b4473ed6c80160694c88722bfbb52cde95f95047315750a034f847eafca7b56f4b3a3f20d07bfaefd937a01a5447559cc6f4b21fbac1429a003668acf20734b48e9eb99be8a171b209f0c90d494c039f9dc0ddc85404bb1f916039c8753ab288b7674e38911440b70c55cd968a3c10c0ee177e1b9563aac4a7a7f03df0fdee2abfa910442ad7ee3ba5029b9368fd1c41a2afcf69e87712dd825bca6036bdf68569acc288f4dd8657c2cf7c48033fc6680631fce10d511d11099bf6ac803631552a56056a8c13aa774f60fe174f981044b212a19aa4b609d1b0a4a1b201503fdb0b96eedaa208682cf378e11a50fe35d73aa5a3fce64c902cb2b5fca308b2e033f26e5cd97c81d17521e18cf6a1ad159324606ae6f8d0fae467fcfd273bcad940358df5c3356a8865d73938db283e2305a9479abeef1b3fb9294f450433238d64a0388a3405dd589f469f2e04525c2464b5cb6622662dc29d1490324c87c0f7da6310319e208cd0c1998bc3f5b740a2c42c077a33bf0bb0e6f016aeca788b51eccb02203b8d46af4b542dc59dae0f00ea3359fe0340f22046f44d88f07bfe96b72cfc4b705581e0372e37eb510d1b2e7e539dabe4d418481277dada02925192f56499a8c70040705581e03e117ea13e87a3047efaaa64315ffeee6b2b2cfb0b122ece9c260dc79b0040103df4655a461733920766c60deff12269b4f23e3fd20ee35da5115c38b136e519b03e68e3cba25043568a98449d67fbe004c96afbb098e13865875860bfae17c58c103589f78c34c6e971dd96513f00c9d88ad85c0144a21b44afe598a2229ec0c930c05581e0308e1ec4610cdf00f98b8d1968ad60c54bb0e37b8c8558688943ddaa6800c0147018436ceaceb6d05581e03e6de7be1435c8aa667b57e60eca717c566fbb91cd0f554f730484432d00c024702803f74e1898605581e03d9427e50d7cf12d27eababc2fb6dc1a342157876136af33f68f8305d00040305581d02769f858d3b1cd1cc387e1d8591ab10ce8e65fe2724e524bf7563a03e0c024721c4a57c0891ff05581d023dc05331ed66896ae657e62c423373d074a92290bee07f6d8390c93d040102090219ac1f03fa5394171b13e433aa1428b7c86d8944fcca138aef46cf2df8fce0e127e8491a034c41ce9a36d81cd06e67ae983d92248dff6c7e4e2b1c40762a56f9ce07944f370310c236c916f4efead043c74915fee341294b37b43dcf3c75039c43af3013f5260314f26cd6a5940fcfb902046607fc7d0a4bace29ef2e81b3b1d61dc9b710b91e9031b2b37088776f51b36fcb9592916b6bd59484a9d74809b0d529303be29039aaa033adfa93edfb188b31f4ee80d507c178938274a9cf6ffc0ee2dec6bbb3a31b4f8039533a95cd1735e081eb3450a938bbc769fd1b9ef03f9f5146ed21e6103a8bffb038034e56c53dbcc160e55267971a5632ca11236f53208c9a72a525605b1cf765a035a68e59a0af905078a2c891e57630d59540f7614b00b4b3181b36775936b29cf03622dfba2dc9733d9eff6a8c167c1daa9ece7730925989032a84c51670877ada90219ffff03353d5390c2f239b4297f0256885b003a9b00bb25c22ce84fe18684ee4008ab3b030a99b32e6376ada38b333acebf74288b6a8bcaefb657f78810b4d1c0d9020c3f03e16d230aa4f3ab411b4aa5cca504996c844e370d38366123a28f784f99cd29330219ffff03c6afc7e57c9d0168b2d3e952de9562bfab59540555dee991f6ed060b749f5f640358dd2a560eaa7f2be7b135be8fe4f664e04da5bf844818559abcabf6bc04498f03070e84d55a2dacb773c01d3fe6b39b9d1b63b48905a54d675396a4945b0e20be03aa29633bab67924f9aa45ea62f1f5423a957af10158c4fd0ef29d3cb72412f8b03b74757388344ee9c3d8d1a3cae26ae79a906244c71ab5e0cfb4e6b5d6e9e0340037090a93a9650e987f8fc44f735d5a43556e474cccea1984a6c40d7df880c21b90219ffff03cd219b02a16a8b5fd7bfec03fdb5302c62991d615a56521ce1f91f27c85422e1039cc7c353125859809d7e1d347e1cda20e16b4e2abde6fd5983cfc842e8e2dea7033bd90a7c094bb6555e872cf443b833268d6bf4023c878a3790c2326bfe001dd603b8e288b8819beaef8e21351fc8e2b362d2e532b502843c845f8d5f39a69af72203de15adce7517cc2ad3ef70a50bffae92495d0c49dbba54d6af8df3aa2f1a40cc03ad257b42968cb272aafd93eaaa881952c71ddc14f819f5df8095a3bbe7e667c2035e48edca9296143ee8262a653d141682339d90c640ea794764b890c5686040bc031d81439a7c1d8bc2fd1455b6bd53d7f4013eb559e464145bb880aa9f93703f2603e1442c98007addccd0f4aa4c292bcd3bcd2005c221123b2c58472553f094736d0311eeaec91a7bbe8d8b699780366cc0bcbe0a3c238043f5b75af7b703344d640403cbf2bcc9f9d64321298ae04f754a98738a4e9ee3ecc31cd33d6261a83063ced403655dc4805742f20220cf433f3866308545c9daf65ed32db0d84e2a69daa2b45403bb91f65bc825cb760eab42e0fd3e693b823f5c6e620e6a91b5d457430288cb1503bfebb14e9f47786c3d2742ad527bc49f16b9d0f622aa90771c71c556fb8a3c440351dbd53550cc452fa9ddeaae812871d9072b401bbef2bca6e86615d02011206b03b349f1a88e3eaf8f9ffee671f0274cc622e3e6bf46c27256832c4890cd03d37c03133235a7c9708c47663539448c2fb8b2914427fe72fb4706c131e6304c7ab8a20320f0efcc711a1b5aab9eb67ad89f86be7bc9c50f08370927f3ba0febb2d277f2038559d843525cb5c9f44b14ebd9d8bdef560ff17437cfc88f9bd1b97926d88a1b034c3cdfe470fd3e8c22e87cc3c831594dc05d258b7d7032008b4a8498d1b7759f039206a0f7ca4001d628c908ddb4c30173c445e4a135dfe86d4d8169ac6bcd5cad0350c5f61039691e378a4140b93630d5f850ccb81f4ce6be3a82693e7a1ca4572f030cf56220f2993c118ea2cedd2431292c86761e739b4c2cbaba7becb65d1c2145030c147d210a56e5a140de5ed6d187ed9ad825eee52a7b9330b5dc121cd557f3e6030d8f6011fee1c0813dedc4564ee768c7dc790c547882d0b1954b156724eb131a032f536b362d9862f74b23220f24d3a4b30c9edab64a0bb928c8ff885edb13f7f905581e0319ee173a0ea198b72727c7391cdf5ca5ae2680e00f1f363670499278900c094709f801f5f434f105581e0309aee29b551c3e2eaa371cc6c5376674666ef3c22768ce060282a793500c0247123fb5e25a700005581e0366cf3d6300c0e0386a09c42582c737aed0cb43966166085beb4a2e49e0040205581e03b3ef764911c359cb6235c4aafb3d7dccb5ac014e20c55b86ce071bf0000401037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e03802201e902711b3f681af73ccd3ef69456ff1a624dadc27821966a849007011bffffffffffffffff03faf3f1e7d88a63e0737dabf03798b16b009c774a33de07cda171432ecf794e0f01410005581e03ecd5ee17a3ea3d509d2b7370c5370b74597d7e7f219cd9c15270d32df00c18f34710107ff60b0a2203353a7aac30d8605c524f3c78ff25204222e911ea16fad84032cbc35536b4aaf701410d03fa1b63ff47442d998294d76af0f090a1cd3d31ad88c9d2c08617fec99a3857fb0219678e039dbf0f20d01cb1ac811aea1477799e52628a524ca36b085316c72bf01ea731a803eb53e2d39daed2ce050215e9dafe372b0dff61b966d0be2f4d335cb2827e0b2f03f8f00b65843f8ed733e80823e9bb82605b79faba0a0512c50e583ccfa7c855de03c648361c5a170faef266f6a486dd45b17167dac6a61faf78d21ef45993ed9af5030c2d3681946431814eb13ae99777c84baa7c8138123e0e2067fa15618a1f5c1c039d02b433a08feeb48952907eb1355eee150ee20bcd876f083682df639f6ff8f903852f8cb064961b9217f07a702196a78929b7ffefcd7885e46aec20a3bedfa7200219ffff03973023b2276567523cfd1af1a6566bff7935252464ed58cc1ef829412f1c0d7d036c8524df278e3a4ca894040b5792f4e95398961de80744bbdc8fbd9b66a55e3603fc34842300c6ef8a577521aba8f902c0216dc11f909a04b784198e80263f9b0d03eda92899a6b348b32898da7e5b75169c52f3fb5a9cd4046664253242c372540003a9ce89c87effbea94537085df67e1b3e0a48a68f4c108759e17995de61512e3803d3e106703f20445e95d8e9e9b876182cd20b256652989f862e6393e0c0a97f5f034b824eb651911a72c7e3d73721299f31d43b296676d4b8dd0149116717d1baeb030ccdb46dbe50ee86f4c0319138ecef47a3fe8cdb730f6a540eb3a5ca7df32db703e5e16e7b230cdd837f18ee4eee95340f93ef7f57819a89159214bfbcbcdb478b03a5ff9eb35fd6a500a3578bbecf4ee7250c45a962e5d08a5156be8497f1b9a7ce03896a166e3c53b1b789405bc1ac2d94bafe43040b27bcb93c67343dbabfd45ebc03ea9f303e0265c9a3cbf598ebedefb8c7f68d665028b234972d47cd16e76460110219ffff0219ffff0219ffff03701feb936a14d2ea16599de8b1826dc15e53f1a1ca06daee214fb72506977a5003c441c656e4f80b9d129f46ac4e0b8d19975144d89f781b1fe0aef9f5cc676f0c03069e101f4b292376edd89a81ff14db7632ef840ccfe808f2f47e4172928220a603c98e5590f36371be4c5dc1651f1055d662ba2cde68defc5f8e85d24832c0e1020341f88526e3a490102e7f1f6df6ca15d70802aaccc63adab188f603ddc5d5b381033bd0095ad46d2dc5f0f23e43b2060abf3b88b9a339fa9de520c1bf3ab07f4a51039409504e64181d624e59c8523f8623d5cc6831047a93d09c2d99d6152ea8969003948ac106a53467af3ef0df055d75dd9329d879dc2955a67758a4573ba8994915032006f66a07f19169f2a598cea15760ee6ffdd23b65a0007a786c6bb7620520d1035313166cb4c5a6be32e8ebfc80278a42851e22ee23ec253523f1f03c6b06e66c03141a9acb92061485b77c0c837fcaa6ba394769ed693312a49a0fd4a09f015e4a03ccd46914f7c3decb919021d96ea43d6cf8b84d7cd5095ced0376f77cd461a988030af5043e880d18fb1a0afe811313dfc78376f5495783e8efd61eddb4587409f305581e03d7de7bdd4df37f2317dff60d2fcdbec1685b5bae1e495296bb49343ef0040105581e037a4ad2d46a53e724c11b94e0076163bd8c557cc4ca4b19989759e6a3200c034690976a6d28000384e40fbf2862d82aeb9de32b3704c6a23ea0468a2a92aa0ef72e0dd1fd81d836031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03db227729bc657b799bbac1a67a0df60d0b96d8659f3c35a4b3d25006c007011bffffffffffffffff0338b6c70dad616039af95c4d446011de8b46c0f3f617f3434ff6bb4609afae96a03069b09b5e78942eddd5a7ac790a36c18d05048e7edbdb8e59b07427daf1bc0be05581e03fc415a5f85d33605cb12644ebcfb421316d180d10228266d8c35b1b3e007011bffffffffffffffff05581e032fb4f05806dd3da0916280eeaf7306be4e0fc6518f6f1d1d9a9ec4f3d004010459463560806040526004361061029f5760003560e01c80638585c9451161016e578063c7a823e0116100cb578063d547741f1161007f578063f010cb2311610064578063f010cb2314610906578063f3b4ebd014610926578063fd62e7501461094657600080fd5b8063d547741f146108c6578063dafe0ccc146108e657600080fd5b8063cd88b903116100b0578063cd88b90314610823578063cf34c76814610843578063d2ae21041461088c57600080fd5b8063c7a823e0146107d5578063c7b2370b1461080357600080fd5b8063aef18bf711610122578063c358de0a11610107578063c358de0a14610763578063c416aa5114610783578063c5e193cd146107b557600080fd5b8063aef18bf714610713578063b143044b1461074357600080fd5b806395d376d71161015357806395d376d7146106465780639e94496514610659578063a217fddf146106fe57600080fd5b80638585c945146105d557806391d14854146105f557600080fd5b80632f2ff15d1161021c5780635553fb8e116101d0578063724e78da116101b5578063724e78da14610533578063736c0d5b14610553578063741bef1a1461058357600080fd5b80635553fb8e146104fb5780635c975abb1461051b57600080fd5b806331cb61051161020157806331cb61051461049b57806336568abe146104bb57806352d3b871146104db57600080fd5b80632f2ff15d1461045b57806330bb3aac1461047b57600080fd5b806316c38b3c11610273578063248a9ca311610258578063248a9ca3146103d057806326e67a371461040e5780632de113761461043b57600080fd5b806316c38b3c1461036a5780631703a0181461038a57600080fd5b8062bf2e80146102a457806301e33667146102f857806301ffc9a71461031a5780631095b6d71461034a575b600080fd5b3480156102b057600080fd5b506001546102e0907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561030457600080fd5b50610318610313366004613732565b610967565b005b34801561032657600080fd5b5061033a610335366004613773565b6109a2565b60405190151581526020016102ef565b34801561035657600080fd5b50610318610365366004613732565b610a3b565b34801561037657600080fd5b506103186103853660046137c3565b610bcb565b34801561039657600080fd5b506005546103b79068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102ef565b3480156103dc57600080fd5b506104006103eb3660046137e0565b60009081526020819052604090206001015490565b6040519081526020016102ef565b34801561041a57600080fd5b5061042e61042936600461380d565b610bf0565b6040516102ef9190613828565b34801561044757600080fd5b5061033a61045636600461386f565b610c77565b34801561046757600080fd5b5061031861047636600461388c565b610d5c565b34801561048757600080fd5b50610400610496366004613916565b610eb0565b3480156104a757600080fd5b506103186104b636600461398e565b611027565b3480156104c757600080fd5b506103186104d636600461388c565b61106a565b3480156104e757600080fd5b506103186104f63660046139bc565b61109c565b34801561050757600080fd5b50610400610516366004613a43565b611268565b34801561052757600080fd5b5060015460ff1661033a565b34801561053f57600080fd5b5061031861054e36600461386f565b6113df565b34801561055f57600080fd5b5061033a61056e36600461386f565b60046020526000908152604090205460ff1681565b34801561058f57600080fd5b506002546105b09073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102ef565b3480156105e157600080fd5b506103186105f0366004613a99565b611484565b34801561060157600080fd5b5061033a61061036600461388c565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b610400610654366004613acc565b6114c9565b34801561066557600080fd5b506106c361067436600461380d565b60066020526000908152604090205467ffffffffffffffff81169068010000000000000000810461ffff16906a010000000000000000000090046fffffffffffffffffffffffffffffffff1683565b6040805167ffffffffffffffff909416845261ffff90921660208401526fffffffffffffffffffffffffffffffff16908201526060016102ef565b34801561070a57600080fd5b50610400600081565b34801561071f57600080fd5b5061033a61072e3660046137e0565b60076020526000908152604090205460ff1681565b34801561074f57600080fd5b5061031861075e366004613b7a565b6116a5565b34801561076f57600080fd5b5061031861077e366004613bbc565b6119b5565b34801561078f57600080fd5b506001546105b090610100900473ffffffffffffffffffffffffffffffffffffffff1681565b3480156107c157600080fd5b506104006107d0366004613a43565b611a63565b3480156107e157600080fd5b506107f56107f0366004613bd7565b611c41565b6040516102ef929190613c45565b34801561080f57600080fd5b5061031861081e36600461386f565b611e51565b34801561082f57600080fd5b5061031861083e366004613c92565b611ef5565b34801561084f57600080fd5b506108777f000000000000000000000000000000000000000000000000000000000000006581565b60405163ffffffff90911681526020016102ef565b34801561089857600080fd5b506001546103b7907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b3480156108d257600080fd5b506103186108e136600461388c565b611f46565b3480156108f257600080fd5b50610318610901366004613732565b61205b565b34801561091257600080fd5b50610400610921366004613cd8565b612191565b34801561093257600080fd5b50610318610941366004613d43565b6121cd565b34801561095257600080fd5b506005546103b79067ffffffffffffffff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561099181612442565b61099c84848461244c565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610a3557507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610a6581612442565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16610ae3576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610b5357600080fd5b505af1158015610b67573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb925060600190505b60405180910390a150505050565b6000610bd681612442565b8115610be857610be461247c565b5050565b610be46124fb565b63ffffffff8116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610c6b57602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610c3c5790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff1615610ccc57506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff161580610d42575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b15610d4f57506001919050565b506000919050565b919050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480610daa57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80610dd457507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b15610e1757303314610e12576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ea1565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103610e6757610e127fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775612442565b6040517f94fdc372000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b610eab8383612552565b505050565b600083610ebc81610c77565b610ef2576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a16602080840182905267ffffffffffffffff808c16858701528a8416606086015260055468010000000000000000900416608085015260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660a0860152600092835260069091529084902093517f7bfa20a9000000000000000000000000000000000000000000000000000000008152929361010090910490911691637bfa20a991610fda918591908a908a90600401613dc1565b602060405180830381865afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101b9190613e8e565b98975050505050505050565b303314611060576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610be48282612618565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756110c681612442565b60005b8281101561122957368484838181106110e4576110e4613ea7565b9050608002019050604051806060016040528082602001602081019061110a9190613a99565b67ffffffffffffffff1681526020016111296060840160408501613bbc565b61ffff1681526020016111426080840160608501613ef6565b6fffffffffffffffffffffffffffffffff16905260066000611167602085018561380d565b63ffffffff1681526020808201929092526040908101600020835181549385015194909201516fffffffffffffffffffffffffffffffff166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff61ffff90951668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090941667ffffffffffffffff909316929092179290921792909216919091179055506001016110c9565b507f7dd21e42791b013d1929e86f0c59085e4fca24251f0f1aa81917b3b1611766e0838360405161125b929190613f11565b60405180910390a1505050565b60008161127481610c77565b6112aa576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808a16602080850182905267ffffffffffffffff808b168688015289851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517f7bfa20a9000000000000000000000000000000000000000000000000000000008152939461010090920490921692637bfa20a99261139392869260040161401d565b602060405180830381865afa1580156113b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d49190613e8e565b979650505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561140981612442565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b3033146114bd576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6114c681612818565b50565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6114f581612442565b61150560a086016080870161386f565b61150e81610c77565b611544576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915260025473ffffffffffffffffffffffffffffffffffffffff16815260009060208082019061157f908a018a61380d565b63ffffffff16815260200161159a60808a0160608b01613a99565b67ffffffffffffffff1681526020016115b960a08a0160808b0161386f565b73ffffffffffffffffffffffffffffffffffffffff908116825260055468010000000000000000900467ffffffffffffffff166020808401919091526001547d010000000000000000000000000000000000000000000000000000000000810461ffff16604090940193909352929350610100909104169063df2b057e90839060069060009061164b908d018d61380d565b63ffffffff1663ffffffff16815260200190815260200160002089896040518563ffffffff1660e01b81526004016116869493929190613dc1565b6020604051808303816000875af11580156113b0573d6000803e3d6000fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756116cf81612442565b60005b8281101561099c57368484838181106116ed576116ed613ea7565b90506020028101906116ff91906140f3565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000006516611735602083018361380d565b63ffffffff161461174657506119ad565b4281606001351161175757506119ad565b6000611790611769602084018461380d565b611779604085016020860161386f565b6117866040860186614131565b8660600135612191565b905060006117a5826107f06080860186614131565b509050806117e8576040518481527fd6d90193101048cc1b6edcdc2348f5acf7a4a4a97d3e7b668b74cb7602ab3ebc9060200160405180910390a15050506119ad565b60006118086117fa6040860186614131565b61180391614196565b612930565b905080156118a15760008381526007602052604090205460ff1615611869577f9bb9bddbdf537a2104255307230b323d7982f4512ee8e5bd15df62ddca50ab978484604051611858929190614242565b60405180910390a1505050506119ad565b600083815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b6000806118b4604087016020880161386f565b73ffffffffffffffffffffffffffffffffffffffff166118d76040880188614131565b6040516118e5929190614308565b6000604051808303816000865af19150503d8060008114611922576040519150601f19603f3d011682016040523d82523d6000602084013e611927565b606091505b5091509150816119a657821561196c57600085815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b7fdc8cdd96296241bbefda4a8e18ad2e0985a8da6495b34d409cfc4c886ee3b0cf878260405161199d929190614318565b60405180910390a15b5050505050505b6001016116d2565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756119df81612442565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d90602001611478565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de611a8f81612442565b82611a9981610c77565b611acf576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808b16602080850182905267ffffffffffffffff808c16868801528a851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517fdf2b057e00000000000000000000000000000000000000000000000000000000815293946101009092049092169263df2b057e92611bb892869260040161401d565b6020604051808303816000875af1158015611bd7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfb9190613e8e565b93507f87e46b0a6199bc734632187269a103c05714ee0adae5b28f30723955724f37ef84604051611c2e91815260200190565b60405180910390a1505050949350505050565b6005546000908190611c6a9068010000000000000000900467ffffffffffffffff166041614360565b8314611c7c5750600090506001611e49565b6000611cd5866040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506000805b60055468010000000000000000900467ffffffffffffffff16811015611e3d573660008888611d0b856041614360565b90611d17866001614377565b611d22906041614360565b92611d2f9392919061438a565b91509150600080611d768785858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506129cb92505050565b90925090506000816004811115611d8f57611d8f613c16565b14611da857600060019850985050505050505050611e49565b8573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1611611def57600060029850985050505050505050611e49565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205460ff16611e3057600060039850985050505050505050611e49565b5093505050600101611cdb565b50600160009350935050505b935093915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611e7b81612442565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e090602001611478565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611f1f81612442565b63ffffffff84166000908152600360205260409020611f3f908484613652565b5050505050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480611f9457507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80611fbe57507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b1561200157303314611ffc576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612051565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103610e6757611ffc7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775612442565b610eab8383612a10565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561208581612442565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16612103576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f07b18bde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906307b18bde90604401600060405180830381600087803b15801561217357600080fd5b505af1158015612187573d6000803e3d6000fd5b5050505050505050565b600085858386866040516020016121ac9594939291906143b4565b60405160208183030381529060405280519060200120905095945050505050565b4281606001351161220a576040517f0bbaf26300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3061221b604083016020840161386f565b73ffffffffffffffffffffffffffffffffffffffff161461229157612246604082016020830161386f565b6040517f1ce0bfcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610e98565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000065166122c5602083018361380d565b63ffffffff1614612318576122dd602082018261380d565b6040517f2697e1c200000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401610e98565b600061232a611769602084018461380d565b9050600061233f826107f06080860186614131565b50905080612379576040517f15ecadee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604090205460ff16156123c5576040517f9d6a45a600000000000000000000000000000000000000000000000000000000815260048101839052602401610e98565b6000828152600760205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610eab907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759061243090860186614131565b81019061243d919061386f565b612552565b6114c68133612ad5565b73ffffffffffffffffffffffffffffffffffffffff831661247157610eab8282612b8d565b610eab838383612c93565b612484612d01565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612503612d70565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336124d1565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156125af575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b1561260e57600180546015906125e7907501000000000000000000000000000000000000000000900467ffffffffffffffff16614426565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610be48282612ddc565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205481151560ff90911615150361269f576040517f58c8d2a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201528115156024820152604401610e98565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016831515179055816127115760055461270c9060019067ffffffffffffffff1661444d565b612729565b6005546127299067ffffffffffffffff166001614475565b60055490915067ffffffffffffffff680100000000000000009091048116908216811115612797576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808416600483015282166024820152604401610e98565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff84161790556040805173ffffffffffffffffffffffffffffffffffffffff8616815284151560208201527f863d338cad74814b108a06288ad5e0e80d56495e0332238b1d2cdcfa0ca8e5ce9101610bbd565b8067ffffffffffffffff1660000361285c576040517f5f86e17700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055467ffffffffffffffff9081169082168110156128bb576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808316600483015283166024820152604401610e98565b600580547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8516908102919091179091556040519081527fb600f3cf7f38a4b49bb0c75f722ef69f7e3e39ef3bb4aa8207fd86e724a2324990602001611478565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0223536e0000000000000000000000000000000000000000000000000000000014801590610a3557507fffffffff0000000000000000000000000000000000000000000000000000000082167f704316e500000000000000000000000000000000000000000000000000000000141592915050565b6000808251604103612a015760208301516040840151606085015160001a6129f587828585612ecc565b94509450505050612a09565b506000905060025b9250929050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015612a6c575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b15612acb5760018054601590612aa4907501000000000000000000000000000000000000000000900467ffffffffffffffff16614496565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610be48282612fbb565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610be457612b1381613072565b612b1e836020613091565b604051602001612b2f9291906144d8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610e9891600401614559565b73ffffffffffffffffffffffffffffffffffffffff8216612bda576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612c34576040519150601f19603f3d011682016040523d82523d6000602084013e612c39565b606091505b5050905080610eab576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610e98565b73ffffffffffffffffffffffffffffffffffffffff8216612ce0576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610eab73ffffffffffffffffffffffffffffffffffffffff841683836132db565b60015460ff1615612d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610e98565b565b60015460ff16612d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610e98565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610be45760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055612e6e3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612f035750600090506003612fb2565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612f57573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612fab57600060019250925050612fb2565b9150600090505b94509492505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610be45760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610a3573ffffffffffffffffffffffffffffffffffffffff831660145b606060006130a0836002614360565b6130ab906002614377565b67ffffffffffffffff8111156130c3576130c361456c565b6040519080825280601f01601f1916602001820160405280156130ed576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061312457613124613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061318757613187613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006131c3846002614360565b6131ce906001614377565b90505b600181111561326b577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061320f5761320f613ea7565b1a60f81b82828151811061322557613225613ea7565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936132648161459b565b90506131d1565b5083156132d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610e98565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610eab928692916000916133a6918516908490613453565b90508051600014806133c75750808060200190518101906133c791906145d0565b610eab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610e98565b6060613462848460008561346a565b949350505050565b6060824710156134fc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610e98565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161352591906145ed565b60006040518083038185875af1925050503d8060008114613562576040519150601f19603f3d011682016040523d82523d6000602084013e613567565b606091505b50915091506113d487838387606083156136095782516000036136025773ffffffffffffffffffffffffffffffffffffffff85163b613602576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e98565b5081613462565b613462838381511561361e5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e989190614559565b82805482825590600052602060002090601f016020900481019282156136eb5791602002820160005b838211156136bc57833560ff1683826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030261367b565b80156136e95782816101000a81549060ff02191690556001016020816000010492830192600103026136bc565b505b506136f79291506136fb565b5090565b5b808211156136f757600081556001016136fc565b73ffffffffffffffffffffffffffffffffffffffff811681146114c657600080fd5b60008060006060848603121561374757600080fd5b833561375281613710565b9250602084013561376281613710565b929592945050506040919091013590565b60006020828403121561378557600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146132d457600080fd5b80151581146114c657600080fd5b6000602082840312156137d557600080fd5b81356132d4816137b5565b6000602082840312156137f257600080fd5b5035919050565b803563ffffffff81168114610d5757600080fd5b60006020828403121561381f57600080fd5b6132d4826137f9565b6020808252825182820181905260009190848201906040850190845b8181101561386357835160ff1683529284019291840191600101613844565b50909695505050505050565b60006020828403121561388157600080fd5b81356132d481613710565b6000806040838503121561389f57600080fd5b8235915060208301356138b181613710565b809150509250929050565b803567ffffffffffffffff81168114610d5757600080fd5b60008083601f8401126138e657600080fd5b50813567ffffffffffffffff8111156138fe57600080fd5b602083019150836020828501011115612a0957600080fd5b60008060008060006080868803121561392e57600080fd5b613937866137f9565b9450613945602087016138bc565b9350604086013561395581613710565b9250606086013567ffffffffffffffff81111561397157600080fd5b61397d888289016138d4565b969995985093965092949392505050565b600080604083850312156139a157600080fd5b82356139ac81613710565b915060208301356138b1816137b5565b600080602083850312156139cf57600080fd5b823567ffffffffffffffff808211156139e757600080fd5b818501915085601f8301126139fb57600080fd5b813581811115613a0a57600080fd5b8660208260071b8501011115613a1f57600080fd5b60209290920196919550909350505050565b803561ffff81168114610d5757600080fd5b60008060008060808587031215613a5957600080fd5b613a6285613a31565b9350613a7060208601613a31565b9250613a7e604086016138bc565b91506060850135613a8e81613710565b939692955090935050565b600060208284031215613aab57600080fd5b6132d4826138bc565b600060a08284031215613ac657600080fd5b50919050565b600080600060408486031215613ae157600080fd5b833567ffffffffffffffff80821115613af957600080fd5b613b0587838801613ab4565b94506020860135915080821115613b1b57600080fd5b50613b28868287016138d4565b9497909650939450505050565b60008083601f840112613b4757600080fd5b50813567ffffffffffffffff811115613b5f57600080fd5b6020830191508360208260051b8501011115612a0957600080fd5b60008060208385031215613b8d57600080fd5b823567ffffffffffffffff811115613ba457600080fd5b613bb085828601613b35565b90969095509350505050565b600060208284031215613bce57600080fd5b6132d482613a31565b600080600060408486031215613bec57600080fd5b83359250602084013567ffffffffffffffff811115613c0a57600080fd5b613b28868287016138d4565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b82151581526040810160048310613c85577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b600080600060408486031215613ca757600080fd5b613cb0846137f9565b9250602084013567ffffffffffffffff811115613ccc57600080fd5b613b2886828701613b35565b600080600080600060808688031215613cf057600080fd5b613cf9866137f9565b94506020860135613d0981613710565b9350604086013567ffffffffffffffff811115613d2557600080fd5b613d31888289016138d4565b96999598509660600135949350505050565b600060208284031215613d5557600080fd5b813567ffffffffffffffff811115613d6c57600080fd5b61346284828501613ab4565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6000610140613e39838873ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b613e7a60c08401875467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526113d48184018587613d78565b600060208284031215613ea057600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80356fffffffffffffffffffffffffffffffff81168114610d5757600080fd5b600060208284031215613f0857600080fd5b6132d482613ed6565b6020808252818101839052600090604080840186845b87811015613fa25763ffffffff613f3d836137f9565b16835267ffffffffffffffff613f548684016138bc565b168584015261ffff613f67858401613a31565b168484015260606fffffffffffffffffffffffffffffffff613f8a828501613ed6565b16908401526080928301929190910190600101613f27565b5090979650505050505050565b60005b83811015613fca578181015183820152602001613fb2565b50506000910152565b60008151808452613feb816020860160208601613faf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000610140614095838773ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b6140d660c08401865467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526140e981840185613fd3565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261412757600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261416657600080fd5b83018035915067ffffffffffffffff82111561418157600080fd5b602001915036819003821315612a0957600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156141d65780818660040360031b1b83161692505b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261421357600080fd5b830160208101925035905067ffffffffffffffff81111561423357600080fd5b803603821315612a0957600080fd5b6040815263ffffffff614254846137f9565b1660408201526000602084013561426a81613710565b73ffffffffffffffffffffffffffffffffffffffff16606083015261429260408501856141de565b60a060808501526142a760e085018284613d78565b915050606085013560a08401526142c160808601866141de565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08584030160c08601526142f6838284613d78565b93505050508260208301529392505050565b8183823760009101908152919050565b8281526040602082015260006134626040830184613fd3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417610a3557610a35614331565b80820180821115610a3557610a35614331565b6000808585111561439a57600080fd5b838611156143a757600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008660e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660048201528360188201528183603883013760009101603801908152949350505050565b600067ffffffffffffffff80831681810361444357614443614331565b6001019392505050565b67ffffffffffffffff82811682821603908082111561446e5761446e614331565b5092915050565b67ffffffffffffffff81811683821601908082111561446e5761446e614331565b600067ffffffffffffffff8216806144b0576144b0614331565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614510816017850160208801613faf565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161454d816028840160208801613faf565b01602801949350505050565b6020815260006132d46020830184613fd3565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000816145aa576145aa614331565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000602082840312156145e257600080fd5b81516132d4816137b5565b60008251614127818460208701613faf56fea2646970667358221220176d5879fc036cc0008342934fbcd487017b88cf8dc8379327c3c93aae58218664736f6c63430008160033005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db04901000000000000000100582002dcc63a51b94c16e874f4d0240fb384c95db355c9132a6ae041e4404e933a084a2ee00000000000012cc802188800582002811e864f0c89966eec41dd76fa2c10cfd4c6233c772c618b51289ee4b96f844a2ee00000000000012cc8005820027b42acc65b7d3053fb7ab9a667b2607fed3db818f6f4696fbf133e5cfbdbb94a2ee00000000000012cc8005820028ad25b2c533c28ba409c5b65633af8eb54fc7fad2c466e83ef934553886ea74a2ee0000000000002bf2002198208039f5d0acfa41af17c22186684584da50136d87875146a2c236a70cb3f70afc547037095afe47ba74c8ce2d91e6e12b1d0cd5abac2f68182c43166e8c0acf4aed188005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace54c03f31fd86a9077785b7bcf6598ce3598fa9111300582002b77b68053379de9f2ae1bc89fb24a8639d7c0ff80b7449aece19aab67c3b9e4a2ee00000000000012cc800582002e58de4d73e23bf12029afcdf532901e02f582becb7df724fee6696364877954a2ee00000000000012cc8005820023e401b074b1a118b05c83607b5286c7a4c95791cabc179419a4b45a01ea5a24a2ee00000000000012cc8005820027287182cb1755b233241dccca16f8c92d02af82324c2faee9a6f53c6b6e6324a2ee00000000000012cc80058200259eaf50a6c774ea5b6e01c7f3db616a8ed9978d404b081d09ca75ecab0bc984a2ee00000000000012cc8005820029ebb4a1724983d6cb4336865970552db3a612ac0a375f4778eba3353518e9141010058200285189ac0646b23997ab36c40a9cdf0e786f62d6e40fc3742e2f368fc07ac7f4a2ee000000000000075300219816f005821039852cbf316c311d97a71b992838f4aa7559981c8948fc0067f5c59fd72ed8b504a2ee000000000000075300323c444f9da44c1efaf81f7989f3775c4df2020f7e5f22d9f60f416d394002a8903076565429be905976f96028ad9b12fb1b2e32b83f936369df75e5117d00187350058200293595b39dfca82353069c46598e159a1d7172f218f0a8f16d67e910d007cdb4101005820026e87cdf4ebd3c9acf6dc1fdde61574014635470dcef3f11c17d01cab07e61d4a2ee00000000000012cc8005820029b4d2a7300119ff5329b0595196f7e1390288b52fa6d739967f38257d6bf784a2ee00000000000012cc800582002a2905cc526bb189b47e943d8722c6ba7e06ca0bfc90bfbfbfe1ed1298ab19a4a2ee00000000000012cc800582002fac4cf47ec6a88ad371166b2fba16971781a8c10e887b9dea2e2db675390654a2ee00000000000012cc802191470030e0d0fe6165ee17309e260905106c1ab54bf8b0b3de3ba09f9a0e531e8f0399a0312e6580d9e5a1da5d9397b1bd340188eb21153fe43e01a39cdcab6a43f141cb3005820020e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6581f2ee00000000000000000d0ab8512cf4907bd94cdb5fe7d0c324e666c4006000058200272bcbe7c9c6b3db4a866d202e8e59182ec2e691a15d22620c3f84ec5036cf84a2ee00000000000012cc8005820021474fbe82cc5e0c011e86051a472802566110f033bc66945ae911b7eeb0ce24a2ee00000000000012cc802190812005821038bb49ce2f000cf90ecacd6d671d3426a135b63f7e565dc7466ee4aad6d48c5b04a29040000000000012cc803d375a7c9275bd7bdc8450f9dda86e88a85ce22fa66352e2930fc5a0bb8bd846600582002c75a5c126e6a4a15b89980890296488c6d869b4ac65e55441d67205185a5bf4a2ee00000000000012cc800582003e8c92d8a3bf137ede37c4b30af9a985b9d33131a2959fda30e161291c668704a2ee000000000003d0900005820030e403f3ea2b5321b62da4a5105b26f63ef6428f5256971b633d8de8dd4b8f041010219480002191010037508f8705445779c3ab087c8ae2f2ed661bcb885654143dfae380a36a2e75e220219ffff05581e0330f349ae0b8e4ed35d6fa11e6478149569e015a4a7eba4c7491d671f50070119463505581e03c08d49ea0b86a2ab659395ca52bc12fd28bbdf714823c9fa54618512100c014738314e47a7ec6403e5b9deaa3c55b903ef99e35f3ab77bd8b2296d33c4fc7d2b128624f678a0614603f041e78bb3ac6e49f57b0e3476c176467334e73e4185807c6c7a97035a90e4250219f2e303123c200028af925e74cfe00ed0b4fd73e56ae594879295ff3b4dbe6d188a753403abdf949043cac5b84fa5011ccba7db17cd39cee3974da6083144de22be81556e03ae483a524a186e83454ea752464b82e06e86d8cfe29b59c0accc326000ebacbe035994d3adc775bcf965a834292951b659f85508ef7f357bee487fd6dc1ff2cb9c03017c193a317df4e8ddc244f6d4ede1f1af1181bd2777ae151dcce316be27905503ab5a6284b33cec9a71c43715bbcd3ac81bf6c987aaa5f78117d929609aa20905031fdb370193bc6080470a973e5cb563a7bfef0988cf04fdb5c268cd860db778da038a8188f5cab6bedf0cd3ee611739ed54b64da58ce558d5bde623ddd2ee248e2c03fa29e68433c12556c2eab03e2107f9fd9ddbf7ad950b031aac9be6761d35992e033f8f5495cfe5b7b61151e6444524327d3cd34fd5d958c0fa24221530ce2073f2038ec7e180b2a305cafc1411774cc199e43b6c72d4fbe0514be20d79bf4330e3e80308c31a32a86a18539934e0301dadc98b5ff80ab8c31fadc710299cbaa7dd169303115264fbbfe5a2f67a8e31d95dfd21b5b8a19794a18fd65e740daf2b3d1e1e1f0219ffff03bd2c37e752185bdcb992450a5f291678b15d6a53a4c1fc8b343a588800f015110325a0fe1c3c1e650a65a356eca3469a462ac5b0efd3dfb6eec4d2534e36a724eb03855993ddbb9e19e7aafedd5a4595ae6e69595d8df063f5e813d4cfc8ed1339e40311044d50125a4e2c4a2bb6139dd59a8b8f4869de6aceacf1985acd460ff97ab90308b06fde90e8d71f4c7460cb37a50f50f0bd8c80c1e525b379af6477817562100385cae9e527328c46f743860da0754d5c4c8e3153affb0c87cdadd4b6ca060823031d2259653670101e3afaf84378246039d88981109c43e4a92eff2113a1e6f5a703c693846e163e7be8a9cd6cae9ccf2398c017eaf99e2ad985728c87d11ad9d90d03b5b7450001f6244cd0b9417e8cddb74a98facda7a3afd461b32e6ad1cd3c810d03c53e2cdd44b5e1cc178cbfce3e7a35861a404bedbb60a7c5c277920cbf2ea5f50219ffff03a8753fd53d0b8487b4b47e8545730ab372b6e875c26e2e91f2eb81c866c1e4e203ae7f57710e6bb8ac4a275d3ddcf3f1a4f9337b1bb22d65dfe6a1ecacc27b0318032d0ea01ddc2ee81681d7627c48d592b833529c0444fd73a6fbe2e27901d2fcb1036a4992def74186776b5c4dc408dc8fa6501c59ddd51c16013e972421eb2906380305980811447999552c29c4bec45484d0bf0d862d20c36b2c6b823a1f21bb06a9034f16125112185b8a27c931cfe6c876e9094c2542584906d6929bd99108e8b0a80312063e85d48bc4b397a4e8e36ec61540e09e66be3f241b9951cabea63b7b6a2b03d625f05c3275ab10b85d6b947c7584a7a89f2e609b84fda1dcb67d6865fa4d64030682c9ca0471a4b13a741936b9b069f28c97b802c373d3a5fb9b1a0b78c5b5660219ffff03b580e9f2304b3c19f817e5b6abef4dfceecc692701ce6788de82208441321aba03159108894596a259d547aa433731f67d16cd2d6509cfb6847f5fbf6424a04c6203f9785a0732c6951012b44400ffcf99b347d1ae42378d804ce7fe5de53b697ea303567bcd5d810d7abfddf14394dd8e72b66ce2f35cb03ac64e135c9bd3b7241ee503598cc76790b0d17d5cb9cab83fdcca646c38f7a936380ef588d61dd097f02f16034bc8c82c91a1358afdb70180f51a74f83a7f1e853a27b32fbc318e7631fb8f34039e73d0a0dcf0b87cf0d25cff125d85df4f3eccb67c73a1d0ddf5187f0ae45bd703f28919f49c491c6624f8c59982763b06240b69932d63c92b71103f972cf2d13403bfd6481878653c4a868495b9f20620c412a864871fb65eb7bc800aaa5c2ced3803c31c01f19a2d19abca281d7d22b17343cd0cf3e130b0be1af3e7247618cf6ea60355a2de0b57227b1065ae762968c18a98b1bf3330d47aa50a48d1d8fadf82de0803ee4ede93e2fbd7e3e33d407e33ec4060f2986dc66503f34ac16209c2eb5c1a1903e7a56ed82b3eaa77b5d328d5a85321ad6fa514042b37d71be130788f1435bed6031ddefd8b662e609059cd2957339699b56055a379fedd592d43f4f8478182fc3d03d2dfa31180ecb9f77340dce4d392a9c0cc4e6e1532b78f4d12a2d5764a49051f032deb23d38ced77c3e23583df2d06a08dd445df4892a1c75ef7711e1fcacde5bb03f0161e18177efade1593b292ff93b14d95934730b40e9a99129d8342241d1a0a0379e30d05c8765b73fad19b4aa4eb65340256a1743437b39c37d917833143bdb005581e0309faabfaf9060b41f35070c451a94b84524405a763e19c06d850b72850040105581e03dadeeb4cbc7cbb2859035499afd9d61846e19791e6da9ba579990142a00401031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e032b352c9cd244c92af05b093e78f50491f770a944b935c19be75800b54007011bffffffffffffffff033d0f860f98345cad535e4f859a664ca2f250174d55759b88c13192dfaf7f469403845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581e03bb84aa584a09444f6c6f7df1bf5cd57cb1fe3c03616fd73e8e8b3be80007011bffffffffffffffff05581e03c97c8a0b6618aa22800344a2b1707aab1c6cc8a31e034809c5744d65000c024501dcd6500005581e03ca1bef436a08af023d370715693f9a3a2b1aa4c551f2ab31cdfd053d200c1a000f1f9749332b8f2a783543dfec05581e035cd247b357b90f83a5b72352cda5171539d3ed6f7fad760477fe51a8200401021944fa0378c19010b5b832c1dea3318894f1fbaf1d79e9e8c49c336a0087a73ca2c15fdd036c56df6611eaebae5b9d3c7ec19350e30a7be8353fe0ba9d8143cb8056856ee603bc8337324543b875254868e5af9b5c2400e13954bf2c83c748c556d612425fa903231aeca30a71dd7c6c562d9072bdba002e45c9b6741663853a6f4a0d1bf8595f03a1452e59007b6dd44763f61b1e63fe7de7c85e79fddc34d94c8c3afa296dfa2203fa2275cba99c2b064c3c9d70eef106505ed0c22ca944ce899ae88dfbb33b8c25032bbbe8559d8c7b52a60df72b3ee4d6144577240a46b4e1368adda3a5520556c30219ffff03caa5a66ed59e4698e6b8404315f8bcd795147f54cb250b40a730cc439c7c09b2037f4dcd0367691b810dfb40f71bd9aeca789296701ac888bfd7e6fddf8f8116ab03f525c3446003e8fd2ca6a86a4367eb850d83c117e77c8e2c03f7e537b08a659c037f8e4dacff2f404082f0e6248e14216d40e69fc21a0b8881b1b27d302a0262dd0358c8cd28a3230af9ee879757f917cc680d121ffde13ea9f5497d04840a73743503da85c9d72e7ae685083f784480bd626610879862fc63ff75253874b16dae418003e752ad0e21b9172fa149d5bcb4ecc3e1de90ea31fc4f75733b02b25ace42e4b30219ffff03c0e2d474cf8864fcb0a70cc5a9708218bb30dfbc0b657e389b4d94604320bc9503b249df36d13322a12d3923ef55bc2efbcc691df0633104d189f72306de8b83f1031e8295e4e3da2c753a106a02286c49fc31210ae44ea5a25bed30777e3bff69c103998ed8c2bafa419317dc026d17f69ff601aed5b6bab42e1e69b711f66bba47fb036c8f7e4ec101316b4857705b9a3f5993cb54d9ebc9fdefb5837b52d55d75e16c035030c4a21a50e823416869e98d54e5a037df813300ccc710f090bf676c84c23b03167b1f86315f00ab0577c451e7209beef582b344fe0605c172fa20953a417fea0371ffc0b7e5581b5488b859e9e79691ac7a5dfab52154c22df58d820cfaffb1e003d2ea854bc2be91c4df012fb5e4847566bc7e0fcf9dcebb30d6bc6bfd9f5ed83003c6dd908beb076a1a7c98b01cb57e0f89c068739c2422924af70c459e20cc822f03f0b20079da567c0f09633b7e01d6e01e3cf8e5caa726ccbf64e043e256726c68035299d7913103d59262df9796f661ca7a8fae5771818a4bf8cb0450fc426493710365980bdef5f2574ab91c2ab866820674f01bad5268f0ee8e27f4d4072fe4f22b0219ffff03f9f55f6b8ce981396151cc0dbae499adb23866e4f7027df8a3b7db72d8318515038fbf26192d736633fc06dd1ae72f7e052a8cc67e7673f360f75fe545a526b1e8031f6d02a3754764d9418c442b8feb60acf84c901b57983e3993045da4b3bf0cf2037620a08d14597486da403da9221f1e860ba9ef2b4ba41dcfd77c4f03c68f39910321534e23f1a65d04b27d4618764cee3f115e4de0a42c417d11e4c845d878ccf9039f6b7ea317ec83d54988a3183d39f7c3978203a43ead3a35e019c0a26db46ef3032237d4a2e757ff1ee27bdea6dfc900cd9ae12058f18c68c163ae9f982b96028a03fc43fff77329e4fc12c69b187a5abca14045aa85683dab576713b47d9ee0d52703e4a5e15806dc8df9c077448128a1859122f67073f098725572841365ce5000db036f75c0a58ad8692398d4a70826798e3589a183cd0d93087ff669cb27dc0420230334b82b2cda39fc1c279226edf7a0b244a16acf811d6cca7082e12bcccbe67f4a031f054d16d99a09bc488c89c282fa18bea1ba43190aed532782ecd20d7dd2f44703c2b31218ccffe70dbc910f50b3c7892083628ab8caeda1cca43228ed657c8a3203fa420bcf574bc1a3b42b0abe1e78065d519386d03d460013530cf351f3090ffa03b364dc44d2e7cb8681933db0d2a61cbe73f6f8ddaa43fcc6bd1fd94795fb521e0392678c1cb894addb000a3dcf3c269c88a4542e997f76ab75e7c302637fa3d9a103292c9300c46daba2985b6bd3117c2f13fa7110092cb30d98a3003b7781d44cba0320de2be42a37c225ff8f54614c5396f752720fc3ee23cb190664caa53cc977f80605581e0378f8107f13942f71c8e5c4bb0c0b601ab258802254e8a5e05e8ed4000007011bffffffffffffffff05581e0346a4dddb0de4ee317a2f7f0fff8f88c66efc4fcdef938d69b6cae3b830084727147114878000045953c96080604052600436106102075760003560e01c806352d78ed011610118578063a22cb465116100a0578063d8dfeb451161006f578063d8dfeb4514610628578063db4ca80714610648578063e985e9c514610668578063f242432a146106b1578063f76fc35e146106d157600080fd5b8063a22cb46514610594578063a8c62e76146105b4578063c415b95c146105d4578063c49f91d3146105f457600080fd5b80638c1d6d75116100e75780638c1d6d75146104ef5780638f5616b41461050257806394f5a66e1461053f578063958313371461055f57806395d89b411461057f57600080fd5b806352d78ed01461045a5780635f9a33351461048f578063607c5e87146104af5780637dc0d1d0146104cf57600080fd5b80631df4ccfc1161019b5780633644e5151161016a5780633644e515146103c25780633fc8cef3146103d85780634279bbbc146103f85780634641257d146104185780634e1273f41461042d57600080fd5b80631df4ccfc146103455780632eb2c2d61461035b578063313ce5671461037b57806331fc2c52146103a257600080fd5b806307751f5c116101d757806307751f5c146102ba5780630844a591146102cd5780630e89341c146102ed57806312261ee71461030d57600080fd5b8062fdd58e1461021357806301ffc9a71461024657806306cfe4611461027657806306fdde031461029857600080fd5b3661020e57005b600080fd5b34801561021f57600080fd5b5061023361022e366004613fbe565b610705565b6040519081526020015b60405180910390f35b34801561025257600080fd5b50610266610261366004614000565b6107a0565b604051901515815260200161023d565b34801561028257600080fd5b506102966102913660046140a9565b6107f0565b005b3480156102a457600080fd5b506102ad6109ad565b60405161023d91906141c0565b6102966102c83660046141d3565b610a3b565b3480156102d957600080fd5b506102966102e8366004614256565b610c33565b3480156102f957600080fd5b506102ad6103083660046142ca565b610d80565b34801561031957600080fd5b5060ce5461032d906001600160a01b031681565b6040516001600160a01b03909116815260200161023d565b34801561035157600080fd5b5061023360d25481565b34801561036757600080fd5b50610296610376366004614451565b610e14565b34801561038757600080fd5b50610390610e60565b60405160ff909116815260200161023d565b3480156103ae57600080fd5b506102966103bd3660046144fe565b610ed3565b3480156103ce57600080fd5b5061023360ca5481565b3480156103e457600080fd5b5060cd5461032d906001600160a01b031681565b34801561040457600080fd5b50610233610413366004614597565b610f2b565b34801561042457600080fd5b50610296611019565b34801561043957600080fd5b5061044d6104483660046145d5565b6110c3565b60405161023d91906146dc565b34801561046657600080fd5b5061047a610475366004614597565b6111ec565b6040805192835260208301919091520161023d565b34801561049b57600080fd5b506102966104aa366004614256565b611382565b3480156104bb57600080fd5b506102966104ca366004614707565b61139f565b3480156104db57600080fd5b5060d15461032d906001600160a01b031681565b6102966104fd366004614796565b611478565b34801561050e57600080fd5b5061052261051d3660046147e7565b611537565b60408051938452602084019290925215159082015260600161023d565b34801561054b57600080fd5b5061029661055a36600461481d565b611674565b34801561056b57600080fd5b5061029661057a3660046144fe565b6118e8565b34801561058b57600080fd5b506102ad611a5a565b3480156105a057600080fd5b506102966105af3660046148fc565b611a67565b3480156105c057600080fd5b5060cf5461032d906001600160a01b031681565b3480156105e057600080fd5b5060d35461032d906001600160a01b031681565b34801561060057600080fd5b506102337f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b34801561063457600080fd5b5060d05461032d906001600160a01b031681565b34801561065457600080fd5b50610233610663366004614597565b611a72565b34801561067457600080fd5b5061026661068336600461492a565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156106bd57600080fd5b506102966106cc366004614958565b611aaf565b3480156106dd57600080fd5b506102337fe8015bbde99f68dcef36fec6eec1f414ef04b9f79422109663be9c2c47e3dc3081565b60006001600160a01b0383166107755760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b14806107d157506001600160e01b031982166303a24d0760e21b145b8061079a57506301ffc9a760e01b6001600160e01b031983161461079a565b87861461083f5760405162461bcd60e51b815260206004820152601c60248201527f5661756c743a20696e76616c696420706172616d73206c656e67746800000000604482015260640161076c565b6000805b878110156108b45788888281811061085d5761085d6149c0565b905060200281019061086f91906149d6565b606001358b8b83818110610885576108856149c0565b905060200201356108969190614a0c565b6108a09083614a23565b9150806108ac81614a3b565b915050610843565b5060ce546040805160a08101825260d0546001600160a01b0390811660608301908152608083018690528252602080830189905282840188905283518085018552308152908101869052925163187945bd60e11b81529316926330f28b7a92610926929133908c908c90600401614a56565b600060405180830381600087803b15801561094057600080fd5b505af1158015610954573d6000803e3d6000fd5b505050506109a18a8a8080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061099b92508b91508c9050614b83565b84611af4565b50505050505050505050565b60cb80546109ba90614c00565b80601f01602080910402602001604051908101604052809291908181526020018280546109e690614c00565b8015610a335780601f10610a0857610100808354040283529160200191610a33565b820191906000526020600020905b815481529060010190602001808311610a1657829003601f168201915b505050505081565b60cd5460d0546001600160a01b03908116911614610a6b5760405162461bcd60e51b815260040161076c90614c35565b838214610aba5760405162461bcd60e51b815260206004820152601c60248201527f5661756c743a20696e76616c696420706172616d73206c656e67746800000000604482015260640161076c565b6000805b83811015610b2f57848482818110610ad857610ad86149c0565b9050602002810190610aea91906149d6565b60600135878783818110610b0057610b006149c0565b90506020020135610b119190614a0c565b610b1b9083614a23565b915080610b2781614a3b565b915050610abe565b50803414610b7f5760405162461bcd60e51b815260206004820152601860248201527f5661756c743a20696e76616c6964206d73672e76616c75650000000000000000604482015260640161076c565b60cd60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b5050505050610c2b86868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061099b9250879150889050614b83565b505050505050565b60cd5460d0546001600160a01b03908116911614610c635760405162461bcd60e51b815260040161076c90614c35565b6000610c6f8383612163565b90508015610d7b5760cd54604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b158015610cbd57600080fd5b505af1158015610cd1573d6000803e3d6000fd5b505050506000610cde3390565b6001600160a01b031682620186a090604051600060405180830381858888f193505050503d8060008114610d2e576040519150601f19603f3d011682016040523d82523d6000602084013e610d33565b606091505b5050905080610d795760405162461bcd60e51b815260206004820152601260248201527108cc2d2d8cac840e8de40e6cadcc8408aa8960731b604482015260640161076c565b505b505050565b606060678054610d8f90614c00565b80601f0160208091040260200160405190810160405280929190818152602001828054610dbb90614c00565b8015610e085780601f10610ddd57610100808354040283529160200191610e08565b820191906000526020600020905b815481529060010190602001808311610deb57829003601f168201915b50505050509050919050565b6001600160a01b038516331480610e305750610e308533610683565b610e4c5760405162461bcd60e51b815260040161076c90614c64565b610e5985858585856125a6565b5050505050565b60d0546040805163313ce56760e01b815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa158015610eaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ece9190614cb2565b905090565b6000610f0b858585600280602002604051908101604052809291908260026020028082843760009201919091525087915061273d9050565b90508015610e5957610e59335b60d0546001600160a01b03169083612969565b60cf5460d1546040516305815ba160e11b815260048101879052602481018690526000926001600160a01b0390811692633788983592879290911690630b02b742906044016040805180830381865afa158015610f8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb09190614cd5565b856040518463ffffffff1660e01b8152600401610fcf93929190614d51565b602060405180830381865afa158015610fec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110109190614d7a565b95945050505050565b60d2548061105b5760405162461bcd60e51b815260206004820152600f60248201526e5661756c743a207a65726f2066656560881b604482015260640161076c565b600060d25560d35460d05461107d916001600160a01b03918216911683612969565b7f06c5efeff5c320943d265dc4e5f1af95ad523555ce0c1957e367dda5514572df33604080516001600160a01b039092168252602082018490520160405180910390a150565b606081518351146111285760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b606482015260840161076c565b600083516001600160401b03811115611143576111436142e3565b60405190808252806020026020018201604052801561116c578160200160208202803683370190505b50905060005b84518110156111e4576111b7858281518110611190576111906149c0565b60200260200101518583815181106111aa576111aa6149c0565b6020026020010151610705565b8282815181106111c9576111c96149c0565b60209081029190910101526111dd81614a3b565b9050611172565b509392505050565b60cf5460d1546040516305815ba160e11b81526004810187905260248101869052600092839283926001600160a01b0392831692635d7e1ec9928992911690630b02b742906044016040805180830381865afa158015611250573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112749190614cd5565b876040518463ffffffff1660e01b815260040161129393929190614d51565b602060405180830381865afa1580156112b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d49190614d7a565b9050670de0b6b3a764000060d360009054906101000a90046001600160a01b03166001600160a01b031663f41c71086040518163ffffffff1660e01b8152600401602060405180830381865afa158015611332573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113569190614d7a565b6113609083614d93565b61136a9190614dc8565b91506113768282614a0c565b92505094509492505050565b600061138e8383612163565b90508015610d7b57610d7b33610f18565b60006113af606087013588614a0c565b60ce546040805160a08101825260d0546001600160a01b0390811660608301908152608080840187905290835260208084018a9052908c01358385015283518085018552308152908101869052925163187945bd60e11b8152949550909216926330f28b7a9261142992909133908b908b90600401614a56565b600060405180830381600087803b15801561144357600080fd5b505af1158015611457573d6000803e3d6000fd5b5050505061146f878761146990614ddc565b846129cc565b50505050505050565b60cd5460d0546001600160a01b039081169116146114a85760405162461bcd60e51b815260040161076c90614c35565b60cd60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156114f857600080fd5b505af115801561150c573d6000803e3d6000fd5b50505050506115333483606001356115249190614a23565b61152d84614ddc565b836129cc565b5050565b60008060004285116115515750849150839050600161166b565b60006201518061156361708042614a0c565b61156d9190614dc8565b61157a9062015180614d93565b61158690617080614a23565b90506000620151806115988389614a0c565b6115a29190614dc8565b9050878111156115bb575086935091506000905061166b565b60006115c7828a614a0c565b60d1546040516305815ba160e11b815260048101839052602481018690529192506000916001600160a01b0390911690630b02b742906044016040805180830381865afa15801561161c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116409190614cd5565b885181519192508391869110158061166057506020808b01519084015110155b965096509650505050505b93509350939050565b600054610100900460ff16158080156116945750600054600160ff909116105b806116ae5750303b1580156116ae575060005460ff166001145b6117115760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161076c565b6000805460ff191660011790558015611734576000805461ff0019166101001790555b88516117479060cb9060208c0190613f00565b50875161175b9060cc9060208b0190613f00565b5060cd80546001600160a01b03199081166001600160a01b038881169190911790925560ce805482168a841617905560cf8054821689841617905560d08054821687841617905560d18054909116918416919091179055604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f8d03f8e727eaf836840d08da04cd9ecc9773328dd38f4a6c7b84a9ec2b88b7c7918101919091527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608201524660808201523060a082015260c00160408051808303601f19018152919052805160209091012060ca5560d380546001600160a01b0319166001600160a01b038516179055611877612f32565b61188f60405180602001604052806000815250612f5b565b611897612f8e565b80156118dd576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050565b60cd5460d0546001600160a01b039081169116146119185760405162461bcd60e51b815260040161076c90614c35565b6000611950858585600280602002604051908101604052809291908260026020028082843760009201919091525087915061273d9050565b90508015610e595760cd54604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b15801561199e57600080fd5b505af11580156119b2573d6000803e3d6000fd5b5050505060006119bf3390565b6001600160a01b031682620186a090604051600060405180830381858888f193505050503d8060008114611a0f576040519150601f19603f3d011682016040523d82523d6000602084013e611a14565b606091505b5050905080610c2b5760405162461bcd60e51b815260206004820152601260248201527108cc2d2d8cac840e8de40e6cadcc8408aa8960731b604482015260640161076c565b60cc80546109ba90614c00565b611533338383612fbd565b600084848484604051602001611a8b9493929190614de8565b6040516020818303038152906040528051906020012060001c90505b949350505050565b6001600160a01b038516331480611acb5750611acb8533610683565b611ae75760405162461bcd60e51b815260040161076c90614c64565b610e59858585858561309e565b6001600160a01b038116331415611b475760405162461bcd60e51b815260206004820152601760248201527615985d5b1d0e881a5b9d985b1a59081c9959995c9c985b604a1b604482015260640161076c565b600082516001600160401b03811115611b6257611b626142e3565b604051908082528060200260200182016040528015611b8b578160200160208202803683370190505b5090506000805b845181101561212f576000868281518110611baf57611baf6149c0565b602002602001015190506000868381518110611bcd57611bcd6149c0565b6020026020010151905080606001514210611c1c5760405162461bcd60e51b815260206004820152600f60248201526e5661756c743a20646561646c696e6560881b604482015260640161076c565b80514210611c5d5760405162461bcd60e51b815260206004820152600e60248201526d15985d5b1d0e88195e1c1a5c995960921b604482015260640161076c565b8051611c6d906201518090614e10565b61708014611cb55760405162461bcd60e51b81526020600482015260156024820152745661756c743a20696e76616c69642065787069727960581b604482015260640161076c565b60208181015190810151905110611d0e5760405162461bcd60e51b815260206004820152601c60248201527f5661756c743a20696e76616c696420737472696b652070726963657300000000604482015260640161076c565b611d1b8160a001516131c1565b15611d645760405162461bcd60e51b815260206004820152601960248201527815985d5b1d0e881cda59db985d1d5c994818dbdb9cdd5b5959603a1b604482015260640161076c565b60ca546000907fe8015bbde99f68dcef36fec6eec1f414ef04b9f79422109663be9c2c47e3dc30338585600001518660200151604051602001611da79190614e24565b604051602081830303815290604052805190602001208760400151886060015130604051602001611ddf989796959493929190614e36565b60405160208183030381529060405280519060200120604051602001611e1c92919061190160f01b81526002810192909252602282015260420190565b604051602081830303815290604052805190602001209050611e5a818360a0015184608001516001600160a01b031661320b9092919063ffffffff16565b611ea65760405162461bcd60e51b815260206004820152601e60248201527f5661756c743a20696e76616c6964206d616b6572207369676e61747572650000604482015260640161076c565b611eb38260a0015161326c565b6080820151604083015160d054611ed7926001600160a01b039091169130906132b2565b506000670de0b6b3a7640000826040015184611ef39190614a0c565b60d360009054906101000a90046001600160a01b03166001600160a01b031663e01df1a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6a9190614d7a565b611f749190614d93565b611f7e9190614dc8565b9050611f8a8186614a23565b9450611f968184614a0c565b898581518110611fa857611fa86149c0565b602090810291909101015260006201518080611fc661708042614a0c565b611fd09190614dc8565b611fdb906001614a23565b611fe89062015180614d93565b611ff490617080614a23565b84516120009190614a0c565b61200a9190614dc8565b9050600081116120525760405162461bcd60e51b81526020600482015260136024820152725661756c743a20696e76616c6964207465726d60681b604482015260640161076c565b61206781846000015185602001516000611a72565b878681518110612079576120796149c0565b602002602001018181525050600061209c82856000015186602001516001611a72565b90506120c884608001518285886120b39190614a0c565b604051806020016040528060008152506132ea565b507f82dc095a8777083c952ba4281b92fc79e0d9a4a1de3b6eee2d3685827a5000b43360808501518551602087015160408089015190516121109594938f938c938a93614e78565b60405180910390a150505050808061212790614a3b565b915050611b92565b508060d260008282546121429190614a23565b90915550610e599050338387604051806020016040528060008152506133bd565b600061216d613509565b6000826001600160401b03811115612187576121876142e3565b6040519080825280602002602001820160405280156121b0578160200160208202803683370190505b5090506000836001600160401b038111156121cd576121cd6142e3565b6040519080825280602002602001820160405280156121f6578160200160208202803683370190505b5090506000846001600160401b03811115612213576122136142e3565b60405190808252806020026020018201604052801561223c578160200160208202803683370190505b5090506000805b8681101561253157600088888381811061225f5761225f6149c0565b905060a002018036038101906122759190614ecf565b90506000806000612293846000015185602001518660400151611537565b925092509250806122dc5760405162461bcd60e51b81526020600482015260136024820152725661756c743a206e6f74206275726e61626c6560681b604482015260640161076c565b60d154604051637dece17f60e01b815260048101849052600160248201526000916001600160a01b031690637dece17f90604401602060405180830381865afa15801561232d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123519190614d7a565b116123935760405162461bcd60e51b815260206004820152601260248201527115985d5b1d0e881b9bdd081cd95d1d1b195960721b604482015260640161076c565b60006123b18560000151866020015187604001518860600151611a72565b905060006123c0335b83610705565b9050600081116124075760405162461bcd60e51b815260206004820152601260248201527115985d5b1d0e881e995c9bc8185b5bdd5b9d60721b604482015260640161076c565b856060015160011415612447576124248585886040015184610f2b565b898881518110612436576124366149c0565b602002602001018181525050612490565b600061245986868960400151856111ec565b8b8a8151811061246b5761246b6149c0565b60209081029190910101919091529050801561248e5761248b818a614a23565b98505b505b60008988815181106124a4576124a46149c0565b602002602001015111156124da578887815181106124c4576124c46149c0565b60200260200101518c6124d79190614a23565b9b505b818b88815181106124ed576124ed6149c0565b602002602001018181525050808a888151811061250c5761250c6149c0565b602002602001018181525050505050505050808061252990614a3b565b915050612243565b508015612550578060d2600082825461254a9190614a23565b90915550505b61255b338585613563565b7f40b7ec188c664b5164568c064955bff3f4a67cca11c86cedf5520cddd647d537338585856040516125909493929190614f3a565b60405180910390a15050505061079a6001609755565b81518351146125c75760405162461bcd60e51b815260040161076c90614f84565b6001600160a01b0384166125ed5760405162461bcd60e51b815260040161076c90614fcc565b3360005b84518110156126d757600085828151811061260e5761260e6149c0565b60200260200101519050600085838151811061262c5761262c6149c0565b60209081029190910181015160008481526065835260408082206001600160a01b038e16835290935291909120549091508181101561267d5760405162461bcd60e51b815260040161076c90615011565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906126bc908490614a23565b92505081905550505050806126d090614a3b565b90506125f1565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161272792919061505b565b60405180910390a4610c2b8187878787876136f7565b6000612747613509565b6000806000612757888888611537565b925092509250806127a05760405162461bcd60e51b81526020600482015260136024820152725661756c743a206e6f74206275726e61626c6560681b604482015260640161076c565b60d154604051637dece17f60e01b815260048101849052600160248201526000916001600160a01b031690637dece17f90604401602060405180830381865afa1580156127f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128159190614d7a565b116128575760405162461bcd60e51b815260206004820152601260248201527115985d5b1d0e881b9bdd081cd95d1d1b195960721b604482015260640161076c565b600061286589898989611a72565b90506000612872336123ba565b9050600081116128b95760405162461bcd60e51b815260206004820152601260248201527115985d5b1d0e881e995c9bc8185b5bdd5b9d60721b604482015260640161076c565b86600114156128d5576128ce85858a84610f2b565b9550612908565b60006128e386868b856111ec565b90975090508015612906578060d260008282546129009190614a23565b90915550505b505b612913338383613853565b60408051338152602081018490528082018390526060810188905290517f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c09181900360800190a15050505050611aa76001609755565b6040516001600160a01b038316602482015260448101829052610d7b90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261395a565b81606001514210612a115760405162461bcd60e51b815260206004820152600f60248201526e5661756c743a20646561646c696e6560881b604482015260640161076c565b81514210612a525760405162461bcd60e51b815260206004820152600e60248201526d15985d5b1d0e88195e1c1a5c995960921b604482015260640161076c565b8151612a62906201518090614e10565b61708014612aaa5760405162461bcd60e51b81526020600482015260156024820152745661756c743a20696e76616c69642065787069727960581b604482015260640161076c565b60208281015190810151905110612b035760405162461bcd60e51b815260206004820152601c60248201527f5661756c743a20696e76616c696420737472696b652070726963657300000000604482015260640161076c565b612b108260a001516131c1565b15612b595760405162461bcd60e51b815260206004820152601960248201527815985d5b1d0e881cda59db985d1d5c994818dbdb9cdd5b5959603a1b604482015260640161076c565b6001600160a01b038116331415612bac5760405162461bcd60e51b815260206004820152601760248201527615985d5b1d0e881a5b9d985b1a59081c9959995c9c985b604a1b604482015260640161076c565b60ca546000907fe8015bbde99f68dcef36fec6eec1f414ef04b9f79422109663be9c2c47e3dc30338686600001518760200151604051602001612bef9190614e24565b604051602081830303815290604052805190602001208860400151896060015130604051602001612c27989796959493929190614e36565b60405160208183030381529060405280519060200120604051602001612c6492919061190160f01b81526002810192909252602282015260420190565b604051602081830303815290604052805190602001209050612ca2818460a0015185608001516001600160a01b031661320b9092919063ffffffff16565b612cee5760405162461bcd60e51b815260206004820152601e60248201527f5661756c743a20696e76616c6964206d616b6572207369676e61747572650000604482015260640161076c565b612cfb8360a0015161326c565b6080830151604084015160d054612d1f926001600160a01b039091169130906132b2565b506000670de0b6b3a7640000836040015185612d3b9190614a0c565b60d360009054906101000a90046001600160a01b03166001600160a01b031663e01df1a86040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612db29190614d7a565b612dbc9190614d93565b612dc69190614dc8565b90508060d26000828254612dda9190614a23565b90915550600090506201518080612df361708042614a0c565b612dfd9190614dc8565b612e08906001614a23565b612e159062015180614d93565b612e2190617080614a23565b8551612e2d9190614a0c565b612e379190614dc8565b905060008111612e7f5760405162461bcd60e51b81526020600482015260136024820152725661756c743a20696e76616c6964207465726d60681b604482015260640161076c565b6000612e9682866000015187602001516000611a72565b90506000612eaf83876000015188602001516001611a72565b9050612ec033836120b3878b614a0c565b6080860151612ed490826120b3878b614a0c565b50507f82dc095a8777083c952ba4281b92fc79e0d9a4a1de3b6eee2d3685827a5000b4612efe3390565b6080860151865160208801516040808a01519051612f239594938a938d938a93614e78565b60405180910390a15050505050565b600054610100900460ff16612f595760405162461bcd60e51b815260040161076c90615080565b565b600054610100900460ff16612f825760405162461bcd60e51b815260040161076c90615080565b612f8b81613a2f565b50565b600054610100900460ff16612fb55760405162461bcd60e51b815260040161076c90615080565b612f59613a5f565b816001600160a01b0316836001600160a01b031614156130315760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b606482015260840161076c565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166130c45760405162461bcd60e51b815260040161076c90614fcc565b3360006130d085613a86565b905060006130dd85613a86565b905060008681526065602090815260408083206001600160a01b038c168452909152902054858110156131225760405162461bcd60e51b815260040161076c90615011565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290613161908490614a23565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46118dd848a8a8a8a8a613ad1565b80516020820120600090816131d861010083614dc8565b905060006131e861010084614e10565b600092835260c9602052604090922054600190921b918216909114949350505050565b600080600061321a8585613b8c565b90925090506000816004811115613233576132336150cb565b1480156132515750856001600160a01b0316826001600160a01b0316145b806132625750613262868686613bd2565b9695505050505050565b80516020820120600061328161010083614dc8565b9050600061329161010084614e10565b600092835260c960205260409092208054600190931b909217909155505050565b6040516001600160a01b0380851660248301528316604482015260648101829052610d799085906323b872dd60e01b90608401612995565b6001600160a01b0384166133105760405162461bcd60e51b815260040161076c906150e1565b33600061331c85613a86565b9050600061332985613a86565b905060008681526065602090815260408083206001600160a01b038b1684529091528120805487929061335d908490614a23565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461146f83600089898989613ad1565b6001600160a01b0384166133e35760405162461bcd60e51b815260040161076c906150e1565b81518351146134045760405162461bcd60e51b815260040161076c90614f84565b3360005b84518110156134a157838181518110613423576134236149c0565b602002602001015160656000878481518110613441576134416149c0565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546134899190614a23565b9091555081905061349981614a3b565b915050613408565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516134f292919061505b565b60405180910390a4610e59816000878787876136f7565b6002609754141561355c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161076c565b6002609755565b6001600160a01b0383166135895760405162461bcd60e51b815260040161076c90615122565b80518251146135aa5760405162461bcd60e51b815260040161076c90614f84565b604080516020810190915260009081905233905b83518110156136835760008482815181106135db576135db6149c0565b6020026020010151905060008483815181106135f9576135f96149c0565b60209081029190910181015160008481526065835260408082206001600160a01b038c16835290935291909120549091508181101561364a5760405162461bcd60e51b815260040161076c90615165565b60009283526065602090815260408085206001600160a01b038b168652909152909220910390558061367b81614a3b565b9150506135be565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516136d492919061505b565b60405180910390a4604080516020810190915260009052610d79565b6001609755565b6001600160a01b0384163b15610c2b5760405163bc197c8160e01b81526001600160a01b0385169063bc197c819061373b90899089908890889088906004016151a9565b6020604051808303816000875af1925050508015613776575060408051601f3d908101601f1916820190925261377391810190615207565b60015b61382357613782615224565b806308c379a014156137bc5750613797615240565b806137a257506137be565b8060405162461bcd60e51b815260040161076c91906141c0565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606482015260840161076c565b6001600160e01b0319811663bc197c8160e01b1461146f5760405162461bcd60e51b815260040161076c906152c9565b6001600160a01b0383166138795760405162461bcd60e51b815260040161076c90615122565b33600061388584613a86565b9050600061389284613a86565b6040805160208082018352600091829052888252606581528282206001600160a01b038b16835290522054909150848110156138e05760405162461bcd60e51b815260040161076c90615165565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261146f565b60006139af826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613cbe9092919063ffffffff16565b90508051600014806139d05750808060200190518101906139d09190615311565b610d7b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161076c565b600054610100900460ff16613a565760405162461bcd60e51b815260040161076c90615080565b612f8b81613ccd565b600054610100900460ff166136f05760405162461bcd60e51b815260040161076c90615080565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613ac057613ac06149c0565b602090810291909101015292915050565b6001600160a01b0384163b15610c2b5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190613b15908990899088908890889060040161532e565b6020604051808303816000875af1925050508015613b50575060408051601f3d908101601f19168201909252613b4d91810190615207565b60015b613b5c57613782615224565b6001600160e01b0319811663f23a6e6160e01b1461146f5760405162461bcd60e51b815260040161076c906152c9565b600080825160411415613bc35760208301516040840151606085015160001a613bb787828585613ce0565b94509450505050613bcb565b506000905060025b9250929050565b6000806000856001600160a01b0316631626ba7e60e01b8686604051602401613bfc929190615368565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613c3a9190615381565b600060405180830381855afa9150503d8060008114613c75576040519150601f19603f3d011682016040523d82523d6000602084013e613c7a565b606091505b5091509150818015613c8e57506020815110155b801561326257508051630b135d3f60e11b90613cb39083016020908101908401614d7a565b149695505050505050565b6060611aa78484600085613da4565b8051611533906067906020840190613f00565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613d175750600090506003613d9b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613d6b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613d9457600060019250925050613d9b565b9150600090505b94509492505050565b606082471015613e055760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161076c565b600080866001600160a01b03168587604051613e219190615381565b60006040518083038185875af1925050503d8060008114613e5e576040519150601f19603f3d011682016040523d82523d6000602084013e613e63565b606091505b5091509150613e7487838387613e7f565b979650505050505050565b60608315613eeb578251613ee4576001600160a01b0385163b613ee45760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161076c565b5081611aa7565b611aa783838151156137a25781518083602001fd5b828054613f0c90614c00565b90600052602060002090601f016020900481019282613f2e5760008555613f74565b82601f10613f4757805160ff1916838001178555613f74565b82800160010185558215613f74579182015b82811115613f74578251825591602001919060010190613f59565b50613f80929150613f84565b5090565b5b80821115613f805760008155600101613f85565b6001600160a01b0381168114612f8b57600080fd5b8035613fb981613f99565b919050565b60008060408385031215613fd157600080fd5b8235613fdc81613f99565b946020939093013593505050565b6001600160e01b031981168114612f8b57600080fd5b60006020828403121561401257600080fd5b813561401d81613fea565b9392505050565b60008083601f84011261403657600080fd5b5081356001600160401b0381111561404d57600080fd5b6020830191508360208260051b8501011115613bcb57600080fd5b60008083601f84011261407a57600080fd5b5081356001600160401b0381111561409157600080fd5b602083019150836020828501011115613bcb57600080fd5b600080600080600080600080600060c08a8c0312156140c757600080fd5b89356001600160401b03808211156140de57600080fd5b6140ea8d838e01614024565b909b50995060208c013591508082111561410357600080fd5b61410f8d838e01614024565b909950975060408c013591508082111561412857600080fd5b506141358c828d01614068565b90965094505060608a0135925060808a0135915060a08a013561415781613f99565b809150509295985092959850929598565b60005b8381101561418357818101518382015260200161416b565b83811115610d795750506000910152565b600081518084526141ac816020860160208601614168565b601f01601f19169290920160200192915050565b60208152600061401d6020830184614194565b6000806000806000606086880312156141eb57600080fd5b85356001600160401b038082111561420257600080fd5b61420e89838a01614024565b9097509550602088013591508082111561422757600080fd5b5061423488828901614024565b909450925050604086013561424881613f99565b809150509295509295909350565b6000806020838503121561426957600080fd5b82356001600160401b038082111561428057600080fd5b818501915085601f83011261429457600080fd5b8135818111156142a357600080fd5b86602060a0830285010111156142b857600080fd5b60209290920196919550909350505050565b6000602082840312156142dc57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604081018181106001600160401b0382111715614318576143186142e3565b60405250565b601f8201601f191681016001600160401b0381118282101715614343576143436142e3565b6040525050565b60006001600160401b03821115614363576143636142e3565b5060051b60200190565b600082601f83011261437e57600080fd5b8135602061438b8261434a565b604051614398828261431e565b83815260059390931b85018201928281019150868411156143b857600080fd5b8286015b848110156143d357803583529183019183016143bc565b509695505050505050565b600082601f8301126143ef57600080fd5b81356001600160401b03811115614408576144086142e3565b60405161441f601f8301601f19166020018261431e565b81815284602083860101111561443457600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561446957600080fd5b853561447481613f99565b9450602086013561448481613f99565b935060408601356001600160401b03808211156144a057600080fd5b6144ac89838a0161436d565b945060608801359150808211156144c257600080fd5b6144ce89838a0161436d565b935060808801359150808211156144e457600080fd5b506144f1888289016143de565b9150509295509295909350565b60008060008060a0858703121561451457600080fd5b8435935060208501359250608085018681111561453057600080fd5b9396929550505060409290920191903590565b600082601f83011261455457600080fd5b604051614560816142f9565b80604084018581111561457257600080fd5b845b8181101561458c578035835260209283019201614574565b509195945050505050565b60008060008060a085870312156145ad57600080fd5b84359350602085013592506145c58660408701614543565b9396929550929360800135925050565b600080604083850312156145e857600080fd5b82356001600160401b03808211156145ff57600080fd5b818501915085601f83011261461357600080fd5b813560206146208261434a565b60405161462d828261431e565b83815260059390931b850182019282810191508984111561464d57600080fd5b948201945b8386101561467457853561466581613f99565b82529482019490820190614652565b9650508601359250508082111561468a57600080fd5b506146978582860161436d565b9150509250929050565b600081518084526020808501945080840160005b838110156146d1578151875295820195908201906001016146b5565b509495945050505050565b60208152600061401d60208301846146a1565b600060e0828403121561470157600080fd5b50919050565b60008060008060008060a0878903121561472057600080fd5b8635955060208701356001600160401b038082111561473e57600080fd5b61474a8a838b016146ef565b9650604089013591508082111561476057600080fd5b5061476d89828a01614068565b90955093505060608701359150608087013561478881613f99565b809150509295509295509295565b600080604083850312156147a957600080fd5b82356001600160401b038111156147bf57600080fd5b6147cb858286016146ef565b92505060208301356147dc81613f99565b809150509250929050565b6000806000608084860312156147fc57600080fd5b83359250602084013591506148148560408601614543565b90509250925092565b600080600080600080600080610100898b03121561483a57600080fd5b88356001600160401b038082111561485157600080fd5b61485d8c838d016143de565b995060208b013591508082111561487357600080fd5b506148808b828c016143de565b975050604089013561489181613f99565b955060608901356148a181613f99565b945060808901356148b181613f99565b935060a08901356148c181613f99565b925060c08901356148d181613f99565b91506148df60e08a01613fae565b90509295985092959890939650565b8015158114612f8b57600080fd5b6000806040838503121561490f57600080fd5b823561491a81613f99565b915060208301356147dc816148ee565b6000806040838503121561493d57600080fd5b823561494881613f99565b915060208301356147dc81613f99565b600080600080600060a0868803121561497057600080fd5b853561497b81613f99565b9450602086013561498b81613f99565b9350604086013592506060860135915060808601356001600160401b038111156149b457600080fd5b6144f1888289016143de565b634e487b7160e01b600052603260045260246000fd5b6000823560de198336030181126149ec57600080fd5b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b600082821015614a1e57614a1e6149f6565b500390565b60008219821115614a3657614a366149f6565b500190565b6000600019821415614a4f57614a4f6149f6565b5060010190565b855180516001600160a01b039081168352602091820151828401528188015160408085019190915288015160608401528651811660808401529086015160a0830152841660c082015261010060e08201819052810182905260006101208385828501376000838501820152601f909301601f191690910190910195945050505050565b600060e08284031215614aeb57600080fd5b60405160c081016001600160401b038282108183111715614b0e57614b0e6142e3565b8160405282935084358352614b268660208701614543565b6020840152606085013560408401526080850135606084015260a08501359150614b4f82613f99565b81608084015260c0850135915080821115614b6957600080fd5b50614b76858286016143de565b60a0830152505092915050565b6000614b8e8361434a565b604051614b9b828261431e565b84815260208082019250600586901b850136811115614bb957600080fd5b855b81811015614bf45780356001600160401b03811115614bda5760008081fd5b614be636828a01614ad9565b865250938201938201614bbb565b50919695505050505050565b600181811c90821680614c1457607f821691505b6020821081141561470157634e487b7160e01b600052602260045260246000fd5b60208082526015908201527415985d5b1d0e881bdb9b1e48115512081d985d5b1d605a1b604082015260600190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b600060208284031215614cc457600080fd5b815160ff8116811461401d57600080fd5b600060408284031215614ce757600080fd5b82601f830112614cf657600080fd5b604051614d02816142f9565b806040840185811115614d1457600080fd5b845b8181101561458c578051835260209283019201614d16565b8060005b6002811015610d79578151845260209384019390910190600101614d32565b60a08101614d5f8286614d2e565b614d6c6040830185614d2e565b826080830152949350505050565b600060208284031215614d8c57600080fd5b5051919050565b6000816000190483118215151615614dad57614dad6149f6565b500290565b634e487b7160e01b600052601260045260246000fd5b600082614dd757614dd7614db2565b500490565b600061079a3683614ad9565b848152836020820152614dfe6040820184614d2e565b608081019190915260a0019392505050565b600082614e1f57614e1f614db2565b500690565b614e2e8183614d2e565b604001919050565b9788526001600160a01b03968716602089015260408801959095526060870193909352608086019190915260a085015260c08401521660e08201526101000190565b6001600160a01b038981168252888116602083015287166040820152606081018690526080810185905260a081018490526101208101614ebb60c0830185614d2e565b826101008301529998505050505050505050565b600060a08284031215614ee157600080fd5b604051608081018181106001600160401b0382111715614f0357614f036142e3565b80604052508235815260208301356020820152614f238460408501614543565b604082015260809290920135606083015250919050565b6001600160a01b0385168152608060208201819052600090614f5e908301866146a1565b8281036040840152614f7081866146a1565b90508281036060840152613e7481856146a1565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60408152600061506e60408301856146a1565b828103602084015261101081856146a1565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6001600160a01b0386811682528516602082015260a0604082018190526000906151d5908301866146a1565b82810360608401526151e781866146a1565b905082810360808401526151fb8185614194565b98975050505050505050565b60006020828403121561521957600080fd5b815161401d81613fea565b600060033d111561523d5760046000803e5060005160e01c5b90565b600060443d101561524e5790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561527d57505050505090565b82850191508151818111156152955750505050505090565b843d87010160208285010111156152af5750505050505090565b6152be6020828601018761431e565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b60006020828403121561532357600080fd5b815161401d816148ee565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090613e7490830184614194565b828152604060208201526000611aa76040830184614194565b600082516149ec81846020870161416856fea2646970667358221220140c229befd1b51f2c73be9842307a744df5d1571f0fc6b4dcb0735277d3500364736f6c634300080a00330605581d026d2bf4a97f2b5900ab6bd89eff97b8fee71a516af0eda495d77faee907011953c905581d02a0b7775774f8031a9c3ebcefd5c86fc572e4e9594394100a2f3f7dbe04010219030003d7735407a951776f7541ca967383d7f49605d728105501bebd5fd0247dcf9be303d9b9b9e5a16bb6e3baa57c805a5a4fcc9399f0b3a1882d76fa8b819247c8833302190d8a03c1e9c58da1ac1dca6c9dcba61b2389beaaa17f2c8934a2dc040d0de33bc7b8aa03a3d90eae82ffdac43ffeb53b6e018a2fc4537c1291e43f7d2067ed599e49a68903c5bfd772bb175c4491a90e01d66bfbe2d95c4593a62ba88f959bbdced48cdacf035e780167ecd469cb6147eb9f294d0b55053b48259b49cf4eff39251f92ece9ac03507a89c64ab32806de156a22c46df4abe252e1eba437f3a5bae8b7776ea4c4ec0348b308cfdc6c47c5b1b0a20b5a4fe163dbecc9736cff2e3f888a90bfdc54b4760324820f024876bb22e8b16632505cf14faed58c5e277cb448dc766f0c1c98978103ddb865e28d1c85bb2e12e62099490788b046ed59bb0d47942e3a53ef6912cec9034a10bfb9a7af571cfa9e501bc9445036ed1da0d6e25af49e262a1cc8a03659fe0358c864e5c932b1cac1e55d4c24bbb9573d14997dca0b97633b4053de0238ce7d035d979b9456dc9f1cc506255a2dcbef6a39bc38c37ca3a2b32fb1c44c5dbfb32203af53781dc54773e0986ccc90da82ce3b707f684d389443a0726486ae0ae0341b037c02dcc8e7492319dc2e7342a8773ffa796bbe56378dd5c870005d0c67b3076e0219ffff03aff465e16be0752f06e4b4c06f358d2fb8646a397f3d2af7be8ce2f1e65d16b70339df37b4f8c2f7852f327ea7193c506054f2a22c8be2ecdfca7cfae209845a6f03f89d5ac64bc8b8e0dd5cfb068b4e626c6082c7840a4f2fa8829916a1d8a770f2035047e9aa2a46b68da11cb16e624ba4fa8dacf5cd35d366fe155fe3000d7e4491034eaecffe920e72e3994ebc42fe940f8c11a968ca73428ebaef0922fb96c4579d033bb511c6d7e1515dcc213d94f3c83da5fad5a1a82995937c20aca337b70b028e03561a8fa366563df017efc3761fdd07fa7e6fcc0e08a92f72fda8a0b87306d02d03c5b3904f99df7960cfe1169a8e53e9ddc4d1a7c86fe9b3a667c2df2a07a3f91703af7d5b0d78344329328f0f70c4ad08d2256c8227c368685e7e8e67fdc5137a130219ffff03b28c2f3758533053eafd0a018902729055e4cdba106a81fe8c506cf57b56bfc2030e1d6e3c0ca103907e4794627b003179ef567e72d5c1bca9d812f05290b081f20305f34b8cc4d1b91ccc7bd121892624b34aa30449ed0605fb13b802725f6c1d75036b43cb5143fbbfe2aafa243754f034fcd7fcf677c8ea91ea444e2623e755f18c0307ea11b7bd01debf306f8e2b627d6a4186a315aa4c3c031e7fc2d8e8754c02bc03c2d31ef18a1e100a9c1dcec488932d1875a8a71995fbffcb885f7537ee5c106703911e36d2d81557ee8b1a8059d88295c4660fcff8a225fa2a3a34257a4904ddba03b32b7b5b1d2926dce568086660d937dcd5a1168f30e8de6c45c00e655e9557c50219ffff03f310f66710a62544710441a928b804ffe52f93dc7ae8fc5aeda52cbcd051cdec030a15a49b7973ec3eedc7b79725afcd47c9d98f4fee2feea5c441e4053e38b84c03c5c4c2f1917266eb893e140ffdfcf44b70240f3bdeaa1cff278ef1574cd0bee6036d956034812d2401032e90bd10b820b5d8e7ee571e8cf319941b72d0a465ab5d03e278a96edb872b4510f534dc2059ad3236226977a85a6c2852c9bdb44f12985b037271d9ba81b278a50af09abef6c26127f5a48353663e89d5558648c6457e657203433ed280715148ff10ccc9c96274d0c77109b12e6c00f72c42fb25e25cc4fdd103f636b38dd73a4721be0315ffad86808c3afe8aab5debbd8e35c282758e0307740315a7efa14695005c698eb073de13d474b1a56e76c0f2fb776d2eab4955c830ed03edbf3cee99aa5ed880b649c4b97eb6d8eb6d43a57a6cc98ff1c93c3faf3305ab033f4f6a5412012276b0aa2d204b188e0760a19d559d4eb191d3442ada475391690386e951bd0710ccc8fd0c98381f976b37ee8942adf51379965ded9e622cdf4a5105581e03a6d968bd66796be63a81bec635f878226f2ceade71f1561d5dd34bfde00c014703c300818379f605581e03a939f81a16c90ef02a033c4ef73bec7b9b4e0dce0fd0eab1c0173145a00c0c462ae1a983df0005581e03972f42a8fc6d4f94252cc27e7fb4787774693684b04e2c50d0576716200c044710c8906745cf9c05581e0393dbc53a70f735d7f6c3ebef854ce7865e35a70fcde3dd6acd208a1b60040405581e031fa091ea9accaf9ddd53d0ac0801ee43167589cf9d7049a3856a48c2500402031959ddd0e55d953fc45f6657d1bb5f9699ac932b40cd81f1500ee858b10881a205581e033c230cddaa11a91fa525a574006797e64e70680c12b6f32e89ff19b6a00c1747162a3767c3f7d205581e03673bbc30955140e85876b6adbb34ddd5eb4c0d4480054ea4d156959ae00c01461eb7b0c1370802197eb203378ec76f2baba2204e8337c03bd7657f883ae3051d7935758d2e198cb5011836030b5627b0b768ee0eb0303eae2a3cbb47992e61094b064a9e12ee66c8155f063c033a679f74b66aeca77f05a5e4b1f7850b0317add3db599f718324600af1523a1f032688ef760dabb80d6220a3d0c4763addf759a0f0584b7a9c7c992f192b7ba4120329f2a5108f96c81072cc7371d483ac64a4d590370eb0d8dd2b941f97b1483cc9037df58f055c1bb7ebfdcd113bc4e835488ae1654bf6edf2b0cc86efb6ecf8c6d003c46d9179233c495030f7d37bd2b378d486eddbb0db34900d76f4a15a2cfd88ed038ea5349bbec448255bd6df912521c5e4c2aa4b8ace508669c2113242d90124ed038ca4e10103f909ebefb50780458764b416b3a42d57b0a833447b65c03dab579903601375156650ce8c74e77bc50abc384cb4f43abf52576e3a69f3d43e49b1ce9b0398218d8e6cd01c9ef50d0671cb118f5ffb7c0a7df26c074809ae24a3ea270fe203adfc336de5e3c40cbc81b500e9117a4276c397a30120518b32463a2e4aa11788033d46fa4ef56dff72ae84f6a3e191cd92ed22b991aba03b6160d52ef3bdae03270219ffff03998ad7370c71799cae655f14697a17fc3c2752461ff00cc1393094bdc54b077a03185016aa06cd8605b67cc4def5a010fb6245feab91623715d5e779f34a9adafc035ddce88faf01045cd9af36f8a29a386077ac1ab747164df158e5a292ac762bcf037c6a58c0f28f6b7b707ff46b7e338d4d9918299e4c572f6dce83973da6f24d6303b1ffe7d87a3eaaf85bfc5f445db62f649bb336c3cf6007740066b863f173fe4003f498d27b1bcae76b289b650359ee974d2aa91dd3042acfa3df9eec304dfe2bbf03c3bd6c1b8ed38fd98366a25bcec16d3acfb6158becf766af608956682a75e2f903887626f98b120327062e759893ef2dc747b07fe54dd07de508a7cea35a58dbb903a7984affc85544b887c2936516340b965129d9f609097825f9099e240c36b54303a01766845c3c46014a3f736eb50e8066015a882e33f8b4d9cfacaede2b77503903f20dc176193987602d30a60d643121fe0fbce7d462444a4f6d8a4e09ccbfcb0a0334bce9ba17fcd6046e198cb88f49a332fad48c3f7c58837c8fdce977f8f06b8b03701ddc32d2e6f0029bd75e8703eef32a6a21c2dc2316cdfa4c2f10fd0f2dd40d0219ffff03207fb934bd3a10a3e7d09e214378512c9ee18c5fdf9cfd40e26436505107ac70038c81348011973cffb27c3063edfab8878b5a5ffeb2ecb53eae7661dbfdbe1e1603fc04c0e99f3009b49ada0c6489422b431082e73e8651b20174992558d099e20903f209a9e2c93e1658b47644fc17d30d0d8798e328ce9cb141bd997aa5bad5a93f0373b6450e7c0e6c77d6dd2b8c1a5b63a6071abdf7fa9945cd7a920156178aee9c035a6b33315b07427383e074cb40421e2db5a99d39deca46e7d3bdcb5097393bb8034451bf3309f8b6d29535f88f3ce4664c078d302f005fc3e29673d1591338640603ecc3bc1ab2af389f596ee9d5bda906ea60aa901576412edf740a5c2dda68357803afd5f0cd7036ac2c8c8f3b07d3b1615a7a5b5530cf28a763a57cbf404bc42cfb039f8af6059a3793910fd3a2c571a2d8e152c1e46692a486b7824375de891ec8b4035bd4c3a11706ecb631eb6290ddd4fe5de79dad11c8a5e21c105c585b99aff2a803ad6c91eace0b42f17e33d67d797683549583811e1dc119938606aa0422e847e40385631c08cc65c00c7198f721dff1f7189e4833d334f4591873d03f9044d6ca460219ffff03547249f6343cd1625a530c0baa3c07d070b34fe609de831c78191d547f7741390383d358b726435b5717d65fff3cc4e872bc7114c2e2039c4813bff8034bc8b0b703a2bd23a1023b951474a0289b5c2ced3d61600556bd35cb48cb4fa9dbd8be1d4903dfb5c5935759d0a2380ee5d1c8f1acc75d91b59412d8fe679371c5d64cfe1b32034d0feb0109d82b646697fa77e51bc3a40094d0fc51b114433e4717c0f59717cb034d4d430e03a8755d65d10a22674dd61e9728bc0b0795ff5d3365c0ec131097cf030714ffe359d6bec29c181e65dd23a68a5289ee1df0086aa5b8044f510dc1298503706243cf9237c65a4c7efe8863e16f5ba294eea7afebdc993072b4cf86323fb503fff29131f5fc25ff3481355e4cfa5ee5b2fb647c53a4cce24bcbbe5407b3c042036982570c513ee8c49f507b89fba345de7e0fd461294c7b96f631ea4334f22c610374147ef26c0e42090a15d35422d9453f7ae4d8b2640ce7dbf64f99409cf04f42033a959e1e64e112da561db538956ef2511d0a8b1e79c675f3a869c05db456673d03b536f86157a528708afc16854641067e2a1094f0cc362d14602f5de18d7de84c03933a6b65dacff65fc170840c48178a68050b7e9543c452935b348ac9ea6cda07036ceaf410f91024c3ed63e81901223a476c05f138e602f5d1aba2c5c05a1ee914036a8220b57fc03f82c26d677eb2c58e408ba95b93c36c83f87ee30d48287e0c8003bf4ff9ce9082fb271d878f67fa953fb936bf3965520b55fc83b53aca922c0357035ce58233800a3baf64114571b75eee5baed3f90846483afc1cc7a7eb2ff04a0b03c1b7e078505255cbbc3aecf33097459d308de57cc07170466c7133c428adae98038d475867bae7f34b86734ff4908b769af254fde4480d2e91168c5e2104afcbdb03783d6f01e712e665c673714e92cd69b13def02d4844a6d9c1b3bdebee3185b2903bb72a297a365d745fc613e17914af811abcc15362f4bb3f3b3f7c67efcd18ca50605581e035e9d2f7e2dd1338f1b9b31dcaa78344d3f57bdea970f41c73c85a1813007011bffffffffffffffff05581d0236995c52f0a606b7ca3d4a35f01671ef6b2b4780750e748bc56f73c00c01470e0bcd494e040005581d024796316d2f6140cdfa9a3ce922467c1b37e320a34c8a043fa151fbcb0c184a4727f56e7fdc259605581d02cf8c7e78787dfc6e1b637670e11751bbdea451345df859e726adf4930c01470198f6a091d80002195002030e3a80b683f391707b8f28262d63e0e04d7adb7ddf609542b130c46c4d50fc24030c0579603004c097b08de5dbf05187ce338768d78df65ecd06b3d7833ea1ab2e03c8bef26524c511bbea67983d80513ff9698d73956a6c3ec8684fefacf2c20324031f6a10972ca942e1af796456c2fe54fe09f3decb1698afac9efc0a8f3a860e2901410705581e03ad302f45c73bcd69350e34ccbaf45fc27d34107fe00612e23ba6d6c250040205581e036f1d76a698bde1757111e2d225f61e0e8ea499825d48ad301470c17e600c16470efd6621da7e9e021916cd0394f5330269f94b634c59ac1dc45a100dc68e0d768fb640eaafa33b88c3ee8d6803aa4e54fee808ea8b7edae229086e53f8a28b53aa530ab4184cd89d25263265db0344df9fcc93e6896fa4d1fb3c90724b03dc413c3ea0273fe0a9511a0943d3a4aa030bad5ccb5292c435481497f535f9e17e000168fd225ed15a884321a9d42a891b03693ec901a70799f9e9e494a331e40881d2b8e34897735cb38bf420497ecb26e303adcfd39f9c57318e6fd24d6460ce267641c7c028d7a9dded12c5d91e0bdcc81703d6cffe1d2d5304664be80ff422c6948e0f3b80de23142004b8e301b72f07f7c203c715ac9dc2e814bb22e1831237aa5f0cb8fefd76aa0641436f551bee5ee6936303f218e16990e1d8bc0b9556c9f14b90e3c7e262e53540deed506bceec7245abb603c6caa9d24dd45bc642e3d22060bddf0e21f219b044981591d6082b9d598541d303931d65af70f060dd67672af89b3015685cd610013986626df439a0c7641c2eb80307628c7b465826f7e21a17f08be538e02d185fe480385a4d50bf3815cae47e790321dff57442210c8ef16d4f4abe660797f5df9a2b2443769c37b9b0138b58f8d8037990cdea0198fa21540354547d71a6dec028f28543f7319858cfe7ae53b82cc50219ffff0309ea94118567ff4cb9f0c0e077baacc4583b13db74deffa4560ed47389cd12c5034abe84f5207535cad360fd1ee1bbf6ce9cef6a2da7d707c4c6cae20053e3d4d003e385521a99c818b3b2ea24489ed3a50ec1d7242b0e821490d8d07489d89baf6f036a7bf89ba786395f6d9977df1d66c03dea621fb7c7ad0a918f613e23ea36c2a703c432c0978bef93068bc792fe1310773b94c8d090574e6ffce33aae6e2a65a2f5030bd7a82a0eaf1d860a9d6f2e5696c3bd8f3d7968f07cb57e85fd6f517187443a03ea9763d8d5aee77b845bcb397ec25f6b1120ba71dfa76d9276fe2931e882fa41034a8edece555b180d33538557dd1c999ad29a1d810dce38301e5b393dbdcc94a30312b4753c1a8c646dd230d559f524a62b4443b0fd9be1db02b33bba26f2313a7903557fb8b7ee5f3241b24d4fd11062b7c41dfcd885e578d422c0797b9b0985149c035695bb82a8cd41b37d58e181e63692019e14c193826627d8540193fb894189130219ffff0219ffff03627adc9ce5d3346f57681a20dd8eb336849b408af9ba05b6feab8cfeb13a09660389acf2d5cb0f27ba3f87b575a866758fadbfaa406cab83c21f26f2faf4539634039c8f3d2448aae66c27fafd2859848848be45e75f15d3637857b8e27b4ab9b0b103dd7cd3d191206ceaf2450def7ec7f8fc83324db35e55fdca79400b5478eac42003911f02ca0426e165767fd136245c6562e83c85b2f49bd98b6cda951e86306f0c0219ffff03a525a210444541b618c359343a90990da669fcfb4d6e25d5f27052992963f72603f69e5d0c93301f228434bff839a26b6efab1a53ab965807a3ace6b8fb15e5f7703493eb14d3cbd262b4b0eeafdba52247ac3bd6d00225e40b28556933778c3f231034a158b428189e61b8163304d66db8a6ad47093564f1c0693ba2bb8f05e4d33c60316bb185b80284d4c7d3aa520760a7b4059cb1ce414cfb857e754df2a5976f1ec031fe8a19fac4ae18d17181901d0e1619be36efa3f09dd2071136f195aae25b6a8036d07d8a87dc420c03871cb7b5631541fe654e73d567660f7637c09c4ed3d362a03b5992ae78e984393b5313b06a4c9acd1329bf77fa8a7ca6175d9b46a96588f270313152719b93eafd01c938ea506753cc6ef691a61c11decdbdc4384ba58640d680361eb2a714dc02e863e73551a496069466d399b590c215dae6de8fbe9a128e43b03cc3b91c2488aa00fc7d0a571967f6aea3f34aa1a36099da3d23b64d54a82afe203cfb4b873e46cc374c4842bfa9bde7fc3495f98c520e5d3e694708ea41ca6c41f0307361b6470eadd0070605c081ed028c9a90110b518d41f0ae2131d3a1c4326ae03fff01bcdf1d09eb34e95a1843331791ea1ed50289df750b242b6aba3d66a217e03911292b952a77119b1d23721e3ded06d1efba51fa32b0a2ad597fc8a4d49e11003e8f28561de15d50454b404fec8006bc4dde757b01031054ae63cb159ee0390a0038e259d4b33ea9d23a79d5f918ae0b9ba4c72cffc634cd32d9abb0c1052873b1103103e873f070f3b900823973e91e79174d2437525ab438271e3dcacf6aea3ced4033bfaef71e773fb340090dc868f9e9bf713f9fd445a8ad58a95f70ed2eaadd8fb0323e8f0fe5b15f180c1f758c9c16ad2b6d42aac30098a897d52d4847d7d35e90803208676ef15ee3b51beef198798607b9a5aca9a09b4d329f76caae5ac57b6cb900389190771588467c5e093a64e1e352304952bbf12dd9e17bbe5641590126391df03b7fd1194de2ef5d8d9f385012685e4211e7b8fa8d054714ea22d05b0416f51b503891d7ad1ddd8fc474214bd4268f20434d5572da110085403869a50e83792b16a03f3ee606cd6695734098a3d4f5546ad9df4fbe7b03a72183730319d543ac558a003838fe816034f2a446877efd23c6fe3e6bf87215f152120975bd15097909865dc03f6e42e8aad6ea54553960ada474f77286978e181b9fadd78377c310bbb141a00036aeef030f4e0de0d686c3bdcedfec8336f923336f8c12413ec6bdc0f57b6e2c3039024d0f8b3776e0b731c1cbf086fc354f41edec8e1d1fc324f4056d07c0a4a4103a8c27e353061b5f0dd9f07594c958abd9d625239a1024734566b73018df2ac1803e930948796cebf4558d3c857a23d1699533390f49fe235a237059f3dca2ccfa0031a515c593c7e62912865d56f3c5fc32628a2f3668dbdb7749eed315a0c54517b038c57cc243515786e5b6008afeddb4071cb70d0f29c5a50cac893d0fe816129cb030a0ff9b0eeae3737f357730c367d10104188f9feee14d25c82e523c2a5d7125603b321a3cc334cae83cb362ffa5c8d1892027c8f5f7c569f7454616c359c6f018203e982d184582ec9766c96b4c8542b72b12c40555f3e509043dba67dfe6531a22805581d029941aba2032c7483e0fd39c614860f2d8e4961eff691e3cd1dbf0f7b0c024703be1d0a52cab805581d02b28a514196b00b4376e7d6f34e15b1b30c469d0c2e297a38bb68d7380c0146ecb2b94468900219c0000335ac91bc9ef05d913f7fcfab636acac47fbf69369c159dcef8d5caecffc7634e05581e03315fc50ce87936cfbb5e05d631b6d1aad5365998d1cf49c8469526dd90040103d4c8996081fc41ecad60c5b13238c9a3303d66b387a5e6748907cc0f4f57674305581e031968fa9f57dd5823872ceb182624afb5db2bb05c5ef89d334e5dfc50200c014705f2e29c28bf0002198486032da0ea650d39338182283f5170fe9343d8dd645c56fa491af52af8e2319a430e033595b9fca92ce61cc5db0cc651968310a708f77252353052b419e092d796b90d0219ffff034ed99e5a139fd2487933aa556c08e9831d1e209c704dfb25b68db9ebf6f155d5032923fef79abbe2773bb65395b62d8f690e5d918aa380246f0b6f02d7ee26af2f03ce45effc3cdb775e483870f5ce178377773a5ad245092a53dca18fb63082794803086309f9d19f2fcf383d7616f29f725543659ff2822cbd73e6cecc5d8f445b15034bdfa7a5c11909eb2891c167f5ffebfc8bdb7f82fe8863e70ecba163765c9d0c038a8fb324f9d41ddd6301d64f55721df0804977d3a731b0426c495a56aa95fea603efabad93e5a6715362577ff48ea17b74d3801fc26c898eef4c71af3d99753ad0036b7a204d3de18e4f798bc7a99a72e6cd6a979ba88e0fba44f1bebafb6bac8230032904a64effaaf7c7722966bf0fd64c7aa6a5433b6164b486b28d50c3c7c85a8d0219ffff037afb23e05e58a3790e516a761df804238930d5cd6f528414aa4387a1078e76be0219ffff0339d952b70a13bc3d6253df7dd8d1b667edb5d8e0ceb29c08bedf1d70c1c909ed03ccb08339416563897907c32a689df7622f9280358b4e58584d46ee3a059ddc3f035918b961cd28c7d483236c86efe5185659becf8e5f505f19c58a5290adf3263e03d16e8be2a76ae1b43ebdd0bbbe2826baf1b41afafbda0d09de030d1efcd41a9d03e65ce91b12fdcf9b24aaa392519e695939ddb2ef6118dd104a362b2f6bce326e0398374fbdcd9d6431b8e52928859016328a72ad1035dc390daaa3af6733500f3103259a8079e75f193c8ace860029dd45603aa31a0fab2358edf910e61e5965616403c6175db400f0edcdc466fb0faa0156925fce7ca68840553067d7b640f786ef5803c4fcf53f346d8493a9439ddc624a9ce25ecc34e801c8f33cef1854a0750b14ef03c997642d7d95fc1dac95036f643bc5cfd326787bf54bfc056d5bcde4aedcb556037eac97817f0ee82a87a9502eb7c8d0f51fd17cc7f29915f3866b922f1c2e64e7033f7fd3ea59f1c8f0cf1ffcffd71941114a64b3edd30d347d82eacc26a75ec9890219ffff03f4b54cdd14e7505e661b287ef9a2784e62684ca29093733efb679c89a33b594c0303c3fdb85a0d61b59604471584c6af4caeb050471029ad73fd15047a055a3c8e03f3a9c4a98096674fe17b85245e19fe1c42280debcc903669e7f7cb7c02514a0003bca67c859ac288933cafdb8c83eafa19aa1cc47a3fd5e15ef6ad1a8e04df37da03d212f9d84f4a7084586959457c856a8a3218d3403cda493519ec4a3821f86db203bca1c2485981cb0d21d66966cd922f2ec21d0b29c9dd019b7f9c32d1d6d0529603fd21886917599d116ced02ce4941a0945bdbacf5cfcc54b922f9bdec4dbd138e0334cd0e1a87a44ac2d72b5ab67e2bd991d65e04f4dafe4e0bf700c1d595c37eca030778c3c25e7bda0f88fd68b0d570074f7a2a57c63e1a6c4464c504bf1a2af4de0322c4b422f2ef4b0fa7077efc56f4a301805bad38f8e6e608c2d6c9e66a55050c031417c3b1a3bbe374c46d726165b990c4c18bc2f33a9ee63e4bba4b2b1edd281d03065fd8fe57f8cd9fb7aa865a1c4212aa12df024a815c4b993db620c8e904621603cc23d830ca0443756be7981e640080cdb9a435197f2c246b03d1399d849ffe9203e4b5f03b6188fcfd41f341f812638002f0b8eb19f048efbd353fe5ab20a244c203af49b082472b9fbd001da37190e5bf041cffb7671b69912c32ee518e32a41c2a03b96f687eb62610e60a265c7a7a7cccac1b890d08a850e2befa5b95970d08fe8603e37700bd0edb8273b76cbc406772bfa22e7873e90815c70d083c18c60766c6ff038ab89117d0ece52b396893821c4012fbce8f72a95d0f085a39eca900c24f3e6703268f89825e5adc4532994bbc270cb96929ddcaca588c7a47d3ce056cc7deb420035970d2f13fd68c740c0a418fcc8e5d95c5022453b0964e57146f65ed78c93ad00399426bcade086ae2cab6ed78d26f4a43730aa5edb825ed12c3c597c7e378f816039a88d454ae84075eadc6293b6487c95604e1549370af69a391a0dd660d7276d603ec115ab66f8902a9a0f40c9a41cfeab8ab9c9e63fbfebe312aaea11f11d80b7703c34257a027af60b23326cf38237924736fd2c6bd77a04c8927f1ff89d5d139ce03ae049231a5a310c9edeafec3e31898fe07cd4e9f1832f2e72238d0474830b97d0384a1d2430a564001519c33a84b95dc7e7b500ed2a15725ba2f58afd2b01552170398a2e52725bb2b8bbf18cebabc49456d08ef817756daf55cd3f99946858347b203bf86303558970ed5c552200949885257ab7e2ffe89c7115ee45e27ade78479d0035f6760dc764a30f8668cb366b1749eab693c6b6056a2253a3f19a5f457379e61031f177bb05bb7bd052452b077ae5c85533fb0b41cd1f5b3162769a3532620e985030aa53515c1600c8506d8f5e1f4d4775c1d115823cde48cfffe091f61d671ea4f03f260c3c63214973ae6986012317bb80e841471a988ea13470fcf91362f98aa0f0397b8023eb2f17fd151b5436443857533e791a5edd2221a1b5bd27db2e929f6260311f195115c41fe4c884b883c494837b343bc5e0187fcb0fa119db2168ec4221a034ada85835f346fe0687d7811240c49eef5d0a10637c55c6443ef6b11e2ccfaa704592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563048030319225661f5220058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604802d51126bea808d000582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05154ac7a2db078e1261b942562a5285f54400058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58208324cacb993a58142c2180963b82732eb639d21d37bcb5d1f04b2c34151da39d005820020606b6505c39b968696912252fa8e5421d4c280a6c433112a9bc98fda51545472e07fb97b9e86a005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84f7762a33ddb3f1520636ba1abb11af40058200221a328218227b19fdbe2449dbcb8d58e5123737ed7fc04d8eeb9ac808961cd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219104c00582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687dab700000000000027a977401ad1e3c8000000000000003e7bac9be9150c0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54694201f10eed6c61ecb48efc99c16d6d9756675c0218480219b45505581e03f77d74b6f328d0742d7b167987fa10fa83ed150e9592aa93d43983d7100701192c1d05581e035d5bc9363b498eab97b8cd15ecc068116c7790b4bc409a6d577cea5b20040305581e03baa349692de4bfb59e870e1b481b254f9b78bd188d49dbeede49b0e840040103b8fb018f06e7cfe339fa771fcca8096339442156ade6dae5b626486a7d175dd505581e033e0ff07f4ec3e512cf77bf39a5db4d081760b02cdadc503462bb3f0a30040105581e036e4bb5fbd22ac74c3951c2e8cfa04fe79a687f4eef096df3d4fcc49cb00c0247b2c148fa71285405581e038bbe9d80caaa55146d01e6348c7320cecdfa30ed585e856563b53f4a50040105581e039b0f370ab0810c168101ff04a1d2dc8fccad25f49fac2238561dbb0cd00c18a6470156f9abea8ad8021985fc03d3eaf06043b31ff9c59cffc217e6cd379a0b4a42aae212c878a9db0e2404421903b38c434eee233754a87058bf5d1ed502d0a41f13797def660fdcb92b5547c3b0038eb110c0c87de1b871a6d1064847b598076757ffacd7b12e2268292dbb99c73803474d40c6706bd850b533aa6cc214fbeadc00a323eae3704b71874976becdf8d20219ffff03d058343d55604b62d917a494a9f27451f653d2bc8b2b16655ea504231bd05fea0306e1f9b22342eb7c54fc90a4c34ef60adfa18ce541ca1545fe137f3fafd44e3803da29afd7c655f093f19a7f805e83e94db55303092e516ccdc208161a3c81ecb90326bf38c0a4b2e5861d2b4b6f1f99723c28166cd4e6540a93369f02b583bacdb8031f69006e3f5ad39ff69f166ceb1c621f797f6d17375c4722a65d5454945d930503332059245715b960b6316854dbf9e5cc63019a39c4f0b006a80393801cc5daaa0219ffff03618954613883adcb54539a7696c61463eb146388bd41f129cad3248ff336aebc03188e134fc4bcbda19eca14a965f00a52e5e9b5b8447ada64412bb139c945ffe40301ea039655e9ed2b3b6de078d4e81ac51a14888dac1a86cc55c9aa4b94b38c3603b0471cfc2d5b5553eb6dbf49ca47b295670beaf0ed9c6f062bf6af32ced54b5f0347481866affb03064a4e668a527e27ffa64dec43c26d297e5e6c65224a758bd20315e10211c60932a2680a3e606bb592f5ee021d074a1c1363f8da8fa728db6268031b531ce60c9a43db15859bf323212b8736fb84361a880a6f91a045a029e23e62036cdb97b3a18b67cd562c52fef02038bd0678a65ebe453df0a67468b47f07e75603d83a0ac4e81d9958480a9e8e65f2d53b192a8663e443067c87ae8ac9b5acb902033cc7b41e70e0bc925bf2fc70d408004a43ed4e1c1d07d3e9129f0cef01983f8c0375e901f5b7673318a5db22bb1e67096ea8c95f69ea4a30f8e02faa3697fcd542032779f1bdf93f8e695b20894be26a4acd52379c92ba07c9a2cbb23fbf7327802d03206f234f5e1acc141796f9e21919409b5f6bc6ede753cdba2cd01e15ce25b83c03c65e971d9a363a962cfb64505edd9acba616b324a142c5d567646f1c85b388ec0219ffff031178418c67a6d4ebb6e6a94ad727fa546b3b6ba83926ee14e482efb44bba87dd037491360eb26b9b9f4eba78179cfa3e10940440f90e9675afa2cf639165d3dbfd0219ffff038c5c571bdf9076275f8f70647a18e8a8109b2157bc0167aec4b0a5c871c374da03cf6b6c738ae03417adf7d42ceb563ad36b808635a9120c6936180dedcc6c985103fc25472ee6e652862f63a4475697cdd4780ae772f4de704e7b638d957e1b644f030a23692cea394131f8919bebbf29c8983356e3d7f5b212c2a35abc70a27c383b03b1eb7879ce049655fea5bc051c37cc6abb1eda094cba0039fe1aad7ed3dcd9b9035e81c30864544344c5caeec9d1d2256f1a81a7c63ec5ba5e3a59ec3f59a8b45b0340067c860a626d53c6bceba8a9c7aff08d82331ca8c9353c95f58d6185ffeca6030933fc23ba3777ae0c999b5456ce2f4d3a182bf6965b72dbcb1953bf75018ad9039e2014868b69cfd84d7c28a7823f9051a7f18c8ace20eebfd8c220ce80a7d3e703cf7f77ef30a88df7c55085d00bc8b9b954d0f7d5690bfc7d684922ccff2ef834037acc31d4c2c5614097751fdd0d8d5806a9e4b64860311b8e891bc37a033bb86d0368ccf48cf30da9346a575d7c5d57af431301edf9921795be7f25b4a9796911aa03e9db298ea8ff83069acb4f84e6ac2d90a3cd5a584e855915f842cad4efdad6ce03823f18733957fc87110b5abc40616d5211e59cee5bbc102d2686a88b468736380330a78a5d7c60e072b15ae54b35a0bfea20a232891ad5e9495dfb86aafbd46522036d6f5b6580ea5adbedb73a91442e2fa3cfd01b2cd4c0df6fea10e8189cd007770372a3434e6ef79c491817d58e7f088afb220bcdef686b57f6e99686876e2d51f903c98d90a2c4d6667078bf24be89c094c9613ef33147cf38aa6e4bbb51e7e300d6034d1c829869f9a91c84e8d72ffb458d8d8db43609a2ff4cf9dcf084c2d3bf5cd4038e672a905acd9c1db56f89c8f8b4396692bcba532fd609d2772a964ec6ac9431030325835c6fc34bae6dbed1cc8f6100504cab7a78ecd6ea474349063996a416b7034fb8563ceb62b226c52d0fd99806784cc7e3e2d23c4925c68d22883e352f5c100385da84842cbbef05406928c9375c12e28a544277cf9725fdee3d97f9f8e03b95031c4a371274a94aeaf57555c3b89387380b0b62b460db79a82855f8889dfff8d8036e0300938b5249246694c256c80c01ec400d63a6d00b20faae4e336a8abbf3a603ad5ff7e62e5dbea40d9c38b51d713528f30a5af68e99a17f99bad5e9e2c9050803bd6fae6b400dc95ed42f0f9e1c7fa4582ed40c1b00e3008262bb98346c366e7c05581e038235604f2cb74d289c92337263c399124cfabf17b9a880ac2f475f4080040505581e038abc7912e7705f8d062576b872c43b1f5421f4c12f9d5eb4102b9717b0040105581e03ba4e0c57e317d1aef5d4ec51e0d44506fb7e766a54038c003a9cc7ff600c0147018a56a6626f0005581e0302d3cbd31c63cb782b541bf62d4946a04c5dc84626c939103d28431fc00c0147464599e38dfc80033b3b2ed9843c4cf63f42a315769d5193b3c0bc6d129389124908302d10ddf3a105581d02a5275802471cd86930e859ca04c45b1023cc2cba174fa10aa4dc63b804181b05581d023acce7542251dc4271e1b114d813f4276e6fcb00a7fd5dd0b77259be0403021902020219dc1003a7cee71d9bb1370a587ba6055be61f6ecfa87f2b91ecee49267b8db50f9ab1e70385c386b82a4cbcea7e88b47c21b6d17968fc6c42c47c30537ad3d38d0727a6b803298bfb215179e3d2effe0ffb055a396f56b341b83b4bf5f38854b20afa64e4a6035b5a702a6204d131b2aac9e87d5a610249cac8149ce010eeaf69163f9002bb6f036f866cfec93c1cd7c4709d7d8a7b4176da43d557cb963cddd7c3f2703fb3ecac03bc04ddb99b278748451569960f8b398ba8764b6f7830375b2d8d8f004e63592603981c1a6a40fa887fb6cbf65c5c05bae3374a15605ebe51938383edf19065bc6c0357bcb2c556626fecffb891da33f61859ecb3dc6c95fa7b87161bcd730e6327fa033ab2ca358a914ffcf435e32694645bb4f2540e28369c4e99c4674024252add260219ffff032173bf531427bc23f07739bcdd5cd5bc968614fa1abbfa9939365fc0454d04d1032ee3d6a57ca51cd8140e26e31abe4569338da75782b0d9057e2416df095b36320377fb7f99fd25876ccf39a9d7e5fd28235771ed60b09608c7d63c2f395268a042033976054ef304e4700c8a1c88e6ea7bb8e4faa28ac818ef4701b2b8ac97cb3cb3030933435779b1412c3b64c1f31c720c476eee3a6967e43245548b3bd7789621d003fe07683706f69068c494b9fefd765b3639d7c8e098ed57e861241968b37c6e9e0318c240a7af8d712ab8a7f6c5502f7f28aa5f97e8284d46896cda27d6461edef803deacb93bd5e7a3807a299947a1dd558993dcec6d43e0474fcbf0304f33e7afd50219ffff031e695ca576c67a243d85e0659fa47d1691baa8e5fc13a5d9093d35cdf03425460340d7e93f06ae70a1dec6e1537757fed3ff2945099db20e021ebd85f45ba8a93203ba55f10d9b3f7a865a91bea27cb168df59d63f2770da5b7904a2f9d634f116fc0304974f8f2de192f767573af264c8f227683d4e2eaeec5862dc8713db6c88212203a658e6704a61559833d7501d3707d727dba11aa473cb88121c0e96c3ddc3497b0328bb522adae5195fcc3d1b14a880403fa6d2d78900ee0287102c396dfc215e70037c721a092bb93d643776e5b68df94d00b910a720ce77205f827f1dd5900f509d0219ffff03a1681e896e9a94372003f5eccbbdcb5ef4d70485079e26b3aec1e8800909741e0336ed7ea91f71959313f0f7cfe0418b6af0e20fb252a07ed3029374f4b2b96d6103c159841f0eb64d427f7a9eda74f628d798c84867f6e4c4f01098ac36f7fe2bcc03813b33b2e59579e4ae6fc677ad6567a495f09621b9143cde1736b55b9794d88f0368efb40fcfaa6a53fb0da90c5093ddeb7683e75d0fe2953ed43c2944808801da039cb655981c0c77f0b18feff06cfa15084ac39b22889a21497484940044ba516303425035744c96f7418d16785abbd2dc75c55010285e95292fcb0bbf60dfa22a2c034b14d7ab28e2d39bb1b7206a690c7a97221680050c4b368c242dfeb673bbf9fe0340c5ac8e5dd3960b94751e2ab20590173cab5b4c5423d5db261a88b25c9f5be40389dccb95cde2506580496b4275d50a2d5b6fee23b2d2134ada1d2a0ba6d514c00324412d863af04fe318c464997541cda582409f0f6557ce2c344f028e58f44ec7039fc4fa97eb8108dc325fa99b4ec86fe10854b2640782bd7e98774bd08758006003e154316fddb2322ab9ea3830a2ddb80e1bbadc83cab0f9053bd2dc99c2624a7c039655c541bdd7013320d58c5ecb6a940acc5ed3cf1f3ab8721d6f9352d791008303972a3c68b12b5c0d903aaf26c68de129426c4110f56169cf8f87726ef8e649f203255d43d3a3369474b5a95240f35d6e805ae5645ea94c60369d5782b4270a34aa03ee7c7bc3bfebde4aed9cc87a003d7460113269b6a394b1bad83510eb70cc2a1103dfb191b439947f931a530d98307e1ce45d30bc7cbfb55dcf19f266b17921ad9705581e032df95ba208d7e0cae19c2db0769fe4c2d77de3caff9679de979e6e2df00c0147145bb08a94265a03d79a74d7c21795134136b7f11b636782a8f512a96c6551eee4c66333c710d83903b1a73073de6dce970a5215be1fb5ed80b5256bc27646dbad8d8bf712a0b5110d05581e03434029045c71aab19f2fec197a2cdb79605f0d78194a0980719da2f2200c0b47069cff5bf96adb03e71eef4d0d4e97f16c48bcdce78c9a279b9a42470784ae3532cab7d17edf78e405581e03b6efc65f4cf06c62dd24ac4759a8f622a9e54683ec4a65d8bc158a8f700401038ff8ef9d39c2930d2e6cb121723601eac5c6805e8f2431ebbf3339daf061ed5405581d022e5e66ee4cb6445c4bd2e802c1073e32b2bcc4af3ce56bffe0066d130c0c46542409d9c2f0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203deecd4a6393d7a3a83ffbecc0046241afbf79404acab0c5b99f2d58e30047d7005581d02bcb27591b5b5b32685f2eda21fd7fed091d483e9ad922aed4162828207011bffffffffffffffff05581d02550fc9948807898c9c9b77d626a8011eec9ebb1ad22aff52b72a8cd20c05470625580f0b1c0005581d02717471044ebe6cf6a63ff7a416ff4b9fec2500abb6eb0f8ef7f0944d0c04480c269b35e391e7730219e10003df24c03cb972a64ca8eceb20863bbb91641a4f7e989476185f6a8a82b33585f105581e03087c414077bcd50acc3957cf0e4f97452cbf161a0b8ca8c1ad369968c00c064701727f6de32b6a0391b3bccd87c545ad9aa61b01678b66fe7e668588c8c29e11e5019aebd26c0b320219fdac03a075102e593d9db9bc446d176ced027dbcfff13172acda9f30bbd73f9f8c4b3003e7939d65a739fbd271d9fbe65b7268f23cbd1c553a0974783e82ed6e58061fa3035abc04a07004b267505a8751bc44e2cb0c6c4a9513c3f94e07bbc30664e4a9db0219ffff03a6ef7bb4509445a51ed8d6801dd583149e5de3dd7c8aba7516f3f1ddcf64b405038343e5ea843140c7eb97cdd3058fef93dfac7a33b114fd3fd7d78d0baf5976c103240ad0df581aa913e4f003e6ab75246c62451c31e9aff4f23fe3005e10ad331403441fc09dee406f567c721114f4b45753cb43a2118c3e2e9a8b923238f1e2202c03eecb3d375f539579aa326bd3d3b02b5c2812f2ffae968ba037c435fdf8fa00b8031a7743940ec58ed1db4e1f9dd4a767b2ac5d981c679403ebc982261e8652cea0036b0d95cbcc209fe904619796b719f3a5247d8a265138e24223e03cb4a2a6ec23034d96e337820a4e3a16cd4357e48e715ae399fce1c9c7fedad301ae4d25b22bff0328dea91c24664cf5e70dc61a788ad44784c35e4a49edc0373e63dd363de3f93a035d5b9e277e9fd4c6ea23c29a8679dbffda3283bc32c6398aa3d1e3748f7cf57303ec77db918c65e11b75bb0d7adf503c6bcb3ee3cf32071a050f102e12e8beaa740219ffff0323bb9ecc3ce6804a9ae1a1f470409babed34f12bdc7dd38017d31a6f3e9a9e560350aafb9dc21db600025ed3dd0fb6309faa2beff1b2402f0d305aab59c928827703e8ac54dba5d63785c5a3c3a7b065dbc26d7cf950d497ce19384535c92c49d6a4033fb8935f184b1791778860236641aac43484727cac3ff9346a94f806b6d3c1e303cc80b87247890aa4301df88f55d66662f79ba0402e72f1f8191c74ea4fecc821036499887a20fdeb78ea9d8a7248192fb487cd4e0f7568bc7f748c5c6f6e89c056030710614077406b841d001ae3265f533befd663fe9528f06f3a379ca0d2ef48bf03364f4cda4074ca31a416fa6a191fdab9bef916d9618bab1bdb131e4299f765f803394f62542f34bbd428b833b78263d84ba5d098d1016b3c29e5f61f7bd2ab505b03c8eee2a553ec36f0a52ad998fc8708454345256214ac9c47c54fe0143ddbaf65037e965747b6a9acb0945697e36ad8afe59843e738c99c87c03a44a609ce8d497703d500f384f1209239f1760b483407fe0e8c5ab1fe24a748c2bb5e758f670d9e67039944526fac76ffb58eae4b429e235e0b5d5827358a735ec2b3ed4865fdbcda2003e65d6d5c744db313af299971f72df2ad90d6111350fdba974db5726b338a8a120219ffff03f00d42b68cd59ffa4cabf5ee6ede2ff4f69b4daa2d7f53269b633f3526c04320030e3190ee0cd06676bb2b6ec270bcfc23ca790f2ca208172a10d6e68760ea85f503e9aa09a1ed8b6e01b6d8d02165a96458ee0267b462c3a7e7031548614561b333037f71d40c2f25297b5d3186fda3deedb661ff32ab88f35da3cf67c56e0081ed80038cb798458788bfa34269c4ed586402d8a0d5cce4c7fa44a78c7596ae2e68a34303f6785f0ded50fd157c75d796ba6fcc291df1bbd8ff70acb29fbd4b5622ef60a40304720f204a60731bd437ac785cf93a1992ac22a68220e75d619f68dfa9a661ac0219ffff03aa1f32c09ad566cb023819fe533cc20b369e6c267359fcd0d63a6fc893e7273c03643d973ad1d6908f1a93fa2815be6677374aec600b235296c9200b9348c2295003fcfa043f33efb3208a103adeba7d77174f31df33eb21be118775f6b777dc26df036b3902d7d1ee359bb7335459656e73a119b3b7acc8139e00cdb8eced2124613d033ceb6f0678496acb1dd591f7888c44b8746a51d439bd281cb427f91ef3ed3941036fde5a0ff5764ae3bd3ae97bf39b05550aab36fb67e958b1b8f80a12861dbfeb032c9b656c4604e5f1afb6ac3c91f96b8f0c097991eb3e507ff2f4d794f11a374d0336e1c2713a69d10beca491d9ea83057f164733273ce3f829d5efec425a0f300103927266d44298387bc62c10f38e0947761ce6d482398e8a4984026a0b785a0ba8035f1b235ecebce9a5df63709f7209611bceffe51521de8c4d345a1f69d32a174103028d8b5156cdb402e106cc61a2fe33cee214503f8fd8294012f7df98e2e0b87c0381e6648364530ec0060163c21981dddaed9516e074216daa6097c66ca7235d9503a0c379664984f1a1c05a5329a430399b7965af8938ed630cec88c4bee07deac4035b23292abc41e82a1dd2e9069ac15c9f6cfe2dd41c7c98e172d2cc22a6ee9b0603473ba64d92e5dc5f9a9a79d2e51270860925f004e2527b57b525e812a228281203bf5441a774de434a6b35cd0869f348e2119058ae715aa333fc9e3e83bf34323005581e031c7fb5e254731af7d35613df061d6d4eb716a321ad9fc1a8c6cc4feb800c02465edcd5238960036a81c29f9959ba862b8e3e3c2cb3460fc33c0f7016a7ecb75db9eb4f8150184a0393fd4352e325036e0754e23c1ca8652ab1489a8ecb0d6e9c1b83b36b6c557f5505581e0390573059647a00fe1e31960ff3dad24f18f06f821d4e623e1b3be316500c01470a23ee863e268003833130e8d8737bf2de1c60917de53dfe629f65e1f92cfaa77cc2c9105bc6190c034ed454377b6ebee2deb071c743e57df438aa530ee68ae3e4392e2ee6575a338903de8cc0a80a910c253f91ed1e5dee70f26cee4dce6721215fb8ed9a34653d84a4045937ad6080604052600436106102345760003560e01c80635eaa82471161012e578063a9059cbb116100ab578063dd62ed3e1161006f578063dd62ed3e14610830578063e6be4a721461086d578063ea2f0b3714610896578063f2fde38b146108bf578063fb235f34146108e85761023b565b8063a9059cbb14610771578063b29ad50a146107ae578063c49b9a80146107c5578063ce831ed5146107ee578063d2d7ad83146108055761023b565b806375f0a874116100f257806375f0a8741461068857806385141a77146106b35780638da5cb5b146106de57806395d89b4114610709578063a457c2d7146107345761023b565b80635eaa8247146105b35780636b67c4df146105de5780636ca60bc61461060957806370a0823114610634578063715018a6146106715761023b565b806339509351116101bc578063470624021161018057806347062402146104cc57806349bd5a5e146104f75780634a74bb02146105225780635342acb41461054d5780635d098b381461058a5761023b565b806339509351146103e75780634076350314610424578063437823ec1461044f5780634447842514610478578063461d9476146104a35761023b565b8063220f669611610203578063220f6696146102fe57806323b872dd146103295780632b14ca5614610366578063313ce5671461039157806336e4ec64146103bc5761023b565b806306fdde0314610240578063095ea7b31461026b5780631694505e146102a857806318160ddd146102d35761023b565b3661023b57005b600080fd5b34801561024c57600080fd5b50610255610911565b6040516102629190612337565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d91906123f2565b61094a565b60405161029f919061244d565b60405180910390f35b3480156102b457600080fd5b506102bd610968565b6040516102ca91906124c7565b60405180910390f35b3480156102df57600080fd5b506102e861098c565b6040516102f591906124f1565b60405180910390f35b34801561030a57600080fd5b50610313610996565b604051610320919061244d565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b919061250c565b6109a9565b60405161035d919061244d565b60405180910390f35b34801561037257600080fd5b5061037b610aa9565b60405161038891906124f1565b60405180910390f35b34801561039d57600080fd5b506103a6610aaf565b6040516103b3919061257b565b60405180910390f35b3480156103c857600080fd5b506103d1610ab4565b6040516103de91906124f1565b60405180910390f35b3480156103f357600080fd5b5061040e600480360381019061040991906123f2565b610aba565b60405161041b919061244d565b60405180910390f35b34801561043057600080fd5b50610439610b66565b60405161044691906124f1565b60405180910390f35b34801561045b57600080fd5b5061047660048036038101906104719190612596565b610b6c565b005b34801561048457600080fd5b5061048d610c06565b60405161049a91906125e4565b60405180910390f35b3480156104af57600080fd5b506104ca60048036038101906104c591906125ff565b610c2c565b005b3480156104d857600080fd5b506104e1610cc3565b6040516104ee91906124f1565b60405180910390f35b34801561050357600080fd5b5061050c610cc9565b604051610519919061263b565b60405180910390f35b34801561052e57600080fd5b50610537610ced565b604051610544919061244d565b60405180910390f35b34801561055957600080fd5b50610574600480360381019061056f9190612596565b610d00565b604051610581919061244d565b60405180910390f35b34801561059657600080fd5b506105b160048036038101906105ac9190612596565b610d56565b005b3480156105bf57600080fd5b506105c8610e6a565b6040516105d591906124f1565b60405180910390f35b3480156105ea57600080fd5b506105f3610e70565b60405161060091906124f1565b60405180910390f35b34801561061557600080fd5b5061061e610e76565b60405161062b91906124f1565b60405180910390f35b34801561064057600080fd5b5061065b60048036038101906106569190612596565b610e7c565b60405161066891906124f1565b60405180910390f35b34801561067d57600080fd5b50610686610ec5565b005b34801561069457600080fd5b5061069d610ed9565b6040516106aa91906125e4565b60405180910390f35b3480156106bf57600080fd5b506106c8610eff565b6040516106d5919061263b565b60405180910390f35b3480156106ea57600080fd5b506106f3610f05565b604051610700919061263b565b60405180910390f35b34801561071557600080fd5b5061071e610f2e565b60405161072b9190612337565b60405180910390f35b34801561074057600080fd5b5061075b600480360381019061075691906123f2565b610f67565b604051610768919061244d565b60405180910390f35b34801561077d57600080fd5b50610798600480360381019061079391906123f2565b611013565b6040516107a5919061244d565b60405180910390f35b3480156107ba57600080fd5b506107c3611031565b005b3480156107d157600080fd5b506107ec60048036038101906107e79190612682565b611134565b005b3480156107fa57600080fd5b506108036111e5565b005b34801561081157600080fd5b5061081a61131d565b60405161082791906124f1565b60405180910390f35b34801561083c57600080fd5b50610857600480360381019061085291906126af565b611323565b60405161086491906124f1565b60405180910390f35b34801561087957600080fd5b50610894600480360381019061088f91906123f2565b6113aa565b005b3480156108a257600080fd5b506108bd60048036038101906108b89190612596565b611540565b005b3480156108cb57600080fd5b506108e660048036038101906108e19190612596565b6115da565b005b3480156108f457600080fd5b5061090f600480360381019061090a9190612596565b61165d565b005b6040518060400160405280600681526020017f4e6f64654149000000000000000000000000000000000000000000000000000081525081565b600061095e610957611771565b8484611779565b6001905092915050565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000600454905090565b601060009054906101000a900460ff1681565b600080600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006109f5611771565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610a75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6c90612761565b60405180910390fd5b610a80858585611942565b610a9d85610a8c611771565b8584610a9891906127b0565b611779565b60019150509392505050565b60095481565b601281565b600a5481565b6000610b5c610ac7611771565b848460026000610ad5611771565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610b5791906127e4565b611779565b6001905092915050565b600d5481565b610b74611d8c565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a0081604051610bfb919061288a565b60405180910390a150565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c34611d8c565b68056bc75e2d63100000811015610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c779061292a565b60405180910390fd5b80600e819055507fdd970dd9b5bfe707922155b058a407655cb18288b807e2216442bca8ad83d6b5600e54604051610cb891906129bc565b60405180910390a150565b60085481565b7f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f81565b601060019054906101000a900460ff1681565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610d5e611d8c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc490612a36565b60405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051610e5f9190612ae9565b60405180910390a150565b600f5481565b600b5481565b600c5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ecd611d8c565b610ed76000611e0a565b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6040518060400160405280600381526020017f475055000000000000000000000000000000000000000000000000000000000081525081565b6000611009610f74611771565b848460026000610f82611771565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461100491906127b0565b611779565b6001905092915050565b6000611027611020611771565b8484611942565b6001905092915050565b6001601060006101000a81548160ff021916908315150217905550600061105730610e7c565b905061106281611ece565b60004790506000600b54600a5461107991906127e4565b90506000810361108857600190505b600081600a54846110999190612b17565b6110a39190612b88565b905080836110b191906127b0565b92506110df600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826120d6565b61110b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846120d6565b6000600c81905550505050506000601060006101000a81548160ff021916908315150217905550565b61113c611d8c565b801515601060019054906101000a900460ff16151503611191576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118890612c05565b60405180910390fd5b80601060016101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159816040516111da919061244d565b60405180910390a150565b6111ed611d8c565b60004790506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161123a90612c56565b60006040518083038185875af1925050503d8060008114611277576040519150601f19603f3d011682016040523d82523d6000602084013e61127c565b606091505b50509050806112c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b790612cb7565b60405180910390fd5b7f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516113119190612d49565b60405180910390a15050565b600e5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6113b2611d8c565b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611420576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141790612de9565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161147f929190612e09565b6020604051808303816000875af115801561149e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c29190612e47565b905080611504576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114fb90612cb7565b60405180910390fd5b7fdd970dd9b5bfe707922155b058a407655cb18288b807e2216442bca8ad83d6b5826040516115339190612ee6565b60405180910390a1505050565b611548611d8c565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00816040516115cf9190612f86565b60405180910390a150565b6115e2611d8c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611651576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164890613026565b60405180910390fd5b61165a81611e0a565b50565b611665611d8c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036116d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cb90613092565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f025dbd6ad989fe1a64db7dc049e29723ff9d35a97d84ae9aab96196f00ec1a00600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516117669190613124565b60405180910390a150565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117df906131c4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611857576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161184e90613256565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161193591906124f1565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a8906132e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a179061337a565b60405180910390fd5b60008111611a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5a9061340c565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adc9061349e565b60405180910390fd5b6000611af030610e7c565b90506000600e5482101590506000601060009054906101000a900460ff16158015611b6757507f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b8015611b705750815b8015611b885750601060019054906101000a900460ff165b15611b9657611b95611031565b5b7f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148015611c3b5750600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c5d57606484600954611c509190612b17565b611c5a9190612b88565b90505b7f000000000000000000000000769f539486b31ef310125c44d7f405c6d470cd1f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16148015611d025750600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611d2457606484600854611d179190612b17565b611d219190612b88565b90505b8084611d3091906127b0565b93506000811115611d7957611d46863083612191565b80600c6000828254611d5891906127e4565b9250508190555080600d6000828254611d7191906127e4565b925050819055505b611d84868686612191565b505050505050565b611d94611771565b73ffffffffffffffffffffffffffffffffffffffff16611db2610f05565b73ffffffffffffffffffffffffffffffffffffffff1614611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff9061350a565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff811115611eeb57611eea61352a565b5b604051908082528060200260200182016040528015611f195781602001602082028036833780820191505090505b5090503081600081518110611f3157611f30613559565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110611fa057611f9f613559565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612005307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611779565b7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612067959493929190613681565b600060405180830381600087803b15801561208157600080fd5b505af1158015612095573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516120ca9291906136db565b60405180910390a15050565b600081031561218d5760008273ffffffffffffffffffffffffffffffffffffffff168260405161210590612c56565b60006040518083038185875af1925050503d8060008114612142576040519150601f19603f3d011682016040523d82523d6000602084013e612147565b606091505b505090508061218b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218290613757565b60405180910390fd5b505b5050565b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121e091906127b0565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461223691906127e4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161229a91906124f1565b60405180910390a3505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156122e15780820151818401526020810190506122c6565b60008484015250505050565b6000601f19601f8301169050919050565b6000612309826122a7565b61231381856122b2565b93506123238185602086016122c3565b61232c816122ed565b840191505092915050565b6000602082019050818103600083015261235181846122fe565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006123898261235e565b9050919050565b6123998161237e565b81146123a457600080fd5b50565b6000813590506123b681612390565b92915050565b6000819050919050565b6123cf816123bc565b81146123da57600080fd5b50565b6000813590506123ec816123c6565b92915050565b6000806040838503121561240957612408612359565b5b6000612417858286016123a7565b9250506020612428858286016123dd565b9150509250929050565b60008115159050919050565b61244781612432565b82525050565b6000602082019050612462600083018461243e565b92915050565b6000819050919050565b600061248d6124886124838461235e565b612468565b61235e565b9050919050565b600061249f82612472565b9050919050565b60006124b182612494565b9050919050565b6124c1816124a6565b82525050565b60006020820190506124dc60008301846124b8565b92915050565b6124eb816123bc565b82525050565b600060208201905061250660008301846124e2565b92915050565b60008060006060848603121561252557612524612359565b5b6000612533868287016123a7565b9350506020612544868287016123a7565b9250506040612555868287016123dd565b9150509250925092565b600060ff82169050919050565b6125758161255f565b82525050565b6000602082019050612590600083018461256c565b92915050565b6000602082840312156125ac576125ab612359565b5b60006125ba848285016123a7565b91505092915050565b60006125ce8261235e565b9050919050565b6125de816125c3565b82525050565b60006020820190506125f960008301846125d5565b92915050565b60006020828403121561261557612614612359565b5b6000612623848285016123dd565b91505092915050565b6126358161237e565b82525050565b6000602082019050612650600083018461262c565b92915050565b61265f81612432565b811461266a57600080fd5b50565b60008135905061267c81612656565b92915050565b60006020828403121561269857612697612359565b5b60006126a68482850161266d565b91505092915050565b600080604083850312156126c6576126c5612359565b5b60006126d4858286016123a7565b92505060206126e5858286016123a7565b9150509250929050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061274b6028836122b2565b9150612756826126ef565b604082019050919050565b6000602082019050818103600083015261277a8161273e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127bb826123bc565b91506127c6836123bc565b92508282039050818111156127de576127dd612781565b5b92915050565b60006127ef826123bc565b91506127fa836123bc565b925082820190508082111561281257612811612781565b5b92915050565b7f57652068617665206578636c756465642074686520666f6c6c6f77696e67207760008201527f616c6c656420696e20666565733a000000000000000000000000000000000000602082015250565b6000612874602e836122b2565b915061287f82612818565b604082019050919050565b600060408201905081810360008301526128a381612867565b90506128b2602083018461262c565b92915050565b7f596f75206e65656420746f20656e746572206d6f7265207468616e203130302060008201527f746f6b656e732e00000000000000000000000000000000000000000000000000602082015250565b60006129146027836122b2565b915061291f826128b8565b604082019050919050565b6000602082019050818103600083015261294381612907565b9050919050565b7f576520686176652075706461746564206d696e696d756e546f6b656e7342656660008201527f6f72655377617020746f3a000000000000000000000000000000000000000000602082015250565b60006129a6602b836122b2565b91506129b18261294a565b604082019050919050565b600060408201905081810360008301526129d581612999565b90506129e460208301846124e2565b92915050565b7f7365744d61726b6574696e6757616c6c65743a205a45524f0000000000000000600082015250565b6000612a206018836122b2565b9150612a2b826129ea565b602082019050919050565b60006020820190508181036000830152612a4f81612a13565b9050919050565b7f57652068617665205570646174656420746865204d61726b6574696e6757616c60008201527f6c65743a00000000000000000000000000000000000000000000000000000000602082015250565b6000612ab26024836122b2565b9150612abd82612a56565b604082019050919050565b6000612ad382612494565b9050919050565b612ae381612ac8565b82525050565b60006040820190508181036000830152612b0281612aa5565b9050612b116020830184612ada565b92915050565b6000612b22826123bc565b9150612b2d836123bc565b9250828202612b3b816123bc565b91508282048414831517612b5257612b51612781565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612b93826123bc565b9150612b9e836123bc565b925082612bae57612bad612b59565b5b828204905092915050565b7f56616c756520616c726561647920736574000000000000000000000000000000600082015250565b6000612bef6011836122b2565b9150612bfa82612bb9565b602082019050919050565b60006020820190508181036000830152612c1e81612be2565b9050919050565b600081905092915050565b50565b6000612c40600083612c25565b9150612c4b82612c30565b600082019050919050565b6000612c6182612c33565b9150819050919050565b7f5472616e73666572206661696c65640000000000000000000000000000000000600082015250565b6000612ca1600f836122b2565b9150612cac82612c6b565b602082019050919050565b60006020820190508181036000830152612cd081612c94565b9050919050565b7f57652068617665207265636f766572207468652073746f636b2065746820667260008201527f6f6d20636f6e74726163742e0000000000000000000000000000000000000000602082015250565b6000612d33602c836122b2565b9150612d3e82612cd7565b604082019050919050565b60006040820190508181036000830152612d6281612d26565b9050612d716020830184612ada565b92915050565b7f4f776e65722063616e277420636c61696d20636f6e747261637427732062616c60008201527f616e6365206f6620697473206f776e20746f6b656e7300000000000000000000602082015250565b6000612dd36036836122b2565b9150612dde82612d77565b604082019050919050565b60006020820190508181036000830152612e0281612dc6565b9050919050565b6000604082019050612e1e6000830185612ada565b612e2b60208301846124e2565b9392505050565b600081519050612e4181612656565b92915050565b600060208284031215612e5d57612e5c612359565b5b6000612e6b84828501612e32565b91505092915050565b7f57652068617665207265636f766572656420746f6b656e732066726f6d20636f60008201527f6e74726163743a00000000000000000000000000000000000000000000000000602082015250565b6000612ed06027836122b2565b9150612edb82612e74565b604082019050919050565b60006040820190508181036000830152612eff81612ec3565b9050612f0e60208301846124e2565b92915050565b7f5765206861766520696e636c7564696e672074686520666f6c6c6f77696e672060008201527f77616c6c656420696e20666565733a0000000000000000000000000000000000602082015250565b6000612f70602f836122b2565b9150612f7b82612f14565b604082019050919050565b60006040820190508181036000830152612f9f81612f63565b9050612fae602083018461262c565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006130106026836122b2565b915061301b82612fb4565b604082019050919050565b6000602082019050818103600083015261303f81613003565b9050919050565b7f736574526576656e756557616c6c65743a205a45524f00000000000000000000600082015250565b600061307c6016836122b2565b915061308782613046565b602082019050919050565b600060208201905081810360008301526130ab8161306f565b9050919050565b7f57652068617665205570646174656420746865205261726b6574696e6757616c60008201527f6c65743a00000000000000000000000000000000000000000000000000000000602082015250565b600061310e6024836122b2565b9150613119826130b2565b604082019050919050565b6000604082019050818103600083015261313d81613101565b905061314c6020830184612ada565b92915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006131ae6024836122b2565b91506131b982613152565b604082019050919050565b600060208201905081810360008301526131dd816131a1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006132406022836122b2565b915061324b826131e4565b604082019050919050565b6000602082019050818103600083015261326f81613233565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006132d26025836122b2565b91506132dd82613276565b604082019050919050565b60006020820190508181036000830152613301816132c5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006133646023836122b2565b915061336f82613308565b604082019050919050565b6000602082019050818103600083015261339381613357565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006133f66029836122b2565b91506134018261339a565b604082019050919050565b60006020820190508181036000830152613425816133e9565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006134886026836122b2565b91506134938261342c565b604082019050919050565b600060208201905081810360008301526134b78161347b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006134f46020836122b2565b91506134ff826134be565b602082019050919050565b60006020820190508181036000830152613523816134e7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b60006135ad6135a86135a384613588565b612468565b6123bc565b9050919050565b6135bd81613592565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135f88161237e565b82525050565b600061360a83836135ef565b60208301905092915050565b6000602082019050919050565b600061362e826135c3565b61363881856135ce565b9350613643836135df565b8060005b8381101561367457815161365b88826135fe565b975061366683613616565b925050600181019050613647565b5085935050505092915050565b600060a08201905061369660008301886124e2565b6136a360208301876135b4565b81810360408301526136b58186613623565b90506136c4606083018561262c565b6136d160808301846124e2565b9695505050505050565b60006040820190506136f060008301856124e2565b81810360208301526137028184613623565b90509392505050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b60006137416010836122b2565b915061374c8261370b565b602082019050919050565b6000602082019050818103600083015261377081613734565b905091905056fea2646970667358221220d27eecf47fd26e1a172780e5093d395abe48026a3c958d00d71fe3f1ec7d277b64736f6c634300081300330311fa74668e828d9b8ed0d97506621a562fd814bd2a7d52727a62b7d9f933fb6d038c75431c5903506a223f7a74851056de148fb8d59844778d9567e286925bae2303ee6fabc3dd32e28dba5ed429be0640c2a5016b73b8dfabe61df9858a1022f9e303e6a0b57c93804db480c59d2249467cb1269a963814166eed1fef478bf4006cd3035e2b659c7112adc57f90f4ca932d3ba3ed3ce394ae2677208d21e2b0bcd32a27030e8334d3d655de08a365acc2e968424c7405fdd83ef0e7c1d5cbe1dbe8beb0c7038aa6f13acce086ca604cefde1b88e96b5fb2b123b1afb4cdd004cddab7aae9d4030f2f5b1f6e082d4b537fdd6718d030143ade8b9174fee185cab9d3b575746b270323474ead2b004fef98fe7bd2a04af4ae2a2aadb293caaee56a27b28e5464cb3903e2e65e7f8a5502d63dc3f0b3032f280e6e0d8d0b415ced0ab19d281641bed51403a3eb96156f9461e964f82219a771e1f043444a2f7ecd3431fd1d5a089ec50898033a246f6936fa5d49f969d82a88fb027baab7faa7854c50fa82352d3ac017a48d03acea55c0df89b2e49de2231409ff59a59b379a70dac91238e520d41b7335e3c20315d5fdc515ec48369e190b1f80d1a9a897028e812c576e357568a6e9cd93c9e00345db9244a549b15436479b89a6463fb7f06e684dad375644bb6096fec42768bd03a03ea9a2388f7c25081d9881d92b7347077e7df47e10446703047bc6e6fe39db03f8db48aa1acbaf68a59dfcfaa3fa71fb4438349c86ec3ab8b137b98def2d16a303e8271464cf201550dbbd7e3936b36a4cf1b8e2e512c24c2dd13d232b91adec320387c2eae74e706584550e3332b43fe771937259233fc4fd31ed84b6187304ba8a03296233901e5b715da077345c14358ea8b738ef7524163f83ca9b9e776f3abfef0374d504d55037f01b087150ddad81cddf750627595603ad99ec90c3860f1bea7203c3f7761c6bcc18d14db49839d8790cf6e8c0e0542e9321d6c6c3f9e641275384038cdb5beca55578234ed873b482b142329ede677f018af00926787c56ebe91762039454eb8dd0baef52247debd18276b98c966217efa2554f16e2802c8d157a3c98039fe7ed1ecf5e80142f28aa765b6c7d384cbb6c70d48cf70b0e9245264863427c0394593851b9598ccd80ee9210fecfab6250697b594119a432330a739aee0396b60375652ae0487eb6ff5c4fddf8422b2b47715673124b76afac29b6ce9b859e533903a78879bb02d5107186da77f3c3f075f8879a6f89b860feda9e23598e226b8d19037323ca693db714afc7e5426aa9557acebfe4aad3686f8d78a94f60d1c16e3c59036cde0e9b0abae73053f03450941bf83420e87cc16ffc1c377a80083092e648fc032f2968ae6fa18b4e8d282408ad2d67b368dfae73fb6b899762a7d88781ef8a8403ba20168134ee5885b5084c275ed6b057225672d218bef722ec7a4f4a733c227403e7f98cb1b192d61c253cb11e70a08eb729309d9b6e41eb30e2b3fd0d651576cb03b4eb9e421ac7662ffac3509f4de17876f6ff5f0db5d1628ac2c0e49cdca6c40a033cd35f5af07f7ffbbb33e27c0febb3f22e951e8271f309d12590899e3ed1aa780345371d6e9a4b50c16d027ab9d0e4236018ea004c4e636bfc84f88053cc05317d0363f8972e7441f055e03109251f4e02c30cbd8e50b007b53a6d2829659c0f38fb039b82e36c1ab3cf29ec1686df1bd9bc5de5980c367d5117ff324e16fb4d4f7d1c00581f02a2a9dc9783e659dd581c432eac822684e329fe12c2fa2d76faa6d3677aa648c2daf1bddbb524e200581f02b25bfeee9961cd095ff475460089c219e190f1fc627a7947a00fd226b70949e97b546aa96a2b701200581f0247aa0a9aa5d4ccda8b8cbea296d48b844fcda3afec65969d3ace7c55fc6b4829a2241af62c000000581f0206e2630dd63025fe2c96d6e08b5a66d2f634de5136dd92d70ab805662844490e353928a0777acb5300581f02ac9afba90aaf69cd3643aba29febe54e300625ff68d5b72d1d402c41c2724a04d46b9f8ec736275a9c00581f02dd8a1fd2a7d3216d7080476ab347a4be9522d714a2749af489db729189c14a0163c50a31273573ca000389da318d85c4f14b8489520ff472ff931e22c40a5a906ae55f0bb6179dbd514e00581f0214511c204190943b6d091a7130ac265ae41baeca6909e8d4787ff7047163493f1ea7d9297125c3830219caa30369fd996de25ea109a8a0e827533513522752a466e6de513214e7bab7bf52cd6903998e18aadd4995f048cde0a3e9fd9f199853a371f4681310c33ddc54bf582d610312f3d13b55acd138a3e4cc44afd52461c35abcf40a3d1db549630c004c889b3b0395f1f6847d9bafb3424fcb49e86f17d997be4c0afcbcc1cfca6950114598969a035cf0f34335d20052ea0f05b922fc3be3b0234cb993e8a39ffadd1c76b092fed80219ffff035b6e420fa9f2679decaa39a3e008ed1627f4bd8ce3da94d4611f3028aa4a1e2e0341db7fad6d6652e29068d310503034351a1adb6a6309617a37896ebddc7124360219ffff0219ffff05581e033b73ac7e71f2579d412e82f5c65b0810c5c58eeec2831f612c959b72b007011937ad03c34c3a17c2ce58942a817938ffb6b4f4e23b2a3789efc9bd190428f8601e7ac40340e84b37bc140d75e56f32bb2eaf66ec41a51acbbda58201522deca067e3a6650219aef203a73ccc93f4def6482b69e377675c5c5f15bb19f0e8cba522aa85bb3d10667b49036d3a52ab6d57d4cc41fcd050404f7e4daf8e6b71db407cb2c59c7f14e210a88503af5450350c7924099037c8cf8c5cb47e9b491017fc8621b7cb2b64542207565c0328972dd76ed42d62a3f34574f58e4aff376126706655a7ed9df14290922392bc03db5b7316d0c92c2aecca4a87a6ef59f7ca6b1a594feb78a14cd6ecd945220f2703bc476c64efdb59b692bf4c7b5ba359f4fbb74adf9a64a9dd6bade20a39d67c85037bc8f4e249f7b2e7c196b24455e0c055fcb78cdc955fba2ce51200fe0c34f159035bb9ef998ea63e535632d53cc9d68ffe5fd3485f9bdeb3c6a5fd2203ed52cd380319ed8b396c79308aca95868d6707d9e964c368d014569f7a91c5ccb4cc098afc03644dbaefbb92b2bd0dcd26d887cd947949c01af0533f9e0b9c1a861bb0d2858f0219ffff03c4d2723105987435cdc3b2b0e6cde1644a0254c5970f5ff343537d78659edf3e03e2bc6f5e6c6ba9794790bfa7d69eabc1aedf266931500257a96137582a215cd903c6c7d54d2a3778f022cd96be92be1935189d11b9d28977dca533c804e517251f03390c300a552a191a03d9cf2652e482a1814967c3f882791bda494f9a04fb05b203acfc0e2bf74e56f51c85a8f2621e8b6255eb63868e9da0c0a0fd660ee9de461e03bf6957e517110e64cbbe3f98a3b5ac7db2520e16a9667a08a69313f1f8440bae03ec9efd055aeb3e69e370a3335d731b546e669f5b725e143a582b52b5284c52ea032e3ba397a69a664ea5028dfa839ab2ea01690b24fc037944cd3dc7d6d7b8ef1403bb239e51c54c91689d58ecb224613ad39f45d9033aceb586a616b849e8a90ff003f74c0e618f3873055ddaece4ca57510362d94f63c53506e9097a91d68d1cdcc903650b0f70db07a1c33589f61a6969dfa1a23e8adac8e9bd05b3468e5f3cee1175032e202eee47fc1263d930ce668cecb7658870360cb8674731ec4c3fc39e2fd10e0325c40ed0eb0e104406dff9659a2572d72e31463d045478762d1519d445e1958e0219ffff039820eeeb7264e1dcfdf75a5673077637f064f5e7dbcf2d960a40187d2a9903bc030c64607f39da52f1a213ff0e4ecadc11475a0483f48992623e93336bb1eaa02d0322a38b880e0fef7a4b6a9de32286ba55b67f1ec66c436b7d456a405caaaf1e5b0321ebedc210b139dcd6fd442c13e865e14e0285dde5eaad16fa7fe596b83a753c03e11c3b0cabdb1539f032904ac6b05321c61f828922d38ffe2ac3dd4a1b48539503e56429d4aff77e0ec12efd6d6238c887918117e758d97a1433c071df6cefbb27033b53ba493bf89cfe28c7e2595ac89923b0743332e924702cfc5387078966949603e94498cac9bc65142040af064b56f7c4604a6e67fe7f7b622e1035d97193e638039d1a28a1120be3cb963db68590708d07fbf65c79749519ecf752d37a43822356033b66189a2ce334c41fb78975f73cda8b90e762ff179bb7fad60feca86fbe7f0903f33b23fb98e13621687e6545627ad672d1c52010452c0b936552190603428f34038cb0b40b18a80857fb9096133fd0839a16d27bcbcb148f672cfbe2ffde3c299f03023743dc9c349322e8e884ec6838de47c12dd662cb9b0a831f073ff3029ddcda0219ffff0317b3e3a35cba2bc4692d6e1be577ce194e0b53c62d1b7ac1352c3ea121f5900e03045ad98e08fc90e8eb6aeba40ba25edc21e60995228bb33d238ec72dfd0bf3d703e462374993de623f06bf6faa95e52dec12f6d44fc8cdfd490f72c3316eeae54e03b78389e164d1833c6dd9048b66785a4a4bde72a8a1f8527d8afc8bf8e461d26603876ceaca99f3da6356ec82f6f583de818c3129c9f60919ead55658996a432111038af4195488aabc558cb4bee4716353ff827faba061e2eda8baf6fcd19bf0380b03dbae8de157a5e4f491aaa7dff3546dccbc7ff2fb5a26ac1a7b2d7ff06439d5c5037d6a580b85b0f0cb5a9e3c7b15ef9a53f8c3a9c8003685dc8c9caf99b8dddd040311f1f97402b3f2fa59acceb23152def4580caa7a59d8fcc4976637042f1af60803aaf7230b88a3a869cbfdcc8736bce3b27c1324c6ee2f76958d437fb7f5095e4a0219ffff0354d1bdc62f7a022b804c8f448778f9f0b75f0b40009f1f2e0917147d6584473e0304852077d0510837c8cfdaf3cff6c2a5140152a53cc0b50164fd461403cba92703b23e78c5db07d012e5e2c22a762aaaa19b24b730462e9b79c347d429cd966e03034d53e5fb828a1708d8973327203635585b67696c80fc540474387566fc14a69b03c5f2aed363ef3a97124d380efe40e2b8e7a4ecb42449bbfbdbd96904118f41a703841fa0a72b41d1d12e1371b579a6912201e43eaf1deace29b09bf678696b08ad03e72207e304ebafeb611ec42070b051565fae388a5cfe50dcf04625fae41913e1036c75cc9bfc645b41018bbc01dbcce5e9ffa0d0162100847773b1f81a5081b63903c1155735d5ce63f19c0545e3777ce0ce5b7f2c77b9dca6bb520a2d6d99087e0303d40b0ebbd312ad47acc082cdfd10799d3aaae1eb75b2b69577d9d24fa025ab5d03c0e2d102e14799137e481d219d1d23156ff1195b27d461c9b7586eaf4381556f033aeafe10931399d7a7f4f64907671f0677cf4306444f749bd2ccf8c2e289572803f164a496c22d58e9ae69323916fed39aab287a213af35f0512380f63b7501313033a2bf2c2391fa010dc1f6d683e97fc49a9594f6da382752e35fc042b8c0b193b03b44859da281396836ff636601839e4fcbefaf9c4e581023f8a21096bb3d9e7320376abf2ce7231c5fdd44b5cb7d91062d88293987e40a4860af1df1729a680f48503f4671c5130a95e7590281818bbaf4908564625b5d19c77f84c42733abf62a2500322c25c2e7386449e58bc3806675c5cb998e8b729bd55f5ab7ec1bb5d9a929bf003151e886862223c33fe6a69d9384eabc9fde70b7ea61337f8c0e2b9e4cc98ee4a03daa90db87f3af5951cfa9b557a4502bb4d9619fbf163cd745cc4e7f4052087ba03507a40922c3be5b9bba681fd65580257b5fd67754d422d6279769250f4ca1c4203f213ded0306781274316eaa92bdab8b8a9fc937dc5c5f45d85a1b48eae60cd76035089e2a0bb6dda4f4ae0976a732ff2387c75c6476146de6b7c7f00fb668daa890330e2efe8e199612fc237f731e4734769114ddc7dc0148f1e4e3b149942edee4c039631404c446e0924e614a554caf964f47daf5ddf514c9ab373c724edf160160303c514213df3aa804bba4ad2b4589c96ef7ec51a11b661b846bcd8ae073f84afde03fdc8ac3428a07a404272a1449683bf1858c62671a5349357d90e91065fb164a40355b2adeca1483501252aec88133a3a7be01e98231dd25e9c00c53e96d580370a03f41d10618d4ed8d909cf1c1476bacd35f6a66b3e492cd8ca1104ba61261acfca03db29ddbfd4cd170a178538234052c0096148fd413b216b5b09e24d48ab551c4103c17e94b1d81e4fc00f45c529b2f389743eae0786c37db7704fb17221ce4fa38c03dc800ff539b441c848d82180909ab8b89066ba2624d9d7dd7b2146bc091d4403030dc1e6ffaa8974175e58292b25d81b67f8ffa44fd5e66b40e2b17d46cfeba0200395d51a9cc6ca74e33b7bb6be73d62cf8c2256b5fe304a038ccf5acd0267e1bc6033c07de6f47ddd7101ab7cc0ffc21e13f2b8ab07776f15f8563ed4db1d2f7248b05581e03357b8f3e3324545c3441bbc326536e976b477f54c0396fbf2275f22450040305581e03f6b2a9dd2fd397b2da1d48c3821385a3d2a1e7d253941c1fe96ca074200c0142138805581e0322916ebe199c709563183b1a1ba0075e0bbb059fbb5722a54a98be152004010338ee288da59b8aff55edac121b4eed9164a0f49540c6ea27e24dbf029d484f16035bce1c56d57199b7483df5af9ce1dfffce058342a1dfd401ae785a132384539105581e0396206fae2d9cef46f97598940792a96f1daeae7801eeb3db272c25e93004010383ac0ccee3a78fa30406096d4d663281b3513be9e4d3ba2b9b4c34035a1ee91d05581e03b9413f9b04ab16c9ac60f594dbf95eef5f46ae02d2d465b615defe4200040105581e03d4e36cac869cb50124c4c9f1362a5784c90402363c19f3943495eabef0040105581e0322d571ce2aee6930ce7fadc7d3625e528872ce487b9455636b788af580040205581e033fa97f60cc1a142d31adf742b1e72d6aa14eb578f45f0e7639f328b0e0040104593f816080604052600436106102c95760003560e01c8063602955f111610175578063a9640457116100dc578063bd6acfa611610095578063dae254dd1161006f578063dae254dd1461095d578063e529ee951461097d578063e89133b2146109b1578063f851a440146109e557600080fd5b8063bd6acfa6146108d4578063be4b8534146108f4578063c0511c251461091457600080fd5b8063a964045714610815578063ac9650d814610835578063b3ab15fb14610855578063b7b9abe614610875578063b918ea1214610895578063bc04f0af146108b557600080fd5b806393c6b5ad1161012e57806393c6b5ad1461076a5780639459f2861461078a578063a608d79a146107aa578063a6f74b14146107ca578063a7236197146107e0578063a747e190146107f557600080fd5b8063602955f114610686578063625540ea146106a65780636426177d146106da5780636464cdb1146106fa5780636c003a9b1461071a5780636ea056a91461074a57600080fd5b8063357aa4e1116102345780634a9fc49c116101ed578063570ca735116101c7578063570ca735146105f25780635a89233a146106125780635acb5da9146106325780635dd077e31461066657600080fd5b80634a9fc49c1461056a5780634dd18bf51461059e5780634f39059c146105be57600080fd5b8063357aa4e11461048e578063372500ab146104ae578063397d9663146104d35780634070a348146104f357806341af8cb21461051357806346e8de4f1461053357600080fd5b80631911e893116102865780631911e893146103d85780631dac30b0146103f8578063267822471461041857806327409b3c146104385780632c68ea9c146104585780632c9d737a1461046e57600080fd5b8063079c077e146102ce57806307e6754c146103015780630896f2c61461034d5780630dc3d0ff146103815780630e18b681146103a157806318d12321146103b8575b600080fd5b3480156102da57600080fd5b506102ee6102e93660046136e0565b610a0a565b6040519081526020015b60405180910390f35b34801561030d57600080fd5b506103357f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a281565b6040516001600160a01b0390911681526020016102f8565b34801561035957600080fd5b506103357f0000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d081565b34801561038d57600080fd5b50600454610335906001600160a01b031681565b3480156103ad57600080fd5b506103b6610a62565b005b3480156103c457600080fd5b506102ee6103d336600461371d565b610ba8565b3480156103e457600080fd5b506102ee6103f3366004613748565b610c32565b34801561040457600080fd5b50600354610335906001600160a01b031681565b34801561042457600080fd5b50600154610335906001600160a01b031681565b34801561044457600080fd5b506102ee610453366004613765565b610cb0565b34801561046457600080fd5b506102ee60065481565b34801561047a57600080fd5b506102ee6104893660046136e0565b610d3f565b34801561049a57600080fd5b506102ee6104a9366004613748565b610d7e565b3480156104ba57600080fd5b506104c3610d8a565b60405190151581526020016102f8565b3480156104df57600080fd5b506103356104ee366004613748565b61109d565b3480156104ff57600080fd5b506102ee61050e3660046136e0565b611126565b34801561051f57600080fd5b506102ee61052e36600461379a565b611165565b34801561053f57600080fd5b5061055361054e3660046137b6565b6111f7565b6040805192151583526020830191909152016102f8565b34801561057657600080fd5b506103357f000000000000000000000000be1c919ca137299715e9c929bc7126af14f7609181565b3480156105aa57600080fd5b506103b66105b93660046137e4565b61124b565b3480156105ca57600080fd5b506103357f000000000000000000000000d533a949740bb3306d119cc777fa900ba034cd5281565b3480156105fe57600080fd5b50600254610335906001600160a01b031681565b34801561061e57600080fd5b506103b661062d3660046137b6565b6112d0565b34801561063e57600080fd5b506103357f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a581565b34801561067257600080fd5b506102ee610681366004613765565b61137b565b34801561069257600080fd5b50600754610335906001600160a01b031681565b3480156106b257600080fd5b506103357f000000000000000000000000569f5b842b5006ec17be02b8b94510ba8e79fbca81565b3480156106e657600080fd5b506103b66106f53660046136e0565b61142b565b34801561070657600080fd5b506103b66107153660046137e4565b611533565b34801561072657600080fd5b5061072f6115b1565b604080519384526020840192909252908201526060016102f8565b34801561075657600080fd5b506103b6610765366004613801565b611696565b34801561077657600080fd5b506102ee6107853660046136e0565b6116e1565b34801561079657600080fd5b506103b66107a53660046137b6565b611720565b3480156107b657600080fd5b506102ee6107c536600461379a565b6117cb565b3480156107d657600080fd5b506102ee60055481565b3480156107ec57600080fd5b506102ee611813565b34801561080157600080fd5b506102ee61081036600461379a565b6118a3565b34801561082157600080fd5b50610335610830366004613748565b6118e1565b61084861084336600461381f565b611958565b6040516102f891906138f0565b34801561086157600080fd5b506103b66108703660046137e4565b611aad565b34801561088157600080fd5b50610553610890366004613952565b611b2b565b3480156108a157600080fd5b506104c36108b0366004613952565b611b7e565b3480156108c157600080fd5b506103b66108d0366004613801565b5050565b3480156108e057600080fd5b506102ee6108ef3660046136e0565b611bbd565b34801561090057600080fd5b506102ee61090f366004613748565b611c1e565b34801561092057600080fd5b5061094861092f3660046137b6565b6008602052600090815260409020805460019091015482565b604080519283526020830191909152016102f8565b34801561096957600080fd5b506103b66109783660046137e4565b611d9c565b34801561098957600080fd5b506102ee7f000000000000000000000000000000000000000000000000000000000000001381565b3480156109bd57600080fd5b506103357f0000000000000000000000004e3fbd56cd56c3e72c1403e103b45db9da5b9d2b81565b3480156109f157600080fd5b506000546103359061010090046001600160a01b031681565b6000610a14611e1a565b6002546001600160a01b03163314610a485760405163973d02cb60e01b8152600401610a3f90613974565b60405180910390fd5b610a528383611e8f565b9050610a5c61201c565b92915050565b6001546001600160a01b0316610ab15760405163c50656df60e01b815260206004820152601360248201527214195b991a5b99c818591b5a5b881d5b9cd95d606a1b6044820152606401610a3f565b6001546001600160a01b03163314610b005760405163973d02cb60e01b81526020600482015260116024820152702737ba103832b73234b7339030b236b4b760791b6044820152606401610a3f565b6001805460008054610100600160a81b0319166101006001600160a01b03808516820292909217928390556001600160a01b031990931690935560405191900490911681527f54e4612788f90384e6843298d7854436f3a585b2c3831ab66abf1de63bfa6c2d9060200160405180910390a1604051600081527fa728e84b447788a55ff664fbfb5c3983925f88b80b672a1b0b8271c94b22df359060200160405180910390a1565b6000610bb2611e1a565b6002546001600160a01b03163314610bdd5760405163973d02cb60e01b8152600401610a3f90613974565b6000610be88461202f565b90506000610bf7600183611e8f565b90506000610c05828661243a565b50905080610c265760405163c50656df60e01b8152600401610a3f9061399a565b50915050610a5c61201c565b600080610c3e836118e1565b6040516370a0823160e01b81523060048201529091506001600160a01b038216906370a0823190602401602060405180830381865afa158015610c85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca991906139d1565b9392505050565b6000610cba611e1a565b6002546001600160a01b03163314610ce55760405163973d02cb60e01b8152600401610a3f90613974565b6000610cf1858561262b565b90506000610d00600183611e8f565b9050600080610d0f838761243a565b9150915081610d315760405163c50656df60e01b8152600401610a3f9061399a565b509092505050610ca961201c565b6000610d49611e1a565b6002546001600160a01b03163314610d745760405163973d02cb60e01b8152600401610a3f90613974565b610a528383612981565b600080610c3e8361109d565b6000610d94611e1a565b6002546001600160a01b03163314610dbf5760405163973d02cb60e01b8152600401610a3f90613974565b600760009054906101000a90046001600160a01b03166001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610e0f57600080fd5b505af1158015610e23573d6000803e3d6000fd5b50506040516370a0823160e01b815230600482015260019350600092507f0000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d06001600160a01b031691506370a0823190602401602060405180830381865afa158015610e92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb691906139d1565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000d533a949740bb3306d119cc777fa900ba034cd5216906370a0823190602401602060405180830381865afa158015610f20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4491906139d1565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f0000000000000000000000004e3fbd56cd56c3e72c1403e103b45db9da5b9d2b16906370a0823190602401602060405180830381865afa158015610fae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd291906139d1565b60035490915061100d907f000000000000000000000000d533a949740bb3306d119cc777fa900ba034cd52906001600160a01b031684612cb1565b600354611045907f0000000000000000000000004e3fbd56cd56c3e72c1403e103b45db9da5b9d2b906001600160a01b031683612cb1565b60408051851515815260208101859052908101839052606081018290527fc3a2bfdd669309fab32bff187e250ae46596032d10653edb1c04abc3988c44459060800160405180910390a150505061109a61201c565b90565b6000808260018111156110b2576110b26139ea565b905060028110611101576040516354a1577760e11b8152602060048201526019602482015278417373657420696e646578206f7574206f6620626f756e647360381b6044820152606401610a3f565b6009816002811061111457611114613a00565b01546001600160a01b03169392505050565b6000611130611e1a565b6002546001600160a01b0316331461115b5760405163973d02cb60e01b8152600401610a3f90613974565b610a52838361262b565b600061116f611e1a565b6002546001600160a01b0316331461119a5760405163973d02cb60e01b8152600401610a3f90613974565b60006111a58361202f565b905060006111b4600183611e8f565b905060006111c58262093a8061243a565b509050806111e65760405163c50656df60e01b8152600401610a3f9061399a565b509150506111f261201c565b919050565b600080611202611e1a565b6002546001600160a01b0316331461122d5760405163973d02cb60e01b8152600401610a3f90613974565b61123a8362093a8061243a565b9150915061124661201c565b915091565b60005461010090046001600160a01b0316331461127b5760405163973d02cb60e01b8152600401610a3f90613a16565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527fa728e84b447788a55ff664fbfb5c3983925f88b80b672a1b0b8271c94b22df35906020015b60405180910390a150565b6002546001600160a01b031633146112fb5760405163973d02cb60e01b8152600401610a3f90613974565b612710811115611346576040516354a1577760e11b8152602060048201526015602482015274536c697070616765206e6f7420696e2072616e676560581b6044820152606401610a3f565b60068190556040518181527f0f75d64b7a2af497eeb31639b1ee2e88f49e0e58b1eaee9d225e8f2d8553c177906020016112c5565b6000611385611e1a565b6002546001600160a01b031633146113b05760405163973d02cb60e01b8152600401610a3f90613974565b6113ba8383612db9565b6114075760405163c50656df60e01b815260206004820152601b60248201527f57697468647261772066726f6d20636f6e766578206661696c656400000000006044820152606401610a3f565b600061141460018561313f565b90506114208582612981565b915050610ca961201c565b611433611e1a565b60005461010090046001600160a01b031633146114635760405163973d02cb60e01b8152600401610a3f90613a16565b600061146e8361109d565b6004549091506114899082906001600160a01b031684612cb1565b6004805460405163bc04f0af60e01b81526001600160a01b03848116938201939093526024810185905291169063bc04f0af90604401600060405180830381600087803b1580156114d957600080fd5b505af11580156114ed573d6000803e3d6000fd5b505050507f79b317be1efd69d6bf9fcbcd2f3353788aadfc2d546bf7ed03dabab1488b28178383604051611522929190613a57565b60405180910390a1506108d061201c565b60005461010090046001600160a01b031633146115635760405163973d02cb60e01b8152600401610a3f90613a16565b600480546001600160a01b0319166001600160a01b0383169081179091556040519081527f59dea4585e1df1b7a22cafd3486f3c6080e7bd27c1450af2f11f192cb637658b906020016112c5565b6000806000806000600760009054906101000a90046001600160a01b03166001600160a01b031663d6f192626040518163ffffffff1660e01b8152600401600060405180830381865afa15801561160c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116349190810190613b44565b915091508060008151811061164b5761164b613a00565b602002602001015194508060018151811061166857611668613a00565b602002602001015193508060028151811061168557611685613a00565b602002602001015192505050909192565b61169e611e1a565b60005461010090046001600160a01b031633146116ce5760405163973d02cb60e01b8152600401610a3f90613a16565b6116d9823383612cb1565b6108d061201c565b60006116eb611e1a565b6002546001600160a01b031633146117165760405163973d02cb60e01b8152600401610a3f90613974565b610a52838361313f565b6002546001600160a01b0316331461174b5760405163973d02cb60e01b8152600401610a3f90613974565b612710811115611796576040516354a1577760e11b8152602060048201526015602482015274536c697070616765206e6f7420696e2072616e676560581b6044820152606401610a3f565b60058190556040518181527f32c890dda1c5857193234f885837d184a81efbb9b84bd7697acd063461950bb1906020016112c5565b60006117d5611e1a565b6002546001600160a01b031633146118005760405163973d02cb60e01b8152600401610a3f90613974565b6118098261202f565b90506111f261201c565b6040516370a0823160e01b81523060048201526000907f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a56001600160a01b0316906370a0823190602401602060405180830381865afa15801561187a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189e91906139d1565b905090565b60006118ad611e1a565b6002546001600160a01b031633146118d85760405163973d02cb60e01b8152600401610a3f90613974565b611809826132ea565b6000808260018111156118f6576118f66139ea565b905060028110611945576040516354a1577760e11b8152602060048201526019602482015278417373657420696e646578206f7574206f6620626f756e647360381b6044820152606401610a3f565b600b816002811061111457611114613a00565b60608167ffffffffffffffff81111561197357611973613a6e565b6040519080825280602002602001820160405280156119a657816020015b60608152602001906001900390816119915790505b50905060005b82811015611aa657600080308686858181106119ca576119ca613a00565b90506020028101906119dc9190613c09565b6040516119ea929190613c50565b600060405180830381855af49150503d8060008114611a25576040519150601f19603f3d011682016040523d82523d6000602084013e611a2a565b606091505b509150915081611a7557858584818110611a4657611a46613a00565b9050602002810190611a589190613c09565b8260405163070c497560e21b8152600401610a3f93929190613c60565b80848481518110611a8857611a88613a00565b6020026020010181905250505080611a9f90613cbe565b90506119ac565b5092915050565b60005461010090046001600160a01b03163314611add5760405163973d02cb60e01b8152600401610a3f90613a16565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527fb3b3f5f64ab192e4b5fefde1f51ce9733bbdcf831951543b325aebd49cc27ec4906020016112c5565b600080611b36611e1a565b6002546001600160a01b03163314611b615760405163973d02cb60e01b8152600401610a3f90613974565b611b6b848461243a565b91509150611b7761201c565b9250929050565b6000611b88611e1a565b6002546001600160a01b03163314611bb35760405163973d02cb60e01b8152600401610a3f90613974565b610a528383612db9565b6000611bc7611e1a565b6002546001600160a01b03163314611bf25760405163973d02cb60e01b8152600401610a3f90613974565b6000611bfe848461262b565b90506000611c0d600183611e8f565b90506000610c058262093a8061243a565b600080611c2b60006118e1565b905060006001600160a01b037f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a516635e0d443f826001611c6a866135ae565b611c7590600a613dbb565b6040516001600160e01b031960e086901b168152600f93840b60048201529190920b60248201526044810191909152606401602060405180830381865afa158015611cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce891906139d1565b90507f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a26001600160a01b031663cc2b27d782866001811115611d2c57611d2c6139ea565b6040516001600160e01b031960e085901b1681526004810192909252600f0b6024820152604401602060405180830381865afa158015611d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9491906139d1565b949350505050565b60005461010090046001600160a01b03163314611dcc5760405163973d02cb60e01b8152600401610a3f90613a16565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f2bebe3801c306ffa893b76894d5baf1cef32807aa974f6449595a9c2392f6174906020016112c5565b600160005460ff166002811115611e3357611e336139ea565b14611e785760405163c50656df60e01b8152602060048201526014602482015273131bd8dac8185b1c9958591e4818db185a5b595960621b6044820152606401610a3f565b600080546002919060ff19166001835b0217905550565b600080611e9b846118e1565b9050611ea56136b2565b8381866001811115611eb957611eb96139ea565b60028110611ec957611ec9613a00565b602002015260065460009061271090611ee29087613dca565b611eec9190613de9565b9050611f1a837f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a5600061367f565b611f45837f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a58761367f565b604051630b4c7e4d60e01b81526001600160a01b037f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a51690630b4c7e4d90611f939085908590600401613e0b565b6020604051808303816000875af1158015611fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd691906139d1565b93507f9138527697be6b50d0aa8fe0ccbba244d742c2477a875624affea814e564137386868660405161200b93929190613e43565b60405180910390a150505092915050565b600080546001919060ff19168280611e88565b604080518082019182905260009182919060099060029082845b81546001600160a01b031681526001909101906020018083116120495750505050509050600061207960016118e1565b90506000612086826135ae565b60ff1690506000805b60028110156121ce578681600281106120aa576120aa613a00565b6020020135156121bc5760006120d58683600281106120cb576120cb613a00565b60200201516135ae565b60ff16905060006120e68286613e64565b90506120f381600a613e7b565b89846002811061210557612105613a00565b60200201356121149190613dca565b61211e9085613e87565b935061216287846002811061213557612135613a00565b60200201517f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a2600061367f565b6121b987846002811061217757612177613a00565b60200201517f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a28b86600281106121af576121af613a00565b602002013561367f565b50505b806121c681613cbe565b91505061208f565b5060007f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a26001600160a01b031663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa15801561222f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225391906139d1565b612265670de0b6b3a764000084613dca565b61226f9190613de9565b90506000612710600554836122849190613dca565b61228e9190613de9565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038716906370a0823190602401602060405180830381865afa1580156122d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122fc91906139d1565b604051630b4c7e4d60e01b81529091506001600160a01b037f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a21690630b4c7e4d9061234d908c908690600401613e9f565b600060405180830381600087803b15801561236757600080fd5b505af115801561237b573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201528392506001600160a01b03891691506370a0823190602401602060405180830381865afa1580156123c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e991906139d1565b6123f39190613e64565b97507f517ddf7483018304eeee2bc47b77b2f2b8b4f0519936b5c1bc4a78e808522c998989604051612426929190613e9f565b60405180910390a150505050505050919050565b6000806124887f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a57f000000000000000000000000be1c919ca137299715e9c929bc7126af14f760918661367f565b6007546124c0907f000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091906001600160a01b03168661367f565b604051636e553f6560e01b8152600481018590523060248201527f000000000000000000000000be1c919ca137299715e9c929bc7126af14f760916001600160a01b031690636e553f6590604401600060405180830381600087803b15801561252857600080fd5b505af115801561253c573d6000803e3d6000fd5b50506007546040516317b18c8960e01b815260048101889052602481018790526001600160a01b0390911692506317b18c8991506044016020604051808303816000875af1158015612592573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125b691906139d1565b60408051808201825286815260208082018781526000858152600883528490209251835551600192830155825188815290810184905291820181905293509091507f38e7a0e5dcc15fa74a89d6553060d147bdeddaf0725a15d15c9acb83aa045cdd9060600160405180910390a19250929050565b6000806126378461109d565b9050600061264560016118e1565b90506000612652826135ae565b60ff1690506000612662846135ae565b61266f9060ff1683613e64565b90506126796136b2565b868189600181111561268d5761268d6139ea565b6002811061269d5761269d613a00565b602002015260006126af83600a613e7b565b6126b99089613dca565b905060007f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a26001600160a01b031663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa15801561271b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273f91906139d1565b612751670de0b6b3a764000084613dca565b61275b9190613de9565b90506000612710600554836127709190613dca565b61277a9190613de9565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038916906370a0823190602401602060405180830381865afa1580156127c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e891906139d1565b9050612816897f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a2600061367f565b612841897f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a28d61367f565b604051630b4c7e4d60e01b81526001600160a01b037f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a21690630b4c7e4d9061288f9088908690600401613e0b565b600060405180830381600087803b1580156128a957600080fd5b505af11580156128bd573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201528392506001600160a01b038b1691506370a0823190602401602060405180830381865afa158015612907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061292b91906139d1565b6129359190613e64565b99507f92eab167f439529a32b5391965d26b5f172158ac6931fae02a936e50ba8d16608c8c8c60405161296a93929190613e43565b60405180910390a150505050505050505092915050565b60008061298d8461109d565b9050600061299b60016118e1565b905060008560018111156129b1576129b16139ea565b905060006129be836135ae565b60ff16905060006129ce856135ae565b6129db9060ff1683613e64565b90506000612710600554896129f09190613dca565b6129fa9190613de9565b90506000670de0b6b3a76400007f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a26001600160a01b031663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a8991906139d1565b612a939084613dca565b612a9d9190613de9565b90506000612aac84600a613e7b565b612ab69083613de9565b6040516370a0823160e01b81523060048201529091506000906001600160a01b038a16906370a0823190602401602060405180830381865afa158015612b00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b2491906139d1565b9050612b52887f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a2600061367f565b612b7d887f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a28d61367f565b604051630d2680e960e11b8152600481018c9052600f88900b6024820152604481018390527f000000000000000000000000dcef968d416a41cdac0ed8702fac8128a64241a26001600160a01b031690631a4d01d290606401600060405180830381600087803b158015612bf057600080fd5b505af1158015612c04573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201528392506001600160a01b038c1691506370a0823190602401602060405180830381865afa158015612c4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c7291906139d1565b612c7c9190613e64565b99507ff00c2bb112527cee6bc4b721538408ee2f9ecc2ca6998706b4b71b23774e36568c8c8c60405161296a93929190613e43565b6040516001600160a01b03838116602483015260448201839052600091829186169063a9059cbb60e01b906064015b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051612d1e9190613eb5565b6000604051808303816000865af19150503d8060008114612d5b576040519150601f19603f3d011682016040523d82523d6000602084013e612d60565b606091505b5091509150811580612d8e5750805115801590612d8e575080806020019051810190612d8c9190613ed1565b155b15612db25784828260405163e7e40b5b60e01b8152600401610a3f93929190613ef3565b5050505050565b6040516370a0823160e01b815230600482015260009081906001600160a01b037f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a516906370a0823190602401602060405180830381865afa158015612e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e4691906139d1565b600754604051634ab794a360e01b8152600481018690529192506001600160a01b031690634ab794a390602401600060405180830381600087803b158015612e8d57600080fd5b505af1158015612ea1573d6000803e3d6000fd5b50506040516370a0823160e01b8152306004820152600092507f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a56001600160a01b031691506370a0823190602401602060405180830381865afa158015612f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f3091906139d1565b9050600085612f3f8484613e64565b612f499190613e64565b9050600181111561307c57600754612f8c907f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a5906001600160a01b03168361367f565b60075460405163a41ce7e960e01b81526004810183905262093a8060248201526000916001600160a01b03169063a41ce7e9906044016020604051808303816000875af1158015612fe1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061300591906139d1565b60408051808201825284815262093a80602080830191825260008581526008825284902092518355905160019092019190915581518581529081018390528715158183015290519192507f38e7a0e5dcc15fa74a89d6553060d147bdeddaf0725a15d15c9acb83aa045cdd919081900360600190a1505b6040516370a0823160e01b8152306004820152600194507f658f65627d5cf077504ad9882cf96580212e284f1d4a183a14e75d66b7bf2a2f907f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a56001600160a01b0316906370a0823190602401602060405180830381865afa158015613106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312a91906139d1565b6040805191825286151560208301520161200b565b600080836001811115613154576131546139ea565b90506000670de0b6b3a76400007f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a56001600160a01b031663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e391906139d1565b6131ed9086613dca565b6131f79190613de9565b905060006127106006548361320c9190613dca565b6132169190613de9565b604051630d2680e960e11b815260048101879052600f85900b6024820152604481018290529091507f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a56001600160a01b031690631a4d01d2906064016020604051808303816000875af1158015613291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132b591906139d1565b93507f89864951db9c48e63fbcda0e6990fa874aa27dcfd1a0233d5b7f0191d8117dc686868660405161200b93929190613e43565b6040805180820191829052600091829190600b9060029082845b81546001600160a01b0316815260019091019060200180831161330457505050505090506000805b60028110156134165784816002811061334757613347613a00565b6020020135156134045784816002811061336357613363613a00565b6020020135826133739190613e87565b91506133b783826002811061338a5761338a613a00565b60200201517f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a5600061367f565b6134048382600281106133cc576133cc613a00565b60200201517f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a58784600281106121af576121af613a00565b8061340e81613cbe565b91505061332c565b5060007f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a56001600160a01b031663bb7b8b806040518163ffffffff1660e01b8152600401602060405180830381865afa158015613477573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061349b91906139d1565b6134ad670de0b6b3a764000084613dca565b6134b79190613de9565b90506000612710600654836134cc9190613dca565b6134d69190613de9565b604051630b4c7e4d60e01b81529091506001600160a01b037f000000000000000000000000b30da2376f63de30b42dc055c93fa474f31330a51690630b4c7e4d906135279089908590600401613e9f565b6020604051808303816000875af1158015613546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061356a91906139d1565b94507fc79e3936a14778ee778877366c7adf10cec6101c4658b0850d7249e21ffcad24868660405161359d929190613e9f565b60405180910390a150505050919050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b1790529051600091829182916001600160a01b038616916135f49190613eb5565b600060405180830381855afa9150503d806000811461362f576040519150601f19603f3d011682016040523d82523d6000602084013e613634565b606091505b5091509150811580613647575060208151105b1561366b5783828260405163e7e40b5b60e01b8152600401610a3f93929190613ef3565b80806020019051810190611d949190613f28565b6040516001600160a01b03838116602483015260448201839052600091829186169063095ea7b360e01b90606401612ce0565b60405180604001604052806002906020820280368337509192915050565b600281106136dd57600080fd5b50565b600080604083850312156136f357600080fd5b82356136fe816136d0565b946020939093013593505050565b8060408101831015610a5c57600080fd5b6000806060838503121561373057600080fd5b61373a848461370c565b946040939093013593505050565b60006020828403121561375a57600080fd5b8135610ca9816136d0565b60008060006060848603121561377a57600080fd5b8335613785816136d0565b95602085013595506040909401359392505050565b6000604082840312156137ac57600080fd5b610ca9838361370c565b6000602082840312156137c857600080fd5b5035919050565b6001600160a01b03811681146136dd57600080fd5b6000602082840312156137f657600080fd5b8135610ca9816137cf565b6000806040838503121561381457600080fd5b82356136fe816137cf565b6000806020838503121561383257600080fd5b823567ffffffffffffffff8082111561384a57600080fd5b818501915085601f83011261385e57600080fd5b81358181111561386d57600080fd5b8660208260051b850101111561388257600080fd5b60209290920196919550909350505050565b60005b838110156138af578181015183820152602001613897565b838111156138be576000848401525b50505050565b600081518084526138dc816020860160208601613894565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561394557603f198886030184526139338583516138c4565b94509285019290850190600101613917565b5092979650505050505050565b6000806040838503121561396557600080fd5b50508035926020909101359150565b6020808252600c908201526b2737ba1037b832b930ba37b960a11b604082015260600190565b6020808252601a908201527f4465706f73697420696e746f20636f6e766578206661696c6564000000000000604082015260600190565b6000602082840312156139e357600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6020808252600990820152682737ba1030b236b4b760b91b604082015260600190565b600281106136dd57634e487b7160e01b600052602160045260246000fd5b60408101613a6484613a39565b9281526020015290565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715613aad57613aad613a6e565b604052919050565b600067ffffffffffffffff821115613acf57613acf613a6e565b5060051b60200190565b600082601f830112613aea57600080fd5b81516020613aff613afa83613ab5565b613a84565b82815260059290921b84018101918181019086841115613b1e57600080fd5b8286015b84811015613b395780518352918301918301613b22565b509695505050505050565b60008060408385031215613b5757600080fd5b825167ffffffffffffffff80821115613b6f57600080fd5b818501915085601f830112613b8357600080fd5b81516020613b93613afa83613ab5565b82815260059290921b84018101918181019089841115613bb257600080fd5b948201945b83861015613bd9578551613bca816137cf565b82529482019490820190613bb7565b91880151919650909350505080821115613bf257600080fd5b50613bff85828601613ad9565b9150509250929050565b6000808335601e19843603018112613c2057600080fd5b83018035915067ffffffffffffffff821115613c3b57600080fd5b602001915036819003821315611b7757600080fd5b8183823760009101908152919050565b60408152826040820152828460608301376000606084830101526000601f19601f85011682016060838203016020840152613c9e60608201856138c4565b9695505050505050565b634e487b7160e01b600052601160045260246000fd5b600060018201613cd057613cd0613ca8565b5060010190565b600181815b80851115613d12578160001904821115613cf857613cf8613ca8565b80851615613d0557918102915b93841c9390800290613cdc565b509250929050565b600082613d2957506001610a5c565b81613d3657506000610a5c565b8160018114613d4c5760028114613d5657613d72565b6001915050610a5c565b60ff841115613d6757613d67613ca8565b50506001821b610a5c565b5060208310610133831016604e8410600b8410161715613d95575081810a610a5c565b613d9f8383613cd7565b8060001904821115613db357613db3613ca8565b029392505050565b6000610ca960ff841683613d1a565b6000816000190483118215151615613de457613de4613ca8565b500290565b600082613e0657634e487b7160e01b600052601260045260246000fd5b500490565b60608101818460005b6002811015613e33578151835260209283019290910190600101613e14565b5050508260408301529392505050565b60608101613e5085613a39565b938152602081019290925260409091015290565b600082821015613e7657613e76613ca8565b500390565b6000610ca98383613d1a565b60008219821115613e9a57613e9a613ca8565b500190565b6060810160408483378260408301529392505050565b60008251613ec7818460208701613894565b9190910192915050565b600060208284031215613ee357600080fd5b81518015158114610ca957600080fd5b6001600160a01b03841681528215156020820152606060408201819052600090613f1f908301846138c4565b95945050505050565b600060208284031215613f3a57600080fd5b815160ff81168114610ca957600080fdfea2646970667358221220d6569c92b7a014903839eb405855a6f3cdc3cac9b4a718828e507f36ce838b3264736f6c634300080d00330385fd90944a6c25d7b76b6310e57ec5af3ca45c1994fb3ac6d9086a7b67a41770005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563559e2b6378ee8ad2a4a95fe481d63caba8fb0ebbf90100582002ecf518fe5051da0207e0ba5c87c7d65ec404dfbb90dc4765e5f60d3bb8ce064b08943ca47002ecffb9000002198200005821031141c78f85e703c63c010e1725a3b6f468b1dc78cdd1b4d0370cf988a35387b043093a80005820025787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace549e2b6378ee8ad2a4a95fe481d63caba8fb0ebbf900582002576af16c3311792dc2a896a09354e58f14749c406950f53e688facdcfcbfeb43093a800219100100582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af054853d955acef822db058eb8505911ed77f175b99e00582002d0e0f52a4aae113bec119fd5b3ea79958035999aa6f8ab9a88d576d7bc104043f09f4c005820024a492e47dab004fe9749e490669f50c5af3006fb6c41f49dd131119572de0e434f58800058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b541eed2dbeb9fc23ab483f447f38f289ca15f79bac005820025a37065ee8d03f543bf99518af226f18c654cf76ed75be6cdb2ffb6db280944ad3c21bcecceda10000000219844400582103a298b7603bd69fb0959bb01858b0e9dd8a03a091392b501b42e927cc83890ac049056bc75e2d631000000058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880547f24fb0f1b73caf3077898d226d814a4196cc60603a101fddcf8900377493abcf83c36f2940606b23062633e23ce98ac87272e52b403723a21198c321d06c9668f35ba0038999c2505ba8c7a40d4b222727cf0b8a09e005821034dfbf8a6ea8d9c4e3a3f28e669927479c2e7ee28bed47b34bf226d3fd25fa79043093a80032535ebe191aeb0ef9f4554e0f8ccb704b332b95e3fba643a8d783d0f1b5cb6030219f75d05581e03e453188abcb16ce38660d381bc65598317027c76be0daaacb3d02233e00701193f8102197efe036197b73cb56dff9fe362a652acc226610cb3b6b44dc8f83dbdbd948723cf33b40219ffff0397fa20a7b292849bd6981b894b756e8529fdb77ff595c165d7084790007e9e57034ca11919527961efd3ba3923c19547f9011330bfea7ff3d47b5294304a6d1e6803b3295abf6a1ff47627a2ecf454a1dd8610fbf3d4ed559a20131eee212c1170da034cc3fbf93444456be20337fde7801a8a30ae4465d4fddb68059887e8a2a5853a03fe89a63c648c35ea96a361eaea1e8c2e2f5d4315ab237d4ab7cb30347610055d03032a6c28d88f9fe6cb1a2f365930ffff21f15c95bc55cfdc5c020d8a14e816bb03df78e86691e9aad2ade8bacf0a740ea031e5861e56fb3ee7e23f5b7161445499033be8f622483a323152d166223306b0c809cda93eafc992aa6b5cf169afa812cc03dc9d2f265e54016d3c370967c772e8337b65dbef63e8978dcbdf5f8e9e0e1c0f038938a80eab8f4e70282c48230b050a77076ebd6da06cc80d3862f4259b95e08e034f83e6d87f8a7972fe6290f4e98e7a9fc8e44fe4559baadb70d8b48199f92fbf03081149ca9c57b33117735e024d04057afa19948220ed869a2c0adb475bcdeb1e034d9f771d2987d6ef39c2f8a13fbe8f18a549e2fac4c6e15cfe184295409528990379bf2f2b12d1acf33638941ddfe1ab6a33df3da9d8ffa1238c7f611150623f6503124143a6a8d2ba9c4933024fbcf9dc47e46f30c172d9c510e8ea422eca4a501a0219ffff031a58c9592bd5c75c65e3e6374ff12887c560719c43c99eebf5e06cd6e32312b7034649cb3b61b60260510c6cc7ad4b08013c906bcd114adc5d2768d0d6bc170f6f03d0c5774ea65d9905198d09fc3cf31b31f126792f6c2306234a6c747c4bd800040374a8329d7aac193ee07f83edf921a13fca992ebdf461053c609286ffd57e463a037914bf63299b4412bea13c896ce1c5269a8758ce8094056950a6eed6b664c32a0219ffff036c28a09b037a7d105420845cd36b514419b5995a0ac6e966e95d4f3b421b6f2403c230556355db522e245baf0b713db430a2f29b8af79c6b87365d977e392151790336f0d15785a9b11ff0652d945b2904c28c83eace9152ec0d30fdee35ada8b42603180c71151e4992e5a0f3a736577a845d7b59b9c8155a8137860946541dba0b9b03c967464b82290555527d20845f86ddcc46ef03c546840e6a8a5d93db7d32e2ba03b447403c04f6d73ff6c9e8664adea50db8e86d266ce69e7eae131bcf4b2722120353458237e4a656606647870ebb050e8abd2a60ac8f319139b21c115569c7a94303d41e47d615dc65888d9f3969a985fc18fff029960bcc6fdef93518ef2d8dce000309a7a1abf592c3ee421bb3d7cb365c3debba078a673b5b9cea9c049872b637eb05581e03e05b0afca370fab2a485919e6c6a301aaca616d4580e5e32fc3bb678100c014702d52ff2ff86ca03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e03f5ab465c72d692bd10dbfdcab906a30df0e2fa54460e401e51ef4fe4b007011bffffffffffffffff0387a0332d63acf94dcbdd4bbff466b344ada46fd70dc30cc74a7a97d3b15fabf303da5d66836c19b5f86ec42188ebda3219ea0bb0f31f4eace875b70a4fea2c9145031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0323021c3d9d84f63705be88476b11b390364c3c4dc4e34914782967f26007011bffffffffffffffff05581e038c1f606e34894790449b12d47164c6be4a971eb5205536261fcfd3f6200c034632896925e7000459085d60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100855780635c60da1b146100985780638f283970146100c9578063f851a440146100e95761005d565b3661005d5761005b6100fe565b005b61005b6100fe565b34801561007157600080fd5b5061005b6100803660046106ed565b610118565b61005b610093366004610707565b610164565b3480156100a457600080fd5b506100ad6101da565b6040516001600160a01b03909116815260200160405180910390f35b3480156100d557600080fd5b5061005b6100e43660046106ed565b610217565b3480156100f557600080fd5b506100ad610241565b6101066102a2565b610116610111610346565b610355565b565b610120610379565b6001600160a01b0316336001600160a01b0316141561015957610154816040518060200160405280600081525060006103ac565b610161565b6101616100fe565b50565b61016c610379565b6001600160a01b0316336001600160a01b031614156101cd576101c88383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506103ac915050565b6101d5565b6101d56100fe565b505050565b60006101e4610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610346565b9050610214565b6102146100fe565b90565b61021f610379565b6001600160a01b0316336001600160a01b03161415610159576101548161040b565b600061024b610379565b6001600160a01b0316336001600160a01b0316141561020c57610205610379565b606061029183836040518060600160405280602781526020016108016027913961045f565b9392505050565b803b15155b919050565b6102aa610379565b6001600160a01b0316336001600160a01b031614156103415760405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b610116565b600061035061053a565b905090565b3660008037600080366000845af43d6000803e808015610374573d6000f35b3d6000fd5b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316905090565b6103b583610562565b6040516001600160a01b038416907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a26000825111806103f65750805b156101d557610405838361026c565b50505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f610434610379565b604080516001600160a01b03928316815291841660208301520160405180910390a161016181610611565b606061046a84610298565b6104c55760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610338565b600080856001600160a01b0316856040516104e09190610785565b600060405180830381855af49150503d806000811461051b576040519150601f19603f3d011682016040523d82523d6000602084013e610520565b606091505b509150915061053082828661069d565b9695505050505050565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61039d565b61056b81610298565b6105cd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610338565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6001600160a01b0381166106765760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608401610338565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61036105f0565b606083156106ac575081610291565b8251156106bc5782518084602001fd5b8160405162461bcd60e51b815260040161033891906107a1565b80356001600160a01b038116811461029d57600080fd5b6000602082840312156106fe578081fd5b610291826106d6565b60008060006040848603121561071b578182fd5b610724846106d6565b9250602084013567ffffffffffffffff80821115610740578384fd5b818601915086601f830112610753578384fd5b813581811115610761578485fd5b876020828501011115610772578485fd5b6020830194508093505050509250925092565b600082516107978184602087016107d4565b9190910192915050565b60006020825282518060208401526107c08160408501602087016107d4565b601f01601f19169190910160400192915050565b60005b838110156107ef5781810151838201526020016107d7565b83811115610405575050600091015256fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122093f028255035b61df476b13b9dba3c4f06f60e51b9b4caee31680b389aef327f64736f6c6343000802003303ddaebefe0b00fe78e515b18711571c4dfb21fbc5fea979748a157fd5dda878b103bd5b5f57d88d6ff2a7aade26fb58a3d0d00c333d83e30204a25eb66a4da8ce3c033e7f19663c48390b5ba2651e72f014337aee2b5ae84427873d7a8f2feedc6ca1032e3ff72e7155f319b8168fe8e9e364a2d9dc7d9a34a8c29d2559218d03ba773803e1660f33fb9122f3d80ba94c9fdac3f7d31d95d7314aff81925b7be83d5a30fe035b8017ce9043d3e9abde61fe19e8846cda2e49764afcc66b24eaedcf70370c5e038ca613f9663b0be90d7685030d8f78588cae03e4a82acb33827f8464762676210361edbd15a5bf44adf90508d1f1adb3041fde3f6a293b8a788568e53159caa2a30385c99ed4b486ee39a6e119900ffdba84b4c9ff5b8cb9a0615b2d66faacb827130336196f326aea6d5b6df9eb51bba865701464e9b6a6f1ee36868d24db93931f50030c7c9adab5ab5d7e2bc322c2e74b51ec23785bc13be547c467d572f08a324c6103da1cc709e3931a4b784a0d421810742b70da98fa71b2725de403e2e9f7317eef030ba0766608e5093575ebbdd3dec8e2686e8f08b078505331963656f5658d039f03d1c4190ff34cc37d6883f3b447127d5bf93723e80b33367f796de018cd20d00100581f02bbea1a80ff62462c5fc5e419a822aa641b74544cdd20aaef94500ab71ddc410100581f033ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff90410100581f032b0155e9cebdb89b5d6877e1c7880758719109943a0b13820d99754b114041010219210000581f02a8ef8d4f983f18af5796101064640d48b52b36c59304f6dc553c49cdba9b410102190d8203ea548c651144eeeeeb3c081926ce185cb81480a798b526d1d783e9c51f31e82403c2c9b6238bb809ff110b99a57ec32f4a4da096db8dff6829de53583bf14ee59d0311aa38816e7edd608abb82dd80f887c07df815fbe6bf14f7a539ea5b286bab2c037deb9c7dd08d8accf69e64c13a209cd14632bbdd82f89d4f99111f1bd46fb4ad036f25a117bca66760740c955eb6c734454462d5b36792f73ca7abd308ea27862b035f4fd2b9a874e0695a05b25e44e9bd1de9be39782cd133a05583557c9fb2488b03e7527743d52fd8eb087794e11d0d4072b43376714f6ee53b0693be61d8e7c20e03b7f93d3c0809434378cc4b9d2db335d50002334bc90de6c41c35b7ca8003a05b03f527771bc20230a7c8e63cbb3159caaa09201bbc3ee31aa6c9f5c18e1c320aa803d8a22eefebbd4845a5913bb35b6f046cd7b6bc237f8fcb4d01a174329137cde3031a3fae322a235970b0f947d31ecc00797e2af5c7bd2bcf80fb2628fe170e952e0219ffff031872da9f302c898f241f05f642c6385b152928594a42fa065678983a645b1c700342b330f907a66b57bd21fa4ab42373e77095445f60a04a8c0185f97cbcabb91103249bcfff8151dc8e7dbd7c4317c4285d5e344083c9ec6563a0a369d324adcee003bf593d8d350550ec12a718e7cd1aa0197e6d09e976165189e9976ee3855e501803b629ab03d6a7da5439d49e89246672b6b2bc76f4f9fd6b1dc487fa561d2637480337c9c484a268eb54690e4935c0c0de41084605f358bf4599cc4ed3b5f6bebc3303722cca2029b328cc1015e3242263cb3f0fe183c9b193388e2777b29763a5286003b99e6ee216f65d82db8bafeb9a25b89c4fe81553627a41a129720e73df2f2201036861e9c729cfde447631364cb3cdf79c38c77c10f5a80c7d127998910d1a16d503f012dc32758fa2a79cd1bac68876147ccfe618e6c4bea49ea4bc92a383ec4cf90219ffff033d72fe5a7d3d98a645f8f24f2dc051900e413275246da81a41fc1216d2f8a87f03c277805d368fd4fcb3c55aaa6f16f38e887d0914bb83cf234f2dbe83a15abf7a03d7b9253f2bec085eb5305c4dd9f5e7e5a4ab5e72e4898b7c40b8104bdd5054d703454dae101a6c332099c1c64d29c476eaf6378efdd74d45f3714beb61b99623cc034085e4405329b28c462cf2bceb6d178151a30002d5ab62a8edf5b8cedd6210c60358c790e6f2b0507b7c3763700cddada8fc423f659050da411701e387abef425a032bd5d4b9901f797e639c49ea321cd4106111c1383c5894dff2b3d6d0e4742f0c035cfececa23bbe4c7e8feac8eca2cd196bb557bc5020b2f2e66e5fcf2e6ecaa8803774db02bef358e964295a548ed610622a53df8c3f4864176f6f1afb3457e8180036684cb64b1292b902f4187befb0c40a4437e4f0ac040027bcb36325713fff75d03133a23a0e6bfdfb8167f98906c36c0b38d8baebb3743edb70fb872eb9fed75980378db2119863ee68c123f6957feb839f75180df78e02f98109bcecaa9de1ff809033f003a648d1dd6bbfa519cde959b7ea620557acefa9c21e1c3016a6ae440119b032c249fd87bfe3f5ac6b0da4a28c08900fd35ed85770a8905dc320f1d243269ec0312c3d7084741591ad9a168337a12f7309ceec46c77b57165acd8e9265be5ed7503e7304421473fd66a0117f0bc9fceda4c56dbec8f61de179a923dc96cc5d06aaf035b988daa1c25a72e6426f5cb964841330ed36f2f12374b59c3988dce8dbda66000581f02a35d2822d6ebce8cce3c0fe28b2c63016f854fb307965e6ee7636f8f5248410100581f02f3fc8c997ebbd8ed19a59b32a32957cb490289511cd8923c26bb85afdcad410100581f03bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810545965851f21dae82ea7c62f87fb7c57172e9f2add00581f0397315cd541fcf1ff3d78c38e8c42415bbf9c41478b4f6eaa0d4a51238520410102030219c20203a555c846e2322fffee4069e8749ec60d51dbb946fbe3f9f77a64d5cd8a0ddf6703a95c5632ec47cb2e203c54f3b5dfa5e7c495575eb636628a202a740cc3e1b7550219ffff03853740e8caf587bf49c75c894cbb27e6cd34254c399712a966cbe581454e67b203db5f6a69bdd4f2c347a9c21316f842ef2136b5d209d66f053e92c95938ac771b032c2a45b4a747fa267f2ea18ccd43b4668af0a60350930c985e7f06be86a6397e039567eb56ce50133031fa4b27442782d48e2b33ee2bc9228e07ef87b2e8dd1a2703682158e82d108d43fc02a3530d38b72a4c84569e4aea0c966ff4ccfa3779eee80320a1bb2619894412f6cff2f01b11abe5416dc62d3b7a691c8fc0adc8ff6cf3850323b056170a8a7d89964f885459f3c4c1c0c0cd0f4a09730ec93a26e581c0f4ae0328535e52c96210a455cf6af1a6ee21710e8ce64482dab092e63971402b303ba4039b3e1741292efcb52077b9c1ac67d120462d2c5efc5145d7cf6b133719ed544d030aa891be8272c1dbcca9418429be3bd760dbe134119b46c9cc24cb0658f3ed0c03e0f8a488f1b318085446ce14584ed8f267c51ffd143f4487a2d2b48bc4fd455c0395b02ebf703af18d56466a5529e847d6768a73ae6d5f269cae6a8f74cc26966803593d95fe569587c669b1b4c1371f5949f4a232ba45405623dd608e61e1e17c7c0219ffff03ffcc3ea7ed645c185083e268a250eed05181b85f6dca736a665451b45daf9d90036c4b43a7afad50254b6139c5baed204e22b22a412c031c51cf1da72ab366a6870315971edd4d4e2f0bceeac247af0f1147402e86954ba8a722f34f8e7b5c63f12203494961568bf593627457fdcc68057043d7718ad9044667ec692c07b4a83c79b503f64b280ec3f4a7e6b364a1e2be7364713d3d3a3155a3bc7d4d8e2c9311df0b3f032e38f4f8f110efbc06f588731f0f8ec11439110cb7314e9e4903abec60ed7c6703bdc65b8c3f90486ef04e3df1847e9e878d97726bc01c1cf15cde5c96fb18dcaf030f84b8261bb727ce0bc40ccf6685199bf95b406fb8989a5d56e6ff2286b68bab03bbc9c76b900657c2d05f8cf8cf35867d215c7d781906c8910400a6417cc9c337032143e23c1b395a9ebac164271ac75b3f7d103bf70842b04a0950fee6adf5aaf6032bc59992847f2a090ec4cdbed8cdc56d5447ddc0651a09043aa426ddf730a794036e69d274a605c6c2b9ce64b38736c96fba548713ad7de53b49e0f5944627cce303ef8cfc40467617adc0058842ea440579d9abe3e34e0c6737938cc893be7e3e060331c7eeb1e825038d47b8e43f63399e874350ca8b602ef5855de3286af5a6209303075b03fb431b69d934d6e1a4171ce671f21d57dd4df50902d231ace192fd044403f32985f47832261c4e90afe5c340da008bfb0a3efadd61c7d00579e49488f2a40368a876a338c5300f3cb0bc89ead5fd43cc0065096684e0a8d74b78943ca6c6ee00581f02c5057af9fd73202e990174cd034b9eca3f3a50c4857358da08e7f8a543e0410100581f02f142310c6b64dbddab1b444d5cccc7a8026557613d7735379c847658e5db410100581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d545ba073f65c751f419bf880d57cf51289cbdb55fe00581f021f45ba0a772e2a25be32fe61e41ecbb0e9108da03103d3e1328534b65293410100581f02d9a387fa0f34aec46b29c621d5af5c67839c29d8960ef88403c4c744bcc3410100581f021825aa97b5f592ce6e50beb751bea52b4b271663df3959fc9a90a61643ba4101032336c955e959470624c843c4db2c964a8045f81aaeda6032d180f295764d1520021922c7033725e49e93afa738e915ec3905353c9cc0f5e4137de2a15fa9fd510ece0f47ff038e4a71c01e4c4f790335522f3ffb25d968c79aab5264ab9aad7df4741561df2403b91119ba583a0f2e1e38164679c6dff05005d1124a60a45b7017f40b04d5dfa2032f15de7973a65ef002c2b61694bc3ee8b9acdc1096797b73ead0be9f599550cd0219ffff03c2cd203787148e70ab1744bbdf06686343fd66f919e8bd6c189dfe1714f64c0d03b51fbf76dfef2de9430fe771f12e78c67efc4a970342381fae19457d5e3769aa031ffa4d8cd1e6e345992d6d21770b5291e9bf36fd3be42594bd1a9aa14d7a200003e56949915cdcdc607d968a6dc7fb91c434b98c47fb8bbd1f5ba7785a2d08eb53030831abfbbaac8e9124a8fb0ed3b4b85e5ef86bc5da3bb328de3fe6dfc31d9143034cf91029c825c3a076a508c0721eb5abea24dd5d1925a63884d8f75514beef270333028c9c40b786c492a2e06bd8aa38a8c0bca06afc5ccd12a17f74010643250503d6bce1621921b62e64070c7e927a21743992681eb124d03342b43624f93f2da2033e68c9110a154ea88d98fc00005d1382771120f68a06ea178c7f2c1df5f2ffac0305a50d5f4df0100690987c391eee7c95ad77c1a6d120fd3f50df9cdf07d46c9c0219ffff0312a583d46e0246c3a68618ea156fffac69610eace64b9427c390998e88f7483803e324d74ec2600d89f467399e171ac95dad73270a3d31407a4147163b074a40eb03761c3959adf3d5dc01720ca73641475267cb788246f189f1da7fa53edeb1139c03465368f94e90085cf482e75de28562dda9d6f973705625c070aebd625f2c6e9403363d28c2012ce90a59eb794e8c16f0483fa30256e5b3b6f1bb27ea68f0c2945503b836b61ddd86513697b7bc3751ced299a5948a334ed1629540078a44eb8185e803d221cd7f6c0b405c54887d2d88407381d136731bf9be1e17d093cbacb0981fb103ec54599e18ca09ccbcaedd65fce7e1a0206c27399e77a4d483d39a8a307eaf3b0363fed079a4d82647c5830c42444cc6faef7f35d0a50e7cfdcacbeaa80d1fd6a5030f72ea4a742ab9dc2403e0bfa9ca5c7561d5d5c6ea16b05a7e5cba4c29fd054003c7269167ef624b7a53879402eec947260db3465edc3b6cd37820f04c8e03f6b40326e88a84a4ab49597c5b9511eeba95b4f560cc678ce15dddde8a66871e1f848a037c2b8edb220f9af5c2782f84515da1c2bb04e2d254fc1806298cf4b6e12bb02f00581f02f9a7e0f459d928fc3f0650be5528949163f8e77d886c2ecc9d100d0871bf410100581f028da0b008096158097afd1f3210d8f3c8962bb9ef804d141cfe62b2d8c8d5410103972091f384b631751c6bc504159569fd7939ba7b323108e918b0312752ddf48a00581f022ec95177ef1b3b2c1a2ee55a9fd5afab5e3052ff89f417b2e175b18ef18a410100581f023709bbb95518a1ccfb65f469e74c42e112ba05aab0a8fa7e8142e50e9c79410100581f026b6739b959c812bb6682115d135d733a7cc751317f51c578207c40ddedca41010219af020358bfc5a7c7c068db29d392a594e7ab5385c2f27bdcdf0744d6a9529b372bca99036e0f8381a9b9a3816873cf7117be0837ae1f33ee50ffad7bf4e4ca0069a6c2e203e44b25468190521d62d7f6bde297dfa61268c83b9901dd80950ff3e27cefe68003718150b23e9dd01ce48485c442446c0f7c9d5da779702d110be8d2334418559203ea83899274187b47944f12f2b8b6b049eefe488a564bbfe460105a405d864cbe0219ffff03c5f2b49008034268deebe12500a40088de2b9b4bc794e44b8ce47dfb7c494cb503995693c82e492023998f75f2318a3631489e03ea80bdb75027787de018d329ce03c26455f3e1fec858eee26d8562f0a8113bab9350781ae12e127f30a6d5896711034c4c8cdd02460d42c9df414f2477e4e33af6526d004682e872232227342e37a5038444bb6fc264b9bcf8cfc438e2237ac3f53db7bbfb485c2e990bdb0377dad987033f77dec92965ebb9a849b6bc517994e082b7668dbb0c308c420e5274f2f7e0850385f7810db2a22887c5730f7a8a09c48595eaa637c13bf2661f442b143b0b1aeb031a22c518b162ff5612acc24fed2fa729028dc8394c6e563ac93d2dcf10a2de98033f3e058fb263d99cbd4feb3f4c004466e4fe093d4b48988506bb7d227e5db6ad0371b4e0fe50b1eb81d804bc409a1a57fb8767adcb22eab28a3d0f70293249c67203621551f004e7cbde5430555d03e0e5d64255ea5133e19a889dc504cdb46524f3036f45a1c5a0ad24d67c4581fd370c46026d324a9b48ac5f65130d50be0ab6d4da0339af900413d5b9f9f1c03b55610e4650b229184621af73b46509c2dfb9e2959b0219ffff0389a8edcb43a058b2575b9b2054294f464d8c077a41c3a82387df59b5a3ad44da03ff43bb280f067e6b66653f52e1eb7c1a99ce2c38652bb6922f85feecd543947f033711537d10f03aa6ef7ad9d442da775e2ff363453c1de7a4ce97c8be9e1836b603d63ed05fa5b7fc9bf59161e454d055e0b30f2e98b43cff7d603ff3482c357217035ffacf82e9386eac07699fd1259e8e0f535f5648efb1429ea61a23c675e143db0390959cafdd2841591b9499b2956bc87ccef12e4efa6742edb92c3c389c41beeb03aa4bb2c98a41a29c88995add03e901789c3579fc9fb9ca9007a61e519895c16703af29e126c9fa9930910b732e67866c459c18f34a42272483a9cc4aed8c7b055303f2e09a3102fd50bb6b777c1273c317c1129051fb4d6311d1fbf0785a7decee4a03ad44031eb911c2e78943e41f96f21516f6e28dca8fbf855cb4d4e87bd1696e1d03a0ead0a6394d1bff0704c4771632213403bff450e3823c438ec64088eae627da0394afb0c7161ed866a3e77ffca1cccb9437d2c96cb1c66a22c70c4b34e0f08d7903b96231e57502df11617a682d719876d6439090271e153c03f11f881cb4a7e2f003a310a9e17f17d83eb7a20e84326a16d7b761b03f8054dd2271e6360d2a46f4be032ecd8df3acc1f129f92ea4895da467ad57c29e1d2fd2ed70e4ebcb751e0968e603b4202bebec59b4422d0d065ec4037bb3d97d15b6746a1f4a7125a0ae98976fe5030d3d127d403c53cfa77a600cfcc39e12886b60f2ed93cefb465388de5efb5c63030b9a77e90b9afd048c3e08611a8faa86854ca940d40e89b498a13f21981dbab603510c8bf6a1b46e041e27774d97286722cdd8a26553c81b251c9c1f85792478580389cd0b3b5749feb09d5a97c7084e6ce671ffa1d17418fb6f69cd80300003aa6f03a9538416b3e6d4432c3413ed1b49c40ebe3453bb13ddaa79882a2fd8b901ea3f030a22b0b8b7b933f10e60382e2db1885da4b48e206735f51e5a5761a0d4b07d8700581f038fb8e628a92ad0725367af1cfe7cadcb6eb6f894da0eec259452e67bc200548ebe95ebb1acb591f7fb12aaf28254d225fc8da100581f039c4bc30683af5444605a3d1c73f8f80875af974bdad8a2d912e5266c431041010218840347b92331fc4149a49add231144a14ef60b4326ceb60a5e930a16e10f2ca2569000581f02561b684043deded3f879309848b6c16dbdfc2d329e89c78428d2676d9ec1410100581f02744cb1b11e24702faed9d37c4fa6e267b1fe91037cf44e13ee7fb07775de410100581f02ba03391be1615e3380f3fe82e7796e665dbf881bec747269d96cc57f5afd4101034173299126627ac438832c117e2131a3cd2d58d6a1365c4586f2dd4f8fa02042036b0e41ba455b6ce4b7a92584c3c3da93d4821d6a7c20e9273555e853bbae09cc0219f0c503ef2f3a821aad716b28d8b4d65ca3359e6bfac07feef0ddb45199328d0f290002031eba877e731e979c0e3622f6fa72ed143da4d0fd0c437448829dff37251062e40348deed67fd5ee446c46afe187fe15e0b60697a4a7a4b2cdd283115cd1aa263ff03e5636f893c2a3efec193bbc9e2507e6914672bd6e4b4a27f909828b4671324900375faf5f0df32553f4e5cca47c9ec16beb6232b6fd12c04cf2317e9796f67e6ec03b340a7aec0df163abce4a2f8a16f411946968c97f4ad01e6a06c60598d016a9203c712105ff83ba8fa84517364e4166aab2d32e397a2a45a64b025bf801fa98026031725073a424b881ef26bab72d7c14b8d14e291347c0e2945c55c8819a64755c603f0b4f2b5bfc84fa216f629c3413c53621566c668b9752a87ef8c34accc4a94310219ffff03ee4e3c7db9425cba9e5b1036879af2e2659f7cb6a8512d4c7070b269bbbf3f910219ffff037c95f5090027d9987bb43d217e7b36910baa76ccbe73489b00188ce3a43467fa03e4645f12fb9eab6b6ad897695e71e764381ac5b5a4a4a0c72fc0fb7704fd2ea7037ae2795f78b0889e482076343e1e44a21cf293577c8a377bdddd2b4fe2b5b296031e7e82bb807c6e36715f6af9b29529cd5efbcf7d4865afc89e61d9b92ea2efd803687fbf0f1315b10d851ad93d34fcfe394d9826853000dce83aa01459d60cdc030219ffff05581e032689feabc3ef0f6bfd96a79947356a9f15fb8299c070ce3292c49208c00f01473a5d1717311eb419085d021942be032486fe669dd596c6a71ed67f03e5e8f33757777bc99f39794f402dbd84e6b7f903aa50547e98daecaa10059757d9dfb5ffbd2cee354efacc5d06ef820111b9a7d4030dec0e1d3697594458686bd5c2aea488bf942f028efdbf04ee7f30b2387881a903fb217564f20407d2408e522de0818c49554b63fc57665f21ed16dfafb77b49c403855928f28f8b549633ccd053699666ebcfc7f017f56fe5cd728300a85c1bd14903d7735a5ee7fd9c0c603864719742df439ffbaedda5f6c4e59bf6a596d9fd22a10336b9fd44832d6821aa8fa8c9d95796c9e628792d23f03a4efb3f692d024bd88a03212825f4d70637ab7e572ff458e1e6994ff16c4d56a3de9dfece42b6c872c49b0315e816c0786f002aec0982d1ba70da030ac3db0e7f18719d3f2aca969a99024a0397c733ee71fd6e45db51091ee07f6e09e5e17fdace2c6edf19d1f177d26484e903aa7407795542c1de472005b2523e74ddec2e5e0d4326069126885d2abf7d43b703655d1b9137e17708319b49d659f5c960bd8246b88402cfc2b2a67bd87758c72d03e9524083968bf72ff6fb857f1fbe57a8a4fd18a76a78050b590cc276f929380403e0aeba4f93bfe769cdcbc9ea01c691f331c8db52b6b2153245aca0944ea02f98036e79b991052f96037b52362b902775557f911cd4432db6f58e7c210b23d5f8e30219ffff037f8a65a0c3cf255c06ac29a187c13ac25c345d1a05618c358c4e1d0927b86e5403b0dda9037fd5f840e97ae2d66e9a6396f8fbf4ba508e2dcb6b1c7f032d9ace7a03d9169776feb6ce2e4c90c6216c79be3c1fd7f91fb9b89f90e4fca29915f6bf2f031855b54fad1ecc68cea18e2bc7229bb22ebe7156d022840372a6702504f4a337030ace3cae3943ac4434b06dc8fad22e43c753168a299d651dcfe2ba6adfd779c1037183d1cad2ff6c7557a1c2da0bcf8ff7b2551e5bc7010e065121c0f290613cd403d1caceecd91d9e67494b0db4cc6ceaa6b4efb489036f2bc0d63084f0637717600332d27836e1040b9c19a601d2effdaeae57fe1897538aee2add2029323d4a80d2032e5c4c8cabfd1b943095c903e445e5853d65dc2ab697af14ea24f4ed1d26575a03520da94818f56a423f1ae7ce1299194eb71a6810798629bb8f9bb3818ecdddda0383c64d82fc05eefd738790836bb793be35305c3160cb871ae240e1cb2428fa7003c53a5c72f9c3073c4cf6263deeb455d99edcb089a33906bffd7baa22c134a9d603c0c87c9126b2fe65cf95cda481ff171380df0060b9bfa8dc99474b7db24061ae03650802d82aceb224ab95b205f5d92e37a93fbd6b5c10b97359ca4a13ba5e48c7033e02d1aa3eca70737d6b194ac23a4514c22bf06c7b21374fccc76fc1cbb8de4d0219ffff03e1d56b14b9cc74739a574186f2396ff829af7cae4ec32cb1572f6f8816a3cbab03090fca7c38fb5c4677573982b53bddaaf5ade2cc099bd6c47ea9d090ec8e56df03379af6b170c1c27170d1ca93e970eaf00993616f8554e78e33e94b49c9e5be45033f78071998716ded5cd7cf08d21c01b2afca8dc898fe5b04104fddbf8d30575a03d0da129aafa65a10e56550d7ffd2e2f360590aa04c7dc0aee42f8f498121ea2b031f093ffa373a39b9eaefac5a7c4374a37ff3328dec27312a7f60aa5414b4dff903b6351caa1782a4714eae0ce2b98ac859bc30169fe8ec628e4f112779346f5cba03b780ef21235ba37aff134e98db460993aa3234ba03798514f8df9e08e8e607720219ffff031370b4b5cb5b427492b82059c570b1b287ac5d25803b950b1fb4f7a11fd0dd6b03500c72f2e4e8f42425fe8739725c00e6042165b6b785dc82c0f0be0c8a57588f03b51a0de81f5772276af3d77e81392df4296da6a945199ea143f7835bda3249030219ffff03b8eaa2e9d4e69c87997714244cf17d271604d0e3318df08670b03f126180f93f0358b89768cb2cf61bd1c63c9df04d99d5d3576ccc7409436eac38b7c607deb9dd03b59804b4bce2c85f6805f6467bc78954987cfcde225b729fbc23581970dc62ea035d5fec2aa67504fee2600296e005fc571508c962eddded89a4222d9526646a7403f35faba20bc5ed8d273684d6d37143a63a3c478e71fdc964fc65a3809afe520203142b9fbb174a0dfaf06f64306e87ffb5ad78cb402e623fdef995ece210d763da03665b7209d15929122097feca86c62be99939650c31591699a3119de79ef0cbae03d55cf146f7b79c077c69b9ed22428fba3f443c8fee0a6e564ac8ede11b16258e030d0e4de7c70b8565f587971af873825cd74824c1c0cdb984a4f53f820aad049503b2288d7c7922db4ba8653255c4f5d6e63e9c9e1a5b6a4e5c0f00919d5fd4196003b46f2f4758a8638e0a11a590b01983fbdd57b7a28a9aa2e4fec8a4f33ee7f07c0379f290c8d929f0758ba67417bdfc671fe5d125428fef055d0c071d1cb3559dc203cfe5867628603a061d04eff0aa6ef9c02c65eabc14f5b100bd10d175b18957e103d2ad80db8e9d6a6ab44e56cfe910cf1a3823d90442d8fcbbf1a1445a0dfa357603d89d6e97bbe78b5b53af49c70551cdd15e889c12ad020c4294a11e13b3bd0e90034d90824b4ec7bad48e19980c85ef8412eecfb01b8b6de76d6c1993907a9264e8033ccba3bae817c6a147a5452a69f707529f307fe93c82807dbb675433ddbcaa060332a50aea28bfd42c9a67f7fb8bba3f42775967ddba798411f1b0a9e9b7c44593036758eb3e3631e08324737bd573582dbea383044ec1a7bece6ecd81e42decf81003f6231998df93bf364db42d985294273c504ae4b71395609acc1efc93881ee71201410c034ff0c8277fa4564bd6e5ed9c96672fde1b45403fa1bb20734c0289aa6430237803a1b64393adba644c39f3e94de7486df148a3fdc4e3919260a64194319b73c35e05581e035a33023e75f4ecbb3059d571fc580cf9c46986aa5bfa299b8abce3b3f0040203be4513b3e13dec088ae4c63f6daeeb9a6ed378b0477b2a858310640e3c6c7ed403feed91997d2f85255593f4b4b0e9f177057dbefceabde0e1b71ff2efe163853205581e033f2bbdd871ce7f3e31acf261e78cad302c44965230a0eaf2c77fe27a400c19047d47ce628e7ca11b80039e73c02bbf10d0ac575b44314fc23fddfc9d716ffeb7677d918ef4787b0aebd5031b2eaa619e9d6f8dce6257c7857ec26422459b901c1cbc5a2bb1b094d0128af5032aa0f8937345077ce8754fe6f87516623c001faafebe11b85fd4adbfd5b147fd05581e03eac684328de7c93fa3f6814ae30175a033b44a74fa4c132ce9a66c803004020300eeb5ebdd68a79e45928a1d75eae744e4c5152ea2613f9685e757c378f3971603f14ede712842b0a29349b2b54b2f6c3349cd86e932976f95daee437447d6198f0219fefa035d8765befc5719bf3f5c7ae049ebc40a240c5c507dea34e9e9b8306d0dae793803a3d8ef0349d6f23537e94442f03be8805adca5a9e951ae1d6ba2a8ae6ab88f9303211198d00f5d24c8d7088f523b9a2f5512f2e07454a1dc5e20b91f1a72dc99c803fd8c35bc6551f9a2574e4864560ea345ecbb5780c18e71376d09482758c2bedf03f57a414df974bf2f952b844acda656726d7448854bbf4b723585696dcfc821de034192ba570e06711dc55c3a52f0c10d9703e75c95bcc0ff4b66d8c3b9cea9f8da03ec7666859d490ca8b55f85297c17ca7578bd6c6ce32205205c5b80ee279b86250377e0d4d02509252f40309fba0f4d956ac6b1115890eb414370e1803cdbbc91dc0303468d148f71456c49eae648b98f7beede4568b7707c448c1d6c700690b64b0c030ab04e2df0dcec67614ab023d1a53e83547c8fd567c3737e49fd8716ee254f6303824bbffb118ea50905e514b6bc9ff7ca0886cd40e6b2acf903ff2719c07a016c033fca0b3067eee7c8970d3eae25dd8af1a7dbb6ba060cfb3c044782b5d47ea03a039f7f6ecab6431f711902b952d174c96702808b12d852dcdce60eae281e3109a30394cb3079ae2dffcb3d8ca459e7037f29006b3c5932812e69add9ed317d98d27d0219ffff0322a52863ca7e8f543fb675ef24fe7fc2ac3f0ac7bd6e524abf8ac013d827bc14031f8bf537661904706b79c9617f219d0d0bab5f84ff2069ae9fce3360e7f6d1a803cb881e18c176cbca7fdcf4eb6fdee74292b7f12bc436499907b596d599bd5aac038b389c3cf3948c8a8ef64bebf69e8bb9d609eba840d71b8356ab751f892f61120340434c16d0494bbed23eb15905370eed0d4d5a115e057f2b93b5aa37994432760304c16c3cde7842edad8e39cb741777854649e7a08af1cee32d7734ced1746cfa03d84eef92292162f46369d74eacd8fc209c5f61287206ac80b9f425ffb8e5379b037ba7e5f8ce2ef2b6671aa6e3baf2fa7f60c316139611087c35fbd76772c12752034426130a994aef3150bc9936ac9de99d5d9dbaca7b41eed7ebfd368795fab71303ac53fb66420d42ec5bff4b9e630e3509c7483351d2a30e04c822953ffae74ac20219ffff033edf8818cadb85637760a95e14e6895d510d4abe537977615ad7eaea023bcfd903e139fbeb8fe56fa633ecd661226bffe949bc923429adbf7a3fbc1a0a4f8fdb9e0303d53feac6cb73c82cb817b268949fff158ef651758553a2d020bae31373893203123d6dcde49b9cb7e0792f7f58730bdc340ce12c78e3fbfcfb99945e577de9470341744f6139b6447ced84c5c405623c0cd27a17bc21b854b82459c2cc28cf78310219ffff03848d54c0f3edbc644dd647d4c8d35d57c416a742272f981ceb30f5fbd64eb2ca0339b0eb58a4c63f17c5e3dcbb4ec442b7041d43f3586c9f6ab22ee83bf8e9918e03bc7fdb250c5bf26295e2c33d9380c19dc161ba5e1d03b058ef6b07b65298c89903535deee7ac5e647f0c411aaa526b812a015525939a7aa16f2f2400903b70750e03db1e7a9d09df5a15faa92a9e042ade697ac0a434282a289dbcc2a4dd070c38dd03e4adc9464f874cc851783d7fd153df5536db22cfeefc9858668780d8fe1a196b03e07f3b6f8e6befa5e5b6df19e8577f7e01e6ce45dddc50f14a36d7f3cd39358a03c3e2920a116f148686b085b1e1e46a022957a2865ee041e48441d242a0cfeeb503ff79529dc197bb29b9ac958aa1e626ed3e57d52b3c24dc6283acc6392510310a0364259d2c482b4782e62c4d123351cb41b1b29b053dbc7f88acc56c07ff57655703759a4db138b6adf62dfcd04bc4633ab45e81d18c50a5393b0950ad41d8f13eb1036759f773ad2deb12792b015bf5b407b5b59c38deb791d1b7f4d1607dafa0c4b30390b6f07307b312fa713cc630a8f06282a8edb6f42ee8922293e89161fd35e47303db0c72d7ad36642da69cb880e5dbc42088f57a1e74030234ba25543076c8c561032adcf355287e3f2016b1994ac0d23155d16ae2debaadc25b1c2ea54a477758010320390fb4bf4e28ad7262dec8613bdef60d70f54273799aaebbbb7c57b6e791d10370348d9cbaf50fb7ae50ff54c944f7a90c5a131fbd008b004ab04edf0e66b3740325be6e2fafc72136ab5392f3c5a026e2617236da247fe5a88afbf8371eafc3bc0368ad368dd4564018a77579224df710aa97edca6fd33e6b2ebe16e77865426c4c03596bac6a098a8c97effcb68b7887cd93b09c7125a80b1391e34243120af91f0a039a687acd1a074a43aff927aebaa89151105aa82dc6497c56bb5efa900b6e62700365135f34725da5123b53b5c31ef5ceeec651f25281bc785de2aa013e4199d3d003d7569cb53eaa5875855f6abcd7a2ca8f221121fc84585e78e0eb0e119f6ffee1035a41504368109b1ce93d88bceae0de0f16f76fb44a28a6f2bc95d35f3e98e4c70361c1bf6437cada8db9cd104895d03ca8730b0abd3a8233f91f69035321385d390393bccf295c9ea283cf0feaa4ed31be419e7d50e959576ac3c658cf11f9cce05f05581d0294b163aa7f173319cc254c122e91de65b590478882ae2cd3aefda13d0c024705d4905df0e2000459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def181565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def18d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def18b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def1908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def19087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000af81e930620eb55a9a6927c4b2afcb4d61040c321614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def11693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a0396f15cfd3cce837bf7981fa57a8538e3d02306e1d0dafe13d90e25eae7da7af903c1ef40bc5558a9ad20e223d4b21052d7e8f14545255176f2ece75977997b74f703cef1dbc74e47dd09ddf00b1481fa0ca8af70e86915e573798d24798dc1a64deb03ec6db55d22c841d934ac68d47ca4f00053303e82691fc95216ca605f58133bab0351c353f484bd8cae2e033d699ee1dae3b5e28629ad53ee47575321d0f094046d0058200294e1b57373908422374fc21d241d58ce0776e43882f19bcd77a24a63d8f5b15820fffffffffffffffffff19f8017beb1df0000000000000000000e607fe8414e21030e7b2561b1a02b38c6f92da5b9b598d667073f2acc6fc553e2fb995b5c657a4103166d45b179e094f7f2e0231dffdc476d24c92c126299e4fa611c8bd3aec84b6703071e24dd65d558ce7cbc32afee11238faeb526c2ed35336349a0720602cfefca0304758a0a73ec5a67f6a2038f785c5c089b27d05ecb09b6b11d73814e526e94eb037e57b6dff419b532c620fc563622c1d0662d4be795716b25bcecd9b330e5885c00582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f0100000100010000023cfb00000000000005fb38cc37b87bc21566377be28100582003440cb71529843d2926a0646e1db26691320fe05c8a40d99fef6c80e27870104e0c0c0e87cdcf3dc7b86fc13cfc1e0058200306621f3b457d78c8a598101428e51dc34149e066c5a90b23e649d788b59b005104efae1ae714f9654d4c438a7975fbd7af00582003bcecd79f02018ba4eb53d6cac80306cf9ea623048d902dff900da5d528dbd0582001666ece4f02f1065e00000042987816614fec34dbc8a5acd1fffb5eb6e7d77e021904430058200231c90fb833710ebafc172ce0966299a2f9f0a8d72e8d4085877a78dc6a95794f04c73aec99d737791215886fad1e95038556398356a83ce8f2d86f4f1338dc48a50421553cfff90ff6b21d625b61604b0382e7f8da12f224d2d2eaa8926d4d5471a0bdd812aa01f3ff3369d10bac5bc87c03fdf7e22398b80883938bd1f65f958691c45ad1c6a503fbe8eb34ebf270b8c71c0383613858a6723b05a8e0a15a8dd23a1b82545be4aafaa1d755a3ca1cf9530d8b03ff29dc3fe7786bc9ac2ff074447527ee93ab3d082e1917221898d36337b2a9090219ffff031600fa4182334909a04acd343254216aedce8cec601ff8af37e3f6723ee57ea703b0adda0f14ccfe5cc35188e38eaec545e846e0810312b4d6b10b48ab9055149603780670f8e20933b7565e8eeb4e54cae03f0134a89c331bd2c174171a5a898459030c4793a3cc02c5ad7ada14f0691b050e3a61384bb6c71f6104a93feb51be9fe703440813a4e7a450618fa052c0ced77a4857fa626cf9facbac1875f76c37ae958003e0c5cbce49111d8212e7a4c6736b55fbd9a378b4cf34c754d666355fefe98ebb0331f26a2a88464d38a87a88733bc3bee8788dd21a74b83cb2668d43d8d3b6619103ac94874e31b5f6ea11f40f3c04d8e8fa3d8aae4ec0075ff11a6d792d1598d6b5035d0c01d2437f473c6a25b1bcc72a9acd53d272b52777a22a181dcfc83faa5b6600582002e3ebfa185ded9ca9c9451bbf0a7aee086438ce5b58ade163c91b958e571b435820ffffffffffffffffffffffffffffffffffff820c700ea1cac8bde50edb206137038f6c76ed9114b9fb2e9bedfd986324fd98b251e59f55644e90bd9579f5cc78d8036da8e9147ef89ff584173d4d061d1e174164ecb8d209b4a81d44a5d2dea34da703b835ed9b99d1a22410a083d7ada4a56bc29c0e487ab27cb58b112565b833230c035823eaaad1a354e0f2473bf19b183c9969896352e2bc66329e4c3def969aac46031facf720ac90bea831d59d2dbfdb042215df401901b282de08f8efe8788a5031005820039397392f5b0e859d5a3e492dd6c66e2a1a4b12bed2806ceada8f46e866f0805820fffffffffffffffffffffffffffffffe5590d579f1340ca0acbdb38df6b6ff2000581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b482216ce872ed83f3200581f0281e7a3847fd47fa8d2bd8e0af06f76caad6388ccdf7ea7e08167b1cf61565820ffffffffffffffffffffffffffffffff30eeb02b4ab9d2d7c2cb8fcbe050ad640218a00058200363954466306c19c3145f8931c90c1049def55efa05e342c49b4faa180184804e03b0c35ec46d67d63fd9bcf10a3e0058200352c18c88af78149fa694677b8850a303b2ae69a5e901f9b713aa239aa074604e034004bc8558cd5dc0031ed23b970058200367c094347626ec50ea716c8bbea85267370790b05643b5c5c21efa832de2805820fffffffffffffffffffffffffffffffffffff556f497255dede4297db5afba31021924490385823ac3f65d37dd3a5016d002358dc6627fea10b8d5a33c6bd9f7c9dae8596e030737019756783a54b5e9ba8deca16abd038493ba7c601b7df9ce1064a3ef83ea038d011d36e29dddfb2225e9bb30bea18ca5bf878b6bc9d3b8c86e4c306b42d022030056d391b675a739d88e9c7ec97ea74d55b4da437dbf633f820bb4e72d7ce581030fee78145837275f7882487af24c0e8a262549a2c728864c292c885e576ab8f10219ffff03e38604327932dd98c5ffa492dfbd45cb08ad514ac6fc41352d7b581835c0ee7203464f03cd1f4049c11c1be5e22ea6b5ac90287e3333cd8a083d43ff07610a468100582002f73b92d3a0a947c3693def9a810ca5d355e177f3c332e348c176ba93388a834d23235e1b854976669a04d51e31034255f492bf9811bbeee7d3976ce4e7da3d300f489ce01c87fa4400908a2ef92003a771779bd2a6599326732a0450bd025488bae4a8ee53e304a47bc5b3ca587e5303a6bf46092db92932023faa8024fc8ad125b4ee6eed9528f72a9e551e546d77e303dc3f2544a4e90b75d6486b06b7f5f602d7cc0449cc92d4de15ec050a353e692c038fef9bad0e5caacb2caf24874f2091e2184fe542f96d1da885f5479294c2ad1c031987d155f9915eb6654f2ea06f89873c6173675cd2de68de4e4e339087bdb03803214459929b7dc49e8f0192a4030cbcbe632accde6a41387fe0d091fe0926a28603c7a5897441c17470d28b378cff0b01a558cd328e5e055480c8f5c3a7cb037bd10058200218148b7da5d4e6f30b8503a353f1cc22a1d1c280223d8c403a826fa8786b22581e2025004210002e0442057ff87434a38b66588dbbe61340840000140000500318115415bd6b3cf2d760b4f90b8fc1ee754b03678eb13d5e61e6bbfb58e5166403bf6654fbfda0e666508d8e17922fb578d8a0fa294aef2a31b948a4feba206af803a982cfdf5a6f17675cef89316d0f48902e84b350844b432a1893c79e29da704603632245065e7d8a7a751486123cf11d4cf9b3c47a1156dda170e05d70ffb767ce0315b18e9929492c819b6d8715d19e608f7e439f630dd04a3dd31ab0b3dae4ba410219ffff03594e08d3f2e6f588d64603ad4c279e5b3647f8dc8b41d5101850bccf228e4fbf00582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604f0514609129cbadfd18de8c53cb7b60032d8ee380084e7c5c14e2b5bbeb14535b9c442404b4faa081125a3132819fe4c2035bd95ef28a4fea86fbfcbcff5e2a6a6d91a41841d873d0842c81cc71178778e600582003e76e861ad9906279525bcacadefc926b4ad9f08bc87d9aec95adc43bfdc4004e0189b0e6c68b68d09d812af37c6800582003d45f006aeced0be1be35a4310d696ddbea0297ea25ef7aff19d18ce2544d6051da2b914e0155e5778a5bc1b1a1f2aff547005820030b4fa5e2bd1aa25d0df8864fa8e8f6974ccb94d169f4b9c4acf1635645a120501c7c9c1ad606876aed3bf4344010a04c0219616100582002add96e51da4b8fb2a06d7895a3fac9a84cc414b8975bf04b1908da94e7ba7e470d4dc17cc450330361b71d6df00d10de4ae298bd580ace5fdf214ed6671380bdd26c0879f4a3a37e0315d55537354ec93f455d6c3834018a9940c2b7cb45722555f5e46b7c84f3a77c03a2a711f4674fec47a948f33f3d023e517084ae6dd63c32520ed95ca79900d083034b333003a17d386cf8be053623b4c18583a4cbdcf2fa50e082999492b51d474003c0627ca86b3deafe51fd88e0b3f2aeaf1dbd82760503edb0e64299be4898ac2c0331b5d10fedf376d0f84d575ffe8e39bf31745803e471774fdddfe7ecc4144bd2034e03b15183b9bbb33874aa93a6aa4bca6e17bfff31228279f3356a8b79f8c9c90350993e78748bfbda8b5b743cfae1702c6f2f94a1ecb211e7394872fe540e41f003edfe760e812932af354a179031e4de01468dd14c67918f03c7963a25b75b4c3103770d5be321fce09cc265bd8684e9601ee399f886f4fd9dcbab066cd02c2748190399a5b88235f41d33093898e4438288f8b851a16f9a8b60fdbff10a4cea67569d033b179445d8b024288a269b16087c2ef53a340c00c39d74014a8f342cc29d9f2a00582002682c1f2bb56bcb9752854981da681d7c80ffc3599ce0e1ba370d087362b2ab5105a52801ab7adf97902dc2f57717728aae0219ffff0397044af20c14790a127e3b2f8d192dfc66821d4c9af897276c17aab53d2430c0030279ac3ab42e4682b78aea9007efa99cf66d90cd4819a567269743383ae860d803be6c946498803a74e292e4d13e3a427792cd8d1e6a842b8b43deec443559778203a9825b2ae66258f65bc3e369cdeb395f6c49d5c5a090b8c3aa60b971d6dd2dd20219ffff05581d02bec62263a115a366d50980af023cab11e7df4e3f539fa0c487187cb9070119567e02190a0003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03bafd2d672e206e818aa3c719b2d5fdec7167f2f1ecf40a1818ab47d6e007011bffffffffffffffff05581e030d2d3dfd785fb1281d7a298f3a91e77b84242b643f03f763bfa35387700c0546a775b160e67405581e038d1624acfc4aa8c2cd3a5a964e7caeb4a62c23220d4858c47273966c300c034691421580725705581e03e08666e072ef90c54d47889946ef6f34f792bc3a28d3d7939cc85623e0040205581e030001f667e84a3b3593a81a303697b1f33004f3e69c565b46679e382f70040105581e031b660447ff0d51c79489c18f135275c8da462f9823209619d9d6e8fe30040205581e03e481d48050f4316ef475b70c70be6c880cb7f38bbbd169b3626e264bb00c0145e8d4a51000021905eb038f2816df512196524d62a00f0eead467c1e42d95c22fa907ee4330b919aafabf033c2f3599d6186eb329ada7249747a72b022ae028e59a541009114d3cdf96dce803a1db0cbbf9e95bfe6ba686cc1bd53b4523dfe29a3ee6c6821bb77f668ab08888037e9b715cabbf811ecce7393e1e4a49b6016adcf9def619bf42148ac33b3b721d03dfffd5db30eb580ff491cb56dfb551d63caa027d1a77c37a2f3d8f67066789a60347eff852af12052c0ed72d138fa8c78db9ea06706bc0054798f20642745f8ebf038cbc7fe7cea442852c49ec53dbf84df89147e2bcde54d696dbac40c918fa8505039bf235d23f5f16f636a92f161b5ef60beee37dbeac6d0d89d23b108cdda1c8f0037e11108e411647499a7be8bef6309ee4c18c6e0439f43a108735d8b9cad9e20c034cb96a792318aa04dc23c96e295222486c8be7da11f6fc848f2ee84d15187cf103d1c4c5bb706e3f731421edc3c16d5458c33b8bd9e2b8adfd46d14f4874c8a0b403f1c7ea114e2aed915c2548f48c704489c7ca183d2db25119bdb45cf42ae5bf28035e2218a134daff1c94fddb488d4286992bc688af9689dacf0ee3cf84ec077896033dc8ccbcb1828c3d2cd1816d242b50f4d0260d00c2dc006c1a451d502b282cf50219ffff0365fd51d14be2a97339a9575d6932fdd0ffb53b9465ce45e1d5ff3e3521eb48df03c4ab56883f2c8f236d7ebea6cada6f7d1b409471c44b8a9d5b1abdabe1afa3ea033ead1f4c504db4516c4c245501dfd0ef1c5c1c4f1e2e92813f984df536ea157b0395087203a2e88d366204101a9fd780638afc10afa2cf736b96cff1cf3e68c632032f676f5ab71fe727382384e2d6138108c741d30413531578f1123e147f8641af03e3fae7d5e9b702c7b94c2254d48a75a41ee654154d6c1f22fe3adee116b5aa4103ea2333ad17efb7fdbd3971a4fbb2aa95cd3ff3541c962d0abd685ea5cb0c0f6e0219ffff0219ffff03bf0bcb55072092ffde75b7f50df54c6312e6bdd464758203a5bbb4bb43d356ff03b1f9ce6fd405dd272620ed8aea0b5e0745bd3a5eb1beafda7cabb050266e2c33035b184697c1d1686b0afba2b9ef094ef2ab159973807c666241bd3110f0db8ccd03c38894a6ae95ffebd7018e020c781b1d6f2e6f4b0cbdbc6ea74d8cce3d235b7003f769ed7bf5c67e46eaa7359803734bdbffadf4d6bd7aa4835563ab76fa3b6a4303b927bc37fbc1564fc3d037bb5c416149902ee31b34d12c4a56e0b6fa4637b4cb036934445f1dda9efe7d4f8e52e5874373d7a7df054317e7e76afeb3741043665c03909521ebbc3bea29220cfc1778b01edeba00fb48569de5775d44a9fa66a3bac103d3102c6b17ec5371673235d8326e16c868823f35735a702c903a4c608f5eb8e403fd156c3c6f7ccbaf9e479bb204f95495e56be4dd1e2a163d41743818fda609be036ecec05a5518afc37f5404361c65579beefda8f5b3cae6fc9b287d59b7001bb20394a43af65cadcd301eec5a1795a431f5d22feb0d22cd18f602ccaed8ee52751e03d139f1c581145630f2abafa049fd18207df2cffc4361b53a4fc012c4951f504803f8e8eacd5120aec89495394244eea3f66fba0fd21a556717f117e04f4a02092303f64b11c022212742fc554069f32bf26ca8e5c369e092a52480d52afe2a39a73803150abf8cec376f03c8a892ca03649e9f138a41db03ba25ad52f9328800c906b4036824f054a0070c2b662f70ff3a38f74601f5e002af8f0495702508f4404894fc036329a7cd874b49c738fd05b0b29c9c2f7aecb65ae0af098ea88ec9f156fa1734032c983a2b44308979ab80c8d8b1fa9161e6ff9506e146c75aed79fa35755aa4110369f6b77b59cc43a7f8595d3de64cf1ad48e25037a748e94bb102c717265e846503518aa4103349cfc096fae8a954a8fbf78864bc57181a1af10e908d34e4c9226503130c08fdb794c2cac38ee5893e97c335acf4aa4816281fa19172f70ae5c8ced30317cb46de3636b196974af8c7bcd4042fcb668705c2cd43fea1d87c68796595eb03e739c2bf8bf0b7f2ebcbd7108e3635bcc4471025ceb0344278fadd95c6f282410346db89e15c30c71f59b5e8ae2089f9883d0b3ca6cd1a15d1e6e5a9c31ad6ec210316299616b5d2df46dd0ca70d8ed63d5b0b986f78f1419ce314d5bdae6ecf2828033668964348db2d57d4ea0602d1189c5633213de64c05d81d11715cc23ecef73205581e0331d4b232f66ae6484b7def63f7fe1bb1401288ce334128bca16ab79ff008472386f26fc10000034512ad7a138ec178b8b839a0451e6465ae48402e04d3a8e27c0b1413eff2b57005581e03683ee057d6732cf66aa18914ba3ccf9bf4ba91b3e16fd0f3d0af3633c00c0547a8d61447eea044031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03efa46f4e500e7216de2c39d991d4fe5404f929eb5796ba14ed4f9b2b9007011bffffffffffffffff03575f4ee728fe33c9233e3f2c227a3e4208cf550f1d64fb7062a626640a8f56160380f004951d851bd295a1db73157d2c50091f91a4627eae792ca365762d8f61e205581e0389dd94117049c2069cb86a2c5a6db2c246e332d99333122bd1553c796007011bffffffffffffffff05581e03d53177d3b4a9c5877d95ca8aa17300ddbe48d032076aed43e12ee78520040103d8c5370cec8cd605d8535de70456a79cca05bfca147d9aac5d2f671324ccaa5805581e03da2fa8b9f19627170bb26be54438f645b68d282dcd5ddd850f89378b4008484d7df88d9600e000039615be01988ee4b50ff22e54f7c0023049c0670cb1ae35423a760acac373660a05581e03afc4b1d3de880e33ef4850c3b72c957ab5930dc3fc2a8cdfd2b70811100401045911da608060405234801561001057600080fd5b506004361061012c5760003560e01c80635ebaf1db116100ad578063b87bd48111610071578063b87bd481146102ef578063ca8b0176146102f7578063cb00aa73146102ff578063f106845414610325578063f5dab7111461032d5761012c565b80635ebaf1db146102a05780636a4874a1146102a85780639ead7222146102b05780639f181b5e146102cd578063a6f19c84146102e75761012c565b8063372500ab116100f4578063372500ab1461026457806344214ecf14610280578063480f592414610288578063570ca735146102905780635afffef1146102985761012c565b80630d5225de1461013157806317d7de7c146101595780632223686f146101d6578063245e4bf0146101fc5780633641e08314610220575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b0316610382565b005b61016161045a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019b578181015183820152602001610183565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610157600480360360208110156101ec57600080fd5b50356001600160a01b0316610488565b61020461054a565b604080516001600160a01b039092168252519081900360200190f35b610157600480360360a081101561023657600080fd5b508035906001600160a01b036020820135811691604081013582169160608201358116916080013516610559565b61026c6105f3565b604080519115158252519081900360200190f35b6102046107fe565b61026c61080d565b61020461081b565b61026c61082a565b610204610833565b610204610842565b610204600480360360208110156102c657600080fd5b503561085a565b6102d5610881565b60408051918252519081900360200190f35b610204610887565b61026c610896565b61026c61089b565b6102d56004803603602081101561031557600080fd5b50356001600160a01b0316610ae9565b6102d5610afb565b6103536004803603602081101561034357600080fd5b50356001600160a01b0316610b01565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390f35b60015460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181600087803b1580156103c857600080fd5b505af11580156103dc573d6000803e3d6000fd5b505050506040513d60208110156103f257600080fd5b50516001600160a01b031614610438576040805162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b604482015290519081900360640190fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b60408051808201909152601481527322bc3a3930a932bbb0b93229ba30b9b42b19971960611b602082015290565b60015460408051638da5cb5b60e01b8152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181600087803b1580156104ce57600080fd5b505af11580156104e2573d6000803e3d6000fd5b505050506040513d60208110156104f857600080fd5b50516001600160a01b03161461053e576040805162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b604482015290519081900360640190fd5b61054781610b27565b50565b6004546001600160a01b031681565b6003546001600160a01b03161561059f576040805162461bcd60e51b81526020600482015260056024820152640c9a5b9a5d60da1b604482015290519081900360640190fd5b600094909455600180546001600160a01b03199081166001600160a01b0395861617909155600280548216938516939093179092556003805483169184169190911790556004805490911691909216179055565b6001546000906001600160a01b03163314610641576040805162461bcd60e51b815260206004820152600960248201526810b7b832b930ba37b960b91b604482015290519081900360640190fd5b610649610d03565b60065460ff166106ea57600160009054906101000a90046001600160a01b03166001600160a01b0316639123d4046000546040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156106b057600080fd5b505af11580156106c4573d6000803e3d6000fd5b505050506040513d60208110156106da57600080fd5b50506006805460ff191660011790555b600654610100900460ff1615610784576001546000805460035460408051636c7b69cb60e01b815260048101939093526001600160a01b03918216602484015251931692636c7b69cb92604480840193602093929083900390910190829087803b15801561075757600080fd5b505af115801561076b573d6000803e3d6000fd5b505050506040513d602081101561078157600080fd5b50505b6009546001600160a01b0316156107f857600960009054906101000a90046001600160a01b03166001600160a01b0316632663fcfc6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156107e557600080fd5b505af19250505080156107f6575060015b505b50600190565b6009546001600160a01b031681565b600654610100900460ff1681565b6001546001600160a01b031681565b60065460ff1681565b6002546001600160a01b031681565b73d533a949740bb3306d119cc777fa900ba034cd5281565b6008818154811061086757fe5b6000918252602090912001546001600160a01b0316905081565b60085490565b6003546001600160a01b031681565b600190565b6001546000906001600160a01b031633146108e9576040805162461bcd60e51b815260206004820152600960248201526810b7b832b930ba37b960b91b604482015290519081900360640190fd5b60085460005b81811015610ae0576000600760006008848154811061090a57fe5b60009182526020808320909101546001600160a01b039081168452908301939093526040909101902080549092501680610945575050610ad8565b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561099457600080fd5b505afa1580156109a8573d6000803e3d6000fd5b505050506040513d60208110156109be57600080fd5b505190508015610ad4576001600160a01b0382166000908152600560205260409020546109eb9082610dce565b6001600160a01b03831660008181526005602052604090209190915573d533a949740bb3306d119cc777fa900ba034cd521415610a4457600154610a3c906001600160a01b03848116911683610e2f565b505050610ad8565b60018301546001600160a01b031680610a605750505050610ad8565b610a746001600160a01b0384168284610e2f565b806001600160a01b031663590a41f5836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610aba57600080fd5b505af1158015610ace573d6000803e3d6000fd5b50505050505b5050505b6001016108ef565b50600191505090565b60056020526000908152604090205481565b60005481565b600760205260009081526040902080546001909101546001600160a01b03918216911682565b6001600160a01b0380821660009081526007602052604090208054909116610cff5780546001600160a01b0319166001600160a01b038316908117825573d533a949740bb3306d119cc777fa900ba034cd5214610cb3576001546000805460408051631526fe2760e01b815260048101929092525191926001600160a01b031691631526fe279160248082019260c092909190829003018186803b158015610bce57600080fd5b505afa158015610be2573d6000803e3d6000fd5b505050506040513d60c0811015610bf857600080fd5b50606001516004805460408051637c6b091760e11b81526001600160a01b038881169482019490945283851660248201523060448201529051939450600093929091169163f8d6122e9160648082019260209290919082900301818787803b158015610c6357600080fd5b505af1158015610c77573d6000803e3d6000fd5b505050506040513d6020811015610c8d57600080fd5b50516001840180546001600160a01b0319166001600160a01b0390921691909117905550505b600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0384161790555b5050565b60005b600881101561054757600354604080516354c49fe960e01b81526004810184905290516000926001600160a01b0316916354c49fe9916024808301926020929190829003018186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506040513d6020811015610d8557600080fd5b505190506001600160a01b038116610d9d5750610547565b600654610100900460ff16610dbc576006805461ff0019166101001790555b610dc581610b27565b50600101610d06565b600082820183811015610e28576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610e81908490610e86565b505050565b6060610edb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f379092919063ffffffff16565b805190915015610e8157808060200190516020811015610efa57600080fd5b5051610e815760405162461bcd60e51b815260040180806020018281038252602a81526020018061117b602a913960400191505060405180910390fd5b6060610f468484600085610f4e565b949350505050565b606082471015610f8f5760405162461bcd60e51b81526004018080602001828103825260268152602001806111556026913960400191505060405180910390fd5b610f98856110aa565b610fe9576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106110285780518252601f199092019160209182019101611009565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461108a576040519150601f19603f3d011682016040523d82523d6000602084013e61108f565b606091505b509150915061109f8282866110b0565b979650505050505050565b3b151590565b606083156110bf575081610e28565b8251156110cf5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611119578181015183820152602001611101565b50505050905090810190601f1680156111465780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212204835af9a80f70fbd12dad792e58e6e3b3b61c34abd6b90c9c340f210665d166664736f6c634300060c00330605581d02ad9c0ca4311499e93d6d9ec2963f981917e64994033461791def041c07011911da05581d0276c5b08a74c5bb93ffcf295634e1363543d0afe47d0038a100c3f7c60c114639407a4c58e002190480038a753274a0c3a45fb4d55e252795f60cf5d7177e5724a19662a58de7ef3fe63c0219777d035b15f8cbdbb473eac984cccd544c00c5d5a4fc8352604278dfcd42674aaae5cb03015cad9a9ee586d50a6c3e4cfbecc09d0474ae2c808bcc849bc491538440ab6f03bb6c22854fc5fb461c35817078885be55d21c4714dfa629df85721d34b98293603bc2ad5b4f32314ded6276dfa3c7798728144a1e701f01662ce94574b60e88389039c2cbae93d26cfd44f30c461c5ed481e69dbed3ea31d479ec0ad0d13526c4cdc034b6a1779cabd7e4bca4e152feda7033e00473fb3d7c8712c82c1d7493018a05a03c87a18a00c3d7ded92e00f95245e029c68a517c1ae78549cf0896eff7ca811a90303fe5a245dce4eb4744f602efce1667ec032a9341276d3577e8a20b8fb4c4e58038abe32c603889cffa854fc075e534519d7f5c789dd25b15bee7bab545e8f8c0a031d26368c1a74b500c39b659e6711c748fc2e5017781813e270c277cef17aceb70331fe5236f511d032171b3b9240613ea7d7d480cd7b43f963e63dbf168effa7e203f99e47bf86a6cddeaeb5754dd98ce9c9dcc62e7d07c4fb8c630d7cde75bfe34c0317c7538edcce67f2f4a5e6e2d6d57fd9835f600f3194b310b9178ae3aeb7ffa1034f04c40a642bc2df1fb96951b47fae31029422acc7397b6c7f3cc7ec9d018e3e03fd382634b1b0e3b92cbf0aef64c72d5d0518e3033b95a5134babac21f9bd2f9e0219ffff03e98161ae9ae566651a781ec6efbbf4d76475f9a6c5c7f302c6e52d85bd8c3ca20219ffff038bc95e9e90e0496d68d33403d416385ebc8f8507ee513da6b195a802c224a5a403ed7679efa242202954c7119e2ac78ddbc9603fcaf5c74d04481a1633676e80860219ffff03236ebec003e0248352f901a4f678d3307460efb991c8d6438730f98727aa55ec034b9f4fe79ec33dfef96834a1296a2e7526cdb6d3d682996456d992f185d1398803f8d59268e9cdd3c557c8f4f1e4e9c14557e685b0437bcf2291cf2b7db07840560351d96e031d7996276efda8248dd76c1f206c3e30592b33799eb3ca6a7e49c778037d4dfdc6820f11209ad42d8db729ffda1eb1e6412ffe2daccc0e54a82ffb74040379fe8e472757fa0ed8686a57fe99e31f974bf75bb5b252e8da29dc9a9f7fb9720356bdb6781ec3610ff08301e06af2801f21901cc2afe70b6729a892d698edca59037ba97c7b5ef3d4f728cb3f81d3b404a6a9d6fa08dd9c893e456e9223645f0107036851b2c495049b3b6cd450d4a986b1eb29a2fac3db7af2c08e0fba4b788c75a3033b456b67b26bd82301b506e67e79cca0c94cda1dc2cd4ebad126cb5b6a1d7bd903884b7f64fd9211f5fa3642e7e96e98522abd3259dc08f1e3e76b2cfc034f982f030bcec76710506dac83b5855987b87fc4c7f2951f19b160e569d0a9130b3f1a3a03044a1c9ffdeb564eff3a04e11c398c5ec91c24b285b4f6597bdf1c7b248ceb4c0378f9816599db830e784ecf06fb381a229ddadc3bcda16b7941ff3372277b382c03e1409f22f0803e9e934b590ac1c263f071d9f5e2c9ac5cbbad156cb052e242ed03a292515ea0734c50666c2d321287a67399e7367e73c9c10c9f3ee39c89052bf7035db0a8f99bb70e97f887e82226388e7d4c4cdded40ea0caffe415d071229590a03d742aa139acdf1295b9edc8d0d6774489c30ebccd1d337df4727022a0dbd18e90363bbbc1ef7d3512d67c706ea028a00d761901ee606403485643445307b6d03220317c8d10636a38bb4096d33c95f6a410620f3b033fdc2514c815d011651ee88cc03c204da1dd1764f400a71845474cd7cf3fe3aea9a28183edf6314ae0a2cc59e800381a18c952342648ff372dc16b1bc182694fff8836b3c134c16c5b5a4dd72807703c87377223be6aa520c8c390a19e355f6fbccc08264ff4e6c18ab772e8d06a0b0037383761a61d8fd0e6d4c6ff87a6555d6a910049d59f31a606d44956cbbf9f592037c1df04443fc8cd9478d5b87c77d571977a52325ca5324a91cd76fc77559eeea0343d1fb87b8b4556bf46d49d0df4663f9521de20344771a39e8033a9b4620365d0389d5a50eb71f867f640aa4fa6a195a454175a4bb2b65e9d4976eb7415ca3b4db03ab7cab46dfb7abc821a1edf0aa3f4cd6af3b64868c7b49af482650c4408c0c980371175d63dcb7253ea53fc15bd54582796d50eb386fbd4d1424fb6c0f70b0011103366e8accabbe14b830c539d6868928b423173a418d2160845095cd60195a5d14034f65109ba86cd828fbce2e6a3b31cca7a1e91903dca4587a830bbdfbc10d7a0c05581e03ba9c97399a26a0e0d21fa50173dcd68c186c9b45adb63eeb7829261480084609184e72a00005581e03728df05849e31d6cc3496af8811e08a184c6991c05c60f81c281751d100c03467f5949ceda7003f4b0dc6b67982d7ea33a51008b19317fb089691a45be251823cf53133e0925b405581e03f1635152477bf49ccc95fb4b9f8db77d5720395b9f11d698d5fbddc260084705ebd312a02aaa039a534344002c9643a934a2f1241eede2b60a843e1728ba2e265178c7e5400bd105581e0353be41cdfc3af81ada62aa250d0174d569d0b28f700e296285dd5711e00c0747022da6cb2d838005581e032b8747c87b7db3dc098200e0be40b1690407ecdadabbc8b063bad0a7600c014603a440ff680005581e03e4dbe03ddefea08691992b29a4e9215199aed191a110081dcdc7c79d400c1943614809b698da5f7d26c305581e03333fa4c843bc935a562df7b71e3cd10a14bcef9f8e8f419e35199aa6800c034701b3598fa2b5280310ec13cb47cb5c0f5db58c25a9b5ba4640d33d31b2dc2f13ffee9ca7701ce0c3021951ef034701780337eebe194c7622216a43cb5c560d2fdb8081c235161f13e32497d0e203dd6206681da8b0965355affaf9bebc1fe69002f7963f5fd89fbc5159a0c8003e031506d0fdca49bd20fe11b434d8610bde030661238adfaa657e9295e91d2a30c403972df7e9f9063ce3d9a7b8ae933d3d09d3fbdfa482f108adf73a83f16934498903ab71e8c5d5a52ec6dee8fd083c1ee053cddc4bef0bc87ca988dfc9f9af0d0f2703cce691a662a1f62f04bc287ffd09ab5c36c74645ecb44c550433d79b0aeb3b04038ce9537cd251f75a8700a01645e98a246f4ec6d72ca3a92eed9e27738a1f2b420219ffff03730e89c55c85036529ada0f6ea3c756933c4000a8150bd032faa0c78ec11b8ba0386105d7028965f67f40755c2e894921f311a31c93bba9a9d80d1712ca7ca75750357ebf58b31cf917756bf9285735d7b0ec1804a7281b3607a850fbddd55f5e98b0219ffff03db1e0beafd2d9986dc4412b3d8906b009d1a91f9a01a21f9b96ca153840e835503a0aa85061f38190a4c53272753e859882257e3827fafef07b817dbea8bb98ea90322168856df51c9150a227dd774bdfc7a81d3af4dbec2760d6370cc197150f024030817d821019d3867634989012eae2f6b31f70cf3d5098a9fdc022ff1cd65c37703acdb5c58c0ea5c34811726d8769b344df66e70670a677f0c5d57c1e7aaef77de03df79f810e461a4c84c0c125413a1d493dfe9455b070b25e944182069dc4a0d270341aa969a395bd3f79c950a560458e9e56a3f0769b62c793ca362c747f68f73510370a6f212ac7395201a553dc5edb65f4f75e64aa291d8714c471c907447aee42503ff150fa67ecfc81df98a1d8eab20bdf6c809217381d6d8df18120573607f438c0219ffff03e3bcbc721834115e2a5c29a139c562da3da2162c35fb3ed51d2c847e82ec5e0b03c66d5c87dc30fe31eca8aa58f823775675a30326e587882d57865591c3d145770219ffff03d2c8f4fa3e414f2714774f1fb7eec9d92d8cfeb32dd71465197f629ffc8a3f850308de40a58fc66b735e30c3194a1dda99aeac7ec423983c4b50e330ed98eef1c203e26886911112f0e62843b43d2539f5c360bbe2ab8bdf93bf26557f95cf05e9920305dc7979e8e54a2c628f60032bc0f4d85ea8b34dba40b7934bbe23b4f45fdc47037e480320440480adc362975a4f1da5ad591300f17b536ceaaa1345e72a4cccd903d51a47edaea8da8da1b654d12755b95380d5c25be94f7fce31173dc2e0af353a0321a46b5c975df02731603cbb48ccd1e26c17942dc1060957f7fb449c3fa2053703c0b109417c94537f7249d23d855a3413b6f18f329c897ad28e43a8e56ebd9c260302533ca9f33d56dba6684b75b7d0aa5275cbd7fcbcf4ad6b3b149f4ba7e9778a037e07c662d61fdef4f1342971fdac0f785182737dec2b1b4a7f6dc12dc3c5f20b03e673771af84ac79878fa4705fdf4fc2f04518c85a96c2cf8c8d2a70fdc649ba303404c0785f313cd60abdaf31e047d3d81b643455e06006c6c3d2e29501320a714030ccea67743c448d1e4f01d4c7af07612b649a9814c0df83538f9043ee4fc2b03033090041eaa314faf8267ba86576e95960ceada4a8c7192513f6bf09dea8311ec030de63bae4568c593b5a0139ec80a24f666d11635dfd827ac343a759f3d6cefef03dbb0b9335ac394c66c39bb597d82a554b95d51db0c08622f3c7e1dbc6563fc7203f008418671a7d70bef907babed8a3c4b544143d172c35c9e6d9bd57d61a9047003f5394f32570a214087c9a5a879ee6ed34cb8150d6e0c54fce82564024d39207e0336aadfa9f6ee6ea79ae1b61fa65cb4a8202094843f43144ec7623d2ccd32b561033ef3f17358105a6698eddf742488cf45ffe51b398db3f72eb29985bdc064ee78030805cfcb2543883820a3b3a4b098dcada7740a4922e4f682f2cf252abc3b8c3d0331165725f399e90f5f91a929568ca3c4b55c0049a18de35ea9cc1429a9f55ea603b8abe531209ae4d8052f2d1e24aaca62b9a3752ba67294f08d82f2eea8a4d8dd038ca3936287a99c16fd75dee26904bfdd72cf189fa63e2f67b63e27e9d589f0390361631898b4db8d630068cfd49303876e86227650c312431bbccd96045cb2e31303c6c7366cad007baaa18745659668997877b63e5531eac0ed8e9ad5f10e94ec2903e6df4368e450fff3ccf9fee76f2f2cb67ec2600f2b01b6ba23c0dff2dd3e9a8d03ba7772137266774451134a02a08db3aa1027411252b25e1ba00e886495cac27d038374251e6f5e4fd2a7f64c0cb8ba0d9e59eae5c5a52afcfd496208e750a0c1af03e386fc2e44fa133c0d315dd8420cad81cb0c2803bb5aaea7964d18ef97b1269003bf9c8e065741a364241587b19ff06ffa01d8757150d2b9e406dd6f8f47463da003e9a73ee97c75ace2cdd5194f9bf57e3d6b6adb4052fa3aa9891fbcd5be157ee703d49f6aab201c3b362d0e22ede0c0f673e35391c6c131a95ed60ddbdc5550403505581d02d29336cf9b807015b4d29419a08b94090bc15f9b6d51930cb1b1c69c0c0146254a0e6f9000045959b2608060405234801561001057600080fd5b50600436106101c45760003560e01c806370cf754a116100f9578063cc7e7fa211610097578063ddca3f4311610071578063ddca3f4314610842578063f305839914610862578063f30dba931461086a578063f637731d146108ec576101c4565b8063cc7e7fa2146107f5578063d0c93a7c1461081b578063d21220a71461083a576101c4565b8063a34123a7116100d3578063a34123a71461072d578063a38807f214610767578063b0d0d211146107c2578063c45a0155146107ed576101c4565b806370cf754a146105e157806385b66729146105e9578063883bdbfd14610626576101c4565b80633c8a7d8d116101665780634f1eb3d8116101405780634f1eb3d81461050f578063514ea4bf146105605780635339c296146105b9578063540d4918146105d9576101c4565b80633c8a7d8d146103cb578063461413191461046b578063490e6cbc14610485576101c4565b80631ad8b03b116101a25780631ad8b03b146102be578063252c09d7146102f557806332148f671461034c5780633850c7bd1461036f576101c4565b80630dfe1681146101c9578063128acb08146101ed5780631a6865021461029a575b600080fd5b6101d1610912565b604080516001600160a01b039092168252519081900360200190f35b610281600480360360a081101561020357600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a081016080820135600160201b81111561024357600080fd5b82018360208201111561025557600080fd5b803590602001918460018302840111600160201b8311171561027657600080fd5b509092509050610936565b6040805192835260208301919091528051918290030190f35b6102a2611633565b604080516001600160801b039092168252519081900360200190f35b6102c6611642565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6103126004803603602081101561030b57600080fd5b503561165c565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b61036d6004803603602081101561036257600080fd5b503561ffff166116a1565b005b610377611793565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015263ffffffff90911660a0840152151560c0830152519081900360e00190f35b610281600480360360a08110156103e157600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a081016080820135600160201b81111561042d57600080fd5b82018360208201111561043f57600080fd5b803590602001918460018302840111600160201b8311171561046057600080fd5b5090925090506117e8565b610473611aa6565b60408051918252519081900360200190f35b61036d6004803603608081101561049b57600080fd5b6001600160a01b038235169160208101359160408201359190810190608081016060820135600160201b8111156104d157600080fd5b8201836020820111156104e357600080fd5b803590602001918460018302840111600160201b8311171561050457600080fd5b509092509050611aac565b6102c6600480360360a081101561052557600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611ef3565b61057d6004803603602081101561057657600080fd5b5035612111565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b610473600480360360208110156105cf57600080fd5b503560010b61214e565b6101d1612160565b6102a2612171565b6102c6600480360360608110156105ff57600080fd5b506001600160a01b03813516906001600160801b0360208201358116916040013516612195565b6106946004803603602081101561063c57600080fd5b810190602081018135600160201b81111561065657600080fd5b82018360208201111561066857600080fd5b803590602001918460208302840111600160201b8311171561068957600080fd5b509092509050612490565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106d85781810151838201526020016106c0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156107175781810151838201526020016106ff565b5050505090500194505050505060405180910390f35b6102816004803603606081101561074357600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612515565b6107916004803603604081101561077d57600080fd5b508035600290810b9160200135900b612691565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b61036d600480360360408110156107d857600080fd5b5063ffffffff81358116916020013516612879565b6101d1612aa1565b61036d6004803603602081101561080b57600080fd5b50356001600160a01b0316612ac5565b610823612be7565b6040805160029290920b8252519081900360200190f35b6101d1612c0b565b61084a612c2f565b6040805162ffffff9092168252519081900360200190f35b610473612c53565b61088a6004803603602081101561088057600080fd5b503560020b612c59565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b61036d6004803603602081101561090257600080fd5b50356001600160a01b0316612cc5565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b60008085610970576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b9004909116608082015260015463ffffffff811660a083015260ff600160201b90910416151560c08201819052610a28576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a735780600001516001600160a01b0316866001600160a01b0316118015610a6e575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610aa5565b80600001516001600160a01b0316866001600160a01b0316108015610aa557506401000276a36001600160a01b038716115b610adc576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6001805460ff60201b191690556040805160c08101909152600090808a610b115760108460a0015163ffffffff16901c610b1b565b60a084015161ffff165b63ffffffff1681526005546001600160801b03166020820152604001610b3f612fca565b63ffffffff1681526000602082018190526040820181905260609091015262010008549091506001600160a01b031615610be557620100085460408083015181516310a537f160e11b815263ffffffff909116600482015290516001600160a01b039092169163214a6fe29160248082019260009290919082900301818387803b158015610bcc57600080fd5b505af1158015610be0573d6000803e3d6000fd5b505050505b6000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610c3357600354610c37565b6002545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610c865750886001600160a01b031681604001516001600160a01b031614155b156110f557610c93615942565b60408201516001600160a01b031681526060820151610cd6906007907f00000000000000000000000000000000000000000000000000000000000000328f612fce565b15156040830152600290810b810b60208301819052620d89e719910b1215610d0757620d89e7196020820152610d26565b6020810151620d89e860029190910b1315610d2657620d89e860208201525b610d338160200151613110565b6001600160a01b031660608201526040820151610dc4908d610d6d578b6001600160a01b031683606001516001600160a01b031611610d87565b8b6001600160a01b031683606001516001600160a01b0316105b610d95578260600151610d97565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000009c4613441565b60c085015260a084015260808301526001600160a01b031660408301528215610e2657610dfa8160c00151826080015101613633565b825103825260a0810151610e1c90610e1190613633565b602084015190613649565b6020830152610e61565b610e338160a00151613633565b825101825260c08101516080820151610e5b91610e509101613633565b602084015190613665565b60208301525b835163ffffffff1615610ec1576000612710610e94866000015163ffffffff168460c0015161367b90919063ffffffff16565b81610e9b57fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610f0057610ef48160c00151600160801b8460c001516001600160801b031661369f565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b031614156110b45780604001511561108b578360a00151610f8a57610f68846040015160008760200151886040015188602001518a60600151600961374f909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b62010008546001600160a01b03161561101557620100085460208201516040805163a498463360e01b815260029290920b60048301528e15156024830152516001600160a01b039092169163a49846339160448082019260009290919082900301818387803b158015610ffc57600080fd5b505af1158015611010573d6000803e3d6000fd5b505050505b600061106182602001518e61102c57600254611032565b84608001515b8f611041578560800151611045565b6003545b608089015160608a015160408b015160069594939291906138e1565b90508c1561106d576000035b61107b8360c001518261399f565b6001600160801b031660c0840152505b8b61109a5780602001516110a3565b60018160200151035b600290810b900b60608301526110ef565b80600001516001600160a01b031682604001516001600160a01b0316146110ef576110e28260400151613a55565b600290810b900b60608301525b50610c60565b836020015160020b816060015160020b146111c35760008061114386604001518660400151886020015188602001518a606001518b608001516009613d7d909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b9390931692909202919091176001600160a01b0319166001600160a01b03909116179055506111e89050565b6040810151600080546001600160a01b0319166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b03161461122e5760c0810151600580546001600160801b0319166001600160801b039092169190911790555b6000808c1561128857608083015160025560a08301516001600160801b03161561127c5760a0830151600480546001600160801b031981166001600160801b03918216909301169190911790555b8260a0015191506112d5565b608083015160035560a08301516001600160801b0316156112ce5760a0830151600480546001600160801b03808216600160801b92839004821690940116029190911790555b5060a08201515b8315158d1515146112ee57602083015183518d036112fb565b82600001518c0383602001515b90985096508c1561143457600087121561133d5761133d7f000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd68f89600003613f18565b6000611347614066565b9050336001600160a01b03166323a69e758a8a8e8e6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113cb57600080fd5b505af11580156113df573d6000803e3d6000fd5b505050506113eb614066565b6113f5828b61419f565b111561142e576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b5061155e565b600088121561146b5761146b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488f8a600003613f18565b60006114756141af565b9050336001600160a01b03166323a69e758a8a8e8e6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156114f957600080fd5b505af115801561150d573d6000803e3d6000fd5b505050506115196141af565b611523828a61419f565b111561155c576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b8d6001600160a01b0316336001600160a01b03167f19b47279256b2a23a1665c810c8d55a1758940ee09377d4f8d26497a3577dc838a8a87604001518860c001518960600151898960405180888152602001878152602001866001600160a01b03168152602001856001600160801b031681526020018460020b8152602001836001600160801b03168152602001826001600160801b0316815260200197505050505050505060405180910390a350506001805460ff60201b1916600160201b17905550939a92995091975050505050505050565b6005546001600160801b031681565b6004546001600160801b0380821691600160801b90041682565b60098161ffff811061166d57600080fd5b015463ffffffff81169150600160201b810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600154600160201b900460ff166116e5576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b1916905560008054600160d81b900461ffff169061170e60098385614247565b6000805461ffff808416600160d81b810261ffff60d81b199093169290921790925591925083161461177b576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506001805460ff60201b1916600160201b17905550565b6000546001546001600160a01b03821691600160a01b810460020b9161ffff600160b81b8304811692600160c81b8104821692600160d81b9091049091169063ffffffff81169060ff600160201b9091041687565b6001546000908190600160201b900460ff16611831576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b191690556001600160801b03851661185157600080fd5b60008061189f60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016118958a6001600160801b03166142ea565b600f0b90526142fb565b925092505081935080925060008060008611156118c1576118be614066565b91505b84156118d2576118cf6141af565b90505b336001600160a01b03166399eee9d087878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561195457600080fd5b505af1158015611968573d6000803e3d6000fd5b5050505060008611156119bf5761197d614066565b611987838861419f565b11156119bf576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b8415611a0f576119cd6141af565b6119d7828761419f565b1115611a0f576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506001805460ff60201b1916600160201b17905550919890975095505050505050565b60035481565b600154600160201b900460ff16611af0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b191690556005546001600160801b031680611b3f576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b6000611b74867f00000000000000000000000000000000000000000000000000000000000009c462ffffff16620f4240614531565b90506000611bab867f00000000000000000000000000000000000000000000000000000000000009c462ffffff16620f4240614531565b90506000611bb7614066565b90506000611bc36141af565b90508815611bf657611bf67f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8b613f18565b8715611c2757611c277f000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd68b8a613f18565b336001600160a01b031663a1d4833685858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611ca957600080fd5b505af1158015611cbd573d6000803e3d6000fd5b505050506000611ccb614066565b90506000611cd76141af565b905081611ce4858861419f565b1115611d1c576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611d27848761419f565b1115611d5f576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611de85760015461ffff1660008115611d8c5761271063ffffffff8316850204611d8f565b60005b90506001600160801b03811615611dc257600480546001600160801b038082168401166001600160801b03199091161790555b611ddc818503600160801b8d6001600160801b031661369f565b60028054909101905550505b8015611e6d5760015460101c61ffff1660008115611e125761271063ffffffff8316840204611e15565b60005b90506001600160801b03811615611e4757600480546001600160801b03600160801b8083048216850182160291161790555b611e61818403600160801b8d6001600160801b031661369f565b60038054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506001805460ff60201b1916600160201b179055505050505050505050505050565b6001546000908190600160201b900460ff16611f3c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b191690556000611f58600833898961456b565b60038101549091506001600160801b0390811690861611611f795784611f88565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611fb05783611fc6565b6003810154600160801b90046001600160801b03165b91506001600160801b0383161561202b576003810180546001600160801b031981166001600160801b0391821686900382161790915561202b907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908616613f18565b6001600160801b03821615612091576003810180546001600160801b03600160801b808304821686900382160291811691909117909155612091907f000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6908a908516613f18565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506001805460ff60201b1916600160201b17905590969095509350505050565b60086020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60076020526000908152604090205481565b62010008546001600160a01b031681565b7f000000000000000000000000000000000001d8b7ac9dd9f54805d403b8d237ee81565b6001546000908190600160201b900460ff166121de576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b19169055336001600160a01b037f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918651614806122ae57507f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918656001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561227657600080fd5b505afa15801561228a573d6000803e3d6000fd5b505050506040513d60208110156122a057600080fd5b50516001600160a01b031633145b6122b757600080fd5b6004546001600160801b03908116908516116122d357836122e0565b6004546001600160801b03165b6004549092506001600160801b03600160801b909104811690841611612306578261231a565b600454600160801b90046001600160801b03165b90506001600160801b0382161561239b576004546001600160801b038381169116141561234957600019909101905b600480546001600160801b031981166001600160801b0391821685900382161790915561239b907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908516613f18565b6001600160801b03811615612421576004546001600160801b03828116600160801b9092041614156123cc57600019015b600480546001600160801b03600160801b808304821685900382160291811691909117909155612421907f000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd69087908416613f18565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36001805460ff60201b1916600160201b1790559094909350915050565b60608061250a61249e612fca565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600554600996959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b9004166145cf565b915091509250929050565b6001546000908190600160201b900460ff1661255e576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b1916905560408051608081018252338152600287810b602083015286900b91810191909152600090819081906125ba90606081016125ad6001600160801b038a166142ea565b600003600f0b90526142fb565b92509250925081600003945080600003935060008511806125db5750600084115b1561261a576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506001805460ff60201b1916600160201b179055509094909350915050565b60008060006126a08585614729565b600285810b810b600090815260066020819052604080832088850b90940b8352822060038401549182900b93600160381b83046001600160a01b0316928492600160d81b820463ffffffff16928492909190600160f81b900460ff168061270657600080fd5b6003820154600681900b9850600160381b81046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff168061274757600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b909204909316608083015260015463ffffffff811660a084015260ff600160201b90910416151560c08301529093508e820b910b121590506127ef57509390940396509003935090039050612872565b8a60020b816020015160020b121561286357600061280b612fca565b6020830151604084015160055460608601519394506000938493612841936009938893879392916001600160801b03169061374f565b9a9003989098039b505094909603929092039650909103039250612872915050565b50949093039650039350900390505b9250925092565b600154600160201b900460ff166128bd576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6001805460ff60201b19169055336001600160a01b037f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a09186516148061298d57507f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918656001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561295557600080fd5b505afa158015612969573d6000803e3d6000fd5b505050506040513d602081101561297f57600080fd5b50516001600160a01b031633145b61299657600080fd5b63ffffffff821615806129c457506103e88263ffffffff16101580156129c45750610fa08263ffffffff1611155b80156129f9575063ffffffff811615806129f957506103e88163ffffffff16101580156129f95750610fa08163ffffffff1611155b612a0257600080fd5b6001805465ffffffff0000601084901b16840163ffffffff90811663ffffffff19831617909255167fb3159fed3ddfba67bae294599eafe2d0ec98c08bb38e0e5fb87d33154b6e05aa62010000826040805163ffffffff939092068316825261ffff601086901c16602083015286831682820152918516606082015290519081900360800190a150506001805460ff60201b1916600160201b17905550565b7f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a09186581565b336001600160a01b037f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a091865161480612b8857507f0000000000000000000000000bfbcf9fa4f9c56b0f40a671ad40e0805a0918656001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015612b5057600080fd5b505afa158015612b64573d6000803e3d6000fd5b505050506040513d6020811015612b7a57600080fd5b50516001600160a01b031633145b612b9157600080fd5b6201000880546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f29983690a85a11696ce8a357993744f8d5a74fde14653e517cc2f8608a7235e99181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000003281565b7f000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd681565b7f00000000000000000000000000000000000000000000000000000000000009c481565b60025481565b60066020819052600091825260409091208054600182015460028301546003909301546001600160801b03831694600160801b909304600f0b93919281900b90600160381b81046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612d08576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612d1382613a55565b9050600080612d2b612d23612fca565b6009906147f2565b6040805160e0810182526001600160a01b038816808252600288810b60208401819052600094840185905261ffff8781166060860181905290871660808601819052630c800c8060a08701819052600160c090970187905287546001600160a01b03191690951762ffffff60a01b1916600160a01b62ffffff9490950b8416949094029390931763ffffffff60b81b1916600160c81b9091021761ffff60d81b1916600160d81b909202919091179093558154600160201b63ffffffff1990911690911760ff60201b191617905591935091507f00000000000000000000000000000000000000000000000000000000000009c41660641415612e40576001805463ffffffff1916630ce40ce4179055612f11565b7f00000000000000000000000000000000000000000000000000000000000009c462ffffff166101f41415612e87576001805463ffffffff1916630d480d48179055612f11565b7f00000000000000000000000000000000000000000000000000000000000009c462ffffff166109c41415612ece576001805463ffffffff1916630c800c80179055612f11565b7f00000000000000000000000000000000000000000000000000000000000009c462ffffff166127101415612f11576001805463ffffffff1916630c800c801790555b604080516001600160a01b0386168152600285900b602082015281517f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c95929181900390910190a150505050565b60008082600281900b620d89e71981612f7357fe5b05029050600083600281900b620d89e881612f8a57fe5b0502905060008460020b83830360020b81612fa157fe5b0560010190508062ffffff166001600160801b03801681612fbe57fe5b0493505050505b919050565b4290565b60008060008460020b8660020b81612fe257fe5b05905060008660020b12801561300957508460020b8660020b8161300257fe5b0760020b15155b1561301357600019015b8315613088576000806130258361483e565b600182810b810b600090815260208d9052604090205460ff83169190911b8001600019019081168015159750929450909250908561306a57888360ff1686030261307d565b8861307482614850565b840360ff168603025b965050505050613106565b6000806130978360010161483e565b91509150600060018260ff166001901b031990506000818b60008660010b60010b81526020019081526020016000205416905080600014159550856130e957888360ff0360ff168660010101026130ff565b88836130f4836148ef565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12613127578260020b61312f565b8260020b6000035b9050620d89e881111561316d576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b60006001821661318157600160801b613193565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156131c7576ffff97272373d413259a46990580e213a0260801c5b60048216156131e6576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615613205576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615613224576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615613243576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615613262576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615613281576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156132a1576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156132c1576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156132e1576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615613301576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615613321576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615613341576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615613361576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615613381576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156133a2576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156133c2576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156133e1576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156133fe576b048a170391f7dc42444e8fa20260801c5b60008460020b131561341957806000198161341557fe5b0490505b600160201b81061561342c57600161342f565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906134c657600061347a8989620f42400362ffffff16620f424061369f565b9050826134935761348e8c8c8c60016149d9565b6134a0565b6134a08b8d8c6001614a54565b95508581106134b1578a96506134c0565b6134bd8c8b8386614b08565b96505b50613510565b816134dd576134d88b8b8b6000614a54565b6134ea565b6134ea8a8c8b60006149d9565b93508388600003106134fe57899550613510565b61350d8b8a8a60000385614b54565b95505b6001600160a01b038a81169087161482156135735780801561352f5750815b61354557613540878d8c6001614a54565b613547565b855b9550808015613554575081155b61356a57613565878d8c60006149d9565b61356c565b845b94506135bd565b80801561357d5750815b6135935761358e8c888c60016149d9565b613595565b855b95508080156135a2575081155b6135b8576135b38c888c6000614a54565b6135ba565b845b94505b811580156135cd57508860000385115b156135d9578860000394505b8180156135f857508a6001600160a01b0316876001600160a01b031614155b15613607578589039350613624565b613621868962ffffff168a620f42400362ffffff16614531565b93505b50505095509550955095915050565b6000600160ff1b821061364557600080fd5b5090565b8082038281131560008312151461365f57600080fd5b92915050565b8181018281121560008312151461365f57600080fd5b60008215806136965750508181028183828161369357fe5b04145b61365f57600080fd5b60008080600019858709868602925082811090839003039050806136d557600084116136ca57600080fd5b508290049050613748565b8084116136e157600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff87166137f5576000898661ffff1661ffff811061377057fe5b60408051608081018252919092015463ffffffff808216808452600160201b8304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a16146137e1576137de818a8988614ba0565b90505b8060200151816040015192509250506138d5565b86880360008061380a8c8c858c8c8c8c614c43565b91509150816000015163ffffffff168363ffffffff16141561383c5781602001518260400151945094505050506138d5565b805163ffffffff848116911614156138645780602001518160400151945094505050506138d5565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b8161389257fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816138c457fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b03600160381b808504821690960316909402670100000000000000600160d81b031990921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b1215613a0457826001600160801b03168260000384039150816001600160801b0316106139ff576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b61365f565b826001600160801b03168284019150816001600160801b0316101561365f576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b03831610801590613a91575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613ac6576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c97908811961790941790921717909117171760808110613b6757607f810383901c9150613b71565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c600160381b161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b14613d6e57886001600160a01b0316613d5282613110565b6001600160a01b03161115613d675781613d69565b805b613d70565b815b9998505050505050505050565b6000806000898961ffff1661ffff8110613d9357fe5b60408051608081018252919092015463ffffffff808216808452600160201b8304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613e0257888592509250506138d5565b8461ffff168461ffff16118015613e2357506001850361ffff168961ffff16145b15613e3057839150613e34565b8491505b8161ffff168960010161ffff1681613e4857fe5b069250613e5781898989614ba0565b8a8461ffff1661ffff8110613e6857fe5b825191018054602084015160408501516060909501511515600160f81b026001600160f81b036001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16600160201b026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613f945780518252601f199092019160209182019101613f75565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613ff6576040519150601f19603f3d011682016040523d82523d6000602084013e613ffb565b606091505b5091509150818015614029575080511580614029575080806020019051602081101561402657600080fd5b50515b61405f576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481693919290918291908083835b602083106140ff5780518252601f1990920191602091820191016140e0565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811461415f576040519150601f19603f3d011682016040523d82523d6000602084013e614164565b606091505b509150915081801561417857506020815110155b61418157600080fd5b80806020019051602081101561419657600080fd5b50519250505090565b8082018281101561365f57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6169391929091829190808383602083106140ff5780518252601f1990920191602091820191016140e0565b6000808361ffff1611614285576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff161161429b575081613748565b825b8261ffff168161ffff1610156142e1576001858261ffff1661ffff81106142c057fe5b01805463ffffffff191663ffffffff9290921691909117905560010161429d565b50909392505050565b80600f81900b8114612fc557600080fd5b600080600061431284602001518560400151614729565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b90940416608085015260015463ffffffff811660a086015260ff600160201b90910416151560c0850152885190890151948901519289015193946143b49491939092909190614e3d565b93508460600151600f0b60001461452957846020015160020b816020015160020b1215614409576144026143eb8660200151613110565b6143f88760400151613110565b8760600151614ff2565b9250614529565b846040015160020b816020015160020b12156144ff5760055460408201516001600160801b039091169061445b9061443f612fca565b6020850151606086015160808701516009949392918791613d7d565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b9390921692909202179055815160408701516144ab91906144a190613110565b8860600151614ff2565b93506144c96144bd8760200151613110565b83516060890151615036565b92506144d981876060015161399f565b600580546001600160801b0319166001600160801b039290921691909117905550614529565b61452661450f8660200151613110565b61451c8760400151613110565b8760600151615036565b91505b509193909250565b600061453e84848461369f565b90506000828061454a57fe5b848609111561374857600019811061456157600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff161161460f576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561462757600080fd5b50604051908082528060200260200182016040528015614651578160200160208202803683370190505b509150865167ffffffffffffffff8111801561466c57600080fd5b50604051908082528060200260200182016040528015614696578160200160208202803683370190505b50905060005b875181101561471c576146c78a8a8a84815181106146b657fe5b60200260200101518a8a8a8a61374f565b8483815181106146d357fe5b602002602001018484815181106146e657fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b8152505050808060010191505061469c565b5097509795505050505050565b8060020b8260020b12614769576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b12156147ac576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b13156147ee576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b600080821161485e57600080fd5b600160801b821061487157608091821c91015b68010000000000000000821061488957604091821c91015b600160201b821061489c57602091821c91015b6201000082106148ae57601091821c91015b61010082106148bf57600891821c91015b601082106148cf57600491821c91015b600482106148df57600291821c91015b60028210612fc557600101919050565b60008082116148fd57600080fd5b5060ff6001600160801b0382161561491857607f1901614920565b608082901c91505b67ffffffffffffffff82161561493957603f1901614941565b604082901c91505b63ffffffff82161561495657601f190161495e565b602082901c91505b61ffff82161561497157600f1901614979565b601082901c91505b60ff82161561498b5760071901614993565b600882901c91505b600f8216156149a557600319016149ad565b600482901c91505b60038216156149bf57600119016149c7565b600282901c91505b6001821615612fc55760001901919050565b6000836001600160a01b0316856001600160a01b031611156149f9579293925b81614a2657614a21836001600160801b03168686036001600160a01b0316600160601b61369f565b614a49565b614a49836001600160801b03168686036001600160a01b0316600160601b614531565b90505b949350505050565b6000836001600160a01b0316856001600160a01b03161115614a74579293925b6fffffffffffffffffffffffffffffffff60601b606084901b166001600160a01b038686038116908716614aa757600080fd5b83614ad757866001600160a01b0316614aca8383896001600160a01b031661369f565b81614ad157fe5b04614afd565b614afd614aee8383896001600160a01b0316614531565b886001600160a01b0316615065565b979650505050505050565b600080856001600160a01b031611614b1f57600080fd5b6000846001600160801b031611614b3557600080fd5b81614b4757614a218585856001615070565b614a498585856001615151565b600080856001600160a01b031611614b6b57600080fd5b6000846001600160801b031611614b8157600080fd5b81614b9357614a218585856000615151565b614a498585856000615070565b614ba861597e565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b031611614bfc576001614bfe565b845b6001600160801b031663ffffffff60801b608085901b1681614c1c57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b614c4b61597e565b614c5361597e565b888561ffff1661ffff8110614c6457fe5b60408051608081018252919092015463ffffffff8116808352600160201b8204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff16151560608201529250614cc89089908961523d565b15614d00578663ffffffff16826000015163ffffffff161415614cea576138d5565b81614cf783898988614ba0565b915091506138d5565b888361ffff168660010161ffff1681614d1557fe5b0661ffff1661ffff8110614d2557fe5b60408051608081018252929091015463ffffffff81168352600160201b8104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614dda57604080516080810182528a5463ffffffff81168252600160201b8104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614de98883600001518961523d565b614e20576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614e2d89898988876152fe565b9150915097509795505050505050565b6000614e4c600887878761456b565b60025460035491925090600080600f87900b15614f92576000614e6d612fca565b6000805460055492935090918291614eb79160099186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b90041661374f565b9092509050614ef160068d8b8d8b8b87898b60007f000000000000000000000000000000000001d8b7ac9dd9f54805d403b8d237ee61549c565b9450614f2860068c8b8d8b8b87898b60017f000000000000000000000000000000000001d8b7ac9dd9f54805d403b8d237ee61549c565b93508415614f5c57614f5c60078d7f0000000000000000000000000000000000000000000000000000000000000032615659565b8315614f8e57614f8e60078c7f0000000000000000000000000000000000000000000000000000000000000032615659565b5050505b600080614fa460068c8c8b8a8a6156bf565b9092509050614fb5878a848461576b565b600089600f0b1215614fe3578315614fd257614fd260068c615900565b8215614fe357614fe360068b615900565b50505050505095945050505050565b60008082600f0b126150185761501361500e8585856001614a54565b613633565b614a4c565b61502b61500e8585856000036000614a54565b600003949350505050565b60008082600f0b126150525761501361500e85858560016149d9565b61502b61500e85858560000360006149d9565b808204910615150190565b600081156150e35760006001600160a01b038411156150a6576150a184600160601b876001600160801b031661369f565b6150be565b6001600160801b038516606085901b816150bc57fe5b045b90506150db6150d66001600160a01b0388168361419f565b61592c565b915050614a4c565b60006001600160a01b038411156151115761510c84600160601b876001600160801b0316614531565b615128565b615128606085901b6001600160801b038716615065565b905080866001600160a01b03161161513f57600080fd5b6001600160a01b038616039050614a4c565b60008261515f575083614a4c565b6fffffffffffffffffffffffffffffffff60601b606085901b1682156151f6576001600160a01b0386168481029085828161519657fe5b0414156151c7578181018281106151c5576151bb83896001600160a01b031683614531565b9350505050614a4c565b505b6151ed826151e8878a6001600160a01b031686816151e157fe5b049061419f565b615065565b92505050614a4c565b6001600160a01b0386168481029085828161520d57fe5b0414801561521a57508082115b61522357600080fd5b8082036151bb6150d6846001600160a01b038b1684614531565b60008363ffffffff168363ffffffff161115801561526757508363ffffffff168263ffffffff1611155b15615283578163ffffffff168363ffffffff1611159050613748565b60008463ffffffff168463ffffffff16116152aa578363ffffffff16600160201b016152b2565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff16116152e2578363ffffffff16600160201b016152ea565b8363ffffffff165b64ffffffffff169091111595945050505050565b61530661597e565b61530e61597e565b60008361ffff168560010161ffff168161532457fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff8716828161535157fe5b0661ffff811061535d57fe5b60408051608081018252929091015463ffffffff81168352600160201b8104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082018190529095506153c75780600101925061533c565b898661ffff1682600101816153d857fe5b0661ffff81106153e457fe5b60408051608081018252929091015463ffffffff81168352600160201b8104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820152855190945060009061544e908b908b61523d565b905080801561546757506154678a8a876000015161523d565b15615472575061548f565b8061548257600182039250615489565b8160010193505b5061533c565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b0316826154c7828d61399f565b9050846001600160801b0316816001600160801b03161115615515576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b0382811615908216158114159450156155be578c60020b8e60020b136155a657600183018b9055600283018a9055600383018054670100000000000000600160d81b031916600160381b6001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180546001600160f81b0316600160f81b1790555b82546001600160801b0319166001600160801b03821617835585615607578254615602906155fd90600160801b9004600f90810b810b908f900b613665565b6142ea565b615628565b8254615628906155fd90600160801b9004600f90810b810b908f900b613649565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161566857fe5b0760020b1561567657600080fd5b6000806156918360020b8560020b8161568b57fe5b0561483e565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b1261570557505060018201546002830154615718565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561573a5750506001830154600284015461574d565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b61580a5781516001600160801b0316615802576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b508051615819565b8151615816908661399f565b90505b600061583d8360200151860384600001516001600160801b0316600160801b61369f565b905060006158638460400151860385600001516001600160801b0316600160801b61369f565b905086600f0b60001461588a5787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b0382161515806158b857506000816001600160801b0316115b156158f6576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612fc557600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a00582003b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db004861b8c7d957778fd600582003b78e440dc2ae1c4b9d1e8fb38b113aea7e736e309afb45e1b293642cd33c704c024f8f233a17ac22e4e438fb0219024000582002c6dae87921c23da90b79c7d88c94ba691c67489d66c88d96f52366bd5908514c4245c040cec1916735190a70005820028d08df088e9d77d3d5cb6c6a7e3adbd389b51b59ea684d83414688319639c04b2ea110afc562010fa8f49b00582002a87e657b9b3f4be85f26616c639987794ad39c09e2a463a551a101acfd51054bf8d0fa11b6f1ead365064d03df58822e7247d4d4b5adc5ae4445ee4df4887268e82d3c6f783a8264f35c3b860058200238ed8cb343f74896679cdd91f310dab56c288cf1a22c00316d126fa06db3b6570abf5dffea77db0000000000000000000abf5dffea77db021926980301f6aa533ec4569e676ea8f414bc90ada31a9bfd2e87e94b36af723583e67c33005820028585713bc08702c3f7e45af5150eae6e1a67f5d26a3d15c1ca119b000976684b25f0fd615d92b4c0759f8a0058200243183c4f0474e3442d25cbd961974757187cb1aff41efe38db3c8547b353f94b35da1cb9546caa49d5c49300582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581c010001000004627800000000001a7bd3d3a924b53b733def9034ef9a0058200302eb52731fd2962dce73a45e6c798542505510db9275c7006face1686ff3e04d017a30d13cba8064211cacc027021841005820023ae5929f7304acd48b89103721352bd9741c0818af81560c9b447b5f4ef24e4d087e23df5de5b83d55a730c1c700582002b286c48fc61ffc05c72a21886b17c014833bc94fae96291e7a3a88248ebf43581861b88c4179a255bd000000000000000061b88c4179a255bd02192704038baae385cd57a4502a608760c1aa403504aa4482804c15a47caa0557c8c5c2f400582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace04d71b0932dbff00e9fffa525db7800582003d540598fb7867c39c575f17487a1649c50e117db9aafbe084e58141fba9010582001661f548b0000000000000002fd673c092b8a4a00dd7782c6000866414549a00218a0005820027d660e4457a4c8d71c52e47dc5ee3abb361a2843e0b7ad62a5cba96da385214c21f54e69f08914046bca262c005820027c0aed6430938f939a99d19ba9cf7fc9ccab7a1d6a6d7ef140c33b780481814b8163aecf0f496aa8264d1300582002fc44917e58c5f0561ee8e53ea45817393a5f61ab176516ea6d52a681dac1a44636614860d7970356bae611978997811c66c64d087f8bdb8adfde57d43f7dbe593a879c0670bb8300582002bd6c0421ff535d33a8649a16ac00d02b8be1ce42de2674b988d53888dcec2e582001000000000000000000000000000000000000000000000000000000000000000058200253622c12bc9b1873380f8393d8a3db525df6d32796e6239e914b8af57167175104582b2054c50015db74e2d980abb1781b0219913303568c9901fb37e203e42274425cd91a78391ba7d233121b0c5013339433e49f630058200269e243cfb9a4e19b327adfa1bb9e7dd11c52d054d4d3998ada7e9f8de2107f4d0166119e7d575a02725ac51d8c00582002eb848060ab0899e88230f7e24f794ab880967a978812cb5ebc6cde687f303f52022aaf24a3b7137e7cfe6d82b1420e8b4e480058200296f76ee471a4b262605029ff1cefa59da110b8f3fbd30eb4164d80f8dc4c9e4b146ecf345a7f0e7cba5e8f039ba87077503321989ddcd9dac27400fc74e9f88492e8e96783d38b02a3912766037d094af24ca5cd81ef556c025177586efb46cb3795991c6fd9b72a5314500b89005820028868b4c5c1a4084ed249a47f2b00774e6529ec353338313e6907bfc90bfc464c025e76527cd0901b6dfe65470058200285242a24d49bebd9eb41562fc19d696dca45bdf4164a00e31a3d06ad64412e58200165ff2ba70000000000000002fd13478cbaa7248530a593690007dd2e9835b800582002e798bcd9ae254a788f094ca30a44165c457bd7bc48c2517c23a94a293cda104d6f78ad3d33952ba73bce85bff50058200269e9015e5a9479fdafc9be3b37f2a1f35ec3cb3e32dde7dbcd39031976fa284b2478699212446949a264ca00582002a6b0f80ca2843aa99c4a1ebe086fcd6948220374c699f6bbe8a4e06028df634cc0c5bf6688b229c5e8ab726900582002bed9b248a02e2b5a4430c562a234060141590506982d2da600be8ac1ef16454c05511c0bf41d3778df01f856005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5820010000000000000002fe783e2d1f46cf8ae6532397000a2a7f7e66ac6687d97f039d081b438e9bf405eb2d6e988d65882a9c49de349f893264d24bf57bc5194adf0219feed0347168e6a948143cdb383ef858438d34fc1381cf161f9aeffded0b92bec63ef1400582002989f3fda091aeca29d65da0cdde545f2021d1abca07b51a591eaeb0272ede45277cb5f44311e4487fa0d37ff0df9ce611ea703d10b1455c74b78a2906011da7c1c7e432b8a4e7285988faa368536d500b5d61a0396af3296dac2eab3bb1ec8cc9536b214daa5d270e340b552db04617f96fa333b005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0581a0159e3f428c05082e75a00000000000000000000000082c8bec70058200304d1e3f75c705a9fb2915a48356cf5dd9c1b19a95c87c33449a0c05b689e30514d230625de10cb36ceb9d26195ee3bfb7500582003b569439124c332c2d0d266b28217df9b8299ad490da054eba8adb39d84e39051b2520f9ac2bfb5d2abf67adb2ee5142a040219204802190644031801ad203e474243b093f37a6ffed2e9afaca9744286d25dda5163cc0f78e9dc035449a017d57da8fbcd843fd153dcc737a4a3ccabcf7e1883d6713fd28e0feab200582002fe2efd1d74d0df30a208d289297108dc2ff2ca32325832fb596728621d8da34c01eada824ba669600d9edca100582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6045010c800c80005820033aef6f512fdc8478201a0dcbbb754a438501b16a5d5a29c096af904d578320568000000000000000000000000000000000000000000000582003bcb725c3c236e62617e790bddc605c14ed5cb790b5866d94bd4054a02238a04b26cb0acf1590ad09294af70219100900582002ab8c08cd802e83c656645cb0d4f764e1a5fdc76026d019907d8d0a3a34fc35581840000000000000000000000040004000000000000000000003064e377dacf3d0d60f2f67f01c290beee137e131492173e4db1843a3235a90550058200286b6b9f85b403a9bde81cb5c5c660e206507b559c966177cec6868a1b5ac2358200100000000000000000000000000000000000000000000000000000000000000005820028ed4c29eaa0327cce21586ac315c85c79231ece919fc816b806c4b5d3563674d43e46bc579f4a20cb642618099005820027b6129e8df9b15a82b42d2cee9f75c1f70ac84e74009169920e6e4920fb21f58200100000000000000000000000000000000000000000000000000000000000000005820021d7ffcc3387dc9c43c7ceebc88977030ba357743ba3bf061ce780137a9d5f44bf1b9a15f9083226a415414021921af03da8c9f964e55a659e8ae71bc49122d4ff3effa4544a7003a65da3472e1f2ceee037728f3d2c7a197fe5c556e509114cad407775dfea23c26d2013d2aa8922ecc5e00582002ad830ccd3a9a98f32fda3cc8657d8522e268d78ee49d7401b4cbd27972117a4b30ab22b274caa4f6e79ac500582002192f864dd845e309180b08e56db38c07fb0737a203e98d1f05ccbeb9aee7d34c038b026f3b588d9887dfaac200582002ee68af3d52861231a4d306cc6eb9e9e95fc7b1a0c00e07afc92a29bb12462a581e02000000000080000400000000000000000000000100800000000000000000582002ee5a93bfeef2c20d642755ca730f16c951220cfb5c19bc3b44c598a9b9f3f44c11097bf8dea07d6fc13a681f00582002b8b3105a7cf2ec7243d68b12f4cb7f7454b490b782492c6bc6de77b0694ddd4b02000000000000000000000336bf00c728ae532e0273f122e8eda2c016e5c3f0e75eaaa9e3945b2a2cb95daf03f37d2c9d2e23a6196e1420ad8245c58ac7cc0c4bbdb2e45d6f2823e3b22b507900582002d71240fdd107e3a50dff2ee80e5138e6326c667f85f4c13288ea96c1355a824c3ca1e99e5ce5467a57feec7f00582002f6f5fab7c7145928bbab8af5d3d231d4c92f2d1bba918920c23296be85e44f4cadad68db7b059983bdd2c32300582002fa171d795b1f4d8910ba74bcc0a78f3ea88084aacc9c2dad425159bb192784548f0c9636efd466994d5f7f6a3ee5ec23ddfe64140219ae6d03d9604ac5e85eb8f0c6e686b529853a9458cd5aa63dc8e1e2fa942795da2e84920219ffff05581d02035a3490dbaaaa34a0c419dc52f9d4f7c84780271333c4df815a634b07011959b205581d0265aa6543f168896bac412c6883162dce483b3e70bc58fd7cfea326350c02470602233701987e021980840316f26647220c09bb7ced5e916bc8fd027d89a17e2040b2042be51578bb4307de031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03918ac5bbdad45e43783a18ce4c8f2654d5396f401b6c63b5ac501e59b007011bffffffffffffffff05581e03c0015c643e73c60932c04d7d997fb0e3d8b3d9f9cd76b6b75787891140040105581e0316f6a3b0e1d6d3d80628b540a8632ced44ef14d331d803a17f1e98f5c00402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03bc4b2728a2565d30128c64ddc4c88902ee55e9c93513e966f00885e66007011bffffffffffffffff05581e032dbf0a7b3139a862d7df10de8c21f5c21836c4bc443c93ad205271a750040a03072583dbe0f203fb347553f6317257b025cc90d76c3cfe7d80ab743257eae7b405581e03a65aa1ef4b6472b3bd2ca59429efe092a88b87ea7fb010854d06de81000c0146befe6f67200005581e03dd6e8c8f42f9fb6ab1ec3d78b9886687861b67f0eb56e2d09d5bc5aaa00c0147023590cdef5c0005581e0304a508b4afb8c7f48437a3952622bb6ef89c838bd1cc7aff6c1de9fd5004010219bdb5032de944fcd94f8c1bf5994e978f9f8d2b1ebb1c0822f8f7c010811a8e36bdd35d03e63d0a23d8183486097799a6db7a3ecb0faf23e3930ba543e0193a391c86b45b0368296e9ebfa54194033669ed51af98b95263b30a1a3c2586efebd973ded3ebb20346bf40b4121c8a7c02fb5b2bc38e15646e9b99c8b4c21d15e949964ad1365e8b0381da14fa77ff8785ee1455a29197ce8f24a644df3ebdee79675e70b0f220ed1503db65147464832f44f88ebcce168b0aca0c032827745e96f4bb4a7dd29db169910372eb1ab07736abaf3e369c90ff3587137d19ba6eaeb66399f9fe4a62f2254f5403c139d42a5e89498d0de5f6659d93e0df061f4d3e74de288cdde6072c9380c814031a421ffd69588353b3b4ac31029056e3fc54d446a81e20c37a2692b43e9d014f03aab5df2ae2bf2641d3f320a7e6b03d0769f37a2267a72d5aeb61fd2029ddc7380389117328ff12aa83848ca3d07f35c5b7721869bbf8ee686453703ad1a932dc1503e7480e6f0a3a58cf642a6445eb6aca5c725e7caa415f300d5d49978b25beede8037f99452d2446abc2ff5635ce3b7a889fbeddcb91030699d4ab0635cfd77276900219ffff03fe7c456944a1fc967a08a83d43ce4fd44bd3b16fb1c6e69f65c10ed4e25e2d6603e3e8150addefcbe892fe3556a7c09faf2fa9ddc7d074e849936a1fda8d643b430303ee9e290a531c936d153798694c8ee880eff9d0228a146af98b0424107f3a1a0219ffff03584996dce0ddb23b642b88840f065faa226a8ea83e520f9fcb33b01bc19e7e5c0346f3b58f2e523652ed4144ccd29864bb62fa65b0dd4b7e522690da0c27a106b30219ffff0396e34fbcfe2a873f822ba6e93f37354bfb04b5a98321242c7959be4c22042dfa0379b6ed41035d86b45393b42476cfce713f7eb7f317eb58c6eddd1b6828a6a8b7034a923520e006096cc101ae6cefb822dfc8f2f71a27ba0a7f721cdca15192c18f03e1462c7eb351051f4adab4757e00d6e4efdb0d1a293f80c484511b0c1884b67e03e55220cb86da23154c3f681bd9ad1f6ebb9e477c10e0054d7e9035df54e3cef103cfa70da79280da27a1d1895271d02786feef0523347bd9f470e24fdf68d1a1b70360b34b08283597522137f97220cd4d12af473a013aaaabff89859433606c0b1303b3c099c8ebb3bf79683489b98df4fbf786dc1b455e914734a52a0623a8d4f7c703afbac565c76c8ab6df18873a6642691043992a74c2aefdec9d964dbbe0892d200347a63b5a9b66329d10288860e424de975e913318c4a53e632c0b5dc7a349ee6203db24ba0c588bb3583c02016d405f9945d2915fb2115b7a802e2b960ee2aa3b330355f579c1792864d4ddc4d6fc6cc065353e69441365c350c5fef05281202648c803a6d7689be4e4f732ad5086ebf9415357f2a561be3c530cdc3f60b0ea46b40a9b033a1fc424400d40847dfbbe75e2a8bdfc648612109b0a14ce04da2cc8b63ed82a03ebb2d3500987c9a5032579f8fbef4f7caa46b2563980c4bd67bb316e1b34c785039368292a090195a4575f3ef30c5f3d31d675fb684d05f208d5971d05b34351b5032814c1c9299b4327b33eaaa172cbe5dac22b69bc370c6450c01471e66501f170034cf86fd0e9aff52f50861e82a2ff2f20e00af6e6ec74731d0e53e473803ef3cd036ac6365511eb3e07189777241c4cc43231d3915bb853c5f9f22bf9047835b463032ae845033899d3e58242093602784ee2fc34cbf71cef63682edc2ca5080e86960328c057a90546189a07f99983f4c173ec003756e13f2a747b431663d9d6a1001c03a2478ea9d11e6a43f771270b411e8ef23582cb91eb367b5220f7bf4337e13bf703fefbc9a350dd1917cb4ec14758eaa6b442d9e65b2b3662c6051ffd86f28b1982037d6feec4884538850ebbf50040d4ef0cf8f67a55d0359a9dcc81096afc80e4500320bc4cb33991d168ccb9e5c7ac4e0f3536d9d1cc66a1cc7e426ac536cbf1d35a037f5b9adeca63db67779c64671b836638dfb94feafe0aab1f37f01c7f1abbbc190307655686f2b674fae562ec18592e1a47a2e0d45f645df878350460b9841749c0035620190c46610db927fc3cbb7717ef5df4633935d7975053877fb73e64ff60de03554645cf653bfd2283df150bf7a67e5f61f4ae48eb4cedb3f5402ea489cad959039d2211d13b28b4b71df9772e2d6c6d045bf9362fe56359216b8d378fabca23bb039a2a8a43e507fe93d33068ec888f2aff3460c8a7d606b327799f076674385a3405581e035c49e700264c8e0600cf6d3245751e61aa32b7f9fb9a76865c31757840040105581d03490451ddd4d8c050b03b26e3e8e6bca6ce99e19beb1e5ee1cb634f500c04481c244d0365c598d805581d03206988524d7bad67f441e4e64639d5171e0f9a5a710346ae0a3e72a004020219140001410d05581e034cb9919245b2fa6a31c9051ccbe6191977a5bd363dd98e6b564d9466d00c0245015faadb000399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908038a51c45b76e66b98501e25a4f8080f04d49b5c4be2a53eb167714ed0c5b83eeb05581e031cc46aaae39c3b6f1f93a2741513c01c8d1bc1a9d4e4ee4e431784b70007011bffffffffffffffff03f07918447b7ea1ae82b16e4bdc7286279ce5356f3dcc9dafa9222d365dd94c0705581e03a3dc5a6881454b2fdc78c17cf7037d886adaf40e1a3480982bd1c9dc300c014627b4a894af2803dbd9a873b8de765df24e9b1dae7f944c76f45d857aab645b860779503a3301c705581e0356d8b43db564ac1bc8225959fcc88b7aca4bf654854eb096bde961b6b0040103337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03481122fd0f80a4280f5f8b09fc938524d25d16768da06e410f2b835b4edc5b0305581e036b7a457aa4c687d7d683c46983959e566d189d624b086c6b77ae4036d007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e039647d5baec47aac4c2a62d4ededfd007ff212c86c48daa9ddef574335007011bffffffffffffffff03993a6a5620edc0284616b4bbe96e9af5acb8f263be95af9712cb23435b9b67520219ee1f031ab1f2db2df3460d754aff01dcc41f334acaeaf50611647c2addae4a93704bfc0219ffff031f306a913e8292152a2384998f4909eae45fb1bf09e3e168f065bd23868f5a9303481dc3171695d8ff8e4e565d7657406b7841780eabbb1ce493f2b063023e23cd0307d7831ca707212804d2dce12c39f5235b73a021840e1811ef115ec1e8df6ab6037c93126064b5590d787a6561e773906c4f900d789f7441a0f454319a75a378dd035dcf95eeecc8847befa694b8fbf6a9e824fc5ed5fad788fb6b44b1120e139fc1037fdcae62bacd4abfa44953f933f19d59840791b3df824581332aaadc60f4137b0219ffff03935af39dd2aa13d79ae074589a43d9b01e4c00b4eab477666a9d3bd673007e9b03b0be355d38dd0222dec9c5b033828bcc57105fcb06f40206e75b993634688e2d03c3f8f6bf4b9fca1c144b09d6e4cdb3874c0fd8f6d41738e5ded32f559c0b63d90383acbccd7875c772b32925815a43480de0b6a49ae5b4e1f7203335b397d25b0e03c448f78cf233b3e229d32d496835fac4f86d99722ff47ced02bdc6ff940e3bea032efe816888191382577b0bed52a7c2a8256916bea5d1a45a9e0b601b8e1a2525032d6dee1273fc16627520369d27f4c1a5fe6d6315efac9d0d38d9a16eb4a227960219ffff031b4899da9340c394c95b071b579be3d4ee2fd4aa6c091279b51c6831698f8523032a7c42727bab85e677c641bb8a2d0e9a20dc35fa41e6747e59c18bcf8827be0a03691b5d8fadf11158f4c0748ec2d74cc969be0b5cbda1bdd73a574ca8bbe6dfc203c0f5535869672edf6436023d1e52bcc6df5d51fb614773b52ee39dbe99071c7003f6af11cb36963db07b563f13d3752a3f1109a8b2ae2ed72b628dc80b0a0ac386036960001a9e29e92d0a08b81605fd5a33b6e98e30263c6800f2a3a9095a86f64d03471a3e00e1d81fd82bc8434652d45eb3cb4a7f154d198746139df182c1d91ebf039dabb6b479f816f2cacbec8caee7e25edb5f646c118cde4817a378f83b5daa0d0335b5a01231618be2752039dd01597ac0d2a3043669f0d4bff59ba66091f1e56f0328eb5f0b22c40899fe35d098e6e644ec133cf1dad3e203959927476be272232f0360fa6f090396de57ff4d6496598f7e27c93863f50d77282d84855b77d44b1b280352a9af090fa5d767960ccef2a7775ec066bc8d77fe42e930667003f37e7fa1fd03b04ba0b239ce06f0d6872fec48f054e6cc19c02b849355ef06a72b7dcb37c85d03017b6f6448f42afc868ba117fca9e63284ba17278926d0b01d1ee7f827ecac460398992b1566e3f27b5c7497c9d3cab18bc4833991c6cea83427a812cb44127ee203348b079bd158952c14d31ce417a9d029c9a09877806a288d58bd7239df89cdef034147dad771603893b27c736a5ab4fc9746dc3dac8350c8c2d84153ded0e333fc033fd036f386ecf5506767299f6a2f75c97054338d2118ec76db9ba3e038470b5f035fcee7c4573873bd859362f03a62f56c3adbe5c557ba5ebdeeac759f3bde1b25030d5ba294d587115fcdb893b5d4de8d961bf2e24932301aca010520191f50ea830388f305f61ec87ee4c51612a193f8ad5b073a5e4f747553d46eb5e9be95d7e4a305581e031f85750c4d5e0d5d9f53f3b0f9149ca0bedc37fdc5ad8c28a6b7ca60a00c024701978421999a90031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e030392a279dbc960bad788415e46c250213d3f18c42f5efefa8686358d3007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e036e045018797848e863f21a5abd4f00265412b84b58bb30179e6a2b2cd007011bffffffffffffffff0459034d60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220b4cc25ee0a1d68f32f84fe62a9fc5447ef0a66bcc894d39af42c6ef4be931c9764736f6c634300080d0033032fdb19bed887072bcf7ff9e141660f520254b39e029e5ace7a100f784e86ba67030d99efe0efcc03ee74614357d28ac4b0aa0cddb6c0d9a85da474c22a04dc647503c083c51267809512f5557038e5d991ca090f8a2c92fbc0dbd918e58e40cd8d14030ad7b4cf4158d6563183f09008895afec167c8b3ba0f642859afce988fec1bb900581f02e31259c357438cbd8b2ee106c0a273dc0c05e68262bf93f5fa30d92eaafb410103f767a0e8815c0542c17e400b18568666671f8070ae59e3332a95755dd466ea560372682083997c8b4808608b63d5747a8cb3e8b10958cb5c81089fcb64093d28c901410100581f02a7f3f2cb107a0c268d467d614d91ef8cc8ae7b131c350add997fc8e42c03410100581f02bccab06680c736ab4b41ad62455b7f2d8e18ccd9296b29a3e702e131708948017b18d24e0015620345780552fd46f7f3101c5435c4f8b374b11641dabe1ffa6578af8c593a8e8acf00581f0331020f764d5a661a1da83052e1efc8ad392da8e8a034ed210a619db86d00490133e9b93e09ac31af00581f03b7266e01e06bcf5c2069d0295c73c1fa0b9d26db2b24c485caebac2b932041010219020103245f95195418a6852badf10aa886005ca1e8b9ed3d4586d44f5f73943131989600581f02fc6690c0935e4aadf28039b41f1896f7f839a7e4d88825f982b013769e72410103fc6572422e334246a013e9fc7739bedf096132b8d5ee0e84ba64a57af90875c10392e3f1bcf135ae0d9f22919beeedc549794ec006d187abcb6366b25bf8bfdc6b03c2b0d4422551c6be58437c87c972abae85b8b9fc71b6238f9d0dddb0b531af50039d6670b84803d748b7925e146d96425985ee0f71a9e4b1bd20346e2bce98769b0219ffbf030dec5d38b131f6945575374b5cfa57ddc100f43b0c8ec73e32355469b513ff3803efbfcb4c06459f027e57d6f8e2db39c9a376b216024b31c1325de3fcfae238fc03af345aa693a14cd1ce2a42db66553107fd89def6c81403385b2d7839b5066eed03ce9f84cbe8ba67059fbbccc79b905c598bde9b6716e7b15e7b920701be0fe69103696c5bb76b1479882898575f4f51f4de75ee956723a75c5db1e109d67427b0fe03879579d6dc035e97a2d83e1dd3ca9c33c5d672836d19d0aff547880b0d1be2fe03d91ff726ace8644370cda8c6df2005327430a09030a60ab3e5e514a8842584610327b2008b64e37fac7c67db0869d5117fae19f4e3924dec57bf4fda9ed5ffb18603456c2d1b08008b5ec32f847e1d0fdda2fa9fdc7e250a58f121ca6a7a25b116bf0336f2ae26d18cf3fddb496fc2145dcb4887e4eaeba1597a13cf645628a3b2f49a03727d0ebcb87229208f4e152ef9d0bc8047e16e78bff879b0e8b258f09065019e036fe14981a3b0c49b82c0fd54015f282539be6c283da81ac48a79eafb57dc0e05034ca1cc3a60d0b7f73017030eb3467a232b07fc7d671e3700dbb2ddfba1c97df7033132343cbaeff47fcfa3d98ea0855b6e7274cd4270514525f6e2ce1f67cf5fd80219ffff03fab71f5303f4a5a4b23ed6f48e872815db1d7bdbf5abb68cde4354f3fa53a50003cfb25848941e4fcbd16cb30cbd6600e012def7aa0b7ef90f7f799d039ac787c1031d1303ba1a03c69c7aee026161fdd6f9a54771c9bb68dce7c787c69969212d3203a94a8ec952dd5c96a2bb3478b27ae8fa6558822ab58cfd308bf822e966762247037efd282c5cc78625548875197d7d440d8b59c14a898814ccb33987676ce80dd403d943cfa8909deaacbcc0ec4f5f842f5dd3ff2c8337feffea3c8d91d1a1978631033880261a20c1b27305afa74d7e8ef1dffb4a1334425f343830d6c3e9d4fc41c503ac92794ada5a19aa19937b2a8c9470a8a39d9e87782d3580c97f8507422f37d50323373342c6ed444a9121525ed50357a46b28f426a11dd66dc5d41e3d7732cb550385fdefbc0c78fb57839a3a10f1ad7e2ad050388f4854391a190630c57aa3783203c7093ebcf44c0932417f5950dcc5f459b1236ca7dfc5e07800e188be8a6aaff20340fdb8f1cfc4f7e4e10b6c6d3af2f334c9c57164d8d6589c59b45aebe193bb3e03e7f3be59c9a989f9a3066e2e80b223ae17b6646f0ad22825e0a891957a56b7b0038f5c69bd59b5e01ad19413fc3e9eae5ab25b9aebdf8362af9f56a3c292e4191a0219ffff03cb40ac53cb43b0ef867fb7bbe2e34427c4b8ec316fd7229eb54a103ccb20669c038f15421865c57825ed475ecdec1ca6295fba6dc281d49a3decd1f2e52f795ab9036daa4a14bdea4a6d9056b937a566dd707384536272eaa0ddd1f1ce9a580c79110330a6d9c6d7d6c01938d5c853e687a8fcd355f862e2cb831b5f87c8ff9f92eecc03857991b6c7bcda576bd8fa1e4c34b01dc8d1a5e6fce62bbd81af4cb7acf68462037ab2a7f5d1126cae924994ed5566c9cc672447b8647b7f5548b9e9a7fa9e463e00581f0267d267602724c625fabce452bf09686bb7f59d21164294623a3d771db8a45820ffffffffffffffffffffffffffffffffffffffffffffffffff53c5ee4395c0550321bcc43c0df64a80d364866be499ef6de4924e44340c7dc88b373aac99453db2034fc03cb4d75ae020e8f0b9a8461e50b39b7919fd62cc299b31b050cd6158de4703492d4c83e266f9159672096e2b583c297483ad09b7d4e40ce85976528c83cc4600581f03c6a8356c9a1e6d587649a659bc54d365b75ade50480dbf6994b52397e620410100581f03271495b9c5cea20637968bb6992575599a9e231fa055e0e23b155a8076404a0612712466f769b4e4570219020803696227e5611d759ade473dd0bd37043f31744a3a8af22fe5905252fe71452bd103abf098efc1c940c3a042cbf3824b2ce697777d79d83a47f283b1e8809812d26b0392ccfc784e9c7ef2fa7bf7746bbb8d94161d0fa8dc18d7e2e4f86fb3b5e43c8803e1e07ad4e2f6e20f108aff357b4e300790a58d7be92b31aa59d6c376f24fcd39033de251cecf67c80b6c5e9c05501d52b351a26e9841bb42d2c1ee51d7e9ff4058037103966cb1c8f9dbd3d30ea9721208d491a28944d9d02a14a7b2103528bf58d803b3619d101401a8a234dbffed6d45822e95afc20316b349c9455526c0fe125bce033f50ff4ea014974020d14b9db0b9f366b84fb4e1e44499e1c25e14a533dcac2603722cfd62eec7330125220c3b3433509d6978dddb14ce8b4be3ea79b602a87c7e0306d6cd23b0850816736ce8bc783e468190f06f661c15ecf47ea8df8e9beb5e820219fffd031c192f31b6f107ce410b26a587f0ddd53414dc0720c260ecbfd7ee9bdffae0bf0361fdaab5e4ddbc9bf3c6d1fde642acd5acff7756d4ae7e5c9a14561761ed06ee03c7ee5fc952ba698789c1abab436a29eb7478bc59e291795b8eb76b455d1198390319c92242b3dc1e6c4b5abaf178fdd92f1891fcd290f8a3a7e479b55069b8ba5e03ca18ed2e46da42e7faf27fcfdbca6bb33113558701349abce19f5ab3f3f4e3d50357ab53be0e004b4e8b32fd0f72ecf75b3e3d025b6971286f2c859c69277b29e403430ea4c28079968d06fede48d9f6f9658173282790219a3f52721a06234b9d7d03dd3b1713a041a6427337055cb17e3a9a44e6c82dff36cf5639380a0dfb97558303f335d34d4c9e8464e0776a02489bc2de5bdb2136d8d845f617bf840d626a71b50219ffff0376bb2d052d71555af6ecb6b365e9e13e876f0886bdb88f125c3dd34762615e9a0347901070ec9202c750df3e00c128f0487f3498eae57c0f733f87bc77528256120359731fdb5524c1f2a9df4ddc90d589d244b169d35c54e575ea4ca58ad1a081a703dda12041eab7c471523c0291329dba53426c6e52ae7d39a0d55643cf4860339703d3e472785f23ebbb75bfa489a564dd2b270988c7d2dd7128dc14c6e34505b9ef03370b7a89003f8a96438780f3562788447b0943936ecfdb870f5e0ecc5b2ac1ff03ef41fd3bfba9c7995af44deb1870ce6da99bc157b34d0d08b943e5ea8ea6a57103c8a9284ba3c6b0ff9aee50d8e32e87d3e6d9961f7d4173194d2044af212dd8ce035f5c15600a99b7f57f265b19fd6274b560cb8e639cf536fb90198da2e888a2580300865f621c538e3d8309e9dd682fe33eae4eb64c3264dd736dad6000bedef8b903fc7ad1d66eeb4e497aa12ea7a16b636fa9403a9ccce37df0c865f00f55708a3703b71c85634e8cf8c33107238cfd830c18b9c3390c8ceec143735597497cc5fdc0035163ddbd2a67933c156f5a5894b64180708bd1f705e41ccef121bf11b489282203f1d3471a2a33f3429a8142b94e398dbf787e055d828c143ab89d2d8892b0fc260370f2f5cb31fed25533a1f9750497386a5c1c963237e55b478e595d1494356d410219ffff0348d5942988bbd0095fad42fd2b9f19012f6f35eb5e381e2ff0dec2014ed748ed03eaa94b8dc71d48ce527ceb9154900399ca5dea3ed7e2cc2cba455effda6a1d6e03b912573bbe679cfe12c05f9a63d390a42fd7e14b701a16dc32ee0e0c24f6371703f5dacbe572dcd50c2a6d28543ec8e18715df799d4e1e49aa89448de145743bb203c37d5eb244b263910f33bb071c5678f1223504e20327e40463649f8dd9e3e01b0363b2cbbb507b34248c857f46ca97ba5ece794e9ddd9c0538daece1cb649bd191039b1f185a8690bbfb1831def23f53c1bbfb5380fcfb2e3a993c957ab24bcabdf10351b23f57292d3f7ce8f8aab19a6094708c04436c0aef7217dc3c18d3ca5d3ffd03673740e8a768476fb3a52085ad07d659355e8fff4a8546bf4703f985b34ac2b703904cb76c9373e12f546255cffdf7da540fb4d7a411efc14c82fe8f487a581c3d037c3918e8aea98ca9b8ce395bfd873e3fee8979a84ba954d72c710fc36794df3103fcfe088fb115be709f653ff2e4d5b38c1d13bc29e9a24ddfea3d5fa6ece826d003e28715b6e3f143d2694608e665ad5934f95daf3e5c7bd527b7998062fac993b603fbea8615a2112c804c683c3930f99e5762e0c37151e5561d00ff3f63e4ba0831038a698f4963b859f61cc5df17517031e6f6c81f096944e3d2a3b4f086be917d6e03bf3b70fe6cd76d3f6da61effa9f1ddcbf9ffbb468820098178c19210edaa6971034d2106015753fb4e267b95a60251b0b0c0e354393564270995e01d74c1724fa7036e4ee691fafcd95c379fbd0b41240ac1650991fe2867783085f5a6e330b01012031caee9f788e5c8dc79f09fb64a18ce093c69e6c33b9dac042761f1bf3fdd8cd8039e0bb00514ad8fb382b41629675f75a3c8d17977e6a385ac1594743d47920e5e00581f0293f840fc7882357032aa4bf841c05d5aef9d4eb203f8abb539c3e089e1a9480c2c5d9d01ba58e00359141a491c3f4cb1ca6ac9262374be919806b5a894fcc2ec6be3c11680931b440327f9a1554d4e2c995b2be709185304fbbafb50c2a9c406b8b41df2429606b53200581f03ab3b1ee357bbc21ac66fc3098a30507e9922ebc9f05d60ddf9f0c047907048140f7073cb59fb4f00581f03dc7e2beef109fa527b9e40d910c1a32f9dd28fdb434450c1c7b9806544a0481abe5bedb5d9225400581f03b7a6854a641f0a173b0287f6e690d29fc4437b0f1434fd514bf8eeff807041010218a903777f8927889e085d0893b2629c311d2300932275849b901e0091514f849f87350379fc36da29fee9ef83c4ad9af8292339fb429876d2d965431a21865452b31ace03169132842099db48a310379f3a13af5cd986d40496acc04c3670d2e599af5b10030257278ac2ae1ab248dac12fd6baf35cc936630d60125b94d15da2242dd6c1ba037aa1834aeb16c79254025da6a39c7a9c5f65147f123dd358f954560d58a363c70346077eb26026875188189c65fba7dd3786dae9f58f5b9cb2bc935b339d4f1c9e00581f02c7411a060bee9ff3045b8041a70efe1d7dddeb0dd0482d12ada06c13f08f4fd7f2b93553624c8d2bcfd978742fc8036652ce46ce0e05913ccbcd39ef8d874ea1cd754966b725dff2bd9bf75ee1e3cf03eb3dd1d62a102b590b5a584ee292a3776891b5fc927ac8e894b6793f5341b3c90219feff035eb52a507755e450ef54d1a08ddf6bc0a8cdd934fc6fd1235d1546a340cefee303fd47bf07aa2eb0b8f2bcd0f44aae2ebb2a6f1ce64229d8782cf71bf80cba5d7e030ae103c1e4731b513ed8dba0df2a60cfe04c778cf2582791fe42b4525c91025503c4f91602bbe96a754b164da6669e29a17edff57e5c6c97e689326b92c1f9458e033f35441b287f5a25db119a3fc9ffed2a157facbe3be48334d069accb5763db29037e8e353fc4a7ebdf9a2373b5d49d591bee72ad3e7f9e0ba9a1780d7accb2b2c003ff6c576950bd5d7c1348656e4f4710ad27805c6dec9ad2b597f97e05a2cdbe1e03780a342dc6c65e9d3f3eeab23d87c0e52898093e3f4c7ba7bb4953cb8488b0cd037e7d241befa171995e0c088ebf14c8fb998f012f1504dfba166ee88fbe39b9560370c1668e00570839c1ea7b9fe0636046b3e12ec259dc2411f257ccd73f54716a0322de3b38510ae9fd7c76dbbe6e4f2f388a52d918ed5e3a46c8f196fc551db5cb03b31368f67c753e29cd3795844e2aeffd092f52dbd769811a70e367f8f68b11bb0219ffff0362a1b6aa1b0914f2ad37433a9da3fe96487ad4d8a72f910b581a3d2d19f5cbdc0219ffff03060fa3c0aeb90011d418a40aeb5429a780657e67df24613b76ea043eea2c8f030339d462f131d73de0e30eb766f8f35bef3e9cd01e1322151b6fb40f188ba16bf403b3dac59cd964ee5a3166bba76feef70cf90b3f19eb65e252639158ad313ddc6a033a53ff4544aa701e900d8fe0024e8e2f08921f4bf054b1338515f0050e2dd8b00362a6bf8c8d9089a22dae5933c2be1effe8f6f63ad66f593d0e4956a34a50af20034106da826ae0bc0af9b8cae83ee97087158b88a8873a75e536c029025ba865900336cd8eccbefdcc9aabc0c3cab2f68b4c560364fe2022c3c5367dab7a1ab60dad035a61e755698d42f85653cf2de7a3a2d48081649fe48315bcf1a5065357be0f6b03a7d422b8f5aa3f3de2b67cb9e0c9c6f412d561258e0b267cd602de9ba58c7114035cdd4a4ebe18f0d06495496c5972b01c0f56fca317ddefaeb10ee8176b635be4037f8ce6f6bff72ec3161bac0238804b5a5c4f8b1505aaa5a86104441423060b8703f668367d5d2b9ebe71e33ed941d2f7a14f0b85009421fb2e3e7ee1376310b9eb0374f167b8fa33a64ecb8916b42c2b1b4e1273a9b8af919e9f5de7fd3b505c721b0390efb4c33e41dad198bcd58176cacdc970761c3db2c05d1a56757c602ed1778703d7fa9bd74d8a406f03fef698ab41ab46183c54cecb8533d25c8ac637fd6a9eaf03cd02e3d88062e7049c475d4614ef719cd49e51ab9034094f0d698fe10b82fff803e0eb0f3b29a1e61673b9730015b0629d62903a24187b7350813d15e37e388620035254ebc9bf7c9eacde0e14df77ec604fa2a1e453bcbd03c6bf12e92b79326b1301410e036292c09f89bcbfd60a009b45f5ac4d58ff54cd093a93f5b99e3458721ba395e203a89f10c47972ab46683a4b59e29f68e5d149f8bac0ba23149b01e4f2bef1870c033ca13b238aba2a3f91371c864c207d4ffc39bb70d25de703b385d5b45109f60d03769cd6502501270665a59a877c6e38faea1205712114984f850690ba0dbf554703f00fb7568efad725edc5e209bb06d6b46e6826eb59cb278058d14f815b2db1fa00581f03674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee104b016c96d6acbd566c4bb91900581f037398681301e126035911588b0e96b7bfeea24ba63391a5828fa2f04f9e50410100581f03742034fac92a1bd2bf3173f27aabd5edb9742c7bca1c814e1f85e1595ad0410100581f0359805aa5839e001b9acc8499d0c703b2de2b6b604f016e8ecc074a0106d0410100581f03bcccee94a4b9c691e223685d62a48c6a86c4b5cef25c94c662c905d1a68041010311b30c02727cf0ca058440bf338e9f676b5c8591777b784df53d182e86aa86a10219991403ff4be5edd894cad0a56c0d816407779a186523eb3560aa5525b9190753af0bdf00581f02d1ef386a52db2757b0450bb5839ad51151d7308fe787ebe9d91631e349834f03da9c4a9956a4beb27e5d26b494380336c9fca6dc048c6feb4ea7f5a10599a066ab80d4155b0f72403e2b488b63004500581f02b8d6a3ecc8016f128b42cc54e8249cce03f26055c0bc027d0572cafa65bc48015534c642488a3f03f8388033424f076902e907e658899d732d08a33cd4fe1a0efd58162cc64058a901410003f3be76ea4a6473477ecea2d8263c39ae23465d4b5ca104a7283ec5110ed534bf03cb22704b5ddad91ef87ecbbaaebb17b66642e9cbea2cae85c4c357a33bd7260203acf29ba811f6fd959a2eb853847dcc7b3c4641e166902d69058247a0e50b046d0219ffff03985dd4f3acab89b6869af5f2d5156b5755a73ce520f069caba77c2a466966a4c03dd5d50514f69e6f2c96e7f4fe1712b43f6851274fb24a9120d4b9607fd2b6c980219ffff03942ffa003a91d27977b550b8061924827aa43f2572b4f41fb03d6a9008f02392033a743c77a4ea0f26c83e958b6fcf3bbebbba1f429af0ad1c99aceb82e4e46d0203254992426d3dca1e83bc8237a8db3f851805f73268fee43e1774b31eaba4acd4033c8201cb97ab421acd70a7ea3055e759258caf8df0cd4fc66be3c97e95d0455e03fa812c558630fc59855e3f41bcb4121ebfe0a77acbd124212ffb56cf5995cb05038a3a91babc1cce092ae8fd094021bc652a6178a85eb4c88f8cb2a93238f75c110313cbda4b563e687220e4205fb52bc716da48283746428277602339f7c761ccdd030ae281c13d8a6ff118f1d2d7ad94278d96d5757ace6150cf979785ac5e013c0d037808268869c8a41664c4ed64ac52ba90098d8e3d6a3f9feecba1ab6a74048f04036b917b4ea014040672a5d74ea41bc66809b161ed066897796cb9eb653a42f16703ff5d37c67d1954507eb7acb01bc49c4044dcfe02f8ada05743f605d0cbec33570320fd83751f9d7ea35102f9add1efed50f02c50a7f2f19940c5a67b309aa8be20032ca6012e67f5f031caa7905f5e6e949c87f67c1ef2709b6d8813c847751d41990219ffff033f3e32e20d9ec8918eb9c6793a29a328fd6f5d006825940b89751354dd53ae0903f46d0846619a324e504d0736717373907e8d4264b08c977e19032ffcfa547d7303d82d436b8bc7b54ec69f21081b0243f358a4003c4f034243a6b09bbaaeaf3da50348f398da42ff1e209c77d59f89db086c8c2bd914cfdbd3b1b1162d45a8e475a803ec91c04fee23382e643d823a0ab52c3bd34a64020377c6c3e63d2093daa301bd03bb203400df113f20c59b42acfd2f14475b800d269f758fd6d4a785f21da8bd4f03629878622e74fb4addac98f50fc9642209be9efb1b88e7a42d837570da9a9f5403f18f17c51ebcf44e6895b58f938fae7e5a6d724741d6eea6e4d5267c33f0122c03eb4fc5c72286293e94f55dae46fdd11389194a9c97558b65ec8a927a123ee23103964b77fa93b3e19a9237eaeb45206d1b993bfc65fce689034840087cedaf8b9f03f70e7b6b40aee2979cdd8eade0c34c07239c744f464336e48cfcdceedbc2b28803faecc65b36dd9a6be063da220529674d20a3c66b4484f9b41d3c16b4209bda42039b4d1924e37855e2740adf67a1df6b6a3cd1bff5045077dc33ad61aee7e0548b0341a7d5a6a2d986110e4e3fa23d322db9cdb675629ee9579190fb5c884337cda403d5e59ece121dfe5e394f8c6d03273e7673dbfbcef419f99a8b8cb59820a2425b035b10c017ba07a170ee5260afe18d5418247abfcb641ff742e4ae11405ef90dda03f853799a699f6f4c0ab4667435d1b03a77d47a44d8628055341b2ddedef5724e03011ac6012db1a28e41bb8d9dd229dbfaa0047d9e3dedbe661ba2aa9197ddb64003e4dcde332f045ef3be9810d2e7b15bcf021e72337841da40209f053b48595277030f06d40b1b2f44ac4138d0c588c6a42062185caae588ba8665f38fdffc4aeccd03012ccd27593b42bbd9d013bc0f986f3b240553fd5286e7ddc7836cdd8c7e36dd03855d8fb0b7bd1890ae233d9bed78e4821a355611ef03546a5e3ee3aa65a4b1b403cb227e4661114581d55b109453a07a93c34fc81494123a2c941d811d19dd37fc03f34cf3d33035edf2fea0c01dc60f0aab0e680b3a15e2dd0b86f95af5a5eb731d03a02cb07bd7c0082cc7d5c8991b9c2928f877911081cd1a17c28cead0291ff42d0340e50fdab837806da89bb91809294ea3519a9c8981fffcba9d6ce4622ad7ae9903c06fcd8f929f94bf6509d6bcae32bc699fb773861d70fb464f94b9f262bf32f503085bfd184f6d1d2fef09f8b32a175eb0f52132f19dcdf8433e6ce14da17db4b8035c08e103ccf4060ceba796bd761d191a4ea22a8abfc1052fe35e21e8436fa812031b365f01d0d78826b3baefb5fa1298dd61eee6c367f417dd14c36a4d131d7595031b1182975151f964df7edb6dea01fe31a712e5509013cdc5f22d6921aeaecd8a03084106b9f5f2c60222585bb864fca4b0f28da1cacbee94fd6be299b19c8d615d00581f034058c185b28d024b4a6d51f3416fb24ef96ea4426b4195f744ca0695c5c0410100581e0291166e23a45bf0f22a0aa7800c4fa88cb443abd956901958f86e33cc54410100581e02155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d2854308861a430be4cce5502d0a12724771fc6daf2160219880000581f03f0bc9efa47c6a305d02407ea032ccda47547e90e74dd87f7309653ce1800410100581f0361590b30b142d0cf386700ef2fb6797cf53198da6987554f4f9dc897558041010219103800581f0222991c2c49a0cf96c5fc4edf6483517371b2bc9eef3bbbf2c78dec9d06d25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ffff0394868cca6eb4cbfac37857479e0548b24863834dd8e6454c2bdc1428857526a10361bfe1e78fc29a7aa04440b7f516b6118f021b724f99e80c11b30be8035e306f03db94090ffc2ecdd8e67b335c53784d54e2e0f47598f4dfdb796579e0be9a8fae03ff7961c07ba495932f76eab82f0997e444b1121f2fdd4eef9246fd3be2887fbd0219ffff03673b90f359d81cb9f31db28ad0410cf7130329bfb9fbd7efbb07f9856d015a5603ff23966e0bb1cdd86d6bff94d60c67d37f350d945be290f0203ac19faa37cb2d038fd6530d657d2c568bba3428f247571bfa9e4e1a6a69fe262d504e8ffda70f0d037d19f734644499e6f7dff108d1ae679bf366bd90cf0ac47cc0225dbcd03571d003260c3f3f0002c7bab6925c2d4993712245874d8ab67975c429e03ae6d591546e03a8376d8033ebad10b51ccbb18c6f0fa509f92bd6bfe01854898edee13980e53e0370a5d8db795ce3abf041f6512c891b61c7d1175d738c51202f01a20cdea93fe8038663042f0549997acb3eb824c67b2d9fab2cf95e2df0a3378c4f00fb25ed69b103964dc5523dfcd45a8c986e1554968e7bb9e656f9ab4a3f3ef2160f7d6c573e9d0219ffff03ad2c850ca95659afd1886f6433ae2598ec657158313ff39ff680ff3c79c75dc0033f6dec7a13d3eb13c3145570e1c3a5b783f5515275f749497c49814843533fe803c5e818cc2bf49f4bc37505787da7800fb012dc0489a6d8339127bf0909c1c29a03cb45702d8076c31aa36fa645c38aeb5a669863b10e5ecadc5611649a521d80c003f8698b72cfcf40e3ff2793e5c92307a99c4406f362f45442a8adb3b97dcff1ed038db356e004a2f567747633e4d3ac19798f266e51e13bbcdfe58c89b03cceda6103663e74324912fc0c8c56a660183707a7155fee066112fe0589233b33b861efe503f234579aba337d22af651bc6859bd29897e42ea72d222ba9273732305129b51003632fc045ccca52d06c306c46bf6de2ff84560af0b6f5f07c94ad764448dde2a003db4eca718a447d126185f326dad8ff648d3d2d739be9b27faaa88bb0a3770a720341c1fbc1b1c1ba6b98d9a486ca11c68521f0a2df6e6d14e288f9ce6e97a121bf03b059488f6891b38af39296892b575a82f7bd237aadf2ea9f0374d1dbd798fedb03b7ec1fd71be5eb4d87a415e9736c695b5001d8edb4010dfeb77d0e7b817074220391f74838483295af60b7e918f4f80455346e73ed4e2cdd27fdd3d719b521184b03b3d9d4ec142df695941f689d9fe253c32115c6bde852ac581572aa275d2d83f203584778ce1cf230cc2bb39ec9c8077cc1d20cf30cf0442da466a14908e435d2e003cb7ba58ad398145d3459d8d6d816c3c3f92b2d851ed67c001a00080ac3a2def903f3431a716cac517b6a48e2d5b4f2649daf7cc5d9e56ec9af19dd5508d929302b00581f03eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d0541b47a665364bc15c28b05f449b53354d0ceff72f00581f039114c7a787844c75a3ae7d6f423299853496154a5ff12b4432774025fba0410100581f031dc3217f15c6e5161881f1fed30bb24c4d57ba981bcb995cb35e53e63c3048046b1d9939da2f850219081100581f02883dd3c95762e659163a532835c9e8b56052f1c5ca3b5f3243af7094af224101035693bc963cdd4297c05d5dd736e6915c52058b7201a8402feeb82c4b64f49c5803c323a74481afb893f38951f3d8e648d892112c596879bb2c9d30e25db543154403ffbba33facf34110069a63f5cf0f77c3020143b7a1f8fd6bfd95e1e83b240e220377fee65f3d1343db4818e211c0cec916a27d08fc419c9bd7f3f6cd94bcd25be000581f02262cb5581757583c375bf35084ed97bf5da57b25a44fbe4f7904691f788f410103e15339ec4ecf52f87805ecaf24f95a7949ebf01c64b532305b7c3fe9d92c1ac700581f02915b275c5ee3553c0716bd877884b1dd3eb0a4b799f5de8a5dcb8d61df1d410200581f02969ddfb115d92c727936a81f7e15325f279c42a233737e60a0176bca35b14101031c704c56e5e0499a6efb4a69b6420771edf6883da0b546172e11da85a4aa5d260341e56fe4ad472307336bf73e070002e09c34217bd43bbbe427cd1cde4b0988cb035e4a7d5a3d12ba7599ff4f922cda1ce5dfadca7457d819d26b2c7b2d32c8b17501410c02197fff03b5b8aae36c63feb9e21b4d8b8caf01c17eba22c483bcac9d976cac4521953eeb035bf959b7c60f9c353d6584c0ce8821d453614a000baff972a3d530febbf58dd103feba7d6309536c5cf9e229979e12679f66b551dcecf92b158142db697e82f6ed038ca202a5dc25f233dd6153df13bc3ae860c7cba7d6a5274d68308420e213e2be0219ffff03985e792432a7c7aae00d76329dc1f67c3ae9a1e02b233ba4500540f8b980d8c6033983446809c8c9a4b10312fe280a29f23e92552a44b1ea65a2ef6b8529dd5cc30303b410e75c158fefd93c26cb47a8be6374df2b681032cf2b0e5e719fc4bbc8f00338aa8f9ea4c080d743e4ddb30a6a8513376cc8a0506c6bc8d52e22a1b63fe2d203dfca990f0163f34a0aa374087c2130d1a96d529b22047d3d87580cc9ce80c83d03a361b7cd241d12139b7f2fc3675eefa434598477ad7eaa5f6c9c475ddf4bc8b703b5bd90ca2f22ce76895a52fae4815a2b2feb5a75371e1df21a0d675fc7a923c50315785780ebc5a668545c5f1a18436a86bd611080ff72a715e14bdf0f6765d32203a833e79c1c6c200267faa43d286e0b8850ba1618f4c9c7a03a840c98e12c6e5c034c6dcb952cc0a0ece5cf589e0c5d61a99361e4594fc86f010d7af9371bd8ad580219ffff03c7b2ef48fc8d57ec0640573346def36c5ec0d85e36a239384c96bd8d9399448f036d65bf166dc2689bac7400b124b76394494ed6282db0f6c7f0713a1bc39d3f5203dc41b6e3305de6d992b6833e8baffa7316a5cdeb6b9b94c65105032d5ea514f303d8d7d64ea738c3dd44eb2108d5453ecb9edd46c7aaf2a9ad890b106c472383430345925a13f74d27a720a8cc0294ffdd608947d39d9fc4da80c61fbd3326b2c1a503725cea9ccc0b5192c877de39b49382d52d8ed881e64b2912b737e0ee0d5ecdc70391cd84055a43379e1a14fbc09ff78011959d306eead49238e13f159960b148fc03be9d45c66e96ee2b50676ac1ed066ceb0a570e02b5b3c95df096119631df03e00390c6c2d4340e357ef4321e942ee34ebb60c3f626fc61222a5a958431ee47f6b103e7cbfd8a3ff6c1c2093858b3b2781f82e1a225ee9939c38bb1577cc1286f47f70342469ad4366a1a24beaa8212938e35477858dc471f93189a434122566129259f03875a73931b53c1615e8e152a1f372d25d8a0c3664df5270a0b1a9cea42eea05103a8a2999b3edcd0c43bba697a5ef45000e9d51893160de473fc2d6e0997cf8dfe036523e5f5dc8ae279c32d20604611143ee852faec0e3141e3cc65859615508c1f03d9adc7964b070583858bd2c0f13196fe74eda6b9eb9dfc3fd444b191e8d87cfa039db1bbe6d613020fe0fba144b5ec4390a33c64622092a037ff7f2ad981e1bb56036bfb79a71c5a5d5b50bb495196514da4cfb67676fa4142853328c315d62c941903d1cd3f5036bb16849f02f72af39c212cc6d4ccc001693d2036deeafd3ea5b66103aa85455e33e20e9734e40c8592f93c99a0c61bfc85ca0a447ed2ecc17e5135df03c6d23e44d95e4d51692f175de5e4cceabbeeb79683cfec6f28de345d5aa6eff3038df21e8cebbd86d88eb81b6b1e5136d918dc2aab17d392fd08f13ee236bc1251035d11894a7bc693124af2355b26f8eeb629a2fcca977f0512659c008b91b95390039bfe35f391c8385d57bca4bdb4cabf9ebd08be87112c112ec923bdb841f77872036691b52a5bb12a0b4bf0210563e03e95a885d9eec1afefadd0011f9c1c0bb6d603cbd516850bb5127482164a5887d5bb53c6562733d344ff0519f032a30dc5788a03906d08601664a0262de4b67b87fec0e2f8165be2bc0d3c6d3340319de2d139ed03ff993252cce9336e9c17604cd2d2961a696b61345fd8624ce5f03cdbb775fd6203200ed2a1add6baed77bcea038fae7292949ad7485f11aa5e5ac0ac19ad73f2ca0347a5218cfaeb2eb0da08b972b75a1d0912ff9d6ee1d2df7169db054e430eedfc0342391efdf14366eec2a7473ab15c27d03e5c0ebf24c8b538e4cdc83f141911b703de2028b7c116732b0dc5d1f389dafb79ac6c3f2269069d7939bcb48efa272ede03c686605f7a0b6b47dac3f2a0f9345c22398c75c2562d5c4d1cd99a8b11f4d66903fc8e4bade65c35a8c61cd3eeeee95585111c575f7d2c7b6f919f3d4bcdd1739e0391ce8eae9df8ac41f4d8453ac16ff65f736a2db0473761f1153f1fac31978bb4033e0f10bfe2684e5334b6c04018a7d5723309375fa361f1335695e04894602f6203770febcf54859e08b2ae302b31067baf5f8e1bb1292913de4be8af5cd699e54503dc408b449231e4f5fa1881e17ac656add807f56ae9c5ee3e2f75730c794b4cda00581f035c0bff54d318ca52a5731ab07d31370c7a2840ab93f894e3eb9a39207920410103053c24587a4f3a683f733d7cee679208f108e5d9796ab58a1c8a386a56de229600581f03fb293c56ef30a1f2851136118b25ee8739a8e04667125e79e9e8cb01a750410100581f0368138e27935228d4112b57e0f0551bafa853e1df72f0625ced04bde8b460410102196500037050c4417686f02e8124687046fc27175ab9d53195c5ee63bba866e161036f4500581f02a5565b50117e54f8746fec432987e85e8c2003a201624afacec33403358541010219ffff03c4b1a94541037c2101989381bcd20c0b92d66d470e2a1f789f674c6e60731697034ad347ac5192089db18b5df9f66b8c0b7268d6cabb5b797a1d5bb76aac804db003beca2ad648b83a399e3b7b6fd6f7ab64321fd6bd7b6c7f345e22a67ef00341b4035f39fbfb6163a009b39d04f724d2d82ad54ccb7bb017b58d77a59879dce4d6ca0313e0fa10d9ace22c0e3ee34694cc3ca9537eebe8804fb1e98661680cc1d812f20219ffff03d85b29e8de2512b158212aec329f97b1cd5e5a70f05678928e87ad557958816203a68aba8154b6aa6d1d71586c1fe982eb4db9004afa626d3c59896a1ad6ef773503c0d09dfcf15f6eb832bee40d1d2acc5040bc5646592c34bbc448d57d5b1a44d7031460f20a15bc59fb252122bfd4aa67577906bd1ebad2543ec78affb0cc88a1520347548b746bd62910a1082b85cb4e1392f6939ef0d48966c5916b2bf45bb5669803b1fcbcddf004a98d65906f29543204b120289b79a24589d0fc8954c8ba7ecf6e03dfa44c5b71fd720daec57b9980d84ead46790e0f8cd0b8058a9ac111c783eebd0219ffff0349feca8421f21b5559afdf5d65bcbfeb42cc4bd94c9375ac588103ed078a12810219ffff05581d02f6abeb5d1f4b58879a5218824ed1f101dd93bd76994054b6f8366d9a070119034d05581d02fe89af61ff2157987e97b9c624a7a7874d05b195eea7a37e591aace10c01460da475abf0000219040105581e03a04fb44620df74bcfc70b259c7e8a67bec1a550b5d9ef2a593a65b43f00401021921c803046bb8d4fcb8b07c9a5ec19a05e3030dbb4356e9536ff3332453686f79d017e90219ffff03b65e7436e26a1a4dd6ae71e613b1d9d3f2c8d56ea017ad21348de572ad97502d032899e13c07f7782b8a1994f2be12231be378b402ac71d7567d0539d07b15975803c7b5cd6f52691f13e8074d99218c935df13df8d1b6eee7134b1dae78ad4670ab03882f9e0a261e968f7682e623389365a66b53041da1224d8088a506152c623c86030b5f251f5f8337454c6db5bbcd788820734558cab61a203ccd38e2bedd2ebf9903dbeae4cb0aa380d5ea6741c09eb00579e5b6d019e2bedff135c700c83c15912a03b5dbd07d6144c199d3abd58477dd4961d72a65e023c36d381c9cf93be8ed8a0a0306ad5eb67b9d26b6f69db9cb37d9f73105b111d3116c136958d21770403521d703ac70050bebdeb993d5de61ead529db2952decef7f1a75b9aa4cadb57723b4c2f030db78ad8e32b83d119f9fe23aec86f5051a65c370d2fceee9359147293a6cd28035171314586f14500d77b8d13bf603febb8f52cfd6d92a6c4ffe270f7049d3e8803e105828cc0e25f2b9c21a03d0b4c8c25b3e5a2629dedc7a41e24fdc8567f3d3903209dda84639c76227e62946b6a3dbc28b5c429a6415264937dd0d96a38216a9c03263c7b0ccd389fb23e942377c3c1e8827b483180348c48f98f022454eb5ab6d6036ff1d8bf812655164fd6edd08e2ba6fc077d44d16c6090b8da52273236192a5b0219ffff039d172ed930cbc4fb994837d61a27b5894ad37e58acab6c39991abe5ef3ec1e540333ab6b4840a3aa7af3985f4edd199ce092582249d3d6a397ab9d83a9c01d5547038c7dff06fa601f51dcc238c1d3019a74f0f77e6db96e4eb9ac7e546d1676062903a48924169fcbbc0bf065f961a6fd3be1098e15c529d0f82c455cb46f9cd2dec30313751678f4c4aa7c2c1ecf80c482a51bf55b4105f6bffc9fb4c2af5be873ab5d0372c40ae27637170bc7e1e20679dd7e5f77dcd2535cc248b692922f094625df7603f4ce124358adec133a7f417299a19dfc6c0534c4bf1e7f6a979441cbfb8d724e03043e7e6122a0c847ee3731cd2f5965590a927e54b7320c446d15c36172e573b003225e62f3cc2b852cc84983bf4924768ca96cbbb49f8ece00b449129e242356fd03a3ad6a923cf0ea942f785b619134ca8320bdc863b0d01d10ce695cce1e0e6dce0219ffff03793056939e775b6b710a6e08b23eb3323971ef9d51f7b462f1c476c418c78eff034b7c5a81fdfe185cf051977c4bf855667e03719a000f5819e7dd5f36f59be94103d8b977eaa8451a449915a8c3ea997f377986e581156db3fd6a364eb305feb22103a601add0dde5550d7e4361801d83bd877ed4a2cdf878a86baa50871a2a616411035a529b02b2aeb728c184baaa0efcca01607e2d763084a5658b17353bf62cb81403605b5a36f94c1912dc9161785b3cbe375096d21894be37a5e880f3ba70057e430354721cdb35dd640cb6d36b246faa7ada3069299d234894794f8331224c2ed00703f894c9a1180b4a684d07de7738a7b2b6b4405c14d83c7d38f007d75e21fa7765038f51bc661e6a50bd6d2d70bbe7a720473075b370cb8f6b32fa72fb01bf578060037456c09ebe9afdfe0ef27c1989e983dd8dbd700645402eab08386f2be49a9e0c032f44ce40b3416a10b98e6266597d08c20072771cc3413fa96a3c9f5a50dee36903927c2c98767fdfd8bf5d5f84261f1d9d6e8453caaacb381fb81d6d328654e79d0364c358eec4d82f4708cf7fcf27fdc7966c0cfb82d8b586fb0b65e8df6cc4320a03a552ac33b8355ab81050acb5602ac1529834d3c587d89c518a76536e1f47bb51035c1f52f8ac68973eb5f10741d9ca1c913f37536394d3981f641cb4c07715e49e03586b19d10ac07731116f1982513682401aad65f1f65d0d71727763bbe247827c03929a611dafdde31c4195d30fc025acc49a2259a030bc70019317d6933c156e2f03a79485bb27f625d5423aa7c415db01899bc9f1b1474ea0e8027c8664bbe09d95032c28a2d7550c99ef3deac1d512fd78226c2224cd4ee8041901008490960717c3032bc5155f035c76285783ff6cd8fcf0d6082c8dcbc6a6c0118c8bd7c1fe248eeb03487e7419920ec261d5d36f92ee9d94604f0797718ade273d362095d83e8030c5035855d44f4bd627fc3d82cc2a9ef71b255b35b87fff6e8a2b9d032592a1309fcb030e874e3909f872c83165bfff4f41922fb8864db0e0765d95fbbbcb2baa0e3519039c2a5472ba57e5830075dd667fdd82da6a512b1940c4db890ded646091f8baa205581e03add5aa989b5a6ec3204f6efd63c100434c28908b6a63b02e6d8a1adf60040103e91ec8d330a43664754c0aa5c22b237afd2e1c26c9796654264e24542d6590da05581d02b4f6607c0e12973ca4f2ea6707014aea1489ae5cef795ea3e9c8c0810401045909006080604052600436106100435760003560e01c80633659cfe61461005a5780634f1ef2861461007a5780635c60da1b1461008d578063f851a440146100cb57610052565b36610052576100506100e0565b005b6100506100e0565b34801561006657600080fd5b5061005061007536600461076c565b6100fa565b610050610088366004610787565b61015e565b34801561009957600080fd5b506100a26101ec565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b3480156100d757600080fd5b506100a2610244565b6100e86102f1565b6100f86100f36103e2565b610422565b565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a36797ba947b378aefe5f726cd87766cd3c25ee31614156101565761015381604051806020016040528060008152506000610446565b50565b6101536100e0565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a36797ba947b378aefe5f726cd87766cd3c25ee31614156101e4576101df8383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525060019250610446915050565b505050565b6101df6100e0565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a36797ba947b378aefe5f726cd87766cd3c25ee3161415610239576102346103e2565b905090565b6102416100e0565b90565b60003373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a36797ba947b378aefe5f726cd87766cd3c25ee316141561023957507f000000000000000000000000a36797ba947b378aefe5f726cd87766cd3c25ee390565b60606102ce83836040518060600160405280602781526020016108a460279139610471565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000a36797ba947b378aefe5f726cd87766cd3c25ee31614156100f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f7879207461726760648201527f6574000000000000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b60006102347f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b3660008037600080366000845af43d6000803e808015610441573d6000f35b3d6000fd5b61044f83610599565b60008251118061045c5750805b156101df5761046b83836102a9565b50505050565b606073ffffffffffffffffffffffffffffffffffffffff84163b610517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f60448201527f6e7472616374000000000000000000000000000000000000000000000000000060648201526084016103d9565b6000808573ffffffffffffffffffffffffffffffffffffffff168560405161053f9190610836565b600060405180830381855af49150503d806000811461057a576040519150601f19603f3d011682016040523d82523d6000602084013e61057f565b606091505b509150915061058f8282866105e6565b9695505050505050565b6105a281610639565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606083156105f55750816102ce565b8251156106055782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103d99190610852565b73ffffffffffffffffffffffffffffffffffffffff81163b6106dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e74726163740000000000000000000000000000000000000060648201526084016103d9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b803573ffffffffffffffffffffffffffffffffffffffff8116811461076757600080fd5b919050565b60006020828403121561077e57600080fd5b6102ce82610743565b60008060006040848603121561079c57600080fd5b6107a584610743565b9250602084013567ffffffffffffffff808211156107c257600080fd5b818601915086601f8301126107d657600080fd5b8135818111156107e557600080fd5b8760208285010111156107f757600080fd5b6020830194508093505050509250925092565b60005b8381101561082557818101518382015260200161080d565b8381111561046b5750506000910152565b6000825161084881846020870161080a565b9190910192915050565b602081526000825180602084015261087181604085016020870161080a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206f70214c51cdd41c05ba0ffeb72b309ca3c8be178fd6e73c12162330799984f364736f6c634300080a003303a93681e19512b47d55d1952febcd33075ff0e74853859eb3672887b3dd77b152030394c16b39e4d390d409efdf741ccafc0958c5663894841369569f6293c05e2403b78eabbb39c7a6bbbd26a57ec96a4986966b5e9b4f8e695e41c20f017b9823ab005820022afa24824c14079399dd46799634d61c5e8b56159850cfc954f54e3a1dee5c480de0b6b3a764000003f359bcb74de599eaf8a5eaf53e6965ec3f6cf89236b4b9a061dba7813d503a6400582002216739944da859ec405e6d5a09f088f4037c2c9ba042a042ddc4477af87fe35268155a43676e00002ee00000000000014c08005820024442fbcfa1b8704a216c4bcba657697b66791cc87d6e681e103c1b1dba4d7a524563918244f400002ee00000000000014c0803dfaf0583ece071006baa565d0314b92a882aa747b194f5f9e787bfb1b1fefb6000582002fc50e4e06015bfb6a8378d6e5df06720c2573873ced7724d5ca020db148bd85302086ac351052600002ee00000000000014c08005820029a92f9316f3e6f09a9189267c137ebd8c290062eee07612ec39c88c68679c648125195019f84000000582002fa2a2bf3855f412f752f84b253dced512ee67f4e92c659687761540c101c6441010058200280f3cb8ad66d7d7ba4bc2b7837acbe801d5e5d4da1805aa95876e92181e7d452d02ab486cedc00002ee00000000000014c08031230b1d58f64e818e5b00cad9c0e1a75df123ad9b903ab2b23c4fdd7bb1f6909039b3147df0ea8f562d987e0752e2be79e5a2ce0ebfeea3b95ae0f3b8ee5e1cfd0038cd13c7cdc3bea8d884dea88a146b8d21d3a0faa4f3a1fd02d9eb60bfadeeeb40219eb5f00582003a5b1f5c41ecc827bf0f87900d60370602a1c92800509c74a7998b0a6aa9d4047b1a2bc2ec50000034b6f6f545217a6176f9e3cccb0877a0ac529699e4297a177f792f67bedb6dc2f0058200372674974f694b5f5159593243114d38a5c39c89d6b62fee061ff523240ee1054c03f31fd86a9077785b7bcf6598ce3598fa91113021922020360abd61566042e04f8c7d88b3fed8f8d784f6e7f6b2e74aaaf4307d85959c9d100582003c8986a9be5fad9374c8d7f96bdb97ccb13579e82878b4152323efebed0034048016345785d8a0000005820037a693afb854d89816d1492b69ea811817e64d3f669a6e85dcf261ffa31a590480354a6ba7a18000000582003280c47afb2e806a34fceb2d301ce916618e47c123c6a6b3c2e51f031a8fc7047b1a2bc2ec5000000582003a716867a6940f822d27ab932a32e9ae987452fa9f25e790fe7f9e981740860521bc16d674ec800002ee00000000000014c08021922050058200271a0d3b95ac5bae99ab1f123818ef7ee47291f1f92c277c9b07a52ba3891175302086ac3510526000029fe0000000000007d0000582002c54b81e82eb67a7ce423d5cc67874e7c61b0dfa3bbbd88bd76e01fc300c47847b1a2bc2ec5000000582002a90e87a98968a6cc67f57a664b7bdae4184770ee09b56d64dcd865aa3865d0480354a6ba7a1800000339dbcbf6b80f5d80e30f90da07f0abc495aeabbf79737091fac27fa8317fa80e00582002d8c1b860726963798e7b3316216e02d86bc33623c1f8fe7a2dffbfa50250c447b1a2bc2ec5000002197394005820027657a050664b97775c2462739d33a2a5f9449a88b0a3516dbaeacb62c93b415301158e460913d000002ee00000000000014c0803713dc97e7bd542b3ad883389d9ee38278626576c4bb889ca0f0341e7dd773d1d01410d00582002ad9f8361a6918c3b66accdf53b1840d6e4633f33ad23947dc593ec30e8eaf147b1a2bc2ec50000005820026c52f5685c54d2d18642467b0989a7dd9e00723e6709ba80755163d775dcad47b1a2bc2ec50000005820025a5c951d4d1f973e3b764333c352d0263c4e68bd2f472f1124ec2fe73559a6488ac7230489e8000003586d0ae96e47122e444f52972fbfafbdc666cc8d0aaa4e0f9cf67342c2d185c80058200240d5dfa7b170f4d2be3bd4c4b84a7ae71a36aa4d31469040b16f19648074b647b1a2bc2ec50000005820022636da9330e817916795052025ba22cc596cfb91b28dcb5eae41814c3f5aa05302086ac351052600002ee00000000000014c08005820027753c18d4a9695963b7bc390f3ceeedd9ed991e804c4af1c3051bb837319f147b1a2bc2ec5000003999dfc4a947fb56a487c13b8e00b9c330d289ee12f25d10497ba11a547b328f803cf904d6b9707995d30c00aa90e6048ae3a32b594c5cfa495f29ccd8da1794c66032196712b136aadd530df7bd64a8c4db6987a8e8919dbaa2f1cc706588080be1400582003f1660c368b0c1bc933b258619913acd0d11cc88cc67a82287863392d664630480de0b6b3a7640000005820038bf2f2791efe95826885e74234f4e5059e17430f2d0879c9fe88c7ff2b8930410100582003d3e314017b4e221cffb566adb3563971f08c74c59229c193b2e4923c219cc04a2ee00000000000014c08005820039d6f7d6347491d8dd3c34ca2eda93560b84862a1cfd34825d1f7717e000870492234e254d1977c000002194290005820025d31d3b5f76cd885911a18919c6a589f00a5ed904e288177f08445aff3118b480de0b6b3a76400000219effd00582002bf0405c41d6e042f2d882e16f6ce88d08e95662b28d5b1c353883f35460b4d524563918244f400002ee00000000000014c08030aadf5738d86bc5836f40d360964c4d1c8b18f45d2067ea5132e906d1a5e2ad00058200210e01202e0a89c667715f47a3d8b66322d7d4d5ba5ae6789be795fef925a92521bc16d674ec800002ee00000000000014c0800582003e4f155c5ef2ebd3772b228f2f00681e4ed5826cdb3b1943cc11ad15ad1d280581e2ee000000000000000000f04f5d8bb631197845dae519d03d7997f7d20ba00582003af6398bcc1916e7c4208b54c58804081a29a61012c948a4f6b52e64b821e4047b1a2bc2ec500000219880000582002f46a19d3ce7684631a37a728f20805b6f1350e730b2b079e1b95ffef6f7d1847b1a2bc2ec5000000582002efcf41728435a1673a7a16ecafb9a282c8a16ca11bb12e5de6e13e3f3a635b4a2ee00000000000014c080058200280d3f159fe86f310a482c8c1641f9b5536d16370dd8588a1f5286da19751e24803782dace9d90000034cc6dce6b5eccab7bacba62fd9cf5df053e327f800fedf729897874a0e84aeed00582002cdcd3ba10d63e36ee81f332c9aa6f56a24afa59e662602c6323f5832d4923648016345785d8a0000039a12bd383e68f2d780e6e512a58715adc7f409bc5f1689b5617f77f509160dea00582002ff14ce664c3f4921209364a5f824d89fff074a24a76009ed37bdd8ea2e4c9847b1a2bc2ec500000219df4b00582002530bb3fcdd508cc5e40a6ae1d573840808b15e350ec53a69631685743e394252ad78ebc5ac6200002ee00000000000014c0803eb403f75beaecd06e0ad9d9d46f904ab81a3c78476c08372708e25dfec430e6b0058200244cef4c4091228bbb96e80f9cd9db526c5a45299c6a2ecd8f058e652d68bf047b1a2bc2ec50000005820022f3fd4ec08af926ae0fbfaa4c37db026cd916247d8ff6e7586c78ff24dacc94101005820037e03e3f4b79cf5978b55e2d66975a517d9fba65792fcda2e07f216a1bfa70053015af1d78b58c400002ee00000000000014c0800581f020eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d54dac2d26317c42ae3cb21357b73404120e1da423200581f02ca0bda5053533d4618d3a9cd4083226782d6405e7fa96bb5722a23bd4591480de0b6b3a76400000219100402190820005820027472bf0355efa35b1d7a2e09024ce25ffac663cf8b0c700abf13b742ea58dd524563918244f400002ee00000000000014c08005820028d39409d3df901fe054d302ac1ab5a5a7d8f71bf85a3587c88199cd4f787eb5268155a43676e00002ee00000000000014c0803aa1c93d512ad0a99b9e32c3052e385dcf3b06d82f5dc15e8925f4b70d8775e5d03673f847c76ccfc28a84c3f8554c9b2d262c7cc2dc601ab90a2c062facdb6880a03d944aab5421ff71d070dc495354bab3054e32864cd9ef39198ae2828fe77a1210219c73b032d0f8a42f1d4408704f4c2715241c95b107fcebb5b7c2818360c6b2d3bcc133303fdd5be6e28e56fa3f8c335e7a03c99383e4aff3e04fb0a9383a0369e60317dc903eb6589e43566cebf45bd1cfa55c5c9a1d209882471d2b7f9f20f914201d9a538005820030c004c8c544a01a43450ca4acb24b3e307ada938e883a704e866cb115f73e0524563918244f400002ee0000000000000000102190880038623c58ef0b0c0b0cf847b0fb6e6a73f8d57aa6ff153055a104e8a971b3e7b3003192cf84e00e12a5f75f80f77be5dbf15df80ed1df456cef37c03a03892a5d63003ecda16912dc6a028826bcd4f65e4039a613738c78a4555a6497a4c7cd282108a00582002f67cfc366f96bfc644cd5f49b9dd7a9c07135122fadb004316661d331ff06b528ac7230489e800002ee00000000000014c0800582002175b2fd756a7b974c969903bb4095891d2b9795948b648fe56f2be4377de2447b1a2bc2ec50000005820023b9b911fc9268790b8e1bcbc1f1aa998bb0007cc2b9f48ba68f027b9252ff55302086ac351052600002ee00000000000014c0800582002385dc45cd30b839b4c06c26b7c5b0f98d6fa2bae2be1a584a659b48af5ef364101005820026114dc2de2d24978e38606dd180d757225166d07ceaff7ce5bbf0f57d047a2528ac7230489e800002ee00000000000014c0802194fd103e1f703591926a1c59417e4cace639e344f4a7c3ab2b8cb58b19ab0d7ceb43c0e03a65f57b16e7563910d6da170d2c1237b4a0c1208b2e2364515f896fe80c0e21b03684dc25b43b4a430f21a8819aba5f0e4027bb35f6ef35fd3b1a9a0db5df7fb1c032cf2598a3010578e9deeac73ad7374ce4dfc5303a52e6e1d7c9830f000902435036ca9894d95b9dc820f258c4773d8b0b67d9990e7a9c717275a71d11089214e640219ffff05581d022b82e1b718e52011d02c7845d757b508dfafc12c89ef50200fb91b8f07011909000219900005581e03734f8004c32ccf2840126df69f74e10a5b65d5ab7c49aab40b0bce65b00c1901284801fd3462f71f96d405581e03e4e9a72f52a7209cc17520e4a8accb9871533343a85f981600e5038d900c014502540be40005581e03e44fbb132ab4f24f98ff2aa8e8c8caf36e9c8a80666276887033b684f00c0146cf5b0ef65c0002195d5c034bb9ac82fe9a9ecdef12ac3efe368fb0b0e9ad3c4c7100b41351c9ad2b08ab300359566e42f9540f58eb41120255a8bc87b90553ae400b03cea91e003d1d67325103e23da81d656fb4a9cd81e8d65ff6bad1de7aaabf2c12bf9f51b843cadb7d3d9203e2b3b5d88d99ae44a1254376cc6f12be8e7ce91cd2854f5efc9cbc1589d9db6303fcb3716a20dee3fad0b925fc743585588f2810e933210f2b8f6ccdb615f070030323eded859adb4837b9701452b5e01a1f205deaa3872420b0a18b6241e827be59032894300edf3665d2333702e03ad5251a993d703aa0c0a6224a6d7b524bcf2f080311f23616f2207891847ba6b8d4d7a51e7d4ee443ca55c4b36fefecb5e2e36c2803ac6cb9cd294d0662739c35f5ac56f3c13e514465dd962b5fd9d31d04bc5776d10338190cc8701a16e22f14aabef8d3d52c3dfd16ae03da8ecd7321b521244adfaf032b5d1bd8d25e7b2936f5d59d8b4c4290fbc324e591f48345652321afbd9fbd390367df4457cd7dd877a8e44079757cbc0529e2fec4af0c715a5b16dc7f464b80df03ff4535ae6a7c899fcf8504194f44daa925db34f3928ceb3669a27d3c777c5fbd0219ffff038aae391c8e7350451702b1d85a4b2f9ba0e7b433eb84adcf6a003b74f17914bb03552d853e9cc098762e3ea8a95589c7ba9da341bf69365f7432c18eb70d1f4087031929d6d03ce80df71ece2b83f41dd79bd1adeaadab9c5c0ea29af5cf509804640323b92ab59c0882af2787e301dfad65449528222d611467865883d3082e32e5d3033d92da13cc2b2653c31605e81720eee1128a6629be77ebc911f766493ba1be99039a4a440f914b62c98ecc2c8c1a472e2f156610cacfbd0d660789a598ae215f94038071fa64fb918f9d9a015af3ff748fee232735829296275bf076648a1be818bf0311449b3e406adc4bf4e7e8415c8e6a3483d95e43db9823ddfd9876900917306a033054e44bcfb490024c060051276ede6724df1501362274c52a9483a7b0fafb41031c711122d3484a447666730e012d5da8e67f0e6bd2c11b5501d63fa618385ef203573fe2380e2d64ff34b16ed3c45297745bf2ef860abd489a1bcf6991f6928a630219ffff030e201fc920cffce5f0433b2b0cd17f85a470f00bc61d6434f8e22e568f59673103fee413716b5c9d98a3a7ef2bca390d6c96b4428f28a6fb4133017e390d55dd7b0315560bfc7814779373b395bef3c1c39ee90665c0b54e4dfadf76645752fcda750219ffff0359cdeab7520c04cf71b9744ac5637aa406a2f4d1d4271e0ed78bea68d18b5dc00380d4b6f538d36c484165841a05caf7db37d8a125c4de8999948a02e598fc1503031b7d6497aa977bbf355bc1dce56bf04e448b8851adc9054ba487fa716800adde03b20f89b038d14a26cce049d28e1ac75e9af84743bc3faaab90d1625fa528af41034f56ccc6415c04959dc6019ab91a6ee14bd8ba17e56fc154b809d91e74a3064503ad524142a7b9a72f4a5b98ae3379f4138db62ae0f828c92ba07f6d29632e693c0318fcf1217d9d20726e7c30d6c8e18a57306e577474f8f4cabee58f50a8ac063c037c81651557b076c7786518c13021a2c6fd10e0d339ee9cd51bc6e86da3f297ba0396eac1c6bf6cd3bbf26bd87c7a9af544f208e7f7a3825e65f97de39a13addeca03c37e2f3bd2e07a218334964b034d4f1d893c8aad19054446c071ab278627b0de039e4fc95f7bfc7fe827a24fab3815dc7b18111cfc6206db7ddd8fb6cbb2ccae3503c9638c13da425d5504cc55b260b5ff06330f4d8dc2473ebb7b04809c7a7158de03eab104120544ffe7483f04353d35c383c06f0de7734509a528d8722446b28cbf033be0c13e24174d56164cd8fd139b3fbd61e0f80a78c021ac73de0747a6a51be703ee3a61775145cc55e6db05dbdb85cfec9144148c06f0787c71c11f7707a5c8a803985c8dd2ba2d9f1d6a8acb305ed09bebaf78d6d187f10f289f5eae9f816c350f03fbb79ef4530564e716135a830887d607c9693df7898634711d582d436e9b517303badb27318c3c467fc5c0258c7527d16d1c3c86e79e9991857b98e894b4fd375703cef73e98821016af96c243c8229b1f552e95dacaff30a9c598afab849d3a5b31034efd09232c87a37a18fbb6590036f07d14aff6009edc48d4623fff481770f61303ff68d2ffb4acddfc9f3c73bc4a86db874f295cf03196fd18f33146e11d93c6570343b0cee30236456c0689401698817aa8e20d96708a8cfd99a5d1edf3720a9550032fab9a54d5b969938b8f6020399112dab42be8927f4ca6313bffbde09bdc99ed032bdb8cddae311b9a006f16384267f4f521363d4cda847ab62342187221e88cc3038959d20380db20774372d861ab2814a1fc3e30658aacbbe72d747f540099279503ae6880f5d92f22c8668ab6d4f569967eda18a8c193751ceab6059e934722598803cb3d93946f960b398e9ea106a7f9a8e14ed2febd4f19ab3b14bbff86aa61cef1031b757c3b0f8dcd5383fe7faa89d8da42a2d25d791024fd95194673b3834efd55031400570530325fea7d66416229a214abddd1855f749a86212ef1e0762aed75da03d8faeacab651410db41c63313d23bbd3b741aed24ead93056f94a7cdb8809f370340ff1aed3b9fd1325a38c43088946eff4950d35262a854cb5c2714a66141f82303b6c1fa37d5655e31bdd71e3f7d91568779c672ae0b3e5afe3b3a310efd2020db05581e03861a266d93c190461ba945d415849d6e8c2b05a95b297e8333119bbcc0040105581e03bc32b5bd73900e247735ba3f68be2834d9f0b74bcffa55159f88f65e000c0447017e03daf1ec0005581e031dbad85f6ea7a7a34ebfaf10dff93359167f0b3b8ea81292e0c3cab0900c034613f9777a4c0003aa9df45b192bdd80301f178037dab6037a8d5b9ba4c3cf25fbb92874916ed54703ef5a0cdef5268aefc72acdfaf83b464263de8d04cda7e050f76165b47e8d931103a5bb3c40ac30e47cd47bd7f3002f9c05f90b34d8af199d41642cd6cf4bdfaf9e03d31e49df64b6bbbfaf2ec5ba472a3684d3d20616b449cd7f79f3ce84a83558fa05581e035d252645cfef6ddcb1d05d6f1db3f3d6e0d2ac1c4ed26b5e2d03b74ca00c0248013ad01576bf626805581e0382c826e949438e5f24c9117342113580d004227145d08adf4eef02dd800c01470169f87d20fcff05581d02a1850def5b584d50be19e6840f6b2dd350b1ac351487f43662e512fb0c0147bfbc6a76f41c0005581d02125e65dafc622bd68259ff8d80313259727ef0062e38653b7595992b0c064664387cf2ff3005581d025298dec5a147358d26ad51cad2621909d5ca05c06ea69ca0257232eb0c181c4806787f29d1f18b6605581d025cd2adbad921ad30c61ed698898eca28ff112795b19d7e39a851e3770c1a00106a5c494fec2d2d288d2d290f05581d02997bfba8cdc4ecfdcf8c6dcdae6232422c85487d1e85524fc759e5bb084703ebd3d749bd470219344802191eed03abff8f250203aee7906ae925c19e4eb2b5f1978b900db757bd035f067cb014b6033784c9a6f676221a0364389a9a5b5a0b00a5c907539fff5c168e2557838aa5b703f49c4260ea2c576c2818255148c3b6ac051f442f2306d94345541076c5601d2603b08e5a7b4613348edd7a91d435c8cc204fd0fd0228fc017e2d1c9750cb7f0f4d0311aa76ea749ef7a9ac5f84d761a72c067380caf64fc4a8ddd2d03402ee171729031c2744d3c06b15d5f3166f15bfc32a88092cca5ee637dcc79820bcb35d8181460219ffff03548e012c440af7b805cebd54759c873c6ce04643218df1d7958a80f0d48d3f3803995575a38b535b79e5d3c2e7f00914abd9cd391ba7deaec79d8c60c9a718e56b03142f98177d681e61ebd32285be058cca90a5ce759e27e26c8c6b0dd1fd345d39031bc874f02ad790362314b2e91b0b57eb1efde6f33f726a6b4504b7d404e9535503aef92576981bfcf6f1af5dac8c50e6465721c7e1aa36adb8562356577ebafe7d0219ffff0303879e6e23deb151159c11294bb51472b4ca2b895c23f384a00ee718e7fe8c3403d37b953c616a3123f8f96897c78b1b780a0462afd387431ae07f8ecd90133eff0219ffff0346adca7a804fa0a31ba9626625eb47991cf2cfcc5239d6082677ff8f860de2d503db191756bc5e10df865ed965a7772d37c4f5cf0cb8deaf1d63ef31601be2d16a0219ffff038d00f04bb9c10104b3bbaf2e024b35f37bf2183df736c5327f633aaf689b0c33034b36daac3012014cf294618958ff5d1ad0bed3aa7c7f7ba18c360c82cdd71d4d03a0f2d12476949d8a83e539f4b1843907f492e7c8392496a487939fe2bf59e60003a559eaac0de5d9b9083a4757d8a8418c2e8de78a180eb5c319a6cb116ef8eb0c0374b149493af234e21e137d429c189871c46de8b50e5a1b9e6edcfda88a9b449203cc32336c806b479980b109489190a4bf215a619e6dc3c690c44b6b3110c83174034108d040de96ea6dfc6a00f875072015d531d19d3d84d85a4432a4757b58504703b6e117d002649cf315ed09b1698b5d89df6df209c0dc5077c0c56d18b59d0601034a3f5418cec9cb8ad1db7692eef674d704969139defbac5253cbcb7eb3defb7d03f12aa800b213569635c7999bd01e0ff7be0958475621780d1243724dff7bfdd603791eb02af5b20d3f169fac7e6e54fcbd9c0299e7a9616cb444aeb9848a2db11503c7ec53cab59839622cf63a78c01ef25cef1359951865aeafdd96f3319c3e63e30372105552e36b3e5e3b7d1b98df95530cc66794eff7cea641e834968959e7c9150311200ef16d8e5409baa74817a52c140dfae83ab5eb580abc8a3dd7ad043e8a5c0394a54f0d7ea5943e85d3b29642cd213574a405d3afb7b88952649b155623f89b031b800055602e7394aaafe27609157dfd20587059a3da5225c7a24a5b4e324ca90395024ece7a8ee2f3b1ae90fd2ede522012557e8b8d8c53a5553f212fdd92569c037f56ed94ca30f6ba4ff78e59ede7a68c82e1cc04bcf360fbd4fd878116071e4e032c5c6f486af1400e75418acc2f8f528f348d0ef5dbc18f736c3a0e83e53f15d9033448392b9af3fe3b9106c962df42f2664aadc1d1e893262d823332bf0a955491035f513bbbeab5343e1af4b9050f6d0edae81591f80d19103e92759ef4b3746f820322c9cdfa5eadb982d8ba0b6f29f482c55edf5909a5feba881b4ed1653a186a350358f3f1043698e2b8f8dcfd22988b35157f128496541be3c29e77c98111ad219803355232814b51af9d07be8fd2361a597e4d869a1ee3233014f5a29602d3f7a719036b2d73db6c9eb0a5e12936fe2b6f061cf0f852998e8c285c3fb8add79f71f34003c9fa49b8761d48005e6d4657bfac2d17661aea9648239ea8584991e70bab743003c7b725d9caa5916369d4f8b9868f1134cec5d854f912bb612804479d2e1fe81605581e033d980d034844f0c3bd359e0520f7de878f9165417c3235950aa1f1e1100c01470e52be3cc1a14605581e03e203405dd33518727c7c38daed22b05389a05ee5a0b20ec5f6a6da52100c02468a5d1e6c36c005581e03e0d25db9efce24d29bcb3e91bdc1aec5325acfae1510a5d1587236cf40040603754db11d7304bd853f507727eae8d7c83808367b7c0c61a2635d8bfd29d4dd98037b8a8936f0cb99a1331ec3472fca4f426aa9d56e5550bf71e27ce309a9f0f5a603c5912aa6a53ec8497029cfdfe3b400b8691ff400dd5600c726be46d7035781e305581e0318f5cb94e97af497c76dfad76ed9890af6dca5a6d9d62b24f9969caff0040304593242600436101561000d5761323c565b600035601c52740100000000000000000000000000000000000000006020526f7fffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff8000000000000000000000000000000060605274012a05f1fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffed5fa0e000000000000000000000000000000000060a052636b441a4060005114156101105734156100ba57600080fd5b60043560205181106100cb57600080fd5b5060105433146100da57600080fd5b600435601155600435610140527f2f56810a6bf40af059b96d3aea4db54081f378029a518390491093a7b67032e96020610140a1005b636a1c05ae600051141561018657341561012957600080fd5b601054331461013757600080fd5b601154610140526000610140511861014e57600080fd5b6101405160105561014051610160527febee2d5739011062cb4f14113f3b36bf0ffe3da5c0568f64189d1012a11891056020610160a1005b6357f901e260005114156101c757341561019f57600080fd5b60043560205181106101b057600080fd5b5060105433146101bf57600080fd5b600435600e55005b638e5b490f60005114156101f65734156101e057600080fd5b60105433146101ee57600080fd5b600e54600f55005b6000156102e7575b6101605261014052326101405118156102e157600f54610180526000610180511815610270576020610220602463c23697a86101a052610140516101c0526101bc6000610180515af161025057600080fd5b601f3d1161025d57600080fd5b600050610220511561026f5761016051565b5b6308c379a06102605260206102805260256102a0527f536d61727420636f6e7472616374206465706f7369746f7273206e6f7420616c6102c0527f6c6f7765640000000000000000000000000000000000000000000000000000006102e0526102a05060006102e057608461027cfd5b5b61016051565b637c74a174600051141561036b57341561030057600080fd5b600435602051811061031157600080fd5b50600660043560e05260c052604060c0205461014052600161014051633b9aca00811061033d57600080fd5b600560043560e05260c052604060c02060c052602060c0200160c052602060c020015460005260206000f350005b63da020a1860005114156103d957341561038457600080fd5b600435602051811061039557600080fd5b506002602435633b9aca0081106103ab57600080fd5b600560043560e05260c052604060c02060c052602060c0200160c052602060c020015460005260206000f350005b63adc63589600051141561042b5734156103f257600080fd5b600435602051811061040357600080fd5b506001600260043560e05260c052604060c02060c052602060c020015460005260206000f350005b600015610d33575b6101e0526101405261016052610180526101a0526101c052608036610200376080366102803760006103005260006103205260035461034052600061014051181561063c574261018051111561048f5760006101605113610492565b60005b1561052f5761016051630784ce0060605181806104ae57600080fd5b8305806040519013156104c057600080fd5b80919012156104ce57600080fd5b9050905061022052610220516101805142808210156104ec57600080fd5b8082039050905060405181111561050257600080fd5b6060518183028060405190131561051857600080fd5b809190121561052657600080fd5b90509050610200525b426101c05111156105465760006101a05113610549565b60005b156105e6576101a051630784ce00606051818061056557600080fd5b83058060405190131561057757600080fd5b809190121561058557600080fd5b905090506102a0526102a0516101c05142808210156105a357600080fd5b808203905090506040518111156105b957600080fd5b606051818302806040519013156105cf57600080fd5b80919012156105dd57600080fd5b90509050610280525b60076101805160e05260c052604060c020546103005260006101c051181561063b57610180516101c051141561062357610300516103205261063a565b60076101c05160e05260c052604060c02054610320525b5b5b61036060008152600081602001524281604001524381606001525060006103405111156106d357610360610340516c01431e0fae6d7217caa0000000811061068357600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015250505b6103a0516103e0526104006103608051825280602001518260200152806040015182604001528060600151826060015250506000610480526103a05142111561078257670de0b6b3a7640000436103c0518082101561073157600080fd5b80820390509050808202821582848304141761074c57600080fd5b80905090509050426103a0518082101561076557600080fd5b80820390509050808061077757600080fd5b820490509050610480525b6103e05162093a80808061079557600080fd5b82049050905062093a8080820282158284830414176107b357600080fd5b809050905090506104a0526104c0600060ff818352015b6104a0805162093a808181830110156107e257600080fd5b8082019050905081525060006104e052426104a051111561080757426104a05261081e565b60076104a05160e05260c052604060c020546104e0525b6103608051610380516104a0516103e0518082101561083c57600080fd5b8082039050905060405181111561085257600080fd5b6060518183028060405190131561086857600080fd5b809190121561087657600080fd5b905090506060518183038060405190131561089057600080fd5b809190121561089e57600080fd5b9050905081525061038080516104e051606051818301806040519013156108c457600080fd5b80919012156108d257600080fd5b9050905081525060006103605112156108ec576000610360525b60006103805112156108ff576000610380525b6104a0516103e0526104a0516103a05261046051610480516104a051610440518082101561092c57600080fd5b80820390509050808202821582848304141761094757600080fd5b80905090509050670de0b6b3a7640000808061096257600080fd5b82049050905081818301101561097757600080fd5b808201905090506103c0526103408051600181818301101561099857600080fd5b80820190509050815250426104a05114156109bb57436103c052610a2456610a13565b610340516c01431e0fae6d7217caa000000081106109d857600080fd5b600460c052602060c0200160c052602060c0206103608051825580602001516001830155806040015160028301558060600151600383015550505b5b81516001018083528114156107ca575b5050610340516003556000610140511815610b205761038080516102a0516102205160605181830380604051901315610a5c57600080fd5b8091901215610a6a57600080fd5b9050905060605181830180604051901315610a8457600080fd5b8091901215610a9257600080fd5b905090508152506103608051610280516102005160605181830380604051901315610abc57600080fd5b8091901215610aca57600080fd5b9050905060605181830180604051901315610ae457600080fd5b8091901215610af257600080fd5b905090508152506000610380511215610b0c576000610380525b6000610360511215610b1f576000610360525b5b610340516c01431e0fae6d7217caa00000008110610b3d57600080fd5b600460c052602060c0200160c052602060c0206103608051825580602001516001830155806040015160028301558060600151600383015550506000610140511815610d2d5742610180511115610c1c5761030080516102205160605181830180604051901315610bad57600080fd5b8091901215610bbb57600080fd5b90509050815250610180516101c0511415610c055761030080516102a05160605181830380604051901315610bef57600080fd5b8091901215610bfd57600080fd5b905090508152505b6103005160076101805160e05260c052604060c020555b426101c0511115610c8157610180516101c0511115610c805761032080516102a05160605181830380604051901315610c5457600080fd5b8091901215610c6257600080fd5b905090508152506103205160076101c05160e05260c052604060c020555b5b60066101405160e05260c052604060c020546001818183011015610ca457600080fd5b80820190509050610500526105005160066101405160e05260c052604060c02055426102c052436102e05261050051633b9aca008110610ce357600080fd5b60056101405160e05260c052604060c02060c052602060c0200160c052602060c0206102808051825580602001516001830155806040015160028301558060600151600383015550505b6101e051565b600015610fd5575b610200526101405261016052610180526101a0526101c0526101e0526102206101a080518252806020015182602001525050600154610260526102605161016051818183011015610d8b57600080fd5b8082019050905060015561028061022080518252806020015182602001525050610220805161016051604051811115610dc357600080fd5b60605181830180604051901315610dd957600080fd5b8091901215610de757600080fd5b905090508152506000610180511815610e035761018051610240525b60026101405160e05260c052604060c02060c052602060c020610220805182558060200151600183015550506101406102c0525b6102c0515160206102c051016102c0526102c06102c0511015610e5957610e37565b610140516102e0526103006102808051825280602001518260200152505061034061022080518252806020015182602001525050610360516103405161032051610300516102e05160065801610433565b6102a06102c0525b6102c0515260206102c051036102c0526101406102c051101515610ed557610eb2565b6000506000610160511815610f3a57602061048060646323b872dd6103c052610140516103e052306104005261016051610420526103dc60006000545af1610f1c57600080fd5b601f3d11610f2957600080fd5b60005061048051610f3957600080fd5b5b610160516104a0526101e0516104c052426104e05261024051610140517f4566dfc29f6f11d13a418c26a02bef7c28bae749d4de47e4e6a7cddea6730d5960606104a0a361026051610500526102605161016051818183011015610f9d57600080fd5b80820190509050610520527f5e2aa66efd74cce82b21852e317e5490d9ecc9e6bb953ae24d90851258cc2f5c6040610500a161020051565b63c2c4c5c16000511415611024573415610fee57600080fd5b600061014052604036610160376040366101a0376101c0516101a05161018051610160516101405160065801610433565b600050005b633a46273e600051141561123a5762ffffff541561104157600080fd5b600162ffffff55341561105357600080fd5b600435602051811061106457600080fd5b50610140600260043560e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015250506000602435116110a757600080fd5b6308c379a06101805260206101a05260166101c0527f4e6f206578697374696e67206c6f636b20666f756e64000000000000000000006101e0526101c050600061014051136110f757606461019cfd5b6308c379a0610220526020610240526024610260527f43616e6e6f742061646420746f2065787069726564206c6f636b2e2057697468610280527f64726177000000000000000000000000000000000000000000000000000000006102a0526102605042610160511161116b57608461023cfd5b6101406102e0525b6102e0515160206102e051016102e0526102e06102e051101561119557611173565b6004356103005260243561032052600061034052610360600260043560e05260c052604060c0208060c052602060c02054825260018160c052602060c02001548260200152505060006103a0526103a051610380516103605161034051610320516103005160065801610d3b565b6102c06102e0525b6102e0515260206102e051036102e0526101406102e05110151561122e5761120b565b600050600062ffffff55005b6365fc387360005114156114d85762ffffff541561125757600080fd5b600162ffffff55341561126957600080fd5b336101405261014051600658016101fe565b60005060243562093a80808061129057600080fd5b82049050905062093a8080820282158284830414176112ae57600080fd5b809050905090506101a0526101c060023360e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015250506000600435116112f957600080fd5b6308c379a0610200526020610220526019610240527f5769746864726177206f6c6420746f6b656e732066697273740000000000000061026052610240506101c0511561134757606461021cfd5b6308c379a06102a05260206102c05260266102e0527f43616e206f6e6c79206c6f636b20756e74696c2074696d6520696e2074686520610300527f6675747572650000000000000000000000000000000000000000000000000000610320526102e050426101a051116113bb5760846102bcfd5b6308c379a061036052602061038052601e6103a0527f566f74696e67206c6f636b2063616e2062652034207965617273206d617800006103c0526103a05042630784ce0081818301101561140e57600080fd5b808201905090506101a051111561142657606461037cfd5b610140610400525b610400515160206104005101610400526104006104005110156114505761142e565b3361042052600435610440526101a051610460526104806101c08051825280602001518260200152505060016104c0526104c0516104a0516104805161046051610440516104205160065801610d3b565b6103e0610400525b61040051526020610400510361040052610140610400511015156114cc576114a9565b600050600062ffffff55005b634957677c60005114156116d05762ffffff54156114f557600080fd5b600162ffffff55341561150757600080fd5b336101405261014051600658016101fe565b6000506101a060023360e05260c052604060c0208060c052602060c02054825260018160c052602060c02001548260200152505060006004351161155c57600080fd5b6308c379a06101e0526020610200526016610220527f4e6f206578697374696e67206c6f636b20666f756e6400000000000000000000610240526102205060006101a051136115ac5760646101fcfd5b6308c379a06102805260206102a05260246102c0527f43616e6e6f742061646420746f2065787069726564206c6f636b2e20576974686102e0527f6472617700000000000000000000000000000000000000000000000000000000610300526102c050426101c0511161162057608461029cfd5b610140610340525b6103405151602061034051016103405261034061034051101561164a57611628565b33610360526004356103805260006103a0526103c06101a080518252806020015182602001525050600261040052610400516103e0516103c0516103a051610380516103605160065801610d3b565b610320610340525b61034051526020610340510361034052610140610340511015156116c4576116a1565b600050600062ffffff55005b63eff7a612600051141561198d5762ffffff54156116ed57600080fd5b600162ffffff5534156116ff57600080fd5b336101405261014051600658016101fe565b6000506101a060023360e05260c052604060c0208060c052602060c02054825260018160c052602060c02001548260200152505060043562093a80808061175757600080fd5b82049050905062093a80808202821582848304141761177557600080fd5b809050905090506101e0526308c379a061020052602061022052600c610240527f4c6f636b206578706972656400000000000000000000000000000000000000006102605261024050426101c051116117cf57606461021cfd5b6308c379a06102a05260206102c05260116102e0527f4e6f7468696e67206973206c6f636b6564000000000000000000000000000000610300526102e05060006101a0511361181f5760646102bcfd5b6308c379a061034052602061036052601f610380527f43616e206f6e6c7920696e637265617365206c6f636b206475726174696f6e006103a052610380506101c0516101e0511161187157606461035cfd5b6308c379a06103e052602061040052601e610420527f566f74696e67206c6f636b2063616e2062652034207965617273206d61780000610440526104205042630784ce008181830110156118c457600080fd5b808201905090506101e05111156118dc5760646103fcfd5b610140610480525b61048051516020610480510161048052610480610480511015611906576118e4565b336104a05260006104c0526101e0516104e0526105006101a0805182528060200151826020015250506003610540526105405161052051610500516104e0516104c0516104a05160065801610d3b565b610460610480525b61048051526020610480510361048052610140610480511015156119815761195e565b600050600062ffffff55005b633ccfd60b6000511415611c445762ffffff54156119aa57600080fd5b600162ffffff5534156119bc57600080fd5b61014060023360e05260c052604060c0208060c052602060c02054825260018160c052602060c0200154826020015250506308c379a06101805260206101a05260166101c0527f546865206c6f636b206469646e277420657870697265000000000000000000006101e0526101c05061016051421015611a3d57606461019cfd5b610140516000811215611a4f57600080fd5b610220526102406101408051825280602001518260200152505060006101605260006101405260023360e05260c052604060c02060c052602060c0206101408051825580602001516001830155505060015461028052610280516102205180821015611aba57600080fd5b808203905090506001556101406102a0525b6102a0515160206102a051016102a0526102a06102a0511015611aee57611acc565b336102c0526102e061024080518252806020015182602001525050610320610140805182528060200151826020015250506103405161032051610300516102e0516102c05160065801610433565b6102806102a0525b6102a0515260206102a051036102a0526101406102a051101515611b6757611b44565b6000506020610440604463a9059cbb6103a052336103c052610220516103e0526103bc60006000545af1611b9a57600080fd5b601f3d11611ba757600080fd5b60005061044051611bb757600080fd5b61022051610460524261048052337ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5686040610460a2610280516104a052610280516102205180821015611c0957600080fd5b808203905090506104c0527f5e2aa66efd74cce82b21852e317e5490d9ecc9e6bb953ae24d90851258cc2f5c60406104a0a1600062ffffff55005b600015611d63575b61018052610140526101605260006101a052610160516101c0526101e060006080818352015b6101c0516101a051101515611c8657611d4f565b6101a0516101c051818183011015611c9d57600080fd5b808201905090506001818183011015611cb557600080fd5b8082019050905060028080611cc957600080fd5b82049050905061020052610140516003610200516c01431e0fae6d7217caa00000008110611cf657600080fd5b600460c052602060c0200160c052602060c0200154111515611d1f57610200516101a052611d3e565b61020051600180821015611d3257600080fd5b808203905090506101c0525b5b8151600101808352811415611c72575b50506101a051600052600051610180515650005b6370a082316000511415611d7b574261014052611da0565b62fdd58e6000511415611d98576020602461014037600050611da0565b600015611f18575b3415611dab57600080fd5b6004356020518110611dbc57600080fd5b50600660043560e05260c052604060c0205461016052610160511515611dec57600060005260206000f350611f16565b61018061016051633b9aca008110611e0357600080fd5b600560043560e05260c052604060c02060c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c02001548260600152505061018080516101a051610140516101c05180821015611e7e57600080fd5b80820390509050604051811115611e9457600080fd5b60605181830280604051901315611eaa57600080fd5b8091901215611eb857600080fd5b9050905060605181830380604051901315611ed257600080fd5b8091901215611ee057600080fd5b905090508152506000610180511215611efa576000610180525b610180516000811215611f0c57600080fd5b60005260206000f3505b005b634ee2cd7e6000511415612427573415611f3157600080fd5b6004356020518110611f4257600080fd5b50436024351115611f5257600080fd5b600061014052600660043560e05260c052604060c020546101605261018060006080818352015b6101605161014051101515611f8d5761205a565b6101405161016051818183011015611fa457600080fd5b808201905090506001818183011015611fbc57600080fd5b8082019050905060028080611fd057600080fd5b8204905090506101a05260243560036101a051633b9aca008110611ff357600080fd5b600560043560e05260c052604060c02060c052602060c0200160c052602060c020015411151561202a576101a05161014052612049565b6101a05160018082101561203d57600080fd5b80820390509050610160525b5b8151600101808352811415611f79575b50506101c061014051633b9aca00811061207357600080fd5b600560043560e05260c052604060c02060c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c020015482606001525050600354610240526101405161016051610180516101a0516101c0516101e051610200516102205161024051610260516024356102a052610240516102c0526102c0516102a05160065801611c4c565b61032052610260526102405261022052610200526101e0526101c0526101a0526101805261016052610140526103205161026052610340610260516c01431e0fae6d7217caa0000000811061217357600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c02001548260600152505060006103c05260006103e052610240516102605110156122a8576104006102605160018181830110156121f457600080fd5b808201905090506c01431e0fae6d7217caa0000000811061221457600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c020015482606001525050610460516103a0518082101561227857600080fd5b808203905090506103c05261044051610380518082101561229857600080fd5b808203905090506103e0526122e3565b436103a051808210156122ba57600080fd5b808203905090506103c0524261038051808210156122d757600080fd5b808203905090506103e0525b610380516104805260006103c05118156123655761048080516103e0516024356103a0518082101561231457600080fd5b80820390509050808202821582848304141761232f57600080fd5b809050905090506103c051808061234557600080fd5b82049050905081818301101561235a57600080fd5b808201905090508152505b6101c080516101e05161048051610200518082101561238357600080fd5b8082039050905060405181111561239957600080fd5b606051818302806040519013156123af57600080fd5b80919012156123bd57600080fd5b90509050606051818303806040519013156123d757600080fd5b80919012156123e557600080fd5b9050905081525060006101c051121515612419576101c051600081121561240b57600080fd5b60005260206000f350612425565b600060005260206000f3505b005b60001561262f575b6101e0526101405261016052610180526101a0526101c0526102006101408051825280602001518260200152806040015182604001528060600151826060015250506102405162093a80808061248457600080fd5b82049050905062093a8080820282158284830414176124a257600080fd5b80905090509050610280526102a0600060ff818352015b610280805162093a808181830110156124d157600080fd5b8082019050905081525060006102c0526101c0516102805111156124fc576101c05161028052612513565b60076102805160e05260c052604060c020546102c0525b61020080516102205161028051610240518082101561253157600080fd5b8082039050905060405181111561254757600080fd5b6060518183028060405190131561255d57600080fd5b809190121561256b57600080fd5b905090506060518183038060405190131561258557600080fd5b809190121561259357600080fd5b905090508152506101c0516102805114156125ad576125fa565b61022080516102c051606051818301806040519013156125cc57600080fd5b80919012156125da57600080fd5b9050905081525061028051610240525b81516001018083528114156124b9575b5050600061020051121561260f576000610200525b61020051600081121561262157600080fd5b6000526000516101e0515650005b6318160ddd600051141561264757426101405261266d565b63bd85b039600051141561266557602060046101403760005061266d565b600015612780575b341561267857600080fd5b60035461016052610180610160516c01431e0fae6d7217caa0000000811061269f57600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c0200154826060015250506101405161016051610180516101a0516101c0516101e051610220610180805182528060200151826020015280604001518260400152806060015182606001525050610140516102a0526102a051610280516102605161024051610220516006580161242f565b610300526101e0526101c0526101a0526101805261016052610140526103005160005260206000f350005b63981b24d06000511415612ae757341561279957600080fd5b4360043511156127a857600080fd5b6003546101405261014051610160516004356101a052610140516101c0526101c0516101a05160065801611c4c565b6102205261016052610140526102205161016052610240610160516c01431e0fae6d7217caa0000000811061280b57600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c02001548260600152505060006102c0526101405161016051101561298c576102e061016051600181818301101561288657600080fd5b808201905090506c01431e0fae6d7217caa000000081106128a657600080fd5b600460c052602060c020018060c052602060c02054825260018160c052602060c0200154826020015260028160c052602060c0200154826040015260038160c052602060c020015482606001525050610340516102a0511815612987576004356102a0518082101561291757600080fd5b8082039050905061032051610280518082101561293357600080fd5b80820390509050808202821582848304141761294e57600080fd5b80905090509050610340516102a0518082101561296a57600080fd5b80820390509050808061297c57600080fd5b8204905090506102c0525b612a16565b436102a0511815612a15576004356102a051808210156129ab57600080fd5b808203905090504261028051808210156129c457600080fd5b8082039050905080820282158284830414176129df57600080fd5b80905090509050436102a051808210156129f857600080fd5b808203905090508080612a0a57600080fd5b8204905090506102c0525b5b610140610360525b610360515160206103605101610360526102e0610360511015612a4057612a1e565b610380610240805182528060200151826020015280604001518260400152806060015182606001525050610280516102c051818183011015612a8157600080fd5b8082019050905061040052610400516103e0516103c0516103a051610380516006580161242f565b610460526102c0610360525b6103605152602061036051036103605261014061036051101515612ad857612ab5565b6104605160005260206000f350005b633cebb8236000511415612b28573415612b0057600080fd5b6004356020518110612b1157600080fd5b506008543314612b2057600080fd5b600435600855005b63fc0c546a6000511415612b4f573415612b4157600080fd5b60005460005260206000f350005b63047fc9aa6000511415612b76573415612b6857600080fd5b60015460005260206000f350005b63cbf9fe5f6000511415612bff573415612b8f57600080fd5b6004356020518110612ba057600080fd5b50610140808080600260043560e05260c052604060c02060c052602060c020548152505060208101905080806001600260043560e05260c052604060c02060c052602060c02001548152505060409050905060c05260c051610140f350005b63900cf0cf6000511415612c26573415612c1857600080fd5b60035460005260206000f350005b63d1febfb96000511415612d49573415612c3f57600080fd5b6101408080806004356c01431e0fae6d7217caa00000008110612c6157600080fd5b600460c052602060c0200160c052602060c0205481525050602081019050808060016004356c01431e0fae6d7217caa00000008110612c9f57600080fd5b600460c052602060c0200160c052602060c020015481525050602081019050808060026004356c01431e0fae6d7217caa00000008110612cde57600080fd5b600460c052602060c0200160c052602060c020015481525050602081019050808060036004356c01431e0fae6d7217caa00000008110612d1d57600080fd5b600460c052602060c0200160c052602060c02001548152505060809050905060c05260c051610140f350005b6328d09d476000511415612e92573415612d6257600080fd5b6004356020518110612d7357600080fd5b50610140808080602435633b9aca008110612d8d57600080fd5b600560043560e05260c052604060c02060c052602060c0200160c052602060c020548152505060208101905080806001602435633b9aca008110612dd057600080fd5b600560043560e05260c052604060c02060c052602060c0200160c052602060c02001548152505060208101905080806002602435633b9aca008110612e1457600080fd5b600560043560e05260c052604060c02060c052602060c0200160c052602060c02001548152505060208101905080806003602435633b9aca008110612e5857600080fd5b600560043560e05260c052604060c02060c052602060c0200160c052602060c02001548152505060809050905060c05260c051610140f350005b63010ae7576000511415612ed9573415612eab57600080fd5b6004356020518110612ebc57600080fd5b50600660043560e05260c052604060c0205460005260206000f350005b63711974846000511415612f0e573415612ef257600080fd5b600760043560e05260c052604060c0205460005260206000f350005b63f77c47916000511415612f35573415612f2757600080fd5b60085460005260206000f350005b63bef97c876000511415612f5c573415612f4e57600080fd5b60095460005260206000f350005b6306fdde036000511415613010573415612f7557600080fd5b600a8060c052602060c020610180602082540161012060006003818352015b82610120516020021115612fa757612fc9565b61012051850154610120516020028501525b8151600101808352811415612f94575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b6395d89b4160005114156130c457341561302957600080fd5b600b8060c052602060c020610180602082540161012060006002818352015b8261012051602002111561305b5761307d565b61012051850154610120516020028501525b8151600101808352811415613048575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b6354fd4d5060005114156131785734156130dd57600080fd5b600c8060c052602060c020610180602082540161012060006002818352015b8261012051602002111561310f57613131565b61012051850154610120516020028501525b81516001018083528114156130fc575b50505050505061018051806101a001818260206001820306601f82010390500336823750506020610160526040610180510160206001820306601f8201039050610160f350005b63313ce567600051141561319f57341561319157600080fd5b600d5460005260206000f350005b638ff36fd160005114156131c65734156131b857600080fd5b600e5460005260206000f350005b637175d4f760005114156131ed5734156131df57600080fd5b600f5460005260206000f350005b63f851a440600051141561321457341561320657600080fd5b60105460005260206000f350005b6317f7182a600051141561323b57341561322d57600080fd5b60115460005260206000f350005b5b60006000fd032e12ac036433dfd0b14203be8e24c521fc7507e83ef271f717eac02ed21e31150347e4556babc4956f9c2f974fbe4317c682fc3ad70bf2c8f230883a9c25e94d12032a49c4a7f6cfda791307df8c25a770acede90ec39a63054ea01786c3c6aadec50322f8a4e35964396b712e462fef588831f4dcfd20c40465551ffa864e36124fe8038e8207b88dcf04b7a87e551bc07eb665c0d3d0a93001e2ce022906adecc0a15f032d0e2c56240050a7681519322ef82d65225c2c7e587f6917011bdb31ec5619a2031762d715cfa04202fd25262b5a3f7bb42db058c7e1f10ecd5c48f25097c7d978034e398b50a952fdfe675294f1c9fd52c2109a87c06707d89f05d2d7b59c5417ed038a9c785098863b80f7c568ee598a277101001c68815a3a4ba598b02966803ddd030d980222d7bcbaee0ff6559cd0c40100f91f7249b37aa3fbc7bbfdad3f53e56c03aad200455e4d1d80afb0d450aa080ae875dc4adc29e669cd82212731461943ff03d7ea23b9592dbe50e8286946272ef687bf051dc8dfb4f0db301e2050f5725957039032541ae62f6e747d2eb5475d7c2d0eb757dc6d2306f8ad9510216abc6f69350351ab723cd07d59426ba3c6cc9e42b32b832df7eafe53fc55552e527cf2deaeb00369df2eda7fb47dbc913f597bba650972250093474bd8b954282645310538f5ca035328c716a73237803542a962dc38a858f412a793a388d3627548ac0e0c08bfbb00581f032bf5ac611c514ea09aa474e34172f8d7cb39458715cb4dafb25cef134b504c01158e4bfb6bf6daa8401ba600581f03a2a7e60d47408006c2a29f4a9966630ece372a70f3a3c7ab26b7ffa360f049acee24a2a7d818000000581f033ea18f74887f084712a25c09ff1a2db92473d1b1428a3e37bda56c2de0f048013a09964a767f3e033c72f10cb3b61f561ae12fcb752f38ce8d00918516b3ec8855816a3ddda8b61900581f03af979a8bfb4aca4d2340e64f02a05cd6f5009bc3078b9ff638dd6f6638704c01b031b1dfc8594c09ed5a8002190ca2038a440909baebcd806523536727a6bb2dd8da68547ae2fe7ca347c98f2a74ea5d03f30c1929724ccf3b527a78e86dc6d8f93d2a4656d792c9ca399d73a15702e46b03b06d406bcbbe286a18d79b4e6c991fc69b41a561c939f32dd7302d4e1b1c41b303daa88d9ee8ae271e093fe49a1f2064293e0793f5bc7aa04a61a39bd9465902d90363713cdcd80b90b2fcb9a820873db00115324fa6b06243bb6246208843bbc6800348573e005402f9ca4f006c3699ba7d9edd48803ce74c3a1a93a0989889ab71e003a88a4b3bf5e70bfcf2446dba72f49f2e29377b97cabbfeda0e612c218e98ed06035990fca95729e93ca5e08aeefb3ae00ca19be9e7d736b840f906eb945e57dc5b03326084eae8def1659be98d56cc3df9c8d823fd5aa6dc689557a524945d5ef46b03d2ef8fc360c8bd23befcee9c7b4a15f1e44bf309fdd7502952cae0e6a8069f4103edaf8e9fd24206b0e08672bf206cec2e79bd970763af8e976738fc72bbe20e7e03e5d729e3971c62774a3c1228bb90d7cc8bad8159ffb27307d9e189e288c190bf037705e322508c7da8253c0abecbc44bb6735ff0a799c954c0e47a50cacffbfae903e38cdcd90294d98b233cacd1eeebdda3c958a0499cfa146dec20f3687a6a94660219ffff03ce75dfff29e40211711b7eafbc2473364d3eb5aefcb2e0c21c5cb38ae791759d03a08204f9a60f28693e64da9533cd0351b227fde5ab6ca337bfed21912199788403dfd3f23beaf7e4b8c6082a7f038255a0353d591cee6e7f2992aed0d13b284565037d85998df87a55af8bba88d598d17de152b5096a4df3df4b7dc941f06d6d039e03207ff2997b02e035899485e159931f0e8d7df91d646a5c7da64f9aa8cf7bf919039fb0309d796522f9e239e64a710552e67e062fa6795f90c61854efec61e4992003409c9a406b51257d301df013e0ceb25f7fd0282218660cbae21bfe7d10dc840803b4d4cbb439279d7e38b31f367c083a789180588143fe9d4661872ea02b967e8d0219ffff0349fbae31a626aee753ba24434915aaf09949e13902ceb548503d9aa41624f61803629c3e6197faebcbce83686ea8c61a9c61703a6fcd9cee3f451c270c94da9622033e282bb004df933eab16a28682952139b7d158cabb0d58e41350552e3bb4cbde03ead10bda9a71bbd98661ff3cd9b8310f0b645586905f5a825a98a28ccd11c7e803d86431b2a6576c6041523b0696a3490ac39ae7f3b107309f55d5c1630a770aad03e3f10c0b90e8d4b8fe1a5db63a47b0be59d8765bca12a0441401e0c256a6031303c86cad817a5d345292ff8180fce8405619474d138045dc3f28c83300af4192de0219ffff035ec9fc692b703677f400f6383edd46aec65aa584c0d65e89a05f207973fd11c0032653b996ad2f09dbcb0f11299adc4d34484d4ad35e3a030e312f87fdd4f0145e03e24669591b782573d412a8594ed64549faf6f5d9237c6b72f6a36e8bba3ba0b40340fb5c43b3b3b6f2f69a6e6be46fad2de87f8261236f7d5964e3784c11c0e02e034a6454107d3bf69cab5471f5683a63b3dfad7f95da9a54cf3d35f8b892456e8d03468844492b94fc43b6b2395fbb447747ce637ad32e6e618b54ec9f1871bc244203699c871696506791d72dc0ba739f6650002f7664ff99123cada3408090cb1758032a2698f6f6b661133c2df1357b70c2847acad4a57df24060d147e876b628ad3f03da516e69fc7b654fc8dd3333d69e981bc3c3ea99ff488475f019c709b7c0ae6603f936e4acf13562a309bb7aed5c41390165f860f4302c18be0e60f86a53855c0d03f7b67db58da22e91a42278569406e1df580bfe728be215fbd57f13982c18f9e403d4768edbac3e398064d5841e3f2c8e24b7259eb5769dc68e34cb49f932de857103c7bf93304e3af925ab451b6f3197c222963e6df0533877a6f2bd967d25b8f6db0354678625356db338efef45fcea93bfc1a746bd14cebd5a96715a7effff2832dd03a4081accbb6e102a525308318520e248cc73261e3cd85e30205c78bec6a2d6ae037173683849d68a03931c2a9742b592bf1ff2c6c83163b8c4792dc0ae9967a5d3036658cdf6e520554d39f3e1bb408c69709aad6ee4bdf84b80d3a0dd1f8d6af3e200581f03d485d19ce17d363ccdb1631f57460d5b3cbbf80587b1c5b6cd6fa658de304466e22f0000581f0345b63cdec145a8ea6a6a625b0cd27e8f1c1a33a4e301ec5ea722f217fc00490406254e8ad9ebf84000581f03770eed8b6d3927beee04550f34dd0fad5ff3c6504dd4dd13d3a2ec533790483dd050b9737c12f700581f03be9d2f03f2f7637742c1dd53b8569686b498f06ac4317b8c0a77d9a444504804f981bd8e3b139800581f03e9ab1e21ceb1a90c96648ad65a54a67e0df33469f0c1908a3a88beb4eee04460d8e1b603c456f65278ba158b75f2811e5ee676a90acf2c0a7d03b7b150697ca5f6bafe0700581f030c4732e3f5e019278bcbc8ea7526084ae3e6b7db9cc60329bb7c7133d870445f95da7100581e0262a32139864c5ae93ac7a11b1c995d2c9c205785ae66756bc7b83e4ec5421fb800581e0288a8d4aa6a01643aef88bffeac870ecc528aeb010374c8dae184c1154243b9c7de0218440219b72103de7d2fd8c5726083f64001fbeef53e8240fe05e2d6252a627567bcd2b880b4dc03d097540bc2dff2831647711a26b15d17e159be0649e1107f70e2132773e8f5a403458f4f52e7d4205cbf9bf6116112ec678d1d2612aa92f0593594c089be5bfc8b03839031d66c079cb77999f4d369db09b56ac13c818ef8bfb7a9b3e84ae020099503d1555d724607a50100c35f17ad9c47bba876bc5c08abf9cb03b3687e443075c603d1ff58005b20a0a3c8023d49910621f7cf18bb203420751afd2a25721629fbaa038e171e2ec6eab95e016cff79441050e1e817cc653a562f17fcfe66e5931b04a50219ffff033a1bfe7baeb555f25b84da978fa3ee3dc18c38e29719cd95cba61f2b6aa4d51003fa2cfff20a2e57692f4d1d3b57d186261c3b979795cd0feac9974d648ab2b17c032ce671eea61f359477c1a102d38176d96a41945d455f82d991d7e738f49c2a41036ee0a095f78046e6e0afc5abecd98db05d4ede90281b02745055d3781d2f741803bdaac6096da83ee75f7de4bde953937522b9eeb79045be3f60e33a61fa3e1cd003158315cf16c3e480e441552e29ebd915a0cda3ef4550b28e31758bee46d778b703b05af639f96b0fb68a8ebdc77d8634a2b613da17a51700fe98b529fd703c97cd035512617821ff042ddfe5b8fcb4da02e78d9b0bc2c7ac7de9777cc010e44d1d3403973c02abb29d0629d159ac8bd9748dc3bb6fb3db31e5b4638cbe0df0ed9614f70219ffff03cff35959c9213397afb869cefa9fda9b12e28100a7b675a3ed23998c07460f60031c2755c81343857b094427fe3e865c547d79d7b82dfad524ad98221e1cdaa90c03e8e6a0c94b34815bcd380adf85532d6338bfdaa595b229fff97d9191cd19005d03bf5ee7a45a88c11727de90249c86406d7535c444ea18c404c10cec76e1f18ed10367525c26142fe3859576c322c29519dbb3cfb09da81ddda22660ef02b784ede203642558df8dd65bdc46526637a1c5e1baebe65aa5e562a97a331f30d2ca5bd2a703b785fa3b692f96b728d32d124a5624cffb81498bb02a73372665fd80f29e3f38036dba9f10ec8929d269f6f5ddfd90dc0b4ecfcb81d7afdda25002298ba0063ab2035619c87d9437153f4d934cc67b96d8fe03a2ac1653e2449a47d0442c3b647392030f35a0e97537f4f1eaa5f5203814dd7f554e9572925651106ac37e74f30c675b03d186215ff577db74fc5328e60973e67cad6c95eb83e6258afab88eb8b34aaca303f557fb8abcd4d93341afb6025086854df465ccfc38f8f49f33e45a8ae9b928f10219ffff039683bdfa326a607ad3e7c346221ae453ba80406fd10e70c97f50de09bed9effb037a4512741568c291ecf260c2ebf395da8dfd85874bd6c7670a2391ac70087e140319b13cd19c16b540a4147ae9359295e11545bac68ff0718b88ecbb5929915ef2030935e3d764ab6847801b2e59f2c445f39062702137576c1ab63bae0b550f011c038ccfbcb0a4a3a495e68844cc8e96ee1d11305ad8b6202078e66e52d7974a78dc03744ba36160def4045fb44ef91315d25d913a6e2c9002002ecc3795ed0a890a2103ddcb2962cf9bdc3b4f9d515a93f57b2e8c90108eb4dd5ba036f6f235d0cf8f6d034762ba0194d30b020c9eca87d6c8878f01c6d298f02af09410a0c6849e2bb61f03cec9f9e3f2d640b35f06781acd2e7fc15d5301fa3900b30f428fe9d4b4247f8f03841cff408db13ac32e8e2f66a88832fbff5ca584e92e07b02eaaf3b2184b75db03ae58811019f4737fb94a3b1d272f6f0406d7c1430f699664a03e895a12c3d743030cd67b0487e907b38c177b890a16a848fbe97aea3b563ae7549b55f1aaf0a4ee0326b9b9b5fdcd55a1f03bc95e1fc090016ff1d5249db3f18f6be60c7d168e4dbe0365a78f570887500d259388f26cdb4184d04e0b13c0cd46158170857316407ad8033fd38ba85dd0cd947bf149d129e66b680bd5dd3d77f4d8ce2ceeb6adc2a7c4b203c16e4dcd174ea15fac34de7c476f5053f217e01235c283dc5d0fcc8d7c2ebf95038f6b6f5bb1281538e1d7a739929122cda2e1570bebe1b33c7bd4148ea0c5d1700386524b6af289c6b0773dafc614395ed2312482b230534a05a389336eda553af203368df6c995c2daaec22d9d62826e5c117adfbf3899f4a5c481eaa97f80cc3e68032b66ad54807cd43688f03862c0e5a488f4d04cf0fabeb255387054949dd9477203e92cc20d846eff478572589ecfd3af068ebf7c874724d74ebe5851230a088603034366338747b906f2b7cb93f78adb8fb21028b21e52008e30ab7272401628037d03c865c8b936b43a5f40524a5d1200341d3a205bf66dee7d03a69cd59effb290af039cc07ecaf76efbad8a8ec23a5ef64c3d8d7ea21dbad7179436c6b8f2c932ea8b0392f4f2f85ce01a28c06e3ab04c2f01a167679456ea976aaa0508c4faedabe43903a3082d33a670c68716db39b1e6b4a7e03fef41293a01bb8d372e3cada5e53ffa0359bc593cd9de8e2b955ef1f4408fdf4398565ab8a9700047e2d4d01209361c4b031feae7dd6247a7d89e7c27a4729cab6dc718a9e7e1eb6d06976ef27b09c861f403efedf4425df92b71838cd2b4a3f023688d607cb784f68553c86cc6c9da63df2e03ca00d6d7d5f393ca6983b0a6c36d5fd9cd80470d51bdb563e4ddde6415e5841c031f0d8030ec380e68d5702e700dd2eaa3a1b506e3783c017c938048aa77639bb6036b4f4e5f50c38cbe74b76fb240a36193fa1a6b7ced14fc2b177472405eb427cf0391c468465aa35fea2a8b6ee21ca4a33dca589133afa6e723d89d6dd17c95fb2d03cd6965a5a46a30f72f83fc420ac4e9a202555d7f1ab9d666e6b296711001ff7703816a86c12830606e33c645adb1fae64ea01ff9701406dd76f8bfffd0e9224049030a2bb4163cefeeeb25031e33a4123cf0760766aeca1feeaac4f10f85fcfab2f800581f03212ba990dbb00d5763920fffcb102a6c2b8de8926de5484a2c18b74e5a1048250d8d59b06400f600581f039ce3998187eb889cc1a9f87ca26ca712e5412ee2ffa8a3fa1bbb177bd4d043b6526900581f0312d2629d754fab350e87531d4872f22610f0465d0b42432a4ccf00a99f104460873f7800581f03b6b14a1421c26e29a46ba175c742f5a94796214af2ab61aa2bda1ee550504b06479127ef020d945173470219520203e81cc3526ae027f8e8cc9d39da2eba9dc9528800f1900fae682d95f6bee145660219ffff03541943aedbbc1fcacc27891079a6a544cee297bf448e75a1f8b76f93fc3f7249039c788c036dad8466e85bd80bbc96f6b734f7a0e598c7eac989dd792b31e5d05a03bc5babd6cdfc896a853c2ceb2fc9a234990d42ac524a9a3650f2e30f0e26630603e93574259c8a5af6c8b7ff4c1f83287ee3f4559b6d4498e820c94837a0f7e378030a464fbf98d1c738ab7fa8a6556a20d9e610ebad53a419781729b53008bffa700219ffff03b87c495282a27d1482b186c60c2dce4e65712bcf6e413afec3403fca8c0b99000338e706fc06004672629c5a242d16626b217f4c34c9e124857669886d11ed51b0037932c6cc1fcf35ddb3477ea1aa47d9924b1129fa8b246c4c7b01f5eca8230d3303689789576642c9c70917dd36e059c0c54c9be69b062b1c5e2ec894cc51c398bc0369a4ebaf3f72670fb7c419db3353671196f60e5e63826761ed90decc9c75d3a203033ed27d5e8bf081fcabd51387f0ce3ac8889806b4241d1ad974609896a836750219ffff03314211c143c309beb127212bef8b11fd3c121f739331bb96ccf32a0bf90fbf8c03ed7687c83fd69f0c4933cbb82ad072266c4975ee14418f8affa5e2d2142101dd03cdba22a5d2af8d00e673e6292dccde4078d47a88efd3f65378c38d583994f7a1034ca57cf9640719a799dcc338e1020a7d6d07796eb0a6daba9c869c9a48f6bca30334845b90903778033ac83bd37588025d3d69713d20e52ec704eefd6097e1b17803b334f34b48cb578cc505d0511863d4c0d5425e15f319cbbe31e6f8726ead3dc5038642db5ab2daac60889d7a0109e15ad0368b4fd0469eb8cafbbe91f10f32db25036d4ad21c8fece47b9b7a27696f69015fc1648a6176c01c8d17b41a48913affb80326fc8aba06fa1267feda373a4f67c67e9e8bf62f8a3b122033b3e5944b2f0e3c035555c4b2bf502250fa61c451cb787c1ee5a2326927c0b45b5eac53295d8842ab0325b340d31bc28d3a96f0e1ad968775cc97c4f7153221cbc50dd7f1c3a95ccd210306ee2e7a3ff6407993998774f04ab575c9a94dfa7a54d52b00cdd94160bd71e7036b2edc5acdc21ec9f7c9178c10cb0f746e539fa1a34192df8be26063e7bec7a8038a18d28abf0ae59c0ea738c61bd517fe154239b5c8964be61c2432f29d56430d038b685346a49ed050fb13dcf17fa5d52c46fae31252def345e2fd97ffb2156e6903969b6aad4ec19807d56a601c323f4762af2c76a2ffb8d23de1a79d01adfef0220307fa8eb44a74265c372d0379d6f7a768c32a64b1f7acf8eb1ae7d938202f9c530359bcdaf1432e6caf1268654533434ea11ee6af9521ae6e6497ccbca8fd80252b036da947fd1b88b67a41bd6d26807b5e4eddbb4b89df20d36d3bc0114ef550dbb103540eda6b4fadaa3166c384a08b70a4e7cf8773fbb48f0a4f3a080d89712dfefd0345342e9a02161db48047b6c5bb2a39c48ad99ee0ca3846189c25324d557f1db4031fdd99e494cf3c790fb04be3bd8454d957b371247adace097d38497d46efee0103d2790439a115d5ecc528ae797c687813cd162f376584fa196b959618428f70a4035f17324dcc1bff58c52c9030d22be25b0601b6b2b9ea6710eeeaa110b88bd06b033756e714f28c891f87a8c2b0adbbf1608b8f88fbf4cc6e79a752883e3d7594eb03d0f259b986ff1ba6fbbcad1ddac80aaf709c336e7c2c30b36d5d79b0420f4acd037a1f4f970638560acb924532c736009f7d26afd6b638c7b5aba0c0b602a42ca503ef677c66da211b1837fe06f6c0ecc18f2b775a8552a14d45614d32ac7a8dfc6703426d5ad90b5980f0b8245dd0dbbed3a070e44256617cd6362c426508c91d5c3703cc3d6f512a413f4e479301af530d7cd7b3893ded8e4226b1d62be26582e0199a03c0474ee08adca144c631b76fef0d7c3e1c2703cf88943001c363b6bd312f6fad03d2395a453b6076250761609d37644c6095447cfb28a402b428c3b88ce55c62ff03372d71baf13e7bcc31c96613637dcedb0748f05e779b2eb609528aa309998727030e70cacc5a0e1f911d60f271b60fc79a194b19873af38243374d9496ffaa34630362e3f7b47e6016c506623a898dd2b8361e63c16c15ad39a8e114edc38c7b26e3034bc8b4528a6380f5ec4a4ce9ddabc76357f756c1bb8e2385d61bc918cf9e81a403385d6b10fb033934048397ac2949e0fa93f05659bb4bf525623dc222489b1c6b03320461e9c4db9039c81528f7e1f630222a22454c7cf6be3dba2265aa5aa3d5f9038c653d196db71fd0031af5df852d5387251d09a823fb06db08d953df19f21abf00581f03e89e9ad50f1140a3baeed190934d4ba484e48d56245fdc54b779a83d8c704c01f19c512797601e01a6e22d00581f0324a7d69fc9947ae4a50f41e83d76639db5eb8861e2e3a8afbf15b2d82430410100581f0339fd852e0a17ad74c2aa4f1f7d9bb69543a60b99f09efbe5dcbc992b7b604859b9274cce8a842200581f037a151f939bba67559796492d5cf4854cf64da04dce9bdac706fa5073b71043a6ab2400581f03f041f315576f74f4e2b6c3675e6175f74339b69785afd3cca9cce567555043a43b7100581f033198f7f90b4b0d547b996be74defaaf24d688757ce19bc2b145f8640371048027f13d9d220012c00581f036cf773ba14b1071e6b67cc1a915f9667e877cf8204eb6312ef117287049043ac2da602195f010219ffff039396461d3b5035b42c1782f7b8dfe4aa191885aeb30c88aad49ab6d939bcf2d40324dc7235e9c5643c44274f4b91dd093a666c70ebcb8d1d7e97f5827ee0745919036ae980de3e0ecd4d9d0f2250d871ee436cf5434c119d32d70d7ba03ee1f5cf1b035b8c7d355533a453138f4954b37fa41cc738f251b5cd6af77cba14776777cce40219ffff03373f568b5bd405e05c885f2b76ea5545190e197b8e6f97767bcb7a9c9398985003af4b80251777335d7014b38fe9500df6e7bd69345fe7ad5894a7339fdc5aa03c039a5b57e80c7fed240755463dbcfad24dde6d2db7d47e476e0c6e8c18593962a20362603f8fbe76a7df40158b388bbe2cef2b4fe0d0c888ba191d25493436310e4003c3fef466ed32f067d462328cc2653c1c013dc8843d0cf1f0a23c6b6f007f97260357563346b9aeeb2a6b6ce2e955bf07964041fbaeffdab4c6db503893dabe7b440329ee3071705e721f04dd2721ad92ef0c7e9f9127a9d3c0ecd6caddf50b365fdd0349df7b0540c5b1a6444f1041f978ce96f8cd81ab80dfd6f9238ccc3207534eaf0313f394dc5478fcd46881945a50077568b733698f400ed08072128494c8234b4a03c7422f83328c443d6485ffa37917e3baa4fffee34163ddf14e3d700d9fe933ef03dfaa7a7d7fd6ef3d86f3a71017d2dfa6675303e13e29bc5037cb57a5e6d8f8c8034306f86ec4c84c2f90ebbde89ee8b9627e9035cf215624e0b184b63b6df36f7103324c5c8ea40dc1c8d2dd8a9643d3632b2d72c28a4fd0c84053820a1dcd85e07500581f03327296b2fe0dbd4beb311f16f62d0f1ec8171291863eb91b6e7bebe3beb04c014b7f785f8c3c68065b2c94030d18a39412c98a1f665ed667317e7ef016c34e6692b6d651f2d274fb9ddf868200581f03ad5246341063aaa38765e5d17a179c4f050bcdd6e68f18cf2864a6e63030445f7f99ce00581f0326a54b88f7831b3a9a38d5a254b59a52dae543219c6ad216a690457735a0446687c9770219012503f20a1c76c1f22e3860f4e1577208a9e9e1a9774a857bef0d73e5a6e6a4dfdb6a03238ac0b64a0e152cf78333b20dc3f982a4473415405a76935c3fac4efe94c23d032457c98a5f1cb7fd36a76909500a7871a70dd28080e17518b9b468183e51586003af57a605703d0135af20ed78da073fd1f33ecdf2ba061e91aaff477892fe1eb1031f7d7813f244cca3a98afcca8be6cd0fce4e8031e7f3d6f04e7cb4d20e439fa7035c752cd900c5ade1be428d728f306ec24ee0733914a5be751622a644db55e28f0395d89bbc55b6763354b11fa8cf691cb7c633432f851c0eb7c675647b6fead7130316710610f123b3b855f53064cf19fdb9d964ac933cd0101af563acb3a1bcce730361ad209211ffffa25e6ce710b64a631b52a442e2392c4892d12cbb18177ff215033d49b059ed10511c1f8b69d70223967d91a9c1f2777da2b7728c2f9580c1bba503ceb63ef30b09326dda461cec6c6627487fe9a3affce94a4c304a628e3735c1b203e52f536d15ee60a58f640757d15b165a963ec1dd06b45e2bcb193edb26d271ff0219ffff037403e8679f85b67a5cb2bb70239def049c41b2add58dfcb6e70f8957fd09da1203d8e40daaf284cfceb2b384864a547d84ac68a5e3b9577ce4d1dc64b2082054a403eeb4b61127f54ff752d4baca903bf4675ee7dfe1b7d296374c44093ef0f3de4c038226783b53435e8185b24776afe9b385f8e70bb0bb5e21b1c3ad22e6f0be40e703a4cb5b82346b88e4bb23233de17f4984ffcc23e85f372a842e7892237f2280a403031552dee233274965bdcd649fa4124bf956e859b9bfbd4d8f7c88cab3cae11c0219ffff035b83117dc8ed74f28fda9d4be92b6af8949b4daddba41cae7e7cc94d8decf1fc039f02b5f1d38cb323d55c4ef006e3c31e9ea6105dfe361ce1d735ccd80b78da0c032c349817bf7832013aa12ba0c6669479f5f0804dad5fe092d4ad0e4aa33f6e07031e21638906c0f3288139b978b5609afbe8efbfb6033898f676dccffe42c2e0bc0219ffff03d1094996a0121e2aa1b3de8bb2b7fac70030986f3628ab8b5f4f2400fcd0519903c3f2055aff9801827b45848e764834f285adb95dfb3b9aa507bb688844dc825a035c2ed85d81c21d0ea4451141023e11aeae80f79b0142dc3b3b6fab62e4e75517031ede8f66b97d233c9e607d4cbc446c67b89cdd3745c692bc79223f5072ea96d8033ca3a51fbf0f01c429460c571cfb7cdc3b95409e5386dd301a72707bafaa0583030a0e1c6da63197a8eca98f614b636e618a8a232f4dda01c9a56ea20e5844a24c031644f8f666dd7027ef0790e0674343a66e8ab0c06448f60ec2c5d319195e3de003301f6a62b8a5d0096737edec08ceb52d1bb263fa26884c269becea7f7c102fce03131a7173aa361567f2634162181100eefece6d9f43cae347a60aae1cdd95ac9e03f92a4ec47307b5281f9ccec38fe91d49acd22c55f902d93322b64a340f75231d030b5ca046a7687e420125a9444dfc51b4f358fbf207f1fea8c63814c65bdc107c039906d9dc03e26bdf19749593694d6b87fa78c5576d2c9865d70b28207c2652be037b0e7c4e645d7a5a36b4a4a6c3e7b1f410aa59ca96cea1367696a73b3259bd0c03fc389d72734750408d6df788459f16d8c69ed84a2b611ed80a2e1d67a88ff6220385741f163ecda814f900679f2772ae7682bda001a280a2e10a37209284cdacdb03df1acfecc93559223fa7f0e8df76c2608897b8b44b37fa901ef48c097fa4b35703a01b4c5e07254b9ed245a22186cc1a5e4a656114bcad31f4686e190c2669938a032bf8a85c1cbf14ed8177f8ceb814e9205adcd1ea5f703c0ce90b98553ccd4ded0324953356514c44beb0a96cab757355982097c579f3f52cf2096208aa08a2d3e80389c7c0a59bc6f763563ab4fcb1164d0f38e6ea19938f39a671025b95fc62dd2f03ef27bc0d4f9da2e8ae43b4868bd21b32a1e89ff2c10b5686a9e969fc380e1ee9031e7c6567b12a6067c698af5b07ed0e2f0b2a97531fdf771b0c2696cfc2c4fa3b038b86dd217c4fd8071c73ccd6c4a12ccdc8f7a4eeeeb80c0beb847cc1ec2cf019032124e3c1da29385bff80a4633d37dec432be3f155bf7df41e29604f1d17793e70359a5d04b844539e7ca169c8e4d6be96ce93b36afb89b51997c7fa604d5a56d3700581f0373a1da722a59802aa8b04512a9d635717274e17af3c608e6f8e19b34abb043a6cc2800581f03f120135346e8b1d56bd85c30d2160b806364c35e3765b3d94c5b17ed5a90440134d54000581f03e31c39f80efea1211ecf7527e0d53893da3ade036859de368707eb87f4904b027b7e2e574f293d61fe000219141003ab5e9ce1ad100583782f0e46a49d84bf2d25b91c5126b9334a05fb4aa59b9ede0322668ad1ec7126210fbfa3ab605c3fb91b1a22689cc3c2b7b79905601c33dc89031d6263b6e9cfcebe8e057efa0e6c8238222c236d01faad949aa6de3f522e02db0219ffff03b12eee50339bb66a38eaa97f4159f043714046aabb9cb7781c2a541e04623e3d036fa01e867b0e9c631434f47107aa529e14fd0732f6d1d926f26089a51d8cba1603eecefc27ec95ee32b27e82162289f93c662daaf51c95d09d18fe77631b1fd3dd035db33e0341e1a4a0390fe10b86f7e6d649a0b4cd466ca8738b42202984e0a71003efafa92dccd574f66dcc7d953281fe4f9ad2ad560862eebbaafe9bdbb58f3ae603a1b13bf938b3aaee3ec6eb64f2de91d953e3a459f36aede207418886cdaead7e03f149ee42ea6b509fd4911ea5d59c389c48a02ef77ae93114f594ed8fefc401d90384b573042d68aad0bd19e294f27c7437d41fbf1e571c422cccec87f574f7823903d35ea5102f0a6022f40aa0c43fa0601e5ad40f8c3a33ddd75d40fe47c77e921603f13391fdbb33562d4edf93babe0f582f5c230c3d00d5db4d190d5a27b1705c85036aa9452d4b477dd7e6cf8d7b23cc3d0c86431b383e8b30e401cbdbd09f1cdca703f2fe19ad7416465385ac6187bb4ba6b67f0faed1841b061ddaef2c65a1f405b403c369aacf8ea5901755d35182940566b3a535c8d1ff06ffae517939126db1d4c403361c79226b37eb46933bd2536963d469e04a9cbc8263695d9f970b3afaf11a790219ffff0393c8bedf9820683551dc518744e2043bac62da1b2de82b70f5dc96b47342105a0311db55413b0403630d59ccdbe178b8d50503532dab0d8cb05fad75df676669f603c33d5984b88ec948d8c3a938963b4e20cb127585ec9ea4f1b12eed123b74c9900219ffff0310e9defae78ace307711a16676417b5a2105e875b6184a0bbb22d09a9ddd878b036ac76d776107ae611928f8e6f03d5ef30d54e855257de0a092e809f6d14060db03fa7066f96753cbc4f4b63fc600ac8420e57c264bdd5c23ebd78bc708c1dd52ba03231e6126110e44220f1c74a5cb82d308b85708d80a0d5e45fca1115a7e61b3c4036e52284508efd5360074df5de25b239111d70f13da053162602310dfb9cdd3e403e1afeb3ef1e370397c9c2e4f7948ce20ed02016a07d919b2fcfcec8fca817551030d61a4b4eaa2709772a454dd3d9131b2031093196c5e03f2e4c0a4cd3c6f4941035169d1212869d11f965ccdf167a5c4dec945047195d410b4825862c5ad200e5b0373ea6b139bfa5de664ba44ae50a233dab9d704ec51e0775138025765e154f0be03417f9e3f2ebae6e63f8f6e1cb111c0144769c9080a409a8f8d79994b58d52c180390bb68e6e72885be9bac763c56098121ee4ec071b6d4953ca99afb5091fccc10036724f83eba2511dde75f27f1fa423e361a6f5009274a79919d29ab950663b9a4032ad291646bb3f5428a8494a3645ef762c773506625526a6ec3e839e261da8147035a7c3099c23080864d071aa678f7fafdf07308085fec4a2de5e29b4779dd2d7600581f0349573caaed05d50980ff6af570678f48951c81e0327611ad7bfee9832ae04bb6e70755ce052d161d15a600581f03a7d772a496e3a286df802b637d85cbfbd43f2a9137b49b61d8f13eef3a2044600578cb030cccaea6afb29d8263409efb43a180fa1240dcf3ecba13e7ebcd26a6cb50246800581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b042cf8200581f03b28e9e924669689bc8f016c02634a92889cb412d43114904f4af07b028604815b2aaec8c3c070e00581f039c7a86d6dbeb11cf8f4291a822e918ff6db2ec3c819a81172cfe775803504460b2b04b00581f038ca4a73980fd8bdf0d6640d0bb5fb25f4affa584de8f96c9537d863684804a06444fd42844c3ed6a5e00581f036f78a44b27d6d5956f47eaf0d19d34e42a73014beb10e6023a92d1803030484488d8f0e65f33c700581f035a41d1ded828009e6eef8ffae73a4cd2aae7d124d0b613ba2023f11101c0410102198dab0319db58654e932dad3c12a5cc15a747cf1a97b47b81687e3b6c6176b671ed67520378f6559b77994814f2e667b4b20a953174f9c2f7c4f93930e87005198ddb4ef50324eed10ab88688df9ade57b459b2ba949a670d6b98e5978e85a0fa211b655dba036bd9c874279a29ae8c6f1e8fde9744ee7dca39d7b650854c4df24f857a06831703f40c1407298a89f2778306268521f6e8e77a1dbf528b3c5a4caa1c5afdba0acb03ae1bdfc44ce425a545f44646d29b486507f486afb68150870da3a091a9dc65a9031ff4e90052e6811d7996dd93d469d472fa4750428ed9fac23562895da4b8493d030d451795dce151d24e650a8d0c6c2f04738077d31ff8f447a41bb32f2f92896f0219ffff03a563ff4675170f7b16e6ea9031f43b7651af9671262acd0ea9244e4d3d0d122d03b8109e8ac6b1b01a111fca706377258ffb635ebd6381687fc37d3c9adbaad8ae03cfe9abee269fef9007feec22fcb06ab62b7900ff0a92f7ed1dd8ae2207bb5dd603067d81ce3fb9061e3b018c2d976b70acd27ce2e21f907db5efe02bdb2886dc62038d9c0b5c9aa365503d1571f7d7e8f9ad341191dd636a4f721c5e87395782ed4f0367699608257667f492fd654e2c6aa629059c7628a36c6dfb8d2b624abd5c5bdf03f6ec27b7412a3ff1af208812719a3e2f5248c8927077a6404db0b353cd3de084033eac78db8ed292f63588587e4443f6803809a985550fb21eb80c9df022cec65f03a85ff24bad3533a9fa50481824e454311bd944883328239824dd8728827522be038a7ad08b9370b606b073e28d68ccd4ffe86ebb19be335ed603e176b9e820074a0219ffff03d03e66b118fa08e4f10d9f555c66f3e55082064a20f65c787765f7b72e12465603200a9a9e8ea53fd04cc4f086616a13fe7ffa1bb10bd8ee66551fb2a3a80a4fb50383cca8013cfa86ae2c6eb036f8796d36c34e7915e5f0295c513df335bcb19b12032281abe1c575557bcf2a8d900f3087d563ef2369d23bf87e2737882e29ad7726036760ef0a723e2fbe44312a4d63a6c3e4676b8aeb47ceddd7b0fd54190376d4a10327760049dc7dbca7a327dda70bdb097a35a6c1b9146daef81f07af258fc6749203a80a0441d65967a3bf79445ba80a9d2e09f243e710597a206467f2f7764955cb035bac7c7f48d26e8cf7e398203ffecf3be0f6298fe7def49ccae39808e118dce20377b85a039dec1ff50ab863c2e8a2946259f510e676847c1a7d2ef77192e299c9035e58f1ecc8704a983ed40b0d07f27079b591c8d03ef7bd40bc1c78f1ab47c12303599eb69b767abd6cf4cde7947dfd7ea1a0fa9a4f728549b93260b55e4d35f42a03c7a4f800d91d29abb6765a7096bb0182f2c4cb27ea1dd3af2699b232932943f9032a256cba8a3bcac87a563029a78085242a0a7bf9c87215ab19060509cd8d646e0329053efdbbb1cd775f5ba8fa72836a04ee9cca7fb027981b765a97c400e8d3810301d375cf3cae2659a6f3411249a05cec5321352ed793672e8f6ef9324edab4da0331e635cc620f4848f3e328b7e0920fd2aaf94390a24184e0191aacdcae2bcdf20389fdf99a2050b8f7b0efd99866908a3ec0ba07524fb1d60ec4d29715e5186ddb030dc8e771f59ed6c03ab43a2442258ae8bfbe30c73f4cc2f21d6a6a1c88bf970f03e6921ce60e7470619adfb97da865b0469362b2b31ad551e0464b982f60e142a503ae82ec9aa6df23d38125af063a3aa4e41ebb0c7617c1644cf99ecc53b9b7050803a8d2af33fb83e0b799d4ca52645cd3d6bd6d07ad887284d50e916f76f7eda67a0330813c75c7cc15ab768fb2b260130b2268810d58eee4c0aaec02f6ccd60510870375583acdf01fe4ecb2c6d79305a922467659aad17ce9e1fb7a609b00f6c44b0603f4fd27f30ca7984bacb81d6d32aab3f8452e8c81915e7b0a4cdf0f50c039ec47037770c84a0945347ec06655ae70fa4e21c73f23a8d739c9dfb72b4899788e110d035ac13d24ac9e6730b39b1983b6ffb9df6cb75af1b426cbca997e76d6a0ebcfd100581f0321dc660ffefbe72e76a2aa5869208633d224af7ada3ab2340926f9fb320043e7ed5000581f03a547593a36565e86ab3cee9d674018f18dbb76b5b6c1d6c349586defd4104b029505d4d84f09ebceb1ac00581f037487b4cd96304338a904a6377b97c5b6f1b8fa7c707b757580c4221520a0446687c97700581f039b9d5c289244f4b926a4c1cc314090c8523b0b4d761a0d1afd1a7094edf0446a05108000581f034a546431ab2ad8fea4dd049644368bccd5076e257ef7ae9941543c23a0a04612fc127dc2c60219a11a03ca52cb3101acede088ce15a0aa6b1386d5b3be27607b009ba8ca32f4c5e1a778032aef2d10870dcddb0405743857c9fdc42a37ce1ad857d0f0439c473cb255efdc037034aa485ee964794c7e74695f2823080aec74e52e9f464de6e567f12c05982f030a31c90fc4e70d2179f3e4898b1b6faaab7fd5e4be4aef88c9c58b24e3e0d2050314d452ac97e2b4a0a3f1ef1f39aaa8b57ad9c62c5bf02957f4262849ff8983450219ffff0219ffff03b75044e055172af06999f1220d06225b6b0b1c7d02e3994e6bf4899ca34cabde032465ff1ad651a946c6d8ca0fa61afdb4c396db047a4ea68a638db4cefdcee50e03d45d89dfcb2b388577cca85dc5814416302e5c26a0475c2d386b00382f6136450339b738d574740dc3c5a98808d58627348798b6d7ba7e3ad1a88f4825b78dbc1603e3c5031bb122bae0c440cd5d5b262e0751623a7b8d5133d14c2d9a202b9e5ade03ee86fdd2f5463b6ba9d8bbd88f45710281af7bc7364e79c8b11910044a322dbf0329b0367fba639e9cae147dcd02371cfe70ef42d39580678265a9b7b93b33545203bbbefc1e3ffbbfa5fa93c11f82d7b940a645ea32fa470fa0e90dde3a76e73017035aedd5ddf9074a18807b112ac9539edae7260af70efa82e05fb39b97b5fa87e503581d7e2e418354ebd582c2159198a7512371770d628333c7e87ecde1c37c7b1003002d1e9aa39d2c8102adbfa574de1e982c4699fc0d8f17f39962a3d11564de39035f4dcdf3b6dd723e375296094d01217773218f7d0d85750feccf6feeea4b68630344d9314dfab29267cceb189ba7fc32227668c9a46d27aa0a468343789f2ee451033e942bd3c5930e3949b2994e176a1afb4cad5298108a63d695bd861fd8509308035c4d1afbd09150360469213e20e0f79b9341e1ef20c28b5a207e0fa6562f11d203e90540c391c72a493361dcc7b8870281db7001788a5b6ab8705eb7b4ac803e8300581f03be01a541588211dd898489a8616c10c797884a4ff66bfa36d4d36211e70049018dd9dd6ee08a255800581f03afdb8b65b586359f81d47c3f9fc179e809ccefe90ab49dee816af5060a104463fbaf3b038a7ba0582faa0185006bc80823da6572f1ef56c16cd38ea16d8823dfa71b5ae400581f038b295e417f16e102a654c08c568d683a2de1b9001f86f4ed742168c8aec04b2b71d262cc431e1ed0bd3800581f032cb81bb97ac5d3a1d834797bb3dfc5dd672be4ca990e12dc1474e63c86004c0243dc5cd255f8db2e5037b200581f03452b2c17ce37aadccfd502629dd6371dee358544de4d73543a6e504a3620445f96ac400219c2c10376cd44d4443c6608f799b22b30eaf50dd5a0ee772f111f9c8e0a6146184f67080388601704631b86b4ae32e6016c26855c2a1e0d04a83b5af54fd80dbc4ae0145c0338397ef9cbd5841a04b9bd1c028b7f278f6794d294c3c9a7dc26f878ddd52a4c03cde3e3e333173eb6fde403a3fe1fda85a9d61f328e8d7fd8c49c00fd3d7cd49303a8e2e8ee6bb388623600b59dc977b5b39fc75fe989178dd85b3be67de8f7583d03c3d51a8fa696f685c14272e3a1b8aa03275a17e9bfae1017157d6c16bb4a85b20219ffff0388e953b9dde184dfff0cd32f079e1fbbfe9c4e54d63b7f5440e7b49a5731f4140375f5b13a6fdebc8264af328bbd2c27103429f8bc90374490ac1d7f0b6261accb0345d11ae8ab644011d3f8568a4baf2b4eabb4ea003e5a83f69e868b7edb4eab5c030c9dab5388cc8c4f96f8c33841255de0686274bd0656102b5a2305e03dae11e20339639a4bc69af6cdbf5c84b5669f7b45efc5ea0cb9bec5f3c9d2b0c2277338c103399a9c37594f1efa401db74e31514338db579226b8bb8df40d4515040c0136eb03b01f4b128d61119553d9ac42a9afe76c3ba73e2097602b5897d1d575733baeb403b311b57505b29d7bafe9fee059c9725f162dccc3311283416300569d5676af75032e33e9e268232c471a2748e3c15bd9dcf36cd3dda2792fcb10f4b42975084981034888fdb1ae7a061abe9cfb0ac0de8246feadeee7f6d6dc5734004376af1ea72a03dcdceb7b8c374f255ef4e1cb73b589d69e62d727b9d73165609c2bfca9e0c7160219ffff03144a54a971aa6f560949d406f98a2a6460fa5da3171980bfb5b21833058fe20103c91383b2f0a6627c299ec807c510cfb25d2948f0675b9df2220e9790b0301cd80305485539ed3a386d20a23ef93283cad4423820eb0ceee2abe0a0012c4a83c1a803ba3756b08eee94915f95b00df0b8e2ba5e2b97b53ecbeb1a95f8e20a2e8ba91c030e501783fe756977be18f1c8128aff63629640d0b6180283c0a98617af0bac73036a1a3ee28c351bfa6c0eece8ee2f9e0957dc086e2bf39f8147881e5283653c4a03bae66c8dc2b4b324e9d403463e7501eec05a170cc912ddba29111d3cc17e673a03cae02344776aa81ad15320109026065bfcbbcbb8c24c256af0a87735ad61f3660219ffff03d666f487bb46690a9fdfc977f02e98ca10a9b7ff1802d796f8c1721bcad578f7032a833ab7bdbb489512442e428230a763f1f7bd12319b1e67ca8c920c58e284a50390c2d327723d1d7c9fb4cdaa1a9d084634fd277d85efae918d59dfeec9838aaa03e57c4f459b3e07652c37c16c1d963e64404fee56891cb201d33fea8a02116937039afbd5d06af64e72996506486c560e35804bf3e243e51820751b34ceb77814e303dbd7803057fde11943c7b0f1a2283e4fbcb0bdac077973681b841d57f8a21315033eb21410eae648db184aa3545059c684bca7263ae942e06d5a28ed58d9e5b3c003331ede87337da0b6b20a77e37212de6dcf4c856a5262135df5274ecc626210e303a3764144be6a207d1905df2cd0ecfef2602530d3e12e0812f416aa982014040d0369c967abd9a12d6ea9bfc8fe1efa77be8bc5c693881cfbb379cee651d44615ef0325d26dc58d6b28776fdd976938f45b519d286bb825d55544ba426ae84db94e720373f9aa7ced5e7cd99f8c8cfd6cc8fe2e98afb18f2b1da98c6ecc5233527f413503623a89bdfac5a216ef153e400cf6eb2330f47bf3f91eb77ebbc6b88b7f276c7e03c5591723f929b1453d9f35f46e8691b0b9e9f39172fbe17a9bc41c175d4c337003f8365a56f19558338f68ec2242a46ea376befca6d255dd8c534538a9afaaf6a700581f03920dbd1dca769b5316c59524dc15cda81d298f3fa264dc6f8cf57ab3c8104b1eaccb36f361f211339e4003a166e57f8144a929c3195f406bf2ac9bc65b8869fd27de964b8d5b4eab39104600581f03c1cb5c70a45eb7391085dff3d6aea947bef384cd18490999316951b1ec904b706f4c5b3751ac8f7bfcd000581f03699814fe0f3db45d797a5d577f0b1fbdac251ec7e546df0b2793c5efaf80440134d5400219904a0333c025aae265b13769e69d35ff5279eb7e21b597167db6e296af232ffc1a99b003be1b12ff7d60cffc6ced92621830d8f6adcfd921c561bcc64c5b785ebaab546e0310f03d0e72aef788ac166d097337b1f3d3534e9b08a938526e4bee364502881603b6edd9bbe6a5c565d8b96c9baa03ea4e7e15a35dd3b9a03ff76c5dc04d056f2903008ec459a231b6e3ae0812022b4981ff8603dba8d7873dae0e299b969d435d39035bab787494bfd8c4c97ca91e6fc021c4fa227117add1451b0e1c0fe23b7465c303aa00241009e13f84910de9c3094ab6574cfc9dec44d23805ebd61a7ae07995e2039144bf824d7a50dca4266af78db0840f3845b7a5459fd6dd481eda671839ccc5034a2c884a1aa8a47ad4836d9b487fc4c8039388bd4c436186d7d000bcc8be3f4d0339377ce121bfe6b99c0041a3a2c4ce03fdfbf191a85c87c1cc0a8b15e2dc78c803016fea209390d052fed87141c86543cf0d614f32b79880954d17f5c5685999c3039c01b25f79eaa6342951ab5f31caaeeac27fe77640477f86ef16ada6753ce83703ecbf4f19daecdca76321aef549964ba6f1ba07be158ed98eb61614638e424a380373b4b83c803f26e0ba6df6b50d75eb89333b5651f7b1a5f71754b870dec8c3450219ffff03eec36c8301c51022bd873c0b2cc35c9a02b463af4b847ac2eb7c8aba457fe7c103c88451f92608de02713817768247884a9a3c0e2a400ec5edb8655b4e6e086aca033d41307145d8f3f585b0bf01ff8318d9125ed5c43fb3259c9855e736d7d7ccd303f9baeaa74028c90f96a5a8bb899364dabdcb99edc0d90718b698ee7397397bf40355678ea5a3b9983d62195b6b1b0c8d39f36bcbb49e45eaeb3647e90a698b21c003b5ce7845afb3cfc4a4dc3aaddc74254de2a09877eebf2134badf3b6efd9a6ccb030f39e311a8a0761e4dfd08d1b91ad7f494c50cc9c0dbc93057ca2be6e20f0a940219ffff039b9a38789b99a1f75917ebfcba5cbdf90388a319c34ed7a30695b49e2687202e03ea3b983a8b6a2628d450f6c8274baf8bc631a15552f23b5925764c753678a35103115495db44f8b31d0931ff321903203955747ef37fa2153d81f5c66e663ebdf503bf79f1c8a66a89204f2a10662239527c735d28a7586742d6d6d035848a39f19003a3466b9018955459b4cc387a4747d73b30c6cc3719adef2c1ab33ee3e9910d2203ef2a82e4d4694dd6fca50383072e3fef1ecab8d4863781d7c6c122155026d67a036950824db4886226215cbbedecec7a2b389bcd252f6723e277a5c224a275b99f031d293da496dd318618ee4a8354c2ae9dcefdb92dac7a42bf8cc9c29437f3a80a0329ee72e7722f92757a166ae2f46a9477b2dc41507a3f17b6cc1c5a026a931943038c9651533e4804c56f1a5d1baa3246045fa166240083d89b7bbebe81342901450219ffff03c06ad2e13630a79517dbd005d9bdb7a0f02c00c69576a730886e9c181654f1b203fd57b986ee161f8dbae02c5bceff144bee82f70c3b39d8efe0152aa1a018a4ea0219ffff05581e03b455daf3854b0e26024c3a8c36f57bd0369ecf0cbe911121f93e7f204007011932420219356c03ef6b897add21387baa35493153dcc7ac0b87762dbcaa9185f0fffe27f9e4067a033ad4e38d5c13b98c1d729859749410133c42b2c603cb259f4367d6224207ca7603b6befd7e9021ba48fdfc56e03bb0d4f0e6d8e74e1c91e619909f1f36ef3a86e603d080073ba299fd5fa48c63d60e2241dae6c2adb9d9bfad351e3ce5ee0148e5e4035a7316fdff75fcb2b5643364792ea9b3155a77e64f862e5b8e7e9fabfa133ee2030576642dc12e63e356147ac480a7c7fc7ce258f9d27c654db7c50c034d13a57403e5240563bb04f98ccb42ec71759e80e89ff6f85aed034adbe948b2a12db3873803d797543a4001e50740cfa28fb736d706c78a597b014e6d595dbfff2d7870678d0343af731a196c42a775d2c201d011521370f8d7d06f97e5a1f53ba534feff52e103e19dc1843cca55070a4ffcd687077c8e784acf40f918816444f8673ffb49087f03c0f331c65625b53afc376a1f886021df35cef654ddcda4622abdac317f43821b0219ffff0325ce8b81d8d4d4a546da90bdc803acf4bbd46205fbecf52f130761721e22c04b03bb099976081fc8a2c7386398004793f1e91a3e37fcab13fd69e066fb1d0c6ae6038abb7eb5a7172bd1c1032dfdf483c230c942bf2d7252d51571127f91bc6637c50219ffff03039912bb668de016c16fd3c2719aa9a45231aedece8cb633d64fbcab82f26b8803a1c14209fcdaf436c0002562bff877c17d75da05f430fd231b7f062c891ee8f8037a4239885e461849d65f27db72976643125518837009707a2ea8776c204e3db103b7c6cf9c31602cf5c6ef52441cfd537d467c4512190a9fa09dec4ecaafe186b80306bbaead8433574da73fa5758baaf348d83634839564f3be5324a253c97cfef303d8a04abf83ae2dbba1bc2dce6fddd26414214a6c7e33a40b55290a11cd619cde03feb3da1d094e6745611696a78be2c9f9e300c2e3d10c1c5a812aefdf6ec1629e039e4b1833265d3710f1d63291f23910dab37ff20947478a246914dbe60c09f4b603858041de39813bc172c4db9ea7d2533d34a70a6b0e92ac2d31d1caa808af847503251fc2b45b187e68487659b28649ffa93fa321964b9671cc3884dd5880110b4d0393099a921d74d7bb8ca91e3b89c906df5178de82f20f4ae3de3c5eb0df0377cd0219ffff03d56d6c5a2810066c536b915e7a1874f689c4de614f1a03a3abe81aef6a4449f0035c8956adf3f864971a1841306c261c3a2dc10db47f21f5abeb77a5a6ca72e63f03dafd3165c527a9df21333a1890079e8e388e735dc0ea05a9c418a4affc16055e032618706575a4c8f7f0b8985a14277cec9658c664d61ccb47d0ebd4e5bbdeb31b0347d8feac5c7edc880ac4671af41cfa0a7d27172d494c98ca4fa561c75f1d811903703d481fb556955926cbe7dbd8118d5a55bad243c078b36a7b011cf74dfd518f03f9c8841af9a49f4194b9de111823621bec36bf5fac71cf34aedd71c2c50e4beb03f56140e5533f371c85456b915b7bbaf54df087e1b636715fa6644be12368b1af0219ffff0335a6c0cc717475c54152375cfcbb708084e5d29f414a1aa5e0c9da4f9d2632ef035ac3d10e85181278bea8868caf8cf8a98646f9e80ccf1273f10299dc73c4afde03e3091e459557e9b68b3f9f9eeb71342cc4f94456e5c11e036dd8c01b2497a29003c8ae0635aa8b48fa92ea014f2634540d78f27898abd837aa30538541877ec86e03527e935557d99d54be1fd92669e6e9ca6fe488555b2f3474069f9e7003a95ca90339cc8fe6b8a87afa845349fd6d95007f538f6295139fe8732b1ef24485c8e824039641c2d49647522c667b08acda77da09735606f463de3a91ff2310d13a9276e203e878743e94259b0403d0070c9da5e4010e8dd23fc26a844ef188a6b6bb13e4f40346bd38dcbf9c538fd47e38a745379be2b150b3ffb45372160900d3627d3602a2033f9cea52522c287e203b2aa691f7f2c3e88a49ce440bb0311e572aaf4d8e104f03d5ba864136fa63c3c927e39e0045434e04c67b9a7cb38d678409ac3ca647a7d0036256430cc9ae3c51ffd8784fa426f86cf2a6a22d84c2aa12c04b802c686ba2420308fb4ad9bfd9ed0a3b1a9450763446156997c575f1b25ea617bfef71c3dc9f5d03e75c29b02ceb48c804b4b8ca5c910a0978f13e3f8d5ba65f94805f8a46bf495703cc6ac9ab029aacf264c0f7d829b68553758c757eb9992de70cb6c029899824d4031e3abb526a3779ff60ff68f0d6518c9e891a5053e806e55c2e0426f66657cc6b036f19d60c2e99137535a59c75ffb0c645af3492606ebcb2bc5d70b1b1aaab7e440331381f5f3a1d7858b56098f54dbc628a3381c373e327e78577058b5692c9792b0371e9e3f64048cb643fb1455aadefa0688be1b1f22b0a6356636e012ea66cf965031eeab4d3681422a7b4db82f69241cd8189a2fab69c473f643ad6e4ed599bc63703b4e50c60e1e8a66efcac095935aad75048269888c987af7f8bc821c0a02cb02403f8cdfea86c6f644d51a687979fa2ecc8f5dd3be410df6c811c88bec3aa04c7ab03ec31720eb0be23297621b3fbca4e31235f95fa4d80a2cf416c7af0c519792e5703ec7aa30b9d62a3812cd59a6a6ae6053a5610e1d0ce8cca44f9d6321f5f460d3403b2277e1cea532a1cc3d569a42aa8db48a00569716bcc717436d5d66ed33e866203339aa247ab0094274c9e4718d4e4ab202eb1f79e90e768fb8ad1bf76431f1f58032a886d805a08f46111f96f33ba894688c891323d1b9a3d98cae30f25590a6d3e03e4186d7ae8ef5830b607f5ac102bc77bc739c8519d327bf33918e517ccf3649803cac2289ea96ba538d4ffcaadfd01ab94c5dd83f01d91e4d4d439bc43a11947e903c7357997892ecb84a8b792cd25a288be68b4d603f5effa37eb73ab04565a1a9a03be4a737b18aa11f64a4de5b418b7065e92a12f936d77ba0fcf03081455713acc03d9e25222d58c1e8642cad29cb2ae7c5af439cc67fe838b564452021cd4a1fb23038d608865c684103f1333650f9846329792d2de1a5f642466faed9b0cc5c6e70505581e03689377e347d0cd634bae000e560394462a842788d4817ebdc2557cec50040103799a4f974f93d287ae49f0e18584cb1947812d264b05381befdeea6c4435ff52032d7831c14cde649a2da3ba0881e7db1960cbfdf358d66b8ad063ee50c3fe651805581e033105e4e66d7358d535412f7d88f6814dd5695b53bb39e473f6fca0861007011bffffffffffffffff0459593d6080604052600436106103635760003560e01c8063715018a6116101c6578063c4f6a8ce116100f7578063cfb8ccfb11610095578063f7260d3e1161006f578063f7260d3e14610be0578063fbc911d014610c00578063fc6f786514610c20578063fcf0b9d814610c4057600080fd5b8063cfb8ccfb14610b80578063df2ab5bb14610ba0578063f2fde38b14610bc057600080fd5b8063cc6db2da116100d1578063cc6db2da146109b4578063ce5f39c614610b20578063ced0911214610b40578063cf24284914610b6057600080fd5b8063c4f6a8ce14610ac3578063c97cef1e14610ad9578063caa6fea414610aef57600080fd5b8063ac9650d811610164578063b3ab15fb1161013e578063b3ab15fb14610a38578063b44a272214610a58578063b4ce128014610a8c578063b6a6d17714610aac57600080fd5b8063ac9650d8146109cd578063ad5c4648146109ed578063b1724b4614610a2157600080fd5b80638da5cb5b116101a05780638da5cb5b14610956578063a15ea89f14610974578063a80a71bd14610994578063aaf5eb68146109b457600080fd5b8063715018a614610901578063718da7ee146109165780637c2d6e011461093657600080fd5b8063219f5d17116102a05780634ca6ef281161023e57806369746a1d1161021857806369746a1d1461089157806369b02128146108b15780636d4cec78146108cb57806370a08231146108e157600080fd5b80634ca6ef281461082757806364482f791461085b5780636558954f1461087b57600080fd5b80633b1acf741161027a5780633b1acf74146106e757806342966c68146107c757806344780994146107e757806349404b7c1461080757600080fd5b8063219f5d17146106795780632f745c59146106b157806330ec24cc146106d157600080fd5b80630d55f9131161030d5780631526fe27116102e75780631526fe271461056f57806317caf6f11461062357806318fccc76146106395780631eaaa0451461065957600080fd5b80630d55f913146104c6578063127effb2146104e6578063150b7a021461051e57600080fd5b8063081e3eda1161033e578063081e3eda1461045b5780630c49ccbe146104715780630ce5d4cc146104a657600080fd5b8062f714ce146103db5780630501d5561461040e5780630743384d1461042e57600080fd5b366103d657336001600160a01b037f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f436416148015906103ca5750336001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21614155b156103d457600080fd5b005b600080fd5b3480156103e757600080fd5b506103fb6103f6366004614f58565b610c56565b6040519081526020015b60405180910390f35b34801561041a57600080fd5b506103d4610429366004614f96565b6110c1565b34801561043a57600080fd5b506103fb610449366004614fba565b60096020526000908152604090205481565b34801561046757600080fd5b506103fb60055481565b34801561047d57600080fd5b5061049161048c366004615002565b611140565b60408051928352602083019190915201610405565b3480156104b257600080fd5b506103d46104c136600461507b565b611290565b3480156104d257600080fd5b506104916104e1366004615134565b61149c565b3480156104f257600080fd5b50601254610506906001600160a01b031681565b6040516001600160a01b039091168152602001610405565b34801561052a57600080fd5b5061053e610539366004615161565b611700565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610405565b34801561057b57600080fd5b506105da61058a366004615200565b60066020526000908152604090208054600182015460028301546003840154600485015460059095015493946001600160a01b039384169492841693821692600160a01b90920462ffffff169187565b604080519788526001600160a01b0396871660208901529486169487019490945293909116606085015262ffffff16608084015260a083019190915260c082015260e001610405565b34801561062f57600080fd5b506103fb600d5481565b34801561064557600080fd5b506103fb610654366004614f58565b611c4f565b34801561066557600080fd5b506103d4610674366004615219565b611ce3565b61068c610687366004615250565b61233f565b604080516001600160801b039094168452602084019290925290820152606001610405565b3480156106bd57600080fd5b506103fb6106cc3660046152ca565b61260a565b3480156106dd57600080fd5b506103fb600e5481565b3480156106f357600080fd5b50610767610702366004615200565b6007602052600090815260409020805460018201546002808401546003850154600486015460058701546006909701546001600160801b0380881698600160801b909804169686860b966301000000900490950b946001600160a01b03909216919089565b604080516001600160801b039a8b1681529990981660208a0152600296870b978901979097529390940b6060870152608086019190915260a08501526001600160a01b0390911660c084015260e083015261010082015261012001610405565b3480156107d357600080fd5b506103d46107e2366004615200565b6126c0565b3480156107f357600080fd5b506103d461080236600461533b565b612989565b34801561081357600080fd5b506103d4610822366004614f58565b612b84565b34801561083357600080fd5b506105067f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c89881565b34801561086757600080fd5b506103d461087636600461507b565b612cd2565b34801561088757600080fd5b506103fb60135481565b34801561089d57600080fd5b506103d46108ac36600461537d565b612e7d565b3480156108bd57600080fd5b506103fb6501d1a94a200081565b3480156108d757600080fd5b506103fb60105481565b3480156108ed57600080fd5b506103fb6108fc366004614fba565b612f24565b34801561090d57600080fd5b506103d4612fbe565b34801561092257600080fd5b506103d4610931366004614fba565b612fd2565b34801561094257600080fd5b506103d4610951366004615200565b6130ef565b34801561096257600080fd5b506000546001600160a01b0316610506565b34801561098057600080fd5b5061049161098f366004614fba565b613176565b3480156109a057600080fd5b506104916109af366004615200565b6131d1565b3480156109c057600080fd5b506103fb64e8d4a5100081565b6109e06109db36600461533b565b6131fe565b60405161040591906153f7565b3480156109f957600080fd5b506105067f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b348015610a2d57600080fd5b506103fb62278d0081565b348015610a4457600080fd5b506103d4610a53366004614fba565b613356565b348015610a6457600080fd5b506105067f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f436481565b348015610a9857600080fd5b50600b54610506906001600160a01b031681565b348015610ab857600080fd5b506103fb6201518081565b348015610acf57600080fd5b506103fb60115481565b348015610ae557600080fd5b506103fb60145481565b348015610afb57600080fd5b50600c54610b1090600160a01b900460ff1681565b6040519015158152602001610405565b348015610b2c57600080fd5b506103fb610b3b366004615200565b6133d3565b348015610b4c57600080fd5b506103d4610b5b366004615200565b61366a565b348015610b6c57600080fd5b506103d4610b7b366004614fba565b6136c5565b348015610b8c57600080fd5b506103d4610b9b366004614fba565b613742565b348015610bac57600080fd5b506103d4610bbb366004615459565b613794565b348015610bcc57600080fd5b506103d4610bdb366004614fba565b6138a1565b348015610bec57600080fd5b50600a54610506906001600160a01b031681565b348015610c0c57600080fd5b50600c54610506906001600160a01b031681565b348015610c2c57600080fd5b50610491610c3b366004615490565b61392e565b348015610c4c57600080fd5b506103fb600f5481565b6000610c60613ad4565b6001600160a01b038216301480610c7e57506001600160a01b038216155b15610cb5576040517f32c98ae600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600083815260076020526040902060048101546001600160a01b03163314610cf0576040516330cd747160e01b815260040160405180910390fd5b610cfb818585613b2e565b6005820154600081815260066020908152604080832060018101548251630a81a92360e31b81529251969850949590946001600160a01b03169263540d491892600480820193918290030181865afa158015610d5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7f91906154bc565b90506001600160a01b03811615801590610da35750600c54600160a01b900460ff16155b15610ea3578354600090610dc690600160801b90046001600160801b03166154ef565b6001860154604051638910faf160e01b8152600282810b6004830152630100000090920490910b6024820152600f82900b60448201529091506001600160a01b03831690638910faf190606401600060405180830381600087803b158015610e2d57600080fd5b505af1158015610e41573d6000803e3d6000fd5b50505050600185015460408051600f84900b8152600283810b6020830152630100000090930490920b908201528890859033907fee8f6362d59839b4b3c990d7e085a63a0fe2c58f4eff4a9a2b6de93a4c645ae39060600160405180910390a4505b83546004830180546001600160801b0390921691600090610ec590849061551f565b90915550508354600583018054600160801b9092046001600160801b031691600090610ef290849061551f565b9091555050600087815260076020526040812081815560018101805465ffffffffffff1916905560028101829055600381018290556004810180546001600160a01b03191690556005810182905560060155610f4e3388613e31565b600c546001600160a01b031615610fcb57600c5460405163622cd4e160e11b815233600482015260248101899052604481018590526001600160a01b039091169063c459a9c290606401600060405180830381600087803b158015610fb257600080fd5b505af1158015610fc6573d6000803e3d6000fd5b505050505b6040517f42842e0e0000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038781166024830152604482018990527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f436416906342842e0e90606401600060405180830381600087803b15801561105457600080fd5b505af1158015611068573d6000803e3d6000fd5b50506040516001600160a01b038916815289925085915033907ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679060200160405180910390a4505050506110bb60018055565b92915050565b6110c9613e5d565b600c80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b8315158102919091179182905560405160ff9190920416151581527fc749456be5379ac4cfc1f856208b32ddcf01b9db3ce6c37784ad91a8390ae9a8906020015b60405180910390a150565b60008061114b613ad4565b8251600090815260076020526040902060048101546001600160a01b03163314611188576040516330cd747160e01b815260040160405180910390fd5b604080517f0c49ccbe0000000000000000000000000000000000000000000000000000000081528551600482015260208601516001600160801b0316602482015290850151604482015260608501516064820152608085015160848201527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43646001600160a01b031690630c49ccbe9060a40160408051808303816000875af1158015611238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125c9190615536565b855191945092506112709082906000613b2e565b506112818185600001516000613eb7565b5061128b60018055565b915091565b600a546001600160a01b031633146112ef5760405162461bcd60e51b815260206004820152600c60248201527f4e6f74207265636569766572000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600a5461132a906001600160a01b037f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8988116911630866142de565b601480548401905580156113405761134061438f565b601354620151808310801590611359575062278d008311155b156113615750815b42600061136e838361555a565b905060008087905083601054111561140557600064e8d4a5100060115486601054611399919061551f565b6113a39190615572565b6113ad9190615591565b600e5460105460408051918252602082018990528101839052919250907f317bea91082b2a8d33761ba0bdd38a785d60acc1b964e3ead01706baaebf548b9060600160405180910390a2611401818361555a565b9150505b8461141564e8d4a5100083615572565b61141f9190615591565b600e8054600190810191829055868101600f5560108690556011839055919350907f44521c2bbb0ee364592908d6177ce446d5554c5a6c4ebd12adf86912c617a78b9061146d90879061555a565b604080519182526020820187905281018590526060810184905260800160405180910390a25050505050505050565b6000806114a7613ad4565b835160009081526007602090815260409182902082516101208101845281546001600160801b038082168352600160801b90910416928101929092526001810154600281810b9484019490945263010000009004830b6060830152918201546080820152600382015460a082015260048201546001600160a01b031660c08201819052600583015460e0830152600690920154610100820152903314611560576040516330cd747160e01b815260040160405180910390fd5b60208501516001600160a01b0316611579573060208601525b6040805163fc6f786560e01b81528651600482015260208701516001600160a01b039081166024830152918701516001600160801b03908116604483015260608801511660648201527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43649091169063fc6f78659060840160408051808303816000875af115801561160e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116329190615536565b602087015191945092506001600160a01b03163014156116ef5760e081810151600090815260066020908152604091829020825193840183528054845260018101546001600160a01b0390811692850192909252600281015482169284019290925260038201548082166060850152600160a01b900462ffffff166080840152600482015460a084015260059091015460c083015285166116d1573394505b6116df8160400151866144ff565b6116ed8160600151866144ff565b505b506116f960018055565b9250929050565b600061170a613ad4565b336001600160a01b037f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f4364161461176c576040517f0bf3405700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c081018252600080825260208201819052818301819052606082018190526080820181905260a082015290517f99fbab88000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b037f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f436416906399fbab889060240161018060405180830381865afa158015611819573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183d91906155e3565b505050506001600160801b031660a08901819052600291820b60808a015291900b606088015262ffffff9190911660408701526001600160a01b03918216602087015291168452151591506118a7905057604051636180f03f60e11b815260040160405180910390fd5b80516001600160a01b0390811660009081526008602090815260408083208286015190941683529281528282208385015162ffffff16835290522054806119015760405163079f151f60e11b815260040160405180910390fd5b6000818152600660209081526040808320815160e0810183528154815260018201546001600160a01b03908116828601819052600284015482168386015260038401549182166060840152600160a01b90910462ffffff16608083015260048084015460a084015260059093015460c08301528351630a81a92360e31b81529351919594909363540d49189381810193918290030181865afa1580156119ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119cf91906154bc565b90506001600160a01b0381166119f85760405163ef3d9b2160e01b815260040160405180910390fd5b600088815260076020526040908190206060860151600182018054608089015162ffffff90811663010000000265ffffffffffff19909216931692909217919091179055600480820180546001600160a01b03808f166001600160a01b0319909216919091179091556005830187905592516310a537f160e11b8152919284169163214a6fe291611a979142910163ffffffff91909116815260200190565b600060405180830381600087803b158015611ab157600080fd5b505af1158015611ac5573d6000803e3d6000fd5b50505050611ad5818a6000613eb7565b60608501516080860151604051633816bae960e11b8152600292830b6004820152910b60248201526001600160a01b0383169063702d75d290604401602060405180830381865afa158015611b2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b5291906156c4565b6002820155611baa8a8a6001600160a01b039190911660008181526002602081815260408084208054600384528286208187528452828620889055968552600483529084209590955592909152905280546001019055565b60a08501516060808701516080880151604080516001600160801b039095168552600292830b6020860152910b908301528a9186916001600160a01b038e16917fb19157bff94fdd40c58c7d4a5d52e8eb8c2d570ca17b322b49a2bbbeedc82fbf910160405180910390a4507f150b7a0200000000000000000000000000000000000000000000000000000000945050505050611c4660018055565b95945050505050565b6000611c59613ad4565b600083815260076020526040902060048101546001600160a01b03163314611c94576040516330cd747160e01b815260040160405180910390fd5b80546001600160801b0316158015611cae57506003810154155b15611ccc57604051636180f03f60e11b815260040160405180910390fd5b611cd7818585613b2e565b9150506110bb60018055565b611ceb613e5d565b8015611cf957611cf961438f565b600b546040517f4c96a3890000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526000921690634c96a389906024016020604051808303816000875af1158015611d5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d8391906154bc565b905083600d6000828254611d97919061555a565b925050819055506000836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0291906154bc565b90506000846001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6891906154bc565b90506000856001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611eaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ece91906156dd565b6001600160a01b038085166000908152600860209081526040808320938716835292815282822062ffffff851683529052205490915015611f73576001600160a01b038381166000908152600860209081526040808320938616835292815282822062ffffff8516835290528190205490517f7d38f65f00000000000000000000000000000000000000000000000000000000815260048101919091526024016112e6565b604051636eb1769f60e11b81523060048201526001600160a01b037f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43648116602483015284169063dd62ed3e90604401602060405180830381865afa158015611fdf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061200391906156c4565b61203d5761203d6001600160a01b0384167f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f4364600019614697565b604051636eb1769f60e11b81523060048201526001600160a01b037f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43648116602483015283169063dd62ed3e90604401602060405180830381865afa1580156120a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cd91906156c4565b612107576121076001600160a01b0383167f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f4364600019614697565b6005600081548092919060010191905055506040518060e00160405280888152602001876001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b031681526020018262ffffff1681526020016000815260200160008152506006600060055481526020019081526020016000206000820151816000015560208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060608201518160030160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060808201518160030160146101000a81548162ffffff021916908362ffffff16021790555060a0820151816004015560c0820151816005015590505060055460086000856001600160a01b03166001600160a01b031681526020019081526020016000206000846001600160a01b03166001600160a01b0316815260200190815260200160002060008362ffffff1662ffffff1681526020019081526020016000208190555060055460096000886001600160a01b03166001600160a01b0316815260200190815260200160002081905550836001600160a01b0316866001600160a01b03166005547f0621c8de33a230aec1aee0d4f7b6c81d97bd3ce0a2040ca33fbd668e521ecafe8a60405161232e91815260200190565b60405180910390a450505050505050565b600080600061234c613ad4565b83516000908152600760205260409020600581015461237e5760405163079f151f60e11b815260040160405180910390fd5b600581810154600090815260066020908152604091829020825160e0810184528154815260018201546001600160a01b03908116828501526002830154811694820185905260038301549081166060830152600160a01b900462ffffff166080820152600482015460a082015293015460c084015287015161240091906147cc565b612412816060015187604001516147cc565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031681604001516001600160a01b03161415801561248e57507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031681606001516001600160a01b031614155b801561249a5750600034115b156124a457600080fd5b604080517f219f5d170000000000000000000000000000000000000000000000000000000081528751600482015260208801516024820152908701516044820152606087015160648201526080870151608482015260a087015160a48201527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43646001600160a01b03169063219f5d1790349060c40160606040518083038185885af1158015612557573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061257c91906156f8565b6020890151929750909550935060009061259790869061551f565b905060008488604001516125ab919061551f565b905081156125c1576125c1836040015183614860565b80156125d5576125d5836060015182614860565b6125e58489600001516000613b2e565b506125f68489600001516000613eb7565b5050505061260360018055565b9193909250565b6001600160a01b03821660009081526002602052604081205482106126975760405162461bcd60e51b815260206004820152602560248201527f456e756d657261626c653a206f776e657220696e646578206f7574206f66206260448201527f6f756e647300000000000000000000000000000000000000000000000000000060648201526084016112e6565b506001600160a01b03919091166000908152600360209081526040808320938352929052205490565b6126c8613ad4565b60008181526007602090815260409182902082516101208101845281546001600160801b038082168352600160801b90910416928101929092526001810154600281810b9484019490945263010000009004830b6060830152918201546080820152600382015460a082015260048201546001600160a01b031660c08201819052600583015460e083015260069092015461010082015290331461277f576040516330cd747160e01b815260040160405180910390fd5b60008160a00151118061279b575080516001600160801b031615155b156127d2576040517f32e7879300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600082815260076020526040812081815560018101805465ffffffffffff1916905560028101829055600381018290556004810180546001600160a01b031916905560058101829055600601556128293383613e31565b600c546001600160a01b0316156128ac57600c5460e082015160405163622cd4e160e11b81523360048201526024810185905260448101919091526001600160a01b039091169063c459a9c290606401600060405180830381600087803b15801561289357600080fd5b505af11580156128a7573d6000803e3d6000fd5b505050505b6040517f42966c68000000000000000000000000000000000000000000000000000000008152600481018390527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43646001600160a01b0316906342966c6890602401600060405180830381600087803b15801561292757600080fd5b505af115801561293b573d6000803e3d6000fd5b50505060e08201516040516000815284925033907ff341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5679060200160405180910390a45061298660018055565b50565b6012546001600160a01b031633148015906129af57506000546001600160a01b03163314155b156129e6576040517f98f76d0e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4260005b82811015612b7e57600060066000868685818110612a0a57612a0a61572f565b602090810292909201358352508181019290925260409081016000908120825160e0810184528154815260018201546001600160a01b03908116828701819052600284015482168387015260038401549182166060840152600160a01b90910462ffffff16608083015260048084015460a084015260059093015460c08301528451630a81a92360e31b815294519196509294929363540d491893818401939092918290030181865afa158015612ac5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae991906154bc565b825190915015801590612b0457506001600160a01b03811615155b15612b69576040516310a537f160e11b815263ffffffff851660048201526001600160a01b0382169063214a6fe290602401600060405180830381600087803b158015612b5057600080fd5b505af1158015612b64573d6000803e3d6000fd5b505050505b50508080612b7690615745565b9150506129ea565b50505050565b612b8c613ad4565b6040516370a0823160e01b81523060048201526000907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316906370a0823190602401602060405180830381865afa158015612bf3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c1791906156c4565b905082811015612c3a57604051632ca2f52b60e11b815260040160405180910390fd5b8015612cc457604051632e1a7d4d60e01b8152600481018290527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b158015612ca257600080fd5b505af1158015612cb6573d6000803e3d6000fd5b50505050612cc48282614937565b50612cce60018055565b5050565b612cda613e5d565b82801580612ce9575060055481115b15612d20576040517f87e8068300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600084815260066020908152604080832060018101548251630a81a92360e31b815292514295929492936001600160a01b039092169263540d491892600480820193918290030181865afa158015612d7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612da091906154bc565b90506001600160a01b03811615612e11576040516310a537f160e11b815263ffffffff841660048201526001600160a01b0382169063214a6fe290602401600060405180830381600087803b158015612df857600080fd5b505af1158015612e0c573d6000803e3d6000fd5b505050505b8415612e1f57612e1f61438f565b8154600d548791612e2f9161551f565b612e39919061555a565b600d5585825560405186815287907fc0cfd54d2de2b55f1e6e108d3ec53ff0a1abe6055401d32c61e9433b747ef9f89060200160405180910390a250505050505050565b600c546001600160a01b03163314612ed75760405162461bcd60e51b815260206004820152601760248201527f4e6f74206661726d20626f6f737420636f6e747261637400000000000000000060448201526064016112e6565b60008281526007602052604090206005810154612f075760405163079f151f60e11b815260040160405180910390fd5b612f1381846000613b2e565b50612f1f818484613eb7565b505050565b60006001600160a01b038216612fa25760405162461bcd60e51b815260206004820152602d60248201527f456e756d657261626c653a2061646472657373207a65726f206973206e6f742060448201527f612076616c6964206f776e65720000000000000000000000000000000000000060648201526084016112e6565b506001600160a01b031660009081526002602052604090205490565b612fc6613e5d565b612fd06000614997565b565b612fda613e5d565b6001600160a01b0381166130015760405163d92e233d60e01b815260040160405180910390fd5b604051636eb1769f60e11b81526001600160a01b038281166004830152306024830152600019917f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8989091169063dd62ed3e90604401602060405180830381865afa158015613073573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061309791906156c4565b146130a157600080fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040519081527f4a2963bfc20b87a0c055468a66e6638d57725e93fb4d65733fb2f25587ae8c4f90602001611135565b6130f7613e5d565b6201518081108061310a575062278d0081115b15613141576040517f9e11b5e600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60138190556040518181527fb5521c8a03b484502769158d9dd83186bd0748f3ece2fbf358233994c2a2097690602001611135565b6000806000600d5411156131c757600d546001600160a01b038416600090815260096020908152604080832054835260069091529020546011546131ba9190615572565b6131c49190615591565b91505b6010549050915091565b6000806000600d5411156131c757600d546000848152600660205260409020546011546131ba9190615572565b60608167ffffffffffffffff81111561321957613219614fd7565b60405190808252806020026020018201604052801561324c57816020015b60608152602001906001900390816132375790505b50905060005b8281101561334f57600080308686858181106132705761327061572f565b90506020028101906132829190615760565b6040516132909291906157a7565b600060405180830381855af49150503d80600081146132cb576040519150601f19603f3d011682016040523d82523d6000602084013e6132d0565b606091505b50915091508161331c576044815110156132e957600080fd5b6004810190508080602001905181019061330391906157b7565b60405162461bcd60e51b81526004016112e69190615859565b8084848151811061332f5761332f61572f565b60200260200101819052505050808061334790615745565b915050613252565b5092915050565b61335e613e5d565b6001600160a01b0381166133855760405163d92e233d60e01b815260040160405180910390fd5b601280546001600160a01b0319166001600160a01b0383169081179091556040519081527fc47d127c07bdd56c5ccba00463ce3bd3c1bca71b4670eea6e5d0c02e4aa156e290602001611135565b600081815260076020908152604080832081516101208101835281546001600160801b038082168352600160801b90910416938101939093526001810154600281810b9385019390935263010000009004820b6060840152908101546080830152600381015460a083015260048101546001600160a01b031660c0830152600581015460e08301819052600690910154610100830152156136645760e0818101516000908152600660209081526040808320815194850182528054855260018101546001600160a01b03908116868501819052600283015482168785015260038301549182166060880152600160a01b90910462ffffff16608087015260048083015460a088015260059092015460c08701528251630a81a92360e31b81529251909363540d49189380840193919291908290030181865afa15801561351d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061354191906154bc565b90506001600160a01b038116156136505760408381015160608501519151633816bae960e11b8152600291820b600482015291900b60248201526000906001600160a01b0383169063702d75d290604401602060405180830381865afa1580156135af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135d391906156c4565b905083608001518111801561360f575083602001516001600160801b0316846080015182613601919061551f565b61360d90600019615591565b115b1561364e57600160801b84602001516001600160801b0316856080015183613637919061551f565b6136419190615572565b61364b9190615591565b94505b505b60a083015161365f908561555a565b935050505b50919050565b613672613ad4565b600081815260076020526040902060058101546136a25760405163079f151f60e11b815260040160405180910390fd5b6136ae81836000613b2e565b506136bb81836000613eb7565b5061298660018055565b6136cd613e5d565b6001600160a01b0381166136f45760405163d92e233d60e01b815260040160405180910390fd5b600b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f29e3e57b4a1e4513d009781598c7e4b8b2a68e4b71fe977e362d1b591016fade90602001611135565b61374a613e5d565b600c80546001600160a01b0319166001600160a01b0383169081179091556040517ff32244aa081c72b930bb47bb702115e112d779ed353d6b1a70b28babc9822b7a90600090a250565b61379c613ad4565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa1580156137e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061380791906156c4565b90507f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8986001600160a01b0316846001600160a01b0316141561385c57601454811061385657601454900361385c565b60145560005b8281101561387d57604051632ca2f52b60e11b815260040160405180910390fd5b8015613897576138976001600160a01b03851683836149e7565b50612f1f60018055565b6138a9613e5d565b6001600160a01b0381166139255760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016112e6565b61298681614997565b600080613939613ad4565b825160009081526007602090815260409182902082516101208101845281546001600160801b038082168352600160801b90910416928101929092526001810154600281810b9484019490945263010000009004830b6060830152918201546080820152600382015460a082015260048201546001600160a01b031660c08201819052600583015460e08301526006909201546101008201529033146139f2576040516330cd747160e01b815260040160405180910390fd5b60208401516001600160a01b0316613a0b573060208501525b6040805163fc6f786560e01b81528551600482015260208601516001600160a01b039081166024830152918601516001600160801b03908116604483015260608701511660648201527f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43649091169063fc6f78659060840160408051808303816000875af1158015613aa0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ac49190615536565b909350915061128b905060018055565b60026001541415613b275760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016112e6565b6002600155565b6005838101546000908152600660209081526040808320815160e0810183528154815260018201546001600160a01b03908116828601819052600284015482168386015260038401549182166060840152600160a01b90910462ffffff16608083015260048084015460a0840152929096015460c08201528251630a81a92360e31b81529251949590948694919363540d4918938181019392918290030181865afa158015613be1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c0591906154bc565b90506001600160a01b03811615801590613c295750600c54600160a01b900460ff16155b15613d98576040516310a537f160e11b815263ffffffff421660048201526001600160a01b0382169063214a6fe290602401600060405180830381600087803b158015613c7557600080fd5b505af1158015613c89573d6000803e3d6000fd5b505050506001860154604051633816bae960e11b8152600282810b6004830152630100000090920490910b60248201526000906001600160a01b0383169063702d75d290604401602060405180830381865afa158015613ced573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d1191906156c4565b9050866002015481118015613d52575086546002880154600160801b9091046001600160801b031690613d44908361551f565b613d5090600019615591565b115b15613d925786546002880154600160801b918290046001600160801b031690613d7b908461551f565b613d859190615572565b613d8f9190615591565b93505b60028701555b6003860154613da7908461555a565b92508215613e28576001600160a01b03841615613e205760006003870155613dcf8484614a30565b6005860154604080516001600160a01b03871681526020810186905287929133917fd25759d838eb0a46600f8f327cce144e61d7caefbef27010fe31e2aab091704f910160405180910390a4613e28565b600386018390555b50509392505050565b613e3b8282614b21565b506001600160a01b031660009081526002602052604090208054600019019055565b6000546001600160a01b03163314612fd05760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016112e6565b60008060007f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43646001600160a01b03166399fbab88866040518263ffffffff1660e01b8152600401613f0a91815260200190565b61018060405180830381865afa158015613f28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f4c91906155e3565b5050505060058e015460009081526006602052604090208e54939b50919950975095506001600160801b038088169116149350613fd89250505057865460048201546001600160801b0380851692613fa69291169061551f565b613fb0919061555a565b600482015586546fffffffffffffffffffffffffffffffff19166001600160801b0383161787555b600c5464e8d4a51000906001600160a01b031615801590613ff7575085155b1561408b57600c546040517f44e7bf06000000000000000000000000000000000000000000000000000000008152600481018990526001600160a01b03909116906344e7bf06906024016020604051808303816000875af1158015614060573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061408491906156c4565b9050614094565b85156140945750845b64e8d4a510008110156140ad575064e8d4a510006140c4565b6501d1a94a20008111156140c457506501d1a94a20005b6006880181905560006140f864e8d4a510006140e9846001600160801b038816615572565b6140f39190615591565b614c3b565b895490915060009061411a90600160801b90046001600160801b03168361586c565b905080600f0b6000146142d257895460058501546001600160801b038085169261414f92600160801b9091049091169061551f565b614159919061555a565b600585015589546001600160801b03808416600160801b029116178a55600184015460408051630a81a92360e31b815290516000926001600160a01b03169163540d49189160048083019260209291908290030181865afa1580156141c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141e691906154bc565b90506001600160a01b03811661420f5760405163ef3d9b2160e01b815260040160405180910390fd5b604051638910faf160e01b8152600289810b600483015288900b6024820152600f83900b60448201526001600160a01b03821690638910faf190606401600060405180830381600087803b15801561426657600080fd5b505af115801561427a573d6000803e3d6000fd5b5050505060058b015460408051600f85900b815260028b810b60208301528a900b8183015290518c929133917fee8f6362d59839b4b3c990d7e085a63a0fe2c58f4eff4a9a2b6de93a4c645ae39181900360600190a4505b50505050505050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052612b7e9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152614cba565b4260015b6005548111612cce576000818152600660209081526040808320815160e0810183528154815260018201546001600160a01b03908116828601819052600284015482168386015260038401549182166060840152600160a01b90910462ffffff16608083015260048084015460a084015260059093015460c08301528351630a81a92360e31b81529351919594909363540d49189381810193918290030181865afa158015614446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061446a91906154bc565b82519091501580159061448557506001600160a01b03811615155b156144ea576040516310a537f160e11b815263ffffffff851660048201526001600160a01b0382169063214a6fe290602401600060405180830381600087803b1580156144d157600080fd5b505af11580156144e5573d6000803e3d6000fd5b505050505b505080806144f790615745565b915050614393565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015614546573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061456a91906156c4565b90507f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8986001600160a01b0316836001600160a01b031614156145bf5760145481106145b95760145490036145bf565b60145560005b8015612f1f577f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316836001600160a01b0316141561468357604051632e1a7d4d60e01b8152600481018290527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561466157600080fd5b505af1158015614675573d6000803e3d6000fd5b50505050612f1f8282614937565b612f1f6001600160a01b03841683836149e7565b8015806147115750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa1580156146eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061470f91906156c4565b155b6147835760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016112e6565b6040516001600160a01b038316602482015260448101829052612f1f9084907f095ea7b3000000000000000000000000000000000000000000000000000000009060640161432b565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316826001600160a01b031614801561480d5750600034115b1561484b57803414612cce576040517f4b508fef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612cce6001600160a01b0383163330846142de565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316826001600160a01b03161480156148a15750600034115b15614923577f00000000000000000000000046a15b0b27311cedf172ab29e4f4766fbe7f43646001600160a01b03166312210e8a6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561490157600080fd5b505af1158015614915573d6000803e3d6000fd5b50505050612cce3347614937565b612cce6001600160a01b03831633836149e7565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114614984576040519150601f19603f3d011682016040523d82523d6000602084013e614989565b606091505b5050905080612f1f57600080fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b038316602482015260448101829052612f1f9084907fa9059cbb000000000000000000000000000000000000000000000000000000009060640161432b565b8015612cce576040516370a0823160e01b81523060048201526000907f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8986001600160a01b0316906370a0823190602401602060405180830381865afa158015614a9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614ac191906156c4565b905081811015614acf578091505b8160145410614ae657601480548390039055614aed565b8181036014555b612f1f6001600160a01b037f000000000000000000000000152649ea73beab28c5b49b26eb48f7ead6d4c8981684846149e7565b6001600160a01b038216600090815260026020526040812054614b469060019061551f565b6000838152600460209081526040808320546001600160a01b03881684526003835281842081855290925290912054919250908314614bc75760405162461bcd60e51b815260206004820152600f60248201527f496e76616c696420746f6b656e4964000000000000000000000000000000000060448201526064016112e6565b818114614c08576001600160a01b03841660009081526003602090815260408083208584528252808320548484528184208190558352600490915290208190555b5060009182526004602090815260408084208490556001600160a01b039094168352600381528383209183525290812055565b6000600160801b8210614cb65760405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016112e6565b5090565b6000614d0f826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316614d9f9092919063ffffffff16565b805190915015612f1f5780806020019051810190614d2d91906158ce565b612f1f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016112e6565b6060614dae8484600085614db6565b949350505050565b606082471015614e2e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016112e6565b600080866001600160a01b03168587604051614e4a91906158eb565b60006040518083038185875af1925050503d8060008114614e87576040519150601f19603f3d011682016040523d82523d6000602084013e614e8c565b606091505b5091509150614e9d87838387614ea8565b979650505050505050565b60608315614f14578251614f0d576001600160a01b0385163b614f0d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016112e6565b5081614dae565b614dae8383815115614f295781518083602001fd5b8060405162461bcd60e51b81526004016112e69190615859565b6001600160a01b038116811461298657600080fd5b60008060408385031215614f6b57600080fd5b823591506020830135614f7d81614f43565b809150509250929050565b801515811461298657600080fd5b600060208284031215614fa857600080fd5b8135614fb381614f88565b9392505050565b600060208284031215614fcc57600080fd5b8135614fb381614f43565b634e487b7160e01b600052604160045260246000fd5b6001600160801b038116811461298657600080fd5b600060a0828403121561501457600080fd5b60405160a0810181811067ffffffffffffffff8211171561503757615037614fd7565b60405282358152602083013561504c81614fed565b806020830152506040830135604082015260608301356060820152608083013560808201528091505092915050565b60008060006060848603121561509057600080fd5b833592506020840135915060408401356150a981614f88565b809150509250925092565b6000608082840312156150c657600080fd5b6040516080810181811067ffffffffffffffff821117156150e9576150e9614fd7565b60405282358152905080602083013561510181614f43565b6020820152604083013561511481614fed565b6040820152606083013561512781614fed565b6060919091015292915050565b60008060a0838503121561514757600080fd5b61515184846150b4565b91506080830135614f7d81614f43565b60008060008060006080868803121561517957600080fd5b853561518481614f43565b9450602086013561519481614f43565b935060408601359250606086013567ffffffffffffffff808211156151b857600080fd5b818801915088601f8301126151cc57600080fd5b8135818111156151db57600080fd5b8960208285010111156151ed57600080fd5b9699959850939650602001949392505050565b60006020828403121561521257600080fd5b5035919050565b60008060006060848603121561522e57600080fd5b83359250602084013561524081614f43565b915060408401356150a981614f88565b600060c0828403121561526257600080fd5b60405160c0810181811067ffffffffffffffff8211171561528557615285614fd7565b8060405250823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201528091505092915050565b600080604083850312156152dd57600080fd5b82356152e881614f43565b946020939093013593505050565b60008083601f84011261530857600080fd5b50813567ffffffffffffffff81111561532057600080fd5b6020830191508360208260051b85010111156116f957600080fd5b6000806020838503121561534e57600080fd5b823567ffffffffffffffff81111561536557600080fd5b615371858286016152f6565b90969095509350505050565b6000806040838503121561539057600080fd5b50508035926020909101359150565b60005b838110156153ba5781810151838201526020016153a2565b83811115612b7e5750506000910152565b600081518084526153e381602086016020860161539f565b601f01601f19169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561544c57603f1988860301845261543a8583516153cb565b9450928501929085019060010161541e565b5092979650505050505050565b60008060006060848603121561546e57600080fd5b833561547981614f43565b92506020840135915060408401356150a981614f43565b6000608082840312156154a257600080fd5b614fb383836150b4565b80516154b781614f43565b919050565b6000602082840312156154ce57600080fd5b8151614fb381614f43565b634e487b7160e01b600052601160045260246000fd5b600081600f0b6f7fffffffffffffffffffffffffffffff19811415615516576155166154d9565b60000392915050565b600082821015615531576155316154d9565b500390565b6000806040838503121561554957600080fd5b505080516020909101519092909150565b6000821982111561556d5761556d6154d9565b500190565b600081600019048311821515161561558c5761558c6154d9565b500290565b6000826155ae57634e487b7160e01b600052601260045260246000fd5b500490565b805162ffffff811681146154b757600080fd5b8051600281900b81146154b757600080fd5b80516154b781614fed565b6000806000806000806000806000806000806101808d8f03121561560657600080fd5b8c516bffffffffffffffffffffffff8116811461562257600080fd5b9b5061563060208e016154ac565b9a5061563e60408e016154ac565b995061564c60608e016154ac565b985061565a60808e016155b3565b975061566860a08e016155c6565b965061567660c08e016155c6565b955061568460e08e016155d8565b94506101008d015193506101208d015192506156a36101408e016155d8565b91506156b26101608e016155d8565b90509295989b509295989b509295989b565b6000602082840312156156d657600080fd5b5051919050565b6000602082840312156156ef57600080fd5b614fb3826155b3565b60008060006060848603121561570d57600080fd5b835161571881614fed565b602085015160409095015190969495509392505050565b634e487b7160e01b600052603260045260246000fd5b6000600019821415615759576157596154d9565b5060010190565b6000808335601e1984360301811261577757600080fd5b83018035915067ffffffffffffffff82111561579257600080fd5b6020019150368190038213156116f957600080fd5b8183823760009101908152919050565b6000602082840312156157c957600080fd5b815167ffffffffffffffff808211156157e157600080fd5b818401915084601f8301126157f557600080fd5b81518181111561580757615807614fd7565b604051601f8201601f19908116603f0116810190838211818310171561582f5761582f614fd7565b8160405282815287602084870101111561584857600080fd5b614e9d83602083016020880161539f565b602081526000614fb360208301846153cb565b600081600f0b83600f0b60008112816f7fffffffffffffffffffffffffffffff19018312811516156158a0576158a06154d9565b816f7fffffffffffffffffffffffffffffff0183138116156158c4576158c46154d9565b5090039392505050565b6000602082840312156158e057600080fd5b8151614fb381614f88565b600082516158fd81846020870161539f565b919091019291505056fea2646970667358221220109eb4b53cd461f51ba54c31cc02e2a5f039fad52bcf51fd5c82ea3c35c6bea764736f6c634300080a00330346fd05e14a4cdf3d90bd665d3f923193fcd4101f16a99672d456d88926967c9803d8246348eadc7995e98f5f5c0604d9b1461c2699ef6759f33d9e0d262b5a78f903b6e8da7c4d7806715c9a1b678319b23d0c7461e4c06c8e9e40bbc6a47cf5e8e903f7609f5c8ce76f36c0df7a1723c71e7784b128fae010e84e22608265f2b71565031ef8b1ca90ee4ab65f11bf0fd44d255b5b776fa79330817db594d562f31b8cf40303546efe1157acdf2dd404c19275629ace945c7cf730f73b0323ac2d59a07634038e3dbab732be57606960d2b8b4e999337a6e8f5307208957c462096e168da400030eaa5c5977de95cda848cd4eee266f6220b43e88e6d15d7645590d1440fa4de603c6dc1881181252187de644273d93149e6cf329d650ae8fb027c9508203da43e303ed52536ed2cb6a63fb463e6e23c9d4b93988ff7f32d4dcc2b91c4892260bea2e0357e558b71d223e4ade910af60924a3308d6f257ae99b93f80ecafd42d3b6dd010368d453639b4583d2dc0be17d6380403cf80502bce7e46e27fa481828a0d6c453005820035b0a8bc80d77103254c34978422deeb44c74c34a09343c680e437ba95e014054d2db77b2382a8455da5c856f090ff9d4e18400c8037a10f12a226ad1576e2b5a0e32d29f12430837548ea62131f41a76a9563211c700582003db687b151a6e5ebc955c75377de6992cb5855e946a346b92d1f2c66ce9c7d045e8d4a510000349a47677e5defeccc33bd9fc5ce07eb93960f15af2d27ddd61b87c21bbfc191900582003847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720446689415b00582003b281b83c365777340b64d95e568610a4c612e509da42e9e16c5f9434105680540100546f2cd4c9d97f798ffc9755e47865ff7ee603498d485c116a5e04dc0ba142f9599b0a9d37a47ae8a9f121977c40e2c5ae28fe03e38406dd9b634ca945d333ffd6d37050a60b19ab016d5bb1cac83f9f0897526f00582003230817e3b67dbaf479d996c9f2ee84cfa6ee9837fb8300eb32846d2e42248042145103da4bc3737abe6ddf82288f707b42cdc46d1fc04a88e6ee922fe09148d1fcd82903379dd5ab3e8131bcc66d61d2edf82457888ae004a6749ed75f90a0a8c39b197f039f31f5922cbf6b6d1170cce7539bd2483771307210bdbc2980a7cc24056f73840219f9fa032e44f69095a84f8d397c5ad44089d83ed1a9ac7a747688ff81877b83ddb9acab03c43fa9618ede3fb7b82d7036f57baddd5e3dd86ece9360d9d101c218461ad803033e03d6467ff7abf3d44faa54d716ba39c0e5ceb12012e2d7effc05b4f199ac9603aea443fe401ba9b40389781e21fd2ac1cf217768462ebf6bb78b11f88dfb159f0219ffff0333bdd1ebab6599719668ce8ea749fd787eb7d4c3d883ac9ae0f74464eb02e1af035dc35a585a1657d811be647c4a58305ccb8e1a0718ccc54e4dc31fec229edaf600582003eee9125402cfe8ad0bc093c00647e0282b61ed961b79d96bf8ec631acd2fb046ff0a1afed40003d3c57c971842c7e01aedb1d2d25140e931017badebc85a9f5f3d3e40abf5fd90005820034b501cce7caf3c3ae1d9678c747654c3232788916fe065259ee89a5fbc4ee045e8d4a51000032792330836aaa90d1bb4e15566bc0653cd692177347855c8231d22afe72bae1503c5265fcbb82b6256c7fc08d9362126f2745f6ae26ef5afb1e127b748b961f11703f539f84080b955c4a6e108b7b5ef55bf0a6ff2c3bd838dbeb43d2a675674519003b582d4547d904d323034d2bfe7d4cdf83e5893f0770256c6938b5b0c30e22e910351e273b7a08c7bd385967d64df4d31fd453e16f8ee72e66bca3bb7e0494c4f68005820033f960711f49626030aae30a1d183b0800ea4adb7e03384426eddb9e753ebf05432dde7db38d91300ea1995c195face6894e000da032998492b113f5ecd83310434ef2b187c0d59cea8108411c5f0bb06f3b9b977bb031883affeada96b2f536dd5aa40884d32cb80616e0e60406edac6892dcfa0bdce035149f20e96614a4032bd9b2a6273024e60631188a71e71a41894804ea77f07c2038ebf1bff310996182b7703a0a8a8403170089e8456bf70d097957d72b3c62ea10368dc1ae8b23192929990ae46837997d83778b0f5968eab52d47c6dd31070987201410b00581f02c21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c684cd02bcb9a0a9519bd191774e50219120003d378ecd6e3d26fb7a6b7c0f15cdd74232150bf8d73969117ce7e972d510629060219feff03c284dfd4c3dc699670e09875bd9ee8a76a3240ee368bfee2590c7a06981fb5e4030859b31da1e5cc7b0fc204a2047d0ab192f46963b60bad67c760baf28b37587f03a5ca6708227016ee6ee83258aceaa584c0ae9e60c2644815f9dfb5dad049f30803028414a73bd76febf6ceac793f789197c7bd396cd22349d64bb7f32845ac577c03755544d6948275c3b618668c8a3335eb6b7e7f74b1ec779f4e637b39970de4da03cb07aabd3a01fcc581bdb8dd769301d368d0402a0d53b9237c723fcc1778d5fe0319790e07ac0526cff2eacf0b2d73bb40db55275e0bd73fb4c0c866ff41714d15039c6fa7f5245d3979c78da4548888e0d64ad52332ccf2280219fa4de81293ab34035bd21105426d43d52ee53026d7675d5b29f174415a2c718e726d74c1e3d2de8603b3dc297dffb0762ca10dfcd8163e838b666e09f9c75bb07fe5f7ecf91d8d6c8903b19d0b66cb1ab8fc88bbcffcaa79247f5498de34c47fe4e22fb635210789a08503c024cdc3945ba09ffb08214b6987c7616be49e341287aa4cba51ab3cbfbcf01303631e5d4037830a33275ddb2108bf334a932b62c0de009697fa0e2b74cc569e1503bb0faf97f813abab55eea67c5fa0b327f2e07822c4df66c1726c2b73e868b7b20219ffff03a04b680a37c138942adb55a37def68bd632552d9a4c074e4c236d58d0371fbf3039c1354f7f9012a53ce969c066fb7cb39aceb153add72e15c1bb89ee984f6cd87036f43af7d9b3d075eedc6c74f0d26ee2c18c284ad65165b3fa91578a1605292a403a004aeafa1c3728549f239a811cad3b20963c69b65a14820961ed099d15d3e88038aeeae8d7230b9e77149fd02278b1c5d0477d6d4c339f63e3e1847531070ad55038f3bab461929217ac00a21c8793989965d467b57b87b921413a490ff67e384a90354cd4f6745090bf68a1cf6569eb631217e8a6cfefe37c5d8a98c1bbc5d9f61f50354e105bbb50abcca54474349d835389502600741a841ebde19d0d622bce5a87603ff00e0ae8eecd82cc4b4f7fca2a3fa269efd6de23519117d6b66cfd3704273520301d344347fe815fa3f7818f0ae0654c40a449ca3c3efd66cc07c10c527135ebf039789f87ce3bcdfbe62f77ec2fa64ab2b4099b9b5a4912c2e72050b40d931057e03b8beb2fff72c8a025cdd97edcde5a9f38d6ce18a62321be2ca468433e11da4bc03ba9f84d6fa25e4af8a2fa93aef5fc34adf885de9641f28cfc5a21fa83d81bc63032d78efd1b0f95b7dd71a8c1a03aed156644152af4e39db72e5e1dd40f055508803c6dcd26bfe363a567770f0643dfc609fb908869012e03c0607168c351a8025a8030f40193b084f0e80570d35f4a88412e9d713dda471500246ba10105b2c23978400582003b0588b7aa6c4f7f671ba8d7b01080a4826c760e395ecdce54a1eb81191f8c04103005820038aad78f8335f8deb58c86dda9c34f7e0d2ad7bf2408dd3874e8cb02a4cb100411b00582003888396614de493ce2e3b6d1a0a694a3d8598a83b2abc75a8b84a09235865d041130369cf9aa438a086705c9c2e5fc12480566d639204a5cf679410992b4df035f9ce00582003020bf32cfe629f451648b7ef368c84c8fa870ca6353eeb3f95d7a7071d548041030389c9de4f3a37b7d9d3780e6662c29e3d696b2b847919442bcb681a0752079da6005820032ba914a346e27faff082d51a98435cf9e2309abdef9f19928ab78b7f6acfe0422b8600581f02ed0bd66bfd007d8337cdc365f664094ee1e783a26a757b82023f48473395410600581f02588ca82e7bdc1371f6aff773c37de8672e1f9da6ec29d750190c2c62ec84410d00581f023301a768b55d6a8d95978bb91637c0d8916469a562e8f6258235d0bea44354c7bfd896cc6a8bf1d09486dd08f590691b20c2ff02191804005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5042079e033300c6cf28310c2837b98ee220147cb24b13fc2cb2f2af4dd52c378b79c26efd03f1337976a6204e45b381901e2796841e81673a2f292772f7b6cba99549bff2b8005820030174a05b56bf6b4839b9f8e14a0898362915c456e44ee8c5cac130c1d5a57045e8d4a510000219bed703cdd9ceb3e331cb29e8628be42dd3f5722bbdbf1c42e6165a20f7d10f830e50ca03e1dfd0519ce3b906d0169223296e5f65020a00c448b758ba83e2a5ad03c5155303608d7342a26b0edb713c89f2afa4011dd850315aa2b521d65638cbade857f7960319858ca4caf58a73c1df1227b234f529cff1fafc8caffcf8248f4dbddd9ae8e203f7f2a34d342ca6a9342f8d93b6b1632c07efa8f4df0481c89bf9b036c62c63cd03d03e312db7f867f0e4a8358e10f8d77697e458e487dfb43f05fd3053158247ef0325096ae7c0672d2fc35ff832532896388fb8e5afc2cdd550cac3d31de8cf255e0349f1feb66cde36fc43a42ff20bf09ccb3d84e3615b4135dcee7f15fcd4d7c5e80219ffff03e3322f7ecd9ab3714d2fa8abce5ad73b902890147a9795d39113f5c2970637f1039b798e81c7e54d782940fc521123ce06dfe505e176644ff9790d2c94b0010e1403ee3dd09e700c4688c1e3dfa33219d32594995e50a24918006e42a8cdd5ca686403ba1fd56ab2d5f8ff6bd552c3b5de21ab6e427a665a578bb834e99201bacbce8503ea95c885855d0b60dcd551c75d9202b1d2acefad889eac98e699d32da8405a63034bb940bcb0b0bc039de800d2fb26ae6029d986a3317515f9e24b11e05308a47203f31f42d62219e50493d7fccae252910ecd03e52ed89733bcde08b0eb2cc59670037d0d98834238018b742b53f09b13aa493eb6b82a79abb1af722f4f867f726a1303db8a199d2ca554069907f092186375a9dd26b36b49d488da32a6739b02710ebe03637a967c0f8fc3931cddcb55861d7cccc23c8cde8b22e90a3c3bb9ab5482cf1c03498d2f8f7f18b0bd2ca3d706f6be7f02c9b3dd5d258aff9e3e656da6b59dc8d603f98c6d5cd84bdec4dca8e89f1a446ce03ee26f3490f12a6ad5335a7e942fec11036527c60be96eac5b2d3cd543516d173615600ed4fe556823defd87bfb51b461a00581f02309eba91253f30e01647fb057b7bb1dcf2b32aef1147032c446f13701f07410f00581f02487425fe5f7eb648b4bd7a7bc8b6de6ee431b81ecc6419d84a4f210f34c3572aab747984c1010000000000000000002aab747984c10100581f021884ec1625d8c40cddf8bd2c17f3db25a6ce3874241ceb6ad099e6b1e620411902190882005820032dce45f70015ea197d987143d9fc1a26d910e8bb50d664cbdd76e5f5edaae045e8d4a510000339f5842c5b4a76df939a6eb9b6f7bf0009a9e9476434d100167368eb989e34a200582003591fa8e536d1ded48e86e815616b9064d240a0f985a7a1d59623f4ab7ce4704108034b6fb11793ea045e795cbbf87ee1fe835c7194d299f8a04f1cc8772123d0625d00582003d30d2b4651f30da5f3783111a79c02f2c51fe69a39a026054065bd6fed8030422227031aa2730fd0a2acb23c07faa1a586681dcb8e7f8e1fcc50e3fcb53076b5aa751e00582003a9ea101fb14a9bd96e9689b0cd761b4fb1526bf531c32dddb549a21cd6ad004103005820031b447321c4c814d189945f102af7106dfbc9983b0e1bae3ae912046428bda045e8d4a5100003dfffb81a0858640013ef2c93d1dd38fe60595355245ba90aaaf178cc2969cdaa03b1977f54e46829a4c1b93dda33569f7f8d73a107581afe0d96a3a00a3737bd6103bbdac41c9dd93436a323a4f175ff9705d6b5faae2ea515297e49aab5180b1e74033451bf3e67a920c49054e0d8775a18829061230e030c12f0a836cb1babf6bd2c0141050219ff7d03ad55e0d482c08af78596defe81b930c95030306307a7a704abc4a57bfd517a6403ed1b3b3597c82621e55f524da7b3e1d239bfc438eb00912adbcc2154340c484d0376ee5e3d32a19563a71bf15ffa0d376aeeb4c06f8c30ffd5ed39c47040ba838c0219ffff035a2d3498368b3fa3cc7cbacc03ae4af2ba5693a6f4c614c808ac92ebe5659c920219ffff05581e03ae72b31ee21e17f6d94eac678cacfb67eee8d3d2b37f52045a6a5d7680070119593d0365e943f54baa846954240db7e85dff0c97eb31c189c81e0fca101b940c632a6f036b5f6bb51197eac181c09185fd98949e73fe29ac9e8f8e1443b041d443ba7b2305581e03d2783dd920b58fb17b9269323db5ac9c39e33ed938fd1aa6ca9841c1f00c124902839436170f93bfc005581e0388878e9e5c04fa84c598409fa9bf510f2d763763911e8762ce3d5cb950040205581e03c1e57a89e64bf808faa29916d63608cff9342b182d3bb2969071f07a00084704aecbbe3b640005581e03f0e2ec3cf8f3924ca7d927b686b21e7cd290a9a38ec18e77fa647065900c03464ddaf3ccc7320379f3aac2ae04465b0f36b2e9c2d22fb10191dbd15fa116a598f45ac04d350a640219c76b0219ffff030760f5638dfc5739aa204e0ed2df8eccba0e0a696ef5bcda3b36f109daf522810399d726a1e1cb68746e182c39112172999364c627b63bfc33fa718b1b971ba285036107630fbc889ca375bce05c49680e6e97538b4146d90fa3086eb7c4357e18b00303aaaa7f739706c82f000b619b1c4307c9fc4db7c93bc83d3f8eab49f0f33bf4034b13cf32bea69d186498b550721147d25da0574656c9e73d34e0bec510f1d63c0348a635328976d98a8692cdef6b74b5aac8ea334863b94a19f0612b4f39f4bdd50219ffff03e47412b9aaa851f9616eb856e8834e926886a1bad45be9b55d15eee1e7e0488203b8d9aa01e69ba1bb30bbb789b0544c29a2ffcb31aed232a2cd5133e9e16dab9c03a0c4270719a42e98891e90ca0bbebb0f0780e969c6e43acc6aa59707c924d3420315513d22cc67b30777a6ba27e61a2d823d5577d5c235766cb467715b34f812250398490bce1879d4d6a181db58d6a8a932dd20c3f67e8ca902e40275e476f4c4c8035aeb21e17a8a1ce3300eb886ae899f422a504f91786de699f93cfe8c352385ef03d7ffb43f97c059414ed07d5b44960065da965ca48328fc72a07c3154a1aab1eb0219ffff03748342ff4757ea3134e808d3629504919529503f0c51e5451f99853141822b60032dce451c05e631c99cbd5f9bcaebcc930e7ea9a4065296947098da1b4b5f557f0381a511135ca0283197f226d443475454bbfb927bf19b60cfdfcdc8658f45161e0359b07bf0ea4ea4b351b69b99a186bbd7dec313b10b640a0ffdddc7392c67f1fd0300e9cd65f8378c364b5ca1b87666cca4618176df2c575739e0280eeb80b4ed2503a2f03990921015df04f0e428d217895989336ca7a329cbcdca7b406dc01a16db03ca899ba72b06295798f81484c90a6a3ef3fe0d8e8570d5bacf4b9baebd5ffeb40382d692a191fed6db75325ba9d174375724e0916917287009cafc79e996756c6203023ab79bcdecd4ffc0fe3d1b78bd03cd3554c6c4a8ece1eb34e4fd0b7ff62eea034e38b193e931e9ba2dd1c991b662be008fdc996ace1f7af7c88565f01e9a6f7f03d33c466de5fa5d520ebe3862896d9b5c709c0882ea6f69ab1cb0c1ebe8fa47d0031a995416b3036c5722ac1fe7433d881ee97d86112cdfeb728d636c0c4222665503fdc322a5d1511a40c2c2998bee129e15bd84ac023da50bba2c979378a4e0351903389422a49f29cf066cb7824b73d7e989bb1ceff5a9122e7851b78cbee60c93ab0219ffff0219ffff03e81291ad26a187290a565031e6bcfa59d9995156660352d6905b14f2f6e122b60320c041116ffe33de04d97afa3656f85807f4d382dc4bd646b2b341ad106e90be03e5fcd03ba72bb57d36514ce57753a384a850644eac2c10acf95fc70bfce9723303a51806459b155f678656543cfc3038c6efa867b54e41f4ae30c96929b4f247e3032b154bd93ae10fe2520655c1bed0c598ba82307b24414875a83465c9de4baf560374ddf23d56064686f31349ab5c49b81e2945f93b6f3822fe2f56c052c1fdd22703a1fa25cb2d87ef29cfbdeb899c411655049484f1b7a0a457e78569ed57e1d35d03f6f7c1b131084cab7a4436fa4d2083f33450cac4f020572a9e899854e0066316034e7c92a76778977b058db8e626bd7a18591a30b14580fc6356f3097be3dfa03a03b226ae18ccf1e6b17ebe5fcbc2ea66dfd8d20e7f33949ff78ebd48c1c6b81ebe05581e03e0833c9a6bd4a1ac36850a62c4012cbef8724d84c342728bf310af1940040205581e039a53016fc11537f8108d40fd5eb305730b973676d0d45f0c4f88808500040405581e036001c4889dc3e713ed02fcc9cab9bbad7863bb27a1e8b1b552c0bd72700c0147b7670a652ba4fd05581e03991b2266ac19ee8b051d14c0c8e0f91d76fcd27c0df828f049fc1cb2a00c01472386f26fc1000005581e0378d5e9830ea47e747f30be44763ba320d49e7c20239f744c8ca34f82100c024602bd84cb720005581e03e3808e141b997a17bdb8c8738359774c81d8aa7f0488119e050e7c6ce00c054689bf9914400005581e032990ee508758f7651acaa0542fc1b4bb243de1a2235b543c6448c14f900c0142290405581e03b069641cdca6c6b812ae10276664878871b3bf049eb89c676eb57d2900040105581d027d22d561610232c90d3eba1949f0af76037757b493b8dd42ed6f0ee80401045957d46080604052600436106102f65760003560e01c80637e54f0921161018f578063bf15fcd8116100e1578063d365c6951161008a578063f2fde38b11610064578063f2fde38b14610859578063f78dc25314610879578063fa461e331461088c57600080fd5b8063d365c69514610813578063e449022e14610833578063e5d7bde61461084657600080fd5b8063c805a666116100bb578063c805a66614610799578063ca4ece22146107b9578063cf6fc6e3146107d957600080fd5b8063bf15fcd814610744578063bfa7514314610764578063c53a02921461078457600080fd5b8063942461bb11610143578063bc80f1a81161011d578063bc80f1a8146106f1578063bd61951d14610704578063bddccd351461072457600080fd5b8063942461bb146106915780639570eeee146106be578063bc1ed74c146106d157600080fd5b806383197ef01161017457806383197ef01461064157806384bd6d29146106565780638da5cb5b1461066957600080fd5b80637e54f092146105f4578063825caba11461062157600080fd5b80635a0998431161024857806370ae92d2116101fc57806372c244a8116101d657806372c244a81461059457806374261145146105b457806378e3214f146105d457600080fd5b806370ae92d21461053257806370ccbd311461055f578063715018a61461057f57600080fd5b806363592c2b1161022d57806363592c2b146104d25780636c838250146104f25780636fe7b0ba1461051257600080fd5b80635a099843146104ac57806362e238bb146104bf57600080fd5b80632d9a56f6116102aa5780633eca9c0a116102845780633eca9c0a1461041b5780634f38e2b81461044957806356f161241461046957600080fd5b80632d9a56f6146103bb57806337e7316f146103db5780633c15fd91146103fb57600080fd5b806312aa3caf116102db57806312aa3caf146103435780632521b9301461036b5780632cc2878d1461038b57600080fd5b80630502b1c51461030a578063093d4fa51461033057600080fd5b36610305576103036108ac565b005b600080fd5b61031d61031836600461483f565b6108b6565b6040519081526020015b60405180910390f35b61031d61033e3660046148a9565b6108d0565b610356610351366004614975565b610d16565b60408051928352602083019190915201610327565b34801561037757600080fd5b5061031d610386366004614a17565b610fd1565b34801561039757600080fd5b506103ab6103a6366004614abf565b611001565b6040519015158152602001610327565b3480156103c757600080fd5b506103566103d6366004614af1565b61104b565b3480156103e757600080fd5b5061031d6103f6366004614af1565b61114a565b34801561040757600080fd5b5061031d610416366004614a17565b611164565b61042e610429366004614c15565b611188565b60408051938452602084019290925290820152606001610327565b34801561045557600080fd5b506103ab610464366004614c72565b6111aa565b34801561047557600080fd5b5061031d610484366004614cbe565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61042e6104ba366004614cea565b6111d5565b61042e6104cd366004614d60565b61132b565b3480156104de57600080fd5b506103ab6104ed366004614abf565b421090565b3480156104fe57600080fd5b506103ab61050d366004614af1565b611355565b34801561051e57600080fd5b506103ab61052d366004614c72565b611384565b34801561053e57600080fd5b5061031d61054d366004614e0c565b60016020526000908152604090205481565b34801561056b57600080fd5b5061042e61057a366004614e29565b6113aa565b34801561058b57600080fd5b506103036113f1565b3480156105a057600080fd5b506103036105af366004614ecd565b611403565b3480156105c057600080fd5b506103ab6105cf366004614c72565b6114b2565b3480156105e057600080fd5b506103036105ef366004614cbe565b611524565b34801561060057600080fd5b5061031d61060f366004614abf565b60009081526002602052604090205490565b34801561062d57600080fd5b5061030361063c366004614abf565b611544565b34801561064d57600080fd5b50610303611553565b61031d610664366004614ef0565b61155e565b34801561067557600080fd5b506000546040516001600160a01b039091168152602001610327565b34801561069d57600080fd5b506106b16106ac366004614f67565b611571565b6040516103279190615001565b61042e6106cc366004615045565b61162a565b3480156106dd57600080fd5b5061031d6106ec366004614abf565b611767565b61031d6106ff36600461483f565b6117b7565b34801561071057600080fd5b5061030361071f366004615082565b6117c6565b34801561073057600080fd5b5061030361073f3660046150be565b611867565b34801561075057600080fd5b5061031d61075f366004615082565b611872565b34801561077057600080fd5b506103ab61077f366004614c72565b6118bd565b34801561079057600080fd5b50610303611930565b3480156107a557600080fd5b5061031d6107b43660046150e0565b61193a565b3480156107c557600080fd5b506103ab6107d4366004614c72565b611971565b3480156107e557600080fd5b506103ab6107f4366004614cbe565b6001600160a01b03919091166000908152600160205260409020541490565b34801561081f57600080fd5b5061042e61082e3660046151a4565b611998565b61031d610841366004615295565b611a2c565b61042e6108543660046152e8565b611a3b565b34801561086557600080fd5b50610303610874366004614e0c565b6124cb565b61031d6108873660046153ac565b612558565b34801561089857600080fd5b506103036108a7366004615416565b612573565b6108b4612785565b565b60006108c63387878787876127be565b9695505050505050565b60006001600160a01b0388161580156109085786341461090357604051631841b4e160e01b815260040160405180910390fd5b610a24565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316896001600160a01b0316036109f057506001341561096357604051631841b4e160e01b815260040160405180910390fd5b6040516323b872dd60e01b808252336004830152306024830152604482018990527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc291632e1a7d4d60e01b9060008060648382885af16109c6573d6000823e3d81fd5b8181528a60048201526000806024836000885af16109e7573d6000823e3d81fd5b50505050610a24565b3415610a0f57604051631841b4e160e01b815260040160405180910390fd5b610a246001600160a01b038a16338d8a612b30565b8015610ab85760008b905060006327a9b42460e01b90506040518181528a60048201528960248201528860448201528760648201528c60848201528560ff1c601b0160a48201528660c48201526001600160ff1b03861660e482015261012061010482015264a62929c86960d31b610143820152600080610149838d875af1610ab0573d6000823e3d81fd5b505050610d07565b6001600160a01b0388161580610aff57507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316886001600160a01b0316145b15610c75576040517f4cb6864c00000000000000000000000000000000000000000000000000000000808252600482018b90526024820189905260448201889052606482018790528c918a1560018114610b5e57306084830152610b65565b8d60848301525b508560ff1c601b0160a48201528660c48201526001600160ff1b03861660e482015261012061010482015264a62929c86960d31b610143820152600080610149836000875af1610bb8573d6000823e3d81fd5b507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b03168a6001600160a01b031603610c6e57604051630d0e30db60e41b8082527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29163a9059cbb60e01b906000806004838f885af1610c42573d6000823e3d81fd5b8181528f60048201528b60248201526000806044836000885af1610c69573d6000823e3d81fd5b505050505b5050610d07565b60008b90506000632b651a6c60e01b90506040518181528b60048201528a60248201528960448201528860648201528760848201528c60a48201528560ff1c601b0160c48201528660e48201526001600160ff1b03861661010482015261014061012482015264a62929c86960d31b610163820152600080610169836000875af1610d03573d6000823e3d81fd5b5050505b50939998505050505050505050565b6000808660a00135600003610d57576040517f0262dde400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610d666020890189614e0c565b90506000610d7a60408a0160208b01614e0c565b90506000610d90836001600160a01b0316612bcd565b905060c08a013560021615610dd55780610dab576000610db1565b89608001355b3411610dd057604051631841b4e160e01b815260040160405180910390fd5b610e06565b80610de1576000610de7565b89608001355b3414610e0657604051631841b4e160e01b815260040160405180910390fd5b80610e4f578715610e2557610e256001600160a01b0384168a8a612c06565b610e4f33610e3960608d0160408e01614e0c565b6001600160a01b038616919060808e0135612b30565b610e608b338c608001358a8a612cbf565b60808a01359350610e7a6001600160a01b03831630612d1f565b945084600003610eb6576040517f28ebf24700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000199094019360c08a013560011615610f4f576000610edf6001600160a01b03851630612d1f565b90506001811115610f0e5760001901610ef88186615473565b9450610f0e6001600160a01b0385163383612dca565b610f1c8560a08d0135615486565b610f2a60808d013588615486565b1015610f495760405163f32bec2f60e01b815260040160405180910390fd5b50610f74565b8960a00135851015610f745760405163f32bec2f60e01b815260040160405180910390fd5b600080610f8760808d0160608e01614e0c565b6001600160a01b031614610faa57610fa560808c0160608d01614e0c565b610fac565b335b9050610fc26001600160a01b0384168288612dca565b50505050965096945050505050565b6000610fe76001600160a01b0389168484612c06565b610ff48988888888612eaa565b9998505050505050505050565b600060d082901c60a083901c65ffffffffffff168361101f83421090565b801561104257506001600160a01b03811660009081526001602052604090205482145b95945050505050565b6000803361105f6080850160608601614e0c565b6001600160a01b03161461109f576040517f4ca8886700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6110a88361114a565b6000818152600260205260409020549250905060001982016110f6576040517f41a26a6300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518281526020810184905233917fcbfa7d191838ece7ba4783ca3a30afd316619b7f368094b57ee7ffde9a923db1910160405180910390a26000818152600260205260409020600190559092909150565b600061115e611157613131565b8390613258565b92915050565b600061117a6001600160a01b0389168484612c06565b610ff48989898989896127be565b600080600061119a87878787336111d5565b9250925092509450945094915050565b60008060006111b985856132d7565b915091508180156111c957508581115b925050505b9392505050565b60008060006112356111e5613131565b601f198a0180517f74ab4f0cde46aaf927859983f7d04002116dd057d4c4941f6dbfb775c3e31f4582526101008220915260405161190160f01b8152600281019290925260228201526042902090565b9050600160fe1b8516156112a957600160fd1b851615801590611259575060418614155b15611277576040516317c2b1f160e01b815260040160405180910390fd5b6112878860600151828989613466565b6112a4576040516317c2b1f160e01b815260040160405180910390fd5b6112d6565b6112b988606001518289896134bb565b6112d6576040516317c2b1f160e01b815260040160405180910390fd5b6112e1888686613522565b60408051848152602081018490529295509093507fc3b639f02b125bfa160e50739b8c44eb2d1b6908e2b6d5925c6d770f2ca78127910160405180910390a1955095509592505050565b60008060006113418b8b8b8b8b8b8b8b33611a3b565b925092509250985098509895505050505050565b600080600061136b61136685613b2e565b6132d7565b9150915081801561137c5750806001145b949350505050565b600080600061139385856132d7565b915091508180156111c95750909414949350505050565b60008060006113d185858c604001516001600160a01b0316612c069092919063ffffffff16565b6113de8a8a8a8a8a6111d5565b9250925092509750975097945050505050565b6113f9613b45565b6108b46000613b9f565b8060ff16600003611440576040517fbd71636d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3360009081526001602052604081205461145e9060ff84169061549d565b336000818152600160205260409081902083905551919250907ffc69110dd11eb791755e4abd6b7d281bae236de95736d38a23782814be5e10db906114a69084815260200190565b60405180910390a25050565b60008080805b63ffffffff87821c1692508215611517576000806114db61136686868a8c6154b0565b915091508180156114ec5750806001145b156114ff576001955050505050506111ce565b50839250611510905060208261549d565b90506114b8565b5060009695505050505050565b61152c613b45565b6115406001600160a01b0383163383612dca565b5050565b61155033826000613c07565b50565b61155b613b45565b33ff5b6000610ff489338a8a8a8a8a8a8a6108d0565b60606000825167ffffffffffffffff81111561158f5761158f614b26565b6040519080825280602002602001820160405280156115b8578160200160208202803683370190505b50905060005b835181101561162357600260008583815181106115dd576115dd6154da565b6020026020010151815260200190815260200160002054828281518110611606576116066154da565b60209081029190910101528061161b816154f0565b9150506115be565b5092915050565b600080600061168a61163a613131565b601f19890180517f74ab4f0cde46aaf927859983f7d04002116dd057d4c4941f6dbfb775c3e31f4582526101008220915260405161190160f01b8152600281019290925260228201526042902090565b9050600160fe1b8416156116e657600160fd1b8416156116d6576116b48760600151828888613c9b565b6116d1576040516317c2b1f160e01b815260040160405180910390fd5b611713565b6116b48760600151828888613d05565b6116f68760600151828888613d5a565b611713576040516317c2b1f160e01b815260040160405180910390fd5b61171e878533613522565b60408051848152602081018490529295509093507fc3b639f02b125bfa160e50739b8c44eb2d1b6908e2b6d5925c6d770f2ca78127910160405180910390a19450945094915050565b600081815260026020526040812054806117ad576040517fb838de9600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000190192915050565b60006108c68686868686612eaa565b600080846001600160a01b031684846040516117e3929190615509565b600060405180830381855af49150503d806000811461181e576040519150601f19603f3d011682016040523d82523d6000602084013e611823565b606091505b509150915081816040517f1934afc800000000000000000000000000000000000000000000000000000000815260040161185e929190615569565b60405180910390fd5b611540338383613c07565b6000806000611882868686613da9565b9150915081611042576040517f1f1b8f6100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008080805b63ffffffff87821c1692508215611923576000806118e661136686868a8c6154b0565b915091508115806118f8575080600114155b1561190b576000955050505050506111ce565b5083925061191c905060208261549d565b90506118c3565b5060019695505050505050565b6108b46001611403565b60006119506001600160a01b038b168484612c06565b6119618c8c8c8c8c8c8c8c8c6108d0565b9c9b505050505050505050505050565b600080600061198085856132d7565b915091508180156111c9575094909410949350505050565b6000808060148410156119d7576040517fd9e1c6dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660006119e68888613dd7565b91945092509050611a016001600160a01b0384168383612c06565b505050611a158e8e8e8e8e8e8e8e8e611a3b565b9250925092509b509b509b98505050505050505050565b60006110423386868686612eaa565b600080806001600160a01b038416611a7f576040517fb0c4d05f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a888c61114a565b6000818152600260205260409020548894508793509091508c906000198101611add576040517fecef366400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611aef60c0840160a08501614e0c565b6001600160a01b031614158015611b1e575033611b1260c0840160a08501614e0c565b6001600160a01b031614155b15611b55576040517fd4dfdafe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611c5857611b75611b6d6080840160608501614e0c565b848f8f6134bb565b611bab576040517f5cd5d23300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5060c0810135366000611bbd84613e15565b91509150600160ff1b89166000148015611bd8575060148110155b15611c51576000366000611bec8585613dd7565b91945092509050611c076001600160a01b0384168383612c06565b60008881526002602052604090205415611c4d576040517fc5f2be5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505b5050611c5d565b600019015b6000611c6883613b2e565b90501115611caf57611c7982611355565b611caf576040517fb6629c0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8415841503611ce9576040517ee2a52200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83600003611d795780851115611cfd578094505b611d1b611d0983613e23565b8460c00135888660e001358689613e31565b93506001600160ff1b038716611d318682615486565b611d3b8b87615486565b1115611d73576040517ffb8ae12900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50611e44565b611d97611d8583613e67565b8460e00135878660c001358689613e75565b945080851115611dec57809450611db0611d0983613e23565b935087841115611dec576040517f939c420400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160ff1b038716611e008582615486565b611e0a8a88615486565b1015611e42576040517f481ea39200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b841580611e4f575083155b15611e86576040517ffba5a27600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84810390508060010160026000858152602001908152602001600020819055508d6060016020810190611eb99190614e0c565b6001600160a01b03167fb9ed0243fdf00f0545c63a0af8850c090d86bb46682baec4bf3c496814fe4f028483604051611efc929190918252602082015260400190565b60405180910390a26014611f0f83613e89565b905010611fb2576000366000611f2c611f2786613e89565b613dd7565b919450925090506001600160a01b0383166396a10e3387611f536080890160608a01614e0c565b338c8c8a89896040518963ffffffff1660e01b8152600401611f7c9897969594939291906155ad565b600060405180830381600087803b158015611f9657600080fd5b505af1158015611faa573d6000803e3d6000fd5b505050505050505b611fe5611fc56040840160208501614e0c565b611fd56080850160608601614e0c565b8888611fe087613e97565b613ea5565b61201b576040517f70a03f4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60148a106120f35760003660006120328e8e613dd7565b9250925092506000836001600160a01b031663ccee33d7338b8b87876040518663ffffffff1660e01b815260040161206e959493929190615600565b6020604051808303816000875af115801561208d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b1919061562f565b905087811180156120d057506120ce6120c987613e67565b613f00565b155b80156120e557506120e36120c987613e23565b155b156120ee578097505b505050505b6001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21661212d6060840160408501614e0c565b6001600160a01b03161480156121435750600034115b15612359578334101561216957604051631841b4e160e01b815260040160405180910390fd5b833411156121df57604051600090339034879003908381818185875af1925050503d80600081146121b6576040519150601f19603f3d011682016040523d82523d6000602084013e6121bb565b606091505b50509050806121dd5760405163b12d13eb60e01b815260040160405180910390fd5b505b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561223a57600080fd5b505af115801561224e573d6000803e3d6000fd5b50506001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216925063a9059cbb91506000905061229760a0860160808701614e0c565b6001600160a01b0316146122ba576122b560a0850160808601614e0c565b6122ca565b6122ca6080850160608601614e0c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602481018790526044016020604051808303816000875af115801561232f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123539190615648565b50612411565b341561237857604051631841b4e160e01b815260040160405180910390fd5b6123db61238b6060840160408501614e0c565b33600061239e60a0870160808801614e0c565b6001600160a01b0316146123c1576123bc60a0860160808701614e0c565b6123d1565b6123d16080860160608701614e0c565b87611fe087613f75565b612411576040517f478a520500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601461241c83613f83565b9050106124ba576000366000612434611f2786613f83565b919450925090506001600160a01b038316633504ed628761245b6080890160608a01614e0c565b338c8c8a89896040518963ffffffff1660e01b81526004016124849897969594939291906155ad565b600060405180830381600087803b15801561249e57600080fd5b505af11580156124b2573d6000803e3d6000fd5b505050505050505b505099509950999650505050505050565b6124d3613b45565b6001600160a01b03811661254f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161185e565b61155081613b9f565b60006125688787878787876127be565b979650505050505050565b6125cc565b3d6000803e3d6000fd5b8061258f5761258f612578565b600160005114601f3d11163d151780611540577ff27f64e40000000000000000000000000000000000000000000000000000000060005260046000fd5b604051601581017f0dfe1681d21220a7ddca3f43a9059cbb23b872dd0000000000000000000000008252602081600484335afa61260b5761260b612578565b60208082016004808501335afa61262457612624612578565b602060408201600460088501335afa61263f5761263f612578565b600080600088136001811461265d5760208401519250879150612665565b835192508891505b507fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000084526060832083527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460208401526001600160a01b0360558520169250338318156126f6577fb2c027220000000000000000000000000000000000000000000000000000000060005260046000fd5b60843592507f0dfe1681d21220a7ddca3f43a9059cbb23b872dd00000000000000000000000084523083146001811461275757836014860152336034860152816054860152612752602060006064601089016000885af1612582565b61277a565b33601086015281603086015261277a602060006044600c89016000885af1612582565b505050505050505050565b3233036108b4576040517f1b10b0f900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006128b9565b7f0902f1ac0000000000000000000000000000000000000000000000000000000081526000604082600484875afa6127ff576127ff612578565b60603d14612831577f85cd58dc0000000000000000000000000000000000000000000000000000000060005260046000fd5b81516020830151861561284057905b8785029250633b9aca008202830181840204925050507f022c0d9f000000000000000000000000000000000000000000000000000000008252841594508415810260048301528481026024830152866044830152608060648301526000608483015260008060a4846000885af16108c6576108c6612578565b6dffffffffffffffffffffffffffff8511156128f9577fcf0b4d3a0000000000000000000000000000000000000000000000000000000060005260046000fd5b60405160c081016040528260051b84018435886000811461296957341561292b57631841b4e160e01b60005260046000fd5b6323b872dd60e01b84523360048501526001600160a01b03821660248501528860448501526129646020600060648760008f5af1612582565b6129ff565b34891461298157631841b4e160e01b60005260046000fd5b630d0e30db60e41b84526000806004868c73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16129b5576129b5612578565b63a9059cbb60e01b84526001600160a01b0382166004850152886024850152600080604486600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af16129ff576129ff612578565b50879350602086015b82811015612a50578035612a446001600160a01b03821663ffffffff60a01b851660a01c600160ff1b86166001600160a01b0387168a8a6127c5565b95509150602001612a08565b50600160fe1b81168015612adf57612a873063ffffffff60a01b841660a01c600160ff1b85166001600160a01b03861689896127c5565b9450632e1a7d4d60e01b8452846004850152600080602486600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1612ac457612ac4612578565b600080600080888f5af1612ada57612ada612578565b612b0b565b612b088b63ffffffff60a01b841660a01c600160ff1b85166001600160a01b03861689896127c5565b94505b50505050838110156108c65760405163f32bec2f60e01b815260040160405180910390fd5b60006323b872dd60e01b905060006040518281528560048201528460248201528360448201526020600060648360008b5af19150508015612b8e573d8015612b8457600160005114601f3d11169150612b8c565b6000873b1191505b505b80612bc5576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b60006001600160a01b038216158061115e57506001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1492915050565b600060e0829003612c4457612c3d847fd505accf000000000000000000000000000000000000000000000000000000008585613f91565b9050612cac565b610100829003612c7a57612c3d847f8fcbaf0c000000000000000000000000000000000000000000000000000000008585613f91565b6040517f6827585700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80612cb957612cb9613fe3565b50505050565b6040517f4b64e4920000000000000000000000000000000000000000000000000000000080825260048201869052908284602483013784836024830101526000808460440183348b5af1612d16573d6000823e3d81fd5b50505050505050565b6000612d2a83612bcd565b15612d4057506001600160a01b0381163161115e565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015612d9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dc3919061562f565b905061115e565b8015612ea557612dd983612bcd565b15612e915780471015612e18576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000826001600160a01b03168261138890604051600060405180830381858888f193505050503d8060008114612e6a576040519150601f19603f3d011682016040523d82523d6000602084013e612e6f565b606091505b5050905080612cb95760405163b12d13eb60e01b815260040160405180910390fd5b612ea56001600160a01b0384168383613fef565b505050565b600081808203612ee6576040517f67e7c0f600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8591506000198101341515600080600160fd1b888886818110612f0b57612f0b6154da565b90506020020135161190508115612fb157883414612f3c57604051631841b4e160e01b815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db08a6040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f9757600080fd5b505af1158015612fab573d6000803e3d6000fd5b50505050505b600184111561305157612feb3083612fc95733612fcb565b305b89896000818110612fde57612fde6154da565b9050602002013588614038565b945060015b838110156130265761301c30308a8a8581811061300f5761300f6154da565b9050602002013589614038565b9550600101612ff0565b5061304a81613035578a613037565b305b30898987818110612fde57612fde6154da565b945061306f565b61306c8161305f578a613061565b305b83612fc95733612fcb565b94505b878510156130905760405163f32bec2f60e01b815260040160405180910390fd5b801561312457604051632e1a7d4d60e01b8152600481018690527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156130f857600080fd5b505af115801561310c573d6000803e3d6000fd5b50613124925050506001600160a01b038b16866141d4565b5050505095945050505050565b6000306001600160a01b037f0000000000000000000000001111111254eeb25477b68fb85ed929f73a9605821614801561318a57507f000000000000000000000000000000000000000000000000000000000000000146145b156131b457507f1c0eb4c27d5b523ca136c0b3b83a4dcac8b70225b38be8507ba1a3f2af03cfca90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f5c6cbfb2848b981a8f93044b3530be1fac304ecd5042396ca8729cb8fdd718f3828401527fceebf77a833b30520287ddd9478ff51abbdffa30aa90a8d655dba0e8a79ce0c160608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000368161326a61012086018661566a565b60405191935091507f0a244ca8a150ac294c14fcff9277051ced9a5b23e966a0ff0522e989da23116c9082848237828120610140820152610120876020830137818152610160902060405161190160f01b81526002810187905260228101829052604290209094506108c6565b60008060006132e685856142ed565b60e01c905060006132f986866004614317565b9050632cc2878c19820161333057600161331282611001565b61331d576000613320565b60015b90945060ff16925061345f915050565b63bf15fcd88210156133be57636fe7b0ba82101561338257634f38e2b71982016133665760016133128261046489896064614348565b6363592c2a19820161337d57600161331282421090565b61344d565b636fe7b0b91982016133a05760016133128261052d89896064614348565b637426114419820161337d576001613312826105cf89896064614348565b63ca4ece228210156134115763bf15fcd71982016133f35760016133e88261075f89896064614348565b93509350505061345f565b63bfa7514219820161337d5760016133128261077f89896064614348565b63ca4ece2119820161342f576001613312826107d489896064614348565b63cf6fc6e219820161344d576001613312826107f489896024614317565b613458308787613da9565b9350935050505b9250929050565b600080631626ba7e60e01b905060405181815285600482015260406024820152836044820152838560648301376020600085606401838a5afa156134b15760203d1460005183141692505b5050949350505050565b60006001600160a01b0385166134d35750600061137c565b60408214806134e25750604182145b80156135095750846001600160a01b03166134fe858585614378565b6001600160a01b0316145b156135165750600161137c565b61104285858585613466565b6000806001600160a01b038316613565576040517f692e45e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606085015160808601516001600160a01b031615801590613593575060808601516001600160a01b03163314155b156135ca576040517fe8c6632100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b855167ffffffffffffffff604082901c1680158015906135e957508042115b15613620576040517fc56873ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61362c83836000613c07565b505060a086015160c08701517f0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8716600081900361366f57829550819450613715565b600160ff1b8816156136ca57828111156136b5576040517faa34b69600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8095506136c383838861442d565b9450613715565b81811115613704576040517f7f902a9300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80945061371283838761445b565b95505b5050508260001480613725575081155b1561375c576040517f07b6e79f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031686602001516001600160a01b03161480156137c257507f1000000000000000000000000000000000000000000000000000000000000000851615155b1561395a576040516323b872dd60e01b81526001600160a01b038281166004830152306024830152604482018590527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216906323b872dd906064016020604051808303816000875af115801561383c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138609190615648565b50604051632e1a7d4d60e01b8152600481018490527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031690632e1a7d4d90602401600060405180830381600087803b1580156138c357600080fd5b505af11580156138d7573d6000803e3d6000fd5b505050506000846001600160a01b03168461138890604051600060405180830381858888f193505050503d806000811461392d576040519150601f19603f3d011682016040523d82523d6000602084013e613932565b606091505b50509050806139545760405163b12d13eb60e01b815260040160405180910390fd5b50613974565b6020860151613974906001600160a01b0316828686612b30565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031686604001516001600160a01b03161480156139b95750600034115b15613aec578134146139de57604051631841b4e160e01b815260040160405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0836040518263ffffffff1660e01b81526004016000604051808303818588803b158015613a3957600080fd5b505af1158015613a4d573d6000803e3d6000fd5b505060405163a9059cbb60e01b81526001600160a01b038581166004830152602482018790527f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216935063a9059cbb925060440190506020604051808303816000875af1158015613ac2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613ae69190615648565b50613b25565b3415613b0b57604051631841b4e160e01b815260040160405180910390fd5b6040860151613b25906001600160a01b0316338385612b30565b50935093915050565b366000613b3c836004614468565b91509150915091565b6000546001600160a01b031633146108b45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161185e565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316600090815260036020908152604080832066ffffffffffffff600887901c16808552928190529220549091600160ff86161b841791808316839003613c82576040517ff71fbda200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000938452602091909152604090922091179055505050565b600080631626ba7e60e01b905060405181815285600482015260406024820152604160448201528460648201526001600160ff1b03841660848201528360ff1c601b0160a48201536020600060a5838a5afa156134b15750600051143d6020141695945050505050565b600080631626ba7e60e01b905060405181815285600482015260406024820152604060448201528460648201528360848201526020600060a4838a5afa156134b15750600051143d6020141695945050505050565b60006001600160a01b038516613d725750600061137c565b846001600160a01b0316613d878585856144c3565b6001600160a01b031603613d9d5750600161137c565b61104285858585613d05565b60008060405183858237602060008583895afa3d602014169250508115613dcf57506000515b935093915050565b600036816014841015613dfd5760405163779ab6bd60e11b815260040160405180910390fd5b505050813560601c9260149092019160131990910190565b366000613b3c836005614468565b366000613b3c836003614468565b6000868103613e4c57613e4586858761442d565b9050612568565b613e5b88888888888888614532565b98975050505050505050565b366000613b3c836002614468565b6000868103613e4c57613e4584878761445b565b366000613b3c836006614468565b366000613b3c836000614468565b6040516323b872dd60e01b8082526004820187905260248201869052604482018590526000918385606483013760206000856064018360008d5af19050600160005114601f3d11163d15178116925050509695505050505050565b60006001821480156111ce575082826000818110613f2057613f206154da565b9050013560f81c60f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f7800000000000000000000000000000000000000000000000000000000000000149392505050565b366000613b3c836001614468565b366000613b3c836007614468565b6000816004016040518581528385600483013760206000838360008b5af192505050801561137c573d8015613fd257600160005114601f3d11169150613fda565b6000863b1191505b50949350505050565b6040513d6000823e3d81fd5b6140028363a9059cbb60e01b84846146be565b612ea5576040517ffb7f507900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000600160ff1b831615801561410e576000846001600160a01b031663128acb08888461406488614700565b604080516001600160a01b038d1660208201526401000276a491016040516020818303038152906040526040518663ffffffff1660e01b81526004016140ae9594939291906156b1565b60408051808303816000875af11580156140cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f091906156eb565b915050614105816141009061570f565b614783565b9250505061137c565b6000846001600160a01b031663128acb08888461412a88614700565b604080516001600160a01b038d16602082015273fffd8963efd1fc6a506488495d951d5263988d2591016040516020818303038152906040526040518663ffffffff1660e01b81526004016141839594939291906156b1565b60408051808303816000875af11580156141a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141c591906156eb565b5090506141056141008261570f565b804710156142245760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e6365000000604482015260640161185e565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114614271576040519150601f19603f3d011682016040523d82523d6000602084013e614276565b606091505b5050905080612ea55760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d61792068617665207265766572746564000000000000606482015260840161185e565b600060048210156143115760405163779ab6bd60e11b815260040160405180910390fd5b50503590565b60006020820183101561433d5760405163779ab6bd60e11b815260040160405180910390fd5b509190910135919050565b3660008284101561436c5760405163779ab6bd60e11b815260040160405180910390fd5b50509182019291900390565b6000604051826041811461439757604081146143b157600091506143d9565b604085013560001a602083015260408560408401376143d9565b60208501358060ff1c601b01602084015260208660408501376001600160ff1b031660608301525b508015614425577f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a16060820151101561442557848152600080526020600060808360015afa5060005191505b509392505050565b60008360018161443d8686615486565b614447919061549d565b6144519190615473565b61137c919061572b565b6000826144518584615486565b3660008060058460078111156144805761448061574d565b901b905061449261012086018661566a565b6144b79161010088013580851c63ffffffff9081169360209290921b861c16916154b0565b92509250509250929050565b60006001600160ff1b0382167f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1811015614425576040518581528360ff1c601b016020820152846040820152816060820152600080526020600060808360015afa505060005195945050505050565b600060018790036145be576145478888613f00565b1561458c57858514614585576040517f49986e7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5082612568565b6040517fbec74c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660006145cd8b8b613dd7565b925092509250600080846001600160a01b031684848c8b8b6040516020016145f9959493929190615763565b60408051601f198184030181529082905261461391615782565b600060405180830381855afa9150503d806000811461464e576040519150601f19603f3d011682016040523d82523d6000602084013e614653565b606091505b509150915081158061466757508051602014155b1561469e576040517f110b8e7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808060200190518101906146b2919061562f565b95505050505050612568565b60006040518481528360048201528260248201526020600060448360008a5af1915050801561137c573d8015613fd257600160005114601f3d11169150613fda565b60006001600160ff1b0382111561477f5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e74323536000000000000000000000000000000000000000000000000606482015260840161185e565b5090565b60008082121561477f5760405162461bcd60e51b815260206004820181905260248201527f53616665436173743a2076616c7565206d75737420626520706f736974697665604482015260640161185e565b6001600160a01b038116811461155057600080fd5b80356147f5816147d5565b919050565b60008083601f84011261480c57600080fd5b50813567ffffffffffffffff81111561482457600080fd5b6020830191508360208260051b850101111561345f57600080fd5b60008060008060006080868803121561485757600080fd5b8535614862816147d5565b94506020860135935060408601359250606086013567ffffffffffffffff81111561488c57600080fd5b614898888289016147fa565b969995985093965092949392505050565b60008060008060008060008060006101208a8c0312156148c857600080fd5b89356148d3816147d5565b985060208a01356148e3816147d5565b975060408a01356148f3816147d5565b965060608a0135614903816147d5565b989b979a50959860808101359760a0820135975060c0820135965060e08201359550610100909101359350915050565b60008083601f84011261494557600080fd5b50813567ffffffffffffffff81111561495d57600080fd5b60208301915083602082850101111561345f57600080fd5b60008060008060008086880361014081121561499057600080fd5b873561499b816147d5565b965060e0601f19820112156149af57600080fd5b5060208701945061010087013567ffffffffffffffff808211156149d257600080fd5b6149de8a838b01614933565b90965094506101208901359150808211156149f857600080fd5b50614a0589828a01614933565b979a9699509497509295939492505050565b60008060008060008060008060c0898b031215614a3357600080fd5b8835614a3e816147d5565b97506020890135614a4e816147d5565b96506040890135955060608901359450608089013567ffffffffffffffff80821115614a7957600080fd5b614a858c838d016147fa565b909650945060a08b0135915080821115614a9e57600080fd5b50614aab8b828c01614933565b999c989b5096995094979396929594505050565b600060208284031215614ad157600080fd5b5035919050565b60006101408284031215614aeb57600080fd5b50919050565b600060208284031215614b0357600080fd5b813567ffffffffffffffff811115614b1a57600080fd5b61137c84828501614ad8565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614b6557614b65614b26565b604052919050565b600060e08284031215614b7f57600080fd5b60405160e0810181811067ffffffffffffffff82111715614ba257614ba2614b26565b604052823581529050806020830135614bba816147d5565b60208201526040830135614bcd816147d5565b60408201526060830135614be0816147d5565b60608201526080830135614bf3816147d5565b8060808301525060a083013560a082015260c083013560c08201525092915050565b6000806000806101208587031215614c2c57600080fd5b614c368686614b6d565b935060e085013567ffffffffffffffff811115614c5257600080fd5b614c5e87828801614933565b959890975094956101000135949350505050565b600080600060408486031215614c8757600080fd5b83359250602084013567ffffffffffffffff811115614ca557600080fd5b614cb186828701614933565b9497909650939450505050565b60008060408385031215614cd157600080fd5b8235614cdc816147d5565b946020939093013593505050565b60008060008060006101408688031215614d0357600080fd5b614d0d8787614b6d565b945060e086013567ffffffffffffffff811115614d2957600080fd5b614d3588828901614933565b9095509350506101008601359150610120860135614d52816147d5565b809150509295509295909350565b60008060008060008060008060c0898b031215614d7c57600080fd5b883567ffffffffffffffff80821115614d9457600080fd5b614da08c838d01614ad8565b995060208b0135915080821115614db657600080fd5b614dc28c838d01614933565b909950975060408b0135915080821115614ddb57600080fd5b50614de88b828c01614933565b999c989b5096999698976060880135976080810135975060a0013595509350505050565b600060208284031215614e1e57600080fd5b81356111ce816147d5565b6000806000806000806000610160888a031215614e4557600080fd5b614e4f8989614b6d565b965060e088013567ffffffffffffffff80821115614e6c57600080fd5b614e788b838c01614933565b90985096506101008a013595506101208a01359150614e96826147d5565b9093506101408901359080821115614ead57600080fd5b50614eba8a828b01614933565b989b979a50959850939692959293505050565b600060208284031215614edf57600080fd5b813560ff811681146111ce57600080fd5b600080600080600080600080610100898b031215614f0d57600080fd5b8835614f18816147d5565b97506020890135614f28816147d5565b96506040890135614f38816147d5565b979a96995096976060810135975060808101359660a0820135965060c0820135955060e0909101359350915050565b60006020808385031215614f7a57600080fd5b823567ffffffffffffffff80821115614f9257600080fd5b818501915085601f830112614fa657600080fd5b813581811115614fb857614fb8614b26565b8060051b9150614fc9848301614b3c565b8181529183018401918481019088841115614fe357600080fd5b938501935b83851015613e5b57843582529385019390850190614fe8565b6020808252825182820181905260009190848201906040850190845b818110156150395783518352928401929184019160010161501d565b50909695505050505050565b600080600080610140858703121561505c57600080fd5b6150668686614b6d565b9660e08601359650610100860135956101200135945092505050565b60008060006040848603121561509757600080fd5b83356150a2816147d5565b9250602084013567ffffffffffffffff811115614ca557600080fd5b600080604083850312156150d157600080fd5b50508035926020909101359150565b60008060008060008060008060008060006101408c8e03121561510257600080fd5b8b3561510d816147d5565b9a5060208c013561511d816147d5565b995060408c013561512d816147d5565b985060608c013561513d816147d5565b975060808c0135965060a08c0135955060c08c0135945060e08c013593506101008c013592506101208c013567ffffffffffffffff81111561517e57600080fd5b61518a8e828f01614933565b915080935050809150509295989b509295989b9093969950565b60008060008060008060008060008060006101008c8e0312156151c657600080fd5b67ffffffffffffffff808d3511156151dd57600080fd5b6151ea8e8e358f01614ad8565b9b508060208e013511156151fd57600080fd5b61520d8e60208f01358f01614933565b909b50995060408d013581101561522357600080fd5b6152338e60408f01358f01614933565b909950975060608d0135965060808d0135955060a08d0135945061525960c08e016147ea565b93508060e08e0135111561526c57600080fd5b5061527d8d60e08e01358e01614933565b81935080925050509295989b509295989b9093969950565b600080600080606085870312156152ab57600080fd5b8435935060208501359250604085013567ffffffffffffffff8111156152d057600080fd5b6152dc878288016147fa565b95989497509550505050565b600080600080600080600080600060e08a8c03121561530657600080fd5b893567ffffffffffffffff8082111561531e57600080fd5b61532a8d838e01614ad8565b9a5060208c013591508082111561534057600080fd5b61534c8d838e01614933565b909a50985060408c013591508082111561536557600080fd5b506153728c828d01614933565b90975095505060608a0135935060808a0135925060a08a0135915060c08a013561539b816147d5565b809150509295985092959850929598565b60008060008060008060a087890312156153c557600080fd5b86356153d0816147d5565b955060208701356153e0816147d5565b94506040870135935060608701359250608087013567ffffffffffffffff81111561540a57600080fd5b614a0589828a016147fa565b6000806000806060858703121561542c57600080fd5b8435935060208501359250604085013567ffffffffffffffff81111561545157600080fd5b6152dc87828801614933565b634e487b7160e01b600052601160045260246000fd5b8181038181111561115e5761115e61545d565b808202811582820484141761115e5761115e61545d565b8082018082111561115e5761115e61545d565b600080858511156154c057600080fd5b838611156154cd57600080fd5b5050820193919092039150565b634e487b7160e01b600052603260045260246000fd5b6000600182016155025761550261545d565b5060010190565b8183823760009101908152919050565b60005b8381101561553457818101518382015260200161551c565b50506000910152565b60008151808452615555816020860160208601615519565b601f01601f19169290920160200192915050565b821515815260406020820152600061137c604083018461553d565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b88815260006001600160a01b03808a1660208401528089166040840152508660608301528560808301528460a083015260e060c08301526155f260e083018486615584565b9a9950505050505050505050565b6001600160a01b0386168152846020820152836040820152608060608201526000612568608083018486615584565b60006020828403121561564157600080fd5b5051919050565b60006020828403121561565a57600080fd5b815180151581146111ce57600080fd5b6000808335601e1984360301811261568157600080fd5b83018035915067ffffffffffffffff82111561569c57600080fd5b60200191503681900382131561345f57600080fd5b60006001600160a01b038088168352861515602084015285604084015280851660608401525060a0608083015261256860a083018461553d565b600080604083850312156156fe57600080fd5b505080516020909101519092909150565b6000600160ff1b82036157245761572461545d565b5060000390565b60008261574857634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052602160045260246000fd5b8486823790930191825260208201526040810191909152606001919050565b60008251615794818460208701615519565b919091019291505056fea264697066735822122040321861ce858a2c911db7a2e1f42f4368d23b5251b80dd661a6f2abf19c358d64736f6c6343000811003303bd511a8bbccb8a7c22803deb50e77594b18d9132537e1fd2291f4a1eba8d958b036d4a48f0014abb9c9a6e51a7b68e12e1492416eac064581f4bd93ec44b75569c038576c675bfae510fcdf1eb77ab5835cea0ff4986b2a81af4b009c52235c04342030b732860016b237d1a4d9cce13f458bbf619a7ec564ec6679902256d612aa25a03445caff23f185777eaaa3d70fb1a04fe5ead1128dfe2c92c7a1155a9a8c8318b03b9b43b06cfd4411f6486a571a37be247c0211d774fd0034873e07559bf9d592603c2378026527b98fd34c38c8bed6d220ecd9e431085bf2a7e6491d6a02f305ef3035eb2e0249783ddbf4cf43622a224b7d66d70c020d88e5ce31121d8517d38171203655d6cd6226146d1cef68e463883275c6a50e093944a26ba86a5dd96503a228d03bb41901c0d308a7a99818c1d421c0ec03a118ec5928841aee2690e29aa03c61c03b2e347f69e282b8600cfb94a6479422357409204bc6233e4dd2312f0b1fe1986032390030b900fbd8eec8b667c1d2be07f21d19f3f582f76dc9c4ef4df23f0271b037e5d96d8f6da040f28fbd519f9b00b16cc2c24fa5515b3b6a52babb4c39398270378a95ac143828ac5e5518e46d2628bfba37186a3c6179a2e5cd3d507bd2c254c03aef900bb1bf5b70d0a9d9a11c4b82de507553fb9d5cd028e008c4e18f0d31b2e03d88198a9d0705ab3636f0c6f3e020c98f73fa3dfbb21c2ae4a76daac85395b9c0219ffff05581d02a60b44d485b25109469ccd689525ca635399eead780b83b92abe15410f0141011957d405581d02ca6020da6a27c6d29e500805bdd2c864e78cda51e74d0868b5ea5013041827037153c4ace2d03b3c3d1b9657de749a8e348f094954e1bee59a134b59ccb94baf021904940360ed7cf891587ba16f47b0584c3fd2389fc7fb3bcb3bfef8bf363c783eb41cf302194b7703fbdc2f203619749fabe9ec461e107eccebb866a58d4999a019312121bac18e6a034ec5e8c5a6313a1b13eb646126fa8e60e9bc6d7745f52cd59eb3f9e9d5a136e80332f9dcc3fba134b98dca780099743bebe2b87a6d046d70940531670d605ac5ff03c8d5bf513c1bfc630c91519fb149fa7f27776ce08a1a0ba4a2059a78693de50f03d0e9287f19f7bc395df1edc9cacabe877ad66d53728a03c187c970383d1811bc036f379b1d109ecc2ec3a6ab17b1d9acd4acc1060cd85b7e5694be527e7db6cf11031f090991ca6a5db2dd06baf2a43b1590bb37dacba093e9f16c81a1888fe16aa7032a77abc9843bc78ea47f17eec4797082a9f225e26eccec1307ef6ee2e3c53d2f03245da024b89310166cf502da11e4b75895816ef7339b93d1981366fa3ba22f3a030c73d8d4fc0697d4f4229c26c984705ad2c3c8d92695d4fde75b6a14267c971503fc5c753d33e597d6cfcf9d82f6b1b46a605a1646380678abe6b2ac495391cf0a03fd6619b7cd82ed2836d65ca7d4c17a2336aa6d7ec0d6680ae757558c67074b7703bb8fb3992fffcccc44ab4b9875ecd51d29369950799ed279a1585e09aaa12fb70219ffff03a55d9b1c9b3aa18dd2e10d2a2c597c785d3dc2ea548e37971d5c05a93e137ab1030428b30ad02287d7a9de41167ce1599d17e823a24f70f3e485aede207bfde98003e4e12ac9f8a887b6a1e12f13967be40cb990c933a837716863f6bd16c273c36403861115fab9bfba5b8b406c0a43f724bc2b47d5d5ca98367fc5bf12062309a02d03231558163d2e1bf3a35e0a3fa3a2a85924017b45c165632580bff5d5621e4542033891e539808aedf2cac04a55e46fc7e4e2c58522ab3c73e57400a2c1baad57f40305f4dfaeb601fc5fc822df79ad5216943310215add107e96c8e111f256b003410389e2446c2542cb3a234e4a33e08bf4c008418fff729f7aaf6f289447890644f50376c4b9581113a3534705b8d7d7438c787cfdb1e0b22073ae8c3c1fd5f8a7e5b20354671da86d3bdbbd0c860bcb81fa7288383193052f228099c762e290feff42c1038f009072b7f8ab670d586a6528e9feb89d9772f3d7f09a3a9f263115a7ed9a2d03728447b6570f421a85e444cea255e6ce3c5a4c8bf389976af970e75678da35c403e9f4690f8db5773b18d314440047652dd9e03339a82f2d712c33af143238f6f203d9ff62b727c452b2b41940fd7bbdd9fb282b9f91f46ec3bfc2891d6fedd1f2080219ffff038ec554711ce78a703824ae60534ebb765786a4b66764e5399434bd3420b8e127035bd145f6979ccfae338f679d6d8f651fd8c4a294a9fa0ba7716c79eeb195b14203abcde836cde64da1872b754bf3e26ba84b347b3524f10d3f8a492f8fad0b50530335cc08504b89cb23ff95eef3990541f178a455b0dd183bab7c5c4a26f939b3ae03b21739d3481ee27d32353bac9cda293707151d04e93ec1a375bb45972cfa428a03411a4b2c0ea975fadbcdf163de2f56e8fed1a2edf7e2740ec436d7161846fab203719bcf4ecd81bf0fe1fc85f3a2da37118c383c4b9a427bb269f23653446ce68e03d967229d860859168914cdd6c393d93cbfa52965b91ea55502a16d8f79384af603d7977a45898e2824fd5b8d76f1a8900172862bb1b7f400f07ddb9f22d25051ba0219ffff036fa8879c482173439ac9ad38bf31e70cf523b4f02c85ee6fe1c191f58796788c0371f7bb2efd2fef064de09bcaeba90a8ab54afef798e2441e3e86b799da264d2e035151d3ff50429d0681028225f2da59835c3b3cd359ee324dab4a90e4d3859fb0038e35d6d721ab8074efc13ab39ccdd67116ad0388be317b6e9cb9dacfac61e72203d19a800cfc87fd0571abf5335c0677b4ed6be6d395110454428ba11de5bbf59b039985e7d4d35e08deba1650078aa4e216483d37b318cd5188518ca2197b9c54bb03786dd3131a591e44867549ca5cfa4a0109afa869f584d331133b9eb0180dcf000316f1b39fc30de3f75998df53552862e10eb3a1f62edaedcb80853e8752087e9b039f21076a67266147e3c45ee4111324e2d5eeebd011a2ecafafab95a873e29db9034e3b30de6ea6634ba30cf26e6513d5d1cbc3d3cc40cffe70406917b3331afa6303715538c8a7ada39c86f4b080c463c88383e4499faac4690301754cc60e716639039e6c4e5a00f6c51f309b942364f4c2792cba4496b6061115183e38ef2b952b5f035aaa425e2f16d6676907c8829dad8a46f795b7c28ec73a6adc79368e003097d0030b3eb32a5645c66e381562c23b3e985b96de4d02d28abf725fba8985ff8b9c3703bb667e0b1d2d04c300dc7faa5bfe4bac68ec974bd5fdfd233da0362c836861fc03b9bbfaff7f67ee120d1dc8fd5a7f020e0d67f25866461735de51f0ce5edb2a1d03418c3f3e5057709915937a25dd5e93bc1d8dcebca1648059906cef0066caa90903cbd88e18f0aba788b5aeee498b77e54d28716457daacec7dbba4c1cde8e5464a045921f2608060405234801561001057600080fd5b50600436106101da5760003560e01c80637035ab9811610104578063b66503cf116100a2578063e1c7392a11610071578063e1c7392a14610494578063e70b9e27146104a6578063f1229777146104d1578063f3fef3a3146104e457600080fd5b8063b66503cf1461043b578063bcd110141461044e578063c00007b014610461578063dc01f60d1461047457600080fd5b80637bb7bed1116100de5780637bb7bed1146103e6578063857cb94a146103f95780638980f11f14610401578063afcff50f1461041457600080fd5b80637035ab981461038a57806370a08231146103b5578063760a8c2a146103de57600080fd5b806339fc97131161017c57806347e7ef241161014b57806347e7ef24146102fa57806348e5d9f81461030d578063638634ee146103645780636724c9101461037757600080fd5b806339fc97131461029d5780633e0dc34e146102cb57806340b47e1a146102d457806344214ecf146102e757600080fd5b8063193ba6d1116101b8578063193ba6d11461022d578063279646661461026057806327e235e314610273578063386a95251461029357600080fd5b806302fb0c5e146101df5780630d5225de1461020157806318160ddd14610216575b600080fd5b6009546101ec9060ff1681565b60405190151581526020015b60405180910390f35b61021461020f366004611e7d565b6104f7565b005b61021f60075481565b6040519081526020016101f8565b6102487359cfcd384746ec3035299d90782be065e466800b81565b6040516001600160a01b0390911681526020016101f8565b61021461026e366004611ea8565b61065d565b61021f610281366004611e7d565b60066020526000908152604090205481565b61021f62093a8081565b6101ec6102ab366004611ed8565b600360209081526000928352604080842090915290825290205460ff1681565b61021f60085481565b6102146102e2366004611ed8565b6106d0565b600054610248906001600160a01b031681565b610214610308366004611f06565b6108ed565b61034461031b366004611e7d565b600260208190526000918252604090912080546001820154928201546003909201549092919084565b6040805194855260208501939093529183015260608201526080016101f8565b61021f610372366004611e7d565b610bc7565b610214610385366004611f32565b610bef565b61021f610398366004611ed8565b600460209081526000928352604080842090915290825290205481565b61021f6103c3366004611e7d565b6001600160a01b031660009081526006602052604090205490565b610214610d7d565b6102486103f4366004611f7d565b610ebe565b60015461021f565b61021461040f366004611f06565b610ee8565b6102487f00000000000000000000000041a5881c17185383e19df6fa4ec158a6f4851a6981565b610214610449366004611f06565b61118e565b61021f61045c366004611e7d565b61138d565b61021461046f366004611e7d565b6113b7565b610487610482366004611e7d565b61161d565b6040516101f89190611f96565b6009546101ec90610100900460ff1681565b61021f6104b4366004611ed8565b600560209081526000928352604080842090915290825290205481565b61021f6104df366004611e7d565b611748565b6102146104f2366004611f06565b611753565b336001600160a01b03167359cfcd384746ec3035299d90782be065e466800b6001600160a01b031663570ca7356040518163ffffffff1660e01b8152600401602060405180830381865afa158015610553573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105779190611fee565b6001600160a01b0316630f4ef8a66040518163ffffffff1660e01b81526004016020604051808303816000875af11580156105b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105da9190611fee565b6001600160a01b0316146106095760405162461bcd60e51b81526004016106009061200b565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f4eab7b127c764308788622363ad3e9532de3dfba7845bd4f84c125a22544255a9060200160405180910390a150565b600954610100900460ff16156106a45760405162461bcd60e51b815260206004820152600c60248201526b185b1c9958591e481a5b9a5d60a21b6044820152606401610600565b600882905580156106bd576009805460ff191660011790555b50506009805461ff001916610100179055565b336001600160a01b03167359cfcd384746ec3035299d90782be065e466800b6001600160a01b031663570ca7356040518163ffffffff1660e01b8152600401602060405180830381865afa15801561072c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107509190611fee565b6001600160a01b0316630f4ef8a66040518163ffffffff1660e01b81526004016020604051808303816000875af115801561078f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b39190611fee565b6001600160a01b0316146107d95760405162461bcd60e51b81526004016106009061200b565b60095460ff166108155760405162461bcd60e51b81526020600482015260076024820152662161637469766560c81b6044820152606401610600565b6001600160a01b038216600090815260026020819052604090912001541561083c57600080fd5b6001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b038581169182179092556000818152600260208181526040808420429381018490559290925560038152818320948716808452949052808220805460ff19169095179094559251919290917f766c9ea233f83f351d6be4cb95362682949d7699abd8698799beae0db83ad96e9190a35050565b33600081815260066020526040812054905b6001548110156109fb5760006001828154811061091e5761091e61202b565b6000918252602090912001546001600160a01b0316905061093e816119fc565b6001600160a01b038216600090815260026020526040902060038101919091555461096890611ab0565b6001600160a01b03808316600090815260026020819052604090912001919091558416156109e85761099b848285611abc565b6001600160a01b0380861660008181526005602090815260408083209487168084529482528083209590955560028152848220600301549282526004815284822093825292909252919020555b50806109f381612057565b9150506108ff565b5060085460405163bfff576f60e01b815233917f00000000000000000000000041a5881c17185383e19df6fa4ec158a6f4851a696001600160a01b03169163bfff576f91610a5f9189906004019182526001600160a01b0316602082015260400190565b602060405180830381865afa158015610a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa09190611fee565b6001600160a01b031614610ade5760405162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b6044820152606401610600565b3360009081526006602052604081208054859290610afd908490612072565b925050819055508260076000828254610b169190612072565b909155505060405183815233907f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c49060200160405180910390a26000546001600160a01b031615610bc1576000805460085460405163b3aa639360e01b81526001600160a01b039092169263b3aa639392610b94929060040161208a565b600060405180830381600087803b158015610bae57600080fd5b505af1925050508015610bbf575060015b505b50505050565b6001600160a01b038116600090815260026020526040812054610be990611ab0565b92915050565b336001600160a01b03167359cfcd384746ec3035299d90782be065e466800b6001600160a01b031663570ca7356040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6f9190611fee565b6001600160a01b0316630f4ef8a66040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610cae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd29190611fee565b6001600160a01b031614610cf85760405162461bcd60e51b81526004016106009061200b565b6001600160a01b03831660009081526002602081905260409091200154610d1e57600080fd5b6001600160a01b03838116600081815260036020908152604080832094871680845294909152808220805460ff1916861515179055517f2b78dc41f71ae29cc42d4714f937a272ae1319b7137e38be4965b443181b72379190a3505050565b336001600160a01b03167359cfcd384746ec3035299d90782be065e466800b6001600160a01b031663570ca7356040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dfd9190611fee565b6001600160a01b0316630f4ef8a66040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610e3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e609190611fee565b6001600160a01b031614610e865760405162461bcd60e51b81526004016106009061200b565b6009805460ff191660011790556040517f59d3ce47d6ad6c6003cef97d136155b29d88653eb355c8bed6e03fbf694570ca90600090a1565b60018181548110610ece57600080fd5b6000918252602090912001546001600160a01b0316905081565b336001600160a01b03167359cfcd384746ec3035299d90782be065e466800b6001600160a01b031663570ca7356040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f689190611fee565b6001600160a01b0316630f4ef8a66040518163ffffffff1660e01b81526004016020604051808303816000875af1158015610fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcb9190611fee565b6001600160a01b031614610ff15760405162461bcd60e51b81526004016106009061200b565b6001600160a01b038216600090815260026020819052604090912001541561105b5760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742077697468647261772072657761726420746f6b656e000000006044820152606401610600565b6111487359cfcd384746ec3035299d90782be065e466800b6001600160a01b031663570ca7356040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d49190611fee565b6001600160a01b0316630f4ef8a66040518163ffffffff1660e01b81526004016020604051808303816000875af1158015611113573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111379190611fee565b6001600160a01b0384169083611b3e565b604080516001600160a01b0384168152602081018390527f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28910160405180910390a15050565b600080805260066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f854815b6001548110156112b8576000600182815481106111db576111db61202b565b6000918252602090912001546001600160a01b031690506111fb816119fc565b6001600160a01b038216600090815260026020526040902060038101919091555461122590611ab0565b6001600160a01b03808316600090815260026020819052604090912001919091558416156112a557611258848285611abc565b6001600160a01b0380861660008181526005602090815260408083209487168084529482528083209590955560028152848220600301549282526004815284822093825292909252919020555b50806112b081612057565b9150506111bc565b506001600160a01b038416600090815260036020908152604080832033845290915290205460ff166112e957600080fd5b600083116113255760405162461bcd60e51b8152602060048201526009602482015268139bc81c995dd85c9960ba1b6044820152606401610600565b61132f8484611ba1565b6113446001600160a01b038516333086611c3a565b836001600160a01b03167fac24935fd910bc682b5ccb1a07b718cadf8cf2f6d1404c4f3ddc3662dae40e298460405161137f91815260200190565b60405180910390a250505050565b6001600160a01b038116600090815260026020526040812060010154610be99062093a80906120b6565b33600081815260066020526040812054905b6001548110156114c5576000600182815481106113e8576113e861202b565b6000918252602090912001546001600160a01b03169050611408816119fc565b6001600160a01b038216600090815260026020526040902060038101919091555461143290611ab0565b6001600160a01b03808316600090815260026020819052604090912001919091558416156114b257611465848285611abc565b6001600160a01b0380861660008181526005602090815260408083209487168084529482528083209590955560028152848220600301549282526004815284822093825292909252919020555b50806114bd81612057565b9150506113c9565b5060005b6001548110156115a8576000600182815481106114e8576114e861202b565b60009182526020808320909101543383526005825260408084206001600160a01b03909216808552919092529120549091508015611593573360009081526005602090815260408083206001600160a01b0386168085529252822091909155611552908783611b3e565b6040518181526001600160a01b0383169033907f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e9060200160405180910390a35b505080806115a090612057565b9150506114c9565b506000546001600160a01b0316156116185760005460085460405163b3aa639360e01b81526001600160a01b039092169163b3aa6393916115ef916002919060040161208a565b600060405180830381600087803b15801561160957600080fd5b505af1925050508015610bc157505b505050565b60015460609067ffffffffffffffff81111561163b5761163b6120d5565b60405190808252806020026020018201604052801561168057816020015b60408051808201909152600080825260208201528152602001906001900390816116595790505b50905060005b8151811015611742576000600182815481106116a4576116a461202b565b9060005260206000200160009054906101000a90046001600160a01b03169050808383815181106116d7576116d761202b565b6020908102919091018101516001600160a01b03928316905290851660009081526006909152604090205461170f9085908390611abc565b8383815181106117215761172161202b565b6020908102919091018101510152508061173a81612057565b915050611686565b50919050565b6000610be9826119fc565b33600081815260066020526040812054905b600154811015611861576000600182815481106117845761178461202b565b6000918252602090912001546001600160a01b031690506117a4816119fc565b6001600160a01b03821660009081526002602052604090206003810191909155546117ce90611ab0565b6001600160a01b038083166000908152600260208190526040909120019190915584161561184e57611801848285611abc565b6001600160a01b0380861660008181526005602090815260408083209487168084529482528083209590955560028152848220600301549282526004815284822093825292909252919020555b508061185981612057565b915050611765565b5060085460405163bfff576f60e01b815233917f00000000000000000000000041a5881c17185383e19df6fa4ec158a6f4851a696001600160a01b03169163bfff576f916118c59189906004019182526001600160a01b0316602082015260400190565b602060405180830381865afa1580156118e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119069190611fee565b6001600160a01b0316146119445760405162461bcd60e51b8152602060048201526005602482015264042c2eae8d60db1b6044820152606401610600565b33600090815260066020526040812080548592906119639084906120eb565b92505081905550826007600082825461197c91906120eb565b909155505060405183815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d59060200160405180910390a26000546001600160a01b031615610bc15760005460085460405163b3aa639360e01b81526001600160a01b039092169163b3aa639391610b94916001919060040161208a565b600060075460001415611a2857506001600160a01b031660009081526002602052604090206003015490565b6007546001600160a01b03831660009081526002602081905260409091206001810154918101549054611a5a90611ab0565b611a6491906120eb565b611a6e91906120b6565b611a8090670de0b6b3a76400006120b6565b611a8a9190612102565b6001600160a01b038316600090815260026020526040902060030154610be99190612072565b6000610be94283611c72565b6001600160a01b038084166000818152600560209081526040808320948716808452948252808320549383526004825280832094835293905291822054670de0b6b3a764000090611b0c866119fc565b611b1691906120eb565b611b2090856120b6565b611b2a9190612102565b611b349190612072565b90505b9392505050565b6040516001600160a01b03831660248201526044810182905261161890849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c88565b6001600160a01b038216600090815260026020526040902080544210611bd857611bce62093a8083612102565b6001820155611c1e565b8054600090611be89042906120eb565b90506000826001015482611bfc91906120b6565b905062093a80611c0c8286612072565b611c169190612102565b600184015550505b4260028201819055611c349062093a8090612072565b90555050565b6040516001600160a01b0380851660248301528316604482015260648101829052610bc19085906323b872dd60e01b90608401611b6a565b6000818310611c815781611b37565b5090919050565b6000611cdd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611d5a9092919063ffffffff16565b8051909150156116185780806020019051810190611cfb9190612124565b6116185760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610600565b6060611b34848460008585843b611db35760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610600565b600080866001600160a01b03168587604051611dcf919061216d565b60006040518083038185875af1925050503d8060008114611e0c576040519150601f19603f3d011682016040523d82523d6000602084013e611e11565b606091505b5091509150611e21828286611e2c565b979650505050505050565b60608315611e3b575081611b37565b825115611e4b5782518084602001fd5b8160405162461bcd60e51b81526004016106009190612189565b6001600160a01b0381168114611e7a57600080fd5b50565b600060208284031215611e8f57600080fd5b8135611b3781611e65565b8015158114611e7a57600080fd5b60008060408385031215611ebb57600080fd5b823591506020830135611ecd81611e9a565b809150509250929050565b60008060408385031215611eeb57600080fd5b8235611ef681611e65565b91506020830135611ecd81611e65565b60008060408385031215611f1957600080fd5b8235611f2481611e65565b946020939093013593505050565b600080600060608486031215611f4757600080fd5b8335611f5281611e65565b92506020840135611f6281611e65565b91506040840135611f7281611e9a565b809150509250925092565b600060208284031215611f8f57600080fd5b5035919050565b602080825282518282018190526000919060409081850190868401855b82811015611fe157815180516001600160a01b03168552860151868501529284019290850190600101611fb3565b5091979650505050505050565b60006020828403121561200057600080fd5b8151611b3781611e65565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060001982141561206b5761206b612041565b5060010190565b6000821982111561208557612085612041565b500190565b60408101600384106120ac57634e487b7160e01b600052602160045260246000fd5b9281526020015290565b60008160001904831182151516156120d0576120d0612041565b500290565b634e487b7160e01b600052604160045260246000fd5b6000828210156120fd576120fd612041565b500390565b60008261211f57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561213657600080fd5b8151611b3781611e9a565b60005b8381101561215c578181015183820152602001612144565b83811115610bc15750506000910152565b6000825161217f818460208701612141565b9190910192915050565b60208152600082518060208401526121a8816040850160208701612141565b601f01601f1916919091016040019291505056fea264697066735822122049f33b8d0969267ce5966db3f134a7ecd2f325d39a7d92854280de34351d06c264736f6c634300080a00330605581e0361eb78f99946426cd4f194df3f7fd879532ceb6b0b14e1e16eba844e1007011921f203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0303b3110d002f51063ec6cbfe4a985a46d4777eb4e41c56e5528dc9269007011bffffffffffffffff037c59877de3061683956cd475328169b0a6c518f73b63725b175702340ef2248305581e03c9bc8fc9297d1b284681276c85dda7be40ff219f0d8907b4aa3a857be00c01473283d110bf3c3105581e03c4eb6d158d6bcf226d0e5fdea1d7e467733ef2c4052015a4628d1f2ca0040103e972cbac337b401dcd82467b84fd03bc58792274aed851220da9622ab37c3a5405581e03221a6438e547b1d31cf4b2b4e2cf60afff12450e2128cf414560078cf008471608b6a3094c0005581e037823cc9684e1ce4070ddccd99b6c142ceb1ea41d91943ff9ee964303a00c0346634a2016488805581e039d7ee0cec2ff3efdfe8e9153a39d541272b1b0e664c1e1d25b5d77822004040340fe4aa0dae90a0ae92202c2245b6ba88bf754a61a4af2ac03f5f301d558644e03817e038f274d76eb7b30a60918b9233305a6cfd342d730eec4450ec27ddfa89505581e030e5cd06575fb7bd63debf579a290a6cb17bb6f0c4448ce0047e52303c007011bffffffffffffffff05581e03716d60746f7d889ed72943785bb6a4f40aeaced1d2b7d42f377085a2700c01461de7f1d5b7300219cf8f034f10f933cba7a942238df15d43100a897813178878f0c4e80cdc797abd1f64130219ffff0363fbae1423d3e8b33d41153d593e221b1f4342ed9381d407f580550280f6b75003b17b1933bc54ee576439cd54b709a381ed2310aea469ccfd4fcec111da7ff1a8039c2f3c0428ebff5fc2985802705047592dbd6ea2af9b969b05ab260eb8e0bddd0398907e1252e97f22332864b5a0afb370619401aee0b585339eff70578946e760038f0d79c74a384f6690896a04a84a3b84d8a5b28151faa75786e0c18ba6d3211c03d1d862108da34b571c605e10fa8109326eba6765f68e5bd13bfc324078e8fed2038fa2b6f489b76b7ebe0fa5e3ac92f27d7683632a44daa85feef9d13e9afbcd91034e59267faec8428af95a7aab4dbb8904c2255f6981adeaa82a3784dd59ef048c0352b84df36e21e30fbfdc21983b95ef15e0aa3967511014d11e8542fcbcf006b00353ba8c174e846ef9e791edd32b504002e1a753967aa9c0570042759ee542512e039dee84e9dd785125569f0e7e1ab3e8f3e1924e4e3efad11317eedeba5d5441c40388c8a6b541a1c43c1b8ff1239b6cb2aaa3e4f4112304437d9ea02a47b3350d4303e3d3cba8ed543561e2676873a7e8194711ff7aedd80b80b27e1744ba0dc25a0e03d12ef46dd2b2eb71afd32c46e627b2c2c4c5b67fa8bbafc20195fffea440c274034a42ad8818f347516729833d2d41222dd8c775241b378b87a11ac1b4356dce320219ffff03981bbbee3b093f39eb58e6d2d143f902938d28d956df8398610bc0a3cfda2ea2033976c8f087e14db50150d7823e917bb9200aafa58885066774a10acc69894a4203683b4ed86da18bb12fd2b86f0fdb143a08c5feee4aeb01ce2f5588a04ce3a27603e805eefedaa5a35ed66f899a9732c1c68d603ce280df4660b282b6fad348ee0903832d4d5beb81bcedd0a229d00f693acfbe6c7a5de3f107efe51198a92a74fa1d031ce1dc46af5f051a071113dc5100620cc555d4f8fd95ad3b40cbea747d6652b70317bf7c504f7559ca20d1771467b032f923a30e31965178e528f53b57468fb58103d06a027e8b0748cffbcd5ec140ee6e57a384f73dc53c6cd5380eb70bf73f93c003abbd9051e5db5e3cc0a8f16de96978af473a2bc99b4b6326906855a4dedd8a5a0369faa22b8ce4a157dd89b56e55e5a188f16adefe903c91093f410144cb300fbe03d5433035ac6ba491eea5efe64ad4d97f85c121e89d467fa44ebb4cb04d72aadc03e907145d19b3e86b83887f601e5941f5164950ce2e10870b1edb0a1db8ded2060219ffff03a5c3fb760b02102b1175e9a0be27054e35debf7999112945f4580a2321ecdfe50310e163d5fcf6d07e6ef7394c81e6f0866cf1dc7fcee26e40cb173255f63ec565039774b6680a8490e293deead1b2a4fcc6e82e834145cb4921d2d3ebffa6327bbe03fc1b9b51859db197c44b0daa054af8fd84fa24fb3a2b7dee5fbd42092c67855d036820b5da9ff100a933073d7a025141180a966876a50e52f852d9a060ba3f1f680310af5dd4c39abebaecff74071fb16419c9d7e2a2dad5f63e7a3d53d6ffe4b04403af1b61cfe5281b027b2fb1cd9cee77fcf7eb21f84ba958192e3f07f39944d8b203867cc1c1902caf15ea0f305029ab32db46c3bd49e462c156e206b14395f7694003f9b4958181d44bd707fed357618946e4d20d15385d91dcbd38ddb98c77037274033fb624dca261d293cb1f1c415c63078ca2b2ee2983acf8e4f977501884e2d41203981efa7fff3a3a988d3c11a887c4cc5bdfdac9fd3c3807d3a377eb31f9b012c50307b4bd3aa033189a03320bf2c0abc577ff7c35e9f1ca97675d6600928247988703a62ac3b0745dc3cc75e9b379b3080eee5c5d6c8b15b717a8e734287bc1c93a0803f185903cf704de36185afd4a092e3c6385f8705707f867bbebcdc77c47543fee03ab77d8583a80c903a69c17e83caf6efdf31bca766e3dc719d123bbe0deb2ae3803c2dd6dcc326e69d35319c0b537df1a7aba0cbde341fc899e08d7e521995afb1f0329b8e63b8a0bca193f177d693ff76dbc2838082f831e59ca34d370069e1f09190301915dd5266217dec6aa74aebace9949f0a4770b48a31efc15365e4d907937200324780039f0c93c5d47a16bdea8440f7842a0699dfde013ab58dee5af278bf3b703295514cbcac26bc0fe144a56a66f4ea4d06c6dd745b483399122601028553e810357744b14d6d3f4a7da156192e4fb1f307df159dc057a4673eb10d89867ddba0403e986f05fee2d2557e02caaa3768fb6347e733e1c84923cd9f008ad6b0aa9a3a903a1d50bd40342f904ece7db017d85213152af11352dad0e87eaf4c5ce62a539c203ee5605d7e371939f10250066f7585d7cf75ab3f9397c335b9911b8150dfa8b9b03880b0eb1a85ec4d177be20cf97fbf5a6229b6da40d0b74e43ccf300ae9228c5b05581e033d9b1e8ba243d4bda7a5fa6cb0c4509ba696433c6bf27fa1aeb642a29004020458ab608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c634300070600330362a46361efffe15899c6633351c64e1e222dc6e245d21f264c10216f94a854010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d9db270c1b5e3bd161e8c8503c55ceabee70955200582103cbc312670fa8f95577d8e0705c59b8734d08d44ce8114cd6ecf9b5b7cfc127905424fcb9ed2bfa9264526bd675aaf392526abe19c1005821036b32740ad8041bcc3b909c72d7e1afe60094ec55e3cde329b4b3a28501d826c0410100582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc53054235ce905973fd289ccdcf1f492ab01a4e45dad3b00582103a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b04103005821036552f9043f7dbde1a3842eccf846aa02c647c3d99f9371aae3c93798f73f1ab054f48f2b2d2a534e402487b3ee7c18c33aec0fe5e400582103f0d4c00fdf73947578e40d4e4682d5b73b9bd82e54e2a2440bf240e46c80b65054cad56fae244546d0a53e8afe285acd37a49e276003013103189c1ef8869eefbc5ef8b75719595b69539a1e0142440510879e1335ab0058210371a4ee84bc78b028133d4e79ab7c1efde80cfff19c617dcd42b43199e514792054f8c1c8b85ecb964650f127755a7394f1520183b1005821039ae7d9c7bd088e8c78081a62213dd2a7686cb2e97b1c5c904320134c554e15b054c7aa1b2cf8c7ab9ff354411320c4c4f3f9bf355002197dcd05581d02290d2f708ecf491ea09252f61f78fe5caf2ea44abfd5ba17ed90d1640f014927c113280b95e0508a18ab05581d02dac0ea3ce863cbcc3e630cc2be0dc648af6a03c4c952f6e16b9a36580c02470110d9316ec0000219200405581e03322aec448d6a0e0aa01fda664d655a7b39ddde00664ecc46bf62d018b00c0147040c30a69b460003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e035609893a5eef173dd6be625a4ffc41e7fa141979331c551eff7f0981a007011bffffffffffffffff03337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba0311ad23855d8452d0b888da7dd6d8e1d937507727a3303a9d35ebbe30e3438fe805581e03e1786fb4eeff4fa838917f18068a6d568a61f87487b619ec25864389f007011bffffffffffffffff05581e03653e5918099e65a7dc900d8c120dc667f4fc48f40b3a713e2bc6f3c1c00c014707682c3a20000005581e03b375e0616b12289a279274e6d3c6a1e1e034fb6e95ffa6a22144a055c004010219bdec035cdc437d7a1bf1f863442db129047994c3494c66f648b0fff5b789eb0a57efec0219ffff03a9a6be7749f45497d4bc4766c69aa63661995a21d53f50373256cc3a3da96742031e09f73f0af075d81e42a7583703b8121f16b443c69086a02aca3ad28c2fa1da03ec0067ed8681d40d25762487b175554d4890bddd0ce3f62ce866942240a362cc03c8f6d330dd645b54c4c5ece4801041b0d7fbad78cd823ffb5d0629a62b75323803c99ac3b17cce276ba29fc153573bed68613cc1f993e5194f432db75dc056a31403f8a3bc005c5a19fdfbc17e5c8c2c65a51636b5e02e070e25223c8760f59163fe038bf5af61172e030523f05f4c775437333b454d2a5b649dddc156cb7f74a2c27203cc94388b88bab9e5bec3fa185db051a390173208b47182b95738bae59a5031d103edb635857500ca846a281432849d3cdc34a189b054234df169bb077168fb160a038e1a260756e807cebed24c73f9cfed8d517abf9145b9a8f24cb8a3df099a33f203f81c938b5a7d55d64fcebfff11634d1d766c2fb1f1d7e8f7e322f8de4d02392d03fdde74e5fb997bae77d6084e39ca7b2127cc206784e05ac718a85ab65b61e62d037ed7737a1b6c842617e5a9681a80bc70f3ca240e1d93cef0bba96c6d539f81fb03dbd9d421bda93bc8d286bc1c8efb366d3ad698994b14310fd633a22a0b073dff0219ffff0313ceafa3ffd285b2efb3ecbf4efc5d36523502cb0ac8e1b25bf1bb78c816f89503e97a8efe51d4ff94114343f7ce4f46659094ec892a3a38993cc1ad49ce4b0c2b031d31a4c58b481d8e889cee22a8750e49bf9dad58cbafbede9d11922b6f62083f030728ba8a97856f7f49a2d487cb751150d6ccf802710031b0ad2c68e22612cf29036c60ff3a184ed1fd8810fc4085dc9c2ddad7020ba244fb08aff98c1ea2e5623e0303b0aa0402702429099dbca3a8893aecd55e74ad42a735aff0126425cadc5b2d032e0b70e6b5fdf15959c43ca8ac68a96b49f7ecf486f58c90f8dac5a246c0ec0503462b98c7e01cac98500e8f3f23bcd1004524481fa65ebde758cab547aaa588370378f3183b56e57f310cf40cde294f6e0e2c3fb490cdfdb0319fd852fc87c62f67033639395bdeb7ab51ef1ff419418e582c44c0685517d09eaeecea765861204fe50219ffff03d698ffa2d1be00e39fe6e32a4bf5b1c320f61430e71f6f8e06efbfa7051be52d03ebdd0ea1142dfc8cc2755e7fa5b0bca97b2634afad43f0ba0ac8f56f93a56bd30364ebc2928b05cd9c14f34790acf414d70c3b22c91e1fddbd4c41b0d80c5b7eee03d4fd103b63677227fe9d231cea6bae99d65614e7f39b9d13e4c254f3ffff704403181e8d64e3b23d33b88a84347de70058665076e199c30abe43f440b24bbb72f203e8a36b3ec3481d004e5926d8fe3e68ae8f101c01dd19a27ad6e52f57636747aa03037b34b9ef677d4dc6cf125b41087d38e6b12870acead22f3d4b494d8ca1107103f4ca5c9295a5efad00e39ac6442f3bf3e3521d36c7668cfbabbbe7112c2ba4fb03b2ff10884ba48c00ca2da7bbb23b5353afca3b34e2884e085cde9ec2636f6e0e034b9fe51e15723e8f6f3a75a66ef26a530233d7ad1741f2f15fbed1dcb8ea6299037423140ef67ea93c2e9802172d9ac22b31f0a93b6aed87d28baad34e5df84d15031a908489e65e3711b63cddcd3c26346b0d9edc7c4fbd2a8d00cce9383b97c8d60376804b5f567440e695f75fdae247ffe29044fe18ffedaa691bbcfe5d6fe7ee2c034f5ad9871f6238d67310d5847a054eb0575ce508c2b300b8d2a9e6953656e9f103d0b4ddadc6883d940c3a4733170e34bbc08ee9d090587a3fb647795ea92c6194032ec10a00c51e91647f56cc14e760c26e5a66f8c831db598f877d28fe2de0acbd03e36c06860779f0b006e6baaaab6a4c8ff6147c7852dd4571666ebc9822fa3af4039b735c5e854a88ae0714a92c75e656ee4177031ba866f4654a0685628f26f4480337a69ab8ea013837980984eca5fc6891bef7ca863e59089934490e38089fdc680334563aa906dbb8549a49529d2491655f19e21fec507d63fdfefd134d439ec1a803ce22686ca8567388f235f5241818cf42810cf6b67b569b91d74d331c5b049cf903f8401d9c671cb2abba633cb0eca0dc97482935f2ae8997236a1cb21ea052a7f403d2f107b530b3078e04e10a46f8e0f092eaa2b53dbd8402b92873618e41ba237f03ea773322c3e8fdb22a789128fd01d2cccaf7ba15e4c7c92b86332e4fab065ccd03beaf9875f4fa7c3c1e8d369706dd9ff6cc40a52166d8692bdc9298478f3cfccc0304b6890f74569ff059b0e34891fe3b43e1b97f8a4c1de0741d76abcab61363b603ae983d780d2dc54b8902a814062afde955270e60cf735fb5057497d04a6c441303ad65c1bf0ebe485829eddb950cc0b2b9b5d18ccdaf3d04815201dc54e783150905581e038081084e3735282d4f909f959a1bc0bb6801a2cc013b42c469fc59b510040203f48846e8ac0f123592406816366b26791c9780b1575b4f8def96cfcee80c911903991adb88b8eaab3d68f7c36654d45be28e0f2eb6ddf7b61ae367df72edf14b0d05581e039854177da16a30b32478630a1455d68362ec6edf790b2be8a60e419fc007011bffffffffffffffff05581e03f4ea2284fa1fe0cc7a12a08b4af4b401a3fd77ca4b2c577e82e6a585400c024707f1a28b1cd1ce05581e035ac1e7dc3506c50feaa84ced1ab5efb5cb072cf76a86d9b188b25115800c02467fe577b0d7db03719858367a0c3025abaa1a1cb29f02b3e5db9b2a8ef2e0a092af4e014dd67c21031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e034e63e4231e5067b1166ae93ee1d6607dd68c1373396e13093976e5229007011bffffffffffffffff05581e0394aab54f4d6669874884d7b7ba6e7cbef82de29fa4403c7e1bde55f7400c01470c537eabe40f0803fae396f43447e08929765100b20298c8bbd2db1be3b4c18f53acb8f31805bf5805581d020b6a3f910ade4a0e374f072bb544e13829714c3d5644436505fbe8620c1903f8480ebf3b2c2b4186ad05581d02599a0fa073d7c5c3b8dbf228e508f6e0490a63d93aa33510b446d6240418a805581d02cbe99a88bcce3230594308f92888bb60c600a533111bb7c6ee4c9f800403020d03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e037121727cf0c57f179f0768aa1cf7d8849bd51a129c2618e55e79e70cb007011bffffffffffffffff0219dd2703ceb8ec41399239a20f7940af2dd9afeedb7cba0e104eea58e9d7c1e1f8fa5ca90369bcf696ec2b645ddd5b619b713fee345a0868464474d18e545cb912e9f6d85f037a39320a3434c3b3de09ffeb21265d0a379d76fc58bc9ea3a3e226b49e44c25f0301a21997286f70b9e388dfb2f5112131f6a39c452f2baa3de5be81c7827a4153036829b491b86c4741f3fb2761326a45c966dbe76080f10ddee73e3f6e8b1736f3030dbc47d5a6cd0653905f809218f0235622f77814b3fb0fbcb3740c9d03d4244d03bda94ba6a599b43956e34966c6de8a1b6e4660cdc295130076b5b00a255fc1480354943bc369a4ddeb20d3ce99f28d3905c50609b86f703f267e9bd64accf3cf110219ffff03e30891a631d3e2281d451e44c01050fc72fb4309e116e7c1e61eb0ca1144bad7030de87d649bf1193c157b044cf34dd08203e9013dce6eb5bc262e850d17c5600403c227991da48e0cc82a2130ef20a45718e733a4bcf2e5bf84f553d79f43cb737103f59dccb434d421517aec37360d96c1d3a976a6d1aa61c4fa8bee7d403e2bd920033892f6e8b9dd8f8360e6b98b10c83dce7f054598d9919c6117f83d24c21f61e80301141b9b1228f2d2ffb4c46a45d705a904356de5406c4a741a251b99646ddffa030c14b72d4bfeb531b9aec1ea286fa98bf025e51cc8c32dacbfaa2b6aa33e8a490219ffff035c6fa895ed2583d7accae1006d4b54bc38933edfa6488a3c677268d33c0ef655031f3dbae72b5662c2ff17a422f46d77a255af5c82e0fe2030b045e227779a3bde03c46b0c42630a0e3286cf94d1219881a48f6bb2963510ab47aec53d362e897c10039e031cc3c05ca5bc92cffeed2715dce4cc4d017d93cdf3ed501530ac8c6516c003eaf8d86ce5b93081258b2e619f3fe41adbab97281d572edd75614a33e0f9cd7403a67122974e1944ad582635d0dae65fda8f0d190d321980c83b8d2a0572d5ae200307c6b0aa22de9965c7939a6aa95a9fc04c39669b048248db0d9ed6d09923e5fb0335a504fa79132e60c001a90e0c5306d77d3334b8a780509f94df95803bd1b55d033de154a8f161370011876235840b4bf68776128f52de31715faa73f26faebc7a031a86e3af8a0934a57d21d7006429bc43d49b05acccaa4de0990f551f5830f7ed030659646377e5e01e480d803d9943de8f3946b08d7fa797d4a465862b48c7e2d50219ffff0352b8523287914c8a55824ac43dd1756f2736af8f75cc24acc5da4218c9d6155b0219ffff036b807436cb67dc3ec07924098ab5c2e31eac3019f6a4ff09a5f66196d7b1a46b03dc26faae3b768db70b41dfc232e0d5847a6495b69522998393c85730be744a770347c39387ac33bbbcf9536ac1c30aead2534d957fdea3d4f4036126715cc3c00d03b945346d621a9be769fa8de7b3583237ff3e6b44f6b0157d88487e904c69ebc503d73a94c98be148bdb2fa4af00284d137e9c11e7eb70452e7fb9ebe966767d8f803ab75a8a2d9acc7a209fd7c1672751d603eeb7ad9c59948981b14c956444f1f0e031afe05751ad730de039e67dc467ddac2d187ad02871fbf27107762973bd09a2803fd9c80101ad662ac0908d683ad117b19e663af6e7392ccc13e9812bd9618f2710368e9deccae4f7d48b1c3940445a796dad7260517effef705c317e342aed2c69e03e53e329370569586788a53ac86a98113704aa3f1b6982b336ff929f75467b60203d41e04f4711f75261e456d238601d8b567cf636cbda251cdf95c86dda028266d0332c1c68cbb12de54e4299bfaf6f4221865bfd4e1efdfe92f01cb5eeb9bcede95031bfe8bcbc0ed9467bf3206eceb61623123f8446f74c131cf7ed8daffbadd74a203f38adb2c226bb31904d7413762807d5364eeb2fa723daf9cf48e4d3d63affd1c037adf227458c72b90d56a608ac55e09c972ebb8c6d47b0018f2b130a8de34739a0335551a33c6946132f328624ad488435dd091e52f85871c16c1600158fccf5239030e6c9088985c73a461b9ac9479ad917a5abee87ebdfbce6230022ac265bba63405581e03812d6dd3bf449add0bc820b82c6af6085dd03a4a7215ad8f840d1f15e007011bffffffffffffffff05581e039873ac6ec7677baca88b98265d30b659041cea33e144c4a676068f80f0040305581e036f849349554ca8b3c7048e761d1bd090501164bc95d888d5bc51a817400c0144a074a90005581e033547db50c0d2ebfab7da20d893e6a7ca80dd30036054027f443a35cca00c0a47026ab4bcf1288005581e033c0751be9b51dc85c1b796a9b2b179d35a66c7a224991bb47609ecc960084807b88a00cb8e740003f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e03e8027f685eacc97d3f67f7ed6e79f82e67cd4c9e1013e466f51925636007011bffffffffffffffff045939da6080604052600436106102d15760003560e01c80637d25a05e11610179578063bb0b6a53116100d6578063d045a0dc1161008a578063f2fde38b11610064578063f2fde38b146108b7578063fc0c546a14610515578063ff7bd03d146108d757600080fd5b8063d045a0dc14610831578063d424388514610844578063dd62ed3e1461086457600080fd5b8063bd815db0116100bb578063bd815db0146107dd578063c7c7f5b3146107f0578063ca5eb5e11461081157600080fd5b8063bb0b6a5314610790578063bc70b354146107bd57600080fd5b8063963efcaa1161012d578063a9059cbb11610112578063a9059cbb14610723578063b731ea0a14610743578063b98bd0701461077057600080fd5b8063963efcaa146106db5780639f68b9641461070f57600080fd5b8063857749b01161015e578063857749b0146106875780638da5cb5b1461069b57806395d89b41146106c657600080fd5b80637d25a05e1461062b57806382413eac1461066757600080fd5b806323b872dd116102325780635535d461116101e65780636fc1b31e116101c05780636fc1b31e146105b357806370a08231146105d3578063715018a61461061657600080fd5b80635535d461146105285780635a0dfe4d146105485780635e280f111461057f57600080fd5b80633400288b116102175780633400288b146104c85780633b6f743b146104e857806352ae28791461051557600080fd5b806323b872dd14610486578063313ce567146104a657600080fd5b8063134d4f251161028957806317442b701161026e57806317442b701461043057806318160ddd146104525780631f5e13341461047157600080fd5b8063134d4f25146103c7578063156a0d0f146103ef57600080fd5b80630d35b415116102ba5780630d35b41514610331578063111ecdad1461036057806313137d65146103b257600080fd5b806306fdde03146102d6578063095ea7b314610301575b600080fd5b3480156102e257600080fd5b506102eb6108f7565b6040516102f8919061284f565b60405180910390f35b34801561030d57600080fd5b5061032161031c366004612884565b610989565b60405190151581526020016102f8565b34801561033d57600080fd5b5061035161034c3660046128c8565b6109a3565b6040516102f8939291906128fd565b34801561036c57600080fd5b5060045461038d9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102f8565b6103c56103c0366004612a0f565b610a75565b005b3480156103d357600080fd5b506103dc600281565b60405161ffff90911681526020016102f8565b3480156103fb57600080fd5b50604080517f02e49c2c00000000000000000000000000000000000000000000000000000000815260016020820152016102f8565b34801561043c57600080fd5b50604080516001815260026020820152016102f8565b34801561045e57600080fd5b506007545b6040519081526020016102f8565b34801561047d57600080fd5b506103dc600181565b34801561049257600080fd5b506103216104a1366004612aaf565b610b74565b3480156104b257600080fd5b5060125b60405160ff90911681526020016102f8565b3480156104d457600080fd5b506103c56104e3366004612b09565b610b9a565b3480156104f457600080fd5b50610508610503366004612b33565b610bb0565b6040516102f89190612b85565b34801561052157600080fd5b503061038d565b34801561053457600080fd5b506102eb610543366004612bae565b610c17565b34801561055457600080fd5b50610321610563366004612b09565b63ffffffff919091166000908152600160205260409020541490565b34801561058b57600080fd5b5061038d7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c81565b3480156105bf57600080fd5b506103c56105ce366004612be1565b610cbc565b3480156105df57600080fd5b506104636105ee366004612be1565b73ffffffffffffffffffffffffffffffffffffffff1660009081526005602052604090205490565b34801561062257600080fd5b506103c5610d3e565b34801561063757600080fd5b5061064e610646366004612b09565b600092915050565b60405167ffffffffffffffff90911681526020016102f8565b34801561067357600080fd5b50610321610682366004612bfe565b610d52565b34801561069357600080fd5b5060066104b6565b3480156106a757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661038d565b3480156106d257600080fd5b506102eb610d74565b3480156106e757600080fd5b506104637f000000000000000000000000000000000000000000000000000000e8d4a5100081565b34801561071b57600080fd5b506000610321565b34801561072f57600080fd5b5061032161073e366004612884565b610d83565b34801561074f57600080fd5b5060025461038d9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561077c57600080fd5b506103c561078b366004612caa565b610d91565b34801561079c57600080fd5b506104636107ab366004612cec565b60016020526000908152604090205481565b3480156107c957600080fd5b506102eb6107d8366004612d07565b610da3565b6103c56107eb366004612caa565b610f2f565b6108036107fe366004612d68565b6110fd565b6040516102f8929190612df4565b34801561081d57600080fd5b506103c561082c366004612be1565b6111f8565b6103c561083f366004612a0f565b6112a4565b34801561085057600080fd5b506103c561085f366004612be1565b6112ec565b34801561087057600080fd5b5061046361087f366004612e47565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260066020908152604080832093909416825291909152205490565b3480156108c357600080fd5b506103c56108d2366004612be1565b611367565b3480156108e357600080fd5b506103216108f2366004612e75565b6113cb565b60606008805461090690612e91565b80601f016020809104026020016040519081016040528092919081815260200182805461093290612e91565b801561097f5780601f106109545761010080835404028352916020019161097f565b820191906000526020600020905b81548152906001019060200180831161096257829003601f168201915b5050505050905090565b600033610997818585611401565b60019150505b92915050565b604080518082019091526000808252602082015260606109d6604051806040016040528060008152602001600081525090565b604080518082018252600080825267ffffffffffffffff602080840182905284518381529081019094529195509182610a32565b604080518082019091526000815260606020820152815260200190600190039081610a0a5790505b509350600080610a57604089013560608a0135610a5260208c018c612cec565b611413565b60408051808201909152918252602082015296989597505050505050565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff163314610aeb576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b60208701803590610b0590610b00908a612cec565b611470565b14610b5c57610b176020880188612cec565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610ae2565b610b6b878787878787876114c5565b50505050505050565b600033610b8285828561165f565b610b8d85858561172e565b60019150505b9392505050565b610ba26117d9565b610bac828261182c565b5050565b60408051808201909152600080825260208201526000610be060408501356060860135610a526020880188612cec565b915050600080610bf08684611882565b9092509050610c0d610c056020880188612cec565b8383886119d9565b9695505050505050565b600360209081526000928352604080842090915290825290208054610c3b90612e91565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6790612e91565b8015610cb45780601f10610c8957610100808354040283529160200191610cb4565b820191906000526020600020905b815481529060010190602001808311610c9757829003601f168201915b505050505081565b610cc46117d9565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d4414197906020015b60405180910390a150565b610d466117d9565b610d506000611ac7565b565b73ffffffffffffffffffffffffffffffffffffffff811630145b949350505050565b60606009805461090690612e91565b60003361099781858561172e565b610d996117d9565b610bac8282611b3c565b63ffffffff8416600090815260036020908152604080832061ffff87168452909152812080546060929190610dd790612e91565b80601f0160208091040260200160405190810160405280929190818152602001828054610e0390612e91565b8015610e505780601f10610e2557610100808354040283529160200191610e50565b820191906000526020600020905b815481529060010190602001808311610e3357829003601f168201915b505050505090508051600003610ea05783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450610d6c9350505050565b6000839003610eb0579050610d6c565b60028310610ef957610ec28484611c95565b80610ed08460028188612f0d565b604051602001610ee293929190612f37565b604051602081830303815290604052915050610d6c565b83836040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610ae2929190612fa8565b60005b818110156110385736838383818110610f4d57610f4d612fbc565b9050602002810190610f5f9190612feb565b9050610f92610f716020830183612cec565b602083013563ffffffff919091166000908152600160205260409020541490565b610f9c5750611030565b3063d045a0dc60c08301358360a0810135610fbb610100830183613029565b610fcc610100890160e08a01612be1565b610fda6101208a018a613029565b6040518963ffffffff1660e01b8152600401610ffc97969594939291906130a4565b6000604051808303818588803b15801561101557600080fd5b505af1158015611029573d6000803e3d6000fd5b5050505050505b600101610f32565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015611084573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526110ca9190810190613161565b6040517f8351eea7000000000000000000000000000000000000000000000000000000008152600401610ae2919061284f565b611105612799565b604080518082019091526000808252602082015260008061113c33604089013560608a013561113760208c018c612cec565b611cf0565b9150915060008061114d8984611882565b909250905061117961116260208b018b612cec565b8383611173368d90038d018d613221565b8b611d16565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a906111c7908d018d612cec565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b6112006117d9565b6040517fca5eb5e100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c169063ca5eb5e190602401600060405180830381600087803b15801561128957600080fd5b505af115801561129d573d6000803e3d6000fd5b5050505050565b3330146112dd576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b6b87878787878787610b5c565b6112f46117d9565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001610d33565b61136f6117d9565b73ffffffffffffffffffffffffffffffffffffffff81166113bf576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610ae2565b6113c881611ac7565b50565b60006020820180359060019083906113e39086612cec565b63ffffffff1681526020810191909152604001600020541492915050565b61140e8383836001611e2e565b505050565b60008061141f85611f76565b915081905083811015611468576040517f71c4efed0000000000000000000000000000000000000000000000000000000081526004810182905260248101859052604401610ae2565b935093915050565b63ffffffff81166000908152600160205260408120548061099d576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610ae2565b60006114d76114d48787611fad565b90565b90506000611503826114f16114ec8a8a611fc5565b611fe8565b6114fe60208d018d612cec565b61201e565b905060288611156115f057600061154061152360608c0160408d01613253565b61153060208d018d612cec565b8461153b8c8c612032565b61207d565b6040517f7cb5901200000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c1690637cb59012906115bc9086908d906000908790600401613270565b600060405180830381600087803b1580156115d657600080fd5b505af11580156115ea573d6000803e3d6000fd5b50505050505b73ffffffffffffffffffffffffffffffffffffffff8216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61163660208d018d612cec565b6040805163ffffffff9092168252602082018690520160405180910390a3505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600660209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146117285781811015611719576040517ffb8f41b200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810182905260448101839052606401610ae2565b61172884848484036000611e2e565b50505050565b73ffffffffffffffffffffffffffffffffffffffff831661177e576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610ae2565b73ffffffffffffffffffffffffffffffffffffffff82166117ce576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610ae2565b61140e8383836120af565b60005473ffffffffffffffffffffffffffffffffffffffff163314610d50576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610ae2565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b91015b60405180910390a15050565b60608060006118df85602001356118988661225a565b6118a560a0890189613029565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061228692505050565b90935090506000816118f25760016118f5565b60025b90506119156119076020880188612cec565b826107d860808a018a613029565b60045490935073ffffffffffffffffffffffffffffffffffffffff16156119d057600480546040517f043a78eb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169163043a78eb9161198d9188918891016132af565b602060405180830381865afa1580156119aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ce91906132d4565b505b50509250929050565b60408051808201909152600080825260208201527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff168152602001611a4989611470565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611a7e9291906132f1565b6040805180830381865afa158015611a9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abe91906133c5565b95945050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b81811015611c6357611b81838383818110611b5c57611b5c612fbc565b9050602002810190611b6e91906133e1565b611b7c906040810190613029565b611c95565b828282818110611b9357611b93612fbc565b9050602002810190611ba591906133e1565b611bb3906040810190613029565b60036000868686818110611bc957611bc9612fbc565b9050602002810190611bdb91906133e1565b611be9906020810190612cec565b63ffffffff1663ffffffff1681526020019081526020016000206000868686818110611c1757611c17612fbc565b9050602002810190611c2991906133e1565b611c3a906040810190602001613415565b61ffff168152602081019190915260400160002091611c5a919083613480565b50600101611b3f565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b674828260405161187692919061359a565b6000611ca46002828486612f0d565b611cad916136d8565b60f01c90506003811461140e5782826040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610ae2929190612fa8565b600080611cfe858585611413565b9092509050611d0d8683612318565b94509492505050565b611d1e612799565b6000611d2d8460000151612374565b602085015190915015611d4757611d4784602001516123b5565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff168152602001611da48c611470565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611de09291906132f1565b60806040518083038185885af1158015611dfe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611e239190613720565b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416611e7e576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610ae2565b73ffffffffffffffffffffffffffffffffffffffff8316611ece576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610ae2565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526006602090815260408083209387168352929052208290558015611728578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611f6891815260200190565b60405180910390a350505050565b60007f000000000000000000000000000000000000000000000000000000e8d4a51000611fa381846137b7565b61099d91906137f2565b6000611fbc6020828486612f0d565b610b9391613809565b6000611fd5602860208486612f0d565b611fde91613845565b60c01c9392505050565b600061099d7f000000000000000000000000000000000000000000000000000000e8d4a5100067ffffffffffffffff84166137f2565b600061202a84846124d7565b509092915050565b60606120418260288186612f0d565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b606084848484604051602001612096949392919061388b565b6040516020818303038152906040529050949350505050565b73ffffffffffffffffffffffffffffffffffffffff83166120e75780600760008282546120dc9190613909565b909155506121999050565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600560205260409020548181101561216d576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024810182905260448101839052606401610ae2565b73ffffffffffffffffffffffffffffffffffffffff841660009081526005602052604090209082900390555b73ffffffffffffffffffffffffffffffffffffffff82166121c2576007805482900390556121ee565b73ffffffffffffffffffffffffffffffffffffffff821660009081526005602052604090208054820190555b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161224d91815260200190565b60405180910390a3505050565b600061099d7f000000000000000000000000000000000000000000000000000000e8d4a51000836137b7565b80516060901515806122e75784846040516020016122d392919091825260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016602082015260280190565b60405160208183030381529060405261230e565b848433856040516020016122fe949392919061391c565b6040516020818303038152906040525b9150935093915050565b73ffffffffffffffffffffffffffffffffffffffff8216612368576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610ae2565b610bac826000836120af565b60008134146123b1576040517f9f704120000000000000000000000000000000000000000000000000000000008152346004820152602401610ae2565b5090565b60007f0000000000000000000000001a44076050125825900e736c501f859c50fe728c73ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015612422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124469190613975565b905073ffffffffffffffffffffffffffffffffffffffff8116612495576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610bac73ffffffffffffffffffffffffffffffffffffffff8216337f0000000000000000000000001a44076050125825900e736c501f859c50fe728c85612533565b73ffffffffffffffffffffffffffffffffffffffff8216612527576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610ae2565b610bac600083836120af565b6040805173ffffffffffffffffffffffffffffffffffffffff8581166024830152848116604483015260648083018590528351808403909101815260849092019092526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611728918691906000906125d490841683612648565b905080516000141580156125f95750808060200190518101906125f791906132d4565b155b1561140e576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602401610ae2565b6060610b9383836000846000808573ffffffffffffffffffffffffffffffffffffffff16848660405161267b9190613992565b60006040518083038185875af1925050503d80600081146126b8576040519150601f19603f3d011682016040523d82523d6000602084013e6126bd565b606091505b5091509150610c0d8683836060826126dd576126d882612757565b610b93565b8151158015612701575073ffffffffffffffffffffffffffffffffffffffff84163b155b15612750576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610ae2565b5080610b93565b8051156127675780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016127dc604051806040016040528060008152602001600081525090565b905290565b60005b838110156127fc5781810151838201526020016127e4565b50506000910152565b6000815180845261281d8160208601602086016127e1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610b936020830184612805565b73ffffffffffffffffffffffffffffffffffffffff811681146113c857600080fd5b6000806040838503121561289757600080fd5b82356128a281612862565b946020939093013593505050565b600060e082840312156128c257600080fd5b50919050565b6000602082840312156128da57600080fd5b813567ffffffffffffffff8111156128f157600080fd5b610d6c848285016128b0565b8351815260208085015190820152600060a08201604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b83811015612996578887037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4001855281518051885283015183880187905261298387890182612805565b9750509382019390820190600101612939565b50508751606088015250505060208501516080850152509050610d6c565b6000606082840312156128c257600080fd5b60008083601f8401126129d857600080fd5b50813567ffffffffffffffff8111156129f057600080fd5b602083019150836020828501011115612a0857600080fd5b9250929050565b600080600080600080600060e0888a031215612a2a57600080fd5b612a3489896129b4565b965060608801359550608088013567ffffffffffffffff80821115612a5857600080fd5b612a648b838c016129c6565b909750955060a08a01359150612a7982612862565b90935060c08901359080821115612a8f57600080fd5b50612a9c8a828b016129c6565b989b979a50959850939692959293505050565b600080600060608486031215612ac457600080fd5b8335612acf81612862565b92506020840135612adf81612862565b929592945050506040919091013590565b803563ffffffff81168114612b0457600080fd5b919050565b60008060408385031215612b1c57600080fd5b6128a283612af0565b80151581146113c857600080fd5b60008060408385031215612b4657600080fd5b823567ffffffffffffffff811115612b5d57600080fd5b612b69858286016128b0565b9250506020830135612b7a81612b25565b809150509250929050565b81518152602080830151908201526040810161099d565b803561ffff81168114612b0457600080fd5b60008060408385031215612bc157600080fd5b612bca83612af0565b9150612bd860208401612b9c565b90509250929050565b600060208284031215612bf357600080fd5b8135610b9381612862565b60008060008060a08587031215612c1457600080fd5b612c1e86866129b4565b9350606085013567ffffffffffffffff811115612c3a57600080fd5b612c46878288016129c6565b9094509250506080850135612c5a81612862565b939692955090935050565b60008083601f840112612c7757600080fd5b50813567ffffffffffffffff811115612c8f57600080fd5b6020830191508360208260051b8501011115612a0857600080fd5b60008060208385031215612cbd57600080fd5b823567ffffffffffffffff811115612cd457600080fd5b612ce085828601612c65565b90969095509350505050565b600060208284031215612cfe57600080fd5b610b9382612af0565b60008060008060608587031215612d1d57600080fd5b612d2685612af0565b9350612d3460208601612b9c565b9250604085013567ffffffffffffffff811115612d5057600080fd5b612d5c878288016129c6565b95989497509550505050565b60008060008385036080811215612d7e57600080fd5b843567ffffffffffffffff811115612d9557600080fd5b612da1878288016128b0565b94505060407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082011215612dd457600080fd5b506020840191506060840135612de981612862565b809150509250925092565b600060c0820190508351825267ffffffffffffffff60208501511660208301526040840151612e30604084018280518252602090810151910152565b5082516080830152602083015160a0830152610b93565b60008060408385031215612e5a57600080fd5b8235612e6581612862565b91506020830135612b7a81612862565b600060608284031215612e8757600080fd5b610b9383836129b4565b600181811c90821680612ea557607f821691505b6020821081036128c2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008085851115612f1d57600080fd5b83861115612f2a57600080fd5b5050820193919092039150565b60008451612f498184602089016127e1565b8201838582376000930192835250909392505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b602081526000610d6c602083018486612f5f565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec183360301811261301f57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261305e57600080fd5b83018035915067ffffffffffffffff82111561307957600080fd5b602001915036819003821315612a0857600080fd5b67ffffffffffffffff811681146113c857600080fd5b63ffffffff6130b289612af0565b16815260208801356020820152600060408901356130cf8161308e565b67ffffffffffffffff811660408401525087606083015260e060808301526130fb60e083018789612f5f565b73ffffffffffffffffffffffffffffffffffffffff861660a084015282810360c084015261312a818587612f5f565b9a9950505050505050505050565b6040805190810167ffffffffffffffff8111828210171561315b5761315b612ede565b60405290565b60006020828403121561317357600080fd5b815167ffffffffffffffff8082111561318b57600080fd5b818401915084601f83011261319f57600080fd5b8151818111156131b1576131b1612ede565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156131f7576131f7612ede565b8160405282815287602084870101111561321057600080fd5b611e238360208301602088016127e1565b60006040828403121561323357600080fd5b61323b613138565b82358152602083013560208201528091505092915050565b60006020828403121561326557600080fd5b8135610b938161308e565b73ffffffffffffffffffffffffffffffffffffffff8516815283602082015261ffff83166040820152608060608201526000610c0d6080830184612805565b6040815260006132c26040830185612805565b8281036020840152611abe8185612805565b6000602082840312156132e657600080fd5b8151610b9381612b25565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a0608084015261332760e0840182612805565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a08501526133628282612805565b60809690960151151560c085015250505073ffffffffffffffffffffffffffffffffffffffff9190911660209091015290565b6000604082840312156133a757600080fd5b6133af613138565b9050815181526020820151602082015292915050565b6000604082840312156133d757600080fd5b610b938383613395565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261301f57600080fd5b60006020828403121561342757600080fd5b610b9382612b9c565b601f82111561140e576000816000526020600020601f850160051c810160208610156134595750805b601f850160051c820191505b8181101561347857828155600101613465565b505050505050565b67ffffffffffffffff83111561349857613498612ede565b6134ac836134a68354612e91565b83613430565b6000601f8411600181146134fe57600085156134c85750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b17835561129d565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b8281101561354d578685013582556020948501946001909201910161352d565b5086821015613588577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b60208082528181018390526000906040808401600586901b8501820187855b888110156136ca577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc088840301845281357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18b360301811261361a57600080fd5b8a01606063ffffffff61362c83612af0565b16855261ffff61363d898401612b9c565b1688860152868201357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe183360301811261367657600080fd5b90910187810191903567ffffffffffffffff81111561369457600080fd5b8036038313156136a357600080fd5b81888701526136b58287018285612f5f565b968901969550505091860191506001016135b9565b509098975050505050505050565b7fffff00000000000000000000000000000000000000000000000000000000000081358181169160028510156137185780818660020360031b1b83161692505b505092915050565b60006080828403121561373257600080fd5b6040516060810181811067ffffffffffffffff8211171561375557613755612ede565b60405282518152602083015161376a8161308e565b602082015261377c8460408501613395565b60408201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000826137ed577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b808202811582820484141761099d5761099d613788565b8035602083101561099d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156137185760089490940360031b84901b1690921692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c820152600082516138f981602c8501602087016127e1565b91909101602c0195945050505050565b8082018082111561099d5761099d613788565b8481527fffffffffffffffff0000000000000000000000000000000000000000000000008460c01b166020820152826028820152600082516139658160488501602087016127e1565b9190910160480195945050505050565b60006020828403121561398757600080fd5b8151610b9381612862565b6000825161301f8184602087016127e156fea264697066735822122049625b8c96c485b696da90337192ca1c2ed96358165f15d54e96d693ecd9c16864736f6c6343000816003303d403d19d257ee9596dc41e44cf6ed9ed46d08f87a69c5dbf55d04ea664a4588503262d1ca817da21bb7c694c0948af2fc6e1d98a72588f176c96196938a025c9d1034fb8c6fcd5ae1941a3148c55215d6ddfcb5a2e806993f53177b450977fe1758d03b965df9449875fcce8c8bd8e8d0ef608b96b0a62f53ce11e5dbad6d44f767a6e030178595effbbf321539af1199cf1d491db2634ca8591d75b5b4db4efa86c4c0c03844d246e9431f8f838750109851be8c4823de0c8f2b5e8f9001db2c79a763b3703be85cf19a0b7c384a11d057fc1ad3523754e44cb8afe48d7e036a084e4ca60290304a8af1fb9bfb502102f953fcedb23cb8fed2a068695ad460893dd0dd1c804cf03115c3b2024d7bfb3166ff079f2acfadb29fda81f398603c8ab5e7dc1ae3e10af033d92156d2d9dae459db7262a8943031c7feb8a39fee0b72e5c42f15d78c7e8b70366633309ad7c95fe12056ff7b8ac433f057667f3b0f337646c842e07cbd2e97a037267e985f06cb286c554f24e220e16015140ad5af4689865b90e0c3ca42c796a03d66725c2bd7f874a376470c88930006796ea9d53449c3a1e1c0af0198f65db7403369b1e85b290eaa05a89fed96371edc2ed24ec8d129e23ef63df8b89f674cc26032db27e98f04527ee85e94f0fd7a0bf63a5f90461aea168e2f6ac3a36e93a9d3d01410600582003a3dc9c9c4dd43d9920c21a272ee70b99fa5413f95438edc2a50ef9d525db20493635c9adc5dea00000005820036741c402769e224405493929f8c7621b7956684d64895efa6181e7ecf01460471090f94a967000039606cbab5c7d39077a40c2df0abc50ce6f27f8dfb62b02099657c320fd2e943a03fd04566a5973a8135c7b043d23d31600a6d735ad28c470d440ad154134753d2a00581f02a5f4d95c486cb457426570601befbd5ac15ffc8889773a026199509a5aab4a013b4af13975cda6047800581f0264906adbdc864608725fb02d9c65860ecc608465c5e856faf427730f5b39491043561a882930000000581f02c3e2a86485f5b0e52116ba601b64bce9bc7465799beb73be57b9dc868db45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0282a657889f8fbbe524929f815591fc5581f6bd09aa33bd7ecf7c754a3ca14902068932381a7d300000581f024afc1ea3fb81470a2941380ae4be51aedbef8258aa926c199efb74ff2a6c4a021e19e0c9bab240000000581f02592c755be47955c1ea5056407ed718ba818c23ae47ccf23974acad0e5098487aee86228acc500002192417005820035125e66b2d5157d85eb5722eff40c4344653e65d0340ed89862fc3cd0bf6b04a0205c419b6dd3bf88e0000582003eb2178895e8455c339bfe9bb6747f7215d011cbc5049393305e6a3346e9530490252232965d1a8c000030efea2de7a61fdbf575780cdec8594749a7562e67a31c3f8373b9e3880d73f7300582003aed1b9b3d5e6256fcaa42a59593a82aaf7336e441dd3cbca8f0bcb1b0ecf205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003da858b751557e360c7c755aae3d5520d495eb189b3168a17643083585665b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dfad0bda8039843d9728d92ae8a1875d91e895da321717436273272b5769f0a903d3574f50e46647d86bd0e5a5ee636515dbd9e05413ab9ab1d8c51221b9219ca40219f7fe032e69e7421333455e38eef729b7709cf0464e17960e4306c202d70c85f5cc7cfc03bef72ef05e3d210c64ad173b629aad8dfc494a2a1cf7bb15d12802add7555b3f03916de86d4e6e0401ab72422f482c19b8949892886addf868248070e821941024038e14fe4a73cd98ff29f3eecdda029785dc92a506aff95f5db699cf89bbccc9740304134fb30a332d49c5d2692cbbd3b50478c3151e93704580e2934231519566c80326de66722ef5b2ac8c61bb59c7d895d903c9f9188687c6f7627a9c75c58f23e30319024c756fbb3d689b4651c808d01c755ffc97b23a05dcc7a67567da27fc5cd7034e314d677e4fcdb7290ae160318664bf889f88430da50065e39a22e33b09514b0310fa255d19d0327155183217f8bc06c1bccdcc720da7a6384798b10ccb48c6780219ffff0398d4a5b5f17e7d299838a6480819b97843e4b6bacf04e8a949e082e5c449143803d947f9cba08f31d844bb2f3f5382503c2385b6be2e8204e5b839f972d21e8371037a3b68f7d21dd6908bafa1f6cb6dba2b9b79a6d794485c900af95d24851095930316e0d7bddc3ca115baecec2534782be3b21821d45d205ae292392f638a809a6b0303536bf21b320a9c92c5db3e7561112ac3a0675e78956040c496730d1bee364c03dba979f07561231c1dd2d8883afbbdbdce6834e03ba6e473827379602ebaa43e0389bd80d66a87068517bfae6af88bcbc622b8ea447b22b1bc27c83256b922993903151518127533b2ed855015fb35bb2525d58f3cd38eecdc4e4aadf7602dabc5cd036f71a9030ce151fa4720e93e8e300994d6f5490b566da1c474ff6dcc761053a203b9f12bdb35577810dd562ca95555c3e5e25c34027b054080d0f2934923f0f61603f0a36fe32db157eb276de2232d13550f813a52d63fc4b2f6b6249feb4e67f3b503f778979f45e7c294cf57c952d0a9787c2f9fbe3ed746c31cd7b2c9827d29cbac03b1f1c1cd8d55f5a7c036cf81de54de09589c8d96795411171f675b4ab35241cd03f3a2b5a228fcc77e450875709390a5aedac08e9a5299ef9cc9080c3f366d720f005820032f8b68c9494249d955589fdef829f5ccf3b91184398868b5c1a5e044a97f7049021c237068c7fb400003310b17b280fe033fcfb1879f33aca04d3b279a686293305961a5992a37c0897e033a6f3965c83e4253683dc94296edbae8a1f9344e1d0ac43d74ceaf3d671008db03aa4a7ece41e76153148985d6ac222b672afd2694a199aa36d825afac3205066400582003cc823d9ccfe3483d17331123789e5c2f069bbf8a78daaeb57149718aaa3120490bbbf1ba1d3b8130000058200356c81c56c0eacaf22efeb31b3e5b0da16915d1cc60a2f2f9ef60661120b89049028a1cb66c3d2ae000032c1d53bb2784da029d026b7795446a3c1351d7a0edb87ef34d413c8bfc21bf90037e29f120dbd34795f2a72ddd555aa565362e78342968e8dfb931e397bdaa6890031aa8c83fcea938e15a05d8f34b8d8acdba0ba07b01bdb4753588df41081de91e00581f0228978d66d2ebde6a17d3fd818e262ddbd4d6665ecb22b88e31c5fd5fe1ec4a163eddc8f66c8bb7814700581f03f0af1c9041f142386da6bc705d1687f8d82733ad460e82b44779cc4a3a90481922dfbc4d4b800000581f037bfd8ba39e5633e8167183c33e54cd85c02d60efb688009106b499c3a9d04a2e371e6502455708dd4b021901020219400103e0c0db99d19f95a28ecd63ddd5028b187e0d8017ce1bd0e7e2f4fe07ce050bc700582003020f443997a603aa2571d6127484edee4d4ece85c33f715f33db7898973a904902791e72588f81300003b6e9eee6de989881f1be545451e24039fb0a26416d090d9e802739a2412ec4f20219ffb7035c71b61c4349ab88241cc5ed758cde13f3b30d489d4ff3bb56c9043d2f11e1b3037994cb31f62a7b32ad89ecb2f5c81b1a3cc74aa6e8728912dd0990d6f6cb82d503b3da3d67add127b6bcfe8f9324acc09575b3b65b079ec2cdbf84eceecaf82c2603ac2244eae3f7c9aaa3a2497960edbfbb6de6eff2515658f7bff9b1de71131f530219ffff032345701d4863d5d99a7803672e2b9cd6a99882ae7055c97297748d405648a34a03a350e3c435d0094a6dfbce304475cf67b9d69ba66aa6059977499dc88fa869e203b0e20b4db369cc8cead35f71c56ea141bd14dd80a58abcbc741d3255cd356f3503e72b1cd37ed0a349ce345cd179142e992ff7af4f6455cea7e23500361b9d22bd03662ddfc41821020e6a5468130def8ae2776c0e13816d6384391cd4e6df2142730219ffff05581e03c5a426d97ba2f6cfe7bfb6134494cac7dc4b91dea5f70325d76f5ef0a007011939da05581e035e13716d92f49bce57cf23b15fffd2c6229d55484575c728ea0cc579d00c0d4806d5f0b40d621a17039452a22dad578c02fcbf018305d132e68f43154048df927955b8f329dd4972ef05581e03b39be7334b0f106c17822ebb7e34d3e853447ef70f562f9aa5ff4134a004020219f1b303c731d8854e6114fdbbbc7e79e1cb217703ca93baa747d0397279e14acc81572b031b626cbb4504624ab5277d4548164ca54b3c83dddb38fb64b5a813ca588af80903ae7a815b58fb4cb1c9692ab11e1ec6b1facca4cd0d522d1d441533cc3ca551f90362aab2021c00ba5192e7fdfbfa640cfe780179037b341593c31259f7a83b11c703ec2cb3578fe936d898bd04ef0831e5b0d9b043781a1598e011b9ab3a22b8ddd80219ffff03ba2b89e81ba630f5758f2c3aad3a3d2071741b132432d8bcb114487b4cbb1583031ea42b50d1b6797c9fe5ddac65ecef00d7a9d47adcf0a77c5dd3e123d5b4561f03f81fcc028850d389f27c3b52eccd7358b68acb50291c6a6f31732a46d15379640337ed8ec5ee1c8975ebe2a2f01a40bb07facb6bc47e96cfe1969390cd58b449e4037d026470b815b4b4369b1f62e561c89aa357ccc91c7ece488768a6a4d771f9e1033044332001d4ddf894fc7fc9b98a4dd24144f4ecc7b9156fa572a25ace7b54750390a88f6b6ff8c8352af2322cbfc39da0e4ed5da19820906368f91a9fbbf7b1ab0303d54f41d51d75a70c81244a2624e6be79225ece0b6cd2b8cfcc1387fada879703f7ef078f1e629c30b6fe9a9b04f6f02098ae69e8b64aaf7d72abde73d1a322ef03deb006229a51c104a473013446e46c957d72f6a9cf4d230dc45459c015e32d6d03c2b051cc3c581937090a6fe38714669850a6e5634d5140b2067a7e22839d689503a1623db8651a451a58b8d03cbcd8220af72df2ac898cb9dcb120a2612ef14ad30219ffff03a0586ab6f9686d5017c0b0c6affa87d7535b8251e3587e490758fb1ba0f786e1036efa5b69728a5cd83ec6816ef7ea357ee2e63767bc9df9b3ed5dce9e3790162b03cd7df0db4447f610c44e5bed23369d1b143e19c678d082582cc60dc7dfdf7d52032fb1c7b84f3dc0de4deb8938baabfc6fa1fd632d8ce3b4c4c3bf2125863228c703c99f6b6f4c84136172069eb3b2cdf768c9f4ec0d1b96b43fce0322626d42a8e9032df11e556c98b66fe46b24f4eab85776b497f41b0d499ddc9b293d9e3686287103c0d4caa85afbd8ceb26506ac511801efbb5c191f255da179a5f36eca14bc12ae0346c310fc84f04958ec62e2155571765fd0a7daf01f250d51e2a42e68922acea803b83bb0adc989e384ac82fc210461f31fc4b80daa024d7aeddf74993bfb26b1c8033db291466a11e24a38d152044a2e010e46e980f632b47d3f975db8019d48398b03ce453c15a353e102e0a7839b930aed2744414f51b953166489944b0a2632aa5d0310a7b0f59c03ba6dd227ede729db8a271ba956ac30971924d17ba561cc8c0206039449f64407f980ae444945c253692fdb7e32e0328680d5ebc4fcda4f948ac0ac0219ffff039f803bad3ac1ed658b79981c5e83a2e8bb58c98f84433472b83a11ce67d61365038e2b0755b3a68c8443062ad621fef1617c96022c5a2875bba00525e6b754b39a037af320a281a34275034a605385e10739e3d32428b81ba23a36292ec5241a3de7031a4f57c342c6e55afc6554916efba0769a5a3386388ccfadc22ae4623e3f774e03b338d028ff30e19be9775333d7ce0e7099b46d873a8adae763bbbc3cb074351d03f09cbdc359ebb537b734113d8b869cfe936d2a923d127c53ebe6bce12422dace03a7e8297b6195b5b87237f35843aedab6320267eb85c607cc081cb5da89668dc90355b27d60c638f06f3c7192e025b9572f3efc99b88bb0a14bd2b0dfb46845441a03c8d8678c59773f03cdef7b20d9bd6edecf0514e9107058304c140c6937f51c6f03008bc0a3afd07b641003bc543b64c4b6a862e195874cd373b0a83c8250484ea803ddb68d83928dcbda5a882d42295d7fd64791c13548ef4e56a31a64d0419f8e3a0367f3036b15a5b2c07ae4eb60b6016e63807945acdcc9c29317ff80e252f7e1ea038f5d19935aaefa36ff8797e94aa53651463cb4019f1daa4e80faafdd835d6ffa03a694819b7cbfb827df3a1f96ef3cfe7e93c378691b60c1b144cb5c9e2f3dfa6803c209d0692750ceb75d595a65aea1db5e72d8eff0050b1349c92c270e8934ef5c03d9bf75e6dfa6f273080a69c0b8deaf8c62c45f601782c7d7cdf55e5d38792cda03c25eef020f824852d622189a1187155f879fd9d9c6bf9db72ae691df648b86230330091474e3f2363a06110a5bff9cd67cac69fad05b7348b56b967c1bbc151c5103a6190f853e95f7d2ba1e588efc6432ba1550ac44e700d2466029c56f13df3e81035449b408e7b98732278f7e2877251b355638c9224766729c18fe0b51e1345af203cf99b14dca164f14d0ef5db7b809a20324aa915711f7da4db3768c518257fb8103473a1f694d4026b196a4c37afda4a64a794c91767e638704f18d989c56fd394a0383638939eb9fae8eb05f06c753cfde03c7f10a53372bc5f2d9bae683f25f92d503f8092075f2ec37bb350f85a9166ba9454c946f2f59340791d9e73308657c5eaa03d530cf27c76211d919db472512e189f8885ef5bb86a79dee5978468cdc4807780342cee8181c95d3e5e8291f235b2b3b424a68c510b52a20daa7e7925b29473a7c0390c7a9df074f318470d473508950e452d4f720e3f03653089ca35d4308c68e56031719eb70387561f96811a4b36897a5399847b9062d4bda675428d2088949c5b103d49565f58ea1c16b6f0dc339e56938e229cf03f58148058fa886358c1c33c3d90336b7611336d9f1b0a44625db63350dc495020682d8d28089b9af5915fc07d96403bf4f4809ecb511e0126b5430bd101246912520b6c4c2ee42d9fbdfc715f7ec38031078c693772f66e7bbe28fb38672625491d6e265ff2910d7056c36eea212e1ff0310b7b0e0389081c3dc46592fb53752964c70205bdf6e334efe05c94f7b82441503c077f1f72cd49f222bcbc82fc8a363266ade4a1839e30d1f8f353a96675665770385274123c6333ec9aa3f49dfc3c0b8eb322e9b53f3e609371ea50388d72b644a03ef835100fc1357991ccbfe0f6207a7077a26efbaecb8e6c1eb8b5048c6fb836605581e038eca283c5b55396fa6c7741b0ebcdb9dd9f546714edf40d649296ab3b00c0647135fa368cbd80005581e03c15ae7f37d5059f5502ce5e5380ba4e8077e4cd63e93e05725bdd3a27004060381473d17b5be4c9119b4071cca135fd01ee00aa745d254dd7b80fbf544d7aa4603d86ea651b17fcb314c758de37f2dfef7ed54e99371f51eacdbbe669061732ff405581e0345b1e5998963fc35e12dc315f06177116cd249c715f8586a8b0487fc200c0147021bb7fd88fe0005581e032ecfec3823e38bee81018d685073e41de4ce464a0f8e49f265964f5ed0040405581d02c84d99cab186149ef5ad6b026cd35c16af0036f27d51c7170f3ddaa80c03460aa9ce27000805581d023617d59ecd4c5a3aba52c0acca988ab06aac1a1cbe530784bfcb9c6a0c0347153fb6addb06b505581d0274325cbd1364ae83c68859b3fe647d180ad53ee8f7583e60b7c662920c197d6f481713870f17ed829a05581d0255255f4262d50f45f65c8c4c72d179ec6f4052c84dc74ca502c22e370c0246b9f761d297a005581d02861695b5ff2d9ef4712f2831a8cc4fbcb794d22aba777839aeb822030847187ac8445c40000219433005581e03c90272164f2905bd92210ec28b095d64a4177e01d297700b8af8cac2b0040305581e031662bddf4ba4f375094614f9ede79ad669ce702c4f3b4e29f2003a58e00c0147039401b60830000219ad3503153aa971439e164389011543d950ba539f93971a8f8a0e0d7fa28dd0c1e9f50703fe62775c9f9be073d87f0198732bfcf3e8b7069712f807a4d33280d2f380b7230219ffff030a0a222970b519934165b6f83938190304635e320f8c88040d9463e74c07ad7b03d9fca082131fd357ba89a4b5aa50b584adf658839a2d1143ddf03ca931cee93803a128bddaa6957ca044fe98d80003b9cc120ba60c7ba7129721148485d802adaa03c90ed5112aed193dd2822f43fe803475bda2a4133b284482bfc3f84e8aef7947030ff651c3a9ad2f32ef519106708e7a312979f3db6056910e49cb888862a51ecb033af443f08e3f7f26d909ab0b62088c8565467e864086ed50548a9bfaf813cf3d033841a1ec74d9dcc8f282901c654909d7e3c4319dfd5fb63c48119ead1765a668038686eb9a9c6c3f40186906549a947ddad5e6aa4830d14174a560f127f681405703f9b9090c6ad39816d18f86a0d80ab4ae25e05a78291019f2e7d58bd81b5cc56203528c5561961865de897383c65c74f72d6c84a6aac58972601cd8bad9c70225c803e00b208331841613a10001f10b2983208c6b4f0000aaa0cdbd8f19378c92fd3803a783804b4f14f19f8e9fe1e48cdd307275ca4bc8f2737bb9cbf16f59cc14ec7b032a4adc004c48d6589a67d0188df17a3e7f2c39bcf1962184cb6269854c56cdad0219ffff03f42ebad9b0787b58144ce9e6acfdc3745f9b652b952572cef73cca4bec18275c0219ffff0331ad95d605ba120605d442e162f838140859345353cb562e512fcdd0ca2aa7f303403e2b741ec90380ee6dc6fc4eedec681f169e0656e672a95e91e519755b2d39039b7fcbee22a369d6688cc995502c1a13e988d366eead52d3eede318341ebe92f03383e081cee910a896092cd8693a381d989f6461b20fb5a5331951d2671f5df85030e4002bf9132e7ed8f2487e5228538dbbae25e0cd2d60d08801f21aea1f350a803925d2512e2d50633b6064eb747e24ba8ac21d4a1a4c00f66bdf2976b29078e24034ac87a67087f26ac173fdd74950304c7c2a84d1792d643970cfbb1e3824c6d460219ffff03941e567aa51e0046e623a1f891758655d986857dbd13da76a77a5827c9d12ceb03926d58afc416de24e6d1e02ca6f20033004f3f26e70e5e7b1ffecb62f50fe1b70328ed3496f78a5828506ca39defb1caf0c8b26d04b7ef9d8f8b216176fb8c861203d0eb0258e629e0c4dd971914ca556b16908cd5349359b08ff650d5312ed2ce830356663d08544edca837dcc4ebb11c52cd64a91ef7a57a260719f2010295b085a60353fc68e76f96860d2237555941fe635df5fe70abeae8f1813d33ac40dfb88af50335f99040263dc027eb4ae14cb95c172494efe5d74db51afd9809be0d46db045b0311d134395f32e71f921752168e12d6822b0d127b5ea0ca7a594ebeca656f2dcd03c56f77473fa779a3dcd95b2b660faa9eed9382e0724e801cc72707152ac8727103d2d574a0d3a152b5d762ad393cdbea4524d281497184de78a86603725d1b82eb03a7fbaab3109b98fa2c5ed63f9db4a597f1396e33b579ba1825fa68ae375fe5de03c33c7dc03c0afcfae6b2886afda397a56dbd789a470f7f8169458ed35aa9eecd03799c248fd48e9763743fc8d7a2741b17e06eff507974608adb0e8b327ad03f4103b97358f9b71d5bfebf04a1bb08a4ba37367f55b7355083937b8cfe951d3b2eb10311ce2a052f3e2d6329c2c1b6ed11e8c9e1aea6f221f2bc2b7ad8bed58b9d9e600356be68066b686b7621916d2813ad22added3a0aef72424293e6fe4cbf157432e03d06a361c83c1693285016c2fabbc1e09088ebc5db3e4c6ec856fec179afef5a803258728fe8a99e31995c2542d055bfd05980f888f47344a1af1b6e845dcf58a9b0396aa9f7e36c6ed123e44d1918000ebf5798f06d05db818c7e7e17ef74a502d4c03281f5055a2d06f26d54fd68806f140d461d96193d0f13f2adff51fbfe0ef09b403f0f0b5cf3e734d373b10c6893f70942f9bc44460dd4e1fd08f586dc1a43f26d503a44833a3fd4557ec4eae415c189627379a9b39dd8be81ceb366ef662e2c2de7303c789f56ee484eab19e0601ca186043ae5ebb8d66750a4cf7f1851c59502fb00e03351a123b2634b17bbb02c76d9aa8fe71a70a4d23f2cd67c84445883a5af344b503a68e1ccd08816bfbc8f48b4381e98d9caeb23b0a74af7b22d67af00fd13d50830364ee82fcbe2acafd84f19b1f8d4880905d5a0adfebabf7864d8bae1744a1516305581e035ad440a4bcd47bec0b8a66c7c11c91c1607eae93cae83ac06df40c5dd0040304592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b5703226d9cad2725e934f41e658488bfe20bae8eb9dc42772124a383d9d1fd28652c0058210376f925486c6d0430e1ee8e5bdb91b87fe802bea0b6a1bea169a2d14165fbaf604a01c4be60eb122fde10030058200238e9689977d526f580531775c606e5a07c1ff4f40a9ee98e4cca4fe145a2f44103005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4f1a2cbc2a9f8c39f80e5112f423c210021942000058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820ec19e22695107ea827a9378f971e66dceca5ab4112669f2d82c865b183be054d005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8540940e8c46662de10a51a17918711b501a9e2fde402184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687cb1b0000000000017d9fdefe5940c0bb00000004a1f39200c276875763950058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f546968676661ac9851c38907bdfcc22d5dd77b564d0218480219b45505581e03440e97e7b580f452b05a1a6c2a91cad95d2ce63ef034554cfb1d8231900701192c1d05581e037cd8e912b89af3b75e4db3bc07997fb0b55c007a905a87005299b89d00040103844f2f3cc56b83f397e04eeef47fe68e4ab9c00b0f150cf02adfa52d4c2651dc03d2ce842e3e02dfca11c38d49d8396da926c7d09fbc79f47f008e56cc32adf2de0219a92503e59010579e1693b1acbad617e455d065deff27755ff40392cc0c68e30774365f0399523ae9aff59ba80f056b5f6f02d76dc4467c2a211ba76fbea3d6a99506a5360369d8a8d4f4e43fd2a0ddc9df0120584f3af26aac1b4fc9da784194c279f73f69036765b5db56054a18555fe5a9bf36809e1d4faff56e604688b9c387891d980952037332810a3f564cd1354481db9b9eeab17c81eeba0b4463fc1e7282833b131bfc037c9103040b3f09338fa46d75e5812f6298a8d309901bfbe4d8334b61a3ca6a490219ffff03ec7f06fc45910bf02abecde5beea8683c070448cf3d6e6d86b3aa73d85f915b9030ec2981d5a308a37810a05e60eedc9666abba8c4681bc81babd76afaec16291403e7f6e3f77da8d50ad73d5a18b8a30170279885d99084f6df9f0cc80c747f74580316b9131c9d38ceebefd753699f53da7682778638cc1d81f3f0bb864f707466aa0219ffff03dae5852dea58980abf4c676aec9374be290ee0d034aa9685dfda173be8882092032c284bcc614cc73e1ca51e209fd658250486cec290de08d46a51c8a48929b361037305b92cd2230daa5a7ae409220c22a57f7bf97130966a60bd32a9d32bb6685003277df875105fe12805113b876f8e27918b5a54e2e25dda3403c56d6edf360a3b03a701cb9b20ad2c5aa9133afe0364dc1af0e8412ca727c0a17b8dbe75cac606e403f395fa0106da75485c76bc9fd03186ff38bc05596c8b423c996778edb1b919a903cc54df1b5ca08450125ba83a79a85dd001069f09247974cd1303af2feb1ad243033c59aa4778fd308e60d79274dc04ae5b855d5824bc2c76421a6fb7eb026ac12b03588706dd506b233fa7d6357c9a09a0717fac514d8e91083e5e4239f4f9c34e38031aad3c7166fe7006c7cadbf43f9384047000551403baeb42d6662e8f063e01850399a5d9443aa75d368bd3a895dcc25614a58b7afc47bbdc2974c0cb619259a9fd039e4104999df00df6a8056aa02edea476b4c86654aed64b0fa6b547b5919e98e6031461c1eac8616e3a19a3cecb32a3e8919b5c0d6a46faff4dffc5593d58a7bfa103706a91dca2da72424dc0d317efcc93c2fe7aaca0abad3c282fb099178884cf500219ffff03d8b03608dbd575d6f107df89b302d6667dec129e4c1cf2b16da6f58f64572f46038b788662ba43bbbcf8110b95074d5cbb660d530e8c8d5ec78aca6f9aacc1145603f1eeb622df92af45fcf8d390e8b6b48bc59e015f8dc4a673ad5324b359d1cfc9032c0f892cc73088b4c1dad5562c4c5ef8512d458d19dd61bb3798a20b5dd3db9c03cbe6a232a8a081ec48903c5ba4bd7496c537302fdd01d722d6429261019503ee03636f5c0aee566e655335d6ad6a2cc9926a681e713ed4b40c8817ae1dea88d0d803f18746ae7678dfe77eea21de7be3f3a5a8f3c3aa533315ba488a425dc92af8aa03bf94a897fde43af2014beaac3dac3929dca1c68e3c6c4e05e0d7833828767deb036cb11bcd0927409ec0c8fd2e96f585eb4adfb8d165ca5b2aebc31f7e3e821a7303d44b9de3ee704695415fb62fa613d457cbe808575e1d5c2a5a757657c6f745b80329cd16b8bd68ad971f9f001a9cb430c8c804176b11819764ba5ea9bd1ce66264038893e072be806462ce294679825db5f37633da4d0ff8470b7b2e86bd2b6830a90219ffff03ea2d4d6d494bcb56e12b82063ce4c9b7134dd3dd0844853b0b4bb4426512ff0d03849c0d57949f86a5869759f858f6d518b9d88ef8c952091c1ec6dd077e24724603556afc113631682343817fe721ec203e38a00d21e4ccf5c2b9fa9d371fda049e03d31b75a33fc1444d64097aad50c53337c0fbefacb05956fca0b40ec1ba13bd1203a50f4c015b2f639a44d61af5e347da7a0dbe1d1ad2fec442224529c789b6e0ea033189565dd260a5b90f3ec86fb851173733bb952e766829f8eb5204b5c88e2fa3032c39287f0334ad641acd9ced765a8e28cf3cd954426aac571badf2f9a874dcaf035dc89070594b775e37eba30997065743cda7f9d38c153523632941dbbb8b49ec03e30ae14d948fc0739830b0ebfff9c861a6bfb840771ff21c181c92923e50332a034f4f9f5494c70dcbc2ff476d7da4873a50a6e5e5ca0da2d213bc917f83880a490390f1b9d830c63053f401a3f43c1819b60019dc23bd011aceeb076f7118ea77f8038df49d0a917c736bde8c923bafb244a007f698b8ad9bd4c88299769c2af95f3a030c63d58e1b781ae348314f4020cae5be79850af7eee535f10d94069d9bd1eea30353c9b2296006c4b68c4af4fc7720c6f3666fc9389deff48ec1d2eb0a8cdb1b7b03b9ae07c79dc6bfa6a9f51d33490fe263a3a5277b8b73d1343bd78c26e0aa4b0b03e652a10b86ae0bcd1664600c33835d30c66f0a30c6c1a8a6f19d50b909ea3786038aacce60f2c514963b04166890a964ca5d340dd1002bda4735ace7da2b050aee031babb3700e5fb4f5744c3bd2e3292d74734d435f5780c5749afcaccc39c29f01030e112c8540986bcddc661c32356a6db599c523e63efabd24b92289fd505f78be03331d1fa83d38fc99d5e72ec06ebf4cbd2670e72de86f7abca0af6a3e7df34e1403d2e6ae318a33cea30496e62fca905a4dd0862569236053280a7c717733c7c50e03fe437a37f3fd9ef6eec8164dba35ce61d2b3707445c2b84e5625d8f43ea9880d03c2c9c0e2162087ea6ab5758aec2d777225444fc8c0a64eb4305d6a6b530dfcfb03b45ce69228e42b91dfc8a46b5a91c58dac5a733741c00bfda767ce82dd5af12e03a329128d2808525fe99ea61f0319e2fdde9633ee8c8b0bbbf8004ebdf6b513f3031098aae26d1cc93ab8ab816f4810fd64f442c3817d2b22f47d7f706019040472030a3c319722116bcf05b904c50f68f7839b38eed50012ab4dcce8aa0b76acea0f035cdd0b995e67a599fac37bb121d1e82980fea35679c7e419c622d1c43f7f32ff03a493240e071426aa8a0918eb9f1b7fcd8a1013651faa8367e37c417b5326695303e03311086e876441ca22c1991072511aa38008fc71e8f3ce2f27143977ac8fc8039ef0ba4e9923505f67092255ed00a9294dd57f6ac8c9f9f1bdebfe95e622322d038aa993e087d387611e1ca6d29a682cef084b2caf8511a3fa933289e2c2041ec6037de5d4b01ac618e1a915f750e36986708f25bb845a444f66827adaa3c29918b60384bdcf4a05500b7743ba611ada4b3bc8d68b3c761ecbfb9c33fd15b0142a22bb0333c1831a2afd2f6827baeb4b97cf33c462bc93f1d457f83d3ec187bc1a05cc0403f8cbeb352e878bdf3afb6c8b7b5c178a7d799fc8a505ec89f9d245633196eb21036d0871a125d31b8f04638a7f26d6c45906a44ff02a917a45108f2fc00fe19421034d9006fc24492e91a71d7a3f01d315d5abfd4bcbbb684744dff5a6f335461c920356155d6f13041bebf5757dbb4897b0ec586d5cf504c1ca93139e5819fc3bf591036cbec11daf2332bb609977023101c561732dd6f2db2cd7ffb661b76c145a4c5c03d8d9099a11a44dd7ff675f92f0e860b0d4741d2c53abecdfa561ecd55281ced405581e0359032d2a1268a62529d796e22392b8ce639b30b80525fe6c2fddfbeb700402037ce14746470c2ee9ec5cc96eb23d1e56d6fa7ccc2f0a77d8d9aae66ce18a5c0e05581e035cb48a2fd9b0a566bada0f44cb6b632bb31cf1254f4cf755df3474bda00c0147207bd25efc452703f2a283523ff206991a812ef83d99a68a7ead8190b9cc26144eea0039c81674c7037ce94fb5b2e12cf0fab8458720f26c1d4aafbd5bfea44294d8456a2aaeed896103b45b96e9ed432e741c3b31e77dc77caedde62b6df35fb009de0a72833318049c05581e038cf4a4803d39a25d48f5cf76e990c10258843244fe07f83fb4a92c7970040205581e034932f92ff53f7a75cab4826abdc7d7afda77df1a4422bae07f8325b3f00847bb78201f0b180005581d02c4bb7be034a349fb43d3f32ec0c4845714f922e1d1f1d88b7fc3ee830c044702b6ee9876fb7005581d02ff2983b9ccd9ccfe9162ecb300976ff1fa2232400eaf6ec84fec2edc0c18f64754b6b253d6f65b0219084003a0f571261dbe8c56e02cf7734d8acd357a77c6f7978f84552f0a1ae1b750a7c205581e03cb955bf11a749a46e90e9ab17f01e2065b5cba174b65c3d8051ae2fad00401037d5f4d5123289e3b4ab3791c15dfca262aec51e6438fed358dec1e72423e5d2e031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e0323dcd3f80efbb18a4821c97cf133a911a5cee8e7d2d9a9efe9c86100d007011bffffffffffffffff02197efd032d57353e3209e305c69862a57728fe564ea727273ef0744d0905feecfa3a84c303d8b3af765b8cb91e2d59b1ba2a1248228a96690a420096c49aa94bde2ebfff2203c48f4a292a103cf401ce43f2d05179474fb699cdbaa3a6b389453669b9f9bc10031291f293421e3156529f5d67548f40950607c830044d86c335a9cc957938140b03f0242bd74c6a87fd307830060c1a1b3cf15f1e1d9f69de992f14e9deae6a9a6503757dad227084a0d51b96707deda8e3063c85814e9a6da9b7a803a8ed17d1814703bc82bf72a46b42010c2e10d40c3976c268e533af428456dd0ab792f36802ab1c037ba9623c440efce57edc102ed3d39fcb04cae7b8f6bced433694e790e083199f03d4d34522254ff6929fa237125691e12fc026a1e3dda6e45fa53da44b8548f4cb0219ffff031bedef05a6f6bb6f143952d536f31235699fdc7604d6e849b7d5738cf8ec0d57037e6b38069f600a51dc83604d6f8f3170b6101fd655051ab698c8c9d5183c45bc03a6913599f88268611b90a0a7bd2415f1d53280d997fa06223dc7316ef9a48828037e82870e9d9be9eac38118f8c72714bd1c147a51866342ad01926817370079440219ffff0219ffff03d833c729014d3607841b0c350b9b707a2ba3ffcce3335d644d664b887eff8eef0325e3c15849cdf189daaea47a8a58504c2ce0b9a98a7e271a130c35af4e308d530356e4617bdd9b2459a331269f550c5bd4bb1dd7338eef1997c6bfa2adfd5fffe203d89850282ed9f06e1ce740c3d2d309e6094258ef78023f6e36b9b6b5df18a605033cb11592f50291da028229acd6b3fd0c73a4db070f61e43d56cdc6f404cbc39e035432ef0982092fb408e8ee482e28866a8eef666d125734d9849a63aef72688430364a6f36cf8cf02b5ab925037871f508542cd6d456adf7a4ff133d822d7776c9c03d16ee78c8a88e519d0a9d259f85171cbc0c02849c73ac241551363bca6c98b130389f98e1d2ff94f8fb5515dd23cc7e87e23dd6cb11c900dda7d5a31cc6e47d0dc03d26b15edac5a1a455727559361ba4a9a169a3acc6fc8bb404a6eff5ad87db83603094a91bb32650e3ca1c5ebd185a3e38e3a927f88111130b3f9f5d4c81c83fed003cd5fd3ced34f422bf9a411c3ac936fda3a1f7b5a7087a0cd1e3eaad30d668e270397f1fc83121d2d34e4f6fc46f577f336e55e852c31dcecd1f874445ed9cc33cf03780d3bd8b1d6cd14fee1e28af7c59c9669fb6093e163f2eee4c57ccbfdbbeac8038214a58ab25197cfad4f02664009165198c103d570f5e3b1661f701e8d9bbd7a03ab738f5028e5cf05589eaa5ec19912df1feb9b5ec73cb17308a45d03f769eb71037377f00f78c1d9379cd518b7821c181913e877b4cfbced24ac0298340a781c1d03b3d3f50971471b579f946767acb533c3e75ce386997f1d4577a41752700cb5ba03d35e46b2960db0b9bb166e45c86871ef54e2950bf5d7303c5c2e2ae2a76cf46f030d517f4ef2095af1b5ca8438b1bdc1309b8be132b18044ec15d48b4c638e1bb1032b463d1a4a757798505ad3f383dc108a401e0a1e41f3a5f831e61f0df1a100ac0324c7a70ac9dce8aa0cae5f5b6852170ef3dc4457850ac96ce12eeb08853bd67b03191e5a7a3e180bcf4b12341773bbbe64c40c72136122faed2228ebfba3182d4a03bc6162f0a4f667e695e84f89b7db4a0ec609ab6035e74854959f74f5994f95cb03e7cf1f654556215ec560852a4e2281a6155be3560af60a7c18512837da35f678036e4ddcad785aed3b9bdafc2816f9154d0f3747a24cd183d7b785e1836675349203dc5504ca827b1d7bcaf3f56336332197a7b7b7675b1508c156ba2a8b35962ea703a43f06880551d312ebc591d6f3434e38aeefd3ae3592a0211ab04ee4293e1169033759ebfda4b26a548c3709c37078bc07b37e1468bfeff8fbd0602eac0affdee90349e0944dee07b82d2da3e0f680b4905231d437d15831c611243af2e08a823979031c2014b5bee60f7b12a198d73496af904b6e7ea8143528c8f8358137be0c988205581e03e33a7a00678910e18e52980a60c263a7f2662a91c64ed5ab3a67cbc700040105581e0345f1fc2a5fd449902f70ab1f1f47577850e100f2d0e2d88ff4362089f00c01470188102b0f7c0005581e03971363717fc6112409b97f217e9d950693b2a9093cf5b54a9afb987430040105581e035e02b25cb8c34961983196d193876f2af067a85533d76cfb88496ef6a00c0147052669dcb7ae0005581e031225b641631bd26d26f5eb67f3156bf537f5626f62ba38b4ac92f036900c0246449e8788578805581e03528cc9d3f4b353767c866d07ef225d5c00951d55d38004044499e98270040105581e034395826e728d53b4e21516858143e57fead6acd3076d3c81e1be476a90040403d4892551647b70a0015c83406c1d20647f7b355daff74580a0d96a6669c4d82f05581e036fe4aef4d90f37ac3f9b086ca786274845a75ba8a96ca9063fe0ad73f0040305581e035e7f63b7d81ca5ae7e279c2f933b06485d264d842c4040f2f822b4638004020359e0e7572e4465e0e20ddd86708e5711470f803af51be1b8c904590dc4ab3a4805581d02516db3df765138bfe4d798f07ff679d455ff8188a06a88e670c2ceab0c0f47ca48b368258abc0459089e60806040523661001357610011610017565b005b6100115b61001f6101a7565b6001600160a01b0316330361015f5760606001600160e01b0319600035166364d3180d60e11b810161005a576100536101da565b9150610157565b63587086bd60e11b6001600160e01b031982160161007a57610053610231565b63070d7c6960e41b6001600160e01b031982160161009a57610053610277565b621eb96f60e61b6001600160e01b03198216016100b9576100536102a8565b63a39f25e560e01b6001600160e01b03198216016100d9576100536102e8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b6101676102fc565b565b606061018e83836040518060600160405280602781526020016108426027913961030c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101e4610384565b60006101f33660048184610695565b81019061020091906106db565b905061021d8160405180602001604052806000815250600061038f565b505060408051602081019091526000815290565b60606000806102433660048184610695565b810190610250919061070c565b915091506102608282600161038f565b604051806020016040528060008152509250505090565b6060610281610384565b60006102903660048184610695565b81019061029d91906106db565b905061021d816103bb565b60606102b2610384565b60006102bc6101a7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b60606102f2610384565b60006102bc610412565b610167610307610412565b610421565b6060600080856001600160a01b03168560405161032991906107f2565b600060405180830381855af49150503d8060008114610364576040519150601f19603f3d011682016040523d82523d6000602084013e610369565b606091505b509150915061037a86838387610445565b9695505050505050565b341561016757600080fd5b610398836104c6565b6000825111806103a55750805b156103b6576103b48383610169565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103e46101a7565b604080516001600160a01b03928316815291841660208301520160405180910390a161040f81610506565b50565b600061041c6105af565b905090565b3660008037600080366000845af43d6000803e808015610440573d6000f35b3d6000fd5b606083156104b45782516000036104ad576001600160a01b0385163b6104ad5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161014e565b50816104be565b6104be83836105d7565b949350505050565b6104cf81610601565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b03811661056b5760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161014e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101cb565b8151156105e75781518083602001fd5b8060405162461bcd60e51b815260040161014e919061080e565b6001600160a01b0381163b61066e5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161014e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61058e565b600080858511156106a557600080fd5b838611156106b257600080fd5b5050820193919092039150565b80356001600160a01b03811681146106d657600080fd5b919050565b6000602082840312156106ed57600080fd5b61018e826106bf565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561071f57600080fd5b610728836106bf565b9150602083013567ffffffffffffffff8082111561074557600080fd5b818501915085601f83011261075957600080fd5b81358181111561076b5761076b6106f6565b604051601f8201601f19908116603f01168101908382118183101715610793576107936106f6565b816040528281528860208487010111156107ac57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107e95781810151838201526020016107d1565b50506000910152565b600082516108048184602087016107ce565b9190910192915050565b602081526000825180602084015261082d8160408501602087016107ce565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e4b32c109fd08ccf9742c7e09ffa8cda2bad608f5379698a7c1f93a339aee46b64736f6c634300081000330331d041ed147999233c6d909c6eb1fcb77a6c66f141dd73b3860323a79a9c455a03f6d56c9c52a3f41418360004f2319a893585350184e0d5a71c3e66986c2f7dcc03231ebe41b46e85ccb488b12951d079a06caaf13eaed57347ac9972e6d1c8878303e849f68e67dd7eef34a0fed38eb3e2c774409007d47334d9548461431504d0e703d0901561b1c373ee2d1904fe138afdd6f3e25201dc721fd17fc57447111a137503517fb038e9ec6d1b77085c0184e1f1a0847731da10d1c571afd0a2869ae97605037cff72a29fecc699b0ded252b1401c5d64946492d1fc0cd01fbc85df5183978603c6df5dfa1d8cad5b1adcd9a6242235696d832dd36dc8b1ae1a6a7c7fc69e4aed0348b5066d599e648d10eb0e41ffdd18872d3fae3c80dd32af4640898e3b13e5bf038a1b5785fdc1aa7afaa6d28218081514ff7fdbf1f9e8660ec3bf5be4e96dff44034c09bdcc88e4555289d14a4ba6e087e7443e3fec28d42039bf555a2399c654f703ec3c24177bcf79cbebbcc55044017deb3357898b3f8a8e67abbe80422defe6b20373a9f541ba9e2b6e1ce18b69a5c1e786cb0b319b0975d9e60650781c836a12500367da5c0d4ad76bae35918f9fef971a7c21a4951e0b991daebb0cd5e3e783a79a03358b42a744a7d1c558599094dcc97d030929bfa493283baf6280f8183ce96ac103c56eb26fc1b8dd4de888dbb83ba73243c68c74bb3d3ecdfff977a68dd8345a2a03a3b3d4f975dd0d48431f69f77fb4e6cfdcc1c9b5866abb257ff30eae4348ff91038a0c50cb7ebabc7f82afce904468b2c61b5358e10e64e8a45a0372b5b467b4b703a37c20206df33a88c81203e6ac5c50b838c8f2e369f10e4b5362447afdf6787b031185cea1880d0a814cf69e5c3b0fe1d092840e08b4fb001b1e2cfe811fcb44050384428dc6933f3ce62339d98e456f4243de1fe4e84a2f6d1e6487a960b9ff6de10311f113f5c3b293694dfd2a1fd51509418cf92414e4520187b13cb2fc23e5ea51031057ca81695c323bcb654b0319bc279f567b42efa7b15b7b30cc3175683f0d0d03dfe7bdbc6625c68e39eb7f0c980130fa6346cc3bb8e8bc5a31d3dc546a68caf10370de9224cb146205bf3c88ce971e78a337f76af8d38133fe70f37ffcee7e302703e70f64353367992facf6cb411e2802e6b26e304d4f30d09be7cf9b44e7214f8c035d037a349bbf11a3e410a7a32c2cadb8b2e27f5b96e9568ee215ee6d6d38e999036515ccc52e2278f5ed8435434fdaad60607927d99d71386997bcf5889cfbf37503e8ee59b70758508bb4c58ba51ed926dfd1fc1b2acba336aadbfb19bdd7283f7c038b47bd63d47f062be544486826f66ebce8eee7db621c771d0c3ec4cc914d4c8300581f03b73145a39501ef29238f939bdbe7d79512bad1510daad8f4df3be298fdc058202be0ae9598c618b7f018a2f884913d57e3a136169e18a5478cc37fbd18311cba030714a2411edee4a5ef4dfd8f0976b3c6944f7b0d998c0a9952aaa021e7ee6b0403f90321f3c3e6c1f42b6a0920eb538e1b085580166441b5a02ec79157be6fe32200581f037e6e354061a9bee619e0f9fe8db5ea8cdd21f9a1b006234cfaa8bbe4c7d058202395eed12c3d6ae178f292d5c9a59f2774a53613206813f1703c78c3d0897c4600581f038c0f7fc448197480cb53a0908d605dcae3674d4d998d95734f270a9c27e058200bc22136b71c9961f92013919a70688ac6116ed4eb859e68b4003ffc3696b5eb00581f03ceceb7b2d5b44f75abaf58e3329c97357121940f70af94bef74b6381f8305820190d042d062efb50fe369a142b51e79c3afc8b291439d2f60b90619dd124f00103a046099aa5f0940fa83e6abfe92ec1ca611a4773a2ce1310471a0c370ef5eb4f00581f0355db9279382c5c81ea581be6aaf3626f34d021e320f5e362278b26011f405820626e7805c1e2099f39023b8940d841fbc78ed5a5b25c5cec17cc3a4cb64ecb95021930f50219ffff0358ffa6de19cf7ecbe625ec20fdb47c5d86bc5eefa901f3cb0bc4716545508141037329398082c7fcf1ebd31206173fe1b1a7ef834156b7c495d1d17964e75e02a503417272caddd417f0fe247a24733c4c454c7aa79d88369ca67c63019fb01e8e7b0356c5ca840fbce52020c0c3ad87a4ae0f61917bf4bb871b10d4cbb4347a0035c503834c10701b8049b9221a103f5dd868ae001a0dd9d49a81c1da75e186bfa6aa95035f778a396ebc1b8283f5922c059bd5a753682c2430d29af02031919a1a2cf00b0219ffff03695aeab26ca25c8408af43b85b2b0fafb1d5a00026a1ebc34c2289f3465a832e03bb2679f4249e771aa68858f8f02308f4bda52adc4eec835cdbcae37ca03336ca03910254014face2fcded1d1394a156ac47158b5acb0a0e8a4d0a97639dffab7b003d485ffef10ace66ec189b2d178dc9405d6023437f4a6fb435f142a120574429603442cb8e6d7c94745edc3a859be73fb1db43f2632dae352937f6bbcacf60cced703fe6ef8a991c5bcf72d18a6daa7ee27a39fe1ac93550960581cd859d87cc91867039200f6fc467ceaa7f7107a14a5a6a1b65b7f5d63591a441060601ebcdee61382030637baba3af0fc8731c40d89de4eb3f65c19c1dc193be5da9af35e3a5425e93103028ac5a3c43b1e71622813920796cc8a2a31fa272b5f118a15cb07696b87a56e0219ffff03ad58b80abc37c5915745702a3e2be4a05c9c1463fdcabbc4017c199737fab4eb03bf1cebba8f97a171ec0a688800b6b023f7d6703ab6ed8c0a196249458065a6f8037cd182e7d5bdb8a38e8f3e2d70e08df982ed5591fe84e86ff0e2e2f62f12435103c99c3dfc6b5ca0772de6c78236df20bb12070663249f91fe29ec9a1fdb1527f003a0e8ff48ce2a89214add47ff427e2817518b516cd8d64cdb6c648516489da51c039e8a47a3e479886301daae2166aaefd7327327211bc99adac073419975ac860703c86a48d7a6a1174dcb36d4437ffec2712005c3b4b7feb735788dbef84f1d682d0398d40fdf065b69057c6ba97e7869bfe458603f8183f325e7a5db8d57614e332f039fd1c13519619077d8af30aca6f55f8adf413c1b3bff56128e5f7aa38faf6d7103d43481f5a456edfb64811d46c7c7cdee83773d0936a17450d3a730e34a0a109a035afe87f0e35eeba1bab7f511bd44fd2c26b3d1b8c94423709b864f640ab2b322039679b637c6c38d5553f0195081ac090362c85741a29114946c72f6d32085b53e0359bf9f5f853b51faaa0bb445a7abeb0335cba5bc7475c2be41d60516b25f7d350353923839f4c32b3ca61a6b8def9cc5b3b618bfed508da3cbfd0b2881e7a56e27031c2439967c20eef5295e9e2872fbd226e0814ea0b170a973d48f1d9ca7b96b5303e8c19eaa3af49d53dbe4fd6bc7553b748cc2d328e467fa98589d9dee8a77fe41032239a4b2314d9ad3a6ea2f5738028ab3f28e7178e5142c674e2f04e8043c82ac03e998c07d591a139242aa2b4f721483e89964c15d410f6117a3bcd81a2ac4fc2d037356795863364bebe795c794c3c324dec3ff8ce2f838129906e3af9b4c9d5ae6033e2c3c269a83ad9316a98ab9cdfb7d92896a692e4070f2c3f60e83ac2a15aa0803b928cec4dfb614a8be0496842ee7e8e40391ec20e785535c00867e95af1b707103f1d13d7f6891ac7d54865021fbe7ec5b6d463fd3bc00bf59186773a05337d6c503b4e72c8ae40c369b3dd7d497736bc1affc986f4c973987923109468f1dd534bd0390d97db70a825c9c5fadae1b9944de26c746d445de29eac9bbc8563af52f8af103bfaef90cacc184e86f0d7e4d5d7c65c1a9206fa28b0048e36c1fd707d29d7525035745daf38c5d9761c234b8272e5f909b893aab7cc3cafb15b16ae3ff8b3a89a4033e7acd6fb0f2dda094963b575e8ed375e937c6320783e4714869298a99a6baa903ed9a93c2d8d23f4fdae838955e1648e44f21af6a23df756368f26920075374cf03a730b61dc669714f3628e969e3fefc0de3f920095c03e9e0454ba4e04a63bbf803b31b5aa682109d68605dcedf3029d04a00c901ea43ea1e38fcc5eb58b99971a503b6f402d1ddca413081e02293192183bcc954cb5caa5d61d9506ceb68bd3e6a9a03e08ad2b658bad7b913c0f85b7b814b4b25cc337f5710cd710d0afb9e5f40a839034876e4c67e8c95ec4e6b5bd65de7355b6064bb9f3bf8009a23a4deb15a6f9d630322c345b881e0374cba4c383aaaf5bc0a3feb26f85e572e29390d97b2f883813a00581e025503821789a4b4ea6be72d82ec149adfcf5211381e1bd6695e086bdc9a58201dc65993a6fee48ae044739bdf0f14a597449f83a827a1a21a1c5294be899d6100581e0301e2fa3c8b0594fc66bc2b44274f26aee712ba42906dc982fe30a808c05820821ab97758fe1e48b5a51c9bc4d645c3d9b3da2b19aa5c33b387b0cd6a58cc3000581e03f5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054eb803eb3f501998126bf37bb823646ed3d59d0720219200200581e02922cfb52d260f1447d7df9b7b3efd80d892215bcc50d2d68e256905fb358208a1da9cdaa65668c5bde0d47e66a386b33568e50d298f12405420c36dae6af7402191c0000581f03ebcea01c852312b942e2e6cf4973cebbd43cd0e3e6701257332bcb1965b05820b555f8e3328ef86d9ac43b6107aa23b90666756b3e07a978f639ce89aa8cd848031796a64b2213b06e3cccd6480434b1a40c413e57ba9df47f09913e7e2a62967500581f036906c81e6d41c0ac3ada7f6033ab1a55f361d28c538d79b30c1d24d1c47058209ace9f9fe81aaa0ddcd94ee6ea1c1293ca79e3de25b465eb878adb897463f27000581f035675cfe6991a092512be1c1c6c810863c7c31efca321ebecc61ca0b75be0582022acfad8d287a5bed63701553b6886d875a25a22b85969b96f0d9f5fd1657a6600581f03b07ebcd8ea2660148ccc56f624aba2469985dc00b753006f185572170b005820070e440ce06506dc5afc37454920ec5b597142bfc26773cd78ab78984aa933c103f2c717394cd321934f829f8b539c0b505625a6a77b6a9b267dd04277edc6e73800581f03883e4e44a3e3e8cff1f386347f85c052b070a0d81f2741d4a152356b0ab05820f8abe9ed78a36aa5e3ec1ba7942cde4b8a26ab8b15a974e322763c5f9f1a072c02191d650219ffff0380f7dfefa5f848cdc090ca4c80f3d6e306f4a53d897f6f137564aa420535124f03c097dfa20ae1a33d2cbbfc54b6b116f0b2f4ec556440f16f662dad10cd2d763a0219ffff0371d90cf1a2bbd297446565523ae5bad774d9de789c330899d4310ce19a54b63b0309a491b0f7554765e823b73e68bafb2a73dd140b4957af9a76b8a2d34840134c031c4a09a2b0be2ada8d6fa1a830ecf167c662f609655d209562bcdf871ba557e10392f92d94333f9e30bf1d8c6688e3fc67b7dcc03059bed334d9478e54166550dd039f8d54bb8609921254319398c6eb6bd38e7af43e1daf3433b18a34710bd6f738036ce766eae8733770ee5e87d6230ec45eb2488a301ee8f7e7c6b9188e1932bcb303d283f94fbd874480de7f10020d67cc13cfff1c4e595e7018ff01026e5a8d7e990317f6140ad320196d807c06f6586136f0f28b652e96fbda70ec662e3c7200904903d6c498693481e7755b3229d2d7b914ffbe9dba8a3309a546adbb1c56e8b11f58037084b61bc8dc1a808a3a5e8eabf545c6fa19949add9e08808e35bf7f912ba6ab035e63abc046855c62919328904e0e3a2c1a28ebaa61c4e2f278facc8f516a364c034e519e9876ccc7fba963840e13f4dc29400cddd23a093ae21ee644c9e27b2b91031a8cdd6d37daaa89f6b32f760a10e4bf57cab2ff23ea53b35214c93e9f961e450219ffff0311d22facc704b01391e0c3d2bf4ab4740d0490944bc15d7da4242048bbcf364f030737fcb4b8fd48221a5c858fbc21ae32ae474c532f047dc791c9c5b6385962a70305de08109bf99ffd8db286b64e335dcd3db4e64b1fc97123e52d9125fb01207403afd0e4420390abb0d936b7bdaedb7024417544203c32f2c1759e1386be70bc4d0348b4d64754ab3f3b2ed52f9e900ca702e212ec0c7e812c32ac2a973e75347eb4034dd4057b6fc5a654a9c92e065bf178ea6fae8823bf0c6ecc99ed2a4722ecb558032d54583bd83a727cdee870ae3332ec7e2d4417ec7bacc49841d35f60a019d1360353fe0b52e424b3888ea6d0ce85a7e9b658069dc620bf48e9b012de80aeb2672e039471fe8a30188f34e724d227e03066ac3d025c7151b937a2735136b2caa579f6034d1a861fa61cc59cc59827351abd35d12a1572a8583021282dd9f9982417a8b20328ce3e46480c90c1c903aac92d40db0ea22be3242cd8606a390f17cfd8105f2603ade0febaa9def9667d54cf838568d6795a2c7b19971d9150098da00498e4d125031b5e000c3dc5146fdb392fd83dddecdd3c876f53b9c756d0324360fa59859ba003bc568eec64bc20d9e1b0b85d4abb0d22ca3e69b401bead557af12b4cacb9a90303decb21ffc25ca93823baa4e02e4607919d0aa895c5761e9d2767a45a2675f1150390154559dc056ad20a794880c50b87f5287bae1978597ffc5fc82b4347d13184036c7d5ed0b1c787c621ccbde645ce45cee3365b3832bfde7bb269d1c6a91ae2af034e351549e0b4485cacdd19e4202c8ec3439aa43271d703e9f44d2458a4aae7b70389af35e2ff133ffebbf793e3ac1ffa30521fb7c5e99851c3ff071a5446e7fef600581e0289c247e4a6c6db8908d2d3e066908d733d1b109ba74b33575ccebd1d1e5820e2719204aa91cc3afe0961947773e6336f8809b74e927e183d2a395aafd9f8c100581e02ef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d544f250b05262240c787a1ee222687c6ec395c628a0219600000581f037b98eda070a65193faa056b4ae2aab3e19145201a590803b17aca532084058204b28548c403eb51468b8b653953b35d0d5ba387134039cc8ba9d473d50274c6800581f03960f3101a2b3eef11c03a0bd12024d756e808cf194a3fccf83d1982e3b4058201cddded955e170c4d2cdd717f5dae1ef4b2a52cd89896b5814840d56abc44ff80355873caa39ea78ad5848cb49eb39503d46131832ec0d8f899db421747c61abb900581f039e4f85ef84ffac199793e4a143ba63534a41ff8a66e93750054eb3a3dc7058202c87d8429cff6cdcdf94e55c7d5ac0bd836690c383d13a5b686eca029505e0e500581f03d3085e5fbe9feea16584b41b8a91013594a6cf5857c3b886f75b7517727058208bb021f6848188bdf36e351d145755d40b46650b31afdd6e0019bba128d4430400581f03746dae14860b53c69b92d031f7d001db5b281596caa473f4f1caf5e7c40058206a66d06be79f53f6035f8ab1c73905f7f82ad0f2cb4d07fa11d265130c2b2fbe03572b2c4ae17467e830e4bc97ad09f1f59f590b2375333e35435e957e3ccecc3203f073b8a2d73355fb3b8a5a6f95c025d7a5f2d853cd6517b228982744eef1522d03784735ff31e4dcb41bb572ea019d64600c059351db3ed0578286b8ed88d3f45900581f033c9daf5a6f227b0c4f45f4ca820219b0960d241808a8337c89b70229c2f05820ac1c8dbcb1f893da6b3e453221cd6ffab8eba9b5d4fcbbb828810c8b3945036802197bf10364c5c2161c2bdeba0390fed77e42c9b119f7cecd1681ab1c716fa7cb0ceb61cb03e7c495350915a5624a5024282aa0c4dae047ab2e33b5d914e7978f9ae66e8ead03d5dad770d9b92e464ab1ccd1fcacafe96e85d8f0be55159f2033d0766049749e03a41eaf46c348d782497fc1276a64fd6f9705a7a7e9fa944dc625efad2f76291a033ef165e765dccb72c2129f53dc40e341d17fa8ccea2a6e78996cee8728a409610374caf365a02129f548c744e744c5532b0c59ad7b076056a5f3b0cec6fc4f3f0503df9926570bf857156808e4959904f43d9b4242cba511274016fc802549cb771103d9e0803e37fa1f9f1e68d563b696f16aa77e1f5924d7421bb238a89b1f1d0895035e70db4cabd2f609e6726ee061bafd0f1aee37f1404665d23ba12c9191ed9177034118aa44d33817ee88dbe4fe9873a1a4aefd04050835131e77ac23ba662d568403851b243a763a1280408de1abed06b934591beeb5d8bc444e694f17e2e0cc24bf03f63e5357f912aa2cec85151acc0c85befa9d118f39907579619fb955d4f00e4203844e5fc09650ca0ca5a6b1f7fd9bacc76fe3e4a4b284e1407d508a2bf5e26f750219ffff033518e147c74673c9ae3c47570e41419f73493721f0af42d0cebcd96c4a66f6ab03047a1af67c61309259e4c7031895c9002bff844dce64bf33eb786feb2d90828503877fd6cc08a0bb48defbd3d6948d468de3a08c5455c77b93d2686f539d9c078f03dbe69937b1ecddcf4ba83f0c089d1651d7ed97892c8b9725139e3edc74ba6d650219ffff03420d9c9361522fa0acfc7dd75a2b84b3095958dca9f06f8896968b81311bc3fb033cf2125248dbf30cc519e05a5daa36d5a4356fde6ef1ca8a44476d79d18a4644030ba41872fcf1257888441bd4aa23abafd444c6ec90628fc76cc2493d29aebbf003b39cfad71e7f1ef4a7a755d6df9fd54792f6910905378ffeb5d481433b53c9ea03f0fc513d6522aaca9470a6a4e0bd29a9decfad75a15ba6860b67cb2de3adab7403ab4bd1874b67bf578fc84f147f9ab7a535e9544801727cf4abb78aa47d328a4703024b9bd2b520a1cde9152e5b3a57841952279dc10da89d2604d77265edd775fe03e6a08b1df462ea27e22d280c4e3d4d790ad0c0c5aab98d9c0f6c3389733a1b0d03600132529dc501b3df1ce87e98d1e9bc129d73b0892e416ce4aa22952b85dadd03a838f6a6207fa15ecc56c233b46a7adcc2f6c930c6b155d731f3aaae5872debd0219ffff03f3b9c2055a821369b50af578575664c49d053766d0c76abff7c7505b17e313fd038026a4a00dd144bec27dc1458e25642dc149968c519e0f4dee79c31c72f5b36f038d1f62b361b4a80afee763ed4ee8db58034781e67674ce02d2ed37f5105deda803c1b0d6e3897b5b74b49c9c78e38f49c4e7b51f523cfed3a51b9f16829b01f09103b326e828f2745395e1181ed5392a64263ad61b6e60101f837afec49577cd323603dfd06a0f8aab64941e84939d85aa4123e6da6f98c38f03e631b48c2f90d72e54031750e99dec66e0f44cbbac3eba2467e0b765f03eeba1b8b40bae6466033d205603639d449cd2c94b6dae5af13a1e53741f1c69cc2526a8acf6ece73a18653a171803a91693911ac0d999022dafa800685e14087d34afefd1edf5558edf5a8f7f140203ab7db2b28b3f9974b2720f282eccf059d3dd812769e8f0a347e9e4dbed69cc3303e6e2db1174ce23637b8091415a2055282232e59acf69e5f5c1e0a3e9d5096c5d03d11029277697f20d18b9051f3c6321b26d35d7f83adb1dd00b86d86a6076436003a2bbb66fcaf363a1c46a11715095a0f404e6771d15307efad5e6d166ceeb7a1d03644eb53edaf4fb5ddda42f6470168612a3f716e3b9b940ae6ccfaae83efe8fe1039532a1bb33c2da0d3c40c7459323aac3f4f4ea4cd1dab89bb8ff4560fcb0f23203b35c2127cb7d8181f02ef0392351087d4caa981d7cdfd875c24944c711580979031a0575142a81b89dd90838f4ccad25a0a1b429e592741e8743e9f88fd9f8cbf303236558a870d10f058ca5b435e6b721562e26bcb68406151918fa76cbe57aae94036ece405e36e445011fcf6816f0ba2c05343d4796d6689184d93e141c685a9f9903733e68b205ccba195e411e15f38e6f122de4f959d2532ad24e214adeb5c226e503c91ced6be35601cc27a641987565fb99577d8bab2b835c3a245a209fa04b9f4903eb70464f21b1456e5899ea9ba9888347b0fd4c55f4e605430781b588c2a09f650375bd1874366094f6b42dcaf154556b355b58aa4d76bc4b4fd3ec62eba88e692d032455c41a18dbff38f44a9781ff2a02f62a70a29cdb35877d4818a21e51809a0f039b98d794fc7f55a9bc34d543cb18edbca8aaab415739a149f570450c8fd8444903835a3b08370efe451440a2fe3096dc000784eea0d613da3c6ce472b283bcaf1903d9cb30389a103cf18ff8178207161d0220691441f4ad66571140dd10d9db26fb03ed002f8488748d50f493a51b97305a3363c70fec39eb2c3efb9c0c22c30d9388038f669b411cc257f50503ec84bf03c9c506c8b2d6133aa51021c7744217bd4d50038b4dc3428627e056884f52af1abc5e56ba22d66212e379feb686942366140ef903b41bbd41c2b06117d9d8099e87e7477072f428568c62002bde153bb5224bd88f03d26b2088d0214cd27ce74cbf8e0b7079c86fd448f80fdad62eef31a3380b6f4f03ff4c783e8aeddc795225dfafdc5de3255bc823c4230914f0fcae7171d5b96689039679d638d7de7b611676278b5616f2fbe3c885c4224cbe0e1cd1c4ee107681a2034b6761dbe19b4c51a79577fce94d49ec6dacc7afd6319a0b69a7e30162d51dc40365fd15e66d3a5e4a1b123cf4ab23247242ae8e56e191653527aafa519a64b56c03b6c8adeef41f92eb4105599e1ae3908e220bd2095a4e01fe8fc7d3f921742d2203f28fc82ab887566eb9734f1289fffd9692cd80ba1d13190883705dbf10e5f48603e57d5d9a262943eed06477cf35c90ba69a65517265666845971f6d408687faef03739b51c11af23cef279c77695cdf7bbbea6eac52ab44cacb95402c6fd98c0a8e03a8f20a382d2373c2a5fe8f32c56107484231b4157dcf5125465570956b0f5bf000581f031dba70d0ef9fdb96d6f8f82b7cfdb880550dc99df1dde8d0d852769ff7a05820f357dd63b8563480590a8e5edbdb219ed799311df6e3b60ab683e198487abfb600581f03099e39e3833e50a261d41e4633209820204ff868180d22bb5e490d405840582039c38fde7df6ae5878665d787a40f5b572dc8d086a8766ed560b6d3a58e1d38500581f03fe72659ba9922ffc0d768922662b6a60c6717c913cfa8fd639b6402ae3405820072a2f9e7a4123e1204445a3850b2acd2f01815da08bf7b3d289a5ad3143fe6103b8456110d697ed27a310050d8112dc0fb55864cee094979c1e89d5f92e95f89200581f0392f3183c6061c71fa56f6f3327eba51500fd7b54b98be6152c7de98bdd005820c791b91896a5190a8e80109f3a692ab0567364179e5825876a0b07cf873df9f600581f03d090e646a0e80c3cbb2ae5239e2265316b14f834d42a852ed37bd42234f058209d26c9cb3c749f27b01ffc53168779e8d4e938d20a31bcdb7ad976d9414825fb03ca8e4877addbfaeb5b4947ea4c5174ad06877c0b630e16a927763322184cea2b00581f0318a47338f48018fd84743ed3e63fa7af81be2560ca06a86dda82f713e4105820205a0baf879cbc76362d49aec2cad604f45a9febaeb5304792e7df70c84ce3ec03248895abb4d35d3fadbede4925bcf70a21c694f778bcf92305d2d8fba8de732b0219f3ec0325709cd63fdc46e8d9450c95d26eda503bf19f3b7c3db68ee267d2d45dcbee270302dd607810a48923ac1224bba2c7377412f1f22d3ee8bb3daa0249e7e20c5ae303a76d40eb082eda563a9bcebe8ed7b7b0330fdef0becaf83c18a5d9ea1d7678f80327394717bbb110dd56f64065bd2c97a2196ac9935140522168751ddea3811da403690b624e8d78417dbb31cf7de1d45b9a6dd422023ad55d1e95d9e6cf590ceec50302961d836726b99473f5b99d2ccb5c4945e0eb609ea978b06f2d290c213d4c410219ffff0219ffff0219ffff0322ee9492c124d7054f3ee6d5bef4ede718420d94cb6d4819491c477cb5dd04c203cdcd10fb0c210033d974c1021f8b4c67603fd52bf70d3b0ac6a73b491df2f67e03ba14b6f0d01610992149f1ee70c5e312844f0ff300935ce4caffc96c82e7a7d803f535540c319a83698627f85e4d8bc10fc916ef550a1a6bebadd1459da7f5532e03cff9cabcbc3c776ef116e9c02b2e6ae08f820ae1c653eb1b789c56bb40f77fb103dde5337aa00eda06df9365fc420527a326eb8e8dfc4f3a69103f8044a53f6551036daff57bfaab10f342b6e93df2c856a0ca7924d4d15ce74d7fbe7421075f2bf503548108f2db979b359740901d1f82b631cecfc8cb84b97911c74447658965f35803ce0325efec5cc355b0bb718674ba649397be8193b6a15551d54279e68701358e03ba8f4a2f1ec065f980900f48f2b6b4f1cbb583bcf997f3de02fbb4ce214c1006034e1bc1528e2da894411cf7355168aeb2a68c5de32dd69789e372979d308fad5603d92d5dffd25b8e9ee88f5c3fabd1d8e7c647fc7872050333b44dfc483289ec1d03acebc585f864be498ec28b341238026e91a4682dc2e0529c656f0a87db4c1579030204846ea4751891b3f6061ff9be14a39736b5c6fd7f57a00e33aca8a53a9cc703f09686eede685edc7695ea49e809e58b84a44090089f5cfe0979f347b1a01be003fcc1f1f29831a35836b96c7806aadb7d16608d2c21b9580def87346cfb09b802036986a1852439647d7dc7eb8d8ae88141f8f9e1554622678b03cdcae8697e2b23030d6ea74c512a8bee9b88dbbbb6ca56511b252b88261a01b54ee109ec9a06a71b037e30d1830beebfc4b35ee0d2da5e5be0b3ee9dc45de082197cd98511b992e21103678f899d53d5ea28f70294220445d912b83810ce06565001aa8e697a18b419fd038adac637d58bede18707d3bae3208d057106630bbaefe43c2da10d9d3406d56b0368059ceab5c189a21d382228233cba005959a25e2a17a830ebb6ecf37788896d03fea6329ad285284d22eae7d320810257e69fdbbdb302eb3b429f7c27b4e296d903c53be258013fadfe80f145053490df7c2ac5b306c71cc7f0497d74ae9eb29e73032255086b85322fdb8a6f70482cbced8a8f3997995a6f22222661c40c0327bec8032b5529df8e742ee6a2090c0b94b1264f486372bd1b8f6a54a9cbfd6065d2fe1f036ad854e118dad506668b07bdf8433ac2def0da4798dd67045fa0e90d1e9aaf1d035afc099eb244bb3cca9869711a7b48abde270e51504535287ba983c9846337310345aae24f07840c00dd0c79c82b1c0c45256274e828cea7fa5fb79c278c7fcf3f0308455e74362d697203848e26498d598059ab39497e229f066167d6303ad847ec00581f0311abb4847252e4dc7f9e9023f0eb4edc1ac955f6b0551b671d6e816d9df0582010835e74b4e94079cf6440daadbebcc25fa1c7ece8712366e700318f8d0936b9035ae807bb80ad5e23bb9d84e394e9b4aea611b3f89810bbff009b9ef367d5777100581f034d83cede42559cb89c6cfbabbc8e1248752bbecbb2ab4cb5769b7e5ac0d0581f02e1ebd68dc222be02a473a53934e1056ed596a99e04110edec8f8a0798055031a4ea164c67105fac95fc60f2823c1db55bee76a8d8a05ec44e965f9f906966b00581e0200eba4563145b53ebb9e30ce62163e031b7e733337362ab8e90d496213582058f146ca7560d9918af5bf29594a96972eff24a80991b7a10e5c2767aa75fc1d00581e022de42a12c732cfd59db0122a13e00cdf5c1aba3c07d276ef0eb2e5518f5820bab244216194722b6a90513fdd5c701286caffffe586ad6d4e7fea2c043bb9510219080800581f03927aa295f1f01197315b53b72e05219c3f05eee81c25f32fcc05efd3b5a05820633d6be9bb91bdb13a3d271396eec90858e0c1cf1e4714b79b1f174ec74fdbb603ad23915e69de0579cd04b3c69059c351fab7ba100528afaf2f10f594a5b5ca9900581f03a02121566d60a72fa4bf85d74f5b365af485dd11726b314fe9d0ebc3381058207778b271e05194fc1a5e055b2100f1e6543b6609110a24626cb594dbe2bd18c603d646447894ec4db465a0fcc3faa7989e949d49524ed72f39c861f87b2024658402194f590318f1f3888a285e567fb73b824172bff3bb446c692b5dc69fcf6e67db3e360bc903808aaf1bc6fa50064c4ee5c7bc74563c3de301d92fd5f89c46ca130757a547cf03ae8d3c540e0c624a90a41575f0c991b1960c6a87d6056661c3be0f1865ae889f03c08867d7dc4c1b5976b263cf24429bf69b6735bcf2959d4ec6c58fa786ea28b403bf08d3222762671c7808db60ede055fb59a1a3bd396e8dc7097ed1059a990a4803c58e9c15491c5c77718f052dab1cdae17d064789c56c376f4253d26168bb75090387e7f4bdb5caa80156c9c85b4a31be832fc87eda181bf749668f176a284ed26603607788ec4288cfa5e1a00475df415e8fcecf4b5ca8bcdf2a73dc9863078efea20334f5b80d9edaeafeed3e080c3c27e2a3c07414c139d7099a2df3c061d5ae3e07036c62e56abcaddba9078ca7096638daf298907ee5f65f9c09d0d4f2420fe8580d035a866e5b0f3f7b12288e8afe8889289868ba5c4c76b43e5638c259d5c02f278703d7ebe498f1a604fe16c76c119ee4df1bf59e42f9736f87415074ac6ee0359c3a0219ffff0360d217475c2b8f91a2924dff8c744900d49cac8d769f2ce757cae5191bca7eef03e03b07eae3b90e8f5da0f1ed01940c42f29190b8bcd359994aab03898a539091031c6ae09154df0761ca03e6c0a15476c80317cc40c2ff84fe36b03252f33220960219ffff0219ffff039afc6c3ef24a118af0bdc021e37eb72d615497f7a4c06441ba21860eeaad25830364286503287026ac599cd0cd649792bd74ea8bda17e107cc00c415309c8d675b03887b4ae68c1fb23976085ba8a2161d4a7fa608512b234125426288db291bf74c0396ecf77f43f3848ad6866df71253c478e3f57714632eee1b040eb8edd9ff10a803faac8cb0330c95fecc7cfb7608bec3b7893a05a717ad998176c33cf2e57ded500313235d081480ec4f2baec525dfb41566ad7c3f5a9944809a9dec4bb55a842cb403ea5fa2785fdb0c29253a42f5c3a25cc6f4379614a721b8b17161b24ed2b6fa1e0306e14236d9e3aace75ca52e43ff4b8400a818cffa092ad68c3da0a84789c09290361fe62698eb79e5340e0e7d7a3abd22a5733fcb5a00c29b08e36e194148d4d89039238f022ddf8f332e86e5a07a7745848c250cfd4ed00c66de071bf375de7808b031c6170423c33c5b3eadae643ba24a4e008e4d52f6ee18898ef36411b4d20967303bd865099a10077c00a6b95301cf1c649e280863f905a37cb4335ad4b0d88987003cf8f6b4b194e18780fe6f56024d3efbb8e4eaadba4bfde87ff731add279d0a0403fb333b5f39ca556bad0c9d27ffd8b8511f457d30aacd7ce5aec1c147551007c8030504ea94ecb4df158183e6cbff02e9cb0721c53a0178eb2c732b23533d3226e603bebdc5b8413d1736f32f73bb9f6e43519b5da3dcb0ee49051d80288378a76add0395a76c8f4a72e61f70c18396339a0a3bea58bc8bc7a375faa72ee0fa45b2a935038ddee3fc166a1e397628294947da67c1b96927d60dac9218e4482da44600b30703051c9b5632e2fca15aeecf5655dfa2f4809ff597fb0f06de4173f8ad5e24d0f703bae139176fb768413ca0f087381e9bed1294ec4552c2a304639cf42699f62599036ed6a178957516db76e6d2c6cc45c687644e60d546d8237a86295e1c86aa1b0e0363634c70368157b5bd610f07b826650475d2048d7bb8592511d75c86efd4581803345f0c27607ca1cc893f4e76e25e1f87ad152b066cf15e545e152ac2478ebb6903d473500ab40b64c2708d0e98d0ad701de2dd10946418dc27fc5249aee7e721ce03191677d0a9c8dec23fc815becad8cef9e23c6d46846e01affa7488f9c791720a03c95e1905ec73e5993952f30a5773641b0dee3c1abcc2fce9dfde4898eec169770360bc0453e9b34f139d2ca77a97b03602573d557e352e80280294170425ca7acc03c7b69f3eac17bf6da0ccb6fb4f7e3ad5e28bdfefa10a8116a09bc8caaf6d00cf0319792372d0ea10b15bfc4e02320d64f927325f97bfb76cfa72d583bed907060400581f030c6ad316ca2ab815722e691084368091c07bc6fc00888c9853f214acefb05820372f538f7522ac744d7655ac7a0a7e1bfaf28d78faa373fe4aa194e4d090eecd00581f0358c019b110259a2a5be75f943414d48f5e870221924a5da8d5c8ff5643805820211d81932d647a29b03e9480129bf37903fc20d7bb40a42372b03fc75baa033c00581f039071dfafeac1409d3f1d19bafc9bc7c37974cde8df0ee6168f0086e539c04304328203c41b1f5ad3bba8d50f7b57a03e6114fc3a3e9567ab972bb2637ca6cccd43bd1d0219880d03665040da4b662198f50d2ae3323755e52418746a65766362b228e2054fa79ef803e8929de871598d46534310eb5c9888195e7c8b5584eb443b9c8d11402efbf91b036ec8c5767e5aeea03907f54bc14c0a12290d8dd93dfac2204c7294b5765caecd0319229defe444fe65919ea9c003dbaccd754671dc828d5014539bd19ca632faff0359ed982b333d521143eaa63fa71b8f8f82c9b1e2d906e865926ddbf16f5031810356f8f0b955a086015dd4fa197665156306e2bdfe2e1171fb0932031e24fb07c203b5fe3d227ca683fcef58b8cc961326129537d9823f7e0c4b4568065f3b2dc26b03ff50f94739469675d9bbf037f9b1dea685ad3f678d50a2b5415c2ed095dd8bb8036dd4a465883a175004e057e297d7459da12c61b1b8fd762fea385ce7a77e51960380876f3465eec3a08ceba4a6c08d2eb29fbb451d374a90515c0a37fe8fa703f50219ffff035d9ee395df51bbcf75e5d0f90f0b91b1de21bf406f3ebd05b8de5fe1f2641a9f030dd66898030e0cf84794a44948c98bdd0884464c01da353c55069a46a42e5b18039aec93623ac5473b5dc2f729c498e45180926d6e1a605a0410f52266e357fdf70331a7271d0bfcde29f6b3b7474363622e65d4dd333290a8ef9425c19120e8a0c603e36bbdcc5bd220e514feef5742725d42f0a8f29c0f9366701ea1a9dfc8cd676b039c8cad96ef5b7c86fb82b6aa5273b3cecb4dcb8330053f403efa706eecb7fc7c033a96e2871103966a8a9472752b0c06f64a2fd0c5b28a54d1756da7624d1785060219ffff0219ffff03616a3762586c312c738d6cb401dc54e4c6a8ec700ee80baa21021cdb327aadd4039524a448f9d153bd508027beb04e47eccc71635b5cfa68da18c18aa5c06cb51603430515b8c74778967da5745baaffa33fae69277ef459f3413725eb6e12e4281f033ae49ecae7636b6c730b4fe862932abed35f3d3555d2f282e378c304fc64949103065b8b55ddc06275fbdda8f876194fb24ddaa8c72a1ef2b74062d0ed133d550d034c31e61171980823a88940ac3b075b0b286ebfb752b0662f231c74059d69d6780320ea9d71b01d9b9a804cffcfb9dae43a93330b7d4b76cd5ce0d7e23e77ed70b90391a46ec72374aaa39b62ae5807e443aee5b6b9e0a9d353099a4b5511040385b103c1cc3940fa6ac56c7ba3fdd5eb24391a6729490ec88e8aa807a54875a54ce82200581f03c299c46e189f0017466c5c9fb6400df33e238cd64989ee9e573de3aa77705820d83a8fc72897382700e123b263c1002060e92c5ac30c2a0684883940daf3b59600581f03ab1e6b6beb13858a06984577804222cbe20d2481993d0b2a23aefd3e27e058203da86b70891bbf82e3b68e832bf92cd71d4cf19d4fc1e23a8c5817211093562a00581f03147a89797dc470abb8503cbf7421aa1133f23ca626180b0eb87780cf05c0582001c4f1795257a7104855483c3e50359f7c23b62d3bea7888a2a34c8c15dbbf3603762e79d39aed1e95bdc271074a96759ea47bfc867659ba0bf922963a59a4fb2700581f0399acebd5f7c168c80f4e2beb272a6701e94264b8088ef919525f569e63005820b1fa84255774563875269952f8d2f1ffb574455d759fbd643acba267a53a0c8b03da6c4c6717fc48b59453dbc9590cfd474c5e737c7e70695ada33d2d81d3002a900581f034c5dcbbdce191affaa33ec3c4c9b600334ca9e443a88a3c3a53110a90790582005b01eecc403b4c502456d3ec95d9630e64239301c41d776ccdaed1b1a12d2a20219566903e238b810f0bf5477ba8556f6664ace147a4251ae84101f08cbf268d8e83237fa03698d0d87a6d5ae8f4891864469a285ce4d635f8b2b6971f4c8ede56ba862153e03bb7d7041afea04f7aeb2b1952b9507ca8a3b44fc5e1ebd022117d836d36b80c00384e0da09b799af8d41ae47e45b450c009210dbafc28089892fd597f1d718837103528df913e1393a877870b66539ea7ebff308e98639f9ba222928a2d8a46c89a3038d638050f22e6f6d73dee0d6979cc3df8f23592dd6b3d6f7c54a2f52a36f2d1c03b2cf76aaff92c1560489bf945a0fc8dc163d84d01091440830cf19ed04f994c8034a735eed40effe440cc6ff8f7a70cd9929effe42a612703862048f5f49238c7c0358841c7c5619d5abc529c917dd1fbd636ee4ee470c5d264b69248e9daec2ba9c03dc793290686fb169f7d6d7be3bff5f4f0142443d95ea2aab0e0aacb7fcd75ea60370ad4599e2f8151cc91f62f2f476daadd769f4c05d4c0d71e6923e88b1d5559c03f604f877ecdc8a23a8b871798121d05095a2f05a3265be17bc93b1839e6303e30352ae4c06f6029efbe53989c34e0572190e3e52105951a89fe20cd79ee1f8d1d70385f227d9db7d9c257b41d2346b13760f65fd0d78af4ae5c7f60f969dd2450a0e03adcdb158440a916898b2a082d7e4a850a152db70c6f067fa471eddcff79e64a70219ffff03a06f27103e810ae7240ea7a9ce7ff5193793156885d12e6be84e4f48caf9fa0603ea9bf51064570df3547bdb1d01427509d2cc0af185527326a0357bd1fe4ffc040306c3485cf36469247d70c398ed3ea21a3406a58dee471cbf733a91a0ce3b7cdd03db508fdae3abf77208cc93825cb2e7aa81ce0de790f254f3ff6e059adaa3a125038daee492527060d2885ffc193df169b18fe3720c15c9f5c3e0e0f9c653e6b1de030e389875804f5509b28c8c97cd522c0f036e4a96ad260beae1edec775f4f18ae03448e63e7c798431d1bf46a934e34bf013e657ba35c4c71f903828af8ceb2282403df48cb1ed8f1d030853e3c67dbcacd73e2c68d496e96a585d330c5b049c6082d030e80829b7a0270410de220c85825a5a91c6cdd7005d3b271992f3e6009746b1903e50896183c810fca2fe86c85bfdea34078e7639d1f47a5e9889a49b89eb6473b03f2400b1436c6a5222624126ebd4e17057d865b5fffb60e0576675d474f8dc02a0219ffff033b677a0319358fc23750231004308865ea24875f6a3ca4cc610a2f1c9a3f6d5a031267a4fc4b7bc161928840c6f8885b6e6521f67fde82c1dae7e3fe6758c2f3940364d1d24d0898a632abc6c1701b2ef25b5aacef939e035adf319378eb1d714b5903d4eecd6762c4689f55628ded443c32dfe8adc31da1fbe374753de592e12f83cc03244109a26413fd5cc536471f0ee424de37949eead779f7c7b10ba99712ae3fb1037417a04c8fc13a3c6641ee2ecd791256fb409e47f2034a3d91e09fe821caba62030d6eb79b30e2ed95fb678d337914e3d4d663dae7c127ab6263099c5ba856f87f03817b8285f7839c8658fecaaf1fbd8853f870e3783bd037eabfb12b1660409ac400581f03d217f7d884baab910abaeb41172bb7a8bc59a1455bc236231f423c43bda058202d9423498f4b4b11031277b6c6d28787e85fe17ab0e4ebe17cc75ec6b2cba4ea033262d629e4df0bcc7c5db032dfa63969d1f99a14602ca4c730bebafa2834fc5700581f03fec9c24dff4286b45c992c1bef86050bc7db7d2ba2ff3485ccaafe9fdd9058202e4d047b4e1741d671c28e771f23a72743690bbd41cd8a18290b3e4b639c263f00581f03f7e98981473ec1c468f946f708a09166b960827c7c8e2cc35fe8e12b1d1058201884cee18aa6bb2f82358d256bf9c8c19d4b2f9ab2430b3ed10326eb9d1451c603b2dd7c36258f1e9e6dad5144dca633c97b7c9a5cae0302011ff2130f727e1c9b0351c9b952d80e3cc634b980b817ab47845ce0ca767b761156e62837d7dbe8f634032a35adbdf477758be9c992e26b3ac432633c8a8fe07e164d02d900e4ab80b5b60219b46a0306627a2794468b699cb5be24a371e5bfd51d2f630b0343920282676d31c3472403777fd960d23ad87f6c189fedd220ef34c229107bd2438001ce2c2a3b4c57250f03c3da5e808af1b591dc5847a60220bf3e1ba09047f1258f27517b2974f0e16a3a03c802e0e5fd144432c0b1c706c7226425a801b65baaa4f653bc8d6ad73a1ce410038e444059850f2e0f5e533deef779301f66cf3209af079cba0307206d63a4fe2003ac6dcf3078a2a620d1705959583118f5c6f40353d8efdb531fa4430fb3cf501d038743db1f70f6a9fc2044cac9656b5bb78f5bcda8726431a41a1d3eb46068e46603cb44330ac952d66999f5b2860f0d816a9114bdfa0ae0313908abc04511484481036ab3d0fbee71ddc079ab25bc08e5d9509997341f059a8ee9e9dd100e8009f5ca034568ab504516fd7ad661dbe6093b0433fc31e3ded56d14d451c2ad8e292bfc2303aa55d0eeff8fc0a5b03eaf418143ca00328ee3a73e626a0a570fee5c0016176303f5433feea54aa68f4fa7721a5840d76bdcc79c151b0d6c427915bf6793d10ac003bbed4f2600cb5586a67e3079340235eb9a47200513621c0176da6acafb0942940219ffff039c52ea4a516a53271702c839ade8df3a5e098c1db5812d68882ae6063a0d4561031fcd1c8f6f582ebe00152ef324775ffcb33c8c75b66d576ddb616ca8f60840ff03012467de38b1a0aca713c2eae65e996ea75d5fd5da822e261049899ac4c16eda0376849396215edb177df24f4349039102b2f07b2ac6b0891bbdcd41fa5a1cf580032ab73292387c7c9a6d5d87d6b5a7375777b35b2283b1027678e0e0af6006c2c203c735e578ffb241b672b77c4ca26502d62bc3d2dad04fe66a9152d1075729ab6a03258a33e7ef1b3f827b25a289653117a43106600f469d01af5ea1f42087f157f003cc06e40b1feaecf86f30d06018656c99786ab8acfeb9e231db6b8a058437d3c50342e52c593a14283fec4f805df2044c86025ed85fe7ecdfb0b86825251856618f03dacf781e27f605328cf3e4ef721454a6a15eb34f56a80c607af6af16e61d49f303544d329e6786458e1198655166030e427ccb05a988133bfd4c44b3ce892b5853031e8dc1f8fd6cafc51c1ece64d24cc6d7c771c512bbe520f9228954ff97f5201103ddf8c9d8071f025d702a3b1668964493aa19afe999447af131ec952fcb1b9f7503fe9ce7727499dce7fc54778ba27c59d2491f0b7077c4bd7a5faa895d382c925d03809aaaede9e551e1ab049b184e90e3b961fdafb09aaeca661217e957820b40cf0219ffff03d027088e7ac639da2380d2b62ef4b52f1e5325c8645c0bef7105649f2d26096b0364aac1aeac76ea375be7b418ae097199350cbae37e8222bfbe09a0d9d944c8fb03ce12c1c3d7f8c444ed2732aad4ed706d1d4f3f7fc977bede51db3537be2e05fc03ff4270a517c50fe4dde8c4f0a07b5eba597c8bebcee1baaec6e69dddf6cb814203a8fc6443502112d50c588390af862bcc91a12889288a66822a6038d4e3ed3ecf03e614dba112e4e6c06ab414372eb96fe1bd15d678c1410e011eb32a6f9807b5900310900288e916ef271bd00d52b022bdd51fc0b109494c506b972557e501efbc5e03594945a33e9e6245004774c06746b18b85b98e8f8229ab050e9a65dc40701d1c0219ffff036b8fdc024e9c8313643c54b23775c7d64093692d5f9c7c3115cd0ed42505d329033c3648577259aa358ea690ca8d6f9f63c8c5b8e62570ec272430925e01c33d41034f9be66a7fb94ee730165c2574c330d76bb3fea5015acc001a2adef60907f3a8036f37e170ad7c116e4de479b41ce8e105c6738e14959a995feb90933b6572302203a69018d92cb74f3f0eb8d9bc585614b5562c0c270f4b5bfa5ac5fe18950804e603d6dd24c6494182e2504fd9322523acd5c8a81ddd228c1993a66087a61a852cb903ab5e4dfdef565275cfb43346d464a1abb555c44435d91f8e70579b13754b08420354092eff3a3731aac90397781f038dc4e5200be2e1455dd944401596ae97d7e5036c38d25ed28f7a15e9845888afb8bff9576b9df16b1d10b68a347fa720d1cc0a00581f037cdf29c9a76133cc8343f2801f3199c29d16b2b39a8bc67ce9844a411d4058201cff6d1003521f01ed48ca40a927e0a73fc575e1247b4c6d625b0311ebea1d1d03cdd43555c4131315df313bb8fe23cda55630275d361f9af1c98d479501a8bbec00581f03daa9fdba27a209fdbed5d5d8531cd02324d913a7ca8c7dc72a8d7b619dc0582009b38f8b24f50017a5a71a48252bdbccf535a3ac3bd85809abfd4087fba42f0d00581f033b9c69ea1a4cf67e460133c5825d6d051312c8649d4634be87846b13c800410100581f03674fddeff9c3ba69cf9fdc81ed2201a8755f701a9a542fa094bd23b783605820c1e9ffca4755e5314362f48a0cd77bfac1f165d9c8736ca67401a8b6c3291d1203b9fb3c985e38e5038aec2cd2ca7b4a2dab671204df4bced3b994715d641de96c00581f03af4d04e358f5d7aae8ec0fbdaf7a04e9c700e6c9f6368f8b56adba008e605820b171da9acc168833713f21ea95fedb8635876516291b3e16152f5cfeb25e864e031904cf7b00064e74065cc1db4a401658c5917f23f75360fc47badd58ee80456100581f035fcdd37e370e732a87c06e02ad6450b29b2c4865a2bd39f9be9eea875ec058200373774826981414bcf546141f4b404cabfe5a69165af0c2b68f5060328e7dde03e15ac2c720970a19f08d2073cfb0271b40382f5070670b1df79a823d21f021df01410f0219fea2039e8aeb2a90552f325313feb2ec33fbb00893010fcdf0cbea41fffcec2430daa60305d6669d295a52299db75bd36782cdd4a6f1743e6923d0daba2cb0a680661a350302a9fe24e505e829ba46d65a1e0778e97c02d9944e29f58c50ce5b7b58ef211103a232e9274b36abc457dd99003a28a011a8593f42ba03fa221f0a43a26545a84703c6ccfb320ec90e8cd10585f32f84e63388f592de9e2be447c46ff52f8343120403898d5d33bc9f8c6b42e76db5b8ed385eaf01cd37a9e7ba9e9300263c1a4ed1500314e18c702b0bcd91de51099895d97c32e951c4e8cf7fab3694224e6be499db1203b2cc0e77e187c75f1afa3fa6e25db299b344a71214da9a0f82e396ce80a0602d0356e8423cd352ee690dfd3678b3125e10a1def233e384b2293bd3e31f7c4a98670219ffff030224754ffe4ebe3b186b455334a01dc79a8bb5b831a0508b52e68da40e7663e503c2b5ccb63a6dbe36ebe65217f5fe70ef93c9367aae65aece68016bcdd9eaa6910395fae8355cb2afa97f231e4cf3e7c30f8c44ce7787de5eb78f07ff7665a6dedb03b0e9b77cb2231fe38851a320f0e5eb9313439e9d3cc97f32bfa7080bfd181cab03f1bc12f8fc4992b5d4f734c977c5a377828ef378f05de8a88039691741d899b703b352bee6960cdd14bce7718686e786cbb30b36c9b549fd8f7c3919ca95003789036215b08848736ed112aca60053486e38b498bb2839b84b6b96f2294d855a373903994e3c442231ffcf843166e77ad16a1c72d7b78e3437165fccf91a735326db140313286f655ed634b18d7102fb4dd0b112854619317df132fccbe7d1c0436358db03655c9104387dd82d9feaa994fa588b2bd62420299e35d7c87f8395ce895b33de0388d69116cba5afa72d12c70c06fba044a6f5af6546636dd0838e9ef485bccb03038952ec2a0519bba45c80cbe4a0b05f8fc10cb055a5ebb437ff13a758a548dbe50335b3c9b29ac69cf3d91b4b5d5b56b60534c6551bcf218e59b9c033f156f6316d03e43ad234b79d57778e8ea68739bfce30d8474a2c310829ed00ed287650e371f0035d1ec8688395c8edd98ca6613cf67d40557bdd5f3ad126843183a7a93fa3b1e00219ffff03c490595e9794589b170db4057d90b4de02dfbc83d938cb44c0ea8b952b25d77a035d36ee2939ea9ef448d1adf6598a709d81dd44ff35527ef9bb8f5ada9b68e40e03ff58d463a5e7e3387a6a9a7252bbf2ebaa2a18fc120974fc254335a059f3fd2a038a10f8899fd9412615c1c1f0b94047e5ba99178fa59f16ba226874c0fde02cd5031d0e04fd9e86dde53a806fc9888ee24f280cf7f69a337a906785ae152f4e040403e7158278f44fdfcd2c7a511b17a70460486d8e005f605aa8d2827e19b95fa59d0381f611747fe825ac8ae588a05e85c73bff2dc30e5ea1d924d4f7ae94d9b22abd03f1c8b8aa8b215a0c855cff0f46d924496e8a718f7e7bbc79daf77fdd76b7c31f0307fb6885514609ba3ac237df246ac8f3ac2e1a297b4851db2ee6738b30406651038b2c749d817bd3a42cf4b1cbff5dcaafd4ae7d0f9b0d4ce7ab91549cda4956e6034e883e9f106350fb19ed93df20e9e45ee5f6219078b508c10856f4bb1278cd3f03f94840d24c8ab331dde63e6ae10e8a0ff10fe4d75131616830d8b8b55761f2220219ffff0219ffff05581d02c617f9ef14c016a3256ef95f180174f20035b534c14263666d9fee8e070119089e0219100105581e036a31d088bbae9c85cbe222e3262794380411cd4ae54e1433cfbc133ba00c03464a8b6e323e000219dbf703286325e3e3d2cf9ccbe788038218aec67d093c0ec02ebe05e498393386761e2d039b2787721431f9bcaadd3d91609c38b402757251b1a9ba3bc256ceee0e1d7baf036dbba891b11d84a113244a435f72e58ceedc3c8266a131d7fa470cf6101b0c5d03ef9efe68d288e0a1873cd4a93d60e4112c6e8df4a03f54f24d718f192111ea3b0219ffff034930507c9b2bbf32eedab774fa49c6dd4324c9b196cb000fc6bed2b470d972150219ffff031aad705357e204d0d7d210b9955f9a707bdbc85fe0f336481c4454a3253455e20311b78482d190c9e9556c33b70f8f2c07b8477891ce5c717937ec7bc3be467796032c071723a765d82985379d10df85979bc51b1dbb3850318c5c4010a6ffed5b3e039294c9a33344c6658789e6af307ec2b877d9ed37a71f063cd6d5cb3d876b316203d1d93913732e17fcdae5ce886874ea3800642d6cac26ccb1fded5385e5f8c5d103d9904f4c84ae24c90c41d0c9237be04273638078c18cefd4492ada35d2a2e162037b3297037a73238f76fe59113bded4a1f1d63e99b45d06702edd294344f38ba3035e2f0ebc0a38406510892fdcadc44f88762f01f81ec46bdcdb1d13e7e0a16b32037b23d03a0736953c7f3242d7cab2ece4066d4b7788de493603ff3378437fa226031e17535e958397c3ae4be16e423f35861e0179299f7ef6bd5b01d69aad500d3a03af412ec6a67e0f096da2d330de55ac83bbe1ba46ee95a96e91e819260963b9900315070b38e8d9a632474858e137cdad8dd6e2bfec3bb87c6ac11ca0ed7db45ee8036d532ee6e6418fcecebc8341a5a0c9d85c0491232664f07842e3933cbd47777903e85ca81d455d24d2cf0145ba812ecb278fc6b782ace1535dd30b6869d4f3d02503cd6b574ebc05a0cf0fcb9e8c3c49f85fd385bb83b510d1974af472766368e4ad03e384ec2ce1d6c13d71991fbbd8ab4d01fe778516f157e7e27a3cf12fc1d24a6f03b3fbdb5c7a001ab2651c8b00860d22db5798d3c6f835d080b81d7e84e00f8b12045906c160806040527f000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78c7f0000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c5997f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb487f0000000000000000000000009a772018fbd77fcd2d25657e5c547baff3fd7d167f0ece280e7e3bddb048347062ce7e43eeb53baf6c672435487cde053bc6a8cb407f00000000000000000000000000000000000000000000000000000000000000016102d0565b6308c379a060e01b60005260206004526002602452806044525060646000fd5b80828111156100fb5750815b92915050565b808201818110156100fb576100fb7f30320000000000000000000000000000000000000000000000000000000000006100cf565b818103818113156100fb576100fb7f31330000000000000000000000000000000000000000000000000000000000006100cf565b80820282156100fb5781838204146100fb576100fb7f30340000000000000000000000000000000000000000000000000000000000006100cf565b6000670de0b6b3a76400006101b98484610169565b049392505050565b6000826101f1576101f17f30380000000000000000000000000000000000000000000000000000000000006100cf565b826101b96002850461020f6b033b2e3c9fd0803ce800000086610169565b610101565b62ffffff60a43516805a830301905048810283811115610257576102577f31360000000000000000000000000000000000000000000000000000000000006100cf565b483a03919091029060ff90840360a43560f81c02048082111561029d5761029d7f31370000000000000000000000000000000000000000000000000000000000006100cf565b8190036102aa81476100ef565b9050600160a43560f71c1681151916156102ca5760008060008084415af1505b50505050565b5a60003560e01c632f1c6b508114156104c6574260843514610315576103157f30350000000000000000000000000000000000000000000000000000000000006100cf565b63128acb0860e01b600052876004528260245260043560445260443560645260a0608452606060a4528360c4528760e452866101045260406000610124600080895af1610385576103857f31310000000000000000000000000000000000000000000000000000000000006100cf565b60403d146103b6576103b67f30360000000000000000000000000000000000000000000000000000000000006100cf565b60005160205160008060008413600181146103d657801561041657610452565b6000841315610408576104087f31320000000000000000000000000000000000000000000000000000000000006100cf565b836000039250849150610452565b6000841215610448576104487f31320000000000000000000000000000000000000000000000000000000000006100cf565b8460000392508391505b5061046881610463602435856101c1565b610135565b9350600084121561049c5761049c7f30370000000000000000000000000000000000000000000000000000000000006100cf565b6104a8606435856101a4565b93506104b48487610214565b80600052505050806020525060406000f35b63f4ff5295811415610658574260843514610504576105047f30350000000000000000000000000000000000000000000000000000000000006100cf565b63128acb0860e01b60005287600452821560245260043560445260443560645260a0608452606060a4528360c4528760e452856101045260406000610124600080895af1610575576105757f31310000000000000000000000000000000000000000000000000000000000006100cf565b60403d146105a6576105a67f30360000000000000000000000000000000000000000000000000000000000006100cf565b60005160205160008060008413600181146105c657801561060657610642565b60008413156105f8576105f87f31320000000000000000000000000000000000000000000000000000000000006100cf565b836000039250849150610642565b6000841215610638576106387f31320000000000000000000000000000000000000000000000000000000000006100cf565b8460000392508391505b50610468610652602435836101c1565b83610135565b50506106837f30310000000000000000000000000000000000000000000000000000000000006100cf565b50505050505000fea264697066735822122033844a027fc6b17dbe7d2d177ef947ee3ce07f1229f86d6b7686b6faf1c6a64b64736f6c634300080900330605581d024a389388b5d52d845dab63fef36206aaa63be1d4ecaaeb307fb94cba07011906c105581d02efdd21e8a735f382f6eed4d111aafd9972e4e55ae6aab85d08dda1970c1854470ebe6635268f810219804005581e03258d035284de5a9d9e6258cc00d744a860134b724b7fcc50b8343034300c014803ba8ed6f0fe3a2505581e039961e9cf8eb7c2484de6b99978ad39f0eda7f109b5739c1514ba408ea00c0b4668c0b23884d003400ce1070ec112df4701918bd6bae32c165fbfb97e0986e553ba4e7c9b105b81030cc21ff17d08b562ed6c01908a75a10c2be211a86c25edfd783c550d19ecfa4203594e84b484d527bd0da01c0a21db150f87f25c85c6d6753f0a6d946ebf6f694f039ced780d0a3a80ac641ea4a76740f476cae563f252b929a6be79a9bd66cfa21e05581e037229d30283a4ac2214741df835b0eafb711a1b98b90070b93368a22e00040303adc2bf6cece2726a3a4ff9b0ce6cbd70326b7967b307d83b5e2fe0d811a751ad03cc77a013d78e7a45e0b27476f1cd581842cdc9fc8210bbf32aad1389ee2a419603c75d4b7f49b32c3d137f72c76ad4f08872967f1f2e3bcfaee803a32c52a129a102199bdb03653f5aa0fe018689bcb2c32c0e2e679999d5047bd0d8476b7d94fbdb2f3664c803414289631beaee323fbe6242396cdd1876ef9e0858d7ea1ae50d621b10c8e9f503bc2656e891f46c0347f5cbcdea561fc103237eec2892762efc735cd4512af8ea03917d833217b9372f5f402e66042b76221b004b889560dc35e45579ab9fe768a903ed61984d6dd9467e9ba9f9aaf2782aec06fd7f8837b15095d55cc49810df6a0d03a9c76ad31888738639bd3107adc452e712539557ddc940f347245557b97af466031c7656675ab6d5f446251bdc9ab64a47fa7aafd62be1fe0298a46f11cebb6b950352ec5e3b3ae0a020972a1d346cf02fc0788c231e00cb6e3569efd87195dea037034c3117badb16b3f6796b0ff315764e7c3162f39b2f73ff4c5358d46cd016982f0363259e46a03a12ed486b9b0d2cd4c48ddaf1437adaf0e11e11b49b49c0a0e4260219ffff030a0f599b58f7cfeb901699473acf96ed8cf114cbf734fcf6d2b600b9eb7c7e860308d07a59622e7547ee6f16bc1f35e6f17d17ca0c6a7b81ac032e2714c62fb74103ee8bf0c413230bcd17e514db10c9fd4f5e6a109b86a7264cb1ff099a144dbdc80382c122ecd659f8a07319b57acf21770abe7b5292382f77b9cb777d17bea045a6032db269a2358e0d6577be5b96e2e9aeb4c4c8c71f20ef35b4ad2a9fbb8dedd6b7036c8311458c0ebde941403601392f12c07608b85ad33b860f1d5a9db8795c5e2803c0e7990893a87f87067da4ce244bd97297d9b11e65740622dbe96684caa888e403d4b9691709c23fa4f21f01453158b92befe20a1ca8e6c96b1ecaa0c41ebf5da9035afef31a072a425161e6e56a5e555b7d302bf84253b27b9ed68bd34bd09e7be00219ffff03b04d3abb54e89c2628f12a0ca972d1d6c3de590d08ec3e29ed126ca0587b8b4f03ad85bf989ee3c7aebbba30e7f8b7ec3a02c8c751b60d31f9b280dcc594f542bf0219ffff03aef7ce4b79a2e65323979a2b2dd953776c48e39de7b48f92f74f4537994a2d7d036058229742faa5cf801467f5a49ecb52bb553c10be88d947fc50895d1966c67e0361519c9ea0bd67ed0ec1cbdb8b9b8f545e68e64684f65b8730f4f86e00fb699b0315deae4b1d7e8fe181f57609604ebeacb4265b9e7824e1fd961e3166a8de0a46032a5d859abf9844a3b7ca902fe872afb23652632930b276910400be42bf574e640308713de6276fd8d707567d1aa27541721fb25f74d489199cbaf1aef13cbc674103ab099a0a1ffbb99d4b742a4185c4b4d022efb54b1f35a9a25073c232ef3d8d990335272990288f0567d281f811b3524221e5b549d28d0f2a01c76a6d5550d4a17903d3b4608be444bc20c9f5758b44c9536870c35bfac74b3556ab5f4fd940e3e0a703ecef85ed322b7b31e547e8ade2345d6f30815ddf4c1444f751a935bb4b98ec8003f9f5d6fa620b5ab20977b892246f8809a1c40f38f043212c0cb03b806cee1c48036fd493055ccefb65631ab0fcfeafe200df22efe2a0c180fe86bd909260038d1d03105a83b18d9c2ac2405b7ec603a3d102480b6ddfcfbbed970eb044b243ceeeab034bb6354b6214dd51a4d6fde79164605ec1b9fc162f864e87d3cec519241cdfdb03b2e14c990292e973a777bfe588edaba0113c6e035291531962ef3f484c5d9d8903588910c0677a473b54b2892a47470be2b3c56acbb43ecf0ca952f25470dcd33f03556fd66fdecbf8350252c5e0ba831f9f99045526b3ccffd796866b6afed7e21f03030c98cc40db5d8e1dcbe3288fe2c793b03cba656421d77374e45b925588256f03fce631558d44fa2c7825ebe9606fd5f20998fcc134428eeecfd2aedd368d4b0c0327e3c9b31266fc09bd0cd60b97a8337047faad0f76b4916a04f1d4d9d1957f2003844bc87f6e3c3b58ec16b744a59cf855b8ed84b8ade05e311e49e64ec971db7a03cfd8715a0253fbb3546e22b6cdadc039271e58bd4287bf60e980aa54df5a176203302fcee6f0523512512442e92b2e72bda2a047d53361b3042d4012e983d3eb1a03a5506da32383504c737a424f598e3a612f9df18be2da108f3ba081faf6c5fb22039c5e44501f8f67dbe225c5d8ad2dfe4900551c153da351a52358139f704aebe103a92643a5e936023521342a1f639768657203a1cb0327ffc4a99b9d2c7b0f3a1703d851750a857f14b275ca0a15576b01b785dd7d9afe5c8d6a6ec7bf05445a48f303562b3b925a65f2d95669a2ae49e019a7322ba3bce680ecf3821cf831edca33cf05581e03296772634c65b6b460f05f5b411e776950177580124bda961af2a97f300403033489490f9713aa886e57f84a60c3eadba4de43958af2b31ea3687a8cb4ae082505581e03f22d6ddc61bd4c2beb07db4fc8febdca149d39606f682af913d15dd5e004030395d0bca7617ba38434824ae4a9e454c4cadbcad9d6d0262c26de53d6eb121f3f0459044e60806040526004361015610018575b610016610377565b005b6000803560e01c908163d948d4681461003b575063dd4ed8370361000e576100e9565b60203660031901126100e65760043567ffffffffffffffff8082116100e257366023830112156100e25781600401359081116100e25736602482840101116100e2577f936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53e916100dc6024926100cf347f000000000000000000000000f70da97812cb96acdf810712aa562db8dfa3dbef6103f3565b60405193849301836101e7565b0390a180f35b8280fd5b80fd5b6020806003193601126101e25760049067ffffffffffffffff9082358281116101e257366023820112156101e25780600401359283116101e2576024810190602436918560051b0101116101e2577f000000000000000000000000f70da97812cb96acdf810712aa562db8dfa3dbef6001600160a01b031633036101d15760005b83811061017357005b61018661018182868561020f565b6102c4565b805160009081906001600160a01b0316926040938785830151920151918883519301915af16101b3610351565b50156101c2575060010161016a565b51633204506f60e01b81528590fd5b6040516282b42960e81b8152600490fd5b600080fd5b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91908110156102315760051b81013590605e19813603018212156101e2570190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b604051906060820182811067ffffffffffffffff82111761027d57604052565b610247565b6040519190601f01601f1916820167ffffffffffffffff81118382101761027d57604052565b67ffffffffffffffff811161027d57601f01601f191660200190565b6060813603126101e2576102d661025d565b9080356001600160a01b03811681036101e25782526020908181013567ffffffffffffffff81116101e25781019136601f840112156101e25782359061032361031e836102a8565b610282565b91808352368282870101116101e2578181600092826040980183870137840101528401520135604082015290565b3d15610372573d9061036561031e836102a8565b9182523d6000602084013e565b606090565b6103a1347f000000000000000000000000f70da97812cb96acdf810712aa562db8dfa3dbef6103f3565b7f936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53e604051602081523660208201523660006040830137600060403683010152604081601f19601f3601168101030190a1565b60008080938193620186a0f11561040657565b604051633d2cec6f60e21b8152600490fdfea2646970667358221220caf02629fd057cfee0cb6731c8eded184dc558da485e5cc6ee0bccec8e65dd0564736f6c634300081700330605581e035cb01293c6bb4d9e86e8728bad844362da621c31ee7d83398389abf510070119044e05581e037e4f2ac84e4a7f5f4f992db5d4dcbdee0abf765a9722d1da3cb78ca2000c0547307dfce7472d0803562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e030d3ac6240459267077a10f28b0087e777b4374197eea032e57cf8a0af007011bffffffffffffffff0219f29003de7341ce45f8d22a0b0f243671a1977d1c23c576a236e0c717f08bd5ae717837033c4d8cfe61992368f36986f2d19b640cc4784b81ac05a214a65c5dd4220212a903cdcd3818e435b70583229875a9d72e3785efeafb48ce24d42b4c860d20ad0623032c852384c5ead71af9118278b572acec63ee32189ded6f3f266adbc904c11f1903e339fcc834b806e763b9bf50484b147f881349073c4316314a029a2e0f71bef1032f83a5ef52e44aaaa8247d951377c747cabc61160a4cfe886fe27f4c4cde3ed40349a40e391bdeb7ca54a764ce19af989a52f655a1eb5e65046b67f06008a40c170219ffff03140175c0d8ba2d4538fe1699ad0f8aebdd88839affbde1ff08c30e3b63237775037dc50fa267e5dd195139d52ae7b59b3ca7415347f4aaaf0bf0c9aaf88510091203e71d3f85c63f4e0b5dfd48758ce8d445da7d09bb783a05c0f6a7d657e647f49403755c30e1004d246f1033536147f24aa37435c6d222e953d51901c578ec3fe93c03a4fdaea5b444a9ff1a3ec219f70f6f3f763f99def39a7e3342c7b8a5091f079f0306c55ef305ec2b2d45b943ab8b2669bb5a57d61a24ed476f73f43f31deb2214e03bff4093ebd5c73158dc5c61b233c4aca2865493ea920e9ecec042e78b65e9f5903ba83ccadeb22f472e7e118840f6853164b638df5bd806f442372d66467259fa60219ffff03810f6686e0f65fdfd21698399b939b442a0d211a132dad9b71c96278b11afc010353d9664907492c4114717ab7b2b6acb52c7dd4c3e22228eb102d6c457c8d8b230219ffff03f0f989780c30df0f38aafc3f2117fc5f28bb616ad6f49611e8c375a0bc2cff7a03736c627816b431fc66f87e23d76a0631df98f8271f8615a49f75d8bcb819cc9a03cdcf8f79854d69b977425a8d422f30c67c1a30cfa3ef585b404cd37adc63b1ad03034cb4995e7f0c4c4c571ed7e7d5a803fea37fda8e4af4962525edd1612634c403f5dfb23ba6299f7e2012c609a7c037dd38bde0d632673726146d782184a1c64403a5c57adee7d539fd5e7e60364743923a78634d904a7818d4a51ffbf4a36112d7032c137e3fed49480a0971beeb8a7e01b6726e435a38dd6b7e97ded3fda31794ab03d4e67eff1171c6399ee0794307163c8bc24ecfbcf807ae2cd4b86312864b1e9f03af8c48e40c7b55a303ba2059c91426fc8f5829c51ad02041e747c0febf5ab82003d2d17fd2b3b1c5aa7338dca49ac94babee690cb42327ff3a8e82e96665526ab103d7b87559567ba07fef9b023273db54afb9a536e2c74efe62ec670b170bb3789603f7324ee266a78719d8961990b8673eb31fd326f21350a068d313dd214bbf120e03cfa736c15a18d265adb3bd53304d950342b852e79372f5e0e8ca15aca1bd57fc03a6bec3b5b6e0f38c654abb9ff22e7aae41ba8709b586551c65c5477c7bfc44f203a01d9771d792ce14c5f6f98ac8dca2978cf5655d89052f4d40dfccf75125960203893f219c9b4d6fd8808df188099376ae14fb0a5b6a117cd47d1e3f1edf0e99b803a41c08186772ca572cb22953951d48617444a8719c45bf0ba670c0b00610c267036525b4749abda43ad3ca2e914c419b8a67ce4bf1f4c2d2339b7e2beb6aac3bf403bfb548e54844158e21fe7453dcbec9cda057b9ef4fa531c95dd09dbadac660cd03dc1698344d43a078f8c7cf608bc43bece4b14bdefdab26720d9be2c8695c34e70324b43e337a45d9dd98298496fdb9737bec7f8cd306a18966e260cfee06e1fe720381b6000b8a2925365cc6abdfaba917d069535ce88e640c6c763e4fdcf9adf92103fc426ee6e4d549dfa3e2779ef8b6808b857685c9dc2362a48427d3d83a8d0ebd031f486feb2b5d1cfe2151888a81d79c11021ea66e5397a71aa473cb6827e6a83d03fb938ec5e66a4f48b71d265e2ec7bf4b9f0979382fcc095441a588b5d5e0d3c803febef863281787632606617628e2750ad9dafe97b508afe97cd917fec387e4620373783021d46782d27873bce506133d3c65a0fdf484c29bd5401a57171aaf5e0403f50e0b66b127edaf8824012e20e8647d84928a8c08932e64b5b6052770188e0e039d3bc7f7fb3547481405bf63815b94733a35ed73364556ce06ab08390c595aa503b3ff44cae05ddb47274c17f12cf61e4d025696474a7185a3c373d8355e7364a103acf7430a0b8bf62413eaab75b9b6b51913756c937a97d5cbf5c5781be31a66980381b8d9df46fed6c9c4b738b7f65b854eae9e6d021c20d29c14f2766307196b8a05581e03b1b7140dbb197082853651d92061cf63c303b1acd46728e8793630cd400c02470231d0daf531e505581e0384d95c8595526a07b0d209da56c4a57806219bac33d696561e080755700c024701bec2fc62fe8f031f451836fd622f06501a0537b522295ab435cf9062fa731385b6d37a3e20f95203afe24e1c1090fb0bb2767bc0df9a9f031a54033f7506363ef453174f8ebe21ac038f08d9cd2c6589a1841224ed9f305e68ef00da8e66c1a91e9ced36bf9ab6ad5a05581e03ffae820853ac9ace84fa35b19c9d1b1536a0c93bc89344aa5a69e6867007011bffffffffffffffff03c61293550dc8ee9bb8c1d4a8da5e6f935b5b346bb5cb74c53a9c2d231a22f6ea05581e0335110e62e04d264dc4fed769ae3ff4df1b03417e9a80590fe26d5195700c03467fa2c8b36ad805581e03ba8b0a0e5a87d3192df4af87840e26295455ee485895a4376f8370b2d00c02470147de98c1148805581e03760ff0c45616fcb05dc840044f6d9fac63fde0df8adb8d09a898bd50d00c024618261e87300005581e0336a36573829a8662acf38b0361590bb96da31c45b3edd25668dd3bfc70040205581d02af4083cb6c89b82c319d44aeb986481cde9f97dbd7db77e4becac7100c1a002db923490a2461c9751bfb4d1f05581d021e3e9dfe145867d206e14b11f3edb6b160431d1af900cfbb5a780bc90c014704bcd55dc93ea405581d022b75f0ab8856e4488839d159d1cb5c39391c25f3592cbd2ce04473470c01480163039f4f747b0002190822021945fd0219ffff0219ffff0325302cbfea32af8c42806fbb92c202eac0f50a19f2e2cdf0d44e61d54aad139903b4d98a06d93676be0172a876687b8425dd02f0108b76d8ffc1635af58e8cf33c031d49ddc3d8c334b5928636b06d09b17b3b6a303fe817080b7224fef38213305703c9003576dcf659bb227b67bf87857e1faa65a6323cc579f77ec8a209773007b703900da4e8c01f59647cd95d7201f4231608f192426d6590e8fd0e7eecb735c9650374c9622dee3899a36491250822dc765f9afca4aab81cd1aead25f0351b84e639032daac528d360a0d29702dbad891e7d988efc42c2065928b6e7c3b98e8844b3a403eb4e8ad438aa8546272196d18caa0e4c0b4c23f7eedf2d1dc0fd2c3296d9881403d4e7f79d92df5daf8e9e445da40e6e4cf69ddd4ab3383f01552a15bbadf44d2703172e0b2db3671577948ecb5598df77d70531edb787c23fafff2940cfc4cbee14037fca2093105aa86a88526fd8e86637434baec74228e9fe4082a9822cb3df58d403274789b5dbde6a5e30ea52db5bc7679e127dbc44b4cbecaae16a178814bea3a1036f7d4a2d754a81fd63198b47490589ba75f32ce2aae2205cba0c00f73a102a9c030eb9fddd791835dec58b13e5f069fe92d182a5de65cd4a3e25862720fa98b2ea03829d033accaafa516fa1b38b404ac63163f9e4bc3496cf0ff9fd4e80d3c9cea50219ffff03439892e11b889633223ee5a27cdadf5fc525722a9b27a33919ed609988ec7a0d0219ffff03003e841d7eb3fcedb5bcfdf1f7d3abbc8c09f11603c6d195fe56bf8b301caa1803feac9816d241956f90848c6752055017fc95f2035a064a514829182fd72ad3b203383527f87ec312f5ee372b02b7d8f4271b8f606705aa28c09a6a5adbdb88426003cc49a644d01add9791f60fdc37e56b419eb068a6013b3514171f912789f05c370301830b49c98e095033baa7a120a50220f646ec26e249fab434b6ef3731a8c9a8036a3f4b5411b2b80c2e5f818d36e14b3f0fc9f90de3c5ea4edcd999fee765e8c503db0590024bfd5b893928b88250070097591e0947e1b1352414e45cc52caad79503d6acc936f6ac98c8cb97391efdbfa87d10f43396758cc3354364ad19060404f1037991ec26376f65e711339cf9ea8e76ac75f0c9e4e8ef1b9950bc916a9ec772b803e3737b202c15d46b0f42981c5ffc54522600c9b7932c516271b63376baa99d5c030cc90df05b1fbbfcdfcaf37aeaff4e1698422f51ee469dbf0e7852717ca42c28038e7fca294c69e9e08d27038960b834514ecad883ece230059ea31cc0d6a0619b031faff4a571975a06065d738d28dc9d2466ce85547eec643a1900567d6ab07764039e6c3aca9d084a61f2c5c0971b75ffc908eecc5e768b4e82d5a9db3a3fdd6852030be88f9f0f74348119ec473ec2af189a5f6e02de62c8b0071e32d0209f17d46203199574c027d6968e01b59e8da283fee8b30b10429e85c7d74e0bd63599e404d703da4166922e4468b9feeb0397c01d75f933a369499be0e8780756fec48df91d2b0321b0de7a71d2acacf2f90c795675338dc7b9ac0efd991dc957d5bc048bf6d7ec05581e033761dfd96e6a24f39f53a96329076a09b1d46378d7f06e33c9a237f9b00c03470b493b5b3fa4f903088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b20605581e03babf023a2629c1fbcd982cac7fefa3f30115e8243979dde7d423f4ac6007011bffffffffffffffff05581e037e2228d43db58b40bc43d31f0923e7fefa6731bc8c2685c19acc8597600c0c47083533b467f00005581e030f962e912abf9c18ef9ebe5b7a3e5f72ed6b73a88693b98cbb2073bc400c0147017bd292ecc6100459528f60806040526004361061031e5760003560e01c806385afd453116101a5578063c239f1ad116100ec578063ee5ccf6a11610095578063fd6f05571161006f578063fd6f055714610af5578063fdee84ec14610b15578063ff6fb30014610b5d578063ff7bd03d14610b7057600080fd5b8063ee5ccf6a14610a35578063f2fde38b14610a55578063f8d50da614610a7557600080fd5b8063d4243885116100c6578063d4243885146109c4578063d8e8dbc7146109e4578063e4c572cc14610a1557600080fd5b8063c239f1ad1461097c578063ca5eb5e114610991578063d045a0dc146109b157600080fd5b8063917df23b1161014e578063bb0b6a5311610128578063bb0b6a531461091c578063bc70b35414610949578063bd815db01461096957600080fd5b8063917df23b146108a9578063b731ea0a146108dc578063b98bd070146108fc57600080fd5b80638da5cb5b1161017f5780638da5cb5b146108245780638f71f7dd1461084257806390fdb20c1461086257600080fd5b806385afd453146107b757806388543f0e146107e55780638c70830b1461080457600080fd5b80635e280f1111610269578063731dbe0c116102125780637d25a05e116101ec5780637d25a05e1461073b57806382413eac14610777578063826f1fb11461079757600080fd5b8063731dbe0c1461068657806375d2208c146106e65780637845ca231461070657600080fd5b80636763d689116102435780636763d689146105695780636ad9914d14610589578063715018a61461067157600080fd5b80635e280f11146104df5780635f6d9ae41461051357806364e4ac271461054957600080fd5b806332e4e363116102cb57806352ae2879116102a557806352ae28791461046f5780635535d461146104825780635a0dfe4d146104af57600080fd5b806332e4e363146103f05780633400288b1461042857806345655a161461044857600080fd5b80632b28b34e116102fc5780632b28b34e146103905780632dca2f51146103b05780633292cf02146103d057600080fd5b8063086431ec1461032357806313137d651461035957806317442b701461036e575b600080fd5b34801561032f57600080fd5b5061034361033e366004613d85565b610b90565b6040516103509190613dd8565b60405180910390f35b61036c610367366004613e1e565b610c18565b005b34801561037a57600080fd5b5060408051600181526002602082015201610350565b34801561039c57600080fd5b5061036c6103ab366004613ed7565b610d0a565b3480156103bc57600080fd5b5061036c6103cb366004613f1a565b610e33565b3480156103dc57600080fd5b506103436103eb366004613f79565b610f03565b3480156103fc57600080fd5b50600654610410906001600160a01b031681565b6040516001600160a01b039091168152602001610350565b34801561043457600080fd5b5061036c610443366004613fc7565b610f4c565b34801561045457600080fd5b5061045d600181565b60405160ff9091168152602001610350565b34801561047b57600080fd5b5030610410565b34801561048e57600080fd5b506104a261049d366004614003565b610f62565b604051610350919061407d565b3480156104bb57600080fd5b506104cf6104ca366004613fc7565b611007565b6040519015158152602001610350565b3480156104eb57600080fd5b506104107f0000000000000000000000001a44076050125825900e736c501f859c50fe728c81565b34801561051f57600080fd5b5061041061052e366004614097565b6005602052600090815260409020546001600160a01b031681565b61055c610557366004613d85565b611026565b60405161035091906140e6565b34801561057557600080fd5b5061036c610584366004614114565b61111e565b34801561059557600080fd5b506106266105a436600461413e565b60096020526000908152604090205460ff81169069ffffffffffffffffffff61010082048116916b01000000000000000000000081049091169061ffff75010000000000000000000000000000000000000000008204169068ffffffffffffffffff770100000000000000000000000000000000000000000000009091041685565b6040805160ff96909616865269ffffffffffffffffffff9485166020870152929093169184019190915261ffff16606083015268ffffffffffffffffff16608082015260a001610350565b34801561067d57600080fd5b5061036c6111ad565b34801561069257600080fd5b506106c56106a136600461413e565b600a602052600090815260409020546fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff9091168152602001610350565b3480156106f257600080fd5b50610343610701366004614159565b6111c1565b34801561071257600080fd5b50610726610721366004613f1a565b61120b565b60408051928352602083019190915201610350565b34801561074757600080fd5b5061075e610756366004613fc7565b600092915050565b60405167ffffffffffffffff9091168152602001610350565b34801561078357600080fd5b506104cf610792366004614183565b611346565b3480156107a357600080fd5b5061036c6107b23660046141e9565b6113a7565b3480156107c357600080fd5b506107d76107d2366004614204565b61141c565b604051610350929190614216565b3480156107f157600080fd5b506001545b604051908152602001610350565b34801561081057600080fd5b5061036c61081f366004614254565b61153b565b34801561083057600080fd5b506000546001600160a01b0316610410565b34801561084e57600080fd5b5061036c61085d36600461426d565b611548565b34801561086e57600080fd5b506108967f000000000000000000000000000000000000000000000000000000000000020081565b60405161ffff9091168152602001610350565b3480156108b557600080fd5b506003546108969074010000000000000000000000000000000000000000900461ffff1681565b3480156108e857600080fd5b50600354610410906001600160a01b031681565b34801561090857600080fd5b5061036c6109173660046142ce565b61180a565b34801561092857600080fd5b506107f661093736600461413e565b60026020526000908152604090205481565b34801561095557600080fd5b506104a2610964366004614310565b611824565b61036c6109773660046142ce565b6119e5565b34801561098857600080fd5b5061045d600281565b34801561099d57600080fd5b5061036c6109ac3660046141e9565b611b71565b61036c6109bf366004613e1e565b611c10565b3480156109d057600080fd5b5061036c6109df3660046141e9565b611c58565b3480156109f057600080fd5b506108966109ff3660046141e9565b60046020526000908152604090205461ffff1681565b348015610a2157600080fd5b5061036c610a30366004614097565b611cc6565b348015610a4157600080fd5b5061036c610a50366004614371565b611d49565b348015610a6157600080fd5b5061036c610a703660046141e9565b611fe7565b348015610a8157600080fd5b50610acc610a9036600461413e565b6008602052600090815260409020546fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b604080516fffffffffffffffffffffffffffffffff938416815292909116602083015201610350565b348015610b0157600080fd5b5061036c610b103660046143cb565b612091565b348015610b2157600080fd5b506107f6610b30366004614003565b63ffffffff909116600090815260096020908152604080832061ffff909416835260019093019052205490565b61055c610b6b366004614405565b61212f565b348015610b7c57600080fd5b506104cf610b8b366004614466565b61217c565b604080518082019091526000808252602082015263ffffffff80851660009081526009602052604081209091610bed91907f000000000000000000000000000000000000000000000000000000000000020090879087906121b216565b9050600080610bfc87846123cd565b91509150610c0d878383600061243a565b979650505050505050565b7f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b03163314610c81576040517f91ac5e4f0000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b60208701803590610c9b90610c96908a61413e565b612512565b14610cf257610cad602088018861413e565b6040517fc26bebcc00000000000000000000000000000000000000000000000000000000815263ffffffff909116600482015260208801356024820152604401610c78565b610d0187878787878787612567565b50505050505050565b6006546001600160a01b03163314610d4e576040517fc63aab2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000759563ffffffff168363ffffffff1603610db3576040517fa27dd10200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff8084166000908152600960205260409020610dd7918490849061259316565b6040805163ffffffff8516815269ffffffffffffffffffff80851660208301528316918101919091527fd2245824774f1c2de21256e9fb34d9cc4633cf72c0952a82a996e45ad4df3c70906060015b60405180910390a1505050565b610e3b612603565b7f000000000000000000000000000000000000000000000000000000000000020061ffff168160ff1610610e9b576040517f31843b5600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff8083166000908152600960205260409020610ebd91839061267716565b6040805163ffffffff8416815260ff831660208201527ff9fa6c3c4dbf13c4a8348c3102ef22789aa450b81e492b853e93f9701e08958091015b60405180910390a15050565b6040805180820190915260008082526020820152600080610f23856126a6565b9092509050610f43610f3b604087016020880161413e565b83838761243a565b95945050505050565b610f54612603565b610f5e828261271d565b5050565b600760209081526000928352604080842090915290825290208054610f8690614482565b80601f0160208091040260200160405190810160405280929190818152602001828054610fb290614482565b8015610fff5780601f10610fd457610100808354040283529160200191610fff565b820191906000526020600020905b815481529060010190602001808311610fe257829003601f168201915b505050505081565b63ffffffff821660009081526002602052604090205481145b92915050565b61102e613ce0565b63ffffffff8085166000908152600960205260408120909161107791907f0000000000000000000000000000000000000000000000000000000000000200908790879061276b16565b905060008061108687846123cd565b915091506110ac8783836040518060400160405280348152602001600081525033612865565b835160208086015183516040805163ffffffff8e16815268ffffffffffffffffff9095169385019390935260ff909116838301526060830152519195507f1623f9ea59bd6f214c9571a892da012fc23534aa5906bef4ae8c5d15ee7d2d6e919081900360800190a15050509392505050565b611126612603565b63ffffffff82166000818152600a602090815260409182902080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff86169081179091558251938452908301527f5b9fac6cf74b12ad67aa143075523ab25ca781b0f611c4897b31d1500f2ae9629101610ef7565b6111b5612603565b6111bf600061293e565b565b604080518082019091526000808252602082015263ffffffff80841660009081526009602052604090206111f79184906129a616565b69ffffffffffffffffffff16815292915050565b6000808260ff1660000361124b576040517fe3a9395200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061125b602b60ff86166144fe565b67ffffffffffffffff81111561127357611273614515565b6040519080825280601f01601f19166020018201604052801561129d576020820181803683370190505b50905060006112ae60008084612a2f565b905060006112bf8787600080612a61565b90508560ff166112d2888484600061243a565b516112dd9190614573565b63ffffffff88166000908152600a60205260408120549196509061131b908990899060ff8216906fffffffffffffffffffffffffffffffff16612a61565b90508660ff1661132e898584600061243a565b516113399190614573565b9450505050509250929050565b60006113528484612d6e565b1561139b5760006113638585612dd2565b50505061ffff81166000908152600560205260409020549091506001600160a01b0380851691160361139957600191505061139f565b505b5060005b949350505050565b6113af612603565b600680547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527f5767d79cd17d7554509a4dd59a5a7a9175c7e36466455d7b2fa4788228808579906020015b60405180910390a150565b611424613ce0565b604080518082019091526000815260606020820152600061144433612e77565b90506000611458604086016020870161413e565b905060008060006114f97f00000000000000000000000000000000000000000000000000000000000002008560405180608001604052808961ffff1681526020018c6040013581526020018c60600160208101906114b6919061459d565b67ffffffffffffffff1681526020016114d560a08e0160808f016145ba565b1515905263ffffffff808916600090815260096020526040902093929190612ed316565b60408051808201825268ffffffffffffffffff909416845260208401929092529089015169ffffffffffffffffffff9190911690529698969750505050505050565b611543612603565b600155565b611550612603565b8061ffff1660000361158e576040517fe447547600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035461ffff740100000000000000000000000000000000000000009091048116908216111561163757600380547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040519081527f8f1145f51954bc9512a08693182e170a57b63ca4f6acc321b87c526970f4c0179060200160405180910390a15b6001600160a01b0380831660009081526004602090815260408083205461ffff868116855260059093529220549116911681156116a85761ffff8216600090815260056020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690555b6001600160a01b038116156116f6576001600160a01b038116600090815260046020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690555b6001600160a01b0384166117425761ffff8316600090815260056020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556117bf565b6001600160a01b038416600081815260046020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff891690811790915583526005909152902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690911790555b604080516001600160a01b038616815261ffff851660208201527fac53470cf8e9e3d673caa7d47cd7db36c0d38cf37fc147c70c92bc0c1c4734f5910160405180910390a150505050565b611812612603565b610f5e61181f828461467a565b6130b8565b63ffffffff8416600090815260076020908152604080832061ffff8716845290915281208054606092919061185890614482565b80601f016020809104026020016040519081016040528092919081815260200182805461188490614482565b80156118d15780601f106118a6576101008083540402835291602001916118d1565b820191906000526020600020905b8154815290600101906020018083116118b457829003601f168201915b5050505050905080516000036119215783838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092945061139f9350505050565b600083900361193157905061139f565b600283106119af5761197884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131bf92505050565b806119868460028188614790565b604051602001611998939291906147ba565b60405160208183030381529060405291505061139f565b83836040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610c7892919061480d565b60005b81811015611ad75736838383818110611a0357611a03614821565b9050602002810190611a159190614850565b9050611a31611a27602083018361413e565b6020830135611007565b611a3b5750611acf565b3063d045a0dc60c08301358360a0810135611a5a61010083018361488e565b611a6b610100890160e08a016141e9565b611a796101208a018a61488e565b6040518963ffffffff1660e01b8152600401611a9b9796959493929190614931565b6000604051808303818588803b158015611ab457600080fd5b505af1158015611ac8573d6000803e3d6000fd5b5050505050505b6001016119e8565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015611b16573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b3e9190810190614988565b6040517f8351eea7000000000000000000000000000000000000000000000000000000008152600401610c78919061407d565b611b79612603565b6040517fca5eb5e10000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c169063ca5eb5e190602401600060405180830381600087803b158015611bf557600080fd5b505af1158015611c09573d6000803e3d6000fd5b5050505050565b333014611c49576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d0187878787878787610cf2565b611c60612603565b600380547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383169081179091556040519081527fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090602001611411565b611cce612603565b600380547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040519081527f8f1145f51954bc9512a08693182e170a57b63ca4f6acc321b87c526970f4c01790602001611411565b611d51612603565b60005b83811015611c0957600060096000878785818110611d7457611d74614821565b9050602002016020810190611d89919061413e565b63ffffffff1681526020810191909152604001600020805490915061ffff7f0000000000000000000000000000000000000000000000000000000000000200811691611e169175010000000000000000000000000000000000000000008204169068ffffffffffffffffff77010000000000000000000000000000000000000000000000909104166149f6565b68ffffffffffffffffff161115611e2d5750611fdf565b8054600090611e7f907501000000000000000000000000000000000000000000810461ffff169077010000000000000000000000000000000000000000000000900468ffffffffffffffffff166149f6565b905060008161ffff168661ffff161015611e995781611e9b565b855b90506000611eca60017f0000000000000000000000000000000000000000000000000000000000000200614a1f565b61ffff168661ffff161015611edf5785611f0a565b611f0a60017f0000000000000000000000000000000000000000000000000000000000000200614a1f565b9050815b8161ffff168161ffff1611611f675761ffff8116600090815260018601602052604090207f4600000000000000000000000000000000000000000000000000000000000000905580611f5f81614a3a565b915050611f0e565b507f68ae5a72b18bd3a6fbbc56d3cddb8a1c567b1d6ad4e705dd0b9295de05262bf4898987818110611f9b57611f9b614821565b9050602002016020810190611fb0919061413e565b6040805163ffffffff909216825261ffff808616602084015284169082015260600160405180910390a1505050505b600101611d54565b611fef612603565b6001600160a01b038116612085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610c78565b61208e8161293e565b50565b612099612603565b6040805180820182526fffffffffffffffffffffffffffffffff848116808352848216602080850182815263ffffffff8a16600081815260088452889020965191518616700100000000000000000000000000000000029190951617909455845192835292820152918201527fff958b7fbea293188b750425e92bd9c7a646f9063b9fc7722ae861802a7a1fe790606001610e26565b612137613ce0565b600080612143866126a6565b909250905061217261215b604088016020890161413e565b838361216c368a90038a018a614a5b565b88612865565b9695505050505050565b6000602082018035906002908390612194908661413e565b63ffffffff1681526020810191909152604001600020541492915050565b60408051608081018252600080825260208201819052918101829052606080820152906121df8484613204565b905060ff811615806121f85750855460ff908116908216115b80612223575085547501000000000000000000000000000000000000000000900461ffff1660ff8216115b1561225f576040517fc5ad74c700000000000000000000000000000000000000000000000000000000815260ff82166004820152602401610c78565b855477010000000000000000000000000000000000000000000000900468ffffffffffffffffff16600081156122cd578760010160008861ffff166001856122a79190614a8d565b6122b19190614aaf565b61ffff1661ffff168152602001908152602001600020546122d0565b60005b90506000806122e088888561325c565b9092509050600060016122f660ff8816876149f6565b6123009190614a8d565b905060018b01600061231661ffff8d1684614aaf565b61ffff1661ffff168152602001908152602001600020548214612365576040517f5b3f67cd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b68ffffffffffffffffff8516875260ff861660208089019190915260408051601f8b01839004830281018301909152898152908a908a90819084018382808284376000920191909152505050506060880152505060ff16604085015250919695505050505050565b63ffffffff82166000908152600a6020526040908190205490820151606083810151909283926fffffffffffffffffffffffffffffffff909116916124179160ff16908390612a2f565b9250612430858560200151866040015160ff1684612a61565b9150509250929050565b60408051808201909152600080825260208201527f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161249d89612512565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b81526004016124d2929190614ad7565b6040805180830381865afa1580156124ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f439190614b9e565b63ffffffff811660009081526002602052604081205480611020576040517ff6ff4fb700000000000000000000000000000000000000000000000000000000815263ffffffff84166004820152602401610c78565b612571858561331a565b15612587576125828787878761336a565b610d01565b610d01878787876135ea565b82547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010069ffffffffffffffffffff938416027fffffffffffffffffffffff00000000000000000000ffffffffffffffffffffff16176b0100000000000000000000009190921602179055565b6000546001600160a01b031633146111bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c78565b81547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff91909116179055565b60608060006126b433612e77565b90506126ee6126c660208601866141e9565b8260408701356126dc6080890160608a0161459d565b6126e960808a018a61488e565b6136a6565b9250612715612703604086016020870161413e565b61271060a087018761488e565b61374b565b915050915091565b63ffffffff8216600081815260026020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b9101610ef7565b604080516080810182526000808252602082018190529181019190915260608082015261279a858585856121b2565b6020810151865460ff90911661ffff750100000000000000000000000000000000000000000068ffffffffffffffffff77010000000000000000000000000000000000000000000000808604821685019091160276ffffffffffffffffffffffffffffffffffffffffffffff85168117829004831693909303909116027fffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff90911674ffffffffffffffffffffffffffffffffffffffffff909216919091171790955550929392505050565b61286d613ce0565b82517f0000000000000000000000001a44076050125825900e736c501f859c50fe728c6001600160a01b0316632637a450826040518060a001604052808b63ffffffff1681526020016128bf8c612512565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b81526004016128fb929190614ad7565b60806040518083038185885af1158015612919573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c0d9190614bba565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000816129c5578254610100900469ffffffffffffffffffff166129e3565b82546b010000000000000000000000900469ffffffffffffffffffff165b90508069ffffffffffffffffffff16600003611020576040517f5bc181900000000000000000000000000000000000000000000000000000000081528215156004820152602401610c78565b60606002848484604051602001612a499493929190614c04565b60405160208183030381529060405290509392505050565b6060600080612a6f8761375a565b90925090506000612a9d612a9860ff89166fffffffffffffffffffffffffffffffff86166144fe565b6137ee565b90506000612ac0612a986fffffffffffffffffffffffffffffffff8816896144fe565b90506fffffffffffffffffffffffffffffffff811615612b0657612af9612a98886fffffffffffffffffffffffffffffffff86166144fe565b612b039083614c89565b91505b600080826fffffffffffffffffffffffffffffffff1611612bb9576040517f0100000000000000000000000000000000000000000000000000000000000000602082018190527e11000000000000000000000000000000000000000000000000000000000000602183015260238201527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085901b166024820152603401604051602081830303815290604052612c57565b6040517f0100000000000000000000000000000000000000000000000000000000000000602082018190527e21000000000000000000000000000000000000000000000000000000000000602183015260238201527fffffffffffffffffffffffffffffffff00000000000000000000000000000000608085811b8216602484015284901b1660348201526044016040516020818303038152906040525b63ffffffff8b16600090815260076020908152604080832060028452909152812080549293509091612c8890614482565b80601f0160208091040260200160405190810160405280929190818152602001828054612cb490614482565b8015612d015780601f10612cd657610100808354040283529160200191612d01565b820191906000526020600020905b815481529060010190602001808311612ce457829003601f168201915b505050505090506002815110612d3a578082604051602001612d24929190614cb2565b6040516020818303038152906040529650612d60565b600382604051602001612d4e929190614ce1565b60405160208183030381529060405296505b505050505050949350505050565b6000602b821015612dab576040517fde01ff2300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018383600081612dbe57612dbe614821565b919091013560f81c91909114949350505050565b600080806060612de6600360018789614790565b612def91614d2c565b60f01c9350612e02602360038789614790565b612e0b91614d74565b9250612e1b602b60238789614790565b612e2491614d92565b60c01c9150612e3685602b8189614790565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509699959850939650909450505050565b6001600160a01b03811660009081526004602052604081205461ffff1690819003612ece576040517f8b6fecb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b8354600161ffff75010000000000000000000000000000000000000000008084048216928301821681027fffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff9094169390931780885568ffffffffffffffffff7701000000000000000000000000000000000000000000000082041690920192606092600092888116929091041610612f97576040517ffa36e2ba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612fa084613894565b9150612fb98460600151886129a690919063ffffffff16565b9050600068ffffffffffffffffff841615613012578760010160008861ffff166001870368ffffffffffffffffff1681612ff557612ff5614544565b0661ffff1661ffff16815260200190815260200160002054613015565b60005b9050808360405160200161302a929190614dd8565b604051602081830303815290604052805190602001208860010160008961ffff16876130569190614aaf565b61ffff1661ffff168152602001908152602001600020819055507f15955c5a4cc61b8fbb05301bce47fd31c0e6f935e1ab97fdac9b134c887bb074868584866040516130a59493929190614dfe565b60405180910390a1509450945094915050565b60005b815181101561318f576130ea8282815181106130d9576130d9614821565b6020026020010151604001516131bf565b8181815181106130fc576130fc614821565b6020026020010151604001516007600084848151811061311e5761311e614821565b60200260200101516000015163ffffffff1663ffffffff168152602001908152602001600020600084848151811061315857613158614821565b60200260200101516020015161ffff1661ffff16815260200190815260200160002090816131869190614e90565b506001016130bb565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b674816040516114119190614f50565b600281015161ffff8116600314610f5e57816040517f9a6d49cd000000000000000000000000000000000000000000000000000000008152600401610c78919061407d565b600081613212602b82614ff9565b15613249576040517fbcbb94ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61139f613257602b83614573565b61393a565b600081815b848110156133115736600087838861327a602b8361500d565b9261328793929190614790565b915091508382826040516020016132a093929190615020565b604051602081830303815290604052805190602001209350600082826001602b6132ca919061503a565b8181106132d9576132d9614821565b9091013560f81c60011491505080156132fa57856132f68161504d565b9650505b505050602b8161330a919061500d565b9050613261565b50935093915050565b60006021821015613357576040517fe907cd4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028383600081612dbe57612dbe614821565b600080600061337985856139cd565b9250925092506000836fffffffffffffffffffffffffffffffff161180156133bc57506133a6828461506c565b6fffffffffffffffffffffffffffffffff163414155b156133f3576040517f07098ab800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3460005b82518160ff1610156135c1576000838260ff168151811061341a5761341a614821565b6020026020010151905060006134338260000151613b4c565b90506000613442836020015190565b90506000876fffffffffffffffffffffffffffffffff16118015613467575082606001515b156135415761348a81886fffffffffffffffffffffffffffffffff166001613ba0565b156134ed57604080516001600160a01b03831681526fffffffffffffffffffffffffffffffff891660208201819052909603957f2d0eb51492ddbee9e95192a44349b114ecfdaacebba5e8aa735b12f14ab1affa910160405180910390a1613541565b604080516001600160a01b03831681526fffffffffffffffffffffffffffffffff891660208201527f4e2061832d78c1622b4b41b221d1791733ba77cd67e86bba10b3e61194d55eb2910160405180910390a15b816001600160a01b031663434def558d8d878588604001516040518663ffffffff1660e01b8152600401613579959493929190615098565b600060405180830381600087803b15801561359357600080fd5b505af11580156135a7573d6000803e3d6000fd5b5050505050505080806135b99061504d565b9150506133f7565b5080156135e0576006546135e0906001600160a01b0316826000613bc7565b5050505050505050565b6000806000806135fa8686612dd2565b9350935093509350600061360b8490565b9050600061361886613b4c565b6040517f203bd15f0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063203bd15f90613668908d908d9087908a908a906004016150de565b600060405180830381600087803b15801561368257600080fd5b505af1158015613696573d6000803e3d6000fd5b5050505050505050505050505050565b60606001868686856136ee5786868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061371c92505050565b6001600160a01b038b16878760405160200161370c93929190615020565b6040516020818303038152906040525b604051602001613730959493929190615123565b60405160208183030381529060405290509695505050505050565b606061139f8460018585611824565b63ffffffff811660009081526008602090815260408083208151808301909252546fffffffffffffffffffffffffffffffff80821680845270010000000000000000000000000000000090920416928201839052928390036137e8576040517fc960f36b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50915091565b60006fffffffffffffffffffffffffffffffff821115613890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f32382062697473000000000000000000000000000000000000000000000000006064820152608401610c78565b5090565b60608160000151826020015183604001518460600151604051602001613924949392919060f09490941b7fffff000000000000000000000000000000000000000000000000000000000000168452600284019290925260c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022830152151560f81b602a820152602b0190565b6040516020818303038152906040529050919050565b600060ff821115613890576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203860448201527f20626974730000000000000000000000000000000000000000000000000000006064820152608401610c78565b6000806060836021811015613a0e576040517f262c503d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b613a1c601160018789614790565b613a25916151cd565b60801c9350613a38602160118789614790565b613a41916151cd565b60801c92506000602b613a5560218461503a565b613a5f9190614573565b90508067ffffffffffffffff811115613a7a57613a7a614515565b604051908082528060200260200182016040528015613acc57816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181613a985790505b509250602160005b828160ff161015613b4157613b0289838a613af0602b8361500d565b92613afd93929190614790565b613c0d565b858260ff1681518110613b1757613b17614821565b6020908102919091010152613b2d602b8361500d565b915080613b398161504d565b915050613ad4565b505050509250925092565b61ffff81166000908152600560205260409020546001600160a01b031680612ece576040517f8b6fecb700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008082613bae575a613bb2565b6001545b9050600080600080878986f195945050505050565b613bd2838383613ba0565b613c08576040517f7c75c3d200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b604080516080810182526000808252602082018190529181018290526060810182905290613c3e6002828587614790565b613c4791614d2c565b60f01c90506000613c5c602260028688614790565b613c6591614d74565b90506000613c77602a60228789614790565b613c8091614d92565b60c01c90506000613c95602b602a888a614790565b613c9e91615213565b6040805160808101825261ffff969096168652602086019490945267ffffffffffffffff929092169284019290925260f81c6001146060830152509392505050565b604051806060016040528060008019168152602001600067ffffffffffffffff168152602001613d23604051806040016040528060008152602001600081525090565b905290565b803563ffffffff81168114612ece57600080fd5b60008083601f840112613d4e57600080fd5b50813567ffffffffffffffff811115613d6657600080fd5b602083019150836020828501011115613d7e57600080fd5b9250929050565b600080600060408486031215613d9a57600080fd5b613da384613d28565b9250602084013567ffffffffffffffff811115613dbf57600080fd5b613dcb86828701613d3c565b9497909650939450505050565b815181526020808301519082015260408101611020565b600060608284031215613e0157600080fd5b50919050565b80356001600160a01b0381168114612ece57600080fd5b600080600080600080600060e0888a031215613e3957600080fd5b613e438989613def565b965060608801359550608088013567ffffffffffffffff80821115613e6757600080fd5b613e738b838c01613d3c565b9097509550859150613e8760a08b01613e07565b945060c08a0135915080821115613e9d57600080fd5b50613eaa8a828b01613d3c565b989b979a50959850939692959293505050565b803569ffffffffffffffffffff81168114612ece57600080fd5b600080600060608486031215613eec57600080fd5b613ef584613d28565b9250613f0360208501613ebd565b9150613f1160408501613ebd565b90509250925092565b60008060408385031215613f2d57600080fd5b613f3683613d28565b9150602083013560ff81168114613f4c57600080fd5b809150509250929050565b600060c08284031215613e0157600080fd5b80358015158114612ece57600080fd5b60008060408385031215613f8c57600080fd5b823567ffffffffffffffff811115613fa357600080fd5b613faf85828601613f57565b925050613fbe60208401613f69565b90509250929050565b60008060408385031215613fda57600080fd5b613fe383613d28565b946020939093013593505050565b803561ffff81168114612ece57600080fd5b6000806040838503121561401657600080fd5b61401f83613d28565b9150613fbe60208401613ff1565b60005b83811015614048578181015183820152602001614030565b50506000910152565b6000815180845261406981602086016020860161402d565b601f01601f19169290920160200192915050565b6020815260006140906020830184614051565b9392505050565b6000602082840312156140a957600080fd5b61409082613ff1565b8051825267ffffffffffffffff60208201511660208301526040810151613c08604084018280518252602090810151910152565b6080810161102082846140b2565b80356fffffffffffffffffffffffffffffffff81168114612ece57600080fd5b6000806040838503121561412757600080fd5b61413083613d28565b9150613fbe602084016140f4565b60006020828403121561415057600080fd5b61409082613d28565b6000806040838503121561416c57600080fd5b61417583613d28565b9150613fbe60208401613f69565b60008060008060a0858703121561419957600080fd5b6141a38686613def565b9350606085013567ffffffffffffffff8111156141bf57600080fd5b6141cb87828801613d3c565b90945092506141de905060808601613e07565b905092959194509250565b6000602082840312156141fb57600080fd5b61409082613e07565b600060a08284031215613e0157600080fd5b61422081846140b2565b60a0608082015268ffffffffffffffffff82511660a082015260006020830151604060c0840152610f4360e0840182614051565b60006020828403121561426657600080fd5b5035919050565b6000806040838503121561428057600080fd5b61401f83613e07565b60008083601f84011261429b57600080fd5b50813567ffffffffffffffff8111156142b357600080fd5b6020830191508360208260051b8501011115613d7e57600080fd5b600080602083850312156142e157600080fd5b823567ffffffffffffffff8111156142f857600080fd5b61430485828601614289565b90969095509350505050565b6000806000806060858703121561432657600080fd5b61432f85613d28565b935061433d60208601613ff1565b9250604085013567ffffffffffffffff81111561435957600080fd5b61436587828801613d3c565b95989497509550505050565b6000806000806060858703121561438757600080fd5b843567ffffffffffffffff81111561439e57600080fd5b6143aa87828801614289565b90955093506143bd905060208601613ff1565b91506141de60408601613ff1565b6000806000606084860312156143e057600080fd5b6143e984613d28565b92506143f7602085016140f4565b9150613f11604085016140f4565b6000806000838503608081121561441b57600080fd5b843567ffffffffffffffff81111561443257600080fd5b61443e87828801613f57565b9450506040601f198201121561445357600080fd5b50602084019150613f1160608501613e07565b60006060828403121561447857600080fd5b6140908383613def565b600181811c9082168061449657607f821691505b602082108103613e01577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8082028115828204841417611020576110206144cf565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261458257614582614544565b500490565b67ffffffffffffffff8116811461208e57600080fd5b6000602082840312156145af57600080fd5b813561409081614587565b6000602082840312156145cc57600080fd5b61409082613f69565b6040516060810167ffffffffffffffff811182821017156145f8576145f8614515565b60405290565b6040805190810167ffffffffffffffff811182821017156145f8576145f8614515565b604051601f8201601f1916810167ffffffffffffffff8111828210171561464a5761464a614515565b604052919050565b600067ffffffffffffffff82111561466c5761466c614515565b50601f01601f191660200190565b600067ffffffffffffffff8084111561469557614695614515565b8360051b60206146a6818301614621565b8681529185019181810190368411156146be57600080fd5b865b84811015614784578035868111156146d85760008081fd5b880160603682900312156146ec5760008081fd5b6146f46145d5565b6146fd82613d28565b815261470a868301613ff1565b86820152604080830135898111156147225760008081fd5b929092019136601f8401126147375760008081fd5b823561474a61474582614652565b614621565b818152368983870101111561475f5760008081fd5b818986018a8301376000918101890191909152908201528452509183019183016146c0565b50979650505050505050565b600080858511156147a057600080fd5b838611156147ad57600080fd5b5050820193919092039150565b600084516147cc81846020890161402d565b8201838582376000930192835250909392505050565b818352818160208501375060006020828401015260006020601f19601f840116840101905092915050565b60208152600061139f6020830184866147e2565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec183360301811261488457600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126148c357600080fd5b83018035915067ffffffffffffffff8211156148de57600080fd5b602001915036819003821315613d7e57600080fd5b63ffffffff61490182613d28565b16825260208101356020830152604081013561491c81614587565b67ffffffffffffffff81166040840152505050565b61493b81896148f3565b86606082015260e06080820152600061495860e0830187896147e2565b6001600160a01b03861660a084015282810360c084015261497a8185876147e2565b9a9950505050505050505050565b60006020828403121561499a57600080fd5b815167ffffffffffffffff8111156149b157600080fd5b8201601f810184136149c257600080fd5b80516149d061474582614652565b8181528560208385010111156149e557600080fd5b610f4382602083016020860161402d565b68ffffffffffffffffff818116838216019080821115614a1857614a186144cf565b5092915050565b61ffff828116828216039080821115614a1857614a186144cf565b600061ffff808316818103614a5157614a516144cf565b6001019392505050565b600060408284031215614a6d57600080fd5b614a756145fe565b82358152602083013560208201528091505092915050565b68ffffffffffffffffff828116828216039080821115614a1857614a186144cf565b600068ffffffffffffffffff80841680614acb57614acb614544565b92169190910692915050565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a06080840152614b0d60e0840182614051565b905060608501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160a0850152614b488282614051565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b600060408284031215614b8057600080fd5b614b886145fe565b9050815181526020820151602082015292915050565b600060408284031215614bb057600080fd5b6140908383614b6e565b600060808284031215614bcc57600080fd5b614bd46145d5565b825181526020830151614be681614587565b6020820152614bf88460408501614b6e565b60408201529392505050565b7fff000000000000000000000000000000000000000000000000000000000000008560f81b16815260007fffffffffffffffffffffffffffffffff00000000000000000000000000000000808660801b166001840152808560801b166011840152508251614c7981602185016020870161402d565b9190910160210195945050505050565b6fffffffffffffffffffffffffffffffff818116838216019080821115614a1857614a186144cf565b60008351614cc481846020880161402d565b835190830190614cd881836020880161402d565b01949350505050565b7fffff0000000000000000000000000000000000000000000000000000000000008360f01b16815260008251614d1e81600285016020870161402d565b919091016002019392505050565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015614d6c5780818660020360031b1b83161692505b505092915050565b8035602083101561102057600019602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015614d6c5760089490940360031b84901b1690921692915050565b82815260008251614df081602085016020870161402d565b919091016020019392505050565b63ffffffff8516815268ffffffffffffffffff8416602082015269ffffffffffffffffffff831660408201526080606082015260006121726080830184614051565b601f821115613c08576000816000526020600020601f850160051c81016020861015614e695750805b601f850160051c820191505b81811015614e8857828155600101614e75565b505050505050565b815167ffffffffffffffff811115614eaa57614eaa614515565b614ebe81614eb88454614482565b84614e40565b602080601f831160018114614ef35760008415614edb5750858301515b600019600386901b1c1916600185901b178555614e88565b600085815260208120601f198616915b82811015614f2257888601518255948401946001909101908401614f03565b5085821015614f405787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015614feb578883037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00185528151805163ffffffff1684528781015161ffff16888501528601516060878501819052614fd781860183614051565b968901969450505090860190600101614f79565b509098975050505050505050565b60008261500857615008614544565b500690565b80820180821115611020576110206144cf565b838152818360208301376000910160200190815292915050565b81810381811115611020576110206144cf565b600060ff821660ff8103615063576150636144cf565b60010192915050565b6fffffffffffffffffffffffffffffffff818116838216028082169190828114614d6c57614d6c6144cf565b60e081016150a682886148f3565b85606083015260ff851660808301526001600160a01b03841660a083015267ffffffffffffffff831660c08301529695505050505050565b6150e881876148f3565b8460608201526001600160a01b038416608082015267ffffffffffffffff831660a082015260e060c08201526000610c0d60e0830184614051565b7fff000000000000000000000000000000000000000000000000000000000000008660f81b1681527fffff0000000000000000000000000000000000000000000000000000000000008560f01b1660018201528360038201527fffffffffffffffff0000000000000000000000000000000000000000000000008360c01b166023820152600082516151bc81602b85016020870161402d565b91909101602b019695505050505050565b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008135818116916010851015614d6c5760109490940360031b84901b1690921692915050565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015614d6c5760019490940360031b84901b169092169291505056fea26469706673582212204c1570096025a76a2e4ca153aea4e131278048f317a85384ee094b7ff1a7e86064736f6c634300081600330380ffe24d9b76d252a6eac91d0fac0ef9b058c2cbd010f9ef7b849190989a15c803ad100bd0506dec7b66b624bb8c4327f2298057ce5461ea6fb5ab6ff6328b8a760384687f389618fb95e36fc717c6b934093781b4c6b9f55d0b7ba8e65662432ea90302e56c5e19a1ea16b10c10c3a86d6ba3f9fd8416013dee29525f09089f375e5e03ed6390cb8d37527586423750320eec8f4092fe9a8b661607544b5fb79f74b9bc03900dac53fd74edf5585b6414badf5fd0fa6e8cd7c5fbab6505cd9d642f8e6dca0342f175c249fd91850a2f27917e687374fc3561c0bb2b6e8e5810d7dc232bea4503add11bd5618eae29de023f6be2781650abfd1e2356c7ff7bb77e8ac759e4fe4b0330e68beac127309e535b3fdc35671693da912b4e499c6bb98029164fd649d72b031919cfff31b34776d2dec0353dc3903bb8822f2b7a4b94c4c8874aee28d5406a032c07d06b76802499279266424003912a059c2dfd58c51dc935840bfcfae75f5e03cf7fdcf77e8d64f0287d1864ec9e237ef45ce4e8bff3a9aaf071f492ecf4709503a356c0611aebd69e34ec291a89de3920c2685ca00874d9e5e9b887cfbdfe39cb005820033735e085da49540b96ce139a7f1e85274efde12338579f6227a7c94297fa605820d9ae24ce14a4d07223fa996b288ae9910138c718de2f35c4cb1bf7cb7a0c130900582003c8ddcc84f2197500fe877084c8b54a1e7add57c4b1c45ffbfb4d890698c8805820460000000000000000000000000000000000000000000000000000000000000000582003154ff5b30aca32290e13415206328987ed23cb289cb7ca439624daadb872a05820a77f84fac3387fe2d4b12630adda865e4be45b7615369faa040347cb00379bb903d8fab53fbcd74eaa3b2b883d4a70f4023cabfe600c13a10b6634bcec87441b4c0363e790c6a70559f18f63e8c1b6d79c870f9ca9822112edbb7d42cdc2004c3eef005820038925bea09a8fe967ad94c8c63d5178c67c0d1acf30e065f8118d68965f9340410d00582003fd9f699fd051558fa806710afdee8a27dc59aeb10a856937858ec7df3a446058204600000000000000000000000000000000000000000000000000000000000000005820035a00f1f2141d482936cf51b3088dd2f3af45d1edc0bd253512f323c65572e05820460000000000000000000000000000000000000000000000000000000000000000582003911bc97dd2ea067b66b364337c35359b2b45820330f7c60b3cdfacd76e89e05820460000000000000000000000000000000000000000000000000000000000000000582003b88fb88748cfd50113a68dc430a88f18ef9053e94798c16b435f7d42db8f7058204600000000000000000000000000000000000000000000000000000000000000005820034933b5a18b5fb59a5560baee366177228c246fa55f1c6b622fd53c31e149005820460000000000000000000000000000000000000000000000000000000000000003422da2b44347cc0d28d76ee8fb9c86bf94b51c37d60142cbef4f047e0dece746005820030f8b60cd74053a79675a269e608fadb282b914777949c22305d2e67d9b4c605820458593bae9bc4c953f5a787c2ec826093d659e74098d18e8b1b812a811b1996603cb976562253cb380e4cb7577cea706ec6a597e867199f7fad2048cbd674e51b601410d0219fff7039724b201dda97041539ad82298a3a6ba708302fe76e4dd1ef6f350d677a1cea8039d3efbf2987a3120defe60bbe1a1dcdb0322060fc75ad4ec52700be3980d644803c4bf3edf45b0544860328c9a9664ee4a9cc20dc78b559533ae28ae4cf8f990ee0369c731b52d2d08d76688dc294d51398e9171758788b02d1b4a74e948101eaa0403927095a8945dcfe17c9505b18164bd819ba1b5da2bd14bd893b1e66d285aad9a0378b6b1aadacdc745b112865521bdc8389ad5c834c3ea4f44cac9b0f0913b4f0a0219ffff0323d029925ab98c7f3b25083c68930f5d83e0395f91360d0d650c3569aef2c9fe03e4e78e7ede201951dae0215cf1e86038ddc3dd40f47a0252d3bd0b0b2db4f236037d7718ac0a4f1ee6ec8b458868814819935835d177acab3fa7177b0edb9f2d8f03ca409502ac4c3d149202289b1cc6c99f450b8f76766e43b36cb0cd66d1b3d63a0382cbc2bceffd5e5ec36f0c4b33910d4d8d6b6133c3236d7832a86bf66a381e2903ad486b866478f0288a1a9369eb6c29a8f6555723120973b96fc390aa526b42870337948f7f5ede17f1e68c8284d5ab8dd3907c3540752d61e0d6d76d93ddf668d50387866f422e83699ddf47c51d69bd4cd89edde1a694c636d2d8f5d8e7575affe30357c56e4748c8ae27b2944def7442062c7bac25deeb0452379cf194a2c268b6d503ed882e8cf0a097384e565310b83c4ff2ed08c41c5f85446b9a606f6f8ff7885103637e0b60dd361e4004c0f4ac651e3e8e876b06d72967efb8843ce29aefe07c6803be619c3422c78e815de815502802c9cccc4040258017f0a5cd9416dc4229cb37039b4d47377e5bd1263aaba984e0e33de8e18693edf801a079e704e11374d7b31303882e84d1db8a6f1fd054c0f6c573feaec79756aa9bf20993df8184740bce398300582003f45ad61dc99b6303c1c1b1f0f7ed2e3a044d3706dcd7afc8fc04c2c467b60058202da67ac6dcf0926ce6a386e2e591a865ded977d93b790a652738f7c7d5abc98803e1079de3b59edcfd4b7c60c978656dccd9b7cdbf65d8fccf2bfc0bfe22dabf0601410600581e021c1ad1990d3fac5f06d27f472634b778704f473c5eb305d55013fdf20a581f0301001101000000000000000000000000000249f00000000000000000002c00581e02b33dc3580689c3e04e8d57f4a2a5f5c265ed40aad478b85be4b7abc1aa582046000000000000000000000000000000000000000000000000000000000000000219180001410c00581f02075ebb7a0b88105dd40a4ac840f29ed33b6e9988bd72e936b5bfd141c6045820460000000000000000000000000000000000000000000000000000000000000002190a0003faad2a95409a627395755f5ea9112222992dd9db3466a7ce0e9abe71512c34bc00582003cde96775a1f62fac44db6cc88f1a3c7e4a1db2615b145651c55a10c7df8620582046000000000000000000000000000000000000000000000000000000000000000058200309f8dbb3d6332731b61b9d99518e6c5ca9869eafbd90b351aa79934fc1a5b0582046000000000000000000000000000000000000000000000000000000000000000336cb5eceef646b9574501e8c9bf89ef486782d736b08c0a3f3dbbffe6e0e05b00396a78a6beb05bab10cb79b0dce811cf3be3270a7b5f11da9f6059dcc2132856503557dd17cddbca681bde62e1751bd1d110ada7cdac6983a7b085a297c48038f72038214c1d1b11a9e663bb7b8a277967aa5e050c92ec38e6a7328d6a79e8572fec30219fecf0380b3411b1acbf098787f703fcf2733ab27ca2032820d483b5e07d376b120d7b4032dd188e82da824573fec32c46432f9b3482a4aee758f67d5a4186ed7276c897703dea2847cca46e930b4226718db992849c09cd1323a6a2fa7e1a30fdab8ad33cd03cf569ce7cd1159c0f4919b562900aa982fbacbae041187e0d98db3101c6269b103d05dcc0afb1becd91f3f47282e848b1ea14c8ff6f51ef36f9e17affbd0b769c3032b0a50ef83e822c7cf8fc79eb9544c52396295cd35673e79e57c8258fb48015503cc41eef23f331a3cb97e3933ea120af9babf7eca435dbc98538687733bf8385003d44a861aee6ce35d62ecf827b29c54e69c49eb9514e36c54c90992bf038a7ac40219ffff03e05e0fe486e6d9709473fdb1774502ca00a156b4b0b3c6c6b9c4b5eba5a9a01503433064990b608ad7871cd63cd746b5a26383b553c119a23871009042743e512403112306f426ee99dcd02768eb6ac2c9594effcd19b5d65abab06599e051bab13803f6cb206292c1d3d0143e1d24826ebe6ad3e8f09143707100643444b4312455ee0355ac0b18bb0f23bbb214c20badeceedd320a98ae7527e009e9e526f1e0a7bdc303b2fa1df891e837dec3bd922f3245ce0be28ca6e3d9ebea6044c7cb3f9db118b403a2f95aabd2b8786f23060489657371da5689b9d0140a6f41501f363ea88cdc1103a5e593078c927c5a551db112705180dc266c564940e91df55d25226633879ac4033c30c8e3001a84c422672191c7d31b04c1fae41e4ee2ccf7a8154d83635c13e3032bb29ed4345e022790cfa4a72bc18508b58a34d9f90602600a08898c66a636af0058200336e09f2e9d6956fd6dc5763342a2157c6d9ffb3f6ed70aaa66e7b331fe1c405820984396bf8d37cd1d5891cb236235f97a62b948bd6a1b977fe45a211992910e0e03ccd32e6a804df8eceb5912f0a25b12f0a2a96196adc8107967b4c480c8900e12005820034ea4e79905d443316b5da5504a86cecebe945bfb67f02023f1093716d4a4205820d26bda3d66b4cf72cfad3f85c9e73ce2443b6d1b317019bd4011fe4a2d298b3903cd5c0d7b6367f9063b816a2ef0593cd1e294b56729e40f18f5bb47fba2b17419032388c809f6feb68fb4ae73d42629e80d22104b3e1daeb72517641e3d05bd7fa503fbe52a0c7f48609671a677f730dea6c8e933238d64aebd0ef8293a08541f7786005820038b9e7ac2985e0ebd90d9a8cb5654746c410ad062c6f1a8babe19bb3d340ea05820db935c3196f487f8ee591b37f472b4e97ed044737a54503f03109298ef74b8ce035c5d6bedec11407346324a6bbaf780134b77c9fbb3f0dc6bd39466e125a9005000582003bf543068efa0fe3a00d3cae49e871c7f8ba49d75b2fec2ba773fef4db2c0705820460000000000000000000000000000000000000000000000000000000000000000582003328dc7092cc6a494e8f3aaa51de47b8909a34643c9fa6d90c46b55d3528a005820460000000000000000000000000000000000000000000000000000000000000000581f0234df52801f97a003dc9fe97d8dfc30c1af77ce1ec9d7ded27d7eeb6ebec05419cfce47ed54a88614648dc3f19a5980097007dd00581f02d7374339f0389be35788dd2cefc5423e0e0fecc67d82c00e44ec0c80018e5820d5a67cf989de778eefe18ec538aed5886450a4ece9b527355aa7e0d68a8ba2f1021950000219b7bb032033c247d80ac3ac73862338bb2f7415dc8988a5a383aac4fc37015afe343f4803f0ae35d8ebe15eb38a6c29eb3b7ffd4a28146d3f08a03bef8825c32962f12a59037fa889d7286d2044e0b1e609fb1a34b1ae19e4d52d47aa80c2c0a098c5c85c2903a4bac0bf4a535b6317aa313fc413de5861ea1c19f923b76abdf58e9b13bbebee03cab0358694f9940c063b478caa0f64e97e4f62a7be2447f4a69dee34c558806c038f09e72654348386c38acd6289ef6b473649291bcf44c9b0697aec82da37289f0385147a80c6ebb66758e8f2d64c8a369bdd4cba138db03dbe04903d41f9fc5e8c0327d97734abf1bc3ad9449a18c9c3540c0fc8b39ba66d98ec2ac4b8c8ba5caedd0388811e9518ebcaab569119d7e00e9b3afc0ad6bfca03564c074a76f77c6282ee030c5f04317d74d18e6af94265a56b96b788011c6bf392b96779fb86e4b7a698d203650b0a65ccf0eab2d2bdf8757a378f3fbe49dd0645e1b31a0cc6b8a2d1463d67037e21a23a2e08b06d704e1efff8612288ecae96f0c2b06288980d5afe9b38f2670219ffff0219ffff05581d0283e13dd4672f5db33d5d4b0d075cef0349301bfa70d6dac0f4febba7070119528f03afe24e1c1090fb0bb2767bc0df9a9f031a54033f7506363ef453174f8ebe21ac03af543f32bca3901362225cd2d6283a3c476321942f1eeed5ffd2dde77542b48a05581d0273aa5b5fe39f28e294aff70c43ae06cc476c526300d1f40893752f310f0148044da556101ac4df1bffffffffffffffff0219100805581e038c7ed75b33e61964192c070802cfef6438a95f2a54610883d369ffccc00c03469f2832cffe000363d946c91212d6f0000316beb7f094d0054af1990c3bb89103977ac364f6b32d01410f05581e030ec47cfe6dbd81fe5f25e7e595ba55e0ba8e9bca70a20985c623880d100c024703328b944c400005581e03e3be7e2ef2605259510a1dec481bb751a4cd89025c14c9ec6601c87d50040205581e030a19ef93d3f2ab560689f0961970c391e3c98a01289206aedfed8e1d800c0147177b98d3d6400003a18e826c14447b4583919370682f0d3c54b4c6a8103adfb3e688e8b993a6e4f103f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139038fb4c3c27f6921c644ddfc9424975b91b4588247ca2a1dec3696da65a397bbf505581e032fa9529f6f3e9ffb5527bb28189b41d81eaea3d96abbbc61c44b49cb4007011bffffffffffffffff0219ecfb0304c97345dc9b47301d8a4c3407c1c77f67e6713eb93edb12243d623ce545842103ed79a8242aa109924b25e55091649351256d8054ae870f483c5c3de59fbcef470369137b2be1a5e2d21acc23cbdc9d9b9a8cfa56e632ed59e49050b195338f78b10369bf8335c1d449ca1894b0aea18365addb412890a0cbdfbd0639b4967e6a88cd03ff205cec2ae9308661710662b7dabdaf7d62c046477004154dfc3e09842ea39503ef697b55b6a2c71bbfae9a9447dbafab7430a15dec0a445614194e46bdbc99590219ffff03f8eefdddffa01087592891d283ad6b2a3edcdda4c6853e6a33098184d4f0863503c2cf867b7c09ded52acaff814507df00057afaab560a5b1624c08d5db5c8d283031b681feb3cd7e4a732921ebf8fd70e716c3db2dd6670976e92a30f9ec07dc815031854ddd838ad7cf1bba733c61de0c6cbff449f563f1aa097c2d04a39970f1b65036d153925b01cc1c4097361ed980a09db0e274d04ef0eadc59ec3412e0cdfd75c0399eabd6b65bfde4fc900abc0aea4e8db7bd811606d87fbbf014dfd67f5027b5b03160bf8f5b3c8cdb5af56adb6ed1905960891dc6fff4cbeb3182486683a6e24590399a28c39c4cabdf1890c3407e90ffc3d24a8c8fa757ede3fc050f34d767ea75d0321b15679a1b47d6420a7659abd06da6e722e2da294ac515bfd1cb7ab0b2f65af03d636d0cf43fae624aabec54013eaa96b119960b271d76677e98fe1bc51ae3c2a0391cac2b0705b89663b906225899dc3b275a167050e326b78e8f91163aaf4d8f703ca43fd6624d1c74eab771616505f2ceca3ff710902f3c854fc197bd71118d0a60377f27374f76c53548e84edf5d9e6c3e2704b1b9c12f0e738eaae98e05ac9ae4b03c161d4aadb41baaddca92e8cfe6d3ce8d6ea699caaecea62d2e492a0f19549a50219ffff034ab34965250cb9aaa00d27c560e1d68b8d38f0f864d7ac51a79ea059291e91ba035298c1daeb9c7ee45d09ab63f123cb601b584982558942873130fa327cd94e9e033cdd9964dcbd528200b9a128ff5c5913cb101d279ab77f06f9449940d297120b032d770764dc2e77079fe911a96983113dc2ef8d246594a4ace99db6fd39d0b869033956adbbfef26ef62864a9005cf6e719e98ff388078cdac52404bde0dff9967503dde025ecb794890794a306df5845feac4563e83055bfcfc450eae1250a43a73d03cf41232908e2256e2c07fb43c35afd5a33e48bef0965a3dc83e6cde84120f10103acab2863fc56766b7d2584d666412062f6e874191a8ff26a5d62955c403bf39c0219ffff03fa8629710ec1bdf7e0ede3db3897be8bea021055f9cf36edb8b6dbb67bc20ecb03f9c2e97a8e462906301043afd5844b62793ca52509700e811b34696a165226cd031f5a328898283f18982d1db7c4df365f9cbf9cb1ba13b0bfc544ece6f168d4e80335c8ba038f8d1a53a2e68ac88b0c43f640bcddb43db12e0e75bf88da2333a51503b49f1d84604f550454aa9a1d6cb9d9221ad85ea369a421fc6c19bf3c5414296603f5afeabe986fde621f5d0ee278e25cc1f6653d5e0338f5b9df9e15b020ecea65036977f82964b98e2d7be5d28a3ba21f303a2fc7ee44bd575204ed39293c3f6b4a03ae425023aace84af900849652e6d10aa851f3690b4fe3cc68b921b4a528b872a03851f3c9ad774ae0b9c6f0f6fd29e148198130ecdb340393cb750bc0b7225d742037b935c3a9695bbc4b482e0a6abe5f7bfc21eeb2a9933e6ac213f5ea84160938803d137f0afaf45b09d4f6cfd40113a98b774e403399a207e73d6078c5fd6324a0d0338e7eb349ee08a8604acea5316cf5a6af9812059bd0745484fc5008098949f37039649cb080f69a53dc433baa798a3db14f924b11b0c5425a866c31db78c4f589703bfa49a30e7dd319054f9f575e18d55d20f7c6b1d0939295a1f69dc25b56a2a5a03d0c2208533ac43b13e03af51d4e5ac72c311e9814a49f1530a5da94a8531d7df0219ffff03e5d745c55f866cd62dbb91514187ec96fd19cc398c0ca3d6a4ee395b19f7d1c1039ba837dc8be8fe9bf8777dca7c2fda516dab448857f671910acaa2f882278ee003d7c5eef95807e1ae274aa04826fb724488bb9b6e12a5aeb180f9f3ee6b22045d035b2aec7c2f6de0a1e1bf246c0f7ff451f7ec7a942ac6d07557cd06d855ef379b037230a63f0c3a034f65d0ebcf5dff5f973669ac645fb24addc29cf089204b950303090d3d5d2f41665d4ff7d375ba2bb3d47952f5f8e9e80046f59f26fee21069a8035e7a378fef0da64e195bc9779a7672e8da6ede02dfe7fd50b4c4194b8af496bb031cea64c08178c675ce2691b9ed74f9fc9cd3df1536160929a9a24805e2ee5a4703ae748667e87b0d22ea2fc8c71510f0d00a389152d7b110b5c3bc6d0bee954fbc03fc0c5f25b3c886df035ce92d933a2308e167f815b045f79f4c85f9ff286d8cee034e2627749687879ddea6ba580dede623a2e4c73afb833e12d1bfdc40eaa61f26031169227fbcbc13b9d33a7cce9455801d164f953b6a91fddb0c10de0b4c8b3ce303c536f110a87834689d1007e6bd00e4366c654ac48302819c2dbd6c2621b5bfe7033cb27623282780e782498a15ed8a1e82fbe01e9dc9352ba84e97a135f5e581d1032c39161d35df04508b8413f16a06e4a0769bdb17fdeb39ae78a69b720401360b030733e7c72bc4551551125a20c903790fe35e76ee8c39d14dfe890ff29a4d1a0b031b2a1502d06aab4f5dd7e2663ecd93c1a3657fbba6d23d3727e608fbb2204b9403e5b32dc24e8b00f8d37bafef6d815fe319986f57991e964143ab51b43252cf5103f37b6938982dcfa8a14a261a19cdea271af79f8a366b7d4c1e87b84e99252e8003dbb4d2b8d3280ef29c6b5157aa755e1071f7f06753fd252804691f1a3a3d819f03ca3edc61a3c09c254392ff5c1fec653d4c7bc69852ee3879f85f5d3b7e6f30aa03fe4f7a0894d124feb66ea4f1a71a6c64988639f239c72d5bc74af2edf2c4ff6c031166e326eb6ef1b5b15fa3b176b9a8a88e9c535ce007bc1e18d33e49399ca843038ffc22fa397700bcd06bce4f48c7c969ee2bf7e9168da49b7df280176f05a55003bda78ebbf5389bc67480eba62a626646c28fb315c7695ea35f06812e7b85d2590339e3be0d0d8b677c614ced185c50d92750293fadac6822a595278076641708020301c21b3b6e4c3f51c7bf9041a02b64aa09d532a06ed9f618967e7fd25745a48305581e030f98461f31a1bc0aa6e39fb5a1d6b097eeccef5baf8001896794454f100c0147628ef604619ba803a4cbee5de1514fefe668d56ad614c25f604bd56a6c02db9679cad569a4d055b905581e03ce7c0b3cd3b9b6023526b596003f137eb70e6043adb4edad1cd8385400040105581d02cf9ce1c8e3364c2e6168939ab26debb24c8c29de65cfb67b83191f070c0147011a2960fec00005581d02812941d42042d0794a183736560f6656e5b6dfd908e3200a93fed3f10c181a477649455a9ff73602188203b0d102a0edbd01d1966e24e5a062f0ad2f0a01fd10580d94242a3f6ed5d619c50356aa5f65732d04614350de428e07c47e235406aafa2a5e7e43a5743a1b1d1f5b034ce1a7292521df7cb273a31309c06d0eb0ea4d2aa1be44a5b812b4dce30b61cd05581e03900ac62802f2c9361e4d1b4bedb94fd487ea60fca131387ee962e691c00c0146f13540d93b3805581e03c21d1774f6878afbe50b402c3f14927054d01ac36ae4f23f834de15fe0040305581e03c57c6ed1ee017ed2e162588b411d0c0ef99d7c9dfde23077d3a0400c600c034701c0e4a7b48dd8033b364f23290917f6c7f5c6168b1201b947d33dfa05460779eff8a0a606fb054b03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03bf0d517e4d21ca3dc39eae73b13cc7f53ddb2451032e1895de2d62d7d007011bffffffffffffffff03e5c922f821d4199551842d1a4b2e321bb1797951e50b5ed4d2c831aaac0d77d60219bbef036be09c89a973bf18f39aac6afc513df8862928b5e20332c3fe1317d688b10e6e033677a6bc9e1456d28a501a12bcdc88ac383aeddb9ec382a4bff868ce669d64610353020419bc72db3edd498d928ddf3b4f31a169f09324253dc719b8638125abd8035644aa9c1688ff73af699cc93c3d0909568b9fb43fc008d7c3bce29f74bebd1403bdcbdf13e33ba0c5cae8f87debfba742bcda984af0b258a0ba945f2b99b84a4903c9a7f02b6bb9d3de0e03e94cd30aab526f3c8919f2ea404788e58600f7428d77037dc57614873f949912d29684c4439388adc7e6ceba27d97305542b6dff5c73a10328731e87da6f249706fcca3d3c92af2ee1cc4ac13cc21875b743ef15dab133f4031cc00103ebe7b51ead4bf77dd3c99e85d219b7ddbdfc0078e8aaace4647e67730219ffff03d829a99e71d8811a4d326b78d9ce28d721a03dad01ce523036b7937e89cc8888037f7eca13a25c03b1cda9cf2c80b9204cc72d95f0f46f8348ef2f2832484fa0d903864345ae48d1f6de6853bf533f037e5a8cbc25970845ee3ef5fb55f63ecc30b503957eddbf13d4035fabdea27f7257d9966849a4d8bb12d230978ebed700b174830300a3ffb4227c8406878d4d443bb20294bfa3a874387207f62b130efa6702af240389b4e80f8a5f444087472bbbf98b7c8f875d1fb336090f5c01dc5d12e7f5411a0354a585d2658d479c60880ea33ea87816f71130844f774161d5e0f713d6e60a680381bf88309139aac64018fafa5f0b3a12b652af1504e7872c5c1f953677cd72960355692980778b97187af688b7e2b01e852e73d0fd3692f108fe9b203614d0e02603e222f61e0930830494e8cc6c160206b66275fee1b375074c93b08144a26fbbde034715fc8c76009efd579d5a504ebd889001e945e4923b3d54cc8d2ddb2406ec91038b84fcd4507b902f979cc5b277b6d28743dfcfbbf6243227cb489cf6a9286e4a0394a7b50c8719c940666db7414fbe41f02104daaa63d1a6d1d54969158ce3a4f003166427f7bd54fa616ba280b6696f66555a097bb62b5c67b61aa92677d95ba62603490e67aedf9cdf4395eaf3066c1b0e36006079125563e507cbd3d8d9cdd4c94d0219ffff0304a0fa150fe2e2402ced4b34943fc8b67dc6e5808447d77a63d8b43a7bfb17fb03eb30af7b58df5fb4fe346338e4a982dcf9d80f3016831fe82e89f81a05b88d660219ffff03e221bed08a5dae7d03985a69127d626d637291a01cb1168a8a0319de96fff8b603b9ce8b4c6f911bf31a3f8e23486e6cb8fa0f3ccb23dbe1b086bd81b43bf36f3003c70b34fa18faa825f046fbd685f151b3f4401bd947512b2ba9ecc088e0ecdbfa03b979bfc13d393628e13bf98693a9fb6b120ca56ba4afc3ff11253d01807e82f7030e9fee97bd8d788b4e95ab9836cb208b44e3388755c06f29b36022178cb9463903d072589fce902fd45c0559f511cc647a691094f6bba6f0bf2af1b2715799a58b03c5e60c7d955077860ef23dddc047e836e12898958fd16dd3885a62db5b6d23a3033be538bcf50898ea555e759a79e5470e56afb41c30642ded66b525cf900be1920219ffff034ba961b8840fe14b53b3f0a205e7f961a803cf524f02dd24dab75d442953e4f603ef5120e476fcd3aa40277317a6ccf0439fa6e2d1d047de54f49419fb66529f4603b24ea7756570206301fec114f17667cb8b08794a71783dd20f9a753bd3d051b30303f6013825c149bd33448499b9f5e3d9505d3388bb4768f0f5e24caa75178d4803aaa4954c9973acf43f97ac209678af86815c5ed804663370e5af248329b39dab037fa0445bb5459d9cdcbaf0d6ea80c4c5f52c950a96a1ba579eab4d843361c82d034c6b1e21e145884f2d7e331a2ec7dcfdf801a69702f1ea83a2440077977e9fe70328232a6690804db9340f4bfbe517cd1ed6e34e7801bf452b49806969b707bc1f03dc59b2f7bc96eb5e8b4b5ff325b1c2af157112f7ba3434b5ef2951735583ddaf0301b0dc386b7717ebc06636446be2f1958187e179bf2cfe74292bca6d459e668c03c02b146e04234ff13c58c8a9870b3328e30ee74063ad5e42f64a80d160c55458039571de70753292301141c18804d0ff5e7fd2e2d5052984b0e370890a77b57bd70359e8b1de25bbdef63e0f30506b0b1dfc7cc5eae754de7e7734d2eceab1e2af8a03e3790ab191ca18e1d38300ced0d51e231587310eb82a8fb4d5ad37944aab746803056c7c2eee93f06eaeca73bc2dbbd51275f09c91650baa61513ebcd90eb12381034fda63cb263e609f289b80fcceaef8e4ab7d3fb55aa50b5329747f5fc02797d103f6a9507ccb230975edddfaa4ee4e4039f31e9f80521d911edd80e5aa49b9bc3003d9b7a9014c1347e782b1b3b0bd8b0398430b55c5aa945700ae27117650cc4d0f03d4c45e74ea402405da593887bc30fbf05af5dc3d5d1ee8660c9ff34a48a2242303a6e013e61a794c70b4b800ae77758ee03511bf74ea018090cb59980767343d1705581e03439945022919c3838b960a6cf9033b6ad567a6caeed184e17d4397a9900c0147069683f7a60a0005581e039d421fcea595a6011c6c9f58562cfb102b52f3e2ad9956eea6ddb7b5d00c0146173fcf18aba303845ffa9307e44b834ffdccccbceb7c571238e416323a16ff4983663e2618bcd30334193c07a12f1090b169f381cdb0afea364eebd3be992e458dc4b7264ba3155805581e037585278a53c6bcdaecf926e2536e4566d6ea2882a7558d118cba25d54007011bffffffffffffffff0330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e03bd56269925bdb94b10f412db9bf74130d7ed57efbbd19daf10feae88f007011bffffffffffffffff0364a8448ace36188100e7fdef2cf659fdca6fb8d0832845bf69b69367eba299fa05581d02835ceb0cd341f66ca6d8a93093f5648b915c7581d351a990c9c271e50c03470525db9a47900105581d020b2a9c2e18a4efa4e3702fd15732b32024c19a7105d2c3a2925651d20c124801cbe8d435d80291045926fd6080604052600436106100e15760003560e01c80636c19e7831161007f5780638456cb59116100595780638456cb591461026b5780638a141301146102825780638da5cb5b146102ab578063f2fde38b146102d6576100e8565b80636c19e78314610200578063715018a6146102295780637ac3c02f14610240576100e8565b80633f4ba83a116100bb5780633f4ba83a146101685780635c975abb1461017f5780635d799f87146101aa5780636611f528146101d3576100e8565b806304824e70146100ed5780631ed6144e146101165780632cf886711461013f576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b50610114600480360381019061010f9190611768565b6102ff565b005b34801561012257600080fd5b5061013d60048036038101906101389190611832565b61039f565b005b34801561014b57600080fd5b506101666004803603810190610161919061191e565b6104ac565b005b34801561017457600080fd5b5061017d610661565b005b34801561018b57600080fd5b506101946106fe565b6040516101a1919061198d565b60405180910390f35b3480156101b657600080fd5b506101d160048036038101906101cc91906119a8565b610714565b005b3480156101df57600080fd5b506101e861089d565b6040516101f793929190611a22565b60405180910390f35b34801561020c57600080fd5b5061022760048036038101906102229190611768565b6108f6565b005b34801561023557600080fd5b5061023e6109e9565b005b34801561024c57600080fd5b506102556109fd565b6040516102629190611a68565b60405180910390f35b34801561027757600080fd5b50610280610a27565b005b34801561028e57600080fd5b506102a960048036038101906102a49190611adb565b610ac4565b005b3480156102b757600080fd5b506102c0610c8e565b6040516102cd9190611a68565b60405180910390f35b3480156102e257600080fd5b506102fd60048036038101906102f89190611768565b610cb7565b005b6002600061030b610d3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610392576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161038990611bb1565b60405180910390fd5b61039c8147610d42565b50565b6103a7610de3565b60005b838390508110156104a65781600260008686858181106103cd576103cc611bd1565b5b90506020020160208101906103e29190611768565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1618a22a3b00b9ac70fd5a82f1f5cdd8cb272bd0f1b740ddf7c26ab05881dd5b84848381811061046757610466611bd1565b5b905060200201602081019061047c9190611768565b8360405161048b929190611c00565b60405180910390a1808061049e90611c58565b9150506103aa565b50505050565b60008346306040516020016104c393929190611d2a565b60405160208183030381529060405280519060200120905060006104e682610e61565b90506007600082815260200190815260200160002060009054906101000a900460ff161561054b57806040517f736e92940000000000000000000000000000000000000000000000000000000081526004016105429190611d76565b60405180910390fd5b60016007600083815260200190815260200160002060006101000a81548160ff02191690831515021790555060006105d085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505083610e9190919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610659576040517f815e1d6400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b6002600061066d610d3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166106f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106eb90611bb1565b60405180910390fd5b6106fc610eb8565b565b60008060149054906101000a900460ff16905090565b60026000610720610d3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166107a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079e90611bb1565b60405180910390fd5b61084b818373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107e49190611a68565b602060405180830381865afa158015610801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108259190611da6565b8473ffffffffffffffffffffffffffffffffffffffff16610f1a9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f8c4e91db779d40eb9afbcebd8cf9aa9195b7b057611e32ad5dc9e4025f56ada0826040516108919190611a68565b60405180910390a25050565b6000806000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506005549050909192565b6108fe610de3565b610906610fa0565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361096c576040517ff6b2911f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f3271c8694494a7cc76cd185c743e9ee6b515a043ea98c0db7f5ca112f694add433826040516109de929190611dd3565b60405180910390a150565b6109f1610de3565b6109fb6000610fea565b565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60026000610a33610d3a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610aba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab190611bb1565b60405180910390fd5b610ac26110ae565b565b610acc610de3565b610ad4610fa0565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610b3b5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b15610b72576040517ff6b2911f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600a811080610b815750603281115b15610bc357806040517fdb9a092c000000000000000000000000000000000000000000000000000000008152600401610bba9190611dfc565b60405180910390fd5b82600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806005819055507fb210aae36d98224316a7928011b34e48623e4c6ca136ed50fc17f9ef2c4fbd9233848484604051610c819493929190611e17565b60405180910390a1505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610cbf610de3565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2590611ece565b60405180910390fd5b610d3781610fea565b50565b600033905090565b600080600080600085875af1905080610d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8790611f60565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167f77f67778e9529a2fd2147ffb2b10ca2e0d1efd8cb925e1f1d5702e39c5fa8da683604051610dd69190611dfc565b60405180910390a2505050565b610deb610d3a565b73ffffffffffffffffffffffffffffffffffffffff16610e09610c8e565b73ffffffffffffffffffffffffffffffffffffffff1614610e5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5690611fcc565b60405180910390fd5b565b600081604051602001610e749190612043565b604051602081830303815290604052805190602001209050919050565b6000806000610ea08585611111565b91509150610ead81611162565b819250505092915050565b610ec061132e565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610f03610d3a565b604051610f109190611a68565b60405180910390a1565b610f9b8363a9059cbb60e01b8484604051602401610f39929190612069565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611377565b505050565b610fa86106fe565b15610fe8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdf906120de565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6110b6610fa0565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110fa610d3a565b6040516111079190611a68565b60405180910390a1565b60008060418351036111525760008060006020860151925060408601519150606086015160001a90506111468782858561143e565b9450945050505061115b565b60006002915091505b9250929050565b60006004811115611176576111756120fe565b5b816004811115611189576111886120fe565b5b031561132b57600160048111156111a3576111a26120fe565b5b8160048111156111b6576111b56120fe565b5b036111f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ed90612179565b60405180910390fd5b6002600481111561120a576112096120fe565b5b81600481111561121d5761121c6120fe565b5b0361125d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611254906121e5565b60405180910390fd5b60036004811115611271576112706120fe565b5b816004811115611284576112836120fe565b5b036112c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bb90612277565b60405180910390fd5b6004808111156112d7576112d66120fe565b5b8160048111156112ea576112e96120fe565b5b0361132a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132190612309565b60405180910390fd5b5b50565b6113366106fe565b611375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136c90612375565b60405180910390fd5b565b60006113d9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff1661154a9092919063ffffffff16565b905060008151111561143957808060200190518101906113f991906123aa565b611438576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142f90612449565b60405180910390fd5b5b505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115611479576000600391509150611541565b601b8560ff16141580156114915750601c8560ff1614155b156114a3576000600491509150611541565b6000600187878787604051600081526020016040526040516114c89493929190612485565b6020604051602081039080840390855afa1580156114ea573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361153857600060019250925050611541565b80600092509250505b94509492505050565b60606115598484600085611562565b90509392505050565b6060824710156115a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159e9061253c565b60405180910390fd5b6115b085611676565b6115ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e6906125a8565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516116189190612639565b60006040518083038185875af1925050503d8060008114611655576040519150601f19603f3d011682016040523d82523d6000602084013e61165a565b606091505b509150915061166a828286611699565b92505050949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606083156116a9578290506116f9565b6000835111156116bc5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f091906126a5565b60405180910390fd5b9392505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117358261170a565b9050919050565b6117458161172a565b811461175057600080fd5b50565b6000813590506117628161173c565b92915050565b60006020828403121561177e5761177d611700565b5b600061178c84828501611753565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126117ba576117b9611795565b5b8235905067ffffffffffffffff8111156117d7576117d661179a565b5b6020830191508360208202830111156117f3576117f261179f565b5b9250929050565b60008115159050919050565b61180f816117fa565b811461181a57600080fd5b50565b60008135905061182c81611806565b92915050565b60008060006040848603121561184b5761184a611700565b5b600084013567ffffffffffffffff81111561186957611868611705565b5b611875868287016117a4565b935093505060206118888682870161181d565b9150509250925092565b6000819050919050565b6118a581611892565b81146118b057600080fd5b50565b6000813590506118c28161189c565b92915050565b60008083601f8401126118de576118dd611795565b5b8235905067ffffffffffffffff8111156118fb576118fa61179a565b5b6020830191508360018202830111156119175761191661179f565b5b9250929050565b60008060006040848603121561193757611936611700565b5b6000611945868287016118b3565b935050602084013567ffffffffffffffff81111561196657611965611705565b5b611972868287016118c8565b92509250509250925092565b611987816117fa565b82525050565b60006020820190506119a2600083018461197e565b92915050565b600080604083850312156119bf576119be611700565b5b60006119cd85828601611753565b92505060206119de85828601611753565b9150509250929050565b60006119f38261170a565b9050919050565b611a03816119e8565b82525050565b6000819050919050565b611a1c81611a09565b82525050565b6000606082019050611a3760008301866119fa565b611a4460208301856119fa565b611a516040830184611a13565b949350505050565b611a628161172a565b82525050565b6000602082019050611a7d6000830184611a59565b92915050565b611a8c816119e8565b8114611a9757600080fd5b50565b600081359050611aa981611a83565b92915050565b611ab881611a09565b8114611ac357600080fd5b50565b600081359050611ad581611aaf565b92915050565b600080600060608486031215611af457611af3611700565b5b6000611b0286828701611a9a565b9350506020611b1386828701611a9a565b9250506040611b2486828701611ac6565b9150509250925092565b600082825260208201905092915050565b7f4f70657261746f723a2063616c6c6572206973206e6f7420746865206f70657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b6000611b9b602483611b2e565b9150611ba682611b3f565b604082019050919050565b60006020820190508181036000830152611bca81611b8e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000604082019050611c156000830185611a59565b611c22602083018461197e565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611c6382611a09565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611c9557611c94611c29565b5b600182019050919050565b6000819050919050565b611cbb611cb682611892565b611ca0565b82525050565b6000819050919050565b611cdc611cd782611a09565b611cc1565b82525050565b60008160601b9050919050565b6000611cfa82611ce2565b9050919050565b6000611d0c82611cef565b9050919050565b611d24611d1f8261172a565b611d01565b82525050565b6000611d368286611caa565b602082019150611d468285611ccb565b602082019150611d568284611d13565b601482019150819050949350505050565b611d7081611892565b82525050565b6000602082019050611d8b6000830184611d67565b92915050565b600081519050611da081611aaf565b92915050565b600060208284031215611dbc57611dbb611700565b5b6000611dca84828501611d91565b91505092915050565b6000604082019050611de86000830185611a59565b611df56020830184611a59565b9392505050565b6000602082019050611e116000830184611a13565b92915050565b6000608082019050611e2c6000830187611a59565b611e3960208301866119fa565b611e4660408301856119fa565b611e536060830184611a13565b95945050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000611eb8602683611b2e565b9150611ec382611e5c565b604082019050919050565b60006020820190508181036000830152611ee781611eab565b9050919050565b7f5f7472616e736665724574683a20457468207472616e73666572206661696c6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000611f4a602183611b2e565b9150611f5582611eee565b604082019050919050565b60006020820190508181036000830152611f7981611f3d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611fb6602083611b2e565b9150611fc182611f80565b602082019050919050565b60006020820190508181036000830152611fe581611fa9565b9050919050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b600061202d601c83611fec565b915061203882611ff7565b601c82019050919050565b600061204e82612020565b915061205a8284611caa565b60208201915081905092915050565b600060408201905061207e6000830185611a59565b61208b6020830184611a13565b9392505050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006120c8601083611b2e565b91506120d382612092565b602082019050919050565b600060208201905081810360008301526120f7816120bb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000612163601883611b2e565b915061216e8261212d565b602082019050919050565b6000602082019050818103600083015261219281612156565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b60006121cf601f83611b2e565b91506121da82612199565b602082019050919050565b600060208201905081810360008301526121fe816121c2565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000612261602283611b2e565b915061226c82612205565b604082019050919050565b6000602082019050818103600083015261229081612254565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b60006122f3602283611b2e565b91506122fe82612297565b604082019050919050565b60006020820190508181036000830152612322816122e6565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b600061235f601483611b2e565b915061236a82612329565b602082019050919050565b6000602082019050818103600083015261238e81612352565b9050919050565b6000815190506123a481611806565b92915050565b6000602082840312156123c0576123bf611700565b5b60006123ce84828501612395565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000612433602a83611b2e565b915061243e826123d7565b604082019050919050565b6000602082019050818103600083015261246281612426565b9050919050565b600060ff82169050919050565b61247f81612469565b82525050565b600060808201905061249a6000830187611d67565b6124a76020830186612476565b6124b46040830185611d67565b6124c16060830184611d67565b95945050505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000612526602683611b2e565b9150612531826124ca565b604082019050919050565b6000602082019050818103600083015261255581612519565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000612592601d83611b2e565b915061259d8261255c565b602082019050919050565b600060208201905081810360008301526125c181612585565b9050919050565b600081519050919050565b600081905092915050565b60005b838110156125fc5780820151818401526020810190506125e1565b60008484015250505050565b6000612613826125c8565b61261d81856125d3565b935061262d8185602086016125de565b80840191505092915050565b60006126458284612608565b915081905092915050565b600081519050919050565b6000601f19601f8301169050919050565b600061267782612650565b6126818185611b2e565b93506126918185602086016125de565b61269a8161265b565b840191505092915050565b600060208201905081810360008301526126bf818461266c565b90509291505056fea2646970667358221220d8b50dd285880ea93d5b56c0bc9ce449310044fccd4b11bbda957aff45fdc71964736f6c6343000811003303195c24f9f1640bb69e56f77cd2230aca1e38cc487fe88480354f4127cf9460da034d74e5ff10fd1ed3696bc39d2ba183e438e1a81e2250e017f3529af1495485d00380b12d8917f91b8a9f8ccf66b11d80ce809b901feda78cab1cbc1e87bd6503bc005820036b9938fbda9fee2c0fceb1da742bb87e56cdf2ba1a8ddf2173b98d0c974260410100582003b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00411e00582003772b1b4a9634aa346723f549e735d252ea3cab99959a26997237342380bfa0410100582003a284ef0deee8dae39e13b77e5dafb27cdea2a6defa633a4b531652114dd3604101005820036196a3c82e560e69fbee49690d563c7010403ef533a3c76661f5a9fbc233e04101021928d0032eba02c8baab33c4e2ca07cd1d7896c912294d515398eae99df1216cc49607df03219790e9e8a77cddbc785098b67a533846a89bf62f671969adede741b14b3e1403012cadfd8de406a560613ec23b929f9c70f21f64887728baebd87a0f8df966c100582002cba3a4562d204d61851d6fdf4ad6e30017f09f20df70b2704e73a319bea745410100582002f2df1dc5239687643a887516032e72362218095cbdbe49e41d6916f2f3cd2b4101005820024d30ce50009fb81afa1c5026bf70eb2c598f34820429be212380d7c2bd8d0a4101037ba42540693c394ed87fb1ae31836efffaae500b0dcc29d927a2e5692b7ff515035a3c1c51e86d8a8d0fb88b73b35894a882bf206c7a5617f75573c6ffc125b69d0367d922840cb808237a1c798a15b768e0b2925b70b34ccf40ab15fcd4902b44fc03d9ebc8a4000d6137c15cd97a67ad9ca7c056c3852122152a8239e684cd0a47d70306e8381d76869058987fe16b2ad48fb2b080ca0d83776eab9ca11b87daacb92b00582002527b788c3f8b61728247944cc25e60d8b4536926b4a184daf094afecf47e1e41010219ffff03ca23cc6d4683b95c730dfce2e97300e85086401a1fef1f42194f1470156ce40603b3d3f2db0020ad1ce362b8e750d35e82422c0d7821c3e8bcdaa9df1c7aa0069b03da55c5183b075bddc4d086a458c60a2ae3c696accb175b3f9838231036063dcb039b1e4e55f1102d5064183d631df33557591b0d6090ff5075b316c00f35c0c1ee03045db000931fb33c9f6656c17f5cc9f86e9955896d1250d933d57c5d4833431c03f78338240e2644d10a7ae09d51ce8eae3f347cb1196258444709e503b43ae41703b020cdc3f33c10f05caf299f440d9069412c8ec7acc72415cac722d4df0ef7600310c24041adcc48d2da7656ea217c6c776efd40bdbb7f90c8d484776051c7235f03c1fafea828bfaa822d3ecb77572a0a37fdb83831993be9126b65f23c0c225068033bf4c8426719c44bd561b2534508134b5c74548c58624631ad11edff1d8dc1c3005820029ed9a25213824423779d95ad6ba752ff8f66a7fbcae23964e934e26d3e610d410103172a90accce5f9763d1cbb35e8ddd1f4baa3718efb1558fed5cb980878059bf40058200255f223f78c4ef317f0013dbb541b74f03cd884e543d09d8dfdb37f892fdbd0410100582002886aa36bace9fddd3711e3252ed5c7b0fc3118c7a6b71203c85500c5fd3fda41010058200247df559d8d88884f114d066dfb7b709850baa2576f93541fdad8e23c21381941010374f57a859800058fcb0f155bfe7fa1d3ac4a9cf5879710316fb057d29a12a3a100582002cdc80c8f53be1972141ab9f20b86c6952022f5168c47c1636bcc85f3d8c28341010058200235acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b547d16053f9985c42fbaabd3e35ed33f486e256b0200582002a528919d06903ccacd130c957e16f03767209402ad949ad75df1bc1aa31a62410103a362d47e74cddb709537525e6b5119ebfc8c2b9ce1ae3fb054b2a2b9b35ab12a034474ee6053bf20b9f484b1114c74dd97732449bd79f1d0007a9741892a0a03f203dfb349f0899aaa0e3ccc82502d66a10bade7a9bd124bf8ec07e16e026aec5f2f0219dfff03cdcae13a144ab401cb785fb0f69f20939abc014524ca62987b3c13659f6fd9b003bbd76fa9637165a7558d8b15bdc9485d51870baa6b1bcec1e61fa2e07b4481ae03718f172d7c36385edf847e983f09587ec668773e7c0cd87d7bb5cb8480aaa8a30345ef1a4a60c5836e3c0aa3214667a43a2e22f3a17282522bab77d1a6b80682db035203bd802908059c366464c65c63a9f13f0614d1d858cada92716cf41bf749ae00582003269bff2f72cc271d98c690e3d5301ddb6efb4fafc37cf83a86c29829a1f09041010058200375a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05492c2ea2fafe891758da0ed2ec2978acf1d4162fb00582003f326b852ef3ab16ef45ab2857645a64bb3bb79429b065d76ffbf98c157d6f0410102190424035725ecbf4f48b0bf16d5562f1e2796e1ba27b2674e2a0b5461d73bf677428bb00320b5a2264d9247f767bf630bd8592d37ab707a50fdc8876699745097508205cc030e7351f5374a254ce0ba44dada2c7d0d440cebac2649b164519fbb7125a27fb4033dcf5ac12e174164db8866d2ba28d7b4db02f5bdae257b94df203f86fe519a7603e285288880afa9ae87a096b37b416515b04cbd9d72c12e4951c4eff4406f6ac1039c2f420593210f1ba44fb5008e2d0414c593268b8ab54ed3a2c090623ac4eaa3031a9432804851ad3c1c18d488c55e0f44fd8a6271f495a6995a4c538d7948c44e03b3d0ff0b282440a6a874a61e3eb890067a643428cfc5c83b092681012dab460300582002652b892bbcb38d06246559472f589a16f3d485e0bf71350aba10e9af77b28c410103a451685bc677cc760fd07c09bc197257aa2cef7d46fd1df2c80a20e4f44105910219dfcf03eea8908f98349dd41da82c2981280751e31e7b55b261b696c3ff108ba640a7b103be364a8aa11d07064e3012832617f917dc7dac9ca15cd7e731e3059720c2a50503e65c900b0a92fc14455e2df8534a43256e581fe1a2aaf53720a31a760aa121d00219ffff05581d02fe6f1966560f60c942bd77bf701c1af0d1f91a073d144a3096cfcf2d07011926fd05581d02dd98ed88cb58af134246d0d60b6bac69809013255a275cce59386c900c014213800219310103ab89d5dc5f6c1418a49933c14792519ea30f9191076a695cd01174f4c2ec052e03f430be90b5552667aedd46b1c05b94c951c5f184b6754e60fc4780aa7238af1805581e03af8ca5204cd0e894fcbb67b6e4f1af7ab6aa829a72cd244e450e4436a00c0247136a3ee9c4ae0005581e03147dc800b5dcd6d76554ca2cff89219c3d17b37b6fa61706f1e95220900c01470fb78a7829440003962f2e650c226967a4a4ffaaf9099e54a252d058737152b076bb40a9c144394102193f9e03abd42b833849d05b1a99bd2ff829b99f65c12f4c03ede81ed47c92c41ca3562e038345116e6e610a53873fdaea29502181e49b2f03413cd310bd1f525bbb0d43a503505b58c9cb85b0b5c57d2b44443e12bdc9b747bce87d34c8813b405a37f0f457036f4d62cf94cff4767234d1a27d0bf94be52577c7400468da97e80e7faf6c954d03a51677e151c19dd18e1301a82a9ed3e130a310c163f19b14b4d4932e50f49e1003b6cf9202e0846c9c7a9689ccde24d5469262400351309760111f90f6362a59dd03c7a2e3b5e3290b6b339ad6edcb057b151a952bd07095a087bfe317f6e1ae64ea03344e5d5d26651fb4ac6226e4839864881ce9d92f4aa92394cf1e66272364622d03f5195b4df0bea28fcf99e9eb1fc2945a7d8856d2a975ff3a8a4a1a9e07756667035e599ae19d59b89197b237b6a6cf33b198da9854fe355b275dbae1fd5bc7af9c03b1953bf47e85adf79b5a0f0f14704b4714a97e9cfe93b147385e29389f44cb5603a6770d281ee8fd24e4a6ea86f3d64b14abd499b90a90d93a3368c430846396a20219ffff033aa8a8476e978a8b086c41ef049c64df98340144ddaa15269bad1f115367389b03fbea5a221765e7dd0f3728ff816ef273c51430632ab9902b94119457819872a2034847f8bba7c8c422c25aacdbb56f9e4f7de8975f199cb2ed4d07f3000f4a364e03f3d0e3614bebcc9d6d43265bfcfebda1cfb14e40de92051edb6366df1310da8f0319c51d7e79dca701f5c434c7f6629b957e0e3bae0dce07c6d4be4a88d437155e034ccea173f9381049b0c61eed321b5950564154ad28178d4210aa1374d6395d7f03edad4e5c5654f721b19bda7a436b1ca05a7f39f612ed4ccb8c7e5a182a310abb0219ffff0355d92bca88536bc662a28862c218fabc10047ac916910d189dadf7276be622d70393d40c370f4e2315bc6db3cea385151609117cf8d16867219c53a068ad62c91e03d347be228b82d5ea121ce975119a06c25da18cd3bd6cf29b0368f7a6d940a6840371e49f9f690def9284d5ebd16dfe74c6312cd5cca8c023c75667105ee235efbd03f9738714f61bbdc308e5db62ced08fafa0b7dcef6f5100318db743de00567a0f039dc57fe1a3a4a5e4caa8f9b860a07acd8d8d402646797d3bbdcfb37821752a9203d2a7b3410a60150a9087a78611e25aae64051772451723c2400b7f7f55920089030f806167475e1f4c58faed61dc9e4b7600483e8d8529ff3827e872e3c0db5bb10219ffff035766456fcc228b4a491903ce0dba30cbf219f7a8dab746de39340b278e413cfb038663ecd5b40ab7915443f2f72f127a92cc0d21f5962dab6c49b48cd3b893188b03cf9f176bd0596fc02da32c8ba532e05838131728f43b329c62f6e62362c1a37a03ea8872a7805fc1495bfdb584d633ecec3e0dbbbb2f7415ff1d72fb3d625354a8033f72fd586815dfc0dfa27f45454c03b7355ae47f235d3c019fd2212fc7b03871031618c23e96923632d4816fa69086f5d61e556a9105d7c8507084245b29e4084f0347459585d55e2dc45bbc1fecd1580ce60afc771e17389d10ac615b15c75d640f03da1c835fe6b07962821991f5489b72eb44148cfca9c201495ca74f7f2b9ca16f03b8fe5553e70c01d729ce963ea01c9480a5cd4a53011abc330718caf48a63048203b6336aaab8b29204b28d763542bdd22f4520fdb9fbef6e427229117c56d464cd03f851daf63af84bc35cf5e10a8032b45111c062773b88bd2a8e9621a4a8865455034faef7b58237c561f15fc5c0b1f7e4be8237313b07e55a0637b22125797ba7ae03c163e30ea866c95858b6b49371d7996f64729e9b416c5d1f279ee97ed87515860219ffff03a6492797616002f5217664b9a42b824905b4468284424167664c73ce14ad742d03a63dfc2739c024e897050d41b666b4161d58f25d8b39926f5ebff4fc6c5c893303b1c43561e723936ec7d4f99d2697a0a5143438bdc45f1b889bd7a7af1f44b57b03e3d974b35f6038a294e4c9c9b3f721317a0d809bb1813633b318e6bb599cb4b503947956ce913439a427556e0a1c8170b76e4252f49c093a13fb38aff5b24d5d4a036b5a81de3853564b747bc59b5f6f659d6bfb3419fa19569b0ad2907c347fd896035c871ce9efc625e6162d133fb44dfdc3f10a35b27794248b87e3e4fc8d9da5b9030bfeac37d9e38efb2653e2b1d1923ca246a51d0f3e1c2e1a39ffad664ede923e036539f6a50776bc3f748cabf855c0f7bef6695a0f062a2450f7931a5b6050b228034f1c6c7e0258fb7b5112f37fa1f605efc4104576d6a95450b2b44b9d12f291c20335637f21b3e743164bdf590f7dea94fd1b43a781b4de5fc290154e14edc15ff803fec4b6c8eef2841c4d47dc824933db01df4847abc8ffecdcf68109571902e73303a628f25fe6b491f2fb0114a159f1d5354cf97ac21a4b7b3d09e216417c9470ce030d656b0b49717e2aac8ea9adea3078a262fc2283d730a51242262a3a5ca0e60303a7a545eeeb51bfefb2f14f49b8de893b6c12ae04fcdc72dd55ab9d863464810f0359c47860679adc78402577ea9ed282a5d9f893eb51fdd5ad41f2fd1c3b40ab49033bd2ecdda2667db5a3e9d74632f6fba4f5f37f9f4d26c7f3eb3f9e20fcef2f5a03888c1117c814428242b78afbfe8d91290760f4d1c49b4afb304f40a3f7eaa1d1032337e5f62041ebc995e01d449c84a28d8e56c76026067c5215163e4116c91f28033a77966315963fd1d294f295f6ddbac403e8387cc1e132dff483130639f0ef020314a1a482c59b0a6454aefa066d3ef556e92d6589a01992b5aae033dce760d131037b68e0595c569fe8229920362ca3ee23c14cc5120dbc8f8c89e921317c9040f9038d73313ca55732b984ef99ad0646dfbad58bbcb508ac873726d7c833e49fbaa9039c2cb37cab47dc678a9dbff97ffc5c7771f7b3a166d8c9c4a842da669dbd74c403831849d0af33e635f0cbdfd5d25494dd721f655ca6b26d062596789ad4e36588035250fe23f14f25a3b9da8e964cbb2e7610fe667e3a08125bff9cda8c69700f0b03f72724ad6d129591d0660d4760b90d3df9c2674f6ff5a05241a67a0c52bd16bd03fcdecf374fb37b674cf77a769eda3e956647c2e48a0ed4fcc1fef2887bd1ef2603d82bc3cae1f8fc9906b4cf07e0d457816d792d494f726c386574409d37bf0f0a034bde41aa930f7b6b767860cd1720627470ce05cadff1050b5c643687a69069c603b7b0c4b0e5898000daf888bcf9e4933947a85f9c264445918eab05ee7e4cfbbb03587b2639820aa0c93dbfd6c9f67851d6cff2ffcb7d52c86a8d95add1c0c935640309e9e836b5fce34d66a7bef2505aacaffcf7da6188bbe1e178e15b78a273689105581e03d8e14feef424aae176504319947af5c13a18af906fa573b72a52450c800c04470115b63297403803dc029e7caf11cfd873dfffe7d99c39ef4b2baa2f93bd2abfd0906d5d20d7ff8905581e03bc0c00a13d7ec2b7eb158c51df79f490c03699cd48d211ed9e511a6a60040103d012e244ded807c5a3aa03e23ff60e5ba063ae25f6b0613a76ef0c5a1962fe000459254b60806040526004361061021a5760003560e01c80639010d07c11610123578063add98c70116100ab578063ca15c8731161006f578063ca15c873146106b4578063ccc57490146106d4578063d547741f146106f6578063dcf844a714610716578063e00a83e01461074357600080fd5b8063add98c7014610627578063affed0e014610647578063b13aa2d61461065d578063b250fe6b1461067d578063bf333f2c1461069d57600080fd5b8063a217fddf116100f2578063a217fddf14610591578063a3ec191a146105a6578063a5bbe22b1461042f578063aa9641ab146105da578063ac11fb1a146105fa57600080fd5b80639010d07c146104a857806391ad5039146104e057806391d148541461054f578063926d7d7f1461056f57600080fd5b806341fcb612116101a65780635eb7d946116101755780635eb7d9461461040f578063820688d51461042f5780638379a24f14610445578063886d36ff146104755780638f0d6f171461049557600080fd5b806341fcb6121461039257806345851694146103b257806358f85880146103c55780635960ccf2146103db57600080fd5b80630f5f6ed7116101ed5780630f5f6ed7146102f5578063190da5951461030b578063248a9ca3146103225780632f2ff15d1461035257806336568abe1461037257600080fd5b806301ffc9a71461021f57806303ed0ee514610254578063051287bc1461029657806306f333f2146102d3575b600080fd5b34801561022b57600080fd5b5061023f61023a366004611d8a565b610759565b60405190151581526020015b60405180910390f35b34801561026057600080fd5b506102887f043c983c49d46f0e102151eaf8085d4a2e6571d5df2d47b013f39bddfd4a639d81565b60405190815260200161024b565b3480156102a257600080fd5b506102c66102b1366004611db4565b60056020526000908152604090205460ff1681565b60405161024b9190611de3565b3480156102df57600080fd5b506102f36102ee366004611e30565b610784565b005b34801561030157600080fd5b5061028861271081565b34801561031757600080fd5b5061028862093a8081565b34801561032e57600080fd5b5061028861033d366004611db4565b60009081526020819052604090206001015490565b34801561035e57600080fd5b506102f361036d366004611e69565b610839565b34801561037e57600080fd5b506102f361038d366004611e69565b610864565b34801561039e57600080fd5b506102f36103ad366004611f7f565b610897565b6102f36103c0366004611ffc565b610a60565b3480156103d157600080fd5b5061028860025481565b3480156103e757600080fd5b506102887fdb9556138406326f00296e13ea2ad7db24ba82381212d816b1a40c23b466b32781565b34801561041b57600080fd5b506102f361042a36600461209f565b610ceb565b34801561043b57600080fd5b5061028861070881565b34801561045157600080fd5b5061023f610460366004611db4565b60076020526000908152604090205460ff1681565b34801561048157600080fd5b506102f36104903660046120dc565b610e6f565b6102f36104a336600461209f565b610f69565b3480156104b457600080fd5b506104c86104c3366004612121565b611148565b6040516001600160a01b03909116815260200161024b565b3480156104ec57600080fd5b506105286104fb366004611db4565b6006602052600090815260409020546001600160601b03811690600160601b90046001600160a01b031682565b604080516001600160601b0390931683526001600160a01b0390911660208301520161024b565b34801561055b57600080fd5b5061023f61056a366004611e69565b611167565b34801561057b57600080fd5b506102886000805160206124d683398151915281565b34801561059d57600080fd5b50610288600081565b3480156105b257600080fd5b506102887f00000000000000000000000000000000000000000000000000000000012855fc81565b3480156105e657600080fd5b5061023f6105f5366004611e69565b611190565b34801561060657600080fd5b5061061a61061536600461209f565b61124e565b60405161024b9190612143565b34801561063357600080fd5b506102f3610642366004611db4565b6112c1565b34801561065357600080fd5b5061028860085481565b34801561066957600080fd5b506102f3610678366004611db4565b6113ea565b34801561068957600080fd5b506102f3610698366004611db4565b611493565b3480156106a957600080fd5b50610288620f424081565b3480156106c057600080fd5b506102886106cf366004611db4565b6114e9565b3480156106e057600080fd5b506102886000805160206124f683398151915281565b34801561070257600080fd5b506102f3610711366004611e69565b611500565b34801561072257600080fd5b50610288610731366004612229565b60036020526000908152604090205481565b34801561074f57600080fd5b5061028860045481565b60006001600160e01b03198216635a05180f60e01b148061077e575061077e82611525565b92915050565b6000805160206124f683398151915261079c8161155a565b6001600160a01b038316600090815260036020526040812054908190036107c35750505050565b6001600160a01b0384166000818152600360205260408120556107e7908483611567565b604080516001600160a01b038087168252851660208201529081018290527f244e51bc38c1452fa8aaf487bcb4bca36c2baa3a5fbdb776b1eabd8dc6d277cd9060600160405180910390a1505b505050565b6000828152602081905260409020600101546108548161155a565b61085e838361165b565b50505050565b6001600160a01b038116331461088d5760405163334bd91960e11b815260040160405180910390fd5b6108348282611690565b6000805160206124d68339815191526108af8161155a565b8251602084012060006108c18561124e565b9050600260008381526005602052604090205460ff1660048111156108e8576108e8611dcd565b14610906576040516320a2c0b960e11b815260040160405180910390fd5b6000828152600660209081526040918290208251808401909352546001600160601b0381168352600160601b90046001600160a01b03169082018190523314610962576040516304af43a960e41b815260040160405180910390fd5b80516107089042036001600160601b03161161099157604051631992d0bd60e01b815260040160405180910390fd5b6000838152600560205260409020805460ff19166003179055610100820151156109ed5761010082015160808301516001600160a01b0316600090815260036020526040812080549091906109e790849061225c565b90915550505b608082015160c0830151610a0b6001600160a01b0383168883611567565b604080516001600160a01b03848116825260208201849052891691339188917f582211c35a2139ac3bbaac74663c6a1f56c6cbb658b41fe11fd45a82074ac67891015b60405180910390a45050505050505050565b46816000015163ffffffff1603610a8a57604051637029fdf960e01b815260040160405180910390fd5b60a08101511580610a9d575060c0810151155b15610abb57604051631c71041960e31b815260040160405180910390fd5b60608101516001600160a01b03161580610ae0575060808101516001600160a01b0316155b15610afe5760405163d92e233d60e01b815260040160405180910390fd5b610b0a6107084261225c565b8161010001511015610b2e576040516296ff9960e31b815260040160405180910390fd5b6000610b433083606001518460a001516116bd565b90506000806002541115610b7057620f424060025483610b63919061226f565b610b6d9190612286565b90505b610b7a81836122a8565b915060006040518061018001604052804663ffffffff168152602001856000015163ffffffff16815260200185602001516001600160a01b0316815260200185604001516001600160a01b0316815260200185606001516001600160a01b0316815260200185608001516001600160a01b031681526020018481526020018560c0015181526020018381526020018560e0015115158152602001856101000151815260200160086000815480929190610c32906122bb565b909155509052604051610c489190602001612143565b60408051808303601f19018152828252805160208083019190912060008181526005835293909320805460ff191660011790558701518751606089015160808a015160c08b015160e08c015195985095966001600160a01b039094169587957f120ea0364f36cdac7983bcfdd55270ca09d7f9b314a2ebc425a3b01ab1d6403a95610cdc958b959094909390928e926122f8565b60405180910390a35050505050565b805160208201206000610cfd8361124e565b9050610d297fdb9556138406326f00296e13ea2ad7db24ba82381212d816b1a40c23b466b32733611167565b15610d58578061014001514211610d53576040516370affcf560e11b815260040160405180910390fd5b610d8b565b62093a80816101400151610d6c919061225c565b4211610d8b576040516370affcf560e11b815260040160405180910390fd5b600160008381526005602052604090205460ff166004811115610db057610db0611dcd565b14610dce576040516320a2c0b960e11b815260040160405180910390fd5b600082815260056020526040808220805460ff19166004179055820151608083015161010084015160c085015192939192610e09919061225c565b9050610e1f6001600160a01b0383168483611567565b604080516001600160a01b0384811682526020820184905285169187917fb4c55c0c9bc613519b920e88748090150b890a875d307f21bea7d4fb2e8bc958910160405180910390a3505050505050565b6000805160206124d6833981519152610e878161155a565b82516020840120600160008281526005602052604090205460ff166004811115610eb357610eb3611dcd565b14610ed1576040516320a2c0b960e11b815260040160405180910390fd5b60008181526005602090815260408083208054600260ff19909116179055805180820182526001600160601b034281168252338285018181528787526006865295849020925195516001600160a01b0316600160601b02959091169490941790555185815283917f4ac8af8a2cd87193d64dfc7a3b8d9923b714ec528b18725d080aa1299be0c5e4910160405180910390a350505050565b6000805160206124d6833981519152610f818161155a565b815160208301206000610f938461124e565b90504663ffffffff16816020015163ffffffff1614610fc557604051637029fdf960e01b815260040160405180910390fd5b806101400151421115610feb5760405163559895a360e01b815260040160405180910390fd5b60008281526007602052604090205460ff161561101b5760405163bef7bb7d60e01b815260040160405180910390fd5b6000828152600760205260409020805460ff19166001179055606081015160a082015160e08301516004546101208501516110645750600061105e8484846116bd565b506110ca565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161109d5761105e8484611098848661225c565b6116bd565b6110a88484846116bd565b506110c88473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee836116bd565b505b845160808087015160a08089015160c0808b015160e08c01516040805163ffffffff90991689526001600160a01b0396871660208a0152938616938801939093526060870152938501528301849052861691339189917ff8ae392d784b1ea5e8881bfa586d81abf07ef4f1e2fc75f7fe51c90f05199a5c9101610a4e565b60008281526001602052604081206111609083611841565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b6000600260008481526005602052604090205460ff1660048111156111b7576111b7611dcd565b146111d5576040516320a2c0b960e11b815260040160405180910390fd5b6000838152600660209081526040918290208251808401909352546001600160601b03811683526001600160a01b03600160601b9091048116918301829052841614611234576040516304af43a960e41b815260040160405180910390fd5b80516107089042036001600160601b031611949350505050565b604080516101808101825260008082526020808301829052928201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101008201819052610120820181905261014082018190526101608201528251909161077e918401810190840161238b565b7f043c983c49d46f0e102151eaf8085d4a2e6571d5df2d47b013f39bddfd4a639d6112eb8161155a565b600260008381526005602052604090205460ff16600481111561131057611310611dcd565b1461132e576040516320a2c0b960e11b815260040160405180910390fd5b6000828152600660209081526040918290208251808401909352546001600160601b03808216808552600160601b9092046001600160a01b0316939092019290925261070891420316111561139657604051630fa422ab60e21b815260040160405180910390fd5b6000828152600560209081526040808320805460ff19166001179055600690915280822082905551339184917f0695cf1d39b3055dcd0fe02d8b47eaf0d5a13e1996de925de59d0ef9b7f7fad49190a35050565b6000805160206124f68339815191526114028161155a565b61271082111561144c5760405162461bcd60e51b815260206004820152601060248201526f0dccaee8ccacaa4c2e8ca407c40dac2f60831b60448201526064015b60405180910390fd5b600280549083905560408051828152602081018590527f14914da2bf76024616fbe1859783fcd4dbddcb179b1f3a854949fbf920dcb95791015b60405180910390a1505050565b6000805160206124f68339815191526114ab8161155a565b600480549083905560408051828152602081018590527f5cf09b12f3f56b4c564d51b25b40360af6d795198adb61ae0806a36c294323fa9101611486565b600081815260016020526040812061077e9061184d565b60008281526020819052604090206001015461151b8161155a565b61085e8383611690565b60006001600160e01b03198216637965db0b60e01b148061077e57506301ffc9a760e01b6001600160e01b031983161461077e565b6115648133611857565b50565b306001600160a01b0383160361157c57505050565b8060000361158957505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601611647576000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146115fb576040519150601f19603f3d011682016040523d82523d6000602084013e611600565b606091505b505090508061085e5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401611443565b6108346001600160a01b0384168383611894565b60008061166884846118f3565b905080156111605760008481526001602052604090206116889084611985565b509392505050565b60008061169d848461199a565b905080156111605760008481526001602052604090206116889084611a05565b60006001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146117f4576116f5836001600160a01b0316611a1a565b6040516370a0823160e01b81526001600160a01b0385811660048301528416906370a0823190602401602060405180830381865afa15801561173b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175f9190612457565b90506117766001600160a01b038416338685611a83565b6040516370a0823160e01b81526001600160a01b0385811660048301528291908516906370a0823190602401602060405180830381865afa1580156117bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e39190612457565b6117ed91906122a8565b9050611160565b348214611814576040516381de0bf360e01b815260040160405180910390fd5b6001600160a01b0384163014611838576118386001600160a01b0384168584611567565b50349392505050565b60006111608383611abc565b600061077e825490565b6118618282611167565b6118905760405163e2517d3f60e01b81526001600160a01b038216600482015260248101839052604401611443565b5050565b6040516001600160a01b0383811660248301526044820183905261083491859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611ae6565b60006118ff8383611167565b61197d576000838152602081815260408083206001600160a01b03861684529091529020805460ff191660011790556119353390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161077e565b50600061077e565b6000611160836001600160a01b038416611b49565b60006119a68383611167565b1561197d576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161077e565b6000611160836001600160a01b038416611b90565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611a5857604051630fea47fd60e31b815260040160405180910390fd5b806001600160a01b03163b60000361156457604051630fea47fd60e31b815260040160405180910390fd5b6040516001600160a01b03848116602483015283811660448301526064820183905261085e9186918216906323b872dd906084016118c1565b6000826000018281548110611ad357611ad3612470565b9060005260206000200154905092915050565b6000611afb6001600160a01b03841683611c83565b90508051600014158015611b20575080806020019051810190611b1e9190612486565b155b1561083457604051635274afe760e01b81526001600160a01b0384166004820152602401611443565b600081815260018301602052604081205461197d5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561077e565b60008181526001830160205260408120548015611c79576000611bb46001836122a8565b8554909150600090611bc8906001906122a8565b9050808214611c2d576000866000018281548110611be857611be8612470565b9060005260206000200154905080876000018481548110611c0b57611c0b612470565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611c3e57611c3e6124a3565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061077e565b600091505061077e565b60606111608383600084600080856001600160a01b03168486604051611ca991906124b9565b60006040518083038185875af1925050503d8060008114611ce6576040519150601f19603f3d011682016040523d82523d6000602084013e611ceb565b606091505b5091509150611cfb868383611d05565b9695505050505050565b606082611d1a57611d1582611d61565b611160565b8151158015611d3157506001600160a01b0384163b155b15611d5a57604051639996b31560e01b81526001600160a01b0385166004820152602401611443565b5080611160565b805115611d715780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b600060208284031215611d9c57600080fd5b81356001600160e01b03198116811461116057600080fd5b600060208284031215611dc657600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6020810160058310611e0557634e487b7160e01b600052602160045260246000fd5b91905290565b6001600160a01b038116811461156457600080fd5b8035611e2b81611e0b565b919050565b60008060408385031215611e4357600080fd5b8235611e4e81611e0b565b91506020830135611e5e81611e0b565b809150509250929050565b60008060408385031215611e7c57600080fd5b823591506020830135611e5e81611e0b565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715611ec857611ec8611e8e565b60405290565b604051610180810167ffffffffffffffff81118282101715611ec857611ec8611e8e565b600082601f830112611f0357600080fd5b813567ffffffffffffffff80821115611f1e57611f1e611e8e565b604051601f8301601f19908116603f01168101908282118183101715611f4657611f46611e8e565b81604052838152866020858801011115611f5f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060408385031215611f9257600080fd5b823567ffffffffffffffff811115611fa957600080fd5b611fb585828601611ef2565b9250506020830135611e5e81611e0b565b63ffffffff8116811461156457600080fd5b8035611e2b81611fc6565b801515811461156457600080fd5b8035611e2b81611fe3565b6000610120828403121561200f57600080fd5b612017611ea4565b61202083611fd8565b815261202e60208401611e20565b602082015261203f60408401611e20565b604082015261205060608401611e20565b606082015261206160808401611e20565b608082015260a083013560a082015260c083013560c082015261208660e08401611ff1565b60e0820152610100928301359281019290925250919050565b6000602082840312156120b157600080fd5b813567ffffffffffffffff8111156120c857600080fd5b6120d484828501611ef2565b949350505050565b600080604083850312156120ef57600080fd5b823567ffffffffffffffff81111561210657600080fd5b61211285828601611ef2565b95602094909401359450505050565b6000806040838503121561213457600080fd5b50508035926020909101359150565b815163ffffffff16815261018081016020830151612169602084018263ffffffff169052565b50604083015161218460408401826001600160a01b03169052565b50606083015161219f60608401826001600160a01b03169052565b5060808301516121ba60808401826001600160a01b03169052565b5060a08301516121d560a08401826001600160a01b03169052565b5060c083015160c083015260e083015160e08301526101008084015181840152506101208084015161220a8285018215159052565b5050610140838101519083015261016092830151929091019190915290565b60006020828403121561223b57600080fd5b813561116081611e0b565b634e487b7160e01b600052601160045260246000fd5b8082018082111561077e5761077e612246565b808202811582820484141761077e5761077e612246565b6000826122a357634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561077e5761077e612246565b6000600182016122cd576122cd612246565b5060010190565b60005b838110156122ef5781810151838201526020016122d7565b50506000910152565b60e08152600088518060e08401526101006123198282860160208e016122d4565b63ffffffff9990991660208401526001600160a01b039788166040840152959096166060820152608081019390935260a0830191909152151560c0820152601f909101601f19160190910192915050565b8051611e2b81611fc6565b8051611e2b81611e0b565b8051611e2b81611fe3565b6000610180828403121561239e57600080fd5b6123a6611ece565b6123af8361236a565b81526123bd6020840161236a565b60208201526123ce60408401612375565b60408201526123df60608401612375565b60608201526123f060808401612375565b608082015261240160a08401612375565b60a082015260c083015160c082015260e083015160e0820152610100808401518183015250610120612434818501612380565b908201526101408381015190820152610160928301519281019290925250919050565b60006020828403121561246957600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561249857600080fd5b815161116081611fe3565b634e487b7160e01b600052603160045260246000fd5b600082516124cb8184602087016122d4565b919091019291505056fee2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc47935bd0ae54bc31f548c14dba4d37c5c64b3f8ca900cb468fb8abd54d5894f55a264697066735822122035dda325b50cc453a34b4e7904af0208181fbf656d17c7cf22c97e3a3f7ddfc064736f6c63430008140033034d8b2c837410188364f25bd6b201e5fec5f8ba8e462989489b46888040fad4f3035a15ff4b87c892a75b666acef36c252877c989bc138d3e13d160e5c31da1c2b60307bd7b746962381100805a1e64701b8a8f1f416f1319b3175f526185a7a595eb03572c0ddf1bd9fc330f9c3d5b8096fb10d9d3ea374b408c4f94ee83fb9c9ffa0403d2799d299750566bce78d36b9a7cd80b5f841c5ff10add0caebbe86782ed5cfa03a3358a751f62bf85fcf5b9562b8e5964ebb00f6e0686c3dcc1f0e87c4005e2ed03f5d329f70783aa7f2185b58c51bbe58d151531f0c97b408bcc616c19c1a5f6190367362e4893484ece1bc239fd403aaab0cf9b8c93bf043d394d68ce2f26a8e7a703a3b8524ab43155fae5459a063274ee7b09a8a959c8f892dfc9206e8b7e3ab09500581f026e4f34d9393a048d983773e5904d380903f39ea2d527e8591a13dcae148f5820dc927bd56cf9dfc2e3779c7e3d6d28da1c21996900000000000000006605a89300581f026ea5899083cacc4589cca088ad2482e5edd17bb57faadf3e0dd7b89acf6c410100581f024c9831a226fdf835732b2c0a42b9c54f4f89c2a7c0d40ec7946263493a98410300581f024e2750009103e10c1a7ad7322fb908f980eb09d96a0b5022314243bfe9d25820dc927bd56cf9dfc2e3779c7e3d6d28da1c2199690000000000000000665369ab00581f02649699ba5efb9119e3a7c97e99f4249ebf3f74333c6cca735929c03bbd5d41010219114903c5f70d43a7f3a4ca0c91e20dbb59b49ac1321f0171e1e7d0aa2d3f02f34e0d25033cf5f806cf021dec66dc0890ba34c1034a94ec430df4b9b305d4cf76642dc62f03938c01041d15c19993ccfef3113b212d94258685690453fdcf6b0e42c76c57cd0315e3fbed695f964c78a4d9c03752e212981a6b1a32a4150ef89202e5f6679549033d3ac8f61221c4fe73367968cf180c91fc80842f305433704692e54bda399eee035a9286dc594fa95f334c6f42eed4f98dd3166e5f426504f932382c18a4c3ce9603db01b01d702a7a543977773774a397270a48b93750ba7566297cfee9f3aa3716034d707608db4d0232c0d3f3ddf4dee33b4d165860df8b96e8179f1a79db08bfff036cb54703cf8cfa855def73ab62ed69c3dcb4c4d17c89b6673d5184b152af0a6603b5339f729767e69edb189e471694d6da8bb9d384a6c43fe706a10cef088a0fea0219ffff03567d43c861f645dc25d76c32a251cafb8df18ec5ef081be4888b8cc49382b592031348eac3db5f384f21ece00cea3e20f6f726753bad5065c7e80dff4a8b48f9a2033ee75c68a5f2ee19de241382846b6e1161f8c2a3a17f1d2ddb97926b127e215f03bac4f11c34ff3a454bb16e030bd89878d0f36b4aa9c66ce1d5203c8bdf36ee03036a4ba2e6b8e869cdb590b38f9df1fdc668693a2dbc21e461cbf9041dcaa2f6cc03d6d454b491a7d966af5d825c84e6025b27b0103ff66a9d911b89fed0f6b160a803b85998f176259dfcdc3aded6ed4281a96c2104e229086bd54482ee144ca1cd60033d696e5b5d3fc8abc341c2dada57fda1880043fddb72d4493317b3f3ddebd94003b433f654f023c7ef6ccc0534f9495115ec993232be5cee6861e68e295d320daf0309af803a4074452a8c7c8d0d2156ddd9b7728fda7ec7c224540e45fdeda0b096033d11452f5b4c19de855d301dde835f3464ff641265b87574e2a576ea855191ec0387dcc59f22d508e4b13419c0fee5e23461454b4743431469e98e2d0aa87e54f403e26bbaebadf8ba4dfdc475b4265f638eb918ca70b67675cec4f0af312e3f9b87032ca672c700bb3759a3dafa52c6c0ff9fc8a1d61d5cbeaa8aafb94dd00389b73e03aae605b7d90e7915b9ad3e9e2989d24d369dead3f53929cdf8c231c5dc18dce60219ffff03f2668605695d42590a24dfaf3fc3864b40b7f90db7f4d502d43121a88e01f08b03fcee7cd285c50aae656e086a51bc144653de66137559dce7cf6c657d2e0a35fe03ac76dc298114dbf3aaff5edadd1909cfb2761f8b49567bfb08cd27637a90b39f0311248ad4efbc61e244a533d955927d2062b58de3779acf77e2696f42324e526f03b4d5a53797cb88c85cc39c794e50b954e3d3ad1713973c9480ac4eded414884803cd66dfc4184a7c4ba4c3ecab9cf31602d52ce4adc293d8f0f094edede970b892033d19c75235793e406b22d632a3dfae6f401c335a3e5c2ab944b05943afad703103f90bfe1396ffc629df29ba82f488a635db1310fd1fdfbd7c59b377e5c4eabe6803a5e1d13445c7d3c892f4aecb2edf13fc41367e3f751e10dd698e29162c1b53c2035c44fb231c61b1a138b9bf35c25fff4d6aac23c1f421c9817d8d4873d93a0d4103208be98c41febd0882be6451cefcc45fb72028e7f3d58ed98bdf2c386f45a75a03bea780684d4d7f10c69fc6565c9ed29c7d0ab15d8940e0639110ebdf8de126f903d45872788fdfde21407115bab4ff61bda7265ddb293e535cb661b7cb05320f5f03f76925720e0b63d6d0a6a2398b506f76422fa13bfd601a317e11c4a44729efe803e507ff20407950708b8ed5b56b3eb627ab0318286f70458a790a1d24c39d4a4103ffb9e627c040f4a0cea8cb325a61073ad17f15e354d407dd25adf1926c01e0b703ff5c0c32ab5d6377b73524cff71cbed9587112cdce23bac0d4a91ad7ed9350d300581f0219672b074ba63b7ada297518f4c83df77a098ec6a31010bc2af4943e7b08410100581f02923c28ed74ac6af8c665ee4b945568b21836aec0c87e46d45f8a7c404c10410100581f02eba735975453510045f6d788ac2582061df522d3898875ac84c7fbd57770410300581f02b619a609b2c70ca4349101fa2a57bbbb0221c9289e9ab329b39f7444dee8410100581f02f2b3d0a4dccf0fa80d829e2e9d812e91297a5614d94b2e5f144944586930410300581f021d875ecf685a5ce48a2651c1927f1e087332b50c5613980fcaf52a0b4d325820dc927bd56cf9dfc2e3779c7e3d6d28da1c219969000000000000000066556f4f00581f02d8c0f81e01afbdef3ef1af9abb18ca0792818f1a478e7ca632b2c3b3b49341010219e4980321727fa78d46c03d6d9214c283bbac84c500ac602541ae8d20eceb20c9812e8503e3b3250c04df24f2607eb75a5adf8762d870edf05887d61585aa0cd17b8187dd03e40e79929133178926071ecf2bf436e25f4fb8c4e9fcaedceb16e3b825daf59f00582003036444acac2ad0a3a684e96676e097b70a2727d14584a5dda4e3a84d9bf1a05820dc927bd56cf9dfc2e3779c7e3d6d28da1c21996900000000000000006687280703648702b6b70d4c89a2f46cabe4dbde9436395575088716db9a215a8cd3f3451f0394c700e7395dc22da70477695b8e2836d0599d7fd0b9b1f9bfab3a4a7983007d03df7b1e2695fe0bdbbb9d51060f1088c098fb25476cc7c6a003965cc70568d6d30310f22406cbc7e9c994c5e8392d818d20d7d0cc0d818f6b80fed3cdc1562f13930389f1e66b693d7bb310837cbcdcd1263c62921d5514e1f9ab6cd87ebe10f8a5410219ffff036449ca2808e5ebec5f71497ca0a85a5e5b94fe0dd1026f9ffdb0bc6d373914c50323ae1637b0cb0401f38e79c4063841f5580953cf23b557a5bbccfa4e0788cad70356be5b8ab87771d924fdd8da7415cfb16eec1ffae3ab71de5c7058938c0e66f903642c85c5a0d1ce9158f7655160113df5e25228934841de373c11e3bbc6f7ec110388d5c80efeb13dd1180e9fab58d97e2509d9e508e2c649b0fe5296824050c2270355058946467e4d9a55815fa7bd073f9bc52103f5ca6d40b9ae396099c95e377d0219ffff03ad97365fe945e1c03f540df6755dcbdf6cb6fa6fb4e7ec049bfb244d70036c9d038973e8f01159922a591532effc55d88ce23cee86d7e3f1ea47b3a10e23be998703638335b8e13ca11f8221c90202385d9e59f3a0d0fe30ab206182ac7b2692408f03a07a68b58dfe13e962f93709c9ea9047c3a0b53ad160ebb7952d876bd9b79c4f0301f4530485abc0cf8316af1d46e092d95bd8e7ea0c3b73b578e6de148f84b8c803dab498e950849001838710caac82de3aba79195b6defc0a3e44b4131fca7b625032a5a77eacff58a98e168c5155debcccb2a3f26e6161361dda0afb4a2bde8425a0316bf8bf74bcb3623725a2bc6bab1607b03135353e9dc84a5185a8aec528f70d10373cbc08b6b367097b38274fefeabf118093c90421ff2c3f048d974e57a97005e0398e25e9132f3de37232fd4948b54ea03912e1efb4be18542adda41064d4536f603622286bf5403c21eeb0149fe78af2489e8dc1743d1c215b82b2fe82e5e63c02603c70b442cad06155112ab5de500c9cd0f3aff71eb76389bcbbff6fab80871ed7e039db4e5ea706f3da6cb074ae6cd37633b1feaf0707d6240626d0674e888b74b2603279a2e4a3a3486c2e84d602e02d67421ef9ca9caf1a089620aca4608bbe2c6da03ad28ee1774d30cdb0cbf881543467ed88cbefbccc36406195905fa3a8a7c6862038e3f1df2d0417dab4a822a5b4693003a27d5e3cf923567b35d267a1641413cf7034636f3948fbbe4d6a4868e7e80383da86001d9b3066d7ee259359cac2700e21e031ee0d2e4901f5af096831070f2782d099f2483a29bed6a6f117f6bd5d6f866c9037ad1b86ad41c289e9fffd078d89c0197d389214f599ef3972d979723796db85d033b2431230caa816b684b03cd9ba798001fc115ff14110300b6fe6e94703a88610374738dd273e66d53b0a2682caaf110af9af90a6d173d4f76c29d761e4572a06f030cd37add7e535a65c7dd2631a2b90d847b129ad11b30694a3a0b404968fc7b94037bca768d8253dd26d035d1fc1fb06e6bc0bb18658b53e5cb633bcc9a7dd14e040314286a46d76001e69f5dbc24bd697a9614ff489838f78248a78875d8ed47dd7f0367d43fda04e96807127dacbb2d8450ec664dffa30559ca3d80831d2d3554fdbf00581f0349440744317c3826c816b2d39f59a049fb140c37643eb69d029afb8875205820dc927bd56cf9dfc2e3779c7e3d6d28da1c2199690000000000000000662fcb5b00581f0374e1fcb87cc68c57856109a3eb30bf5984220c7a9779e0c987a6026bf0705820dc927bd56cf9dfc2e3779c7e3d6d28da1c2199690000000000000000663927e300581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee304222090219040300581f02cde985a89059bd074b27ee7667d7ab570e01f39c1df79b7b8bd97325a1fc410300581f026207139f0cddcff17e87d93531620a594b8364575edf135fa693a9888bf5410300581f023c3ddc477010d7ff049364c8d564a5850466b0eba4596fc451576c7623675820dc927bd56cf9dfc2e3779c7e3d6d28da1c21996900000000000000006630bfab00581f02785e8fbf580781b0e9ac24167ef97f1babf12116f461b65e5f9e96d88506410102194e800219ffff03269e5cc2457c7b4786cab0d8ed7f174cb0193f1db6837d0ea628ce967e78516503818d3a9e59d27f9801e5c1ba252edd835077862aa7eae15ccf0b46884b923993037dce576d2eb164d302c5df582dfb244ad17b0429574fe7d65c5fa22ed6726a0f03e8e9550088a265d64dabeb3375432b5ea704bd8eea20fe2abb1379f9a155185c03880a941665da631b981f35f29d8e89d41740b751e98476e7cf26bf1e7faaa72c031661fa29cecf41719da65cc7f9a87538079180f95ecf6682dad5d2fd89457210036776082b4d16aee32b7a50411eb8d2002ffd727ab48a0a660e76f4fe22763df803599bc54ff9dca4b60d08f44e472c8e3b55ec175e968eb9b92cda3270902669900325a647ba4a31dfa310bb695f111d973825f17176cc4546e700c006d0739478a703888419e9222556858160e257d1cfa3aa2451883afa4c35ed30f6e292fffec5da0309a160c317f0858520cd3638134ded1166b9db67586d682bdd2262d8662fdc6803ee8753c49d486c96e74afc962839219ad90f510f8a57db68ee6bf32589fac2f10219ffff0219ffff05581e030a69c89f5664982be37873109bce1359f6abe49db9dea624dcdfbfa4200f014817da1e5d7790a69819254b037ce19c1cb97ba66aaa126996dacd90bc59513a6430782907f8339ea0e1e96ff801410703cc51f2662e47ac26308e1d5858fca3f7a28fc3f6dce017d2e9019f76927ed74e0345b68a0d4c42a6477529b56f2e991a3e94d19bfbd7d374b85cec99c1891638c105581e033d6d4e52c65076bb5d5efa2cf196df8c04c659bc69cd1f05cdff21a2e007011bffffffffffffffff03aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581e03fccaf8ea51002c84ed38c70d757443b0ba7bec0356a73173579aa8720007011bffffffffffffffff034c4f298f17bc02365289d735ba246ebc7c7921b1f3ca93067ffa4631f46448c003db7b41d592ae91d7e975fb4269a56828a84339c2613bc0681a70a1b17bb2f6310372f20e7805e494fce60cb1c9f885c2621a38935b775c0344c8ada758613917d205581e037fd357fc6d69b6e0e42c9c70fa575a650c49629893865b2e3068a14dc007011bffffffffffffffff03953a83af4cd24d53ec3ac9a7b79a38a4ad2d42b4291cb0130e195c3e8ff2c6b70219e9e703989482d51018df5facd54bb7e9200c74be4d455538cc6088598b75c2722236cc0330c9624db4737338a82d5413f9aa0ffb4841633b8885e51b019a8a6eba10191103bed655d174da37a551a7916c3210afa46d041914122be275cff69fda09e3bf1c03dae61e25abae0a122020ea5f5dbb411669af0d8b353b197be9de669710d0bfc20338bd4847df7a8d04e0c0fa8a921da173aea110f85b2d31a7249a6bc31915495c037316ed1f3d9b27186755f2708db183fe14db17eba553d3b5773c278689aa05bf03ff3a4eb70249aa366e4f463d8bd890f305c29e6d23427fdc3818b4d4c252edf103da00f54ff22fea5755f66b6ba9db6590412c31a915a16588d1f55b89b25b4da80344d78472d5e11080f7a287ad48893a4272b707980a32933e5fea973ab42559fb033f76bf2862b0ce06194f09b8475addab2036fe5e31840be00b6a41eaaa9264b803bbe086025489c2ac3df00a53acacaf51815602dcff5f5f1fddd1e8da84864c79034c88dfc961f6e6022dd9cdea0317c11951a596df41784f0aef401dcee670bf2803d9c22eb14f39b84183138ba8097526367c5ed95cb16ecc6ce2a8a4860f51632903be864784546601b9ff998eb64cc84777cbafdb762128d5928d319d716bb9446503151f6208b48316a26bfef4756df56c485f7f1451640ee0ef0d2a04a6a6cb67830219ffff03a172a5e4a259f029ef4a60063b315e084af16fcfdacdcfc07e113b913897c98103d4de65da5cd5e9e1e22d35561adb4692a9233f05fee68503796865b2d22b102503fd39536c3b40a7307965f694fd781e427350c78b43b6caec7b3b142709476bae03a5b43929fd197c6883f2561bacb3e6cd86391399f494789efa8bc2eabeecaff303aab814b7b845653e1d36c065bf4f9f98e126e64e0eca288a2ac1f4832158e2080219ffff035e943f5bbf9a62b5475ac34eae09e4bca59d67c5b7a5175af59cd15f74325eb103c233a1209cb0a0c855ad6da363ca0a53eb3128a06f295054561b86589321898d03535a5786d023aa05689875877461337e1b20688ccc16a75d0617a24d241026490219ffff03eba820bb7501ef86e9dbd717c0df4fdcad83231b84b19fa42e69e0a6e40cc34d03e8798cbb8becde7d9aae1ca516d15072305ed14972be86fe5b6c1e2eaae6e5a4036683a3649b549b0edc35d8f493425e286aca1aecbad76e867afdf9db6140e3100339587568035c084c8f6f27ff16e3462334953e6bc278e80b3193703e1fb73f6b0219ffff032aac677f30535464a436236820fce80322129a90d2a2725ff7f50011c44a3e3003a629ca51f5cac9c1df37d84803a998577f133619c402a4fe53b9cd4fc607c42b03145a3d16e1aab6d39947331d1d0ad573402ffc062d898ed0f02a09e4f47610e1036da8ecc8275d0f294ef30a0d5948a3b543998001e8f70064a16a2a0e82e3ac200307a5659b638f6c9a0905113c548327d70bccfab14702fb956492ecb982d24c9d03383f321680cd64e1ba5f2d0fb04919159b3ed14634e79fd0e9ab80dc2edc3825038faa50215f14d84cafda69aa5960c1611a486f41df789004f9858dde973a9a5f031525fb9ea9300f9e5665b365f9b1dc29063c3099b768ac8f8f11d9309431f7b603fd095b93bfa767343cc6c80f835e0cd732b6b9de229153981d1cae83b9fea88003a843451953472b7b49f76a2eea3bbb3b17e22eb1d78435efa636e091a75abe750320530dcc46aefc078153ff02b0db5d2a1fc3cab4b4baa3560678d294f1f1449e03f7f0120a90d40c5c99e254ffb266477b2488faad1e165de0b1c188e059c8f98703bd329d41378d1a9c5f0bae128f4e750c32c20c03a001dd31cafb97bfa479ab46031e4033af47413bd75ba7532aa45b2999ee6a19f1c7320a8482157634c615e2c5031ff70c11eae19e17118f3a39c4e2780df100d6b54b058ba21113d84c2f33d26803814c7056035190d0c6deb85613ddbac26223bf36af9f8da70cecb24bc73a33cb036d5ec7d8ff107bcde264fba0874d82f9f97bd57fba2e43489f9139d33b555bbc038e598fa4ac64b6e584d25691c1e49760e95fffdfa71e0ba7a3766d5c7127d2ea035c9c2ec6f48129f85a8e8077ffa5c1b91232a7b75c95c389d568062988a919c103dcd1c04fcbfdbe1558f6262e121ef1f159ca93133d823a6c075ada379df83e4e0318b2c8453bbe394fe6e68f2abcfce308f3d2ea7e729ad9789350ebb53257629103ce2cf2d6573aa4873ca448b85a0d1bfee941393e35e968e651f5b6052a764f23031ba19cd559650659e4f2ee02350087ff7246bf0a9997a3ebb7662059f2fbb0c90363bb4ababc8707edcdda0e5e77efda375e85a09498a09c714ba863949e39e3f4033fd06a420d3a2aa0b460221015ad5c54ade7886f5f934ff30ec23c027662b40c03f5bf99d4d87bbaa7390084efc4bb08c5aaf4b7af581c2518e15626d757ab9feb0334479ef700864463e35cff8906e347036d511b02bf444b2ec4b9338cbab3f5db032a8a626f5d611a2adfb2c65e252fd577dd592fea868d8e35505c2fb6c319ff3105581e0321167e192182249729bfb0479d73a94bb80da579c70bd4423940ed10a00c0147125acc0fd34d1e031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03daab15f2307ee3f3539347e38ca292ccbdc7e071f7f497c78931a5a2b007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03a8ac3faef2535fa86a0263a7cd6c59f8cab226c0fcf46ddd82f6216b2007011bffffffffffffffff05581e03462d748d24127fdc3a1099ebfc376f6d30c953f38e6ee0b57b4935ddc00c182b4806ffb3553ebc0d7b05581e0350f1a954df19622075d95a39a04695272a12d7aa78a81922e301c812f00c014701d0a32b37460005581e03c00e8876c4c59065ccdbfa7f8c02e6d62d310898d3b736a12b265cf5b0040105581e03a444a602829f1fedac09a7c5005b94fcaf5153e53986d1010b43b0f470084804264c02c24a200003c8a7af8e0995128b23e55de66bd45cdb3dc5a20d3098dca13140da47f5b1269603d0e24bdf89cb9385f5a9f708ecdb836ea2fcd94c717061d6303a747e2c5021e40219fea30346a8cd6e972389b514f9e665e7743d9432a08193e1a2a90df0e001b8e5eb59dd03377cd76d9a9f3e1821e8a81764d572ea0674aca916a7ba372b3fafec7324d1fe03d3ba3ad3a1a5b67706fce105e48fab8714c3d98e5300f870d412b4532652d09703bd598c5bdbe32c6fa5dc8a668f226d742db6002077cfa56ed8164d74d03444f303de0a913210962682bbcae7489cd6e45687d083140ccf8cf8ee47f44f3ceb9d0b0362d80dab9c77412b6c9f8d92bb1653410400d078e0cf8a8ad1d1c2a9407bf26603870036bc8d141c1f0a7d61ba9431163931c2307198fac387558a97f23ccf42be03fb29f35c76dab63cf482edca781e461707c760f167c22435c7dacc01a74c8985035789af0b33282a850d0e171945ddb98dc5567304aa58359a7ff19ece96a12f5103cff6c0baea902feb8268e39f13bccfc34866beb3a2ee8fdc7d1bfb5376c02ea803cd8c2dd72fcc8a339803b68598a33613e47464c3da7a7d207cd11e5ce0bd2b3d0219ffff0388c98de961e9298324f95b1f987dc138b782a418b80f4a209a5f756b6a009408032e360c0c666d78925990ad68c0b0ea661f4cfb583183fc5c49ff062d704dd21603ff823d9aa5f773d93390bb6722e53a685b2512f62885d7e4938f71cd4ab4d21c038e2fa155e13216484460d6aacfab2ae9524c544f72f52fd00bc6bb026adc08ab03dc43987a7c4f0983c4d85bf8e635c737439714ec91d351ad57aaeafa3b3f3b8b03c406d3eee51df68eedb64dde0bc92127d11de28da164a278bf5cf8bf8f6d4ab80219ffff03d49efb4bd92ee57faf95200ea00c02d098a601280fe99e418b4cec4690bd2f2e035209485f0c89f4d6b17e0c93cd25f9c5d482e5cc9453a5ffbc7dc4716617dde1037526226c03539d91e6ba6bf244e40eb82a4d27a35d0d43ed5a54fab1e5c13f7003a312395e795b674fb12860c919622417e81e5e032cbc029818333489be12b45103e461a3adb7fe764ec84cbd1392d5e959c371ecbad57da63b56a0ed35ce6e032a03a707ef33f7a7873f78612b67a6d3f498cffc9f908f4e6fe8e6f5980254af9f4403e89b056f67e2b395584f873cda252a9348c04f5facdbc838cbdf5742f141be7c03dc6a4f6221dad9f68c262ee0b1301802cd16190c4ef466732a73a1e8a903220303bdcce83392e610da933284907d6473d16e68d36e72be17c8601ed451fb749fb603b87db10b0dd0e15ea6b79f92aea8cf707a53ef57c326100a81ccbbb0488b4d290366792028b180740754d3d8989c2ceff485349d4870e4d93db131695d0dc2e53c0219ffff03c0a406ae5eadc248747a03a47c6bfe1d487cd0a03894c5b0d02a231838c3d8190375d5c8d86e8326fbd2c30b4ef0fd0fd3d7a0929158fe1b82ed0e32f000f798820393d33e46e401374c7297952ead459f78eb60c4be69b504c8eb2bcd2285c8e338034d965c3368f0ccf45df2abd24f00031df2a62109c2f4823bb4d0a08c40d02742033f8c9fce3b06e20858d4e4de0790cb8c7439b0ff9bdb61277179f593227ffcce03a6df5b135d7237e0acd608f9e5872ba85476ce6d555501baca0f4d947d82bac703f057aef65c36812d937fa9a83eb40632bc2a838ef47b2bb1e522eb655bf8955903555c43dbdb4902f8032ee6be5f6399c4f12bb1210050d6e08332871ca0553cdd037941a74ace876ddd10313df3fe6cfa05f8e2f8a8d4b1cb6c00f0faaa66021f150361aadf45076d29a77742780ea166fca826dd27938c2a1664c1c16bc242a772de0357cf9fe464be3fcb6b1534ec3ea5966bd9f2e44c38f9f9d87e44d4b3193af3b5032edde9d2ecbad5829ad783331aeed50ec168ad27685a680a8b3106d16b3b9880030ad20096ba8799b787ededca9c967df2b11576d14a0c5b45b71be619ddbfcba9033e89a415550564dbff5ef943530ab5e97ae52971c1ad8ef11ff52762e6e5606003d2cde1eba9c75d7b420dab016ab808a00180fcafde6850e0ecbab4fbeac6675403c186c744bc4a67b8bf06ee88a8e68f4220d4eaf53bbd2d603ee4abc07c22555703f3c1baadc1bfe03a84617100898c4e7a133a39c022e9c20a412ad1132a091b0603122c300b35200772eaa8cb291bfccb83a452c9a283d4b46da324595b15d15fbe03bf76fac83f651acb81305d435fe684e2ef6582aab5ec522a4003b500f3be447203e2fda25c256bfd275177c305170638d5dabbe70126e42e1727b94c380a20e4a9031eb03cf4a49744993fe9c7c18ba17618c138bc8649aa29be41106ac21f168262037bd068ce354400193385115745f9f68e85d0b626f7fdec71811dfe14d8f3fa990380d1abd9e03a3a0e37d901cf88f875582467f17b6af72977ae2a8aab0e48706403083b3aef2de484c820a50bfa7cafe0859fe3cb9f73a479039d5dd245d00b576103a00d135df40fc163b6bdb811b622287233727ac99645c372e6ecb56a9bb04771036d03bcd154f67116b5f6ecf5fbe717b84032e2d4b1e6cf79987d052dcc6287440351be8513361f2b1135dbe32fdaa66efaf281f2e8f34a0a8ea2d47248635b698b03c74d44ea2fca91f8279fe324e159e63bafb1172dee15c9c842493e0331b52ac603e0847625a02b4bd636ff3f23c1964d7416eb82f9fe4604a5c0dab5830b8a5fa103c20f05dea455dd1351215cd04e5ccf02dd7126d90c0b2c9acd54b82e4957a17b05581e03a3a25dc9fe1ab2d174ecf30a5d7b7d04280eab99bf3cd9f748f0b6b540040305581e03c718e954a894654fac8bbd759060861372b1beab4a51c3543b4a37f900040305581e0337d9114c029a720f9a18733f6c92df8d538034af93c8f1a0b7e2565900040205581e031ab567b7b47a3e59c576d3ac39fe2f07fabdabe25cc9fe00e7de233fb0040105581e03ac0b5fc0c56b16cbc32a20fd6744d1fbfd9fc68238ae547b1cb448cd400c07464e8b0961b92005581d02b47acdb469149a10858ab94a5f4e3d4ebb26572ed6e825629bf475ed0c01471924456beffe0005581d027745ac32e72e5c3eb9cabe425bb8a2ef644776c1f0723dbaef27657d0c194c0b48157913c3d455dfff05581d02a260b02d9c92551c506d37b56d2bd041df1bd91c39ca991a239b44cb04020219401805581e037d66f0dc763eae6bab363d7b024f7789bca2f09611d4fa9289f174a6a00c0b4715cd413de9bb7105581e03aa76383c4bd487146d195853e61e51feae3e12319a9c2f849bc1c8c6e0040105581e0322706e200597f83466b8a8d1392778589c95e0e47c9955db495e49d530040203e0939dd573eaf945282e8518bd4e4ae6e2f2c2594392e92a3e459d617786e04103eaa36d07f27153133a8319191159d0848f1aa70f221b2cf5810bcdf2aae933a903080fd8eaa1b6cb11cb09151f8b1854d1691a6692b633536977e1b9aa88ff0ebc05581e036015a726ccd04d7616adad289ddf411ee7fbdaa893176d1f4ec73a9c70040105581e03f0cb0bbbc03ee58a108049eacba9bebd2b0af20eaa89101dca8b7267400c0146acd5a3a93b5b0219bffb038431d6fc8aac9bfc1d10c1fa039c53b245a7587ba8ebd51b8fa3baf52a3f8bb4034422e7e902fbdb640fbe1a5b252b0bfdb0de9cd6aa2f19204b0bac2c07e1d94503c3449457176644f67a670caea761a8792c914cd67f35cddfd89756314036628c0219ffff0366b0a8f2ca2ec145fe71780ea0bb07da37208a81b8aaab83b969dc5b41088bd003c03c130050f221f7e75b29092035284c7ee34f16b29e161de1249e318dbc32f30219ffff0369d2cec4cf69c5814a51d8cfc4edde7218694f20080c50bea2e4c7cf5bac4dd8036fa641e49c35b3fd189e4b3085fd6afae445dfeaa47b70a0b488c609237adece03c5d71db3a481b24af48034ac964f9f5a6fa06e4153f78c8a58cca2182e75ec850315c8de980f0b028df9c1998c9568b2d22007447db90c1fc9b09b90ca14e6f9680352c932b570ccce0e07a57530daef4245e3309926aa9ac732d0fff18612102d5303a8d37fc31f6b647cd9e41c85da067caa65ea7c20a88d533ca1b4865815818cb00323d86a578509dfa0133c4b4c0089da85264af3e40a27caa0c990c71ee95d823e03781966bc82595db932c86d2b690ce2c61f3a7ee32e71e4c1ed9972c2e12851c503b07755aad4e3b352fb56e97eb0a665d50e0c0860cc54836af32a1902560f1e9103e1589baccf2c51d62f1e1b134be57a1ad96723d647bde694f09292ebb87c10760219ffff03effaa73e97a407ac0e60cafcd983e523da345d46520aa9c6a984844fdae4f382032d89af41190ea7dc55b1bd854deed875fb1e95ddaa70217ce33d9a7ff957d1be03b3d36f25af3292a47dcea1ccb7991bb954e8b6948428e2d34f7d14fce6de9f6e03513d3ac50db544b228258a69477fca8301485b5488246c0b65baf629e795815f03bd7e3313f6eef64d1a2c428d64225f6366eba01f56330984a99df979f72da4710311458e30e33a08314ad8d2fcd2427127070fc18e4a32a235d9dfd7c90de3974b03d4b0173523243df4d08d79e05bb7ee52a852e41f6d14a43a6d84513a7e96ef74033853fb391712b12e6f6d9564e2487a0c3c37fc2d04ddae564764f3c6a038773d0398aa49ed3c00c2b3f949efa15e051d825b1ce7f0491aed0ffed878d517855ee70318780173b2dcdc1e9dabef2f2f69ebf9c230f2d81343f4b9038a1f9e40c4be8803fa72a11e1baa7010cee9c90c6488b926e225eb9f195824217eca90bb5825a18b05581e03c186c809effe8550d2380ffb03f4579d98866788c6806058eca3c603700c024655719dc9ee100332d30476304436dd5f84020d0a376446c73466be20571d12ce24979e92d5b2dd05581d0253d2132b15619d0fc29bddaa44248514673e8f4a4fe7b9866dde7c360c1a006791e34a03671f352a1bed9b158805581d029f82066873e7a7a7bf9d5e412150ca2f86ca249b55d8c9b44bdb52470401021205581e03d66f23ab68b3d272cf0cb5ad0f8533b3f72dab37ebff0d123ab328cd500c0147010b8a39401ca905581e0391dbcc54786562c6a9ff727ded8eed4438502364ec2e1086ece7a376100c0d4701a20ad841505d03b3360117e25e2669d173b187258c9b1516470e03d26499e4e3bf888c2de9aea505581e034192a948a18fcbe58942c225b6402a189506fdf11ce9861c27be54d4c00c02472d1a213c4e8000030eac656f217bb75ed4fee49e9433ea9d60d909207c52c92c47ec645efb7bac4b03aab34f72f819cf9607774512d03b4fa72974829bd1123da97357dac4810e28af05581e03c15ffda83e78ef12acf0921d3be6d26a1e450611697553aafd238cb7100401031c631d2fcf9b6e7034431eab66eac87cbb4dfd18d2dcdda56821a2b1dffa7ceb0219baf603fe8b88fd363716207ecb4217baa7172fda4e12198d87995052980f6cc9ab3e4f03c912aa371204d5ba032f9ab8acaed070f26929ad92e2521cd08d5ccaefa8883a035b7cef6747b0e1de17be1401d4d09d8159846a4ee21742ac44c0a22abbc85b3f0341fd53f32182cd645b89fc7ddc580e2825b6d091b4c5b03c7f4be645079dccce036243a57d5c76371a55d13f972971fdcdb6642deb5a58972376d40bbf448c758003ea46466ffab0946ead42e2a5c9efe690a996263892d7eefd29b7554b2e8c632203ba443a74af3c0547c59e8450b297d8e462fd8ce29cf0335c79eb8e1036b6132c037afefcf58e1bb7fd6a2d2c79e4fd8d212d8ef5388c1e63b4cc69f55360077cfb03fad2e3afde364c5634b65fa6a2c49e2eb7632194362ad0dd2bde957e15287a790219ffff037af3215da02ea38512823bfc7180cd6d4a2b58c852fecc928dc1b463beaa6f5a03bec059447d017fda435a08fc5fd6febe6e964951e4c26ef2c38e24efc6a2baa60386f03e6dd30621bce4ac3358b821b38ea618d571fda4c12a316cb5a04a6c174f0343adde2d46d3659177641656d28af0ebd2d1a1c198c5bce91f33832f7990560f03e57fd4cf163376586cfa9acca9a995d712ebe615a82a878b2c07fdec5af6f437035cb9672172e25f09a9a7dfc541257d26041fa722a56ea12e49a8be540994a60d036a45c4d654cefb318bcd8ec699ff7a3c953f90b6c14f024ff02c3b37328e948003afb65f5566a61085fc3f05e6c0560b8fb6c0a0d350345a040d128ef631f63fa7034a2e5b5e3956cd22b8f168df523f3a3bcb371404a6d7c7ba4b80f20a3da9e4ae03609565c53d37338f13d38319e3bddbb75a7cea70bb2e117959ee513a183a23be03610635297b2de9015864b18a4bfb0298be037d5097c0e39f5f0fcda04b0a85bf03451b0bacfc8061e2a07f2f0da285f6dda53a8c307d8905ff428350d38e7d566d035d0676bdab1fc09be85fe022d6990e4d85e6aeb39ee3adb6a616b720e061cd6403c19fe50d01a62d1aa810b5ac0ee5d44e1f22cf97e2a7e468c47a5b3e0c85993a0219ffff03566fc7c5e5145a136fedb4f8c95d38bb3a8a7fe844b9a3e580f12d61a845927003305e3e455b7e3a7418574318f8d69599853b51121729b5188a0d51ee65d4dea603060a27e2a82b98961c6909a58315619a6000fb7e6893f8a76fe24b8f1671b39a033ae78708069a93a9567bde78593906b579cde4b73cc1c82e37322bcf6c3751cc03659863541c9485e906e0aed51305500accf5e244700e4dbbeabc5201945363b603ed54ea7e2f51c9597d3e76b94ee0984565bf90bc6e81e645040df9ec4409851503ff3ac55f76f19031543c1b89a9299f440c2217536ee3c4732edfb5ebb963420803adf57bb3e5a2c4d155688fa9c20b3bd23cc5297d14ac4058fc6e1bd94376abcb036c7e6bdca5202658ff62b35664c513da5f94dcf5bed30665961801f586187d7603e90ac6c461cd6624600dd0d8093e14363446fed8f014162466e5a7ccab5a5ec90366b92c9b21f4d72a86751128ce18ecf886b877a84427a56df28ec0e7d08c007f0219ffff0368ab3a275adc494967e6b1a0b8475f8fd7dd4b758ea3254039d70de5b6dadd9803c1daf4830df49c0cecf8a73ee775fbd3921af42635931b1f579afd2cd52ab2b0038425643c9bb63626c9ec05746769ea230621f52e09f8b24422ad5d83f7b3f76d03106b5a420466d576c0ade90d0c3cc0aa7917cc027e1dc1fc8515f2fc34712e9903ec1c47cc8440e16dab0c30fcf494c68d372754bb77d0c4f2c716b5a8dad0dedd03a6d55f996bac085647f4e1857ec27cdb83867251a5b1020a6830fffa77a18eeb03bce55209c87eb6ecbe54484ad20b201f6d9ac22064bc697d8b10e009e88ad98603ba29dbcf4a5ceedab6b51c9eead76a4bbad9a88b64a0e212c076d7b5c8887d0a03adb2a66a72ad909ca48071d656b485abe40ceb26a156c33d4c97decedb2347ec0348d27c294625c793edbb1639209dc85d1586334bb0d2488820e3dc3e9aafb8c30338988a178d1e91f1aa11537ed9253de182ff60f9df74da4ee37bc84604083a4103697b585664eec518a7cf032df67cfcbb8bd59530ea396c8d17877e2340295010035f24b9724649812d8846fa75d1f82b4394ed5265fc29705f3d0c300c4dbd0039039553ed61d82cafd23e217a0b63acbde589c3ce2898b09be4c4db0493f0ad3f930369cdb8f3e1cd06e7dbca117bc56b576c9260017c4d9db97abc9482c73fc2315e035a9c35ef3db034a5451061371d6134d3876eeeed0732d22536845f2243c91b7103012826d7f9dd4ff1a1c01abffbe9df292815eeb6abbdf45c792f1dfc9b1c65a503efffa55b6b011f5d14cc962b96b6c80e9e0db3a27799a62b0efef23079f585c20399886811b63943adbff83a9c165e9a3153e8954c90166998972a488507c8382c034e014ec7ad56fe5e6b228b94636a83723363d1f0d6c1b0081d782244c1f224250314b1ecb6f6a3675ac1cde0d3254137fbc927591610a228fde269f3155562352103bb7e6638fe174a0f6d8694ac0014da7a828bb153331ed77444646aa3479faa2103e7bb0713f0359a1cd04a47eec96ad549a62694af32512af0d9290ae0370fead2038ac920cee13efdddabc325cf09fa2851428b52efdc86186b879e5fdda405618603ea1cb72356eeb5578218a89cf1e1b88b6f6beaa4b40354178f802902a5f92a0703e1a5d9de7b5b594418b06ec088bc02a6715d5fc559d09fd12d21190d8a458676036c69c62be316ae3026f3c7cf9afee616e3cfc433a3b05fc1683fb564bbee9fb0039ca0d4b8679ce3eb80dbaba0e1e6a5d215b693add18e762f53b75ce4be7cdb5703bfaf5e0c659e4d25841d17cc8dec4e8745b30e0b9cf087eac261133f4e79ae8d037c664fb85491ea9a59d4ac9b19b3dc78b19773183f9b043f7817cb4dcb46b470038e28d70fb10e3b1d9b81605a2dd1a0223ed71b001f5e5c39c7d11823845309b003058b558c62a6882ee4081369891d76e6b6b80b27601b7b1d81c7a10d9621a77d03f59ea48637553c1ea96ab72d7baf1ead1490a14ec7f5042b3db45d0815f561b903f6f0f7bf8daf4422f4d1c045f4a887f03c6e5c7e841adc43af83beb1a09bd02b03459471699bfa0f9cd942ec8d7b83161eda9d3fbf041b2de1afe11fbf5df85f7703289a4688aacbf20f1876d4672b71b998e8d22ce1b5d48a9f62f90da9e1ace55b03df8fe4b4027021cf6e0f0d4e68679c3579d1f9527aafe887fd1f4f42f5edb788035e8e043c934dc6c985ad2fb4c89b6c6886ff3e8d1d865b9b01be392f0b1606c603981143f2cbeefeaf4178d5cff00caba30543c0cfe9ae12ad10176caf2b5f821d0345445f12773cfbc3b49497a7317cced12e34c89cad2aff87e92d7d83836f6158036c817ba86bcd28512dfcfa8c2f13b737f3b83e57ef527b81f5c715ac729fde0a03d1685c67d2fafab781ffb2944186ed1fa7c07c3a7465e6fac63339af206c2d4105581e036f625ccb9e14ef49352942e0a7c9116bbee46fcce05bb9900f877aa99007011bffffffffffffffff039c4da409f7c4cfa1dc902d1613c1182b714a021d9095a7284e5d73bbb87e250303163b8d1bfc6064dc4df1a6127ea86345306d8d7fd2923ef42f41a8246408cbae05581e03f33e2cf15d7eaa442a075220f02bced96d92ca2318d7f6112df624081007011bffffffffffffffff05581e03c678965343ced5dd60b3fa620bbf6edd33505cdb17e98030832eee93300c0647eca5170cd5802305581e03ba08bfaa3f7fd29cd164b27e4e6db07005681e6e5898d7f70d87bd5d9008480110b70126c5ecc505581e0381753a6d330f98dd2c765b1692105ee4303302ce10898d29e07a7af0f00c01464d4e9ace500003bfefbb0f0b7072bab1786d101fa501ac86455b10f34c59c8414247648e878cab05581e03e0bc29891fc6593007895a50f5a7201517947bb40a03f858d1c41adf30040105581e03830a5e591b782739b214f357d4a64e99161c9675ae7bc142b38145d650040103db3340ccfbce481015cfb5a15960d686f387dc2f70899d894cf99fc2bad8cb9003087319e67accddbd587d76309f2f900b672f276fb17850804e952076a9848a0405581d0226a35dc765a6c7842d1712d51a08400ac87e2a225563e76dfeb0d82c07011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c634300051000320310c0211b345b0e57c87881d029684261bc596dcf2d0eeb52098f3c81dd3524fc03470d20eae39180f660672f638c6350175b3e61abaed37269c2d00ae10c9ae8400330f5218aca72fb0887fda972363d60397baac127fdc93eb24061cf03321ee12f038dd80fabf23556905f70d310a6cf2e050eb749b670464ae46b687f234191638b03d87faa342dc70a7d2bce2f3c35e65147e060d0f04de2cb99dd45df43661562a90382355f8b1f9f6afa2f334c17f07462044618e6727ae46ec8d5c83dfb3aaa95e80306583391da9e7b18f1d86456c5dfc9cd8b3e5edf9cc3f3508a5010f9b9d0edff0326ba4d762d045551e365ec34e7faaa11f14865dd7ea2123e2782a6b31154c6dd0311cb44d21490233dbb89d39716dfa082cbaf4ac32113fc87e0e7dd2ca43f4b9a030e1a89d7e969524d1a85c193671fb3d496ff9ecd81f386986546d6a23c98b9390315aed982cdae7dba108a830e26202367076ab1fc093ef32c9f92030a1e33e3f103ee6eaac0519dc095ab0ab6d061e61fe10b200e5714fb5a1025668ba19f92960103f88ffa2ea7f3f3622f64808b8cb5979e997fb009504fef588965892d6aa1bc1803b91b3f70f1be2d4d98fdb9729b614332bd1b652d67eebcd73716c2de909bdc79036738f96d575d0177babe6400556c1bbcd5af7da3059e0be554d0a46b5a13007f034dd3daa4f373da23dc63d4ac70a64c1dc78a3fca7e6cad2e8b81d9374850675803f16275c185e1fefbdfa8bfa645919eb42fa21c3f8d363c70322406d8b5286e5503e0485b6d944b68eb8748618949642030ef173cd215e2b8d933c8c7d44bcd3ff3039d66cab8e3682fe2552738586849d9b373e2d9fcd82ca62a73e9cfbc30d4c07c031c9d906b3688230b7ed75d97c06681cf4c47558180e36af389c3d6f7850d5c8d032ed60e214116123ad8d86ce8e156b98ddff9a1012c1b35094aa3af7f0a42a71500581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4e43cdb866e6007700d3062b422d6000581f027c312c51f98883abd09c01e9b0d54742c84f821c0b1627eefcd080816ddb4524368b72ad02190220037cb7c44debde262df990aa83cafc50fd16d127fd1521d008af69f88610ca125003f00448a520f9e9835a63e9f21de0dd930a3a19bcf15e72b53f46168e5e57501003516761530be1d258017ea66322b0f7ed7cee6c6a48536997ab0814ef47860df9036f9afdd8e5d6b157c6a37b72525942bdda6b6408fb4aae4642f54d91a69366ed0320463145a0d04cff42362013f6aa2714e5d9511509f0670022bd0e96e86d3ab703a26adddde3ee1518cba1968d1642c69995f1209b4272e5252e21cb4119b74fa4037692ed3b387c72925bb0b0cc550048cdedfe35097ab6073797ca2b959b1038d403d9301384c12242de4b9fc7c0e8c22232f3e74f75ecc1329da32e92104f9796040345c420e67bbc8faf5141973e7b0666e288040508297f54b224ad76506f012ae20310675fe7aa917b66fa60a9c8141e33d666add14ff7a697b250df3d75d988b995033b67a98c5a9cb6b3cc97660e34d849748dc320dee89fdb9cd5d7a54f0dee7b1d03f2031d07ce135ff1ca7952ffcee1ef43d9585c47223d0060b86c405dcfb56afe036bfad0d5acc4310626e524599099e64324058cb0b13c2b04abade5bb4a2b621303cc8e17030a2c9ecfc3111b52f6b05c0cf178b38adbeb7f491de3a68e69a21c760219ffff033423ea1119f9a8e9782874c798506d630ac894a31ca7205339dcda5c49eef8400219ffff03f6f7d9deebe6bcabdaf54742ca29a15e47ccd05a03c726b99579e4ac66e85bb803bbe36fe3181350f428b8caa0e9da5039cd1d91fd55a1cb9b52885e1ed2ecb3ae03e4fd49aa3b6aadff1342642fbd540406460fa12547e8ffaf9baa32507aa605b9036a6c61a6336e504c14a851fad460f1ba3dfedd856176f849825abb4505a8ccbc03e5c6d7d707b36f3d9e4d0c4b9272f5849d74bd48643b011553b35bacf85049870373d4097a7d9a698bc691be20968d9f2a84c36b9a63fb18a9c611786c1430c4e603536501b40911de2df2081bd412b2ac4cb10378c08a3008e43ff34bf2a460695703b571004d8f67605d3eb2260935c8c713acd77bd15242df53a8419fefb2ea66c903f1089efddb328f38889c6024d0599cb38c9c5b7bbbbaa1a5b2bed05d49160bdd03c3e555546719cf42f540957735c833ae5e617a31ec68498eb973bde5f83323e30334348edaefd6bda8db2a19e21f2df6c3068e940d15c2da744719c4e21bda232903b18a2b78a4ffdd5bf2d9fd3518146b6b8d90ea6f9aee529a888ff4bcd294180d03185f73d28b65b2d564c11dfa6bb35ffe3ef1c4387dd27d85d8625906a15841e40364b603c02aa30d89684a62b809035d1ae65f6f994b0e38f042e80ddd0e44898003668bdadbdea1007dff59c1a818e1587870e60e1bf3f3e6ceb2434634e937dfe200581f0288c0431ea0f66afbf17fa83bb8c7800ab34f1023dee436c2f8711e0e0a59410303107389856cdc020005a531c506cf2d3b6386ee95e16c64e9487d6746284f58fd01410a00581f0235e8eea0d96822615ece9d807a9ce462bf0fe8748ea375aef0d0a6c70d754526711dd9e500581f024a6a32a7b8525d8ae93f469925f23d1ee46da1e7efff441f8786fe2335cd410103818ef537880fd116276f0b4a46433de0c2793e6b1ad4c79ab4d69c8d0a3be78200581f0276194250b0002812bd70e970cea11ec48d373d7409154ec3ba1fde1d50eb410400581f02c928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854dac17f958d2ee523a2206206994597c13d831ec702191b0d0368c7b12ec657bfbc65f0116d37b84c94d31054a44c7fcab92d2393be5ba7d51b03534d98c3ad6ecd7917eb4c2562f81febf93cd633e8ede587ed7d5305f6ed210c03f5cb54e69cf0ac849ff37d42beb1f2c7cb6d55d4d4b10b3fb854e836e495066203972afa62663dc8edc20ca16dc4a85fa9eef58ed694c332c9db8c526e2cee4dcf03cfd0c37c7095a848881f1f7ebb461015e77824ac6cfbd9cb6b6afcc48ef4aa4e03052a472726eb8c9c795fc3ce80a93dcdfddde8c5c3e7ba9d876303afc6a33b360378f0c468a0fa47f15bf6048684cbc4656502649451bb72550c1374b32e71721f038539cb216596cf0b13b1a047fb6b8d4fe6429b05b34851274eb1467d5f1bb627038c94e0c236fb76654566e475dd4877303e21f85181d6388ae6ab6725292806790219ffff03254c08d38c1e34cababae3fecefaa3dc984cf8af5d5864b8f1696ecb9c08ee0303f23b74e88c4562c45c7f296e5a28770c0a19cf1c687db1a1706f70faa3cbfaa303e012397f0eeb1b2ee5897b9770c730008cde8aa29e5a68bef11eca978304db6203a4292bda55aaa7c10dfea9baaa40655a25b8d8e5ac35a59d4204dc21b234832c031f8dac8891f86b6050de5c2a3dddfcac1fdbc9471d28f50fdff443624817527603784b69a94ec2a26caa2f95c0612570c7ede4440333643cc86197cc277f4d0e980337ee07282d8600f10745a5f18e26a29c919b77bc20a353bf8f908df6e95c9c6a031c755342739ada18a1354a2aa6a157d8771b7d6dd1f37c2377e83416bf17fd17031cb3335c6f0737a6ee7d33ffef723a266e98f47ba5e775da36b5015813ce64c90219ffff0303d3e3263ce7814544574e8d18534f7d90b928ffca30611270ad5b100a93e15203eeccc701a965804c75a613af29255877bd5c70bcbcb074a207aff6db72e0dbbe03fb161b61bab1685c07379fb976b3d177f19721106c385ee5a4ad927616815aad0340569e3201dd7394f35a95ab94a4feab410f13f88f7f19637ca6364d45d5d31803476186bb1a4f54bba6ec687ca9195e2bb3e54b56348c907be1eec0e9d3c178b903ff3dc1800b07363eddd0f8a41c945a60fa6038add62c71777b1abe345a79a2300308e0cd89fb936539d21317683f69289b1e77af95fcf36bfd9795d0aafe019c2503520d171404de45af69995895ddd669407444fc41121da5bfefdaf33cc23139310306f4176a4f52663dba3015f5cb9b5325bbf0f42574bc1048d4558f8d73705a1403588199d42ca58503aeddd557d2a335a22b529e58d8056567f889b9932dc429b303a2c98f192db60f3b8daf54a7d7dbc93dc87ff6364d82061032177e7fd08e8cc103923d85b9dd1cc82736967f356be0b61d98f62b79c4485feeec75df3e9848c2af00581f022c2d2901876fffef46fd499ab2ff493da3d1cb532566f5b81f99405be8885820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b60953c57b62175847f6cab1fcb064e4c5c9a67c1f8a9348cc3b8798e9c45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b28b9e8385ebcbee54c2719e931da6ee2997d1aeb203486f647e752d262c457dd7c47e8b00581f0224c47e0132bf330685f8a96c9053661f3507912dc7feb2ca033c51fa726d410100581f0296cd7f459ef45829fbf21c30ae565c186fe12b78a4ad4bba961afff133e5410100581f029a74777bf00ec4342b4db1325418153cb9a4454fbff4e1af3f9fa8c5cd7d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a856018f7549f56e46af1e42825b69eb39cbbd081c0f1eff03e862e7fc8fc105d9dc51081c289058ddd505248607d2bb6ad8082ed828198c3a03b764ccb2e4f72546ef2e55df0585ae057fe3b341c8fc5faf4ce405bf37b29eb403f4b13e72bcaf7c99890cf6a8ca39d8ac5f4a74b8a7afb95e674e3d51ef11df9f0219769703435a01c22a728e0e295798f42914d23d8eb6151c3ddeca262a4cef4d0af7b5c50363385a7514915b6a2754c155378ec9f0f596754b458eecc2018d42410ce6a3560371b280decf73fa545048d3b83cf0ec4f679f9cfa5d8f140197cf33be4d79fe28034bc3184f0802a8fae0f443cce83ebeaefac695e2b0326459c57e1f5738921aa703f9e985ce15bd581b4ae18649721474a7f2331707ac58a2e255b8620c2f33dab203db916ac77feff481839538ee1ed72928753112eafcdf5e04b6dbf2182f36d6f003fdd8fb1bdc0de3bb56101b5e8a8183b6f410128d0f26b1ba0e6d6d5af0599fa303ca4eb440f04eb09c21f20cad6c66ce1717dbd657ee09af8ce2404d07eb67ad8f03956babd7d7a52afc46a44895950f29e0bdc1f994eca3cc4664b9b110e1e9bbf303998476ed76a18e0179e49996b762185a4626c7f02fa483b28ffc8b4ba43abce50219ffff03232e8eafa699bfa5294c03806a6b112656e7663a93136a0a6768fd6f9a2940f0030be85449db86bfdbadfea545ccad2de45ba3ff4ecb79d72456a48ab4e7b6198903479758473ddc1e8afaeccd077eb5702235ba9420781de66f51be8d648a90c017032beb46000fb6062df2e22d88c232b5b80782d143b133a2ba597d43f6fd05a70e030718f4f15f46676b2aac7a11196f7322ad427eee006802f5f7460f6130e0bf2d034a08a1fd36af933f5063b5d0420d60be08820ad41c50a57a0ce9087d8f8143460336a36a776023903fd66b52f3ce02613566a08ed773b9113a5c8975806796e722038e6a3b81d6f63b124f76b6115b53ba8b7d87e05672d1fe84f6ede641d55948910302b72513bad0cf1e1564727fedd978ecfe0a47b8472c0c5d8a705cff192c10e20219ffff03a874c9cc136f52584dcae9c5032ed511bb7ffa0f6686ec52fdb9dbf257ef39e603aca8745fdb05d81e722fba3606199e276c2adbb3a8878bec736930dfa26d5cd3037d38d5e86d2b778181fa394c1b028031055381ca28fabfe48afded94a8ecb94003ce9e03c8be9be115cdfee7e76e42cfc89f8460d3d08e1249d08c88653dc77b6b03de05d50c7d0b5411875e72e936e1f9c4e9a1aa69960c1fa4e8231a93a8f4775103281e9ef65d16b687d77b371150cfa15c8022bc73a65b7b0005f34d1a1cd906cb0387b3992d806843478562c17a84d63cace590586aef59ec2e440ef55d5971f71703feb37064b86a17528ba3f5441ec9bb429c312cdb4d71c5bef759eb54b597416203ff0c7f8104d2406938d980823581252b45aaac687757a2640eba820c5899a00b03bf95782608713adfbb833cba69b051adf876018af7abd819b30401e7902a9df2036d391e0c809ec165d01a7878de7b6bc548e2ae4ef809a0c8b81967c011a81b1c0384ccbd84eeede3fd15b26ae2b0063fc4cd4bd2956296d2f644bf748129b15f06038ff41d11e437a9ac30743875b205eb2395547f6da48eb3563f7b57c6fd9b49dd033f91b2e2ac515a5a557be8aef16084f2db389fbe93bb05bc59ea4ca3ad00cbe003dc4245d8f9ed2d04dbb2d6a9c6c27f8ccd549e5b79538827766d519d8414eac9035d581146b768431fe8b587d01a234d5feae2ed3538cb613bcf69393cb453a679035da429dd8f35632f20cde5162f5663febe8fb0a3c6808ae2d7cec5d29446630403211fdb54c48d0d90d1b50d373ee4654a4fe72cc3da3e6c7488b92cfab208bacc03473cb67e084cad873370e892b6a867dbb1cd8300548c12610a507d33f931ec9f03e18ac72a70246f6764d4030d62d81ec5da4e71afec7cb50a4f4c87bc8fea57ae03e158c287b14e4450a13dd180f85492cd773139109d5378b879c3b7064318df7500581f028717b82d1847059010d2deebbe39eb341eb37e5224e6c86c72270b4077a8410100581f0221d6516cf129367ce3736a65f6f8e01e279a9e305c9952e9c2516bf0770c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028bef4014d6c53f1c4578872f8ae6e1d900e0043fccd7cf2b0ba32dbf496f454472885c50035e6fbe7d926f29fa35c3fa9cdb4691fce42d693596c3bd8ccbedb2bda57b0dd500581f036c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100581f03757a4efbc8034107d698e2a8ae8c95dc857d3931535305a18671a00e365041010218c000581f02b7b1efe0f1aa87a3a814b59a2ee2a43d86bb8bd4269e67b7681974e96e635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0374491ffbf4ec2927296fdea33b10675a0eea8405260fb2e6a3c850b57e77439200581f02a0ba73b9869f40efd80880282b30e3002685fe084baa7990353698bb2f204cfffffffffff0965bcf9b50980219738c0397b6d3dd9d608bf4e33401dfcd1ae3656f0b579e5da66e0e1e19e2defad496670360e5ecb8c193afdf4f93754aad7e9fac2d885c88c8db8c1088db7a37a3ce2675039837c653b486041d20cd76c19600bc48b6c662ce73958af351156ae6e8dc1e90033a48d3ad181f90bcd734ad3fd4329a91144879cfcbf441a9d84500f256d52557034173f9006065d06c9e539880d557a5df3fddd8ff679b11da0b7748d2c181ba5c03eb6c903e6fe7eab188381342f490d10265770cabfeed4dc290282400faa0ccea03ccd12beacae8f02ce33a845d884a135a84e6cdfffbbe73de3f1bb3f9a06b222e0381e541d7bb53f7cacdedda9941928d2f92431f190f24bb0c09f108acae38ffc3036dfc3237af1c24c5312bf01cf90f0a4a7c6b0183f8f3960ab4ae40fa03e9b5890219ffff0219ffff03d3f914554e775488cc14c48bc0354b225402e0c4e096d2c188bd18c52933d88903c680b187fd7bd9155f02a7216be68a8438ea05d82d34dcae8caa76a51918703b03d71c0c9083ae5682be72f015feee95ebd9bcb2ee834dfbf2d84603339504829a03c4f028c30db8b87ddce6147d764f387e66731b3c9e5933a41eb990555caacfef034779b4b32310de3b3646f1ce3baf8c1300105fa119a89324102dee5d5b1fff6c0310ee8cc618ce1f2f6a45073162b97a91262fa0209037a6225a08541444788972034bb6a4c38a11083401b51ba7bef93b71229be5cae941b1cee0d6f5409f64235a039fb411aa740fee9d1139b8c4893f5de14b410d2bae9cad7079d5048df53a522203ce0531f6587275222fd49c7493c23fcf6d6988b96443b794b1172e9a7f40cd340300fe44446894e6071abfdcee67d495282c2f176bbf7dac4a5536ae03d33fc54e03ac6dbbbb6df6d52e38bc3c4bfe7ac52a988e8ef51207058f72bcfa21a7c3ab9c0361067164eaea0cf8a8ed0513aa966a5285004d33fad4161716ed3df2b52423580368db52a6680957c295ea74c8ebf435adb405e53727268fbd87a92a6d91978cdb0384ca70b1e7b47c2b77fa1ce737a17455ebc0f38d7055b39051a1ee4703d0bc940377a67f883f5883595cdaf4d18b57143112e17c58d89579fbaefc9194917a106e037d0a0fc2dd1eaf2337a9007b384b105ebba6042683f51f397686183ea0427da10308aa3aa3f44855b2023d72732c1129a16e8375490e1c02143f32ebe828687cb603c1fd3a75126d3fdaf1559bf9d15d761be5c1772207baa799928161ab9505ead7036052636fbf523993c43998a01fa5cb9fb53a3364abb386f73ad40e32a60302b600581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687db2f000000000000000033131857a46c00000000040baf2f23f86ffd32f8031f943e6a14542cfcd2051b012508edf41ea368b23d076943d7e9addd3671363a00581f021b21adf49da102fcd022822e57d9f923a6da8dc4bbdcb470e2e2a5a631f45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f024d60e8095990c982d58518ced7a17d286c3c26b8849351e9d8d23fc20db74d0c9f2c9cd04673f9c73ca04d6d00581f02afd970abf15588f6ce51ba971802337b9b54010f11590ec781b068bbea895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219e4800219ffff03e28d8b04e1bcf220f862eafcc2a13fc3a0769695e915006f4074ffd22c8fbef9037d3d607d3d21cdcd49bc0ecb78f9ce2072bcfcc8be89fbfacdc2ee31ccbc7cfb03c303714bbf2f4e90cd99ca6ed5107fe890a374b2c917e82f2bc912703a69b62c03d7fe08859217c89e78a0e5bc9310e188bc85379023754fff246e6cd55b1f28c103bf1a5d9085577418c2e27c7af3b3012ed343d955b8e65b1a8435d6b71afaa4aa03983adb722f25b0478b54319f31db64ce3ecab6f5eb5b8265d4cfd676d0f1127303ec8a7289a0974ed4517dcac6384b7737532f84fcbd328bab22b8375a419d0a5e00581f0286c56a1d006003c0ce3b61c41fae53b2f4de1f98d4113e9ea94c28f3017e4101036ae1424e8e858b86212e310cb0d86b25dca66d9284144be36536f43d90e8daad00581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200581f023b007e089ae9ebc9a090eb84c267410670ee7441c3ea4fbb36b06f47121e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02989cc1223d3371bafc3e8273d5a93ee53b03d4ca0d6917d95c8a02ac70d9410100581f02a2d971aec5cb2cd455e2b2804674bdfb76ff875c6a5381c45e5f9dbc9b265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02ca1ce7d6d20000e842e6d1d7c704aab5e227005e5b3909035bcfac1700764d0c9f2c9cd04674ec7c449416c4033870152b4e0e9947db0af33122555b6a590ac9254369dcaa28ce95522c3f783602191a67030cf6821a78bcf1853a954e77ac3b7919133f799709581fc41e64b71dc27af45503b087c5c4c0025eafa308c4a889d61814292bef8239dddb6bdaef37dea0682178031c0a2d93a8e8a215e7cf039ed435e016ad177eb12de7e52fb11ce65b7429791d03d9b6a77a19f4c823f4288e8a1359bbd57e65750dab7c0a4ac922e438a45ae2840304eb9e07b8e14fa53b550f37b37ba548cf1ce84c123567eda63b23dff6decc80038d15767c4063bc20fc600ffa262b9964ebd0bc1dd716468e6faeb077baec081c03d345c6b51fb36973f0b06e38651151ec0ad528917fa57dcef05bdf28ea731c69030506ade626d6163e63d0a517ac2cf732c2fdfce95a2563e33ad32cc07e6acb62037cbb2b7d16e893717ada6e8f4c7e61c7978e57533a7b529163ee974cb622d1c203f632513bebc7a17bc36f044e4a08f67455085f67e1d786b3f4397700991c11f50219ffff030d5e97ae8f104bb0142f707923f2a690786c4da680de52623f0204ee461afd2403b2fe6404330cc02b38b497dbfa696bb10a0ab6e59afe9034050d1c05a9bdd7be037370c683d6c87b5c3bf9c1931937bb620b813aae28326032401c1c2ff3f1c56503eebedba19985175ab69f62c921f92b60a02c55df5b98df68bc7f78adebadc36303a460a2883bcf1e0ee982b75d6c18904961e0569dea48023b30bf6bcda92bad77033be40d491224a86e99f08d76c12d908e2aa8165c9a2284d4f619a9de7e27fa2603e6629b836d6abd04fd730c0aaf076eaa54a76680ef27e35696db6112e3276b220353649d80157d72dea587fa0dc9dd2313fcd85d7441d54f998e6985c885d81b5703bc554c25e250589d57d3f861d95015b868e83d622c9c9a4de214a57dfcc3a7a80219ffff0219ffff05581d0298aaeaeed7fcd2e41e2030bd01bcf393c32a702fef8d71b5c373edc50701192c1d021908010219dfe4034af741adc5de455c8c88f5177771ce4567ecf5c56b0a9e56e3d2040d9db5bf070330dfd20715a73177f8b61aef09ddec6f121fadc09e77a21f4892bbc6b08f7bfe03d9824ed2d0288879fbfd437ace0be3e0b5f6f2551bfb39e8b11334ef5b20ae8d033afbc9f08fd66ee1f73882d184ff49a5111d646d78de98a00c4bd34ace82700e0219ffff034cdd23dfe312ea2fb016ab54330d41eb0bd6197c815a3746c6b8e2eba67756860341717f811b0bfad20c920e7e6fd1a26a39dfeeebeacc05d7f0fc735f4be12dc6038face0298e12428ab67d701f8745cbed66df9669f16506e6d3e12be5dcec9f3003092c0729d0e2a2de4f5fb96dd07275df5ac2b29ab6127923a80b2d0c31ebedbd036e5cb93744bf308b7a9867c81a5ca3819ab23c295b9f49b00350cdc6a8eb081b0219ffff0219ffff03fbc704c0a36ecc7250782603939b1aecdb37e217a59ed24494ced66aa01e72c60219ffff03b4fb7fb249418bd45859c9969c17d4162ca20c61b2cc106f8b1c599daf4a73c6038b7a03659aa203b71a0d6718bc918d48d5d461b681748e80c50a1be45e1397b7035bfa2153f055d56b5c475f0472839d2c7bdabbf44681ab7eaeef3ed0ecb70bdc03dee00adf546f34d841c2df4b78f73ea9509768340015788d258d23ccbcd6eba303024e0bdf3e983f8ac78cd4d801f5c9ba7ff00cef3c171e5895c98810a5a7dc1a03b24234c739bbe78ad9b886164b58a7f2b0e797e3bd2bdb599343cdd2b35a9d320326e384e08472043be52397cb8a5aa27a30c653f8e4ccc73752e667e3bd27a72e03750e10f20522dd2722a00a51e3c0f38e948145032c69c3ad4119ff6f46d85ea403eacc29e53b23cecf2149b77c22facfbdb87431b168fcc026da80d1a942a96083036d787ab1ba1c220641afaa1ccc6711c61b5f17ae2897cfe45a55befa3aed9d5303460a5e65c55d9097e7a05792b37a8a7628cc90e48a2de509564f4de764dd2ea003c4ab83ed01535324002b7a6b76f30b7ef28ba6da2fca93f4aecd2df48c8d2f2703d7f7fc3191a23f04e60b52454737b1623415bc90931c0ea1895ac37fc9a50d30032050ae5814a963418c7b0ec92fb4bb1934c94a0ac1a97710cc1e779bd63e810803a3db8d103ad70e67c5764986647a20831c5d0e0bf88f9b5f21d1d156c8c6f03a036ea8469687d0c3511ac181a88d45746b7544e2f869974ffddb99322350a96f9f039a6833d12ab3318b1c6bb069f894532c24e6eccbb09fec909c82b8e64442874a036d162f014fa75f37be8e5c49b1b6de472d3aa2a90a51be79e793873061f5f9ef03243b73014fe8f2fe5e7f89608a4b7a881b02db5ccd946d732dad364ea64603ad0335b5921a0f95fbd4ec4097cf7e88f0c7fee46726bf26904c80ec0bbc957b6811032a6c9bb25ed2a255b31d6bcf2e9186fd0b29fc2214417b9a1910acf8b2b158410379a315c36be22820f3383d73a5e3e53e5d3f5dc2e3e13655958d1711651afbe9038b96eb9bb5d536d513ca2923e70028c533ea048ce9edeeae6c6c709efa7e24f403530b94a3fd94430aca89d05f04e65f7b9f7333781d012293b17ef5934fb7645a03f9502aa368593ae1ce2240edfcc30e808ff67547e3b7028a3ed6fc5542c44bf7033131fa44eb088ea12397a4232a3a73e548f4076f128dc1f9fcba1e441b6ad2410395ac2dc409dba75634cd0aa192118352f9c482cc41d929e988c9334e9f7a992d03c97240783284374db049df42052cd24e707d8da480296786790471a071cf94c4038a54290b64b198d3504d8669ae24ca611544b3b94ea9986d9373ef4b520dd6e9035cfb82e5c79a3cda8b443a81cf8027f0dd6d9dcc7a7f8fca75edeb22cf52d694038594a6771e20ac45480dd36afe1eac96a7d21d853daa6d9246c3e9fbdf9619370318aa3d9f8955a8602f4ded266793bdc14193096ca6caf9af53a36658a032ac9b030e4dea37dcfbc56f21672d5ab9376a376129e44c198397ca85f57ab78647f5ca037386f55c96c31e81a784848d98451495aebba9574eeffb66594ee9d766263cf1038e91346ae16ec326112bbb27df138f0771187fef4f8f876920698283456b1b2105581e03e10bb2f98a3c7989b59ba4ecedb8d512efb34a070ccf9b69e83d6906600c0147047728b22bd58b05581e03cb66597da031df7892c55efd4b23dbb7c7878bd5f8b3e80754862764e0040204592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203e9ea98378d6e6a8870c485dfd98aa47d06438fdfaf4545c4a83ab041132c1c6e0398d0366da9ce9259f09e540f0ccfe9ceb105a7fc82c4be242871757fc61e38f00345fbed4ccdeae4c1a1a8c74191f8ac94f6d94ebe8ac6cea6ef47d7a96542b79f031e89f90ed7530032e16117140612d52dd63bdfcd7cb54243452c392572aafc29037e86d915403916c4c29c0cdb022b755fbc177aa111d8335bcc61cdfc3fa63a9c03a9b820fd7a374a2c0dd2bcd0405f9b9f96f53ebb7e89a7c3b698ee9793700c7700582002e38794ebc001c9124591b77f81ac33ef90cf6345fd9a54404e1a5e0887ed6f41010312e7aa8a855966da5f6113e50419144746dc594a2b51caf89b5bb39fa1149f2f03402370eb38fadbb729a276eaa4911d1ebd66b47497c4df95d6c65493d117b5c500582002245e350cf469256a392ea009b4984dfd13117a4c2eb282d5aab7fc0e9503bf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200233ce69e3b5e10cce8021534afda0dd2115150a82c77582a0ad8ef1e72b0806410100582002c95df52f428f7d2b500ed221bd60ee731bc951dce9f9ea5dbd6418084137724101005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af50bc005e4fa201daabb6b4f881b475ae5402196d4803cbd015ceba56add7f1f988f2c2fcd24150c18109afde8dc87a212e10bf13b11f03dee5edc30d297ea16cf050a484fbfaaa30e722143baf99df58b4c1450b53a9b7033ee8ff9569fd3767547919e4c54ea0ddd760c534f18fe1ed2b283397f4f0412b0058200269a8b51865809343eb66d55ed3fa1ced83385dbdbd2710342094ae89f0ffd44803e6d9d89dc96ff500582002930f142c9ae703960ed6d8f99bfbd7e872eec0e2056ca5a52075014fdb66975820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a45549aac46431f033eed8d5e42119dce4c630a5bf151ef4559820e5b51cd1410100582002fd9180c005bf4ef4c52ce5674c38c4c579afca189b2eab390d823faee291105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20058200334cbedb77ad009d515511f32af49adb79154616a191a7bf1b8e91a69d8bf404103021910400058200291df4684ba5f3319f9a77661621cd7a47c656804c1de4c48b9d4cc549951905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02190876038d8ff17f61b043380e6663466aacf6ad23f6665d4c5978217ff8b1c50e4d609600582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b58208b258286305c78a9d22012434d0c601527503b3f3f18b30b29168f55f967a8cf03e6955a6c82d36e780e10f4f80a9583cc8f3eaa63098b59a1042dce76ba6354ca005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8533dd8ddc2231decb0144dc46ed528bbb6ac5c3300582002e6be3ee83344568f99af863d0c4edf9cf7abe3d057e3a288d08317f72de56f410100582002a06e40afb65896655a3dc62713c24d5debf72c374f1e8a4c1d192197bd4a6041010058200265a6546a051cca25307b78dfc2e1b9ec010617d047e0fca264184e9991a41141020219526400582002198a74755b4abeea3284d1b4b7c93c30d71294b4dd79f7e77357af46b2b18c4101005820022b626d62da24953dd2c3bb4e7bbd245579628ea71486d1808a3d2f3dec534b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002797609c59a8412282d72e2d42edc29c584c02849e979cbb257b14cde33814845ded1bfc02203e91aa8292dde72c84f8b0b8ac47246a92be6ba3d55a293358dee3ae3c5b3c4f400582002abfb96d81ca628957a6c9b2be760a976321e95b6e89d29d86ef1db30d2c5774101031fd902a01f7cbd5e47a8349ad434dbda9bcada2f984f0cdced1a318013e550ab005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c741010219c25903c58ce48655d24eb4941b465b3fc389c45cdc024ffe196607bdbbac2c4159925f00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206687dae7000000000001af7b7fdf3c35204e000000002e2432e8ebe469ae646b03df16a95b959f85201c8da5dc00e001ccd95434ca08fd80281278bc3d04c67bb20058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f549813037ee2218799597d83d4a5b6f3b6778218d900582002c9e3034d9c1303913a423ccebbaacf145ef5b0f096c365646d9145a4562f4c4101021902580219ffff05581d029e9ef85b91a913daf270ca94d586cbeacbc8e2423fe48ab9e714fe460701192c1d05581d020e4c560782bb08f91f1538bdefa8af589438f8e8354b73da3107363f040103877c2015bab5fa8f409bd207a90747b8295fc4e386fafa0c048a307ace8d7730033f60a4ec04d6d6c8e197f83f4ef3fb6175767baf8649db59351ad9815ff7577805581d023131abad39a051e66fbb5b80baccb9d209d674338deeba2b5e899ccc07011bffffffffffffffff0219098005581e03ec2b5d76a008ecf709bcca2336c57f9fe8f2dcbd3b07378602e695ec80040105581e036d78b937687964d1b3af730a829ebdf17b54a1e34aa0723e6f3c3efd000c0347044f927a005400034a8ed1b0aa931d191800f5ded82d1d857513468469f2660e368c8851a3cc2d44034b9f28eaaefc157d4b25e1fbcd65f9abd5a0ec938ca6c5d5df56a78c3bf8c2f905581e032be428a10f39f4319aa504799db10e86e59bca06c01d0c79c1f16e73400c18384788dd2dcfdfe180021953d803ed8478b3387c9e725ce99c2598c3234bda0f9ef85da6337aef506ddecf8ffd1d0347ba9b62b7a2fbae2bfbdc2b015d48a46bb3879e314dc7280f980a31f2535ed903a65aebdde902dff83cc2b019ac86d491a1ee4215f1f4f2fca003ce3d67ab9d390341b3e8e0257b107c9fa95b2db0fe4e64590d6377a44bdc5f76b60c27af6448410219ffff034329466b448794ef8e141e6e7d96910d8ae19acdc0320aa19f4f3b4e21f227b40339cf60c45f1f500f6525b82cff306da7c54f70e1fd0e7fea8cfd4e512abbb36d0351b242378f1d0bb3e77d3380ef1c94efdcfa67e2a8725786a955a053739e611f03ac04b452d187eb40886bb923f076372d33ed6ee5f09e067c366980700a6b24010219ffff030dd737db8ad3113a0f493d72c6adad684f9d2e425a63bfb8f7194b882803d3a303ef4209060fd9e2d85eb775539824dbc344f6aa1f6277990f60f13a17f590f80b03f79a1a4a30ce6c626006a2bd74bfcb6f337d645fc7ea81c00f0c1cb01428e6aa032b58332acc6d6a2387e39ba2c61857fd9778b314efe5e9d7137d90eee2b2bc1c0303c2385aa82128403d76c94e53f4458d59d7e1111d80a40e27c6fade3ed865640360d4c644fdcda7f917bbd118e5959c556d700ccfbfd558e43284db23e3dc25ae0219ffff039624dac04e5982deab72f793e03711415a178ca7b290b4c5533a60a378ddea5f03c9634abb79502f63f526379d25eebaa57eca1b0a1b85d14bf4f0eeab4889a553033b0eecbb3ef5213f1ba440bef417a50abe3d80b09aa57387086be1fd6581a30303385010603ddea7efc4c858bedcd1f69baf95aad0088d2a17fc5453a453e8649a039ef8622990deffcc4c3697c8d84de3dd0d44d1c40d1ac848966ca15f39617a7203f00f6f8077d89c46d3329a175615a64ee246ecfb888920d2037b82fda5531b5103f38c9d8b578422a9a576ec755aa3237c3c2b381f93fa0d7dfb7adbda5a232d28038e5287e567da1712683a0419e219587f99597b68609c3a699b8f6da675d9d9240358f91141d390fb9cd06df720e77742a8f0c47a9d92b56862646eea02050734e503ca765de51df0289919cb0970bc6bd7615a95480cd11212a844d8a453b918bf8503f19b59697eb2df60a258b1ec03859bb1a64d74c8b4c1db47e1f28c40b759b140039fe70a90fd3295e347c8f91241a2c11ef92f448333a8187b584cbb888e27349403edda81b3802eb997fd521074afe5d5d3107bba79ff75dbe15517b5422e3a49950364825922685e5ce8c5cc172085f6346d995754a0305178c3c95fd49fed92f7c203ba1a9fb8b4e3e5b4c736ae6285ca714f390468060e22d67cea657bedf8a7c2bf031dcae5c9a5573ba00ce4b2189ebbda3bdd0874703c77ab70700b9a823269d667038dc3e55c62dc7ad35edd5568af4cab561476245f53d44ff5507da7686f3be9f303722d43859280a07de8779b71e099dc585ea909b0e44ad941c771c14037c407f50364413c2ae36553523597cd98c15c33d7750b7fef4eadbdd5a5e58560cd131dc603e3b39978f1f223667ede54344649d45348dbe47c7ba72058afc7860369f186fd0364cc93f18717015b82abf26fbc1ac75ba0a6270d525b81f25a3932afc900112f0313e83c2ed262b5a9ca3461c0a8d048583c8412828ab20260f162c2f323f7108903746e7123b738c0adb42e172b0e62c6c4a477655b0f0ec85b220186e2cc7d2c9f03db1edd88da31b9173b3a01a4bcb70736f1fb7d3d7c4ff994859c9853af8d13ad0329f4779aa5b452b14f056e4a9b7939d5cded2558be947cbe51776770faf053a1038bd99129d8d5ac3a61eb5a2474a0b12003c08ad1d4d1d30dfc13ed6187ec8e5e03c21f0eb7f81557af2541b0c0b5757f24116c45fb8a982919a804f8affaf568830351b04acdc59d6d2676cb376513e6ef4e0e457fb7667841912288d0e20a2a80b303cf603aa4de6a946d150a191044c72b182176fb4021c6b2d18a383855a8f0234e031b5526d099906496a3a33d60306caefad770cd03a0881fe26d7f1a0de66b43ac035e59a8277f34b835258b96b4508bec0ef3922515e4142f0490770b3b2175569f033358e366920b2fa8afd4329bebc05770d5cd7b659426a391d8ed6a1e235266da05581e03e61bc331fa2bcfdfbcbaaffe43953dd29f5dae150f901483658d263be00c044707b05cbe758c7d05581e03e98f02ec287a7bc81664c3bd3547c9c43fc30dd780deb035cc572ed0200c044683c5a2e4fd4005581e0301b4c5ac518015a0bce436357c6ffae80bb8291afc971ebe35544f24400c024501aa2450d005581e03fe83da1ccaef9d9bd78ce53543b6368d6df3947d410bf2d34eb594c300040205581e03ec48afe9bed2ccb5532d8a32fc0cbb2e1ba61c7556de5f51e397c4be200c01463d1ec5ffb1f0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0397fc5d38badeb2417fc4af69d36e4965c61f33bb84f646b7d58a9da68007011bffffffffffffffff033fb0fa6f5661fde6378c4db73cf7f1243b922e4b55a3435735c010e477f1c24405581e037a436184a5fc4ce62ad4b2daaf8a45e35f2947e33aeb11416da640405004060219e48e03026455994a7764223a128fa757f29d61c41ac8e28bbab1f879c66e232fddb035036c4372246d91297c5eca3d8d1d450153f9522df23de517957182e29d8416b60c0346fede6b7d0c02e47d4b73ba916d50c6560915c7d711ff0fea6a50af366bdaa303f7070916e5abef8618a5b86ef9c90067f0b9cd0571950323e10a64c9ae9eede303c0b160d239ce0c71812917d0798c6964edb234491c2f32eb7574c8d7a16270d1035ab52e3783b4c240b92929d66d50e2eebb0d5a8af7ae707757e0716d1bf15b5b0219ffff0381b97d5f5e54ad1fe2e2fe530efccfe0e148b5acfa7783eb6d9b849eb409760e03bdc3838f5f61a24e53f359ca7165e76b4b7d123d4f5d64842a6f4075139064210305ae7026d11d5fbcbe4de0212add624314870b4c1532789e11273a8ba10e56c203973e358ab5582c748814ee0c54d83e22ea3e492f55b9bd5a40c63d93d09ea5ec03aa14db891fe725d91d209ec73aee30e8ec4e9318420de3ac1b054ed669a9c548032c58a6cfcba14f44ecaab62e153e6f564bb1edd960312b39a5b0d51f8ff6aace03df1b522adaf1ce39fccc3c0cacc7c100fae355380c9f5dfeefa1ec094b4da18803970d50131d6665b86b6a67d58debc492b3923adc1cbedf65c211445f168854e403746e9788d5a04b41a1967441e8f40ed5915a6ce4c41c5faf5bdc0e97e573ad57031705ee1a24aaa8fcb010d0d1846fb7d459822add84601e4ef2a53c5b512f2f0303c494844597473b86772b53e2322822dfe1b6bbdaba0528c074a025237835c7200219ffff039c5418df832c32390025d4a5a8613e19abde9438c33695d6b4dee37408ae66e303a89e88d26fd4cceb1ec4e05da51953937150e437b79932edeac52a67f8a9d0f80219ffff0330e7fbceb09cd80ddaa7d8798418071887af45da7dcd546c2e11556fa2a9f0140388c5dcf9fe5f5efcdd7b11fe28a0c88dae443d88c9931b79bf4b4c17845b94a803da9e225c2f0f94c12b957422890a434c8ace62b7f62a25e5ab1ff9d769d8bbc3038b5c0fde20831916d55065ae444fa26f07e91e06e1a8213a5a7bd181a03239490219ffff0356accbb08f14787247efa1f69b647975b2fefc0e6244adee739f7424d57634f4039e1b49de128c02a0d77db25a734b09b9ca0f30582a573f235018801b7f264d3903b2d29567033bfc1a2bee9b8dd1ae1f4e2490fc76c7a587218bca677350bd02d4034a98e5aa8b759f855eadad1783438e86a1b313512d68b2aa2173e03e404e4754030517818001a66d1bcca1d848116b526ca279256e644d78c7ec2cef3bb7dda46303542fa0c5e82ff10fe47e0fc53dcab0ac9766eb1becd1137f8ead1cc1344818ee03b81977ec4857ea68ec61870fed83019ddc0311c2401045a5958945a72969994e035e99a18216de7c1b7708147a007c715141ae92e7a9f0b8e99cca064ea79deaea038ea7b92f99ed5c0e0ed2155f9558fa40472eac7eaa3d3afd43c9056e6835fb6a0394da0e161c11637e97d2f9629bd676c4bdb12fe83f79d38b20fcc33486c19f5803eae36d5141d52a485e8bb8ca06cd43ff66b34aa0dae8cd00a21a0540ffb8df970301403b0fad1c25dd0a2fee75ed02b492d98066341fa70fe3256084c5d90cdf2d034b0f24ef3f168522ca5f765666537bd37415c901e073eb2bfb51ff3e049b30cf03646233d9aac1837084f5f6fb47cf135b9217e952e97c0e6cde7fc3825b1d115b03b56428c1243e4a844188731658a7e8abf136a1d537aad775b82c737006b8692c0399b71d229efdbc6d36e4310ea83fe90e64a465a4287b50325adcabbe41ce72a403d0fb09c05f18ff80c79ad922e44e044f9b74a07316840edff092bc89f2b1430c038ef79c32166f9637dc1aedfda6dc33325dec0410a49c7a1f997e8b419de692ba03b5a90ed8125517954634b7342545b22d867154be2a242251bf23f7ff8bec597b0308bfa6aab1f1ccec808d3710937ca1d80e423bd689175cc46ccc4e850ca933d6038e859fb9ae68f5441159c12fa3802b90c8ae89e8d7c984023d576dde001edae103bce8a3e4a4e449208b926f91eae0bb949e065825c43eb899b038648a83a4c4130364e753c8e9e5de0658db93d0fe5bc9c58fbe9c5bf3246e1713f5d9ac8059ae0203d2f374513af1c9a4ae0d2eba681c30a048e59b8971b01a8cb15979fdee4435bd03825dbdd15bb71063961aedae48476445d08402c8dc9f79667a891a17ba70992903a3ff955dc09a02d65ca99b6be55b35c645654216fb021e2d1ec6b919d5ccc79a03b1eea779197695e1aa49940cd7edd0b1f069d9f0e25db6d48e405425a4c64b2103b1ff02426ddd09080a6c39e83a40290b0e650d4c16aece4681e310186a040aae03b5026b93f3054af9c148e41a5a8e3e86b635463168a84eea5c8628f7048677ec03a459f2f2ce9d1df45a7b6e2b5a80c91f6a838af053a9059cd7007960ce9cc3770381d39457c5b6f2aa560243a444971d3b034b4bc8b0a432bdcce67e6c0284315a035ef58c1838c70fa56e13d6f470c23dce14829637c904203a4f967cf85475cdbf03ee7cf68942e75f12143578968967cb512b744deebc66bee21ac3f98fa89fdbd505581e038840d35a0d9dd0781c4d8ee81211977fd14673757ae585e8b7785bd87008475cf042b6eddcc503e800314b0d348d2c75fe902aec1a6402a177a1096f6c41375df344783a1228aa035bf8ade0a2071cf7aaa9df15a6f089884c0adfe5ae84fccdfac277324eacef38039982405f81ee8871f4929ee8997a8215441eca19a9f93a92c0813125babfc14a03667db94fe27d7c28b379795a0120f97619abb05431ed638559fc1bd9d25decbb045938f460806040526004361015610018575b361561001657005b005b60003560e01c80632b0a79221461010857806359ead742146101035780635d094619146100fe578063741143fb146100f95780637f3a34e9146100f457806382762f5c146100ef578063aaa96a8f146100ea578063b30c37db146100e5578063bf353dbb146100e0578063c08d58bb146100db578063ceb5748e146100d6578063d7efa053146100d1578063e71fdb82146100cc578063f5537ede146100c75763fa461e330361000e5761216b565b6120da565b611a8d565b6118a9565b6117cd565b6116ba565b61166f565b611624565b6113b0565b611348565b6112aa565b611026565b610f96565b610f06565b610264565b600091031261011857565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161016057604052565b61011d565b6060810190811067ffffffffffffffff82111761016057604052565b610a40810190811067ffffffffffffffff82111761016057604052565b90601f601f19910116810190811067ffffffffffffffff82111761016057604052565b604051906101ce82610165565b565b67ffffffffffffffff811161016057601f01601f191660200190565b604051906020820182811067ffffffffffffffff8211176101605760405260008252565b919082519283825260005b84811061023c575050601f19601f8460006020809697860101520116010190565b60208183018101518483018201520161021b565b906020610261928181520190610210565b90565b3461011857600060031936011261011857610ee460405161028481610181565b610a0181527fff000c227e72d9ed7a35a09e260cdd5bd468dcd29b017bd64704cfce1a62420160208201527ff62f0b87f4ddae13a50237181ae2d655decb0b548872eb746437dc29c603a8b660408201527fd17c22a4911a74cf0e3cdd1ba7a2c458bb047103830bc29b593ed2f48e5a29f960608201527f3afc66e3990588eed1e58744ee5354c8ad0f89707b238c8aa9062d70df2c5ada60808201527e7863fae86713ec430593e40207e533419577858543b30dd6bb4dfa9d809d8560a08201527f3808f990eb738c7b7d80b6e57677acb4620a77cfcf09a626642b21da614f4dfe60c08201527fbcb4bcf63d13287d660a9309bdb9bab59ff76872f6f9b7b24dd67c51ad0b2b8e60e08201527ff0206d2e42a53d8612bb29a8af9b8437f80c1bb210d87b41eec5e1a5e3ea741f6101008201527fc0d248284c0d93c617b84910be77e1ceb4d126a1e6d6018fc50ef80bf5c1f5306101208201527fc1c08effd495d0bccbcd8946430f92777b22213c9a3b3143ba33b0d8a7b736c06101408201527fae103eb4c4670e603fe296b1f5e19716be0072f40b11c798c549b66a70f906286101608201527fd920d226bafd92be73127620319bcace9a4b2d9c2b4b67d5b2d85654d6137d926101808201527f3e679ed4fe7a0ecc01c34f5bfb2722d56214259515c9d957dd6ce338f346afa86101a08201527f0e05f4ca29152a04d9fde2396c01c5f065a00bd5f6edf5c88d1692ed8a4c20916101c08201527f0e96b6cf3e37146789a6bddbc81705c22f61fc381e3dedf870510028b7f1831f6101e08201527fe518adb1185658427f37764b95f6e2fa0aa93c511219b446b75c218a14f8f6c86102008201527f011dc314aa60cf09fa1a5690cb801168f7c8cc24eac0f98c5b9c46d6d61bcc0b6102208201527ff595d589c87a74b9a53db37719ba64eff11cc6e4d1fed32d931cc1eb00edb42f6102408201527fab7279b8a81d9262af4e61af885ef60ab76e35454b02b82a501ea6588340b8946102608201527f5c7927f0a70a02d86c699cba411fa35af839876d9564b84fcfd09ce3814dbd926102808201527fb820ad548a60d862d634374eb949dc1b8b849b314321c29860a5b21396866e876102a08201527fc3ecdb71c30addb7a622ea8f46304e9d2aafc66cb609b541ebb8a4d23123db296102c08201527ff05c2ef0c62fade94fced4263682f18a2e243432097f61967fee4d3a13eb4c876102e08201527ff0641cb056258345edc258f9483fd161bfc620fadbbe977c80262db8ab6680a36103008201527f06f0325e9454afff9fc0155ece278ea1b35dcc5e5e6e34ce8cbe562f49365cf86103208201527f61284ec040af6e476116603eb42f996ee3abb0d11029a072593878a65be8b02a6103408201527f8e3c0f409eb5e7b9802ae4708ab3fdd9519053eca479ef45bbf2242fcb2bd37f6103608201527f61793f65b55c2e240fdc38ad7607996ef02c8c3d0e4219254e06609a1e5235046103808201527fd5fa9041042d208bdb878b105a15a0b45e0026af4a86e314ee2e7e42ef26ddd06103a08201527f88561a5b5cf805135dad9b544f2faa78b41426de1313d1aa5984270cb5aab2046103c08201527f5a30555d50317c43ded2631e23c3b58b507c6a82d9314099a711bd90c6e69e5a6103e08201527fd8c778cde2ada0a21f3277741b8eb4c144950e66fab8b1a7d0791509ea33fa506104008201527fce453fde85b322152af6360697c8d1184a34c64d0c82258c0c392ac981e2cf926104208201527f2d18798abc3582d974933377d7b3aaf97b6330ae6ae017ffe03639b8f57105186104408201527f8476d21eab6b2d6077e926605837cf314a63f56c51c3562eb5b98dd1dc4e03ef6104608201527f1538f13ca2416bcebce40f97a28000c84a49910aab392fadda90deb77f80d61b6104808201527f18c9ee8c07c827f45f3a3d20ae87aeb8fcb49c2b88edfa636ef7a905543bb0c86104a08201527ffe2173623ac818e79c03ab9d05f80e9aa23c48f4ca8e18188818291ef0a400916104c08201527f40a491602d3d49de1c60708bf91c37af581648d081eada74c53ef98ab8ac1c6d6104e08201527fe73f14a1514a1834c615e3e1253fbda737c9c1702acb93ee2be9be6356d7b4416105008201527f854014a80600d2449a9bd8778f639a50e4f526e369414a681f4362931cb75c0a6105208201527febce4d904a804938e04219be2523093fd49aaae1ec428850a6c8f8072b43cc5b6105408201527f5b16ccfa84e49965964850180f7cecdde744ca6dd6e75edc737136e1bfd17d516105608201527ffdd5b21ae245d4e2977860b61ba8bbf23b02fb7b57e43a5fd14605027e09cf126105808201527f623d7b8a2e2abcfa97323098964740b39c22140236b3a60b4809a099f66b78af6105a08201527f7248346cac1c337fb90a2aaeb8850630cf89e0ba2c49b44df7ce719238e8cdd26105c08201527f0f02cc562e42bb861f4a1480fd67174397e6b5f5ff034954547722d7984b6a1c6105e08201527f0a872380d84522ad38a0cfb7988acb84a44c9ca43e41180a8c11d909881ca3086106008201527fe2530b8b8c4d25d4905c4b9d6ab2b9dd835b4c0f998f4358114e537ab05ef26f6106208201527fccbc5a3af8490605ec4c296b214f39f2df824351931092c864111c9f11a88fec6106408201527f1c50c121733b77e5e318d0d74921321c466bba4e6f5100dcbd0bf34d789e563d6106608201527f15a75200be93d6a80f5243547da6c84f02de61d6cd5da6aa7f14cd66e25391be6106808201527ff58236324708afd82005da29f1db650f875458b29d4fc00982173459cf1103b76106a08201527f192ba4326a55f31c73c82e56603ed9d99a7a1c919eb45b50de5625fef2d9ebba6106c08201527f25e6eba6e46c1e91e4fec753c9573289c52ee5e2de752166b7620861abe8e64a6106e08201527f4d584443ceaf64ee9fbc18c7b82924c563889071385988b75a4ea23f4f71715e6107008201527fe63ef49ffa48b907bf5aabcdefcd519ae9951135611d1f12964121b2205b57cc6107208201527fa86d173684673785b50b7c486746e9df785ca4ce95b9f399d1cdacb3f3e126da6107408201527f39bb2cca365dd90ac6cf7d221f0eff4bceacb2a6ce3c27d55d5eb4b86b8eedc86107608201527f3d855f9a7d5412c793f003e1f35f968ad50fb49f3f14663b5f2240bcdb6543a56107808201527f5a6087401c35ef060bd31c9adec8102aa51260613261feae673bb4a221b67c616107a08201527f53be8be2729cdc47d062fd1b7ed8b1dd049547b57e60bc324451350f456332926107c08201527f77e783da58aab9ab22c8f10d53a77ca98f64cc05f2e5edf9dd3a0bba074939e26107e08201527ff768730fd56580df686e694941be18a766840ded3f6414e67b66b4d914c8e2406108008201527f7423a1ac99b034c3bd8bb42a4f674de4204a03b39318fdae1fb97f366f92319e6108208201527f0968901d348ba2ec08c6734319a7ee3f2c8bb438b769e40c5d4e0f8cc732504b6108408201527f0f6f65804d4d45bfb96a774961729eeea88d1990904196c63178dfc1606b9c266108608201527f213144e811a39e5a185bf1bd59d028839b6cd37b04353adffd5e560f685a55d06108808201527fe745aca1e66d521f1a7cb744aba7d60b36cc109e7610a878d66e76094a7a0bc86108a08201527fe4d50db9c14e3086c43e41fa0f6f8a60a2c4c92fdd25b92c5974937e7111fcf26108c08201527f52705fa78e58da545154a1b08704d08d6bd890d8b2713f7b61e5a54c5b73528b6108e08201527f608a087fc1b4b9bee572316ab33ea77c31953a8be2035e83997bcdbcce73f3d46109008201527f9883dafced84f5378ff86a0c13d2a586fb749b839849c73bbf92f34877a1ad1c6109208201527f2596014a15752d93e960a7564c484e0ad54e5d14cab6bc287776864793336dcd6109408201527fdcbcbd0d4e6bc5b5ea3ebbb2f477c8f47638750e391c57d5d3f521f5894c31326109608201527f4b78879f7842fbb5e592764931d8bc93d8281b73727979466ebd1e74ec2432686109808201527f08ada9dc1ebafdd5da7aea3d3e72b6c7cb16555d9e0b29cb19dfae709e7b2b076109a08201527f732b00fffb2606f62031834c0202886b427c3815a9a556097a13f7a4c2cf80e66109c08201527fb1f34baa1c7ddbcd2e66dea13e8a0eb6965842e2f2edfd5c337eb9d908e068476109e08201527fc1d7830ea0d2e2cddd6f79642f7fb0b2b10b9363fec851aa727426bed61c9a59610a008201527f4e00000000000000000000000000000000000000000000000000000000000000610a2082015260405191829182610250565b0390f35b73ffffffffffffffffffffffffffffffffffffffff81160361011857565b604060031936011261011857600435610f1e81610ee8565b73ffffffffffffffffffffffffffffffffffffffff90817f00000000000000000000000048cc551eaeadedff6ecceb0227d9b709fa9344dc163303610f75575b166000526000602052602435604060002055600080f35b336000526000602052610f9160026040600020541615156122ab565b610f5e565b604060031936011261011857600435610fae81610ee8565b73ffffffffffffffffffffffffffffffffffffffff90817f00000000000000000000000048cc551eaeadedff6ecceb0227d9b709fa9344dc163303611005575b166000526001602052602435604060002055600080f35b33600052600060205261102160026040600020541615156122ab565b610fee565b60e06003193601126101185760243560443561104181610ee8565b6064359161104e83610ee8565b60843561105a81610ee8565b60c4359361106f61106a3461234d565b6122f6565b61107c60a435431061237d565b6040517f70a082310000000000000000000000000000000000000000000000000000000080825230600483015273ffffffffffffffffffffffffffffffffffffffff93841695602094919285816024818b5afa9485156111b8578891600096611289575b5083166110f06004358483612e07565b101561120c5716906111006101ec565b91803b15610118576111486000939184926040519586809481937f022c0d9f000000000000000000000000000000000000000000000000000000008352308d60048501612585565b03925af19182156111b85784926111f3575b505b60405190815230600482015294859060249082905afa80156111b8576111969461118f936000926111c6575b50506125ed565b10156125ff565b801580156111a057005b6000808093819382906111bd575b4190f1156111b857005b612341565b506108fc6111ae565b6111e59250803d106111ec575b6111dd818361019e565b81019061241d565b3880611188565b503d6111d3565b806112006112069261014c565b8061010d565b3861115a565b16906112166101ec565b91803b156101185761125e6000939184926040519586809481937f022c0d9f000000000000000000000000000000000000000000000000000000008352308d6004850161254c565b03925af19182156111b8578492611276575b5061115c565b806112006112839261014c565b38611270565b849196506112a390883d8a116111ec576111dd818361019e565b95906110e0565b6000604060031936011261133b5773ffffffffffffffffffffffffffffffffffffffff6004356112d981610ee8565b6112e561106a3461234d565b1681813b1561133b57600491604051928380927fd0e30db0000000000000000000000000000000000000000000000000000000008252602435905af180156111b85761132f575080f35b6113389061014c565b80f35b80fd5b8015150361011857565b600319604081360112610118576004359067ffffffffffffffff82116101185760609082360301126101185761139c610ee491602435906113888261133e565b61139461106a3461234d565b6004016129ee565b604051918291602083526020830190610210565b610140600319360112610118576113c961106a3461234d565b5a6113d760c435431061237d565b6113df612788565b73ffffffffffffffffffffffffffffffffffffffff6114186113ff612794565b73ffffffffffffffffffffffffffffffffffffffff1690565b9116109061150c61142d6113ff6113ff6127a0565b9260406114386127b6565b611440612788565b906114d461144c6127ce565b926114c6611458612794565b86519586936020850191927fffffff0000000000000000000000000000000000000000000000000000000000602b947fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809460601b16855260e81b16601484015260601b1660178201520190565b03601f19810184528361019e565b825194859283927f128acb080000000000000000000000000000000000000000000000000000000084526084358730600487016127f6565b0381600080985af19081156111b857849361157b61156561afc86115576115a69761158e978a918b916115f4575b5087156115eb5761154a81612839565b97156115e357509561264a565b935a9003019360e435612694565b61157561010435943a0285612694565b9061273d565b9061158882821015612866565b036124c8565b61159f6115996128b1565b60ff1690565b0260081c90565b4781116115dc575b80159081156115bb575050f35b82809291819282906115d3575b4190f1156111b85780f35b506108fc6115c8565b50476115ae565b90509561264a565b61154a82612839565b9050611617915060403d811161161d575b61160f818361019e565b8101906127e0565b3861153a565b503d611605565b346101185760206003193601126101185773ffffffffffffffffffffffffffffffffffffffff60043561165681610ee8565b1660005260016020526020604060002054604051908152f35b346101185760206003193601126101185773ffffffffffffffffffffffffffffffffffffffff6004356116a181610ee8565b1660005260006020526020604060002054604051908152f35b6060600319360112610118576004356116d281610ee8565b60243590604435906116e382610ee8565b73ffffffffffffffffffffffffffffffffffffffff8091817f00000000000000000000000048cc551eaeadedff6ecceb0227d9b709fa9344dc1633036117ac575b16803b15610118576040519384917f2e1a7d4d0000000000000000000000000000000000000000000000000000000083528160048401528260246000978880945af19081156111b8578594859485948594611799575b508391831561178f575b1690f1156111b85780f35b6108fc9250611784565b806112006117a69261014c565b3861177a565b3360005260006020526117c860026040600020541615156122ab565b611724565b610120600319360112610118576117e661106a3461234d565b6117f360e435431061237d565b6117fb612788565b73ffffffffffffffffffffffffffffffffffffffff61181b6113ff612794565b91161061183a61182f6113ff6113ff6127a0565b9160406114386127c2565b0381600080975af180156111b85761186e926118659285918693611887575b50156118805750612839565b60a435106128c2565b806101043580159081156115bb575050f35b9050612839565b9092506118a2915060403d811161161d5761160f818361019e565b9138611859565b60c06003193601126101185760043560443560a4356118ca61106a3461234d565b6118d7608435431061237d565b6119566113ff6113ff61193c866118ec6101c1565b73dac17f958d2ee523a2206206994597c13d831ec78152732260fac5e5542a773aa44fbcfedf7c193bc2c599602082015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260408201526123c8565b5173ffffffffffffffffffffffffffffffffffffffff1690565b6040517f095ea7b300000000000000000000000000000000000000000000000000000000815273d51a44d3fae010294c616388b506acda1bfaae46600482015260248101849052909360208280604481010381600080995af19182156111b8578592611a5f575b5073d51a44d3fae010294c616388b506acda1bfaae46803b15611a5b576040517f5b41b9080000000000000000000000000000000000000000000000000000000081526004810192909252602480359083015260448201949094526064803590820152928390608490829084905af19182156111b8578392611a48575b5080159081156115bb575050f35b80611200611a559261014c565b38611a3a565b8280fd5b611a7f9060203d8111611a86575b611a77818361019e565b810190612408565b50386119bd565b503d611a6d565b60c0600319360112610118576024356004356cffffffffffffffffffffffffff8216820361011857611ac0604435610ee8565b60643591611acd83610ee8565b608435611ad981610ee8565b611ae561106a3461234d565b5a6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152909460208260248173ffffffffffffffffffffffffffffffffffffffff87165afa9182156111b8576000926120b9575b5073ffffffffffffffffffffffffffffffffffffffff8381169082161091600083156120225750604051917f0902f1ac00000000000000000000000000000000000000000000000000000000835260608360048173ffffffffffffffffffffffffffffffffffffffff604435165afa80156111b8576000938491611fed575b506dffffffffffffffffffffffffffff8091169316935b84840265400000000000811015611fc557611c1090611c0a906cffffffffffffffffffffffffff8a1690810202612ca4565b603f1c90565b611c1b81861161247d565b6dffffffffffffffffffffffffffff891690850380821015611fbd5750945b6001611c5962ffffff8b60701c1688880302620186a0898502026124c8565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529101959060208160248173ffffffffffffffffffffffffffffffffffffffff89165afa9081156111b857600091611f9e575b50611cc460018211612501565b86811115611f56575b5050508390600014611ea357611cfc9173ffffffffffffffffffffffffffffffffffffffff6044359116612e07565b611d046101ec565b73ffffffffffffffffffffffffffffffffffffffff60443516803b1561011857611d646000929183926040519485809481937f022c0d9f000000000000000000000000000000000000000000000000000000008352308c60048501612585565b03925af180156111b857611e90575b505b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152936020908590602490829073ffffffffffffffffffffffffffffffffffffffff165afa9485156111b857611e21611dfb85611df6611e3b9761118f611e269761ffff9c61afc89c600091611e71575b506125ed565b612672565b93611e216cffffffffffffffffffffffffff80851694169162ffffff8b60701c16612694565b612694565b611e318183116126a7565b60a43591036124c8565b935a9003013a0291611e4f838510156126f2565b60881c1691030260101c478111611e6a57801580156111a057005b5047611196565b611e8a915060203d6020116111ec576111dd818361019e565b38611df0565b80611200611e9d9261014c565b38611d73565b611ec69173ffffffffffffffffffffffffffffffffffffffff6044359116612e07565b611ece6101ec565b73ffffffffffffffffffffffffffffffffffffffff60443516803b1561011857611f2e6000929183926040519485809481937f022c0d9f000000000000000000000000000000000000000000000000000000008352308c6004850161254c565b03925af180156111b857611f43575b50611d75565b80611200611f509261014c565b38611f3d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91939750611f959296500194859262ffffff8b60701c16918461274a565b94903880611ccd565b611fb7915060203d6020116111ec576111dd818361019e565b38611cb7565b905094611c3a565b611fd1611fe891612ca4565b6cffffffffffffffffffffffffff891602603f1c90565b611c10565b905061201191935060603d811161201b575b612009818361019e565b810190612447565b5092909238611bc1565b503d611fff565b92916040517f0902f1ac00000000000000000000000000000000000000000000000000000000815260608160048173ffffffffffffffffffffffffffffffffffffffff604435165afa9081156111b8578591612094575b506dffffffffffffffffffffffffffff809116941692611bd8565b90506120af91945060603d811161201b57612009818361019e565b5093909338612079565b6120d391925060203d6020116111ec576111dd818361019e565b9038611b42565b6060600319360112610118576100166004356120f581610ee8565b60243561210181610ee8565b73ffffffffffffffffffffffffffffffffffffffff807f00000000000000000000000048cc551eaeadedff6ecceb0227d9b709fa9344dc16330361214a575b6044359216612e07565b33600052600060205261216660026040600020541615156122ab565b612140565b346101185760606003193601126101185760243560443560043567ffffffffffffffff8083116101185736602384011215610118578260040135908111610118573660248285010111610118576000938491828413948580156122a2575b1561229e5761220f936020838060246121e4612203976101d0565b956121f2604051978861019e565b828752018386013783010152612d3c565b81839793959295612b0a565b1561227b575073ffffffffffffffffffffffffffffffffffffffff808216908416105b1561225957506113389173ffffffffffffffffffffffffffffffffffffffff339116612e07565b611338925073ffffffffffffffffffffffffffffffffffffffff339116612e07565b915073ffffffffffffffffffffffffffffffffffffffff80841690821610612232565b8380fd5b508383136121c9565b156122b257565b606460405162461bcd60e51b815260206004820152600960248201527f4e6f742061646d696e00000000000000000000000000000000000000000000006044820152fd5b156122fd57565b606460405162461bcd60e51b815260206004820152600860248201527f4e6f7420617574680000000000000000000000000000000000000000000000006044820152fd5b6040513d6000823e3d90fd5b906014600092838052600c39338251149182156123675750565b3381526020819052604090205460011615159150565b1561238457565b606460405162461bcd60e51b815260206004820152600760248201527f45787069726564000000000000000000000000000000000000000000000000006044820152fd5b9060038110156123d95760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9081602091031261011857516102618161133e565b90816020910312610118575190565b51906dffffffffffffffffffffffffffff8216820361011857565b908160609103126101185761245b8161242c565b91604061246a6020840161242c565b92015163ffffffff811681036101185790565b1561248457565b606460405162461bcd60e51b815260206004820152600460248201527f504c4f57000000000000000000000000000000000000000000000000000000006044820152fd5b81156124d2570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b1561250857565b606460405162461bcd60e51b815260206004820152600260248201527f424c0000000000000000000000000000000000000000000000000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff61026194936080938352600060208401521660408201528160608201520190610210565b73ffffffffffffffffffffffffffffffffffffffff61026194936080936000845260208401521660408201528160608201520190610210565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b919082039182116125fa57565b6125be565b1561260657565b606460405162461bcd60e51b815260206004820152600160248201527f53000000000000000000000000000000000000000000000000000000000000006044820152fd5b908160901b91808304720100000000000000000000000000000000000014901517156125fa57565b907161a80000000000000000000000000000000091808302928304036125fa57565b818102929181159184041417156125fa57565b156126ae57565b606460405162461bcd60e51b815260206004820152600360248201527f42414400000000000000000000000000000000000000000000000000000000006044820152fd5b156126f957565b606460405162461bcd60e51b815260206004820152600160248201527f47000000000000000000000000000000000000000000000000000000000000006044820152fd5b919082018092116125fa57565b61276091929361275991612694565b9283612694565b91620186a0918281029281840414901517156125fa5781018091116125fa57610261916124c8565b60243561026181610ee8565b60443561026181610ee8565b60043561026181610ee8565b3561026181610ee8565b60a43561026181610ee8565b60c43561026181610ee8565b60643562ffffff811681036101185790565b9190826040910312610118576020825192015190565b919360a093610261969573ffffffffffffffffffffffffffffffffffffffff80941685521515602085015260408401521660608201528160808201520190610210565b7f800000000000000000000000000000000000000000000000000000000000000081146125fa5760000390565b1561286d57565b606460405162461bcd60e51b815260206004820152600860248201527f4c6974746c6520410000000000000000000000000000000000000000000000006044820152fd5b6101243560ff811681036101185790565b156128c957565b606460405162461bcd60e51b815260206004820152600a60248201527f546f6f206c6974746c65000000000000000000000000000000000000000000006044820152fd5b1561011857565b1561291b57565b606460405162461bcd60e51b815260206004820152600360248201527f544e5700000000000000000000000000000000000000000000000000000000006044820152fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610118570180359067ffffffffffffffff82116101185760200191813603831361011857565b908092918237016000815290565b3d156129e9573d906129cf826101d0565b916129dd604051938461019e565b82523d6000602084013e565b606090565b90612a2c612a246129fe846127ac565b73ffffffffffffffffffffffffffffffffffffffff166000526001602052604060002090565b541515612914565b60009015612aca5750600081612a50612a4583946127ac565b91604081019061295f565b90612a60604051809381936129b0565b03915af4612a6c6129be565b905b15612a765790565b805115612a8557805190602001fd5b60405162461bcd60e51b815260206004820152600160248201527f52000000000000000000000000000000000000000000000000000000000000006044820152606490fd5b816020612ad783946127ac565b612ae4604084018461295f565b9290612af5604051809581936129b0565b03930135905af1612b046129be565b90612a6e565b9182829060409485946000868051612b2181610165565b828152826020820152015273ffffffffffffffffffffffffffffffffffffffff9182821683821611612c96575b50508062ffffff91865193612b6285610165565b169384845216938460208401521693849101528181101561011857835173ffffffffffffffffffffffffffffffffffffffff9182166020820190815292909116604082015262ffffff9290921660608084019190915282526101ce92612c8f926113ff92839291601f1991612c7391612bdc60808261019e565b51902092519182612c676020820195866055917fff0000000000000000000000000000000000000000000000000000000000000082527f1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000600183015260158201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460358201520190565b0390810183528261019e565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b331461290d565b9350915062ffffff38612b4e565b908170ffffffffffffffffffffffffffffffffff1060071b82811c68ffffffffffffffffff1060061b1782811c64ffffffffff1060051b1760019083811c62ffffff1060041b17811c60b56201000083831b831b860401911b0260121c80840401811c80840401811c80840401811c80840401811c80840401811c80840401811c80840401901c809204828110612d385750565b9150565b90601382511115612daf57602082015160601c91601681511115612d6b57612d68601782015191612df3565b91565b606460405162461bcd60e51b815260206004820152601460248201527f746f55696e7432345f6f75744f66426f756e64730000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601560248201527f746f416464726573735f6f75744f66426f756e647300000000000000000000006044820152fd5b602a81511115612daf576037015160601c90565b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d1160016000511416171615612e5a57565b606460405162461bcd60e51b815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fdfea2646970667358221220a987368c4091695666517a000c227e72d9ed7a35a09e260cdd5bd468dcd29b017bd64704cfce1a624201f62f0b87f4ddae13a50237181ae2d655decb0b548872eb746437dc29c603a8b6d17c22a4911a74cf0e3cdd1ba7a2c458bb047103830bc29b593ed2f48e5a29f93afc66e3990588eed1e58744ee5354c8ad0f89707b238c8aa9062d70df2c5ada007863fae86713ec430593e40207e533419577858543b30dd6bb4dfa9d809d853808f990eb738c7b7d80b6e57677acb4620a77cfcf09a626642b21da614f4dfebcb4bcf63d13287d660a9309bdb9bab59ff76872f6f9b7b24dd67c51ad0b2b8ef0206d2e42a53d8612bb29a8af9b8437f80c1bb210d87b41eec5e1a5e3ea741fc0d248284c0d93c617b84910be77e1ceb4d126a1e6d6018fc50ef80bf5c1f530c1c08effd495d0bccbcd8946430f92777b22213c9a3b3143ba33b0d8a7b736c0ae103eb4c4670e603fe296b1f5e19716be0072f40b11c798c549b66a70f90628d920d226bafd92be73127620319bcace9a4b2d9c2b4b67d5b2d85654d6137d923e679ed4fe7a0ecc01c34f5bfb2722d56214259515c9d957dd6ce338f346afa80e05f4ca29152a04d9fde2396c01c5f065a00bd5f6edf5c88d1692ed8a4c20910e96b6cf3e37146789a6bddbc81705c22f61fc381e3dedf870510028b7f1831fe518adb1185658427f37764b95f6e2fa0aa93c511219b446b75c218a14f8f6c8011dc314aa60cf09fa1a5690cb801168f7c8cc24eac0f98c5b9c46d6d61bcc0bf595d589c87a74b9a53db37719ba64eff11cc6e4d1fed32d931cc1eb00edb42fab7279b8a81d9262af4e61af885ef60ab76e35454b02b82a501ea6588340b8945c7927f0a70a02d86c699cba411fa35af839876d9564b84fcfd09ce3814dbd92b820ad548a60d862d634374eb949dc1b8b849b314321c29860a5b21396866e87c3ecdb71c30addb7a622ea8f46304e9d2aafc66cb609b541ebb8a4d23123db29f05c2ef0c62fade94fced4263682f18a2e243432097f61967fee4d3a13eb4c87f0641cb056258345edc258f9483fd161bfc620fadbbe977c80262db8ab6680a306f0325e9454afff9fc0155ece278ea1b35dcc5e5e6e34ce8cbe562f49365cf861284ec040af6e476116603eb42f996ee3abb0d11029a072593878a65be8b02a8e3c0f409eb5e7b9802ae4708ab3fdd9519053eca479ef45bbf2242fcb2bd37f61793f65b55c2e240fdc38ad7607996ef02c8c3d0e4219254e06609a1e523504d5fa9041042d208bdb878b105a15a0b45e0026af4a86e314ee2e7e42ef26ddd088561a5b5cf805135dad9b544f2faa78b41426de1313d1aa5984270cb5aab2045a30555d50317c43ded2631e23c3b58b507c6a82d9314099a711bd90c6e69e5ad8c778cde2ada0a21f3277741b8eb4c144950e66fab8b1a7d0791509ea33fa50ce453fde85b322152af6360697c8d1184a34c64d0c82258c0c392ac981e2cf922d18798abc3582d974933377d7b3aaf97b6330ae6ae017ffe03639b8f57105188476d21eab6b2d6077e926605837cf314a63f56c51c3562eb5b98dd1dc4e03ef1538f13ca2416bcebce40f97a28000c84a49910aab392fadda90deb77f80d61b18c9ee8c07c827f45f3a3d20ae87aeb8fcb49c2b88edfa636ef7a905543bb0c8fe2173623ac818e79c03ab9d05f80e9aa23c48f4ca8e18188818291ef0a4009140a491602d3d49de1c60708bf91c37af581648d081eada74c53ef98ab8ac1c6de73f14a1514a1834c615e3e1253fbda737c9c1702acb93ee2be9be6356d7b441854014a80600d2449a9bd8778f639a50e4f526e369414a681f4362931cb75c0aebce4d904a804938e04219be2523093fd49aaae1ec428850a6c8f8072b43cc5b5b16ccfa84e49965964850180f7cecdde744ca6dd6e75edc737136e1bfd17d51fdd5b21ae245d4e2977860b61ba8bbf23b02fb7b57e43a5fd14605027e09cf12623d7b8a2e2abcfa97323098964740b39c22140236b3a60b4809a099f66b78af7248346cac1c337fb90a2aaeb8850630cf89e0ba2c49b44df7ce719238e8cdd20f02cc562e42bb861f4a1480fd67174397e6b5f5ff034954547722d7984b6a1c0a872380d84522ad38a0cfb7988acb84a44c9ca43e41180a8c11d909881ca308e2530b8b8c4d25d4905c4b9d6ab2b9dd835b4c0f998f4358114e537ab05ef26fccbc5a3af8490605ec4c296b214f39f2df824351931092c864111c9f11a88fec1c50c121733b77e5e318d0d74921321c466bba4e6f5100dcbd0bf34d789e563d15a75200be93d6a80f5243547da6c84f02de61d6cd5da6aa7f14cd66e25391bef58236324708afd82005da29f1db650f875458b29d4fc00982173459cf1103b7192ba4326a55f31c73c82e56603ed9d99a7a1c919eb45b50de5625fef2d9ebba25e6eba6e46c1e91e4fec753c9573289c52ee5e2de752166b7620861abe8e64a4d584443ceaf64ee9fbc18c7b82924c563889071385988b75a4ea23f4f71715ee63ef49ffa48b907bf5aabcdefcd519ae9951135611d1f12964121b2205b57cca86d173684673785b50b7c486746e9df785ca4ce95b9f399d1cdacb3f3e126da39bb2cca365dd90ac6cf7d221f0eff4bceacb2a6ce3c27d55d5eb4b86b8eedc83d855f9a7d5412c793f003e1f35f968ad50fb49f3f14663b5f2240bcdb6543a55a6087401c35ef060bd31c9adec8102aa51260613261feae673bb4a221b67c6153be8be2729cdc47d062fd1b7ed8b1dd049547b57e60bc324451350f4563329277e783da58aab9ab22c8f10d53a77ca98f64cc05f2e5edf9dd3a0bba074939e2f768730fd56580df686e694941be18a766840ded3f6414e67b66b4d914c8e2407423a1ac99b034c3bd8bb42a4f674de4204a03b39318fdae1fb97f366f92319e0968901d348ba2ec08c6734319a7ee3f2c8bb438b769e40c5d4e0f8cc732504b0f6f65804d4d45bfb96a774961729eeea88d1990904196c63178dfc1606b9c26213144e811a39e5a185bf1bd59d028839b6cd37b04353adffd5e560f685a55d0e745aca1e66d521f1a7cb744aba7d60b36cc109e7610a878d66e76094a7a0bc8e4d50db9c14e3086c43e41fa0f6f8a60a2c4c92fdd25b92c5974937e7111fcf252705fa78e58da545154a1b08704d08d6bd890d8b2713f7b61e5a54c5b73528b608a087fc1b4b9bee572316ab33ea77c31953a8be2035e83997bcdbcce73f3d49883dafced84f5378ff86a0c13d2a586fb749b839849c73bbf92f34877a1ad1c2596014a15752d93e960a7564c484e0ad54e5d14cab6bc287776864793336dcddcbcbd0d4e6bc5b5ea3ebbb2f477c8f47638750e391c57d5d3f521f5894c31324b78879f7842fbb5e592764931d8bc93d8281b73727979466ebd1e74ec24326808ada9dc1ebafdd5da7aea3d3e72b6c7cb16555d9e0b29cb19dfae709e7b2b07732b00fffb2606f62031834c0202886b427c3815a9a556097a13f7a4c2cf80e6b1f34baa1c7ddbcd2e66dea13e8a0eb6965842e2f2edfd5c337eb9d908e06847c1d7830ea0d2e2cddd6f79642f7fb0b2b10b9363fec851aa727426bed61c9a594e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003e779d8857eab0aaa2377bba6c06f5f1994903539b9adc088e8336cb83a45036d005820023a032f64527dc74fcf9225b435cdf09ec028875ddac7bd0fb186bf5a82526041010358d4354f2705400ed4a9979dcffdcdf0630b744c66c9b3e4d8cb82f95b192b3200582002b5401e0a0fb4d9b2d96b3fb48cec98f9652cbcf180997754f720f1a2f3a181410103b9168fd4bb7ec060fdb7484ed63c387a0ce2f4c8485c682e10422f766e65a0090219500303b043b0578d3a85439cdb9b8ca15793d9e86a913da6cca657e7c9bf0ecefe8c3103c3ca72db3185a44e03c47d2cf9cc0abdda81fb5c78b6a05dfd26896871dd5ca903c0f685279ce0416fee0b06656fe3bb5a07c83bc57c9eb9c97348bb3ea91cf180032c29ac32b132f3c2ae0b39c97a9e7f4bc07dabd5e828f050eb5bfc10605725a003a726f8a6b8c7d190ec23f45e4c854852a069cb2b787e00971ee03d07b45b46bd03264f1d2f6b823708d0740881dad02dfac2767876c4b91b5d5c4903e58a01e51403f7fe8a19b112c6f25a938c7a819ba7032a1130ba51a196e169ff8907ca55cff2035a66df751c6c23b731d663c2c97724a26ee540b282190a8f9a9907a6d6fa5059036508079864fc96aa9baa656ab2f605adbc3ff7dff1fc467957a95e33dc3129e0039d3438b9a3edcf0e6651b2288b2cfa28c567f051790c5f65f712241d10d0bfd803b75c1f80af0830aa7fcf4e03cf110aaeadb53a284cddb0aec5893458acdd49e103b031cf66be3a1dded76ccb9db69a9b56ec22519042479a5811792beb18e4f565036b4550a4a7cac4744734903c86ffd70bc3858626bb502c0cd4bd277bb38ef24e035ff61171d16936242fcca1d281eddeb3c67d9cecbd5bc41d9cac8ec57367dd780219ffff05581d02654548ad87004d0cdfeb3290a18320995a86d7e585d1d145ac5ab7c20f014903243befe6d797b7d91938f405581d02f3b838027c631723c10e58fe2fc435f8b6ec17b8acda74526406b29e0c18254727205f22f6cdea0219400805581e0312c5514662dc721ea92e4d7fd946a665297c0b13a68f02386192f7d4400c014718e54e8e61320005581e03bace677bc3a6908bfb34b9a8513cb51c4944f01d54203e28fe0e130ee00c03467da84a123548033e2c4de2c986cf07d43620f97604854867f5ef4d23662eb50172751ae808cfa6033186916e9213347033104e6fc3779d07d86002117e86c253f3757abfe7a3e8b40219bea603ff352caa2d783374cb9de464641b9bd4c6b04d805ee42f061ab740d1a9068b8c03ca7d3d6f91cc3dda6ad1abc446c3d410532b962415fea7164c65d0be99b61eaa0219ffff03a35d235969b54bb62bbef24701a6eb2683a8fa5e26e520a5fd573fc65dee330c03225ceed6c7ecf1ab7a1ee1c85dcb596e80a9e0142a99d2bda9f1c20d39cf91b3033cb7db94ddf2872aadeda1b729e00c739b723589279e9fdd7a659b640b944f4a0312de090fef9cd28910253ba65099c8640c0f109e72e1d337f816f2570625856b03b6eac253ed878e10d10b5526fcca461cbbd6fb56b214cd40555aa36214f77db10332feb71e23cce183cb578a81b57b48160b3df88bf34000e44e7d9d064b50a6d3038ddb47d5978b6f35634b506a51e17e06e913b02da5730b81f1cc258ab85c371f03c2705867c915678b6216e4abb9ea70433247e797f905c953462cc6c92f393c9f03b079b715cfebbadf1695818ed6f3b002cd7afd3fa891fe2569e523a3b3da2261035fdf540d57fca7c16a5e87c8715d7c461c4d4815685d08579f0e9e32137d6bad03f0bd32c2356924e073303f1039b7cbf8535531a0b8c698dff2857835e9768f4e0219ffff0219ffff0318db13faab2541451e199a8bbcdba9966a044cb1926622b19eb1ffe804cf4aed032f842b6a5c3f821e21cfebe5220d13cab5ad1c99a28102e02b30fc04fd4d526403117df4df7c4f5c284a73c2ec41a957d00f8a7b0e52c6bebc6e9c77b704beb83103786e7d9e40273ddc44df05b0a42a0412e5551c7127fe148676e03d87950fb49d03762665c635c25daae028c05b81cd10272a3002ce66ed2bf790e966395b0d4df903ab6e5fa023c6899ed37c3c8f1cfd8b755f96c97615c17d61edbf456362e266500362354808cdbcf0bdf1e4fb3d41a1945241c8a0674f19e4560a1b32db862b54b603a0abcb09a82d6d6449c72ace2ba07a14bbce91b65befd248bf653d434313b6e0032da5110f926ef8f496e9a62400ba8b435efb178a994255754a853143c12c7db0037ce764c0deb1482811bfc87fb1c1f97993ad2d7d93d24e5bf1aae7b79b2fd0ad03f095fddb8259f15f614d69c6d52c51b7c265cb509552ba210b78f25cc124072a03035fea5f660c51c384bef9ab5aba581505f7cefd057e488f3936f5d9356ad8bd03e444be8389a3a5068ba3e20b44e8f5c94496ad0f7465063c41d026fe02f78755038a772478f276a8e6748857d78ca7e147c56b95c789dd3941bc4f6e4668af778603e28563f4d153921e3ae8f342b8011f3a10a23f9f991de3e1d0ea3b29a1d385400343078c1bade222f73d9b4e8a76de92fd9a29862e9a62a7eea00641a3c6a8a415039973339ffa52e6764c76590c6bb1fe4e7415acd25bea4835f6ead0633b99af41033b1871d1e8896df6b731650ac8484b157f8189e55a9b23597cf1e45b649a507e03b062e68b0b28a5f6ead92c490c56a0f02d8ad25782153622329749d0f3e71f1003b9f4b8bd424dc9b9e725004f0bb507bcc6151c55d3e27b85c16af193542ac0450317e46a6cfee8b472a3d43bcd164d94315b0cab09cc2422efd5cf7864317c2f92030459067ded3ae9d0bd4a39a824673af306bd989da8bb73f3944b83d64006a0c903de79bd46176b4c276b596df2cba2d6d480d82d3886d75b73a2ae9e68bfd2c46f039b079a91c41ff4062fcab6fcda9c1066871f307eb36fd86b8b1faabeb4d10ffe03cd9e14a36c0ffa9a4991ac4baa8f9f42ce25d7ff3025a0aa52d05493fc82887103494f1c306c439842a182d3f9918c30b58a2e0541f3acb0f02002c1adf7f82681032732d23bf1ad51527c354ff221696f6aa955bf06037b91597d25806ec1b3394403dc80d04e9cb2a5ca515a7a144c15040686c2bc1eb667b46e39b592e470df351a037b2d25ef595dca6b4c671f20c1206fb72216dfc0e10fd728156b7da91554c08b0396293ffaf397a9609ea64dd683766c776cd6c3b6e0658ebb888fab2a2d17b33e0323aff6c58cfd62f162b288f7a00663f420189bc68d9fd5e61fee7ec0dc5693dd0320c81c4a58d0735076fa7972bef7de0374afc5301bc42a999db7da28cc21f69603b36a8690193627054a8fecc894ded41f563aa5a52ab634ac77482e3d011328e203bc4e28424687d0e78aa15d97f62681bde9028cc2a4ab950af2b5be952c68bf4f0370e51d71781e04b9344694a951d16e146d0d36cefa1bf8acbb96780febe434850305e0f1c5fc93e6ec5c4fb7a43575be336bbeaf22a782aea78f22d107bc2ef86603ac31adf9782c52d6fefdc2b2666531f37f7edda7b76baae87d93a49970961e8d05581e03efe0ab67041b5449852995efa97f14f46332d27800e7f052a762a19f400c014717d05b3861b971035a8a3b93f20200f59143e35c5c7b4510258bc0cfe1fe664dc6ed6aca87c752cc033034d3166f5d5a9fbef31cf169ed1e2b6c338b3044f4d2a78dc65f9134f231c203ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e037ce6ac800d9eaf7a1d3e41b0cfe4b0657523fd8df0578d0e12cf7525e007011bffffffffffffffff05581e03eb0c18571378a3aa0435271b27e3a72a39a357691b182bbecb360f4eb00c014707d3f81496f450038de9475f9638a86c440a420bef84fd1eaf2acc5b388732f7b3b1f34899f073070368a7640062273f9f3e7938c54f507f82d91c0b5e2ccb9da70826e1d968594083034756ed1cf2ca2d3af8c4a1b1950c2fb2d5792c734f9ab7a01e8b8f5948e7248205581e03a7b1c8c1c41936d0baa2a93d6b2f193eb42bdf4c23d7ce065b62981fd0040403562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0386f5a9d5e9376f5140b4d15eb032071d8879dabf421178df06fb17274007011bffffffffffffffff05581e03016fffd494f1d652694cf0a24468004e532015f5d71cd1256244db44400c18484801760f297fce66160219ff5c0355c2c94d89b0e9e0f31c552f1b0e54e899b3356d9537137952dc469694092c49038b86eb88d10fbf6a7c4502636a497587281bd8ab474b8c8bbcb8527cbcc5e17003a190860d44c82f892c98691d948d72005b7d8ae0074586b9c30ce5ba71d37c5f039673de07b8ebda640dc48670a1e05f701dd7a0f4effe5334ba4a4f140b9f16350301e3ea6ee83cbf836fa81fe8d8195de75ef28ac2ce82a11e9cc2bff59c8aef0603129ad6516bd516b50cdfbf734aaceac5215a7ea76fec0a015c8b1132a9fa46d9033262871cfd0d91a1f67e40ebbcdfa53975ef366171bd88d21fe560c25bd9f566039f2d03f6b0318c82542dd6b2e355a0eddcaefe2998ef5c9b33d6a636aee0b5e10219ffff03acf563c99ecef9f1a3f3ef7dc419d4046d54c6e6383f6ef8c21b509208a1c0330219ffff037d737e66cf062b348dedb4e9bfcd1e0ffabf14a3e914c78bb7980d2c8ebb13000323b84434228e504a24c1212afbc5f9eb5980d3fd031acad47eb89d086069caaf03a1bae42a34b8163d533847b2877b69dcc2dbc2d4a2e8b65c3c956cc7c4c6c66403763067a6653a831e7a3a69c68951d8878f026db79b588cf489eaa19362693fdf0358defa6010fea28227dcd75db319cdc51fd651ed4722767e4a8b26c757a81ec0037b8d9535cf69e3ee33a173e82f2605dd1e5aff94d3be62b6749f050b76de33f30219ffff03c6b19bfbd835d4b675bbb288a3b47ad6e522c372fde47b9d8252da16d9b1203b03201b962d392ba94d4c78dd8a966c38dd335a6d221994404dfdf9d79b6fa5b9da0339ae635eadfdaf35399f9c3f0a4d6bfa322af8c7ec03c094e046dfca3b7d7c4c033b71a29d8e9fb9f4df13e768aee2fde5f7c8050e1b06e55d273ca2c71c89aeb6039c962282a591720d58b380619e37f36aacfa0091361913043e6eb0745ab1ab110311e325364f0c247797aa56ae1ea95196b23ffcdfa2e3f9c7ea39ec675b5693d4035fa9d67636b5b2fb0760e94c176b35fbefea5369b5d09e841c2d6a9b6bac95840306d54a2f3b32171ea37ff0b2a4a464ee8428a27c3b1b39c97e102b771bce6c5003c99936dd8ac47032631113761031fdfbd4e787cc9d630aa8e52ef4df6402b15803b2e64595981cd539a60913736535814f0bdc5b57311549741fcfcca965d6756303e7c077a8c3490f09cb1874d50a9e6165ce983f27666a15b0e399608318ce8c2503f4f189d29058a9006d22526677871362c0e59e620588d0474868a91f54c0966103af523bba1b05aeb4940867715d629cc9c0ef37b724a87ecb55a0cbc46421185c03b32e4df7d1603009bbb6736d3aab78e891248ad2704dd7b936cc1060ea728efb0324deea34fe2dd62a661cc302baf5440a5d439173c2aadcb1f1a1f76341f7887f0332ddaccebd1fed9d14abadfba1a319a59e3979ec8451739347147cd9dfe0786a03f4e1cf9dfcfe6cd85e42c9cbdffb8b940f32044e5f95d3ef63e448462ebdc1c603f8b0abbd8250cca935983ef53ced54c985f70596c266f40f485a2d805cc515af03b5804996b5ffe317b64c414cff141f15cd534b519d9f911101273b85f9d4059a03152c4c64f7be92179468e48ff5104eb9918dc5290f140c90b5afa743823457a2037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e037a27df883c8bfdc31d669fe3b87af53c19a750eb6a2664d28431f6b6a007011bffffffffffffffff03f98ae5c836a482283b16bb1985b3560710205113d9ae32a6ed907a739b7192b905581e0314a8db599ff042a2ced5ba6bef58edbcfdd19dc5fd2e7de04e94fadc60040203e2c4e1761ae2f257385abfde3934e5beb5a3413d7c6a7ae9b3125f948d80bf6d03cb52271135b617cb7bd85495c8679e63f7db7aa1fe84a48c80060eb49f4d633205581e03ee3606fe549d2fe7d186d6f0d2cd8bfb65d7cac85f251f036562767cd007011bffffffffffffffff03c491d48d0862055782be994230cbc6af2f105d9d46839e126e630599ceebeb6405581e03a6919ced2dad47fafa0e082244a94e806e13480a8722e0ada8ed98a3800c0d48010429285d6bfade05581e03dd9056eb1d9d1978fd161de233780b00b33354194c92e3e5d02cd303d0040303a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e034d71d7af3f8eb2cb4199d196c8ec11a8dc998e479d67c186df22dd230007011bffffffffffffffff05581e032a1d35a285c994b62af3bde1c1770720adffe18d911e1a9bd5fe3650d0040105581e03021b966d6857b64040bbee287cb9497e3111fda0f1e9f31f3695e2f1b0084609184e72a00003168c6cf23c05bf3bdaf4eb0fbc4368ab6792cea994b93f134a59ab4e4b0c64b502194ff303e62cab98008120295e1bbdb3b0983f55ef171e4f8046dc26d1ce1d53b72d848d0337ffa36bb519ad9ac6361a532c245fa7c33dbed1b0ac4d48bbdb3c4e55b26a65030732964ff9596dfa9372f8774780725744b6ed7a7c4614475ccbc8fe926736a403c08164f49a3d8e31f2ed0ec571322a07537b91ce6d6c107b4b60399a1f36bab70308a301b983b7893ba119fc72af74b0596e5c60dd850255572574d77bf1a2e2ac0219ffff0390ddb6a3e8bdd9845a264140ae116fe5a1c0f3a3366871bb7b566d6e0356781903402befec1bca3691e9ce092adc049a66cb07a6cd845aea3fa175645b1fab01be031c2912b65979079d914255ded4cbe3ba984cbdacf09d6a12700e2b7a50683bbc03982bf22b8b1d16a02238f857e2e74de2c6c9d90eacd179f2aeeaf7adca7111a803824ab2e2dfe3a6bddc563f3fabfd4845672bcca68e5dc6dfaeda53ab1baa5ee503c1e68bbc4b49c7157a66d6d291d6a3bd74b80bc813756a3e31daf14c7696f0ab03d3ffb368387d92bbf10f9064aec18c5d0390de9c8c05e02264a170436730a553030d0a0d96d797856e300ab839eb3defe9ccffd0b12046a84fb0f9eb105d84a5ed03e3310eaecdac783b6f1ebd9d61e460902f24f2fb90854423d2bdeff06325ca6d0219ffff03b2bcff64a9832bb3ef29800b73cd9202769e7b8fda31347aa76410db7e1e88f30364cacfdcc138b896f5183b708c66c89f3b0b618b755efb23593d67c38f832d1b03effc1f08422b306620b4913717793dd6ff5c8eac02de20c088deeadb5d2367c0038edec8c5be0cb97fb5e45f7539173c73a3724cb64fa4a5ab80ea22b55e7cf3ec03fee7bb4923f6e985a3c78374ace6a442b4766dc4fb083b327b53e1b7b06284b403740ad8169233acfc8e6c9a51da9bbe46300382cea300fa2e843ee88dd1fa6b13038c982d7047d7f78d8a819cf2402ac90f9d224cd7ef1278daa0adb7a7aed3f7270385027b78c69e0032d5d083d45be56f98b80ce8c39a2ea06c916bc2b38a7f865a03d00f9ec8b13633f163bfb964a70cdf86de541e4085b10bab9cc9e02104d9557803921470d097b39602d27f180ff8d04684d602e9a2bbbb67bb4e099dcca5168fff03b6e01b81a079acda6e2d1e0ebaceaba781d4524a05c2583413ae6642ea386e57039b7ccd44eb7aacf90387ef64c86bc740110709e28191494bd828c90bfcffc17d0321e9b901db8167c5520fa294843e55bd3d7baf645c7e597021d965cdb25b13040365db65e251519f0c4d35a5c32f9f59964d7492be8b4444d0583487521ce211320353abb86cf12225cb1ffeb49d30db015dd4c3d52a2cb50a1cca16e991560872d00219ffff036564263801e017d0198193b1563a78dc3136cd01cbafa1c588f7989fbf9b92db0383e04500cddf693a45269a8ac45e4b8a781c8d5f5ff418ebb4f919a631052da40219ffff034acda3f632c4dfba38c9a1ea135055ca02810d6fb2a329ca6ca11e6eabaa6543039886b0e8de54671bf31dfb82ef14c9d2da09e7b000fb3e38d6197aaa9e105fa203572751fe1a7d34e8733365ad3ec53f0b3403d3e245e11719ec7505a9b1105114037ad2e1566e415f2a86c268d76454cf986ec63412241a2bbf3e3e43d239455e860396c1945655a78da28e8028a4a85e95ef6b64a8afc5c9319d864a438cf3eb38c703324b4b712daf55644c583c1e2407edfe6c37ee34121a12f33f1c029d16afc31c030060b00b6a9823cc3f100c32b1a44c26b2412e26767c0e270c354186c09b196303f9e7efebc11158157af00d196fb13b467e798c9e9b3a22fda1b8eeb47d43e9d7034fd2e29af0ac6064ab08358750d09ce7782bcad90f040692424b4c8ac4b4486a032f12ded19f38d6329465881284a6b0f099f390a585a3cf64ab57851198fd8e130377b9d30bcc123dce2249cfe365d213aa7f14356fb6f56e3fc86265d3e644b83003986e03956f3cd29ad105e0e78ed36c24f6926eac0b91a0d206d9b857804c33a7039be3e8006a4b1e88b6e43c6596a36ffda50fe7aa2ee5a44eaf0afbdcd2b44a2203914f766b9dd709da30430a4b8663d5b046b7ab6ac23ea283bc20f676d250aa8603d6d47f19bb1d911cfc109c50bad35f3247684e10897e49e041cd5cd77d915c34036bee1bd8451a8da7e49ae9be5d45b95228e8d97442a5aeaedd5c2cf61ca047f003267f92ef4a97acc3d66726792098b9db98470d14d2317aa5dad4de09f5cb6e8203bc7961124d57e916c561993e5df0c8624eda6585894e320e708f4bc8e8e79e6c035c426837268e36a13ec5c4f1526ea3920759486b1c6bc232e316c9a9890a170403453abc8193e6b8562095edb4bda0e3ee36244d1ed9feb0ccbe94408c49424a9a03a046606e0c8eb5ece9674fab4624f9388223968c2491871ceefe4d03e3b0acd00343d97885b5d9909353e16a55b73552d226328a352b41c6413b7c7d58e39df7f60350c73989b0a1d2cf69ca23252b8e7d65fbb518b02ea845032ac227018869080603cc91a6bfdee444fef4d7c9259872e5a02bf662d7412f060d1d854484895c83f9030121a8352ecdb320ee431e947d39dbbbd31595a5f1a644b648c2831db259a2dc0383f4c62087d260e41a87149c18c01599f3885ce8dfd2258ce86f164276dc491b033899e85fd33c7efea979f387e5e6f0b76c50fd87b47baa0fcd3a43eae570342b03d3f769346e40dbc2067fdb0cea4f8b282c8f8607465feaaaa95ca9fc24da12c003bd1a20a10987e12e66e200d3666571f358bf15ffa8b4ddc32ba0862f2924296003909931a67e1758391d94faf51628f2d0f07fc2ad51e1d3ccc7c30ee1000aab250382ca7a1535e34ba4ba1ee221a781c1b235c140ae10a14b0d9262ec3ca032877f036a58be9f6ab12d0973a5184866dc65e63669791c3e4146d848b6ea40af7425fa030f58da03ecf46345036536e1ee68bfa2c6464f8f60c50956ab221fab458433f3032b25d027463cbc2fdff1db1facfd0714b17dc5b752e6848527e460154447ac8403275e9034d0a4c325998923590a8b15a5502b7b648d23726429363e92c87ed95803db9c5736bdef6c00aa73a0f3d22b07f4b7c7a1b7bc5fef9104a17b0af3b828ce03b0e135e6a2245834cc760a3c231111d1dd52e32c1fc7806232f2aa74c68846390341b4aa474451dfe7a03f3d2560285b94caf35e38e0ad528a96443db45988d83e036a6e40b264ec5db8abd92654883e7719cacb296c5cc01148b27ce157cf7d7243032f70dd6053631b242ce77bd7cc45b9df9866f94783d00c650f893d323f55f4c305581e034d0e93e1f2580091da0e897e587f72830da9707931e288ff8b9ef84690040105581e036847f5b55de7716f20afc0df6422e9f284046b603f2bf84627186c1db00c0547070475c20ea141032aed7da03f60ff8521ca9a41850900509db3aed0c8a8b13286f9e7c17855102805581d029a2a911a0d4132ed90cdcd7514350999d73751b42d346755e64b7f6b0c034671a66c4e7fdb05581d028efc3b851b0f631428d419692955a390297ebd6d4f4e3f6840df60d004010219010805581e03c9378a2033e5cd241921fa829c926ef92f14ad9b8cd82bb2337d487dc00c0b470d060fe300e00003747d728ebddb14dcdd846cde459b652e8163d8ea6e51b917ec0a38677ce0e09805581e035d6eb5391b9d89b6d18a6ecdb5d5a3c4fcaf85951277057a3cb144ef700c02470138af2cdfb00005581e03db24dc822e02b9ba089a8b632119820166fde5eef585a6bcec54cd07200c0147455941e2afc68005581e037e243330b8782e57554691017e417800e38faf41cee4f6ff9ec1b3a43004020314e4d5a6531e2066c5e3875a9f29c3552c877d19bdb4e7bd0ff7476486b05a2403381f0348f39aa5f970fca2bfc614aa86904b676cf93f987001d5c1ab6b44667103b184ddf07b2831e5b7fe27aa9ee8a2606376627a4a8632a3b28bf7867d0b63e205581e0347ef3e0e008cd1bb361a7722e3387e14c3467a1fb1b735d9794770bb9007011bffffffffffffffff02195fe503a35929855125ab0754e2339a1ce0c0ec4a8039fdce2347ab6523b5548630d106035cd6e3a795ca6f45f725a764cc5682d24061e9858a05daebd5d2d467503e5b11039f5841d3ef1675e5d8483bd0149e6beffcc612df522159920940b870e53a33f803cdc21ec63b21547f33821a06bbf783f118a68a04e5b850a248dcc0ed95f437f80219ffff0219ffff030c0cd888097e0a8c7a90e3c6ec806f0445dff24899a3156e7d6f1d078ed90f25038556e80ddc27f084087f40a1320ddce7a7b31d3166565cd6007f2908421043940338173179f7f698d6c450646c34f256de483c7c5ef6a2221a8ac8c8f972dd3f560219ffff038b7272417ef771d39fcb7a0495bb30763b373b82529495df57d2085c8f979efd031fad4c4d29b8d242196df0f67374f7664caf747b30702f1acc3738e827ff62d0038fb9daf8fea3b99152cac50c99607f80da264134f8d397264d13bb8306424d3c03e1cd16b4c6040be826deeb715ed461f1a41aee9ef6f32d8fcb0da1156cc5b0f603efc237ad66186e735699cbeceff280943489f0e71f8f2c85f1ceed6c53c3425a03424ec0b7d4f511b9232ca661ca19f35adc2c5177aa70bb8ff9a65611710118a7030aa91bec6c647327b39bc787c244900e29597d37adfc716d5f143ca69ed8268403d50b139e84809d61badaeeb962d5b7d321c69c3a00621790638f17ac5a88ec6f035d0ab053c8ee61cdae937eb5a368c59a984e2730c61930ea993c95905b5aec2603437b1a43ca0540cc3672b7ff341dd9dc123ae8534503a4d51b6653faf0cdf61e05581e0338efadf911d988793a8be3ef85ebc4233c0d6537f89314d45b98d56bc00c1880470566e4db37d800045924896080604052600436106100a05760003560e01c80638da5cb5b116100645780638da5cb5b1461016157806390491b201461017f57806396d292d0146101ac578063bf03b1ea146101dd578063c2288147146101fd578063f2fde38b1461021057600080fd5b806324a98f11146100ac57806334474c8c146100d2578063715018a61461010a5780637673eb1514610121578063804b3dff1461014157600080fd5b366100a757005b600080fd5b6100bf6100ba366004611c6a565b610230565b6040519081526020015b60405180910390f35b3480156100de57600080fd5b506002546100f2906001600160a01b031681565b6040516001600160a01b0390911681526020016100c9565b34801561011657600080fd5b5061011f610249565b005b34801561012d57600080fd5b506001546100f2906001600160a01b031681565b34801561014d57600080fd5b5061011f61015c366004611ce9565b610288565b34801561016d57600080fd5b506000546001600160a01b03166100f2565b34801561018b57600080fd5b5061019f61019a366004611d06565b610307565b6040516100c99190611e25565b3480156101b857600080fd5b506101c4601560f91b81565b6040516001600160f81b031990911681526020016100c9565b3480156101e957600080fd5b5061011f6101f8366004611ce9565b610513565b61011f61020b366004611f4a565b61058b565b34801561021c57600080fd5b5061011f61022b366004611ce9565b610700565b600061023f868686868661079b565b9695505050505050565b6000546001600160a01b0316331461027c5760405162461bcd60e51b815260040161027390611fe5565b60405180910390fd5b6102866000610824565b565b6000546001600160a01b031633146102b25760405162461bcd60e51b815260040161027390611fe5565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f6629f03aaaa02addcc840bd2d3deb4213bcc44a19f3e6601beb3bfcea9528d51906020015b60405180910390a150565b81516060908067ffffffffffffffff81111561032557610325611b7c565b60405190808252806020026020018201604052801561039a57816020015b6103876040518060a0016040528060006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001606081525090565b8152602001906001900390816103435790505b50915060005b8181101561050a57600254604080518082019091526001600160a01b039091169063e6b0000990806000198152602001896001600160a01b03168152508784815181106103ef576103ef61201a565b6020908102919091018101516040516001600160e01b031960e086901b1681528351600482015292909101516001600160a01b03908116602484015216604482015260648101879052608401600060405180830381865afa158015610458573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104809190810190612030565b8382815181106104925761049261201a565b60200260200101819052506104c98382815181106104b2576104b261201a565b6020026020010151516001600160a01b0316151590565b156104fa57308382815181106104e1576104e161201a565b60209081029190910101516001600160a01b0390911690525b6105038161212a565b90506103a0565b50509392505050565b6000546001600160a01b0316331461053d5760405162461bcd60e51b815260040161027390611fe5565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f214d83ceb705cb04d7ef7d2fc0dc6e40a0379fff652234e5d1b302ecac39bc53906020016102fc565b81516001600160a01b0316156105b1576105a730858585610874565b90945092506105bf565b6105bc3085856109bf565b92505b60006040518061012001604052808763ffffffff168152602001336001600160a01b03168152602001886001600160a01b03168152602001866001600160a01b0316815260200183602001516001600160a01b03168152602001858152602001836040015181526020016106368460800151610b41565b151581526060840151602090910152600154909150610662906001600160a01b03878116911686610b7e565b60006001600160a01b03861673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1461068f576000610691565b845b60015460405163116145a560e21b81529192506001600160a01b03169063458516949083906106c4908690600401612143565b6000604051808303818588803b1580156106dd57600080fd5b505af11580156106f1573d6000803e3d6000fd5b50505050505050505050505050565b6000546001600160a01b0316331461072a5760405162461bcd60e51b815260040161027390611fe5565b6001600160a01b03811661078f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610273565b61079881610824565b50565b6000806107a9868585610c62565b90506107b786868684610d1b565b955060006107c6878684610d88565b90506107d487878385610dc3565b925073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03861601610805576108058184610f51565b6108196001600160a01b0386168985610faf565b505095945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600080826060015142111561089c5760405163559895a360e01b815260040160405180910390fd5b82516108a99086866109bf565b602084015184519195509250306001600160a01b038216036108dd576108d687878786886080015161079b565b9150610990565b6108f06001600160a01b0384168861109b565b9150806001600160a01b03166324a98f1134898989888a608001516040518763ffffffff1660e01b815260040161092b9594939291906121ee565b60206040518083038185885af1158015610949573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061096e9190612229565b50816109836001600160a01b0385168961109b565b61098d9190612242565b91505b83604001518210156109b5576040516342301c2360e01b815260040160405180910390fd5b5094509492505050565b600034600003610ada576109db836001600160a01b031661113d565b6040516370a0823160e01b81526001600160a01b0385811660048301528416906370a0823190602401602060405180830381865afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a459190612229565b9050610a5c6001600160a01b0384163386856111a6565b6040516370a0823160e01b81526001600160a01b0385811660048301528291908516906370a0823190602401602060405180830381865afa158015610aa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac99190612229565b610ad39190612242565b9050610b3a565b6001600160a01b03831673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610b1757604051632eac7efb60e01b815260040160405180910390fd5b348214610b37576040516381de0bf360e01b815260040160405180910390fd5b50345b9392505050565b6000808251118015610b7857508151601560f91b908390600090610b6757610b6761201a565b01602001516001600160f81b031916145b92915050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610ba857505050565b604051636eb1769f60e11b81523060048201526001600160a01b0383811660248301526000919085169063dd62ed3e90604401602060405180830381865afa158015610bf8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1c9190612229565b9050818110610c2b5750505050565b8015610c4657610c466001600160a01b038516846000611211565b610c5c6001600160a01b03851684600019611211565b50505050565b604080516080810182526000808252602082018190529181018290526060810191909152826001600160a01b0316846001600160a01b031603610cb857604051630b839a1f60e01b815260040160405180910390fd5b81806020019051810190610ccc919061226b565b60208101519091506001600160a01b0316158015610cfd5750600381516003811115610cfa57610cfa6122f0565b14155b15610b3a576040516301dbb3ff60e61b815260040160405180910390fd5b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03861601610d5f57610d4e83836001611326565b9050610d5a81856113d3565b610d80565b50833415610d80576040516381de0bf360e01b815260040160405180910390fd5b949350505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610dbb57610ad384836000611326565b509092915050565b6000600382516003811115610dda57610dda6122f0565b03610de6575082610d80565b6040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610e2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4e9190612229565b6020830151909150610e6b906001600160a01b038716908661144b565b600082516003811115610e8057610e806122f0565b03610e9a57610e9582602001518386866114fd565b610ed4565b600182516003811115610eaf57610eaf6122f0565b03610ec457610e958260200151838686611636565b610ed4826020015183868661176e565b6040516370a0823160e01b815230600482015281906001600160a01b038516906370a0823190602401602060405180830381865afa158015610f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3e9190612229565b610f489190612242565b95945050505050565b604051632e1a7d4d60e01b8152600481018290526001600160a01b03831690632e1a7d4d90602401600060405180830381600087803b158015610f9357600080fd5b505af1158015610fa7573d6000803e3d6000fd5b505050505050565b306001600160a01b03831603610fc457505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601611082576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611036576040519150601f19603f3d011682016040523d82523d6000602084013e61103b565b606091505b5050905080610c5c5760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401610273565b6110966001600160a01b0384168383611855565b505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b038416016110d357506001600160a01b03811631610b78565b6040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015611119573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3a9190612229565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0382160161117b57604051630fea47fd60e31b815260040160405180910390fd5b806001600160a01b03163b60000361079857604051630fea47fd60e31b815260040160405180910390fd5b6040516001600160a01b0380851660248301528316604482015260648101829052610c5c9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611885565b80158061128b5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112899190612229565b155b6112f65760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610273565b6040516001600160a01b03831660248201526044810182905261109690849063095ea7b360e01b906064016111da565b600060038351600381111561133d5761133d6122f0565b03611349575082610b3a565b82602001516001600160a01b03166382b866008361136b578460600151611371565b84604001515b6040516001600160e01b031960e084901b16815260ff9091166004820152602401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d809190612306565b3481146113f3576040516381de0bf360e01b815260040160405180910390fd5b816001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561142e57600080fd5b505af1158015611442573d6000803e3d6000fd5b50505050505050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa15801561149c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c09190612229565b6114ca9190612323565b6040516001600160a01b038516602482015260448101829052909150610c5c90859063095ea7b360e01b906064016111da565b606083015160405162415c3360e91b815260ff90911660048201526001600160a01b0382811691908616906382b8660090602401602060405180830381865afa15801561154e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115729190612306565b6001600160a01b03161461159957604051631438b5c960e11b815260040160405180910390fd5b604080840151606085015191516348b4aac360e11b815260ff918216600482015291166024820152604481018390526000606482015260001960848201526001600160a01b0385169063916955869060a4015b6020604051808303816000875af115801561160b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162f9190612229565b5050505050565b600061164185611957565b9050600061164e866119e3565b9050826001600160a01b0316816001600160a01b03161461168257604051631438b5c960e11b815260040160405180910390fd5b60008267ffffffffffffffff81111561169d5761169d611b7c565b6040519080825280602002602001820160405280156116c6578160200160208202803683370190505b5090508481876040015160ff16815181106116e3576116e361201a565b6020908102919091010152604051634d49e87d60e01b81526001600160a01b03881690634d49e87d9061172190849060009060001990600401612336565b6020604051808303816000875af1158015611740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117649190612229565b5050505050505050565b606083015160405162415c3360e91b815260ff90911660048201526001600160a01b0382811691908616906382b8660090602401602060405180830381865afa1580156117bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e39190612306565b6001600160a01b03161461180a57604051631438b5c960e11b815260040160405180910390fd5b60608301516040516301f1d0ab60e51b81526004810184905260ff90911660248201526000604482015260001960648201526001600160a01b03851690633e3a1560906084016115ec565b6040516001600160a01b03831660248201526044810182905261109690849063a9059cbb60e01b906064016111da565b60006118da826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611a539092919063ffffffff16565b80519091501561109657808060200190518101906118f89190612383565b6110965760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610273565b6000805b60405162415c3360e91b815260ff821660048201526001600160a01b038416906382b8660090602401602060405180830381865afa9250505080156119bd575060408051601f3d908101601f191682019092526119ba91810190612306565b60015b6119cc578060ff1691506119dd565b506119d6816123a5565b905061195b565b50919050565b6000816001600160a01b0316635fd65f0f6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611a23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4791906123c4565b98975050505050505050565b6060610d808484600085856001600160a01b0385163b611ab55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610273565b600080866001600160a01b03168587604051611ad19190612424565b60006040518083038185875af1925050503d8060008114611b0e576040519150601f19603f3d011682016040523d82523d6000602084013e611b13565b606091505b5091509150611b23828286611b2e565b979650505050505050565b60608315611b3d575081610b3a565b825115611b4d5782518084602001fd5b8160405162461bcd60e51b81526004016102739190612440565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160a0810167ffffffffffffffff81118282101715611bb557611bb5611b7c565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611be457611be4611b7c565b604052919050565b600067ffffffffffffffff821115611c0657611c06611b7c565b50601f01601f191660200190565b600082601f830112611c2557600080fd5b8135611c38611c3382611bec565b611bbb565b818152846020838601011115611c4d57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611c8257600080fd5b8535611c8d81611b67565b94506020860135611c9d81611b67565b9350604086013592506060860135611cb481611b67565b9150608086013567ffffffffffffffff811115611cd057600080fd5b611cdc88828901611c14565b9150509295509295909350565b600060208284031215611cfb57600080fd5b8135610b3a81611b67565b600080600060608486031215611d1b57600080fd5b8335611d2681611b67565b925060208481013567ffffffffffffffff80821115611d4457600080fd5b818701915087601f830112611d5857600080fd5b813581811115611d6a57611d6a611b7c565b8060051b9150611d7b848301611bbb565b818152918301840191848101908a841115611d9557600080fd5b938501935b83851015611dbf5784359250611daf83611b67565b8282529385019390850190611d9a565b979a979950505050604095909501359450505050565b60005b83811015611df0578181015183820152602001611dd8565b50506000910152565b60008151808452611e11816020860160208601611dd5565b601f01601f19169290920160200192915050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015611eb857888303603f19018552815180516001600160a01b03908116855288820151168885015286810151878501526060808201519085015260809081015160a091850182905290611ea481860183611df9565b968901969450505090860190600101611e4c565b509098975050505050505050565b600060a08284031215611ed857600080fd5b611ee0611b92565b90508135611eed81611b67565b81526020820135611efd81611b67565b806020830152506040820135604082015260608201356060820152608082013567ffffffffffffffff811115611f3257600080fd5b611f3e84828501611c14565b60808301525092915050565b60008060008060008060c08789031215611f6357600080fd5b8635611f6e81611b67565b9550602087013594506040870135611f8581611b67565b935060608701359250608087013567ffffffffffffffff80821115611fa957600080fd5b611fb58a838b01611ec6565b935060a0890135915080821115611fcb57600080fd5b50611fd889828a01611ec6565b9150509295509295509295565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000602080838503121561204357600080fd5b825167ffffffffffffffff8082111561205b57600080fd5b9084019060a0828703121561206f57600080fd5b612077611b92565b825161208281611b67565b81528284015161209181611b67565b80858301525060408301516040820152606083015160608201526080830151828111156120bd57600080fd5b80840193505086601f8401126120d257600080fd5b825191506120e2611c3383611bec565b82815287858486010111156120f657600080fd5b61210583868301878701611dd5565b60808201529695505050505050565b634e487b7160e01b600052601160045260246000fd5b60006001820161213c5761213c612114565b5060010190565b815163ffffffff1681526020808301516001600160a01b031690820152604080830151610120830191612180908401826001600160a01b03169052565b50606083015161219b60608401826001600160a01b03169052565b5060808301516121b660808401826001600160a01b03169052565b5060a083015160a083015260c083015160c083015260e08301516121de60e084018215159052565b5061010092830151919092015290565b6001600160a01b0386811682528581166020830152604082018590528316606082015260a060808201819052600090611b2390830184611df9565b60006020828403121561223b57600080fd5b5051919050565b81810381811115610b7857610b78612114565b805160ff8116811461226657600080fd5b919050565b60006080828403121561227d57600080fd5b6040516080810181811067ffffffffffffffff821117156122a0576122a0611b7c565b6040528251600481106122b257600080fd5b815260208301516122c281611b67565b60208201526122d360408401612255565b60408201526122e460608401612255565b60608201529392505050565b634e487b7160e01b600052602160045260246000fd5b60006020828403121561231857600080fd5b8151610b3a81611b67565b80820180821115610b7857610b78612114565b606080825284519082018190526000906020906080840190828801845b8281101561236f57815184529284019290840190600101612353565b505050908301949094525060400152919050565b60006020828403121561239557600080fd5b81518015158114610b3a57600080fd5b600060ff821660ff81036123bb576123bb612114565b60010192915050565b600080600080600080600060e0888a0312156123df57600080fd5b875196506020880151955060408801519450606088015193506080880151925060a0880151915060c088015161241481611b67565b8091505092959891949750929550565b60008251612436818460208701611dd5565b9190910192915050565b602081526000610b3a6020830184611df956fea2646970667358221220af10d1b0353aa1b3b19ea56d105f9744c1a60029dc0a7a2abce7b8995fd9349664736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630540fea3e5840334fc758a3decf14546bfdfbef5cd30058210305787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0545682dc851c33adb48f6958a963a5d3aa31f6f1840058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60545523d3c98809dddb82c686e152f5c58b1b0fb59e0219081405581d02ed0a7cbb249c674c030284768df0a3cb14413abe1dd223b2fafa0e12070119248905581d02b01eee280f05d99806bc85da9ad106d1e8ffc90a38ee2b27007098e50402021904400326d864293ab640d5742c797a7a66b01cfea8120ebc91dcb773099e5c7dfbb54303acffa7d451aa98e7450254198809923b2c37b5e18b6764955705c0531a4f408a05581e0348c4eee79b54e5f7a5f292ff017bfbf1e31ec670ce74feb99495adff9007011bffffffffffffffff03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03572016c1a48eb0a54f92db940ec074e9cd7366dbba0c713f6c263798e007011bffffffffffffffff038e4ac2365cda88f6e40d702f03cfa02cde0aef108bf8db933806ba04d568ccd101410603a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03ad27064f037481211845394356e73e5adf0cdd436ba4a7e35b7593b4b007011bffffffffffffffff05581e03bb1784875a1af4a6de1018b63fb57d0ae9ff3ad73531fc23eef2f2be100c014706189dd75ea4a0038ee776adaf84151c2236baf9685d545a131eee511d04b09f01c483196f3ddccb031b1d558e429b4b08e6575138fdc73cb3be45d8c075084ab97d4d41072e82be8403e08e7fc4f59cd69570e6fa70fdefc39bb29e6f680431f6824750659bd33705c402192db703e71521866e18ffe3005363268f7229976ce2914cb7c48fc004e29e464b33bd34030776436092e53c5e498dcf17e74ef2c42bc0a051f2aecbca28e3a6dda015c1c103bfde88416a88a529d9b82b164add49a9b62911eb6a79b17faf9c9552979dd62203fc84b74bcdc377a0ce1b8b314106a32c75622201082171430df303c29c0f1a830361d99168e4b6ee19c00efa5a4590983a35b12e92c5a7a814ae2c693b299a5c700325205dcf2327b6dbf6ffa1122aa5b261eb4af2e32254b9100839e31857ed686b03786820c241806ccf277e1f76b891cdab94ce4bb894fb3c4ba5cf2ad4deca43ca03d77bc6a4843dff4db750727abbe02ce7fedf8ed3c95aaba91075b2b8ccb02855039b086e01261ec08c79727c21bb06060ad0cf75b6b615baa3d11ad9f8e8e7e1c20333a7453c003e448fb7bdc14d632c57e3f491488e1854375616bfbebafd3a9256033a79a7472198147dc356c5e0fa1ad3ef6164e5492032a5507196764661e86670030e3eea3cb6662ed9c60d0bd652cbbe778a3c258d3e45597e626507a58b8a870f032e3f0a0887b41c86834eeddc583d64ffa0e43d5961b606e72c87e6882bf55ae5034153b804d7d3efe5cb323d60e464bc68a06b1366e5a5221ab29c82d3eb0f59c40219ffff03488680b358454ea86817603c367d760e763ad03acea6631f5120db8620c790550304e6b6254e471c2e0189706394c79a5dee1382e7c00502daa67684524b31b696039df1233f3c607c88c20846c5af3584606d8eb80686948c1b8fc4a2a6e61942ab034b56dce1e4c76712fc90f611283f6e5e3d302e30b4a650f6d708cfe287485de003bec9d83381e94fc4c04e4ee89249a7b890eb63f1882dfffb5a28d82fd4ae1ad1033af61a744e82180a3d150c4b24238600b6ad9a90be6d8eadb892e845096e7b1d03a932b38f8a4b24004e4c12d71b23749eb75668e40d1d45f8e0e149ed587f137e038c69dfffad57cb813f022434362f7b2dec2c7eee02305a6e41981bb11ed10ec303f48b65f2dcab1ccd7c45d01a6e5a18dd48f8459655de09c0d1d72ddece893224033805e27711a04c1725866f76723ceb70c4ae5cdf39cc4f3cee0a337df75e66ef03133d4d179f904423ded76a735b12f90ac1106dce343dcf8ff3911ee641a0db3f03cea112d48cdaa5e33eb37b9ef66876f8cd5e84d1d83d74c214ad552eb7fd8e480314e8643712dcdb465fdf2a0c7f1c6b4eb86fe89e484ae258887796ec70e204010315acded8654e91d5068beb175cad6c65c8cfefdda5e0f80297878d322d55808c0219ffff0312262fe66373049dcdab732d472d79087633c9c4bb1e2c376b9d6e7d3049354503370111ca2643722e25ccd498cd4423fc80d1666cae86d733887927fe3b3a9a60031059c3da9242c0cda539fe9e73c094cf8fc8824e910600115208a9f5b1ff0c030367497c7009281184a8c19b02921e1cab30844e1e3cae9e2229e583c54a6989ac030c988404c3f4980b63906a9e24a4bb8878855cacdfbfe53a7625d03d6040561b037c71fe3cbae9b54ce1fefa2fad03997cfbe5a1c5e0712b435816a7bedc047cd70331a1f428713257c393a01135c59a5c9f56d3e508011e7d597407ae1f6f5f22e403cb683c6e3773b326038bd6f2119acaf4a974bac5344165eb453910438f82374103eb11b99a17fdc955d40dc64a83651c2a2e23d9a6c24e02ab47485954f3f6992903d0d51b5afca65b6c7d9b0888ba2752d50befba61175fc85ac407b35ffe9f7b0703f865511168d355ffaf8cc41f90e5f9a040c16d8609d03dd70b84028e4bfc9b860379591ce425a2fd64d18f8c80d7c351d54811ca89a839df75fd203921ac0164d203bcda4cd8243326dfe19d87d4e1d4c84e267cfab633a207257ab990e4c146c2f00339c640aec0d4a8f4062d7df14ff7624105112abf03c79a6cb81399c8a1f60a8e031d9120ec7788b62a1cce785375d06850109888142c41f4c20067856fa88fb4030219ffff03f1f9f295d95d7be0f0ab1aba89526740ecb30699d9f3e78468737ea4de8e81f30396902106f1e0b9aded7bc60b2b66dfa57c55a0b9c4a8db4697f95145930f39c603be64319993a1e9613df05c63dca11f407169aac7d994d49f8491dc94a6c7c98f03636bf3bda6f434d1bbb3378945770380482b7e0117bf9cc7d66a3a38c98b87540219ffff03b701d5b22e2ac02496a3681669a57e7f60b087d856251cec3b9d1aa9d5206d0c0368342329c91758bbd11b155e2c0e0e43b9b8cadef6c6b5a838647ebb5bc156f30341e348fc11f9a6afa6a6a345c90d70bac79e16e388f2d87b321c087ca99b05ad03e7a6d899d7f9365084b5713025e455ac074fe12a5dad8b39b98c3184fe2f7fdd0326527de7a704fff057d19cd5d158f635d61a3fef16ecd08270aab9c450c6bbde039dbe8fb242b42e1117dbeced75909a31ba7086092fa111199ea3549274984724035eef2d14493ebc95491ecd2794fe7e9d4fcc158f2c9556e116d713883f61203b033fd3fbb1203fbaff32bfb72ab37c48f076a4c4217f975e6625b611dbd7e5b7680384d07a606952ff0238720a890ce60dd125d849b4db7e68157f26ad161486f69903526b9779033fcd0363261a5fc105f671b9b4c824c6b3b8c4d0102745a4e49c6503c4c95df653efe7c185a5607bc64652c7a63a518488ab7302a062c03978cd92d503927564a54c2cf1bdff242359e36680d8c395650ad636331b58d51ebf8f817d0a033bc5e4eb6a21784c3b51d6ec942d415e41caa2bfd4ab0c58a4b54ea330e341720334ab6b06988d91a91993c3c9d5e795b592696a28c60003b104500f50f4baa2ef037305555dcee8a23a3b7f6fa8c281e80fb523e1ebac108e2ea4c2870da1812bce038ce670e26e6c13da0a8657a744cf76ffdfbd3fdb7a459ef363aa24fbe44ae7c003ccf765999c7222b15aa066aa1fb9f4012bdc9dfd4b16377c372c18e16ad7b86703b8be6d6cfec48f8d811dc07836737743429ba83e30c83699579b1a4cd535405303b59a060fdf5c48ecdaf5109bc7cd1ad07a7a439f57d28d90cfd402eaf74bc045033e4e45acf912b6d07cebd6912657898cea703a09a5ffc3cd8a64a5cf45370ad605581d02e074d7f17d2546080ef99412ab2f59f5e12191ec8543d58b923c32e90c0147063716aad096ae05581d029eb476f62c3c9ffcd55232872324e3fd1ebbf8578b058a47d258e6a3040105581d02b1069ce95edb538714e19aa7b33a3de6f110deaae68f96e6cf86af3e0c18904715e29fa5d5b6610219208103ea371cc8bab55feebe56658ffaf423f5102156a813ad19801075ca984945c6fb05581e03bb9d26b8ed958b44577df180b837e0ad49860dac9bd052ad1175309d400c0147113dc71d18500005581e03628db010cbf781f3a131d801ce385e9261f7cb8ee679839f782505c0800c02470dc58587fc000005581e039b84895a33edce31e0fa1eb264a86b462d3991311b7484c64cf4586500040105581e03cb81ccb349b0fbca332a37b9b5d571609a915683d348abcaa3541affa00c01462dbec0d00370039de4a599d93078c19ca6f438e2ee0f1a03381f9c6febab6ee7b3ddf768797df205581e030a4cd1396c687f6429a39b92408741ade0ffcb1a62793afeb386c6f4d004030219cfba0309727ccd24ce5afaff3851ff1602fd2df7b9a106e5c6d1b9b9c16c740a2a46ed03360089ef9532fa98791905f7837a8548004393257ebd94a2a583cf754da819f10389bb44e4577d9545b6b3c7a3b8b4b7992dd672a2bb140db5f686211257ddbf1c0300bea3c77ce5ec80be3f38e834dc50f21d8f3af2294780bf6197681a0297657b039429798c52828185a0b65ef4bf2f85df53903293b5668b8ccecfce6b4d05ccc903e235e3587cfdb0afd2cf9ffcef056e4932e70a4586bdab00aa2fe2a1a35f6789030a4e42003bbb5489ce4acbf4d8d099ed063c21fd3cecbd3869474bc0ed05f25f03ec376c93acf709965b66be910fd9b440069c6441c2e4e96b060229e7b706516303e661f40a558e8304e91f3c40d17af8bddd82cd64b9011a23a48f6d61cf802cab03ba42019a369a30614bccd48da656e37114f8500f14da35ba2dc9ee78b18d7d8d030a692fcf57862a2b8022cdcf49618d789b6d1fbc2bdb5d84303550955ac821b9032d6b3afe932574fe3a74c71d7d16d966f19b0467eaa509caa45c74def061a8350219ffff034def2b61c725095016aa05c1b4e6d76372c70f6e730e9b73fc5b37d4c7c68d2203ab0819f6abd1d39935718c4c3567a257a8462857b1e68898d19d0d2285e474ea034464a590d4ec7cab7d39d28cc3f5436972e4271ab88640be91d6ece29da2cbad031e1ba47afa5d3669b720417a6089bf6a563419d60c02c959b6088e5b82f096de0345c90819c095cef3325078860296ccccec23518479419af83004677e4e5ae499035ddd47e2a21f8e1c33e7cf0b0806fe1b7ea35c9fa0101204b75d5df065dd887203ce021e3387486f1eaa6be629a5284f1232a7be0d58e1a6ca03427b82e5bed339033288ed4c30803d8e2201b4d921fe9717983b3f645c339233952567873e55fbf903a1a11efbbbb7e6f8da524898214050cac484459ce095a3afc9c664de93f77dac03e58cb54186d5153b1fcd75206abba50e7bc36d0f6ec1ebf97dbb5c853c9d8c930349cf8288c6f96b867ad095988070e50473a4b9e292c9dcd2f8957913025cda9c035eb84294e632d769631f08be8ad7a1ffa605fd75fddd83cfc3fdb8d74dba6858031a378a60c6c4a26cdfe8042c51ca64b3aabd1688fbf1853d3f15f67f3a8000dd03b7cccefbf73f7b8f4eefe1a8802a5baabe5330b03a6f676bd34a72e484a91c140380b2ec94dc3868fe64a9d0d0799d06e65de7e60ad89076c6ba6b7e2c45767d720219ffff03dc748bd1769c823debfde781a93579b939fadc92e062c3e3e74ee5eeebc9e531039b27f82493a7afc44b9e5b9d6c572297f2fb266819fba97252d05e901a7bb5590219ffff03b0398f9c41ffe0ba5008854ebe38444336447aa694011340bfe1236d39da4ae503c35b5ec99261d434f52a19d8297dca36cf047d9f3e9deb95e55329f2d735102a03681f6bb9061a4c3832748f758044bbf7c5c9e353b0b98e09fb623aacc2b35f7d030d0776f0c7fe9d7c3db2fd47787f011e88ebddadf4d079ea7402a51ac48d315303bae5efeb8f92fa9134ec3495f5372cf0a012e274abd51a11c2b5975e5dc027e3037be751062fc5f8ba4169b3b320be2784b6c2ba12ed67a6936e7d9a859ee35459030d0e14832ce921ebd6b12084bfb32b578b28f942e5f44e3740c3d07724c8a81b033b3133ecf28de5b8af4189fe104fe24f76aa1ab132d4c927d6efb7d5b4c8649d036e360a70b7439657f525429d080cbd673128b7f89e577f5a16e5bfbf20947bc703ad3714c1ea00303643fbe92a9ee02a7da4f043f681a6ca39b24fad01695997f2030ddfeb86d0043b9a698df5af1bc52128e05e5e543055dcd86c18c19de6d88551038d08f0d9080b3321354d6fef67c2e512199e3cbb290dc17bdac14d26b4d8a9ca035ecb20de05b795874ce23c2717b51ccf0af3273ee3a818aee9538c32c136d94b0329106dc2475ee807060cbcbe9060a3015e31dc43925a59ff3915bd80b60513f4031c077147d488bb535f1a33136944360e7755edd1cbd606156e02ca693413a4700302bf9a48ab40e44f82629e7945701332a6101adc20747a5cb1d97f658f0ce8aa031011661a15c34524508caddb587861a08ba74057a89701a3e5e834b01832ba8303c5e75f1e826e7b57580494026586f1bd60c16ad8227834ed2957adc325ad4cb003c9cd83a8af7b9539e9e99ea23acfb26067eefc6e231f630925450252ec248b7b03cce1fed0341cb511fec019e659fdf9ba0e4223d6f3602f54a8d43a10f7f60381033f2af7e12193e4c1de79350ebbf3125dca0fc663eb8401db4636158456955adf0378dc874293acc90b6d7d5793e4530da27332a4e87e99b35f4e8e4711b40fa17403e31fe2b30b3c6f92ef3b03ca2da4a105e9383a558b2dd4533c21649297322ff6037bb3c318728bd08d51862b18015449ce91c0e1db225e08a8ff322f35f6b4ec9203feabff3d150e087f49e67ab313f9ab02f7acc77cbfec3b7591aafa26f9185e170348ae1925420185f27ffce2bea3c4ef41d1d737bbd85617e5a600aeb0b87d10d503ad2beb810448136aa164a59addaa608bf3a180c95f9a43b97a6075ab77537c0203afc8d54a699eaf9f87d6778f3cbc53114a034b62450938a463f6dbc3df2203430392f8b62eb3cd3cc967eeb09045f60a957c3b364352830b3563f0c47fcce972ad03f098a61bb5dda016ea27eaf2330970cb711b26fe88749b06dcac5bfc059c0053030e426c5f3c713c21d06ed06dfae2f7e8137e234c92acfeae11af88a39bf8fb57039e6f925676cb774bc15113f95bf9167cc7c5bb19b944bf23e24cf1a3334ed42d0459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f8b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000060594a405d53811d3bc4766596efd80fd545a2701614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000006b175474e89094c44da98b954eedeac495271d0f1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03373973239eae6bc3864ce5c1d25f8b50282997286035eee2d6cb1660407b6a2b033728ac42036d48a3667b99e99745c7b7556afc52e0e8d5f8784d3ecbb1e641b5036690dd725e629af1bd2e113ba963165a04eb2f90e109f5eb86ed25dcb33da43e03991ca6fff7c064bde219de4be6131d6d147288091a04663b6ed2adf82230eaf50306ac7b53b9e4b7efb87db0962be9e74bb8190756a8130f5fc86cecef1ba5e28b03209aa86ca95463badf54c311ee694ff19ed3c8d8cf3c69cb31e082241cdbda7f0332951ddc3e4c4ad43ed9d3e0b6de0234e73d6cd28848d1bfd3d98f74aff903bf0317c1b6b3bae90d53fc880cda51bfa23552334bfd3d41d413768de516607f389f03737a60ca018d0d0a64f23ee2ce83e5836a6b41037a2a39cfa967ab50a40628610323100bf76b974f35c450e1a9fe4de2500039de5915a077eb3ddee1d59fdb51f10313bc1fdcfaf47aa7c98ce2b64c29c8c8c5ae44c883d84f34f9bc4c4e7679fe3700582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010000b400b40032fec7f1000000000000000004b76a358ca80522eca4d33c036701b6f9851aabc98ad05b82e00c4cba6150845c15fcbafc82ff6c3129ecdcc40058200320d54bb1f51bbde26f9238147e4307e21608b1127e454cea9fa4a87a2048f04f23c4983d820e14c0c7ed2604986cba03f945ca119dbcb972a24ab7729d73fc05ca6687074996ca089fa4f4fa7b57ee3f038a226955ab6c61051b827e9c0edddc3d61e7a31a1efb1b56826038395310b00603be315690b2af9930d7000043dc3c7d1f00fd0dc0698f55bfa34025847d8e179400582003df8f6394145dbc053509eca29215bd6c7f2a97dd088679939c00813c67d1005820ffffffffffffffffffffffffffffffffac1f878bd9ea7fdb47c68f963cf2d177005820038208059320a1ed92ef2eea5f0301f0008a0efef016b8cc237617962e04fa705820ffffffffffffffffffffffffffffffffd87bd668fad208d44ee1b03383569160005820030464163f37575a21c77607072fdb77d4950fcccf0deec83e8905a614e732f04d031f52ff81233e7de4b800e370034b66918bdb63f774b6e45693a46b24490f1af004702548b8b095459f1d23c2030219479f03b8fd91004877202115159f95bdb8de776fc6ec0a8fac95269caece267e93d23a030b9651bd0507058fde96dd8d2b70a4571318aba495ab6247369c5f24ab33cb3703bb5c21d419b78b155ed3d7e4432166d66582bc07607cf3c4dfffda46ef8e71db0367e8ad8e9359b66dd6320a590920d42adcae970f53c65235d40a7246f0fd42b4034412c2936f90664b17397d4f49c7f525d0252050e928fd88751fd52e0afa6436038d4b2dd9536e588189506918204adc8f32fd64a39bcf740d32cf0f2dabb7234c0219ffff03ea5365f99ef32c723f7693b40adcc9f6a9260e64a4173861051cd5ad43951b5b00582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c058200100000000000000000004b9d2bcfa96b4d1ead4dbfff8feb25806066687d4ff0058200365cf12475df263e5f965e13a27864648cbaccbfd2aae2c9a2c6961f8846bb04e65ab3e1a5a070b41bddc9fe8e7290335750c10e5f1e9c3d8d0c7c13f6533cf993de59a22700d32db2dfd63ec632da900581f021e5cb0abd4d568cea664d0eef07dac99f33c8618e0ead25d40c4a092bb2a4fbf583338c909645e3827f53a7da73d00581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace50013879781a78803e5212f926a462f00300581f0205e40270cb7cf6867412e3cc17a52a3a441df1c4a487f44f743c0ee669ea4f027c0576ae124beb69dbbbb97f78620219048200582003c4cdd84dd4c0a8deb23e5d2dc8d4ea6cfcc0de02371aa48182be7b8e8e5ef04d03373f298db646f42e1015e91f0058200378d68466a1e671ecb48ecb74558c7d24f260f4d5449e7690bc07c462da52204d3bf5414fafa7a9d309b390d4a200582003dc0fb13b2a6f53840d36c02ba3a2cd7a8302c45c72cca1d9b1e1bed2103e204d1032e4bbde1f85448f739834b803b5bf366812163c64e48c8866a29f34b8120f63024c5ebbd0691cf73740775c6800582003c432c4424d4e4e6f56c1239340e3e3a7d5da75b85a4b19e2c42374ad2e2a104f061dbbbdfe44bb1bd181bc1e4cc05303c8e47580288b1c3ac5ba986576490b95c31e8669ec86ad286db1f534a190d59b0219b5ae030c18e570e1d37e93d5cf55691194e2df9739d501ee062aa753db0c29480d4aa2034192ab1075cafd04ebc23f761fc4925c6adacb8a61b9d5f20332765d172a40e50331ed15642b82e935d13e6fe7c6e9a51b2c909a59abf3eb81cc91ddb3e612ab4f036e757a551a531583a8f90e9538c8309eab0be02dca12920408ae33bf9c31db7a03b97f1fedbe0d7ea3f8987e7ed720ca4b5e2f2d1359311eb291661c9a1822b3170392c70d4b8c5fe205bc5bd3be39c2cc4e72185e6bdf8d91d48ce298e7883f0cdf037af0ab5d01e86cc91eb676dd3eebd7393444b2d9eb8def903968147d54fe28f0033d26e50950c65fdfb9191f451ac16738ba218c2fdae8f3c5fe94c9da63be0850034bb8fa1da2f2fad03e57ce6f5f0efa2d07fae408dd67a743ae812e3ed50d9d5603c96316d871eded3772a92b653793a55b1949e41b57db059a9499ec48c82bac42032fdc67e98b10ccee285d2e75b30ae25ffcd934f7b16a87d6ec193f98de014d06030b0c607a29c55d2468371477290437bbf14be7f05effddc1a70db813816e12c503475c410f5d08afe9de8433137d912dd1ed56e0e58bc65a98c49be565aa9c641f03d99e52b4d6ee14646574c1bbe8ee592c63dd6ca6fa631f556fa3ec8cb25c613f03cbc424eff2d594bb9095f4b3a3a80a3ffe95c39d3c3caac6102bdb23ec9ce9c80219ffff0388a0a244e756c474678d729ce412550d64aa53a6be526a91d5de0c7ae8eb5ace03fd010d6f9a27b2e2361df208c800dc898a539e98326195d01df03bc907cd776b03fcc5d92f018e3817136668ac3f7d23f02fbc36126605725ea542245d1e99081c038376ad57e5f8f6343054eb3cc4f338019f48f347aff77b449800f25152ecc58603babf14065d88d7a9594a3a981144e77a552b83bfee1a246c1276811779fbc94f03ab879605375fb9e599ff9ad5e7c1ad9367c8c50e7d4abd29de4aa19173ef614203a6e9bad43999d04e4a7b98ba339b1b1a4b75670aa1475e557107c067c675fdf603a0cb8fe9e2f4a0b41ca3e49bdfa904b57efc6dab12b1a9b5adcc05ee00de24b603600d474b24c7b3220b9b7eebed433b8975337997cdd7f545ef0e287d61d77eea03c2c6d1e38010fbee021dd11125a4c41b5083199bb4c292027566f6300109544303247dc803ba0983b6806e77a4a99a211c1b91da621eb62b7e17cf0725257037ec0399eb2bab9f407741cf32be6d709338f359b067073af4d85e50d9401219cec0b5039458177f7269f5f564d628a0ec5eb92032f04dae824f3bb9cef7258c3be78bb8005820039ff4950acd5fa5dd74a6386acbfbf7e55f8b7d091ac7944d15cd5685d399805820fffffffffffffffffffffffffffffffffd8242fec220d9ec7e145ea9228969a2005820036478415c64ebf449aa87330119b8fd12936d555aeb7700709fc13a4dbed7004f0162af5c5b39d2336d2dc0f219db1700582003746cd7d788a3270b7556e79fc465f745b6c65a76ddc34e8d1f0a477dbe64604e19d372e722800ea6456e09cfb7a103f81b552ffc15d6417f4a04b3673516e57896fa60b6939d858d74efa0f2d23acb00581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4a30406567a10dbee3d2a600581f02307d6a58be4fe57149f4f667c6c7f7102d7f85fb737a6ad578de25360ac15102e79775b61bd8cbf9bcc9c732d89afbcf0219022203fba6f4c117d2ddba17fcd19a0809cbce0b88db7e4ae15895c63690924ce7c96603436ff31e225afc58d981353539ec87837a9890ad9f0de3b2bda6f8cf5331eb1600582003d44e9bce0685ddfeeefc1e6ffbfb3b9d7371c9c60ee5fc334fbaed2e0e8a005820ffffffffffffffffffffffffffffffff0b173758e90631cf4863f718c406ebc403afe38c52acca6238cac73d823821d70aabc11988f12f8d9e58ebfca9457b4c74005820035a305662f27abd5b8607b9af85f92c79da7602456d21f0f1fd53226f061ef05008d20f1d659cf43575b2f9420f0c32f30381b93bb9616b5f52f0fc410d0d75ffd854f24527e408233dfbea69599f9852e8030cca69ae9d88d73c56a2310c32fb9eefb5ba02ad73b74eaa719631379b8c4113005820033a56a7bb35a45e84a15d27206987ce6a6173aa7ed09a102585cc354b5ed4005005821916e2bf780f1ca23d51fd3d6e2a0058200380b14c881a283e78de2c0478341fc344fffb1f8d58704f7415d3fce04679704f5b17168aec1f11899d72a2d19233080219cdff03dd7b3a6eb20a7eee86fbf4438c1c64e42bc12cf604d61706aed6b6861a2aa98603680fec42b970d8872d768a99f70245fc592f39b6fc180f21c894069e9863b30303fd25da76a0996758c1d1c9d7fc6ab19dfc8d0a3420331c4df12868fcb23929490396d92d001645db37972df7d672a58e4b4cd583c2bdf4161c28cbc7f88e34802c03eeb798afb99289d1cc09ad643f0c5cecd819158c9468e4fd2ae6f0f25f66dd850219ffff032be628d38f65fec4433429057906e56383180461908eabbfc87441b77ab7c40c03b83e56da4476e69519a55b69d7606bbae5d5be0655db774c81a7bae26556d8b903a5e9b967a3183a1de8eceea629d9effedc0ed173c36ea4e143d921b77c8592e1030f8eaef46b2f3e4d72309bcaf361392792964e4762785aa1441d5eba4cb1eda10336e6317cb1caa842377d2968919d25137ae05bb083a3a226b48ab8d92d4d76f603502e18cc897d0d030715c0bb8fc54970d6a4ac1502e114bd0662a323f8fcfd9103dac95ab675ea783310b9962a15fbac60d576983633de8033446530d9134291f50058200328e3e8e1c901447c00bb2790b6670c36041699015bece69c75b3d48fdff6a04f022fcb3ffa3a4aa30a078075685da303c59602e8a3a1096d372e09f92c07876570de8197b0083ad5b5d021d19b12ed5a005820037f86efe376c3c8166e503ed080b7580a532138a64bd347d4a67b3612a3ec604e01ca9e369687f1af072cb9a87e0a00581f025c5e0e434cb23b4b73a7a8a72fc10c6f71f07bbcff2009a589bf8eb8e2c04f37ed9e5c691aa57526ca9bb345db7c00581f029d89af88ad6bdc06a827682de5bdfece6f7278a3535a204a10d08e1cefe34f127bbce41b542bd01027e1176c741600581f029d817b6757290b50e8ecf3fa939673403dd35c97de392fdb343b4015ce9e58200100000000000000000004b9d2ddce8df6f2eebf6bfff8feaacde91e6687db2f00581f021b72117f7d56e06d0522ee48aad3608aff1257c776ab7be2e0f750a693c95820ffffffffffffffffffffffffffffffffffffffee4a90347d4287d4647d35743d02192282005820034c5d2d03e7db003f871194476e75abcbea2c4128b770e25e8b7a1915fbb7104f03a29ca16f15c5ea668366e047349200582003a48e7961324d3908e9be51cfb55ca7b400a868aa9c10a5b8cb2463fcfa8bb05604150667974a00000000000000001b26ea53d12e7b3603cddd11edd22c492e49c0c229fbed115290039f21658958becbd230e03dcdf7df0391355619726f2d654ba76283971ac9d429c829dd1f4237b07264c611e3e00b7803966907e87b4bb1f7d3a80020fa152cafb0355af5f3d594aa4f419c414f58c7220219fbeb0316e854d89d0de32e88a8382128c16e5e706526ce11a5f028d6aa31573a8fa06203d56fc4e56b1aed111dbd09c455a13900e13aceb09e601cd7c31832e3247ada7503d62beea8e6ee2c8f2101845cd44948e4e9e4346f291f9dff51121b10b8c767d7039c7afdbd9ee8c63ab046a2efa48af652a6f1c95762692cc1d350946b9ea4859b00582003b537a457fae47cd854f2d7d8a42b75deb90781a023d5a95c056f02a1b06c10581902d973c1807f06a2660000000000000002d973c1807f06a26603c41ab1c00feb4b140abbff9279afe299a0ab553d6813bc19dc14390bb6470a0e00582003f519b249f1f5362def5c8458ee9b5bacc2ca470f1406639f93a614af7dfed04f121bdf1fd157f669f16f8466b66caa031b76d9d5597cde25650aa925cd64a9e9228a5fff23712989087184a28e6a40fc034920fe7e21574e7757c2493e35aa05224fcd14c12690a4e8358b1db6806632f400582003043b39e219f09eacfecc203b6eaf34646d729bf1adc1d122a1e94482b836604f90324dd2d04d6b0c58c9a53b33373900582003e048fe8ce8dd304a4dd69d1df2cbde9f2e156d916f932e5195fbee79d2a0005054602d60837a300758eef8d3ee2811c603bf4096e9219bdfaf0bf16fb09b8dd5b4e867f64bd58ec109d06d3f863de6e3a000581f0282f6bcb9be86da206e4452bf357ac192d1ccf4ea73cf38228e8906a1f4324a01058cd31fd7cbc3727a00581f027d4798e9935b0525b3a8d89470d38caa9f5a7e809e567236ea0da3caa574500177af2530f0a3516afa6423b709c5b400581f02b5e0df1cd766167552a88982532c4fe4b59ec8337eaeecc52925b73658e7582081d200003c04400007020001a10000000000022000000003102692a5c00291080219031000582003969c8058365bb97ef95a358ff6d863adb6d74bd728705251721b2adaac07704d169d6d371d5dd4c5f9539c5c0e03cc807f12c8f7c4962a9560e288eab627bd3a3c09cca1e753ff5693db04a6c2be00582003ee11994a49db17a148ac0c10fbef7bcd8b68ce87d0e69ab65847cd5bb7e2305820fffffffffffffffffffffffffffffffffff3dd36aaad174bf10d77aaa7b73342032434598b29235ef6baf072de52d89815ace291c120a7483e031c15465f53dae702197eef03cb86a101ac135d177231df1c6265e0782d3eeea0dc5e59d75136051aa82476c003fc88907afc0df79711d63f56fc4a05db16b97c2213c2878f8369d5b2f144985c03cac9cead9917d0df2475fb841ad4c491e469250e6068feac594603a07b6c6655039bde2d54e35991fd40d84401c7b495c2ce7ee1670fc2d80ad20c9eed5035e23a034ea77517642b7d85e48c3bd406f79ca3db5b9d86decf94fa9f3b008d3dd84eef036c7873690c4e98658952dc31326a0391530b160a6cd5bdc4971ebe7e039a2bf6035de9641830aaa3edd759024dc08d2639e1eef2d8f7d505ba0fa58d0f017d742a03d2dc8873d57ff8390ecbd668016659dfc68fe0df841d0522f23e0d7e561889290219ffff038467a8fb1ddd93ee99e9b524b152d69750ebe4b26178c78abb156e662915b51f03ee4f3429b89f7ba6262351a8c37c3359e79d2001d2afbf0783b048d56efc2cf10387e73c920dd7cd8aedf09b23fd1a77268ba56aa811c419956b15cb3da0778ca303738ec043f78b95a056e156b4ef73c2c49088df41973f464f1587d3224e38694a03c895829c048ceef42a9d30a6612a1b3f0b380cdef00777b080a5b7a816e2555f03470ab9737cee2e0a802243c7bb70ad810e27da17af12b1d15d6b1450b1726dec03716ca554cfb3a54dd54c3ef0bbda041717f8d8bfeb1f57bd23dcaf8e53f2704f037095a91218a23da703898176e5c1517766829283f6e3ff71ea04a2167be657170328c38fb9b28eefacbbbdc5e6d5ed89f2a6f7b0db60f7c6192428dc818e8e494e036209069dc4386d9330308463be4859e5b2f9284483995da7365b8d42eab3fb82039ea553eebe0f156c5c6fc79a1d71f3b1bfa1ae23df225d93cde7e1ae53348f4800582003fad51c51a8d35872ad98d817536ea606651540f4337a25cb2f987940b5e480500217d767e320d97f22d7757d1316cc49005820038f4e7ca7c2b7cfd451e9e6a4ba693cfb096107914760296bbfff183fd4f2205820010000000000000000000000000000000000000000000000000000000000000000582003929613f1236693b0d6d459799f9bd4cd8fbbbc5508eb9e35abffe290e51db04f22542a6332001dcc0578445585c23100582003e0b2ae951214d344a02b975aa85b9767087d5386a7949a925408f92747f7f04f02cd95e2c366083ca635ae1e5f55e2036aacbd13fb953ae0a14d7e7f7cb0633badbddc33c1f60e8e0e07b42c8d0d70c903d4a970038b0968aa2182626efa6ee09a6afb9c1d861add89c70fc1b93210bb2800582003446a0562683258b74a2a1a8619007aa3de0e3adb7d0c58c7d0e2a5882358705820fffffffffffffffffffffffffffffffb87c6fe62f5220f4689fb6d917d021900036dcfd247b415f8cc739f9a7b1ae2570b82a2c49d9bae93cdca47a74ffabb9fd603a06c6464e4349a62533f4db340deb14077f090f56625991387076c095c9768b50399d097ad05a6b1eca7c5d71850327297ba56a25d0fb63477efccfcfcb52bff7400582003adbaaed1d3b0170437267b70d814dadf51e72fd578d7439715f8b85b434f004e11d1c04c5d246d2c3ebc5a3fb1c200581f024c0d3ffa4e62349d2559cd08e6e0e932ed95bb9a6b49556736c5b1c6d82850c9747022aea40fba99e9f905939ec3c900581f02ce5e8ca8f341cca6233c1769d0a1be49c5c06340ad50ee5d91943b2e3fb05101d02d86c39397a143b1e8373d4372ee4500581f02212124853f8b0084a66a2d057c2966e251e132af3691db153ab65f0d1a4d58200100000000000000000004b9d1c6161effc07e3f44fff8feea30988a6687a70f020e0322ff82d76fb6297d354a5e69f1baf66dff53e1cad2e6f4ec43376d4712edfc810219cdff0301d3dfa981cd424c98383f7a389d244091509e58e5050551b58b12d55717170d037111469f5ef06e5acd6acb569774fb098edad5f26260c1ab93a321e7ee5705ff0341ab6910a511a1fe65245484759be0d97fba4655e02aa2f5833b397e2c2a3326038a151f98f94a098408fda58be9417a2a51b2ce3332d0e23942c97d159c1a00a60219ffff037d183985b92ee0c8351c5254ecb4e46770d61c97331bd1dcdd577783c88184ac032636d739f89336c5c4a5179c9de53934eac21a185ffa4a270720230a5c097bf503aa84111dc617ea80ef09822c7a667418d9e5437111e3a11576cbb5a345c3f55f033a0c0c0a2bab9d783987efc4243fe4bced4dcb8bc375f44f555fb543deccdc4f0219ffff05581d02e1c1ede7f9dd6ef7c5e609aa643221cde7b5b49bcf04ac062817d199070119567e03b0405957391500a1110a46c8e03f989f9a23c4f53d2529ba99d8eeda2226cde80605581d02f071fbcfa24d9139904667f2dee02db38ee62065b830631fff69da8f07011bffffffffffffffff0219180005581e039e986ede07f047535a1a3d81d4f578b64fe6c0862019c1b10551f293100c0247010df29b29c01003bf7f1353db4c2e452c0406b51a8a5e922da99f71ca278825c255b68e35c0f3ee0355a1b3a4c3f1d8defd5bd75781a4639a6954ad95c099661a480a0589d7087fb0039e5684dc196067c9e9a9578883a0b00527e7cb27f03e0594fb1809f5b611b08f05581e03a0af46d225c8d6d777977a6caef8b5cacf71c56d3952b5fabd863c4dc00c01460de0c3464e00021935c203db41c43aaf6ff063c166b2976b71df6db6c452a15433d284aab32a9a5e6f2ea103a5676a9ea5de8b4bb012a81729a0320c0aeed9e67e782aa65bb3405cf8caed3703dfd73e49af5c34bb02c4d29d795f78d60bf91679bf882ca55926e6b29eb6770c0306f63236ffa2ed13592a253ea22951c3775bbe3077d2f0b41b93f2c0136e708b03f28804c3ff4786960c5689ca757691e33d0b4f226033b003d380ec73ae41bd760219ffff0219ffff035b77132e6ffa40b814f4caafccddb1c3b9e95602b5753363db7ebb2c6eba38be0309a27260a014289f390f8b805f6f7d6ecaab0e3cb27955c817002eb69ed24f48035eaf316ec3a62d4c2ab556a8dc8ef39b15ccc776c63229200c776e187231ac1e0386a640dd3b0c7a3801642c6eb36d909c2da74bfce1ed96dada9196d3f2b3c4f103ae32c7288c30876158d2624eab4e9ef72b49f75a390471e46cef647aae38eb190360cab698c9c6279a501e59f02b102fadd8e037a2c90acd1f4fb2b26f26bc348203872db0056b61bd770689baffa056256cb0e0ceaf84c49ad3b7c74954c8dcbd5703d47377886f1ff8f5e5445ef4fc677977bd013e1ec8cc9b22ca506d64b007b7ce03a37ed44f35d8c2bfcbf9ad3ff0c7d0a8bb15b47b5a9ad21aeb501fc98096fa310219ffff03d8c275127bd4a517b4ed1374b76f9dc8e3bac6c49c8d1a1f76c3f409283e1cab037a3560aa620699f212e8d9966fafe280be8fb9a2bae4d05736f02ae9e740b5cf03569591115b199794dcbf0bf9fc2fc4006bd72471c0fc9607ed9a5c69575a8a2a0354ace7084e2f49101513db2d1fcab448a48cf5b7d555d8b0f485be9c0ef8c9f40397cc51d4596bc186603d96673126ee820a9a57edc6b576ffe4c5be68c6625be4038673771e17dd2a5e3b80190d9678e5ff67de9aa97a18cd69d4eb327acbd776b303bfe9aa176fd8d422e2eec6b0290f6c70e60cac36181210b5c818d7b5561cf213037916ffea96e6a85f251a53d42671d9e46d2b1817a8cd1abc4d4da41dfbc62e9c035993c8200cba954ac70e38ee67677c9f1bc46ee7d6681fc70fa699d9fd9702910316d1325a4ccea08aa35a112a67c96e6e0548d75bcd2f8341bf11d99e6e701aea03b9a44709e4bacb2e37dca740ffb8cb171141a10085ec6dd3b7d735f8c74924eb03059a3825328817525fa46bfab537331db5e95cc1be11ac4b0586bab4b11b1fc70379744ccd53c5296c96fcf4645b4a7e32a22be6dfdfe3d65ae8319f20e36dc33503fd52c374fdca64859ac5c8345371402d18db06eccda74d9736ec6611ff991212037af39b368f8b86265612ad9ad158e733176fada549415e839e4b533b333a8e44038e0068e5b3ad6e80aaf2dc3e1a5c3dfc3a8dd58e89222c6599eb590044b437c003243bf8bb0187e16dbb3797d3a968f7e395fdad8a40a672076ec30bd35e7d4e09034edfbcb3bb3beb15e4147cc395307c12582846f2160144abe99e42a0052ba9c703cb88c151159c3fa56ea75351da31de603d79f3f038260315a781b9bd037b091803954147fa5c93443b7ff9ab623b25fd0b5b9bb14e6ef610569f0fd8ebc1fd6bd6035150b43a813f9cde1640fb7750cfb9c39e220b2b7f27479871f0a49c0a1a6fb505581e032b69b2af6fbf9f2d1db8159e6f2b1a3b5609f0c3611f804e647167bf300c0746e5419ecefc00031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03d3f7eb7fc08930c2e09fcac0b8eabe5bb6284c92924fe701647f9a6c4007011bffffffffffffffff05581e0381bfda4ff14a07c12b0fdd579a8aef95c4ea091ca80934ed958fe31760040205581e03fe091e1ae92b37ac91078ac2b23c542698aa063cdb033592c6b35c9e60084802fda0372a045a6c0459072160806040526004361061004a5760003560e01c806313af4035146100545780636c5d4ad014610087578063893d20e81461013a5780639b0b0fda1461016b578063aaf10f421461019b575b6100526101b0565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b031661036c565b34801561009357600080fd5b50610052600480360360208110156100aa57600080fd5b8101906020810181356401000000008111156100c557600080fd5b8201836020820111156100d757600080fd5b803590602001918460018302840111640100000000831117156100f957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103af945050505050565b34801561014657600080fd5b5061014f610505565b604080516001600160a01b039092168252519081900360200190f35b34801561017757600080fd5b506100526004803603604081101561018e57600080fd5b508035906020013561054b565b3480156101a757600080fd5b5061014f610589565b60006101ba6105bd565b60408051600481526024810182526020810180516001600160e01b0316635bca393160e11b1781529151815193945060009384936001600160a01b0387169392918291908083835b602083106102215780518252601f199092019160209182019101610202565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114610281576040519150601f19603f3d011682016040523d82523d6000602084013e610286565b606091505b5091509150818015610299575080516020145b156102f85760008180602001905160208110156102b557600080fd5b5051905080156102f65760405162461bcd60e51b81526004018080602001828103825260358152602001806106b76035913960400191505060405180910390fd5b505b60006103026105e2565b90506001600160a01b0381166103495760405162461bcd60e51b81526004018080602001828103825260308152602001806106546030913960400191505060405180910390fd5b3660008037600080366000845af43d6000803e80610366573d6000fd5b503d6000f35b6103746105bd565b6001600160a01b0316336001600160a01b03161480610391575033155b156103a45761039f81610607565b6103ac565b6103ac6101b0565b50565b6103b76105bd565b6001600160a01b0316336001600160a01b031614806103d4575033155b156103a45760006103e36105e2565b90506103ee8161062b565b825160208401201415610401575061039f565b60006c600d380380600d6000396000f360981b83604051602001808372ffffffffffffffffffffffffffffffffffffff19168152600d0182805190602001908083835b602083106104635780518252601f199092019160209182019101610444565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052905060008151602083016000f0905083805190602001206104b88261062b565b146104f45760405162461bcd60e51b81526004018080602001828103825260338152602001806106846033913960400191505060405180910390fd5b6104fd8161062f565b5050506103ac565b600061050f6105bd565b6001600160a01b0316336001600160a01b0316148061052c575033155b15610540576105396105bd565b9050610548565b6105486101b0565b90565b6105536105bd565b6001600160a01b0316336001600160a01b03161480610570575033155b1561057d57808255610585565b6105856101b0565b5050565b60006105936105bd565b6001600160a01b0316336001600160a01b031614806105b0575033155b15610540576105396105e2565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3f90565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe4c314368756753706c61736850726f78793a20696d706c656d656e746174696f6e206973206e6f7420736574207965744c314368756753706c61736850726f78793a20636f646520776173206e6f7420636f72726563746c79206465706c6f7965642e4c314368756753706c61736850726f78793a2073797374656d2069732063757272656e746c79206265696e67207570677261646564a26469706673582212202e20c1d0062b5a698d49624edce72a713b117e88f4cd70877869b53519c1d1f964736f6c63430007060033033301adce1926684f20fc493e18fe2fe18a5a7d8beb9c4c311c7b7fece14e10b00390a0bcd31eb0305e2fd37cf406cff239783d0577e7d4f4e3fc1aa37055bfee270317371eb20e1935db5b2a7fdf8141170d0bacd1df363677d1582edb6e91e73685031a9952d95a176d87bf496278a6ccda91e16e3fe06d66adef573683322b6c2ae103f747c4379b5fa61b363b8e5c2df5713ef7190a6d93caac24308fdf68b26a204700582002db3ff9d7531ebdfd0dc10971db6acbce47fc4f9421af19a3a79609260bee7c4a13783a965e9ac2ef163b00582003852572f70a057948b28eea610e715466f300d91e5b1e6571329e7725a986d04936890df5fbcaf80000005820038d4ae0bca34edfeaf4ef895930d022cd5f0a0fd2611ab451fff60e917328304b026cc3a098636d5faa5cc800582003f0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d481054543ba4aadbab8f9025686bd03993043599c6fb0400582003b421b347fbc05243a941d925d71af9e7160475479e540f5549afa007cd72404a218c64fcd08b08f993720219610103e3e469b721f4746dadfba1d2e40607f4e378e175356534a68c0ac1a5a83a75180058200226821da8cfcdb9a36bdedb3624f99e1eb5a6e3f412dc8c8271025c97a370304915af1d78b58c40000000582002a979979a8a8fdca78c12412f2cd3f350fceab84f1f6fcff98bce433e298f2e4c0898eab449fae3c2fd35fceb00582002e37fe33c4422ef9277301b1efeafe4026b687bf8bcacb97fdf3c9dca9365414a012b6791696124a68b2d00582002a8a3ca0490c1008196f52bbf04a693050b2b7edc3e16ef371da8cd167d973b46a6bc1b378c330319aa6fe3e0bbb8dbbaa2d2d187193c9f3cae4109996af16f182502877d3be94a005820027fe2bcdce798c89c5ccd007a9a6819342f297242cb4e46e4969e0ec9a7ed57463bfa45649a7103233a0815c877f58be34059913eefa3d00e88c816eecddfb4c241fc28aa0c3e500219e2bd03fa72d74a70f2cd3adc5fa3492a6ebc975ebd6f937d578480244e5207a71630c3005820027ab80beb42bf8b5b6ea8ce1560c8b6dcd42a56f6921e978b54ca0a06e3e9f04a0183ea641d26a0dba59700582002c065c3d7a8d3eaf19402a27a232a0aa4ca2c8da6c7b14d51fe17d5f6d0a3e14a053b34deb8993200000000582003097116388cfb2cfd3edc8d704bc8bb54901f09394c5925294f7b54bad38a804a9996ff72454ec825173f0058200320eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05464b5a5ed26dcb17370ff4d33a8d503f0fbd06cff0219080100582002ea4756b95ae780fde5b6efc41ef7e8008eac5489a481ccd5d5cb7e553e84684b7c13bc4b2c133c5600000003c41d8ffb4722f55d5fc3e88c77436989ab691fa56dd7cba0f53cd48668ffe34e0058200285ffdff12be6525abafe4b21bb092a9a9d5db12d2545b41e5f67e021d97a36460100278cc27f00582002752e0b7f1b4ff5cbfbfb799b77f0f9dcf01f31411662df44c724865491e0ae4a051821f0f88d24444b2500582002f3046898ab8644e02dd108a040d0db923f34bf13a1124f3bbb54c4e4c5197949fdc51e6e6801f7ffff00582002729a1559dca8288c024a23720e6cdd0e6a29f8a2f4375c940a3d9f5da442b94b0a31169439db71dd8fda14021976a9005820025eee8de09dac1d4842e2c447d642c5c79f590db14923d1b868b3b30f60163647038ee5ababf3de0395fb4a49a3856252b68fc5b3f5d183f4e9b72fca220f6c97196db2b4e339bdfb039ed20c516edf5b9024ac92e8a683ceb1e0be25eb8cefe43335719a6123463a1d03353cb7a0a7238855a9816f0d33bf5f4cceaeef945e338da91d4534b5255847250058200216793b3fee9870fea61a4811fb26e1ece22798a4a4a0c0a0d75c185880134b4758d15e1762800a00582002d3bde99151ef0d977a44928d6ff7a0fcbd5960277cc4a0b34287c2d575ff1f4846e0900e6a989af100582003da68cf1333733d0a8ced4a3435550bcf8ee893fe62e3034c46b87d3888ec704a101f1638df3f90bf922c005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0544200000000000000000000000000000000000010020c00582002142c905bf139e778f9dac9cf935ba449e0f97047ca80413bf96c4692e2df1249210b6c413bf0d572b600582002f49a007fb4793a881e549ef1891982d6ccc12cdb806ca09e24d09d8adfdb9f472386f26fc1000000582002050c1c50a99303e1026c79d4192e590765335d03295873af0885477ae375f6488ac7230489e800000219b77803a5f5468bfe94540118201cc7898fcf61f1238ea7135a37cc05948a40e8935bad030d4a52cf21381f1b5590c0459392f489f4a3c5c2fd6d037f4538add8e04ef87e033ec48e00f8828bd6b994f2c336ef2796bf3e2b38b2a4e019b5000a6e920b913a005820023ec6cc1a7ec3e1f69b1ef9a9d38374cae2c6854c4a3e67c5d2b4b3750ffdc84b01ef2d1b96834f06a2c58d00581f025a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5425ace71c97b33cc4729cf772ae268934f7ab5fa100581f020bb1699dc0095667c3bae597e27f7f9f21fe04bfa8caad9c50a6472258d8472386f26fc10000021980800058200381d73012b329bd26cb2ecc84aa8f029fe44bc05d1f1118b53abdbc5b6135204b16d1e523eea323ff2545590219202000582002d1bac16c608ae0e883cf2bb3dc126816fc1087edd7290d18c89cafdf6d326e4b0848481de84c9595128007005820023066ffd10b67f42acac7401953a6d71da5c05da59124cdbfe553d5629e06114b027414dcd9724296dc0001036be4eefa9fc210bf31a2c27a22a51211d1b98d5799c9772a743bd93bbfc8b15c0058200282e4590e9f44ea096e1a1ee1824165c01aa7bc8e687c724b8e8eb33ae6543c4a01ba1ad5a2db5c6f339900582002bf6b517d56fb0d79018b59ec0cf40778c3e8fdf86874b8ed631f43966740ab4a01e7e4171bf4d3a00000005820025730a219046d9af772135445370508e925509d47bbe51b54b241b0057304434a013f31d75188c905983f005820020a086f9d05d5131c40dc7730b5e3000af4f830faa37e1759ef10e6fcc9e1f1488ac7230489e80000035317d8374772b1cd6b598769edc8a4f67c2ae058d1e03d614b4ebe1df689da75021998fe037adac6f1929d3b96f8dbf7988f72754927d4aa97a953b21b74070386be78f8c80363331bebce56d44522902aa9a260bcc45168071ea8122e8dba2c0994cc329f8903bc80fe25dee4d81f3cfc60c67c4e72451db0407aefeb0d8475293fd3fbb8edf70219ffff05581e03f540e7837c6ee6e7913b02c6f7e1879e3c5373fe43cccf4db0053c45e0070319072105581e03be2947b703ae30c63386243b9b069ddb0270cde1d043dad84431b974e0040103d3f5508b4f424aed56d822622b268daa19e78667e2eeb74f9a45e4af36e830f705581e039428ae4fe8b7d3798ba23a8bc63107804a656ddb1d805420a8290dca700c014701d789ba6e68c005581e03feadda563ed3380ca5190863f4d12d4bafc4b95884b19a0315d0e469400c0247a87582a15090000356d4954c79d76271d82537a492fddf4d1791f9a16ce314d57d2368b0d482dea30219d367038a79e2ac0a25393a60acda88b313c3c09860b9cba8a6e1325bf0bc35f4743ab9033b5561828d4ce8a55d31c8ce401863cfea8f9058fa5de2f0d7b437103133e6f503ea477759807f75e659fa33356e5a432511bddd3833745cf7c845fbeb63962fbe0397a7fc58fee82bad0427fca63bb89867d24eab223ce1dea14fa9d097dbc65aa30219ffff036030b320923652ff45ae02bc0bb0aabd824ece56df74acf94cdaedb529e5162e03130ec23a375c1c9f9f1dc8b6f79bead032e94b19e075119311a070994575b4820310c6df0daea7221326746199b44d077308a2bf029bea0cd319bad14803e9792f03c389ae0c3d1ead9bd649c51331308e17081741cbbe971d975d3b0e68a0b07abf03c54bacbfd88cf6efa715a19a6be50daff20b49c42b81a3dc026f25577532e7b1035c074c4fd8fac3296d6a8f1798f262fe7722ef0e812f7175dd67734644b13c870301c7353aa6a74ce5fab6553b0e63befe22aec82e2c93b604427d6a4efa7f646103bc89e5dc493e7401216f6ab514404bbf3a9f8a94ca8b745783cc141a606e6f47036aa2cc21af06de50896bc4910b25778570b3d5bf16fa4682874f398bbd575547032ab34cf1c773a3a8a2c421b928103b2541c42a6c315fcb01d20d2dd18850628803aa4b45d3cb89702bed777e2ee6eca5ceb3f1dcb94fc4b3bef5f516e066b72eed03145edd83391b066f796edd52cc7955d42ef26437bcc6a1132e886ddf1a26db80036c58014de98c00b51c1cfbfd61c3e17927a79d64f1e4ab14048dd3adcb6b4f880219ffff03fee94308a94f1ced7aaf49a870a3efc64a7fa8cda264ba305b1b73ae131c40f803c2469296faeba5f308fcce0058b678f879aec75dbfb671872d6a60c78ad2a7440353fd6dd53f7b32d25abfa105e0dbfe8afee5ab7eac2afb00f9b2692926806917030e369996da3c19a9df030ab4c6ae507c3f87c22155a3a07148d02117a9229cf903bfcd945c69e7840fc5abd10dc77663e0395f774716f6b51bd6f3b4bb39f8131603a532452cafee6d6c79f1b4a1186f798269cb8b8c16cc108f320f0a5a6def1abf0331445e138abe912cbfecea26da78b2e7a4aadbb2c4e63aa302cadbf8b7737d86039edd425cdb37ed3e80264d54bf1e9d5db96c738e537ea12fb72a8038790769ae0357ae2e8b7f775b14593792c621dbd77cfd8dc09bf41e7ecd20461065b7c86f9b03c4c952e28b889d96d6be73a063f434ad149123d342ccb95d16307ae866e66f4903e0eeaaa1a51a16fd273b3e19287f70436c7dd5fe8be0b74355a1d62c68ae53c303ae58ddb0514ff519d2226cbebfcec6719026d08453200b5824a82c1bda36bbd503a5b2e80b07393bfafd98e5e5086e7531ae1bfbae4ab75d3d6ee0f705875ae189039f1823ffd2186dca92858badcea8263f86bf26e12e6025e8232a97a5829ac44f0219ffff03b86fbf4b12d34794d8c74767acddb763fcf954b46b2ad8459214284cedaf0a6b033ac9668328ab8054bbafb48f9364047809474004061934a487a4b157f314920003f3f0e82c45dbd72daf42c07bf491f8212c07bc5ad0db2c5f5eabfcf5a2c02d1203fd0ecbb0e319fc5a64a518c41bf4f7135500dfc616a5ee1d467ab3066ac2e42d0382687cc525f8c0d4b741c55eff8d071cb050398057ba46709d771818018b329e034aa439a0bd5040f7f8c24e19fea97c0faff08c258ef2c17a00830cde5aa9bab703516f6f2363bcbec9b1601185736eabf7970484ad2fdca28ea5b26843f6be7f75036494990dc020971a406536f5fd362ef132b3d9acd50d95f2e483e48a557ee7550398271713d75483671c37486ce77b5e63aa9e8d014a35e042fa7d3079f5393de903bb3890085d2e656675e1d25ad5ca23ec650015b4b7a8824fc67b984656dad8bd03407d91f1408cec3f8ed09d059eb42003571d41d7ad15006a1fedd6d7ba5cbba2033d984b646a63944a832bf1639b43f507180420b226aa0216cd3125318cdea7bf03deb4a181ac7abaf755b57692b86f31cd82faec0e86edaa6e337939d018796e23037ea238a70749ffb91ec36154e874eb4e7bd970e04ac3ed501deb31b3bcf5459c03fce04188d01a73dec99d876a951553f94297c4c84ddf0b25ba03a243e76d8a0903eca771c4ce200315e9b138c388e3656d07ba945bfcb74bf002d627032ff0e2e103c50843a76040811147c32dd482938a454905e1ad592e83134e709b61d51c189f03c913c222c2f69941afe335718d0c76c1236fc698b8e505cbac5bbc2a68a1b434032e90ae7bf689b72e89a13b22868d9e4170cfd7d584ec6b4bafe0eae02b4b770703885555a875bc5234f7f6377db9245c1910491f75b5f41626d53987da5b532d7903265533a7e903c1783a0db0db3447d0ec901eb7a5abde244b8b2425c699c909970339d0bc17f60e37258276acf4a7710ad6f0271a4268e5a37325167d7ff1fcfdf70313e5c9d6a6777603fdd458c1fcfb626d8391d99536982cf8a6a64eb3b12eb9ee03cb143a8c3d478f7ab921920bceb5b2f490e3c9e2bb6e736de26dc26f72bff89a03802bf078d7f9db7646ca56a676c6236779f9db03f7a771300319261b975946c203562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03a8f5830b8682626cdf5b8f97e9cb27011fc88bce21a2d518b6bde4b0a007011bffffffffffffffff05581e03d190f579ea0046c5b0a7e686812bd72dc4dfb11e5eaf34514844d4fde0040104592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c6343000510003203f2424b7979f36d7b1956b81eb168762a6a1a91c1285d9a0702e63c9f47e1f4a0039df1700ae603c251b2eaf783b18ce5dfa168d4e6ccf1b755da4ea687cef47d8703c2b44bfea979fbd8670f5c96c81c5f58606b7a32b7f3d5a101cedfbc0f4698780367598730bc8f54ecd5853e145a299ae5cf397a3aadcbeab00f1d5dc4a8425135036a9eabdf205e7f485a4c5894b3c7ff06d5162a3339ca4054a4f3587b3976757c038b931034f7cdf3b1855b28d0c0585a24392e845e8b3810878a614bf753f8212a030c53f1e0ebe7dc9bd6842e4367f5899226fc162a38bdc159ed0614278f6b9d1a0395aef7198f6d2ef5ee08a0280ca97e630dda6ec8b57817e01efaf5963973f39603463054f7e4c519e74d55b9aed74948d513c192090b1b8ea3b266f72e74e0ef49033db6563b56d6309937c849417cb92ada5d6d28a610f3d7110ed52af7be48f26903aee1e60b35241529a91cafa1791159abb56ed69c21c6339f527d0109acf6ea98035f9618cad45bb4ce85f0fc840c09ee0a476b0c3355f2f758c17fc38263c3511f03a5d0c706e035522d2997bb79e415000a3a5283e426cfb2454cf1f1cbc1e0148c035db35457e7d3b97191b9d74e38952d7fc7586f89acbd2af07cd3e21a8512dac103cf6e4160daa251976d5861fe4ee37869a6c9e4fc97b0eaca8d66c613c4710d2b038d8f50e022947ed37b97fed3ea40b505cba255f97eefd6235d730fcde5ffac9b0340e3f2e61f0e5f2dc714599eb9c5496265a3fbbeaf8ef1fddc84d1c1c002b0a503c4f15ea1c342665fcc7b314fcfd4cb76fe3ff143d183fa832c937bac19b7f16303e55002a37d5ea863e3af1a274761ebd84c54b1d1ff7b12976e58bc98f5eb37740398d62e533e3e3227158a1107a03c05e316ecfe0a284445c63eac10113788bfc903087741e63d8e9f5bec5e69d06bfea15bd9607988082891e953fbc0f984b444bc00581f02c7c4cf06db9a6a2227ae202e727bd48e523b492599fca4f9c54c37b4ab434d0c9f2c9cd046743e26721cdc5300581f02e2ca32594dea6612a2d1ffc3958cca216d28db260d5aab8b3a7932f2d59b410103509a02d4ed52e37b48572fb5415c4699ff440773e0d0177684762467b50f0ee900581f0240171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af5601a491e25a4b0ac3b6fb81a757f64be4a3642805c31c03f6a999bb321e27f2d5aadecc104539fcea6754b45b66dfb2ce0f102dc88fa19100581f02e5ebf9c5f619b031585466b1b1f92c2b3ac0217e14b95bb653efdcc451cd410100581f02eb92936b703de13bd82b77168d389717eb000b46354bfb84fe1056b80325410100581f0233b4c6f705f08d95a978a67e9ce5d034727243ce77a5b5de68f011b656c44102021990eb0306db005b9072dd18b1c7a6cc07e1c0e3b1148a1fe0c3cbab036758f96741aa3403eecaa3474e78066e4376d276ef97438ed577d4589c2d3434904c1d721ae59dbb035ddfe32b26b25b1b333b15040e86e5b6e99a6b50cd1794237af038c3483ff52103523a30ea25ac6f6674f6f742c537212989383df3a08fbe0ee92f5e13d00eff8a03633326ae2313dbd344f1624b7f2626a92bd16d3c126a985ccbf7af19ab0b47bb03e4db64975e53916c6f9f9392c0ac66740234dc9c510a2043ae986b89b461089403460aec1aaae4a239580b5cde3e0881d50ddb2a8c9038823935a049f0c55448a50388bc2c014ef8aba54f1cd944a56d9524c65d21ebfb95a54b5583c15c63e48185030b1cfcb3715efd1378250cb3d264c4271a549657dab54081b05e5e253a3956e603468421daa5f7e74f289ca3dbffb12756bcfc35217660804378ea09c36dcfc127031817fb309a7ff2eb47fc17abcfa780f74a00a37fd8c41f36828b9b584332c08603f2727b658fe525008e7de8eb41f4c8db9595e4ccac96fdf88129715fb70d3ba70307f85bcfd362414548900a390ab47e5d469e119ba9005c55726330b433ceec990370a480a47081ef490be789d20efeea027603e173429be53bcab2f5bc31dc0a010219ffff037d31ddef463f71594d6482bbcc847e76547d57f5d48fc9015668ae7f40f39e640219ffff03be666ef5b7f345b0a073c8ca22ccd20e2b9451f46a97ca38491c2664f830f73d03980b4c40117c8b57dc943cf35c785715d0bbd389f39acde96512b040b7b5865403919ff47d5c9719921028d3840379960c8007242be5e9fe8c5bdf79f8908f890f03bd6d17f094dbe5704fbbf116533d9ab77dda77c21754b37f8c1d6e11a9a3e8c3038a8eb28246126ad167a6b720e463ad78463c3fe725cc178a6cc1c4a5a960758003a60b20d84ffb467da67ec7ef1d8af078282672333fb50de744960ea27646a72f03c90f0eab53b21624f21120024416d6265f1c1e8bb5b8f390fb7b1bf5a7c2c5ff039443168d5cf44bc544c4c5bf9f9baab2c185561a8619902f5fa6cae63f30429603dd3e6ce5da5125e94493ac6454f14ff6c84533b4bdf6e3d16040d6dfbb3f5b1c03206a7897204bd4f23195f5f9fa0075449f6e947cc7e536cff4c509cbda5f56d6032ab37375c25b682de2dadc677d82f15a4fac5ab2e3b2cc996a240e5e31d4f49303d87c168cefa127ed4d393c87f2eba4aa87b1653d35e591641af0dc2a1acf88cc03c70b50a3d65923c7c2b49ad4cca6221f5175eebffed264145dd7c46b759402ab033295bf06e9f0da5daa560640da1cd496028f3cc616689ef7f2a557bb582dcb42038c200294a5c2dc13736e433f79a167bad9cc59901737ea611d7db9962b84bd0d03d173b9c43623428975d0408c0cc6935e5177871fe570caf84a69678ff65cd52800581f022468130fc4c65376bdecdb5a6558a25dec8cfdc530ca215f170a60df405f576867a5a867f103b2fffa5a71fba0e7b671953d2e1303c003e79fcf47eaabd49d510fb34ce76349c2d8716e52012cf40d505d3233b0d9e04a00581f0256881e7859bf127639e24cedcf8c5b58b24104e4f78aca57f86b55d75215443ee868e500581f03ff56f066dd81d742e075e7f77a2623999474f64b949426ba0214d839b1c0576867a5a867f103b2fffa5a71fba0e7b67f639106ab0e9d00581f03928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20219108002191a0503fe3fbdeeabd24172ea1faf8ef618596870f7b146117b9aa616047425b87e636a036a61c14a998ee8f6420692eed873842e52af7b151df0a5d547810abfa0482aad0367b62d2383ca22aa1d4a660b14aee0efa2d641a961f09f93fd6e3538bb1ebc09033f46617f0c7613edd3b196c34c2c4854055e0a5ac335d7feac897395aa7ae6f103c35762294e2c934eccbacff509f3aeb70d2c16d423b0c953185029944e8dcaf50363af73c9a211eb17da895f43d6b53d7bc49c1fd0b9b1f43ad5006fd9e96c385403d58b2b4da0bc5b9a87abd95c33a7965829261aba440003f70eb671fa2840e05403590a89de1cb20b63cacd2080cb19f5f9991c16272159f6fc60d19a048898739803cf0b27438715ae1c15e05e47dc63c9c8f9591756328778500a243419c0a0c24d0219ffff032b01afacd72a033a8766f6effff2e4fa33d06888af729361e5e8d94bc1f3013b036607a0cfb4c01b7eda4b64f8800ffefc75ec583090fa300a800a3ec2acbf760f0394d8d0c9f3a3df638a57bffdd5eaabc209fb4a531eaf45de6476b7252058452f039da24315c0b8c127b07b4a62c31c8e76b44df41ae8826f802e39dbbd05c9f30f0321c98d8f8bc8f1fb92be28ccca41467b22c40f08b1078738df2bb312a08b5c4703a9e8c2d8c58730f51a966dcf5be1c85559f95d10456c06b1db429fa0ba6d0b63039e6e89641d3d06f50d20955aaeede2812a36c02f988fe53fb0b5f6e55d7319990366fc6a45814171270022634f7c39aff6e34455065b9d9ec11d891b8bd74eb3cc03cb7adb72f04ef63c7faa4305e4a8320f32f28686c4efdeeaf5ab542a68dcc0530219ffff0393d66b00a24a3f9581d0e221cdaf9484c4124cd4e07272e411552eb93811707f03c7584cb615a0c11e6d0a6ca0f0f89f137b44974fa97ce7b4c6a1191ddfbd1ccf032b86b6aa722e2b402f7c6de37e5b7312a83dd5cfdd1d5c486f6053a883ce54b70335d6552264052963d9668a2d467bc209b67e532b66a873c4e5cd3c8022c3433f03df2f65faa0e97fce498e01c3ab0d6c5a3ba8f5ca6caf0e9c96cab3a5a91330b903d541733868d3c19630030446ccd32749d00bde9c447719d72e49845e458ffea6034aa383ad251189af23ac444ab6227491ea66afe73868f57f0e3d3496666052eb03f9a47c860c830bcd4c86d0d1206da17f89e809f485579463b90068be89cc0d2503273cf6ea23972dc302042cb4f0fe2e77183ea0e6af265d93a28da9a0d2b79da903571fdec0c6b25372a9ee7edbd960ab6c5a33028a54321e774eb7afb04bee8e5203bb28912959b3aa8365c384324a3357a956182007e38fc8d076a2c310d858c51903259d7db56c7db532ebbadaa45d4d3ad76dd42ecaded4ba5f86c3fb5d4f6552c200581f02592cd73cadf224eb52330083eadba590b07325570f4f5b1fa48f5c1f09d8576867a5a867f103b2fffa5a71fba0e7b62caea7afbb3fd800581f0239c6e84b8767b50a8ee3ca8485203476a7675ecebc5c72c0c9a6863c0ae65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f021d3bbc012543341faa3432bb47632aa922a78a1ecc0e8b5e5efe205f81f2410100581f022d51f4d0b6523c024d4fe4654d5bb13d36dac18c2b501b23251c27db47fa410100581f0264e974dcc62500f0b825177ea6900485f25dcf746a170f70d2440d87d007410200581f027bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84e43dc60d2b004f9b630ff82d3ceea03f05ec731978cb9eb8e7c28553c090115316f397ff27f9c71031a3ca54f79269400581f02593a0117b2a1e634b5b0169d61dff487f0bc305f315ccbc467ec406c4a705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f028f4a19fc4220862d5bedce436471c2a546596a24ea74e9fb1312e05017be410102196ed8034ccc9bbec848f1810479d2a28b920370bd067acf7c895d7e36dfa9168825d1c603d9094208c8a6053985154f546dc3c62e11ff3b5f2be2623c9e5d2c9ffdc2ed8903b3e9cad9911eddeb377edbc1214499b762b6624c14a6093973f42964517c2736031b6b748d7d2fb6ab00dc54d1d2bfb8b10f9cb5fce1dbfd1fce0a9d711978a6750354752f38bfe57e5be32126957002ea94c02f1c76015c6c1c9a11086100ca60fb0312c0ff4be0c2d4f6226e2dc915ad20e707fb18acf1b7de8cea7e6a95a51eacda036252d8acfdab1b63ae62f9cac857bda85dab993959008773854bb54f615353ba0310d4ed3ead8e3dcd574c092eddf7b920882e8bdcb7987c2b5f016d923406e45f033406745bb3173acd72fe90b352cda23d9c95d28923862fd5bbae5acb3942d8f003d6cf296e4c689b5394dd4d96c7c4d3ed5e409710b2e4d69596b57f63e3e856510219ffff03e67245c5d380e4197edea78a38580ad846c63bdae35ea5cf90cedd936a43e9d503213d1d081810b9c16b7a5dd4461bcb7179efa43787c2095541eb811ecce6881903127f7d3f80d81bfe527e39c03b5098b5006a5091942c5a69cd292aedcdfe216b035fa83fa0a1cef387066b419e4f217a98d9eb520420264f8859721d4a6922822e031fa3a0862967a721e1eb257d2e7d7a7a6bc0d32d715d3f07cbee489cf3b2e53003fcaa72d0f27840b12a412a7c5f2b85ab0d3cae34dfdff6ff566f3f311b665839030cfc3a4aa222bb02570503512a4e9e6ee8c4f3c56f1607f4290246e051b572a30320e34cd10227d5d64f851a7e62adebbf982a7cd0bfa4d9ec6b55f9b43845bb63033b0844b8fa9805958926c134fca4125fc2c74ae5c5dc527dfb06908a36f31e550219ffff03c8068759523a07b9cf848ff5232b9c25a74b383612cf2f6b0338e36805a70ca703851c0c19adc83011df042298d76ead88ba4881ae3ad5c2e32980b8b45b7c7b58031257142d2438396815966b4a62f7cce8fda3734de569ac99eb84f84b67b52d60037e102186eb7a1134f184ff611a6a47fc12674f8e9ebedd6d13d6c5dbb7c0db1803c1c92f0c82642a41a243091ba2b465857c62640e44acc87e4849ca020411e5e3034d07b028a59a35a64a623ef600096d88cbde374219b2092aae0a2a2966531c300390f0faa9d5162b915b40d0e803bca597c9ff6b0b6c6eff9567fa76a6562b607a039b00e6d48dbd2c84908697c760038177884e05b689d5e71eb12f18996964430f03afcb5a2c0da55b4b29e362edd92202a764f1865084ed5ac43a198978a1ce271a03c48c0b832fcd975b9fe09480f918193cd31051435643057072fa2ff1b704ab4303ab51d8dcf8548e0893ca48f625a725fb7bc5ecc58389864673d322eae72ea12903d8acb716a925074861bf2f4d85bd61f587cafbf44a6934428d313e8b82da4cae03ad2eee096bd11560a544107fa5a7bcd9eec76166ebb475fe34c1c4f554e9f228038aaf98b67225f5c7a35134e74cc3e24e87e67c9fd48426d183e52a13efe56e2a03e8d4aee776378964e8d3ceeb93d2f17884748693bf8314afa389a56f325fdf1f03c1ebdfba1fe78572b69442ef6277e34102943030cf1131005c8fcf3af694e6e603991f88e235984ecdc76e9c9912498b51bed64df0ff0be18952d605e12a2fb6100349d7483268d7fb7e7034d04d7481c794e0e8d64dce421b002fa528d8141bb9de03d1d13303d1b00c4e962cacb68fc41b0ff6ae6a588564e957b03e285606760353038e08bd20ffc8bfd8faa1e74fc525172cc1eabf71a864d2ce78b2484e56d94ca803bd2920dc0f706719158fcbf9cb2c857ce016f7405bdc72bf0d68a27640c6f0000367551c91dea4f1624a749fee04786182275c485df8edfb1f2c988b3c4baf1fe701410800581f02003eb1904e9e36f0fdee4af8a1fdc7078f0128c104dd46a3f6f921db36085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f021869dcc49719a9889517f31021400cbde3ee8356d01ca8097afe2560fc0d410103b0e7f04afa821e2c984ad5aadd9b24938795fcd7159249ad8b87b3d8c32ef25300581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410100581f02e64570898fbeab4b5229b1cd9dd06bd8710d936d1619bccc1bef37c8c210410300581f0233c5213d0ba4a80d98d25222a89e6679855acd3a5fdc5a7c9869ce0a0bb95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02198b6203ea1b869cfd7609b35ece8e3fc6e7411aeaeea9c48bad23847b6e3e57eb13755d0305a7b659788d88b06374041324672352a6005f597a7285b9e8c6972f1e18f85e03cacba634f48ab9c09c46b8b6741267f8d2bf15a97206ea9497ae22511fc4cc7e0308a5b1ec8daea12459ad49ecc818f7dc120a4527ac28c1fa8d3bf718e1e9586a03e35df5d93074eff0034ea715cd4cc2f32cc39b7def7b8ca3c9cf0f7fa3f868890348f37add146497d4ff4f21b5a4ea93255950f2abac85719bc14d0261ed66f9ba035d68fbb6cd9162a9ab479744ad8e92ce1c6b4c8b77eae021f25d299a5929f91403989c0476865950bab8500e2ec03168931690cd1e9bcd7b15cbff3fddc121f62803a648a3abc1607050d43c3ab55a7302fa80ce0ec86a7240a21bf78044269f8d910219ffff0219ffff03bc798dca59203844f36649c75abaefb621eb0580500eed4729dbd61e6635611903047014bb8e277ac58fd613b9a8da6fd2b4c041dcc3dbd6db88da0d34041c2b2e03a61c41967cc65c0dd204bab3bdf4e9931975af4aaa4d59e32ac5ed9cbce506cc03adbb6c25dabcfd8acaf88709cda140d4b48336b26a2418afb8f2d01e9988492703e209b3d43bced02c405dddb6455ae1cf07b4ac7b6fc2906e1009610123864cc4038bb80a8d9149bccbaed8551610bb59aa1346db587028c38a208f18387f9a108803953a08b7b51ad08a08e3d40ce6ca0cdc1593c166a5d24b532237a6eea7992b4f039d5e91d5e1860b9b371a18fbcf7cde2d56a7cf8f6bed07584cd4971feccea96a03d0c2f8e01317ac1ce8cadd4e42977cee2f5e296e226de3065ca5a94e021114a703d6d82ef528b0363bc22d8dabdee4c6c257bb68919031066751be7e03b6f84fb40310d02000fb00c25689067c672d11b675b16b6b40c84a9c39757c479f4f174778037d331056a11dd6ae89341df13bc7d1fa2be6b60f560403090719940c28cc188603d7f3c1091594e350e4b2d36131cfd09ea998e78da41634e6237391efe2e5930f0318448324cafa58e78ec23262ba3a3eca34efa58765c56105e9693094c675ddcc03520006d4b265f953a8455a0f9d578a9ec147b141e914d383f5435c7bd97e26f40376a31acb3d599a93c845be0d63fb385190eb1d1bd233c558e667943e96d9ed0503ad1d9460ec7399d5c915aa84e92d6602a316f2eafe896fb0e2d531017dc95fa10363a9fcd5dc44d2e3a8b4de28f88375979ec97e9589fec8818ce86c376a6363f60337aa9481e6f37af4ecfb60c67cc20106242a9b58dc65a2b5149a608f0a91b4e700581f0250924605c30991be10114cb512f4835ac510d0f5023189674de0579f45965820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d159f2340dcd2aa00356ba16ef8146deb1cc0a5344e8bb2945678a6f65bd3b8400581f0327a4c5d49db8f9451e4903dc1edd9077d20cc3dc02107b1bc5ddb9507e104502723e901f00581f039fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3058206687dadb00000000036c0ba092f20277d8c100000000000000002b2dd60b47e00219040400581f02544e44a94c3fbe1a33ea6afbf0b22346d14ba9bd2eb4cd7138c2c577d6e25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02130c966be2d6e1c7b682d229e64f15e9bd3ffa448e731aba50d8300c6379410100581f024d60e8095990c982d58518ced7a17d286c3c26b8849351e9d8d23fc20db74cffffffffffefa5421dbe02ad021946920219ffff03562fb548bb50fcd32d30f51b5da606942e63afecde3bd622688755851439adc803c13be4bde33f5d277c8ff4117751192ddf2bf4e9e3dfdc4cf9e838e3fe6fc9d4033220ea86f7625b1db643aefa90e3e6621c18057f4e4ee539660fcf6c796202030393981a9ae9cced9b9d9c51fcf06d5b940063f309c3b95e044d309e0fb72ecbd503b85d505b5f00ce26b5452ce128769ffb12624bbbab21beb74f54e9b888c19a4403880cc33e4be0f5b3afdc1e5dfb67dfa4b3fbe04db46334bda03b036680342f3a0387f6f016d9e2aeb0e8ca314adcb97d0772f45db24b7bb0f812b619053ba282db00581f02222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800581f022d284afe99a20bf799b4d79d672335476a3d262f824bb3eb170813116158410200581f020705a270d1e13e52792bba864f1e559baddf824741e3c8b7edd7d8473cc7410302191014034dbbba847e3bf2354e839a6ac9808044e6f81e76fcd36fe27fe6e67f7558ed3403aeba5a5a5f23ede1071203ec6566f3e411a9392051d02f2c6bcbc8eae0c845c403d27bb0711cf00117286255535946955e0566a417856637ae69d870d50e385fef03382bb3b1c39264a0b17f1aaac0143f4df9452a537d1445783095b9d19ee24e72030d570ce0f597da8698dceebad5d62edeb3f32c17928e080077430be5c4d9843f0386a108505b9a96925d7b578c5f50078c5eb2c6358b555593ab5bd41fd85f1e4103b5e63e34f93dfddbfa11fb829c14af790a472ca0b6760ba94428e2b97d97158f03462e0cd25eb43256a7aa891e12f61feaa1b09a6f1ed5c4055ae0c1e1e826bcad03b1b7cd233a94b8c3fd2f8912f8cc8981d16c66d7cbd2d837a2b51129274dba3103058563a49df848fe6256ffb25b609cac6393bcda7a2f4e23c0ec3ed09455a8480219ffff030a52cc14119fb6027c9406795d03300e9d5796496b36b443f8fe285e9a7b76ed0314fbc0967da5a555fdc2c1087626bca972a8d9264cfd928025979d01ab4e56d20327222ab777c5ccb7a3a3834c681473f207671b21f0d81e89eb39eda176347c3c0321238cf680f19e2b95f89d0557bfdb54de72b22a045a1733768ff04bc0721f8703450a58dd4599d000c1a779ed29de2174bad7277bf1e3da83bff62d730bd85d2f030504a5d80e6cc05e4840d25e05e9f77a00e5e06b971da02eb1c4698b2a8ab054034dd7c7b1b0246da238d0673ca76eb8b6a88ffbe98027af64a52606dd462026f703a04a4ee920322babc29dc712a685853f1d2e095f48c3e5ca53ea5ac12703f5cc03da8e3235ecba4d2973dd99044f49c5656b5f926e7858f19985c9eced3c3d69c40219ffff0219ffff05581e0369d860ba51e1f38e9568d712cc1015d300e6459b24c6f12dd3bb72fbb00701192c1d0368a57f876b2a86d5202cb0b88a56b70157ea45308ca313ac94c58917316ccf2a031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03dc46867273ed70dbe36e1f7bc487477eb235a4a743e1563fa18e724e9007011bffffffffffffffff05581e036860b21c055eae9ab7584e141dcd434524e2623f3704c97f462fa8b2200c014634836895ae0005581e03d17038f9eb9ca5d5c7f2ed35ee4c36cd18aeaa99031ba3c822cc3a7480040103a243ff6b74281d79d0b2d05f3236a40825212deadd5b3caef0a90cb42e5ccd360219f38a030be7975ff94c83112895b30e8e4f533725768f6bc609e7c6530932c8399dac6d0344a0dcab32ea2cc3c6057347ecf698ea00a7304ed4ffa287dc4137da70ef62a803350bc6d59186f54dd04857c4d96209f909c0a26c774302971cda3d3ac2ad986503cd1fdc4f902de123c2e8502a8e43937cfebf7b68bacfa3afce47e4ba9398110b03483773ed69d42b0ed40c56741791658714a9bed2b14faef817a2793a1d8cad37039feee4a4ce21ea4f6c069a386ede6abd9af84fb7df43a6b0ba1cd4ba720221a303e4ec27bf1901df7f8dad96aadb10c635d54ee9622bb63d274aec3fddf2783c0a034a47a90b1539a8f58a666a359979841016b3a26edf7638bd9dc099f1f97b196c0392ad202cd1d085dcff7d2031d36fe80ae6af31c6f5d6949f48fec7f760d80f2b0351140fcfac1e901bfcd2d6210b350763e0c8dfde782969a925cf49543fc249770219ffff039e6b50879081ad9af103e29b1aad38a2802c95fa37d5f55d1d0e1d3b5f417f1c0317307d1110bb78de433293005a32eb767ed13a07211267bbb39c8bc2519a19d703a1f0494c9bb9820975faa133a64db4451f404ae21f1a9d6cb50e038e48cd189103227e8e4b370659176534718f8d884fc034e1799d7ea3024c051b79e75a31e778036f42bf464d55ed84355141ef9e5c8f640eff729c1e2f34aaf7c90a677307c56303d76f26ea9c262a7a52240b9108b7fa8e171c863ae535bc449dde917f00dff1b503e2571d166b2ecc0b3ab9f5d572a6b5dc2b96b92cfcd7daafd22734a69ed838ae032c378f8c4821faa00a14c818c60fdfdf5c3535128a42d972aaa625b4c8448664030d0b7163cfd9498a473dd554f72a823e3a7388ecb5ebe5d7b6333ca13d9ee8a903d7bcaa1e03ad92c02bc7a20b69a682cd0f807fd99002fad6232f471f09de5276033a7d176289b025c7806d67143800eb589c21881e771b51d6e80050c27270ca10034fb1836e3ae5da7b10083d2d43ca07a449bb85cd6c99d200c96ac56b062e9be903aac4c0cf3220d7e6e1300aa287f77a31678feb74d8010b5482ca1b244347a9f00219ffff03985786f51237af4efa9f04c4786d9aea9a9d7cf4cef438ee72b12c91da9f0d430219ffff0384d21b9f0250b6f65758ca34de3ae1a3da14f23f3210bf60a0cab9f3fd4bf9450219ffff0219ffff0219ffff"}},"code_db":null,"txn_info":[{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x82fd9dd3666ed97b"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x993460b7a842a34c6de2dc08dde1c527f4354825432b190bba2e4f8a7b04c6c8","0x83527c15285f1e8105844570f1e2cee4351409b3e49ba843f6d6c999a35e304b","0xb170705aa4f94ab7a5d3c957c87a0cd5c79c8f72b8353ddefc6b128194ab12e3"],"storage_written":{"0x993460b7a842a34c6de2dc08dde1c527f4354825432b190bba2e4f8a7b04c6c8":"0x1bfae812011cb8c6fa","0xb170705aa4f94ab7a5d3c957c87a0cd5c79c8f72b8353ddefc6b128194ab12e3":"0xea8154c561ce7445a"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x6985884c4392d348587b19cb9eaaf157f13271cd":{"storage_read":["0x9ac87f9135ef5518e18895cc407b9a7180ee5ee00dc4658ce6b720d27f972c15","0x7b87c36bdd63e7a276fbf050f3e906c6d501c6a9ca9bd118793d46f1070462ac"],"storage_written":{"0x7b87c36bdd63e7a276fbf050f3e906c6d501c6a9ca9bd118793d46f1070462ac":"0x2d76e3ccf69247d21588","0x9ac87f9135ef5518e18895cc407b9a7180ee5ee00dc4658ce6b720d27f972c15":"0x1fb85894528dcdccc3b"},"code_usage":{"read":"0x02f0494b7862f7ddfd03e2431fc9610ef17c8ff6471b955a694195a2163f42ae"}},"0x360acf12e72044ba3eaaa654e51e4725c699dcb1":{"storage_read":["0x4a6f485c1c32cc07b41a962ff745e1d2a15f32520f92181d93f06ac057458486","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000fef6640000000000000000088bfd59dc1bdd7fe997acb8","0x0000000000000000000000000000000000000000000000000000000000000002":"0x36a079b908bdff19cc649088079a83","0x0000000000000000000000000000000000000000000000000000000000000008":"0x1000041e800000000000003d1c85565bf74bf7d0effffea9c99370c6687db3b"},"code_usage":{"read":"0x731ae47450496be568323fc988a35683c77e7d1dabc35d48f76e3bbb90f7af65"}},"0xe46935ae80e05cdebd4a4008b6ccaa36d2845370":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c"]},"0x91aae0aafd9d2d730111b395c6871f248d7bd728":{"balance":"0x4a4914ce0464432d","nonce":"0xf2f95"},"0x98c3d3183c4b8a650614ad179a1a98be0a8d6b8e":{"storage_read":["0x798ccbe29346a5fbfd5a444781e94d0e404758abd7e34bbd55822bd2969d23c3","0x5fb8d8af4e982876a9442c41fbec5db8231f033c6d8940f68de87600d72534f4","0x744047973a85d4aacbdda410fff3b28867e25affaa67cb0b5c07a60030308b27","0x744047973a85d4aacbdda410fff3b28867e25affaa67cb0b5c07a60030308b28"],"code_usage":{"read":"0xfbad6819573d072fce6f8b7c14753ef8fc3e05765c959e3fbe484ea6a9465934"}},"0x3593d125a4f7849a1b059e64f4517a86dd60c95d":{"storage_read":["0xe6073e0758acab78dde6d02743b785e367643d6707ff869d9bd69ec0ea178f3a","0xf4e54bb51e10c9ff52102ae731b015539d4e9d60e64768267b59846a24141fd7"]}},"meta":{"byte_code":"0x02f9030701830f2f94850d67f22126850f66c5e6808307a12b9498c3d3183c4b8a650614ad179a1a98be0a8d6b8e80b8a449c36c07000000000000000000000000360acf12e72044ba3eaaa654e51e4725c699dcb100000000000000000000000000000000000000000000000036e0906d664e980000000000000000000000000000000000000000000886e8cd90e83180000000000000000000000000000000000000000000000000088c74c621f88480000000000000000000000000000000000000000000000000000000000000000000000000f901f0f8599498c3d3183c4b8a650614ad179a1a98be0a8d6b8ef842a0798ccbe29346a5fbfd5a444781e94d0e404758abd7e34bbd55822bd2969d23c3a05fb8d8af4e982876a9442c41fbec5db8231f033c6d8940f68de87600d72534f4f8dd94e46935ae80e05cdebd4a4008b6ccaa36d2845370f8c6a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000000cf85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0993460b7a842a34c6de2dc08dde1c527f4354825432b190bba2e4f8a7b04c6c8a083527c15285f1e8105844570f1e2cee4351409b3e49ba843f6d6c999a35e304bf859943593d125a4f7849a1b059e64f4517a86dd60c95df842a0e6073e0758acab78dde6d02743b785e367643d6707ff869d9bd69ec0ea178f3aa0f4e54bb51e10c9ff52102ae731b015539d4e9d60e64768267b59846a24141fd701a03fd22508a3ece7224cac85c9e011fa7ba76714086bb529c8baf2331019e91091a00f5a7bfc8cffc00c437f15a4382a5a120fce74bdc1380bfcc4a887ee421887fb","new_txn_trie_node_byte":"0x02f9030701830f2f94850d67f22126850f66c5e6808307a12b9498c3d3183c4b8a650614ad179a1a98be0a8d6b8e80b8a449c36c07000000000000000000000000360acf12e72044ba3eaaa654e51e4725c699dcb100000000000000000000000000000000000000000000000036e0906d664e980000000000000000000000000000000000000000000886e8cd90e83180000000000000000000000000000000000000000000000000088c74c621f88480000000000000000000000000000000000000000000000000000000000000000000000000f901f0f8599498c3d3183c4b8a650614ad179a1a98be0a8d6b8ef842a0798ccbe29346a5fbfd5a444781e94d0e404758abd7e34bbd55822bd2969d23c3a05fb8d8af4e982876a9442c41fbec5db8231f033c6d8940f68de87600d72534f4f8dd94e46935ae80e05cdebd4a4008b6ccaa36d2845370f8c6a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000000cf85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0993460b7a842a34c6de2dc08dde1c527f4354825432b190bba2e4f8a7b04c6c8a083527c15285f1e8105844570f1e2cee4351409b3e49ba843f6d6c999a35e304bf859943593d125a4f7849a1b059e64f4517a86dd60c95df842a0e6073e0758acab78dde6d02743b785e367643d6707ff869d9bd69ec0ea178f3aa0f4e54bb51e10c9ff52102ae731b015539d4e9d60e64768267b59846a24141fd701a03fd22508a3ece7224cac85c9e011fa7ba76714086bb529c8baf2331019e91091a00f5a7bfc8cffc00c437f15a4382a5a120fce74bdc1380bfcc4a887ee421887fb","new_receipt_trie_node_byte":"0xb9036802f903640183020d48b9010000000200000000080000000000000000000000000000000000000000000000000000000000000000000000000000020002000000080020000000000000000000000000000000000c00000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000010000800000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000004000000000000000400000002000000100000000000001000000000000000000000000000000000000002200000000002000000000000000000000000000000000000000000000000f90259f89b946985884c4392d348587b19cb9eaaf157f13271cdf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000360acf12e72044ba3eaaa654e51e4725c699dcb1a000000000000000000000000098c3d3183c4b8a650614ad179a1a98be0a8d6b8ea00000000000000000000000000000000000000000000000c03a980bb30f36c7c3f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000098c3d3183c4b8a650614ad179a1a98be0a8d6b8ea0000000000000000000000000360acf12e72044ba3eaaa654e51e4725c699dcb1a000000000000000000000000000000000000000000000000036e0906d664e9800f9011c94360acf12e72044ba3eaaa654e51e4725c699dcb1f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a000000000000000000000000098c3d3183c4b8a650614ad179a1a98be0a8d6b8ea000000000000000000000000098c3d3183c4b8a650614ad179a1a98be0a8d6b8eb8a0ffffffffffffffffffffffffffffffffffffffffffffff3fc567f44cf0c9383d00000000000000000000000000000000000000000000000036e0906d664e98000000000000000000000000000000000000000000088bfd59dc1bdd7fe997acb80000000000000000000000000000000000000000000009ddb0d9125040b943d6fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffef664","gas_used":134472}},{"traces":{"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_read":["0x4bf7493e925fef6dd3293644093c5bb2a5b1bd714284d153add6d8e712cda3cd","0x7b67b5194503314e85385637200508f4b17aee7ea8293adc6304faf14a745a0e","0x298277712454d8c5767076fab1dbfc4f7698c3a89367c3dd9713071443d1c68f","0x000000000000000000000000000000000000000000000000000000000000000e","0x7ec54d766f528d325375a8ebaf4337b65e22bde30c0ebe9051390046e4a9b729","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000012","0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000000000000000000000000000000000000000000a","0xb0f91dc32bed9f09b658056dc8bb9d12403a3eaaa493cc3443430cf75ad73628","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000011","0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000014","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000013"],"storage_written":{"0xb0f91dc32bed9f09b658056dc8bb9d12403a3eaaa493cc3443430cf75ad73628":"0xffffffffffffffffffffffffffffffffffffffffffffd6e584a8f534d803d983","0x7b67b5194503314e85385637200508f4b17aee7ea8293adc6304faf14a745a0e":"0x0","0x7ec54d766f528d325375a8ebaf4337b65e22bde30c0ebe9051390046e4a9b729":"0x124117128ab6d8d981b01","0x298277712454d8c5767076fab1dbfc4f7698c3a89367c3dd9713071443d1c68f":"0x0","0x0000000000000000000000000000000000000000000000000000000000000014":"0x10001764355a8cc85d9144beaa5ef29bc823f4149146c","0x4bf7493e925fef6dd3293644093c5bb2a5b1bd714284d153add6d8e712cda3cd":"0x208918fb5364c13ae98be"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49":{"balance":"0x5c342edf3a585d1c","storage_read":["0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x5c342edf3a585d1c"},"code_usage":{"read":"0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e"}},"0xac903c77b64c827dbd19ccedb29204725e032f4e":{"balance":"0x2bc20364111a805c"},"0x241423640f5bfd019f885e9b6b544145f96bd6cc":{"code_usage":{"read":"0xba760604c9edb98f15680f47d56043cf15cdef34433e8391c07a00cbbf05a7de"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8315a932d83a197b"},"0x764355a8cc85d9144beaa5ef29bc823f4149146c":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0x1d1b2320550b22652313681f54","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000000275845f8c3a481ac0000000208918fb5364c13ae98be","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x000000000000000000000000000000000000000000000000000000000000000a":"0x1e94336a8e87905d2564bdfa472572f4c260"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396dcb6bde194b99145","storage_read":["0x886d18740f4a8f91550141bd1fa130e7cf96c012d2a4ffddb833473864b6a753","0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8","0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea"],"storage_written":{"0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea":"0x0","0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8":"0x0","0x886d18740f4a8f91550141bd1fa130e7cf96c012d2a4ffddb833473864b6a753":"0x275845f8c3a481ac"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x9b921a25f457b0748a56464c0aba4250d822e3d7":{"balance":"0xf38c3784b99d8db","nonce":"0x50"},"0x7a250d5630b4cf539739df2c5dacb4c659f2488d":{"code_usage":{"read":"0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2"}},"0xc465cc50b7d5a29b9308968f870a4b242a8e1873":{"code_usage":{"read":"0x7b287ee78288945f2c3ccb923d99243bbf70d6040de54ddeec372457739a4612"}}},"meta":{"byte_code":"0x02f90273014f85060db884008508c9f85bfb83080b41943328f7f4a1d1c57c35df56bbf0c9dcafca309c4980b9020475713a080000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146c00000000000000000000000000000000000000000000291a7b570acb27fc267c0000000000000000000000000000000000000000000000000231c0f33414459e000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e18730000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687db3b0000000000000000000000000000000000000000000000000000000000000000c001a042af1c1834d1ca0d4c46c178601cdb4043de5f14a68bc9cbd09086b557c583f5a013e8282247a87dce33b7b1b352f9286f0e68a0b66ef6fd35bb07f382ac491531","new_txn_trie_node_byte":"0x02f90273014f85060db884008508c9f85bfb83080b41943328f7f4a1d1c57c35df56bbf0c9dcafca309c4980b9020475713a080000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146c00000000000000000000000000000000000000000000291a7b570acb27fc267c0000000000000000000000000000000000000000000000000231c0f33414459e000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e18730000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000003750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687db3b0000000000000000000000000000000000000000000000000000000000000000c001a042af1c1834d1ca0d4c46c178601cdb4043de5f14a68bc9cbd09086b557c583f5a013e8282247a87dce33b7b1b352f9286f0e68a0b66ef6fd35bb07f382ac491531","new_receipt_trie_node_byte":"0xb90a3902f90a350183060618b9010000200000000000000004000080000000000000008001000002010000002200000000040000000000000000000800000002000000080000200000600000200000000000000000000000000008400080200000000000400000000000000004000000000000000000000000000000000000000000000000040080000010010000001000000000000000004020002000000000000000000000080000004000000000020000000000000000005000000000080000000000000000040000040000000000000002000000000000000000000000004000000000003000000002000020000010220000000000102000000000000000080000000000000000000000000000f9092af89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000023ffb7ed6565d6400000f89b945d3e8fca236461a159c93fe62b572444805869d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3a0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca00000000000000000000000000000000000000000000023ffb7ed6565d6400000f89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000374d9709cc06d1bf87994764355a8cc85d9144beaa5ef29bc823f4149146ce1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000001df77145e2b80ebb272420000000000000000000000000000000000000000000000002ab527ddab09eb37f8fc94764355a8cc85d9144beaa5ef29bc823f4149146cf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488db8800000000000000000000000000000000000000000000023ffb7ed6565d6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000374d9709cc06d1bf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000374d9709cc06d1bf89b945d3e8fca236461a159c93fe62b572444805869d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009b921a25f457b0748a56464c0aba4250d822e3d7a0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca000000000000000000000000000000000000000000000291a7b570acb27fc267cf89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000009b921a25f457b0748a56464c0aba4250d822e3d7a0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffd6e584a8f534d803d983f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a0000000000000000000000000000000000000000000000000035ce1e4e765698bf87994764355a8cc85d9144beaa5ef29bc823f4149146ce1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000208918fb5364c13ae98be000000000000000000000000000000000000000000000000275845f8c3a481acf8fc94764355a8cc85d9144beaa5ef29bc823f4149146cf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49b88000000000000000000000000000000000000000000000291a7b570acb27fc267c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035ce1e4e765698bf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a0000000000000000000000000000000000000000000000000035ce1e4e765698bf899943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a072015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499fb86000000000000000000000000000000000000000000000000000089bdbe3980dda0000000000000000000000009b921a25f457b0748a56464c0aba4250d822e3d70000000000000000000000000000000000000000000000000000000000000375f858943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a0522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade97a0000000000000000000000000000000000000000000000000035ce1e4e765698b","gas_used":260304}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8316a64c998ec3a3"},"0x92e704756e6a94777434a94b8c21884d150896d1":{"balance":"0xe6ed27d6668000"},"0xfff0cca19f5ba498f3cb0cb8b06699d19665af8c":{"balance":"0x88e02af8cbbf8","nonce":"0xd"}},"meta":{"byte_code":"0xf86b0c8504a817c800829c409492e704756e6a94777434a94b8c21884d150896d187e6ed27d66680008025a0ce31b5f0e4bee8965921adbed61b82a0dcc4fa5de9ec8bc76431d6fabe4639c6a014450dbf2386b2c3072c5656c2f9944027048fa6e31f2e47a7101c71d4a7f8f9","new_txn_trie_node_byte":"0xf86b0c8504a817c800829c409492e704756e6a94777434a94b8c21884d150896d187e6ed27d66680008025a0ce31b5f0e4bee8965921adbed61b82a0dcc4fa5de9ec8bc76431d6fabe4639c6a014450dbf2386b2c3072c5656c2f9944027048fa6e31f2e47a7101c71d4a7f8f9","new_receipt_trie_node_byte":"0xf901090183065820b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83176357bf152653"},"0xf1da173228fcf015f43f3ea15abbb51f0d8f1123":{"balance":"0xd06c814fa09234565","nonce":"0xb1df"},"0x3b5a3ee058af0c319fcb127743c7a8f29ea74511":{"balance":"0x10f4bade92d5459"}},"meta":{"byte_code":"0xf86e82b1de8503e02fa0d1825208943b5a3ee058af0c319fcb127743c7a8f29ea7451188010f4bade92d54598026a0e0400813f37c7412aae2adbc1a415e05a361f350fd3ebd6d1c8d6b885dc47adda019e05d0fd51e28566b93633a3412201ccaa324e22e1a5ea962211ad513918eb5","new_txn_trie_node_byte":"0xf86e82b1de8503e02fa0d1825208943b5a3ee058af0c319fcb127743c7a8f29ea7451188010f4bade92d54598026a0e0400813f37c7412aae2adbc1a415e05a361f350fd3ebd6d1c8d6b885dc47adda019e05d0fd51e28566b93633a3412201ccaa324e22e1a5ea962211ad513918eb5","new_receipt_trie_node_byte":"0xf90109018306aa28b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8317c320f8c4638b"},"0x58e693c78831b965e011a117fc48d157bdf17161":{"balance":"0x0","nonce":"0x182"},"0xf195722efd05be8bb1cfe000d04cc5e2a3920dc5":{"balance":"0x2a293a05319733"}},"meta":{"byte_code":"0x02f875018201818502bd26cde28502bd26cde282520894f195722efd05be8bb1cfe000d04cc5e2a3920dc5872a293a0531973380c001a029cf5e124a86d9e97fb055580613ccebf453ed86a7ab96e166c7f482550f8d34a001ddfdbf198f2f26b2c90860e9d5eccc22ad7b3578e6b95eb66d9fa4b7096f38","new_txn_trie_node_byte":"0x02f875018201818502bd26cde28502bd26cde282520894f195722efd05be8bb1cfe000d04cc5e2a3920dc5872a293a0531973380c001a029cf5e124a86d9e97fb055580613ccebf453ed86a7ab96e166c7f482550f8d34a001ddfdbf198f2f26b2c90860e9d5eccc22ad7b3578e6b95eb66d9fa4b7096f38","new_receipt_trie_node_byte":"0xb9010d02f90109018306fc30b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0xef4a028f1f7efb7b4dad77570c7d2e9151e632fe7c605aeb1c833248d33640e1":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x831899b708a7cb8b"},"0xdc19b10c067b89363948e019fc42d51113dd186c":{"balance":"0x98d0d910a24d488","nonce":"0x2e7"}},"meta":{"byte_code":"0x02f8b4018202e685012a05f2008502bc3fd7fb83010428945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0ae3dba133d21f91c9ff92cf1c808f736f07200279d2340f0077a548145a6d617a03abb314647dc893689a055eddb5ba884c9116b747f69fafc03781f6313b5c828","new_txn_trie_node_byte":"0x02f8b4018202e685012a05f2008502bc3fd7fb83010428945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a0ae3dba133d21f91c9ff92cf1c808f736f07200279d2340f0077a548145a6d617a03abb314647dc893689a055eddb5ba884c9116b747f69fafc03781f6313b5c828","new_receipt_trie_node_byte":"0xb901ab02f901a7018307b484b9010010000000000000000004000000000000000000008000000000000000000000000000000002000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000002000000000000000000000000000000000000000020200008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000dc19b10c067b89363948e019fc42d51113dd186ca0000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x831baad9b1ea049f"},"0xb4a4155efd2ddef131886fea334c3064b53af5be":{"balance":"0xaac3d5b9b1310b","nonce":"0x6c"},"0x63c35542a142376ae65128ad537edfff6feb54ed":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000004","0x6c9dae80c118fa1f2bbfa76cdf72e4438a346ae82f8f47fa701d46dccc6da14f","0x768939c202633fe0fb9ecb2fdf49dff69ed0dc48674e9c007229c7350236ef17","0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000005":"0x6c"},"code_usage":{"read":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000"}},"0x0000000000000000000000000000000000000001":{},"0x40a2accbd92bca938b02010e17a5b8929b49130d":{"code_usage":{"read":"0xa9865ac2d9c7a1591619b188c4d88167b50df6cc0c5327fcbd1c8c75f7c066ad"}},"0xd9db270c1b5e3bd161e8c8503c55ceabee709552":{"code_usage":{"read":"0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0xb287c4689c9708372991f0f6b8d6da493f04ab0a7ee55e38c9a47f91a89e262b","0x5d8109119abb300ec3b1ff2060ba146541e03fa565abcbfd2fb89ba14ab47477","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0x88d62516a941080362319278967cda03d8a97c9efa713ae7ae1dcf0943f607c8","0x04ef3928fc044d0f66e68bc6cf90ef55b91b6e1491aa1695adc77a30c5fd9c0a","0x10529625e4e409df80cce3471e5cac1c6bc4dde4715b9ee95d2dc5a94e2e8d8a","0xb631f123c16643c55f02c22dd27c2c71808f4af683dbb2a2c8fdd26a59a5f6f7","0xe34c56a3e98c822b825cc5fc3fce514d6d3789230fb4121214ca51a8d43c4506","0x94094694da817da0a610755ce0c406f927b226e9a1900fb0fc4f9a65c2db04f9"],"storage_written":{"0xb287c4689c9708372991f0f6b8d6da493f04ab0a7ee55e38c9a47f91a89e262b":"0x2ffe2fac0","0xb631f123c16643c55f02c22dd27c2c71808f4af683dbb2a2c8fdd26a59a5f6f7":"0xaa4a5c40","0x5d8109119abb300ec3b1ff2060ba146541e03fa565abcbfd2fb89ba14ab47477":"0xaa782300","0x04ef3928fc044d0f66e68bc6cf90ef55b91b6e1491aa1695adc77a30c5fd9c0a":"0xc1b71080","0x88d62516a941080362319278967cda03d8a97c9efa713ae7ae1dcf0943f607c8":"0x3253e9338","0xe34c56a3e98c822b825cc5fc3fce514d6d3789230fb4121214ca51a8d43c4506":"0x2ad741300","0x10529625e4e409df80cce3471e5cac1c6bc4dde4715b9ee95d2dc5a94e2e8d8a":"0xdfef4540","0x94094694da817da0a610755ce0c406f927b226e9a1900fb0fc4f9a65c2db04f9":"0x2ffb5340"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}}},"meta":{"byte_code":"0x02f907d2016b84c7bed6fe8502540be4008304269a9463c35542a142376ae65128ad537edfff6feb54ed80b907646a76120200000000000000000000000040a2accbd92bca938b02010e17a5b8929b49130d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000005248d80ff0a000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004c800a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000056df7220f1752e66016cb3ba96e1294b129375e500000000000000000000000000000000000000000000000000000000c1b7108000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000007154faf1891fe4cc127063be78512e6298aab6e100000000000000000000000000000000000000000000000000000000dfef454000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000e6387dd38f76dc0bb224c475a61eba62d16cc3a2000000000000000000000000000000000000000000000000000000013ff52e0000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000002b08384fe604be62f5f9b71c3462ddc1e7cfc86500000000000000000000000000000000000000000000000000000000aa4a5c4000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000e6387dd38f76dc0bb224c475a61eba62d16cc3a200000000000000000000000000000000000000000000000000000001bfedccc000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000dce8607076dd8ecd73be5a878b52aa860cadfb9a000000000000000000000000000000000000000000000000000000008917370000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000000a9f2c84ca3023f9c0f7f1c10c6e7b066328b35500000000000000000000000000000000000000000000000000000000aa78230000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000a8cd87f5ffd4a992e8e0963ddc399174d3a35f77000000000000000000000000000000000000000000000000000000002ffb5340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000b4a4155efd2ddef131886fea334c3064b53af5be0000000000000000000000000000000000000000000000000000000000000000010fb050644f37310a44d8d7c145f14892f434256674323b55b1e0f4ec9929d5395e0d402575e896c82e90d6fb0381ca31b5ad9535e9dffab2391e0fb28a52ec661b000000000000000000000000000000000000000000000000000000000000c080a076457a8588362d8c90ddb90c553debad3b359bf20161ebe041d5f0868a7bfe95a04a127804c05a842240d78ef8a0be284ec731de607c09686798ce36240ff6951b","new_txn_trie_node_byte":"0x02f907d2016b84c7bed6fe8502540be4008304269a9463c35542a142376ae65128ad537edfff6feb54ed80b907646a76120200000000000000000000000040a2accbd92bca938b02010e17a5b8929b49130d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a000000000000000000000000000000000000000000000000000000000000005248d80ff0a000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004c800a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb00000000000000000000000056df7220f1752e66016cb3ba96e1294b129375e500000000000000000000000000000000000000000000000000000000c1b7108000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000007154faf1891fe4cc127063be78512e6298aab6e100000000000000000000000000000000000000000000000000000000dfef454000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000e6387dd38f76dc0bb224c475a61eba62d16cc3a2000000000000000000000000000000000000000000000000000000013ff52e0000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000002b08384fe604be62f5f9b71c3462ddc1e7cfc86500000000000000000000000000000000000000000000000000000000aa4a5c4000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000e6387dd38f76dc0bb224c475a61eba62d16cc3a200000000000000000000000000000000000000000000000000000001bfedccc000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000dce8607076dd8ecd73be5a878b52aa860cadfb9a000000000000000000000000000000000000000000000000000000008917370000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb0000000000000000000000000a9f2c84ca3023f9c0f7f1c10c6e7b066328b35500000000000000000000000000000000000000000000000000000000aa78230000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000a8cd87f5ffd4a992e8e0963ddc399174d3a35f77000000000000000000000000000000000000000000000000000000002ffb5340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082000000000000000000000000b4a4155efd2ddef131886fea334c3064b53af5be0000000000000000000000000000000000000000000000000000000000000000010fb050644f37310a44d8d7c145f14892f434256674323b55b1e0f4ec9929d5395e0d402575e896c82e90d6fb0381ca31b5ad9535e9dffab2391e0fb28a52ec661b000000000000000000000000000000000000000000000000000000000000c080a076457a8588362d8c90ddb90c553debad3b359bf20161ebe041d5f0868a7bfe95a04a127804c05a842240d78ef8a0be284ec731de607c09686798ce36240ff6951b","new_receipt_trie_node_byte":"0xb9067202f9066e01830bc188b9010000000000400000000000000000000000000000000000000000000000240080000000000000200000000000000000000000000000000000000000000011000000000008000000000088000008000000004000000000000000000000000000008000000000000000000000000040200000000000000000000009000010000000000000000000000000000000000000000000000800010010000000040000000000000000000000200000010000000004000800000000000800080000000000000000000002000000010000008000000000000000000000000000000000001000000000000000000000000000800000000020102000000000000000000000000000f90563f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000063c35542a142376ae65128ad537edfff6feb54eda000000000000000000000000056df7220f1752e66016cb3ba96e1294b129375e5a000000000000000000000000000000000000000000000000000000000c1b71080f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000063c35542a142376ae65128ad537edfff6feb54eda00000000000000000000000007154faf1891fe4cc127063be78512e6298aab6e1a000000000000000000000000000000000000000000000000000000000dfef4540f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000063c35542a142376ae65128ad537edfff6feb54eda0000000000000000000000000e6387dd38f76dc0bb224c475a61eba62d16cc3a2a0000000000000000000000000000000000000000000000000000000013ff52e00f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000063c35542a142376ae65128ad537edfff6feb54eda00000000000000000000000002b08384fe604be62f5f9b71c3462ddc1e7cfc865a000000000000000000000000000000000000000000000000000000000aa4a5c40f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000063c35542a142376ae65128ad537edfff6feb54eda0000000000000000000000000e6387dd38f76dc0bb224c475a61eba62d16cc3a2a000000000000000000000000000000000000000000000000000000001bfedccc0f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000063c35542a142376ae65128ad537edfff6feb54eda0000000000000000000000000dce8607076dd8ecd73be5a878b52aa860cadfb9aa00000000000000000000000000000000000000000000000000000000089173700f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000063c35542a142376ae65128ad537edfff6feb54eda00000000000000000000000000a9f2c84ca3023f9c0f7f1c10c6e7b066328b355a000000000000000000000000000000000000000000000000000000000aa782300f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000063c35542a142376ae65128ad537edfff6feb54eda0000000000000000000000000a8cd87f5ffd4a992e8e0963ddc399174d3a35f77a0000000000000000000000000000000000000000000000000000000002ffb5340f8799463c35542a142376ae65128ad537edfff6feb54ede1a0442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556eb8407c89e8468cc8f8a3a53f1b09a244bf8acac9c8bcd812731bdec0fef94f0987470000000000000000000000000000000000000000000000000000000000000000","gas_used":265476}},{"traces":{"0x1ab4973a48dc892cd9971ece8e01dcc7688f8f23":{"balance":"0xcf5ea70bbcc4d22d03","nonce":"0x7bc9a"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x831be8f503d78ec7"},"0x8b87cebc2e6c1a98ce50b3a30601f943879bd6f9":{"balance":"0xad42eb73e3cc000"}},"meta":{"byte_code":"0xf8708307bc998502540be400830186a0948b87cebc2e6c1a98ce50b3a30601f943879bd6f9880ad42eb73e3cc0008025a0fa9fd8d18557e2cf35d60218d97b92377274328672fc1fc4e09481243f352409a07f5f58a722742c08f06315406d9a51a2cdfb0724598890ca3517f73c90b55097","new_txn_trie_node_byte":"0xf8708307bc998502540be400830186a0948b87cebc2e6c1a98ce50b3a30601f943879bd6f9880ad42eb73e3cc0008025a0fa9fd8d18557e2cf35d60218d97b92377274328672fc1fc4e09481243f352409a07f5f58a722742c08f06315406d9a51a2cdfb0724598890ca3517f73c90b55097","new_receipt_trie_node_byte":"0xf9010901830c1390b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x831c642ce91dbec7"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0xf44681571ddec7a61b19173091fe5695116de851b72e26704b9c0765af0929e7","0xc5500c9a9b54075f7b15bc35efd97700f6bac115ed58e7d3507367f49e08f40c"],"storage_written":{"0xf44681571ddec7a61b19173091fe5695116de851b72e26704b9c0765af0929e7":"0x2ffe7456ae53","0xc5500c9a9b54075f7b15bc35efd97700f6bac115ed58e7d3507367f49e08f40c":"0x7bd0dbe10b"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0xdfd5293d8e347dfe59e90efd55b2956a1343963d":{"balance":"0x3364179552ee72c8e04","nonce":"0x8dc96e"}},"meta":{"byte_code":"0x02f8b401838dc96d84b2d05e008517bfac7c008303291894a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000dc42461ef8e9abe0670012fd92342ce819b749ed0000000000000000000000000000000000000000000000000000007b5fd87a40c001a09f81f4b7dcb58a40016f322f721439abfd72fb758e7d6ae32940cd576572a5aca025e6bc90733083927306658126a58b23204f96997c3a91761ce27a6ffac7c273","new_txn_trie_node_byte":"0x02f8b401838dc96d84b2d05e008517bfac7c008303291894a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000dc42461ef8e9abe0670012fd92342ce819b749ed0000000000000000000000000000000000000000000000000000007b5fd87a40c001a09f81f4b7dcb58a40016f322f721439abfd72fb758e7d6ae32940cd576572a5aca025e6bc90733083927306658126a58b23204f96997c3a91761ce27a6ffac7c273","new_receipt_trie_node_byte":"0xb901ab02f901a701830cc3f8b9010000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000010000000000000000000000000000000000002000000000000010001000000000000000000000000000080200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000dfd5293d8e347dfe59e90efd55b2956a1343963da0000000000000000000000000dc42461ef8e9abe0670012fd92342ce819b749eda00000000000000000000000000000000000000000000000000000007b5fd87a40","gas_used":45160}},{"traces":{"0x399e0db990ecc98e3227573bc1521479c43d5b4b":{"balance":"0x156396e5e5c33d5","nonce":"0x8c"},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0xcaba28e704674a240f4d0e5d5bdfe1ccf894cf952e9c3b656d8d77786230c18c":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x831ce4ed590c96c7"}},"meta":{"byte_code":"0x02f8b201818b84b2d05e008504991627fb83030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a021d5a6521abef29d40ca268a1bb5bdb94abe0fd5f793e7e910295ee292fec850a05658f9aadd4ebf92e2b7ab2fd97995ac5152bbb0686f8c687e8de76b18dc592f","new_txn_trie_node_byte":"0x02f8b201818b84b2d05e008504991627fb83030d40945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b3000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a021d5a6521abef29d40ca268a1bb5bdb94abe0fd5f793e7e910295ee292fec850a05658f9aadd4ebf92e2b7ab2fd97995ac5152bbb0686f8c687e8de76b18dc592f","new_receipt_trie_node_byte":"0xb901ab02f901a701830d7c4cb9010000000000000000000004000000000000000000008000000002000000000000000000000000000000000000000000000000000000000000000000000000200000080000000000000000000000000880000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000008000000000000000000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000399e0db990ecc98e3227573bc1521479c43d5b4ba0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_written":{"0xe583c10640d63adacc7291d7fdceaf1ca51e81f0c38b2d16a3be5a2ee34f1cea":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x831d65adc8fb6ec7"},"0xadecc7d64b9244f6ce96bd92b68a2efb88313afe":{"balance":"0x2dccd2b1cb2a4a","nonce":"0x427"}},"meta":{"byte_code":"0x02f8b20182042684b2d05e008502afe1a51282deff945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b300000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0f29cf436948df76954703d9cccb687df2ac7fb00f2880c0b16980e82154584eea020cd807ef8e7ed708bcddef00f333b1213b0d1c96fb15bc3446106c536b9ca35","new_txn_trie_node_byte":"0x02f8b20182042684b2d05e008502afe1a51282deff945d3e8fca236461a159c93fe62b572444805869d380b844095ea7b300000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0f29cf436948df76954703d9cccb687df2ac7fb00f2880c0b16980e82154584eea020cd807ef8e7ed708bcddef00f333b1213b0d1c96fb15bc3446106c536b9ca35","new_receipt_trie_node_byte":"0xb901ab02f901a701830e34a0b9010000000000000000000004000000000000000000008000000000000000000000000000000000000000000000000000000000001000000000000000000000200000000000000000000000000000000000000000000100000000000000000000000000000000000000000200400000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000f89df89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000adecc7d64b9244f6ce96bd92b68a2efb88313afea000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47188}},{"traces":{"0xe3defae93fabdc93da32aec7ff71d5ec85e2e0bb":{"storage_read":["0x42e1810dd2300282dfaa461c65623e9d31d165db2672a6ffcbc08277977d66dc","0x6fb3c143aa78a81e680a84aa5b206bc272f1264b0ac7582ea38463a62a1573ba","0x5bb38d2bac595272428674a4c41b22fb8d38faf457feeea63bee162215da3d7d"],"code_usage":{"read":"0x32c72d0f0acf4e8fdd9fe7d63bd99d022fc2242ac76a3a9a6c4bd690f187e502"}},"0xfb1f2605954124b76bd7b950d39aedccfe5f0b13":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000081","0x000000000000000000000000000000000000000000000000000000000000007f","0x0000000000000000000000000000000000000000000000000000000000000070","0x0e7033a6d4f36a0a060a7b3e656c2a77efd53b611f1a669a19e7f36b2daf8eed","0x000000000000000000000000000000000000000000000000000000000000007e","0x000000000000000000000000000000000000000000000000000000000000007d","0x000000000000000000000000000000000000000000000000000000000000007a","0x0000000000000000000000000000000000000000000000000000000000000077","0x0000000000000000000000000000000000000000000000000000000000000033","0xb8f413ade92b0122fffa114943988f1e900f173b7849217c1c218cfa156a0af6","0xe2285618fe5a132eb4086d84e45b863589296f8ed403ea9834ec7a581c7511af","0x000000000000000000000000000000000000000000000000000000000000006a","0x0000000000000000000000000000000000000000000000000000000000000078","0xd1dfb697aa7e9c1c84f0fecda7dc1485bf3661358c7400e25cf8a6d5f34b35a4","0x0fbc866c51691a0343fb54ede1f84f758307f74a0ddfcdab2930d3e3c7d2b38b","0x0000000000000000000000000000000000000000000000000000000000000069","0x0000000000000000000000000000000000000000000000000000000000000074","0x0000000000000000000000000000000000000000000000000000000000000072","0x0000000000000000000000000000000000000000000000000000000000000073","0xfb530b63eff7d112e5d6d465d6c61029f8df9d18a4ce039f805f3b8587ebacf3","0xaa9117e406abeed905c9dba07870c0a583c1c7e9351f7a4f4860d006e1f4a952","0x000000000000000000000000000000000000000000000000000000000000006b","0x0000000000000000000000000000000000000000000000000000000000000080","0x000000000000000000000000000000000000000000000000000000000000007c","0x000000000000000000000000000000000000000000000000000000000000007b","0x0000000000000000000000000000000000000000000000000000000000000071","0x0000000000000000000000000000000000000000000000000000000000000076","0x407b658370badc57d0c3a2af341fe4436fe3d97b2526d01328e66d69d8686a3d","0x000000000000000000000000000000000000000000000000000000000000006c","0x0000000000000000000000000000000000000000000000000000000000000075"],"storage_written":{"0xe2285618fe5a132eb4086d84e45b863589296f8ed403ea9834ec7a581c7511af":"0x88d809b13f62d2c32da2783f35db804398ee439c5ff9b60f6e43c881fc2f3","0x000000000000000000000000000000000000000000000000000000000000007f":"0x100c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0xfb530b63eff7d112e5d6d465d6c61029f8df9d18a4ce039f805f3b8587ebacf3":"0x0","0x0000000000000000000000000000000000000000000000000000000000000075":"0x0","0x0000000000000000000000000000000000000000000000000000000000000070":"0x0","0x0000000000000000000000000000000000000000000000000000000000000072":"0x0","0x000000000000000000000000000000000000000000000000000000000000006c":"0x0","0x0000000000000000000000000000000000000000000000000000000000000073":"0x0","0x0e7033a6d4f36a0a060a7b3e656c2a77efd53b611f1a669a19e7f36b2daf8eed":"0xfffffffffffffffffffffffffffffffffffffffffffffffffff3492b848fe0b7","0x0fbc866c51691a0343fb54ede1f84f758307f74a0ddfcdab2930d3e3c7d2b38b":"0x717222711a9e8bb698c0dd6fb3de154c1ed086e1d1d5152efe1651483a8ba464","0xb8f413ade92b0122fffa114943988f1e900f173b7849217c1c218cfa156a0af6":"0x0","0x000000000000000000000000000000000000000000000000000000000000006b":"0xfffffffffffffffffffffffffffffffffffffffffffffffff6a5715fc21b0000","0x0000000000000000000000000000000000000000000000000000000000000071":"0x0","0x0000000000000000000000000000000000000000000000000000000000000074":"0x0"},"code_usage":{"read":"0x3a0efca6ab3b179ec9ac195a49d25c6ab8cdc87140a08df3e9a35442926d5e02"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832089682823a830"},"0xeab8047477be41f076dd450b85b6a7ca2b71df09":{"balance":"0x56a999eee23288"},"0x0000000000000000000000000000000000000001":{},"0x740f7d64ff89631f1fe22a9898359f36da578103":{"balance":"0xbcb406f99cb248","nonce":"0x385"},"0x65ba299ce92c965a7d87ecdf6ba0ee1e31937162":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000000043e520028a4b51c0000000000003998868926169a3f","0x0000000000000000000000000000000000000000000000000000000000000009":"0x69ef195cf0c465997cfa88b29de14e5c","0x000000000000000000000000000000000000000000000000000000000000000a":"0xb16a5b68bce5d3c437a93fb3e9dc9a59bc","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0xa3ec191b5e74f647b402a17e91aac0ee9944c62790063228b8264a820277c2f2"],"storage_written":{"0xa3ec191b5e74f647b402a17e91aac0ee9944c62790063228b8264a820277c2f2":"0x1000066af6834ffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0x7a250d5630b4cf539739df2c5dacb4c659f2488d":{"code_usage":{"read":"0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x95741e961a68e6d71290595e7145a4b58225407b":{"code_usage":{"read":"0x8a8893c2079acdf1b876c044da5376d7f5fd3dd9520bee237eefcb5310ba2df2"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396dbe8d07baf1fce0f","storage_read":["0x06dcdd25229ad77598b5add0b5287318dc8c6d763dc24e2e27fb51ebbac1c7f4","0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa"],"storage_written":{"0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa":"0xa8989703f51aecf","0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8":"0x0","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x06dcdd25229ad77598b5add0b5287318dc8c6d763dc24e2e27fb51ebbac1c7f4":"0x3998868926169a3f"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}}},"meta":{"byte_code":"0x02f9053401820384849601a7838502bd26cde2830813c1943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd8700000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000fb1f2605954124b76bd7b950d39aedccfe5f0b13000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af683400000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e23c00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041f0c1d6ff9fb9d2f82b30062c9e7ab90d2f8e198455db97da9f7c26318f1d4c686d476b28525f9a63a8767a0dad2ae8d1a37b9f40bfc96eed0d0ba4e2e7f628201c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000cb6d47b701f4800000000000000000000000000000000000000000000000000a9b76464b2051600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000fb1f2605954124b76bd7b950d39aedccfe5f0b13000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000a94ac60ff6b1dfc001a01f9f9f529387d6180ae55cded4cb24607d73372902ce3dd493dcb3283c17e42da026e9215c31bd8ad57a318d9012b3751edc6e93a6c193fa9767055fbb8c4bd2b9","new_txn_trie_node_byte":"0x02f9053401820384849601a7838502bd26cde2830813c1943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd8700000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000fb1f2605954124b76bd7b950d39aedccfe5f0b13000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af683400000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e23c00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041f0c1d6ff9fb9d2f82b30062c9e7ab90d2f8e198455db97da9f7c26318f1d4c686d476b28525f9a63a8767a0dad2ae8d1a37b9f40bfc96eed0d0ba4e2e7f628201c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000cb6d47b701f4800000000000000000000000000000000000000000000000000a9b76464b2051600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000fb1f2605954124b76bd7b950d39aedccfe5f0b13000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000a94ac60ff6b1dfc001a01f9f9f529387d6180ae55cded4cb24607d73372902ce3dd493dcb3283c17e42da026e9215c31bd8ad57a318d9012b3751edc6e93a6c193fa9767055fbb8c4bd2b9","new_receipt_trie_node_byte":"0xb90b7d02f90b790183139043b9010000210000000000000000000080000000000000000000000000010000000000000000000000000000000000000000000002010000880000001000000000280000000000080400000000004008000010200000000000400800000000000020400000000000000040200000000000080000000000000000040010000010800000000200004000000000004000000020000000000000000000080000004000000004020000000000000000000000000000000400000000000000000000000000000800000002000800000000000000000000000000000000001000000002000020000010200000000000000000000000000000009000000000808000000000400400f90a6ef8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca0000000000000000000000000740f7d64ff89631f1fe22a9898359f36da578103a0000000000000000000000000fb1f2605954124b76bd7b950d39aedccfe5f0b13a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af68340000000000000000000000000000000000000000000000000000000000000000f89b94fb1f2605954124b76bd7b950d39aedccfe5f0b13f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000fb1f2605954124b76bd7b950d39aedccfe5f0b13a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000002738d24e52000f89b94fb1f2605954124b76bd7b950d39aedccfe5f0b13f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000fb1f2605954124b76bd7b950d39aedccfe5f0b13a000000000000000000000000065ba299ce92c965a7d87ecdf6ba0ee1e31937162a00000000000000000000000000000000000000000000000000002738d24e52000f89b94fb1f2605954124b76bd7b950d39aedccfe5f0b13f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000fb1f2605954124b76bd7b950d39aedccfe5f0b13a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000065ba299ce92c965a7d87ecdf6ba0ee1e31937162a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000000000000000000000000000002207ffe5d6180ef8799465ba299ce92c965a7d87ecdf6ba0ee1e31937162e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000003a44da39301e21420000000000000000000000000000000000000000000000000431bbb80a998be6f8fc9465ba299ce92c965a7d87ecdf6ba0ee1e31937162f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488db88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002738d24e52000000000000000000000000000000000000000000000000000002207ffe5d6180e0000000000000000000000000000000000000000000000000000000000000000f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000000000000000000000000000002207ffe5d6180ef89b94fb1f2605954124b76bd7b950d39aedccfe5f0b13f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0000000000000000000000000fb1f2605954124b76bd7b950d39aedccfe5f0b13a00000000000000000000000000000000000000000000000000000208c5d64f612f89b94fb1f2605954124b76bd7b950d39aedccfe5f0b13f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000740f7d64ff89631f1fe22a9898359f36da578103a000000000000000000000000065ba299ce92c965a7d87ecdf6ba0ee1e31937162a0000000000000000000000000000000000000000000000000000c96481e0b2936f89b94fb1f2605954124b76bd7b950d39aedccfe5f0b13f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000740f7d64ff89631f1fe22a9898359f36da578103a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0fffffffffffffffffffffffffffffffffffffffffffffffffff3492b848fe0b7f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000065ba299ce92c965a7d87ecdf6ba0ee1e31937162a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000ac53b00a078703f8799465ba299ce92c965a7d87ecdf6ba0ee1e31937162e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000003998868926169a3f000000000000000000000000000000000000000000000000043e520028a4b51cf8fc9465ba299ce92c965a7d87ecdf6ba0ee1e31937162f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c96481e0b293600000000000000000000000000000000000000000000000000ac53b00a0787030000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca000000000000000000000000000000000000000000000000000006e4a0a43dbdbf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000abe565ffc3ab28","gas_used":351139}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0xbd8bc375bf0f29c4f264d628ba68d84fd2f55791598c83c1118bf8620c3adf76","0x0000000000000000000000000000000000000000000000000000000000000000","0x7224ef15fa323f663d6a1faef2c25e66ea59881d65793b20b893ce666d2b89c3","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x3a730c73d5dcf7f107e3e6e09b51f5f0159bfbbf88974163784c6213c448795d"],"storage_written":{"0xbd8bc375bf0f29c4f264d628ba68d84fd2f55791598c83c1118bf8620c3adf76":"0x7a677fd34","0x3a730c73d5dcf7f107e3e6e09b51f5f0159bfbbf88974163784c6213c448795d":"0x0"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8320d536e584f829"},"0x5d2668a6e1913e179165683e5b0a4cf572aa5755":{"balance":"0x33a1266f95d09cb6","nonce":"0x16"}},"meta":{"byte_code":"0x02f8b2011585020a7e594885020a7e594883010ed994dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000006c99b0790070b9feca6826be42778f025ffde72c00000000000000000000000000000000000000000000000000000004794ad41ec080a0f6e9ed6a278b80df3f41a38098e5db17cc414d3290726a2bfa2096b779ccc814a055a1b1c28a9fe4ab4a970f8eb54931b09c53859cebac1c6383e8b06094dd3515","new_txn_trie_node_byte":"0x02f8b2011585020a7e594885020a7e594883010ed994dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000006c99b0790070b9feca6826be42778f025ffde72c00000000000000000000000000000000000000000000000000000004794ad41ec080a0f6e9ed6a278b80df3f41a38098e5db17cc414d3290726a2bfa2096b779ccc814a055a1b1c28a9fe4ab4a970f8eb54931b09c53859cebac1c6383e8b06094dd3515","new_receipt_trie_node_byte":"0xb901ab02f901a701831431a0b9010000000000000000000000000000001000000000000000000800000000000000000000000000000000000000000000010000000010000001000000000000000000000000000000000000000008000000000000000000000000000000000000000800000000000000000000000000010000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005d2668a6e1913e179165683e5b0a4cf572aa5755a00000000000000000000000006c99b0790070b9feca6826be42778f025ffde72ca000000000000000000000000000000000000000000000000000000004794ad41e","gas_used":41309}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396da80c6e858ba7b09","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x0065d56dfd4cf15655b4e89a88baaedcfc955d54d92ae86df9c0c8dff45f0668","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa"],"storage_written":{"0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa":"0xa8a70709dd9f4f3","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x0065d56dfd4cf15655b4e89a88baaedcfc955d54d92ae86df9c0c8dff45f0668":"0xd2e9a27232f25a2"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0xc887ed14d22dae69d3b900b870a4703e643a59d0eaf8c2af341202a3ba43b47c"],"storage_written":{"0xc887ed14d22dae69d3b900b870a4703e643a59d0eaf8c2af341202a3ba43b47c":"0x1000066af682dffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0xa6fcefe7010221e75ce204592650ad194b39db3d":{"balance":"0x177bf6c42e5b5d5","nonce":"0x91"},"0x2e714434f68ca05032ed694f3a7c22ff0e94574e":{"storage_read":["0x5f8c87d72278dc572f9bdaceb9693a5903faf11edab36c46f13d75679e5a4dd3","0x000000000000000000000000000000000000000000000000000000000000000b","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000018","0xc2f1bcb8af365ccfb12d888497e93dac50e25d7494a6e17e3f5aa93a68446cfc","0x0000000000000000000000000000000000000000000000000000000000000013","0x000000000000000000000000000000000000000000000000000000000000000e","0xef4121ed7250d12d960bf792827e1b41cc451e730ea69ac22603b53eb3d73944","0x000000000000000000000000000000000000000000000000000000000000000a","0x00b2bec5fe90d5fd92bd86b148719998f09e5a4511d9dc46edb844653ddfa791","0x0000000000000000000000000000000000000000000000000000000000000000","0xb37573df1527623d9fb00ddc231e65a7af78e2c12052146497bee58ca3fca79b","0x0740b5ac4b82ccc3075d3e668ace79559e103e7b1847be4782405320dd921abd","0x0000000000000000000000000000000000000000000000000000000000000009"],"storage_written":{"0x0740b5ac4b82ccc3075d3e668ace79559e103e7b1847be4782405320dd921abd":"0x0","0xc2f1bcb8af365ccfb12d888497e93dac50e25d7494a6e17e3f5aa93a68446cfc":"0x1faf1726408f69a08d","0x5f8c87d72278dc572f9bdaceb9693a5903faf11edab36c46f13d75679e5a4dd3":"0xfffffffffffffffffffffffffffffffffffffffffffffffcee26bb7ecea937bb"},"code_usage":{"read":"0x9f8299000df37258655532e492ceb63faa99bf204489566f5102de4d387b6d71"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83223e9b8cbfb029"},"0xfb97ca44ed942ea769a44807b0695323395a3b19":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000a":"0x114cdf3a9099ad59a67bec025784e104cc0","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000009":"0x85478722ed346593202726aebce630","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b0000000000000d2e9a27232f25a200000000001faf1726408f69a08d"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x0000000000000000000000000000000000000001":{}},"meta":{"byte_code":"0x02f90534018190847735940085025256c5448304152c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c53593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000190829f000100000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000001600000000000000000000000002e714434f68ca05032ed694f3a7c22ff0e94574e000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af682d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e23500000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041f829c14f43706044653360075d15ff6a7f0e11c2b0e20f0c67bda68b93b10b9d04c178eb62222d8e0978e3551f17dd007901f3ee7aa8b23785a86219f5ab1b9a1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000311d944813156c844000000000000000000000000000000000000000000000000016285dc1684715300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000002e714434f68ca05032ed694f3a7c22ff0e94574e000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a6fcefe7010221e75ce204592650ad194b39db3d0000000000000000000000000000000000000000000000000161a2f70ec7f39a0bc001a01ad59cbd675cfe724fa02716c9ad3c30c1deb09d95dbcbbf88be93d181f0b0a7a03aa9dad090451763a1e7503be6e46f049bae58faa577f3b7b077ef37c44e7072","new_txn_trie_node_byte":"0x02f90534018190847735940085025256c5448304152c943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c53593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000190829f000100000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000001600000000000000000000000002e714434f68ca05032ed694f3a7c22ff0e94574e000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af682d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e23500000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041f829c14f43706044653360075d15ff6a7f0e11c2b0e20f0c67bda68b93b10b9d04c178eb62222d8e0978e3551f17dd007901f3ee7aa8b23785a86219f5ab1b9a1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000311d944813156c844000000000000000000000000000000000000000000000000016285dc1684715300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000002e714434f68ca05032ed694f3a7c22ff0e94574e000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a6fcefe7010221e75ce204592650ad194b39db3d0000000000000000000000000000000000000000000000000161a2f70ec7f39a0bc001a01ad59cbd675cfe724fa02716c9ad3c30c1deb09d95dbcbbf88be93d181f0b0a7a03aa9dad090451763a1e7503be6e46f049bae58faa577f3b7b077ef37c44e7072","new_receipt_trie_node_byte":"0xb9067702f9067301831739b6b9010000210000000000000800000080000000000000000000000000000000000000000000000000000000000000000000000002010000880001000080000000280010000000080000000000004008000000200000000000400800000000000020000000020000000080200000000000000000000000000000040800000010000100000000004000000000000000000020000000000000000000080020024000000000020000000000000000010100000000000400000000000000000000000000000000000002000000000000000000000000000000000000001000000002000000000810200000000000000000000000000001001000000000800000000000000400f90568f8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca0000000000000000000000000a6fcefe7010221e75ce204592650ad194b39db3da00000000000000000000000002e714434f68ca05032ed694f3a7c22ff0e94574ea00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af682d0000000000000000000000000000000000000000000000000000000000000000f89b942e714434f68ca05032ed694f3a7c22ff0e94574ef863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a6fcefe7010221e75ce204592650ad194b39db3da0000000000000000000000000fb97ca44ed942ea769a44807b0695323395a3b19a000000000000000000000000000000000000000000000000311d944813156c844f89b942e714434f68ca05032ed694f3a7c22ff0e94574ef863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a6fcefe7010221e75ce204592650ad194b39db3da0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0fffffffffffffffffffffffffffffffffffffffffffffffcee26bb7ecea937bbf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000fb97ca44ed942ea769a44807b0695323395a3b19a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000168f093b4ed992af87994fb97ca44ed942ea769a44807b0695323395a3b19e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000001faf1726408f69a08d0000000000000000000000000000000000000000000000000d2e9a27232f25a2f8fc94fb97ca44ed942ea769a44807b0695323395a3b19f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000000000311d944813156c844000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000168f093b4ed992af89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca00000000000000000000000000000000000000000000000000000e7005e884624f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000168099356655306","gas_used":198678}},{"traces":{"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83239831240aec29"},"0x694201f10eed6c61ecb48efc99c16d6d9756675c":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000010","0x000000000000000000000000000000000000000000000000000000000000000b","0x764a93fe3c666ffd81abab5fdf5993269ae95d2f906ca7ce85998569c7fadc3d","0x1212155b7aeb404b5a2ece6430b1699cc4690edc226d1ace24bfeaad60aec9dc","0x000000000000000000000000000000000000000000000000000000000000000e","0x4c6b692c66656899bc2e55a4a337b4d999228e375cd9bc4d81ed551155ebda25","0x11234190717ef1d3c4e2cfd4321470b7159a7441273729cfb45569397b76f4ef","0x3bba9108b904cfb969b317a6a0847c2d13a92bb924e87f843935fe7b8f315911","0xff07a04f02b46e821377e6e7545b54bd4bc70975ce9a8fad45666b4d9837f7d2","0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000014","0x0000000000000000000000000000000000000000000000000000000000000009","0xca242f9bc4e952f060798872b4d6fd3c8488111b5db3f3c7ac74e2573820fe85","0x0000000000000000000000000000000000000000000000000000000000000015","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x0000000000000000000000000000000000000000000000000000000000000011","0xd97277448bd0b7cceb51747c5e7776f06abce719af3473dc18af3c40c5e8f32d","0x1510d9214f227226d818ad648be7a2e0634db540481736675ac047ca90fe1cd7","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000f":"0x1b2","0x1510d9214f227226d818ad648be7a2e0634db540481736675ac047ca90fe1cd7":"0x0","0x4c6b692c66656899bc2e55a4a337b4d999228e375cd9bc4d81ed551155ebda25":"0x3c6078ea67373e","0xff07a04f02b46e821377e6e7545b54bd4bc70975ce9a8fad45666b4d9837f7d2":"0x219da9aa9dc9d","0x3bba9108b904cfb969b317a6a0847c2d13a92bb924e87f843935fe7b8f315911":"0x5c346ff1e131"},"code_usage":{"read":"0x14fba3bbd0b73da0ae3e70a023df738f1b4dfbf110ce8ea7113f26f5d1cc3012"}},"0x99b924ef880448fe0286bb3e9ca46090da9a9ff3":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000000290cbcb8785be3c8000000000000003c6078ea67373e","0x0000000000000000000000000000000000000000000000000000000000000009":"0x55004418f3df6bb8e306cbf8f524c0d554","0x000000000000000000000000000000000000000000000000000000000000000a":"0x783296d6ef1fb18a14102de481b178"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xfc873ef5d8e59673dc3d9a409dbc78c6774faf8d":{"balance":"0x58bed019fa87c2","nonce":"0x42e"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396dbe40c60b6447b09","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x2e2836a6d513c6034f5e7d29765daa7e79f38001220af3630fd76752ffd5083d"],"storage_written":{"0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x2e2836a6d513c6034f5e7d29765daa7e79f38001220af3630fd76752ffd5083d":"0x290cbcb8785be3c8"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}}},"meta":{"byte_code":"0x02f9043d0182042d84773594008502293c6f0583042e26943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad88016345785d8a0000b903c53593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000019082b6310d00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000021884f2da5fe200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000694201f10eed6c61ecb48efc99c16d6d9756675c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000694201f10eed6c61ecb48efc99c16d6d9756675c000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000694201f10eed6c61ecb48efc99c16d6d9756675c000000000000000000000000fc873ef5d8e59673dc3d9a409dbc78c6774faf8d0000000000000000000000000000000000000000000000000002172d9386a0ec0bc001a0a716e83263e39b80f1fae35af0bed5e061fcb70eaebc2b0426b8e8fd2f9c4638a0287f36addfe8f9b4bebcec0321993653677e0f36f2c7e2ae09a0c40b9cc7e40a","new_txn_trie_node_byte":"0x02f9043d0182042d84773594008502293c6f0583042e26943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad88016345785d8a0000b903c53593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000019082b6310d00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000021884f2da5fe200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000694201f10eed6c61ecb48efc99c16d6d9756675c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000694201f10eed6c61ecb48efc99c16d6d9756675c000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000694201f10eed6c61ecb48efc99c16d6d9756675c000000000000000000000000fc873ef5d8e59673dc3d9a409dbc78c6774faf8d0000000000000000000000000000000000000000000000000002172d9386a0ec0bc001a0a716e83263e39b80f1fae35af0bed5e061fcb70eaebc2b0426b8e8fd2f9c4638a0287f36addfe8f9b4bebcec0321993653677e0f36f2c7e2ae09a0c40b9cc7e40a","new_receipt_trie_node_byte":"0xb9057802f9057401831a1fd9b9010000200000008000000000000080000000008000000000000000000000000000000000000000000000000000000000000002000000080000000000080000000000000000480000000000000008000000200000000000000000000000008020000000000000000200200000000000001000000000000000000000000010000000000000000000000000000000000020000000000001000000088000004000000001000000000000000000040000000000000000000000000000000000000080000000000002000000000000000000000000000000000000001000000000000000000000200000040000000000000040000000001000000000c00000000000000000f90469f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000000016345785d8a0000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000099b924ef880448fe0286bb3e9ca46090da9a9ff3a0000000000000000000000000000000000000000000000000016345785d8a0000f89b94694201f10eed6c61ecb48efc99c16d6d9756675cf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000099b924ef880448fe0286bb3e9ca46090da9a9ff3a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000021b33b181ddcef8799499b924ef880448fe0286bb3e9ca46090da9a9ff3e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000003c6078ea67373e000000000000000000000000000000000000000000000000290cbcb8785be3c8f8fc9499b924ef880448fe0286bb3e9ca46090da9a9ff3f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000000021b33b181ddce0000000000000000000000000000000000000000000000000000000000000000f89b94694201f10eed6c61ecb48efc99c16d6d9756675cf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca00000000000000000000000000000000000000000000000000000015916d80131f89b94694201f10eed6c61ecb48efc99c16d6d9756675cf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000fc873ef5d8e59673dc3d9a409dbc78c6774faf8da0000000000000000000000000000000000000000000000000000219da9aa9dc9d","gas_used":189987}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8324a6c010fad029"},"0x5a3e6a77ba2f983ec0d371ea3b475f8bc0811ad5":{"storage_read":["0x57dbd03cfc6de04e17ca0e2439a10b77aec9f2e2b66c0c56734abc3fec1e7411","0x41d90688a66d73ff62f5c0a155e7ab5ff005208172c6e57c8d5fdf69358b9484","0xfbe600c319f92881108977ca46d1fad050a08ac073d664baca210d2ca4e5574a","0x0000000000000000000000000000000000000000000000000000000000000007","0x000000000000000000000000000000000000000000000000000000000000000c","0x737712e95d63bc5de5e87162d0719a6f6ef16874c1491ac53353548ee9dd77dd","0x000000000000000000000000000000000000000000000000000000000000000f","0x000000000000000000000000000000000000000000000000000000000000000e","0x67e22c545b1bc640275fb27ef2604a722a8ccdd6fbcb41948f06891c533a0879","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000a","0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000000","0xb86f49e8eab5467759209f7bfa03a5f39158f706661a421a5f0ff0736b57b7b9"],"storage_written":{"0x737712e95d63bc5de5e87162d0719a6f6ef16874c1491ac53353548ee9dd77dd":"0x63c9708885ef86","0x000000000000000000000000000000000000000000000000000000000000000a":"0x1b8ab","0x67e22c545b1bc640275fb27ef2604a722a8ccdd6fbcb41948f06891c533a0879":"0x217f78081d16","0x41d90688a66d73ff62f5c0a155e7ab5ff005208172c6e57c8d5fdf69358b9484":"0x230e1912f4e442"},"code_usage":{"read":"0x340cfa595cb47ebe99ec71637971e83a2b1abccd2f93a40d0df2a1ce8cd85774"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x6cf3afc87a7b4d2a1ac08f9ae448ec2c627e8d03":{"balance":"0xe112d821c9036ab","nonce":"0x53"},"0x9ec9367b8c4dd45ec8e7b800b1f719251053ad60":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000a":"0x4072857edb74e0140986116db141e2b0","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b00000000004c7c6f988d6479a2570000000000000063c9708885ef86","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000009":"0x1ddc1a2163d848abf9b095247271ed8133838fc"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396df6cd164bb375b09","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0xbdd23f7baa4ad3c55d8b1732f0f8f482bc09ed761b2cfe1555b788e94dba3afe"],"storage_written":{"0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0xbdd23f7baa4ad3c55d8b1732f0f8f482bc09ed761b2cfe1555b788e94dba3afe":"0x4c7c6f988d6479a257"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}}},"meta":{"byte_code":"0x02f902fb0152847735940085025256c54483031cf8943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880388c50404f2e000b902853593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000190829f000100000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000388c50404f2e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000006cf3afc87a7b4d2a1ac08f9ae448ec2c627e8d030000000000000000000000000000000000000000000000000388c50404f2e0000000000000000000000000000000000000000000000000000000045405feb54800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005a3e6a77ba2f983ec0d371ea3b475f8bc0811ad50bc080a03a90943ef352f62c52210a2a3cf80afa27c4a5baf70c0fb99080a1be0cb03388a0164a452e33ead33ed7056075f0c3993a946468369906c524e2fcc33758bf397c","new_txn_trie_node_byte":"0x02f902fb0152847735940085025256c54483031cf8943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880388c50404f2e000b902853593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000190829f000100000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000388c50404f2e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000006cf3afc87a7b4d2a1ac08f9ae448ec2c627e8d030000000000000000000000000000000000000000000000000388c50404f2e0000000000000000000000000000000000000000000000000000000045405feb54800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005a3e6a77ba2f983ec0d371ea3b475f8bc0811ad50bc080a03a90943ef352f62c52210a2a3cf80afa27c4a5baf70c0fb99080a1be0cb03388a0164a452e33ead33ed7056075f0c3993a946468369906c524e2fcc33758bf397c","new_receipt_trie_node_byte":"0xb904db02f904d701831c64deb9010002240000000000000000000080100000000000000000000000000000000000000202000000000000000000000000400002000000080000000000000000000000000000080000004000000008000000200000000000000800000000008020000000000000000000000000000000000000000000000080000000000010000000000000000000000000000000000000000000000001000000080000004000000000000000000000000000000000000000000000000000000000000200000010000000000002000000000000000000000000000000000400001000000000000000000000200000000002000000040000800000001000000000400000000000000000f903ccf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000388c50404f2e000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000009ec9367b8c4dd45ec8e7b800b1f719251053ad60a00000000000000000000000000000000000000000000000000388c50404f2e000f89b945a3e6a77ba2f983ec0d371ea3b475f8bc0811ad5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009ec9367b8c4dd45ec8e7b800b1f719251053ad60a00000000000000000000000006cf3afc87a7b4d2a1ac08f9ae448ec2c627e8d03a00000000000000000000000000000000000000000000000000000045e379c98d9f89b945a3e6a77ba2f983ec0d371ea3b475f8bc0811ad5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009ec9367b8c4dd45ec8e7b800b1f719251053ad60a00000000000000000000000005a3e6a77ba2f983ec0d371ea3b475f8bc0811ad5a00000000000000000000000000000000000000000000000000000003ada81814ef879949ec9367b8c4dd45ec8e7b800b1f719251053ad60e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000000063c9708885ef8600000000000000000000000000000000000000000000004c7c6f988d6479a257f8fc949ec9367b8c4dd45ec8e7b800b1f719251053ad60f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000006cf3afc87a7b4d2a1ac08f9ae448ec2c627e8d03b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000388c50404f2e00000000000000000000000000000000000000000000000000000000499121e1a270000000000000000000000000000000000000000000000000000000000000000","gas_used":148741}},{"traces":{"0x46bde129bcf0e2f001e6fd9a74cb6abe5d13c01d":{"balance":"0x61b652b1a56c1c","nonce":"0x25"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8325fe8a0cb47029"},"0x3c571e3d3be1c50e35453bb46c628100822a8195":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b0000000000004f7ce0246326e2fd0000000ae8a7a7c3d6ea32a443a4","0x0000000000000000000000000000000000000000000000000000000000000009":"0xe0d4edf29ad0eb93ef6a0f3d2c","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x000000000000000000000000000000000000000000000000000000000000000a":"0xf3e180a04e1a6680d1e0133b1b0aa930feabc"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396dfb3df499ab95b09","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x2f7138a2bcff5ded200fcea415199ffdf479215bbdd2fdb9cac71384bfd5d870"],"storage_written":{"0x2f7138a2bcff5ded200fcea415199ffdf479215bbdd2fdb9cac71384bfd5d870":"0x4f7ce0246326e2fd","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x72b00e483a0ec40634f47043d3190be6ac210072":{"storage_read":["0x9fe9d603c90862ca0074703e636f34ea72a8e9876b0f4945e354ef82a7f5ddae","0x0000000000000000000000000000000000000000000000000000000000000012","0x000000000000000000000000000000000000000000000000000000000000000f","0x66e44ac951301c41aefbeade3f378bd6c9dbee98d6087cd4efbb867a6bcb1098","0xc38f21cb4b9b4a433230e5c7f36e310ce0df23c54e1015875f4dc5c50f912a8e","0x0000000000000000000000000000000000000000000000000000000000000008","0x22c6dbcbb8501ced661edf28ee23cf1b9c24cc74dc6685e6a94ac3d3d0a7e1b3","0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02","0x0000000000000000000000000000000000000000000000000000000000000005","0x6e483ffc2384d2d2357812d7e3ba6785be00c114086905577f3f1a14f81f894b","0x000000000000000000000000000000000000000000000000000000000000000e","0x000000000000000000000000000000000000000000000000000000000000000d","0x3bc100b860cb2658b765adb5c92ee268f922716bd80dd78c6b2fb4928dc85bb5","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc","0x0000000000000000000000000000000000000000000000000000000000000013","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02":"0x1906b9e36a10645f0462","0x000000000000000000000000000000000000000000000000000000000000000d":"0x1aa","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc":"0x0","0x9fe9d603c90862ca0074703e636f34ea72a8e9876b0f4945e354ef82a7f5ddae":"0x9bb58d1cc474b5c6127","0x22c6dbcbb8501ced661edf28ee23cf1b9c24cc74dc6685e6a94ac3d3d0a7e1b3":"0xae8a7a7c3d6ea32a443a4"},"code_usage":{"read":"0x4b214c4a4c011257fb322b41977988535d2624d220c226f13bcec1d035430e93"}}},"meta":{"byte_code":"0x02f9043a012484773594008502293c6f05830429a6943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87470de4df820000b903c53593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000190829f000100000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000009b52a4431d9b9c0004700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000072b00e483a0ec40634f47043d3190be6ac210072000000000000000000000000000000000000000000000000000000000000006000000000000000000000000072b00e483a0ec40634f47043d3190be6ac210072000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000006000000000000000000000000072b00e483a0ec40634f47043d3190be6ac21007200000000000000000000000046bde129bcf0e2f001e6fd9a74cb6abe5d13c01d0000000000000000000000000000000000000000000009aef3c2be869f0bae5b0bc001a095179eef63b921d3df7d9996d6eb99ac8562bd721ff917e702c42e56343fba2aa07936dad0bff2d1e4a65071a6fe8674065edf715dc8e182196fbb62331c66bca7","new_txn_trie_node_byte":"0x02f9043a012484773594008502293c6f05830429a6943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87470de4df820000b903c53593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000190829f000100000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000009b52a4431d9b9c0004700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000072b00e483a0ec40634f47043d3190be6ac210072000000000000000000000000000000000000000000000000000000000000006000000000000000000000000072b00e483a0ec40634f47043d3190be6ac210072000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000006000000000000000000000000072b00e483a0ec40634f47043d3190be6ac21007200000000000000000000000046bde129bcf0e2f001e6fd9a74cb6abe5d13c01d0000000000000000000000000000000000000000000009aef3c2be869f0bae5b0bc001a095179eef63b921d3df7d9996d6eb99ac8562bd721ff917e702c42e56343fba2aa07936dad0bff2d1e4a65071a6fe8674065edf715dc8e182196fbb62331c66bca7","new_receipt_trie_node_byte":"0xb9057802f9057401831f4726b9010008200000000000000000000080000000080000000000000000000000000000000000000000004000000000000000000003000000080000000001000000000000400004080000000000000008000000200000000000000000000000008020000000000000000000200000000000000000000000000000000000000010000000000000000000000000000000000120000000000001000000080000004000000000080000000000000000000000000080000000000000000000000000000000000000000002000000000000000000000000000000000000001000000000000000000000200000000000000000000000000000201000000000c00000000001000000f90469f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000470de4df820000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003c571e3d3be1c50e35453bb46c628100822a8195a000000000000000000000000000000000000000000000000000470de4df820000f89b9472b00e483a0ec40634f47043d3190be6ac210072f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003c571e3d3be1c50e35453bb46c628100822a8195a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000009c19747187fef28a41ff879943c571e3d3be1c50e35453bb46c628100822a8195e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000ae8a7a7c3d6ea32a443a40000000000000000000000000000000000000000000000004f7ce0246326e2fdf8fc943c571e3d3be1c50e35453bb46c628100822a8195f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000009c19747187fef28a41f0000000000000000000000000000000000000000000000000000000000000000f89b9472b00e483a0ec40634f47043d3190be6ac210072f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca00000000000000000000000000000000000000000000000063e754c38a3cc42f8f89b9472b00e483a0ec40634f47043d3190be6ac210072f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000046bde129bcf0e2f001e6fd9a74cb6abe5d13c01da00000000000000000000000000000000000000000000009bb58d1cc474b5c6127","gas_used":189000}},{"traces":{"0x9813037ee2218799597d83d4a5b6f3b6778218d9":{"storage_read":["0xaeab4d2469770f26784244220d3a73ddc8471f347e64eb36c11439cb8e0ce772","0x6e483ffc2384d2d2357812d7e3ba6785be00c114086905577f3f1a14f81f894b","0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02","0x66e44ac951301c41aefbeade3f378bd6c9dbee98d6087cd4efbb867a6bcb1098","0xe7d332579aa52de76d5c5728a713f4b17115c77ca4f60703d8d2ce94967e29b4","0x51db7af458314bc80bbb2d114482d6eb5cdd254c417e48c071828ac9925fda74","0x86754531368f4962f242b6a71073151fc816e5d71cb2fb4b0dbe7409515f96dd","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc"],"storage_written":{"0xe7d332579aa52de76d5c5728a713f4b17115c77ca4f60703d8d2ce94967e29b4":"0x821ab0d44149802c1","0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02":"0x14867387aef3b5eb19","0x86754531368f4962f242b6a71073151fc816e5d71cb2fb4b0dbe7409515f96dd":"0x2e1c0c099a1cf650e1aa","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc":"0x0"},"code_usage":{"read":"0x4e1a4d686364cc0e69bb013e95ca8a9b0230d8cba0e15936562bc8551ef2e8d6"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83273cd1995a7029"},"0xa1dcd64c5ca0d2424409f2129786a8eb76cbd3ba":{"balance":"0x54402a964b14d2","nonce":"0xf"},"0xf7d31825946e7fd99ef07212d34b9dad84c396b7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000001afc803184abe1f13000000002e1c0c099a1cf650e1aa","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x000000000000000000000000000000000000000000000000000000000000000a":"0x3dd8e6bdb5702ea3b4851c79a013ce8146bb77","0x0000000000000000000000000000000000000000000000000000000000000009":"0xbc00616124840b658aee37cc2ff8081c"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396e0006282a94259ce","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0xe69e9a05fcddf7a2e24782e0400920596db25df581b2db7d6f9cd74fed2a94a9"],"storage_written":{"0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0xe69e9a05fcddf7a2e24782e0400920596db25df581b2db7d6f9cd74fed2a94a9":"0x1afc803184abe1f13"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}}},"meta":{"byte_code":"0x02f904ba010e84773594008502293c6f058303e2a3943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8750b88527a791e6b904453593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000019082a9b6a500000000000000000000000000000000000000000000000000000000000000050b0905040c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000050b88527a791e60000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000826df51c7735d80000000000000000000000000000000000000000000000000000050b88527a791e600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d900000000000000000000000000000000000000000000000000000000000000600000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d9000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c000000000000000000000000000000000000000000000000053444835ec5800000000000000000000000000000000000000000000000000000000000000000600000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d9000000000000000000000000a1dcd64c5ca0d2424409f2129786a8eb76cbd3ba00000000000000000000000000000000000000000000000821ab0d44149800000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a1dcd64c5ca0d2424409f2129786a8eb76cbd3ba00000000000000000000000000000000000000000000000000000000000000000bc001a0c8456d7847e124807ad283168020e3a12b2b40df34aa202155097b7f55b4646aa02abd38dd1f42f905bdd53901bc9cdd80450b45dc6140a306ccc8c54930e3eca7","new_txn_trie_node_byte":"0x02f904ba010e84773594008502293c6f058303e2a3943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8750b88527a791e6b904453593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000019082a9b6a500000000000000000000000000000000000000000000000000000000000000050b0905040c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000050b88527a791e60000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000826df51c7735d80000000000000000000000000000000000000000000000000000050b88527a791e600000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d900000000000000000000000000000000000000000000000000000000000000600000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d9000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c000000000000000000000000000000000000000000000000053444835ec5800000000000000000000000000000000000000000000000000000000000000000600000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d9000000000000000000000000a1dcd64c5ca0d2424409f2129786a8eb76cbd3ba00000000000000000000000000000000000000000000000821ab0d44149800000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000a1dcd64c5ca0d2424409f2129786a8eb76cbd3ba00000000000000000000000000000000000000000000000000000000000000000bc001a0c8456d7847e124807ad283168020e3a12b2b40df34aa202155097b7f55b4646aa02abd38dd1f42f905bdd53901bc9cdd80450b45dc6140a306ccc8c54930e3eca7","new_receipt_trie_node_byte":"0xb905f402f905f0018321f2a6b9010000200000000000000000000080000000000000000000000000000000000000000000000000000000000000004000000002000000088000000000000000000000000000080000000000000008000000200000000000400000000000008020000000000000000000200000000000000000000000000000060000000010000000000000004000000000000000000020000000000081000004080200004000000000000000000000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000001000000003000000000000200000000030000000000000000000001000000000c00000800000000000f904e5f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000050b88527a791e6f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000f7d31825946e7fd99ef07212d34b9dad84c396b7a0000000000000000000000000000000000000000000000000004c83390e88fec5f89b949813037ee2218799597d83d4a5b6f3b6778218d9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f7d31825946e7fd99ef07212d34b9dad84c396b7a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000826df51c7735d82c1f87994f7d31825946e7fd99ef07212d34b9dad84c396b7e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000002e1c0c099a1cf650e1aa000000000000000000000000000000000000000000000001afc803184abe1f13f8fc94f7d31825946e7fd99ef07212d34b9dad84c396b7f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004c83390e88fec500000000000000000000000000000000000000000000000826df51c7735d82c10000000000000000000000000000000000000000000000000000000000000000f89b949813037ee2218799597d83d4a5b6f3b6778218d9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca0000000000000000000000000000000000000000000000000053444835ec58000f89b949813037ee2218799597d83d4a5b6f3b6778218d9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000a1dcd64c5ca0d2424409f2129786a8eb76cbd3baa000000000000000000000000000000000000000000000000821ab0d44149802c1f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000004354c191e9321","gas_used":174976}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83283a9aa96e7029"},"0xd14bcaae5546226012bbf876baa66c90759a6d0d":{"storage_read":["0x1510d9214f227226d818ad648be7a2e0634db540481736675ac047ca90fe1cd7","0xff361abbbe581b87bb9827187ee08e369b03f024e7dc172cf266903f39cfb867","0x3bba9108b904cfb969b317a6a0847c2d13a92bb924e87f843935fe7b8f315911","0x3040b274cd794fef89026b721a26a011d6e65f78d86be1badf725397059a0809"],"storage_written":{"0x3040b274cd794fef89026b721a26a011d6e65f78d86be1badf725397059a0809":"0x2a59817ea00fdfb9bd0722","0x3bba9108b904cfb969b317a6a0847c2d13a92bb924e87f843935fe7b8f315911":"0x43f87fadc7ef0b54d5de","0x1510d9214f227226d818ad648be7a2e0634db540481736675ac047ca90fe1cd7":"0x0","0xff361abbbe581b87bb9827187ee08e369b03f024e7dc172cf266903f39cfb867":"0x4ddd1d7b1210e6b7e13876"},"code_usage":{"read":"0x8e773ca7b7386102e54a22d5344f35c45098adee9ed8619179c641b90d192e49"}},"0x9ec9f2d31b33cea0683ba42f8635ac40b68bda09":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000009":"0xa95cf01d59d98a4600c92499f60ac6fea5e7714","0x000000000000000000000000000000000000000000000000000000000000000a":"0xef1fd57dfc8fce12422255d6f24","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b0000004ddd1d7b1210e6b7e13876000000000000462bc7df21fad874"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396e0abf4e096dafede","storage_read":["0x571c56af7d88b43cc5866b9131065494166db3efa86bca8aca1ee6d3d80c0967","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a"],"storage_written":{"0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x571c56af7d88b43cc5866b9131065494166db3efa86bca8aca1ee6d3d80c0967":"0x462bc7df21fad874"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x5ae79685dec60eb8d13a5d54aadcae42f501ee00":{"balance":"0x30f45554f22500","nonce":"0x30"}},"meta":{"byte_code":"0x02f9043a012f84773594008502293c6f0583031b11943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87ab925ded98a510b903c53593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000001908296ac3300000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000ab925ded98a5100000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000ab925ded98a51000000000000000000000000000000000000000000000beafc4e5af17951cfb4700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000d14bcaae5546226012bbf876baa66c90759a6d0d0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000d14bcaae5546226012bbf876baa66c90759a6d0d000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000d14bcaae5546226012bbf876baa66c90759a6d0d0000000000000000000000005ae79685dec60eb8d13a5d54aadcae42f501ee0000000000000000000000000000000000000000000000be35bace11dab9386dd90bc080a04c9a0f350a047f72d3dd67a5a7305294c50be77fa19af46cc3000b8d474893b9a036ea1e98994ef261b0f5ed6b4589f3a7918c4a883853c6d133c8c1bd0b95c6f1","new_txn_trie_node_byte":"0x02f9043a012f84773594008502293c6f0583031b11943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87ab925ded98a510b903c53593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000001908296ac3300000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000ab925ded98a5100000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000ab925ded98a51000000000000000000000000000000000000000000000beafc4e5af17951cfb4700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000d14bcaae5546226012bbf876baa66c90759a6d0d0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000d14bcaae5546226012bbf876baa66c90759a6d0d000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000d14bcaae5546226012bbf876baa66c90759a6d0d0000000000000000000000005ae79685dec60eb8d13a5d54aadcae42f501ee0000000000000000000000000000000000000000000000be35bace11dab9386dd90bc080a04c9a0f350a047f72d3dd67a5a7305294c50be77fa19af46cc3000b8d474893b9a036ea1e98994ef261b0f5ed6b4589f3a7918c4a883853c6d133c8c1bd0b95c6f1","new_receipt_trie_node_byte":"0xb9057802f9057401832413a6b9010000200000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000002000000280000000000002000000000000000080000000000000008000000200000000000000000000000008020000000200400000000200000000000000000000000040000000000000010040000000100000000000000000000000020000000000001010100080000004000000000000000000000000000000000000000000000000000000000000000000000000000000002000000004000000000000000001000040000001000000000000000000000200000000000000000000000000000001000000000c00000000000000000f90469f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000ab925ded98a510f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000009ec9f2d31b33cea0683ba42f8635ac40b68bda09a000000000000000000000000000000000000000000000000000ab925ded98a510f89b94d14bcaae5546226012bbf876baa66c90759a6d0df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009ec9f2d31b33cea0683ba42f8635ac40b68bda09a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000bfa3d914e9914ce61623f879949ec9f2d31b33cea0683ba42f8635ac40b68bda09e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000462bc7df21fad8740000000000000000000000000000000000000000004ddd1d7b1210e6b7e13876f8fc949ec9f2d31b33cea0683ba42f8635ac40b68bda09f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000000000000ab925ded98a5100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bfa3d914e9914ce61623f89b94d14bcaae5546226012bbf876baa66c90759a6d0df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca000000000000000000000000000000000000000000000007aa64d7e061f8d600ef89b94d14bcaae5546226012bbf876baa66c90759a6d0df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000005ae79685dec60eb8d13a5d54aadcae42f501ee00a000000000000000000000000000000000000000000000bf2932c76b8b2d58b615","gas_used":139520}},{"traces":{"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x681b78e00e045024ad4","nonce":"0x382de1"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8328a27343c59829"},"0x186ef81fd8e77eec8bffc3039e7ec41d5fc0b457":{"storage_read":["0x164c0d431a999b5e9f4dfeeb03c48841235e3d171aa85ecb5a0f46085a773b96","0x88ce56e96bf4cbdb03ea3d67b5eb37e2744e650a174210ec15a1fbd3d8090cce","0xe7926a05e10cb43939e2879b4511a5a312d0de1e36d864a5d1c464059aeaac9f","0xc959f5f28497d9c7c01cacf220d80db0918f65c85ed0a2814296ab2c18797aa7"],"storage_written":{"0x164c0d431a999b5e9f4dfeeb03c48841235e3d171aa85ecb5a0f46085a773b96":"0x198d96ca8dd72294fdb36d","0x88ce56e96bf4cbdb03ea3d67b5eb37e2744e650a174210ec15a1fbd3d8090cce":"0x3b49bad252d4cfb5000"},"code_usage":{"read":"0xca7521fa546a8a9d8eda9bcf938a4e5048e87521bcef4d6fec7110dba3c7a3f5"}}},"meta":{"byte_code":"0x02f8b40183382de08477359400852e90edd00083015f9094186ef81fd8e77eec8bffc3039e7ec41d5fc0b45780b844a9059cbb000000000000000000000000cb83ca9633ad057bd88a48a5b6e8108d97ad44720000000000000000000000000000000000000000000003b49bad252d4cfb5000c080a006f0436f413807472b9958a0a806fb8526550a774031381113eb0b2a9643f94aa030715289a01c6d06ebc9988a2a7d2a1eb81f0f6270bbcafa467348074e9613a7","new_txn_trie_node_byte":"0x02f8b40183382de08477359400852e90edd00083015f9094186ef81fd8e77eec8bffc3039e7ec41d5fc0b45780b844a9059cbb000000000000000000000000cb83ca9633ad057bd88a48a5b6e8108d97ad44720000000000000000000000000000000000000000000003b49bad252d4cfb5000c080a006f0436f413807472b9958a0a806fb8526550a774031381113eb0b2a9643f94aa030715289a01c6d06ebc9988a2a7d2a1eb81f0f6270bbcafa467348074e9613a7","new_receipt_trie_node_byte":"0xb901ab02f901a7018324f2a8b9010000000000000000000000000000000000000000000000000000080000000000000000000000000000800000000000000000000000000000000000000000000800000000000000000000000008000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000010000000000000000000002080000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000200000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94186ef81fd8e77eec8bffc3039e7ec41d5fc0b457f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f89d7b9c864f589bbf53a82105107622b35eaa40a0000000000000000000000000cb83ca9633ad057bd88a48a5b6e8108d97ad4472a00000000000000000000000000000000000000000000003b49bad252d4cfb5000","gas_used":57090}},{"traces":{"0xd37bbe5744d730a1d98d8dc97c42f0ca46ad7146":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002","0x62b569cfe6396aa0cd88a6969311954c0154208dca0713156dcced18b6df16a2"],"storage_written":{"0x62b569cfe6396aa0cd88a6969311954c0154208dca0713156dcced18b6df16a2":"0x224c5157dc","0x0000000000000000000000000000000000000000000000000000000000000002":"0x1"},"code_usage":{"read":"0x7f7ad48242b36385bc30ce3e3be2347d6954dd2e0fe872e05be8383db74768cc"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8329356ff4d52429"},"0x237c36406506d7c044191ae7dd60ded4a6af5e43":{"balance":"0xa7bfa0ab380aebbc7","nonce":"0xe"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x0128a010ceddf639c1621d45e6f7300841aef6db5f4008c2d5fb7e63d101187c","0x2f9e3ab46644d22e77dfa6e1ea4e1c2fac150274eb915333df8baa92871c6b5c","0x0000000000000000000000000000000000000000000000000000000000000000","0x3385899bfb5ed8766aa0eec855bf66911aa90463e2e168bdc763f0e69031aa29","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0128a010ceddf639c1621d45e6f7300841aef6db5f4008c2d5fb7e63d101187c":"0x7f836ca140c","0x2f9e3ab46644d22e77dfa6e1ea4e1c2fac150274eb915333df8baa92871c6b5c":"0x11b7f7fe"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f90172010d84773594008502540be4008306ddd094d37bbe5744d730a1d98d8dc97c42f0ca46ad714680b90104574da7170000000000000000000000003536a57a0acb5312529701d56b8fa5ee5d190a3c000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000011b7f7fe000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000444f55543a4638444539314632323534333942463337444643423945334238313638343746333631344546463236463841383938413144304432463637463631444141454200000000000000000000000000000000000000000000000000000000c080a0cda2cf6f62f8d3607e55ee74ef4f9ab619348945a22576cf8d7bf383d9445bd4a04ca6ac3f90332d859f3ace3a5328479e55dbe2b190ec33e421bb5d7fe768bcaa","new_txn_trie_node_byte":"0x02f90172010d84773594008502540be4008306ddd094d37bbe5744d730a1d98d8dc97c42f0ca46ad714680b90104574da7170000000000000000000000003536a57a0acb5312529701d56b8fa5ee5d190a3c000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000011b7f7fe000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000444f55543a4638444539314632323534333942463337444643423945334238313638343746333631344546463236463841383938413144304432463637463631444141454200000000000000000000000000000000000000000000000000000000c080a0cda2cf6f62f8d3607e55ee74ef4f9ab619348945a22576cf8d7bf383d9445bd4a04ca6ac3f90332d859f3ace3a5328479e55dbe2b190ec33e421bb5d7fe768bcaa","new_receipt_trie_node_byte":"0xb9030b02f903070183262e4fb9010008000000000000010000010000800000000000000000000000000000000000000000000000000000000000000000010400000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100010000000040000000000040000000000000000000000000000000000000000000000100000000000000000800000000080000000000000004000000000000000000400000000000002000000004000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000f901fcf89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d37bbe5744d730a1d98d8dc97c42f0ca46ad7146a00000000000000000000000003536a57a0acb5312529701d56b8fa5ee5d190a3ca00000000000000000000000000000000000000000000000000000000011b7f7fef9015c94d37bbe5744d730a1d98d8dc97c42f0ca46ad7146f863a0a9cd03aa3c1b4515114539cd53d22085129d495cb9e9f9af77864526240f1bf7a0000000000000000000000000237c36406506d7c044191ae7dd60ded4a6af5e43a00000000000000000000000003536a57a0acb5312529701d56b8fa5ee5d190a3cb8e0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000011b7f7fe000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000444f55543a4638444539314632323534333942463337444643423945334238313638343746333631344546463236463841383938413144304432463637463631444141454200000000000000000000000000000000000000000000000000000000","gas_used":80807}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83299def44194429"},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0xa111cc8ff46395db13a9f9777a2472cdbc281ab2531fde4e92294f2d3f542c96","0xcfc93240e854b67e8afa426f0d0b10a2f1d90c1a0fde6714ee8335028670e459"],"storage_written":{"0xcfc93240e854b67e8afa426f0d0b10a2f1d90c1a0fde6714ee8335028670e459":"0x1259bee3","0xa111cc8ff46395db13a9f9777a2472cdbc281ab2531fde4e92294f2d3f542c96":"0x0"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xabb095bfa396d131b5f14458d95953ce2527bf19":{"balance":"0xffa63d7db5208","nonce":"0x1"}},"meta":{"byte_code":"0x02f8b101808477359400850262759e5a8301a29294a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000d156eba0ae67c3f6be0a06008b11aced070be955000000000000000000000000000000000000000000000000000000001259bee3c001a0cfc851ac5a63fee423f1def6b40bf14ce4c900abf5d363140b31aeb016709674a039240f91976c5c875d3092827fd82bea0f051323dfab9c906d92dfc104ae9abd","new_txn_trie_node_byte":"0x02f8b101808477359400850262759e5a8301a29294a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000d156eba0ae67c3f6be0a06008b11aced070be955000000000000000000000000000000000000000000000000000000001259bee3c001a0cfc851ac5a63fee423f1def6b40bf14ce4c900abf5d363140b31aeb016709674a039240f91976c5c875d3092827fd82bea0f051323dfab9c906d92dfc104ae9abd","new_receipt_trie_node_byte":"0xb901ab02f901a70183270eb7b9010000000000000000000000000000000000000000800000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000008000008000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000400000000000010000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000abb095bfa396d131b5f14458d95953ce2527bf19a0000000000000000000000000d156eba0ae67c3f6be0a06008b11aced070be955a0000000000000000000000000000000000000000000000000000000001259bee3","gas_used":57448}},{"traces":{"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0x632fc753e12cc264a3337630f36f6f5959eb0ffc084610fc022386d4d59bc9c3","0x68bdbe699f13345dd5c985e8698f6c3e6c2e748a85166ca3c748e244b30a001e"],"storage_written":{"0x68bdbe699f13345dd5c985e8698f6c3e6c2e748a85166ca3c748e244b30a001e":"0x17e120f0","0x632fc753e12cc264a3337630f36f6f5959eb0ffc084610fc022386d4d59bc9c3":"0x0"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0xce122c167ef1b80a064f59e07c10788044c3fbce":{"balance":"0x26da62a998ca44","nonce":"0x1"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832a067429e05429"}},"meta":{"byte_code":"0x02f8b10180847735940085027ff595348301a2a694a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000539161a2c4405312342af066a30920fb50c071120000000000000000000000000000000000000000000000000000000017e120f0c001a0cdcc88daa33301b1bcba7ea2be688016e8ff4321a029ac66843b5f083d4496bfa030059543ada5cac42d4feb9f2d2fdb0b3dff8e77124ca2687d03e2f295dada22","new_txn_trie_node_byte":"0x02f8b10180847735940085027ff595348301a2a694a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000539161a2c4405312342af066a30920fb50c071120000000000000000000000000000000000000000000000000000000017e120f0c001a0cdcc88daa33301b1bcba7ea2be688016e8ff4321a029ac66843b5f083d4496bfa030059543ada5cac42d4feb9f2d2fdb0b3dff8e77124ca2687d03e2f295dada22","new_receipt_trie_node_byte":"0xb901ab02f901a7018327ef2bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000400000000000000000000000020000000000000000002000000000002000000000008000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ce122c167ef1b80a064f59e07c10788044c3fbcea0000000000000000000000000539161a2c4405312342af066a30920fb50c07112a00000000000000000000000000000000000000000000000000000000017e120f0","gas_used":57460}},{"traces":{"0x6982508145454ce325ddbe47a25d4ec3d2311933":{"storage_read":["0x635abf1dba069404c215cce98c2b37469913b301a3c5d254adeba6b9b64509c0","0x615476c3785bc83ee140d61cb80cea69fc77d5e8d80870bbed521a20fb6f208c","0x5a7ae9a9a2ca2c733689c1860fde421d6d0b089c7ba74ef1aab31ed446f1d0f4","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000006","0xb0c86e9b81cc33f480ad0d1717460fbad99accc1c5deec69a6063d6af332ad0c"],"storage_written":{"0xb0c86e9b81cc33f480ad0d1717460fbad99accc1c5deec69a6063d6af332ad0c":"0xee50ed90e4cd55d3befeb496f0","0x635abf1dba069404c215cce98c2b37469913b301a3c5d254adeba6b9b64509c0":"0x554e7f4621ddc0b9fd4c0000"},"code_usage":{"read":"0x4bcc3abefd723de3cac53e7c37894ae0cad2f6065e92c8901b0a086ae3386ab6"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832a555f581cdc29"},"0x6cc5f688a315f3dc28a7781717a9a798a59fda7b":{"balance":"0x69e19d7a74bfb7fe5","nonce":"0x3108f8"}},"meta":{"byte_code":"0x02f8b401833108f78477359400852f0823640083033450946982508145454ce325ddbe47a25d4ec3d231193380b844a9059cbb00000000000000000000000084b38bc60f3bd82640ecefa320dab2be62e2da15000000000000000000000000000000000000000053bad1ee75680f868f9c0000c080a083a36b2a7d48fa3f62512e58a308d55a4c1bcedb11c85856322064d8fb45b004a001911c166452feb6467e28d3ea33c0f008170cb5838da35be41eb8e1dc5e956d","new_txn_trie_node_byte":"0x02f8b401833108f78477359400852f0823640083033450946982508145454ce325ddbe47a25d4ec3d231193380b844a9059cbb00000000000000000000000084b38bc60f3bd82640ecefa320dab2be62e2da15000000000000000000000000000000000000000053bad1ee75680f868f9c0000c080a083a36b2a7d48fa3f62512e58a308d55a4c1bcedb11c85856322064d8fb45b004a001911c166452feb6467e28d3ea33c0f008170cb5838da35be41eb8e1dc5e956d","new_receipt_trie_node_byte":"0xb901ab02f901a701832898a5b9010000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000080000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000400000000200000000000000000000000000000000000000000000000000000000000000000000000000100002000000000000000000000100000000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000008f89df89b946982508145454ce325ddbe47a25d4ec3d2311933f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006cc5f688a315f3dc28a7781717a9a798a59fda7ba000000000000000000000000084b38bc60f3bd82640ecefa320dab2be62e2da15a0000000000000000000000000000000000000000053bad1ee75680f868f9c0000","gas_used":43386}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832aa88b2cfa9629"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_written":{"0xe29e68e8f64a3bc6d2de1283c408fa991254620a27639680b8ecbf88765585b5":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0xed3ed88068597b83dcdc8dee18d198f9e6be28a5":{"balance":"0x51e9e76effbe25a","nonce":"0x408"}},"meta":{"byte_code":"0x02f8b2018204078474d33a008502c09180d582b7c09497a9a15168c22b3c137e6381037e1499c8ad097880b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a08c611fb0c02b67b05fec6b553deb3ba3c84216087f06f334ac783c05e1b580a1a02bed98fc649ec84cac4755bc48b3a854822e28f24a684d267ee55644554ff18b","new_txn_trie_node_byte":"0x02f8b2018204078474d33a008502c09180d582b7c09497a9a15168c22b3c137e6381037e1499c8ad097880b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a08c611fb0c02b67b05fec6b553deb3ba3c84216087f06f334ac783c05e1b580a1a02bed98fc649ec84cac4755bc48b3a854822e28f24a684d267ee55644554ff18b","new_receipt_trie_node_byte":"0xb901ab02f901a70183294ee6b9010000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000400200000000002000000020000000000000000000000000000000000000000000000000040000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000002000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000040000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000ed3ed88068597b83dcdc8dee18d198f9e6be28a5a0000000000000000000000000881d40237659c251811cec9c364ef91dc08d300ca0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46657}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8","0xafde8b1371059bff3092dfe9dadcfa1a1fe3be496389f5d9af5d394c34960795"],"storage_written":{"0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8":"0x24c37864589ab21a4a","0xafde8b1371059bff3092dfe9dadcfa1a1fe3be496389f5d9af5d394c34960795":"0xef1f90f428812386"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{},"0xae2fc483527b8ef99eb5d9b44875f005ba1fae13":{"balance":"0xa245f556fc1cd93ee","nonce":"0x2db924"},"0xfb18d8df69771bf2d78ffeddf1ef38d1bf84f62d":{"storage_read":["0xf76ac615ca95a6b018d79ced60ec03bbc3e5db25b4259ffbc71217cf80c88c17","0x577b913a3c8810dd10161c9ae11e2ee31042564c62114c83b0bc5d3a3e71b362"],"storage_written":{"0x577b913a3c8810dd10161c9ae11e2ee31042564c62114c83b0bc5d3a3e71b362":"0x3ad119f00000000","0xf76ac615ca95a6b018d79ced60ec03bbc3e5db25b4259ffbc71217cf80c88c17":"0x4bb211012d30be5ce"},"code_usage":{"read":"0xe83b847e023876e87b1dbdce37339ecd5e5fc0d0ca0ad088104c4a399c8367ce"}},"0x6b75d8af000000e20b7a7ddf000ba900b4009a80":{"balance":"0x472c2b921d78","code_usage":{"read":"0x14eedc35d104cad8feb815afb31ecf05f9a46456488d46839795bceed8240116"}},"0x0c7045cb0d7ca5610ac83b61059123d4681e9bde":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000009":"0x1620d7d2c0ff0a94103c6ac5d49aa7bc","0x000000000000000000000000000000000000000000000000000000000000000a":"0xacec5674829b04c418279c88b94c20","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000004bb211012d30be5ce000000000000ef1f90f428812386"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}}},"meta":{"byte_code":"0x02f9022001832db9230285019239e5fb83023b02946b75d8af000000e20b7a7ddf000ba900b4009a8084b9cbe9ba9a043c0c7045cb0d7ca5610ac83b61059123d4681e9bde03ad119ff90195f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8a0afde8b1371059bff3092dfe9dadcfa1a1fe3be496389f5d9af5d394c34960795f8dd940c7045cb0d7ca5610ac83b61059123d4681e9bdef8c6a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000af85994fb18d8df69771bf2d78ffeddf1ef38d1bf84f62df842a0f76ac615ca95a6b018d79ced60ec03bbc3e5db25b4259ffbc71217cf80c88c17a0577b913a3c8810dd10161c9ae11e2ee31042564c62114c83b0bc5d3a3e71b36201a074641f06af976de24385b7110ad401451033ae5088ed77dba19ab55c69b344c7a072f28c3ae50de53bfd8d3f088e90fc5eb87244b9daf84eaba6b6d8178c720e30","new_txn_trie_node_byte":"0x02f9022001832db9230285019239e5fb83023b02946b75d8af000000e20b7a7ddf000ba900b4009a8084b9cbe9ba9a043c0c7045cb0d7ca5610ac83b61059123d4681e9bde03ad119ff90195f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8a0afde8b1371059bff3092dfe9dadcfa1a1fe3be496389f5d9af5d394c34960795f8dd940c7045cb0d7ca5610ac83b61059123d4681e9bdef8c6a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000af85994fb18d8df69771bf2d78ffeddf1ef38d1bf84f62df842a0f76ac615ca95a6b018d79ced60ec03bbc3e5db25b4259ffbc71217cf80c88c17a0577b913a3c8810dd10161c9ae11e2ee31042564c62114c83b0bc5d3a3e71b36201a074641f06af976de24385b7110ad401451033ae5088ed77dba19ab55c69b344c7a072f28c3ae50de53bfd8d3f088e90fc5eb87244b9daf84eaba6b6d8178c720e30","new_receipt_trie_node_byte":"0xb903c202f903be01832ade9bb9010000200000000000000000000080000000000000000000000000000000000000000000008000000020000008000000000002000000080000000000000000000000000000000000000000000008000000200000000000000000000000000000000080000000000000000000000000000000000000000000002080040050000000010000000000000000000000000000000000000000000000080000004000000000000000000000000004000000000000000000000000000000000000000000000000000002000000008000000000000000000000000000001000000040000000000000200000000000000000000000000000000000000000000000000000000000f902b3f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000000c7045cb0d7ca5610ac83b61059123d4681e9bdea000000000000000000000000000000000000000000000000000b9cbe9ba000000f89b94fb18d8df69771bf2d78ffeddf1ef38d1bf84f62df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000c7045cb0d7ca5610ac83b61059123d4681e9bdea00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a000000000000000000000000000000000000000000000000003ad119f00000000f879940c7045cb0d7ca5610ac83b61059123d4681e9bdee1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000ef1f90f428812386000000000000000000000000000000000000000000000004bb211012d30be5cef8fc940c7045cb0d7ca5610ac83b61059123d4681e9bdef863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80b88000000000000000000000000000000000000000000000000000b9cbe9ba0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ad119f00000000","gas_used":102325}},{"traces":{"0x35a0b00b85c896a1eb44e5645b30e8f0608cc372":{"balance":"0x1db1eca2382f7da","nonce":"0x3b"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396e4e3ee9a76c5051e","storage_read":["0x6801d22be5621094062a3083b9a849437215c0e09dc27150a16ce51ba55d4326","0xafde8b1371059bff3092dfe9dadcfa1a1fe3be496389f5d9af5d394c34960795"],"storage_written":{"0x6801d22be5621094062a3083b9a849437215c0e09dc27150a16ce51ba55d4326":"0x1","0xafde8b1371059bff3092dfe9dadcfa1a1fe3be496389f5d9af5d394c34960795":"0xf3578aae086b29c6"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x0c7045cb0d7ca5610ac83b61059123d4681e9bde":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000004a631cca4a0cdfb5a000000000000f3578aae086b29c6","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832b0e06ba93a0e9"},"0xe43ca1dee3f0fc1e2df73a0745674545f11a59f5":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0x1010000000000000000000000000000000000000001"},"code_usage":{"read":"0xeb3745a79c6ba48e8767b9c355b8e7b79f9d6edeca004e4bb91be4de515a7eeb"}},"0xfb18d8df69771bf2d78ffeddf1ef38d1bf84f62d":{"storage_read":["0x77621ea7d3154ac98bb41ee504b092087b59e5e8b6fc647dd064f78df4673541","0xf76ac615ca95a6b018d79ced60ec03bbc3e5db25b4259ffbc71217cf80c88c17"],"storage_written":{"0xf76ac615ca95a6b018d79ced60ec03bbc3e5db25b4259ffbc71217cf80c88c17":"0x4a631cca4a0cdfb5a","0x77621ea7d3154ac98bb41ee504b092087b59e5e8b6fc647dd064f78df4673541":"0x14ef436e323dea74"},"code_usage":{"read":"0xe83b847e023876e87b1dbdce37339ecd5e5fc0d0ca0ad088104c4a399c8367ce"}}},"meta":{"byte_code":"0x02f901da013a843814fea085023a1b71b98303361e94e43ca1dee3f0fc1e2df73a0745674545f11a59f5880437f9b9dfea0640b901642646478b000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000437f9b9dfea0640000000000000000000000000fb18d8df69771bf2d78ffeddf1ef38d1bf84f62d00000000000000000000000000000000000000000000000014ef42fa2a1dc8f600000000000000000000000035a0b00b85c896a1eb44e5645b30e8f0608cc37200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000700301ffff02010c7045cb0d7ca5610ac83b61059123d4681e9bdec02aaa39b223fe8d0a0e5c4f27ead9083c756cc204c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000c7045cb0d7ca5610ac83b61059123d4681e9bde0135a0b00b85c896a1eb44e5645b30e8f0608cc372000bb800000000000000000000000000000000c080a0ee61f68a76ba45605b20c2edb8351a25467dc589492f07ad27e9319d7067d47ca042efb2a72829640a2afd8008bb3621edbec2e88217df18f262fc76c09eaee5bc","new_txn_trie_node_byte":"0x02f901da013a843814fea085023a1b71b98303361e94e43ca1dee3f0fc1e2df73a0745674545f11a59f5880437f9b9dfea0640b901642646478b000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000437f9b9dfea0640000000000000000000000000fb18d8df69771bf2d78ffeddf1ef38d1bf84f62d00000000000000000000000000000000000000000000000014ef42fa2a1dc8f600000000000000000000000035a0b00b85c896a1eb44e5645b30e8f0608cc37200000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000700301ffff02010c7045cb0d7ca5610ac83b61059123d4681e9bdec02aaa39b223fe8d0a0e5c4f27ead9083c756cc204c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000c7045cb0d7ca5610ac83b61059123d4681e9bde0135a0b00b85c896a1eb44e5645b30e8f0608cc372000bb800000000000000000000000000000000c080a0ee61f68a76ba45605b20c2edb8351a25467dc589492f07ad27e9319d7067d47ca042efb2a72829640a2afd8008bb3621edbec2e88217df18f262fc76c09eaee5bc","new_receipt_trie_node_byte":"0xb9055e02f9055a01832cadd9b90100002000000000000000100000800000000001000000000000000800004800000000000000000000000000080000000000020000000a0000000010000000000000000000000000000000000008000000200000000000000000000000008000400080000000000000000000040000000000000000000000002000040050000000010000000000000000000000000000000000000005000000080000004000000000000000000000000404000000000000000000000000000000000000200000000000000002000000008000000000100000200000000000021000000040000000800000200000010000000000000000000000000000000000400000000000001000f9044ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f5a00000000000000000000000000000000000000000000000000437f9b9dfea0640f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f5a00000000000000000000000000c7045cb0d7ca5610ac83b61059123d4681e9bdea00000000000000000000000000000000000000000000000000437f9b9dfea0640f89b94fb18d8df69771bf2d78ffeddf1ef38d1bf84f62df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000c7045cb0d7ca5610ac83b61059123d4681e9bdea000000000000000000000000035a0b00b85c896a1eb44e5645b30e8f0608cc372a000000000000000000000000000000000000000000000000014ef436e323dea74f879940c7045cb0d7ca5610ac83b61059123d4681e9bdee1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000f3578aae086b29c6000000000000000000000000000000000000000000000004a631cca4a0cdfb5af8fc940c7045cb0d7ca5610ac83b61059123d4681e9bdef863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000e43ca1dee3f0fc1e2df73a0745674545f11a59f5a000000000000000000000000035a0b00b85c896a1eb44e5645b30e8f0608cc372b8800000000000000000000000000000000000000000000000000437f9b9dfea06400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014ef436e323dea74f9011d94e43ca1dee3f0fc1e2df73a0745674545f11a59f5f884a02db5ddd0b42bdbca0d69ea16f234a870a485854ae0d91f16643d6f317d8b8994a000000000000000000000000035a0b00b85c896a1eb44e5645b30e8f0608cc372a0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea0000000000000000000000000fb18d8df69771bf2d78ffeddf1ef38d1bf84f62db88000000000000000000000000035a0b00b85c896a1eb44e5645b30e8f0608cc3720000000000000000000000000000000000000000000000000437f9b9dfea064000000000000000000000000000000000000000000000000014ef42fa2a1dc8f600000000000000000000000000000000000000000000000014ef436e323dea74","gas_used":118590}},{"traces":{"0xfb18d8df69771bf2d78ffeddf1ef38d1bf84f62d":{"storage_read":["0x577b913a3c8810dd10161c9ae11e2ee31042564c62114c83b0bc5d3a3e71b362","0xf76ac615ca95a6b018d79ced60ec03bbc3e5db25b4259ffbc71217cf80c88c17"],"storage_written":{"0xf76ac615ca95a6b018d79ced60ec03bbc3e5db25b4259ffbc71217cf80c88c17":"0x4a9dede42a0cdfb5a","0x577b913a3c8810dd10161c9ae11e2ee31042564c62114c83b0bc5d3a3e71b362":"0x100000000"},"code_usage":{"read":"0xe83b847e023876e87b1dbdce37339ecd5e5fc0d0ca0ad088104c4a399c8367ce"}},"0x0c7045cb0d7ca5610ac83b61059123d4681e9bde":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000004a9dede42a0cdfb5a000000000000f2984d114e6b29c6","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832cb827250adfab"},"0xae2fc483527b8ef99eb5d9b44875f005ba1fae13":{"balance":"0xa245bdd2465625330","nonce":"0x2db925"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0xafde8b1371059bff3092dfe9dadcfa1a1fe3be496389f5d9af5d394c34960795","0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8"],"storage_written":{"0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8":"0x24c437a1f554b21a4a","0xafde8b1371059bff3092dfe9dadcfa1a1fe3be496389f5d9af5d394c34960795":"0xf2984d114e6b29c6"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x6b75d8af000000e20b7a7ddf000ba900b4009a80":{"balance":"0x472ceacfba32","code_usage":{"read":"0x14eedc35d104cad8feb815afb31ecf05f9a46456488d46839795bceed8240116"}}},"meta":{"byte_code":"0x02f901e301832db9248503051684348503051684368301a436946b75d8af000000e20b7a7ddf000ba900b4009a8084bf3d9cba9a823cfb18d8df69771bf2d78ffeddf1ef38d1bf84f62d03ad119ef90153f85994fb18d8df69771bf2d78ffeddf1ef38d1bf84f62df842a0577b913a3c8810dd10161c9ae11e2ee31042564c62114c83b0bc5d3a3e71b362a0f76ac615ca95a6b018d79ced60ec03bbc3e5db25b4259ffbc71217cf80c88c17f89b940c7045cb0d7ca5610ac83b61059123d4681e9bdef884a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0afde8b1371059bff3092dfe9dadcfa1a1fe3be496389f5d9af5d394c34960795a012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a801a0736f151c05f757a80a7502c93aee37b7662e2e2b6b9c0d5bcbf9ba90f3a2bfafa061c0a03b46b1d456e08029b1497663b37764aeb2a34e00caf71c306a2c9c01f9","new_txn_trie_node_byte":"0x02f901e301832db9248503051684348503051684368301a436946b75d8af000000e20b7a7ddf000ba900b4009a8084bf3d9cba9a823cfb18d8df69771bf2d78ffeddf1ef38d1bf84f62d03ad119ef90153f85994fb18d8df69771bf2d78ffeddf1ef38d1bf84f62df842a0577b913a3c8810dd10161c9ae11e2ee31042564c62114c83b0bc5d3a3e71b362a0f76ac615ca95a6b018d79ced60ec03bbc3e5db25b4259ffbc71217cf80c88c17f89b940c7045cb0d7ca5610ac83b61059123d4681e9bdef884a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0afde8b1371059bff3092dfe9dadcfa1a1fe3be496389f5d9af5d394c34960795a012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a801a0736f151c05f757a80a7502c93aee37b7662e2e2b6b9c0d5bcbf9ba90f3a2bfafa061c0a03b46b1d456e08029b1497663b37764aeb2a34e00caf71c306a2c9c01f9","new_receipt_trie_node_byte":"0xb903c202f903be01832dd3ffb9010000200000000000000000000080000000000000000000000000000000000000000000008000000020000008000000000002000000080000000000000000000000000000000000000000000008000000200000000000000000000000000000000080000000000000000000000000000000000000000000002080040050000000010000000000000000000000000000000000000000000000080000004000000000000000000000000004000000000000000000000000000000000000000000000000000002000000008000000000000000000000000000001000000040000000000000200000000000000000000000000000000000000000000000000000000000f902b3f89b94fb18d8df69771bf2d78ffeddf1ef38d1bf84f62df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000000c7045cb0d7ca5610ac83b61059123d4681e9bdea000000000000000000000000000000000000000000000000003ad119e00000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000c7045cb0d7ca5610ac83b61059123d4681e9bdea00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a000000000000000000000000000000000000000000000000000bf3d9cba000000f879940c7045cb0d7ca5610ac83b61059123d4681e9bdee1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000f2984d114e6b29c6000000000000000000000000000000000000000000000004a9dede42a0cdfb5af8fc940c7045cb0d7ca5610ac83b61059123d4681e9bdef863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003ad119e0000000000000000000000000000000000000000000000000000000000bf3d9cba0000000000000000000000000000000000000000000000000000000000000000000000","gas_used":75302}},{"traces":{"0xa5f565650890fba1824ee0f21ebbbf660a179934":{"code_usage":{"read":"0x63c8abc3d5aa196fef7b9f43f9a2aeb1217361ccb131bf35f5588d32753a6c17"}},"0x8cc81804a175309cfaa00f7ecebe5113cf88b8d7":{"balance":"0x40790db57fbac","nonce":"0x4"},"0xf70da97812cb96acdf810712aa562db8dfa3dbef":{"balance":"0x155d2d7d1bb695efdb"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832ceda8d0a2553b"}},"meta":{"byte_code":"0x02f8760103846ce4db28850201112a7f82c0d994a5f565650890fba1824ee0f21ebbbf660a1799348713b80d63f67fda8401f45e5dc080a06f28e3e6117414d4531ec793eaf2404a89bd050e720a47aae5f925378be72418a079307208421f4c1832a9324ce199e8ba4d299138f5fcfc109ed555951bd2bd4b","new_txn_trie_node_byte":"0x02f8760103846ce4db28850201112a7f82c0d994a5f565650890fba1824ee0f21ebbbf660a1799348713b80d63f67fda8401f45e5dc080a06f28e3e6117414d4531ec793eaf2404a89bd050e720a47aae5f925378be72418a079307208421f4c1832a9324ce199e8ba4d299138f5fcfc109ed555951bd2bd4b","new_receipt_trie_node_byte":"0xb901a902f901a501832e51c9b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000080000f89bf89994a5f565650890fba1824ee0f21ebbbf660a179934e1a0936c2ca3b35d2d0b24057b0675c459e4515f48fe132d138e213ae59ffab7f53eb8600000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000401f45e5d00000000000000000000000000000000000000000000000000000000","gas_used":32202}},{"traces":{"0x843563d386e0996aa531d3d5b8edddaedf33c09e":{"balance":"0x1432a90275325e","nonce":"0xc"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396e4d76d2e9929051e","storage_read":["0xc48dd3d02508bb65eca0a9a63ac4c0564edd0c9998e781209fcc0ed4053423e2"],"storage_written":{"0xc48dd3d02508bb65eca0a9a63ac4c0564edd0c9998e781209fcc0ed4053423e2":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832d1efe5a98ac33"}},"meta":{"byte_code":"0x02f88f010b846a61cb398502a76bdfff829b6394c02aaa39b223fe8d0a0e5c4f27ead9083c756cc280a42e1a7d4d000000000000000000000000000000000000000000000000000c816bdd9c0000c080a0c26f1602cc1546df403b325d6f2e61b8faf6079ad0623aedb202c0e7a240cb7fa07ac2840edf0378e6c5e8e8296a9af9c73e7aea17b2ca32281517f92ac16ea0db","new_txn_trie_node_byte":"0x02f88f010b846a61cb398502a76bdfff829b6394c02aaa39b223fe8d0a0e5c4f27ead9083c756cc280a42e1a7d4d000000000000000000000000000000000000000000000000000c816bdd9c0000c080a0c26f1602cc1546df403b325d6f2e61b8faf6079ad0623aedb202c0e7a240cb7fa07ac2840edf0378e6c5e8e8296a9af9c73e7aea17b2ca32281517f92ac16ea0db","new_receipt_trie_node_byte":"0xb9018a02f9018601832ec881b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000000000000000000000000000400000000000000000000000400000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000010002000000000000200000000000000000000000000000000000000000000000000000000000f87cf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000843563d386e0996aa531d3d5b8edddaedf33c09ea0000000000000000000000000000000000000000000000000000c816bdd9c0000","gas_used":30392}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832d7068cd64b9bc"},"0x1a3a8cf347b2bf5890d3d6a1b981c4f4432c8661":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000006","0xe0081aff99e0339bdef73b23b4bf76a6731d3e04ac93699ea0049932ef5ebedc","0xa37adb72a557080ccf340b774badb871356fcdb19c297019d6c88366b0809cc5"],"storage_written":{"0xa37adb72a557080ccf340b774badb871356fcdb19c297019d6c88366b0809cc5":"0x11de332abca996a2a40","0xe0081aff99e0339bdef73b23b4bf76a6731d3e04ac93699ea0049932ef5ebedc":"0xcf002"},"code_usage":{"read":"0x9e7501a8d4b10dec80820f8dc454c832c252b3135bf90a9c1ca64043aef32be4"}},"0x9b239a96cf7de4a8378218468ef90b01b25dcca4":{"balance":"0x6babecb2d4995","nonce":"0x55"}},"meta":{"byte_code":"0x02f8b0015484773594008501f3f7fc3882d85d941a3a8cf347b2bf5890d3d6a1b981c4f4432c866180b844a9059cbb0000000000000000000000003419caf36db0cfa33674d4457444644db3ec328300000000000000000000000000000000000000000000011de332abca996a2a40c001a037b4acdbe149ef0453e53501b9cba66369ec486ff51c0ccd354462bd2c071e4da023bd531b81c9e37abc332b1f518e4b8018d29200b4ef44a37a8ea4b91e4f118e","new_txn_trie_node_byte":"0x02f8b0015484773594008501f3f7fc3882d85d941a3a8cf347b2bf5890d3d6a1b981c4f4432c866180b844a9059cbb0000000000000000000000003419caf36db0cfa33674d4457444644db3ec328300000000000000000000000000000000000000000000011de332abca996a2a40c001a037b4acdbe149ef0453e53501b9cba66369ec486ff51c0ccd354462bd2c071e4da023bd531b81c9e37abc332b1f518e4b8018d29200b4ef44a37a8ea4b91e4f118e","new_receipt_trie_node_byte":"0xb901ab02f901a701832f9dbeb90100000000000000000000000000800000000000000000000100000000000000000000000000000000100000000080000000000000000000000000000400000000000000000000000000100000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b941a3a8cf347b2bf5890d3d6a1b981c4f4432c8661f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009b239a96cf7de4a8378218468ef90b01b25dcca4a00000000000000000000000003419caf36db0cfa33674d4457444644db3ec3283a000000000000000000000000000000000000000000000011de332abca996a2a40","gas_used":54589}},{"traces":{"0xd8912c10681d8b21fd3742244f44658dba12264e":{"storage_written":{"0xcb1ea3a830969b98fe477be05dee992dceb927448618f14891030e2a59a1964b":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x54a4c6f5518a0ac65c9d0545a715ef9dedca0060a6572d622bcf04811559191f"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832db301b1e6d518"},"0xd0e2f00804d64ef6abc52e9826808e7e0c69ac32":{"balance":"0x8efcbac9635fe","nonce":"0x1"}},"meta":{"byte_code":"0x02f8b00180845e27fcbe8502e5727ab782b69194d8912c10681d8b21fd3742244f44658dba12264e80b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a073a5e3be288c697fb65e596caff3998e2ec1b1bb017f7176c3e5f5e0f3e6365aa06a86a7b647e481adb6f353f5ae5758cf4d837f80dd6a8257bc1102b34e01b5bc","new_txn_trie_node_byte":"0x02f8b00180845e27fcbe8502e5727ab782b69194d8912c10681d8b21fd3742244f44658dba12264e80b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a073a5e3be288c697fb65e596caff3998e2ec1b1bb017f7176c3e5f5e0f3e6365aa06a86a7b647e481adb6f353f5ae5758cf4d837f80dd6a8257bc1102b34e01b5bc","new_receipt_trie_node_byte":"0xb901ab02f901a701833052d0b9010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000080000000000000000000000000000000004000000000000000004000000000000000000040000000000000000000000000000000002000000000000000000000000000000000000020000000000000002000000080000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94d8912c10681d8b21fd3742244f44658dba12264ef863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000d0e2f00804d64ef6abc52e9826808e7e0c69ac32a0000000000000000000000000881d40237659c251811cec9c364ef91dc08d300ca0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46354}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832deda97e1a1f65"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x97b1b2270bbb40407bbf15f737cb8cf294d20c5329da37168c8cecd2295e1200","0x95eea00c49d14a895954837cd876ffa8cfad96cbaacc40fc31d6df2c902528a8","0x0000000000000000000000000000000000000000000000000000000000000000","0x82cee51cd534b5728543b133c78dc49d98e22d713140a304b2f2a4561dfda38e"],"storage_written":{"0x97b1b2270bbb40407bbf15f737cb8cf294d20c5329da37168c8cecd2295e1200":"0x0","0x95eea00c49d14a895954837cd876ffa8cfad96cbaacc40fc31d6df2c902528a8":"0x6f162e87e4b4"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x08ed858c1d7b614cfdf83048f7eecb0d78439352":{"balance":"0x3fef2f7575ec","nonce":"0x6"}},"meta":{"byte_code":"0x02f8b0010584773594008501ef41474082c1c094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a000000000000000000000000000000000000000000000000000000011c9d819fc080a0a61fbc8e4c904c10364e3f5700341475f37e2749955a6573e92ac375450e6b06a016839f752b27394d7bc70ca6ad7b252156ca7f521924cb8e5f0d9cc1182599be","new_txn_trie_node_byte":"0x02f8b0010584773594008501ef41474082c1c094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a000000000000000000000000000000000000000000000000000000011c9d819fc080a0a61fbc8e4c904c10364e3f5700341475f37e2749955a6573e92ac375450e6b06a016839f752b27394d7bc70ca6ad7b252156ca7f521924cb8e5f0d9cc1182599be","new_receipt_trie_node_byte":"0xb901ab02f901a7018330f439b9010000000000000000000000000000000000400000000000000000000000002000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100200000000000000000008000080000000000000000000000000000000000000000000002002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000008ed858c1d7b614cfdf83048f7eecb0d78439352a00000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081aa0000000000000000000000000000000000000000000000000000000011c9d819f","gas_used":41321}},{"traces":{"0x590b28293f8cf63f7edb050e13f65e446370cbc0":{"balance":"0x1c726a0d043d8","nonce":"0x2"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004","0x0bd0daa47a58a846425b50dcb9c99a2571838ba6b87d7537250e744e56dbca41","0x95eea00c49d14a895954837cd876ffa8cfad96cbaacc40fc31d6df2c902528a8","0x0000000000000000000000000000000000000000000000000000000000000000","0xf7a990acd84d7923754643433b90bd057a4c53774ac19c38a024f5ce5f3c931b","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003"],"storage_written":{"0x95eea00c49d14a895954837cd876ffa8cfad96cbaacc40fc31d6df2c902528a8":"0x6f174f9d0534","0x0bd0daa47a58a846425b50dcb9c99a2571838ba6b87d7537250e744e56dbca41":"0x0"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832e28514a4d69b2"}},"meta":{"byte_code":"0x02f8b0010184773594008501ef41474082c1c094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a0000000000000000000000000000000000000000000000000000000121152080c080a07af573568d77b64da6b5592afe44c1730a197789b36587cce5450fbe05fb0b8ea076fafb3a0d6735a46f9f59776509605cce4259b22c79b2ad26b2a508b0209ef3","new_txn_trie_node_byte":"0x02f8b0010184773594008501ef41474082c1c094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081a0000000000000000000000000000000000000000000000000000000121152080c080a07af573568d77b64da6b5592afe44c1730a197789b36587cce5450fbe05fb0b8ea076fafb3a0d6735a46f9f59776509605cce4259b22c79b2ad26b2a508b0209ef3","new_receipt_trie_node_byte":"0xb901ab02f901a701833195a2b9010000000000000000000000000000040000000000000000000000000000002000000000400000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000008000080000000000000000000000000000000000000000000002002000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000590b28293f8cf63f7edb050e13f65e446370cbc0a00000000000000000000000005041ed759dd4afc3a72b8192c143f72f4724081aa00000000000000000000000000000000000000000000000000000000121152080","gas_used":41321}},{"traces":{"0x4d224452801aced8b2f0aebe155379bb5d594381":{"storage_written":{"0x1ae739a9c253eb68f9aa5515f8ba81edbf1c61b2c4315db4be9c330e8418b6a4":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0x86cc3092a7d90269edf27eb088feea0d277b77a77bfbbe06dff0a1b1affbfb9e"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x832e69647482b5b2"},"0x66acc1d0cc9db73cda14eacd368178558baf4aff":{"balance":"0x7bba327c34d0a2","nonce":"0xc6"}},"meta":{"byte_code":"0x02f8b10181c5845b9744008502fd4d73b782b762944d224452801aced8b2f0aebe155379bb5d59438180b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a06ee1d557e750e01c4de8915ec5a517f40e136a618a51e6022a7b32905df94454a0683df6d1af7809dc180d4189a8f2ae226aec09efba07765014077fbe65e80791","new_txn_trie_node_byte":"0x02f8b10181c5845b9744008502fd4d73b782b762944d224452801aced8b2f0aebe155379bb5d59438180b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a06ee1d557e750e01c4de8915ec5a517f40e136a618a51e6022a7b32905df94454a0683df6d1af7809dc180d4189a8f2ae226aec09efba07765014077fbe65e80791","new_receipt_trie_node_byte":"0xb901ab02f901a70183324b85b9010000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000200000000200000000000000000000000000000000000000000000000000000000000000000080000000000000000020004000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000020000000000000002000000080000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b944d224452801aced8b2f0aebe155379bb5d594381f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000066acc1d0cc9db73cda14eacd368178558baf4affa0000000000000000000000000881d40237659c251811cec9c364ef91dc08d300ca0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46563}},{"traces":{"0x4e3fbd56cd56c3e72c1403e103b45db9da5b9d2b":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000007","0x34749f37def313be0f2a2d78877268119cac7a92b04591b99ebfb8f5bf3943e3","0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000009"],"storage_written":{"0x34749f37def313be0f2a2d78877268119cac7a92b04591b99ebfb8f5bf3943e3":"0x1262b60b754417b5c4","0x0000000000000000000000000000000000000000000000000000000000000002":"0x526d6cfd12249952e26960"},"code_usage":{"read":"0xfa5d25e3982980ec31d90377da689c97859cbd1a7f524b9d9da4a9421988a3f5"}},"0x453722ca9dd2dc97ff7d95ebb2e3ce7cc69170f1":{"code_usage":{"read":"0xb829dd0add925a75503a30b21606e224cd0d07b735dc9c429bbe2a1e109b0b98"}},"0x33bb0e62d5e8c688e645dd46dfb48cd613250067":{"code_usage":{"read":"0x2c67f0058c5bebafdab722f691a698a56d1480b5dbaf9bca64bb036e9f24cf4a"}},"0xafd3d38fecebcdda6d934979d4ac7f17330a96ca":{"code_usage":{"read":"0x145909961065fdc4d1b39d001bb4911b9aff42315eb434d060b6ffb0580bea7c"}},"0x26598e3e511adfadefd70ab2c3475ff741741104":{"storage_read":["0xc485a9253ebc59fd852d3c09f59c1d2eaa9415499a2ff55010bf222ecc2d3d02","0x1d43b4f04427fbe161db8b9e719cedf9c5d39cfd5ef3750c73d914c53638d81a","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000010","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000008","0xa9deca00bcc88777cfe4451bfdec48d6191108e9b7f8f9e97a0ebba6aa6ce0a5","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x1d43b4f04427fbe161db8b9e719cedf9c5d39cfd5ef3750c73d914c53638d81a":"0x148669787bdde0c26d6de5","0x0000000000000000000000000000000000000000000000000000000000000007":"0x6687db3b","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1488a3814c4a02467c4694","0xa9deca00bcc88777cfe4451bfdec48d6191108e9b7f8f9e97a0ebba6aa6ce0a5":"0x0","0x0000000000000000000000000000000000000000000000000000000000000008":"0x3080d8d904278bb","0xc485a9253ebc59fd852d3c09f59c1d2eaa9415499a2ff55010bf222ecc2d3d02":"0x3080d8d904278bb"},"code_usage":{"read":"0x62a15060f28c539d4e4e1147fc1348e449a2bb811b4267e0f9c38e229c06a672"}},"0x072928bbfaec9e9142a5bfb9cf7de325a300c791":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009"],"code_usage":{"read":"0xd7a84a490a0fc5725de0f6d82ca7945181efc5f1c22842e74cce3e6da83ea64e"}},"0x0000000000000000000000000000000000000001":{},"0x8e0c00ed546602fd9927df742bbabf726d5b0d16":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000"],"code_usage":{"read":"0xbd498ff294bc32304ad564e4abe98e41fb1a377414d19074abbf4c2d54b6d3f7"}},"0xd533a949740bb3306d119cc777fa900ba034cd52":{"storage_read":["0xf28b262c7809469f85629cfcbdd2cfef0703ea1786cb634b056fdc4ebe9172c8","0x53653457b197d34cf134599fff4673262fd240d9e6e5a7492c32d94cdd71abef","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x53653457b197d34cf134599fff4673262fd240d9e6e5a7492c32d94cdd71abef":"0xf60ff93529a145c5ce2","0xf28b262c7809469f85629cfcbdd2cfef0703ea1786cb634b056fdc4ebe9172c8":"0x13d3c6644b6ac6ddfdfb"},"code_usage":{"read":"0xb76a9f27b7c56b437bd85288ec0b47df9b0dcbc0e8893940e7e1cb7fef862eef"}},"0xd7abc64cafc30fdd08a42ea4bc13846be455399c":{"code_usage":{"read":"0x77f09ae08d43c39a8a80409766bc5e8b9e073843003559185dd41d8e797e6915"}},"0xbe1c919ca137299715e9c929bc7126af14f76091":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009","0xdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7","0x68fd0b98a99fb987c820d61df2d4e08db0a40d83a1f742bc73a278010106712f","0xb0b84165f360254aeb25ac051a095a5c9a512ee7e6bd81266c8b72470bc8a043","0x0e69015fe6f8eacf0b75b3fb9a8d2a890afd54a3bf158ae263cd496c2d32f402","0xdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8cc","0x5e4c5fd36741e7611a1d2404a6d58095e2d3d32c7ddb56d777c151896652281d","0xb98807c5fadecbe42bfcfe14190c56603ba1e59732940e438762ecd1712997a4","0x0000000000000000000000000000000000000000000000000000000000000002","0xdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c9","0xdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8ce","0xf59c1cab0fe996545b48349e17dca10d7ff42ae615853858b1573838e8a45f96","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000006","0x000000000000000000000000000000000000000000000000000000000000000e","0x000000000000000000000000000000000000000000000000000000000000000b","0x000000000000000000000000000000000000000000000000000000000000000c","0x6fec476b98f10bd3577d1b06ec55e7dd82a94689db56b866eafdbd7f023aba83","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0xdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8ce":"0x1262b60b754417b5c4000000000000000003e33b36bfbd7c22","0xb0b84165f360254aeb25ac051a095a5c9a512ee7e6bd81266c8b72470bc8a043":"0xb2d3e049db861af41ed","0x5e4c5fd36741e7611a1d2404a6d58095e2d3d32c7ddb56d777c151896652281d":"0x148669787bdde0c26d6de5","0x0e69015fe6f8eacf0b75b3fb9a8d2a890afd54a3bf158ae263cd496c2d32f402":"0x0","0xdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c9":"0xf60ff93529a145c5ce2000000000000000127103cb68f0582dd","0x6fec476b98f10bd3577d1b06ec55e7dd82a94689db56b866eafdbd7f023aba83":"0xb71e97d8f12d1cb3d","0xf59c1cab0fe996545b48349e17dca10d7ff42ae615853858b1573838e8a45f96":"0x3e33b36bfbd7c22","0x0000000000000000000000000000000000000000000000000000000000000006":"0x1","0xb98807c5fadecbe42bfcfe14190c56603ba1e59732940e438762ecd1712997a4":"0xffffffffffffffffffffffffffffffffffffffffffdc9ff333a0adad91ff63c5","0x0000000000000000000000000000000000000000000000000000000000000002":"0x148669787bdde0c26d6de5","0x68fd0b98a99fb987c820d61df2d4e08db0a40d83a1f742bc73a278010106712f":"0x127103cb68f0582dd"},"code_usage":{"read":"0xa75384ac8ca5dab2ed6686990c433b283eab7c86cf4d92477f47ee9631d63ce7"}},"0xd9db270c1b5e3bd161e8c8503c55ceabee709552":{"code_usage":{"read":"0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e"}},"0x7287488f8df7dddc5f373142d4827aaf92aac845":{"code_usage":{"read":"0xad49da19795f82af62ce8f62d22f0966e93390e457e9b558063dcd4e377d01f5"}},"0x02b1326c26f48eab33bb24124e2c741dbaf1a274":{"code_usage":{"read":"0xe43d5a0a0fdfaa3c5b64734b126cfa000ba20115258c5bbfc59a0d1d5d182b8b"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8337d081e935c3b2"},"0x2f50d538606fa9edd2b11e2446beb18c9d5846bb":{"storage_read":["0xcc0d20a67f005d47d691df8ff100a57a77041145a585e47ca6c2b0ed40c1cc91","0xab309bbeb27d294ce876355e4aedd323346131591f9d40be42d2adbbffebfb2b","0xab309bbeb27d294ce876355e4aedd323346131591f9d40be42d2adbbffebfb2c","0x3cbfb8d48a064c2d453a8c104ab32bc7ae2c228a00c9d54998ddd3e2d6c11bea","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47a","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6f","0x45504d6efa7e73dab8035211c3d130215e2519ddd2401bc3edfb2f7b2b94a69f","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec478","0x7c8d0435108011de0fd5ad15c5d7aaeda43da26fa3e544a3bc29af11af8a4321","0x563cd9f6cfffff522c6d33d2d3fe165c8edb63d9120cd5a5870904201503680c","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47d","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c72","0x55c98e396d9fd7c25335c87f65873b45e6a23a2afd71444a6cb0a345c1fc90cc","0x077ec254808d83b8569390029e8a2a6ec5df8ea4a647618530ba696ca3b6b8cd","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec479","0xc9005b45757dc5c6bdacc6fbfed647a620ecd387c305dd0d6f42a0172fcf2e4b","0xb3f46f8897927224918a0e1bdf5c3bf75a6d018699e5d0808f8125335707b666","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec481","0x0000000000000000000000000000000000000000000000000000000000000004","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c74","0x0000000000000000000000000000000000000000000000000000000000000013","0xeae8ec8d68ba42c934d1f9ed61d072ef53cc06ef2efa0fd937df0aea7b8184d2","0x443d395f5ee483dca7e3674af49137b258ab3a2850188f02775d3f54f56db032","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68","0xf722e0ff4b11928e89a323039b73fb5c6c191503abe12dd7a04866715dc9c384","0x0672debae676d7bd661012ac4977e7f154240bd392ec0b4495637a9446bd6b5b","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6c","0xed9df941858da7410530432a6d1506ab969cb76c0947673166ae72bd82d087c7","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c71","0xbcb2b1be75672b90db800491c087d2eab9d6afa5942d76347a7b79ff854f0618","0x6067acf5c447988c254c0aced81c778cc4ac1217d860ddc7a689362582230dcb","0xca2fcbd72acd4b91714525d358c755f649c3004579087d2eba79446ed69500e9","0xc9005b45757dc5c6bdacc6fbfed647a620ecd387c305dd0d6f42a0172fcf2e4a","0x80d381c7131d8e04ffbcd9d929757c1708d9c343f6c40bb66859f79f55f0319b","0xbcb2b1be75672b90db800491c087d2eab9d6afa5942d76347a7b79ff854f0617","0x8abe8b68a3468cd5e9960a75c96f1d01518099c82930f163289bd9ca4e403961","0xed9df941858da7410530432a6d1506ab969cb76c0947673166ae72bd82d087c8","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6d","0x7c8d0435108011de0fd5ad15c5d7aaeda43da26fa3e544a3bc29af11af8a4322","0xac1ee49586baf4b82a8151d8020f890cc9f28bd0fa5af41287f916df4f8a6113","0x2653b135ff7a8a55870088fc1fb9d0dd4da69df22d10ab72ebf1b3d01308b57f","0x1179113792d9164e603f3bda36ce291a782edcccad763dcdf0ef09a1ccec2c1d","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47b","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47c","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47f","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6e","0xdfbadaac02429180d2dc04a1732360caa85bbfd87d74ee4c6cbf391b4582add7","0xbd99a508ccfbc07e218afeb717068f1942fea92af70717c4d79832845417b344","0x0c06ecf2ca3a2180de228a45bfd86ba87ccaef3fdf922d57a970edf6b0839ffb","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec47e","0xeae8ec8d68ba42c934d1f9ed61d072ef53cc06ef2efa0fd937df0aea7b8184d1","0xb3f46f8897927224918a0e1bdf5c3bf75a6d018699e5d0808f8125335707b665","0x2653b135ff7a8a55870088fc1fb9d0dd4da69df22d10ab72ebf1b3d01308b57e","0x2df70840591353e487bf81104a4f5ab2cc97d548b92b517c859e6dd23fc7ea1a","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec477","0x47b5a32d983abc009edef917d241fde66d21e5d8c0eb730f581bf1460714f36f","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c70","0xcc0d20a67f005d47d691df8ff100a57a77041145a585e47ca6c2b0ed40c1cc90","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c69","0x63147c3d3f23374e67093cb6518f0521db4da8e70ad9dfe48ed312213962ca6b","0x0c06ecf2ca3a2180de228a45bfd86ba87ccaef3fdf922d57a970edf6b0839ffa","0xaf54df51fbe9c54ba97b5d44d96f704b2f4c25a2ae16b822dafd2abdb98a51e6","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec480","0xde834053e29256f7df7cd769f6070aecaac8c6f04cc18b7cd29f446a75113109","0x6067acf5c447988c254c0aced81c778cc4ac1217d860ddc7a689362582230dca","0x6f8b6302cae57133c987c27e7853d6ce4c76a6f0b3db3b94d7ddac86866a4e70","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6a","0xca2fcbd72acd4b91714525d358c755f649c3004579087d2eba79446ed69500ea","0x80d381c7131d8e04ffbcd9d929757c1708d9c343f6c40bb66859f79f55f0319a","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec476","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6b","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c73","0x3cbfb8d48a064c2d453a8c104ab32bc7ae2c228a00c9d54998ddd3e2d6c11be9"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000013":"0x668f2080","0x44c5861517ed4b5fe2440ef3a02d0e4dc46dd66ee8cd8dd9c8e9b2e4239796ac":"0x1cf06d11f0c9e35aeae633dc9749c2c6200000"},"code_usage":{"read":"0x655bec9519bc4e87c56bb2c54767c5ae6407f8be1b29140f5110c29d9607d42d"}},"0xdcef968d416a41cdac0ed8702fac8128a64241a2":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x000000000000000000000000000000000000000000000000000000000000000c","0x000000000000000000000000000000000000000000000000000000000000000a"],"code_usage":{"read":"0x304e2199bfe57413d95a53efb2f3df8ed69be12f7df5770b874c9b3a30d9cafd"}},"0x3432b6a60d23ca0dfca7761b7ab56459d9c964d0":{"storage_read":["0x9c4377c4746c5cf109559dbc8891c790c23564c672daa469529a0c776444d970","0x000000000000000000000000000000000000000000000000000000000000000b","0x99cf6937fd2b680458902a317ae7c3d6f00b1ce946d150bf387953ab2d15c324","0x8715b3a52abfbdc014554efe04f1e4d5ef28a6fe2a8a077671dc6ee054b01b59","0x5e4c5fd36741e7611a1d2404a6d58095e2d3d32c7ddb56d777c151896652281d","0x0e69015fe6f8eacf0b75b3fb9a8d2a890afd54a3bf158ae263cd496c2d32f402","0x8110a04ff74233709d907a6078b9ed702e4c31a03ad8ebe72cd84cf119f12bc7","0x7e482be4bd48816487f4b725d0db08e55f26cb4c7df574ed6560c516f5dc284d","0xa48f83e98bd1684e2d42cc61cd6ed4c30c048ffcdfcdf362c4c59547f0543ba6"],"storage_written":{"0x8715b3a52abfbdc014554efe04f1e4d5ef28a6fe2a8a077671dc6ee054b01b59":"0x1d","0x99cf6937fd2b680458902a317ae7c3d6f00b1ce946d150bf387953ab2d15c324":"0xaf0569c57bdc7962730134d6ba","0x0e69015fe6f8eacf0b75b3fb9a8d2a890afd54a3bf158ae263cd496c2d32f402":"0x313df61686eb9ae728","0x5e4c5fd36741e7611a1d2404a6d58095e2d3d32c7ddb56d777c151896652281d":"0xaf0569c57bdc796273","0x8110a04ff74233709d907a6078b9ed702e4c31a03ad8ebe72cd84cf119f12bc7":"0x267","0x9c4377c4746c5cf109559dbc8891c790c23564c672daa469529a0c776444d970":"0x313df61686eb9ae7280134d6ba"},"code_usage":{"read":"0xf19bbd7bc6a4a6c7edd6bf1542de2491e76935de8e52f8420c3dfc207ad27bdf"}},"0x989aeb4d175e16225e39e87d0d97a3360524ad80":{"storage_read":["0xe236be3628bbda5b4452cecb31b760e423674c353acfd1eab8b2c0ee0d41a7dd","0x0000000000000000000000000000000000000000000000000000000000000001","0xc4a5b03e8a0e77d2fc38e72becdada6f0e67c93c440dd84e84cb600dac34e0c0"],"code_usage":{"read":"0xb78821be06dc6eae0f33e30d350ef3a50385b6e31b7b0bd23326b0a5275dd5e8"}},"0x711d650cd10df656c2c28d375649689f137005fa":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89d01","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89ce9","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cfb","0x0000000000000000000000000000000000000000000000000000000000000005","0xcc6a78ef3576b7dcba6e87d7fe5f0c3965035cb2cf4bdee4e507fd217336f0e8","0x0000000000000000000000000000000000000000000000000000000000000010","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cfa","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cef","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf6","0x0000000000000000000000000000000000000000000000000000000000000008","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89d00","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89ce8","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cea","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf1","0x0000000000000000000000000000000000000000000000000000000000000007","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89d03","0x8c2dbd469ac87a0e50e97c5afd57bf8a32178289c027611a61fe68fcda766d3c","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cec","0x3486d5bae47f144ad1fa33d89f73a953aae8dea7e49587ffe30b1019dd3daf6d","0xc1da3082bfb4beb2d46598aaf942de8f78de2591de4a6345c92b1b2b155e1743","0x000000000000000000000000000000000000000000000000000000000000001b","0xf48c0f4cefac343c640dedbce54d59541ccbe2ff849054d52bfa5aa4e392b50b","0x0000000000000000000000000000000000000000000000000000000000000015","0xb7aff23bdb29f85330b860c4d7e785340c4ecaa7ced001f8f9eaea1eab3e20a6","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89ceb","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cee","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf2","0x0000000000000000000000000000000000000000000000000000000000000019","0xcd36fe0199acaa80eac1a050cffd9e3b18291ae2ad2fe703f0853db9685f3650","0x000000000000000000000000000000000000000000000000000000000000000b","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89ce6","0x98a56ca31d6c5fb2829383afdee949fae2fd9c6e297b21fd76b13e0428c9d300","0x31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68","0x944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cfe","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89ced","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cfc","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf0","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf8","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf9","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89d02","0x000000000000000000000000000000000000000000000000000000000000001a","0x057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e","0x0000000000000000000000000000000000000000000000000000000000000006","0x8715b3a52abfbdc014554efe04f1e4d5ef28a6fe2a8a077671dc6ee054b01b59","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf3","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89ce7","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf7","0x0000000000000000000000000000000000000000000000000000000000000004","0x000000000000000000000000000000000000000000000000000000000000001c","0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672","0x0000000000000000000000000000000000000000000000000000000000000021","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf5","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf4","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cfd","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cff","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000011","0x3c56925c6b1825d21a248a512a20eef024be203dc516073e7d4ded04ec202c15"],"storage_written":{"0xcc6a78ef3576b7dcba6e87d7fe5f0c3965035cb2cf4bdee4e507fd217336f0e8":"0x3d6b8bc2bca9e42816f4ac","0x3486d5bae47f144ad1fa33d89f73a953aae8dea7e49587ffe30b1019dd3daf6d":"0x146539770d0b6208e90000","0xb7aff23bdb29f85330b860c4d7e785340c4ecaa7ced001f8f9eaea1eab3e20a6":"0x6","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf5":"0x0","0x55f448fdea98c4d29eb340757ef0a66cd03dbb9538908a6a81d96026b71ec475":"0xd6b875d40ef8b8","0x000000000000000000000000000000000000000000000000000000000000001c":"0x3de4c123c9b1214c9240e5","0x98a56ca31d6c5fb2829383afdee949fae2fd9c6e297b21fd76b13e0428c9d300":"0x0","0x944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695":"0x10c20103e4113aa","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89d00":"0x6687db3b","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf6":"0x0","0x0000000000000000000000000000000000000000000000000000000000000005":"0x6687db3b","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89d03":"0x8844ba710757ab","0xcd36fe0199acaa80eac1a050cffd9e3b18291ae2ad2fe703f0853db9685f3650":"0x6687db3b","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89d01":"0x618f651039c241cb90000","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cff":"0x9a2f60abf184264b3c0d38da83836faf69d10ccaecfe82aca9e4072f12912665","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89d02":"0x669115bb","0xc1da3082bfb4beb2d46598aaf942de8f78de2591de4a6345c92b1b2b155e1743":"0xd6b875d40ef8b8","0x8c2dbd469ac87a0e50e97c5afd57bf8a32178289c027611a61fe68fcda766d3c":"0x148669787bdde0c26d6de5","0x0000000000000000000000000000000000000000000000000000000000000003":"0x37a961cef5799d9","0x057c384a7d1c54f3a1b2e5e67b2617b8224fdfd1ea7234eea573a6ff665ff63e":"0x668f2080","0x3c56925c6b1825d21a248a512a20eef024be203dc516073e7d4ded04ec202c15":"0x1bc16d674ec80000","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf7":"0x0","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf8":"0x0","0xc30877678d5abd1dad98b7951748e5344872a54a4c7e3987b5e2a5f17fd89cf9":"0x0","0x0000000000000000000000000000000000000000000000000000000000000002":"0x1","0x000000000000000000000000000000000000000000000000000000000000001b":"0x148669787bdde0c26d6de5"},"code_usage":{"read":"0x5678a170a64cefff814b5b85a2b607d49a27ada9c4ff3adf2a4032a9b80b7b19"}},"0x7f24fb0f1b73caf3077898d226d814a4196cc606":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000002"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000005":"0x1"},"code_usage":{"read":"0x6fb0f2384aba870b36aea8edaffb1715575de7e6390a75311e2ff84d7c086f42"}},"0xb30da2376f63de30b42dc055c93fa474f31330a5":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000013","0xce4a94921587bce435c0240b0dab03b79a29af623dbc3d234d348efa12105c4a","0xe04dde474d88d5fedf85c49f75ebc97acad9e47879786a1d462fd3b3221f3297","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000005","0xe62640bfadbf641c0147965e6be9ccd0e1683b07b1b03865f90e8705284ae613","0x7d72e6e9c15119941f48f2510634e1ed9eefe1ad729e0cd17c5ed15955c88747","0x6fa83f553492fb12de8a3de215efa65518c32ec763e52bc16821bf99c05b1011","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000004","0x0d731940b8fee60ffaa72fb91acfb5042687834e8316667709899fa0f03a932f","0xa9b092c935c7235b15763d8e1ec3b097965860d6146c7b3df8240bafb80368c8","0xbaee956d1339c75094c55a66232f749ae7b04d4ac740d643eb756f3432da5f73","0xfe5725a3ed2009e6d1e69dac7358be5f6f779b6cd6c0bc44c346418c006546c8","0xf9fbd7fda3883080d199fa3b09a299832ccdd0c36e3d886236a7a1329a4319dd"],"storage_written":{"0xe04dde474d88d5fedf85c49f75ebc97acad9e47879786a1d462fd3b3221f3297":"0x0","0xf9fbd7fda3883080d199fa3b09a299832ccdd0c36e3d886236a7a1329a4319dd":"0x0","0x6fa83f553492fb12de8a3de215efa65518c32ec763e52bc16821bf99c05b1011":"0x27b465434b0a6a1de9c3a","0xbaee956d1339c75094c55a66232f749ae7b04d4ac740d643eb756f3432da5f73":"0x0","0x7d72e6e9c15119941f48f2510634e1ed9eefe1ad729e0cd17c5ed15955c88747":"0x0","0x0d731940b8fee60ffaa72fb91acfb5042687834e8316667709899fa0f03a932f":"0x14b604bcb220614afc55ff","0xfe5725a3ed2009e6d1e69dac7358be5f6f779b6cd6c0bc44c346418c006546c8":"0x0","0xce4a94921587bce435c0240b0dab03b79a29af623dbc3d234d348efa12105c4a":"0x0"},"code_usage":{"read":"0xd1ea5822210a78c174b99e58a8d3803d68a3694868c6d796fee2b5cebe383f62"}},"0x9e2b6378ee8ad2a4a95fe481d63caba8fb0ebbf9":{"balance":"0x27be8077e96192bc","storage_read":["0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000004","0xdddc18c44fd2efbc626041ec102e5d6362133f04ca3f051617173d26e9269656","0x4acd48c4a7e7cfcc3abbbeda58b512a1351b40594f9f9021e87eb5fd6f707c12","0x8795360ccccd6ce78d908978d8e2ff3a74a80ef42ea682b0b5526f2f550f681d"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000005":"0x86f"},"code_usage":{"read":"0xaea7d4252f6245f301e540cfbee27d3a88de543af8e49c5c62405d5499fab7e5"}},"0x3175df0976dfa876431c2e9ee6bc45b65d3473cc":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009"],"code_usage":{"read":"0x247dbc76a2d4e734c1121ac9aad92399cec0e3b7edfa24c33042c8c71a3c9883"}},"0x3669c421b77340b2979d1a00a792cc2ee0fce737":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004","0xf584cc2aecfb151bc31c087c4b2a0367f699c1690f695250c402e3fd0b28df8d","0x361800e5e01e901f4cd4d3b597bf21cbb46b7977d1eb7030355d13e9ab5189fe","0xe1fc1e41b1aab738079b718015325e36142846faf3f6ae464800c56751361322","0x7e7cc14e43b20004cf646fca5b03d0cd59a8aaaf8b876872e7c3be3540d761a0","0x0000000000000000000000000000000000000000000000000000000077359411","0x0000000000000000000000000000000000000000000000000000000077359413","0x5901ecd9f417bce5f3383f069a362773db19e4ed32d8df2b26d330144493270e","0x361800e5e01e901f4cd4d3b597bf21cbb46b7977d1eb7030355d13e9ab5189fd","0x19b49047f1bd5e59c57d516f8ab3d8954fa2f069ec1a032c5baa0b3b178d8a2a","0xba47276e28ebcaa714fb0bfa1c61f675ab9310b9c618fda3a5b18f54b1f2416b","0xe1fc1e41b1aab738079b718015325e36142846faf3f6ae464800c56751361321","0x000000000000000000000000000000000000000000000000000000003b9aca10","0xd2b3f86a581bf6e0a81b37454272b01078d64f2f7a1a5e38726f2ccf28eb8ebd","0x00000000000000000000000000000000000000000000000000000000b2d05e13"],"storage_written":{"0x5901ecd9f417bce5f3383f069a362773db19e4ed32d8df2b26d330144493270e":"0x668f2080","0x0000000000000000000000000000000000000000000000000000000077359411":"0x668f2080","0x462b4404986a40a8ddb9e14dd7d29357bac7f1857b1aadf4c5f80caa69e78c8a":"0x9e7af2e4175f46","0x6898baff44fb3628f6528aae6d9a91ecae00e0e5cfa04cfcc1fba4e8af689b7b":"0x303cf9d104e2709b800a4dce188d9d9a00000","0x462b4404986a40a8ddb9e14dd7d29357bac7f1857b1aadf4c5f80caa69e78c89":"0x459f6def87e6cef1a4be8"},"code_usage":{"read":"0xe497add614aa8e5c6f0b1454a9cf6a0e288f3973264cbeb8f193c1c5dad0ff78"}},"0x5ae854b098727a9f1603a1e21c50d52dc834d846":{"code_usage":{"read":"0x76a791bf844e2bdbb5a58214609267159aed38a513b54927776adba56dc62227"}},"0x5bcafc77f19f72bcf1420cc1722c3e06e16ec29a":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000005","0x64d3b633cab3168031f2a7e706ce8719f839415cec7c35a1e44ba1f51f32240c","0x0000000000000000000000000000000000000000000000000000000000000002","0x5413d5f1da980f98200e0765f5feeb0ebeec08816473608430c3d12f2d3f8639","0xe54d5682722132c33ff1836ed0e1052587df6974552a4f9ed86405ae3cb40c74"],"storage_written":{"0x64d3b633cab3168031f2a7e706ce8719f839415cec7c35a1e44ba1f51f32240c":"0x1488a3814c4a02467c4694","0x5413d5f1da980f98200e0765f5feeb0ebeec08816473608430c3d12f2d3f8639":"0x0","0xe54d5682722132c33ff1836ed0e1052587df6974552a4f9ed86405ae3cb40c74":"0x0","0x0000000000000000000000000000000000000000000000000000000000000002":"0x1488a3814c4a02467c4694"},"code_usage":{"read":"0xea6ec93757429afe0de7d7bc840ff3d504dcd957963fca3427362ad5f22c5c7c"}},"0x740ba8aa0052e07b925908b380248cb03f3de5cb":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000eec","0x0000000000000000000000000000000000000001431e0fae6d72100000000eec","0x0000000000000000000000000000000000000002863c1f5cdae4200000000018","0x0000000000000000000000000000000000000002863c1f5cdae4200000000026","0x8398d5e80e916e5e0d9706fba630ed9a7b1bba944e4f0ce3ea92e8607bba33ab","0x8dd68869f7cbffcc1b8ef2a5901f08ca140029826b217b567d53fe2284bbe8ca","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000001431e0fae6d72100000000eed","0x0000000000000000000000000000000000000000000000000000000000000014","0x0000000000000000000000000000000000000000000000000000000000000013","0x46835cefcb723c6284a537b14cf3e7e2757279fe00c6829e5c3b05ebc6f1cec7","0x0000000000000000000000000000000000000002863c1f5cdae4200000000019","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0xcc26c264efdea403b4e73b0e7f87fc1c4c6c088474dd5519db749ff493f934e0","0x0000000000000000000000000000000000000000000000000000000000000eed"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000eed":"0x6687db3b","0x46835cefcb723c6284a537b14cf3e7e2757279fe00c6829e5c3b05ebc6f1cec7":"0xe296188f5b6cabbee7d2e","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0","0x0000000000000000000000000000000000000000000000000000000000000014":"0xed9","0x0000000000000000000000000000000000000001431e0fae6d72100000000eee":"0x57794bfd0a79e1c","0xcc26c264efdea403b4e73b0e7f87fc1c4c6c088474dd5519db749ff493f934e0":"0x7dada57231d367bc22612","0x0000000000000000000000000000000000000000000000000000000000000009":"0x14b604bcb220614afc55ff","0x0000000000000000000000000000000000000000000000000000000000000eee":"0x6687db3b","0x8398d5e80e916e5e0d9706fba630ed9a7b1bba944e4f0ce3ea92e8607bba33ab":"0x57794bfd0a79e1c","0x0000000000000000000000000000000000000000000000000000000000000007":"0x66ba89f8","0x8dd68869f7cbffcc1b8ef2a5901f08ca140029826b217b567d53fe2284bbe8ca":"0x1488a3814c4a02467c4694","0x0000000000000000000000000000000000000000000000000000000000000013":"0xe56c051d4a3968159c534","0x0000000000000000000000000000000000000001431e0fae6d72100000000eed":"0x57794bfd0a79e1c","0x0000000000000000000000000000000000000002863c1f5cdae4200000000018":"0x47e8a6e2d8e2464e","0x1fdf7722415434bc24a667ce27e7842d64dbb46fc8e2aa7f498c20080b8f4806":"0x6687db3b","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0"},"code_usage":{"read":"0x3bbaf55c798586041fe5074bf3d309b8eda3c43d340e7923c6f7c503346b3573"}},"0xc8418af6358ffdda74e09ca9cc3fe03ca6adc5b0":{"storage_read":["0xa04cd76aa7be7169a584e561a1319c406acaec60e8dbe2b9cfdfdd5336e8acef","0xa04cd76aa7be7169a584e561a1319c406acaec60e8dbe2b9cfdfdd5336e8acf0","0x0c10ea1f6b0eac43ba052a90b73cf24b134b73b4963fe8aae3adecbf5d7c34e1","0x0c10ea1f6b0eac43ba052a90b73cf24b134b73b4963fe8aae3adecbf5d7c34e5","0xa04cd76aa7be7169a584e561a1319c406acaec60e8dbe2b9cfdfdd5336e8aced","0x0c10ea1f6b0eac43ba052a90b73cf24b134b73b4963fe8aae3adecbf5d7c34e4","0x0000000000000000000000000000000000000000000000000000000000000003","0xa04cd76aa7be7169a584e561a1319c406acaec60e8dbe2b9cfdfdd5336e8acee","0xa04cd76aa7be7169a584e561a1319c406acaec60e8dbe2b9cfdfdd5336e8acf1","0xb69c7b0b50b996e20e63aaddecd710dbd5752bc3f03b47e59761d7b51206a740","0x0c10ea1f6b0eac43ba052a90b73cf24b134b73b4963fe8aae3adecbf5d7c34e2","0x0c10ea1f6b0eac43ba052a90b73cf24b134b73b4963fe8aae3adecbf5d7c34e3"],"code_usage":{"read":"0xc0533b473ee0da0861c080c9dc3a0ccd458d591e6b160c5eac1b8f7d0d659a9d"}},"0x05466fc96ba8dbb4b0f3f360adfdd7c14e828a5f":{"balance":"0x185d6fea5d7ebbfb","nonce":"0xd3d"},"0x06378717d86b8cd2dba58c87383da1eda92d3495":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0xe735324857091db7fab35e1b781484eb65b22c1ae09f3ad15322303e9a649841":"0x93a80","0x0000000000000000000000000000000000000000000000000000000000000000":"0x9e2b6378ee8ad2a4a95fe481d63caba8fb0ebbf901","0xe735324857091db7fab35e1b781484eb65b22c1ae09f3ad15322303e9a649840":"0x618f651039c241cb90000"},"code_usage":{"read":"0x72d8f077c30b878dda5249f29ae44951791d7b7b39d371537adb79aa1ac37a8d"}},"0x5f3b5dfeb7b28cdbd7faba78963ee202a494e2a2":{"storage_read":["0x063da9371ea3590739e41191cc6462fa2ba60cbbf5a33e9e1ea338527f18a66c","0xd8d8b428ab3c5c91f6a9ad6ec04f674c2186acd7bb56318712cdddb955fb5074","0xd8d8b428ab3c5c91f6a9ad6ec04f674c2186acd7bb56318712cdddb955fb5076","0x2c8a5560f60784382680e36dd768e20467fcbf90220fa4a804d8539dd2950239","0x063da9371ea3590739e41191cc6462fa2ba60cbbf5a33e9e1ea338527f18a66b","0x0000000000000000000000000000000000000000000000000000000000000003","0xd8d8b428ab3c5c91f6a9ad6ec04f674c2186acd7bb56318712cdddb955fb5073","0xd8d8b428ab3c5c91f6a9ad6ec04f674c2186acd7bb56318712cdddb955fb5075","0x063da9371ea3590739e41191cc6462fa2ba60cbbf5a33e9e1ea338527f18a669","0x063da9371ea3590739e41191cc6462fa2ba60cbbf5a33e9e1ea338527f18a66a"],"code_usage":{"read":"0xeb7764bd977fcb339cd6e661713f4aa19e5365c98c3ea788fcea59abca46e838"}},"0xf403c135812408bfbe8713b5a23a04b3d48aae31":{"storage_read":["0xbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec365a","0x0000000000000000000000000000000000000000000000000000000000000011","0x0000000000000000000000000000000000000000000000000000000000000012","0xbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3659","0xbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3656","0xbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3658","0xbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3657"],"code_usage":{"read":"0x85c9b47873bc151451e5ea7aaf007d9a90cb676aa37aa7f26e85acf63749f291"}}},"meta":{"byte_code":"0x02f9033401820d3c8459682f0085033844622a834ccb35949e2b6378ee8ad2a4a95fe481d63caba8fb0ebbf980b902c46a76120200000000000000000000000006378717d86b8cd2dba58c87383da1eda92d3495000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030ac1300000000000000000000000000000000000000000000000000000000000212150000000000000000000000000000000000000000000000000000000649534e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044b918ea12000000000000000000000000000000000000000000027b46536c66c8e3000000660b7070bea154d0f7d7ff51543da447791ec5eae14e6a100263c676f848d2130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38616fbd528182eb5f3f0f6b4580cab579a8227c37b5dca8b64abc90bd12c612e3368aec1ade529be0bc030011b773e886d16d2dd4b09e195ca1a069096355b9f1b74376bdb64387625b236177deac1db3206289d62cb1b114f72f131b8c694d9e128b6ee86f25808b9ab3e5b0984ef11733fe138c6681878fbbefdcf6931e541e11b82ed450bfbb50afaefcef9993341663a6cb80e48a93ef888b9a06fd231f08e1302dcfea97c6c733c4e60b6601ab8d1d9c44ba7151a237a03765e2d2b257c62811c0000000000000000000000000000000000000000000000000000000000c080a085950ad84793e6bf9dff037add38ededf1755064ff8937d39e076640b6667438a01d949509b683add523f8855f3f4f3f019ad1883624f5c81c6b28b11d8afca38f","new_txn_trie_node_byte":"0x02f9033401820d3c8459682f0085033844622a834ccb35949e2b6378ee8ad2a4a95fe481d63caba8fb0ebbf980b902c46a76120200000000000000000000000006378717d86b8cd2dba58c87383da1eda92d3495000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030ac1300000000000000000000000000000000000000000000000000000000000212150000000000000000000000000000000000000000000000000000000649534e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000044b918ea12000000000000000000000000000000000000000000027b46536c66c8e3000000660b7070bea154d0f7d7ff51543da447791ec5eae14e6a100263c676f848d2130000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c38616fbd528182eb5f3f0f6b4580cab579a8227c37b5dca8b64abc90bd12c612e3368aec1ade529be0bc030011b773e886d16d2dd4b09e195ca1a069096355b9f1b74376bdb64387625b236177deac1db3206289d62cb1b114f72f131b8c694d9e128b6ee86f25808b9ab3e5b0984ef11733fe138c6681878fbbefdcf6931e541e11b82ed450bfbb50afaefcef9993341663a6cb80e48a93ef888b9a06fd231f08e1302dcfea97c6c733c4e60b6601ab8d1d9c44ba7151a237a03765e2d2b257c62811c0000000000000000000000000000000000000000000000000000000000c080a085950ad84793e6bf9dff037add38ededf1755064ff8937d39e076640b6667438a01d949509b683add523f8855f3f4f3f019ad1883624f5c81c6b28b11d8afca38f","new_receipt_trie_node_byte":"0xb91e1402f91e1001834d37d7b9010000200040400000000022000001040100000000008a00000400108000044008000000410100080000000900800800000020020000000040010000000001206000000001000001000080400008220000001002000004000004000302008200000042000010020002000009000000000800000000080041000000400411800004001000000100000000000100000a00040000004001000000012000000011060000420000000000000004000000000004003000000000000040010102100008409040001002000200000000040880000000008080009008000000000000000024000010080000000010000000080200040000000000001000400080000000000000f91d05f89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f842a03eaa1c4be29b4a4c60e00300b5a17a8ec6c982b5b0ad5870cc84ebdc3b24d68ea0000000000000000000000000711d650cd10df656c2c28d375649689f137005fab8400000000000000000000000000000000000000000000000e0435fdc02c814499b0000000000000000000000000000000000000000000000af0569c57bdc796273f89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f842a03eaa1c4be29b4a4c60e00300b5a17a8ec6c982b5b0ad5870cc84ebdc3b24d68ea00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606b84000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000313df61686eb9ae728f89b943432b6a60d23ca0dfca7761b7ab56459d9c964d0f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000711d650cd10df656c2c28d375649689f137005faa00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a00000000000000000000000000000000000000000000000313df61686eb9ae728f8bb94711d650cd10df656c2c28d375649689f137005faf842a01d2f2ca53af5d2f333bd32fdd45f9c52ad8ebe31414f7792912077fcb3876dffa00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606b8600000000000000000000000000000000000000000000000313df61686eb9ae7280000000000000000000000003432b6a60d23ca0dfca7761b7ab56459d9c964d00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606f89b94d533a949740bb3306d119cc777fa900ba034cd52f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000026598e3e511adfadefd70ab2c3475ff741741104a0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a0000000000000000000000000000000000000000000000b3d74d0412dca97e694f89b944e3fbd56cd56c3e72c1403e103b45db9da5b9d2bf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a000000000000000000000000000000000000000000000000b8283e7af4983adfaf87a9426598e3e511adfadefd70ab2c3475ff741741104f842a0e2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486a0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a0000000000000000000000000000000000000000000000b3d74d0412dca97e694f89b94be1c919ca137299715e9c929bc7126af14f76091f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000711d650cd10df656c2c28d375649689f137005faa00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a000000000000000000000000000000000000000000008943ca47002ecffb90000f8bb94711d650cd10df656c2c28d375649689f137005faf842a01d9308f6b22a2754a1c622bb30889e8f8f956c83e524d039e9d65d5f052eb908a00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606b86000000000000000000000000000000000000000000008943ca47002ecffb90000660b7070bea154d0f7d7ff51543da447791ec5eae14e6a100263c676f848d2130000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606f89b94be1c919ca137299715e9c929bc7126af14f76091f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000008943ca47002ecffb90000f89b945bcafc77f19f72bcf1420cc1722c3e06e16ec29af863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000026598e3e511adfadefd70ab2c3475ff741741104a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000008943ca47002ecffb90000f8d994740ba8aa0052e07b925908b380248cb03f3de5cbe1a07ecd84343f76a23d2227290e0288da3251b045541698e575a5515af4f04197a3b8a0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad800000000000000000000000000000000000000000000e6fad3048adde29c346940000000000000000000000000000000000000000000e9d0e6bae843d2e4355ff00000000000000000000000000000000000000000009f8b124e968afe69c49b50000000000000000000000000000000000000000000a260fedc8557bac0791bbf89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000740ba8aa0052e07b925908b380248cb03f3de5cba0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80a000000000000000000000000000000000000000000008943ca47002ecffb90000f87a94740ba8aa0052e07b925908b380248cb03f3de5cbf842a0884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364a0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80a000000000000000000000000000000000000000000008943ca47002ecffb90000f89b94740ba8aa0052e07b925908b380248cb03f3de5cbf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80a00000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000008943ca47002ecffb90000f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80a0000000000000000000000000f403c135812408bfbe8713b5a23a04b3d48aae31a000000000000000000000000000000000000000000008943ca47002ecffb90000f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f403c135812408bfbe8713b5a23a04b3d48aae31a0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a000000000000000000000000000000000000000000008943ca47002ecffb90000f89b94f403c135812408bfbe8713b5a23a04b3d48aae31f863a092ccf450a286a957af52509bc1c9939d1a6a481783e142e41e2499f0bb66ebc6a0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a0000000000000000000000000000000000000000000000000000000000000006aa000000000000000000000000000000000000000000008943ca47002ecffb90000f87a9426598e3e511adfadefd70ab2c3475ff741741104f842a07084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5a0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a000000000000000000000000000000000000000000008943ca47002ecffb90000f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a000000000000000000000000000000000000000000008943ca47002ecffb90000f89b94be1c919ca137299715e9c929bc7126af14f76091f842a02fd83d5e9f5d240bed47a97a24cf354e4047e25edc2da27b01fd95e5e8a0c9a5a00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606b84000000000000000000000000000000000000000000008943ca47002ecffb900000000000000000000000000000000000000000000000000000000000000000001f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a000000000000000000000000006378717d86b8cd2dba58c87383da1eda92d3495a000000000000000000000000000000000000000000008943ca47002ecffb90000f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a000000000000000000000000006378717d86b8cd2dba58c87383da1eda92d3495a00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a00000000000000000000000000000000000000000000618f651039c241cb90000f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000006378717d86b8cd2dba58c87383da1eda92d3495a00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a00000000000000000000000000000000000000000000618f651039c241cb90000f89b94be1c919ca137299715e9c929bc7126af14f76091f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a00000000000000000000000000000000000000000000618f651039c241cb90000f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a00000000000000000000000000000000000000000000618f651039c241cb90000f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80a00000000000000000000000000000000000000000000618f651039c241cb90000f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80a0000000000000000000000000740ba8aa0052e07b925908b380248cb03f3de5cba00000000000000000000000000000000000000000000000000000000000000000f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80a0000000000000000000000000740ba8aa0052e07b925908b380248cb03f3de5cba00000000000000000000000000000000000000000000618f651039c241cb90000f8d994740ba8aa0052e07b925908b380248cb03f3de5cbe1a07ecd84343f76a23d2227290e0288da3251b045541698e575a5515af4f04197a3b8a0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad800000000000000000000000000000000000000000001488a3814c4a02467c469400000000000000000000000000000000000000000014b604bcb220614afc55ff0000000000000000000000000000000000000000000e296188f5b6cabbee7d2e0000000000000000000000000000000000000000000e56c051d4a3968159c534f89b94b30da2376f63de30b42dc055c93fa474f31330a5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80a0000000000000000000000000740ba8aa0052e07b925908b380248cb03f3de5cba00000000000000000000000000000000000000000000618f651039c241cb90000f87a94740ba8aa0052e07b925908b380248cb03f3de5cbf842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80a00000000000000000000000000000000000000000000618f651039c241cb90000f89b94740ba8aa0052e07b925908b380248cb03f3de5cbf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000989aeb4d175e16225e39e87d0d97a3360524ad80a00000000000000000000000000000000000000000000618f651039c241cb90000f89b945bcafc77f19f72bcf1420cc1722c3e06e16ec29af863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000f403c135812408bfbe8713b5a23a04b3d48aae31a00000000000000000000000000000000000000000000618f651039c241cb90000f89b945bcafc77f19f72bcf1420cc1722c3e06e16ec29af863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000f403c135812408bfbe8713b5a23a04b3d48aae31a000000000000000000000000026598e3e511adfadefd70ab2c3475ff741741104a00000000000000000000000000000000000000000000000000000000000000000f89b945bcafc77f19f72bcf1420cc1722c3e06e16ec29af863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000f403c135812408bfbe8713b5a23a04b3d48aae31a000000000000000000000000026598e3e511adfadefd70ab2c3475ff741741104a00000000000000000000000000000000000000000000618f651039c241cb90000f89b945bcafc77f19f72bcf1420cc1722c3e06e16ec29af863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f403c135812408bfbe8713b5a23a04b3d48aae31a000000000000000000000000026598e3e511adfadefd70ab2c3475ff741741104a00000000000000000000000000000000000000000000618f651039c241cb90000f89b945bcafc77f19f72bcf1420cc1722c3e06e16ec29af863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000f403c135812408bfbe8713b5a23a04b3d48aae31a000000000000000000000000026598e3e511adfadefd70ab2c3475ff741741104a00000000000000000000000000000000000000000000000000000000000000000f87a9426598e3e511adfadefd70ab2c3475ff741741104f842a09e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3da0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a00000000000000000000000000000000000000000000618f651039c241cb90000f89b94f403c135812408bfbe8713b5a23a04b3d48aae31f863a073a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488caa0000000000000000000000000be1c919ca137299715e9c929bc7126af14f76091a0000000000000000000000000000000000000000000000000000000000000006aa00000000000000000000000000000000000000000000618f651039c241cb90000f8bc94be1c919ca137299715e9c929bc7126af14f76091f863a0b32af138549e2a71563d1f2b1f7f0a139b3cdbc83d877d13603de1c3c5fd487aa00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606b8400000000000000000000000000000000000000000000618f651039c241cb900000000000000000000000000000000000000000000000000000000000000000001f89b94be1c919ca137299715e9c929bc7126af14f76091f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a0000000000000000000000000711d650cd10df656c2c28d375649689f137005faa00000000000000000000000000000000000000000000618f651039c241cb90000f89b94be1c919ca137299715e9c929bc7126af14f76091f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606a0000000000000000000000000711d650cd10df656c2c28d375649689f137005faa0ffffffffffffffffffffffffffffffffffffffffffdc9ff333a0adad91ff63c5f8db94711d650cd10df656c2c28d375649689f137005faf842a0f400e72e69ef4402819dfc57eeddc66f5eb69bf405e0e8098b1946ec1ac14a22a00000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606b8800000000000000000000000000000000000000000000618f651039c241cb900000000000000000000000000000000000000000000000000000000000000093a809a2f60abf184264b3c0d38da83836faf69d10ccaecfe82aca9e4072f129126650000000000000000000000007f24fb0f1b73caf3077898d226d814a4196cc606f8999406378717d86b8cd2dba58c87383da1eda92d3495e1a038e7a0e5dcc15fa74a89d6553060d147bdeddaf0725a15d15c9acb83aa045cddb8600000000000000000000000000000000000000000000618f651039c241cb900009a2f60abf184264b3c0d38da83836faf69d10ccaecfe82aca9e4072f129126650000000000000000000000000000000000000000000000000000000000000000f8799406378717d86b8cd2dba58c87383da1eda92d3495e1a0658f65627d5cf077504ad9882cf96580212e284f1d4a183a14e75d66b7bf2a2fb840000000000000000000000000000000000000000000027b465434b0a6a1de9c3a0000000000000000000000000000000000000000000000000000000000000001f879949e2b6378ee8ad2a4a95fe481d63caba8fb0ebbf9e1a0442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556eb8400a89ef243065552532e62f2ec7b7b72afe4d52e71ef797892473732027f37fd90000000000000000000000000000000000000000000000000040f11404a7de7d","gas_used":1764434}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8338261fd63d0273"},"0x9e72a6cf88af42044250b9754fd0c4b4518c7bcc":{"balance":"0x981b80466f461f","nonce":"0x9"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x65d2f0a8c975f32e064559361201913cc058a95d0d0cc223ccde48a68d1ab8f2","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x31554800213d021fc3a8febbbaea9c1b5da031f9b21e30175a7613d723b006a2","0x681b761d92532d28b2016d268b1de5b1fd4a40b395800fa60d281f12a7c3e6e9"],"storage_written":{"0x681b761d92532d28b2016d268b1de5b1fd4a40b395800fa60d281f12a7c3e6e9":"0x2540be400","0x31554800213d021fc3a8febbbaea9c1b5da031f9b21e30175a7613d723b006a2":"0x7ea8ed400"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f8b101088458c4d219850218711a008301774194dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000672c4fb32d4044177e1de42d14a58cca98fccccc00000000000000000000000000000000000000000000000000000002540be400c001a0b7e52d8c1a350fcc9bb9ede8230d2ee162fc7b3fb169612c9ec32493a7900376a050db11a5fe242667d6ae3a8796cc447d2320b9292f3dd1dfb393cbdf4fbab2ae","new_txn_trie_node_byte":"0x02f8b101088458c4d219850218711a008301774194dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000672c4fb32d4044177e1de42d14a58cca98fccccc00000000000000000000000000000000000000000000000000000002540be400c001a0b7e52d8c1a350fcc9bb9ede8230d2ee162fc7b3fb169612c9ec32493a7900376a050db11a5fe242667d6ae3a8796cc447d2320b9292f3dd1dfb393cbdf4fbab2ae","new_receipt_trie_node_byte":"0xb901ab02f901a701834e2ec0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000010000000000000000000000000800000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000010000000000000000000000000000000000000000000000000000000000000000040100000000000000200000000000080000000000000000000000000000000000000000000000002000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009e72a6cf88af42044250b9754fd0c4b4518c7bcca0000000000000000000000000672c4fb32d4044177e1de42d14a58cca98fccccca000000000000000000000000000000000000000000000000000000002540be400","gas_used":63209}},{"traces":{"0x57e114b691db790c35207b2e685d4a43181e6061":{"storage_read":["0x63a180338f0e46e30df8a1c438e6324a837fedfa920e65bcb092a0dcc6a153fa","0x65e5f4be1f2eea57da96c6795998e5f193d1df3cf3e8e452468adbfd4329a015"],"storage_written":{"0x63a180338f0e46e30df8a1c438e6324a837fedfa920e65bcb092a0dcc6a153fa":"0x0","0x65e5f4be1f2eea57da96c6795998e5f193d1df3cf3e8e452468adbfd4329a015":"0xc9ede01e17fdb03fd000"},"code_usage":{"read":"0x0da00342e67404f8e369602a4e3d60895f8d85a014242bf4effcb46b8079f00c"}},"0xc7ebef616cb1dc1cce2a4c19cacc67a39e1eb468":{"balance":"0x391486d985be2b","nonce":"0xb8"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833847ba8ae924f4"}},"meta":{"byte_code":"0x02f8b10181b784773594008501dcd6500082c93d9457e114b691db790c35207b2e685d4a43181e606180b844a9059cbb000000000000000000000000b8ba36e591facee901ffd3d5d82df491551ad7ef000000000000000000000000000000000000000000000232cb631dfac2440000c080a06c96d14fc280c53f5f297dfe98caf211e377e3b3d26e1a78b982cdbaf6377e63a07c9b3e9fd320de8d384a302fb3fdb0bbd62a12d477687b629cb1e7550940b5df","new_txn_trie_node_byte":"0x02f8b10181b784773594008501dcd6500082c93d9457e114b691db790c35207b2e685d4a43181e606180b844a9059cbb000000000000000000000000b8ba36e591facee901ffd3d5d82df491551ad7ef000000000000000000000000000000000000000000000232cb631dfac2440000c080a06c96d14fc280c53f5f297dfe98caf211e377e3b3d26e1a78b982cdbaf6377e63a07c9b3e9fd320de8d384a302fb3fdb0bbd62a12d477687b629cb1e7550940b5df","new_receipt_trie_node_byte":"0xb901ab02f901a701834ea20db9010000000000000000000000000000000000000000000000000000080000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000100000000001000000000000000000000000000000000004010000008000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000f89df89b9457e114b691db790c35207b2e685d4a43181e6061f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c7ebef616cb1dc1cce2a4c19cacc67a39e1eb468a0000000000000000000000000b8ba36e591facee901ffd3d5d82df491551ad7efa0000000000000000000000000000000000000000000000232cb631dfac2440000","gas_used":29517}},{"traces":{"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0xb300ea4e79d8fc5e16256b449922474512c26d0e5c21aad49881098beaa169d1","0x000000000000000000000000000000000000000000000000000000000000000a","0xc96d8ccbb0459541a92021144953c2c4412fbe22d95f3e1c8a273cfb8edad892"],"storage_written":{"0xb300ea4e79d8fc5e16256b449922474512c26d0e5c21aad49881098beaa169d1":"0x2f874c652c9dd2a0000","0xc96d8ccbb0459541a92021144953c2c4412fbe22d95f3e1c8a273cfb8edad892":"0x8c63d873535d4ab3100"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x229d39a2b03211ff81f9c9b4bf45cd4c6e0a1eea":{"balance":"0xd7e4fdefd15f18","nonce":"0x12"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83387b7f7b51d7f4"}},"meta":{"byte_code":"0x02f8b10111843f2e510085020becc18083013aa49497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000c5f571f56f008de525468b0a783c627a8ae181140000000000000000000000000000000000000000000002f874c652c9dd2a0000c001a0b18629b8bb1db7c611b392ce4c1de5a570e549a34f8ebffda2d641842d7e62f5a04c9d81850fb0585a1249ab41db9512911bf1fdc1700c3b7a77951a782ddc3d03","new_txn_trie_node_byte":"0x02f8b10111843f2e510085020becc18083013aa49497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000c5f571f56f008de525468b0a783c627a8ae181140000000000000000000000000000000000000000000002f874c652c9dd2a0000c001a0b18629b8bb1db7c611b392ce4c1de5a570e549a34f8ebffda2d641842d7e62f5a04c9d81850fb0585a1249ab41db9512911bf1fdc1700c3b7a77951a782ddc3d03","new_receipt_trie_node_byte":"0xb901ab02f901a701834f73d0b9010000000000020000000000000000000000000000000000000020000000000000000000000004000008000000000000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000020000000440000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000229d39a2b03211ff81f9c9b4bf45cd4c6e0a1eeaa0000000000000000000000000c5f571f56f008de525468b0a783c627a8ae18114a00000000000000000000000000000000000000000000002f874c652c9dd2a0000","gas_used":53699}},{"traces":{"0x7bea39867e4169dbe237d55c8242a8f2fcdcc387":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000001","0x75f96ab15d697e93042dc45b5c896c4b27e89bb6eaf39475c5c371cb2513f7d2","0x000000000000000000000000000000000000000000000000000000000000000a","0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0xb766aea1de224d8a25d40e02b9be","0x000000000000000000000000000000000000000000000000000000000000000b":"0x100000000000000079b4f39f10e6bf9038698bab20012204ddff40b6687db3b","0x0000000000000000000000000000000000000000000000000000000000000000":"0x100001e001e000302ffb0000000000000484b5fed8dc8dc2204c9739cc5c1"},"code_usage":{"read":"0x2586d936b2dc471e1bdf304d2c264f28b085999c5f0ddb758fbe8c85511413d5"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833942ff813306f6"},"0x40aa958dd87fc8305b97f2ba922cddca374bcd7f":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000065"],"code_usage":{"read":"0xe8711c5f0fe7f3c28078140bb97b65aa015a58c06c14bad5abffa44f00f1ddf5"}},"0xa994958c1157404281a9ee25e70e5fb8556a77e1":{"balance":"0x6f9ee18385ea49b","nonce":"0x2c"},"0x8107fca5494375fc743a9fc4d4844353a1af3d94":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002","0x09d630f44b7f555eed07fae2912a5dc3cb8482d08fd0bb5516ec577adbc2708d","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x100041814000000000095602cd02f9d27b0431163fffab65a82d9b06687db3b","0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000fde74600000000000000000044136caa4cc6e8f523cd7d","0x0000000000000000000000000000000000000000000000000000000000000002":"0x16f9e2a2f69225edf36dce516d11ee"},"code_usage":{"read":"0xac09dc2ccbdea7064cb10313be2eb6a94ff8bf43be1c159d474c53a6610dfdf6"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x4ff774d4ac7e0e978e9e0461b545651ba77b2b909bc52e060c7bfa778f13722e","0xa78c3571170f7dcd4a9be5fc007f2e41d0568b2d304d741c66b27ec22dd33cfe","0xc0d77e4c680df5a5a2abb9d4b3bae4b7867ef31d347f29bca1ee7e7ef6e39b84"],"storage_written":{"0xa78c3571170f7dcd4a9be5fc007f2e41d0568b2d304d741c66b27ec22dd33cfe":"0x0","0x4ff774d4ac7e0e978e9e0461b545651ba77b2b909bc52e060c7bfa778f13722e":"0x1fdc68eac146fba906","0xc0d77e4c680df5a5a2abb9d4b3bae4b7867ef31d347f29bca1ee7e7ef6e39b84":"0x12fe8b2d26230623c"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x70cbb871e8f30fc8ce23609e9e0ea87b6b222f58":{"storage_read":["0xfca24f26881178fbb721486fd81006a8a2f47f9f9479f3a10e978c0ededf333a","0x0000000000000000000000000000000000000000000000000000000000000066"],"code_usage":{"read":"0xb6a0916f3f4f33110bd1c57652c6e21f4beb32ffcfb50124f8b51cb5cee61f04"}},"0xa35923162c49cf95e6bf26623385eb431ad920d3":{"storage_read":["0x7b78963b2695ba3fe66f7332bd6093cf75f2d572c56b3cbbd13f9dffadb2cc3a","0x9e2b9fb12477bec5e4ce97fb3a2cf0a4b1ceb45a9fc775f9f8860bcb1946800d"],"storage_written":{"0x9e2b9fb12477bec5e4ce97fb3a2cf0a4b1ceb45a9fc775f9f8860bcb1946800d":"0x142afe0ade89d65bd1830","0x7b78963b2695ba3fe66f7332bd6093cf75f2d572c56b3cbbd13f9dffadb2cc3a":"0xaf0332af5b88e0cfcb3ba6"},"code_usage":{"read":"0x7ee7e0770e9b7a9f14bfcc23beb743e2e19243239e9f8ee24daaa7c9da5d0e4d"}},"0xf3de3c0d654fda23dad170f0f320a92172509127":{"code_usage":{"read":"0xe5b4a5c24225a0ec7687716ddb6728a7321fa50d7362c3a5acfe55e57b4b9564"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x8b6e4e65f57fa3521ceeec672d28d40f43e0fd94d347d84990a554ce93b97d46","0x0000000000000000000000000000000000000000000000000000000000000001","0xa6b82074569f4c7af294a7120940bba89a14e1d93b41e551ec28366a388659ce","0x0b2acfead0526a1509f14a1c6e9260f9eff5a4ccadc2caa2b85f743dc9d6c357","0x4f0934694dd3bf78d9cd492ce2419db33d76e6144ffbcb2c773e5ac1b847bf10"],"storage_written":{"0x0b2acfead0526a1509f14a1c6e9260f9eff5a4ccadc2caa2b85f743dc9d6c357":"0x2b22efc2","0x4f0934694dd3bf78d9cd492ce2419db33d76e6144ffbcb2c773e5ac1b847bf10":"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffd8bf7a2dd","0x8b6e4e65f57fa3521ceeec672d28d40f43e0fd94d347d84990a554ce93b97d46":"0xdc19217e7e"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}}},"meta":{"byte_code":"0x02f90151012b843ecd3d358501e2ae1bc783041bf794f3de3c0d654fda23dad170f0f320a9217250912780b8e40d5f0e3b000000000000000000000000a994958c1157404281a9ee25e70e5fb8556a77e1000000000000000000000000000000000000000000000000000000002b22efc2000000000000000000000000000000000000000000002fa6debbcdd63bd97595000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007bea39867e4169dbe237d55c8242a8f2fcdcc3878000000000000000000000008107fca5494375fc743a9fc4d4844353a1af3d94c001a06acb3c26694ec82b49d0817e5b75d33e4302e60e433371f0efb9ee3cee2a85b1a05949884f0c7adb45b5e27a1da9ce36ed779e3e6b0e077f26e78779d4f658d5ae","new_txn_trie_node_byte":"0x02f90151012b843ecd3d358501e2ae1bc783041bf794f3de3c0d654fda23dad170f0f320a9217250912780b8e40d5f0e3b000000000000000000000000a994958c1157404281a9ee25e70e5fb8556a77e1000000000000000000000000000000000000000000000000000000002b22efc2000000000000000000000000000000000000000000002fa6debbcdd63bd97595000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000020000000000000000000000007bea39867e4169dbe237d55c8242a8f2fcdcc3878000000000000000000000008107fca5494375fc743a9fc4d4844353a1af3d94c001a06acb3c26694ec82b49d0817e5b75d33e4302e60e433371f0efb9ee3cee2a85b1a05949884f0c7adb45b5e27a1da9ce36ed779e3e6b0e077f26e78779d4f658d5ae","new_receipt_trie_node_byte":"0xb906f602f906f2018352a10ab9010000000000000000000000020000000000100000000000000000000000020020000000000000010000020000000000000002008000082020000000800000000000000000000000000908800008800000000000500000000000000000000000000000000000000000000018000000000000000000000000000000000010000800000000000004000000000000000000000000000001010020000000000000000000000000000000200000000040080000000081000000000000000000000000000000000002000000000000000000010000000000020000000080204000000000000080200000000000000000000000000000000000000000000000000000000000f905e7f85894f3de3c0d654fda23dad170f0f320a92172509127e1a07724394874fdd8ad13292ec739b441f85c6559f10dc4141b8d4c0fa4cbf55bdba00000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007bea39867e4169dbe237d55c8242a8f2fcdcc387a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127a00000000000000000000000000000000000000000000000000367f3f82ea3dc88f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a994958c1157404281a9ee25e70e5fb8556a77e1a00000000000000000000000007bea39867e4169dbe237d55c8242a8f2fcdcc387a0000000000000000000000000000000000000000000000000000000002b22efc2f9011c947bea39867e4169dbe237d55c8242a8f2fcdcc387f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127b8a0000000000000000000000000000000000000000000000000000000002b22efc2fffffffffffffffffffffffffffffffffffffffffffffffffc980c07d15c2378000000000000000000000000000000000000484b5fed8dc8dc2204c9739cc5c100000000000000000000000000000000000000000000000001d6001f6da1baf5000000000000000000000000000000000000000000000000000000000002ffb0f89b94a35923162c49cf95e6bf26623385eb431ad920d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008107fca5494375fc743a9fc4d4844353a1af3d94a0000000000000000000000000a994958c1157404281a9ee25e70e5fb8556a77e1a000000000000000000000000000000000000000000000300d1ee660f03da55649f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127a00000000000000000000000008107fca5494375fc743a9fc4d4844353a1af3d94a00000000000000000000000000000000000000000000000000367f3f82ea3dc88f9011c948107fca5494375fc743a9fc4d4844353a1af3d94f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127a0000000000000000000000000a994958c1157404281a9ee25e70e5fb8556a77e1b8a0ffffffffffffffffffffffffffffffffffffffffffffcff2e1199f0fc25aa9b70000000000000000000000000000000000000000000000000367f3f82ea3dc8800000000000000000000000000000000000000000044136caa4cc6e8f523cd7d000000000000000000000000000000000000000000005265d1bb74079ffe19b4fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffde746f8d994f3de3c0d654fda23dad170f0f320a92172509127e1a01bb43f2da90e35f7b0cf38521ca95a49e68eb42fac49924930a5bd73cdf7576cb8a0000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000a35923162c49cf95e6bf26623385eb431ad920d3000000000000000000000000a994958c1157404281a9ee25e70e5fb8556a77e1000000000000000000000000000000000000000000000000000000002b22efc200000000000000000000000000000000000000000000300d1ee660f03da55649","gas_used":208186}},{"traces":{"0x5ba073f65c751f419bf880d57cf51289cbdb55fe":{"code_usage":{"read":"0x4c211bffcc064f37d292da12cb7476091947fa082687c0060e528d5b1bb3fd19"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8339d7745aead83e"},"0x8ebe95ebb1acb591f7fb12aaf28254d225fc8da1":{"code_usage":{"read":"0xa2c1a2d61336034efbdc830a5398c16e7b4e3850bcfc882d58db25ab9beb5e20"}},"0xebab24f13de55789ec1f3ffe99a285754e15f7b9":{"storage_read":["0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x8c843e863d6980427013005c2fd6c559f82753ab35a5ed8f9caaa5df7d58739d","0x56826d040b5c8f3e11711a6f0a85f75994bf6271dc9e6c62c9d3cf2fa418e860","0xfc69fe689a10849a4c810115708945edcdce02b4ce0b8911d1cf85d0b30251d5","0x00000000000000000000000000000000000000000000000000000000000000fd","0x0000000000000000000000000000000000000000000000000000000000000065"],"storage_written":{"0x8c843e863d6980427013005c2fd6c559f82753ab35a5ed8f9caaa5df7d58739d":"0x1a9757ac242c5c580"},"code_usage":{"read":"0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986"}},"0x2a5c2568b10a0e826bfa892cf21ba7218310180b":{"balance":"0x17a5bdfac0e137981","storage_read":["0x0000000000000000000000000000000000000000000000000000000000000065","0x0000000000000000000000000000000000000000000000000000000000000001","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x56826d040b5c8f3e11711a6f0a85f75994bf6271dc9e6c62c9d3cf2fa418e860","0xfc69fe689a10849a4c810115708945edcdce02b4ce0b8911d1cf85d0b30251d5","0x00000000000000000000000000000000000000000000000000000000000000ca","0x00000000000000000000000000000000000000000000000000000000000000fe","0x00000000000000000000000000000000000000000000000000000000000000ff"],"storage_written":{"0x56826d040b5c8f3e11711a6f0a85f75994bf6271dc9e6c62c9d3cf2fa418e860":"0xd11419ed0b517","0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986"}},"0x38391ea26f9eee3ab81de3c7ee9e168da5149103":{"code_usage":{"read":"0x1f87e8e5b660bc84196d3dc56c010209d9347a3ce291f0ebeb0a67117da0c82a"}},"0xfc99f58a8974a4bc36e60e2d490bb8d72899ee9f":{"storage_read":["0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000097","0x0000000000000000000000000000000000000000000000000000000000000033","0x9e3eb0389e15d8bf29b9ad8a15cde135ec6fef92ad8368ce80c4be1ed999c822"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000097":"0x1"},"code_usage":{"read":"0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986"}},"0xe6dbf5861ed9828594af4c6ea6356411c3a0b168":{"storage_read":["0xc576949d60b15857aca604209ef4ef40566c8bd19dcfdcc44ec7777951ec6060","0xc576949d60b15857aca604209ef4ef40566c8bd19dcfdcc44ec7777951ec6061","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"],"code_usage":{"read":"0xfc1ea81db44e2de921b958dc92da921a18968ff3f3465bd475fb86dd1af03986"}},"0x4906b8e690eb1e09fec924422452d1105d59d042":{"code_usage":{"read":"0x03c9138ee0eaa8321eba3a200de4d2cc16a7fcca6c638af67b0d5a0ef1837e6c"}},"0xbd4b11d6afaacd7850e5e982f7883b4377ebb759":{"balance":"0x7a6569359bbb9","nonce":"0x99"},"0x79e559ac5b499a5676e28f0074e29763f6c2a27e":{"code_usage":{"read":"0x132fd15ebd3578a31437223871b274a34e754a9bec4b4626fca1afcc563cd088"}}},"meta":{"byte_code":"0x02f9023b018198843ecd3d358501e2ae1bc78303075594fc99f58a8974a4bc36e60e2d490bb8d72899ee9f880378cf530c1bf8bbb901c4972250fe0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000378cf530c1bf8bb00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a30786264346231316436616661616364373835306535653938326637383833623433373765626237353900000000000000000000000000000000000000000000c001a087304cc0cc79eba6e7dbd323f5a0c707a9f15809f1e71d315d308aad67c2080ba05362fbb6a9902daaed6d1d1f7a3d6dd4c281bf02d1f1b37e42202371771b1257","new_txn_trie_node_byte":"0x02f9023b018198843ecd3d358501e2ae1bc78303075594fc99f58a8974a4bc36e60e2d490bb8d72899ee9f880378cf530c1bf8bbb901c4972250fe0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000378cf530c1bf8bb00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002a30786264346231316436616661616364373835306535653938326637383833623433373765626237353900000000000000000000000000000000000000000000c001a087304cc0cc79eba6e7dbd323f5a0c707a9f15809f1e71d315d308aad67c2080ba05362fbb6a9902daaed6d1d1f7a3d6dd4c281bf02d1f1b37e42202371771b1257","new_receipt_trie_node_byte":"0xb905c602f905c2018354fe32b9010080000000008000000040020000100000001000000000000000000000100000000004000000000000000800000010000010000000000008000012000001000000000000000800000000000000000000000402080000000400000000000008000000008000000010001000000000000010000000000000000000000000000000000000000000000000800000010000000000000000000000000000020000000000000000000000000040000000000040000000000000000000000000200000000800000000000001800000000000100000100000000000000000000000000000020000000400000000000000008000000000000000000000000000000000000000f904b7f87b94ebab24f13de55789ec1f3ffe99a285754e15f7b9f863a0f28044030a28cf7d3fb8e8f7bbaa42aee92214081fd522b3a38afb279577db89a0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea0000000000000000000000000000000000000000000000001a9757ac242c5c58080f9015d942a5c2568b10a0e826bfa892cf21ba7218310180bf884a0522e11fa05593b306c8df10d2b0b8e01eec48f9d0a9427a7a93f21ff90d66fb1a00000000000000000000000008ebe95ebb1acb591f7fb12aaf28254d225fc8da1a0000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeea0000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9fb8c00000000000000000000000000000000000000000000000000000000000000038000000000000000000000000000000000000000000000000037938433b5509ff000000000000000000000000000000000000000000000000000068f02f391144000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000034f4b580000000000000000000000000000000000000000000000000000000000f8d9948ebe95ebb1acb591f7fb12aaf28254d225fc8da1e1a06ea4114cf93cff6c9ff22aef8d246e78a0368fa48033adc49edde5fa273f69a1b8a0000000000000000000000000bd4b11d6afaacd7850e5e982f7883b4377ebb759000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000378cf530c1bf8bb0000000000000000000000000000000000000000000000000000000000000000f901fc94fc99f58a8974a4bc36e60e2d490bb8d72899ee9ff842a0f6481cbc1da19356c5cb6b884be507da735b89f21dc4bbb7c9b7cc0968b03b7aa0000000000000000000000000000000000000000000000000000000000000000db901a0000000000000000000000000bd4b11d6afaacd7850e5e982f7883b4377ebb759000000000000000000000000fc99f58a8974a4bc36e60e2d490bb8d72899ee9f000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000378cf530c1bf8bb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030786264346231316436616661616364373835306535653938326637383833623433373765626237353900000000000000000000000000000000000000000000","gas_used":154920}},{"traces":{"0xd7d3efd4c1be836d08855815f1e0a2f5f6c2bd33":{"balance":"0x20e7c34a57381a","nonce":"0x3"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8339f5ed42a8aaa1"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x1b6c9f46759d8f49cb7ce8867edd2e6156fc30583c448635ec3ff2cddd9b5b57","0x1da88bfacbc214c26edf70d8488e3603639a7474bcaa36096c2893a0cf718119"],"storage_written":{"0x1b6c9f46759d8f49cb7ce8867edd2e6156fc30583c448635ec3ff2cddd9b5b57":"0x0","0x1da88bfacbc214c26edf70d8488e3603639a7474bcaa36096c2893a0cf718119":"0x959c4b224f53f91da60"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}}},"meta":{"byte_code":"0x02f8b00102843ecd3d3585023a66480382d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b350000000000000000000000000000000000000000000000195b7959b388b80000c080a084b23023fa3ebfe09c03fe7738bdbac738d8920f266d350c91b376e4fc1d238fa02e73bb74b3d3aacb6e595a672acffcaf5a913c815f01356b726d9e71cd871b90","new_txn_trie_node_byte":"0x02f8b00102843ecd3d3585023a66480382d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b350000000000000000000000000000000000000000000000195b7959b388b80000c080a084b23023fa3ebfe09c03fe7738bdbac738d8920f266d350c91b376e4fc1d238fa02e73bb74b3d3aacb6e595a672acffcaf5a913c815f01356b726d9e71cd871b90","new_receipt_trie_node_byte":"0xb901ab02f901a70183557a69b9010000000000000000000000000000000000000000000000000000000000000010010000000000000008000000004000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000000000080000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000200000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d7d3efd4c1be836d08855815f1e0a2f5f6c2bd33a000000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b35a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x4864f191f36fbd055645dcba546ffa77ba32f5ded1acce7f4868276392528bea","0x1da88bfacbc214c26edf70d8488e3603639a7474bcaa36096c2893a0cf718119"],"storage_written":{"0x1da88bfacbc214c26edf70d8488e3603639a7474bcaa36096c2893a0cf718119":"0x973202b7ea8c849da60","0x4864f191f36fbd055645dcba546ffa77ba32f5ded1acce7f4868276392528bea":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833a14662a667d04"},"0x45bce08ff6518387e5887de4b9e8077c7a2c5e35":{"balance":"0x20d8c865435065","nonce":"0x3"}},"meta":{"byte_code":"0x02f8b00102843ecd3d3585023a66480382d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b350000000000000000000000000000000000000000000000195b7959b388b80000c080a00afd34690297e0541149f88378330b0afb273fb57f711cd7d2b22fa67647004aa06a3bc012ddc820f74bdb71d873bb0c247fb3691cfde2a7130003a6fcdad8d276","new_txn_trie_node_byte":"0x02f8b00102843ecd3d3585023a66480382d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b350000000000000000000000000000000000000000000000195b7959b388b80000c080a00afd34690297e0541149f88378330b0afb273fb57f711cd7d2b22fa67647004aa06a3bc012ddc820f74bdb71d873bb0c247fb3691cfde2a7130003a6fcdad8d276","new_receipt_trie_node_byte":"0xb901ab02f901a7018355f6a0b9010000000000000000000000000000000000000000000000000000000000000000010000000000000008000000004000000002000000010000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000045bce08ff6518387e5887de4b9e8077c7a2c5e35a000000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b35a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x85a2fc444eb3bd23e1e8054ac6dd2c089c749055":{"balance":"0x20e3021e74c2af","nonce":"0x3"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0xa63a9433d9af47d1832de167e40eaeb9ac216b4ac066163f0196d8ad8daefc48","0x1da88bfacbc214c26edf70d8488e3603639a7474bcaa36096c2893a0cf718119","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0xa63a9433d9af47d1832de167e40eaeb9ac216b4ac066163f0196d8ad8daefc48":"0x0","0x1da88bfacbc214c26edf70d8488e3603639a7474bcaa36096c2893a0cf718119":"0x98c7ba4d85c5101da60"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833a32df12244f67"}},"meta":{"byte_code":"0x02f8b00102843ecd3d3585023a66480382d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b350000000000000000000000000000000000000000000000195b7959b388b80000c001a096c47ccc2101df6ab249e49fd82e9207ee3e434726593b6cb6d02da9055dff6fa01b2e5246847b875e70f5700109c3faa0142081374232932065f54e4dc648974e","new_txn_trie_node_byte":"0x02f8b00102843ecd3d3585023a66480382d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b350000000000000000000000000000000000000000000000195b7959b388b80000c001a096c47ccc2101df6ab249e49fd82e9207ee3e434726593b6cb6d02da9055dff6fa01b2e5246847b875e70f5700109c3faa0142081374232932065f54e4dc648974e","new_receipt_trie_node_byte":"0xb901ab02f901a701835672d7b9010000000000000000000000000000000000000000000000000000000000000000010000000000000008000000004000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000300000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000085a2fc444eb3bd23e1e8054ac6dd2c089c749055a000000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b35a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833a5157f9e221ca"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x70a979998431518b0a0af8db1825b0943fc0c6dfd1654d155537be69e05f8a18","0x1da88bfacbc214c26edf70d8488e3603639a7474bcaa36096c2893a0cf718119"],"storage_written":{"0x1da88bfacbc214c26edf70d8488e3603639a7474bcaa36096c2893a0cf718119":"0x9a5d71e320fd9b9da60","0x70a979998431518b0a0af8db1825b0943fc0c6dfd1654d155537be69e05f8a18":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x6f26486c94b76c4f1c8b595fdffd513cdd0c9caf":{"balance":"0x20e534b9fb4df1","nonce":"0x3"}},"meta":{"byte_code":"0x02f8b00102843ecd3d3585023a66480382d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b350000000000000000000000000000000000000000000000195b7959b388b80000c001a0452536833b01ddcaab398234646e7de28ec0728a3f5d60d98576e18050f2208aa038639fce5eec9edb7e4081dd7226617e9f318e97c04e5c32d8d2bdaae22bf2f7","new_txn_trie_node_byte":"0x02f8b00102843ecd3d3585023a66480382d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb00000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b350000000000000000000000000000000000000000000000195b7959b388b80000c001a0452536833b01ddcaab398234646e7de28ec0728a3f5d60d98576e18050f2208aa038639fce5eec9edb7e4081dd7226617e9f318e97c04e5c32d8d2bdaae22bf2f7","new_receipt_trie_node_byte":"0xb901ab02f901a7018356ef0eb9010000000000000000000000000000000000000000000000000000000000000000010000000000000008000000004000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000400000000040000000000000000000000000000000000000000000000000000010000000000000000000000000000020000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006f26486c94b76c4f1c8b595fdffd513cdd0c9cafa000000000000000000000000068d36c4c63660a04ae0a2131e11f3d071fb71b35a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833a6e6eb31e158a"},"0x8733366014effb6d21631f077d7aa12b1102f327":{"balance":"0x2dcec2a0639c6","nonce":"0x4"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x948062687a2114c19aa6a713341749181adef6a832b01ac70a225b320f392c47","0x99752481d8811b53d5141dc7483ec7883dfa854fe573c5a561b698ece6e7d44a"],"storage_written":{"0x948062687a2114c19aa6a713341749181adef6a832b01ac70a225b320f392c47":"0x0","0x99752481d8811b53d5141dc7483ec7883dfa854fe573c5a561b698ece6e7d44a":"0x211a6a9e777b2ce189e0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}}},"meta":{"byte_code":"0x02f8b00103843bf34a408501e443e2ed828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000008ccc062bab493560e35022b78552ce47e72a3e580000000000000000000000000000000000000000000000195b7959b388b80000c001a01f3627e6b529626815e3861fa9e03d8e3148edbb241cc9dc5cd320f647f58150a078c85028f2b23c86c4b1432005cb186a006e80e42bd25893a112e4ac6ef5e17b","new_txn_trie_node_byte":"0x02f8b00103843bf34a408501e443e2ed828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb0000000000000000000000008ccc062bab493560e35022b78552ce47e72a3e580000000000000000000000000000000000000000000000195b7959b388b80000c001a01f3627e6b529626815e3861fa9e03d8e3148edbb241cc9dc5cd320f647f58150a078c85028f2b23c86c4b1432005cb186a006e80e42bd25893a112e4ac6ef5e17b","new_receipt_trie_node_byte":"0xb901ab02f901a70183576b45b9010000000000000000000000000000000000000000000000000000000000000000800000000000000008000000000000000000000000000000000000000800000000000000000000020000000008000000000000000000000000020000000000000040000000000000000000000000000000000000000000200000000010000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008733366014effb6d21631f077d7aa12b1102f327a00000000000000000000000008ccc062bab493560e35022b78552ce47e72a3e58a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x06a9ab27c7e2255df1815e6cc0168d7755feb19a":{"storage_read":["0x0c9593cd99b9d3addd81e5581a9047a44df86d5edf98303e7e690efe77483279","0x00000000000000000000000000000000000000000000000000000000000000c9","0x0000000000000000000000000000000000000000000000000000000000000097","0x7ea94ea3906a23666464dde3a6042e91026a41ea9bcdd7c81f1a841a2547d4b8","0x77dbb09d9adcfc2b29f15a5482b51e5ce8bdfb2417831f78bc8063345000f74f","0x77dbb09d9adcfc2b29f15a5482b51e5ce8bdfb2417831f78bc8063345000f74e","0x7ea94ea3906a23666464dde3a6042e91026a41ea9bcdd7c81f1a841a2547d4bd","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000100","0x77dbb09d9adcfc2b29f15a5482b51e5ce8bdfb2417831f78bc8063345000f750"],"storage_written":{"0x7ea94ea3906a23666464dde3a6042e91026a41ea9bcdd7c81f1a841a2547d4ba":"0x0","0x7ea94ea3906a23666464dde3a6042e91026a41ea9bcdd7c81f1a841a2547d4bd":"0xc8000000006687db3b","0x77dbb09d9adcfc2b29f15a5482b51e5ce8bdfb2417831f78bc8063345000f74f":"0x0","0x77dbb09d9adcfc2b29f15a5482b51e5ce8bdfb2417831f78bc8063345000f750":"0x2000000000134d6b2000000006687dadb0000000000020c33","0x7ea94ea3906a23666464dde3a6042e91026a41ea9bcdd7c81f1a841a2547d4b8":"0x68007048cd58754b536984c22e0b50b6007b6ca3de977c2f478a0e3cbe726f1","0x7ea94ea3906a23666464dde3a6042e91026a41ea9bcdd7c81f1a841a2547d4b9":"0xcbe0413db8e863731a86efad632ef701f28d0b4c749c26e7d61424f89de3c93f","0x7ea94ea3906a23666464dde3a6042e91026a41ea9bcdd7c81f1a841a2547d4bc":"0x0","0x7ea94ea3906a23666464dde3a6042e91026a41ea9bcdd7c81f1a841a2547d4bb":"0x6c6b935b8bbd4000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc9"},"code_usage":{"read":"0x26e751b9fd68f5207c6d2b35f2871bc22c1b05e9d20368c10257dc04ca67f46e"}},"0xb0b782cf0fcece896e0c041f8e54f86ca4cc8e9f":{"code_usage":{"read":"0x90350f5a27bb341d705144ae14ebe33c31d2b97d6b1c8cf1bcf996bb4242e9fd"}},"0x6e997f1f22c40ba37f633b08f3b07e10ed43155a":{"code_usage":{"read":"0xf34081fbf7bfe678f77f944710a118649135379aee577a4b7c771454b14f85f7"}},"0x0000000000000000000000000000000000000001":{},"0x579f40d0be111b823962043702cabe6aaa290780":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"],"code_usage":{"read":"0x26e751b9fd68f5207c6d2b35f2871bc22c1b05e9d20368c10257dc04ca67f46e"}},"0xd547ca5d6b50dc5e900a091978597eb51f18f9d1":{"code_usage":{"read":"0x171230de9c1ed33c1bcd3e3cacd3b4954803e999ef42ac46f3736e6afe2efb44"}},"0x000000629fbcf27a347d1aeba658435230d74a5f":{"balance":"0x23f0d38bf58c9f474","nonce":"0x20103"},"0x5fc54737ecc1de49d58ae1195d4a296257f1e31b":{"code_usage":{"read":"0xd23eccec665f8abb93abe395ff73142946694085857a4734f0b92a9344506042"}},"0x68d30f47f19c07bccef4ac7fae2dc12fca3e0dc9":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0xd1cc1220e18c38170f81416d60ef9e81708d7a7c14523987425debe98cc6c512","0x0000000000000000000000000000000000000000000000000000000000000097"],"code_usage":{"read":"0x26e751b9fd68f5207c6d2b35f2871bc22c1b05e9d20368c10257dc04ca67f46e"}},"0x3a1a900680baadb889202faf12915f7e47b71ddd":{"code_usage":{"read":"0x4bb63f5c595dedfbf1254bf378e2ef4cadec55a617158f44dea091e05a7c7fa4"}},"0xb0f3186fc1963f774f52ff455dc86aedd0b31f81":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000097","0x360444b487a785305f8c7e24b3b169fd7eaf82d08269d18eea3773327d3eac11"],"code_usage":{"read":"0x26e751b9fd68f5207c6d2b35f2871bc22c1b05e9d20368c10257dc04ca67f46e"}},"0x29a88d60246c76e4f28806b9c8a42d2183154900":{"code_usage":{"read":"0xb840e4edc396ffd9ac88069ad407c37c40283a6bd9485ad3768177809b65eb95"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833b3f5072ac7d8a"}},"meta":{"byte_code":"0x02f903f50183020102843b9aca0085033f160e24832dc6c19468d30f47f19c07bccef4ac7fae2dc12fca3e0dc980b9038410d008bd0000000000000000000000000000000000000000000000000000000000020c33000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003205e83b41e461661710f07873ba3d83bf5259814c133dcdc9cb0f64644c5b31589b07a4696976d89d0e9651ebd58f135d8d428315749aaac67fe5e630f091ebc8b01481b9cfd0bf329f04939153cc4db8b3ab5a8b4318c4a556ecac55244429779302e31382e302d64657600000000000000000000000000000000000000000000569e75fc77c1a856f6daaf9e69d8a9566ca34aa47f9133711ce065a571af0cfd000000000000000000000000000000633b68f5d8d3a86593ebb815b4663bcbe00000000000000000000000000000000000000000000000000000000000020c33000000000000000000000000000000000000000000000000000000000e4e1c00000000000000000000000000000000000000000000000000000000006687dadb000000000000000000000000000000000000000000000000000000000134d6b100000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000001361cf715152b4ef0cb77793600a013faa50ff1183945425778b74c846ad6a96a00000000000000000000000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc9068007048cd58754b536984c22e0b50b6007b6ca3de977c2f478a0e3cbe726f1cbe0413db8e863731a86efad632ef701f28d0b4c749c26e7d61424f89de3c93fc5164ef3ed5dc99db1b473a4be9a9562bc219c026538a873ddd079b6612667400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005900000004f02099f42d499028ca52a5205d4e21001f5e3525440af76603762eafe90e7f449e93e5b2734578e0e9b12abcb6f6425f6e2d1a5b734fb263c09b97ce3606211681d66406959ab4e0c82672944b6d651a5ad64bc81b00000000000000c001a093a3cf6380f739f55804d9054517a5401a657d5397f963cc46a1059e5957a3e4a00373306f0c723ea716e0787a913279ec91573e3cf43cc0129b1ffacf7b41f164","new_txn_trie_node_byte":"0x02f903f50183020102843b9aca0085033f160e24832dc6c19468d30f47f19c07bccef4ac7fae2dc12fca3e0dc980b9038410d008bd0000000000000000000000000000000000000000000000000000000000020c33000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000003205e83b41e461661710f07873ba3d83bf5259814c133dcdc9cb0f64644c5b31589b07a4696976d89d0e9651ebd58f135d8d428315749aaac67fe5e630f091ebc8b01481b9cfd0bf329f04939153cc4db8b3ab5a8b4318c4a556ecac55244429779302e31382e302d64657600000000000000000000000000000000000000000000569e75fc77c1a856f6daaf9e69d8a9566ca34aa47f9133711ce065a571af0cfd000000000000000000000000000000633b68f5d8d3a86593ebb815b4663bcbe00000000000000000000000000000000000000000000000000000000000020c33000000000000000000000000000000000000000000000000000000000e4e1c00000000000000000000000000000000000000000000000000000000006687dadb000000000000000000000000000000000000000000000000000000000134d6b100000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000001361cf715152b4ef0cb77793600a013faa50ff1183945425778b74c846ad6a96a00000000000000000000000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc9068007048cd58754b536984c22e0b50b6007b6ca3de977c2f478a0e3cbe726f1cbe0413db8e863731a86efad632ef701f28d0b4c749c26e7d61424f89de3c93fc5164ef3ed5dc99db1b473a4be9a9562bc219c026538a873ddd079b6612667400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000005900000004f02099f42d499028ca52a5205d4e21001f5e3525440af76603762eafe90e7f449e93e5b2734578e0e9b12abcb6f6425f6e2d1a5b734fb263c09b97ce3606211681d66406959ab4e0c82672944b6d651a5ad64bc81b00000000000000c001a093a3cf6380f739f55804d9054517a5401a657d5397f963cc46a1059e5957a3e4a00373306f0c723ea716e0787a913279ec91573e3cf43cc0129b1ffacf7b41f164","new_receipt_trie_node_byte":"0xb9036902f9036501835aec69b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000200000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001000000000000000000000000200000000000000000000000000000004000000000000001000000000200000000000000000000800000000000f9025af9013b9406a9ab27c7e2255df1815e6cc0168d7755feb19af842a0c195e4be3b936845492b8be4b1cf604db687a4d79ad84d979499c136f8e6701fa00000000000000000000000000000000000000000000000000000000000020c33b8e0068007048cd58754b536984c22e0b50b6007b6ca3de977c2f478a0e3cbe726f1cbe0413db8e863731a86efad632ef701f28d0b4c749c26e7d61424f89de3c93fc5164ef3ed5dc99db1b473a4be9a9562bc219c026538a873ddd079b661266740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc9000000000000000000000000000000000000000000000006c6b935b8bbd4000000000000000000000000000000000000000000000000000000000000000000c8f901199406a9ab27c7e2255df1815e6cc0168d7755feb19ae1a0df66aee38ea9fe523cfd238705d455a354305a646748dbb931898b51cee4727bb8e00000000000000000000000000000000000000000000000000000000000020c39000000000000000000000000000000000000000000000000000000000001ff4a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006650cf33","gas_used":229668}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x914dbc05eca2228064d2bec88324c6d9deba67f6a28bc64080febad40efd67cb","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xb92856989b67fd3b1522748feae33516771f1ce0f365369ad6a3887ee8104fb4","0xd7511d1dfc8b15588d65f23d13741bed6d3ea88f6a9b723d377e6831313925c5","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0xd7511d1dfc8b15588d65f23d13741bed6d3ea88f6a9b723d377e6831313925c5":"0x2edf02d380","0xb92856989b67fd3b1522748feae33516771f1ce0f365369ad6a3887ee8104fb4":"0x62014261979"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833b69108f0cf60c"},"0xbad4de292fd38a0b637acdcab7d4299410c68701":{"balance":"0x1289bb784bf816d","nonce":"0x28"}},"meta":{"byte_code":"0x02f8b00127843b574eea850267995a0582b41d94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000e4ec8a4572d7a0b046337c28af51c97101c357910000000000000000000000000000000000000000000000000000000684ee1800c080a0719e5bdce72d29a16bd891d6c28ad5dc90de7f2dbd9df68276725d87aa4bab3ea068f4ccdd1648ce673cd2e3187264bc84960bf93198f0341c1de5a75b1fd1df30","new_txn_trie_node_byte":"0x02f8b00127843b574eea850267995a0582b41d94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000e4ec8a4572d7a0b046337c28af51c97101c357910000000000000000000000000000000000000000000000000000000684ee1800c080a0719e5bdce72d29a16bd891d6c28ad5dc90de7f2dbd9df68276725d87aa4bab3ea068f4ccdd1648ce673cd2e3187264bc84960bf93198f0341c1de5a75b1fd1df30","new_receipt_trie_node_byte":"0xb901ab02f901a701835ba086b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070000001000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000008000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000bad4de292fd38a0b637acdcab7d4299410c68701a0000000000000000000000000e4ec8a4572d7a0b046337c28af51c97101c35791a00000000000000000000000000000000000000000000000000000000684ee1800","gas_used":46109}},{"traces":{"0xbb2ea70c9e858123480642cf96acbcce1372dce1":{"balance":"0xe396a4e75883236a","storage_read":["0xac85f73aa6b184278bd3fc48b841a4a80aab8ef4f9522392182a2d560ae84d17","0x1d81baf5ff9e6e4d344d16cca54d09e756a62bf024a41c664fd357773b5bd12c","0x6fd43915b0340f804c2f81e2c69ca2e0f8475066d759cc2fad5143b48c106393","0xbfbaec78aea938f7618b413112ae436807b3f99ee8a38c89e530242c680ec2f4","0x278bc11c91e7d1b73f4b7ee50a37309e715d286578f2b001b0f1fedf7583f84e","0xcb1bb8f061556bad91cf49e649358ff9d9995d5e7fffa24c4853a0ea8641077b","0x1d81baf5ff9e6e4d344d16cca54d09e756a62bf024a41c664fd357773b5bd12d","0xbfbaec78aea938f7618b413112ae436807b3f99ee8a38c89e530242c680ec2f3","0x337b5cd97de7bd131a003d8d93c31f92edaa635fd3c8efdd34669269f12d3d1c","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000002"],"storage_written":{"0x337b5cd97de7bd131a003d8d93c31f92edaa635fd3c8efdd34669269f12d3d1c":"0x4633ec6c1a2d64b","0xcb1bb8f061556bad91cf49e649358ff9d9995d5e7fffa24c4853a0ea8641077b":"0x9c9cb4a43d2e438c","0x278bc11c91e7d1b73f4b7ee50a37309e715d286578f2b001b0f1fedf7583f84e":"0xa8b6b1498406683"},"code_usage":{"read":"0xdd60d5461da3a779567301a7f52c4de2fd7d4c829b3e8de663bb2149be857275"}},"0xc03f31fd86a9077785b7bcf6598ce3598fa91113":{"storage_read":["0x0e268146e2ef13fdc3625deee9ffee4a92be43033588eb2d6b597977bd57c1e1","0x0000000000000000000000000000000000000000000000000000000000000065","0xd577a101a18c26045c48db9862d4cf546d87d6e9e286af5a2e8739468a625c85","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000068","0x0000000000000000000000000000000000000000000000000000000000000069"],"code_usage":{"read":"0xad7e55b5da5433fcc117aac1b8add852266502bf528ae14d82544d8310257bf5"}},"0xd0ab8512cf4907bd94cdb5fe7d0c324e666c4006":{"code_usage":{"read":"0x4b97ed83ad94c035fb49fc3721c88a08aa1862a6cf913165cf65373a168d5d61"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833c7535d0cdf08c"},"0x8fafae7dd957044088b3d0f67359c327c6200d18":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000005","0x9dbca10f7478d77e2b88d9bfd38c4c9ee3ff6384ab4576a8e023c8bdbadd0998","0xbe66514e5cd1415a1e3a5907e28aef8a31e5e3becf00c802f8ab5beb7bf2b406","0x38df3c1876bf2f8a5c9da94300e8ce93dea787636354e910634915407fbdacce"],"code_usage":{"read":"0x7f3322c27435e1b60bd551276e6e8b868108344fe29a8a5427057f822c203f9a"}},"0x319ae539b5ba554b09a46791cdb88b10e4d8f627":{"code_usage":{"read":"0x86377689eddea450f0ad8537de94a33d9236c75b3682fb0e6e3d64675ef3561e"}},"0xdac2d26317c42ae3cb21357b73404120e1da4232":{"code_usage":{"read":"0x37c9c4a6a4eed75f8fe2b202c4c98a2af175f528005b9cea7de69cc3a06a294c"}},"0x3e368b6c95c6fefb7a16dcc0d756389f3c658a06":{"storage_read":["0xcb6ef6d2a10c1df4e0155bc3e67e8423ea6197dc63e5dcc995cd93b05aed15b2"],"code_usage":{"read":"0xa9ee0db05e794f31533f0165fdb10c3b3f9c3708645c378b78841fd374e6a560"}},"0x99858c5f2668a972419a4c6be3870f988cdc25ed":{"balance":"0x42133dbef12f2b1","nonce":"0x18d"},"0x5ebb3f2feaa15271101a927869b3a56837e73056":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"code_usage":{"read":"0x48c7051a1b6982681eb159bdabad9a424c5821b8fb5aec06a92fbf7804adf487"}},"0x6d6620efa72948c5f68a3c8646d58c00d3f4a980":{"storage_read":["0x1067115ef3deb2ddb454de3c09a70edde1529538c0da4e70f2c1562be8b0dcc4","0xa5a8036ee86adb81ef7426d1950a4561d5a3c439cc10080ede6c43fa3296e05b","0xa02820dd47624f70d4b2f7aa4fd1b7b8a615a9cb2c2bc2b13e276dcd00bbe898"],"code_usage":{"read":"0xef22a8fb9189866e656f799d686af5c5cdeb0ab47e1baa4f636f6d8253af970c"}},"0x0f04f5d8bb631197845dae519d03d7997f7d20ba":{"code_usage":{"read":"0x48434a35982135695170366c401e8d5edf987c56a8ab12ffa34ca52ef83c63e6"}},"0x173272739bd7aa6e4e214714048a9fe699453059":{"storage_read":["0x3fdf373a5a4c4fdf1fc84089a6c7d0e0f193fb8f9cfb30bbefc12bafed8951ec","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x7a3718ff4a513ff988d70cc62ebc5349871a010e41e3f69fff5534cdec845f63","0x47e3761a6c794275beff457a533ffcc55fa139e6dcd25d1f1484728e9a1d6150","0x00000000000000000000000000000000000000000000000000000000000000c9","0x0000000000000000000000000000000000000000000000000000000000000097","0x00000000000000000000000000000000000000000000000000000000000000ca","0x3fdf373a5a4c4fdf1fc84089a6c7d0e0f193fb8f9cfb30bbefc12bafed8951eb"],"code_usage":{"read":"0x80728b513ccd6a951aa35386a149a52ec8c76c9fe1ccd7955461eff2a220827a"}},"0x77b2043768d28e9c9ab44e1abfc95944bce57931":{"balance":"0xe6e4a0009fbc76734f","storage_read":["0x72745d6b727054004f640920c31c23488516f4f956f29b5c480fd2882b962237","0xbe6c873f6b8bc097de0c1f91d208575b893237ed69427fdd7ce8493000d591de","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000002","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0x99ba0013e368b6c95c6fefb7a16dcc0d756389f3c658a06","0x72745d6b727054004f640920c31c23488516f4f956f29b5c480fd2882b962237":"0x5b72aa1","0xbe6c873f6b8bc097de0c1f91d208575b893237ed69427fdd7ce8493000d591de":"0x43cfee4c","0x000000000000000000000000000000000000000000000000000000000000000a":"0xfdce404200000001c24c2085"},"code_usage":{"read":"0x1d390e7a18e79e4d3c3402aba4453b8f6ef1f7dc9de5dc6fab5b5d88d723639a"}},"0x1a44076050125825900e736c501f859c50fe728c":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000d","0x4dfea2283fa489b20dbdb66fc367855da8dd1d266b7de64902c27a6001e1b716","0x75a4f946b9c978b6766d635b19b14e4cfd090aefb1406a03d723a3042df46c37","0x92ee5cba980df9955c0d227f92daeb225e6e871a00c8b433509b04370dd3429b","0x000000000000000000000000000000000000000000000000000000000000000e"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000d":"0x1","0x4dfea2283fa489b20dbdb66fc367855da8dd1d266b7de64902c27a6001e1b716":"0x1144"},"code_usage":{"read":"0xb747fab405fadff7fc9d8adb083d18d3454ac58ffdefe9121ed5f008f57d93e0"}},"0xa7b5189bca84cd304d8553977c7c614329750d99":{"code_usage":{"read":"0x2b78be638f50c7f5fdc2669affb8b22383f9129c8f38948542122bf43b508012"}},"0xa59ba433ac34d2927232918ef5b2eaafcf130ba5":{"storage_read":["0x9dbca10f7478d77e2b88d9bfd38c4c9ee3ff6384ab4576a8e023c8bdbadd0998","0xbe66514e5cd1415a1e3a5907e28aef8a31e5e3becf00c802f8ab5beb7bf2b406","0x38df3c1876bf2f8a5c9da94300e8ce93dea787636354e910634915407fbdacce","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000005"],"code_usage":{"read":"0xe3486cf05f2c00e00767dec63eb46d309ac8b8e4d3b870a9c13c3de4605009f9"}}},"meta":{"byte_code":"0x02f9023c0182018c843814fea085024f169cfd8304e5c39477b2043768d28e9c9ab44e1abfc95944bce57931880142828385522e6fb901c4c7c7f5b30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000015cd2a3a30c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099858c5f2668a972419a4c6be3870f988cdc25ed000000000000000000000000000000000000000000000000000000000000759e00000000000000000000000099858c5f2668a972419a4c6be3870f988cdc25ed00000000000000000000000000000000000000000000000001426cb65b17fda70000000000000000000000000000000000000000000000000140d0023e7a6e4d00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a088007bafabf6eb56b0dd1d4178d8f923e4fca337d6e69eb38403c472a7e500e0a0723ee1ee685b10057ddd135849f5b840c21f61574bfa9f2c5270465b0854859b","new_txn_trie_node_byte":"0x02f9023c0182018c843814fea085024f169cfd8304e5c39477b2043768d28e9c9ab44e1abfc95944bce57931880142828385522e6fb901c4c7c7f5b30000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000015cd2a3a30c8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099858c5f2668a972419a4c6be3870f988cdc25ed000000000000000000000000000000000000000000000000000000000000759e00000000000000000000000099858c5f2668a972419a4c6be3870f988cdc25ed00000000000000000000000000000000000000000000000001426cb65b17fda70000000000000000000000000000000000000000000000000140d0023e7a6e4d00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a088007bafabf6eb56b0dd1d4178d8f923e4fca337d6e69eb38403c472a7e500e0a0723ee1ee685b10057ddd135849f5b840c21f61574bfa9f2c5270465b0854859b","new_receipt_trie_node_byte":"0xb9058202f9057e018360688ab9010000000000000000000000000000000000000000000000000000000000001000000400000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000200000000000000000000002000000000000000000008000000200000000000000000010000002000000000000800000000000000000001000080000000000000000000000000000000000000000000000008000400000100000000000100000000000400000000440000000000000000000000008000000000080000000000000000000000000000000000000000000040000000000000000000000002000000100018000000000000000020000f90473f87994bb2ea70c9e858123480642cf96acbcce1372dce1e1a061ed099e74a97a1d7f8bb0952a88ca8b7b8ebd00c126ea04671f92a81213318ab840000000000000000000000000173272739bd7aa6e4e214714048a9fe6994530590000000000000000000000000000000000000000000000000000102922e1eec8f9017a94bb2ea70c9e858123480642cf96acbcce1372dce1e1a007ea52d82345d6e838192107d8fd7123d9c2ec8e916cd0aad13fd2b60db24644b90140000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008fafae7dd957044088b3d0f67359c327c6200d18000000000000000000000000a59ba433ac34d2927232918ef5b2eaafcf130ba500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000002d203ac2100000000000000000000000000000000000000000000000000000002d203ac2100f9019a941a44076050125825900e736c501f859c50fe728ce1a01ab700d4ced0c005b164c0f789fd09fcbb0156d4c2041b8a3bfbcd961cd1567fb9016000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000120000000000000000000000000bb2ea70c9e858123480642cf96acbcce1372dce1000000000000000000000000000000000000000000000000000000000000009c010000000000001144000075950000000000000000000000006d6620efa72948c5f68a3c8646d58c00d3f4a9800000759e00000000000000000000000019cfce47ed54a88614648dc3f19a5980097007dd3e5482f6fc74d768fca5c8fe866c875456df0ac337edc3be610e7eb35290b9ae01000d00000000000000000000000099858c5f2668a972419a4c6be3870f988cdc25ed0000000000016281000000000000000000000000000000000000000000000000000000000000000000000016000301001101000000000000000000000000000249f000000000000000000000f8dc9477b2043768d28e9c9ab44e1abfc95944bce57931f863a085496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59aa03e5482f6fc74d768fca5c8fe866c875456df0ac337edc3be610e7eb35290b9aea000000000000000000000000099858c5f2668a972419a4c6be3870f988cdc25edb860000000000000000000000000000000000000000000000000000000000000759e00000000000000000000000000000000000000000000000001426c483bf2200000000000000000000000000000000000000000000000000001426b5f674d1000","gas_used":313348}},{"traces":{"0x8cff5bdb1b428b979e3d87087da8549a28065ddb":{"code_usage":{"read":"0xc0266903786dbc827036fdb341325eb1a7dacda0505395ce4d74b6b41a0f307a"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396e51e7b1378ab051e","storage_read":["0xef9107e1b76e79a986904393782e222c9457b798fbb973c046d2cce1a8af0900","0x220629ab6f6d87adcc0342e6e2aae22b0971de8251945c0417b9b00706d7ef8e","0x0f806dcdae41961cc12ca7816f169c2f2771cd9891c4628558a09b4f59250c59"],"storage_written":{"0x220629ab6f6d87adcc0342e6e2aae22b0971de8251945c0417b9b00706d7ef8e":"0x5c18fce95e35fcbc86","0xef9107e1b76e79a986904393782e222c9457b798fbb973c046d2cce1a8af0900":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xf761cc49bb127ab666899b41cdc4e62fa50cd9ca":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000069"],"code_usage":{"read":"0x1f958654ab06a152993e7a0ae7b6dbb0d4b19265cc9337b8789fe1353bd9dc35"}},"0x4082c9647c098a6493fb499eae63b5ce3259c574":{"storage_read":["0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x241b540b68add4276c957be21f2021a457793c0b106e5e8fbc892fb146f1df67"],"storage_written":{"0x241b540b68add4276c957be21f2021a457793c0b106e5e8fbc892fb146f1df67":"0x5c5696f9640d4911b6"},"code_usage":{"read":"0xc7b46fc754979c0fd29ec7105b045a5705d172da4364b24a72e42e586906056f"}},"0x6893593c695d23f002f9278fa75ae1367ce78d96":{"balance":"0x69f05329b4a238","nonce":"0x2657"},"0x7a616b25e7c96fc4d652966d7ddabb51de28ecc1":{"storage_read":["0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e"],"code_usage":{"read":"0x23ff3128727914b22a2753aafff02d897826166b869a027a11b851863d379ddf"}},"0x11dd2d9b5ec142dbafbefea82a75985eae4e12b0":{"storage_read":["0x60d264e446abc8704d405a5e80844734f0504c0e212b15c76ac38fefe4ff720c","0x00000000000000000000000000000000000000000000000000000000000000cd","0x8fdd30d7524461cdfd8ab9d6424a6be92096603e367b84abcfe198b53b597929"],"storage_written":{"0x00000000000000000000000000000000000000000000000000000000000000cd":"0x4b77"},"code_usage":{"read":"0x06643e7d44538ba353995b6b77634e1c5bd1282ae7902f2b1aceaec97cf572ed"}},"0x20f1380a78492227a9b2366242335d684af22507":{"code_usage":{"read":"0x44edffa08232f77601229777d8e0160c666eb3c79c1a7bbd6557575c12919fda"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833d74d3a9d88e6c"},"0xc3bb52e6118f05dd8ad4e1c1a1398281cd7c4c7f":{"code_usage":{"read":"0x4c6c6fff94ac35ffb6da6426aaa66d9dc23f3201177f215ead025f4062aaf29c"}},"0xa872bca05c9f8a97cc36d879e43b33db8ed7b69e":{"code_usage":{"read":"0x30dd4c41053621e6ecb9d600526b682dcce4370e8c206f016e2ad0ff4ea6b6c8"}},"0x098927f692c86fa1722115652b9d2d7be8cba6d3":{"code_usage":{"read":"0x2e928b8f9e6c560a8f991661bdd25e556918c35110a5cf33cf5742af437cb2b2"}},"0x27ff92b30cae00dabcf8045cc68fc9dcb67c5019":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003"],"code_usage":{"read":"0xaebd68b2a785d0af4b7e1f3e600efde438efa83b08f2ad8bcd9287322f396e5f"}},"0x787a0acab02437c60aafb1a29167a3609801e320":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x134d6ba00000000000c27a80000000000000000000000003b9aca00"},"code_usage":{"read":"0x1f958654ab06a152993e7a0ae7b6dbb0d4b19265cc9337b8789fe1353bd9dc35"}}},"meta":{"byte_code":"0x02f8fa01822656843814fea085023a1b71b9830f424094c3bb52e6118f05dd8ad4e1c1a1398281cd7c4c7f87470de4df820000b8847ac5d5a9000000000000000000000000b9d571c1ec576300f01ddfa5a082d9c571e45e36000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000c001a0eca8654b5068b5a81dea2853ae2c8bf7e88ea06fbdd1b212815d4682b93e6501a05776e507fcf5ca0e85fa5f5dab208874acfb5f1660de9751bfc3e2bfbd907d1f","new_txn_trie_node_byte":"0x02f8fa01822656843814fea085023a1b71b9830f424094c3bb52e6118f05dd8ad4e1c1a1398281cd7c4c7f87470de4df820000b8847ac5d5a9000000000000000000000000b9d571c1ec576300f01ddfa5a082d9c571e45e36000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000c001a0eca8654b5068b5a81dea2853ae2c8bf7e88ea06fbdd1b212815d4682b93e6501a05776e507fcf5ca0e85fa5f5dab208874acfb5f1660de9751bfc3e2bfbd907d1f","new_receipt_trie_node_byte":"0xb90a0402f90a00018364f75db901000000004000004000101000000400000000000000000040000000000000000000000000000000000000000020100480804200000008000000000010000000020000000000000000004000000a000400800400000000000000000000008000000000000000020000000200000000000800000c000000000000000100100000000002000000000000000000004000000000000000010000000000010040005000000800000000000000000080001000000001000000008000000000000000000000000000022000000000000000081a0000000000000000000000041000000020000000200000000000000000402000000000000000080200400000000000000000f908f5f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000c3bb52e6118f05dd8ad4e1c1a1398281cd7c4c7fa000000000000000000000000000000000000000000000000000470de4df820000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c3bb52e6118f05dd8ad4e1c1a1398281cd7c4c7fa00000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c574a000000000000000000000000000000000000000000000000000470de4df820000f9011d944082c9647c098a6493fb499eae63b5ce3259c574f884a0718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396a0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2a0000000000000000000000000b9d571c1ec576300f01ddfa5a082d9c571e45e36a0000000000000000000000000c3bb52e6118f05dd8ad4e1c1a1398281cd7c4c7fb8800000000000000000000000006893593c695d23f002f9278fa75ae1367ce78d9600000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000f9011d944082c9647c098a6493fb499eae63b5ce3259c574f884a07ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabfa0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2a0000000000000000000000000b9d571c1ec576300f01ddfa5a082d9c571e45e36a0000000000000000000000000c3bb52e6118f05dd8ad4e1c1a1398281cd7c4c7fb8800000000000000000000000006893593c695d23f002f9278fa75ae1367ce78d9600000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000f9031e94787a0acab02437c60aafb1a29167a3609801e320f884a0b3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32a000000000000000000000000022ee2d9b5ec142dbafbefea82a75985eae4e23c1a00000000000000000000000004200000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000000b902800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000022d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c27a800d764ad0b0001000000000000000000000000000000000000000000000000000000004b760000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c57400000000000000000000000042000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e40166a07a000000000000000000000000b9d571c1ec576300f01ddfa5a082d9c571e45e36000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c3bb52e6118f05dd8ad4e1c1a1398281cd7c4c7f0000000000000000000000006893593c695d23f002f9278fa75ae1367ce78d9600000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f901fc9411dd2d9b5ec142dbafbefea82a75985eae4e12b0f842a0cb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52aa00000000000000000000000004200000000000000000000000000000000000010b901a00000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c57400000000000000000000000000000000000000000000000000000000000000800001000000000000000000000000000000000000000000000000000000004b76000000000000000000000000000000000000000000000000000000000007a12000000000000000000000000000000000000000000000000000000000000000e40166a07a000000000000000000000000b9d571c1ec576300f01ddfa5a082d9c571e45e36000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c3bb52e6118f05dd8ad4e1c1a1398281cd7c4c7f0000000000000000000000006893593c695d23f002f9278fa75ae1367ce78d9600000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f87a9411dd2d9b5ec142dbafbefea82a75985eae4e12b0f842a08ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546a00000000000000000000000004082c9647c098a6493fb499eae63b5ce3259c574a00000000000000000000000000000000000000000000000000000000000000000","gas_used":298707}},{"traces":{"0x51aa9071b09da5c54173742d5662d2031d45d1e7":{"balance":"0x7f165b1712b2c9","nonce":"0x219"},"0x0000000000000068f116a894984e2db1123eb395":{"storage_read":["0x487845b0e1271f556225b2f0703c19f3941db61ebfdc377818a70cdf757d3371","0x7c037f433fe4a99d1060656b73a6f110dd9466976533e9ed2943b3c839969ad7"],"storage_written":{"0x7c037f433fe4a99d1060656b73a6f110dd9466976533e9ed2943b3c839969ad7":"0x10000000000000000000000000000010001"},"code_usage":{"read":"0x74499ac0cce14428e4b41541d5e44f28f5a6882a1051d0118867c2a93cd5aec0"}},"0x0000000000000000000000000000000000000001":{},"0x49cf6f5d44e70224e2e23fdcdd2c053f30ada28b":{"storage_read":["0xd05051010c1a32859111ac9f82bb83fa9044fc0cd88dc911aa6d94991da180a7","0x19f9534cad3d3109bd22c46f41c9e295a069a6a7d5ea82f182915b10a582117c","0xa5abd25281b910c930b17401e2d5410b749e8a876c95b83e1d3c98934e91f076","0xff040df8b664087db59e06580cb13ece784a13433c7e8a3e10491946e408d4e3","0x2d3b20ee86594eb20905cc77bafd879dceb8ff3de9b5ca69b92299ce94c8761c","0xc77fbeb9d63cd0b403e1afe994279f7ffd2f8bae78ea872ccc898bb2846441fc","0xf58960bfebf46c20a079191b038e033ad78ce04c41f2d10787512b1af85ec7ac"],"storage_written":{"0xc77fbeb9d63cd0b403e1afe994279f7ffd2f8bae78ea872ccc898bb2846441fc":"0x0","0xd05051010c1a32859111ac9f82bb83fa9044fc0cd88dc911aa6d94991da180a7":"0x6","0x0c725ce4c22c9a509e847f5351a8b3a2c2308e7013a81db1cc18331cd899fe1c":"0x5","0xff040df8b664087db59e06580cb13ece784a13433c7e8a3e10491946e408d4e3":"0x1","0x2d3ebe401a82264f74b454e42aeb6f9fa20bdf00113e325b3a67f330266519fe":"0x2a64","0x19f9534cad3d3109bd22c46f41c9e295a069a6a7d5ea82f182915b10a582117c":"0x0","0x62e88a1a0d5a6f5537a7a58e775655536f19e4e188b1f34c31001eef9ee3f6aa":"0x280a","0x2d3b20ee86594eb20905cc77bafd879dceb8ff3de9b5ca69b92299ce94c8761c":"0x51aa9071b09da5c54173742d5662d2031d45d1e7","0xa5abd25281b910c930b17401e2d5410b749e8a876c95b83e1d3c98934e91f076":"0x0"},"code_usage":{"read":"0x0f5f7089952590fd57fe9156e95ff823821f3575c8b62e45a1939e8a7d92f418"}},"0x1e0049783f008a0085193e00003d00cd54003c71":{"storage_read":["0x58d378c017b147e20c5e2165d42ae5632b3439c6aa34a0ecc35c5db91bbf26a4"],"code_usage":{"read":"0x069efdc9b946a332dce9951324fa197268e3ff0e00e44c6bf36049fc53113a41"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833e09501805948c"},"0x0000a26b00c1f0df003000390027140000faa719":{"balance":"0x7253d6d42581d0336","code_usage":{"read":"0x0e0a5f7bfe4bf9760a537b808095ac2a9e37c7755f7326691c11c216918166bf"}},"0xe926210005c7f76a5e22e39482943b0369c679af":{"balance":"0x20c326a832cafa5a7"}},"meta":{"byte_code":"0x02f9042401820218843814fea085024f169cfd8303b317940000000000000068f116a894984e2db1123eb3958806c946e8bf2a8000b903ac0000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c09731d2b0b000000000000000000000000000e926210005c7f76a5e22e39482943b0369c679af000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c0000000000000000000000000049cf6f5d44e70224e2e23fdcdd2c053f30ada28b0000000000000000000000000000000000000000000000000000000000002a6400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006684ee240000000000000000000000000000000000000000000000000000000066921d24000000000000000000000000000000000000000000000000000000000000000072db8c0b0000000000000000000000000000000000000000057bd8d990e930040000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000008afb6ec79d0000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000000000000000000000000000000000000000000000000000000000a305bcc637f1fcd05a30f049da18e35b7a6ae2ff7cfccb3b6bc41021c03925a4d50fa52ac7fab639288d7f60aa1595b056dc44fc3d8785d1c201d3a4d1df87b83a0000048d764c5f44d33ba55b980c0c9908cda41ed951ec9f6a06d6dceec4a951cfc41255631095cb9d4ae4441016ae6195d93abd8dd6a44694231f3f5822feb38b43799434e0baf9be111fd614a3186529eb3cb56fdbaec62e525f27d9348b1a88cfce000000000000000000000000000000000000000000000000000000000000000000360c6ebec001a030fb3db0a419898cc128dd2aa8bbc643561afe2f81023136a9bd062d78738e60a028f57294541cc8b3d801bddd68be79081533d772cc4aac8a30130c4224700767","new_txn_trie_node_byte":"0x02f9042401820218843814fea085024f169cfd8303b317940000000000000068f116a894984e2db1123eb3958806c946e8bf2a8000b903ac0000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c09731d2b0b000000000000000000000000000e926210005c7f76a5e22e39482943b0369c679af000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c0000000000000000000000000049cf6f5d44e70224e2e23fdcdd2c053f30ada28b0000000000000000000000000000000000000000000000000000000000002a6400000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006684ee240000000000000000000000000000000000000000000000000000000066921d24000000000000000000000000000000000000000000000000000000000000000072db8c0b0000000000000000000000000000000000000000057bd8d990e930040000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000008afb6ec79d0000000000000000000000000000000a26b00c1f0df003000390027140000faa71900000000000000000000000000000000000000000000000000000000000000a305bcc637f1fcd05a30f049da18e35b7a6ae2ff7cfccb3b6bc41021c03925a4d50fa52ac7fab639288d7f60aa1595b056dc44fc3d8785d1c201d3a4d1df87b83a0000048d764c5f44d33ba55b980c0c9908cda41ed951ec9f6a06d6dceec4a951cfc41255631095cb9d4ae4441016ae6195d93abd8dd6a44694231f3f5822feb38b43799434e0baf9be111fd614a3186529eb3cb56fdbaec62e525f27d9348b1a88cfce000000000000000000000000000000000000000000000000000000000000000000360c6ebec001a030fb3db0a419898cc128dd2aa8bbc643561afe2f81023136a9bd062d78738e60a028f57294541cc8b3d801bddd68be79081533d772cc4aac8a30130c4224700767","new_receipt_trie_node_byte":"0xb9054b02f905470183679d2ab90100000000000000000000000000000000200000000000000000000200000000000000000000000000000200000000000000000000000000000000000000002000000000000000000000000000080000000000000000000000000000000000000000000000000202000000008000000008000000000000000000000000100800000100000500000000000000080000000000400000800000000200000000004000008a0000000010008000000000000020000000000000000002000000000000000000000002000000000000000000000000000000000000000000000000000020000010000000000000000000000000000000000000000800000000000000000000f9043cf902fd940000000000000068f116a894984e2db1123eb395f863a09d9af8e38d66c62e2c12f0225249fd9d721c54b83f48d9352c97c6cacdcb6f31a0000000000000000000000000e926210005c7f76a5e22e39482943b0369c679afa0000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00b90280ce23ca3793520253103e8c7b123b8864ab6dca7df3d985779b8013ea984b3d0900000000000000000000000051aa9071b09da5c54173742d5662d2031d45d1e7000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000049cf6f5d44e70224e2e23fdcdd2c053f30ada28b0000000000000000000000000000000000000000000000000000000000002a640000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c09731d2b0b000000000000000000000000000e926210005c7f76a5e22e39482943b0369c679af0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008afb6ec79d0000000000000000000000000000000a26b00c1f0df003000390027140000faa719f89c9449cf6f5d44e70224e2e23fdcdd2c053f30ada28bf884a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000e926210005c7f76a5e22e39482943b0369c679afa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000002a6480f89c9449cf6f5d44e70224e2e23fdcdd2c053f30ada28bf884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e926210005c7f76a5e22e39482943b0369c679afa000000000000000000000000051aa9071b09da5c54173742d5662d2031d45d1e7a00000000000000000000000000000000000000000000000000000000000002a6480","gas_used":173517}},{"traces":{"0x3db08a08434bfb774271e46d277468f8da0da144":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000e","0x000000000000000000000000000000000000000000000000000000000000000d","0xa37354d524bb076caf55ae355436400911b16ed9e47989de92518dbb7458e299","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0xc3d060565188c6ce4b43e7e2c7f7ab5adede793ee1ff92a409259e90c246b6f3"],"storage_written":{"0xc3d060565188c6ce4b43e7e2c7f7ab5adede793ee1ff92a409259e90c246b6f3":"0x2c781f708c509f400000","0xa37354d524bb076caf55ae355436400911b16ed9e47989de92518dbb7458e299":"0x1"},"code_usage":{"read":"0xee8a105971995661291a9f284262a87abf2381b3cdc93b2c8fbeffe4cd636dd9"}},"0xffb8c9ec9951b1d22ae0676a8965de43412ceb7d":{"balance":"0x1108a4ec57b8f8bb","nonce":"0x694"},"0x4352291913aeb5009e8da7b75998ad03d80d4ad2":{"code_usage":{"read":"0x01881e53fa5c6b6a8fabc1a034f6107bf66f03acc232ba2183d2770dcf24adec"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833e597f6c8c4c4c"},"0x0000000000000000000000000000000000000001":{}},"meta":{"byte_code":"0x02f9023401820693843814fea085023a1b71b98302303b943db08a08434bfb774271e46d277468f8da0da14480b901c497520f740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000002c781f708c509f40000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000041a9773c275cf1768f8aad948b1c413f9907f6a45557a1bd8a8f07262e92c1aa6d5a45cc407b2489481b6cd2e438f770c34794b89f4b541af80008d0eee57686371b00000000000000000000000000000000000000000000000000000000000000c001a0743f8b491dea2350d2daaa9a69fffc73d430689f10849312da260ee6e126507da0034c9a577936581b19a87d2991c0416c398cc2904e9fe4015ba811e7f099134c","new_txn_trie_node_byte":"0x02f9023401820693843814fea085023a1b71b98302303b943db08a08434bfb774271e46d277468f8da0da14480b901c497520f740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000002c781f708c509f40000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000041a9773c275cf1768f8aad948b1c413f9907f6a45557a1bd8a8f07262e92c1aa6d5a45cc407b2489481b6cd2e438f770c34794b89f4b541af80008d0eee57686371b00000000000000000000000000000000000000000000000000000000000000c001a0743f8b491dea2350d2daaa9a69fffc73d430689f10849312da260ee6e126507da0034c9a577936581b19a87d2991c0416c398cc2904e9fe4015ba811e7f099134c","new_receipt_trie_node_byte":"0xb9010d02f901090183690b30b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":93702}},{"traces":{"0x21468e63abf3783020750f7b2e57d4b34afafba6":{"storage_read":["0x817291b9242981e0f23e16b17f1d1714afbf1989a760cd2a16b963a2ee61d26f","0xf257ef352ff8cec2d086bf6676a1a61b6b77ea291532558e9450c55583ab9883","0x10ffd392c6cf615e89376b9ea33f6a54a96852cf78ecf704fadec8c54cf4b344","0x10ffd392c6cf615e89376b9ea33f6a54a96852cf78ecf704fadec8c54cf4b347","0x817291b9242981e0f23e16b17f1d1714afbf1989a760cd2a16b963a2ee61d272","0xd331405802b48c62503c15f58c7a0f7d4e115b3f84eaa7ece1215aeb38f6b4bf","0xdfb340902d3967fa50e8165d4f7a13c9cb160eea8fb21544939c9a839ac4b6c4","0x04203da8d2843cc08fbb3d6a6bc769454f0b1cb008f44a132ba5ae074c55c046","0x04203da8d2843cc08fbb3d6a6bc769454f0b1cb008f44a132ba5ae074c55c048"],"storage_written":{"0xd331405802b48c62503c15f58c7a0f7d4e115b3f84eaa7ece1215aeb38f6b4bf":"0x2","0x10ffd392c6cf615e89376b9ea33f6a54a96852cf78ecf704fadec8c54cf4b346":"0xd","0xa6fc5e4a4ab7199aaaf728545a08982d35ce82cc842c6e27f0bd8a6703516e96":"0x100002a27","0x10ffd392c6cf615e89376b9ea33f6a54a96852cf78ecf704fadec8c54cf4b347":"0x0","0x817291b9242981e0f23e16b17f1d1714afbf1989a760cd2a16b963a2ee61d26f":"0x0","0x10ffd392c6cf615e89376b9ea33f6a54a96852cf78ecf704fadec8c54cf4b344":"0x0","0x10ffd392c6cf615e89376b9ea33f6a54a96852cf78ecf704fadec8c54cf4b345":"0x0","0x817291b9242981e0f23e16b17f1d1714afbf1989a760cd2a16b963a2ee61d270":"0x0","0xdfb340902d3967fa50e8165d4f7a13c9cb160eea8fb21544939c9a839ac4b6c4":"0x2","0xa6fc5e4a4ab7199aaaf728545a08982d35ce82cc842c6e27f0bd8a6703516e95":"0x100002a26","0x04203da8d2843cc08fbb3d6a6bc769454f0b1cb008f44a132ba5ae074c55c048":"0x0","0x04203da8d2843cc08fbb3d6a6bc769454f0b1cb008f44a132ba5ae074c55c046":"0x80001512","0x817291b9242981e0f23e16b17f1d1714afbf1989a760cd2a16b963a2ee61d271":"0xd","0x817291b9242981e0f23e16b17f1d1714afbf1989a760cd2a16b963a2ee61d272":"0x0"},"code_usage":{"read":"0xca5cd758f31bac93a291eefef3a4cf73af8c462f8dc43b8e622c80468a5d555c"}},"0x9ef6d86fb32e4d656579fe645f0e09d20c30a788":{"balance":"0x13e3f9755a19190","nonce":"0xd8"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833ee591141226ec"}},"meta":{"byte_code":"0x02f8b20181d7843814fea085024f169cfd8303ea2d9421468e63abf3783020750f7b2e57d4b34afafba680b844e7768bf0000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000001c080a0b399b7edd535a8d7a4614f2a81490b07dfef5959f003109cff4f354e3f69008fa0713c394e7d8e5d28771d07bbcacd268e2f6421127ae7114688e58b829b2c15b8","new_txn_trie_node_byte":"0x02f8b20181d7843814fea085024f169cfd8303ea2d9421468e63abf3783020750f7b2e57d4b34afafba680b844e7768bf0000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000001c080a0b399b7edd535a8d7a4614f2a81490b07dfef5959f003109cff4f354e3f69008fa0713c394e7d8e5d28771d07bbcacd268e2f6421127ae7114688e58b829b2c15b8","new_receipt_trie_node_byte":"0xb901a902f901a501836b8a91b9010000000000000000000000000000000000000000000000000000000000000000000000002000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000f89bf8999421468e63abf3783020750f7b2e57d4b34afafba6e1a0d2baea580be49f4686f9010fd8d18c763f89350bdfac59a3479b37b9e5a355b5b8600000000000000000000000000000000000000000000000000000000080001513000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000001","gas_used":163681}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833f3e4c43a23a8c"},"0x9743591b23b83ed41e6abcc84016a4c7702c706e":{"code_usage":{"read":"0xb17d28efea5cee3d88852e9b686147dc5ceb7ca5451c7cc0c54c48eda2928734"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0x8559d6a10054dab95830adc3e1d0473c4b869885e888e0a8b14868e04843e9d6","0x473b641213c5e2ef450d50163783cf73bd1602d8c67efe8563d83eb4799235d8","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b"],"storage_written":{"0x473b641213c5e2ef450d50163783cf73bd1602d8c67efe8563d83eb4799235d8":"0x77359400","0x8559d6a10054dab95830adc3e1d0473c4b869885e888e0a8b14868e04843e9d6":"0x8d464ef98d9b"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0xc3d688b66703497daa19211eedff47f25384cdc3":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0xbd217ea933be6ae501b21650327b0654a50eb5990e542f057d7a9f78c30ca7a1","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x104753c619d00000029a0505d660003fa636a685ebd0003dda6b3fc6f3c","0xbd217ea933be6ae501b21650327b0654a50eb5990e542f057d7a9f78c30ca7a1":"0x4cd7b00000029a0505d6600000000000000000153a4938b","0x0000000000000000000000000000000000000000000000000000000000000001":"0x6687db3b000000000000014cc97cb0311600000000000001d0c73a91bc37"},"code_usage":{"read":"0x64952234eab8f3aed74355c49119f627965640b1efeb6b28430b5a31b0d3b192"}},"0xd1271a1a2da13a607e29ec0b75639c9612c5f74d":{"balance":"0x10710eb0d310b17","nonce":"0x22"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}}},"meta":{"byte_code":"0x02f8b10121843814fea085024f169cfd8301cad594c3d688b66703497daa19211eedff47f25384cdc380b844f3fef3a3000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000077359400c001a0209fdddc5462125dbe35168b582525be0f07eb861360b3c52f0cd00e16c422a3a007ee634cd6abe04f20061b60da1429f041f6feb7de595d36182efb80e2b5d24c","new_txn_trie_node_byte":"0x02f8b10121843814fea085024f169cfd8301cad594c3d688b66703497daa19211eedff47f25384cdc380b844f3fef3a3000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000077359400c001a0209fdddc5462125dbe35168b582525be0f07eb861360b3c52f0cd00e16c422a3a007ee634cd6abe04f20061b60da1429f041f6feb7de595d36182efb80e2b5d24c","new_receipt_trie_node_byte":"0xb902e602f902e201836d1f9ab9010000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000008000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010400000000000000000000000000000000000000000000040010000000400000000000000000400000000600000000000000000000000000000004000000000000000000000000002000000000000000000000000000000000100000000000000000020000000000000000000000000000040000000000000000000008000000000000010f901d7f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c3d688b66703497daa19211eedff47f25384cdc3a0000000000000000000000000d1271a1a2da13a607e29ec0b75639c9612c5f74da00000000000000000000000000000000000000000000000000000000077359400f89b94c3d688b66703497daa19211eedff47f25384cdc3f863a09b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eba0000000000000000000000000d1271a1a2da13a607e29ec0b75639c9612c5f74da0000000000000000000000000d1271a1a2da13a607e29ec0b75639c9612c5f74da00000000000000000000000000000000000000000000000000000000077359400f89b94c3d688b66703497daa19211eedff47f25384cdc3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d1271a1a2da13a607e29ec0b75639c9612c5f74da00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000077359401","gas_used":103689}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833f9272c4320e8c"},"0x3df82eff8d4f92b380689fe723ce9e0511bdbbd4":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x000000000000000000000000000000000000000000000000000000000000000e","0x000000000000000000000000000000000000000000000000000000000000000d","0xb1c2d1936f679f97a37d5f5a8e0f9fcabf34ef3e8f1001deffa41a3912e01075"],"storage_written":{"0xb1c2d1936f679f97a37d5f5a8e0f9fcabf34ef3e8f1001deffa41a3912e01075":"0x1","0x4871f15efae141619b159544f35bbec93edc6c8987ee680139067f59774eb2cd":"0x9086d0ef37e01058c000000000000004409e1cffb5738611400"},"code_usage":{"read":"0xee8a105971995661291a9f284262a87abf2381b3cdc93b2c8fbeffe4cd636dd9"}},"0xadcab8974bfb9cbd88ec06c17e20f1629f8d1539":{"balance":"0x15420250c7039b","nonce":"0x59"},"0x0000000000000000000000000000000000000001":{},"0x4352291913aeb5009e8da7b75998ad03d80d4ad2":{"code_usage":{"read":"0x01881e53fa5c6b6a8fabc1a034f6107bf66f03acc232ba2183d2770dcf24adec"}}},"meta":{"byte_code":"0x02f902120158843814fea085023a1b71b983024b9a943df82eff8d4f92b380689fe723ce9e0511bdbbd480b901a485eab8c6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000022fe000000000000000000000000000000000000000000004409e1cffb57386114000000000000000000000000000000000000000000000009086d0ef37e01058c000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000415e856adad03a39a73d211b18efd4de90d1a5fb66763e6274800b924c17b2054a02b9b3a829667e4265b6092b1261290100695f55e2527c4d2a975f1b480af1c51c00000000000000000000000000000000000000000000000000000000000000c080a008318d738cae070600f9e1936d4ac1635d9cd82616fdb7cd40b0c97196f30dc2a053fd12bd50a959b374bed25b4db70ef26e7b2940df79122eb69ff968d51311db","new_txn_trie_node_byte":"0x02f902120158843814fea085023a1b71b983024b9a943df82eff8d4f92b380689fe723ce9e0511bdbbd480b901a485eab8c6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000022fe000000000000000000000000000000000000000000004409e1cffb57386114000000000000000000000000000000000000000000000009086d0ef37e01058c000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000415e856adad03a39a73d211b18efd4de90d1a5fb66763e6274800b924c17b2054a02b9b3a829667e4265b6092b1261290100695f55e2527c4d2a975f1b480af1c51c00000000000000000000000000000000000000000000000000000000000000c080a008318d738cae070600f9e1936d4ac1635d9cd82616fdb7cd40b0c97196f30dc2a053fd12bd50a959b374bed25b4db70ef26e7b2940df79122eb69ff968d51311db","new_receipt_trie_node_byte":"0xb9018902f9018501836e9fbab90100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000400c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000f87bf879943df82eff8d4f92b380689fe723ce9e0511bdbbd4e1a06765cbdf175c095017f6961e716b812497f2e6022d292faa2aaf88591434190cb840000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000022fe","gas_used":98336}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833fb9e5409f772c"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x991f5ba0d1b393a7d746ace8068e110aec495dda9802662de4d1a46029b68cb4","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xef2d706d4261317936787009a170d76262ad76a636ca799484905822dee67f75","0x1e81a6bbcc12c514856f7e16c12f1f2e32e8e4fdb71bc181f520572bdb0ef18f","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x1e81a6bbcc12c514856f7e16c12f1f2e32e8e4fdb71bc181f520572bdb0ef18f":"0xd6199200","0xef2d706d4261317936787009a170d76262ad76a636ca799484905822dee67f75":"0x642bc8"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x020a901413afc00d5434cca5703180252cc6217c":{"balance":"0x8418564adccc9c","nonce":"0xe6"}},"meta":{"byte_code":"0x02f8b20181e5843814fea0850237f1d5188301105694dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000088bf015b20ee03a16545aae75e02c5763a8ecef900000000000000000000000000000000000000000000000000000000d09dc300c001a0242bd8e88ec1f8d61851e81bc18a00cb6d972a035f4e71b6414774d456b55966a065667f953c64d8dcc5ba17104b9a1948462b4e64d9105017070e735247ac3db0","new_txn_trie_node_byte":"0x02f8b20181e5843814fea0850237f1d5188301105694dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000088bf015b20ee03a16545aae75e02c5763a8ecef900000000000000000000000000000000000000000000000000000000d09dc300c001a0242bd8e88ec1f8d61851e81bc18a00cb6d972a035f4e71b6414774d456b55966a065667f953c64d8dcc5ba17104b9a1948462b4e64d9105017070e735247ac3db0","new_receipt_trie_node_byte":"0xb901ab02f901a701836f53cbb9010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000400000000000000000000000000100000000000000000000000000080000000000000000000000000800000000000000000000002000010000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000020a901413afc00d5434cca5703180252cc6217ca000000000000000000000000088bf015b20ee03a16545aae75e02c5763a8ecef9a000000000000000000000000000000000000000000000000000000000d09dc300","gas_used":46097}},{"traces":{"0xe4390b9cf45348a503f53f86c944fee82b4a1c0d":{"balance":"0x1e5dad39a74c654","nonce":"0x17f"},"0xccc8cb5229b0ac8069c51fd58367fd1e622afd97":{"storage_read":["0x9a03df12b69d609c25d2a0d78eb4ffa9a81effb75f37968ec7cc200874120df1","0xc319fd1e6cd3fafd8f532df94b2f5374080bba135ebcfd6702fb026ac3d674ea"],"storage_written":{"0x9a03df12b69d609c25d2a0d78eb4ffa9a81effb75f37968ec7cc200874120df1":"0x0","0xc319fd1e6cd3fafd8f532df94b2f5374080bba135ebcfd6702fb026ac3d674ea":"0xa579f281296fe200000"},"code_usage":{"read":"0x4123404430365c4650afc6ef7ba05b464c36399d8f74e2d5bb0595fd9edf9980"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x833fe2bc6290214c"}},"meta":{"byte_code":"0x02f8b30182017e843814fea085023a1b71b9830133c394ccc8cb5229b0ac8069c51fd58367fd1e622afd9780b844a9059cbb000000000000000000000000bddc0b0d4b563b52bbc941aa03f14f96fff350eb000000000000000000000000000000000000000000000a579f281296fe200000c001a0fd3465e539efa51631ebae2ec63c68ae795a92059202854715dba8d38cd1ee29a06258d226a3c1e369ae64767902ed3637e6cf1a229543670cbba8f18c359f135e","new_txn_trie_node_byte":"0x02f8b30182017e843814fea085023a1b71b9830133c394ccc8cb5229b0ac8069c51fd58367fd1e622afd9780b844a9059cbb000000000000000000000000bddc0b0d4b563b52bbc941aa03f14f96fff350eb000000000000000000000000000000000000000000000a579f281296fe200000c001a0fd3465e539efa51631ebae2ec63c68ae795a92059202854715dba8d38cd1ee29a06258d226a3c1e369ae64767902ed3637e6cf1a229543670cbba8f18c359f135e","new_receipt_trie_node_byte":"0xb901ab02f901a70183700e38b9010000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000008000000000002000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000004000000000000200000000000000000000000000004000000000000000000000000000000000000000000080002000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000008000000000000000000f89df89b94ccc8cb5229b0ac8069c51fd58367fd1e622afd97f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e4390b9cf45348a503f53f86c944fee82b4a1c0da0000000000000000000000000bddc0b0d4b563b52bbc941aa03f14f96fff350eba0000000000000000000000000000000000000000000000a579f281296fe200000","gas_used":47725}},{"traces":{"0x4b4eec1ddc9420a5cc35a25f5899dc5993f9e586":{"balance":"0x2612a86a5d67425940","storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000"],"code_usage":{"read":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000"}},"0xd9db270c1b5e3bd161e8c8503c55ceabee709552":{"code_usage":{"read":"0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e"}},"0x37a1c9b5737680328ba7a1fd9a235ea5610806de":{"balance":"0x1e6fcbaf01724","nonce":"0x5"},"0x1f75881dc0707b5236f739b5b64a87c211294abb":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003","0xb100a86efdf6c38da23bcfad1baad3f8d14d1c1d4e44c417a3bf532a953e8eee","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0xb100a86efdf6c38da23bcfad1baad3f8d14d1c1d4e44c417a3bf532a953e8eee":"0x6a94d74f430000"},"code_usage":{"read":"0x49c71fedb3429af652d1f25db60171ca656829602d011e581404ebbc7dd06dd2"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83401a5aa4bd0a8c"}},"meta":{"byte_code":"0x02f8770104843814fea085023a1b71b9830181c0941f75881dc0707b5236f739b5b64a87c211294abb876a94d74f43000084d0e30db0c001a0dba9e51a7c4a83c6761f813fda4f81235fcec9104d186bd1e84228926ba5fc7ca01bb823a1360cedebb4e8e605d8655ce13570537d24487afe3ebbc8f3dd158103","new_txn_trie_node_byte":"0x02f8770104843814fea085023a1b71b9830181c0941f75881dc0707b5236f739b5b64a87c211294abb876a94d74f43000084d0e30db0c001a0dba9e51a7c4a83c6761f813fda4f81235fcec9104d186bd1e84228926ba5fc7ca01bb823a1360cedebb4e8e605d8655ce13570537d24487afe3ebbc8f3dd158103","new_receipt_trie_node_byte":"0xb9020702f902030183710c1ab9010042000008000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000040008000000000000000000000000000002000000001000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000200020040000000000000000000000000000000000000000000800000000000000800000000000000200000000000000020000000400000000000000000000000000000800000000000000000000000400001000000000000f8f9f87a944b4eec1ddc9420a5cc35a25f5899dc5993f9e586f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da00000000000000000000000001f75881dc0707b5236f739b5b64a87c211294abba0000000000000000000000000000000000000000000000000006a94d74f430000f87b941f75881dc0707b5236f739b5b64a87c211294abbf863a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000037a1c9b5737680328ba7a1fd9a235ea5610806dea0000000000000000000000000000000000000000000000000006a94d74f43000080","gas_used":64994}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83404233a78befac"},"0xac8e13ecc30da7ff04b842f21a62a1fb0f10ebd5":{"storage_written":{"0xea80a6bc9bd1d4faa1e036d11beee86b7c749af246e4cc756485be2bd8a8462a":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xb940dc4345f560bfe526798b7678f8d60a00a98e78bb7613016f96e24efdacc3"}},"0xbf067f3445f87c37c79c5b120d6a9f0ac85b4ca5":{"balance":"0x2fcad6daa34e63","nonce":"0x1c4"}},"meta":{"byte_code":"0x02f8b2018201c3843814fea0850237f1d51882b76494ac8e13ecc30da7ff04b842f21a62a1fb0f10ebd580b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0297ab355429c5e4480c1571c715654354a8dec5db59829115f095b11f611d48aa071252478940b66750e53819d2b9b47c7eb68e7f137409cc81dde320cefa6a05d","new_txn_trie_node_byte":"0x02f8b2018201c3843814fea0850237f1d51882b76494ac8e13ecc30da7ff04b842f21a62a1fb0f10ebd580b844095ea7b3000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0297ab355429c5e4480c1571c715654354a8dec5db59829115f095b11f611d48aa071252478940b66750e53819d2b9b47c7eb68e7f137409cc81dde320cefa6a05d","new_receipt_trie_node_byte":"0xb901ab02f901a7018371c1ffb9010000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000800000000000000000200000000000040000000000004000000000000000000000000800000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000020010000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000f89df89b94ac8e13ecc30da7ff04b842f21a62a1fb0f10ebd5f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000bf067f3445f87c37c79c5b120d6a9f0ac85b4ca5a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":46565}},{"traces":{"0x7626119709b5c5a161042c6d17dd6b59c451fc41":{"balance":"0x7f3cde5fc2c3f89","nonce":"0x120"},"0xee59826518149f0b566341874736adbb1042e143":{"balance":"0x58dde5be5956e8"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8340542c21c324ac"}},"meta":{"byte_code":"0x02f8740182011f843814fea0850237f1d51882520894ee59826518149f0b566341874736adbb1042e1438758d15e1762800080c080a08f0687795a9b072516a844e0ea819561562f10edd8d177e4714054b0ebe40510a02f2e552972e705da9e802f81fdcd54329b6395c3f9659ecde79dfd1d06f14b9e","new_txn_trie_node_byte":"0x02f8740182011f843814fea0850237f1d51882520894ee59826518149f0b566341874736adbb1042e1438758d15e1762800080c080a08f0687795a9b072516a844e0ea819561562f10edd8d177e4714054b0ebe40510a02f2e552972e705da9e802f81fdcd54329b6395c3f9659ecde79dfd1d06f14b9e","new_receipt_trie_node_byte":"0xb9010d02f901090183721407b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x781c4f2695c9bf8665d813cbb6f9080b4f58128b":{"balance":"0x138af321638c90"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834066249bfa59ac"},"0x9cfce285d4cd22bbe19930c2be938c04b8cef51f":{"balance":"0x5d23b90e7b528","nonce":"0x7"}},"meta":{"byte_code":"0x02f8720106843814fea085024f169cfd827b0c94781c4f2695c9bf8665d813cbb6f9080b4f58128b8709e92da7910d3d80c001a05bef9704fe0857428bbf477bdc5ff11fc4ab766111d59665038516c579f9a78ea0233ac089552be3b9dc3e802a1986656596f44c90a3acc68a2997d92dcd0f3d43","new_txn_trie_node_byte":"0x02f8720106843814fea085024f169cfd827b0c94781c4f2695c9bf8665d813cbb6f9080b4f58128b8709e92da7910d3d80c001a05bef9704fe0857428bbf477bdc5ff11fc4ab766111d59665038516c579f9a78ea0233ac089552be3b9dc3e802a1986656596f44c90a3acc68a2997d92dcd0f3d43","new_receipt_trie_node_byte":"0xb9010d02f90109018372660fb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396e57fa189518b2bea","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x2e0937cecbd2b3692828191389612c6948682b45f381078651aaf1da0b856325"],"storage_written":{"0x2e0937cecbd2b3692828191389612c6948682b45f381078651aaf1da0b856325":"0x787094f73c8737c4","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8341082ffcf77b7c"},"0x4df02498276e7d5b5e3ebbe5b380ff587aa620fe":{"balance":"0x1e5790f0463aa0","nonce":"0x76"},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x444c21aedaf670502136bed85c7ad7d0a018c2a1":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000000000000000000000000000000000000000000e","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x3bba9108b904cfb969b317a6a0847c2d13a92bb924e87f843935fe7b8f315911","0x1510d9214f227226d818ad648be7a2e0634db540481736675ac047ca90fe1cd7","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000014","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0xca242f9bc4e952f060798872b4d6fd3c8488111b5db3f3c7ac74e2573820fe85","0xaed63719513c7e85c8492a94586646866384d157c84c8f8b4fa5c349c808401b","0xe37f5cd62f40d237c4aa4c0a7659eb219c4c5135f4958eb7ec513100c1f3c452","0x3a584bddced51ef0f901a8723a05ccdf5b6a3977527e5a09da327c3575c7af70","0xce15c47f628675c0a303bf01033bd1ef417e2194241efc7408041d45cebd8004","0x0000000000000000000000000000000000000000000000000000000000000013","0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000010","0xf754125aeaaaee378629367177d4d143ef5e64117c4982f17fa772afde36f608","0x11234190717ef1d3c4e2cfd4321470b7159a7441273729cfb45569397b76f4ef"],"storage_written":{"0x1510d9214f227226d818ad648be7a2e0634db540481736675ac047ca90fe1cd7":"0x0","0x000000000000000000000000000000000000000000000000000000000000000e":"0x660","0x3bba9108b904cfb969b317a6a0847c2d13a92bb924e87f843935fe7b8f315911":"0x388d39e4c91889ed","0xaed63719513c7e85c8492a94586646866384d157c84c8f8b4fa5c349c808401b":"0x18164157d24c370178d","0xe37f5cd62f40d237c4aa4c0a7659eb219c4c5135f4958eb7ec513100c1f3c452":"0x1362329fdfbf4b57a"},"code_usage":{"read":"0xbf680d1728dffe454f0a20c1bfb05bc3c6cdf1dd1c64bafbc6812831918c04c4"}},"0xcab2d85b9c00fb4e2422ae4e6c7a8bd0d2ef0457":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000000787094f73c8737c400000000018164157d24c370178d","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000009":"0x31638162b4f6ac3e069e040ea727fa4","0x000000000000000000000000000000000000000000000000000000000000000a":"0x11c885a3b3cd0d98482f985bfe1e41fe3f214"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}}},"meta":{"byte_code":"0x02f9043901758437ee5ae785023a9c943a83045c36943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87612675d8e026ccb903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd4b00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000612675d8e026cc0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000612675d8e026cc000000000000000000000000000000000000000000000001355e289acf08038400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000444c21aedaf670502136bed85c7ad7d0a018c2a10000000000000000000000000000000000000000000000000000000000000060000000000000000000000000444c21aedaf670502136bed85c7ad7d0a018c2a1000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000444c21aedaf670502136bed85c7ad7d0a018c2a10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000001349829c8806f08a1c001a02a39970d2343a523be179d38c869bcc6d5b412a1c1eaf3e8988feb4065222338a0333bc8090b6d7cd419f96f4c6c25936d4b4ab0852c66c419a526801b95456830","new_txn_trie_node_byte":"0x02f9043901758437ee5ae785023a9c943a83045c36943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87612675d8e026ccb903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd4b00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000612675d8e026cc0000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000612675d8e026cc000000000000000000000000000000000000000000000001355e289acf08038400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000444c21aedaf670502136bed85c7ad7d0a018c2a10000000000000000000000000000000000000000000000000000000000000060000000000000000000000000444c21aedaf670502136bed85c7ad7d0a018c2a1000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000444c21aedaf670502136bed85c7ad7d0a018c2a10000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000001349829c8806f08a1c001a02a39970d2343a523be179d38c869bcc6d5b412a1c1eaf3e8988feb4065222338a0333bc8090b6d7cd419f96f4c6c25936d4b4ab0852c66c419a526801b95456830","new_receipt_trie_node_byte":"0xb9057802f905740183754bbfb9010000200000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000002000200080000100000000000000000000000080000000000000008000000200000000000000000000000008020000000000000020000200000000000000400000000000000000000000010000080000040000000000000000000000020000000000001000000080100004000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000008000008000000000000000001000000000000000000000a00000000000000000010000000000001000000000c00000000000000000f90469f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000612675d8e026ccf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000cab2d85b9c00fb4e2422ae4e6c7a8bd0d2ef0457a000000000000000000000000000000000000000000000000000612675d8e026ccf89b94444c21aedaf670502136bed85c7ad7d0a018c2a1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000cab2d85b9c00fb4e2422ae4e6c7a8bd0d2ef0457a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000136ea263f6c39f94cf87994cab2d85b9c00fb4e2422ae4e6c7a8bd0d2ef0457e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000018164157d24c370178d000000000000000000000000000000000000000000000000787094f73c8737c4f8fc94cab2d85b9c00fb4e2422ae4e6c7a8bd0d2ef0457f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000612675d8e026cc00000000000000000000000000000000000000000000000136ea263f6c39f94c0000000000000000000000000000000000000000000000000000000000000000f89b94444c21aedaf670502136bed85c7ad7d0a018c2a1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca000000000000000000000000000000000000000000000000000c6fc41704543d2f89b94444c21aedaf670502136bed85c7ad7d0a018c2a1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000004df02498276e7d5b5e3ebbe5b380ff587aa620fea0000000000000000000000000000000000000000000000001362329fdfbf4b57a","gas_used":189872}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396d9c5eb6c5c96c35a","storage_read":["0x5b4db9ee385bdbc987021d4133a1dacf1ebe252e14034de11b46adbe944b78ca","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a"],"storage_written":{"0x5b4db9ee385bdbc987021d4133a1dacf1ebe252e14034de11b46adbe944b78ca":"0x5aa3d8dab0a22c61e","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa":"0xa91f65997685d26"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0x55b08188eaf2ce17687d3f6e816854fccc0344b67d01370d0daa6f415dc2661c"],"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0x483778fefb36bb9b8669ea8d010058fbee07dde2":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000005aa3d8dab0a22c61e00001e0d06900b200d3102a6b51e","0x0000000000000000000000000000000000000000000000000000000000000009":"0x23d1a06fa519e4aa89e198a9050","0x000000000000000000000000000000000000000000000000000000000000000a":"0x50795ec68c446641098ede6aeec0bf66029856444"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x636bd98fc13908e475f56d8a38a6e03616ec5563":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000005","0xc35518babe6f8bb1cb6a000a26facad0f6cec6680a92cc7de8340262070be49c","0xcca0f5bfbf0ff27f055639896cfb034cc1fac4f9db467854a269dc83fb0ad503","0x9c13bfff33926a9a9716a9b4bd8ec916fd01fce33978e32aff9592536e05f6da","0x61f17e3bb68d535f5c01617a3e6ef73727558fc77942f46bc0080cda8068fed1","0xa9b23354b856090dbd7fa2696ecde47502b8e832234df301a5a248a9e23502f1","0x0000000000000000000000000000000000000000000000000000000000000006","0x645758a830d1bcf4d6c8ecd258283f8833418a43b1ac9f23ea5ce35a96dd41f3","0xce20d2187a50de53ac51cc30b101bce9e1958f8949aca3606169ff72719555ad","0x0000000000000000000000000000000000000000000000000000000000000011","0x292ea47f95d9e4d09a64e473ec7b103dca20540247e9857fa577c6fdbdcf7e24"],"storage_written":{"0x9c13bfff33926a9a9716a9b4bd8ec916fd01fce33978e32aff9592536e05f6da":"0x1e0d06900b200d3102a6b51e","0x61f17e3bb68d535f5c01617a3e6ef73727558fc77942f46bc0080cda8068fed1":"0xfffffffffffffffffffffffffffffffffffffffffc9892114f0ef325353135b0","0xcca0f5bfbf0ff27f055639896cfb034cc1fac4f9db467854a269dc83fb0ad503":"0x0"},"code_usage":{"read":"0x4610ba1ae236913f9c436bed4f538b973db2c95a863ac7f75537cfa93b92bf6b"}},"0xe227d9ee746ca4716fd85fe11f58dec2aaae81bc":{"balance":"0x114084293a581c9d","nonce":"0x1db"},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83418de2bf3ebeda"}},"meta":{"byte_code":"0x02f90394018201da8437ee5ae785023a9c943a8303493e943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd57000000000000000000000000000000000000000000000000000000000000000308060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000003e09de2596099e2e12cdf80000000000000000000000000000000000000000000000000bb2435dc86398f400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000636bd98fc13908e475f56d8a38a6e03616ec5563000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000baac709b553fd0dc001a0fcedf8cadea2a6e893477f95665c179a9ecc98e53c28aa3ebb010b22ed1f7ea2a0656b668979016f84dd4ce319953e6ce5f07fd650eac9f5584058fb0fe3c92c33","new_txn_trie_node_byte":"0x02f90394018201da8437ee5ae785023a9c943a8303493e943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b903243593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd57000000000000000000000000000000000000000000000000000000000000000308060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000003e09de2596099e2e12cdf80000000000000000000000000000000000000000000000000bb2435dc86398f400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002000000000000000000000000636bd98fc13908e475f56d8a38a6e03616ec5563000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000baac709b553fd0dc001a0fcedf8cadea2a6e893477f95665c179a9ecc98e53c28aa3ebb010b22ed1f7ea2a0656b668979016f84dd4ce319953e6ce5f07fd650eac9f5584058fb0fe3c92c33","new_receipt_trie_node_byte":"0xb9057802f90574018377afb1b9010000200000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000002000000880000010000000000200000000000080000000000044008000000220000000000400800000000000024000000000020000000200000000000000000000000000000040000000010400000400000000000400000000000000020000000000000000000080000004000000000020000000000000000000000000000000000000000000000000008000000000001000002002000000000000000000000000000000000001000000002000000000010200000000000000000000000000000001000000000800002000000000000f90469f89b94636bd98fc13908e475f56d8a38a6e03616ec5563f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e227d9ee746ca4716fd85fe11f58dec2aaae81bca0000000000000000000000000483778fefb36bb9b8669ea8d010058fbee07dde2a00000000000000000000000000000000000000000003e09de2596099e2e12cdf8f89b94636bd98fc13908e475f56d8a38a6e03616ec5563f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000e227d9ee746ca4716fd85fe11f58dec2aaae81bca0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0fffffffffffffffffffffffffffffffffffffffffc9892114f0ef325353135b0f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000483778fefb36bb9b8669ea8d010058fbee07dde2a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000bc13c05ee82d0c3f87994483778fefb36bb9b8669ea8d010058fbee07dde2e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000001e0d06900b200d3102a6b51e000000000000000000000000000000000000000000000005aa3d8dab0a22c61ef8fc94483778fefb36bb9b8669ea8d010058fbee07dde2f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8800000000000000000000000000000000000000000003e09de2596099e2e12cdf8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bc13c05ee82d0c3f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca0000000000000000000000000000000000000000000000000000785e8f98e6833f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000bb9b61cf4f46890","gas_used":156658}},{"traces":{"0xef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0c":{"balance":"0x14c293faa4f8376300","nonce":"0x70"},"0x35fa164735182de50811e8e2e824cfb9b6118ac2":{"storage_read":["0x00000000000000000000000000000000000000000000000000000000000000c9","0x636f8aa8520e3c441639062691b781311800e231ff239a0a3e55e65e04be5144","0xe8a9e706f5a405e2700d401a91a62f4e3e1ea03f51b56ceccf16c38f36e1df3f","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x71a707be50e2358375b23a2b3800757d37a13aea297c4ed67bc23fded02ec3f4","0x00000000000000000000000000000000000000000000000000000000000000ca","0x6d1c1209011543ede49216df9133432e6d17b897274f85bbb5785949215cd1c5"],"storage_written":{"0x6d1c1209011543ede49216df9133432e6d17b897274f85bbb5785949215cd1c5":"0x0","0x71a707be50e2358375b23a2b3800757d37a13aea297c4ed67bc23fded02ec3f4":"0x2","0xe8a9e706f5a405e2700d401a91a62f4e3e1ea03f51b56ceccf16c38f36e1df3f":"0x6127e7535fdede3580c","0x636f8aa8520e3c441639062691b781311800e231ff239a0a3e55e65e04be5144":"0x12698ea37857dbdfa"},"code_usage":{"read":"0x0b58ec11caee361ca0c1e484c12f6e7177634222186f7639bd9183dfee9d2278"}},"0x1b47a665364bc15c28b05f449b53354d0ceff72f":{"code_usage":{"read":"0xa457f95b50cdef7e707fb74e5182d0e0e5637a394a4f5bb07893384cd56519a3"}},"0x7d5706f6ef3f89b3951e23e557cdfbc3239d4e2c":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x000000000000000000000000000000000000000000000000000000000000012d","0x0000000000000000000000000000000000000000000000000000000000000132","0xe9f1e4777c81a518ba927c18cc9bf052215985ee9f0ee166cbf3edc556a1ebe6","0xc4e395edd66e1be799d630d34228ede0cbe75f29237cba4fa46f2af91f5a4a90","0x6d065df93f1d6cf621fb621bfc37747410f2b0a52a69fa54091cab3d19d96b15"],"storage_written":{"0x6d065df93f1d6cf621fb621bfc37747410f2b0a52a69fa54091cab3d19d96b15":"0x2","0xc4e395edd66e1be799d630d34228ede0cbe75f29237cba4fa46f2af91f5a4a90":"0xef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0c","0x0000000000000000000000000000000000000000000000000000000000000132":"0x3ea6aad97b1c7478a00005b9b00005c12","0xe9f1e4777c81a518ba927c18cc9bf052215985ee9f0ee166cbf3edc556a1ebe6":"0x1000000000d50cf06842e73b5000000000de0b6b3a7640000"},"code_usage":{"read":"0x98c1780cbd326ecebbc50ba9912644e63606ba035d646f7a60d4dbec7f3870c6"}},"0x0000000000000000000000000000000000000001":{},"0x02656fe285fac5d5c756c2f03c17277df9bac65b":{"code_usage":{"read":"0xd886827d6afbedf5139e9fc9fb45864eb0a1c63d0c4750cb1b5384384deb66de"}},"0x308861a430be4cce5502d0a12724771fc6daf216":{"storage_read":["0x00000000000000000000000000000000000000000000000000000000000000cf","0x00000000000000000000000000000000000000000000000000000000000000d2","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x00000000000000000000000000000000000000000000000000000000000000dc","0x00000000000000000000000000000000000000000000000000000000000000ce"],"code_usage":{"read":"0x0b58ec11caee361ca0c1e484c12f6e7177634222186f7639bd9183dfee9d2278"}},"0x3ed97c79ded8894036da095b2e2f79f8080a9cd4":{"code_usage":{"read":"0x84df06db0c0a5240192d208ad3f0c26011f95e67360849f9a9faad608aae72e5"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83421733357c8373"}},"meta":{"byte_code":"0x02f90151016f8437ee5ae785023a9c943a830438a694308861a430be4cce5502d0a12724771fc6daf21680b8e403dcfbdc000000000000000000000000ef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0c0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000001c878b397f272b6fb30b9dd49a5749bbf77caa7e6a47bea7eefdd27566d6cccb1b71ca7dd85da783ab9d083496ace8af2c8e493652e46bedf25bc779f9d746a5c4c080a0597017ade2c1c7d4ec57e007408ceae4ce7e27268969f0aefbf9a8f624ee3570a00d0d97d8419e09739777c0c1f3dfe47b4a031427dfc5fbf4fc07c4ac5246a463","new_txn_trie_node_byte":"0x02f90151016f8437ee5ae785023a9c943a830438a694308861a430be4cce5502d0a12724771fc6daf21680b8e403dcfbdc000000000000000000000000ef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0c0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000de0b6b3a7640000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000001c878b397f272b6fb30b9dd49a5749bbf77caa7e6a47bea7eefdd27566d6cccb1b71ca7dd85da783ab9d083496ace8af2c8e493652e46bedf25bc779f9d746a5c4c080a0597017ade2c1c7d4ec57e007408ceae4ce7e27268969f0aefbf9a8f624ee3570a00d0d97d8419e09739777c0c1f3dfe47b4a031427dfc5fbf4fc07c4ac5246a463","new_receipt_trie_node_byte":"0xb905bb02f905b701837a2430b9010000000000000000000000000000008000800000000000000200000000000000000000008000000000000008000000000100010000100000100000000010200000000200000000000000000008000000200000000080000000000008000000000000000000020000200000008000000800000000000000040000000010040000000000004000020000000080000000000000000000004000800000100000000000020000000000000000000000000000400000000000010000000010000000000000008002000000000004008000000000000000000000000000000000000020000010000000000000000000000000000000000000000000000000000000000000f904acf89b9435fa164735182de50811e8e2e824cfb9b6118ac2f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000ef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0ca0000000000000000000000000308861a430be4cce5502d0a12724771fc6daf216a00000000000000000000000000000000000000000000000000de0b6b3a7640000f89b9435fa164735182de50811e8e2e824cfb9b6118ac2f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000ef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0ca0000000000000000000000000308861a430be4cce5502d0a12724771fc6daf216a00000000000000000000000000000000000000000000000000000000000000000f89b9435fa164735182de50811e8e2e824cfb9b6118ac2f863a09d9c909296d9c674451c0c24f02cb64981eb3b727f99865939192f880a755dcba0000000000000000000000000ef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0ca00000000000000000000000007d5706f6ef3f89b3951e23e557cdfbc3239d4e2ca00000000000000000000000000000000000000000000000000d50cf06842e73b5f89b9435fa164735182de50811e8e2e824cfb9b6118ac2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0ca00000000000000000000000007d5706f6ef3f89b3951e23e557cdfbc3239d4e2ca00000000000000000000000000000000000000000000000000de0b6b3a7640000f89c947d5706f6ef3f89b3951e23e557cdfbc3239d4e2cf884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000ef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0ca00000000000000000000000000000000000000000000000000000000000005c1180f8db947d5706f6ef3f89b3951e23e557cdfbc3239d4e2cf842a052ec6b5a2ebc56de823b66702bbb52ae3c6c2859f806c7628c374f32147b5940a00000000000000000000000000000000000000000000000000000000000005c11b8800000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000d50cf06842e73b5000000000000000000000000ef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0c0000000000000000000000000000000000000000000000000000000000000000f8bb94308861a430be4cce5502d0a12724771fc6daf216f842a0b9da3f3df62c28aca604806cc6ee9678189d7591ef511a77bb040fa8361e9e02a0000000000000000000000000ef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0cb860000000000000000000000000ef7e4d6e29a2b6e9cc56dcdc9495160fc2588b0c0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000001","gas_used":160895}},{"traces":{"0xe397c4883ec89ed4fc9d258f00c689708b2799c9":{"code_usage":{"read":"0x256f1ba42dd2a4b715ad3b60a5de097806da7efb83b6eee708a21c8e698fbe7b"}},"0x7ac070f096c6e20931c3dc54f927446be232618b":{"code_usage":{"read":"0x0f92ed241c249832d9b960c98d1253445b186b52afc4bf7f18e7d71c0aa8b201"}},"0xe6b738da243e8fa2a0ed5915645789add5de5152":{"balance":"0x27c11b3d254cbd808a","storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000"],"code_usage":{"read":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000"}},"0x08c21b200ed06d2e32cec91a770c3fca8ad5f877":{"code_usage":{"read":"0xf66139fd23677b5188d82d6a3ae088099342164e68870362de370033fd46d2f4"}},"0x9a47f3289794e9bbc6a3c571f6d96ad4e7baed16":{"code_usage":{"read":"0xb6da44d88c7df9a1c9fd424c35801d60b9612909eff166f291fb6f0622f85d8a"}},"0xd9db270c1b5e3bd161e8c8503c55ceabee709552":{"code_usage":{"read":"0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e"}},"0x443a0b408611a2efbab2aafcac0cefb1a0786995":{"balance":"0xd92d3d2666e05","nonce":"0xc2"},"0x0439e60f02a8900a951603950d8d4527f400c3f1":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x935fe1a0fa571149f5ad2de585740ae19090b7f12c5a733cf380d4d223cf413b","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xd970e18227cfdbd1b5e238117adfcd02d45df280dac1caf154840463c41c05ee"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834288b0ffb66006"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24396dd598af1ff53935a","storage_read":["0xcc2e8e5cd534eb5e35dabd4cb4b69550879b28082441ee3da8b83455b07b7046"],"storage_written":{"0xcc2e8e5cd534eb5e35dabd4cb4b69550879b28082441ee3da8b83455b07b7046":"0x189ccd8835de6ff99"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000065","0x000000000000000000000000000000000000000000000000000000000000086b","0x61c8bd314590c1907804fdf2dbe6532dd3f874bea139594001b8dbdb7f891921"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000086b":"0x15c6f900000e10c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","0x0000000000000000000000000000000000000000000000000000000000000065":"0x1"},"code_usage":{"read":"0x932cddc50793da935ccf915651ad67f6b746e9936fcc5614f0ff492563782c75"}}},"meta":{"byte_code":"0x02f9031b0181c18437ee5ae785023a9c943a83026182940439e60f02a8900a951603950d8d4527f400c3f188039bb49f599a0000b902a43ce33bff00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039bb49f599a000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000d6c6966694164617074657256320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000e397c4883ec89ed4fc9d258f00c689708b2799c9000000000000000000000000e397c4883ec89ed4fc9d258f00c689708b2799c900000000000000000000000000000000000000000000000000000000000021050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003939f85a2bcd000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000081519b6dd3000000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de5152000000000000000000000000000000000000000000000000000000000000006c5a39b10a62f6e7c2eec9742f443a0b408611a2efbab2aafcac0cefb1a078699500002105000062c8fe6133496687da63ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd00dfeeddeadbeef8932eb23bad9bddb5cf81426f78279a53c6c3b710000000000000000000000000000000000000000c001a08d87bf43fb02f8acdc83480ac399ebe9dbee5f8c0b61757d046a88bf16f91b6ca01107711a87914a7b7a18028a71c40290be8964b07be2dc4ab4dfb4a658fd54bb","new_txn_trie_node_byte":"0x02f9031b0181c18437ee5ae785023a9c943a83026182940439e60f02a8900a951603950d8d4527f400c3f188039bb49f599a0000b902a43ce33bff00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039bb49f599a000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000d6c6966694164617074657256320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c0000000000000000000000000e397c4883ec89ed4fc9d258f00c689708b2799c9000000000000000000000000e397c4883ec89ed4fc9d258f00c689708b2799c900000000000000000000000000000000000000000000000000000000000021050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003939f85a2bcd000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000081519b6dd3000000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de5152000000000000000000000000000000000000000000000000000000000000006c5a39b10a62f6e7c2eec9742f443a0b408611a2efbab2aafcac0cefb1a078699500002105000062c8fe6133496687da63ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd00dfeeddeadbeef8932eb23bad9bddb5cf81426f78279a53c6c3b710000000000000000000000000000000000000000c001a08d87bf43fb02f8acdc83480ac399ebe9dbee5f8c0b61757d046a88bf16f91b6ca01107711a87914a7b7a18028a71c40290be8964b07be2dc4ab4dfb4a658fd54bb","new_receipt_trie_node_byte":"0xb905f802f905f401837c2ba5b901000000000000000000000080000000000000200000000000000000000010000000000000008000000000000000000004040200000008000000000100000000000000000002000000200000010000000080000000000000100000000000800000000401000000000000000000000000200100010000220000000000000000000000000000080000004800000000000000000000000100000000000000002000000000000000000000000000004000000020000040000000000000400000040000000a0000a0000000000100000000000000000000000000002000810000000220000022200000000000000000800000000000000000000000440000000000000000f904e9f87a94e6b738da243e8fa2a0ed5915645789add5de5152f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da00000000000000000000000009a47f3289794e9bbc6a3c571f6d96ad4e7baed16a000000000000000000000000000000000000000000000000000081519b6dd3000f899949a47f3289794e9bbc6a3c571f6d96ad4e7baed16e1a06ded982279c8387ad8a63e73385031a3807c1862e633f06e09d11bcb6e282f60b8600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e6b738da243e8fa2a0ed5915645789add5de515200000000000000000000000000000000000000000000000000081519b6dd3000f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c5a000000000000000000000000000000000000000000000000003939f85a2bcd000f901fe945c7bcd6e7de5423a257d81b442095a1a6ced35c5f884a0a123dc29aebf7d0c3322c8eeb5b999e859f39937950ed31056532713d0de396fa00000000000000000000000000000000000000000000000000000000000002105a0000000000000000000000000000000000000000000000000000000000015c6f8a0000000000000000000000000e397c4883ec89ed4fc9d258f00c689708b2799c9b90160000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003939f85a2bcd0000000000000000000000000000000000000000000000000000393861007a0f556000000000000000000000000000000000000000000000000000000006687da6300000000000000000000000000000000000000000000000000000000ffffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000443a0b408611a2efbab2aafcac0cefb1a0786995000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000f85894e397c4883ec89ed4fc9d258f00c689708b2799c9e1a0e11352fef0e24c9902a94910b5ce929151ea227f4c68572aada8f2105c66c133a062f6e7c2eec9742f000000000000000000000000000000000000000000000000f8f9949a47f3289794e9bbc6a3c571f6d96ad4e7baed16e1a0831bac9533a2034226daa21109dbd4f887674f0fe4877e1a8b35b3ffe1bdce76b8c0000000000000000000000000443a0b408611a2efbab2aafcac0cefb1a0786995000000000000000000000000e397c4883ec89ed4fc9d258f00c689708b2799c900000000000000000000000000000000000000000000000000000000000021050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003939f85a2bcd000","gas_used":132981}},{"traces":{"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0xa70279681800407a7b61f4fb53997f43b107419ff8583bc38d65a6e13e0503ef","0xe9fcf3fa02c52be0f5a60dcb5202037f05e26baafe55ca6e5805d72b15d815f2"],"storage_written":{"0xe9fcf3fa02c52be0f5a60dcb5202037f05e26baafe55ca6e5805d72b15d815f2":"0x14492de15c6d5fcf2c0","0xa70279681800407a7b61f4fb53997f43b107419ff8583bc38d65a6e13e0503ef":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x966e4090c00561032af4310e81cf2d98a6637109":{"balance":"0xafa167c5bc34e","nonce":"0x2"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8342a3d477f3cba7"}},"meta":{"byte_code":"0x02f8b001018437ee5ae785023a9c943a82d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000ed53d5d4ad77ef44d4aabf2145854b827ed3b4a90000000000000000000000000000000000000000000000195b7959b388b80000c080a0b0c2e588f5219c09e84f31761ba76f1b9bf50a61dc3393905f90e86fbb3dc6f1a052cde96f496edf9b4f3ae1b0465e943b258b08e0c8004be527da0e816fb50ec4","new_txn_trie_node_byte":"0x02f8b001018437ee5ae785023a9c943a82d6939497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000ed53d5d4ad77ef44d4aabf2145854b827ed3b4a90000000000000000000000000000000000000000000000195b7959b388b80000c080a0b0c2e588f5219c09e84f31761ba76f1b9bf50a61dc3393905f90e86fbb3dc6f1a052cde96f496edf9b4f3ae1b0465e943b258b08e0c8004be527da0e816fb50ec4","new_receipt_trie_node_byte":"0xb901ab02f901a701837ca7dcb9010000000000000000000000000000000000000000000000100000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400010000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000200000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000966e4090c00561032af4310e81cf2d98a6637109a0000000000000000000000000ed53d5d4ad77ef44d4aabf2145854b827ed3b4a9a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8342d5adb61616a6"},"0xef16b8ad50da08b34d6ed2e63a4d509dbba00ff1":{"balance":"0xccca3942656f4e","nonce":"0x47e"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xd96c98747c51b800f53a20802cd5f8789e634201dd55a8536a2e5d23d8c1cc5e","0x10aa3a5c111e7274220fd1a21b753af3fdd909fa59e65ea60c1b318124246e27","0x0000000000000000000000000000000000000000000000000000000000000000","0xbf7c77634e019916efb72d235b6b72a2016d1280c845eeae33ab95fc9e8d79f9"],"storage_written":{"0x10aa3a5c111e7274220fd1a21b753af3fdd909fa59e65ea60c1b318124246e27":"0x2390f238","0xd96c98747c51b800f53a20802cd5f8789e634201dd55a8536a2e5d23d8c1cc5e":"0x0"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f8b30182047d8437ee5ae785023a9c943a8301740a94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000b65f4e43b9d78efb7c66b1a56c78aeebd525ebc8000000000000000000000000000000000000000000000000000000002390f238c001a027c81b0e805c14d066047fb75e47545dfd97b84c77a14d5581221d46e97ca3b8a0149a1f1260af545f736537affa469ce0c7f6a78f3d9609915a506e7a6d86efb7","new_txn_trie_node_byte":"0x02f8b30182047d8437ee5ae785023a9c943a8301740a94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000b65f4e43b9d78efb7c66b1a56c78aeebd525ebc8000000000000000000000000000000000000000000000000000000002390f238c001a027c81b0e805c14d066047fb75e47545dfd97b84c77a14d5581221d46e97ca3b8a0149a1f1260af545f736537affa469ce0c7f6a78f3d9609915a506e7a6d86efb7","new_receipt_trie_node_byte":"0xb901ab02f901a701837d8c05b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000200000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000080000000000000100000000000400000000000000080000000000000000000800000000000000000000000000002080000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ef16b8ad50da08b34d6ed2e63a4d509dbba00ff1a0000000000000000000000000b65f4e43b9d78efb7c66b1a56c78aeebd525ebc8a0000000000000000000000000000000000000000000000000000000002390f238","gas_used":58409}},{"traces":{"0x1258d60b224c0c5cd888d37bbf31aa5fcfb7e870":{"storage_written":{"0x3bd025f50ca58cba07c050dcb15abdbe37dd95fb58eb41e2c89b80c5562c0197":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xbb063ca69a07dbd99cb05b81afd3d97189d9282a4c7a6c8947ed95cbaf6dcb31"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8342fdfd3687ed0d"},"0xe4cd9213798aefb35d0e7cc85878a9fd0e8a1da7":{"balance":"0x24022695059ff6","nonce":"0x289"}},"meta":{"byte_code":"0x02f8b2018202888437ee5ae785023a9c943a82ba01941258d60b224c0c5cd888d37bbf31aa5fcfb7e87080b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a07f258247f5913351530d28c8e0774b68f44b1482e9cf6720e1866e8b996e8ed1a06b690b0dc47f321a16a16eaa9ef60d6c898276bd64f6180ec74966d383f03602","new_txn_trie_node_byte":"0x02f8b2018202888437ee5ae785023a9c943a82ba01941258d60b224c0c5cd888d37bbf31aa5fcfb7e87080b844095ea7b3000000000000000000000000881d40237659c251811cec9c364ef91dc08d300cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a07f258247f5913351530d28c8e0774b68f44b1482e9cf6720e1866e8b996e8ed1a06b690b0dc47f321a16a16eaa9ef60d6c898276bd64f6180ec74966d383f03602","new_receipt_trie_node_byte":"0xb901ab02f901a701837e4486b9010000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000200100000000000000000000080000000000000000000000000000000000000000000000000000000000080004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000002000000080000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000400000000000000000000f89df89b941258d60b224c0c5cd888d37bbf31aa5fcfb7e870f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000e4cd9213798aefb35d0e7cc85878a9fd0e8a1da7a0000000000000000000000000881d40237659c251811cec9c364ef91dc08d300ca0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":47233}},{"traces":{"0x5d8574565e10b4866b0ac54e541cf1aeababa98b":{"balance":"0x887d2f911a24","nonce":"0x11"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83430fe94f18c245"},"0xaa52873e14a2fa71140c966df0ad9024f26f0f7e":{"balance":"0x206345d08b2c40"}},"meta":{"byte_code":"0x02f87201108437ee5ae785023a9c943a827b0c94aa52873e14a2fa71140c966df0ad9024f26f0f7e87205466db74c00080c080a0a541f46cf1a8dd10cf60c847ab2ff633a810d37d355204edcc41fb2570596266a00bd15b723c25a7d029f0852507a1bae21afd862804c09653d0d6715fb56215b2","new_txn_trie_node_byte":"0x02f87201108437ee5ae785023a9c943a827b0c94aa52873e14a2fa71140c966df0ad9024f26f0f7e87205466db74c00080c080a0a541f46cf1a8dd10cf60c847ab2ff633a810d37d355204edcc41fb2570596266a00bd15b723c25a7d029f0852507a1bae21afd862804c09653d0d6715fb56215b2","new_receipt_trie_node_byte":"0xb9010d02f9010901837e968eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x55c08ca52497e2f1534b59e2917bf524d4765257":{"storage_written":{"0x3e562d8da206887dd216901a9a799e52f3d28b0b78e6d3eebb16336185757abe":"0x340a26d9952745e49df"},"code_usage":{"read":"0xf9cf28c011193329c1e52c3c470c480fa1c708fec261342ab67cf3b5c321436a"}},"0x539026081e9e9b45d5f7cdeabc5469e5c1fb7d6c":{"balance":"0x5e7f2ed1ff8a9f07","nonce":"0x12f"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834328ce648aa7a3"}},"meta":{"byte_code":"0x02f8b20182012e8437ee5ae785023a9c943a82734f9455c08ca52497e2f1534b59e2917bf524d476525780b844095ea7b30000000000000000000000004ca9c6f89758877b78a44e57fd8feb89b4c42b8c000000000000000000000000000000000000000000000340a26d9952745e49dfc001a0e2b57ca03d771bf4a5871f3abfdd95c5534b694dbf8d556bb971170136ed996aa0499848a32e23675bf622a4e885f35a16674ae3c8252db2fcde8bf15ff56de7c1","new_txn_trie_node_byte":"0x02f8b20182012e8437ee5ae785023a9c943a82734f9455c08ca52497e2f1534b59e2917bf524d476525780b844095ea7b30000000000000000000000004ca9c6f89758877b78a44e57fd8feb89b4c42b8c000000000000000000000000000000000000000000000340a26d9952745e49dfc001a0e2b57ca03d771bf4a5871f3abfdd95c5534b694dbf8d556bb971170136ed996aa0499848a32e23675bf622a4e885f35a16674ae3c8252db2fcde8bf15ff56de7c1","new_receipt_trie_node_byte":"0xb901ab02f901a701837f0880b9010000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000081000000000000000400000000000000000000000000000000000080000002000000000000020000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000000000000000000000000000000000000000010000000000000000010000000000000000000000000000000000000000000f89df89b9455c08ca52497e2f1534b59e2917bf524d4765257f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000539026081e9e9b45d5f7cdeabc5469e5c1fb7d6ca00000000000000000000000004ca9c6f89758877b78a44e57fd8feb89b4c42b8ca0000000000000000000000000000000000000000000000340a26d9952745e49df","gas_used":29170}},{"traces":{"0xc5d0d51cd5bc0dd2c6af639854aeb7a4a3ad147c":{"balance":"0x4af927e369e3","nonce":"0x1"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0xcad9d3912bbaa525d33eae7d13a90af00d594ce4f2ee24f66078900a111df4e0"],"storage_written":{"0xcad9d3912bbaa525d33eae7d13a90af00d594ce4f2ee24f66078900a111df4e0":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834348ac7a490de9"}},"meta":{"byte_code":"0x02f8b00180843b9aca008501bcf0124182ea2494dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b3000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0ceb420596fd7e24a490a54c1aa74a0b88cbf69263edd70523bb886fed7dcb718a065dcecd15191228a91dcf2a2db59616bdd78d4ae43d43d7d3c9d6d6d5298ee0b","new_txn_trie_node_byte":"0x02f8b00180843b9aca008501bcf0124182ea2494dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b3000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0ceb420596fd7e24a490a54c1aa74a0b88cbf69263edd70523bb886fed7dcb718a065dcecd15191228a91dcf2a2db59616bdd78d4ae43d43d7d3c9d6d6d5298ee0b","new_receipt_trie_node_byte":"0xb901ab02f901a701837fc781b9010000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000000010000000000000000000000000000200000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100000020000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c5d0d51cd5bc0dd2c6af639854aeb7a4a3ad147ca0000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94ea0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":48897}},{"traces":{"0x8a7d6f313a0a7a0e8e4b65ab0921ba597ec81977":{"balance":"0x4af927e369e3","nonce":"0x1"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0xe87aed111874ec23134ce21a934d7f108cbd371883f4646b58cb8f7a54463786"],"storage_written":{"0xe87aed111874ec23134ce21a934d7f108cbd371883f4646b58cb8f7a54463786":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8343688a9007742f"}},"meta":{"byte_code":"0x02f8b00180843b9aca008501bcf0124182ea2494dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b3000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a031697795efa93d6118bfd2c45821409aeaa3a30549c18a42bb907d94b107c150a01b22d2eb8a819bfef6c83e1e3dfcb69dd5bf4314f95e85ac76c7e79033dfd18d","new_txn_trie_node_byte":"0x02f8b00180843b9aca008501bcf0124182ea2494dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b3000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a031697795efa93d6118bfd2c45821409aeaa3a30549c18a42bb907d94b107c150a01b22d2eb8a819bfef6c83e1e3dfcb69dd5bf4314f95e85ac76c7e79033dfd18d","new_receipt_trie_node_byte":"0xb901ab02f901a70183808682b9010000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000020000100000020000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002090000000000000000000000000000010000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000008a7d6f313a0a7a0e8e4b65ab0921ba597ec81977a0000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94ea0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":48897}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0xe607461aa7b755f1a1a7fb2192bc91b13c0453005c5f9d17014d4119dd3e442f"],"storage_written":{"0xe607461aa7b755f1a1a7fb2192bc91b13c0453005c5f9d17014d4119dd3e442f":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0xd464b08ec44a3917e3af5c4bbb867a563990bfbc":{"balance":"0x4af927e369e3","nonce":"0x1"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83438868a5c5da75"}},"meta":{"byte_code":"0x02f8af0180843b9aca008501bcf0124182ea2494dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b3000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0152da3d817c1ade11642d2fb2677c1e7418ab8e133a25687352d7acacd67769d9fc4ff111b1c03901f13aa0044c3ec739927fbe05e3400c1a71f6dae5d7dee6b","new_txn_trie_node_byte":"0x02f8af0180843b9aca008501bcf0124182ea2494dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b3000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc080a0152da3d817c1ade11642d2fb2677c1e7418ab8e133a25687352d7acacd67769d9fc4ff111b1c03901f13aa0044c3ec739927fbe05e3400c1a71f6dae5d7dee6b","new_receipt_trie_node_byte":"0xb901ab02f901a70183814583b9010000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000100000020000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040002090000000000000000000000000000000000000000000000000010000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000d464b08ec44a3917e3af5c4bbb867a563990bfbca0000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94ea0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":48897}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8343a846bb8440bb"},"0x7e6860d340d1d35706142bb101b566eca71e39a7":{"balance":"0x4af927e369e3","nonce":"0x1"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0xaa73ce61d1df7bb039662b6f08b89483aa91bde198b6a66bc842c5cdfbf125b3"],"storage_written":{"0xaa73ce61d1df7bb039662b6f08b89483aa91bde198b6a66bc842c5cdfbf125b3":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f8b00180843b9aca008501bcf0124182ea2494dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b3000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a017d56b9e0503a8043b5dbda97a19846334b3df673bcdb3e490b1d076af9e3e06a03a1b7d003bf817242ab62259e769163af87339d2ff7272cba04621dadd64faf8","new_txn_trie_node_byte":"0x02f8b00180843b9aca008501bcf0124182ea2494dac17f958d2ee523a2206206994597c13d831ec780b844095ea7b3000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a017d56b9e0503a8043b5dbda97a19846334b3df673bcdb3e490b1d076af9e3e06a03a1b7d003bf817242ab62259e769163af87339d2ff7272cba04621dadd64faf8","new_receipt_trie_node_byte":"0xb901ab02f901a70183820484b9010000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000100000020000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001002090000000000000004000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000007e6860d340d1d35706142bb101b566eca71e39a7a0000000000000000000000000a152f8bb749c55e9943a3a0a3111d18ee2b3f94ea0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","gas_used":48897}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x25947e752aaef1fa9baee7862d3ea393dfeb6f4cd84f4fc7d65f545f44858888","0x0d67d0e1b6fa56f9db64a48d8be7f272a055bf5fa9e497abcdb72f869c4f022b","0x0000000000000000000000000000000000000000000000000000000000000000","0xdb2d60622f66bd6ca3f9bc9c0dc6c4cc4b2440307c747c5ffa4364201a0f4749","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x25947e752aaef1fa9baee7862d3ea393dfeb6f4cd84f4fc7d65f545f44858888":"0x0","0x0d67d0e1b6fa56f9db64a48d8be7f272a055bf5fa9e497abcdb72f869c4f022b":"0x19a14780"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0xc39ba02f6a0921ee1d063b0893d47a387a05ba88":{"balance":"0x19024aa071d9e","nonce":"0x1"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8343cb5777672d3c"}},"meta":{"byte_code":"0xf8aa808501b991f6948301426f94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000001f706241be510b36b0f8b65f6a4ae097744285ad0000000000000000000000000000000000000000000000000000000019a1478026a00ce6ffd3b35f4650c81b17652c4a4c994e3d7b83e921b6a9c565bc2457f9e3aaa003f079ed52dc16fc8f624a3613ca7b73b2d9676673aec40b0cba3b1448433b00","new_txn_trie_node_byte":"0xf8aa808501b991f6948301426f94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000001f706241be510b36b0f8b65f6a4ae097744285ad0000000000000000000000000000000000000000000000000000000019a1478026a00ce6ffd3b35f4650c81b17652c4a4c994e3d7b83e921b6a9c565bc2457f9e3aaa003f079ed52dc16fc8f624a3613ca7b73b2d9676673aec40b0cba3b1448433b00","new_receipt_trie_node_byte":"0xf901a7018382e8adb9010000080000004000000000000000000000000000000000000000000000000000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000008000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000400000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c39ba02f6a0921ee1d063b0893d47a387a05ba88a00000000000000000000000001f706241be510b36b0f8b65f6a4ae097744285ada00000000000000000000000000000000000000000000000000000000019a14780","gas_used":58409}},{"traces":{"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x399b59593247d2dc93409dd87a535c324b4b1159":{"balance":"0x1fd85922876cfa","nonce":"0x8"},"0x92e929d8b2c8430bcaf4cd87654789578bb2b786":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x1"},"code_usage":{"read":"0x1a40a823c7fefdeb8aba636d331098d3864f4795a1018cc10615a885aca8a56a"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83445d8c6c2ff7c8"},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0xcaade27efd2984da7d1fbe4e8770948322f32faed4422af6e2a0d655e15dda4d","0xeec467d3d06b602a07816f1b455663b3c9678670f2de389e2f2df99df2a32e49","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0c12c5d04f66320a06fba1fd68bdf4cbcc750e98c3f0c65ca2ca5259bc71ef3a","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0xeec467d3d06b602a07816f1b455663b3c9678670f2de389e2f2df99df2a32e49":"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffdabf41bff","0xcaade27efd2984da7d1fbe4e8770948322f32faed4422af6e2a0d655e15dda4d":"0x0","0x0c12c5d04f66320a06fba1fd68bdf4cbcc750e98c3f0c65ca2ca5259bc71ef3a":"0xa712641a3"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}}},"meta":{"byte_code":"0x02f901b20107849601a7838503127a8c878301af949492e929d8b2c8430bcaf4cd87654789578bb2b78680b901449ddf93bb000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000218711a0000000000000000000000000000000000000000000000041d22e7098505ca300000000000000000000000000000000000000000000000000000000000000000154d41544943284d41544943297c69763331797a7c310000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30783339396235393539333234374432646339333430396444383761353335433332344234623131353900000000000000000000000000000000000000000000c080a071ca0164a41f85809d4ce91051cd6d1e8537b182649caaa3dfa72a6d923fa79fa048c0ea2766ddd1d03a9f1fd56801dd86f435f3a7acf6ece9770699050781461e","new_txn_trie_node_byte":"0x02f901b20107849601a7838503127a8c878301af949492e929d8b2c8430bcaf4cd87654789578bb2b78680b901449ddf93bb000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000218711a0000000000000000000000000000000000000000000000041d22e7098505ca300000000000000000000000000000000000000000000000000000000000000000154d41544943284d41544943297c69763331797a7c310000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30783339396235393539333234374432646339333430396444383761353335433332344234623131353900000000000000000000000000000000000000000000c080a071ca0164a41f85809d4ce91051cd6d1e8537b182649caaa3dfa72a6d923fa79fa048c0ea2766ddd1d03a9f1fd56801dd86f435f3a7acf6ece9770699050781461e","new_receipt_trie_node_byte":"0xb9034902f90345018383e231b9010080000000000000000000000000000000000000000020000000000000000000000000000000000000000000000200000000000000000000000000000000000000000100000000000008000008000000000080000000000000000000000000004000000000000000000000000000000000000000001000000000000010000040000000000000000000000000000000000800000000010000000000000000000000000000000000200000000000000000000000000000040000000000001000000000400002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f9023af89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000399b59593247d2dc93409dd87a535c324b4b1159a000000000000000000000000092e929d8b2c8430bcaf4cd87654789578bb2b786a00000000000000000000000000000000000000000000000000000000218711a00f9019a9492e929d8b2c8430bcaf4cd87654789578bb2b786e1a045f377f845e1cc76ae2c08f990e15d58bcb732db46f92a4852b956580c3a162fb90160000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000399b59593247d2dc93409dd87a535c324b4b115900000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000218711a0000000000000000000000000000000000000000000000041d22e7098505ca300000000000000000000000000000000000000000000000000000000000000000154d41544943284d41544943297c69763331797a7c310000000000000000000000000000000000000000000000000000000000000000000000000000000000002a30783339396235393539333234374432646339333430396444383761353335433332344234623131353900000000000000000000000000000000000000000000","gas_used":63876}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83448c84b9b56b60"},"0x411de17f12d1a34ecc7f45f49844626267c75e81":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002"],"code_usage":{"read":"0xcc89ee11ac70173a91e916d1aa3413740c95df806eac3ef64f134ebb69415a56"}},"0x8b63b3de93431c0f756a493644d128134291fa1b":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009"],"code_usage":{"read":"0x5d884ec105c7265763b49cc6bdc63668b0ebc5574191bff1c4a6cdbfe613f23c"}},"0x8c9b2efb7c64c394119270bfece7f54763b958ad":{"storage_read":["0x8f34f1e96471f2c4d2f74b769a57dc92f6f48bbb5a536d2fd72526d1504b35ba","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x3eb49b9e75093cfb77abaf16410b95be9828a1167df6c208ebaccc02893e0ffc":"0x6687db3b0000000000000000000000000000000000000000000000197fae9be1"},"code_usage":{"read":"0x7fba7fd603866f692fcffb9b17520505d8b0274960835c3d4a1921c77176a23e"}},"0x6a985273db73f21d6a74ee9f76725112819bd950":{"balance":"0x9c25657bbf02608","nonce":"0x3534"},"0x0000000000000000000000000000000000000001":{},"0x31f6ab382ddeb9a316ab61c3945a5292a50a89ab":{"storage_read":["0xde33ad598173fc97d59f29771028797e9ca9cdb6705d3e39286e0168f9580b78","0x30d97d46662995cce80fcf2474a62c023c053989b27071d347e2544a0ac09a3e","0x4d9bd78d97437fa4950049d809f36da9f79d4eeda469d9abd87a43c03ee7cc1d","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000003","0xc15137dc07dd2b289b4efe71c4d8fd39a09b00af82f81a9b51c7dc4c83623fbb","0x0000000000000000000000000000000000000000000000000000000000000007","0xa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c696","0x534ddf84e1a141a8e6807a4dedb0d28554ffdd1e487616b430438b4ebf25f680","0xa84ee1c4ffe4e62ff11503fbd37b6c4272a892b99708a5f9913b7f136c4eaef8","0x3ed9d1bd0776562329fc6ab2a8083c036fb77453177e421f717d562f27f3ddcf","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000002"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0x2b370300000000000003e0"},"code_usage":{"read":"0x9ae3f4f0a552a44998d190877038ab61bb5b81c48a36c18c70ed23e3c97fa248"}}},"meta":{"byte_code":"0x02f9049401823533843c9455708501ac026f05837a12009431f6ab382ddeb9a316ab61c3945a5292a50a89ab80b90424b1dc65a40001a5fb364dc20180c6b3dd2e3ce85a349ddac175a17e46dc3cd325153736be00000000000000000000000000000000000000000000000000000000002b37036c6eb8576e8c23353e11953a5569f5331f137160f9286b1a2e4b39036817ae1d00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000034001000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000475f3a7c1964d249000000000000000000000000000000000000000000000000000000197fae9be1000000000000000000000000000000000000000000000000000000000000000648897f0520b159deb289a36e6adbe1b6cfe6afbbdc57814b6850ce13196b7d59b536dd2b4861d723986c6a8b009b5e8f4c8da0f58930e8788756a790c6ad0b53fa55fc6420d5050064ba2f39f620188f33043823ab39d6cac44ff7e37fc843f5f45b93acff4b8e4166ed81fed6b7d05d76483e2b40a3afe863e96870fbe4a71ca713881f90d4992b447efed1745ef5eb80a9ca8c9eeb90338438b396119ee7077dc71af1fada09108a936be246a16102f605b7decda09f94e9fd4d87d79b7cc800000000000000000000000000000000000000000000000000000000000000066edff0d832e3bbf149c1866bcd8d4f9739633887a17a1ea17efeaae94ebf3f2b6b50e0a5eb1c459e9c16c5c0a669b4ff91881b69135aa807ba3c290cb51a146b4100001728dc1b053615a17c991a9f064f3c782fd1272b7b15d19b072b66a3d97f7af39473f4f4316e6a02b1bfd19641a540c3dfcaa29bdaef01cfb51abba26a26c91ecdd2a6e2ffa633ce501626fa98ac65f78b30efeff333e16423d60c7a1b62a967904e4653f2b7bf5660b0313ce1a359a8b1ca8def1310ac99aab41d7217c080a0766b07af73264945448a8c540c84c58ec4abe7f1c43cd4c9f6fd58e81df4f961a0037e39e85e8eaca51d7baf21c122522b5473e54f8d7bbda0a6d52b74da48e064","new_txn_trie_node_byte":"0x02f9049401823533843c9455708501ac026f05837a12009431f6ab382ddeb9a316ab61c3945a5292a50a89ab80b90424b1dc65a40001a5fb364dc20180c6b3dd2e3ce85a349ddac175a17e46dc3cd325153736be00000000000000000000000000000000000000000000000000000000002b37036c6eb8576e8c23353e11953a5569f5331f137160f9286b1a2e4b39036817ae1d00000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000034001000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000475f3a7c1964d249000000000000000000000000000000000000000000000000000000197fae9be1000000000000000000000000000000000000000000000000000000000000000648897f0520b159deb289a36e6adbe1b6cfe6afbbdc57814b6850ce13196b7d59b536dd2b4861d723986c6a8b009b5e8f4c8da0f58930e8788756a790c6ad0b53fa55fc6420d5050064ba2f39f620188f33043823ab39d6cac44ff7e37fc843f5f45b93acff4b8e4166ed81fed6b7d05d76483e2b40a3afe863e96870fbe4a71ca713881f90d4992b447efed1745ef5eb80a9ca8c9eeb90338438b396119ee7077dc71af1fada09108a936be246a16102f605b7decda09f94e9fd4d87d79b7cc800000000000000000000000000000000000000000000000000000000000000066edff0d832e3bbf149c1866bcd8d4f9739633887a17a1ea17efeaae94ebf3f2b6b50e0a5eb1c459e9c16c5c0a669b4ff91881b69135aa807ba3c290cb51a146b4100001728dc1b053615a17c991a9f064f3c782fd1272b7b15d19b072b66a3d97f7af39473f4f4316e6a02b1bfd19641a540c3dfcaa29bdaef01cfb51abba26a26c91ecdd2a6e2ffa633ce501626fa98ac65f78b30efeff333e16423d60c7a1b62a967904e4653f2b7bf5660b0313ce1a359a8b1ca8def1310ac99aab41d7217c080a0766b07af73264945448a8c540c84c58ec4abe7f1c43cd4c9f6fd58e81df4f961a0037e39e85e8eaca51d7baf21c122522b5473e54f8d7bbda0a6d52b74da48e064","new_receipt_trie_node_byte":"0xb9022702f90223018385b48db9010000000000000000000000000000300000000102000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200200000000000000000000000000000000000000000500000000000000000000000000000000000000000000004000000000000000000000000100000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000400000000000000000000000000000000000000010000000000000000000000000000000000f90118f89b948c9b2efb7c64c394119270bfece7f54763b958adf842a0dd84a3fa9ef9409f550d54d6affec7e9c480c878c6ab27b78912a03e1b371c6ea0000000000000000000000000000000000000000000000000475f3a7c1964d249b840000000000000000000000000000000000000000000000000000000197fae9be1000000000000000000000000000000000000000000000000000000006687db3bf8799431f6ab382ddeb9a316ab61c3945a5292a50a89abe1a0b04e63db38c49950639fa09d29872f21f5d49d614f3a969d8adf3d4b52e41a62b8400001a5fb364dc20180c6b3dd2e3ce85a349ddac175a17e46dc3cd325153736be0000000000000000000000000000000000000000000000000000000000002b37","gas_used":119388}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x6945806c4d8be8875501d6ae87f5c4b9b74545a109810dd27c0b0ae604b64be6","0xa0792aff6148a3f4f528f236857989ef699d426ca14bf6f2116eab30c342d3d9","0xf762dfe765e313d39f5dd6e34e29a9ef0af51578e67f7f482bb4f8efd984976b"],"storage_written":{"0x6945806c4d8be8875501d6ae87f5c4b9b74545a109810dd27c0b0ae604b64be6":"0xb7b29599bc52881","0xa0792aff6148a3f4f528f236857989ef699d426ca14bf6f2116eab30c342d3d9":"0x65a4265ecabe95439","0xf762dfe765e313d39f5dd6e34e29a9ef0af51578e67f7f482bb4f8efd984976b":"0x331446a44f5ba6b7e2"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x6b175474e89094c44da98b954eedeac495271d0f":{"storage_read":["0xd796a0a7dad74b169b00922b28b102a5b607b7a71f1f8749a95d6b27f351fa8c","0x995f3b129dd3291868ddb9cf202c75cd985227d50e309847fbab0f8da403b19c"],"storage_written":{"0x995f3b129dd3291868ddb9cf202c75cd985227d50e309847fbab0f8da403b19c":"0x1261ef0622313eb3d3580","0xd796a0a7dad74b169b00922b28b102a5b607b7a71f1f8749a95d6b27f351fa8c":"0x1a2d92465be88ef6b2"},"code_usage":{"read":"0x4e36f96ee1667a663dfaac57c4d185a0e369a3a217e0079d49620f34f85d1ac7"}},"0x3927fb89f34bbee63351a6340558eebf51a19fb8":{"storage_read":["0x6581f40612bdfeff1fc7e024f2d4fb0d8ca9ad109b4dd13bf17e6ff1306ab9aa","0x7462ac6f29a3a8bf799fb76a7136b25f3163a3d1ad6c65e8e7cfe3d00fa146fb","0xd13476813b99b0de93901da9d8b1625d7021304a0ad8d49e22c476fed7483057","0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000012","0x10d44b0bde62a9d490a5edd1503dfcf0ded66a4c66ee606adc14b078d0bd18fd","0x166197492d1e5f4ede4fe5a3bae992b43e273c5dd2c8314b5452a5ba38c446cb","0x37437be2e2ee09d8cae6237d7f6c8ef17ed5c62a6541b1c64619cdc5acdbcd5c","0x75d6b601dfe1221e2b82174deffe01373f1d82d2a4c7b0f6a0e1a0efe25ad7ae","0xf236804949d526aafe0c8511209e95d7532929b3614e64bab541d3e5281952da","0x000000000000000000000000000000000000000000000000000000000000000b","0x000000000000000000000000000000000000000000000000000000000000001a"],"storage_written":{"0x6581f40612bdfeff1fc7e024f2d4fb0d8ca9ad109b4dd13bf17e6ff1306ab9aa":"0x151cded4945ffc5129f80e","0xd13476813b99b0de93901da9d8b1625d7021304a0ad8d49e22c476fed7483057":"0x2932acceb028945911192"},"code_usage":{"read":"0x705672ef10a87dcd2807d2a8c1170da89be62145534cc4d4574316c02c940279"}},"0x507888e987257a8dde6f8afa46375cefe2cbf504":{"code_usage":{"read":"0x973557f11b4ee84d4161ae6bba6a7041424f9859b1e2f8966b4a0b27db3b09dc"}},"0x60594a405d53811d3bc4766596efd80fd545a270":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000003a","0x000000000000000000000000000000000000000000000000000000000000003b","0x0d190fc5d3ec8c2cdab9f50db5100a3713fe91b91a02f95d6d19b71ca86e0166","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x10000b400b40033fec7f2000000000000000004b776473e5596d909db0be5","0x0000000000000000000000000000000000000000000000000000000000000002":"0x1387979a6263e1b7345ee0ec554c236","0x000000000000000000000000000000000000000000000000000000000000003b":"0x100000000000000000004b9d2de0e388cffce2f5bfff8feaabf486a6687db3b"},"code_usage":{"read":"0xc546a2e65ed3df8cdb0f17e6ca6e4508f8a257c3d2f73d98e3c9092aa45a5086"}},"0x29c82c693cd06c1f2778185e16ccd4de64e395cc":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0xe12f7edcc5518643cd0f785b8bfa0","0x000000000000000000000000000000000000000000000000000000000000000a":"0x4a5e122df5a905d109aa563eb774c5450c0fb38","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b0000000000065a4265ecabe95439000000151cded4945ffc5129f80e","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x0671e648b0735fc4d839469181cddf3dde4e6743":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004","0x3c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744ee","0x63187d71e139eee983a88d0737447c7451979b3dbb75903c76b5fe430d36588e","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000008","0x3c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744ed","0x3c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744ef","0x3c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744f0"],"storage_written":{"0x3c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744f0":"0x16687db3b00007cd400000000000000000000000000000000ffffffad2111f0","0x3c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744ef":"0x0","0x0000000000000000000000000000000000000000000000000000000000000008":"0x100007cd400000000000000000000000000000000ffffffad2111f06687db3b","0x0000000000000000000000000000000000000000000000000000000000000002":"0xe14d6953a1669b7111d6240afd07","0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000ff575f00000000000000001d92af50dbeb34135f91347f","0x3c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744ee":"0x0","0x0000000000000000000000000000000000000000000000000000000000000004":"0x4c258b09f308eb0580c8"},"code_usage":{"read":"0x09384752cc050821c2d920f47757b4d99099082837d655b27361b61feae6fcf5"}},"0x678111a6ca5749f1744b5e080a855cec8d631e20":{"balance":"0x213faab3332d2c6a","nonce":"0x8ec8"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8344fc6ada06098b"}},"meta":{"byte_code":"0x01f9067001828ec78501ab1bd4668306beea94507888e987257a8dde6f8afa46375cefe2cbf50480b863a50671e648b0735fc4d839469181cddf3dde4e67430000000007acaa49961a0ec3e54d0047085f17cebf8cdc29c82c693cd06c1f2778185e16ccd4de64e395cc2a60594a405d53811d3bc4766596efd80fd545a270000000000000024e3554eabd5641f905a1f90162940671e648b0735fc4d839469181cddf3dde4e6743f9014aa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000008a03c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744eda03c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744eea03c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744efa03c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744f0a063187d71e139eee983a88d0737447c7451979b3dbb75903c76b5fe430d36588ef8dd9429c82c693cd06c1f2778185e16ccd4de64e395ccf8c6a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000000000000000000000000000000000000000000cf901a4943927fb89f34bbee63351a6340558eebf51a19fb8f9018ca0000000000000000000000000000000000000000000000000000000000000000ba0000000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000012a0000000000000000000000000000000000000000000000000000000000000001aa010d44b0bde62a9d490a5edd1503dfcf0ded66a4c66ee606adc14b078d0bd18fda0166197492d1e5f4ede4fe5a3bae992b43e273c5dd2c8314b5452a5ba38c446cba037437be2e2ee09d8cae6237d7f6c8ef17ed5c62a6541b1c64619cdc5acdbcd5ca06581f40612bdfeff1fc7e024f2d4fb0d8ca9ad109b4dd13bf17e6ff1306ab9aaa07462ac6f29a3a8bf799fb76a7136b25f3163a3d1ad6c65e8e7cfe3d00fa146fba075d6b601dfe1221e2b82174deffe01373f1d82d2a4c7b0f6a0e1a0efe25ad7aea0d13476813b99b0de93901da9d8b1625d7021304a0ad8d49e22c476fed7483057a0f236804949d526aafe0c8511209e95d7532929b3614e64bab541d3e5281952daf8dd9460594a405d53811d3bc4766596efd80fd545a270f8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000003aa0000000000000000000000000000000000000000000000000000000000000003ba00d190fc5d3ec8c2cdab9f50db5100a3713fe91b91a02f95d6d19b71ca86e0166f859946b175474e89094c44da98b954eedeac495271d0ff842a0995f3b129dd3291868ddb9cf202c75cd985227d50e309847fbab0f8da403b19ca0d796a0a7dad74b169b00922b28b102a5b607b7a71f1f8749a95d6b27f351fa8cf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a06945806c4d8be8875501d6ae87f5c4b9b74545a109810dd27c0b0ae604b64be6a0a0792aff6148a3f4f528f236857989ef699d426ca14bf6f2116eab30c342d3d9a0f762dfe765e313d39f5dd6e34e29a9ef0af51578e67f7f482bb4f8efd984976b80a09676515f4ba1f5b0b6e2a520b5f3e7cfc16240c08579c8a25323cc95fc174e0aa05fe4758e5358a7ac0884c81f52806cd0d765748bdce84bb181a7ca1457e75c6c","new_txn_trie_node_byte":"0x01f9067001828ec78501ab1bd4668306beea94507888e987257a8dde6f8afa46375cefe2cbf50480b863a50671e648b0735fc4d839469181cddf3dde4e67430000000007acaa49961a0ec3e54d0047085f17cebf8cdc29c82c693cd06c1f2778185e16ccd4de64e395cc2a60594a405d53811d3bc4766596efd80fd545a270000000000000024e3554eabd5641f905a1f90162940671e648b0735fc4d839469181cddf3dde4e6743f9014aa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000008a03c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744eda03c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744eea03c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744efa03c4cf9c63d47d18f0a83dc90ceb5fd87e60f81a67aafaf5609f450c921e744f0a063187d71e139eee983a88d0737447c7451979b3dbb75903c76b5fe430d36588ef8dd9429c82c693cd06c1f2778185e16ccd4de64e395ccf8c6a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000000000000000000000000000000000000000000cf901a4943927fb89f34bbee63351a6340558eebf51a19fb8f9018ca0000000000000000000000000000000000000000000000000000000000000000ba0000000000000000000000000000000000000000000000000000000000000000fa00000000000000000000000000000000000000000000000000000000000000012a0000000000000000000000000000000000000000000000000000000000000001aa010d44b0bde62a9d490a5edd1503dfcf0ded66a4c66ee606adc14b078d0bd18fda0166197492d1e5f4ede4fe5a3bae992b43e273c5dd2c8314b5452a5ba38c446cba037437be2e2ee09d8cae6237d7f6c8ef17ed5c62a6541b1c64619cdc5acdbcd5ca06581f40612bdfeff1fc7e024f2d4fb0d8ca9ad109b4dd13bf17e6ff1306ab9aaa07462ac6f29a3a8bf799fb76a7136b25f3163a3d1ad6c65e8e7cfe3d00fa146fba075d6b601dfe1221e2b82174deffe01373f1d82d2a4c7b0f6a0e1a0efe25ad7aea0d13476813b99b0de93901da9d8b1625d7021304a0ad8d49e22c476fed7483057a0f236804949d526aafe0c8511209e95d7532929b3614e64bab541d3e5281952daf8dd9460594a405d53811d3bc4766596efd80fd545a270f8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000004a0000000000000000000000000000000000000000000000000000000000000003aa0000000000000000000000000000000000000000000000000000000000000003ba00d190fc5d3ec8c2cdab9f50db5100a3713fe91b91a02f95d6d19b71ca86e0166f859946b175474e89094c44da98b954eedeac495271d0ff842a0995f3b129dd3291868ddb9cf202c75cd985227d50e309847fbab0f8da403b19ca0d796a0a7dad74b169b00922b28b102a5b607b7a71f1f8749a95d6b27f351fa8cf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a06945806c4d8be8875501d6ae87f5c4b9b74545a109810dd27c0b0ae604b64be6a0a0792aff6148a3f4f528f236857989ef699d426ca14bf6f2116eab30c342d3d9a0f762dfe765e313d39f5dd6e34e29a9ef0af51578e67f7f482bb4f8efd984976b80a09676515f4ba1f5b0b6e2a520b5f3e7cfc16240c08579c8a25323cc95fc174e0aa05fe4758e5358a7ac0884c81f52806cd0d765748bdce84bb181a7ca1457e75c6c","new_receipt_trie_node_byte":"0xb9073a01f9073601838a33ceb90100002000000002002000000000a0000000000000000000000000000040000000000000000000000000000800000001000002000000080020000000000000000000000040000000000800000008000000200000000000100000000000000000800010000000000000000000080002000000000000000000002000000010080800000000000000004000000000000000000000000000080000080000004000000000200000000000000000000000000000000000080000200000000000000000000000000002000000020000000010000000000002000000001000000000800000004000200000000000000800000000000000000000000000000000010000000000f9062bf89b943927fb89f34bbee63351a6340558eebf51a19fb8f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000671e648b0735fc4d839469181cddf3dde4e6743a000000000000000000000000029c82c693cd06c1f2778185e16ccd4de64e395cca00000000000000000000000000000000000000000000007acaa49961a0ec3e54df89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000029c82c693cd06c1f2778185e16ccd4de64e395cca0000000000000000000000000507888e987257a8dde6f8afa46375cefe2cbf504a0000000000000000000000000000000000000000000000000024e3554eabd5641f8799429c82c693cd06c1f2778185e16ccd4de64e395cce1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000151cded4945ffc5129f80e0000000000000000000000000000000000000000000000065a4265ecabe95439f8fc9429c82c693cd06c1f2778185e16ccd4de64e395ccf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000507888e987257a8dde6f8afa46375cefe2cbf504a0000000000000000000000000507888e987257a8dde6f8afa46375cefe2cbf504b8800000000000000000000000000000000000000000000007acaa49961a0ec3e54d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024e3554eabd5641f89b946b175474e89094c44da98b954eedeac495271d0ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000060594a405d53811d3bc4766596efd80fd545a270a00000000000000000000000000671e648b0735fc4d839469181cddf3dde4e6743a000000000000000000000000000000000000000000000001a2d92465be88ef6b2f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000507888e987257a8dde6f8afa46375cefe2cbf504a000000000000000000000000060594a405d53811d3bc4766596efd80fd545a270a00000000000000000000000000000000000000000000000000246a518f04af637f9011c9460594a405d53811d3bc4766596efd80fd545a270f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000507888e987257a8dde6f8afa46375cefe2cbf504a00000000000000000000000000671e648b0735fc4d839469181cddf3dde4e6743b8a0ffffffffffffffffffffffffffffffffffffffffffffffe5d26db9a41771094e0000000000000000000000000000000000000000000000000246a518f04af637000000000000000000000000000000000000000004b776473e5596d909db0be50000000000000000000000000000000000000000000030406567a10dbee3d2a6fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec7f2f9011c940671e648b0735fc4d839469181cddf3dde4e6743f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000507888e987257a8dde6f8afa46375cefe2cbf504a000000000000000000000000029c82c693cd06c1f2778185e16ccd4de64e395ccb8a0fffffffffffffffffffffffffffffffffffffffffffff85355b669e5f13c1ab300000000000000000000000000000000000000000000001a2d92465be88ef6b200000000000000000000000000000000000000001d92af50dbeb34135f91347f000000000000000000000000000000000000000000004c258b09f308eb0580c8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff575f","gas_used":294721}},{"traces":{"0x73af1ac8bec10d15d9fced5d1169d2ed0fe70a5c":{"balance":"0xc258613062a2fe","nonce":"0xe"},"0x754228651d8bca89bb3b5d892cbc7bcaea05e774":{"storage_read":["0x933ddf3c07ed2428ec87a0f66b7ce262b5898016d504932991681f442e253d30","0x0000000000000000000000000000000000000000000000000000000000000007","0x203212b826a0715417514e158e42422cf2aa7d22ea179b7322be3ac6a47ebc33"],"storage_written":{"0x933ddf3c07ed2428ec87a0f66b7ce262b5898016d504932991681f442e253d30":"0xc5333ef0","0x203212b826a0715417514e158e42422cf2aa7d22ea179b7322be3ac6a47ebc33":"0x2bb4b54c1590"},"code_usage":{"read":"0xf8ce4eea38aa828196089613815e87d771942175d1a9b51d4630cb4cd185927c"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83453c8b4f693bae"},"0x85a1f113eea53a68189157914f320c0cc5093773":{"code_usage":{"read":"0x2ff1e77bf2ac8b69ac38ae9faab3b2477a13112544b4049d02e4f9042e0276d7"}}},"meta":{"byte_code":"0xf8aa0d8501dcd6500083010ba494754228651d8bca89bb3b5d892cbc7bcaea05e77480b844a9059cbb0000000000000000000000003d92281428d5e4daa0cec312125f3d5e7b3b048800000000000000000000000000000000000000000000000000000000c5333ef026a006075173c6b4fac805db564269c372c34cbfcd60e48f215d82471325ddf26c31a0770d93780b46c148a96a0054704dd8f66bb63610b20eaead7925b15b691ce701","new_txn_trie_node_byte":"0xf8aa0d8501dcd6500083010ba494754228651d8bca89bb3b5d892cbc7bcaea05e77480b844a9059cbb0000000000000000000000003d92281428d5e4daa0cec312125f3d5e7b3b048800000000000000000000000000000000000000000000000000000000c5333ef026a006075173c6b4fac805db564269c372c34cbfcd60e48f215d82471325ddf26c31a0770d93780b46c148a96a0054704dd8f66bb63610b20eaead7925b15b691ce701","new_receipt_trie_node_byte":"0xf901a701838b0fd5b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000008011000000000000000000000000000000000000000008400000000000000000000000000000000000000000000000010000000200000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000040000000000000000000000000000000000000000000000002000000000000000000000000000000000000f89df89b94754228651d8bca89bb3b5d892cbc7bcaea05e774f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000073af1ac8bec10d15d9fced5d1169d2ed0fe70a5ca00000000000000000000000003d92281428d5e4daa0cec312125f3d5e7b3b0488a000000000000000000000000000000000000000000000000000000000c5333ef0","gas_used":56327}},{"traces":{"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x1322cc754452f271eaf172dd9e47952571149602d9ffea2f8b3f8a9ee93b71d0","0x978c3e496103ec915868521c895e5ca503f2c49c818046187622f83a046c736c"],"storage_written":{"0x978c3e496103ec915868521c895e5ca503f2c49c818046187622f83a046c736c":"0xa70a95cb97fa0dde000","0x1322cc754452f271eaf172dd9e47952571149602d9ffea2f8b3f8a9ee93b71d0":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x28efb5e5186338c6c19700d7c968a95bcbefe215":{"balance":"0x4ad19f158182","nonce":"0x2"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834543d3524508c1"}},"meta":{"byte_code":"0xf8a9018501a13b8600829c409497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000f57458c7f4b15abaacad81aa16e1990891f796650000000000000000000000000000000000000000000000195b7959b388b8000025a0eace6b07ca472bcaf06d1fda77bf74346f398d9c71c51e999a8a67e7c402d5b7a05eb811f607a944e91ea825bebe7c1c6099127ddda342bb67cf29a472956c572f","new_txn_trie_node_byte":"0xf8a9018501a13b8600829c409497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000f57458c7f4b15abaacad81aa16e1990891f796650000000000000000000000000000000000000000000000195b7959b388b8000025a0eace6b07ca472bcaf06d1fda77bf74346f398d9c71c51e999a8a67e7c402d5b7a05eb811f607a944e91ea825bebe7c1c6099127ddda342bb67cf29a472956c572f","new_receipt_trie_node_byte":"0xf901a701838b8c0cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000010000000000000020000000008000000000000000000000000000000000000000040000000000000000000100800000000000000000000000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000028efb5e5186338c6c19700d7c968a95bcbefe215a0000000000000000000000000f57458c7f4b15abaacad81aa16e1990891f79665a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x03e83cbea2780dbda33afc2c80addb9544bea5fcb9867a25a8d1a1582f7ac3b7","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xb25a301f75a1af05f1bbd4d88214374238362dc98a42e08046077df101d7b0fb","0x000000000000000000000000000000000000000000000000000000000000000a","0x0128a010ceddf639c1621d45e6f7300841aef6db5f4008c2d5fb7e63d101187c","0x0000000000000000000000000000000000000000000000000000000000000000","0x3ab9cab27a42834f78542583811d97cfa42c501d1287621d7e40bb0795b44387"],"storage_written":{"0xb25a301f75a1af05f1bbd4d88214374238362dc98a42e08046077df101d7b0fb":"0x15afb1c74","0x0128a010ceddf639c1621d45e6f7300841aef6db5f4008c2d5fb7e63d101187c":"0x7f8adffa80c"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834583cb3b5af4c1"},"0x79c501747ab555f34274ba9837c3601f61911c12":{"balance":"0x87ccfe30a9760c7","nonce":"0x12"},"0xd37bbe5744d730a1d98d8dc97c42f0ca46ad7146":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000000","0xfcd4ff80740eb45316d1b54f2268ff697e3cded423a9a9c71ce3df1def9acf9c"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0x1","0xfcd4ff80740eb45316d1b54f2268ff697e3cded423a9a9c71ce3df1def9acf9c":"0x168c671cd94"},"code_usage":{"read":"0x7f7ad48242b36385bc30ce3e3be2347d6954dd2e0fe872e05be8383db74768cc"}}},"meta":{"byte_code":"0x02f901720111843b9aca0085020a7e59488301b70894d37bbe5744d730a1d98d8dc97c42f0ca46ad714680b9010444bc937b0000000000000000000000009c3d66f5e2fd180831dc4d5aa9691756feae6b0f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dea800000000000000000000000000000000000000000000000000000000000000403d3a4254432e4254433a62633171736d3633326b70657a6e7a637a6a366d356a6b72726c7835756173337a7173746b6c397133743a302f312f303a74643a3730c080a0c4208c4c6261707ba12555d3ec0f027047ca2abbacbfe1da42c361a92c2d9348a03013d6b88be631609ff81ff1f7173f58de137ff6da7ea1c3f5128a0bd9e9af38","new_txn_trie_node_byte":"0x02f901720111843b9aca0085020a7e59488301b70894d37bbe5744d730a1d98d8dc97c42f0ca46ad714680b9010444bc937b0000000000000000000000009c3d66f5e2fd180831dc4d5aa9691756feae6b0f000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000000000000000000000000000000000007735940000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dea800000000000000000000000000000000000000000000000000000000000000403d3a4254432e4254433a62633171736d3633326b70657a6e7a637a6a366d356a6b72726c7835756173337a7173746b6c397133743a302f312f303a74643a3730c080a0c4208c4c6261707ba12555d3ec0f027047ca2abbacbfe1da42c361a92c2d9348a03013d6b88be631609ff81ff1f7173f58de137ff6da7ea1c3f5128a0bd9e9af38","new_receipt_trie_node_byte":"0xb902cb02f902c701838c9ecab9010000000000000000010000000000800000000000000000000000000000000002000000000000000000000000000000010000000800000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000001000200000000040000810000000000000000000000000000000000000000000000000000000000000002000100000000000000000800000000080000000000000000000000000000000000000004000000002000000004000000000000480000000028000000000000010000000000000000000000000000000000000000200000000000000000000000000000000f901bcf89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000079c501747ab555f34274ba9837c3601f61911c12a0000000000000000000000000d37bbe5744d730a1d98d8dc97c42f0ca46ad7146a00000000000000000000000000000000000000000000000000000000077359400f9011c94d37bbe5744d730a1d98d8dc97c42f0ca46ad7146f863a0ef519b7eb82aaf6ac376a6df2d793843ebfd593de5f1a0601d3cc6ab49ebb395a00000000000000000000000009c3d66f5e2fd180831dc4d5aa9691756feae6b0fa0000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7b8a00000000000000000000000000000000000000000000000000000000077359400000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000403d3a4254432e4254433a62633171736d3633326b70657a6e7a637a6a366d356a6b72726c7835756173337a7173746b6c397133743a302f312f303a74643a3730","gas_used":70334}},{"traces":{"0x88051b0eea095007d3bef21ab287be961f3d8598":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0xca4d0c6c94a9477136dd41a99cc19ecbe441c8f6609efe7c6fa65be007a47323","0x0000000000000000000000000000000000000000000000000000000000000024","0x0000000000000000000000000000000000000000000000000000000000000025","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x100003c003c001d02538100000000000007fad4441ff9e136ccb7755418cb","0x0000000000000000000000000000000000000000000000000000000000000001":"0x86f02675d588f2c4e4c0e2778a29299","0x0000000000000000000000000000000000000000000000000000000000000025":"0x1018b35e0025c71f8484e4183af0db204dde8a9fa000a6d4493492d6687db3b"},"code_usage":{"read":"0xa430186dbf5cca6530626cf435403dbdb255805a3f7bb356a6e96977de3100ad"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8345badb4d35251c"},"0x700fc86c46299cf2a8fd86edadae3f57014351b0":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x000000000000000000000000000000000000000000000000000000000000000c"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000000000000a701fa2c4700000bc1a36de7d87bc914714be2","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000009":"0x11eb902ebc5fe86ec4db4d7","0x000000000000000000000000000000000000000000000000000000000000000a":"0x4d6731901ae157f67dcbef39b5d718b4c4b14c049a1144c5"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002","0xad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x10002d302d3026502ff5300000000000047f5b6c529f08e48dfcc35ce2f8a","0x0000000000000000000000000000000000000000000000000000000000000002":"0xfc2a2855d6aa9c905983e3f7e8ddebf640f"},"code_usage":{"read":"0xa981b66c747a3d9fa29d7e200d5faaa2826960523d0e5a0df8148e8868c480b4"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0xd5a41ff90ae7e8896783bdf4dcc26e92ce827251e9f1899014eb69218c1b7c9a","0x0000000000000000000000000000000000000000000000000000000000000001","0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff"],"storage_written":{"0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff":"0x336fe86abe38","0xd5a41ff90ae7e8896783bdf4dcc26e92ce827251e9f1899014eb69218c1b7c9a":"0x2b8905824b"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x7a464961c125fc990109c53fc6324f805cc788adf74934778792f1f7cfd292ba","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xd06ef82a07326a6e964ce1700825547c428fbc96deb2e33e7e20498001080d7d","0xe5627d2dec9a5abb6da790d58ca18ff4e828b6a8d029ddedb54d8a341f924a8f","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0xe5627d2dec9a5abb6da790d58ca18ff4e828b6a8d029ddedb54d8a341f924a8f":"0xa701fa2c47","0xd06ef82a07326a6e964ce1700825547c428fbc96deb2e33e7e20498001080d7d":"0x32e69da7b5"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x52127470de72e5ef77ca962d23125cbe096e2d81":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x000000000000000000000000000000000000000000000000000000000000000a":"0x2902d3a51566adf0bda2430057d84332dfe0b4955","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b0000000000066666894208f7c9b8000005ab7ee59d324565e29010e7","0x0000000000000000000000000000000000000000000000000000000000000009":"0x156227cb2e5fa3f85145416fc6478d"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000001","0xb1fbb53e0c0bd24c4ccb98c6765e13ea2ec793249e0bd19913621f1dc0379e6c","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x10065520c000028ed496c2cced924574f378cefc9fff73d39f07a486687db3b","0x0000000000000000000000000000000000000000000000000000000000000001":"0x3330c09132f66123e5646bc5502d686629f","0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000fd00b1000000000000000000038ef251b41dc6c116b0fd"},"code_usage":{"read":"0x61bb013bc7f8bed8e3c050464e93985787d254f4236d2e3ef846700c07e00aed"}},"0x00000000009e50a7ddb7a7b0e2ee6604fd120e49":{"balance":"0x213554ca5354fd02","code_usage":{"read":"0x6f51c41d151c5962295abdc2a78f0b1b3589c176f5ba06c257571e7f40840d57"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x58a37fd9ac1e447a7955f005fbd821272b5936632d99e799a2b7f11f09b0c85f","0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a","0x2a306d7595987ab10375e6e054d7489cc80c1cf5351587e21ffbd126573f06c6","0xc30f925fe8631ca1b5e37d9a21e4882c5e994cd1881ae77ac12f19fc1d9fdea0","0x7bc913c661f71064cc80d5dff39efa8510e3bbf72c891a4fa1cbfe224edf9c35"],"storage_written":{"0x58a37fd9ac1e447a7955f005fbd821272b5936632d99e799a2b7f11f09b0c85f":"0x278b467d340d6fa6d0","0x2a306d7595987ab10375e6e054d7489cc80c1cf5351587e21ffbd126573f06c6":"0x3ac6b2aaa0fb0a30fb","0xc30f925fe8631ca1b5e37d9a21e4882c5e994cd1881ae77ac12f19fc1d9fdea0":"0x66666894208f7c9b8","0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a":"0x683c64ab1d3c2e75fec","0x7bc913c661f71064cc80d5dff39efa8510e3bbf72c891a4fa1cbfe224edf9c35":"0x722db0ee6e934f82"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x12bb890508c125661e03b09ec06e404bc9289040":{"storage_read":["0xe78d22b2b074e8da5e5ff032338a6028e24c7a173fadf43b24bc8589e4b00b5f","0x7f027657ed189ac1bfe1e5006f7e875fb2a8e42f6bd7068c72857cb8ed5de54d","0xec1cc6686e78c461d0870df3be8132003fef4bf00feb264eef95a05c99219889","0x787b21922772e9625ba7a6de0267a31a8145a5b2bdd1aa2e8bdf38ebd0c1d6e7"],"storage_written":{"0x7f027657ed189ac1bfe1e5006f7e875fb2a8e42f6bd7068c72857cb8ed5de54d":"0x5ab7ee59d324565e29010e7","0xe78d22b2b074e8da5e5ff032338a6028e24c7a173fadf43b24bc8589e4b00b5f":"0xbc1a36de7d87bc914714be2"},"code_usage":{"read":"0xb53421334dc6fdc21becdc9c65c8ccf586f6fb35a1acea466f4ce22e4922f37c"}},"0x64aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d5":{"storage_read":["0xed62b5c98614617d01d46dca15f9cb8d7df1a75150981bb46b5258ad5e0b3deb","0xc50cc6e0638fefa09debb65a979988c667935b06a6a265a26f61894de237f0ce"],"storage_written":{"0xc50cc6e0638fefa09debb65a979988c667935b06a6a265a26f61894de237f0ce":"0x151c1df1a761","0xed62b5c98614617d01d46dca15f9cb8d7df1a75150981bb46b5258ad5e0b3deb":"0x9a5bdd72a939"},"code_usage":{"read":"0xbbfa9eba3c06791a338705ffc5b6566e8b1cc70a570fc7ab798d71af4dc8bcdd"}},"0x893f503fac2ee1e5b78665db23f9c94017aae97d":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000006b","0x000000000000000000000000000000000000000000000000000000000000006c","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002","0xc0d1c00078410fd0164580b0bad93d8a579580d06cf45fc2696a823498097b8a"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000006c":"0x1015c80150011117f8caea37ac8f19bc5867fd775fffd004d2107076687db3b","0x0000000000000000000000000000000000000000000000000000000000000000":"0x10000b400b40064ff53ec00000000000000001c4bd6a1f4649613632d90df","0x0000000000000000000000000000000000000000000000000000000000000002":"0x173b18d46160970f4e014fbe3f35f12"},"code_usage":{"read":"0x0ef574bfb18ffe0f68cb5eb09765e186360e462f9427cd61a6792186cd5d3cfb"}},"0xe75ed6f453c602bd696ce27af11565edc9b46b0d":{"balance":"0x2a422004307bca4d","nonce":"0x1a06d"}},"meta":{"byte_code":"0x02f90998018301a06c85019b988ce285019b988ce28308652e9400000000009e50a7ddb7a7b0e2ee6604fd120e498404840d93b8bfba24af1c5cc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b00580ebc700fc86c46299cf2a8fd86edadae3f57014351b00404b1b219001f0f3252127470de72e5ef77ca962d23125cbe096e2d810488e2ea3c2d8004006d216a0c48a3ba2088051b0eea095007d3bef21ab287be961f3d85982cfc0000000000000c48a3ba000000002412d93178840008893f503fac2ee1e5b78665db23f9c94017aae97d11ca0c43e36a5c88e6a0c2ddd26feeb64f039a2c41296fcb3f56402d8024006df90862f8bc94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f8a5a0390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63aa02a306d7595987ab10375e6e054d7489cc80c1cf5351587e21ffbd126573f06c6a0c30f925fe8631ca1b5e37d9a21e4882c5e994cd1881ae77ac12f19fc1d9fdea0a07bc913c661f71064cc80d5dff39efa8510e3bbf72c891a4fa1cbfe224edf9c35a058a37fd9ac1e447a7955f005fbd821272b5936632d99e799a2b7f11f09b0c85ff8dd9452127470de72e5ef77ca962d23125cbe096e2d81f8c6a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000af8dd9488051b0eea095007d3bef21ab287be961f3d8598f8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a0ca4d0c6c94a9477136dd41a99cc19ecbe441c8f6609efe7c6fa65be007a47323a00000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000000025f89b9488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f884a0ad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002f8bc94c7bbec68d12a0d1830360f8ec58fa599ba1b0e9bf8a5a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a0b1fbb53e0c0bd24c4ccb98c6765e13ea2ec793249e0bd19913621f1dc0379e6ca00000000000000000000000000000000000000000000000000000000000000008f8fe94dac17f958d2ee523a2206206994597c13d831ec7f8e7a0e5627d2dec9a5abb6da790d58ca18ff4e828b6a8d029ddedb54d8a341f924a8fa00000000000000000000000000000000000000000000000000000000000000000a07a464961c125fc990109c53fc6324f805cc788adf74934778792f1f7cfd292baa0000000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000004a0d06ef82a07326a6e964ce1700825547c428fbc96deb2e33e7e20498001080d7df8dd94700fc86c46299cf2a8fd86edadae3f57014351b0f8c6a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008f89b9412bb890508c125661e03b09ec06e404bc9289040f884a0e78d22b2b074e8da5e5ff032338a6028e24c7a173fadf43b24bc8589e4b00b5fa07f027657ed189ac1bfe1e5006f7e875fb2a8e42f6bd7068c72857cb8ed5de54da0ec1cc6686e78c461d0870df3be8132003fef4bf00feb264eef95a05c99219889a0787b21922772e9625ba7a6de0267a31a8145a5b2bdd1aa2e8bdf38ebd0c1d6e7f8599464aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d5f842a0ed62b5c98614617d01d46dca15f9cb8d7df1a75150981bb46b5258ad5e0b3deba0c50cc6e0638fefa09debb65a979988c667935b06a6a265a26f61894de237f0cef8dd94893f503fac2ee1e5b78665db23f9c94017aae97df8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a0c0d1c00078410fd0164580b0bad93d8a579580d06cf45fc2696a823498097b8aa0000000000000000000000000000000000000000000000000000000000000006ba0000000000000000000000000000000000000000000000000000000000000006cf8bc94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f8a5a07050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3a0d5a41ff90ae7e8896783bdf4dcc26e92ce827251e9f1899014eb69218c1b7c9aa00000000000000000000000000000000000000000000000000000000000000001a01f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341effa010d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390bd69443506849d7c04f9138d1a2050bbf3a0c054402ddc080a0fe85d4485b72a687e5b21a53df6218f06103232c1ba4d5752fdfbd43266b2ea6a05695f98ebbb2bddf98d4fe3cc5f9b890644b11a4fb4dcf32f0034c102834c87d","new_txn_trie_node_byte":"0x02f90998018301a06c85019b988ce285019b988ce28308652e9400000000009e50a7ddb7a7b0e2ee6604fd120e498404840d93b8bfba24af1c5cc7bbec68d12a0d1830360f8ec58fa599ba1b0e9b00580ebc700fc86c46299cf2a8fd86edadae3f57014351b00404b1b219001f0f3252127470de72e5ef77ca962d23125cbe096e2d810488e2ea3c2d8004006d216a0c48a3ba2088051b0eea095007d3bef21ab287be961f3d85982cfc0000000000000c48a3ba000000002412d93178840008893f503fac2ee1e5b78665db23f9c94017aae97d11ca0c43e36a5c88e6a0c2ddd26feeb64f039a2c41296fcb3f56402d8024006df90862f8bc94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f8a5a0390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63aa02a306d7595987ab10375e6e054d7489cc80c1cf5351587e21ffbd126573f06c6a0c30f925fe8631ca1b5e37d9a21e4882c5e994cd1881ae77ac12f19fc1d9fdea0a07bc913c661f71064cc80d5dff39efa8510e3bbf72c891a4fa1cbfe224edf9c35a058a37fd9ac1e447a7955f005fbd821272b5936632d99e799a2b7f11f09b0c85ff8dd9452127470de72e5ef77ca962d23125cbe096e2d81f8c6a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000af8dd9488051b0eea095007d3bef21ab287be961f3d8598f8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a0ca4d0c6c94a9477136dd41a99cc19ecbe441c8f6609efe7c6fa65be007a47323a00000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000000025f89b9488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f884a0ad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002f8bc94c7bbec68d12a0d1830360f8ec58fa599ba1b0e9bf8a5a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a0b1fbb53e0c0bd24c4ccb98c6765e13ea2ec793249e0bd19913621f1dc0379e6ca00000000000000000000000000000000000000000000000000000000000000008f8fe94dac17f958d2ee523a2206206994597c13d831ec7f8e7a0e5627d2dec9a5abb6da790d58ca18ff4e828b6a8d029ddedb54d8a341f924a8fa00000000000000000000000000000000000000000000000000000000000000000a07a464961c125fc990109c53fc6324f805cc788adf74934778792f1f7cfd292baa0000000000000000000000000000000000000000000000000000000000000000aa00000000000000000000000000000000000000000000000000000000000000003a00000000000000000000000000000000000000000000000000000000000000004a0d06ef82a07326a6e964ce1700825547c428fbc96deb2e33e7e20498001080d7df8dd94700fc86c46299cf2a8fd86edadae3f57014351b0f8c6a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008f89b9412bb890508c125661e03b09ec06e404bc9289040f884a0e78d22b2b074e8da5e5ff032338a6028e24c7a173fadf43b24bc8589e4b00b5fa07f027657ed189ac1bfe1e5006f7e875fb2a8e42f6bd7068c72857cb8ed5de54da0ec1cc6686e78c461d0870df3be8132003fef4bf00feb264eef95a05c99219889a0787b21922772e9625ba7a6de0267a31a8145a5b2bdd1aa2e8bdf38ebd0c1d6e7f8599464aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d5f842a0ed62b5c98614617d01d46dca15f9cb8d7df1a75150981bb46b5258ad5e0b3deba0c50cc6e0638fefa09debb65a979988c667935b06a6a265a26f61894de237f0cef8dd94893f503fac2ee1e5b78665db23f9c94017aae97df8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a0c0d1c00078410fd0164580b0bad93d8a579580d06cf45fc2696a823498097b8aa0000000000000000000000000000000000000000000000000000000000000006ba0000000000000000000000000000000000000000000000000000000000000006cf8bc94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f8a5a07050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3a0d5a41ff90ae7e8896783bdf4dcc26e92ce827251e9f1899014eb69218c1b7c9aa00000000000000000000000000000000000000000000000000000000000000001a01f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341effa010d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390bd69443506849d7c04f9138d1a2050bbf3a0c054402ddc080a0fe85d4485b72a687e5b21a53df6218f06103232c1ba4d5752fdfbd43266b2ea6a05695f98ebbb2bddf98d4fe3cc5f9b890644b11a4fb4dcf32f0034c102834c87d","new_receipt_trie_node_byte":"0xb90d6502f90d610183927f37b90100802000002100000000000800800000000000080000000000000402000400000000000000000000000000080000008100020000000800200008a00000000000000400000000000008090000080000002000000018000000000000000000000400000000000028000080100000000000000000000000000000000001100008000000000000000020000000000804000000000000010100880801000040001000000800000004002000000000c0000000000000000000000002002000000008000000000002000208000000002000000800000000000000201000000000000000024000200000000000000010000004000000000000000000000000000000000000f90c56f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9ba0000000000000000000000000700fc86c46299cf2a8fd86edadae3f57014351b0a000000000000000000000000000000000000000000000000000000000392dacc8f89b9412bb890508c125661e03b09ec06e404bc9289040f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000700fc86c46299cf2a8fd86edadae3f57014351b0a000000000000000000000000052127470de72e5ef77ca962d23125cbe096e2d81a00000000000000000000000000000000000000000000404b1b200000000000000f87994700fc86c46299cf2a8fd86edadae3f57014351b0e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000bc1a36de7d87bc914714be2000000000000000000000000000000000000000000000000000000a701fa2c47f8fc94700fc86c46299cf2a8fd86edadae3f57014351b0f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49a000000000000000000000000052127470de72e5ef77ca962d23125cbe096e2d81b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000392dacc80000000000000000000000000000000000000000000404b1b2000000000000000000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000052127470de72e5ef77ca962d23125cbe096e2d81a000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49a00000000000000000000000000000000000000000000000000488e2ea00000000f8799452127470de72e5ef77ca962d23125cbe096e2d81e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000005ab7ee59d324565e29010e70000000000000000000000000000000000000000000000066666894208f7c9b8f8fc9452127470de72e5ef77ca962d23125cbe096e2d81f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49a000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49b8800000000000000000000000000000000000000000000404b1b200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000488e2ea00000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49a0000000000000000000000000c7bbec68d12a0d1830360f8ec58fa599ba1b0e9ba000000000000000000000000000000000000000000000000004840d9300000000f9011c94c7bbec68d12a0d1830360f8ec58fa599ba1b0e9bf863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49a0000000000000000000000000700fc86c46299cf2a8fd86edadae3f57014351b0b8a000000000000000000000000000000000000000000000000004840d9300000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc6d25338000000000000000000000000000000000000000000038ef251b41dc6c116b0fd0000000000000000000000000000000000000000000000000356528dca37801bfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd00b1f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000088051b0eea095007d3bef21ab287be961f3d8598a000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49a00000000000000000000000000000000000000000000000000c48a3ba00000000f89b9464aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d5f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000893f503fac2ee1e5b78665db23f9c94017aae97da000000000000000000000000088051b0eea095007d3bef21ab287be961f3d8598a00000000000000000000000000000000000000000000000000000003178840000f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a0000000000000000000000000893f503fac2ee1e5b78665db23f9c94017aae97da0000000000000000000000000000000000000000000000000000000009b27266bf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49a000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a00000000000000000000000000000000000000000000000000c43e36a00000000f9011c9488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49a0000000000000000000000000893f503fac2ee1e5b78665db23f9c94017aae97db8a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff64d8d9950000000000000000000000000000000000000000000000000c43e36a0000000000000000000000000000000000000000000047f5b6c529f08e48dfcc35ce2f8a0000000000000000000000000000000000000000000000005bb0942131beb589000000000000000000000000000000000000000000000000000000000002ff53f9011c94893f503fac2ee1e5b78665db23f9c94017aae97df863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49a000000000000000000000000088051b0eea095007d3bef21ab287be961f3d8598b8a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffce877c0000000000000000000000000000000000000000000000000000000000009b27266900000000000000000000000000000000000000001c4bd6a1f4649613632d90df0000000000000000000000000000000000000000000000000000537e0b13d7c2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff53ecf9011c9488051b0eea095007d3bef21ab287be961f3d8598f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49a000000000000000000000000000000000009e50a7ddb7a7b0e2ee6604fd120e49b8a0000000000000000000000000000000000000000000000000000000317883ff79fffffffffffffffffffffffffffffffffffffffffffffffff3b75c460000000000000000000000000000000000000000000007fad4441ff9e136ccb7755418cb00000000000000000000000000000000000000000000000004ce9420e97d75d60000000000000000000000000000000000000000000000000000000000025381","gas_used":385133}},{"traces":{"0x0000000000000000000000000000000000000008":{},"0x356483dc32b004f32ea0ce58f7f88879886e9074":{"balance":"0xaaead9e2edd20d71","nonce":"0x43283"},"0x0000000000000000000000000000000000000007":{},"0x000000000000000000000000000000000000000a":{},"0x63fb51c55d9605a75f8872c80de260a00facfaa2":{"code_usage":{"read":"0x5108f1e5222b8fbb63d09b1aa298a658e30ff79e9884f40ef45b4f6799aea012"}},"0x0d7e906bd9cafa154b048cfa766cc1e54e39af9b":{"storage_read":["0x51639df40851ca6dc45e37a3a4bff7a0ec5da3cbc792728ad5cd3c2a34f29e4c","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x000000000000000000000000000000000000000000000000000000000000006a"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000006a":"0xda864","0x51639df40851ca6dc45e37a3a4bff7a0ec5da3cbc792728ad5cd3c2a34f29e4c":"0x0"},"code_usage":{"read":"0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c"}},"0x0000000000000000000000000000000000000006":{},"0x03a72b00d036c479105ff98a1953b15d9c510110":{"code_usage":{"read":"0xa69a3ce200bf287833cb53d85a93e5a943ac51473dd9ee4dff855dcfbaeabb6a"}},"0x0000000000000000000000000000000000000005":{},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8345ea91b0b6e11c"},"0xa13baf47339d63b743e7da8741db5456dac1e556":{"storage_read":["0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0xa0334f216fb81bb698dbc6875699b67042bf4274ebecaec0ab07f739c9e957e7","0x0000000000000000000000000000000000000000000000000000000000000065","0xfba66efa1929a3d93417e294008c515e090406b681eec14d805a4b64952a6e9c","0x87a10e4babcf11c263b729d05774f6cae82e611bc833c9e483f83de22b32cccf","0xf2f37f5610206d4521b34545d9a419976add475e4b36afe19630f0049329f203","0x000000000000000000000000000000000000000000000000000000000000009c"],"storage_written":{"0x98b3e9144813df59b5296d60563585557436b534802bdaa20cdc4f98ad5ea0a8":"0x26931d9ef8e52ba0cb519aa020869da3b2e2898d5e53ae4b427d1f729b54342","0xf2f37f5610206d4521b34545d9a419976add475e4b36afe19630f0049329f203":"0xd182040ed4716f9f190cdb9606fd7f15e581f2cb01622f8964929e639a66110","0x000000000000000000000000000000000000000000000000000000000000009c":"0x43283"},"code_usage":{"read":"0x23c736713c762f5d684fdda5244e49dc182aa801b78383ddf51015c1597c446c"}},"0xebaed7a81c298b24ee6d59c22698a951dc448e01":{"code_usage":{"read":"0x2d4ff142ac8a483ddfd4f3d49de2c7909cf7146c096898021e61adcf10ec195c"}},"0xf94afbd9370e25dd6ca557d5d67634aefda2416b":{"storage_read":["0x679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c"],"code_usage":{"read":"0x694834e36a09f882597fed4f317d4c305a748856b5ed0aef530e0bea3cbfcfeb"}},"0x4f250b05262240c787a1ee222687c6ec395c628a":{"code_usage":{"read":"0x4a8751c4ac6cdd91e91aa0ac61dcf2ba32e44c19f72333c2c595146fc61d6560"}}},"meta":{"byte_code":"0x02f90c6801830432828405f5e10085030971252483099a9c94a13baf47339d63b743e7da8741db5456dac1e55680b90ac400b0f4d700000000000000000000000000000000000000000000000000000000000000c02395eed12c3d6ae178f292d5c9a59f2774a53613206813f1703c78c3d0897c460d182040ed4716f9f190cdb9606fd7f15e581f2cb01622f8964929e639a66110026931d9ef8e52ba0cb519aa020869da3b2e2898d5e53ae4b427d1f729b54342000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000099020000000000043283000000000000000b00000000000da864c8234bfa7d30ed7f07ce71d26c9afcd5263becf0fc62dfac99712c6abb23fb2c0104d83240a689c87d318e2e87930ddccb66abcf53ac3d4ef784f6120eaf844e6fdd38ef1cb40c39e910179725dd7309be37a970413b2a13407fb426b9ce6ef400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0104c619b0b1c3f4bb4df5e5e74df805b05bdbe21d1765b5943d91f885470b454736a13567523bf2cb8f51e6898fc9c8607822b2eee268e9337f73e1ff631a8149703b1036ff2e10f9fe19be7b4f1766ce676e388953cf7e121de1b94d63d942aa04c6eee8d21dffb66c476c23c1080cd992146ab57f4787f5486defd1c382058f3a967a5f57df290ad847824642651da7b0dc06df2368d898854c23b39beec2500000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000009658f5e20611a64efe62dc000000000000000000000000000000000000000000dc41887eaf803eb37f42a60000000000000000000000000000000000000000000024302ad81e5326ffce31000000000000000000000000000000000000000000411e509092f89cf0305c3f00000000000000000000000000000000000000000039c1364c8efa06d3db89a8000000000000000000000000000000000000000000002ba178d4ef5a80d7366900000000000000000000000000000000000000000089c4e4bbe56bd3f653a0dd000000000000000000000000000000000000000000543ce6d41454b7a8f5c74e000000000000000000000000000000000000000000001892b80ae1cbfffafc200000000000000000000000000000000000000000009f3928ca5e3a7ced156b1c0000000000000000000000000000000000000000008af6cf02a15d6618c93b6e0000000000000000000000000000000000000000000027cfe3978a3dc26c73f324a339ec275691440756605446489fa04f5958524d760126d3f919c852d0f1851aa5e57de2c4182792d1a94c45e422a38f19c69eb5f3b3609655475d8ddd22280f99843dbcde50dab1754bfaad630a770e57fcf72ac86ada2e2694f2b71eaf290fdf4fd905e41a4301ee1093c8586febda33f9fc1a8225107b671d7b978366cd2690a10e0fc17f2e37de119df5b604bbc625a5a9e6881014888aec9eeeaade4e1cbf52c67ac0ae1201de4876d333e7b020f843ff538a658d1d6fb77cf2e9aa041938e8de58d1a140b12e583dd6c8aade4efc495df3f493cb7d5869af896da9350240022190d4c233f8345ce664a30186363b116455a8d4629360de2960ab31202d1b480bd8ae535e7f110b041639310014175b3b6c6f17f77ca59e1fc78957ef16177bbdda80b81b01da856ba1acd1dae16c4544c5b456eed9c18615184c18fd146b990ae2b7cb2d134f7664bd6ed6ce81947bb1b092ed27f6e06d7776bac16a13cddef209fb733bcbe5ce26fd8f9d7834683924912d1ede0ffdc27509bf5e10087f0ac2b7e2f1f3c7c9fae30b1979433110f656a2421c181ccfaff33105eda6065526c88d6dbd5e1342634be1276fb5fd1a643e9e0e26041abbc8fec351625d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000220c86bc68e226c8ab1b5fab50589767f9a76602754013353d09df0fcc7a5889f17217209bf497af348dac3b657d4512184bcf297d24b1cdecbfcfa1b6e9ce9941c30deae888c6d3e3d7c10ec78aac349e3f80b202177c09eec0d9140c574b2be1866575f102cfbd1bbf96f646c23167a08e4e1dc4c5c624773bb2528c222d6f00b1eadf195b4fd3db594fe4bc39f627a66b26bf46c4cdbdc9bbcfca6659f581d068bfd35f43932eabbcc463bfa95f32e312de47b6786b198b5eae87ce981c6772cf3731039b56f20eb3a91cc5ae6421cf6eb3c2ef65530dcda848901e8a3143e1b02ad34f9aa5d923584e807ff04f2044e84c257184875be5fa8c11ccac75fb91e667550357475f95f1e2eb991cb7551ec439898a64c5f38204080700c4f7c5f139b7e463f32972883833bada1b7865f0c3a2f797024b67277ad5129a54d5b3f22d266e6379eadbd06174cd291858e875f8f2180245e345adfb307b354c231de2b33f3951393ca82058906b00cb795e3219a22bc89788d6e29a9f24b9b19f20200abc7c72ff6f882333b6c65510b863a2c36877cac09aed47b5349b7e75273032a3543587c0d5480bd1dc8cff3160adb9dbf4bd6e83a661faeca33bb4ce230b82b0cf9e4daf903d19bdbb37a56e7a34692df7bb3f94a54b46b78b378cd6790b2043cd757b22dbfab80020c184a676d6a41aea4666afb680cbc8719ac2a4911761860063878d08bf3b7d79faa289f288e78d5d5ca75733913ce01d643f03852be2b91ce136535473e74f8179f414ecfc83cb0590298964bc44ed0982eceb1b6b72f1afb3c4a5d3dbc405167a99cb136ba29e07a19ff27e65ee16084146939e1a22d6fd8eff73248646f320645fd75efb989e2244925c4bc1e9f8560194dd4c5ff22a41466700851364887b0321eaa09c899e23e0a445a51badb5654328f6687900000000000000000000000000000000000000000000000000000000000000001091669abbb9bfb6c241707256fa7155b7e3edd228596fb5b7a8e9a4598b828372b7edf27eff1f97f00e9f528ecc661a9ac8e89ddd8f679e1d055a0c409a9700027bf4854e1eaf452deff830793dee9da41e91d9750f07eb09b95152704f25b35073edbc51af8cdd5cc4d9a2c3c056afdd51af3a2b782a38fb83545885df8566508e9c7b04f5b12c76525140a8ffa80551c18de0f1ef017be4f4e702142411be707dda660af2ae891b7cbddb94208c1fd02c8dc95112e12513ab13eddc0ee3d9326b3a33f47c0ff87e38175f428d9b8f39021b7daa0d40c7a310a09435ad6d25b17dae216479ccd32d2367be7a96117ca0d0ac7c844e8d6454e5aff52fd6b7532220e6bbe3c2e08186b78b794dd7972fc72f2eb7fccc0dd74300f38edafe9651200cd88279c61cff2a0f99255ddd84917153eefbfc8c7572f49fdd86902211989291a87900cd5d7a26aa8d5b115dcaa7bab834b0729364ca9935303074d9999590cd9f4a38706e6cac87141abe33abd1f9baadbcf0b72775ff814a7ac3a55aec720f74fd9ee3f82ce30fff10c9815a37f4dcf76ffe695489425de019e22a0db752630d8e59e31d9300a236cc3e48d2f46a5db92da64bbe04bf144d07c8ef438430bb5d229313ce1b5128b8d706f87ff3dea6098be38effbc6a36a63ce44b12d451d5e0e7804e05d8349bb924781a936b76fb1b5b6f34fbbe986f18b3a6af93a0f013211bce14bc43a2e01a8e8e1b6afb48d2de73d98fd164a4d7ebdd465655b4df90131d694ebaed7a81c298b24ee6d59c22698a951dc448e01c0d6944f250b05262240c787a1ee222687c6ec395c628ac0f794f94afbd9370e25dd6ca557d5d67634aefda2416be1a0679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28cd69463fb51c55d9605a75f8872c80de260a00facfaa2c0d69403a72b00d036c479105ff98a1953b15d9c510110c0f89b940d7e906bd9cafa154b048cfa766cc1e54e39af9bf884a0b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca0000000000000000000000000000000000000000000000000000000000000006aa051639df40851ca6dc45e37a3a4bff7a0ec5da3cbc792728ad5cd3c2a34f29e4c01a0ef3cd1f10e220c2d09f016e856497f0ea9c60d00b19c4945f93d887ad0b4fb80a06f315c6f7bfe4201ee9ce06d59b51e2dcc9510426b74cb3dfdc40c91f8b17fcb","new_txn_trie_node_byte":"0x02f90c6801830432828405f5e10085030971252483099a9c94a13baf47339d63b743e7da8741db5456dac1e55680b90ac400b0f4d700000000000000000000000000000000000000000000000000000000000000c02395eed12c3d6ae178f292d5c9a59f2774a53613206813f1703c78c3d0897c460d182040ed4716f9f190cdb9606fd7f15e581f2cb01622f8964929e639a66110026931d9ef8e52ba0cb519aa020869da3b2e2898d5e53ae4b427d1f729b54342000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000099020000000000043283000000000000000b00000000000da864c8234bfa7d30ed7f07ce71d26c9afcd5263becf0fc62dfac99712c6abb23fb2c0104d83240a689c87d318e2e87930ddccb66abcf53ac3d4ef784f6120eaf844e6fdd38ef1cb40c39e910179725dd7309be37a970413b2a13407fb426b9ce6ef400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0104c619b0b1c3f4bb4df5e5e74df805b05bdbe21d1765b5943d91f885470b454736a13567523bf2cb8f51e6898fc9c8607822b2eee268e9337f73e1ff631a8149703b1036ff2e10f9fe19be7b4f1766ce676e388953cf7e121de1b94d63d942aa04c6eee8d21dffb66c476c23c1080cd992146ab57f4787f5486defd1c382058f3a967a5f57df290ad847824642651da7b0dc06df2368d898854c23b39beec2500000000000000000000000000000000000000000000000000000000000008600000000000000000000000000000000000000000009658f5e20611a64efe62dc000000000000000000000000000000000000000000dc41887eaf803eb37f42a60000000000000000000000000000000000000000000024302ad81e5326ffce31000000000000000000000000000000000000000000411e509092f89cf0305c3f00000000000000000000000000000000000000000039c1364c8efa06d3db89a8000000000000000000000000000000000000000000002ba178d4ef5a80d7366900000000000000000000000000000000000000000089c4e4bbe56bd3f653a0dd000000000000000000000000000000000000000000543ce6d41454b7a8f5c74e000000000000000000000000000000000000000000001892b80ae1cbfffafc200000000000000000000000000000000000000000009f3928ca5e3a7ced156b1c0000000000000000000000000000000000000000008af6cf02a15d6618c93b6e0000000000000000000000000000000000000000000027cfe3978a3dc26c73f324a339ec275691440756605446489fa04f5958524d760126d3f919c852d0f1851aa5e57de2c4182792d1a94c45e422a38f19c69eb5f3b3609655475d8ddd22280f99843dbcde50dab1754bfaad630a770e57fcf72ac86ada2e2694f2b71eaf290fdf4fd905e41a4301ee1093c8586febda33f9fc1a8225107b671d7b978366cd2690a10e0fc17f2e37de119df5b604bbc625a5a9e6881014888aec9eeeaade4e1cbf52c67ac0ae1201de4876d333e7b020f843ff538a658d1d6fb77cf2e9aa041938e8de58d1a140b12e583dd6c8aade4efc495df3f493cb7d5869af896da9350240022190d4c233f8345ce664a30186363b116455a8d4629360de2960ab31202d1b480bd8ae535e7f110b041639310014175b3b6c6f17f77ca59e1fc78957ef16177bbdda80b81b01da856ba1acd1dae16c4544c5b456eed9c18615184c18fd146b990ae2b7cb2d134f7664bd6ed6ce81947bb1b092ed27f6e06d7776bac16a13cddef209fb733bcbe5ce26fd8f9d7834683924912d1ede0ffdc27509bf5e10087f0ac2b7e2f1f3c7c9fae30b1979433110f656a2421c181ccfaff33105eda6065526c88d6dbd5e1342634be1276fb5fd1a643e9e0e26041abbc8fec351625d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000220c86bc68e226c8ab1b5fab50589767f9a76602754013353d09df0fcc7a5889f17217209bf497af348dac3b657d4512184bcf297d24b1cdecbfcfa1b6e9ce9941c30deae888c6d3e3d7c10ec78aac349e3f80b202177c09eec0d9140c574b2be1866575f102cfbd1bbf96f646c23167a08e4e1dc4c5c624773bb2528c222d6f00b1eadf195b4fd3db594fe4bc39f627a66b26bf46c4cdbdc9bbcfca6659f581d068bfd35f43932eabbcc463bfa95f32e312de47b6786b198b5eae87ce981c6772cf3731039b56f20eb3a91cc5ae6421cf6eb3c2ef65530dcda848901e8a3143e1b02ad34f9aa5d923584e807ff04f2044e84c257184875be5fa8c11ccac75fb91e667550357475f95f1e2eb991cb7551ec439898a64c5f38204080700c4f7c5f139b7e463f32972883833bada1b7865f0c3a2f797024b67277ad5129a54d5b3f22d266e6379eadbd06174cd291858e875f8f2180245e345adfb307b354c231de2b33f3951393ca82058906b00cb795e3219a22bc89788d6e29a9f24b9b19f20200abc7c72ff6f882333b6c65510b863a2c36877cac09aed47b5349b7e75273032a3543587c0d5480bd1dc8cff3160adb9dbf4bd6e83a661faeca33bb4ce230b82b0cf9e4daf903d19bdbb37a56e7a34692df7bb3f94a54b46b78b378cd6790b2043cd757b22dbfab80020c184a676d6a41aea4666afb680cbc8719ac2a4911761860063878d08bf3b7d79faa289f288e78d5d5ca75733913ce01d643f03852be2b91ce136535473e74f8179f414ecfc83cb0590298964bc44ed0982eceb1b6b72f1afb3c4a5d3dbc405167a99cb136ba29e07a19ff27e65ee16084146939e1a22d6fd8eff73248646f320645fd75efb989e2244925c4bc1e9f8560194dd4c5ff22a41466700851364887b0321eaa09c899e23e0a445a51badb5654328f6687900000000000000000000000000000000000000000000000000000000000000001091669abbb9bfb6c241707256fa7155b7e3edd228596fb5b7a8e9a4598b828372b7edf27eff1f97f00e9f528ecc661a9ac8e89ddd8f679e1d055a0c409a9700027bf4854e1eaf452deff830793dee9da41e91d9750f07eb09b95152704f25b35073edbc51af8cdd5cc4d9a2c3c056afdd51af3a2b782a38fb83545885df8566508e9c7b04f5b12c76525140a8ffa80551c18de0f1ef017be4f4e702142411be707dda660af2ae891b7cbddb94208c1fd02c8dc95112e12513ab13eddc0ee3d9326b3a33f47c0ff87e38175f428d9b8f39021b7daa0d40c7a310a09435ad6d25b17dae216479ccd32d2367be7a96117ca0d0ac7c844e8d6454e5aff52fd6b7532220e6bbe3c2e08186b78b794dd7972fc72f2eb7fccc0dd74300f38edafe9651200cd88279c61cff2a0f99255ddd84917153eefbfc8c7572f49fdd86902211989291a87900cd5d7a26aa8d5b115dcaa7bab834b0729364ca9935303074d9999590cd9f4a38706e6cac87141abe33abd1f9baadbcf0b72775ff814a7ac3a55aec720f74fd9ee3f82ce30fff10c9815a37f4dcf76ffe695489425de019e22a0db752630d8e59e31d9300a236cc3e48d2f46a5db92da64bbe04bf144d07c8ef438430bb5d229313ce1b5128b8d706f87ff3dea6098be38effbc6a36a63ce44b12d451d5e0e7804e05d8349bb924781a936b76fb1b5b6f34fbbe986f18b3a6af93a0f013211bce14bc43a2e01a8e8e1b6afb48d2de73d98fd164a4d7ebdd465655b4df90131d694ebaed7a81c298b24ee6d59c22698a951dc448e01c0d6944f250b05262240c787a1ee222687c6ec395c628ac0f794f94afbd9370e25dd6ca557d5d67634aefda2416be1a0679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28cd69463fb51c55d9605a75f8872c80de260a00facfaa2c0d69403a72b00d036c479105ff98a1953b15d9c510110c0f89b940d7e906bd9cafa154b048cfa766cc1e54e39af9bf884a0b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103a0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca0000000000000000000000000000000000000000000000000000000000000006aa051639df40851ca6dc45e37a3a4bff7a0ec5da3cbc792728ad5cd3c2a34f29e4c01a0ef3cd1f10e220c2d09f016e856497f0ea9c60d00b19c4945f93d887ad0b4fb80a06f315c6f7bfe4201ee9ce06d59b51e2dcc9510426b74cb3dfdc40c91f8b17fcb","new_receipt_trie_node_byte":"0xb9026802f9026401839a8073b9010000000000000000100000000008000000000800002000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000020000000000000000240000000000000000000004000000000000000000000000000400000000000000000100010000000000000000001000000200000000000000000000002000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000400000000000000000000000000000000000000000000000f90159f899940d7e906bd9cafa154b048cfa766cc1e54e39af9be1a0c77f792f838ae38399ac31acc3348389aeb110ce7bedf3cfdbdd5e6679267970b86000000000000000000000000000000000000000000000000000000000000da859000000000000000000000000000000000000000000000000000000000000000b0000000000000000000000000000000000000000000000000000000000000000f8bc94a13baf47339d63b743e7da8741db5456dac1e556f863a026ba82f907317eedc97d0cbef23de76a43dd6edb563bdb6e9407645b950a7a2da00000000000000000000000000000000000000000000000000000000000043283a058f146ca7560d9918af5bf29594a96972eff24a80991b7a10e5c2767aa75fc1db8400d182040ed4716f9f190cdb9606fd7f15e581f2cb01622f8964929e639a66110026931d9ef8e52ba0cb519aa020869da3b2e2898d5e53ae4b427d1f729b54342","gas_used":524604}},{"traces":{"0x1dd8945200f5a09d6fe0ed68494c2ac41cd02e2d":{"code_usage":{"read":"0xef497a07a0558599e19208d0ec2705cd1416e48b4e7a4cc718fe58d1b7f81db5"}},"0xd14fd39630ec941c3ba6c791e3af9e0027013a15":{"code_usage":{"read":"0x70fcfdab150b3b79b66bb0e12c3c241e2552a29f08166eab5050a2e7a2647d3a"}},"0xefbcce4659db72ec6897f46783303708cf9acef8":{"storage_read":["0x7d0a355cd5ad4219590041a18614ff751a281b0322e1aa7538dd29dc194ea4f8","0x0000000000000000000000000000000000000000000000000000000000000001","0xdbdf8d9a531b6b7b4bd264f227c5227ef88a0382e12ee9b55e2508719f0a49c8","0x3a6197d36d83d15aac89e36496191f683a87b6af8646163f1d90e7f6674dbff1","0x79fec77c063bffd3ecb986e2d3aa9662093265e1fcfa410ba644d67b3b551c2e","0xbe75626d61226b01a4edfb8e390f4d222cf79b6dfb5b3699794ae5aed943205b"],"storage_written":{"0x7d0a355cd5ad4219590041a18614ff751a281b0322e1aa7538dd29dc194ea4f8":"0x1"},"code_usage":{"read":"0x076d525fe46f595035c0d87a679bde00fd4a8c507855f12bffdbf4e9b3f150a6"}},"0xf6b83ccadeee478fc372af6ca7069b14fbc5e1b1":{"storage_read":["0xcfc613ca75581d6c63575b6db568ca70c57ce4a185f0e901e5559a1cdf3b8afd","0x92bc322bf5d1ba1b9a8daa53e9ff469eb7a6c0f35242aad9c50d583f4db3b0f9","0x61f12fdd0e31ffc3efb185699e57cac6a62cdd1c3cb8aa2b15c733663731a2df","0x65fc5dc84a7932a50cf217cdea59309d8b9dcf2f0f1b2124809a76619c8255a5","0x37162d9aa1a79da5126d754baa705bd21385b714aafb2d96171242b95e10cd84","0x63e53d5f8c1acbbe6d24891516291c1b07a352f4eac8c98304f4084a7f6feb38","0x1e79786b5484c65580d4c381bea2b1ba840726fc7ce8dd737c74cfe6b1494f9c","0x48c2ea3b46f726e4c0eb7aa2a0b60d038fa2fc7ed1125a74265c7f8beafeeb7e","0x3ae5d7e76985fc385669d9b73c14a4d28fb6f34f0d35d8ffb4a117a1b763aad8"],"code_usage":{"read":"0x00512796fb8c28c59abf1e4640c3142d2595ae34febd290a7c5cfe08078fe3c6"}},"0x85c0fc13f92020851c4710cc6a00c5c0877726c2":{"code_usage":{"read":"0x14c0d596a2d1162c8817dd03b20dea158f095c71807d28f0abc15bd9da5c16a4"}},"0x0d62bac5c346c78dc1b27107cabc5f4de057a830":{"storage_read":["0xdfc952176833a8ca1f790e0fd88805dd79040bc6df433393876bd62d708b5b5b","0xd57f65d0660ba5c0c90bb9363d8f31b4817aa50097359cea1e19eb2ac8751635","0x936f84415a5a4485c81d3b35ac5c297e1da327fb6823d7274da8a755752e2ad5"],"code_usage":{"read":"0x35ca4517312096fbf3c20e58426b41934c29a1e0fb755f399e924faeac06ee4d"}},"0xeca5da0287d407a23f7c0a13a9aad87c7fbc10a3":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000005","0x000000000000000000000000000000000000000000000000000000000000000a"],"code_usage":{"read":"0xf1376c26e10459bf52b280ad0d7c6ea08102492e6c80a9ab4bd5e23519f15a6b"}},"0xf8b8d5193ce4e9edc734b3638b3dbcc5b7d1ab93":{"code_usage":{"read":"0x649853f364d2de80702b5aeff1feef5fb753941b43c2f0ce21af34a690fb527e"}},"0x52c4bb16fba75f6ebd672568267bc334255fb3c5":{"code_usage":{"read":"0x2b564d2ab22d17690c10ea5a57c6c4fe77104d9840c203a6c757d90542225bd9"}},"0x894c4a12548fb18eaa48cf34f9cd874fc08b7fc3":{"storage_read":["0xfcb35fa3635f7891ba9cad42f389d17fe5cec20281392fcb73e0d461b4117f51","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000003","0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85d"],"storage_written":{"0xfcb35fa3635f7891ba9cad42f389d17fe5cec20281392fcb73e0d461b4117f51":"0x1"},"code_usage":{"read":"0x47368c4e3e59abbaed938a08d7b00fd0f60dc8497171ef875ba1d97eb35696ed"}},"0x0000000000000000000000000000000000000005":{},"0x9bcf13c6b68450b427bfa86698d61901a8a3456d":{"code_usage":{"read":"0x89d719a5a9743fc957acba196184da7a937ef6d73bcd69f01d0edd93eb5870be"}},"0x8129b737912e17212c8693b781928f5d0303390a":{"balance":"0xaae8a0fa316cd2ecb","nonce":"0x6a8c7"},"0x0fed12bd8b1b11c629001c436b90bcd99f4fec92":{"code_usage":{"read":"0x5be39a2efa194866d624b2b3a646c52ab9f4f1ba190fb1f5c8e45df4eab9764d"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834676ecbe6dbc1c"}},"meta":{"byte_code":"0x02f93735018306a8c68405f5e1008522ecb25c00834c4b4094894c4a12548fb18eaa48cf34f9cd874fc08b7fc380b936c49b3b76cc00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000304000000000000000000000000000000000000000000000000000000000000031600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000016cb6c74801e8245325e4430bb8970ce5511498096800000000000000000000000064fc1ff529aad420bf20def35206346da5b06c420000000000000000000000000c38da7cb54ea5d7fa7e4925d9151908b4f1a4b5000000000000000000000000052351ff09078d1e16d3d51bf9e8d25768cccc86dded0dee20a843e3b8ab169e04b45f6b00f2809655a6faf01a6757c2d8a6bd2d1ccff944b9bd29332ceba38b0420e354fdde0b92c8dc5cbc2fc3008d7038df9cd358764416603f8f230c2aa905feb6a87fad996816e81a9d75b2c487a0eb571ef0d4c0b59be76a896711a3f4019b7b3fa14187d74555cb53b9108aba9c2ff8f34f997848799e86cba4962a7d05dcd9f11da0384b43e2d2c8771d975c57f6bf94ef2726093951b183de3445ea065778fa312f1eefbc2897f097004b9b83d3ac556dc415567f35c42b0f023da907d3f3df61ea84d4d97669bafee46ec78c654c147d9e44a777e8def71f3b53ea059b0beb0ca1c396711291a643a63914aa535a27769d58df2336d8c5d3e6b7f5015fdc188e70863133f91013b68a4f208af7a94dd7c4a39a15c6fb541b76838201444a7fb7f7e69ab64628db7849b390f8a01e0771b84e681ba8dd202f85f4220004301375fb9590f3e6fbbace15c44894b3be2bdd5db8576d3d0e99974a190b00443425c2f5dcc28e0137646f14458991945ebe74603d630b41af03e093a63a05ccf20ed3dcb11b4ca9e9bd7f9431e4ce08ceb058fed9520b48d79cb835140101ebb9f2f82818baf8897ea323879c2e673b57835e3e481afa958b91375cc37a0087729ad3c980fd3b425e87d98b6f8552a5ce961aaef6ec5eef3d2888b0844603f26e00de150a0b68ad8518b5481b206a362b61e1534b24fe3905b45104cd6900b5f9506e8c8318bd8a4508cc6af5e5306913132548df22a0e103b87cbe65be07e1114b022cca731e0319942750106dd9b7f8cb77e21d3a4fe90bda3ab1d9aa073c56e26795c7b0c17d367bd1984efe3f4f3fa8efb72def6af523f7d1d0718d028e104386c050efef9b7db40f8b525ec45e1b8358562b26eeadc0ece40d224805cf1ba1944a1931b03261c32572cd48b4c661c23517b63e2dc2cfddb8d250b006bbf03ac94d9cfe303a3497ceec0a743e1ace07c679d42d866ab7a3a01389680426b1b2e5bddc0a338a51ce23b957b7847fec0cd1445ca96b47dce26e203def040116e1089d10fe6f6d2678b68d30dd464c3ee0945ba18e48f3a8f0676dee8c038a043be17dd5a465e21ed99420e25155cc3aa39615b38b6b936349640386a801d020cd1aa8564e746881e8b56528a4e2defb6d74de18110368a59abdccf010010b733d70b9aa29c2f91a09d7f3455cffd774f9d395f4a2ced6d450ae3bf96f0678995a5773a675e7c504de22c0ecaacacbee9f0e802473cfa9c4241b9d957901fb8480f2d6143aaeabff474e7cff994985acddbcd9898b8fd75a1ed0407260067751cd379c8df38deec779710279d06c196ee80bd986ebe1baa74c0a2d165d00105ab162303e2f8f23ed98cc26f75bfffecb7bb27979f1a6953a8aaf19b1e702e7b28235ef50f987b8f24e4c0425f786e4cd9504c81d6d3fe9e6b6284a512c0302479a404fd5d7aae0eddc9f6a041534a3966bba8c5b3ecced2888d119dca404b791c4cf030c0ef7967fea6d5f36a99fbfa3b9246dad660dbe0a8039d6e727019ff334426b4f0bf129023587cbc14025d2f4e9818798909822af5cee637e7703c0cb2c8e52041c0061cc9d6b2c877e4c29a019372dc13a7c260091521a623306f049e6b2288f6790bb76dc374c89137a86482626d3d257aafa22f672bff444051b914d0085a78b9fa4f9f34eb65e6a79ebfaf8f9a190522b4c09633dcaf04502a6510f96f8751d68ec6ef4d0fbf5c0cd25ec8d18f7d6bedea7ea5555ee19280646e1bc9fafdc30be382fe87be5dc1186930c964abb721d9ddc29d550c6c3d70157cffd3c07a467339c7c0f46e9998640cdbd55af3f39af28d5c0d19b351a3503f1082ff442194c7de520aa3857902f5f3376274ce97beafa57bb2fa83d3011018662b3b202ede6d51622fb2de0cf787f4de83a0de9ed8b598d9bde983301b207d1ecbafb7978a083e4c11f926bdc406702b26ad418946442fb0707fa699eff02da5531e920b815ceed026b000ea877b4c1e00528cba63f25703bf9416cf01d079aaefa237ab70bf9b27d0444498718e837e1ab88e539bed34927831489e32307c043955d092a19df3f16162bf84284abf739fd3ba97f5f60a7fa5cb4a07e3c0740f3fab988381e1c4198b833600f38a4ba25b9e3b774e1e79ad196663ec7ea048611dcf257004259f9d546c2faca86343a84763a524f17d7ce19e4a37e14e7010bc35e135c6afc3756ba865ce367d5e29a75b8b2c108bde824384ffe985314031f26d2070a0b3040162b0ce6b2e28c025d3f9aaa935054de3ca75e624fea3004dac11a15b9f3c1b75d363b27551947d7e759db3cf6624fdea5ba5ed5b3b81d03f825591a706793b05e9cae965cf1bffa9f78490298fe6eb9fde518d645ac3f050c49168d2d13eb6210ed50bb3e1776dd38c3e0747600ebe1afd66d5d1ddf0f00ae52a7b38e3b8a42fbc644ddf1271c33c79165ef076bc669a1c7a5697d9d7e0023e4cae5bc37f7e7812cf20ca98b8158340e37af7a6d93c71640ad384fddc2009f4c6f9d6a47d7edd8b1653eb167a1a7b7da629fc118a35039ea6717e854fb03e26dd1ab8c3f28a3254876a826c8871002e3cedecc544cb2eef4b2229fc043049db0ce257ec705c1b82dc9595568ed89ea1752dcf6a827ee5050b98c7ae5fa040f14bf8ed70d86f66850bef4daf7eedb61facae6a5b58c7171c07f017a6ccc0732b49b3b185e9a8d9f3528726e241c0ab8ce54ec2999cc355e6a5e0059b9a504397144989dc1b7ebf1b650d6ab9f2bee04475f99b17e307213348bc66d4a1105615de0a9a435d7bca2c202044e721417bd884578dab31f707b843fc60ccc7901f062223883d98ad5488ab2067eebe9cf6576e26085a4da0f07a4d00e584810021bc31c75b02d4b67f509cc2ff1aae78411a63ad4e24846fea1d2ffe151bd21022db49b1767abd30141b1f62f8a538b14d00a657dfc80a26cf9c1d52df68b0e03ee1873a3c773a232e388dd6f6c5e1dfff50a1df8ea85d4e34b76955d5cfd60073ed0e2ec7ba82c8d4f84ab441cfd5213b8a9c2f786abfb3a04bf964a304ffa06046b5ad4992786b822eb1e16aa9724a601cd430e84bb623abd85b3fe63bc9b06eb48fb257e2786604f732c5b89d3610c8e81bf7725f2ebb46c6d8f52c1314807910d6be222138291fe53931454c013b5126fbf45c35c51624fd64db682c21900e56216d88cbd2bfbfa057bd00b6baa3dfccb2d1e9c627156dc54f5ed9684d701a8363da410ae977193dcb56778328cb9656530c6192efd737e4ca05e3be20102ca9205ea13c8efdfd2b8d121e58bd5e6089d647299b0bd8708113500780d5d03a4a4fc7af5611f61015c536dec6848143889b43d079683629e171ba15cfdd10447ea5b8eb3d0d5868745aa2c793b8cbf1b85e0ae7ce00fac4769a0e707b9fe04e5c56d9aee1ac855b5be4acc6dcb8c41204291eb3f3e4c326ced241d348e9f00a09676fe9f519cd0742e4cff7060853ba0cf29706abc56af21d014a6fdbe8700f865b3d7196c23a698a9481dded7d99448ef6055e7fc930c228e59763fe53804533c7124c8c007545095e582dcc922f6c1f52a780d3527230f9557d006c703036f128078bb40b7804493799fa37898ee167de4b73ddbbe3fd6052d923afb85030765191a5795cccec5bc7be8bb0ed5d2edb6c58cea0e337d02e9080763669c00b29e8ceb3587a837a29e74af66bd487ac293e5b93e3595defcf62ff23e674404a5eae6bbc6ea815a8740c39108cf792988c3cfe2f78d6955ae424dc0455216006e4d8f89577808d22faf5b088f14e20d4bd38d1b773e697fd1682ad95616a104335fcf5a3aa20ec9c40d4d9375aa8d6d411bc57ffd67c56734f2c87f0fde3a02f9f5706c45ffbfd2971df7e1eb9fc96f28970710e05899a56adf6ccf641eae0057cb941cef9cfce6874e566f9b1e92ef0bb680638832844169f03792e8e33307d4c5a4d74199f2c6c711ac83804ee744efd6b93507482e1c415e3d9592747e06b458fa4df61923f0046fc71b4e52f4f00942da65f6b96755b8ceda1097968b040fcc1733175ab133529708006dbad7f6b7f09fa896c2a4aa5c578afee36db705e4a7b1b5772e6ac23cd26f332826a8598bbd1374ae86e219523b901676f4520567a5426ae0e4df3bbb697cfbd64713e4d99b882d8297873d03c553439b5f41025e2827e6100c3e4c99e3499235ca9e62a0470714a195e1c22bd8a390c0fabd0188fdc7cac5d40a3b2e7db207700a359b971ddc07ac5815d6760e82647d8f19023f1cce6557a2dff37ca65172e166549925eb98b1637a0d118aa2957ecd159b054c14efe5dc8bd0b977abe34eba17fac70324c6259085bb343540e3c378c9d0013af8361504a49597f65119f711fd74ea03fb2edbed1854bcfe285a7f05d74b03c7c08225dde9c9f5b63aac517132dd4ed4447c7c91f895e3d7b76b9d17798407815078d5fc48d89951282e1253ed31bb115b3b4c475442d14051d025df4792066b28f3fbbc72f500616bcb6c37e18785bb1cf838bb49bf7ea3adb5e9b67b7207873ffc934ad85d6c3bd4b6abe3e1d72416b6a331e62de0834b3db70ab8828e034b95c9dcc4f60c950f73e13c4e8487ffcd4cff9bca3e504f1cbdcdceecd59a048fb019e23b5d3b30532c8ed7a673c4aff3980ad396c80f1a54c44d3fe962700543ea9cfd2c758f85ea0e18b55205648b0b170244e182402385b7f024af3e08074a763068a79724b8b93f9a9d4abf80425bad70010eb3b27bb2c76907f36a28023e17e4f011bda20ef762576210646681ca54adc627b732e31b17bc5f77ace7023ae26bce9c6aa750d6d471810d818d728e649db42ca2e85a7484ff2ba6ce70053fd981f92d2ae539151c5e7df597e02d6f8a8c39eaf3b489a1cb2fb2e569f907ba5e7c41d59e11ab1151f6fd2e13bfb17c3f74364d0dc7acf67312bfd01c4200949771da109fd218f19e413c3649dcce44baa72dde5e25f5e60ff5d873366207a9b76dd782d7f28d44fc9a39f6d8b67be155ca336e5b0ff02444884a34d74e00a0ab16cf02775d7736b27c580ce1b0007ada2a181e54a973f03486be3190a8077ada6a88f3ca3d760e7856c57660b63da5bcfbedd74e3a19c6e2485b91bd9603c245d5baa1715d8d6a2c46f257ed56d2a97186f6378bd6ba383799d6471bfd0258133b761af71ce4b1d6c096a0591126fee367d461feb709f84d11c2b805d501b80bd198561b5d8b7c46ffea0644b88f26cb4bb23598271ce88896cc425f97026d76afb47706c807caeb886d2ac237cedec95866e75d1156243ca07c1c1d7601e1aaf0f0c7e8ceda3753edcec4baaf3db97531c42ce496e3446fb59a25d0f803ccf6d33f8192fb1f8f767fd4b27cade949105f31a4831a8e9e9b98ec345af5023bd5411e5234b29516969154fa53a482c9b9af66d312cbaaa3584f875cb65a048328621d69c1f60c1435af5bd50e74be2a59337b9c9a5e264cf3b0c13ae5ef00c42c8b4caf1644b9222fdef72eba7d581ecb36450566d56bb296619da005ff054d1a46ee45585321941760aecd218110012ccd8e4bb4cce9e36b49b589103f01dd5035242430ac0a975c2ef62a327e34504a7ff1561dec099e9ac8f72b20620227bb7af38f621fd28462ae41b1f070219b11a02370e3f1e888dad46c701a38072e3d19290c37139a9d4cafde9c8b995e806dbeaea6c387e9b6ddc254ed3880012a7a778eac5e606b31351d07b8bd2ebddacbb253a86f68ff1b4eee70e5522800d8b2849e119a6f4341c783f6b3abaca9ec6674bb41d119c179e3bf3b0c35dd03d24078259c3f2aa9bb7042d08267319a37d07f43be0ba9f199828d542a310106d8ebfd3ac52d928cadc31f4c7d45fa413340834835ae178512d379e4b0378c02d94661a3127ca93d1aaebc643f4a7231c86dc1c7e25c0cc107e09dad948adf04195af2acd4c384f56a7a876be736f67de8ec36f0afb6ef64e0af7ef568fdf402f3a2d18a407b28bafa42a0276896ea834db420362f80fe16606c3e7dc268d8b7d75dc3017c55e561ad55abbb43d83ef6fb31e4000000000000000000000000f09ca2304541f5d3e1b4c1702963c9ecdd11203d000000000000000000000000a071334fedec6dafc509c59ea41934b403ea106200000000000000000000000054344a790252ac32af0c6e167ff39d7fffea9ac900000000000000000000000012de40d815b476fd498afee0f5a88bbd96016db4000000000000000000000000ca2ce530fc69d74ff0f14cb4d521e2b009fd63ca000000000000000000000000a9a4221c41019c41430df2aa87a3e1d40d35db140000000000000000000000002ba783abab884c35e9fd266becb6ff0bcd9828e10000000000000000000000004654f078b9341aa46563a1057d23efde47a58b2e00000000000000000000000000c91ce34abac6d6663aef4c71ab60d742686a695812834392aa5070b57b0d8d013bcc48829d5d75d68b9ef8d00772a6fc8bfb1335f3dd8b6de3f387a03b526d006500cf45b88efa27429959bfc4433c52dde5cafe070d0b97be144cb65b8aed038e4d3d20c4217a7f04839a88e69e2fbe2eabd841d4127b80a74b8949f5451d00294a89a5a28f9753984cc096553e3b7aabced641678bc48ed2a505cce2ab0802926febc12a8c1e874da7300da260521192dfd0f4c30bc6d65230c4de771ad4049dbbbf3a179d3f0ef437ed45772bb0054c7a14623773567b765e1eb45c59e90681ca8726552a2023d36c63b579758a63fffe9c4c3e6a4315d74b3e03fbbef0038fb991a7688c3229a32064fc697a893d7febe0a42e57ee402918e01e4171c70310bc474c0618f5e461c4cece6f69fb63a36dfef0192c08d3dc7df8e054fac70202463935eda2c78982185e3ef22ac6370c9f13766d3f93b81dfb1e08e9699d00cdc9c05c6771911da8319e97b3ca11722458644d910289ec80bef55b6cb50602c28198cdbf07eb6806e6e495bf93008dbd7c5a3056a4678a75a510da7f722200efee714e2156e71927165bbd41e9f2f7970fa0cb8123cd3a5ad8ce0f465c1e039d480b17d54b3f67c7672046568454b131d5c48c849cf9c460c0c08690a3460080ba18d2f4476a7dc459bb663600e8241765e74f7783360c76d5d7fe4fa4230164518bf6c906a1f6651866a664929be3daee60275a3c22f54449482184b7cc06229b9ab4953b508f970242d2f50df6b4dfaf9493401cd5112cd87d755419850469b4975dba2b30fc0729c544f02e0dacc2ca8f9ca65249c54b058657cb824806117b25c9be27ea3a4531ca04fe475aa7c9280d7dab9fc2141318d11dceb2d20289bd48f952ddb6e57d2c42a5751c3779d33ba77a97f8a92f6c78a008d3c3ea02b2edf42de04e788d37b3ec0ef283da5d0104f476989cacca23102db47d6fec02b6d0ceb13cbb56cbbb073ae61585cb619ed19bae9b0c67c753a5dbd71ee92e018b355e744f18c52533f89165e186d6d409a83fec044012a95850b9f46f934706ef942759b543970ae4ddc61a1879299526727d4af961dd3889f4e28845615a07329075351833535b33965548db9c4926eeb4472dbf76b05f79b3f617d75c520639928a1b1c4c022330179e7320750d63b3bfe5b1eb7dc88a43916764d10834045219c4039f7ee5c51d3e00074789ad4d0672881871c744131c395d6667c75f0768edbf7c2d1816b471e76c1ddae9f5b2997a7cfee1fd28083aa7aa3eabd93801a42c10097f91878742921a0cc9a0a87e2517c65f80e3ea892926906ff6527903f900428d8804cf03a00a83f0e41734cb1161c0c47ff2cc0d0d71f8bc3979d701f5abe97ae4e26feaefd7e5bed4576ffed8c50fa36e5041967c8b7ab25e786400103c595718843af9392728dde8e90d328d1447420c54251102befc6941fc82031bea5e3335486d2fabb7301e6c5ca72fbfefb1e9f2df8ee9fb618f4320e1fa05b88a82e8deed473c2c452a25759c68156ad5ee04b59535a7bac3adc6324be6061ec9a46a70ce80b4e9113be5451ccba6dd28566b3dd7df786eb06916a8533c05502126766a8d1b26611a5d68560212f0f4fe9bd6d67479f586ff14f0b50a4202975fae7081a9652da951f4cfea371a18507fc008d2ef1de4b84d8b5a5c972007e4364eef107dcf7e1fabb0d7ed0bc4c7593a8ad66fa8c46ea2dcf0a2d9978e0749e1b914a0ecf4d056012691d87bd9dabb660e3c9a0b1f7d489cec5da9c7ce05ad97cb4150c142397f86ec646f9c519be0bba5649ae02c3c74c1899d56c57b078aaa388bdd36fc0f0662c8605a3a0852573171109913ca93fc0a1f2453a0c1005faa4915b0d2f96dd138d30ee84ba52d2718b1bb217c85180eaa0042c1f6fa0196a824b9dc40636d8c58e89d0177116b8f2c45ed9842ba5192ebb1436763ae069eaf11861b0c792a37c17904ec339acea3689a7758f0cbccec53996b773cf906197e335d07166f0ee8c1c4164c5fcfec0e69d41a44d4790a958ab9b99be5c103f0965e8596da47a240a68e8d4a06a3b9352eab92e1b209e99fe596db7e0836003f0a47bab8b1706c071aa67e731d94f213c0f11529cc7b3a42e087ee74d14402067ff4924751c35f9aff38427262ab57b0773033bfc20195dafd8053f39ee3066c8bc067a109b68eb3ab2ec4f01c0b9f20a0ee0ff9ce26130712d207be0e66058e4b573e970e92e8d7de57a3215a698ebc85ac040de934d1ca35e37063ae030266a3a4ffdb596885af9c4fe0006083742e69cfaa352c3aca0ce3ac798ab99001517d8a19699f90246c23ef350cbfd935ae0f141a573543a2952e881dbb5d0407e8de4fe69d65c78f5f14dc269bbf26d9048269fdaa3e9b853f904ff270bdb403ae62381be9e54979886275ba0164365bdd1de86851b0eff164ba9c31d2c97b04db961f4b14701dce8701ee0c6681e1caaf580c46631a13ad8a1ad0862b687905756c82f45c96c9300144b5d5a50c738185a1394791761e9a54e9a844a521a20766c741449a7c7185acf062d495bb2e0e1bde94e5b8d2c04ad7c23af8dc045303282313e0b00cb83a046834131fe0dbabb0913c8dce8f293ebac58d03824c50079f8d2ae22425746c81a0a6293cf8738b2e22181541cda1453b158a4fb0469a04b28802b744ec1f872349cd816cc03ded8988dbdb40614bdc8504e466ab09e60009005bbd3c729dcd1a7f7fa8f3e5f0fff1da69cf26e98ad2121837d9ca957803159f96469074b01ee64da9d66d22de2252bc38bae13b12f70f837e917f704b076a1460c784835ca9b49ce9f562bfc6f66d42854a99a6279c23522f3929e52a00000000083210d1035f67ffafd403c05ee2227edca968c2d42db7c00fe1443def201aa2cf7a707802ad0c30ef942a0ab3c6b49007b42276dbda088ddeb6bd3fe4d436740c253946063ee8025fc076ca3ee6ff889b333a9ab62783067a27d4139ce962f8bbdc329003b2a04a3f1580ec35352bdff154ffa6151a4d42d09001e9be98b39846d886a802a955de6b10483837b85c7f1bf5c5254a6efcdffba9f4e4398a26e789ed169a0467fabf9f56623516f2ec936ce2f077ab757e16e36f6793bd5814dbc3e99812076e188af354b03b08a8d076577e48271e53dc4ffd6d550c2cdeb82e567d1b5704da9227b1180a616f5d4d838f5a0914099fee358777e995950c1d64d0bcfb7706bb515758644e39dcd3f8a58955a8e19797dd58dc7178139ca0ef56d7a453a70312b10f598cb814a00dd091a3d102d615bb2498e72fe05609c6a318ee66dfbb0571182e16b1497436f376c5ecf3e746f1eff0bc7472f84635762231b9a891b800b70c0db90e920800514cacaffb43e8302ba564bc0a9c6b2968629b167ee1610010351095818610c3e3ab740cf31bcf1b072bb0309f083adf9732a30a312c7904b71fdca2028247b39225bf5014d6acdb7ed668a0a034d7375be1e6064ac2b700e3e382e1a2bf8c26185dd3abad34fa92b9393e7efa11090cd9d4c289899f7a019756d737added11a1de12204080ffa06540732e6226e9fee0b5348a11b4f56035fb763e9b918815af2293752dca6b72f3e39dbc194dc3917a7fd1993aaf20d021021593c5697fe959677aad6227e343e98f81683064990e1b1195625ecf9ad06b8170a1ffa311016104c60b251c384f58b95fef5e57f770b6299ddaa8db79207567048b74e619d59dfdc7beddaa98eca11eb309c627498a6afe9422f1d1df004f26c3a22be57abd717bb210efe3d9a2391915f71104e7594548209f1f0f0b004596c3a06c030526ccf73f1db7479a91edd652cceab04f541b1c0d63efa3df4039171950a5eb9ea8aab3ed2bd5ff8608010dca22bde9216702c3c0c7ed68877007bd0b2c5dde2930e8338dc1b6d4f87b22c767dbeb4c4c7c3e030aff583503f06877202c08d8b283394fbd71c472c741ad5f9ce24739f7e4069450b470dacdc0607e3e9ea14f47841069f1eca1bb48bd773b408e4a0386df1a6df8aa102838e008694344b7eb5541b7ee92eec081a12557bd66164379f68576265c69fe9cfe60074855781e993d96a61a6ec840448a8e9cc41d25e3492bf573dc418a5b38fc406adc2ac8582093cdc5e1b44fab6a4fd43a9452399e4a910de41b47358b39d0800b6be14994c0e160f571fcbc16ffbcfcda7df50af2d2308afdc943c46156e0102db8be1bc9eb93db4e7d0b904c9692a374ed90dc133aa5e9c09b6a187ae4eb70044d7e6215ea3082f3cb3dbf6143c5e854e3e6241bedaef627368e74487442c01d395e89bdccb149f40d0c93fcf263813ef60d4a132d109e44d3f436244d25907a4aa114257383bac35dac65d3f09274f6f90345780e12b2aa621d6d7a08744062bd72110f6d6c9aa6f15650448fd6baab41fd5210b8877a7d75dc221d37b5f06edc7744d862020b4e13205af65067dbd26207f2e2387d90ac22bd150f83dfe029bc6ef3cd90c92c140a424f7bec504f284be694a1aec5e92f1483e1f022f1104fe050cf153aba05177100f931a24060dd9d451ba272bbf105c43f2cf6196eb05d4923f8bd874452982cf69faebcea39e7ac0af3c3b04faeda054bf72e0c63f0343931f29db85858843558ed424882c05aa53a93d55cae869f8ad1488873b63039bf02917de63bffa89e00c2f84b0f4b050ab458aa75641d149ce5da37d399606f9b23e7e46ba16e45f64bb4a396132b392afe68f4173012907205cd6af29aa00304219bfc756f66bb901be5c00bb9218c3678e4378d39e224b813eea0f8f050241de80fafbe6c464ff730f1cc5c7c9e4d4ea66bda5924ea3789b5d79afab4c0045616aad92a4327090ff42e6fd132c61616e9bcd2edcd12961db0457e3039207dac5c3bc8f413b54353be98eaf93825f79ec009e7a056931aeaf88887dd8360637726933144203b64507d23ad39aa4f520ed0cd4e04c9cf6d360297a34b5000497b050cff80bf6d546b9000770faa60aaeaae68ceeeda168948fab470ac908027bc873bc3596f40a3738aab33f3f622a810d7e4e4e26664f351dd3bc80b8d9027409eafa2dff43c90baf1e0946543363d2e96f04ea531b601099d181218cb00363788390bd4482faa2b40ff5c1671765a88105d37f27f02c9a1096deb6eeee047852600155dae2e4dd02dcd3bf7e903a7a9418d06ca69d07959dbe9beb13fe01745c228f1ebc530fc047e99ed6052bf0fdddb82363fa39817ef59ed704479f07669c4bfb2f67cf44f99a39fbecc008616fc083030bba5510d26feb6b42f3d9069d450d6506266376a47778148c9131cb47af035b664b86419e48c25b8dbb3c04765f0b909305fd71c7060369a189662deb5acc28e7b8755c70902bd5c493620327b3631da37fe8a2e2de077eff7e8c1e5ab52abb3cf415a4fca3cfc46eacd003a42fe86336f0268030fc0e3fd4efa7773e2a2c709724df992e7bf1eb3fe3c101db2ca022fc24e5e477a0fce98f11885f153ce5748f115f2f4614f56bd6bd52023487112a0612d9db9b6001083bbd1e1c27e178b665efd5723e808dd55439ce004001b794f56e20b0b66fa49e896134a0beb92a9e68420956dda6c507da4337042b861d85aac876afcbd3ba5c3ccd3f97541f7518dbec9ef171f71c33d0a1bd02edfc48a63d9b41dd57d51f953d70265386ee84180ef3c3a4484e3695289d7b059ac535dd010d79837e42a03e92b6b03f00423f8e78cdfe99694f575911e5fe07a2603e0c089db1c86728a1cd68de8407ce915d822773c6a122aba029366d7d05f1112fab26ee7428423b8b4f723d994c1a8c25cfb4b923d0beeb0b1033beb6059353d66bf17aad2807b92531728c93fb53b690085c4bf07564744fdd83b6e004bb6af3672540e358efbc30f165c4aa591cee4570680e8b55d018816f2a3b9f03e827ede8edd1490409d510817c79bb79f1acd4390fcb2be39678e55e89b1af05620173a570a7fccd2481f41e0bff753f6faebe30b9543eb72f664bc68373f405a4904307b1450881b5c1fd5086b2fad3efe8e199d015a007671d9771f7325c01eaf77e84af31cca8ba1f46ef14eb8d8e83c7ecabb0d761976af8baad961b3c0480af9fd0646b56c7d81a765326a0048061050e5bd0a801cbfc95920013126207399e10ce96b0b19bcbe05b6db70fa6d92b97b79b3ec7bd5a8a71bc71ed66c30682d5b860e0c5dafb0df0b87707a680d1e3ab02dc99c602ebdfd355b027e63905ff3440f142c93b6e2886e7f586f6200a67363ed1a524c55e993879da7a7e68004fa7f3ba25262b1cbc51b1d90f502c60c25f793790d94cbfdc272fbe76ddc604b6343a8fdcd0580486cba0df87df037071bd4b180ac821ff911d39a491a7f1027d89c95985ca3d8e64af401052ace1003aac71d59c3a96562a275e32520d0d00581b9c6283f82dcaaabd9c1729cc6d3a76545226a9c29bc96850ab5d797ceb05fbcb817a826b00d507d36259f9b51ef5cad47cda37725141e3bddd6e0dfcc70044d821d974cf1a0f4babada2140b5c82278e52f1588b4519c54cef4a394cf505d4642cecb0b6eef7e6c87fe96d0911541acec6456f869dcdf28c4689d27a3202746945cfb24144530ce43a703563ccd4cc7c3337283b913c2fe7d7522b3dbe00bdb4df068324bd6e7cf3d54d7d65b753b719f0a9de591afb0ab722349c297102e71e973485c30d4849e4f6c8a982d26f3fed09fdce4280cfd76de156f857b8061adc819aa3ea9c376a198ab39f564ffd7d6159223f686080f06deedc4a573f050fe0f6ac1c032111e31f656fec85066effd5bbcdbbd2779fe1c1613c85294702d6a61ef127b0838c2154b3dbd7d7837482295f3f35928269fbd87e6cb64c17044f17698dfcc2d645085615758be8d8e2880a23740294b0dc4875c59205110f02cc6f567109b69e8df44fee31ec291aa3df4cd1a88a738634897bb979ddbba803102e6aed9d0857fd738b2ad03e18b83d8453dc48bff4c3bddf00f43d93855a008687d4bb034029e651a18312142e3c2c571dbcf9057b27a355aee16008bd05050a0c2fc922c75f7864f1c6f796f48aee8509cacf5ebd9f11176dfe550b9d3e00b4f9c2fc77edadb3a6772d986478021aa53c00e2ddb2c27901156ac890e0c5042c418b85d2d08a16679bb95bd1c2ffb1e2221079650dc1097c2b4bbf8241bb00546ef0faeb291053260cdba7146c469e1afff175db85bcffa7cc9cb87c9c54026e4130377451ad29a47a24d7b1baa28709099096a2e170126f4ed15515a91405ea134943ce43c472fce98c78a48c857011003d3274be041a495da7978c1e1703559a97591fb43cacd4664dd6e2bd292daf16de5c12b54642dd61be1011e5ee05c0a9ea4b5dd7e67b4f99a9bb4a0c8cf682c1f0e187b83065635400407ba573021b63118345bd5f4adfe6e4135df1b27df4316d2aaf14f0797a891b34a3abf4030ee0bac5c1c8988574827967c17efa6a21771c60275f211ee421403adbdcb706ccd125ce6ed7cd7b3a4635daaecfd23c76784fd6a0b3f54f19ad34d7c3091d0664bf54b3eca37e79004786cf3698e36c752da7f8e2dff677b1718a5146e8e604ea1cb172b00d2874712b3f75da2e8a192a40be50943e1fa356762e3b2d6f6702900557f7d7d7a99091519f5f56e18132c66be937f272df3d1140613cf886fb02c1133aaf5a85f0afee56712e8ef938b95d379fd91f01c668f0c60b368163400757457f138e764e8bb12992587f7fca02f37ee482a08cf1a8d6ab9161982bcd07830b1135bd8fcf68f683631fad948f66150811ba00291402ab948cb063c34e04c991cf383b2b52422fdc13fcff3bf67525b761f2eb9e258c778e3ca1fe6bbe065fcfa931c265b0814dec37c152c3eb968666315254d54111a303e1d1e82ed9004a214ae6d19053bd003f873fee551e69224c806e111cd88098a57ad2a7c771016a1af6ca46dd0939969f308b5aaa27f25161cc84b778788449fe7dfe157afa01e4fc0097a0c813b3a58770e774a56d709f73c266575603ccaebc9d0535446b072fa8706feedbaef000148651ab5ac11c04504b6255ddfe2c616aeb78bac49f0413cf4d3d32455864e0b3cdad11e7bb25ad1293563790b8919b2e24703eacbd0336e4bbdae1dbd89e6b342f9e61b925191fbfc118899638d50dc123e294389e0558bd8964fa8b8ce5dcceadbe0ba1926eca48599006e6f7301548c7454db6de07ca86ab2cecce0d6d82f9a5e2c8b312cc97c08ce5b35dfd090c848c99497136024987bd2faad18ed82021789287e68b2f0a36daec5480678a14b795626e1897077d00d5d9a747175d08339ff69c45679d0c048c34e18e7339871187716f70d50258d064296f9bac7bd68d9211858becdba9c9da9d3b477dc6b60deee07c6080013171535437fce028efae796f26fde0e51be4cbe4cca0d75198d5472fdbfde406e84599997b0bfe672cb91a9f979f978cb162a938b52a9359fd728e410c6d25040cd76d3655f0f926dc657c974d333c15fc050c8c5dd489c1ea789b75dcb36500fd4726d8b513ec45cd673beb34541e080ce410b78edd290f6d91078301497a0391a36b0a8233904fc6102bea93c0ddbec52299382a367caf5370616947ab4a01a99f1609fdf7035c569dee6899d9f3c7fa0c5bc1dac2b9f32b8fa9df8b91580219a71f565785ea38b1835a2fbc2ba8a6e534cc57fd75742c6ff1799ac4e1d70589194fbd3c9de49cd5843fb812c035b698b41aec4fd56e93bdbd6f7ba63937031b29bf3ec42bf9e01556c965ee3533f258a2fbba68f3495fd84a5ccc99f38102e696c35ae58e6679eaa5e0c66a4793c2a31f6ab9a79a5bace10c4bdda184bd06b878b4752dc72bcedcbdd3221020b31b148a29383dddfce02c8a9e01f3d21002c45805922180d59003867777341474cc7541a99c65d565467f4314f825c4e3068a8e583405472d3d8d3a2e6310983bbbebf557d8637985dc370635aba3168b0235636b0f7661b65a427bb0fdab50d5111c31a179e1e377ed1692a1706bf3d90230f1571396aaccea3392cfe0614200892cd45cab34532dc41be62977fbb7ea01b7ecfcbc9f1c06a583bdc8862fd7f87ad5cb1376f7976dbab08b165940f34f03a50f5e6813634f102e6902fdae88d26baf9c9fa36687fe8f51a996b2b0376305c95eb6d3b90c7bfb175010053d003df65b7d9010085c912f560bb4310b8e0d035f890d2563deb3c71e6c5e6628b10c5544a65870515b233d9840029e4d101a0663935bde779057190f1e0ef58133675eb5c7737888d38534b316c70bcaa71f0145430edd94f8b9356f77d22dcd936904cf4fed490e7c75e687b5a8cc09a27a14f93c6e0dbed5049284bf4bd4e59ec407e53966a3f659f0ee49f3073e215ddcb590fff1835e031235954ea2ef1a0c1e073f248d423378f66a6e9caaeace0d2edf60d11e4c322724c9fbf2d87737c83dc4a26b1d3886f9b446a55301e3fe0dfbf137b866763bd663562d8287883ee428c320b22b64633a959888416791a2ee414525173eceb60cc1d63671555981a26a0a15dde0c83518f85c688848b193455bcacb730256e25f298f6e363bf9480680c0b98a97e64cc83d30a5c1ae2ea152d050e8cd28d89516de60623b297a0eea492b186448e6bb64e8a7138bb58aa3f073631e68c09ca61740789b5885f7268d5ccd1e48f66575891f0f43c9f01646b848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000b1006aef41a7100a913e3883a8d5a7c72f7daf44843f6f418990e2ac092e94706e800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000001b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff000000000000000000000000000000000000000000000070657270657475616c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000e600000000000000000000000000000000000000000000000000000000064d556500000000000000000000000000000000000000000000000000000000064d556500000000000000000000000000000000000000000000000000000000064d607600000000000000000000000000000000000000000000000000000000064d60760000000000000000000000000000000000000000000000000000000006a23d5c00000000000000000000000000000000000000000000000000000000070d60760000000000000000000000000000000000000000000000000000000007549ffd00000000000000000000000000000000000000000000000000000000078d607600000000000000000000000000000000000000000000000000000000078e197e00000000000000000000000000000000000000000000000000000000078f607600000000000000000000000000000000000000000000000000000000078f607800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000001104800180018000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000ed7cdbb537f6923cd927ced149ae73b3546d4efabae335c9b4d86df84f860df92c00000000000000000000000000000000000000000000000000000000064d5568000000000000000000000000000000000000000000000000000000000000023fe853602e43e619fca5447092f4a7f9b201811f8fa87b6023e9dcd60ba3e10cb600000000000000000000000000000000000000000000000000000000064d57a700000000000000000000000000000000000000000000000000000000000003e8e9402b71db83e2be7410ba58075e15e5c9019b91729ba992c0f281eb7cd6685a00000000000000000000000000000000000000000000000000000000064d5b8f00000000000000000000000000000000000000000000000000000000000003e86a4befa41c5df8eaf622b4879126577b6fef6dfaf4182110b5e6c99c111f4e4900000000000000000000000000000000000000000000000000000000064d5f7700000000000000000000000000000000000000000000000000000000000000ffb8165ab9bf0676849da9ea652ad86b181c0ba0848745d3f33d77b4ca362ad5fe078e95f3345eee1acd558be83811003f7d1d08e6d82d7ff00a7fa5a3dd2fd33106f0ce4803494ceed56ed7c7b2cba72753271d2e92b1a79b087540e317743c2806feaa6786f7885f4a13810d1b0a95dc2ccbe0dc3f0058ac3d51f32c3f9f143a003519582a3b333b808ddb556610d02c57de10f08eb2d2251f49e1843591f4790153cfc2cdedbaf4c62d92d599dc4b571d45526b0f72fec9ea76c784a3cca3950072b93d506fdd5c528107dd7b7d6ce0a240a2b69b70f1237658d00a8def5bc602a291efbcc46a86328c2b6cc44a1e872415092d054ea1e7387d47c7a062f6a6c001a069a39b29e7f520e6307537944a1adc2d3a47b78098f2c6f4fe1098a7dbc9cdd5a00d0519cccf7614a0e80ba60f0d564afed2a77dfc9052853c7c40e16c7dcd3a6b","new_txn_trie_node_byte":"0x02f93735018306a8c68405f5e1008522ecb25c00834c4b4094894c4a12548fb18eaa48cf34f9cd874fc08b7fc380b936c49b3b76cc00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000000304000000000000000000000000000000000000000000000000000000000000031600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000016cb6c74801e8245325e4430bb8970ce5511498096800000000000000000000000064fc1ff529aad420bf20def35206346da5b06c420000000000000000000000000c38da7cb54ea5d7fa7e4925d9151908b4f1a4b5000000000000000000000000052351ff09078d1e16d3d51bf9e8d25768cccc86dded0dee20a843e3b8ab169e04b45f6b00f2809655a6faf01a6757c2d8a6bd2d1ccff944b9bd29332ceba38b0420e354fdde0b92c8dc5cbc2fc3008d7038df9cd358764416603f8f230c2aa905feb6a87fad996816e81a9d75b2c487a0eb571ef0d4c0b59be76a896711a3f4019b7b3fa14187d74555cb53b9108aba9c2ff8f34f997848799e86cba4962a7d05dcd9f11da0384b43e2d2c8771d975c57f6bf94ef2726093951b183de3445ea065778fa312f1eefbc2897f097004b9b83d3ac556dc415567f35c42b0f023da907d3f3df61ea84d4d97669bafee46ec78c654c147d9e44a777e8def71f3b53ea059b0beb0ca1c396711291a643a63914aa535a27769d58df2336d8c5d3e6b7f5015fdc188e70863133f91013b68a4f208af7a94dd7c4a39a15c6fb541b76838201444a7fb7f7e69ab64628db7849b390f8a01e0771b84e681ba8dd202f85f4220004301375fb9590f3e6fbbace15c44894b3be2bdd5db8576d3d0e99974a190b00443425c2f5dcc28e0137646f14458991945ebe74603d630b41af03e093a63a05ccf20ed3dcb11b4ca9e9bd7f9431e4ce08ceb058fed9520b48d79cb835140101ebb9f2f82818baf8897ea323879c2e673b57835e3e481afa958b91375cc37a0087729ad3c980fd3b425e87d98b6f8552a5ce961aaef6ec5eef3d2888b0844603f26e00de150a0b68ad8518b5481b206a362b61e1534b24fe3905b45104cd6900b5f9506e8c8318bd8a4508cc6af5e5306913132548df22a0e103b87cbe65be07e1114b022cca731e0319942750106dd9b7f8cb77e21d3a4fe90bda3ab1d9aa073c56e26795c7b0c17d367bd1984efe3f4f3fa8efb72def6af523f7d1d0718d028e104386c050efef9b7db40f8b525ec45e1b8358562b26eeadc0ece40d224805cf1ba1944a1931b03261c32572cd48b4c661c23517b63e2dc2cfddb8d250b006bbf03ac94d9cfe303a3497ceec0a743e1ace07c679d42d866ab7a3a01389680426b1b2e5bddc0a338a51ce23b957b7847fec0cd1445ca96b47dce26e203def040116e1089d10fe6f6d2678b68d30dd464c3ee0945ba18e48f3a8f0676dee8c038a043be17dd5a465e21ed99420e25155cc3aa39615b38b6b936349640386a801d020cd1aa8564e746881e8b56528a4e2defb6d74de18110368a59abdccf010010b733d70b9aa29c2f91a09d7f3455cffd774f9d395f4a2ced6d450ae3bf96f0678995a5773a675e7c504de22c0ecaacacbee9f0e802473cfa9c4241b9d957901fb8480f2d6143aaeabff474e7cff994985acddbcd9898b8fd75a1ed0407260067751cd379c8df38deec779710279d06c196ee80bd986ebe1baa74c0a2d165d00105ab162303e2f8f23ed98cc26f75bfffecb7bb27979f1a6953a8aaf19b1e702e7b28235ef50f987b8f24e4c0425f786e4cd9504c81d6d3fe9e6b6284a512c0302479a404fd5d7aae0eddc9f6a041534a3966bba8c5b3ecced2888d119dca404b791c4cf030c0ef7967fea6d5f36a99fbfa3b9246dad660dbe0a8039d6e727019ff334426b4f0bf129023587cbc14025d2f4e9818798909822af5cee637e7703c0cb2c8e52041c0061cc9d6b2c877e4c29a019372dc13a7c260091521a623306f049e6b2288f6790bb76dc374c89137a86482626d3d257aafa22f672bff444051b914d0085a78b9fa4f9f34eb65e6a79ebfaf8f9a190522b4c09633dcaf04502a6510f96f8751d68ec6ef4d0fbf5c0cd25ec8d18f7d6bedea7ea5555ee19280646e1bc9fafdc30be382fe87be5dc1186930c964abb721d9ddc29d550c6c3d70157cffd3c07a467339c7c0f46e9998640cdbd55af3f39af28d5c0d19b351a3503f1082ff442194c7de520aa3857902f5f3376274ce97beafa57bb2fa83d3011018662b3b202ede6d51622fb2de0cf787f4de83a0de9ed8b598d9bde983301b207d1ecbafb7978a083e4c11f926bdc406702b26ad418946442fb0707fa699eff02da5531e920b815ceed026b000ea877b4c1e00528cba63f25703bf9416cf01d079aaefa237ab70bf9b27d0444498718e837e1ab88e539bed34927831489e32307c043955d092a19df3f16162bf84284abf739fd3ba97f5f60a7fa5cb4a07e3c0740f3fab988381e1c4198b833600f38a4ba25b9e3b774e1e79ad196663ec7ea048611dcf257004259f9d546c2faca86343a84763a524f17d7ce19e4a37e14e7010bc35e135c6afc3756ba865ce367d5e29a75b8b2c108bde824384ffe985314031f26d2070a0b3040162b0ce6b2e28c025d3f9aaa935054de3ca75e624fea3004dac11a15b9f3c1b75d363b27551947d7e759db3cf6624fdea5ba5ed5b3b81d03f825591a706793b05e9cae965cf1bffa9f78490298fe6eb9fde518d645ac3f050c49168d2d13eb6210ed50bb3e1776dd38c3e0747600ebe1afd66d5d1ddf0f00ae52a7b38e3b8a42fbc644ddf1271c33c79165ef076bc669a1c7a5697d9d7e0023e4cae5bc37f7e7812cf20ca98b8158340e37af7a6d93c71640ad384fddc2009f4c6f9d6a47d7edd8b1653eb167a1a7b7da629fc118a35039ea6717e854fb03e26dd1ab8c3f28a3254876a826c8871002e3cedecc544cb2eef4b2229fc043049db0ce257ec705c1b82dc9595568ed89ea1752dcf6a827ee5050b98c7ae5fa040f14bf8ed70d86f66850bef4daf7eedb61facae6a5b58c7171c07f017a6ccc0732b49b3b185e9a8d9f3528726e241c0ab8ce54ec2999cc355e6a5e0059b9a504397144989dc1b7ebf1b650d6ab9f2bee04475f99b17e307213348bc66d4a1105615de0a9a435d7bca2c202044e721417bd884578dab31f707b843fc60ccc7901f062223883d98ad5488ab2067eebe9cf6576e26085a4da0f07a4d00e584810021bc31c75b02d4b67f509cc2ff1aae78411a63ad4e24846fea1d2ffe151bd21022db49b1767abd30141b1f62f8a538b14d00a657dfc80a26cf9c1d52df68b0e03ee1873a3c773a232e388dd6f6c5e1dfff50a1df8ea85d4e34b76955d5cfd60073ed0e2ec7ba82c8d4f84ab441cfd5213b8a9c2f786abfb3a04bf964a304ffa06046b5ad4992786b822eb1e16aa9724a601cd430e84bb623abd85b3fe63bc9b06eb48fb257e2786604f732c5b89d3610c8e81bf7725f2ebb46c6d8f52c1314807910d6be222138291fe53931454c013b5126fbf45c35c51624fd64db682c21900e56216d88cbd2bfbfa057bd00b6baa3dfccb2d1e9c627156dc54f5ed9684d701a8363da410ae977193dcb56778328cb9656530c6192efd737e4ca05e3be20102ca9205ea13c8efdfd2b8d121e58bd5e6089d647299b0bd8708113500780d5d03a4a4fc7af5611f61015c536dec6848143889b43d079683629e171ba15cfdd10447ea5b8eb3d0d5868745aa2c793b8cbf1b85e0ae7ce00fac4769a0e707b9fe04e5c56d9aee1ac855b5be4acc6dcb8c41204291eb3f3e4c326ced241d348e9f00a09676fe9f519cd0742e4cff7060853ba0cf29706abc56af21d014a6fdbe8700f865b3d7196c23a698a9481dded7d99448ef6055e7fc930c228e59763fe53804533c7124c8c007545095e582dcc922f6c1f52a780d3527230f9557d006c703036f128078bb40b7804493799fa37898ee167de4b73ddbbe3fd6052d923afb85030765191a5795cccec5bc7be8bb0ed5d2edb6c58cea0e337d02e9080763669c00b29e8ceb3587a837a29e74af66bd487ac293e5b93e3595defcf62ff23e674404a5eae6bbc6ea815a8740c39108cf792988c3cfe2f78d6955ae424dc0455216006e4d8f89577808d22faf5b088f14e20d4bd38d1b773e697fd1682ad95616a104335fcf5a3aa20ec9c40d4d9375aa8d6d411bc57ffd67c56734f2c87f0fde3a02f9f5706c45ffbfd2971df7e1eb9fc96f28970710e05899a56adf6ccf641eae0057cb941cef9cfce6874e566f9b1e92ef0bb680638832844169f03792e8e33307d4c5a4d74199f2c6c711ac83804ee744efd6b93507482e1c415e3d9592747e06b458fa4df61923f0046fc71b4e52f4f00942da65f6b96755b8ceda1097968b040fcc1733175ab133529708006dbad7f6b7f09fa896c2a4aa5c578afee36db705e4a7b1b5772e6ac23cd26f332826a8598bbd1374ae86e219523b901676f4520567a5426ae0e4df3bbb697cfbd64713e4d99b882d8297873d03c553439b5f41025e2827e6100c3e4c99e3499235ca9e62a0470714a195e1c22bd8a390c0fabd0188fdc7cac5d40a3b2e7db207700a359b971ddc07ac5815d6760e82647d8f19023f1cce6557a2dff37ca65172e166549925eb98b1637a0d118aa2957ecd159b054c14efe5dc8bd0b977abe34eba17fac70324c6259085bb343540e3c378c9d0013af8361504a49597f65119f711fd74ea03fb2edbed1854bcfe285a7f05d74b03c7c08225dde9c9f5b63aac517132dd4ed4447c7c91f895e3d7b76b9d17798407815078d5fc48d89951282e1253ed31bb115b3b4c475442d14051d025df4792066b28f3fbbc72f500616bcb6c37e18785bb1cf838bb49bf7ea3adb5e9b67b7207873ffc934ad85d6c3bd4b6abe3e1d72416b6a331e62de0834b3db70ab8828e034b95c9dcc4f60c950f73e13c4e8487ffcd4cff9bca3e504f1cbdcdceecd59a048fb019e23b5d3b30532c8ed7a673c4aff3980ad396c80f1a54c44d3fe962700543ea9cfd2c758f85ea0e18b55205648b0b170244e182402385b7f024af3e08074a763068a79724b8b93f9a9d4abf80425bad70010eb3b27bb2c76907f36a28023e17e4f011bda20ef762576210646681ca54adc627b732e31b17bc5f77ace7023ae26bce9c6aa750d6d471810d818d728e649db42ca2e85a7484ff2ba6ce70053fd981f92d2ae539151c5e7df597e02d6f8a8c39eaf3b489a1cb2fb2e569f907ba5e7c41d59e11ab1151f6fd2e13bfb17c3f74364d0dc7acf67312bfd01c4200949771da109fd218f19e413c3649dcce44baa72dde5e25f5e60ff5d873366207a9b76dd782d7f28d44fc9a39f6d8b67be155ca336e5b0ff02444884a34d74e00a0ab16cf02775d7736b27c580ce1b0007ada2a181e54a973f03486be3190a8077ada6a88f3ca3d760e7856c57660b63da5bcfbedd74e3a19c6e2485b91bd9603c245d5baa1715d8d6a2c46f257ed56d2a97186f6378bd6ba383799d6471bfd0258133b761af71ce4b1d6c096a0591126fee367d461feb709f84d11c2b805d501b80bd198561b5d8b7c46ffea0644b88f26cb4bb23598271ce88896cc425f97026d76afb47706c807caeb886d2ac237cedec95866e75d1156243ca07c1c1d7601e1aaf0f0c7e8ceda3753edcec4baaf3db97531c42ce496e3446fb59a25d0f803ccf6d33f8192fb1f8f767fd4b27cade949105f31a4831a8e9e9b98ec345af5023bd5411e5234b29516969154fa53a482c9b9af66d312cbaaa3584f875cb65a048328621d69c1f60c1435af5bd50e74be2a59337b9c9a5e264cf3b0c13ae5ef00c42c8b4caf1644b9222fdef72eba7d581ecb36450566d56bb296619da005ff054d1a46ee45585321941760aecd218110012ccd8e4bb4cce9e36b49b589103f01dd5035242430ac0a975c2ef62a327e34504a7ff1561dec099e9ac8f72b20620227bb7af38f621fd28462ae41b1f070219b11a02370e3f1e888dad46c701a38072e3d19290c37139a9d4cafde9c8b995e806dbeaea6c387e9b6ddc254ed3880012a7a778eac5e606b31351d07b8bd2ebddacbb253a86f68ff1b4eee70e5522800d8b2849e119a6f4341c783f6b3abaca9ec6674bb41d119c179e3bf3b0c35dd03d24078259c3f2aa9bb7042d08267319a37d07f43be0ba9f199828d542a310106d8ebfd3ac52d928cadc31f4c7d45fa413340834835ae178512d379e4b0378c02d94661a3127ca93d1aaebc643f4a7231c86dc1c7e25c0cc107e09dad948adf04195af2acd4c384f56a7a876be736f67de8ec36f0afb6ef64e0af7ef568fdf402f3a2d18a407b28bafa42a0276896ea834db420362f80fe16606c3e7dc268d8b7d75dc3017c55e561ad55abbb43d83ef6fb31e4000000000000000000000000f09ca2304541f5d3e1b4c1702963c9ecdd11203d000000000000000000000000a071334fedec6dafc509c59ea41934b403ea106200000000000000000000000054344a790252ac32af0c6e167ff39d7fffea9ac900000000000000000000000012de40d815b476fd498afee0f5a88bbd96016db4000000000000000000000000ca2ce530fc69d74ff0f14cb4d521e2b009fd63ca000000000000000000000000a9a4221c41019c41430df2aa87a3e1d40d35db140000000000000000000000002ba783abab884c35e9fd266becb6ff0bcd9828e10000000000000000000000004654f078b9341aa46563a1057d23efde47a58b2e00000000000000000000000000c91ce34abac6d6663aef4c71ab60d742686a695812834392aa5070b57b0d8d013bcc48829d5d75d68b9ef8d00772a6fc8bfb1335f3dd8b6de3f387a03b526d006500cf45b88efa27429959bfc4433c52dde5cafe070d0b97be144cb65b8aed038e4d3d20c4217a7f04839a88e69e2fbe2eabd841d4127b80a74b8949f5451d00294a89a5a28f9753984cc096553e3b7aabced641678bc48ed2a505cce2ab0802926febc12a8c1e874da7300da260521192dfd0f4c30bc6d65230c4de771ad4049dbbbf3a179d3f0ef437ed45772bb0054c7a14623773567b765e1eb45c59e90681ca8726552a2023d36c63b579758a63fffe9c4c3e6a4315d74b3e03fbbef0038fb991a7688c3229a32064fc697a893d7febe0a42e57ee402918e01e4171c70310bc474c0618f5e461c4cece6f69fb63a36dfef0192c08d3dc7df8e054fac70202463935eda2c78982185e3ef22ac6370c9f13766d3f93b81dfb1e08e9699d00cdc9c05c6771911da8319e97b3ca11722458644d910289ec80bef55b6cb50602c28198cdbf07eb6806e6e495bf93008dbd7c5a3056a4678a75a510da7f722200efee714e2156e71927165bbd41e9f2f7970fa0cb8123cd3a5ad8ce0f465c1e039d480b17d54b3f67c7672046568454b131d5c48c849cf9c460c0c08690a3460080ba18d2f4476a7dc459bb663600e8241765e74f7783360c76d5d7fe4fa4230164518bf6c906a1f6651866a664929be3daee60275a3c22f54449482184b7cc06229b9ab4953b508f970242d2f50df6b4dfaf9493401cd5112cd87d755419850469b4975dba2b30fc0729c544f02e0dacc2ca8f9ca65249c54b058657cb824806117b25c9be27ea3a4531ca04fe475aa7c9280d7dab9fc2141318d11dceb2d20289bd48f952ddb6e57d2c42a5751c3779d33ba77a97f8a92f6c78a008d3c3ea02b2edf42de04e788d37b3ec0ef283da5d0104f476989cacca23102db47d6fec02b6d0ceb13cbb56cbbb073ae61585cb619ed19bae9b0c67c753a5dbd71ee92e018b355e744f18c52533f89165e186d6d409a83fec044012a95850b9f46f934706ef942759b543970ae4ddc61a1879299526727d4af961dd3889f4e28845615a07329075351833535b33965548db9c4926eeb4472dbf76b05f79b3f617d75c520639928a1b1c4c022330179e7320750d63b3bfe5b1eb7dc88a43916764d10834045219c4039f7ee5c51d3e00074789ad4d0672881871c744131c395d6667c75f0768edbf7c2d1816b471e76c1ddae9f5b2997a7cfee1fd28083aa7aa3eabd93801a42c10097f91878742921a0cc9a0a87e2517c65f80e3ea892926906ff6527903f900428d8804cf03a00a83f0e41734cb1161c0c47ff2cc0d0d71f8bc3979d701f5abe97ae4e26feaefd7e5bed4576ffed8c50fa36e5041967c8b7ab25e786400103c595718843af9392728dde8e90d328d1447420c54251102befc6941fc82031bea5e3335486d2fabb7301e6c5ca72fbfefb1e9f2df8ee9fb618f4320e1fa05b88a82e8deed473c2c452a25759c68156ad5ee04b59535a7bac3adc6324be6061ec9a46a70ce80b4e9113be5451ccba6dd28566b3dd7df786eb06916a8533c05502126766a8d1b26611a5d68560212f0f4fe9bd6d67479f586ff14f0b50a4202975fae7081a9652da951f4cfea371a18507fc008d2ef1de4b84d8b5a5c972007e4364eef107dcf7e1fabb0d7ed0bc4c7593a8ad66fa8c46ea2dcf0a2d9978e0749e1b914a0ecf4d056012691d87bd9dabb660e3c9a0b1f7d489cec5da9c7ce05ad97cb4150c142397f86ec646f9c519be0bba5649ae02c3c74c1899d56c57b078aaa388bdd36fc0f0662c8605a3a0852573171109913ca93fc0a1f2453a0c1005faa4915b0d2f96dd138d30ee84ba52d2718b1bb217c85180eaa0042c1f6fa0196a824b9dc40636d8c58e89d0177116b8f2c45ed9842ba5192ebb1436763ae069eaf11861b0c792a37c17904ec339acea3689a7758f0cbccec53996b773cf906197e335d07166f0ee8c1c4164c5fcfec0e69d41a44d4790a958ab9b99be5c103f0965e8596da47a240a68e8d4a06a3b9352eab92e1b209e99fe596db7e0836003f0a47bab8b1706c071aa67e731d94f213c0f11529cc7b3a42e087ee74d14402067ff4924751c35f9aff38427262ab57b0773033bfc20195dafd8053f39ee3066c8bc067a109b68eb3ab2ec4f01c0b9f20a0ee0ff9ce26130712d207be0e66058e4b573e970e92e8d7de57a3215a698ebc85ac040de934d1ca35e37063ae030266a3a4ffdb596885af9c4fe0006083742e69cfaa352c3aca0ce3ac798ab99001517d8a19699f90246c23ef350cbfd935ae0f141a573543a2952e881dbb5d0407e8de4fe69d65c78f5f14dc269bbf26d9048269fdaa3e9b853f904ff270bdb403ae62381be9e54979886275ba0164365bdd1de86851b0eff164ba9c31d2c97b04db961f4b14701dce8701ee0c6681e1caaf580c46631a13ad8a1ad0862b687905756c82f45c96c9300144b5d5a50c738185a1394791761e9a54e9a844a521a20766c741449a7c7185acf062d495bb2e0e1bde94e5b8d2c04ad7c23af8dc045303282313e0b00cb83a046834131fe0dbabb0913c8dce8f293ebac58d03824c50079f8d2ae22425746c81a0a6293cf8738b2e22181541cda1453b158a4fb0469a04b28802b744ec1f872349cd816cc03ded8988dbdb40614bdc8504e466ab09e60009005bbd3c729dcd1a7f7fa8f3e5f0fff1da69cf26e98ad2121837d9ca957803159f96469074b01ee64da9d66d22de2252bc38bae13b12f70f837e917f704b076a1460c784835ca9b49ce9f562bfc6f66d42854a99a6279c23522f3929e52a00000000083210d1035f67ffafd403c05ee2227edca968c2d42db7c00fe1443def201aa2cf7a707802ad0c30ef942a0ab3c6b49007b42276dbda088ddeb6bd3fe4d436740c253946063ee8025fc076ca3ee6ff889b333a9ab62783067a27d4139ce962f8bbdc329003b2a04a3f1580ec35352bdff154ffa6151a4d42d09001e9be98b39846d886a802a955de6b10483837b85c7f1bf5c5254a6efcdffba9f4e4398a26e789ed169a0467fabf9f56623516f2ec936ce2f077ab757e16e36f6793bd5814dbc3e99812076e188af354b03b08a8d076577e48271e53dc4ffd6d550c2cdeb82e567d1b5704da9227b1180a616f5d4d838f5a0914099fee358777e995950c1d64d0bcfb7706bb515758644e39dcd3f8a58955a8e19797dd58dc7178139ca0ef56d7a453a70312b10f598cb814a00dd091a3d102d615bb2498e72fe05609c6a318ee66dfbb0571182e16b1497436f376c5ecf3e746f1eff0bc7472f84635762231b9a891b800b70c0db90e920800514cacaffb43e8302ba564bc0a9c6b2968629b167ee1610010351095818610c3e3ab740cf31bcf1b072bb0309f083adf9732a30a312c7904b71fdca2028247b39225bf5014d6acdb7ed668a0a034d7375be1e6064ac2b700e3e382e1a2bf8c26185dd3abad34fa92b9393e7efa11090cd9d4c289899f7a019756d737added11a1de12204080ffa06540732e6226e9fee0b5348a11b4f56035fb763e9b918815af2293752dca6b72f3e39dbc194dc3917a7fd1993aaf20d021021593c5697fe959677aad6227e343e98f81683064990e1b1195625ecf9ad06b8170a1ffa311016104c60b251c384f58b95fef5e57f770b6299ddaa8db79207567048b74e619d59dfdc7beddaa98eca11eb309c627498a6afe9422f1d1df004f26c3a22be57abd717bb210efe3d9a2391915f71104e7594548209f1f0f0b004596c3a06c030526ccf73f1db7479a91edd652cceab04f541b1c0d63efa3df4039171950a5eb9ea8aab3ed2bd5ff8608010dca22bde9216702c3c0c7ed68877007bd0b2c5dde2930e8338dc1b6d4f87b22c767dbeb4c4c7c3e030aff583503f06877202c08d8b283394fbd71c472c741ad5f9ce24739f7e4069450b470dacdc0607e3e9ea14f47841069f1eca1bb48bd773b408e4a0386df1a6df8aa102838e008694344b7eb5541b7ee92eec081a12557bd66164379f68576265c69fe9cfe60074855781e993d96a61a6ec840448a8e9cc41d25e3492bf573dc418a5b38fc406adc2ac8582093cdc5e1b44fab6a4fd43a9452399e4a910de41b47358b39d0800b6be14994c0e160f571fcbc16ffbcfcda7df50af2d2308afdc943c46156e0102db8be1bc9eb93db4e7d0b904c9692a374ed90dc133aa5e9c09b6a187ae4eb70044d7e6215ea3082f3cb3dbf6143c5e854e3e6241bedaef627368e74487442c01d395e89bdccb149f40d0c93fcf263813ef60d4a132d109e44d3f436244d25907a4aa114257383bac35dac65d3f09274f6f90345780e12b2aa621d6d7a08744062bd72110f6d6c9aa6f15650448fd6baab41fd5210b8877a7d75dc221d37b5f06edc7744d862020b4e13205af65067dbd26207f2e2387d90ac22bd150f83dfe029bc6ef3cd90c92c140a424f7bec504f284be694a1aec5e92f1483e1f022f1104fe050cf153aba05177100f931a24060dd9d451ba272bbf105c43f2cf6196eb05d4923f8bd874452982cf69faebcea39e7ac0af3c3b04faeda054bf72e0c63f0343931f29db85858843558ed424882c05aa53a93d55cae869f8ad1488873b63039bf02917de63bffa89e00c2f84b0f4b050ab458aa75641d149ce5da37d399606f9b23e7e46ba16e45f64bb4a396132b392afe68f4173012907205cd6af29aa00304219bfc756f66bb901be5c00bb9218c3678e4378d39e224b813eea0f8f050241de80fafbe6c464ff730f1cc5c7c9e4d4ea66bda5924ea3789b5d79afab4c0045616aad92a4327090ff42e6fd132c61616e9bcd2edcd12961db0457e3039207dac5c3bc8f413b54353be98eaf93825f79ec009e7a056931aeaf88887dd8360637726933144203b64507d23ad39aa4f520ed0cd4e04c9cf6d360297a34b5000497b050cff80bf6d546b9000770faa60aaeaae68ceeeda168948fab470ac908027bc873bc3596f40a3738aab33f3f622a810d7e4e4e26664f351dd3bc80b8d9027409eafa2dff43c90baf1e0946543363d2e96f04ea531b601099d181218cb00363788390bd4482faa2b40ff5c1671765a88105d37f27f02c9a1096deb6eeee047852600155dae2e4dd02dcd3bf7e903a7a9418d06ca69d07959dbe9beb13fe01745c228f1ebc530fc047e99ed6052bf0fdddb82363fa39817ef59ed704479f07669c4bfb2f67cf44f99a39fbecc008616fc083030bba5510d26feb6b42f3d9069d450d6506266376a47778148c9131cb47af035b664b86419e48c25b8dbb3c04765f0b909305fd71c7060369a189662deb5acc28e7b8755c70902bd5c493620327b3631da37fe8a2e2de077eff7e8c1e5ab52abb3cf415a4fca3cfc46eacd003a42fe86336f0268030fc0e3fd4efa7773e2a2c709724df992e7bf1eb3fe3c101db2ca022fc24e5e477a0fce98f11885f153ce5748f115f2f4614f56bd6bd52023487112a0612d9db9b6001083bbd1e1c27e178b665efd5723e808dd55439ce004001b794f56e20b0b66fa49e896134a0beb92a9e68420956dda6c507da4337042b861d85aac876afcbd3ba5c3ccd3f97541f7518dbec9ef171f71c33d0a1bd02edfc48a63d9b41dd57d51f953d70265386ee84180ef3c3a4484e3695289d7b059ac535dd010d79837e42a03e92b6b03f00423f8e78cdfe99694f575911e5fe07a2603e0c089db1c86728a1cd68de8407ce915d822773c6a122aba029366d7d05f1112fab26ee7428423b8b4f723d994c1a8c25cfb4b923d0beeb0b1033beb6059353d66bf17aad2807b92531728c93fb53b690085c4bf07564744fdd83b6e004bb6af3672540e358efbc30f165c4aa591cee4570680e8b55d018816f2a3b9f03e827ede8edd1490409d510817c79bb79f1acd4390fcb2be39678e55e89b1af05620173a570a7fccd2481f41e0bff753f6faebe30b9543eb72f664bc68373f405a4904307b1450881b5c1fd5086b2fad3efe8e199d015a007671d9771f7325c01eaf77e84af31cca8ba1f46ef14eb8d8e83c7ecabb0d761976af8baad961b3c0480af9fd0646b56c7d81a765326a0048061050e5bd0a801cbfc95920013126207399e10ce96b0b19bcbe05b6db70fa6d92b97b79b3ec7bd5a8a71bc71ed66c30682d5b860e0c5dafb0df0b87707a680d1e3ab02dc99c602ebdfd355b027e63905ff3440f142c93b6e2886e7f586f6200a67363ed1a524c55e993879da7a7e68004fa7f3ba25262b1cbc51b1d90f502c60c25f793790d94cbfdc272fbe76ddc604b6343a8fdcd0580486cba0df87df037071bd4b180ac821ff911d39a491a7f1027d89c95985ca3d8e64af401052ace1003aac71d59c3a96562a275e32520d0d00581b9c6283f82dcaaabd9c1729cc6d3a76545226a9c29bc96850ab5d797ceb05fbcb817a826b00d507d36259f9b51ef5cad47cda37725141e3bddd6e0dfcc70044d821d974cf1a0f4babada2140b5c82278e52f1588b4519c54cef4a394cf505d4642cecb0b6eef7e6c87fe96d0911541acec6456f869dcdf28c4689d27a3202746945cfb24144530ce43a703563ccd4cc7c3337283b913c2fe7d7522b3dbe00bdb4df068324bd6e7cf3d54d7d65b753b719f0a9de591afb0ab722349c297102e71e973485c30d4849e4f6c8a982d26f3fed09fdce4280cfd76de156f857b8061adc819aa3ea9c376a198ab39f564ffd7d6159223f686080f06deedc4a573f050fe0f6ac1c032111e31f656fec85066effd5bbcdbbd2779fe1c1613c85294702d6a61ef127b0838c2154b3dbd7d7837482295f3f35928269fbd87e6cb64c17044f17698dfcc2d645085615758be8d8e2880a23740294b0dc4875c59205110f02cc6f567109b69e8df44fee31ec291aa3df4cd1a88a738634897bb979ddbba803102e6aed9d0857fd738b2ad03e18b83d8453dc48bff4c3bddf00f43d93855a008687d4bb034029e651a18312142e3c2c571dbcf9057b27a355aee16008bd05050a0c2fc922c75f7864f1c6f796f48aee8509cacf5ebd9f11176dfe550b9d3e00b4f9c2fc77edadb3a6772d986478021aa53c00e2ddb2c27901156ac890e0c5042c418b85d2d08a16679bb95bd1c2ffb1e2221079650dc1097c2b4bbf8241bb00546ef0faeb291053260cdba7146c469e1afff175db85bcffa7cc9cb87c9c54026e4130377451ad29a47a24d7b1baa28709099096a2e170126f4ed15515a91405ea134943ce43c472fce98c78a48c857011003d3274be041a495da7978c1e1703559a97591fb43cacd4664dd6e2bd292daf16de5c12b54642dd61be1011e5ee05c0a9ea4b5dd7e67b4f99a9bb4a0c8cf682c1f0e187b83065635400407ba573021b63118345bd5f4adfe6e4135df1b27df4316d2aaf14f0797a891b34a3abf4030ee0bac5c1c8988574827967c17efa6a21771c60275f211ee421403adbdcb706ccd125ce6ed7cd7b3a4635daaecfd23c76784fd6a0b3f54f19ad34d7c3091d0664bf54b3eca37e79004786cf3698e36c752da7f8e2dff677b1718a5146e8e604ea1cb172b00d2874712b3f75da2e8a192a40be50943e1fa356762e3b2d6f6702900557f7d7d7a99091519f5f56e18132c66be937f272df3d1140613cf886fb02c1133aaf5a85f0afee56712e8ef938b95d379fd91f01c668f0c60b368163400757457f138e764e8bb12992587f7fca02f37ee482a08cf1a8d6ab9161982bcd07830b1135bd8fcf68f683631fad948f66150811ba00291402ab948cb063c34e04c991cf383b2b52422fdc13fcff3bf67525b761f2eb9e258c778e3ca1fe6bbe065fcfa931c265b0814dec37c152c3eb968666315254d54111a303e1d1e82ed9004a214ae6d19053bd003f873fee551e69224c806e111cd88098a57ad2a7c771016a1af6ca46dd0939969f308b5aaa27f25161cc84b778788449fe7dfe157afa01e4fc0097a0c813b3a58770e774a56d709f73c266575603ccaebc9d0535446b072fa8706feedbaef000148651ab5ac11c04504b6255ddfe2c616aeb78bac49f0413cf4d3d32455864e0b3cdad11e7bb25ad1293563790b8919b2e24703eacbd0336e4bbdae1dbd89e6b342f9e61b925191fbfc118899638d50dc123e294389e0558bd8964fa8b8ce5dcceadbe0ba1926eca48599006e6f7301548c7454db6de07ca86ab2cecce0d6d82f9a5e2c8b312cc97c08ce5b35dfd090c848c99497136024987bd2faad18ed82021789287e68b2f0a36daec5480678a14b795626e1897077d00d5d9a747175d08339ff69c45679d0c048c34e18e7339871187716f70d50258d064296f9bac7bd68d9211858becdba9c9da9d3b477dc6b60deee07c6080013171535437fce028efae796f26fde0e51be4cbe4cca0d75198d5472fdbfde406e84599997b0bfe672cb91a9f979f978cb162a938b52a9359fd728e410c6d25040cd76d3655f0f926dc657c974d333c15fc050c8c5dd489c1ea789b75dcb36500fd4726d8b513ec45cd673beb34541e080ce410b78edd290f6d91078301497a0391a36b0a8233904fc6102bea93c0ddbec52299382a367caf5370616947ab4a01a99f1609fdf7035c569dee6899d9f3c7fa0c5bc1dac2b9f32b8fa9df8b91580219a71f565785ea38b1835a2fbc2ba8a6e534cc57fd75742c6ff1799ac4e1d70589194fbd3c9de49cd5843fb812c035b698b41aec4fd56e93bdbd6f7ba63937031b29bf3ec42bf9e01556c965ee3533f258a2fbba68f3495fd84a5ccc99f38102e696c35ae58e6679eaa5e0c66a4793c2a31f6ab9a79a5bace10c4bdda184bd06b878b4752dc72bcedcbdd3221020b31b148a29383dddfce02c8a9e01f3d21002c45805922180d59003867777341474cc7541a99c65d565467f4314f825c4e3068a8e583405472d3d8d3a2e6310983bbbebf557d8637985dc370635aba3168b0235636b0f7661b65a427bb0fdab50d5111c31a179e1e377ed1692a1706bf3d90230f1571396aaccea3392cfe0614200892cd45cab34532dc41be62977fbb7ea01b7ecfcbc9f1c06a583bdc8862fd7f87ad5cb1376f7976dbab08b165940f34f03a50f5e6813634f102e6902fdae88d26baf9c9fa36687fe8f51a996b2b0376305c95eb6d3b90c7bfb175010053d003df65b7d9010085c912f560bb4310b8e0d035f890d2563deb3c71e6c5e6628b10c5544a65870515b233d9840029e4d101a0663935bde779057190f1e0ef58133675eb5c7737888d38534b316c70bcaa71f0145430edd94f8b9356f77d22dcd936904cf4fed490e7c75e687b5a8cc09a27a14f93c6e0dbed5049284bf4bd4e59ec407e53966a3f659f0ee49f3073e215ddcb590fff1835e031235954ea2ef1a0c1e073f248d423378f66a6e9caaeace0d2edf60d11e4c322724c9fbf2d87737c83dc4a26b1d3886f9b446a55301e3fe0dfbf137b866763bd663562d8287883ee428c320b22b64633a959888416791a2ee414525173eceb60cc1d63671555981a26a0a15dde0c83518f85c688848b193455bcacb730256e25f298f6e363bf9480680c0b98a97e64cc83d30a5c1ae2ea152d050e8cd28d89516de60623b297a0eea492b186448e6bb64e8a7138bb58aa3f073631e68c09ca61740789b5885f7268d5ccd1e48f66575891f0f43c9f01646b848000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000b1006aef41a7100a913e3883a8d5a7c72f7daf44843f6f418990e2ac092e94706e800000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000001b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffff000000000000000000000000000000000000000000000070657270657475616c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000e600000000000000000000000000000000000000000000000000000000064d556500000000000000000000000000000000000000000000000000000000064d556500000000000000000000000000000000000000000000000000000000064d607600000000000000000000000000000000000000000000000000000000064d60760000000000000000000000000000000000000000000000000000000006a23d5c00000000000000000000000000000000000000000000000000000000070d60760000000000000000000000000000000000000000000000000000000007549ffd00000000000000000000000000000000000000000000000000000000078d607600000000000000000000000000000000000000000000000000000000078e197e00000000000000000000000000000000000000000000000000000000078f607600000000000000000000000000000000000000000000000000000000078f607800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000001104800180018000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000ed7cdbb537f6923cd927ced149ae73b3546d4efabae335c9b4d86df84f860df92c00000000000000000000000000000000000000000000000000000000064d5568000000000000000000000000000000000000000000000000000000000000023fe853602e43e619fca5447092f4a7f9b201811f8fa87b6023e9dcd60ba3e10cb600000000000000000000000000000000000000000000000000000000064d57a700000000000000000000000000000000000000000000000000000000000003e8e9402b71db83e2be7410ba58075e15e5c9019b91729ba992c0f281eb7cd6685a00000000000000000000000000000000000000000000000000000000064d5b8f00000000000000000000000000000000000000000000000000000000000003e86a4befa41c5df8eaf622b4879126577b6fef6dfaf4182110b5e6c99c111f4e4900000000000000000000000000000000000000000000000000000000064d5f7700000000000000000000000000000000000000000000000000000000000000ffb8165ab9bf0676849da9ea652ad86b181c0ba0848745d3f33d77b4ca362ad5fe078e95f3345eee1acd558be83811003f7d1d08e6d82d7ff00a7fa5a3dd2fd33106f0ce4803494ceed56ed7c7b2cba72753271d2e92b1a79b087540e317743c2806feaa6786f7885f4a13810d1b0a95dc2ccbe0dc3f0058ac3d51f32c3f9f143a003519582a3b333b808ddb556610d02c57de10f08eb2d2251f49e1843591f4790153cfc2cdedbaf4c62d92d599dc4b571d45526b0f72fec9ea76c784a3cca3950072b93d506fdd5c528107dd7b7d6ce0a240a2b69b70f1237658d00a8def5bc602a291efbcc46a86328c2b6cc44a1e872415092d054ea1e7387d47c7a062f6a6c001a069a39b29e7f520e6307537944a1adc2d3a47b78098f2c6f4fe1098a7dbc9cdd5a00d0519cccf7614a0e80ba60f0d564afed2a77dfc9052853c7c40e16c7dcd3a6b","new_receipt_trie_node_byte":"0xb902c602f902c20183b20caeb9010000000000000000000000000000000000000000000000000000080000000200400000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000001000000000000001000000000010800040000000000000000000000008000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000f901b7f89994efbcce4659db72ec6897f46783303708cf9acef8e1a098fd0d40bd3e226c28fb29ff2d386bd8f9e19f2f8436441e6b854651d3b687b3b86049ddc5520d7b5aabc7df7bb644560b0b1bb2fc40d64ad6034fd4aeb0dd372cb77cdbb537f6923cd927ced149ae73b3546d4efabae335c9b4d86df84f860df92c078e95f3345eee1acd558be83811003f7d1d08e6d82d7ff00a7fa5a3dd2fd331f9011994894c4a12548fb18eaa48cf34f9cd874fc08b7fc3e1a073b132cb33951232d83dc0f1f81c2d10f9a2598f057404ed02756716092097bbb8e0d81625b5fee72cb89705896938293d1ee337b9861b3a20f31b508a91d762937d00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000004e853602e43e619fca5447092f4a7f9b201811f8fa87b6023e9dcd60ba3e10cb6e9402b71db83e2be7410ba58075e15e5c9019b91729ba992c0f281eb7cd6685a6a4befa41c5df8eaf622b4879126577b6fef6dfaf4182110b5e6c99c111f4e49b8165ab9bf0676849da9ea652ad86b181c0ba0848745d3f33d77b4ca362ad5fe","gas_used":1543227}},{"traces":{"0xa767054705bbc28fcde681d9f09129c710262880":{"balance":"0x74c027196ea543","nonce":"0x1b"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83467c1945ed8a9c"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0xf766220b7ede6ca43c6c0a51fe68aaf53ae5496f768af6dc20df21edde7e7440","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x506fbc9ddc858d8ca9349e1dd70699b7a9be895eca1947f608cc0a018236363b","0x30941114882aa6e864273e7731ea3f231028e6f735ae84cd01a9b2fee882884e"],"storage_written":{"0x30941114882aa6e864273e7731ea3f231028e6f735ae84cd01a9b2fee882884e":"0x2540be400","0x506fbc9ddc858d8ca9349e1dd70699b7a9be895eca1947f608cc0a018236363b":"0x4c4b40"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}}},"meta":{"byte_code":"0x02f8b1011a84055d4a808501b752a0d48301132f94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000000d7939f1274708b28026d2285d298d5173f79db300000000000000000000000000000000000000000000000000000002540be400c080a03e1feaf22d1caaee79acf4ebee2877addb06f6ffc864d890145dcc4f76038487a0394f36a50581206640641b21e9e8cdb5cf2a12db2fcab76f8473c4c07adc1fca","new_txn_trie_node_byte":"0x02f8b1011a84055d4a808501b752a0d48301132f94dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000000d7939f1274708b28026d2285d298d5173f79db300000000000000000000000000000000000000000000000000000002540be400c080a03e1feaf22d1caaee79acf4ebee2877addb06f6ffc864d890145dcc4f76038487a0394f36a50581206640641b21e9e8cdb5cf2a12db2fcab76f8473c4c07adc1fca","new_receipt_trie_node_byte":"0xb901ab02f901a70183b30397b9010000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000010000000000000000000000000000000000000001000000000000000008000000800000000000000000000000000000000000010000000000000000000000000000000000000000040000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000040000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a767054705bbc28fcde681d9f09129c710262880a00000000000000000000000000d7939f1274708b28026d2285d298d5173f79db3a000000000000000000000000000000000000000000000000000000002540be400","gas_used":63209}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83467fdef921ff1c"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x6f3ed4a29363b005fc4ed1166f9b0d0e2eede218301fc5026a846d58cfa60514","0x8f8694567ff954472d0b7b8453c3f91ad098410cc2c80ccb5bacc0a55b7127c5","0x0000000000000000000000000000000000000000000000000000000000000000","0xb5b8ef070f0e815a84304c1b58bc657725eec5a81a9f77074652083f51c28d96"],"storage_written":{"0x8f8694567ff954472d0b7b8453c3f91ad098410cc2c80ccb5bacc0a55b7127c5":"0x7459280","0x6f3ed4a29363b005fc4ed1166f9b0d0e2eede218301fc5026a846d58cfa60514":"0x96ae3800"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x9eb752ad73cc5b7c460f8aa156aad6fef7300f5f":{"balance":"0xb8866c00412266","nonce":"0x1b0"}},"meta":{"byte_code":"0x02f8b2018201af84055d4a808501b752a0d482c7a994dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000021f4be91ce831c0becaec4a8cb82f3695300843b00000000000000000000000000000000000000000000000000000000004c4b40c080a05b97cbfbe12922b28a819a6e4438e631ade843c6cadf433c036a68fb7b034afca00ab8f4d35c7e49f0ac68af41c7cf6a51ef32f9f7f8551c5ac881b6a4d1bce988","new_txn_trie_node_byte":"0x02f8b2018201af84055d4a808501b752a0d482c7a994dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000021f4be91ce831c0becaec4a8cb82f3695300843b00000000000000000000000000000000000000000000000000000000004c4b40c080a05b97cbfbe12922b28a819a6e4438e631ade843c6cadf433c036a68fb7b034afca00ab8f4d35c7e49f0ac68af41c7cf6a51ef32f9f7f8551c5ac881b6a4d1bce988","new_receipt_trie_node_byte":"0xb901ab02f901a70183b3b79cb9010000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000020000000002000000000000000000010000000020000010000000000000000000000000001000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009eb752ad73cc5b7c460f8aa156aad6fef7300f5fa000000000000000000000000021f4be91ce831c0becaec4a8cb82f3695300843ba000000000000000000000000000000000000000000000000000000000004c4b40","gas_used":46085}},{"traces":{"0x0000000000000000000000000000000000000001":{},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0xef4edaff75c06968bba73ac8b25ae12bcdbb31f5c8d81d69a10d27c8e2c1863a","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x828d961e33c5d8c110d40025a0c470038f9143adb9df2526f11234503cd86a90"],"storage_written":{"0x828d961e33c5d8c110d40025a0c470038f9143adb9df2526f11234503cd86a90":"0x10e75fe725c099b846","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0xef4edaff75c06968bba73ac8b25ae12bcdbb31f5c8d81d69a10d27c8e2c1863a":"0x43da14d6d6a8d1b32f"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x3e00aee52066ee270f8badf0b5bb41993f057321":{"balance":"0x5a6230b2dc2e33","nonce":"0x2e9"},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0xe3fc3b4a6d698991218558a243b64c5dff28253297666f48f923c80e6daf0a66"],"storage_written":{"0xe3fc3b4a6d698991218558a243b64c5dff28253297666f48f923c80e6daf0a66":"0x1000066af682affffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0xbe0ed4138121ecfc5c0e56b40517da27e6c5226b":{"storage_read":["0xaf1e90e52b55d6171b066953c98031fe0cc759505628b869431882128fabe077","0xfb062c7acd358bb7d8e2d812655f8dec7caebb591725da120976167b6f420e1c","0x43ba45c8c13dbd6729d8212f9cd8d1bf56a36625d059e404b50db999a02160be"],"storage_written":{"0x43ba45c8c13dbd6729d8212f9cd8d1bf56a36625d059e404b50db999a02160be":"0x0","0xaf1e90e52b55d6171b066953c98031fe0cc759505628b869431882128fabe077":"0x2e4cc00731c3d525c70b48"},"code_usage":{"read":"0x20c1b4cdf457a9e0069cb04c93542d9e14e23f5d9fea43bd9c78e18c0ae9e09d"}},"0xd31d41dffa3589bb0c0183e46a1eed983a5e5978":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000001","0x8a9a513b9791a18d5272680de0b8170980d584db74d5cc608d89e97f4ae4c892"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x65045f4594a58405d63e07ef47ebc5c7e","0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000fe5db90000000000000000013608ea7e655d212335808c"},"code_usage":{"read":"0x97451c404ba4b9f3f561e39fb2d1087023bc8dc2c5b0cae93f61703cd16ae296"}},"0xc3db44adc1fcdfd5671f555236eae49f4a8eea18":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002","0x9b637a02e6f8cc8aa1e3935c0b27bde663b11428c7707039634076a3fb8a0c48","0x0000000000000000000000000000000000000000000000000000000000000000"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x1000258025800d8fea1d2000000000000000002e538766bc6911e39228b04","0x0000000000000000000000000000000000000000000000000000000000000002":"0x514f7462eef6c681da7ebda82280f8"},"code_usage":{"read":"0x5f2d4b6ca0910bc326b7d3a4f9cc839fdc6d383f7ae59409db93afd299b2571d"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x57e114b691db790c35207b2e685d4a43181e6061":{"storage_read":["0x97c61cf25a75e9ae063e7f086838f5736319e97f8e04cdbe66d8130ec48cfa79","0x485c151f646ee015010d293862658dc47c828088bd28e4735650f01ee0ca233e","0xcb0951ce7b0d1ba73bbf0e2be16ace8e2f9994605e6a07a951e34beb4c758400","0xf99ffea4c6126c0c5a74df3f9332c27a0f7cd6fdde0b35ba64704bb7551a4a8c"],"storage_written":{"0x97c61cf25a75e9ae063e7f086838f5736319e97f8e04cdbe66d8130ec48cfa79":"0x8ba77fc29c0085ea812fd","0xf99ffea4c6126c0c5a74df3f9332c27a0f7cd6fdde0b35ba64704bb7551a4a8c":"0x68beb731fd4d10dae","0x485c151f646ee015010d293862658dc47c828088bd28e4735650f01ee0ca233e":"0x0","0xcb0951ce7b0d1ba73bbf0e2be16ace8e2f9994605e6a07a951e34beb4c758400":"0x131738b7435d42a5e3"},"code_usage":{"read":"0x0da00342e67404f8e369602a4e3d60895f8d85a014242bf4effcb46b8079f00c"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834691eef97ada5c"}},"meta":{"byte_code":"0x02f90574018202e884050ae4c08501a13b86008306894e943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b905043593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd8700000000000000000000000000000000000000000000000000000000000000040a00060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af682a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e23200000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000415e85b22c6510b9a1faee581d523ce65a9a43dfbf6e8f802e46bc152e37fc01be3ddfe6df8302ddb5246120a366badaced9c2870ac8b0e8180ff1f044c00b7a901c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000025f273933db570000000000000000000000000000000000000000000000000000644f6a471949496e700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000042be0ed4138121ecfc5c0e56b40517da27e6c5226b000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb857e114b691db790c35207b2e685d4a43181e6061000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000057e114b691db790c35207b2e685d4a43181e606100000000000000000000000077777d91c0b8ec9984a05302e4ef041dccf77fee0000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006000000000000000000000000057e114b691db790c35207b2e685d4a43181e606100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000063c22da9448a0927dc001a09e34ae96ff46dbf4728d6108312c8a1f83e99610015ff402a2dcf98cd14579d0a0624e5f0babb64f4159058c3a7b57dc7684ef2abc9a8a306f69ff68969b515ccd","new_txn_trie_node_byte":"0x02f90574018202e884050ae4c08501a13b86008306894e943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b905043593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd8700000000000000000000000000000000000000000000000000000000000000040a00060400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000160000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226b000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af682a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e23200000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000415e85b22c6510b9a1faee581d523ce65a9a43dfbf6e8f802e46bc152e37fc01be3ddfe6df8302ddb5246120a366badaced9c2870ac8b0e8180ff1f044c00b7a901c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000025f273933db570000000000000000000000000000000000000000000000000000644f6a471949496e700000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000042be0ed4138121ecfc5c0e56b40517da27e6c5226b000bb8c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb857e114b691db790c35207b2e685d4a43181e6061000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000057e114b691db790c35207b2e685d4a43181e606100000000000000000000000077777d91c0b8ec9984a05302e4ef041dccf77fee0000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000006000000000000000000000000057e114b691db790c35207b2e685d4a43181e606100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000063c22da9448a0927dc001a09e34ae96ff46dbf4728d6108312c8a1f83e99610015ff402a2dcf98cd14579d0a0624e5f0babb64f4159058c3a7b57dc7684ef2abc9a8a306f69ff68969b515ccd","new_receipt_trie_node_byte":"0xb907fa02f907f60183b74c9bb9010000010000000800000000408000000000000000008000000000000000000000000000000400000000000100000020000002410000080020000000000000080000000000080000000800000008000000000000000000000000000000000020000000000100000000000000000000000000000000000000000000000010000810000000004010000000000020028000000000400400000000010000000000000000000000000000040000000000000000000400000010000000000040000400000000000002000000000000000000004000000000000000000000000000008000000000200000000000000002000040030000001000000000000000000000000400f906ebf8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca00000000000000000000000003e00aee52066ee270f8badf0b5bb41993f057321a0000000000000000000000000be0ed4138121ecfc5c0e56b40517da27e6c5226ba00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af682a0000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d31d41dffa3589bb0c0183e46a1eed983a5e5978a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000377d9aabcbcb96f89b94be0ed4138121ecfc5c0e56b40517da27e6c5226bf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003e00aee52066ee270f8badf0b5bb41993f057321a0000000000000000000000000d31d41dffa3589bb0c0183e46a1eed983a5e5978a0000000000000000000000000000000000000000000000025f273933db5700000f9011c94d31d41dffa3589bb0c0183e46a1eed983a5e5978f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8a0000000000000000000000000000000000000000000000025f273933db5700000ffffffffffffffffffffffffffffffffffffffffffffffffffc882655434346a0000000000000000000000000000000000000000013608ea7e655d212335808c000000000000000000000000000000000000000000003a088b9723df2ede2083fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5db9f89b9457e114b691db790c35207b2e685d4a43181e6061f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c3db44adc1fcdfd5671f555236eae49f4a8eea18a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000000000000000000006996f69baed3e181cf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000c3db44adc1fcdfd5671f555236eae49f4a8eea18a000000000000000000000000000000000000000000000000000377d9aabcbcb96f9011c94c3db44adc1fcdfd5671f555236eae49f4a8eea18f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb8a0fffffffffffffffffffffffffffffffffffffffffffffff96690964512c1e7e400000000000000000000000000000000000000000000000000377d9aabcbcb96000000000000000000000000000000000000000002e538766bc6911e39228b04000000000000000000000000000000000000000000004c9af485c62c8c7152b0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea1d2f89b9457e114b691db790c35207b2e685d4a43181e6061f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000077777d91c0b8ec9984a05302e4ef041dccf77feea00000000000000000000000000000000000000000000000000d83f69b186d0a6ef89b9457e114b691db790c35207b2e685d4a43181e6061f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003e00aee52066ee270f8badf0b5bb41993f057321a00000000000000000000000000000000000000000000000068beb731fd4d10dae","gas_used":234751}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8346974bf28c4b9c"},"0x5da21baf58699c916182dc218114441c9355f369":{"code_usage":{"read":"0x656a5bf60f71b7506172a72f046cda74678a226c149bbeac0b8d0364c06bcac7"}},"0x9e6be44cc1236eef7e1f197418592d363bedcd5a":{"storage_read":["0x40ef41c025fbb68dac41b40172b105f8cbfbb2bbcae318413192632b49912fc5","0xa8289a12730cced4f41e16892ec5966acc8a52d02439c2200eb8f54c61f006a4","0x3691c4f351c58d7ea4559bfe25f5c135a8131da0f2ab1a120008cf592e0b2efa","0xc048975dcc2c9dbac7dbfacaeca62cd56476df31e5d16a931e499d5924fcd9ed"],"storage_written":{"0xc048975dcc2c9dbac7dbfacaeca62cd56476df31e5d16a931e499d5924fcd9ed":"0x7a63d927f5d5409ee0043","0x40ef41c025fbb68dac41b40172b105f8cbfbb2bbcae318413192632b49912fc5":"0x3635c9adc5dea00000"},"code_usage":{"read":"0x6307a66d9d86d46092a29d94f55796cbd4cab0acdd62a191a3ee863ac55ff9ee"}},"0xd1025891129f02f0e66d5126fc73e52aecb918c3":{"storage_read":["0x08d57bc0831bbaaeaa189b599e96c0c41b967a2e0c8389e1a652cc04dbb9b391","0x0000000000000000000000000000000000000000000000000000000000000000","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x08d57bc0831bbaaeaa189b599e96c0c41b967a2e0c8389e1a652cc04dbb9b390"],"storage_written":{"0x08d57bc0831bbaaeaa189b599e96c0c41b967a2e0c8389e1a652cc04dbb9b390":"0x0","0x08d57bc0831bbaaeaa189b599e96c0c41b967a2e0c8389e1a652cc04dbb9b391":"0x0"},"code_usage":{"read":"0x41f32f939ee4a7934ef643a8124740cd40f98492b2ccd75cbecaf29c7bc7bd4a"}},"0x8019c5982631efde447d9f7f0e2584e6451b4c0d":{"balance":"0xab0f0e9295d08c","nonce":"0x3"}},"meta":{"byte_code":"0x02f890010284050ae4c08501a13b86008301d73b94d1025891129f02f0e66d5126fc73e52aecb918c380a42e17de7800000000000000000000000000000000000000000000000000000000000000dbc080a0f8a7c7ba37f6adfe36d16f8bfa98af48daa36916ec19df26f5d558622a8ef355a007af76eca0abb28e36ea4b3aac40d51a1b4aa5676515b46b7521ee0e49e21296","new_txn_trie_node_byte":"0x02f890010284050ae4c08501a13b86008301d73b94d1025891129f02f0e66d5126fc73e52aecb918c380a42e17de7800000000000000000000000000000000000000000000000000000000000000dbc080a0f8a7c7ba37f6adfe36d16f8bfa98af48daa36916ec19df26f5d558622a8ef355a007af76eca0abb28e36ea4b3aac40d51a1b4aa5676515b46b7521ee0e49e21296","new_receipt_trie_node_byte":"0xb9024902f902450183b85ce2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000080000000000000000000000000000000000008000000000000000000000000004000000000000000000000000000000000000000000000000200000000000000040010000020000000000000000000000000040000000000000000010000000000000000000000000000000100000000000000000000000000000000010000000000000000000000000002040000000008000000000000000000008002000080000000000000000000000000000000000000000000020000008000000000000000001000000000f9013af89b949e6be44cc1236eef7e1f197418592d363bedcd5af863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d1025891129f02f0e66d5126fc73e52aecb918c3a00000000000000000000000008019c5982631efde447d9f7f0e2584e6451b4c0da000000000000000000000000000000000000000000000003635c9adc5dea00000f89b94d1025891129f02f0e66d5126fc73e52aecb918c3f863a037375b03d8924bd8f076f11f8411b9962aa5c02fb489021507bc6bb6f850e365a000000000000000000000000000000000000000000000000000000000000000dba00000000000000000000000008019c5982631efde447d9f7f0e2584e6451b4c0da000000000000000000000000000000000000000000000003635c9adc5dea00000","gas_used":69703}},{"traces":{"0x6d4fe8ace1e3981998b6bfb3d2ec86e0671570e2":{"balance":"0x2412590352222d","nonce":"0x170"},"0xb8dd4f5aa8ad3feadc50f9d670644c02a07c9374":{},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834699119ea0a59c"}},"meta":{"byte_code":"0x02f901320182016f84050ae4c08501a13b86008288ec94b8dd4f5aa8ad3feadc50f9d670644c02a07c937480b8c4d204c45e0000000000000000000000006d4fe8ace1e3981998b6bfb3d2ec86e0671570e20000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004e68747470733a2f2f697066732e636c75746368706c61792e61692f697066732f516d537776797744434c626646415a506f74726342514a6f46596137686441517a7274366a65484b563939414270000000000000000000000000000000000000c080a00cbccb2f7e02f0216692cddf69628e5834cfd3446f43ddd900ddaacbd0e8f997a02a25923dda91acced89cbbdb5ec05b19b1178f6919e102f4e1aa95c620498c71","new_txn_trie_node_byte":"0x02f901320182016f84050ae4c08501a13b86008288ec94b8dd4f5aa8ad3feadc50f9d670644c02a07c937480b8c4d204c45e0000000000000000000000006d4fe8ace1e3981998b6bfb3d2ec86e0671570e20000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004e68747470733a2f2f697066732e636c75746368706c61792e61692f697066732f516d537776797744434c626646415a506f74726342514a6f46596137686441517a7274366a65484b563939414270000000000000000000000000000000000000c080a00cbccb2f7e02f0216692cddf69628e5834cfd3446f43ddd900ddaacbd0e8f997a02a25923dda91acced89cbbdb5ec05b19b1178f6919e102f4e1aa95c620498c71","new_receipt_trie_node_byte":"0xb9010d02f901090183b8b6dab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":23032}},{"traces":{"0xe90862e927868e91295819f2138c8cda57d23815":{"balance":"0x2f7b8190c6b42","nonce":"0x3"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x18f57b02a86eb83c38830d9ce70d06dc8c732cfe4f7d62332bfdc8acf3760b20","0xe2957f3d3691ae6a317180b532a08f8fe0447b6cb3c0b632ae8960f2c1e5489b"],"storage_written":{"0xe2957f3d3691ae6a317180b532a08f8fe0447b6cb3c0b632ae8960f2c1e5489b":"0x390dd109d3f39e00000","0x18f57b02a86eb83c38830d9ce70d06dc8c732cfe4f7d62332bfdc8acf3760b20":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83469acda184ba25"}},"meta":{"byte_code":"0x02f8b00102841dcd6500850195ccfb3a828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818b0000000000000000000000000000000000000000000000195b7959b388b80000c001a03c52966ceef8ba6a12c16154b1f33902e8058b7740e29ec661002d4324b865b7a07c54841a69d2c45fbd993c6b4985cb748c884652bd9c86001d72b708027cc92b","new_txn_trie_node_byte":"0x02f8b00102841dcd6500850195ccfb3a828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818b0000000000000000000000000000000000000000000000195b7959b388b80000c001a03c52966ceef8ba6a12c16154b1f33902e8058b7740e29ec661002d4324b865b7a07c54841a69d2c45fbd993c6b4985cb748c884652bd9c86001d72b708027cc92b","new_receipt_trie_node_byte":"0xb901ab02f901a70183b93311b9010000002000000000000000000000000000000000000000000008000000000080000001000000000008000200000000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e90862e927868e91295819f2138c8cda57d23815a0000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818ba00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83469c89a468ceae"},"0xf86f18af2c1f5c31ef801be906be9db3194beb6f":{"balance":"0x2f9369198b942","nonce":"0x3"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x6effe43d357f6886944221d3f60e544e8eb0ddbee428bbe4447a72c05b169e46","0xe2957f3d3691ae6a317180b532a08f8fe0447b6cb3c0b632ae8960f2c1e5489b"],"storage_written":{"0x6effe43d357f6886944221d3f60e544e8eb0ddbee428bbe4447a72c05b169e46":"0x0","0xe2957f3d3691ae6a317180b532a08f8fe0447b6cb3c0b632ae8960f2c1e5489b":"0x3aa3889f6f2c2980000"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}}},"meta":{"byte_code":"0x02f8b00102841dcd6500850195ccfb3a828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818b0000000000000000000000000000000000000000000000195b7959b388b80000c001a0f2c7ce65f685f44b5fd3a9f130f73f146c9cf60a7564088413d119a611019f41a05cf2ac5ff410ba57c9243c7f37df8a95e6928fe451d657d9efe7e8cd7f01e546","new_txn_trie_node_byte":"0x02f8b00102841dcd6500850195ccfb3a828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818b0000000000000000000000000000000000000000000000195b7959b388b80000c001a0f2c7ce65f685f44b5fd3a9f130f73f146c9cf60a7564088413d119a611019f41a05cf2ac5ff410ba57c9243c7f37df8a95e6928fe451d657d9efe7e8cd7f01e546","new_receipt_trie_node_byte":"0xb901ab02f901a70183b9af48b9010000000000000000000000000000000000000000000000000008000000000000004000000000000008000200000000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f86f18af2c1f5c31ef801be906be9db3194beb6fa0000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818ba00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x8afa19d880ba2be0a2e203a9d3cc1a936d5b21f7":{"balance":"0x2d3dfa4bf97e2","nonce":"0x4"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x591310e285e9f81328d332a62f5d49b4b2f8970192e2ba4294938735905cffe7","0x1a99ebd52a1e7aac9536a0199cf161b4baa35ffac08517474834d9e7e9d9e928","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x1a99ebd52a1e7aac9536a0199cf161b4baa35ffac08517474834d9e7e9d9e928":"0x195b7959b388b800000","0x591310e285e9f81328d332a62f5d49b4b2f8970192e2ba4294938735905cffe7":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83469e45a74ce337"}},"meta":{"byte_code":"0x02f8b00103841dcd6500850195ccfb3a828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000cf65a4e65123e0aad0cd0584da08d33bcb36e9110000000000000000000000000000000000000000000000195b7959b388b80000c080a0af8c45694bf2db1e7cca0b7c7de6317bf60360b2e62d94fc0a8a556889e2f466a068f75ce5f05b4b6d19a4d97244bf30a610cd547ef02526014ef83df4f13bf611","new_txn_trie_node_byte":"0x02f8b00103841dcd6500850195ccfb3a828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000cf65a4e65123e0aad0cd0584da08d33bcb36e9110000000000000000000000000000000000000000000000195b7959b388b80000c080a0af8c45694bf2db1e7cca0b7c7de6317bf60360b2e62d94fc0a8a556889e2f466a068f75ce5f05b4b6d19a4d97244bf30a610cd547ef02526014ef83df4f13bf611","new_receipt_trie_node_byte":"0xb901ab02f901a70183ba2b7fb9010000000000000000000000000000000000000000000000000000000000000002000000000000000008000000000000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000041000000000000000000000000000000000000000000000010000000000000000080000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008afa19d880ba2be0a2e203a9d3cc1a936d5b21f7a0000000000000000000000000cf65a4e65123e0aad0cd0584da08d33bcb36e911a00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x9228b1d3b1fb46c5c93433cabcb4cf14ef452566":{"balance":"0x2e2f934789f5a","nonce":"0x3"},"0x97a9a15168c22b3c137e6381037e1499c8ad0978":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000a","0x64d0dfbe773ba727266abd0868dc7fe7fc29136af1a2de008ca42092fd376b1a","0xe2957f3d3691ae6a317180b532a08f8fe0447b6cb3c0b632ae8960f2c1e5489b"],"storage_written":{"0xe2957f3d3691ae6a317180b532a08f8fe0447b6cb3c0b632ae8960f2c1e5489b":"0x3c3940350a64b500000","0x64d0dfbe773ba727266abd0868dc7fe7fc29136af1a2de008ca42092fd376b1a":"0x0"},"code_usage":{"read":"0x2b2d51ca2e57049c0e3887a8b0001ee1089bf005d2508a92cddb7d697e1f6418"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8346a001aa30f7c0"}},"meta":{"byte_code":"0x02f8b00102841dcd6500850195ccfb3a828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818b0000000000000000000000000000000000000000000000195b7959b388b80000c080a0df94100e165221602c806ecd4ee4e27a628314939a99a458cd50383b148a9057a057e46c1f26a4b0f158724de22ed7625a8a6abd2c0afda806425213704e12e6e2","new_txn_trie_node_byte":"0x02f8b00102841dcd6500850195ccfb3a828f0d9497a9a15168c22b3c137e6381037e1499c8ad097880b844a9059cbb000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818b0000000000000000000000000000000000000000000000195b7959b388b80000c080a0df94100e165221602c806ecd4ee4e27a628314939a99a458cd50383b148a9057a057e46c1f26a4b0f158724de22ed7625a8a6abd2c0afda806425213704e12e6e2","new_receipt_trie_node_byte":"0xb901ab02f901a70183baa7b6b9010000000000000000000000000000000000000000000000000008000000010000000000000000000008000200000000000000000000000000000000000000000000000000000000020000000008000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000008000000000000002002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b9497a9a15168c22b3c137e6381037e1499c8ad0978f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009228b1d3b1fb46c5c93433cabcb4cf14ef452566a0000000000000000000000000dc07e127cfd37065790f39956b7489aa5f32818ba00000000000000000000000000000000000000000000000195b7959b388b80000","gas_used":31799}},{"traces":{"0x87c10910da7258e55da2c5d43739fb68b12e6a4b":{"code_usage":{"read":"0xb2a3d5126dfa3428ff71bf1083e99bbd0736c9d23ca8aca45a0259abb339c3f7"}},"0x25ace71c97b33cc4729cf772ae268934f7ab5fa1":{"storage_read":["0x0ae0ec7fe2be5ad9ff4a2be6686fdb9afb8ff3e683e9a82ede75059805059d5d","0x453da090ce3606b5b38b21d12b645cde48a017a5b14a6e51116f2991c345cf3f","0x00000000000000000000000000000000000000000000000000000000000000cf","0x00000000000000000000000000000000000000000000000000000000000000cd","0x00000000000000000000000000000000000000000000000000000000000000fc"],"storage_written":{"0x00000000000000000000000000000000000000000000000000000000000000cd":"0x1df8d"},"code_usage":{"read":"0xb0c4b194c89123018def44d064c2c21146b7d8c673709213a7567f64f5063cb2"}},"0x543ba4aadbab8f9025686bd03993043599c6fb04":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003"],"code_usage":{"read":"0xaebd68b2a785d0af4b7e1f3e600efde438efa83b08f2ad8bcd9287322f396e5f"}},"0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae":{"storage_read":["0x767033c6d22aaf8f2edf9177fdf4238932d3c801e64986c280b7f213b72b5072","0xa65bb2f450488ab0858c00edc14abc5297769bf42adb48cfb77752890e8b697b","0x24dce4a1477586a0e9bffd453b4cb3230eac1607fc45411e0089afec7f60b6d9","0x38f28cedc8f74186204add15766c4387e16a95c364ef2ef608fd575bc57841ee","0x50c90d812896e6ed3c1a2a9810a85e32eb21a22aa17f2cc5b2a7b5e39290f630","0x3054da8d868a64d042338c7baf39c5a0a735f3268ce50536bb45aeaa077c8ca4"],"storage_written":{"0xa65bb2f450488ab0858c00edc14abc5297769bf42adb48cfb77752890e8b697b":"0x0"},"code_usage":{"read":"0x828f8a0694bfba25c80a406283f149d701cdc944acbbc18b57315cf157db9220"}},"0xbeb5fc579115071764c7423a4f12edde41f106ed":{"balance":"0x68ec88a9f32a0e9f6a1d","storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000037"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x134d6ba0000000000077d2e0000000000000000000000003b9aca00"},"code_usage":{"read":"0x1f958654ab06a152993e7a0ae7b6dbb0d4b19265cc9337b8789fe1353bd9dc35"}},"0x64b5a5ed26dcb17370ff4d33a8d503f0fbd06cff":{"code_usage":{"read":"0x6894839591ba2aa1f6ba43526113e25fd795ec5c5a48202e664c931cd170aaee"}},"0xde1fcfb0851916ca5101820a69b13a4e276bd81f":{"storage_read":["0x515216935740e67dfdda5cf8e248ea32b3277787818ab59153061ac875c9385e"],"code_usage":{"read":"0xc07463a76b190aed4f3dda4314ae11e6c3b843e0a8044823155d4ecec01879fb"}},"0xd3494713a5cfad3f5359379dfa074e2ac8c6fd65":{"code_usage":{"read":"0xc919b535f7bbbaa57f32b602f26000e3997c22c933efbb92a36e053b20b2b4b1"}},"0x5215e9fd223bc909083fbdb2860213873046e45d":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000"],"code_usage":{"read":"0x63c07db5d799a37908c44e26d5ef423727dd1cda6be32b78415309bee2716294"}},"0x9fba5259a1a4654212849e87cfdf5b28d5bbcb5e":{"balance":"0x142dd02909d84f99","nonce":"0x2d5"},"0xe2f826324b2faf99e513d16d266c3f80ae87832b":{"code_usage":{"read":"0x2b0610230634fccf9d05f4aaefceffef9e04aa99910798d42823e0068eb07eca"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8346ac75772f6ac0"},"0x99c9fc46f92e8a1c0dec1b1747d010903e884be1":{"storage_read":["0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004"],"code_usage":{"read":"0x227003fd7119a27c8cdb164a22e2e055f494470eb336a375a67c5af77f28bc0f"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24394868f9842a3decd63","storage_read":["0xabfc9474beae8a43c016706357d86d1a5f7a2a0c86f9b6da7e045c53e2bb14ea","0xa9f1f0b9340bf7de275c5fceed1b8d635aef269d46b04e8f00f553f2e6c62216","0x340f833463401c5eb5aa535ba9a6acffea4cc188a73e0f16d2c6fb2e8910e99e","0xf29806e76f922d7aa34ae4a776be65ae35d70bbc72e28d40456890f1dc291741","0x5bd20daf28777cfc72ddbb3c732a3bc94e6d714af2be70825911b62fdbca0a34"],"storage_written":{"0x340f833463401c5eb5aa535ba9a6acffea4cc188a73e0f16d2c6fb2e8910e99e":"0x0","0x5bd20daf28777cfc72ddbb3c732a3bc94e6d714af2be70825911b62fdbca0a34":"0x0","0xabfc9474beae8a43c016706357d86d1a5f7a2a0c86f9b6da7e045c53e2bb14ea":"0x0","0xa9f1f0b9340bf7de275c5fceed1b8d635aef269d46b04e8f00f553f2e6c62216":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x229047fed2591dbec1ef1118d64f7af3db9eb290":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000069"],"code_usage":{"read":"0x1f958654ab06a152993e7a0ae7b6dbb0d4b19265cc9337b8789fe1353bd9dc35"}},"0xf56d96b2535b932656d3c04ebf51babff241d886":{"code_usage":{"read":"0x1245886f18eada47816eba66ec353eb9a5dad795a5e36df78067f66657018e32"}}},"meta":{"byte_code":"0x02f90434018202d48402faf0808501a13b860083100dd8941231deb6f5749ef6ce6943a275a1d3e7486f4eae80b903c45bb5d44800000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000000045894dd09fa1e8533cd18bf2ecf6444657e25061a0a4a941559b07665b37995900000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5e00000000000000000000000000000000000000000000000256c9f2af5b74c5f7000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000086f7074696d69736d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6a756d7065722e65786368616e67650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000005215e9fd223bc909083fbdb2860213873046e45d0000000000000000000000005215e9fd223bc909083fbdb2860213873046e45d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000256c9f2af5b74c5f700000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000043ccfd60b00000000000000000000000000000000000000000000000000000000c080a0ab19d0d243057705deb3462269852c4e768594e11619704cf50ed59339583b15a045eed0868d7208a2bf082a1738e0b466ffcbaeec32954c4b3eeee8be2676c1f2","new_txn_trie_node_byte":"0x02f90434018202d48402faf0808501a13b860083100dd8941231deb6f5749ef6ce6943a275a1d3e7486f4eae80b903c45bb5d44800000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030d40000000000000000000000000000000000000000000000000000000000000000045894dd09fa1e8533cd18bf2ecf6444657e25061a0a4a941559b07665b37995900000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5e00000000000000000000000000000000000000000000000256c9f2af5b74c5f7000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000086f7074696d69736d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6a756d7065722e65786368616e67650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000200000000000000000000000005215e9fd223bc909083fbdb2860213873046e45d0000000000000000000000005215e9fd223bc909083fbdb2860213873046e45d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000256c9f2af5b74c5f700000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000043ccfd60b00000000000000000000000000000000000000000000000000000000c080a0ab19d0d243057705deb3462269852c4e768594e11619704cf50ed59339583b15a045eed0868d7208a2bf082a1738e0b466ffcbaeec32954c4b3eeee8be2676c1f2","new_receipt_trie_node_byte":"0xb90cd602f90cd20183bed55cb901000000000000004000001000020000000000000000000000000000000000000000000000000002200000001000000400800200000008000000004010000000008000000000000400104000000a000000000404000000400000000000004000000004010000820000000000000000000800000800c20000040000000010000040000201000000000000000000000000000000008000000000000001001000000008000000060000000020000000080000000010000008000000008000022000000000001002000008000000800008020000000000400000000008000002000020000000200000000000000080802000000000000000080000800000000000000000f90bc7f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5ea00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaea000000000000000000000000000000000000000000000000256c9f2af5b74c5f7f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaea00000000000000000000000005215e9fd223bc909083fbdb2860213873046e45da000000000000000000000000000000000000000000000000256c9f2af5b74c5f7f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000005215e9fd223bc909083fbdb2860213873046e45da000000000000000000000000000000000000000000000000256c9f2af5b74c5f7f90119941231deb6f5749ef6ce6943a275a1d3e7486f4eaee1a07bfdfdb5e3a3776976e53cb0607060f54c5312701c8cba1155cc4d5394440b38b8e045894dd09fa1e8533cd18bf2ecf6444657e25061a0a4a941559b07665b3799590000000000000000000000005215e9fd223bc909083fbdb2860213873046e45d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000256c9f2af5b74c5f700000000000000000000000000000000000000000000000256c9f2af5b74c5f7000000000000000000000000000000000000000000000000000000006687db3bf8dc9499c9fc46f92e8a1c0dec1b1747d010903e884be1f863a035d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23a00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaea00000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5eb86000000000000000000000000000000000000000000000000256c9f2af5b74c5f700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000f8dc9499c9fc46f92e8a1c0dec1b1747d010903e884be1f863a02849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5a00000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eaea00000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5eb86000000000000000000000000000000000000000000000000256c9f2af5b74c5f700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000f902de94beb5fc579115071764c7423a4f12edde41f106edf884a0b3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32a000000000000000000000000036bde71c97b33cc4729cf772ae268934f7ab70b2a00000000000000000000000004200000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000000b90240000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000001ed00000000000000000000000000000000000000000000000256c9f2af5b74c5f700000000000000000000000000000000000000000000000256c9f2af5b74c5f70000000000077d2e00d764ad0b000100000000000000000000000000000000000000000000000000000001df8c00000000000000000000000099c9fc46f92e8a1c0dec1b1747d010903e884be1000000000000000000000000420000000000000000000000000000000000001000000000000000000000000000000000000000000000000256c9f2af5b74c5f70000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000a41635f5fd0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae0000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5e00000000000000000000000000000000000000000000000256c9f2af5b74c5f7000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f901bc9425ace71c97b33cc4729cf772ae268934f7ab5fa1f842a0cb0f7ffd78f9aee47a248fae8db181db6eee833039123e026dcbff529522e52aa00000000000000000000000004200000000000000000000000000000000000010b9016000000000000000000000000099c9fc46f92e8a1c0dec1b1747d010903e884be10000000000000000000000000000000000000000000000000000000000000080000100000000000000000000000000000000000000000000000000000001df8c0000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000a41635f5fd0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae0000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5e00000000000000000000000000000000000000000000000256c9f2af5b74c5f70000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f87a9425ace71c97b33cc4729cf772ae268934f7ab5fa1f842a08ebb2ec2465bdb2a06a66fc37a0963af8a2a6a1479d81d56fdb8cbb98096d546a000000000000000000000000099c9fc46f92e8a1c0dec1b1747d010903e884be1a000000000000000000000000000000000000000000000000256c9f2af5b74c5f7f9021a941231deb6f5749ef6ce6943a275a1d3e7486f4eaee1a0cba69f43792f9f399347222505213b55af8e0b0b54b893085c2e27ecbe1644f1b901e0000000000000000000000000000000000000000000000000000000000000002045894dd09fa1e8533cd18bf2ecf6444657e25061a0a4a941559b07665b37995900000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009fba5259a1a4654212849e87cfdf5b28d5bbcb5e00000000000000000000000000000000000000000000000256c9f2af5b74c5f7000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000086f7074696d69736d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f6a756d7065722e65786368616e67650000000000000000000000000000000000","gas_used":273830}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834710c3ac3194e8"},"0x418c9ca913ec5a7bdb6a0570c0b1e022e9b4af94":{"balance":"0x9169315672d65"},"0x7591d15ca9c726faac98ef757f25009ce0efb1e9":{"balance":"0x1c0a9192f266f500","nonce":"0x3793"}},"meta":{"byte_code":"0xf86d8237928502cb41780082520894418c9ca913ec5a7bdb6a0570c0b1e022e9b4af9487023a40d04630008026a0ba38c813e701c51ad631880f796e8c6412bb49f484d192455f5d4650cd015ee4a01b548034e991cdb4b18e7aae79bb4eff68ab557241ad706f18ffae2015cc2f38","new_txn_trie_node_byte":"0xf86d8237928502cb41780082520894418c9ca913ec5a7bdb6a0570c0b1e022e9b4af9487023a40d04630008026a0ba38c813e701c51ad631880f796e8c6412bb49f484d192455f5d4650cd015ee4a01b548034e991cdb4b18e7aae79bb4eff68ab557241ad706f18ffae2015cc2f38","new_receipt_trie_node_byte":"0xf901090183bf2764b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83474edefe1f1f10"},"0x38dcfdf80345b32db80f64dc0164f75376c08551":{"balance":"0xf7361144628b21"},"0x264bd8291fae1d75db2c5f573b07faa6715997b5":{"balance":"0x1a3ac828641afc4ff80","nonce":"0x10dcc6"}},"meta":{"byte_code":"0x01f871018310dcc58502540be4008307a1209438dcfdf80345b32db80f64dc0164f75376c0855187ef1437f4ffac0080c001a083e11510a1c2c28363dcfe2f5808305055c2f8f299163da36bf030bf6bb33ef7a06c1025456e78d4c319453d515f5613524045ae801c682ed144d5016afd5328a1","new_txn_trie_node_byte":"0x01f871018310dcc58502540be4008307a1209438dcfdf80345b32db80f64dc0164f75376c0855187ef1437f4ffac0080c001a083e11510a1c2c28363dcfe2f5808305055c2f8f299163da36bf030bf6bb33ef7a06c1025456e78d4c319453d515f5613524045ae801c682ed144d5016afd5328a1","new_receipt_trie_node_byte":"0xb9010d01f901090183bf796cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x264bd8291fae1d75db2c5f573b07faa6715997b5":{"balance":"0x1a3ac49321d0ceef380","nonce":"0x10dcc7"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83478cfa500ca938"},"0x6e9a89153fd72632480503a8fa856b73542e0054":{"balance":"0x389526336eec00"}},"meta":{"byte_code":"0x01f871018310dcc68502540be4008307a120946e9a89153fd72632480503a8fa856b73542e005487389526336eec0080c080a06b6d3c813bd887d0bb6868a70baf721b39e58ece0e7134a2b585be25f576a9a1a028c84c23990d9447186f62ff75fa6747cd169aabe525eeec9e0d7554f0e99edd","new_txn_trie_node_byte":"0x01f871018310dcc68502540be4008307a120946e9a89153fd72632480503a8fa856b73542e005487389526336eec0080c080a06b6d3c813bd887d0bb6868a70baf721b39e58ece0e7134a2b585be25f576a9a1a028c84c23990d9447186f62ff75fa6747cd169aabe525eeec9e0d7554f0e99edd","new_receipt_trie_node_byte":"0xb9010d01f901090183bfcb74b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xf23754231bc4ce8c8e92c3badfb37d922d46053c":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001"],"code_usage":{"read":"0xf5d4f243e8a1c4fb2e030ed998a94ae151f6ce26e887758a808d5cbaeb9c60b9"}},"0xd54f502e184b6b739d7d27a6410a67dc462d69c8":{"storage_read":["0x0f0430378476fdd7cf33baa0187c018979e94b425f7bc8eabe01b99049f7bcc2","0x944998273e477b495144fb8794c914197f3ccb46be2900f4698fd0ef743c9695","0xb9bbcafebb871ce2939e5f38ed868dcce689ed6721ad531fde144963c87b31ce","0xc597ff93c37be66a38204a3705858bfec8ac8892d8dd68443d1e167cadfadc9b","0xd256e7e6e073ed7e41482212b2ced9ca194106f25b9c2e69212eae08051b7b26","0x707ec451ff2f2670548e699dec3f3bf25f06c976eb317b45817d50db6f408d33","0x026bd4d87533a574304ad7982919568e0289b13d98eda973aafe3ba3fa8145a7","0xd88f6912b74c01cb8514d9409543734f5f824b87154fa39d698877688c453fd6","0xd46cd9b9f084f603f49f2cbe9a221f9f80f52b56a8d306f63a6e25d0df07b397","0x34af7d873e808e14cd96ec79de01cc331c49866521a6f666d4080c1b61934224","0xe1f04e2951ebff7257f5a72bf4c2d6159f4ba430c0d5dc82f583311a061e7bdd","0x27595fec9e390474dcd7bdbd3a25bcff7e77943ae6dfbfb4a0ac79203f7e6118","0xad9aa67621d1e291e6ca828062929e1c874029452b7b15cc6092bb9885a1d47c","0x5b0559f653a1d3c7d82a9c98603e05101cca09b16d7abbbc46263a6d5a77a93c","0x3e326e75153052b5225997986ca4c5cf3297a38e0c99bf53825ec4b7348316a5","0x1cd116bf4adc64c54bc796dee0c3ada370de294e365fefbefa3afed03a763b39","0xa4a0b951afe533aeb8a8d09eff1849fc7859327a8f2371f92d511f3a42371836","0x6cce7d3c9bb045bf9a56bee2fca854d8ab413c72a2f5d69bab037871a07e18f0","0xcdaeb0c4d194b7d136f5164df15c783b56ca83994ff2b8b075589f295044e9c6","0x7fb78efaecdd6a33f0745949b817e8a7be97ae97c214c918a9fee083aa6d24c0","0xf553eb56ecfd0583b3c98f466f18d53982149278cad40b51fce13615f8995f96","0x8d2ad310b96f099c7b02fc0deec222ec46542bb0bda379174e5119cb8ee6e546","0x091da11aeb5b99b55a3aa06311b12bb7b2055622262bdc06995b838ce219f17d","0xd3b53344b8a2aa125d11057d9b39c00eaa0f90eb2ce5c7abff33f446650bb426","0x1940755c409676a31cd88661607cdc0b36db1ad059533b647e14ffbb0238246c","0x2eeee62d14043285b698e2b6f7be8bddf0611e5d4d0b8fd1a47ff3dd1e98a971","0x2357087d5d901520a14ca63bb343945a3a7f52fbbf2e13a2a96657ec2b1c0917","0x2e3472f9487856954f495abd6e608498fdfa026dda2083b26b91239cf6a67ac7","0xddecb6f2b35b38aa07837d22335056c22da310a1731eaa479259650fb7279165","0x48189710ada802841c14408165ac65e7a2cfe1472166798329735f244310312b","0x1f8222c9b50a219c4bbe7e71f9c3cf6730b82c54021381dd39757d4d015fa89e","0xc859b7d071b8428cd98c15894c86ae8d4b17ec27e47479498e82487c4da70b5d","0xcd3129a2f34327d58ce8dfa1bfaf0af0b9eccb57a6691778f60f68a8f322a329","0xc946ff18c47dc68f9f07f022325b106a21de113cfc136ba68ad2a7810fb2bbef","0x9c7caca12386a4bd25fa1991b9e73f8b3f7631e4b090dab81973d231f9e81ff7","0xc37c49bdd5515078b85dc0f8cb84a53317e64ea5c725f36f0eb42c88e58fb511","0x0000000000000000000000000000000000000000000000000000000000000019","0xc8c847adb52d091a23e504c53deaf32374c01b6107c9b6345490cc0ab58cc2b5","0xc185ca1f1c1eb7b811fd935983e76fe2bd82fd96d871eb6818c3c622acb3e1f3","0x87df1ce24f0a6d3aae31af1a372a055d54f5a96060e50e15176af9cda26d3ecf","0x0ed913477dbac98f3a789d6b485544ede0e7114e49195d4a9ad013217f24b3bd","0x4140666ca1dcc259fdf188a283e73b9e4ca70208493631acf4deddd2f8944d77","0x3f38f27270189d258a68f45828471e7332f476d57195dce8aacc30e4c2f12adc","0xcc83ee40f87f252022612a8db3081fdb5be496e27702c1fff5e0c04d68000796","0xdcf2ffaacc85eb2f5f60835881d926d7eda12ac289ed5f00b4058b01e41cd6cb","0x0000000000000000000000000000000000000000000000010000000000000003","0x000000000000000000000000000000000000000000000000000000000000001d","0x3f5f96be9ec8801712ef19c05c8016511d469b0dd006a340cb058275c6c29bdb","0x0000000000000000000000000000000000000000000000000000000000000004","0xd30bd2859b6eee3c4af496daf39cc4d52d1d6ac38fff83692f6b03619111960b","0xb969c7a3f2097d3b621ce84af2911be38af671c1dcc0a69b29301dd5898ff281","0x64d74ee5f70f4e3fa02906463d77f1f3feec1ad95d2b2afb208c8a329c49ac48","0x11185484fd53bb9ffe538c702c4cacefb559f7c5311a0dbde3a3cc67db909f29","0xc776f9aebdbed76cf804fc2b5aa23956c5125d5518822bd174ad0961a73ca92a","0xa6b7cf44dcf5fb67a826090f7b1df4dffbc88907f41d8a317bab973641ecb911","0x828a8b3aa2cb1c3320841a1c62f5f3ab2d406738f76fc902ef94fa304e60be69","0x0000000000000000000000000000000000000000000000010000000000000001","0x9311995a108e9c1b921bc01bdb3ccd6c64870ef3f689fbbdcdfbfb9ec428de31","0x4d1207b856b3993f46308ced2b85baf07849f2175b3d0d261e3dc34beff7a857","0x5fb19029ddf171c1e7cc491f99b0daba51c8904659a1e7257eb8e6435d7c83a1","0xbc1e656cec7f97ec3be84af8c8747dadcdcabaac5e19206d72322a9fa6619a84","0xedef62173ddbabdb0c6b0bf34e5eecd5f34fb52431f95a3e6219ba4d57c4b8a7","0x3df965ce6d03caef4a1ee7b30bf117a67a774e08b3223dc750f16106ad2d5d9b","0x341ea2d5a573f705c43737285c63f2d0e6c4747385349a8e08cabafa774f9b0a","0x177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b24","0x57a01baafff666a25735968937037d5065973a9d87537964e65abcf1bf3998f5","0xcd449946a5a0bcd9c56078d321830af58acd0a0130bfcf00fef98b9fb0d88acc","0xf0263c590f0c8af957ea2178888b74a410fb78ad7dca15971cd1d53dd04c8d51","0x000000000000000000000000000000000000000000000000000000000000000c","0xaff2701630e2ad1dbf77a921b92c26c8af1352161946af02cdfc94917e9f389e","0xb1b9ca4b5fc797cc3d33e46fe5162819c60282f423cee1d0894020d299a37c6c","0xb86232b30747325a393a8ea5f5f4c1539825a6caa9965c137b46e45efcfa9059","0xa3dc611065b8be08784ae68a37e08314dfc4e2efb2978051360761078722e2c4","0x8ee059f5f4e19da66a4e1475074b7b96a3f34d86d6adb150ee52d24a51b47681","0x09f39a5ec0bdceda7e5ae30d1b17cf1445e3b3f7ddd866e8ef771a88fecc4fe2","0xd100c071f1370c12d11cd7f081a028b34c49fd0d87b5b70f891ac1ac7f878016","0x0000000000000000000000000000000000000000000000010000000000000000","0x4b5aae9546061a1330c9324abaa4c8251ad4ba9456bbe5dbb00c9ce67253fec1","0xabdc04a3db3be3ee123f28e323e14c3f4c81134c055eb7e1681ac7e2fba49199","0x180325adc7396b6487efc3c91d30e37d61a90a0be210152299d0e83157bc6d5e","0x6fd8d6b3aa0da95eae223d66832ebaaba7e4e82eea5df161b3ec4549ec9ed1f0","0xb0d7897c94bcd0d4bd3af3bc0ee70f4fec4a3106786c32d1abe3324b7e13fc20","0xe561d8da19cf7df1cb5da2603a18104fdb9de17ff0945f18d365332b7cd39a86","0xe84f8280696f7a7dc47371833ba7126f475d82c30e8055e22ca7a6ca7dae05fd","0xe69465512a1e5fa2e11e970fb95e6c2b8d6efab6ff2b25edc006b584c18f7b0d","0x7efb85cc7de6e9f2a4faf60f80fe73bd4a585183680506f1123ac7bd2d4d8bba","0x67e0dc2327b44bb289dcec3587cc7f71ca22cfc5eeda07ebe84e23e8a7d16e72","0xabebae474aeec067d1b9331d4b5a392b625038cd2964d3d8f8a0a5d4825a6c3a","0x4bbb14a9b8bdd7baf7e45936eef68b1d3b69ec665e4d3d9f22d086627a2b0880","0x9a4ea4fd70dc177c7aaa882c8a0a33723ac2a05eb1723aafd0d721feddf2cbce","0x3d4567bdd8f4a1c3591bdedda69566c7d660da82c5a78b1b10a122f8422738d3","0x19c1d461ec532cc333464803ca71f52531cc11d5ecb7fbdc5495493de53eab89","0xf44d3bbc75e572179171b2d913ea037dd3221d63f898cb2c6c01c98bf07b643a"],"storage_written":{"0x026bd4d87533a574304ad7982919568e0289b13d98eda973aafe3ba3fa8145a7":"0x2540be400","0x5b0559f653a1d3c7d82a9c98603e05101cca09b16d7abbbc46263a6d5a77a93c":"0x0","0x1940755c409676a31cd88661607cdc0b36db1ad059533b647e14ffbb0238246c":"0x843d8f147","0x3f38f27270189d258a68f45828471e7332f476d57195dce8aacc30e4c2f12adc":"0x0","0x3e326e75153052b5225997986ca4c5cf3297a38e0c99bf53825ec4b7348316a5":"0x0","0x2eeee62d14043285b698e2b6f7be8bddf0611e5d4d0b8fd1a47ff3dd1e98a971":"0x0","0xc185ca1f1c1eb7b811fd935983e76fe2bd82fd96d871eb6818c3c622acb3e1f3":"0x32ee841b800","0xd3b53344b8a2aa125d11057d9b39c00eaa0f90eb2ce5c7abff33f446650bb426":"0x1365a49686b","0xf44d3bbc75e572179171b2d913ea037dd3221d63f898cb2c6c01c98bf07b643a":"0x0","0xd46cd9b9f084f603f49f2cbe9a221f9f80f52b56a8d306f63a6e25d0df07b397":"0x0","0xb9bbcafebb871ce2939e5f38ed868dcce689ed6721ad531fde144963c87b31ce":"0x0","0xd88f6912b74c01cb8514d9409543734f5f824b87154fa39d698877688c453fd6":"0x0","0x000000000000000000000000000000000000000000000000000000000000001d":"0x5d6d","0x3df965ce6d03caef4a1ee7b30bf117a67a774e08b3223dc750f16106ad2d5d9b":"0x0","0x000000000000000000000000000000000000000000000000000000000000000c":"0x5c2b","0x1f8222c9b50a219c4bbe7e71f9c3cf6730b82c54021381dd39757d4d015fa89e":"0x0","0x0000000000000000000000000000000000000000000000010000000000000003":"0x7d8919e88b1ceda77407092ba2943d5901e72af75811959b1449a4a04c03a04","0x3f5f96be9ec8801712ef19c05c8016511d469b0dd006a340cb058275c6c29bdb":"0x0","0xcdaeb0c4d194b7d136f5164df15c783b56ca83994ff2b8b075589f295044e9c6":"0x32ee841b800","0x7fb78efaecdd6a33f0745949b817e8a7be97ae97c214c918a9fee083aa6d24c0":"0x0","0x341ea2d5a573f705c43737285c63f2d0e6c4747385349a8e08cabafa774f9b0a":"0x0","0xaff2701630e2ad1dbf77a921b92c26c8af1352161946af02cdfc94917e9f389e":"0x0","0x48189710ada802841c14408165ac65e7a2cfe1472166798329735f244310312b":"0x0"},"code_usage":{"read":"0x881b60f3c3fd2ce06ca6bbfcb1cb91d8caed8f034f75f8231e33161639e27e50"}},"0x2c0df87e073755139101b35c0a51e065291cc2d3":{"code_usage":{"read":"0x04644afcb4b1e1117edc4e9af5cbd218c205d35735d7966f4c010020ef97f6c9"}},"0x8129b737912e17212c8693b781928f5d0303390a":{"balance":"0xaae79f9427af8d749","nonce":"0x6a8c8"},"0xdf9c117cad37f2ed8c99e36a40317d8cc340d4a0":{"code_usage":{"read":"0xd2a3be6b9765c30468ec0fd3cef5a41f9a18d50d4fd5864905c84804d7003a9b"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8347c91d964acf38"},"0xbe9a129909ebcb954bc065536d2bfafbd170d27a":{"storage_read":["0xf8d2d92b960fdea3a312faac5a5997af3c3aeec5aa00f5115529e0143d68bfe2","0x438bd23f117f1581b5e69c4a9380c91210fb3229a8d9966067139d4b730cf1c4","0xe4d4a45abe4b8d867d866f175bc9dcc57ef2171b189459426439e4588c15f4c7","0xefd96f15cd05305246e9a4094316d8eee0ec2fc101a5927d449c0c264b1cabc6","0x20841e1aa61786445a2a8aac353143c171378555c2723459a6bc04b994b5d445","0x0299946bb5d8f1746878fca690599ea52797ac4713f9e765e0fadc08a81b2e5b","0xf96ff34f6d8f311b428bdaa88a950c63fb5db9aa903ddc5495f8486cd427a43e","0x667f381dd29a33c3c9a999b915de0999281e7801224a7a1f47853321370a08f4","0x7b68dbe84aca20ce45db51027238004080e6558f202424f06ec60ba0836052bf","0x837d7713694eb08d36db9d2e1be9b087cd1fc5f9598bfbb688015ade9a8947f2","0x2281b30d2a81f53bc71164545d5c885e982d77a0715f2d33720f9306b2134cce","0x2bbf3a3fa943014e77aacc90bbc1df77a6b3035f10406dce5deee610810bf995","0xffde9bac9efe5bc1e3fef2bf9194e653af9deda8a3fdbf17a2b6d19427d9d232","0x7dcbcab788099cb28e201988e92cbce9569b705a8cbac77e06dff874a378939d","0xdb65c86421cbb96adf69434599d5d483f9dc445d5e3b9c092c9637ad19b3c3be"],"code_usage":{"read":"0x162c04144fe904d88e9c0506bb593bce4a6f40101350680350daacf355ee523f"}},"0x894c4a12548fb18eaa48cf34f9cd874fc08b7fc3":{"storage_read":["0xfcb35fa3635f7891ba9cad42f389d17fe5cec20281392fcb73e0d461b4117f51"],"code_usage":{"read":"0x47368c4e3e59abbaed938a08d7b00fd0f60dc8497171ef875ba1d97eb35696ed"}}},"meta":{"byte_code":"0x02f94d35018306a8c78405f5e1008522ecb25c00834c4b4094d54f502e184b6b739d7d27a6410a67dc462d69c880b94cc4538f940600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000004880000000000000000000000000000000000000000000000000000000000000024103cbd17769430aed60aa8b9a5867b375c3fdca23e56cbbd83e33290577f50449000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000031494e43482d37000000000000000006d50d2c9b4ba8477d0a6189efd223e0a7bc8903e5e5502c2596bfd037d5cf1a0000000000000000000000000000000000414156452d3800000000000000000005b754de68ac6ca37456b54e3d6740dfb10ad6c991c6ea8e63b4c207f12e657c00000000000000000000000000000000004144412d360000000000000000000005b93d4381bfe361f959986e5523b24c16e1d8d8b15d99d6e693a1872be984840000000000000000000000000000000000414c43582d38000000000000000000031c1d4eeee2353a182d36abdbc73f8d36e60f65c98d3aefff0138ce20ec40f70000000000000000000000000000000000414c474f2d3600000000000000000004fefe9fbb321738241a4ecaabbf01e0bd1d4960f130ae52ade2794f5e8918040000000000000000000000000000000000414c5048412d350000000000000000009ac496c4dea926cfec5ab407fccbb8f4e6f9025f35b6bb522378cc28121396000000000000000000000000000000000041522d370000000000000000000000015c810f030f46306c236b937ce4000e9fb7bb540ae46f33dd0c3d4929e8a7b4000000000000000000000000000000000041544f4d2d37000000000000000000073bf77f40259256b097809d1865fcb745d912e5fa1c38f59e55499dff0f3aef0000000000000000000000000000000000415641582d3700000000000000000006f6133d524c663a9cb6bc55da515e2906c3e3648bb756b085b5d66065d0e41b000000000000000000000000000000000042414c2d3700000000000000000000069c7bbe007c10c9c29483deee379313f77af1f3ca0ce4e372b64813fa89837f00000000000000000000000000000000004241542d350000000000000000000001d514cac5895e59a89067aa835af3b3caef1966003143635f7579f0c00b2b8e00000000000000000000000000000000004243482d380000000000000000000001e9e172262048239b36c62b05d193b600db09bf61b49553d1939c748dc425220000000000000000000000000000000000424e422d3800000000000000000000073f2462fe1f9988b60af995ca8a95a8a5ab846745b96da5b32048bd1c42253b0000000000000000000000000000000000424e542d360000000000000000000001cf868b74d4b377533717e5083bb9b214c0057529544b9d767cc0d706c3c43300000000000000000000000000000000004254432d313000000000000000000006b17c0ea15e9924ea938b1405c6cdd1253861524369999aba9f5e9183757082000000000000000000000000000000000043454c4f2d3600000000000000000000bc2a629afbb2f1b34b73c5a1aea592c37837561c59bb0c7016a3ed72ed1bb00000000000000000000000000000000000434f4d502d3800000000000000000005c39ad83385470bd47c71440305348c807ad34d38ae033f1b58a01c8834c02f00000000000000000000000000000000004352562d3600000000000000000000065486a27ad7673fcd39e2087e09c5d93ad80e151e69323035460bc0a2b9afe50000000000000000000000000000000000444f444f2d36000000000000000000054a8f9e13407b36d81f650c54729f364e28d3436ea6725a4e724f29793ca7560000000000000000000000000000000000444f47452d35000000000000000000038b40a3cc927314917883295666bd170d67b008e30361ebbb2a6ef6ff499d420000000000000000000000000000000000444f542d370000000000000000000003cc4f20f85dfd549c4d1e3f2ba7cd7f206a24a506b21e0a6e7bd23c40b61fc100000000000000000000000000000000004450492d3800000000000000000000032c7927e720c37ad10472f16bbae4009fd6e1cff1f73c75c70d0592e7c67df30000000000000000000000000000000000454e4a2d36000000000000000000000542b51ed758431b88cd0ac6e83fe04e8eb3b1edde877785b9d5b4600c457a370000000000000000000000000000000000454f532d3600000000000000000000020cd027d852c8d2e40b125f9cd2283edd99d4d4b020a78e7aea728fbbd36c6200000000000000000000000000000000004554432d37000000000000000000000401cb9ba52e6d6b7222c6352462ee89d88ccdfdad3bff34af21aa1138a42b6600000000000000000000000000000000004554482d39000000000000000000000706a231efa8932e2cf71ee572dff6eeee3b1eb14ae44a035a60b896643e85db000000000000000000000000000000000046494c2d370000000000000000000002c9b30cd68b591c364bc227db1f6eeb5ebe31fa5653395b05268c99833a5d9f0000000000000000000000000000000000464c4f572d37000000000000000000029f31a257ee00498d257ebaa2a963e2158baffa3b9b454c544a2b972b2ee87a00000000000000000000000000000000004654542d370000000000000000000006954f20dd9c0213217217bf1450267e7085d742f559947591ca81f4f2125caa00000000000000000000000000000000004752542d35000000000000000000000787e4e055907dc154dc8dbfc16360f6a58ce354dca074fa44f61d95258d8c9d0000000000000000000000000000000000484e542d370000000000000000000006f2158c62e7852b3d1dfb5ecc835764ed064dac30815603d84884b2cc1fdc4200000000000000000000000000000000004943502d37000000000000000000000411ad4aa08a6caeaa16508c33a6c5e431bcba175dd6f5ba9b071698723bba0200000000000000000000000000000000004b534d2d38000000000000000000000443cd2686a4a1fceaeaece113b2810c6b6a60dd0858feb42799c844cb54aa2f00000000000000000000000000000000004c494e4b2d37000000000000000000031bccd53de4ce5aa144cf96f832e4093e3e993f35f11cd4918bf92de996043d00000000000000000000000000000000004c4f4e2d36000000000000000000000236433565fcae0d4ee97940d8f6bdae061690ef58f2b321e7883826a6c2e35f00000000000000000000000000000000004c54432d380000000000000000000001941e515e0e857906d14106f7048b5bb97644e204e5d2df657e57331d1f1dc700000000000000000000000000000000004c554e412d360000000000000000000675a0049f8478c6d167a3a530c58ec9130dded8e24bbcbe7b44533d27cfa44900000000000000000000000000000000004d415449432d360000000000000000034f0d27aff79a089020a8b7901e3929daa2bf72df21a8609586cc4cdcc1ace200000000000000000000000000000000004d49522d3600000000000000000000073648beee76cc77df18f620b69e818c7eb02e4929f9375c91d8dc4f09801a3600000000000000000000000000000000004d4b522d390000000000000000000000a2fb59544b563aeab9fb95c0f02f955824987c36de3741b6080ea4a8d6ae0b00000000000000000000000000000000004e4541522d3600000000000000000002c1bf7893cd6b93323a8fcd9734dc6cebffebc3514c08046092ee17be3b28e30000000000000000000000000000000000504552502d36000000000000000000072d6c42503268fb4cb67ea415012451a3288d5b106bebc6dd3b11652c2ea421000000000000000000000000000000000052454e2d350000000000000000000002571f2a6ffe7cf5299df2d1a39fe65353e75cba70476470ff78617c151a290b000000000000000000000000000000000052554e452d36000000000000000000033b720c9a462badefa6e0aa15ae9d3433afe192732bd6cb7c761d8a12d363550000000000000000000000000000000000534e582d3700000000000000000000073233e2abb9d0b13c6e77c2dd815a3c89fdc6135ecec80ae963d415ae34a07e0000000000000000000000000000000000534f4c2d370000000000000000000001772242cd4849b1883a5ce776942fbe69461e0074aae1dc610933d50fb1f412000000000000000000000000000000000053524d2d36000000000000000000000629d6bc84b8611db735a00644067d2aff8ae3ab4225ad7a3ba5ad9c75da4d85000000000000000000000000000000000053555348492d370000000000000000029b76f6d536776777d7153cc79151a4cad6bc3e2dc7802e50dee1090035ad5e00000000000000000000000000000000005452582d340000000000000000000006682082a10cf4fd20b68b787b382571331c447d346e75c5c83c996fe521dcf80000000000000000000000000000000000554d412d37000000000000000000000716d18347420ea748219ee4f2dff5a072f20726e10d6e30585d571eaf122ead0000000000000000000000000000000000554e492d3700000000000000000000014b8c123616fb4ee47ceb9d003e5e17be5b6baf90f0de24c2fbfa0236ceb2580000000000000000000000000000000000574e584d2d3700000000000000000005a056adb29a14133636dc1bb9af929f647a95448cf73ec37d84fb98840806730000000000000000000000000000000000574f4f2d350000000000000000000002098fdd7316e8e68de9570f4dc60345ea3e49eccf94a37d6ee83f945a2d924600000000000000000000000000000000005843482d3800000000000000000000048db8a756d48b58d5cd9c332e0f9fa253a1ec6433e4365871cfd9a83c23d4390000000000000000000000000000000000584c4d2d350000000000000000000007c666870ba51d2b88a54bd889d9a2467f26f91c05728abca123c7fd6a79a8170000000000000000000000000000000000584d522d380000000000000000000006ec4d9565d639de4e4722c5ce1bdd584693a98b71a194c91646b88242d747ec000000000000000000000000000000000058545a2d3600000000000000000000053e504edbeadb9aa5b36fa7c6b0e2d2998849b4752869511cac2f9387e6c6e700000000000000000000000000000000005946492d313000000000000000000003cbc25167ffc91de5f57dc6595eb0b760007bde9f82cf84f0ce485c9cb335d100000000000000000000000000000000005a45432d380000000000000000000006212ada0635614c1e253b8071f1ed1d2515c15d32659886c388ffe7e4b5e24100000000000000000000000000000000005a52582d360000000000000000000002f97cd23e7d4d1b199152d59c080171cb78fee404470aa4b268350187020acc00000000000000000000000000000000000000000000000000000000000000a0074b4e8a7043059cab7678c175d487696ee38876506372a8b461d8ece2947c88000000000000000000000000000000000000000000000000000000000000004002a3c2b1a1c5b7ce8492b6b2e866179d4cd2b1c333cc6dbf80c93ceb5715d8f300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000031494e43482d3700000000000000000000000000000000000000000000000000000000000000007ffffffffce791b60000000000000000000000000000000000414156452d3800000000000000000000000000000000000000000000000000000000000000000080000000ca2a0f0e00000000000000000000000000000000004144412d3600000000000000000000000000000000000000000000000000000000000000000000800000001f500fc80000000000000000000000000000000000414c474f2d3600000000000000000000000000000000000000000000000000000000000000000080000000235ce996000000000000000000000000000000000041544f4d2d370000000000000000000000000000000000000000000000000000000000000000008000000054a81d350000000000000000000000000000000000415641582d370000000000000000000000000000000000000000000000000000000000000000008000000119d3497300000000000000000000000000000000004243482d3800000000000000000000000000000000000000000000000000000000000000000000800000003ad9c30300000000000000000000000000000000004254432d313000000000000000000000000000000000000000000000000000000000000000000080000002523b95b2000000000000000000000000000000000043454c4f2d36000000000000000000000000000000000000000000000000000000000000000000800000002b616b3d0000000000000000000000000000000000434f4d502d380000000000000000000000000000000000000000000000000000000000000000008000000059e27d0600000000000000000000000000000000004352562d36000000000000000000000000000000000000000000000000000000000000000000007fffffffe313ab240000000000000000000000000000000000444f47452d35000000000000000000000000000000000000000000000000000000000000000000800000006271426b0000000000000000000000000000000000444f542d3700000000000000000000000000000000000000000000000000000000000000000000800000002c60615c0000000000000000000000000000000000454e4a2d36000000000000000000000000000000000000000000000000000000000000000000008000000014275a6e0000000000000000000000000000000000454f532d360000000000000000000000000000000000000000000000000000000000000000000080000000838888d400000000000000000000000000000000004554432d3700000000000000000000000000000000000000000000000000000000000000000000800000003bd63ce300000000000000000000000000000000004554482d390000000000000000000000000000000000000000000000000000000000000000000080000001596ce03d000000000000000000000000000000000046494c2d370000000000000000000000000000000000000000000000000000000000000000000080000000812082c300000000000000000000000000000000004943502d3700000000000000000000000000000000000000000000000000000000000000000000800000002eab817800000000000000000000000000000000004c494e4b2d37000000000000000000000000000000000000000000000000000000000000000000800000010a6a904900000000000000000000000000000000004c54432d3800000000000000000000000000000000000000000000000000000000000000000000800000004912fd8400000000000000000000000000000000004c554e412d360000000000000000000000000000000000000000000000000000000000000000007ffffffeff6d291c00000000000000000000000000000000004d415449432d360000000000000000000000000000000000000000000000000000000000000000800000005bf8346800000000000000000000000000000000004d4b522d390000000000000000000000000000000000000000000000000000000000000000000080000001246aafa800000000000000000000000000000000004e4541522d3600000000000000000000000000000000000000000000000000000000000000000080000001066d3832000000000000000000000000000000000052554e452d3600000000000000000000000000000000000000000000000000000000000000000080000002567e01630000000000000000000000000000000000534e582d37000000000000000000000000000000000000000000000000000000000000000000008000000000d76fd10000000000000000000000000000000000534f4c2d37000000000000000000000000000000000000000000000000000000000000000000008000000346936f40000000000000000000000000000000000053555348492d37000000000000000000000000000000000000000000000000000000000000000080000000300de7b300000000000000000000000000000000005452582d34000000000000000000000000000000000000000000000000000000000000000000008000000038aecffd0000000000000000000000000000000000554d412d37000000000000000000000000000000000000000000000000000000000000000000007fffffffca091b100000000000000000000000000000000000554e492d3700000000000000000000000000000000000000000000000000000000000000000000800000008f456c8b0000000000000000000000000000000000584c4d2d3500000000000000000000000000000000000000000000000000000000000000000000800000003f86737c0000000000000000000000000000000000584d522d380000000000000000000000000000000000000000000000000000000000000000000080000000244916de000000000000000000000000000000000058545a2d3600000000000000000000000000000000000000000000000000000000000000000000800000000c18f85e00000000000000000000000000000000005946492d31300000000000000000000000000000000000000000000000000000000000000000008000000098266b6200000000000000000000000000000000005a45432d38000000000000000000000000000000000000000000000000000000000000000000008000000025529f2b00000000000000000000000000000000005a52582d36000000000000000000000000000000000000000000000000000000000000000000008000000005a5271a0000000000000000000000000000000000000000000000000000000066876fc00000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000031494e43482d3700000000000000000000000000000000000000000000000000000000000000000000000007e914c40000000000000000000000000000000000414156452d3800000000000000000000000000000000000000000000000000000000000000000000000000ba2a397c00000000000000000000000000000000004144412d36000000000000000000000000000000000000000000000000000000000000000000000000000051d997a50000000000000000000000000000000000414c474f2d36000000000000000000000000000000000000000000000000000000000000000000000000001d85dc42000000000000000000000000000000000041544f4d2d370000000000000000000000000000000000000000000000000000000000000000000000000082cac97f0000000000000000000000000000000000415641582d3700000000000000000000000000000000000000000000000000000000000000000000000002355fba2500000000000000000000000000000000004243482d380000000000000000000000000000000000000000000000000000000000000000000000000002fe08223800000000000000000000000000000000004254432d31300000000000000000000000000000000000000000000000000000000000000000000000000562598e11000000000000000000000000000000000043454c4f2d36000000000000000000000000000000000000000000000000000000000000000000000000006d22f9100000000000000000000000000000000000434f4d502d380000000000000000000000000000000000000000000000000000000000000000000000000067c218c200000000000000000000000000000000004352562d3600000000000000000000000000000000000000000000000000000000000000000000000000003916872b0000000000000000000000000000000000444f47452d3500000000000000000000000000000000000000000000000000000000000000000000000000efd8d9ef0000000000000000000000000000000000444f542d3700000000000000000000000000000000000000000000000000000000000000000000000000007f624ae10000000000000000000000000000000000454e4a2d360000000000000000000000000000000000000000000000000000000000000000000000000000234b55f70000000000000000000000000000000000454f532d360000000000000000000000000000000000000000000000000000000000000000000000000000720015a800000000000000000000000000000000004554432d370000000000000000000000000000000000000000000000000000000000000000000000000001daf0dbc600000000000000000000000000000000004554482d390000000000000000000000000000000000000000000000000000000000000000000000000002d9bcfd4c000000000000000000000000000000000046494c2d37000000000000000000000000000000000000000000000000000000000000000000000000000054c7eb0900000000000000000000000000000000004943502d3700000000000000000000000000000000000000000000000000000000000000000000000000009676c8b400000000000000000000000000000000004c494e4b2d37000000000000000000000000000000000000000000000000000000000000000000000000011db4aa9700000000000000000000000000000000004c54432d3800000000000000000000000000000000000000000000000000000000000000000000000000009424b39800000000000000000000000000000000004c554e412d360000000000000000000000000000000000000000000000000000000000000000000000000000068db900000000000000000000000000000000004d415449432d360000000000000000000000000000000000000000000000000000000000000000000000006eecc50700000000000000000000000000000000004d4b522d3900000000000000000000000000000000000000000000000000000000000000000000000000020034164b00000000000000000000000000000000004e4541522d36000000000000000000000000000000000000000000000000000000000000000000000000040bda7f88000000000000000000000000000000000052554e452d360000000000000000000000000000000000000000000000000000000000000000000000000323c7a1680000000000000000000000000000000000534e582d370000000000000000000000000000000000000000000000000000000000000000000000000000249a89620000000000000000000000000000000000534f4c2d37000000000000000000000000000000000000000000000000000000000000000000000000000c428d2cab000000000000000000000000000000000053555348492d370000000000000000000000000000000000000000000000000000000000000000000000000ecf27fa00000000000000000000000000000000005452582d34000000000000000000000000000000000000000000000000000000000000000000000000000c361099550000000000000000000000000000000000554d412d3700000000000000000000000000000000000000000000000000000000000000000000000000002bc42e910000000000000000000000000000000000554e492d370000000000000000000000000000000000000000000000000000000000000000000000000000afb4999c0000000000000000000000000000000000584c4d2d350000000000000000000000000000000000000000000000000000000000000000000000000000c5ad2d1f0000000000000000000000000000000000584d522d380000000000000000000000000000000000000000000000000000000000000000000000000001660df54e000000000000000000000000000000000058545a2d3600000000000000000000000000000000000000000000000000000000000000000000000000009eea6ff600000000000000000000000000000000005946492d31300000000000000000000000000000000000000000000000000000000000000000000000000088580ae600000000000000000000000000000000005a45432d380000000000000000000000000000000000000000000000000000000000000000000000000000295851b200000000000000000000000000000000005a52582d36000000000000000000000000000000000000000000000000000000000000000000000000000043633506000000000000000000000000000000000000000000000000000000006687747900000000000000000000000000000000000000000000000000000000000000a004a29eeebc250288f9c3d87d8f0db7e23b25b1199a00a35303997098b9dc7752000000000000000000000000000000000000000000000000000000000000004005f08f8e06fed5021726042af274f705a9e2b0920e7ed2dee3545f4e7f02648c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000031494e43482d3700000000000000000000000000000000000000000000000000000000000000007ffffffffce7985f0000000000000000000000000000000000414156452d3800000000000000000000000000000000000000000000000000000000000000000080000000ca2a5ab000000000000000000000000000000000004144412d3600000000000000000000000000000000000000000000000000000000000000000000800000001f5018560000000000000000000000000000000000414c474f2d3600000000000000000000000000000000000000000000000000000000000000000080000000235d0255000000000000000000000000000000000041544f4d2d370000000000000000000000000000000000000000000000000000000000000000008000000054a81e620000000000000000000000000000000000415641582d370000000000000000000000000000000000000000000000000000000000000000008000000119d284a700000000000000000000000000000000004243482d3800000000000000000000000000000000000000000000000000000000000000000000800000003ad80b0900000000000000000000000000000000004254432d3130000000000000000000000000000000000000000000000000000000000000000000800000025234d491000000000000000000000000000000000043454c4f2d36000000000000000000000000000000000000000000000000000000000000000000800000002b61c7e90000000000000000000000000000000000434f4d502d380000000000000000000000000000000000000000000000000000000000000000008000000059e29d4800000000000000000000000000000000004352562d36000000000000000000000000000000000000000000000000000000000000000000007fffffffe313d6270000000000000000000000000000000000444f47452d35000000000000000000000000000000000000000000000000000000000000000000800000006270f3c90000000000000000000000000000000000444f542d3700000000000000000000000000000000000000000000000000000000000000000000800000002c608cca0000000000000000000000000000000000454e4a2d360000000000000000000000000000000000000000000000000000000000000000000080000000142773d70000000000000000000000000000000000454f532d3600000000000000000000000000000000000000000000000000000000000000000000800000008388e0ad00000000000000000000000000000000004554432d3700000000000000000000000000000000000000000000000000000000000000000000800000003bd7163d00000000000000000000000000000000004554482d390000000000000000000000000000000000000000000000000000000000000000000080000001596a34e6000000000000000000000000000000000046494c2d3700000000000000000000000000000000000000000000000000000000000000000000800000008120a8f200000000000000000000000000000000004943502d3700000000000000000000000000000000000000000000000000000000000000000000800000002eac018c00000000000000000000000000000000004c494e4b2d37000000000000000000000000000000000000000000000000000000000000000000800000010a6aa9a300000000000000000000000000000000004c54432d3800000000000000000000000000000000000000000000000000000000000000000000800000004912d28c00000000000000000000000000000000004c554e412d360000000000000000000000000000000000000000000000000000000000000000007ffffffeff6d291c00000000000000000000000000000000004d415449432d360000000000000000000000000000000000000000000000000000000000000000800000005bf7eb5800000000000000000000000000000000004d4b522d390000000000000000000000000000000000000000000000000000000000000000000080000001246bdf1b00000000000000000000000000000000004e4541522d3600000000000000000000000000000000000000000000000000000000000000000080000001066ef2a4000000000000000000000000000000000052554e452d36000000000000000000000000000000000000000000000000000000000000000000800000025680af040000000000000000000000000000000000534e582d37000000000000000000000000000000000000000000000000000000000000000000008000000000d78f100000000000000000000000000000000000534f4c2d3700000000000000000000000000000000000000000000000000000000000000000000800000034690f90f000000000000000000000000000000000053555348492d37000000000000000000000000000000000000000000000000000000000000000080000000300df45800000000000000000000000000000000005452582d34000000000000000000000000000000000000000000000000000000000000000000008000000038a639b30000000000000000000000000000000000554d412d37000000000000000000000000000000000000000000000000000000000000000000007fffffffca0936090000000000000000000000000000000000554e492d3700000000000000000000000000000000000000000000000000000000000000000000800000008f45ddbb0000000000000000000000000000000000584c4d2d3500000000000000000000000000000000000000000000000000000000000000000000800000003f86e1ab0000000000000000000000000000000000584d522d38000000000000000000000000000000000000000000000000000000000000000000008000000024493092000000000000000000000000000000000058545a2d3600000000000000000000000000000000000000000000000000000000000000000000800000000c19765900000000000000000000000000000000005946492d3130000000000000000000000000000000000000000000000000000000000000000000800000009826d84e00000000000000000000000000000000005a45432d3800000000000000000000000000000000000000000000000000000000000000000000800000002552b7d700000000000000000000000000000000005a52582d36000000000000000000000000000000000000000000000000000000000000000000008000000005a5605b0000000000000000000000000000000000000000000000000000000066877dd00000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000031494e43482d37000000000000000000000000000000000000000000000000000000000000000000000000082a59bb0000000000000000000000000000000000414156452d3800000000000000000000000000000000000000000000000000000000000000000000000000c4bef3c500000000000000000000000000000000004144412d360000000000000000000000000000000000000000000000000000000000000000000000000000556f045a0000000000000000000000000000000000414c474f2d36000000000000000000000000000000000000000000000000000000000000000000000000001e87f54c000000000000000000000000000000000041544f4d2d3700000000000000000000000000000000000000000000000000000000000000000000000000890cb3980000000000000000000000000000000000415641582d37000000000000000000000000000000000000000000000000000000000000000000000000024746ae7100000000000000000000000000000000004243482d38000000000000000000000000000000000000000000000000000000000000000000000000000318e2d04400000000000000000000000000000000004254432d3130000000000000000000000000000000000000000000000000000000000000000000000000056f0ca052000000000000000000000000000000000043454c4f2d360000000000000000000000000000000000000000000000000000000000000000000000000071f3bc330000000000000000000000000000000000434f4d502d38000000000000000000000000000000000000000000000000000000000000000000000000006bc9e17400000000000000000000000000000000004352562d3600000000000000000000000000000000000000000000000000000000000000000000000000003a1bebc30000000000000000000000000000000000444f47452d3500000000000000000000000000000000000000000000000000000000000000000000000000f979081c0000000000000000000000000000000000444f542d370000000000000000000000000000000000000000000000000000000000000000000000000000856b08c00000000000000000000000000000000000454e4a2d36000000000000000000000000000000000000000000000000000000000000000000000000000024ce5ca80000000000000000000000000000000000454f532d36000000000000000000000000000000000000000000000000000000000000000000000000000075cf633900000000000000000000000000000000004554432d370000000000000000000000000000000000000000000000000000000000000000000000000001e99fbf1500000000000000000000000000000000004554482d390000000000000000000000000000000000000000000000000000000000000000000000000002e05c67e0000000000000000000000000000000000046494c2d37000000000000000000000000000000000000000000000000000000000000000000000000000057e3360a00000000000000000000000000000000004943502d3700000000000000000000000000000000000000000000000000000000000000000000000000009ef2ae1400000000000000000000000000000000004c494e4b2d370000000000000000000000000000000000000000000000000000000000000000000000000129c518a300000000000000000000000000000000004c54432d3800000000000000000000000000000000000000000000000000000000000000000000000000009886654900000000000000000000000000000000004c554e412d360000000000000000000000000000000000000000000000000000000000000000000000000000068db900000000000000000000000000000000004d415449432d36000000000000000000000000000000000000000000000000000000000000000000000000727068ea00000000000000000000000000000000004d4b522d3900000000000000000000000000000000000000000000000000000000000000000000000000020e12b2e700000000000000000000000000000000004e4541522d360000000000000000000000000000000000000000000000000000000000000000000000000441d05557000000000000000000000000000000000052554e452d360000000000000000000000000000000000000000000000000000000000000000000000000338c4fb140000000000000000000000000000000000534e582d37000000000000000000000000000000000000000000000000000000000000000000000000000025e68e6d0000000000000000000000000000000000534f4c2d37000000000000000000000000000000000000000000000000000000000000000000000000000caa9c9fde000000000000000000000000000000000053555348492d370000000000000000000000000000000000000000000000000000000000000000000000000fbf277700000000000000000000000000000000005452582d34000000000000000000000000000000000000000000000000000000000000000000000000000c4f4784230000000000000000000000000000000000554d412d3700000000000000000000000000000000000000000000000000000000000000000000000000002d9686020000000000000000000000000000000000554e492d370000000000000000000000000000000000000000000000000000000000000000000000000000b6799a200000000000000000000000000000000000584c4d2d350000000000000000000000000000000000000000000000000000000000000000000000000000cb8efb250000000000000000000000000000000000584d522d3800000000000000000000000000000000000000000000000000000000000000000000000000015f1be49e000000000000000000000000000000000058545a2d360000000000000000000000000000000000000000000000000000000000000000000000000000a4b7fcdc00000000000000000000000000000000005946492d3130000000000000000000000000000000000000000000000000000000000000000000000000008c05266800000000000000000000000000000000005a45432d3800000000000000000000000000000000000000000000000000000000000000000000000000002aca8d1300000000000000000000000000000000005a52582d360000000000000000000000000000000000000000000000000000000000000000000000000000463f4a25000000000000000000000000000000000000000000000000000000006687881f0000000000000000000000000000000000000000000000000000000000074b25000000000000000000000000000000000000000000000000000000000000002501885bd7723bbe6ca98be836aad30a3b793d8318611d7b4dc440212f53a289c2000000000000000000000000000000000000000000000000000000000000035800000000000000000000000000000000000000000000000100000004a817c80005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffec3509f8a00017afb0a9b47b207e0745cae8ae98666b68b00b721e179bfc75fe998d511d18000000000000000000000000000000000000000000000000000000000006281f00000000000000000000000000000000000000000000000100000002540be40007e0c53b5bd0d755151af3a61874770322a76579a233df3c418aea557ccd6eb20000000000000000000000000000000000000000000000000000000000029f7d000000000000000000000000000000000000000000000001000000007735940005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffef2bc10eb805e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffffe44b68e005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffffed8689d005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffe2e4d38ad00735ebfb493916c125a0abdcf312d2e6092a9c217430f38dc7b0dd0d84013553000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000fffffcd117be480005b3c54f7e3fc873f985e136b6eff6fb707318cc01d2b9cc709d72ceefd0ba9d00000000000000000000000000000000000000000000000000000000000416e4000000000000000000000000000000000000000000000000fffffcd117be480001885bd7723bbe6ca98be836aad30a3b793d8318611d7b4dc440212f53a289c2000000000000000000000000000000000000000000000000000000000000035800000000000000000000000000000000000000000000000100000004a817c800014831fe23926d2ea729a5dacb7ef67f81faf05b0bd50203f7311e387bee7e1c000000000000000000000000000000000000000000000000000000000006749a00000000000000000000000000000000000000000000000100000000ae787b5805e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000fffffffcbd2af58005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000fffffff9037e55800054f7db92d7826f24c4db2c9326d31d3f981952e388e770586cc081a41f7f33000000000000000000000000000000000000000000000000000000000000335d0000000000000000000000000000000000000000000000010000000ba43b740005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffffc30b222d043a812c03ec3062f5fc7df985c377b5b83b882620675138e8127044011e1e2f0000000000000000000000000000000000000000000000000000000000024c940000000000000000000000000000000000000000000000010000000838871d0b05e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffd16ea8bfd005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffd16eb89e5005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffd16f12300005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffd16f12300005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffd16f123000045be47aeb07ec9f18f6fe90c89462eb12748225530066a24be8a6e2c7e1c36c000000000000000000000000000000000000000000000000000000000002fadb000000000000000000000000000000000000000000000001000000000510ff4000e5ae758140dee346b7283d76e78e03c9d3948f40b1927e717a9d3f5c19b771000000000000000000000000000000000000000000000000000000000005d5aa000000000000000000000000000000000000000000000001000000012b6db46c00bbd92d9f70a226fb83af0f067ee64a24207a52de056a45ebb9bd8d299af2b5000000000000000000000000000000000000000000000000000000000006845700000000000000000000000000000000000000000000000100000000009896800034af724255b81510de4cfce39d900c47364bcdbedfd3c0f7d4eb2776027e1c000000000000000000000000000000000000000000000000000000000005224c00000000000000000000000000000000000000000000000100000017fb47460007e10de009ad200d226479dc6d71d9161ed1f78f87a9907dab5feb8b599473120000000000000000000000000000000000000000000000000000000000031e7b000000000000000000000000000000000000000000000001000000001d403bad05e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000fffffffeed518c9002fd856a4f6b63e5e927874bddd920b5cbf9660534d50f1b914fd90f34aac21500000000000000000000000000000000000000000000000000000000000643a9000000000000000000000000000000000000000000000001000000174b5b48f4012f1d1a310e776870d54332d8c03086629360b7e8044b57fd0a142fc3390df40000000000000000000000000000000000000000000000000000000000067bc7000000000000000000000000000000000000000000000001000000174876e800042b8805d46aa18ab513221ecde8d5cecb5ca37ad6647c36e814cf6d8b2f0c0c000000000000000000000000000000000000000000000000000000000005932100000000000000000000000000000000000000000000000100000002896970fb006d41643078c908dd808aef4ad1eed4b3a9917a650216056be46a216e66dda4000000000000000000000000000000000000000000000000000000000006833a0000000000000000000000000000000000000000000000010000000ba43b740005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000fffffffff2a82ae007e0c53b5bd0d755151af3a61874770322a76579a233df3c418aea557ccd6eb20000000000000000000000000000000000000000000000000000000000029f7d000000000000000000000000000000000000000000000001000000012a05f200068695f7ce53bc884f3665e58bfbaacc68f4abca5c9928b82b99854d8dafad740000000000000000000000000000000000000000000000000000000000067ae20000000000000000000000000000000000000000000000010000000007b3458a00c1b8df33f89eb4eed52099463367c361795b361c43684b834377c360d93008000000000000000000000000000000000000000000000000000000000006780d00000000000000000000000000000000000000000000000100000045d9186cc0042b8805d46aa18ab513221ecde8d5cecb5ca37ad6647c36e814cf6d8b2f0c0c00000000000000000000000000000000000000000000000000000000000593210000000000000000000000000000000000000000000000010000000e74c3e3ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f037bfdefa6e67c594ca270869f07489e2ba12813ca1ac56eb800a646dde422f403335b5f307584449449eb094926bc50912e8f3331ec1a921c6966ef19a7ebc20384104173b2dad6fd22e76237d29d9c0573d17abe50e89a9ba112eea1eb6c4703b7b31bbed5a55f6422a8965f8ce288c735145ee17a51835f4244e71e3a4963037949369241e51ff7cc78d71f4d08c4ac72dc2efc907abb0b4dfa34f6f0677f03ef72efddccf0fda3b08a2028d7f81aed5b3da5c3098c06c19ee819309fb376039befcac8064c76167d857e7143cd506d82c08f29a47645517963b820ebbde2003ebd5092efef770b8ada4de4d004c7b51b2f5bf312a2f50bdcacab6b215da7035968919177fe8db5624b4fd54ff2357ca36dbe339e4a67ad7784aeaa6fb2050196401ff3d252520bddded4bdd0e238fd232dd69a7f7de437654132dcc2fc1e01fe52568c82c42131346d5daba6d16aa3fab867d104400a24d1ef3a10ed39d200e53296f5c5b93025740a6496dd9b99f220f210a7d546cdcbbbe828679b564e008eb1934113fd1453bfa0b3c656e766a724739cebcaa4e6f9044acedbee1d6000673a96e0c0a7295f07f1d7dae598d74796e6579b47ce0448ba0a8b339b9bf503063d101197c8dfed2df89006a286a0c122d85ac083cbc71aa1b6c94eeff87f960a40cb72f2e533841e82f3a7b87b06632c49cc43da4d4647426b3b520d7f4000000000000000000000000000000000000000000000000000000000000008cf00000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000005d6d0000000000000000000000000000000000000000000000000000000000005d6c000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a1efabfa31cab8fc8f4e1d1375d9b14b862adb6afbd7dc1d12166b59c70491976000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a5853aab98bac39f1e352c14676c12716c34a52d7dafd8356f33e7a2c7926cd60000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27aada24f969ff86430083a695b0fda58e323b9dd4b72272bc62b1f311da22d4c62000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a779d8dd9117425343acfd5d3e170a5e48ac75bfff47676defdd0ef1ec9eda7b2000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a768c6333b49dfbfe46e1997ff7305df38b8dc216829d817e6be5f15cb3362f68000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27aedcc1dfacce83156a104ffd8e9af93dec5e7d9c78c30963a8110d3e58b3c8f95000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27ad0d81ea82346610b25e27be5bd2354c549c5a58a6673da52eddd5ad9d173cd5b000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a31d1b0a45980d1d2726b16409cdc8f37c34b84826f06e550ee949f950a94689a000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a3a83c684ae6a3a64fa2d90ccfc85d2ef407a10b5087647a47fabeaeee34d2913000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a5c0dec9ba5482a3459345050d67b305da04a668db235b6f14a71fdc69a60bc37000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a894beaf32351b50471569d2ace51148e737c60c46b6f2a623f9d2b0c4e1d2dac000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a43c16a5038060a1594faeb677c094ed3bd876162792a73b20baf284c27e18413000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a78b57ae27279b9f618a9532fe0b15c6d0a431c9999e4b55f5a54c3727bfe7d53000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a14c866c768a02a5cd3be7b8bba9ee559a1b280756426fe782488e078b7515e7d000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27af33f7c03a083b45e17dd4557d5e75cfb6a9800ac212415546946f108931146d3c080a0a3992be1340ca89884efb5e1b31a0442898e6daf0e256a7cf178e3771a58e974a0422af0b5a8833ce1af4389c266f135ea480f56407ea013a6d0221dd187d3be57","new_txn_trie_node_byte":"0x02f94d35018306a8c78405f5e1008522ecb25c00834c4b4094d54f502e184b6b739d7d27a6410a67dc462d69c880b94cc4538f940600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000004880000000000000000000000000000000000000000000000000000000000000024103cbd17769430aed60aa8b9a5867b375c3fdca23e56cbbd83e33290577f50449000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000031494e43482d37000000000000000006d50d2c9b4ba8477d0a6189efd223e0a7bc8903e5e5502c2596bfd037d5cf1a0000000000000000000000000000000000414156452d3800000000000000000005b754de68ac6ca37456b54e3d6740dfb10ad6c991c6ea8e63b4c207f12e657c00000000000000000000000000000000004144412d360000000000000000000005b93d4381bfe361f959986e5523b24c16e1d8d8b15d99d6e693a1872be984840000000000000000000000000000000000414c43582d38000000000000000000031c1d4eeee2353a182d36abdbc73f8d36e60f65c98d3aefff0138ce20ec40f70000000000000000000000000000000000414c474f2d3600000000000000000004fefe9fbb321738241a4ecaabbf01e0bd1d4960f130ae52ade2794f5e8918040000000000000000000000000000000000414c5048412d350000000000000000009ac496c4dea926cfec5ab407fccbb8f4e6f9025f35b6bb522378cc28121396000000000000000000000000000000000041522d370000000000000000000000015c810f030f46306c236b937ce4000e9fb7bb540ae46f33dd0c3d4929e8a7b4000000000000000000000000000000000041544f4d2d37000000000000000000073bf77f40259256b097809d1865fcb745d912e5fa1c38f59e55499dff0f3aef0000000000000000000000000000000000415641582d3700000000000000000006f6133d524c663a9cb6bc55da515e2906c3e3648bb756b085b5d66065d0e41b000000000000000000000000000000000042414c2d3700000000000000000000069c7bbe007c10c9c29483deee379313f77af1f3ca0ce4e372b64813fa89837f00000000000000000000000000000000004241542d350000000000000000000001d514cac5895e59a89067aa835af3b3caef1966003143635f7579f0c00b2b8e00000000000000000000000000000000004243482d380000000000000000000001e9e172262048239b36c62b05d193b600db09bf61b49553d1939c748dc425220000000000000000000000000000000000424e422d3800000000000000000000073f2462fe1f9988b60af995ca8a95a8a5ab846745b96da5b32048bd1c42253b0000000000000000000000000000000000424e542d360000000000000000000001cf868b74d4b377533717e5083bb9b214c0057529544b9d767cc0d706c3c43300000000000000000000000000000000004254432d313000000000000000000006b17c0ea15e9924ea938b1405c6cdd1253861524369999aba9f5e9183757082000000000000000000000000000000000043454c4f2d3600000000000000000000bc2a629afbb2f1b34b73c5a1aea592c37837561c59bb0c7016a3ed72ed1bb00000000000000000000000000000000000434f4d502d3800000000000000000005c39ad83385470bd47c71440305348c807ad34d38ae033f1b58a01c8834c02f00000000000000000000000000000000004352562d3600000000000000000000065486a27ad7673fcd39e2087e09c5d93ad80e151e69323035460bc0a2b9afe50000000000000000000000000000000000444f444f2d36000000000000000000054a8f9e13407b36d81f650c54729f364e28d3436ea6725a4e724f29793ca7560000000000000000000000000000000000444f47452d35000000000000000000038b40a3cc927314917883295666bd170d67b008e30361ebbb2a6ef6ff499d420000000000000000000000000000000000444f542d370000000000000000000003cc4f20f85dfd549c4d1e3f2ba7cd7f206a24a506b21e0a6e7bd23c40b61fc100000000000000000000000000000000004450492d3800000000000000000000032c7927e720c37ad10472f16bbae4009fd6e1cff1f73c75c70d0592e7c67df30000000000000000000000000000000000454e4a2d36000000000000000000000542b51ed758431b88cd0ac6e83fe04e8eb3b1edde877785b9d5b4600c457a370000000000000000000000000000000000454f532d3600000000000000000000020cd027d852c8d2e40b125f9cd2283edd99d4d4b020a78e7aea728fbbd36c6200000000000000000000000000000000004554432d37000000000000000000000401cb9ba52e6d6b7222c6352462ee89d88ccdfdad3bff34af21aa1138a42b6600000000000000000000000000000000004554482d39000000000000000000000706a231efa8932e2cf71ee572dff6eeee3b1eb14ae44a035a60b896643e85db000000000000000000000000000000000046494c2d370000000000000000000002c9b30cd68b591c364bc227db1f6eeb5ebe31fa5653395b05268c99833a5d9f0000000000000000000000000000000000464c4f572d37000000000000000000029f31a257ee00498d257ebaa2a963e2158baffa3b9b454c544a2b972b2ee87a00000000000000000000000000000000004654542d370000000000000000000006954f20dd9c0213217217bf1450267e7085d742f559947591ca81f4f2125caa00000000000000000000000000000000004752542d35000000000000000000000787e4e055907dc154dc8dbfc16360f6a58ce354dca074fa44f61d95258d8c9d0000000000000000000000000000000000484e542d370000000000000000000006f2158c62e7852b3d1dfb5ecc835764ed064dac30815603d84884b2cc1fdc4200000000000000000000000000000000004943502d37000000000000000000000411ad4aa08a6caeaa16508c33a6c5e431bcba175dd6f5ba9b071698723bba0200000000000000000000000000000000004b534d2d38000000000000000000000443cd2686a4a1fceaeaece113b2810c6b6a60dd0858feb42799c844cb54aa2f00000000000000000000000000000000004c494e4b2d37000000000000000000031bccd53de4ce5aa144cf96f832e4093e3e993f35f11cd4918bf92de996043d00000000000000000000000000000000004c4f4e2d36000000000000000000000236433565fcae0d4ee97940d8f6bdae061690ef58f2b321e7883826a6c2e35f00000000000000000000000000000000004c54432d380000000000000000000001941e515e0e857906d14106f7048b5bb97644e204e5d2df657e57331d1f1dc700000000000000000000000000000000004c554e412d360000000000000000000675a0049f8478c6d167a3a530c58ec9130dded8e24bbcbe7b44533d27cfa44900000000000000000000000000000000004d415449432d360000000000000000034f0d27aff79a089020a8b7901e3929daa2bf72df21a8609586cc4cdcc1ace200000000000000000000000000000000004d49522d3600000000000000000000073648beee76cc77df18f620b69e818c7eb02e4929f9375c91d8dc4f09801a3600000000000000000000000000000000004d4b522d390000000000000000000000a2fb59544b563aeab9fb95c0f02f955824987c36de3741b6080ea4a8d6ae0b00000000000000000000000000000000004e4541522d3600000000000000000002c1bf7893cd6b93323a8fcd9734dc6cebffebc3514c08046092ee17be3b28e30000000000000000000000000000000000504552502d36000000000000000000072d6c42503268fb4cb67ea415012451a3288d5b106bebc6dd3b11652c2ea421000000000000000000000000000000000052454e2d350000000000000000000002571f2a6ffe7cf5299df2d1a39fe65353e75cba70476470ff78617c151a290b000000000000000000000000000000000052554e452d36000000000000000000033b720c9a462badefa6e0aa15ae9d3433afe192732bd6cb7c761d8a12d363550000000000000000000000000000000000534e582d3700000000000000000000073233e2abb9d0b13c6e77c2dd815a3c89fdc6135ecec80ae963d415ae34a07e0000000000000000000000000000000000534f4c2d370000000000000000000001772242cd4849b1883a5ce776942fbe69461e0074aae1dc610933d50fb1f412000000000000000000000000000000000053524d2d36000000000000000000000629d6bc84b8611db735a00644067d2aff8ae3ab4225ad7a3ba5ad9c75da4d85000000000000000000000000000000000053555348492d370000000000000000029b76f6d536776777d7153cc79151a4cad6bc3e2dc7802e50dee1090035ad5e00000000000000000000000000000000005452582d340000000000000000000006682082a10cf4fd20b68b787b382571331c447d346e75c5c83c996fe521dcf80000000000000000000000000000000000554d412d37000000000000000000000716d18347420ea748219ee4f2dff5a072f20726e10d6e30585d571eaf122ead0000000000000000000000000000000000554e492d3700000000000000000000014b8c123616fb4ee47ceb9d003e5e17be5b6baf90f0de24c2fbfa0236ceb2580000000000000000000000000000000000574e584d2d3700000000000000000005a056adb29a14133636dc1bb9af929f647a95448cf73ec37d84fb98840806730000000000000000000000000000000000574f4f2d350000000000000000000002098fdd7316e8e68de9570f4dc60345ea3e49eccf94a37d6ee83f945a2d924600000000000000000000000000000000005843482d3800000000000000000000048db8a756d48b58d5cd9c332e0f9fa253a1ec6433e4365871cfd9a83c23d4390000000000000000000000000000000000584c4d2d350000000000000000000007c666870ba51d2b88a54bd889d9a2467f26f91c05728abca123c7fd6a79a8170000000000000000000000000000000000584d522d380000000000000000000006ec4d9565d639de4e4722c5ce1bdd584693a98b71a194c91646b88242d747ec000000000000000000000000000000000058545a2d3600000000000000000000053e504edbeadb9aa5b36fa7c6b0e2d2998849b4752869511cac2f9387e6c6e700000000000000000000000000000000005946492d313000000000000000000003cbc25167ffc91de5f57dc6595eb0b760007bde9f82cf84f0ce485c9cb335d100000000000000000000000000000000005a45432d380000000000000000000006212ada0635614c1e253b8071f1ed1d2515c15d32659886c388ffe7e4b5e24100000000000000000000000000000000005a52582d360000000000000000000002f97cd23e7d4d1b199152d59c080171cb78fee404470aa4b268350187020acc00000000000000000000000000000000000000000000000000000000000000a0074b4e8a7043059cab7678c175d487696ee38876506372a8b461d8ece2947c88000000000000000000000000000000000000000000000000000000000000004002a3c2b1a1c5b7ce8492b6b2e866179d4cd2b1c333cc6dbf80c93ceb5715d8f300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000031494e43482d3700000000000000000000000000000000000000000000000000000000000000007ffffffffce791b60000000000000000000000000000000000414156452d3800000000000000000000000000000000000000000000000000000000000000000080000000ca2a0f0e00000000000000000000000000000000004144412d3600000000000000000000000000000000000000000000000000000000000000000000800000001f500fc80000000000000000000000000000000000414c474f2d3600000000000000000000000000000000000000000000000000000000000000000080000000235ce996000000000000000000000000000000000041544f4d2d370000000000000000000000000000000000000000000000000000000000000000008000000054a81d350000000000000000000000000000000000415641582d370000000000000000000000000000000000000000000000000000000000000000008000000119d3497300000000000000000000000000000000004243482d3800000000000000000000000000000000000000000000000000000000000000000000800000003ad9c30300000000000000000000000000000000004254432d313000000000000000000000000000000000000000000000000000000000000000000080000002523b95b2000000000000000000000000000000000043454c4f2d36000000000000000000000000000000000000000000000000000000000000000000800000002b616b3d0000000000000000000000000000000000434f4d502d380000000000000000000000000000000000000000000000000000000000000000008000000059e27d0600000000000000000000000000000000004352562d36000000000000000000000000000000000000000000000000000000000000000000007fffffffe313ab240000000000000000000000000000000000444f47452d35000000000000000000000000000000000000000000000000000000000000000000800000006271426b0000000000000000000000000000000000444f542d3700000000000000000000000000000000000000000000000000000000000000000000800000002c60615c0000000000000000000000000000000000454e4a2d36000000000000000000000000000000000000000000000000000000000000000000008000000014275a6e0000000000000000000000000000000000454f532d360000000000000000000000000000000000000000000000000000000000000000000080000000838888d400000000000000000000000000000000004554432d3700000000000000000000000000000000000000000000000000000000000000000000800000003bd63ce300000000000000000000000000000000004554482d390000000000000000000000000000000000000000000000000000000000000000000080000001596ce03d000000000000000000000000000000000046494c2d370000000000000000000000000000000000000000000000000000000000000000000080000000812082c300000000000000000000000000000000004943502d3700000000000000000000000000000000000000000000000000000000000000000000800000002eab817800000000000000000000000000000000004c494e4b2d37000000000000000000000000000000000000000000000000000000000000000000800000010a6a904900000000000000000000000000000000004c54432d3800000000000000000000000000000000000000000000000000000000000000000000800000004912fd8400000000000000000000000000000000004c554e412d360000000000000000000000000000000000000000000000000000000000000000007ffffffeff6d291c00000000000000000000000000000000004d415449432d360000000000000000000000000000000000000000000000000000000000000000800000005bf8346800000000000000000000000000000000004d4b522d390000000000000000000000000000000000000000000000000000000000000000000080000001246aafa800000000000000000000000000000000004e4541522d3600000000000000000000000000000000000000000000000000000000000000000080000001066d3832000000000000000000000000000000000052554e452d3600000000000000000000000000000000000000000000000000000000000000000080000002567e01630000000000000000000000000000000000534e582d37000000000000000000000000000000000000000000000000000000000000000000008000000000d76fd10000000000000000000000000000000000534f4c2d37000000000000000000000000000000000000000000000000000000000000000000008000000346936f40000000000000000000000000000000000053555348492d37000000000000000000000000000000000000000000000000000000000000000080000000300de7b300000000000000000000000000000000005452582d34000000000000000000000000000000000000000000000000000000000000000000008000000038aecffd0000000000000000000000000000000000554d412d37000000000000000000000000000000000000000000000000000000000000000000007fffffffca091b100000000000000000000000000000000000554e492d3700000000000000000000000000000000000000000000000000000000000000000000800000008f456c8b0000000000000000000000000000000000584c4d2d3500000000000000000000000000000000000000000000000000000000000000000000800000003f86737c0000000000000000000000000000000000584d522d380000000000000000000000000000000000000000000000000000000000000000000080000000244916de000000000000000000000000000000000058545a2d3600000000000000000000000000000000000000000000000000000000000000000000800000000c18f85e00000000000000000000000000000000005946492d31300000000000000000000000000000000000000000000000000000000000000000008000000098266b6200000000000000000000000000000000005a45432d38000000000000000000000000000000000000000000000000000000000000000000008000000025529f2b00000000000000000000000000000000005a52582d36000000000000000000000000000000000000000000000000000000000000000000008000000005a5271a0000000000000000000000000000000000000000000000000000000066876fc00000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000031494e43482d3700000000000000000000000000000000000000000000000000000000000000000000000007e914c40000000000000000000000000000000000414156452d3800000000000000000000000000000000000000000000000000000000000000000000000000ba2a397c00000000000000000000000000000000004144412d36000000000000000000000000000000000000000000000000000000000000000000000000000051d997a50000000000000000000000000000000000414c474f2d36000000000000000000000000000000000000000000000000000000000000000000000000001d85dc42000000000000000000000000000000000041544f4d2d370000000000000000000000000000000000000000000000000000000000000000000000000082cac97f0000000000000000000000000000000000415641582d3700000000000000000000000000000000000000000000000000000000000000000000000002355fba2500000000000000000000000000000000004243482d380000000000000000000000000000000000000000000000000000000000000000000000000002fe08223800000000000000000000000000000000004254432d31300000000000000000000000000000000000000000000000000000000000000000000000000562598e11000000000000000000000000000000000043454c4f2d36000000000000000000000000000000000000000000000000000000000000000000000000006d22f9100000000000000000000000000000000000434f4d502d380000000000000000000000000000000000000000000000000000000000000000000000000067c218c200000000000000000000000000000000004352562d3600000000000000000000000000000000000000000000000000000000000000000000000000003916872b0000000000000000000000000000000000444f47452d3500000000000000000000000000000000000000000000000000000000000000000000000000efd8d9ef0000000000000000000000000000000000444f542d3700000000000000000000000000000000000000000000000000000000000000000000000000007f624ae10000000000000000000000000000000000454e4a2d360000000000000000000000000000000000000000000000000000000000000000000000000000234b55f70000000000000000000000000000000000454f532d360000000000000000000000000000000000000000000000000000000000000000000000000000720015a800000000000000000000000000000000004554432d370000000000000000000000000000000000000000000000000000000000000000000000000001daf0dbc600000000000000000000000000000000004554482d390000000000000000000000000000000000000000000000000000000000000000000000000002d9bcfd4c000000000000000000000000000000000046494c2d37000000000000000000000000000000000000000000000000000000000000000000000000000054c7eb0900000000000000000000000000000000004943502d3700000000000000000000000000000000000000000000000000000000000000000000000000009676c8b400000000000000000000000000000000004c494e4b2d37000000000000000000000000000000000000000000000000000000000000000000000000011db4aa9700000000000000000000000000000000004c54432d3800000000000000000000000000000000000000000000000000000000000000000000000000009424b39800000000000000000000000000000000004c554e412d360000000000000000000000000000000000000000000000000000000000000000000000000000068db900000000000000000000000000000000004d415449432d360000000000000000000000000000000000000000000000000000000000000000000000006eecc50700000000000000000000000000000000004d4b522d3900000000000000000000000000000000000000000000000000000000000000000000000000020034164b00000000000000000000000000000000004e4541522d36000000000000000000000000000000000000000000000000000000000000000000000000040bda7f88000000000000000000000000000000000052554e452d360000000000000000000000000000000000000000000000000000000000000000000000000323c7a1680000000000000000000000000000000000534e582d370000000000000000000000000000000000000000000000000000000000000000000000000000249a89620000000000000000000000000000000000534f4c2d37000000000000000000000000000000000000000000000000000000000000000000000000000c428d2cab000000000000000000000000000000000053555348492d370000000000000000000000000000000000000000000000000000000000000000000000000ecf27fa00000000000000000000000000000000005452582d34000000000000000000000000000000000000000000000000000000000000000000000000000c361099550000000000000000000000000000000000554d412d3700000000000000000000000000000000000000000000000000000000000000000000000000002bc42e910000000000000000000000000000000000554e492d370000000000000000000000000000000000000000000000000000000000000000000000000000afb4999c0000000000000000000000000000000000584c4d2d350000000000000000000000000000000000000000000000000000000000000000000000000000c5ad2d1f0000000000000000000000000000000000584d522d380000000000000000000000000000000000000000000000000000000000000000000000000001660df54e000000000000000000000000000000000058545a2d3600000000000000000000000000000000000000000000000000000000000000000000000000009eea6ff600000000000000000000000000000000005946492d31300000000000000000000000000000000000000000000000000000000000000000000000000088580ae600000000000000000000000000000000005a45432d380000000000000000000000000000000000000000000000000000000000000000000000000000295851b200000000000000000000000000000000005a52582d36000000000000000000000000000000000000000000000000000000000000000000000000000043633506000000000000000000000000000000000000000000000000000000006687747900000000000000000000000000000000000000000000000000000000000000a004a29eeebc250288f9c3d87d8f0db7e23b25b1199a00a35303997098b9dc7752000000000000000000000000000000000000000000000000000000000000004005f08f8e06fed5021726042af274f705a9e2b0920e7ed2dee3545f4e7f02648c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000031494e43482d3700000000000000000000000000000000000000000000000000000000000000007ffffffffce7985f0000000000000000000000000000000000414156452d3800000000000000000000000000000000000000000000000000000000000000000080000000ca2a5ab000000000000000000000000000000000004144412d3600000000000000000000000000000000000000000000000000000000000000000000800000001f5018560000000000000000000000000000000000414c474f2d3600000000000000000000000000000000000000000000000000000000000000000080000000235d0255000000000000000000000000000000000041544f4d2d370000000000000000000000000000000000000000000000000000000000000000008000000054a81e620000000000000000000000000000000000415641582d370000000000000000000000000000000000000000000000000000000000000000008000000119d284a700000000000000000000000000000000004243482d3800000000000000000000000000000000000000000000000000000000000000000000800000003ad80b0900000000000000000000000000000000004254432d3130000000000000000000000000000000000000000000000000000000000000000000800000025234d491000000000000000000000000000000000043454c4f2d36000000000000000000000000000000000000000000000000000000000000000000800000002b61c7e90000000000000000000000000000000000434f4d502d380000000000000000000000000000000000000000000000000000000000000000008000000059e29d4800000000000000000000000000000000004352562d36000000000000000000000000000000000000000000000000000000000000000000007fffffffe313d6270000000000000000000000000000000000444f47452d35000000000000000000000000000000000000000000000000000000000000000000800000006270f3c90000000000000000000000000000000000444f542d3700000000000000000000000000000000000000000000000000000000000000000000800000002c608cca0000000000000000000000000000000000454e4a2d360000000000000000000000000000000000000000000000000000000000000000000080000000142773d70000000000000000000000000000000000454f532d3600000000000000000000000000000000000000000000000000000000000000000000800000008388e0ad00000000000000000000000000000000004554432d3700000000000000000000000000000000000000000000000000000000000000000000800000003bd7163d00000000000000000000000000000000004554482d390000000000000000000000000000000000000000000000000000000000000000000080000001596a34e6000000000000000000000000000000000046494c2d3700000000000000000000000000000000000000000000000000000000000000000000800000008120a8f200000000000000000000000000000000004943502d3700000000000000000000000000000000000000000000000000000000000000000000800000002eac018c00000000000000000000000000000000004c494e4b2d37000000000000000000000000000000000000000000000000000000000000000000800000010a6aa9a300000000000000000000000000000000004c54432d3800000000000000000000000000000000000000000000000000000000000000000000800000004912d28c00000000000000000000000000000000004c554e412d360000000000000000000000000000000000000000000000000000000000000000007ffffffeff6d291c00000000000000000000000000000000004d415449432d360000000000000000000000000000000000000000000000000000000000000000800000005bf7eb5800000000000000000000000000000000004d4b522d390000000000000000000000000000000000000000000000000000000000000000000080000001246bdf1b00000000000000000000000000000000004e4541522d3600000000000000000000000000000000000000000000000000000000000000000080000001066ef2a4000000000000000000000000000000000052554e452d36000000000000000000000000000000000000000000000000000000000000000000800000025680af040000000000000000000000000000000000534e582d37000000000000000000000000000000000000000000000000000000000000000000008000000000d78f100000000000000000000000000000000000534f4c2d3700000000000000000000000000000000000000000000000000000000000000000000800000034690f90f000000000000000000000000000000000053555348492d37000000000000000000000000000000000000000000000000000000000000000080000000300df45800000000000000000000000000000000005452582d34000000000000000000000000000000000000000000000000000000000000000000008000000038a639b30000000000000000000000000000000000554d412d37000000000000000000000000000000000000000000000000000000000000000000007fffffffca0936090000000000000000000000000000000000554e492d3700000000000000000000000000000000000000000000000000000000000000000000800000008f45ddbb0000000000000000000000000000000000584c4d2d3500000000000000000000000000000000000000000000000000000000000000000000800000003f86e1ab0000000000000000000000000000000000584d522d38000000000000000000000000000000000000000000000000000000000000000000008000000024493092000000000000000000000000000000000058545a2d3600000000000000000000000000000000000000000000000000000000000000000000800000000c19765900000000000000000000000000000000005946492d3130000000000000000000000000000000000000000000000000000000000000000000800000009826d84e00000000000000000000000000000000005a45432d3800000000000000000000000000000000000000000000000000000000000000000000800000002552b7d700000000000000000000000000000000005a52582d36000000000000000000000000000000000000000000000000000000000000000000008000000005a5605b0000000000000000000000000000000000000000000000000000000066877dd00000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000031494e43482d37000000000000000000000000000000000000000000000000000000000000000000000000082a59bb0000000000000000000000000000000000414156452d3800000000000000000000000000000000000000000000000000000000000000000000000000c4bef3c500000000000000000000000000000000004144412d360000000000000000000000000000000000000000000000000000000000000000000000000000556f045a0000000000000000000000000000000000414c474f2d36000000000000000000000000000000000000000000000000000000000000000000000000001e87f54c000000000000000000000000000000000041544f4d2d3700000000000000000000000000000000000000000000000000000000000000000000000000890cb3980000000000000000000000000000000000415641582d37000000000000000000000000000000000000000000000000000000000000000000000000024746ae7100000000000000000000000000000000004243482d38000000000000000000000000000000000000000000000000000000000000000000000000000318e2d04400000000000000000000000000000000004254432d3130000000000000000000000000000000000000000000000000000000000000000000000000056f0ca052000000000000000000000000000000000043454c4f2d360000000000000000000000000000000000000000000000000000000000000000000000000071f3bc330000000000000000000000000000000000434f4d502d38000000000000000000000000000000000000000000000000000000000000000000000000006bc9e17400000000000000000000000000000000004352562d3600000000000000000000000000000000000000000000000000000000000000000000000000003a1bebc30000000000000000000000000000000000444f47452d3500000000000000000000000000000000000000000000000000000000000000000000000000f979081c0000000000000000000000000000000000444f542d370000000000000000000000000000000000000000000000000000000000000000000000000000856b08c00000000000000000000000000000000000454e4a2d36000000000000000000000000000000000000000000000000000000000000000000000000000024ce5ca80000000000000000000000000000000000454f532d36000000000000000000000000000000000000000000000000000000000000000000000000000075cf633900000000000000000000000000000000004554432d370000000000000000000000000000000000000000000000000000000000000000000000000001e99fbf1500000000000000000000000000000000004554482d390000000000000000000000000000000000000000000000000000000000000000000000000002e05c67e0000000000000000000000000000000000046494c2d37000000000000000000000000000000000000000000000000000000000000000000000000000057e3360a00000000000000000000000000000000004943502d3700000000000000000000000000000000000000000000000000000000000000000000000000009ef2ae1400000000000000000000000000000000004c494e4b2d370000000000000000000000000000000000000000000000000000000000000000000000000129c518a300000000000000000000000000000000004c54432d3800000000000000000000000000000000000000000000000000000000000000000000000000009886654900000000000000000000000000000000004c554e412d360000000000000000000000000000000000000000000000000000000000000000000000000000068db900000000000000000000000000000000004d415449432d36000000000000000000000000000000000000000000000000000000000000000000000000727068ea00000000000000000000000000000000004d4b522d3900000000000000000000000000000000000000000000000000000000000000000000000000020e12b2e700000000000000000000000000000000004e4541522d360000000000000000000000000000000000000000000000000000000000000000000000000441d05557000000000000000000000000000000000052554e452d360000000000000000000000000000000000000000000000000000000000000000000000000338c4fb140000000000000000000000000000000000534e582d37000000000000000000000000000000000000000000000000000000000000000000000000000025e68e6d0000000000000000000000000000000000534f4c2d37000000000000000000000000000000000000000000000000000000000000000000000000000caa9c9fde000000000000000000000000000000000053555348492d370000000000000000000000000000000000000000000000000000000000000000000000000fbf277700000000000000000000000000000000005452582d34000000000000000000000000000000000000000000000000000000000000000000000000000c4f4784230000000000000000000000000000000000554d412d3700000000000000000000000000000000000000000000000000000000000000000000000000002d9686020000000000000000000000000000000000554e492d370000000000000000000000000000000000000000000000000000000000000000000000000000b6799a200000000000000000000000000000000000584c4d2d350000000000000000000000000000000000000000000000000000000000000000000000000000cb8efb250000000000000000000000000000000000584d522d3800000000000000000000000000000000000000000000000000000000000000000000000000015f1be49e000000000000000000000000000000000058545a2d360000000000000000000000000000000000000000000000000000000000000000000000000000a4b7fcdc00000000000000000000000000000000005946492d3130000000000000000000000000000000000000000000000000000000000000000000000000008c05266800000000000000000000000000000000005a45432d3800000000000000000000000000000000000000000000000000000000000000000000000000002aca8d1300000000000000000000000000000000005a52582d360000000000000000000000000000000000000000000000000000000000000000000000000000463f4a25000000000000000000000000000000000000000000000000000000006687881f0000000000000000000000000000000000000000000000000000000000074b25000000000000000000000000000000000000000000000000000000000000002501885bd7723bbe6ca98be836aad30a3b793d8318611d7b4dc440212f53a289c2000000000000000000000000000000000000000000000000000000000000035800000000000000000000000000000000000000000000000100000004a817c80005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffec3509f8a00017afb0a9b47b207e0745cae8ae98666b68b00b721e179bfc75fe998d511d18000000000000000000000000000000000000000000000000000000000006281f00000000000000000000000000000000000000000000000100000002540be40007e0c53b5bd0d755151af3a61874770322a76579a233df3c418aea557ccd6eb20000000000000000000000000000000000000000000000000000000000029f7d000000000000000000000000000000000000000000000001000000007735940005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffef2bc10eb805e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffffe44b68e005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffffed8689d005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffe2e4d38ad00735ebfb493916c125a0abdcf312d2e6092a9c217430f38dc7b0dd0d84013553000000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000fffffcd117be480005b3c54f7e3fc873f985e136b6eff6fb707318cc01d2b9cc709d72ceefd0ba9d00000000000000000000000000000000000000000000000000000000000416e4000000000000000000000000000000000000000000000000fffffcd117be480001885bd7723bbe6ca98be836aad30a3b793d8318611d7b4dc440212f53a289c2000000000000000000000000000000000000000000000000000000000000035800000000000000000000000000000000000000000000000100000004a817c800014831fe23926d2ea729a5dacb7ef67f81faf05b0bd50203f7311e387bee7e1c000000000000000000000000000000000000000000000000000000000006749a00000000000000000000000000000000000000000000000100000000ae787b5805e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000fffffffcbd2af58005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000fffffff9037e55800054f7db92d7826f24c4db2c9326d31d3f981952e388e770586cc081a41f7f33000000000000000000000000000000000000000000000000000000000000335d0000000000000000000000000000000000000000000000010000000ba43b740005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffffc30b222d043a812c03ec3062f5fc7df985c377b5b83b882620675138e8127044011e1e2f0000000000000000000000000000000000000000000000000000000000024c940000000000000000000000000000000000000000000000010000000838871d0b05e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffd16ea8bfd005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffd16eb89e5005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffd16f12300005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffd16f12300005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000ffffffd16f123000045be47aeb07ec9f18f6fe90c89462eb12748225530066a24be8a6e2c7e1c36c000000000000000000000000000000000000000000000000000000000002fadb000000000000000000000000000000000000000000000001000000000510ff4000e5ae758140dee346b7283d76e78e03c9d3948f40b1927e717a9d3f5c19b771000000000000000000000000000000000000000000000000000000000005d5aa000000000000000000000000000000000000000000000001000000012b6db46c00bbd92d9f70a226fb83af0f067ee64a24207a52de056a45ebb9bd8d299af2b5000000000000000000000000000000000000000000000000000000000006845700000000000000000000000000000000000000000000000100000000009896800034af724255b81510de4cfce39d900c47364bcdbedfd3c0f7d4eb2776027e1c000000000000000000000000000000000000000000000000000000000005224c00000000000000000000000000000000000000000000000100000017fb47460007e10de009ad200d226479dc6d71d9161ed1f78f87a9907dab5feb8b599473120000000000000000000000000000000000000000000000000000000000031e7b000000000000000000000000000000000000000000000001000000001d403bad05e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000fffffffeed518c9002fd856a4f6b63e5e927874bddd920b5cbf9660534d50f1b914fd90f34aac21500000000000000000000000000000000000000000000000000000000000643a9000000000000000000000000000000000000000000000001000000174b5b48f4012f1d1a310e776870d54332d8c03086629360b7e8044b57fd0a142fc3390df40000000000000000000000000000000000000000000000000000000000067bc7000000000000000000000000000000000000000000000001000000174876e800042b8805d46aa18ab513221ecde8d5cecb5ca37ad6647c36e814cf6d8b2f0c0c000000000000000000000000000000000000000000000000000000000005932100000000000000000000000000000000000000000000000100000002896970fb006d41643078c908dd808aef4ad1eed4b3a9917a650216056be46a216e66dda4000000000000000000000000000000000000000000000000000000000006833a0000000000000000000000000000000000000000000000010000000ba43b740005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f0000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000fffffffff2a82ae007e0c53b5bd0d755151af3a61874770322a76579a233df3c418aea557ccd6eb20000000000000000000000000000000000000000000000000000000000029f7d000000000000000000000000000000000000000000000001000000012a05f200068695f7ce53bc884f3665e58bfbaacc68f4abca5c9928b82b99854d8dafad740000000000000000000000000000000000000000000000000000000000067ae20000000000000000000000000000000000000000000000010000000007b3458a00c1b8df33f89eb4eed52099463367c361795b361c43684b834377c360d93008000000000000000000000000000000000000000000000000000000000006780d00000000000000000000000000000000000000000000000100000045d9186cc0042b8805d46aa18ab513221ecde8d5cecb5ca37ad6647c36e814cf6d8b2f0c0c00000000000000000000000000000000000000000000000000000000000593210000000000000000000000000000000000000000000000010000000e74c3e3ae00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f037bfdefa6e67c594ca270869f07489e2ba12813ca1ac56eb800a646dde422f403335b5f307584449449eb094926bc50912e8f3331ec1a921c6966ef19a7ebc20384104173b2dad6fd22e76237d29d9c0573d17abe50e89a9ba112eea1eb6c4703b7b31bbed5a55f6422a8965f8ce288c735145ee17a51835f4244e71e3a4963037949369241e51ff7cc78d71f4d08c4ac72dc2efc907abb0b4dfa34f6f0677f03ef72efddccf0fda3b08a2028d7f81aed5b3da5c3098c06c19ee819309fb376039befcac8064c76167d857e7143cd506d82c08f29a47645517963b820ebbde2003ebd5092efef770b8ada4de4d004c7b51b2f5bf312a2f50bdcacab6b215da7035968919177fe8db5624b4fd54ff2357ca36dbe339e4a67ad7784aeaa6fb2050196401ff3d252520bddded4bdd0e238fd232dd69a7f7de437654132dcc2fc1e01fe52568c82c42131346d5daba6d16aa3fab867d104400a24d1ef3a10ed39d200e53296f5c5b93025740a6496dd9b99f220f210a7d546cdcbbbe828679b564e008eb1934113fd1453bfa0b3c656e766a724739cebcaa4e6f9044acedbee1d6000673a96e0c0a7295f07f1d7dae598d74796e6579b47ce0448ba0a8b339b9bf503063d101197c8dfed2df89006a286a0c122d85ac083cbc71aa1b6c94eeff87f960a40cb72f2e533841e82f3a7b87b06632c49cc43da4d4647426b3b520d7f4000000000000000000000000000000000000000000000000000000000000008cf00000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000005d6d0000000000000000000000000000000000000000000000000000000000005d6c000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a1efabfa31cab8fc8f4e1d1375d9b14b862adb6afbd7dc1d12166b59c70491976000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a5853aab98bac39f1e352c14676c12716c34a52d7dafd8356f33e7a2c7926cd60000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27aada24f969ff86430083a695b0fda58e323b9dd4b72272bc62b1f311da22d4c62000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a779d8dd9117425343acfd5d3e170a5e48ac75bfff47676defdd0ef1ec9eda7b2000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a768c6333b49dfbfe46e1997ff7305df38b8dc216829d817e6be5f15cb3362f68000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27aedcc1dfacce83156a104ffd8e9af93dec5e7d9c78c30963a8110d3e58b3c8f95000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27ad0d81ea82346610b25e27be5bd2354c549c5a58a6673da52eddd5ad9d173cd5b000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a31d1b0a45980d1d2726b16409cdc8f37c34b84826f06e550ee949f950a94689a000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a3a83c684ae6a3a64fa2d90ccfc85d2ef407a10b5087647a47fabeaeee34d2913000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a5c0dec9ba5482a3459345050d67b305da04a668db235b6f14a71fdc69a60bc37000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a894beaf32351b50471569d2ace51148e737c60c46b6f2a623f9d2b0c4e1d2dac000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a43c16a5038060a1594faeb677c094ed3bd876162792a73b20baf284c27e18413000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a78b57ae27279b9f618a9532fe0b15c6d0a431c9999e4b55f5a54c3727bfe7d53000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27a14c866c768a02a5cd3be7b8bba9ee559a1b280756426fe782488e078b7515e7d000000000000000000000000be9a129909ebcb954bc065536d2bfafbd170d27af33f7c03a083b45e17dd4557d5e75cfb6a9800ac212415546946f108931146d3c080a0a3992be1340ca89884efb5e1b31a0442898e6daf0e256a7cf178e3771a58e974a0422af0b5a8833ce1af4389c266f135ea480f56407ea013a6d0221dd187d3be57","new_receipt_trie_node_byte":"0xb90e4f02f90e4b0183c9e25ab9010000000000010000000000000000000000000000000000000000000000000000200000000080000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000001000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000001000000000800000000000000000000000000000000000000000000000000000000000000000000002000000000000000800000000000000000004000000000000000000000000000000000000000000f90d40f85894d54f502e184b6b739d7d27a6410a67dc462d69c8e1a09866f8ddfe70bb512b2f2b28b49d4017c43f7ba775f1a20c61c13eea8cdac111a0d81625b5fee72cb89705896938293d1ee337b9861b3a20f31b508a91d762937df8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d00000000000000000000000000000000000000000000000000000013caf6076000000000000000000000000000000000000000000000000000000013caf60760f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d00000000000000000000000000000000000000000000000000000010d43ef14800000000000000000000000000000000000000000000000000000010d43ef148f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d000000000000000000000000000000000000000000000000000000001bb49720000000000000000000000000000000000000000000000000000000001bb49720f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d00000000000000000000000000000000000000000000000000000000127976300000000000000000000000000000000000000000000000000000000012797630f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d0000000000000000000000000000000000000000000000000000001d1b2c75300000000000000000000000000000000000000000000000000000001d1b2c7530f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b8800735ebfb493916c125a0abdcf312d2e6092a9c217430f38dc7b0dd0d8401355302893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d0000000000000000000000000000000000000000000000000000032ee841b8000000000000000000000000000000000000000000000000000000032ee841b800f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005b3c54f7e3fc873f985e136b6eff6fb707318cc01d2b9cc709d72ceefd0ba9d02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d0000000000000000000000000000000000000000000000000000032ee841b8000000000000000000000000000000000000000000000000000000032ee841b800f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d0000000000000000000000000000000000000000000000000000000342d50a800000000000000000000000000000000000000000000000000000000342d50a80f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d00000000000000000000000000000000000000000000000000000006fc81aa8000000000000000000000000000000000000000000000000000000006fc81aa80f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d000000000000000000000000000000000000000000000000000000003cf4ddd3000000000000000000000000000000000000000000000000000000003cf4ddd3f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d0000000000000000000000000000000000000000000000000000002e915740300000000000000000000000000000000000000000000000000000002e91574030f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d0000000000000000000000000000000000000000000000000000002e914761b00000000000000000000000000000000000000000000000000000002e914761b0f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d0000000000000000000000000000000000000000000000000000002e90edd0000000000000000000000000000000000000000000000000000000002e90edd000f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d0000000000000000000000000000000000000000000000000000002e90edd0000000000000000000000000000000000000000000000000000000002e90edd000f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d0000000000000000000000000000000000000000000000000000002e90edd0000000000000000000000000000000000000000000000000000000002e90edd000f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d0000000000000000000000000000000000000000000000000000000112ae73700000000000000000000000000000000000000000000000000000000112ae7370f8b994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a003c10a82c955f7bcd0c934147fb39cafca947a4294425b1751d884c8ac954287b88005e8001db18ce2aba89bebc127adce654d26a52ee6ae74b1504ecc091f15a94f02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d000000000000000000000000000000000000000000000000000000000d57d520000000000000000000000000000000000000000000000000000000000d57d520f87994d54f502e184b6b739d7d27a6410a67dc462d69c8e1a02672b53d25204094519f7b0fba8d2b5cd0cc1e426f49554c89461cdb9dcec08fb8400000000000000000000000000000000000000000000000000000000000005c2b0000000000000000000000000000000000000000000000000000000000005d6d","gas_used":661222}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83480269eae9bf38"},"0x5be5aa715c2e77829d405604eca8c38e97454298":{"balance":"0x1da03e0819a4b"},"0xfb183eb452cee258c7e429610cb7d9e2a5fa68ff":{"balance":"0x2079c40c448994f65","nonce":"0x6d1d"}},"meta":{"byte_code":"0x02f87401826d1c84b2d05e008502968a46f1825208945be5aa715c2e77829d405604eca8c38e974542988701685d74331a7080c001a0aa64214d0e5f0fdc2e1c76d0736aac87bffc52c67c583e31c2cd64bc81acc409a05230beec50cacf491c7957710c4470794daa46f1e9ef95a34e3f731077ada65f","new_txn_trie_node_byte":"0x02f87401826d1c84b2d05e008502968a46f1825208945be5aa715c2e77829d405604eca8c38e974542988701685d74331a7080c001a0aa64214d0e5f0fdc2e1c76d0736aac87bffc52c67c583e31c2cd64bc81acc409a05230beec50cacf491c7957710c4470794daa46f1e9ef95a34e3f731077ada65f","new_receipt_trie_node_byte":"0xb9010d02f901090183ca3462b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x3715cfc3446f7fbd79d3e33e37b4005db11bd054":{"balance":"0x1da23631510ff"},"0xf8956f7c427ea6f2dc4b022e6b4a6b6efebcc4be":{"balance":"0x2917a6aeeb57d4ca","nonce":"0x3c3a"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83483bb63f88af38"}},"meta":{"byte_code":"0x02f87401823c3984b2d05e008502968a46f1825208943715cfc3446f7fbd79d3e33e37b4005db11bd0548701da23631510ff80c080a00fba82aab20b8943922b5cf9ca8b44172f5d39794e9f5d15129efb871f2bd90ca03d212dd84e89aeb55dc4fff60f593521e6c2f13e198e0acc195df41f5c45cc65","new_txn_trie_node_byte":"0x02f87401823c3984b2d05e008502968a46f1825208943715cfc3446f7fbd79d3e33e37b4005db11bd0548701da23631510ff80c080a00fba82aab20b8943922b5cf9ca8b44172f5d39794e9f5d15129efb871f2bd90ca03d212dd84e89aeb55dc4fff60f593521e6c2f13e198e0acc195df41f5c45cc65","new_receipt_trie_node_byte":"0xb9010d02f901090183ca866ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xfbbdbca1dd9beebc44da7da9953c6236764aa618":{"balance":"0x63eff7492ac109","nonce":"0x5"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8348747e654b9b08"},"0x94e2090fb86906c799a67263e6beae528b81b3d6":{"balance":"0x2a4d8f4c6dafa1af"}},"meta":{"byte_code":"0x02f872010484d3ffa7608502436dc0f58252089494e2090fb86906c799a67263e6beae528b81b3d6870a9ca7dac82f2a80c080a0b6b24d16e4276b332bf2b06e12a36fb2514b3bdc164efa4f9f429f92de76b2b4a02f155a929de2039b83cc90c1d1f33de2f409c5220863a4f788a2c82dbab23310","new_txn_trie_node_byte":"0x02f872010484d3ffa7608502436dc0f58252089494e2090fb86906c799a67263e6beae528b81b3d6870a9ca7dac82f2a80c080a0b6b24d16e4276b332bf2b06e12a36fb2514b3bdc164efa4f9f429f92de76b2b4a02f155a929de2039b83cc90c1d1f33de2f409c5220863a4f788a2c82dbab23310","new_receipt_trie_node_byte":"0xb9010d02f901090183cad872b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8348a48f9d00cd20"},"0x0b02bd201588c163481c280439d21f557d1586c4":{"balance":"0x4a198c9dd1bc73","nonce":"0x4"},"0xbf3a2fbe097db1dcdf576ffb6ec5109a45c1a2af":{"balance":"0x389f12621b98000"}},"meta":{"byte_code":"0x02f8730103849601a7838502d89e1a9e82520894bf3a2fbe097db1dcdf576ffb6ec5109a45c1a2af880389f12621b9800080c080a031f8ded4e6076bba4075d95b2500ebc1ab846796f7dcdb2971457a65354e57dba07e9a2209b6dc649fd5a9264348520e3cfa2e66ace036eba4112b0f148f732a79","new_txn_trie_node_byte":"0x02f8730103849601a7838502d89e1a9e82520894bf3a2fbe097db1dcdf576ffb6ec5109a45c1a2af880389f12621b9800080c080a031f8ded4e6076bba4075d95b2500ebc1ab846796f7dcdb2971457a65354e57dba07e9a2209b6dc649fd5a9264348520e3cfa2e66ace036eba4112b0f148f732a79","new_receipt_trie_node_byte":"0xb9010d02f901090183cb2a7ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8348d4a0d4b5ff38"},"0xf01748e3db627b4e4c63d5c5d8ca37db2e7134db":{"balance":"0x10485179680cbd4b","nonce":"0xf"},"0x5bf1837133f39574823a37d3ebc0f2115d32da8e":{"balance":"0x55fd93e77f30c2d"}},"meta":{"byte_code":"0x02f873010e849601a7838502d89e1a9e825208945bf1837133f39574823a37d3ebc0f2115d32da8e8804bef44b5691479980c080a03e01fd2b85de4639885049393f317eef816a6c3cc24a14337b904cf8edc27940a05f186d7644c817dfbc384bc7f81b1d3f4a835ef2a3b5221abe367fbc215f4951","new_txn_trie_node_byte":"0x02f873010e849601a7838502d89e1a9e825208945bf1837133f39574823a37d3ebc0f2115d32da8e8804bef44b5691479980c080a03e01fd2b85de4639885049393f317eef816a6c3cc24a14337b904cf8edc27940a05f186d7644c817dfbc384bc7f81b1d3f4a835ef2a3b5221abe367fbc215f4951","new_receipt_trie_node_byte":"0xb9010d02f901090183cb7c82b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x91b6d2de4747f45c42af41580e49b24957996062":{"balance":"0x9de4e056e2a38"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8348fb2a83c843a0"},"0x6f0bebf5630db4d484abeb57f09087381dc3e345":{"balance":"0x0","nonce":"0x2"}},"meta":{"byte_code":"0x02f873010185020a7e594885020a7e59488252089491b6d2de4747f45c42af41580e49b249579960628709de4e056e2a3880c080a05e8cba9a38baa5b076a5163dfa81623d6ca3b29f5641da6304ac958ec381d934a060055f0ebc1a6d410eef4a1751f750dcc5ccf9261f675edaeea05f78089e7873","new_txn_trie_node_byte":"0x02f873010185020a7e594885020a7e59488252089491b6d2de4747f45c42af41580e49b249579960628709de4e056e2a3880c080a05e8cba9a38baa5b076a5163dfa81623d6ca3b29f5641da6304ac958ec381d934a060055f0ebc1a6d410eef4a1751f750dcc5ccf9261f675edaeea05f78089e7873","new_receipt_trie_node_byte":"0xb9010d02f901090183cbce8ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x681bd68cbf2729379c4"},"0xf8f17dac30b19cd20087c5fd6f81c2628c8d33e6":{"balance":"0x62d2c40527ca28","nonce":"0xc"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8349215d66dce3a0"}},"meta":{"byte_code":"0x02f873010b8477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa408805dacb122d912ef080c001a007f3314c1a0e2acd9aab8a66afc9d105f9f5d71c56aed1321ded5a24fe9820e2a030cb9baada7469360ebbf6104ddac91d66b4ff7bbb75704f300007771196d440","new_txn_trie_node_byte":"0x02f873010b8477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa408805dacb122d912ef080c001a007f3314c1a0e2acd9aab8a66afc9d105f9f5d71c56aed1321ded5a24fe9820e2a030cb9baada7469360ebbf6104ddac91d66b4ff7bbb75704f300007771196d440","new_receipt_trie_node_byte":"0xb9010d02f901090183cc2092b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xba41c93a8efd13ae5604d8935d12fa049f4cea9d":{"balance":"0x62d2c40527ca28","nonce":"0x2"},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x681c00fc7f13ab277a4"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8349479049f183a0"}},"meta":{"byte_code":"0x02f87301018477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa408802a6fbfec81efde080c001a07d927a8bda09a8f59e74d077433cacaeb8be42437593f6e513afadd402ab6942a070f39d7326fb6ee5be922f581dec1a48dee3331b6941ee400ac8d1face1e8b03","new_txn_trie_node_byte":"0x02f87301018477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa408802a6fbfec81efde080c001a07d927a8bda09a8f59e74d077433cacaeb8be42437593f6e513afadd402ab6942a070f39d7326fb6ee5be922f581dec1a48dee3331b6941ee400ac8d1face1e8b03","new_receipt_trie_node_byte":"0xb9010d02f901090183cc729ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83496dc32d0623a0"},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x681c3366a08f620fcae"},"0x0bc03bace664a9d7b194586f776c3e018c67d886":{"balance":"0x62d2c40527ca28","nonce":"0x7"}},"meta":{"byte_code":"0x02f87301068477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa40880326a217bb6e850a80c001a05d297038695649ffdf7615008f49b5ca2090eac0cefedc02dbf4c9fc5da7f2fba0544fcb21599998820bc08892a46b0b52b29f458949de22e146b09ab23614b91f","new_txn_trie_node_byte":"0x02f87301068477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa40880326a217bb6e850a80c001a05d297038695649ffdf7615008f49b5ca2090eac0cefedc02dbf4c9fc5da7f2fba0544fcb21599998820bc08892a46b0b52b29f458949de22e146b09ab23614b91f","new_receipt_trie_node_byte":"0xb9010d02f901090183ccc4a2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834993f6101ac3a0"},"0x483912ae2219af6b089e5b058202236fb95e557d":{"balance":"0xbaf1af32c065a28","nonce":"0x20b"},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x681c771b8968a74a3fe"}},"meta":{"byte_code":"0x02f8750182020a8477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa4088043b4e8d9453a75080c080a071dd439ad2624c356f2ddc60ea9ba15dd538ba71e9a74db16e57becf07f718fda0707914cba9c358b87004fbd351eb0c88e2c289976da81e0d73f6c13dc86fa5e0","new_txn_trie_node_byte":"0x02f8750182020a8477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa4088043b4e8d9453a75080c080a071dd439ad2624c356f2ddc60ea9ba15dd538ba71e9a74db16e57becf07f718fda0707914cba9c358b87004fbd351eb0c88e2c289976da81e0d73f6c13dc86fa5e0","new_receipt_trie_node_byte":"0xb9010d02f901090183cd16aab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8349ba28f32f63a0"},"0x930d9ab5198a02c5d2cb04c43cd4e739c496423b":{"balance":"0x62d2c40527ca28","nonce":"0xa"},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x681cbe207d37f3494c6"}},"meta":{"byte_code":"0x02f87301098477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa408804704f3cf4bff0c880c001a066331bf72dd80643180f6a7f990c64e2e18670313397c5d94d6864a3312d98cda07aca7225f426934689d3824bb8c672b4710f9080b5308a75c53c8325b6caaad8","new_txn_trie_node_byte":"0x02f87301098477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa408804704f3cf4bff0c880c001a066331bf72dd80643180f6a7f990c64e2e18670313397c5d94d6864a3312d98cda07aca7225f426934689d3824bb8c672b4710f9080b5308a75c53c8325b6caaad8","new_receipt_trie_node_byte":"0xb9010d02f901090183cd68b2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x681d9464f9a73fcfcc6"},"0x3decf67182f39f6ee240d8b43f150208d4c42c67":{"balance":"0x62d2c40527ca28","nonce":"0x1"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8349e05bd64403a0"}},"meta":{"byte_code":"0x02f87301808477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa40880d6447c6f4c8680080c001a020284a89022d372b03541f01af9d290179993ad8e2179be9a741cbf9a1a9d9c7a05e82d5e34b80dabcae94220a2e38903a03f44b5a92995f9752d8eba1311f7aff","new_txn_trie_node_byte":"0x02f87301808477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa40880d6447c6f4c8680080c001a020284a89022d372b03541f01af9d290179993ad8e2179be9a741cbf9a1a9d9c7a05e82d5e34b80dabcae94220a2e38903a03f44b5a92995f9752d8eba1311f7aff","new_receipt_trie_node_byte":"0xb9010d02f901090183cdbabab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x681f130739f454e01ce"},"0x6152cfb60b4c8e52ea37b45f5edd347188a7e9df":{"balance":"0x62d2c40527ca28","nonce":"0x4"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834a068eb958a3a0"}},"meta":{"byte_code":"0x02f87301038477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa408817ea2404d151050880c080a05283f77ae119870d83bbbc6141413d81aac88d8f572067980c2af7ebb0354a1ca012f020edf3f522a6c6785975c4da47a594a3b7a5d635fd6337454d85853e5392","new_txn_trie_node_byte":"0x02f87301038477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa408817ea2404d151050880c080a05283f77ae119870d83bbbc6141413d81aac88d8f572067980c2af7ebb0354a1ca012f020edf3f522a6c6785975c4da47a594a3b7a5d635fd6337454d85853e5392","new_receipt_trie_node_byte":"0xb9010d02f901090183ce0cc2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834a2cc19c6d43a0"},"0x1ee773d16da72796875c96060f1ac6b866bfacb5":{"balance":"0x62d2c40527ca28","nonce":"0x5"},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x681fcf394fb2329e941"}},"meta":{"byte_code":"0x02f87301048477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa40880bc3215bdddbe77380c001a051681466eb7b38f4cc9b51da7e0ce7a4032a774e1afadd14db935980f1905f9aa018e86d255624201036fbf75c8e480f9e74afb4a1a2c9cd68884b5dc8934c5381","new_txn_trie_node_byte":"0x02f87301048477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa40880bc3215bdddbe77380c001a051681466eb7b38f4cc9b51da7e0ce7a4032a774e1afadd14db935980f1905f9aa018e86d255624201036fbf75c8e480f9e74afb4a1a2c9cd68884b5dc8934c5381","new_receipt_trie_node_byte":"0xb9010d02f901090183ce5ecab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x682185188886c3be941"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834a52f47f81e3a0"},"0xdf1fba535df03c6ab1b84ce3b6738d14aea421e2":{"balance":"0x62d2c40527ca28","nonce":"0x1"}},"meta":{"byte_code":"0x02f87301808477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa40881b5df38d4912000080c001a038dc8bbb7fd1e9b7342ee8dd65e57cdf9ceeab96504ccba0062b7ad3b8d0179ba0539f08589881334b8df76b80e932cde0dcf37f465aab340409447d181396d9e6","new_txn_trie_node_byte":"0x02f87301808477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa40881b5df38d4912000080c001a038dc8bbb7fd1e9b7342ee8dd65e57cdf9ceeab96504ccba0062b7ad3b8d0179ba0539f08589881334b8df76b80e932cde0dcf37f465aab340409447d181396d9e6","new_receipt_trie_node_byte":"0xb9010d02f901090183ceb0d2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834a7927629683a0"},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x68234125bb1cc4b8219"},"0x66e7b1ae63a46fd3aaad869d2de814796874ea4d":{"balance":"0x62d2c40527ca28","nonce":"0x5"}},"meta":{"byte_code":"0x02f87301048477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa40881bc0d329600f98d880c080a0464ca24b55cc7574451d8af4a62ffd5a58157415e0b2608aa3e73f14511184a4a02cc3d44df10ef5cbed137f6d212a061444764321816c5c212e217e861716e24f","new_txn_trie_node_byte":"0x02f87301048477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa40881bc0d329600f98d880c080a0464ca24b55cc7574451d8af4a62ffd5a58157415e0b2608aa3e73f14511184a4a02cc3d44df10ef5cbed137f6d212a061444764321816c5c212e217e861716e24f","new_receipt_trie_node_byte":"0xb9010d02f901090183cf02dab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834a9f5a45ab23a0"},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x6851a98a7e208daa47c"},"0x648e9390d7dbf9ee00e606b0a62e77c58f767a40":{"balance":"0x62d2c40527ca28","nonce":"0x5701"}},"meta":{"byte_code":"0x02f876018257008477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa408902e6864c303c8f226380c001a08fce64254c36576ab96ed8fd749ef042f3087cd7b625aebd68d8385a525685d3a075c1e22008760c07174ba80f299fe93208fcc442cf615ec0af83fae7366dae48","new_txn_trie_node_byte":"0x02f876018257008477359400852e90edd00082520894f89d7b9c864f589bbf53a82105107622b35eaa408902e6864c303c8f226380c001a08fce64254c36576ab96ed8fd749ef042f3087cd7b625aebd68d8385a525685d3a075c1e22008760c07174ba80f299fe93208fcc442cf615ec0af83fae7366dae48","new_receipt_trie_node_byte":"0xb9010d02f901090183cf54e2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xa03400e098f4421b34a3a44a1b4e571419517687":{"balance":"0x325ad201d79751781"},"0x29ae582733d842ab4a4fd3d94a6093c5c00b3cdd":{"balance":"0x16012fd37cca8","nonce":"0x63"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834ac58d28bfc3a0"}},"meta":{"byte_code":"0x02f873016284773594008502370fb11c82ea6094a03400e098f4421b34a3a44a1b4e57141951768788049e4034506ce02880c080a0a5f6d01748263937a4c76b883666e894f824fd9b0840eecf034e5f359d718774a06163d85c89c4bc84a169476355e48b97faf67835d7c990bd86c054dc0acec66f","new_txn_trie_node_byte":"0x02f873016284773594008502370fb11c82ea6094a03400e098f4421b34a3a44a1b4e57141951768788049e4034506ce02880c080a0a5f6d01748263937a4c76b883666e894f824fd9b0840eecf034e5f359d718774a06163d85c89c4bc84a169476355e48b97faf67835d7c990bd86c054dc0acec66f","new_receipt_trie_node_byte":"0xb9010d02f901090183cfa6eab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834aebc00bd463a0"},"0xa03400e098f4421b34a3a44a1b4e571419517687":{"balance":"0x32f84ed076c99c479"},"0x877ccbf3f1e824a902b51edb02b0b9dcfaebd2eb":{"balance":"0x2bd9ad7e33410","nonce":"0x54c"}},"meta":{"byte_code":"0x02f8750182054b84773594008502370fb11c82ea6094a03400e098f4421b34a3a44a1b4e5714195176878809d7cce9f324acf880c080a0664954a0d49416d194bb0036bae576cb80df894be68a24a4dc91abaae7bd7d94a00c8a6840ac90dcaa1f863d53e8c9aab88d11771cfc409255af38d5e2f9c3f24c","new_txn_trie_node_byte":"0x02f8750182054b84773594008502370fb11c82ea6094a03400e098f4421b34a3a44a1b4e5714195176878809d7cce9f324acf880c080a0664954a0d49416d194bb0036bae576cb80df894be68a24a4dc91abaae7bd7d94a00c8a6840ac90dcaa1f863d53e8c9aab88d11771cfc409255af38d5e2f9c3f24c","new_receipt_trie_node_byte":"0xb9010d02f901090183cff8f2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x9a10da8ce77f26231860764a2caab36e70584c4b":{"balance":"0x13a23e1b8572df6154","nonce":"0x10f0"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834b11f2eee903a0"},"0xde0e1944e78df5ef41693d3ade86c905a9febd9f":{"balance":"0x16f0e55d8bcf7"}},"meta":{"byte_code":"0x02f874018210ef847735940085039ba95ff682520894de0e1944e78df5ef41693d3ade86c905a9febd9f87016f0e55d8bcf780c080a001caa7decef4c2aba17e45b4e9ebe68fb77d8f5d890d39e04d8c622312d27093a01cd5b1fb6201a9e8c9fbc5872e9c3cd074d23d1f24845f51f0bf7f7f4f179628","new_txn_trie_node_byte":"0x02f874018210ef847735940085039ba95ff682520894de0e1944e78df5ef41693d3ade86c905a9febd9f87016f0e55d8bcf780c080a001caa7decef4c2aba17e45b4e9ebe68fb77d8f5d890d39e04d8c622312d27093a01cd5b1fb6201a9e8c9fbc5872e9c3cd074d23d1f24845f51f0bf7f7f4f179628","new_receipt_trie_node_byte":"0xb9010d02f901090183d04afab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x8a4932b2703bd31a97215c4ff627f12ad7e64641":{"balance":"0xe110313afc737b"},"0xa7efae728d2936e78bda97dc267687568dd593f3":{"balance":"0x8de5892369297cc2c8d","nonce":"0x2395e2"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834b3825d1fda3a0"}},"meta":{"byte_code":"0x02f87601832395e18477359400852f0823640083033450948a4932b2703bd31a97215c4ff627f12ad7e6464187b258a24fb9800080c001a0a9ced340006963b79df0ed80b9786dbfb8d354c6e2176fcb192b11ce5f3943a6a054ccb6e100c668d36954fb2dbb36436c37c3988b7554fb7167a21610ccfe138a","new_txn_trie_node_byte":"0x02f87601832395e18477359400852f0823640083033450948a4932b2703bd31a97215c4ff627f12ad7e6464187b258a24fb9800080c001a0a9ced340006963b79df0ed80b9786dbfb8d354c6e2176fcb192b11ce5f3943a6a054ccb6e100c668d36954fb2dbb36436c37c3988b7554fb7167a21610ccfe138a","new_receipt_trie_node_byte":"0xb9010d02f901090183d09d02b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xd5b88c3f5ec728843fbf6ba81a4be815f76c8b9a":{"balance":"0x39e76ac66fbe","nonce":"0x4b"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834b5e58b51243a0"},"0xc21156f27959f47b64d429ce126a8bed2e0edba6":{"balance":"0x2f2d3238b6358c"}},"meta":{"byte_code":"0x02f872014a84773594008502293c6f05825e5694c21156f27959f47b64d429ce126a8bed2e0edba6872714711487800080c001a0e6a27e208fb7cb3a1f3b2d4d5e0891d689313b48a98aea6b697c8378750d2d41a048bb0ed6f9660b7eeaec95ab702e00ded094435260adaccdea9c32296351cdea","new_txn_trie_node_byte":"0x02f872014a84773594008502293c6f05825e5694c21156f27959f47b64d429ce126a8bed2e0edba6872714711487800080c001a0e6a27e208fb7cb3a1f3b2d4d5e0891d689313b48a98aea6b697c8378750d2d41a048bb0ed6f9660b7eeaec95ab702e00ded094435260adaccdea9c32296351cdea","new_receipt_trie_node_byte":"0xb9010d02f901090183d0ef0ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x3f7df2e0775387e24baafb5c23fdfb13411227ea":{"balance":"0xe35fa931a0000"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834b764123eb2dc8"},"0xa4e5961b58dbe487639929643dcb1dc3848daf5e":{"balance":"0x114078cbd5a3f469d","nonce":"0x1142e7"}},"meta":{"byte_code":"0xf86e831142e68501dcd650008255f0943f7df2e0775387e24baafb5c23fdfb13411227ea870e35fa931a00008026a09c4bd45b8c05c343fff775f3c70a95947e68a32e3234360d7c56465af11fe187a01378b0b590ba6fc1ff1289f15b61d3bbaa40b7b26485b625d1ddec1fd22e7e96","new_txn_trie_node_byte":"0xf86e831142e68501dcd650008255f0943f7df2e0775387e24baafb5c23fdfb13411227ea870e35fa931a00008026a09c4bd45b8c05c343fff775f3c70a95947e68a32e3234360d7c56465af11fe187a01378b0b590ba6fc1ff1289f15b61d3bbaa40b7b26485b625d1ddec1fd22e7e96","new_receipt_trie_node_byte":"0xf901090183d14112b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x19a1506a93f7e05072c210b739e7bb20fce0d13c":{"balance":"0x1742810700","nonce":"0x1"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834b8e2992c417f0"},"0xea965f5d004660924e89b2de6bbe514f29c837b1":{"balance":"0x84c80c150f2c8d99"}},"meta":{"byte_code":"0xf868808501dcd6500082520894ea965f5d004660924e89b2de6bbe514f29c837b18405f5e1008026a09135fe3024fa05b8723a9777f6a0cc0434530022cd1dbfa7731a9fd41f1e75b0a0734e86c6099a240437cd31193f3abddff70843765922cf79538c87cc04776398","new_txn_trie_node_byte":"0xf868808501dcd6500082520894ea965f5d004660924e89b2de6bbe514f29c837b18405f5e1008026a09135fe3024fa05b8723a9777f6a0cc0434530022cd1dbfa7731a9fd41f1e75b0a0734e86c6099a240437cd31193f3abddff70843765922cf79538c87cc04776398","new_receipt_trie_node_byte":"0xf901090183d1931ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834ba24946c8fb98"},"0x8e645550ce03fa5432053e8f0cafe4495a344723":{"balance":"0x10be064a386591"},"0x83913d08550fc85be7f3216f4b6fe1ae0f507e10":{"balance":"0x21c3c4c4bc98","nonce":"0xf"}},"meta":{"byte_code":"0x02f872010e843ecd3d3585023a664803825208948e645550ce03fa5432053e8f0cafe4495a3447238710a76f3e226a1180c080a0bb248ffc6ad0e3bb568b11ad680b4066d6839fc40c1c541b9645bbaac7a00d90a03b59f9b821bd6147112486de9b32ad5042222d60375d28f06344ba7f2f39d848","new_txn_trie_node_byte":"0x02f872010e843ecd3d3585023a664803825208948e645550ce03fa5432053e8f0cafe4495a3447238710a76f3e226a1180c080a0bb248ffc6ad0e3bb568b11ad680b4066d6839fc40c1c541b9645bbaac7a00d90a03b59f9b821bd6147112486de9b32ad5042222d60375d28f06344ba7f2f39d848","new_receipt_trie_node_byte":"0xb9010d02f901090183d1e522b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834bb562b8534b98"},"0x91b9971f42a27b1fb81f3a656d833f2f4ac7a520":{"balance":"0x425885c3b1b000"},"0x71660c4005ba85c37ccec55d0c4493e66fe775d3":{"balance":"0x66e29f8fd8cc946db7","nonce":"0x1ddacc"}},"meta":{"byte_code":"0x02f87501831ddacb843b9aca00850342770c008252089491b9971f42a27b1fb81f3a656d833f2f4ac7a52087425885c3b1b00080c080a0625f034e7f936c6bb5a3c1ce04573ec5b022bbfc3c7b715f346c66b30ad934dea0278b9568efd1e79e16af698bb30421b3a61ecb265f528d0debbc0367913387eb","new_txn_trie_node_byte":"0x02f87501831ddacb843b9aca00850342770c008252089491b9971f42a27b1fb81f3a656d833f2f4ac7a52087425885c3b1b00080c080a0625f034e7f936c6bb5a3c1ce04573ec5b022bbfc3c7b715f346c66b30ad934dea0278b9568efd1e79e16af698bb30421b3a61ecb265f528d0debbc0367913387eb","new_receipt_trie_node_byte":"0xb9010d02f901090183d2372ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x77696bb39917c91a0c3908d577d5e322095425ca":{"balance":"0x4feb75e829818d1737","nonce":"0x106a5d"},"0x21ce6335fe41987d98f4c96408e385a90c2ccb20":{"balance":"0xb6b1027c9c2c00"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834bc87c29dd9b98"}},"meta":{"byte_code":"0x02f8750183106a5c843b9aca00850342770c008252089421ce6335fe41987d98f4c96408e385a90c2ccb2087b6b1027c9c2c0080c080a04e3d15cc8cdbe16ada59dd153824f31426bc1d78d659b7d7f53f37039c093498a036e2a0f263a447010459cf059a44ce24daa1117229e87a074b668f653c306c60","new_txn_trie_node_byte":"0x02f8750183106a5c843b9aca00850342770c008252089421ce6335fe41987d98f4c96408e385a90c2ccb2087b6b1027c9c2c0080c080a04e3d15cc8cdbe16ada59dd153824f31426bc1d78d659b7d7f53f37039c093498a036e2a0f263a447010459cf059a44ce24daa1117229e87a074b668f653c306c60","new_receipt_trie_node_byte":"0xb9010d02f901090183d28932b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834bdacff0a52c40"},"0x66122aaa9e16850a55071b9d575f0dce26ede9da":{"balance":"0x5c58bc9b3253b8","nonce":"0x4"},"0x8c5d94b7bab95cde4fa82cb201a1df5347ed2f8a":{"balance":"0x1108d298bc046a0"}},"meta":{"byte_code":"0x02f873010384773594008501cb6bd0d0825208948c5d94b7bab95cde4fa82cb201a1df5347ed2f8a88010e0198eaee000080c001a0528aa98476ba78176cbb7533427d8f9664f6f7540783fbdc20a2cff31e0219d0a0716d64addfc6e4920d7ccc13657b54c34cd279bf04afd457abc3551890804c7e","new_txn_trie_node_byte":"0x02f873010384773594008501cb6bd0d0825208948c5d94b7bab95cde4fa82cb201a1df5347ed2f8a88010e0198eaee000080c001a0528aa98476ba78176cbb7533427d8f9664f6f7540783fbdc20a2cff31e0219d0a0716d64addfc6e4920d7ccc13657b54c34cd279bf04afd457abc3551890804c7e","new_receipt_trie_node_byte":"0xb9010d02f901090183d2db3ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834becc86adc6140"},"0x72ee8ea74e0b38e5a6f8e71d08320b1c8a2fefa3":{"balance":"0x2a8c1f4d2710","nonce":"0x4"},"0x99fdc70c67be3f0f49d40ad10a4b1e453478aaf3":{"balance":"0x3776ecef30e513"}},"meta":{"byte_code":"0x02f8720103843814fea085024f169cfd8252089499fdc70c67be3f0f49d40ad10a4b1e453478aaf387363c7ce9073b2c80c080a0203aeb5f403e48c2bf668031ace03c2eb894f1056711b2d1452cc66b3998258aa01d4135c6a1112f519ebc20b030b68a121c035e80f89015ac84cc68a085611f6e","new_txn_trie_node_byte":"0x02f8720103843814fea085024f169cfd8252089499fdc70c67be3f0f49d40ad10a4b1e453478aaf387363c7ce9073b2c80c080a0203aeb5f403e48c2bf668031ace03c2eb894f1056711b2d1452cc66b3998258aa01d4135c6a1112f519ebc20b030b68a121c035e80f89015ac84cc68a085611f6e","new_receipt_trie_node_byte":"0xb9010d02f901090183d32d42b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x072fd1a7ca99fb4f292c780e3c1da8a1e81df60e":{"balance":"0x2585618d6da0aa"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834bfec0e5139640"},"0x4c621a9aead9cf7e6b3fc55c546fcf8d303e3718":{"balance":"0x23d3039804f0","nonce":"0x4"}},"meta":{"byte_code":"0x02f8720103843814fea085023a1b71b982520894072fd1a7ca99fb4f292c780e3c1da8a1e81df60e872585618d6da0aa80c001a07ea629f2fa7e52192fe1a15834b09741ca7ad07c1684ae580b5a301289ed7e32a03a09fa41c3936744d40a24d1f771dbcec433a74cdebdaadd327fef0c116432db","new_txn_trie_node_byte":"0x02f8720103843814fea085023a1b71b982520894072fd1a7ca99fb4f292c780e3c1da8a1e81df60e872585618d6da0aa80c001a07ea629f2fa7e52192fe1a15834b09741ca7ad07c1684ae580b5a301289ed7e32a03a09fa41c3936744d40a24d1f771dbcec433a74cdebdaadd327fef0c116432db","new_receipt_trie_node_byte":"0xb9010d02f901090183d37f4ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c10b95f4acb40"},"0x3509295b5a8b2f99cc58336752eebfb79aa2926d":{"balance":"0x14811d211de70","nonce":"0x7f"},"0x06075604feaef982f45892ae112677478c218b01":{"balance":"0x459456264974ccee6"}},"meta":{"byte_code":"0x02f873017e843814fea085024f169cfd8252089406075604feaef982f45892ae112677478c218b0188f080872e8585000080c080a05e951075d8913e789dc8e0fdf8c7e3ad625decddf6030c30d411b3b17f5b8f54a0462a29317d1052efcbc3172ca1cde7111e4b7f54f413c0562dbc27340b162ec8","new_txn_trie_node_byte":"0x02f873017e843814fea085024f169cfd8252089406075604feaef982f45892ae112677478c218b0188f080872e8585000080c080a05e951075d8913e789dc8e0fdf8c7e3ad625decddf6030c30d411b3b17f5b8f54a0462a29317d1052efcbc3172ca1cde7111e4b7f54f413c0562dbc27340b162ec8","new_receipt_trie_node_byte":"0xb9010d02f901090183d3d152b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x0b260a6c07770f916fff71d025dcd17d3ce60e6f":{"balance":"0xeb2f767354088d5","nonce":"0x3f9"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c1a46180ff340"},"0x666547d5838645d3bdae4e2573cd0207d4e62e8a":{"balance":"0xbb9551fc24000"}},"meta":{"byte_code":"0x02f874018203f8841dcd6500853a3529440082520894666547d5838645d3bdae4e2573cd0207d4e62e8a870bb9551fc2400080c001a039aa52cbfce99bc9420bbbe7106f5e842dfc8a813a206d854d558199e818f8aca074252a9ed780890645991f0c8a804940a8b8de69763ee5c33713f1741360150a","new_txn_trie_node_byte":"0x02f874018203f8841dcd6500853a3529440082520894666547d5838645d3bdae4e2573cd0207d4e62e8a870bb9551fc2400080c001a039aa52cbfce99bc9420bbbe7106f5e842dfc8a813a206d854d558199e818f8aca074252a9ed780890645991f0c8a804940a8b8de69763ee5c33713f1741360150a","new_receipt_trie_node_byte":"0xb9010d02f901090183d4235ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0xaced72359d8708e95d2112ba70e71fa267967a5588d15e7c78c1904e0debe410","0xda600a7203fab8c454a7e56fc030b8d890e4bd621a52a68e1ea20fd4742a10c2"],"storage_written":{"0xaced72359d8708e95d2112ba70e71fa267967a5588d15e7c78c1904e0debe410":"0x40bad8961f9ba62ba2d","0xda600a7203fab8c454a7e56fc030b8d890e4bd621a52a68e1ea20fd4742a10c2":"0x115ee2f7ae8b1e356"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x58335ba9c0167704a4a95ffb4872194f5080d64d":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x000000000000000000000000000000000000000000000000000000000000000a":"0x53a677c268d90636a152747e4ce83e2630","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b00000000000115ee2f7ae8b1e3560000000000016564c868f4d9b2a2","0x0000000000000000000000000000000000000000000000000000000000000009":"0xc1d0eff02b8f6d0ffd48de86c7212a9b4"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0xa5af110934466eaf23f58acc3e5d7473a715bc18b9d4e9908f014ccd7f975dcd","0x45b1147656da4d940c556082f0e09e91e3d046c1c84468f8ead64d8fdc1c749a","0x0000000000000000000000000000000000000000000000000000000000000000","0xcfaaa299a99786c36f2702b186a9ea25324969589542d0c759c7a10da50ca780","0x000000000000000000000000000000000000000000000000000000000000000a","0x03947fdde4e9c23a0bd26ed2b9dc9a356875759f18b2cffeb35fa8e61bf10681","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0xa5af110934466eaf23f58acc3e5d7473a715bc18b9d4e9908f014ccd7f975dcd":"0x4c41cef4","0x45b1147656da4d940c556082f0e09e91e3d046c1c84468f8ead64d8fdc1c749a":"0x33132d3437ec"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c1f5148460e9a"},"0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0x43cdb8fe64c206aafd03f7cf6198","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000000000033132d3437ec00000000040bad8961f9ba62ba2d","0x000000000000000000000000000000000000000000000000000000000000000a":"0x18f754ae8c3eae726ca352ad492959e3fdba3ec20c3"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x34d03450aaa9a32738b148befcf49f38cf36d610":{"balance":"0x4fac656c172310","nonce":"0xf7"},"0xa247c6d23c8c7d223420700d16d189cff9357f38":{"storage_read":["0x836a6cc445a5700d14991c2f41c1cdf9f1eca4d7c3429d4a3e45aa39df3280d8","0x51c63c551a1373ae27eeca12133e7c1481318e602bb87a89776162f7b1046583","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000000000000000000000000000000000000000000e","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000013","0x000000000000000000000000000000000000000000000000000000000000000f","0x365d41a73c2e0e5c1d200e75b6c73771a121347666371ddf75393e07a6e04dd8","0x0b7b96c6a62f7c565fce8d87dffc806193ecb2569e5f993a6e8a7ef279a8f44e","0x0000000000000000000000000000000000000000000000000000000000000010","0xc99d53a6facdeda1ce953b6ee32ed187c14c610571fbd0d40d1b662f7dccc7e6","0x0000000000000000000000000000000000000000000000000000000000000014","0x589f3fff1268d12d30cc963249e705501ca7c5d4ad10303c2ec5b563c046df40","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0xc99d53a6facdeda1ce953b6ee32ed187c14c610571fbd0d40d1b662f7dccc7e6":"0x16564c868f4d9b2a2","0x000000000000000000000000000000000000000000000000000000000000000e":"0x140a","0x589f3fff1268d12d30cc963249e705501ca7c5d4ad10303c2ec5b563c046df40":"0x21ff0acf08305dd"},"code_usage":{"read":"0x3c5f9056f39cc42150818b53d477c464abe29cc26f47daea835737325a914d1f"}},"0x111111125421ca6dc452d289314280a0f8842a65":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003"],"code_usage":{"read":"0xa5a286be4b80006cc547d7e899871aa01a0e0551e2a509233375405f92098c2f"}}},"meta":{"byte_code":"0x02f901160181f6840194151e8501dcd6500083035e5894111111125421ca6dc452d289314280a0f8842a6580b8a88770ba91000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000014dc9380000000000000000000000000000000000000000000000000021d8203e911775208000000000000003b6d03400d4a11d5eeaac28ec3f61d100daf4d40471f185200000000000000003b6d034058335ba9c0167704a4a95ffb4872194f5080d64d0c21ebe1c080a08a82f80b1e93433ac14c9e104c25d0bf00b846ecd22646da971f05c3dbafd8e8a01ebeb60def160c98a794bd581a86b6c14945d2aed35535f4a228648d2421ed53","new_txn_trie_node_byte":"0x02f901160181f6840194151e8501dcd6500083035e5894111111125421ca6dc452d289314280a0f8842a6580b8a88770ba91000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec70000000000000000000000000000000000000000000000000000000014dc9380000000000000000000000000000000000000000000000000021d8203e911775208000000000000003b6d03400d4a11d5eeaac28ec3f61d100daf4d40471f185200000000000000003b6d034058335ba9c0167704a4a95ffb4872194f5080d64d0c21ebe1c080a08a82f80b1e93433ac14c9e104c25d0bf00b846ecd22646da971f05c3dbafd8e8a01ebeb60def160c98a794bd581a86b6c14945d2aed35535f4a228648d2421ed53","new_receipt_trie_node_byte":"0xb905d802f905d40183d7555db9010000200000000000000000000080000000000000080000000000000000000000000002000000000000400000000002010002000000080000000000000000020000000000000000000000000008000000200000000000000000000000400040000000000000004000000000000000000000000000000000000000000814040000000800800000000000000000000000000000000200000000080000004000100000000000000000000000000080000000010000000000000000000020000000000000000002000000000000000000000040000000000001001000000000000000000000200040000000000004000000000000000000000000000000000000040000f904c9f89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000034d03450aaa9a32738b148befcf49f38cf36d610a00000000000000000000000000d4a11d5eeaac28ec3f61d100daf4d40471f1852a00000000000000000000000000000000000000000000000000000000014dc9380f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000d4a11d5eeaac28ec3f61d100daf4d40471f1852a000000000000000000000000058335ba9c0167704a4a95ffb4872194f5080d64da000000000000000000000000000000000000000000000000001a5c1feb59a78cbf879940d4a11d5eeaac28ec3f61d100daf4d40471f1852e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000040bad8961f9ba62ba2d000000000000000000000000000000000000000000000000000033132d3437ecf8fc940d4a11d5eeaac28ec3f61d100daf4d40471f1852f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a000000000000000000000000058335ba9c0167704a4a95ffb4872194f5080d64db88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014dc938000000000000000000000000000000000000000000000000001a5c1feb59a78cb0000000000000000000000000000000000000000000000000000000000000000f89b94a247c6d23c8c7d223420700d16d189cff9357f38f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000058335ba9c0167704a4a95ffb4872194f5080d64da000000000000000000000000034d03450aaa9a32738b148befcf49f38cf36d610a0000000000000000000000000000000000000000000000000021ff0acf08305ddf8799458335ba9c0167704a4a95ffb4872194f5080d64de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000016564c868f4d9b2a200000000000000000000000000000000000000000000000115ee2f7ae8b1e356f8fc9458335ba9c0167704a4a95ffb4872194f5080d64df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000111111125421ca6dc452d289314280a0f8842a65a000000000000000000000000034d03450aaa9a32738b148befcf49f38cf36d610b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a5c1feb59a78cb000000000000000000000000000000000000000000000000021ff0acf08305dd0000000000000000000000000000000000000000000000000000000000000000","gas_used":209411}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c21355654849a"},"0x530269ddff8da1dc9e70921688bb40f89e53eae5":{"balance":"0x257cd3cc6828","nonce":"0x4"},"0x95d708e96c8a1bce0a8d57c40c7ea3e9288a576c":{"balance":"0x525e180a1f9aa31"}},"meta":{"byte_code":"0x02f87301038405e69ec085020d1dee808252089495d708e96c8a1bce0a8d57c40c7ea3e9288a576c8801195e5b7956354780c080a0aa250885150b346ce3411a98c7da58b8437937b2ef683e0f93c041e110b9a8bca0363eabfbe584084100cf5d70900ba93242cdc9c3b98bdda285d8dd15f12bb830","new_txn_trie_node_byte":"0x02f87301038405e69ec085020d1dee808252089495d708e96c8a1bce0a8d57c40c7ea3e9288a576c8801195e5b7956354780c080a0aa250885150b346ce3411a98c7da58b8437937b2ef683e0f93c041e110b9a8bca0363eabfbe584084100cf5d70900ba93242cdc9c3b98bdda285d8dd15f12bb830","new_receipt_trie_node_byte":"0xb9010d02f901090183d7a765b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c22e2868d561a"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xcbff3004a20dbfe2731543aa38599a526e0fd6ee":{"code_usage":{"read":"0x4031de700c2e5e41189dffb62c430bcaea2493c7ca522721634c3747647bea97"}},"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599":{"storage_read":["0x99713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15e","0x0000000000000000000000000000000000000000000000000000000000000005","0x5935c736e23ad4d6e6e460e0dc6b8b0aca699e3bf1f0848d0d58b0422b498124"],"storage_written":{"0x99713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15e":"0x5172ab38f","0x5935c736e23ad4d6e6e460e0dc6b8b0aca699e3bf1f0848d0d58b0422b498124":"0x44c42227f"},"code_usage":{"read":"0x131ff5c755b710d543ea70fede2eb38e5d15b1456df0ae932ba12e2786f7e5df"}},"0x7f86bf177dd4f3494b841a37e810a34dd56c829b":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000001","0x000000000000000000000000000000000000000000000000000000000000000e","0x0000000000000000000000000000000000000000000000000000000000000019","0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000003","0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000011","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000014","0x0000000000000000000000000000000000000000000000000000000000000012","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000006"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000005":"0x9fb9104f449b8dee420000000000000bb8ac6d033173a7a987","0x000000000000000000000000000000000000000000000000000000000000000e":"0x1950b195458457f78865f3","0x0000000000000000000000000000000000000000000000000000000000000006":"0x6687db3b","0x000000000000000000000000000000000000000000000000000000000000000b":"0x955d966d995","0x0000000000000000000000000000000000000000000000000000000000000000":"0x3","0x000000000000000000000000000000000000000000000000000000000000000f":"0xe1a2ff970f5e9c0","0x0000000000000000000000000000000000000000000000000000000000000011":"0xdfda903f20616c8","0x000000000000000000000000000000000000000000000000000000000000000c":"0x44c42227f","0x0000000000000000000000000000000000000000000000000000000000000004":"0x9f2a6ec71fed3aed360000000000000bb236df9feef4aff7fe"},"code_usage":{"read":"0xffceb70c60b48d7d02df8305161e44ec2454c1bc23fabc528e9a9ec71e4e7806"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x3020d5b81a0bc3491f3cd5a8b8d1aaf1d036711f40535eff8ee52db3c2d1f538","0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3","0x5675f7f1194ee76a0caf981d71633b7c2799dcbafe4cdd4c246e301c8ec956b5","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"],"storage_written":{"0x3020d5b81a0bc3491f3cd5a8b8d1aaf1d036711f40535eff8ee52db3c2d1f538":"0x955d966d995","0x5675f7f1194ee76a0caf981d71633b7c2799dcbafe4cdd4c246e301c8ec956b5":"0x0","0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3":"0xad20456b53c"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x64bbde373e909501de1309231336761adeaa07d5":{"balance":"0xb91d1b10effbded5","nonce":"0xbee6"},"0xa69babef1ca67a37ffaf7a485dfff3382056e78c":{"balance":"0xeb8fca2ef8c7728d6","code_usage":{"read":"0xfe6b10a47e6f02df629ebc024bfceb97211d1343a434a71e8421cfe73180ed18"}},"0x0aa1a9ecdfd4cbe8b0c0a4f5f9b461f263c76208":{"code_usage":{"read":"0x612dd51e0fae12c9238f59e8880c61cea11b9dcf12b99bf58500c3747861ed05"}}},"meta":{"byte_code":"0x02f902160182bee58398968085025bef6f788306515694a69babef1ca67a37ffaf7a485dfff3382056e78c8309230cb901a478e111f60000000000000000000000000aa1a9ecdfd4cbe8b0c0a4f5f9b461f263c76208000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001245d0224020000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829b000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000000000000000000000000000000000024fbb729b000000000000000000000000000000000000000000017e45ad56481830000000000000000000000000000000000000000000000001188b64c3e9f79000000000000000000000000000000000000000000000000000000000000000006687db3b000000000000000000000000000000000000000000000000000000000111765dff0001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a05ad60e2b1832e197c303b43957ba94675ef11974899976db31340d65057fb2e6a05a35cf3e621ee568fe2c9b403128d5ffaa5605dd3d9ebb16139a013325116cd6","new_txn_trie_node_byte":"0x02f902160182bee58398968085025bef6f788306515694a69babef1ca67a37ffaf7a485dfff3382056e78c8309230cb901a478e111f60000000000000000000000000aa1a9ecdfd4cbe8b0c0a4f5f9b461f263c76208000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001245d0224020000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829b000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000000000000000000000000000000000024fbb729b000000000000000000000000000000000000000000017e45ad56481830000000000000000000000000000000000000000000000001188b64c3e9f79000000000000000000000000000000000000000000000000000000000000000006687db3b000000000000000000000000000000000000000000000000000000000111765dff0001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c080a05ad60e2b1832e197c303b43957ba94675ef11974899976db31340d65057fb2e6a05a35cf3e621ee568fe2c9b403128d5ffaa5605dd3d9ebb16139a013325116cd6","new_receipt_trie_node_byte":"0xb9040402f904000183da7774b9010000000000000000000000000000000001000000000000000000000000000000000000000000000000000040000000000000000100000000000000000000200000000080000000000008000008000000000000002000000000001000000000000000000000000000000000000000002000020000000000000000000010000000000000000000000000000040000000000000010004010000000000000000000000030000000000201000000000000000000000000000000000000000000000000000000002000000000000020000000000000000000000000000000000000000000010000000000000000000000000000000200000000000000000000000000000f902f5f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca00000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829ba0000000000000000000000000000000000000000000000000000000024fbb729bf89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca00000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829ba0000000000000000000000000000000000000000000000000000000024fbb729bf89b942260fac5e5542a773aa44fbcfedf7c193bc2c599f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007f86bf177dd4f3494b841a37e810a34dd56c829ba0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000000000000000000000000000000000000111aa88f9011b947f86bf177dd4f3494b841a37e810a34dd56c829bf842a0143f1f8e861fbdeddd5b46e844b7d3ac7b86a122f36e8c463859ee6811b1f29ca0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78cb8c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024fbb729b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000111aa880000000000000000000000000000000000000000000000000000000000002134000000000000009f1b5083be552841130000000000000bb1ef39fb026d2c0fa1","gas_used":184335}},{"traces":{"0xa40bb1c47f6dd27142a2bd7c93bfa98db9d1f5c5":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000009":"0x2479c2926ef8880ecc3e9829f2","0x000000000000000000000000000000000000000000000000000000000000000a":"0x1b3f1dac2624f8af8132a96b170b50e541bfb36898293","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b0000000000000000007590e9b0230000000036a3b70450b154e1c9ee"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x69af81e73a73b40adf4f3d4223cd9b1ece623074":{"storage_read":["0x088aceb73058ac8868ac6c8b117dd323d2a7697b2375e0cdaefced857d4b5f29","0x5ac8c24bd5a9f0e72018b8496a736534f6cd72d977be9577c37a4e820d6a27ec"],"storage_written":{"0x5ac8c24bd5a9f0e72018b8496a736534f6cd72d977be9577c37a4e820d6a27ec":"0x36a3b70450b154e1c9ee","0x088aceb73058ac8868ac6c8b117dd323d2a7697b2375e0cdaefced857d4b5f29":"0x6ca83049c51e714834"},"code_usage":{"read":"0x0fb895160b3fb547467539897465eb257e378ae5f1e959ad7bdc3ab45ed2b1cc"}},"0x1705c22f61fc381e3dedf870510028b7f1831fe5":{"balance":"0x9b41e8b272a7e5a","nonce":"0x4362"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x6f1cdbbb4d53d226cf4b917bf768b94acbab6168":{"balance":"0x3243befe6d797e859","code_usage":{"read":"0x6cfc5f65736ee54fad5d76e8b18cb490671cdf067195519be85609aa7fcec23c"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0xd2d12664b5602a91c125d67f2074786d285c458ee5dbce936f461085d9ce4e42","0x49f2db27187ebcf3ffe331b0d2c60991a0378434d22f8af145f9cdab786f4e14"],"storage_written":{"0xd2d12664b5602a91c125d67f2074786d285c458ee5dbce936f461085d9ce4e42":"0x11b17bcbdc6","0x49f2db27187ebcf3ffe331b0d2c60991a0378434d22f8af145f9cdab786f4e14":"0x7590e9b023"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c243abc33ea4a"}},"meta":{"byte_code":"0x02f901540182436183dabb908501c753150c83028b48946f1cdbbb4d53d226cf4b917bf768b94acbab6168823080b8e4741143fb0000000000000000000000000000000000000000000000000000000045ac6a150000000000000000000000000000000000000000000000205be2a4905813a792000000000000000000000000a40bb1c47f6dd27142a2bd7c93bfa98db9d1f5c5000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000069af81e73a73b40adf4f3d4223cd9b1ece623074000000000000000000000000000000000000000000000000000000000134d6bb0000000000000000000000000000000000000000000000000000000000000000c001a0b8093d4e3969496e71a1c959c16c0c7d8abe5b49316b2f723ee8c853db672bc4a0192db189b861953b5511d4868a397d9c6092f00d928828c67c197f8ff5627fa6","new_txn_trie_node_byte":"0x02f901540182436183dabb908501c753150c83028b48946f1cdbbb4d53d226cf4b917bf768b94acbab6168823080b8e4741143fb0000000000000000000000000000000000000000000000000000000045ac6a150000000000000000000000000000000000000000000000205be2a4905813a792000000000000000000000000a40bb1c47f6dd27142a2bd7c93bfa98db9d1f5c5000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000069af81e73a73b40adf4f3d4223cd9b1ece623074000000000000000000000000000000000000000000000000000000000134d6bb0000000000000000000000000000000000000000000000000000000000000000c001a0b8093d4e3969496e71a1c959c16c0c7d8abe5b49316b2f723ee8c853db672bc4a0192db189b861953b5511d4868a397d9c6092f00d928828c67c197f8ff5627fa6","new_receipt_trie_node_byte":"0xb903c202f903be0183dc0a4fb9010000200600000000000000008080000000000000100000000000000000000000000000000000000800000000000000000000800000000000000000000000000000000000000000000008000008000000200000000000000000000000000001000000000000000000000000000000000000000000000000000000040010000000000000000000010000000000000000000000000000010000080000004020000000000000000000200000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000010000f902b3f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab6168a0000000000000000000000000a40bb1c47f6dd27142a2bd7c93bfa98db9d1f5c5a00000000000000000000000000000000000000000000000000000000045ac6a15f89b9469af81e73a73b40adf4f3d4223cd9b1ece623074f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a40bb1c47f6dd27142a2bd7c93bfa98db9d1f5c5a00000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab6168a00000000000000000000000000000000000000000000000205be2a4905813a792f87994a40bb1c47f6dd27142a2bd7c93bfa98db9d1f5c5e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000036a3b70450b154e1c9ee0000000000000000000000000000000000000000000000000000007590e9b023f8fc94a40bb1c47f6dd27142a2bd7c93bfa98db9d1f5c5f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab6168a00000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab6168b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045ac6a150000000000000000000000000000000000000000000000205be2a4905813a7920000000000000000000000000000000000000000000000000000000000000000","gas_used":103131}},{"traces":{"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x24c09d9cd41e893582ed9b685c2f61008d4f103548177a791173648a3b141ab7","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x24c09d9cd41e893582ed9b685c2f61008d4f103548177a791173648a3b141ab7":"0x26b71848e4","0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3":"0xad16a30d9bd"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0xa1d4de0ecd7481fd1366df26b3a928713e286be4":{"code_usage":{"read":"0x5389502870489b1caf3fe6e3e07f84821a011b08d49018c38820004a928e712d"}},"0xa5a13f62ce1113838e0d9b4559b8caf5f76463c0":{"balance":"0x12a4831628527ea4d","nonce":"0x33aaa"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xa69babef1ca67a37ffaf7a485dfff3382056e78c":{"balance":"0xeb8fca2ef8d389ee2","code_usage":{"read":"0xfe6b10a47e6f02df629ebc024bfceb97211d1343a434a71e8421cfe73180ed18"}},"0x9a772018fbd77fcd2d25657e5c547baff3fd7d16":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002","0x7ca528807b45d0675df0059116d2304ca9c7f495d9ab623cd80c79f11948b856","0x000000000000000000000000000000000000000000000000000000000000004f","0x0000000000000000000000000000000000000000000000000000000000000050"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x10000960096004800f6c1000000000000001787e6e50b9965bb9b028dc19b","0x0000000000000000000000000000000000000000000000000000000000000050":"0x101bb87c901175bb370d6cc2743b27920c98db30e0005353749c7c66687db3b","0x0000000000000000000000000000000000000000000000000000000000000002":"0x385e89b14557a6e2316a156e629e0b8a9"},"code_usage":{"read":"0x5168118a184fb871a0e93af05f5c9c586d9c0aa5aafdee0ea7292034b873ce02"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c254aadd4f3ca"},"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599":{"storage_read":["0x8c2f16f235092052b401051eef9e019dac94bb7b8f7c80be2557b939537bec39","0x99713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15e","0x0000000000000000000000000000000000000000000000000000000000000005"],"storage_written":{"0x8c2f16f235092052b401051eef9e019dac94bb7b8f7c80be2557b939537bec39":"0x3b17925d","0x99713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15e":"0x51772068d"},"code_usage":{"read":"0x131ff5c755b710d543ea70fede2eb38e5d15b1456df0ae932ba12e2786f7e5df"}}},"meta":{"byte_code":"0x02f904000183033aa98398968085025bef6f788303906c94a69babef1ca67a37ffaf7a485dfff3382056e78c83c1760cb9014478e111f6000000000000000000000000a1d4de0ecd7481fd1366df26b3a928713e286be4000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f4ff5295000000000000000000000000000000000000000000000000000000009a25db7f0000000000000000000000000000000000000006fe006e1a300dc00000000000000000000000000000000000000000000000001787e6e50bb97c8245879b2bf100000000000000000000000000000000000000025f0e9375afe7e00000000000000000000000000000000000000000000000000000000000000000006687db3bff0000000000000000000000000000000000000000000000000000000001246300000000000000000000000000000000000000000000000000000000f90247f87a942260fac5e5542a773aa44fbcfedf7c193bc2c599f863a00000000000000000000000000000000000000000000000000000000000000005a08c2f16f235092052b401051eef9e019dac94bb7b8f7c80be2557b939537bec39a099713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15ed694a1d4de0ecd7481fd1366df26b3a928713e286be4c0f8dd949a772018fbd77fcd2d25657e5c547baff3fd7d16f8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a07ca528807b45d0675df0059116d2304ca9c7f495d9ab623cd80c79f11948b856a0000000000000000000000000000000000000000000000000000000000000004fa00000000000000000000000000000000000000000000000000000000000000050f8bc94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f8a5a0f56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3a010d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390ba07050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3a024c09d9cd41e893582ed9b685c2f61008d4f103548177a791173648a3b141ab7a00000000000000000000000000000000000000000000000000000000000000001d69443506849d7c04f9138d1a2050bbf3a0c054402ddc080a060c2c23a9078cbc4c1e288801a4e7ed8f0fc7d6a71522ec3b2cc2ad98641f750a0753d5a109c3d44a1128dee9096f4aef93ea75220eb85c79abb674aefa64ae6e5","new_txn_trie_node_byte":"0x02f904000183033aa98398968085025bef6f788303906c94a69babef1ca67a37ffaf7a485dfff3382056e78c83c1760cb9014478e111f6000000000000000000000000a1d4de0ecd7481fd1366df26b3a928713e286be4000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c4f4ff5295000000000000000000000000000000000000000000000000000000009a25db7f0000000000000000000000000000000000000006fe006e1a300dc00000000000000000000000000000000000000000000000001787e6e50bb97c8245879b2bf100000000000000000000000000000000000000025f0e9375afe7e00000000000000000000000000000000000000000000000000000000000000000006687db3bff0000000000000000000000000000000000000000000000000000000001246300000000000000000000000000000000000000000000000000000000f90247f87a942260fac5e5542a773aa44fbcfedf7c193bc2c599f863a00000000000000000000000000000000000000000000000000000000000000005a08c2f16f235092052b401051eef9e019dac94bb7b8f7c80be2557b939537bec39a099713ceb4322a7b2d063a2b1e90a212070b8c507ea9c7afebed78f66997ae15ed694a1d4de0ecd7481fd1366df26b3a928713e286be4c0f8dd949a772018fbd77fcd2d25657e5c547baff3fd7d16f8c6a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a07ca528807b45d0675df0059116d2304ca9c7f495d9ab623cd80c79f11948b856a0000000000000000000000000000000000000000000000000000000000000004fa00000000000000000000000000000000000000000000000000000000000000050f8bc94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f8a5a0f56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3a010d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390ba07050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3a024c09d9cd41e893582ed9b685c2f61008d4f103548177a791173648a3b141ab7a00000000000000000000000000000000000000000000000000000000000000001d69443506849d7c04f9138d1a2050bbf3a0c054402ddc080a060c2c23a9078cbc4c1e288801a4e7ed8f0fc7d6a71522ec3b2cc2ad98641f750a0753d5a109c3d44a1128dee9096f4aef93ea75220eb85c79abb674aefa64ae6e5","new_receipt_trie_node_byte":"0xb9036802f903640183ddd28eb9010000000000000000000000000000000001000000000000200000008000000000000000000000000000000000000000000000000000000020000010000000000000000080000000000808000008000000000000000000000000000000000000001000000000000000000000000000002000020000000000000000000010000800100000000000000000000000000000000000000000010000000000000000000000010000000000200000000000000000000000000000000000000001000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000f90259f89b942260fac5e5542a773aa44fbcfedf7c193bc2c599f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009a772018fbd77fcd2d25657e5c547baff3fd7d16a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca000000000000000000000000000000000000000000000000000000000004752fef89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca00000000000000000000000009a772018fbd77fcd2d25657e5c547baff3fd7d16a0000000000000000000000000000000000000000000000000000000009a25db7ff9011c949a772018fbd77fcd2d25657e5c547baff3fd7d16f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78cb8a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb8ad02000000000000000000000000000000000000000000000000000000009a25db7f000000000000000000000000000000000000001787e6e50b9965bb9b028dc19b000000000000000000000000000000000000000000000000000000141f020c54000000000000000000000000000000000000000000000000000000000000f6c1","gas_used":116799}},{"traces":{"0xa69babef1ca67a37ffaf7a485dfff3382056e78c":{"balance":"0xeb8fca2ef8d5fb1ee","code_usage":{"read":"0xfe6b10a47e6f02df629ebc024bfceb97211d1343a434a71e8421cfe73180ed18"}},"0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0x1a491e9f601620e2e2621a98eac43053cbc7c20a01c","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b00000000036bcb333945edab3d3700000000000000002b3105a897c8","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x000000000000000000000000000000000000000000000000000000000000000a":"0x43dc658e010acef9a895f78b55ea"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x2c6e668d3a4b25c557ce40b134a65eb36cfc2229":{"code_usage":{"read":"0xc18c79f8f30d9e34d987a4e197de6ee7c988962e32d5db19165e529976742e92"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3","0x0000000000000000000000000000000000000000000000000000000000000001","0x28c0947f463362aab09a2d7896ccc847fb7e52633a16b978fb2caf3db1a9b8f8"],"storage_written":{"0x28c0947f463362aab09a2d7896ccc847fb7e52633a16b978fb2caf3db1a9b8f8":"0x2b3105a897c8","0xf56408d23e6790fec5453738cf042a4a3ef7ec36e9ceae8978e4ffce8e903bc3":"0xace3a9389d5"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f","0xb374801ace2c02f5db0425ab5920a2b7ed1d5a00abbcd395fda7530ba1d666c0"],"storage_written":{"0xb374801ace2c02f5db0425ab5920a2b7ed1d5a00abbcd395fda7530ba1d666c0":"0x36bcb333945edab3d37","0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f":"0x13c909862fa5e7b99e4"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x5687872eb3cba26ee20945e62647b438d309ff0e":{"balance":"0xb91f9439e47fb775","nonce":"0x1f3d"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c26583857494a"}},"meta":{"byte_code":"0x02f9023601821f3c8398968085025bef6f7883039e3c94a69babef1ca67a37ffaf7a485dfff3382056e78c8327130cb901c478e111f60000000000000000000000002c6e668d3a4b25c557ce40b134a65eb36cfc222900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000144c22b6075000000000000000000000000b4e16d0168e52d35cacd2c6185b44281ec28c9dc000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000001c9c3800000000000000000000000000000000000000000000000000000120b99e92507000000000000000000000000000000000000000011da52a6803823000000000000000000000000000000000000000000000000000000000028eab03c55b718000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006687db3bff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0d954d89b61a458ab739baa06e8d38450b03554359f7505f22d04686a0cf51af2a02f055ea5dfefe68a4acc7e0845199d113877fd8b905783da89beddc657682829","new_txn_trie_node_byte":"0x02f9023601821f3c8398968085025bef6f7883039e3c94a69babef1ca67a37ffaf7a485dfff3382056e78c8327130cb901c478e111f60000000000000000000000002c6e668d3a4b25c557ce40b134a65eb36cfc222900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000144c22b6075000000000000000000000000b4e16d0168e52d35cacd2c6185b44281ec28c9dc000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000001c9c3800000000000000000000000000000000000000000000000000000120b99e92507000000000000000000000000000000000000000011da52a6803823000000000000000000000000000000000000000000000000000000000028eab03c55b718000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006687db3bff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0d954d89b61a458ab739baa06e8d38450b03554359f7505f22d04686a0cf51af2a02f055ea5dfefe68a4acc7e0845199d113877fd8b905783da89beddc657682829","new_receipt_trie_node_byte":"0xb903c202f903be0183df96c5b9010010204000000000000000000080000001000000000000000000000000000000000000000000000000000000000000000002000000080000000000000000000000000080000000000008000008000000600000000000000000000000000000000000000000000000000000000000002000000000000000000000000010000000000000000000000000000000000000000000000000010000080000004000000000000000000000200200000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000001000000000000000000008200000000000000000000000000000000000000000000000000000000000f902b3f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000b4e16d0168e52d35cacd2c6185b44281ec28c9dca0000000000000000000000000000000000000000000000000000000032f9d4fe8f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b4e16d0168e52d35cacd2c6185b44281ec28c9dca0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000000000000000000000000000406d59ac14cc9b8af87994b4e16d0168e52d35cacd2c6185b44281ec28c9dce1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000000002b3105a897c800000000000000000000000000000000000000000000036bcb333945edab3d37f8fc94b4e16d0168e52d35cacd2c6185b44281ec28c9dcf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78cb880000000000000000000000000000000000000000000000000000000032f9d4fe800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000406d59ac14cc9b8a","gas_used":115767}},{"traces":{"0xe840a88473b16651a44fdfe754ea3adf1417c1e8":{"balance":"0x1a359e6285b8f"},"0x9715254754284a0b3e4c7bf8f57e790415041c1c":{"balance":"0x254a33b3fdb58ff2","nonce":"0x12d80"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c27291c9d1d02"}},"meta":{"byte_code":"0xf86d83012d7f850194c5ccb282520894e840a88473b16651a44fdfe754ea3adf1417c1e886d9b0f8fc62fc8025a057d376857288fe531d04903cfac78c33481be5821e6cc7e8b3311d5897a41a70a040a8ac570a7c20344b4afb2c4fc6e596b43ef800c685cd78421ea0b397e9d1ee","new_txn_trie_node_byte":"0xf86d83012d7f850194c5ccb282520894e840a88473b16651a44fdfe754ea3adf1417c1e886d9b0f8fc62fc8025a057d376857288fe531d04903cfac78c33481be5821e6cc7e8b3311d5897a41a70a040a8ac570a7c20344b4afb2c4fc6e596b43ef800c685cd78421ea0b397e9d1ee","new_receipt_trie_node_byte":"0xf901090183dfe8cdb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x2dbc18a3ac126abe1ff90a83bbc3947ff7912afb":{"code_usage":{"read":"0x1f02a62553db88d7bf99f07140f28b3b3f04cff36ae9f906eee975ff6efbdec0"}},"0xdf2f24751f7e84ccdcd39e7b49904fab0fb0f583":{"code_usage":{"read":"0xd0bd872f41ebb038a8db9c42cff0e114a678033c9c5c50aaad32b44f9cf8c691"}},"0xe2aa8b80b2e5bed513583f662f9a3bbd5544951e":{"balance":"0x116a9b44691a6","nonce":"0x3"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c273aa8c70282"},"0xf5c9f957705bea56a7e806943f98f7777b995826":{"balance":"0x162d31bd639088a1000","storage_read":["0x33018834b6012299b14a6360324ca211b1fde89dee491267ce79864bdbe54e1a","0x329096c17badb67c83f5a5dbefc5b0b7f7c14d4de2458fe3670cb6c277c24b4a","0x177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b24","0x8a1ea6ccfdf9f988bdc16303c81231f9b192785454b34880c28e5c30362354c5","0xc22d83efbbe30fad371426be59409598edef32f1cdbf24138bc0f3730b6d076e","0xcc787bb2c4a9e4f892d94affc107897858fad09f381e87e6586316bf05e50092","0x1ab74f5ff921190dc9838771a0bf2d97dd47d08d0c6868f7a7733f294117eb6b","0x0000000000000000000000000000000000000000000000000000000000000004"],"storage_written":{"0x33018834b6012299b14a6360324ca211b1fde89dee491267ce79864bdbe54e1a":"0x13a54c0"},"code_usage":{"read":"0x090acfb9e7649b8c4d201307732303bc0c7754e5fced1db4982f506354797c2f"}}},"meta":{"byte_code":"0x02f8d80102830f42408501a413d84a8301789d94f5c9f957705bea56a7e806943f98f7777b9958268802dbdbe897bb0000b8646ce5d9570634bab69a0889c9b3f35fed5228b89124c659ffc6aebb43a045e986518cb76700b333e3142fe16b78628f19bb15afddaef437e72d6d7f5c6c20c6801a27fba60000000000000000000000000000000000000000000000000000000000102ac7c080a0f1549b40df2bf63e5b5ccceb543570627310649b20f5c0fe486aa86899b5f1b5a014a0819ca5d2467a4e863b18e957363f40c53396dfcb61556c28ee0666a97341","new_txn_trie_node_byte":"0x02f8d80102830f42408501a413d84a8301789d94f5c9f957705bea56a7e806943f98f7777b9958268802dbdbe897bb0000b8646ce5d9570634bab69a0889c9b3f35fed5228b89124c659ffc6aebb43a045e986518cb76700b333e3142fe16b78628f19bb15afddaef437e72d6d7f5c6c20c6801a27fba60000000000000000000000000000000000000000000000000000000000102ac7c080a0f1549b40df2bf63e5b5ccceb543570627310649b20f5c0fe486aa86899b5f1b5a014a0819ca5d2467a4e863b18e957363f40c53396dfcb61556c28ee0666a97341","new_receipt_trie_node_byte":"0xb9020902f902050183e10f33b9010000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000100000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f8fbf8f994f5c9f957705bea56a7e806943f98f7777b995826e1a006724742ccc8c330a39a641ef02a0b419bd09248360680bb38159b0a8c2635d6b8c0000000000000000000000000e2aa8b80b2e5bed513583f662f9a3bbd5544951e0634bab69a0889c9b3f35fed5228b89124c659ffc6aebb43a045e986518cb7670000000000000000000000000000000000000000000000000000000000102ac700b333e3142fe16b78628f19bb15afddaef437e72d6d7f5c6c20c6801a27fba600000000000000000000000000000000000000000000000002dbdbe897bb000000000000000000000000000000000000000000000000000000000000013a54c0","gas_used":75366}},{"traces":{"0x634b69cc4168cfc1c366078fdeb874affbb478b5":{"storage_read":["0xcdca0a867cf105b018dce5fb5e75cbd8f9a9d00e00d12e9dfc923e5936438942"],"code_usage":{"read":"0xcbabda255219d0e13b9259517ef398328baffe88f3529a8e87ae107d8a9bc10b"}},"0xc59023d3fdd79fcee662d1f06eba0b1bfd49b8f3":{"balance":"0x51dc41c142c01c7","nonce":"0x74"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c2746344610c2"},"0xdfeb3460771148799b2d4344c369e2b2d6c26c42":{"code_usage":{"read":"0x5539e6963ecd3145e7de3b4d7a3cd5543b081cbf55bfc891b1269e6401f9bfe2"}},"0x3a253838121b9ad9736fafc030cf4971615d68b2":{"storage_read":["0x00000000000000000000000000000000000000000000000000000000000000d1","0xe9b31ea74979d7fdc7e8b3694020a5f5e0673563ad0c949518de5af9a12c6450","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000097"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000097":"0x1"},"code_usage":{"read":"0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e"}}},"meta":{"byte_code":"0x02f903310173830f4240850196ffaa4683028702943a253838121b9ad9736fafc030cf4971615d68b280b902c45f9a333500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000668656800000000000000000000000000000000000000000000000000000004eb25eb40000000000000000000000000000000000000000000000000000000052a7a61e000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000668656800000000000000000000000000000000000000000000000000000004dc3f38c00000000000000000000000000000000000000000000000000000000526c0b540000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000006687a8000000000000000000000000000000000000000000000000000000004dc3f38c0000000000000000000000000000000000000000000000000000000052a7a61e000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000668505000000000000000000000000000000000000000000000000000000004f2994480000000000000000000000000000000000000000000000000000000052e340e8000000000000000000000000000000000000000000000000000000000000000001c080a02619b3fda7c221e9e2c5ff41513b5a093f37d82f3c0209dfbc37599a70c12befa0340e686604767a2bbb4899ce8cc3805c68291bdd9550c845478bdb43f0e822a4","new_txn_trie_node_byte":"0x02f903310173830f4240850196ffaa4683028702943a253838121b9ad9736fafc030cf4971615d68b280b902c45f9a333500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000668656800000000000000000000000000000000000000000000000000000004eb25eb40000000000000000000000000000000000000000000000000000000052a7a61e000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000668656800000000000000000000000000000000000000000000000000000004dc3f38c00000000000000000000000000000000000000000000000000000000526c0b540000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000006687a8000000000000000000000000000000000000000000000000000000004dc3f38c0000000000000000000000000000000000000000000000000000000052a7a61e000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000668505000000000000000000000000000000000000000000000000000000004f2994480000000000000000000000000000000000000000000000000000000052e340e8000000000000000000000000000000000000000000000000000000000000000001c080a02619b3fda7c221e9e2c5ff41513b5a093f37d82f3c0209dfbc37599a70c12befa0340e686604767a2bbb4899ce8cc3805c68291bdd9550c845478bdb43f0e822a4","new_receipt_trie_node_byte":"0xb9010d02f901098083e1d0e4b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":49585}},{"traces":{"0x97360a89b5adb7d82dbde6c66a49de8a48d550e6":{"storage_read":["0x0ff703e8da0f8d3da783b8073be5353ff6b1904f3d17353a51c902193b6f66a6"],"code_usage":{"read":"0x3e8988fd2be6650093fb48ff9c90e8ff84a532de6237bac44fbd68f3fd903215"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834c274634482892"},"0x90dc245bbf0a441651c23437f95705ebbf2498bd":{"storage_read":["0x6289097c51e2e236afb21468e9ddcd8df931457d1c08158b806e06c3fbdc3f77","0x7bada7882eb48984d3702277d73178e996fba70d358c2d68d677c156903f2b0f","0xb32ed27139d7b92a16c6793613da4300acb3a3e86d1c5ffcb907620531655d7c","0x5936bba4f09afc98045bff326a582d60ce7d8b1f80db6daeddb102f0485154c0","0x5f1d4ebc25f387cfb991fe13de9a467caa897a70039e414df0abb6f4205cb3b0","0x000000000000000000000000000000000000000000000000000000000000000b","0xe3ddbcb5818c21ff5b268fe289a37b44c0cd3a390dce3a27122a620ef9868301","0x000000000000000000000000000000000000000000000000000000000000000a","0x3f7ee98f4070a78cd6d659ecf2af5dc1c306c7bb9b5fa3e226ed4021c93327ba","0xbb1d54df21a392c2fb7cc63b608243731e1f545ff11732b4dc18d3245b8446c6","0x000000000000000000000000000000000000000000000000000000000000000e"],"storage_written":{"0xbb1d54df21a392c2fb7cc63b608243731e1f545ff11732b4dc18d3245b8446c6":"0x6687db3b6687db2a000000000000000000000000000000000000000000860fa2","0x000000000000000000000000000000000000000000000000000000000000000b":"0x17930ee3e194027b51210000004b00000bb80000002f00000f400505","0xe3ddbcb5818c21ff5b268fe289a37b44c0cd3a390dce3a27122a620ef9868301":"0x731836c38641af9a0101"},"code_usage":{"read":"0x16f41184f797cb8f8918680df0ebf2a97cc3192aa6b104615f61096fc674f2aa"}},"0xf585a4ae338bc165d96e8126e8bbcacae725d79e":{"balance":"0x1575c9e605a95f3f","nonce":"0x4c0c"},"0x0000000000000000000000000000000000000001":{}},"meta":{"byte_code":"0x02f9061001824c0b0185174876e800830b4aa09497360a89b5adb7d82dbde6c66a49de8a48d550e680b905a46fadcf7200000000000000000000000090dc245bbf0a441651c23437f95705ebbf2498bd00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000524b1dc65a40001c7b03d0464142f9517626dd8aa4275a8e6a9a9e22e80597caba21d44532e00000000000000000000000000000000000000000000000000000000000f40052ba74606f93c06c7fbeb9bd3cd375aa4bd2bfdd852a2b9d8b07f8405c00decd500000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000044000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000006687db2a000b03070506080a0c0f0209010e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000d6b8c2e71b78d15af000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000085caf6000000000000000000000000000000000000000000000000000000000085f8df000000000000000000000000000000000000000000000000000000000085f8df0000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860fa20000000000000000000000000000000000000000000000000000000000860fa20000000000000000000000000000000000000000000000000000000000860fa200000000000000000000000000000000000000000000000000000000008618240000000000000000000000000000000000000000000000000000000000861824000000000000000000000000000000000000000000000000000000000086182400000000000000000000000000000000000000000000000000000000008618240000000000000000000000000000000000000000000000000000000000000006e8d4cf72f5fac0b83772c6efe63b833aae35654091542d2a9b4449cf3658c77fc4071b49704ff84bfd6b0407c66706ce2f3669f372be52dd6a89a66d3274d57ef927397eeb0bef36ab0b5f2ddb93029d9fe757533366d38d1304b9c600978075cfdced047844172a05631f0c4de51c1f70614f22461c8fbf40760fc61be3c3dbe09d9d822a4990bc3df79d58a390007c78539800cc24122e9877ead05c6e26bfbaee8b516df1973c648ab733783798af4f0d992921eddb7125c9ed288f77fd23000000000000000000000000000000000000000000000000000000000000000626f4b51d143f6971499e1428459f25575b0437460a2852da0c7020c1ec7555d83e79ab60e152beca067d6cc91bc6a4cafbbe96aff5c3d566ed8a4c5813f63ac536b679624eb4d8e8c13ac772dbfa6f3f227c67c576a77b67a2a32330ec3f2a8e26474d99d6b61a0176ef81c7a04a92834933fc9c579d235c44d371eb01c9094b3a24e2647198fc785ccb8feafd5bd8e5d84864e388ffba03e689fa49b0ef88ba6da9ab358e91babb73389ed0f9e9e2a39dda13acb459f8446ee94ddae28f259200000000000000000000000000000000000000000000000000000000c001a0bee40320956e76a0eb4ecac29f81538ecf7ac21767773e795bf308d721f845fda0274c07312b572509e30613108ef7134e4b1a09f95226c9ad46b40338d04c04de","new_txn_trie_node_byte":"0x02f9061001824c0b0185174876e800830b4aa09497360a89b5adb7d82dbde6c66a49de8a48d550e680b905a46fadcf7200000000000000000000000090dc245bbf0a441651c23437f95705ebbf2498bd00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000524b1dc65a40001c7b03d0464142f9517626dd8aa4275a8e6a9a9e22e80597caba21d44532e00000000000000000000000000000000000000000000000000000000000f40052ba74606f93c06c7fbeb9bd3cd375aa4bd2bfdd852a2b9d8b07f8405c00decd500000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000044000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000006687db2a000b03070506080a0c0f0209010e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000d6b8c2e71b78d15af000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000085caf6000000000000000000000000000000000000000000000000000000000085f8df000000000000000000000000000000000000000000000000000000000085f8df0000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860fa20000000000000000000000000000000000000000000000000000000000860fa20000000000000000000000000000000000000000000000000000000000860fa200000000000000000000000000000000000000000000000000000000008618240000000000000000000000000000000000000000000000000000000000861824000000000000000000000000000000000000000000000000000000000086182400000000000000000000000000000000000000000000000000000000008618240000000000000000000000000000000000000000000000000000000000000006e8d4cf72f5fac0b83772c6efe63b833aae35654091542d2a9b4449cf3658c77fc4071b49704ff84bfd6b0407c66706ce2f3669f372be52dd6a89a66d3274d57ef927397eeb0bef36ab0b5f2ddb93029d9fe757533366d38d1304b9c600978075cfdced047844172a05631f0c4de51c1f70614f22461c8fbf40760fc61be3c3dbe09d9d822a4990bc3df79d58a390007c78539800cc24122e9877ead05c6e26bfbaee8b516df1973c648ab733783798af4f0d992921eddb7125c9ed288f77fd23000000000000000000000000000000000000000000000000000000000000000626f4b51d143f6971499e1428459f25575b0437460a2852da0c7020c1ec7555d83e79ab60e152beca067d6cc91bc6a4cafbbe96aff5c3d566ed8a4c5813f63ac536b679624eb4d8e8c13ac772dbfa6f3f227c67c576a77b67a2a32330ec3f2a8e26474d99d6b61a0176ef81c7a04a92834933fc9c579d235c44d371eb01c9094b3a24e2647198fc785ccb8feafd5bd8e5d84864e388ffba03e689fa49b0ef88ba6da9ab358e91babb73389ed0f9e9e2a39dda13acb459f8446ee94ddae28f259200000000000000000000000000000000000000000000000000000000c001a0bee40320956e76a0eb4ecac29f81538ecf7ac21767773e795bf308d721f845fda0274c07312b572509e30613108ef7134e4b1a09f95226c9ad46b40338d04c04de","new_receipt_trie_node_byte":"0xb905c802f905c40183e3e8b4b9010000000000000000000000000006000000000080000000000000000000000000000000000000000000000000000000000000000000000200000800000000000000000000000000000000000000002000000000000001000000000000000000000000000000020002000000000000000a00000000000000000000000000000000000000000000000000000000000000000004000481000000000000000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000020000000000000000000000004000000000000000000000004000000000000080000f904b9f9037c9490dc245bbf0a441651c23437f95705ebbf2498bdf842a0c797025feeeaf2cd924c99e9205acb8ec04d5cad21c41ce637a38fb6dee6016aa0000000000000000000000000000000000000000000000000000000000000002fb903200000000000000000000000000000000000000000000000000000000000860fa200000000000000000000000097360a89b5adb7d82dbde6c66a49de8a48d550e6000000000000000000000000000000000000000000000000000000006687db2a000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000d6b8c2e71b78d15af0001c7b03d0464142f9517626dd8aa4275a8e6a9a9e22e80597caba21d44532e00000000000000000000000000000000000000000000000000000000000f4005000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000085caf6000000000000000000000000000000000000000000000000000000000085f8df000000000000000000000000000000000000000000000000000000000085f8df0000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860b500000000000000000000000000000000000000000000000000000000000860fa20000000000000000000000000000000000000000000000000000000000860fa20000000000000000000000000000000000000000000000000000000000860fa20000000000000000000000000000000000000000000000000000000000861824000000000000000000000000000000000000000000000000000000000086182400000000000000000000000000000000000000000000000000000000008618240000000000000000000000000000000000000000000000000000000000861824000000000000000000000000000000000000000000000000000000000000000e000b03070506080a0c0f0209010e000000000000000000000000000000000000f89b9490dc245bbf0a441651c23437f95705ebbf2498bdf863a00109fc6f55cf40689f02fbaad7af7fe7bbac8a3d2186600afc7d3e10cac60271a0000000000000000000000000000000000000000000000000000000000000002fa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687db2af89b9490dc245bbf0a441651c23437f95705ebbf2498bdf863a00559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5fa00000000000000000000000000000000000000000000000000000000000860fa2a0000000000000000000000000000000000000000000000000000000000000002fa0000000000000000000000000000000000000000000000000000000006687db3b","gas_used":137168}},{"traces":{"0xeb02809c46b65a674995425a6db6c8d16fc5726c":{"balance":"0xcf5879d02b81bb6","nonce":"0x13c"},"0x0000000000000000000000000000000000000001":{},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0x17cf6eb0c723b2787d014eb2ec18c4735b8dff27c8269b45772cb77549b52e10"],"storage_written":{"0x17cf6eb0c723b2787d014eb2ec18c4735b8dff27c8269b45772cb77549b52e10":"0x1000066af6829ffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0x60d71e313709e0f910e15b277608ba8acd4eaa56":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000f","0x45005986260f30de03cf3bdfb77a9620a3d9233cf4964a05e19abae2fb37416f","0x207619539ae3e89acbb113419a5774ec957c3a6e247c7d426f00cf5a73b03362","0x6512151d60fbdcfd739b4f853799645185a495a33b6126dcf281552657ec133d","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000a","0xb5f71c7104473ae943f504a3724cf441eb2f9a0963963d00b599b4d3f469c241","0x30a10b431c9ce2d56aa4fda286fecfc4fae39e9191731c61042c09a25772abbc","0x79d60ebba9bf4a7e67590d45053ac9077f9ff4fff7c1ad6687d42c390fdddd82","0xb63c4264671eeedcbcce22aa5a077b3657a63c8b3ca4bcbb32113c1f4114986b","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000005","0x6f7e6979981ae555b7f29cf4134cc2fcfb2ac3e3be3eb7ef559cfee594b22f75","0xb0a938b71e099cc2f1c47308fce39f17ff3d90126ceaa4a7fadb65b6b8b05a91"],"storage_written":{"0xb0a938b71e099cc2f1c47308fce39f17ff3d90126ceaa4a7fadb65b6b8b05a91":"0x113dc075eeddbc2e58cc8041d","0x45005986260f30de03cf3bdfb77a9620a3d9233cf4964a05e19abae2fb37416f":"0x0"},"code_usage":{"read":"0x564fe055af69767d65faefd17e62b0dc912c5df11553364ae27abea0620a1e87"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243947a0f73902df97139","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0xbba038fa8a28567ed05f160973097d0412d0df3fd7572607efc065629a7c4ed2","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa"],"storage_written":{"0xbba038fa8a28567ed05f160973097d0412d0df3fd7572607efc065629a7c4ed2":"0x605cbcdc3f7c6f09","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa":"0xa99fb932436e4c2"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x2dba31166c76a9352ed5d5f64572bb019f8258c9":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000000605cbcdc3f7c6f09000113dc075eeddbc2e58cc8041d","0x000000000000000000000000000000000000000000000000000000000000000a":"0x32a4897ab20ca66d8b6af40cae91a3932b7a65ab0","0x0000000000000000000000000000000000000000000000000000000000000009":"0x31405f6de927b3d9b351c05e8"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834d3a10499e2d94"}},"meta":{"byte_code":"0x02f905340182013b845e27fcbe8502e5727ab783041f6b943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd7b00000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000060d71e313709e0f910e15b277608ba8acd4eaa56000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af682900000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e23100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041bfc7512fc1c5c09e3709a2a9467c434eefef03081c80cac6b0531bd5d89038844dc8907ca21518656789a7983fc8c3635379fe0723da75290e7f71ebff329f681b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000001fd4d055a2cbcce22ab84d2d0000000000000000000000000000000000000000000000000c494232ad50fd6c00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000060d71e313709e0f910e15b277608ba8acd4eaa56000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000c41653b82a4a0a0c080a06f4c5602c820de99ffd384557341cc86120d6cdcb292464a2cc7b26bd8ac06d2a0595afdd586ed6064bd96c38101673e4a263853d7650137fe169286b7e26e5a1a","new_txn_trie_node_byte":"0x02f905340182013b845e27fcbe8502e5727ab783041f6b943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd7b00000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000016000000000000000000000000060d71e313709e0f910e15b277608ba8acd4eaa56000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af682900000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e23100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041bfc7512fc1c5c09e3709a2a9467c434eefef03081c80cac6b0531bd5d89038844dc8907ca21518656789a7983fc8c3635379fe0723da75290e7f71ebff329f681b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000001fd4d055a2cbcce22ab84d2d0000000000000000000000000000000000000000000000000c494232ad50fd6c00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000060d71e313709e0f910e15b277608ba8acd4eaa56000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000c41653b82a4a0a0c080a06f4c5602c820de99ffd384557341cc86120d6cdcb292464a2cc7b26bd8ac06d2a0595afdd586ed6064bd96c38101673e4a263853d7650137fe169286b7e26e5a1a","new_receipt_trie_node_byte":"0xb905da02f905d60183e6d3d3b9010000210000000010000000004080000000000000000000000000000000000000000000000000000000000000000000000002010000080000000000000000080000000000080002000000000008001000200000000001400000000000000020400000000000000000200000000000000000000000000000040000000010000000000000004000000000000000000020000000000000000000084000004000040000000000000000000000000000000000000400000000000000000000000000000000200002000000204000000100000000000000000000001000000002000000000000200000000000000100000000000000021000000000800000000000000400f904cbf8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca0000000000000000000000000eb02809c46b65a674995425a6db6c8d16fc5726ca000000000000000000000000060d71e313709e0f910e15b277608ba8acd4eaa56a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af68290000000000000000000000000000000000000000000000000000000000000000f89b9460d71e313709e0f910e15b277608ba8acd4eaa56f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000eb02809c46b65a674995425a6db6c8d16fc5726ca00000000000000000000000002dba31166c76a9352ed5d5f64572bb019f8258c9a000000000000000000000000000000000000000001fd4d055a2cbcce22ab84d2df89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002dba31166c76a9352ed5d5f64572bb019f8258c9a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000c8829ec02b3e3c6f879942dba31166c76a9352ed5d5f64572bb019f8258c9e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000113dc075eeddbc2e58cc8041d000000000000000000000000000000000000000000000000605cbcdc3f7c6f09f8fc942dba31166c76a9352ed5d5f64572bb019f8258c9f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000001fd4d055a2cbcce22ab84d2d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c8829ec02b3e3c6f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca0000000000000000000000000000000000000000000000000000805398cce879cf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000c8024b275e55c2a","gas_used":191263}},{"traces":{"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x6968676661ac9851c38907bdfcc22d5dd77b564d":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000d","0xc61a4b05225c3cddc10333c4abf1be474001ee6947b9c08b31de30c64166bbb5","0x5627aacfef0df22240d75bbc0cf75454cb4c895d7c4a342de670b2a487997e33","0xe9136de106a1bf3ea13d501adf11091c694c6bf7cc9f5fbc2f9686cd5f8225f4","0xdf9e10b25dafc80fedbd29be61b877c8bafdfd7125892d3e29778e2c8b046ab8","0x0000000000000000000000000000000000000000000000000000000000000012","0x6e483ffc2384d2d2357812d7e3ba6785be00c114086905577f3f1a14f81f894b","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000013","0x0be203a5ccb20662bb0c632658683b0f8682875c31f2c5f86af3fac151d421b7","0x8bdb20f05079f4811650c3cbc4f85039d4f90b601ee62b5b518392ab9b8c4290","0x0000000000000000000000000000000000000000000000000000000000000005","0x000000000000000000000000000000000000000000000000000000000000000f","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc","0x000000000000000000000000000000000000000000000000000000000000000a","0x000000000000000000000000000000000000000000000000000000000000000e"],"storage_written":{"0x5627aacfef0df22240d75bbc0cf75454cb4c895d7c4a342de670b2a487997e33":"0x5acfe4a04e4c48167a","0x8bdb20f05079f4811650c3cbc4f85039d4f90b601ee62b5b518392ab9b8c4290":"0x48085d6d4448c013bdafd","0xdf9e10b25dafc80fedbd29be61b877c8bafdfd7125892d3e29778e2c8b046ab8":"0x212944f0be71dd1943eb","0x000000000000000000000000000000000000000000000000000000000000000d":"0x2419","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc":"0x0"},"code_usage":{"read":"0x9d2fdad12ff49145bbc9d234cf04ffea01540875d0ceb41cb00df6f86117b674"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834ddbf51cbb0c34"},"0x23b8bfed8257efdcaf75a3f1cb57cabd3d3d9f29":{"balance":"0x61ed57285505eb","nonce":"0x71"},"0x530433ee503a05c5dfc9ccac7740df230ee3adbd":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b00000000000188ba0ac14590c0bb000000048085d6d4448c013bdafd","0x000000000000000000000000000000000000000000000000000000000000000a":"0x9411ae0bc9b913fcd1e9bf26ea5805896e24724","0x0000000000000000000000000000000000000000000000000000000000000009":"0x1a31ec817c46f5b5a4ee15596852f0"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x2439485299f531a497139","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0xfc210baf44e48bc6f489657f908a34cf3bd0d95f37b2c69f358ea6ee4d0431d6"],"storage_written":{"0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0","0xfc210baf44e48bc6f489657f908a34cf3bd0d95f37b2c69f358ea6ee4d0431d6":"0x188ba0ac14590c0bb"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}}},"meta":{"byte_code":"0x02f9043a0170843814fea085023a1b71b9830458e9943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880b1a2bc2ec500000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd7b00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000002119004a7799a0a9339900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006968676661ac9851c38907bdfcc22d5dd77b564d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000006968676661ac9851c38907bdfcc22d5dd77b564d00000000000000000000000077777d91c0b8ec9984a05302e4ef041dccf77fee000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000600000000000000000000000006968676661ac9851c38907bdfcc22d5dd77b564d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000020d55568d696869a67b7c080a058570fc533866fddeeabc026a01d7175a524da6cfb38aa0910031cbb4334d520a04eb6b904d161f004178057ef5760fe9e9fb0ff629a4745f3652132d8b15cd119","new_txn_trie_node_byte":"0x02f9043a0170843814fea085023a1b71b9830458e9943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880b1a2bc2ec500000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd7b00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000b1a2bc2ec500000000000000000000000000000000000000000000000002119004a7799a0a9339900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006968676661ac9851c38907bdfcc22d5dd77b564d00000000000000000000000000000000000000000000000000000000000000600000000000000000000000006968676661ac9851c38907bdfcc22d5dd77b564d00000000000000000000000077777d91c0b8ec9984a05302e4ef041dccf77fee000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000600000000000000000000000006968676661ac9851c38907bdfcc22d5dd77b564d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000020d55568d696869a67b7c080a058570fc533866fddeeabc026a01d7175a524da6cfb38aa0910031cbb4334d520a04eb6b904d161f004178057ef5760fe9e9fb0ff629a4745f3652132d8b15cd119","new_receipt_trie_node_byte":"0xb9057802f905740183e9b6d4b9010000200000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000002000800080000000000000000000000000000080000000000000008000000200400000000000000801082008020000000000000000000000000000000000000000000000000000000000010000000000000000010000000000000000000000000400201000000080002004000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000010000000000000001000000000000001000000220000000000000000000040000000001040000000400000000000000000f90469f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000b1a2bc2ec500000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000530433ee503a05c5dfc9ccac7740df230ee3adbda00000000000000000000000000000000000000000000000000b1a2bc2ec500000f89b946968676661ac9851c38907bdfcc22d5dd77b564df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000530433ee503a05c5dfc9ccac7740df230ee3adbda00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000216dbb2c7dea861b8898f87994530433ee503a05c5dfc9ccac7740df230ee3adbde1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000048085d6d4448c013bdafd00000000000000000000000000000000000000000000000188ba0ac14590c0bbf8fc94530433ee503a05c5dfc9ccac7740df230ee3adbdf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1a2bc2ec50000000000000000000000000000000000000000000000000216dbb2c7dea861b88980000000000000000000000000000000000000000000000000000000000000000f89b946968676661ac9851c38907bdfcc22d5dd77b564df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000077777d91c0b8ec9984a05302e4ef041dccf77feea0000000000000000000000000000000000000000000000044763bbf78a90244adf89b946968676661ac9851c38907bdfcc22d5dd77b564df863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000023b8bfed8257efdcaf75a3f1cb57cabd3d3d9f29a000000000000000000000000000000000000000000000212944f0be71dd1943eb","gas_used":189185}},{"traces":{"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xda4c637164a9f0f3f1616df93f2e183bc2a9f053":{"balance":"0x12d6ec7f396381","nonce":"0x18"},"0x5523d3c98809dddb82c686e152f5c58b1b0fb59e":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x7534addbe2057328ea059c5a5ecb39b54533b67b8265872fb2f1a481b76a178a","0x0000000000000000000000000000000000000000000000000000000000000002"],"storage_written":{"0x7534addbe2057328ea059c5a5ecb39b54533b67b8265872fb2f1a481b76a178a":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x220a"},"code_usage":{"read":"0x97d5d64afb4aa7c7eabc5c7902baabd0133ed3678dc533fee47bf0e8201dbe2c"}},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x21bf9ebb6ea41540c0226143d0f58b02e1c97f25b96c319e8967d2b3b94ea080","0xcbb78acbfb147f4a87ab846d7d104e940854f7d46e5312d8c9bce25e5c668680","0xd77e466e647b0b17fa2a2f26b0f0463b29ff925902b06df0ca38f47e611ff59c","0x2f9d2f5249d77b46037e05c8be02b7255b3a63096879a428f8cf21044505e15a","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x1d81df87c868253a09204dfcfdbc68dc401795f24182153edbd2ee4f1bfb5d00","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0xd77e466e647b0b17fa2a2f26b0f0463b29ff925902b06df0ca38f47e611ff59c":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffd5b8031947c0","0x2f9d2f5249d77b46037e05c8be02b7255b3a63096879a428f8cf21044505e15a":"0x38bc79283","0xcbb78acbfb147f4a87ab846d7d104e940854f7d46e5312d8c9bce25e5c668680":"0x0","0x21bf9ebb6ea41540c0226143d0f58b02e1c97f25b96c319e8967d2b3b94ea080":"0x0","0x1d81df87c868253a09204dfcfdbc68dc401795f24182153edbd2ee4f1bfb5d00":"0x0"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x0000000000489d89d2b233d3375c045dfd05745f":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"code_usage":{"read":"0x38d7ed47ea73693638f80631b5dd54b8d914cfc65884f6e21a27a334c722e154"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834e4420c3ec3814"}},"meta":{"byte_code":"0x02f902b20117843814fea085024f169cfd83038556940000000000489d89d2b233d3375c045dfd05745f80b90244c2288147000000000000000000000000da4c637164a9f0f3f1616df93f2e183bc2a9f053000000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000011ee5faa000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000011ee49416000000000000000000000000000000000000000000000000000000006687dd8300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831000000000000000000000000000000000000000000000000000000011ec9f7cc000000000000000000000000000000000000000000000000000000006688136b00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000c080a0c1492755026427b332a0db962159707b99cfa4db16c71d5fdc6bd884f39f822ea030df453adb5c922df1ca05166c0b4469c1f3c6a52e4dd1a953e7ac6a2fccd633","new_txn_trie_node_byte":"0x02f902b20117843814fea085024f169cfd83038556940000000000489d89d2b233d3375c045dfd05745f80b90244c2288147000000000000000000000000da4c637164a9f0f3f1616df93f2e183bc2a9f053000000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000011ee5faa000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000000000000000000000000000000000011ee49416000000000000000000000000000000000000000000000000000000006687dd8300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831000000000000000000000000000000000000000000000000000000011ec9f7cc000000000000000000000000000000000000000000000000000000006688136b00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000c080a0c1492755026427b332a0db962159707b99cfa4db16c71d5fdc6bd884f39f822ea030df453adb5c922df1ca05166c0b4469c1f3c6a52e4dd1a953e7ac6a2fccd633","new_receipt_trie_node_byte":"0xb9054902f905450183eb9257b9010000000000040000000008000000800000000000000000000000000000000000000000000000000000000000101000000000000000002000008000000000000000000000000000000008800008000080000000000000000000000000000000000000000000000000000000000000000000000000000080000000000010000002000000000000000000000000000000000000001000010000000200000000000000000000000000200010000000800000000000000000000000000000000000000000000002020000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000001000000000000000000000000f9043af89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000da4c637164a9f0f3f1616df93f2e183bc2a9f053a00000000000000000000000000000000000489d89d2b233d3375c045dfd05745fa0000000000000000000000000000000000000000000000000000000011ee5faa0f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000489d89d2b233d3375c045dfd05745fa00000000000000000000000005523d3c98809dddb82c686e152f5c58b1b0fb59ea0000000000000000000000000000000000000000000000000000000011ee5faa0f902fd945523d3c98809dddb82c686e152f5c58b1b0fb59ef863a0120ea0364f36cdac7983bcfdd55270ca09d7f9b314a2ebc425a3b01ab1d6403aa0e8f3825a1bc401cdb54028cb8b6603087d9567bcce571b7c28a903bf5a89b94aa0000000000000000000000000da4c637164a9f0f3f1616df93f2e183bc2a9f053b9028000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831000000000000000000000000000000000000000000000000000000011ee5faa0000000000000000000000000000000000000000000000000000000011ec9f7cc000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000a4b1000000000000000000000000da4c637164a9f0f3f1616df93f2e183bc2a9f053000000000000000000000000da4c637164a9f0f3f1616df93f2e183bc2a9f053000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831000000000000000000000000000000000000000000000000000000011ee5faa0000000000000000000000000000000000000000000000000000000011ec9f7cc00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006688136b0000000000000000000000000000000000000000000000000000000000002209","gas_used":121731}},{"traces":{"0x2f7c06f4bae0aa214493cdbd4288b84890748029":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000008","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000007":"0x12c62aa34bde6452c313"},"code_usage":{"read":"0x508e1a86efa6b8e34e7e1fbf8df4a1a2d913a6404687d1a4acaa34db589833ee"}},"0x408505ec4bb812b9b649a653390a7b683cea3d54":{"balance":"0x93148713168a444","nonce":"0x8f"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834e8827fb693d14"},"0xb61915609e6dc7a7261b678073c53bac5875a8b4":{"code_usage":{"read":"0x38811327152d048528726856ec9f9b80c0f93a4780114ca40e34f959356d0e0b"}},"0x1e4746dc744503b53b4a082cb3607b169a289090":{"storage_read":["0xd12b2236bfd275b0175381ecc72eb6f1fc1a68b62605a56ece46166be27e4deb","0x702d65aa7cee25327a5e893c681e196b03cec1fe3bc2574ba4af10c4d3915aaf"],"storage_written":{"0xd12b2236bfd275b0175381ecc72eb6f1fc1a68b62605a56ece46166be27e4deb":"0x1084d9ff2b9e9fb62aed","0x702d65aa7cee25327a5e893c681e196b03cec1fe3bc2574ba4af10c4d3915aaf":"0x12079b2ce3bbd6bec33"},"code_usage":{"read":"0x3ff3ca5002ce379643eed17da38e3fab8b5203006f15104f086c8ce5c480f198"}}},"meta":{"byte_code":"0x02f8b201818e843814fea085024f169cfd83013a0a942f7c06f4bae0aa214493cdbd4288b8489074802980b844aad3ec96000000000000000000000000408505ec4bb812b9b649a653390a7b683cea3d5400000000000000000000000000000000000000000000012079b2ce3bbd6bec33c080a00787eea853fc60033b7e2d0c7c4e41106f53bb5c435383547617ae70f0eb6d9ca050e7ff6f8af9127f8b0e646b7597ea90e19202f138b79b878b0f075cb6729735","new_txn_trie_node_byte":"0x02f8b201818e843814fea085024f169cfd83013a0a942f7c06f4bae0aa214493cdbd4288b8489074802980b844aad3ec96000000000000000000000000408505ec4bb812b9b649a653390a7b683cea3d5400000000000000000000000000000000000000000000012079b2ce3bbd6bec33c080a00787eea853fc60033b7e2d0c7c4e41106f53bb5c435383547617ae70f0eb6d9ca050e7ff6f8af9127f8b0e646b7597ea90e19202f138b79b878b0f075cb6729735","new_receipt_trie_node_byte":"0xb9022802f902240183ecc8dfb9010000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000004000000010000000000100000000000000020000840000000000000008000000000000000000000000000000000000000000000000000000000001000000000400000000000000000000000010000000000000000000000000000000000400002000000000000000001000000000000000000040000000000000000000000000000000000000020000100000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f90119f89b941e4746dc744503b53b4a082cb3607b169a289090f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002f7c06f4bae0aa214493cdbd4288b84890748029a0000000000000000000000000408505ec4bb812b9b649a653390a7b683cea3d54a000000000000000000000000000000000000000000000012079b2ce3bbd6bec33f87a942f7c06f4bae0aa214493cdbd4288b84890748029f842a047cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4a0000000000000000000000000408505ec4bb812b9b649a653390a7b683cea3d54a000000000000000000000000000000000000000000000012079b2ce3bbd6bec33","gas_used":79496}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0xc20ef27d862f70357104ed3949611988bb57228b6e403f74eb803ccbcb63fc68","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xb6cf6fd3e81feccc2dd92969720262050af7726d45d5b020bed87c50af07c500","0x176f30b4d712ea6ee863d19907381f397cd286e6e5ccfc653e62d86e618d33fa"],"storage_written":{"0x176f30b4d712ea6ee863d19907381f397cd286e6e5ccfc653e62d86e618d33fa":"0x6e44c280","0xb6cf6fd3e81feccc2dd92969720262050af7726d45d5b020bed87c50af07c500":"0xa6e49c0"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834ebe3f3332bcb4"},"0x8863c1add31766d98d8257c62ec89d92ffb5da3e":{"balance":"0x53da70f8c1018af","nonce":"0x195"}},"meta":{"byte_code":"0x02f8b301820194843814fea085024f169cfd8301774094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000084bd291249d8a92c8bb3aa073c84b1f0d27b1121000000000000000000000000000000000000000000000000000000006e44c280c001a013b507b6ea571ead6d862407c2c57374db82203c8352134f0c70f284f920ef55a0661398b56aaad47ef95a0dd9e0f55f4b8ca8819d12292d613964ab3a9348ecb9","new_txn_trie_node_byte":"0x02f8b301820194843814fea085024f169cfd8301774094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000084bd291249d8a92c8bb3aa073c84b1f0d27b1121000000000000000000000000000000000000000000000000000000006e44c280c001a013b507b6ea571ead6d862407c2c57374db82203c8352134f0c70f284f920ef55a0661398b56aaad47ef95a0dd9e0f55f4b8ca8819d12292d613964ab3a9348ecb9","new_receipt_trie_node_byte":"0xb901ab02f901a70183edbfc8b9010000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000004000400000000000000000000000000000000000002000000000000000000020000000000002000000000000000000000000080000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008863c1add31766d98d8257c62ec89d92ffb5da3ea000000000000000000000000084bd291249d8a92c8bb3aa073c84b1f0d27b1121a0000000000000000000000000000000000000000000000000000000006e44c280","gas_used":63209}},{"traces":{"0x43305382781d9ad351923b8748da7037a160f677":{"balance":"0x5c8a1899d1b7211ff"},"0x37858402f90ecf6efe1f7d894f5ddb0b19a85e44":{"code_usage":{"read":"0x1465b25a7f7b6bb0c4ed785dbc754fd88f93b5ef5a2c217ceb2eb868760f042b"}},"0x428fce310520be4a556edf125e1fde017e1b292a":{"code_usage":{"read":"0x0355f2d97fa8e412f7845cf689ff25dd22df15a0e31d8b083f949da69b00f0df"}},"0xcb6767ad20ef5e808c0c20a95c3cc2fe1674b34f":{"storage_read":["0x975ab77ec4252edf17b66365eef9e11a909b823c8d4d6fe8b5840a5c15a109d3","0x73d3105b92ae9fbd8cfb332a89d43eef25531c5299a205f2357f60c321a115af","0x03fc19832df15cccfc22d6c1176bc6092e6e1cdebf6e72e4f417fc07366ef177"],"code_usage":{"read":"0x5f6e457b1e5c5683386a796eb62863d439cd5eef404731a3622ab69a91377ad7"}},"0x3a0b646ae29fbfd4c8e027bdb85d506a9a156a63":{"code_usage":{"read":"0xe46f4bf73b1a2508d018d129306db914d9dd697c4a628a182493008f48dfd003"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x834eea185d6785b4"},"0xcd9b53098d9169c5da8d038a25e98d0b0be7ccbd":{"balance":"0x11f01fed65f55179","nonce":"0xe5"},"0xe0156b254de8b7e998aacad649771c84e2bbe0fe":{"code_usage":{"read":"0x95793e5ad3e2833b321bbf415794439fff8d5df7720b9b4a5635c34aebb48bf1"}}},"meta":{"byte_code":"0x02f8740181e4843814fea085024f169cfd83015c8e94428fce310520be4a556edf125e1fde017e1b292a8718bbd6a499e40080c080a00632f2f34ec1d64f1f8a17e973034fec566c803c6b27a1f2e7fa3822e58ab7eaa02a4896fc861c08f52b5db834299f8a1127895dc10740bee61a1dcf7194270c4a","new_txn_trie_node_byte":"0x02f8740181e4843814fea085024f169cfd83015c8e94428fce310520be4a556edf125e1fde017e1b292a8718bbd6a499e40080c080a00632f2f34ec1d64f1f8a17e973034fec566c803c6b27a1f2e7fa3822e58ab7eaa02a4896fc861c08f52b5db834299f8a1127895dc10740bee61a1dcf7194270c4a","new_receipt_trie_node_byte":"0xb9018902f901850183ee87f0b9010000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000040000000000000000020000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000f87bf87994e0156b254de8b7e998aacad649771c84e2bbe0fee1a0541643342e74eb4d6b8af5ccc861b1eb40efcd85cddf61975feb1bc0be7fcdd2b840000000000000000000000000428fce310520be4a556edf125e1fde017e1b292a0000000000000000000000000000000000000000000000000018bbd6a499e400","gas_used":51240}},{"traces":{"0x764355a8cc85d9144beaa5ef29bc823f4149146c":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b00000000000021f8d97c4000497a000000025b2780f3f1bd3b6e98be","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x9345a8611475979696acca67eacb659aed32e71b":{"balance":"0xf07ff29cf3f4e29","nonce":"0x1a"},"0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49":{"balance":"0x5c3b70db6b35f72a","storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000001","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x5c3b70db6b35f72a"},"code_usage":{"read":"0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e"}},"0x241423640f5bfd019f885e9b6b544145f96bd6cc":{"code_usage":{"read":"0xba760604c9edb98f15680f47d56043cf15cdef34433e8391c07a00cbbf05a7de"}},"0x5d3e8fca236461a159c93fe62b572444805869d3":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000014","0x000000000000000000000000000000000000000000000000000000000000000c","0x865730656592165032e439332c7de343da13885988a5cf4e1416889ffed59906","0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000011","0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000000000000000000000000000000000000000000e","0x0000000000000000000000000000000000000000000000000000000000000006","0x7ec54d766f528d325375a8ebaf4337b65e22bde30c0ebe9051390046e4a9b729","0x7b67b5194503314e85385637200508f4b17aee7ea8293adc6304faf14a745a0e","0x000000000000000000000000000000000000000000000000000000000000000a","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000012","0x0000000000000000000000000000000000000000000000000000000000000013","0x4bf7493e925fef6dd3293644093c5bb2a5b1bd714284d153add6d8e712cda3cd","0x5335c954858b8603f4a1b3f347bcc20134beadd5f617217ea1d0651c7bbbe512"],"storage_written":{"0x865730656592165032e439332c7de343da13885988a5cf4e1416889ffed59906":"0x0","0x5335c954858b8603f4a1b3f347bcc20134beadd5f617217ea1d0651c7bbbe512":"0xffffffffffffffffffffffffffffffffffffffffffffd169c6aea9f4ae7fffff","0x7ec54d766f528d325375a8ebaf4337b65e22bde30c0ebe9051390046e4a9b729":"0x10011b93b4607b7581b01","0x7b67b5194503314e85385637200508f4b17aee7ea8293adc6304faf14a745a0e":"0x0","0x0000000000000000000000000000000000000000000000000000000000000014":"0x10001764355a8cc85d9144beaa5ef29bc823f4149146c","0x4bf7493e925fef6dd3293644093c5bb2a5b1bd714284d153add6d8e712cda3cd":"0x25b2780f3f1bd3b6e98be"},"code_usage":{"read":"0x211c44f6245a856af764afbd8786c969d5b8cb815b3c68f15e6dfda2ed7b9684"}},"0x7a250d5630b4cf539739df2c5dacb4c659f2488d":{"code_usage":{"read":"0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x243947fca32d696a53907","storage_read":["0x886d18740f4a8f91550141bd1fa130e7cf96c012d2a4ffddb833473864b6a753","0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8","0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea"],"storage_written":{"0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8":"0x0","0x886d18740f4a8f91550141bd1fa130e7cf96c012d2a4ffddb833473864b6a753":"0x21f8d97c4000497a","0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xc465cc50b7d5a29b9308968f870a4b242a8e1873":{"code_usage":{"read":"0x7b287ee78288945f2c3ccb923d99243bbf70d6040de54ddeec372457739a4612"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8375b595a22abdb4"},"0xac903c77b64c827dbd19ccedb29204725e032f4e":{"balance":"0x2e4ba95d7e2e8ac3"}},"meta":{"byte_code":"0x02f902730119850a3e9ab800850cfada8ffb83080b41943328f7f4a1d1c57c35df56bbf0c9dcafca309c4980b9020475713a080000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e18730000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687db3b0000000000000000000000000000000000000000000000000000000000000000c001a07d21e9842540c267665d8a5ce663d8b4e03c3f69ca081cff165116dbb06ab07da031e53406b8c74c39e07eed36efa44b83a6b8558d652a76cffc5ab7659840181e","new_txn_trie_node_byte":"0x02f902730119850a3e9ab800850cfada8ffb83080b41943328f7f4a1d1c57c35df56bbf0c9dcafca309c4980b9020475713a080000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e18730000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000064000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687db3b0000000000000000000000000000000000000000000000000000000000000000c001a07d21e9842540c267665d8a5ce663d8b4e03c3f69ca081cff165116dbb06ab07da031e53406b8c74c39e07eed36efa44b83a6b8558d652a76cffc5ab7659840181e","new_receipt_trie_node_byte":"0xb90a3902f90a350183f25161b9010000200000020000000004000080000000000000008001000002010000002200000000040000000000000000000800000002000000080000200000600000200000000000000000000000000008400080200000000000400000000000000004000000000000000000000000000000000000000000000000040080000010010000001000000000000000004020002000000000000000000000080000004000000000020000000000000000005000000000080000000000000000040000040000000000000002000000000000000000000000004000000000003000000002000020000010200000000000000000000010000000080000000000800000000000000000f9092af89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000023ffb7ed6565d6400000f89b945d3e8fca236461a159c93fe62b572444805869d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3a0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca00000000000000000000000000000000000000000000023ffb7ed6565d6400000f89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000005d3e8fca236461a159c93fe62b572444805869d3a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000289a5f96d140a67f87994764355a8cc85d9144beaa5ef29bc823f4149146ce1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000022c9147a29bb1e9ee98be00000000000000000000000000000000000000000000000024ce9fff56907745f8fc94764355a8cc85d9144beaa5ef29bc823f4149146cf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488db8800000000000000000000000000000000000000000000023ffb7ed6565d6400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000289a5f96d140a67f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000289a5f96d140a67f89b945d3e8fca236461a159c93fe62b572444805869d3f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009345a8611475979696acca67eacb659aed32e71ba0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca0000000000000000000000000000000000000000000002e963951560b51800000f89b945d3e8fca236461a159c93fe62b572444805869d3f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000009345a8611475979696acca67eacb659aed32e71ba0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0ffffffffffffffffffffffffffffffffffffffffffffd169c6aea9f4ae7ffffff89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000764355a8cc85d9144beaa5ef29bc823f4149146ca00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a000000000000000000000000000000000000000000000000002d5c68316902dcbf87994764355a8cc85d9144beaa5ef29bc823f4149146ce1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000025b2780f3f1bd3b6e98be00000000000000000000000000000000000000000000000021f8d97c4000497af8fc94764355a8cc85d9144beaa5ef29bc823f4149146cf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49b880000000000000000000000000000000000000000000002e963951560b518000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d5c68316902dcbf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a000000000000000000000000000000000000000000000000002d5c68316902dcbf899943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a072015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499fb860000000000000000000000000000000000000000000000000000741fc30dd9a0e0000000000000000000000009345a8611475979696acca67eacb659aed32e71b0000000000000000000000000000000000000000000000000000000000000005f858943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a0522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade97a000000000000000000000000000000000000000000000000002d5c68316902dcb","gas_used":248177}},{"traces":{"0xb032ca260b1cabd144f47825c6ae32fb3026f12c":{"code_usage":{"read":"0x5fecca1d33017c3a2aadcaa68dcaa06d75ad686f618d4025c885402f87a19030"}},"0xbd2df7c75fa81390b32833cd30b1f792b71591b7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000010","0x0000000000000000000000000000000000000000000000000000000000000004","0xd143dbd9d52f6c1110738fe123d56a0da53e48385bb407540f02bf32c6f33c0c","0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5","0x0000000000000000000000000000000000000000000000000000000000000008","0x0e7aafd033764ddf4e711e8a44013c9cb38464d8a02425b85d00fce80b781fd6","0x0000000000000000000000000000000000000000000000000000000000000011","0x000000000000000000000000000000000000000000000000000000000000000e"],"storage_written":{"0x0e7aafd033764ddf4e711e8a44013c9cb38464d8a02425b85d00fce80b781fd6":"0x1","0xd143dbd9d52f6c1110738fe123d56a0da53e48385bb407540f02bf32c6f33c0c":"0x8ea6731f4c5cc40838cf370020322a4e91486db4","0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5":"0x7ffffffffffffffffffffffffffffffffffffffffffffffc0000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004":"0xbe","0x0000000000000000000000000000000000000000000000000000000000000008":"0x1","0x5a13ae95e5c715f117876bd5488683fd01e341cc02e4f241f2bef03b29cb2eb5":"0x1"},"code_usage":{"read":"0xce182ff1629341dbcc067920a695113e8b0ed13b1e3b6c7b0c93e7c608acd014"}},"0x4c563376f58f943a1a4ffb94f14dd73a96f30167":{"balance":"0x3d4eae1efddf72","nonce":"0x185"},"0x8ea6731f4c5cc40838cf370020322a4e91486db4":{"code_usage":{"read":"0x8657579d47da0de8218b84dbc1d0f71d5f1728de43e58022f6fb264101a38e45"}},"0x9eb8788bea8beeb00427b3cbfa826048c0b4b343":{"code_usage":{"read":"0x48e78c180ad3013f82b9542f164caf11f77100c8f791e8b4e9f565a3570beabe"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8376cb86ad9c3db4"}},"meta":{"byte_code":"0x02f8b301820184849502f9008503ad9d13048302eb8a94bd2df7c75fa81390b32833cd30b1f792b71591b780b844c349026300000000000000000000000000000000000000000000000000000000000003ae0000000000000000000000000000000000000000000000000000000000000001c001a02f6a697e4c41103f2e8087975fb91da6e61eb0573dacda692b9e47280d338f48a0738fd8a97faedb70327dad90572d42a58e83a9c0860b7fa869d75181668e246e","new_txn_trie_node_byte":"0x02f8b301820184849502f9008503ad9d13048302eb8a94bd2df7c75fa81390b32833cd30b1f792b71591b780b844c349026300000000000000000000000000000000000000000000000000000000000003ae0000000000000000000000000000000000000000000000000000000000000001c001a02f6a697e4c41103f2e8087975fb91da6e61eb0573dacda692b9e47280d338f48a0738fd8a97faedb70327dad90572d42a58e83a9c0860b7fa869d75181668e246e","new_receipt_trie_node_byte":"0xb901ac02f901a80183f42ee1b9010000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000020000000000000000000800000000000000000000000010000000000000004000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000004000000000000000000000000000100000000000020000000000000004000000000000000000000100000000000000000000000200000f89ef89c94bd2df7c75fa81390b32833cd30b1f792b71591b7f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000008ea6731f4c5cc40838cf370020322a4e91486db4a000000000000000000000000000000000000000000000000000000000000000bd80","gas_used":122240}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837761298a020bd4"},"0xf6ce4be313ead51511215f1874c898239a331e37":{"storage_read":["0x000000000000000000000000000000000000000000000000000000000000000e","0x0000000000000000000000000000000000000000000000000000000000000014","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000010","0x000000000000000000000000000000000000000000000000000000000000000a","0x561aac319d443eff2356bd4f120e6a6adaa500ea5fc060f65f8428336f888f22","0x0000000000000000000000000000000000000000000000000000000000000000","0xca242f9bc4e952f060798872b4d6fd3c8488111b5db3f3c7ac74e2573820fe85","0x000000000000000000000000000000000000000000000000000000000000000d","0xbdf071166bb2628d988730b4438c1c8dc49cd25ff8e7689f97b710329a99971a","0x89d251e90973e2be2bd4c76e0d88d25fe6f782ec80a0de80a136e24e1e222ac2","0x1510d9214f227226d818ad648be7a2e0634db540481736675ac047ca90fe1cd7","0xc4240895e86eac6ac2b52490b5fb2878e9aef1faf77063d746dba194cb98a69b","0x11234190717ef1d3c4e2cfd4321470b7159a7441273729cfb45569397b76f4ef","0x0000000000000000000000000000000000000000000000000000000000000013","0x3bba9108b904cfb969b317a6a0847c2d13a92bb924e87f843935fe7b8f315911","0x31a093fb70196bdd4d514fdb6d181ba6f98527f5746c698ec2db1c4a900145ce","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x1510d9214f227226d818ad648be7a2e0634db540481736675ac047ca90fe1cd7":"0x0","0xc4240895e86eac6ac2b52490b5fb2878e9aef1faf77063d746dba194cb98a69b":"0x13f7c9eab04ce6af3","0x000000000000000000000000000000000000000000000000000000000000000e":"0x69b9","0x31a093fb70196bdd4d514fdb6d181ba6f98527f5746c698ec2db1c4a900145ce":"0x1566f9c100a882c","0x3bba9108b904cfb969b317a6a0847c2d13a92bb924e87f843935fe7b8f315911":"0x2014aa846bb042"},"code_usage":{"read":"0x1bd485b0548e20c6b6885a871cb146586bec3073d3130dc5b4afb6761bffecc8"}},"0x47270ca9a3cdf198d26a847b577e9bbdd96a082a":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0x52da8f47d00bb4cc56347c460e29fafeae8","0x000000000000000000000000000000000000000000000000000000000000000a":"0x1dbc54471e1d54ad0c3144d60a025618e9c","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b0000000000013f7c9eab04ce6af30000000000037f7b5ed199d68e33"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24394821b80741422b907","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0xb88cb5eb01b5aa7ccc737bbad5511d6c410c23115a4e97293d93f2ed7ae85064"],"storage_written":{"0xb88cb5eb01b5aa7ccc737bbad5511d6c410c23115a4e97293d93f2ed7ae85064":"0x37f7b5ed199d68e33","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x74d7fa5b326e54053211a436ee4912c4462c1279":{"balance":"0x11ba2ee06e0857e","nonce":"0x3"}},"meta":{"byte_code":"0x02f9043a0102843814fea085024f169cfd83040d46943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8802514d9d7d7d8000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd6300000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000002514d9d7d7d80000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000002514d9d7d7d800000000000000000000000000000000000000000000000000000d20b2cff0b021c00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f6ce4be313ead51511215f1874c898239a331e370000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f6ce4be313ead51511215f1874c898239a331e37000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f6ce4be313ead51511215f1874c898239a331e37000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000d184bf719afb10c080a0cf707e1a0c4abaf2c9bc325eab095da3ea83c67a705cd09141a05a2a9102c2f6a047d8275c10179e7ca6bef37719c4e70f5de2114e78672d8e4724055b6e17822a","new_txn_trie_node_byte":"0x02f9043a0102843814fea085024f169cfd83040d46943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8802514d9d7d7d8000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd6300000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000002514d9d7d7d80000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000002514d9d7d7d800000000000000000000000000000000000000000000000000000d20b2cff0b021c00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f6ce4be313ead51511215f1874c898239a331e370000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f6ce4be313ead51511215f1874c898239a331e37000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000f6ce4be313ead51511215f1874c898239a331e37000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000d184bf719afb10c080a0cf707e1a0c4abaf2c9bc325eab095da3ea83c67a705cd09141a05a2a9102c2f6a047d8275c10179e7ca6bef37719c4e70f5de2114e78672d8e4724055b6e17822a","new_receipt_trie_node_byte":"0xb9057802f905740183f6d9eeb901000020000000000000000000008000000000000000008000000000000000000000000000000000000000000000000000000a000000080000000000000000000000000000080000040000000008000000200000000000000000004000008020020000000000000000200000000000000000000010000000000000010010000000000000000000000000000000000022000000000001000000080000004000000000000000000000020800000000000000000000000000000000000000000000000001000002000000000000000000000000000000000000001000000000000000000000200000000000000000040000000000001000000000c00000000000000000f90469f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000002514d9d7d7d8000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000047270ca9a3cdf198d26a847b577e9bbdd96a082aa000000000000000000000000000000000000000000000000002514d9d7d7d8000f89b94f6ce4be313ead51511215f1874c898239a331e37f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000047270ca9a3cdf198d26a847b577e9bbdd96a082aa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000d396d234fce6c9f8799447270ca9a3cdf198d26a847b577e9bbdd96a082ae1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000037f7b5ed199d68e330000000000000000000000000000000000000000000000013f7c9eab04ce6af3f8fc9447270ca9a3cdf198d26a847b577e9bbdd96a082af863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb88000000000000000000000000000000000000000000000000002514d9d7d7d80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d396d234fce6c9f89b94f6ce4be313ead51511215f1874c898239a331e37f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca00000000000000000000000000000000000000000000000000000876ac3f8f3c6f89b94f6ce4be313ead51511215f1874c898239a331e37f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000074d7fa5b326e54053211a436ee4912c4462c1279a000000000000000000000000000000000000000000000000000d30f677103f303","gas_used":174861}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8377ea7fb3ac0cd4"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24394836e08ab24301f1d","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x04d13e916793bde5fcf5526e50a9bcf9aa246a01345b3178529af0f521376e0f"],"storage_written":{"0x04d13e916793bde5fcf5526e50a9bcf9aa246a01345b3178529af0f521376e0f":"0x4104445d6413b322a1","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x576e2bed8f7b46d34016198911cdf9886f78bea7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x03839a545c7e2915859db2116ec037ad31fa8366bb31f1f897b4450b663347cd","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000016","0x0000000000000000000000000000000000000000000000000000000000000011","0x450cb9ec9774fa227628d3eeab6682793ca5080c07059248dba8dab801bd3b60","0x0000000000000000000000000000000000000000000000000000000000000012","0x29b65e180e9fb871e0d0eb4bfdab825c6bf6214b0a82ddd9496a02d68052bcd4","0x971f9b48d4300a657b0cb332e19f215a93ce5f067e481c28c3b9565610979afd","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000010","0x000000000000000000000000000000000000000000000000000000000000000b","0x0000000000000000000000000000000000000000000000000000000000000015"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000010":"0x1e675","0x971f9b48d4300a657b0cb332e19f215a93ce5f067e481c28c3b9565610979afd":"0x24d5eceaef180","0x03839a545c7e2915859db2116ec037ad31fa8366bb31f1f897b4450b663347cd":"0xbd533c5dc","0x29b65e180e9fb871e0d0eb4bfdab825c6bf6214b0a82ddd9496a02d68052bcd4":"0x7a4eaa288f2"},"code_usage":{"read":"0x8c0bb85d75747f004f6fb363d11937109fd3254cd07904b11dc0aec7cb4bc20f"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0x5eaa816b555377b2aac975dc02c688fb17589057":{"balance":"0x1f249e2d3ecd88","nonce":"0x49"},"0xe4b8583ccb95b25737c016ac88e539d0605949e8":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000a":"0x2ac23c716d2be29997e7636c7fdce0c","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b00000000004104445d6413b322a100000000000000024d5eceaef180","0x0000000000000000000000000000000000000000000000000000000000000009":"0x19b24eef608d8584f608611a1654a372882e41c8","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}}},"meta":{"byte_code":"0x02f902fa0148843814fea085024f169cfd83037795943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8801528837100d6616b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd6300000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000001528837100d66160000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000001528837100d66160000000000000000000000000000000000000000000000000000000b86b3b35000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000576e2bed8f7b46d34016198911cdf9886f78bea7c080a061a59ad22320f6ab5dc557381930f7a2d5fe6d852488859f786a173453ba8840a019aeeff194be285521c93b7031647f7a2e1f9dfdc112c7403b76e47815f8e040","new_txn_trie_node_byte":"0x02f902fa0148843814fea085024f169cfd83037795943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8801528837100d6616b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd6300000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000001528837100d66160000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000001528837100d66160000000000000000000000000000000000000000000000000000000b86b3b35000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000576e2bed8f7b46d34016198911cdf9886f78bea7c080a061a59ad22320f6ab5dc557381930f7a2d5fe6d852488859f786a173453ba8840a019aeeff194be285521c93b7031647f7a2e1f9dfdc112c7403b76e47815f8e040","new_receipt_trie_node_byte":"0xb904db02f904d70183f94cd6b9010000200000000000000000000080000000000000000040000000000000000000000000000000100400000000000000000002000000080000000000000000000000000000080000000000000008000000200000000000000000000040008020000000000000000000000000000000000002000000000000000000000014000000000000000000200004000000000000000000000001000000080000004000000000000000000020000000200000000080000000000000000000000000000000000000000002000000000000080000000200000000000000001000000000000000000000200000000000000000000000000080005000000000400000000000000000f903ccf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000001528837100d6616f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000e4b8583ccb95b25737c016ac88e539d0605949e8a000000000000000000000000000000000000000000000000001528837100d6616f89b94576e2bed8f7b46d34016198911cdf9886f78bea7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e4b8583ccb95b25737c016ac88e539d0605949e8a0000000000000000000000000576e2bed8f7b46d34016198911cdf9886f78bea7a0000000000000000000000000000000000000000000000000000000001e9916aff89b94576e2bed8f7b46d34016198911cdf9886f78bea7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e4b8583ccb95b25737c016ac88e539d0605949e8a00000000000000000000000005eaa816b555377b2aac975dc02c688fb17589057a00000000000000000000000000000000000000000000000000000000bd533c5dcf87994e4b8583ccb95b25737c016ac88e539d0605949e8e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000000024d5eceaef18000000000000000000000000000000000000000000000004104445d6413b322a1f8fc94e4b8583ccb95b25737c016ac88e539d0605949e8f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000005eaa816b555377b2aac975dc02c688fb17589057b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001528837100d66160000000000000000000000000000000000000000000000000000000bf3ccdc8b0000000000000000000000000000000000000000000000000000000000000000","gas_used":160488}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83781fc705a1a554"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x550f180de3136441b5c55e3522040ccb366fc9d6":{"balance":"0x6e3a25fde2299c","nonce":"0x21"},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0xfb15ce11194a71a2344a1d73175a723b687ff049dae336a81dcc7f59086d0df0","0xdd03a82a3ea530866b3406487b5cf05122a07c0375eddf5ab9bc7e230b91ca02","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0xdd03a82a3ea530866b3406487b5cf05122a07c0375eddf5ab9bc7e230b91ca02":"0x8893610","0xfb15ce11194a71a2344a1d73175a723b687ff049dae336a81dcc7f59086d0df0":"0x10da88ca"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}}},"meta":{"byte_code":"0x02f8b10120843814fea085023a1b71b9830171ab94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000f7ff73fd0d86ea1bae5d3aeb8678360331158f610000000000000000000000000000000000000000000000000000000008893610c080a092c96b7e9f71e13e1ff989312506429edfc85ea60da29e10157d44f262209a83a06bda3d75b747af39840f6b401aa9a3cfe746246b658adf1380b9822f3c220999","new_txn_trie_node_byte":"0x02f8b10120843814fea085023a1b71b9830171ab94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4880b844a9059cbb000000000000000000000000f7ff73fd0d86ea1bae5d3aeb8678360331158f610000000000000000000000000000000000000000000000000000000008893610c080a092c96b7e9f71e13e1ff989312506429edfc85ea60da29e10157d44f262209a83a06bda3d75b747af39840f6b401aa9a3cfe746246b658adf1380b9822f3c220999","new_receipt_trie_node_byte":"0xb901ab02f901a70183fa400ab9010000000000000100000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000008000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000800000000000000200000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000f89df89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000550f180de3136441b5c55e3522040ccb366fc9d6a0000000000000000000000000f7ff73fd0d86ea1bae5d3aeb8678360331158f61a00000000000000000000000000000000000000000000000000000000008893610","gas_used":62260}},{"traces":{"0x9a85b3e129e57e8cd36079f88b4cdcd9ffb0e795":{"storage_read":["0x4caabd98ee819bedb6a44d5fa2b884f76829fd3f5e3acca4e90d3dbdcc22b66e","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0e0e8bffb2a851a84d4485efa0926dd575e6ac892e051194403e4130f017c24d"],"storage_written":{"0x4caabd98ee819bedb6a44d5fa2b884f76829fd3f5e3acca4e90d3dbdcc22b66e":"0x143cb0ad5bb625cd0600000","0x0e0e8bffb2a851a84d4485efa0926dd575e6ac892e051194403e4130f017c24d":"0x48d8470181e32700000"},"code_usage":{"read":"0x56e7a8514d25f65ab110cf853033fb569d00dcf87374027b8d230afd1541045d"}},"0x234e86cfd20962ae802aafe38590ec84372fd4e5":{"code_usage":{"read":"0xe3d12ec86adf65ac7de0278f3f58445938461f1a35f680a495dfe070baced38b"}},"0x50df241c5c66125d0bdfe6b679015acacab4ecb3":{"balance":"0x5b010e54b6434","nonce":"0x57"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83785230e5053954"}},"meta":{"byte_code":"0x02f8b10156843814fea085024f169cfd83015df9949a85b3e129e57e8cd36079f88b4cdcd9ffb0e79580b844a9059cbb000000000000000000000000e9c92dfcca3cea88d16be206c2b245552b882d9900000000000000000000000000000000000000000000048d8470181e32700000c080a0be55218c8cbfdde6999738cc37920045cd52edac955a405b39533e32615b6bbca04d55ec77341dc7c2949f1b6702aa446cd346cd86da554da8731862ae1d7b8657","new_txn_trie_node_byte":"0x02f8b10156843814fea085024f169cfd83015df9949a85b3e129e57e8cd36079f88b4cdcd9ffb0e79580b844a9059cbb000000000000000000000000e9c92dfcca3cea88d16be206c2b245552b882d9900000000000000000000000000000000000000000000048d8470181e32700000c080a0be55218c8cbfdde6999738cc37920045cd52edac955a405b39533e32615b6bbca04d55ec77341dc7c2949f1b6702aa446cd346cd86da554da8731862ae1d7b8657","new_receipt_trie_node_byte":"0xb901ab02f901a70183fb262ab9010000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000004000008000000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000210000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000040000000f89df89b949a85b3e129e57e8cd36079f88b4cdcd9ffb0e795f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000050df241c5c66125d0bdfe6b679015acacab4ecb3a0000000000000000000000000e9c92dfcca3cea88d16be206c2b245552b882d99a000000000000000000000000000000000000000000000048d8470181e32700000","gas_used":58912}},{"traces":{"0x0211a0abd513ac79c6f4b55b3463485371771cbf":{"balance":"0x39b8712d6370362"},"0xc5ac34bd30339dd57ca00dcac99bb01830e13d41":{"balance":"0x23859cbac48c4ae","nonce":"0x1"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837882421cba6b6c"}},"meta":{"byte_code":"0x02f8730180849601a7838502bd26cde2825208940211a0abd513ac79c6f4b55b3463485371771cbf88025c7471e64ad36280c080a086cd4d878a4b452b45c81154423c745bda32c155da5bbf3584d16566a318e195a05a5e378ae8ef3f9ea99402d2b63ad77237a7c0ab0a7e1c6f096de3a1e52f032d","new_txn_trie_node_byte":"0x02f8730180849601a7838502bd26cde2825208940211a0abd513ac79c6f4b55b3463485371771cbf88025c7471e64ad36280c080a086cd4d878a4b452b45c81154423c745bda32c155da5bbf3584d16566a318e195a05a5e378ae8ef3f9ea99402d2b63ad77237a7c0ab0a7e1c6f096de3a1e52f032d","new_receipt_trie_node_byte":"0xb9010d02f901090183fb7832b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x0000000000a39bb272e79075ade125fd351887ac":{"balance":"0x398cd0d23fea910e319","storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0xf8f3e8257a89ccab0a15c1fe50f6739962ee99acff5dd7e87a2aa6e2f2ddd001"],"storage_written":{"0xf8f3e8257a89ccab0a15c1fe50f6739962ee99acff5dd7e87a2aa6e2f2ddd001":"0x6f05b59d3b20000"},"code_usage":{"read":"0x69402eb12ab1b32c03a5235b68a648dc2ab34240007355668139fa528e1fa885"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8378ad36593bd14c"},"0xdd66f4c19c9d7252f3ff863b13de34d25a00d92d":{"balance":"0x17814d9419e6f0da","nonce":"0x11"},"0x01a656024de4b89e2d0198bf4d468e8fd2358b17":{"code_usage":{"read":"0xc55f39a08e23dffc91cef47002cc166333fd417c96cda40a6e35c92aac5a0f77"}}},"meta":{"byte_code":"0x02f8770110843814fea085024f169cfd82fa3d940000000000a39bb272e79075ade125fd351887ac8806f05b59d3b2000084d0e30db0c080a05821d9c73ccdf6b76f7a43dbdc8ba9728afc9363f5d7dc02f7a16514cfc9980ba04aa8fd8b364022b3dd958c17990216f3bd13149decfddcdeaac18c135723c7ad","new_txn_trie_node_byte":"0x02f8770110843814fea085024f169cfd82fa3d940000000000a39bb272e79075ade125fd351887ac8806f05b59d3b2000084d0e30db0c080a05821d9c73ccdf6b76f7a43dbdc8ba9728afc9363f5d7dc02f7a16514cfc9980ba04aa8fd8b364022b3dd958c17990216f3bd13149decfddcdeaac18c135723c7ad","new_receipt_trie_node_byte":"0xb901ab02f901a70183fc3c45b90100000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000040000000000000080000000080000000000000000000000000000000000000000200000000000000000008000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000080000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000f89df89b940000000000a39bb272e79075ade125fd351887acf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000dd66f4c19c9d7252f3ff863b13de34d25a00d92da000000000000000000000000000000000000000000000000006f05b59d3b20000","gas_used":50195}},{"traces":{"0x67a48192efa471fcb00c3d215a7ebb13ddf3c386":{"balance":"0x2a8c1f4d2710","nonce":"0x3"},"0x2806b5091c142a9b22ae45db013484b4e9abdc05":{"balance":"0x8130eea20cd85"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8378bf2ed373064c"}},"meta":{"byte_code":"0x02f8720102843814fea085024f169cfd825208942806b5091c142a9b22ae45db013484b4e9abdc0587037428d5c4ea8a80c080a040c31f919e33bb800e80769bee7846def6e62e948d13d54cab2fc32dcc2bd46ea06b5d36671062f95880b6df492ebc905690dce305bd89835bf2cf4792f1096dca","new_txn_trie_node_byte":"0x02f8720102843814fea085024f169cfd825208942806b5091c142a9b22ae45db013484b4e9abdc0587037428d5c4ea8a80c080a040c31f919e33bb800e80769bee7846def6e62e948d13d54cab2fc32dcc2bd46ea06b5d36671062f95880b6df492ebc905690dce305bd89835bf2cf4792f1096dca","new_receipt_trie_node_byte":"0xb9010d02f901090183fc8e4db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x2bea0e999b9d3f179128ca34aca667b18a0e7e26":{"balance":"0x1b5b750dcb69626"},"0xfbe122afe53aee7d12e77e0ed4d2e9e61f37d9f1":{"balance":"0xd1ab911d00b4c2","nonce":"0x1a7"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8378d1274daa3b4c"}},"meta":{"byte_code":"0x02f874018201a6843814fea085023a1b71b9825208942bea0e999b9d3f179128ca34aca667b18a0e7e26873c6568f12e800080c001a0db339d4d446e78a7116e7c524aac0c0294540af4dc0bde5fae71780b060d7ecaa047248733569e34b79d84e61b43ae12d7daa0ec3e0b4339f7d2a18ed6fba3fc28","new_txn_trie_node_byte":"0x02f874018201a6843814fea085023a1b71b9825208942bea0e999b9d3f179128ca34aca667b18a0e7e26873c6568f12e800080c001a0db339d4d446e78a7116e7c524aac0c0294540af4dc0bde5fae71780b060d7ecaa047248733569e34b79d84e61b43ae12d7daa0ec3e0b4339f7d2a18ed6fba3fc28","new_receipt_trie_node_byte":"0xb9010d02f901090183fce055b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x2814a428cacaef2c5eaf263160aab8c3623433c8":{"code_usage":{"read":"0xdba1590eade4781b80a99e0c822065994b92f7232ed4af160834b526d0ca0a7b"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8378f76f2529df4c"},"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x6851a9800705fb3fd85","nonce":"0x382de2"}},"meta":{"byte_code":"0x02f8760183382de18477359400852e90edd00083015f90942814a428cacaef2c5eaf263160aab8c3623433c8873f7390f7a45c0080c080a0de4fb67046ddfe0cd7fa185f33f7cfbfdcbff9ecbca75e52c3ad9cd8f1154776a0144132707b8f48a62fdc7f88a5942294f34670701a77719c150fd4b06c912ab0","new_txn_trie_node_byte":"0x02f8760183382de18477359400852e90edd00083015f90942814a428cacaef2c5eaf263160aab8c3623433c8873f7390f7a45c0080c080a0de4fb67046ddfe0cd7fa185f33f7cfbfdcbff9ecbca75e52c3ad9cd8f1154776a0144132707b8f48a62fdc7f88a5942294f34670701a77719c150fd4b06c912ab0","new_receipt_trie_node_byte":"0xb9010d02f901098083fd328ab9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21045}},{"traces":{"0x07ddacf367f0d40bd68b4b80b4709a37bdc9f847":{"storage_read":["0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02","0xd0599f9103556caffe40cb864860d42772effeb0a7025434425ff932762c8b00","0xe7c8b6140e2b2c6331f4233092e7bb0274e98129b11a49c6df2e5a9b435ea057","0x36289b9dfdf2266af517480f1f00f4cc48f3fe9b09460e27e440a98d2f136d4e","0x924f0922eaa5b32ea369ee9d59dfba4fc6bfe907b5eb25c5c319f734c091e7a5","0x89018013aee8a710670ff23df4ee4e96a21b609f02c5dfa416dce898291a7a28","0xc8078de9f32929bfa327aba7fd52488ab8697a1a405e9486484d59752f3f1254","0x201e6a2a3d24fd8643596163f9ab4dfb68016008ce961d1d2dfdc38d90c4fa23","0xee02ab77af64d6a9a8667b6901d47bd860eed73f89dcf7951fce05060c9581c0","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc","0x0000000000000000000000000000000000000000000000000000000000000009","0x0000000000000000000000000000000000000000000000000000000000000005","0x94989ec8efcd994eebedf86b49f9f79179056a1312b84e7436a3bbb617cec989","0x5087f316fa1c34902e1bff8390720c56eb8a264d7cd80222ac7bc55634f7709f","0x34671f592b849dbb688d5a9e8cc2f2f96850a9f23b037cfebdf9063cd466c82d","0x0000000000000000000000000000000000000000000000000000000000000023","0xf8fedc420b168b6a11e9473ae9a1975e931f5970ec8018bfd1cb19a2dd9f933a","0x1de968c16474ad908baac7582873a5bc232a0e0451cc5a7121e14cd9a3609e76","0x0000000000000000000000000000000000000000000000000000000000000011","0x6b52f52c6fc374fd197a941749576f5fdcedf0c7b79067b8c2e5d3ca48061b6f","0x0000000000000000000000000000000000000000000000000000000000000016","0xaa164dd890609d54ef1d155f509bf83999f3c9e9f1b99706f7dbb36669cb8325"],"storage_written":{"0xfe8856aa7c08b1199b17906727770d2021e30c908926ab90b6397701b9ddde02":"0x1bbac5ea0ff6c7acd8f1fcefa","0x3a58cf47a0ddf1e6db6cb376596e436d811371406a7c865ed61b544f2e2a90bc":"0x0","0x34671f592b849dbb688d5a9e8cc2f2f96850a9f23b037cfebdf9063cd466c82d":"0xf8f9f3a95228948ebaee7d7f","0xf8fedc420b168b6a11e9473ae9a1975e931f5970ec8018bfd1cb19a2dd9f933a":"0x1477c1ad6e52e9ab299fdd5fe8d"},"code_usage":{"read":"0x69e7211424eba919c9239d520448706176d73430e67afca63bc7f1b3dc1cabad"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83799b4a143e6e6c"},"0x9a741cc15028b32b159f173f3ae6f88ac2b6921b":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000a":"0x7bd0b37149f15c060cf37357b128ba4862b86698ad0","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000001005d775b4fb1ed2e01477c1ad6e52e9ab299fdd5fe8d","0x0000000000000000000000000000000000000000000000000000000000000009":"0x7de3911805c786b5d2e794","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0xf2d55a5fc7edb39ab79c08cf8f79edd60c72efc5":{"balance":"0x27fd2231e06ac7","nonce":"0x78"},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x2439484316ee08ad59f1d","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0xcb9ffb2645c25cecec159e4830ea5405361383c72b7ce56e490ba384ddc6de52"],"storage_written":{"0xcb9ffb2645c25cecec159e4830ea5405361383c72b7ce56e490ba384ddc6de52":"0x1005d775b4fb1ed2e","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}}},"meta":{"byte_code":"0x02f904390177843814fea0850240d4ffd283043254943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87c3663566a58000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd7b00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000c3663566a580000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000c3663566a580000000000000000000000000000000000000000000e745e87489ad99f8b7e8e33400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f847000000000000000000000000000000000000000000000000000000000000006000000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f847000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000006000000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f84700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000e6b1e4ac9103914441b0a013c001a030765557da4d1f721b094675e86d4f3c8f7ad81746cd6dba7221d3a662d5940ba050250281b135ac9eae7053e2a3e3b1b4493435af046f0c9df5312e3ca1215b89","new_txn_trie_node_byte":"0x02f904390177843814fea0850240d4ffd283043254943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad87c3663566a58000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd7b00000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000c3663566a580000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000c3663566a580000000000000000000000000000000000000000000e745e87489ad99f8b7e8e33400000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f847000000000000000000000000000000000000000000000000000000000000006000000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f847000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c0000000000000000000000000000000000000000000000000000000000000019000000000000000000000000000000000000000000000000000000000000006000000000000000000000000007ddacf367f0d40bd68b4b80b4709a37bdc9f84700000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000e6b1e4ac9103914441b0a013c001a030765557da4d1f721b094675e86d4f3c8f7ad81746cd6dba7221d3a662d5940ba050250281b135ac9eae7053e2a3e3b1b4493435af046f0c9df5312e3ca1215b89","new_receipt_trie_node_byte":"0xb9057902f90575018401001e7fb9010000200000000000000000000080000000000000000000000000000010000080800000400000000000000100400000000002000000080000000000000000000200000000080000000000000008000000200000000000000000000000008020000000000000000000202000000000000000000000000000000000000010000000000008000000000000000000000020000000000001000000080000004000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000004000000000000000000000000001000000000000000000000200000000000000000000000000000001000000080c00000000800000000f90469f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000c3663566a58000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921ba000000000000000000000000000000000000000000000000000c3663566a58000f89b9407ddacf367f0d40bd68b4b80b4709a37bdc9f847f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009a741cc15028b32b159f173f3ae6f88ac2b6921ba00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000f999b22fd72d2c5931748aa4f879949a741cc15028b32b159f173f3ae6f88ac2b6921be1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000001477c1ad6e52e9ab299fdd5fe8d000000000000000000000000000000000000000000000001005d775b4fb1ed2ef8fc949a741cc15028b32b159f173f3ae6f88ac2b6921bf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3663566a580000000000000000000000000000000000000000000f999b22fd72d2c5931748aa40000000000000000000000000000000000000000000000000000000000000000f89b9407ddacf367f0d40bd68b4b80b4709a37bdc9f847f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca00000000000000000000000000000000000000000009fbe86850497ca76860d25f89b9407ddacf367f0d40bd68b4b80b4709a37bdc9f847f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000f2d55a5fc7edb39ab79c08cf8f79edd60c72efc5a00000000000000000000000000000000000000000f8f9f3a95228948ebaee7d7f","gas_used":191477}},{"traces":{"0x21a31ee1afc51d94c2efccaa2092ad1028285549":{"balance":"0x35bcc1dfd35d66147bf","nonce":"0x951dd6"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837a2969d344dc6c"},"0x514910771af9ca656af840dff83e8264ecf986ca":{"storage_read":["0x8c01550348995efa228ed07d96fcc7e1537b356aaae256d8d95795fad4681c7b","0xbfe3a0ea4e4df64d52cc5d137e94731980838427db9d8b6d217b324d5b90b4e3"],"storage_written":{"0xbfe3a0ea4e4df64d52cc5d137e94731980838427db9d8b6d217b324d5b90b4e3":"0x8196d0699cd93fbb1400","0x8c01550348995efa228ed07d96fcc7e1537b356aaae256d8d95795fad4681c7b":"0xfc66fae3746ac00000"},"code_usage":{"read":"0x77c633ba07c8cb94cd4864092fd8b31e31cf9d065f6fb6acf617298bc0008785"}}},"meta":{"byte_code":"0x02f8b40183951dd584b2d05e008517bfac7c008303291894514910771af9ca656af840dff83e8264ecf986ca80b844a9059cbb000000000000000000000000dc2692379ef39a8a115ccdf56080645d35d1eb200000000000000000000000000000000000000000000000fc66fae3746ac00000c001a0f8c5d49d5695047b90b8ed672364c67875aa024a224abb2eeff917b846180119a039c8016a886d315a125cadd7a960ca6e1e8072bdb6ca5471a84a8f2b21490eae","new_txn_trie_node_byte":"0x02f8b40183951dd584b2d05e008517bfac7c008303291894514910771af9ca656af840dff83e8264ecf986ca80b844a9059cbb000000000000000000000000dc2692379ef39a8a115ccdf56080645d35d1eb200000000000000000000000000000000000000000000000fc66fae3746ac00000c001a0f8c5d49d5695047b90b8ed672364c67875aa024a224abb2eeff917b846180119a039c8016a886d315a125cadd7a960ca6e1e8072bdb6ca5471a84a8f2b21490eae","new_receipt_trie_node_byte":"0xb901ac02f901a801840100e9f8b9010000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000040000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000100000000000000000000000000000000000000000000000020000000000000100000000000000000040000000000000000000000000000000000000002000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f89df89b94514910771af9ca656af840dff83e8264ecf986caf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000021a31ee1afc51d94c2efccaa2092ad1028285549a0000000000000000000000000dc2692379ef39a8a115ccdf56080645d35d1eb20a00000000000000000000000000000000000000000000000fc66fae3746ac00000","gas_used":52089}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x56ee5c039aedeaedf1032028e6c6acb8882795c2c1cf967aecbff3b2c39ab4c0","0xb1091397680573a4e6c660658e91b228b91012d0d6556185a48fbc57e4589f9e","0x0000000000000000000000000000000000000000000000000000000000000000","0x75f7f8a447801bb3acf20ed694b60cd14d95954391a921e8e0e05339d096a919","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x56ee5c039aedeaedf1032028e6c6acb8882795c2c1cf967aecbff3b2c39ab4c0":"0x29d14ae5e4c","0xb1091397680573a4e6c660658e91b228b91012d0d6556185a48fbc57e4589f9e":"0x33885287"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837ab1c76eaa26fd"},"0xb23360ccdd9ed1b15d45e5d3824bb409c8d7c460":{"balance":"0x332b8d871c539b0bec","nonce":"0xf1f98"}},"meta":{"byte_code":"0x02f8b501830f1f978502540be4008502540be4008301229294dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000031773d9055316e96fadd5f12cd68de131d26b4bc000000000000000000000000000000000000000000000000000000000c62b151c001a07ccfab02401738186ba5e1191506fe4b55abc4b41611d86a4332b7606d4d47eea066361d9513797a97dae8e82e40c353510df8e7d5256fdbc9f4c489e36fcac708","new_txn_trie_node_byte":"0x02f8b501830f1f978502540be4008502540be4008301229294dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb00000000000000000000000031773d9055316e96fadd5f12cd68de131d26b4bc000000000000000000000000000000000000000000000000000000000c62b151c001a07ccfab02401738186ba5e1191506fe4b55abc4b41611d86a4332b7606d4d47eea066361d9513797a97dae8e82e40c353510df8e7d5256fdbc9f4c489e36fcac708","new_receipt_trie_node_byte":"0xb901ac02f901a8018401019e15b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000100000000000000000000000000000000000000000000008000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000001000000000000000000000100000000000000100000000000000000000000000080000000000000000000000000008000000000000008000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b23360ccdd9ed1b15d45e5d3824bb409c8d7c460a000000000000000000000000031773d9055316e96fadd5f12cd68de131d26b4bca0000000000000000000000000000000000000000000000000000000000c62b151","gas_used":46109}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837b5e3e68a3b4fd"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x759ebf061baf585c99e31ae2e878792704a737b70719d1ed8895fe7d10c01bf7","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x78b35599871be95768b2fdfaf9293a4491ecdc8ef25b872ee404fa1e441436e0","0x37ef7785e65710cb726cd8acbc3689e14a9d25d1251efe297bc66284f6d80f32"],"storage_written":{"0x37ef7785e65710cb726cd8acbc3689e14a9d25d1251efe297bc66284f6d80f32":"0xde270734","0x78b35599871be95768b2fdfaf9293a4491ecdc8ef25b872ee404fa1e441436e0":"0x1485b62570ba6"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x28c6c06298d514db089934071355e5743bf21d60":{"balance":"0x282a8f7ed12fbcc46865","nonce":"0x997426"}},"meta":{"byte_code":"0x02f8b4018399742584b2d05e008517bfac7c0083035d1494dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000bc9975535c7a3d07bed53d114837d542ae17d66100000000000000000000000000000000000000000000000000000000de270734c001a0128d24e7195e96a654fee83864999cb3be59c33de4f9521506209907e5f35af0a038a55dcf946c84b5b97fb022de4b131c7b6de2d5a0d59ec81d78d47522d9be6b","new_txn_trie_node_byte":"0x02f8b4018399742584b2d05e008517bfac7c0083035d1494dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000bc9975535c7a3d07bed53d114837d542ae17d66100000000000000000000000000000000000000000000000000000000de270734c001a0128d24e7195e96a654fee83864999cb3be59c33de4f9521506209907e5f35af0a038a55dcf946c84b5b97fb022de4b131c7b6de2d5a0d59ec81d78d47522d9be6b","new_receipt_trie_node_byte":"0xb901ac02f901a80184010294feb9010000000000000000000000000080000000000000000000000000000000000000100000000000000000000001000000010000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000010000000000000000000000000000000000000000000000000000000000000000000100000008000000000000000000080000000000000000000000000000000020000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000028c6c06298d514db089934071355e5743bf21d60a0000000000000000000000000bc9975535c7a3d07bed53d114837d542ae17d661a000000000000000000000000000000000000000000000000000000000de270734","gas_used":63209}},{"traces":{"0x6b175474e89094c44da98b954eedeac495271d0f":{"storage_read":["0x35d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406a","0x10933ad3d107402095038bcbfc2bd3b46296d4d1c93c9845f3b25d11c61e15ce"],"storage_written":{"0x10933ad3d107402095038bcbfc2bd3b46296d4d1c93c9845f3b25d11c61e15ce":"0x3f0d74eb8896b09070b1e","0x35d7fb7665514f774d2c2df607e197eb8674b6e63d2638472758647a2e67406a":"0x64251d63b72ead453bb1a"},"code_usage":{"read":"0x4e36f96ee1667a663dfaac57c4d185a0e369a3a217e0079d49620f34f85d1ac7"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0xa06e44591f7f0cf45a5722b083b94076cf3a4b4b5fccd5c6ccc59cf234400ce5","0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f"],"storage_written":{"0x75245230289a9f0bf73a6c59aef6651b98b3833a62a3c0bd9ab6b0dec8ed4d8f":"0x13ca1449acd313cb660","0xa06e44591f7f0cf45a5722b083b94076cf3a4b4b5fccd5c6ccc59cf234400ce5":"0x57d81ff5b936473fba"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837b5f348a7f637d"},"0xa69babef1ca67a37ffaf7a485dfff3382056e78c":{"balance":"0xeb8fca2ef8d7986fa","code_usage":{"read":"0xfe6b10a47e6f02df629ebc024bfceb97211d1343a434a71e8421cfe73180ed18"}},"0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000a":"0x3cf87b50ac8065896cbe2c6dc42568ceed0d78","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000009":"0x12cf7508ca123f761f19536ec9a121b1e","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000057d81ff5b936473fba00000003f0d74eb8896b09070b1e"},"code_usage":{"read":"0xcd82e2d9daddbf51cbce8d5429a0996e16fc670c4056566f19cf8864ad45a746"}},"0x2c6e668d3a4b25c557ce40b134a65eb36cfc2229":{"code_usage":{"read":"0xc18c79f8f30d9e34d987a4e197de6ee7c988962e32d5db19165e529976742e92"}},"0xfc23b61db3a1dce083e82da5a2ccfd91a2211f7c":{"balance":"0xb91c6e389a88a5df","nonce":"0x199ac"}},"meta":{"byte_code":"0x02f9023701830199ab8398968085025bef6f7883034f9094a69babef1ca67a37ffaf7a485dfff3382056e78c8319d50cb901c478e111f60000000000000000000000002c6e668d3a4b25c557ce40b134a65eb36cfc222900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000144c22b6075000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000000000000000000000000001a055690d9db80000000000000000000000000000000000000000000000106a3373ef358400000000000000000000000000000000000000000000000011da52a6803823000000000000000000000000000000000000000000000000253841b46aaf3e0000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006687db3bff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0eeff8a096ec1278b90e09fa535ad4099d8c1631ef91ae6b03515de3c6b08c39da062711e535b5a2ca3209472e091b67272bcca14496b8b313686718f202ec7d4c1","new_txn_trie_node_byte":"0x02f9023701830199ab8398968085025bef6f7883034f9094a69babef1ca67a37ffaf7a485dfff3382056e78c8319d50cb901c478e111f60000000000000000000000002c6e668d3a4b25c557ce40b134a65eb36cfc222900000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000144c22b6075000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006b175474e89094c44da98b954eedeac495271d0f000000000000000000000000000000000000000000000001a055690d9db80000000000000000000000000000000000000000000000106a3373ef358400000000000000000000000000000000000000000000000011da52a6803823000000000000000000000000000000000000000000000000253841b46aaf3e0000000000000000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000006687db3bff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0eeff8a096ec1278b90e09fa535ad4099d8c1631ef91ae6b03515de3c6b08c39da062711e535b5a2ca3209472e091b67272bcca14496b8b313686718f202ec7d4c1","new_receipt_trie_node_byte":"0xb903c302f903bf0184010431efb9010000200000000000000000000080000001000000000000000000000000000000000000000000000000000000020000000002000000080000000000000000000000000080000000000000000008000000200000000000000000000000000000000010000000000000000000000000002000000000000000000000000010000000000000000000000020000000000000000000000000000000080000004000000000000000000000000000000000000000000000000000000000000000000000000000000042000400000000000000000000000002000000001000000000000000000000200000000000000000040000000000000000000800000000000000000000f902b3f89b946b175474e89094c44da98b954eedeac495271d0ff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882fa00000000000000000000000000000000000000000000000bfe9043b6ea176219df89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c3d03e4f041fd4cd388c549ee2a29a9e5075882fa0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca000000000000000000000000000000000000000000000000010ac37d2d2c11c7cf87994c3d03e4f041fd4cd388c549ee2a29a9e5075882fe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000003f0d74eb8896b09070b1e000000000000000000000000000000000000000000000057d81ff5b936473fbaf8fc94c3d03e4f041fd4cd388c549ee2a29a9e5075882ff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78ca0000000000000000000000000a69babef1ca67a37ffaf7a485dfff3382056e78cb8800000000000000000000000000000000000000000000000bfe9043b6ea176219d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010ac37d2d2c11c7c","gas_used":105713}},{"traces":{"0xd92725ad32018c13bcc0642e0fd89fa93370a622":{"balance":"0x1e61aaca68a363578"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837b712d04b6987d"},"0x7b316b84a7a85a0e6235e0394dfbe1b5cb6e99a3":{"balance":"0x6c6c4e23108880581","nonce":"0xe"}},"meta":{"byte_code":"0x02f874010d843814fea085024f169cfd82520894d92725ad32018c13bcc0642e0fd89fa93370a6228901e5b8fa8fe2ac000080c080a00c5551a1c07ad2f0b307ebac1765c0924d186a9071ce2ad21f963c50fa9d0ceda04501d3c3b758b403921dd8bbf2556690521fbc8a5bb53fd934fc4c78ebca860a","new_txn_trie_node_byte":"0x02f874010d843814fea085024f169cfd82520894d92725ad32018c13bcc0642e0fd89fa93370a6228901e5b8fa8fe2ac000080c080a00c5551a1c07ad2f0b307ebac1765c0924d186a9071ce2ad21f963c50fa9d0ceda04501d3c3b758b403921dd8bbf2556690521fbc8a5bb53fd934fc4c78ebca860a","new_receipt_trie_node_byte":"0xb9010e02f9010a0184010483f7b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837bca23590abe7d"},"0x8b51b2c7a84e6b2a9dd95153afc35ad420b04bd2":{"code_usage":{"read":"0x088d3b8b14b83434195ee2e465e7e18499b417c5fa77d9084375c533989795b2"}},"0x21a31ee1afc51d94c2efccaa2092ad1028285549":{"balance":"0x35bca545610f449d090","nonce":"0x951dd7"},"0xaf1931c20ee0c11bea17a41bfbbad299b2763bc0":{"balance":"0x1c66f19eca82cd2d47"}},"meta":{"byte_code":"0x02f8770183951dd684b2d05e008517bfac7c0083032918948b51b2c7a84e6b2a9dd95153afc35ad420b04bd28801c88611b5a3400080c080a0cf311e83e873b51f5a81fb0320ada6b56019e9e4c2ddaec938e5ee4d0dac3ddea0420710b877b16fb36ebbbbe8a0e670910f887bbaa3977d779dec70c9f2852d02","new_txn_trie_node_byte":"0x02f8770183951dd684b2d05e008517bfac7c0083032918948b51b2c7a84e6b2a9dd95153afc35ad420b04bd28801c88611b5a3400080c080a0cf311e83e873b51f5a81fb0320ada6b56019e9e4c2ddaec938e5ee4d0dac3ddea0420710b877b16fb36ebbbbe8a0e670910f887bbaa3977d779dec70c9f2852d02","new_receipt_trie_node_byte":"0xb901cc02f901c8018401050354b9010000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000200000000000000000000000000000000000000000000000100000000000000000200000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000400000000000000000000000f8bdf8bb948b51b2c7a84e6b2a9dd95153afc35ad420b04bd2f842a0e659bb22726afd6009b17c3ae23679ed41784f382129f7fb0b2ef6776e0413d9a0000000000000000000000000af1931c20ee0c11bea17a41bfbbad299b2763bc0b8600000000000000000000000008b51b2c7a84e6b2a9dd95153afc35ad420b04bd200000000000000000000000021a31ee1afc51d94c2efccaa2092ad102828554900000000000000000000000000000000000000000000000001c88611b5a34000","gas_used":32605}},{"traces":{"0x1b5a6cdc4a2f72b35f8af5607cf187b5c681f0c2":{"balance":"0x3b15c38ac71da0"},"0x00abb2b42c1c90b99cdc0ecfa5b9b624775a9d96":{"balance":"0x2ff43e0cf028","nonce":"0x4"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837bcbaa80d85e7d"}},"meta":{"byte_code":"0x02f87201038404c4b4008501f8d9f180825a3c941b5a6cdc4a2f72b35f8af5607cf187b5c681f0c28739fea994e9b8a580c080a03f3851dd086e6b94958965056d4f069d72ce0864e1585cdccc81978bd4a0c802a024de00ce878c74700eebba4a9ae84375552e3e78469b2c11c6f4789eb10d39d1","new_txn_trie_node_byte":"0x02f87201038404c4b4008501f8d9f180825a3c941b5a6cdc4a2f72b35f8af5607cf187b5c681f0c28739fea994e9b8a580c080a03f3851dd086e6b94958965056d4f069d72ce0864e1585cdccc81978bd4a0c802a024de00ce878c74700eebba4a9ae84375552e3e78469b2c11c6f4789eb10d39d1","new_receipt_trie_node_byte":"0xb9010e02f9010a01840105555cb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x6851a960984aa06c612","nonce":"0x382de3"},"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x50283d144f443148b76d2ca9e13f5d0828507d484c47a49dd0da2011582dcf02","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x8032bbaad8dc69cb68b83388864605a6aa8ca1caae933b253bd93051aa37ad0b","0x7d2499ed8d155365f2065ff018f9dec55807d86cbceb64d3d9f4a01874c4528b"],"storage_written":{"0x7d2499ed8d155365f2065ff018f9dec55807d86cbceb64d3d9f4a01874c4528b":"0x2267594","0x8032bbaad8dc69cb68b83388864605a6aa8ca1caae933b253bd93051aa37ad0b":"0x15fd37ff8f76c"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837c3ea47cd4127d"}},"meta":{"byte_code":"0x02f8b40183382de28477359400852e90edd00083015f9094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000002847eaca1b2846411dc1612f946ff1ae644d55ea0000000000000000000000000000000000000000000000000000000002267594c001a0cf39a670eeb41e882783b84a77bf0210de3d30b3b4d151187d57bbc24c94fb9aa0684c38e1f25d4530c5d64fcdb2e64ddca5c7db275b7b4eb68a321b0e5583cd94","new_txn_trie_node_byte":"0x02f8b40183382de28477359400852e90edd00083015f9094dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb0000000000000000000000002847eaca1b2846411dc1612f946ff1ae644d55ea0000000000000000000000000000000000000000000000000000000002267594c001a0cf39a670eeb41e882783b84a77bf0210de3d30b3b4d151187d57bbc24c94fb9aa0684c38e1f25d4530c5d64fcdb2e64ddca5c7db275b7b4eb68a321b0e5583cd94","new_receipt_trie_node_byte":"0xb901ac02f901a8018401064c45b9010000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000010000000000000000000000000000000000000000000020000000000008000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000080000000000000000000000001000000000000000000000002000000000000000200000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000f89d7b9c864f589bbf53a82105107622b35eaa40a00000000000000000000000002847eaca1b2846411dc1612f946ff1ae644d55eaa00000000000000000000000000000000000000000000000000000000002267594","gas_used":63209}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24393a635c04f3270c06d","storage_read":["0x747b186fe58c3871f96ec679ce621efbb4193fdf32fdd8c9a680cafcf94eb681","0xcf897ba6a19b0dfa2deec7aa954bcc45552d51e6bb162d6a75930410e7e55571","0xcc2e8e5cd534eb5e35dabd4cb4b69550879b28082441ee3da8b83455b07b7046"],"storage_written":{"0x747b186fe58c3871f96ec679ce621efbb4193fdf32fdd8c9a680cafcf94eb681":"0x1594a0e93860c4137f","0xcc2e8e5cd534eb5e35dabd4cb4b69550879b28082441ee3da8b83455b07b7046":"0x189ccd8835de6ff99"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x5c7bcd6e7de5423a257d81b442095a1a6ced35c5":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000065","0x000000000000000000000000000000000000000000000000000000000000086b","0x4a1c8b774e9f9fb4a2ad68307012292aac8b406dce19381875997f0a68ef451d"],"storage_written":{"0x4a1c8b774e9f9fb4a2ad68307012292aac8b406dce19381875997f0a68ef451d":"0x2","0x0000000000000000000000000000000000000000000000000000000000000065":"0x1"},"code_usage":{"read":"0x932cddc50793da935ccf915651ad67f6b746e9936fcc5614f0ff492563782c75"}},"0x743d7b30661d65b41960bf6b5d1bb93cf7972a73":{"balance":"0xdeece5e98f0a7dd4"},"0x428ab2ba90eba0a4be7af34c9ac451ab061ac010":{"balance":"0xbdb146001c0bafbe","nonce":"0x2cbec"},"0x08c21b200ed06d2e32cec91a770c3fca8ad5f877":{"code_usage":{"read":"0xf66139fd23677b5188d82d6a3ae088099342164e68870362de370033fd46d2f4"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837cb172cafaf27d"}},"meta":{"byte_code":"0x02f90255018302cbeb8447868c0085044868ae328301c0c7945c7bcd6e7de5423a257d81b442095a1a6ced35c580b901e42e37811500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000743d7b30661d65b41960bf6b5d1bb93cf7972a73000000000000000000000000743d7b30661d65b41960bf6b5d1bb93cf7972a73000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000ddfbae915864deb0000000000000000000000000000000000000000000000000000000000000a4b100000000000000000000000000000000000000000000000000000000002082750000000000000000000000000000000000000000000000000000000066882e69000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000c001a020b8947146e484a0565622896410d932c8ca69ba99809ff58c962f032a7a44a1a0334998b449e860eb2b0a838f98b710907d7b2d0f8e9a1034c96866c07a2b1358","new_txn_trie_node_byte":"0x02f90255018302cbeb8447868c0085044868ae328301c0c7945c7bcd6e7de5423a257d81b442095a1a6ced35c580b901e42e37811500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000743d7b30661d65b41960bf6b5d1bb93cf7972a73000000000000000000000000743d7b30661d65b41960bf6b5d1bb93cf7972a73000000000000000000000000000000000000000000000000000000000000000000000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000ddfbae915864deb0000000000000000000000000000000000000000000000000000000000000a4b100000000000000000000000000000000000000000000000000000000002082750000000000000000000000000000000000000000000000000000000066882e69000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000000c001a020b8947146e484a0565622896410d932c8ca69ba99809ff58c962f032a7a44a1a0334998b449e860eb2b0a838f98b710907d7b2d0f8e9a1034c96866c07a2b1358","new_receipt_trie_node_byte":"0xb9050a02f9050601840107e72db9010000000000000000400000000010000010000000000000000000000000000000000400000080000000000000000000000002000000080000000000000000000000000000000000000000000108000000000000000000400000000000000004000000000000000000000000000000000000000100000000040000000010000000000000000800000008000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000800000000000000000000002000000010000000000000000000000000000004000010002000000000000200000000000000000000400100001000000000000000000000000000000f903faf902de945c7bcd6e7de5423a257d81b442095a1a6ced35c5f884a0571749edf1d5c9599318cdbc4e28a6475d65e87fd3b2ddbe1e9a8d5e7a0f0ff7a0000000000000000000000000000000000000000000000000000000000000a4b1a00000000000000000000000000000000000000000000000000000000000208275a0000000000000000000000000428ab2ba90eba0a4be7af34c9ac451ab061ac010b9024000000000000000000000000082af49447d8a07e3bd95bd0d56f35241523fbab1000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000ddfbae915864deb000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000066882e6900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000743d7b30661d65b41960bf6b5d1bb93cf7972a73000000000000000000000000743d7b30661d65b41960bf6b5d1bb93cf7972a73000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000743d7b30661d65b41960bf6b5d1bb93cf7972a730000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000ddfbae915864deb000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000428ab2ba90eba0a4be7af34c9ac451ab061ac010a00000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c5a0000000000000000000000000000000000000000000000000ddfbae915864deb0f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000005c7bcd6e7de5423a257d81b442095a1a6ced35c5a0000000000000000000000000000000000000000000000000ddfbae915864deb0","gas_used":105192}},{"traces":{"0x8a2279d4a90b6fe1c4b30fa660cc9f926797baa2":{"storage_read":["0x9319194a372d6da00e43ed5f7027e57f755d1a31b34a5351314b4fa3f025c34c","0x8f81d6ae5be334278a536b448470024e575891a4fc62a4d29ea0a083c0506899"],"storage_written":{"0x9319194a372d6da00e43ed5f7027e57f755d1a31b34a5351314b4fa3f025c34c":"0x587cd28f41","0x8f81d6ae5be334278a536b448470024e575891a4fc62a4d29ea0a083c0506899":"0x45d79af480"},"code_usage":{"read":"0xf19f08536e21da90c45e1e4ccf3308fbd51c1d4ac5babdeb183e3da3181780f4"}},"0x21a31ee1afc51d94c2efccaa2092ad1028285549":{"balance":"0x35bca528da9f607e5fe","nonce":"0x951dd8"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837d3de7c2b1067d"}},"meta":{"byte_code":"0x02f8b40183951dd784b2d05e008517bfac7c0083032918948a2279d4a90b6fe1c4b30fa660cc9f926797baa280b844a9059cbb00000000000000000000000039e274cb173999eca1cc3daf0c3e938d2cd69a5000000000000000000000000000000000000000000000000000000045d79af480c080a08a6c0722dc23356347b713d4fce0a0865336c5002cf97b9399f56a97ffe85079a069e3c12b28326ce86cf96bfe99979e9017847d27020410421bf9801d876ad4d5","new_txn_trie_node_byte":"0x02f8b40183951dd784b2d05e008517bfac7c0083032918948a2279d4a90b6fe1c4b30fa660cc9f926797baa280b844a9059cbb00000000000000000000000039e274cb173999eca1cc3daf0c3e938d2cd69a5000000000000000000000000000000000000000000000000000000045d79af480c080a08a6c0722dc23356347b713d4fce0a0865336c5002cf97b9399f56a97ffe85079a069e3c12b28326ce86cf96bfe99979e9017847d27020410421bf9801d876ad4d5","new_receipt_trie_node_byte":"0xb901ac02f901a801840108b043b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000010000080100000000000000000000000000000000000000000000000020000000000000000000000000000000000000000020008000000000000000000000000002020000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f89df89b948a2279d4a90b6fe1c4b30fa660cc9f926797baa2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000021a31ee1afc51d94c2efccaa2092ad1028285549a000000000000000000000000039e274cb173999eca1cc3daf0c3e938d2cd69a50a000000000000000000000000000000000000000000000000000000045d79af480","gas_used":51478}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x837d7734174ff67d"},"0x56eddb7aa87536c09ccc2793473599fd21a8b17f":{"balance":"0x3670ddee17d43581fb0","nonce":"0x6791e4"},"0xe7e5177b3421d45bc759662e56c6fe1bdb45282f":{"balance":"0x11558e6f382a7000"}},"meta":{"byte_code":"0x02f87701836791e384b2d05e008517bfac7c008303291894e7e5177b3421d45bc759662e56c6fe1bdb45282f8811558e6f382a700080c080a083bb0554c13c083202df454f04137571942c758efc0fb50e3e6451012c39608aa00edd6689d456ff7a4c0fbb5da441e44ca0888ece19ca3a97404d46a1f2199f5c","new_txn_trie_node_byte":"0x02f87701836791e384b2d05e008517bfac7c008303291894e7e5177b3421d45bc759662e56c6fe1bdb45282f8811558e6f382a700080c080a083bb0554c13c083202df454f04137571942c758efc0fb50e3e6451012c39608aa00edd6689d456ff7a4c0fbb5da441e44ca0888ece19ca3a97404d46a1f2199f5c","new_receipt_trie_node_byte":"0xb9010e02f9010a01840109024bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xa21332968a73172868ba9c7c9e6e27506b1c44f7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x000000000000000000000000000000000000000000000000000000000000000a":"0x6b137da6f460c1330569380122bd304","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b00000000000018bc293d19ce7ecf00000000000002a23937ff140ef8","0x0000000000000000000000000000000000000000000000000000000000000009":"0x28a8fe29e4c3f7d4faa19262594833db4"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8380fb00c2930e7d"},"0x218436996d3de16cecf6a5d731b5d683406a0bc1":{"storage_read":["0x7d19696ef018dfbc3b00665bc61cc44dc51c5080023abc938acb3e9436ac546b","0x0000000000000000000000000000000000000000000000000000000000000014","0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000010","0xd331e710b1c420fbbba35c385b68e14a471b4e4b6e36fe5a4f5cf8fde88cf1c0","0x000000000000000000000000000000000000000000000000000000000000000d","0x26e134c2ed230d829a43ef5d424f30de6dac54bcf14900b5ddba9b1c5b92c8ab","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000008","0xa4e05de409e0a1446a4cee3b08bbc12649bf0852639eecfe11e6725d1970ca6c","0xc9e6353edd1b968ca5202e6d5d471f258d6042367ca4466599f9dcad291c6507","0x0000000000000000000000000000000000000000000000000000000000000000","0x5e3e15e7c5e1a2a6d1ea89b1ed964b78301e10f287fc7764858b8d26421f90be","0x000000000000000000000000000000000000000000000000000000000000000e","0x0000000000000000000000000000000000000000000000000000000000000013"],"storage_written":{"0xc9e6353edd1b968ca5202e6d5d471f258d6042367ca4466599f9dcad291c6507":"0x1d38607b8b294b","0xa4e05de409e0a1446a4cee3b08bbc12649bf0852639eecfe11e6725d1970ca6c":"0x2a23937ff140ef8","0x000000000000000000000000000000000000000000000000000000000000000e":"0x175"},"code_usage":{"read":"0xd8e28ab3e160677827a71d163f0ed7a994c467f4f2375d98160f5d336dd5f877"}},"0x84b04b8650f9a5c022fbb136561757b07163c401":{"balance":"0x267f8b5f70e584f"},"0xe76014c179f19da26bb30a0f085ff0a466b92829":{"balance":"0xdb46997240e07d659","storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000002","0x8cb3563b79eac8102a826f0dcb81e7e954d7df2b15d07edcb2dd2b236c2078b5","0x8cb3563b79eac8102a826f0dcb81e7e954d7df2b15d07edcb2dd2b236c2078b4","0x8cb3563b79eac8102a826f0dcb81e7e954d7df2b15d07edcb2dd2b236c2078b6","0x0000000000000000000000000000000000000000000000000000000000000003"],"code_usage":{"read":"0x47225fbe0ee0c8738d8e6b7d76153570f23d3fc4207cf501655dadb5ce427a5d"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24393a73d8a4a7d03606d","storage_read":["0x82deae282b09730aef8e3b56acaeb1b277eb2feabb5f6841c92993b2a9d59943","0xf1d241ccacef42cdb2bc813c360b7d1670c6846c8daa367581d0fbe6c7b37fb0"],"storage_written":{"0xf1d241ccacef42cdb2bc813c360b7d1670c6846c8daa367581d0fbe6c7b37fb0":"0x18bc293d19ce7ecf","0x82deae282b09730aef8e3b56acaeb1b277eb2feabb5f6841c92993b2a9d59943":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xa63bd1405971a21993464da5e6b01331186adf55":{"balance":"0x2f49e98f54504f0","nonce":"0x293"}},"meta":{"byte_code":"0x02f9025d0182029285012a05f2008502bc3fd7fb8304d3f094e76014c179f19da26bb30a0f085ff0a466b9282988010a741a46278000b901e409c182c3000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001800000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000084b04b8650f9a5c022fbb136561757b07163c40100000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a741a462780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687db3b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000218436996d3de16cecf6a5d731b5d683406a0bc1c080a0e1cf70fba1157dff71030875c0989f24d24c988521653d493dafb0277c56bacaa07d7b70c97eb9886dc415c063a3ce5767557fc1281059cf0e48b5ad39b55c6c9f","new_txn_trie_node_byte":"0x02f9025d0182029285012a05f2008502bc3fd7fb8304d3f094e76014c179f19da26bb30a0f085ff0a466b9282988010a741a46278000b901e409c182c3000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001800000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000084b04b8650f9a5c022fbb136561757b07163c40100000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010a741a462780000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006687db3b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000218436996d3de16cecf6a5d731b5d683406a0bc1c080a0e1cf70fba1157dff71030875c0989f24d24c988521653d493dafb0277c56bacaa07d7b70c97eb9886dc415c063a3ce5767557fc1281059cf0e48b5ad39b55c6c9f","new_receipt_trie_node_byte":"0xb9064b02f906470184010c0737b9010010200000010000000000000080000000000810000000000000000000000000000000000000000000000040000000000002000000080000000000004800000000000004000000000000000008000000220000000000000000000000008000000000000000000000020000000100801000000012000000000000000010000400000000000000000000000000000040000000000001000000080000004000000000000600088000000000000000000008000000000000000000020000001000000000000002000000000000000040000000420000000000001000000000000000000000200000000000000008000000000000040000100000400000000000000000f9053bf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829a00000000000000000000000000000000000000000000000000107c9fb4a92a000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829a0000000000000000000000000a21332968a73172868ba9c7c9e6e27506b1c44f7a00000000000000000000000000000000000000000000000000107c9fb4a92a000f89b94218436996d3de16cecf6a5d731b5d683406a0bc1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000a21332968a73172868ba9c7c9e6e27506b1c44f7a0000000000000000000000000a63bd1405971a21993464da5e6b01331186adf55a0000000000000000000000000000000000000000000000000001d38607b8b294bf87994a21332968a73172868ba9c7c9e6e27506b1c44f7e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000000000000002a23937ff140ef800000000000000000000000000000000000000000000000018bc293d19ce7ecff8fc94a21332968a73172868ba9c7c9e6e27506b1c44f7f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000e76014c179f19da26bb30a0f085ff0a466b92829a0000000000000000000000000a63bd1405971a21993464da5e6b01331186adf55b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000107c9fb4a92a000000000000000000000000000000000000000000000000000001d38607b8b294b0000000000000000000000000000000000000000000000000000000000000000f87994e76014c179f19da26bb30a0f085ff0a466b92829e1a0337b70af243e3976087dd0929c6e8560d0f87d28eda4d0b26203ffbe0dc8feb3b840000000000000000000000000a63bd1405971a21993464da5e6b01331186adf55000000000000000000000000000000000000000000000000001d38607b8b294bf87994e76014c179f19da26bb30a0f085ff0a466b92829e1a024c07d9526daec95fb72ea7cecc4cfc860c60f857757a60e897a08c0cf534e08b84000000000000000000000000084b04b8650f9a5c022fbb136561757b07163c4010000000000000000000000000000000000000000000000000000886c98b76000f89994e76014c179f19da26bb30a0f085ff0a466b92829e1a07bf178ffbe60d514bc776f4981560b01f88a33d43bef23be499093e646fb0f43b860000000000000000000000000a63bd1405971a21993464da5e6b01331186adf55000000000000000000000000000000000000000000000000010a741a46278000000000000000000000000000000000000000000000000000010a741a46278000f87994e76014c179f19da26bb30a0f085ff0a466b92829e1a03310ea14266209db2516cc8eae3e55230d2376e02becfb8094363ad465b7794cb840000000000000000000000000a63bd1405971a21993464da5e6b01331186adf550000000000000000000000000000000000000000000000000002aa1efb94e000","gas_used":197868}},{"traces":{"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24393a6cd12d992894ddd","storage_read":["0x9a2670d7120f1e9b7a4e06731fa434bcd9bcb31970f1dba56cbce82cab565117","0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7"],"storage_written":{"0x9a2670d7120f1e9b7a4e06731fa434bcd9bcb31970f1dba56cbce82cab565117":"0x14dd5fc361da4315ad","0xee61682ec263cf9ac626d5a9b0cd5e26edbfa98b5b368b540e65bd739c37e3b7":"0x1"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x2f2dd99235cb728fc79af575f1325eaa270f0c99":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001","0xb6433e1c721edac7edcd0d691e8a06eff8fc3de58ddfb5209159e79db8a2fdbb","0x0000000000000000000000000000000000000000000000000000000000000003"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0x9cf6f50f15bafd1304cd96f3519f8d6e8ffa5d41c516b863b1465a0cfa901213"}},"0xaf81e930620eb55a9a6927c4b2afcb4d61040c32":{"storage_read":["0xca4d0c6c94a9477136dd41a99cc19ecbe441c8f6609efe7c6fa65be007a47323","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x51460a3593e1a4a6b87cf8dfcc7bf","0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000023cfb00000000000005fb357f9fa5e1507f337f033543"},"code_usage":{"read":"0x448f72228de99400374a161085bea640c03279b3e1f8854574a4dd1818f76933"}},"0x1111111254eeb25477b68fb85ed929f73a960582":{"code_usage":{"read":"0xb21184893bb5b89a85468883070702045d9821b62ea3b28d3e84d89ab84fd23e"}},"0xd1ca1f4dbb645710f5d5a9917aa984a47524f49a":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0x421553ae9533bcd4b20855e1274c3b3727ff589a6ec1ed4f246b2ed02a481e13"}},"0x582d872a1b094fc48f5de31d3b73f2d9be47def1":{"storage_read":["0x036e0e7a6ba47612c44d19f9519277a2fb903f852e57d3fa6cca9128802a4b62","0xd9c08ff7e90cf52a0314935bc6b921a74135344ce188c0ecfc4991335d1994d6","0x38fc3b2d379bd26458e22ad88b3c56dc65fb6a00f273a2e6bd091f1dd3fd27f4","0x76ee279b46aca2a79966ad62086bda437c99d735ac3682a42c19ceafbef72ffb","0xa4224527eac4bd9d4aacecf25cc36d8608f3f4290ecac8f142f2e43379f66b4c"],"storage_written":{"0x38fc3b2d379bd26458e22ad88b3c56dc65fb6a00f273a2e6bd091f1dd3fd27f4":"0x49eee92af27b","0xa4224527eac4bd9d4aacecf25cc36d8608f3f4290ecac8f142f2e43379f66b4c":"0x0","0xd9c08ff7e90cf52a0314935bc6b921a74135344ce188c0ecfc4991335d1994d6":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffdaf63780fdd7","0x036e0e7a6ba47612c44d19f9519277a2fb903f852e57d3fa6cca9128802a4b62":"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffcd8cf72f1","0x76ee279b46aca2a79966ad62086bda437c99d735ac3682a42c19ceafbef72ffb":"0x3"},"code_usage":{"read":"0x729c20e4448b145cbba2c7ca89c5ca939e4c20357c547a387daec922052ec9ec"}},"0x9afd2948f573dd8684347924ebce1847d50621ed":{"storage_read":["0x66258b884c9e2f8a69bf4cd19618de0d2d27745f676039a4b0da167f030d3bab","0x961e7ea0197421a64c9bf2f08223ece3e400dfa96ccf67518550106a01a95ce4","0xd8c4b623d1b18e2c5da5d3dc4bbf62ad8b28af3bcc47f1741a285ae24ea3acf7"],"code_usage":{"read":"0xc587b21dd7b63fcd5f416c21efeaccdf282b377fa7441155b71f2543bbac07bb"}},"0x60396fca11136a1f960caada73ddd08495e0b94e":{"code_usage":{"read":"0x874b0089b3b5f5fe4ece5020bbb1fee6f18c5fc5c9c74b493e4bd2ffad8d7bd5"}},"0xe4da6f981a78b8b9edefe4d7a955c04ba7e67d8d":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000005"],"code_usage":{"read":"0xf4abba308d90460298fdb0ebd4fd763d699e45aae73b9808f576bb4f8cd77210"}},"0x6d47e43a99bfae07117c9fe6c0e6ae9b80eb06a7":{"balance":"0x7d59497c39aedf","nonce":"0x48"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x83826c301341785e"},"0x92c2ea2fafe891758da0ed2ec2978acf1d4162fb":{"balance":"0x4d947ac74257ff63"}},"meta":{"byte_code":"0xf9056b478501fc3fb1c08308647094d1ca1f4dbb645710f5d5a9917aa984a47524f49a80b905045742f5670000000000000000000000000000000000000000000000000000000000000020000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def10000000000000000000000000000000000000000000000000000000327308d0e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004446a2b69f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def1000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000327308d0e0000000000000000000000000000000000000000000000000000000327308d0e0000000000000000000000006d47e43a99bfae07117c9fe6c0e6ae9b80eb06a7000000000000000000000000000000000000000000000000006d17b2a600a67ce568d71c8f1ac77736d79ce636119e4d8a503be6101418cc2eca6a4f98b145a6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000413e9acbb2abdfe738d331b60595442bfe5aecb8c5b91e177eba37eb0936dcab7e7f25befd9e943c7d24c840fee4517326cf679d6261c0dd96bc4f3ec509dd0b791b000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111254eeb25477b68fb85ed929f73a9605820000000000000000000000001111111254eeb25477b68fb85ed929f73a960582000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a8e449022e0000000000000000000000000000000000000000000000000000000327308d0e000000000000000000000000000000000000000000000000006d17b2a600a67c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001200000000000000000000000af81e930620eb55a9a6927c4b2afcb4d61040c32f804e3690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000006d47e43a99bfae07117c9fe6c0e6ae9b80eb06a700000000000000000000000000000000000000000000000000000000000000206e4a045d23c3dfd10f8a55619596aebbc2d0e9ac82f5a7ddc78ec4da86c210180000000000000000000000000000000000000000000000000000000026a09edd8284188de84fe057933d3cb6aa7cda1b0109f03a8b36d8669bdcbb55e311a0117b94acfa09ffe96b4c6595d3c6c58d4d779e4c362a52481d89da902cf41ace","new_txn_trie_node_byte":"0xf9056b478501fc3fb1c08308647094d1ca1f4dbb645710f5d5a9917aa984a47524f49a80b905045742f5670000000000000000000000000000000000000000000000000000000000000020000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def10000000000000000000000000000000000000000000000000000000327308d0e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000004446a2b69f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def1000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee0000000000000000000000000000000000000000000000000000000327308d0e0000000000000000000000000000000000000000000000000000000327308d0e0000000000000000000000006d47e43a99bfae07117c9fe6c0e6ae9b80eb06a7000000000000000000000000000000000000000000000000006d17b2a600a67ce568d71c8f1ac77736d79ce636119e4d8a503be6101418cc2eca6a4f98b145a6000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000413e9acbb2abdfe738d331b60595442bfe5aecb8c5b91e177eba37eb0936dcab7e7f25befd9e943c7d24c840fee4517326cf679d6261c0dd96bc4f3ec509dd0b791b000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111254eeb25477b68fb85ed929f73a9605820000000000000000000000001111111254eeb25477b68fb85ed929f73a960582000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a8e449022e0000000000000000000000000000000000000000000000000000000327308d0e000000000000000000000000000000000000000000000000006d17b2a600a67c00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001200000000000000000000000af81e930620eb55a9a6927c4b2afcb4d61040c32f804e3690000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000006d47e43a99bfae07117c9fe6c0e6ae9b80eb06a700000000000000000000000000000000000000000000000000000000000000206e4a045d23c3dfd10f8a55619596aebbc2d0e9ac82f5a7ddc78ec4da86c210180000000000000000000000000000000000000000000000000000000026a09edd8284188de84fe057933d3cb6aa7cda1b0109f03a8b36d8669bdcbb55e311a0117b94acfa09ffe96b4c6595d3c6c58d4d779e4c362a52481d89da902cf41ace","new_receipt_trie_node_byte":"0xf908740184010f82a4b9010004000000000000150000000000000000000000000000000000000000000000000000000000000040000000000000000002000000080020000000000000200000000000000000080a00000008000002010000000000400000000000000000000040100000000000000040000000000000000000000000040000000010000800000000000000000000080000000000000000000004000000000000000000000100220000000000001000000100000004200000800000000000000000000021000000000003000000800000000000000000100000000000000000000042000008000010200000000000008400000000000000000004008000000000000002000000f90768f89b94582d872a1b094fc48f5de31d3b73f2d9be47def1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006d47e43a99bfae07117c9fe6c0e6ae9b80eb06a7a00000000000000000000000002f2dd99235cb728fc79af575f1325eaa270f0c99a00000000000000000000000000000000000000000000000000000000327308d0ef89b94582d872a1b094fc48f5de31d3b73f2d9be47def1f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000006d47e43a99bfae07117c9fe6c0e6ae9b80eb06a7a0000000000000000000000000d1ca1f4dbb645710f5d5a9917aa984a47524f49aa0fffffffffffffffffffffffffffffffffffffffffffffffffffffffcd8cf72f1f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000af81e930620eb55a9a6927c4b2afcb4d61040c32a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000000000707770ea7a1290f89b94582d872a1b094fc48f5de31d3b73f2d9be47def1f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002f2dd99235cb728fc79af575f1325eaa270f0c99a0000000000000000000000000af81e930620eb55a9a6927c4b2afcb4d61040c32a00000000000000000000000000000000000000000000000000000000327308d0ef89b94582d872a1b094fc48f5de31d3b73f2d9be47def1f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000002f2dd99235cb728fc79af575f1325eaa270f0c99a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a0ffffffffffffffffffffffffffffffffffffffffffffffffffffdaf63780fdd7f9011c94af81e930620eb55a9a6927c4b2afcb4d61040c32f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582b8a00000000000000000000000000000000000000000000000000000000327308d0effffffffffffffffffffffffffffffffffffffffffffffffff8f888f1585ed7000000000000000000000000000000000000005fb357f9fa5e1507f337f0335430000000000000000000000000000000000000000000000002216ce872ed83f320000000000000000000000000000000000000000000000000000000000023cfbf87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000001111111254eeb25477b68fb85ed929f73a960582a000000000000000000000000000000000000000000000000000707770ea7a1290f9015c942f2dd99235cb728fc79af575f1325eaa270f0c99f863a0a3a0edf0526ed08d875540e19888f79e48c7fd86b501e3145a99f2f3e56e0c03a00000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000006d47e43a99bfae07117c9fe6c0e6ae9b80eb06a7b8e00000000000000000000000000000000000000000000000000000565fd3a5be01000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000204269744b65657020534f523a204167677265676174696f6e20466561747572650000000000000000000000000000000000000000000000000000000000000003312e300000000000000000000000000000000000000000000000000000000000f9015a942f2dd99235cb728fc79af575f1325eaa270f0c99e1a065015729990773c576a3b60dabbbebc51d01eae66dea69e06f4b79f345cf5b72b9012000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000d1ca1f4dbb645710f5d5a9917aa984a47524f49a0000000000000000000000006d47e43a99bfae07117c9fe6c0e6ae9b80eb06a7000000000000000000000000582d872a1b094fc48f5de31d3b73f2d9be47def100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000070211116d4548f00000000000000000000000000000000000000000000000000000000000000206e4a045d23c3dfd10f8a55619596aebbc2d0e9ac82f5a7ddc78ec4da86c21018","gas_used":228205}},{"traces":{"0x40a8738c85a7d8610d175573331741f65442fa21":{"balance":"0x31c03a027b4648","nonce":"0x6"},"0xd845c0db78c434bb85642a3e24a9706a5ccacd84":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000a":"0x36d9d69b250f0236b6cf7ebf3adad5167d5298dc","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000000bbf500e2a1137fd4000000695ce21ca030c6839e1618","0x0000000000000000000000000000000000000000000000000000000000000009":"0x30b4c9f36ccb3225d88adde3cc750"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x1a8f43e01b78979eb4ef7febec60f32c9a72f58e":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8","0x92adc54cfc27c30164aeaeb7c83bf6f1b6463b994636e51a9794110a2b7e52dd","0xde032e96a833a2191f55c5766e34554d9b07734477ea9cb69c40158c1078e793","0x0000000000000000000000000000000000000000000000000000000000000009","0xf7d626cde09c1bc0baa37698996cf41866943ffafa80df79d484074d575989d6","0x0000000000000000000000000000000000000000000000000000000000000005","0x000000000000000000000000000000000000000000000000000000000000000a"],"code_usage":{"read":"0xe592c0bc47d274b7d36ba00f4db56e3f0a02f7f03d85a2bb812df349bade3e6f"}},"0xbe8eff45293598919c99d1cbe5297f2a6935bc64":{"storage_read":["0x887c861ad551549029699a0c648a7f2b940fbda048ef7ba79140830c17b1eacd","0x193545224df19abdd5e8df2dd9c8447402fda04e7ff9bef7c55ba39b6b716abb","0x4c4a9b4c268d91a448edc1948bcca8affa665f460d1a56da6f69970dcd9c3049","0x5249468bad5372e36c7736c70d7ef034560cf97d1939f0406f9b62b9cca673b9","0x000000000000000000000000000000000000000000000000000000000000000b","0x000000000000000000000000000000000000000000000000000000000000001d","0x0000000000000000000000000000000000000000000000000000000000000009","0x2cbf5947127783518e5f6d1c76ef0b726aac3b169e9bde400d6a6c91daf44af1","0x0000000000000000000000000000000000000000000000000000000000000010","0x455473c24aec8b5a950374aeeed6d7a6f2ac12a362b3c284cb653c85bb722708","0x4b1128bb59e8a4665b0bc17740846ccc05f7d5ed47694e8fa08c6fa27c2b6a87","0x0000000000000000000000000000000000000000000000000000000000000005","0x737a4564849e1c2847a54015476106d580642bf3674819cec758e99769482dfa","0xd0323988128fb11b4f5b4b4ccc07901c728886b202c8b1f9f49eed0c42d98686"],"storage_written":{"0x4c4a9b4c268d91a448edc1948bcca8affa665f460d1a56da6f69970dcd9c3049":"0x1d548573c571d7dc8672","0x5249468bad5372e36c7736c70d7ef034560cf97d1939f0406f9b62b9cca673b9":"0x695ce21ca030c6839e1618"},"code_usage":{"read":"0x2d6d6c106cf44460aa8a4a72dc3db0beccb5fe2d508147c0e8883c00523704bd"}},"0xb048ed71007ade3b3172bc6d95781833ffa3aac5":{"storage_read":["0xf92893360e87d38188b7b11fa248b88db93df7bf196c713536fab10a7c72dbc7"],"code_usage":{"read":"0x0cf0e67a5a5534cfe15f3769ecca73359377124253506f09152b45f92467a168"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0xbdf5628c9f4798928ae8d619c2a7e150059b13b9ddb14c287727e76c93b68f7b","0xd405040759175022efced12ab63d7e7a768f98c43ad5fa6661f3bb24b2399580","0xdf97b22c19b9088758a872c061d286b077a4f85e3a2e2e4be62688f57a85aa82","0xcafabee0f34b495a8761b9aa0ae6fd760098b36d58c50177d4bf4ee53cbe1f0f","0xb8b3afe602f6d91f8b0296be8dfae606ed9a76414ec02370a898c72d7b7d79e0","0x1e246e96c6ee7163fe3146a728c8b086b857604727b1425e0eeef166ade54358","0x66e5d1263f9b4cca02d5cbf0bc86d5c76642e074afc7a5a11e41d530a45c13e9"],"storage_written":{"0xd405040759175022efced12ab63d7e7a768f98c43ad5fa6661f3bb24b2399580":"0x0","0x66e5d1263f9b4cca02d5cbf0bc86d5c76642e074afc7a5a11e41d530a45c13e9":"0xbbf500e2a1137fd4","0xb8b3afe602f6d91f8b0296be8dfae606ed9a76414ec02370a898c72d7b7d79e0":"0x0","0xcafabee0f34b495a8761b9aa0ae6fd760098b36d58c50177d4bf4ee53cbe1f0f":"0x833d3167822a06"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x7a250d5630b4cf539739df2c5dacb4c659f2488d":{"code_usage":{"read":"0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8383945da72a80fa"}},"meta":{"byte_code":"0xf901cb058501ed96084083040f69941a8f43e01b78979eb4ef7febec60f32c9a72f58e80b90164cba9bc66000000000000000000000000b048ed71007ade3b3172bc6d95781833ffa3aac50000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000034948586ad0000000000000000000000000000000000000000000000001d456f4069c60b411fc000000000000000000000000040a8738c85a7d8610d175573331741f65442fa210000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000be8eff45293598919c99d1cbe5297f2a6935bc64000000000000000000000000000000000000000000000000000000000000000026a05319cc10db44ebf9a09c13f0e3bf858becdd964cd70f4efe9c8b52cbc0ad6465a01fb0c7c920c62f1a76d6387c99247555be90c7ec116f3b531ac5f032eee27daf","new_txn_trie_node_byte":"0xf901cb058501ed96084083040f69941a8f43e01b78979eb4ef7febec60f32c9a72f58e80b90164cba9bc66000000000000000000000000b048ed71007ade3b3172bc6d95781833ffa3aac50000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000034948586ad0000000000000000000000000000000000000000000000001d456f4069c60b411fc000000000000000000000000040a8738c85a7d8610d175573331741f65442fa210000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000be8eff45293598919c99d1cbe5297f2a6935bc64000000000000000000000000000000000000000000000000000000000000000026a05319cc10db44ebf9a09c13f0e3bf858becdd964cd70f4efe9c8b52cbc0ad6465a01fb0c7c920c62f1a76d6387c99247555be90c7ec116f3b531ac5f032eee27daf","new_receipt_trie_node_byte":"0xf9061701840112c090b9010000200010000000004000000080000000000100000100000000010000000000000000000000000000000100000000008002000000080000000004000000000000000080000000000000008009800000280000000000000000000000000000000000000000000000000008000008000000000000000000000000000010000000000000000000000000004000400000004000000000000000080000004000001000000000000001000000000000000000000000000000400000000100000000000000000002000000010000000000000000000000000000001000020000000020000000200000000000000000000000200002000000000000000000000000000000f9050bf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000040a8738c85a7d8610d175573331741f65442fa21a000000000000000000000000092c2ea2fafe891758da0ed2ec2978acf1d4162fba000000000000000000000000000000000000000000000000000002861ae3a6000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000040a8738c85a7d8610d175573331741f65442fa21a0000000000000000000000000b048ed71007ade3b3172bc6d95781833ffa3aac5a000000000000000000000000000000000000000000000000000346c23d872a000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000b048ed71007ade3b3172bc6d95781833ffa3aac5a0000000000000000000000000d845c0db78c434bb85642a3e24a9706a5ccacd84a000000000000000000000000000000000000000000000000000346c23d872a000f89b94be8eff45293598919c99d1cbe5297f2a6935bc64f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d845c0db78c434bb85642a3e24a9706a5ccacd84a000000000000000000000000040a8738c85a7d8610d175573331741f65442fa21a0000000000000000000000000000000000000000000001d548573c571d7dc8672f87994d845c0db78c434bb85642a3e24a9706a5ccacd84e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000695ce21ca030c6839e1618000000000000000000000000000000000000000000000000bbf500e2a1137fd4f8fc94d845c0db78c434bb85642a3e24a9706a5ccacd84f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da000000000000000000000000040a8738c85a7d8610d175573331741f65442fa21b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000346c23d872a000000000000000000000000000000000000000000000001d548573c571d7dc86720000000000000000000000000000000000000000000000000000000000000000f9011b941a8f43e01b78979eb4ef7febec60f32c9a72f58ef842a0c4f2db0bfdf74019c82ce61ce7255ecac93acc22b7c68160c89edf1f88ec416aa00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488db8c0000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000be8eff45293598919c99d1cbe5297f2a6935bc6400000000000000000000000000000000000000000000000000002861ae3a6000000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000001d548573c571d7dc867200000000000000000000000040a8738c85a7d8610d175573331741f65442fa21","gas_used":212460}},{"traces":{"0xbed5b18a93df946421e11ec70542417758540dd5":{"balance":"0x2a8c1f4d2710","nonce":"0x35"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8383a6562161b5fa"},"0x6785c103bf503fba500cf5a83c2920a645125054":{"balance":"0x24f7198bc854c13"}},"meta":{"byte_code":"0x02f8720134843814fea085024f169cfd825208946785c103bf503fba500cf5a83c2920a645125054871bce8036f2cb8d80c080a0bbfc930f28692d0844e86a55ac1761101e77dfa58c3083f50a1ed5f28790aceda055490c601f6dbb647c065cc35df75065ec37b2ae7dff177001a175c2257ca1a1","new_txn_trie_node_byte":"0x02f8720134843814fea085024f169cfd825208946785c103bf503fba500cf5a83c2920a645125054871bce8036f2cb8d80c080a0bbfc930f28692d0844e86a55ac1761101e77dfa58c3083f50a1ed5f28790aceda055490c601f6dbb647c065cc35df75065ec37b2ae7dff177001a175c2257ca1a1","new_receipt_trie_node_byte":"0xb9010e02f9010a018401131298b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x838432e1e118efd6"},"0x556b9306565093c855aea9ae92a594704c2cd59e":{"storage_read":["0x248457bacb20e239ae314d8db91c0f270e453c28ee138c84f97aea6cfcf9a499","0x0000000000000000000000000000000000000000000000000000000000000011","0x0000000000000000000000000000000000000000000000000000000000000010","0x000000000000000000000000000000000000000000000000000000000000000d","0x6fb3d6499c6893e89f9bf3fb736b7cf2c0310cfc902a75c23391b5a78cdf5fe1"],"code_usage":{"read":"0x2639400c39e352e43ee2ce7027e932a47519a7037b663011a86b781039440aa8"}},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0xe9a19ff42aa3dfb990c2413f3c3a0b3e6b18d5ca":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000002"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000000":"0x0","0x0000000000000000000000000000000000000000000000000000000000000001":"0x0","0x0000000000000000000000000000000000000000000000000000000000000002":"0x0"},"code_usage":{"read":"0x5481c469b4de9a82a7e654fe581216aac8692a371b1b23faac4a96ade4c70301"}},"0x8f0c9636efd466994d5f7f6a3ee5ec23ddfe6414":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x93a504b6b5e44f56ede56efc05fc5cb168df","0x0000000000000000000000000000000000000000000000000000000000000003":"0x16687db3b000000000000000061b8c7d957778fd6"},"code_usage":{"read":"0x80271288be237474342dccb3c096824c5f30f4c5fbbd015cdcc13a7652b062d6"}},"0xaf5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6":{"storage_read":["0x088aceb73058ac8868ac6c8b117dd323d2a7697b2375e0cdaefced857d4b5f29","0xc3520d06abf00c9479f36e64e3529ebc9dfef7662e5b501cdd0b658a0d112828"],"storage_written":{"0x088aceb73058ac8868ac6c8b117dd323d2a7697b2375e0cdaefced857d4b5f29":"0x2536b71e580a0c5c5b99","0xc3520d06abf00c9479f36e64e3529ebc9dfef7662e5b501cdd0b658a0d112828":"0x74065c494d85157b657eb"},"code_usage":{"read":"0x1301f7cc610a8a70ae473db5dad66f0db152a54be4b7b788acfba8cb391307e4"}},"0x7524fe020edcd072ee98126b49fa65eb85f8c44c":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001","0x0000000000000000000000000000000000000000000000000000000000000005","0x0000000000000000000000000000000000000000000000000000000000010008","0x0000000000000000000000000000000000000000000000000000000000000002","0x3b7c8b1df7c71af88cda2092b2bbd35702a3b48a00f02a41bbad24edc78296dc","0x0000000000000000000000000000000000000000000000000000000000000009"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0x71b1f784f7b4e84eaa54ecca7d","0x0000000000000000000000000000000000000000000000000000000000000009":"0x10000000000000002fe7842b842c41bb6167c7023000a2a87192ecc6687db3b","0x0000000000000000000000000000000000000000000000000000000000000000":"0x10001000004625e00000000001a7318fba27ad20000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004":"0x159e3f428c05082e75a0000000000000000000000008308c1b7","0x0000000000000000000000000000000000000000000000000000000000000001":"0x10c800c80"},"code_usage":{"read":"0xb4fff2866ef5c525e7efdf2201a96c875fdc7ed607b12603e88877b19c05e320"}},"0x0d93c617b84910be77e1ceb4d126a1e6d6018fc5":{"balance":"0x8a4e9b6b393d635","nonce":"0x3cfb"},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0xd2d12664b5602a91c125d67f2074786d285c458ee5dbce936f461085d9ce4e42","0x6fb3d6499c6893e89f9bf3fb736b7cf2c0310cfc902a75c23391b5a78cdf5fe1","0x0000000000000000000000000000000000000000000000000000000000000001","0x199a262b5522e543100138afd250ffe8fe34df2f35a500fb5338b3e12d518efa","0x65737fafa88ba318df7521295e0564ac1a37e508e32a5c033ea08e361a0d512a","0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3"],"storage_written":{"0x6fb3d6499c6893e89f9bf3fb736b7cf2c0310cfc902a75c23391b5a78cdf5fe1":"0x133fa726a6e","0x65737fafa88ba318df7521295e0564ac1a37e508e32a5c033ea08e361a0d512a":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffc590ad2688bd","0xd2d12664b5602a91c125d67f2074786d285c458ee5dbce936f461085d9ce4e42":"0x119df2e627b"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0x6f1cdbbb4d53d226cf4b917bf768b94acbab6168":{"balance":"0x3243befe6d7981811","storage_read":["0x5e3031963eaefd54e66196d9f709c6c9780f27f0b69679f40513c8746847c3f9"],"code_usage":{"read":"0x6cfc5f65736ee54fad5d76e8b18cb490671cdf067195519be85609aa7fcec23c"}}},"meta":{"byte_code":"0x02f9025601823cfa842fdfcf5d8501f65828d983049652946f1cdbbb4d53d226cf4b917bf768b94acbab6168822fb8b901e482762f5c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e9a19ff42aa3dfb990c2413f3c3a0b3e6b18d5ca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000104ae8f18f90000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44c000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd600000000000000000000000000000000000000000000000000000001388e5b4b00000000000000000000000000000000000000000000035518f6727313bb63d000000000000000000000000000000000001a7318fba27ad20000000000000000000000000000000000000000000000000000000000000000000000006687db3b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0ed7215ac013b5e802c598b6bbf9b3f0b2948df87f548f0b651a50725368989bfa0263a60190e069c3c8836c3d91f965d9d7537fd878b89cc3587b315cd082cd795","new_txn_trie_node_byte":"0x02f9025601823cfa842fdfcf5d8501f65828d983049652946f1cdbbb4d53d226cf4b917bf768b94acbab6168822fb8b901e482762f5c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e9a19ff42aa3dfb990c2413f3c3a0b3e6b18d5ca000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000104ae8f18f90000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44c000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd600000000000000000000000000000000000000000000000000000001388e5b4b00000000000000000000000000000000000000000000035518f6727313bb63d000000000000000000000000000000000001a7318fba27ad20000000000000000000000000000000000000000000000000000000000000000000000006687db3b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c001a0ed7215ac013b5e802c598b6bbf9b3f0b2948df87f548f0b651a50725368989bfa0263a60190e069c3c8836c3d91f965d9d7537fd878b89cc3587b315cd082cd795","new_receipt_trie_node_byte":"0xb903a902f903a5018401160224b9010000020400000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000040000000040000008000008000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000040010000000000000000000000000000000000000000000400000050000000000000020000040000000000000200000020000000000000000000000000000000080000000008000000002000000001000000000001000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000004000f90299f89b94af5191b0de278c7286d6c7cc6ab6bb8a73ba2cd6f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44ca00000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab6168a000000000000000000000000000000000000000000000035518f6727313bb63d1f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab6168a00000000000000000000000007524fe020edcd072ee98126b49fa65eb85f8c44ca000000000000000000000000000000000000000000000000000000001388e5b4bf9015c947524fe020edcd072ee98126b49fa65eb85f8c44cf863a019b47279256b2a23a1665c810c8d55a1758940ee09377d4f8d26497a3577dc83a0000000000000000000000000e9a19ff42aa3dfb990c2413f3c3a0b3e6b18d5caa00000000000000000000000006f1cdbbb4d53d226cf4b917bf768b94acbab6168b8e000000000000000000000000000000000000000000000000000000001388e5b4bfffffffffffffffffffffffffffffffffffffffffffffcaae7098d8cec449c2f00000000000000000000000000000000001a7318fba27ad2000000000000000000000000000000000000000000000000000000000000000061b8c7d957778fd6000000000000000000000000000000000000000000000000000000000004625e00000000000000000000000000000000000000000000000000000000004002f00000000000000000000000000000000000000000000000000000000000000000","gas_used":192396}},{"traces":{"0xdac17f958d2ee523a2206206994597c13d831ec7":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0xd8e9d8ea6f134d03da245979710275316370450c0e8a5afcfc4e8e535674cd77","0x000000000000000000000000000000000000000000000000000000000000000a","0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0xdf70affd7af96966d2670c0f3ed33a9da6b177986dc23d985c9fbdd265f954a7","0x90dc28519aa0d2124f28395255e526fe19c9cf729240e9e6929f4c55987bfc6e"],"storage_written":{"0xdf70affd7af96966d2670c0f3ed33a9da6b177986dc23d985c9fbdd265f954a7":"0x1165db98f717","0x90dc28519aa0d2124f28395255e526fe19c9cf729240e9e6929f4c55987bfc6e":"0x6c8d38f2"},"code_usage":{"read":"0xb44fb4e949d0f78f87f79ee46428f23a2a5713ce6fc6e0beb3dda78c2ac1ea55"}},"0x21a31ee1afc51d94c2efccaa2092ad1028285549":{"balance":"0x35bca50f4dcec11b68f","nonce":"0x951dd9"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8384b0b0a4cb95d6"}},"meta":{"byte_code":"0x02f8b40183951dd884b2d05e008517bfac7c0083035d1494dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000e55038541d2a56e89d843982582e79904013473c000000000000000000000000000000000000000000000000000000002d39ddf8c080a0cd46ece398aa5bcea25f1eee3c45fc25e503885df599744d306836df7663af9aa0222fc72c18011675f925d214022b6a27043824b719317908b1e28d3191affc9b","new_txn_trie_node_byte":"0x02f8b40183951dd884b2d05e008517bfac7c0083035d1494dac17f958d2ee523a2206206994597c13d831ec780b844a9059cbb000000000000000000000000e55038541d2a56e89d843982582e79904013473c000000000000000000000000000000000000000000000000000000002d39ddf8c080a0cd46ece398aa5bcea25f1eee3c45fc25e503885df599744d306836df7663af9aa0222fc72c18011675f925d214022b6a27043824b719317908b1e28d3191affc9b","new_receipt_trie_node_byte":"0xb901ac02f901a801840116b641b9010000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000008000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000010000000000200000000000100000000000000000000000000000000000000000000100020000000000000000000000080000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001f89df89b94dac17f958d2ee523a2206206994597c13d831ec7f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000021a31ee1afc51d94c2efccaa2092ad1028285549a0000000000000000000000000e55038541d2a56e89d843982582e79904013473ca0000000000000000000000000000000000000000000000000000000002d39ddf8","gas_used":46109}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8384d3bf717b8f2e"},"0xcc4c386d47757661dea3f2dd1c59ddeab65488c8":{"balance":"0x25b26e0a3cb5eb6d"},"0xe291cc3e5b9e0c9b37c9fbdd549abf3b5c0ad342":{"balance":"0x13f012f940b11553b","nonce":"0x23d60"}},"meta":{"byte_code":"0x02f8760183023d5f846d68366b85025cc886ad82520894cc4c386d47757661dea3f2dd1c59ddeab65488c88805d29cfd81baaa6880c080a0c369119035d74275edb2e645db85f943b6c343a4e3ed86f48fedf968319a5d12a04de093432ac180c6e0ba993ae8fb05cf12343fb6daf13b16cf1f7da791d13297","new_txn_trie_node_byte":"0x02f8760183023d5f846d68366b85025cc886ad82520894cc4c386d47757661dea3f2dd1c59ddeab65488c88805d29cfd81baaa6880c080a0c369119035d74275edb2e645db85f943b6c343a4e3ed86f48fedf968319a5d12a04de093432ac180c6e0ba993ae8fb05cf12343fb6daf13b16cf1f7da791d13297","new_receipt_trie_node_byte":"0xb9010e02f9010a018401170849b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xb98d4c97425d9908e66e53a6fdf673acca0be986":{"storage_read":["0x70eb51030b1058fe177897bf46fb5b482845d2cc7a9156d0077f35aa76b07a0f","0x37b05b484d36ebed82bf80fb920a4a28f3e6f4e67b449c807bf4a45c4cc8cc67","0x0000000000000000000000000000000000000000000000000000000000000003"],"storage_written":{"0x70eb51030b1058fe177897bf46fb5b482845d2cc7a9156d0077f35aa76b07a0f":"0x189cd621636345b3e96d","0x37b05b484d36ebed82bf80fb920a4a28f3e6f4e67b449c807bf4a45c4cc8cc67":"0x1635bacb50ffb2083e"},"code_usage":{"read":"0x80fa01752e4e9587d6da878d0675711fb0cb2f35843b0039dd5e8202e20159d1"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"storage_read":["0x52d7d57ac9003d1abc2e2febe0f5f83e27cbb2b6c570ac28a709e2b1065c1fc6","0xff41fc1a4467012a5b07073cde03267706f20f2b2e49c6972e0b0b071956a000"],"storage_written":{"0x52d7d57ac9003d1abc2e2febe0f5f83e27cbb2b6c570ac28a709e2b1065c1fc6":"0x2d22df2d245e4a038","0xff41fc1a4467012a5b07073cde03267706f20f2b2e49c6972e0b0b071956a000":"0x450610896eac90bc2"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xcb83ca9633ad057bd88a48a5b6e8108d97ad4472":{"storage_read":["0xe6fed8dcbfcf04410ab1998ea15dc1de2b28f00a2341b29d246290bd9ed8af99","0xe7a701f0c9d3f35f9b231a9c4901fa83ca48393efd76194090643feaa87e0f2d","0xe6fed8dcbfcf04410ab1998ea15dc1de2b28f00a2341b29d246290bd9ed8af9b","0x23661726b40d325960b19a2d69f7e8423f8375e16707d033591cf17afe8c5f00"],"code_usage":{"read":"0x3580ad34da42c4b3aab12b6468ad29375c23c1d6fa37e0b2066a00f34133d499"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8388562eea444e80"},"0x677d05b8bc5c691afd0dcb8ed81404c1ebe114d6":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000004","0x0000000000000000000000000000000000000000000000000000000000000002","0x9c04773acff4c5c42718bd0120c72761f458e43068a3961eb935577d1ed4effb","0x0000000000000000000000000000000000000000000000000000000000000008"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000002":"0x4b069f4c63ad88a4f12aa31e8505ea2","0x0000000000000000000000000000000000000000000000000000000000000008":"0x10000346800000000000203b29f10002cbbd5bc5bffff2404dffa646687db3b","0x0000000000000000000000000000000000000000000000000000000000000000":"0x100000100010000fee53e000000000000000006dcd253345431c001c7b35c"},"code_usage":{"read":"0xed4d68e3214dd52139a55c4ede1fe4c3e98f1b75ca886aee0ed0a4efe49d972e"}},"0xa5a376007035761a7a6b2c897759324e69f92a60":{"balance":"0x170ce2567504e263","nonce":"0x7d70"}},"meta":{"byte_code":"0x02f9036801827d6f8501c26e496e8503c1420ec8830c350b94cb83ca9633ad057bd88a48a5b6e8108d97ad447280b8c42a0aad11000000000000000000000000677d05b8bc5c691afd0dcb8ed81404c1ebe114d6000000000000000000000000000000000000000000000000041fc58bcc5ebc40000000000000000000000000000000000000000006db8c10a57c994000000000000000000000000000000000000000000000000006dcd3a2e17fe180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a701f9db977c98f9043b20225b4322f94dbd50dbf90232f89b94cb83ca9633ad057bd88a48a5b6e8108d97ad4472f884a0e7a701f0c9d3f35f9b231a9c4901fa83ca48393efd76194090643feaa87e0f2da0e6fed8dcbfcf04410ab1998ea15dc1de2b28f00a2341b29d246290bd9ed8af9ba023661726b40d325960b19a2d69f7e8423f8375e16707d033591cf17afe8c5f00a0e6fed8dcbfcf04410ab1998ea15dc1de2b28f00a2341b29d246290bd9ed8af99f8bc94677d05b8bc5c691afd0dcb8ed81404c1ebe114d6f8a5a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a09c04773acff4c5c42718bd0120c72761f458e43068a3961eb935577d1ed4effba00000000000000000000000000000000000000000000000000000000000000008f87a94b98d4c97425d9908e66e53a6fdf673acca0be986f863a037b05b484d36ebed82bf80fb920a4a28f3e6f4e67b449c807bf4a45c4cc8cc67a00000000000000000000000000000000000000000000000000000000000000003a070eb51030b1058fe177897bf46fb5b482845d2cc7a9156d0077f35aa76b07a0ff85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a052d7d57ac9003d1abc2e2febe0f5f83e27cbb2b6c570ac28a709e2b1065c1fc6a0ff41fc1a4467012a5b07073cde03267706f20f2b2e49c6972e0b0b071956a00001a0b05a310ddaf896f76038bcb852cfcb01f0aa3f5c8f513a9e825e88ad96cb49a9a036069212777a1acc390a6c68dc5b211204979311f63e0d792bf8a82a65d33bfd","new_txn_trie_node_byte":"0x02f9036801827d6f8501c26e496e8503c1420ec8830c350b94cb83ca9633ad057bd88a48a5b6e8108d97ad447280b8c42a0aad11000000000000000000000000677d05b8bc5c691afd0dcb8ed81404c1ebe114d6000000000000000000000000000000000000000000000000041fc58bcc5ebc40000000000000000000000000000000000000000006db8c10a57c994000000000000000000000000000000000000000000000000006dcd3a2e17fe180000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a701f9db977c98f9043b20225b4322f94dbd50dbf90232f89b94cb83ca9633ad057bd88a48a5b6e8108d97ad4472f884a0e7a701f0c9d3f35f9b231a9c4901fa83ca48393efd76194090643feaa87e0f2da0e6fed8dcbfcf04410ab1998ea15dc1de2b28f00a2341b29d246290bd9ed8af9ba023661726b40d325960b19a2d69f7e8423f8375e16707d033591cf17afe8c5f00a0e6fed8dcbfcf04410ab1998ea15dc1de2b28f00a2341b29d246290bd9ed8af99f8bc94677d05b8bc5c691afd0dcb8ed81404c1ebe114d6f8a5a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000002a09c04773acff4c5c42718bd0120c72761f458e43068a3961eb935577d1ed4effba00000000000000000000000000000000000000000000000000000000000000008f87a94b98d4c97425d9908e66e53a6fdf673acca0be986f863a037b05b484d36ebed82bf80fb920a4a28f3e6f4e67b449c807bf4a45c4cc8cc67a00000000000000000000000000000000000000000000000000000000000000003a070eb51030b1058fe177897bf46fb5b482845d2cc7a9156d0077f35aa76b07a0ff85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a052d7d57ac9003d1abc2e2febe0f5f83e27cbb2b6c570ac28a709e2b1065c1fc6a0ff41fc1a4467012a5b07073cde03267706f20f2b2e49c6972e0b0b071956a00001a0b05a310ddaf896f76038bcb852cfcb01f0aa3f5c8f513a9e825e88ad96cb49a9a036069212777a1acc390a6c68dc5b211204979311f63e0d792bf8a82a65d33bfd","new_receipt_trie_node_byte":"0xb9036902f903650184011906e8b9010000002000000000000000000000000000000000000800000000000000000000000000000000000000800000000000000002000000080020000000000000000800000000000000000800000008040000000008000100000000000000000000000000000000000000000000000000000000000000000000000000000010000800000000000000000000000000000000810000000000000000000000000000000000000000000000000000000000000040000000000000008002000000000000000000000002000000000000000000000000000000000000000120000000000000000000200000010000000000000000000000000000000000000000000000000000f90259f89b94b98d4c97425d9908e66e53a6fdf673acca0be986f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000677d05b8bc5c691afd0dcb8ed81404c1ebe114d6a0000000000000000000000000a701f9db977c98f9043b20225b4322f94dbd50dba000000000000000000000000000000000000000000000001635bacb50ffb2083ef89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000cb83ca9633ad057bd88a48a5b6e8108d97ad4472a0000000000000000000000000677d05b8bc5c691afd0dcb8ed81404c1ebe114d6a0000000000000000000000000000000000000000000000000041fc58bcc5ebc40f9011c94677d05b8bc5c691afd0dcb8ed81404c1ebe114d6f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000cb83ca9633ad057bd88a48a5b6e8108d97ad4472a0000000000000000000000000a701f9db977c98f9043b20225b4322f94dbd50dbb8a0ffffffffffffffffffffffffffffffffffffffffffffffe9ca4534af004df7c2000000000000000000000000000000000000000000000000041fc58bcc5ebc40000000000000000000000000000000000000000006dcd253345431c001c7b35c000000000000000000000000000000000000000000000330d96c168ad82477f9fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee53e","gas_used":130719}},{"traces":{"0x25ab3efd52e6470681ce037cd546dc60726948d3":{"storage_read":["0x79c92f5d0ba54e8b6546942f90ed5d536e10c244ad006bd093a423052d4efe81","0x4d5a9bd2e41301728d41c8e705190becb4e74abe869f75bdb405b63716a35f9e","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x80dbf27c8c1b054d2517dcf27569a920e21356b6b40840ca8f248c5b23f296ba"],"storage_written":{"0x79c92f5d0ba54e8b6546942f90ed5d536e10c244ad006bd093a423052d4efe81":"0xb5aa4c918","0x80dbf27c8c1b054d2517dcf27569a920e21356b6b40840ca8f248c5b23f296ba":"0x1"},"code_usage":{"read":"0x0818709fd7d06d887834c8735892fffe3d1ef8f1e7892a963c4778b77bc4c407"}},"0x14eda572634627389226153f9fa5366a90a660db":{"code_usage":{"read":"0xabcf7e451fe1c24bcb1dd373b90cff1758706f24b1dfdb454d22547d70960379"}},"0x0000000000000000000000000000000000000001":{},"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48":{"storage_read":["0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b","0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3","0x0000000000000000000000000000000000000000000000000000000000000001","0x4a744c705f95872622ba2c134fdecb96cc8ffccb37846295f47cb2636b5aa9a3","0x6fcd320846fbee69f2aa3879551889d6dc92e3139d4aea791764ad5448e387a7","0x37d3fc5057fca22050af0ce5759ca5d7acf530024f39f535cd618940b4e7165e"],"storage_written":{"0x6fcd320846fbee69f2aa3879551889d6dc92e3139d4aea791764ad5448e387a7":"0x0","0x4a744c705f95872622ba2c134fdecb96cc8ffccb37846295f47cb2636b5aa9a3":"0xb98cdb76a","0x37d3fc5057fca22050af0ce5759ca5d7acf530024f39f535cd618940b4e7165e":"0x0"},"code_usage":{"read":"0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505"}},"0xea173f401253436102da7a77548fc99322bd76b8":{"balance":"0x8c7672e2731244","nonce":"0x2f1"},"0x43506849d7c04f9138d1a2050bbf3a0c054402dd":{"code_usage":{"read":"0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8388d561834da354"}},"meta":{"byte_code":"0x02f90113018202f0845e27fcbe8502540be400830246fe9425ab3efd52e6470681ce037cd546dc60726948d380b8a4c8173c4401001eb7ca448800000000004621bec70000111700006687eff4026609003c0181c1e6c1f20eb309396e25e9dbccc27e697207611adc45673ddb32e2f27458f5e6d217627d3cff1c786d488971316c1ca6b4743f13b44e42efc6b03e385fa027000000000000000000000000ea173f401253436102da7a77548fc99322bd76b8000000000000000000000000ea173f401253436102da7a77548fc99322bd76b8c080a02805f1adb862148d8cdcc9122a3d0f06d74ff22a5c4b1c8a7119eb19b01a008fa03dd949557f212c16fe634c32036404a588f9abcae59143299543d1d4a40f752d","new_txn_trie_node_byte":"0x02f90113018202f0845e27fcbe8502540be400830246fe9425ab3efd52e6470681ce037cd546dc60726948d380b8a4c8173c4401001eb7ca448800000000004621bec70000111700006687eff4026609003c0181c1e6c1f20eb309396e25e9dbccc27e697207611adc45673ddb32e2f27458f5e6d217627d3cff1c786d488971316c1ca6b4743f13b44e42efc6b03e385fa027000000000000000000000000ea173f401253436102da7a77548fc99322bd76b8000000000000000000000000ea173f401253436102da7a77548fc99322bd76b8c080a02805f1adb862148d8cdcc9122a3d0f06d74ff22a5c4b1c8a7119eb19b01a008fa03dd949557f212c16fe634c32036404a588f9abcae59143299543d1d4a40f752d","new_receipt_trie_node_byte":"0xb9020802f902040184011a60beb9010000000000000000000000000000000000000200000000000000000000000000000000000000000000000002000000000000000000000000000008000000000000000000000000001008000008000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000010000000000000000001000000000000000000000000000000010000000000000000000010000000000000200000000000000000000000000000000002020080000000000000000002000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000400000000000020000000000000000f8f9f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000ea173f401253436102da7a77548fc99322bd76b8a000000000000000000000000025ab3efd52e6470681ce037cd546dc60726948d3a0000000000000000000000000000000000000000000000000000000001eb7ca44f85a9425ab3efd52e6470681ce037cd546dc60726948d3f842a08d92c805c252261fcfff21ee60740eb8a38922469a7e6ee396976d57c22fc1c9a001001eb7ca448800000000004621bec70000111700006687eff4026609003c0180","gas_used":88534}},{"traces":{"0x8b6472bc578e98bdc96626e1dee0b0beeef6dac2":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x000000000000000000000000000000000000000000000000000000000000000a":"0xb4b853e9c2985d8a6ef17494f19f8f18","0x0000000000000000000000000000000000000000000000000000000000000009":"0x40e79f8ff2b8c9203f2c8bc5d4c54645bac","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b000000000005becbe0b3205207890000000000003e9376b00bec089d","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x838a7739f6d57754"},"0x42f9d5cf34e9fcb3b69939e332c15a1d344e05b5":{"balance":"0x5b8c4a51512ca06","nonce":"0x464"},"0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5":{"code_usage":{"read":"0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127"}},"0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x0000000000000000000000000000000000000000000000000000000000000001"],"code_usage":{"read":"0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae"}},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24393a853df445fd44ddd","storage_read":["0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f","0x85bf91d4149652fd55bccd0f573b58018c7de40ae355625341f52767e33658ad"],"storage_written":{"0x85bf91d4149652fd55bccd0f573b58018c7de40ae355625341f52767e33658ad":"0x3e9376b00bec089d","0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0xdf82ad29f859e7c25d155d9e35d8533f46928ca9":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000005","0x135d00dc64381c8b037291ce1beae3a945f3c3640f10e98e731c42d548e8b01b","0xf11f6bc68f53f7d3c1530c8739b374f9b233142355b742eaa3c0ea9548706087","0x8c4eb777b75b5614c7d7cc3e0e107fc14ff01a26f59673d945a080ea49fa7a02","0x000000000000000000000000000000000000000000000000000000000000000e","0x0000000000000000000000000000000000000000000000000000000000000008","0x70e3c09188b18994b43e9d136cebc24ec9d5fcc3063a7bba92e4694dc0e3f9e1","0xdba64409956895fea001aac76fbbe21d9f5e130d6f10128ff70f56737700c92f","0x000000000000000000000000000000000000000000000000000000000000000d","0x0000000000000000000000000000000000000000000000000000000000000014","0x0000000000000000000000000000000000000000000000000000000000000013","0x3f6ee25afdc71c31c7444175344213a2aa2a546f9c2e1af9777217e8c8a79be9","0x000000000000000000000000000000000000000000000000000000000000000f","0x0000000000000000000000000000000000000000000000000000000000000010","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x8c4eb777b75b5614c7d7cc3e0e107fc14ff01a26f59673d945a080ea49fa7a02":"0x24aad3053131ee75","0x000000000000000000000000000000000000000000000000000000000000000e":"0x64f","0x70e3c09188b18994b43e9d136cebc24ec9d5fcc3063a7bba92e4694dc0e3f9e1":"0x5becbe0b320520789"},"code_usage":{"read":"0x7f0997f278924ffae6c2cb852cb597b14336cf7c1f07a13ce16874fbef393d34"}}},"meta":{"byte_code":"0x02f9017c0182046384b2d05e008502afe1a51283041a2c9480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e880186cc6acd4b0000b90104088890dc0000000000000000000000000000000000000000000000001b801e43e4e570e300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000042f9d5cf34e9fcb3b69939e332c15a1d344e05b5000000000000000000000000000000000000000000000000000000006687db3c0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000df82ad29f859e7c25d155d9e35d8533f46928ca9c080a09ac3002325fe0553e259256184d7dcf0242f678d9745ca2a967229bfbffa6d72a011db1c2a99dfea3174d517348f487e2f6a8d3739f6506f888ef455ad2f8c8883","new_txn_trie_node_byte":"0x02f9017c0182046384b2d05e008502afe1a51283041a2c9480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e880186cc6acd4b0000b90104088890dc0000000000000000000000000000000000000000000000001b801e43e4e570e300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000042f9d5cf34e9fcb3b69939e332c15a1d344e05b5000000000000000000000000000000000000000000000000000000006687db3c0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000df82ad29f859e7c25d155d9e35d8533f46928ca9c080a09ac3002325fe0553e259256184d7dcf0242f678d9745ca2a967229bfbffa6d72a011db1c2a99dfea3174d517348f487e2f6a8d3739f6506f888ef455ad2f8c8883","new_receipt_trie_node_byte":"0xb9043f02f9043b0184011cb6f4b90100002000000000000001000080800000000100000000000000000000000000000000000000000800000000000000000000020020000800040000000000000000000000000000100000000000080000002000000001000000000000000080000000000000000000000000004000000000000020000000000100000080100000000000010000000000000000000000000000000000010000000a0000004000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000001000000000000000000040200000000000000000000000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea00000000000000000000000000000000000000000000000000186cc6acd4b0000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea00000000000000000000000008b6472bc578e98bdc96626e1dee0b0beeef6dac2a00000000000000000000000000000000000000000000000000186cc6acd4b0000f89b94df82ad29f859e7c25d155d9e35d8533f46928ca9f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000008b6472bc578e98bdc96626e1dee0b0beeef6dac2a000000000000000000000000042f9d5cf34e9fcb3b69939e332c15a1d344e05b5a000000000000000000000000000000000000000000000000024aad3053131ebdaf879948b6472bc578e98bdc96626e1dee0b0beeef6dac2e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000003e9376b00bec089d000000000000000000000000000000000000000000000005becbe0b320520789f8fc948b6472bc578e98bdc96626e1dee0b0beeef6dac2f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000042f9d5cf34e9fcb3b69939e332c15a1d344e05b5b8800000000000000000000000000000000000000000000000000186cc6acd4b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024aad3053131ebda","gas_used":153142}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x838ab55548c3017c"},"0xc30f6750369badb67ca5100daab5f1278db09573":{"balance":"0x0","nonce":"0xd"},"0x60bd5e330c28fa70c2fc5306ff7f1e89ef372590":{"balance":"0x5bd35a42785e74"}},"meta":{"byte_code":"0x02f872010c84caa7e2008502540be4008252089460bd5e330c28fa70c2fc5306ff7f1e89ef372590872f6aab36c71e7480c080a01590e30a3fc0e35bfa60ba176fa7cdecbfd4e42b43338005606d1d263ff04740a00ca03beeb1aa10d8ea81a9ad26946557d0cfa1cf1541162bd4e67de7d7e1927a","new_txn_trie_node_byte":"0x02f872010c84caa7e2008502540be4008252089460bd5e330c28fa70c2fc5306ff7f1e89ef372590872f6aab36c71e7480c080a01590e30a3fc0e35bfa60ba176fa7cdecbfd4e42b43338005606d1d263ff04740a00ca03beeb1aa10d8ea81a9ad26946557d0cfa1cf1541162bd4e67de7d7e1927a","new_receipt_trie_node_byte":"0xb9010e02f9010a0184011d08fcb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xf89d7b9c864f589bbf53a82105107622b35eaa40":{"balance":"0x68519a3db045d63803a","nonce":"0x382de4"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x838adb882bd7a17c"},"0x29c9912cb7c5b1d84ce43ecb18da708a845a88b1":{"balance":"0xf33efce8203d08"}},"meta":{"byte_code":"0x02f8760183382de38477359400852e90edd00083015f909429c9912cb7c5b1d84ce43ecb18da708a845a88b187f1876a4c15100080c080a09667a40a280ef1dd2ebc05aa3d8e3481c2675e7006c363173fc95fce7a07e366a0282b5f27e777f6f0078adee2fe8e1f8d3dbc8c84e9925c10c8182e95cf4b8668","new_txn_trie_node_byte":"0x02f8760183382de38477359400852e90edd00083015f909429c9912cb7c5b1d84ce43ecb18da708a845a88b187f1876a4c15100080c080a09667a40a280ef1dd2ebc05aa3d8e3481c2675e7006c363173fc95fce7a07e366a0282b5f27e777f6f0078adee2fe8e1f8d3dbc8c84e9925c10c8182e95cf4b8668","new_receipt_trie_node_byte":"0xb9010e02f9010a0184011d5b04b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x0000000000000000000000000000000000000001":{},"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2":{"balance":"0x24393a7a5237ab801757d","storage_read":["0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a","0x2958fe9df3658a22b289570bc51074a929e73928b3111f55a69dc697d27eeba4","0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa"],"storage_written":{"0x69d4b4ad61a248c9c09011fa9f24ebdc295eaab0719dc261fc601f40cffadeaa":"0xa9a6baf3c5fd7d3","0x2958fe9df3658a22b289570bc51074a929e73928b3111f55a69dc697d27eeba4":"0x202ba61c02192bb57","0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a":"0x0"},"code_usage":{"read":"0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x838aefa50e3e01fc"},"0x6d68015171eaa7af9a5a0a103664cf1e506ff699":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000009","0xdde3b8dc35ed2f87e16ff8991ce9bbca99ba16daa64f387cafaf922d416dbc51","0x0000000000000000000000000000000000000000000000000000000000000005","0x4ae0b67c27c89585961c17a57edd84b12ae56c3bdd5325c8825e700347d0824a","0x0000000000000000000000000000000000000000000000000000000000000014","0x000000000000000000000000000000000000000000000000000000000000000d","0x000000000000000000000000000000000000000000000000000000000000000b","0xa588ae558a250a08febaf157c34316848b56a778f7ee9492fbd803955522f9f2","0x0000000000000000000000000000000000000000000000000000000000000011","0x7cdb82a7b47be72508b415437d3f0b6d7a6a1aae187be767b6d2532abf3f6f99","0x3b446f7dc1a56177c121033f0293c087033cd6232dddd7aa8801344bbd8eb8ff","0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000000000000000000000000000000000000000000e","0xf6627bfc7a3aeaf484245248112d3ba361e1b669fa9a78c9ae5c91db3d4bdac7"],"storage_written":{"0x7cdb82a7b47be72508b415437d3f0b6d7a6a1aae187be767b6d2532abf3f6f99":"0x1ce83642e0f184bb3","0xdde3b8dc35ed2f87e16ff8991ce9bbca99ba16daa64f387cafaf922d416dbc51":"0x0","0x3b446f7dc1a56177c121033f0293c087033cd6232dddd7aa8801344bbd8eb8ff":"0xffffffffffffffffffffffffffffffffffffffffffffffffff6255b4c19a07fb"},"code_usage":{"read":"0xabcce336862df27c5f9cd818edd6eba52ec187ddc70d67d26b8bd29d54c4cf3d"}},"0x000000000022d473030f116ddee9f6b43ac78ba3":{"storage_read":["0xa13044b5be0a41eae86e187a5a126313df736323f47264f70eab2061d2a034db"],"storage_written":{"0xa13044b5be0a41eae86e187a5a126313df736323f47264f70eab2061d2a034db":"0x1000066af6829ffffffffffffffffffffffffffffffffffffffff"},"code_usage":{"read":"0xc67d1657868aa5146eaf24fb879fb1fdec3d2d493b3683a61c9c2f4fb2851131"}},"0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000001"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000001":"0x1"},"code_usage":{"read":"0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9"}},"0xe43459ce58e22ad7d33169cf0279f11f549f1892":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000008","0x000000000000000000000000000000000000000000000000000000000000000c","0x0000000000000000000000000000000000000000000000000000000000000006","0x0000000000000000000000000000000000000000000000000000000000000007","0x0000000000000000000000000000000000000000000000000000000000000009","0x000000000000000000000000000000000000000000000000000000000000000a"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000009":"0x5d1fb20605ca105cf37a4c64488baca1bc","0x000000000000000000000000000000000000000000000000000000000000000a":"0x33464e1fd8dc9975ab347cfea280c22bc0","0x0000000000000000000000000000000000000000000000000000000000000008":"0x6687db3b00000000000202ba61c02192bb57000000000001ce83642e0f184bb3","0x000000000000000000000000000000000000000000000000000000000000000c":"0x1"},"code_usage":{"read":"0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5"}},"0x2278afd9d60bcf529d9bcfeb0f0dcf84e96577f2":{"balance":"0xb3034f9a8f5136","nonce":"0x17"}},"meta":{"byte_code":"0x02f90532011684068e77808501f8d9f18083044dec943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd7b00000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000001600000000000000000000000006d68015171eaa7af9a5a0a103664cf1e506ff699000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af682900000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e23100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041d4042fd41efd28be8bd6c5929802ded311f1de21b075fe07c0a2d407abef50bd5855d5bab56081c3a44e4e0f8c052b8a0949e9cff75c9b47f34ab7124c5161661b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000009daa4b3e65f80400000000000000000000000000000000000000000000000000a9a5f790abb21f00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000006d68015171eaa7af9a5a0a103664cf1e506ff699000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000a9396462de776ec080a0dc6a390e8786459fecffa10e4e16c62938499c08cc06ed821b21f5a9e6ea13eaa058759e3e40db7b4a850f220858b480bfddbf36591d0e380c8e5cffaa7afe0415","new_txn_trie_node_byte":"0x02f90532011684068e77808501f8d9f18083044dec943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad80b904c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006687dd7b00000000000000000000000000000000000000000000000000000000000000040a08060c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000001600000000000000000000000006d68015171eaa7af9a5a0a103664cf1e506ff699000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af682900000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fad000000000000000000000000000000000000000000000000000000006687e23100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000041d4042fd41efd28be8bd6c5929802ded311f1de21b075fe07c0a2d407abef50bd5855d5bab56081c3a44e4e0f8c052b8a0949e9cff75c9b47f34ab7124c5161661b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000009daa4b3e65f80400000000000000000000000000000000000000000000000000a9a5f790abb21f00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000006d68015171eaa7af9a5a0a103664cf1e506ff699000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000a9396462de776ec080a0dc6a390e8786459fecffa10e4e16c62938499c08cc06ed821b21f5a9e6ea13eaa058759e3e40db7b4a850f220858b480bfddbf36591d0e380c8e5cffaa7afe0415","new_receipt_trie_node_byte":"0xb9067802f90674018401206c53b9010000210000000000000000000080000000000000000020000000000000000000000000000000000000000000000000000002010000880000000000000000280020000000080000000000004008000000200000000000400800000000080020000000000000000004200000200000008000000800000000040000000010000000000000004000000000000000000020000000000000000000080000004000000000020000000800000000000000001000000400000000000800001000000000000008000002000000000000000000000000000000000000001000000002000000000010200000000002000000000000000000001000000000800001000020000400f90568f8fd94000000000022d473030f116ddee9f6b43ac78ba3f884a0c6a377bfc4eb120024a8ac08eef205be16b817020812c73223e81d1bdb9708eca00000000000000000000000002278afd9d60bcf529d9bcfeb0f0dcf84e96577f2a00000000000000000000000006d68015171eaa7af9a5a0a103664cf1e506ff699a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb860000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000066af68290000000000000000000000000000000000000000000000000000000000000000f89b946d68015171eaa7af9a5a0a103664cf1e506ff699f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000002278afd9d60bcf529d9bcfeb0f0dcf84e96577f2a0000000000000000000000000e43459ce58e22ad7d33169cf0279f11f549f1892a0000000000000000000000000000000000000000000000000009daa4b3e65f804f89b946d68015171eaa7af9a5a0a103664cf1e506ff699f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a00000000000000000000000002278afd9d60bcf529d9bcfeb0f0dcf84e96577f2a0000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3a0ffffffffffffffffffffffffffffffffffffffffffffffffff6255b4c19a07fbf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000e43459ce58e22ad7d33169cf0279f11f549f1892a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000af2be5bffbcb71f87994e43459ce58e22ad7d33169cf0279f11f549f1892e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000001ce83642e0f184bb300000000000000000000000000000000000000000000000202ba61c02192bb57f8fc94e43459ce58e22ad7d33169cf0279f11f549f1892f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fadb880000000000000000000000000000000000000000000000000009daa4b3e65f8040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af2be5bffbcb71f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1ca00000000000000000000000000000000000000000000000000000701c1828f311f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000000aebbc9a7d2d860","gas_used":201039}},{"traces":{"0x95d708e96c8a1bce0a8d57c40c7ea3e9288a576c":{"balance":"0x66cc98a00e34484"},"0x86693ad1625b958f0d28b29f108a678fc6558a04":{"balance":"0x1ec8a1f63a28","nonce":"0x3"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x838af1bee4f8bdfc"}},"meta":{"byte_code":"0x02f873010284068e77808501f8d9f1808252089495d708e96c8a1bce0a8d57c40c7ea3e9288a576c880146e8095ee99a5380c080a0c33401e6bc1592678fe863725a4f50d9ecbdb3b3e5e9a95b461f6640b92eab9fa03be1f2980ac10a86d73356eee692920899da07bd83c042441c4c7273861ba482","new_txn_trie_node_byte":"0x02f873010284068e77808501f8d9f1808252089495d708e96c8a1bce0a8d57c40c7ea3e9288a576c880146e8095ee99a5380c080a0c33401e6bc1592678fe863725a4f50d9ecbdb3b3e5e9a95b461f6640b92eab9fa03be1f2980ac10a86d73356eee692920899da07bd83c042441c4c7273861ba482","new_receipt_trie_node_byte":"0xb9010e02f9010a01840120be5bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0xd41db7236004db25223ba16caec9f065817ea036":{"balance":"0x3bcc33c479afa22"},"0x0d0707963952f2fba59dd06f2b425ace40b492fe":{"balance":"0x50394a1cc53c7266d02","nonce":"0x64dc0d"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x838b17f1c80d5dfc"}},"meta":{"byte_code":"0x02f877018364dc0c847735940085035611c72a83019a2894d41db7236004db25223ba16caec9f065817ea0368803acb2bc518ff00080c001a0fce36f1e263b7c747222b44ceded4408b1b063f75bdafbdedd196cb578c85c55a00ee01c58d72b02a8e6bb06ed69d125942643fc291558ce9fa70ad5957527df57","new_txn_trie_node_byte":"0x02f877018364dc0c847735940085035611c72a83019a2894d41db7236004db25223ba16caec9f065817ea0368803acb2bc518ff00080c001a0fce36f1e263b7c747222b44ceded4408b1b063f75bdafbdedd196cb578c85c55a00ee01c58d72b02a8e6bb06ed69d125942643fc291558ce9fa70ad5957527df57","new_receipt_trie_node_byte":"0xb9010e02f9010a018401211063b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x687527a1d17f9ec9b36c88cede131473d7208cd4":{"balance":"0x1f01d84d8f7d3"},"0xc5a93444cc4da6efb9e6fc6e5d3cb55a53b52396":{"balance":"0x51e36d4ab975106bf","nonce":"0x222219"},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x838b3e24ab21fdfc"}},"meta":{"byte_code":"0x02f87601832222188477359400852f082364008303345094687527a1d17f9ec9b36c88cede131473d7208cd48701b1b2511f200080c001a0b41c918044ba263f2de39f84b9ce987f704143a93045aba97440c2697ae1d2c5a04b86957b3787dbf2de2425efbdb8caa1f5b994e2f8286eb7a44de1b674476481","new_txn_trie_node_byte":"0x02f87601832222188477359400852f082364008303345094687527a1d17f9ec9b36c88cede131473d7208cd48701b1b2511f200080c001a0b41c918044ba263f2de39f84b9ce987f704143a93045aba97440c2697ae1d2c5a04b86957b3787dbf2de2425efbdb8caa1f5b994e2f8286eb7a44de1b674476481","new_receipt_trie_node_byte":"0xb9010e02f9010a01840121626bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}},{"traces":{"0x29a88d60246c76e4f28806b9c8a42d2183154900":{"code_usage":{"read":"0xb840e4edc396ffd9ac88069ad407c37c40283a6bd9485ad3768177809b65eb95"}},"0x579f40d0be111b823962043702cabe6aaa290780":{"storage_read":["0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"],"code_usage":{"read":"0x26e751b9fd68f5207c6d2b35f2871bc22c1b05e9d20368c10257dc04ca67f46e"}},"0x6e997f1f22c40ba37f633b08f3b07e10ed43155a":{"code_usage":{"read":"0xf34081fbf7bfe678f77f944710a118649135379aee577a4b7c771454b14f85f7"}},"0x10dea67478c5f8c5e2d90e5e9b26dbe60c54d800":{"storage_read":["0x52e9d648f74e02ce50008a57d5081c4f920cda2ea95783fea4de70ed1ae7e4a4","0x2fc91538fd17eed2919274b35e82d6ec945d755bcc160bbcc56e1ad8c8ffa0b5","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0xcc8a97f97828daa74aad1236a76327ad6ce4f5f1ba50c96f9d478eefba2ac38b","0x2920baa59288dfa235b3c83d093b8549b21122014413c050ed87995c85a07a18"],"storage_written":{"0x52e9d648f74e02ce50008a57d5081c4f920cda2ea95783fea4de70ed1ae7e4a4":"0xd49f492e9c296ac00000","0x2920baa59288dfa235b3c83d093b8549b21122014413c050ed87995c85a07a18":"0x77412f5c40ab106640000"},"code_usage":{"read":"0x26e751b9fd68f5207c6d2b35f2871bc22c1b05e9d20368c10257dc04ca67f46e"}},"0x68d30f47f19c07bccef4ac7fae2dc12fca3e0dc9":{"storage_read":["0x68c90fce7d22b527381433e7bb620545352a5e16c896b7d185422ecf9d72d952","0x0000000000000000000000000000000000000000000000000000000000000097","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc"],"code_usage":{"read":"0x26e751b9fd68f5207c6d2b35f2871bc22c1b05e9d20368c10257dc04ca67f46e"}},"0x000000633b68f5d8d3a86593ebb815b4663bcbe0":{"balance":"0x23577c6c7cd420555","nonce":"0x20a8f"},"0x5fc54737ecc1de49d58ae1195d4a296257f1e31b":{"code_usage":{"read":"0xd23eccec665f8abb93abe395ff73142946694085857a4734f0b92a9344506042"}},"0x3a1a900680baadb889202faf12915f7e47b71ddd":{"code_usage":{"read":"0x4bb63f5c595dedfbf1254bf378e2ef4cadec55a617158f44dea091e05a7c7fa4"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x838d443e81ddc1fc"},"0x06a9ab27c7e2255df1815e6cc0168d7755feb19a":{"storage_read":["0x0000000000000000000000000000000000000000000000000000000000000100","0xf49f66f90f133a827b8a3a21488b264643f7295ca2a21f89574cd50d8f2e35dd","0x995fc65d0d32280f37b26440b1a52ac0116de1e84706a4050c81fa0d5c572451","0x995fc65d0d32280f37b26440b1a52ac0116de1e84706a4050c81fa0d5c572452","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x00000000000000000000000000000000000000000000000000000000000000c9","0x0000000000000000000000000000000000000000000000000000000000000097"],"storage_written":{"0x0000000000000000000000000000000000000000000000000000000000000100":"0x6650cf330000000000000000000000000001ff4a0000000000020c3a","0x995fc65d0d32280f37b26440b1a52ac0116de1e84706a4050c81fa0d5c572450":"0x8221f161a53c8b759c7cfcf3abbbfcacc5cfe723367adbe13df0808c6b5cc4c5","0x995fc65d0d32280f37b26440b1a52ac0116de1e84706a4050c81fa0d5c572452":"0x1000000000134d6ba000000006687db3b0000000000020c39","0x995fc65d0d32280f37b26440b1a52ac0116de1e84706a4050c81fa0d5c572451":"0x6c6b935b8bbd400000000000000000000000000000000000000000000"},"code_usage":{"read":"0x26e751b9fd68f5207c6d2b35f2871bc22c1b05e9d20368c10257dc04ca67f46e"}},"0xcfe803378d79d1180ebf030455040ea6513869df":{"code_usage":{"read":"0xc8691e765e68011da4da0bd9d041b6df46c23fbdd8ecc287fd1ca425cd77d202"}},"0xd547ca5d6b50dc5e900a091978597eb51f18f9d1":{"code_usage":{"read":"0x171230de9c1ed33c1bcd3e3cacd3b4954803e999ef42ac46f3736e6afe2efb44"}}},"meta":{"byte_code":"0x03f9029c0183020a8e84b2d05e008507aef40a00832dc6c09468d30f47f19c07bccef4ac7fae2dc12fca3e0dc980b90204ef16e845000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000633b68f5d8d3a86593ebb815b4663bcbe0302e31382e302d64657600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041cefcaf37fc9baa6aad55ed614d616724b2508dc641f25dcd63a73279f09f38893d55b4da56ddfd2dbdbb8143e1bb5019aaedd17c0ec0aea6ab2d54d9a90b2a081b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0843b9aca00e1a001f308e372a9fcfab0ff4ab5e3c1396c1a36f8eaec613236c5860b891fe8513e80a0093bd0ccb6e6105f5c7317b0ec7b877b02d814a25d61924bdbbfd1f60c546ddea031b4e016e96a5dfc81bb736a89fd39a8b7d2c951f297b2935c20a53c7e400434","new_txn_trie_node_byte":"0x03f9029c0183020a8e84b2d05e008507aef40a00832dc6c09468d30f47f19c07bccef4ac7fae2dc12fca3e0dc980b90204ef16e845000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000633b68f5d8d3a86593ebb815b4663bcbe0302e31382e302d64657600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041cefcaf37fc9baa6aad55ed614d616724b2508dc641f25dcd63a73279f09f38893d55b4da56ddfd2dbdbb8143e1bb5019aaedd17c0ec0aea6ab2d54d9a90b2a081b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0843b9aca00e1a001f308e372a9fcfab0ff4ab5e3c1396c1a36f8eaec613236c5860b891fe8513e80a0093bd0ccb6e6105f5c7317b0ec7b877b02d814a25d61924bdbbfd1f60c546ddea031b4e016e96a5dfc81bb736a89fd39a8b7d2c951f297b2935c20a53c7e400434","new_receipt_trie_node_byte":"0xb9056903f90565018401244829b9010000000000000000000200000040000000000000000000000000000000000000000000000000000000000001000080000000000000000000000000000000000000000000000000000000040008000400000000000000000000000000000800000000000000000400040000000000000000000000000000000000000010000000000000000000000000004010000000000000002000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000002004001000000000000000000000000000000000000000000000000000000004000000000000000000000000201008000000020000000800000000000f90459f89b9410dea67478c5f8c5e2d90e5e9b26dbe60c54d800f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc9a000000000000000000000000006a9ab27c7e2255df1815e6cc0168d7755feb19aa0000000000000000000000000000000000000000000000006c6b935b8bbd40000f9029d9406a9ab27c7e2255df1815e6cc0168d7755feb19af863a0cda4e564245eb15494bc6da29f6a42e1941cf57f5314bf35bab8a1fca0a9c60aa00000000000000000000000000000000000000000000000000000000000020c39a000000000000000000000000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc9b90220000000000000000000000000000000000000000000000006c6b935b8bbd400001d49a3c0bc37f56fcb49f5cc457a65d28b32b4208403aad49371a715ffdc50e5f83c00f7a3c22c418ff0c31b35a2bbd0f3be67cbdc7448b8d322abe9b5280ee001f308e372a9fcfab0ff4ab5e3c1396c1a36f8eaec613236c5860b891fe8513e302e31382e302d64657600000000000000000000000000000000000000000000569e75fc77c1a856f6daaf9e69d8a9566ca34aa47f9133711ce065a571af0cfd000000000000000000000000000000633b68f5d8d3a86593ebb815b4663bcbe00000000000000000000000000000000000000000000000000000000000020c39000000000000000000000000000000000000000000000000000000000e4e1c00000000000000000000000000000000000000000000000000000000006687db3b000000000000000000000000000000000000000000000000000000000134d6b900000000000000000000000000000000000000000000000000000000000000c80000000000000000000000000000000000000000000000000000000000000001ca166f1b6df8779c9da69da038bef34c61f8e7cc72266596d3ef71b3aefccfcc00000000000000000000000068d30f47f19c07bccef4ac7fae2dc12fca3e0dc900000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000f901199406a9ab27c7e2255df1815e6cc0168d7755feb19ae1a0df66aee38ea9fe523cfd238705d455a354305a646748dbb931898b51cee4727bb8e00000000000000000000000000000000000000000000000000000000000020c3a000000000000000000000000000000000000000000000000000000000001ff4a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006650cf33","gas_used":189886}},{"traces":{"0xc70ae19b5feaa5c19f576e621d2bad9771864fe2":{"balance":"0x23454be7ef28bc370","nonce":"0x11b6c"},"0x6e0acfdc3cf17a7f99ed34be56c3dfb93f464e24":{"code_usage":{"read":"0xefbbcc3ff3b1729bf463360653051579fba59b343f49d30dc86822f59282b682"}},"0x47312450b3ac8b5b8e247a6bb6d523e7605bdb60":{"storage_read":["0x177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b24","0x7184681641399eb4ad2fdb92114857ee6ff239f94ad635a1779978947b8843be"],"code_usage":{"read":"0x54256c43e38c9b52189b4ed06fdf414d96b256f6e8ca617b1ec9d21342545cfc"}},"0xd4c4044aca68ebbcb81b13cc2699e1bca2d3f458":{"code_usage":{"read":"0x4a95a5a23f1e28c828b4380960da1795ea5e3aab50ceff8705d6f72ffcf20649"}},"0xd51a3d50d4d2f99a345a66971e650eea064dd8df":{"storage_read":["0xad019bf997b077ce70641c3c038589ae2a35cd780630eb10b0c70b0563863f38"],"code_usage":{"read":"0xa4dc1920882a7e72d2898bd9b366e59b455149f0ccc0036d2d5dc2af8c9159d2"}},"0xf338cad020d506e8e3d9b4854986e0ece6c23640":{"storage_read":["0xc3312d608c59a50378089ddba3e807885a8eea46b12e8c273bda8b229030e943","0x71a8ef1b1265359d77973c3524afac225c0a0d829a0d4da5cac3b34532019fed","0xb4c82a817c6e58e43d4ecb2529caab94383420d8f31e963cfe54dfe32d2cca56","0x8cde0e99a4532474b22bd3952cb1c6b00478babd3678337325283f4f48110fc4","0x04e7be39f2fb63cfd7d4fcfe19f108bc6b411ed972d99fca0a47dcaff878ce5e","0x71a8ef1b1265359d77973c3524afac225c0a0d829a0d4da5cac3b34532019fec","0x71a8ef1b1265359d77973c3524afac225c0a0d829a0d4da5cac3b34532019fee","0x177667240aeeea7e35eabe3a35e18306f336219e1386f7710a6bf8783f761b24"],"storage_written":{"0x71a8ef1b1265359d77973c3524afac225c0a0d829a0d4da5cac3b34532019fec":"0x1c0c3c4c2829ef9a6f24c959a3976f7173c0206f5f104253947e1de3d9219a5","0x71a8ef1b1265359d77973c3524afac225c0a0d829a0d4da5cac3b34532019fed":"0x11b6b","0x71a8ef1b1265359d77973c3524afac225c0a0d829a0d4da5cac3b34532019fee":"0x349521aa6e1e47f80204fe9d87e7fecc0a6fa2b8eb3516d783ac833e0d07166"},"code_usage":{"read":"0x1ba977fc92fa6b8964321bae0ed07d5cd3aa0e26471a961b6685da769bef1d12"}},"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x838d50ac82b45bfc"},"0x000000000000000000000000000000000000000a":{}},"meta":{"byte_code":"0x03f902fd0183011b6b8405f5e1008522ecb25c008353ec6094f338cad020d506e8e3d9b4854986e0ece6c2364080b90264b72d42a100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000d0001451c7ba843757490251aca42a9f2e090db17424e7113bb72194d18c6057201c0c3c4c2829ef9a6f24c959a3976f7173c0206f5f104253947e1de3d9219a50000000000000000000000000000000000000000000000000000000000011b6b0349521aa6e1e47f80204fe9d87e7fecc0a6fa2b8eb3516d783ac833e0d07166060f756a649813038b8ccaf6309697a1c3ca87e777e0da695489ff2406816b6700000000000000000000000000000000000000000000000000000000000000010000000000000000b1d0a19a472f726ad1731b4998bc978ba7b17e7762ba460e0000000000000000a581d5c253369e3f062a455d07549b4d05366601ce7a030f00638c61af0ef1d27b4ade31c4800ab5ed855985c9666f2ab890fe3613264dde00000000000000000000000000000000ca14d93f44be5f8df99338287ae2ae3e00000000000000000000000000000000347a3dfc45b59cc262d9d37236f8471b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030922c3b6264c11c7317ac9871b67841e3a550f73827f9da1a6c84f13eb1bf8f50d3fa3562aa41379a9a9efaa155eac76600000000000000000000000000000000c08522ecb25c00e1a0011ff580dd981f66d1c1748d5cda5151e335f8e2f5bd5a6e5d4c38a8090235ec01a0cd1e4c973ab76ef80d182695a66b1a6aef3f31ea3453d7885bcfc581c254e8eea067617bca1332a035f93b74ecc589a4b3e90ec1fcee95e184c961fe4ab0e88a1c","new_txn_trie_node_byte":"0x03f902fd0183011b6b8405f5e1008522ecb25c008353ec6094f338cad020d506e8e3d9b4854986e0ece6c2364080b90264b72d42a100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000d0001451c7ba843757490251aca42a9f2e090db17424e7113bb72194d18c6057201c0c3c4c2829ef9a6f24c959a3976f7173c0206f5f104253947e1de3d9219a50000000000000000000000000000000000000000000000000000000000011b6b0349521aa6e1e47f80204fe9d87e7fecc0a6fa2b8eb3516d783ac833e0d07166060f756a649813038b8ccaf6309697a1c3ca87e777e0da695489ff2406816b6700000000000000000000000000000000000000000000000000000000000000010000000000000000b1d0a19a472f726ad1731b4998bc978ba7b17e7762ba460e0000000000000000a581d5c253369e3f062a455d07549b4d05366601ce7a030f00638c61af0ef1d27b4ade31c4800ab5ed855985c9666f2ab890fe3613264dde00000000000000000000000000000000ca14d93f44be5f8df99338287ae2ae3e00000000000000000000000000000000347a3dfc45b59cc262d9d37236f8471b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030922c3b6264c11c7317ac9871b67841e3a550f73827f9da1a6c84f13eb1bf8f50d3fa3562aa41379a9a9efaa155eac76600000000000000000000000000000000c08522ecb25c00e1a0011ff580dd981f66d1c1748d5cda5151e335f8e2f5bd5a6e5d4c38a8090235ec01a0cd1e4c973ab76ef80d182695a66b1a6aef3f31ea3453d7885bcfc581c254e8eea067617bca1332a035f93b74ecc589a4b3e90ec1fcee95e184c961fe4ab0e88a1c","new_receipt_trie_node_byte":"0xb9020403f90200018401265e03b9010000000000010002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000800000000000000000000000000000000000000000000001000000000000000f8f5f85894f338cad020d506e8e3d9b4854986e0ece6c23640e1a09866f8ddfe70bb512b2f2b28b49d4017c43f7ba775f1a20c61c13eea8cdac111a02d0226038e2bb412b0866767852a346863397514c296e89d493bf8b373aa85a5f89994f338cad020d506e8e3d9b4854986e0ece6c23640e1a0d342ddf7a308dec111745b00315c14b7efb2bdae570a6856e088ed0c65a3576cb86001c0c3c4c2829ef9a6f24c959a3976f7173c0206f5f104253947e1de3d9219a50000000000000000000000000000000000000000000000000000000000011b6b0349521aa6e1e47f80204fe9d87e7fecc0a6fa2b8eb3516d783ac833e0d07166","gas_used":136666}},{"traces":{"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97":{"balance":"0x8310ca48eb0eaae2","nonce":"0x6e195"},"0xa8c62111e4652b07110a0fc81816303c42632f64":{"balance":"0xc5aa9f78c8b8eb6df"}},"meta":{"byte_code":"0x02f871018306e1948085019239e5fb82520894a8c62111e4652b07110a0fc81816303c42632f64877c05807a2c1b4280c001a04949e240dc773f3a846b7dd76c09523a16c8d3fff090a3485406c80069e39a0da07a85cc059f244cb5da53fa238d0cc7f5001b90988ef2cb3d6b4ec61718ae8010","new_txn_trie_node_byte":"0x02f871018306e1948085019239e5fb82520894a8c62111e4652b07110a0fc81816303c42632f64877c05807a2c1b4280c001a04949e240dc773f3a846b7dd76c09523a16c8d3fff090a3485406c80069e39a0da07a85cc059f244cb5da53fa238d0cc7f5001b90988ef2cb3d6b4ec61718ae8010","new_receipt_trie_node_byte":"0xb9010e02f9010a01840126b00bb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0","gas_used":21000}}]},"other_data":{"b_data":{"b_meta":{"block_beneficiary":"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97","block_timestamp":"0x6687db3b","block_number":"0x134d6ba","block_difficulty":"0x0","block_random":"0x827b17bfa1d9627edd6397ff66376e31aeed366f9d6b52be8f82d6b81276f44f","block_gaslimit":"0x1c9c380","block_chain_id":"0x1","block_base_fee":"0x19239e5fb","block_gas_used":"0x126b00b","block_blob_gas_used":"0x40000","block_excess_blob_gas":"0x9e0000","parent_beacon_block_root":"0x32183d6291e5f55aa67377a4a1bd2c2772192fd720d9880ae58df27d41c1d86c","block_bloom":["0xde2f665ae7cb727d5f7fcbc2ffb49173d9bb9a9aabe1790e2e1fb2507f72bff1","0x460745a5a63b6c78e60bfbf2dab7c7c57bc3bb10bbaa6d319bfffc6c11aaebf0","0x4e03cffe4c770e7fddccc10bf73cb2ebd68e783985503e34aa53ce4aca6fdede","0xd63b8575c26ed62eb3ddfcfb6ba9bf1b023f36ee32d12728db55cfd5ed0dfef7","0x9b49954db57f616c8851f94fafe3c57cc561ffc52d45bdfbf7231e7273f7177f","0xeb86504e9fb1f6be7e37d1c4b814ed7f3d91c94838e7cc479ff7fb36b6f940dd","0x4bfcb0e32e6e19b3d90ecebbda1bdfdc76d48266b56b6a73aaa75457c0b2ed82","0x68faae44c127403250ed9fcdaed6b722f37ef75579beacc69093835c636f5419"]},"b_hashes":{"prev_hashes":["0xbed56907b2bc12399cd960ecf6fb85d2b892e1b4aa38bcab92803e865dcb5890","0x723162f454e78ff104c773fd0b63cd2f20eb86ee4e90f8bf1ccac8c2703ae9e2","0xbae6928a9f3a24d9646a1be90d25dbd505927316e684bb7fe729b02cfaceac14","0xb2e76816eb785fe1385009959a2632d5e9133922cd164ffa3ad508e71dcad266","0xcf5caf4d8b460d2b9da189ee402a8fd7e965cbcb76f528677c53eb57bb5c1848","0xc660c45dd1c4d236d2aa304e8e9542d8e4e72601ba75cd7969089b20690216f6","0x591e943a30f34638ea8614b71be7245959dd63fe927c2eea4b146b4c8d0c3f38","0xb640dda7edcd6c3b757d644400c6fbdd1bf363d2c8b613357cfa73df02143404","0xbf0c46a96088d8f5467ecac8d5df216b48a81289c6c1cd5579724343610baff0","0x8c1dc59a2af2ef1deb0358d47814e37bffd9ea18dc49cb877bc33722d1e3d2b5","0x6944b1f4f4e92599ed2fb3b4b72397a6113b991e71a2c8ef164a583053bb97e0","0x3988e898f5e7509aa9425d744849167e30f433fe2d2ba99194e640b03b0d8579","0x82405d15cb32013ffa887e2fd020b8d9786dcfc54880e04eda672a7e8270ee34","0x544b87ab76e18e56ec0f02e396831a7d9a2c43e79eb287d4f959f360a3e9a963","0x2f55fb5063462f18687830c4cf7359554091d4bcc37d2c2b39ca3e77e2a4714b","0x3b30b7f559bb04d3be3108c8438cd040ac3974a7c682877f630280469cfa0da0","0x757553c994ea29ec69516607221f8e4bdc8eebcd477de841d121118940f3275a","0x74dace0775154246b9f6e9548cedcfecf87172ef88505c381bb1fb752f05dfd5","0x990c0a0ea89cb031db215df4604524b1d756a2f95e90f275d725a243b4c8497b","0x9df7ff7d32830b08420b6f51f6a091552a35650035d5b10e0d24b22b771f5b6e","0x6c7f37da20f5f6a6a834e4280120e8e737179e180d6815f35eee362afced3981","0xc787f044ecdb76e35fa74d9ea9e0925c8b87bda95217a21550d71fc43efec67a","0x9b4e0a5dbf6b1e225cef6aa7730e9cb9cb3ef33159e4151276d70364588b44de","0x650053989d7dff93fdfa6d4075c29d2e1cf0669f6a795c5b0a91b3c4828f5470","0xc21d0332c6e062e7c19b5a85e778c314d268b1f81a4d44aeadc4bed2726e476a","0x3685931cdbe133ed27ec739b891888b7364128d6ff7e7d14dc3df0c5254aa1ac","0xaf78bbc07b841849e288dffba7e0d6c13eddb511bd805863e3c52f6805a5ecb9","0xecce81d5e6150e6ffe5b9037a32174c94e8810c1d206cfc0172ca0102781f480","0x51894046eb49c307957b06982073f637f141158df4f900bc6c99308f1b65c43f","0xbccd9c8581f3a2189bad8e27f26c68efb396fcd794ffdae4c43a4fc1d63bb47f","0xa21918500a2100a36fb06d5f975639cac5ae380532c34c7c0ac08bd543306987","0xf5cbe94566de4e089b1f1696fe10290bdbee9cae13699c9da30bdfa7fb154a1b","0x53dc1521b2df1fa078b40fab03d552259786a7c6c665804a4c9eb97a62fa902a","0xdeb87feef4781d6bd2735c9c274204ed643aa026ea0a91a34016b9ea771b7e2e","0x1bddffaea3284f6dfd6e6da86d2caf7f46ca2ac1fa4040ce2b3dcd79913aadfd","0xc30ed958930bd5e9b111f87dd1278ba24717f234747a7fa0b5f44bc91271884e","0xc618486852f3d83e97aed26ca734b84ea7c184b0b1a8290506457054ff49b1e7","0x817c6bda8f67eb33165eeefe7d84e3c388cd21a75421fe995bb4dd139ec362fd","0xe7b1050e6e896462072fb758c773966b6d2d1598d25612f03e84b31c06f26546","0xea8c1d0acaac29bd203aa7f27de82c1cac126ce62d82812ead275963b5ba22c8","0xaef0a6601be1e014fe641a473886af5f40381bf27a739cdcc3c64c99d1c975a4","0x1a648c44670d72c05e0284366f023e5fbdf4d25bafe979644552f36ddf4d0443","0xf6e5620235af1dcb6caec7f54e382b7432828eeca29d3fac625996d616287089","0x56b7dbca70fed68d8c947527e8d0af786feb09506f14c49d28b1517238e7550e","0x4836823b99d8c29e2abbf762aec3b5f8c4b6e57e51662da0038f962f3d7b7608","0x44781f945135336d320b066130697cae651dcb5135ae858527ff37baee2befd3","0xcd62ff5cdedafc9189d32f0765cbb515ea0e2db02a72b4bfd624bbf6da8a6b8a","0x2a1cbefd7d69859e9fdeca026ee60cf84cbdb83ca0078ac36d78a7493539edbf","0xdf7ef37ceeb244b02ca277cea90634fdedeb4bd02e1e16d259e4b8146ad5900b","0xc172f01e09f9cfcaa722fae524b7dc1309310ecf101bb00cd7c7d32974a2b42e","0x5643d09f7fc5857ee9731bfebbe6556cefe42c4a4b55307a84ba8332dd07ae9e","0x1dc3f8d539b885f0833955dfb5fdf6e2180c5eb9cc078a2375103ed556806b0c","0x6186a70239332b157b64ea25c89d8f1a280d547ba6426471f17b94f5971f422f","0x0b600bc7e280db162c1c1418d61a4fec9ebbeaa8e1d7a73c1fbc6e1cebcde2bf","0xea6cdb36b2d836121a5327bf0a1da218d321f62a6531f308af57808ca0c087d7","0x6eef8caa279a0bcf508c227e855f8f0c6cbb8783042f93ff6e8635dbe3f138c5","0x1ba57ba335e9e4d2e506a89b05acc7317faebb27a5d8e4a2ac7f9bd3f6a2538d","0xe5a06fc4fc73d6b95a5e7debd744a59eb038415ec1a51824f0b7d636ec67cef0","0xde85575660a5371bf171516914258d4bf1f1a2c5fb738c170982402b57a64280","0xf01cbd86193727babca08da63ef8bfea4397959aa4114808de746f43d425b1c2","0xd322116cd8203bd8890f216d7554d64692c0b15b313d89da46ed2f64202a1ae7","0xe4fa71ca75b9c4ae30cfee0d24291b7d6ea6b19805290b4b8651d4e069b1b64a","0xd66ccd15a7f16f982f78c87cd9b2cf48752eb902c06c56f44e8709e69f3713c8","0x71191486e2dc1751209abe8f8424d44b2f8a848a68eac11513e81111f0a2426c","0x74640210cd1bbdc518375ac869b47992d147610501524afbb0709609d80f613a","0x166b1a039b6c0e3aa701d622cd39e7f72922e922b9496add0720c01e55d4ac2b","0xe6f2498ee02c9372b127df2470fd84a5ba51847fdb2c60c3815f3b6bc7b97696","0xefa1a25c959777b1db23cdf4af35bfc39bc485fe5722ec69ca48d1e4f237f19a","0xcfdccd0e209f60a80acf5fd366662640758e3c7f77cca5e1717380c491046fd5","0x1d83c0c6b4368e9412b3d42ac4eeb7a5d8d3d4a1544546a1299c670527c4b3ef","0x1a3223e3331cf3ebf0ec2ce0e7152d428045fac623422e95bdb8dde96b1e6528","0xa865e2caa205763cf5baae6d78ee6566a2d03f61a65ce1e2188ed52d5f807877","0x12e111bbd7d8c94e236c6acbcd906ccceb61fdb20031693dfcfe32b22bbef44d","0x695767929dc69156a70c029b292be694ea5ce618edbc6bcc8432e58a1a48a030","0x6f925e64ab81f86bf2a5d2e13cbc1b3bd62d1eedea3bcb11dd6e1765b8b32bc6","0x2bfaea1b0c526d1aa4ff989a99288d7e837ba9602d578ead15ee969046de456c","0x40330975a1d34eaf5e435363ac25be986a7432aba7b1e46ec74a0bc63f6fb813","0xb6f621e76fe931c74a2be30c851530ce6f5438507c85aaf794a948ba004c56eb","0x920592bac7304a13896461e2b385fede6d617d84f1772f8cc060b206d8618704","0x2340bb3d3b3d764b22b3abe9cf764bcb42917cae60c76c709b9a589f3ac902c5","0xa00ef09766c0fb94afceefe2d0066659d475ed0b0a0712e2995f4e41d82c03cd","0x48759875acb47f1a6e46a8bdc0a00f3ff8d4afa75d245c5a90c8835d2bec720f","0x768f53da3a844116acbe447bba6c697c0b9d2ea6fecb2ec943cf281099ac6bd6","0x95b0835f59d182b43214c2e2c2e8fe4df44c2662619182d9b8d5bb84c109c270","0x0ac16fd0bd86b2ffaeccadc69e907efa4ab2fdaa9bcf492e9df54a98a4d4d18f","0x98309e58844ab3263c55f6ec245afaae0fadbbc582d3a65374df1ffc9acb46bb","0x6ede934773317700056e9f157015b2882223be4a2ea6d6b80a653127733a13a2","0x239a5b79d9ba5ba7df398092d376c6c073d304b7eb61a53cf985e06340c5b190","0xaed20da1b635f4e38fa1ce44b0df1c1dad9518fa9eeab6111ba4195d82ed8b29","0xa18bcf5bae02d4c59645902cfbc175b67bfd45d0448fe9da45308f625dd1fd68","0xf29f899067d222e86f36d28a7514b1d1c5cd1f56e464e6d6395ae79b402b6189","0xea1de01f3bdd188eceb32bcf376dacd1f94789af73eddc25425e63115012d06f","0x5e35d90f9442d4f4061b1e3be33dd2aef30453de09cbb0ec0fcf3042fc855b77","0xc9b3a47d60a83c0c0b0ab0db31690f040a0a3d1338b6e82b576031ef4ed0bc24","0x1a0ef1e20e2861737051d9b5581f35b06c3c97cb09d8e832099c2f06c3fde9fc","0x7a167b087b03ca76eb714f4da2b090804731d427b52779becabf60e90e0d251c","0xe6abbb662ef1b46520f0a547054027246a82c081bef2487e01a0f33cd1758f28","0x0e66d70045c060f7d426996c130f0a0b344bcf7d1ac2e365e1dcb40b64bcb021","0x6605598fb35fa36987fdc9b3faf186164692657a6021468e872ce5ea7d74f1b8","0x9dd058561068a28856ec67e0e675c85c719975bead21fca0ed7198aca873de1e","0x6aefc7c783e361ec48af4abfec73bd4e7336352ebd7daeaed097e756c5afe580","0xce962071334292bce409f7d5ec94c88ae0bcc2d7d6f44f8530e2fa2f4ec3fb05","0x0827663ee0ffcbca56d6854b765773a59a8b96a412642e43e5cc0176d05aefbb","0x3d9c2b348f6c727093ed8b39e9dd7ec30e1b1e2763ca2273338c5e8e73b2c399","0xdd65a9687e9483728ffd68de152c8b89839c7967b4e43041fc1d8cae0dac2979","0x7710adc013b6ad986ca364f548b0ad31b17cfa9d7bf8b8728a96e9c276039d74","0xb21d5331eae38d8e42807a97ba3b80facc96f1adb3f372e015a14f500fa02199","0x1ec6fe83d435bdc9da909fb4a7b5c75c05086dc54dd87fff2771f9c85fec77c7","0x109a6acbc6c65b80695a99337db7040eac718c6b64e62a572aab135dba219b47","0x635a96272a390de4d9e66ebc20f2096bb6e5ac645fde06c5b09f927831bd5f81","0xcb80e5ed02244c6dcf87f6fc62b4d32b37f310d49712fbe58c78de2227d24181","0xce105d30fadd2814667885e6f8534da3c1bc22fefbe3435e726387914a0b4b8e","0xdae3738a884b4745a052d8e42f53f0be7de4b38c4aa4caf928b769974c6ced2d","0x82e37565cbbd557a53355163ecfc6b06ebc3f4f5b962c6da5d2be4076e0215b5","0xdb68664c6cb0dd12f599c71a3735d34d53a62d4a95f9e859f610a039c4545347","0x5ed41be2dd3cdfb05be61fe8effa0b89f39ef55365fc484b88cd92c56ee0552c","0xc8cbf1156da765b4cf233bd93e9e281f89fd076c1ecfa6e0b802b09216cea239","0xfe1de5ba9d3a7fc9310e33922ece6d52affa958ec989fb71b9fb37257ff736f5","0xe050a3db9e834b22257ac8910a2f87c0d300100b41d9de5dd86a79f83a532349","0x8eed9ebec98c5d9915df8595982e7d506cf063a77f265f50505e87297a44440c","0xb3cd18d30a64d1656cc1a93da82364ed1690328d4c25977df11254625688fa6d","0xf59495733165ac512ce74eb2e1bf533104086240dc8e80b1495ffb68e8a70d7c","0xb75c8098e825a6cad607530313337fcd7d7059a7193bd3fd6043936babbece66","0x62b60aeffb2756e62a09d1ebc57b06d43f9948d1fc50e6db38278f7b88388e83","0x4d1f683cfdbc4806aa206fc0bedfc11a7d29b29889ca09eb101ced153f8b4a9b","0x8d1ab3dd6810ef07730dfe2118dd606338b4888c80504504ee7e370fdbafb7ab","0x187a43978fecc19b7ba4daf33cc52f11fbddca81e944d0a9d0f2e50a7614adf3","0xade8b60d8c761c496ae100c1533928f6dc91570ea2f4d1fd6d03200314655a7f","0xc4640b4a634581b6f20c79872117b852992998e65c3413f5bd13eed82bf6db6c","0x3e160cfe376fd81520967519912bcc7835b61eacd7ba390823632c2347829e6a","0x5068bbd18614d73433b4539677b792d632ed67baef0593d7c084f217d51deaf4","0xbb6515edfe7e674ba03ef6d1b73a55be123e56c9a32f77c6ab43e273f2f2af3e","0x369a20c94805bead477af96f224ab147b7b4be2c249f1af5e22fd212604e75a1","0xdc869bc348a2bf325548b95bea368715e177c08d565eee82a0ae61167071716a","0x2555eea83883e48ddd0acc9b0ceed01fbddd2b89af129df7e32f8c9c46317063","0xc3b825e81ac9114376a1535d275ed901661e0f3d37b519cc7ce996d76da297f9","0xf4328a32c4591e438daff22c15d67ad17bb24ad8805494daa1df87ecdb865b80","0xeead7011665e916bcefa5a68a3ee3fda67a674e3d465b69525f48a93ba98c001","0x91b9e6b49d5dab216b99b84e6fccce2643f72e7b04c6a89e895057f365443312","0x47482e35546462d0b7e7ac21a706045632e9d9b2c25b3629158df6756b57dacd","0x2b9d7e81cf66bea6a65b8e0687e07f077d56e42f7dc7ed94b6dbdd93da9accc3","0x053495d619b586c5001872f3659c77465648142431df3eb92d1b7c8ef3e4011d","0x76b5e8f6384ab3116988a0268026eae5b7534b67d349281b703caebd6f34aedc","0xfa971af73cfa6a2667d1d9e9a06f2c3a12eb992c5022d4ef26f4e950d15e6387","0xeb6b360d4e67de6acccc87a319e0a88e0459f11d7a9cd74b8ee15e765d3b7cc0","0x9ffefb6e6d6bd03419a7c2178d784d3ffd23a65ad76906dde3365c75360e4530","0x2de24fcb6d5ada20e0a055109485ef997370beb653315d5ca7c742518d99fd0f","0x4a23086d7749f1afe4e5d39c8b7e5b3ee071d189e10e3868e1102ae987600e92","0x48de1260fef16dfa97e03fc9a0f859f5d8b31fb8bc7e005d1303adaa7c441b9c","0x30a6780bbc2e4e5291a4314f851b6a46e89e17fc8450909e00fd1f8ccdf7cb3f","0x8695b393f142957b97a46e6625a9dd18b4ad47d08f9df71a930314a6f03f1fb7","0x390081166740d06b04bd3bec61ee48da01b788b769acff031c8beb8c2e148cbc","0x4b7f0594f97c4441e60622c49cc69d6eae06b2d0d6ee57a098c5361282abc335","0x6580374f510adfab329dc3aca00d7b61d5bfcbd697ba4f796d5fdffc4e5033b3","0xddee84a196cc8a40b6919016295ef96d1eb20a0d620c51cebc8d773763d54aae","0x85401037303eb5fdddfb527101614be7f9330e98d759b01a6d8284a4fb7e73d5","0x3cdaeecd655c4309761566c4e1e4f8cf62047587bcf975d68b592c746a5888cb","0x7570d7bf5f2f11eef9ee045fadaec683c0b87fc57d4744e6d1c29af0b7f36cff","0x1e98333e828daac2745f72934478a73eab2a8b075ca213142147036459967838","0x8c8ac8ef50addd7d6f96855461c958d8f1ecf41aa082cdb7e6ad02bcf512fe28","0xc5a2e8476d9a54766c5e2242db3b7823d575662c4f22f4096f395cf5ac3960c9","0xf615377a3c6f318235a19492004bade9c51cd8e683f824d314745968f1dea95c","0x9095cd1c7a90d5cb1871aac9a174464341ba8dad804e39f7b11bd590a8b683f4","0x134fc3078c494c657a2a4ca3b2ec5099d68bfc7286f86b2095f488b35b658ba1","0xcaadecba186f8a6391dc898f6ce96164491eb3b6905d218efd7e896527693f6c","0xf56f03f58c433c62e869e990744a29ec5e2faab1f7429e17fb597a3fcab7604c","0x909665ef5fc53760e73b0157d3c70b592888ffc1160be6c44cb929f52a10af02","0x4884d0933e48ec7e343aad090d5fdd9696a95fb8afb80e7233a136c7b6558109","0x3f9492ae51f4ce0a8a245b57c1bf8d3faa333f1569d0be4c3d652b4e98d91f99","0xc1408e40d22a29a6bf554b08efa7d9fa912fd6c8571f6b99e950d2eb83e1ede6","0xa3c13c6165e74c61308964acb97c0788c7dcf2ba37902f5e3c19499d784d2133","0xcf4945352de96bcf598a0162bc01ecaff337cb66cb6e6124741a3108139a1851","0x5a7265df12f32b56e951838e4cdd2763bda8492c59d4cc77ae323cffc3d7be73","0x0b0faca55208262d968aa6d61915e6e38aaf35dcabfa7d07db6823c3b6409da6","0x5164464cb12a4141918a175418fd0f2483b3b40be94c6dcf7fc12e8c9e26bab9","0x6c0196e41b9d3795328603d908923c3db8ea71b4cabb20897ba1414dfabfad19","0x6a1a68ba79837232c41a223535dbdbd586088a574f2ce734fb494df1173f3e6d","0x3f52962e5b6e3d2d5c163c959b4b84d5f6fcdf74c68c2806c12c37b8cf2e2ef1","0x6691b7e38ecbb49d2c808e3b159457536fa0dfec57a99ddbbcb75f8c52504bdd","0x99e79c45cd04f630787c6f493d00270173aa0847a0c6acbe28dfe8855602c7f0","0xfce8f685d2dd527284fc63634b9a7f26e0743819bb79239f0be247fa073383fa","0xf5359456217dc9ba100a72b7b61303fe1c1fb3be751c1e5c7fc61dde32807267","0x616751e443d04b7307edb53a649b495045c45dd93d88e83c99577a1c5c9a4012","0x031a10f7320228b056a28a77ed4134dcd491603230e1ac9811fd4ed58a06e43a","0xc4660d64bcc0c234a3425aca1619a045f321761f38490a40e81a9516d2e78a13","0xb19c6a360e1984b1f75089f52e27c17b57a95e74c64f08fee78a3a8a963aa88d","0x9f811c37886a11567949fc09a809e174025ff7bd8b467a67c05228bf87008102","0x9f4b71a45fd6d36d2f8e95c830020f8a48e3c87e78895edf28b991dab24fff53","0x3a4c7d452e8676d36f185b7ef0f798e2a0b9beb2173f5b783e851b0f46fbfced","0x45f04a2545eff3d66d8e79248dde139b8b00d6bd68a39ab8eab6dd1c39043859","0x6507f4263112a64a3899f43c886ba3b75eaaf33779e0eae59902ee511be75654","0x6a0d92c6460717483c1a37ae05bad1b1dc551b4c7032908266bcf876b8af9d27","0x3d045678c760dbf22f1eee9a743ddaf480621dd07ec30f43a75bd503732a5b2a","0x70c7ad1c8657bd395ee69e486a848e2be20915a94e099c322f0330ef9cfa6f36","0x78269fc12d3bb22eca987c13af30cb530b5b26a2e1163e30cdfe732ed20c97c4","0x8556b4ff7887699238c38871801c438f71237ad654af609977f991b18454fe8e","0x72b215b8bb59544e04c359cac8725dd338970f48d3d7a0c4ba375fc408704e65","0xeeb7d8a6e0518f173454bba65bbb038b20ddaf83ba28d283ccc737e06611bc3c","0x6c055db1541096b40018c9e03925fededa26582223d45be3bc3be7eb25f83896","0x1529c9bd012be0a6815eb95a38504f772028d8f69a1520e93321c39e30dd4b1a","0x18617041916bc0a4c7be1152e4e98860f29dcd5d5330bb1d9c625968a10c91f2","0x6f41561f044d4cf31a79b515468b2363b5ecbc915857647cbb2f525df68ac244","0xef551cdeb3df17d7d70f44743a425abc319e433e36bac69cdfb51716e9138254","0xb6bccfa2ad6e9c082e74b512521fc681b94bf4432a0f0c4ad13e4322766d57bd","0x871bd85f41a627a3429131b044731b25adc12b62fa133dc88d7d0274ce32d810","0x36db3a6ff323fb5a2a1b7413b21d53f5957ca85ff01b7e581197ffd4b3c5785a","0x9a791754cc9d3f210b6bf07551cfa39ccfe4d557a54942c051160b2fb6a75473","0x679f2dec11ab924e2a23ac0951c0adcc333dfc219baedb8f394d5c80a218ee60","0xf8f0d516b2f02fec8556e25be2f2a2f0846ac81278f41847131df407e0329ef2","0xfd685ff814485491605e2bae904325cbf204985e433dd689a1fe394a0823c9e8","0xfe2dd7b99152780fac81f85c4f76e5eda5d0bd2e8163cefc13df1adc17478e1a","0xf2294b578be2af511ce7f5b868ef0a5b20bd0cb0da48a291bfc88a37614816dc","0xdbd0fd6aa1092048ec2b3eb7bc71c6cd41d8c6037086362493aae2648d7265c7","0xd7225d240dc916b0f224b3332e280c41d9d65485b1b88f9bb2ed62756e892be1","0xa4906b1952d32a73ce0a5bd0551c9405082d4068cbb680e58d5ef3693f707608","0x96dee061d89d31f0d219eba3b0779306b15480d0124fa87a7849f961060ee41a","0x8a06da5bbecb048835f8627f1bb880509319e1c6a408f7d42ee87aba008f936a","0xf6e851d13bf5c355e59d96772810a8f1668168940b473a8b1a84f4aa3bc5b4d6","0xc4e2e53acd2bf16ed28a0dbe332fc41651e6d7a6485545af5f1299d71c72f8ae","0x889077fe5765794f9c4f8a59de208a1c96f943b795a4b6c4d409c1618a9ec852","0x8662ca287c0bfc83e016ffe778b65cf9f093379f88432607209a4bc476be47ba","0x558d01ad58475bb58b5dcf9f187206aae2fc65f9074e68519d737af7302abe9b","0xfdf0ed63c07774019994747770cf8b454b3824843ae9699c2611a788dcd84aae","0x53accfd07543eff08e92e3fc5f8a975cf7b5fc25e2ae965bf12343f5ea73b866","0xce691cd5a0c0173efe74ea7ddb4ffa4a6947c4a2e9419d4dfb8cd8fddbbdf0ab","0x0327be8242d9887d801edb7d9944669b6b998d980b61a16d88b29bd0df2b349e","0x8bdc860c46bf25a37c502720a3cb0aca8704fe0890cde7371be94f35125a556e","0x310f522cf1e9287e842947c61fe9044c5a34672face3d455671800a16a514b77","0x48413cb9f7be37621be40d1565b7e6a46f9eb27da4edfddf52376546606f3952","0x3b466eb2033b2be92e665d4e6207d8d2d3e481431de40314c2e52f36cd505cbf","0xa31ed1dcbce01061a1954c68e3ccd4ae9fd8ffa467e2a8dce7ed7ef4396cdaf2","0x4209db5944c934955869dd074f49b724bf9ad573df5142d9b7422a6b2c16da08","0x1c041a14cd48fc8d57f4c7cf115eebf186f8ea4f722e5f6a5363bb80bc67b325","0x8ae6c370a88e7ea8eaebbb9f65e3d07a5ba710ee2a0c608363690a23156928fc","0x9f28dbb0417dcec023950ee3627358d64b62f4275013658ad7e5c932cc911772","0xbdbb40f6897d8ea2f3d69ee83141fa23d5f16dbd7694f378fba953d13bf0fc02","0xfb44db9cadeb21b2ce9b8e06b1289e007880814191e816cc061272b34c3ba6f5","0x2e28fe79f89d0a28e1f70829a884a74cb8f6e25178ed26fe3f76058e718819d1","0xf739cfef90315b0806206b8dfcfb82f17edaa678db578e063018288f4a36c327","0xd106227cfa25a45a97c26d4fc695a09740da79a6958820b746cdea36278f142c","0xcbb26109c8a57bb372a5f65d9633cf39d3a62a83ecc86b1db9250a66c8a375be","0x9c9f757db2a93e7b1f9e4cc03ef7b84b72ee4808d08104aa91e910bba99c7b39","0x7314c42657de433bd2e39c6956d3a30c144c9753097961e3a48caaa4f72a7174","0xd4788d37fce4b005c228b3357eb0919c9f2fcff0586b307e300351bafe43b8b6","0xa4b9518b8f5985418e85f854c12c3e4736046949abe9a6510f3a2e4232948500","0xa5bfe2bd7163b97738eaf21eb49c3833242432991d2cb6635cc86788dc7308ae","0x24eede3dd961e03ba0d7ac3e3026b95689eac4a59eff9ad63e597ec2dd740449","0x5e83b41e461661710f07873ba3d83bf5259814c133dcdc9cb0f64644c5b31589","0xf0d83e25c20c5ece8091848bc96e6fc4c110e97cf7a6d09417e035e0807c7fcd","0xa870f670ae8e85ad097cb45fbe57260ca4f053abafebad9b7d6ae7ba819e08bf","0x500c31e728a280af1add4799095e7229d4a4cdfc6c9c73a62434703ffe34045c","0x175d9a403688316ed481d38537847f2abc8dbf5c63ec42a1c063608d68a24d6d","0x85bc45a722c9048cb0e94f78fc2647a365b43ae0fd802ee27d00df17683c46f2","0x7a325c9bde50c608dc117eb004e54854dd51c5121093ad1c508a86702691d8df","0x16dbaa41ff5764e3a6db71a8f32404d9ea627fb11f15332fc242348ad9150f7b","0x1d49a3c0bc37f56fcb49f5cc457a65d28b32b4208403aad49371a715ffdc50e5"],"cur_hash":"0xea53668c4b92ba05c647ea3eeecea693115e775f028b7c1e3bad98afe60c1714"},"withdrawals":[["0xff18544eef6729d9291634493089bdce0f291d50","0x11bde51"],["0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","0x35d83ec"],["0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","0x11c3165"],["0xff18544eef6729d9291634493089bdce0f291d50","0x11c27a3"],["0xff18544eef6729d9291634493089bdce0f291d50","0x11b6210"],["0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","0x11b89fe"],["0xff18544eef6729d9291634493089bdce0f291d50","0x11ca1d7"],["0xff18544eef6729d9291634493089bdce0f291d50","0x11bb0ab"],["0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","0x11c576c"],["0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","0x3cfa2f5"],["0xff18544eef6729d9291634493089bdce0f291d50","0x11bb3b5"],["0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","0x11b8745"],["0xff18544eef6729d9291634493089bdce0f291d50","0x11bdc4a"],["0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","0x11b6cb3"],["0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","0x11c29ef"],["0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","0x11bc261"]]},"checkpoint_state_trie_root":"0xbe6449b0d590db000103d74f27cd54f4eaf3ed103cdc1c50f7db1ec5dbc26bbc"}}] diff --git a/trace_decoder/tests/data/witnesses/zero_jerigon/b20240058_main_header.json b/trace_decoder/tests/data/witnesses/zero_jerigon/b20240058_main_header.json new file mode 100644 index 000000000..3c394e779 --- /dev/null +++ b/trace_decoder/tests/data/witnesses/zero_jerigon/b20240058_main_header.json @@ -0,0 +1 @@ +[{"number":"0x134d6ba","hash":"0xea53668c4b92ba05c647ea3eeecea693115e775f028b7c1e3bad98afe60c1714","transactions":["0x10baa77ae90bbb5e0807753270a2cd7c1f1e3a49fc75147b9a88ae48266fbaca","0x77d24c7cc1926bdd6abdd67be8702f35b6fe426eca66f2600eadcd25e6bc8703","0xbf27555961012f41458bedada26bdac910f0d312afdb21274e6c0de6cc78ff94","0x3eb53d0c7b5a1549e40221f1862695f577c626480c82993110d020862ef324e1","0x386e5b6d2ce47704cdafd673a76fe8135f3c2056804a52d39c052ce13dcf8613","0x0f89b4d12682ac5743e129f9a047800c6e50776fa3bce1c813cf5c292c3b2b0d","0x3fe7460edb922780ce85a7549c3ac85446a6c694793aa8133e437b5bcf06a378","0x726cc27a5888b23e9a242b7af92d55666afc74f58f18ca0b9a731e3cbe7b6be2","0x54a4c143966f32c7cf6c3b7d4bf527f12cb8083fc6abaf10cc8d5dcd66949973","0x12e2ada283210d0a191c577b305212bb767b4d9f24a715dd078aaf993ed6daeb","0xac75df8c1b2a3baa88a489847bfd0812ad43b3df5306816f3b7fe6b530a0e0b1","0xb80ecd4058cabd710abd7168df90c0c1074955a72017d0576f39587796058b78","0x4b873cba45ca049dc9c54aced8c85484a6f4dc0479349f166f9799aa55731ed0","0xff1f1da5ff35ff6ceddbf8af4836642ad7c432a2dcd05b2d091cabf568fafa91","0x5396249894a92c61ee03437f583df3abeaba49066fdce4d7a424f4106ea47e81","0x31b014a918e48373e058381f25ec70f767525a54e6a45e4d4e4eaa700c55fce1","0xe933e99cfdafcaa300fd1334a99a18eb8ca99ff00647e82246ae1547b154205a","0x3c02338348d916fb192d9ceadb8c291677e5d9f9d8a057fd3451183bf8d1db35","0x1affe87eb0739605fecddd51d2710491cb5274f7a1c556555c8252a2de3b98bc","0x62d8051d4d588fdfca1bbd86d8710e1fcf0c104ac823a501fb75cdadaf387363","0x71a4b962cc272ac70cb55f442013c9b2417541719dde483cd723adf1c97201af","0x3ef1cf8f935b3403bd55c0400f70d0c38ec60f8c1d436dc369d200cf64436377","0xc5b5d3e42f6e190f7e1c3a6c4e3ad8a88a4d0eaf990aecfe8313ecef5e9a9128","0x35b9e8138d24392e5c468f5fb9f045a55dc97df9ee7012869482f8eb76a2ff95","0xebc1b559aff8b1169c6aa9157cdb58f670aa37aa91b975ca5c85006efa0ad2be","0x09fc8f0bde542bc39a48b3ce581ee1e838d3c2f2c190a4f345106e41f5daed9f","0xef49e0da2b7eddadb3c7a965c8f641d70cb7c610f485909151b3c06fa857a518","0x874b826ce0d5650cfa5362f1ceaf74450c717efde705cf70207774438371bde2","0x88d95f46d2b7ac417547ccf0a2bf69ce416613ac8c3368d76cb30ca612264cf4","0xbc681b4df99190ae4cd4dc275d1b904b4818631274540e55bca51281483553d5","0x5b54f41876cb3cbc485b03fd94b52da8890c9b8bf5266d7b8ab975299cdd9b07","0x91d878fc932f13234e2e04f73c4499c6adb7a96113479de34e8d4d6cd582e135","0x2ee8dda8d5a4ab8222d48f608af256ff5b76e321f5e83d4bc226a4ec6473b13b","0x75774b82857238ff577c92b7ec3d2a1ead2c98b5cd71939a913565f1cbbd03e7","0xc3c996a8aa60218995539f3889c715938f367cc954d4440e105060a0d67851da","0xca71b9732bcebd82fd2209076aa065f0503938cd950765fb84e19e1d9adbc603","0xc16c7be2ad78299e0557c554ed69404cd4ba95c2130239eac3d864fd2ee0d89f","0xdc9f750b6b20ddde07d36ec8c54827db2b18ab03372872b7566fca07629e9154","0x2232c45b71c80f53b508f9c45f20c246531e84978aa15968d902716425d4917d","0xc236b6f0458d5647d04c0587fcb443c72a2163fe6b3f18440ad983616374e5b9","0x2720e362091731118f26233c9836bd20585b2c257291029d919ebc6ba65d3735","0xfed2b19d1ccdaf10431b470a0258728cf741095a67675d74f140dc62a7f65cb4","0x00f38dec524f4f63181d6bb93d9ad409396973099e62cbbcd85b323ecee4f428","0x1a0e9585365d26f349cc65d6abeb46e7dc7a1a555d032c89ce1b6453dea9671d","0xe447be5cbfdbfc80884730c315da1cb383977de39b9123cee840688f4c2c28a3","0x2e6e2d10a00d84fd99f566aa1dd99f2a7b18adb71ad9ccd065ea93c46bbca7a2","0x5324cb46e39ac05b71e7133abf896421efc63808efdc482c10f94fcc91c01e5d","0xd98710b2e278015f2708fd350a99720eeaefe5dd63d7cba4da75b19ac641b358","0x80d47003d915faa7f5ce9bbd6f07e0755ae3e0a658ff6e395b283d0172f5bf0d","0x4cb1a391f5b19321d94d27c3d63ce64cdf475ca90010339cc9c0f5e13a5928a3","0x6ddcad7af6f7ff28e831e84e5e80491e7eebe8188f360b0e434cb9fb956b9576","0x24b2e8db688cf6e2e917e9c076c00372d1adb446bcb5965dc275d185cf6aeab7","0x0e0706dd9c73d3bc7e3fdb2b387107538e6346caaba24681343f4aef4a2173ce","0x68e345e1222ff5572f669058f3a7aa6486b0d93f8802a59230c8779752a13333","0x59513960a1ec9b050d5afd5f44573434fecda4063cb5fef74afd49f7cc2c07ec","0xd6b8bc16304f418e5b4d522fa5ed1382fdfb17d120504550d56e98e540a794ec","0xd22a565135512654cb9cdedf4872171f3cdc1ee5e01db63ae9daa29ecec25715","0xc850ac5666def336b01091ab11926a852ade6fa6cf4eb266a198abe570859baf","0xa7725d08276962aee9287c922e07622dd7f2f8e5e52d55a8cf0c10507b0952a2","0xeee01015b80e1b5b2717728d390fa5f44bceedde7a0f5dcfb1f90defeddd5a0a","0x2cf289ba14235df97bd0b1c1d9e010103581edca9dcba2c3e132324edc447ea9","0xf845efbe35808ab9f70af15d1b795285cdd49267fe6fe7d9545d7d93ab1c73fa","0x6d55e82e7c3452eebadd71ceed1b7b354f41f53fc5965a098143ed05750a5003","0x525716fec0f78fcf2282a4d919364d6c07b3741b3a202d5ff91ff27bd0d08def","0x7268d21087c95dbd95da156406b23a11a471945c9755cf7809d3b1b7a2fa55c2","0xb7881dac0a2b3c2a08860dabb2b405d7c1b11cc587c5eefd6392cb060aab3ac8","0x39f6bf42069184a39c1419961fa950d257eb06d0590901aa17b77dd48ffce25f","0x48d03398da8e7d3761ed077731238c0e49bdafdad01882c3502cfacc39e02f71","0xee8b4074d8ad32fa7d35d65d7cf9ad679e0d48cda98a5afef8cc4760dd9b3199","0xe974917ba0cb0ee41f0c4a51a9994cf325275b84de1ff43eee039fcab2c68c2b","0xed565eb3c53274d8454837145a4ac2ae8c04b7141817062c02c3dc65b5b052f0","0x08f8b93e429e9fdc516eff22a5c9d6b65ef97f426cf10355f37b3d34ccb0a98b","0xb005ede15def2e558811dcfded45063fbfdb9353545ea8c25339ff34629ebb2b","0xf5bcbb9071b56246fc1e9e6eed234a4732ac6a47a6ee8855e0864cfd48b6bd1a","0x384c0b9a378a3a45422f2494b945d7f61359bf42c82fa24958d0ee949ad99209","0x8792746825f7744b105c9a60d46aff76064a88e7d3b10f1362605c2bf191e2fb","0x2cddd834594a187bc5c366fc3dd182c18d5500450ecb0afe349062921486bfc6","0x2d50abc7283174efbab8b7581a2b16bd9f1b540fac2377868c5102b659881a2c","0x746be019b3f29ee14030012a22fce027327c933ff03a1a1d47517d6a57965f51","0xe47a41aae99976487b7861d80bb805a79f6f82478e2e518e6179f68ba9b42b31","0x37ee8ef168c13c050174e99e5e3307c8f9f2bd8f7baf2ece14596c39bfeda4c6","0xc607251204ea412f33ca9967b31e742a56c84f37e77a634c8ddc9720202c8ff6","0xd57584bd4f4d8d2758fa56fd98fb00f71780d1b441b5100a28c2720c0f2cf47c","0xe6e64b5de0a9c5a5d0a9f60829187ef8fb1cd1450b3decee82d764c6b4b47e72","0x4840d343f17b6af3491da5b17eb814b4c0861f2f6565f727703f4059aa9e0a31","0x2982540ab35ad428ff6cd55611c3c63c70e6dc4eeb65adb8e4f6daf0629899a5","0x1974aa5c6ae0de183cd630431921bbfed02d242fdc2fcaf61d263d738329895a","0xb63fab5abc247582f6873ad9bb71674e52a0f84ae8964d73c65c5a49a47f4a4b","0x511373f5bf71db16feaf4bfae68ce3af071b6c8e0b0da8b9cc202e83129a9bb9","0xcac4fd8b34138af38dd1fb5643508f37ce7e1ddfe2616c681e0d5c13a594147d","0xb5a5b55502855bd77a6e2b0e05771365bbbd4c30dd552fcfa638d7e896100a1d","0x4b28388c454889248e39ede01790dff88df4c206771fc3f203edccb6589a19b6","0xd31018bdf2c850549e89ad32a74d03ed66a372cff95ba7f386fac51b09f15b31","0xc2357b735a078287707f89b2a129568d9656e34cb6c11f9cd32e02a7d10c9b58","0x62684c02698bdb752d100e3237f5f8baeefa4b2871341a258ac5b6aaf23e8997","0x288cab54801a082ab3f34e79ce775810473ad46716777a19d64a832252db3eca","0x9c03d9019d1581a6fa8fdca0d9729305b111206510b8afeb4d292bfe3bb5011b","0xc117516a08df8a4f910536dd277d65c99c31a28011486ec1ecbdd0ae398b920b","0x9dd43e24e8df009cae824eebe27b8b4197a588896b6af22c4f69aafc57ba0aa2","0x96752d10ceaf86cd13d8d1958be1722d73f48272f9a25acea6c05976a208453f","0xee5490a31c607ba2e7c722095fb3df4e78d8d955a11f51db76a5b19c4d986b15","0x6f75ab1e059f61dd7cb3bc850d9e74a09c079cee4545873c26d01f3b3c35a189","0xa2c022b754d237e61da5a5bf43f0689960ab9cb88b078cac92750293d456658e","0x6c14f1f209b216d853f79549face498b87a7b65e393408181eb953ecb106f685","0xd7fc1912f1d55a0b69844c753949a1382afe642f8c3241c8b9d2dcbc0ee9c8a8","0xa60d1c8ce457390f0b98eef052cc50c8f239e3abedda3141228041b23049c868","0x6604e2160f5dedee6c5649a6fb2099d129a8254984c12e37183654630a5d45a1","0x6586195f7a0a5066849f975cc1046a9d5acf380ca97e10675032fa541b025455","0x0fd528ac75228717c50bf1301c629f031866b41e82645c35863aea79f028cc94","0x4c4686359b8fbd8299f4228d94fda2fbbb8cc517216e88ccccb864d4d8572f20","0xeb448c538c0945da91b490d0a59e05e376bb9a54b417f994f4ede53cb9b9f1b8","0x0c04689b4bbf1a97ecd907316fbd68d8991861683f02bea93193095b7623011d","0xa11ac8f6306c1f17764edfeec331240e0e14fb62741a4a5587ad56ed3e27a9dd","0x5207d8f111587146689fbae84187265753efac48f897301554bf28a0bad35f11","0x7f9fe8a0c25b3a3aebb2338efbcca8507a62bc333ac1acf9aaad9f5eb8d5bac9","0xb66bf9556a9cc63af9e9fae9dbc1161fbbc943ae2beca33b275bdfc12a1272d9","0x4ca39d13b8c40f8160d7332125bcee201d2fe2e98f29e342481a86a97ee23701","0x49e1c6c7a5f72ce8aaf3f71b2fc94bc87b78b3c092a13ba1542e542c415c5b24","0xcc8111473c669a1a23dd48017538b6f2062ba6b20611f94d5d91b540f2b63708","0xc0944eaf281709f025830f99534f4d852563e4f3ade385e170cd85ac6502fc9a","0xc4080487c0e97dcde9a4c4223fb0b654f6e7e617c5444d14692872d165b346aa","0x029b0ac5bb4937aa82f786b559c8f5231e48ad5339026a365a9791be7a782065","0x88bf20195821a0b25565d1a8a2a56836c8880b2dfd385de91610ff374fa63cfa","0xf1ec225976bce5f4fcf1a855e3a6a36d23556d161a0a6b941fad665f2b245d4d","0xa0d3a7ca1d9940db2cb63c0e65bc7e68599c6d995816e1fd337b7b637b2931d2","0xe489a5a7c85280cb7c2064309f6c01cf1e6e0f63e14952587a3d998230d639d8","0x0ff21c69a9f0f7a91ec9f499d2228458a46c3d57d795c5cf0730b858713c0abd","0x03a1540d0095e65d250f5cf0e5f2b136768e00193926ad3971050b48f31a2369","0xd57a95ff6ef9b56207634cddf4d2660cf6149fe12adeea17535d16e95038f23c","0x384f873d81a5d731f80a0707727e78150f455f5371e99d250c4c865438317869","0x39bace2e1faf0b5118a3be2bddfcc51e2f6ebe763b9b9e6af9935ecfc957a7e3","0x9968bf9c49afec7d2e7cf051c768d6449fe6f4c584b251a6ff843c7746b076ec","0xd29a7a5e67eff1e6104ed8984de58da25a23ee5dd759d80fd0021d0e73c3d406","0x758446fd04f04c5c580f8d1b6071e6bff33d67a40726f3859357482afd9f9293","0x02e2cdddf431c1bb4d10cc13c7867d8d5e604b70bdd9100a18c500c34877f05d","0xe0db184b098442ea2c26e76556b3f7af4ffa11c34c1e6ee39b0a882f7557cd26","0x1f609d9dbf86d674f22d93bb0d47688b3cff475680d2ebab953ec36aadad32ab","0xc3d79aabc793ac679261a343cd5702f4c979f534d89d0b4b00b65972545767de","0xbeba1496b81d2bb9c06f1f0c2ea16e59629b8c05d207cc0663afa208f743452d","0x28acf438f77db69fe3d684dec096d74eb4c7b419b3c8d65c6b3373a5706666ab","0x399ea33e26af1af647fa20f03791a5857cb1a7683f906e030777a123d9c50c13","0x1670cec5842c964925f025b07601d22019c2173cf90911ad3bf4435cfc07052e","0xcbbac283d4170c58f4d7f4fae0fc11c4b133d4ed136354e1bea4736b32220f1e","0x440528c529d924386b77527b79a140672796a755fbca8c497c98bc4b9f14cda0","0xdb4b4375f06fcfaccb7e16a8b211caa31e0900e1d1306ee223ea34dddc3dd9c7","0x465cec9a2a565f139190619d6172467161439dfad6953dff7096faf9200c13f8","0x1906c1aa056cfcea858ff1a560442cf8edf73c37c87f10e0acfad9ccfdd7280d","0xcdec80307ec0b778f36627413a637988424750c39a0d7f1d6f1e72a7c8ebc3e0","0xf279eeb6504229de3b3a3238717024503c74d717b2e8bea735b8c1d91245d308","0x6f1352967be840b2651cd967470a9700a2957689331dd425b06f4dd1eabcc2c6","0x98c26320cf118bb7ac0efe52a10d12e5b008d01c79375105b27c33dfa99a3acb","0x57524e0e9f1b36c1c2f1b684b3297d8fbbeb48fa0cfb73d53e86913849efbe3f","0x6ccee1ef3ae9021354557935aff4a2188fc3ff3eac74dd098f199d57be42f0fc","0x77245274cc95e8cca862b656a139b091db748d71e7ba725f9fb62f853ec2286e","0x01d57155d7e2b5769068b5d0ebe2b79c5e935c825c1f9394d31c15cd74eb57ce","0x9b812683207a9e895ed493ef96b3652278026c54cd4c45c45e6a58c4e284affa","0xe1cb09e8b24094426cc94044ae065d2445816f58091ac4c731d6f60a26b030ff","0xd1a39e7787f28514d694b1fdf4138260ec1afd0dc5e8b227f5affbba63202dff","0xde540710a5d8420b7af7d66ab5c7b5a0f7a8ca65bd12ed43a8f2f76583fbb5f4","0x2891945b74450f5272b2ef4a0860631acdcd9f3a43f44024e6b2da2d84cc96e0","0x00f5b59a0065cc39303b9e4795fd7a3146c88872c92daf23b62c1163328ff523","0xc46f39a441deb988f4f5874750b89d02a46ebbfa1b076751668a490a686f7a58","0xa4ec981b6bbf6bea2231428e3750a96a4fd2e88fe392bd7b9bcd128a5acf986e","0x0ce6e946916365e6e183a459e614d8dda6da6f0bff8c27261e763b31ac9c4932","0x6c982987bcb5285b8a2dd9bf5b0ad11fd9d9731ef514018299261626fe3e27b5","0x2e81866d489807990cbdb3ba207ba99fe19586d3c33cbd00c89352bd89477f61","0x357b51b9a081ea8ccc580f4d9d5d0f1aff19c817e8dc2f80dda96fb5ae55abbb","0x4352395fe3596197074b5bfd0525e26e7a9b09226454b1639aa4afca90b67425","0xea31f572d3d12d0ca6119b5d0bb90299de162d69c160248eb88e9b562e10ece6","0xa83eccd8193c8acdec102098d9dfa800bc63ff9e2f0ed4cf657740135b39ffff","0x11c9ea43918e04ee2eb81d7172b095eca1f51f66ac6a801ad9fe8f68521ecda9","0x36cb56905c616f7f25920efbcf8667384bc3ecabe54cd06216e02b1c09fc511d","0xf7b92d4fa89f4eb5e9929a198971bf78c689b3f59b3d8e6c6f19121d3d3e9ef1","0xe2f2e0dfeaf13f4b48e1b77789e3685db85fa8b440eebd7b0df48b14392eb0fb","0x547a5462e235657e9735d1c90745c25fc5ade0a346700b1479f1c4f3f777aa19","0x9efe99afde7352893354505767a3321ab68d03bb7816fcf7d41432e1c58a9bdf","0x1612f38b4d50af9b149bdb909b47f50f1c6e51877f7ce544ae0c0ed0b786b5f1","0x8f75557eb8bc30fe6d73b3bac604fc213544d9d6bc91d657248396f9d84d6248","0xfec7202862e3c9e507337abf1df29c69b79bd3213ec26bdb190e8ab93def24f6","0x9ec3bb4ee77b686018a916c711fecd831e0cf72d7083ab5c603a4844d4542ca2","0x107394bfbd5d863ec343d38f439e1235069f5b9e15e77d98f20ffa0f9efd2db5","0xde07614ec99fea2d583d5c162b71c8f672f542c7a47d3d92245d36faa9d2e2fb","0x757e42e38ec7bdfa62d298bc15f6c3b1b9c8b3fdf807ad202b23ab64638b1e67","0x7b6e2f8903befe1a9a43366163e2210e3504293ba1718f66cfaa8f04eed4f5c7","0x929ab21581ddfedbfa9f391e390ab8f398b6567e614d0c3e51f15c8babd5f24b","0x2b4b05bcd91636475b5afd95f68e1f98d7c57ead038b7352accaea3f00689435","0x6e9922b730896c42c5a769952be52af8f3002c1a441cdbed4e00c23304235549","0xf5a5d30614bc475d65e3eae8c8c46bc874c1b6366d38ae89070906b313e46d89"],"logsBloom":"0xde2f665ae7cb727d5f7fcbc2ffb49173d9bb9a9aabe1790e2e1fb2507f72bff1460745a5a63b6c78e60bfbf2dab7c7c57bc3bb10bbaa6d319bfffc6c11aaebf04e03cffe4c770e7fddccc10bf73cb2ebd68e783985503e34aa53ce4aca6fdeded63b8575c26ed62eb3ddfcfb6ba9bf1b023f36ee32d12728db55cfd5ed0dfef79b49954db57f616c8851f94fafe3c57cc561ffc52d45bdfbf7231e7273f7177feb86504e9fb1f6be7e37d1c4b814ed7f3d91c94838e7cc479ff7fb36b6f940dd4bfcb0e32e6e19b3d90ecebbda1bdfdc76d48266b56b6a73aaa75457c0b2ed8268faae44c127403250ed9fcdaed6b722f37ef75579beacc69093835c636f5419","totalDifficulty":"0xc70d815d562d3cfa955","receiptsRoot":"0x9f07488a43cee51187acfaf324a7675d3810e4f604a591d35788fa456c4a37b1","extraData":"0x546974616e2028746974616e6275696c6465722e78797a29","withdrawalsRoot":"0x28eb7d27ca24bb5ef9da7de28fcdb06838abd26b3b9529e7a5fdb3579c70d0d0","baseFeePerGas":"0x19239e5fb","nonce":"0x0000000000000000","miner":"0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97","withdrawals":[{"amount":"0x11bde51","address":"0xff18544eef6729d9291634493089bdce0f291d50","index":"0x30e7e8b","validatorIndex":"0x15929d"},{"amount":"0x35d83ec","address":"0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","index":"0x30e7e8c","validatorIndex":"0x15929e"},{"amount":"0x11c3165","address":"0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","index":"0x30e7e8d","validatorIndex":"0x15929f"},{"amount":"0x11c27a3","address":"0xff18544eef6729d9291634493089bdce0f291d50","index":"0x30e7e8e","validatorIndex":"0x1592a0"},{"amount":"0x11b6210","address":"0xff18544eef6729d9291634493089bdce0f291d50","index":"0x30e7e8f","validatorIndex":"0x1592a1"},{"amount":"0x11b89fe","address":"0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","index":"0x30e7e90","validatorIndex":"0x1592a2"},{"amount":"0x11ca1d7","address":"0xff18544eef6729d9291634493089bdce0f291d50","index":"0x30e7e91","validatorIndex":"0x1592a3"},{"amount":"0x11bb0ab","address":"0xff18544eef6729d9291634493089bdce0f291d50","index":"0x30e7e92","validatorIndex":"0x1592a4"},{"amount":"0x11c576c","address":"0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","index":"0x30e7e93","validatorIndex":"0x1592a5"},{"amount":"0x3cfa2f5","address":"0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","index":"0x30e7e94","validatorIndex":"0x1592a6"},{"amount":"0x11bb3b5","address":"0xff18544eef6729d9291634493089bdce0f291d50","index":"0x30e7e95","validatorIndex":"0x1592a7"},{"amount":"0x11b8745","address":"0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","index":"0x30e7e96","validatorIndex":"0x1592a8"},{"amount":"0x11bdc4a","address":"0xff18544eef6729d9291634493089bdce0f291d50","index":"0x30e7e97","validatorIndex":"0x1592a9"},{"amount":"0x11b6cb3","address":"0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","index":"0x30e7e98","validatorIndex":"0x1592aa"},{"amount":"0x11c29ef","address":"0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","index":"0x30e7e99","validatorIndex":"0x1592ab"},{"amount":"0x11bc261","address":"0x839d1924ea04ca8c9d45f42fc07d1414f644a2a1","index":"0x30e7e9a","validatorIndex":"0x1592ac"}],"excessBlobGas":"0x9e0000","difficulty":"0x0","gasLimit":"0x1c9c380","gasUsed":"0x126b00b","uncles":[],"parentBeaconBlockRoot":"0x32183d6291e5f55aa67377a4a1bd2c2772192fd720d9880ae58df27d41c1d86c","size":"0x1a76f","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","transactionsRoot":"0x868e868b70c53463e7762a56dc769448c365d2a5e673935eb0d9a8f61afa6bfb","stateRoot":"0x25e32f3be27638d39979675fbf041c089068ac66184b5ffb20c57e244d05711a","mixHash":"0x827b17bfa1d9627edd6397ff66376e31aeed366f9d6b52be8f82d6b81276f44f","parentHash":"0x1d49a3c0bc37f56fcb49f5cc457a65d28b32b4208403aad49371a715ffdc50e5","blobGasUsed":"0x40000","timestamp":"0x6687db3b"}] diff --git a/trace_decoder/tests/data/witnesses/zero_jerigon/b4_dev.json b/trace_decoder/tests/data/witnesses/zero_jerigon/b4_dev.json new file mode 100644 index 000000000..ebd5c8161 --- /dev/null +++ b/trace_decoder/tests/data/witnesses/zero_jerigon/b4_dev.json @@ -0,0 +1,483 @@ +[ + { + "block_trace": { + "trie_pre_images": { + "combined": { + "compact": "0x00055820025e54f1867fd030f90673b8b625ac8f0656e44a88cfc0b3af3e3f3c3d48696008410103c0e0b54cb105bad41b4b925883507463ddfae71c619ba2e41d6d57da2a28effe05582002089e01be9eb2af5ff5fa1c5983c6c6fb78dd734658d1f8f11d4f8d27a23fd508410105582002242954a5cb9748d3f66bcd4583fd3830287aa585bebd9dd06fa6625976be4908410103386a1e942dbe86342b17e2e8b28a259d6db65df8e05f944951a089bb9f3d989f05582002c57780db2d0b81258ad3be5df2c3a9e89e4c06bfaddc3a1f4e3b94012159470841010366e01acc8a9826bc3d5f5286819fc5883dfa30943331f1e7ff2968bfc57ea2d0055820039f18de77e9451867cb1935f9acd56f79cbc11d04826c3da6b420a4f4bbe21008410105582003f9e7ea2370ab3e3ee7f0a465a7dacb6c9b7e65196dc496d5570a0d8020bda008410102190600055820023a3c99f34afe9d2c8cecc90524ef63afc9fc13384d5d931281f414d5d487c00841010558200221eb4f7c202eeccd6d87627f3d512e630d4d05578585847168758fd1aaed2208410103e20d629ffd2bee3848106f86b98c50a9de755283203bb778c19fa269c8ddb2e3021973dd03b50ddf00288cc8c1335251b04bca656323545634ddd2230f1784d3f21769bb5303a1a57b7c533957b29b5159c8c3527a39d1354dbb0baaa48fa705a3547652f9a40558200268288056310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d08410105582003381b518c6b754185d6903caf17b4f8dc30babfedf8072b118bbc3eec3013f00841010558200353c582284ec93075084bae0536b5ab7ae44a44ee2718489b72be3aa78c3c7008410105582003efe8613a1e673567aac83294fa0da6d048e5c7642227017441c9f899fed1b00841010219980003b3eff8c3276453e74ffa533f62aa51a64ffa6d70de8432f91882e527eb2bf04405582002dcd435bf7d1820085f6c46d587cae669ca7c2d3ad4cea9db320a0b3c8bd21d084101055820026d9674aec5c8329252cb634022308bf4c98e70edec613d925ab781483445a40841010558200250131be868de2741cb775d0ff800631f96065f40b60845bce72e782718af23084101032a4f587795224a9d56359a071f3573d9380caadd49bca1b63a1ba7e20d9e666403189246c7af8faed2c7d3f87dc8b5a51d787f6f8ad659ac6f9172294b3dffed4c0219e57c03620752d6bea8de401a8c510032e39222b65b041db368434fcc14a225eb1b85cb03d824ad267b926051a297bdf654a1edbe5faa6d0df67a3dc0ab774b73fd07617c0558200299321a0f2023dcaf15d6d7cd65c1996c7c3bc0b6b7c6e08b37c34386c3c4b7084c033b2e3c9fd0803ce8000000055820028487f1d48945c7743c412b0f026d722a4641d5978f11a0b44dbf7c1d274d4108410105582002dbcce1b599ebed46e2569579562031255ea9a1c1c575fdddb0003f4d389165084101030b223f60e135cec31dbd69a809d9b93c5cd1ac17600d9be3301b35c339cd2505033cca1eb0ee4bbf953527c1da5f3bc3f76caceb445acd5bd73a1177a19e2d76fb055820035e1e82ca50b7334be8990b93a8b043e771340cc9398baa23845763c696d22008410105582003378e8ecee785e1d65200d738178432cbc9ad55c49ea5af905629d348416c2008410102198002055820021b6a8f228675a171126d1781aeb52756d6fe5685af8c7ec23dc8187d783d1f0841010219aa6b05582003d2dbe83a6ba7fd75737c8d7453d984e7938ba7ae113d3da2ad7433061157b0084101055820039c0a91ba30d346a55890b1b07287d8aae35baa8c4068ef8f1de66084aca750084101055820032dee2834b372effea65d7c74ab9f3ac60ef271e846721aa8759a346a3b55400c024c033b2e3c9fd066a5d0dfaece0219020303d2e57f615a47508c6e60935353428b9fc1cc75677a3eb8f5f73d61dd0aaff5f5055820021d99c6bec3aecbec962be74b25448511983b013c0876f6f4e6029773dfad61084101034d78166b48044fdc28ed22d2fd39c8df6f8aaa04cb71d3a17286856f6893ff83036c029a231254fadb724d63be769f75eedd66362df034a3e663252b49d062a66603556a482068355939c95a3412bdb21213a301483edb1b64402fb66ac9f3583599055820022a47fc6863b89a6b51890ef3c1550d560886c027141d2058ba1e2d4c66d99a031bffffffffffffffff05582002b3096c912adc7674ca92b68ddb3b0494e9b988fbef1bed7938e8fac4c2df7a0841010458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff0155000058210305ffbcea081840d4f146ce013a2e366f184c0f5240dba16aa6c7c7402a64b0205820ec0a91430a514b9c649abaa26610fb588a907615d439d4eef314f8e2448a90f400582103bd97190b8abb9bb09d1315793c6fd5a3ee70a78a753fe454c3366065914d6b8058204166bed986ed4a39a116a5a2cc8ee7f22835032ff823d461def8d6fed3aa2b93005821035e75f6afc807b45e7791894c1ff8975a5d2e4ef9a51412c975dcd8d58d6ed23058203a5bc37d673516c59dc719217bd08f52350bbb8fa968f133abd06edac92c2414031e2a6d00198e0b9940d99684bdb5a4a701f50a0e91829dfbb1cd42bfe050f22300582103d9aa8e0c124b9792d3b4723e50bace02a833d0907a0e015c2e493196d41a3d90446696403e021989a005582002d65eaa92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e420701186105582002401b4e97e67c4a6d8095979b4c1ecb9eaf5726fc8a12798975a7653e98087208410105582002c8bb92227ba91a2657f29c5498f5c5b07ae36369c8d9283444f477930c79be0841010391d9c76bfbc066e84f0b415c737ab8c477498701d920526db41690050cfade9905582002a5ac70a18399817ccbe8bd4d9c78115136cc61699d51af87608af520226c320841010332c4e2e34f728dcdfb72b19aaa2820ae03ac86df8fd7faaeda0d3323b746b23705582002a06a67e7fee9c938155c50e6cec9da70b66679e777da6f02149c6674cd910508410103d9240a9d2d5851d05a97ff3305334dfdb0101e1e321fc279d2bb3cad6afa8fc802197ffd037b4ca257471022cf8582b0e3501af4d7d86a766fd771ff2b2aaa59131a2e883805582002351b958be1e95cdc37f7d2d654315e33ff7f45bac9179f9242fdc828c8d2e3084101039f433009e787104ea882024d7494d573a1907321e7edae2035ee2b9d0f1fce0805582002926296aa3c8efab7e2ff9bc644236193fa657726127559ba0668734d1b279008410105582002b0937bfe39b0fdadcaa8974daf324193624b47f4918234645819823dbec07f0841010381b2e51f87502bb712f404026cc4af65c1690c57ed57e16bed93e44a5c6ad0d9055820021703c5eda8644a64cec152c58f5aacec93d72fb0bfa705f0473f9043a8357c084101055820029fe686547f4a999d2818aedbc18b735ed2cd502c30124a0b8af861b2251f910841010358f7ce834fbf740220f4f8c74dff5083d822e22cc84b6df4de96133214eab02a0373da6d47013a22b6a1eaa0b9e9e3e60c43befe62923ae8e3e2f477a6c2fb6b920558200271f10b7c3ab26d055e63849b4fcd535d99759a15463e11b2b780cbb7e7c42f07011bffffffffffffffff05582003029773e7175f32398422fd18c6cb095e5278ac7be41ca4a5a6c0a6dda1a7100841010558200345ef2e8c78482bbffcbdf4921cd375065e3b5024a3bed469a9f34b2e773e7008410105582003e4e0299e5362578a95a27bcb779b9a89232296388db803909696f90635581008410105582003aa64d3084b873fa046ff3baabd6fa9e04acd7640914c922ce055ddffb3fef0084c033b2e3c9fd0803ce80000000219524005582002a47b0096edc63bd82ff436f3be00e0998d92eb1db3c72e2c71e4f9abd0ea7f084c033b2e3c9fd0803ce80000000558200209550da9ca55ba375e56c525b49b27814d20165528e4e7f309878221b2878b08410102196bef03cd59d7f99bc34ffe1962b1e979dbe1d9ebcfb17dc7993417563b14b204a3d3140394f4bbbb7234d5d84daff7196be134766d89f6bb89b989c5ab23dd114181f6a803ba580353c520d4097c52bd481df16da654869fb0e37dfd91af6f42bf33f1ee310558200280c7b7ae81a58eb98d9c78de4a1fd7fd9535fc953ed2be602daaa41767312a08410103240fe04f07c1e7c842151629719b748169dbe9944bacfa4fa148a8e8f2adcc5605582002d423ba59df7075b27e5d573ad8399ac6ab8a7541efb9a1e646a67244301fed08410103d1bac769815d4254a62cf5d5a7bcbe4bd747818eb0201e27df966a0c4efbb162055820024be2322eb50cfea1051978c284526cd5a6e28caca681855736a5d3c31d9bad0841010373aaf5a5388bebf4f19f83fe0c975e091c482cfa95437f14cb80311107b582490558200233820c3d76f4de8d1e0eca24c7d2fbef76189b6a43a7afea4dfda5b50edb96084101055820029114e8c0b1e858bf7322eec122e3fc4b0988f146620def0fde9dbd322f3a03084101055820029e4ee172469cfda38a7457ef192b6efb169fedb73943e4c987d4eb910189d40841010219bd5f0558200242501054831920bc9d50a33d6be1b5a8214c31ba9416958f8996cdb6ddb05c08410105582003f300bf600b7b050b9b70fa57140c59a5f0b9fc5b9d0bdab11d108a71fc1a30084101055820038deb7c736dc50b4590ca066b72173d4e2c3f75bb109396f32eaaf9ad11bc800841010219020803c446e8de0a9d965c284f83b743e0a396e2b9271e8880fcf357d2e42f71d31b9b0141000336750a0cdda09ef53dc4a7510eb69e87fbafb1739f51d52c60214b7e0d276ddd034eb05cc2337a47e5d315fc9e2972f88b2282caecf7b79cb486ccf4e64ddf54cd03044dadb95a10fad8f922e38449d128807ed6c4b3e6af52d0faa865be8cb8847405582003c4e8b7c710531c9e66166d0629ff443df19cefa081eb4fffcc7d267ce7c92008410105582003fc729e28e1bbd2e63dd0803314deb808ab044909af882b7935dd05f5939a400841010219400205582003c03103b55a45cc1e4550889a9396e7e331b5cf1729e4871ff4dee701139e9008410105582003fd58769c6966e31aabe28addce6151f2dd2ea1d9c307e09c6c9db95b6b1030084101055820034eb2fb308fd641346533a4acb9c4cca3e2d478e9075522646c972a2062985008410102195004036c457c05a87c557f84f6d98cfb3754a20c1ded0550ef405433d3514f332c77df02192d7503d373de5d2cc292399a9d090a471c4c33c159d3ce73bfdacae447d272c8da9ebc05582002422a3d36c93fcbccad2e502775226f375e264e35fc55ac20df1e9f050e8b8c0841010558200244be2427cacf17062cb030d30e34c3b543b28a83707df04e64d3f7ddb471b80841010352c99498f35486d132f9b310de374aef7748a9b86c60034891eb0691f0d6f12205582002deb2f042f1717cc882c5a38bbb6c524932352ff25baeb8b8fd2225095e29ae084101038589ce5a27d65e0fb8ce5039cc5fc775fd6ef52d68cf86678d24419824d720e8039df14aca57590ebcb70d9a39f4a00ec27aa812a51b29fc278d7b131f2fd4c1cb021963a20558200382280e2f4a8ea9001c8e22332a3dc3d3a692b549d3c90f65796270e1eb770008410105582003e858ab09789d26cf1128775756a8abe1c8ffc4218d3e990b3d25a82583255008410102190808055820026ce1d60ac9f0ab5944acf1c06700a585f8407d670495c7811b97cf8263b43408410105582002636e470aed3d5817809266ee760c937518e39e9dd5dff6d16bc4ce686f0273084c033b2e3c9fd0803ce8000000055820021a506039e25a818f35aa0e3ec58c64df5c106245dc25ef6fa4cf1eb1aab56a0841010365de2217b2adba191d2265fa39db69a8db285f101bb129d69333d5b186e018e405582002e586aa1ec2c29aced4feb5adf9336541769b93cd5b8cc1b64b7d831c7b0ec208410103eb807c998c8121096590914360437e305114661e0211bcb369c507b799a311d705582002d81a60355138e9a80054603fe23d7896544254f66e236d478a9b033c3a03300841010358b9a4cefce490198aa949f3e1c433ef31e58af8f504c6991f15461025040b470219b70d05582002b0d289ea211dca8e020c9cc8c5d6ba2f416fe15fa692b47184a4b946b2214d0841010558200246dea22f2479752816b65aa9db1b835efefbc1ed11804699683897cda4227e08410103d3d9dd8b4f24d16a4ebb1377a4d051c8f85a91954f7218dba76fe35664f69b670558200282bb006174ed014c59e6eee381c6e10bc9304226edb99edd6f8e9041e9d9a7084101055820022470b3e52c94f7bd5d4962a1798a41425bea74ad087a7f53aebb785401df3d08410105582002e40dcbc49746e31a754155515aaa232bf0bdbfd5a7ab77ea9cd39f4b7282a108410103d5a4ef087e85eeafaad311857f18db6e67057cfb511e1fa0beeed8dfb006064b0219c2e1055820032c3f36135f79c57aa5683d97e5d5750c37d0bd0ada215e9a96856c56d7e9100841010558200322226f85371b5e5e4173b33a1b9629d745961f36e9b0510c591f11e3dd95b0084101055820031ddc6e3aad69109e0e8c5d15e8800e220b192f85f369e0bef5cf858dccf9a0084101021986000558200216c0a47b12c20d5ac5c381464a89521d8b0c1a5cb328aeabb29b70bc3347d408410105582002b41c13f6e16fd2242a43b041cfd1f02cbb4cf06943d14365bb8f0a30ff507a0841010558200225fd832d00c025204251bf6c3f044d57347429973f8c48fd3d325f0e758f1b084c033b2e3c9fd0803ce8000000055820022e9dc15a35c1ab9d0ac4345b1f02fd8e8070883a33651c0c143b25827082680841010558200276da518a393dbd067dc72abfa08d475ed6447fca96d92ec3f9e7eba503ca61084101055820023db8611e8d0c159eb724d2aea72763dfb5a6909a8516467c79d0386d61a51108410103fd04efc67927fbaef3b8defd259a7f78b261bd8a0f93eedf78c0cb27c491083a035d7440f0855555f9980962c3dcc366331edae88c9f886a9b4871ae29ae6cf5e903ce35ec89408b73b495e2b3e0ef46d1ec796c7c2e6b05b8ad21547ffa391875c40558200203175444dc43cc33391c4c4010eac15d401b2eb5ffc7bc778abe372f28ce370841010219e75d03042725662c701c4b9e20f7a6ca8eed26fbb75c57a661a1881feac698c2077201055820024d9fdc657d712208d6e7c2cfbf62f7ad7ba1bfff2e63e6caee2b0bf5bad0fd084101055820025939867994cd8e5a18f341628420fa8ab88b2f5d05ffe51291654922f5454f084101055820021ba6d576dbde0542d30a9264e2c71be270e3eb4f5910567a8c1c0619a2e5ec084101055820021089e529c1ff6c4d6583ecfca7ea6419bf39e0d418686bb7a24424c670b332084101055820023f6bc81ecfaf0cf4c3dcd9527e3c0f6910383acf964ed14b194fa660d30b10084101030c3200044f30f8f6d054da321c29ce33534ea85d85a655500bc763e9b878b3ad031696e2d680544beff6f9cf8e7d00e608f79ffcd716dc58a5cb82609f8e07cb9e05582002af72fc0534a4a5a94eb1f64cb1bd6c425acba3249fb8441e7411e9be9ec1f30841010558200264e3e72bf85be5684a53d65672caf037bf80d71a339ee85e8c2b719fff575e084c033b2e3c9fd0803ce80000000558200262e8d8d0eb3d7432758c244131f1649874367cc52a4fa4fd0609def9e57389084101055820020cb591a67822e88dcebb8991bca5b7305b5858d65bc2b5e6605e481a65058808410105582002dec651652e0aa17e056de1790554aeca5fa248cecc4131d189dacd26c4ca5508410103c768943233e411a5481599538941326f59ec4ae8ca3c736cd03bdb44efda1fdb05582003f0a3d1c2d7a0fc2342f9a4c78e00fe38a7f26da345758cb2b8efd052bcd55008410105582003a4b34674f3b9d0aaf6c3946c05b73b4e7ac680c7084d41dc8f0bd3bb3803100841010219210102197fbf0397b17a89fd2c03ee98cb6459c08f51b269da5cee46650e84470f62bf83b43efe033b269d284a4c3cf8f8deacafb637c6d77f607eec8d75e8548d778e6296123104055820029241829446ad570b5b97d38a504782a6522204c67d5f29b61515246d0410dc084101055820027975ae690f9a6554015459db6c13e8c6dbf6e4cc0f5cf986afd1210c233abf0841010343d18fa8b26ab248f9681e13ff526ca935607161656784f3cce0c1238da9d26a0303ba34a13e2f2fb4bf7096540b42d4955c5269875b9cf0f7b87632585d44c9a5055820023e183a9dd09cdd44ca2a9eb6b94f970f8fa309b0f9cfd823572c23aad58fb20841010558200244297958c82fe80fb882f2c8a085a38556247b3c3f665eca382d27e26e3bbc08410105582002e46204baa86f733abf208b358ba8b807081d6d46a407745238aef2c133fd4d08410102191af503f1a60e8881cfcb2dc50ba58c326ccc9a6da8287c1e5f56d2017563be700058c405582003476a178ee68b02b3de0edee1ebb57e1638eebf58b3e256322e0da1189f2720084101055820037e59f888a7ac07a211c717c07b82970d94597f6365cf8c93d51ac9d45c597008410102190480055820022688a8f926c816ca1e079067caba944f158e764817b83fc43594370ca9cf6208410103364b10f048e1d9b2d4e971bdd35d0a89abab33a99dea3cd583ac4d5bca0d1b4e05582003bcdecb44a3402e2a1b5d3a321b51e415e298ebaca3c95d91443adc03f6cec008410105582003d35852650f28d7a8f73c7ba49bcd72d97edf8d731797e5a2728559b865552008410102194001055820020d7fc05c32bbba16518f9f2936fd75140d5c99b95ae536205ba9caf186837808410103ebe51b14fea6aaa5c097f2506874e990813c36cd31399ee3d72666de2dde3fcc05582003ad9673f823444e5194d5ab0eca9a1fb7bd3770d0fdc62ce3e18003715877300841010558200348afbdb1661c8789b447f581ae07eb1863b24e50865dfacacf0aef7a4f9dc008410102191080055820026e6fcaefc39f05e5912014093f38926987bb7b125e51b49ddfb49b03e36c500841010219772c0390358d83779973801b7a3f4468c4f9475905a3eb4a5e1d54aa00d46599596d2905582002e23690e890cdec6eb19b06f5d31d422b5c17bd4c435afb2a2532180011453f0841010314389ec4a809554bd6c0ed11ecbc90f9fc419990a636e3533ecdee11a8b6f51e055820026c0f154a365e086c687050cee74bddde9997a1dedeb0e55217368c0ab6baa408410105582002295c5aa043a60d279854f7424e21250d5c1e1f9959549e90bc926d70e97068084101055820025b734df35ab6d576607e01c42f21d275cd9c0f86fbb3100241a14ba0c7672f08410103cf8063193541030762db90dd2f67697c531e949dabe33f8d608c3a6bb352b0eb055820038320edc6a9c30d249d75af74a19ade7f69c56e5e0d3a9adb17fee1b0a4bef008410105582003f18b96a1c12507c9a95b7f48c3e012651793a196ce2b81aaa6cb185dc03b60084101021910100303c5801bf244c28c5c430853d6797ee54f7e1a7c384f51d8c9a1dc4cd96cb74f03a5acd0ecfd7dcecd1f7360af116e7dd25617a0205b5f8b369be3ffc784c4f5a903bf90e746ea86172da995d366c29e417cc158c6689eab8f65860b5734a438719e05582002a6cdd9768090f90960cf9bad47705ca3b19a54c8ec8186e2987ffdd3a8435b08410103823a38527672ae42d480369a80b0b9c2ede964cb93668c0487e1341607c5d5ee02195dff035740575999fde2ddd421a9f5907dfc4be5fc3f5f96d65240ae3b3b596d38465f05582002b693085beb21b0878c7e5fab7519ce0d6105354cf6744dbfb73e3745e929e4084101055820027f470df15c88b9beaf3fad72890a64f8851d01ece546b0c9fb3bdf92041a35084101055820029cb4b751333c144710961e20611eb00c783b77e8cb532c64307202fb109699084c033b2e3c9fd0803ce8000000035f4ca08c32e4a3997d0e94d8946e3d361ec5d0225d9cd85c6de8d572bb0a99c903faecf459527318d12fee2db8d85c54fc244d0207ba336a01e397593b801ae61f055820039bbcf08818ec3329e5769dff3fbdad66e6312a961acb32c1b203edf70aeba0084101031c13664b9096979e0a6a58919940b248687992af952308581eff9d0e8c14119a0219400805582002facf5483fdda2fc98d08bcce1a68d5d308d3ad88ee21b50004fd694ba6f805084101055820026a58207750197f48cb90864096850259845c2c8e90c74433325c0b144bf8bb08410105582002fa0eae268038cfa984647a1d0635beb86eda9fb7b500688f3189520cfa9ee50841010219fb610219ffff" + } + }, + "code_db": null, + "txn_info": [ + { + "traces": { + "0x0000000000000000000000000000000000000000": {}, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fcfe14d394e5b2e", + "nonce": "0x3" + }, + "0x703848f4c85f18e3acd8196c8ec91eb0b7bd0797": {} + }, + "meta": { + "byte_code": "0xf904bd02844fdc64a68303d0908080b904687d877b065e1ddb12872b21f5f4de038b91f077f802d40ae712b1072515259b7302e7a43ef8bdc60dceda1e2cf2c5f6dc5630e87855642dc7bfdd125c15476bfc17bba053f7bbb13b66e4907d00d8e968b6d30283e23c43e883ad1939067ca414f58888d9f32332a3b63473e5e6d6bd31f6914447a4566d1d4afcbd54110b4091903d3a76f94b7dff9f73f28bd04bf374e6dffc49c49e2750211a2a441c641ac30e12f705057ac95cdd9faf3f6b221ee0108fc305e3a33e10900db88f2ea0f0cdef6beb22f898d8de3f8a472e932e9315383a349276338bbc8b7a4ae5b3c5e62dc521cd4ce07fa69a4ced73f51533016f253b6a59d97f8e583b9ac1ede01e4ab64587873f929817340b3663653075c57f0272a1ccd3196e4df246d0f908a33eb6a224444bc1a9f062128aaf7bbbb58c716b0eb64dd0a51162e0bdfd8dd47c18c28ea5e179a03358a31435f4af590a636dc4972fd0fcaa5627e713b1811b53608760d1477eebcf65536a6d57076acfd4f6bfa729892d14ec6c7fa8a9207d9d60bf56c6ad7edd2de9f8223ba4e2bc7df194dd41bc109180a1390ea1a68342b64f05166d325913176a37b05dd46d09604217094a60d555147eff53c583cf904662898844d05a37dc7eff4ab537ac138d066d4bb7af4212925463fdea1cf059126aeaa9794e679b6f38311a9c63196315d1165947116ad759c2f0aa148f30074c214070a74675e3326b11566505c6013297e40f2c8392346ee33e81a26b978a48952b0a754e1347543f6a37d407ed6722ac724a9a507c4916251078d7af4627cb6a0ac24f311a5042798c66cf3904b81381c93c60374912545f7011df013e31a8c7a1cdc2d44372d016431b371a0463d54be2751a3d351d40700e5129404d3f76331c72f6b3255b270f826181b46fec687a29ad18b8226004774b78a4b37c1a5e6a499ae6d8d24b780b56950970132e6f90e28a2cee18a7121d4287a26e6b596d45ed322af4e4bd582e2cbd148852927b522f63d6b0c18033ab44ca81c1a543161615dd31c70070e7eae6bc706a2de10dc395f4c39b632a75671588e91195e604e45f445d3070a0a95436c8b6c5fea9defcc71fa59e3dbc33147abed46c83313a308a746c5689da0699db748fd0f4ab894053e584626b0ff24821fc7fadd2e988894504404463e9e758754273976124a360ddb9a4c11285ac798248659f5868094152748e64b9a3c928123722ec84d417efc8e619a5c4366606607b82307dd8b9bf24f1f7c1f25aa931bcbcfded75bc1e2a575a1f782773768d5adc2d036a4bba4518bc068c47030bc65f6a13252f29b8168fd64957211c6e11b752b1f4144b0ae905d821a935d55a6f6e49c96a8300905615efacebe94ae4bb956c4dd84a0f8b53cd087888d356e160517109f6151359d245488c918847aef5527beca916770bdde14ee846cc22542e62b9db5617db816edf58a373f41a18913344994745739e12fcc980ce06ab4a05999f1fde39c41dfaae47087c1512c75b71cdb23b572730ed055dab87d307f11da0eeae0bc671ba994c3f35718e8f55bb19cc50e03107f33bfb647891f4633903008360306ca0283977096b0fa526e636c9ef2a4f988d71354afbb2b9f39200bf2d9939173021a03f384055facc74f5d465b3d6600b7973d7a2fd6888f1676dc2836cf1bdb70ad7", + "new_txn_trie_node_byte": "0xf904bd02844fdc64a68303d0908080b904687d877b065e1ddb12872b21f5f4de038b91f077f802d40ae712b1072515259b7302e7a43ef8bdc60dceda1e2cf2c5f6dc5630e87855642dc7bfdd125c15476bfc17bba053f7bbb13b66e4907d00d8e968b6d30283e23c43e883ad1939067ca414f58888d9f32332a3b63473e5e6d6bd31f6914447a4566d1d4afcbd54110b4091903d3a76f94b7dff9f73f28bd04bf374e6dffc49c49e2750211a2a441c641ac30e12f705057ac95cdd9faf3f6b221ee0108fc305e3a33e10900db88f2ea0f0cdef6beb22f898d8de3f8a472e932e9315383a349276338bbc8b7a4ae5b3c5e62dc521cd4ce07fa69a4ced73f51533016f253b6a59d97f8e583b9ac1ede01e4ab64587873f929817340b3663653075c57f0272a1ccd3196e4df246d0f908a33eb6a224444bc1a9f062128aaf7bbbb58c716b0eb64dd0a51162e0bdfd8dd47c18c28ea5e179a03358a31435f4af590a636dc4972fd0fcaa5627e713b1811b53608760d1477eebcf65536a6d57076acfd4f6bfa729892d14ec6c7fa8a9207d9d60bf56c6ad7edd2de9f8223ba4e2bc7df194dd41bc109180a1390ea1a68342b64f05166d325913176a37b05dd46d09604217094a60d555147eff53c583cf904662898844d05a37dc7eff4ab537ac138d066d4bb7af4212925463fdea1cf059126aeaa9794e679b6f38311a9c63196315d1165947116ad759c2f0aa148f30074c214070a74675e3326b11566505c6013297e40f2c8392346ee33e81a26b978a48952b0a754e1347543f6a37d407ed6722ac724a9a507c4916251078d7af4627cb6a0ac24f311a5042798c66cf3904b81381c93c60374912545f7011df013e31a8c7a1cdc2d44372d016431b371a0463d54be2751a3d351d40700e5129404d3f76331c72f6b3255b270f826181b46fec687a29ad18b8226004774b78a4b37c1a5e6a499ae6d8d24b780b56950970132e6f90e28a2cee18a7121d4287a26e6b596d45ed322af4e4bd582e2cbd148852927b522f63d6b0c18033ab44ca81c1a543161615dd31c70070e7eae6bc706a2de10dc395f4c39b632a75671588e91195e604e45f445d3070a0a95436c8b6c5fea9defcc71fa59e3dbc33147abed46c83313a308a746c5689da0699db748fd0f4ab894053e584626b0ff24821fc7fadd2e988894504404463e9e758754273976124a360ddb9a4c11285ac798248659f5868094152748e64b9a3c928123722ec84d417efc8e619a5c4366606607b82307dd8b9bf24f1f7c1f25aa931bcbcfded75bc1e2a575a1f782773768d5adc2d036a4bba4518bc068c47030bc65f6a13252f29b8168fd64957211c6e11b752b1f4144b0ae905d821a935d55a6f6e49c96a8300905615efacebe94ae4bb956c4dd84a0f8b53cd087888d356e160517109f6151359d245488c918847aef5527beca916770bdde14ee846cc22542e62b9db5617db816edf58a373f41a18913344994745739e12fcc980ce06ab4a05999f1fde39c41dfaae47087c1512c75b71cdb23b572730ed055dab87d307f11da0eeae0bc671ba994c3f35718e8f55bb19cc50e03107f33bfb647891f4633903008360306ca0283977096b0fa526e636c9ef2a4f988d71354afbb2b9f39200bf2d9939173021a03f384055facc74f5d465b3d6600b7973d7a2fd6888f1676dc2836cf1bdb70ad7", + "new_receipt_trie_node_byte": "0xf90109808303d090b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 250000 + } + }, + { + "traces": { + "0x00000000000000000000000000000000000000c9": {}, + "0x0000008e6ed0537e5aa9bd41327c7a5eed3741b8": {}, + "0x319ccfa35222e6b64aa44fbb16cec83f251dd870": {}, + "0x26c588e39464798d0e09d6d146ad2d2cf019e5b0": {}, + "0xc3d2ba9f5bb03775638cd8ee38fdad626aef958e": {}, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fcf5bf4a1bd078e", + "nonce": "0x4" + }, + "0x422a3492e218383753d8006c7bfa97815b44373f": {}, + "0x0000000000006ca24fe1a7bf3ee5936fac73f633": {} + }, + "meta": { + "byte_code": "0xf9035303844fdc64a68303d0908080b902fe6281730779f6d4e88d5c0f26c588e39464798d0e09d6d146ad2d2cf019e5b03f757f5222d42413a1854986a62791201822573bf0b584958116665b8fff83a5aa6d5b677db32c7e35af172e0a6ccb5b6aeb93ea07e199e36fdc647ec500249255bb4dcc8071166debd343ee52ada0f071c81fd4e0153764325b876bc36a46235b798471ca5bbfab1b7437f98e64ae89ec087ca98bb45344142d659b8c16e80a506e72da543eb31bae4fe6a86ee8e4ca6a5914403f5f65c941ef1806b30938903a086d6ca24fe1a7bf3ee5936fac73f6335f1831803550067fa731c9e26a5582dc3792bde1c3d2ba9f5bb03775638cd8ee38fdad626aef958e3f5b65e9c5e215728571b4b3db781f13a5cf5588639944aadf43e4270202175b6854c6b8b248d1e1691161eb025890756dd29827592cb1852236b020e82631eaa6d8d21f9807198259805d3d68f0485ab07e2e6c1ef97b9b0a1781584a676a71a8f6ee7d2f20e2bbd75bdc0fb8bef831515da4787d6c4a12c2ed00fc292387d8c1f284f7926774b3d92895bc7f023d60c93f845571814311568810f5d78742360266ef1f64112b3542724877e14348e0062400379dbed5812312a8eeeb46843d634a1876cf5b49a46c2ba8cd9a3f3b35c13a55645ef3945145361d070938537aba4f5a9135bc16146be05c42421816f5122a6b42489b3cfeac24eb708e6ed0537e5aa9bd41327c7a5eed3741b83b70ba81bd5dd3a6b9cd1d67a0cf7654b5fa4aa05444360965c202effd4c493283455c5548453e747cdc0772d1422b06dfa128e967a9319ad09fbae0d81166ed70237c838f275b4a3b668b12aac2afd6e5733436e0a455e7c67450988a4b20ad0eec20d1eb5b764171b25fc048261ea2cedc8e4da6ee5aa5f11d9f9bf67614363a6226c075905f704fdd3dcb81f1db2dfc697cb45a797938a44471069d4a6976c485eba5a6cb643901d2aa4dec96193d83593684677568b6bea2929090123109123191707d93b413cee3cbd6a88b07e9ca17207e357de30e32f5f8b989a810b3d7b3a24da8f73ab1a35c81450f3c0b9eaacad46111091001008360306ca0f7a4dd0b626d2fa57e6e3edc804fecef9b367aafc239ecd8aabcbd917d73fe43a06780e0f00ba63a8e9b86888d169319248c186e313516c62bb3ce35a736e93a88", + "new_txn_trie_node_byte": "0xf9035303844fdc64a68303d0908080b902fe6281730779f6d4e88d5c0f26c588e39464798d0e09d6d146ad2d2cf019e5b03f757f5222d42413a1854986a62791201822573bf0b584958116665b8fff83a5aa6d5b677db32c7e35af172e0a6ccb5b6aeb93ea07e199e36fdc647ec500249255bb4dcc8071166debd343ee52ada0f071c81fd4e0153764325b876bc36a46235b798471ca5bbfab1b7437f98e64ae89ec087ca98bb45344142d659b8c16e80a506e72da543eb31bae4fe6a86ee8e4ca6a5914403f5f65c941ef1806b30938903a086d6ca24fe1a7bf3ee5936fac73f6335f1831803550067fa731c9e26a5582dc3792bde1c3d2ba9f5bb03775638cd8ee38fdad626aef958e3f5b65e9c5e215728571b4b3db781f13a5cf5588639944aadf43e4270202175b6854c6b8b248d1e1691161eb025890756dd29827592cb1852236b020e82631eaa6d8d21f9807198259805d3d68f0485ab07e2e6c1ef97b9b0a1781584a676a71a8f6ee7d2f20e2bbd75bdc0fb8bef831515da4787d6c4a12c2ed00fc292387d8c1f284f7926774b3d92895bc7f023d60c93f845571814311568810f5d78742360266ef1f64112b3542724877e14348e0062400379dbed5812312a8eeeb46843d634a1876cf5b49a46c2ba8cd9a3f3b35c13a55645ef3945145361d070938537aba4f5a9135bc16146be05c42421816f5122a6b42489b3cfeac24eb708e6ed0537e5aa9bd41327c7a5eed3741b83b70ba81bd5dd3a6b9cd1d67a0cf7654b5fa4aa05444360965c202effd4c493283455c5548453e747cdc0772d1422b06dfa128e967a9319ad09fbae0d81166ed70237c838f275b4a3b668b12aac2afd6e5733436e0a455e7c67450988a4b20ad0eec20d1eb5b764171b25fc048261ea2cedc8e4da6ee5aa5f11d9f9bf67614363a6226c075905f704fdd3dcb81f1db2dfc697cb45a797938a44471069d4a6976c485eba5a6cb643901d2aa4dec96193d83593684677568b6bea2929090123109123191707d93b413cee3cbd6a88b07e9ca17207e357de30e32f5f8b989a810b3d7b3a24da8f73ab1a35c81450f3c0b9eaacad46111091001008360306ca0f7a4dd0b626d2fa57e6e3edc804fecef9b367aafc239ecd8aabcbd917d73fe43a06780e0f00ba63a8e9b86888d169319248c186e313516c62bb3ce35a736e93a88", + "new_receipt_trie_node_byte": "0xf90109808307a120b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 250000 + } + }, + { + "traces": { + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fced69c0a2bb3ee", + "nonce": "0x5" + }, + "0x0000000000000000000000000000000000000000": {}, + "0x0643d39d47cf0ea95dbea69bf11a7f8c4bc34968": {} + }, + "meta": { + "byte_code": "0xf9043704844fdc64a68303d0908080b903e25a6e78adf9e9c860090527daf5786ef962077bf962f7156d7620dc0c8f6cc19a1d9063cffd426fdc040f0f9b3474af111945173d8091157925a03bbe35662a8b5c7e7282a5cf05014ae32e5aaf51c4440d1709811c353b3d306d7d1ca284ae95773ddfda82302667501b01647b20ae9c8770b6065442d3df94925a314b0f7517ea43de1b067112a8cdde51c1be9d622612cff5cd1f5e361a7c3fdfebf14c15967b526de0d94e33b2c7b8ed15e40a7274fbbf49d2acf1106236b710732b6b01ec732c4290df6f262a73b989b21f3e79093637423d6c956af497051acacfb61b73169975ead207fac61be7e1b89410f38392fbe639efe9c0ae4a817d3bb53994df71826e55696aea8dde32418d46215ed66dcf1ad4dd206e149573918e63fdd5e7017185e1fae415d17d0ac36c088f44778d52900812c606c8c65d889a5e280730e2ff0a62c2424922387199ccf61ea3f8e950eae428957f2a6bb6f94e31792a17ed550aa5b128a0ba393263931a2f9f556190704db80be47084996a67b3b9145810fa41f371203334496cc5fa6355cc75e37d271be63e290b1668ac5fc04a6c85db2d928473dae050e5d0478b40656acfcbb32223c1145decce504a639e837b0314730a1ce5670c21ebbc05423e357cf537e345c4109c805c086c51574cd3226261df76c4a4a39a137c8b087db775847b8684b3c20ac384ee4d4225a133d922e0f93a30d1dab2904640076f6b1952877021ff81ec9e94b0e2f6332082816d7c3097b99ea4c163368d6c0e3f8c1948331a497f0e049d679a1527ddde74350fa3a20df460308237e771db53670559375ad1d06833507f57fd63b05727d4e401ef39e13c471149984d98c7f31adf456a1e42e6c8c2a160596502c378d3064a4576e8bbe143996f49f344897194145f1fa60c62cf66df6a8e31157d598c35ad06e7a46408fe2f893a8deda14dfe7ebc56fc0c61368fada78fca4a764496c68976b9067066e678fd4eb3cf9e113a2a36cdfecc7ded22ae3b074b9b8c661e4d212fc6dd3ff8c46c9fab1b2d6eebdfdcede05c0543554a7948d33ead88a2b15c13707534db5fc93d7e9d14b1ce0a418e72898273d45bce6ae6d5c127ec5e8c5f4dddf61c8802e23b34065875862f58a8f8e455464265faba4e70b00c66bda42be441793416d9a0534d3c4c6f85e3eb551a9bd3c8b16437943b9c82d92d10097259afae8b5947a5f82d4b2f16f69405203ed3a0300740611fb0963d3585460260b65a97440a7c334b52e7e538d491be6962a23759e2e37e0e1fb18acece799d633c7b90706501f1784e37d6fb0ae8bbf22ab7bae51761f72e501746483d611ecd3d1d134646a267771b76d614a61d996384e10ee76d19bdead538a3ac820a4f52ede2324859f38360306ba0fbebb228bd4889062bb381b6985560c11673c93decfa7f7f0a92994443e52e46a0242b17a736b410de42f7f8883cdd68bda91e1fa0c56a2e49497db67f569f4916", + "new_txn_trie_node_byte": "0xf9043704844fdc64a68303d0908080b903e25a6e78adf9e9c860090527daf5786ef962077bf962f7156d7620dc0c8f6cc19a1d9063cffd426fdc040f0f9b3474af111945173d8091157925a03bbe35662a8b5c7e7282a5cf05014ae32e5aaf51c4440d1709811c353b3d306d7d1ca284ae95773ddfda82302667501b01647b20ae9c8770b6065442d3df94925a314b0f7517ea43de1b067112a8cdde51c1be9d622612cff5cd1f5e361a7c3fdfebf14c15967b526de0d94e33b2c7b8ed15e40a7274fbbf49d2acf1106236b710732b6b01ec732c4290df6f262a73b989b21f3e79093637423d6c956af497051acacfb61b73169975ead207fac61be7e1b89410f38392fbe639efe9c0ae4a817d3bb53994df71826e55696aea8dde32418d46215ed66dcf1ad4dd206e149573918e63fdd5e7017185e1fae415d17d0ac36c088f44778d52900812c606c8c65d889a5e280730e2ff0a62c2424922387199ccf61ea3f8e950eae428957f2a6bb6f94e31792a17ed550aa5b128a0ba393263931a2f9f556190704db80be47084996a67b3b9145810fa41f371203334496cc5fa6355cc75e37d271be63e290b1668ac5fc04a6c85db2d928473dae050e5d0478b40656acfcbb32223c1145decce504a639e837b0314730a1ce5670c21ebbc05423e357cf537e345c4109c805c086c51574cd3226261df76c4a4a39a137c8b087db775847b8684b3c20ac384ee4d4225a133d922e0f93a30d1dab2904640076f6b1952877021ff81ec9e94b0e2f6332082816d7c3097b99ea4c163368d6c0e3f8c1948331a497f0e049d679a1527ddde74350fa3a20df460308237e771db53670559375ad1d06833507f57fd63b05727d4e401ef39e13c471149984d98c7f31adf456a1e42e6c8c2a160596502c378d3064a4576e8bbe143996f49f344897194145f1fa60c62cf66df6a8e31157d598c35ad06e7a46408fe2f893a8deda14dfe7ebc56fc0c61368fada78fca4a764496c68976b9067066e678fd4eb3cf9e113a2a36cdfecc7ded22ae3b074b9b8c661e4d212fc6dd3ff8c46c9fab1b2d6eebdfdcede05c0543554a7948d33ead88a2b15c13707534db5fc93d7e9d14b1ce0a418e72898273d45bce6ae6d5c127ec5e8c5f4dddf61c8802e23b34065875862f58a8f8e455464265faba4e70b00c66bda42be441793416d9a0534d3c4c6f85e3eb551a9bd3c8b16437943b9c82d92d10097259afae8b5947a5f82d4b2f16f69405203ed3a0300740611fb0963d3585460260b65a97440a7c334b52e7e538d491be6962a23759e2e37e0e1fb18acece799d633c7b90706501f1784e37d6fb0ae8bbf22ab7bae51761f72e501746483d611ecd3d1d134646a267771b76d614a61d996384e10ee76d19bdead538a3ac820a4f52ede2324859f38360306ba0fbebb228bd4889062bb381b6985560c11673c93decfa7f7f0a92994443e52e46a0242b17a736b410de42f7f8883cdd68bda91e1fa0c56a2e49497db67f569f4916", + "new_receipt_trie_node_byte": "0xf9010980830b71b0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 250000 + } + }, + { + "traces": { + "0x4160af19063e603c11d7c6bf63457e31e8ca81a7": {}, + "0x0000000000e4b49031b09b89b757ac450382f145": {}, + "0x007e83bc085148f16d7974f60afe282330c3eb9d": {}, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fce5143729a604e", + "nonce": "0x6" + }, + "0x9f9f5fd89ad648f2c000c954d8d9c87743243ec5": {} + }, + "meta": { + "byte_code": "0xf903eb05844fdc64a68303d0908080b90396654bd6d64e3263453501652f5d7a6a9f467e021a48e0e2e63d740b7f4e030d0efd24fdf327b78a560bd159686f809555d15d7f3cce1cb5c233ad51eead13a143aecd01cd2848576ee548524b8903af4cb3821775142b0f844092b91738a8e662a8c9a6068bd839941a6e3576364d042af044db4f0cc60711b7aa9cc27c76e27ee6059c7809dcb918d279096edd4e4c74118213ba23f600dec5640ac5021a5b6d7949bd674cd05cd14799ab3f136854491d6e757d8d46c121ead807cac1af9a6d126ec8fd2e39e65bab737d564980a733e2650d0172668895485f0b355062bb37a27bfc5d044379e1fc9779b9d4987ec4c11c4a518be9d2e2becbe15b85e2781684377a9156d3cca334b67190a690ae5260237706bcbdecf9436a2c7ede7f125b1260600cc0384154380a6682b49ed2ecbb7968479553e8408b0a1e1011806ee4b49031b09b89b757ac450382f1453b4544944431629dfc957f07d86177d05403434747a7f98981a18b14929c1e04be6fa90705a08ac133e008326487e2b9afb334792946d3850e77fc5ba555cfe29c5473b2c70d567e139af63170de94611a056cacb0336a3d0912028af7773b047dd4b1b8bde125aba206f0f3b2f131ff1fc5288f1b6c08363500d2bf8bef47906fa7c93bc9e7054e6ff13ce45dd0bd420a774d4f35a1ff1e0b365e96e1b11eaf0b0cc051ef508db86a3135389e72bf4b76e7f5dffaaad9986ca679a47c7b6cd5641c0850421446306e8bb50c49c9e52572b32a8570b83ec336956ab1241aa5c4ec3fcf3d0c2f3a63c79c5a1a3507817400b545f6d3c816fbb03147f8919549bdac32a5081344025f54410602355235301a3d6d4c957cf68ee44c9fbd94df2ec34d6a2988d21e494254446fe655655995a22df0b87ee042745c41c23d8852a0a8848dda3201fe3eb275bc9b51d81ce4dbf4663890507939ca4d2742a0cd39b8f19fd9a320b0cd24623eb9352c1bcd9fbb80015a77ebe3560fa1f378146ae7c52c19b3acf75457c70b6d53e27a6e10749d40687ddbdfe68afc48baa17858406bd160cb79426e7151d3959df5114202727e83bc085148f16d7974f60afe2822ca2dab4701315b7638c4688673be125950aaf4ec2148bee12e591b94a63cc7907bd7b6130b6a2637be408f57ff64e809edb70d5843f95bf0e47268104b74e0a8d3c7a53f04d2740f6ad7275e929e088cba80e210917ef34d9a5f510b34789078d6c3b4505db8179c66790e7b493910d4e0d43c7e44825b848661416e556ad6a6142253354c2c9b4e28f38360306ba01ce5515735ac68b86acc91f18344f8e74e73ed4071578ba31a8de536e4586c7aa038e91803b82cd8b8654be58b313c349a940377f2633ca06a5104e4485db38c39", + "new_txn_trie_node_byte": "0xf903eb05844fdc64a68303d0908080b90396654bd6d64e3263453501652f5d7a6a9f467e021a48e0e2e63d740b7f4e030d0efd24fdf327b78a560bd159686f809555d15d7f3cce1cb5c233ad51eead13a143aecd01cd2848576ee548524b8903af4cb3821775142b0f844092b91738a8e662a8c9a6068bd839941a6e3576364d042af044db4f0cc60711b7aa9cc27c76e27ee6059c7809dcb918d279096edd4e4c74118213ba23f600dec5640ac5021a5b6d7949bd674cd05cd14799ab3f136854491d6e757d8d46c121ead807cac1af9a6d126ec8fd2e39e65bab737d564980a733e2650d0172668895485f0b355062bb37a27bfc5d044379e1fc9779b9d4987ec4c11c4a518be9d2e2becbe15b85e2781684377a9156d3cca334b67190a690ae5260237706bcbdecf9436a2c7ede7f125b1260600cc0384154380a6682b49ed2ecbb7968479553e8408b0a1e1011806ee4b49031b09b89b757ac450382f1453b4544944431629dfc957f07d86177d05403434747a7f98981a18b14929c1e04be6fa90705a08ac133e008326487e2b9afb334792946d3850e77fc5ba555cfe29c5473b2c70d567e139af63170de94611a056cacb0336a3d0912028af7773b047dd4b1b8bde125aba206f0f3b2f131ff1fc5288f1b6c08363500d2bf8bef47906fa7c93bc9e7054e6ff13ce45dd0bd420a774d4f35a1ff1e0b365e96e1b11eaf0b0cc051ef508db86a3135389e72bf4b76e7f5dffaaad9986ca679a47c7b6cd5641c0850421446306e8bb50c49c9e52572b32a8570b83ec336956ab1241aa5c4ec3fcf3d0c2f3a63c79c5a1a3507817400b545f6d3c816fbb03147f8919549bdac32a5081344025f54410602355235301a3d6d4c957cf68ee44c9fbd94df2ec34d6a2988d21e494254446fe655655995a22df0b87ee042745c41c23d8852a0a8848dda3201fe3eb275bc9b51d81ce4dbf4663890507939ca4d2742a0cd39b8f19fd9a320b0cd24623eb9352c1bcd9fbb80015a77ebe3560fa1f378146ae7c52c19b3acf75457c70b6d53e27a6e10749d40687ddbdfe68afc48baa17858406bd160cb79426e7151d3959df5114202727e83bc085148f16d7974f60afe2822ca2dab4701315b7638c4688673be125950aaf4ec2148bee12e591b94a63cc7907bd7b6130b6a2637be408f57ff64e809edb70d5843f95bf0e47268104b74e0a8d3c7a53f04d2740f6ad7275e929e088cba80e210917ef34d9a5f510b34789078d6c3b4505db8179c66790e7b493910d4e0d43c7e44825b848661416e556ad6a6142253354c2c9b4e28f38360306ba01ce5515735ac68b86acc91f18344f8e74e73ed4071578ba31a8de536e4586c7aa038e91803b82cd8b8654be58b313c349a940377f2633ca06a5104e4485db38c39", + "new_receipt_trie_node_byte": "0xf9010980830f4240b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 250000 + } + }, + { + "traces": { + "0x8f0342a7060e76dfc7f6e9debfad9b9ec919952c": {}, + "0x00000000000000000000b81cf86e1115b4153473": {}, + "0x0000000000000000000000000000000000000000": {}, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fcdcbeadb090cae", + "nonce": "0x7" + } + }, + "meta": { + "byte_code": "0xf903cb06844fdc64a68303d0908080b903765862cf54ee7b567d587def34aef4eca73807be997b77ee9e8f1aeee284eb4869dad9748fc6dc83bd45f3010e3470f1065cd024d3fc5eae65486893986b78a873372cbe103f6f8632afaccf48b78450d5882152f56d7746020a7ddd255786c2faa44d55dc8d3b11659104c565e6516392c5059da076caba4d6e39ec331759a47988a218d5ff1b757c7c5efa6d42150b7a24cd3de45a1dddf03aa9a62451855579bf538a455c436c2a134a2f9d27b3b8f61a6b6ce169b81cf86e1115b41534733b156f989635db9686b550aefd3c6704db994c9441681003e33ae52bd7587c367bfa5eaa8f9f3bad48515ac3bf2795155655471c054d6559624262ff6f6632a9fc7cfab1e4301c783b524fef241e898b2cee25ea286abd4c9fedff90096d9d2579404649439f82464aa1983e71a770c79b172f37aa1de2e806cc3f15f707a47ca5a62fc6af987c598da291fbef81e5bd90d14691156669df20eadcd96e0273e384d83e195bc105cd433f33bcbd23114a5ece605b5a6a5c6626b98c770803e5a4c93536165d6792c4b5830ad0d4aa5a1c5a1136651cde8a70bf7465217b4460fd8b107cfa9acab56dafa8c4cd4c79e2c5d49b7754ade6eff8884764055805f6271519036558c7b712d4733f719295b1bd2dcbdb070335cd6cd3a3896c59ad4577473ae9acb5eb4a2fdc5f6ac73f94538bfea0cfc801701d2959664e00f07239c530905d047b8c2e6f43cd6b914b00f4129b513062a41df190a4eaa3c2a7eb0d871a926d6651f3391a7f086ead4af9d8b18d801313644564be67a66c7132204bfe57f2bb8da1d712956336d027d516446b0709ab6192da86c9a42a42284a7209f5f9e69eadbf2321e0a38392a77ef8b5c187591704100302726f627c6c08711bd91c261085ebe91d926691c736655c165d8a8c2d3b7dff9c8c532484ab475b434d46152c3c85cf91e70e249a395ad7898839d507a15d5a343b7fb2fd69136c6b1b50eeab706ef825aec6115339134537bf890f6d9b96f27c15ee74d37db6a9f2dac4e0dcf1fc6c4915eb96d63c49eecd77038e6e1206bfb93e2d6f8c82ea9b0d0e4ae117e01aa48b5d553d921d668f4baa8c02d3241d40451570ac90617839f7125487525183d96502390c7787ebac9684e510057870d07cd0e6fd3ee2cb1be4ccfcbd2637343864cb3fc84fc847081b304a7d8cfabf507db1167cba84578f818f321cb9596267cbd5a14aadf5ab61f58b163f3f0a503df38360306ba0501e2d2bd15996cc0eb097306f4f76de2077865f934e459029caabd094c5e578a0408264ad8649ee95afd43f869be7de87b296b364010aeb18a755fae3dd0a3c49", + "new_txn_trie_node_byte": "0xf903cb06844fdc64a68303d0908080b903765862cf54ee7b567d587def34aef4eca73807be997b77ee9e8f1aeee284eb4869dad9748fc6dc83bd45f3010e3470f1065cd024d3fc5eae65486893986b78a873372cbe103f6f8632afaccf48b78450d5882152f56d7746020a7ddd255786c2faa44d55dc8d3b11659104c565e6516392c5059da076caba4d6e39ec331759a47988a218d5ff1b757c7c5efa6d42150b7a24cd3de45a1dddf03aa9a62451855579bf538a455c436c2a134a2f9d27b3b8f61a6b6ce169b81cf86e1115b41534733b156f989635db9686b550aefd3c6704db994c9441681003e33ae52bd7587c367bfa5eaa8f9f3bad48515ac3bf2795155655471c054d6559624262ff6f6632a9fc7cfab1e4301c783b524fef241e898b2cee25ea286abd4c9fedff90096d9d2579404649439f82464aa1983e71a770c79b172f37aa1de2e806cc3f15f707a47ca5a62fc6af987c598da291fbef81e5bd90d14691156669df20eadcd96e0273e384d83e195bc105cd433f33bcbd23114a5ece605b5a6a5c6626b98c770803e5a4c93536165d6792c4b5830ad0d4aa5a1c5a1136651cde8a70bf7465217b4460fd8b107cfa9acab56dafa8c4cd4c79e2c5d49b7754ade6eff8884764055805f6271519036558c7b712d4733f719295b1bd2dcbdb070335cd6cd3a3896c59ad4577473ae9acb5eb4a2fdc5f6ac73f94538bfea0cfc801701d2959664e00f07239c530905d047b8c2e6f43cd6b914b00f4129b513062a41df190a4eaa3c2a7eb0d871a926d6651f3391a7f086ead4af9d8b18d801313644564be67a66c7132204bfe57f2bb8da1d712956336d027d516446b0709ab6192da86c9a42a42284a7209f5f9e69eadbf2321e0a38392a77ef8b5c187591704100302726f627c6c08711bd91c261085ebe91d926691c736655c165d8a8c2d3b7dff9c8c532484ab475b434d46152c3c85cf91e70e249a395ad7898839d507a15d5a343b7fb2fd69136c6b1b50eeab706ef825aec6115339134537bf890f6d9b96f27c15ee74d37db6a9f2dac4e0dcf1fc6c4915eb96d63c49eecd77038e6e1206bfb93e2d6f8c82ea9b0d0e4ae117e01aa48b5d553d921d668f4baa8c02d3241d40451570ac90617839f7125487525183d96502390c7787ebac9684e510057870d07cd0e6fd3ee2cb1be4ccfcbd2637343864cb3fc84fc847081b304a7d8cfabf507db1167cba84578f818f321cb9596267cbd5a14aadf5ab61f58b163f3f0a503df38360306ba0501e2d2bd15996cc0eb097306f4f76de2077865f934e459029caabd094c5e578a0408264ad8649ee95afd43f869be7de87b296b364010aeb18a755fae3dd0a3c49", + "new_receipt_trie_node_byte": "0xf9010980831312d0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 250000 + } + }, + { + "traces": { + "0x00000000000012059b59bdf54ab4ffdd93f0b2e9": {}, + "0x72ae2643518179cf01bca3278a37cead408de8b2": {}, + "0x00000000000000f46ae82840ee30a127f352a700": {}, + "0x0000000000000000000000000000000000000000": {}, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fcd46924377b90e", + "nonce": "0x8" + } + }, + "meta": { + "byte_code": "0xf9037407844fdc64a68303d0908080b9031f3a6699e1e7330c28da6f04c0a5ea93bb08f398feb8bcf76b06c47d5cd56ac9b7a09d33778872698a54bcf759f6ec9dea796b71070ceeafb7fd551a7562dba64309a4f0dde67311c854aaf000402a5676d299704e9b47599993a34826f2258904f27ff5d466dc1bf50204c4550b61439b5b620285235b41321d6b4439fca574c375a580ff328e1470c9d189f5491caa3ce96be3328210f927b7336cf46ae82840ee30a127f352a7003b6e47e055070125ff825c42bfde60673b1a3b6e4d6e353fdb998b93fa27cf318ca37018423a0767efaab50662eab61945066c7af69cd44ce8771c51991a996458831a79da2537379d33715d8433659007805988f338ff6412d24a9839bc3a117c86946d3d173aefc5bea29a1859dddfc8e66b08cbab1adadbd45cfeaf6b5542193410926d12059b59bdf54ab4ffdd93f0b2e9800b5b3178dfed60169b04a17365238fdf683d34c3fb2229e770e53d3c6e603982635f435133686856b881186053a6143703135c606b654cb634b4541d6dfee6775dc8ea6ec79fd0fa5d0c724878e34ea1b41bbf781e0907cb7222fd76a4ef1aaedf38b3e9bf7f0942636f920d823043488039385a6f2f01b71bef7f04713058ff70a8ca081c130b8032a368517893b5ab0dc908025b46927f6e8e97bc65e2a6f57bcc0ad8996dd29370da8d7748d50f65a0205df5cba0a2265f307eeea4108c370dfc8b8ba96f3303903933d6cd77221b735a238387bf09a0cb6c1b1832315f788f476a8a5c466423f9868486e88366b60bb331f3920418450f71d9c53bf2a6ce0f8651ccd6837242a438a2a56756e3e86bd181eaea14584608544a7481a83b687c2c2700e6225f57e5c76025da7bc0af2f1554682d3704e733b4a850a87b3af2ca511a0142bb1e09e7e36bb09244def2903aa07ba979735ea71e54051147363b3372bd5007b5b30fc60812d7dcb82f9b729a845875614947927565b8a58d8dcd807e8cc4063d8253728b6385fe15f98e3d34476c692f2d92a0d0f0efeedf0300d046197ad59f80110eb2e8efd3e79c4c8f91766544cfcfbcaaba1c7e7015677c89a9f3393a5072eac9a75380a14044404f5b989b1f397a20564d498147334461ab94f38360306ba0b2c37bb632e39954fbd9f339eb90e3fdd36d7714b7fdd9764a732a1fcb9213bba041e04a31f1b06c053d5d73daeab720564f10b1aef334293322646b358705019e", + "new_txn_trie_node_byte": "0xf9037407844fdc64a68303d0908080b9031f3a6699e1e7330c28da6f04c0a5ea93bb08f398feb8bcf76b06c47d5cd56ac9b7a09d33778872698a54bcf759f6ec9dea796b71070ceeafb7fd551a7562dba64309a4f0dde67311c854aaf000402a5676d299704e9b47599993a34826f2258904f27ff5d466dc1bf50204c4550b61439b5b620285235b41321d6b4439fca574c375a580ff328e1470c9d189f5491caa3ce96be3328210f927b7336cf46ae82840ee30a127f352a7003b6e47e055070125ff825c42bfde60673b1a3b6e4d6e353fdb998b93fa27cf318ca37018423a0767efaab50662eab61945066c7af69cd44ce8771c51991a996458831a79da2537379d33715d8433659007805988f338ff6412d24a9839bc3a117c86946d3d173aefc5bea29a1859dddfc8e66b08cbab1adadbd45cfeaf6b5542193410926d12059b59bdf54ab4ffdd93f0b2e9800b5b3178dfed60169b04a17365238fdf683d34c3fb2229e770e53d3c6e603982635f435133686856b881186053a6143703135c606b654cb634b4541d6dfee6775dc8ea6ec79fd0fa5d0c724878e34ea1b41bbf781e0907cb7222fd76a4ef1aaedf38b3e9bf7f0942636f920d823043488039385a6f2f01b71bef7f04713058ff70a8ca081c130b8032a368517893b5ab0dc908025b46927f6e8e97bc65e2a6f57bcc0ad8996dd29370da8d7748d50f65a0205df5cba0a2265f307eeea4108c370dfc8b8ba96f3303903933d6cd77221b735a238387bf09a0cb6c1b1832315f788f476a8a5c466423f9868486e88366b60bb331f3920418450f71d9c53bf2a6ce0f8651ccd6837242a438a2a56756e3e86bd181eaea14584608544a7481a83b687c2c2700e6225f57e5c76025da7bc0af2f1554682d3704e733b4a850a87b3af2ca511a0142bb1e09e7e36bb09244def2903aa07ba979735ea71e54051147363b3372bd5007b5b30fc60812d7dcb82f9b729a845875614947927565b8a58d8dcd807e8cc4063d8253728b6385fe15f98e3d34476c692f2d92a0d0f0efeedf0300d046197ad59f80110eb2e8efd3e79c4c8f91766544cfcfbcaaba1c7e7015677c89a9f3393a5072eac9a75380a14044404f5b989b1f397a20564d498147334461ab94f38360306ba0b2c37bb632e39954fbd9f339eb90e3fdd36d7714b7fdd9764a732a1fcb9213bba041e04a31f1b06c053d5d73daeab720564f10b1aef334293322646b358705019e", + "new_receipt_trie_node_byte": "0xf90109808316e360b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 250000 + } + }, + { + "traces": { + "0x00c042c4d5d913277ce16611a2ce6e9003554ad5": {}, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fccc139abe6656e", + "nonce": "0x9" + } + }, + "meta": { + "byte_code": "0xf9034008844fdc64a68303d0908080b902eb723f63030479b6750c82e768bc239a909d3cea3c5c5c40324507135a0b6d6c6671d356274c8b1fbc2a9d8ff1105a3a6036014320451562fadd213574af6d470e2141e029822e894cc777408dd90ea2a63c1d64701441ae7a916f6e0d10fd3c5a901dd08836d6c08bf71047421b44848680957a28bde7c3fef2d62d99d42079a6a200782ee8df64fe64b3ae835030a369116b0456291187341a7968c6eccfc186e478f3d15a7c52a9e8ecc880118b8e123e4a6dc78dc5897fc7faef850356eee2d7c58e8296404aa26495b08d9bd736920b1c058302a10260bc35553b6fe23560c77257896c3218c53d309217e7779fbe08d2200d896e7cf5264a73ee1ab68b392ef126446bc71a04609973f34ab88c15fbc3197da98d98a095e00f84faa9ae43455b0172b4beb4c32744615f2c7da670f1b7db0a9d5d6911611c3374e65622841c856f03909916f1e17cb4aaff4ae6e19c1a190212095468f4bb6e1fa915ea16c55f61fa08526e5ca93058aea7015c4f8dc1cc0a24aa3162e48d5e767d9fdf4138dfededa980cf45a0404b086fc56ad9e3affd50580317676730bb2d4e27676b1d6fb6cf2e65e73973859b58496c7f5257ec6eb7b88cb247e7b5b5a2cd7d85445831365f73ff856798e47349fffb0b92537d5b2f6396f0da0a60ea721cc98fb04ef8a5a171cdee4123bc01a9f16b5d8492075064dbfc9527bd451d503375f92f94e36303ed18b1d858a1d72c17191b3bab68eaad66f5083b769a9b7b710b5b8a9a1b2c0068550295cb2e165e678477807eea233c8e451b0dee921962b0a7b94a872a40b1181461b1157683d96e898c34505f627c5d6e1c134520476443f229209e59751142b0f45bfbc25aa225a0d0ec8acdd32c453118ed273d45556ef846b9418fd2e93d48b0411a64b362136efe3f4abb98ce57f08ff2085dbf46aa5f143d792f5b1b34162426557265bf21ca655ea91489da715049f2fbb11ca06875fb2b7655c86816fd65b83c4a33df561032303d7773976d1aef53f882f2e157848d5c9340d46de54b15fff6abf38360306ca04d924fb5f571bce21868b25f94690c57d8fae822964dceb841f56b2228c3d1a2a01f5bb6a84fe40b6cd56d5f4f99bafe472c7cebecd996ef0e0d3c78add601e7ef", + "new_txn_trie_node_byte": "0xf9034008844fdc64a68303d0908080b902eb723f63030479b6750c82e768bc239a909d3cea3c5c5c40324507135a0b6d6c6671d356274c8b1fbc2a9d8ff1105a3a6036014320451562fadd213574af6d470e2141e029822e894cc777408dd90ea2a63c1d64701441ae7a916f6e0d10fd3c5a901dd08836d6c08bf71047421b44848680957a28bde7c3fef2d62d99d42079a6a200782ee8df64fe64b3ae835030a369116b0456291187341a7968c6eccfc186e478f3d15a7c52a9e8ecc880118b8e123e4a6dc78dc5897fc7faef850356eee2d7c58e8296404aa26495b08d9bd736920b1c058302a10260bc35553b6fe23560c77257896c3218c53d309217e7779fbe08d2200d896e7cf5264a73ee1ab68b392ef126446bc71a04609973f34ab88c15fbc3197da98d98a095e00f84faa9ae43455b0172b4beb4c32744615f2c7da670f1b7db0a9d5d6911611c3374e65622841c856f03909916f1e17cb4aaff4ae6e19c1a190212095468f4bb6e1fa915ea16c55f61fa08526e5ca93058aea7015c4f8dc1cc0a24aa3162e48d5e767d9fdf4138dfededa980cf45a0404b086fc56ad9e3affd50580317676730bb2d4e27676b1d6fb6cf2e65e73973859b58496c7f5257ec6eb7b88cb247e7b5b5a2cd7d85445831365f73ff856798e47349fffb0b92537d5b2f6396f0da0a60ea721cc98fb04ef8a5a171cdee4123bc01a9f16b5d8492075064dbfc9527bd451d503375f92f94e36303ed18b1d858a1d72c17191b3bab68eaad66f5083b769a9b7b710b5b8a9a1b2c0068550295cb2e165e678477807eea233c8e451b0dee921962b0a7b94a872a40b1181461b1157683d96e898c34505f627c5d6e1c134520476443f229209e59751142b0f45bfbc25aa225a0d0ec8acdd32c453118ed273d45556ef846b9418fd2e93d48b0411a64b362136efe3f4abb98ce57f08ff2085dbf46aa5f143d792f5b1b34162426557265bf21ca655ea91489da715049f2fbb11ca06875fb2b7655c86816fd65b83c4a33df561032303d7773976d1aef53f882f2e157848d5c9340d46de54b15fff6abf38360306ca04d924fb5f571bce21868b25f94690c57d8fae822964dceb841f56b2228c3d1a2a01f5bb6a84fe40b6cd56d5f4f99bafe472c7cebecd996ef0e0d3c78add601e7ef", + "new_receipt_trie_node_byte": "0xf9010980831ab3f0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 250000 + } + }, + { + "traces": { + "0x000000000000000000000000000000000000628a": {}, + "0x000000000000000000000000000000a7c09b2ac5": {}, + "0x9fcf7d13d10dedf17d0f24c62f0cf4ed462f65b7": {}, + "0x90a4105c52f1df1a54511d78b55f439962bffa30": {}, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fcc3be1145511ce", + "nonce": "0xa" + }, + "0x00000000000000000000000003315c11dd818f14": {}, + "0x000000000000000000000000000000000000040f": {}, + "0x5d83ab90b3eb4465dc0e88e5c33a659239dbe97d": {}, + "0x879dd88dea8fa53ee541d2163ab4fede017323f5": {} + }, + "meta": { + "byte_code": "0xf9046409844fdc64a68303d0908080b9040f586719e3b335e5a05892455e79e08ce21a9afc02c83e5f768eae9fa00b39a158dd7091c4fa7a6b35364580046435b81b90097f197715cc6892806d41402f9e348f92a4bdd6baea99150349cbea59a2bb9635041154403011536d27ba3a210f1e39251f45b399acae38527bd52d2f458979698118a508d3dd9be2462db4bea525dd26e4d6a6b344757654b0fa84a1048dbb6441ced8bb6efe98493a4022ef0738330750415c04648b8df72298357dfd3d2006b16651c845c06c60a7f0990bdb7aa4cf31a6ae4a4ecbc6b52af04071988cbe72b7c034722389090b53e8facaaf5b79269b6dd4754f1109d9056dd94e2e58f1d4471385c5438cb11216063a9058657fb92e3fd5ff5a7f3e8f0db7c708432c4a9d73a5819af8c164f48ed2609154d895f9e2d463aea10561c8e36d3c0a55ff3302037a017ddeb547d66b945269d12a839b755b8af2ce491d367f1791e601faf06b7a85c1231a27e400a1899c7f49c99e2cf9bff0fa37496f67c65f801a3433347d93b23dd1dcdef91dee790a97e04fee26205bb52bddc2777a82edf2d4b8c58b5f55321166cc5704776063c54302318d383b448f90175f1c0535551a04841106525d74eea2d5f0460832323b3bbf10f62d22d5ba89e2f437437a506f09f7d5f64a5e751cf8e38a5469637d24c9443b88f8af3eaa867654dec790a4105c52f1df1a54511d78b55f439962bffa3041316e3f30c11a100b50278048fa7a7db73838350973e69ce694bca794ecb0c50887f8e7eccad276a086466c29b25d02248a064689199a56ea418580903d70a019acf7013b8c71acca923dfa062494185f63425b9c3f786b59228e4a4da2264f9381532a9934048e28fea3569d2f77ad61628a3f8d316a3c3fb639dc8ce4c740dad66e16048127d881c9f1ad2702f5ea96ca09107a787c6dc491941a810e9aa8f76e77efbfef3dc3b5ea37dac094332f07089250170768625554d6092aa82d744317625ad6fc495364a7c09b2ac53b74b35423a81c4baa75b35e3ee5d33822b6f152201e0a5c7c4f517f47cb1ba9e18c879dd88dea8fa53ee541d2163ab4fede017323f53105151c793f6c302f14785d053d591ee0d2d6e706c2fdb9cee826072f4cf1546e1ea8cc798345123cbe00af96ce94ac4a11765a6449ed7e0edf81c888c9bff074ac439bf598dbfe7fad83661b70142cb03b2164171718c5c739087019b6dc1960dd0cd875db87b3fd1707210379ed6df649fcc52b7ef38093b57105b6dc5960adde984da092cc0c7f99e9f4867471c5d770b67f3189213ddeca75170bb947fa6b68fc9cd8480f213a7774b20cd25d83ab90b3eb4465dc0e88e5c33a659239dbe97d3b712498bd66007b07593b93dd6cc2f2e014df307c9d477d6b368b004b2ac553f5c73e1a70bbf4c9061eafbc64bb339932783a446f2817e422c934754dbb654891dbea919e325a94035afd8360306ba06109e0c44e8f86754478f78ee90f0c3a8d249605655330407342c534bb8fda77a03d1cc3c94d2d1b5ec319385ae1dee73c42b87a88800e9484e8ff91d62ebb1940", + "new_txn_trie_node_byte": "0xf9046409844fdc64a68303d0908080b9040f586719e3b335e5a05892455e79e08ce21a9afc02c83e5f768eae9fa00b39a158dd7091c4fa7a6b35364580046435b81b90097f197715cc6892806d41402f9e348f92a4bdd6baea99150349cbea59a2bb9635041154403011536d27ba3a210f1e39251f45b399acae38527bd52d2f458979698118a508d3dd9be2462db4bea525dd26e4d6a6b344757654b0fa84a1048dbb6441ced8bb6efe98493a4022ef0738330750415c04648b8df72298357dfd3d2006b16651c845c06c60a7f0990bdb7aa4cf31a6ae4a4ecbc6b52af04071988cbe72b7c034722389090b53e8facaaf5b79269b6dd4754f1109d9056dd94e2e58f1d4471385c5438cb11216063a9058657fb92e3fd5ff5a7f3e8f0db7c708432c4a9d73a5819af8c164f48ed2609154d895f9e2d463aea10561c8e36d3c0a55ff3302037a017ddeb547d66b945269d12a839b755b8af2ce491d367f1791e601faf06b7a85c1231a27e400a1899c7f49c99e2cf9bff0fa37496f67c65f801a3433347d93b23dd1dcdef91dee790a97e04fee26205bb52bddc2777a82edf2d4b8c58b5f55321166cc5704776063c54302318d383b448f90175f1c0535551a04841106525d74eea2d5f0460832323b3bbf10f62d22d5ba89e2f437437a506f09f7d5f64a5e751cf8e38a5469637d24c9443b88f8af3eaa867654dec790a4105c52f1df1a54511d78b55f439962bffa3041316e3f30c11a100b50278048fa7a7db73838350973e69ce694bca794ecb0c50887f8e7eccad276a086466c29b25d02248a064689199a56ea418580903d70a019acf7013b8c71acca923dfa062494185f63425b9c3f786b59228e4a4da2264f9381532a9934048e28fea3569d2f77ad61628a3f8d316a3c3fb639dc8ce4c740dad66e16048127d881c9f1ad2702f5ea96ca09107a787c6dc491941a810e9aa8f76e77efbfef3dc3b5ea37dac094332f07089250170768625554d6092aa82d744317625ad6fc495364a7c09b2ac53b74b35423a81c4baa75b35e3ee5d33822b6f152201e0a5c7c4f517f47cb1ba9e18c879dd88dea8fa53ee541d2163ab4fede017323f53105151c793f6c302f14785d053d591ee0d2d6e706c2fdb9cee826072f4cf1546e1ea8cc798345123cbe00af96ce94ac4a11765a6449ed7e0edf81c888c9bff074ac439bf598dbfe7fad83661b70142cb03b2164171718c5c739087019b6dc1960dd0cd875db87b3fd1707210379ed6df649fcc52b7ef38093b57105b6dc5960adde984da092cc0c7f99e9f4867471c5d770b67f3189213ddeca75170bb947fa6b68fc9cd8480f213a7774b20cd25d83ab90b3eb4465dc0e88e5c33a659239dbe97d3b712498bd66007b07593b93dd6cc2f2e014df307c9d477d6b368b004b2ac553f5c73e1a70bbf4c9061eafbc64bb339932783a446f2817e422c934754dbb654891dbea919e325a94035afd8360306ba06109e0c44e8f86754478f78ee90f0c3a8d249605655330407342c534bb8fda77a03d1cc3c94d2d1b5ec319385ae1dee73c42b87a88800e9484e8ff91d62ebb1940", + "new_receipt_trie_node_byte": "0xf9010980831e8480b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 250000 + } + }, + { + "traces": { + "0x63e6dde6763c3466c7b45be880f7ee5dc2ca3e25": {}, + "0x00000000000000000000000000000000017ef641": {}, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fcbb6887cc3be2e", + "nonce": "0xb" + }, + "0x17644d0643667ac872716d440bec0427c794dac1": {}, + "0x0000000000000000000000000000000000000000": {}, + "0x0000000000000000000000000000000066964056": {}, + "0x00f9c5b5cfd1774b78a180169e0a7efde997a52b": {} + }, + "meta": { + "byte_code": "0xf905650a844fdc64a68303d0908080b905107f17bd908166a67abe337de1b827fcc93e6b66bf994e2b9d80c4115880a8d6f0196f2809a0a7e8dbe569eb3f2ff48ac22951762de9b5aaef79ae2385b8da667a578501bbdbb78c42baf0335072f9c5b5cfd1774b78a180169e0a7efde997a52b31054a34440758480569e84779c4a9af1ce56e6f951010423fa1335c314a18774889b6b7f9eb3e198b15478d0c71a8e04d30070b312cd20f76b67c6f65309b0f1d0b77e407cc1d619b538fb7295788bd82100a492033183a7ba7f27908709cefcdece11f88a3c0ad85a3570bbc2591473f302ded85161d493462a2a668020761482e0366f502a93e08d516407b174d49e88f0558de52f828d15ae2a3af2cf0152e4c522cf8992350ca33457725e519df12dc87e0f0b5f8492a616da359baca2bf5091f7c4158461a6b74da6b9d63588b5a6e91e88015700730acdb62d1a948ec56a20bfa860099ae33180a5b4a473877ee13ea235ef70e7300c0a33c9cd3bb41854181774c952e4b93050b6dae8c3eec863075b74076e3904b297f202e328d9e774a935dc1e889c52d97e9904a2dfe890a420461a8f59be3eb2c2c3664f9941b919d5b357f6a47efea60ce84e43f7cff2e016340b2f7320799342da6cbe1b4d7a0f868747e6968ba423780ffb352ec23450a316f250100000000000000000000000000005780171d446e9474fbe92d88273f6f67a31e230a0743511a5c6914c61ef7031bc01321cc05437d810e73a7ef059f110ad8ff161313c4caf5c127033c11b8325715fde7d02b0467c271ba9f257852265e65ce6500d3c0cd3802356edd2f556fc26828cc3f0f364fc94aac491933746886084b89f565be10da4034d54a799ad85d649e09115f6bb061a180be0c83f510062ebd0a5f6d52eee67c06aad2e6e656ad2893a31736330477fe44808094d224ac4569193847ce947eab31145de843d1c115461b1b093347688bc316e54fdfad0dc702477e96b1087a022ae5d329a2c119e4eb3ccd65f0828f4f76382c4a500db9f714bf7e6dba39332866eaf69a0d71522a0f2a8766da60f9f8a4186fd54f34021c562e1778d865f76016c699f1370c8a9acb9654ef137bf146467de8cf50717fd4b7f2c5cb67680f5401cfe4f679bb26d3551814663a2232a3fbd5ee7af0f80df5741e1801c17c93557b2ddcf0da8024cc37c6e745c540066a3f80270928913ffaf223b74a0663625d012d5c654d3d0cabd12c6e4ce68f301251cdb75e93a5c4d73147356743dd7abc434dbfb25b601b5b935b5960147dfb22ad4a7efef3173066d59e8f4604e4c7caae5ef510787adb5f8a1fd1a8168479f19a76bdbcd60c12d1162871225f5b5479551e42f002039c454c47928a7bb525fbc374b6c7a19f3d0f344fb6077dea6d4cb6690cb9356b7ccaa95074ad46519fd18ad0b35a90e21c0c00b19bc581f98f9792423a6ec6e6078d6ea0a3ccd43f366305b685453f4106937ed56b85922c350ba46a747ca7666a11fda7c0a11abe269a097257f0181d212d685b7dd5dc2697fcd88908684dcf09f6e286dacfbb0a01629b432a905c7b0b4d46f35c6a274301fcfa70e0c371eb931f53682111565f5d7b9b3184785a1554a1ee1df94b52d9ecad8bbd118b52a1b8993462f366c54a78963084fa0506cb7ca18ec6675c6fadb89bd7e15f006c229b60176b0b78d5317562c7dc4363761f5940436d321acae8a4ecee4574a56810ee1b5c3e1602023a1c633fa66ec2721272d0ea4fac46693e75bc5db0a9b46e0457a3916c5e98d0b91798c5a137dbe92508365193011b5569004fe9a0ef75d73e226068fe826ed2eb9628aa8d008360306ba03684ae7dfbbe8f075a746bf35c18f4d356f0fe3f8b36150d1d394b744b0d64f8a065ab2592621c1f84e80f032b57827e9c4a462c91a253bf962d82ad5058acddbf", + "new_txn_trie_node_byte": "0xf905650a844fdc64a68303d0908080b905107f17bd908166a67abe337de1b827fcc93e6b66bf994e2b9d80c4115880a8d6f0196f2809a0a7e8dbe569eb3f2ff48ac22951762de9b5aaef79ae2385b8da667a578501bbdbb78c42baf0335072f9c5b5cfd1774b78a180169e0a7efde997a52b31054a34440758480569e84779c4a9af1ce56e6f951010423fa1335c314a18774889b6b7f9eb3e198b15478d0c71a8e04d30070b312cd20f76b67c6f65309b0f1d0b77e407cc1d619b538fb7295788bd82100a492033183a7ba7f27908709cefcdece11f88a3c0ad85a3570bbc2591473f302ded85161d493462a2a668020761482e0366f502a93e08d516407b174d49e88f0558de52f828d15ae2a3af2cf0152e4c522cf8992350ca33457725e519df12dc87e0f0b5f8492a616da359baca2bf5091f7c4158461a6b74da6b9d63588b5a6e91e88015700730acdb62d1a948ec56a20bfa860099ae33180a5b4a473877ee13ea235ef70e7300c0a33c9cd3bb41854181774c952e4b93050b6dae8c3eec863075b74076e3904b297f202e328d9e774a935dc1e889c52d97e9904a2dfe890a420461a8f59be3eb2c2c3664f9941b919d5b357f6a47efea60ce84e43f7cff2e016340b2f7320799342da6cbe1b4d7a0f868747e6968ba423780ffb352ec23450a316f250100000000000000000000000000005780171d446e9474fbe92d88273f6f67a31e230a0743511a5c6914c61ef7031bc01321cc05437d810e73a7ef059f110ad8ff161313c4caf5c127033c11b8325715fde7d02b0467c271ba9f257852265e65ce6500d3c0cd3802356edd2f556fc26828cc3f0f364fc94aac491933746886084b89f565be10da4034d54a799ad85d649e09115f6bb061a180be0c83f510062ebd0a5f6d52eee67c06aad2e6e656ad2893a31736330477fe44808094d224ac4569193847ce947eab31145de843d1c115461b1b093347688bc316e54fdfad0dc702477e96b1087a022ae5d329a2c119e4eb3ccd65f0828f4f76382c4a500db9f714bf7e6dba39332866eaf69a0d71522a0f2a8766da60f9f8a4186fd54f34021c562e1778d865f76016c699f1370c8a9acb9654ef137bf146467de8cf50717fd4b7f2c5cb67680f5401cfe4f679bb26d3551814663a2232a3fbd5ee7af0f80df5741e1801c17c93557b2ddcf0da8024cc37c6e745c540066a3f80270928913ffaf223b74a0663625d012d5c654d3d0cabd12c6e4ce68f301251cdb75e93a5c4d73147356743dd7abc434dbfb25b601b5b935b5960147dfb22ad4a7efef3173066d59e8f4604e4c7caae5ef510787adb5f8a1fd1a8168479f19a76bdbcd60c12d1162871225f5b5479551e42f002039c454c47928a7bb525fbc374b6c7a19f3d0f344fb6077dea6d4cb6690cb9356b7ccaa95074ad46519fd18ad0b35a90e21c0c00b19bc581f98f9792423a6ec6e6078d6ea0a3ccd43f366305b685453f4106937ed56b85922c350ba46a747ca7666a11fda7c0a11abe269a097257f0181d212d685b7dd5dc2697fcd88908684dcf09f6e286dacfbb0a01629b432a905c7b0b4d46f35c6a274301fcfa70e0c371eb931f53682111565f5d7b9b3184785a1554a1ee1df94b52d9ecad8bbd118b52a1b8993462f366c54a78963084fa0506cb7ca18ec6675c6fadb89bd7e15f006c229b60176b0b78d5317562c7dc4363761f5940436d321acae8a4ecee4574a56810ee1b5c3e1602023a1c633fa66ec2721272d0ea4fac46693e75bc5db0a9b46e0457a3916c5e98d0b91798c5a137dbe92508365193011b5569004fe9a0ef75d73e226068fe826ed2eb9628aa8d008360306ba03684ae7dfbbe8f075a746bf35c18f4d356f0fe3f8b36150d1d394b744b0d64f8a065ab2592621c1f84e80f032b57827e9c4a462c91a253bf962d82ad5058acddbf", + "new_receipt_trie_node_byte": "0xf901098083225510b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 250000 + } + }, + { + "traces": { + "0x9f5eac3d8e082f47631f1551f1343f23cd427162": {}, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fcb312fe5326a8e", + "nonce": "0xc" + } + }, + "meta": { + "byte_code": "0xf904770b844fdc64a68303d0908080b904223265be11bbdc2d0b62ed551c706a553c383a8376660605baed8d32e89be71912303d74f4a4aebf9563da189c9d329203ab1efe050eba2e1e6f4244e790e2bcef634ae7f82335cca4f035393202443735406d03651a7f23d8d15684607dfb5123703c15bdcf73c4b074ef8c1a2ae5d5630b297f02bf0839297fbdad3532ad6aced6ea91839045adbbaa995ac81ec175387683366d6865aeab5a1cae244a00b3672c8955140862a1ce9d63d2d4b3461671e3a7851fb5d8686faddef58d5204155361e2036bda45f7f808b4841cdf8a98927c850c1247852ff810df7c43735ec6ab45b25afd59a02953f5b04a1f852b5f7c874d390f0e28dc172477b4f9f4bc83d5ceade87719320fb398edbeffef3077f4cc1f2eb7309e14c2bee019b27833be93bf239dcbc861bf63d793bdef9674e0534fe6c558d896684ad7f6beba5d06074a6f6b0e757caf524e155fb43a53b895362ebb62efc0f390459790043f0335055b6ebc37afc27971790bdece822fd327843b0a74ec5e4a862fbbb7cca3c2c944a8ced4a6ff3c9b0312046c18822181cc59e16c88411baeac483414055374a6aba799aa8fa3925b04e2b3f0c0fcb0adb54bb9a97fb91b8540d072b82bf4450c71f602658bdbce963867a0233f5c763309cfa75a16650f03971c2d76497130d77ce731ae1cf3640c98892877bcb452ba31151d3b534a78ea60f5944cbb9223dff39982e2fca1580456587fec201f5f941d720225db2020ba4bc85af4fa135d4101b75eb628540a4075438f328ac4cd2263f17e6f9a71e7418c9e5f29f4418f413158080340077ca7efae6a77bb3e1b9e043ad62ea8ea47ca77df6c3b66112112bd6de16c7c7327c1efd8a0a400603f132f1e3021961c53a175b06a9ad504cf2dff6b82040b1d7c2522c08e24264811b48edecdeadc59cbfd7885c2884be1b00f2d3edcb214364a4a3660de7f75ccff410aec97a28d677e9d7cc1b1eb20f3d838a2f67eca0ad2c18f83705f0e7d864b976671612a69efc46169ba23a4ff4cc8929ceca71bd8b008b9a421fc467ff0adf3e8b4d7b712cc5a9096c5d0a05966bf5dfe0e4e42677c101f38a5ad595672b931c919cfcef0f2b9099bf013277af422896c7d574b7801902980f2e7b52fadd7dcb1e5f77f7d7316b6ba74e2395e005cf61b7579d89758aa392d8470c851ed8dc04dc3ca16b3c6e61d54361a095c4375add08f41772325037e8a48423fc75b0dfd8d4e23f00615650a12f8bac5536b23ef30f5ef21d419dfed66a71408465f6c02e408709d1c841cb5c624fafe4732436bf42069bf1e2a16ef9282fe6347106426df7c1c3f7bd766d0ecdba3618232f2a8895cf36867744bb20d26f2b658743a0b5d69f6f327d9ad6a212bc64067776f381dd4579a3061332b36453d3345708c70ddf50a8ebca1e08d183f03b084b1f662bb6608401c7c1f2d3d34c8330460ac9ce148b04c8b4b9d0e6ad5308c3bb29f9c3f4ffafd8360306ba0a5cc300b87b70f6995f9f58f62766e4c941cf89a8899b2e35d5f717f23340dcea062defb73ce79415784dfc9ee655aeff22ab9262b4dd4ee76f97f8e0fcd5ae23c", + "new_txn_trie_node_byte": "0xf904770b844fdc64a68303d0908080b904223265be11bbdc2d0b62ed551c706a553c383a8376660605baed8d32e89be71912303d74f4a4aebf9563da189c9d329203ab1efe050eba2e1e6f4244e790e2bcef634ae7f82335cca4f035393202443735406d03651a7f23d8d15684607dfb5123703c15bdcf73c4b074ef8c1a2ae5d5630b297f02bf0839297fbdad3532ad6aced6ea91839045adbbaa995ac81ec175387683366d6865aeab5a1cae244a00b3672c8955140862a1ce9d63d2d4b3461671e3a7851fb5d8686faddef58d5204155361e2036bda45f7f808b4841cdf8a98927c850c1247852ff810df7c43735ec6ab45b25afd59a02953f5b04a1f852b5f7c874d390f0e28dc172477b4f9f4bc83d5ceade87719320fb398edbeffef3077f4cc1f2eb7309e14c2bee019b27833be93bf239dcbc861bf63d793bdef9674e0534fe6c558d896684ad7f6beba5d06074a6f6b0e757caf524e155fb43a53b895362ebb62efc0f390459790043f0335055b6ebc37afc27971790bdece822fd327843b0a74ec5e4a862fbbb7cca3c2c944a8ced4a6ff3c9b0312046c18822181cc59e16c88411baeac483414055374a6aba799aa8fa3925b04e2b3f0c0fcb0adb54bb9a97fb91b8540d072b82bf4450c71f602658bdbce963867a0233f5c763309cfa75a16650f03971c2d76497130d77ce731ae1cf3640c98892877bcb452ba31151d3b534a78ea60f5944cbb9223dff39982e2fca1580456587fec201f5f941d720225db2020ba4bc85af4fa135d4101b75eb628540a4075438f328ac4cd2263f17e6f9a71e7418c9e5f29f4418f413158080340077ca7efae6a77bb3e1b9e043ad62ea8ea47ca77df6c3b66112112bd6de16c7c7327c1efd8a0a400603f132f1e3021961c53a175b06a9ad504cf2dff6b82040b1d7c2522c08e24264811b48edecdeadc59cbfd7885c2884be1b00f2d3edcb214364a4a3660de7f75ccff410aec97a28d677e9d7cc1b1eb20f3d838a2f67eca0ad2c18f83705f0e7d864b976671612a69efc46169ba23a4ff4cc8929ceca71bd8b008b9a421fc467ff0adf3e8b4d7b712cc5a9096c5d0a05966bf5dfe0e4e42677c101f38a5ad595672b931c919cfcef0f2b9099bf013277af422896c7d574b7801902980f2e7b52fadd7dcb1e5f77f7d7316b6ba74e2395e005cf61b7579d89758aa392d8470c851ed8dc04dc3ca16b3c6e61d54361a095c4375add08f41772325037e8a48423fc75b0dfd8d4e23f00615650a12f8bac5536b23ef30f5ef21d419dfed66a71408465f6c02e408709d1c841cb5c624fafe4732436bf42069bf1e2a16ef9282fe6347106426df7c1c3f7bd766d0ecdba3618232f2a8895cf36867744bb20d26f2b658743a0b5d69f6f327d9ad6a212bc64067776f381dd4579a3061332b36453d3345708c70ddf50a8ebca1e08d183f03b084b1f662bb6608401c7c1f2d3d34c8330460ac9ce148b04c8b4b9d0e6ad5308c3bb29f9c3f4ffafd8360306ba0a5cc300b87b70f6995f9f58f62766e4c941cf89a8899b2e35d5f717f23340dcea062defb73ce79415784dfc9ee655aeff22ab9262b4dd4ee76f97f8e0fcd5ae23c", + "new_receipt_trie_node_byte": "0xf9010980832625a0b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 250000 + } + } + ] + }, + "other_data": { + "b_data": { + "b_meta": { + "block_beneficiary": "0x8943545177806ed17b9f23f0a21ee5948ecaa776", + "block_timestamp": "0x66964056", + "block_number": "0x4", + "block_difficulty": "0x0", + "block_random": "0x147c45372cfe0101a4898b634160af19063e603c11d7c6bf63457e31e8ca81a7", + "block_gaslimit": "0x17ef641", + "block_chain_id": "0x301824", + "block_base_fee": "0x22f4b3ea", + "block_gas_used": "0x2625a0", + "block_blob_gas_used": "0x0", + "block_excess_blob_gas": "0x0", + "parent_beacon_block_root": "0x6ee1f74e9c9bf2a28a7342e4ff7866c37c97ce2a89f95a875f351d786b14d323", + "block_bloom": [ + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + "b_hashes": { + "prev_hashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x096fe8e9c3468c7a32050fdc319ccfa35222e6b64aa44fbb16cec83f251dd870", + "0x201ab14b7b8516d02db963e0082311705b8658296966a0be2cff67d5db57a1b0", + "0x4995957f7bada5fe5e3dd8b067ea51a8ff2ac66bf1d8a62b1d4fa03d73c9cc31", + "0x8ca953b07297729a687b40e05bf17c2c4db4e0f53c3683308b50467724485ae3" + ], + "cur_hash": "0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3" + }, + "withdrawals": [] + }, + "checkpoint_state_trie_root": "0x765b89dc0bbd05503b9074455cb6b1f65f23147cc2f7e7f6cd56b262569ce02e" + } + } +] \ No newline at end of file diff --git a/trace_decoder/tests/data/witnesses/zero_jerigon/b4_dev_header.json b/trace_decoder/tests/data/witnesses/zero_jerigon/b4_dev_header.json new file mode 100644 index 000000000..1aceefbf7 --- /dev/null +++ b/trace_decoder/tests/data/witnesses/zero_jerigon/b4_dev_header.json @@ -0,0 +1 @@ +[{"baseFeePerGas":"0x22f4b3ea","blobGasUsed":"0x0","difficulty":"0x0","excessBlobGas":"0x0","extraData":"0x","gasLimit":"0x17ef641","gasUsed":"0x2625a0","hash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","mixHash":"0x147c45372cfe0101a4898b634160af19063e603c11d7c6bf63457e31e8ca81a7","nonce":"0x0000000000000000","number":"0x4","parentBeaconBlockRoot":"0x6ee1f74e9c9bf2a28a7342e4ff7866c37c97ce2a89f95a875f351d786b14d323","parentHash":"0x8ca953b07297729a687b40e05bf17c2c4db4e0f53c3683308b50467724485ae3","receiptsRoot":"0x36832caba1c5339c7a9ff4e63a03149d5b5de5bcee60eaac6d2a21f3a7d88b00","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2b5b","stateRoot":"0x038e7e3c67c9166523c4b2bae746f5d7cf72480af4294bb900f252faf05d04e9","timestamp":"0x66964056","totalDifficulty":"0x1","transactions":[{"blockHash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","blockNumber":"0x4","from":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","gas":"0x3d090","gasPrice":"0x4fdc64a6","hash":"0x7656fbe97bca00617166f052d7c2bf678249767efe2d58699b437b64979e5122","input":"0x7d877b065e1ddb12872b21f5f4de038b91f077f802d40ae712b1072515259b7302e7a43ef8bdc60dceda1e2cf2c5f6dc5630e87855642dc7bfdd125c15476bfc17bba053f7bbb13b66e4907d00d8e968b6d30283e23c43e883ad1939067ca414f58888d9f32332a3b63473e5e6d6bd31f6914447a4566d1d4afcbd54110b4091903d3a76f94b7dff9f73f28bd04bf374e6dffc49c49e2750211a2a441c641ac30e12f705057ac95cdd9faf3f6b221ee0108fc305e3a33e10900db88f2ea0f0cdef6beb22f898d8de3f8a472e932e9315383a349276338bbc8b7a4ae5b3c5e62dc521cd4ce07fa69a4ced73f51533016f253b6a59d97f8e583b9ac1ede01e4ab64587873f929817340b3663653075c57f0272a1ccd3196e4df246d0f908a33eb6a224444bc1a9f062128aaf7bbbb58c716b0eb64dd0a51162e0bdfd8dd47c18c28ea5e179a03358a31435f4af590a636dc4972fd0fcaa5627e713b1811b53608760d1477eebcf65536a6d57076acfd4f6bfa729892d14ec6c7fa8a9207d9d60bf56c6ad7edd2de9f8223ba4e2bc7df194dd41bc109180a1390ea1a68342b64f05166d325913176a37b05dd46d09604217094a60d555147eff53c583cf904662898844d05a37dc7eff4ab537ac138d066d4bb7af4212925463fdea1cf059126aeaa9794e679b6f38311a9c63196315d1165947116ad759c2f0aa148f30074c214070a74675e3326b11566505c6013297e40f2c8392346ee33e81a26b978a48952b0a754e1347543f6a37d407ed6722ac724a9a507c4916251078d7af4627cb6a0ac24f311a5042798c66cf3904b81381c93c60374912545f7011df013e31a8c7a1cdc2d44372d016431b371a0463d54be2751a3d351d40700e5129404d3f76331c72f6b3255b270f826181b46fec687a29ad18b8226004774b78a4b37c1a5e6a499ae6d8d24b780b56950970132e6f90e28a2cee18a7121d4287a26e6b596d45ed322af4e4bd582e2cbd148852927b522f63d6b0c18033ab44ca81c1a543161615dd31c70070e7eae6bc706a2de10dc395f4c39b632a75671588e91195e604e45f445d3070a0a95436c8b6c5fea9defcc71fa59e3dbc33147abed46c83313a308a746c5689da0699db748fd0f4ab894053e584626b0ff24821fc7fadd2e988894504404463e9e758754273976124a360ddb9a4c11285ac798248659f5868094152748e64b9a3c928123722ec84d417efc8e619a5c4366606607b82307dd8b9bf24f1f7c1f25aa931bcbcfded75bc1e2a575a1f782773768d5adc2d036a4bba4518bc068c47030bc65f6a13252f29b8168fd64957211c6e11b752b1f4144b0ae905d821a935d55a6f6e49c96a8300905615efacebe94ae4bb956c4dd84a0f8b53cd087888d356e160517109f6151359d245488c918847aef5527beca916770bdde14ee846cc22542e62b9db5617db816edf58a373f41a18913344994745739e12fcc980ce06ab4a05999f1fde39c41dfaae47087c1512c75b71cdb23b572730ed055dab87d307f11da0eeae0bc671ba994c3f35718e8f55bb19cc50e03107f33bfb647891f463390300","nonce":"0x2","to":null,"transactionIndex":"0x0","value":"0x0","type":"0x0","chainId":"0x301824","v":"0x60306c","r":"0x283977096b0fa526e636c9ef2a4f988d71354afbb2b9f39200bf2d9939173021","s":"0x3f384055facc74f5d465b3d6600b7973d7a2fd6888f1676dc2836cf1bdb70ad7"},{"blockHash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","blockNumber":"0x4","from":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","gas":"0x3d090","gasPrice":"0x4fdc64a6","hash":"0xf5bfe3c2772f0eb210ae36291ac3a1c2612de813db636967017d385ed3f61331","input":"0x6281730779f6d4e88d5c0f26c588e39464798d0e09d6d146ad2d2cf019e5b03f757f5222d42413a1854986a62791201822573bf0b584958116665b8fff83a5aa6d5b677db32c7e35af172e0a6ccb5b6aeb93ea07e199e36fdc647ec500249255bb4dcc8071166debd343ee52ada0f071c81fd4e0153764325b876bc36a46235b798471ca5bbfab1b7437f98e64ae89ec087ca98bb45344142d659b8c16e80a506e72da543eb31bae4fe6a86ee8e4ca6a5914403f5f65c941ef1806b30938903a086d6ca24fe1a7bf3ee5936fac73f6335f1831803550067fa731c9e26a5582dc3792bde1c3d2ba9f5bb03775638cd8ee38fdad626aef958e3f5b65e9c5e215728571b4b3db781f13a5cf5588639944aadf43e4270202175b6854c6b8b248d1e1691161eb025890756dd29827592cb1852236b020e82631eaa6d8d21f9807198259805d3d68f0485ab07e2e6c1ef97b9b0a1781584a676a71a8f6ee7d2f20e2bbd75bdc0fb8bef831515da4787d6c4a12c2ed00fc292387d8c1f284f7926774b3d92895bc7f023d60c93f845571814311568810f5d78742360266ef1f64112b3542724877e14348e0062400379dbed5812312a8eeeb46843d634a1876cf5b49a46c2ba8cd9a3f3b35c13a55645ef3945145361d070938537aba4f5a9135bc16146be05c42421816f5122a6b42489b3cfeac24eb708e6ed0537e5aa9bd41327c7a5eed3741b83b70ba81bd5dd3a6b9cd1d67a0cf7654b5fa4aa05444360965c202effd4c493283455c5548453e747cdc0772d1422b06dfa128e967a9319ad09fbae0d81166ed70237c838f275b4a3b668b12aac2afd6e5733436e0a455e7c67450988a4b20ad0eec20d1eb5b764171b25fc048261ea2cedc8e4da6ee5aa5f11d9f9bf67614363a6226c075905f704fdd3dcb81f1db2dfc697cb45a797938a44471069d4a6976c485eba5a6cb643901d2aa4dec96193d83593684677568b6bea2929090123109123191707d93b413cee3cbd6a88b07e9ca17207e357de30e32f5f8b989a810b3d7b3a24da8f73ab1a35c81450f3c0b9eaacad4611109100100","nonce":"0x3","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x0","chainId":"0x301824","v":"0x60306c","r":"0xf7a4dd0b626d2fa57e6e3edc804fecef9b367aafc239ecd8aabcbd917d73fe43","s":"0x6780e0f00ba63a8e9b86888d169319248c186e313516c62bb3ce35a736e93a88"},{"blockHash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","blockNumber":"0x4","from":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","gas":"0x3d090","gasPrice":"0x4fdc64a6","hash":"0x21ae9124df7c63aae240083d98b152f1e71bb63b31cd5e8b2927e7fce841c1a1","input":"0x5a6e78adf9e9c860090527daf5786ef962077bf962f7156d7620dc0c8f6cc19a1d9063cffd426fdc040f0f9b3474af111945173d8091157925a03bbe35662a8b5c7e7282a5cf05014ae32e5aaf51c4440d1709811c353b3d306d7d1ca284ae95773ddfda82302667501b01647b20ae9c8770b6065442d3df94925a314b0f7517ea43de1b067112a8cdde51c1be9d622612cff5cd1f5e361a7c3fdfebf14c15967b526de0d94e33b2c7b8ed15e40a7274fbbf49d2acf1106236b710732b6b01ec732c4290df6f262a73b989b21f3e79093637423d6c956af497051acacfb61b73169975ead207fac61be7e1b89410f38392fbe639efe9c0ae4a817d3bb53994df71826e55696aea8dde32418d46215ed66dcf1ad4dd206e149573918e63fdd5e7017185e1fae415d17d0ac36c088f44778d52900812c606c8c65d889a5e280730e2ff0a62c2424922387199ccf61ea3f8e950eae428957f2a6bb6f94e31792a17ed550aa5b128a0ba393263931a2f9f556190704db80be47084996a67b3b9145810fa41f371203334496cc5fa6355cc75e37d271be63e290b1668ac5fc04a6c85db2d928473dae050e5d0478b40656acfcbb32223c1145decce504a639e837b0314730a1ce5670c21ebbc05423e357cf537e345c4109c805c086c51574cd3226261df76c4a4a39a137c8b087db775847b8684b3c20ac384ee4d4225a133d922e0f93a30d1dab2904640076f6b1952877021ff81ec9e94b0e2f6332082816d7c3097b99ea4c163368d6c0e3f8c1948331a497f0e049d679a1527ddde74350fa3a20df460308237e771db53670559375ad1d06833507f57fd63b05727d4e401ef39e13c471149984d98c7f31adf456a1e42e6c8c2a160596502c378d3064a4576e8bbe143996f49f344897194145f1fa60c62cf66df6a8e31157d598c35ad06e7a46408fe2f893a8deda14dfe7ebc56fc0c61368fada78fca4a764496c68976b9067066e678fd4eb3cf9e113a2a36cdfecc7ded22ae3b074b9b8c661e4d212fc6dd3ff8c46c9fab1b2d6eebdfdcede05c0543554a7948d33ead88a2b15c13707534db5fc93d7e9d14b1ce0a418e72898273d45bce6ae6d5c127ec5e8c5f4dddf61c8802e23b34065875862f58a8f8e455464265faba4e70b00c66bda42be441793416d9a0534d3c4c6f85e3eb551a9bd3c8b16437943b9c82d92d10097259afae8b5947a5f82d4b2f16f69405203ed3a0300740611fb0963d3585460260b65a97440a7c334b52e7e538d491be6962a23759e2e37e0e1fb18acece799d633c7b90706501f1784e37d6fb0ae8bbf22ab7bae51761f72e501746483d611ecd3d1d134646a267771b76d614a61d996384e10ee76d19bdead538a3ac820a4f52ede2324859f3","nonce":"0x4","to":null,"transactionIndex":"0x2","value":"0x0","type":"0x0","chainId":"0x301824","v":"0x60306b","r":"0xfbebb228bd4889062bb381b6985560c11673c93decfa7f7f0a92994443e52e46","s":"0x242b17a736b410de42f7f8883cdd68bda91e1fa0c56a2e49497db67f569f4916"},{"blockHash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","blockNumber":"0x4","from":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","gas":"0x3d090","gasPrice":"0x4fdc64a6","hash":"0x6462b263a2526b1b7b7ab7e13d4d6ab9f60b27fbb8de818fcb13a53b1c0476a6","input":"0x654bd6d64e3263453501652f5d7a6a9f467e021a48e0e2e63d740b7f4e030d0efd24fdf327b78a560bd159686f809555d15d7f3cce1cb5c233ad51eead13a143aecd01cd2848576ee548524b8903af4cb3821775142b0f844092b91738a8e662a8c9a6068bd839941a6e3576364d042af044db4f0cc60711b7aa9cc27c76e27ee6059c7809dcb918d279096edd4e4c74118213ba23f600dec5640ac5021a5b6d7949bd674cd05cd14799ab3f136854491d6e757d8d46c121ead807cac1af9a6d126ec8fd2e39e65bab737d564980a733e2650d0172668895485f0b355062bb37a27bfc5d044379e1fc9779b9d4987ec4c11c4a518be9d2e2becbe15b85e2781684377a9156d3cca334b67190a690ae5260237706bcbdecf9436a2c7ede7f125b1260600cc0384154380a6682b49ed2ecbb7968479553e8408b0a1e1011806ee4b49031b09b89b757ac450382f1453b4544944431629dfc957f07d86177d05403434747a7f98981a18b14929c1e04be6fa90705a08ac133e008326487e2b9afb334792946d3850e77fc5ba555cfe29c5473b2c70d567e139af63170de94611a056cacb0336a3d0912028af7773b047dd4b1b8bde125aba206f0f3b2f131ff1fc5288f1b6c08363500d2bf8bef47906fa7c93bc9e7054e6ff13ce45dd0bd420a774d4f35a1ff1e0b365e96e1b11eaf0b0cc051ef508db86a3135389e72bf4b76e7f5dffaaad9986ca679a47c7b6cd5641c0850421446306e8bb50c49c9e52572b32a8570b83ec336956ab1241aa5c4ec3fcf3d0c2f3a63c79c5a1a3507817400b545f6d3c816fbb03147f8919549bdac32a5081344025f54410602355235301a3d6d4c957cf68ee44c9fbd94df2ec34d6a2988d21e494254446fe655655995a22df0b87ee042745c41c23d8852a0a8848dda3201fe3eb275bc9b51d81ce4dbf4663890507939ca4d2742a0cd39b8f19fd9a320b0cd24623eb9352c1bcd9fbb80015a77ebe3560fa1f378146ae7c52c19b3acf75457c70b6d53e27a6e10749d40687ddbdfe68afc48baa17858406bd160cb79426e7151d3959df5114202727e83bc085148f16d7974f60afe2822ca2dab4701315b7638c4688673be125950aaf4ec2148bee12e591b94a63cc7907bd7b6130b6a2637be408f57ff64e809edb70d5843f95bf0e47268104b74e0a8d3c7a53f04d2740f6ad7275e929e088cba80e210917ef34d9a5f510b34789078d6c3b4505db8179c66790e7b493910d4e0d43c7e44825b848661416e556ad6a6142253354c2c9b4e28f3","nonce":"0x5","to":null,"transactionIndex":"0x3","value":"0x0","type":"0x0","chainId":"0x301824","v":"0x60306b","r":"0x1ce5515735ac68b86acc91f18344f8e74e73ed4071578ba31a8de536e4586c7a","s":"0x38e91803b82cd8b8654be58b313c349a940377f2633ca06a5104e4485db38c39"},{"blockHash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","blockNumber":"0x4","from":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","gas":"0x3d090","gasPrice":"0x4fdc64a6","hash":"0x6a4df1dc08c2d3aa7e0314a41d90a23a245fde2d225fbf9300d6ff90e9d3f4e8","input":"0x5862cf54ee7b567d587def34aef4eca73807be997b77ee9e8f1aeee284eb4869dad9748fc6dc83bd45f3010e3470f1065cd024d3fc5eae65486893986b78a873372cbe103f6f8632afaccf48b78450d5882152f56d7746020a7ddd255786c2faa44d55dc8d3b11659104c565e6516392c5059da076caba4d6e39ec331759a47988a218d5ff1b757c7c5efa6d42150b7a24cd3de45a1dddf03aa9a62451855579bf538a455c436c2a134a2f9d27b3b8f61a6b6ce169b81cf86e1115b41534733b156f989635db9686b550aefd3c6704db994c9441681003e33ae52bd7587c367bfa5eaa8f9f3bad48515ac3bf2795155655471c054d6559624262ff6f6632a9fc7cfab1e4301c783b524fef241e898b2cee25ea286abd4c9fedff90096d9d2579404649439f82464aa1983e71a770c79b172f37aa1de2e806cc3f15f707a47ca5a62fc6af987c598da291fbef81e5bd90d14691156669df20eadcd96e0273e384d83e195bc105cd433f33bcbd23114a5ece605b5a6a5c6626b98c770803e5a4c93536165d6792c4b5830ad0d4aa5a1c5a1136651cde8a70bf7465217b4460fd8b107cfa9acab56dafa8c4cd4c79e2c5d49b7754ade6eff8884764055805f6271519036558c7b712d4733f719295b1bd2dcbdb070335cd6cd3a3896c59ad4577473ae9acb5eb4a2fdc5f6ac73f94538bfea0cfc801701d2959664e00f07239c530905d047b8c2e6f43cd6b914b00f4129b513062a41df190a4eaa3c2a7eb0d871a926d6651f3391a7f086ead4af9d8b18d801313644564be67a66c7132204bfe57f2bb8da1d712956336d027d516446b0709ab6192da86c9a42a42284a7209f5f9e69eadbf2321e0a38392a77ef8b5c187591704100302726f627c6c08711bd91c261085ebe91d926691c736655c165d8a8c2d3b7dff9c8c532484ab475b434d46152c3c85cf91e70e249a395ad7898839d507a15d5a343b7fb2fd69136c6b1b50eeab706ef825aec6115339134537bf890f6d9b96f27c15ee74d37db6a9f2dac4e0dcf1fc6c4915eb96d63c49eecd77038e6e1206bfb93e2d6f8c82ea9b0d0e4ae117e01aa48b5d553d921d668f4baa8c02d3241d40451570ac90617839f7125487525183d96502390c7787ebac9684e510057870d07cd0e6fd3ee2cb1be4ccfcbd2637343864cb3fc84fc847081b304a7d8cfabf507db1167cba84578f818f321cb9596267cbd5a14aadf5ab61f58b163f3f0a503df3","nonce":"0x6","to":null,"transactionIndex":"0x4","value":"0x0","type":"0x0","chainId":"0x301824","v":"0x60306b","r":"0x501e2d2bd15996cc0eb097306f4f76de2077865f934e459029caabd094c5e578","s":"0x408264ad8649ee95afd43f869be7de87b296b364010aeb18a755fae3dd0a3c49"},{"blockHash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","blockNumber":"0x4","from":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","gas":"0x3d090","gasPrice":"0x4fdc64a6","hash":"0xc43c27001eac721ba1d80d27040175725d521d8c7ce5b4f23cc4984952ff6527","input":"0x3a6699e1e7330c28da6f04c0a5ea93bb08f398feb8bcf76b06c47d5cd56ac9b7a09d33778872698a54bcf759f6ec9dea796b71070ceeafb7fd551a7562dba64309a4f0dde67311c854aaf000402a5676d299704e9b47599993a34826f2258904f27ff5d466dc1bf50204c4550b61439b5b620285235b41321d6b4439fca574c375a580ff328e1470c9d189f5491caa3ce96be3328210f927b7336cf46ae82840ee30a127f352a7003b6e47e055070125ff825c42bfde60673b1a3b6e4d6e353fdb998b93fa27cf318ca37018423a0767efaab50662eab61945066c7af69cd44ce8771c51991a996458831a79da2537379d33715d8433659007805988f338ff6412d24a9839bc3a117c86946d3d173aefc5bea29a1859dddfc8e66b08cbab1adadbd45cfeaf6b5542193410926d12059b59bdf54ab4ffdd93f0b2e9800b5b3178dfed60169b04a17365238fdf683d34c3fb2229e770e53d3c6e603982635f435133686856b881186053a6143703135c606b654cb634b4541d6dfee6775dc8ea6ec79fd0fa5d0c724878e34ea1b41bbf781e0907cb7222fd76a4ef1aaedf38b3e9bf7f0942636f920d823043488039385a6f2f01b71bef7f04713058ff70a8ca081c130b8032a368517893b5ab0dc908025b46927f6e8e97bc65e2a6f57bcc0ad8996dd29370da8d7748d50f65a0205df5cba0a2265f307eeea4108c370dfc8b8ba96f3303903933d6cd77221b735a238387bf09a0cb6c1b1832315f788f476a8a5c466423f9868486e88366b60bb331f3920418450f71d9c53bf2a6ce0f8651ccd6837242a438a2a56756e3e86bd181eaea14584608544a7481a83b687c2c2700e6225f57e5c76025da7bc0af2f1554682d3704e733b4a850a87b3af2ca511a0142bb1e09e7e36bb09244def2903aa07ba979735ea71e54051147363b3372bd5007b5b30fc60812d7dcb82f9b729a845875614947927565b8a58d8dcd807e8cc4063d8253728b6385fe15f98e3d34476c692f2d92a0d0f0efeedf0300d046197ad59f80110eb2e8efd3e79c4c8f91766544cfcfbcaaba1c7e7015677c89a9f3393a5072eac9a75380a14044404f5b989b1f397a20564d498147334461ab94f3","nonce":"0x7","to":null,"transactionIndex":"0x5","value":"0x0","type":"0x0","chainId":"0x301824","v":"0x60306b","r":"0xb2c37bb632e39954fbd9f339eb90e3fdd36d7714b7fdd9764a732a1fcb9213bb","s":"0x41e04a31f1b06c053d5d73daeab720564f10b1aef334293322646b358705019e"},{"blockHash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","blockNumber":"0x4","from":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","gas":"0x3d090","gasPrice":"0x4fdc64a6","hash":"0xd802558258227491da149469648c395dfd9e566d8baadbc0edee4b8a9350dcf7","input":"0x723f63030479b6750c82e768bc239a909d3cea3c5c5c40324507135a0b6d6c6671d356274c8b1fbc2a9d8ff1105a3a6036014320451562fadd213574af6d470e2141e029822e894cc777408dd90ea2a63c1d64701441ae7a916f6e0d10fd3c5a901dd08836d6c08bf71047421b44848680957a28bde7c3fef2d62d99d42079a6a200782ee8df64fe64b3ae835030a369116b0456291187341a7968c6eccfc186e478f3d15a7c52a9e8ecc880118b8e123e4a6dc78dc5897fc7faef850356eee2d7c58e8296404aa26495b08d9bd736920b1c058302a10260bc35553b6fe23560c77257896c3218c53d309217e7779fbe08d2200d896e7cf5264a73ee1ab68b392ef126446bc71a04609973f34ab88c15fbc3197da98d98a095e00f84faa9ae43455b0172b4beb4c32744615f2c7da670f1b7db0a9d5d6911611c3374e65622841c856f03909916f1e17cb4aaff4ae6e19c1a190212095468f4bb6e1fa915ea16c55f61fa08526e5ca93058aea7015c4f8dc1cc0a24aa3162e48d5e767d9fdf4138dfededa980cf45a0404b086fc56ad9e3affd50580317676730bb2d4e27676b1d6fb6cf2e65e73973859b58496c7f5257ec6eb7b88cb247e7b5b5a2cd7d85445831365f73ff856798e47349fffb0b92537d5b2f6396f0da0a60ea721cc98fb04ef8a5a171cdee4123bc01a9f16b5d8492075064dbfc9527bd451d503375f92f94e36303ed18b1d858a1d72c17191b3bab68eaad66f5083b769a9b7b710b5b8a9a1b2c0068550295cb2e165e678477807eea233c8e451b0dee921962b0a7b94a872a40b1181461b1157683d96e898c34505f627c5d6e1c134520476443f229209e59751142b0f45bfbc25aa225a0d0ec8acdd32c453118ed273d45556ef846b9418fd2e93d48b0411a64b362136efe3f4abb98ce57f08ff2085dbf46aa5f143d792f5b1b34162426557265bf21ca655ea91489da715049f2fbb11ca06875fb2b7655c86816fd65b83c4a33df561032303d7773976d1aef53f882f2e157848d5c9340d46de54b15fff6abf3","nonce":"0x8","to":null,"transactionIndex":"0x6","value":"0x0","type":"0x0","chainId":"0x301824","v":"0x60306c","r":"0x4d924fb5f571bce21868b25f94690c57d8fae822964dceb841f56b2228c3d1a2","s":"0x1f5bb6a84fe40b6cd56d5f4f99bafe472c7cebecd996ef0e0d3c78add601e7ef"},{"blockHash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","blockNumber":"0x4","from":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","gas":"0x3d090","gasPrice":"0x4fdc64a6","hash":"0xd78ed182d5b55254d6584a6f8baf2ff6a7c5ffd5f2c23d3d6b2b00c9b5e7fc07","input":"0x586719e3b335e5a05892455e79e08ce21a9afc02c83e5f768eae9fa00b39a158dd7091c4fa7a6b35364580046435b81b90097f197715cc6892806d41402f9e348f92a4bdd6baea99150349cbea59a2bb9635041154403011536d27ba3a210f1e39251f45b399acae38527bd52d2f458979698118a508d3dd9be2462db4bea525dd26e4d6a6b344757654b0fa84a1048dbb6441ced8bb6efe98493a4022ef0738330750415c04648b8df72298357dfd3d2006b16651c845c06c60a7f0990bdb7aa4cf31a6ae4a4ecbc6b52af04071988cbe72b7c034722389090b53e8facaaf5b79269b6dd4754f1109d9056dd94e2e58f1d4471385c5438cb11216063a9058657fb92e3fd5ff5a7f3e8f0db7c708432c4a9d73a5819af8c164f48ed2609154d895f9e2d463aea10561c8e36d3c0a55ff3302037a017ddeb547d66b945269d12a839b755b8af2ce491d367f1791e601faf06b7a85c1231a27e400a1899c7f49c99e2cf9bff0fa37496f67c65f801a3433347d93b23dd1dcdef91dee790a97e04fee26205bb52bddc2777a82edf2d4b8c58b5f55321166cc5704776063c54302318d383b448f90175f1c0535551a04841106525d74eea2d5f0460832323b3bbf10f62d22d5ba89e2f437437a506f09f7d5f64a5e751cf8e38a5469637d24c9443b88f8af3eaa867654dec790a4105c52f1df1a54511d78b55f439962bffa3041316e3f30c11a100b50278048fa7a7db73838350973e69ce694bca794ecb0c50887f8e7eccad276a086466c29b25d02248a064689199a56ea418580903d70a019acf7013b8c71acca923dfa062494185f63425b9c3f786b59228e4a4da2264f9381532a9934048e28fea3569d2f77ad61628a3f8d316a3c3fb639dc8ce4c740dad66e16048127d881c9f1ad2702f5ea96ca09107a787c6dc491941a810e9aa8f76e77efbfef3dc3b5ea37dac094332f07089250170768625554d6092aa82d744317625ad6fc495364a7c09b2ac53b74b35423a81c4baa75b35e3ee5d33822b6f152201e0a5c7c4f517f47cb1ba9e18c879dd88dea8fa53ee541d2163ab4fede017323f53105151c793f6c302f14785d053d591ee0d2d6e706c2fdb9cee826072f4cf1546e1ea8cc798345123cbe00af96ce94ac4a11765a6449ed7e0edf81c888c9bff074ac439bf598dbfe7fad83661b70142cb03b2164171718c5c739087019b6dc1960dd0cd875db87b3fd1707210379ed6df649fcc52b7ef38093b57105b6dc5960adde984da092cc0c7f99e9f4867471c5d770b67f3189213ddeca75170bb947fa6b68fc9cd8480f213a7774b20cd25d83ab90b3eb4465dc0e88e5c33a659239dbe97d3b712498bd66007b07593b93dd6cc2f2e014df307c9d477d6b368b004b2ac553f5c73e1a70bbf4c9061eafbc64bb339932783a446f2817e422c934754dbb654891dbea919e325a94035afd","nonce":"0x9","to":null,"transactionIndex":"0x7","value":"0x0","type":"0x0","chainId":"0x301824","v":"0x60306b","r":"0x6109e0c44e8f86754478f78ee90f0c3a8d249605655330407342c534bb8fda77","s":"0x3d1cc3c94d2d1b5ec319385ae1dee73c42b87a88800e9484e8ff91d62ebb1940"},{"blockHash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","blockNumber":"0x4","from":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","gas":"0x3d090","gasPrice":"0x4fdc64a6","hash":"0x49b652060da03857f56659b1ac638fd132c6b80c7935e655430946c3493b8539","input":"0x7f17bd908166a67abe337de1b827fcc93e6b66bf994e2b9d80c4115880a8d6f0196f2809a0a7e8dbe569eb3f2ff48ac22951762de9b5aaef79ae2385b8da667a578501bbdbb78c42baf0335072f9c5b5cfd1774b78a180169e0a7efde997a52b31054a34440758480569e84779c4a9af1ce56e6f951010423fa1335c314a18774889b6b7f9eb3e198b15478d0c71a8e04d30070b312cd20f76b67c6f65309b0f1d0b77e407cc1d619b538fb7295788bd82100a492033183a7ba7f27908709cefcdece11f88a3c0ad85a3570bbc2591473f302ded85161d493462a2a668020761482e0366f502a93e08d516407b174d49e88f0558de52f828d15ae2a3af2cf0152e4c522cf8992350ca33457725e519df12dc87e0f0b5f8492a616da359baca2bf5091f7c4158461a6b74da6b9d63588b5a6e91e88015700730acdb62d1a948ec56a20bfa860099ae33180a5b4a473877ee13ea235ef70e7300c0a33c9cd3bb41854181774c952e4b93050b6dae8c3eec863075b74076e3904b297f202e328d9e774a935dc1e889c52d97e9904a2dfe890a420461a8f59be3eb2c2c3664f9941b919d5b357f6a47efea60ce84e43f7cff2e016340b2f7320799342da6cbe1b4d7a0f868747e6968ba423780ffb352ec23450a316f250100000000000000000000000000005780171d446e9474fbe92d88273f6f67a31e230a0743511a5c6914c61ef7031bc01321cc05437d810e73a7ef059f110ad8ff161313c4caf5c127033c11b8325715fde7d02b0467c271ba9f257852265e65ce6500d3c0cd3802356edd2f556fc26828cc3f0f364fc94aac491933746886084b89f565be10da4034d54a799ad85d649e09115f6bb061a180be0c83f510062ebd0a5f6d52eee67c06aad2e6e656ad2893a31736330477fe44808094d224ac4569193847ce947eab31145de843d1c115461b1b093347688bc316e54fdfad0dc702477e96b1087a022ae5d329a2c119e4eb3ccd65f0828f4f76382c4a500db9f714bf7e6dba39332866eaf69a0d71522a0f2a8766da60f9f8a4186fd54f34021c562e1778d865f76016c699f1370c8a9acb9654ef137bf146467de8cf50717fd4b7f2c5cb67680f5401cfe4f679bb26d3551814663a2232a3fbd5ee7af0f80df5741e1801c17c93557b2ddcf0da8024cc37c6e745c540066a3f80270928913ffaf223b74a0663625d012d5c654d3d0cabd12c6e4ce68f301251cdb75e93a5c4d73147356743dd7abc434dbfb25b601b5b935b5960147dfb22ad4a7efef3173066d59e8f4604e4c7caae5ef510787adb5f8a1fd1a8168479f19a76bdbcd60c12d1162871225f5b5479551e42f002039c454c47928a7bb525fbc374b6c7a19f3d0f344fb6077dea6d4cb6690cb9356b7ccaa95074ad46519fd18ad0b35a90e21c0c00b19bc581f98f9792423a6ec6e6078d6ea0a3ccd43f366305b685453f4106937ed56b85922c350ba46a747ca7666a11fda7c0a11abe269a097257f0181d212d685b7dd5dc2697fcd88908684dcf09f6e286dacfbb0a01629b432a905c7b0b4d46f35c6a274301fcfa70e0c371eb931f53682111565f5d7b9b3184785a1554a1ee1df94b52d9ecad8bbd118b52a1b8993462f366c54a78963084fa0506cb7ca18ec6675c6fadb89bd7e15f006c229b60176b0b78d5317562c7dc4363761f5940436d321acae8a4ecee4574a56810ee1b5c3e1602023a1c633fa66ec2721272d0ea4fac46693e75bc5db0a9b46e0457a3916c5e98d0b91798c5a137dbe92508365193011b5569004fe9a0ef75d73e226068fe826ed2eb9628aa8d00","nonce":"0xa","to":null,"transactionIndex":"0x8","value":"0x0","type":"0x0","chainId":"0x301824","v":"0x60306b","r":"0x3684ae7dfbbe8f075a746bf35c18f4d356f0fe3f8b36150d1d394b744b0d64f8","s":"0x65ab2592621c1f84e80f032b57827e9c4a462c91a253bf962d82ad5058acddbf"},{"blockHash":"0x31d9b0b498384b9df66ce8618d5e9ae16bb21f42df5d0501ca774012bf9dc1a3","blockNumber":"0x4","from":"0x8943545177806ed17b9f23f0a21ee5948ecaa776","gas":"0x3d090","gasPrice":"0x4fdc64a6","hash":"0x42d9a64ff889d6d809b0e0b8d2147380e69f07cc931bba7e5e956857a1f24a74","input":"0x3265be11bbdc2d0b62ed551c706a553c383a8376660605baed8d32e89be71912303d74f4a4aebf9563da189c9d329203ab1efe050eba2e1e6f4244e790e2bcef634ae7f82335cca4f035393202443735406d03651a7f23d8d15684607dfb5123703c15bdcf73c4b074ef8c1a2ae5d5630b297f02bf0839297fbdad3532ad6aced6ea91839045adbbaa995ac81ec175387683366d6865aeab5a1cae244a00b3672c8955140862a1ce9d63d2d4b3461671e3a7851fb5d8686faddef58d5204155361e2036bda45f7f808b4841cdf8a98927c850c1247852ff810df7c43735ec6ab45b25afd59a02953f5b04a1f852b5f7c874d390f0e28dc172477b4f9f4bc83d5ceade87719320fb398edbeffef3077f4cc1f2eb7309e14c2bee019b27833be93bf239dcbc861bf63d793bdef9674e0534fe6c558d896684ad7f6beba5d06074a6f6b0e757caf524e155fb43a53b895362ebb62efc0f390459790043f0335055b6ebc37afc27971790bdece822fd327843b0a74ec5e4a862fbbb7cca3c2c944a8ced4a6ff3c9b0312046c18822181cc59e16c88411baeac483414055374a6aba799aa8fa3925b04e2b3f0c0fcb0adb54bb9a97fb91b8540d072b82bf4450c71f602658bdbce963867a0233f5c763309cfa75a16650f03971c2d76497130d77ce731ae1cf3640c98892877bcb452ba31151d3b534a78ea60f5944cbb9223dff39982e2fca1580456587fec201f5f941d720225db2020ba4bc85af4fa135d4101b75eb628540a4075438f328ac4cd2263f17e6f9a71e7418c9e5f29f4418f413158080340077ca7efae6a77bb3e1b9e043ad62ea8ea47ca77df6c3b66112112bd6de16c7c7327c1efd8a0a400603f132f1e3021961c53a175b06a9ad504cf2dff6b82040b1d7c2522c08e24264811b48edecdeadc59cbfd7885c2884be1b00f2d3edcb214364a4a3660de7f75ccff410aec97a28d677e9d7cc1b1eb20f3d838a2f67eca0ad2c18f83705f0e7d864b976671612a69efc46169ba23a4ff4cc8929ceca71bd8b008b9a421fc467ff0adf3e8b4d7b712cc5a9096c5d0a05966bf5dfe0e4e42677c101f38a5ad595672b931c919cfcef0f2b9099bf013277af422896c7d574b7801902980f2e7b52fadd7dcb1e5f77f7d7316b6ba74e2395e005cf61b7579d89758aa392d8470c851ed8dc04dc3ca16b3c6e61d54361a095c4375add08f41772325037e8a48423fc75b0dfd8d4e23f00615650a12f8bac5536b23ef30f5ef21d419dfed66a71408465f6c02e408709d1c841cb5c624fafe4732436bf42069bf1e2a16ef9282fe6347106426df7c1c3f7bd766d0ecdba3618232f2a8895cf36867744bb20d26f2b658743a0b5d69f6f327d9ad6a212bc64067776f381dd4579a3061332b36453d3345708c70ddf50a8ebca1e08d183f03b084b1f662bb6608401c7c1f2d3d34c8330460ac9ce148b04c8b4b9d0e6ad5308c3bb29f9c3f4ffafd","nonce":"0xb","to":null,"transactionIndex":"0x9","value":"0x0","type":"0x0","chainId":"0x301824","v":"0x60306b","r":"0xa5cc300b87b70f6995f9f58f62766e4c941cf89a8899b2e35d5f717f23340dce","s":"0x62defb73ce79415784dfc9ee655aeff22ab9262b4dd4ee76f97f8e0fcd5ae23c"}],"transactionsRoot":"0x72a1709a55d218d846226d7fe3db24c83ef6ce88f130625731a6a28d8ae1147d","uncles":[],"withdrawals":[],"withdrawalsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"}] diff --git a/trace_decoder/tests/trace_decoder_tests.rs b/trace_decoder/tests/trace_decoder_tests.rs new file mode 100644 index 000000000..491cca632 --- /dev/null +++ b/trace_decoder/tests/trace_decoder_tests.rs @@ -0,0 +1,267 @@ +//! Tests to check the parsing/decoding and `GenerationInputs` validity. +//! They rely on the jerigon and cdk erigon witness files as input. + +use std::time::Duration; +use std::{ + fs, + path::{Path, PathBuf}, +}; + +use alloy_rpc_types_eth::Header; +use anyhow::Context as _; +use evm_arithmetization::prover::testing::simulate_execution; +use evm_arithmetization::GenerationInputs; +use itertools::Itertools; +use log::info; +use mpt_trie::partial_trie::PartialTrie; +use plonky2::field::goldilocks_field::GoldilocksField; +use plonky2::util::timing::TimingTree; +use plonky2_maybe_rayon::*; +use pretty_env_logger::env_logger::{try_init_from_env, Env, DEFAULT_FILTER_ENV}; +use prover::BlockProverInput; +use rstest::rstest; +use trace_decoder::OtherBlockData; + +type F = GoldilocksField; + +const JERIGON_WITNESS_DIR: &str = "tests/data/witnesses/zero_jerigon"; +///TODO Add CDK Erigon witness test data. +/// Local [cdk erigon](https://github.com/0xPolygonHermez/cdk-erigon?tab=readme-ov-file#running-cdk-erigon) dev network +/// could be used for basic witness generation. +/// Related work for type2 prover is on the [type2_cancun](https://github.com/0xPolygonZero/zk_evm/pull/319) branch at the moment. +/// When the cdk erigon witness data is added, enable test execution for +/// `CDK_ERIGON_WITNESS_DIR` +//const CDK_ERIGON_WITNESS_DIR: &str = +// "tests/data/witnesses/hermez_cdk_erigon"; + +fn init_logger() { + let _ = try_init_from_env(Env::default().filter_or(DEFAULT_FILTER_ENV, "info")); +} + +fn find_witness_data_files(dir: &str) -> anyhow::Result> { + let read_dir = fs::read_dir(dir)?; + read_dir + .into_iter() + .map(|dir_entry| dir_entry.map(|it| it.path())) + .filter_ok(|path| { + !path + .to_str() + .expect("valid str file path") + .contains("header") + }) + .collect::, _>>() + .context(format!("Failed to find witness files in dir {dir}")) +} + +fn read_witness_file(file_path: &Path) -> anyhow::Result> { + let witness = fs::File::open(file_path).context("Unable to read file")?; + let mut reader = std::io::BufReader::new(witness); + let jd = &mut serde_json::Deserializer::from_reader(&mut reader); + serde_path_to_error::deserialize(jd).context(format!( + "Failed to deserialize json file {}", + file_path.display() + )) +} + +fn derive_header_file_path(witness_file_path: &Path) -> Result { + let mut header_file_path = witness_file_path.to_path_buf(); + header_file_path.set_extension(""); + let mut block_header_file_name = header_file_path + .file_name() + .context("Invalid header file name")? + .to_os_string(); + block_header_file_name.push("_header.json"); + header_file_path.set_file_name(block_header_file_name); + Ok(header_file_path) +} + +fn decode_generation_inputs( + block_prover_input: BlockProverInput, +) -> anyhow::Result> { + let block_num = block_prover_input.other_data.b_data.b_meta.block_number; + let trace_decoder_output = trace_decoder::entrypoint( + block_prover_input.block_trace, + block_prover_input.other_data.clone(), + |_| unimplemented!(), + ) + .context(format!( + "Failed to execute trace decoder on block {}", + block_num + ))? + .into_iter() + .collect::>(); + Ok(trace_decoder_output) +} + +fn verify_generation_inputs( + header: &Header, + other: &OtherBlockData, + generation_inputs: Vec, +) -> anyhow::Result<()> { + assert!(generation_inputs.len() >= 2); + assert_eq!( + other.checkpoint_state_trie_root, + generation_inputs + .first() + .expect("generation inputs should have first element") + .tries + .state_trie + .hash() + ); + assert!(generation_inputs + .windows(2) + .map(|inputs| { + inputs[0].trie_roots_after.state_root == inputs[1].tries.state_trie.hash() + && inputs[0].trie_roots_after.receipts_root == inputs[1].tries.receipts_trie.hash() + && inputs[0].trie_roots_after.transactions_root + == inputs[1].tries.transactions_trie.hash() + }) + .all(|it| it)); + let last_generation_input = generation_inputs + .last() + .expect("generation inputs should have last element"); + assert_eq!( + last_generation_input.trie_roots_after.state_root.0, + header.state_root.0 + ); + // Some block metadata sanity checks + assert_eq!( + last_generation_input + .block_metadata + .block_timestamp + .as_u64(), + header.timestamp + ); + // Block hash check + assert_eq!( + last_generation_input.block_hashes.cur_hash.as_bytes(), + &header.hash.unwrap().to_vec() + ); + // Previous block hash check + assert_eq!( + last_generation_input + .block_hashes + .prev_hashes + .last() + .expect("Valid last hash") + .as_bytes(), + &header.parent_hash.to_vec() + ); + info!( + "Block {} GenerationInputs valid", + other.b_data.b_meta.block_number + ); + Ok(()) +} + +/// This test aims at ensuring that the decoder can properly parse a block trace +/// received from Jerigon and CDK Erigon into zkEVM `GenerationInputs`, which +/// the prover can then pick to prove each transaction in the block +/// independently. +/// +/// This test only `simulates` the zkEVM CPU, i.e. does not generate STARK +/// traces nor generates proofs, as its purpose is to be runnable easily in the +/// CI even in `debug` mode. +#[rstest] +#[case(JERIGON_WITNESS_DIR)] +//#[case(CDK_ERIGON_WITNESS_DIR)] +fn test_parsing_decoding_proving(#[case] test_witness_directory: &str) { + init_logger(); + + let results = find_witness_data_files(test_witness_directory) + .expect("valid json data files found") + .into_iter() + .map(|file_path| { + { + // Read one json witness file for this block and get list of BlockProverInputs + read_witness_file(&file_path) + } + }) + .map_ok(|block_prover_inputs| { + block_prover_inputs.into_iter().map(|block_prover_input| { + // Run trace decoder, create list of generation inputs + let block_generation_inputs = decode_generation_inputs(block_prover_input)?; + block_generation_inputs + .into_par_iter() + .map(|generation_inputs| { + // For every generation input, simulate execution. + // Execution will be simulated in parallel. + // If system runs out of memory, limit the rayon + // with setting env variable RAYON_NUM_THREADS=. + let timing = TimingTree::new( + &format!( + "Simulating zkEVM CPU for block {} txn {:?}", + generation_inputs.block_metadata.block_number, + generation_inputs.txn_number_before + ), + log::Level::Info, + ); + simulate_execution::(generation_inputs)?; + timing.filter(Duration::from_millis(100)).print(); + Ok::<(), anyhow::Error>(()) + }) + .collect::, anyhow::Error>>() + }) + }) + .flatten_ok() + .map(|it| it?) + .collect::>>(); + + results.iter().for_each(|it| { + if let Err(e) = it { + panic!("Failed to run parsing decoding proving test: {e:?}"); + } + }); +} + +/// This test checks for the parsing and decoding of the block witness +/// received from Jerigon and CDK Erigon into zkEVM `GenerationInputs`, and +/// checks if trace decoder output generation inputs are valid and consistent. +#[rstest] +#[case(JERIGON_WITNESS_DIR)] +//#[case(CDK_ERIGON_WITNESS_DIR)] +fn test_generation_inputs_consistency(#[case] test_witness_directory: &str) { + init_logger(); + + let result: Vec> = find_witness_data_files(test_witness_directory) + .expect("valid json data files found") + .into_iter() + .map(|file_path| { + { + // Read json header file of the block. We need it to check tracer output + // consistency + let header_file_path = derive_header_file_path(&file_path)?; + let header_file = fs::File::open(header_file_path.as_path()).context(format!( + "Unable to open header file {}", + header_file_path.display() + ))?; + let mut header_reader = std::io::BufReader::new(header_file); + let block_headers = serde_json::from_reader::<_, Vec
>(&mut header_reader) + .context(format!( + "Failed to deserialize header json file {}", + header_file_path.display() + ))?; + // Read one json witness file and get list of BlockProverInputs + let block_prover_inputs = read_witness_file(&file_path)?; + Ok(block_headers + .into_iter() + .zip(block_prover_inputs.into_iter())) + } + }) + .flatten_ok() + .map_ok(|(block_header, block_prover_input)| { + let other_block_data = block_prover_input.other_data.clone(); + // Run trace decoder, create generation inputs for this block + let block_generation_inputs = decode_generation_inputs(block_prover_input)?; + // Verify generation inputs for this block + verify_generation_inputs(&block_header, &other_block_data, block_generation_inputs) + }) + .map(|it: Result, anyhow::Error>| it?) + .collect(); + + result.iter().for_each(|it| { + if let Err(e) = it { + panic!("Failed to verify generation inputs consistency: {e:?}"); + } + }); +} diff --git a/zero_bin/README.md b/zero_bin/README.md index 8f2ef3dfa..359830aeb 100644 --- a/zero_bin/README.md +++ b/zero_bin/README.md @@ -453,6 +453,21 @@ Filled in: Finally, note that both of these testing scripts force proof generation to be sequential by allowing only one worker. Because of this, this is not a realistic representation of performance but makes the debugging logs much easier to follow. +### Trace decoder tests + +The trace decoder module has some basic regression tests, using the json witness data from the `trace_decoder/tests/data/witnesses` subdirectories. +When needed (e.g. some block with corner-case discovered), additional input witness data should be generated using the following procedure: +1. Run the `rpc` tool to fetch the block (or multiple blocks) witness: +```sh +cargo run --bin rpc fetch --rpc-url --start-block --end-block > ./b_.json +``` +2. Download the header file for the block (or range of blocks), making the json array of headers: +```sh +file_name = "b__header.json" +echo "[" > $file_name && cast rpc eth_getBlockByNumber "0x" 'false' --rpc-url >> $file_name && echo "]" >> $file_name +``` +Move the generated files to the appropriate subdirectory, and they will be automatically included in the test run. + ## License Licensed under either of diff --git a/zero_bin/common/src/prover_state/circuit.rs b/zero_bin/common/src/prover_state/circuit.rs index 5eaf2da7a..f23d6ebe9 100644 --- a/zero_bin/common/src/prover_state/circuit.rs +++ b/zero_bin/common/src/prover_state/circuit.rs @@ -200,7 +200,7 @@ impl CircuitConfig { } /// Get all circuits specified in the config. - pub fn as_degree_bits_ranges(&self) -> &[Range; NUM_TABLES] { + pub const fn as_degree_bits_ranges(&self) -> &[Range; NUM_TABLES] { &self.circuits } diff --git a/zero_bin/common/src/prover_state/cli.rs b/zero_bin/common/src/prover_state/cli.rs index 5a78a1863..5355d7f4e 100644 --- a/zero_bin/common/src/prover_state/cli.rs +++ b/zero_bin/common/src/prover_state/cli.rs @@ -33,7 +33,10 @@ pub enum CircuitPersistence { } impl CircuitPersistence { - pub fn with_load_strategy(self, load_strategy: TableLoadStrategy) -> super::CircuitPersistence { + pub const fn with_load_strategy( + self, + load_strategy: TableLoadStrategy, + ) -> super::CircuitPersistence { match self { CircuitPersistence::None => super::CircuitPersistence::None, CircuitPersistence::Disk => super::CircuitPersistence::Disk(load_strategy), diff --git a/zero_bin/common/src/prover_state/mod.rs b/zero_bin/common/src/prover_state/mod.rs index 44463b53d..aacd7c12e 100644 --- a/zero_bin/common/src/prover_state/mod.rs +++ b/zero_bin/common/src/prover_state/mod.rs @@ -125,7 +125,7 @@ pub struct ProverStateManager { } impl ProverStateManager { - pub fn with_load_strategy(self, load_strategy: TableLoadStrategy) -> Self { + pub const fn with_load_strategy(self, load_strategy: TableLoadStrategy) -> Self { match self.persistence { CircuitPersistence::None => self, CircuitPersistence::Disk(_) => Self { diff --git a/zero_bin/ops/Cargo.toml b/zero_bin/ops/Cargo.toml index e1b5dc9e1..05cfecb2e 100644 --- a/zero_bin/ops/Cargo.toml +++ b/zero_bin/ops/Cargo.toml @@ -16,7 +16,7 @@ proof_gen = { workspace = true } tracing = { workspace = true } keccak-hash = { workspace = true } -zero_bin_common ={ path = "../common" } +zero_bin_common = { path = "../common" } [features] default = [] diff --git a/zero_bin/prover/Cargo.toml b/zero_bin/prover/Cargo.toml index f57b2a3d3..d1eaab7b3 100644 --- a/zero_bin/prover/Cargo.toml +++ b/zero_bin/prover/Cargo.toml @@ -17,11 +17,11 @@ paladin-core = { workspace = true } anyhow = { workspace = true } futures = { workspace = true } alloy.workspace = true -tokio = {workspace = true} -serde_json = {workspace = true} +tokio = { workspace = true } +serde_json = { workspace = true } ruint = { workspace = true, features = ["num-traits", "primitive-types"] } ops = { workspace = true } -zero_bin_common ={ workspace = true } +zero_bin_common = { workspace = true } num-traits = { workspace = true } [features] diff --git a/zero_bin/prover/src/lib.rs b/zero_bin/prover/src/lib.rs index 964a62938..78005f99e 100644 --- a/zero_bin/prover/src/lib.rs +++ b/zero_bin/prover/src/lib.rs @@ -81,7 +81,7 @@ impl BlockProverInput { pub async fn prove( self, runtime: &Runtime, - _previous: Option>>, + previous: Option>>, save_inputs_on_error: bool, ) -> Result { let block_number = self.get_block_number(); @@ -99,6 +99,12 @@ impl BlockProverInput { .try_collect::>() .await?; + // Wait for previous block proof + let _prev = match previous { + Some(it) => Some(it.await?), + None => None, + }; + // Dummy proof to match expected output type. Ok(GeneratedBlockProof { b_height: block_number diff --git a/zero_bin/rpc/src/lib.rs b/zero_bin/rpc/src/lib.rs index 7c40f1eaf..345cf8c96 100644 --- a/zero_bin/rpc/src/lib.rs +++ b/zero_bin/rpc/src/lib.rs @@ -169,6 +169,21 @@ where .into(), block_gas_used: target_block.header.gas_used.into(), block_bloom: target_block.header.logs_bloom.compat(), + parent_beacon_block_root: target_block + .header + .parent_beacon_block_root + .context("target block is missing field `parent_beacon_block_root`")? + .compat(), + block_blob_gas_used: target_block + .header + .blob_gas_used + .context("target block is missing field `blob_gas_used`")? + .into(), + block_excess_blob_gas: target_block + .header + .excess_blob_gas + .context("target block is missing field `excess_blob_gas`")? + .into(), }, b_hashes: BlockHashes { prev_hashes: prev_hashes.map(|it| it.compat()).into(), diff --git a/zero_bin/rpc/src/native/state.rs b/zero_bin/rpc/src/native/state.rs index e5fbf54d1..5fd9b539c 100644 --- a/zero_bin/rpc/src/native/state.rs +++ b/zero_bin/rpc/src/native/state.rs @@ -1,12 +1,13 @@ use std::collections::{HashMap, HashSet}; use alloy::{ - primitives::{keccak256, Address, StorageKey, B256}, + primitives::{keccak256, Address, StorageKey, B256, U256}, providers::Provider, rpc::types::eth::{Block, BlockTransactionsKind, EIP1186AccountProofResponse}, transports::Transport, }; use anyhow::Context as _; +use evm_arithmetization::testing_utils::{BEACON_ROOTS_CONTRACT_STATE_KEY, HISTORY_BUFFER_LENGTH}; use futures::future::{try_join, try_join_all}; use mpt_trie::{builder::PartialTrieBuilder, partial_trie::HashedPartialTrie}; use trace_decoder::{ @@ -55,7 +56,8 @@ where } /// Iterate over the tx_infos and process the state access for each address. -/// Also includes the state access for withdrawals and the block author. +/// Also includes the state access for the beacon roots contract, withdrawals +/// and the block author. /// /// Returns a map from address to the set of storage keys accessed by that /// address. @@ -65,6 +67,8 @@ pub fn process_states_access( ) -> anyhow::Result>> { let mut state_access = HashMap::>::new(); + insert_beacon_roots_update(&mut state_access, block)?; + if let Some(w) = block.withdrawals.as_ref() { w.iter().for_each(|w| { state_access.insert(w.address, Default::default()); @@ -89,6 +93,24 @@ pub fn process_states_access( Ok(state_access) } +/// Cancun HF specific, see . +fn insert_beacon_roots_update( + state_access: &mut HashMap>, + block: &Block, +) -> anyhow::Result<()> { + let timestamp = block.header.timestamp; + + const MODULUS: u64 = HISTORY_BUFFER_LENGTH.1; + + let keys = HashSet::from_iter([ + U256::from(timestamp % MODULUS).into(), // timestamp_idx + U256::from((timestamp % MODULUS) + MODULUS).into(), // root_idx + ]); + state_access.insert(BEACON_ROOTS_CONTRACT_STATE_KEY.1.into(), keys); + + Ok(()) +} + /// Generates the state witness for the given block. async fn generate_state_witness( prev_state_root: B256, diff --git a/zero_bin/rpc/src/native/txn.rs b/zero_bin/rpc/src/native/txn.rs index 61bcf5f4a..94d280968 100644 --- a/zero_bin/rpc/src/native/txn.rs +++ b/zero_bin/rpc/src/native/txn.rs @@ -278,7 +278,7 @@ async fn process_code( } /// Processes the self destruct for the given account state. -fn process_self_destruct( +const fn process_self_destruct( post_state: Option<&AccountState>, pre_state: Option<&AccountState>, ) -> Option { diff --git a/zero_bin/rpc/src/provider.rs b/zero_bin/rpc/src/provider.rs index fc782ff43..f0c6a2691 100644 --- a/zero_bin/rpc/src/provider.rs +++ b/zero_bin/rpc/src/provider.rs @@ -39,7 +39,7 @@ where &mut self.provider } - pub fn as_provider(&self) -> &ProviderT { + pub const fn as_provider(&self) -> &ProviderT { &self.provider } diff --git a/zero_bin/rpc/src/retry.rs b/zero_bin/rpc/src/retry.rs index 0c6db2291..2fe81cb60 100644 --- a/zero_bin/rpc/src/retry.rs +++ b/zero_bin/rpc/src/retry.rs @@ -32,7 +32,7 @@ impl Clone for RetryPolicy { } impl RetryPolicy { - pub fn new(backoff: tokio::time::Duration, max_retries: u32) -> Self { + pub const fn new(backoff: tokio::time::Duration, max_retries: u32) -> Self { Self { backoff, retries: 0, diff --git a/zero_bin/tools/artifacts/witness_b19240705.json b/zero_bin/tools/artifacts/witness_b19240705.json deleted file mode 100644 index 1422c84ee..000000000 --- a/zero_bin/tools/artifacts/witness_b19240705.json +++ /dev/null @@ -1,1390 +0,0 @@ -[ - { - "block_trace": { - "trie_pre_images": { - "combined": { - "compact": "0x01031664dbd4a27781c8d129bab370c7498db3f71ad38853cf1c9b54ed0aefdfbc87034d9119280e061867c595d7df73f20434265a3062cae79c005715414be8e0846703324e2ab34b184864cd4c923cff7ac3d9744e0405a88580f858f8999924cb0ff503a6b60e17c4c4601ba1af49e95cf74e90c136153a495b419eb9e05756ff3da0de03310252de1f39746fdf13fa8c97d847a102ba32b3d152730d9423048eccda50790368d497df1f682ffdd3ed4f4a82e250271ac7ae096bead2a17a6207929c610482032479a848475f822582422a97702ae252f39b10b48d669bcc4bc8abdd8b205043036606ddc5a70f0fcfe956030a35ae91a6b003259bfa774a6a2b018a1b8a270c5a03e9f9e21290bfcc332e2c940e6ac9a99dc5e940085314ce91ae5ba4fcbcdca80403681320aa56c59dbc6d76dd24f979fd8e6431d4a555579b03fbd8f4debb14d4940329a98aafd5b252a5cb6edf169e6da01f3131b73a61241b0e5a9974023f20bce303064373a92fbaa74c494b9bb3c09ed235d90ee175fbb2fce2f07cb0d7e6517e3d03e9dcebfbf76992b81a6b596f81f8280c7007539757190f61b4bf7691846952c1038c3e0ea786a08d9d4ff010c17dd80831350bdd04109bd2e5641b1102d0d201d703ce018171a52ff434a6fd849ca812ad5fb12ea24ab5d00e3e92fe4517243c13e1035cfc9421e276d124a62c46c72f2feb99d7f616fa25acd16cf597b7dc531a66ca0312e5a34c61ed89765cb41e1af31f58a2387b45d3d40976446390a53f4c2eb652030a63f2ca64bf32f0a365a1728cda44264fbeefe86d9be4eb6059406b8dfb7c1003d9b3278e5c61faaf09b6914d8626dfe663a88b8b4486219f0e784205c9962a5003078468a40a017c769b325c488872cb5be8a5716d891d0e9d05676b95034a4d7c03f58b271b1ab544c0329216099bc2ea100431a4fb64920eedebe971caa0a74804038931a7b3f1f35ac1e5d35d3c5fc3771bb9f91d77a26cb1d31f8b2f118c75d69003dacbd8664c534de3efc89b9f4320ab03ef2546fc335d79396b02922d12845476033de8ca51e8f5722f83aee0eaca24e08137c8fb72a174e3de4d64e3b828601541032b8de6bd8adf2f22f570b158e9e5a68342d21614eb496e3abfb1d39d4fa0c1a303af3f7c4a5d228f3bf81538c09d60e1ca847c8ff863da885a4d320566d898009d0331e6f9f849baa8f4d97907719237c7e1c465807efb84710d9ea1bfd1360a093903068210e24a700477fa40e242b1287c7405c7332aefcaf77e92fb87b63a104700030bfaac2d323eb6898db67737c27769c6cc5898346fff8f67f60009412c5acc6a03ae56aaf99e2b4171979478eb1f9a0caafe2e98292c6c1526b63910397217cd20031196de1dcd4a9e9ac5e1bf6ae9db3bda7ac39f41a31f90ea9aa985a5e0e23bab0338a3648fe43d0759c2545fbac374ab550f6155703a37f1216014f02c11614ccd05581e0333617c4920d035c85869829581a0a3a3dd9dadf122daad9c47fc2edf400c074771c0d792eca0cb05581e03154df0016effd23a529fe9dba19a32aa7838f956bbc8c9334f0666a5d0040405581e032b3ff3ba56b5c3d896d23ff067c9e26cad3f115e9283dce09e19a270c0040305581e03f158e6cd12159a3cf47403a789dc6c9e7e8c9a09b6da1e03f8e0979e400c0346afca8172ffa0038211f446ac23f136adb55c95b8eba937b16b12d9d32ee30eaca4059191e0207503da31270adeab5b50d0101caa8dd4e2326fae6a43562501680271f83f8fb34787037a3670f78c75958f13f8579474b348612a80af61fa9b61b2c81c415523f170590605581e035e4e75fffbb329e4ba7f1b98156fd87b98d7f9b60be56ac357673ff22007011bffffffffffffffff05581e033cc8f8c15d49a17ea4ffc954f9927f2ea565c8ca347927a41b994e7110040104595ca7608060405260043610610087575f3560e01c806375713a081161005757806375713a08146101215780638024c73a146101345780638129fc1c14610148578063e634edd31461015c578063fa461e331461016f575f80fd5b80630162e2d0146100925780631a12d67c146100a7578063547d00a2146100d45780636e20b1071461010e575f80fd5b3661008e57005b5f80fd5b6100a56100a03660046150df565b61018e565b005b6100ba6100b5366004615263565b61027b565b604080519283526020830191909152015b60405180910390f35b3480156100df575f80fd5b506100f36100ee366004615306565b6103db565b604080519384526020840192909252908201526060016100cb565b6100ba61011c366004615388565b610ac5565b6100a561012f36600461547b565b610bfb565b34801561013f575f80fd5b506100a56113a3565b348015610153575f80fd5b506100a561149c565b6100f361016a36600461552b565b6115c4565b34801561017a575f80fd5b506100a56101893660046155a8565b611c20565b81158061019a57508142145b6101bf5760405162461bcd60e51b81526004016101b690615620565b60405180910390fd5b5f898960028181106101d3576101d361564f565b90506020020135111561026157888860028181106101f3576101f361564f565b905060200201353410156102195760405162461bcd60e51b81526004016101b690615663565b416108fc8a8a60028181106102305761023061564f565b9050602002013590811502906040515f60405180830381858888f1935050505015801561025f573d5f803e3d5ffd5b505b61027089898989898887611f17565b505050505050505050565b5f8083158061028957508342145b6102a55760405162461bcd60e51b81526004016101b690615620565b8b156102f7578b3410156102cb5760405162461bcd60e51b81526004016101b690615663565b60405141908d156108fc02908e905f818181858888f193505050501580156102f5573d5f803e3d5ffd5b505b5f6040518061012001604052808b815260200189151581526020018e81526020018f60028151811061032b5761032b61564f565b60200260200101516001600160a01b031681526020015f6001600160a01b031681526020018881526020018a81526020018781526020018581525090506103728e826124f8565b9094509250508b158061038557508b8310155b6103a15760405162461bcd60e51b81526004016101b69061569a565b8a15806103ae57508a8311155b6103ca5760405162461bcd60e51b81526004016101b6906156c9565b509b509b9950505050505050505050565b5f805f80845f815181106103f1576103f161564f565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561043f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061046391906156f6565b90505f8a6064148061047357508a155b61049e575f8a1161049857610493606461048d848e613429565b9061345a565b6104a0565b896104a0565b815b90505f81116104e05760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f42414c414e434560a01b60448201526064016101b6565b866001815181106104f3576104f361564f565b60200260200101516001600160a01b03167368b3465833fb72a70ecdf485e0e4c7bd8665fc456001600160a01b0316036106c4575f6040518061012001604052808d5f14801561054257505f8d115b61054c575f61054e565b8c5b81526020015f151581526020015f8152602001896002815181106105745761057461564f565b60200260200101516001600160a01b03168152602001895f8151811061059c5761059c61564f565b60200260200101516001600160a01b031681526020015f81526020018381526020015f81526020018b81525090505f60026001600160401b038111156105e4576105e461517b565b60405190808252806020026020018201604052801561060d578160200160208202803683370190505b509050875f815181106106225761062261564f565b6020026020010151815f8151811061063c5761063c61564f565b60200260200101906001600160a01b031690816001600160a01b0316815250508760018151811061066f5761066f61564f565b60200260200101518160018151811061068a5761068a61564f565b60200260200101906001600160a01b031690816001600160a01b0316815250506106b481836124f8565b9198509096509450610ab6915050565b8a1580156106d157505f8a115b15610745575f6106fd8b888a6001815181106106ef576106ef61564f565b60200260200101518c61346c565b905082815f815181106107125761071261564f565b602002602001015111156107265782610741565b805f815181106107385761073861564f565b60200260200101515b9150505b855f815181106107575761075761564f565b60200260200101516001600160a01b03166370a08231886002815181106107805761078061564f565b60200260200101516040518263ffffffff1660e01b81526004016107b391906001600160a01b0391909116815260200190565b602060405180830381865afa1580156107ce573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f291906156f6565b9450865f815181106108065761080661564f565b60200260200101516001600160a01b031663199f7260875f8151811061082e5761082e61564f565b6020026020010151338a60028151811061084a5761084a61564f565b6020026020010151856040518563ffffffff1660e01b8152600401610872949392919061570d565b5f604051808303815f87803b158015610889575f80fd5b505af115801561089b573d5f803e3d5ffd5b5050505084865f815181106108b2576108b261564f565b60200260200101516001600160a01b03166370a08231896002815181106108db576108db61564f565b60200260200101516040518263ffffffff1660e01b815260040161090e91906001600160a01b0391909116815260200190565b602060405180830381865afa158015610929573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061094d91906156f6565b610957919061574b565b6040516370a0823160e01b81523060048201529095505f905f80516020615c52833981519152906370a0823190602401602060405180830381865afa1580156109a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109c691906156f6565b90506109ed87308a6001815181106109e0576109e061564f565b60200260200101516135e0565b506040516370a0823160e01b81523060048201525f9082905f80516020615c52833981519152906370a0823190602401602060405180830381865afa158015610a38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a5c91906156f6565b610a66919061574b565b90505f8111610aac5760405162461bcd60e51b81526020600482015260126024820152711393c81513d2d15394c8149150d15255915160721b60448201526064016101b6565b9194509092508390505b50505b96509650969350505050565b5f80831580610ad357508342145b610aef5760405162461bcd60e51b81526004016101b690615620565b8a15610b41578a341015610b155760405162461bcd60e51b81526004016101b690615663565b60405141908c156108fc02908d905f818181858888f19350505050158015610b3f573d5f803e3d5ffd5b505b5f6040518061012001604052808b815260200189151581526020018d81526020018e600281518110610b7557610b7561564f565b60200260200101516001600160a01b031681526020015f6001600160a01b031681526020018881526020018a8152602001878152602001858152509050610bbc8d826124f8565b9094509250508a1580610bcf57508a8310155b610beb5760405162461bcd60e51b81526004016101b69061569a565b509a509a98505050505050505050565b5f82600481518110610c0f57610c0f61564f565b6020026020010151118015610c3e575081600481518110610c3257610c3261564f565b60200260200101514214155b15610c97576040516001600160a01b038a1681527ff2e7574263ab25e854ccac210f6060de1cb000d665c40e21b3bcb80f2b4511bc9060200160405180910390a160405162461bcd60e51b81526004016101b690615620565b5f5f80516020615c528339815191526001600160a01b038a1614610cbc576003610cbf565b60025b60ff166001600160401b03811115610cd957610cd961517b565b604051908082528060200260200182016040528015610d02578160200160208202803683370190505b50905089815f81518110610d1857610d1861564f565b60200260200101906001600160a01b031690816001600160a01b0316815250508881600181518110610d4c57610d4c61564f565b60200260200101906001600160a01b031690816001600160a01b0316815250508051600303610db7575f80516020615c5283398151915281600281518110610d9657610d9661564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505b6040516370a0823160e01b81523360048201525f906001600160a01b038c16906370a0823190602401602060405180830381865afa158015610dfb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1f91906156f6565b90506001600160a01b0389167368b3465833fb72a70ecdf485e0e4c7bd8665fc45036110c3575f6040518061012001604052805f87600581518110610e6657610e6661564f565b602002602001015111610e79575f610e95565b86600581518110610e8c57610e8c61564f565b60200260200101515b81526020015f151581526020015f81526020018a6001600160a01b03168152602001876001600160a01b0316815260200186600181518110610ed957610ed961564f565b602002602001015181526020015f8a11610f4a57865f81518110610eff57610eff61564f565b6020026020010151606414610f44576064875f81518110610f2257610f2261564f565b602002602001015185610f35919061575e565b610f3f9190615789565b610f4c565b83610f4c565b895b815260200186600281518110610f6457610f6461564f565b602090810291909101810151825201859052604080516002808252606082019092529192505f91908160200160208202803683370190505090508c815f81518110610fb157610fb161564f565b60200260200101906001600160a01b031690816001600160a01b0316815250508b81600181518110610fe557610fe561564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505f61101082846124f8565b509150507f522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade978160405161104591815260200190565b60405180910390a15f8911801561105b57508881105b156110785760405162461bcd60e51b81526004016101b69061569a565b86516007036110bb57866006815181106110945761109461564f565b60200260200101518111156110bb5760405162461bcd60e51b81526004016101b6906156c9565b505050611396565b5f808811611177575f871161112f57845f815181106110e4576110e461564f565b6020026020010151606414611129576064855f815181106111075761110761564f565b60200260200101518361111a919061575e565b6111249190615789565b611179565b81611179565b61112461115888858d8960038151811061114b5761114b61564f565b602002602001015161346c565b5f815181106111695761116961564f565b602002602001015183613837565b875b9050856001600160a01b031663199f7260845f8151811061119c5761119c61564f565b6020026020010151338c856040518563ffffffff1660e01b81526004016111c6949392919061570d565b5f604051808303815f87803b1580156111dd575f80fd5b505af11580156111ef573d5f803e3d5ffd5b505050506111fe83308c6135e0565b506040516370a0823160e01b81523060048201525f905f80516020615c52833981519152906370a0823190602401602060405180830381865afa158015611247573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061126b91906156f6565b90505f8811801561127b57508781105b156112985760405162461bcd60e51b81526004016101b69061569a565b85516007036112db57856006815181106112b4576112b461564f565b60200260200101518111156112db5760405162461bcd60e51b81526004016101b6906156c9565b801561133b57604051632e1a7d4d60e01b8152600481018290525f80516020615c5283398151915290632e1a7d4d906024015f604051808303815f87803b158015611324575f80fd5b505af1158015611336573d5f803e3d5ffd5b505050505b6113608186886002815181106113535761135361564f565b602002602001015161384c565b6040518181527f522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade979060200160405180910390a150505b5050505050505050505050565b5f546001600160a01b031633146113e25760405162461bcd60e51b8152602060048201526003602482015262486d6d60e81b60448201526064016101b6565b5f6001541161142c5760405162461bcd60e51b8152602060048201526016602482015275139bc81199595cc810dd5c9c995b9d1b1e4813ddd95960521b60448201526064016101b6565b60015447101561147e5760405162461bcd60e51b815260206004820181905260248201527f4e6f7420456e6f7567682042616c616e636520546f20436f766572204665657360448201526064016101b6565b5f54600154611496916001600160a01b0316906138fd565b5f600155565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f811580156114e05750825b90505f826001600160401b031660011480156114fb5750303b155b905081158015611509575080155b156115275760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561155157845460ff60401b1916600160401b1785555b5f80546001600160a01b0319167337aab97476ba8dc785476611006fd5dda4eed66b17905583156115bd57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15b5050505050565b5f80806001600160a01b0386167368b3465833fb72a70ecdf485e0e4c7bd8665fc4503611730576040805160028082526060820183525f9260208301908036833701905050905089815f8151811061161e5761161e61564f565b60200260200101906001600160a01b031690816001600160a01b03168152505088816001815181106116525761165261564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505f604051806101200160405280875f815181106116915761169161564f565b602002602001015181526020016001151581526020015f81526020018a6001600160a01b031681526020015f6001600160a01b03168152602001876001815181106116de576116de61564f565b60200260200101518152602001348152602001876002815181106117045761170461564f565b6020026020010151815260200188815250905061172182826124f8565b90965094509250610ab9915050565b5f61174c611740876103e86157a8565b61048d346103e8613429565b90505f5f80516020615c528339815191526001600160a01b038b1614611773576003611776565b60025b60ff166001600160401b038111156117905761179061517b565b6040519080825280602002602001820160405280156117b9578160200160208202803683370190505b5090505f80516020615c52833981519152815f815181106117dc576117dc61564f565b6001600160a01b0392831660209182029290920101528b9082908c165f80516020615c5283398151915214611812576002611815565b60015b60ff16815181106118285761182861564f565b6001600160a01b0392831660209182029290920101528a165f80516020615c52833981519152146118885789816001815181106118675761186761564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505b5f80875f8151811061189c5761189c61564f565b6020026020010151111561193a575f6118cf885f815181106118c0576118c061564f565b6020026020010151848c6139c7565b905083815f815181106118e4576118e461564f565b602002602001015111156118f85783611913565b805f8151811061190a5761190a61564f565b60200260200101515b945083815f815181106119285761192861564f565b6020026020010151111591505061193e565b8293505b61194984838b613b23565b60018351611957919061574b565b815181106119675761196761564f565b602002602001015194505f80516020615c528339815191526001600160a01b031663d0e30db0856040518263ffffffff1660e01b81526004015f604051808303818588803b1580156119b7575f80fd5b505af11580156119c9573d5f803e3d5ffd5b50505050505f80516020615c528339815191526001600160a01b031663a9059cbb611a288b855f81518110611a0057611a0061564f565b602002602001015186600181518110611a1b57611a1b61564f565b6020026020010151613c59565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018790526044016020604051808303815f875af1158015611a72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a9691906157bb565b611aa257611aa26157d6565b6040516370a0823160e01b81523360048201525f906001600160a01b038e16906370a0823190602401602060405180830381865afa158015611ae6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b0a91906156f6565b90508115611b4b575f611b37895f81518110611b2857611b2861564f565b6020026020010151858d6139c7565b9050611b458185338e614100565b50611b58565b611b5683338c6135e0565b505b6040516370a0823160e01b815233600482015281906001600160a01b038f16906370a0823190602401602060405180830381865afa158015611b9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bc091906156f6565b611bca919061574b565b96505f8711611c105760405162461bcd60e51b81526020600482015260126024820152711393c81513d2d15394c8149150d15255915160721b60448201526064016101b6565b5050505096509650969350505050565b5f841380611c2d57505f83135b611c35575f80fd5b5f80808080611c46868801886157ea565b9550955095505094509450611cbb8585336001600160a01b031663ddca3f436040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c92573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cb6919061585f565b614290565b6001600160a01b0316336001600160a01b031614611d0b5760405162461bcd60e51b815260206004820152600d60248201526c46616b652063616c6c6261636b60981b60448201526064016101b6565b5f805f8b13611d2f57866001600160a01b0316866001600160a01b0316108a611d46565b856001600160a01b0316876001600160a01b0316108b5b91509150828111611396578115611e33575f5f80516020615c528339815191526001600160a01b03891614611d7b5787611d8a565b5f80516020615c528339815191525b90506001600160a01b038616301480611db857505f80516020615c528339815191526001600160a01b038916145b15611dce57611dc981873385614354565b611e2d565b60405162ccfb9360e51b81526001600160a01b0386169063199f726090611dff9084908a903390889060040161570d565b5f604051808303815f87803b158015611e16575f80fd5b505af1158015611e28573d5f803e3d5ffd5b505050505b50611396565b5f5f80516020615c528339815191526001600160a01b03881614611e575786611e66565b5f80516020615c528339815191525b90506001600160a01b038616301480611e9457505f80516020615c528339815191526001600160a01b038816145b15611eaa57611ea581873385614354565b611f09565b60405162ccfb9360e51b81526001600160a01b0386169063199f726090611edb9084908a903390889060040161570d565b5f604051808303815f87803b158015611ef2575f80fd5b505af1158015611f04573d5f803e3d5ffd5b505050505b505050505050505050505050565b5f611f5f611f27836103e86157a8565b61048d6103e8611f598c8c6002818110611f4357611f4361564f565b905060200201353461448390919063ffffffff16565b90613429565b90505f8686611f6f60018261574b565b818110611f7e57611f7e61564f565b9050602002016020810190611f939190615881565b6040516370a0823160e01b81523360048201529091505f906001600160a01b038316906370a0823190602401602060405180830381865afa158015611fda573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ffe91906156f6565b90505f808b8b5f8181106120145761201461564f565b905060200201351161204357604080516001808252818301909252906020808301908036833701905050612099565b6120998b8b5f8181106120585761205861564f565b905060200201358a8a808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508c92506139c7915050565b90505f808c8c5f8181106120af576120af61564f565b905060200201351180156120dc575084825f815181106120d1576120d161564f565b602002602001015111155b6120e65784612101565b815f815181106120f8576120f861564f565b60200260200101515b90505f80516020615c528339815191526001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b158015612149575f80fd5b505af115801561215b573d5f803e3d5ffd5b50505050505f80516020615c528339815191526001600160a01b031663a9059cbb6121d48a8d8d5f8181106121925761219261564f565b90506020020160208101906121a79190615881565b8e8e60018181106121ba576121ba61564f565b90506020020160208101906121cf9190615881565b613c59565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af115801561221e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061224291906157bb565b61224e5761224e6157d6565b5f8c8c5f8181106122615761226161564f565b9050602002013511801561228e575084825f815181106122835761228361564f565b602002602001015111155b156122d8576122d3828b8b808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152503392508d91506141009050565b612336565b6123178a8a808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152503392508c91506135e09050565b825f815181106123295761232961564f565b6020026020010181815250505b6040516370a0823160e01b81523360048201526123a99084906001600160a01b038716906370a08231906024015b602060405180830381865afa15801561237f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123a391906156f6565b90614483565b92505f8c8c60018181106123bf576123bf61564f565b905060200201351115612405578b8b60018181106123df576123df61564f565b905060200201358310156124055760405162461bcd60e51b81526004016101b69061569a565b60048b10612446578b8b60038181106124205761242061564f565b905060200201358311156124465760405162461bcd60e51b81526004016101b6906156c9565b61245181878961384c565b7f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c42081845f8f8f5f8181106124875761248761564f565b90506020020135116124b257845f815181106124a5576124a561564f565b60200260200101516124cc565b8e8e5f8181106124c4576124c461564f565b905060200201355b6040805193845260208401929092529082015260600160405180910390a1505050505050505050505050565b5f805f806040518061010001604052808760018151811061251b5761251b61564f565b60200260200101516001600160a01b03168152602001875f815181106125435761254361564f565b60200260200101516001600160a01b03168152602001336001600160a01b03168152602001306001600160a01b0316815260200186608001516001600160a01b031681526020018660c0015181526020015f81526020016001151581525090505f47905085602001511561271757866001815181106125c4576125c461564f565b60200260200101516001600160a01b03165f80516020615c528339815191526001600160a01b03160361262e576126248661010001516103e861260791906157a8565b61048d6103e8611f598a604001513461448390919063ffffffff16565b60a083015261294c565b6126925f80516020615c52833981519152886001815181106126525761265261564f565b602002602001015161268d8961010001516103e861267091906157a8565b61048d6103e8611f598d604001513461448390919063ffffffff16565b61449c565b866001815181106126a5576126a561564f565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156126f3573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061262491906156f6565b865f815181106127295761272961564f565b60209081029190910101516001600160a01b031682528651879060019081106127545761275461564f565b6020908102919091018101516001600160a01b0316908301523060408301523360608301525f60e0830181905287518891906127925761279261564f565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156127e0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061280491906156f6565b60c08301528551158015906128525750866001815181106128275761282761564f565b60200260200101516001600160a01b03165f80516020615c528339815191526001600160a01b031614155b1561294c576040805160028082526060820183525f926020830190803683370190505090508760018151811061288a5761288a61564f565b6020026020010151815f815181106128a4576128a461564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505f80516020615c52833981519152816001815181106128e5576128e561564f565b60200260200101906001600160a01b031690816001600160a01b0316815250505f612928885f015183737a250d5630b4cf539739df2c5dacb4c659f2488d6139c7565b9050805f8151811061293c5761293c61564f565b6020908102919091010151885250505b85515f9015612adf575f87606001516001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015612996573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129ba91906158b2565b50505050509150505f6129cc82614577565b90506001600160801b036001600160a01b03821611612a60575f6129f96001600160a01b0383168061575e565b905085602001516001600160a01b0316865f01516001600160a01b031610612a3c57612a37600160c01b8760a001516001600160801b031683614892565b612a58565b612a58818760a001516001600160801b0316600160c01b614892565b935050612adc565b5f612a796001600160a01b03831680600160401b614892565b905085602001516001600160a01b0316865f01516001600160a01b031610612abc57612ab7600160801b8760a001516001600160801b031683614892565b612ad8565b612ad8818760a001516001600160801b0316600160801b614892565b9350505b50505b86515f9015801590612af2575087518210155b15612d5357602084015160408086015190516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015612b45573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b6991906156f6565b90505f8089606001516001600160a01b031663128acb08876040015188602001516001600160a01b0316895f01516001600160a01b031610612bad8e5f015161493c565b612bb69061594a565b8a602001516001600160a01b03168b5f01516001600160a01b031610612bfa57612bf5600173fffd8963efd1fc6a506488495d951d5263988d26615964565b612c0a565b612c0a6401000276a3600161598b565b8b604051602001612c1b91906159ab565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401612c4a959493929190615a64565b60408051808303815f875af1158015612c65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c899190615a9e565b9150915085602001516001600160a01b0316865f01516001600160a01b031610612cbc5780612cb78361594a565b612cc6565b81612cc68261594a565b60208801516040808a015190516370a0823160e01b81526001600160a01b039182166004820152929a50612d08935086929116906370a0823190602401612364565b92505f8311612d495760405162461bcd60e51b815260206004820152600d60248201526c1b9bc81d1bdad95b9cc81bdd5d609a1b60448201526064016101b6565b8297505050612f7b565b602084015160408086015190516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015612da1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dc591906156f6565b606089015160408601516020870151875160a08901519495505f9485946001600160a01b039081169463128acb089490939082169116109081612e2657612e21600173fffd8963efd1fc6a506488495d951d5263988d26615964565b612e36565b612e366401000276a3600161598b565b8b604051602001612e4791906159ab565b6040516020818303038152906040526040518663ffffffff1660e01b8152600401612e76959493929190615a64565b60408051808303815f875af1158015612e91573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612eb59190615a9e565b9150915085602001516001600160a01b0316865f01516001600160a01b031610612ee85780612ee38361594a565b612ef2565b81612ef28261594a565b60208801516040808a015190516370a0823160e01b81526001600160a01b039182166004820152929a50612f34935086929116906370a0823190602401612364565b92505f8311612f755760405162461bcd60e51b815260206004820152600d60248201526c1b9bc81d1bdad95b9cc81bdd5d609a1b60448201526064016101b6565b82975050505b87602001516132015783602001516001600160a01b03165f80516020615c528339815191526001600160a01b0316146130405760208401516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015612ff6573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061301a91906156f6565b9050801561303e5761303e85602001515f80516020615c528339815191528361449c565b505b6040516370a0823160e01b81523060048201525f905f80516020615c52833981519152906370a0823190602401602060405180830381865afa158015613088573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130ac91906156f6565b9050801561310e57604051632e1a7d4d60e01b8152600481018290525f80516020615c5283398151915290632e1a7d4d906024015f604051808303815f87803b1580156130f7575f80fd5b505af1158015613109573d5f803e3d5ffd5b505050505b613122818a61010001518b60e0015161384c565b8096506131b78a5f8151811061313a5761313a61564f565b60209081029190910101516040516370a0823160e01b81523360048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015613188573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131ac91906156f6565b60c087015190614483565b60408051828152602081018a90529081018890529098507f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c4209060600160405180910390a1506133de565b83516001600160a01b03165f80516020615c52833981519152146132ac5783516040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015613264573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061328891906156f6565b905080156132aa5784516132aa905f80516020615c528339815191528361449c565b505b6040516370a0823160e01b81523060048201525f905f80516020615c52833981519152906370a0823190602401602060405180830381865afa1580156132f4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061331891906156f6565b9050801561337a57604051632e1a7d4d60e01b8152600481018290525f80516020615c5283398151915290632e1a7d4d906024015f604051808303815f87803b158015613363575f80fd5b505af1158015613375573d5f803e3d5ffd5b505050505b613384478561574b565b60408051828152602081018a90529081018890529098507f9f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c4209060600160405180910390a16133dc888a61010001518b60e0015161384c565b505b5f871161341e5760405162461bcd60e51b815260206004820152600e60248201526d1b9bc81b5bdb995e481cdc195b9d60921b60448201526064016101b6565b505050509250925092565b5f82158061344c5750818361343e828261575e565b925061344a9083615789565b145b613454575f80fd5b92915050565b5f6134658284615789565b9392505050565b60606002845110156134905760405162461bcd60e51b81526004016101b690615ac0565b83516001600160401b038111156134a9576134a961517b565b6040519080825280602002602001820160405280156134d2578160200160208202803683370190505b5090508481600183516134e5919061574b565b815181106134f5576134f561564f565b6020026020010181815250505f60018551613510919061574b565b90505b80156135d7575f806135628761352a60018661574b565b8151811061353a5761353a61564f565b60200260200101518885815181106135545761355461564f565b6020026020010151886149a9565b9150915061359a84848151811061357b5761357b61564f565b602002602001015183838987600114613594575f614a6e565b89614a6e565b846135a660018661574b565b815181106135b6576135b661564f565b602002602001018181525050505080806135cf90615ae6565b915050613513565b50949350505050565b5f805b600185516135f1919061574b565b81101561382f575f8086838151811061360c5761360c61564f565b60200260200101518784600161362291906157a8565b815181106136325761363261564f565b6020026020010151915091505f6136498383614baf565b5090505f613658878585613c59565b90505f805f836001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015613699573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136bd9190615b11565b506001600160701b031691506001600160701b031691505f80866001600160a01b0316896001600160a01b0316146136f65782846136f9565b83835b6040516370a0823160e01b81526001600160a01b038981166004830152929450909250613734918491908c16906370a0823190602401612364565b94506137428583838f614bdf565b9a50505050505f80846001600160a01b0316876001600160a01b03161461376a57885f61376d565b5f895b915091505f60028d51613780919061574b565b891061378c578b6137ad565b6137ad8b888f61379d8d60026157a8565b81518110611a1b57611a1b61564f565b604080515f8152602081019182905263022c0d9f60e01b9091529091506001600160a01b0386169063022c0d9f906137ee9086908690869060248101615b5d565b5f604051808303815f87803b158015613805575f80fd5b505af1158015613817573d5f803e3d5ffd5b50506001909a0199506135e398505050505050505050565b509392505050565b5f8183106138455781613465565b5090919050565b5f61385d6103e861048d8686613429565b90505f61387f61387883600154614cfe90919063ffffffff16565b4790614483565b905080156138aa57600a8110156138a05761389a8282614cfe565b506138aa565b6138aa33826138fd565b6001546138b79083614cfe565b600155604080518381523360208201529081018490527f72015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499f906060016115b4565b50505050565b604080515f808252602082019092526001600160a01b0384169083906040516139269190615b93565b5f6040518083038185875af1925050503d805f8114613960576040519150601f19603f3d011682016040523d82523d5f602084013e613965565b606091505b50509050806139c25760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b60648201526084016101b6565b505050565b60606002835110156139eb5760405162461bcd60e51b81526004016101b690615ac0565b82516001600160401b03811115613a0457613a0461517b565b604051908082528060200260200182016040528015613a2d578160200160208202803683370190505b509050838160018351613a40919061574b565b81518110613a5057613a5061564f565b6020026020010181815250505f60018451613a6b919061574b565b90505b801561382f575f80613abd86613a8560018661574b565b81518110613a9557613a9561564f565b6020026020010151878581518110613aaf57613aaf61564f565b6020026020010151876149a9565b91509150613ae6848481518110613ad657613ad661564f565b6020026020010151838388614d17565b84613af260018661574b565b81518110613b0257613b0261564f565b60200260200101818152505050508080613b1b90615ae6565b915050613a6e565b6060600283511015613b475760405162461bcd60e51b81526004016101b690615ac0565b82516001600160401b03811115613b6057613b6061517b565b604051908082528060200260200182016040528015613b89578160200160208202803683370190505b50905083815f81518110613b9f57613b9f61564f565b6020026020010181815250505f5b60018451613bbb919061574b565b81101561382f575f80613bff868481518110613bd957613bd961564f565b602002602001015187856001613bef91906157a8565b81518110613aaf57613aaf61564f565b91509150613c28848481518110613c1857613c1861564f565b6020026020010151838388614bdf565b84613c348560016157a8565b81518110613c4457613c4461564f565b60209081029190910101525050600101613bad565b5f805f613c668585614baf565b90925090506001600160a01b038616737a250d5630b4cf539739df2c5dacb4c659f2488d03613d4957735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8282604051602001613cb7929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f603582015260550190565b604051602081830303815290604052805190602001205f1c92506140f7565b6001600160a01b0386167368b3465833fb72a70ecdf485e0e4c7bd8665fc4503613dbc57731f98431c8ad98523631ae4a59f267346ea31f9848282604051602001613d95929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a929190615bd0565b6001600160a01b03861673d9e1ce17f2641f24ae83637ab66a2cca9c378b9f03613e7b5773c0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac8282604051602001613e08929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303603582015260550190565b6001600160a01b03861673eff92a263d31888d860bd50809a8d171709b7b1c03613f3a57731097053fd2ea711dad45caccc45eff7548fcb3628282604051602001613ec7929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f57224589c67f3f30a6b0d7a1b54cf3153ab84563bc609ef41dfb34f8b2974d2d603582015260550190565b6001600160a01b0386167303f7724180aa6b939894b5ca4314783b0b36b32903613ff95773115934131916c8b277dd010ee02de363c09d037c8282604051602001613f86929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f65d1a3b1e46c6e4f1be1ad5f99ef14dc488ae0549dc97db9b30afe2241ce1c7a603582015260550190565b6001600160a01b038616730c17e776cd218252adfca8d4e761d3fe757e9778036140b8577335113a300ca0d7621374890abfeac30e88f214b18282604051602001614045929190615bae565b60405160208183030381529060405280519060200120604051602001613d2a9291906001600160f81b0319815260609290921b6001600160601b031916600183015260158201527f49d9acd3e20042617be7e378294c731749bc579b09dfd560cd3357445ce0b9e9603582015260550190565b60405162461bcd60e51b8152602060048201526014602482015273149bdd5d195c881b9bdd081cdd5c1c1bdc9d195960621b60448201526064016101b6565b50509392505050565b5f5b60018451614110919061574b565b8110156115bd575f8085838151811061412b5761412b61564f565b60200260200101518684600161414191906157a8565b815181106141515761415161564f565b6020026020010151915091505f6141688383614baf565b5090505f886141788660016157a8565b815181106141885761418861564f565b602002602001015190505f80836001600160a01b0316866001600160a01b0316146141b457825f6141b7565b5f835b915091505f60028b516141ca919061574b565b88106141d657896141e7565b6141e789878d61379d8c60026157a8565b90506141f4898888613c59565b6001600160a01b031663022c0d9f8484845f6040519080825280601f01601f191660200182016040528015614230576020820181803683370190505b506040518563ffffffff1660e01b81526004016142509493929190615b5d565b5f604051808303815f87803b158015614267575f80fd5b505af1158015614279573d5f803e3d5ffd5b505060019099019850614102975050505050505050565b5f826001600160a01b0316846001600160a01b031611156142af579192915b826001600160a01b0316846001600160a01b0316106142cc575f80fd5b604080516001600160a01b03808716602083015285169181019190915262ffffff83166060820152731f98431c8ad98523631ae4a59f267346ea31f9849060800160405160208183030381529060405280519060200120604051602001614334929190615bd0565b60408051601f198184030181529190528051602090910120949350505050565b804710614457576001600160a01b0384165f80516020615c5283398151915203614457575f80516020615c528339815191526001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004015f604051808303818588803b1580156143be575f80fd5b505af11580156143d0573d5f803e3d5ffd5b505060405163a9059cbb60e01b81526001600160a01b0386166004820152602481018590525f80516020615c52833981519152935063a9059cbb925060440190506020604051808303815f875af115801561442d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061445191906157bb565b506138f7565b306001600160a01b0384160361447757614472848383614e47565b6138f7565b6138f784848484614f56565b5f8261448f838261574b565b9150811115613454575f80fd5b6040805160028082526060820183525f9260208301908036833701905050905083815f815181106144cf576144cf61564f565b60200260200101906001600160a01b031690816001600160a01b03168152505082816001815181106145035761450361564f565b60200260200101906001600160a01b031690816001600160a01b0316815250506145588430614552737a250d5630b4cf539739df2c5dacb4c659f2488d855f81518110611a0057611a0061564f565b85614354565b6115bd8130737a250d5630b4cf539739df2c5dacb4c659f2488d6135e0565b5f805f8360020b1261458c578260020b614593565b8260020b5f035b9050620d89e88111156145b9576040516333a3bdff60e21b815260040160405180910390fd5b5f816001165f036145ce57600160801b6145e0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615614614576ffff97272373d413259a46990580e213a0260801c5b6004821615614633576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615614652576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615614671576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615614690576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156146af576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156146ce576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156146ee576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b61020082161561470e576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561472e576ff3392b0822b70005940c7a398e4b70f30260801c5b61080082161561474e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b61100082161561476e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b61200082161561478e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156147ae576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156147ce576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156147ef576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561480f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561482e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561484b576b048a170391f7dc42444e8fa20260801c5b5f8460020b131561486a57805f198161486657614866615775565b0490505b64010000000081061561487e576001614880565b5f5b60ff16602082901c0192505050919050565b5f80805f19858709858702925082811083820303915050805f036148c6575f84116148bb575f80fd5b508290049050613465565b8084116148d1575f80fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f6001600160ff1b038211156149a55760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016101b6565b5090565b5f805f6149b68686614baf565b5090505f806149c6868989613c59565b6001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614a01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614a259190615b11565b506001600160701b031691506001600160701b03169150826001600160a01b0316886001600160a01b031614614a5c578082614a5f565b81815b90999098509650505050505050565b5f808611614abe5760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016101b6565b5f85118015614acc57505f84115b614ae85760405162461bcd60e51b81526004016101b690615c21565b5f614af9612710611f59888a613429565b90507310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b0385161480614b42575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038516145b15614b80575f614b61614b57856126f761574b565b611f59888b614483565b9050614b786001614b728385615789565b90614cfe565b925050614ba5565b5f614b90614b57856126f261574b565b9050614ba16001614b728385615789565b9250505b5095945050505050565b5f80826001600160a01b0316846001600160a01b031610614bd1578284614bd4565b83835b909590945092505050565b5f808511614c2f5760405162461bcd60e51b815260206004820152601960248201527f494e53554646494349454e545f494e5055545f414d4f554e540000000000000060448201526064016101b6565b5f84118015614c3d57505f83115b614c595760405162461bcd60e51b81526004016101b690615c21565b5f7310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b0384161480614ca1575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038416145b15614cb957614cb2866126f7613429565b9050614cc8565b614cc5866126f2613429565b90505b5f614cd38286613429565b90505f614ce683614b7289612710613429565b9050614cf28183615789565b98975050505050505050565b5f82614d0a83826157a8565b9150811015613454575f80fd5b5f808511614d675760405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e5400000000000060448201526064016101b6565b5f84118015614d7557505f83115b614d915760405162461bcd60e51b81526004016101b690615c21565b5f614da2612710611f598789613429565b90507310ed43c718714eb63d5aa57b78b54704e256024e6001600160a01b0384161480614deb575073eff92a263d31888d860bd50809a8d171709b7b1c6001600160a01b038416145b15614e1a575f614e016126f7611f59878a614483565b9050614e126001614b728385615789565b9250506135d7565b5f614e2b6126f2611f59878a614483565b9050614e3c6001614b728385615789565b979650505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b17905291515f92839290871691614ea29190615b93565b5f604051808303815f865af19150503d805f8114614edb576040519150601f19603f3d011682016040523d82523d5f602084013e614ee0565b606091505b5091509150818015614f0a575080511580614f0a575080806020019051810190614f0a91906157bb565b6115bd5760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c45440060448201526064016101b6565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291515f92839290881691614fb99190615b93565b5f604051808303815f865af19150503d805f8114614ff2576040519150601f19603f3d011682016040523d82523d5f602084013e614ff7565b606091505b509150915081801561502157508051158061502157508080602001905181019061502191906157bb565b6150795760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b60648201526084016101b6565b505050505050565b5f8083601f840112615091575f80fd5b5081356001600160401b038111156150a7575f80fd5b6020830191508360208260051b85010111156150c1575f80fd5b9250929050565b6001600160a01b03811681146150dc575f80fd5b50565b5f805f805f805f805f60e08a8c0312156150f7575f80fd5b89356001600160401b038082111561510d575f80fd5b6151198d838e01615081565b909b50995060208c0135915080821115615131575f80fd5b5061513e8c828d01615081565b90985096505060408a0135615152816150c8565b989b979a5095989497966060860135965060808601359560a0810135955060c001359350915050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b03811182821017156151b7576151b761517b565b604052919050565b5f6001600160401b038211156151d7576151d761517b565b5060051b60200190565b5f82601f8301126151f0575f80fd5b81356020615205615200836151bf565b61518f565b8083825260208201915060208460051b870101935086841115615226575f80fd5b602086015b8481101561524b57803561523e816150c8565b835291830191830161522b565b509695505050505050565b80151581146150dc575f80fd5b5f805f805f805f805f805f6101608c8e03121561527e575f80fd5b8b356001600160401b03811115615293575f80fd5b61529f8e828f016151e1565b9b505060208c0135995060408c0135985060608c0135975060808c0135965060a08c0135955060c08c01356152d381615256565b8095505060e08c013593506101008c013592506101208c013591506101408c013590509295989b509295989b9093969950565b5f805f805f8060c0878903121561531b575f80fd5b8635955060208701359450604087013593506060870135925060808701356001600160401b038082111561534d575f80fd5b6153598a838b016151e1565b935060a089013591508082111561536e575f80fd5b5061537b89828a016151e1565b9150509295509295509295565b5f805f805f805f805f806101408b8d0312156153a2575f80fd5b8a356001600160401b038111156153b7575f80fd5b6153c38d828e016151e1565b9a505060208b0135985060408b0135975060608b0135965060808b0135955060a08b01356153f081615256565b999c989b5096999598949794965050505060c08301359260e08101359261010082013592506101209091013590565b5f82601f83011261542e575f80fd5b8135602061543e615200836151bf565b8083825260208201915060208460051b87010193508684111561545f575f80fd5b602086015b8481101561524b5780358352918301918301615464565b5f805f805f805f805f6101208a8c031215615494575f80fd5b893561549f816150c8565b985060208a01356154af816150c8565b975060408a01356154bf816150c8565b965060608a01356154cf816150c8565b955060808a0135945060a08a0135935060c08a01356154ed816150c8565b925060e08a01356001600160401b03811115615507575f80fd5b6155138c828d0161541f565b9250506101008a013590509295985092959850929598565b5f805f805f8060c08789031215615540575f80fd5b863561554b816150c8565b9550602087013561555b816150c8565b9450604087013561556b816150c8565b9350606087013561557b816150c8565b92506080870135915060a08701356001600160401b0381111561559c575f80fd5b61537b89828a0161541f565b5f805f80606085870312156155bb575f80fd5b843593506020850135925060408501356001600160401b03808211156155df575f80fd5b818701915087601f8301126155f2575f80fd5b813581811115615600575f80fd5b886020828501011115615611575f80fd5b95989497505060200194505050565b60208082526015908201527410da185a5b8814994b5bdc99c819195d1958dd1959605a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b6020808252601c908201527f4e6f7420656e6f7567682045544820666f72206d696e65722074697000000000604082015260600190565b602080825260159082015274139bdd08195b9bdd59da081d1bdad95b9cc81bdd5d605a1b604082015260600190565b602080825260139082015272151bdbc81b585b9e481d1bdad95b9cc81bdd5d606a1b604082015260600190565b5f60208284031215615706575f80fd5b5051919050565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561345457613454615737565b808202811582820484141761345457613454615737565b634e487b7160e01b5f52601260045260245ffd5b5f826157a357634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561345457613454615737565b5f602082840312156157cb575f80fd5b815161346581615256565b634e487b7160e01b5f52600160045260245ffd5b5f805f805f8060c087890312156157ff575f80fd5b863561580a816150c8565b9550602087013561581a816150c8565b9450604087013561582a816150c8565b9350606087013561583a816150c8565b9250608087013561584a816150c8565b8092505060a087013590509295509295509295565b5f6020828403121561586f575f80fd5b815162ffffff81168114613465575f80fd5b5f60208284031215615891575f80fd5b8135613465816150c8565b805161ffff811681146158ad575f80fd5b919050565b5f805f805f805f60e0888a0312156158c8575f80fd5b87516158d3816150c8565b8097505060208801518060020b81146158ea575f80fd5b95506158f86040890161589c565b94506159066060890161589c565b93506159146080890161589c565b925060a088015160ff81168114615929575f80fd5b60c089015190925061593a81615256565b8091505092959891949750929550565b5f600160ff1b820161595e5761595e615737565b505f0390565b6001600160a01b0382811682821603908082111561598457615984615737565b5092915050565b6001600160a01b0381811683821601908082111561598457615984615737565b5f6101008201905060018060a01b038084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401525060a083015160a083015260c083015160c083015260e0830151151560e083015292915050565b5f5b83811015615a31578181015183820152602001615a19565b50505f910152565b5f8151808452615a50816020860160208601615a17565b601f01601f19169290920160200192915050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a0608082018190525f90614e3c90830184615a39565b5f8060408385031215615aaf575f80fd5b505080516020909101519092909150565b6020808252600c908201526b0929cac82989288bea082a8960a31b604082015260600190565b5f81615af457615af4615737565b505f190190565b80516001600160701b03811681146158ad575f80fd5b5f805f60608486031215615b23575f80fd5b615b2c84615afb565b9250615b3a60208501615afb565b9150604084015163ffffffff81168114615b52575f80fd5b809150509250925092565b84815283602082015260018060a01b0383166040820152608060608201525f615b896080830184615a39565b9695505050505050565b5f8251615ba4818460208701615a17565b9190910192915050565b6001600160601b0319606093841b811682529190921b16601482015260280190565b6001600160f81b0319815260609290921b6001600160601b031916600183015260158201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54603582015260550190565b602080825260169082015275494e53554646494349454e545f4c495155494449545960501b60408201526060019056fe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2a2646970667358221220743c8892851ac9b13e466532e3ac230413800df85301b7404b7ea95484eb2c4a64736f6c634300081700330605581e03ae88d60ce5722ba4d45bad2212f1c19dbc045e025144e80b926be7b3400701195ca705581e035f517349c69668843e7b5ebd815ad1205dadeede0831b55f80a5552820040103f693203bcd1962bbac5a3c4d08f7db978e02899ebd2f3a41f5be1702dd265e3f0219fd4d036cf48af9ce5bbf5d3c4d8679a22d6dc4ce50f2460e589be9b4eef3c3b296ac09034c387cc134b025bc72580db4a32e6f93eb6cff1f632cc031116863918672ea6d03aec6040e90b5e1939362f47cfe1b75fc6afc77ed285efbf31d37f66c8c73c8390366dd5a8943fa2e34afdd38a7e29f9b5a260c6aa866bef41848cc9e846278fd0803ec8dcfeb7af17e68816e778c606f011814c881a7ca0420db53979a560445b66003e8658b485991901a3388ac76de1a80ab3c3fe1cef9b781995ceb1e554138717103f274ba96d638a0f12fb0ece331da8b8bfbebde904e8c235ac7a6587a1e8ce1d60219ffff03f1da45c57c01d4f8bc8bd6c9bc6393e84372cfe0f58d59c4d89d45eb6384462203346b8a0a99c4ba441015c58299e81089a9b802b1255390b29c412ca1a12bb86503c55cc21f1e0b7ed64a4d3242270c11fd47d3f4a1cfde25e9687aed1f3d3fb7ad03eb45196994cb6827f64c63e12ae4c35fa30847adc8dac3dfd0d17444cb7e27460219ffff033ea37b4bc18ff0c8c1d4c6eba7ac89a5659ece6afa749617199d93dac0e57f8b031167476f34c04d2d2a1d063e633a9b976d734c6ce3b9aa78f54d772292cb7880036668221048b112a7543000f8295428ea4c6019668dbafa097054fbd35cf538ce03942446c6cf3bb9d492e6fe0d48eb500f03e6347f5da3842de17263cf1786166003d56e88c6f6a7ca937626c16d6bb9df0f72b871c9872a1f86cf5cc744565bfc3b030d933a399cb276af17886a28cbbae9d28561cbc70caf5e03adef1cf434ba86ea030b64ffeb2d73c8658b2f32d23c27c41434b84546c37f6c333fe83c489f052c2d0219ffff032a920fcec7ad7eaf3da21f74afd3eca01ba7ab3c5a978e777300a274a3bd1d2203dc21ea4894a17cb8f0a9e5c0c204c99080059cc2682e8a14c444dd7a53b5023903637df4de77435671cf15bd74dd44977f729aa956a2adef9d6f6f4156d5ba3de1037a1372027f775e5e20feb3b5c6ac3fc3a2d5bd7d4d3301a6797cdb6be9a6492203eadee423ae6a30aa34bf0d837a5ce95fda44aa80c8b092bbe9f78ce0b7241705034470d70e1a9f2a34078454b6ed0a60322dff81f416debb9d2bce3670c3af37800342befbc08e9fd98ae09d083baa646724cb427d58a8d03f5583fd1b8e0b7d254d03b113c8b01d890dc8a4069c34ad779b103a00cb8de02f240db781e00929d71b97033cb0316ffc5cdd9a69b57a3507b6b2420cb74d71b5ad7467a2d8d843d6c5062103a1b4328a38cfac9268faf280fc98bd0c0fa8574f07a1a3afa490d682916a974c03f3fcc742e1ba3a075b94ee89e3326a8ce7b25ee755b744797e27bc0cfa5ef17b03fd0284aaf80f26a314d965f927714102c04737bdd23701a3906de4bfe4de4fd203bb7673f584d9e797bd06344fafec5905507ee8baeb7ad66ce4ae49f37a3e0dd10372d59d1bb5ba502a8310d2a626d6b813ca380433f5419b3d2e734e39a565709d0354ac6fbf7b3633a66737869de6ecaec8f628d1831094be91c6f9951c2f1bf6c10219ffff03735679cda2399ba770a95ba2eec939f077a2a138ef29a62ec1f7f85be02c8b3d03e71d683987c8bab462f584bf46080780650fa506702756b021604a486311cc2d03665dba8379d0e8bbaa1e07b2397e57bbc17314dfbfb3782101be57aaae200ba803018d7267d3a0a8c6070f79f8c42468dc69f6c4899ac7c809bd356a3456c767f60309c52341c2ea613092fd07fe860b6ed3835e54d7c983ea3e8629f4730f2ab01f03393a490158ae5ca743df92d5668aa63a7576c7a8184d8fe26593df8295266c5f03e7c4611ca114168df06cf1807e024d84187bddc5143c5253a1a35acb628d9a4703ecc762b2f0b4ba9b9f2c7f8b0ca3a90ec70a8ec6d80f97202c3e6bd9f1564bb3031b5eca64c3a92e360845c85fe17279d0b81f22da61902bc43d24814ce40f63480399819b79aa9f27c6fd6ae6e2ccfb5872420ba00bad60ee8ff4618422c65011b70219ffff035c72a5b8df6d140b2375c72cac1c4e7881e210d87fe2c87730eb741a17a77d7303905928e185f123232c8c7261b02971dab40ed8e82da5c7a6b15391d3f069403c030bd78f252075f21349d67e3327473579bde5d2acc634ab78a91e79b646746e080399a32d53de3b2f35d769d5b1c4dc76301ed21ce83465e20110fff41ae5b9a8f6032e21e312e91ad7e9d49fe1ba481bfdf70c1fbb49fa03e9d8ce4a82e3c4b5c7b30341a81b27db19ddb1213831bb5cd6b590cf695f321c550f41d455f1b34c199c7a031d66064ee221ce4b3203bbdc0aabd875e2c4fdb789b5f5a61ab0750e3b959194034990e84322e8a1f997bc3b4808f72fee14a893b0c829322f28eecbc0b8ad638c03cf4568c6936b516d41400e0e11cc45d9b0f81a5493080b766305f9aa5959c01103454e866cd0ab911708b1c91e64ad2b97db195f1fe54bf745590b54218f89638e03f1d5ff12623b88e84b2add4e2db8bc622ee888fcc7b185f2581afd8029fe78d5030ce8f42b55e2ea45b52bb0bd7e05d11fb2e1ea1519a05eacf20854cba023f533038f9737d46f65365b46069f3fc22802377e9b61a4872d49e6e00e184d85d16fb0034b19b564ee45e9185490014a4ee16b43dc439d9015426e17fd50e92bf5e866640310ddce46903b3b0b8189d497261fea503471caf88643f4e1f726d880efbbbfaa03965da42acbedae7c965766b94a0193058f482c35ef57423bd68615af8d4b57f10375bd09ae24f56000053686e9f3a867bc53a495d6be7d3ff56ee234cf92192a0303e46f4db1633764b2a6077603a107cb73009d73a677ce7fde14f22a31b9c646fb03b8f7efd3098f280d4c17614060db426eb788d6ea49924918d4225394c83d8cd1034d0daae0cd47b570caf372cc2cfd7fbf5e71b9df1564991394bb9edb7114864503e9cb8c0e0d19329b5e232da4daa112c63da5b4f74859b35797fabc776fa5a3450305cdd717d655902fc921df296e863a7f4000962d18e79bf5bbb5009e1385bab00335ab2dcea26a7a1dea24c18d7dff4b4239977fc6fcd7cbe0e9dd047323a745ca03203db6f69a8ee4c323ed8056da115dc9da6558b3300be2512a9f58d234e50c7403eeeb77529480b032b76ab3271179724ffc4520917fa8950ec9f974a60e3f7ff803a25192e64f727de2f50934985afbee7ac7effba582ab669b12157d3e494fcc45037bedb346c6de914b136ac09c6877c0820b689567f23dcfd7f2ce2a8a4520ff8603908d912c1b509820efe4607bef4463c0347b5d4cda2a4cdbafa3a88c959c624703688354a1e85a8a186ae6e881f2c1c83c7f99470b4ea8ce301074d89660cafd35037efd37571911580076cea911cddbf4d16a6b475a3e37ea084e717ffc04fe6add032031ac15c31e6b72f2561e974bdaace2b18f5ac67db7bf328f567767627d8cce0356ee30f29377dd0bf2c83d72bf759d3a63246fa90e03f65c864bd13e5cf25ee403f55981fb71e58799afe2fd5fb907dc0d0b24052ad552b770f3310b7ddc12f27703a0854707ecc0abdb75020ed2dce429e1786054a44f832bc59a13ab802f7cc925035fdb5b525336196e741576eeec7f4d7aa5bf1ce2d3d248768327ac5e107feaf903cc0ef8701b1ee3e5f8fb5156a8a6a6997f1314ade00b95aad0e57eb8225d98cf038648170679b8fca45120e6350eff29915ca1711a7116ec3fb2869efb3c63ee43034575afeab279534e8792828438ed135a56c875c09d0b3fea7f99840e8bb1a81905581e03861256bc430a7d76c124258551957f339ba0edbd3f4d5b692b5f7cce400c02467a6a2b5f02e805581e03f3875dcbc5783835dc6682d990c44e394b1a1d0d2f3a56a74d8f66496008480de23ca122bec40005581e032625892a32fd2ada575bde80f2dca9e28dfaf0b6feac08e7eb4d8af560040205581e03d569b8e0dfdd1b88f1e60d86ee1f7a8e6f838188564bc8a3b88c1514b0040405581e03786fe573a7611f61fc6214e2be41183b47551bd0c11383d07accd3f1a0084801b10bcae6d91600021919b10390572b0396a1f40ae9189362c57f73dce6d7368ed7d5468bf5f0b0af06bd787303fb5dc0ee7dcf373c536d7113bdb20a5312a30eb9f754d823e856f3f83fa125e503e22712db2102e3ca381e7f1fd521303d75c5f8bdf7d8e99ca9b6240e6f92bdf10219ffff0312ef95182a010f63c037bc5ef6c1edada9ce415b134a6e1adf350854e08cf4a3035e778f7669a42ae82a352f9af4f3b41c101d9eb6a27f339c0f1a9b7acc9852b2039337a9c3bc9ae2e76e91384c31736fdc26a8557c92afebd1938815d4b51978d003291bc35c5bb11dcf7f97da1c2ed0625620f750c27d0aac5ef22fec7634e8b54f0334ef646a608eec2d1d5057624beeb9aa262505160668fe557a5a4b6df8b9096203b14e559e722bac627754c0107c5b18cb8c5d8ef214421c8e1762c220c605329303ae9da8b9fb939d833a55f89cf9a6e64748de6bebb56c01fd1c3a1c26c13fa0b6038c3ba669eea4e60b096bb6062599855d3314d12a8e3b06533eefb5328e78ad130219ffff03226bc07a7cc8aea352cce49b4fd39d020684a1271c88be3aa3b03bab878fd051030586962dfc97fbe066a567d0b1388c20fcd6337fcb275db5db78050405b6d20f0328ba3d28d19bd8c0f0f0016d42133f16a6075c756b9f62712fa7e79a9d1695b103b8f8c6fa9ffaac2de69ddf9f6fe4944eca4eb330b9151a1bc3f69f15e8c0e5d10357fc85c0d5a5a5dacec8e7f7162c24cfe2baabf5c3d07f530e3cea6cd1ac1dd4039a9c45ef912d6d4c03246e84e1c19af508e2613ce61678303ad70e26f5408bf70219ffff0318d43e2a6b470b6a7435f4eae4d7819fa1f66e867c8a27a5442ee98c23e52a34038bda7b4f790cb7ff1861b19407f79b4b52e83ccd012cd9dec73a2f2097296d12037ece001af6626b48e63a0f5d1edb4f64d7ea556694c1151c25b9d3ceea8a04280369782b3fa9c58bfb9c7347c48069ab8063561113c776cabd179e41e2350f84ba039baf46cf56af0ef9d31f77aa778a93c2a131fb0e5b885a634f3c0cef7e2fd4ee036b97b4060da3b1e5c8b785165f2cb0e5bfd0430fbf0548ef3dae6b7aeba297bf032f71b5ce39aed3b63f4f0f089e5e21d227201b8b3a76bd06d34d8407219b7f6503ccec62ee6f67f930afcc0e9996e173589568eb54355b2a3e6ad18a36d5ce7755032276e5c6be2b8fd4327e0b405978eeeb081407fe81c59d3366a4818dab32e78503bcf7e9ca72eea0ba7eea71e7fa426a6e15dbfc4b845ca9f5311147c42c3dd81a03cde19ed13118ec034326156a535603fe3f69b6b50c54357aaf78cd9afffc932e031d03a9ece069167f8b41b18f2c94b4476c0b4529e7287990c98731645acc81680219ffff035c3f99bfb5712981c5a688b2da16749515f3f6ded477e364339b1e147de8f430035769eff213dbda1566c2943184fb815471d65b72c791eede6ad5b703ee634592031ff500b18ef3c07715f78824498a3c0737dc44bb995946f82b41a629159f1b6f0319bdabb5dea19cff6fde5587cd28bcd72ee5e4170ba24070f6a6002fdf731fa503f16b14175705ddb439a255c2c2803be1b25fdb87ae95216bcb7a610e9a9063360324394503bc7bab04c3ae1141256777ecfc42465d006ce4c09bf8ae3a0505fdec03fa0c79c692ca546e2bca4050d15dfb6fed2451e19ace6c8a45c256307152122403e9a87d7f00d36247214bac5ac23668bad58d0e703689a626311795ea662a8f0903d4d1eb3aa092873dfb631e9c717f85690d1cfe18f4f95b815fa1a034745b82fb0331f798882485ca8f70026b07efdfdfbc8a321ac2fef536a2e3d7a13fb2874cf603b222d031faf18b2125cfb48cd5b35bb5b07396f645d123f4e6d29ef8c3b364e80324bbfed77e3bf4d94330e8e7afd5f2f8415bef1985dcc285df500f1fdc7ca2ff03f4073a7a3f0aad3360bfa09da2901733b15821c3e6dc429c201067c58ff96994032c8ad7cb79bf584d41811b65276d3fffda3c3bbf8821db50ce3712de762c2dee03d46133d041ee62fa33bd9341c24169a7d41871b638e08d5999ebc590cc4b08ce03727540e192d1abdee75c4d04dcfe05141d896d4df59d1d3434b4e62d232930e903fc3f397b6c9586e93d73efe0120c7a6f97f23be88d6e8dd9c56e27bca9993dd20373f5e2c15353050277b3d28c14c3eaff37b6c52c7a598724ba1cd5029695f9d703a08979fc8d59e672f084440f9e2752b06bb7594dc4e52e2c043aa90f8ab19666039145679165c3a2ec4db63d803f3ae1f0195c02062cac214cca96e9e450af3aab05581e037a53550dc399a156d54347ef50def8f425931c331dd2b8e53442208bd0040205581e03480a7c8dda2f8d183a8e975e60aba0e1d6bb1ca841027528c06d0f21300c0146b5e620f78d4005581e0346dc4933acd0fe8c0d3469bdbbd7522c52de9cc1c803e0a5f70e312690040305581e0342a72fd9151705b181ebc17546587d9113d29b35e7b87d6e75d5bfd2200c044702801a77a2f94405581e03d51b7fdff2fbaff38b64ad1a59df11a34c66dc0a2c648297d12c9e56100c02470119782e133fb005581e037c48cf7dabeaebd595de1ae697978a8fd4ab361157ccd3094d19998f40040105581e03e00c26999ded424d15fa5b92552e0638e325d168d234595c98c3c721000c014703328b944c400003ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03e31911ffeab5320719c6d1778f576f6042a38712df31403962d169452007011bffffffffffffffff04590855608060405234801561001057600080fd5b506004361061007d5760003560e01c80638da5cb5b1161005b5780638da5cb5b146100ce578063aad0ae5b146100df578063c4d66de8146100f2578063f2fde38b1461010557600080fd5b80630a5ea4661461008257806312ec8dcc14610097578063715018a6146100c6575b600080fd5b6100956100903660046106f7565b610118565b005b6065546100aa906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b610095610198565b6033546001600160a01b03166100aa565b6100956100ed3660046106d5565b6101ce565b6100956101003660046106d5565b610244565b6100956101133660046106d5565b610321565b6065546001600160a01b031633146101775760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e417070726f76653a2041636365737320726573747269637465640060448201526064015b60405180910390fd5b8015610192576101926001600160a01b0385168484846103bc565b50505050565b6033546001600160a01b031633146101c25760405162461bcd60e51b815260040161016e9061079f565b6101cc6000610416565b565b6033546001600160a01b031633146101f85760405162461bcd60e51b815260040161016e9061079f565b606580546001600160a01b0319166001600160a01b03831690811790915560405181907ff213750e75b7d8975215501c91778a99d0e1d7e30453ea61619aba02b5e0d17d90600090a350565b600054610100900460ff1661025f5760005460ff1615610263565b303b155b6102c65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161016e565b600054610100900460ff161580156102e8576000805461ffff19166101011790555b6102f0610468565b606580546001600160a01b0319166001600160a01b038416179055801561031d576000805461ff00191690555b5050565b6033546001600160a01b0316331461034b5760405162461bcd60e51b815260040161016e9061079f565b6001600160a01b0381166103b05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161016e565b6103b981610416565b50565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261019290859061049f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661048f5760405162461bcd60e51b815260040161016e906107d4565b610497610626565b6101cc61064d565b6104b1826001600160a01b031661067d565b6104fd5760405162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015260640161016e565b600080836001600160a01b0316836040516105189190610764565b6000604051808303816000865af19150503d8060008114610555576040519150601f19603f3d011682016040523d82523d6000602084013e61055a565b606091505b5091509150816105ac5760405162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015260640161016e565b80511561019257808060200190518101906105c79190610742565b6101925760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161016e565b600054610100900460ff166101cc5760405162461bcd60e51b815260040161016e906107d4565b600054610100900460ff166106745760405162461bcd60e51b815260040161016e906107d4565b6101cc33610416565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708181148015906106b157508115155b949350505050565b80356001600160a01b03811681146106d057600080fd5b919050565b6000602082840312156106e757600080fd5b6106f0826106b9565b9392505050565b6000806000806080858703121561070d57600080fd5b610716856106b9565b9350610724602086016106b9565b9250610732604086016106b9565b9396929550929360600135925050565b60006020828403121561075457600080fd5b815180151581146106f057600080fd5b6000825160005b81811015610785576020818601810151858301520161076b565b81811115610794576000828501525b509190910192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212204145507bfa15500c0eee86c57c125e8500315ccc134912cdaa0914a0badb3f8d64736f6c634300080600330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582002a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a8254e1c7db7575babf0d3369835678ec9b7f15c0886b00582002f97419363ffd7000167f130ef7168fbea05faf9251824ca5043f113cc6a7c75470cbb871e8f30fc8ce23609e9e0ea87b6b222f58021980040219010405581e0364d11e8e3a1420889b55b40236f26171452fc5c2039b36c2ff7eebd1e0070119085505581e03c041a125d5bebf793e4fe76765079b1a6f58561779843267210dab21b00c044656385853200005581e0311f5442609a3d1c9d8b6fcd4116925086103aaa59609edf9372c61ebb00c014622f186d1abe60338d318867d6777429ae9d27eeb574a09ece60292650356363e87b497663cf7db05581e03a72e70a896c5e7e3fd73fc037f9e385a2ff1fcd346c335e8e608f124400c186d471f71d628f1f38803eea6e015c5abaf705debdb853983b714b38e22667b85ff6e05a2db41df0504dc01410f0219effd03a6843d794191119540d18dd93aa3f26f19ee6736289b1728bdb6fc94c6d01aef03f05b8be49c774ea5112ae2b06f09779a49dc595dcd4f90ee6c608aaee100ff3c03acec0c85618661dfc8a7474ffd8eed9c8015ffebd298a260dcd5646f746ac8f30375c93313558d212b012ba9de45416de8a868081a9b692dbe734dac81924addd40328fdc911f176342e62c4f6f5c116a9e9409782b874c181e4deb1363e3ef504f2035f71f76b8ff24905310063097922eb65d32443d0a72bafb3644e7c09a75d73d80375251b39dcf86fbedeb4f16acfa9a96fab03f908a387e2965a90759e8ffa218103b5d8a37ef68dac3b8812669b09392960fc92c87540cd6d61616a7e5e419e495b03dcfdd8ddac2f3c79a632c51a37e9ecf139707623464f7c4cfacb2751ed93e7e60368406e0b3ffe2c3b5a929555b32adfe58f3b85bafc33604e6997cb906673bb7803037103a8515f11e5164f6121e4b98403db352e195fe7d848c812690013d4c18c035c52f86143284b4ffb948c26902cfa5ac33408c4d653b07c7c9356fb4f91c2a903e7148db0ce78e416bd6927721e3beaa5e4c707f3eed4ab9b85d0718bf2c753a30219ffff03a71e294d2d02571517deb4634b261cae905d73885dbac3bb92b437783c03fad5034617a132fd46b0746a642477af55f04d508bf633624ff3a24f92026c42ce5ef703ea8a32a0892cc9162a190dc9557003262a033d6cecd61792656fddb656611905032d815036f3b9c8a7899fc31cabb7d2a30ab09240bb7716a89923847d4692b2e8038170d98859c3e5afaf9382d4ad20f0f0667e474944a816c579830bacd8ed136303fbb43df4eb9fd44f41e741253bb9f1cc03fc4337741529cbef6a90092571c01d035bcf85d3ff03edf81b1367adbc9cb9180d04c08712d7882900e508738fc3089b03e4dbf27791ed2eb9580d54e0c9966a86a290abaeb665c4e3ac7408a07c75f0b003fe736eaf793ce468af4bbb253c8c6309905baf6a0a385b7b1ffba78e72c632dd031eb5bba110765533307bc7844d2549f6aad55d2bdc4d01d704c819627c57bcc40321d1d474b26b89b2aef4d29af2209a8aedefd68060da4fa7134c42cbdcb5c8060385d0fb46317e8decc4c8a9b9396a2cc67b8d8d84951c8ca09916c2651be388080219ffff035900025946d281922a2a3144a22dad27408351e8d3cc81ef80e261b7ad787b1103fe05601ed45fca9fae57f5fde490f733dcc403cce9dfe6e11a6572dfdff55a4d0219ffff035693c2c1841cadcce6bbdf834b1eb0ab5b353a3a0e97227fb049ec9615da3abd0397a56b4955d6201ce452807a7090f7816d5b336774bddc884c2aa979709869fc033bb228620700ed48d7c6722b359bbccaf43843e4eec132e892c589906ba0e34d03208fa1a8cdb23079c52bc53a60e18fcfe50dba6434ae3b881dde353b4b6484630321e9ccdc9c7e8008bddda6018876a33a7fc099bb8a61ac0a6aea5b086047f48703e7d2807dff149f510f87e46de01df997829c73935301328346b0a99f5f04b49903d92232a1be23509197c762fc3ddc4e116af2b00d2b58fffac62b9a29722b2bbc0394b688a92a36ea0541f132f6b3a148f96b78c4e560857195771e40b6ebb98b96032b17c04a457e4b51f16b166eeb7d523c2d9914565fac05922f4e40996df8e8fd0304c46b43f6e10ecdc76a36a768bd1a5dbb2e839fc9b81d3b1905f4014b96225f0380e1582aa2c0269014764b12f00cfd4fb0de432c629108b4f39d16f06b63d68b037ab32135d12fbe72d13468e4a09ade0ca57073cf23eeb094492415d0603f5810039042a74959f462854170ee15ff86df9bd3cdea7b7e278007abc2ebe86b6e7a940219ffff0302ee6748e49feefcd81d7f36cbb0262dd5e253cb09e54b55f89f1bedc2081198037ced7ad4bb05522b0a843ff26d459a8b767e3eabf53c02f6bcd7f09329e2ca4f0381f33cd259fa3721eb9ee3ba328e2662fac73c608223755eb466211ce5cad314037e6b32d3fea0c44ad09041dc3bd7b8844556a358978e1990b35f6b4114665c12035adec0570b1e27de63def72581c89d2b637a660b41c9c4ecc6420a2215a1b3e4035da952844db89701769bacf14fc0318956bc954f6d3e56ea03c33deeb217be610320d471a4c51bda9f860a58db58e5fa40ee851c49de8b07b4a11c52853d9a7a5403b8a80c95d0bc8750735c278aadc0f99ce7abcb8aceeda2047eee7a8b7f89dceb03da6e9638370df8eea75bb2dda24b0da4f2ce74c11fd2af8d16c9e901c7ba96cc03ddefb159b278ad3fb41cd2980832af3cfee6b2e4989e00f69559d0ec14009bf503d342b74cdab6c920201ed43a009696450f0bd78270bc12483fd5dce8492fddc003d9dea40b85826d838afd593b8522829f92b39b2e200d46727dff2556ba97d7c203fa71c50f29c4c86af3617e3e49d01fe9d992839c22dd0e1f67bf5aaabfd0c97903a3fc42bf47045d0114f7cab5b152874e61d00db9daf556eb3e9cecae7c804890033ac9291c220ef9563b6fe0aa556902adb116236b3b499e4b9e1b2d4756476f40034a88fb904aa63c19ff6b92f1a1b7ae8a2cb3232ad3eb85266da1ef00027749e1030873e3808ad184715bbe3b68ac856d9c3b37a187e6d98e584251be1c71e6053f03a40c2194b288fd8373f20cbf63a30b712dfa6c6eb4be8f4d55170d1fde0092bc03b4daca7d995845477da69ae5bfe38f9c8efe98dd81aad0679ad02e4cc100e9ca0398eb3be1d07e74e56a38dd852a517f8627d4c3d8eaea366cb6ebea356659f1d6033b3b9e721e3706a59dffabeabe18561a7abfd200c90944f716f9d3f32e8735bd03758d97923b36ee90d1d726a0ca2941e7794fed165d1c15ec60b63f22586583b403c3313e2c86abebf00faef8000594fc94292e9d953054406e912ba0de562a1045034f6f06069510da768d3d1b765a255f73d7d721cdbb950cccd386da66411d00d803fde78858d765faac65e171d4d997f5a607c9fc7d2f57c1f356b6f9dee89b2819031b54fa51c8b98ace8b52dbb878e6f331913f0207320b4c17602c91a1ea241ebf03692b7aa1880b2fd3cb08a69fb170b955865c0ebe1fa8922bf18303bb7c0739de032683f4365950ab6078ca7dccfecdbd2cc7cf7d902353e26b26c4a9d2bcb727e4038a9deca6a56557b0f8a9a37e363b143791ce28d8ef86427540c607005058906b03163aa4972ecd867d23dfee8b0dc0a7f84dc5b802f239bc597388dc36fe1761e603a1337173b66588069b505117f2f6b03f2687decd611d23089cf266747a3d86a10326ba9631082b28e97a3d2c2d9ce796e2a7e99f0f981bc93223c9b48ba390cd13036eef6590e68a52f414e37daa1cda86067bd4a08f33ffdad65a56eb9d762a1cad032f429836817e5f030d88502f411733ff43cb87b34dc5aae7457447a17f5c870703f5ded695fd33a93686cd4af6e215da0c29a0c3b6a26fd4c42d04d4bd6bfa2ec303916e9b45c46253767d84dc2c538b2a4dbd513ac672874fc2a354fd77c6924a9c03b0b2bfaa982bfa0b74152f2488e9b9d32ff418e8890904dadb4210b9fb766cd603e2c01afb40a1bb4ccf9a79c4915eecbe587ae719c8fbe1f17e23ee0f7995f598037907fd5613aee26f32bc20daa1a7444a3d45422ec495e6ee41997e01dd56f8b403988210ffded5ffb34d5945c489523735955ff1f133794ce9de831ff2b55ee58103e63ca8ea36587045751cd52ff23f480cfd8bfb1df3c60e19e22b9391b1ee30350329f924759d52253b62c21e4b7dde3d0728014b21b292451c4918fad1f6bf46f303c4c062397f4ed5718992327cdb72794471e6da53e0c9fa6f7a0d40ab10845c92035e860bb2f34de14c371c11e22070be4b57ed2ace7a01a2bc4f6d5af79cf4496203f2732092af7bdeb2eda70c80e5784eb5f0ebc392a4a801b3caa70a971991f8c203a5f91fac66be92d9e4a883ed27f772d3213e414c49a338e143825c95ee7f5fda05581e0377e234d8a1d0c939f87874cfb86dfe782e023c206bfe4fbad9a3217240040105581e03471d189c4b053895c86042ac4f3df3293fb829e40af0d3a77e59e5e7d00c02443b9aca00031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e0309f88ee63cf75e84a39c1be2be1a2cae55d179b8bdfd190a874eec787007011bffffffffffffffff05581e039d8fb44577e2daf690f073b13fda3e9530b8d7de93799939ee840128b00c0146045b423f9c0004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563048f9c610ebbc61159e00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af051017712623e1bcef3779fa029d2e2f4c9d4005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854ee1c139ea09924a95b98b56a68efc1104f049f2100582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab048027f6bb06ff6bb0e0058200242acdcf31e478e05416ff0498747b1eafa6dded723cd84aa3fbaf351918e1b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219814000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582075a68b0fa4968ae75daab7bfd26f9ab84ab59f2c370a2bb03f935f76f2084074005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84ff26820becbb6cffeb183005372ad1400582002941fd76a619f3a67fa78ba1487c712734af6eab41dc9677b31f2061df8da265820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219404400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd0048f746a53b4c6a56a800582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf607b00000000000215a2f25a7370a09800000000000078f317b5af08a25d0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218480219f44505581e03d4635628fef027e57129bd3a095819ae66dbb21fb4a76125a74aae57d00701192c1d03ba69b6e13b06e84ce4faf381891057c2373b95161158cd388cde1468371b679003a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c03dc9634d9c39ab372aaf8be320e08b89f81ffa41da053dacdb5d6d9c25941f79805581e034591b5db0714bdb9feb551698706b0d8cff472f22c58bf09e6f6905d7007011bffffffffffffffff05581e03b1a88893bf611ec668150981b0b37067adaf203b9858aeed822c2d8c300c04473a8f8ca6524e2e05581e03e1c68af45e0c85feaf3a7e9fe92e28f05c39b3685484103358404cb2b00c0245e8d4a510010219a5f30312ec879be9c677e9cd8c58b81338a3c1f442a39534fa5a20480361821c674ebb03a9b19de15c2de2252a22b9b5d887c9c436742eb269eadc247209b24b4172bacf033506e714a4a01db4c0842dfa4660ff9461fa8dcd0016b355c697f5cff35e542a03325e7a922b7b10fd078dde633987d39d8f11d36c73c25772f0d9292ab0e9843203cf5e1050d248908b6c3f95dd3a9856e716780c8bbc1cedff515677287dcbaf480348e1ea176bc5ad367b7983a2ab37538560113be6bd6b6c4e4a5b64ee104f503f030f06198042726a04fefa7d9a78c2fb1cd58250947f8a622d64a00508e309035303c0a46a8f8e407587943847e371372bb9cd11dadd451a80c84fd172c729f931770386e834850f3cbf84fb35f9c43c8a4af6311c86416b751fb68441e720a454e6cd03e350976bf817e314e74655a286a781918c2e8fb14b93b1cae155199497c6086f0396f1f5d6b310c90daf49e363058565126fb58470cfbbdddd46281740a72fed6e03fef3723d9d6f88255fc973e1c05cf370e97c6b4ca4d817e246da14e2ba1f5165039926cd4851688a6aefcf632eb5c95972342d8043bfee4ed5ddb714ad545c7d8c0219ffff039ce82626dfccfdc04a23de94000cb7e7b5ff29196454a6d3f29d2f34ae3e1ee10300f8bc8529a658177b91483a8c20dd822882ffa84c2173b97f3c54c2e5aa5ab60219ffff03aa5b66c190b04ab77071f0af2a64d663196df1d4b0d26048c21be3431efbc4730353a2fb7a6edface47ef1d1e969afdbbcd75b98f9507b0573087ade8cfbcdbe6e0219ffff03097157d03fca75074a3dc93deb9dafc6342d7b715bfabf71fca899f08b2dd23a0326b342158886796927600e31784c379f8e1e7d1d67327d82bcad9078223b9b73038d77db4a697a0bedc7f67619e6733d2bcc034da5ebc15510c6a114a72b1d04f60219ffff03d0de2e180fff3a55c29c3f515a6018e7c3eb4c32a03ac92442e0d3f687d9b65103ecd7a4ac75cdf85fa4431962fd0f1983a089dc08696a3f2287706e19ace0f6c803f10900d6fdfb05ce1547c147e643ff12ebcea5741a819fb8145b517fcc18b23c0219ffff03878100c6c9978d175f775bc3ae266eb60efc6cfa774c2baa124921d393df04c203ca4eb829dcfaecec905c4f3aa891b389b10d22ed8cd6a945705ee096c7ba8b32035aef37e568230984375b8c038ae04b46877562d2cc4db86c07969dc12a79a68a034b965bdaab97431fb164f668dabd56f4023e5e8589626cca7e625cc85562bbd9038ce1019ba6386eeb4d667511780d27b81eae1c9e4fffe6a59ffd13a71b4d87ef03ac7bd0407d067c58ccb9e10b7c68e497286c6f5710e97b5f4fcbe2d6ae30c740030c91f514a6dc623b7cbb4d3a4fd91ad2827ba569fd6c109b05d8c48a7107155f031f8c7783ff88d7e710280676359dde9afc5b12e4b3ed612c160c36c477fc4f0103e4ce0629ccfa996c8f77b4b8bea1e0e14eeab7c0aeb5224c59531eeec9361c4503db0e5c1161a9ab04e3c80f8e69410bd456db47648ce65ba2524a153129e4ac2e033cb52f93ec611a8da0a05bea4c61653be3b5fee33b255f7c4a4a33d7a598f1fb03e574c20d5407882ea0826a1d6f23218fdcf684c872de8412ae633052ae679b7603c71c4f70e1fcb790d7ea148787479c232ce53786da5931662e3305295b7eda1303fc5d61ab5aea99e55b274ab21b6a194c669d11e6746d4fce409c60294b4bfb92031e1c8733fdd568cc4e51d07fffe8a54175ab5fd9e83375f11da2893ca7e1681b03f4fdc6d79030a30c431df4e85969ee99e6fd99b51342541e5a9801cba5281a870384d0a936894c155431dbf0bcaef8d4c58c66e0b68b2163a0defe33f2afc3d67603a8d4459a41a545aa37f1df4cd1e53dbdfccfe1b92739db8f0b507ba816ea71ab030b081eae3fcb2995062804dfe05064190e89879fe6a8358b7e0716883222b1e20373da16b5a11fd31f687468e7e437c0ce88ed2218ec87097fd68d12aecedbe82103458ae837264127bae70701a77efbd93777c4f2f964eb0ff8749febf21b08f30a03180409dbce0f471a844cde7655d95f99ce57465f2c9b3a3519f6ef0fdf1296ac032411ceacd5de7fcb10320f232f57522a65bdcf9a0367f17cd2a6f2134ab128b6037c229ffc216827e2e26285abdbb2aafec7f91c595696c56c788e8c9d6b378fb30314d17ef0919b0aa2c2c93f207d5eb384998bde11623ef29cb6c192db580c226e03e165e3f2145ad1b10898dbcd711b093702d032e174a5bfcff28e34c0a9915e7203d8a2a04978703613b39788713a45ce2347fe08f90b592b2fd0f77c782f3fd9cd03d142273a6a1c19cc86b6aedf3e313aca349ea9d25b1398b2f2f3cd1ace87667a033c7edaf4c8a204444d65b7f9acb35770d92fe09237a5018e699090ad0a187d4303d0cdbf72330850e1ea2eab63c2c486efa350a5af71292b89b52516ac046a335a03e60096b2ed0595435e292119086017532da0b5ceef785f0b34adce9b8cb383960309e7c17f44c6c75499f1bf67a2b9c9448ac5adae6221167115e0d9ce0e49f23503ec3f036e612279d24a3d407ca0ca1b8137a8d3d2098a5e66a8f214125b3a7f3503c6371abded603253ee4228bcea5add2a8b7400008cd2c7b5aa2ff3f4022f900f03cb803d44a46f933e524d11c4bc2f26aa300b0d2560dc348d3806cf00554f0569039583cb3595c1a6fbaa09a3ccd519076b7720661a4066f398865650ea5ae1896b031b229c9aa259eab43f0e90082bc8425f5e6c04c20e70999a2c9f48d7b72487cf03c67a043590d9eab3067a1c34a179e424063785319153efdc4afb6c94ed99c8c403a8e4a1de078a7ea7818384927df551760df45d456d2a5b9efc8d797378c7246903f0555de3a780a48be182cb3956f3972eaf5106a284c0a7d87c1f77ff3967285a03783780f3097d9d3b8d67969c62f43b69a1c1f7f8b5663c07a34a3780f8c5e29d03103aa12154c07d1154135f1fc68be927ab68f4d8d75b08258469719f378d35c803a40d312748d6b29a5f4d7dd517d1428e5eadb39832845c7993fe5e30384352eb037a4fda7eecbf10b451093aa7e2ad1ba546c4a311b9afa34602a683bfa6af4602037effdea2cbf5b602df64645f5b90f76cc0fa0bcf9b6b20d5148ec979986b066103974a3df45a37ad885cb8d634f3ed912a8487ff4289ce9f7bf69b9d008ee9a18903f27ee8ab8332ff77ad5487e6a9ad201754bc5b99429cd6829d48d57cd689a9d90355d40058e37fccd6ba820f57b8ba73329b414bef035b4b2fa58dcef21445079a036271b1db5ad4c0ad3f180eb86687dd406625ba472119ddaef0b57a160d0aea6903c47460ddfd8303529a1e20b02b0283a695f2c54f1969d4ae9375a871d8bc880503f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad7696139035d1e21f700a49be24991d5b20b17b5bd6c9f9a8827fdcdd22ee081f8bbd1bb9005581e033438101ef5396c10534be9546fc834bd35e6ccfcf8cd3552b4b854d33007011bffffffffffffffff03fe8bcc95af69bde603a5a768dbaa33251965e49b6f41b8029c8662a8db4969f5038d4c389f756f95f370cf7c6fa0651dd5b2cd27e42d12dd9222b0ee4e91797ad205581e03c1da930cccc481a412b5efdbf4997d85c44a1a7b63e2992224a2f4a5300c014705fd13b7002800035fbb31888e45cf7930d8c8e1029831f8ce15991af5b655662300055997f61b3405581e0359b9faca07078cae61867ac6e3dc14b902198ae1980e99c0001ab016600c0346ca879bffa87803fb917bf9a473489d27e723f0e8f448c4e545e27331b6ff02f21f902d020da35805581e03996a3aa27c767b8c3ac816236a0b34c8f2e66d191c3212eb329856db100c0247021a2f33a4a2d005581e0302165eaa9d6e6b7eaf421cf598b0638802abd4d1277516e120f88e71f0040105581d023a6babfab699ca3d07c66886fa4e9e51a2a6e21297dca705c934a9570c1819483f9090fb7868e6ee05581d026cd14160e241b00429968b1668fc8b8e3d9d191b136b0637ef5b1a450c014687852573cc10021948000219fe5803a05659574551ea0cf290a2c70af2481e86893cd0ebcbc5fc2387c80e817927b203c542072960261f3b38cd2dc79531c70c6fc4c0aed4c87f4c6cbd07e79d1c490003c63d5ff108063e3a89891c3f4ea60dd31ca4697cd58adff1a2370b952c47da67034c73f237b3dbc56ce47ece6783b811a0ddfd8a6c3aec26c796cac29d612ce9560394be43c2adad543ba84fdc7f7bd7afdf03a91b794f416fdb5c4c0c2b7b41f67a0219ffff030e0881ad66a02f3fe2c9ebcb27f845215b8b4dc93ea5501b459478f8701e992b0219ffff03a8d34fc25359ac47eb194ea6e30768823481ee1ba924b9848c4ee23556817a3203d85fd32fca06ed5f490940bbfe9d9806208f2362eaed9b75eb27e407532df021030f8f2c11a52847a7be932fd334ae7db84dd2ff21646b915c811f18e68b4182470335891ad75f98d3652a9dbfbf992443c43e26602aa777cefe83fcc70e19e77d170394690fbdfa2ad5e4e129dec7c3237b4f7734abed6dcea962084ea426aceba58f03926b0e126a044fe044ce1d0831c226ad12d47181570def599c1d2d29c2befc95037c5c4cb86021328742bc66980c7b2b71ec34ac9a817cb96e136f713593152a0d03501338a2a200b60e6d0f87dba02d16abd7b1686ccb3136e9b0240a4c0cf5b6c7032db8e251de21bbdaa52da2ab2ac3b2a14886689e3ed30b4cb6a844b51a3c20f303dca97dc0f65415e9879799ba77b6783282c65332dd3a13f425795281003245070219ffff0367f451a4ad47c8220f1729d0a9791ec1ce5bea8f6b7906645e1355bab18735ff0322b54ab719b9e3e71900115871b1f48077880126a617bf38c3b8150b978021960219ffff0302bd4698994add16277367c4bccbb70f1248e5d28e378c04deeaf5688274b1b503f1fc7bfdbc17f4086b74aef53d09b2a82506feebd991a8a0ade752e0003fe5d903171ed47d15ad1089bcf6d352466f44e99bdd2af2ad2ba4cf80363323d9f176fb0355bc01d7ffce21e32df87fb848757e0878eca09f76e1fda3dc7415e0b1ce07c20378e5fdcfbe4d95ddbddf83d1b2110372aff3e388b8c9e4e52a65ddbd34c01b870372002b1bc559bd8b33137ebc94cbaa3ce5f134d124872331b8d1910e83130ff303c21fca0227893af7ee96d8ca1450a18a5d8e5c3c11a8c62801da5739bbd1569a03062b54192802608f44da7d8dc88572d95e312046b506774b73421262e610fe75034599d0b1b1cfc5b7c2211b22d00929b48d1c447e43786f5430727294e4a1a1c7036f3dbf2aefde19bcd4efd4ad6b3863ea328336faad90dc710f7e6e2dc6975c0e03c7ef8aefc48789dc86397aa6315851d86b100b8911c962005c069c4874a2fe0003115289873e516be36694c7c922de641db9395df113345a505433f386dd1b9873030a5aa79d60cdac8e72264a13b956bf58e8f34ca6fb0e8ec6f3db057dea8cd65c03fb1031261c5d5d1992c80f0037f4d191c92398c2fa126389e356d9f38c13d7cf0362323e7dc261fd76fe5455219780f1c9c9f982774cb196f8f765c0af4cc7e6c303fa269f41ed80985a1950fbf26ebad060dedf816a6d5f78d3f7ec07e9827df75303b29f231fe527f9f435efcb02d86914c05750f96b4463eb8483376a680e6eb991030df7a18ffeae72999e556197def50a6baa33a2c3b657eb5cac7b023200e93c7c0310b4b1f0815162aa248e0c9c588f31f00f45ec5418647eb8748b55b81aa0f66f031ac4758ca7b0d836a009ff26dd3c075e679a3162a4a02426e21f115ff549d582034e3fe4262eb2506ce70778c550a215651f9b234b1fff3c13e36ed89f22f7aead03e483ecca68b2b9532792ca69ad8eaa73552e6a75f9b3b235606c60cdcce8d5b30376b84eea0f0aaa1676c6a0ae8b1a6a042041739824a19da7d473a1b2a56bc97703ff604c3b5e3154617bf0364f42c18d10ca313bc62821b24c4aebec56b26fe15a03562c3f1d73ff4f5a6b3f2ae66df841e74add41bc94f4cb5f25302d6f9f43a43f0353978061defd7c4ebb3ff153cddb5b9b3a5b09fb73ba5f0897c1d6c937043ec203630745dc758c3fb321763b4441fe788474762bbc52061f2ce4cb09c5e651ab9f032fab18a72edb2a1718d770f78c3c2851330c5f67aea71542432b0cca2d558d9d03ebf5407db2103bc2170644c2ea67c5fa21cf167f3e4a182dee62a9b6a0e525ed03ca02e8f285c5e442bf6bc2ff36bb401891cc4f772574e6a217c1357894d2b150030558d991cec03efdee59d2d25815b0f71de4a7e4bdb8a4d0c27c1d715c6f1143031d4085a52c1aac855aae027cd0c1d4130979f306d5ba05518a3a5b7c39f9087703ef5431197bff07b8a476584c5c61a40e3cb7ff726d9f1d405f298c270fb6683803a761059ea5af9a1b64c6ff398a71a1e0572de2037f6bfe1969e7166492411d96038138530f6fb246a158dd6b68bc756817e02696f8548fe93ee008aa59e37930e0038425c190044f3304a1aa14185c149858784b9b582178e80721157109b6f0d20e03d1fb26ef4ef14fd1cd15f2aaeb42cc49048fe7d1ffc1023078902b53cb37aa79033ff5200910bb08510effdd04ea6d4f989ce27254fe38eb3cab754fda2a22d21a03a08ba3a324df41304cfe3374fabf34b70a5e477f0013a58cb491bacc0d87d0770335bcbc8fba81b3fb9c6229660536a8614decb7a45b6c3d47cb085cc1ed403fc903da811c580b78eac3ae5ba3c1265c3aa65d21deef1b44fb752d73e67cee94214303cb4d7eb01e97ce22d09191b41d86a60d816b821de3b510486879b8c40778366e0355f374186530d90e7c9719bc3cf70fb0cc5c712c24228a1f5e4458382170eb74036a29255426190bb25fa8db64db6956b68a9be29b0ffb49cd008a89899731aa2703e2b9de7909547916f9f268098b9d3df29f01da900cd7d3c9bcec5f2170fcc21c035d134e2f370c028df4a34fa28eaff9242ad0e804976612aea7cef898722939950399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe9080334f8e8acfd3df21fb6b4920d3fa69a9856f37a4f9cad8dbcc9ecd7f7a73c7d8e05581d039affa12f89f8662c1507f375c69d80101aaa5b480d7e964080f7d73007011bffffffffffffffff05581d03b51aeb3ee9e7ca0d7d47ac795675339bcd29c50c6ac19c125bc4df60084803ceabeb6ff266000219010801410b05581e03dc1677c4522eca559a65132eb4b85199e621072d97377578460c696cd0040105581e034f25072e0b9fdfbfdea8aa79146512dd27421f764497a8be2957f43a900847421499f8d2800003ae1af30a21312b72edcb045f5268155e027b81270fe04dc2921f94bb804705b70321754bf7895b8714445d33ee8983b68a6ba8fdd6d4e100c0d35d03c09ec29a0d05581e030c22d311bdc1e70fc4b42fff2c58373b6a8e00640950858edc1f22f97007011bffffffffffffffff0219ca42030cfc9fc5667290eed7b5ac7adb68e286859e4ee77557e8560b8abd4db3a9cb560219ffff0219ffff03c518c068d62fd3d91cf967ec08251172165d9ee5751baaa60082ff7bc36d690403b75e4fd4abf4bbd921afa539bf71ce13d3f4c11caec4e5594a306f361eef81dd03995fa5fcf1ab4232768b3266bd9be5549b571fd7928573a7d879bd44c17ce67a0326c967f97e9999cc08ea55be423847fb7ca65a2e66da929ff920751061c7d4e90219ffff03a5066587c590ed21e9f7dc7e44976e9b10472674f6bd37ce627b464ae0a75dd403ee92b8f62185d11b314fddc8c9894dae73a8d1d566ff46b325380cc33c12388303e2cc8541cccaa04c09040f581808a870038ad5931cb969370ad3242f5aad387d0311bdb9fad4c09d7067260c14230de1c6ab3becc2bc6c15b160dea322739a1b37038db49d765e38fc43a357651cf7deb2ad2fee35790c849d0d87d20f69ef0f257903d8ac6b6b7c0d0c49edb0d8aa589b59ca52ac5d6450f14e39b08eb4f29b0dc9c5038293282d89c2663c4ecb581b01adc19b0bf2f146f1ca904a890624a34a6b61a3032294f3f6186f4a5562d601140d3ce5dbc0dc251dbccae758ddb41f50816859ff03f994b3e2f65b080d61b21aab639f99ce65352b1960fca5831efd6ce5e29aefaf03ff38083b3bf9431afdc20c083099823247ff62849a3d8eeaabe78c5d18bd70d003014c09ba7243985098597f841a6ca69159150413e7f8263849c95a8a3cbce86f03c285b0de973206517e2f32b72f6e7665a08306427b96326b6baa3478555362280219ffff03cf4b7ad72e2f7a3b01b4c7c417abfe0840bd69003bef46c3d3eed21de2531ac803c038947683b938fd5a917a384a8ac3ae2873193b1cd3a0b0446acd14dcee91cc037b4f0a4555cee9cb31f97e25e76513ad4f1100eb8ef5464b9871a22d8c0f52f5038f05094655eb5336b7c1ab05e6826bc23f04d4f5ee914d2a3247d6e22be72cd203e5525ecf7a788dfcf1cf011caff57b8668e553256bc9b30abbdf77b97b28765803cbd8906e97ee531eabd8d49fee9c3ae78f5b2f28c20696557ca09654c5f1ade303fcc753912a9db2a5a0b8b3ceecc1f621e1a942c42baf17c3b4882e26a6b37ca303e163ae3ca9fe4cf2d99eedb537f5dbb9b68e9dc7fbab48c83a682d5adb518f9d031d493888c974607dbf2456f935206ef317d3fa83e175eb3c719a262b16ad5d2a031bcdfa82750fcbac4bdbaa853a2bf29593383aaff1c96b19c98453a58aa67e2003abc592271f11f7b1a4ae6c1bad45486c7115063735532507b0d255361cec2f2a03df515b9d6e1e4fe32f602169a59bd354264ad8128455f576cb86775ce31dfe4303d7934fc800f5abb969e43f4702ba707c596df15f3c4bcec2a295ca6fb0a243cc03488d761aa0cbe0a0472e042a4d29b60c162e197a6f154e09f81aad9f7101c35f0383a3092a8366a04b3b83f747c8918e0edd2435d2a0f826036f6d9d99324aaf8603d1da83539dae0099f72cd69e9667e4cb28b5b33ad2d96258c088ee114748c8c503f1ce13bef235983d4066d4f705ea80b2874c73836a2a5640546334f9e45cb96603722022519cf3f20e1b07211e22fb6f65d34ccb0429f638c58d08bf6e1ecb79ea03761f0c601bf8cb02b95116fce2f8c21e7ebd67939b4520972f91ee160b310c94034125e8dd1d536ac4c80e6e9840ac8b29d30465c2dd34ee2d704cfd82c22b51280389d4da338edf84d390cf34c69e8c36ed764423c1a15c50213f1dc1e5dc369a1d0378e94952ce1bc0afde1eea71ca51c365c3d9f1806d3edfcc535103cc32dd245703da781397a8a19b3cb849eb2429e9b3f2d9c7fd8833c19a8be1178ae937302efd037dacccfd5d2dbc236bee7cb777e959ce654c610908d338de3dd4ebaf20704ba303d51f2fca8487e57207f3a4c260bda7252a1d6a2f6f3bbe434c82ed5461867f0e03f83f96d228dc2640f82b03b8016166598a770cb24fea736b49c85ab1885e2c6403fd2d5808e1fceced0e4fcb12844cacae66ebdfe52b2977fc7d298ead33d8cb1303ace34b6bd027f526944c7ec351d854b362f59b789f9b0fea04ce8c5728a539dc030c30dd688be7da097a7931192372452de60035776d01f2ea5444c96e99ee34e103c2c344b5398d297d91632f0f15db6d8396aa44ee5f68fc14c298b091a9fb02a103c52a80712f639e5d71618d76158e26835abec7f439e4b283980fa5f1640bf3980375f97ce3e0fc8ee3c26bafbf906f35ad3f8c5aaf0338ba1b20c5c0352566116c03ae55ce69e6c98fbce62692032113356e0efe54be677f4bee7976bec37d17a7f5033b405d677c8017060b68df3c28b6c15da9e94505c3df263f6ad471fab20e4fcf0378f5167a494b7d754bed3a275e39803baed72470ded6ec1caa0582e17578acff03578c2127074f32fc131f17dc09716bd59d1a9da28e0525440b85e91a77fa5c36034aadfa8ae380e751a027d2dc84f0bfc9a1cd4f4a73b0464a95e491ac905ba1c1032f2577ad00321839febab8416cf64b0e0fdea6d5ada8c4fe105a477625fdbd3203d0745f81e49855fc6a9bd2d3e3897bcdcfb7f23fd5eac8132698624f9f8f939003e472b8b3a4cc6a574a9e899a72381da4eeede12a238fae43cc064996cd15d65c030816e1229f4b52302711d8a527bfca050711ab10235bec03520d3077d6a9908e030291527e64a07367aab20faf5c96279c7900cd4a4e32a3d4fe0c0c418ccb6d8003555d6acdcb125c7be00f942339138a2741ddd1985dfe1da2e2b006d1445b325401410c05581e03d76845474f6b8fc056f04fbf29ab738b82af3d0fda0374cb1c7b3ae980040103a730bf4ae8b8d79a8c09ab8d29b845fdd4c90f497f2b15089a8c5320d8cd7d9c030ca6da658307619963e16e7ee61a42cc711e48fce75d8b9190011addf16a3c9805581d021f15ef2ca3fce0c62b42e9d74d2a181d9cc435631edf0db21949ee9a07011bffffffffffffffff0459368b6080604052600436106102b25760003560e01c80638ae458da11610175578063b2494df3116100dc578063d7f1b27c11610095578063ea0ee5591161006f578063ea0ee55914610842578063eaf993e114610862578063f77c479114610882578063f83d08ba14610897576102b9565b8063d7f1b27c146107e2578063dd62ed3e14610802578063df5e9b2914610822576102b9565b8063b2494df314610738578063c2de0e9d1461074d578063c5d574fe1461076d578063c75640171461078d578063d0ebdbe7146107ad578063d7b96d4e146107cd576102b9565b8063a457c2d71161012e578063a457c2d71461068e578063a4e2d634146106ae578063a69df4b5146106c3578063a7bdad03146106d8578063a9059cbb146106f8578063acf3f07714610718576102b9565b80638ae458da146105d75780638f6f0332146105f757806395d89b411461061757806399d50d5d1461062c5780639dc29fac1461064e578063a06324611461066e576102b9565b806340c10f191161021957806366cb8d2f116101d257806366cb8d2f146105155780636f86c8971461053557806370a08231146105555780637d96659314610575578063802758601461059557806381b2248a146105b7576102b9565b806340c10f191461045e578063481c6a751461047e5780634e353270146104a05780635230c396146104c057806353bae5f7146104d557806363a90fc1146104f5576102b9565b806323b872dd1161026b57806323b872dd1461038f57806326898fe1146103af5780632ba57d17146103cf578063313ce567146103ef57806335bc4e5214610411578063395093511461043e576102b9565b806306fdde03146102be578063095ea7b3146102e95780630ffe0f1e1461031657806318160ddd1461032d5780631ed86f191461034f57806322ebeba41461036f576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102d36108ac565b6040516102e09190612db5565b60405180910390f35b3480156102f557600080fd5b50610309610304366004612b31565b610943565b6040516102e09190612d66565b34801561032257600080fd5b5061032b610961565b005b34801561033957600080fd5b50610342610a4b565b6040516102e09190612ddc565b34801561035b57600080fd5b5061032b61036a366004612a02565b610a51565b34801561037b57600080fd5b5061034261038a366004612a1d565b610b89565b34801561039b57600080fd5b506103096103aa366004612af1565b610ba4565b3480156103bb57600080fd5b5061032b6103ca366004612a51565b610c31565b3480156103db57600080fd5b5061032b6103ea366004612b31565b610ccc565b3480156103fb57600080fd5b50610404610d43565b6040516102e09190613548565b34801561041d57600080fd5b5061043161042c366004612a02565b610d4c565b6040516102e09190612dc8565b34801561044a57600080fd5b50610309610459366004612b31565b610d61565b34801561046a57600080fd5b5061032b610479366004612b31565b610db5565b34801561048a57600080fd5b50610493610dd3565b6040516102e09190612c47565b3480156104ac57600080fd5b5061032b6104bb366004612a02565b610de2565b3480156104cc57600080fd5b50610342610e90565b3480156104e157600080fd5b506103096104f0366004612a02565b610e96565b34801561050157600080fd5b5061032b610510366004612ab4565b610ec9565b34801561052157600080fd5b50610342610530366004612a02565b610f48565b34801561054157600080fd5b5061032b610550366004612a02565b610f56565b34801561056157600080fd5b50610342610570366004612a02565b610fae565b34801561058157600080fd5b50610309610590366004612a1d565b610fc9565b3480156105a157600080fd5b506105aa610fe4565b6040516102e09190612cc2565b3480156105c357600080fd5b506104936105d2366004612bbd565b6111a1565b3480156105e357600080fd5b506102d36105f2366004612a1d565b6111c8565b34801561060357600080fd5b506102d3610612366004612b5b565b6111d4565b34801561062357600080fd5b506102d3611281565b34801561063857600080fd5b506106416112e2565b6040516102e09190612c75565b34801561065a57600080fd5b5061032b610669366004612b31565b611343565b34801561067a57600080fd5b5061032b610689366004612a02565b61135d565b34801561069a57600080fd5b506103096106a9366004612b31565b611483565b3480156106ba57600080fd5b506103096114f1565b3480156106cf57600080fd5b5061032b6114fa565b3480156106e457600080fd5b506106416106f3366004612a02565b61156a565b34801561070457600080fd5b50610309610713366004612b31565b611575565b34801561072457600080fd5b5061032b610733366004612a1d565b611589565b34801561074457600080fd5b50610641611646565b34801561075957600080fd5b5061032b610768366004612bbd565b6116a6565b34801561077957600080fd5b50610493610788366004612bbd565b6116ff565b34801561079957600080fd5b5061032b6107a8366004612a02565b61170c565b3480156107b957600080fd5b5061032b6107c8366004612a02565b6117c6565b3480156107d957600080fd5b50610493611850565b3480156107ee57600080fd5b506103096107fd366004612a02565b61185f565b34801561080e57600080fd5b5061034261081d366004612a1d565b611868565b34801561082e57600080fd5b5061030961083d366004612a02565b611893565b34801561084e57600080fd5b5061032b61085d366004612a1d565b611902565b34801561086e57600080fd5b5061034261087d366004612a02565b6119a6565b34801561088e57600080fd5b50610493611a0d565b3480156108a357600080fd5b5061032b611a21565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109385780601f1061090d57610100808354040283529160200191610938565b820191906000526020600020905b81548152906001019060200180831161091b57829003601f168201915b505050505090505b90565b6000610957610950611a79565b8484611a7d565b5060015b92915050565b600a5460ff161561098d5760405162461bcd60e51b815260040161098490613427565b60405180910390fd5b60013360009081526009602052604090205460ff1660028111156109ad57fe5b146109ca5760405162461bcd60e51b8152600401610984906134b7565b33600081815260096020526040808220805460ff19166002179055600880546001810182559083527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b03191684179055517f27b541a16df0902e262f34789782092ab25125513b8ed73608e802951771b9289190a2565b60025490565b610a59611b31565b6001600160a01b03811660009081526009602052604081205460ff166002811115610a8057fe5b14610a9d5760405162461bcd60e51b815260040161098490612eb1565b6005546040516342f6e38960e01b81526101009091046001600160a01b0316906342f6e38990610ad1908490600401612c47565b60206040518083038186803b158015610ae957600080fd5b505afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b219190612b9d565b610b3d5760405162461bcd60e51b81526004016109849061316e565b6001600160a01b038116600081815260096020526040808220805460ff19166001179055517fead6a006345da1073a106d5f32372d2d2204f46cb0b4bca8f5ebafcbbed12b8a9190a250565b6000610b9d610b988484611b5d565b611b8c565b9392505050565b6000610bb1848484611ba3565b610c2784610bbd611a79565b610c2285604051806060016040528060288152602001613609602891396001600160a01b038a16600090815260016020526040812090610bfb611a79565b6001600160a01b03168152602081019190915260400160002054919063ffffffff611cc416565b611a7d565b5060019392505050565b610c39611cf0565b610c41611dcd565b6001600160a01b038085166000908152600c6020908152604080832093871683526002909301905220610c7890600101838361288c565b50826001600160a01b0316846001600160a01b03167fb373eedb8e9038a2dcba31f06b2735887c1a904125e5c9f0021ba41ed972318e8484604051610cbe929190612d71565b60405180910390a350505050565b610cd4611cf0565b610cdc611dcd565b6000610ce782611e02565b6001600160a01b0384166000818152600c60205260409081902083905551919250907f8133e2bf34edab764b55c59d1d41f9df637e7c22828bb6b0a9d55b429d008a9790610d36908590612ddc565b60405180910390a2505050565b60055460ff1690565b60096020526000908152604090205460ff1681565b6000610957610d6e611a79565b84610c228560016000610d7f611a79565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff611e4716565b610dbd611cf0565b610dc5611dcd565b610dcf8282611e6c565b5050565b6006546001600160a01b031681565b610dea611cf0565b610df2611dcd565b610dfb81611893565b15610e185760405162461bcd60e51b81526004016109849061313f565b600b805460018101825560009182527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319166001600160a01b03841690811790915560405190917f76da6cf8b40dd2b2c223a5956831e0ff4e75522538a86782108a0bbe1577e29891a250565b600d5481565b600060015b6001600160a01b03831660009081526009602052604090205460ff166002811115610ec257fe5b1492915050565b610ed1611cf0565b610ed9611dcd565b6000610ee482611e02565b6001600160a01b038086166000818152600c602090815260408083209489168084526002909501909152908190208490555192935090917f81a422e27f503e1b92cdb616a6e653aac10a8e0c3fa6832a58dc616c080fd7bd90610cbe908690612ddc565b600061095b610b9883611f38565b610f5e611cf0565b610f66611dcd565b610f77600b8263ffffffff611f5316565b6040516001600160a01b038216907fc605d0bf97f9b921340106a2e59f9428d5eb9039b16866159e0cdd2bf8e963df90600090a250565b6001600160a01b031660009081526020819052604090205490565b6000610b9d82610fd885612080565b9063ffffffff6120f916565b606080610fef61210f565b67ffffffffffffffff8111801561100557600080fd5b5060405190808252806020026020018201604052801561103f57816020015b61102c612906565b8152602001906001900390816110245790505b5090506000805b600b54811015611199576000600b828154811061105f57fe5b60009182526020822001546001600160a01b0316915061107e82611f38565b13156110ed576040805160a0810182526001600160a01b0383168152600060208201529081016110ad83610f48565b8152602001600060ff168152602001604051806020016040528060008152508152508484815181106110db57fe5b60209081029190910101526001909201915b60606110f882612080565b905060005b815181101561118e57600082828151811061111457fe5b602002602001015190506040518060a00160405280856001600160a01b03168152602001826001600160a01b031681526020016111518684610b89565b8152600160208201526040016111678684612194565b81525087878151811061117657fe5b602090810291909101015250600194850194016110fd565b505050600101611046565b509091505090565b600881815481106111ae57fe5b6000918252602090912001546001600160a01b0316905081565b6060610b9d8383612194565b60606111de611cf0565b6111e6611dcd565b61123183838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050506001600160a01b03881691905086612252565b905083856001600160a01b03167f2a936dbabeaea30adc1ddad138b1958497988474bef8b09a29411f0105ab8ab285858560405161127193929190612d85565b60405180910390a3949350505050565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156109385780601f1061090d57610100808354040283529160200191610938565b6060600b80548060200260200160405190810160405280929190818152602001828054801561093857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161131c575050505050905090565b61134b611cf0565b611353611dcd565b610dcf8282612280565b611365611b31565b600a5460ff16156113885760405162461bcd60e51b815260040161098490613427565b60026001600160a01b03821660009081526009602052604090205460ff1660028111156113b157fe5b146113ce5760405162461bcd60e51b81526004016109849061301f565b806001600160a01b031663847ef08d6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561140957600080fd5b505af115801561141d573d6000803e3d6000fd5b505050506001600160a01b0381166000908152600960205260409020805460ff1916905561144c600882611f53565b6040516001600160a01b038216907f0a1ee69f55c33d8467c69ca59ce2007a737a88603d75392972520bf67cb513b890600090a250565b6000610957611490611a79565b84610c228560405180606001604052806025815260200161363160259139600160006114ba611a79565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff611cc416565b600a5460ff1681565b611502611cf0565b600a5460ff166115245760405162461bcd60e51b8152600401610984906131ec565b6007546001600160a01b0316331461154e5760405162461bcd60e51b81526004016109849061327c565b600780546001600160a01b0319169055600a805460ff19169055565b606061095b82612080565b6000610957611582611a79565b8484611ba3565b611591611cf0565b611599611dcd565b6001600160a01b0382166000908152600c602052604090206115c4906001018263ffffffff611f5316565b6001600160a01b038083166000908152600c6020908152604080832093851683526002909301905290812081815590611600600183018261294a565b5050806001600160a01b0316826001600160a01b03167f5d0275f68d583838a7e2be68e3ef8ac2c1f9d4eeaa4b223360f4cd093a160d7560405160405180910390a35050565b60606008805480602002602001604051908101604052809291908181526020018280548015610938576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161131c575050505050905090565b6116ae611cf0565b6116b6611dcd565b6116bf81612362565b600d8190556040517fc4e78b3245dc105eefced18655b978e194ff858545a1080f2888dc3b6ae8df0a906116f4908390612ddc565b60405180910390a150565b600b81815481106111ae57fe5b611714611b31565b600a5460ff16156117375760405162461bcd60e51b815260040161098490613427565b60016001600160a01b03821660009081526009602052604090205460ff16600281111561176057fe5b1461177d5760405162461bcd60e51b8152600401610984906134b7565b6001600160a01b038116600081815260096020526040808220805460ff19169055517fd6b18042563148f38d728c1c4d339ffd515b632d0ad2e1833b822412f3f4d8779190a250565b6117ce611b31565b600a5460ff16156117f15760405162461bcd60e51b815260040161098490613427565b600680546001600160a01b038381166001600160a01b03198316179092556040519116907f43fcfef38622d6a5b118be09c27a6ed8cbdbfca21f0ea9245412ce8031c0423c906118449084908490612c5b565b60405180910390a15050565b6007546001600160a01b031681565b60006002610e9b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600061095b82600b8054806020026020016040519081016040528092919081815260200182805480156118ef57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116118d1575b50505050506120f990919063ffffffff16565b61190a611cf0565b611912611dcd565b61191c8282610fc9565b156119395760405162461bcd60e51b815260040161098490612e54565b6001600160a01b038281166000818152600c60209081526040808320600190810180549182018155845291832090910180546001600160a01b0319169486169485179055517ff71324fa78e1894b364a1fc8d0535c4208f28c7b380f752afe00c8ce386023fb9190a35050565b6000806119b283610f48565b905060606119bf84612080565b905060005b8151811015611a04576119fa6119ed868484815181106119e057fe5b6020026020010151610b89565b849063ffffffff61239d16565b92506001016119c4565b50909392505050565b60055461010090046001600160a01b031681565b611a29611cf0565b600a5460ff1615611a4c5760405162461bcd60e51b815260040161098490612de5565b600780546001600160a01b03191633179055600a805460ff19166001179055565b670de0b6b3a764000090565b3390565b6001600160a01b038316611aa35760405162461bcd60e51b815260040161098490613320565b6001600160a01b038216611ac95760405162461bcd60e51b815260040161098490612ee8565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590611b24908590612ddc565b60405180910390a3505050565b6006546001600160a01b03163314611b5b5760405162461bcd60e51b815260040161098490613453565b565b6001600160a01b039182166000908152600c602090815260408083209390941682526002909201909152205490565b600061095b600d54836123e390919063ffffffff16565b6001600160a01b038316611bc95760405162461bcd60e51b8152600401610984906132a4565b6001600160a01b038216611bef5760405162461bcd60e51b815260040161098490612e11565b611bfa838383612406565b611c3d816040518060600160405280602681526020016135ba602691396001600160a01b038616600090815260208190526040902054919063ffffffff611cc416565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611c72908263ffffffff611e4716565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b24908590612ddc565b60008184841115611ce85760405162461bcd60e51b81526004016109849190612db5565b505050900390565b60023360009081526009602052604090205460ff166002811115611d1057fe5b14611d2d5760405162461bcd60e51b8152600401610984906130c7565b6005546040516342f6e38960e01b81526101009091046001600160a01b0316906342f6e38990611d61903390600401612c47565b60206040518083038186803b158015611d7957600080fd5b505afa158015611d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611db19190612b9d565b611b5b5760405162461bcd60e51b8152600401610984906133e3565b600a5460ff1615611b5b576007546001600160a01b03163314611b5b5760405162461bcd60e51b81526004016109849061304d565b600080611e1a600d548461240b90919063ffffffff16565b9050600083138015611e2a575080155b1561095b5760405162461bcd60e51b815260040161098490612fe8565b600082820183811015610b9d5760405162461bcd60e51b815260040161098490612f2a565b6001600160a01b038216611e925760405162461bcd60e51b8152600401610984906134e7565b611e9e60008383612406565b600254611eb1908263ffffffff611e4716565b6002556001600160a01b038216600090815260208190526040902054611edd908263ffffffff611e4716565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f2c908590612ddc565b60405180910390a35050565b6001600160a01b03166000908152600c602052604090205490565b600080611fb984805480602002602001604051908101604052809291908181526020018280548015611fae57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611f90575b50505050508461242e565b9150915080611fda5760405162461bcd60e51b815260040161098490612e82565b83546000190182811461204c57848181548110611ff357fe5b9060005260206000200160009054906101000a90046001600160a01b031685848154811061201d57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061205657fe5b600082815260209020810160001990810180546001600160a01b0319169055019055505b50505050565b6001600160a01b0381166000908152600c60209081526040918290206001018054835181840281018401909452808452606093928301828280156120ed57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116120cf575b50505050509050919050565b600080612106848461242e565b95945050505050565b600080805b600b5481101561218e576000600b828154811061212d57fe5b60009182526020822001546001600160a01b0316915061214c82611f38565b1315612159576001909201915b606061216482612080565b80519091501561218457805161218190859063ffffffff611e4716565b93505b5050600101612114565b50905090565b6001600160a01b038281166000908152600c60209081526040808320938516835260029384018252918290206001908101805484519281161561010002600019011694909404601f8101839004830282018301909352828152606093909290918301828280156122455780601f1061221a57610100808354040283529160200191612245565b820191906000526020600020905b81548152906001019060200180831161222857829003601f168201915b5050505050905092915050565b60606122788484846040518060600160405280602981526020016135e060299139612494565b949350505050565b6001600160a01b0382166122a65760405162461bcd60e51b81526004016109849061323b565b6122b282600083612406565b6122f581604051806060016040528060228152602001613598602291396001600160a01b038516600090815260208190526040902054919063ffffffff611cc416565b6001600160a01b038316600090815260208190526040902055600254612321908263ffffffff61255516565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611f2c908590612ddc565b600061236c612597565b90506000612380828463ffffffff6123e316565b13610dcf5760405162461bcd60e51b8152600401610984906132e9565b60008282018183128015906123b25750838112155b806123c757506000831280156123c757508381125b610b9d5760405162461bcd60e51b815260040161098490612f61565b6000610b9d6123f8848463ffffffff61268116565b670de0b6b3a76400006126ec565b505050565b6000610b9d61242884670de0b6b3a764000063ffffffff61268116565b836126ec565b81516000908190815b8181101561248157846001600160a01b031686828151811061245557fe5b60200260200101516001600160a01b031614156124795792506001915061248d9050565b600101612437565b50600019600092509250505b9250929050565b6060824710156124b65760405162461bcd60e51b815260040161098490612fa2565b6124bf8561277a565b6124db5760405162461bcd60e51b815260040161098490613364565b60006060866001600160a01b031685876040516124f89190612c2b565b60006040518083038185875af1925050503d8060008114612535576040519150601f19603f3d011682016040523d82523d6000602084013e61253a565b606091505b509150915061254a828286612780565b979650505050505050565b6000610b9d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cc4565b6000600019815b600b54811015612671576000600b82815481106125b757fe5b60009182526020822001546001600160a01b031691506125de6125d983611f38565b6127b9565b90506000811180156125ef57508381105b156125f8578093505b606061260383612080565b905060005b815181101561266157600082828151811061261f57fe5b60200260200101519050600061263d6126388784611b5d565b6127df565b905060008111801561264e57508781105b15612657578097505b5050600101612608565b50506001909201915061259e9050565b5061267b81612803565b91505090565b6000826126905750600061095b565b826000191480156126a45750600160ff1b82145b156126c15760405162461bcd60e51b8152600401610984906131a5565b828202828482816126ce57fe5b0514610b9d5760405162461bcd60e51b8152600401610984906131a5565b60008161270b5760405162461bcd60e51b81526004016109849061351e565b600160ff1b8314158061272057508160001914155b61273c5760405162461bcd60e51b815260040161098490613214565b600061274e848463ffffffff61282816565b9050600083851812801561276a575082848161276657fe5b0715155b15610b9d57600019019392505050565b3b151590565b6060831561278f575081610b9d565b82511561279f5782518084602001fd5b8160405162461bcd60e51b81526004016109849190612db5565b6000808212156127db5760405162461bcd60e51b815260040161098490613092565b5090565b6000808212156127fa576127f5826000036127b9565b61095b565b61095b826127b9565b6000600160ff1b82106127db5760405162461bcd60e51b81526004016109849061339b565b6000816128475760405162461bcd60e51b815260040161098490613482565b8160001914801561285b5750600160ff1b83145b156128785760405162461bcd60e51b8152600401610984906130fe565b600082848161288357fe5b05949350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106128cd5782800160ff198235161785556128fa565b828001600101855582156128fa579182015b828111156128fa5782358255916020019190600101906128df565b506127db929150612991565b6040518060a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600060ff168152602001606081525090565b50805460018160011615610100020316600290046000825580601f10612970575061298e565b601f01602090049060005260206000209081019061298e9190612991565b50565b61094091905b808211156127db5760008155600101612997565b80356001600160a01b038116811461095b57600080fd5b60008083601f8401126129d3578182fd5b50813567ffffffffffffffff8111156129ea578182fd5b60208301915083602082850101111561248d57600080fd5b600060208284031215612a13578081fd5b610b9d83836129ab565b60008060408385031215612a2f578081fd5b612a3984846129ab565b9150612a4884602085016129ab565b90509250929050565b60008060008060608587031215612a66578182fd5b8435612a7181613582565b93506020850135612a8181613582565b9250604085013567ffffffffffffffff811115612a9c578283fd5b612aa8878288016129c2565b95989497509550505050565b600080600060608486031215612ac8578283fd5b612ad285856129ab565b9250612ae185602086016129ab565b9150604084013590509250925092565b600080600060608486031215612b05578283fd5b8335612b1081613582565b92506020840135612b2081613582565b929592945050506040919091013590565b60008060408385031215612b43578182fd5b612b4d84846129ab565b946020939093013593505050565b60008060008060608587031215612b70578384fd5b8435612b7b81613582565b935060208501359250604085013567ffffffffffffffff811115612a9c578283fd5b600060208284031215612bae578081fd5b81518015158114610b9d578182fd5b600060208284031215612bce578081fd5b5035919050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008151808452612c17816020860160208601613556565b601f01601f19169290920160200192915050565b60008251612c3d818460208701613556565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6020808252825182820181905260009190848201906040850190845b81811015612cb65783516001600160a01b031683529284019291840191600101612c91565b50909695505050505050565b60208082528251828201819052600091906040908185019080840286018301878501865b83811015612d5857888303603f19018552815180516001600160a01b039081168552888201511688850152868101518785015260608082015160ff169085015260808082015160a08287018190529190612d4283880182612bff565b988b019896505050928801925050600101612ce6565b509098975050505050505050565b901515815260200190565b600060208252612278602083018486612bd5565b600060408252612d99604083018587612bd5565b8281036020840152612dab8185612bff565b9695505050505050565b600060208252610b9d6020830184612bff565b6020810160038310612dd657fe5b91905290565b90815260200190565b602080825260129082015271135d5cdd081b9bdd081899481b1bd8dad95960721b604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b602080825260149082015273135bd91d5b1948185b1c9958591e48185919195960621b604082015260600190565b60208082526015908201527420b2323932b9b9903737ba1034b71030b93930bc9760591b604082015260600190565b60208082526018908201527f4d6f64756c65206d757374206e6f742062652061646465640000000000000000604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b6020808252601f908201527f5669727475616c20756e697420636f6e76657273696f6e20696e76616c696400604082015260600190565b602080825260149082015273135bd91d5b19481b5d5cdd08189948185919195960621b604082015260600190565b60208082526025908201527f5768656e206c6f636b65642c206f6e6c7920746865206c6f636b65722063616e6040820152640818d85b1b60da1b606082015260800190565b6020808252818101527f53616665436173743a2076616c7565206d75737420626520706f736974697665604082015260600190565b60208082526018908201527f4f6e6c7920746865206d6f64756c652063616e2063616c6c0000000000000000604082015260600190565b60208082526021908201527f5369676e6564536166654d6174683a206469766973696f6e206f766572666c6f6040820152607760f81b606082015260800190565b602080825260159082015274135d5cdd081b9bdd0818994818dbdb5c1bdb995b9d605a1b604082015260600190565b6020808252601d908201527f4d75737420626520656e61626c6564206f6e20436f6e74726f6c6c6572000000604082015260600190565b60208082526027908201527f5369676e6564536166654d6174683a206d756c7469706c69636174696f6e206f604082015266766572666c6f7760c81b606082015260800190565b6020808252600e908201526d135d5cdd081899481b1bd8dad95960921b604082015260600190565b6020808252600d908201526c125b9d985b1a59081a5b9c1d5d609a1b604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252600e908201526d26bab9ba103132903637b1b5b2b960911b604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526018908201527f4e6577206d756c7469706c69657220746f6f20736d616c6c0000000000000000604082015260600190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526028908201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604082015267371034b73a191a9b60c11b606082015260800190565b60208082526024908201527f4d6f64756c65206d75737420626520656e61626c6564206f6e20636f6e74726f604082015263363632b960e11b606082015260800190565b60208082526012908201527113db9b1e481dda195b881d5b9b1bd8dad95960721b604082015260600190565b60208082526015908201527413db9b1e481b585b9859d95c8818d85b8818d85b1b605a1b604082015260600190565b6020808252818101527f5369676e6564536166654d6174683a206469766973696f6e206279207a65726f604082015260600190565b6020808252601690820152754d6f64756c65206d7573742062652070656e64696e6760501b604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b60208082526010908201526f043616e742064697669646520627920360841b604082015260600190565b60ff91909116815260200190565b60005b83811015613571578181015183820152602001613559565b8381111561207a5750506000910152565b6001600160a01b038116811461298e57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365416464726573733a206c6f772d6c6576656c2063616c6c20776974682076616c7565206661696c656445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220cf4af89f7cfa78e2d4384cff55d4548a6062d655f5be8606d039069af7c903b464736f6c634300060a00330360ea7920ce62b933839c983cff4359cea9f4d40ba7645cca39cc1e5402a537a203aece605703a42cc3191903ca44e8d93c7f0cfe9c38a11b43d20d98fe19d079eb03817af525e983bab0f89ac3adc040c7ea5ba5406dc11cd9f0e6807ee0092f096e03b248b0aa218ce9437d5527aeea2acbcf30e1ce54e9d04934d6f5fc98b9b1589e03597fb92a13c5f9cee69de79819459616163aa87f6a7bab7063bbdc69318c7c04038ef6e594201de8a497fa51cbcd415ff8e6a9da00c7f141d3a86fef301ba8e3fd0345ebdbdf1e995f0b24c19d2306d067636e61ff25afbb6a66172546a401c94a9803d06d15fc48545f2e9495d2e67b15efa8e82e1da82d89f7197f137430810f71a403c7fa824c400e5c511ca9e354f208c685994b6bca2b71c683b03f16fd9aca489f0367f3a50dd1540fd0566e4b9971db42f2d7feef95f7258fec97021c25d213338a03dd6eab68699901082a8ea8d0b1b0019eb89f5808cb23b2ffdce917b5f178dbd00327b174f3d457b9574eaf956fb6894cf6c171c28f9fbaa1d89974abf48faac22703c002a2a7fa946bc4c8d85e660d58eeeffba1a0a2d037b69610368dcfd25febc70319b0306bfe9f803e5a76984fbd3b1dcd65c82acc4eb92f256ee22bd1b5f5de0a00581f02349d274bc7188a5b46e6473ac73cdd8e84278fa55a42020e3650f9fe227f5820fffffffffffffffffffffffffffffffffffffffffffffffe57ffdfa9f6bbfd5000581f02cd4e641d5dc097d27f28b9a0e23a3fe5458682d748afe201584dc073c0a04a014dc15ac70ec6dcdf7f021980100330ca4f85d273fa056f2cbf7cc6f6813650cb8dcba9f80af2a7a93426c61821ec03ef14b2051cb18ad4412cd8975c3e937db64da530a77bf912dbf8e64b07fdc90303e6e1a02945964757a0d562478a0e60a225887f43ae2528255bd178815091a61c00582003ba55c60a0fa4a9fd899dfd4a673d0f9719dac10148afcd5f228ba8ec2d00f04904b8e090c224f16bf703e78b24aca702ba454c9c71a1e6e489a5de4f094887155d3d420125d989a511fd0058200320a8568100753c638523b4721eecd2bc1d49f730adc499e0d7e229c39d5e8049068dc0f6ab76b78e5f038a6a96e2dabaeea96c1d6e50ed429ee22ce2ccc25dbc378f2d3985ee41d9340403532addfb77fb955fb1ca1654ce5f5accefcbaea4a1d5091a9a03a59ee6087d7703ebb91cbd0b3bee7763bf408c2a5e1d1a2d841aafb91e9f90e1312faf2e8d8c88032ed05a017af5c7a17d46022baaf89126037c7a79b212cf638f2c9f6c9e4727c403bf3c18f8c4a1b70103e40fdc3db3fafa127ae0fec7ea38c6d6fda73c92c3e25503503644cc1f69c199037d536d499e33130227e32e9a41282b198228752c9ffe200219ffff0348d264aa096932ffa17497680ec9a0c9fddf5716342ac396bf3ec401dee0adab035f9d2c753b1ece54eaa908171fd993c47277de099863a9f8bb3c729d9ea4681a03fef9e54243ca5f8290d4b6dbe2693bb3cbea9b9df6c24949093e9af33465e4fd03434620618ba07b50f13d8ac61f7718fc4fbf8818ec6881fa8df7ce5b37da6c0d0384e05cc761bf45572ef246a8247ae2d25b27d6e6d27c7e9be97ec9c10e58a89b03fec86154980cc510ad9cb54d257e626983170480f87e7c25c8a824810a55518b034419463465364aa8325f43091944a5715e3bc28a106b44344d4e55119bd62e50032692185f5f8daf24ad9c448a9099bacbd2f3165bf603930ad58c7c4f7b0de58f0219ffff03d34e72b777f28187e287baccd83f73ae9d59bbd26c48f55bec11610c8bc18e3d034097c3505614db42ae89105c5334fb1b065486d8fffcda15955883bd75ff309403e8c29bab046dcf256bb8cb9b6284d387af9dbe6852c78200ece60bd24d4e0b1803ef66232d0f25c47317093eea84c87a75199053f00c6b187fb21365c8f3aa56eb037c6fe2336d56eb64b66ea00824910b85afc78d2cfcaa584da6b28eedf2201f7603b1d51ff745f99c3756b975dc58c27f8d50909be76a9f7e2ac3e32fffff00d39e03b35364f5359252179be91915679b254b9eda1c2d77a1eae414cac7b9c2688345038525f23898b028d8d93ef19d0d78c2eaf32b9525ab25b8049b2722720322152e03f3d86a1e65fff6f637afd02b70b895fd785e0a5bdd3870e1c8b5acf2f7488c700396f90e2844902be3c8b104db58b12dbc6d79b43289c1c75405b33202fbad0d9103f22e70d0927b05d0794334cba00174b6f9030e9ded5d97d1af99255ad21668560336ff865d837cfa5031191bf3633a8b804528311d95af99b967a729729f19fd29038bfb3a29daadd8149f00bcc25c151feb990005f5ae9c41ba76d527255cd8762900582003fa2e1ef7ed4891f7eaf3d99f5ba2d0d270aabd29fcfb9f427469b271f0000041010350ad7a1e103c77c97c3786c8842d58642577cd3105ad215f2fd65ae59e58404a03da884bffa16ef65efc0a542b7346b972b7233f038fbab1e60c9f4d31be985c9e03cc6e71d42b4406ffed6dd22263f27d7721e3ab0a56a91a4926936d90f63962b8032390cae870eda904e39d7c47e01863e25526b66a200ecb6965a154d18194a97203000df4cc52516e3fe0da6292e3945c34a44dbd6a7aef46f11f2719e80fe4f52403e98a78aacfbdc9c25ca5a34b6a50557e4d21fa11f5d14a0e176cc3106830d1b5035f77b7bc095b0487d263589244245a90d5e2a7ed9ecb6852a3ae5acc3ea4c43900582003c7e3794394556e25f5ecf13c05e2fd775bda6b1ac4dd572cbf4311e9d1a4905820fffffffffffffffffffffffffffffffffffffffffffffec6c1075c727b5a516b005820032078711ce01294252b003085eaa0c49afbe6047cca8f1b43f722dab2816c405820fffffffffffffffffffffffffffffffffffffffffffffffe865e8a159b6b9de300581f02eb2c36525a13106cf4035bb6535fea7075d37229dc58c70eb0fbfb83691a5820ffffffffffffffffffffffffffffffffffffffffffffffff26540946cfdb900300581f02e3a84ee4fdc3406cd7a4a31a029ed9ebb7e007228c1a7c10837417923945410100581f028e8ba439adda901ef6c44a001d3dd47301d440e3c8617d025132c678aa9b5820ffffffffffffffffffffffffffffffffffffffffffffffff93a7cc40c3283e3700581f024a8d5c341123cd4ee949dddcb8326974b5d6608244275a63d245c6c267c44618cf323777f40219142803fdc756f7ff0d6e35848fd8e7743150d34e54c8ba511691c9bfda3192237a3fcc03ac2b17e0b2cf0117223684152f239f13b4dd6b3655b2be49db3c2ee9cda03591014200c000582003286855214df8487cfbde892a2d08ce7d0079c7f30c33edc06e2ef7ac3584004954867eca8054b4c8490375829d49c1e3abb17ce1db004b280341685a1602d952d087aea0113d74249a82033b06f0ea641d79d71ebf35c2c325c980044bd5df9aa4b16678aa3289565db0290219ffff034519ab64346f260f31d9de1f04248005442a8bf487763c6af7b3bb941ee57a9603f307c5fd7664ceb397c9ce3943f8e3766ed250b9cfa4dca7c58011e2810cd95c03562414525af04a71e21ad734b9ff47c81a515fbfb2c513917a23494949be50830314a922fbbbc24948c5f28901ed5610a3aa9c8d1b285c564fa4429c1e7bb4b06c036e0f2112a5d75e0963f403b1b561e586740505049e6bca6832028efe11a3a7d30324ee5216e994d7278246247d2140a3a38cb83c27d7908e62a7ca37df0433f2c103c9e2c77bf1158d77fbd2f25d994af57934ecec6850c715f9f41853f46002f2e30219ffff0374b1edb35e17096fc083ddd2a98ff7e996118203b52495c00d7d156c22ed95e8030c9e45be9d8d8f100c01d2ea7e833d4047e90701e08c9f684a1a0e25cecbc9fa03b478375a808daf3ee32b07bf58819bdf924f4df7fcc23ac9653b66edab65b84403566e369f5089642a229892c21f813d3d493a22e7cb37093be36608ae679063fa03612465375a6cdd9a587b08ab4c0c1f7e59d139cbdbd21183cf7434b2bf98e4110380e74b90e67785fe9650cd60c807c53dfe29d02c2aed8e98f8acbd8653ecad0603b8a97ee5c773b0f588bcf0a47e83aad620e34952220680bd6d9e7eff29b5e5fc03c2dc088d21c4069684fc081c0a41b4bd695c2def482ebe5975462f745e8a36e903e97446caf037d2c9e137c062ec8f8945fe04693b206e7325d091185494072d330058200356ea8e9f7a6717567746691d538d897879b771bc4647c73a5a69da6d7349205820fffffffffffffffffffffffffffffffffffffffffffffffee7a8b2fcbfe4ed61036c5628dbb4553305f4bd47efd16c2d85ec0a1e09a63426fbdd1f2ba438759b84033646458c1352d8f5c9890c44102f7bf14eab3457581c50bea8b6c7d354d5232303e67163cfc4f7e53889c4dfa56fae5011a9b668db7d8454084db63420120bb49403b35bf65a50a0c6433a39c4545bd447a175f048cccdf42dfa820071fdf6fef776030d1ce395e015320b7b65a221a135bd96911a5d9a620949ba6590734db74fc3a3033db1cdd3603dd119534c5ca54cc0b563fd84c718c1b4e39a611d4bc58814e9bf03f8dcbd8742d4d43a64ab217499f57b41af1207eea88e56145094a38be1717c8f03ea6e75d3a2c9b48ecc340655734f52a2ed2d0118eb509f166e9c9567f6f97baf03c28d9290573080823105496400298c97e4f1fabb8890779454a913a6cacdedd50304f75971cefaef4023706e4e3c5753c7b34dddc9668a54573808cf0b332af271033d0113019c09bb2f7ad4631dfb8bff0608aac950662b264362d5dbe343dc66bc00582003dd1436ec7d1cd778844d164a21673feae58d0d2ae85340c9b7f68d1bdcc6405820fffffffffffffffffffffffffffffffffffffffffffffffcbe22ed38dfec95440389e216c0828cea6cfda62f518f071ae5f64cdf88f6f9af6571f40db499b94ccb00581f0203cb857c1f88da526238466fcd27659c0601137a2dcb35570ff9288a640f4916bbaf49d9387d1c5400581f02f6d14e8ca06f41679c222b0c291899103ed465ccb47b0fd7d57fe255c3d75820fffffffffffffffffffffffffffffffffffffffffffffffeec3768c48e7bdfaf00581f020e7aa3f550a98e7441986decbba54de0aa16494c47aa0f7786441fbc6f9f5820fe0000000000000000000000000000000000000000000000000000000000000000581f028dbab647369f9731d1ca69aae8a3bdf7ecfe0c247c511dc126569abc6b54484563918244f4000000581f026f50c206ade3be1f6529893678df62d52a20139bc3a789c915374b9c5d2d4a13d746145432c04ad2ef00581f02a54a7ac95148ed8c3c25dbc293c8c1746dfff10acff06f73457717cfb6894814d1120d7b1600000219248d0219ffff03329fd1f4096da071fa63dcb910af71f117af4926fcbe504f4269c8e93b919415031ee90fed9afb36d522978b12dedb0d248da22e721b3f6eb3776ef4234179618f0340b074212ce7e4f6fae4709120f07d0f374bfdce880b43a4f3d7021a549c392e03099b0062d64f901d1b18b502decfb5c9d164fb2621b672fcc6097454a5d780ed03c218b51ccdcf91dc4f95d93a4f79888b3405137c10ea2b685c5cf5dcd334bc70034d707da5efac27c85ed701329d3995ae8d0562327991f75242955e4418fb8ad903779459992fb9bbc066a61ef0a184ad74418a686bb3bf9bf6aff6ba40b595ceba03266ee2f5e65a039fb4a63e3c86257bc112325fd07ebc44f6a9aca25fbd7c07a40312868640842f9d6dadb4f2e49286f56ad6ed6875fb34ff115110344e33d9d1fd0219ffff03c05fa755f2f77c8c5ddcda898ca4784ad7a2dd153acfa494c34c5ccbed7ea4f703e0efb3d5e7913914866b51f5b01656b0ce2b98d5dbe867965247bc9f90cc4ec90219ffff05581d022c8dab52f8f90c271f05bb67675f083fccc293e7a326c3c7afe62bcb0f014805802fe7d705400019368b0219104003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03aba08c489b5ad474c07ebfbe33410ca24439571cfeb3b95724d068960007011bffffffffffffffff05581e03aa752171b2ca99214fbe9c912258dd07e87b2f30c6257a4da69f8770300403031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e036b0d8253248b15b7a1b12d54f229ee511bcc40b69efc84bf2a16f98ef007011bffffffffffffffff05581e03b60175c43cee12b1004866aa086665d2bec547880437a2759549373f1004010219721a03898e78dad11e17be644381cea0ae7c1d3ad38bfdcc74cd49b46b1fc3b7bb07d10395b59808672fb1353e7f403586324cbca6be75dc3cd93abfe452d0a035f3d538032603d571b139ebd7f01e0066d7dac164a7b8a09c28c1f402f5518b0cc89c8e2d0364805af60650dda41b0b200bfbef51742bbc77da888430fa31b2c8eac68cb918034ceb69ddd1d6fde23d3ac5f6220b87db6d963401eb92df331cc7623fb826c49f03ef053ddb10e6df20e063f1532925f59c38420f435751cff49a6bc16dd32d272003ef5d5dae4ffabe5c846caa0ea177bc513bf30e99bc699dfbffa85ca594edb6790319abfe24aaad4d0fd73cb4f2a5612929c99bd833d65011de189b58c246a9435e03d863a0bcc9387464de132fbbfe12dfde51fee7b3dfc882b0787a6c43ab03276403e81d046085fc47a090b8673c5f77c9ac62232c516f32b895c7bcb203b9faf7b403041dbab8b88d792a0779752b2c1c39a4cbae55bb10fa7f3665781046f1d571fc03ad2468e65640bc4b71a67a8ac043c87860db7e8f200743a19d068d17924ecb430219ffff032f0ee4de7848e944f0b98ccb217fc157f94c5c98ec150f94fb486b6cce04acb503613125e1c61b163fee0d4103f0c8fdd759477be7b8388a30dae3051c79e9ba22032dd258d203531b3bf255270e63356a6c0342895fcbf15a3ff2626e766d96c4550219ffff0386206746b858df0669069442a67ec91f51920cbb483fd8b15bdec382b1a6be860344e6baf813a08fbec1e3dcaaae945379191d13ddeebbccab80560fde94f414650219ffff03d871fc79b151f46dfdbf8c5ab616a8a12274a83dece9f0b88a0563704a387c9703a017311497679948fc2437cde943a41222b0fe06513389f23c8ac362f38baf1a0219ffff030ac22c7b7cce2b8f9fb02f07630853936ed508daed05fe8737d7bbc6aa9e794c03795bf94ba2792add431fa06bfc3c8b7c99f80b32d4bcf808eef9262cb346cb600304a2ecf1a99c3b598c080d4be1bb342a8c9412c8dbe4aa2df63183bcf79d51800219ffff031650191497a8b409c8c7fe01e4591cf485a4b313fd33d3401bcf56a39f97696b03a468d17fd6092b4efdf1790bad8fd877b2bed09d91f570cab5220f1fcd39a2f50306a86098c43e0e3fbdb92cd47459b5dd34c59a089388811190a92a56c6ad97b30305e427e36bc77e9a276c4f8457751fc33b9e022252c1013cda99cd21bc274da7036786e1993791baf9226c4052a8fb37ad27c37ff2bb4f2307f951c328d19904c2039073ee1e985d60302901229de3bcf3bcf578e7e18b7edb00b33d2480191efc890314a13eddeab38bd7df7e4599950ca4255216e9a03d2c09d8c2f3770525af95280362faa5a52289db1f4cfba0b9cc3bdc98edf1203d8507083f4d2b3a58f1d134770339f1c67b059e353d696ac82e7a02bd0a094a3294b41d266d97af01a803f8c1910384082ca5af310f354f23a486be5cbc122c519b8fe4334028720f62154b985ffb033780ea8ec72c0e6c467b4b4262a2a932a05518757d071926fff5d87b29d53a1d0362d0d30c6723438533d8567be7513fe9aa667eb8abaeafc61232486aaa0925a003cbdb3dc65513c802e090a4fbb39e5b323209f6c25d2a27bce5fd481660d1dd0503e8ec37f620834a0c637fa712aa273637f57d53f99dfb6e8f6938f1da3dd381ef030feb1f1078ac4c1f3baa14913b4216ea6fef46388602ffac84cc780c41a35e4c03033cb3e76606fbf8ff953f7594690d3a0331eda7aaadf9e642042df2ecf278ef03f127650e78abd68d95788ae8d7b6d6805e30c5d89d2f3bef3f7b074e18000e9403a95c321fe995d210668461fd4a18e4f471d3d500b370c898bc8587c10e2f6388035131269b9c77b2071c4853d77ce8603ad337693a24a17bc7f0a33932883dd107032b4ddec0b73159580dd4d4706594ed481e9abfee57c4c237f9936f8a40d199f703a1bbe3db57d1bc1b7e873c35ee267c63054f860226377813215564e8ab1cc09103f3ce2fdcd9f13fa517de9dd704a66a02ded5f91f155ea099c40821f4abbf54760351b83ce2933440635dcfdb4808b0b5884e1b6de629b5e4150fb624b771d3ebf40359cd7a40e337cdde43d6b25a43706a33019db9730f6858234b2317727ff067100365d5135d92bff813c2e85bea832701c859f711557a021548a4197ad8cff1398f036d2eec0d268a3dae8cc81b4461ce5d867271d0909ec73fa6d6a8e83a36b53aea036f0581fd2e16dc5b66f066d70690c895eb9871b512a3adc84b24e74db9f7863e0371968765226d34981a4fde2fbfbf3e10669aaf8cf15ca49b9df93e54129739080366b29765d4793c92d469b520ae3809acef4f14b76eec1d9cdf2140a42dab428b05581e03b1ca458d01246eea6fbe769c335cb7ab3f938c5a8726fc54777b261330040205581e033d616945a7d42cfd2e5310f685d39212557c18ee821c96579e5020555004188d05581e0352507f09d93289f2000854ca21ec6d108c413ec69d69e55501c7272540040105581d0265a919c155a4eee6caa20efae6287f002fb003186271ffb1ad95f7c60c02470b7c2e85dcd80005581d02ca4549cdbff3ad31d60800a5e862e8ef6deb21f722a281579428568f0c1a000a961d489d98cc653885ce0905581d0252594122e76166b01cc01f13d41fb1c926568c2f2a14b8ef66fdc0de0c0c47026c8613727150021903800352fc2d0cdc5601d1f944529012aa66566856c5b49b1600c7b40dc84ebe04a38d03b94106c7f2b6483fd61c1a29dcf684bb89827596178cbe8bacf65fa13b7e02140219879803e1c15b457c4e685ba81d745e72451ecf4e083b3f37fada38b5a143336763da6003302374dcc17553bbdd76e46e72cf5d943c9a36aed332a94c20cfd060d15f8bce031d8282a04508b70abd8003c0ee0d0ccd0f740a9dbc743000bdb4c25f20afe76003c5f7ba145fb83f3ba2cc939c780506dbb1086883fe5c4079306b2109bb0c3d60034ffb0f0ec57ef20be8e62668abb6228c41e87695ef06dcb62bb82776f9c9b8e3039228bb9a0e66b2462d2f3df607e607ea6310ad4765c1a8ac4631af32391efed103e28bb3118baa2978d1ed9b188b54dd80406a8cd46ca427e1d6dc34dedf0c80080219ffff03771d8db16d382d38ef617e8bb782406b1fb13a50bc9febe21e166c5dd29a81c703b77c3400efac675ecdcb59e8178b6854dbb5e9c31b46bbe0e467a0aca54a4a2e030e384599b2ac0292cc22fae825a3d5abcc0f6faff8410d3754ead4993c17973903d2f1288a415c951a8d746bb159a68ad49a4066f4279be61983e2f0539f6d24f303a6f5c5fdfab3ff8722d226912d7c35eca8bae179c3cb6dbd2aa9c1ecd2ddcfdc03865149feefc897cf04771e800c7fb4665bd1cd4fe203686889b2604711f8eb2f0389c452df893aefd649e9d4196439ea08129b9905659943c0c60fc18dad94c2bc035a466b549122fc384c6e7191ae783ca4c9f0b4913cc73d3c9ffb3f689f1f0af303dae896e4927a7ad953cb2c4dbf9b573da71f7c4038ef71302fe280ca1b7354430363693490b2d2d231fda356997cbc728e794e4b8c8767d6e23d54cf17f8b861fa0219ffff03d1b42740a4ca6170c9ba5b6c80267ea519c2f398e0b3071e256212270c76e9d40309ae2f8f1724a042ae130555b06ac7873309397ef80fa07d50404fb86b4e49ac0219ffff03e19200f860799073d841dc262d18b6867a70147a377dc6f4c858882fe915d070035637bc54419e6beb7fe3e91086822c4ee1a1984ec724ba003c2fcd92b132a4920350946476b382df6bebd3ee8bb188b2a161a651f06a7a25b5f5c58128b688ecc103308fe2baa64a823ee555712f6d2f4a2e95f1502f1473659209749ae54f637f0e03b6320bcae493696b76e43172f30f3da2da647a53564bbd66871221cad0d0822b03e65ba1802ffff3227e6ed356c9ae478e1de66d20a8d4ce2d8b030a43e5e49b6d031589a93abaa8a24afc80890cf1698e85850fb2acb4b9b2edd8ae5cb189e584aa034f1d8f35b6750a99e6551b4b2afac052924b9f7302fd7d1f4cbb94369c54087303738002a4e001da2183af4778cfd5d80ed5b0dd4116a276824108e0c9d2566f8d03ce331695f7b71fdb63c75f437111eb811d416425044ef936bbb67c2e1513351703d6987fa412d7b5a2c42b1fb0ac04ce5f318b4e9b94af84a20983f97be7c100be034dc6318143d95df384490475d5f685dcdcacb611c977608633384f1cfa7ab1380329232b7985102061ed0a668cdd2cd36d3853f27c17ddd1fd933b7c23c3f87fce0219ffff0354fd639d867589582ddfab7c86c3ff531dfded260dd3d415f7d9f00485a7f7380307c230ba4e2cab7a05b25cc51eb3d33e5760d0da4dc0e8997cc385f1ab5cd0aa03e14cfbcd7b5f1934c5ac07ea5fb182981b1123461ce7819a16fe73e43d90785c03559cf2ca572db8e189a045baf7e8ac291acbb4791a25ea44c8ba728dbe14e042036ae5fedd41c7339d532280816468c4719b4b84cf5f17d2afc642919e96f0d6b103e955618dc0bb756d8c6652599972db422e4eafccb6327ec3ee959ad6c42d4a0b03a0e17dcda347c4ca3ca50b67306df84f097207ca3ac80636e37e8b06bae6afa3037b3c6eab1337187dc2bf4a37ed2371f787003bb33f630221ace92ad7bf6039b20323ca34b42d86bdb89683152acc69a4c9021c428359cf0a933e91d279d7c6819c03f21a3690f370c848513e4423f67d9551d86562dd18cb75d76eb6cc19d44bc67f032697161076dccdb5bb807daad1c4c2e65781002cf718fd32572e0d0ba353915b0326fe00b928c372b6f8c6d826149f09a4aaa97884c1b426e351f9542475de85b40337d5be143d3b11bc857c8b21f3a8241f04b2ff4d19b629899e2b08163c94892303a2bc49e02fdf2ea64de424a5825421cd93ca0f3c63814745ff6ceab7014caff90312e8764a1cea4bddcdde6f6eac6512cbedb9286c41339e28c1650be164de273f0325f9e620b76a6eb7eedcdc0a061ca60bcde101148ba0cf04241c27bd29f66708033ee075a411eae29a56eff8c7c77a6e6a34e41cc3760a30a44bf8ff34251bdbce038b6924e116b176ee9fe8978e10614a63458ba9f81a60582bb2b3c49c7f1cd20a03e5822aa6ba6ca5b14e505a2b58cdc8943197838faa1fdb526755f45870244182038ee495a8519790aed8b58d90f7b0cd0033ce5a6fbf862076afcb1edc23828731033254dea2db34e2cd37ddfb19b7e66ab81a329c1fe94f3ec2ce18354cebcf885703a99ed0ec8142969be41841e6d0409009562a492a52c8d134e791ad623b06456c037bc7bc83dfbf967f09157306507f44775e29d7a711a4d79b64d87d87b1c4f31e03c44e74d57101475667afe2997499e71b521e22cae34b4595bb7180a90fd8eeb4031adf17b5e0d1ed1f4f09408ac7ee25ac7b89ff3e85c4b9293f943207d2d87059034996fb772acc5279ff91ced11bf308fa12a9777c84fa6c09292b04b1d1a5872e03e853ff9f5dda0e9a9c42117c61530a1bdeffef2ef32eaeb071588072eec83402035dce5e3ef39dbc83cb2079f098100a7018c8d1b1b6067d983edce4d331326b530359fe458f8dbc67f5c68b43badb67d0174ac2b9f286d11906c61506617fc6652903d82b805143693d8d0bd0c068d123152e20ef3147789afb74c8a740f385a6eeaf03f130c410a608922d0b516569c279aa5e4f1675ff4ee9e9701068be76a7144df403bbac346e06b07d560b86b40af45fd01aaea3081e8b5f1ab3d3427f321eaf976e03cb98d9270f284630e965774620e0cd58169f8fbd1334bf09f516c1b1b15efdc003685c3bebf67758c1368aa1d3e5698814ee842eddfb1326c8a8862af4e695ff9f030d07b583b4f1a28444d0d5645eedd17e3c62e9a0993f5b5ce1d8edf3c5563b3d033dcf31cc2f00f81cdbe8086e7a74badff58ebc1f190b3467ef9db96697ac9977036cdf1af1bc927549c2def3e877c510d38687b1f672219d47137d64425c6b037503f68cf71d3952d3b1b82360797e16dbf479d39843d8c8fdabf8b5f65f891505c605581e03b2758878c2c36786d8487c37df8e9a27b11118c4e2fd76181cd4e648f00c03464315072a35c805581e03e7618f47a37803fd7f7e2b610c14ee757ee031b936d1f786bf523885e00c01470643706cbd300005581e03b2849ef417d0962c9e837433d17e174ab6f3a5ddbdd107a60f9af4e2a0040203bcf2e69616dfb6dd55d8fcc3a1195f986c99ab606a7f455c1a96fc05ac992d9903d6fe2da97a0df942a65306743ed8e8e53a6360e23194e2510dee03a983d0a1c603f251e2396575a420bbc3c92454aaaa80408ace11a4e1f25a907d3d954a2e97c301410305581e03345302bcaedd0839e22b5d09d3e7577662b0c24e06a11d1837acd01230040103cb14cd5329e35ccbaedb8234f208b713968485497b3f95490e1c59d86c0203ab05581e03d4d377e6932bb19975bd84c39303eb5efdeeb681f70cbc6cb4916ec480040a05581e034f5e278d32b0c694fce17c7080ab33451d85db74cad7ea4e0a29eaed600c18d54902413032c3c53958f805581e03f98f04a75a099653f017e5f0007aef28962073bdcd9dbb2fc1c3d8fb800403021979e703f0a2d2929cb2b23688087875667533715a4d68329289e44136a5badcca5a613b03909f3d1032da5d9e28a25d8c41fa301b0ba133271cccf57be936f24d6b513a6803949cdd1c87ced27b3a3683a2b241b88acd0faec0f3bfee27146615cc9b18d25303660fdc33311b31df8311594411d70dd79d9579c8ed3be050722ad828809f76d9030147dd41c1751910dd8a44d2100dada36ef20080a496d6243efebeb7dbea675d03a8e1dcaa48019d979abb4a1abe5e41b07eb2a83d24248d0f1f2d4799d54adee003ddf013d8db0002df9ac4e0cb79428bf41829678d9e1e9e43a3c32efa250301650387dc1d609547d808578144a5004409543c7067c89f08a9a4d3c06ab05ea1a664037bca481166d6c2f11f582e64074da688c8f8b48551529035a94002bb65de3c7903579deb1009854973ff53977a90f39390b0394de60cba6346816ac572123e58f1034b8ad5983e8cbea18cccf263fc495aec17d42472337d98b674cc85b28fb0de74036ab5538930d803a1751b375e8d2bb3e91a762683181332fdaca1bab792769d08036febc88624a4a3fda3ea4cd8fc3ea6e544c72aafc2a43ccde4ad89828edb0cac0364b7abd45a833820d491fba95703f1c91f4c310d83373c63cc159e8b99a6672f031d1ea4d795373868a1228ad7fbd197aa9097b46ad5bc73a0fb2221416f54d33d0219ffff03dafac1a4364c19bee0f82282f7d8684be93f26b47b6dd421c48807103860a25603767382e59c8963c11bfa50a7cae10224a62fe242f3d75eb0e24bfa885c79ccfa0303d8445482fde0975642775921eeaab332b8db852f1a66ddd53f52537d8e467f0349cd4d5d42a3b842584f901aa98200482e915f02dd391df23c7185c088912a61037c89f6b25c1abf657c1f7037d97c802dc39f07f519369a0057a3bba306c1df230219ffff03598953842790b7a0c5222c5c0a57b830de41daac0ca960583b35ce2b1aaeab2703d532eeab714a9df7607cf66e5ed785e0e40a4f70ec7fd26d7a786a10959bbf2f03d6b1e8fc636643482cc6569d25c2e08ab08fd50802e076a3dcf394db2551b7ca03caca77e6e00d25ddb1ffd1442c946d4809e6d8f75c3997e723ec456e69e882810219ffff032129bb96b2f23eed5d77fd2a9e68d36dc320d9ac5505179ad5eb80684dfbb5260219ffff038365acc675f29cff433b9f43fb82a33ac7434c040ec57488d5b2379768790fbe036a21363dfce2d504d1343d8b2c92108da021f217347ca1febc66beaa60d24af9038cba605eb9df782b050a3adf9853285100007a5ab2e5aa13e2e26abd0aac74e803f7f24fc9cae29ca46d54d50602a703ce5fab714412f8edc14ee61bd1b3ac25bf030df7d5b4f664e00eb5a17a023bd09e7301b915c05f6296c0383011304a859d2103db9f0e02aed5fbb6e1bd855992df00e0da8b84f3419ec3908c78d9429d3a7b470320ac67890b1f95a634e3410ab5383197e44c61b476859d491ada6a3372ec836703f45468c69b1e5fc5ddc7ff6b2887592c262eee4b6cc6fc72365dcf8f6936011d0333e4f0629bb26e3a3c006a6639d09932935586a1492e2794f419497eab819076036893cb4d59104ec9d84505d1785d519b47edb28e8b4669aa6681bcd6d55cb4fc035857d3a8442906347983db9d6f2d898240d605a4f754198066cf22c0d6c425c60219ffff038cec94690e812e7fb50dff8c81d6211cb04743e5f8b76ec3a0ae059cac47e35903c5d01e47803849da226a02611ef29cb491a21cdc63096268eb51c1a0843c4ed003afe9d0d8fa6e4747ad158ced6b55f01473e75f41d1e7d47adcce27132d7b025c03bc85eae3105a35f82706f6319857a7ac5eebf8610cb2b353a6ed897ab70dcb28033f8fdc957e9a6be57bdafcdce8e717438e528911250703139eced50227b94732038e2700a442df5351298173355c3b6948692a0aa43d0044ec7c86a515bdf00a0b03aa0ec262c412f391b647ab1c28c33bd5793e892053147db4f7ebf0760c25429f034a678e08eef171a227e2c5b85449d0f4edc4a1bf5af18ba3d50b259466fb5edb03dc10b47057d2b48f4e4f2b1158dd54217c501ff16f9317c8d3e0b84a4f30ba010317c739f6fe76b7c7abf9bb10be50efdf902cafe342a502ab30874a0b2af7f14a03fb1afe85865a484dc8bf452c789e5011a1e59903d20972f05924a3e2b6deb85a03669dcc7f9b458db580f119eb416696503d3d31b28b02006cd2a8aee8793ccc740371164d32d2071d367ac6f34d4f75dce044da25150290ee13d769e5582e44371903ff32cdf921656f5171bb158da3402c8cfd140a82cb082e97a038e365fafcc8ee031110365a261d78d3acdd84899925a17832414b7d5ee2dcb16a7e08794143900603f9ee72e47c08060252c92cff490f96258af3c94f91c4b4d84542834fa05871b7033cbeda459afbb6320e196a79432f699b31617792176aaacf13c6d8a1986e954003886c9f36f5ada18e9f6ab067414197c8a3782aef8f8779823e9f2b4ca354ada303a3cef5ad072fd3df16c8693ad4370eaf9fd2e94ce4f912b93dea097d034c78b103cfaac0025f48082bac7d449ce07b8e16aebdfb8d4393e1c2bf0fe18afd53b7990382308d803b12041ee39f1c4bcc77d1fa42ad4cbe9904adf28c80d44a285afde40393ad0a1fdacab9ff29e597772250f84c8eb04a5cbfcf0f37025c412b4e9bfa9f03d1e0219bf0dba4a943bdb2c350e355e231e5e841b553823cc0ed7230c048c0ef03820a6aff14571bb86f6d84a375b7d521c08a08496287215a10cbdae279d2b9ca0334afbb53384b515db917dcca63f9d03d58c5ce2547ad24d4576a8d9d02f5a177036aef2b3501214e8dc59b5bd2805acfcb72df6d0da71f9e639d60f101b347c7710381de9086c125bd22dbb92dcd1fbc97f4d4312d2c26c0706956671676f440f41703aef984fd1b9ad3eda0cb4a142bee3736b43c9527a075a44bfbefc5d232f1f85803a61ca9068d61226a8dfffc2477247b37de32d21b128a2ab35fe460987b07c505034c3a2507f2e7db35027f405b2cd849c5eccd2a1e6bb50a6c84da7249e2db82c4032318b89b50b7f709fa75c443ddb31fc492cb3cf3477b7984c8473059e29c4d74039ba4abd791f8ae056a86ef9042a7899ee877d32b493d5f4749aa10fff32a7f1003ddf112e1fc6b153bcc5ca042ac2ba3155aa74860672801cdb276f86ee57ddeaa033a599055e818613288c41f1bd8fe2a4b4e2b05fd23a3a15bf93f16aebf8016ad038ef61839303015b85e3b16fb1fafa1e328fbbfe1fa320753725f982d957654d8038cfa512313f881fdb9e35572587bf69f18ced08776ce49252737295a305966e003f5b536057aa56871b74c38946aa8e54bc4e7dfa53378a2cd9cbeb74cd62720ff03512e7fd967289262104cdbce4b8bc0529bc3a681e9bd1522398b320f89818bb103f9751ff6409ef2fdea49767eed7d654cc98e85f42df3dc401a32d04271577a7303ee7d6a2b0d6d1bc06fdc15320f90300f0ba7642580502c913ba5cbdcb181b1820331010542bfa65854dcce29889cc98de3c639df67379a3b3b3cf98affe2e74f3103dcb79a64cea3597b43fda68eb4d9b9180c3c5ac3512735a1cedf8454bbae58b8034ae3d75f8427121cdf2477d59c6209b77097f8c87292c1ab449e76639360891003914a40818907e5a93f60b05f39e062761b32d515d00583d3aa46034b1c908fbd030b6aaabb5b08f7f67a0b51d394270b37d22bce2df53899d94a428f4f026e0cac03d500a65e021bcace8afe1b96681b393a03d1403a0091bf471807405f950dafcc034eb68f2c06a6b6c91785f0b6d138c33d758e5ad655c179c88caea797147eccef033c3bb23d53ff8242dac04fc1731d0039eeeced92739e248c5b61a60244c03e7603070ce07d739dde5b920b62d01f256ce5466d56eb21f474757116dddcab87f21b03487bc66bb3e9ceaa6ea1782bd007b206d00b76b2b87c65a4ae83a82575fabe0503d4110432f0e1b72c655394ea770fa57c098cd925bde49fee3fa55c3274c04f3603eb8ddc9bd99dc0ae4003a5f637703be6c885cb30dccd4afee9636ca47a90addc038ac54f5d263ffe0769d2abf5f4b61c121180148b19c72a91011f0d3f8d3d54390330d48c7f9098573d652f0b71ed5f14a03f057dca4576bdf5c516b12aa17947c60605581e0309af0f46d24615c7d9edef73d22cc4390ff5f7167da82a3908fcb2e10007011bffffffffffffffff05581e03aac863645a002d6cd78e5f8a9af3dd879a4df84f17e74984f627c294f00c024686bad161a36003bb6c280d77e6d9ca1259c06dc4f38c59a8b3aab4b5fe6c5d20dc76f3818f438405581e037490de37e2dbfaa1e5da021e21b5a47d6fc60d929a3c39c2058fdd3d500c190654485cac3a41e77d836305581e0393884a96280807b1f28aef6947f8ed40af4aae57dd1a924be89aa731e00c014728e59229efe600030f8135fcb5c0719bb19a119537daee05e6ff0236a3a29a05e54e9ec4fc3bc25f05581e03f62e6e00c763e422f7ea24bd5c0e12f0184127ec8b603839a97dd4a4200c024676638b4d70a005581e03e76af22859b199cc092ad3b4ec3eafd7272e6998b1ad598ee26827b5e00c0146082b01dc616003d5a867d268961668f5797a04462bf5b4471525438ca312d5017d72f177b06e5a05581e0303175de6e25ee85989d4d1322bc974085c6e21b54ca16ec6aadc23d6b0040105581e039fad25174958c685cb6a9dc4f9945a11e2f9f4909a3d0d72b52c51f06004010219e7f103cfb7f60c65280c250ed8b66b63b64da972fe24c6603e6861cef1cb14cd23981a0219ffff034409d069f19218810c8e4b88c61128ae0efb3a56059cf946fe38dba77df0c05b0219ffff03459dbb1d11ed80ccdce6cffb2f541fc3e080c9bafff551b98cbd47224ae2d1de03c642b98ce0ccb2a233b951d05583436549a8497802a9b7e450fd9dd030dd270a037379bb1baa8c19f85dcc404819b82be8fa1d10173e59d5dc35bd67deb32e468d0219ffff03ddfd921ece199fdf9ce07d967cf21f29d6811e08436712c9d0676ed741c05282036f50cb292366eef9d858b3826744b2a41ecd06decace609438f63e0605c7d69e0311f0a7bdb78427132f11be5ad99ed58d019449d18daecea686d6b44a7027815403e44b739b1b2908ec7bc7f9ffd26d8da62b806b8bdeb771bfac7691480e9574e30219ffff03b2fc20b5aeb90cbb2f3c51dae028fb77ab15c165180e7295d58795a30544ef3e03979d76527eb461e0dd8e60369ac29beaf5494f9e27b34b1b682735999732809403d0a37bf5814eff746b6a32ce73e12f8885e688acbff824f2494318adac90de8203def5824947d97bdd038734f86e55bd395009261a1deabae90de5f434c03258820311a4afc85f12ab94373f29e51038721da8d12d4452c776ac89e4942c69d0dcae032410e0b73c01dfbc6d692850566e18ed74c647ef55e2a3d65686319f34d9c77703b1c0023f718a63cb2e1c7c3f02106d0faba37a4c38bddb5c6ba5e5f261b3219c03e10f202981587d0adbb061d8554ac0ce7b8767e69867b33d27f09e3178a87cc303fefb3ec6f8eb7e49ec0dc26bd164508cf7ad526fac485c018a06d78b3c5c61da03f1b021d8786270ffbcb4b12a7b796b1e9a079eeb1ab92ca7572377d05353d6270384ffe12720f1aad8e8505ebb585c100a8efe2ca78cc69a61d2b920eb6e6de25003ab0d481d603da4d7d3d30c2e03ca6ecfa986fd91b1edb1a1e42c2890b0d3ed550385e4a91ef8687739a0496322e9ff9ecdcc5e68167380e963a55ec5997182e8a60219ffff03ae293660abe3cddbc2c4e6817310249595745b8fb1c6c1b4da79e90fd51b235d035ad9172f95726ad772496c05b0bcfbc282260fe9d00ad2c40febc637d8b308a3035c5b7583250a54d367052f3844cfe3221b38ef3d1504503bbd779a881f41919d03bef722a29810d8be278b94808ffd425612a0fd56f0aaf969aa3a27bfd533a7ed03936826abe95e5dfeaf6478e54741a9a01f584e3b1f8b05d176291622f4378d3f0363b39b562a171826db83775ae1f478895fc31f510da32df98092fe62463257e903464a191921272ba4a42fa6db53e551c5bbfe3168de5181509ed51d2eac9810f9035fc2d93a5f27bcf189a50fbeabc574d45d40121b19dd3efeff86696528112f4a0377aa2e8df60c94eae555ea56a1328ff71cacb178ae8824de4ab8534c19f9c26603d9c04efb4ad6661520df6289bf6a4cd744b069c1140e9726f1a00baf8b6150c803786dd9ed4539405d4be63a773f8729f79df8a7a7fb3f70b83e2007bafd4a99ef030834cb96749641492857e5f4d71d47b8136a484058e25b8eeaf8b6dba0e3dcd303a1527dd47896f6d7f847576ef9b4330e2c1cca5653381b4b8b9b0608d7a3a45a03cfd3fa4caa95159f045dd28f2a6bf7cb576e533bfcab8918a56ef1e7d337658c03b01f89d3d73e072e79efdf19f4faf5dccd712bc4cb84119cfc0caea00a0a600e03452ad127705a5b6337f8e610a5c267dc9e6a9f81f0974a689da9795ffe787b7c032085fb3cdac5c4ee5fff92861d0cf965d0e6d0c6a2ec83a8b25aab42a4aac4dc03a551029b1762732d70d18f63fb3316b54252d09161432bf22301e734f813889f032f9904487b58121f4ec788fcda7a55acd495a0868af2760a47ab77875706a504038b199df28300fd77865fc68f88e022e7edde0ba0493f9d60041b5ff9c65c4af403296d3fa78b37ae73c02266ad6f7f21003f3c03abd3c979fa676837348f49dc42038781f363df6dd0ef638edc888e8f3529bc8e63326a4ca25f635214f483bb84020305639796c89edea337f3fc0d18bc6ed0bd006eea7fca668cfba48814b5ef153f03f76c5106240ca3da8dcf0aefa301d62524ac023371f4466e6f28c982d2cee71e03d96bedc83d6489e77fe4fee276088c5d390469868fbeb47c399e3fe115d4c74d034a0285e050b910bbd82ab2f451ca9e712ae0a139402cae99797d772572d4e06e03cf03cd33e89e67a721cdccfda36681ec2b5e6c31cf9f5139c625ce197fd1aa5c031f1ea19f5abc5eff32f2eda8e2c5e55d9b49ff02589779e629a324de60f3bb3e03deebc1ad243622d47ea74c10e94994572aa36ea066fe52ad1402bc2309ee51220331eba3738c7900df164323e31d56fcf16dab78c326d5a72b747368ffe008cc3203abf53e9d639ef7b9d62cc052cd2fca230c5696de26abf4bb3167e20533596ffc05581e03b8971967e2f5e83fd50155e29b0d1e3222134b6de74f48246afa33cda00c014614938f7bc00005581e036488ceb871fe4c94751d347eb0480cbe68f771256414587d625860cee0040105581e030ac604447b7178b395be93b3784feeb389f9dc79c831a14db8ae8412f0040205581e0392ce3266e0617c4a23a635682047f6189cd79f9f2d28bcc949c0b1314004020322685ffd66f4d243d83fac445f4713466e6dce4c46c7744ba4a0afbde5ae7d2203cb2944c6ea13de67d0cad588f3fd4493c2412350076a5c13f39b00f682eb2de70459270460806040526004361061009a5760003560e01c80638da5cb5b11610069578063b1ebddda1161004e578063b1ebddda14611616578063c44de60c14611636578063f2fde38b14611656576100a1565b80638da5cb5b14611592578063ad5c4648146115e9576100a1565b806301e33667146115355780631de3df2c146115555780634782f7791461155d578063715018a61461157d576100a1565b366100a157005b60003560e01c6001811461013057600281146101cb578015610278576006811461031b576003811461043b57600481146104c7576005811461059f576007811461069257600881146108505763fa461e33811461096f576310d1e85c81146109e45761012e60067f55444645727200000000000000000000000000000000000000000000000000006114df565b005b60043560e01c61013e610a24565b8015610182578115824314176101795761017960107f426c6f636b4e756d6265724572726f72000000000000000000000000000000006114df565b61018233610a61565b505060083560901c60163560901c60243560f81c60253560601c6101bb848273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2611448565b61012e8284600030856000610e5b565b60043560e01c6101d9610a24565b801561021d578115824314176102145761021460107f426c6f636b4e756d6265724572726f72000000000000000000000000000000006114df565b61021d33610a61565b60083560901c915060163560901c60243560601c60383560601c610242858284611448565b6102656000823073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28688610e27565b505050801561012e5761012e6000611327565b60043560e01c610286610a24565b60243560f01c81156102d4578215834314176102c7576102c760107f426c6f636b4e756d6265724572726f72000000000000000000000000000000006114df565b6102d46000821133610a41565b60263560f81c925060278360140281016001850160140281016102fa8183888688610c6d565b505050811561012e5761030d6001611327565b801561012e5761012e610b50565b60043560e01c610329610a24565b801561036d578115824314176103645761036460107f426c6f636b4e756d6265724572726f72000000000000000000000000000000006114df565b61036d33610ada565b60463560f81c604735606090811c90602435811c90605b35901c603835609090811c90606f35901c9650346103aa576103aa81888585888a6110e6565b605b36036103b981605b61151b565b90503086156001811461040d576103d483888489898f610ef3565b848110156104075761040760097f5633414f4572726f7200000000000000000000000000000000000000000000006114df565b5061041b565b61041b838884898989610e27565b5050505050505050801561012e576104336001611327565b61012e610b50565b60043560e01c610449610a24565b801561048d578115824314176104845761048460107f426c6f636b4e756d6265724572726f72000000000000000000000000000000006114df565b61048d33610ada565b60163560601c9150602a3560f81c602b3560901c60393560901c6104b683828430896001610e5b565b505050801561012e5761012e610b50565b60043560e01c6104d5610a24565b8015610519578115824314176105105761051060107f426c6f636b4e756d6265724572726f72000000000000000000000000000000006114df565b61051933610ada565b60163560601c9150602a3560601c603e3560901c604c3560901c61055781833073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2878a6001610dd8565b94508085101561058c5761058c60097f5633414f4572726f7200000000000000000000000000000000000000000000006114df565b505050801561012e576104336000611327565b60043560e01c6105ad610a24565b60243560f01c81156105fb578215834314176105ee576105ee60107f426c6f636b4e756d6265724572726f72000000000000000000000000000000006114df565b6105fb6000821133610a41565b60263560601c9250603a3560601c604e3560f81c604f3560901c605d3560901c606b3560901c6003861634610637576106378385878c85611116565b8061065b5761065b848a73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2611448565b610669858486898d86610e5b565b5061067d8460010382600030896000610e5b565b5050505050811561012e5761030d6001611327565b60043560e01c6106a0610a24565b60243560f01c81156106ea578215834314176106e1576106e160107f426c6f636b4e756d6265724572726f72000000000000000000000000000000006114df565b6106ea33610ada565b60263560601c9250608a3560901c60038216603a3560601c60623560601c60983560901c346107355761073581868473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28c896110e6565b6003600287901c168381156107475750305b8561076b5761076b878b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2611448565b61078e8388838773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28f8c610dd8565b50604e3560601c995060763560601c965060a63560901c95506003600489901c16975089905087156107bd5750305b6107cc8684838a888a88610dd8565b5050505050506107de60b43560901c90565b61080181833073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2878b8a610dd8565b9550831561083c578086101561083c5761083c60097f5633414f4572726f7200000000000000000000000000000000000000000000006114df565b50505050801561012e576104336001611327565b60043560e01c61085e610a24565b60243560f01c81156108ac5782158343141761089f5761089f60107f426c6f636b4e756d6265724572726f72000000000000000000000000000000006114df565b6108ac6000821133610a41565b60263560601c925060653560901c60038216603a3560601c60623560f81c60733560901c346108e2576108e28186848b88611116565b8361090657610906858973c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2611448565b610914828287868c89610e5b565b5050604e3560601c955060633560f81c925060813560901c915061093e8383600089856000610e5b565b50505060643560f81c608f3560901c61095d8282600030896000610e5b565b5050811561012e5761030d6001611327565b61097832610ada565b60643580601481146109c35761098d82610bab565b600181146109b75760043560008112156109a657506024355b60843560601c61012e823383611448565b61012e83336084610bbf565b60043560008112156109a6575060243560843560601c61012e823383611448565b6109ed32610ada565b6084356109f981610bab565b60018114610a185760a43560601c60b83560901c61012e813384611448565b61012e823360a4610bbf565b600030331460018114610a3957600191505090565b600091505090565b8160018114610a5857610a5382610a61565b505050565b610a5382610ada565b73de09838eedb3030153524b5a14972e7c9ef6576581147383b4f74296738d8c2e15bd7c1f4a19df122354f582141773744bc1d963e8f54395dfe504e343fc3f2fe8fc8b821417610ad757610ad760087f4e6f7441646d696e0000000000000000000000000000000000000000000000006114df565b50565b7319719e2aa3a47cb0080d7ba10ac3f9651ccd2a7c81147349f18c6370d3235fcc7cf4fd8167b8ca9bed0af882141773e4b35743c2c15760d7551afc9c304ec0dc30ba50821417610ad757610ad760097f4e6f7441646d696e4300000000000000000000000000000000000000000000006114df565b60083560901c610b743073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26112e0565b81811015610ba757610ba760077f42414572726f72000000000000000000000000000000000000000000000000006114df565b5050565b60006058821115610bba575060015b919050565b602281013560f81c6023820135606090811c908335811c906037850135901c6014850135609090811c90604b870135901c60378903610c018160378a0161151b565b87610c51576059821015610c3857610c1a838887611448565b506000610c2b81888c898989610e27565b5050505050505050505050565b610c46818830898989610e27565b610c2b848b88611448565b610c5f81888c898988610ef3565b505050505050505050505050565b60005b83811015610dd05760036002820283901c1660018201606f86821015610c9c57506002810284901c6003165b601484028801803560601c601482013560601c9150601486028801803560601c3085610ccc5750601482013560601c5b878015610d7757600e8a028f013560901c965089610d0357600e88028f013560901c935034610d0357610d0384888888878e6110e6565b6040519350601484528460601b602085015260348401604052610d2a84848489898c610ef3565b96508c8803610d7257600e88028f013560901c935083871015610d7257610d7260097f5633414f4572726f7200000000000000000000000000000000000000000000006114df565b610dbc565b600e88028f013560901c965089610dad578e3560901c935034610da257610da287858888878e6110e6565b610dad848487611448565b610dbc6000848489898c610e27565b505050505050505050600181019050610c70565b505050505050565b60008115610e0d57604051601481528460601b602082015260348101604052610e0581858989898d610ef3565b915050610e1c565b610e1c6000848888888d610e27565b979650505050505050565b610e3183836114b7565b50600082828514610e43575082905060005b610e50898883858c61102f565b505050505050505050565b808015610ecd5760016401000276a488610e8a57506000905073fffd8963efd1fc6a506488495d951d5263988d255b6040516014815273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc260601b602082015260348101604052610ec38188848b878b610f63565b5050505050610eea565b60008688610edc575086905060005b610e5060008783858961102f565b50505050505050565b6000610eff84846114b7565b5060016401000276a4828614610f2a57506000905073fffd8963efd1fc6a506488495d951d5263988d255b610f388a898388868e610f63565b93509050818015610f4e57836000039450610f55565b8160000394505b505050509695505050505050565b6000806040517f128acb08000000000000000000000000000000000000000000000000000000008152876004820152846024820152856044820152866064820152885160a060848301528060a483015260a482016001820160205b81811015610fd6578c81015183820152602001610fbe565b601f84169150811580610fec57818e0151828501525b505050506000828260c401846000895af190503d806000843e81801561101c578351955060208401519450611020565b8184fd5b50505050965096945050505050565b6040517f022c0d9f00000000000000000000000000000000000000000000000000000000815282600482015283602482015284604482015285516080606483015280608483015260008111156110bd57608482016001820160205b818110156110a257898101518382015260200161108a565b601f841691508115806110b857818b0151828501525b505050505b6000828260a401846000875af1905080806110dc573d806000853e8084fd5b5050505050505050565b6110f084846114b7565b50600084821460018114611107576000915061110c565b600191505b506110dc88888387875b8015600181146111cc57367fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec013560601c611150846112a0565b8560018114611191578282111561118c5761118c60037f43453300000000000000000000000000000000000000000000000000000000006114df565b6111c4565b828210156111c4576111c460037f43453200000000000000000000000000000000000000000000000000000000006114df565b505050610dd0565b6111d784868561120a565b86811015610eea57610eea60037f43453100000000000000000000000000000000000000000000000000000000006114df565b60006112168483611238565b6103e585028181029150806103e8840201925050818104925050509392505050565b6000806040517f0902f1ac000000000000000000000000000000000000000000000000000000008152600081600483875afa503d806000833e50805160208201519150856001811461128f57829450819350611296565b8194508293505b5050509250929050565b60006040517f3850c7bd000000000000000000000000000000000000000000000000000000008152600081600483865afa503d806000833e505192915050565b60006040517f70a08231000000000000000000000000000000000000000000000000000000008152836004820152600081602483865afa503d806000833e50519392505050565b346000811160018114611391578215610a535760163560901c91508115610a5357611351826113cb565b60008060008085415af18061138b5761138b60197f7472616e7366657220636f696e62617365206572726f723a32000000000000006114df565b50505050565b60008060008085415af18061138b5761138b60197f7472616e7366657220636f696e62617365206572726f723a31000000000000006114df565b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152816004820152600081602483600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1905080610ba757610ba760137f776974686472617757657468206661696c6564000000000000000000000000006114df565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081528260048201528360248201526000816044836000865af190508061138b5761138b601c7f736166655472616e736665723a7472616e73666572206661696c6564000000006114df565b600080838310600181146114d0578391508492506114d7565b8392508491505b509250929050565b62461bcd60e51b6000527c20000000000000000000000000000000000000000000000000000000006020528160e01b6040528060445260646000fd5b604051828152828260208301379182016020016040525090565b34801561154157600080fd5b5061012e611550366004612278565b611676565b61012e6116ed565b34801561156957600080fd5b5061012e6115783660046122b4565b611762565b34801561158957600080fd5b5061012e6117d3565b34801561159e57600080fd5b506000546115bf9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156115f557600080fd5b506001546115bf9073ffffffffffffffffffffffffffffffffffffffff1681565b6116296116243660046122de565b6118a9565b6040516115e091906123df565b34801561164257600080fd5b5061012e61165136600461246d565b611cc6565b34801561166257600080fd5b5061012e6116713660046124ad565b611e5d565b60005473ffffffffffffffffffffffffffffffffffffffff1633146116e25760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b610a53838383611fda565b6000341161173d5760405162461bcd60e51b815260206004820152600a60248201527f76616c756520697320300000000000000000000000000000000000000000000060448201526064016116d9565b6001546117609073ffffffffffffffffffffffffffffffffffffffff16346120c5565b565b60005473ffffffffffffffffffffffffffffffffffffffff1633146117c95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016116d9565b610ba782826120c5565b60005473ffffffffffffffffffffffffffffffffffffffff16331461183a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016116d9565b6000805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60608315806118b757504384145b6119035760405162461bcd60e51b815260206004820152601160248201527f426c6f636b4e756d6265724572726f724d00000000000000000000000000000060448201526064016116d9565b337383b4f74296738d8c2e15bd7c1f4a19df122354f581148061194f575073ffffffffffffffffffffffffffffffffffffffff81167349f18c6370d3235fcc7cf4fd8167b8ca9bed0af8145b80611983575073ffffffffffffffffffffffffffffffffffffffff811673744bc1d963e8f54395dfe504e343fc3f2fe8fc8b145b806119b7575073ffffffffffffffffffffffffffffffffffffffff811673e4b35743c2c15760d7551afc9c304ec0dc30ba50145b806119eb575073ffffffffffffffffffffffffffffffffffffffff811673de09838eedb3030153524b5a14972e7c9ef65765145b80611a1f575073ffffffffffffffffffffffffffffffffffffffff81167319719e2aa3a47cb0080d7ba10ac3f9651ccd2a7c145b611a6b5760405162461bcd60e51b815260206004820152600960248201527f4e6f7441646d696e4d000000000000000000000000000000000000000000000060448201526064016116d9565b8567ffffffffffffffff811115611a8457611a846124cf565b604051908082528060200260200182016040528015611ab757816020015b6060815260200190600190039081611aa25790505b5091503060005b87811015611bc8576000808373ffffffffffffffffffffffffffffffffffffffff168b8b85818110611af257611af26124fe565b9050602002810190611b04919061252d565b604051611b12929190612599565b6000604051808303816000865af19150503d8060008114611b4f576040519150601f19603f3d011682016040523d82523d6000602084013e611b54565b606091505b509150915081611ba057604481511015611b6d57600080fd5b60048101905080806020019051810190611b8791906125a9565b60405162461bcd60e51b81526004016116d99190612669565b80868481518110611bb357611bb36124fe565b60209081029190910101525050600101611abe565b50611bd2856121b5565b8315611cbb576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015260009073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2906370a0823190602401602060405180830381865afa158015611c43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c67919061267c565b905084811015611cb95760405162461bcd60e51b815260206004820152600860248201527f42414572726f724d00000000000000000000000000000000000000000000000060448201526064016116d9565b505b505095945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611d2d5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016116d9565b80611dcf576001546040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8581166004830152602482018590529091169063a9059cbb906044016020604051808303816000875af1158015611dab573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061138b9190612695565b6001546040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff90911690632e1a7d4d90602401600060405180830381600087803b158015611e3b57600080fd5b505af1158015611e4f573d6000803e3d6000fd5b50505050610a5383836120c5565b60005473ffffffffffffffffffffffffffffffffffffffff163314611ec45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016116d9565b73ffffffffffffffffffffffffffffffffffffffff8116611f4d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016116d9565b6000805460405173ffffffffffffffffffffffffffffffffffffffff808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600060606040517fa9059cbb00000000000000000000000000000000000000000000000000000000815284600482015283602482015260008060448360008a5af192503d806000833e5051905081801561204c57508051158061204c57508080602001905181019061204c9190612695565b6120be5760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201527f616e73666572206661696c65640000000000000000000000000000000000000060648201526084016116d9565b5050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040516120fc91906126b2565b60006040518083038185875af1925050503d8060008114612139576040519150601f19603f3d011682016040523d82523d6000602084013e61213e565b606091505b5050905080610a535760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527f20455448207472616e73666572206661696c656400000000000000000000000060648201526084016116d9565b3480156121c657610ba741826120c5565b8115610ba7576040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810183905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b15801561223257600080fd5b505af1158015612246573d6000803e3d6000fd5b50505050610ba741836120c5565b803573ffffffffffffffffffffffffffffffffffffffff81168114610bba57600080fd5b60008060006060848603121561228d57600080fd5b61229684612254565b92506122a460208501612254565b9150604084013590509250925092565b600080604083850312156122c757600080fd5b6122d083612254565b946020939093013593505050565b6000806000806000608086880312156122f657600080fd5b853567ffffffffffffffff8082111561230e57600080fd5b818801915088601f83011261232257600080fd5b81358181111561233157600080fd5b8960208260051b850101111561234657600080fd5b60209283019a909950918801359760408101359750606001359550909350505050565b60005b8381101561238457818101518382015260200161236c565b8381111561138b5750506000910152565b600081518084526123ad816020860160208601612369565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015612452577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452612440858351612395565b94509285019290850190600101612406565b5092979650505050505050565b8015158114610ad757600080fd5b60008060006060848603121561248257600080fd5b61248b84612254565b92506020840135915060408401356124a28161245f565b809150509250925092565b6000602082840312156124bf57600080fd5b6124c882612254565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261256257600080fd5b83018035915067ffffffffffffffff82111561257d57600080fd5b60200191503681900382131561259257600080fd5b9250929050565b8183823760009101908152919050565b6000602082840312156125bb57600080fd5b815167ffffffffffffffff808211156125d357600080fd5b818401915084601f8301126125e757600080fd5b8151818111156125f9576125f96124cf565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561263f5761263f6124cf565b8160405282815287602084870101111561265857600080fd5b610e1c836020830160208801612369565b6020815260006124c86020830184612395565b60006020828403121561268e57600080fd5b5051919050565b6000602082840312156126a757600080fd5b81516124c88161245f565b600082516126c4818460208701612369565b919091019291505056fea2646970667358221220932e621a318d90d57728b23b6b8ebe354e5199bd783a1acaf86074346a7ae8ba64736f6c634300080e00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305410d943f5633601c7b8c3b372344e6efc81eef8590058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20219080405581e03d1e36fd391765bbd4a519f884d78455ee5bfdf384736a00e181b3acb100f0147061bd47e8b4f4419270403166cba5acb1a5132ed604d27477f76feb649a56bfeddd965f1cff1f60eb003f905581e038de083c28af92607f637131c37dba4c7b72df805cb584abc910c6ae2400c18a14739b7bb9f2afac705581e036ee6a1d847851f4666bed5c0d3d27784495e23255b85c86710c68cbe500c024702e5972354226c02190dfe037fbcdd3bbd34d9b1721a72138883c1d2d4c619eba0d4899bcc9300ba2c08d90203ec81b54e953804ed8c7b82108f2990ee41f569a9a5cbac888ed9c34418d87677032e75389d74795252e76a0a0910440e1a62c88dab5b799acabf4d78c81ba197d2037fa45a9fe8977e379d4529cd907bec97ede6598301278add040b3c2ea0a407d603a11b78759f6317337167e25e628be5d7bfc9c37ad7dcf9c0ccc77158450380520219ffff03cc0040f8b4fbff51c0ad1b7710242eeff01654763ec33aeb52e2f8a1a3a4f9e503af26dddb3bd264d7db42076334a9d44d72e8130d1147f949eb1a5f4cfb44e52f030bf5636a845cb1e79b67d37e199d98495dd97114aac9533a1c247d2178c0b40d0336d7421ec59a1fc107f3a40c857ef57060af1b683dbbe7e1ae3c277187ba80ea0353d23c8d8191f6bfeb79319f3cbf068a04505486c3ed54e949d9d44ef679d45103331c67b9d15b402274e86815be78462c5be10d3621ab38a0d6ae2ddd7b8baf8e0219ffff031033cf636ce42c22de07cc39d3478b3368bbf3638526fad4927e074a01560239036a22116ed3ac780090ba206b862e044ff0cf2ee389cef93dbc9e4fcc415b90f7035b258a1e6267f6e1fa7e8b6fdf3b69f705527a0817b96205474e3baa43149f3003f09a95e75308449bb78aa85a27c7a4cd7c137fa63a7f79d15bcc09dce3d822e40376e68cb02ba670190c510c3b4392cf7d37e7bf15ae6a8909da54e757ccbe6c5a03907475f8f41ba06e55670725d6a42430f78f584e782f29feb47b5871bb89903703b300a0d103c0557e248b6c3326c75162e578f66d37d48db092184806baeb27dc032057ebd34af07d82d56b0f5ceb2c8e242848f2f14befab412c1b30aafbbefe710219ffff03babe6b515cf2a449471a5015e761c78fbfc4b467e36aeac9e95687b130ee5f51036b9db22a9a878c2087fc8f038e0b56a66a78f83929717819640adb2a1e113fc103f7f2c2f10a8eecf5786704ea87dc6d22ae4f36afb8155b60c1fad8dee4b4712403bad25ff330db4a52a5def2afeb01dcd7575e24c356b1373c1b3e9372a7a8cc4e033853e06919d519c5f38d17d4314470bffef11b68196778e48cae52863f25dea503dc63ac4e2437e738f391eef51d42a951c95e976b05b6d7074cd96474eccb09b203e34dc65c5890e69bbb32a9ef90c57d2ef46a142712ab577f53e3fc06b328f7ed03968c7804351e62726e4ff4693a1e99c81645be8ed49c74e31a96437c416e9bb80360b11412e8a9f294f6e01cf4556b0af7e6b67788af4215dc6e74f0b19bdf1e42034488b2271b1634cdda9c8b32bea9114f04cede3f99afa15436439d583186970e0219ffff0350066cb67c52b9d23d6f6e85c58c2e02d85e7dc9928e0b6a2fa468f2b2ffd4ab03b39e4e5884dac60a8278529349312286331f51e37d0b0747a829b80ad290139e036f862d27e55f213ad069e611d4652601c9e554a0d161140f65276ac2dbdfeaa803fb39494bb9d03c568859c4a168143118335a3c818c5c219a900ef328fd67c301035d5e64342445f410edcc877e67f5241963338cdddcdaedb7d55e5db546517989033b4793ca1456af2e262c56b84ba1f742c23e0b97a585e4752128ed1d27d7c7a903b67230383f3183bf9bcc0f462c724572ad43a9ecec6383ed9a9bdf6d002f61ce0384ae369c8ddc9bad7ccda88e7c9c4798bf62161f3f039b572bce167fb27ecc0f03a8135b3f62177e7a9ae95a7eb2ea4cfd5ba5878b453a4c731d93ff3b6e9daf6903314ff144a7e487cfb5bc452dfbb742fb9c1c7055019723524936aabd00a7b8b1038e4401767f85303e41a6e7f2e51ba885f429056454ec0d36b0da624f41ca8528031264525fa2a269995835d3e83791e40aa57d5fc97c2d08f44de3acf55164ae1003de8be2322451cfc03cae9f799eed95dd44cdb530d178306fa7199616add4253a03ddec68283ccd6e20527e07bf9d2ef5cafd17e805649707987bf5cb6c82c89bb90350968574dc68676695037a86c185ba272c93aa7ff84788c87f0661a2aec449230219ffff0329f5ea03f138654821a56c803f1c8781e95cd37ad57e295fc9a614574390d39403a83733e7a9e8e45397a4f248abf791ddca5a8596579467eba057e2b12d2a6d090363e407ce706f3c4b6dcbcc412ac9faeb063a0f0280d46acaec189b747361cf240316e5616221e0f41071280d2f81ef5c685d140eb7d94a4f172fff4808fa0586dd036adf750f60b31cc5992b96556a44bb210008c0d193aaf86a10b646c345c16b52036a6265623e513be11407ddde45601c989111a620b438420f978e51aa2299a45c031fc06c1559d481fd7751cab8a1a28aa043b09dd6b8a9003c07e99fa232b9d53803e39c343a022e5adb5ddb9de1fb5429380e84fbf2edc958a9fb9235d6a20f6edf035943e330cdc50f5c240ce93e408c8352e1c1860448f590f7ab110c96333a5fc3033cfd59903e9469371629266f4dfe8497fd9d64c0a0d69435ab5ef096717f500803a7bd073efeade7339903c1c84b380c596f6bb03a468435acbb58ad2d55503588033db92409d33e9c5ed24b70b60ccd28cb150cfd080be3dda3dd2ed6864f220d0f036bfa5ec82ad90f847ac7b1204d3722741e9b6fe1e5d627bb9f07245ce98ff12d0364889c57678439f414dad7f20b34e390507d7dfd771178f2b861afd07358973003f311510188e2ada3c74a8af101b9ead4bd3a0504f29daae9edefcfeb6d51a77f031cf4da75e563752699a28a070e83902720798921ef0243233a44cc952b631be803a2b288c3f489f99e9fbc68793de3dd5a602474bed5d41439d90ff45a6d00452c03ac9627b7f877637fcae78668a792401b53347c2c8502ef1a5b850226321e806e03cbe73dd06a125feaab189d1c3fac24a9c20e51f27a43ea82d297a159b179aacc03abb4c0d6016205cbcfcefae5fb5ea50cd2d4b283a3a03c7919bc26329552287a037c2264be4993bf805a7e035a9220f894640846b5409f1a7b6ddac86d093dd12f03ba9b0a4fd0a60166b71ca888cdb209e144a10ea491396661b6d3e01db952d45f03c800fde1d87a58058d05e9a69d513f3ec61751988718de94daec4468d471c5f703334bf048147bc3c8d5eda628fa4e2b7da233137a09e9bd2d0968ae13b021891a03dc8479561c4b58e13eefd0fefae7a2b5943468036a14ecb43f433704645383260303071dbb5906fdd60e3f3793cd0f1c4612019151db0a430c21ba9d5a8ea4282d035aa3d5150785de378a065383c6e99fcaa54d34a18dbf48785bcb3e474161fca1031a6fc96f268cdf8409a5afd3d76950e04b629bd1c14ecdf9e514ce9c4fed6ec1033ed2d7fe66a7bb3d912ecd8e8ef51b79e550d1759f93152a1a8b28f1c647286703a33d3c3ed50965a874d739d252afe0069b6d8353ddf1d4e525967322b8f5a79903fbe4a701c0efe983660ad7caa7cee90a3c1b45ee16a2d5f75e667796f93b6f81038b89d95fcde74215b4cee473bf62ba977832e2ea3c99505e31d637c30694695e05581e0387aafd947848989648f2c48c38ab94d95be2615644b89c5b14cb7f6ae00c044727329e584eb3570314c1811cbbd2b3af2e2399efbbc145d5566e88644f8ad6b48f29b0de6335d3c4031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03a70a818564a13adb6652153ada0fdd5bf1f4f94da63b492dcaf9e428b007011bffffffffffffffff03e25d4f154acb2394ee6c18d64fb5635959ba063d57f83091ec9cf34be16224d703608a02f403f30892b8967da9ac469a8c36335336a69bfcb93089ae791d2c976f05581e035331503212364343f6be717d883932db5da5e03c0c6ce7823efe84e8100f01447807c1dc1bffffffffffffffff031bb9923cd5c240f934d10aa469719216b5085bad3872169ccced536edc22277b03da9a8dc62f6fe7e06cf36272a7824915f0fa67a577b587182bb8eb00ead29d6103ec549f9c6738e97fd8fe16864a50696530be736dbe5b3f828cc38c4201b2fae804592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c634300051000320300ee6158611a510f7de2df7a2c4767d987778493b8e3b80910c7fead461bbe3f0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304b0314681367c295c3ff27fc0058200238e9689977d526f580531775c606e5a07c1ff4f40a9ee98e4cca4fe145a2f44106005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af4d1eef57b0bce86debc4dd280c38021942000058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820215b786e4eba85d363599f0603a96206d9fe3a001a117bd4680bc44156f3ec7f005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85501f3f662916305da19deefd84fdc79e3923b00f41802184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf607b000000000007d33cd603004aedbf0001838810f254c24ce8a92f56600058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f546d7497751656618fc38cfb5478994a20f7e235df0218480219b44505581e038de1d31fd0732b069ae68190eee17c0c586049e31a87a9de9222e718a00701192c1d0219d3e603704520d9a7f1d0f5ab13beb574fa85de11eb7dcc7aa98226a9ccb5801f75c362034e9df35d5bc61b600725ff1e3b9edc93735eed90a4aab1d0ad00f3616160ad20031176eebd55a02d80dd05460759ea58b48d39d6536b0ac765748a7a44410fc12f039da3c4c4508ecd179fc818cfd6c02b6e5d3d1e3047f69ecd21c37da15cb7d95c03dd42b7dc543187733702e6833e939411b2197a65cb76db423d59b475efae383a0315eb189197451955857f5707b837d7f14410752a1f0df757c7cb5863a9c6693b031aad9b030037232530ffb8b896db838425e0920dc8cdab47a182e2fe28b962c10365767c107ae03dfe02656af65be9ea4c30a65e8f9dfdb46295a452d5d381cdc903849f47f6dc1cc96fbdf17126d21d912c231b751f006d336884ce515a2681f93a032727c37bcf8b59e47634a27e11ee38eff8a05f80189c6c3d26722bc37bba30ce038177696feb2dbf2967cb4103efa2d507430711a197c2a738717c5b5543008abe032508f1a148f02172830fd482ea79cac02271a388af04019d6e49921a8a889c5d03e3b6225311b88e9bb4e2e9fa7a8ca0d03d20ac765b5f7ecdb3b183f7d7cae19303ee1760c7bd18c667ed1ed1d2d7c9bf2fb21df6ec20e0ee2dc9728cce12e9fb1b03d670e0d87c493b8041d362698dafdccc6291b498bfa6d94e5dc5d570c404140f0219ffff039a5d2aa9f89477b40b38a663ee233af208c20c47eaa78bbbabc145f2904fe69103b90caeab462eef9191d70fedb72ccf5a33cfeb057ee0fd17bbc43924a95fd89b03c3311ed3314a1499699434304684b7d306fc6f1358e8cad611a2895ac6e4291803b606ff6b93ae409276455be3f976d773b4336fa3f48cebeec8e7d522e9ffc77d032b6813577f217f060dd7ddfa16d8fd1394f5ac92b0c1b82d1ce3ed2f6e7b54050345aac4665b1fe48e2030bf0b64fa6a30ae1ccafe3dc13205189dfb7f0bf87bc40219ffff03bd2694cb32c5b310f2d4aefb513da5ba5f275c0b27abf93d3bf882a711be69e0030d23013cf35ab6c493b4afe0a730271f0f060b47cd5fbf77c501601a0ee33c0e034fb730c95cb500750ebaaa3c8d558a90071672bcca746ed2947d120c748b257f03a040fa78512205ba6ff18eaa5abdf5ca13d3f9b4e4c429bcc2e21e2c53349e8b0314412893c2f0f840fc03069f58fa267f5e29847a2715a440d21fadc59457ce9203cc8caead566ef34cbb50ddfa940a73e65fb2fa76e866521de5f66c24db31c7fb0219ffff031f58a293556a6886c08f3d6c768f622a47e151b3634f8f27f27d5ac65e5718fb03a101dde72c7df67bc737f261dab0779c02c0b83dc7cc111e94c471bda75630ab03ea33f18eaba3e67e57b55c8dee691f600f5e2a467e8133a6beb172c334b509dd03e50222ce226a8a103d385375f1341bfa321a721b0bdbcc6605fed526cd0821530323170395cb90f96cf5a6bd123f15830fb3e6bf21867d89a4bacc4643cf45d45803b316b8749165960c3c89c6e10d4998e4b40cc00e5a082bb7a07fbf9e679e8d2e0219ffff035542724e0ac64f0a9d2fb2104ed94363a57255f5680ee238de1474bc8486e44f03a6d185bd0e74535b72331e6dc9d2d19f53a4b4997b5c52f926ce79f26862099303f1f1571e19500730c0f62375fa7f8a7a90f6c4742bf538167be72a1432aadfb90310b9f42c477bf95e082653b147bee8737c9739cac14151019627bae2597ec4080370c11e4972fcab13d1050b9e54844ea1ff920d4470cbd2bf4e943b4d7bcde9e603d08c521f7580826bb146e476039ce572c0de596b9575ad6323d5947a0664f066030e7bf139f4acf4e2c3c37b1baced8754bc1ad4d28f6eec46b2afeaa843fb049b03e409a71cf61129f80b21eb96d4065506242fa36959967f5b797f0662a52f6d2603dcd03520ef6cdb737f6db64a695efa661cbcb74ced82a26e42f26cf6c85638ef03c4e66faec72346ccb69262b48aa4bbdd469944760209e8b91affed19198001f503edf450d44e9efc837fae58d704d8e6993a288e8ab19f430b496a6654f4fe4c4a03cd85c534ca4a6372058d36cbc405f13617bb5613c55942a3bbdec1a288797ae80353a0bacd823ddf1d179cb8bfa8e42020d2d6d89dd990ecf999ea42e9ca5b961d036036bdc180b8a1831a3e4376ee2b14fb762ee3b8013677f728cc40c17596c625032e5c4827174c4bf23d8d7782af6d6e69556233276422e18447afe6bc443cea3e03fc3f664a374c6cb7ebbc31143797767eb7f19a549fb18f5a79aee942f7f8a26a038c5ca361caa2475fef718e0a397f8d009e51ac3c6cc4621497fc31630d0ca24c03402e34ef9e39f1497e13e2190876faa9e01bd5a84075750a4d8d23a31527e3620388de86a97156e789845fca62671d0c79ebfadd3bc152e1f2947f9a30550bb58403901ed45ad80716634d8624f033d2070b0846facef7492686119fc2c631a58e9f0343b5ca4ec3c5ce5f4ca7fd15c9e94b832d2760e1519c6449212797fe9f63233a0339b21d7ec373b990bb1c57ce14123ac52ef5c7b88d20f76c1e35f7efcbf7c36003a2704b18c6dc0a318607ac2360f3991a67a92b944f41de6ef5a6e0e05afea94d036f216e7c7b3ea96690e6d0a685db725022227c311f46560481f4f49c094b0d1703abfe3d58af8f75d5d96bc1825a828bf810ab4dcc0c84a26df58228cd2331a20803c324ba644c40d8d6c2d47ae57b229a26e894ae7ea6ff3f9faf8e476f9692f37003433c8f733badd86057cb9a944bbb222eb992c5396a58e0a47f0d275b6e57fe2d038069108ff8e4b9e14c0c6bbbd884df679c273d1118a06e2b0e21eb9c93ecac0103d34a0eed061b8b168ba9abf29add6056d4e619688539cee6fe212dbcb47da6b70459202a608060405234801561001057600080fd5b50600436106101a95760003560e01c806370a08231116100f9578063c87b56dd11610097578063e0df5b6f11610071578063e0df5b6f14610400578063e985e9c514610413578063f28ca1dd14610441578063f2fde38b1461044957600080fd5b8063c87b56dd146103ba578063d547cfb7146103cd578063dd62ed3e146103d557600080fd5b80639b19251a116100d35780639b19251a1461035e578063a22cb46514610381578063a9059cbb14610394578063b88d4fde146103a757600080fd5b806370a08231146103235780638da5cb5b1461034357806395d89b411461035657600080fd5b80632b968958116101665780634f02c420116101405780634f02c420146102e1578063504334c2146102ea57806353d6fd59146102fd5780636352211e1461031057600080fd5b80632b9689581461028d578063313ce5671461029557806342842e0e146102ce57600080fd5b806306fdde03146101ae578063081812fc146101cc578063095ea7b31461020d57806318160ddd1461023057806318d217c31461026557806323b872dd1461027a575b600080fd5b6101b661045c565b6040516101c3919061172c565b60405180910390f35b6101f56101da36600461175f565b6006602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016101c3565b61022061021b36600461178f565b6104ea565b60405190151581526020016101c3565b6102577f00000000000000000000000000000000000000000000021e19e0c9bab240000081565b6040519081526020016101c3565b61027861027336600461185c565b61063b565b005b610278610288366004611899565b610675565b6102786109fe565b6102bc7f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff90911681526020016101c3565b6102786102dc366004611899565b610a64565b61025760035481565b6102786102f83660046118d5565b610b39565b61027861030b366004611939565b610b6d565b6101f561031e36600461175f565b610bc2565b610257610331366004611975565b60046020526000908152604090205481565b6000546101f5906001600160a01b031681565b6101b6610bfd565b61022061036c366004611975565b600b6020526000908152604090205460ff1681565b61027861038f366004611939565b610c0a565b6102206103a236600461178f565b610c76565b6102786103b5366004611990565b610c8a565b6101b66103c836600461175f565b610d4d565b6101b6611085565b6102576103e3366004611a2b565b600560209081526000928352604080842090915290825290205481565b61027861040e36600461185c565b611092565b610220610421366004611a2b565b600760209081526000928352604080842090915290825290205460ff1681565b6101b66110c8565b610278610457366004611975565b6110d5565b6001805461046990611a5e565b80601f016020809104026020016040519081016040528092919081815260200182805461049590611a5e565b80156104e25780601f106104b7576101008083540402835291602001916104e2565b820191906000526020600020905b8154815290600101906020018083116104c557829003601f168201915b505050505081565b600060035482111580156104fe5750600082115b156105d5576000828152600860205260409020546001600160a01b031633811480159061054f57506001600160a01b038116600090815260076020908152604080832033845290915290205460ff16155b1561056c576040516282b42960e81b815260040160405180910390fd5b60008381526006602090815260409182902080546001600160a01b0319166001600160a01b038881169182179092559251868152908416917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350610631565b3360008181526005602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35b5060015b92915050565b6000546001600160a01b03163314610665576040516282b42960e81b815260040160405180910390fd5b600c6106718282611ae8565b5050565b600354811161098f576000818152600860205260409020546001600160a01b038481169116146106b857604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b0382166106df57604051634e46966960e11b815260040160405180910390fd5b336001600160a01b0384161480159061071c57506001600160a01b038316600090815260076020908152604080832033845290915290205460ff16155b801561073f57506000818152600660205260409020546001600160a01b03163314155b1561075c576040516282b42960e81b815260040160405180910390fd5b610764611171565b6001600160a01b0384166000908152600460205260408120805490919061078c908490611bbe565b9091555061079a9050611171565b6001600160a01b03808416600081815260046020908152604080832080549096019095558582526008815284822080546001600160a01b03199081169094179055600681528482208054909316909255918616825260099052908120805461080490600190611bbe565b8154811061081457610814611bd1565b60009182526020808320909101546001600160a01b0387168352600982526040808420868552600a9093529092205481549293508392811061085857610858611bd1565b60009182526020808320909101929092556001600160a01b038616815260099091526040902080548061088d5761088d611be7565b600082815260208082208301600019908101839055909201909255838252600a8152604080832054848452818420556001600160a01b0386168084526009835290832080546001818101835582865293852001869055925290546108f19190611bbe565b6000838152600a602052604080822092909255905183916001600160a01b0380871692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4826001600160a01b0316846001600160a01b03167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487610978611171565b60405190815260200160405180910390a350505050565b6001600160a01b038316600090815260056020908152604080832033845290915290205460001981146109eb576109c68282611bbe565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6109f68484846111a3565b50505b505050565b6000546001600160a01b03163314610a28576040516282b42960e81b815260040160405180910390fd5b600080546001600160a01b031916815560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3565b610a6f838383610675565b6001600160a01b0382163b15801590610b1b5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401526000608484015290919084169063150b7a029060a4016020604051808303816000875af1158015610aea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0e9190611bfd565b6001600160e01b03191614155b156109f957604051633da6393160e01b815260040160405180910390fd5b6000546001600160a01b03163314610b63576040516282b42960e81b815260040160405180910390fd5b6106718282611351565b6000546001600160a01b03163314610b97576040516282b42960e81b815260040160405180910390fd5b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b6000818152600860205260409020546001600160a01b031680610bf85760405163c5723b5160e01b815260040160405180910390fd5b919050565b6002805461046990611a5e565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000610c833384846111a3565b9392505050565b610c95858585610675565b6001600160a01b0384163b15801590610d2f5750604051630a85bd0160e11b808252906001600160a01b0386169063150b7a0290610cdf9033908a90899089908990600401611c27565b6020604051808303816000875af1158015610cfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d229190611bfd565b6001600160e01b03191614155b156109f657604051633da6393160e01b815260040160405180910390fd5b60606000600d8054610d5e90611a5e565b90501115610d9857600d610d718361136a565b604051602001610d82929190611c7b565b6040516020818303038152906040529050919050565b600082604051602001610dad91815260200190565b6040516020818303038152906040528051906020012060f81c905060608060648360ff1611610e1b5760405180604001604052806005815260200164189733b4b360d91b81525091506040518060400160405280600581526020016423b932b2b760d91b8152509050610f56565b60a08360ff1611610e6a5760405180604001604052806005815260200164191733b4b360d91b815250915060405180604001604052806004815260200163426c756560e01b8152509050610f56565b60d28360ff1611610ebb5760405180604001604052806005815260200164199733b4b360d91b815250915060405180604001604052806006815260200165507572706c6560d01b8152509050610f56565b60f08360ff1611610f0c57604051806040016040528060058152602001641a1733b4b360d91b8152509150604051806040016040528060068152602001654f72616e676560d01b8152509050610f56565b60ff8360ff1611610f5657604051806040016040528060058152602001641a9733b4b360d91b81525091506040518060400160405280600381526020016214995960ea1b81525090505b6000610f618661136a565b604051602001610f719190611d02565b60408051601f1981840301815290829052610f8e91602001611d3e565b604051602081830303815290604052600c84604051602001610fb1929190611c7b565b60408051601f1981840301815290829052610fcf9291602001611e17565b6040516020818303038152906040529050600082604051602001610ff39190611e3d565b60408051601f1981840301815282820182526004835263227d5d7d60e01b602084810191909152915190935061102d918591859101611e17565b60408051601f198184030181529082905261104c918390602001611e17565b60408051601f198184030181529082905261106991602001611e9a565b6040516020818303038152906040529650505050505050919050565b600d805461046990611a5e565b6000546001600160a01b031633146110bc576040516282b42960e81b815260040160405180910390fd5b600d6106718282611ae8565b600c805461046990611a5e565b6000546001600160a01b031633146110ff576040516282b42960e81b815260040160405180910390fd5b6001600160a01b038116611126576040516349e27cff60e01b815260040160405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b600061119e7f0000000000000000000000000000000000000000000000000000000000000012600a611fc3565b905090565b6000806111ae611171565b6001600160a01b038087166000818152600460205260408082208054948a16835290822054928252939450919290918691906111ea8386611bbe565b90915550506001600160a01b03808716600090815260046020908152604080832080548a019055928a168252600b9052205460ff1661127c576001600160a01b038716600090815260046020526040812054611247908590611fd2565b6112518585611fd2565b61125b9190611bbe565b905060005b8181101561127957611271896113fd565b600101611260565b50505b6001600160a01b0386166000908152600b602052604090205460ff166112f75760006112a88483611fd2565b6001600160a01b0388166000908152600460205260409020546112cc908690611fd2565b6112d69190611bbe565b905060005b818110156112f4576112ec88611525565b6001016112db565b50505b856001600160a01b0316876001600160a01b03167fe59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e0314878760405161133c91815260200190565b60405180910390a35060019695505050505050565b600161135d8382611ae8565b5060026109f98282611ae8565b6060600061137783611630565b600101905060008167ffffffffffffffff811115611397576113976117b9565b6040519080825280601f01601f1916602001820160405280156113c1576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846113cb57509392505050565b6001600160a01b03811661142457604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600960205260408120805461144a90600190611bbe565b8154811061145a5761145a611bd1565b9060005260206000200154905060096000836001600160a01b03166001600160a01b0316815260200190815260200160002080548061149b5761149b611be7565b600082815260208082208301600019908101839055909201909255828252600a815260408083208390556008825280832080546001600160a01b031990811690915560069092528083208054909216909155518291906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6001600160a01b03811661154c57604051634e46966960e11b815260040160405180910390fd5b60038054600101908190556000818152600860205260409020546001600160a01b03161561158d5760405163119b4fd360e11b815260040160405180910390fd5b600081815260086020908152604080832080546001600160a01b0319166001600160a01b0387169081179091558084526009835290832080546001818101835582865293852001859055925290546115e59190611bbe565b6000828152600a602052604080822092909255905182916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061166f5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061169b576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106116b957662386f26fc10000830492506010015b6305f5e10083106116d1576305f5e100830492506008015b61271083106116e557612710830492506004015b606483106116f7576064830492506002015b600a83106106355760010192915050565b60005b8381101561172357818101518382015260200161170b565b50506000910152565b602081526000825180602084015261174b816040850160208701611708565b601f01601f19169190910160400192915050565b60006020828403121561177157600080fd5b5035919050565b80356001600160a01b0381168114610bf857600080fd5b600080604083850312156117a257600080fd5b6117ab83611778565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126117e057600080fd5b813567ffffffffffffffff808211156117fb576117fb6117b9565b604051601f8301601f19908116603f01168101908282118183101715611823576118236117b9565b8160405283815286602085880101111561183c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561186e57600080fd5b813567ffffffffffffffff81111561188557600080fd5b611891848285016117cf565b949350505050565b6000806000606084860312156118ae57600080fd5b6118b784611778565b92506118c560208501611778565b9150604084013590509250925092565b600080604083850312156118e857600080fd5b823567ffffffffffffffff8082111561190057600080fd5b61190c868387016117cf565b9350602085013591508082111561192257600080fd5b5061192f858286016117cf565b9150509250929050565b6000806040838503121561194c57600080fd5b61195583611778565b91506020830135801515811461196a57600080fd5b809150509250929050565b60006020828403121561198757600080fd5b610c8382611778565b6000806000806000608086880312156119a857600080fd5b6119b186611778565b94506119bf60208701611778565b935060408601359250606086013567ffffffffffffffff808211156119e357600080fd5b818801915088601f8301126119f757600080fd5b813581811115611a0657600080fd5b896020828501011115611a1857600080fd5b9699959850939650602001949392505050565b60008060408385031215611a3e57600080fd5b611a4783611778565b9150611a5560208401611778565b90509250929050565b600181811c90821680611a7257607f821691505b602082108103611a9257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156109f9576000816000526020600020601f850160051c81016020861015611ac15750805b601f850160051c820191505b81811015611ae057828155600101611acd565b505050505050565b815167ffffffffffffffff811115611b0257611b026117b9565b611b1681611b108454611a5e565b84611a98565b602080601f831160018114611b4b5760008415611b335750858301515b600019600386901b1c1916600185901b178555611ae0565b600085815260208120601f198616915b82811015611b7a57888601518255948401946001909101908401611b5b565b5085821015611b985787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b8181038181111561063557610635611ba8565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600060208284031215611c0f57600080fd5b81516001600160e01b031981168114610c8357600080fd5b6001600160a01b038681168252851660208201526040810184905260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b6000808454611c8981611a5e565b60018281168015611ca15760018114611cb657611ce5565b60ff1984168752821515830287019450611ce5565b8860005260208060002060005b85811015611cdc5781548a820152908401908201611cc3565b50505082870194505b505050508351611cf9818360208801611708565b01949350505050565b727b226e616d65223a202250616e646f7261202360681b81528151600090611d31816013850160208701611708565b9190910160130192915050565b60008251611d50818460208701611708565b7f222c226465736372697074696f6e223a224120636f6c6c656374696f6e206f669201918252507f2031302c303030205265706c6963616e747320656e61626c656420627920455260208201527f433430342c20616e206578706572696d656e74616c20746f6b656e207374616e60408201527f646172642e222c2265787465726e616c5f75726c223a2268747470733a2f2f7060608201527f616e646f72612e6275696c64222c22696d616765223a220000000000000000006080820152609701919050565b60008351611e29818460208801611708565b835190830190611cf9818360208801611708565b7f222c2261747472696275746573223a5b7b2274726169745f74797065223a224381526e37b637b91116113b30b63ab2911d1160891b602082015260008251611e8d81602f850160208701611708565b91909101602f0192915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c0000000000815260008251611ed281601b850160208701611708565b91909101601b0192915050565b600181815b80851115611f1a578160001904821115611f0057611f00611ba8565b80851615611f0d57918102915b93841c9390800290611ee4565b509250929050565b600082611f3157506001610635565b81611f3e57506000610635565b8160018114611f545760028114611f5e57611f7a565b6001915050610635565b60ff841115611f6f57611f6f611ba8565b50506001821b610635565b5060208310610133831016604e8410600b8410161715611f9d575081810a610635565b611fa78383611edf565b8060001904821115611fbb57611fbb611ba8565b029392505050565b6000610c8360ff841683611f22565b600082611fef57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220d5cf2af665a707cf5fa8553c93e5404fb287bcd41313f3344f32d0bb6a72666664736f6c6343000817003303afb8816c4cbb69d1df7f5059c8646f739bdc1817a86586f82cd4543b55a07783038e056198349b75c9b9a2851928c6671134b3a28d9040008ec86b3da5d838499103aace8e5f96254bf5453630ba6fa4cdc8cde7f86bc2bddb01e42a1b888475ed5d0347c71c1f338cc73e8a463c9f0f2dc851fb8a3d29c9bd6d1529d4c2377c42de2f031f0fb94baff76e5ee7f7d75f27c6e2b6b5c8340d5547ae398d2ed700062d760b03eac10e4e75850fb781f4514a8aaad8f96b1b71d095d550697fcfc9586d75251803c619492583c6a3c872c33839d6f72ac0cc3e2865677e0ea0cb60e65ec9506771039affd3ea0720f53c544f1334f05faf65376d554554281bcca35f5c2871eedc8503cf9022b6c201b40807867336a288444e32df93bc2fddbb202e473e1f2351d44803e2dea544c7acf3c3d68e84ea42b2033de4dce351782729d2b1209df4f5f4ca7b03e002d88c0ff6a423bde25825060a68c1d33224da5da9127b494d663924574e6703d9630c91655bddf13e22545a7e58f1567777df8f64b4de6dbf6fd49b3f6be859038fc5ab4fbec404548cf127d320bbcfaa800874dcab588464dcce52fc8747ff890330d12872a989a652a34dd908b114ef593c53c19ffe34e22a6ffd7504df33d1a2033924eb6d6559eff37eccbcfd94782fe708b7e9b7ea1d4acd6219983c7420683b03fa494b54c69888d3f047882e041269bc44bec96b7c76f2b966858e0e16a13e760339edca7c8391b51d5aff3c834244cad508bddf6e60ce0b3b39c61c544abfd56c03cff8c0c53988ef18c8b769c73491561c34c77d596f18efc3ea65058a65278cce030c41d2f047a84162cd85fd26831453eced5545b17de49416bb5470e8fcc10e5e00581f02e3701882b4f087cfdc78abee4623bb59f835d466dcdb4ff432a8f5d5abc2410c03be77150d048b20b98659ed12f85c28a16f3efcf4a2a45216d3fd1d36f5a5a97700581f02775f66ffeb1f2e550ff9b71f8aa7ca573c9cae553005a0500111bc36fa5c54c43b6ffbb4781c354d7ea7198641ec4cdc4d8f5c00581f027a335fefd9be47e8bc2cb6453050aebe23d537b1768dfdf2010a85abd0af5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f024b576da2277d0f3ef4f31a5e552b21b15014dd98f1dc1af9978fcc4523a648040cbd672250e32d00581f0269bdb3883436bde2846536fbc18fee58d5e21f361a5bfbb28be23834d0d042d10700581f028c6c4d6a2392b5fc8a9938ff0ae2d0f50bd92eca6fa0973e1bdb71eb52f4448a285ef2021930ee03edc7886ccbaadd1de4656b5e27f47268d7ea0b763b1f29ab2643af30499cfdb803f313ee58c42be5fbbeea7beff6bcf262bfb57f190a5507a7513971a343df8f6d0219ffff03df405c9d0d4d3e4fb368796734f23d0496cf38d5ab43bd167de49f437e7078cb035dd55be8715f265612ff3b9aac3207ac0d678528b9e9208eb2df59c8754bc846038b721f87a03cf95a23556c9a2f34025889bb152febebff81273c4a03e418e2fd032b5cc81ec353118fd2abed61ebe006bd0984835c5fd5e4716c8f598c0bd9b4a0033774d2d5872667a66c0e7231d14c7663efdb043f0463244b722003a483b7079603504f211b98470aa50f212213cd973251f0062e64b81b72ce07938279234ba0df03c25d438036663fc363ff53168ad90c44e119ec3ac35fa82a8c396a02fe52bc1303b5f499f58394fe98dcb7fba234c586be11e00084e82664d5ad5675df80c137fa00581f02b0656bc779b3f8000ade5ed2448f370c7a38beda3a9b7876f46cf2d4821754d371519e9789a5bbd84faf18928c80ab243f48c800581f020f83fba0715c7d6d1a6a69df54c8208d059a1c6c5c9fa73ceaff43ac83ed470c26dcc0adf96900581f0207d10a5ff625be797ed60a1524539ef9a27a10f079fe99fdcd3a8f16cdd0411500581f02177e67927941018ff62e60d1fe7d904bc57f4ea49d8304ac3dd63d698d4f54c189aed75a492fc5008e5b007d44b95803382c080219408a03ab2b0580bed43ab8c5465595fda58fb6051853b6f35915afc35307779010c0e1032ebfb925a833fbe9c7546b571c12048455da69c97c57109873443544ee71ab2603f8732bde2803092bcf70124f1fb7d589d3fb94f684f3b20dc9a64b5d21dfb44303087a83d2071bcb4f34d8cd038d6fc539d6b19578bc67289d0b55f0b90201ec35031a2e84f6251ccedae62fb19c2213a1cbfd71b44ff48752d5ee4a7b9761a1ac14030ecbea35a112be72647c6a983894167135d5e64f6a2434549c7d51c41aab8c1703a5a98598ee7877f4a8c462a6e7fcc3cbdd6901b93d9245f25c7e241978409a4a03dd7c568538321815198054b1ebfedbc635588efffb46c6b524a6d412f6c4630f032a3eca7218b391e2d38a67b3091855de846dec0de77086e0b93b4fd0f69668a403921e9848736d339a50ab2ed7d1f2cf1c5dd04f88b002e6ad4b42f3e31daa591f0219ffff0337273a33d5c14715eb8a36b57d93e6b435370d781d8ceae99a0fa41a85944e9a03ca0fd50d59aae1608d8867e01aa7c439f9bf99e7c4b0e7b9c269d4049da6ef9403ba5dd91f613c4882767a640da0752fe850b73b1db8ff62df46f4f8f172d8712b0337133aeaefea3eab255123fb16d3b60f84bb4b9d63eda43be2e1baa430e4ef96036358cea0b0b4693acd10a63674724e5c6257acb7fbe2e8143b5f595e72f70038032bba71886fc0281b091a81e8fa5ff55fc2cbb30c1fbda322bd956bf57f6bb03803f61425b6f4c6413945c685005cc015933b587b38b15feba29c052a88cc7ba1c80219ffff03a2bbb58e792a148022b2c2a0f18e455f1c5ce5b493c75cdb64943643ab97e63403c28957c904d5661cb39916050852b167a2497ba063b485afadbe4e41834760f40333b15d5664ee15356b4d2e32e4cdcf084f99a0a01eb48c3df97efab1220679d103d86fccda022cbf5ae9f722f6c3b9205b8474edd5adcf47a9428b518e325b98d600581f02f37f5113ad1b3ab93b023a19619372c3490a37dddb2b89865ff3b455c314410a00581f039c2658206e3d8ca06c209a6564533a873126c1cc9bc7f3b662a5ca455b60410d00581f03d0f839c327f30fdf0399abd58ea86e01198bcfc3df68c5312c519be877504901a17653070c4e80bb02186000581f0251dc258019cc2c05182012d6231b2b75c0208f04a33aaf6a63c27f2898a9410100581f02921ab63b159e1a70553147d65418610bd3560b6574598f3a967db4fdd62d470e8bc6eda9266d03166ccf211f5efc2b2be57fe8711de296c34285e44b543c280e948b8fe32efe1403e2cab55e7b151d5b94881f5e41dc3f1a2bc11c19db4922c78870a3f7869ac020021988d403b54b05f1d647d21596443934d716a110ebabc1e80f34379f7087e303f6a738dc035b298fb99310ffc24c47f85596f098bd71f75345dd2046010f080bffe26ccd9a0358c5ee1386dc31f6e94476cc0495cf523bff55771a3864388ad21440bb6f390203b0b5c2b2cf157ff56e9e48ed55566a8084c0aa7d2eeb9cfd7f62273af69a1f800300d5008aa75cb1ded85ed0aaf81a90c7237e181bad4db2e6b1d55a1eb8c35d9503693853d5d822664bb142706a4189ec827e044dacd028fae381f62de11d65f32203a65ef28b70438d460341b4ac5a512ece33baebe38c12abba58a52e0b77cb1c92038199399b5ff356d5c5c592c6cd3719420feeea79b59b46cd98eea7e00bfcd3be038c4815b10a894b8f75d913b83d37634a4f8b35f2539ba74e7eb6fb7f4a5a8d9d03ba1bc4d39d018c0bd10c0781dd961583159dc7ef84276ee6fd9cdc521cf90ce403859efdbf4caabc71b69890ee7052b674f646948bbaa91f2791a65cb32ab4c10203625b6ece50986abfa44457400d0c3d7961ed4df500cbe6e55c696170877eb1160219ffff03f7cf60b6233c218f2a71e3128b46f193ab0c1248466620cdae1975e91bb3357c03749cb58f13d374bde7ebc968bf1833bbd8c8fe92adaae6e3ce483f98ebe88439034da425150dcd2daedff75e90efcaec611efdb1bd2e99f809b9a58d368a692b4203920dc456c3e2df9a69b6e7ad1747f1990209ea95dc33d6acf7b6495df02a110003cc2cc9d00280f4d5c622293ce345e9ce0618caa75f61090a0ecd1b229d544c5d03cfada93750f51480f42eeff247eb14d6edd636d7b0869feffab3204c0ec492d1030652ac12a14f7290cfec908d2e9a2b0152585de4344ba1834ab7afb5aaf8f1e403b64e9d6005ad5285568b2c0aaaac2905c6a6617b78c1264727229aae887db265030d4719ebdd6d7aa612c40dcea6128956cb6c99209f2d45b5f530bc63d1c9400a0344378319e138ff3c41e437ca7ce8e0c2f40de06520a5ed7a54e080d7fa1f3ea903f55bed5d6c1f9d57569d0df22cb690f06d535bea2b3c237939f9eae28a1b512403cd42291a3f33a31cb8e34610b20d5065ea09942aebce0ea1d88f54c003824a23035ac76fd77cf8c8f23685059bc043f17a45561970a19cc33daa11293466e7ff1a031d11d4407c2683175b43fca13ac06dcd9fa1fea0d2f969a03955283664df81f80219ffff035e16e3e7296c880fffc1f2622c990b861385a625e68b14817ff04579668956c1030c191f2643e5d978a18cc15222a5d4aee7f57a7a498fa3d5e44effaaa1fb6996037612dcb363277bd094c269fbe84b559439349df8eee1619e5abcfcc11419497703b63a46a9c4e7fc047c0cc06477e6942c8d3049631783eda370a7a804501c4d97033590addf33a8e8a48c62c9e9e85a21e5feca7c83a3be22fa634bb8447e262adb0398ca9159f0806d0179542e8f9878bf66429890ba5571847177d3f2a38463c6b003ec36cf3a6aeae24928e379330dd2314d4bac14b4b7b89076212f2bc960de49f803e720272800c54b61c5a4db96d50e7f2e4393e897e3fa15347607ecb24999ffb200581f0298b4fe25ae4167140e938c162723f8346c7409f06e01f6db9881c16e3210483782ff7e6a51c9d00327b99076e51f6bd3fb3a50400abb068bff0a5f5e8b781d366a16f7f6fcc59e6703c606286ed78f5710d9e437f5d02c550d40e8ae44505b5757ba28e639efc75c2800581f02107c1425e4281608d778ea80f76fd042ffd239fb98d740b4c434a53a9f0d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f020d1b05d48a98f7719f2a1addbd341f6ccd7433effec725e3c83f2b77326154fafc9af3c0353d95244a53a3fc80e22295bec8a000581f02baabd0d17a2a95c49acf45f875e8b514b37b430c4f2f34c77a6251169f9942bc940219e88e03763d3ee21edcd999ec0622b176aa22b7d37514c5de6fcc7fc3d9ca46ddaa8a08036a965344563bd267ce1f505145690fd6164ff3450cccfc540caeedbd96f1c8d503381f27420f35bfcbabe18d784dbff6148988d9b837286efb368ec64e9c73bcd10387e23fca56d828956dcf7a2b61ad5e5b999fad3b4aab629e816407a3406663250384628f5152345968d622e1c45ad57a379663a47ab4edc533cbc30d1953d1152c03a8f72e7b6b0b85e34490f60dc9d3273c05e12ad774c55cee3694b69d09657bec0335cc4f51155d151f1e46599c1a2dcefe20a0451a268ff2ee5feb18415a473f580343ea4beb5dfd0c53a6a9739dca846aa95887f5ef2bfab660393a07e6ff14641903171dbee9ac0326cc27672fcaec5b976a2c94ec75cb5c6525d44d975115686b59031bb7fa96e90340e546f2701dbc8afbfd3197e2c430f0898ba00d0505cd0cfcd203854367aff76feb0cdd67177fa7a0ad21abe8e76a1df3676ff0d3fdd3d93c131e0317d22336b9f7c3431c7756b7987d497fd5defc3f49964d46c31c96fd9d40281f0219ffff032201a8a1b837cd47617e7dc14b6cd7731f8e2950c6a4bc020eed72252d12b66003bc30c7c319f705fad71e6a466c2ae6ac1ac71e2d0b7808fbdd72f50bd90f534a0385fdcf19a9ca5b30f93392a2c395227e51b1a80359c2c37e2589f1a364db78880318da6a0d3fda19c042cbc76ce033f240bc958db2e6643a18196bd67b77400e2803ca3dd179c84e108d867aecd7f28c61dedb4ab89b86f86dc6a680ddc26ab3bfdc037da3e3d74225ee44bcf9524c3879dcbfd1df63bbc7d6e7c8fb4ad18bf351ae77033a59a1d9b97c354803f3d52346033e570ae2853d0105c6bbad1829974267dff303c8304fd76d42d11501f9b8162149b22912ab4fbb7dbb65bfa3f4d39d18abfbf5034d3a39ef08e7b08d5b1529a2b5a60859b5eb0f1ba233ab0a8a168e44851e1e30005820039d6fe0e65970436430e9e1711f3c282c0a432c08b96520a64dfad2541c4b2042a1f203e093d73123d7f060681dd31ae522d32e5e42a0dd4165e59f9a9714e8cd905a820348a75626080bada971a2760e7e8871d6294ea86dee8578fb4e4f37d2b784d03903e85df9a0fac7374bd4f831f334f656d295544a60574cb9100ae4a070ecdbd3ab03f4c974465e1633fcec498a147d5d04f9dd40120faa3e5f298f2e705ba69629aa00581f024739f602fcf4fa97012237dfbf37a659119753af3fd9492a9b68bca5d75c480de0b6b3a764000000581f0274b3df945fb114e8da79163ab65c1a451d9f255e73dc52aec1fdb351ce135820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0202980399af25b0455eeba2ce1930f06f1ac19899b9a20e113d18f89e78fe410100581f02d879f1b973c2290ffa2c3f4389f275b409945b0d185e1286b3ce88fd4b6e46450a3af1eaf103bfce1249212996a2567b5d336b332e2ce576e4d03487d451ecf6e243a6b2a40200581f02b81d9d4676d5133fbf925b1d4fcc3fffac9bc1512f6d0c29e52cf20146135820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02192545033e31cffec09dea24100b0f6ea9153289950c71e60d84894d06f6ee7fdc0649a403d5aa0af1d854925923a8181b0d75b504062aedc798c5ffac862fc11e61da0fbd0219ffff0308a95a7ef9c5259a793d23b36e335fe12b53d2b9cd3ec6463953b219726f814f033f80ac88ff26ddef6f0bebce5bd99a549f5bfc6c3dd696f41fd583da523b87430330259520d452087f2ee83166861dc63dc8116c6e15d0e3854cf04bc5dd700dac03ddb4cdbe0b687f874bfb646ec59dec7b26826859355bbced9e35785c9ed97eb700581f034a5de51f88d18f1af48faeda345cbdcb867b58a1ea361f548e70c7c043e04804a3a5ddbfd930dd00581f03e8d68f06979840048e1ea795f7fbe6c3bcbbb7147903dd9a3cb14f2aaf9041010219140000581f026b8f5bfa53fc53eb9188b91438b559361aa21a00d701d692285bab50369442711500581f02b0be825183b1319221a112f63c1029b1dda6ea65cda5de5d6956156eef434103034f2ae74c4e0689fd62d3a920e6e16d3644180616def7cf1757b65b78a00954d10304cc6cb8bdc14233a5987233bc8bb5dd4f2697fd7771072852cb3c0cfb08931400581f0214e59ad87c8048f7684ee76956306564d31b1f4dbb74f98cea8ab3a62dfc54384d0eeeab0b84641e450a4307f6f2de1c027fd00219aa490329ce0b10f31a2ba08d19483215342efe6d338b1ffe8373cf83de1f7931ef06c10369c08547f5884b17d445aedceba0fd85aef66d53f9dcaa34a1c489daf41d8c25037decc8bc8a507371e99df65e28037bc4eef88fa5d461337f43b224b3f8448787034026c6b08d082cc8c1895e74e66a7434773f238ff728131aae7a92d6ceb7b233034e692c473c53f5cf97ade5b1185b1961e7cb28df4a5284be8313e998f8b79baa036e8e4e559ceec00174a1e7dbe072e07d5a3c2ae48e80264b9182f94cc70a19ff03d5f13dfb1d36b00a82cfa7ee0ee2ba1e59e8ea02df31570f5e65891a966ea32c032e05dce72f3948598794e6f447965fcaac61b8c970fc0e8c2af0d170e119adde03ad31f51ce8a764dadd06933bf4e430ab46390621910b60d73b7538ad5acb16e003ede077a6abd29a3724dbd89c2141fd569e5aa17e9b450e3fd1f118798341502d035fdb8cdc1ddf9a277f74f1599f1d5a371f5dc9a3f97626fd161bfc6205f3006a032156617c7afe66029407fb60dcf6d0ec17d2129f6d4851b530f078d390f3357d03c9f166e694f5fd5a6b43392c3eb0060679e9675d16dad25ae254cb1c247033830219ffff03702e8bdc57fa309e34113307c35f18bdf1289dddc4bad770c3ccdbf2194e6fa503e6511465f0e736f839540177875a9cf9515fc419fbc56e4ed92de7518ea2c123037c810178f0cd382f0a76ac216cb3984f06744a9e2d74e1cf23b237ae15f9b887037aa8798f68e4c79e00daa625354cc7f3b5bd9132026f4b2b9ac86eeac4072a9d03965974ebec198d64e6bcad0304fb4f3be663213a6da1ac4469e3461b028645de03b670690b88c714461eab59209c43534525ffe6937ce7684d6ef2a74b4853d90403b8cf59fc88b34cf567751270cd7fa8478aa11a47e8923f03ceae293c87e4081e0368b12b03d54e60878db7959349875dfe93abd5784c31f0ef6da3db8e1c97caf003c12ae862cd4a7a6de7fe0786ebdd6825bd6f22765ae784b8e21063d51650e041031174f47970d79a136996fd196b858a3dbc6e9239fc62c3c600e1aac503eeb3930349df3c530498377c6bea965e07a07b146a3c2915ae788bc8b5d4eca3923b849c03836ac5af568d84f963ff409098f66788b5762b3de9ace549c76fb41ae97a196400581f03712bc8ff09eeaa3fc7e8f720b51e7eb50ca34e7079a470e22169ec338d705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0382571082fe6d4fccb3aed4aad7f1c33fda122f1a3db84e1a08c4de6b8e30410400581f032cb7392b06aa80dc060f242a1f6af24d5a5a85dc9c33b99fd974b8017f00411e0219088200581f023a9e9e2d8eb3802fa33c2310af99ac4bc8e5ff708b2e34eef9e0fa4827fb46583afecd5c7700581f022907afac08b8c4ef5c9ecf42041a175c666f601f6db263c3f934b7c5dd93540b5eafba28226aa16b356ce3722a3dd3eadb1f8b00581f02a8ceff34fdcfdbcfbe09fc424cc927db17f73a36b56ad5d0a9b940556d664806f05b59d3b2000000581f0214f9b9cbc4695d32142af07f29f8c626aa2bc00045642174e4dfbe53ca5348023d9f7c59829a0d0219a82403ed6993ba5dd3afb82cac51e135f17332670d2c7884fb89d3938d8ab5aed0869403f85fedca8aeb93ada57f53295cbc0d816f88b06efaab78c761a5c0a3b7354a5803af469372f98350ad34c58ec0aacc8520addca49b0e9089ead503cffc978afe7b035c27fcc3ad9e9a476458397181ebf64619e60e0954ba02e93695e0c2a4bef44a0373cb54787e9349dc9ec388dc69222ad29a0b16890d917dd8ac8f116d38c4b30e0219ffff030f2755207cae01bc1ccb7de999d2da83e6686d92330d39986589d1c033d5f630034a379bdbb3a5adda4c4301e33a23cdfbdc3fb1f2724da3ba6220ab7b89cad4e1036bd0fbaa362c8438beb8c26147815da7d3e3b3b4b7500160a81ff1f99a9abc7d03f5e41438beacb0ce4ec1254eeba247af6b039b923b35dd71e0361882a54e0f7f033ac63c5eb42c6cc8ac40db3272219a4268c7a15eecce43c555bba6cd270ea42f0219ffff03b2f7371f3a0c844b51cb9508fc4ca188e2f0aea6af3112ff7d4a75f6b3365a7503a0b384a67e1181db331e4365ddee6bfcdf0e3a17bbb833e3c7840c709e97ceca03708349fad6e13d97fe2fec4c4f856cc3e107217b79f0a0c97d56d3f2d9178870032384a39db6f9a4b4e2ab79a1e1091fd4fd5c6402604b728c5d947cf5a226c631037f86cae18c5e155d4527fab70de1c1c1c098ad167cbc7ee6d21aab65ff216f2e0328e5a1188ea21207f65b32fa56f36c29f4e3ee5805cf49b948bbd9d06a42f9d8039d252f7bd41a23ee9ef2cf37ad78a20a8288bfeefc2922910c7be67a8dfa53080347fa16a85bc97f9b0d43e502e6f3e3ec13cda5d8843d16f442c482b99ff20d0903021e9fa592e3fdee2bd9845e46d27233ed1c38a16f302fbd4d29928d2ce7f38603ee2279880f7bd5b0a2e82931483fd7694cc454d4ed4818af7ab84356a96b27f3032f4f64680413c87f0c55ca50f9d872571434e32315b394fdece15afb034efdc50312e45334e0fbef194e8c6243b9a64c2c45ec6e26cc21e891cecf574d365bbd03030cb0c92f6ab9cb1334561892bf2dc00a3f769b76102357d28846ca03de8ec5140379695d004af012a3cd39b684fb5b05d3319ec94987fcf283705ec39a0fa02ed703f3b7bcfbd6171a62714e0b7d2751f54de61ee934394279266ba6e2bf5663bc0803183b7a187248818b5f51752ee3baec6b2861baaf52cb458ba47cea5b118c207200581f02f0f49c7293ad3beb83ec054deff24d135b9f305e87d891a0994920ab476a475cb4fa8418a10800581f0283b1befd6746797ebfd927a4eb9162e3af8226113c4dd3eee0caef172b5048014ba3c1f77640d8033ccf9bacd6221f571922150616b3da21fc8ba2070a4de5dc2ef3b9c66390a6d700581f03df1121e732477768a8935edf810bd85f583e05e5e17c6f709523b6e83b50471656943982828800581f03231fe4ea1910c0588f24b6d5273f6fc3c355852c198542bb9322a859304054dc900845732a53ee8df737efa282a6bc56976e6202189000581f02b7ebde36bd70504bec3ce1b84a96558c575fbb1aa096eabdb7bfa2de8434410e00581f028983462ec0e2f1476bb6ef3fe34bac93792310b2970ed70841a610ed283254bdfa4f4492dd7b7cf211209c4791af8d52bf5c500219c426038462a8a555a73182b7eb069d5f241dbc83fd5e2f4f5680ff41c5f45c8aa83708038c6613f8401ea0906d72d6ac9577810d26606d1a20a0d833980eee8f01c3172e03be663469e275d01c1bf217558116ef6134ed2c77b6211e48a05ba49092c12411034e7aaf6ae38920d1bc45df210fe28fc2bf5a7062ae1c74bf131484d86da75f9c036c11eeb819a0d3afccefa5b129b0b2f2bea688eec4316db85ac3da15c8910dc30318ff4560ea62955872a20d9adadd0802ec50cb408e04c8a71f35321d07a9faf503212bdf17083d431325990fbef3139c20a5bb658d10c9da1b63144ae64843a4d60363748a6b18cab29a7ca14c8c866066be0465cfe69272c5ab9f78d469b5155b4403d72b9c6009661b893e632f390daab3bd6535e4e453c469db0dda2d25f9c5c36003607a8bcd48bb2c3ad1da0be18778b447929790c4d7a661a57ff41143e751b74c0219ffff0371ed0eb820a8eaed34df18678e926543b795641a0b0289cd2a63973869d19fb503925d3aeee1ad01fa51bdd9de71d7651e2d133e3c11d815ad5562ae2ec0e0743903cf219322b17b869fab7333ae4dd02106f34101f191945be032e2447049d96b7f032aee989a67858c8aee497440018d63f81f3d2250d88e97465f039c81941f3c8e0219ffff03118fbf223e930225d098284d0639b03f64532a4105ead55ee5b9eb018fa723400377f0e30e2db7c44d70222026b2ec2f0aab18b5b4214c115baa6566029fb2d69e03a580ed20255da47be0bd309a2c93f9e706525bd881d7db50bd21f84aac1b12f103bd87c4e955b9192ba4ba22b82f918eb5815dd14b40711721650121ba51b4838303c4940d7860a939154dc2158cc33a37638445121c8201409f19aa24c7d323028c03b9fb1bcedcab1c6aedbc59a1300c272d271c1a631a39a4c97a68f7bebcda7e7a03966a0bb8adf026a8e8a8fb916fb2ec6e6f35ba43bfa3618aca42ac6f51bb0d5a00581f02f155d219fd4cb07bc1e937732ec8c6c6387f92daaf2ae62c6454838be2d44270260331d6e3bd78022fe8cd35c963ed1b7ea352b700de7d4032e7c591a99b75a84d51036e974adeb05a074e0e160dbac9ab64a155467e787c18c09520000c92831def5e00581f02250d8bde6e707cec3ca8e26fd2ef279ff6d29189ce951898fe724e4bc096546cfdc3643b69b3d8f5c2356be18bdf0d06f8d9540324d7cf05e62f4829531e7a0640fa43599150d3f8985ae3094367fba6f783084d00581f02833afe7fac8f77d2f4d64b177469b60a4c6dc40b5383ffaa1ca5590d2d4054d5c93950d64250c13642833d15627297124f7ec500581f02fa57ae41656b137ec7b116f1bf98790dcbb4dc114f89393931d69a12ffd5410b00581f0266c776a299387fb2fbaf85f852cc1561d90c6ce9f51b8d71517e9dac41755820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f2752e407ca34f0f47b93026dbf6d90e4e5fe696ef996b921263f280a7e242bf4b00581f028c794db429a75801e58c70650ae08564008d5781be9d48c1d5f24f751f2c420db0021987fc03b88034eb3a4981202e3f0eceef1e6e506b6d48e83117cb8a49ac2cbe6d98125a03cc2a64477822f749da4393ca00ffd6b153b9d68fff411f57bd55354b8624d16303b9d42fa495edb34f56bfc3d348bb9d5b92f13bf1246e70c37c6c6b910b2b47a403fd8aa42599a120709424f668af5e40f6c5e51bd3e705df7962de3b1602c8020503b1c3e59e0ac0e24c2a25fe380502d751dff61500b393d9c056832bfbd63d93db039b95190d075f29355d2fcdc4f6daca871147dd231044e384f564fb2773911eaa033940272b88aa71cc8d76097464f067731a49cbede952bae3e93b04adf868baf003a2af8c9498e016803f4aeda8f748349f9cba8d68912e72763e8052c1021a662903aa635db77c7890c8ac22df7f39ed8599b51b0875e42816da1bee718a1e6af15f03a57d2fc08c3b61c18209462952437bc9474e3091fe18ca84dcb09f08f23c378c034f3edcc6e9b51a2cdfb09a678adf57205505ecf31b6972ba431c66f9ff59b8b70219ffff03bed2cccab6fde693c7c52ec39583be2b59273651df0d81910d512e633c6709260378fe79d7bb1e6fae2ea5c88c9c9bee617de54e2094abda4fc97904ac24d4c32503f53a1323c1703f901f5dfc9bf295206380dfb0140795863220169202ed27923e03e0d4853689f83b358626a612cf1632f9c8445777f1b52118862d132b25acaf6b03ee3c77cba39c299ae4e3bd3b84a4112bc554d035fc7cd0b1edab9667b8779500033b8c2145abda546a1c1ec6def3123ec1d4cccbb0fdaea5de380d3c7af6da263103e45e4e7067e4f6e2926ecd61a3c1460434f719c4051f6f4d7da30d21063d801903892e9555e27457d13310e1e7dc555a1104bda77aeb69da787483ad350e1672a203fc7f37fd3a6a52c6f4a87a3a4057a25f497fa6b7a36bc7c43ece469444ef35d20323188c32f892c0ab4fa5d453a120673387c3bcb8e18307937f96d85e09f4d34303b135344e97a0d4990d24a1d797fc5bd00747c54a5be9aebd321c572a34e7352303ea8aefd73ea2a5a58064fd7d900211e7739849fc20c8227ddb55eb85750cd11b03fb5a9bccbab77beb60ed8e8f0c980e0c5de869f51a14653b4f522e355b3cb8300219ffff034674dadc26eea308d87e34a054a96a8b5c937ed0a0231868452944be38e31231035ee2992cdc0270d1624feedd991c56603564953cc9ebbe09cee1305965b8c26803759e6b50b6949f059baa8c1ec201e861afa7df745edfb45515a70174cef3ad9703776a099bb8a998d883f44c801e422a8eb7fea0d25db49e5f4b55cc67d7896edd00581f02a16f8f5c4ce8a032c38ea410c5076bbc2b242616286df18fb3ab7fd65983413c00581f02f40586af5db5b2825b9814aa3fe912998ee950b34866cd45e3110289aebb54a23f54e0bb57a6114d831c080823f5fe2616cf9800581f027ec23f1723b114ffa5bfbb9a749f0153ce0e174a71205ffd05b96931b9d95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0333d6caa8deea9b2f0ee819cf89711d6ebf65d3c1fd203f57b795f77a48813deb00581f021b58347d47308a81942270d339c37f0330664428efa82f3f4a26a1765e155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f029185c71de7e29b62d459e535e9bad37f1bac28ccf2c56e42f975833ed1d6540cc90076d388e260d550b720735d4efc41f98ffe00581f0259239bccf3ee8d122f783fa093c2bad708bea4206321ba11b8a0803f5c4742bd260219e2b203ceb6636ec5c1f8cd99e3df0127f4c8e35fbb060014e3371381ae55bf66ff84d303b3bc396d22cc8a4d156baa52f8822071747cf835db6a95cba92ee5e99ba281690357ad3f6b85aa41062de06393704f8d92b171433c8dda8ec458b23ec46757cada035891fb9799abf86b3cb68b5c38b3254f64d6c9447576f0e933ec4f2b43c9763403cbeb7de3b4df13feb43a216d3d2fc4d870ae96cc626837fe069dbd609d1ad09c03a24824b63af9fdaa3f1c09a664517efa1869855a2953ee5f78c97773917d640203741c6b42856b2bec55b98178ebbf8dfc89977011c442bfc133bb38261ea40beb034cc2c9a7c21448db287fa3ad1afab6885aa3b94bb1b1ab2ce8846e4052a32c3503d07142784f9bee8140a0dc68c99279f9ff791897d1c9132790ae8bd77faeae1203b80aed7c2eae8c75066749a1967b7dd9dac4b802d40d418ccac17bfc35e459ef0306fc68f6979849b8b4b203c2a3af9f6adf1bfa59d71c827a0de1b586cd3d7f81036d519e444b58ed383869fe4dfd26bf6401cd1c2b1cbe029f252fe69d4091067303655254b797175a53e2d47b2bba9773632a050782f43e8cac078ecfcd7fc8894c03811be60fe1a1e86861daa04d48d2f54f107378b0131a20aeb56ddb9c121b2fe8036719741df4f4c1a6db0cde726f01f3273762f65a48ba76d9a0d73d0efe0f87770219ffff03258a99d5b3a4969511367a6c6462e70731e200ccb568a08556bec0e4f361918e037bf5baf7a8b43470cc135827d24d5d73a595dd25fc49af90e91ad1ef60a11f0a03d1a9bc8a4ae584f539c048ef0d3a0bf216ac4dcb0270f3d73b415fcaa085e55303f398125f443d785b00d7d7c57b5ca010c0cc575739e873da70984ec3ddf3da9f00581f026b46ca68208dea7df94f6ff42b6a7917a25ee5b82f5a26a453ca5673bdb842887f03ca083267174b62154d47ae5e97eca25d9b1e77f2613557f81c35566d4f58816300581f020b157d7e836d7a96c737dd8071330dda6e168890bed092b2d7a0252d3a235820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0227c2ef0e589c72ee1e12cd8ccdb7c91c00d9f81ef9b0cd4606ebf1759e4c494014373fb51a80656100581f0291d5c6733fd326f10f7f0b5b89faddfe45942da8ca98f377d15f7c64d867411c00581f02993e9d715ee1ecc20fd8c6431f4c99ea7231375c30e604af4f0a8bbe0caf42c259035732d56266758cd0e03c22b40a5ebc1ed515f2494bb7f820df2cbd519ee69a9900581f02423e7048f85d775158323249c547213f109039906cd0221a12af83c0a156472c397a286eccbf0219a1d6031c19337622be53fa38765119d33ff225b1b733f17cc20434d88c190dab7ae0ab03db8d67efe33c1bcc95c82bbff11436ec70eeff1e994ffb3f864e8204d2002f750341eac02e036c4e9821420213f2c7c3662eaf13d82552910f6d311a2a31e6dfa103afed3e087ffc5300574b306340dfe64306430703c0d826cc02f992815fb6c9b9032e2c474dffb52ed27c9a74a9100190e84e27c6b10ff33943cc2ef068f1c85c86039030f9108ff8f453540f08e772ac13c91cf76e8d5a9764de8edf28e221e31c8e034deac2c1045ae741076904dda60bb28a99544570b0088a4908769dc7cfff40fc0396b73322795e557990ca8aeec20fad09563d32c7b67bf7bd36ffc4ec5cd8545003ea32b94557992f421d1c6300034b3654c1dbf82cff6a55d55d031e30042b2bba0384da90aed64d3bc5e1708e19e96f13a5d56a4a911f4713ed774478a25db2f0810329270802594a7ac5ec2786f9a2bcd92e3e51dbaddcad1366492cab4b5895e805033b73968f61a1311446a837e4ae5b748329f1ac4c8675f033eb477a3dca088ccf0219ffff03293d3e2ae4a6aaaa5b9c92f9752d1b61626b88c9a8317b70b9461d66e2343fbf03845e1dfec502ee559e9adf8ff5406afc0dc209a7e10b73bc30ac58b84db3af7a039bdcb89b905c1c65d95d544b3d7c72bbf858139ee34752188c7d34357d2f599b031192712c840994c787a1b5a9d75462ee474bc17e9dfce9c49b27b6897fc174ac03a16b8641219b805296aa54e36afed4ca500da6a50442e30d06e18323bb78fa1e036a837aaa66683bb558aba7503b8da10eb4e9de050617f0b940a2ba5821deeb2603f5a5d3c38cb9f184cf7c6a66b6485b4c9d15ea880357b546ff0a43727a30c1d70316f8c10596844901e3033880944d6d1190bc4cde580b04b525da4923b8fb7e9703b41b42f0d50ffa64b710690fe5b58ef200c27a964d2023d84391758120f8e7d603f967e4a50a60035b903cf3e622f3e118988f51ef6d13bd3703c0983583196c2c0219ffff0302933a59585e23139054f3fa361d1b11d9cbd5358ee5d7cbe4ae18533b96bc6303192216ef2ed65e830eb12bcd69618c1339d2d6be4e84cc2af666707a30e3a816033d344c19e758c634365c3a855cb7dbfe13ed9606272cbe05c1a9ac14c0842fe603fe7e4e26d10495c256e41e692afaecec308740ce734ebcbc1c50209827d0ee990305c997ac51e4c8aa54ab622690ce3260f2dde54d2c4f7c0659f14a4ccdcc61a90373c4c5d65460c9f51f7aa0781d1bee033b57b8a3e6f80fb4d7acd37c3044f65a038dcc7222b5ea0a5985462c2960dfbb7bdf4bd11735919348998f4a0397370cc9037c7f78116b96de11ab0c364167da129a45f326577657ceeff782b80b299ba12303b8aef0d4ce6625c3e246a0d6e8b07c9b96e8ee937eded0432039e480a71360870325513fcaa3b81c7e277e01d6076e62bda71015d1792955d25c071e6b5e1260240336f2f0ce2206191fc9bc8adfa0e2f7de71f19ce78407e27437294e4bbd53b82603aa5929dff076e6be0a6f69828ef680ca1b6710e584fb257dfd28cc6ad071edf803b88c409de7c3f8adec5ed90133707f2d939c50e67afb19790bd4ba92e52c85f403bb0929200904f4e637392570ac4d0b4c67defd85b09872d26bb92c462afc5d7100581f025de823c1dc39c190aa6e32946f4490ba05b0d0b35acf48e1ce7ba07e7417480df2fce32d73f59e00581f02a12bf686085fce9fd1e11630b3c0bf8f18a1c4cbaddfe9530b4332b7aab4410800581f0226661afe80cc2626c872a6a88c84ea363fbed12bcb63472ddcc85c3424fb410100581f02726a48a6efd020c3f88195182b90108871b76b7dce663e476db18dfae0a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02dbc3b79c8155a4a643fbae2da01400497eeb50354935eb64886b69ce6d4c4723ec720f2ccc1503e90453e222dbd33a1d2c4939faaa0a5062c9099b258528e3bc11a3e4e8cd790e00581f02ef0db8cca8c32d1eb6e6dc7ad3fb87d853bc4cf9588522ad9a4ae36541465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02810645c871bef6c35f9063f3056846de45de144e8679d768a1cc958b559841030219493d03f20d40c3708deb8ec124f39a207097b97dc5ae8783aeb55e7408d37e85812b5403c4380410b26b2a972dfdcd7b1c5f362675f21052ed3e449e7d7dc079936b804003924169c0f9886d4c4e431c33de6e10ea2ff56ad58071460844d1191acea35d5903bbc1d0e7e902301b1a15f099aa5f4a8991d87d7c5d3724e5f1674747cc4c54b2039710b5fabbba71480375589c52e54e86f2321816761da9fb5e437b0bef107bb003d7a144b52ac453830f777cdcf9748d0b229d5b74b0c0ddd79cd93a83364c0b9b03db82373a20226adf484b6d3049b026f1ed09d83eee2ce7434fb264b011a5ea080336c81b7fa6ed54643656acf3f92c304fe829d77fe006eec9e6a1186374973eb70371d002d04f5d997e9454e8babd6261cb5f09e78c5afb213382eb133171d9e01103ea3625118091588cd6c335a1e3664eb95690f28ff806775bd40b48b5ed2534960309b9a4e69aace230a21b1559218500b79101c78a93f26e6c6032d27337060ec1038f81152e7198e13632ec746377c894f78b3fe3a3c1d75fca03c3c6c66b2d34bc03946ddf5e1eb2acc63c4dfa4cb7a5384449cf6edfcd182a3e9f33e9cf53992d0903d0fee8c7670195cab6fc1060704e9d67bc738775c70960f02d0d5abb6b8410b80219ffff03203d91faa71dde46441405bd1c75365cb6cb112124ff92ae7228f7348c12ad8903fb69c170b99fc9b86342ed9a41a9086cc7bf80d71d9fbcb6dbf67c3ad87179e80219ffff0378ef866aaec9e66e01462f7e7b9dbe97b5248e92e68e39f7d73ac95f3f2a40c10398df71dd6375cf87d05ff5aca21a2b6597c572e0a0c37d3998bf4a0266188613031b3bad7876659e37624cb24383e45a367a42c4893cfbc4ce216b7fcfd3a338a9030d56a78a6c3349ffacfd5f7d8aa74f5ffa89df3f2fa3e19a5723ba7e66adadb5031c3427f11b411ab87f0da47d4ab206d329594bfb6217cffe4f4baba36884c28203e4238e078e3543ae76eaca74224564bbff9af7d3137310a99731618253fc4dac0336dd77ea10955c26d955d385d77e659ba9e896b527090c05fe5ef6f5c5f0379f00581f02471114fcda013a1af0a227617f3ba051df0ff7cde2ebd627de47b676124f428bb100581f02920120bd3ce48da15c85f9fab211b438c13103328e1b64e37ccad45c01484611bca2bd186600581f0266c4d34b1773096e8b60c28a5a7dbe615891e65d40e75f00c83219c0f257410500581f029eb9cabd8f4fc844ee624d041c99d99ae5f36004c2b2560510875919a29a410e03164d17701af5e97dae976a7748bb092df32032a6f33d69f7ef2e7fdf1727868100581f02fb268d27179d99688439bd12006c2354599180462c5fde072e23fef652b4544ce96aacbf4a605084d757141be016de8431b28500581f029a5ad24c7c6ee443bdfa50b5411227414c9acb0e313e317bb256935d3114410d00581f027a4b78e1c32fcf7fdb76163e9eef041cd41e2ddc93982e5efefd47a6970c54e8cffe004c8f5bbed8d4c76ea1519c5105ba51780219df80034bf4559fa42bfd8ba9febe4ef75d0fdec851142c3362a63a639b43e47dfb5d7b03c85d9ecfad1b9f58a91963c946dfc09f1099c1b6ff7c6aced726ef2cbb4ecdd0030634fdd6b7a2339914809f1a1a754d98f2bd1f59ea4b09998ec833bd2f59ccb000582003cf08d88696f6f31f1b5e03a7d47c4cf729ba8bc02c1e9712d96d51f80e4300410103ac99d757812b828f00b90c3065ff53573efd3fc34b9e073b82814a39e6292e1503e75092987b118459d308fb6fa3f7f1a27c7589b521cdf36e7b301147987b1c4a03d59944f30ca2f83f6e68b1e854d8d627ed23c124f11735923c3b7822d50c5f00033c6e9390dd098955847afd5ded49b1c1cee08dbe39c19def81457b3bf198204e039826e46c358736a06cd2bc94fdeee393164953aaa24672f26512e6ae18f82328039b2086dc4ca1e1067b4ea374d80628255b054861f69fbef3142c1bdde875e4e603df2cd6b79510175a7ab97098a53f72c6b9e8e57706db343cb7706e556ece8d000219ffff03678a7664f1ca23c2a35dd1f2e4137e4360ad2ec680ae68da9242699d4336c86703317c64c5c79e227bf439d51af21aebe5b7a0335af76e507c8423db40e24e801703ce39254e8055b184d0e006709fefd0b9ee2e716ff25555f260dc808bf19b256003de13a8cc504dccb5fc7adbe8e2ae5a8aa03832723067e2564482e19b806195a503b4aa6ed6f789d494c6819b094381b1c14ce1f0640d8f6c2edd2dd52d07329450037eb0fe3e2551be914cfcd2b454a9d4cf9ff01a15e57dac03e532954d99307eaf0397b7104f468fe21a20e9238a9c9e050646964a605526fd043b250bd60b18c7de00581f028e2cce6bfffef641ec0f4ac40596c3d9cb95e62e545beb92282a908eceb1423f4503c09279fc2cde9c51f4dcaf1a8f02268073b2bd6a147545626ee18c515ef08fb500581f021b95d1b49bd9faae4c947aedfc52c070c6bc2e49ec3ae3a2ac252928ab6b5468808e7822a54c098fed2265b946013d1020ea6800581f033fb7423fab411702338ec9fedf41f262def894c097f81950fca96b7144f0411d00581f03852beaa7c37a973020369f24e35f45c4eeac0ca0624c94ca8a9eb7895ad0549f41a7e24fcd572079a08af2530ebe7d9bd5c7bb02186000581f021b41a4ae1325a8bac4184e73185bbd78e14c86ef7c3ad4524de1f549defb4501f6eed4eb00581f02f27939b9f512aa77d11bfeca6c9bd3ed457e81c238de9f704030fff23bcf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02933aff1301c6ae9cf956f585271b0fc1617f32328c069ce83d439a2e5268410200581f02f5f121e21548f67e3e1209b18d2f8ab7fb535c578d3be7c022706a4e23b25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02194ea60398a309497d5946a149f5f533598132de8a2b7058a9c4f13fdf6e2f488d7bc6d400582003452bf5cf56d19600aebe0985b832f99211bb4c3ba606028ee84632f4126ef0410903f6c6f7afbe8c6056b4809bb5b11546bf039a2b5d7433bc75d0c37ab60520b2d0034d1db10df257dcb9eb1a4a47ed0d75c096bb07fe3a33c189c382dc76733c8f9603aa178b653ef12d90a22a91ad0d15d4826febe1a13d61e182d0251945131ca774035c3da35aebc70d15c460fba5c258b1c8abb97233baee07df984784ebc2ba5b9a03cc2eead7690fcc166a9fb7952924be642ef60309e24502ad4e0a692747a0ed3903688590ba272d3dbf78caafc270c59827a0869d85e31d3f6592d119511b0162140219ffff0371fde0406cb697c922ad82366c249f765c76ad124a817cd48597303c5345f28003fa0b15ba54540f2411156bd151bb9c7ef1cd03d5da76b7cc27158ac9d1bedf2d039e61bb4eb1c55261a5711a31d22b0041a902e0a255cda57c6d5d37c0724619ed03a8e52477b7188726d1808cab1c048d1fd913b7825a52eea04e53056a5b4224f0032e2f48dea5edde817d48684b1ec3d1158c5c2096c2941bbc690c4a96faa746f103bea1f317e45183ffa248a7536deeec904894ef3f8d7f71ba3644b59b53e63fec03656b29a7fc8270d4069eb49ccb1efb264a354d26b1be9af4aae6e0a24594d17303d3dfa42e9b77c4a21a5ccf606604b8f84a4ada1f0172369b7b4dcbfe2b6c85de03fb41ebd264546d5642e8164e2606590a08f7dcc6d84f29088159fea294b7f2ed038e64cc55b0615dc5ad2cc16881a27b2b5050cb08024d816a9d6a42d04c5baa0903e1e6a52cb9a0ac2de6126a5dd4f8b054708b040e30b26d596e1c28b6d0a261700219ffff030f88769df794d68aae3c9e65f8faf90c1a659dbdbeb0dee284061b81d7e10a42030f8a96252108c8c54250ee8b82d5fc2dd63979f65e0c58d1f913f0c87399061f03dd31d35a5d1a5f0ef46d741f73dd5c245d4a4b68ee5fb58dec029b001ff7451e033b445f4377a6f0cda78fc511575c3ee8d0e63607091c20dbbc9521d5ec5d214f03e2fcc5d568ee9e9e5ad2dc31fe4a6df850b0dd086e3b3f05bfa20644d160899b03892f1b22d56f1c8e47280d54bb339213c466bdafbc92076e5ad220140cc3319f03825924f86555e6d63249faf2b9eafed58ea0ab5c04c6fdc940315c596586b2b803c9e8eac7168764c8b70f3915d89a4bfc273b3d4906a1c97ab0b10a0bc61b2dfb03f3f976d291a82350fddd836bac387f77419e307cf9a6f070d7a02f9d425e5a3000581f023f414ceacf32fff17f5fcc778e6279a21c0649f58284d3da5a861f500613482b68ebc3f3ee8d4900581f0212f3b542812514136b611e5a1d7a376eef93210888e340a6d59e5361e153410203929dc327eb39d109b815a5d72455d750fca7e1e25218e12dc5ae3ea5b7076a4e00581f03a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b042d10700581f031ab664960f19d5b04d8bfb265f5d5198f0e55be951138b7c4aa848f378a0472386f26fc1000000581f0320533c2b96b1b0e92f3e0752c706f9db76c59f5964e80e5958483f019e40544554c4e5a971a25af0c29a162761d2a0cb855833021904a000581f023fc8e743015f63fe6838687e26900eef02eb75fe921b9ee91cdf3d54e6465820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02cb8c5ebf5244a0cd88e063d1a883ad7f80025be6be8b490cb2440c6a8d58415800581f0247abfabc9a2e441db9abc070516250e781d8ba5b23749f816ad010d5898b410100581f02298c44899077b2da6d440a94e801f6ec17c7eea5751286bbab864275f7fa42b4a302195ac30374b7ab0b8277e41e96e4e73e572c225d9530d4b2fd8744202f60e7d12d7e82b103e31ccab4d7b8b9cfb7d3bef282b1086c98c4aa9ad9f9aa10707a34935355cf20031215bae646c28eae3a87b45f08927b899b5908ebb8fdee3149be923f4d358e2903d6e681b38125841ddcc9ca52acf2834216ec6fcbb468f5d22743643ff94d3c550300f416e85bb57e13ddd571481dde5ff31bd6181ea0317320b6125d181e17516303c74df4fc939a9ac694bf450914222727fa79469bc6a29b4e76d76ad9a50df9d403052078053b751569426da5355284cec9047dd4c8f51c36f42ec441ec5fc84b1303546d146964a8fbf5598301981a5abf45fb45ff87156f32132f3ac3c90d4bb3f00347182d795dc93aa55bfb9ef642326a1a5a214158e61840fae79d3609cfbf50b003d978e6801113ff17b22363c9a11348724f0685fdf6aa59ff367e98149f6ebc0f0219ffff0335ba58953f823fbda866ab796fcd2e29213eea82f948b3955cec53e7bbe2ef0a03b7a1959c16b07dda158a173cfac837752f5a18a4c481602238760ac5d1680db703c297a0f953a0123a256f34ce8b2897d1abc9acf943ac9a141029ad2632b4fe2303bfc2983512d108dd897f3e10d3f0bb45c6c71005e3946af94372b0d27982406b03931fc5f5cd35d198e232fea9c050bb5f8175342a1a51ce5611d8672a67d3a8a0032b5334fd7c02a9a3e601de7ffd48f90ecaa7edb67423a5feb2a661c59bb33e9203eb2100091f55a28ad8a36fcecb8cb0ff2fba9a55d39c350522591923e92e56cf030ce552ba4994b1aa897b473634dac84a3b20717bfac31998b07ba1a8b1a6362800581f02aa6b03c9fdb1a9a0af933476dc80e79ddd92baf57dab20876398044a95a75820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f026a380b953855c0a06274a60d270e6fd4ab664ccc146ee895f0aee8bcb7f9410100581f029596e8e46152251cddfa894b4b9a969cbfbed09d406a126d0808313090dc42cc53039251acd22588428edcef4679cb4530b08edcf6bf7efe34d6b9c1416f91149aef00581f021d2e572b06395b693c8c36a5a1f7e77a16cd77440d4971a44727436596f44289a700581f026b49f5dac4b6e6e3c9b373c9150ee50578361d0b9f39934c41bfd19597f34111021918ca03e207438db574939f4d2052d1e62e2065a39a281f7c1cabc96bd3bf283fbf79d50381c81df0355763f75a37a8259ffdc2991402216c4568ad5cf2fae32c5f14eb150326504c4300aa1d323a3730c7ddf6d329f2c24e72f83f8e1c4ebbe304e3bd0b270350f58606e3f0f3309d9eeefd22dfbc565809aecaa9d44beb70da2a7df9c0a959034f0b00a25ac2eeab2067919e03870f1b4e677efee5718f3c9ede896bf5e602c303117e28c4dc897753e5af0474835e781a4c9630091b6c34062027f58c1e3a94ce03c15de6cbff9531e383e8b556b4d0b41eedbc2ccfff45d53e865da03188582d0203b1cf1d77144a5f8a4631521ecbc063e2f2fcedc2529547205829e0bd32ab694f00582003a9f5f7871e0eac180e7dfaae3be3a79b447d9809aea2fb2edef79f1eff9d0054b34a45fb62ed69e0066d1b60406463255e1638ca036fe21c01f1b75a380014eb1acc8f453dc737feb18e15286cd6605716b3e922390320b2640ab6d3a746c539c345ab3cf8e48934d498f71be2c2b926294a0fb30731031a2c5e9326602f083b520a5d572e764477faae25f7eed58a44af37e78c5f99f60219ffff035b276b4b1dae3b641c40e00d282530094f89cc291c0ac642b27ab0e190db842b03a2b89fb05df43e24fd25cd6189b5746a20b3c4c25200f499b2c9eae1cfe39fd9031a5a31b4ba343683cc123cb32d09685bb359809f7c59fa267f48bbbdfa2a4923034fff688375db2633a68275992427586fac2c2b8aa0323289ef4d0fdb89476a2403c99c77bc0ef92cc0593e8f7306d086a1b5d0651e5579aadb02e25774918d67d9031e7f1012f881b2c98cfe351fe10cd58943757509490a0e9aa133683917404f6e035e0f7fdf77bfe733a3795766bc08ff71436c7d1bac7d30cc2d39105cd5aa6a7d03b8701fb9ee4c31a0c8d9bf92399701ad2823b901fdf12732672fa526847f2171032a19be148b7373bca4a8d7235b063de5d8ee9c1c8a62c5674a50db2f856f19e50058200328c9fd55ef3f12a282c0cfdcce633a22466ad809913c3c778f600d18968bf047113cd18bfbde4103a6f6d543766a6e9c71d037ce1c91092e85d5fbee4dbd73b38e69aa1f4fe91d020336e782939236d8eae5148113cf84d1275d21db445a03906390d5bceaf8aa45ba031cc0786aa26223ac1c94edc7725bcb495fb881a5040591922b0d3e3e2a09afee035f9d37f32e6f5f1867dd4e9cdcc427262300e26b57fa88489586d8d17e823751039834e2bce97e609e0c3c6abcd82c8abd23aca21bb749a92aec70a45a329f669303664971632b65816cb5123a9d3fb70e8674eacd5a000d2f7033e177b66c6af57403a541c4b03c1eb2072a4630a08c012615622a1f18b9522f26849ee8989e0dad5f03d15ffcf054f1ab4cb4645e6622c5a235541a17160441f939133a861a3930dd1b0345c99075a5163920f1fa2a5a673f56adf8ee78d308acb27b4f73f9e80b0e67750219ffff03ca430210688ea6b3cbc9815ed8894cc526812385feed13bc92b80190f6d0015d03318821af0523ce1620833e15549995ca801607f8e56a0f3867e220d37923ec3303b42c2f794fd6c38f0c285a2ea1ad1a545ec311fe23163829cac7b0f0b93b10880219ffff03cdd05920f2ea207af6c3d6b4b464cf8d1d7181d072c9f7c92712d8ac82e539fc0343b343b1bc2cea4a6c0c394752dce599c6366d20d83909fb6e0df8ae3795746803ca2b002e52273acc4d95ee45753139c65859002dfa31accb0d085586b4ce8fda03c1eb924d3ae51eb84ba16c0695aa352d3b73612e9f285254b6fa5e3fc64e3fcf038a2abcb7aae5cff965958f5715692f55fc41029c1909787b1769207af3af04a3030402245fe71bcc44001ca5ce0003cf345db2ce4ba45fc259b1f82a0da2f7cd2f03551f0395b54db7ef2c626e898e7ac956281b224f5e709b2372db8623073b340d03e56be1509cd275079244afa0c362821535d63ea6fb598abe8dcee3074536d6a6033a67dbfcaf4951fd71bcb4de6b45e755df365e94279e90c21189c4434627481200581f02737ca34fb6114161ec8245c8f7963d6f3bf2325aff8907f1c39a7e4b09ed5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f023035c5f637e60e48eec97565d9f7b4800e071bb4a8625142462bd5f3c2cd5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03a86752199a16be89dd8c24ee324159ff991e26cf3d9d1b1a6cb45ad529e203d400581f02432f9455c9413d8cafd5d037c0158c68c8cc2a32461a8da7ae0b01933f784725803e30d08e8200581f0225328f4395e2bd6130b29f1a30afe77ee6fa43896b75c8be6c9aff9e610a42bf6600581f02c8790e98a22ac767ea0dfcba08f601f9f4e79f806fe9685595249dfbe95d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c5a37057cb7ece487c83b4231dda21eca33090b84797e534e584644d06d5ff0200581f025c67a0da73b02161ec58182b7069ab5df22262ffa172657e73ee0d5b6107410102197e8803d0f5c90e13ec4185a4ed416a4d9585e1466f3ac870c5d9b332071ac20d1049ae03329fec4a59c85559b80a67ec4062f70423bbbf54137c39798fa3065469f28c3f03009cd91ec1b7170b14f266e4907ec4e50c2c5c8fb3a47a5a9751f6c111907b4a00582003a97670be2590088a9a35f053bd00b423e5d8bb75be2ee795bbd6b53ef2daa041040314c0d5f541c6e26286712bc292b6a15d9cb8d83cce055a565643e1d27e95e4b203cbc74a078eb9b61921568d33d4c64260c77868141c44f54f6eb97781001bbe18039f244b362efd0eba010950b395f5b1ddb883ac204d7198168b754ebaeb3730430331aa5c8886d84e65e0048f1a8734858f4145e03bd24729f1ba3400fbdb118b0b0307dc5ba55317aebcff776ff29dd7250321b2d1d7fa0af0e43518e44cae952b6f0219ffff03faf6a32d6b702bf715d32a89ae476a9ade02d2dcd1a0a5cd578e1759156ec52b035e8e4345b591afa48a05ab6ae99a96f077fa82d02b7a9be835b3bc79f65c7c9f03c098301c481d6500d17135048e8b5939f4a62121e7b7500b9a61b1538b1d760e038762d7890eebe388425f7caacf61e4b941ab0191339b2c97348a98e7da80aa9103a6cb342487f148240cc96fa001a6dde12ea7e50b0ffa46502824cf53d17b98e803a3a7400685dbacdef3b8a3bc1a4925c068921a81b418031c496d911070cf3ff6038c0efe0212024b039cfb5ca04c7b2efbcc826dbee329a228d289b06eac264bc6032705110ae1a29799af9e5f8a39f1e033b569accc6bb64f762d9a0dec20fabf4d030de8e1687b4d892d2cf423dce37d2147ea8d71f41c1018f0843e54289e1ef331035bbcaa0619f99f84454b4531355c303ce96123c0f28e368889ac786d9c8fa48403c993283391df345dad85d14069bf90a36cbbd3f6965fe2fa1bd42218e5d4be7a03f0a138f3a825a3a10cba22f99ee7969212e22c9814c9e8e1a3f54bec2f13cc9d0219ffff032769143f77282ca6bf636ca33edd955766f55dd262cdcdf43871c412598ddaa603bc8b842beb575bdec8638d912b8671933f18ba7c365d55c2434d5b8163abce260219ffff05581e0369fb3acb688ec0833b76571adb8bec9d01192ee2c5bd41b51438b48280070119202a03a546b9a1f1b5222d221898a193f0546bd684da8b33f4cd85513383e58541461d05581e0375f6be4c94ec8db2ff43d669882ab0eec29bb8c0120b9f49a4dd503b600404030631bbde9b1f984125a7325a2a6a15403bc0250599094a57c034422ba83a62b705581e036bc29aae9ab1d575e9303ec7b8a7bccb66f352e16ffd847c2bbbc899c0040805581e03b241082d2135ac3ccec1e87a7f017ad6bf87934f77beb37a86d534ae700c014702f0b8f7a29b7803e0eda5d3a5480dc8ea5da0c85b538590b93e4d2f1f82da1f0961b8e2a8c7090c05581e03d442289d5db854fe2f45bf72f76ab99e937420745e213d4987526315b00c014677b0c5f2eb1705581e0362dcb6c71d7a63326527116995a809c8321c3d3d9ed190a5793aec0f100c04470be60cf3d5d5da0312595aba11f1bc6a8180d5051a4172b981b77cd82388b4475fea91ae328cdb21021999f6035798401a74e041e5bd23a00f2aca4913759e2bea42b7bb0502a086fc8f8eefe603db6f567a1cd62cbf00e6e4cba0c17eecd53765602f2a696c936c105a526f03fd03106918e83d1fe407b94f655299529fd05d72e273ecfbcc55d7058bace20a5e050376805a0317490cb460b2a955be780450f6836dd1bb05d8a0311534b86e4cbd8b0317e0520ee6cdbdf3000f978386f5e97130e317b013b2e637e52d52e70bba92d10219ffff03d1d4486e2c6bff5bdba36c57111df8161b46035ebe4a7feea12280efb7abadc203622246760650fc1eebadf40c41de6af008af31b75932edf66dd28a42cf6392b9039c80afa31006c3efef2127a7e68bbdce8aec15d88926e61d59c5868790abda2c0370d5462d7404481b04b145698b68aeb2231f6403e2368b89b416a31079713ee303836128bd50abaf5a48059e41f33c1cab36c01b7333b03270b06ce5e261ab630403aba33a9328146b5b64163d5ce01e95744d8b6ac6dcc3f2082bf9453e07fc359903e40e85229f7a4c2ff5f732f0007bb1244e1e4188260ab1abcf9687fdad76d10b03913a4690991815f6940d8befdc7176aa6ad9c18a08ac68e4419dee9b7c97835903a0a5d2719007da830314daa7aea494b3bf501dcf60ba746e3df67aad39d1db0a036cad949b8b70273203501eef9ecb81276415d4d21be66e2bfae218417c1342ad03554eae355e33b0f1ff9f4c04cfd8b0df1964d522cf1ab1a95a90ebb519ca123a034e8da133fbc1c4db5f5ec972e7f6b11a7ba43b57d5f3cbcc25efde12cf4974660327a87037846a9ad140b95de480c902ab097faf89bc4c8b701612cec33f38b6c70219ffff0382a4e2c4dfb758c117096d85533632ff5029373e9d8d952b129a41b1dedead650358d9656141e4dcbdd2f5f54390ea1afc7c5cb98f7766400013be155a5aa13a580356c4b7056fd10e48feb32c2dc3d2feefaee74d0524ad97b7dfec56dbdf0e23d403dbd626ed7b96456a5f896224b117de8b7ddc7b749c6b2d402d21d7438a8a0e3203845f6b71c30077546d85eed620eff91a7f45a2e3e2cf1f60c88e758cbc96315603e6f29ecbd7991b80570a28bb242c63bdd9cb653eb7596a113b99fdf14f97bd4003368c55f1fbf07342d8c323c738fb2ea9f2fabebc8352a279fd997722cb8fe14a03bdebdaa86a254e37a582155fb052c0f855a545e8ee61e91fd663b92dd5c53e1103c5f0447b2994fa864ec0df232eb80dcc384488291643071f774b9747f0ac26710219ffff038b015389fc84cda7709348e85846f4cffd6da02c1adabda10047c9b9da95a9ca03a3f9e82499e7674bb8c2e9f1a781e783a1dab71b19048e230bb58e5df5973a2d03333fb5bf5b23b1f86775a0f27aadcf9e79134ebec02fefff6051f9878c07f7c703692e61deb86e5b65787f5211be79b949ab6add0d6cdc4c81ebabe51f653dcf9703342d16fd6d25eec5f89690848c39f90db48e7630c455ba1822e24fdcefd8dede0357350819032baf0bfcb2089f1476b54cc4c185c32e30d20725b9dd45e6b5c21703dcf2cebccfb2c9b99f315428762e8487713edd7371ef4943d8faf8f81096755403bcd212c35ca52390cb70af312c0a2e8661c82402d9245a68961e28c9b60cfa41033335c588fe2460af946e5e4cf03edd7cd5888ea17c7e9e3955691cd7f6dafdef0219ffff03a163ea031c9ff8e641a73f154c1c71c9ffc513b6493c3f619a6200a0f4b25102035b4df2810be1536437ba2fcf506a03b9ac1ee5626c19f39a61e3f32ecb8b3641035e0f6b0543c94577d36ce472158db75597afe14df9f8725185b3ba9d4a9fa44203d369a2794f66e4bd041bf97e7dab817da7e83c3bd3581cb880bb6347636e5a930308f3158a611f591d497dbcac4462612e0d0f4dd07b14b124f72c0cda941b361a0370b32cdf3563202ae998180d3c1e78d0ac431450f193d88bdf7b4a005ef5a04d0219ffff0368d228a2bb6f501e5114668a22408ffe5bb23ca4abd6287073626b82b0cc7ab803c509156302f3d96b880a8b732eaacbf000f68350ed14f30eb207bcbd91dc33cf03b559b49383b2f2a8513a459b0ffa5039041233820ddb3beda9757fac8075904903827e2fb9c666b4acb2a77a11004e3a3f28e41e256328f1fd2aea356fbf95e284033bd5d1d8bd1bc47e3b0e5364e68b9a339b53d659a5c54f31b84d481441d9b765037c938a52efaf84f440f34c5e7083bc9ff3e10c463172fba369f45a660a44a0e303e8f34aa1a8d07cdf43a1bd3d33825a6db784ab7541a15153416748b70a8d45ff03af5e35086163e702a7babf11037a4edab68ed5818aa1ced9b8ef2e560c7dfb9603deaafd8cf800d4a3d27d08dd80e8b54b4e9cacd05678687cff6cee69798bbfd0030ad896cae91949a85c3e45fe83e99d91007ad9f03a11729d65cac061f583b19a03df17c3e88df7eb66e3bc42a6eff9226ad790b1acaceef30860193a69c371f135035f39e8f8e797cf94ff50c4d3e8612cc29ca20cd4d555bafd647fd750ce907e780328a438af36388cbb7355c4550a338d85fc90c9968ec8942c90047add703c8ba0038496b23088b87f4c247935c2dc0c117b79309cc8b7b429f6eb1d849e892522b10393990e42a7da40102323c7d777de80586e89dceb21cbcb4ebcb6074dc1780e3303f662ad4ac6060f9fa84ddc459c47e98009160b7a9c2a63fdbfd38d66f31072e103a6933d9379f9715caae168708081b65a233a6c2014eb525ee3917539d0f16ecb0355b5838de9624d29b324001d06d9d854210e1bc9b815d3cebb3730fb18da697203e17a5fd5f0258a79a7295fc349c35bcedc07d42f5cb371d822336abb513926190320954c325095c2fefc2201f0293f5f6f5240f85fcc052a5d8a82869a6172aa9a034570173bcc88ea2710d14ba572afa4f318427fea12278a73922298159cc5bcee032e0a36c7ef00d3650e2a628c2db0a90cf6348e8c442b4db3ac29f220276fbacc036e99d8d3ceb6afded473f5bc05e1c7b1c98c3f45222a1ecf01a99b9b4641e64103562d44997323f6b304ed9740a3025214a7afd24c44e13a26dd10ec7401440546030a3dbcac1201260432eaf194827eb27c6192a4884e34b7d8ec500c90a7db10ac0308c28be29d0cfe27ce4dcc22bb798c97692f50db909b2f809d8bbd97d6b95ea203b5f93339cb957efb1a03f248602d638122ff3ec5ab8cc5c9bdbea0ba48e30ae105581e038c0101236e268b917b5c0108f9f8370987816d98284c76b588798f19000c0147021bb96329ba0005581e03a9d5a946af9e33d51d87cee40544ebbfc39c5d3ad52b77e1b30786b1a00c02462155aa030b580459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f0000000000000000000000009e9fbde7c7a83c43913bddc8779158f1368f041381565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f00000000000000000000000000000000000000000000000000000000000000c88f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f000000000000000000000000000000000000000000000000000000000000271061309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f0000000000000000000000009e9fbde7c7a83c43913bddc8779158f1368f04138d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a2f867f000000000000000000000000000000000000000000000000000000000000271062ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f0000000000000000000000009e9fbde7c7a83c43913bddc8779158f1368f04138b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f0000000000000000000000009e9fbde7c7a83c43913bddc8779158f1368f0413908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc81565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f0000000000000000000000009e9fbde7c7a83c43913bddc8779158f1368f04139087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f00000000000000000000000000000000000000000000000000000000000000c881565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f000000000000000000000000000000000000000000000000000000000000271081565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f0000000000000000000000001df4c6e36d61416813b42fe32724ef11e363eddc1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f0000000000000000000000009e9fbde7c7a83c43913bddc8779158f1368f04131693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b9450614bba60058c8b8d8b8b87898b60017f00000000000000000000000000000000000762d10ef955d55b7d038c7a7231cc61513b565b93508415614bee57614bee60068d7f00000000000000000000000000000000000000000000000000000000000000c8615325565b8315614c2057614c2060068c7f00000000000000000000000000000000000000000000000000000000000000c8615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03d17782c4cd36d05cdd223274e6f11f0bae006ace5dc893fe20d6aa29a4a3803903d1bb547bd6b5cbbea0f2fc3cc2aacbc58aabb8ba8656a4edcade9b7cff7bac7d03338a98e9989d7321d955cb2712ef2b05aef2828ed20e037a1ff05acd11b25d440337c09af6df0572cab700d07a6d4e17094409a90a622762065c74960eef6776ff0386de23cebd3b70eac96010c074dc8c528f7cb6c1925e0ef1d06a376f7bd3659a03c14777cc17916270deb514fee8cc463ff65551890a7c9816b5fe4338b703e6c00361066613e1f94d0d4345de64943b0be36fa2c8eeeef30209a965b84963ca8ff8031b54c9f810cd83202cee9ec361facb891cb4cfe6c08b6c1a77417e0852b03bd4033fb46b08ba86d1852f036d8c589578b66658493ecfc0a0784733a2ac2c610b1f037faa4d4eb9f99114a31dad6303c681191f6c2f22156e3d6d62ed421777380e97037d9f1fe27819233f385f571cb1b7f0df12930c9e9116143d509fb1911768c68b00581f02cb626d87046d8f6ee8ce20a08a646569bc433816e3507aa4385bbed101ae4e37e392663b4284210f7cbc6e8fab00581f02ecd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563581f010000010001000000441d0000000000000002642f000ae0305c97f5ccc3480219202000582003045a568ef3306cfd478deedd5ad151bbd143fdaf9abd51ca5c9bc2910cbcd05820ffffffffffffffffffffffffffffffffffabc8aaaa7faa5075e689c651ee00a9005820035fdd5b26e05594ab7f4573059734bc150752e47a50ac3c87b293ff60884b605004622dfafcdc2afb0d7aba966d2fca53005820039b80675edea1c97981c9ebe0973eb1fad5c785805af8052c3296461b55c4d0502cab60911e85c3d6b0eb5e9d0a1f2cd600582003e0745acaf73ddb5cc0b50544b65d05b21296b9f949a5c57f6839ee35cc7c105016a1f203601b8f04f1af74efd612172200582003f394fd8f898c934a91ee099b20c4220642002a802449a005ec6ecd04e1bae04f100157e1f8f82dd92e4f9c64dbe93803273cbc88dd8f6fef719fdcecb81a354c550cdd80fa750b74a202e9dc195346ad005820038ba7a39de05855ed18b20804f6c109c88c4654881536f73b8780815e9680f04fb3b56ab5d750c9877845ce6de3e93c0219766103a2588a2798a643741f7229005c93d8d7e0378887d7e019180f0671fb7b0daa3603efc27a949a5d727ccc7b4c152371d523f333c3e3c6ec41315b359729b8e77c30037b8984fe467633cc7930279b4952931018aeeb2c03335ef388287ad63b67c1ab039651e9a084d45fe30e8cfe4828a82b675176a58c84ae923e4907b00dc6302528039a2f98d9985f887de8fcafe355f0cb4e8c4737c6ab82be4d61e4fbebed3bc74d032917e09a215b532e77e7f11460834bb236c003d85da1d389208718ce58e81e750219ffff03112c019ac03a479740d3190de2e5786bab7fe86d3a87ec7f0cbb7bfdb37386f303e5d3f5040a637aa060111977bbbb22b1cf0c6c051dc4c99d0f56fae02ea3d98400582003fb44e3814ad2f97c355d30510921889d3b51c59bb2c833fe3f1b8834c989a05001e56d003d951e9f4eec6cefcd2c567800582003787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace050687e96f3eda637b1b9355b3d8a3de8e00058200350e533c0869bb8b21a47620a45b5269e041d538307ced18c6907c4112797605005cba62c28a4c1f716c9e25c1654b42a0058200324de1ff205b1e2e88f2a8b50d7d4b26235466bd23a5e71ea522f6579d988905820fffffffffffffffffffffffffffffffffdd0da2dad5a4673eb52547fb9791f12005820033714666fd6ff655a0ecd1548849423e04708014489371bf1d236d94bf6d3004805cd2318edbd14eb00582003434c8f71a411e0406d20ca91402a2f8017a7d300541032b08acf5de524e4e050021fd8d596112d85211cdc49a52addc20058200302d66bd6c59e40f948d57f037f489a5c9593dc8d50d50335be0622b98720805003005e435cce05767f425575c6c2fa8500582003f6a3a292d84b9b790282e53631d17b65405330585aaaf9ec67ad69f3d90f304f681354b920daf8d920149a09a86d0602199ce303a3e2828797e362aecae7f10515a1b12872e9f9e6f3ad68efb08fa9cdbe49461e030e1ac2a40e1773010a5b1dff658b6d0944134c347159a4f0feacd1dc1d46aba603ba036f38146114b9a61e7ab4f3c9a5118109e5045675f3e8fa1c1d68cb015462037fe35171803c405a480f91c7d2d986657c43f5c08467b049b78e378172b7b193030cccba7b57f509c3cb416c1afcae972b474f0da620aa5110725ad4d1ac4ececf03023508b931c7981574fefc7a77e14f29efb8c2fcb0c3816e53eb8f76c5e6291103a1e5e82f80fcaed0cb0ab828114df618fc6f0d62442f9b845935841646c1dc1d035196e7799facc0c78e231475f707c75dfc9b0e1141d7394d438ad30a31ffd98e036b8b867f824c816767e95b09f2a54763af3b807f387530e950806bf7552145b00303db908b36e289ae7b6f0873c7b0191a56a87668a9242ab2f6d12b2d137bcb3f034b47319eda20016069524f90ec904f3f97a4af2102a329d1769bbc8fdc19007b030822662fd4036dc70dfe7695626dbbd73dcbfe2007579afc6884849d3f6a4c7b0359d60a4ebbcf1f1b9aec2693e4208f9c2b9658f7ce07127d8043bc3ab6a547b603f619032baeb8f496342bd6b9eebb4e5a915de1a8e348f629a36c91bf8db0333c036b4d14477a4f27b352754db65610e600f9c0b4c0b71e3d9d793c238795731c370219ffff031bd47238d8bddcf384ad8566ec0d6b0d74b3450592c2a0982a974456a1e8a0f603f55a996c733d89c68ab21720e0e8180edc292b3d0c65c86357e81f64d2d7ddd803d2d47f1512a8f2d838b3d259e12b64d1ba99450d512642991440182c05aabc64037dcc6ca7e612eae155d5501a9f8d2f07c50f226d93b5ccb49eb0ab1cb3a35e160397fc2f4af53cb44f081df2f58de1ac7bdbf4c68b100dc1c9c2e4715b88cd2990030719f2233b134ea32f14094f33d137a8cdfb281384586ed7b28c128c4d6c4b9f03bca80a83dc94e4b907bc490772c462c6d62ff7c8bb3e6b1d42bc754495d2b16403496d83088e932f9f91cda9726e6a5f2e299bf8dc773a35b1603d948c9c5189850326a9ce54fc6c699cb12bec15ea9211e3206fd0a819cf5dc59f505f4353791896033fc4ad7d6497abfbf2ea5fbeae7c34f202ef965582c361ab8716eb9cd7eb6ad80320adaef509459786c17d48fcbaba1f2dce59d3dc9a229225b131db24a9b55d6303d8073b72e0142845326fec7ff529d7caa30389a009e093c4d9d5a5a81fd38b78033f2d7f373352561557d592b1ff25be725a740e079b79d8d8f723a8fb9f83687a031ab5d62d0d4b544adc462aa3d1e8f954d307cb7fc01147f0a2c5e56a6ce0b1b500582003fd805f52096804894e5a07e68210bceeab84539df9acc559aa8373666a25e04f726038fcdd9f9e0ef4408cd3310bdc005820035acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b049aab081aa14a00c686a005820039f5f0aa038d5e8d2a5704c0956593eb3f091c784484a4231b0fe5dd11cc9d05009c27cb3c2f65b10014179fae2db407c00582003e0fcf3cb208b9648f2f8742498b435f3f4cebca69579418d6ae60deaa7f8f05820fffffffffffffffffffffffffffffffffd2c8cb564e4737c9f1dbef942bed4ed0058200324cf913afe092ac0156af50cf4910626db47dc326445733a6776ff81dbe4305820ffffffffffffffffffffffffffffffffffb9659f3c63cc526d27961af312db0c00582003ddad8ca21662bbaf4b9eea3b3c567b39d6a9843ffe60ca8f5c4d27976042a05820fffffffffffffffffffffffffffffffff87f57bc2a0d4ae30fcfc078ecfbff5800582003a35ec2c8f1db4c0403b1102bd8d17267c562b1524f4ccc233a24959eb92a7050046d115139f7a497c793dcac8c6e8c72021924ee03fd84f52b565e0a75c6a32cff6479409a53b94c534a5c7d4570aa66b813566e9603cc4e859bb275929c9b83792e421a885df29b844f9b4c15d73055485d24a6d68d03c3daa779b945c1d000f5a925e3f09a1f115970cc2b6207b7c5758351382c1f60034f6fc5a0b4648cb2f725e4173c9508c41461f5e57d7e4f7cf8642dbd1474ccb10331c2111911e565873a4caaf841a5d9d3018a598b42e21736ef834a42c25f5abc0219ffff03cf06a6af59aac9ba0400b7c54caef60b3190ed01f63f190576e7f6788ad9976403f935fcdc07af3f5d0e74dc89f7dbfee7bb0b30155395dc3da8c7e992d3b8b079037f7010cfc513aeaaa019f6ac35f1e4390536ed6555caf3edbe7b7083e7870e5703f78e594a9e6c6a5c9cc4c450151e7081a898fc9324027b691ea5c5e06f6dcc0103e72db0dc7229be30cbc045f1fa7a2e1ddf45df55df4a7cbbbd9edcda63657af3038495915d832495e8b0423b8d2d88145f5d715105aee06e60aab1b9ef34ac7bf403fae3b6b0d6e1afb318939237aa7d38555b9bb126bbe89ad2878fbbbe91d92db0005820039b48f25d6245f73a6d02c822f16a3b341b9ee27473e32010a6ab0b428d4de048ab214e0f14da828b00582003198ec01d37a5c120bd4fe5160209d9a3fde2c9346fc768866de6f8715cbe105820fffffffffffffffffffffffffffffffff7bbe8d081ace812456729549b18106c030d10d363b46ce6ee11991d012aac6fa446e899f0f752ba93f7d76d084140570a00582003a0f4808f7f0c52440675894727c9e66265266cd1e1f5015f8b745ca2de5f30581c4000801081042502a1f7f99f57fefffbffefdfd73c80441912002a00005820030410f131d8cddc28b24725376dab161b7915d4683b8e007ea2b615f9850ab050020bad51054d791edbfb0f299cf327740219906403cdf49b5d76105b920232c5f6818018d2560318b3bd72b2e3a38ffddd231d31db005820036668a7514ff38d59f59871e4b6fc175cba51a1f1828673e9e8eb9aaf3e98b04f1a417dbc3160ad6995ebccc0eafbb700582003271299ab0ee12c543b81dbd4b4a3a97053fed5361578e4b11f8a19493bc9505820ffffffffffffffffffffffffffffffffddc99551dcbea3e4fcb0e86e5f1b68b803187d867583a70f83f6688bda2c62c139372760fc02d814dc8e84cceea9a8575e00582003778d56331fe985ae74ac425470f1ff1e13fa167a12a9fc4b0fa065ff2ae6605011757dba76046a475379d62c3def4d11005820035351d8672387b37d86550fdfc0070a44a82d0b6515e3e6fbe4e310bdbe37b04f047406d9e371eba09c51786d4a22cd00582003bc9dcfc21b7bdd18f4eaa4700547a41911ad8607abc59ac8a2935e9ee3ef40500b2e68606443fff717db43d196e13d1c005820030fab288735963648f7a27a02d18ffe056a8396518819d2520bf75923272cb04e48458fe5302ca815e9b7dead40f500581f028e06f13e7919f19acf2a388bbba12c34c25c3edb38325e8c24be4ba318a05006f80e36ca6a5280038bf2e001ebac1e00581f02a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582001000001b000000000000020406a780e664d939858000003b2fd004065cf60270218c00219ccc5032ad796c18ef05ebb09657ff58fd63a4c451a7c3738f81ccb74cb89777a010dc103948d17c4cbfb5da1876891aa354068d2b2c08803719112bfb8163af00314a7f803413c6b4ce2b493b2250be11e00e7e71807d9b9be73cdd5207ec50634f4eb5991036dafe2c70d779072cc0727d2559c2d7e8b4ea11d52c6e938811e3530d2f7dd9a032e887a24ceca763b439e0ad3e3d6fd2e4b3660acb9e767582369450dfb2ae7f903b0dc4fc9641c999040d29cab56f176b2bcbff1ffe4e486c1518d2722f5198a2e033e6ca7e7cd045ed42b561775aebdcf4267e70991ade486514379a7b7840df7350372c145bebab08c9d89fa49b563aaf715acf9dc0d9e341c1cadf281ad0e22eb62038a6424a48cd52e972e39c994a54d493a69b93a8f7b9d276168d9e521d2f85a58035fe7fd0775b8f8b2f17239e86670fdb0f55714a3f0d7a5b69c123c6df38ca001035d9b3e20327c516ec9381d93ead23870134a1f421f694c991d1f2ce955a7c7df03923193e139a98d3ca0b7997e2777cfe77d67b1d7c6c224e7e912d94dac5155520219ffff0219ffff05581e03c63a2b39d3291db69424bed53d4edb18e94c1ba6115e52cfe72b31f2d0070119567e031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e039eb67ea0b38e576078f35745444edb6b6e3e019574e1d2e56b0390fa5007011bffffffffffffffff031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03ccc849355732a0e83ed860e8e920243a9d3ae3e7cdca85673da010c20007011bffffffffffffffff03f2bf302610e990e0039b8b855a5f692932a2a20c6651cc866a1daee56ccbd57d031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e037bc189fdf2ef1af5046626b500dce9595590ead4c1076f50d33880adc007011bffffffffffffffff05581e03bf7c22281b5791656fa5dbdc49952c0913dfb009497ad9512ebf4ca2c00c1841471e8e6c4337658d05581e03073bc5ec910e0655b4f432c018ac43cab6cdad628de03eff36f961cde0040102198ec703fe71f6f923c7be6dae9f9d758b69d418ffa1b1377dad2c97ed67c30cd585560c03794ae0c876dacd580e09bb89fdfff9d6d2c2568a3ba3c3d3af6a7e6368c2a3b503a46f94d8422db47f7ba34ade932ea9183ac91f09da501eb965f977b49247146b031c2eeb76b3262bbb0da3cf65cbe9ad22629bb1e32d3f43c6a825300a9155d0e403fcf6008b49a07304e20f4c40d5b0053b8f55a5a113755484fdb8ca5503de8c4a03d6328c614b778654039fa290b4a639307affee8cee4febaccf402920238e2ddd03a481c6eed67d93cc9ba1f3d5047150ea1fd5607fa5473e5eea507d297d3d014a0219ffff03977dc21575479ec24f0498941309561b4211e2548ca4fd6f9ef4864c4f2b99d9033536226bcdb1ef0b4af07084d7b56dfd5e9446fdafbaec7f9869b0674bc0f12a030f18d7c6021382a8d5680fec483b86ee0a1a52444b0c1c00d38f3a8e3fa8b5ee03da1b86ac746e92a6630199116a1482362feb638dbecde99d0ed9b347a3056455031e48c3afbbc5fd1bbfed53563580122c757d9575008fe5efcc4180dfd23c2d2d03b306993e2937c87061b1657d0450ebb66563558e52364b60ffc57593bc48f1f803b8235ff301f6d2dd225fd7019d99d8c71cba1ca725fcfb2b0dc1c5b87c13deec03a28e060988ec47791d2867be167b6f1b69cd5e9d36e073a97a137aa70f0be52503cab803cb75245ba30dce44660d29e707dbdd2009fd313a205358acec342339790396e8ab3c4a77e852f1a070e88de49b736105f02654fb4cc929b76bf11a5d5e670394b182ac301057c49d7dbd072513443ce8ad770ffc4da0a2e67bf1178056d81b0219ffff031dc4ad382a0820474944ecfa57c09d28959aff2c9fe5c6a5b49ebee6f0f1efc7037a67147e1c00ed66c4d1559bae7f02b52f17c7bf41c3c60dbdb1bcb2d39ee5c003d76cad2198d33449990f7477a7492b420bba303bbd871d8e0d4dd5bbea364b7c031c3f9bf2b1cdf9be6124abc2bb1269c25142149dab3ec6b0e9a5897fd67ecac503a0c63d0b3dac49820d4c32d10871dff681d650916d63b5e635c8cec332fb0bd703d25d4ecbe9bc37338b68d39b42418132b99fd3b75c152aa1028861c556c616f90360507ccea9f4d3d41db19c6735cf671dcb95e9bd06babf4937a73f06f9b5b82f038630b0eb1ebb36bbea2cc4342975e087412f7a1b0ecc2abdd8667b93d7d5e33703c734819e0b99baa3e1a0cc561c3a712fd5998956e669869eb84747da9af1cfa70371af6fbb0dc265ebb2c426a93ce71083623d58f72bb01677dc5f3c090f58a1d90219ffff0311685a7370180524cb1df19157a555234792aa4cd7f8640a96bae6ca1ab6070d032bf840fa28d97c3d2c11f351334dd3b1d1e006e27098513cc82df0e95e8162e503f795215251d3961912625390ef0931881a93b79ef83dd76ac120dfb570c7e3b803c7c5553ffb7def0babee9bd6e908ef8a5b0bdec17323c5170cd151ffc208476303b6a88dd2e04093960b267fc15ec2bc7c7098949ebfc5e89aa3379f9e653674c803cfa7e4e5628410de9ded9a94a3bfc0efa92364a66c45364346572ad17e76c14c031224eabf1041a6876d5b159d7bb859849b147e7ce2df27c3cb2b556007f54cfa0219ffff03364b6559c7690ea7a691588295f4f746a03791a95d929abf056a905e62cba94b031767f87c1747bc72bf20749d1630b4d8a6a3f3ec2c5efb0397c8d2b1882f2b9f033640ec5bfd1d31b099f28bf24ee00207681696bb5b5f1686c38d6f51d9c60f2103833873354ef23e5031de39206fd93c894f41e492be5abdc5b50d875b146f94be0368eeeb37450f0ab1647ea98248e195454722ad72924ae1702b76c2e665488e7c034b2504d65afe59cf239935f20ff0cc4d21238e98d56ed8e62ecb23bd9a98d82703b099bb79c2d8139ba62553f8d15b9b91d82dcf44cb9eb0463b1834154ac7cd91039333459f6ef0e57274cb85160033e40afe10fe12e0debeb996e2f2152c755a3e03a54acdca2baf6d193f4d2cdf0e3b1dec7481b7cae3827400d569fab81b236902032dfa9d212b30d11c5f0fe283ea6bb1f96a6ff17c8285094579b3dafc73c19d9303a6e20dad8ee3ac1e603fd82adf0ddf1cb46543a3abcd4e15d9d1b3bb60fd694503579461dc80c5bdd7be4240d7bec05a9118bb71ebdb48b65f41ce800aac27c95503d380579902d6b06bd5a41c9b54bf02048fa108f947d33ac139920c967ec1f0a003a788fdd42968f19b864304838a0be2392a57e18797fbf53a45e51cd417cbe50403b1c82d8c79fd1fae374f7a0253bbce1e08781d1e052f6e1b5258a6999b78e48703ae6e8ae8f84895ecf8923ba1e17a11ede67a0d32c197559b84ce80da1287696903e12082db6e1d9cf3b96e752ea4d505d02338da98d4f410d0cf582fc1f5804d41032002b0b0c2875cbde643ca757693fbaab3824fbd77be1d06e30422b55d031fd103043d0abceb8917e06bac76c366bd55330b2ea4702a9b7f11a73a14d93f2002bb03f797e1b101c4362da9a1b995a34bb4025a1c01bbe55811ed72f9bff2b4c7b4e203f8a3867cf1a6407d98075813b8b6504529dedc2bb0de505153c63f8b302199480316dcc2557c0182f5e5404e880e6c992fa4507896661fa7c541b5ba5b39dd795603de80770a5f69882a420b750e8b8f1ee042d1a71592173a1652bea7327f5d4f2a03d0a0fa4fea3a3b3c5c75aa7850bd3ed496680c327cb1db823d80bd0e42759df50328a148496cccaa374b36e98e88fb5c43e7c0b9ee5b0c7ab5bf6513352ea369e003ebc919b2b16e61d5022bc8502cc057fdf904d86d1312e6ac7dea952855d2c28103c612830f92e60b444d863bf182dba243d9061a2e374ddeba6b967b2cde1ae64d05581e0354746d6a091df4f940a2b869ce99873412140bf1ab5f16dae3b9a5f8900c0247016d70140db4f005581e03d7b4a7cba46d7b5224a93107596bb581653437eef3ef3d56a3c63231100c18394705216b6d7811ee05581e03ef25d3ec4c58ee05f86e4a201af1c17b5872aa69753b5d8fd07e499cd00c01471fd0bb9557655005581e039c5fe0cea5a718c6ac75f30d923843dbbdc140b5f06b6b36de9eaf2410040105581e032569341a494cb9aed9e2db5ce56a022162d0bf4206eef5336c9868ef200c19212a4826d09457b5a35a1305581e03cabe03eed53acf52ce1dc5ba8dfb1cd4fd167db22130bb4e40260f8b300402037cd4f0e9b8cf24b193c82a5b57e2d4b6dc215ba7e1a9a99c02dc35322045360c05581e035d63d992a0085927b0496407f5229bddb79b8dbd20d5fa6df29284b620040405581e03fe3a78cc7ae3c777f68a7c7dd74df344c5fc4952438796029602f33460040105581e0302c3738e36db439ba782af9948ed23f65d580ea8a7f27b424be874c4a0040103476ce0e26df74c8ebad1ab70192f5370e100e91d4e7f6416d50fadd12210723f05581e03f4cf097ad987ae738f3fd87a06b8b7de34b60cca553357313fc8a340700c03466cfe6d0f398d02197b7d039df44fa133f95e83bf4a90bc231aa2384cc41e6b1ff26ff6176e1097d9fd263b0345a5164166d7ca748add83d08a1a4a275e2056c3bef82d07a477ec061d1e040903bad73c92171efac5a520e4b51d7f012bfca64170d6437a3b7472dc63c5ecdee903ecb7f681173349607dfc4f08cce57a4d78cd9f2132ad791a6632ffd4d0efbda60357c7b3e63e9311d7d564e98ba06f83c8d9e9a3764fcc66d30ac569f53bb125bb0336549a7d84b0cca3ea5fe0b786ec3f3cfdc31fe165c9b0640d506caceff3ddda039205c02f90636159c69417e236e213d720a9b993773601fc942a8c8b475a01a8034572550d3f6d1de6860cfd6f02b053c38265704f31bf0566a2467026dcfd8d8c03fb1feec02a7335d3d61800d5532c0fe16ac80d50313a572e32162c78b05acbe00318738d58dff4671d2513a6302d83e20e10cdaf9809261294471b6152b3af023703a3bb603b0685f06e5cd93241339ea86446a92f12019e9949849f1e1928e268f90314f965c748ddfe77998987b77d51593ad96f1cdb6efad907f6a87f1d6f6a1eac03b9ddf8d13b6701c3a0867cae25e04379e96abc55b46e8ad785d5183fe20c20ae0219ffff037be1a9fb687073d612cbe33712871c72def307b689961c7c9bedf18304513a8003ee2b78cb8249a0d4d3055d50fd4eda167eacf9b722628851275e4a61a9efab1b0379db70d0e387d4338503a930c2f3efab6abfe7b1361c3b3504cc4eaf51cbf7610343d34c8c4c4be5723ccd42f61aa9e21339e1d27d0d6c2f76f99394e6a0de72320219ffff038e4f84f6195cc1938876df332e852970ea245127c2e363336da5f9b6a7221f5f0338a6da18e54a7c8cbd7f28dc1e96e6f0e705d0f009eafee982702834c9a3672803e18e5a68ff8c052e14b65ff4cdfc70febafc37246d52c47ea0775b211bc1ac4303a7e8d3c1a03b8b4878b6561de6719acaf9059e0359a7790dce2205d2caa3c83403e37545af314b26ebc1749eefbaa44d553dc183a83c712a06f914e6a0e0a0338e03d2296853913d9824987ebd935db84ce8f41f9ef8b1a78ce7daebafb0a79e296c033a225fa4377ad3d9fb72a61ba1f8c2efd4a2b7d82d469eccdd921047d9dff4030219ffff039777e7d98e1a15a70eb2a1b3c9ee58157c2fdf6e7f009bed4560ca8b11999d8603ab405f879c7e8c28154307d99dc11211264511d6d8c499452fbf477531e4c6de0352325782268b2e879f0ebfb29978df9d64e9f2fee1c3858beed953dee806b666031376ed85e106a7585758f2a7b8f1fc57a6250d8cc05c2b9df7ead9edd2f5b9fb03153dd4a6cb1d67f24e7dae95baa2cd1bf832304b43f7e003647ff365231ee0cc031281da51c1347c69f936229528efb15b1e3f386af7dca5a622d6034917d2543103226bf9a5ff46025a636a99ec1c07c68b3c4ea6e982c2d64fad53197588662486038c420da56d0edf7a84d928d828379e77a9a61d5c9aa22a5fcf9685a82c2bc717037bc4349b8fe5674c2f77ab8cf787da1b544af7dad7c7100a75e2fcacb4d8b0ab03e1a91d6327a510c419bb9eb480a7603f051ff356dcc7370e0700150056d2226f03d402e585d9d671310e9b66c5327f9fcb63c342ae4a5d104c175c933c2f4aa02003fc3922b7dfa2b5a649b771c922df839df68a712bee8806cfefbd14f5952bc358033d2ac8255991c176e9b0aab3c83507a3ecaf083c2e46f26ed04ed98b19787423033e3284ce8ce1108f7cf14b8cee7e235c514b1981dbe6171546585ec7a67d3873034d967638893a1a112568f517f41f15df732a81e1a27815b3c96345c1339240c803b91a1e9482cdca8caff7708ea722ac02cc69675d7cd91e7bd9759f6865a511df05581e035e10ff5e818b9387c9db668b17580ebad2ce2ae40b04a6fa2b318e8e60040105581e0362738fb5147d892c08b0d65b02ff8c3bf028b09c157d98fc6d1a31dff004010328635b9b2ad0413203f351ce87de544b80858f67181e10f894b7eee66f296b71031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03acbb55262039bdb50143383dc5c2c9018815bccf85e42c859557fdd46007011bffffffffffffffff05581e034ed7e7b9290e2366a749c2a65fef417dca73889ce344f53f504a74e5900c01421400036215a63275c53615160db0395ca2e5919c1739a4f0d57e7e64ab3a3dd741b58b05581e03895c3319e9c6c03ae3146c40240ffd65ba105d40f09d1da211efc46e50040205581e036b55ecd060a1b87fff27d57ab897e969059e096cc1a69ffe500d58d260040305581d02fff4f457f33dec751c06c3bad17bd28bbeb00499198355f345d4203c0849152de40539242f9e7e0338ac76c6b894b21842674517d8e9f72ab3926490a188f091e2a96084cd5dac4103bfa6f85242f2d9dd359c732732b53a9b0a9dd82bae0397b59b4120453134ada905581d022ec333acf02cbcdf3d719776a20a66883537123429184eb29f685fbc07011bffffffffffffffff02183005581e031c8ac17bd18c0ac59cd803c7bf2e9819307235169f2503ade3dda4e1c00c01471dde3a765ec20002197f92036ffc24be38d4a7cddefe7b00c6adbc83d818f5125ffc2fb697dda7b7564ff04e03cb50aa8845608636596143b3f6bd78dc603064fa95bcd36aca250673a0ab3373036a4d3d4739cfccd1f95405a2928a565bade9f964f642f4ae051949d6dcf89f6403ad15af9ef2228169ed5e56c37b50ad96b49e845177f5b4d010ff9173807f401103b1815d03175990d53d3bb54a390645a08545ce2ac83213327ff2e7843b49748e0365f047ded3ce3c5e811a51d708037aa9d7ff214ee714898d79664f23e8e67a6b036288f1e2b8c4edc28a00562e8596d9fd8a501d0001cad5303b370470db47f832036ae5ca5112cae34e8eb7dadd64bdd02a6dfd5b3e570618d78ab898552e98413b039c67d015188a13ab81cbc92ef694739f697a78d45e2942186e8726682b876a050316023d1bde4ef10f10d04cb3ab15510446dfc94ffea24f8261fd26513aa7727c035e829f145141b06124f4f46462ccabc8a9fdb1f7855e3a1e346bdfb08f87679503ccfac1f8355676751ff85cbe6ae1703fc2ca4cfcc33a80e466182dd55c3bc01d035327d9a3b8eb6cfdbe26a4c2c78597488139a5386b440be951bb636dfa93d74303c25cfdad9b35441134741eb8aba198ede579324c14da9b8432c30ea9f75caf1903ebdca6964c9d382504be3f2d4aa27104c26dee5f09dbd6fe9e857d62a11b670e0219ffff03b538060ce209273b322661ec5ca2e0b3ceca19678486272438189716899c4ffa03f2ba31e6d6fc83904c4039060bfad864e5034e2729c9c032e37b10e116ef21d9039b756b32a4ff2de285080994c8ce20ef4f8b422fe53686999b9638e42b071fd903c2517c71395213d9757444b81f62f9d648fee471315625a7b71087030fb606940386e87a2ca1342c617712768367f896e17a7dc1f46a66a3028467d6cb0367307803c027d634174a616d51f531d7120d77307ff15d8dfb3858ba6f1c124d06cecc350219ffff0304974c24f184cc3ac6b5c213ae5f2b4e920cb1afbbeb8d56a46505b9ff044ef70330ae87fcd4abd16cbc379495e479111a156c46abb3e53fb973d08fd82088f37203e494c982b7ccae6500cca80e6f09d4f96a5c714baf8e838ff251c099f09fb4fb037cba6bd53998591ad52a21d1bb7219878ad777e6eb2376c357548acb62d0b412039df6eb33d7b1ddd3ecd6a64b6007b5c906f4c6fcef21f6285365b47ace73fe95035a1963c24fcb5a6bc49c50c7743aec2cf59bbf129963040b6f5d3203d00929b3034cfa5eedfac55af9ac406824e5cc6846b0dcb9b62d93336a54c2f6e2bbcf74c003931de92f69c5ed20cba72e577cab4485ae3279432221110236182e4881662d7b03de9256ae3deda6eca5a956c62ec0cde32baf832b3d3622c68568dfe9f361e54803809399dc7754323ad003dab6d6e9c64683de650ace53e5e1c25479e386db6bd703788ad1f6248924a8a45ce462d7507254bcccd3776c96f9ab4d76b34c0294e372030295e531f41304acba79464ae6360ffe5f9af4ac502728c9f0f4fb8e535bb5cf03b8ff8dc28758b91e4df6c0f4b698a090d085ba8f692f4a901a52be54a5ee8d9b03cd062f1e61d91a810f358d89f6f5451e22252f9d9725c8876a33e5ee6dd635c80219ffff03396ac8dfd43ca5d01413bc6f8df65025133f0c01dbd7a0d8a704e089d3a0d2c303e23134108131d7cb0f65f56ab836262fab3c87b6e7cb2d438985093fb9b1aed80219ffff03179d8b1563fa8a5680d0b6c97e173fccb267e66dbc63188f30b42f60d81d02bb035ecb9a9cd095d029e5005fc4c0eea8864c2877668942633a372947380d493255033fa36fc5639c13f1dc4a7a16fb09fd92db8fc4db3f457a2a473a4dbc4735e0de037a5d9023ac6e87ebdad673236f3566589d793577e789b042da2ed5cf83b6581203d20c2d9b5b87923d7fdcf6e244a679a7379272bdab59f43cd173538102253d3a033db8efc8c221fe1f24bca291900adef5d9b32346261bfa1769eea16da75d28b0032640b075d2b6c362828fbf9559d61151e84d2e05dde525cba9cdc7f9aede24ba030011f9dd04d04658217da6f1caf48df20559f5e0b64978a309bd66c62fd258f303ab3ad083e63a3a4af637e0b2f300120071339a46a093fb2af292338e0fccedc003a87f12207f8030b45d1c78b17d2d9a449ee2cc54d1189794ac8797ebdce8a2b50337d5f260ca675994a7f39492b6a62c9ee685e2c7c2dee1f326657bed34d039e2032ad03a5db7b1aa15164a1044c75059f51d79f8b83b7a591e9a8e604e9257d6ff037b952ad125c30efeb0990ec3e9bc65ae6f0eb422490d45d5fc4092d36a967ded03ee5641774d1aa19c0945643c8e828c1063c658cb214e71bdb0d5336d65774d13032fc920942582fe8200b5228d4968f835799c5824659abb316bbb9ea91a066cc003609bfd3984a82f25c2f4faac561f101a4a46ba4b8500e1b5f280c5c2281abc55035fbb8896e284b6215e15e66d7e8ad6d54f4210a7deb2a8a8ac62be969cb017570321b42fc3e00d3c6a7829e0bf6b7016347ee78ec9d7369f7049d4f1d8251c06810303b303ec83ef8a1cbb53c3f9f74c73fbf62405b70a9149b01cb15ecf6a9045f1038509ff8dac14e41b233e39fc3c0736657e20183c42f7744891c06abd8f0652190372276fe284394b92af71a521c89d95949582153046e0be2717fe63d1b27bb8f903be0091b83cce2b6d8d0bc358025ca6a0e07f426205e662490786da5a95ec32cc03d93234ed3a82b09d3cbafa02562b56faa216e786701ebcc09cbdf959bd8a467403b54f1b4131fc4f441424069d2e0cca3321755b5ad1faea1eec21f277541f3ab2034a5d87d6c9ffe713516b77770d4073b02ad7f206f5c426ff93fc9690c54968e603c70a8010104e670988536f7e591355ee3bbb074cd33e5edef03c2c59fd353bdc039580312c4e71785e78736943d44242b373ecacb33ee03677dfeb1bc4fd63006903dee5e17a9d94b4adec65d4c445f8603acfbd99ad4aa9ae8eddfc86144abe979203c484df6afe59c7ea1d3377964d84f771355b1d3301472a1b97044d479f620fb005581e03bd37fd152ca264eb62ca42c9762fe745c21220c74b28a045255cf6d5b00c014709faa779c79000045955b760806040526004361061018f5760003560e01c80638803dbee116100d6578063c45a01551161007f578063e8e3370011610059578063e8e3370014610c71578063f305d71914610cfe578063fb3bdb4114610d51576101d5565b8063c45a015514610b25578063d06ca61f14610b3a578063ded9382a14610bf1576101d5565b8063af2979eb116100b0578063af2979eb146109c8578063b6f9de9514610a28578063baa2abde14610abb576101d5565b80638803dbee146108af578063ad5c464814610954578063ad615dec14610992576101d5565b80634a25d94a11610138578063791ac94711610112578063791ac947146107415780637ff36ab5146107e657806385f8c25914610879576101d5565b80634a25d94a146105775780635b0d59841461061c5780635c11d7951461069c576101d5565b80631f00ca74116101695780631f00ca74146103905780632195995c1461044757806338ed1739146104d2576101d5565b806302751cec146101da578063054d50d41461025357806318cbafe51461029b576101d5565b366101d5573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216146101d357fe5b005b600080fd5b3480156101e657600080fd5b5061023a600480360360c08110156101fd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a00135610de4565b6040805192835260208301919091528051918290030190f35b34801561025f57600080fd5b506102896004803603606081101561027657600080fd5b5080359060208101359060400135610f37565b60408051918252519081900360200190f35b3480156102a757600080fd5b50610340600480360360a08110156102be57600080fd5b8135916020810135918101906060810160408201356401000000008111156102e557600080fd5b8201836020820111156102f757600080fd5b8035906020019184602083028401116401000000008311171561031957600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610f4c565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561037c578181015183820152602001610364565b505050509050019250505060405180910390f35b34801561039c57600080fd5b50610340600480360360408110156103b357600080fd5b813591908101906040810160208201356401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611364945050505050565b34801561045357600080fd5b5061023a600480360361016081101561046b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff610100820135169061012081013590610140013561139a565b3480156104de57600080fd5b50610340600480360360a08110156104f557600080fd5b81359160208101359181019060608101604082013564010000000081111561051c57600080fd5b82018360208201111561052e57600080fd5b8035906020019184602083028401116401000000008311171561055057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356114d8565b34801561058357600080fd5b50610340600480360360a081101561059a57600080fd5b8135916020810135918101906060810160408201356401000000008111156105c157600080fd5b8201836020820111156105d357600080fd5b803590602001918460208302840111640100000000831117156105f557600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611669565b34801561062857600080fd5b50610289600480360361014081101561064057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356118ac565b3480156106a857600080fd5b506101d3600480360360a08110156106bf57600080fd5b8135916020810135918101906060810160408201356401000000008111156106e657600080fd5b8201836020820111156106f857600080fd5b8035906020019184602083028401116401000000008311171561071a57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356119fe565b34801561074d57600080fd5b506101d3600480360360a081101561076457600080fd5b81359160208101359181019060608101604082013564010000000081111561078b57600080fd5b82018360208201111561079d57600080fd5b803590602001918460208302840111640100000000831117156107bf57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d97565b610340600480360360808110156107fc57600080fd5b8135919081019060408101602082013564010000000081111561081e57600080fd5b82018360208201111561083057600080fd5b8035906020019184602083028401116401000000008311171561085257600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612105565b34801561088557600080fd5b506102896004803603606081101561089c57600080fd5b5080359060208101359060400135612525565b3480156108bb57600080fd5b50610340600480360360a08110156108d257600080fd5b8135916020810135918101906060810160408201356401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184602083028401116401000000008311171561092d57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612532565b34801561096057600080fd5b50610969612671565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561099e57600080fd5b50610289600480360360608110156109b557600080fd5b5080359060208101359060400135612695565b3480156109d457600080fd5b50610289600480360360c08110156109eb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356126a2565b6101d360048036036080811015610a3e57600080fd5b81359190810190604081016020820135640100000000811115610a6057600080fd5b820183602082011115610a7257600080fd5b80359060200191846020830284011164010000000083111715610a9457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612882565b348015610ac757600080fd5b5061023a600480360360e0811015610ade57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135612d65565b348015610b3157600080fd5b5061096961306f565b348015610b4657600080fd5b5061034060048036036040811015610b5d57600080fd5b81359190810190604081016020820135640100000000811115610b7f57600080fd5b820183602082011115610b9157600080fd5b80359060200191846020830284011164010000000083111715610bb357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613093945050505050565b348015610bfd57600080fd5b5061023a6004803603610140811015610c1557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356130c0565b348015610c7d57600080fd5b50610ce06004803603610100811015610c9557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e00135613218565b60408051938452602084019290925282820152519081900360600190f35b610ce0600480360360c0811015610d1457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356133a7565b61034060048036036080811015610d6757600080fd5b81359190810190604081016020820135640100000000811115610d8957600080fd5b820183602082011115610d9b57600080fd5b80359060200191846020830284011164010000000083111715610dbd57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356136d3565b6000808242811015610e5757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b610e86897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28a8a8a308a612d65565b9093509150610e96898685613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f0957600080fd5b505af1158015610f1d573d6000803e3d6000fd5b50505050610f2b8583613cff565b50965096945050505050565b6000610f44848484613e3c565b949350505050565b60608142811015610fbe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061102357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6111207f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b9150868260018451038151811061113357fe5b60200260200101511015611192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b611257868660008181106111a257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff163361123d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8a8a60008181106111f157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168b8b600181811061121b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166140c6565b8560008151811061124a57fe5b60200260200101516141b1565b61129682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614381915050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836001855103815181106112e257fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561132057600080fd5b505af1158015611334573d6000803e3d6000fd5b50505050611359848360018551038151811061134c57fe5b6020026020010151613cff565b509695505050505050565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484614608565b90505b92915050565b60008060006113ca7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8f8f6140c6565b90506000876113d9578c6113fb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505050506114be8f8f8f8f8f8f8f612d65565b809450819550505050509b509b9950505050505050505050565b6060814281101561154a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6115a87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106115bb57fe5b6020026020010151101561161a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b61162a868660008181106111a257fe5b61135982878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b606081428110156116db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061174057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b61183d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061184d57fe5b60200260200101511115611192576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b6000806118fa7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8d7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b9050600086611909578b61192b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c48101879052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b505050506119ed8d8d8d8d8d8d6126a2565b9d9c50505050505050505050505050565b8042811015611a6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b611afd85856000818110611a7e57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1633611af77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168a8a600181811061121b57fe5b8a6141b1565b600085857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611b2d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611bc657600080fd5b505afa158015611bda573d6000803e3d6000fd5b505050506040513d6020811015611bf057600080fd5b50516040805160208881028281018201909352888252929350611c32929091899189918291850190849080828437600092019190915250889250614796915050565b86611d368288887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611c6557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b505afa158015611d12573d6000803e3d6000fd5b505050506040513d6020811015611d2857600080fd5b50519063ffffffff614b2916565b1015611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b5050505050505050565b8042811015611e0757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21685857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611e6c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f0b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b611f1b85856000818110611a7e57fe5b611f59858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614796915050565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216916370a0823191602480820192602092909190829003018186803b158015611fe957600080fd5b505afa158015611ffd573d6000803e3d6000fd5b505050506040513d602081101561201357600080fd5b5051905086811015612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120e357600080fd5b505af11580156120f7573d6000803e3d6000fd5b50505050611d8d8482613cff565b6060814281101561217757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16868660008181106121bb57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461225a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6122b87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f34888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106122cb57fe5b6020026020010151101561232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061237357fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b1580156123a657600080fd5b505af11580156123ba573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61242c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b8460008151811061243957fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156124aa57600080fd5b505af11580156124be573d6000803e3d6000fd5b505050506040513d60208110156124d457600080fd5b50516124dc57fe5b61251b82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b5095945050505050565b6000610f44848484614b9b565b606081428110156125a457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6126027f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061261257fe5b6020026020010151111561161a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000610f44848484614cbf565b6000814281101561271457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b612743887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28989893089612d65565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519194506127ed92508a91879173ffffffffffffffffffffffffffffffffffffffff8416916370a0823191602480820192602092909190829003018186803b1580156127bc57600080fd5b505afa1580156127d0573d6000803e3d6000fd5b505050506040513d60208110156127e657600080fd5b5051613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561286057600080fd5b505af1158015612874573d6000803e3d6000fd5b505050506113598483613cff565b80428110156128f257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168585600081811061293657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b60003490507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612a4257600080fd5b505af1158015612a56573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612ac87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612b3257600080fd5b505af1158015612b46573d6000803e3d6000fd5b505050506040513d6020811015612b5c57600080fd5b5051612b6457fe5b600086867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612b9457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c2d57600080fd5b505afa158015612c41573d6000803e3d6000fd5b505050506040513d6020811015612c5757600080fd5b50516040805160208981028281018201909352898252929350612c999290918a918a918291850190849080828437600092019190915250899250614796915050565b87611d368289897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612ccc57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b6000808242811015612dd857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6000612e057f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c8c6140c6565b604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b158015612e8657600080fd5b505af1158015612e9a573d6000803e3d6000fd5b505050506040513d6020811015612eb057600080fd5b5050604080517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b158015612f2357600080fd5b505af1158015612f37573d6000803e3d6000fd5b505050506040513d6040811015612f4d57600080fd5b50805160209091015190925090506000612f678e8e614d9f565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614612fa4578183612fa7565b82825b90975095508a871015613005576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b8986101561305e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b505050505097509795505050505050565b7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484613f60565b60008060006131107f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b905060008761311f578c613141565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156131dd57600080fd5b505af11580156131f1573d6000803e3d6000fd5b505050506132038e8e8e8e8e8e610de4565b909f909e509c50505050505050505050505050565b6000806000834281101561328d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61329b8c8c8c8c8c8c614ef2565b909450925060006132cd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e8e6140c6565b90506132db8d3383886141b1565b6132e78c3383876141b1565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561336657600080fd5b505af115801561337a573d6000803e3d6000fd5b505050506040513d602081101561339057600080fd5b5051949d939c50939a509198505050505050505050565b6000806000834281101561341c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61344a8a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b348c8c614ef2565b9094509250600061349c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b90506134aa8b3383886141b1565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561351257600080fd5b505af1158015613526573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156135d257600080fd5b505af11580156135e6573d6000803e3d6000fd5b505050506040513d60208110156135fc57600080fd5b505161360457fe5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561368357600080fd5b505af1158015613697573d6000803e3d6000fd5b505050506040513d60208110156136ad57600080fd5b50519250348410156136c5576136c533853403613cff565b505096509650969350505050565b6060814281101561374557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168686600081811061378957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461382857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6138867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150348260008151811061389657fe5b602002602001015111156138f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061393e57fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561397157600080fd5b505af1158015613985573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6139f77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b84600081518110613a0457fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613a7557600080fd5b505af1158015613a89573d6000803e3d6000fd5b505050506040513d6020811015613a9f57600080fd5b5051613aa757fe5b613ae682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b81600081518110613af357fe5b602002602001015134111561251b5761251b3383600081518110613b1357fe5b60200260200101513403613cff565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310613bf857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613bbb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c5a576040519150601f19603f3d011682016040523d82523d6000602084013e613c5f565b606091505b5091509150818015613c8d575080511580613c8d5750808060200190516020811015613c8a57600080fd5b50515b613cf857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310613d7657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613d39565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613dd8576040519150601f19603f3d011682016040523d82523d6000602084013e613ddd565b606091505b5050905080613e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806154e56023913960400191505060405180910390fd5b505050565b6000808411613e96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615557602b913960400191505060405180910390fd5b600083118015613ea65750600082115b613efb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000613f0f856103e563ffffffff6151f316565b90506000613f23828563ffffffff6151f316565b90506000613f4983613f3d886103e863ffffffff6151f316565b9063ffffffff61527916565b9050808281613f5457fe5b04979650505050505050565b6060600282511015613fd357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff81118015613feb57600080fd5b50604051908082528060200260200182016040528015614015578160200160208202803683370190505b509050828160008151811061402657fe5b60200260200101818152505060005b60018351038110156140be576000806140788786858151811061405457fe5b602002602001015187866001018151811061406b57fe5b60200260200101516152eb565b9150915061409a84848151811061408b57fe5b60200260200101518383613e3c565b8484600101815181106140a957fe5b60209081029190910101525050600101614035565b509392505050565b60008060006140d58585614d9f565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061428f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101614252565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146142f1576040519150601f19603f3d011682016040523d82523d6000602084013e6142f6565b606091505b5091509150818015614324575080511580614324575080806020019051602081101561432157600080fd5b50515b614379576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806155336024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156146025760008084838151811061439f57fe5b60200260200101518584600101815181106143b657fe5b60200260200101519150915060006143ce8383614d9f565b50905060008785600101815181106143e257fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461442a5782600061442e565b6000835b91509150600060028a510388106144455788614486565b6144867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f878c8b6002018151811061447957fe5b60200260200101516140c6565b90506144b37f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f88886140c6565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156144fd576020820181803683370190505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614588578181015183820152602001614570565b50505050905090810190601f1680156145b55780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156145d757600080fd5b505af11580156145eb573d6000803e3d6000fd5b505060019099019850614384975050505050505050565b50505050565b606060028251101561467b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561469357600080fd5b506040519080825280602002602001820160405280156146bd578160200160208202803683370190505b50905082816001835103815181106146d157fe5b602090810291909101015281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b80156140be576000806147318786600186038151811061471d57fe5b602002602001015187868151811061406b57fe5b9150915061475384848151811061474457fe5b60200260200101518383614b9b565b84600185038151811061476257fe5b602090810291909101015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01614701565b60005b6001835103811015613e37576000808483815181106147b457fe5b60200260200101518584600101815181106147cb57fe5b60200260200101519150915060006147e38383614d9f565b50905060006148137f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f85856140c6565b90506000806000808473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561486157600080fd5b505afa158015614875573d6000803e3d6000fd5b505050506040513d606081101561488b57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905060008073ffffffffffffffffffffffffffffffffffffffff8a8116908916146148d55782846148d8565b83835b9150915061495d828b73ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b955061496a868383613e3c565b9450505050506000808573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146149ae578260006149b2565b6000835b91509150600060028c51038a106149c9578a6149fd565b6149fd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f898e8d6002018151811061447957fe5b60408051600080825260208201928390527f022c0d9f000000000000000000000000000000000000000000000000000000008352602482018781526044830187905273ffffffffffffffffffffffffffffffffffffffff8086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015614aad578181015183820152602001614a95565b50505050905090810190601f168015614ada5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015614afc57600080fd5b505af1158015614b10573d6000803e3d6000fd5b50506001909b019a506147999950505050505050505050565b8082038281111561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6000808411614bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806153d4602c913960400191505060405180910390fd5b600083118015614c055750600082115b614c5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000614c7e6103e8614c72868863ffffffff6151f316565b9063ffffffff6151f316565b90506000614c986103e5614c72868963ffffffff614b2916565b9050614cb56001828481614ca857fe5b049063ffffffff61527916565b9695505050505050565b6000808411614d19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154736025913960400191505060405180910390fd5b600083118015614d295750600082115b614d7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b82614d8f858463ffffffff6151f316565b81614d9657fe5b04949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614e27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154006025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610614e61578284614e64565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216614eeb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b604080517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015287811660248301529151600092839283927f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163e6a4390591604480820192602092909190829003018186803b158015614f9257600080fd5b505afa158015614fa6573d6000803e3d6000fd5b505050506040513d6020811015614fbc57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614156150a257604080517fc9c6539600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152898116602483015291517f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163c9c65396916044808201926020929091908290030181600087803b15801561507557600080fd5b505af1158015615089573d6000803e3d6000fd5b505050506040513d602081101561509f57600080fd5b50505b6000806150d07f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8b8b6152eb565b915091508160001480156150e2575080155b156150f2578793508692506151e6565b60006150ff898484614cbf565b905087811161516c5785811015615161576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b8894509250826151e4565b6000615179898486614cbf565b90508981111561518557fe5b878110156151de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b600081158061520e5750508082028282828161520b57fe5b04145b61139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b8082018281101561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b60008060006152fa8585614d9f565b50905060008061530b8888886140c6565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561535057600080fd5b505afa158015615364573d6000803e3d6000fd5b505050506040513d606081101561537a57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff878116908416146153c15780826153c4565b81815b9099909850965050505050505056fe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a26469706673582212206dd6e03c4b2c0a8e55214926227ae9e2d6f9fec2ce74a6446d615afa355c84f364736f6c634300060600330605581d02a7e8b8234a7992da2173c0d9eb404853fe85a65a0881149522e12b2a0f014758d15e176280001955b705581d024ace4a9cf9849185c4b4cd9d2d43e5360f36d915f743ac51fcc9c7f80c02450135f1b4000219042005581e03dc8fc5260164a847b23d38a881b05ec9e601d397d1188021168d7c0da00c024701923a550aa0c803fe15c6a27562a27ae904cb1b828dd828705d1507183fdaa98bcdd0bb1025ee5305581e03f23857a9fa3d0da9ae7310c160afcf49158a232640406bae60c29650500c01472296500eeb160005581e037f46e0bb2789267d0a30b8d43a6d3e2a2e289f0fcb20ea1bc8ee7216a00c024744d7c56d940be603da1a91bd88ab16e57730db064e35880953edf7a3e2f40ec22e887166b95f4b18032be8a5093959bbacdaa2d02b061939a3a07681b5a5351eef8de8b286f8df80ba0399cc8746fb4acef4aa25ad53d2d12e8af29520040e86729cf0fe867839a233a005581e031d2088553eaa5823aa330be942a76137ea4d7416fda40c5c72917239f00c0147028114c7f49fc0034277b3bbc296a60f66b308aceaf2f9ad4e766e1984e39f2bb1256df0c51448a70219cbde03821c17b99606f4ef0404c1e66f9b5847282857f6d43c1d1e2282e3e20358c1a203db467c50e815cada5a92eff2a2eacd9ea814c7a9ef7e9360b114df767836e0da03454a7715e43a8f5665f3175574c0f374cd68bdd08d8d39beda757efe065a1d01031b6cddd0884a393f6d5bcfee003d6dc52eca04e3674b628c1218c9df32da11c00319e2bf440d2b4f680aaafa688da47d7a6bb06838e97a74e1417448325e4dc2160353551a267211a18f437178d0c23472dbe9821cf53390b4846f5824c4479362ee03bd0a711bff7996b670c2882e6431d8feede57819c03c580eaa092d1a8f5351940380cbe31fb0e2a43ba18c77d189091732df11cdeae4b9271100d3c69cdaf18eb40219ffff03b903cc550db702ad3a61ba3345dc7be08f65f036ca37eb75de4257af49f2a5b50310081833d47de439dc5ca64722ddbe5b89d19154c69209fc433bc3f9be784edf0219ffff03574964b9c2c92f0c167e483ad13048a696603f618fe6161ff49526562d063c0b0398d864f93383e440938855e216914a7657f791096683dc5e1a95247526b21b7c030aa0afd682a694188ba1e959debc39df4164c06fb62c972b1efc58a37e5e34f30355696aeaa907d644a62566418115cff57fdbe7ea48ac28e27f4869a444b1dbe7036175a74384427131cd1f76af4f6acbaf7394eaf522902cc13990da252fce6c8c0309968c0b60d1a2dbc7fb50a199f6b0429722075e6b0899f82013e64c4990cf780367ea5b99fc8b8a0bc5441573d9f1e554e9ca7c73adbd4a0da858b344f296e887039bb8ef7a73bff7718ddfeec785fb40a054c0f139e1b4c27f9e005be644e7ae2503bb48e7ccccf38660763a13aee09fb1204a1d92f7eb889acd039aa2c639980e49031d0bc64efa9a6be7279538de3feb0257ccc453be6dc0bec1c82b6d02a71be63f03d1411b2200827453b7ecda10c407e4c2c75923be1eff4b5e2228c1a86027edbd0219ffff030c1697859a1f4f97a4a721f5db02c8071bb9db7ad42cfde08cf094475c85612b03497e80dbb9deb11a709e2012232d0d7be9790369fc329796a5a59b1884918c68039f3db4a2d6621cda2c5d7e47febac283f043f4c0050ce4de6e89c13e4f5a5b54036f6ad3356f4cabefd72b78e447397678dcac34b0372490dc9221ff9e4a99b8540302984fb9591a0315eab425106659d397b387d8b60cd55acb8c12d79c56aa095e03f4b9f2b1fd6f197d24401fc0cc88c43c80852e52262958dc28dd6baf71c5d5b60344316f26f6f472f93d4e822166523fa45b86896bdd678adebbce04734a9d458703c786754dfe02834ef85e4e92c4e1d8d8544c46577c2f635542f68713d591757e03f7fe46ee0cc93b9bbc66dafc8b1f953c5ce3b9ad93da258f962aa09cdc2c500b03dae4f6257c9870f274c2266fc3378b1335876eaf8c33d10a25a77918ba5e454b0219ffff03d56fdb0840a81c81618896f260607fd182de84071cf2c9c8a2e735b96020bff6031da5779b3491195e5b9bb6e453b2ae41e6335528aecbd9b2fe471334208aec260399b64342fb9a5620bfe08d6489b86a459469230ea6080730e64eb3fcad2381f60367f82a624ee855d72b7b5872c86d5d5bae35536e35f822fa3c77e72077d54e8903fd50202e175f774fb9d80e165c751df97702a69fbbcf8492007960e8e7cd83d003a3c387ed6e3b746e8a9a9f2cebc1de1745be32be6672fc7c633968a4cc848afc03c11c527aa48f8261cadb4cb77bd7decc6ec5b645073f5311f8a71489be3ded8703506b75f394ee75ea319cb6ce7833f057a59f044f02f3fe041ca6bac480f1bae903e694a6aa98d9326a2f6b852e10d16d017ebe1b4cd86eac0e32f5ededfa0ba6410314c24cee32e96a03e014c92582b9b06b1fdf7965d25d6991ba95c3cafb5d28cd0322628c54fe449f70317d8c59a87ccc316d72fbda30d91450e1965c0d53a4d39f031ea382ccac791c7ed22c500eabe92324592932054ebf167c7a68a9fa7e4c241303883f75505a8bf0feaba512d0273c135fae4c2296a998431c18806a701ca74c7003034536bafb25eb4772c1a534a41e122dac9db06e10c5b344064a858331dad01c037da1892aa2eddb9456e97acec022a46a4b9b25345e8ec3ea9adf4b57e0795d99036d6213a34cf76219b071fb27b4b8a223f354f9bf61afe9a59eb581d35fbf56b9035c35211ce01a56f4a4df3acc2d8352f400caaa2b8add891e0ab14b1dbffcb33a0367601633f60d748bc186c6a51094178512173ae94bdf88c57f1a2068c8ef41c403c23385e32ba4b204bb7a44de616b087c2fa9b145556a05a1cac7a53905a1458f03718c8a3151f1d369163217db26a6bf96c8554bfc20a42de18244dd4aa78d700e03348e158e9e1d18d0c341b7a84f07b9c569d32e557d28cadb8d493eff1a35daf303bcee5953df5b754319c5e5b9e7420a5ddfa0bdc966a818d96a76c72adac85ff2036b9c76d773a53fe0f704f73faa589e4c9e0f594082439a6aa92e87c3d7f5bf5f032c3fafda76b41c6cd2cd8698d986b6eb1e9cbbd1d60ae2132ccdfbf78f948364032d2517993d3478f3fd26bcaaedf64ac715a758ab75cccc3d743af3224a33e1b503a87c4e7c0a3a06211fca303ebd71048a6a0583ff27458f26783e8eb408d3070d03c79a87da9666b2ac91a5aff7f5c2a1ef6e2d5581942929201acc44e50fbfd13403a2cc83b1c270a01e2ba337c6986d590af10e1b8e5fb7a83ef89b78234ec4b2ae0333eec8a9f11f30c552fe67c43769813a16b6ce89171bba2273886fcbb6b1e43003a535da2c835bc890aa629151771ee140e34ba540272882365130815f6215f04205581e03419307bbc38dafaec9d5a761fc2f6c63052591bc312213f6e73ba3d4a00c181c4701341065474000031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e033e3d3d31cd7e38553f13806a7892506a5e8227c3ca736cde5fe6f04a4007011bffffffffffffffff05581e035ac5be7033a1b22852896cedd2815b74dc857fc3347364818d356fee700c024734a9467026ad8003feeba8c0dc8c17c9e5b8ef65192d9895aa6f9cea2784f0c91da8ffef94e861b701410a038438e76d30c9789d7bd66d5b07f0025d57003dd9561e5d04b18888148450017405581e033d9438c9a7425c7bf95be9c6d056c4849318b3fb13a4020516c244a60004010323481efecfc7ea5580455535ac2aba13cebe77f80ced15bc908b7e870a13378105581d0200861828887e89d9886d049a802c915a7dd4bde40f01e1b2677ab5140c1901d04819d059fa26efcc5205581d028a1edf8919783af87cb5df1282e89f7b084fca90eb8bf743647eabce0c01470433d6a6128cf70219022005581e03591c0c07edb44b3526d4d5e83a87429b7e768410120ed4a5456fbfa6f00401021973cf03157473ac6d46081b1e902a660187f2837c417be9bba14455562c146ac5c0512403528cfd81a298da6f87441c44503f8854d9f1229add613b0e003d3ee679c032250219ffff031e7dad53c0835eb2f5fe2025f4854cd284851c812681835191bf08be0597a867034d526cb6e4ab3f77102fbcb0a268edd8563573d417ba6257a31b22c413e5e8260348f9f87edd58a4bc7c4bccbb1ace39acf93e487a6e1b9f09c120cf5ec9c7b82d030fc42acb6988c001cbc747fb060ffa2315e2a7e9f3858aacccc6045196670c6d038ede8ca57d89a0a97313c0815cb3241b7efe2bef8d7192f8976d0a0249518c0d032997bca7fa388de1fc5093059489071c5b1a28f1d45386a533b4fef71c7e4d4d0331c0b59f27ad21f521bf37738b4f6cb7e505aa79294696871680d98ad7a7cd8d03e999f11a6f5a89a542bec94951106e13561d791c54f714417c57ed04cf15c220030d725e38a69fe8015dde8be5f41bd45bad1da682ed126c6c2fca3d1654c076500330929c4223b2bf5852f3c69108b61e594dd2155e5993f260ff092724986ef40403ddad99eb8da0d6e498a11312d7539a3a36ddef8ea4da8f1dd83902d2f98a4d8703c393af2ceb55007ff36919cfd1adc9c792521940399b3cdff94c80a3a49d032303f061a7fee8cda1bada88835ea5a2b5f63b57c862fc31524d578da0d9f72466020219ffff03e950be9bf95656c93c6ae66ab70ee0c598a851d713b58ddaf9a37e34c60d14b503539afecaae32ec02c7df84f22d916f1d3a8f956a5bb374d41825c30214032425031ab3e13120968b7c89ec3f8dbd92117a2b9c7391645a3a1e25e9288ff7f464f20393da1487b94e19943ff6796aa3e9a1ae02e824297080bca3944fa2e6d7c7ca36039f1b09aa41c736693ef8a9f90d85cd15c9b651ca086781b534d4e04e9d2950e803229153fc868c8249c724b09f003e12043cb6c2d72b509cdbfe3c4b571ab8d57003a5336fc45d92838893ac2873a0b8432b69c360e04e50851ff7686ce353c7c84103259a41555d11c7e98e5eb5c59482f6c8e703a999adebd1b78f01d143b074f7ab031b88251269605bca25915c2f0cfe0ff60ac06609b9ad04a261ebb132f44a6f2b03b1ca108b6a1b156938c59e8d7f7e08037ac060a54045bca05b9b1786c60e477903e03318c169afd3b31fcaf79907b35760a71114e70388d5b451b267dbdec5cfd6038c41dcd5ee1c89bbe4ad2c4bf73361bf0f620f8f3a2c0244a5fba44c50eee65b0397e258045b6a8c10cea2b5e1e77463ed432c801aaa3e2b8b59f9ce60c37a4a33032a244bd691c84ca1237008e7039c6a388d80cb0dd59c6b8b172a4be206b6a0940219ffff036cf790a1cc2af37b416c6ced67e1b54bcfeb1a8358a10ed1ddb917a966c448c7036737d67f986616f7045e96a75fe283f5783109b962920c3fdd7698e65e661f020379906848b81a9b245590a1d6d4930cee0acfdc6a8f5825d6c39c32029f765ded03530cd52fab10018d5873fe6d6b24eb327e3c5f2c583ec52f9ae179aa69d8e7ad0328fde01e3d9c0a81bbb45c67013d9deae840204b0c90de4fa7052d94b62ffca30219ffff0392828d0673719a493348d3f7ac791e8653b99e6e031901d07ae0c57c1ac8d77603960708659d4b82694dfe60de7152b336e6572190548bd386c0b928fff1fe4bcc03d3bd095b5713f6e6c15bd53d3c4494cca0a204b3c413cd00e7b679e82e580ee2036113bcd717855633f80d58c72a8bc2ffe9cd03701279d3271bde31c3194e98c903f26e130f1e43f4cad27ed07ca29f6858979f910da41d87e7992bb0020a3d5a49032593d5f99161e1d3bb3aea12b8194d6f317fad4576418bd30df04c5cd3bc7d91036356c8d669a925ad3a0cc47d990a6f7c1f305d4ffa0b1e51a8ad7f6fa52b272803fff56f4887fbdc44e04e0048f3208e3f59835171e6881f513c1f76367ce5149103fa753ef40632f08297aa7b2531eb58b131919ce804459515b410296dd9dccb0f03071795b6907aecb9192c1cd1cbdc5a38513a4e99e195491598658ace0c96c54a0394aab02b7c592620eb85d1c78770192dba63070b8edfc7cb9231e597f66f6e62035f131f2046a50e16124ee7a82e8bd400b780da480924e680d88589a47ba5995303746c60068bceb5e847b8d807399debf9e20ca096dd7616d83b6c9c76f7df624203196cdd63eb142a5e4a30941888ac1bfd4aa55f338e4e7fcae71c3b157dae6af303a03240d602e94981102988a51ac0ad251d33e4eb64a118f2f4d2c694de7aa00f035c0598d574729d2d5ff70fb4df61f6cfc873139bf72155cbd90178302a00547f033c70d85319fac84a8ec0d1c665a785afd4bd13a1f1ecde4b8081f58171bb8d2c03c34ef342310f5630cdbe147fa1b48b48961fe134927a80f7c7e71e53156658e30364491870a4b733deceade048efca43e5267a3c4c296f4bc31d4d68a7c8b1659803f4af757870e6d965532386fe3bed87fef39c3ab113271733efac9a2729bbb40e035daadbbc20f1348650139be122db61e3e51785934a77b201a94ac930d68ad16603ec75c771a0e9f56ac875d8dd2f4838dd7251644e7431f9725e563992ca201a0e034c09ac2a11815e3fb42072b4508b313d3a9c5eab342833bbc9ba1848893a0fa1038388c5291c1969ccf1d6ff774ab9fec7286ec83b989a2e5d63d57e123c585d8403590cc9f8da2fead06f74d6d1bcd43b7a07ecfedbcf0d2a30124f575da1a586ed036018ecfb7ab41f5680184a29cf60f4107b11ffd7b5a7b99b7656c2dcb43c265903422610b6b652ab5dad44612a758aa7cd7b1109f8245293a66cb647f1143793380327817f61bd8fbae8cc0c6b912e9ccdefc11d1826a6180ee24271f3b712f44df003e3bfcdcd9f142fb6b051af72650b128b0b097d5a9bb6e61da36126933191296905581e036d484e86de5e03dcba47f4dc308188c37142acb756dab33ba0b59af050040a05581e03cb1c3c5d37502d0aa13d62b6424910ab952978d0b11fec6ccc3004c7e0040103d10c50a8f35a113076846ce372a64d64408d9bbc8a21f8c5de5b93a1ec720cb003eab6d090ba3fbe9d3b561c6f50e146a8465834dcc21748f143244185f48fc56003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031979e8fff074daaad04439623f1b536865bdfaac7f39c16055f50143c007011bffffffffffffffff03d8be73740597e0432b0d60ad70443a41237ea3e32666f8b7a16b7e242f10dee205581e0317bbf8ba657e39871ab5852bb5d8ace9de7fe3ac599410ee2d50d0a040040104590795608060405234801561001057600080fd5b50600436106100a95760003560e01c80638129fc1c116100715780638129fc1c1461014a5780638da5cb5b14610152578063be116c3b14610163578063cc5183a114610176578063ef921f8f14610189578063f2fde38b146101ac57600080fd5b80630a5ea466146100ae5780631c6eced5146100c357806323b11d8d146100f357806348a4f99314610106578063715018a614610142575b600080fd5b6100c16100bc366004610694565b6101bf565b005b6066546100d6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c1610101366004610672565b61029f565b610132610114366004610672565b6001600160a01b031660009081526065602052604090205460ff1690565b60405190151581526020016100ea565b6100c1610324565b6100c161035a565b6033546001600160a01b03166100d6565b6100c1610171366004610672565b61041b565b6100c1610184366004610672565b610496565b610132610197366004610672565b60656020526000908152604090205460ff1681565b6100c16101ba366004610672565b6104e2565b3360009081526065602052604090205460ff166102235760405162461bcd60e51b815260206004820152601f60248201527f417070726f766550726f78793a2041636365737320726573747269637465640060448201526064015b60405180910390fd5b60665460405163052f523360e11b81526001600160a01b038681166004830152858116602483015284811660448301526064820184905290911690630a5ea46690608401600060405180830381600087803b15801561028157600080fd5b505af1158015610295573d6000803e3d6000fd5b5050505050505050565b6033546001600160a01b031633146102c95760405162461bcd60e51b815260040161021a906106df565b6001600160a01b038116600081815260656020908152604091829020805460ff1916600117905590519182527f102d162d8690811b17006e6e7529e0e7ec6c7f357d1d74d3d7ceff35fd75ce0f91015b60405180910390a150565b6033546001600160a01b0316331461034e5760405162461bcd60e51b815260040161021a906106df565b6103586000610576565b565b600054610100900460ff166103755760005460ff1615610379565b303b155b6103dc5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161021a565b600054610100900460ff161580156103fe576000805461ffff19166101011790555b6104066105c8565b8015610418576000805461ff00191690555b50565b6033546001600160a01b031633146104455760405162461bcd60e51b815260040161021a906106df565b6001600160a01b038116600081815260656020908152604091829020805460ff1916905590519182527fb24cbb8005827c88afc2851884e834493cae4ef0d1302bf939281696bd6ae7599101610319565b6033546001600160a01b031633146104c05760405162461bcd60e51b815260040161021a906106df565b606680546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461050c5760405162461bcd60e51b815260040161021a906106df565b6001600160a01b0381166105715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161021a565b610418815b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166105ef5760405162461bcd60e51b815260040161021a90610714565b6105f76105ff565b610358610626565b600054610100900460ff166103585760405162461bcd60e51b815260040161021a90610714565b600054610100900460ff1661064d5760405162461bcd60e51b815260040161021a90610714565b61035833610576565b80356001600160a01b038116811461066d57600080fd5b919050565b60006020828403121561068457600080fd5b61068d82610656565b9392505050565b600080600080608085870312156106aa57600080fd5b6106b385610656565b93506106c160208601610656565b92506106cf60408601610656565b9396929550929360600135925050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea2646970667358221220cef0361026d143789d3a650723c24c713525ee432d868f9508fc5fe410faf15464736f6c6343000806003300582103164135aff1c548a9982cce22ebb8a532443ff7b3b6e3a417c5234f7974c9c46041010058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410100582002501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e943545440aa958dd87fc8305b97f2ba922cddca374bcd7f00582003e5af7989af34160053c740614b9ddb3802b3053daf83245a1bb265a8bcafe0410100582003b2639b17bef0515027b53aeaf7e6afe7d7e132e00c9abd9bbdd0f1be746cc0410102190420021901400058210345c78e6cce5cffdec145e73ecd97300c6fd3c324449c80fc66d92f4c6bfbad704101031dacac7dec919df3e6de7ac4aacd07fad0b2afb26a93a66596e35672d9e4ec20005821032a75bdeeae8604d839476ae9efd8b0e15aa447e21bfd7f41283bb54e22c9a82054f2f0829018452a00435edb9cf6fd5158d2e92bf500582103fd6c600593df7046d05407c1e5011ba9e7b831a4becdfc4e22a3f9c313d38a00410100582103a012d18e3ab1ec8e0601d9139d23395f6626362a923c5a7c2e6839fe7f5f18c04101021945b605581e03f4984e1d911878a0ddd7f3a4c56797a98c41c9e65626fb4ae0becc9cf0070119079505581e0321f22ad905c506331d7f77323648114d3988003fbbf8da25af93037a700c0245236fd3b2000360f9c8120dca62dd1c723fbfad26b16f48c0799c1bea1205b363df3d8802aefd03e341c22cc41099ee3c0f967a9d5e94af7bc906464204782df8baa1259de0a4b80219b56f03fc39247169d68387fe8f2d369c8e98607eb364efc82e1033596d18048b7527d203e2a45e68759e1dd926792be7bf83dcd856d4dd670f974ae206ee6a4d5627dcfa032abc13497d9fc711f804b073617b9d21a594d4d5a4deb876e540b80929ea18a7031f94b1d7576f2582eb0191ef837530d6d1feebda22f870d136988de0a07412a403694aa123047e9ad525f9cdbcbb674b941e25772c1134d00eff1caaf9b1392fa503ca626fc94f8c99d78e79d3ea497f11cded8aa614a1ecbda86f398e8b4848e94103edd82fef0870913fd1d73b5e14b6950a8e0bcbf06097f4b3f5c435f45537135903e81381385db7a7dc530dea9fbc6c59e9d3f51ec69a9c654302d8379db9738a2d03c562a9d42afccb384670f065e0287167d809b1e537db57badc0ca1fd6e12a872031dcaf274ffbd3cc4c5096eb427a1bac8e71053d33979ee4983374ac5674c99c8031b25881fe51e16803e7fbfcbac12d3b25fdba9d8c3b5c7cd658da84c4276bbc303486a41219b6cbf03e815837fc2ce7bc2bb3f0c65e8cad72ef944cb95715b6fc60219ffff030122934164aa33fe3986851a13a079c54fdb7da9a63e1a4e4bf3e8ec74a8214a03bd0a2e4e1439ab57fd37c24cd33ce6837d5e254d54c7e88062da31c446417a3c0372c7689d8cedf4a68726f7c43c731eae4eba6a89495ea932a7ff09d94949f1f30383bb030500655869f5f7af9b038c9470630b34936e655e29360fae48fc12cc9f034f2c8ba7ae6bf8f4d46a780ca64de3c373922d2de3d4e32435dfd4bb84d930d3038fd0f00991c5137af676688421187712405e0fe4b657dfbd5d36c41658ec5f2b035c880e7a33da2550cfab9b40c9084cf944cf023e58221c8b0dd07fa12bec108b038d0f10a1ff8bad2c3289702a41d7c15ef442880ecc11ec84636181148cde56d303ecc19cc255272f7651cce2a83b6d9f7c3188b41145c0113c32c2a42d6dfd113a031090949f42ac5df0b0288574e3cb2ebc34d436e05466670a8c673161764590840219ffff033b5ea417612b816eb2e27559a01f474d4dcea6c4c0137512737e10ca86e576dd03fe78149b5346621279469911874510ecb529124dc198a00e8f6dab4ab98827b8030a642e46989b438621e525efd2b5c91a131099482c267894b34ac282678d2de70219ffff03cc7aa690272741c06dd2c0bacb46b20d8593c038e93027fd87aacf1dc60bd9a803e1eacde9ab111632be6d099fdd45c32e2e8d7e9b6bbbc5cfcae3d7800f1ed8a1032b1bdd7e77fa5eaf49c31e69d6297a85a27e0ba7f5f1653f2f4d77fa6feaf9b3030c1f30f385e6e7fadd3c080452bb1830f3fccb6d51943c7e3c39cbdaa3d900ad039b0a33545680a03e132c49b5199567c54ee3fe3d23664579b0a668e41f9f3701033cf2a552666499ad3ebb1ead95a3386987f48069de5c6114faa72b11a09b997b03eb0a5196b9046119dcace0cc0a671452b3710a48affbddbd9cc980df9e245913033a36ff92ceccefd9b136cf851f7dce6a8981528939559b0e6ada61f5a3806c040300f671dbc968f94cb7624a7b3f688337e4fdb64744c353dcd7f51955b9a8afde0344a6993e44ef397a4ac783cdd411cb5c00c55a3a5cd69490f455fe707b2d9b1f03933a1ae386027c9473af7e55dd034f21a22feeb8664f9aacda8cd5ab1b60d44c0354fcbb11430f75ee96323e498f115c41fc8c58f7ce10cc459252118b8362d8630219ffff0317f1d75f02289bedbd7e2ffa92e0039284fcaa96ddf79ecb0ebc6a28fe03eb5603b79d2e7990e83d1114544c8be30a90e55551b5c35105c36f8099ce20c78948660344143267c6955ea84b69da894b6ca6d4b17ddd34f4ba7ed9227f650cd971a5c103bc3a2d2a12d22ebbfc8a69081264ce6e61dcca60a707902192c588b70773df970392201e7e8bd2b81302184730c351bbe303f33a9bf27cf88555775ce043dd1a8803063cdd4d4c96dde3fc359f1c3b7e3f0761c696a8bad14aea7421313f02c0aee803031fa4d408dd95a87b9662357866e4efc80dfefb86d5aa95a3cca16c1ce405e0031279a24f16b3850bd07dad54754dd7d0953b4aec2cacb4825213514eb1c0f91303660a2dee8752fec8f33d533082034fd1749b9a15f76abb3f0220518dc751396903ae71c41f58f26059e0d50b96e4c9e4ec83e1d3ab71d862c1456edca4da109f0503bfbd33f5057c0832a2d28e2220088c52c8908954bf87e5f81391ec80faec1e8803ec86ff64b1bfe6f7775c4a8a00fb1b4e0a05f6c6db7d1804881c3b746e2861970385eac1ef69d9e4da96773c544852a23e718bae08410e6593475ecb17a490f89e03bb7e2f288fcdad39ea8e7c608daed81b75e920e60b5f74ccd4d7b4d6027a42d303df2beaaad1babcbaf35e8f59ab771434c9610487d2a36805b8b02e4e3523d2f803c5bf6a07fbcd88232a42444c59816b8672fa6a5916fd0493e7bfb2fd2ee28b1503b4274c7e527ede63c995a7d176506bf6b1fe929358d9d6aeea3b2fe5d72826cf03a1e2b7b4f627ce1ab92d777f4670f56bad48bd52ac39ff9eb9b309aeaefd2a7103f327f4c25afc8b4f7bd4ea1aef52ff8917ae1276c9e907b9f603e06d49a7afa003d5b607c3c91a574a6438fba7aa8e7a1a2a953e271ed0124f3c2f03c80fcf89540362f1ac5b1d016fbc7835544300b6244bde1d81326c511630202f877e2689a0f00381e4af3edeef59f2cf3f571a01f6129d634cc60f7f1a2a547ae426146bd401aa03168037d5caafe3a9373312d47bdc227c1a63aee2e150ad4d595c7c884ea042f403a57e9c016b928802d57b3e57db76ead5d41df4c3ab36321a3eb9d0ae76629ad20351f15bae1b2ee7dc7bb14e2b3908d42de86fe3a26089ec7bbaf502843d582ef7031068bb0daf30ab05600da7d3f48becf8aa5fb09531fda6121f578119f489decc0362ea0a8e481ea3c55adcf86f4ae5e7c4367eac629c3cd25f075d3eb62704c2d503981e91f1495425f666003a83d85b5afb13de3220618ea60decd6391e1166c8a103ac51e311939faccbdf933980b6bcbd99705caba9b4fe8059f726cf4888d49e17036635764f91aa7cf1eeb192af4b9457e95ffbd8eab658e87b880ac73e6a9e5c9a039087e809d48b949d64615b72346d874b97471298c26e2de2803017d9207d9f5c03da8cd7368a3e7fb6969cce2da56b0b68a87b970b68675b2c7c9371f762625baa03fa9e62c69d7b5ff3e8a02df2ef9f0f5f38e107edef839219d17179cf252287f203c585ed2e2c0bb6ca73cc8c2248b67bf0f1664b860180c5ec3cdddca9bb77db830382338bb913050382a0bc7737cd5046bffc95024c5add048b62594ab94facb47803d29ede6626dceb566c13b2b1e40f9acf41bd6e6cedeed721aa1e0e94b962723c03351997ef5bc48f6be427b910116d139c78c546919f03fe2eb7f2cb3b3cf05804039b9a8efdb4595f983b753d75024c79f3e31d9d112f0e9e95966cd548d19e4bc803a9702d2cde95a500901b6b6da8c3a9f50771690838daa6535beebb735451bacd03d5840232c74158a9a14d7b58b06c1550bd36b5151bca68561e6e0013f3b5a60a03135dc465a2a361eff7c35ca34dea3aaf1584077fe45cafbae059bc43c1d529490398149f677be4362234d2ea63618757368bd5ea43fd6b07de04d79b7a70318c7e03f345f29b2db301ee1067f97494dfd2efcdd41d67b0e4271eee9ff9afcab78875031a0821df0b458874072c96dc30a461eb5d92ea8225485cec4636953606da0d9003d81304c77a7d80401c94548ef364333dc271b14b103a6884651033eb0c2da97105581e038871115f4aa4f77693f19eb9849d4a71a2f6a0f7158b75a5da530f44c0040105581e03dd440cefb41d4fe7be24b1055857af4e4d7ce5284b20fe1eca0cfa0d000c014664459416240005581e03884211d834de3d11a80cd0aa7dcb1723d6569780353b2b8706c0a6c3900847025014bfbfb00005581e03fbef4edc995dfcdfe1c4be1ae4ed0a33fd4dd67096a5b898369ec92d00040105581d02cf56e7b9ab0f0368bcd6c9c91aed6b3d9d4ec1971397fe5c378ae83f0402045902e0608060405234801561000f575f80fd5b5060043610610034575f3560e01c8063199f72601461003857806341c0e1b51461004d575b5f80fd5b61004b610046366004610262565b610055565b005b61004b6100e9565b33733328f7f4a1d1c57c35df56bbf0c9dcafca309c49146100d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41646472657373206973206e6f742077686974656c697374656400000000000060448201526064015b60405180910390fd5b6100e3848484846101a3565b50505050565b337337aab97476ba8dc785476611006fd5dda4eed66b1461018c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c60448201527f20746869732066756e6374696f6e00000000000000000000000000000000000060648201526084016100ce565b7337aab97476ba8dc785476611006fd5dda4eed66bff5b5f6323b872dd60e01b90505f60405182815285600482015284602482015283604482015260205f6064835f8b5af191505080156101fb573d80156101f25760015f5114601f3d111691506101f9565b5f873b1191505b505b80610232576040517ff405907100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461025d575f80fd5b919050565b5f805f8060808587031215610275575f80fd5b61027e8561023a565b935061028c6020860161023a565b925061029a6040860161023a565b939692955092936060013592505056fea2646970667358221220e1e0e24429d1e60a36a247a324ced67999a9e96a064cd7f127808cf22be29fcb64736f6c634300081700330605581d0255ac7c678e81a913bf853f5551a6bb0741a5c148c177e38869e6a92607011902e00219200805581e03ee7d86dc28e98a1a94067f177aee63e0e3603c812938bd0ca60a188df00c034504e3b2920002193a8b031f4ea396c544385575f7317f648795e8b46c58c88e63286b6d7cdb49c9c3c1a803db3f1a5be8536c50a796471cd3a45ceacd91a027c35246b92ef2ca358cd2deae0219ffff0367abee778da185894018330a9b993a0ced9075e19716f2a2c8fdd0faba4b4cea035d2f73bd1a95d8e49533b2724d3e36a4eb9fdb3d5175f4cec1c786199b939fab03387bd806613062fa40a63b9353022d151739c49a2b55e1686779f7fb302ec2c303891f81da2b6c93837993aad9b3232dfe4f93d64c9552c8bf3f1af806d93abcca0326f15b650c43cd2e0456972566f002d04b55f640f7e4867ed95aa9daffac4e2e0219ffff0380cdfb4f3c718d06c88d0f2895a92c79e5a88067189476166dffa0b73a4bd0a603f858f5432ee3ba1a47f0cacd00dc9bab165ededc3035f375b276b6a5ccfe71cb039d3c061db293c93958f66cf82a08b00cdaa7865a29c0a68a028e049519c5274d034d867d9c19d067babc065f20726ff1e9c6e05805149e519c6016f07894a09fc003115e2a8560bf1cdf5d5481770e927a28ba860dc1888e432a9e5ba3b5582c428f0379cc7a92c9810d6c8289fcd81323357b5c4304d58aca6c4b8c68fbdbfd06d68703e098c63d5f20b1b33cf5d02c6f88b5fab96fca2f5ae310c144b7e882b0177a7f03e581ff362d772c5b4405136673b1d49b973726b6605335c9171006ebb0b233e30219ffff036d100c89da2e31cc4d3042e3ca24cab018e80207ae34641ccdf590aa3e8e9e4f03e1dbfe9780d374748ffc030cd2d9d1492008d95e182a20b71955a2f308ef21660219ffff0219ffff0397dfa101fde59d7a873fd990067871a26228726da88ed82217e3082ae0de9d8a034c6330889e479e0437ec18ad4221495ce093fe8604ff53615a54fbea804c051203c5b2f63f9a5a5cd66618806c193ca68fda574c5a2acce1ed016e8e80111b1fe5032d204460a4f390bb930344eca9cb78f197f1d73a30cff59173fc4c9118776c1b03ce3b8e21738ec00090bab67c0e56aba701f1ffc91ddd75971e8d05dd66804dad03ec7b3addeff25a874d06a1823987b7e739f53b8f18dc7cd09854084f7c4a480c034e5b05d9793394f441511084b00cd7ccff4f9207d8f7be27350b6b51c4b9834503ff61f62f38c0852b0c058ae5a37e5d6b4528add10bceddc6ed38bc2ff6b1f17403b05058f7de824628c4ecc041b3b1c502f92ec252850c58da6be29dfbe4bc405703be0b479b2cbf58363b88356f31d1067cfc06ed036a05a4f25aa29a2e73128e37032fe6479680414852100ea1896a2a1a31b538828412971c0944e9ed52ee9110150397b83d111a61768b3a7487748d8fcd3cb37bafa09bd88bc052e03b49e02e7dec0317605621ec49fe11b49d03a0fcb10f835fe7d288078be6b914d4565f9a114bea0356f99e41ed032708486527a36e3c998b9f42fc60f1c6a0f9c17b0a302a16537f03f4eebbeab1524ef7bcb20a30ce700431bfd8fbfa7aa09d472c10d704bd3e4967038d0e099a44f7f94546d79cf2bc08f9624998397189445f243f46332f84f0603f03d05250ea90479b253866120e5392b2b2d868e340657627c07bf99a10a5f65cca03050921a1e651703ca31b8579a026e9156270ae517c8249a1c185d861e75d5794039778ab010a0c170994e2568b7a74323405413c121da2146dfcd06854b976d95003af2edf1c12a65a6a5653a836da344214334fc18125b1e63bb65d7471d8c90ed903e17e89808bbbe14f5d187c548b09996169580f5a86b3e8e76ca051a12be8d2f603172a2b898855b435c0138b47ff7b835c7ea32d144f279af470e0d48eff8fb46c03e000d2ad2e91a07ad7fb1c40401ee7ac59c21d4bbde16c36cc05b0a1b0fd39ff032e0291f83f615fc2ac9ab68d158a2293bdc9338d4809ee467f8df0f1c112859a03bcd5bf62f604e285404479e944ade8ea7d3b9c2d21eb70a4c1571e15b0e86b8b0398a30a8778f0ded40305ff797aca464ce00a3f9f9f1bd2297e14ac40d335171403a41ff41dd7940030fda9502f8b9a53a3defafb850ab91965a9e3f49e1fb7e5e403774102fbd2afc19911bbdb4ba13dafcefc8e32f587a39acda10619fa3bf38c8303b82abff063c918fd489a5f382932ac32fbc683ecdbe87a5194521b697c0bc35903d6d462a3c91aca34f28e8b63fdcbc28b529b2ce8372da43b6af554565e08540703a79cd05a1f27dc92c6e4320d86987c4cd923f0f6b7170081eadee52096da34fd0330118fa5d8f20113dcf45f6e6e4ee9bc57511caac6ad6e5bb21f2f6331cfbb8e0330a5490d0d74cdafc07896ad493593c24c3a83af3764ab2ac45c7dc3f2780c300321018bba01709f429872107909c38efef0e53e71816b05edeb20af661d0191e30332ac4c48ca2b7ea7bef1df4cdd25d3369565fa6c33677e5aa4254c7289da87a60317f64686f9e80b29c5e086d6650879d2e10b03e76f1909dab35c065f74b1e18103ff4188c921d9b6f1bee6dfed6f7a49bfccabccc6bcdb8b58d1499eefd6c2a028033046c8c8a219c4c65d33095a44510122196a261ddca5f310d7c30c660070c4f603307ed868f1a796746f0a45d2c164bf06618ff25eca391c4bb92ea3d11d11b33003509d73eae7e6b8a705afad9c8c08b58e8013349667835aa89602cbec28c468080376131808cf1f70f19ffb7034be1db0ee00656912fa99de431ff955106f6e298f038d5c83f672a553c76c6d3b8fb64113dcf651c5b0172fb0fb6de6385306e2999b03265f87ebf0f1e77f65743101e01179f2b651258e7e671a023fbb3a154a40a8d703337c29fd9976d67b66b28034c1414c04861ce13b19a267c6e01d66f2cdb6bfba03387d1af7fb6734d678da59d1d8eb7aa81f851120b36bed51bdd5ea46b2a2d62e05581e0374a9d461b6a9d2c0b4b8eec628b533d580ac7a40dcb6d6d1d9e2c0e8f007011bffffffffffffffff031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03aea6a37014af491452adb5d70fa3a144f2893d475b7d03d22a07b08dc007011bffffffffffffffff05581e039009f9fb7f3600a0fd6cce71411b0b2fc393098cf0f18c99ed4c3fdcf00418280372a061fe6d5ad391d8e81fccdd10fa823507f7b7728bfb7810690b10aae2e44f05581e03468b1bad7d17d14b3da7bf86b7ac6239887e52714e679390842b97d0b00401034c45c04bbc4da5675b38332226f2ebc2b47b1e0c09e31f5e33c98c37eae7b14404592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56304501db03ecf300582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0552bc82346b125e21af9685fa629b9bd9d56348d32440058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820b73002977f7a921d00ea2ceae62e84aa6c739ed1af5d2e827341affa6f651e99005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85502ef738cbf907356636685fa416c08696ac5c309b402184400581f02e257e98749920f079c806953e0129df22aca1b5060fd814f8b684a2728b3410100581f0266c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7410102190204014200f600582103432903a0d939005005c35d6b3c91f991de7aaab2b261dabdd70424fcc29326004501db03e90b00582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3582065cf5fa30000000000093dafbfc84712a218000000000001a17653070c4e80bb0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f549e9fbde7c7a83c43913bddc8779158f1368f04130218480219f44505581e0376d2eac2897b11b32dac81b81fcb6fa245e571f0c1c23e6d28e7ed00500701192c1d05581e03e3596cca07971bee28d4f7363be4d8e6c720a382a8292af73ded53fdb0040105581e03366941e9597fc49d153609a888bdc75e5450deea087c5f0611f91827300c1821471485b42652f89e05581e0349b55ace9b37869628798c01d3a6cf4accfa2ced1c83e8ae740820c89004110373efca8acfbe544c8ecb7016b28cc776fd50a99ff19b848bc15cf31b5dc8ed0d02195f9e03e8c46238406f0d1b98ef136d648c28e2e8b8263391c554e9880c161fff165cbc0219ffff0219ffff03c47d5275fe855b7d46701da078bec769e285a35a64d77d91b25bb4bf251ef7bb03297c29d0f390b5b65f6ae34cd85557acd49def0190974947409845cb46a105b003d600f6b67ffb988d6770719115ac25d166a5618f731c2941b05c46257f0f765503ae450d3a7931a3c1a2d797fecb8b532b2a416b011c5b66eac4c7a83c5ae15daf03733ac70afb68cedd7251f39375e8dc794165c34d8992a28c1a6e5a01cb42f41803ffbb9d63f88897c6ffbe2aa9fda8b87dffec04851e6d8d3e0775d7b396c584130311d88e5c395d975fbe216255c16ca42c588a712276c49586d4ff3cf9fae1688a0219ffff033ef8ae4cd7a240131254d9907625ad2d3616109d08815fbbfd5aee912acab2b2036aa54ca1e4f12f7f0207d3e512b4ce190bc18ccae85dd73565d9242eb5e7c6c103319913649e465932fc2243ed0047dfea864723fcf47b7de527bc4e974e9f1d6e03cfbd4d08fd9e1de875ff093bb45e8a218788f5970a14a1e90c80b02c4e854aa803100eb15c41005be0b31fdd22d44d97c2377cd4f1c8d95741532724c06be01905036417964ffa371c57e6f395e400bed05db58f626794555697abaf5e16745ff885030831b0dbf4d1c827c664a972dd16c58cc551f8874c30ab70fefdc66525cea43e031ad2f3f9d09fe09f04845ed7ad6b8e1a4fc5647dd25b8b8304fcb7668938d37203bcae8b659ce47717542c4c1749f0a2c34be0d5fe9c46d103cdd66852fff07ba703cbc536abb71f20e84af17bea2cc3ab6eac3c2fe56962d098c942b1b1578616960362649e2b63c97826ba896d600683c001438d9b10adb8436c8e91073570fb444f03c5577f2182fa52a3b43ce239d0d5af1dd880d26d8175d0a8525c0732d8b96610033f7c3082081fbe4203fd093095d9ff976f09a8346eb87e2afb5c33ed617007c20219ffff03263e78c2c2ecb01c326d913ec44010a5949ec8d8e2b0483cd67d11d7b93e991d03cf8f99b839001afd8fca3d13b0bed66b9c96375bea0cc5ec0a1344c88ed421e703c03d2180f03d00062beee405ebab84c5be230cd8100f0de54866251f12157a9603d7ebd4ca0460d8102685c92e5d03bc95a785a25c63e2bc34a8886ff642ff10a5035a366cb6a84f62aef78724cb22841a25098531cef93c0dfbc987eab478aa8e040314f43643e29c03c21c20958f4db255d2b3a2f1888708ce8be6fc00256de8862003808f5b817c9ef3c39a4f17c1871432671bead67a2f433934348aa261ac0be77603f8a6aae111f30d1f0ed6666bcdb9f835266685113bc61459b35127d6887ba4c40316c1b019f7cd665ce6b3252c67a0858b88a147a7a8291870d780585b7a92847d03094265900c976454fe42db08b4d728fc462700183a2b3d446d195c55f4c7251103209b8c33ca4f1acfb8fa7091164c40b38a03a24510c24832ea0d7f8ba37467f603ff1422c5fce899621581ef95eab73efb46e5fd530f4c0cf0447d81a30956df6c03e2f6538d24ae024739b843d26699c7df0947549b27b8f2380d8cf0e55dca58ee031dd09da6c3f2c1e38b6f91f10f829c61a759e62bb9aa3b6d8f1de7ea08db46060398589bf5bd087a3fa0c0b2dec3a1089336cb7846696a0a392fee264ddba1cea003a735abd8fc0586fbceac1ac1a7472a2f4898b4c601a9a9b3f1590a3f69f4a1e903396ef29935567ea809496029d14d2027e8ec312ecf7499f280a203f4aac7014d03ea7f236df86cb2aabb31337600179807caef5bdea8c405ed8676f1d4bfedee0403623cbf159197c45f809d7167e876912c42640aa6629fdcad4cda3a0de803905d033d60fca5c0df5a9d9a70427488679edceeff74b88fb4a71e5256ca89b36011af03c1159efe6b581dd8726a3f5a892cf99a681662bafdb5432442537be893bef21c033e3f138dfd37ea5fda09897df32334d848ab83d9f95a5f305cf15b4ce1f90e25033f20574ac973dc6157547709cbac0cb7c31baa2da17dfab35e9c8da6b92134cc031c6bf571f4a6d789d4be859c7bf5d2a0ebb03f319b10b04496d622391d9d2632031fc1badfee7a6b662a27e0b182a3362d8dc0dffccb42eb4c827911c156482ebf03b8defcbc8f20b79fdce12b4f0c3a2e13ed8aeb9c4ee0621a411c8717cb50505803ed4ae5fa47b5e981e3c4d006dfe2170de7fca39862936d8910a2142ef0500fc203f339b60b343ff744c8f79351ab7b107230b38a99680343d862ec0d9f7429b9350373945e16f1ea6b13c393411c087e6d69571ff68e9578c5f2ebb0a3d8cee01b9403eb1dc98b4de131e954727735765515f50b9438fc94b08ef5a7c815e70a903a5103b3da505310032b1cef8b5f2292a85cc526e7f85e1ed1d195ad081dd85468e2d203f88cc9e4a2338b6b02e694b1e4056b464444eaf1d445175e6b4625ca0798cb21034c7a79fd5fa2bd35628d79c6a2f03c8535b634f4d74081f4ab6af320c412f59603a7a293a1699408e03be2f671049d440b8437a643fa20be6066fb5dbc0cc7b3ff05581e03db6fa8971ad16c5dff0df61c983a6c5735b13dc7d2ef55a5dff37dc6100c0147012ef35e16650005581e03829b8b434022a63cba8fe236649a2f2cc1c1569878795dc6ccc39487b0040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e031cc3c1014051f7421eb11f39d4bdfafd216f161720ceaf06e74cda37f007011bffffffffffffffff03d9341e9a79236fcf78e02523d3655b8297ec4328c6f1577d949e7d07765db30205581e03d87c983935083aaf8af636694de96453713cee0fc83260aed3eb33b4a00c01470124efdd56e98b0459258f3460ff164360ff161473ae2fc483527b8ef99eb5d9b44875f005ba1fae13331416602857612418565b5f355f1a60061b5600000000000000000000000000000000000000000000000000000000000000000000000000000000022c0d9f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000005b00005b5f5f60a45f5f60246101825f393460415260023560601c806024525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af150608460595f396004601646355f1a375af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b0023b872dd0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a9059cbb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60246101825f393460415260023560601c806024525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af150608460595f396004601646355f1a375af1601a9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60646101825f39600486601b0187601a01355f1a37856002013560601c806024525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15060a460595f39600487601601884601355f1a375af190601f019081355f1a60061b575f5ffd0000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af150608460595f396004601646355f1a375af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af150608460595f396004601646355f1a375af1601a9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60446101e65f39600486601b0187601a01355f1a37856002013560601c806004525f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af15060a460595f39600487601601884601355f1a375af190601f019081355f1a60061b575f5ffd0000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af150608460595f396004601646355f1a375af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f393460255260023560601c806004525f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af150608460595f396004601646355f1a375af1601a9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60446101e65f39600486601b0187601a01355f1a37856002013560601c806004525f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af15060a460595f39600487601601884601355f1a375af190601f019081355f1a60061b575f5ffd0000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346021525af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af1506080605d600439344652600460595f395af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346021525af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af1506080605d600439344652600460595f395af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60446101e65f39600486602a01874601355f1a37856002013560601c806004525f5f60445f5f8b6016013560601c5af15060a460595f39600487602f0188602e01355f1a375af1906033019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346025525af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f39346025525af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f393460081c6004525af160fd575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60046101e65f396004602a46355f1a3760023560601c806004525f5f60445f5f60163560601c5af150608460595f393460081c6004525af1602e9081355f1a60061b575f5ffd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b4646355f1a60061b562e1a7d4d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60446101e65f39600481601601824601355f1a37601481601c016010375f5f60445f5f856002013560601c5af190601a019081355f1a60061b575f5ffd00005b3446526004610aca5f395f5f60245f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af15f5f5f5f47335af11660fd575f5ffd0000000000000000005b33ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60646101825f39601481600801603037600481600201824601355f1a375f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60446101e65f39601481600801601037600481600201824601355f1a375f5f60445f5f73a0b86991c6218b36c1d19d4a2e9eb0ce3606eb485af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60446101e65f39601481600801601037600481600201824601355f1a375f5f60445f5f73dac17f958d2ee523a2206206994597c13d831ec75af1906006019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60a460595f39600481601601824601355f1a375f5f60a45f5f856002013560601c5af190601a019081355f1a60061b575f5ffd0000000000000000000000005b60a460595f39600481601601824601355f1a37601481601c016050375f5f60a45f5f856002013560601c5af190601a019081355f1a60061b575f5ffd095ea7b3000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff52bbbe2900000000000000000000000000000000000000000000000000000000000000e00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6044610dbd5f395f5f60445f5f856022013560601c5af19046019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000005b6004610dbd5f39806015013560601c6004525f6024525f5f60445f5f8546013560601c5af1906029019081355f1a60061b575f5ffd000000000000000000005b6101c4610e015f398046013560e4526014816021016101303760148160350161015037600481604a0182604901355f1a60a40137600481604f0182604e01355f1a61016401375f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af1906053019081355f1a60061b575f5ffd00000000000000000000005b6101c4610e015f398046013560e4526014816021016101303760148160350161015037600481604a0182604901355f1a60a40137600481604f0182604e01355f1a61016401376014816055016070375f5f6101c45f5f73ba12222222228d8ba445958a75a0704d566bf2c85af1906053019081355f1a60061b575f5ffd00005b6044610dbd5f396014816002016010375f5f60445f5f856016013560601c5af19046019081355f1a60061b575f5ffd7c5e9ea40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60a46111b05f39601481601501601037601481602e01605037600481602a0182602901355f1a3760048160430182604201355f1a375f5f60a45f5f8546013560601c5af1906047019081355f1a60061b575f5ffd128acb080000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fffd8963efd1fc6a506488495d951d5263988d2500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000062000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000000000000000000000000000000000000000000000000128acb080000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a800000000000000000000000000000000000000000000000000000000000000001ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000001000276a400000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000062000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000000000005b60246101825f39336024526004356044525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af100005b60246101825f39336024526024356044525f5f60645f5f73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25af10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b60e46113fb5f39600460166015355f1a376014601a60f037602e357d152100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af15f513460181b1160205160445114161660fd575f5ffd0000000000000000000000000000000000000000000000000000005b6101046112d55f393460181b6044526014601a60d037602e357d155200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af15f515f036016356015355f1a1c101660fd575f5ffd5b60046101e65f39336004526004356024525f5f60445f5f6084355af100005b60046101e65f39336004526024356024525f5f60445f5f60a4355af1000000000000000000000000000000000000000000000000000000000000000000005b6100e46112d55f39600460166015355f1a376014601a60f037602e357d16c100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af15f515f033460181b101660fd575f5ffd00000000000000000000000000000000000000000000000000000000000000005b6101046113fb5f393460181b5f036044526014601a60d037602e357d16a200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f463560601c5af160205160445114165f516016356015355f1a1c111660fd575f5ffd000000000000000000000000000000000000000000005b6101246113fb5f39600481601b01468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16a200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f51826016013583601501355f1a1c11166020516044511416906049019081355f1a60061b575f5ffd000000000000000000000000000000000000005b6101246113fb5f39601481604b01601037600481601b01468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16a200000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f51826016013583601501355f1a1c11166020516044511416906049019081355f1a60061b575f5ffd000000000000000000005b6101246112d55f39600481601601468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16c100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f515f0382601b013583601a01355f1a1c1016906049019081355f1a60061b575f5ffd000000000000000000000000000000000000000000000000005b6101246112d55f39601481604b01601037600481601601468103355f1a37601481601f0160d03760148160330160f03780604701357fffff000000000000000000000000000000000000000000000000000000000000167d16c100000000000000000000000000000000000000000000000000000000016101225260405f6101265f5f8546013560601c5af15f515f0382601b013583601a01355f1a1c1016906049019081355f1a60061b575f5ffd5b60046101e65f39336004526004358015611b13576024525f5f60445f5f6084355af15b602435801560fd576024525f5f60445f5f60a4355af1003c8a7d8d0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000620000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001af000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b6084611b2b5f398046013560e81c60020b602452806004013560e81c60020b604452600481600801468103355f1a377f1af00000000000000000000000000000000000000000000000000000000000006101245260405f6101265f5f604886033560601c5af15f5182600d013583600c01355f1a1c11602051836012013584601101355f1a1c111616906016019081355f1a60061b575f5ffda34123a700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000004f1eb3d80000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a800000000000000000000000000000000000000000000000000000000000005b6084611d1a602039806015013560e81c60020b602452806018013560e81c60020b604452600481601c01468103355f1a378046013560601c60405f60a45f5f5f5f606460205f8a5af1956024611dbe5f396fffffffffffffffffffffffffffffffff6064525af1165f51826021013583602001355f1a1c801591111716602051826026013583602501355f1a1c80159111171690602a019081355f1a60061b575f5ffdff5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f000000000000000000000000000000000000000000000000000000000000000096e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f000000000000005b5f5f60a45f5f60605f5f60445f5f600235805f527fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000060145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af150608460595f39346021525af160fd575f5ffd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f600235805f527fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000060145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af150608460595f39346021525af1601a9081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f600235807fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005f5260145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af1506080605d600439344652600460595f395af160fd575f5ffd000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f600235807fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005f5260145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c6004601646355f1a375af1506080605d600439344652600460595f395af1601a9081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f8b60020135807fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000005f5260145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c60048d6016018e4601355f1a375af15060a460595f39600487601b0188601a01355f1a375af190601f019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000005b5f5f60a45f5f60605f5f60445f5f8b60020135805f527fc02aaa39b223fe8d0a0e5c4f27ead9083c756cc200000000000000000000000060145260285f206055611ea45f3960155260555f2073ffffffffffffffffffffffffffffffffffffffff1660446101e65f3980600452961c60048d6016018e4601355f1a375af15060a460595f39600487601b0188601a01355f1a375af190601f019081355f1a60061b575f5ffd00000000000000000000000000000000000000000000000000005b610126611b2b5f39806015013560601c60c452806029013560601c60e45280603d013560f01c6101045280603f013560e81c60020b602452806042013560e81c60020b604452600481604601468103355f1a3760405f6101265f5f8546013560601c5af15f5182604b013583604a01355f1a1c1116602051826050013583604f01355f1a1c1116906054019081355f1a60061b575f5ffd5b3273ae2fc483527b8ef99eb5d9b44875f005ba1fae1314606060845f3760605f2074ff1f98431c8ad98523631ae4a59f267346ea31f9845f526020527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546040526055600b2073ffffffffffffffffffffffffffffffffffffffff1633141660e43560f01c5774ff41ff9aa7e16b8b1a8a8dc4f0efacd93d02d071c95f527f6ce8eb472fa82df5469c6ab6d485f17c3ad13c8cd7af59b3d4a8026c5ce0f7e26040526055600b2073ffffffffffffffffffffffffffffffffffffffff1633143273ae2fc483527b8ef99eb5d9b44875f005ba1fae13141660e43560f01c5774ffbaceb8ec6b9355dfc0269c18bac9d6e2bdc29c4f5f527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546040526055600b2073ffffffffffffffffffffffffffffffffffffffff16331473ae2fc483527b8ef99eb5d9b44875f005ba1fae1332141660e43560f01c57000605581e0301f6c3949c69f9617d8cada9fa07b6fda3ca62cbb047761f4b81f57f500f014701539d60bab84819258f05581e039d23217cc1d0e25898a08368730ce1c3b413b7c4726dac94a5bb635c300c01461319718a50000219b7960344f69efc96b5d710a1abbd3de340aa0c5b19f185f5f5af0aafc63564c49470ae037f71f69d7ffe6eae84c543710b1e63632992124d6efa05b9c9eea1cecde51c3803d30be93feae6122c5c83fcee4ade19d8593dc0e77a70a1352fbb785c9bf740e303408ff80ceb10dfee2c5172ac2b00b97725e08b421f8afbfa60eb18f29dfb64380300254560b9f93c0ae534fc8ef874e98b7bd17b8fbb1ff4749952add33408696503d16f183da84481cfbd79c3b6c17a2a7640a29d64af2305d38bded0603756548903afbbd44d1035934b2a5e002b0a9d4da379ca6bf12a26733a4a21b72bf308688d03d9904ae3e52c3563d7f895ec9d4c69693cbd56916be499561bea193442a13db30393eb3d942ea02eb0b8981a284886f44b6a1f2ca9529f288a0afe64f20925809b0346ca8f23a3aa58be5e6f8b317d0e816294011f3e17463ed636aaea1ea255f3fe035290850ee2daa65453f3c475815e68b6d6d7fc8cfe02ab05ce6a365b55f7e5580219ffff0308bcbe1e77152c55aeb289421609c72d4840c442f4814f04e70dc7562d1bf9db039d81891c5d2f490c3476628bd0dee50f0b2c59b04936e14b6504d3bc38de6ea5037e36898afbf03a5b22da3a7a344dab864c5197cc41f6fa21d21bd9b0bf1396150396767989914d58a550d23b6f74deaea46038390f3dbc86b11d27d8aaadeb38370219ffff0219ffff03e02e7a625c1d2b58c584c3faaa9d8d9a805a86cba7348de8f107045a566dfbe0038a21425582d206c56c0299fb1ec2ce460d7efc93c74782c4f0ddb8d4759b92d003ce0381cef54e33fd2879682803e2b3b61820073ad8267542b8f95dbfead60a0c0339c2ff07b8adb3428f1b927a455d7f08f8d18ea6bed4425fefb7b2ac5857393403a93670b3765ce75c4b84af1b1ee8dbf50a097a54cd03d7f2a0bc1170a21b458e03b15e47487a3e6b993f6eab695f5cec6d04e49eded15e09cdfa03eba94ab16dcc03b65efcb505f6da7cfca1ccc4547383e15462e2a415db205862d41658143a475e035fba676c58b437a5a5a64249fdb3fa7dbec751f54f167e240ded0a2324ce38880395973bb87b5d88ab4778580f0cd48d7698cb5bad10d3a72504e1fec61dd24da403405649a7a763314cd97968b58df25cdafd75a746478baa157bc483bbe3c7a1df03bb9920ebae59b43b3bccd50d7d160e8fb7f06ea9eff1c3c979f7c5a49153b43c03e5129ef9780100869a9faaf43d334c19b45707ef34c914834667d1ac03eece33031f359bfad93710c88f17c4170fdbcc623277b952dbd4d62748c6fc268f9047980381afdfa7774209fcb4bc07f91ec04ebfe1b89c69a9ae1ebe2bc43536e45d46030314ec32550afaeab1ed605a3a72100325cb76c0e8fa24e3c69438aa77a1a4f74d03c76fc44ec84125b9611cfe7b65ae97a94e4c3be48cc6d956ab81073e3ed5d0fa030bbf75bf642c80da34b73dc943a30c7f1b3be348bcb6d1e2529fdd51449e08a103cf160104d02da84a41724719c27da09ceb1a51b00928fefcda317edcf309825903430344155e34189a33e11dc4c8ad6a9404df9870a2e18ad0865721f7c1f1147a03bce449afc50e44019e3aeb75e9f2d6c72042d0a20464b69d61eb2d3f2ad96843030531eb4a0afef3cb404d7675870c3c49efd29b9a4b859ddaae94c36310b7ae0603e752d314fe049bd7c6ed39c67d2f1f639c45eabfeb257b9147fdd57481857e3c03cb64018e30deabc41ab7512bd25329679bec782bc7628f4f0a116407316e648303894b6c455abd1c361917145aa5eec85d66b43da4327f92f9abe6b738ba9323c1037231449890315a74a2d29846f6c25d573b12d5c1222989c4588d400044406d2e0368ebaf5ceb22e2bc333432b76718d6c36166d1444ea4dbb2dd5d53b77494290c030207bd1b438590dc2ea4773092ff6840b379c1206859eb63b419a18280273513034c42088bd69508dc161cf6548f23a976f09ba9bec3c446d4a2cb7bdbc95a323203c286dab82a74c887eb5d2eb399eb414c81f1083efb4af7d185086646598e62fc035b9e9801cb4418702c6b8d3be24d9ee539bee1721f92fe233a0d95ba588e81db033661a6bd0c24511a05b40f8ae74c737f47d0df70bbf3c7a0816810ed90a8442603d6b82b5896be46433e7349f5005e0d5958dbc3747435483d956149bf9a41740b036af61ac19cd4496fb6d376dc38a8165a2561022866ce6fef41f8ade0fd2a407b031d942c5f793bd295e61894015b65c2a0b772da5420e868784603db7d45fc38ab034f96708c335dd6364f8c5b4fc62edf32f5fd9a7107a99be1e9f6914b4093b88c03e3981f17dbc1a00258432c0e34232f267d05e271590ee7a9783a51870f9873c8033a7c4e1b76aa60dc9d631272c2ce6a72e82914e0cd8ffc759889d5f24cdedeeb03ca06c2b4c97d9941e56c3c752abe4c2b0b2cd162e22a5d25f61774dc453deedf05581e03da7d3b581a6515e83a053ac10dee614e37c74397b0001f77359de74100040305581e03e08b15e58c41c3c9db35bc5268e123e5e61f633bd60f8dd66ce320d4d0040105581e03961ea71a2092ede541a5313d58a72b669c614b45d7c9e73ab7f40b85d0040105581e036be6c90bff6b129f08f2d3732f40a37dbc9a95e1c60843ed138e4969d00c1836470135ec955aed3303235db60b9fecfc721d53cb6624da22433e765569a8312e86a6f0b47faf4a2a2305581d024eee85039fc9d8260336899b904d35911f52859f57c1e664281186f20c0147a7a5422d062ab804590c346060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a0029036aaeb1e0dd249b087cd1c940635994a67018a3efc2936343a1d5683dfb2222a003148c0f2304aec3353cf5ed7568766ce494a21fe011985cddb407f939e9e3784603b1a4e93c311e947a63c609299e2ba2d7c4366b66b7ff9f76a47a9f664e12ae8803977ff6ee86449fd9ebac8463ff545fdb4a38e11385e958bf6277974047b1d236036c4c151180a39edb4fc33f328395429f008873fbfb4e59af8b3efd262acb84e103089710c7a16e171320a10b6bfa611bcca0d1c600363d8b0e93026e86ccf00eb303f43a6e3544d2c39c8401dabf9a56c3833b0a6f076bb84531f56a458fc067e2af039c1e0323f514f23b03257afde58fa72cbe2b64f4b1fbc02ba92903634d4af557033c9ce9384b1306ecaf25eafd1ac442076e44ee9e517bb0309557f1dbbaebcdcd030a66e92eeaf801092919fe5c726811e2e2afc96552fc69f880d0375d795c2c070364e28106c325c81a6deef5895ded24763fa571f68be656b87c26f0ef0e73bd89035e65546b978b0a40324014c9c99e4c5cc66ede9d8c6f06a52b76da37e2dff7a403e6d2a3cf8466027d8ce6c3fd8b8137fcb5d3dc34221837a3c0052493d6d6aea003bc60844ba0c0f950e431ba1ae8f48914bd3615b148b2be4f0b205c62218dd5e603a0ad1e2e5f67d5d490f8de1a408c30dca01085e318971df5c131e63df2a836e403cb985a6e5f969d91cd70fd13601a14e12389fd9838cc92d23bc36973e136359003b24bba13c7f0dd576eebbd075439e3c822e4f06a125e1d43b71197e098555374032daa3bb00175af3b8e2990396fff10297352bd5469719dc25d3919f285399978030b91957a4270f52c4bef2a9148d90d5d7ac07d2edf289a0bb1187768c942a92e0384c1c153254938bcf5833e3266c69d11863f01beebc2172ef140895ab5e8137f036c73c87058593f7a4c5f34ed7a844533bf2ae21f0dcc75be2305cb26502e27d803a7116b013767ee61d04cfc7ee0ef0fa6eb0c6e0b7d9b21b78302c7452509581003a0555fa89a6ac0d1f753c5bc430ca1bd74595c40928b8eb150567bdc1a85892403a2f2c2f85b117e77fbfee593bc7f1a87d965760ab4ceb77e2bdc085c22b2c46403e87a120a0a27451b6271d538a807bb0085c31bfcf491f46298bf79e07f1561b1039504a9cb5fc23525872531ecc2f65ab0bb5b29115c62bc024a8912f1fba1cc4c03202d28845054f6fe6a50978ee6537cc8f29ea9d08a2b9d1c560a3a044f9e8be603ab12089e9f6f349abbebe4f7498455ee8410c5cf24aa2586edea6446e9593ab3036d7c1259ed661bf224d1f6954d7a13a9112f7eac5ea9541142fc8327142c1185034302512bd497d6c6691c4c6d78fdf99b51252c4cf34b284987001796c063680d00581f031843a5260f50654be60454888c12e1df9a8f5beca305d3643235bb2410105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0314ac2a4037bb9c454b5ff1d341e61930d98f8bbf8d3879fb16bd9c75c9b180540391d0c3f554b53449edcce8701fb7941e35a59dc2ec26b8d30a92a204b5e6f6df03d3da91b634b1a7274b216a230bbcba5e24d92dcb0acdd9600e61d9d3e6a0e6ce034453e289c78c92dd80619ded94bf85359c38c30b8ccfbad693f38d7b6762751003a648a3a6eb8bd75eb1e2494b42f22a94eca6d6f608b5b7aa2ee9b5c0e9ca547d030feb2f389db71094872ccb0acb1ccff2f1aec23fe78ff388eccfd0000edba3ac0306c41f230bca0bff2ef0f2eee1e9f31dc74fdb942d2744b67227fac91ceee0ba03d05faf394c9234ac4e98e507310fdbd59c2580cd987c354cc84105e56caeaea5038101d8390f58e6e7da14d23c8005b95989c7ebde1a3c6982158464c2aaae60a5032e72b7f4dce792eaeeab1c5033624a348c0511b1cc58e47802ebc95995d428db038c233253a52c8d290c1cc6d7784cbcb618436a5b351f4d65c5ec53e05c7b2abb00581e02e45fa4a838b134c920a70c634c9ca44bca01a924b0040860770d1aed8947726d75c93f880000581e02920e6cbb93e03175c156b6576e7c589a7b95ec4418551adbe64a3944845820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0218280393d772a69697218f224549a9e49fe5d9bc8b9c7fd49e7ea79f9713960c9076380219fdff03125272869e4a25821c1cfbea8c449006295201c8a3b3dc92aa3406d39104c8a90349d115a4a345f8a268d6aee0628a37f606c4cd02adc99bee0d669911de16ff68031cac3ecf09fdfd75a2d143901f6954071b1174b117f8f904143cf0421911a13b0398a46da7dd993981a9a8dcaf22ade3299be2a26ef780714b027d49f654e022850219ffff03df92241811a831787efcac462fd390fe5b43ba9dff23ff8a7c31535e602b6ddf03132b10049085bc9411c024dcf21327de2162f0af350e374686035cd48fd66e540315d16c487ef535d0f173a49c98dee30280d70f178dcab63c169934921b6a88fb0340fb1c046cffa79a46c8dfd65d13fe4b7734d4f0de8e5db9b56e0a3c74e0f3ce03ccab9c6c1f535a5c35a33a1cf64e366963750b0fca755702b3b5c1417dbb2dfa03cbb86d45dd9af8dbb00aceafcc979fc30e5aa0cd791c9d803edf2c899c3ffbae031285699058db64b8b3582b409e3336dbbfdc4d9c652586f8071df03934d17e7903982f0f8eaf23a1e6644fd286aa80994e30b4776d9673217bfe49330d9430d6c40219ffff03148ce59153c3b6d3a51adff6fed05e04856b41a1b213cf618eb02a0464013c6003907445856d4e7bd1e631857782665c201d5eaf44a89e6dcc56cb91f6710699a9039b08d40fbd4f420c2c9ce0bc56f0bb68851bed1077a3ef9a09227b4d52e7f34303b079f07a552409694a69868e97b41a31d05b058048fc2b22c31afda30a32e4d2032def77a99f3cea53463e061361a4a5c2a6ebd51b4bce0183b47a2487bed4b9dc03c2b80bb8433cb5be1729135b7cd381feca3c71ee3f8d3081dd78e395521f43b103ec922eb0dd7dddd163f9662050404d3f517b59359c4e488a1ade52b41beb8b290219ffff03f9b1a3de1ddf51fcd02852b050cd82a44af42a31e4ca0431201232bab87fb2b903d662475b9dd7bc4fb29a113d47688b1610d5ca1d97cbe41a09e3c45d776e13c103e43ce858d3bb97be3f11d30381e4b0b5b5d495d4b60a720c4c76977075740a230342b92a6a02d43f2969169120f474850868a376a6f3baeee2b8ef27d72d00d5a70314f0018f0ea7622f10c9c16904d69aa082d2e697bf910dd5bd22c11e4343da810390fb0cdb6d73176293d1bd512a8eea879edc3f7761cfe65860cd54d5eb05da360323bc64835d47eba09af91d3d699dcdfc662f646e18e27614efa1cda0d15a885003d44a7b9d01e902fb5cea241748244a1ca359cd7b01b2c93c3561c6b8d715812a031d5dcc5bec9cee90eb95da8c3e5ae9554113c5620a4042832dc2f2a0d38bf7ff0393b1047e44528ddf116e8ed492a6c212860705c19664cdc6a239ac6bd165999a034b78d73443410fe7e26a2651584ebfd40f664016e64de6eb1ee5512ce60b8ab9035f58b8d1c6795c7d004b3a0d7d66693db1d42470826e7904aa11ac26ba5be1d903ada595f73bd0c03b8674369a0b872da7a416403a407fcaba17b7cccf8c441f0a035147c2b7234b7f98df9b329bffdef77beaed68d805393270b0bca31c0974e20b0341f585d1afa7058de9c4ff75e578cfee0547740d52761109429e1a500048b8cc036e000c659ba7400fa969a30b46bc8456a87ea85d4e8dde9a6d0a9f2b362220de033a4e8dae42372574bb9b956bed5599265ca7f77ef6ebc02fa4422734dd492e22036eee0803e5c6cdcdfcfe2d5d87413d3da3a75b981e35cee98f1b116321f6696c03432cbd7efbaa89401c5517539e8d5fba8caa121bc6bdcbd305cc8caefa1d05580345f92df33a0fd133c2dfc6d1d13eb684f07677d672c5f645508a620d143bd26e0323d9ebad29e4e7895ad2185bac3cbc7ce6fed69f4c9145fe7f2c7b25009789b903519e65d019ed3c6cef529cadefbebb066c1290e7d2ce262e11daf1fddcb1beca03c5bfea76dd60de9c0c9c74275e1780cf1803d2c1432e214659eceaa9ccd8fe3103f6ed084f430bffa399efad0fec00183805450aa056dbfdadc0101fac40bfcf33037b812d3d2422b715d9011dd10dc45cfb80de8d0e2d036c8a985d695bf236f88003730022e3f37dabd44ebae9f0b8ba59d9e9bf5d9557641ee8813b57f57b312d2b03b9cc9bb14776136d03fcb066764e3d75df42bed1fc4c2618fc0db7e3f472c0bb03268e78e75296e051471665ff51a2c6ee66688091ce14d4e4962d238cf183556403c161d822f7e345d1a803ecec4dee41f647129dd2e4b3e121b41eacbc90334e93039fdcf29c144697781256d8c58c8d5a4647f379da8b38c80046ab5e613452d68503563c67c676cbb02b118096b4986ba589cc4a0c80776bb11d0946f42769e815ad03adfef6aa619a9c61fafc73488a137b2b9067ef7f3084b589a2c36d7d85088a9b03192fb8d2fd62532e258d48a708c613ab0d6f749dec3a705ebb70f0980bffd6d5036ce7b69c284e4d5ff7aa7591172bad92c5ab6539ca0a7cf8bd5bab695707badd03cf71e2f66aaa87e44b06737375fdf40912da232d600f267924e7adeaef734d4e037fe6aa9028fcb17c4218228fa2205bad1d1265207801557f6b71143937908f0a031fce0e35b7afb0734361df0242ee908a9e77ac2e6eb64313dd6123339c4726d6035f95eec9ac279db4f8cbd8c6d73591e534db823119bf835b09e6dc0f91df7eed039a0640a47039e93a2cfda190fd8a488905fcf7bed4c9409e6ffb3ab864ae05ec03de3c56e17f75a7134788e2b302612a64e9cbdfcf2f6b80f576da8eb48e6c92fb034dbebd109c98fafc3ceccfd8d2f5a1620f174b97c667b83a89937ca04f9e0e6603a0a5fe05a71f0bf6cf1ea4b15415e886df2db11aba30e57a1d7a9cffb1d360f000581f03c0989249a6e0cc82ed453bf7ef7c1dc3d5a2f80aaf8ae6c92eb1e4b275304b4a817c417bd859b65ba95600581e020e15399fd39d541ab913f704b29f2ac5a0a1d7c8de1df5fc284ad5bc8e491df6e71091139771710375c66964d75b3c09922d520522ccc74fed954a49cce59678beffd1d6219548ae0219804003897b04fee6fa11c85ccc358e065296b5167fc4f1f98dd3f441739a1bf4f31a9a03df6e21134b4f253174b754122369e4a968a58a80ab8cd11a3ef309b19c4f13d103de9555841e4d38f19a907cef279ed0305a3b40f31b94bc562044c603f21c86bd03d282d00380b4627f3343a7bd6b304f79e9d11e4f2ffa6d682ac37eea2157144803f581a7918745d765bdd33da58b8352443b12956c816c6615b6bf5d46f973968d031c2ac99060a723d5528838eb2bd045c0f26dc8d79db971353ccc45e0c1cdfede00581f03a54502883d504147946f04c0bb6f530de60ef10da9c004d4d863c9e7f5805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f03d43c201d1d6d4b455cc27e248ac5edf9245e40430e0454431678796079e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03689ed8ccdb1d6c4d4f631a5783a46562d2ea4b506e0457329cb7e9e29ac7f24203748330133ace753c29d8bd2f4ac82b0a5dab4921cc373a94f99abe6554caddba0219f7ff03b9d58c6d54102f5afbd5ea3a11c75bfb789610fb1e0abd8759f55da391b2588c0219ffff033d0a0631da22140d9980b77198f93966c465732de1316f8e2079845add63833c03308f161e020fdd7549f9640621f1e75125002a27384c8cdd8e272d369acef5b60336f600d07000daed56ae4c73defe117b1a1c408e3ffda727d5120f2d1bac1b98035e7e8b146d15f0d9d5fe1866172ec6ab12738733364add3b5fec64932efbe69a034d3ad34130edbbd33810686af87380324b01411066c8b5bce9caf44aafe16a080219ffff0391753630219fa061da2f5bbe0ef5c8349f57b3babd94191807e262f1f828502a0359bd38fd590136438472abd7c29a908fa9661f015ce766de74144aa903fcb2790219ffff031b4f97035b883df174e26857227b2e9129fdb24b36deaa5a40eca236f51a94d603a732c44b4dc3a649b48836843a6198adaed7c237ffc671eafc13d7e64fe505fa03ba8d847864e282a991307f028f9b7281a7d7c586f4d165dcb09f56f77cfe78f6035c9e8f32e0b80f324d127c1758218bea79b6eeb81118e4188ffdcd3a81af3f7c032a0a0f882de87cddba79fabc4d0ba428d42f81d84b0b8a1a55fbd0ae63c5ecd303c2229cc1619df92fbc32dbdff9f0bf6dd4f0dd22208f9b05f5a7ef3c26467015037aae15e597f24850cd76419f4d056cd60790f99bc9e4f85c0a1082c850e065ca034a14ba77c23dffaf345269dfacaa6ef720cd9639d0850089be0cfb8a5c4ea70503b93a185db5df4e8a695fa9a15cc14bdf440116e6ec9e102adcc9bee22b93dec8032b6079aea46d6c438bb050bf5963f870e0dd4c28e9a43d877e623ac77e68a11a0310c1d6d60eaf244100f27a39d49930133dc409eb9258daa3ee72fb956ecfb57b037a8c38e90a9d3084f29661f023194abd5e179f7ac382372d4181fd11d6248b52033a7472560c188f46db9f91529eabccb22c24b91a87c8bdb67cbb2020f044ed5f031c92c2de4f649c5eb7fef1f2dd4a07b967ab986d7812f88eb85aef63ba7e60cd031ddaf463cc5cd0afd40d8405313b3841df1b66bcd27f84ad3d83a9765c44ca24036b30f6fb68ee486958d2908882abbaeec2e8215b507a05dadb0203df41b2e65703628c77db566123d1c06e8c8e61064897b53b6cea5c92bfc6b0590a83e78d17dd03e6a08caae2e5a19a6534699eaa45126089718006fadd56f2d9a00d729cf59e6b0367a2335b37fe2c18ab910b5192609091f4cf83bea3a3eff7aa1c8f65ae7710d303f39a7571154bce8d4066e6a8ade370697e1647a658257511b21a6133b6e6d3b00315d2e9a20cfbe215473da0212f0c12369a1f33a4108da61c7fea3ff06db3c7a70394afd1fa51d4b995f81c07c01c85fdcac96aa2a9ddec53ebe795e833c35e992903ac1cc00f3fe79ffe8d00762c41c60e76267e271fcc53f0238cf3559aadc86dbb038e184234b198d6818c586664b1e53c1e6d0fda0e337d14955a1fa07eb268a50d03fbd188de5e001d9973e5e272e8dcc3ed3186e90800b0776d3130ace932690fb003bc6dba6372569631c952556be8ca7cde85f5b5e9de0108b890be17ae8cc2c2e800581f03294f295afb1fb36ed7571fe230a68b51c5c3c4c821457dcc320532d1a5005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03e0613854285ed12abaaf7127ff70f49a63802daac845d4557be198856d9ea9b90378cc22eee8530d3b50daa2823cfad4b4e5acfed898b9c28f95947beb99872ca800581f034b9a6da6cd1bcd3a9de67e96d96524297c2e634e18f3d3c1e138eabd25c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c3eb294e14a1bd5ad7baf12d63c1ad76056b46288afd261e3d8eae3a491d5e2a03d70c61dd6483b5bc2e54aeee9617f7cf1ca628305bfc238521ee56875f1713560384646eb05e060a331358a63f775212368d63e5a3985ab960a1f97443eaa99f0f036ad2d024007efbe9dcedf1b8458628baae16bb17b309b264cca6bad64217adb703bd15489bcef2e9989ef1298d9bcf70d3fcbc829f5718932d6d541d70cf373d8400581f0341e2803d7e5d925debf58dea57c47b45d238828f50f5a4d818f8ea3eb6104723bc46c94c540e00581f037b894c13efe501d77927ffae71a82cac6051a36300e9aaf3cf22b1b2ea005820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03b3eefa67d5ec7a16ae007f84831c4808e90ecec458a93473b25d75fc06da8ded00581f037a0bf43238cbbbcb4003c84bd021dc80e136a57d38690daa4456ddb1e2105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f4d344b699fc1351d2d5f811ab43e2955f8083919dc072cabd0f73a546b4036b03c38d53019c4c8a58fd13f428b88ebcc41669a692369557a1885c3bd4969e16c800581e02c1ffff3533ff4434a3aa1ff6351a7237cb7d56a977c7f3c5fc6096621e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022d362f510f31d6a1c57f07a71fec7b413c9eee230b8a1631f1d21b9ffb5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b9a1bf707ee90667e23724f818453bc614d7e73dbd09ae8188c15214f44718de76816d800000581e0260c7e41aefd4f58ccebd698a2a4697a60d7dd9f37aa82afc17df08d6124a010eb8ff5c6ec42160fa0219c4480219ffff0381395b5b5fbc64d007974cbb411f14107821e0e4557d1fa9d1f15f6f11838f0703041892c1a86f45af727708f25863a0f5eb4cbecb7e4e4d5481db08c1e91573b0038d1f618fd079e76b67453db30ca563a9dc8ce7d42a6e4696cc5b906b83ce867703535c5bf3fe78626f07f85b8cc4f8236f1e4605de32a4b4b0f1459aa1f2395d90039f16b03bf2313e5fdc28dc859bae6824a6a1ebb609333d02b57c947de0c2762303d735b32cd1ab8993546a9f1c2da70b5d2f4758e9d580edfdab69545d12642bd2035f0c20453cab9d341d43604d67cb307569de9d9a45db2da03f696b8c3a8779df032689569be474a9a0f3d3313569234152f66c72a070261385e34865ee7eb16d7b032c07a96120fe4b00dc4f9a37b591a4fbc868352fa8880ec26d7fb7e8e725318c0219ffff0328d5997a2f8a381f43c2416233c7ad8e701fe7585a4ee9db2eafbc7619377bdb035308063446ca37dfee4ca6ecdd2b8a34b32bdf9d3c619468c7616ccb2446719b0312808edbcf03cdf71ba104c290b2222267b6437808b56e622e7f04fcf7f2781d035fbb6b7da7674abd79ec91a54337ce3cc8dd56a9920aac8f2d5862e36c46bda3032df05b3184fdfccfe950c5ca598b7870485656088fffc039590ec179bbe65abc03fa8568eb7a92fb2ec1396a3db34e28cab406031a411255321561a951f79574aa0312b0ba806aaf97816ba1107c8145a89294b4231cb48c88ea01562550a20e5c380318a7ac9e45ea8b80cafcc027831be415e6a219d0d055dac81f909378ddbc17f20219ffff03868664f06f2a5d68459163e168ad49abcd02ff97c45aaf00f6f93f6d61fc10c703a64769496f3f7f7a8d57a4626fdeaa73ba07c90aa25a878625e9f1ce63cd85b103d5a703cac1cf5dd5a81ad74e710bc8f48f66505b61bb20f361ce141fa53bbd0b0219ffff03f30f1db5d3a12552bba64d6e65873c89bf66da484742888fb4962ff4b97db4720341ac2d2df50f3196b691e14c3419de2c89e7f6b9da7be46e5d231de653b87ba403143e864aefa356946424dfffbcaa3c8a34d7552df001d2f93acb23ffcdb736a4032df267b1c58f1f13f86e0a84c4c1ed96731f853f4d58b835a55e930ee8d6e552038a696f36cc00865896affc2d7319a996c92d0b1ff29492868b8b5165f8d497d403a4c9a4448576278e481da8a55ce80cc8623adafff302276e0dc2fae9f02206fe0349609864e05a84269fe86659ebed5d97f831a8dc1b59567b64fbccb0206e18e8030cd72b209304f0e48b7460a1f3085bcaad25729efdfafb492e6efcfcb28de82103e218ec85a367b38d2e76111a1fab3d5ec3e8331ed48f6569af25528b9007675003fc6d8918df4e4caf8adff445099aff73c359e079f7f404db3804b5f6f1d1a64603b8b94dfa9bbd3c7ef07f6c604a1732afec013f501239155eba01de2a1bac14060397d0dca58d635f5296cfdf2547f135a3eb2484fee07345a431d7cd55e7255eba00581e02857cce08c663c4b566cb624ed8465aaa43a6829c5d385696eac1ba1ec25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02001ba58aca587e5115aaf3ad7cc007018ff8061fbd30a715b71ef8959c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e024ea07105559d27a7c0a085be03577d0b3be26521e7977b65a6a1e730765820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c93de13262b30376bdeff424384505a1328e1f2f1ef28ebe40b171ee13491e35893f50e01f680702193804032eb60713a2a32f49d6f54454eafaeb9f270bed84de8501cbe10c76bf412508420312ae8a6ec23cfe12fb64c0445d566e763cf7e5a5ed89fcd52d51dc61d3b76e3f0345e0abb791a9203ea0ad1f00a6448bd2ff06de439bf15095873b93a7a4b48fc003c87edc3b1e07399a45c4e89c9ecaecb87bf107a408dfe5ec144c2d83a640fe1c03d74dd26e53e94e3b49548464fe1798b6704a9e5ad10b00069d67932385bd48c60358727b9aaed8c8de68b1483c2beefe7d50a67e12cb7dc93ca895afeb0cbcd1b20388ee36f1f7d375bfd12bc53efa34b34ae3f2012277ffd71b2e708795f8c2fd93038c0c39bafcf14b6468a868ebb540a2a32b05280295cc64c2998c0d1c9283848203a304a13714ed4c6c39ca2b649e1491da3ea0f09b9f069b06425707ef114e128003bbbe9f5fb48a04275c333683e1e2c859d52f17e0a4c8fa11f07060b47febab7902197fff038eb5d79437ae4753f3a6f7bd8f8dd625067bc48d0a30bce56863841d36e7e2c003ac5ecbb13e65cdaa794f562f372c4f03f2a1fc3a96ab47b2ac4a67757599d82e03e593b2132975c139cb7a3f15b1424dbc1dd432236a98e92a3541aae7e9e7924403fd39061f3e76fee5ac39908af4631359e0ada38938f2a91b01e5eeb04e7fa866030c279ed1d48a4dcc65f1117aef611aaa1371b26441abc123dace170716f263bd03759161ae64aef9ea7243d45a3d1c92c895172be221cc472760dd89c20a0d5a99036c6d8d4068c06c7be7676f2251004a09ef858d748dadd6a600105cc4d989a025030bee7369420d4df0b42b12cb91ea4390067c646b1fae232b4f5cbf62b7c31d0c03358259513b499facbbd32ac6a5a57a5191722d02cdc0c4aa38dcc07a1901272103d3d5dfd8b648bde2fc5c7708510de7acf7f81d687ba25930f752ff3c2889c90b031b45f6115b837e012a5b447d135ebdd153e893d0d3fb414262f6dfe598d14202037e6b8c0389015943d7a640799ef029e67dd93bef918d028b5e2708d1b36297550345ca8a38666165313ee4c99bddbcebc8315f2b23d44863e5b3c55eda4e00471d03e2dae0de86bef66aaf65c03259a46ef89afbe2ee582a6e69cf7819db0fb43bee0219ffff038225ea9e703d8bbb4f6b14051225fd3c46f2cda48d988e792d7cd6544ddc5bd20388c1e701504e631c9504100c66ee5f907fbd37691eadd5e0cce51a670e0835f10331e7fa9afe57fddb017453c3462c3b33f2876d7f488560d6df71913cbbcf2b2203ccfdc1bea81f23ff6f66f6ce7d1877991888b624cb9693e0f8a553f3987d17b60316193561c88dff80996927c305b461f0abb824513f57aa7d44b5efe2236dbf9903d89dc04c7a6fdec1db6068838377ef94533b1ea6d92e96eb15f874253020ebe80382a265fde8df439f535d8580d21215af31265f916867b8a9ea940af81d2fd094037871ef639c7c31c92357bc2e9b234cb80df700511f8765348c4f1808a052334a030c55f471f23d2a26e81a6d49f0ed32558417990024fde3b2609355e0dccc0146030afb0a3715f3b2372999d28054589bbb3c776f65c3498a8d5ba26b018a8b08e903b6a16df56eb6c2f25c244b1805554ecd417bb79f67c4723ad68a1d584e0a6bad0219ffff03abdc40a40d74c909d6c5969ca704a2c47de796e6eb989dbce5fb87abc8d48249036fd93fd4698121574a30b52e86d91cbe42f240cbc117e259f8f0311839e7032b03515ac5697ce3707644b69cf4206246c5517669520f654377275ea49bc4b2a8d103d0adb200f169d166e9e5e9d81af4e093b9041f3d0d1a958a01b0ee569b9dbf6703f94f2d084434d37ddeef352707684367afb4d47958181cfe051740bccbabe8bb03f0fbb7dd9b53dd7723dd25af7ab3de673e600ec3fe173d89367e5815ef07460f036c249ff03bedbe861f0739826cf58c51b2aa49d585abc685db16830172d2bcd9031af8f3406d416763f5a454c3badd4f2a46c6718ff1dbbf88c6236dc087f6a8e7033121a3e0234e42053ab25224b4542b6b0acd3747df58d5847fbb17449c67e845034326716a338902c7a9ab2fc3ea2f3246d127c3f93c431d9f131c813db570fc4b03ec0ae9cd3838fe503bc1b95f4ef6bceb787b61af6c35acaf17985ba22f10f23a035602f7ac1b3624f8a4ad0e267bde5d93cffa770f7692b569fce9041fb0aa5c8a0342346751f6e3da33637657399f21e36b01589b73c0892c5fa47d0cb8021bd7ea0219ffff03d1b98a2af1109990035484b831c6ac45c0fd5984d9d2f521ae969ff0a6a185fa032cac2a24829b353773ed48630305f361398623dda70988310944477c00b8cc5a036a8174032b088afd567906821b0d552929a62cd6abf5867a05c71f543cb25bfa032985f35ac048b808bafb691c38e0be54a43dddd59bca0e7b90cb3fb9d59c6c7b0329870c783a7db76ba69910b51b8824b8d3883cf91c777660dad478359bf9f3ae03b96f9cf6ef94a0ccc8559b5b1d07563d2b1e7b5c997eb4a2c1ddcaad242ee7c5038e5dc4cee2719f0ff12479753f2cb032bfe96eeed75edb399fa8aba6b32eef33036b085a429ae07a3324cb8a84c786b761d95206dd466ce3c8a9b24c03db04596703bc85b450a89aedd07d872bd64a380f41ac8c7d3b4b078b859e2ea6aeaa82338803539c4a0eb0d06a1e7265dd47029b1040de0df55af1c0d03203844500a09853dc03c34dbdbf1534b851000ed8704a263c51393a28f9d7236e2e29d5318b91726eec03631710005e4c266415ae96480ed91265996ca3f9db83de0537a72740a12f6b0c0317f5d82c586888f62692345f5c0a19daa9d6282a2f7e5b70d5e6405d61cf6c9b03965d7be8ecec83fb96be522c9977c8bdba99bd3122184808e3a69d2327f668190360320d27bb5fa06d28e1a1444c3fc79127232fcf89751968d304b01afe50605d037eeba4a194af59c1a397969be20fca14151ccbe8671110426680268276f4475b030ffa72f516be0d7c246c938e08b62f3029b22eb5bc2470e509364b0aa98167f9034af6aa1143bd52da01a5f674d6fd056eb3d64c4404c799da32aecc45d6a1daa0034db9dfc6c07be23ec3bacbbb30bd65da8b4c3375ebf67143a3f78efa8b6838ca0355b89c799b7367a12e3f36916c580a7c05c692c2d7454081332e73c1fa57fba203f426007ed69b6c7184c35c5a09961ea52c877882752c20e696713c89d3863b22038a046a9a03e046600ef64d62c4347fb174190cc68eb5c81d8680aaf6caa4e96b03e14da8e677d7bf1367cf4f82affb1d08dde4beae34d0d521989560196042014103b651ec2c50ab012c0ae178bcf78d72bd621eb995a4223a82cce3a2b37efe3d6d038c40aa81e345d742ac16f1847b9e923d01ba1071da92df0aa577accd62f2ce8e03cbbd81ab6eaafe10f46f41d716a332e8735dc6e282d130cbae6b2696c1f827fa0365e3c2140950f1882fa2861c42442ec159616b1c650b4201b9c5116ed271263d0384457af785b22b9927ed644b78e149e88d3e2f07c2665584210f69625824c1830323854148a2abec26ab9ea4ae470f21ceb558744f45ea8ec4c2190a97a08c13ff00581f034775b60761b266b809fe7d7ad099f545463806f29558e5339d6f60fd39b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03dba806f7854e36e2d5a172bdad964f8c2ebe8494897a7f9201dc9d9617861f4900581f03369df2687b35cba76c7755753e5601d4bba7cffa868a0b7d5192914dd6405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02379ca9937fcd73b8cbb154d52f12bb04c1c24981a6281db4d50dbf4d684755c19bc993344800581e02cdc6f4fbaf1017b1c49cf6308a872edbd711870c25826a213a8280fb015820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0263462a3822bf8e70995fa3e5afb487c6ab731941329426ec54703d35395820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e022d20f4b110ec13d9092915f0bed4a9dfb442bdaf885300b5a183287b85485c318124cef2ce8b0219121803f17e745ef63ebd72f822d01488cc0904536de816367dc56f0876d6922a783633038b5469cc0b44d2e9db0b955f797446486be8fdcd9394e3774a948e833e7d24bb03072cdc30ac11e9c80b5de8e4abdf9bd36f24346bc6b2d15be33af85d85559065032ba8750770e5a4c551c4c1837bacc16df16f760c54f83e6d434955ef84379b3203860222e57f686c9ab066d727165c4dc48c74360fb76329bab343bfc0fd0f65eb036c3dae84239b7b12d856e7639b4f5919c4366fae4112938ef721bf8fb063b0f60380fa2331e74be8763f9943e30785578e8d6fb354db499af617ac315e2b08830a0219ffff030a6ce6fe02bff1b75de7cf089b9f07ec04fea3806600549d7a97b932ba71988803af8bde051d20c605930c1a02adaa96e2e050a242c72bd6052b313473dbca192f0390328e18d1816b34757e05be47f31b577730daeab53124da1113016c3d68a487036fa977c74341cce882febd2520aa642944b59395cb70de209cfcb125beb7984703477c7c06b93d5abe9f95777186600364782a600215f11c343dcc1816c609b3df033f0ff1dc59fc71313d4b6d3b01a04dbdd2d54ed5da0da9f348c0c06fcf3fe941036d9bc80807c8076b4414bc4a5af1d61ebbc018e182f5f515dcd2ebd0a14a78540339999a2010055e3a757800b6093475ecc0f408e01b671f3cbd0ba2dfe27e6a2a0219ffff036fd3ef41defb086eec251560fe6d9be4c6a2c5d85c4acc43818bcae23678b3e103f0464b03cccf064b6ba7c78abb1a444cae24d5b091069e8f82fc8e68387c6d20037746cda5e593d69d211fad2607a3701eb1b500a88b6e157f9ae8a43686e2bc000309e12e8ee728c66e0adf1545fa238afe1778136d7451b9719534e2f9abe1a90f0219ffff0334798a85a8a4acacd23dc115fc06d5bfccbf9f4c4fee0c2fa2daec26d2feeb910306b56e43eec239a9e51c0383d0862f74e379f437edbe1711e021dece3b101c76032e48ab5d19f621487d5aa22c8c3267c68284a97b8e631475d322d8e7b017789f03b2df841d181768846614ade1ced23ee1da3a820cb4950862d5d1883281a32c37030f610584c8d33201e59983875f6efc4b83531cd9df633c0b2e6a8ac20f9790e203c5ae38c7e72bb0d5d0b37e61e6608969ba0323a70bbf3ee8d78f5ad3c3531a6103161f940fa3be226289aa4c980589ed25620077f6f43de6c7ff780ef18edbd1bf039adee46b226a029846ead94999b4b8099f5e94fa01fbb5355ccdefb5efb14e090319ca36df4724f0c8caf8f31cdd13612e952dedd6418803ea9b4e011be5026d2a032c55c2dc1036b12f076fa6b992ec236feca41f26b30b05bd0f5d3b2c010e7a8003caefafc905c6482552d526f390e7fd7614e59c2ee750f25c381909a60c58547203fe247c1a6b28cff79a5b68288d61f141fdac830f8a108b512276310d37bf720d0319cb78c3c056be4a2ee7714342e0c2802779aee2f99757f0de6eac341918695403c18f7a552ea135f4f2554039ada3c883666a490247390699969e59f2bfbf592603e64d8444d9e807adac51cce58f39114762f56b7ed5d30cb7421198055576e90a00581f038b4aa533fabde72e405fe4adbf787c0d19b3136008a570a3edd8fdce05c0412a031429e6c8bfc0bf939d05c76e4948bb5f5576e5e53d58f301b747d8474d62a2ea01410a03cfa54c9c989a9d371dd8c0bdbae19816d7962a56cf291e9f75bd2abbeb88d8a203087cd2d74d19cd5b71bbdad6da34ba1a9d6bf232d331debfeb8ee8d8048fa90800581e022a00d6dd8fbf187cdac84c31a747540b69c14d0dd18e2cbc14a7ddb8b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b530d6bb8fda542e57acc1c11c8ba1ed193508f93eb9e9da973e35c3245820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02edb846397b821658f7d758560f1cae33066b31cf7fde36d3692a5d26434907d33cd603004aedbf0219800603f1a4b63ad4ce62990d7e586e28918b0ae63876053e4a51a6e90c6519ad76dc160322fb464ca8582b6992a768ee706e9c97bbcd8ff9dc49e3811d34ea9925ce64fc032f0bcb70e1abe5ca44d6334625fed63282e90c091387b54cf011a0baecce7f7a03b699d748b04b3f8cd87ea98f4682176bc632756e1ce6df20d1c35ce77881ed97039fdfe7653b043f4a2b30896d98115586432b94c93c4d9058efd8797325dc91ce03e46ae2235f88f4559b28ebd9111d0544ed99e50570536a364d9be10063c2e4770374350f3cb77409d14b21070871db39e8bca8ce30fab0180e4edd2fe71e5771b9030c989f5f7329323ba31e737984c3ad1842b90acfcb292683abf228277a2d2e720219ffff03440341ebd49a41b3750e6fadad6b0111fd88987b5edf1c2a43701ece64995107038689b35440dbdf37d4c24931e4ee7f70729753d6d06fd72e286fd81e92b420ea034aa624ae3efe87cea4a0d70b5c994036de97c7a69c420085397af86c94c99a0503b103e0260c3aa0cb520906bbe7578e2a12201c715fa148b44d8499d3a47dd8fe03e466152c67b4fa77498bc599f85adacba8b17da66c9cb05e2bf7afc9b890588f0398c42f9ab9199b3acdf4d71d9315d5910366673e521a4b126c912f1fcabec6160219ffff034e6da7d288848fc9f0692e238c79442524c8629cc91db5e381dd2a3cc825dc6a03e75ee3343719d4eb14454785e4932fbc2ce32b6f56ccf5037ccc4cc9787863bc038b49c4fb5938072372edc3f07597e7625d0431c54927da065e66b6ece6d9bdf803f7f23f0b0dd52cb4ac90f64a78e7028d6f129c27f47a20f45315e57e2edb976b033ac46e89ed5ed4700af778961404aaa4f5fe9154a5969a42843ef43115a1be220311bc23d116d66567a018fe812f7ec1244541ace448316b670fcbf90d719f46e703058ec124a8ba88e15a4642e3d04f5c966eea80304cdc0064a04f87e5fde9de0c03a5f01eccc6c7d153e5815a603e3bfe5876dd2ed0cbaca481ba9d603cc05d202f035b9c5728daa8e3034b4987036eea0b66b4cbc5155fe6beda6e7b61bc6347fb7e037eaef7433e560ded6e234b96831cb8a299f6bfe0aa1672eb3f98510e523e0bb40307b626f0dde902ca6f074828cdd814064deddf6b0d575edf91a288f6c9488aa30395736d062244ae5f7341a95a209c2407e5fe9fdf5d867573288c38018277355203be7e31be9fdda6357c98c7f4853921cfaffbee74c23cfaafb375a05b1e15a9650219ffff0376ad06843397ef66cf3051ffbd895348e4f119285be382c7b0d57346056d5b100300f08fa889f8efd51a5a1861eaa865c32843ec0dbb99a2c467d59a2608466d1f034aeb2b91e2bed2cc16e45e894e4106c38d6ff4ad1e59a1866cf141df2a6cc25803a58eae89c1246c442ff5ed99d911fa33774c6456c77ad9a975a34cb266350bd50399360b1090000d036fc06eb0241d65ede1e22ed53e30b5f64d5911839b3f4f19039ed380b1fb30fdebe37e745e30ae555fa301efd04511798a2d64e5f9d806a5f4039e47b993b882c5284a354aa688abc1ac03780dcc06a00da2f93d16caeb5782d10219ffff03ac87e36e5319e1c55ea222d8bbc3cfd6d61b3fca4204db19becb37bcc451fd530315cf47f0538aca517ea532be21790318a2497f25330fe1fc2a4c0510eb2763a103d005574b8cecaa1e4d9020ed2be3bf92e3963ca43bf7f9085fa1c26f27d34b9d03c95110d5ede1b68fd2d86286ac891c691432ad13e85f22aab18faa1eb107d4bb03e3cc69ac2c2c22fbe8e9d77b32c9d75ac06bc9e83ed5c550af8111565d42c2ff03bbd0f4bba80ad8bcea192f20928ae6552fc48ec518ab9ede4b641e3f100ff8d10300f698b4cae7fc2b75b02c76adad4746ddec09d9afbda9aa690daf90112a130403986eb4f22080b9280bb83c62024c12c97cfb3a2e6a5526c9b6e498ba7c071a78039a8f171c4e5c11deebfe5ad3508f46a68424ca0d2616ac3df12355765bc7b631034989925510847f56bd09c145707380adce35187415f5e105e560b4b2aaca51a803cf3fd5ede6d1db43437bc4ac094848b2e2a34b90af4ba42da5c08117d351a59a03128bb3bccaffdbaa5ffda65658b5b08d7f774bc8ff81ff8e8e28e4d3aac7b03b03307fda99e8f58c120c563c670fe7c2f0ad101bf7f5d6a89aaf22053442b8778503aac1c3818b00e9abaff21a0112744c16198572117a018e20bd10859cfa9e5ddd03ca4a7d4366cc6abe4f706fd6455bde9278d37b59fc261eda35551b61520897d60330603e90563fc3e07272ce5c3871380a177c3082e0aa127caed87991b83af45a0333e96424605cafb689b3f0254626ee94a3e32d41c100effdf034643a4ed0809c03d73bc4af1f2c30dec11c4f2127f93d82b2a3f115be149655964f1be54c4b7add032c2d59312df5b0c914656274a3b45dd0fa4a1b36189db319dab2eb78d11bd790033934a79507275815e8afec659a1e59385809f95687728da50d63ef2ba60d1f7603ef44482550df95fc65f1337ec178e490dce4d0abee7856b472263a89006069fa034665419d82307b0978a6b7eabcd95a085e7cf9340312d414658ad93ab115ae010325d48c247517f7ff07647921f64636164cfd36fd0628cac68452edd1f6c92867030baa45aea7db304b53ac53851ee1dd6ef1106b8faf5519e468c5823e8ec7afda03d4e7a777adaca7a7033905e4cc9919712165bdc232d0779b1a0069ded4a53ffa039c4f9c6946a2018e67d459586519108179557da575955c41a9116acd4babd92c03a74d51eada7cc555f32e6d06f2b6b65462f63eceda9446d6b489a5e84f15bd3003ded394ca4fb7425ab85f2b64f4a9a1ad50e769ad160b6c4abb242fe2302125b3030b2feb92c8f89d1fd4025b93577577106b6b1cbe33a4ac2378d36ed96e7cd3d400581e02bd9d4728554bcbd11ee64fef531a3622b099953d0d71ee541aa1d878a64706c00a3912c00000581e0262b8218fc769b3ee83f01d809e12a5d65ebfd8369ea90806c48057a93c49093dafbfc84712a218021982020335db81c736691f8496a34dd621e525a010ec7ad11ac9fcaef2dbd3725c05328b035743b9e11402254c87ec03f9ef1db818f8b03b57bb76e536c8d6aee2b37f8aa403154c167ea3200785ec18df7f3761c5f0196bc4e179dcf7e95868a21785ae831f03b25db63b38b7932b8b081cd68e356792a24ce23cb4f8fbc179155b3931cac1610219ffff03da750471e3ba4d760089ba23cf7c57f3a37d74fd20a0c8617f6faa45674c0b450374045cb59a5cce2c414144522708a6b01d53bfdd7c9a143604129552e0af2cc0039732be93edb7e1468d085a5086e922dd56790acec23c5633b628f4c91122484e03d6cde307dd180285b82bd662e39a9057f864540394342e0c7a3de2c57a60f73e03df00b2d3cc9aaf7cf3878464cc9d7a14f61c7a8666481f18f7b355860f06f83503ebbba500edd5e0d799f678b7a28e42873e7c4ce400273b68d26c4680f24dff8c03f06cf93cece3769a3f458ce042494d2d7563c69a10575fba35a0355531463c520219ffff03605369d2326789307d9e9cbe34a0447ac06d1bd8cd7e290d08cdb06ab043f4550330057cd576f23de643915f853f1a956809ba703fd7e1ddd8ac2b8522b0aee3ab03a408f882d2b589b5ebed914d522c7f2644a96b0ad3f1492c5747d615ff3aed9e03581a9f6c9a9ffebf499a5a737e8c6e3751cded1a3fa4923a92aace00405b375c034596194b49e83ffa76a715aa8cf195918294c338ba5984f5c572001e9c2c5ee2031f7cfa7f83d6841a7e1fc616342945564fa285b9798d2cd433ee8d3ba53a9f6e03c9ad4200354ef9cbbaf9d937bfafc89d1c70bd64b57feac214797ef494a45d1e03ea93fcb2ab53463f68ea1aaae813d9694a878c8831f38e708986aef73c5717520345c2a4341ca212fa64da70bd29bb1bade3359622257d90cbee46f95d2bd65c6b0219ffff032a0b3467f188c5dc257b3f5027762867ea0c8e22f456b834bd0e8d41c32ee09b038cfc902c1f9952b277fbb430bc80c0a4b35df7b073f854b49355b17fbfe36edc03ddd7e926707a0b7ee5115a82668cc7e2ad8e1aec8752d80b6e840e0ecc57c1f703b9284afa5f001baf4c6829083ce0527f19c3875ed1b0b2cda94e4c62ec04bdb0035f4f3b66f94d1daec51651e5b9a33eb8dbc0ea90f0a88f23dfe36005236a47510305de4330bf407d7e333d22cb367cc9e40da789b71d74ebbb906ac5272e110c3403ca26f3f2134469b7c3e0b4c71a4befdda217bdc6da8a2331e9c72bd85959fb4503b35005e34eccc3d639b90785263ea33d9e02e8634c70b5d76f3f8f9c37b91cfa03f09490d56b9721f7e5cf1b817de0388ae73814bb8ad975cda7525f207c7ae0ff03d2f0691e78eaac4302c7dcb1aa81e997941d8d7a121a37d7c0be91bf03d46ac3039b2b8e335cdde04f21804cb124b7a3269680fca8294e6fca53fa74b729b6efc50383fc3cab9e24b99e91b3e98105e29975ad7deb3712756c02a08cbcedb519f562030019d418897f88c1b72bbcfb3b156a2c5d9e9601a3fdd927241f2a20dd9a73fc03b4fb4ac48971e0c21a1e4e77602697b4c8add96964e4984cde5d0ed8cb2caf440301a7af6d4770b9591cdb9115fce837f1c32a6d1a1ac2df8ccb5fb634299fb7ac038122973066dbc6f3b8d5266f5b1e0d71c669f766e43d67dd021c53b2e81ab7d803512346813a9fab291dc9c87125b0b84c905ad7779f9e6b1fcc00ffa91a5e5bcd03c3964da07c5d9a5f441c5c4ea3fa85458a9de17a4377a733c0bf350ca313a1ca0302f48797c0b0df1a974a9aa027d4f5715c1d3f14d9a1f584d3d3b025a5ee5bae0333f8a1b6bb14d23cc94fc8dddb95e10002f1db6066132372a666406ab5e20f8103490e8879fc4f8a90265b865d5dd58f7fd5a5b8650793beeeee1d822fc9d7985803f2fe190efffb9379d26227926c6b843388580ada0b1ac97707073b8590ab9d1503197557c84c324d352229b51fc3490f858bc0118ed0333fbcd5dd23d1e4072f9103ca80b505aa62463c9182cfa3e9f0c28292112664d8fd3ea753896c79f6626d4203ef540ba75184e69b0cc004d495f23b89ee474939fee3f25b105c5b04f7a2127a03c75bf5c5e7fe7ca77a153124fbb30a4f0747251a934f89942b0b6007e7429e0703c83fe45ca5c6bbfae8e8f08f2dd2764fbc69afa3add4f1982b3e1b746963a21603cc7b26e623070ec97b3e645d4a4e32258bff6b0597b13923dba3450501a1e1ba03a72571c1a7548f7e4d279cb5673acc2ce560f0e49b4474e6fc250813a33df499034a589c1ff7c954c05f7551736df580c4e5c1813679fef8b09e13bc2028e6826b037c522072578d99241a8cc402e952bd4bf4e70dcf7f7a30d8eace2f084eac40e403a68d56d07484a77a04ffde6195121db303e2733c6296aad526784d1fb73d01db00581e023c8e0285cf1900e405e4bd465e219a261ce68dfc8bb46bae3a7ec61bb25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a8075e9efe61170e277642bc016106cb05fbbf530bb940c05351b2d9e95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02030340c3eaa78234b5a8d7b6984550b7aef4dcddf380f80fd41bdd8f57c7a34bccb903f066e73a5ab76f356582aeb52015e96dda876e378db9b82a07ee3c11c925852203d528008d14b0ea68d1459f570ef0f1e2e6cf1ae4fd51ef8249636dd9dc2b8cd6038f2e37593761dcd15cda6c816d6491084b2d00ad3c1fdf1deb2abab4522ce3ed0361d9e735c3026a7766ebf912d3aebee68b957be15a2ca91ef96781cd527d0a320219ffbf038435cac3808c37786c5115fa740d8f4559645332fb324bfcfa5a0a2eea6e64090327cf05b796df0db9d7d45f3b0170992c4fbd32069fe722cc894340ecae0280080346c6ca1fc27c397199c13cd957220a4d2617afebb773ff19d6f36486b76c0d5c0369c03bdc9c9541c21db422d9fe988e3bc61936555787ddfaef8dff6648b2bf220219ffff03e75c34280a1e1a0130e7aca3e8672d1a3bbcee1d77d44b1fd22a72974ca9e40703f0a73deab7990a4ef86a318cc01a26746704d936b0b0dc140ffb3e195bef06a703c4f3db34293882bbd4c735c48ac39a4e2585a61e323d8e6f71e4394ff863917103f6f723d8186b7ca6cd8f7b552bd18ca43b70dbffa812da9692845a9d484d833203f406e06e559bba217b95d19a281dad191745d1f36baed4c23c7ff8d4e82aade003871cad120c9f525378edf9a628a263c745a78bd4157a599beb30808a69bed50d0219ffff0371a332e4e5fcba54eb9513711d6e5685c0bc49580912c50d8a0a329621f2fb4d0385c456d6052bafb3bf7819655386ba3d910f492c2910a5111f90a0d19d25c6540339308781ad8bba05feb2fa8448d8ce898fb892e3a48cd020fca1a5b914b8c0890373385fdf1d4cf0db13bd7b90b8de76d16225ddac8c8b5a2c7f587c271125df9d03d057cf424f960ff9ff7100981f9e78d44c4eed75c72691814fe7655ceab1e5cf03ed7fc30365b94dc3117660dc1ff1b6789d6d5f69c783e607e2d4cd5847c812f00377fdeb53cb20bbb58cbeabd6ae9dd945425e031379426655fdbec582d2552e8403e9d17e85f6f306f1a2cb53589f236a9010da57697a22055661a069ac9c23bdd60219ffff03de55e752f85277160ca0c958b626d215dda2b2212d932a332ae210d513f420220393420ee59f9e46e777f22f2358d112c200fbb0f857c38cd49ca1743f67c8e11703098d5cb8af66482cbd329f87a5d36a565123ea86e1b84c053b7da2f8a3df91560387a34ccc7a808911c771e3c6e0f5ce337c532a15f33acb467e187759b488a9ab03b2bf7e8e41c5ebc14f6bb25502940f7602f6401d83008ea5c632284b1b2ab51703a5e5608821359e2dd7899f2ccebc5996a15104708b6d0c176432961944d5d98a033a2a07a4149f7abcc62ccc216d108236eaa6ca25d8995492d3df2c9393e2464a0366cbf45c2030fc6292e3e3ff8d284ddf14dd52877d8b70e993377084239cb60d037d8d41815206c5f0cad4c7efa74b25b017fe4e5dbb78602a2ac33ec1f6506f830310bff45f08d6a3e5fd85c78e86f91ceed9e687c6b1caefba6c9822d98d37581b030e9e87024dfe942f3b54c682455583cde6a346774e0f5cf51d6d4b3a847374fe0319841636fd348885958e3098a09a95a190606045a882596044c74916b03cd757034b5ce9ea738066a055dfdb67fe913c40460dcbbad771a4c817de558bdb93693503ac86b5dd4c37b7cbb4174d27ae198c911eb843f2efaf8471d9c751bda4ca4e6a03fafb58f2da9159118ca12d3fa5e548ed08a3b97dddb0d0a23ca28abd9c825235039d01197a47fb946a137122d34dba1f2088bd3a645c0f25bea9d91f9979f451fa03af32d65d8776aa64f530b288a53827ad0a68b6b8157f1a823c6d23976baf863a031f6c3c8629190b2e0c674bc3526e5bc6ec2953df6d69b81276b88a5c6914949403c0d57044b0fcd1b905d766f8c4a370225a9c0cf1dbea99831bdaa530f0ef998c03fe67c8924abbba53dc3fd138e374dae4bd48c787de1e3c458f8180b4d99bbdb103fb9584fcee4828d57051389fd7b0f858d3a384e1d1ea2708d3dfdaf5f2b80ea203b1f0e0252caf7e384e90ec52e8c1088183cac7417ad0b3e28c0e044a5bc14f6303fb41e91bbdcc5e1aaae8df9700c1c4e7819a4746b2c96370b9ad4c2eb73b1f1f03a9170a06029ee85bbfa1a4425671ba86df9ffac37e893f852610d2f1e9d0b82b033aee03ea2757fd5fb1c6b2be9a825a13e9964d77d39faea9e74fadf47da10bd30302a018df65c3e244c004f44dfb8f6a437edad43b9d07ae320d798459dedf70b900581e03113852dee74ad8febfa99ddea6af9ad2796f28f1631cbf4791ee4b4ef05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e03f1a75bcbe79e3098dc1337e44ab01ae65d8210ebf501375c1c9014b3304878f317b5af08a25d02188400581e022ed51b8a614df515870318e87c7f683fa5cca9037b05d7b8f57e449c835820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02caf77d292916f019559fa894479f878f9f7fae27bcfc38a5954a7ed69c47366144e47e735e0219020900581f03d1c48fb50e219353cfb47172db25c0c309d78b14d3ba912ff01fffb798d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d29663957ee0dae4aa956da6ed2655e5edbed1c8a415ea18992553ffbe0c0eec03cb5c06ca8a269e346691a9a5b5903b3521bf2b08cb0e6661b7406a2953e1c13f039f66cb897dd12ce94dc946ee9277c9609d94911a5dda51adbe78d4ed46694b1e03532dea9a2d486a38e9238aa125fa46ee5cc58beb6d7a140f930f915112d6c0db031f1ece742481bae0698023fd5886cf5be8b7efc86b6f3fa1c8b78c04f9abf6ac038622397967cf62d43a0bc5a799a1c0a160d875cb0c63c2246d45fe0e9dead2840328dad53e94e600e16331fba00fa2e30a45d764f3fe65ce9a537955d5c327dab1033ecea7ac7af0166e5acab7f99de2092ae2ed28d4015a6bc72b73dcae4572e6d30351dbed0078607a2932fb8fac6b051c9c4150a861b920f6e3e2bdaa7a41905f1903e99f98c6f3057b4118a9fa16b370da882c431a6b5d86a02c96cd040604240c550219bf6f0379670dcb9e05d5abb8f0ff91dd92591197c03b8f3050666e87a62e6b06f763ed03b2af213d7f943824d7745f371bfd477c502954958fcdb432e90768b73e6eda980342776febfff8238bea4a5d07080bd59e7dc2920558b4f034c2d3b5e1b190cc9e03b2ee05bf74b2778eb42aa92c2684dfd96ceef1c13945e2ee25f7892ddf580e97034887b53329e1649f98c8ee08051065ea3b6c3208996b9cd777f604e6f28d51fe03a2fcdc451317b41a57f41c642f5707440bd1f6cd382a34679d78575c5213ccac03c4ec75b0dc750b522c5c275a92615aae28a91c304bcea4166118519bde6e0dd203aed03054438d58d9df8ec7379daa953507733b8588edc30ba8218a53a2941b110346a749e9c085bdae32057a23737e9ed4a2920181c86b095a77b8fece6bfc3a180219ffff035ec2a3bdefc77a6e28a5a9c9e0cd2f44e4dad8541a45dd7b19eaabfd059da102039781c273b709f60c5e002faf2f2e575086140368fff0d5a78e55e875551e406b0219ffff03f6505eec45a3333e967dd07a2fca6c4c46022ce3ef7f1f8284c48c2b2f652af6036fec3b9b8e8424b1f5b734a10d70b5c57bf279903ae7d6fa809c9945f7384ad0030dab9bfa75821e67f2d346e5fef4f99c9ff4fb9ebd9f3a2fa96e54116c72ce03039d99969e57379077a76ac460eaf793d3ae5dca1a363d0fc6ae9943faed37aada03af2c278a9c2a5f9faad7fabb5118899aeba061c7496d5004b5f992d8ed99c4b70373f9e7ce8f604e3cfd98b6450327c48fc4e21e0723fe24cb36f307bfe1d6f7c403e9ce92ccebae7e91013a85b5f9e5d9c214b8b10458e506b444763e41888079d3034abc70ae670a98f36b74e3270a7d835d2062a8c808475c9556f6d587af86519d03ea39af5155a5e6756def4154244450d0b92db15ce575eb8a374e0c64d03d9e6203e0fb998c3862acdc676f1b2894ead0ac1c3806268a0223751c26aa528fbf7eff03f162f10c99b896604049cb0ccb2ea774a6c2f3076348a00166c18541fb8e851d03798160a5346fef9a5a70373c7f67f81224e0471e9b86ed337d38ede03bc6dd0f03a8a267999fcb620a60c89fc18cb70c8703e0ce206065f37dcc94e99d44d71f810337a13ff13fd898079357e9bfbfc3da1969b18da365c250fbccd565cb97ca34e700581f03ce7b1f7a132ac95b7202aabb486604ad8af10d8d747dcc1dce47302965105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c60801b4048bc95de2b37eff6b641d56a07b4ab863938759f922b53be9677be200581e02988ed9ca2b0ba1f0c0d9f294b947e56f4ee65613fa7c968917f01d51c448019e2e804b251b3a00581e026cc869e4f53917c40b9bc6711be7923f6b86e5538f1a6ac40f8b0e28a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e028ea50b7964fc041a4159fa03658732c3b4a06d3b2aeeda165050c706655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cfda133e13b02bd74fbdd9dfde0c7f9494d88c6ab54613416b0ecaa9925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021908700219ffff0353e1e00ae1dd51e6ab3a5fde1ea00a8ff2b0994c2a745397ab9fcae937a1fd5903a30c74e204c070ca575e639e41212a182219513cd6dce7ad60874b5e6fad2b07033f0437d0ebb7a6a456fdd7db2df487a65c79e0c91ea0e7fb519b2ac25e204b49031cbd5a1a4732ef718f81684227017c2b4a7ce3ad3b2bd20fdd5091a7906d303503c93000deb024f09068d8a9463ed48ff7a096f648f1e62e2455cf16be94d3f75603f53525a2b0f99fc11945e3c1d81053b2d33c70f0e631877a8a52be10b348718a0348b75a5f195d3c23748bc35234850ba86d51e1def297fac3fae5605d05b891b9038aa1b95eb47dd925991ed5fd636394c36fcb697700a51b45ff314bb721d7de110310fddb29756d0105eafa0e69e6d351f111a5cfad8c16ec9f796e654cc01a32db03f0060441275f6fdd158cad5d7e817b4d02de140251b437260052a94854d41e3103dba02deea77fef3f1b7a6835c27cf1e3a81b573de948b52246f68577a16c889903fb6b7e10d8c011e0393959dff2c1abcfa3ffe6dc464f3b7a924176163010f01e03866aee14e2ad5db877be4c4351a929d4d9a5dfa6cb9c808c5f00c28268f5938e035c111587844d5280e8c28f1e91380e48707b766df0e2c7e4bcb5724d9e2020280219ffff03b562d57b698138248caad5fe7d788f137086bbb7e702f65f8cc0b6da6cf9f7f8033b83220e9a4fe0fe402aa51973f429f72c4e3b953e953effc69d8d1a9c1cc0dd03e0033db505862409002f07627372b672d3b457dd4d86009318e2285f7f43280a036f6a677a6c0e41718528e36f72fd7b664921d5e5d22668156a67d31646da7c80036c3d735c842d0135fad8c3e1219ee373442eb6914893883715fa0522a9b3c759036b5838c406ae0ef2ff13983ef1deefa05bd67408bc8cc80ac33f2d82008cc1660368a400940a558d6d57b4b7f290d0b4669f3653c7c470d86e5d7ffdc351a58901034efba55309c9c3002d965639e077fd37b9398b4e07637b6b490479279043167703f91e8b11ea7761c23ca9b96640f9981bf2b2dd055a1e8948d591b1d1b4b72b4f034cedb855c749a35ae794e2adc0defc755b377f9562ed9826fe753b8b96dcf76603102d61ef180da5d8db7935707a75cadad9201ad415eb3a6815d204736e6acab5035fc353e2cc24154b48ae2993ca7726fad24c813a0005b02d69bd49b622a95a2b03f755c3b5f5a853db34fe9a5c31d752203d9a644a76221de7f4e433edb1a77aab031fdcb4556e393069eb4f7aae10f491ee67a3c89958a49b5308ee1be3894174b8031096cbeb607394ec2434509c8b42e35ca9644f553924415077e307811c61850c0219ffff039c2395aa57704810c6bd7ea9100be41361e694277785d873815628627e2d5c000304dd5145b61bf1f675c1fc74aedfb1aae39d1830195aac4770d141a5fabe1b1b036034608003c389afd9e1b7e398ed580417eaf7e873e6df88d3061fe2441cfe6903edc737da248f5341e69dfab21930ce0a771192006622408e7da9b0762d078a53032ae50479991369f968359a1df049a4cd1b03283f2c90a2be9addda0f36f37f0003da02bac192c1ed52df9220552db01501bf269f350f724e728bab0d6dc8f0b3ab035191ae25e23d4de6345142ce1e195a474bbe11f9e31cf4a74c284a0f3c2ee233038ad125d0706137c066c450f6d4404f86f009b4d6f753a0e6d9e4e894e69c89d303d09c7a0985eeebf3f9027155156efa71aa0cdfed7ff11a35165cae6f75b14acb03f69dc43cd31b14202764670122d65e612917f6c5900cb46bd91d6725bcee27c703148bbb8d4258920138ed95efb7a12a2bbc03efb059d37bda0adbdcadd14bf7b603188b308f812d3f0672ebc7bc63c3f53bbec09a1dc319bee573194d3a543cbe150350db007108a5880682fd05bcbcd3af967afc8192c59cd2d4a96d7baa5149c3a10322ac04c0ff22460f8a6ef7d1b6604a53a2f688724023ba23ad882978f16cd6c9032e5faef295dfd37a99fd1b71078697e66a0b10d8c7cf7d4faf4dd81235315f6a0390043452ebec4718702e627de30bade7e35a106b5834c9de26de64ebcd41270a03ef86792dcac18b4e4c020bce4c0ea5987ed54d16bf66dc38196be5e8d95d6853034535f06eb1130ac507e8810ef9a9a092f4b9acfc52a67cd20d4579f19cc1bc6a038d2834e8e8a9cec36e516e62b90071707408df491f37e9244a28e2108c44db7c037c7ca4181c617674a7c655ecd186078c969798ca2fe9039b92460d0930680f77038713b7a825a71321dcf7c292f2c40be7414c7ec024e286ea3d0d116ffc509e90030736740e39e719e21361c3c2e3f81dccbc4ecff17565a1bd66dd3ae483c3f8d2032c231475bbb652d4f007b0bee4293963a50a478924fee75be1d20f98697826a603acfd551c78ae25cc2fd9c455124950709a62368fe8f90081b4477ac83080cd6f03988162eeb7c20d15a4c8757ab1a942c89f19e600aaff9140e87f22bca2b0882d00581f03bd2e8969365b59e138a43bd6028aebb6e1ae6c1bf688b47f5690eca068405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cd2cdbdd277317f0879de0e587972741b1d5ea30cbdb41922dbebb8dcd8ca9ba0394fc8ddd4575c57ef2f26e86ddb0da30663f2e3f9439fd25edf36ebf1116522f03abd03e0c212f185e288982fede0707be506c43ed17f8025345c507b2456f9058037db57be4d023741d7ec4c9f988abcdfd47e9f7f71ee39f0658cfc508aef7c57e03a5b3a9fdeb39ca6dccf0273e45af7eb7b1702712feb305c26f1c8a6d3b387362033d4894abd5c32c34694f0bd84f6c73a35b96b8436241bacafb1c03a9fd998fc900581e0217e0c219b58f64a42415630cf12d88372e03bc059c78d09e53929164ce5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0276792580cc0a0d0d92d8bfddd4b046a897d146dd1c3ed2adf47ee91219410103b4ca22451d6cebb0403e28af7e0d10f8e1a4c586cbf72b3aec3fb58e22ea5eb601410500581e0209c41b130d387db64e89c263f03fc31592b58296965f22926c6e65e7205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02477dfb476be7a7b7076f810f756bc4a4ca1428cb07b43fb00fc96b66225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02196c01038a7f2ea0249ef9d9932004ca6ae817d60dcef0de7a5b779b5e18fa3b261fa64d031c5b9a77c3a56ea1a7c67fc85a6c459acc694e21f656a6ccfb4ae23aa93fabb9038cd47fc87a17d1053b17e8d16337624a8b4f7a365baca77e7c7e1a53ae000f2b03b2b714554ab9a03fe0ab43171830c8e70062ee9ea5afb293b930255ca075074003ee242a4525c914fd13a36f9f74cac20134639aee171169323ab143f8b50642ca0219ffff0366358a9127e5e31cbdcdb9728077c4745a895fd9ea393a1b61e977f963a8222b03f727cb9c56f63545e244a546199ccde51b1048210d2ee77ede7fb497f641d12e035795e1fa4a049bd2d272fae96e6ff6f62961bbe0a7f7001673602dafb20d454003e479f1b45a2243143459afcb42fad806c42ee7207bb69c6229cfc12d38b874a003dc27c605cf69616e2768afab44a8b68e8ce8e6b1e3664de3076be1a161c6e44703db17c079d690656965851ba06985243b71d9abb8f579b0c7dd489eb1694dc4fc0320c3042795c65620661ed9cb43b2e002222bd6f48d90002b24c6c093e5b8c8940303d55cbb7723636f728f64a3baccb17ed429b0f2f4fbb610a159f808e099a59803c0ac67952593fb4325ea46fe54e3b06624fe55f3aae0b301ee25fc22907fff1c031137dc6a2c2e4be039123610f21f16baf855c5d96b16da4cb61100bc5413593e03df213d5d4d8b5190cbc8b1f4b174c00d94687e58f1faaa75a75a29f71d293eb903746467d98eeee27c6b363904c85ed02406963503b32e2265976dac34ad03539703e69113cd7a565a6e46ace0d88d15d6d6893538bd734b909160ac6a6cc29223ea03df988bdb52b7ca0f8f22bac490b8e717a40eb6979cba13397401956ace3c85910219ffff0219ffff039c91d5ba33ffbb5d6718d31eff358060eb8b6a8c8f4ad666117293e0e01fc6f8030c4c048d99e777514ec10b6ecba5558a5152e67b92da4e8189eac88059c4456a0219ffff039e731799f3d5234faecbacbc47b76fd3541b8cd20f05e9b08188b85248cc284803d4467e5aed6b9be8da472b53710151e59f8ee6d0fb89dbe2cf0369a7c7b6e9b40348de182ea2c070654bc20284b1f8444c8c521890e389e3d3cbd18f7849e1721c0389e7a6bca3cba67abcf573d394d98e7b7a854ae30a28cb3ab57f7aa611a0356303d8389a7c55e94c40782429c1eb1f233dcd9974c17b809cf8ea4b850fc78e28ff035bc900f5ae94420e9cfa583aa6baa555aa0e5f04905905f625936adba2497a3e03b8cc707f5d3552363afd64c3756e3f6c6a23cc827bfc524e9d546c68d7ce5c2c030e78ca90708bcd69efb3c822d7dffa9a02d0b66aee417a5c05e441874a2307520378e0baceaebdf2b11d212f273d1f31b4ea9a0db34276bc291915166e3a76f66f03b096515a642d0422bb3e675280674692800833ba308f6175a3c3a5f511a7c9660393a8b74d9af3c2eb2ba928c3f09ff0199f44274fe1b8bbf80e6b00bd2e0bb28303cef340e78e55fe909ab1cfc7a0392b09dd51f54c3d79e6194ad8880fef0541b603b72ff83fa705f04ec1b81dd4554f64a3e33f1d4004007d23b978466f9a36b4830364f72fa1c2622a567c0d3831526e42ded6c4a6f2344d604a5dba80d6a181fd4003cffed49459425b0d2da7f272441098c41282ee65b532143924353989cde8d1ea037e0be922c58d532e35b8cb330c97cd2c028be4cc65a66628df8f663dc5dbd81b03e0d4dc333d4ffea0224bc146974cebefd76edbe6ac28c2cff2e6367b936780d103240529d170cff5d9d4c54fe762757d24d0cb8aee37f756e31b7865f8ffd59588035b6f1e49eac2a2e0f25a23ceed3427eedd124ad8117e2a0508aef9b7138515f103b52155e3c1ea78517da7f0d3844e824db72df6e5a01e1d2518ff6a02845d55660379f983383f08c8dd59cd430952e40476e95ea6a23e19dc2fa9e81a397973718003172d0eda34b35f60a6d5395fea8760c024d2ae393f58cb782f67aa2d05bd4cb00371812d80ed0ea3f04f8f2843a0b140a15a8934864fd740bc0f8881ab77875e97034f7116037000ea9230be83925d5edb323c31b48868f9679d80c98bf6092a81d30385aa49c12cdad808fbd9a2d1692cced2e17984f731edee63ce7d6649c3cdf016033330cc1dff7e05f7b6ee23c730968fd49674c20d3982e99ad6be3f62c4fe1b0b034e77ce884ffc656c434d2299effd3e211499df5c963d9121c4dcab6a153285b900581e020b1755f3810eea0ab86fb07ec9cdb847e45e49803dc72c82a7d66f3afc5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0342d061d07c0396c02cab4f74cd41f448c48c43434582c32fa002b229b105692400581e02ee713f4e03e4a0d7f2a90ae4834f72106e1e65e42f3b2ec4f517d6b367470e35fa931a006400581e0238d98e4c3b9cbcc40eef1ee76986b6877984a0e7b6956830dd2f3455af410100581e027ebfd882c0b8a8b5c05eef33dfd0345ca219820a3cd0af31450dc691f15820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0238a5bda3c70246f0914c50983e21f20a805be98e6276310dee8b8495c14b4a817c7f2a2bf142ec876b0219160b03c8e521e04254386e003f7bbd99556ba574c609b0e200d359604b0cff7866af3103237f5a097edad31f1d89d2cbaafbf83169f6eeb404e7905b712930d926270bf803ecffbdae71e859f97752b3d56e3c39565782f8bc17b669aa3ed61efbfb5161d003b5022cdda3df9bc44253c9bad5ebb86c3e3160898cf0416a98136e59dc7f7c380219ffff03d5e1b77ddebb082898e4e23a96213d93e1eb466fc26a6fde217b80525b2dc1c1032112e772020f83d545a62ceec7a1168c695f36325b9c3039812afd53d43b5bba03f0368e6ab233f0e7ce6aa4cf462e55df6998b01f54015d2079dd8ede97bb816a03c0a8c690ec681fc2e26239bf1a1047f52326a3b8315dfa726039ef901a3cd074036d35208b96ff5be93018275342e980f6bbd89ccad3d048f824f5cdd625df1ffd033d865cc0f302bd91d0e0ce07d0af72c0e2e107bb2de7538216fa025e9d83e8b103c82c48fcabdc7541207d54fffbf2cc608a0fd984551c05c188651757081fbe0c0309e04c9e6909ad7dd039762f4e30c83f7f20e0dd5d98d9b9c91dc0cc984572c2032a62254e826db842766950715f6c93927e4b49d055802d6396f613c00091623c033778ef8d23a6da68967ac5470a395c4e26d3de8eb442f511693d302f4a3cacbf0219ffff03ce89a44639931f8f1fb8962782ad52d56c979306c090d5043e04192320888e5503f17e89d8d1202c099d84a67fa39c4fb07af2de100ba4e4ec1949532582b54c2b03724e93400753ee59606ec1f83c8b3838f76180391db0df52d98161e2ac91272603b8872eee1c1c88f0b890e9d1804673547b13bc750b60acb2a10349d38ae22a750219ffff03539ea2fd00723098869d28018a3b05fd4a7fa5693296792c4294a7524e39a4bb0398cbb06ff100e9ea192dcb248c1e4e9cd44dda37370e9d94aa039cad5158a0ba038fc6c323e79dc6ffa32384532ca8df63d366d203852aef524efc5b0b1f2fdc2b034216bd61b4676f39a50e9abe414960ed3b79daee20398525467e6489cd0f29b003b6c58b078bdb68dd95486753aebbd418e8ee8bbc65fec3756d1c25e23b49e457036b6ad326b5def7225704c129d9af40f4642951813d1507e319fa727ace71a05803e6c42ebc271bcae4d7c8cfa012cc434d0ac312b27c4a0df426270393e89136b0035e4082705a1fd46fae9698c01fa449b296acaf29118af7cb109b2ff5e135322b03bd26937e13ce92f3911d1d5e1fac601b933e0a2a6a57e95434010807b867f340034cb41f2bff31b91eac04c1a4c2a3f84f8978b1e803eb859993bdd96187653a510356ae8434c3df25974936e160002949712d0b8dbab2d5850ec750bf490c779417036ad1a806b81b3d7b46f13bde63547d8f5a828ab8ea7a616066982f14761aee6c03ff0ab0fbb69bbfbe938fd7de76f40774049d1c379882a13193f944456cf6cdef0372b29bf841025a0ff6e03499ba81204a17fa79a70a325227d6b7937d45ab8f6903e4821aa975f63f622a5beea12e61130e06144114d296c6de21b81a1f426db4fa0219ffff03d7c6b3fa4aae186f4d4be482827cf8d5334f21f7113b6fe392414c7b8fa1b9ea0219ffff05581d02a65bd257638cf8cf09b8238888947cc3c0bea2aa2cc3f1c4ac7a30020f014b02987192535af43b35a8e0190c34021920020219702b03c07c4048481c07b118748b2a30e851cf5c6c87af6212257f8845eb9ce07a02e403012fab999f402d6b302a07d3f7973ee8c357d5db8c7991903bd54d54d507cc23035923155adc8cd3aceaf27c07858d290a3b85fc378fdd98e9f4f7f70d157f28ba03c55b2981a6fe08260cb6a076c76858d56aafdf255d0a12a2c50abe35d468c7e7037975ea5712162b9b7339943572a7180adc20238024a429eb2e0928128e39556d033909e6c87be78bf54588e521ebdded1d467e8104d18958f7dd079010ee22155703867f6119f66c88787520dc8899d07d0e49598fa8dde1f33e611871eff6cd04960219ffff033307aa27831bf49ba78f1d47a092c180664e709902579fa9b13f147523cb8d0b0219ffff0329d6f7d3c1260b8be12e0e506b6f090a20038b4006ff80babc6c798e50891df503e9c47c8bccfa7364ec6c3d5dd71ec05a15da0ac8111ec3a218a963843ca4f44e03c26d4fc6efabc1fa16b6b91e18f6ad576e156cc6506af88d5858488a5d4546eb0346df579e8e01b9f5eabcf5a8fb9ab122c02677630ebb8b718ce561efff51cf770375030fc96c9b2aaac9c3270ba8b807966d58e1033d6bc3636bdb330f148cd22e0395ca7850aa3c51492680ccc0d0847a4ef39d48df817e4e66b6fd64c35ca4485a0219ffff036c9c5ea6492f79beb757ba4a5a86cc21ecb10dfec704dbc42196f01fc3bd8a18037e2386574bdde6a6241ac226e77aed7fa0d3af0e85efaf721dd0f7e1703307a703fa3f5df803d4b34d35d641a4dc7c594006e285e44e7016fb963ffe7a5af1e7bb03649cb983132917b142baa50fb45b8bbcc6a3bf860fb669d86262ecafdfb6151a03dcf8be433f6f3140ba294e13c78baa869b70ebf53b5665dc0af407d111b87fde038f61eddde7c18e54c27deea077463181fc47c571d2fcd0a3a3c880a576f5dcaa034791d02f3d4ed75e8c1322183b29a62125ba1ae9b7b95a81632c0368b454158503076e3c62327fc9058e9af74bc1503790e7f5b23487c9b243bbc76cf2185dc21e0219ffff0386070c501d2dedfd5854e6b427ebd511b9ec12864f64ad25f5724bac6070a7a103005aef95f8f141a39d5a05154e82c0fddcae72797c4f2b3d538a444e6d86edaa030bcd7829abca6ca5289405b6be80fb7528e08fa8a499119869499f3fc466ea04035650135745bcd57372655370d488d77a0656a86c0527a839dca211dce4c7157e032705742db4d13cb35652dd66f6824dd9e5571040af9f1f93df3d0a4a6642b51b03a8dad6fd934641950fcd0ba0a94794ee6018e4e7be54a39694c761e765589348030214f4c71b42e0fd99a2c5a0530ef0283ac350b6601e9ad3a1eb33757971c34803a8d69241ee74452bba003dcd989c8d8d4a17c7ff876cfcc980636b1f8b8e30fd038979a102cc529bf29218092a80e58205585d7c61f3e4c76095516589e5cfd81d038ed46910ce68c811cfd436c73d73e42bb83751a732f9ec608119772b78e311a803ab19ce157de5de4ea44218001dcc7edd121a4b61a2f01154bbe5ef646fcd9ec403ae323f944161990d516b671c169b34454c56c0dc2895baf6b8843d6d6e5b5abe03cecc35068fde6bca3cb34be29161ac3dfcac8cf6c528d92017792da172e94a7e030d6bd1e0b89ffc54168f8cea45193aa51279799a2ac9ff58917fdda65e71ff3803b2091aba4f213da33a192510c2d17984526962bb7ad1560b8dab9e3cd5eb1a87030c35f6d742e4ac57da4e8698f5672e14809faf4c4fb9afae45b146cbc41dce80030afd0d577712361808587052750e5ab6e1bcb666c02b5d9c2d6fcf566b6ce02c0308a98f938a979d6532460fca9bedabd238df73a3abde35f5d6fc67055d8efd1e039c67fe8d25b4b72281cef0dfb313edb0627b653cd7d1700059e09d118f5877bc0341b53daa2cdec4abbe38794b75882c81df0e2bdb4c5aae9d2aa86db9e1822523032cd8f70d4281067697a228979f4055c5aae3bc5d42b61192cd88352ead70bf6903bb13dd1706c920f0d825dbb556b595d3c6bf1bf06c1b455b8522cd1c81ec36b803a3f11fa7542504a039690a679d4051556f3996ac796a0953180c2b110c7205d4030b28257e7aad2fe8ac5a0dd60bfaff0466b4a33d635d7d312aafab1205e90c5a03c11239c2c578f6366d46479fd0aaf7e0933bb97898d6f278bd378df9f58b6f74033fa79b6f6e5d3296eccddd86063f7dc84503f1761aa618448e5c4303c244568c03c256e8ad5ec9824e212ebbaaaf50e3793df293f71b97881eb947294e1b85becf03ec4d1da50900fcbdd12bb5dc83fa1dd4c8c623a12695587ac68540a72b3e9c0803b3c6cfd25f6d37c228028a9ec88dc3f9ecb98f7a776202355fcfcaf46e0f8679039ff2ab8d80bd7110f4f88109deec8d5fb382c8dc4aeb48a3659173bd670249cd0327e3795bc5d6c5c106bd17fb530630f081282c18727149ffbeeb67037b6499f903b0dd521afa67087841f751fd06a91792fc2e7fa10a8b25c0434a11fd6c95c77f031aa2715fc3749ff71e27d28322d4e9ebe587dfb722332a2d2fc48d654a34ae3a05581e035c606158f0440c668481a4c457cff85703e1e117cb3d6c3f07c19855400c11479f2c230a85174905581e03aa9705b369190b5183f2b073797e29cc07766928dff9c307e9ec9994300401035713eea1764d8f2464447ba59fba61e15f1a5c4fc8cd610f8fdb3af4505a1a5a0141080300ead19e58881221cf02e877c91f01944607fa694ec5d1b2b5d1ef280c9acde103c07be3267e504d3a12fee2d6d54cee3a2fd10362112fd1e965df3b27e1e320ce05581e036bcc20594481b8d81021bef54a7c6be4b7ddd6913563d0127fe99d6ab00c0f4701af438415655f05581e03248da3b8720a2784a17616c093aba16d03ef0ee6535979bab7e32c4cd00848047e4d4c9d366cef05581e034a1b12a03d5a86cb2528dcc8f7fe3dbef88565541101273545612d5a400c1901d448511d91f23b36f55e0308a77a72a67a37a2f70a706ddb1fafbe055a13a156d9967ad677da6dd1aeaf3a05581e03122e75bb2c083f1d2d69d81675788d63efeaa7e70484159369c5f76ed004010219dd5a03a2396a9ed6f1c26f33f287eff0b756e1c4b994aafd76e682c3b2a3591c382ad003ee08a098b615eb35befb53490f2e05a48eea3d0b79878be9e07fe72f119c7a03035fa10b9debfc6b215c5d850b2637b12bf01758c6f468f6de3efb6b5235518198036354dd74770a90b0d36cbbb832b80408fb6a1a3a95aed95705a71c4004ee0c5d0391f07bde9b9b713dec0892f777b4171ab5d79550fcaa3f727ce371a579fbfa0803d9be28a4b11068c97e32cb61b4689e9b53027c142b734b29e86c44f1a717f798039014a6aa6ef1f464bfcfcd7e5e69d23d6fdb70a7c59b82b427994389859a137d034b7136d8b9196da29a931889357bca83dc5024a19980b3a823609e027a7d28cd032bf1c60f958a3208e625e38b99c425ef423d2d7e6fd0ad28ae077290d064590503af42f0784bc62c055ba67eeb07d6e2803bdabdacdbdb587fc41d024053b299c203081ec485bf3270f85c3f65fb49ec4a39420946da7614eb7c2109341b49b2df0303850504463e8d8be67556790cf187db8dc166db818c2f622b532f4402eeafc13f039995ac4e35f0c738509c2e3a662cf588bf3532cb3b4c3b57b2252f2bcbb8133c0219ffff03a0dd053e237402631c1143d2b091ffe2cf8976c51ecfd5f3a4ee9ffb1fd492090307b915372335d8d439892834230eab0a74e5c2827bb6eb9a79cbd84b3e126369039a105c4238c5da6415135af7116574a5b00d0e2867b3275ceef2805350da77a303aa054982670793e2e90bd8e74dc603327b9c0f10b8f203385cb270105cf983ae03238821def48781961b4813b105941038ecee6859a6ff51e71adb08e529d4124b0321a15b14aa1d0922ca24e3e859d45b187674666180ccf4bf3f23278f6ffabea803815cf9d7ee19e93844c2d8bc2ab65392e26328a99c052bf932e423006bbb78fb03366d5a9588612a223872ec3a857dfdcd6eef3931c5a1df39671940984a8c402403ca3ab1de8fcc41d12a6f1164d49e77969d0862d7f81924fe6aaf920c0b3a384d0219ffff03c0c27676d2bdf8a48899317c9bf382ab7e493c966646ddac1ab7713c3ac146950353c5e32a2498ca30da94de8c49896e0f01156ee9b1058165a41f2caf07faf450035b3dfa50f1cb4ff47add88abbda3f85342cb0eed97d094ff357a562a0c479a69039a8417bb2e45e35071b139b3545afed10937c9a7078a6708fa30b9c8e2238426032543d287d0df869ff2ebd4a0b7e3d1a777bc9b2c297d072f6b428325c1757dfc03223030562cbbf3dcd031da9a069ee99aacac77615f929eb6921174149680b27503bed7f41065fb7c01a4e94ad082f3d1258f36540b42e577950c6d1f9992cbb7d60219ffff038783f41b3afdf0834e6a42d4c4ee38346b12998e6b243ac58d1fca79eaa149b903eda5fb657335a57ed988a60795f3216d92542d298d68de9d5f66a011532e7d0e03e903bd445461327baa0859bd0adabdd1f2dda510fd398dec055ae0b41757fdf903a5f5a931db46cc393e56f3469dd46c6543554eaad090d400478dc19a3d3dbb1703dc3a394c7d9680788c8d952bc714676fdd073f1bbfd42957decb5147a35dfea80219ffff03e74b1af12d32d6625b6e9af4f108418707cef62d83099fccbbb77a12fbd553d10219ffff03117181bdd1994c779539c2ccf1d27bb08dd7508d23b4915ee591310e0070a25d03abee9fa26290e923ce0bc1dafa074085b5eae1d5bb8effca8ff89de5ae704945039c84c4f87921f21e03bacbcfeb05c06b99de3e380a9c5ec7d8c8496048419215030cb0e65e7d1e87bd15a2a912fbd6771cea78c87c087fe73a89912fad93803727036df5a4f057289010386d89611b6ca8c655a8c8f78edf787727f867059ee2c39f03af4d4fc041a2b67e93e67f442db79ec8bee16442cb66ea516f8f82466fa49e79037fa0f837c9938e7ff15a5306e65560961f1ac260ac91680af1e4f0ee1911c2a4037740d45f62bfaf1c66da3d3a07222f3f622c0d2e7a925307ed728ecdd91aedc203727b28ea80c0ada3ab2c35d8a40ea053fbac57ef7a6a8a6709ebc2def29b78f6036891cf8a17095faaeee8445712dbd95e1759044a1a30748ca820bc33478807090307c2247f223e3931da22f0611b887e3ac718c1043564e6af6839069253ccd4dc03dc7cc1c5ce71194bd006b743b09df24f69ca172a082e7a45e51973f6b72ef68703db4fa5455b0496bdea4b760e7fcfbec45a997dcdd6130e93f9fa80000573713103b6a0772933ec89fc42f219ca5a43c929a582ddf2afde8555ce60169533959097039c86eed3ec1498d68b170b938357713d93da8b9b472d49f746603980b657824403ff8d64d37a029eeb37a76a4306b670a63819ee6917678b83569baf2be3faa09d03dc194815f6d22cf0ba77425bddf4259fffb92c5801e90249fb833ffdf00bae5103bd92dbe09bd257b339440f07a0ff827546e6402ca152a9fc38b2f871a8652e7d033bd217dea5a41592a72c511bac28c0ec5846214e05dd0d18330af19aba067b4d038aa6239758091c9df09d3afa7af3adfdb3c39d85e99fe19bc680f10b474c33720318f9563305fb9ed27279b34d068f8a9bcf557895cccd3c8a61a8b3077fec99740325117ad1f37de8a2f85959655b16eed70d9b58735e22beeb113f192030258c90039c2a3950f0065d88a122be2a64186b3598fdf5927995c1185be74765a3c434b10315ce924bd41bec9366e0e121f751cc6986f3954d3146b667c6e9375d54c95e0d03d00ef616504882a2e0afa8d87b056cc18f658a799d3a62481b22a66a6f5d246903579be1a5816ff5940887ac3cc29986ccb9f46712b6b7d3894c137b8a4d80405e03e06f96fc5f9617497abe22fc13fc3f561521fb8c70be3100cf6a44b47e54f6d8031110c4a2cc01357891418fd9548aa4a1ec5ec1a46b26569cc7a2f8f6949e6039031e3f4c3898c6c6a72f51ba78478928b33799f08a33f4632e03b5ec16ebaf017a03c3ad48b1fd0bda8c5d6680bb2921da7fde7fa49b8ca2dbb556bfd50173ddaa410335f0ef42cd0a70dcdffe95b132101256a5c5f23c8d2118fcf8c6d07cb191327603040ea67430a4d66e71add4552c4582eca4ea957ec08e628cde7869041ab9b6ce0359b871c2c8f973525863f18c2f6f18a44eb2f8840fd6a1bb919905b4f01e421d03be833adcfeeb21b1c9649a72411a8f3433f3a15c6c4d9d1a0117cae337ba000603c56db9c25ca86dd976de4d2ac3ca14db6b8281bc197cbb57d8e487330fc885060354bbade28616422c37385e189a28fba5409bee41180fa08089d58145e9f4d7c20302b5f2df1cd36888b2cfa5ff5c19a2c210f0d1472073efc437fefe9493c2c9cc0313581fa11ad687397d4912c381a6dc0ea10ea7cdc13c29e29a0a1a0dce53bc9103dcffdc07401d5fadd7506f43499428f144476c02796d82fa09344dce86d660fe0332dafcd2dc2d255c7ca2c926ac6fbd0e91a7e9ed1e0822e8b285058d97a013e003264c9e0ff37d87df9a6155c0e1551697e3d3674db6cfb3ef341df887bc6d75a903696bdd89d8801a173361a0c73a96198e7c43ff939323719910dd788f2693597303f1d900423b5b8f5c83c62d8b7c5c8ac90337d4ca82a44e36151a42a391dd0a31033b89c27479ecffb8887c2b739e31b8723a3001b740bb2ffe7d26379e90be9a0404595a8860806040526004361061021e5760003560e01c80639871efa411610123578063d1b260d4116100ab578063f3dced3c1161006f578063f3dced3c1461061f578063f3e144b61461063f578063f6932b0d1461065f578063f851a4401461067f578063fa461e331461069f57600080fd5b8063d1b260d4146105a4578063d8837daf146105b7578063e0af3616146105ca578063e99bfa95146105ec578063f2fde38b146105ff57600080fd5b8063b07482d2116100f2578063b07482d214610528578063b3ab15fb1461053b578063b80c2f091461055b578063ca68d8f61461056e578063d13a35e61461058457600080fd5b80639871efa4146104ac5780639989d481146104bf5780639a09b285146104d25780639a307391146104f257600080fd5b80633ba7cadf116101a657806373679b6b1161017557806373679b6b146103f3578063779e45fc1461041b5780638575654f1461043b578063869c6b4b1461044e5780638da5cb5b1461048e57600080fd5b80633ba7cadf1461035257806341f4a9591461037e5780636aa476451461039e578063715018a6146103de57600080fd5b80630d5f0e3b116101ed5780630d5f0e3b146102e157806312a0ddc7146102f45780631afca626146103075780631bb943fd1461031d578063355b97181461033257600080fd5b806301617fab1461027557806303b87e5f1461028857806308298b5a146102ae5780630c00e013146102c157600080fd5b366102705732330361026e5760405162461bcd60e51b81526020600482015260146024820152731155120819195c1bdcda5d081c995a9958dd195960621b60448201526064015b60405180910390fd5b005b600080fd5b61026e610283366004614c00565b6106bf565b61029b610296366004614caa565b610a5c565b6040519081526020015b60405180910390f35b61029b6102bc366004614d76565b610b6d565b3480156102cd57600080fd5b5061026e6102dc366004614de8565b610c30565b61029b6102ef366004614e29565b610e5a565b61029b610302366004614e9c565b610eb4565b34801561031357600080fd5b5061029b60215481565b34801561032957600080fd5b5061026e610f01565b34801561033e57600080fd5b5061026e61034d366004614ef3565b610f35565b34801561035e57600080fd5b5061029b61036d366004614ef3565b602080526000908152604090205481565b34801561038a57600080fd5b5061026e610399366004614f0c565b610f49565b3480156103aa57600080fd5b506103c67370cbb871e8f30fc8ce23609e9e0ea87b6b222f5881565b6040516001600160a01b0390911681526020016102a5565b3480156103ea57600080fd5b5061026e611006565b3480156103ff57600080fd5b506103c6735703b683c7f928b721ca95da988d73a3299d475781565b34801561042757600080fd5b5061026e610436366004614f5d565b61101a565b61029b610449366004614e29565b6110d1565b34801561045a57600080fd5b5061047e610469366004614f92565b60046020526000908152604090205460ff1681565b60405190151581526020016102a5565b34801561049a57600080fd5b506000546001600160a01b03166103c6565b61029b6104ba366004614e29565b6111dd565b61029b6104cd366004614e9c565b611241565b3480156104de57600080fd5b5061026e6104ed366004614f92565b61132e565b3480156104fe57600080fd5b506103c661050d366004614f92565b601f602052600090815260409020546001600160a01b031681565b61029b610536366004615050565b6113d6565b34801561054757600080fd5b5061026e610556366004614f92565b6114e5565b61029b61056936600461507f565b611547565b34801561057a57600080fd5b5061029b61012c81565b34801561059057600080fd5b506003546103c6906001600160a01b031681565b61029b6105b236600461507f565b611611565b61029b6105c5366004614e29565b611784565b3480156105d657600080fd5b506103c66000805160206159f383398151915281565b61029b6105fa366004615135565b61187a565b34801561060b57600080fd5b5061026e61061a366004614f92565b611a9a565b34801561062b57600080fd5b506002546103c6906001600160a01b031681565b34801561064b57600080fd5b5061029b61065a366004615236565b611b10565b34801561066b57600080fd5b5061026e61067a366004614ef3565b611b5a565b34801561068b57600080fd5b506018546103c6906001600160a01b031681565b3480156106ab57600080fd5b5061026e6106ba3660046152c0565b611b6b565b600160ff1b81166001600160801b038216806107125760405162461bcd60e51b81526020600482015260126024820152710616d6f756e74206d757374206265203e20360741b6044820152606401610265565b81156108aa5760405163052f523360e11b81526000805160206159f383398151915260048201523360248201523060448201526001600160801b03821660648201527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690608401600060405180830381600087803b15801561078d57600080fd5b505af11580156107a1573d6000803e3d6000fd5b5050604051632e1a7d4d60e01b81526001600160801b03841660048201526000805160206159f38339815191529250632e1a7d4d9150602401600060405180830381600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b50506040516000925033915047908381818185875af1925050503d806000811461084e576040519150601f19603f3d011682016040523d82523d6000602084013e610853565b606091505b50509050806108a45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572206e617469766520746f6b656e206661696c6564000000006044820152606401610265565b50610988565b806001600160801b031634146108fb5760405162461bcd60e51b81526020600482015260166024820152751d985b1d59481b9bdd08195c5d585b08185b5bdd5b9d60521b6044820152606401610265565b6000805160206159f38339815191526001600160a01b031663d0e30db0826001600160801b03166040518263ffffffff1660e01b81526004016000604051808303818588803b15801561094d57600080fd5b505af1158015610961573d6000803e3d6000fd5b50505050506109886000805160206159f383398151915233836001600160801b0316611d53565b604051848152600080516020615a338339815191529060200160405180910390a1600080516020615a13833981519152826109d75773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6109e7565b6000805160206159f38339815191525b83610a00576000805160206159f3833981519152610a16565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5b604080516001600160a01b03938416815292909116602083015233908201526001600160801b03831660608201819052608082015260a00160405180910390a150505050565b6000876080013542811015610a835760405162461bcd60e51b815260040161026590615312565b610a8b611d83565b6040518b8152600080516020615a338339815191529060200160405180910390a16001600160a01b038a16610af05760405162461bcd60e51b815260206004820152600b60248201526a6e6f74206164647228302960a81b6044820152606401610265565b89610b44610b03368c90038c018c61533a565b8a8a808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508c92508b91508a9050893388611ddc565b9250610b5560408b01358b3561216a565b50610b5f60018055565b509998505050505050505050565b60405160a087901c8152600090600080516020615a338339815191529060200160405180910390a16001600160a01b038416610bd95760405162461bcd60e51b815260206004820152600b60248201526a6e6f74206164647228302960a81b6044820152606401610265565b610bf16001600160a01b03881687878686338a612390565b9050610c26866001600160a01b03891615610c0c578861216a565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee61216a565b9695505050505050565b806000816001600160401b03811115610c4b57610c4b614faf565b604051908082528060200260200182016040528015610c74578160200160208202803683370190505b50905060005b82811015610e0e57601f6000868684818110610c9857610c986153c0565b9050602002810190610caa91906153d6565b610cbb906040810190602001614f92565b6001600160a01b039081168252602082019290925260400160002054163314801590610d2d5750848482818110610cf457610cf46153c0565b9050602002810190610d0691906153d6565b610d17906040810190602001614f92565b6001600160a01b0316336001600160a01b031614155b15610d4b5760405163203b1cdd60e21b815260040160405180910390fd5b6000610d81610d7c878785818110610d6557610d656153c0565b9050602002810190610d7791906153d6565b612b73565b612baf565b90506020600082815260200190815260200160002054838381518110610da957610da96153c0565b602002602001018181525050600160ff1b838381518110610dcc57610dcc6153c0565b602002602001015103610df2576040516311b18c4b60e11b815260040160405180910390fd5b60009081526020805260409020600160ff1b9055600101610c7a565b50336001600160a01b03167f2d978b051248279fa3127485450ca814a26b9b0938be9f714eda15eaec5ca881858584604051610e4c939291906154a0565b60405180910390a250505050565b60405160a086901c8152600090600080516020615a338339815191529060200160405180910390a16000610e9b336001600160a01b03891688888888612be2565b9092509050610eaa868261216a565b5095945050505050565b6000600080516020615a3383398151915284604051610ed591815260200190565b60405180910390a1610ef73380610ef1368790038701876155c4565b8561307b565b90505b9392505050565b610f096133f2565b6040517f0b3b40bc6027444e59029877c53be6734ca3724242753ffe5aa1a6066635211f90600090a132ff5b610f3d6133f2565b610f468161344c565b50565b610f516133f2565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610ff657600080836001600160a01b03168360405160006040518083038185875af1925050503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150818190610fee5760405162461bcd60e51b81526004016102659190615604565b505050505050565b611001838383611d53565b505050565b61100e6133f2565b61101860006134e4565b565b6018546001600160a01b031633148061103d57506000546001600160a01b031633145b61106e5760405162461bcd60e51b81526020600482015260026024820152616e6160f01b6044820152606401610265565b6001600160a01b038216600081815260046020908152604091829020805460ff19168515159081179091558251938452908301527fede97de789011d2becb9fba8441864c3b17f4a20f7ebf0a77e93f30adc30e207910160405180910390a15050565b3360009081526004602052604081205460ff1615156001146111055760405162461bcd60e51b815260040161026590615637565b60405160a087901c8152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa15801561116a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118e919061565e565b90925090506001600160a01b0381166111b95760405162461bcd60e51b815260040161026590615698565b6111d16001600160a01b038916888888888787612390565b98975050505050505050565b60405160a086901c8152600090600080516020615a338339815191529060200160405180910390a161121d6001600160a01b038716868686863333612390565b9050611238856001600160a01b03881615610c0c578761216a565b95945050505050565b3360009081526004602052604081205460ff1615156001146112755760405162461bcd60e51b815260040161026590615637565b61127d611d83565b604051848152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa1580156112de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611302919061565e565b9092509050611321828261131b368990038901896155c4565b8761307b565b92505050610efa60018055565b6018546001600160a01b031633148061135157506000546001600160a01b031633145b6113825760405162461bcd60e51b81526020600482015260026024820152616e6160f01b6044820152606401610265565b601880546001600160a01b0319166001600160a01b0383169081179091556040519081527f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c9060200160405180910390a150565b60006113e0611d83565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6114056060840160408501614f92565b6001600160a01b0316036114525760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21039b7bab931b2903a37b5b2b760611b6044820152606401610265565b6114626060830160408401614f92565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156114a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114cc91906156c0565b83526114da3085858561307b565b9050610efa60018055565b336000818152601f602090815260409182902080546001600160a01b0319166001600160a01b03861690811790915591519182527fd58299b712891143e76310d5e664c4203c940a67db37cf856bdaa3c5c76a802c910160405180910390a250565b600087608001354281101561156e5760405162461bcd60e51b815260040161026590615312565b611576611d83565b6040518a8152600080516020615a338339815191529060200160405180910390a16115ea6115a9368b90038b018b61533a565b8989808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508b92508a9150899050883380611ddc565b91506115fb60408a01358a3561216a565b61160460018055565b5098975050505050505050565b60008760800135428110156116385760405162461bcd60e51b815260040161026590615312565b611640611d83565b3360009081526004602052604090205460ff1615156001146116745760405162461bcd60e51b815260040161026590615637565b6040518a8152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa1580156116d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116f9919061565e565b90925090506001600160a01b0381166117245760405162461bcd60e51b815260040161026590615698565b611777611736368d90038d018d61533a565b8b8b808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508d92508c91508b90508a8888611ddc565b9350505061160460018055565b3360009081526004602052604081205460ff1615156001146117b85760405162461bcd60e51b815260040161026590615637565b60405160a087901c8152600080516020615a338339815191529060200160405180910390a1600080336001600160a01b031663534015b36040518163ffffffff1660e01b81526004016040805180830381865afa15801561181d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611841919061565e565b90925090506001600160a01b03811661186c5760405162461bcd60e51b815260040161026590615698565b611604828289898989612be2565b60008860800135428110156118a15760405162461bcd60e51b815260040161026590615312565b6118a9611d83565b89356001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed19810161190f5760405162461bcd60e51b815260206004820152601460248201527324b73b30b634b21039b7bab931b2903a37b5b2b760611b6044820152606401610265565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611956573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197a91906156c0565b905060006040518060a001604052808e6000013581526020018e60200160208101906119a69190614f92565b6001600160a01b031681526020018381526020018e6060013581526020018e60800135815250905060008c8c90506001600160401b038111156119eb576119eb614faf565b604051908082528060200260200182016040528015611a14578160200160208202803683370190505b50905060005b8c811015611a7a578e60400135848f8f84818110611a3a57611a3a6153c0565b90506020020135611a4b91906156ef565b611a559190615706565b828281518110611a6757611a676153c0565b6020908102919091010152600101611a1a565b50611a8b82828d8d8d8d308e611ddc565b95505050505061160460018055565b611aa26133f2565b6001600160a01b038116611b075760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610265565b610f46816134e4565b60405160a089901c8152600090600080516020615a338339815191529060200160405180910390a1611b43888484613534565b610b5f336001600160a01b038b1689898989612be2565b611b626133f2565b610f4681610f3d565b611baf565b3d6000803e3d6000fd5b80611b8757611b87611b70565b600160005114601f3d11163d151780611bab57633c9fd93960e21b60005260046000fd5b5050565b604051601581017306ff0b40e9091053eee51fa1d482ce5d852f523360611b825260206000600484335afa611be657611be6611b70565b6020806004808501335afa611bfd57611bfd611b70565b60206040600460088501335afa611c1657611c16611b70565b6000806000881360018114611c32576020519250879150611c3b565b60005192508891505b507fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000008452606060002083527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460208401526001600160a01b0360558520169250338314611cb357635960139160e11b60005260046000fd5b60843592507306ff0b40e9091053eee51fa1d482ce5d852f523360611b845230831460018114611d2557826014860152836034860152336054860152816074860152611d206020600060846010890160007370cbb871e8f30fc8ce23609e9e0ea87b6b222f585af1611b7a565b611d48565b336010860152816030860152611d48602060006044600c89016000885af1611b7a565b505050505050505050565b611d668363a9059cbb60e01b848461369a565b6110015760405163fb7f507960e01b815260040160405180910390fd5b600260015403611dd55760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610265565b6002600155565b60408801516000908990611e3d5760405162461bcd60e51b815260206004820152602260248201527f526f7574653a2066726f6d546f6b656e416d6f756e74206d757374206265203e604482015261020360f41b6064820152608401610265565b805160208201516001600160a01b0391821691611e5b9116856136ed565b9250611e6681613778565b15611ed5576000805160206159f38339815191526001600160a01b031663d0e30db083604001516040518263ffffffff1660e01b81526004016000604051808303818588803b158015611eb857600080fd5b505af1158015611ecc573d6000803e3d6000fd5b50505050503094505b6000805b8b51811015611f11578b8181518110611ef457611ef46153c0565b602002602001015182611f079190615728565b9150600101611ed9565b508260400151811115611f845760405162461bcd60e51b815260206004820152603560248201527f526f7574653a206e756d626572206f6620626174636865732073686f756c64206044820152741899480f0f48199c9bdb551bdad95b905b5bdd5b9d605a1b6064820152608401610265565b508515611fd35760405162461bcd60e51b815260206004820152601b60248201527f74686520706172616d65746572206973206465707265636174656400000000006044820152606401610265565b895188146120155760405162461bcd60e51b815260206004820152600f60248201526e0d8cadccee8d040dad2e6dac2e8c6d608b1b6044820152606401610265565b60005b888110156120865761207e868661203b86602001516001600160a01b0316613778565b8e858151811061204d5761204d6153c0565b60200260200101518e8e87818110612067576120676153c0565b9050602002810190612079919061573b565b61379a565b600101612018565b50612095826020015185613954565b602082015183906120af906001600160a01b0316866136ed565b6120b99190615784565b925081606001518310156121085760405162461bcd60e51b8152602060048201526016602482015275135a5b881c995d1d5c9b881b9bdd081c995858da195960521b6044820152606401610265565b60208083015160408085015181516001600160a01b038087168252909316938301939093523290820152606081019190915260808101849052600080516020615a138339815191529060a00160405180910390a1505098975050505050505050565b601f193601356561aefa81eaab60d11b6001600160d01b0319821601611001576001600160a01b03811665ffffffffffff60a083901c1661012c8111156121f35760405162461bcd60e51b815260206004820152601b60248201527f6572726f7220636f6d6d697373696f6e2072617465206c696d697400000000006044820152606401610265565b600061220182612710615784565b61220b83886156ef565b6122159190615706565b9050612229856001600160a01b0316613778565b156122d7576000836001600160a01b03168260405160006040518083038185875af1925050503d806000811461227b576040519150601f19603f3d011682016040523d82523d6000602084013e612280565b606091505b50509050806122d15760405162461bcd60e51b815260206004820152601b60248201527f636f6d6d697373696f6e2077697468206574686572206572726f7200000000006044820152606401610265565b50612347565b60405163052f523360e11b81527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690612314908890339088908790600401615797565b600060405180830381600087803b15801561232e57600080fd5b505af1158015612342573d6000803e3d6000fd5b505050505b604080518281526001600160a01b03851660208201527fffc60ee157a42f4d8edbd1897e6581a96d9ed04e44fb2ab53a47ce1eb8f2775b910160405180910390a1505050505050565b60006125dc565b62461bcd60e51b600052600160e51b6020528060405250806000fd5b828152600060206000600484600401865afa6123e8576123e86054700419d95d081d1bdad95b8819985a5b195960621b612397565b505060005192915050565b6770a082310dfe168160c01b815260008060206000600485600401875afa61243657612436605672049d1bdad95b8c0818d85b1b0819985a5b195960521b612397565b600051915083836004015260206000602485855afa6124775761247760597c1562616c616e63654f662063616c6c206661696c656400000000000000612397565b60005190509250929050565b6770a08231d21220a760c01b815260008060206000600485600401875afa61243657612436605672049d1bdad95b8c4818d85b1b0819985a5b195960521b612397565b668b0367c240bc6b60c21b8152600060406000600484600401875afa61250e5761250e60587c1472657365727665732063616c6c206661696c65640000000000000000612397565b60005160205186801561253a5789156125325761252b8786612483565b8390039650505b909190612551565b88156125515761254a87866123f3565b8490039650505b50668b0367c240bc6b60c21b8452898502633b9aca00929092028201910204905084801561258b5781600484015260006024840152612599565b600060048401528160248401525b50886044830152608060648301526000608483015260008060a4846000885af16111d1576111d1605470041cddd85c0818d85b1b0819985a5b195960621b612397565b84602085028101858061260357612603604e6b0b656d70747920706f6f6c7360901b612397565b5060405182358b15600181146126ad5734156126395761263960557111696e76616c6964206d73672e76616c756560581b612397565b63052f523360e11b83528c60048401528760248401526001600160a01b03821660448401528b606484015260008060848560007370cbb871e8f30fc8ce23609e9e0ea87b6b222f585af16126a8576126a86056720498db185a5b481d1bdad95b8819985a5b195960521b612397565b61277f565b60018c3410036126d7576126d760557111696e76616c6964206d73672e76616c756560581b612397565b670a9059cbbd0e30db60c41b835260008060048086018f6000805160206159f38339815191525af1612724576127246056720499195c1bdcda5d081155120819985a5b195960521b612397565b6001600160a01b03821683600401528b83602401526020600060448560006000805160206159f38339815191525af161277f5761277f60587c147472616e736665722057455448206661696c65640000000000000000612397565b508a9450602084015b838110156127de5780356127d26001600160a01b03821663ffffffff60a01b851660a01c600160fd1b8616600160fc1b8716600160ff1b88166001600160a01b0389168d8b6124c6565b96509150602001612788565b5060009350600160fe1b811680156128c2576000945061282b3063ffffffff60a01b841660a01c600160fd1b8516600160fc1b8616600160ff1b87166001600160a01b0388168c8a6124c6565b9550672e1a7d4da9059cbb60c01b83528560048401526020600060248560006000805160206159f38339815191525af16128875761288760577c13776974686472617720455448206661696c6564000000000000000000612397565b600080600080898b5af16128bd576128bd60577c137472616e7366657220455448206661696c6564000000000000000000612397565b612b05565b60009350600160ff1b8216801561297457600160fc1b83161561296f576770a082310dfe168160c01b8452602060006004866004016001600160a01b0387165afa61292857612928605672049d1bdad95b8c0818d85b1b0819985a5b195960521b612397565b600051955087846004015260206000602486895afa6129695761296960567c15746f6b656e302062616c616e6365206661696c656400000000000000612397565b60005194505b612a10565b600160fd1b831615612a10576770a08231d21220a760c01b8452602060006004866004016001600160a01b0387165afa6129c9576129c9605672049d1bdad95b8c4818d85b1b0819985a5b195960521b612397565b600051955087846004015260206000602486895afa612a0a57612a0a60597c15746f6b656e312062616c616e6365206661696c656400000000000000612397565b60005194505b50612a488763ffffffff60a01b841660a01c600160fd1b8516600160fc1b8616600160ff1b87166001600160a01b0388168c8a6124c6565b95508460001060018114612ab157600160ff1b83168015612a8957612a826770a082310dfe168160c01b6001600160a01b038616876123b3565b9650612aab565b612aa86770a08231d21220a760c01b6001600160a01b038616876123b3565b96505b50612b03565b6770a082310dfe168160c01b845287846004015260206000602486895afa612afb57612afb60587c146765742062616c616e63654f66206661696c65640000000000000000612397565b846000510396505b505b505088841015612b3757612b37605a7c164d696e2072657475726e206e6f742072656163686564000000000000612397565b8a8152826020820152326040820152896060820152836080820152600080516020615a1383398151915260a082a1505050979650505050505050565b60006040517f5d068ce469dcf41137bcb6c3e1894e076ad915392f28fda19ba41601d33c32a68152610120836020830137610140902092915050565b6000612bdc612bbc613b71565b8360405161190160f01b8152600281019290925260228201526042902090565b92915050565b600080612f7c565b6000846001600160ff1b031015612c0c57630b3f79fd60e41b60005260046000fd5b604051600160ff1b8516156001600160a01b0386168160018114612c9957630251596160e31b8452600484018681526000602082015289604082015273fffd8963efd1fc6a506488495d951d5263988d25606082015260a06080820152602060a08201528760c08201525060008060e4866000865af180612c8d5760206000fd5b5060206000803e612cf5565b630251596160e31b845260048401868152600160208201528960408201526401000276a4606082015260a06080820152602060a08201528760c08201525060008060e4866000865af180612ced5760206000fd5b5060208060003e5b505050506000519050600160ff1b811015612d1b576322323ba760e21b60005260046000fd5b19600101949350505050565b600181341003612d4257631841b4e160e01b60005260046000fd5b600080600080846000805160206159f38339815191525af180611bab57611bab60577c1357455448206465706f736974206661696c6564000000000000000000612397565b604051672e1a7d4da9059cbb60c01b815282600482015260008060248360006000805160206159f38339815191525af1905080612de657612de660587c1477697468647261772077657468206661696c65640000000000000000612397565b60008060008086865af190508061100157611001605571045cd95b9908195d1a195c8819985a5b1959605a1b612397565b60006040517306ff0b40e9091053eee51fa1d482ce5d852f523360611b8152600080600483865afa905080612e6657612e666055710459d95d081d1bdad95b8c0819985a5b1959605a1b612397565b5060206000803e505060005190565b60006040517306ff0b40e9091053eee51fa1d482ce5d852f523360611b81526000806004808401865afa905080612e6657612e666054710459d95d081d1bdad95b8c4819985a5b1959605a1b612397565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8085612f12578235600160ff1b81161560018114612f0357612efc82612e75565b9350612f0f565b612f0c82612e17565b93505b50505b86612f48578335600160ff1b81161560018114612f3957612f3282612e17565b9250612f45565b612f4282612e75565b92505b50505b60405182600052816020523260405285608052600080516020615a1383398151915260a06000a16040525095945050505050565b83601f19602085028201018480612f9e576333f3e07b60e11b60005260046000fd5b50600034118015612fb657612fb289612d27565b309a505b88606052825b82811015612fde57612fd18a82358e30612bea565b309c509950602001612fbc565b506000600160fd1b833516118060018114612ffe57801561301c5761302c565b61300b8b85358f30612bea565b9650613017878d612d87565b61302c565b6130298b85358f8f612bea565b96505b508886101561305d5761305d605a7c164d696e2072657475726e206e6f742072656163686564000000000000612397565b61306a8183888688612ec6565b945050505050965096945050505050565b8151600090810361309f576040516387741f3360e01b815260040160405180910390fd5b826060015180156130b1575082513414155b80156130e357506000805160206159f38339815191526130d76060840160408501614f92565b6001600160a01b031614155b15613101576040516387741f3360e01b815260040160405180910390fd5b8260800151801561313857506000805160206159f383398151915261312c6080840160608501614f92565b6001600160a01b031614155b156131565760405163591c75ef60e01b815260040160405180910390fd5b428360400151101561317b57604051632b32713d60e01b815260040160405180910390fd5b8260800151613205576131946080830160608401614f92565b6040516370a0823160e01b81526001600160a01b03868116600483015291909116906370a0823190602401602060405180830381865afa1580156131dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061320091906156c0565b613211565b836001600160a01b0316315b9050600061322f846000015187878688606001518960800151613c64565b905080156132535760405163f70b432d60e01b815260048101829052602401610265565b83608001516132e8578161326d6080850160608601614f92565b6040516370a0823160e01b81526001600160a01b03888116600483015291909116906370a0823190602401602060405180830381865afa1580156132b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132d991906156c0565b6132e39190615784565b6132fc565b6132fc826001600160a01b03871631615784565b915083602001518210156133235760405163a7c6745960e01b815260040160405180910390fd5b6040805184358152610180850135602082018190529181018390527f5018f79d04d45a1d0ef7df4f8a02c44c1b0b59cd11983e44f1e9dfaf071db2199060600160405180910390a1600080516020615a1383398151915261338a6060860160408701614f92565b61339a6080870160608801614f92565b6133aa6040880160208901614f92565b8851604080516001600160a01b0395861681529385166020850152919093169082015260608101919091526080810185905260a00160405180910390a150505b949350505050565b6000546001600160a01b031633146110185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610265565b60f081901c6001600160a01b03821661271082111561347e57604051634bd934b560e01b815260040160405180910390fd5b6001600160a01b0381166134a557604051633480121760e21b815260040160405180910390fd5b602183905560405183815233907f04e0c6a722afc105ccf81d8792757f388d3dad9bc137b2e269cfd6ee99faba999060200160405180910390a2505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b8015611001576000606060e08390036135d5576040516001600160a01b0386169061356e9063d505accf60e01b90879087906020016157c1565b60408051601f1981840301815290829052613588916157e5565b6000604051808303816000865af19150503d80600081146135c5576040519150601f19603f3d011682016040523d82523d6000602084013e6135ca565b606091505b509092509050613644565b610100839003613606576040516001600160a01b0386169061356e906323f2ebc360e21b90879087906020016157c1565b60405162461bcd60e51b81526020600482015260136024820152720aee4dedcce40e0cae4dad2e840d8cadccee8d606b1b6044820152606401610265565b816136935761367a816040518060400160405280600f81526020016e02832b936b4ba103330b4b632b21d1608d1b815250614102565b60405162461bcd60e51b81526004016102659190615604565b5050505050565b60006040518481528360048201528260248201526020600060448360008a5af191505080156133ea573d80156136dc57600160005114601f3d111691506136e4565b6000863b1191505b50949350505050565b60006136f883613778565b1561370e57506001600160a01b03811631612bdc565b6040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015613754573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efa91906156c0565b6001600160a01b031673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1490565b60006137d4838360008181106137b2576137b26153c0565b90506020028101906137c491906157f7565b608001356001600160a01b031690565b905060008083815b8181101561394757801561381a576137ff8787838181106137b2576137b26153c0565b94506138146001600160a01b038616306136ed565b9750309a505b30613826600184615784565b82148015613832575089155b1561383e57508961390b565b613849600184615784565b821080156138945750878761385f846001615728565b81811061386e5761386e6153c0565b905060200281019061388091906157f7565b61388e90602081019061573b565b90506001145b156139065787876138a6846001615728565b8181106138b5576138b56153c0565b90506020028101906138c791906157f7565b6138d590602081019061573b565b60008181106138e6576138e66153c0565b90506020020160208101906138fb9190614f92565b90506001945061390b565b600094505b61393b8c828b8b8b87818110613923576139236153c0565b905060200281019061393591906157f7565b88614265565b508392506001016137dc565b5050505050505050505050565b613966826001600160a01b0316613778565b15613af3576040516370a0823160e01b81523060048201526000906000805160206159f3833981519152906370a0823190602401602060405180830381865afa1580156139b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139db91906156c0565b90508015613a4357604051632e1a7d4d60e01b8152600481018290526000805160206159f383398151915290632e1a7d4d90602401600060405180830381600087803b158015613a2a57600080fd5b505af1158015613a3e573d6000803e3d6000fd5b505050505b478015613aed576000836001600160a01b03168260405160006040518083038185875af1925050503d8060008114613a97576040519150601f19603f3d011682016040523d82523d6000602084013e613a9c565b606091505b50509050806136935760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572206e617469766520746f6b656e206661696c6564000000006044820152606401610265565b50505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015613b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b5e91906156c0565b9050801561100157611001838383611d53565b600030733b3ae790df4f312e745d270119c6052904fb6790148015613b965750600146145b15613bc057507f568575351b1514757989de9c786c66097e2ae26e38a5fd1b885ac2dd02b8b0bc90565b50604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f9569cad29571f225e7f2c73ecd677d78be383da74efd13f4af2bade05dc1a8de828401527fe6bbd6277e1bf288eed5e8d1780f9a50b239e86b153736bceebccf4ea79d90b360608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000428460e001351015613c7a57506002610c26565b60006080850135613c8f60a08701358a6156ef565b613c999190615706565b90506102208501356000613ccd8a83613cb860608b0160408c01614f92565b613cc860808c0160608d01614f92565b6145a1565b905080831115613d1657604080518281526020810183905291935083917facd4baa7803154e33bc54ca36afe61420bf31d5f1bf3587746c146d2f3a76e50910160405180910390a15b6000613d24610d7c89612b73565b9050613d8281613d3a60408b0160208c01614f92565b613d486101208c018c61580d565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506147cf92505050565b94508415613d935750505050610c26565b613da284828a60a0013561480c565b94508415613db35750505050610c26565b8515613efb577370cbb871e8f30fc8ce23609e9e0ea87b6b222f58630a5ea466613de360808b0160608c01614f92565b613df360408c0160208d01614f92565b735703b683c7f928b721ca95da988d73a3299d4757886040518563ffffffff1660e01b8152600401613e289493929190615797565b600060405180830381600087803b158015613e4257600080fd5b505af1158015613e56573d6000803e3d6000fd5b5050604051632e1a7d4d60e01b815260048101879052735703b683c7f928b721ca95da988d73a3299d47579250632e1a7d4d9150602401600060405180830381600087803b158015613ea757600080fd5b505af1158015613ebb573d6000803e3d6000fd5b50506040516001600160a01b038c16925086156108fc02915086906000818181858888f19350505050158015613ef5573d6000803e3d6000fd5b50613f89565b7370cbb871e8f30fc8ce23609e9e0ea87b6b222f58630a5ea466613f2560808b0160608c01614f92565b613f3560408c0160208d01614f92565b8c886040518563ffffffff1660e01b8152600401613f569493929190615797565b600060405180830381600087803b158015613f7057600080fd5b505af1158015613f84573d6000803e3d6000fd5b505050505b8615614022576000805160206159f38339815191526001600160a01b031663d0e30db08c6040518263ffffffff1660e01b81526004016000604051808303818588803b158015613fd857600080fd5b505af1158015613fec573d6000803e3d6000fd5b505050505061401d8860200160208101906140079190614f92565b6000805160206159f3833981519152908d611d53565b6140f4565b306001600160a01b038b16036140665761401d61404560408a0160208b01614f92565b8c61405660608c0160408d01614f92565b6001600160a01b03169190611d53565b7370cbb871e8f30fc8ce23609e9e0ea87b6b222f58630a5ea46661409060608b0160408c01614f92565b8c6140a160408d0160208e01614f92565b8f6040518563ffffffff1660e01b81526004016140c19493929190615797565b600060405180830381600087803b1580156140db57600080fd5b505af11580156140ef573d6000803e3d6000fd5b505050505b505050509695505050505050565b606060048351106142335760208301516001600160e01b0319811662461bcd60e51b14801561413357506044845110155b156141d357602484810151808601820180519192909190614155908490615728565b61415f9190615728565b865110156141a75760405162461bcd60e51b815260206004820152601560248201527424b73b30b634b2103932bb32b93a103932b0b9b7b760591b6044820152606401610265565b84816040516020016141ba929190615853565b6040516020818303038152906040529350505050612bdc565b6001600160e01b03198116634e487b7160e01b1480156141f4575083516024145b156142315760248401518361420882614899565b6040516020016142199291906158a2565b60405160208183030381529060405292505050612bdc565b505b8161423d846148c1565b60405160200161424e9291906158d7565b604051602081830303815290604052905092915050565b60808201356001600160a01b0316600080614280858061573b565b9050905060005b81811015611d4857600061429e604088018861573b565b838181106142ae576142ae6153c0565b60200291909101359150506001600160a01b038116600160ff1b821661ffff60a084901c1661271081111561431b5760405162461bcd60e51b8152602060048201526013602482015272776569676874206f7574206f662072616e676560681b6044820152606401610265565b6143258188615728565b9650614332600187615784565b8503614399576127108711156143995760405162461bcd60e51b815260206004820152602660248201527f746f74616c5765696768742063616e206e6f7420657863656564203130303030604482015265081b1a5b5a5d60d21b6064820152608401610265565b8861440857600081612710146143c5576127106143b6838e6156ef565b6143c09190615706565b6143c7565b8b5b90506144068e6143da60208e018e61573b565b898181106143ea576143ea6153c0565b90506020020160208101906143ff9190614f92565b8b84614aa8565b505b81156144d2576144188a8061573b565b86818110614428576144286153c0565b905060200201602081019061443d9190614f92565b6001600160a01b0316636f7929f28d8561445a60608f018f61573b565b8a81811061446a5761446a6153c0565b905060200281019061447c919061580d565b6040518563ffffffff1660e01b815260040161449b9493929190615928565b600060405180830381600087803b1580156144b557600080fd5b505af11580156144c9573d6000803e3d6000fd5b50505050614592565b6144dc8a8061573b565b868181106144ec576144ec6153c0565b90506020020160208101906145019190614f92565b6001600160a01b03166330e6ae318d8561451e60608f018f61573b565b8a81811061452e5761452e6153c0565b9050602002810190614540919061580d565b6040518563ffffffff1660e01b815260040161455f9493929190615928565b600060405180830381600087803b15801561457957600080fd5b505af115801561458d573d6000803e3d6000fd5b505050505b84600101945050505050614287565b600060f084901c6001600160a01b038516806146c35760405163e6a4390560e01b81526001600160a01b03808716600483015285166024820152735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9063e6a4390590604401602060405180830381865afa158015614617573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061463b9190615955565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa15801561467d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146a19190615955565b9050846001600160a01b0316816001600160a01b0316036146c157600192505b505b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614704573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147289190615989565b5091509150816001600160701b03166000148061474c57506001600160701b038116155b1561475f576000199450505050506133ea565b8360010361479757806001600160701b0316826001600160701b03168a61478691906156ef565b6147909190615706565b94506147c3565b816001600160701b0316816001600160701b03168a6147b691906156ef565b6147c09190615706565b94505b50505050949350505050565b60608101516080820151600091906147f1856147ec888585614b3d565b614bac565b61480057600192505050610efa565b60009695505050505050565b6000828152602080526040812054600160ff1b81016148305760035b915050610efa565b8015801561483e5750600083115b156148465750815b80851115614855576004614828565b8085036148755760008481526020805260409020600160ff1b905561488e565b61487f8582615784565b60008581526020805260409020555b600095945050505050565b6060612bdc826040516020016148b191815260200190565b6040516020818303038152906040525b80516060906f181899199a1a9b1b9c1cb0b131b232b360811b906000906148e99060026156ef565b6148f4906002615728565b6001600160401b0381111561490b5761490b614faf565b6040519080825280601f01601f191660200182016040528015614935576020820181803683370190505b509050600360fc1b81600081518110614950576149506153c0565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061497f5761497f6153c0565b60200101906001600160f81b031916908160001a90535060005b8451811015614aa0578260048683815181106149b7576149b76153c0565b01602001516001600160f81b031916901c60f81c601081106149db576149db6153c0565b1a60f81b826149eb8360026156ef565b6149f6906002615728565b81518110614a0657614a066153c0565b60200101906001600160f81b031916908160001a90535082858281518110614a3057614a306153c0565b60209101015160f81c600f1660108110614a4c57614a4c6153c0565b1a60f81b82614a5c8360026156ef565b614a67906003615728565b81518110614a7757614a776153c0565b60200101906001600160f81b031916908160001a90535080614a98816159d9565b915050614999565b509392505050565b306001600160a01b03851603614ac857614ac3828483611d53565b613aed565b60405163052f523360e11b81527370cbb871e8f30fc8ce23609e9e0ea87b6b222f5890630a5ea46690614b05908590889088908790600401615797565b600060405180830381600087803b158015614b1f57600080fd5b505af1158015614b33573d6000803e3d6000fd5b5050505050505050565b60006001600160ff1b0382167f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1811015614aa0576040518581528360ff1c601b016020820152846040820152816060820152600080526020600060808360015afa505060005195945050505050565b6000826001600160a01b0316826001600160a01b03161480614bea57506001600160a01b038084166000908152601f60205260409020548382169116145b15614bf757506001612bdc565b50600092915050565b60008060408385031215614c1357600080fd5b50508035926020909101359150565b6001600160a01b0381168114610f4657600080fd5b8035614c4281614c22565b919050565b600060a08284031215614c5957600080fd5b50919050565b60008083601f840112614c7157600080fd5b5081356001600160401b03811115614c8857600080fd5b6020830191508360208260051b8501011115614ca357600080fd5b9250929050565b60008060008060008060008060006101408a8c031215614cc957600080fd5b8935985060208a0135614cdb81614c22565b9750614cea8b60408c01614c47565b965060e08a01356001600160401b0380821115614d0657600080fd5b614d128d838e01614c5f565b90985096506101008c0135915080821115614d2c57600080fd5b614d388d838e01614c5f565b90965094506101208c0135915080821115614d5257600080fd5b50614d5f8c828d01614c5f565b915080935050809150509295985092959850929598565b60008060008060008060a08789031215614d8f57600080fd5b8635955060208701359450604087013593506060870135614daf81614c22565b925060808701356001600160401b03811115614dca57600080fd5b614dd689828a01614c5f565b979a9699509497509295939492505050565b60008060208385031215614dfb57600080fd5b82356001600160401b03811115614e1157600080fd5b614e1d85828601614c5f565b90969095509350505050565b600080600080600060808688031215614e4157600080fd5b85359450602086013593506040860135925060608601356001600160401b03811115614e6c57600080fd5b614e7888828901614c5f565b969995985093965092949392505050565b60006101408284031215614c5957600080fd5b600080600060e08486031215614eb157600080fd5b83359250614ec28560208601614c47565b915060c08401356001600160401b03811115614edd57600080fd5b614ee986828701614e89565b9150509250925092565b600060208284031215614f0557600080fd5b5035919050565b600080600060608486031215614f2157600080fd5b8335614f2c81614c22565b92506020840135614f3c81614c22565b929592945050506040919091013590565b80358015158114614c4257600080fd5b60008060408385031215614f7057600080fd5b8235614f7b81614c22565b9150614f8960208401614f4d565b90509250929050565b600060208284031215614fa457600080fd5b8135610efa81614c22565b634e487b7160e01b600052604160045260246000fd5b600060a08284031215614fd757600080fd5b60405160a081018181106001600160401b038211171561500757634e487b7160e01b600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015261503360608401614f4d565b606082015261504460808401614f4d565b60808201525092915050565b600080600060e0848603121561506557600080fd5b833561507081614c22565b9250614ec28560208601614fc5565b600080600080600080600080610120898b03121561509c57600080fd5b883597506150ad8a60208b01614c47565b965060c08901356001600160401b03808211156150c957600080fd5b6150d58c838d01614c5f565b909850965060e08b01359150808211156150ee57600080fd5b6150fa8c838d01614c5f565b90965094506101008b013591508082111561511457600080fd5b506151218b828c01614c5f565b999c989b5096995094979396929594505050565b600080600080600080600080610120898b03121561515257600080fd5b61515c8a8a614c47565b975060a08901356001600160401b038082111561517857600080fd5b6151848c838d01614c5f565b909950975060c08b013591508082111561519d57600080fd5b6151a98c838d01614c5f565b909750955060e08b01359150808211156151c257600080fd5b506151cf8b828c01614c5f565b9094509250506101008901356151e481614c22565b809150509295985092959890939650565b60008083601f84011261520757600080fd5b5081356001600160401b0381111561521e57600080fd5b602083019150836020828501011115614ca357600080fd5b60008060008060008060008060c0898b03121561525257600080fd5b88359750602089013561526481614c22565b9650604089013595506060890135945060808901356001600160401b038082111561528e57600080fd5b61529a8c838d01614c5f565b909650945060a08b01359150808211156152b357600080fd5b506151218b828c016151f5565b600080600080606085870312156152d657600080fd5b843593506020850135925060408501356001600160401b038111156152fa57600080fd5b615306878288016151f5565b95989497509550505050565b6020808252600e908201526d149bdd5d194e88195e1c1a5c995960921b604082015260600190565b600060a0828403121561534c57600080fd5b60405160a081018181106001600160401b038211171561537c57634e487b7160e01b600052604160045260246000fd5b60405282358152602083013561539181614c22565b806020830152506040830135604082015260608301356060820152608083013560808201528091505092915050565b634e487b7160e01b600052603260045260246000fd5b6000823561013e198336030181126153ed57600080fd5b9190910192915050565b6000808335601e1984360301811261540e57600080fd5b83016020810192503590506001600160401b0381111561542d57600080fd5b803603821315614ca357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600081518084526020808501945080840160005b8381101561549557815187529582019590820190600101615479565b509495945050505050565b60408082528181018490526000906060808401600587901b850182018885805b8a8110156155af57888403605f190185528235368d900361013e190181126154e6578283fd5b8c018035855261014060206154fc818401614c37565b6001600160a01b031681880152615514838b01614c37565b6001600160a01b03168a88015261552c838a01614c37565b6001600160a01b0316898801526080838101359088015260a0808401359088015260c0808401359088015260e0808401359088015261010061556f818501614f4d565b151590880152610120615584848201856153f7565b945083828a0152615598848a01868361543c565b9983019998505050949094019350506001016154c0565b50505085810360208701526147c08188615465565b600060a082840312156155d657600080fd5b610efa8383614fc5565b60005b838110156155fb5781810151838201526020016155e3565b50506000910152565b60208152600082518060208401526156238160408501602087016155e0565b601f01601f19169190910160400192915050565b6020808252600d908201526c6f6e6c79207072696f7269747960981b604082015260600190565b6000806040838503121561567157600080fd5b825161567c81614c22565b602084015190925061568d81614c22565b809150509250929050565b6020808252600e908201526d6e6f74206164647265737328302960901b604082015260600190565b6000602082840312156156d257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417612bdc57612bdc6156d9565b60008261572357634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115612bdc57612bdc6156d9565b6000808335601e1984360301811261575257600080fd5b8301803591506001600160401b0382111561576c57600080fd5b6020019150600581901b3603821315614ca357600080fd5b81810381811115612bdc57612bdc6156d9565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160e01b031984168152818360048301376000910160040190815292915050565b600082516153ed8184602087016155e0565b60008235609e198336030181126153ed57600080fd5b6000808335601e1984360301811261582457600080fd5b8301803591506001600160401b0382111561583e57600080fd5b602001915036819003821315614ca357600080fd5b600083516158658184602088016155e0565b6508ae4e4dee4560d31b90830190815283516158888160068401602088016155e0565b602960f81b60069290910191820152600701949350505050565b600083516158b48184602088016155e0565b650a0c2dcd2c6560d31b90830190815283516158888160068401602088016155e0565b600083516158e98184602088016155e0565b670aadcd6dcdeeedc560c31b908301908152835161590e8160088401602088016155e0565b602960f81b60089290910191820152600901949350505050565b6001600160a01b03858116825284166020820152606060408201819052600090610c26908301848661543c565b60006020828403121561596757600080fd5b8151610efa81614c22565b80516001600160701b0381168114614c4257600080fd5b60008060006060848603121561599e57600080fd5b6159a784615972565b92506159b560208501615972565b9150604084015163ffffffff811681146159ce57600080fd5b809150509250925092565b6000600182016159eb576159eb6156d9565b506001019056fe000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21bb43f2da90e35f7b0cf38521ca95a49e68eb42fac49924930a5bd73cdf7576c7724394874fdd8ad13292ec739b441f85c6559f10dc4141b8d4c0fa4cbf55bdba264697066735822122086de79ead0fb270f5ba155e53602dfc8ed82c71fdd9d09db0688152e77f6d3ff64736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563054d01b673cfc6441b0ab383327afaf3ad1019455170058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6041010219080405581d0222a6136796a4543993032dac350fd03a38b21b9171733dc96a647ab90701195a8805581d02213db77e19bf46a10eac2cc934eb93da061b24922305d34507e19ee704010219040105581e03bba256d6d66ad6a711d3b9d82772be67a8ae407e1ef7a71ac166da7fe00c0147024d62d7fa523b03c29ba103680f2a5969c810900a54d65ba114eed252f3ae79dfc831b53274327b039e570bb9c762292ffd1b2f83ea25d6e68fe1bbb49af4b1150d02da3b75be4a5c03ccbc414f180ccbae836c4938ca3a85fbd0d4e397e809418d8f7cc83090b1293e0219e70e03602be9dd1fac2a83b31fba97e30e5b2a5a50938e05d7481aca2b31bc07b7892203709c2e28c97713ea6148c8e927c4722871ffd908dac25a47d178dafa57d663a3039b5ba9e59aa720b27edbc05b9fa3e64efbdb55af554492526bcda64782150e65030d51868fa67dee90cf565fa6c40af4d7158076f082e1bedf7e945875a6ee141903266159f6836de0ad1682089250b2bbc8e74dc1cf6cd35b400b4b1c9c62e76e5703cbc34d9bf51c51134a309f40826de0df7032c45eb8b284b0834c98b5f1d5bd450219ffff0392d8e422ecb7684fc0a26c8435b32b7ac8ddbbaf7fe98e791574fc0a903de0a203d6f67c08eb0c6a50267b76d5462de5a980dd1f3e2f57d19626b502a2ce0c2ef10219ffff03232c4dbea54b335fb249e78d8e339ee85b5b27e73593ebb863e5651b0e7bb755032ca38a9db335d0c2c4ed2548cd13f6c82ab82a3091244015576d92565b9f7cf203aa476c3c11097a9f3b1f966d4de9099ba3f12116d1c3ccd06de020aa1c2bae110329c2bdb46590464736286542b8ebc13d6f0bfa783e014cc0e5ea0f4d87790a4c03a3f3ec44330da199cc9aee219147025a467019432243870c18c5ee3a0a9da9a50391c7829d9771305fbfb77ece2bf188feaeffe9f6f198c7a4517f4636034e19190350e1a621487b30bb20f5e7bd90109c9157056e364528f3d1b16a315ed83ad6b20383dc8af67a6a9fb6f4c8c203391c79253cad71f068f42fde63ac37c162e5014c038081a43121e0d7b60a3152555f57f301c2c5f57656bace9338c310a2e86c78ae03574da74d6a833d7768a0699f1f2da04ef8d8719b3625097d1b78feab812d2f6a03f547d3c32ba3662ae6e98ba4c148ef9796f6086256b59d4536d2e3f3182249cd0352fccf30626acff42e3942ff6c08910f20d6e0c332bf16a59455a3c6f2bba4f40219ffff03257f83834752baa02f3f0cb8a3c127ce5990bb64efe47f5876edfaec654fd5ce036ec5c147d9e3ea880d313758aeaefd7c14bc5cf3a0735744eb03c0b79829338f03b0878c3343b0ea28fabda80e52b8a60185ae44167f2413d43d60def3d092da7f0356b562989d209ee78cef362c80528dd149be50b28f83915d23ce8df6d49a5ebe0219ffff0349ce97e9c2b02020f71de457b4fd73bf80676d90249dde7c38fa347917973cd203154fbe70ddf0efa59c72a9c305741f33914e799eb71984f2590c8d0c9b40625a03cd3c0bbd7b429a7fd430c125504797013a14d24156388a797958bb66eddfa55a039e6aed648d2d6c2ac8bd1eae86119a674e5186f7e5046042d5eecf015f42addc03518c12343b8ce2f24450df0350faee263c805d516ed72cbf2b02d0ac48619312036e729dd98f05ed4b1fa191fb7b6c402fc70538e1868b08d47a5b042d8ec9ddb303cfe7605319cb8c5f88ef238690a169e2edf5b10a4c6727b1324b6b2d3c411eca038838c5e639b37254066a4ce06c6459fba5c21b4020330439b95aef88948cd6250379628250c9072cd159158f8e51d42319612854bdea7608694adb730e09d52fa203ae4a8761d78258107512f30a2038c37858c50c59f07f74a749c8f5a48f100a8303c6b21bad4fb2594c31f5db1d16b8f056089fd1a43bafb6c32018580c2c5f691e039a42a31278925aaab12da31f2fe2e0bfe38fd576e3c3cd12bc48b8d756baadcf031fdfba3891b08eee159846009c73163245e8e6f732ff819e16f612beb3ac7166035ce9ed1903b425c597ba87be016cc317017822098755e8cb8ab07d79b039270803727cae139dce2cdcf0e2d49f929e06ccbfad5ece5241525246e471f015c60a8503f7d2c336ddebd273185925765dab08951b9fd55635b55a8a5c2f75315e0fcdcc032ce120e4ce4c254f358fe3ad34db1b6c566870d8a1dd0cca3a72faa2813c230803b88cd32743aeb99106a87a77fc3b9a821015233292573cde2a4659c02368610803fc92c7bfc1671932a11b81e7c44c059986429415e7f9fcc249dcebb8bc59fa2203d6698ad8ba52a3106b99fb545526633e05ffc5c406f25c040c8b37b3386281f303629c5990bf3764aeb1768b8a1f8b71d1e4720c81f00ae4dcfecfb7b4bff1fd81033b453516a9ba5391419658b076b9b1092f4819ececbff53cec68060254c08b68036adc78301061192388d0ba67258acb37867d27e1c9a664ee93117ebd90e8e09603d5d9983329836384c7deaf218ac2f73894ee0a81a4eb63952cd14425827d7120033da8de781a274bd61312c7586c666e2d1c889276b29deb1dc7969ef35de2365103f0863f63f355d774c34cbb4a245511f79fac3f32ee99a2aa71b2ce440d7016f6038d8a5628e350b5118482dc6b2d351ec67b0a76266094520b7d750ca2eeff938003f0bd82a1cd66dbe912fc4a096ab0c83777201a4d6b9ace21dbce76afccb7ad2505581e03742b224a6edcb0a9f129ed15434b0b7b5408f082172deed7dc98e207b0040405581e03e4ca577fa2ceec4a0e2749e1067e15e86f5663f9e98c8145b75299eb200c05470162271a39f47805581e03b19f14fc0fc0ea8e5f25219a175153b2f664f557172f1784203f51e0f00412030a4c1f9f9eef03f672308acf0a75b362600c8ab4c7fc4658adec29bc3e161a1103d25ede967d060a280ad631b35ff60a7fc955602ac67a8349dfe7bb97e2ad09be03303931f8ef9df9270c30e0ac139957f2641beba9374ab0f098cd92ffad96d5cc039b742f21ee655c278b19615fdd86646d780cb6ee8868d9f74ec47eefdfdfc99205581e039069a7bd827b1274fe127505b670752269dad387fa9dd70f294014367007011bffffffffffffffff05581e0387fa54e0b582e59e4f9e1b6732c83d747ddb4c8034997c058c92da15c00c01470bbbaa940efbbd05581e03634ec721d2f5bbc50cff2667067a75ea2c52ce0b48947f42ce740e19b00847b1a2bc2ec5000005581e0350aa6615051b1f0e68f9dff8f78b938b489f07ffcc35acf0883fd4ad600c0146f87a35f5cdc0031659de68e6a279da28599e113109376d848bf72a54b56d945750294b8c97e773030657e508cc6d404d8cc89513d451fab06b3288013a5753906560d9cbed22571f05581e037ea481148d8073f5fd85415b3199575687070ac2add9de08b0550ba57007011bffffffffffffffff05581d0234b476ab74923dfbb6d9f870185bc95b906637066cbe90ef926995fd0c014711dd178485ea4405581d028e66375e8296cf37782b3f6253b0d09f95d8e941dddb38d66cf4a54a0c1825480abaf0a0561af54c0219480002195fab036214cc2422b5238d998607365f6ba91c81041b1b1594798bbe2c40b88e6065d3038161b27953d99ac839e6dec507d3a54643fc5fdd7d55bb14f66b53ce2be7279503a683dd096527ead19dd5097f3f5f171b3f3e5ae41c38900d2d641ccf0ca5ef3d03d73f1917f1afdc3d6b8c7be40146d3c6b9202e953eb1a7b965c03c8a49a2477403217e20e54f67c98f1b3685e7135ad86cadde7182b87f23c3db1a26445f5fcfeb0300b5e71df20a3fad30060a835062aa03cb56d6a8f37d05020345a548ca34e42103be2841aab895ca6de6f1a8027195a3470d8ca776ab1ea3b2049ac3451a7f4a0d0219ffff03f619dfca387897d0cc58cf42ebff0919a83dbb7792e77f004f0f69a549b3f228034edef06c66a69b4d26433a008c58f6815086323fed87e6d970271d7cbbbc1ce903c36b426ed13b2175a2718139841b8f93d50e4a59f04bc4cc5b83d745bd9aa50403a29d8a0054b4ba9c9dcaf39040bb5e0b75ba65679cbde316722c1719b404db5c03b0822101606180f9b736f72a8b509eb72e6d03de220dd4d8a9ee04c91dff9ea703f110526b7cbff2ab1b18e41d13d77d8340444851bc0e3881dc82cb3542b0ee91036ad4e077c3790da5135c678eac503a4ba998fbdfb3c868bccf5d8d38af5e4a9f03ee9d74c2977e644a27d084e82379a24210e5f25bbd899676a9516b5c805663d603f431f9e9c1b51abfa3ae4297e108efb5a2659a471276403c92bf39ac3f0c877f0219ffff0376345ae39eead2478f982585513e5e1d3ec046667a3ecb7125f021af070634280380ade4c28985b1a4d643f0ad055e38875d78857f0c37d7286010fd9c71b94b1803f93fbb74647c68b924d3646a382287da851a215f2b23384859fbe69ae00d8e53038b629f5765d9bde88284fe11a5d2093a999c3e50121d2a6a14d0c7c639874db20359565e3c218af56fa85b5386ba9d2d82d0bb4612a9be37c4d4dff6ec2eafbfd103f9154e2b7fe7ca97a80ced229c533c2a5557c99a25ff5eaf93603b9558444164031180b35c7bd750a709897a1652b8b3245be6ab2cc56fabc5d8219c24b391f8320361d9250b4872c1050da3945662e41a90a4af1d332b434b89164e005945470c57039882f0851f2f693e63987b84049a8b0feb09fb13cfe9d0548270d8ccb0dc839003986e9c704eac18a88b1a61dd5b2d69a6c1bef7bfedf9a4afb0470471a648329d038e116b8bf6289bce1d0fdc2e153f4257bda89f163e52b39cf11e499b5a2fa9e30346fcf93affeb9a54246f56918c7ec7830f668e1c02d8895be615399f4f1de5c903cf1f9544a9fd15022b6e6fa9c19ce328b05d04c094fcf478ee7c69ad12a8507403c2068113db16d9add34b850a02da9f2f1825b5c0ffe522fdaa4aae533aa761490219ffff03d6e440812ff7521a1cdc4db57d5daa75f7474f7a30d6d523d06bf2716d914013031ffc65b58502f0f29d80e56074e90e194dc3f3466269fa4e85dcd92e4926bb9903da7ed97ce37b93329ecf410f40bc4c42f125be5b51a3bd4e74649854ff1be5310371b29916e622ab02a09862e73312899b7436a21d1b187ef305262cd36951285103db26966e425cceecede9e760a41fe08e2aa19924fe20dbdd8b2c0649a1f2dd75036951be3a029c12811c8cf4a5c435d0ca0cb751fbe98c1ad35d31fff00c41a68303361af053e1aac4677ae269ce65b9762b28a84eb85eeb089ac3bd93c2a089df3803f2b2c8fe553497f6caf0ee03cd1b8e20063c87119bee941f51c724ad59eec2f803921f49412261702f3e24801557774fc1c0de3226e51a2da3b90b56db171a7c140314339afa49561622f3a222ca2060b173d46ca618e0f1ef1f7638b56445c453d703832d72c0852c2b424c737865182109ef00e4e4adc8f4e80789ebef7bf2a9eda403d55279bce2eef5a1ff56c08b8cf79b34d129c2f2b654a48b46de529c46ee3c950219ffff0219ffff0323e9399d30b73eefed7059d98eb2a883d525ab0f400a0b7fedc801117b00cbdb03a8423c0aa3924b34931b35f5153e0f26c2f63549484b78075badc5133173c103039068d569aa9f5b035b9d960999fee29f6174dedddfd9ea528b7f02f545921ee9035dd93f54e96e3319a9b679afedcfb96171cc269301334688fd068f6eb44766970321786df8391fbc0105cae1b1bea6e8d57d7631e87ab87ceacf6cf8ad8818c24c0313465819dea42d0d17ffcf44850c6196412ce9aa17226e149baecf43d0dc86c103b10ac732b3621366730ee74840659b5ec6c067b4543e51fd5d02e9fd4239804503f1d891b68ce222bf8ece9d28aedf2b86412bd5afede74d74d61c62d0f79603c4030b0fed4ecf9edd189f63fb3c58bcf9eaa818b14853e4b41e4a14306eafae9c7b033ee47e9f4db8e86a475bf0e50febfbd9686f58cdcb677f7ec2bfc55f8f80205503eaa17d33a872a4a0262c6227e9b96f1c219c8fb834531b5a9e0f43a7f26aea14032c28915b8bc9af66c7ac778b85ec27d69bd4ee1e52d98f7dec2bac3bb79a6bf503da64b91fd87b3d7a3747ea0bfc4022236d20fba7da1c5f0837a6158d75927c22037c6578681cf86c872ca1eb809b50139d91f642c59eb4b2628297b3cf3c724fa003b18f54015abcefb3ce1f273d5adefcc1482bf9722841544f2f600c7b0b23e1bc03af00583ecf31d24a169f26061d68808fbfb4cd16f170b3444933f0ba58a7cf2a0353806ce8bb7f52271afbe0b1b7a8020655b4239bbe37f7f92e189ef1fdd19ddc03044f14c3e292b6afbab7343c4f4b0c6df56e0a17e5fac6132e7f068e0df93bf303cd822db56b3ccc0172e6eb0b4a8746026937afaff23afb59585fbe61f3df04da0381b633ab987db860eb2400ada1d7ee5ac92d39e37819ed4f50a426df4791d8510303a057b36a5455eeffa44c26dcfaaa4e999db79c12b0db9d20831bcad7c9cd38039852b8665d2a1e54578448c498eacccd15209b3ad8502c5160ae6655a4e4dd3a03f979a240acd281a7d1b3fa8c270ca3e196b307d6ef5d7340e73d6594e9ca79c30365e5952232f1399cd5f18a2a5863994ad529a0781b96eb41910c554ad021b666030fe28cc9031498cfe367d9e4a5337390ddc9815242bcfcad7494e5101443de010391d46d87a15aa9288ca0299d65048b2a752523a5146cc1f10195dced776620b803625b2c5a8f0e05e2123897ece5a951f8a5fe4e8afa822e935d265982cb09958a03855a93f294bd1325d5bf38f68a9bfb9a651f2749cc54b3fdd9bb58e0095d9936032b13b5d4b69480325b9d0358b71d027767816ca0b64354a271b1778bf43f806303fcc90e4ae3d374e2b9311e2ea551c2f610d26d1f3897694d16e81aeff5301edb037f8c9057fc832a2298bd992b22b7f5ef238b46d521751b81de5fb3105dbd58250355f1996e75df98cfb8ab9c4505a49944be23d45c3e4f9e2621285f3debbe96cf032f9a959730ce118a9ca97f8f98ce9d1b5f125dd13a332d3166911a48906f0f7803248cf22050293cd74a31cd77bcbc615fc48780e5127e4db90f561c2fe5ade88c036f5c0728eda9f97cbbc16a6115586eaed85dbcbed48390c4f2c607b1946133e803f930756eab0a581728fcaf851943828e16798fc52107aa6407e16ee43509d2d0034e31bbf7855bacb924329ec5e58c715559ba6aa408702a73ac850a2e9410c7d205581e0312036d9faa424ceab1ca58eb6d82293145300d480bd295e609f9d40000040105581e030d144d1690a0587d192755c76f7226e0c103d0d777191cdb9d68233c200c02477cdd42821dc0d105581e03537c5035b8dc527f66b8c82f050460805b210bf9637652831df5f70f700c01468a4f3539580005581e03565b4df2c5957476d2006aac2d1c5c41e343b98ef339abc02c4098fcd0040a0399c99f1a6d65a9097e0f8ca61683878ed26099e347359f5cdc600bd194dbe908039188efad72c6747c1e7f1e19036c430f6c4291fece213788dcd97857028c1b5e05581e039c512f91e21f13ebca1e24419617e8054943a56245eb3ee3ba050d533007011bffffffffffffffff05581e03058602b1552e19ad96578f935466a24f25fc14b8709982b7e8cc1e09700402031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03f69d4cd590481a229ffea933ae23c87ffd52e58dab86e024a8beb852d007011bffffffffffffffff03ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03fa7069cd405b5b8c7800fff1718aa9a388c02157288dfba2776a26ab1007011bffffffffffffffff03224ac66d1d1839d1b253d6323595fe5dedb6dc1cee7e965d8d5a6e0ecc207fcf045904cd6080604052600436106100225760003560e01c8063972fdd261461013e57610029565b3661002957005b6000610075600080368080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505063ffffffff610174169050565b90506000610082826101c0565b905073ffffffffffffffffffffffffffffffffffffffff81166100b0576100b06100ab83610219565b6102c4565b600060608273ffffffffffffffffffffffffffffffffffffffff166000366040516100dc9291906103ee565b600060405180830381855af49150503d8060008114610117576040519150601f19603f3d011682016040523d82523d6000602084013e61011c565b606091505b50915091508161012f5761012f816102c4565b610138816102cc565b50505050005b34801561014a57600080fd5b5061015e6101593660046103a7565b6101c0565b60405161016b9190610427565b60405180910390f35b60008160040183511015610195576101956100ab6003855185600401610302565b5001602001517fffffffff000000000000000000000000000000000000000000000000000000001690565b60006101ca6102d4565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216600090815260209290925250604090205473ffffffffffffffffffffffffffffffffffffffff1690565b6060604051610227906103fe565b6040518091039020826040516024016102409190610448565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b805160208201f35b6000806102e160006102e7565b92915050565b600060808260048111156102f757fe5b600101901b92915050565b6060632800659560e01b84848460405160240161032193929190610475565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009093169290921790915290509392505050565b6000602082840312156103b8578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146103e7578182fd5b9392505050565b6000828483379101908152919050565b7f4e6f74496d706c656d656e7465644572726f72286279746573342900000000008152601b0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b606081016008851061048357fe5b93815260208101929092526040909101529056fea2646970667358221220266f45dcc0f640b86b617d19d2affc31f4b5547fd56bc2761d8eddc74675491564736f6c6343000608003303b0ce7aa66408c3e7c3cb5ad2b76775e06bec75a1b6d5386510071db70eb0437a036a3f3d9ba908faf011efee911b9495d4403d775e868f6e4b4b5348c7d5c0d06e03fea5236bcdfdfc14af4f01ca11cc002f5651d11990cde1c39f2587c0dfa06f4703e7d7d230b79241501de03646b5a613ea9c978ad5840e616ccb707a3950c4de0d03764aad7aca29b0b2b32170434f282b68bb95f1f16d44c395bf689604cef9360f033fade95b5922dcfca63297218058b9c75281c0b11e471fb585b9cf5364810914034e581e3ae3e2a0586ae6aef7ea845857b7dd6847d7275063b1a9c7aac271cd2003fb9a67888c547e81c8337bac148c4a1271d5648f5e168e281a3ee0e8ccca2a21033e4751e3a41b77ddfa5a1d15fd330853739815e3ebd264af468b8c628121236203fe1a116115b375e9c9f8b2afe20a07290d8946cf6366b22a7c159304c2fdbead0340a140437e792074fc9e1cb7e999def3022b9573c545c106d7198c74dacc6998034d3593c3d462a09128e25203f283583e0325860b6cbdf6a51ad8dc956ad833dc0377ce61b0981afdc148ecd4e2d070bee088cfbae1dd2af355e003e92b7cb9ef4e037710344a6afba5117bca6533ce620550625bc0796ea7190fb6860f59746aa41503d34eb08b660b2bd524ce8d3ab784790d90ab0a918335098becb59fb3ff9f025e00581f03ef48a3fb52a11df1c03ea5c7051fb734ebebb68fcdd31deca84afb9a658044651d86930370dba42a7fe66539f010324b2f313a19edf4cd799d08ef9b6ebf4a41bdbd948700581f037bf2db81923b8f5b02dd0daf5927e9d9080e51874aa01594f6f09c31181044650f01270323ca7cf3546296a9ab2571400d830b382f7c1b60b409b70817f04d0f9896786500581f0311ae6b56fd6e9b2f627611bb223f25a2b60883eab900f7d0086ef7b9a410478000000000000000581f034db5135beadada975c08ba9087c860849f9385f41ef363afceccdafb77804904d9cc0dcc16ae42d00394fa14a6e5c3e25d76597089442f9a56955b9a4a0099041eb5e9a82821147fc600581f03e9e3f2883729911d62e713a21e677a2e3735a59e24490a5eb3f7a73229804464d8b8bf00581f033a817c3e25e3a65a760c8a4281bc1be71818c9b025564ef05408cc3d7ca0450129bbcfa503469612a97156b3c3a9e00fb050f1f2a9598f8abfb1bb1098c5863f5c9f6c5dac00581f032e3768645bad16ed4f9c612df5f874db229ec7803c44b347d6791306cd904915af1d78b58c40000000581f0370f9d7c131062107c4f9a83b02773a52294fd54e2b7eac591579cb9adbe04803da0e412568e000037e8f9280a145199c0b08889b13de9ff893850de6667ed0fe4401c3c5f7ee8ab900581f0306208e5be2d375302728d7c1b7b0b07da01ef1c8c7bae4ded935b76fe770540e992c001e375785846eeb9cd69411b53f30f24b0219febf0309501aa967736a5c0b37887b0ca835b7d9be92538669ae6caf195dace5a893a9033d6086c99427fe19e85de8782c3723f97b7d5f6f5712a3055f5dc2d2bcd7c1e8039be4ec0b15f32f121f6b347e0730ab0ab1aadba74e246f9450ca9daf24499d3803ebdc2a749844963f78344065362320f763efa87cbfcff0c5a5ffa647bd7647f30315092680895a68050316717f2fa31af0feb15b385321a6df73ffc25e166edf7203ef587a81463cc6ad7befa70bae1a566ac5833f5282cb71b8e5a0d5fcd4189c5603a53956cafec2d4c319c7a30c5a55b30f7e0013c7d39cbf3a85808575d2720f3503da52aed619e5934bc3ea0c6ca4fcbfef2f2af2830355c348da5059fad4024eda035326791fb2c6a73c6423dc5960dfb8e168c8f6fef2b8c805c44ae912ac98f5cc03fa236c4645da7d2747ce04befa6986d171dde3afa9e3e9d470da986218907b240219ffff03935b913becd96efcdb38b965666c2f507106373f5b2fbb4d8f7d477957f6b8da0337d0f8bd289ac087fa9f78ba720886b8217879fcbc60223f151ead6203f4585d036940e73578730a5078b3c98db6c9a6b316f5596ad7f9d398b3ef458b234f2acf03a2fedab75a7d89211c801a559c98044113e493eb11bc60dd286e5ddf5a6eab2203bff6bf01af5b424ca85f58424fa607212a10c82455f79079f3f0dfd1074fa3de03e2a67fc965767aee64d5496d389c3bc5f6398e609cec95bca7078ef9b8958c3903b9aaaf64b71b370a82b79174d57bb0aa4c8076a9c5619e23c25933f06fbdeee803fb04c5b408521c5c5e2ca0376b7d6974058bde92eb13f60c0676a263f553b87c0338fb7e5e12ded506211f8c670e4c1b52476051ba1a9a33a03bc9de8ab921c53f03b08ce4a6d966ab2f78fa16791aaad71cfbac083ac853fa572fcb227a001f8aab0219ffff036691c7380cd6b4c48eb70c9a20f73dc82e8a116f5368173145f6984b870b9f3403639ccab01467513cf5ac3bd0e7568b6869d4be6516fa97b47c244f802e914332037bb429e3b830c49c9ec71284eb611ca557d16cfdf2f0b8a1f435842163c268790308c62167dac8e1d6a35d4fce8b31a2860f32f40ef94ced1a48d6b9d171ee415e03250301ae6a8055b15b5513e3222a78a64c3adf5b45273c96f7adf0a3ed6eb24103968c38445fe34521242de5c0beaa6226780a4a06c4ec681af4f541580a969310031ac86c0f0d51abe16d33b74bdf374247c70dbb30eaf329f7e1652a6eaa5adbcb03ef4f5bbdd303df6a8ae454912eca5b8bf0cd48a8164861c0a46934cb2c21976d03a686bd137bcf4fdd06b47b9855d2dd7563dab07c154e35fa5648d1b621bcc4cb03f90b13a07201d96a03850a1d9b0d0e261cdba9a8689d6c0b6cc7c54cdab68fc103ed976c5386acbe7ff4ce6b7fbf98f35718c698aebab41bf2ecae23e7d05c45dd0219ffff0382ffe01ff71d2f482d053c3b4a04328e398f13ac820250a050529c079de34cf40325e587640dcbe55ee70a48e35d923b19890b7f770f5869474032981159fefa600375cd4b16bf931ef16a9eeb86b1cf0c187ec70d4d6df990d234d62dde7497aba603746e02d9144955ff6031c708770c4ca0ac5a227345154a47c083aac1fe4df26a0314d111b847141a125fe83ee3c2c4683a6ce355fad8a6b736b9a0139910b6b20203ca4b784c21ec8ea78d95c07e063165aab1827c385003575330458c930835ffc8032fee87bb5bef0335bd9673be6a30c090c7809ddff527b63bf52b13bd7df762bf034bf125a75ce551e89859c492021d8bb0fc21acf3a0e71658cb63707e92cc48aa03e0b4af1c012469191b6e4527ed435ff166dcf0a18188a797a0a573cc6adf55a3036d4b9d07fe6e1faeba3f963553cc5f3edfce90b8f1d44671a3077c88c3fe47be030078ab74644281326df8fbfb042134616ba46b2bd415eea8050dffbed288eda203302cd5879977d39371dbaf9b63c1134d4ed847e98bd3253b509cd4254d0500ae03838de2ae1baf946091f7178d4dd5c229c299e3fb4a518716394a5e00b7e225b9033e91f0a7357fa3b16ce59e13851da289f6f957a1aac19092cc2dea3e9ce282bc0343ef56c10b89611752452c9d0e6eb47e22259faed6dfe85f0f80d0fa80be7ae6034174cca3fb7056b58a09531db1e2eaf8078cef843dc1d906e2e119386114f08f0383e6c2c18f3788b74b7ce38a011127b0205015db2d8f4932b55a91c0245e082e0307038aad54071664dcf1905d50ec04e0f39c249e6063ae950c8332afdcd35616037d75f916da953425db4f36a311c9fe999cd29474de591edcd692876287d59bb20392666def05af80478a07277c32eb9b0528c0ee847e189fd65b3f068a4921faee0359a6b7facee3e4fb70ddbccc1ce142d6171fe55ae4cbf204419869eb964c7d84031a62c74fd653731a52f9e927033b5379d36877033d98fcc9d52d927ab3c717db0355b3559bd8a26f1d5c51e17894b3883c2590dbff4b4530a6511309b9a11486fe03633b4fe4206fd81e661cf112844e48856de446033e8144b23368abe9a7946aa2032529c989a41cbbeceba4847c601bc84d6ca0cab9910fcfd684c88ec21bd125ed039463ce90a8f70cbdabc4e3ec1a4d38a3f209aec2d3b6525e79fcccf40b93f31a035d3dab3bbdb4a5884db37c747cdf27d15110a542d50db8933e73883600eca22203c995099d916a943b6e190ca082d50ddf6aac3494af7a1e454d5732a6f9f79b0203eb88687f58295ac3ca65828c179424443dc8737398a283e3bf251af101f699f00388fc8f3ed60085dd651eebac041347788bd91e8d694184d1dc3797dd7145be4d03c04cf7fe8a0382d34a5ed517e8567177c7597dc3dc129c33e7a32a6afb78977f03ccbef0ff94b8039c1ef95f5a779c52c65545b98cd5aea65e082d702a368647a903ceeee71c9636aed7ea0eae407563d4ac6a0aae332442fb2353edf0d4f9519fbf03d1dbb275ba6cb7847f0b2623b1435a35eac5b75d28f00a58a7c42dff523a7acc03121bdf8dfcc2d5ba70cf575785f5f72cb8324fd06919510c2ae257b377f1d0ed03e151c21d3d092120380d3353dee89e9e2c93e29b781b554c74363de9e7c656e6038f67d49ee74e465e309e3bfd6da15543b1f2aee598077604d9ec8af38cc8fc0b03e94d98f37b2095a469af358578365f0a56b997bb7303dd0e42cba247f59ffa6703d396137cd4d892ce8dac00d33e02c6cca3e65eb5f573b710cb4b54b0d1558db303ec9cf0df3dfe42a5de0a4357709ffed25311ed0e010281ce1bbfb8403c5e3f3f00581f0354be5236b9fac774814b48ede6d10fdeeba4bf92e0505d2af4541d57f7f0482447c78effe6720000581f0371681d4b4dc0b85ad0d65eb3f72ca54ee9cd025fb17670ea469877cf9540488ac7230489e8000003081cd9eaad2e17f42b9093bfbee07362be69a76a0e9074ffb6664f51a5935f8300581f03585f6099e8d1fd8b63b2f60c29aee197ab900e201f27ca4cf063bd99bd904464310c2f0371a230fcaa184372107e8c14b23b8b0c2afa378c33c1b072a00a90d88eed7cb0033bf5e5f8f27c256c19e6697ee09f9907b709816eb2112cc087570e5936f1802c00581f032ed27c54b87de968e370534783582e249679e93fa7ad68b3f79be12ed3e045694fb3456d00581e028618dae0befd3457f6aaba9e53df1861ec7833ae7ef9409e2468a303d3540e992c001e375785846eeb9cd69411b53f30f24b00581e02fcccb0219c51184bae6d7605cbced62226204abce5fd1e67807f7efcc848c39a3a66a988664c021908400347840a15429732620a2f50feed7b6a75c929594cd0a9a4336fd7526867cd311f02197cee034b15000bfb3753651013aad17ecf138ce71112c9ad8dacd3d69155edde5d225803f9a574498ed90510981724e50853a5fc8a27a81847abfdfad66db1e1899d4e0b03e7d6daf5644fab0c80b70d1b168699e391884ac64cd03c918b9bc95bbd15eb8d03abd9c5830e69719bfdf089af61be70241a4cac54a4587bd2955896185c59fc7703253aeb97303f761c6d5e6baa695bc7766d65f457604ee6a69ea0f6595a1e05070352a7bfc93ce4ddff689b6cf7a84f06a6612bfcadaa04dcb80d22807c28d2b46503934f7bc4fc38980c98259b6afd7263bc8ff3de945fe148069ffbcf83ccfc0762039b3f9cf6bab7ff6af7c282f7fb39e8f81473a8a8dc5ad86ff9bf794ce085bf870219ffff03b2e89a7983e51892267dc0706b4d8bc50a7427b3405f202b01058fd4d6a71a3e032d8b1450309f2dd2ead1d92d5ad3dff017023cd948ba9e1013b943d4994bd908035a1976fe882aa4438566a528be1e4c5f11a0e2a73efcc9623d1bea6a317e2dfe0219ffff03acee623287562deb59489922493adbb5917b5fbc6027bc84bb55f43df7f0eabb03e6ace9270deb37b6338a2a011dc674b37b27c4736a3906b5c943cc9f5be15e870302b795b684a11dfe1eb4a375e4241e1d990580a0f8397113f177543a60251f1f03feda25294423f4db79e8ce8e274770649eb2cf89186aae275c29d0f93da76f870219ffff0355ff479beb067a17a188b8e1e95c680cba012f02e60a063fdb994e62345f63a203cca27c0a3508a98f0b3174b6de7faf401a8e76b7cb5cee9e9d9769dd3fe7104803b123fbefd07f62885e9b6355251e12a3480f77591c29db11e8c846babbf1a10a03a219dc14973ac784cbd20251fa31e2ecf432d905ce4c6b0860b9f5ff9290e3be037063292cbc30c2367c78c56f27ff163569fcbb0acb3c803f573cd988f61dea510219ffff05581e0376206f0ba778b536f8b5c5571b9cf6ee4279b8082d1545b9c5dc0b90700f044804d2f05f318bb64c1904cd0219f23e030356fb2ec062e1cac458b921fbccbb3f4d3e48c2378b52e2e7ad0bb69b841d93039db634b3587d75d5bcedd67164e02fb80e249876ee8ccb7d819da510daa8800d03dbbd8a3f5b6df75b02b6cfa04c5f3244530dfc6108c90878f96cf44d6b3d133303fb497226c81384cb04f0cec78c93195a3cda400a7fefb13d310fbcfee70e2989036ed959e1743ae41cc34259baae5586176885e7eedf1452848f99b8f3b2fb52e903f33c1db47d18c2ab2e22b62c88f06c74359cf0a56ca85f0ed7103ba68be169da035900fb625ae3519ac78bd5a805103fe7b33e5537e0fb38d1683425cd4343a1a603584688d03e2cfa0fb39b152f4f085d1db6c95a8ecf981c3750e1127330aa0996035e46e1a0c95d09e927c89cbf8f2489a2c6dcb777b20101704498ff1b0f70fe6f03aedb26cca64ee7b46ec7072a40ecd4947cc1d0bd92e66d90132c00a3dc5f6280036a0e3bbbf243120a51a4e87edc44dce0840fb7b6c272229677afe82b6f407b8b03409d731e3a813ab450dbb4cd3850c51edd88b2e4eb46028f46b597b4aec15a0b0388cbd79e3594bbdef0a0b565d3b67c7f3e6bddf6f55c325d1f409e3ae535b1020219ffff0353ac907a52ca6c934573ee1a5179fb1cb6220924f8949d3717dda710b231eddd032050a42120acda39c75a857eae5651522f6ede8b78ddebc63fadd2c32ac06ca9036eb058f6f920d9f4874b30ad114b3be2de4dfc24913f2fc5c04cf8942fc8335c03e997ed41248d3d0de834819f6ebf42fc5bfa3dbeb9ed9675ea3fa6d0366e4cf40219ffff036ad4a1b0a179bfde73a46b859902c41f8c3506f2a6ec6c9155649b0cde9afb0603a564bd6f99d5026abd352578955062d995caa6e17d2e47b5e901bb685b9c03f303d66d49257915128eea087bda816dad21b6a61e4cc02ccb41c94f4833319fb38b03c5920674fcd25a5f40660771ed3af1e3ae4a28e72cee0349c066b746abd0495d0333e02285b0a8892e1293f692f145153fd14403540a655428cdc960f9c45913f1038567acaef04ab488fc6b5b3c50758b3b4670b11541b31cc1899807d3ac203fe203476e59c93870ce4c4d81602fb7439cedcedd1ab457ca62a20a86b18ca0bb12740219ffff0219ffff039e11e0b2e60bfa240fbc4ce5ea38a02668cd86f2d95d59f355a9225f52b99fd403fc563fb961a4fa575a897d9f4782cea4aa3bbaa736c014846a0bb11a4c5fe7e303132b0f35cc84603c40392e2fc0cc386c9dd21e9b717edfa1e7233d07c3dd4789037e0555ef45379f0651b5487f7c8ec7339ddd94265bc4674e2165045383d2e84d03e4bb075ab8fdc0ded8002d558addeddfe14edaece1f6d9c0ca715724af1dbd0c030a8950f99b532a8e26ad2601e12d70cbbf37f09579a05e361ab7417432537bb603d41651365e44d8fa6051a9179bb9c72785d20b7cfe477d492f941119906c5a0e036aa2f522e1d31c6db622aa08cccc87d69268ed80f745cfb15e8ffee818f17a9c03167168664087740699af7559845849ac5d2c37e46993b1cfb89030abd5c5678e03ead67f4b130256083a1b83fdd04133ad9587aefc5bfeabba82279eeac7e267c40337f2b0d48efffa5ee07805b36ae00f303d7d733b689d94b57ebf5a549731289f03fe25d52c1c69a9921a8fb733268eed66ee4c117e6456906d450b8bf45e6a1e420366dcbaaaf02e05ddce1c2bfff2013b6a93766c8f21102573d938981dd158d8ee03360d70a8c2f3d19eb886827a94e14d2e0fb61f923c2ad48070c06658b615565403e2b6989696eca188b2c8d6864ad190ba03e031aa0533cfacd4b18cc78901f98803993741b583d063de0b616b9c920d773762cd0687a6522cd375665e06a29aa2a9037e72d0b2925079fee15d1123a14d11d701e0fd67b8c50cbef908b48c2959f2db039eb03468ad91edee4e9045d619225f0e1c5c0f4728c08c7f27baa3b545fc292703c86848378e6702f77fbff2c72f86ce7afd0d7fe1b36aa537374815fdc91bf9d103a54f7e603147f631c9fda221af8c6dccb7e779426106355aae344f823241f99e0387e56545f25e0108be617fc86753a719d67c22c067dbd73005aae352ca8807c0030bcc49a91a110ba428956d1d628fa767f5a2b651d8e7249ec5fe339e3181ab0c036d790bf3be4f64e13ff88dda3134975b7980278851590d32457f7b89fcb23668035b27d8065caf2542fafaacd95073cbdf2e6214d322efd71033c6342ba61f4bfa0380508373e59f16e54d9ecd555e14bb44bb73609243e83971aabe5991c494416303c76bca48687403bca79381d53238adcac50af92fe15112cf6844ecf70e95d575037ffeb11d9cbda1b66d2af1aab1afa8bc5e5ddc0044148ee0b44421bc4ba4bd4e03e26989cf74bd4873d24eced20cce94e0308e045694eeceb26de3d4043016d49503b9b2b2c21021fb7e0b634ab25e2e3b83275c74d2384c642920d3110d21ff094c03782e6d908f1b076c71019bdd818bf8b1bc122e2a110e3943e9b03bb3aaadc480039b546ac1aee65f52f3d153127b17e99960b5a23394478abaf78fa154d0fe4aba03ddfe845d47c377e9cfa9e2187c698f76a802161bb3f42cfbf8ed0febb4a6f956035774f1fc435893c448d5fe018c80ae6996377929bacbc50b1d23fc33e12c235e03d8b3e513eaa136ab7feadb9a153995b0f421a0a364a0f416feb6402f5856217203a812aa0a90d8dbe124172185f9c305a0f9fe5b067001cbbac74d62a194e93dbd030466bb6434638e3601c4840f4b7373ced2a22b6bade1a68706ace14a4afd1f2d0380b155e133453b70b4ab6d42a9c094f56ff4ab9040b2204b7bbeb8e69a78adb5039afc1e6b6080903add242c438e61ab2c7894c20ca514c6c482e17e8042c4a05003844fea85154023e42effbb9fa5305924efd745b47a5447bbbe88785b92f847840386645c304aff70b12c503395ea59f87ccab97a025073028e6ba658790ae87aa603d08b1ef6a8a1592d093bd336d381f626a2adc8e88c49e72a87a05fc4191185bc03f02fda2c46476f7c34bad85b77afcb7309c0c33445ce9acf1ed3f2bfde892bb403e300efdf76b150c1ed4fb63faff11276dd99de69de5c346909a4449d8f4326f703ec52bcb262b565d0dcf6fe93f3e4a8301056fa69690c9f40a4c89f2cde2bcf710375e776360f21abbee70d76d3428d96feeaf626f99fce98b5a55f3dd32120e43c032dff75f85c7eabfd7160762a43e6dfa465e31f1b2f9edef25e775e472a5c2a5f033025352304dd923ba987ee6116c11a63e6a0f183bf0fe058f4f9b241f425cc1103cd15b9a0da894f89fe6724f75d2c9bd8dadcfe907c06182982af2ba68e1d809003f99366ec7c32fa666d98664d415069ba3e7885eb942619859ba4609c72e774a10388097f0f375a04b44f762080f0e88e346e6b031772500247286cdbd63e1b4fc603d81597f66d4bfa4898bce568ff07b7b8fbfb766e2d8e4b0d33464d79c779e6410357b167d35071fa4302eb90e112aeaedf2831affcaf58bf9e70f1847da8e1e9ab045908b360806040523661001357610011610017565b005b6100115b61001f6101b7565b6001600160a01b0316336001600160a01b0316141561016f5760606001600160e01b031960003516631b2ce7f360e11b8114156100655761005e6101ea565b9150610167565b6001600160e01b0319811663278f794360e11b14156100865761005e610241565b6001600160e01b031981166308f2839760e41b14156100a75761005e610287565b6001600160e01b031981166303e1469160e61b14156100c85761005e6102b8565b6001600160e01b03198116635c60da1b60e01b14156100e95761005e6102f8565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a4015b60405180910390fd5b815160208301f35b61017761030c565b565b606061019e83836040518060600160405280602781526020016108576027913961031c565b9392505050565b90565b6001600160a01b03163b151590565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b546001600160a01b0316919050565b60606101f4610394565b600061020336600481846106a2565b81019061021091906106e8565b905061022d8160405180602001604052806000815250600061039f565b505060408051602081019091526000815290565b606060008061025336600481846106a2565b8101906102609190610719565b915091506102708282600161039f565b604051806020016040528060008152509250505090565b6060610291610394565b60006102a036600481846106a2565b8101906102ad91906106e8565b905061022d816103cb565b60606102c2610394565b60006102cc6101b7565b604080516001600160a01b03831660208201529192500160405160208183030381529060405291505090565b6060610302610394565b60006102cc610422565b610177610317610422565b610431565b6060600080856001600160a01b0316856040516103399190610807565b600060405180830381855af49150503d8060008114610374576040519150601f19603f3d011682016040523d82523d6000602084013e610379565b606091505b509150915061038a86838387610455565b9695505050505050565b341561017757600080fd5b6103a8836104d3565b6000825111806103b55750805b156103c6576103c48383610179565b505b505050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103f46101b7565b604080516001600160a01b03928316815291841660208301520160405180910390a161041f81610513565b50565b600061042c6105bc565b905090565b3660008037600080366000845af43d6000803e808015610450573d6000f35b3d6000fd5b606083156104c15782516104ba576001600160a01b0385163b6104ba5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161015e565b50816104cb565b6104cb83836105e4565b949350505050565b6104dc8161060e565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6001600160a01b0381166105785760405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b606482015260840161015e565b807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035b80546001600160a01b0319166001600160a01b039290921691909117905550565b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc6101db565b8151156105f45781518083602001fd5b8060405162461bcd60e51b815260040161015e9190610823565b6001600160a01b0381163b61067b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161015e565b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc61059b565b600080858511156106b257600080fd5b838611156106bf57600080fd5b5050820193919092039150565b80356001600160a01b03811681146106e357600080fd5b919050565b6000602082840312156106fa57600080fd5b61019e826106cc565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561072c57600080fd5b610735836106cc565b9150602083013567ffffffffffffffff8082111561075257600080fd5b818501915085601f83011261076657600080fd5b81358181111561077857610778610703565b604051601f8201601f19908116603f011681019083821181831017156107a0576107a0610703565b816040528281528860208487010111156107b957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b60005b838110156107f65781810151838201526020016107de565b838111156103c45750506000910152565b600082516108198184602087016107db565b9190910192915050565b60208152600082518060208401526108428160408501602087016107db565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122012bb4f564f73959a03513dc74fc3c6e40e8386e6f02c16b78d6db00ce0aa16af64736f6c634300080900330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305437aab97476ba8dc785476611006fd5dda4eed66b005821032df0bdf5a5f92d8037cf11e50f13d8017aefc99d20a73c826416df79570d4810546e38d4999fdb6fac24973e508cde9397e369c5af005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d054bcd3a47e4d0000cf170e25d1bd3d53f7c08be0a60058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6049011d6c8fba323ca0250058210328a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c604101021948a405581d02beea506e63d9311b0eb23c6ed86e7ddc2248d7bbe9d3d02bc17219010f0149011d6c8fba323ca0261908b305581d022f5dce6d993107338134f4048a0ef5d2430bef1a1a61f0a9ab5c5fa60c01450572bfaa000219a0000334160b2b3414a1b448458100361c64bdccf5936cc939e8b2d592200ed19105df03da3cc90ef62d3ad9e255dff552fa7525c31d06eb64d5df5045e56a7bcd3538fe05581e037013a88a4a324f330a934552003c0ea9bf3bbae161c26003b4f849c0800c024701383b84a9a17005581e038a68ca0de222757ad180dfe2910996104dbdf45e510d8b7f8ce0c729700c01470cc8aa441de58003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0334748c9b864c1a7503fc03dd1016d10f8275d447ebcd45d257d242560007011bffffffffffffffff05581e0349a7d5dc763a3e1a8fff885943cd752edfd2814de2560f113870c7f4400c03480c2d8c1449f7162e02191ce403f1f0fc1c77adf0e1cb5abf0749989e5eb140c12723125ae612d53b5e650713530219ffff03ee5a53f74f94eed211b1550315db61e61ec4bbcbf88d691d9ba75d007b0415540219ffff0326d411259dd7a816b3e4416eccc5f9f3f8797f60e9181cb62c60f59668bb20890323172268bd2a09f78c3552b2e5469c6b05c29a7d95b51d92028cc3bbaab691340219ffff03872087c58f60307b4963d61f7279828d9659dd62ba57be08be4367c53f688e5f0342bd50705846793c09d7e345dbc01747561e7615b92d9b5568466d332d9cb72d036746d7523176057df9ab50e4124f7f615d7d18f3773c220e5a3269d2b3a9528003e9c64ed05da18c3ebb4debb8492489dcf5a681431a2901138f51a6bf6346994b034ebd4a376a2edb82cc2ddad312403e5665f5d2af52367cb74512252b2605f2dd0219ffff03a6839ce079f60fe5a0bd5ee110ebdc668f09e876aed102b15594c44975775c5503e086e477c41fadfe88bf76baf2d04aad8f1ee57ac9e0b5ded35062eeed59fa150307a6af432a815dfc18260a96302efda221a50d09284c6bc818d5b164da9919bb0382257a760af0178efb22ff1983af08c955bf92062ef7dec5d694d64b657a4824034f06e32cbc687a439d9a12eff4a36118fd188bfc7901f79c7f7b98f0287e603b0317f36a9ac825f2fc8a2645631bb1beb8516c0f0e7cfbaa06010b5c7a151eb1ed03d48abe54fa6f199c420e4917ab4c765d23eb852e22d547fd55c37f01a03546410398aa75631e6b1fc7e191c7aa3619ad11b8267b977d2cf4e894f3a69d109c9cb403a185050c2dc07f8446343fd835edba8ff120b78c513555065d08a8c396089efa03c4a450ff4fe0b60bc2f915baac2d659226e8a53c97994a59fcbb80a0084d4651032d17c5617f0ad9fc4ec576c97fa75b32b239ccc37b2d8b4cd22a90704b2590280312e5da494b0bddf2f9118e2b35474df3c516dcbbf861c95f8500c817afa1b4b9039530abcde320a8d9b39fb7d51e409f4304d8060a4899be848378f735aa90b58303fb5d50a431f418aaa71dd484241df04246e654f0e67748321b19ae6c78ec327303f543828ef2845f2c8cf51ae72a1dd5fc2faf6263bcf28ddae421b63805feac21034ead60a6ac6264a2d238cddee2e5f1e90cb3e2ba7689d3a75b50ce80830e079203678a94c99d74e1ae18662084e14b8893f74db93efd64fc26ff0e966ebcde173403e192c69a516ba6c70068c90d97ed4c2033e55a3a2586c8adb19df29afa2277d503a51b07521882854afa78ee6e331b5d517644356fe8b7234873c1bd8a3b87d64603b69d810acfa81e692d1be7318ecce80bd30cf020b36925fbc2e7de498d64cd2e03eb75b2d973cf7d6f68e3e94ea6a1da16136ee04fd939beeb25970523fee36129036c8b0f5ae48859f90edff010e930899f9b9c69e2831edb176f9606f1a5ee7b7f03153c9b0963e63277b37ad32e7292dd70fe80d17355d5072f7c3743583570c86403108c18059693942247bd69adb0df426f8d4da285a2a65ae8aafe230335f49a1503c18819da1e1030a0a57e3e6a8e1c7ab1ea6d1dd9e5a84ab1800695f8041485c4037071502c6556c483a799c2a51ce6ec3844e25bf7eea6546cba9529806b4b19ab0373cdcc78853cf441d75a71aac0cd2c192cdb7b60969e74f21dc3b6c93ab32da0038cf2110a8ad3c555e4f0a8f10d16cbf380090ace829f5b86783f7210c7f13b2303c6788ad3233c4c8f782a2b38f8853c6f6162cef4f67e5e7f2dbbad9add5cb74805581e03399bd41150c10abeaf754ac321869d467391ef5decd21b75fff4219e700c0147012e2dd507d14003ff0957529f4b0b7086551af1d2f543907f305a6618b6d43e042f333e0ce4648e05581e035cd68627a90d1ca3dc18b99862721b2278fa98386e6d523036ea949ac00848046ad03e9b97ae0003ea8e8bd08804ae9b32373abc45eb59d48a256f042146a09f2538a2d3034eecb601410a039d09a5a782766c68adf3c29606454c5274e07e05c4f40bf0c376258caac4537f039fc58d92eb043d53f3c41dc5169b576520a8aca309d69101b339122a14be7c0d0368d9ef9c32c6355d5ce1cb3803f4f20debc1aacb6619685de20bfe9763730eda03907c071fd61daba3703da934f69afbbd97123740e1068cd951252cf29a291651035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503e2a8b47e80f9bfd9d571a0cabe7497fbfba8e0ca15a24d21f33b9ab0c56b993105581e03916c2ed2b6d5339fb36af92813895bba1355bbeab9ee10542daea391c007011bffffffffffffffff05581e03206138f42a11cde77dd412a77b978ad37f6b4f570aec86e0a1c790a2b0040103117189cf78bcaf818810f233e4ae673fcd70f45794330df8e3bb714cc316772c0219dd7903f54c9cbb3080ff1e2bcaef7ab712448d665da3956026df1d171dfe8bfffe0b0503ac2cd5329fbd1e6fd22680a56158b22fc584751834b48f69bdc0836599c0aded0366979e47a7fe99007395a35155f9603a06296f7e6aa6951a2220751dee62515203dc8883551a971349f5fd8cb22867c6743eee07a1f77d57b0f9d907bf1b879ede039fd8eeacf6465b4d38ca65a9379dbe44b2d293f00cc09a33d8e1283f7637af5303210b5c315bd98a298830bae4b2e60431d30619b36227a1183655980059acc58f038cf582082fb608aabf9d2bca983532883fd7e3eee95529fbee0d1a758eb2c4ec0219ffff0342bf1e11d8795edf35957bbd2d61a7277b438beb12af11648267c35ba3ff374703f5bb67db6cda6a25812358b5f708e4dca91f7f8462eb0be9601ffcae8948177203e93fd382cc1bf408ed0706845b918c5720cb36c7c7941123e2b7bdb3d758f89b03f9400af720ef1840945af5b36d0e4f3af5766ee8d0f4aaf8fecbd418fa7eec39033fd6a57415a27e5b7c4bf731daf7286537ba5639a9567d88c478c0b137cd7262030456ab8efb69183cbdb8c63c71cd129614e9daadf2e7b9b8a0c4101e8e9c453003e018d814d055c7330e3ab9b3359d7db7734449adf4c178d26028e75a0c1ac45603fd167e2b0bdf5f0c30d3529fb3e926c1d267e84fc9685901f51a90ab331466bb03b1242b71b64b3bcddd4d3c1786d54af1b260ac4f7c2066f6fcdef568365ac7ef0357e5b239bcc5ad5717ffd615c344856b3d6c9dd74f704e1e7856c0e0585bfdf303cde81b38ca1a223ec508f1f226792e3f12ac056747bf684a5d603e01cfb2d2380219ffff0364defbb9a6fbc924bd567cf3387a6e25d055042845772fa3ab529b3a9a5828000301f3e8092a01718f3cd47c56de74d8b98559038dea01eedda183185be80d86d003aab320ecf5d16d33bca1122f35f9e17316adb65c2baf57353709bd78c03a25d103270c40a28a22bec1ad8f14c07a11f95a91a16458c14557c276413c96afe8497603bdeb8754d7f1164e87019989ed477d7bb1395164675e64500e47837dd1b31747031f49eb284cc882e095eb09dbf642eb60badbf48a2f372ef44fb15153cdf521210387fa81eb2dda109118258ac34d94ace4af4b2dabfb2d41ae4b6a35ed8071da09030d2f75caaaf51b3959469327ffe70edceab2d58e08207a099eece96e1f869c2c03842ab4cfaa843db0bca6aad8d175f3f2eef317e140898c42b1a1c9fd550991b80384623c79273883912ad178f5da4bf9f91dd07b4290b9352de96e0bc13a2bae4c03a57b5dc0dfb8e51d48353a5d2087a71218013b0ffc8c6e3e3edef4601154ee7e032ed3744231ce450bc20761a6a8130d754e72fc14184506042f02b4f78bcf00bd03077a347e4b1dccc359665872fcc3ad60cf7e3f23084cdea50e603cf38fc257c803503811ba352666fcecc55fdd0d3ccc2b75d7e4bb8e1d4b9bd7d772627800fc930219ffff0219ffff03108ffd2a8772789b9ad3335cdc989a073af4088847ecd9f1514520655118ea17032ec3966d3cdefccd3e2ee6e41d833259f813b7ef7475232c6597eae911de2f6e03aae95c40c66c1d5a14f791e81cd7a17534fd3b14c0b570a7bda842fb0e93b30d0363ee859bbd97767a30a408024f7d5a0686599706654a20b0d17a182c943bcecf0343af6e03f204c12ff28e52fa8f46d4a35a3fac06a19a9cfd6beec73080b62c8c03990fa8491a1839f504db72a498614761da84a9b28298a81be1a040445f117644037ceba9a733de1c94bdb8c0d50df46a228e927b52bc96d136c6a88c103a345d210337f9558f1cfe7f448830c8480ec60c9930002ed48b30ccd9e1ef4c5d8caa2aff03083af68cff161b4a6e1ffbe01e0b05d8eb71bb08413e8c06df21ae387642755f0307e13e7578300b73dcaadb5416304ab2219a78b4cfa3d45ac71fa0050a88ce410398769ee425eb19b8f0f9e72f8803cf909f9f3f6af05803274fb51f0691a89477034d116c0489c6a7830a6e71739878323d8fe0faa2bdc6d5f7b26e830cea8d7fe403cc9eb9d3881d2a179b91f6fc872a850802f828800678bf13fcac07a4db7589820314e53be3d411ae0f3f9ab05bee4ffe840f1642ea1a0b1b565bda279fde68351903b1754f87f0a900d340be549a6b15a0f30d55ee636a33e46943a708770a99d68303be0a1d3868303e0e13c4e3659a46c1b5c9390f34478ada9522f12a5aca74ae5e03a790fe17be277293a34810538b9673d4fbe3d03a0b035dc498fb87edf5837221035d8423169fb402a507758ba4d194af340fece08129070bccdaf0567e012712d103ac5779f00db1f3779385ed52fddcdb0742f5596922e73917a14b39851f20ddfd03311db8afba9fd90bd253ff2e853ee56485612c83bb4e6e86fe29a8116427a94103682bf118d6c7588275e2bf659f49f9386a9cfdfdb62c8f1974c6b83ddcbda7cc032a005fd0432915d283dc5acf30d7d4ca36354c94c959aa5d87869f4758dfc3d8035b0cf0b4fc18610cc5234a6742cd07a94fea25d89e41220758f6b59d2257483e0329343f36760cbb0951e444492e04d89771c8905af0c8705f5949fe5157a4e38a03a7282ad3171cd6a8b00a6fe5cfacd2fad9db9d351ba4f0b846d26482e1b8f9fa03da4be3855117f77715adc181a7f4a881cf1ed8293ae0dddefe40f8a5d12f886f03f47b99538fc4e2d7d6fbb8b555e79f69dea2562a70608ec8a76ad665845e4feb03a825017dc238633febb30917c45993c6063432aac186794af783bbb39f398d0303f8280644186a3b896527ba7062dde863bcbf66dee141c4d8c7d3ade009d461860315f2adb176e17ebfd73c507d85e6c1bff295f733e4a4618fbf47a15b73148a650360dd50876647af16ff77e424f71c5b94a330919fcaf2932e738a9e2c4efa4a5805581e032af143968bf17c4f670b868c298a55e7c5c16991bdb658e3eed3cd4c9007011bffffffffffffffff031804e5cd0675cdeb28d9517d51606517bdd557b39a1b48aeec456ecdbec352fa03645c169e00b675096fd330b389d954736e724467b40f8111b68cbe1d8ca8ff7a03edeacad95a6c7b2ebd8060e27a659b4b3f4b863f34db539070207ca072783b4205581e03a011bcf3da4861819cd38306db473ce00a0f7ab83b5f017d398e28afc00401035fa8c6f35c8fa363a6451cf6d5134e313c0454d707dcb36c9e01e8a10578c468045933cb608060405260043610610138575f3560e01c8063715018a6116100aa57806395d89b411161006e57806395d89b41146103eb578063a9059cbb14610415578063bf474bed14610451578063dd62ed3e1461047b578063ec1f3f63146104b7578063fb201b1d146104df5761013f565b8063715018a61461031b5780637d1db4a5146103315780638da5cb5b1461035b5780638f9a55c014610385578063909bd599146103af5761013f565b8063313ce567116100fc578063313ce5671461023957806332712140146102635780633395f22b1461028b57806335949eab146102a157806351bc3c85146102c957806370a08231146102df5761013f565b806306fdde0314610143578063095ea7b31461016d5780630faee56f146101a957806318160ddd146101d357806323b872dd146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b506101576104f5565b6040516101649190612377565b60405180910390f35b348015610178575f80fd5b50610193600480360381019061018e9190612435565b610532565b6040516101a0919061248d565b60405180910390f35b3480156101b4575f80fd5b506101bd61054f565b6040516101ca91906124b5565b60405180910390f35b3480156101de575f80fd5b506101e7610555565b6040516101f491906124b5565b60405180910390f35b348015610208575f80fd5b50610223600480360381019061021e91906124ce565b610579565b604051610230919061248d565b60405180910390f35b348015610244575f80fd5b5061024d61064d565b60405161025a9190612539565b60405180910390f35b34801561026e575f80fd5b5061028960048036038101906102849190612692565b610655565b005b348015610296575f80fd5b5061029f610774565b005b3480156102ac575f80fd5b506102c760048036038101906102c29190612692565b6108a6565b005b3480156102d4575f80fd5b506102dd6109c4565b005b3480156102ea575f80fd5b50610305600480360381019061030091906126d9565b610a5b565b60405161031291906124b5565b60405180910390f35b348015610326575f80fd5b5061032f610aa1565b005b34801561033c575f80fd5b50610345610bef565b60405161035291906124b5565b60405180910390f35b348015610366575f80fd5b5061036f610bf5565b60405161037c9190612713565b60405180910390f35b348015610390575f80fd5b50610399610c1c565b6040516103a691906124b5565b60405180910390f35b3480156103ba575f80fd5b506103d560048036038101906103d091906126d9565b610c22565b6040516103e2919061248d565b60405180910390f35b3480156103f6575f80fd5b506103ff610c74565b60405161040c9190612377565b60405180910390f35b348015610420575f80fd5b5061043b60048036038101906104369190612435565b610cb1565b604051610448919061248d565b60405180910390f35b34801561045c575f80fd5b50610465610cce565b60405161047291906124b5565b60405180910390f35b348015610486575f80fd5b506104a1600480360381019061049c919061272c565b610cd4565b6040516104ae91906124b5565b60405180910390f35b3480156104c2575f80fd5b506104dd60048036038101906104d8919061276a565b610d56565b005b3480156104ea575f80fd5b506104f3610de2565b005b60606040518060400160405280600881526020017f536f726120496e75000000000000000000000000000000000000000000000000815250905090565b5f61054561053e611305565b848461130c565b6001905092915050565b60115481565b5f6009600a61056491906128f1565b6461f313f880610574919061293b565b905090565b5f6105858484846114cf565b61064284610591611305565b61063d8560405180606001604052806028815260200161336e6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105f4611305565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dd99092919063ffffffff16565b61130c565b600190509392505050565b5f6009905090565b61065d611305565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e0906129c6565b60405180910390fd5b5f5b815181101561077057600160045f84848151811061070c5761070b6129e4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506106eb565b5050565b61077c611305565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff906129c6565b60405180910390fd5b6009600a61081691906128f1565b6461f313f880610826919061293b565b600e819055506009600a61083a91906128f1565b6461f313f88061084a919061293b565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a61087f91906128f1565b6461f313f88061088f919061293b565b60405161089c91906124b5565b60405180910390a1565b6108ae611305565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461093a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610931906129c6565b60405180910390fd5b5f5b81518110156109c0575f60045f84848151811061095c5761095b6129e4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061093c565b5050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610a04611305565b73ffffffffffffffffffffffffffffffffffffffff1614610a23575f80fd5b5f610a2d30610a5b565b90505f811115610a4157610a4081611e3b565b5b5f4790505f811115610a5757610a56816120a6565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610aa9611305565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2c906129c6565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e5481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600f5481565b5f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60606040518060400160405280600481526020017f53494e5500000000000000000000000000000000000000000000000000000000815250905090565b5f610cc4610cbd611305565b84846114cf565b6001905092915050565b60105481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610d96611305565b73ffffffffffffffffffffffffffffffffffffffff1614610db5575f80fd5b6008548111158015610dc957506009548111155b610dd1575f80fd5b806008819055508060098190555050565b610dea611305565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6d906129c6565b60405180910390fd5b601360149054906101000a900460ff1615610ec6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebd90612a5b565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610f633060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a610f4e91906128f1565b6461f313f880610f5e919061293b565b61130c565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff19190612a8d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611077573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061109b9190612a8d565b6040518363ffffffff1660e01b81526004016110b8929190612ab8565b6020604051808303815f875af11580156110d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110f89190612a8d565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061117f30610a5b565b5f80611189610bf5565b426040518863ffffffff1660e01b81526004016111ab96959493929190612b21565b60606040518083038185885af11580156111c7573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906111ec9190612b94565b50505060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161128c929190612be4565b6020604051808303815f875af11580156112a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112cc9190612c35565b506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361137a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137190612cd0565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113df90612d5e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114c291906124b5565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361153d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153490612dec565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a290612e7a565b60405180910390fd5b5f81116115ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e490612f08565b60405180910390fd5b5f6115f6610bf5565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116645750611634610bf5565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611b295760045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611707575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b61170f575f80fd5b61174b606461173d600a54600d541161172a5760065461172e565b6008545b8561210e90919063ffffffff16565b61218590919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156117f6575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611849575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561190357600e54821115611893576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188a90612f70565b60405180910390fd5b600f54826118a085610a5b565b6118aa9190612f8e565b11156118eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118e29061300b565b60405180910390fd5b600d5f8154809291906118fd90613029565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561198b57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156119cf576119cc60646119be600b54600d54116119ab576007546119af565b6009545b8561210e90919063ffffffff16565b61218590919063ffffffff16565b90505b5f6119d930610a5b565b9050601360159054906101000a900460ff16158015611a44575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a5c5750601360169054906101000a900460ff165b8015611a69575060105481115b8015611a785750600c54600d54115b15611b2757601554431115611a8f575f6014819055505b600360145410611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb906130ba565b60405180910390fd5b611af1611aec84611ae7846011546121ce565b6121ce565b611e3b565b5f4790505f811115611b0757611b06476120a6565b5b60145f815480929190611b1990613029565b919050555043601581905550505b505b5f811115611c2857611b818160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121e690919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c1f91906124b5565b60405180910390a35b611c788260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461224390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d1b611ccf828461224390919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546121e690919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611dbe848661224390919063ffffffff16565b604051611dcb91906124b5565b60405180910390a350505050565b5f838311158290611e20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e179190612377565b60405180910390fd5b505f8385611e2e91906130d8565b9050809150509392505050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611e7257611e71612556565b5b604051908082528060200260200182016040528015611ea05781602001602082028036833780820191505090505b50905030815f81518110611eb757611eb66129e4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f5b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f7f9190612a8d565b81600181518110611f9357611f926129e4565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611ff93060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461130c565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161205b9594939291906131c2565b5f604051808303815f87803b158015612072575f80fd5b505af1158015612084573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561210a573d5f803e3d5ffd5b5050565b5f80830361211e575f905061217f565b5f828461212b919061293b565b905082848261213a9190613247565b1461217a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612171906132e7565b60405180910390fd5b809150505b92915050565b5f6121c683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061228c565b905092915050565b5f8183116121dc57826121de565b815b905092915050565b5f8082846121f49190612f8e565b905083811015612239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122309061334f565b60405180910390fd5b8091505092915050565b5f61228483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dd9565b905092915050565b5f80831182906122d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122c99190612377565b60405180910390fd5b505f83856122e09190613247565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612324578082015181840152602081019050612309565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612349826122ed565b61235381856122f7565b9350612363818560208601612307565b61236c8161232f565b840191505092915050565b5f6020820190508181035f83015261238f818461233f565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123d1826123a8565b9050919050565b6123e1816123c7565b81146123eb575f80fd5b50565b5f813590506123fc816123d8565b92915050565b5f819050919050565b61241481612402565b811461241e575f80fd5b50565b5f8135905061242f8161240b565b92915050565b5f806040838503121561244b5761244a6123a0565b5b5f612458858286016123ee565b925050602061246985828601612421565b9150509250929050565b5f8115159050919050565b61248781612473565b82525050565b5f6020820190506124a05f83018461247e565b92915050565b6124af81612402565b82525050565b5f6020820190506124c85f8301846124a6565b92915050565b5f805f606084860312156124e5576124e46123a0565b5b5f6124f2868287016123ee565b9350506020612503868287016123ee565b925050604061251486828701612421565b9150509250925092565b5f60ff82169050919050565b6125338161251e565b82525050565b5f60208201905061254c5f83018461252a565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61258c8261232f565b810181811067ffffffffffffffff821117156125ab576125aa612556565b5b80604052505050565b5f6125bd612397565b90506125c98282612583565b919050565b5f67ffffffffffffffff8211156125e8576125e7612556565b5b602082029050602081019050919050565b5f80fd5b5f61260f61260a846125ce565b6125b4565b90508083825260208201905060208402830185811115612632576126316125f9565b5b835b8181101561265b578061264788826123ee565b845260208401935050602081019050612634565b5050509392505050565b5f82601f83011261267957612678612552565b5b81356126898482602086016125fd565b91505092915050565b5f602082840312156126a7576126a66123a0565b5b5f82013567ffffffffffffffff8111156126c4576126c36123a4565b5b6126d084828501612665565b91505092915050565b5f602082840312156126ee576126ed6123a0565b5b5f6126fb848285016123ee565b91505092915050565b61270d816123c7565b82525050565b5f6020820190506127265f830184612704565b92915050565b5f8060408385031215612742576127416123a0565b5b5f61274f858286016123ee565b9250506020612760858286016123ee565b9150509250929050565b5f6020828403121561277f5761277e6123a0565b5b5f61278c84828501612421565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115612817578086048111156127f3576127f2612795565b5b60018516156128025780820291505b8081029050612810856127c2565b94506127d7565b94509492505050565b5f8261282f57600190506128ea565b8161283c575f90506128ea565b8160018114612852576002811461285c5761288b565b60019150506128ea565b60ff84111561286e5761286d612795565b5b8360020a91508482111561288557612884612795565b5b506128ea565b5060208310610133831016604e8410600b84101617156128c05782820a9050838111156128bb576128ba612795565b5b6128ea565b6128cd84848460016127ce565b925090508184048111156128e4576128e3612795565b5b81810290505b9392505050565b5f6128fb82612402565b91506129068361251e565b92506129337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612820565b905092915050565b5f61294582612402565b915061295083612402565b925082820261295e81612402565b9150828204841483151761297557612974612795565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6129b06020836122f7565b91506129bb8261297c565b602082019050919050565b5f6020820190508181035f8301526129dd816129a4565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f612a456017836122f7565b9150612a5082612a11565b602082019050919050565b5f6020820190508181035f830152612a7281612a39565b9050919050565b5f81519050612a87816123d8565b92915050565b5f60208284031215612aa257612aa16123a0565b5b5f612aaf84828501612a79565b91505092915050565b5f604082019050612acb5f830185612704565b612ad86020830184612704565b9392505050565b5f819050919050565b5f819050919050565b5f612b0b612b06612b0184612adf565b612ae8565b612402565b9050919050565b612b1b81612af1565b82525050565b5f60c082019050612b345f830189612704565b612b4160208301886124a6565b612b4e6040830187612b12565b612b5b6060830186612b12565b612b686080830185612704565b612b7560a08301846124a6565b979650505050505050565b5f81519050612b8e8161240b565b92915050565b5f805f60608486031215612bab57612baa6123a0565b5b5f612bb886828701612b80565b9350506020612bc986828701612b80565b9250506040612bda86828701612b80565b9150509250925092565b5f604082019050612bf75f830185612704565b612c0460208301846124a6565b9392505050565b612c1481612473565b8114612c1e575f80fd5b50565b5f81519050612c2f81612c0b565b92915050565b5f60208284031215612c4a57612c496123a0565b5b5f612c5784828501612c21565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612cba6024836122f7565b9150612cc582612c60565b604082019050919050565b5f6020820190508181035f830152612ce781612cae565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612d486022836122f7565b9150612d5382612cee565b604082019050919050565b5f6020820190508181035f830152612d7581612d3c565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612dd66025836122f7565b9150612de182612d7c565b604082019050919050565b5f6020820190508181035f830152612e0381612dca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612e646023836122f7565b9150612e6f82612e0a565b604082019050919050565b5f6020820190508181035f830152612e9181612e58565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612ef26029836122f7565b9150612efd82612e98565b604082019050919050565b5f6020820190508181035f830152612f1f81612ee6565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612f5a6019836122f7565b9150612f6582612f26565b602082019050919050565b5f6020820190508181035f830152612f8781612f4e565b9050919050565b5f612f9882612402565b9150612fa383612402565b9250828201905080821115612fbb57612fba612795565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ff5601a836122f7565b915061300082612fc1565b602082019050919050565b5f6020820190508181035f83015261302281612fe9565b9050919050565b5f61303382612402565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361306557613064612795565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f6130a46017836122f7565b91506130af82613070565b602082019050919050565b5f6020820190508181035f8301526130d181613098565b9050919050565b5f6130e282612402565b91506130ed83612402565b925082820390508181111561310557613104612795565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61313d816123c7565b82525050565b5f61314e8383613134565b60208301905092915050565b5f602082019050919050565b5f6131708261310b565b61317a8185613115565b935061318583613125565b805f5b838110156131b557815161319c8882613143565b97506131a78361315a565b925050600181019050613188565b5085935050505092915050565b5f60a0820190506131d55f8301886124a6565b6131e26020830187612b12565b81810360408301526131f48186613166565b90506132036060830185612704565b61321060808301846124a6565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61325182612402565b915061325c83612402565b92508261326c5761326b61321a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6132d16021836122f7565b91506132dc82613277565b604082019050919050565b5f6020820190508181035f8301526132fe816132c5565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613339601b836122f7565b915061334482613305565b602082019050919050565b5f6020820190508181035f8301526133668161332d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220faf31d25f5bba3321231e05d0088926b459202ad60fd4c4f7681424d8b8b286064736f6c63430008170033005820035b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db904114005820039d0e332f80d1cff51a8a4d8865620006c19ed620818900cbffcee63890d910480cd157e3580065c40219108000582002ffb05fa7fb6a86937d01a672ff01821f7da270655c75053d497d06c32e5346480c7d713b49da000003255f32ed2a6bde98002da6e3cc0e58b70a5c3aff988ad5ddec23964bead0189600582002bcbd2ca84c64596a5f4a56e37d84862dbe3f7b4f8e487005029c09dbeb1e9a48519b8da754b697c80398d66d4877a1fb465b7a78297794c425caf898b8e7350b4ba0127bea651f55a5005820023c38f9d0b8def738a80423f5265f1ada8d30b34be15c19bc3a3fd1df57d55a42029703314b929e13059b976b44aa45bd1151392160875b85ace22641d630d3164429bc005820025f4b1b6e2ee5136983d50c8431bae54e98f73b1caf7d3e17cd5798afda01635820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002ec4e4fbbcb6da7b80a630e152dca58edc7dc693b288741bb9c8ae9765a20ae5820ffffffffffffffffffffffffffffffffffffffffffffffffaa9621c7818547ff03323eb01f87ce6292295fb80c6386ed7dba5a24992ddb40d9f650a8c5b91f786e00582002738f9317652af9a2f8d98a36d9b74af5d5efb3005bd748616a3951790c1be1481c0e9fabf28e665200582002a83e01ee189236ea420c06c1e5ad90ee0241afac784f6f77e49865ae28d7ef4807588688d615179a0219afbe00582002444e3cbf73033e1b3611d22ec5d580e428dace4b6282de44d4e8f3155962cd4802e368fc01683cf9005820026311e91d717d058f799f715c63bbb3bc375e51d8f7465b4b47ed7e710a1af148183f863632009b8c005820026847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672483a4965bf58a400000393fea7c248e1632707119833e743d7b4c08d7e8e83edc0d635aef8ed23ec0dbc0325c25567ee1cf657c32e1672aa17e8da341a31e8eb483e8ffafaad1683bd875202193a400323c8c4e0df9d31c4cfcd74b19e920aef8a6be3f58d833ba46ae1fce01c10da790058200233f2dabe70191bf91fee4f9192ccb4504339a8d7408b1f65a4903f2b916a115820ffffffffffffffffffffffffffffffffffffffffffffffffeb9013c7aaf39062037ffe4e689610cb88f86a56212b1816ca45df612faef8d7976586254db00649ff03cda10e5391e9264228eb2f0bf034f1ca9f26c78abf2cee8fbda3a8926dbe0b78038a2670b1260d74eceb27bc089fab9138528a3cd6f144f557d44ce7b6a9d02a9303a874ccc003f5fda475569abf6e38cec1a397e3481c89767abd60752450da87670058200200adfa2d10f44031f716086e8a88b410cbcddc45a2423c0b1dad37c1f3b1a85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033fa7a7af3e3e272ca70a6c5bd1899dcf9ae5d1629e59b68a7e7ca4b5ab14ac0201410d00582002a8cd92dfedbb1d839e6d78cf6ecb71f14d547134c79c2ee1efce9a4eb1fa624802be735d5101ab6c005820025afb5375241c8723c9b801292630c2ba18cfae58963b95963507b1c2642db9481d044d641b3ff24602190fdd032f98a28fea9c256f312526db825f1e1def4919d6c7838f156cbb1f2d0b250ffb035ed1b9a0abaca55b8185639f555671606960c317025b1d03df6efde927741b8003732861e026d5c368f4f63aec23b05e6b935c100c04105bda9f7cab75346a245000582002ea540327ac56e8c788686a6063618ec78e3c1635660cfe53397209b174133c4817e50e2ae28be1f5005820021877b57dda2f007e1abc736d6f26bebe6633bd8d41d03cc915856d2336eaf45820fffffffffffffffffffffffffffffffffffffffffffffffff48ed2e258780baf00582002e2f9063983567252a650cc97a252926147af57153df0b458bbc49d82b949285820ffffffffffffffffffffffffffffffffffffffffffffffffba2662f0eeb654ff00582002d2e02aa0f5af8c37b4ddaeb0e96f6e7e2e7317db11479ebaf39e8a7ceb5b294864a151da1f0decde0345a5a859c0ce381a99a5c83df826c5e1b0480f7fa3b081275c6b15d9a7152baa035236fe8186bcdfa1066327db9addd460af663f697163d0f382fe12d1e9e1f21900582002de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09057010001df675ac7eb6a7053e6988565f57dc3da177661ef03818b287d07bfe7ad6b072e3416af9f7e5717f5d00548b66293da464f6d9c1a0d037352aa8975319123fba4fe7c7f8b6249d3595fef4d7962b0aef9887769ad7de50058200296098a2446992373a77be9e143670314335ac28d9a1f87c775d7af694a61f9485ee43b728c07df89033e320bde6d10d065f028067fec9b1f739fe03bf81b6b09158cf371d331e8d3b9014106030530e71f99b92abc4c27d827fff142800b5b0a63696a0b1c78438449f07027260219d67f00582002dc61613003c2437d393fda5248af1d077f6825b1a38e61033509f051002e605820ffffffffffffffffffffffffffffffffffffffffffffffff8ba0eb582bc2595803bb48d01868b678d50046f4e696f719a436968e1d491c85f4fe62c359e13edebd03eecd73caf6493e4be7c603e4e1080383ac00d3dca01db6cfea259509573099d8005820028452c6f95a7f9525d32f33fb2253d40897cb9cdebd16a9b4545e99261edb3d5820ffffffffffffffffffffffffffffffffffffffffffffffff8b984f00ed0e6c98005820024b38c10e058d274c6f94ea67affa92614db48fcddb8170c5c4031cd8090813480e95a1f178897cf500582002eb66a969808d62b1afb823795ef60ba0bc917f35815ccff6bc8b36715bcfa05820ffffffffffffffffffffffffffffffffffffffffffffffffe92c7ab1dba5df5b038ef189089c02ce0fecf07f5c7a057d6b0cc76cac47d5e03874a5da5033063d5700582002a34a87882315cf2fda3dda6cbc2c1add4016ca5c8683d0f6f71d79fc3e66195820ffffffffffffffffffffffffffffffffffffffffffffffff9112c4cde760a01700582002150f4ac141e5ec5504f6b4a2d8401fa1aba4d7e8f68a4f65a83dde9a58161b4806bdf88e5f71b78a005820028d876d584f4a8242779a0975855998e30ee37efb2ae467e24cd62427ecb0e3485b3339c8692f3ab9037b387dce82f7e3b3e7b4b6278f4068f3df3554e5ba3580af6ae2641aeeae7f6d03a5047a3fd6acc6d8505bb01d8738e839b8e6631ea2448ec35ab1043824b83e860219ddf6005820022d974797b3b46e4d943da9dc92b06cb2934a6e91fbbf97a119cb77b4a24fc94847d15e72bcc28a8f00582002585ff0d8ce7cadeb77acfb034dcd8dd3d7689b2aa97599ba171c777da37ec15820ffffffffffffffffffffffffffffffffffffffffffffffffd4e053a6dadbcef903969c3fceb182b762ea8ba65a0f993844fff06bc6fe4bf7ccaacb0c925be2bddd00582002565112902a4a5a91fde59db5a2e801b4c4e8cf0168b26eb61ff2e36ddc7308480b3b9bbd30ddab9f0363f80b925ed26d77c6bb2d5519b19ecc3ed20c468c3bd58b978e944048b7981a03cb1ed5e25447d7e02fb23549f51223ddd7160b5762875ed2f10d4ba4d501e33600582002d69c03cf5551cc8b0f393cf43bc578c22eacc469dc716b10f867636dfa3ebc485569de387e7ab80003a7416d4f5229ce571c29639c4f74b49b7048cea0edf9073cc2cc9793779c7e31031b2806e68a9e13dbe98d6823e61ac80e368b9c5e9eabeea806ff1a0d5537fcbf01410e00582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80204916ce3f1e16bf15000000582003232da615b5c033fb8d0072d39388965f67cfd9d0dffb0a0d3ba04e20168eb0481b5723013f013d3a0058200328a345034a2aa0ec6b4a56d2b1342ee46f38caf2955f4a47fa965abcf9e2604807588688d615179a021902220385a752ad25004391b2e3475e9818c51e06c1a358e3956514a4066fb56709450500582002ae75c1fa39d39eeb533514396d24cc991109978850263abf852c80bd46c60d481761df2327e5224c0219fbd60058200258223ec9b1cd060e6e88ab61ffda14222c82576a2ca0fa217f4daa57c732345820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002ce2b00e67e51b88f13a6faf65dd6bc62d933dd14c707e6edfe4e50b89b59715820ffffffffffffffffffffffffffffffffffffffffffffffffeae8d50aa59cd3e0005820029fe2a24cce1cd41ed05437c7cbb96a7b0f02c9ce00289d521ddf59df9f60ac5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ec97e91d18ced98c4f01522a83906b723bd4bb6d7ecefdc2cadf056f1ef9863800582002496e4d7297e0f840d838f0719c8eb46740450f6270da99726357c7a43a983c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200274a36c3cc810528bb60d34384c32d51c09471d004373bfd0026e8e123497925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0314ed59207e71e8cbd5b0d38dd79fd663b25607297280ccf7d34b7fb7929a5c3800582002ab67acdc83a12e0782c15bc4edda80c36929b792dfc9f0fb145cdfd10857685820ffffffffffffffffffffffffffffffffffffffffffffffffaa9621c7818547ff005820025f4baa35c70a3bf96cb82c8401f63c407096104600027e70f86be6ab32aad5483c527bd8a08019a70058200263acd56fcb2f339fb3f7dedb16a10f2aff189c738a182fbc77cee7ab5608a8481e581d85cc30c3fc03e31416e8abf81feb5b727d7831fa6e9b25289a671a142053739b7835283551440219f66e038fb6b20c4f0d9e12c5d002661372e3b5056893bb5d49ccc36d760b85865c63e001410400581f02d5bf52c97786f6d49f6f5af64808f5c05d84076b253a3de803687a314a0d481def1d7d83b212ba00581f02a5c4a82f2f74ffabf6e51c5edc80dce67d50982c0c165e3df2feab8b12e35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219100200582003ba592b733732b5db407258ebb5f6a11046235e770a179ba85aea1fc8ce4e905820ffffffffffffffffffffffffffffffffffffffffffffffffaa9621c7818547ff0058200393956e6942405ee084e8f6c832ab5f163ceebc85c317e8948788711f0542b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219880400582002327f18f1218f10e5564604e6d6600edb492beb431010fa198bd26022b6dc145820fffffffffffffffffffffffffffffffffffffffffffffffffb7b8c0e13e5518e032eedc573beedb59e9330c854fa29681a521acbba2288950aa204f0839c4412b9005820028a8b5e3d47b1975e30e71e509c5f9fd93fe502bc38ae124317652ae0d182885820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6884118005820021d605fb637aa8c7717aacaacfc49ecdf5769d052093fd56e4aceb4ee7d0c0e5820ffffffffffffffffffffffffffffffffffffffffffffffffaa9621c7818547ff005820029e766b2c698518b98289a405279a4de84dd6049c5fd4f813357bc1c8d1685e5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d1c19c44f8e052c279743d3fd7a358f7d39ba32d90a75c475eadd159c9e5cdfb005820027bc50f9564b90b48c4a65061f356ccb7748969d2f2c7aadc9d031f3623b51d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021954df0311b8fe0315e564bb30976c75a52bf2f67198847f07de5384a1c6d877862a6f6b03bcbf5bb710b84a303bfaf20a232a23452e0ece6c6b9a0d5952ace144304d302d037df575970351f0066f502bb0d6caf8b56ed74385c5fe0a3615f8928d79f38a0103b646890cbbc31e7d49846d22d5688238637dbd95707d83bf4ad7c6ec6a39944a005820022f7a27493622f61e3365374a4b634aff849db10c60fd5427d6aac4a047cbc8480d8f7d2d8c069aa0005820020f4b0cddebca23d2ed385dc7e32cfe59a1c0e4e1c97fb80d935e0fe34712d65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02172cdd55898a22955a9a0bf9d6a3758d8cd8106521105c3f611f0f4839dd4817b084268bda1da600581f024a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd4916ce3f1e16bf1500000219082000582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440547a250d5630b4cf539739df2c5dacb4c659f2488d02190180034abb82ee5c29edffd45e070956f328bf02b4216fc5c37694dd75e4f711ff53820377995c8950a268b647f0ca6953df0e080c9f78d6fb51ace8028d8dc8dfd234f10058200218b5cbc40af393a10dbe47c36bae4843a3ef36c8129535c1c7096168e6be895820ffffffffffffffffffffffffffffffffffffffffffffffffa92a820890902aa70219be1e0339e20ef5060e7fd3dd24308efc8e6e35150efdbcea62054f41a213c021f45faf03f842b6ac46dcfa019f4a3e561ad924d1b2d26087f6026da5251b82ce67ef529d034ce8525f58614a21f7ae593d6fba34483581cd0f66aa21f66c783fbba535715a005820026eb630cb900483fb16f5cab455ea908fda88ac470ae123e060320544e2101a486d558200aeb3acdf0058200273550101a06d06d5938f124853d15593bdf0736ad246da599d0e98e6c6188e4803cf5b53b3533b24005820031ed3604650b2aeb65f74a72d2bab8f72eeedaac2dde3d554b57f413b8aab404801fb17a92d5c32c9005820033a7de1166cb53a7600f7f9f52a3a49a00c5d436df6773c6d20bb1679d33f605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80411402183803b91326e6a2c9fa047c8bd798ec24236687ee90f1cc5d50ba9c7f9e69798324ab00582002005d929aa278bdcdcd39219e13c566064d0561a8b8a8d582267f88589cca36480f6d31dd3d2352980379bafa2283069cd505dd6ea8267925bdec7f80721e379528c51b2bd5d65f840c034ec13858d2fff1f311b6d74083da8a223c8b0e917a7171d3cd0c29743d10297e030a9397b9c4e5e7d21529d108fa5271073f7d62a476f0cc1b2507438167d4de42005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec410102196eef00582002d3e948e6a5b56dcc9b4a7e103ac01e6b059cf285482de8fcf963c25efa2f7e48013cb4ef34e4e36603beefc61f2bacba252b4d25fc4c4edc3e6014175d31d78bc8d528e4519b2a974d00582002d16192d0a6798e6197663e1f89ada19483a35605ee10b968f08fb595d373925820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820036990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5041cc00582003710088d32e4994e46679566ebfa9500c14ae78be6b520a091f2e6cfe143850480b172ab904f4cd5502192800005820029786cc93ad8f4f91813264000043a054e66d1caf2b2a86e8fd975c8cabfea249013234647c72fce12a031db3ef4b0c75d2229bf08141ace300d5c7ff3908ff9d36cd6a0d59e352c913f100582002a547f0890839bdcd4fc4b7c095db256dd585339efed8e975a8d8e139c44eb4481018d652aafb29a100582002834e2cd19284199db710501916e3b1b362ab824580275d16eba52b782f536a5820ffffffffffffffffffffffffffffffffffffffffffffffffc52a055048a39e9300582002768a983e211af9d796a60f857a3644c23d0ce4d297bc698ac8ffb79c12492e45010000000000582002005169355126d939da883c623da688a0969e2222ea9815f3710ed05dec2289482154bf545a4a471803524e3202caab6f56fa6441c66caae9c37955b753c46d43907c5ed605af8a15f00219fed103a519b11272c1bff29c32df6014f39228cfefc8a073b9b1cf5fa4a4a78006715c005820027f48010d796c29b5aad4fc5c152f344d68cff517aaf3a0996cf7904d4751b3482608543101313c2200582002aa4d51f69eb291c140b6f9648f4b61562e4e404d95962cfc5765453118372a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200241aee9229b07ed4a400d1a4eed9976238604d36658acb418ba0d9cb2b27e8e48778f0792e84ce2ee00582002af5c5ddaee0bf4a15c3d1893e01ca63c840269303f9e66f7094e75c6a352b45820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820024142445b2301e4ea5611d5eff4ef981c2a07acb2f2187a32467d78967ad327480852de72071daaf600582003880657d58a62b40e3c027ce8416fbc66be9c9bd6bd42147e86f83511295a405820fffffffffffffffffffffffffffffffffffffffffffffffef9c83cc5b48dd83e00582003560cffe9526d74d63aad97dfe4aef6b7ce300b64c7455023396b3491c352c0490215a2f25a7370a09802192200005820033ea59b58fdba855a6d190cf5caec5f93aaf864767b0eb6a809c2c132afa4c0480f581fa2423bb638005820036e570e2f67c3027e9a44bb16d8755d39e52de9fa7f65d34e01103a2d169e405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219400402194537005820025a586a4be78b8487e653b2ce51fbf634a768207dbb99eae5de4249f1b9d0365820ffffffffffffffffffffffffffffffffffffffffffffffffda71d1de03e7b7da035d1555ae00077dd648143826ad3a913a9df60796dabffaee1bd8ed3beb46b3c70399e7a91a6ea447ac45fff256751ea1dfc09fb45007ed19ebcc282abb48cb935800582003d5e7dfe2872d00c84c6ded1428c95a5f1705f3fbb70c1b69b3bf25b9ca66e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003be6f2cd22d3f34de208228f5d6491b41f0804c063d65af6d91b80283c98a30410102190801005820027cee98442ecc82d8b2fc9984bbe567211a7c044a168e7e956ee5d8eca2ba3f481ae98547ada32e3a0058200215e13cd9a0736f20dff93fc118b1c5b5b8c250776e1e58e0132b32350e09505820ffffffffffffffffffffffffffffffffffffffffffffffffaa9621c7818547ff0304e7710c47796243b8124fdfc4a9d5789acdaa9f5e0acdb1520683c00d9e249600582002d5365ea1cf3c3d39d64a115840ccd8cf9b55a3900746c637789b2bda5b2b155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002b85d58da4ed176bec88101a805a50d36dcf3039a157fd91fb47c9b269e36e55820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032e9f907bc5708238e7e8f8042e7b4281eb5b1f7126fcaae1ea5e46b7416d176e005820022319175196c6c661f7dc69acd2dae315270660e5b82d974d3927861a0f935a4802c68af0bb140000037a7b8f7d64d739352c13ebfb7ac406872c213eb7b4114c8835ccc9d607f13521031c3354ad087b5ec1b99fc19cbe4bdaf3d8fec168e6347368763f3dc963b9d1cb0219b9ff0219ffff05581d036a101de4a9179825a19e13659e6a8011fc585d9a332b0a91c55d8bd007011933cb035b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce503d269c60893f40cff1e32d7b1ee8d3c5c1e5964a71924b5ea49b1c5fd7f23a52905581d031789bf6cb26eed1e8b3ea56221825a9a063fee0853cede07567c520007011bffffffffffffffff0218a005581d02e7824bdaf0cd934e9b787c487e492997289412ddf18c36543bc19a370c04467e679e70b9d802190180030ffba86baaf43f22a3c9e6955d19b5d1941aadd2526da81285b43a5b06039bae05581e039b386b408462161eca34e768554d18247a6de3f9dfa2357f127ef09ae0040102199d5d03579eb1a0c5fda29de507f6ccadb25a1d9e40feeed1155e6ee160345f4bb36dce034c0f88f6a61f35409e3bfd6386c0f231ff1326ebf7ad956106c1d4b3a57eb704032cba1eae703deaa8a59d070015c15615f90a5035bc46bb83c149733de25359cc0377c271c132870a0c67aa96e8c294f2452b80ac9422c50f1ad883c6c88b478fdb032f7cca978d052db1905e4412a490f6df4a1415bae9f7ac62f8ed67abb51620970392daefbadd96e0f7bf14ae8dd638700dc283e6d07b90d8ab72271a8ecc87587f0318370b4bcce959f2b92e13554182edbd205fc43a085090b8bc76520f10f157e70392f9ce86473b8dd6ce65badbbba5ef9dd1b3bbbbec130fcc0cf116e34076e50603b91eceeebc4bcb6c63ce5c33299db60b7e4ec1746d0f1fb2319485a779788e68030588bbb02468329de2c189793cadb6bff1c1473d61180d3421171361a0b179d0033eb9fb02ce8cb36b9730882518128fe21f35822d6d27ff4cb1432d01d30d83c603016829d72741b5c4e696abf5e97b3eb0ef26f4d43e5a0abedf42f03aba85a7d103787876d959fc11caed534a7ff6ffaad32bd9cf10482ade3ec346e9ecc0f688b10327cb206460a3f405532a4f9a10364271fa30c6fe828e323821d39b521be6b67d0219ffff0391a12cd7409df898675c4418e51a7c6ee68824b9ffb530902009a1ae9fb2584a03075dce743e152e052f1d455abd9b05c24a4ae1eb09bc014a601e074a7e4ad8e90360abda94d0df1ec0acaac7a9634066c7d0e0f1a1e5e665013ffcf9c73aa16dcf032a026ae2ae6a04edb8f9eda104ed855bf7b9f147cec70c74b85ef40d1ce084d603f5c2a0e4033a23e388662d5443ab193dd15a49bdd2c6270094124e26ee2ba245031108860c6578591c8ab169774409a78daf2a3d3255c457c048e40234f337d6a603d7fd24453059eca52a9ee481b65b572f9eb62bca2cb14d11c67e49e8cff27185037371e732b040f195f6f43304dbbe5cce11365f46e7e305a1c5fb61d75247f12003f4c979446bd2c4df50c9a6648c0266ddacb5ea09424c794358d8d5dd6206a75e03f512eb08a40b6707e3c92265da1e517ff76245bdac0064752384b59f8b8c10f20219ffff038d84ffac5ced83925b7d25d4435341583fd92996e11c96c4b670459acae91c2903cbb03de33fb9c93b91bcc3e06ceab607a217e3d812a4967be3702c00efac481403bf512ee7a715bebf95014bddd6df800747dab07221266e72a06608cdaf8b604803276d5fff5722b14e381d8f7a7e1d69666c6fbea6d9b1606df0d73970be43f6cd03927062299b451ac2cde2a21636fceb63fce372945d608049da9366ad6a1a0b27034493bae9040f371425960a86181ee9459fb3ac44e438f745c709bb32b4365fc80219ffff0306b9d9597bb88c2a7e54a170820830e89fd66b952b83e8945de6619ee77d4f1d03436622163e4bd309b7eccd939228a3adf0e67d288873277b9e78e4b541e569bf03d9c575e36329371287799908185b427cdef2dc4012d6230ef61c9807e388e249037e8ce31eb7f2b3d015aff9f4db69e1417d3fd190d182e57431d61a035a87371103c5ff1b14dcf4f3ac7f604d78316bf1bb7adb0fbd55fdcde06c3dfdbf6d1ea7b10350d9e07c72f3f1f779ab0bea062811101f0ef247f8ec5b3e501cc5d497597d0f0302ae5747f5d2cf20f71b19466b11f9935c3abfb87915c5b8aa17b838cd036b270219ffff03ce22e0e8bd02fe2f895584073998da27559fcdb454695c1a7261f18c2bb7ee5d0393dcf20e65a10053f4be33b6ac52cb83fe7663137f14161417e900fd84be10fe0307ff7b9935fb7ec7d573d602ad01c7333bbaec414be46cd4c57f7b148ca043c40344f8e6e40359686ba47e772410682d3866fd074b66df440980351ca2881ef3830219ffff03d985500aeb04d748b77fdf3529ed53f5b96e5d62d8695e1cabd35e713b030ab20374ed45e771a90b9c346408e68a46b520365e5d5fa3e31b8e2397c8bb0e1a2bb903f1812756ceb667f0768e9bfd77e1dcdd1b70b51a7ac877fb9e3bf585b6320e8e0359df74959093d8bcbdae18a658ec4768b976093eced86a45eaa2938ec145664a031fcbf0e0b2c9801c6b95fbae34c93a4fba8916bc98d3b40c20ad9bc3f988f1ef03a791d6eb706b7a03ee89d4aec801ba1abe78ba0184bdf26a7393e963af02e3d903f1e04725d8666dec005379be2a598668daa4631deb2b61c66f60b31c0d666ec203832044ae9da4a60789aff925e579ea62c18d19add19fe9a75de943207ef836d103d87e272d291952c6a3aba1001b3e3bc351787b7f5c1f40075d5fba2a5e89a30903d9c1b14bf49390a6d9438255d7d40afb609662bdbc6b97dfa25dbb75ac8af860033efc65323efccdb204dcf0f1d4e071d9724cef9e754a3adb4dd94b333199ad8f031a9ca299e6ff942567b671f96b002aacbcb721831fb3ed19eb240ff286670d9c03fa968972e05d55fa5e86742095610f838c988e1aa33bee115912cd48cc05370a03e4c834dda4865d4352847e41eacabe7bc026c4da4cef1b80d5a6a2ceff60c11903f43bfd4e34de0e209000f6f2a1590bf0426f0bbd0e8ce227159a3aa616f1253603f68366266b81e531ae24279788bea5e3d55934dd98109295909015ccb3816bd403e6f7389981151a19524ea613e6a519a8d34052aaef594d09a25c69b7fc1ad676031ede4af18d0341de71353ffd896eaf9ce710f7656d434231e9ba88616a85050e0393d2e4bc8e2b87bc799706ba945c393a0ee6c842a20a34467d322f42334e10ac03eaecc2733ee91b9b4892774eb8819c27a3649de6eaf8ac96ef4145dbb2e95c89036c6af24ea6bc200566430d73604a32f32d7625e80758598a570069b765a7d15103778f23d77ab44cc721554dc9e941c59b4ff786a5cbb7cb6825e25e5ef06d65e303c43c0d36232b69c73fa67104219ca36496a38deaf51eaae544a7e112c847a36c03b99e6909083df3ec81d9a19d28e50069659b6b6f7a53a017df25f7fd5edab2a303c31216239384871581825c62351a89a895010848fd7b69838737408e533f74d4039fd1fb03269d90e32c78a6f32f292110656c63c62cfe97fec04ed386e2c4c4a6038ed1638ccd76ab0d2b7a278eef4dafc660bafa14915c9e0e8d82be4126616e9903ad5961095c525ad009365123e53882e75e7b6076cb6a4291cf3112fb010f82620305c14c02a73b21663459df1965e083c0e2b5c82cc6bbace9c5dc828dd0f438a30325560e7762f28c0b68b0ab23e7b4e0d04a3ffcc19ea363dfe49060afdae3573003e5d0902d134148bf46e0822eaaa001b26652ebad372cdb396c30ac560a4eafc603aa06cd35e038f80a907e86a29daeeb605aa805fdfeb2892ed2ecc30c5699d76c03d4bbaee488e57a11254fa86776740ba3f70e8b548861da474a1eceee71710227034005d5a0259649602499f395e7c8d68776d223f6dcbae17abf5b1b8e037cfcb4032123bb34a10b37ed16159b0756bc1dbc07e9e8da2863d31b78c355dde2d3123103f0bc15ae09b08ddb6e2cf6ade1f7c1944bd252b7f97ee96bfe23e907d1d7a71b03fa32fac57fcee6bccd2cb9876caa66647e085fa7d0afa02160c0f72c63a67a0103cdba035265b99fbc55bb8d9dd98d21bc0bd5ca643abdccc24b94001962fa312503c6932c4a78ce64337acc9de5887ba1a18d1203c7a5ad40f650b662b3b52e3a4f03fee5b9354f7afa3b7926c49e77d204b4c687d1de0a6ed5cbc60d01c24b2a773403a1c1f0e0e3b9fc91e4ccaab0529836713baa4e2262c24de893185f24d1b3b4ab031ba5342dc7ef049089d5472d2709cad094a2aa69077cfe6ec32eb8d5be0552620357a94bebab69c48d97717ef7f9c091c8c4fff761812fb43dd9dcc72574634e7303d20f80191e58a26e4b72dbde7d20b494c7c955967cef2fa17d412983023c127003fb635ddcc5bd902288b57c6d190ff1e0befec811d0f452dfa0ef329edefeb0030362f10d279ce64a2967891eac21fdb25bc32459e999e5c3a8234c0dfbc437d2600305bba7e2adb1af2607a51fcbeae91204d8713c2e3b7913fe5e3a32d33149185a033d4b58695c4ef858e16b907987c43ab32d3d4b01611fc12b2cbc8c69aae34406036b09308b2f5ff7329af362444d57e70a44b9998e69d1e0c2de12f15690a941a603a2eafbb8df8f6a5789e9a39f131cfdc75d65d0426d1fdaef88aaab5e1ad513eb034d7d7549f2c4654e772c170f01fc80f34a60463d7f5993c57069f690f09d859703cc92cc79decc6471f4b751bc0ca0ecdd3c2b12c28aafc100405ddb1a589fc66c03e4d66c6365e4d8425e5f4b90985ebec8bd4e9ece873e9b9d5ac10ce479a49d7f03034ee1eb117d05caf0d3874025311bf768f13f9b2ef7ef91b2c216b94d9464e003b991cfe7777d20c44e924b20c3b95d48944e27014ade9ea4ecdbf11213d08dfc039f7f98c70db192293bda936097b12697b00a30955e4669264da63e728a4fd4b80325ce7fcb4d0f24bad6c80d3bdcd1aa759bb064f6b90d74dbc4c9fee7d68ab43103cb942b3ba64b0debd84c6d35917bf94fc685703fd82639ac3fa7f5a3bae2d5e70308a93def30c398f4e67bfc028293514a33225618616a0776ea0bd11a7d77678c03567309f3694e20d08eb905bf2cc396cfede8cc06aa11c765add2013e62eaa55603f88c60914869cad3501f881b02bf278caa7188d19c94a43e3df52eb026e1323503b34002a9c8962b973709ce8518d1195888bd047d9d1f10f61217be7a7834db670318f218c6f0601ab4a3b5f123233d3c9828646813554c9f31ed2c21fb04a4bfc805581d026da1572e969498d2aeea7890749e291e3428439d62b97a9112bcd2f70c18404783ef33385aeac5031af4fe3189f1941a1e227b6d38354818cf82e57978a7bf9981911f0ef35fd5d505581d02979b35fb846ebe67a2ee86ffa3b044acc5629bc837f590c6801592470c0645012a05f2000219082403278fdcfb64cff6b6a8edb8dbe115ce42d7f1ad26d01bf944d929bd00fd5cdadb05581e03471313e3dd8816e34201436699edc90918142f363b4f358abd93a7e2400c05472c84cf74b75230038302ac6d84b493efc5789f7626f30a186f1970b65ace5f5bb5dc82d0045bd21c05581e0376327eed36c4af62b611494701a64ecb75b54417609bca443d25583c700402031a573896010463741f44a9e53c7dc1d07b66dbdcfb756b68d716e54e968263230335d419e98b5308eea4be2e9af37c934f7db1c679b57498ec0372f3a5e9782bfc0302591673bd9f1a2df27d4e5c0fa507178045d7a767661eac189e0fcd332068a70398a00fe4a9347a33bbada3aa60eee6ce58f11dac052cbde4008ade269ac7cdba05581e03830c219d3451d96b97bdf300a3b88072ffba2545956ef8cc07f6a1a56007011bffffffffffffffff02198bb20219ffff036cae310dc347d0f1b2c9f71d9d3455e85783411a10d73ea0a1657943983bc4130219ffff03e62918726fe53651863b398b7d280a948e18f797df2df91d81c52f5bd9c2bb650219ffff030a328b4bcebc9e6af48f4c8dd7d6c82a255b432c0457eb625b2341d99eb428da03e61e596012413bbc10e2364c6383a9a373be32f5344ffe4c49c9d8e7f0133ccd03ee90bd82b2f384a933f1841c528e6ce163ebfa1cd1dc2e68a0362ead3703836003ec9db5e28ec1b4cbdeab06db0c7f1e3318c35661f5aebcbcb72955bded7c5244033e82e48cace172f9ede7867ee2a3e335c0501d72ff644bc3132f79e08b72db4903416a5c6720b6a27fa1ee6153b1c4693bf9a7011a1f672f6a50bc119e5d5d28e303c74aaaed70f29903d95047f75565ebdc86284bc1006158d469f8f00cddabca9303783b0a8d0cc00c837f2646f608d77a0126f6e40886e34fdb09a8ba43cee7f4d00219ffff0350d9488c8b2eef2bc676c7203c6ee1cdf00eb12d4b8b3ca97f372f52397b452803513b3cbcf8e5dcfde4f0b1a986f1952de9b0732a5197fac4f7befd5ec9a47d360219ffff03d3427ebdbc516db4f8ce553f34cbc557e7cd57611179e29ddc53b1dcf8ad69c703345cf3eccb164b180e73bb2246cd67b4360856618c81557cc40f9653c0b582bb0381ea7f05444ea211c97bd82797dbe729f0e304e4022965acdf887f695752e66303eccd85d47406a08d88690764ddb96460a922ae92e877c2e744fb634707a9967c035386a932fbd7fa2a93f3135daf702fdca185f266a6942aae08d7fe1de2d99f9603e345f5a4c4c6a631628c369e20d8398ce73392638cf8082360b460ebd532b8d703a2f1f51124caacea9a6c470d360ef751e0f4e85fbe4ad714e6520967cb1c7cc2039707f03c56818da080eb3faaa395f9b4137f6923db4a996cce2bab36b56117e9034f73cee25a48791596a34b406fce65158bf9b6b6f174b15fb9845fcb1122a29e03c835dfb8b6526e52bbd52570d0b4b7c9d4d762d49f764e709d29ce2aeb0122d303a4c849171da0cac4b5ddd2fee18ad25f5f827db7713896c90c2f237c497431410399f82e838bb52daf79aa310078e31adb5ee59b51ce2bba2c37967d4c90af88c103b0c912339bb39f60578e70f72700682c9aa101d5263e914eaef126e8c96f610203a0425eeac624b2862168e6b0eeef819bf535191e9a9ec19e88978d0d8c28fcbf034e0d8b09a41be87bb0eb3d0d0710929ab7d2fd19bc1dadaa4a1c4177b6e09ae6035f8779eba8ecb7358928d25b9cd855ccd8df417a0a5075654e189a6db129c0f8031d4628e211da367227a23ed36650e830d55d8f2745bca6ad9d34debc6f3ef1d503720640896ab527d6b6ba2b2cf776044eb2f66baf107c968aa9a9457dd6ed05ba03569812b1252887a1c6c10dc083a79a5199d3d8e90069e18c8da94b05c2f9ac13036e2d0bf8dc6e674c0591c720eb9f2f38f77fa3a356bc0df6c8616dbe91eafb87032f954665c63fa1f176e9761e51070de59bf20347f5f5cf30665d3921ea50e45503a2732e7ea3395ce910157e40e3c7cfc53b745458ce4c84ff0920d614fc3ff00a03ec781d7a2f1f305c5b21e32fdd5016e42aa4b361855cf803416f5aae057e975f03909646b313b078a40086a6414a4c3cd9b4594d3544d160df9572f8c580c8f70c03755ceac27a6c81ee7b10f41cfe33ffd31b6bc34cba389f6df23e5569fbb90c1403ec5e98e14dfbc90eb46fd51562e6b148ac5ded713c0a94f730e5787d54f252950326a8b434661dd7f751a0106d730678ce3805fa572295336eb8ae3c0f952eeb050317b4c10d2ba669947a31a3deb5c328775561fa60515495d3b12f04788fb483a703faf9d803ab56773756298c25904854f89a5ba23851798b8536f50ecedd04587303ec3e90542f1b2073ac50ad0a0416650c44ed8a597291670fbcb9242ed21c6d99033411ffbdb84e6d4e59f2a7df103f50408914066c73f3f6f53632c27635eca204035e1482193dcc977cf58e7108ce2b32587dc42ea8ec379fe7172ec7f74da5442403622483e9dfe82dfc1d4a81adb651ec6deaa031dba8ad452643fd6ddc4b369fdf03776d40cebe5359b85f62f9170889a8aa9a516ef5342b8d6323f0420b40483d0003900ee424e0ffba5f1f83ef94b59592b63fc7393635d57de49b81a3c64d5896440384545919f1d8aa7dd6f919584d3c8cb85ff96b43ce464d71ce1d998340a226fa05581e039e91f3985aa9356f17b1269ffbea7276bc875c1f87632a88b1df07ee300c0147277af8187b7cfc05581e03df83fcf7887910a3fa90b9b14c8650855296c438aca012151c87b173f0040105581e03f1b426288cac2eb41e81d7068c9b47936f232505ab58f39977656f365008480320db8cffada80005581e0315bae696893ace6979b9463b8af411e9e7ee73c6e6a773ccaa74ba26d00c18224758e3312d5514d803702d223c6e51ac63ff8ad1620c65e768a79f24c12c9e82a52b20776e7ca189f205581e03c7bd9bef4670c155a21164dbbf8528317624038383c62aaadf8687efe00c014609184e72a000031271f1a3c827e8250ce21f4c5501d4b57e4c30e3a914445a92447b9aed8a04a705581d025a3c668361a652c79f070961fac3e9dd7eed911a6d6eca2b37de71a704020459462660a0604081815260049081361015610022575b505050361561002057600080fd5b005b600092833560e01c90816301ffc9a71461093d57508063150b7a02146108af57806324856bc3146107e85780633593564c146106b1578063709a1cc21461044f578063bc197c811461038a578063f23a6e61146102f95763fa461e330361001257346102f55760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f557813590602435926044359067ffffffffffffffff918281116102f1576100db9036908301610a97565b919092878613908115806102e7575b6102bf5783850186868203126102bb5785359182116102bb5761010e9186016136d0565b5060208401359373ffffffffffffffffffffffffffffffffffffffff938486168096036102bb5761013e9161415a565b959097602b89106102935786359260178460601c98019561016d62ffffff883560601c9660481c16868b614365565b3391160361026b571561026157508186105b15610197575050505061019493503391613ac2565b80f35b9395945091929091906042871061021b5750505083601711610217577f8000000000000000000000000000000000000000000000000000000000000000821015610217577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe961021194019161020c33916141b5565b6141e2565b50505080f35b8480fd5b91969550929391508454841161023957506101949394503391613ac2565b8590517f739dbe52000000000000000000000000000000000000000000000000000000008152fd5b965085821061017f565b8483517f32b13d91000000000000000000000000000000000000000000000000000000008152fd5b8382517f3b99b53d000000000000000000000000000000000000000000000000000000008152fd5b8980fd5b8286517f316cf0eb000000000000000000000000000000000000000000000000000000008152fd5b50888813156100ea565b8680fd5b8280fd5b5082346103875760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261038757610332610a2b565b5061033b610a53565b506084359067ffffffffffffffff8211610387575060209261035f91369101610a97565b5050517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b80fd5b5082346103875760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610387576103c3610a2b565b506103cc610a53565b5067ffffffffffffffff9060443582811161044b576103ee9036908601610ac5565b505060643582811161044b576104079036908601610ac5565b5050608435918211610387575060209261042391369101610a97565b5050517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b5080fd5b50346102f557602090817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106ad5783833567ffffffffffffffff811161044b576104a1829136908701610a97565b90818551928392833781018381520390827f0000000000000000000000000554f068365ed43dcc98dcd7fd7a8208a5638c725af16104dd613675565b50156106855780517f70a082310000000000000000000000000000000000000000000000000000000081523084820152907f000000000000000000000000f4d2888d29d722226fafa5d9b24f9164c092421e73ffffffffffffffffffffffffffffffffffffffff168383602481845afa92831561067b578693610646575b5081517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000ea37093ce161f090e443f304e1bf3a8f14d7bb40169581019586526020860184905294849186918290899082906040015b03925af193841561063c577f1e8f03f716bc104bf7d728131967a0c771e85ab54d09c1e2d6ed9e0bc4e2a16c9461060f575b5051908152a180f35b61062e90843d8611610635575b61062681836135fa565b81019061388d565b5038610606565b503d61061c565b81513d87823e3d90fd5b9092508381813d8311610674575b61065e81836135fa565b810103126106705751916105d461055b565b8580fd5b503d610654565b82513d88823e3d90fd5b9050517f7d529919000000000000000000000000000000000000000000000000000000008152fd5b8380fd5b5060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f55767ffffffffffffffff8235818111610217576106fb9036908501610a97565b91602435908111610670576107139036908601610ac5565b92909160443542116107c0573330146107b1576001958654958773ffffffffffffffffffffffffffffffffffffffff88160361078b5750509185949391610782937fffffffffffffffffffffffff00000000000000000000000000000000000000009586339116178755610b54565b81541617905580f35b517f6f5ffb7e000000000000000000000000000000000000000000000000000000008152fd5b90919293506101949450610b54565b8585517f5bf6f916000000000000000000000000000000000000000000000000000000008152fd5b50807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f55767ffffffffffffffff8235818111610217576108319036908501610a97565b91602435908111610670576108499036908601610ac5565b9290913330146107b1576001958654958773ffffffffffffffffffffffffffffffffffffffff88160361078b5750509185949391610782937fffffffffffffffffffffffff00000000000000000000000000000000000000009586339116178755610b54565b5082346103875760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610387576108e8610a2b565b506108f1610a53565b506064359067ffffffffffffffff8211610387575060209261091591369101610a97565b5050517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b849084346102f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102f557357fffffffff0000000000000000000000000000000000000000000000000000000081168091036102f557602092507f4e2312e0000000000000000000000000000000000000000000000000000000008114908115610a01575b81156109d7575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836109d0565b7f150b7a0200000000000000000000000000000000000000000000000000000000811491506109c9565b6004359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b359073ffffffffffffffffffffffffffffffffffffffff82168203610a4e57565b9181601f84011215610a4e5782359167ffffffffffffffff8311610a4e5760208381860195010111610a4e57565b9181601f84011215610a4e5782359167ffffffffffffffff8311610a4e576020808501948460051b010111610a4e57565b919082519283825260005b848110610b405750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b602081830181015184830182015201610b01565b9192909260805282810361350d5791906000905b828210610b755750505050565b8382959394951015611b4c5760059282841b60805101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe19182608051360301821215610a4e578160805101359767ffffffffffffffff8911610a4e576020836080510101988036038a13610a4e57606097603f90818989013560f81c166001976020821060001461317157506010808210156127b4575060088082101561187e57508061109157505050610c2a908a614198565b92909860a08560805101013560001461108757610c6173ffffffffffffffffffffffffffffffffffffffff600154169b5b35613854565b9960408660805101013585829d927f80000000000000000000000000000000000000000000000000000000000000008314610fcf575b50959c95505b7f8000000000000000000000000000000000000000000000000000000000000000811015610a4e5760428610610fc85730915b86602b11610a4e578d91601783013560601c9083359462ffffff8660601c96610d1573ffffffffffffffffffffffffffffffffffffffff92839260481c16868a614365565b169084881015610fac57806401000276a4965b602b60405199604060208c01528160608c015260808b0137600060ab8a015216604088015260a0875260c087019587871067ffffffffffffffff881117610f7d576040948288958688527f128acb080000000000000000000000000000000000000000000000000000000087521660c48a0152868a1060e48a01526101048901521661012487015260a06101448701528160007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4088610deb610164820182610af6565b0301925af1928315610f71576000928394610f2f575b5050610e159310600014610f2857506141b5565b9a60428510610e5657309085601711610a4e5760177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe991019501949b610c9d565b50985098606091969597949392509160805101013511610efe575b1580610ed1575b610e8a57506001019291929092610b68565b90610ecd60409283519384937f2c4029e9000000000000000000000000000000000000000000000000000000008552600485015260248401526044830190610af6565b0390fd5b507f8000000000000000000000000000000000000000000000000000000000000000828501351615610e78565b60046040517f39d35496000000000000000000000000000000000000000000000000000000008152fd5b90506141b5565b91929093506040843d604011610f69575b81610f4d604093866135fa565b8101031261038757505160e092909201519190610e1538610e01565b3d9150610f40565b6040513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8073fffd8963efd1fc6a506488495d951d5263988d2596610d28565b8b91610cd0565b60149192501061105d576020602491604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301523560601c5afa908115610f715760009161102b575b503880610c97565b906020823d602011611055575b81611045602093836135fa565b8101031261038757505138611023565b3d9150611038565b60046040517f3b99b53d000000000000000000000000000000000000000000000000000000008152fd5b610c61309b610c5b565b6001819d969d9b989794959a999b146000146111b7575050506040926110bf84836080510101359382614198565b608051840160a00135156111ab5760606110f273ffffffffffffffffffffffffffffffffffffffff600154169435613854565b946080510101356000557f8000000000000000000000000000000000000000000000000000000000000000851015610a4e576111319361020c866141b5565b9091901561119c5750611143906141b5565b0361117357507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6000555b610e71565b600490517fd4e0248e000000000000000000000000000000000000000000000000000000008152fd5b6111a691506141b5565b611143565b60606110f23094610c5b565b9194929391600281036112065750505061116e925073ffffffffffffffffffffffffffffffffffffffff600154166111ff604060608560805101013594608051010135613854565b91356139d0565b9193916003810361157857505060805181018084019390604090850312610a4e57823567ffffffffffffffff8111610a4e5782608051010192606084860312610a4e57604051946060860186811067ffffffffffffffff821117610f7d57604052602085013567ffffffffffffffff8111610a4e57850160208201809882011215610a4e5760208101359061129a826136a5565b926112a860405194856135fa565b8284526040602085019360071b830101918a8311610a4e57604001925b828410611513575050505085526112de60408501610a76565b956020860196875260606040870195013585526040846080510101359067ffffffffffffffff8211610a4e57602061131f92611325966080510101016136d0565b5061417b565b909173ffffffffffffffffffffffffffffffffffffffff600154169473ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3163b15610a4e5794929391906040519586947f2a2d80d100000000000000000000000000000000000000000000000000000000865260048601526060602486015260c48501935193606060648701528451809152602060e487019501906000905b80821061149a575050509461143e9285949273ffffffffffffffffffffffffffffffffffffffff600098511660848701525160a48601527ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc858403016044860152613537565b03818373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba3165af18015610f715761148b575b50610e71565b61149490613576565b38611485565b9197965091929394602060806001928a5173ffffffffffffffffffffffffffffffffffffffff815116825273ffffffffffffffffffffffffffffffffffffffff848201511684830152606065ffffffffffff918260408201511660408501520151166060820152019801920188969795949392916113d8565b608060208584030112610a4e5760206080916040516115318161358a565b61153a87610a76565b8152611547838801610a76565b83820152611557604088016136bd565b6040820152611568606088016136bd565b60608201528152019301926112c5565b600495509193508482036116e757505090916040606061159e8286608051010135613854565b608051909501013573ffffffffffffffffffffffffffffffffffffffff908116933516806116145750479283106115ee575050806115de575b5050610e71565b6115e7916144d1565b38806115d7565b517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b9391908051937f70a082310000000000000000000000000000000000000000000000000000000085523083860152602085602481895afa9485156116dc576000956116a8575b50841061168257505081611671575b505050610e71565b61167a9261453f565b388080611669565b517f675cae38000000000000000000000000000000000000000000000000000000008152fd5b90946020823d6020116116d4575b816116c3602093836135fa565b81010312610387575051933861165a565b3d91506116b6565b82513d6000823e3d90fd5b8103611714575061116e925061170d604060608460805101013593608051010135613854565b90356138a5565b9091906006810361184e57506080510160608101359060409061173990820135613854565b9282158015611843575b61181b573573ffffffffffffffffffffffffffffffffffffffff16938461177f57505061116e92506117786127109147613984565b04906144d1565b8151907f70a082310000000000000000000000000000000000000000000000000000000082523090820152602081602481885afa91821561181157506000916117dd575b506117d661116e94939261271092613984565b049161453f565b906020823d602011611809575b816117f7602093836135fa565b810103126103875750516117d66117c3565b3d91506117ea565b513d6000823e3d90fd5b8482517fdeaa01e6000000000000000000000000000000000000000000000000000000008152fd5b506127108311611743565b83602491604051917fd76a1e9e000000000000000000000000000000000000000000000000000000008352820152fd5b819d969d9b989794959a999b93929314600014611b85575050506040916118ad83836080510101359185614198565b92909460a082608051010135600014611b7b576118e373ffffffffffffffffffffffffffffffffffffffff600154169135613854565b908615611b4c576118f385613a94565b8760011015611b4c5761191561195d9161190f60208901613a94565b90613c34565b907f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b938481611b32575b5050507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff860193868511611b03576119b9946119be73ffffffffffffffffffffffffffffffffffffffff9687928a85613a84565b613a94565b16948651947f70a082310000000000000000000000000000000000000000000000000000000091828752841693600499858b89015260249460208987818d5afa988915611af857600099611ac3575b509160209695949391611a1f93613cad565b8751968793849283528a8301525afa928315611ab857600093611a83575b50906060611a519260805101013592613ab5565b10611a5d575050610e71565b517f849eaf98000000000000000000000000000000000000000000000000000000008152fd5b90926020823d602011611ab0575b81611a9e602093836135fa565b81010312610387575051916060611a3d565b3d9150611a91565b84513d6000823e3d90fd5b90986020823d602011611af0575b81611ade602093836135fa565b81010312610387575051976020611a0d565b3d9150611ad1565b8b513d6000823e3d90fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b611b4492611b3f88613a94565b613ac2565b388084611965565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6118e33091610c5b565b919492939160098103611f66575050611b9e9082614198565b608051840160a0013515611f5c57611bcf73ffffffffffffffffffffffffffffffffffffffff600154169335613854565b92611bd9836136a5565b95611be760405197886135fa565b83875283901b820160208701368211610a4e5783905b828210611f44575050506000946002875110611f1a576040816080510101359680517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111611b035790815b611ca757505060805101606001358611611c7d578215611b4c5761116e9585611c7892611b3f85613a94565b613cad565b60046040517f8ab0bc16000000000000000000000000000000000000000000000000000000008152fd5b90977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff89019750888811611b035773ffffffffffffffffffffffffffffffffffffffff611cf7611d6d9984613a70565b5116611d2373ffffffffffffffffffffffffffffffffffffffff611d1b8c86613a70565b511682613c34565b819a917f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b90604051907f0902f1ac00000000000000000000000000000000000000000000000000000000825260608260048173ffffffffffffffffffffffffffffffffffffffff87165afa9a8b15610f7157600092839c611ed1575b5073ffffffffffffffffffffffffffffffffffffffff1603611eb7576dffffffffffffffffffffffffffff8091169916905b9880158015611eaf575b611e855782611e0f91613984565b916103e892838102938185041490151715611b0357611e2d91613ab5565b6103e590818102918183041490151715611b0357611e4a91613997565b60018101809111611b0357978015611b03577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019081611c4c565b60046040517f7b9c8916000000000000000000000000000000000000000000000000000000008152fd5b508115611e01565b6dffffffffffffffffffffffffffff998a16991690611df7565b611f0a919c5073ffffffffffffffffffffffffffffffffffffffff935060603d8111611f13575b611f0281836135fa565b810190613c77565b509b9092611dc5565b503d611ef8565b60046040517f20db8267000000000000000000000000000000000000000000000000000000008152fd5b60208091611f5184610a76565b815201910190611bfd565b611bcf3093610c5b565b92945091600a81036120cc5750608051830160e08101358101946020808701359450909291611f9991908703018461414d565b1161105d5773ffffffffffffffffffffffffffffffffffffffff93847f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31692856001541691843b15610a4e5760409587875198899687967f2b67b570000000000000000000000000000000000000000000000000000000008852600488015261202190610a76565b166024860152808883608051010161203890610a76565b16604486015265ffffffffffff808360805101606001612057906136bd565b166064870152826080510160800161206e906136bd565b166084860152816080510160a00161208590610a76565b1660a48501526080510160c0013560c484015261010060e48401526120b1916101048401918701613537565b03815a6000948591f1908115611811575061148b5750610e71565b600b8103612296575050506120eb604080926080510101359235613854565b91807f80000000000000000000000000000000000000000000000000000000000000008103612266575050475b8061212557505050610e71565b73ffffffffffffffffffffffffffffffffffffffff90817f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216803b15610a4e578351927fd0e30db0000000000000000000000000000000000000000000000000000000008452600493600081868187875af1801561225b5761224c575b5030908616036121b4575b5050611669565b6122139460006020948651978895869485937fa9059cbb00000000000000000000000000000000000000000000000000000000855284016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b03925af1908115611811575061222d575b808080806121ad565b6122459060203d6020116106355761062681836135fa565b5038612224565b61225590613576565b386121a2565b86513d6000823e3d90fd5b47101561211857600482517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b600c810361242657505050906122ac9035613854565b9073ffffffffffffffffffffffffffffffffffffffff807f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21660408051937f70a08231000000000000000000000000000000000000000000000000000000008552600430818701526024916020878481885afa968715611ab8576000976123f2575b506080510183013586106123cb578561234e575b50505050505050610e71565b833b15610a4e57600091869183855196879485937f2e1a7d4d0000000000000000000000000000000000000000000000000000000085528401525af190811561181157506123bc575b5030908316036123ac575b8080808080612342565b6123b5916144d1565b38806123a2565b6123c590613576565b38612397565b82517f6a12f104000000000000000000000000000000000000000000000000000000008152fd5b90966020823d60201161241e575b8161240d602093836135fa565b81010312610387575051958361232e565b3d9150612400565b600d8103612681575082608051010191602083019360208260805101850312610a4e573567ffffffffffffffff8111610a4e57849160805101019182011215610a4e57602081013590612478826136a5565b93604093612488855196876135fa565b838652602086019285849560071b820101928311610a4e578501925b82841061261f575050505073ffffffffffffffffffffffffffffffffffffffff90816001541684519060005b8281106125b357505050817f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31691823b15610a4e5783517f0d58b1db000000000000000000000000000000000000000000000000000000008152602060048201529451602486018190528592604484019290916000915b81831061256f57505050509181600081819503925af1908115611811575061148b5750610e71565b91938395506080602091846060600195975182815116845282868201511686850152828d820151168d85015201511660608201520195019301909187949392612547565b81856125bf838a613a70565b515116036125f6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611b03576001016124d0565b600486517fe7002877000000000000000000000000000000000000000000000000000000008152fd5b608060208584030112610a4e576020608091875161263c8161358a565b61264587610a76565b8152612652838801610a76565b83820152612661898801610a76565b8982015261267160608801610a76565b60608201528152019301926124a4565b9294505050600e810361278357506040918251907f70a0823100000000000000000000000000000000000000000000000000000000825260208260248173ffffffffffffffffffffffffffffffffffffffff806004983516888301528886608051010135165afa918215611ab85760009261274e575b5060805101606001351180159290612710575050610e71565b517fa3281672000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b9038806115d7565b90916020823d60201161277b575b81612769602093836135fa565b810103126103875750519060606126f7565b3d915061275c565b602490604051907fd76a1e9e0000000000000000000000000000000000000000000000000000000082526004820152fd5b9150915060189b95939897999692949b808310600014612d435750810361282a5750505060009250906127e883928261417b565b81604051928392833781018481520391357f00000000000000000000000000000000000000adc04c56bf30ac9d3c0aaf14dc5af1612824613675565b90610e71565b6011810361288157505050600092509061284583928261417b565b81604051928392833781018481520391357f0000000000000000000000000000000000e655fae4d56241588680f86e3b23775af1612824613675565b601281036128d857505050600092509061289c83928261417b565b81604051928392833781018481520391357f000000000000000000000000941a6d105802cccaa06de58a13a6f49ebdcd481c5af1612824613675565b919392509060138103612a3e575050909150357f000000000000000000000000b47e3cd837ddf8e4c57f05d70ab865de6e193bbb916040600080825160208101907f8264fe9800000000000000000000000000000000000000000000000000000000825260248781830152815261294e816135de565b5190606086608051010135885af192612965613675565b948415612a04578273ffffffffffffffffffffffffffffffffffffffff612993921694608051010135613854565b90833b15610a4e5782517f8b72a2ec00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9290921660048301526024820152916000908390604490829084905af1908115611811575061148b5750610e71565b505091925050517fae9bdf0000000000000000000000000000000000000000000000000000000000602082015260048152612824816135c2565b60158103612b4f57505090604091828051917f6352211e0000000000000000000000000000000000000000000000000000000083526020836024816004976060816080510101358983015273ffffffffffffffffffffffffffffffffffffffff968791608051010135165afa928315612b4457600093612b05575b5081903516911614918215612acf575050610e71565b517f7dbe7e89000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b6020939193813d602011612b3c575b81612b21602093836135fa565b8101031261044b575190828216820361038757509181612ab9565b3d9150612b14565b85513d6000823e3d90fd5b60168103612c765750506040918251907efdd58e00000000000000000000000000000000000000000000000000000000825260208280612bc160049660608660805101013590358884016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b038173ffffffffffffffffffffffffffffffffffffffff8886608051010135165afa918215611ab857600092612c41575b5060809081510101351191821592612c0b575050610e71565b517f483a6929000000000000000000000000000000000000000000000000000000006020820152908152909150612746816135c2565b90916020823d602011612c6e575b81612c5c602093836135fa565b81010312610387575051906080612bf2565b3d9150612c4f565b909290601714612c87575050610e71565b60409073ffffffffffffffffffffffffffffffffffffffff612caf8383608051010135613854565b93351692833b15610a4e5782517f42842e0e00000000000000000000000000000000000000000000000000000000815260805130600483015273ffffffffffffffffffffffffffffffffffffffff909216602482015291016060013560448201529160009083908183816064810103925af19081156118115750612d34575b806115d7565b612d3d90613576565b38612d2e565b9396938214159050612d7e5750505061282492507f00000000000000000000000074312363e45dcaba76c59ec49a7aa8a65a67eed391613717565b60198103612dd5575050506000925090612d9983928261417b565b81604051928392833781018481520391357f0000000000000000000000002b2e8cda09bba9660dca5cb6233787738ad683295af1612824613675565b601a8103612e2c575050506000925090612df083928261417b565b81604051928392833781018481520391357f000000000000000000000000a42f6cada809bcf417deefbdd69c5c5a909249c05af1612824613675565b601b8103612f53575050506000612e4481928461417b565b9390604094818651928392833781018481520391357f00000000000000000000000074312363e45dcaba76c59ec49a7aa8a65a67eed35af1918291612e87613675565b92612e95575b505090610e71565b73ffffffffffffffffffffffffffffffffffffffff608083815101013516612ec4606084608051010135613854565b90825190612ed1826135a6565b60008252803b15610a4e57612f2d94600080948651978895869485937ff242432a00000000000000000000000000000000000000000000000000000000855260a060c0836080510101359260805101013590306004870161380f565b03925af19081156118115750612f44575b80612e8d565b612f4d90613576565b38612f3e565b91949091601c8103612f8e5750505061282492507f000000000000000000000000cda72070e455bb31c7690a170224ce43623d0b6f91613717565b9193929091601d81036131175750506060816080510101359060409173ffffffffffffffffffffffffffffffffffffffff612fcf8484608051010135613854565b9435168351947efdd58e0000000000000000000000000000000000000000000000000000000086526004936020878061302e87308a84016020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b0381865afa96871561225b576000976130e2575b50608090815101013586106130ba57845161305c816135a6565b60008152823b15610a4e576000946130a486928851998a97889687957ff242432a0000000000000000000000000000000000000000000000000000000087523090870161380f565b03925af1908115611811575061148b5750610e71565b8385517f675cae38000000000000000000000000000000000000000000000000000000008152fd5b90966020823d60201161310f575b816130fd602093836135fa565b81010312610387575051956080613042565b3d91506130f0565b929450925050601e810361278357508161313560009392849361417b565b81604051928392833781018481520391357f00000000000000000000000020f780a973856b93f63670377900c1d2a50a77c45af1612824613675565b9499989a92506020819d9792969d989498146000146131da575050505050508061319e600093849361417b565b81604051928392833781018481520391357f00000000000000000000000000000000000001ad428e4906ae43d8f9852d0dd65af1612824613675565b602190808203613351575050505090916131ff6131f7868661415a565b96909561417b565b929061324160409788519760208901997f24856bc3000000000000000000000000000000000000000000000000000000008b5260248a01526064890191613537565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc878203016044880152818152602082818301951b82010195856000915b8483106132d357505050505050505091816132c5600094938594037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b519082305af1612824613675565b90919293949596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe085820301885288358284360301811215610a4e578301906020823592019167ffffffffffffffff8111610a4e578036038313610a4e5761334160209283928b95613537565b9a0198019695949301919061327f565b929750929593509350602281146000146127835750604080936080510101359060009060028310156134e1575050808491156000146134895750506000907f0000000000000000000000001e0049783f008a0085193e00003d00cd54003c71925b6020838251937f095ea7b3000000000000000000000000000000000000000000000000000000008552600496878601526024947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff868201526044968792355af13d15601f3d1187600051141617161561342e5750505050610e71565b91600e7f415050524f56455f4641494c45440000000000000000000000000000000000009260206064969551957f08c379a0000000000000000000000000000000000000000000000000000000008752860152840152820152fd5b036134b8576000907f0000000000000000000000002b2e8cda09bba9660dca5cb6233787738ad68329926133b2565b600482517f5461585f000000000000000000000000000000000000000000000000000000008152fd5b602492507f4e487b71000000000000000000000000000000000000000000000000000000008252600452fd5b60046040517fff633a38000000000000000000000000000000000000000000000000000000008152fd5b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b67ffffffffffffffff8111610f7d57604052565b6080810190811067ffffffffffffffff821117610f7d57604052565b6020810190811067ffffffffffffffff821117610f7d57604052565b6040810190811067ffffffffffffffff821117610f7d57604052565b6060810190811067ffffffffffffffff821117610f7d57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f7d57604052565b67ffffffffffffffff8111610f7d57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156136a0573d906136868261363b565b9161369460405193846135fa565b82523d6000602084013e565b606090565b67ffffffffffffffff8111610f7d5760051b60200190565b359065ffffffffffff82168203610a4e57565b81601f82011215610a4e578035906136e78261363b565b926136f560405194856135fa565b82845260208383010111610a4e57816000926020809301838601378301015290565b919290613724908361417b565b90938460405195869384378201906000958693838580955203918635905af19261374c613675565b9284613756575050565b73ffffffffffffffffffffffffffffffffffffffff60608201351661377e6040830135613854565b91813b156106ad576040517f42842e0e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff93909316602484015260800135604483015290919081908390606490829084905af190811561380357506137f85750565b61380190613576565b565b604051903d90823e3d90fd5b919261385195949160a09473ffffffffffffffffffffffffffffffffffffffff8092168552166020840152604083015260608201528160808201520190610af6565b90565b73ffffffffffffffffffffffffffffffffffffffff908082166001810361387e5750506001541690565b90915060020361385157503090565b90816020910312610a4e57518015158103610a4e5790565b9092919073ffffffffffffffffffffffffffffffffffffffff16806138cf575061380191926144d1565b7f80000000000000000000000000000000000000000000000000000000000000008214613902575b92613801929361453f565b9050604051927f70a08231000000000000000000000000000000000000000000000000000000008452306004850152602084602481855afa938415610f7157600094613951575b5092906138f7565b6020813d821161397c575b81613969602093836135fa565b8101031261021757519350613801613949565b3d915061395c565b81810292918115918404141715611b0357565b81156139a1570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b919273ffffffffffffffffffffffffffffffffffffffff91827f000000000000000000000000000000000022d473030f116ddee9f6b43ac78ba31693843b15610a4e5760009484869281608496816040519b8c9a8b997f36c78516000000000000000000000000000000000000000000000000000000008b521660048a01521660248801521660448601521660648401525af18015610f71576137f85750565b8051821015611b4c5760209160051b010190565b9190811015611b4c5760051b0190565b3573ffffffffffffffffffffffffffffffffffffffff81168103610a4e5790565b91908203918211611b0357565b92919073ffffffffffffffffffffffffffffffffffffffff8082163003613aee575050613801926138a5565b8084959411613b02576138019416926139d0565b60046040517fc4bd89a9000000000000000000000000000000000000000000000000000000008152fd5b9173ffffffffffffffffffffffffffffffffffffffff93613c2d916040519060208201927fffffffffffffffffffffffffffffffffffffffff000000000000000000000000809260601b16845260601b16603482015260288152613b8f816135de565b519020613c01604051938492602084019687917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b5190201690565b73ffffffffffffffffffffffffffffffffffffffff8281169082161015613c585791565b9091565b51906dffffffffffffffffffffffffffff82168203610a4e57565b90816060910312610a4e57613c8b81613c5c565b916040613c9a60208401613c5c565b92015163ffffffff81168103610a4e5790565b9260028210614123578115611b4c57613cc584613a94565b9160019481861015611b4c5791613ce360209461190f868601613a94565b50926000935b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84018510613d1c575050505050505050565b613d2a6119b9868685613a84565b92613d3b6119b98a88018786613a84565b936040908151957f0902f1ac00000000000000000000000000000000000000000000000000000000875273ffffffffffffffffffffffffffffffffffffffff80941694606092600493808a86818b5afa998a1561225b57908d9594939291600091829c6140fd575b50508780916dffffffffffffffffffffffffffff8091169c16921692168214998a6000146140f7575b8651958680947f70a082310000000000000000000000000000000000000000000000000000000082528b8883015260249889915afa9283156140ec578e6000946140bb575b5050808303918115938480156140b3575b61408b57826103e5808602958604149114171561405e57613e439083613984565b926103e880830292830414171561403157613e689291613e629161414d565b90613997565b971561402957600097905b898b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe820181101561401d579161190f6119b9613eb9936002613f039c9601908d613a84565b8198917f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f613b2c565b965b988551918d83019367ffffffffffffffff9484811086821117613ff057885260008452813b15610a4e5760008a93613f8382968b519c8d97889687957f022c0d9f0000000000000000000000000000000000000000000000000000000087528d8701528d860152166044840152608060648401526084830190610af6565b03925af18015611ab857908d969594939291613fa8575b505050505094019391613ce9565b909192938095965011613fc45750505287903880808080613f9a565b6041907f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b876041887f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b5050508b956000613f05565b600090613e73565b856011867f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b866011877f4e487b7100000000000000000000000000000000000000000000000000000000600052526000fd5b8689517f7b9c8916000000000000000000000000000000000000000000000000000000008152fd5b508115613e22565b8181959293953d83116140e5575b6140d381836135fa565b8101031261038757505191388e613e11565b503d6140c9565b87513d6000823e3d90fd5b90613dcc565b899c50899250908161411a92903d10611f1357611f0281836135fa565b509b9091613da3565b60046040517fae52ad0c000000000000000000000000000000000000000000000000000000008152fd5b91908201809211611b0357565b91823583019161417460208435958186019503018561414d565b1161105d57565b91602083013583019161417460208435958186019503018561414d565b91606083013583019161417460208435958186019503018561414d565b7f80000000000000000000000000000000000000000000000000000000000000008114611b035760000390565b939193602b841061105d578462ffffff6000614267946142ee6142999935988960601c9a8b9a61423b601789013560601c9d8e109c73ffffffffffffffffffffffffffffffffffffffff9e8f998a9460481c1691614365565b16968b861461434a576401000276a49a5b60409d8e9b8c93845196879560208701526060860191613537565b91168b830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826135fa565b848851998a98899788967f128acb080000000000000000000000000000000000000000000000000000000088521660048701528c6024870152604486015216606484015260a0608484015260a4830190610af6565b03925af190811561433f576000938492614309575b50509192565b9080949250813d8311614338575b61432181836135fa565b810103126103875750602082519201513880614303565b503d614317565b83513d6000823e3d90fd5b73fffd8963efd1fc6a506488495d951d5263988d259a61424c565b73ffffffffffffffffffffffffffffffffffffffff92838316848316116144c9575b62ffffff90846040519481602087019516855216604085015216606083015260608252608082019082821067ffffffffffffffff831117610f7d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80613c2d9183604052845190209361449c60a08201957fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54907f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98488917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000605594927fff00000000000000000000000000000000000000000000000000000000000000855260601b166001840152601583015260358201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff608101845201826135fa565b909190614387565b600080809381935af1156144e157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f4554485f5452414e534645525f4641494c4544000000000000000000000000006044820152fd5b60009182604492602095604051937fa9059cbb000000000000000000000000000000000000000000000000000000008552600485015260248401525af13d15601f3d116001600051141617161561459257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c454400000000000000000000000000000000006044820152fdfea2646970667358221220b2d6a39827110492aaa15cba3556e23894a51f2f635dc99ae66d21764ad4d90b64736f6c634300081100330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210310e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6041010219080405581d02367b74293bb052cf32dbf499b5c69c98fda9beb40172c7513283aa71070119462603eab71320eeef085932d28d44e0baf57b58344eb1e00ad28043fed2773af1d7eb0605581d02fa23563862f322c7e205623469c0b78f515b247fc070b0a8a7a361b207011bffffffffffffffff02192210030c975042158b302d08b687b5ad55407adea0f6c0c8e2ae9027af5f2b66a90e2503db731c607521cbd787386a1fe342cdf1bac891251c300135c9c48e15f96572ae021979ab036f2ee834e1f27ab29334718c1891c1fbf7b4905b5c3c8413a6455bc362071e0703a6e69c4e7f6c01cdbd2a57007b66d03fcc4d915e823bc0128e46df6d003bf27103886f7645e367e56ba68b766987c56dfef14001d37ea052544e5bc80fa127574203d5e6f2c9fedc019daec57e9f9de99606ad6622acd7e5752e59cce941342141550368fd523bc7a98534cd05165476e5f4aff3d49d9353645c45a3718810935c63b703a2b47f7b9bb8970017b462680a3019b86a20a3053c28d35b35d8055c6e9ec09f0219ffff038d82a113feec5be1befcd1a92c6b71e128f238629f74c895b40f1b0d31970eb703e32cc14941b0c0e26fd4cd6a1ff7904594c84aee9ebc8ea8971e9e4ebb4e11630365a9fd54eea42809ad5d130b0257ffc59ecea4d36525c5f059f0ba74e12d97da03281a34dfcf4c9272ce28f683e1214c28e3bc7320ec32034b66c88950440b6d29037acfa0a74627f84ecc785940d286ea2f47d8719391be009f1ace0ba56de41b970311cdc47e8172f6af544d8b529571110c099bc95182cb9fbefdbfa94a345b453703f2b6daba9341b5868251a1ca9c40c9331d0458fd2860406a2d3b2c2429368f0103607f0de0931910ba9ecf0e19204ef4454c8f293039132d816a94fd013c53224503de0dd51065e16214b69968bc663ea47bd1b58f4a23def0cdb9ce7826e6b5798b03208d267634ee7ef8b6dd028468268e4642393faeea95298b745a6d3793a910240219ffff0338c61070304c5a56b382ff5fe8279b579ba528f8450ef0972671f54aaf8a1807033df2a9b7c7835a37cae5bcacb6bd5614801c723c65b8c038b6895bb8721005d30345f5378f333db1e4dbc4ff7bb03fb174652735acc417491426ec1d5b4b7c962103f624a84b5da7da6f6d297359ff86b3f5b7aa514c3c544d10b7cdda48c3b6538c03d2ea0d5257ab5b2e9d684cf536fa24090bdbf8144370ff8296130dd05fef871f03649f0628bacb781a5e38fe229e48f6333d3fcccb12e8232e0ef40894f79bd01403265f0d31dffe3ddaceb1a6264373b2071694a42cdc8deac6f08e7167e3b53b5c0348755492522f9d4186ee1d2ef54e05eb48ff50167faaa3cd8bdbbdcd0f1dfb270388fcd11bfa6af7102fc26c75109a9bfb91b18b098abdf9941b4fd719c4b38b51032b8c63effd1c55715b1030ff3b0e540120c7468ab949e045e2b56b75a851f8ad03f1f869a4f7853a567e16451e77c8fcd41eb35442dca17ffa169117e376b12f52035315b68e12efbfd7e425d1303ac50276124043bdec90967756d20c135a4439030219ffff034fe4674fca460c6b0d3775f93ae770fd2f8f6adbf3df8a38cbd20f6858dae16603d5f6e825b679423f3bc83a3858566924aca2c9fe0fea7a738e50c7473705430f03d8f3699affd4c37f3873e6cb56c520da8768f9b299beb3d24a6870e3ef840cf90219ffff03a856879ba50e428f706e8ea8ab23bdfcf6e533526774c801832f406c496c8bf5035060819b722c0510205215121ae18a0c91ff232cb1bcfb88cf5b126021f47f0103f192f4200aad1a68680a0ee8a45f52d5d9499b04c4ca9a9468ee3e6d05fb06a4031dd5eed083075ab6aab72f5bc31a42da9e452af16b44126c68c121599b5d7d5d034b4c77225b00a5628f40c7b1d2edde5a0e1e73ee390eaf46102e93ef8b5c6ec803f4cdd6911f721cf8a8349705e06795e1537271c6e71ce482458062864481d36a03224c9b283bca44bd906cbb6f8aa336e7a8832c19b90234aca912ac95e3b23b2403738163b6eff66aaa37335f5c07a84f61fad13f1dbe24a9e3305b4f9847612e16035366ef61de8dd9508e66112b8a8b9107be9b4713d881a04d20e9b24b4f8555a30367bf6f3570230084e9c845f3e358a0a970cba8ad34aae28c1b39d795c49abb9d034879cf3d253b210eaf97a54bfb2882218cd549e779dd0d460106eaff45f0e2ae03f344efafc63dfff5359260d7f7bbcab1fc6c9323363f11b02462ad8b02487a7e03698d776c9cdd56361bade4cd6f0367c0b52268918652074bb0f1671277be82ad037b49101ecf8284f85a08144c80e24b6387eee2b2b282d59822cf8371b48a26280316035ab46792ea0c73b6c679cb03babde3ef39281aa0432db7112e9a803b947503eafd1132f34423710d00cdb047c30f5dc4c63684c6b4aa48a8c0094e6b2ad4a503397aecf779627d1b5ba31cddaeb3a41d45ba3a8851546c42fc8b848da29e968f03a31a78dca744bb051e20db4fcd34e9bba63d3706702f20d33ad199cd4ab4158403a908dc082006334a16b811a096a809f25c9d7b210a0fe3f8d7bd6cdcc36e7f77032915c27a44a0c56ab5b5afdb8d8abe8f346ef4025707debb97ab0ebb7848384103fc2222896f3316227969e6b783146dae8b67e920fb4ecca348f07fb708be8d3603177bccb80a7c5a54167ce15e7e4dac105176699cb48417cdb1f44b8c3a11164f05581d020562f180317169b17c114dceb8f530662cbf5cb45104976be1c5799c040105581d02cf6f47949b59006dcee0bad9757d925c1b03370423e7b3d302a33b0e0c0247051bbc32954c0005581d0207d087d0e06a061d8cf2eff483c4c045de877251fd50ec7b4ce9adf1084801ab91dfed466c000219182203a690a9b22e0e9d4081a8239747d3e85652d6142224268c40bb04bf4e613b0e4f05581e03f795d314522a92fe3cddad5ccb6effe61e7c8f0e1712b46dac64cc1dc00c014705217d32a74c4805581e03cb5f1adcd30ce464ef14796b2dd04127771e378a1fd231dd39e1298dc0040205581e03d81578c817561388355e2ad7b32ca851dfc59f8c6c00ed57a27d33b2500c0647019f6c1af7231805581e03c67474d53313f21b8ca161dd5b4e8363a97fe4c39547284fe47c396aa00c03470389b413e1aec003d3183fbfdab637c08db5ae2b8a3a28bc294ad04da22eb904ad8adb7d93b7aede035401c2db8b68c2e025117584dae009174f816ed4097edfa39027af3985a6b86e03f47c023b26d46373454f84175ac598ed5487c76eed04930adc60c25f0d7f258205581e0311a2f42e657e9333f22ad102102245aa3da2808880764b8b220367a8300c01466346fa684d000219d6e30361ac68c7460b43f1179d400ece1a1c2347efd5bd0d9f82a89858826b616c121a03440ccd7dd0fbc59b9b31d45edaa2ca42e226a8534328acc77ddbf0685902f6b10345883bdaa16f74f7608c7e7d23b01bd2eb3175864cc1216f1c1b17e223cce3cb03b5a1452b917a08cc1fb519a022df0763cc3cada88fb73de62685c43a5776171203b0856d38cc1efff710a845dfd301eb555c3a5d363b25be0c7296b3c7436f212c0395581839c4f631602aa9815d6c6f5bde978402810d2a81379c062219c446dcc80353ac20cc0541b52d042bcac44795ec73e83b99454312bc9dabb1805ffcc69d0b03aace27d352a94b435805f2e867d3ad5a313873bbbb7daa09f3e8448bd65c3e7c038fdc73be650f209da66653d3dd754ff0a5992dc0bca44af1900cc2e4270bc3bb031a596835d22e9dfe81946f42c32c99e4847c7ea1240e9f618495fc553373634d034208930241b5a8096c2095002ae9f3376ffe7bf5622681fa02ae4d2ee243468103a09b17a06953faf770cdf4004f487d6ca38dd959bdb95de1d4efb989c074442703546736042c4a11904245877b4ead062251fce46bab096d5e70a455ffa788cd9d0219ffff03ac9a2d51a10f528167c4801018f26235bebf1dd784e39eddf8edea5bf30d55f503465555c4dc84934066ddb671d203404f6a6518ad795f2e1f00cd97cbaba5aa4d03ecf80f1437417b984cde4b6191bf8705fe9743c9694bf7e8a0e39f118a2a639b03732291a91c072c786847787dc5a1b6ed7d782a4d402ab15d4f3dcfe85c47459503b04eb23bbb084ab2d08e808940529bda17651367e69915eba2e7f78a71d6a12b03d6e5fd7b0571ff163315cc7f3eed475a9ef4cd06d7e51964cbf00868c212e91703a491332be56b92bf50fdee51b32061690b6ffd4540fb9edb6c8d751c1a93c959037f6a1004b4c0e87449ae7e676984de52682d4dd5e4a82f6560d54b458fe97e4203fde2bb17312eef02c226e9e307b1e75a568953146b1e50175c962d52762b9e7003519c02bb0ccd6e4e7a983a322aea9c5ac97410629bd1140a8bc0f34c640a4a1103150963371f7a441d90eb104c6819e3052f886f4e41363f36880ea99983ff7d2003fe94cd9319fb1dde5cafbc421fa08111caee08185b518bc8f41efd021dd65930033fd2f7d42851ebdd5eeb3f785b883cb8c6a716d1d14acfa1da3e4dad33cba3960219ffff037a3b2292b97d951935219e48e0af413fc0b2a080ec12ecb11500fa30693f371c034d898ec8e9221364417fa29aacfdbfacf664733803a271be359d515f1c75e39e03da84dc259556887bf48381f635e12a92b100ce69da5eeeba6dd685cc45e7a9f7036b0f68c757e23d6ef24b887411b95b3a6061862203d12f6650c081cd6b7a96e7032815d7f992d035862ec2b2b1711b9100d5a4bada4e683644b52cf0eb808fe803032ee816bdf1bf4916da95b818192a58ae97ab144037fc0773ab2f7844d8034e6a03b5814acffb81775b79b223c8a41d7927e351e5836a2162f5d7ae6db7e5646b93034fd3d1ff915c4f3ec0903f7233c4e0eea80f7f3dbc57627438f11ac2580994390219ffff036ae455a8f98f602ad3df3bb4b8f35140ed320d28981d268d11e4bdecf761f691030f365cab02f9fbbab84a2d2abc964a5d04815fbf27caa1f574c20ff88dfe3d34033f5ffd77dfa969a03878e24bcdd6aae9804df7dd805355087f754cf34ca27351039e1674c0fe03b797fb0d0ad7c1a0e47e9813b457884b61087b07394399bc21b80379e4ddae0109844cc53761f22bc5b53c3910bd6105cf368eae6d358cdf3311210219ffff03cd98bf9f6f35337d1dc7521ba37683c5a9c7db2f97c15ebd327bd1ecc94f73480399358e17a1bce7878169d6caa3743f1d3ab4becf862ddbef324ad5fcec1ffee20387f568ac40805eee9bafb18fd2b86755ddc504ff7d7a8e623da11e7db03bdf53033ab9ea79b00ca0d33fcc0e64dd87b8722ea5be97610aea3007b451e751c3087c0349d44405343b3471e6bf6c72a37de5605908e5de5aefeeaa449a759d4e0227d503f1f346e98202b9b6197ae71711be78b64951b18c4629c1f91c10e7f18f4f8a87034ec68f38a295d5464c83f1d4a64558e7abd9cb6f649c27888fc513859fb17cc90341b4a1403e3a2cdca6627e540ba32ee84397f3764dc4a8f67441fdb35032f249032a70224aebc05d5bff03c5a4163781d136fa81cbc9fab25c18c2609578e2039303e1c63c898087885a3d179684fd728e1daea6112639de2b454e3c953d4db4c6e20307a213c9ef6e55d90bdad7c1a9604a16879cf7e5fd3cc67cd7f2a75bac8971fc03241f8c19007140a630e5edd4da2b6b2b9c89da8a7d9fae6f2ba8a28f4d2d632d034af651f1e0cc55a176ced1698a8fce42331445baf3095b5f247b21f48dd7c22e0302153fede80508f9ad33413847336a160617d67cbacd452f2807bcb5e2c54a59033133288ed6d559d82a7f2f68cdfa086c5138894e4d58fe0070242d73d208969e031f71467888afa462854d1c40e49f6f81ad28a85256a6d3ec58a97d60d70262290327a9c52f24d0bd1d5b735faf7c322e32eac9d9906aa4657bdb8e80e6f4637ec00303117d5f66c9040f7dff9e742bc1ab5a86b8f46d88e0fc43a794a2a0897e0a7b03dd77d7a3707ba04957fbfeb34b23d447212261a7c4bb8f250c3ba3bcf297730e0327f86466975873c5c29cadc05699588b004c248585542aa28a2d2cdb85ca48b103166d0292a047a2b742102af5a626b605e56b1a8a92ad222086e373f8d45576ca05581e03a43e3903f66aaefd901fb67613eaa643955317e0bb01c1a792b4c00630040105581e03a341e158089440752a302ccd30e9dfcb39f0b62a9b6a500de87183dc40040203106a972eed001c08010e86dc4053257b14ffcfd34afc7474f5c204c56f33fc7903510b686d4bb215b8da138b060ef7aca04959308b7200eae2e7d7183bdd91775305581e0309822469b484d0d834e850f6213228ba12127fe695d2fcc5c7e0969f70040305581e03a5fb559e6713f246852c3b9b24d8521e4e21007486f220197f2e181fc00c0246e1069bcda90005581e038ece7292ca4c5fbc902a74d5ff3cf4c515e0b2a8d3a824073a46c39fa0040205581e0377a4c85cd5ba94f9ddb4c65ba76da98bbd1a329f35fc18b1599dea2a100c0b47106502b615b5e605581e030baed5bca79d091f4ad010f631622b1cd06ccd3e691a2c3565e70ffb40040205581e03b17f6401573465e8dfc06e5acaaab0ac800896b72e8ed1330ce6667db00c0446940d56198a0003a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581d02be5be7319110e052ef96ea1f34e3470214805f16c64ec3d744461a1b07011bffffffffffffffff05581d0359795cbe09a5b3d4cf6416da453015c5a2cd9d77646c7ed8bfe0c56004010459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000aa6e8127831c9de45ae56bb1b0d4d4da6e5665bd81565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000003c8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f0000000000000000000000000000000000000000000000000000000000000bb861309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000aa6e8127831c9de45ae56bb1b0d4d4da6e5665bd8d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a2f867f0000000000000000000000000000000000000000000000000000000000000bb862ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000aa6e8127831c9de45ae56bb1b0d4d4da6e5665bd8b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000aa6e8127831c9de45ae56bb1b0d4d4da6e5665bd908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06281565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000aa6e8127831c9de45ae56bb1b0d4d4da6e5665bd9087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000003c81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f0000000000000000000000000000000000000000000000000000000000000bb881565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f000000000000000000000000151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7f1614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000aa6e8127831c9de45ae56bb1b0d4d4da6e5665bd1693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000023746e6a58dcb13d4af821b93f06261513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000003c615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000003c615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03b77131c1b9aee7534978db824b772cc3256a400cf8d6166a19d8a58b360c0ba003a1f78d9693bcd5a58c2feefa8b6865ebcfd841e62fb82e526e188ab7882ce4190366a309a96c0dcda4eecc20e8cdafebc753c57a5133104c8cb0638f0c19063a880355d40929974909af7204e0854244aa122333f0d83462287a6328c4df3dd513c103c5ecc63d6b5b23a69e5a2d1cc54f7858681e7659e77be3b12e5d682468aec2e803f34c132a8d62712860aaa9dd7726231931ead6b0ec8feca80502a9bc71bb518e035e7c06830da5d61486d75fb45aef711f2314109257409684641035f66b4b67d7035f364edd41fd03d6d5559fe2734b2a0605628c80aa43078f2d64b4040ef6d56803d8d159b23abefbaa99d9b6c0ee3df9f8cfc34d0e5ad8f452bc4df6411ec2d04203eddd52d56b49348455db9b1d2bc13c3b9b6270bcbf20f5b76de854b94a6459bd0396b1960dd27e222527e4cb064eb8449a70a219dbaad098c06c4914f579f4831900582003decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010000960096001cff4604000000000000000017aec52119ccd7cc88860f2603eb8bea9692a47fb99a8010b171af4618327466493ea64bdad070c36389e2a352014101005820034e426c4bedf21aa91acbc91530bfe652db9ebcab8cf58a5e826a05f75b61305820ffffffffffffffffffffffffffffffffffc2d6ed506d354d2a49a2f317cee393037f0acc77793cb6606c3aa841e62b2d7d400f12ae729395d21fa313a70b16dd710058200310d70cb8916de18e97192e4bc74ed0fd05842fb98dbd70d1b4a091684594c050385c4b772fc5848f05ab69adfa9172e8005820033dcad244d5755f1d2b08d84747e15a5e72a22f6c5405fba4cb4fe9e226ec004fa36f1822be7bf3e78d1871b94d4b140058200328644b4979a1fd54d6000361880e49ebfa78c8a19050b8a4fecca4b21068604fae1387dff059c22e476e6e406d166400582003ea50641ec7821f7a4e0615a834a425087d66b3b27e8304826904d6cc8e8fa05066ca06fd1b9e60d9d76686b334bbab0700582003ff92a342df489dd95855c374221e2582967b984deaafe340c4c23fd0d2bb504f1576e0ba37d5e368068c08f619293f02195b3503ad1aa595d32fba83caf31a4907aa9e79bb5f1b66df1108b19cad16f7aeed1708038b5f70a3a91f73a3d819bf5f0e0b7304d43c349ddd443e09951d3b22bb425ab10355252b34159a667de1da04e7a39f3caf68e03306710f4193113bb73b36f4b70d035124f83a6f3133ccb9ade52132236aa5f50ffcd179277b65176100c08046098e034a90d45640de6511ed3a39d1f6d60b8d2a500f9c9bee5ac0fb439a93cf30421c03e8b92938b9979f7657b399adb3d3340e6239af360b346cb67dd2b69d110f68a20219ffff03c25585b5075f18f1e87f9d934f7df1b6acee449e8daff4c8f1ed50378b65d369039c0edf77a4f67500d94efe580b3c0bd8ff2a8060b1a000563675366414b20feb00582003968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c0582001000000000000000000016fd193522bd9fd77edbffffc8811714c3765c3b7b703eb9bef866e0b242f641e8235df09d54029a7dccd085be029ebe412f466557f0500582003c121d27737c7e04e89b1c35a201228afbc590edb2b7cc7c37b1cccd911e4a05820fffffffffffffffffffffffffffffffff5e53f39e2a0a8c19db565df1f277e7a00581f0214e07e238b869c8de897078a136a012c4cfc1865f9bb2fb068d563e723b75004bae6218a382c25d79ee59665b5433b00581f0287fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5007b776b6f7f89a9b01153e6edf9f705b00581f021ba098010bf28167e34294f0d4f5362a5ad91a479b25b0e4a29c29d913724f0b01b6bdfb95c34ae42942f98c6362021902a00058200372231f0df6d604b39b3c9e0b21f04f81d032a267d8ab634f1f11407211f8c0500e15ac082551fd581c8d4ba52739699900582003018d72b691f50a1d0388afe78d55c356d4eda980fedb81e990019a266969204f207d27080ad32f53c39787886ee954005820033f34d991ba4cc16296e0e23edc9f782e961faf5c50b7abbf97dadcc9e8bde050055a477131398231df1a40476e43ff680058200386fbcd7aa48bb25b13db7fc2c791a8bce6c3c61d08b05158c6f6af3cec9270582001000e89fe00000000000000000000010e7ef369415fe992eefffffaa9da42120058200326da45bb052096e7110481c3729a44362fcde2c35f8bf9197e13b79615771051010000000000000000000000000000000000582003a7b91630585f599ae9f4c43b7dceaa11a82e83e07ca04a9993f9061f2329c0500c72de35d21081f9d8f783ab4010c951038d26cdf0783d7dd5ae5510f6718c8e2d1e969d776a612e420f1f52911e5931cc021997f703fcacafd197a9813e8d1eda7f19c05bcf2124c474f23943c597b6e9655fbc91b803c77b5a7e14566ae2886fba2f0748ee2e9e6564d584b15264b8ec5038e2cbd8fb0301fc456aa244080b2967e61fae40ce7a93d78ccc6dc6f594c91287ffc9b8698a03912ede85665af05f8d00f694b97d0ce4128b2328710ccf276e8781be836857150343ec712582b76168cee9a4fb0222b5ddc89fd311d08a3d2c7d64e4651a166f1c035470a6bc2e3ea047739dd2f52333b6369f1957354b9c0415c980a78957c24bd4039a97b39d25426509a820615931d6947b8b5165fcd7d37a01114074d52fcdfdc403ec332af67c7442a29bf444450221b07a0274550580a6b65c4523b74fcfc4a7590351087bb1af26310c3a04979b58bd128d4b63f71d92200eb9b9381a3e72dfd48103494b5e06e26dd91d8401df94d2afbdd9e6cd6e2b7f7af6ba088b7ce0f7b577ef03778149debd725a1a38d065c900070d24635a695d3d297e2e4c84a76308630fd6035184035a15e4e3d73282f850618df84ecb05f5e46b490691a314ea8f3436f427030017e6fc16f5e96004b5ca6b6110258b81090991f3d9705f7dc28c484e9fc7ee03a5a4a351624154bd6caa487570cfd25c8e8778a12e944290748fb28fbf280666036ad37e6bd9f69adf26986c532c9058c76d23c6de34e52f13f395512bdd503ce30219ffff0319bebc0d5b9b3e2c426e12f2a9f713208ba322f9864aa2b1b5a944368dce26df03395723bc577c79b2b53b32b19ff3776faec8f0df59ae3b23ae540646f2d32d5d035228cf4114183b998c8c33bffe16de282b577d944e1d309a056e481ac650394503c7b18898724891b2ba2541b13ea2eab5ecf5a4bfa0f7c020fccac95a9f2eefdc03dae8404b93fe261341cf3c3fef6f00d0c1b99cd42d9fc181c9519ef17f09abab03928c2c7eaed2d45972bbb9183db6a6326c92657bc7ce0d31f953968dbba6713503cddff768c20048446a862f463188ef7d25cab55a4648664edaf847a1bb3ab006030d8685d32ff5fafce8532465bb27d075ebb1b5edfd4a1a50c5b533f8287509cd03dc443848fa04fbf4b9e64bdbe30ec15d818bdf4edc25ff8b7f266e8af17d5bab0307fdd008a4cf94c97b558504b2c7851945ab2fc18fe842140bb3255bc1722e7d03c0a1ab5b5f4e29a6c7159dce173684492672f1c42b62c48e154b54c281a0e866005820034d838ae5a65c8684413e5b1fcdad8ad7c086453dfdc5b5a0d562914945d9704f3cb0cfea6a5225f3d651767aac185b0368706b4b36e124522853198276c703644a5b6d3ff373848992bcd821e8cc5ef80058200305c4dff12a2714b8b53f012978be28b6502cb9cf75debc3c5d698f88d1ab905006b611cf3200b3b76acefbc1dac1b9c200582003bd3c01070c86ec2f69d5dfa20e0eb72498e15246f6406724d60f2bc474ea40503df4362df57ebaf686420ab7a547d5f400581f0280cb52633fcf143703e205ff58e289adc650372f4feb3c2394fb63a8d0145820010000000400000000002884010015000001882020000000204000000000000000581f024e74037d718043e4ee5e4948658f38671f033648d671e4c2451864da8a2d4f0bfbb1ec225804fa6ab43cec0d261b00581f02d7d41f680d5328f2591f00795632a7a766e55ff0e428199037bf0b3cd2e44f4e73c958dde80f1550924838bd128c0219042100582003c22f5d19620fce14649126c5a51907c5f8e9a6b57af75a9c331c808f0b140050039754149606326c4f79a30a795d9c7000582003d649816771542bf1f465abe97c8a9e73195a7d97dbe5df4da6eaa593600e105820ffffffffffffffffffffffffffffffffd8664657acdc1dbba5cfc5f2ade037af00582003d8ef97b7aa7e801aed1c178428c53eacb13aa0b41f6f2c8fde03fd966ee7f05820fffffffffffffffffffffffffffffffffab46c98418671b9176361d098bfa7d8005820032b9c192a4ea260a57815d3b69ba50415ab39f2a8704e6d4f689e680f559a405002969a47ffb335a5988c5f5fd7a5043903fd1e7351b9464944ccc17b65807e4009cc5e8789b731486300f903a97fb4ec6100582003b3171b18daf9ce9a31212ed4faf6f734a32d2828ac1c1afec2367f320c7be04fb630fbdfa69d21b66265954f6c0ddb0373673a9f3790f26b8091ef58c4595c7c38d4eb47eb95bf2f4aeeaf8e76ebd82602199fbd0383deb6d3a9f6f3e4d31373a9d6eb5c93872baf5e792e06bd20776d4a870037a60390121b97179f77ff96846a265459df220ecd717aa39a0a72c12b703ba8460f600340fd9d1d88d3b863d2825a7da190b82c1836c507f28b2e21d7deef9cdd060c1d036fb25ca541ff6c5a282c887fac9565b0125587257e53e3515795ba45e98ce59b0219ffff03ee1e1aa658fb8c60920df74ddce91dd1d0f8a6f3ab18c60980eefeb806433f1403b90db81803bb6373cc3b3d68e54a7949f17f02262d8e4e3faea8f45cddc404e8034d1271ea4abdc2e3dc878a5fb289ea2dae6f987cb311c2f49fa5256e588f596b038bb11596e850820838d84661005b7827ed47407593996c855e59ac4c21e6631503e49796c1f22ce92cd663cd8ccee356b7520e733a4623d099594b5f2e123dd8cd0380b692f11f202873250cfe5a415c52491ef77ee89a038120b1579409baa6dc0303fefef13c3796cff6dd46c26e9d1df070508f77a45ab261f508c3e983f9e2b045032e5c79ae34200497f4f0d8d8c458ed7f8a6d2f13d8c9d3b2160604134ac64586032191502e0303bfdf725603f434780e13f50a8981811a6cf86bda7babccd83624033a9f78d7ae4ce0b01493b7be5502918e69780c33cee283758daa371cbbad51190390cac81febaa40d8eec9c1cf00c6ebcbc0d0f4ef7710fea16b48f2877ea62058033f5c39ebe2fe74689645198d3a14c67c85a3aa53059b8191ce69e5adac1163c903276619a42502df20063e1ed86b402dc3e7e7c4e2d5f7e19a7ad1c6ece812306903aeb5125574ee3697243cd18132ac4cdb41d8016326709b33b5e693b614c9264500582003d9919653a601927c0af950d3a9cc227ab7ce19b0c5eac3ab77a84e20bd6f404fc570331596ad6cd707c29f4f8cdb0a00582003525a322cbe10b91c29bb870cd3c38e9f33d4a35d237d8695052d912f383140500251e25eb209c2294b206712f95c182a0338cf2caa64e9da7d2050ab4565346afadc69cf1a7519cf4991d83c3c733ff0a403bd69f78e580eab7da9e0d19abf6f25c25dd615f79e2bf55424256a2afe1f0853036efd46199bdaa43f827731d07165fb78c71a18e66d987e29e501bf978a353c08005820039480327b2cfe2326890bdd1d5854b4ac8eac5f88839e3a1ecfd61b8aeddd505002874069c9522c7fc0b26949db10a7a003e6f6ed277165db0683a3a625a3ca4a13dd2e45aaefb42bfe58422a9c730750df0058200318f60fb8648676c7adce56102ade3b25254bafa7641b6d45d6589fce8775304f010de13fff819b46596b99d9870df100581f0232d19b93bcabe3cce7ca0c18a052f57e5fd03b4758a09f30f5ddc4b22ec458200100000000000000000001739cf8c3361479d55f6efffc7f6fb6bce365cf606300581f02c42644cfe9df7db4f9f66ddc2a14e7afc71e2d49fb7d80dbdc1a480c61044f34f95ae32c061bb8177277bfd2b9d102190808036b519555bba3fc0346356b40268693403f6f53944d579bc8f42575000096f72602197e3b03aec9b08e2aa7c86ce83f4777a5f7702f79275fcb66dfd7dc119408136ef6308e0354fb36f6aec3c0e8edbbae05d09c1025ce5599bf7bb01982279afd041894b46f038e655744c5dba5193b4586b0df1ea37e397c130e16dc65fc1a94a87d32248ac20219ffff037c753178831286f4d1f2593639a7fe69531e9a80e938ca79f82238fbb20d56a803182a3b78787fa55b9628f7b5176117b2c0b4b92e7d0a63433f03eb7e7e69b9c103e521db573cd3ca1599e6cface24543bd7b7584a64f8316a7928223b7d6e7c094038afe0b7700a605689217bb16fa87a3ff388dd51ea160a09820e6d2debac7e92d0313be0609f8fc79cbafb51b06a816b9c3b300fe618b596173b75fc615072c497d039cb07a2241f4bb6d07a6931f5bf40098244745c64398895646a70368867a099503499338faa9e931ab9765d8016f8b405f3477bae41384a3209ce50125762bae5b03fc52c593288a96831372f05e4114546473e32e31027bf249a5ecae7699b75e02039f2811e1bcb29e7511b7e8d4d24d406929bdb03523a3fa6b8f7314f9796efc6c0346732f61e74707118439bc7be73dc1ced99c53a58eb75cf8b63182db902e442100582003671d854f4c0db92567dfdd3882cfe9e64096da1233a9bb2153f97d6ab4dd2058200100ddab56000000000000000000000a8ee562be632ec9dc7cffff97b6b53e31031923b8e47eab25d58b34001d5fe3c89eeb1b909a1203f269ed600b55e798eadc00581f02acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b4a030c7ac73fb9897ea01c00581f024c7e7c7be117d923e8ed2b7cbdb713c5c901f8ee5fafddf53235ad0437984f1d44327f21439be68f32aa9a5469c602190220039eabc2ced54e36fcb1f8e2af2b39f99cf637fd15f22a9033a5d9aaa3ee3a3d5e034f47c70305bbbb734b299ec4f3cbc1dc86606fb031fd67cbff3bc686a56db0c303e3cfe8372f479600e1fd1087198873e95527013fc200d0c32e10a6991deb5a69005820032aac4e4f7bc7734b3fe13f32f940c277e8e780d309d9804e886bba4177ae804f05c4b1b82b1468c6d6558da7f557ff03392791e65ec0483f92d8603a74fe43e5d52569f836c69936669fcc6d0123d8c703e2458d45580d37fb7413cd56300a81cb2fdbe2fe04c2fee99e62dcd13a81975d00582003d8026adb3f0b39943de67e2c6bb15e0cc26ab29f561fed47880f49cd598fd05001d75f01db845d9db3c33436f33e900f02194dee034dfbc9509900386e63d6c6f176359f3ed5ec69d9fad0d62fecea5649231f97980305ceebb04b366fe035cc8cfd435e83e2e1d50b3d83002aed3370e7dfb92a24ce03758f89d5afe001d5d4ef7925b24eb5c313e8c0e8f669659d154de3d80b662fd80377896d90e9f9ef4038447d103a052ac9f32bfb11f3879903cbe6830f850d4041033bb0e0a874eb2d2884d5eb8e368891662c4780a74039782b132b60bbc2eaec020219ffff037e31ff49fab1ada0a32b272f5bc2551a11c695cfdc847ff91c7a4640c3d39b4a03449d5341ee0eaa9ee13c297201bf0f0cd299b365815d34f64627e5947475f43103b1f9459cbda042214df27cb10a8d3bce17e36003c241193d238255187f3b830700581f024851edd98ba87f6101f2a143ba0c574549a6ecca34c76f11ead81e9397934f0c27ac9081a151b5a07341de80640800581f022d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf651021684e65c4d65b79c4d9b4fe20729441502194002036d05515213ede2ba7619a8e8e6e130e51d6d553cc3b37c620bfca77282d5d3c90367ac5ca191b7bdd4ba327abba362a68ba3269ef2af82170ceb387439149804cc00582003c536c28952452ba13d1c82058ae0d67c57fd1ae363daad093f22bc9dbe79e04f0a5470f8ce8ef6a739f6f6082523360058200327377986441823f2b71d2638e5ca5e21acfc94660b4ed39268f6d8f040cac04f6e7b1fe8167c11ee1974227850b5f500582003d6a7a196273dda54d4c0e7efd6bc2e563ea621b33e1bf588a815ae0c1beb505052b4dfba30d13116f0433118b6a5a85200582003ff6432fd55ab276aff0be3da5f0ffcd7e143c7e617f6b64eb480d1bc3409505820ffffffffffffffffffffffffffffffffffa06752c0efcd039e7413a4af12f1d0005820036152da20f01019b3d3532e27e24c30a821e69673631e7fcb0d5dd5237b78605013b46fa3b1670d901945f70bc0d60b8a03d22391a202369c77d66a9444b3fea4bdb3c21e8c4292cba5c20696f768e0681f0219637903eef4041b52956da595a856926c92e3d1d4fdf0bb45e170d40a7ba69eb0eb278b03a6b189c01e0ce4c084ed2b6623361caefbd1b67a52b1f6c0e0c49b8c6c06a23903b28183b6b8c9ac5601f416adc15f9dd94e686a41cd999f025578ed0f3014a38d032f7182ee4164d21259a0ed940f9f35b679acb6a6f55282b4b8c0cb2d4c31c3e00348838e39094baa5ae8c27a429b85c04db85982d324e2c3d644fce5d36bb1aae903a63b6c605e2952ea57f6412c6260e5112ee35e1dd5947dcd1fe9c43665124a6903867e39aaabf277ec8b4ea431a869062b228957c44f6c567733df42eabed40e91035de3aa47b08b8f3534df752000887d3347b8be24b0b36ad5c2ec330a7c2c4ed003d97692ae1e96ca372e054bf68bdaa6966b132408e90392371359962f5618954f03d4db7944569f34c4cbf452fa878d4d01d8d720ff3c4fd4fedd9594a3fd37bb29038390662f3e84ee774002a1eef784e01ad642dd453bc3eec188db6ed62ca70c790398da0cdd619255b18adc865b07a06510259f984ac869564cfa44da8028d546d603604db99953f01e36304aba22a39a6b57fdb9726bb238299fb6b0405c2e1eb9ef03566d643ec3a7d350b939afea90472e58adb93df7ca069d32c14e76d32477170f0219ffff0361109cd54f42521b78efe2d81d8971e2dd8861bc4ce70dd048106d8e6cf983f103cb44824f74f8e510fdf95e9758bd80e1b8126b9fa42ce8703efb8afbf1502cef03808f73c01285ef69807c568736f36458d0f50a4799c78f206f9624c25039719103bb5a02fa828f3cef05dbfb57f584e61028825e561f422e2192ec7df8867a20650219ffff05581d0383bc100b4e63e815deeba81810d9d6921d7ad3f4b987440c84ea6660070119567e021918000219401005581e033ac23442117a03e1a39f9fa7d9d5c798bd9634e3778a89443707e7ef000c0147018ba3a825fe580219ff4d03f7441febbb24a092f21df38d55f898f166ef669af077a8a30d29e41e890e4ec8033a7c16e9870a8b58f653300df6ba113c6d9819bc8c3c749513ff4eff8e5f24ab03f4fda840d40699253dd6595de7edd1244996a322226a076b88d4e7963d1473da035e07f4f5c5bc05db698e4f74e56281bac26b92f3fd6708505b8158616f71beb2036c9c2bb1e6ff641f627d39b37f22f340f7888dbcdea68b328f56e8ba588cdf1603a8fb00dc8b59d862a48e3271d4533c255135f2b85acbf2abc6708a2011238dea03b7cc0c36b8ee2ef58a01be43d30a241bbed070d98775bf6fe2f41ba40e5584b5030bada4de2f8b01f6dd5c0f86d3e2e4965b7b29ab5deaeaa9af4bec389ff94de40219ffff036e9eb91d179e60045aa68914edceb269f2104453ef74a1b619d73a87c2074e2703d5fa2080925b5e5e8d768ce332f293daf6409a8be483814241c111dd3c6527ba03cc9623a767deb166b946677b8d0e3656362fdedb3c48cbbe4b85a4fa0eec1e3d03ea62e05a68f5e9241fd14c92963a8ae6575ca2e8578c9b13ef6126de189e7130031265699ec46ea7aaaf69519a69791b33b6907c6c056260380950f3f8d2dcead80332796f9b5d19898ca5b0d186b2be7f23b2134d39016fcc811dc792f59980837803a5e47a0573a20acdd6bbb5d9f7f8d457a23f97e314c05f83bd75e6bda9082dbd0219ffff03d5603430dcb98671ee6a5c952978d436185d507267fad3129a195b2880ac6eab032185ec2cf26df33583528167aa03262a4bf9276f9154f2b4bcc86c713676281b03fd9884e5307ce88805443a1a19216cfe7c1ba35cd8ed1ea858493835b6ea03b503298ff43a362ac7c3e6259a06fcc6e1d0edfe5777403700e81ea26650b6c39a4d033b77fff2e9760b24dd7942ad28ffdadbe0222fa2884145e2bf3068bbac9832be03d2ee942623090127a96b2b4418a3b09632ed7fdf6ec3a6e2883521b9cd9fdb8403d13735207cdbae96489c46d0597996ca47f9000aeb5d8bad466f58bca31cffb503c4228e4a97cf576f70f37830672a52a96dc91087fed7623a16d94d185eff766b039628dc0ae1456f27a1d48a62032c954c8892af74aa0982f11b610282f7fb602103a0686cb98613212aac4955e90e79c7b7be8536787805fc9553accd0854cf3d5d03fe432b8d32820e7fae2a30ee7a1b75d54ae56a8f4da9017f322523fa3cd32d390385cdd8f515f3cd335999666ce749f8d808101186ceb8c50e52be482a3267d88f03b153752f28768a3d5388b48f11d3178b770064972e92516a7c2784a7747cfae40307049d11f19341a255b49a97c187d975f86aedf58d7ead6092dccf99ce178c1b0219ffff03e0bff19788647acd2a6040cbb54dbaf819744a70d75fa5adc18b15c49ab0b11c03d0ce3ead798d76bf6d40f1dc622b08619ff804155429504a67ca6a3aa9179905037551db937751d6d3ed912b32fb9e08c225dca562ae657cbb88ad0791523b86860341d634029bdfa0a035280bd866b0c8b27f687f489535b78f6709efa537efbbee037bd49328385d47b1fa72bde391303e620c6fd218dc52af67ed485c7d1616d068032db019fcda6b36f61c15e04eecdae1772d0c3fbf284d7610ed35d24978ffb3c8037c1724ce6e17f013153110be1e1d2efb0cb2a8ef703925be0c6b520c51fe49d203bfa6fe8cf877a3d77ac36b032e6a3ec9df2e7028dbc1c3b7799b56be19080a90035e8a9aaae3046642a6d11d70402febfe2e6ad5e02578e9e7ac4d1492eb207bfd0372f17c85ab7d240df22eaf3216f48dcdbc6d09df4da1fbfc7453262f9713918503bc4f545f62f0cd92e155451432c85b5beb2edeb8962123de730d3e5f4925782a038841d625cefa6f9e837dddcd4759d1b7d75272c602cbf8509e8317752f4c47bc0394090c854b9d78b43badadb176d8a422280b3d97ee568f406e05579bf38672da038d662e7b7cbc9bc33437a4df76a7fbdb2c002d75f9d1bde109e26af355fe5a100219ffff03eee380c496116d822a6b592f7cb2b42fb5992b81dea2237f9bc703138e88c58203e1657b4f4bca026a7deec369b9915faeee2da5466013065ffa91f59ae01fe0710219ffff034cad8bc5dc9eb3ab9b105ac920b95f8f2c8911266757ffd8afb0af462cadb0ca03298d89b92dd7b5f61845b57f18f4424a76b5d62ef1952d3a4a231e64ea805859035a6106904ec070c0c3146c3b53004fb7c374b713af3a54decb9c51fe5706351503f107d6702d60b0e0f8998e1651691644b7d8bfdfb56176bee4dde9421b0c5ec0032093dc06a4999529914271294568a22740f49c3303d43e98340b709fbc0f62420384da85690dc85bc54c7aed4d8ffc5e0e7bc340d75f5fd7b15782fc8b3cf4894a03987bae9096d0b5393f74e102998fbd4b28b90212c1c7ee48103c2e4272805be0037b3c4a36c2d89dd3c90cf7c607ea4f547fa5e8a8e9dc3f7d8dada8bd72147dd8032095e6d7383a22b226561d68123ab2c1214791dbdac52229a6869d589a3b7cf8038c7c08d0acd233e2ec64fa5b7541fc4ee0c63396f7394a74c2b20e0e882f6a52036f9315416a70fc5b967f2034b62dc4ff5013f38fdc18537591448273ea7eb38703d92e544d06ecca329b2abeec9abbd14a1e201d45053131d118f0583226e8e744033eb60b9e506cf1826759d3ca4ab574ec7af1381bd3a43896f52d75c0a440162c03a297382dc39e93a33f376a22f4e72ccf7d9b9b5039956f115f683db1f56d093f031dbfec66b5dd45ebf0a7d217a13b09af51b726be65dbfd8a073dff37edb06367031e3a89995526b5fa7c7546be2f87f24ad31d5a90d43684a938e11e8bea190e9a03bb5f90b166fe08410e6a81f70e84aa61bba1c5cffb192f6944f48f18bac7842f037f257b8f881ca3b9a068f124c5e7c779977d47758727645ac3c347c8a7e2cc0403e762ec64639707cd8c88e32620676c4afab77af0506fddb9e9338a44878cbf2b0375d94e4ffd563943ad1b30ceb70ffafe652cc3ef43751275b73fce2a8f4580e903e941e8c1cd2d1c2af9e6a830eaccb9dc852eb51a595f49f8020b1374b3d9671d0320a5d0928ffed1dfe17ce654600de0a8adde1e19c6ea8d3b3ec8eb1ad4722075038e724e924921b5e1b408d19789f7a807d957061d4a2e31deabab4dba410a54c4039145304cf541f509086d369c2591052eb6c35114466bfd95d143afa2440fcf9103f37fc8726c7ac600cea8d3c0a548f9d0fbfe5c343ccf492d38ceeb0fa64e389e032e658ed64ff2b1fd07d179daa64d89e6066ba0fdb17391508b516aa8538965c4035936c2a9466d4a2dfa96c16ee3a7412be746548dd4dea4b51e72b3abeb488f8703e674d75971128d7bc12b2e4537c4d5ec14851993eccf5636d201a8810232afc705581e0340c74e91d29617db518cc91bcc79d97dfb4f10b9eed6b9a7f2b669dee00c08468428fa8d5a7003d606c59bff9ba4c408acd4bd1a03645bf9be58cc3abc35ba732a83bff897749a05581e03b202d82e408460bdd424d4427bae5c8adfccc85babec48a68d2804c7c0040103e4b302f8d306e57a338be5edba5efe74c6741ed8cc82199c5a8daaf7d370f80305581e0356675496e893230127ecdfcdd6f47502c12da422154cff2de7a11c3cc0040105581e03cfe3126e3240c5f84d3c1a1165c83583d59454bd73336d91a50d66a0900c0847014e2b4384130005581e03d4114ff9ef2f468f2564b97c647a64cf1cfdfa60ab4017ca3688b5ce90040103be8edcfb1ed054bea7dca5450a83dbc853507260efa562f2e779e101b4c13b370307be01e7e7206fe31ecee91ad75dada65ad6ba433ae647a1b9330469f7c6677c03709eb5dda2147c4fb819a20da7a29219edf23b78b89a76895cb5bb987352df3005581e0373f77543f7825a60e6a5701c432e908745ed9b08e73b0a25150b6d34c007011bffffffffffffffff05581e0305c28b46bd8e81bdfb8a5f4d6e980885d2a4af2fe0d7824beab974b9c00c191aa348024a7947673773cc0219fe5a03d10712aa13d0f3995a9804e252a7f13f0330db2f77f1262c4de517d26bb235110390d5e6127610e23202df851e12dd51e1f173df2f449ef1502f8cb8ec1946c72c0340d95d05dbc8cadc39de4143d80043af6f2823634a897954a2a06e996d6545f103b6276e002ba6533d0da0005425db938210b67c9b41bc6f2ac584aae9de0f6cab0219ffff03f3dace1347dcda686fc36606f8325207c8f43d5c89616289ec5a8c2e1392fe5e03c4b2827e222f9393dfd2c17e277bcb5015b227af2818be5ac93677e4466086af032d21e91b97d746d069e6350da7edd46e62afe84a030761354e2f946e943863a103775749f3c799933da5cccb597248d0f06452efa42a04c7b6aa22a28a59e1284a036ed81b100db3d0c10581c4b9fa794d11403c4604996c23fcb7b70d728658ae9e037dc2ce07de091a9d43d01732ad91e070fd2de1bdaa466d7f3a8afdbcb814b7eb0300ad182b787cd5f74e1e445f1c1427bbda851e4af520d186adbeb44b77638395035d0eb5886b59f11c5a89ff217828da238ad229d49befdbf4ede49356e6311ced03c34e34c58951bffa6fc614956d1fa57566ca7ee88b6ef02f1003fc2b84a27c8c035998413c1da595d78cc993f61733a859917c89d1fc8600ad414872e4c0eda24903e3b09886001963c040552d15b1b3230536f27a2913c5485a6bbe923a0cc1342a03c06d4726e1718cc11c9641586d6a88b7215be0ee05b94feedd05615ab0ed98990219ffff03e63c9ab2ed95722b19c109f03639757b6112738689d74ebdc8ecbb2c5ce46ced03a90a8502021d0c8403d106a77550fdedf8d8970d36a483174219f2ad518024e203db86accd2441d4ab15ce47241fde2b166a2c1c769042858bdab62077e3775e450395ad46356db32a3262592a3120f35f8d87e559f0d80a59a00f5f1496d79e1f3703ea0f478c5dd0d6860fe592f1064e12254146a87d7a5b32b5f69218e40543eece03f9685a4a1c22957f996b3a47d7b0d909a5337a980ad98a27ef8b01be121ebb820219ffff03a50f36b2a3aec225746cba77b256aa39baea8688ff9710f77ad371a1850b530c03d6b914782c056946db444e70e0762eadea31e3df5599237b3e66da71dc7ccd4103d52f79911ee66b756458bab97d6c63b5f089375ace9770d7cb7573287ac1bdfa038a6cb307f82845f574b2ffb6d548b3a50d4758e935abaf163a285da011b78f2c036bb9a5488e9d3123825e8ac90119b9e208035a3867cb3d6da9b6bc00678fc98403648bc1949264e264e724f3dfbb50a216cdfe05f3e95f234a81f22f47ea6772d203546b3a0d697ec1062b81522b4d084e9ec57c711cd4ea7d34bec7de09e0f1ba3e0383cd8f34312fd8ba6f85d0b5925f3a8a4ef4c2fb1dafe401bb87c9a1bea5213b03f6e8e346c25231891bae41caca569ce3119244c2a7fde5d5c71cf8fd7f3987ef03c51ef578408ed2bda43c71d7635cd6de9b456caa8f94e58ddc710393026ff931038db24e908809e8bb921ca8369d94130bc726ddb1feb383e1bb0428f10388556d03fdfe947e0412f21e731185beb4d688c76b1b25487213a889b392fe968f674f610219ffff03a60d2927f6b9b12188134cc239c40d23f9ccc70d3a7de9e09bf38b52eef3bce303433ce07a0d1bab3d582a296f83247078f7e724d1ac4092ea5111b0fb071ca02a03fb9e2161ade905fd2a2ef6bfab89ec7840ddccec045dc40070d4ced7f53b6e67031feb13beb775981d91a3062cf8e8a4fcb82d18f051a36ad7458c8e290220efca03a0e5ec6797ecd01497f609217ec925b01d05dee564308bda87e5cf92128c9a3803f674c47dd5a6c8ac69cd7ac69ddb49ced9dc58c05fa143c2cb97edccbd0b9bd303390bdbaf591b8ef8605852a1cf699e17f0ed8d513e033aebedfde8a73ebab74003179fd7a59752c138b342dfcf72466af530561333dac80ee105c76e7cde150306036a44ffb000ae3ee4b350b8845cb039cf7f9fa7b2241348b924f88218b66ab70c0348439d5859d54cd376c1c5523610849eb269b43a5433970801c31413a30b7742033fc0ea144e814572124c28db95e360a8ac2e82cecef6be56f99ded79e04ccbb803721018a806deb51a2dd6c4e4108ec19b9bfa13018030cc4787000df532f83b2d03be9cafc91ce5c493bff4195a711c3d027c59f96fb9de36ea791652d9e0ebefbb03d92b63a22b09c70eec21638713c888e08fc3094601fa959df16f5421bb0997400360cbe274a256abecadd967d1c9157250a8a6c9d9a7b732034dc42eb59f4337160356fbcad33cbc58a3f6c1d2a8bfea491d8dce5396e7d2c28b37c03966da6564ff03b82d4ee8a3bd099298354fd419779e9d9b23437e8eb0726503d635243071300a03489189e2fc1544cafbc038b00d4756dcb85fd97e490f66fb118509c17f3709cc037727b83a3c075641e096e7d358b4d508c02d94bf69dcf0e80c850aea57e3be5c03504b9e18153c54818674884cb6605cf7c1d2f51018ab2b8ea4cce38a64056af1038562b0206dcfdb03a3c955ab6787a612a6662b336db326533840332caa4b31280316fff45014600e04c5544653c60728d9f86e6b6629c64d09eb5faa6e95447e9d03421172bde32acf8d6525a1eb119c7b9af525df582ad3f66cf970ee5b40d4c1a303877aeaeed643b247b01b8f2f8fcc7ea584c37668f85dc230b45a10530ecc1fd703f7cccf2a3bd25254e8cd67559b9b8b3a510eb8a6298f45925e981230bc82f96c03c82854e63d06042387aebf6e0525c6e827ea0567f95ba0e84fbbac7b6e3babdd03ec5bb81669a23bfeac73bc9ae261a303e4233afe3f91999b6edbf44699afeffb0393f6766a00d101d1e2ccb18b17ee5d3c9169e414d348f3e38ea4b6ad51d249c3032e019ec2455ebd81fd8accdc332db5a3dbf498d5e8ab2424547c72e4bc0f754d03f3167c7ec060c7e8e4d4209142673800a2beff378cd85d5c5ab9fa44ef23f9950377ca9d123a6f1a926b0441413ead4ecfe64670147a3793e90fc40a83a98eefbf035c6b68124718d0f0ad938e089409526f2a61a3c62bdca0f15ba23d696cb9c3eb0363b7cf7f9aaf628c5ea5b0b014eb143ab8a339d6d5a9ca66cab5c07d4e9930b003bb38a3268a4529afd2b1246dc9bc1b81db56195ea458c9de3751bdef4f06794d03c2b8aee74e06f9b7719cfb835463672be34dd8c9f51a4ab228f8dcdd704773dc03fb9ffa6e4cb446cdf0fa328bb4b998ce480c24fd9fe2507df65fe11cc7601113031ff9f90f0646746ede0dd3000ee9eb92e952a2f5a19149e0f9950a9d8268bcff03111fa6456d535e473ab5cbe31075d36156b25f00be25d5fa54ef80a46b75e6a50360794bc9db223f3c2148276e90d32e3e4a23d302022f15b0b11bd49cc049b0f803e67366d9f8df4a548372165a810704bffc86a422e8b568a398556d63147c53fa03dd1d971baa9697b8962175d0d3d5897fad93c9129dde88bf91896fce83bc39b303a4d23ce45ab615a9bfff79118650a7e82cc850858c1bd43b8c6d08766d3ed44f03194bae0a4b7d6fa060b99e6f5c97b8211109d70a87e960efdf87ead447fe09bd05581e03b66d91f8635919e84725f61e09f44d36e8cd16c45dd605d495dda732600c034747e2c05e2f053b045916166080604052600436106100965760003560e01c80636ae4b4f711610069578063803ba26d1161004e578063803ba26d1461015b5780638fd3ab801461017b578063fa461e331461019d57610096565b80636ae4b4f7146101195780636af479b21461013b57610096565b8063031b905c1461009b578063168a6432146100c65780633598d8ab146100e65780634a931ba1146100f9575b600080fd5b3480156100a757600080fd5b506100b06101bf565b6040516100bd91906115b2565b60405180910390f35b3480156100d257600080fd5b506100b06100e1366004611075565b6101e3565b6100b06100f4366004610f90565b61021d565b34801561010557600080fd5b506100b0610114366004610fe9565b6102b8565b34801561012557600080fd5b5061012e6102e6565b6040516100bd91906112dd565b34801561014757600080fd5b506100b0610156366004610fe9565b61031f565b34801561016757600080fd5b506100b061017636600461104a565b610331565b34801561018757600080fd5b50610190610476565b6040516100bd9190611268565b3480156101a957600080fd5b506101bd6101b836600461110e565b610593565b005b7f000000000000000000000000000000000000000000000001000000010000000081565b60003330146101fd576101fd6101f833610700565b6107b8565b6102138686868561020e88886107c0565b6107ed565b9695505050505050565b60007f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561028757600080fd5b505af115801561029b573d6000803e3d6000fd5b50505050506102b08434853061020e87610a65565b949350505050565b60003330146102cd576102cd6101f833610700565b6102dd8585853061020e87610a65565b95945050505050565b6040518060400160405280601081526020017f556e69737761705633466561747572650000000000000000000000000000000081525081565b60006102dd8585853361020e87610a65565b600061034085858533306107ed565b6040517f2e1a7d4d00000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21690632e1a7d4d906103b59084906004016115b2565b600060405180830381600087803b1580156103cf57600080fd5b505af11580156103e3573d6000803e3d6000fd5b50505050600060606103f484610a65565b73ffffffffffffffffffffffffffffffffffffffff1683604051610417906111f2565b60006040518083038185875af1925050503d8060008114610454576040519150601f19603f3d011682016040523d82523d6000602084013e610459565b606091505b50915091508161046c5761046c816107b8565b5050949350505050565b60006104a17f3598d8ab00000000000000000000000000000000000000000000000000000000610a77565b6104ca7f803ba26d00000000000000000000000000000000000000000000000000000000610a77565b6104f37f6af479b200000000000000000000000000000000000000000000000000000000610a77565b61051c7f168a643200000000000000000000000000000000000000000000000000000000610a77565b6105457f4a931ba100000000000000000000000000000000000000000000000000000000610a77565b61056e7ffa461e3300000000000000000000000000000000000000000000000000000000610a77565b507f2c64c5ef0000000000000000000000000000000000000000000000000000000090565b6000808080608085146105db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906112f0565b60405180910390fd5b5050505060448035602481013591810135906084810135906064013573ffffffffffffffffffffffffffffffffffffffff8084169085161061061e578284610621565b83835b9094509250610631848285610b0a565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610695576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d29061149b565b5060008713156106b0576106ab8382338a610bca565b6106f7565b60008613156106c5576106ab82823389610bca565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d29061134d565b50505050505050565b60607ff0ec779b0bcda6d84abf99ee2c67647d1100ebbb553a9c2d1c2ba1579592832c8260405160240161073491906111f5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091529050919050565b805160208201fd5b600073ffffffffffffffffffffffffffffffffffffffff8316156107e457826107e6565b815b9392505050565b60008415610a2b577f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561084f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d290611407565b60408051608080825260a082019092526060916020820181803683370190505090505b600061087d88610c09565b905060008060008060006108908d610c10565b9250925092506108a1838383610b0a565b93508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161094506108e1878483858e610c76565b5050506000808273ffffffffffffffffffffffffffffffffffffffff1663128acb088661090e5789610910565b305b868e886109315773fffd8963efd1fc6a506488495d951d5263988d25610938565b6401000276a45b8b6040518663ffffffff1660e01b8152600401610959959493929190611216565b6040805180830381600087803b15801561097257600080fd5b505af1158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109aa91906110eb565b915091506000846109bb57826109bd565b815b600003905060008112156109fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906114f8565b965084610a0e575050505050610a29565b309850869a50610a1d8c610cae565b9b505050505050610872565b505b808411156102dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d290611464565b6000610a7182336107c0565b92915050565b6040517f6eb224cb0000000000000000000000000000000000000000000000000000000081523090636eb224cb90610ad59084907f0000000000000000000000000e992c001e375785846eeb9cd69411b53f30f24b90600401611295565b600060405180830381600087803b158015610aef57600080fd5b505af1158015610b03573d6000803e3d6000fd5b5050505050565b60007fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000007fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54828073ffffffffffffffffffffffffffffffffffffffff80871690891610610b77578588610b7a565b87865b604051958652601586019182526035860190815262ffffff909816605580870191909152606082209091529290965250902073ffffffffffffffffffffffffffffffffffffffff16949350505050565b73ffffffffffffffffffffffffffffffffffffffff83163014610bf857610bf384848484610d1c565b610c03565b610c03848383610e12565b50505050565b51602b1090565b6000806000602b84511015610c51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906113aa565b50505060208101516034820151603790920151606091821c9360e89390931c92911c90565b6020850193909352604084019190915262ffffff16606083015273ffffffffffffffffffffffffffffffffffffffff16608090910152565b6060601782511015610cec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d2906113aa565b5080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe901601790910190815290565b73ffffffffffffffffffffffffffffffffffffffff8416301415610d6c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d290611555565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff83166024820152816044820152602081606483600073ffffffffffffffffffffffffffffffffffffffff8a165af13d600183511460208210151681151782169150816106f757806000843e8083fd5b73ffffffffffffffffffffffffffffffffffffffff8316301415610e62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d290611555565b6040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152816024820152602081604483600073ffffffffffffffffffffffffffffffffffffffff89165af13d60018351146020821015168115178216915081610eec57806000843e8083fd5b505050505050565b600082601f830112610f04578081fd5b813567ffffffffffffffff80821115610f1b578283fd5b60405160207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8501168201018181108382111715610f59578485fd5b604052828152925082848301602001861015610f7457600080fd5b8260208601602083013760006020848301015250505092915050565b600080600060608486031215610fa4578283fd5b833567ffffffffffffffff811115610fba578384fd5b610fc686828701610ef4565b935050602084013591506040840135610fde816115bb565b809150509250925092565b60008060008060808587031215610ffe578081fd5b843567ffffffffffffffff811115611014578182fd5b61102087828801610ef4565b9450506020850135925060408501359150606085013561103f816115bb565b939692955090935050565b6000806000806080858703121561105f578384fd5b843567ffffffffffffffff811115611014578485fd5b600080600080600060a0868803121561108c578081fd5b853567ffffffffffffffff8111156110a2578182fd5b6110ae88828901610ef4565b955050602086013593506040860135925060608601356110cd816115bb565b915060808601356110dd816115bb565b809150509295509295909350565b600080604083850312156110fd578182fd5b505080516020909101519092909150565b60008060008060608587031215611123578384fd5b8435935060208501359250604085013567ffffffffffffffff80821115611148578384fd5b818701915087601f83011261115b578384fd5b813581811115611169578485fd5b88602082850101111561117a578485fd5b95989497505060200194505050565b60008151808452815b818110156111ae57602081850181015186830182015201611192565b818111156111bf5782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b90565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff8088168352861515602084015285604084015280851660608401525060a0608083015261125d60a0830184611189565b979650505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b7fffffffff0000000000000000000000000000000000000000000000000000000092909216825273ffffffffffffffffffffffffffffffffffffffff16602082015260400190565b6000602082526107e66020830184611189565b60208082526029908201527f556e6973776170466561747572652f494e56414c49445f535741505f43414c4c60408201527f4241434b5f444154410000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f556e69737761705633466561747572652f494e56414c49445f535741505f414d60408201527f4f554e5453000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526022908201527f556e69737761705633466561747572652f4241445f504154485f454e434f444960408201527f4e47000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f556e69737761705633466561747572652f53454c4c5f414d4f554e545f4f564560408201527f52464c4f57000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601c908201527f556e69737761705633466561747572652f554e444552424f5547485400000000604082015260600190565b6020808252602d908201527f556e69737761705633466561747572652f494e56414c49445f535741505f434160408201527f4c4c4241434b5f43414c4c455200000000000000000000000000000000000000606082015260800190565b60208082526023908201527f556e69737761705633466561747572652f494e56414c49445f4255595f414d4f60408201527f554e540000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526024908201527f466978696e546f6b656e5370656e6465722f43414e4e4f545f494e564f4b455f60408201527f53454c4600000000000000000000000000000000000000000000000000000000606082015260800190565b90815260200190565b73ffffffffffffffffffffffffffffffffffffffff811681146115dd57600080fd5b5056fea26469706673582212204cc6b7a366a0a6e22a04d2d8d2b0410ef6d76b5c47d78862c5dda3d6644d33db64736f6c634300060c00330605581d024a44b4d2b5f6d242dda9b7b806263cef66b2f139670929bb28fc7fea0701191616031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d0248da54ef2abcff5a6301b47cc3692cc096a0adad40101738c69779e707011bffffffffffffffff0219010805581e03a0ac152d3ac0c9c9c5005c9d692bd5ec77014cd36d9486547a8ae0e5800c044718c6b04dbcde8303201700f92a763e27560f6ea05eced4cbe1d48deaa7943c683c4b4f49cb13106f0342fbb8ca46729b921d60dd79bc5e955d37ed77c2f6b882cff6874fd18527bf8e05581e036c5bc4dd61532c76ed680ce6a453319986bfa089b6f9be89f1f79574c00c02470305d37cf544b805581e035f496c54a63e3e6452326d58130075258bda3b6f8cc4c367cb565d26e0040105581e03ad44e4916d57aa025a1cca3fef327c942a8ff7d793403bcdf72a5912000c024717a681984510000316c07421137d6fca67dbf763e0cc23c12a58498d88d94791d2a6c260c562bfa005581e039e4aea363c26f33a85ab6a01b8b36e057abd6eef33bbe3118a012cc4c00c064682e7c0c427e805581e038b4747193ef8e3a8860fc395cafe5c98a3f0131092943d5219e3431a300847038d7ea4c6800005581e03ed21ee4b22c2d91a89ee20876c15c9f2625971db8ef0d1a8976c4b2be00c01470128546a26c40005581e03d16dced3be69b2b03f5944d1abef9bda9e457c9d4deb7453efb8eafea00c03467076e2d3b0c005581e03fe59d2729a8994ae4ca677efca10032142fe70091fb49ab30acfc281e00c024672560413755003eaa13b8d3ed72aef2a071a3d3b532ea9ad4997230aeee9d8150ef68f5dd83c8f0219fffb030bceeab60ca03c8c5b7cde19730f866a9ef38c0a37643c6d39546f7af96d51d10219ffff03a6006aa40a58141a519795380e434e94825fa08b5248839b2ed7b3693a4f3dfc034bba7ae1a355704b85c51cee8cf4f4dba999cd55f3604ddee93057f36bb1dee703b7832ce24ebb6fa5fdc4ef76a4c4ca5d8142648eacfdd15746d067e1ea257f6903e0f549cc631a96803e664ca36a2f7dbcd1d0ee4e066a15510eccbd894ae6557a034b75e0fa02f80cf3eadb5d800c649fe6ad3e0a6aee768f1b25a7ca8cc7f8d0040219ffff03fceec48695c750f27287986c72e35e27bebf4e1639c4fc9f65bc2eef741a5b33036f75beba82fce098703546993bed9689151fc797b4e88611ec24e971d03e8b9f035839d648b24acf37c951e7e5910e891014ece1f24171af0f522e6a6c13bd677b0350fdcf647a78979d158556530db8f37fd7ec3225aab5f1a5d4c4e31f3d2f744c0219ffff03a5358cc2454ba4c7f154311b9ff6bb01071bf9fdf23d4108c919e33423d89f2903d40009515ae21d8a43b91420a2fa991fe93effab28a8760a9698ea98773f19180360a498da729e25da3657699c97a9ace336618417c2e912914d938db3e84f2f5003873e97878802dda957d633ea49395ae2bf9103f5fd8f8000f9182ab43a04364503a9d86a2b79a6103b84dd6ef12bf5bf3787d3b0c098a6fc761cb38beb1e1ecd0b03d238cfcd2b28a4482edba8e80bf9aa0b003a3b33497d2fcdd746123e7d59dda403c2f88297f853d6310db54fe70e152c70c3ec111a81eb851e9d0a76fa9c7ad440030ed761b51c0263802d083b432009de2ec65751012f43d5f330c22f0b96e1e55d03e2e2cd5b203a4d72486e39d17cbab7d02b5201679aa17b6021c92936552f92b603b8251ed3f6a3af683c9f0ccb5236487067c747929db09befc9b68ac86281b073039690ed0c011eac200370fa571c5c639e28d03eb89806688d11412f92d174d6d5039bf266bd1cddd39435a5a3399488d55af6d11a99c3e90e0d27608ed8e38c8774038e590efdca91dcf151999342d356c277f277f16f9f211a4acf7b6f7f6213355b0219ffff03c365ee5441e8c48180b1ef35944b8733c4b3d37ebd154346b1e6001607119b2a036dae95f064b6da0ee893baac0078e75d3e19a70ce28646dab697c976062de0ef03c3ecd3ff3a9607e48e0c822d02cf6c5cbce7cd0ea15421f6d5750c073e9ebb3e03b3ff8f58edf5ddf6d4adf5c32338eacfb112cbfc8c971cd6079adbb7a2dbaa4303451a836a4df657623c87c2104e20bbbe4abf0d83b8ea7c70debc89ca4160061b03a647f616918dd2435d88cc788973431fd204e7f1de9b1de1b17e0b67df230dc50373ca8e89bec3ec9c59c9843a49b1bc3ca2b11a9cb238b5b83e05e4cfa01edb1a0219ffff039fb9394ff3933cabb7b457c93b0e5a424a1033c8a90c88449fb73d1cf507dfe003485709238c8f1f7e476de6f96806a99b795dcf4d76d53f438fe51f66763b752603b3037c5785bac94975d795ee6423b90a25a8899216d75f82284335948d09033503752a3f07b73a10e30e742fb436c8dc00758f76cbbc2efad6b9b7d7511c0322ef034e99c4cfd4cba2fd4697bbed754f92fb035e0e838101cb394e5a0935a1336abe03e1834aaec0d499aaa5a5a64ccd8d197b61c59e78793516bc903a390425112a5503ec737642c0a734faf20b72589473b4f48d62ebd2f4c0ffb0b33babc8ba09654f0347b6f41b14a49bd35053e28d7a065640a4359b4a60fcccd4a978b1a7ebffcaba037be2065d424856b81a06ce14bb23c6420688036f474fd621bfa3824bd90e7b7b03058c4f262b30de3eb651c4337f3aef21cba06a78bc87fc21d05fa4698a7e174b03f849fd05668787bda96337f42c349b4f7a7434e767b3de7567a65628771ff2d603c9082a60da784f47342cb192621aeca062a37bfe535bc629e37fcb6b622c8ee4036f57630ac7b7a0e77d7abfcba4c33b05436e5a64084296b45a5fa9b268ee63e8033256528c21d48395c1077c77f2b117dfd2a153aac00ee1ccf05d9cc7014f66a7035b4ab4e64e2ec5d0c42b68ba35948e2156783e365d7fb5dfaf665058c2e1eda3034b2740f5a6ef8a9f22bdd8fbcd19065833e209822193d5659636808a0f3c18fd03ca4bd94dfc4959317e8ed501958b680ba2b9923515d18f17f937dba6ea8eb15a03bdcf276694f341508da369e08f3d3824a32bb02547129e22ce135128460239c4037203ee0eccf89e5860bbe12c1deba265d28ae628dc0560abdff65db321301b2e03cd172e47b3df6ea808baa836772b3559747eadf1e1380319374f03276f7b800603b0fc2f77f4db7a13edfa8f2af21623fc33c665993b0cf23f41db0511e274de9903878d771dd50c40301b9c3f0ad7a73bc5f36c33e3a34be784056ec5b0c22fae6803b82f18b8043845e73cae063e9ffeadde3ba43031e54ab38da9902795d13284b003b97d9d71abef205f5132943fbdcf635c2dd7ee80350e2d8872b0f81115bc4a2903b5403b0da7bf9724a80e0bd78d446fea2c707547725531d62703713ba91bb9c80317f71902f2f1e0ca9871b58316303ea28cda7a3ddbe96ec34f12e76247dac08d032ab28ea259958c87dc987f622506bfe202450a4770f0430d71dcc734fafa40950322591b495bef360943f9e060e8b4f4d992341f06e53bce5e2323f5b88f39a2470357f5b601c39d224acbc960e5714e6fe30c6ea7ee80d1222e861e44545a09d1c803ff4c9f5c0e59aff022295b380d934e2857a2dec6c6a4e51dfb08efc449c763710306e7c49c06259ffefe69c91139058ddfc9c7979f793f60b6c8a5f626c01452fa05581e03d9ab0290a9dd356f9096641df5ce47c9f6eec327a11a153c78dc7b87700c01465d939a103a2c03a522a77020d700e5c514ccbe69e3a790f5c6394b87eb7736ac140960181d183c031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03c4b63b3c2dc8d1ca50adad69438e450c26647541382697608794da38b007011bffffffffffffffff05581e0379b29cfb68efd058e64ea5e9e1a4ffce49e676bd44758c9de3cbb696a00402039fa4285c7e5dbcd8918901616b84710fd6622b769ef71e53ddc6b1ebcba75d1a031f8b67be329f6419c9282095843235301b6b3475e42bc9e3262b646aba8072060605581e0360b12e35e192fabb92b653f436a8d93a3fe4a31c6f0e0bb9b6aa660e9007011bffffffffffffffff05581e03512e5fd6aa467ba0275da97cb7898c314203ff01162ef999c2e6e85ab00c014744e45d81dea8480307e2c6b61c9af478c838e0cd185c69d3833252bafc6b482672d34ad9dc615c9205581e038b5dded3dcfdf54afa0824f0a97c21abf0f2645644c8c079a7e7d279900c174711e8334ea5ff0505581d027c3cf7663beb2da7bb9dc1c18bacdf107d0d93633f4e9071ca0f312c08470accb0eb3c140005581d026526f3239521117e32e590deb149db493bb5c665ac3aae6b493c9b20040104591045608060405234801561000f575f80fd5b5060043610610115575f3560e01c80635c975abb116100ad57806395d89b411161007d578063a9059cbb11610063578063a9059cbb14610243578063dd62ed3e14610256578063f2fde38b1461028e575f80fd5b806395d89b4114610228578063a457c2d714610230575f80fd5b80635c975abb146101c957806370a08231146101dd578063715018a6146102055780638da5cb5b1461020d575f80fd5b806323b872dd116100e857806323b872dd14610181578063313ce5671461019457806339509351146101a357806342966c68146101b6575f80fd5b806302329a291461011957806306fdde031461012e578063095ea7b31461014c57806318160ddd1461016f575b5f80fd5b61012c610127366004610e4e565b6102a1565b005b610136610347565b6040516101439190610e74565b60405180910390f35b61015f61015a366004610edb565b6103d7565b6040519015158152602001610143565b6002545b604051908152602001610143565b61015f61018f366004610f03565b6103ed565b60405160128152602001610143565b61015f6101b1366004610edb565b6104b1565b61012c6101c4366004610f3c565b6104ec565b60055461015f90600160a01b900460ff1681565b6101736101eb366004610f53565b6001600160a01b03165f9081526020819052604090205490565b61012c610622565b6005546040516001600160a01b039091168152602001610143565b6101366106e0565b61015f61023e366004610edb565b6106ef565b61015f610251366004610edb565b61079f565b610173610264366004610f6c565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61012c61029c366004610f53565b6107ab565b6005546001600160a01b0316331461030e5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b60648201526084015b60405180910390fd5b60058054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606003805461035690610f9d565b80601f016020809104026020016040519081016040528092919081815260200182805461038290610f9d565b80156103cd5780601f106103a4576101008083540402835291602001916103cd565b820191905f5260205f20905b8154815290600101906020018083116103b057829003601f168201915b5050505050905090565b5f6103e33384846108f7565b5060015b92915050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f19811461049b578281101561048e5760405162461bcd60e51b815260206004820152602d60248201527f45524332305374616b653a207472616e7366657220616d6f756e74206578636560448201527f65647320616c6c6f77616e6365000000000000000000000000000000000000006064820152608401610305565b61049b85338584036108f7565b6104a6858585610a50565b506001949350505050565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916103e39185906104e7908690610fe9565b6108f7565b336105485760405162461bcd60e51b815260206004820152602660248201527f45524332305374616b653a206275726e2066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610305565b5f81116105a75760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b335f908152602081905260409020548111156106155760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b61061f3382610c71565b50565b6005546001600160a01b0316331461068a5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b6064820152608401610305565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805473ffffffffffffffffffffffffffffffffffffffff19169055565b60606004805461035690610f9d565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156107885760405162461bcd60e51b815260206004820152602a60248201527f45524332305374616b653a2064656372656173656420616c6c6f77616e63652060448201527f62656c6f77207a65726f000000000000000000000000000000000000000000006064820152608401610305565b61079533858584036108f7565b5060019392505050565b5f6103e3338484610a50565b6005546001600160a01b031633146108135760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b6064820152608401610305565b6001600160a01b03811661088f5760405162461bcd60e51b815260206004820152602b60248201527f4f776e61626c655374616b653a206e6577206f776e657220697320746865207a60448201527f65726f20616464726573730000000000000000000000000000000000000000006064820152608401610305565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0383166109735760405162461bcd60e51b815260206004820152602960248201527f45524332305374616b653a20617070726f76652066726f6d20746865207a657260448201527f6f206164647265737300000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b0382166109ef5760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a20617070726f766520746f20746865207a65726f2060448201527f61646472657373000000000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610acc5760405162461bcd60e51b815260206004820152602a60248201527f45524332305374616b653a207472616e736665722066726f6d20746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038216610b485760405162461bcd60e51b815260206004820152602860248201527f45524332305374616b653a207472616e7366657220746f20746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610305565b610b53838383610dc9565b6001600160a01b0383165f9081526020819052604090205481811015610be15760405162461bcd60e51b815260206004820152602b60248201527f45524332305374616b653a207472616e7366657220616d6f756e74206578636560448201527f6564732062616c616e63650000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290610c17908490610fe9565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6391815260200190565b60405180910390a350505050565b6001600160a01b038216610cd65760405162461bcd60e51b815260206004820152602660248201527f45524332305374616b653a206275726e2066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610305565b610ce1825f83610dc9565b6001600160a01b0382165f9081526020819052604090205481811015610d595760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b6001600160a01b0383165f908152602081905260408120838303905560028054849290610d87908490610ffc565b90915550506040518281525f906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610a43565b600554600160a01b900460ff1615610e495760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a20746f6b656e207472616e73666572207768696c6560448201527f20706175736564000000000000000000000000000000000000000000000000006064820152608401610305565b505050565b5f60208284031215610e5e575f80fd5b81358015158114610e6d575f80fd5b9392505050565b5f602080835283518060208501525f5b81811015610ea057858101830151858201604001528201610e84565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ed6575f80fd5b919050565b5f8060408385031215610eec575f80fd5b610ef583610ec0565b946020939093013593505050565b5f805f60608486031215610f15575f80fd5b610f1e84610ec0565b9250610f2c60208501610ec0565b9150604084013590509250925092565b5f60208284031215610f4c575f80fd5b5035919050565b5f60208284031215610f63575f80fd5b610e6d82610ec0565b5f8060408385031215610f7d575f80fd5b610f8683610ec0565b9150610f9460208401610ec0565b90509250929050565b600181811c90821680610fb157607f821691505b602082108103610fcf57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103e7576103e7610fd5565b818103818111156103e7576103e7610fd556fea264697066735822122036575823465540cb1277c31fc2caf8a9189293837511e06209ac0d70400a979364736f6c63430008170033030ef6d3e7960a317c69218d5d92fdce0fff31359989e6286e3df138ebd3e077ab038f7a887c84db31a58a7a0d0e2b9cae5f46976bd7c5746d61462c159ef9beb7fd037b222a6da811fdfb74c6e9b5d66dd45b4f780d1bd22acc4bafeedbf5b13c34d3005820033c3826e1f77dbef94454169dc41345d1e7c3c7a14cf121e9ffe4af30076ae04b3385228ab1b849575293e1005820038235766f40646125d712d36a80881b10f838ec254690bdda6456f286ec27f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03790493f4e7ab113d43110a0e0560ccf96c4f7bf14b7d08bdb63cf05dd967e13e0058200392d39d2135ebb0c7f898ae40ccdfb16ecb9e2f8210381cd78d89fc4981c6904b0b5f229fdff9d6cda435d200582003bc84877ad7abfca7957dd2e39622e71aa59d4ca3d7ce0c96d84b6f6a5bdf705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f4ffdfcf6e7f69781af66d6d1182fe785ba203637a5afa4fe186f29d801eb05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f0289439f5413a769307d83a5ab107a9288f697e5500386e7632b78552c05e35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f89e54f5451c1214fe6b1acaaf91666058154883794b6cb9e3d66aa70b314c13e5b251ffc3522bbf655de002183003dddfeb32b7f496582f6f3b991e19486e644a391ee45eb32c4bfe0fae221a51240219f39200582003c267cea428e8ac6981847912a61e91dd8a81408df2120fdbdc18ee5738db505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200386ca55ac77e42f21d8d4b4f9d9f8b470857abdb53413f4f0b1ff977210e2105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032425b7cc50df3122b79c56bb6ed94aae8706786a3fc241b67a4121284b7a93bd005820032b1e2be0efa02a0adad205ad4bb7958ce3ba49e2b4a0b886580182c7cee3605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c8fff7b3b19212c06ba5cd02a40e8e35caad1e4f66030a939b436c26c904c04bfb822c05ed3c6632725a3800582003b5f6ad52279217dd61a2354ac2e6f185a14e8022baa685bfcedd76a8d7e0305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f2f989a56404bc1f6b91dd7f8cbedd6f8055dfc7c74e7bc988945620f3fbc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0368c5d0368755d261f1f9a1669660ce112928907bca9c1ecd473061d723429ea9021929d303f57ed86c6a30a714f95f13227aceac26c29523901d53fc490fba21b4a7eaf3310348a3fa607473f9c44193783186048a09fec318ae1e0085695dbf6dbfa0956607039f1c7528b052bc79e1b670c3dc4bbf8b95dec056f2e2b64f12a65336f2cb0f0603622b7a43821b96e38851ca23b32eb7d6cccdda87034474edb1beadc877d0bf5f03a8a4a943b7378169804a11f35ef9a480a77ccdb3ad09463511f15347f6220ba6032d63edd8657cbad64271f9dc865c8b19a638f3b674c49ee6a42cadd59ce6c9870058200367dc8a9205ffc5917d62479cc780f8a26f9c7c4888c021204281e00af14ee04b0f8eeb71aac39ef7a9394903d6ebe4e8cb46105d5cfb523ed0411f04ae53398629e81c0cc5b40b1f3567cb9b00582003464f451c68b0bb0b14ab97bff7d5d7a06f1d5f220a6481ef7cc737ca23b8b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003f02809787849eafe5457bab1af5c01c25b4e1a7c19fca2e214aac9e5c550c04d01838810f254c24ce8a92f5660005820030b6e70c090a7b20f9eb912c5084325285c918ceddc49c3c8003bf3a140d0205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003c43f77d64a206b64736c351a36e75d815d084672625b8edc5c3455db40f1304b068d08401270e02ec65d470058200341effc6778304fe0c4f2037d7ba9ff35e62c3211a69a05e4035684f0ff65804b984f9e6c1e85048c6ccb7f00582003933b78e9e0c7c0824f5f4836a06a3babc51260820e89e2c2d5ac463c86b8b04c1c0ae8955648488a18f40000005820032091dee59f5a2ae4d2b59babef3f726aa87d7bc579d964cf7fdd83e562b9305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032ebbf4f7ea76d48e198e701cc06ad683e577e4645d7700031024252d31ec4045829e12ccd000582003dba0d6754d0a91113bc40f5a7f987e0a8f351e2a73cb21b1ffc1fcf0e30cd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219ee57032fb66ec702797efe4a32d372876b70baac6b3c9f2ea2efa52153695d55dcf4f0031ae4d928f9deb5753204775c1bb5ce9f1f54130b3fd7053b8f988c762c48d69b0326046a9dd92cb8859d048845d1c5cc69d019c0502c2967b21ea1c70aa777ef6703ecb601fc06dbdeda1cbe6ba391625d3e3017871e8baf2574d33e073e4924528a032b413a401bd7298f128397fb7cfdc4a1ccc0259a5a00722a68f507e0b0ba40e20219ffff03f3ac01ed40a5ef1b236c5713eabcf0deed107c1b04be4316d8c6c317f7c220060399b78e44ce40b92bcfc97cad33bd3aa9bb345b946aaf2aa7f964fe13899c380c03714f112db8a13b4c006d26c0083aeb598d92d73a77aa69c170e7f2413a3fcae603f833089298efe7618d053343c2d0fbf59f922198ead8fff9b6257e4449d9ad0203e8f44bb7c36439a3248e69fcb9905aeade3ff10933be99726d457d278353d8e60308321fd309646536899cec0e93279b2d8270fc98e83f70a5c10570a0cea617d603070c9307fd4c9ba97b87a0781a3255b7d4d9c721f63d071102fe74bb3b57891b03f40ddec684a5ce4a98cacc9be705aaa285b2088a3d10eba6e7439ea7e2a40cd603e2311cc9eb791dedd7161aa43de19292580af5b84fae5e79c1a7df5b21b9e0cd0380cc8fb0d1ed4564eac95ac88702c6f8bb9ea79eff28104c61710f2804aeb5af035c9dcf7da7688808fef00a5d26739a140747017521cf2a54bb1620955eec3479033050d0b3c30f956d4c1716cfed5a9fb29c874ecae4d0c0ebd6db9f279095e42f00582003e16d14d7ba32f45fef8fb6b1b42f9220f988d707a8cb3d365641fc9f60a81045178592cf3900581f024b7416de84eb8c25afa4e09e512d1145462041f20fdf7b140c3317f31bbc4c0813f3978f8940984400000003513755985c6d5277f635bee6c5a0998619438ef86f3c0dc28e1e6de25a9f493201410b02191100031fe698c16eb9a8731b081b4d08e077123cd1aeda6dda380a2c33b5f5171a01e00058200365c8d2bb3d47ef7fb3bbc3864f233ab17e402cfb343fc33d3e5af0475db4d04b30b8186f032e4fe86200e800582003ba02d732d98be6245a4ca1a35faee206e3511f6ffbea5e4c15d76a635cf3004b01b0fac1fbaf00a4ff7f3400582003d582414561f5928afb9bbf3d4582c289fec27dd570c91f47b16ece7d5011d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d74e135548d668f078c208969f16b4c9eb883866d3f976457fb9cc0f769b605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03ac257f634d58696802796cd2bfb622a0acb1f2a2cfbd24be16dfc4327d54a3a40058200342712e383da2e0e688cfa4f4b37062cd6e381403ec2c1f5c24ccb6bdfd3c404c020491f68f10b98a9255c49d0058200391fc84e89078e4bdbb2407809170816a4832bcf5452d9ddd911cbd0b1bd7704b3e09de2596099e48e9ef8d0219db5c03150061d38aa4f5a20749c2bfde4f019c69bce61b0b928634e9528b21163a74a203a15d229a04a5a0e1860a4f51a264f19747b4da7016fbfd123601d8586caf5926034aa8352e42fc7eb7212bc174ca1082c6297514dd0668a4fadc613913eb696b69036f8115901a4bf6f602c25c0d5f57784af3b7f398006168510d96f6bea2e2032703a42730bbda54654ea1a11f7fb9148a553a8f95e70dec55ca28fe76c7cbea750b0219ffff03fb252103c41d62b83191fab69bcb82bae87becd234de1d861a2614076e2acd01036b8293c901ba28f84bb56d947f97205d04c61695b28909d5b3a7a553c7c1030e03f8a825b8cf742175a61589e57087a4edcce1f63e4a2fe223fd1cfe055d2a0eb403bb9f9de9c0336da083d37bcca3d1a30a05d20095e67460deff66bea4d591c47c03b4400703486765373a53a24739da37ba2727ae831dcf4b534e37258da5a810c3030814e48f23521b267853242793f04ccad96d4249f3fafd7e6a1fe2564b94e48003855cc7e7dd7d9cc3abcfb2b35a271601d4b51b8f6af77e99325f0ca80ce1489903c8f404af366bbd3ab5a4bdd574b27e965c0cba1699a97ffcfa5611e10b16033200582003b3a6cd8a8f7ecf87fb63b468db4023b921e29231349e114bef35ad1a9e7de04b821087388b0f2a4f45ccb40332e5f77b51152f01d639274e8ad337725c05d8d9172bc68443824d301ba15933005820036ed6d6dad7b5bfc08a44a6eabc45732298129831ec3f9504e9b4a7224f28204b12557ff1cad9dea3ef77f2038e61f3a3eeeb1e2c92fcd03578e9f418c54fbca9f99fd1c996041c51c03d087700582003aa19a2901d32c1a33d3506351a441a123acda08f9e030199a7bcf3b65186304b086ebae3bfe60737aed31b005820034897436c6afd7f4ec1947e0af2fbf4196dc41cb8ecebac147c8447df785ef05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b6d0aa33d163bf3fa95fba81d087acda7a6aa196e1b9618574f24fb6bfc0004bb661a9d20642ae30bca812005820032381760b7b98cdea68587542e718e86528477264468a8692c4d9a4f19a13205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032daa2003f63e47af9af572cc789c1ef730fd87891a6e79fcb1505398f373505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219855f03dc775266b2204b63525f8890775406f26db498eac07d993651bcfccd812a96b100582003d4985449b33c75631b266ffa9ceef7c1d6839341f07760f9ac56e87c455a805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003d751968282d320d36bc680872ca4cbf2c886a0d1649a34ed41efe3a457fbe05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032d112b751e25aa20bf916ea4754884d105003eddbde69d9cce7e829803b8f04b06b410ac2c25f8e98a3403035c2b7b4748613d9c45d8c7894b070bbe892ab516dca9d7c30275b5fc51e0e87c0058200372ce0a0a5753d2e4f0f5dd164bb0fd30c9e28b773208e9ab41624ac39c70905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003db93392c1f52b40fa5f6b2e44c0c27e62cb6e8e690fa143c0aacaec70324104b433b2ff41b8a6ed012c938036140c26d6a4807eaacf96f1c8d2aa0d58ae92deec477cd4f04cf7ec507f66864021932170352c79299bcc7993440ecfd3fb9d2bb18f83c86025400e1d71bb7341a3d1229da03c3f5714f88e39734dde80babf05f489cdfb6e6c1be403015f5c336bbed9c977d03d452bacf308c49f6a589931097a4f943f46ed705b99175b13bc6290bbe9605c9036d2b226caaadc3f57c10ab36ce7494617ba8afe38e80a01fa7e4b8349eff0b0803ed08153c20c083a798976865a58fdc6da7b14aa99e4ea51f43f73decfd3c78ed03cb6ee3f7f60d97735a503afe652466c10b57f9bc6ad80130de280dcebf0584b50219ffff03ccae7dbb8bb0d5478f7b9ddcb343c821125606d0af7d02310b54e8a73db6b4140349bf1fbd1fad5ae9183edfd7985e58f8d2f0d0f791f6276e8aad65b6334466400392804b2083880ee0089c4ed1f10970bcf61a4072d0ea64f8a3fae24d0262127103d90a8f54035a230d50c0514ab74483105a9d066521e0bf68650fb494c512875303bfb16f7c29221fa5aa2ce0bf37dfa3410ecd73c6fc29ca87c28970a073a44ef8034f76801ab5a8125ad25973ef0633983604ffd9673014f7c24a4c0e31f594cc3c03449ce7c0298f291b3f58bc8bdffa1077a51ed7e0161d9fe46a6380ca1059ba430332ec03b483149a35c140f252a52ecd40b9a64682b3bc01913af998194865c32e030311aa00dc4b6bf6ba1dbc3c13e6de211373018c867ad140679e5307750b9552033f74d63eb166a2e94de1d65c5ec8192886899d25b69a3779ed0bfc4e56c6fbdf0361643984c747ad2c0c31034e97bfb00e22a383f486fb0a5471c9e1eec393543203bd9364d86feb5bb4a8548d39750ada47e7915cc8fb452609fff4936d9f07ca3703e8d4569cf7ae3ca8af3b91a841f34e741e628de8588ae1d1e685c3b69a584b31038e2f0e8c548ffb13cfb86fd86dac0b5103638f6ef2cae41c0318c7d35459d6ad037cd9d41b2d5e57a819c85fb0bcb41ef5548b85607aad3d490ed95e7c66f4c1c303c25782a20e4ab36d10e5ae56f0eef6a7ffafe752d27e9e778b8f473aa453f28601410900582003532c8bbfd8aad6024506147751490a47e89ce021541def2b754b77bd5048b05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820033323da7e67ca5f8f7b5938f0702c852c6519772365b544d11272f24f7a0fd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03f5eb8dce2100faeb2322346f79a805d22ef8a685ae54602a1fec3cc0a177a3ce00582003201bc5347beb9e4ba04f595f9280d633d8b8bbae002a73674606d1d71147404b0f3c2be80ddaeadbbc2b8c00582003b8c91c2aec8e1a8905e6d051ac7d8b4994cf59fd0d3450e1c7025aa16a27904b149e9eb22301646e35f7a1031e95682d575d3420a1fa40d69181b21cd61e2f850330d839f39e0b321d6cbbd000582003c088ab51b2351e6d5accdac80d1e543d823d873fb1c9331c902a425507a6a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f2c15356c8065ec2c450ebead8eec19713e26dc04a0e17df722b38458dc95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02f5fbfec1a1c718eadfd87609c26520e84dcc20cc72c0ef2878b5ef4946905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219402003913303f30f3f6fffb2dcc9010999b7e47065f38555cd5771427fc47ebe64da6203d4e559ab9bb1bf697598b5bc144f10aa51b41c51be32a74979c4ba6411f3c43602197fc303435c64d7a04b9429d7164a11925316eea1e3ae351a539ca7c4f1d4afc947b0dd034919041ff38ba0a45b92001cc32db47779ed620d704fcddfd669abfdcbba2e87030f561563c740a9ad02ccefdad701b87ba9f835bc1b265bfd6ac0d9207855a00203aab5a5711caaf54e3de04960810af10ec9ee4e48aa275b9c0744570d512560d2032f5c527a5698757a2852065dd7477051280ad77bbcde0d1dffdca568b9bd2ae103e30e3579a6370144e77a1326173ab79f84e3b0853b4053564d0a9f767e393f9c032817352df284fa8f2f30b181026a8cbb78a8557735a4db4880b7a09ee19a994b0219ffff035d236c1229c0b554f40ddb5f3159ff3dc2400eada4f0be7048df00b6acb3c3b703331a24fded924a51894413ee458da835dfa9b5a67d5b62ba6247dc9b2cf468420219ffff05581d028805254c4e619dcc39f3e70ddddf469798cdf56599b19efa9ff63a7107011910450219206003d75f6883ac458a4528483a72c1bc3cc2bde6b9c9c343917721ff6cc80e0374a905581e038aec84ef803b663eaabfb7c899e624b5288de18cce73b9bf9354e7dc000c02470893296d0cc5e005581e03c4f64461f41c5ad0fed41932f8986a374a5e21623be81e6e721a88ef600405031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581e03b2b4a87722f12d39e5a4e881fa9b4dad9b6c2b6345ff7b30142cde8f0007011bffffffffffffffff0219ef7f03fda786475ac131cf78b7fe9101f7295a18c61081b6c926f4af8d675f08a6179903eba3fd41271ab809f03852dea6852157868ceb4bb22079e364996673f3b27a9003faee0977bc1accc22b28a3509f77fb0220e77cbd0d443ff9f3f36be8b3a3c77803611bdb168769990e6a2e4e1889adcb70c4d28a2c73b5169f3e7958dda9987dac0219ffff03409e78ba7e81f4127c6dd67e3330900b3f028563e07b8d8ee18ab2a5bc8bf40c0335cf8d9a56821e4619b141150ad85621c3f5f880353196756a98f3298b07ac0803dde9d7af24f45585910b0ac6b5aa3b4b0b37384913e3b547311505a7fb386f0d03df9d96fd79c79b085c4f97dd46b6de5c69befe9b658a84dcebedf3726378807f03de2f4d3e1e146818a74496a6b9540b048ae8c6c4261a346c115d33af370bd1c30386a44c380c3ad28d588b42910edcc81f4d40b868067ffa8dadfa7f4fe1586943038fca6019285f75bc7fc9165bb6d7ad36d1a0a7a205e1dc5156c7078a0f41e834036946a8126a40129fb78e469934cca59ee5d37b7c64a85302c3ab3a4aedbc44ae0329d6fab1012d15bb24a5555f069e02085382deb14536125554b1dd9f4086f57603a447845db4adb215bbf2656b0ad38d85e1601a969d439b1fa58aa2180b910c480389625af592c052f22279c381e86c848d7c01d140630b8b75993d8f721df9afeb0348eb29cb93146910ce540d6ff928903d15d7b8869ba11cec2b74c0f7b355593f0219ffff0342bad1fcae613a291e955552ed9539aea09d81f3e9901861288e9ce75527bb2603857c2a6021e55c3ecb4c845c5903ba32419054f06c4694fefe4664a205292771036777bd6029a018bda01027a141bde1baba29dba20238b1fde1a04e8880071d85036ef67a4f66372aac3a476de2069bbb7850829aa3a2d812fb5e13302d2946278a039d7fdb0124bb89d6beebaf31176b64a2df9c96f567ff631faa23cae07d043a0503d5ba0a7164284ce0a5963833afc5a656bbdf3124c9ba978934234158abfa3c89034134401d55ab8657b70147709d58bc4dec5d6d30f844f20cd9d502bf4a2f2c1403e96d3fb4853cae6a58228a5708bcd15bae76133d44ec8e7e6fb6fb2961582bc503d6d69db198c4a5fafd38400212389e83ebd10f5a36a35441f9aaa4dd59f89529030e57be49466b87cf3023d3c404701ec35e982c749a7cb7bf55074de1455ab33e0219ffff03da0ef15e4512471c1f0fdcb74e7d9b9a698bb99e144b71b185567dc2a7f957d603bceed531e6b5a33bc7c53c38285b9b8c317afae8271d37e1107860a0d72c515e033c598b4cecf12003c4ea9afdbb6705eed722dce2504c008621d4c050586db13903a793f09d5fb1a5e1c386498b7bda5635730b3ca0094b535f2e9f02266906cecc0219ffff03aa4068534a9975b0001257e0c2fe2ca2e53eba1be3da12d88cf10615edb9f6ae03c5ceed00603107d284521b33aa38eb3c489394980d0fc384ba548f703649a737030f8e2be71d55cf8c589850d8f25d231c197013ae2f621946e4a20bc337f87eb403a20d393a73aeb67dfc4e2ca25ce8c8be62bdec853e386d2f7525eb32d694205b03306f1c97c95420b42329ece73ccab2fd2c3479d928501940e8409f80395c6a4c03284b5c9fd1d72bf4174b773178ed79db4ed449d70eb71d2de4f563839dd821f603405aed325812fe2bc24c3e47ca14a7d319c1769b390793229bb38a93a4fb139303e08bf03238889b49310f93c4d13e22e8b73682aaaf04c526026757cddb8b8854034601556a5447c924a262f81737e9c15117285f501b1b9273779436a3703badae039a4179bbe29e2f369c6098389eea51feb2d67e690f08a640c88a6772ff72156303be22092043e37a78b4a51c357f52e884d88cc52a62370264d36ebcde8edc721c03ec26516a63332450b02094c3c4e279061f4201adc00ace0e78c00fdd90c6c0b003796fd38681a7b447bc00119afdd13000da578ded0705a89a93825990f81b7f1803385bc2865ca7f44dfc75c486ed5bf5b41d2eda511dd6aa2e7ced7d23a57afcfc0332b4d3fdae9b84344a2c77aa3b6dc861360b23a696801bc97401e8af2bb37314037fd55291ebb774154090e26401959b68c0433d8f7bdf1378a3de43c4a9ab316c032405b73a1c62569e27ab4e41d010a80ce2b61f272451626ceeec4e141d0c7f2703295516e829ebf52caba115eb6e53e40f6df8a02ef686eb79d82b5b78de8e30d40314adec11d197956d85471be82e2c095eae30857ee8c3dcef2408d94d784e7ddb03c471f07038dd301c473d5ee5d1324df6d0027830de975814b5093c1a3716e4fb037b8e0c012a5453d2b32e2d869693797d89cade5217877342621e5169c64771d903c038c55386a10991979c16e018fb732aab01a537423f7cde0d8c4b9e7005061d0351a3239183ebf3e4ab46ab024b0a4fc033566fd94b60ffbaa3a040eaffbc6ca60317605e3fdf771dc421c06a6f8eceb592313cee228a7571a32aea51db359394a603cd93b56754ae570608a7a06f588543446e1ed1d03a2bc20b09be1234ed40bae00346016c2072b8683afe9451fe3bcb303b452bbe01546de17834cd21d8fc5fc73903f97358a689353db2a7620b5591eafe8a8aad6daf644ae66789ba121237f82d99036760d5ce784641815d6fff4b295fa185ca5702b9d1c756d56201a856499d456c0389e96641270bb073130ad9481cf46984e4c0b1ce7b9f329eae0d326e4fadcd5d030a9adc3a069b99bbd83943047ecb82c024f0cc456c5b375a4949b9455b277e2a03b3ee4a8441e3a19d3cbfd49da7564ff1f65ac9b25aa709f08e412f319916b10c03a1b51e5234a04959ece7e633e22cdea46cc65f7ecec39e2b32f34110b52f672503f1d42b6d50d37380fdc5a2feb712cb3662e6753f1d44e5eb5c7b4885e129235d035d4be196170b6d6e93e586b1322483fd6aa199051f3caefe6286ad839b765d8d03dc1698344d43a078f8c7cf608bc43bece4b14bdefdab26720d9be2c8695c34e703cf6f5ead294971b21efba5ec0a3ba83dd75c95ecdc723b01f288731957b0597e0381b6000b8a2925365cc6abdfaba917d069535ce88e640c6c763e4fdcf9adf92103fc426ee6e4d549dfa3e2779ef8b6808b857685c9dc2362a48427d3d83a8d0ebd0326f0501a42f29dc54bab2a28b97e5849c4678af413783073e0210e7adc328d97035c05f7aa594ed08009309fd37bf845c887421d7190f2c70095db1e7f950ca0f603b8a67e002b1009543282a6873957e04511f15e7a04d58856993fcc3ea7df36ba0373783021d46782d27873bce506133d3c65a0fdf484c29bd5401a57171aaf5e0403fab700bb77e50fb8a1a1b5b4a7cb626d0100850a547890b7d35ec0d3c5c1ee8403bd0872177a6ad38278fe084a7981e082df764d5fb42795dc4c77a5ac91fd888d03716cba084dcc86b1a13f46592666eab24278f4ce27d0841ee2b212b07609d6c703acf7430a0b8bf62413eaab75b9b6b51913756c937a97d5cbf5c5781be31a6698035d8e999755587ba57bc208af260c630b102e1f632a4525e3421f706a7e8a446305581e03b1b7140dbb197082853651d92061cf63c303b1acd46728e8793630cd400c02470231d0daf531e50358804d9c514e43993d72e4214f818817f3bbef070f90be05cf79234cee1908be03f13c458ec229d465ac25b6d138e98144fd1c48060ad94befdafa44cee618ffe105581e03ba8b0a0e5a87d3192df4af87840e26295455ee485895a4376f8370b2d00c02470147de98c1148805581e03760ff0c45616fcb05dc840044f6d9fac63fde0df8adb8d09a898bd50d00c024618261e87300005581e0336a36573829a8662acf38b0361590bb96da31c45b3edd25668dd3bfc70040205581d02af4083cb6c89b82c319d44aeb986481cde9f97dbd7db77e4becac7100c1a00201e8e490673486ce5463a882605581d022b75f0ab8856e4488839d159d1cb5c39391c25f3592cbd2ce04473470c01480163039f4f747b0002190802021945a90219ffff0219ffff03f13562e7e0bbe59fddbc0e4da33f80fde264f8431c92a034cbfec922276f03640339f615147699613099613104e19513af8d22a82fcafea2cfe5ad679c654e50300395d544e841d9c1853813b2911a7686ed227fabb298249f35b7d059f3de53d91203eec2235a910378bce52df73ed9599c4172db21dc5976fa691e2527789871879e0333a53c8dfcfc4e3781d921ce5743823be7a8324a2686b9d940404abd18d0f5c7031259a400f9e5d1bfe3bde08805d72f6a04804516c99f12a47e5d38cab2761bb403faefc54b75086802231233d641b595f841c2d7f622834ec0167a65569e4c2cb003b74f9660ccdd006e8623b80ebf513ade363e0d53176152c4d30f54427597c1fd035a954bda16f1b702e33b8eae4c5edc0754a399abb2c1a664b14113b92621b22e03e21c401fdf3abdfc0aa9a0fac867be5b7cd5dc8b2e801992168a7216af9333b603318fc23b123eb9a14d854158f7637e2899d5ec327f4f273d5d1e404ade0ff02803aab37afa00f2af7dfddf684496253686a5c514c9d02b18a63d1ce3eef2ba2e9303effd551c2b92e8afa2e0f29a9c817954acaefa42e66798d690a4d30913e8f49a031f6381b63464f7ee5605006d0f705722e571caa52a99453a9c42c0c989e09ad50319b2cb9787b2f50184045579c313a0949b909b760631b8ce5dcc23837f3ac2640219ffff03a9a7b7ce6826fc3cde003408d4ab7045219ed26673169eb430944f8759407ea10219ffff038e79b2c9b51b32c2d9441eb8b3071559f9db9540df984f3b4ee9993ecf037fa00302d172152466b7221303140d42525d9fc7dcd8d1ac03046db376839691554a7803d7db83803b68d24466a6447a1e3664cb0116936065a6a43c63471e214fdccf8f0374d242e51bdf0b94949d65c5dbc4282ff9f03380b7c04b0e8c12367abc31f3f503ed849d5813fb6757e352cef092648d5cc178fb74aa991c605eb4dd51c6dce304039b9218ec6bf3fbf023f03fc7521f8219182a472f7c7c0a277ca83e1765bed1ae032b3d83866d66c3aad6a47fe65413c160f9838e838e213b130504a0ce6c09ef2a037ece2ce283163e9950f6f3067ca724030a1e339f746c099e46bdc4a18ce4f69003267f5b02ecb0db4fd706f691266ed53cd83d8e53bd6ef9778535b35303e6475f0361314385ae0af152451f696cc1a77308034635a3bf453eb9972f0f3b5b3843d7034f04ac2d464c3e59f9b8a586d0dc7a5eda6072147c91a13339ccd93af837cdae0219ffff0219ffff" - } - }, - "code_db": null, - "txn_info": [ - { - "traces": { - "0x49f18c6370d3235fcc7cf4fd8167b8ca9bed0af8": { - "balance": "0x26c583e6f4de1f1b", - "nonce": "0x212b" - }, - "0x151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7f": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0xd8a47cc0a98b326a7d41ebdba69f2440a3db7a31c7edca3bc5f01523d2fabe24", - "0x0000000000000000000000000000000000000000000000000000000000000024", - "0x0000000000000000000000000000000000000000000000000000000000000025", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x7b78a71646e33e6e76cabfface36f52", - "0x0000000000000000000000000000000000000000000000000000000000000025": "0x100000000000000000001739d0492174ce5ffd126fffc7f6f9c957365cf6087", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10000960096001dff4659000000000000000017c861793bcc2ea99728962e" - }, - "code_usage": { - "read": "0x516e38ed2cd77bcb4dfb71f1afe70b0516eeb781a30e5c770fbee39aa6eb809c" - } - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": {}, - "0xcc2687c14915fd68226ccf388842515739a739bd": { - "code_usage": { - "read": "0x1b91d26a2eb23313e6e92fcd974f099f3428fd6d6e627d87d108ead574b68cb2" - } - }, - "0xaa6e8127831c9de45ae56bb1b0d4d4da6e5665bd": { - "storage_read": [ - "0xba33e9b8db02508f048aa1db6e9c0afddb03933b0bff1a3c90d6bafefde1d9e3", - "0x584faa44e8bbe81b643316e312b8153135ecec313a641b0e31d013822f728796" - ], - "storage_written": { - "0xba33e9b8db02508f048aa1db6e9c0afddb03933b0bff1a3c90d6bafefde1d9e3": "0x13b3c8f7603c2c2842ae", - "0x584faa44e8bbe81b643316e312b8153135ecec313a641b0e31d013822f728796": "0x237d1cf3f694229042" - }, - "code_usage": { - "read": "0x2105590e28e110e2e156f35dd5f376d12258ae82da2b4edab9b511d0d8bc0619" - } - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "storage_read": [ - "0xc52f396c407e484c805c250341c5b6182c11dea9069b8555d0a5c7093be785b9", - "0xd392e8d1b6835f6ffe48e3fa40f91a25dfa9ff2d64600e2b40173fa9c1d511bf" - ], - "storage_written": { - "0xd392e8d1b6835f6ffe48e3fa40f91a25dfa9ff2d64600e2b40173fa9c1d511bf": "0xde0b6b3a7640000", - "0xc52f396c407e484c805c250341c5b6182c11dea9069b8555d0a5c7093be785b9": "0x1e4537db023b263ffc" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - } - }, - "meta": { - "byte_code": "0x02f902490182212a80850755ff20688301d58394cc2687c14915fd68226ccf388842515739a739bd80b84700000003012597010000000000000de0b6b3a7640000151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7f000000000000004e50ca71278ece8b0000000000237d1cf3f694229041f90195f8dd94151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7ff8c6a00000000000000000000000000000000000000000000000000000000000000002a0d8a47cc0a98b326a7d41ebdba69f2440a3db7a31c7edca3bc5f01523d2fabe24a00000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000000025a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004f85994aa6e8127831c9de45ae56bb1b0d4d4da6e5665bdf842a0ba33e9b8db02508f048aa1db6e9c0afddb03933b0bff1a3c90d6bafefde1d9e3a0584faa44e8bbe81b643316e312b8153135ecec313a641b0e31d013822f728796f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0c52f396c407e484c805c250341c5b6182c11dea9069b8555d0a5c7093be785b9a0d392e8d1b6835f6ffe48e3fa40f91a25dfa9ff2d64600e2b40173fa9c1d511bf80a07c51ef3e703c82bc13da77fdbb8041933823f58c7c87a773ab38a31783148210a053e67561db17a23f5c140fb794c33993ed753d770ccc87b369e8871095166073", - "new_txn_trie_node_byte": "0x02f902490182212a80850755ff20688301d58394cc2687c14915fd68226ccf388842515739a739bd80b84700000003012597010000000000000de0b6b3a7640000151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7f000000000000004e50ca71278ece8b0000000000237d1cf3f694229041f90195f8dd94151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7ff8c6a00000000000000000000000000000000000000000000000000000000000000002a0d8a47cc0a98b326a7d41ebdba69f2440a3db7a31c7edca3bc5f01523d2fabe24a00000000000000000000000000000000000000000000000000000000000000024a00000000000000000000000000000000000000000000000000000000000000025a00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000004f85994aa6e8127831c9de45ae56bb1b0d4d4da6e5665bdf842a0ba33e9b8db02508f048aa1db6e9c0afddb03933b0bff1a3c90d6bafefde1d9e3a0584faa44e8bbe81b643316e312b8153135ecec313a641b0e31d013822f728796f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0c52f396c407e484c805c250341c5b6182c11dea9069b8555d0a5c7093be785b9a0d392e8d1b6835f6ffe48e3fa40f91a25dfa9ff2d64600e2b40173fa9c1d511bf80a07c51ef3e703c82bc13da77fdbb8041933823f58c7c87a773ab38a31783148210a053e67561db17a23f5c140fb794c33993ed753d770ccc87b369e8871095166073", - "new_receipt_trie_node_byte": "0xb9036802f90364018301821bb9010000004000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000002000000080020000000000000000000000000000000000800000008000000000000000000000000000000000002000000000000200000000000000000002000000000000000000000000030000800000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000080000000000000000000000000000000200000000000008000000001000000000000010000000800000000000000f90259f89b94aa6e8127831c9de45ae56bb1b0d4d4da6e5665bdf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7fa0000000000000000000000000cc2687c14915fd68226ccf388842515739a739bda00000000000000000000000000000000000000000000000237d1cf3f694229041f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000cc2687c14915fd68226ccf388842515739a739bda0000000000000000000000000151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7fa00000000000000000000000000000000000000000000000004e50ca71278ece8bf9011c94151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7ff863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000cc2687c14915fd68226ccf388842515739a739bda0000000000000000000000000cc2687c14915fd68226ccf388842515739a739bdb8a0ffffffffffffffffffffffffffffffffffffffffffffffdc82e30c096bdd6fbf0000000000000000000000000000000000000000000000004e50ca71278ece8b000000000000000000000000000000000000000017c861793bcc2ea99728962e00000000000000000000000000000000000000000000030c7ac73fb9897ea01cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4659", - "gas_used": 98843 - } - }, - { - "traces": { - "0xaa6e8127831c9de45ae56bb1b0d4d4da6e5665bd": { - "storage_read": [ - "0xba33e9b8db02508f048aa1db6e9c0afddb03933b0bff1a3c90d6bafefde1d9e3", - "0x6ef6c7e8f399cb2db0fa4c873fe572abbdc53d164ebe80278a1312f736e51a4a" - ], - "storage_written": { - "0x6ef6c7e8f399cb2db0fa4c873fe572abbdc53d164ebe80278a1312f736e51a4a": "0x1847fd3a07c9358c1ba", - "0xba33e9b8db02508f048aa1db6e9c0afddb03933b0bff1a3c90d6bafefde1d9e3": "0x137d0a7e86ce5fac6073" - }, - "code_usage": { - "read": "0x2105590e28e110e2e156f35dd5f376d12258ae82da2b4edab9b511d0d8bc0619" - } - }, - "0x1ab65eca96d51ad4d85a40c99cc6455f1af824e8": { - "balance": "0x1c70678d5ffc4c910", - "nonce": "0xd6" - }, - "0x151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7f": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0xd8a47cc0a98b326a7d41ebdba69f2440a3db7a31c7edca3bc5f01523d2fabe24", - "0x0000000000000000000000000000000000000000000000000000000000000025" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x7b7a93446ad53016a972250fbc581c1", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10000960096001dff46dc000000000000000017f050779bbd8f69ddf2d9bb" - }, - "code_usage": { - "read": "0x516e38ed2cd77bcb4dfb71f1afe70b0516eeb781a30e5c770fbee39aa6eb809c" - } - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9d98cc7f7141e349" - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298720c707984aa2acb40", - "storage_read": [ - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e", - "0xc52f396c407e484c805c250341c5b6182c11dea9069b8555d0a5c7093be785b9" - ], - "storage_written": { - "0xc52f396c407e484c805c250341c5b6182c11dea9069b8555d0a5c7093be785b9": "0x1ebf54f992aa1b625c", - "0x73d637d229721ca538a0a2e9712eeef46a1889496c0a60f402b430eba28d4a2e": "0x1" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0xdef1c0ded9bec7f1a1670819833240f027b25eff": { - "storage_read": [ - "0xfafa9e60b7fc3a82d6372f25242b5c1bd30e3927bfa454fa7233ccc186ec39fb", - "0x4a432555e3fde060855a28d4d0b3bf599bbd04b75121e1e4d841e85fbc68da12" - ], - "code_usage": { - "read": "0xade271f13b55729be286859c01c54fcb04c2dde098fc3bc9901c35927ece786e" - } - }, - "0x0e992c001e375785846eeb9cd69411b53f30f24b": { - "code_usage": { - "read": "0x5908b6ce9a77484c886ffc5f0635b2eca3327bdc7cc0be118d346f86250745f6" - } - } - }, - "meta": { - "byte_code": "0x02f9017e0181d5830f424085083c3424c88302391094def1c0ded9bec7f1a1670819833240f027b25eff887a1d1e906ef52260b901083598d8ab0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000036a76847622771e5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb8aa6e8127831c9de45ae56bb1b0d4d4da6e5665bd000000000000000000000000000000000000000000869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba1000000000000000000000000000000008357255014e1179f2b6959f49011226dc001a0d841a022ae900922b65814179dfec5760f57a4db627e00dbf851afac2bb6a4bba02862ab8cafec6edcaf55a04eb96b89f2ad43de423fc3b8481888fbcb2b00df6c", - "new_txn_trie_node_byte": "0x02f9017e0181d5830f424085083c3424c88302391094def1c0ded9bec7f1a1670819833240f027b25eff887a1d1e906ef52260b901083598d8ab0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000036a76847622771e5300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000bb8aa6e8127831c9de45ae56bb1b0d4d4da6e5665bd000000000000000000000000000000000000000000869584cd000000000000000000000000382ffce2287252f930e1c8dc9328dac5bf282ba1000000000000000000000000000000008357255014e1179f2b6959f49011226dc001a0d841a022ae900922b65814179dfec5760f57a4db627e00dbf851afac2bb6a4bba02862ab8cafec6edcaf55a04eb96b89f2ad43de423fc3b8481888fbcb2b00df6c", - "new_receipt_trie_node_byte": "0xb903e402f903e00183033a08b9010000004000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000002000800080020000000000000000000000000000000002800000008000000000000000000000000000000008002000000000000200000000000000000002040000000000000000000000010000800000000000000000000000000000000000000000001000010000000000000000000000000000000000000004000000000000000000000000000000000000000000000000002000000000000000000000000000080000000000000040000000000000000200000000000008000000000000000000000010000400800000000000000f902d5f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa00000000000000000000000000000000000000000000000007a1d1e906ef52260f89b94aa6e8127831c9de45ae56bb1b0d4d4da6e5665bdf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7fa00000000000000000000000001ab65eca96d51ad4d85a40c99cc6455f1af824e8a0000000000000000000000000000000000000000000000036be78d96dcc7be23bf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa0000000000000000000000000151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7fa00000000000000000000000000000000000000000000000007a1d1e906ef52260f9011c94151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7ff863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000def1c0ded9bec7f1a1670819833240f027b25effa00000000000000000000000001ab65eca96d51ad4d85a40c99cc6455f1af824e8b8a0ffffffffffffffffffffffffffffffffffffffffffffffc94187269233841dc50000000000000000000000000000000000000000000000007a1d1e906ef52260000000000000000000000000000000000000000017f050779bbd8f69ddf2d9bb00000000000000000000000000000000000000000000030c7ac73fb9897ea01cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff46dc", - "gas_used": 112621 - } - }, - { - "traces": { - "0xcc2687c14915fd68226ccf388842515739a739bd": { - "code_usage": { - "read": "0x1b91d26a2eb23313e6e92fcd974f099f3428fd6d6e627d87d108ead574b68cb2" - } - }, - "0x151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7f": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000025", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000001", - "0xd8a47cc0a98b326a7d41ebdba69f2440a3db7a31c7edca3bc5f01523d2fabe24" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10000960096001dff4687000000000000000017d671dc8cef8aa73e4b270d", - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x2168dd6f5ffee15918b6413c2f7d03e84" - }, - "code_usage": { - "read": "0x516e38ed2cd77bcb4dfb71f1afe70b0516eeb781a30e5c770fbee39aa6eb809c" - } - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9e0ebbcf9956335c" - }, - "0xaa6e8127831c9de45ae56bb1b0d4d4da6e5665bd": { - "storage_read": [ - "0xba33e9b8db02508f048aa1db6e9c0afddb03933b0bff1a3c90d6bafefde1d9e3", - "0x584faa44e8bbe81b643316e312b8153135ecec313a641b0e31d013822f728796" - ], - "storage_written": { - "0x584faa44e8bbe81b643316e312b8153135ecec313a641b0e31d013822f728796": "0x1", - "0xba33e9b8db02508f048aa1db6e9c0afddb03933b0bff1a3c90d6bafefde1d9e3": "0x13a0879b7ac4f3cef0b4" - }, - "code_usage": { - "read": "0x2105590e28e110e2e156f35dd5f376d12258ae82da2b4edab9b511d0d8bc0619" - } - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "storage_read": [ - "0xc52f396c407e484c805c250341c5b6182c11dea9069b8555d0a5c7093be785b9", - "0xd392e8d1b6835f6ffe48e3fa40f91a25dfa9ff2d64600e2b40173fa9c1d511bf" - ], - "storage_written": { - "0xd392e8d1b6835f6ffe48e3fa40f91a25dfa9ff2d64600e2b40173fa9c1d511bf": "0x5cbf5f5d23391d08", - "0xc52f396c407e484c805c250341c5b6182c11dea9069b8555d0a5c7093be785b9": "0x1e707650e92e464554" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0x49f18c6370d3235fcc7cf4fd8167b8ca9bed0af8": { - "balance": "0x264431b497d56348", - "nonce": "0x212c" - } - }, - "meta": { - "byte_code": "0x02f902420182212b80850755ff20688301e05c94cc2687c14915fd68226ccf388842515739a739bd8775ef5028145013b85a00000004012597010000000000005cbf5f5d23391d08151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7faa6e8127831c9de45ae56bb1b0d4d4da6e5665bd0000000000237d1cf3f6942290410000000000004edea8a97bd51d08f90174f85994aa6e8127831c9de45ae56bb1b0d4d4da6e5665bdf842a0ba33e9b8db02508f048aa1db6e9c0afddb03933b0bff1a3c90d6bafefde1d9e3a0584faa44e8bbe81b643316e312b8153135ecec313a641b0e31d013822f728796f8bc94151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7ff8a5a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a0d8a47cc0a98b326a7d41ebdba69f2440a3db7a31c7edca3bc5f01523d2fabe24a00000000000000000000000000000000000000000000000000000000000000025a00000000000000000000000000000000000000000000000000000000000000000f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0c52f396c407e484c805c250341c5b6182c11dea9069b8555d0a5c7093be785b9a0d392e8d1b6835f6ffe48e3fa40f91a25dfa9ff2d64600e2b40173fa9c1d511bf01a0b105c5752acf92923d7016e2edea7053d1ce73c43191ff51fe2da8bf6b27e37ea063a3408a605e3437ac6ce296063f7a7caa8e85298b80f942ee44b2dc64c8b6dc", - "new_txn_trie_node_byte": "0x02f902420182212b80850755ff20688301e05c94cc2687c14915fd68226ccf388842515739a739bd8775ef5028145013b85a00000004012597010000000000005cbf5f5d23391d08151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7faa6e8127831c9de45ae56bb1b0d4d4da6e5665bd0000000000237d1cf3f6942290410000000000004edea8a97bd51d08f90174f85994aa6e8127831c9de45ae56bb1b0d4d4da6e5665bdf842a0ba33e9b8db02508f048aa1db6e9c0afddb03933b0bff1a3c90d6bafefde1d9e3a0584faa44e8bbe81b643316e312b8153135ecec313a641b0e31d013822f728796f8bc94151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7ff8a5a00000000000000000000000000000000000000000000000000000000000000004a00000000000000000000000000000000000000000000000000000000000000001a0d8a47cc0a98b326a7d41ebdba69f2440a3db7a31c7edca3bc5f01523d2fabe24a00000000000000000000000000000000000000000000000000000000000000025a00000000000000000000000000000000000000000000000000000000000000000f85994c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0c52f396c407e484c805c250341c5b6182c11dea9069b8555d0a5c7093be785b9a0d392e8d1b6835f6ffe48e3fa40f91a25dfa9ff2d64600e2b40173fa9c1d511bf01a0b105c5752acf92923d7016e2edea7053d1ce73c43191ff51fe2da8bf6b27e37ea063a3408a605e3437ac6ce296063f7a7caa8e85298b80f942ee44b2dc64c8b6dc", - "new_receipt_trie_node_byte": "0xb9036802f90364018304c760b9010000004000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000002000000080020000000000000000000000000000000000800000008000000000000000000000000000000000002000000000000200000000000000000002000000000000000000000000030000800000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000080000000000000000000000000000000200000000000008000000001000000000000010000000800000000000000f90259f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7fa0000000000000000000000000cc2687c14915fd68226ccf388842515739a739bda00000000000000000000000000000000000000000000000004edea8a97bd51d08f89b94aa6e8127831c9de45ae56bb1b0d4d4da6e5665bdf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000cc2687c14915fd68226ccf388842515739a739bda0000000000000000000000000151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7fa00000000000000000000000000000000000000000000000237d1cf3f694229041f9011c94151ccb92bc1ed5c6d0f9adb5cec4763ceb66ac7ff863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a0000000000000000000000000cc2687c14915fd68226ccf388842515739a739bda0000000000000000000000000cc2687c14915fd68226ccf388842515739a739bdb8a00000000000000000000000000000000000000000000000237d1cf3f694229041ffffffffffffffffffffffffffffffffffffffffffffffffb1215756842ae2f8000000000000000000000000000000000000000017d671dc8cef8aa73e4b270d00000000000000000000000000000000000000000000030c7ac73fb9897ea01cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4687", - "gas_used": 101720 - } - }, - { - "traces": { - "0xdbcc1787b02c39aa56f0f5365125933c08feeab0": { - "balance": "0x3137bee91a03b6b", - "nonce": "0x41" - }, - "0xf3de3c0d654fda23dad170f0f320a92172509127": { - "code_usage": { - "read": "0xe5b4a5c24225a0ec7687716ddb6728a7321fa50d7362c3a5acfe55e57b4b9564" - } - }, - "0x40aa958dd87fc8305b97f2ba922cddca374bcd7f": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000065" - ], - "code_usage": { - "read": "0xe8711c5f0fe7f3c28078140bb97b65aa015a58c06c14bad5abffa44f00f1ddf5" - } - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9e0ef35ce50a235c" - }, - "0x6d7497751656618fc38cfb5478994a20f7e235df": { - "storage_read": [ - "0x2eb9e60c490d317d2a6384dacbf41a70692f1a2d46266ce32c5d6c8f769d10a6", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0x72c80b5bc80df91afd56c3a951a32283559e7f7eb045d83c91efeee0d02c38fc", - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897" - ], - "storage_written": { - "0x72c80b5bc80df91afd56c3a951a32283559e7f7eb045d83c91efeee0d02c38fc": "0x0", - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897": "0x1840a21798d4d5c12f8752314" - }, - "code_usage": { - "read": "0x4123f56d86f276e684177a9b98a18f2f9d66d40208c423fe55b0e5c8f9d53abd" - } - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x2987209d3089f85f9af1a", - "storage_read": [ - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c", - "0xa78c3571170f7dcd4a9be5fc007f2e41d0568b2d304d741c66b27ec22dd33cfe" - ], - "storage_written": { - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c": "0x7d09f651ddc19d199", - "0xa78c3571170f7dcd4a9be5fc007f2e41d0568b2d304d741c66b27ec22dd33cfe": "0x1" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0xd420d5f24225702a68ddf21242d5eef816dc2e6d": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000006" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf6087000000000007d09f651ddc19d1990001840a21798d4d5c12f8752314", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x1f3f8b4dab18b3280d3d842c2ce83b6bf72cd4cac", - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1eef95b899058844625cad5354", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0x70cbb871e8f30fc8ce23609e9e0ea87b6b222f58": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000066", - "0xfca24f26881178fbb721486fd81006a8a2f47f9f9479f3a10e978c0ededf333a" - ], - "code_usage": { - "read": "0xb6a0916f3f4f33110bd1c57652c6e21f4beb32ffcfb50124f8b51cb5cee61f04" - } - } - }, - "meta": { - "byte_code": "0x02f901310140841dcd650085084cf716c08303910094f3de3c0d654fda23dad170f0f320a9217250912780b8c49871efa40000000000000000000000006d7497751656618fc38cfb5478994a20f7e235df000000000000000000000000000000000000000000821087388b0f2a4f45ccb40000000000000000000000000000000000000000000000000273aa821f0256880000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000170000000000000003b6d0340d420d5f24225702a68ddf21242d5eef816dc2e6dc001a06863a39687e4a7ece96ca402bdd324ac2c2a7ee422887fcbd1923642eac5457ea07008839de0dd17b4e1296982b88325ed658f439a519998e67671f3b5db141d63", - "new_txn_trie_node_byte": "0x02f901310140841dcd650085084cf716c08303910094f3de3c0d654fda23dad170f0f320a9217250912780b8c49871efa40000000000000000000000006d7497751656618fc38cfb5478994a20f7e235df000000000000000000000000000000000000000000821087388b0f2a4f45ccb40000000000000000000000000000000000000000000000000273aa821f0256880000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000170000000000000003b6d0340d420d5f24225702a68ddf21242d5eef816dc2e6dc001a06863a39687e4a7ece96ca402bdd324ac2c2a7ee422887fcbd1923642eac5457ea07008839de0dd17b4e1296982b88325ed658f439a519998e67671f3b5db141d63", - "new_receipt_trie_node_byte": "0xb9057302f9056f018306a490b9010000200000000000000000000080000000100000000000000000000000000000000000000000000000020000000000000002008000080000000000000020000000000000000000000100000008800000200080000000400000000000000000000000000000000000000008000000000000000000000000040000000010000000000000000000000000000020000200000080000000000000080000004000000000000000001000000000000040080000000001000000000000000000000000000000000002000000000000000000010000000000020000009040000002000000000100200000000000022000000000000000000000000000000000000000000020f90464f85894f3de3c0d654fda23dad170f0f320a92172509127e1a07724394874fdd8ad13292ec739b441f85c6559f10dc4141b8d4c0fa4cbf55bdba00000000000000000000000000000000000000000000000000000000000000000f89b946d7497751656618fc38cfb5478994a20f7e235dff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000dbcc1787b02c39aa56f0f5365125933c08feeab0a0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da0000000000000000000000000000000000000000000821087388b0f2a4f45ccb4f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127a0000000000000000000000000000000000000000000000000029d70e524311c26f87994d420d5f24225702a68ddf21242d5eef816dc2e6de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000001840a21798d4d5c12f8752314000000000000000000000000000000000000000000000007d09f651ddc19d199f8fc94d420d5f24225702a68ddf21242d5eef816dc2e6df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127b880000000000000000000000000000000000000000000821087388b0f2a4f45ccb400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000029d70e524311c26f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a0000000000000000000000000f3de3c0d654fda23dad170f0f320a92172509127a0000000000000000000000000000000000000000000000000029d70e524311c26f8d994f3de3c0d654fda23dad170f0f320a92172509127e1a01bb43f2da90e35f7b0cf38521ca95a49e68eb42fac49924930a5bd73cdf7576cb8a00000000000000000000000006d7497751656618fc38cfb5478994a20f7e235df0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dbcc1787b02c39aa56f0f5365125933c08feeab0000000000000000000000000000000000000000000821087388b0f2a4f45ccb4000000000000000000000000000000000000000000000000029d70e524311c26", - "gas_used": 122160 - } - }, - { - "traces": { - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": {}, - "0x6d7497751656618fc38cfb5478994a20f7e235df": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897", - "0xb39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470a" - ], - "storage_written": { - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897": "0x1829b4c8b8d4d5c12f8752314", - "0xb39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470a": "0x1554873fffc3522bbf655de0" - }, - "code_usage": { - "read": "0x4123f56d86f276e684177a9b98a18f2f9d66d40208c423fe55b0e5c8f9d53abd" - } - }, - "0x6b75d8af000000e20b7a7ddf000ba900b4009a80": { - "balance": "0x153a4d0bb8a49", - "code_usage": { - "read": "0x213c3f38a90242ff53461e679cef9a1bbbae20e63de087cdbc972d813c857711" - } - }, - "0xdc900845732a53ee8df737efa282a6bc56976e62": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x2bc82346b12aee24647cdf327df00ffc9eea257ff0", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf608700000000000943a14c374712a218000000000001a06b4c3d0c4e80bb", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0x2ef738cbf909b92548d6879e3bb43dd8dab50249c", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0xd420d5f24225702a68ddf21242d5eef816dc2e6d": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000006" - ], - "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf6087000000000007d80f65efdd19d1990001829b4c8b8d4d5c12f8752314" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "storage_read": [ - "0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8", - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c", - "0xc4b5945b3d588809025580057cbcadbb58fc33740a13703202de569e28ad94f8" - ], - "storage_written": { - "0xc4b5945b3d588809025580057cbcadbb58fc33740a13703202de569e28ad94f8": "0x943a14c374712a218", - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c": "0x7d80f65efdd19d199", - "0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8": "0x1e2827b20fdf1f6807" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0x9e9fbde7c7a83c43913bddc8779158f1368f0413": { - "storage_read": [ - "0x6e6081c5b55abcaa3c6e2e8a592b973640109071879cd803b85d3d706ee3969c", - "0xab2e97a75db32eb3b19136ac5fcb6d7a64d182e81eb81decf514e3d877434a50", - "0x5026556a9e91dc9bba9215081252f333fe1d44bf12f6b47633a8259ffde03acb", - "0xa34640eb1c607d836ceb4af07c59befcec4cdb4943351c3a245f8712063aa3b6" - ], - "storage_written": { - "0x6e6081c5b55abcaa3c6e2e8a592b973640109071879cd803b85d3d706ee3969c": "0x1a06b4c3d0c4e80bb", - "0xab2e97a75db32eb3b19136ac5fcb6d7a64d182e81eb81decf514e3d877434a50": "0x5aeaca7bfd930dd" - }, - "code_usage": { - "read": "0xde2d3cb78918547c06e2d4f09804da99d8ee9dbfecc4c8023b7ccecfe92a829b" - } - }, - "0xae2fc483527b8ef99eb5d9b44875f005ba1fae13": { - "balance": "0x67338c630eb425445", - "nonce": "0x201e8f" - } - }, - "meta": { - "byte_code": "0x02f903be0183201e8e80850755ff206883030c3e946b75d8af000000e20b7a7ddf000ba900b4009a8085077000d201b83a0918d420d5f24225702a68ddf21242d5eef816dc2e6d016ed4ee0b1cdc900845732a53ee8df737efa282a6bc56976e62010b06ca5c05f18c6f06f90311f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8a0ed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285ca0c4b5945b3d588809025580057cbcadbb58fc33740a13703202de569e28ad94f8f89b94d420d5f24225702a68ddf21242d5eef816dc2e6df884a00000000000000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006f87a946d7497751656618fc38cfb5478994a20f7e235dff863a00000000000000000000000000000000000000000000000000000000000000005a0db111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897a0b39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470af8dd94dc900845732a53ee8df737efa282a6bc56976e62f8c6a00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000000000000000000000000000000000000000000cf89b949e9fbde7c7a83c43913bddc8779158f1368f0413f884a06e6081c5b55abcaa3c6e2e8a592b973640109071879cd803b85d3d706ee3969ca0ab2e97a75db32eb3b19136ac5fcb6d7a64d182e81eb81decf514e3d877434a50a05026556a9e91dc9bba9215081252f333fe1d44bf12f6b47633a8259ffde03acba0a34640eb1c607d836ceb4af07c59befcec4cdb4943351c3a245f8712063aa3b601a0b48222e32e8cc2cc6a762704fbeebd29ad70e1d3fae2f6d03f3cbbd8fb7e36e3a07fcc102dc9a7cb2fa7d608696e7b2bf8760abe7efc62bfdd59a355140f512741", - "new_txn_trie_node_byte": "0x02f903be0183201e8e80850755ff206883030c3e946b75d8af000000e20b7a7ddf000ba900b4009a8085077000d201b83a0918d420d5f24225702a68ddf21242d5eef816dc2e6d016ed4ee0b1cdc900845732a53ee8df737efa282a6bc56976e62010b06ca5c05f18c6f06f90311f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8a0ed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285ca0c4b5945b3d588809025580057cbcadbb58fc33740a13703202de569e28ad94f8f89b94d420d5f24225702a68ddf21242d5eef816dc2e6df884a00000000000000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006f87a946d7497751656618fc38cfb5478994a20f7e235dff863a00000000000000000000000000000000000000000000000000000000000000005a0db111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897a0b39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470af8dd94dc900845732a53ee8df737efa282a6bc56976e62f8c6a00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007a00000000000000000000000000000000000000000000000000000000000000009a0000000000000000000000000000000000000000000000000000000000000000aa0000000000000000000000000000000000000000000000000000000000000000cf89b949e9fbde7c7a83c43913bddc8779158f1368f0413f884a06e6081c5b55abcaa3c6e2e8a592b973640109071879cd803b85d3d706ee3969ca0ab2e97a75db32eb3b19136ac5fcb6d7a64d182e81eb81decf514e3d877434a50a05026556a9e91dc9bba9215081252f333fe1d44bf12f6b47633a8259ffde03acba0a34640eb1c607d836ceb4af07c59befcec4cdb4943351c3a245f8712063aa3b601a0b48222e32e8cc2cc6a762704fbeebd29ad70e1d3fae2f6d03f3cbbd8fb7e36e3a07fcc102dc9a7cb2fa7d608696e7b2bf8760abe7efc62bfdd59a355140f512741", - "new_receipt_trie_node_byte": "0xb9067502f90671018308c6bcb9010000200000000000000008000080000000000000000000002000000000000000000000008000000020000000000080000002000000080000000000000020000000000000000000000000000008000000200080000000000000000040100000000000000020000000000000000000000000000000000000000080000110000000000000000000000000000020000200000000000000000000080000004000000000000000001000000000000000000000000000000000000000000000010040000000000002000000000000000000000000000000400000201000000000000000000100200000000000022000020000000000000000000000000000000000000020f90566f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da0000000000000000000000000000000000000000000000000077000d201000000f89b946d7497751656618fc38cfb5478994a20f7e235dff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000000000000000000000016ed4ee0000000000000000f87994d420d5f24225702a68ddf21242d5eef816dc2e6de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000001829b4c8b8d4d5c12f8752314000000000000000000000000000000000000000000000007d80f65efdd19d199f8fc94d420d5f24225702a68ddf21242d5eef816dc2e6df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80b8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000077000d2010000000000000000000000000000000000000000000000016ed4ee00000000000000000000000000000000000000000000000000000000000000000000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a0000000000000000000000000dc900845732a53ee8df737efa282a6bc56976e62a000000000000000000000000000000000000000000000000005f18c6f00000000f89b949e9fbde7c7a83c43913bddc8779158f1368f0413f863a0e59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487a0000000000000000000000000dc900845732a53ee8df737efa282a6bc56976e62a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a0000000000000000000000000000000000000000000000000010b06ca00000000f87994dc900845732a53ee8df737efa282a6bc56976e62e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000001a06b4c3d0c4e80bb00000000000000000000000000000000000000000000000943a14c374712a218f8fc94dc900845732a53ee8df737efa282a6bc56976e62f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f18c6f00000000000000000000000000000000000000000000000000000000010b06ca000000000000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 139820 - } - }, - { - "traces": { - "0xd420d5f24225702a68ddf21242d5eef816dc2e6d": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf6087000000000007e214465736aa6691000180b16886732f5b2b7244d35e", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0xebe6ef3a90f3219764c80ad4ed14c5d55fc0f7ed": { - "balance": "0xaacdccf86fb814", - "nonce": "0x26" - }, - "0x6d7497751656618fc38cfb5478994a20f7e235df": { - "storage_read": [ - "0x1bd9b9754ce474ec09aee3e6d6cc57e37d6bee4279bea3ecb0c393a9fbd783e8", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897" - ], - "storage_written": { - "0x1bd9b9754ce474ec09aee3e6d6cc57e37d6bee4279bea3ecb0c393a9fbd783e8": "0x9fdd79ca9a7417fca304fb6", - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897": "0x180b16886732f5b2b7244d35e" - }, - "code_usage": { - "read": "0x4123f56d86f276e684177a9b98a18f2f9d66d40208c423fe55b0e5c8f9d53abd" - } - }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, - "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" - } - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9e0ef37450502d5c" - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x2987213d7e906df8a4412", - "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c" - ], - "storage_written": { - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c": "0x7e214465736aa6691", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - } - }, - "meta": { - "byte_code": "0x02f902f90125830f42408507a19bfef983025906943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880a04e067599094f8b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf62bb00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000a04e067599094f8000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a04e067599094f8000000000000000000000000000000000000000001e9e3fee017a9c00d7d992000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006d7497751656618fc38cfb5478994a20f7e235dfc001a0a7d3c4fa4d22844eef8509336c17265312ca81f3d2e04fe6ac1a36de9a9553c6a01dbe233b219a43644e29c3f467487ac529fb475fcf08c4865b6f98207347999e", - "new_txn_trie_node_byte": "0x02f902f90125830f42408507a19bfef983025906943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad880a04e067599094f8b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf62bb00000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000a04e067599094f8000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000a04e067599094f8000000000000000000000000000000000000000001e9e3fee017a9c00d7d992000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006d7497751656618fc38cfb5478994a20f7e235dfc001a0a7d3c4fa4d22844eef8509336c17265312ca81f3d2e04fe6ac1a36de9a9553c6a01dbe233b219a43644e29c3f467487ac529fb475fcf08c4865b6f98207347999e", - "new_receipt_trie_node_byte": "0xb9043e02f9043a01830a4fa4b9010000200000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000002000000080000000000000020000000000000080000000000000008000000200080800000000000000000008020000000000000000000000000000000000000000000000000000000000010000000000000000000000000000020000200000000000001000000080000004000080000000000001000000000000000000000000000000000040000000000000000000000000002000000000000000000000000000000000000001000000000000000000100200000000000022000000000000000001000000000400000000000000020f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000000a04e067599094f8f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da00000000000000000000000000000000000000000000000000a04e067599094f8f89b946d7497751656618fc38cfb5478994a20f7e235dff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da0000000000000000000000000ebe6ef3a90f3219764c80ad4ed14c5d55fc0f7eda0000000000000000000000000000000000000000001e9e4051a1e00e786304fb6f87994d420d5f24225702a68ddf21242d5eef816dc2e6de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000180b16886732f5b2b7244d35e000000000000000000000000000000000000000000000007e214465736aa6691f8fc94d420d5f24225702a68ddf21242d5eef816dc2e6df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000ebe6ef3a90f3219764c80ad4ed14c5d55fc0f7edb88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a04e067599094f8000000000000000000000000000000000000000001e9e4051a1e00e786304fb60000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 100584 - } - }, - { - "traces": { - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, - "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" - } - }, - "0x6d7497751656618fc38cfb5478994a20f7e235df": { - "storage_read": [ - "0x7c44a045784228dd49bfe46362ff42dc299b3ecd9d8e17fe35caec0494fff806", - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897" - ], - "storage_written": { - "0x7c44a045784228dd49bfe46362ff42dc299b3ecd9d8e17fe35caec0494fff806": "0x150722519ffe5a962caf11c", - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897": "0x17f60f661592f75820f79e242" - }, - "code_usage": { - "read": "0x4123f56d86f276e684177a9b98a18f2f9d66d40208c423fe55b0e5c8f9d53abd" - } - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298721ac84460b33c4412", - "storage_read": [ - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c" - ], - "storage_written": { - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0", - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c": "0x7e904a1b10a5c6691" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0xd420d5f24225702a68ddf21242d5eef816dc2e6d": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000008" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf6087000000000007e904a1b10a5c669100017f60f661592f75820f79e242", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0xe36c5bd8f0b71155a26bec6bb103797e67b28df0": { - "balance": "0x389313b0ead419f6", - "nonce": "0x1a" - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9e0ef4912e569c84" - } - }, - "meta": { - "byte_code": "0x02f902f90119839f2e54850a83ee7e738302aa0a943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8806f05b59d3b20000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf62d300000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000014ebc6f42105214e1f88fbc00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006d7497751656618fc38cfb5478994a20f7e235dfc080a0220d39417b91ac5956b93280fa407e6f1ac3065e02b7abb24c3ede578724c097a07f5afa6d389eb30a95511c3eb34720c858741653c7bc8f71d48efdefdc004946", - "new_txn_trie_node_byte": "0x02f902f90119839f2e54850a83ee7e738302aa0a943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad8806f05b59d3b20000b902843593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf62d300000000000000000000000000000000000000000000000000000000000000020b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000014ebc6f42105214e1f88fbc00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000006d7497751656618fc38cfb5478994a20f7e235dfc080a0220d39417b91ac5956b93280fa407e6f1ac3065e02b7abb24c3ede578724c097a07f5afa6d389eb30a95511c3eb34720c858741653c7bc8f71d48efdefdc004946", - "new_receipt_trie_node_byte": "0xb9043e02f9043a01830c19c6b90100002000000000000000000000800000000000000000000000000000020000000000000000000000000000000000000000020000000800000000000000200000000000000800000000000000080000002000800000000000000000000080200000000000000000000000000000000000000000000000000000000000100000000000000000000000000000200002000000000002010000000800000040000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000010000000000000000001002000000000000220000000000000000010000000004000000000000000a0f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada000000000000000000000000000000000000000000000000006f05b59d3b20000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da000000000000000000000000000000000000000000000000006f05b59d3b20000f89b946d7497751656618fc38cfb5478994a20f7e235dff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da0000000000000000000000000e36c5bd8f0b71155a26bec6bb103797e67b28df0a000000000000000000000000000000000000000000150722519ffe5a962caf11cf87994d420d5f24225702a68ddf21242d5eef816dc2e6de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b84000000000000000000000000000000000000000017f60f661592f75820f79e242000000000000000000000000000000000000000000000007e904a1b10a5c6691f8fc94d420d5f24225702a68ddf21242d5eef816dc2e6df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000e36c5bd8f0b71155a26bec6bb103797e67b28df0b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f05b59d3b2000000000000000000000000000000000000000000000150722519ffe5a962caf11c0000000000000000000000000000000000000000000000000000000000000000", - "gas_used": 117282 - } - }, - { - "traces": { - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x2987274fce7f073464412", - "storage_read": [ - "0xfa6504e3ecae9cba67ae6b5b6e806a51a8edcbb5a1e390b371e2de4942e15e5c", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a", - "0xc4b5945b3d588809025580057cbcadbb58fc33740a13703202de569e28ad94f8" - ], - "storage_written": { - "0xfa6504e3ecae9cba67ae6b5b6e806a51a8edcbb5a1e390b371e2de4942e15e5c": "0x10efca6d71a9428e0fa", - "0xc4b5945b3d588809025580057cbcadbb58fc33740a13703202de569e28ad94f8": "0x95a2e751b37152218", - "0xe03178286da22a27dd0b1f68fb538cd07bc9080172ee9a5a2238416fe86db02a": "0x0" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0x1df4c6e36d61416813b42fe32724ef11e363eddc": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000004", - "0x0000000000000000000000000000000000000000000000000000000000000002", - "0x54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f8", - "0x0000000000000000000000000000000000000000000000000000000000000008" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x1000001b00000000000002040fa732129f4495d38000003b3168b2065cf6087", - "0x0000000000000000000000000000000000000000000000000000000000000002": "0x687f9ab5d70e304a0d73676075b00bd1", - "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10000010001000000442a00000000000000026493740823657f8089cb74c9" - }, - "code_usage": { - "read": "0xd9dcbdd3357d2c78ff4cc419e310f02017343dd23dafea9c650d2f0a146e76e4" - } - }, - "0xdc900845732a53ee8df737efa282a6bc56976e62": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007" - ], - "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf60870000000000095a2e751b371522180000000000019c8228845f595370" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x1" - }, - "code_usage": { - "read": "0xc4f0904cd0f741bb3ab2a16013d23b4d72eec59e3cb24879f0f0ba0c3fea24d9" - } - }, - "0x9b76d386a5fd08908b9ebcd5997abbfd3a2d5225": { - "balance": "0x2589416a6d4e993", - "nonce": "0x655" - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9e0ef731d7d03b74" - }, - "0x9e9fbde7c7a83c43913bddc8779158f1368f0413": { - "storage_read": [ - "0x7cbb9844f0e5b9ec22c652052569aae01ddeea1751c55120863e0f68310d1817", - "0x6e6081c5b55abcaa3c6e2e8a592b973640109071879cd803b85d3d706ee3969c", - "0x6110bdf7f338e605fe2de714e58354b9585061b394826a31bde40b788d384885", - "0x3aa2b2cb7392b06aa80dc060f242a1f6af24d5a5a85dc9c33b99fd974b80180d", - "0x3065b18c8be765242d5fce3e8976149d3d206de20dd939d9c797588978857717", - "0xbc13ce45e8a7427d0b04b31b6ecc1da81d3ef01808d0276ffa53991d07181065", - "0x1455294b9a8b6ae86c252fe9623af6c72d50bca1f4c6e530b6a1bcdf11e9e534", - "0x3b9931a3dd2045a353fff56daf77ae19462c7ce97a1e636ea8ee91f3409f006a", - "0x0000000000000000000000000000000000000000000000000000000000000003", - "0x137d347834f4c0d606fb68dc1135a7458a32b2cfc9ef669be6b41be8aa350530", - "0x5026556a9e91dc9bba9215081252f333fe1d44bf12f6b47633a8259ffde03acb", - "0x0c82ab7793b0bf162f6f8a92cd0d311fa5421543395fbbf697960792e8f73704", - "0x9c4430f5adfa288e18fd6c6beedc13d3151020bdc380fdf63bf06a45d605dbae" - ], - "storage_written": { - "0xec824f15865e4f487f296b7097b0e9faf596562c8dc2ab2672b19ce830da8646": "0x0", - "0x0c82ab7793b0bf162f6f8a92cd0d311fa5421543395fbbf697960792e8f73704": "0x9b76d386a5fd08908b9ebcd5997abbfd3a2d5225", - "0x0000000000000000000000000000000000000000000000000000000000000003": "0xd108", - "0x137d347834f4c0d606fb68dc1135a7458a32b2cfc9ef669be6b41be8aa350530": "0xf9d99261a8e0e87", - "0x638ec225f8b272946de63a54e6ab2745ac543226609f3b32cf416ac38acb5826": "0x0", - "0x6e6081c5b55abcaa3c6e2e8a592b973640109071879cd803b85d3d706ee3969c": "0x19c8228845f595370", - "0x934583f3a9ac11ca412bcb979f8a9c2bc4551a31930984b6fbbf6c3e2ae52ca0": "0xd108", - "0x1455294b9a8b6ae86c252fe9623af6c72d50bca1f4c6e530b6a1bcdf11e9e534": "0x400882ca47ace78425", - "0x3065b18c8be765242d5fce3e8976149d3d206de20dd939d9c797588978857717": "0x0", - "0x3aa2b2cb7392b06aa80dc060f242a1f6af24d5a5a85dc9c33b99fd974b80180d": "0x0", - "0x7cbb9844f0e5b9ec22c652052569aae01ddeea1751c55120863e0f68310d1817": "0x0", - "0x6110bdf7f338e605fe2de714e58354b9585061b394826a31bde40b788d384885": "0x1d", - "0x9c4430f5adfa288e18fd6c6beedc13d3151020bdc380fdf63bf06a45d605dbae": "0x1" - }, - "code_usage": { - "read": "0xde2d3cb78918547c06e2d4f09804da99d8ee9dbfecc4c8023b7ccecfe92a829b" - } - } - }, - "meta": { - "byte_code": "0x02f9043b01820654839f2e54850a83ee7e738306136a943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad885a34a38fc00a0000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf62c700000000000000000000000000000000000000000000000000000000000000030b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000005a34a38fc00a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000168d28e3f002800000000000000000000000000000000000000000000000000003e923ae5641b48100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000009e9fbde7c7a83c43913bddc8779158f1368f04130000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000043a77aabd00780000000000000000000000000000000000000000000000000000ba58d0ad0652c8800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20027109e9fbde7c7a83c43913bddc8779158f1368f0413000000000000000000000000000000000000000000c080a0c6c29ae62a8518f90964b3b89b854e3063bcd5de18e976fd15799dd6bf7141cfa0778acfdb416cc2f46feab71098bba323f340d60892488b72cf562fcb3effecbf", - "new_txn_trie_node_byte": "0x02f9043b01820654839f2e54850a83ee7e738306136a943fc91a3afd70395cd496c647d5a6cc9d4b2b7fad885a34a38fc00a0000b903c43593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000065cf62c700000000000000000000000000000000000000000000000000000000000000030b080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000005a34a38fc00a000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000168d28e3f002800000000000000000000000000000000000000000000000000003e923ae5641b48100000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000009e9fbde7c7a83c43913bddc8779158f1368f04130000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000043a77aabd00780000000000000000000000000000000000000000000000000000ba58d0ad0652c8800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002bc02aaa39b223fe8d0a0e5c4f27ead9083c756cc20027109e9fbde7c7a83c43913bddc8779158f1368f0413000000000000000000000000000000000000000000c080a0c6c29ae62a8518f90964b3b89b854e3063bcd5de18e976fd15799dd6bf7141cfa0778acfdb416cc2f46feab71098bba323f340d60892488b72cf562fcb3effecbf", - "new_receipt_trie_node_byte": "0xb907d302f907cf0183105392b9010000200000000000000008000080000000000000000000802000000000000000000000000000000200000000000080000002000000080020000000000000000040000000080000000800000008000000200000000000000000000040108020000000000020020000004000000000000800000000000000000200000110000800000000000000000000000000040000040000000001000000080000024000000000000000000000000000840000000000200000000000000000000000010040000000000002000000000000000000000000000000400000201000000000000020000080200020000000000000020000000000001000000000400000100000000000f906c4f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000000000000000000000000000005a34a38fc00a0000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada0000000000000000000000000dc900845732a53ee8df737efa282a6bc56976e62a0000000000000000000000000000000000000000000000000168d28e3f0028000f89c949e9fbde7c7a83c43913bddc8779158f1368f0413f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000dc900845732a53ee8df737efa282a6bc56976e62a00000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000d10780f89b949e9fbde7c7a83c43913bddc8779158f1368f0413f863a0e59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487a0000000000000000000000000dc900845732a53ee8df737efa282a6bc56976e62a00000000000000000000000009b76d386a5fd08908b9ebcd5997abbfd3a2d5225a000000000000000000000000000000000000000000000000003e923b8acf52d4bf87994dc900845732a53ee8df737efa282a6bc56976e62e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000019c8228845f5953700000000000000000000000000000000000000000000000095a2e751b37152218f8fc94dc900845732a53ee8df737efa282a6bc56976e62f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000009b76d386a5fd08908b9ebcd5997abbfd3a2d5225b8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000168d28e3f002800000000000000000000000000000000000000000000000000003e923b8acf52d4b0000000000000000000000000000000000000000000000000000000000000000f89c949e9fbde7c7a83c43913bddc8779158f1368f0413f884a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000009b76d386a5fd08908b9ebcd5997abbfd3a2d5225a0000000000000000000000000000000000000000000000000000000000000d10880f89b949e9fbde7c7a83c43913bddc8779158f1368f0413f863a0e59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487a00000000000000000000000001df4c6e36d61416813b42fe32724ef11e363eddca00000000000000000000000009b76d386a5fd08908b9ebcd5997abbfd3a2d5225a00000000000000000000000000000000000000000000000000bb4756d6d98e13cf89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000001df4c6e36d61416813b42fe32724ef11e363eddca000000000000000000000000000000000000000000000000043a77aabd0078000f9011c941df4c6e36d61416813b42fe32724ef11e363eddcf863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000003fc91a3afd70395cd496c647d5a6cc9d4b2b7fada00000000000000000000000009b76d386a5fd08908b9ebcd5997abbfd3a2d5225b8a0fffffffffffffffffffffffffffffffffffffffffffffffff44b8a9292671ec400000000000000000000000000000000000000000000000043a77aabd007800000000000000000000000000000000000000000026493740823657f8089cb74c90000000000000000000000000000000000000000000000aab081aa14a00c686a000000000000000000000000000000000000000000000000000000000000442a", - "gas_used": 276940 - } - }, - { - "traces": { - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "storage_read": [ - "0xc4b5945b3d588809025580057cbcadbb58fc33740a13703202de569e28ad94f8", - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c", - "0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8" - ], - "storage_written": { - "0x12231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8": "0x1e35b19a1ee01f6807", - "0xed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285c": "0x7e180001c095c6691", - "0xc4b5945b3d588809025580057cbcadbb58fc33740a13703202de569e28ad94f8": "0x954292ea137152218" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0xd420d5f24225702a68ddf21242d5eef816dc2e6d": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf6087000000000007e180001c095c6691000180cfcb4e592f75820f79e242", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0x6b75d8af000000e20b7a7ddf000ba900b4009a80": { - "balance": "0x153ac555d1f4a", - "code_usage": { - "read": "0x213c3f38a90242ff53461e679cef9a1bbbae20e63de087cdbc972d813c857711" - } - }, - "0xdc900845732a53ee8df737efa282a6bc56976e62": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000006" - ], - "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf608700000000000954292ea1371522180000000000019d8d2f4d5f595370" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9e19185fe4f74274" - }, - "0x6d7497751656618fc38cfb5478994a20f7e235df": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000005", - "0xb39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470a", - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897" - ], - "storage_written": { - "0xdb111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897": "0x180cfcb4e592f75820f79e242", - "0xb39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470a": "0x13e5b252ffc3522bbf655de0" - }, - "code_usage": { - "read": "0x4123f56d86f276e684177a9b98a18f2f9d66d40208c423fe55b0e5c8f9d53abd" - } - }, - "0x9e9fbde7c7a83c43913bddc8779158f1368f0413": { - "storage_read": [ - "0xa34640eb1c607d836ceb4af07c59befcec4cdb4943351c3a245f8712063aa3b6", - "0x5026556a9e91dc9bba9215081252f333fe1d44bf12f6b47633a8259ffde03acb", - "0xab2e97a75db32eb3b19136ac5fcb6d7a64d182e81eb81decf514e3d877434a50", - "0x6e6081c5b55abcaa3c6e2e8a592b973640109071879cd803b85d3d706ee3969c" - ], - "storage_written": { - "0x6e6081c5b55abcaa3c6e2e8a592b973640109071879cd803b85d3d706ee3969c": "0x19d8d2f4d5f595370", - "0xab2e97a75db32eb3b19136ac5fcb6d7a64d182e81eb81decf514e3d877434a50": "0x4a3a5debfd930dd" - }, - "code_usage": { - "read": "0xde2d3cb78918547c06e2d4f09804da99d8ee9dbfecc4c8023b7ccecfe92a829b" - } - }, - "0xae2fc483527b8ef99eb5d9b44875f005ba1fae13": { - "balance": "0x673201310c98ee9f4", - "nonce": "0x201e90" - } - }, - "meta": { - "byte_code": "0x02f903810183201e8f850c6fa6bfe8850c6fa6bfe88302d659946b75d8af000000e20b7a7ddf000ba900b4009a80850784a19501b83a7f386d7497751656618fc38cfb5478994a20f7e235df016ed4ed8b3c9e9fbde7c7a83c43913bddc8779158f1368f0413010b06c93c0605467a06f902cff87a946d7497751656618fc38cfb5478994a20f7e235dff863a00000000000000000000000000000000000000000000000000000000000000005a0b39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470aa0db111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897f89b94d420d5f24225702a68ddf21242d5eef816dc2e6df884a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0c4b5945b3d588809025580057cbcadbb58fc33740a13703202de569e28ad94f8a0ed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285ca012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8f89b949e9fbde7c7a83c43913bddc8779158f1368f0413f884a06e6081c5b55abcaa3c6e2e8a592b973640109071879cd803b85d3d706ee3969ca0a34640eb1c607d836ceb4af07c59befcec4cdb4943351c3a245f8712063aa3b6a05026556a9e91dc9bba9215081252f333fe1d44bf12f6b47633a8259ffde03acba0ab2e97a75db32eb3b19136ac5fcb6d7a64d182e81eb81decf514e3d877434a50f89b94dc900845732a53ee8df737efa282a6bc56976e62f884a00000000000000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000000680a036a7f2a293f3ce240ee26aa2454a653a442aa817ce2c34f780fc46de5254a98aa01472bb980737e6a7b83cf1d8460e0144dadcf5e9aea3c58106059f680edbd7b2", - "new_txn_trie_node_byte": "0x02f903810183201e8f850c6fa6bfe8850c6fa6bfe88302d659946b75d8af000000e20b7a7ddf000ba900b4009a80850784a19501b83a7f386d7497751656618fc38cfb5478994a20f7e235df016ed4ed8b3c9e9fbde7c7a83c43913bddc8779158f1368f0413010b06c93c0605467a06f902cff87a946d7497751656618fc38cfb5478994a20f7e235dff863a00000000000000000000000000000000000000000000000000000000000000005a0b39e9ba92c3c47c76d4f70e3bc9c3270ab78d2592718d377c8f5433a34d3470aa0db111b6bab9f3303f59a63f0eb7b11cf5482c92ef8f241614c4c2bca1d38f897f89b94d420d5f24225702a68ddf21242d5eef816dc2e6df884a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a00000000000000000000000000000000000000000000000000000000000000006a00000000000000000000000000000000000000000000000000000000000000007f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0c4b5945b3d588809025580057cbcadbb58fc33740a13703202de569e28ad94f8a0ed86a1228e69cf38993e7d0567ff50154ce028b0b2307ce2b12f66fa0c6a285ca012231cd4c753cb5530a43a74c45106c24765e6f81dc8927d4f4be7e53315d5a8f89b949e9fbde7c7a83c43913bddc8779158f1368f0413f884a06e6081c5b55abcaa3c6e2e8a592b973640109071879cd803b85d3d706ee3969ca0a34640eb1c607d836ceb4af07c59befcec4cdb4943351c3a245f8712063aa3b6a05026556a9e91dc9bba9215081252f333fe1d44bf12f6b47633a8259ffde03acba0ab2e97a75db32eb3b19136ac5fcb6d7a64d182e81eb81decf514e3d877434a50f89b94dc900845732a53ee8df737efa282a6bc56976e62f884a00000000000000000000000000000000000000000000000000000000000000007a0000000000000000000000000000000000000000000000000000000000000000ca00000000000000000000000000000000000000000000000000000000000000008a0000000000000000000000000000000000000000000000000000000000000000680a036a7f2a293f3ce240ee26aa2454a653a442aa817ce2c34f780fc46de5254a98aa01472bb980737e6a7b83cf1d8460e0144dadcf5e9aea3c58106059f680edbd7b2", - "new_receipt_trie_node_byte": "0xb9067502f906710183125004b9010000200000000000000008000080000000000000000000002000000000000000000000008000000020000000000080000002000000080000000000000020000000000000000000000000000008000000200080000000000000000040100000000000000020000000000000000000000000000000000000000080000110000000000000000000000000000020000200000000000000000000080000004000000000000000001000000000000000000000000000000000000000000000010040000000000002000000000000000000000000000000400000201000000000000000000100200000000000022000020000000000000000000000000000000000000020f90566f89b946d7497751656618fc38cfb5478994a20f7e235dff863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da00000000000000000000000000000000000000000016ed4ed0000000000000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d420d5f24225702a68ddf21242d5eef816dc2e6da00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000000000000000000000000000000784a19501000000f87994d420d5f24225702a68ddf21242d5eef816dc2e6de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000180cfcb4e592f75820f79e242000000000000000000000000000000000000000000000007e180001c095c6691f8fc94d420d5f24225702a68ddf21242d5eef816dc2e6df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80b8800000000000000000000000000000000000000000016ed4ed0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000784a19501000000f89b949e9fbde7c7a83c43913bddc8779158f1368f0413f863a0e59fdd36d0d223c0c7d996db7ad796880f45e1936cb0bb7ac102e7082e031487a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a0000000000000000000000000dc900845732a53ee8df737efa282a6bc56976e62a0000000000000000000000000000000000000000000000000010b06c900000000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000dc900845732a53ee8df737efa282a6bc56976e62a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000000000000000000000000000000605467a00000000f87994dc900845732a53ee8df737efa282a6bc56976e62e1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000019d8d2f4d5f59537000000000000000000000000000000000000000000000000954292ea137152218f8fc94dc900845732a53ee8df737efa282a6bc56976e62f863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80a00000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80b880000000000000000000000000000000000000000000000000010b06c900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000605467a00000000", - "gas_used": 130162 - } - }, - { - "traces": { - "0xee1c139ea09924a95b98b56a68efc1104f049f21": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x336a15c2de424b150f2fe74517a91cf099618a9cc06476ee6969c87d83e552f7", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0x3f21a237864d150ec73673aa9343e861c8699ada868b369630fe86259d2cc7b1", - "0xea698147b9768f539806750d0817afddf757d04fa6faa24ab18cb700ddf86c0d", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x000000000000000000000000000000000000000000000000000000000000000e", - "0x27c000cb4a36e527548c82ca9c4152888ae4f091d192793223fa9fa8cdfdf108", - "0x382bec4ba2f2bddade773da93a20c3dc1f1a4da957985a987e0c01c70cb2c10f", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0xc3c109542df5f0b35d6c0977e1181ed3e16d8b7c34539182429309bafc1d36d9", - "0x000000000000000000000000000000000000000000000000000000000000000d" - ], - "storage_written": { - "0x000000000000000000000000000000000000000000000000000000000000000d": "0xcd", - "0x27c000cb4a36e527548c82ca9c4152888ae4f091d192793223fa9fa8cdfdf108": "0x20fa172815c441c0c", - "0x382bec4ba2f2bddade773da93a20c3dc1f1a4da957985a987e0c01c70cb2c10f": "0x6017fd9172c848c" - }, - "code_usage": { - "read": "0xff219df1cfcda45d9a2b4e3531676c6610f25962c839f543a04177f5904ef6ef" - } - }, - "0xbcd3a47e4d0000cf170e25d1bd3d53f7c08be0a6": { - "code_usage": { - "read": "0x6ed615a0ca19cd89538543cdcb17a7e8d26147013208623b1efd12f8361aa814" - } - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x29872765e68ecacafbd10", - "storage_read": [ - "0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea", - "0xa1418cf079260397be8c8824a66003accc52fdb01dd81e3e13c62f524976fed6" - ], - "storage_written": { - "0xa1418cf079260397be8c8824a66003accc52fdb01dd81e3e13c62f524976fed6": "0x7a5498b1e8721b5b", - "0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea": "0x0" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49": { - "balance": "0x11d6e5436565d2728", - "storage_read": [ - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x11d6e5436565d2726" - }, - "code_usage": { - "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" - } - }, - "0xdf675ac7eb6a7053e6988565f57dc3da177661ef": { - "storage_read": [ - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x0000000000000000000000000000000000000000000000000000000000000008" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1774754155affcf0e8b24d330868aa174", - "0x000000000000000000000000000000000000000000000000000000000000000a": "0xf52066d55f7abecb88d1a8dffc1e30", - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf60870000000000020fa172815c441c0c0000000000007a5498b1e8721b5b", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0x3d427f91ebcd2943e7fff89975a9a49b27bbbb57": { - "balance": "0x1851e56df56915f2", - "nonce": "0x1d1" - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9e2097c968f96274" - } - }, - "meta": { - "byte_code": "0x02f9023d018201d08502cb417800850a214098688307c524943328f7f4a1d1c57c35df56bbf0c9dcafca309c4988016345785d8a0000b901c40162e2d000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001600000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000065cf6087000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039a7fe8a7811c5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000ee1c139ea09924a95b98b56a68efc1104f049f21c001a0d4991c42fd0a6bbe99e02ad76f0bec40e8eceae6dc020634fd1753f0f27672b2a056102edb5986f3753438277d85e83a5359d6e768a79281a73799135ceeb7a45b", - "new_txn_trie_node_byte": "0x02f9023d018201d08502cb417800850a214098688307c524943328f7f4a1d1c57c35df56bbf0c9dcafca309c4988016345785d8a0000b901c40162e2d000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000001600000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000065cf6087000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000039a7fe8a7811c5400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000ee1c139ea09924a95b98b56a68efc1104f049f21c001a0d4991c42fd0a6bbe99e02ad76f0bec40e8eceae6dc020634fd1753f0f27672b2a056102edb5986f3753438277d85e83a5359d6e768a79281a73799135ceeb7a45b", - "new_receipt_trie_node_byte": "0xb9057402f90570018314ff00b9010000200000000000000000000080000000080000000000000000000000000000000000040000000000000000020000000002000000080000200020200000000000000000000000000000000008000000200000000000000000000000008004000000000000000120000000000000000400200000400000000000000010000000000000000000000000000020000000020000000001000000080000004000000000000000000000000002001000000000082000000000080000040000000000000000000002000000000080000000000000040001000000001000000000000000000000200000000000000000000000000000080000000000400000000000000000f90465f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a0000000000000000000000000000000000000000000000000016180fc396978fef89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a0000000000000000000000000df675ac7eb6a7053e6988565f57dc3da177661efa0000000000000000000000000000000000000000000000000016180fc396978fef89b94ee1c139ea09924a95b98b56a68efc1104f049f21f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000df675ac7eb6a7053e6988565f57dc3da177661efa00000000000000000000000003d427f91ebcd2943e7fff89975a9a49b27bbbb57a000000000000000000000000000000000000000000000000006017fd9172c848cf87994df675ac7eb6a7053e6988565f57dc3da177661efe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000007a5498b1e8721b5b0000000000000000000000000000000000000000000000020fa172815c441c0cf8fc94df675ac7eb6a7053e6988565f57dc3da177661eff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a00000000000000000000000003d427f91ebcd2943e7fff89975a9a49b27bbbb57b880000000000000000000000000000000000000000000000000016180fc396978fe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006017fd9172c848cf899943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a072015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499fb8600000000000000000000000000000000000000000000000000001c47c242087010000000000000000000000003d427f91ebcd2943e7fff89975a9a49b27bbbb570000000000000000000000000000000000000000000000000000000000000012f899943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a09f849d23f4955d98202378ea318f2b0c7533695d3c9fb2a3931f0f919fa8c420b860000000000000000000000000000000000000000000000000016180fc396978fe00000000000000000000000000000000000000000000000006017fd9172c848c00000000000000000000000000000000000000000000000006017fd9172c848c", - "gas_used": 175868 - } - }, - { - "traces": { - "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { - "code_usage": { - "read": "0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2" - } - }, - "0xdf675ac7eb6a7053e6988565f57dc3da177661ef": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf608700000000000203f58c05f29fc1be0000000000007d1b23a2a3861b5b", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0xee1c139ea09924a95b98b56a68efc1104f049f21": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x0000000000000000000000000000000000000000000000000000000000000012", - "0x20bbe88de1a142167932f8ddec2bb05de590675e9f971acea869b6f70144240b", - "0x336a15c2de424b150f2fe74517a91cf099618a9cc06476ee6969c87d83e552f7", - "0xae6ca7f389261fe7398f95da232e6501150488dc1b71131270c7e152bf7baea3", - "0x000000000000000000000000000000000000000000000000000000000000000e", - "0x3f21a237864d150ec73673aa9343e861c8699ada868b369630fe86259d2cc7b1", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x5ec555b6279df85a9179991aed8c52c620ea49f11355a1d8aaf78a9d909be0ff", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x000000000000000000000000000000000000000000000000000000000000000f", - "0x27c000cb4a36e527548c82ca9c4152888ae4f091d192793223fa9fa8cdfdf108", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "storage_written": { - "0x5ec555b6279df85a9179991aed8c52c620ea49f11355a1d8aaf78a9d909be0ff": "0x1b04061dabe01086", - "0x27c000cb4a36e527548c82ca9c4152888ae4f091d192793223fa9fa8cdfdf108": "0x203f58c05f29fc1be", - "0x000000000000000000000000000000000000000000000000000000000000000d": "0xce" - }, - "code_usage": { - "read": "0xff219df1cfcda45d9a2b4e3531676c6610f25962c839f543a04177f5904ef6ef" - } - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x298727924f3dd67c3bd10", - "storage_read": [ - "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8", - "0xa1418cf079260397be8c8824a66003accc52fdb01dd81e3e13c62f524976fed6" - ], - "storage_written": { - "0xa1418cf079260397be8c8824a66003accc52fdb01dd81e3e13c62f524976fed6": "0x7d1b23a2a3861b5b", - "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8": "0x0" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - }, - "0x85fe958bf2c9289855977c0ae99752094a159000": { - "balance": "0x4e44434923c7ed2e", - "nonce": "0x1d5" - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9e2525dce26d3874" - } - }, - "meta": { - "byte_code": "0x02f9015c018201d485025a01c50085126f7eeb008304f014947a250d5630b4cf539739df2c5dacb4c659f2488d8802c68af0bb140000b8e4b6f9de9500000000000000000000000000000000000000000000000005f7d1e9e0a5719c000000000000000000000000000000000000000000000000000000000000008000000000000000000000000085fe958bf2c9289855977c0ae99752094a1590000000000000000000000000000000000000000000000000000000000065cf608c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000ee1c139ea09924a95b98b56a68efc1104f049f21c080a0e0d2662f068013f865bfba429de67813e80848b7129709d223a19981ce918083a010cd7f31ca9471f59bf07468989f0a5782691d316222940ae078547eba4d3cb2", - "new_txn_trie_node_byte": "0x02f9015c018201d485025a01c50085126f7eeb008304f014947a250d5630b4cf539739df2c5dacb4c659f2488d8802c68af0bb140000b8e4b6f9de9500000000000000000000000000000000000000000000000005f7d1e9e0a5719c000000000000000000000000000000000000000000000000000000000000008000000000000000000000000085fe958bf2c9289855977c0ae99752094a1590000000000000000000000000000000000000000000000000000000000065cf608c0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000ee1c139ea09924a95b98b56a68efc1104f049f21c080a0e0d2662f068013f865bfba429de67813e80848b7129709d223a19981ce918083a010cd7f31ca9471f59bf07468989f0a5782691d316222940ae078547eba4d3cb2", - "new_receipt_trie_node_byte": "0xb9043e02f9043a018316eedeb9010000200000000000000000000080000000080000000000000000010000000000000000000000000000000000020000000002000000080000000020000000000000000000000000000000000008000000200000000000000000000000008000000000000000000120000000000000000000000000000000000000000010000000000000000000000000004000000000020000000001000000080000004000000000000000000000000000000000000000002000000008080000000000000000000000000002000000000080000000000000000000000000001000000000000020000000210000000000000000000000000000000008000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da000000000000000000000000000000000000000000000000002c68af0bb140000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000df675ac7eb6a7053e6988565f57dc3da177661efa000000000000000000000000000000000000000000000000002c68af0bb140000f89b94ee1c139ea09924a95b98b56a68efc1104f049f21f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000df675ac7eb6a7053e6988565f57dc3da177661efa000000000000000000000000085fe958bf2c9289855977c0ae99752094a159000a00000000000000000000000000000000000000000000000000babe67b69a45a4ef87994df675ac7eb6a7053e6988565f57dc3da177661efe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000007d1b23a2a3861b5b00000000000000000000000000000000000000000000000203f58c05f29fc1bef8fc94df675ac7eb6a7053e6988565f57dc3da177661eff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da000000000000000000000000085fe958bf2c9289855977c0ae99752094a159000b88000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000babe67b69a45a4e", - "gas_used": 126942 - } - }, - { - "traces": { - "0x3328f7f4a1d1c57c35df56bbf0c9dcafca309c49": { - "balance": "0x11d723ba73b28ad52", - "storage_read": [ - "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", - "0x0000000000000000000000000000000000000000000000000000000000000001" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000001": "0x11d723ba73b28ad52" - }, - "code_usage": { - "read": "0x4d9be648c5bf39973670d9f8b481d5d0b971e6a2db2deccc6b98cde21c5dd83e" - } - }, - "0xd5dbf66480844b7aab2b09030aebc6cecf33e5b2": { - "balance": "0x53b82a7f4755def", - "nonce": "0x1aa4" - }, - "0xee1c139ea09924a95b98b56a68efc1104f049f21": { - "storage_read": [ - "0x336a15c2de424b150f2fe74517a91cf099618a9cc06476ee6969c87d83e552f7", - "0x0000000000000000000000000000000000000000000000000000000000000010", - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x748ace196a619e172e23c1ba712f30ad8277be72debd9e25dd0fd081fc5ea4b2", - "0x000000000000000000000000000000000000000000000000000000000000000b", - "0xd39e7a1713b7480b7572a56a5a140d5100f41a6add76a5f985b34896bf0b07e4", - "0x000000000000000000000000000000000000000000000000000000000000000a", - "0x27c000cb4a36e527548c82ca9c4152888ae4f091d192793223fa9fa8cdfdf108", - "0x52904ea9675b2af48d62072df8d8967ad3b6e4fbbfd783a8ab5f507d2030d15b", - "0x3f21a237864d150ec73673aa9343e861c8699ada868b369630fe86259d2cc7b1", - "0x000000000000000000000000000000000000000000000000000000000000000d", - "0x0000000000000000000000000000000000000000000000000000000000000013", - "0x0000000000000000000000000000000000000000000000000000000000000009", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ], - "storage_written": { - "0x27c000cb4a36e527548c82ca9c4152888ae4f091d192793223fa9fa8cdfdf108": "0x210e428dc8c697a18", - "0x52904ea9675b2af48d62072df8d8967ad3b6e4fbbfd783a8ab5f507d2030d15b": "0xfffffffffffffffffffffffffffffffffffffffffffffffff3116329663647a5", - "0xd39e7a1713b7480b7572a56a5a140d5100f41a6add76a5f985b34896bf0b07e4": "0x110080a6e9e85a60" - }, - "code_usage": { - "read": "0xff219df1cfcda45d9a2b4e3531676c6610f25962c839f543a04177f5904ef6ef" - } - }, - "0xc465cc50b7d5a29b9308968f870a4b242a8e1873": { - "code_usage": { - "read": "0x7b287ee78288945f2c3ccb923d99243bbf70d6040de54ddeec372457739a4612" - } - }, - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9e2ae6376db6d474" - }, - "0xdf675ac7eb6a7053e6988565f57dc3da177661ef": { - "storage_read": [ - "0x0000000000000000000000000000000000000000000000000000000000000008", - "0x000000000000000000000000000000000000000000000000000000000000000c", - "0x0000000000000000000000000000000000000000000000000000000000000006", - "0x0000000000000000000000000000000000000000000000000000000000000007" - ], - "storage_written": { - "0x0000000000000000000000000000000000000000000000000000000000000008": "0x65cf608700000000000210e428dc8c697a180000000000007a0e536fe4854876", - "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" - }, - "code_usage": { - "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" - } - }, - "0xbcd3a47e4d0000cf170e25d1bd3d53f7c08be0a6": { - "code_usage": { - "read": "0x6ed615a0ca19cd89538543cdcb17a7e8d26147013208623b1efd12f8361aa814" - } - }, - "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { - "balance": "0x29872761823aaa8c2ea2b", - "storage_read": [ - "0xa1418cf079260397be8c8824a66003accc52fdb01dd81e3e13c62f524976fed6", - "0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea" - ], - "storage_written": { - "0xb2940356fd89a84cf9a86227596a2f59f085c679d5f9450737d0ae4daf0efcea": "0x0", - "0xa1418cf079260397be8c8824a66003accc52fdb01dd81e3e13c62f524976fed6": "0x7a0e536fe4854876" - }, - "code_usage": { - "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" - } - } - }, - "meta": { - "byte_code": "0x02f9027501821aa38502540be4008509aa0b046883078b85943328f7f4a1d1c57c35df56bbf0c9dcafca309c4980b9020475713a08000000000000000000000000ee1c139ea09924a95b98b56a68efc1104f049f21000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000df675ac7eb6a7053e6988565f57dc3da177661ef0000000000000000000000000000000000000000000000000cee9cd699c9b85a0000000000000000000000000000000000000000000000000223d78c91ada825000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e187300000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf60870000000000000000000000000000000000000000000000000000000000000000c080a0642a7d57b8101cf657c1d084c70135cb64084383982ecb695bb044f39c01f904a02f935286fc624907ec3ae9b3aff154439d72fd29db15a6530adc265370053539", - "new_txn_trie_node_byte": "0x02f9027501821aa38502540be4008509aa0b046883078b85943328f7f4a1d1c57c35df56bbf0c9dcafca309c4980b9020475713a08000000000000000000000000ee1c139ea09924a95b98b56a68efc1104f049f21000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d000000000000000000000000df675ac7eb6a7053e6988565f57dc3da177661ef0000000000000000000000000000000000000000000000000cee9cd699c9b85a0000000000000000000000000000000000000000000000000223d78c91ada825000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e187300000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000065cf60870000000000000000000000000000000000000000000000000000000000000000c080a0642a7d57b8101cf657c1d084c70135cb64084383982ecb695bb044f39c01f904a02f935286fc624907ec3ae9b3aff154439d72fd29db15a6530adc265370053539", - "new_receipt_trie_node_byte": "0xb905d002f905cc018319673db9010000200000000000000000000080000000080000000001000002000000002200000000040000000000000000020000000002000000080000200020200000600000000000000000000000000008000080200000000000400000000000000004000000000000000120000000000000000000000000000000040080000010000000000002000000000000000020000000020000000000000000080000004000000000020000000000000000001000000000082000000000080000040000000000000000000022000000000080000000000000000000000000001000000002000000000010200000000000000000000000000000080000000000000000000000000000f904c1f89b94ee1c139ea09924a95b98b56a68efc1104f049f21f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d5dbf66480844b7aab2b09030aebc6cecf33e5b2a0000000000000000000000000df675ac7eb6a7053e6988565f57dc3da177661efa00000000000000000000000000000000000000000000000000cee9cd699c9b85af89b94ee1c139ea09924a95b98b56a68efc1104f049f21f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000d5dbf66480844b7aab2b09030aebc6cecf33e5b2a0000000000000000000000000c465cc50b7d5a29b9308968f870a4b242a8e1873a0fffffffffffffffffffffffffffffffffffffffffffffffff3116329663647a5f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000df675ac7eb6a7053e6988565f57dc3da177661efa00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a0000000000000000000000000000000000000000000000000030cd032bf00d2e5f87994df675ac7eb6a7053e6988565f57dc3da177661efe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000007a0e536fe485487600000000000000000000000000000000000000000000000210e428dc8c697a18f8fc94df675ac7eb6a7053e6988565f57dc3da177661eff863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000cee9cd699c9b85a000000000000000000000000000000000000000000000000030cd032bf00d2e50000000000000000000000000000000000000000000000000000000000000000f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a00000000000000000000000003328f7f4a1d1c57c35df56bbf0c9dcafca309c49a0000000000000000000000000000000000000000000000000030cd032bf00d2e5f899943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a072015ace03712f361249380657b3d40777dd8f8a686664cab48afd9dbbe4499fb8600000000000000000000000000000000000000000000000000003e770e4cb862c000000000000000000000000d5dbf66480844b7aab2b09030aebc6cecf33e5b20000000000000000000000000000000000000000000000000000000000000033f858943328f7f4a1d1c57c35df56bbf0c9dcafca309c49e1a0522881958b3c4a6fc0840ad3b7fb947b881edc28c004245a62541647422ade97a0000000000000000000000000000000000000000000000000030cd032bf00d2e5", - "gas_used": 161887 - } - }, - { - "traces": { - "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { - "balance": "0x9da8f5317178807d", - "nonce": "0xa961e" - }, - "0x876528533158c07c1b87291c35f84104cd64ec01": { - "balance": "0x152e639c78b8139f35" - } - }, - "meta": { - "byte_code": "0x02f87101830a961d80850755ff2068827d0094876528533158c07c1b87291c35f84104cd64ec01877f973f93e400b780c001a0a1e7913e05eb6bb6f4bcb70abd29b6c5fd217ed8c501c7e11fa8ef4cdc0db303a0380e9b3c08be1ea016553f0aecd2702f3ebfbfe59ab702eba90d6bfba8238202", - "new_txn_trie_node_byte": "0x02f87101830a961d80850755ff2068827d0094876528533158c07c1b87291c35f84104cd64ec01877f973f93e400b780c001a0a1e7913e05eb6bb6f4bcb70abd29b6c5fd217ed8c501c7e11fa8ef4cdc0db303a0380e9b3c08be1ea016553f0aecd2702f3ebfbfe59ab702eba90d6bfba8238202", - "new_receipt_trie_node_byte": "0xb9010d02f90109018319b945b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - } - ] - }, - "other_data": { - "b_data": { - "b_meta": { - "block_beneficiary": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5", - "block_timestamp": "0x65cf6087", - "block_number": "0x1259701", - "block_difficulty": "0x0", - "block_random": "0x45d29466a7116dd48c9826216292a8796242621f55677181b0395d70a2bcf23e", - "block_gaslimit": "0x1c9c380", - "block_chain_id": "0x1", - "block_base_fee": "0x755ff2068", - "block_gas_used": "0x19b945", - "block_bloom": [ - "0x20400000000000000800008000000018000000000180200201000200220000", - "0x48000100230020000020080000002008800080020200020200020600040", - "0x800000029000000088000802000808000004000000000401080260000", - "0x20220120004008000000002c4020000040000004028000013000080000", - "0x2000000000000004020040200060080000201000010080000024000080000", - "0x200000010000000028450400800002820010000080c00000400000100400000", - "0x2200000000008000000001000004008142000020904004000200002000", - "0x19021002000000002a0000200010000000810080100004008001000000000a0" - ] - }, - "b_hashes": { - "prev_hashes": [ - "0xcfab9f57a4374e241013c389a91566b7d0c37da2ea36c9b63baa646480d0ee77", - "0x38b80ec5e15c935edb4f4956f8224a1eaa88c93938f67a1018cd7c85eb606aab", - "0xc138d04a4d815c9d83e3cebb989239461ad3ec0f9fd298e3449f3659b323400c", - "0x58bf7320b17722b62478b50020e1fb0aa18ebbaea961d868cc2575a30f63852c", - "0xb87e56f81f0456db5c7a7a17af022bde49f20cd8193463d96b05162ccffa3157", - "0xe4d6f2bfe01b73af732882d3460e13e0ab1138396fa9007a82f042e4e7402663", - "0x621fb15b9d79724387592bc72583a72c2305a5bc862ec88ac4d88ad3c745bfbc", - "0x8b7ef7a4950c70602cc1244df146ed3c719c42659cc68891f81a26880dc916b4", - "0x394f527d6a108bcfa5cd58e5d41a749a99baa9edc4b64cdf9290e01e14803916", - "0x46832687b7e3c68faaf1e001ac3699aa050c9f17085d6a9fbab3b001e1e91486", - "0xd81a2a90046cbe42fd032342889fe343a4b5c4fd80d8f69add0c0f4b4e55bc8d", - "0x4c78e389d03ec147deee89d6762cb6ac9c125920027efe921922cf806c186d4c", - "0x3f444e94733f1f4183474b90ff76248c86d805a25c4d565167b7d7a3692d3565", - "0x4998bc4c9a48073a095afa2fc93eed3dbbaa12620460bbf0e73e7e23e560c69c", - "0x1945c4296041ab7b3024f7b263293a33777925fa09459adb80e8ba8bc3f6e2a2", - "0x9aafcd5475c1fdaad41c810a1e99ba53379146a00dbb17d679c15a38df47ae19", - "0x31667b67aff44c0d86c0b924e5e26869784c1ed7ad75e0a75b434a1caaaccb9a", - "0x2beb2ba1c187a5fe2a9d4a1412396e796dcdfb858c7b4c6ff410c35350788783", - "0xaa6d56335b227575c5bc40468216257e83b47ce73e41549de224191663a09652", - "0x25337050f0ed7224687c20b0e37ce8f29e8d63709812d9403558e655935fd4c9", - "0xa9c3447f820a08321e48ee868bc912e1081db04d1de6ac9c18d1cab00245445f", - "0x8db2a1e477e1a9e07b4e5d26443a20e0b5647fe48a575334a18a8c23ff237aac", - "0x836c2b6ec407582529d154ae54ad740616a25c9e95439b36954b0886220e234b", - "0x03a3dcba6d48a16dd9fdd1aaa07aecf2a712da17cb455ba1ca6979fef2411072", - "0x76802a7e201ef4b1522542e46a97360983dc387285b1685ee8cba6ba99e14a09", - "0x4bfd1b64c7e9e706a84f7bb077eaf4fc98dc1f38162f8407daac251b4c782ea8", - "0x4063789111da1e060b25c438ae04c7f7e68d8f10afe126b68b275314251a4ecc", - "0x5f86cc18e261aab47cb8d6dc78505e7b156e022b24d4e7e399e885dd4124d4ce", - "0xe80b83684ab3ffde0d9659caa516711ba37a58c4ac9bbdb6cf6c67d04affcf5c", - "0x8f6a91bc52615b275705fdcc7ec704832f8f5f0466589fde33f6f1e836113bed", - "0x9f681e1226c7894028550212383b4a5d3ea885dd6d1c28ba12ac773b5e3ecf51", - "0x1898b052344c3d0cb7dbacf461dad55cb6f56843e2319c25a490db0eef858908", - "0xcd3dce5835974ff8209c26f5eea2e0bd35bfe46b3f22ffad6582bfa74fe3e6a6", - "0x80300830d137dc63995cd47c4b9d593ee26c36424be1aea1f205a456fa01823f", - "0x4866b34cb7823b8888ae98f84d99a1a30e5216d824dbe850b53f800f745d18c2", - "0xa40cea299f742449a2a2abd1d8d240d2e42a16c63389b773291469b600b27a4c", - "0x44209e70324b497336058736dced16d65814d90b3fd0fbcfb68a3b81cbbc52c5", - "0x109e598cb2d8b68f154a6400ca56997ed066dd8aa7a15934a8bbcfb344452214", - "0x82cc91ec296a8aa275adc93cb60e76d8809d28eb1d0f6a979a286157cd102e1c", - "0xe24079903b98fd70b9bc36e4dd372876fc02b8ed28de4a2506c40b1351e36d82", - "0x06679c947b94629035585ada54a7705fb6d66cb05e080c4d9a666f0558a5e064", - "0xb7381aae1422385528b08aa99cf2e7cc6c9943fc7e06d7d26266ebac77f2038f", - "0x6695b8d48f45d478840310cb3c9824caf874e3bee8efa56dabd9256e547465a1", - "0xf64259c9be7c6e1510c291e782ce6713fe9e6a8c0670f51484c4b52fcdf143ef", - "0x6d9c6a66065d238588d2303c570ecfee237a12f3119e1e10d6da036ee3c6acb2", - "0xbb5b372993d468b1302baf20b0abf9d8385c4882367d1c7cfb0ffcdeb9ff50a1", - "0x5b6f4ffdcd85cfc4b81655d94be7c19c2436417387b2cb2ce45113790336db35", - "0x1f0f361a4c6f7f2601e677688df6b86d069b617faed4499869631e5adee39178", - "0x42bf25b614164ffd0da182efdad686cac48576fdbdd3f38e7dd1d3bbcc9e5224", - "0xe410e090a0d43d00db127c5639f1af1614ea1680a3e5f491842bc421a8d17521", - "0xad323e505477386f3bd81056800d740a3b10a23ac519f4ae7fa1cd1a2812ab41", - "0x9ffe1e89c81176cc1753d2080339aae9331de823e319f48b997a5a9a59d14a6c", - "0xeb354c27c6adff01efba0bb57a4695009bdde67dad829fca8646eed6c627c04f", - "0x025d06bcbaf4a54651c5b432dbdc1ab61e7e25cb3b33cbd1ad597f6361c64004", - "0xfbb795e49aa2ccc545ac5427d01b8b7f4c6f0f9c6f1636fa2d3f8175ea850e7a", - "0xcfbe0b821f3d9d860aef7f90099cf3eb3d1caf66892142988fdca7990cd2685d", - "0xd38e12f24648a60b38d401b79c034aaa4272e775e44790000de39bd45848b266", - "0x18cf65ee63fea104a2ff5fc02977f31bb686a64007b8cd16d67c431d3fc9985c", - "0xfbef834f90e5cc58a7c0c4ce0eda75881d413fb327954806f43c9831e863bcaa", - "0x20fb4ff5acf0f241bd613dadc8d3146d0b6a667bd66fa8ffc3630c89810a69a3", - "0xd4a1baae192ddc2229cf6425e0fd549bb20cf99bd1857ac14f5eb36ce4ce4882", - "0x0d49346d32b8df702a53de84eff651330b1c9a8f0b00cf3cdd9a37aea37a29b4", - "0xfff87d966513ad61904e37f3e0a822d1216a24f64a2cb0ba019b2ab55b391576", - "0x069e7e81d4ddada64c915bf27e7a7f005f0cae04f85c7c9d9e1c994b35044ab0", - "0xc574c2a0764d2b3424c82a903c6091fd3fc59043c89843001ceafc2f230e250a", - "0xcb57e5e65051817c806b651160ad4fab709fd35801f649854462a391e85113c9", - "0x49df8c35cdc69b9f79b64de400f9a9bd298237e591f561b976e8133f6f4e6e83", - "0x71ff9b73be32122ffd6a70a588cbd249ccac73ac7a72f83ec0b78d401c418c81", - "0x78c53c51467b4d0b0ef26550cf7a68b2c7943942de61f7a9912b7c0b0f54db6d", - "0x89789136684064fb05f130c8bfd122a01cb6013d25f86f25d934037f2cd669d8", - "0x3ce94acc60c5eae9566cad245b5087992d23991f9feaec46c0225f346cfa03cd", - "0x50c61cd40ed98ddde2ec48ef25ffda3c24562efb45466944292042b7646d6ca3", - "0x3be36e840168b97cf843f1282dda75ce7f9a8417e679372fa24747a834b552f6", - "0xb89f248c0659d4fd96fdd11b700772171722e21409694fe7858035b39c3fc84b", - "0xe8e71d5c1ee9094b09643fdeafa63c93a835d4783382c0888c1a93b77cfb27b9", - "0x76e794d55c8879a16255a0454b40d194af4f70b5ac8550f782054dd12fc56d4b", - "0x3c5378f5ed3da82166086ae9df32bd01ab6319bdf69bd64a78dfa2137b869b71", - "0xda149ed42d40c0ad4ba073990c0de763f8c258cfbe087c9db9a5c68ef363739b", - "0x1abdceaecc72ddc6f8058499c951913c9c683d0e68199e0d1646c9df9979bb1d", - "0x46115955203391608cc6633d875c27f2bba1bcb32a5b9a79a617d78e2f15ec6b", - "0x3b1af0c7c51cb1f08fff39c89e064d002d4573760f233d833b6d9f907cff243e", - "0xb4867bc77f1e7d54dd48be67197a8611017f53bc480573c0bd557eb2b8d1865d", - "0x79d41e27c5c3cab17658716e82fdff2bd18c39a37ff7f402b2f071e76efef237", - "0x1c47d6d1ada15f750a3fe992beada41d7698a0ae73fb3ff51d3a83c780b1bee8", - "0x6414f39c9a9aef62156b57044cacef12fb99ccde6944a53c28c9c7f59130c639", - "0xdca75dcbdc8531dfd2640c9f7979abd79a3e58c5e71f319d6aa63f1297e12637", - "0xbc82fd24e1be8bc9f7032a6bfafc482eed796460b3c76cfb482b67408db0a446", - "0x2a45e46666de9e8bc3d396917cbde99a6a0d859e64cc5e9ad8d67dfccbb06a1b", - "0xe4b24c21a7f23f5455f183b5d6b37137ae08c5bbad57851b2072601db62cb50d", - "0xd2cbfc68cb6060ceb677e4da6e21f56a6b086770b6f0d3717affdfada42ed799", - "0xa2942b6aa19abeb697ddedca8be248539c48ef596e08bcda26db0ba2bd5c95e3", - "0xa00ee5291426662b965577851d2f63639d30ba9b089431315cd51b0ea78171aa", - "0x057555a06a0f1faaeb2bc0c6e92d0a95336fd557271b720841cb99e2e0ce01cb", - "0x354d717988880d99017c7af5bcd9a98d2e24db9a9b66b802f374f074ea50651d", - "0x4a076d92f54d83551475bd3a00b6fbd0428a84da527a8d1529463c3697a148cf", - "0x7a0277376b4ff3e14916db4638440940a16cdfc37319c1696e4c6df1bd59c4b8", - "0x1e7b550fcf6a76237398d884f8b020c0f776a8e65b9b1ad1170dfaf69aebded1", - "0x44f458cfd9cbe3a376e75cf5bc43445ceec5c170e2155295350bb4c57ca73ada", - "0x3a130c2e4e95ff6f630797c2f2b2e6433e06979f965ecd4a170ec5c6d22d7748", - "0xa347b7de97da63b80adcb295a1c95f3cf836a0df9bc283c9710b799c00dd0b6b", - "0xa356c10c4e099212258c6f2fdae513032556c2a380814403900c6c0711d4b917", - "0xdd428412cbb7a32c3e7dc5c056db0827cb49fa8c83d984a998f32e15c3d73b48", - "0x40f61ff284733593a7b54896381e5364a054b9e7b1eb0d9b22e479f2468344d4", - "0x2fb5c179fdf142c2af4b2863cfc9b5a42dea7ed637a0f2c39d3af3b32c46c5e5", - "0x7d430b09e2ce51282117040927af580293f7704e9095bf4265797be7af55ee8c", - "0x7c62b0144ef255f729364ffa1b0e7f20ca4c87283618030c226fc0847855de1f", - "0x82deccd92a405b56f62d988c41d2418dd64324882eca967d8260e12cfcecb5db", - "0xbb8854151124237467e120b904244231ffb7f0342d742b0242a430c2ca587072", - "0xce988c73306b3671f018ad630800a6d70c6884ecfc84d172598581f31f5b0f48", - "0x4e5617a802f9a6ea3ec57138152a30a9791f6bc30cbb372a61e02258d5c1f5f1", - "0x8a4460e937b89c2b5ffa6e478a6f9ccc665870f313a7a06abdc82185adc1e296", - "0x429b9600e6a12bc746d21d3ee2ac76c559b5f06ab3e0f5f3b4c8f4504af965f9", - "0x6e8bd561662bf27835053957e56d9b510989efee68ac5cdb8571e9e649f10b63", - "0x4512b87f62323c6c8ade9fa56741823da2ef1f49e3fc76a6ab7a2b47026ad7f4", - "0x7315fc8e86ae2843394ebacbb40440eb66b5f3bf82d5d2a96741df5dce358038", - "0x860445348840ec438748ac4c579a33bf8f16a9922ca53bdac6aa09913d162564", - "0x0ba965c543ba155ebbbbd8bff4c5c63acf221790dd30c7be4bde078bab46dc06", - "0xe814f4ca631d612d0412b7c2c6723d351b2eb19b8563713925b033c676d87cc2", - "0xa3932c3653a210ab39a21127bb8ee97dae95c5bad9910a69bfbaed7b4ab9105b", - "0xbdff1e151c0d0ccd5c6a3be48030f5f905d06169cfe43f8dc1fc715270474344", - "0xe56765c9bc310b26996b60d030e45f7984bd641747e9520b2624f2b58a577f9e", - "0x58d51a1fda0740b191b91880f30035af7db135b54eceb7d1d064653368c39da3", - "0xe6c34027035fb35aefa0796d5714154526affa7bff1e926ccf23aaadc5a251ec", - "0x601023137408602a0d3f62c932de6f62b32372be2ff3e9508b77397e9c7b203e", - "0xbb51e1752b3a324f874ecacda5e4854778d08c976757aabe0d33f9eebce5b69f", - "0x648036ab2ef5c981d11bb45fc110d8c4effe00c6d06646e2df9f04c33b415829", - "0xf0400163aeda772b0139a4e69102589f143e9f23bda49bdc12e2609cc29c74c6", - "0x8d6227386788f4dbad5d8c43d575a627818648d258c03f0025aae5783659ae71", - "0xefa8513731cee73816c0b6168cb25153d29fe6940c1b30db971e1e53b0f59213", - "0x229da5c4b9c46829a93df8ae4bb34b6bf20c37644655277af3ec4b3ccb070351", - "0xca855b6710defa8e20942d981abb9a3a124f76b420ba48e5af32639ed14f8e1c", - "0xdb6e06723e801af3bb9432d02ca8136965dda7f37c592720c8dc7ac4a0c0d45a", - "0xea83e25432f45a0231993ef7b784d200cbb0f4d068d1ffd7c8652b9f1b3da061", - "0x9c6d1a2ac894a2e8f7cbe140d2f251fb454ca77d5b7c64c700bf02b08566032e", - "0x3a59d6738a9f712ed31740f4f211f926febc652ac65d39c768cc15ce6548ac29", - "0xe71d46072083ffc7b5ac292ae827019cb5cfaa335ad9b0717f6b4cd4c002e26b", - "0x0ab071ba6eb8197f56f5d7de6070c05774aec92fe3e38775dbe31b956c20de81", - "0x86e0d7fa597d2bc87b6e09714e2d9adcbf4ace67355414ba5b6cea23c747c0ca", - "0x70a095353bd4ecc77ae6253c93181c0c8880ed57ce5bf2ade7f75c3995ab53b7", - "0x273b6e8f768ce9478e9ca94a5c158ca1152698e89259ebcdefd9bcbb6ca1b28b", - "0xaf59d7b76771c5e8b3ad2f3965b81ed284d47ee892b69b991575f51f9024d82d", - "0x977a7259893512c087f602414f2c5498b52ac4a2283e5d9baba0e7e9d6074477", - "0x69f698ec8280e85baa7ee877652d6eb93281bc68fea8c778624c048113404e85", - "0x3a8e1bb449663fcc1afbf67899e136e3460f3a97fd87e2f2c9cf368ac605527c", - "0xa2656346c9cc287bc1f8697a4906310551f47a24da135467862eacf79f196f76", - "0xf6c099ca0d8d507610a3f549c53515ee11a9c4e55f8474131d3f247e6441d11e", - "0xdb6eb9df15e4da3163d93941524f16766a76be38d4967118c20b2a242e80e22e", - "0x6dc9cd38fb172a6a89672cb36be5fc994d16a126613b94433fe79e10945b3020", - "0xf3b8cd2494813f37bffae61f62a24c1be79e3a9473a556c53bc22ad305640d37", - "0xf1ec74d51276ceb47d5300db099b2729041244c16b1c7d5a9270815e4b2ad87b", - "0xbdb2440940a26dbe21a1e678e6ef5c133ed25f05a70055e52b961aa205dad7a6", - "0xc8e608b563a7af270682b2a5607c03a3e773792b1d59b42c9307d2de0b2287a2", - "0x204766659f1238b1084cf4be97ec53b579be09106ae5252ea6120561e7fa7e80", - "0x7b83846cb399dd5ce6ca56fc96188c5ec78b1c8175f1ca46f8f8ef562630783e", - "0xfc894212ea9bbc5972bc530b6ab7ed40aa7398e8cea35518701e21aaf5225812", - "0xb246a8d3f998bc40fc2862d6d065ac490fe0b8cbe6dc76b11ee9a7d14408864b", - "0xe9391a5600ebda987d96226f776f66d2d9a9ae6dcd61fbe40e2776cea2362165", - "0xf50492c1e56ff3fe1b499732d8e04be8dfe5c16326d31ff77ed9fbfab28ba3ea", - "0x160d294e2166b84c7b39e065b5420f75b845a3e2ca91601a47e86c492253c1a7", - "0x6fa516586c76584db45fa37f1c5c0ab7b7695d4f274ec1a794f88c408c6a9e86", - "0x38b23e425dcca799a06c70d8d4cdb15aeafb16df6b906e1459c9d2c09b00ff3b", - "0x6ccf588a93524bed61c1515129f9cbf228ead29ae4b019783af7ab043c216e72", - "0x3eb9bd1119bcea770e589c55646975e0ea7a825b7b18e27c4a397f98cb3fc072", - "0x18a6d2f8a33c0671304ed13e6b5d49098c95ad9084249d1e495bd3f5c5f8283f", - "0x4401e98be2f7bc8fb46f912d75d4918a03ddeb49c9c9f117bd92565e58a8469e", - "0x55ac69ff9f1a9bd7f88d9758ea891501844b3a932a15d8a4fdcb7ba2c1084495", - "0x3c7fa8eea9e6b19f49803ce3d3926dca64eae46a46d9a658919bae2c0d94b71d", - "0x1130c450d59983001032f00f934f838b20bb1520ff667de9bd8784b892bb6336", - "0xabdfb3d27da751c199289d132e29025923dd47efed222047b43e1584b3937da4", - "0xcfc39333669c6bb5506b2400bd0b682202a8397b9a369f597628c8c2ff62771d", - "0xa24e1607bf874ce72a9a237fc0604836287a2254b6bedc8befc20ca112f3f0b2", - "0x837ce20fe8b6184ec57972d5e9214a0f7e87822fa8e87c293645bbf095ef7a3b", - "0x25e11a9811c15fa64eb38bae5bf9c28d0135fda07185f68e668fbf1a9845970a", - "0x9bc56ef616eb63be18c96e479a4ff1b9b19c3e5874a7faf31d8a890964a507e9", - "0xdd1a5ac21a1acc161f4c73aa56ceac6dd90720cb4e293f15b6a2869d9a5d7501", - "0xd2474ed9bcc5145772ac21309b3bf461201ec85a13cc4b2503efebfe42f8aa9f", - "0xb90dde4373058caa2f5e402268b7c68486939369c062fe189b77d6ab73c96614", - "0x380ace11ada254f8c85083fde6e750ed01d2fab1409450ecf90311c16fc7154b", - "0x82ed384914a2d06ed9a3f9627b75c5329cea39b47667bc27b0c9815154b3c07c", - "0x71871257062f2de58dfe19330339c332eb336b509a3950c9f55210d702459f03", - "0x40a19295674bc11d2c5e28ee7ba584bf13cec92b709dc6d903f799871d4d5b16", - "0x76aa47f9816d3f2769edd4c605203fdbf732006664239e70ee8f46fc0bea693a", - "0xbdc813957728ae825aa3f11f0a518423cb563bd03535d8a8c017af39edd93305", - "0xea13b4df207c200a948fee3403af558b37c8ed660921268d3cd670bab7861404", - "0x98782d2a94d2eaff161ff7175580e794db2dd18ed9ed60431a3c663568ad6ce7", - "0x2f4e2925fd598937c5f268487ab6bcf07130403fdbad2a5422c9efd42bcb4413", - "0x7acf29b8b50a40e5879790dab398203f7a6d459947629624a09927d72a1c8876", - "0x2d08ef96ce1a6b2478b8ae9f442b14156b0a998f9c7e3778e0ab6f556bbcb5d6", - "0x7418de8e710dd6bb61c7559f581525b654b1950efebc62a18b71938ed2e70370", - "0x849c7c76b4a8f8d9090703f09a770fcd90458b99f099fb3f6802724f09782ae6", - "0x5fc720cfff22ef360b7ee9c1630137198a31166716a127c5cee0ebfa14e76719", - "0xd9b4dca033dbc28e1ef2a13d50fc550f18836eaef9d05bc6685fe9d531763a2f", - "0xe70dc6fe376311d6670e956d259af7d8a9c71ca90254849b0b91e2e9b5d5255c", - "0x2c5761e9caf98725a4170fd68b4784dbc9390bb720cf036e7284f6e82a5ec795", - "0x6b358b969aa8c56a722ec87e786e8dfaed7af9cdc1e289ca114c3f7211c36ef0", - "0x2d3a4b11eaf0dc658c0c19956edb0d60163f48198202784c33e992c706453ac4", - "0xda5a12aef28cbd95fb7f0f8041d26bc3cf11bb07a482426052d978f7715dacda", - "0x7d22ed949ac8b7388defd431d086dc651ef5eeb5fb7bf008b41ffeef577fc027", - "0x9b47b1800be3d0e9b008cf10e8afa67debc21dbf6f887b7c29c53713df8ecda2", - "0x7ed432ec67586b2f518e540b5f2b67d714fec68cfe3f1a569c093d9a780119b1", - "0x5440e156e97c8493bb9f4807230a808647de9ef8e14524cb7dbc0901a40184fc", - "0x986385123bdb3ed5c7226b882240ee619f30fd584a32957fc27a83aa1e06673d", - "0xa59fe31fbfa950d479a86eeff096fc455a7a699b3ff86ed1130bd8c8c1124853", - "0xea3bc775c21f3c1272e8204036fb517cc2f82441346e6ca3987a71993d907ca8", - "0x8001476e7252fabbc4fa046ae1f62634567ea538881c6a8a11b288f37ed64fcd", - "0xfd2a71ecf1b26505212d71467d2390cc80cecb0dad7888a6d0d0a6055eb9ca84", - "0xa7ea114a10801202d6a101371e5f9422136f1e173f98dea6810a9a09638872d4", - "0x5c3a8cecb7291388548f6150a16a6307b6edc4eeb69b8f01be34e8098bc7af28", - "0x1f6c0678871618e92bc65493552e70199aa342082d059fa6b0dd110a4b33c8d7", - "0x68fc40e6659f80a785e24cb875372e22f730b6c03d55448863db1eee57eb80a1", - "0x236adad26fbb619a9bb1ccc3e5c21fe705972498ff07898ba0df2d8ef3516869", - "0x03aa1165ebd146992ee1aee1ea82af214f9c923b99feb07e7c990f65adbe37f5", - "0xa89c64d5ab1aecc7e9f9df766fe96d3b0361d81e8048ed4527ed102d036244d0", - "0x90f26821990029ca0d738302c93a4b60c7ad9643b28f140373b91fa1dad39598", - "0x0f8cce246a5e4fa0140ff632ce99f96748987801f4a27e659f1ccdb3f97a8cd4", - "0x5deb4c4068270fe4e3871f3f70170e04276cec9f47fa4425225da1113de62a64", - "0x8c81ee90cfad026a6f23e6f8f33b47411b3602adf490dd6971f4c3c7c9671f57", - "0x05605b9ef167d70a2eedee808c560f61b2bdef0fbc3f61b02bbc52026126156f", - "0xf209a2efe21982cedf5c399040b52be63fe75bf1fe88030a00647c66dab02f96", - "0x6095b14b43cbe789aaea67d7f69d9c6722c17f15dd76ced663dbd747c1131bdb", - "0x94f74e0e64f18665575e26277b3664499dc1d01e4d6dab54a7adf2001e81dcde", - "0x1a901003a7c13e1fcdd13d8c12942c7282e72c94808dc9bd32d77e76cd63ccd0", - "0xea3609e61bcca46eae1695a0bd4188369932fedd20ffe5f93cf22ae871b4f1ef", - "0x027d38050cd0dd5a429d8c3e70b01ff44c8694547383971e2fd85cf312aff759", - "0x232a3620d0ef161d9c72810dcc19b6b76cf024cd551250f14254de046c2dcf4d", - "0x7b168f089c9708a92753916472b83b818994da06a0c64873976ecfe67b4e98c3", - "0x19440d9074c298034d77782b69844e72260d5f0badbc540d240eabfc5bb77a75", - "0x23905d3a64259e5c5496d71fa37e196ac7902b05d095e51bc94e1be6b7757d36", - "0x4aef396e9d58860fbd300b3b797bd51db5e57543fe0ea70291f20576b741103a", - "0x3a9f028ef7c907be3d7ee99cca564df1a6c7cdf461ce09f4765425980a027a1b", - "0xc333a37ec383f09e571492a27056325f7fd0cfbf061fcb5d20e53023acf073a5", - "0xfdf4499c98c4f4b4e31947595682baba0adab78dc11079f50de2aec0fd018a6d", - "0x58a7778a69ef7bd43ed826c54b79c5f070f4b99e2dd08888d817b5f8d375c52b", - "0x1cfb736673e8fcc6889240f1ff69b0d0fcfce34d28e9ddf27f6bee1d8fd90a50", - "0x6eb44090b9092b101d37b897ef88e7c7fc432a5daf7ea514a3cbdad3e5ebe273", - "0x72a902396914af491548de693380bd904776361624264f00a6baf615ea75d74d", - "0xee06fdf85bf3aae87a5b824259ae7dc4eb007f79f33e1d054e8ca7d1a0348b7c", - "0xf49996ee34248d37bfa89924f5d5900f5a4a37156fa172c8eb15ceab849a499e", - "0x2828c1bf01a0bdd6574e71f15b70e0b865162f3f9d85d7f0456bf17052d13db4", - "0x717c4e7d9822ff7e9f684428e7c1dfe41434113cc41b63177bd77bc01f222e85", - "0xfe43a2f383a77c3242a060322795002e5e85da68e338e0b04ef5bfb544a6f741", - "0x06d82bca611ecb5abac06b1bf1c5862f30e2e17c1ee4c56d83b6360666df2cfd", - "0xb51ceb3e5de3c80cde925de8cf8716e1f71cb6b36c3c93f796e0df03851eff41", - "0x93b59443a6a29a396d9770a8cc3a5514ed3b0790317f984b5e50af37d66c9c0a", - "0x8466aa0a7c0d9b667743784848786bade20f65fa6d8450070848f6c2f2f7afd8", - "0x5bddb05a4edfbbdf444a11f8b5a56cbb7274ad316f50084dd9031caf7c2a4395", - "0xa7a3cdc5b9487a826ba813acbc56467b892d07c693fb6ec63f026d6a20812109", - "0xcd0004cf696bf13fd6ca119b7a9bd8b8e82b7bf4b23d4ec82b7f3d813c8ea75d", - "0xa36e92341fdf9f6781420a0247929464c9c9609f068696853d80f0bfea672884", - "0x967ed9f10b5c76f44e18cf2ce8f6bf13904ad6f1b5ac57eb1a9c640eb8fc7461", - "0x5304fafac069aa22d2bac19c0ab61e9d2d8980cfdbe60c5cc24db80adb8d3195", - "0x6ff81f47be444691a521912a31fe83e497b87cd7f13e61d6b92ee7f0b8a44e1c", - "0x2db2c3f22099c4c59f5ed0507e87287b085c6756ecfc86ed6af6c5136bd0f54b", - "0x76314abadf3ba7c7d6ef2e4cd53c2e6541c9771167e8e5e4a240c6a243379b0b", - "0x4cf46c44d6dbb42a0d38f492ea90202c07f4f91abcfa3bb999a9e781c41a42a4", - "0xee8b17aed9e8e0e2dfa2be0734aad690cdf04375289957005af85bc0dcc1ddc9" - ], - "cur_hash": "0x5377110dfb73129b02e62329cfa303ffaf4b931cf4bf527a6aec97dbb98dc6eb" - }, - "withdrawals": [ - [ - "0x64048d00981975d1f6828a807e783d6ab550ee65", - "0x10d8516" - ], - [ - "0x252919b124156491d184da4444cd2d283e31b80b", - "0x10d9ece" - ], - [ - "0x252919b124156491d184da4444cd2d283e31b80b", - "0x10ceec3" - ], - [ - "0x252919b124156491d184da4444cd2d283e31b80b", - "0x10d7f0c" - ], - [ - "0x252919b124156491d184da4444cd2d283e31b80b", - "0x10d4753" - ], - [ - "0x252919b124156491d184da4444cd2d283e31b80b", - "0x10be061" - ], - [ - "0x252919b124156491d184da4444cd2d283e31b80b", - "0x10c99d1" - ], - [ - "0x252919b124156491d184da4444cd2d283e31b80b", - "0x10d4fc8" - ], - [ - "0x252919b124156491d184da4444cd2d283e31b80b", - "0x10baf52" - ], - [ - "0x252919b124156491d184da4444cd2d283e31b80b", - "0x10c78f5" - ], - [ - "0x3cd0c38d5c34ee95fef849256069a3b5c09ad349", - "0x10d1fbd" - ], - [ - "0x3cd0c38d5c34ee95fef849256069a3b5c09ad349", - "0x10cf7fc" - ], - [ - "0x3cd0c38d5c34ee95fef849256069a3b5c09ad349", - "0x10c5024" - ], - [ - "0x3cd0c38d5c34ee95fef849256069a3b5c09ad349", - "0x10d1464" - ], - [ - "0x7142ca8a9618ded97f8838fbe5ecc4515e840a47", - "0x10cdd11" - ], - [ - "0x7142ca8a9618ded97f8838fbe5ecc4515e840a47", - "0x10d60ca" - ] - ] - }, - "checkpoint_state_trie_root": "0x5c2fb1152746455e14b133a1bf1763f72172e681f6d693f4de7ad3f7430bece8" - } - } -] diff --git a/zero_bin/tools/artifacts/witness_b19807080.json b/zero_bin/tools/artifacts/witness_b19807080.json new file mode 100644 index 000000000..f731db5ca --- /dev/null +++ b/zero_bin/tools/artifacts/witness_b19807080.json @@ -0,0 +1,1025 @@ +[ + { + "block_trace": { + "trie_pre_images": { + "combined": { + "compact": "0x01033779ac18716333eaa8b1ee23faedf89eaeb26376210080ea0b6c433ce26cb792037574323ce6b3c85015c8634e605f2bacbf96585b00c9025895db7dccaeb25c20031f0277ea255926ec80976c3e0c6cff328b4a62975ef75615863a6d9a8bfd7c130382e784b1da96aae9e2b3caad0bd92c48222ebf7839320089918d98d273e65a2903d3d0866eafbfb46411b41fca6e7c1a7c3a1f44811db62bc91ee93b17fbcb58f903e7fd542c7765c5510c6de407df112d9346c3052bd3a9a3f0833c10806e926f67036484f5d244034b7db0866222fce3efb5d3cd4a9a33cfd04990f083d653bdf98c038f9965353925cc629d7ab66d9ba3be03455c55f95aed5c04fa48dffff53a58f203cdf44c07525e702674e29efa63ff73aebe88d24953b032bd1f46439fddeef250034370b17e98177b64553036bcc9ebe6ca2fa04734d35f13fef50f29586884145603f824149ac38976ee93444b078acd3dd902ef9786b3021c0fe1bdce84794f00ee0323d249d3bcd11058160ca35a34d4a14e397ea67921af26d2d953d63b16281aff03f5054df6157a58891c4f4ba4c7051f366f6f0015b57b09b2657f0150bcf0b8800343d15dcdc3d5efac93795c05c6913f0b432dbe2f92b3d806e244a51d3464755b03966389c702b0bbdea6b282ebb6c06da03f30ef74cbb4e487fdffe04095bc8330038c072e44eb5d38675e81d7c7623f99c0df3f18326a47316c48ff10db723700770315cf6bad672c89529b200568b8102ac1fe541fc57e13b5374576275b7b927f58038a887dbe5a4535228bb4d1dafdb8d525939c3d9344bb4099160e8ce05a68d6920316130e3944bd82f5f54401b06685da78738459bebf019ba3646cf5e1f2f5213c03ee3a842ddd1243db9a564664b85d829006a1134c449f2d5eca7e9d20acf9d63403e1b69cbba0289fb3e370ff8d74ffd4dc1d85db400a299870c09135d3e81ec071033c09ed77be3902649b5290ad18353daf5a4079c65d1786029f7798bd64fb6a01038d019f3435b0e54f223d69e39fe824e75200074d91a30246cfb34a3783c4463703c02b838cd1d3db81a706700e30b4e53728205aa68a3a849592afc5105c201c2403c3020c3e60fc86465eec22d520e147ca83068e17842f542f4bc3682699d4555003154fce6043787886b3efd46ce95281528132709ed624c382db1345b57f7a74c50315f236830317921dfdaabeb920a6f308e16ff1c06ab19a03f223e65fef24bf9d03a5b7f77f93a8111cba1b112864315f4b44412563c68650c9596e5c2427c5f4030307ca7dbe52955c286b792595fb42cb1233e1d53da1760c543e08be13268a8ac703a6f5ede0875bb7ea0387e36389509a0e2d178d5dbf6e5341f2ec16d34774072e037136a6c56b17ec61ba43b8168fa4828e6da00a570ac196efc3ad0f1103869bcf03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03084b81013b6587e6696fe7b719a0725c12b952ec24385e6e61292f819007011bffffffffffffffff05581e03a91df29e0b231fed9f835ccce160a54bfcd07d62ef0d072dc5a25a2f20040205581e03e485f8fa3ecd23ef16485af319ee03a7abd373a3eab3e24a2d671ba0e00c0547adbdfbbb33772c05581d02ba92575482222cc6c6f2ce3a509e5575c0916abc26f8e6abc20e7bd50847af1e725a56355005581d02804bb3cec0269ac8b062c4cf2e0f525b8475d86816e5ac95f70d161b0c19014f4905aecb9e914af729fb0219802003a6cbf61f05a10a3503e7bbd2daf98492e120eb1fd3f31e56f8b48bcde38f091b03f1b574431f3838d9cdff6e701afd5a058652dab5ae5523288a83d5fad769613903576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e03ab49bd0a6b152d309d49ddbf8a3cc062892cdf65b012d545ae5f08dfc007011bffffffffffffffff05581e03e1125504e79dd63cc52b693a4ba421c6d38bad7c748db6744acbe40b500c064701d6362429ae0005581e034a81699f33d820054e21486be616f2b85bb7ba689b731c302b510d17200c014701e32940b051a005581e03088dc52df1c821d602aea4b9943d4b4cc7cb1196800ff10c7f86ce315004010219a7b9036d65aa2c676a637aa985cb3d802520f895945c67174283f8c5bfa93ae95762a803ce4bd618fe6ab413cfaf48e72f832ec7a0aa585f19b457ae53cccec66cbd0eaf03d3a1afe00fb4b4e7400888b75c939e55c20e727c2be54b51d28eb70739ce949403366c6d43540c31a7a47103bcbd722eb849cd7b09c62ac9f7cbe4df25b3a62d2003d8fd4c90f8f39e168662557028a400e8b3f15c4d530767d43a42550a82ce9d83039f2b339675a4ca1b4e665e10c8744f53ffaa3142b4f36c183cc7df6f9ff416a303bcef9c2acc4cdbc54f26c7dce6f1a0300d3bd105233a67e9e8c0c5983cb37770039ccc5386d9fae80059b3563315468a416b4f433576d050e7c7d191cd10dcb7fd0347902918c6df4e5fa13e2ac68a44cc489ec913f80769e2a072c6f3f57dfa60fb034cf8a2f7c9d765d7ae76fb7fd93dbe58e02be9ef77243dca012fc2c111a66f3c0219ffff038a87e71935a6c03fc655e37d2084542a110bcab781d81219a42d2e306ad10a0603d4d30973bfaff35861879d23bb71c42725bbabade2b9040ac316bb1dd59de35903068325651b8e9af1bd5c24160390b29a0c08f1fccd3268098a6664a6e57179370318dfe6a2a838248d8ac46b0451c67ff807dbe83ffa91ea46b8b75d8a5a6e8d4c03cc085ac9c77c645ab1a40132fe16d9235b45c78b586af5b414f48dc7c2b9ac9303fb79045fb5143671222e8a6161093c5770a4eca03e97140314df8ff2681c71c70385fe99fdf3e1bb8a92eaebf1b34fe9d660bb233d6d9cb0bda1464b793975ff1903d4052bfde7f1a30f7440f67cdd7888d19a9b1df7de37a21c21dc38e116c892870357cc88a05e470e52a1bb4676b7b74daacfa3f2a92879ab3bdc69b93cee0b524e03aa2b65f9b49f4cf77c5cc175b840aa504d6707e2512f85188cf2438b842e857603ce301c228dd726f20c40c0b0f996b91e3000e2128bee8508fbdb8b40e2155714036893ee48254ab45772282751648ada94fe08372e84e1a8a74cda93de1c5064330219ffff036bc65e4f8f9c4db613e4f645916134eb50a304b1234f5704752caa9bcf8a4b4c0312ed86326ad3fd17284e0cdc9d89091b8ed48520dd6c1cdd8c81a7dede60c1e603be907c5d58601daa203e6fdd42648f058eded9594c59c64ad5f03c32b3c8ac8703678483977ecdbd9344d9b2f69f416c85c6388801778696d8a0be51f164b515c60314a6b5a25b62f39e2d9d7cf4e8872b59d753c2851c4b92485eb495f5c302e79e034cfb9ef48fbde023d36423b0f49f033498152fc8503c61132f81bfe0f5c26e4b03106403b51c750a735d1bddaaa349a10026932ca8ae81ea2b81eb1f8a29bff12b0219ffff03ea3db328a4986acceaa5ffa34bf166bf8d881b4ca8997fb61b0f35296a83acd8034a30bce55dfe93b665912c3e5615b64ebd1e0af1a6fb2a226eb8ee24cabe22a80219ffff03673fa84aea0b0f8628d895697bb08c09903a0cb92db83a2178e6a441ab9510b803006f4006055dde70dc4c2b87106be96f079a15abee5dcb60aa5290785ccec50303305c223d7c65d90cafc1c5830f27cf58e26fd0755791a4d35d9c0b5827649cae03642a97b9d56cf442f8082fdf83d1518930c26a04a08efaf10a5d94338ed4594903d7428c54eaeecbcd89277ef5dcbede101b2ac47701b877a2c79856fd0693717603b974990a02b358f377db44a1d11510515ac24e2e7c1d459389986b633a3d5cc603ec29e57dbc7e1129e75093fb04263f443b35374da59e0a7f0c927052d52ef6d3035326307f35e9b6e255605cc5901a11224a938f62d63f835278cc37641da250ef039ab4641c650ceb1a60704b98b5e2ba0b83290e35b20afb1bfe1908ff8705f6f303588ff352d7528fa0cfc6e6de63fa2524a7c4e7bfc8143bc1cb98b4da1f261ace035c7bf11a00d5750b8921627801e5bbb6518dc31b17ea529a1d9d93510d4aad9103666d74a52d44aab3ab4f9e28f48dcc592054d1bd1d13dca508bbc097e79628370321789df6e00ce42c74c3f015dc84e9a915cffddf24b4a08fd6be4a605c031667030463b307a2b6b552ee059829fdbe0a1ea37a5faa78bfa8586bfcf3520374c0d9031f8e6a3427ef6ef844ba16da319406f23e6cf14ef9df5639f87fb37d3479377803b268d6ba72c73f7f1cb163c74466ee1a5ed0dd0cfa2fe3f538699fcacaf8f783033dc408e1316c7fb267d2800307da7bee9d586dbcac8db366be4550de02972899030fb7bbd1977d6a5af1621e97701e3263eb41f498c0a2750bf106e5321575046203bf80bd77ecf6565b46d1154c36ff145eccb12e2e906755f44e5d5d08e37d834803934a0f18fe0401d10cd9078ebe9523349c2a8787c8f7d102c6ccc3c9adfcf7fe03f5b11eb47d78118e03e374fa2aa010742f33f6f60e78799849bbda689975dbff03d4ec39a2a6f526978d0520c221edb1b552e1647d6ea988121e14885c1f36614003909c700e36b36b646029de7eb8c28933eed667ab03c80f6521808b175d481c33037b3b3abc93d2e5d47d14875c12fe53a4d1ac82f3967bd1ed34378441f2acf2e805581e03580a26e0f75462fdd7aa448d121fc649e46fc04a182e29cec4e8546c9008471400668dce880005581e036cb5135f76e47ab0ceb25810c334b735e4bcc472003720f904ac837820084831444faa80e0200005581e03b421c7951915ff8b0f31869caa956d7f48f5c282aa771b2b63f6058c10040205581e030bfab676abff632c74d8327002ab236cc0fc98fc76f27305bfa6c47be00401031f9dd64ecce4e8deb8daaf5ebc66fc0c4e0f88f77092c41968f588a247fbd4df05581e0344d2efb90a365cd28896d14e3f60c86d9b7c0e006e433db674d3d7a2c0040603f856fd0ac73cd3d02b9907b9db4ebf7cea663ccae0598922600e02e5154669f10353af315a0fcaa9dff012916a9a129f20c3b74bae1a8bb08a9a316de5f8e60f0e05581e032640cabedae07e7b2cf2f87380f1c03d6915bfc8ece216a02ae2f248500c190a18480936e2106de2f64703e9c928a377a0a5c361cdf0424feab2e041dbaa42e8be97c67b8cdd32b61193660219ed8d0359c8e5cd5398897f8ef29cea5ac0a112c084e0c4bf1d09dd5bc0df1f453d05110388a34842733985b3a2ad89951f47c279207ce4032188c01d59d5ce7398017208039301ee60769a5cc1e1b93db3f8ceaca862d1b6230cf3dd894d795e9bc3c653b703706e7308c91c196fa759e9a744ca9b43ed50402e3f21bff848e3a92ef1fb9298039ac17e7f0739eb47bcb4b59bad175fb16879e316d937ae265e52fc1665dd179e03f5d1c4bdafba9c9f85e12c76b60b321aad40ed2dbd4c115c82f64f53c83f2ae503a707123a8de89a86642af5d17a5f46a405002c99f9fd9636df48acb117ffa6e203aa0fb7b0887e5cb555f44f9d7929051fa9657c39b09e32086c569ccb6e6c64f60219ffff036c5a1f0b13a2612419148584c832446b97df1f9c67bea20032c475945b4dc62c035504938b4588e9f1c328c0f5226c65bdc483f463acde1ed92560075f96ed6f33035e150a796ed8cf2905fbb3da7531ade6a8d6c63d04f5c92afaba93a76071a91d03d0cc3d19e35ab6988464ab4a30834b7998161c82e5ce6eab15b19b6c12c7fef803b9c04de2fb64d6e60e9be70249151c84aed39118ef3a52f9c027749de938f8f003a5b52af42d4ce1ec784a3a642e8b2f23f438e782cfa8844733cf0522f967aedd036529e10404bacdc1bf05787b9b90448fe39661fd6227e75e0d03098ad579966f031dd2dad2608d11e93b1e8b3efe63c3157cfcf2aa5fba24b3a78494cb303a3b1403120d3a8b7f9f8aaffdb4dde5a0095937a6a16f14a3c6fa2e560ea79171018a240310b5b51c5754134f5f36b7318e6188e4053ede2e7fa4071e8260fc421beb6e66033a20fbe50aa26dd941bbde42353ed1db1218ef553664db1e476b1294c3900c060219ffff037d41bbf4b13fa70838409c4730370f6d758580cad57a84a2e70a3b293959805b033dbfdb3f8c910f657e3842c1572004a8c27645de87d67a4546bc9d627ccd079603b73b9136efd9b214d7273738ce8e47ff73490ebc8f5e781b0d2c799c3a0f64c9033ceae6fb2fb39225d3be1f6171efb911f4598725efb952ab08d304dea121e14003cd9f727d584242a4a67dd2bd3368f9f4181855c2cd227475fc10bff01948356503ab77af421ad2d237715766947479e19bfaaf0734a6c64f68dd4846c7d3cfa64d034e68c1099de2910c199ea73b57042f601287b66ec29a68d556edee14601c32a303c2fb15dac72b853eba1ac2afd03d7de99db6097600f264ef8cb42bb87064c7bf0219ffff03ae72ee11061fd18790a03a54f046e273bf861dad63d9a8a72341f09b2fcfe1750326c892150c6bcc75c040f7772b6c6b5335411a530516b2e3a4bc556dc6ee0fa9030ea23e6b71bae4ab262177837ed3d9d54f8d111c14587ff8a4cc38e8631ffc37038acf9a4c95ae79f42775f2dd362f0a51f640b40e92f3402e7c162b3c20c01241038016d5786f51cfd02ca203f36389f83f1e9c551a36e6cd2bf2caf9f7e71bf937038f4567a77cff99626d05f8793482ee0d973c7f8d213420244710b4e70638bc7d031d669fd05a028d7b686956dd23115a125e7f3f7eeba3750f1bf309fe9515c19303ec69863dfc84d9a61ee5ce2040e078b46096927815d9b26d6a8c79df062c74a503ad65c2085d87c1de63c1b67b9fc9f67d7bd5e46bd94c388fe8dc85d00bff57c00377eedb3bdb67415acd542cde19c9d40094635be6ab36140adeab42e96b92cfb80219ffff03d1dca78a8a141a285a6bdf05d94f21e002557d73e68b191e11f7cd311f3ede2a031acac9d38ca38ff98da8d0f9a2a8789f968c4e379ad3ff7cd8bb5b5f9da385650387ecff14def0afa74183e00da5efda82df545c98b7e859481aef8f24a2cdc8220343625f41f7af9f1037d70e983a3b8d0db1adf239660b16c3d73e730a4f634d0203f6a481afa4faab91d104cdec398b537be074a99936e5a3491542f42bb141e10803cb3437e61f8ec2cfd51f006df4f9f2fce562b234ace6a91cf2b9835ff172be850352e759d1c87ae5e9391fefc457ed50d3814da8e96d60998afbebe028b8aba2e403bc4e03f127d3dbeca9755bf0b0e5314d9bde3db19a70fceb0debe574cd5dec2503cb08fc461bd03abb1fe6df856afb879627316c3007f98dc20e8f12f5d3122cd003b233519fbb55d2567ec4d592e2ffe047ac13f38b495ca383c356d5edbb8063690356f8eb2f637eb2b6da519d6ea20a5b3183005fa5d08c0b7572a9425fa6d78845038cf30f717edd9258c60cb2ed43e6c814649e63819111d0263f14722a4f871bc5030b98e0d643c86f511c800e28512adb9766b8b7ec83a1eb9f05063de4bae18019037e3b21f100b7d02806a88460dce0a02a1aede13252b273bdb2521a4e898200b203f2ee256b3e1dc4a7c7596e54ebf4a0eb8c2a85feab0603a2577db8d3abf074c3036443af6e39f39a0d6baf98a77c15bc9d2cad412dcc8ef690a32fb3aea772bed9034b026b8214597b35919c7f9bd9780d32fd2daa2d558fbc69adf027c74c9fd068033e0cbcc44291723f9a212e32fa81f7a09908d83c20eefd3c58aa4edeb84658d8033269463fca63ebe488bf9a87a1db205958c54cfbf43c24d9503311ee0fb53d4b0392890d961f6c0ca76151b99a3aa4bed0ac198ccfe387380daed62bc854cc0ed103cae85bceefac339e981320952d8e1854f73a931df8837c8b3e1865923e936532032a5ea55e51c8ff67c6a3f13c521ad8d267f4dd0cab13ab2789ef223df2a4d55005581d0248c6c547ec55378e2c0a61680666e229104d5132fdf9ee31729e64020c014705b19fa46bd50005581d022a37715299ed85873b9ceaa8a2578309efe1ff9d3d4474247d96e7e2084801ff973cafa800000219024003d6f4261e3eb772dbc22561849021fbc514fa158bdcf3294d8ccfd5e00bcf520503f9073dc0c6318b7a3d4139205bcf2dfc19e52d92f786eb0b7daf5150a74dd725021922990353d71e82ce260a30018c76a6c9a39a8e6c5c37c78dbbe246c4af86c5bf9b6ce6033383bc0b2d03bcb5906a7f396ee41a2a5c36507139118801a24359015558cafb03b8a5aa6fd604059e03516b4e1e0cc6f4fc2240893e74d3a8966043bd8961a164031bb390335989c555bfc3182e0476da76d59a5175fba90e61f4d2bdf614c8a6e703c11220ecf272dbd7ed4459cb7674ce12265841898b5fbe2016a8457cb34c326c03c5cc4dec75d39dfc41755fe91a224265d9e5a22d75f99eeea6a8e9c85468e86903c26a8ee1eeb84c898a479372826a7643d2da4dbda3aec9641465611d590039a203e7753a5102330e4bd9c397090d2cba9105d869ac7ca7362de91bfd8250ceb14103d743b3c0c2aac773abe7e6ba4d1e3f4cab1cfe7db51d8e1e3272c57071f4304703b4adc0b2abdcbab1ed7259159d8dba7404bb90b1ec7167f6f2d4e43507314419036efa33540d8af22ada129bd6e19c8566075088a3aa6e613a4ed39378eaf842e403a791e80119ee3297e129e171432558f5cd5dce6cdb079d123646a012d7aa7b59037d3c36e13194d7e8e3242ae072796a3092458f296a90f3424dc469f932c3b92c03293059d7f335b0215c61193acb55440962ccfc8a44178ea82c4ba8fcc7c082b80219ffff03215151cadcfa8461c6ffb721016f5e1841b26bd20093c2285667ee1a2c835a7003e2f94aa7aada4eac688ab1468a0e76028ebd508f0c5ab7f7fa208c1900b9ccc70308c5a4259db46efdf4f4c5e5881fc5f183d1375aa744815dd56e66675d84133803e7134df08bdf9dae09e63915e3e7a3829c48ddf5868e2aff91249b14e66c5374039685124197604d3b54ac35482805264b69dc564bffa18c9ba6ea1c78d4019dd80319f4c967aca3a82efad1f8b56b53e108ff25374eae7600738e9c037464c8b316037356b0e8a7a3026197d2d03f11ee324f39d2eb3d4f2b3927fedc7b74293bef3f038f9ec361d5b1a6e87ceebd85118772733e207c8f012c8d73bc979acbf587dba603983d177bab22d5da014ab752200b7143ec636c96a92c26db7c51c3f0e1d29c6b03196af95e9d505162163089eecfb5f79da1d3afb9b70ea9ec66e2febe4b037feb032c3ff131a66d8aaae1b63e9222c53f51b1463f004bd1a13c730f889aaff8c964038e0cb7d3461eecacadb4fdaafc6adc39aa323dfde36eb857db249943990467b5036ae293a1b476ad4710c1e3b322ba6fa130111f8292a7578372c2d0895b8962c803970b99093937dbdb65b1bbfcec734f02993474eda5944f37ffd3c17f7f66e6be0219ffff03c416d48e7f3140778c6721437cff0075abcb18241c7a39e2c2c8e48290b9ca920379c2eb811d777888ec28c959be06d36f3865c4d2911b2b7fb3f7489d0c0698790362e0c01a7c9ac342ef5452e5ffb086067b26b0c1f26bbf8c4a827e94632f64c9036a57017047137b45f8170bcbd25ec0c37a62eda63e203342c36277d15a07fa6003268cc63bc3aa8f9ae41f088a286dde6bad38b9fd4355730c48dd0af45f905e24034928871f92cf6bcbf7a57728558549b2c21b79c6108d7961b1e9845e6a3c8f4003f6c0a1eec7ccd3df5cf1d836c60c8bd98271796a5385f1eed73822b2fca6a9140361d754ebd451cb85f21c738fb583c375b2e973568464354c846f82b342a8d8dc030356de2f217e8d3f5eb624cac231b69f64780159d74cc15ed19deaab698078c403ef9f6af60f28590fd0d268dbc470a085ee5918851f43a6184fce09a1b77921e70219ffff03b1d87303aaed9bb71bceb48c31cd23010095a95c4911a68fec063ae654c781d60307d0ee4fe250030e124f0b2e0b445daca1b533cfc64f7df3af8cdfb515d9712803d5bf153ad911fc391f4603d4d1cb07cc7f4eb94a9c355c1be5b41e25112e76de0381b723b8407bd8f11bdee313379a9affc5abbd4bd797bfe2100f96e098558bb1035b8509dd3007587a15cb92ae6cadfe994c3788b7b715b71a717cb6afe26bac3503c9170c41846c880e6b215223c6c88eb214df88c646c5b46cbf1981e2f481a4ea03a879d359b8c140ada36ae63352f961b9a70656e89cca7b1e6b5521ee2f5351710219ffff039fd6b523cb251d7a170bd581ad2e9e258e3e62160ca3badacfab6434ee18798f03466346b08dc08b429818c54672c4323d1c9d157a4f519b76b6d0f955eb08c86b037a22764d35894484876ba73ca1e6c2d03bb86ca89b34397e227cd6a3a8798fe2038cb78be7dd175e1ca67c2ba8e025f660e1e99ecb1b7be03fa1aef4523fe9c9dc03656e6cb353651309affab0995d8dfec147e346d0cf13d7abb9391aeec38b6307033ed40d526fec01ca7bd213ccd7d8a62055831a04770726711e8dddfb880d86d803f2b8056eef9243343e36c8d82f36b27646da99817f5d5e82ff31d58b9bf0be350219ffff03df3592210cdaad452cc40f0e243d920afbb033fcd9490f2f6cc926dea05cf14b037816658c639149ab3eebb38f6ac22cf38752b7e4c6ddde32a6c3246707d80fd903f5ac862b401525c3cfdad2a29ce5294bbddd3ed338b6626fc8f9c44fb1cf8d90034be77e83d32bf9f4fe2880b66ad8908983dfc1dec078d9e31d227d786b8cf148039f0e8639747e8ab71adc53e8b07f01206b5900c0272eae6594d37c750768abea03c390f1e47a610cebad6c27e089e33465b8fccbf3ad3b3b7e2a07457d8ba632c303cdd9b0d1509c100dbb97d416ec662e3077cddbd5c47aef42ba982f7c0cd4769703c4243f4af1fbfd6a87252ccd6ffc33385970802e52996d723483078a268f13a803a1ecedf8165b6b65ed1b9994f5d3c514620fb494dc86171e6194e33465eb87cc03088ec9d7bf047917fdc5049955ba7851e13907e685f43c2df16e24591c9dde5a03ed094da69c124333f8345d6a2d61fd3009f13d18af68fafe7b821221dc796e5c0337a03266a9bdc253aaeaba6b66a4a347f18829c6a23b248db62eb21389bae960039fb3a610d2830303b2fe3efc4c420bb5d26dfb8f99f1ed9ab0df274e2ce53a5e038b0e0c639fcf93b1ef48bc870cf1c2db6dc710a364386b61e55e29ccda4d584503e41f647481abd0f1ddcf9362df2eaa21515cc62a98184a3e7e165189b69b9d3d034ca3128be96a17ef0e09f3d1a4df42be6cd707c193b33d55133225873d9426840355ff618203c69889c9bac81fe7c29259b911a8bfab94d550893576bd8eba8a97032cf9f0cf6d3a8d5299973d08bc171ff6c5374b9549019a33b69f1ba8224fb9cd03b0dedf0a2c83674687d5d90a1f5f176104ff7036cd01ff5c0125d954c047f974035ae9ad796ba4067225e90374539826e4e4388c926dedf59477cc5eed7dc593490316ced7b33a98ee1c651fa2fcbe1a0374604f7c909b84f062b589aec7f44f11d703f2867144ee588e4d55ea4761c23e21c783ee2cc00c68975aefd48df592f2b8da03f9164129351a46f77d025bc0509050e9eea8cd308710920658ca1f3063b1cf6803052017d82fb6f8a4d85a9cdd48f3f0fed849d1cd1aeba0fc2884557428a4ede403ee4b6adbf3362ff64d07641f516d8ec746b044f977bb448911c4e0af555365e503cff85de233b523d9d1457c82daa68ba239ab77f439892acd0a2068bf97ebdbff0385d0525a0a0034c5bd08935cc25dd3f51edca9ebb6fccd04f02db7502705cdbc05581e03e46afb6f2a29b471fb70f204efc85a293e3aafe620b6d7184495207d900401037e5088d9117486b2f086a8ece3ba2d74100ca7b7abf188cb800645b99b0b36de03546360b87e0fdc3a10341394d32f120453ae1f8f3d21372cca6361cef94f473305581e03be7b9938054f9dbc0e1be10d1cb4775560fc4652f94cec4c823790c2100402038bc989e7c0e91f054a8fb35ab7646b78f1dc692e67dee5cbf05a5e390a5b96eb031355d7d9562a49fdb90376af866d3927f7b97c55954ccf4909fe488a99284aef05581e03ea58b11a2d9b9076492a1cf0a1f28ec2abc3ad5597945d915728e2485007011bffffffffffffffff05581e0352bc53f1d7c8c3f1070c02f6f0313e53ab53b786b0dfc5fa833a09db20040105581e03ad08a72a553101e869eaa555d3ee8dc641c102d9db971a2c88791db4e00c05470178bdc1aac140045917fc608060405260043610610113575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb146102ee578063bf474bed1461030d578063c876d0b914610322578063c9567bf91461033b578063dd62ed3e1461034f575f80fd5b8063751039fc1461025e5780637d1db4a5146102725780638da5cb5b146102875780638f9a55c0146102ad57806395d89b41146102c2575f80fd5b806323b872dd116100e357806323b872dd146101c6578063313ce567146101e557806351bc3c851461020057806370a0823114610216578063715018a61461024a575f80fd5b806306fdde031461011e578063095ea7b3146101605780630faee56f1461018f57806318160ddd146101b2575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b506040805180820190915260088152675a7964696f20414960c01b60208201525b60405161015791906113ef565b60405180910390f35b34801561016b575f80fd5b5061017f61017a366004611451565b610393565b6040519015158152602001610157565b34801561019a575f80fd5b506101a460125481565b604051908152602001610157565b3480156101bd575f80fd5b506101a46103a9565b3480156101d1575f80fd5b5061017f6101e036600461147b565b6103c9565b3480156101f0575f80fd5b5060405160098152602001610157565b34801561020b575f80fd5b50610214610430565b005b348015610221575f80fd5b506101a46102303660046114b9565b6001600160a01b03165f9081526001602052604090205490565b348015610255575f80fd5b50610214610486565b348015610269575f80fd5b50610214610500565b34801561027d575f80fd5b506101a4600f5481565b348015610292575f80fd5b505f546040516001600160a01b039091168152602001610157565b3480156102b8575f80fd5b506101a460105481565b3480156102cd575f80fd5b506040805180820190915260048152635a44414960e01b602082015261014a565b3480156102f9575f80fd5b5061017f610308366004611451565b6105bb565b348015610318575f80fd5b506101a460115481565b34801561032d575f80fd5b5060065461017f9060ff1681565b348015610346575f80fd5b506102146105c7565b34801561035a575f80fd5b506101a46103693660046114d4565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61039f338484610970565b5060015b92915050565b5f6103b66009600a6115ff565b6103c4906305f5e10061160d565b905090565b5f6103d5848484610a93565b61042684336104218560405180606001604052806028815260200161179f602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611067565b610970565b5060019392505050565b60065461010090046001600160a01b0316336001600160a01b031614610454575f80fd5b305f908152600160205260409020548015610472576104728161109f565b478015610482576104828161120f565b5050565b5f546001600160a01b031633146104b85760405162461bcd60e51b81526004016104af90611624565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105295760405162461bcd60e51b81526004016104af90611624565b6105356009600a6115ff565b610543906305f5e10061160d565b600f556105526009600a6115ff565b610560906305f5e10061160d565b6010556006805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61059a6009600a6115ff565b6105a8906305f5e10061160d565b60405190815260200160405180910390a1565b5f61039f338484610a93565b5f546001600160a01b031633146105f05760405162461bcd60e51b81526004016104af90611624565b601454600160a01b900460ff161561064a5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104af565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106939030906106856009600a6115ff565b610421906305f5e10061160d565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106e3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107079190611659565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610766573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078a9190611659565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156107d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f89190611659565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d719473061083f816001600160a01b03165f9081526001602052604090205490565b5f806108525f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156108b8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108dd9190611674565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610932573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610956919061169f565b506014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166109d25760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104af565b6001600160a01b038216610a335760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104af565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610af75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104af565b6001600160a01b038216610b595760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104af565b5f8111610bba5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104af565b5f80546001600160a01b03858116911614801590610be557505f546001600160a01b03848116911614155b15610f2a57610c166064610c10600b54600e5411610c0557600754610c09565b6009545b859061124a565b906112cf565b60065490915060ff1615610cfc576013546001600160a01b03848116911614801590610c5057506014546001600160a01b03848116911614155b15610cfc57325f908152600560205260409020544311610cea5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104af565b325f9081526005602052604090204390555b6014546001600160a01b038581169116148015610d2757506013546001600160a01b03848116911614155b8015610d4b57506001600160a01b0383165f9081526003602052604090205460ff16155b15610e3157600f54821115610da25760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104af565b60105482610dc4856001600160a01b03165f9081526001602052604090205490565b610dce91906116be565b1115610e1c5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104af565b600e8054905f610e2b836116d1565b91905055505b6014546001600160a01b038481169116148015610e5757506001600160a01b0384163014155b15610e8457610e816064610c10600c54600e5411610e7757600854610c09565b600a54859061124a565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610eba57506014546001600160a01b038581169116145b8015610ecf5750601454600160b01b900460ff165b8015610edc575060115481115b8015610eeb5750600d54600e54115b15610f2857610f0d610f0884610f0384601254611310565b611310565b61109f565b4766b1a2bc2ec50000811115610f2657610f264761120f565b505b505b8015610fa257305f90815260016020526040902054610f499082611324565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f999085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610fc49083611382565b6001600160a01b0385165f90815260016020526040902055611007610fe98383611382565b6001600160a01b0385165f9081526001602052604090205490611324565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6110508585611382565b60405190815260200160405180910390a350505050565b5f818484111561108a5760405162461bcd60e51b81526004016104af91906113ef565b505f61109684866116e9565b95945050505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110e5576110e56116fc565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561113c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111609190611659565b81600181518110611173576111736116fc565b6001600160a01b0392831660209182029290920101526013546111999130911684610970565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906111d19085905f90869030904290600401611710565b5f604051808303815f87803b1580156111e8575f80fd5b505af11580156111fa573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610482573d5f803e3d5ffd5b5f825f0361125957505f6103a3565b5f611264838561160d565b905082611271858361177f565b146112c85760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104af565b9392505050565b5f6112c883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113c3565b5f81831161131e57826112c8565b50919050565b5f8061133083856116be565b9050838110156112c85760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104af565b5f6112c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611067565b5f81836113e35760405162461bcd60e51b81526004016104af91906113ef565b505f611096848661177f565b5f6020808352835180828501525f5b8181101561141a578581018301518582016040015282016113fe565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461144e575f80fd5b50565b5f8060408385031215611462575f80fd5b823561146d8161143a565b946020939093013593505050565b5f805f6060848603121561148d575f80fd5b83356114988161143a565b925060208401356114a88161143a565b929592945050506040919091013590565b5f602082840312156114c9575f80fd5b81356112c88161143a565b5f80604083850312156114e5575f80fd5b82356114f08161143a565b915060208301356115008161143a565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561155957815f190482111561153f5761153f61150b565b8085161561154c57918102915b93841c9390800290611524565b509250929050565b5f8261156f575060016103a3565b8161157b57505f6103a3565b8160018114611591576002811461159b576115b7565b60019150506103a3565b60ff8411156115ac576115ac61150b565b50506001821b6103a3565b5060208310610133831016604e8410600b84101617156115da575081810a6103a3565b6115e4838361151f565b805f19048211156115f7576115f761150b565b029392505050565b5f6112c860ff841683611561565b80820281158282048414176103a3576103a361150b565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611669575f80fd5b81516112c88161143a565b5f805f60608486031215611686575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156116af575f80fd5b815180151581146112c8575f80fd5b808201808211156103a3576103a361150b565b5f600182016116e2576116e261150b565b5060010190565b818103818111156103a3576103a361150b565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561175e5784516001600160a01b031683529383019391830191600101611739565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261179957634e487b7160e01b5f52601260045260245ffd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fabb245980ce7b674f8c8938e6a9547420e1985f631d17befd4e60b6ad4ef03964736f6c63430008140033032e9a1bdb7719f32ebe6e8748056096c302e0117ebc7d8a695d3c69ec190c94a4005820033deaaae292505f99da7730d679d66dd76ee315a572765c6b28477acbef84205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02581cebdbe182d4ece6688321f0b6da020dff6b0c685984e2b533880f40895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581f02b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db94123021830005820037296de936eb2802bae692c3ad184fb80ac4733c4763fb05c067aa104af4a104701a0ab99c148670219018400582003643924d70380e8c3b27dbb7ab991599d58393812896fce01b82ea17b0358505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b584627eef1edb923dd3a5730dcce1f8a65d4b0a3f0f498764366473bd3dd0460bf1d763426a00582003dc1e32d4b868a9e50e514d63a1a3eca30cca8aca615c5fcb6e76aff3941b104701c0467370689b02190121032eb736af20c66853b0524fa3afed1b5087d4db0a1f8dadeafaa35a66527298ce03012b76fc2abd9f42db1bfc99f3b77279886f78830f4f07189ff0f2e6b7b64509035df46df06f8f5bff1a2799ec89f3d27c5046d439c4571b046701e0ce90f8e52e03a5d1e37bc4c238dbddf3583b32bb2bcedca6da92d63419e564218330c41a9d8503136b9f41d0a75818fce9eee2f181fa25f7637677ad1b6f3607f2e0e70fe728f703dc5492c96e23328e3c7c6f01c8df680731771f94e16cc90f5a2526a9010bd241005820020ff2aeb056ea80f584f0f596a56da0db1c533b5770e5f58b5d85a81872d3214711c37937e08000034ba899bcb365ee327c8ff95b40db4c5b0554d304e76cc3f0cfeb8171f0acc15103b56094dc76eebc806678d38a7d72e95c1a316b34199cb574a00e003b29d39f0d005820033a29332cc87cee6bb85ec6c4d48fa62a05e0e689d38915df8e8711fec6f6d04701d57eaddeea7903e9d858e542f01f0cc9a78fe3c7d155ba2eb1ab3bdfa228febe0cbf35f9d236000058200345f7402f34e0165cc412d391d9a6f3650cc8a9ecca726e8325318ffc9b4a205820fffffffffffffffffffffffffffffffffffffffffffffffffffdde4d9d227fff005820033a52a2e3bf74152f03427aaa45125fa9d276601ae28f16b4f256e23e4411f05820fffffffffffffffffffffffffffffffffffffffffffffffffffdaed140fed6c900582003008b69b457c61a29303e67f4eb817a578dfb867f0eb8e306bce681219d22405820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820030c54fed9cbfaf5d6f13c3cd9aadd836c032fae0b7297b466d50befccb91aa05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219447103a6d4faca4f3fa2cb2c42ba6b209e87b2dcce1ede3b2020f8ec09364e73bf092003c5302a75aea5ed51be684447bafaf15e1bbd6b68e84e4eeb939c45c5da08e6550219bfff03fcc803681c88970cb11e9491d7e4704b0d7d7aa4f30edd837018edb9e8b7974a00582002cb45a65ac413176a5293c5dcc90cf019a7e925c7b4dfea6fa65bd0ffd552a2464b6d0797f9fd037ab0c4b1c17c34977d9af54350635a3f1a3fa0ff837d6d211d24a7ab6120e2d303d881e51d2a3eb57f1d64063521cd848ef9090eb55d20f6031751ffcf26dfd9f5005820021ba19dc1dd14b9e06c8781534275493317db4006d593ec78d3893979430ad35820ffffffffffffffffffffffffffffffffffffffffffffffffffffc914e0f9a02d033f4987be9456d56871914d690843fb7e31e165290b44ef1737612c9f5e63c0e603f25d24915b46dfa25f6cd54056caf222533d999c5e1103feb1fc60ee6ac5af1603fff9818874c16d20b922dc8e9d94bfd5e4f0ec644571582a901c30f5b1d812b5035708bcff448dba53f838fc064ffe210269d0db44b8e57acdcd7d31afad4a664e035cfccc1947fe9ca4d21a85d8aa92601d7478432dbce2f2623097d5692dbb235d00582003dd580b09fc78b641fed62f71d95358bfc448b769be26f97308f55ac78f0d705820fffffffffffffffffffffffffffffffffffffffffffffffffffe82f2c4fc936600582003a449eb1a2da34c7e8b4afc3e53beabbf30b220bbd1ba3783194d707ce7c3b044012e343702188803fa06a150af961eb306023fe56cebfb3cbdd83faa0dfa374bc07b895dc4f8b93603d063c607b5ca7772092eccb711cbecb999f6280ed84dd14d31b1fe84e5d9ff590359ecf023d1f4253e2a66415f209d7c6a67c6327d03490806aff85ee070d1968d030663d512bb073f73fa945cb7ed99c268e607c2a83afed42cfaaa60793fbf197803bdc8374b941fc71ad48960781eb2ff806ec903c0b307fc21290a269e65c88e0403eb57fbd9e4894fe8eee12f15e7e6a7dd7a4b11cbac681aa07428762a641b6cc90219ffff03adb353379cf9f856bf0cdd9a8444c5559651e9a9568ea91de2607fb1b841972600582003b2a13ac4575f81a191570ca0fd326662aa0c579a23ef07ae9ad92d5a14f2305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003cc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68046b5e620f4800002194040031621d5683860ce7af2b9a8f0db55ae1004926a3ddeac35f8179b9cb08b4b5ad500582002fdc970a2c954cbd9cac4b3dee87d3d5e28dfc9aa628581ce61b29abd6a13535820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582002a7ba5548113732fc6857f152ceb343dff7a56b40eb54168639003b931e6aee5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820020afa2884108caacaa604f3a4b1c026c537454cd211d5e6e196134963a61a48465343947ae07603f3669d5a9877b0f0e2f6f472f8fed2a84efbf6b50be27a8089a0ee9d533ee417037c23c104e325371f5295886d89d86ff5537636b1a384b903c735b5421da912930058200214845ccd09051265cabfa666bbb0983955c377677c980b566c05854ebda2b546d08b1108e3c20396d127107e2d18df9282865aee758bce86dfedc6bbfc2e404466f36ff8eb4ebe033bcdc1e6636d1e90ce729e75fbc776c1296bfcb6de57e755fe58167dcb5da67203a4af2c85e40dd23e183a0fd1b906db0bbbf698eed40aa98f0da677426e01ad3203060640284caa2af263844bddc8d8bae0c7da607530e33883345c2ee2b26cd6a903f8aea964a15ce2ff22be121be942df099b810503fb7e906d3d912c873e38048200582002250a8d3e0beca5a210e28513b383dfdaba031209252ba1abb8c2f45982e37344012e3435038507f95e571f1c5a21e5eb4ad1ffba56544b6e854b304c0b603f58830685110b0219ffff03a9fe5356b92c4f2f75402dc5efdb22611131143ca8c0ed55b7fec4f3d65f286603bc768027381098e1aa78bd68ced7a5a19901967411e1f37861337cd1989dde930308860eb562c7d32cd98b4806d4a838c8fb728ecb760cee5c4e38396f08ca9da7037c09ec3fdbca73eba19660211c5e4f054c0855631c485c2cce9335cd3e272acd03900e5f5c1bbb1a833fdf50a4cdb694a76bfd9336a7e9f4b35523022c762e41ed0328c84670fbca73ea7a4a082e89242cb4a572c7ebb817170074df470fe56f619703a80c916a5497f6e34928087211b925696d3929e8a3d5b1c4344d1a85e0b69e8e032198b566d6dc30d6376c408249bdcfd9637d3486cca59986434bbf66378f082600582002de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090547a250d5630b4cf539739df2c5dacb4c659f2488d032f9b96255409c98217aa93e564f16b8826f00ecdfbeeb646d7bb75d1ad339e8603b3031686b66e62da21f1ae8918b9c6d56ebe9867730fe92e3ebd2c8a7f9e0cc6005820025905e5d91b29ae58ab1639725131b91ac3292e8ea575a2748b4812b4e41f6147018bf0371c2c5903e15aa9b31f0606afb3d8156a855e5677e54a94d43da4fecabb7815d6a0633d60036bb3a6401d2b8110a788fde6505ba6309f1bdf1629f1324799e32d627d616e6c014102035076d3d2724e2a05c0b79cb5d2b587f062af5dc4853edec5845cbd23ab3fa7c800582003206663ab66597cb8c43f3d5842f783638bf03eefb1da8e601574d37e747830470581b77f66e00000582003e3fdade540c47b00ad7d42b0eb73b082bbd06c915f74e4b0afa5d223837f3047011e4b76c252fa00582003865b01e3623aef98ed3b8e168ecd858969fe6677fa05fda65f424b5129d71046581d0f000e4100582003672453513140c71c3ec7e580e55beeef49b4fcd93598d330b62e50783af180472abfbcea99faf900582003209fce85f2387e995f88614873e4912fe3614ed7d6edafe01b3193a18b8370460c1c55657d43021985c0005820021540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af410503f7fbe063205d32427c30579f83642876def3afd2b894377ab22e23683488afca0219ffff03fdb2f8dbe707222b891f6ba7647c81ba2de38018a8ef28ecaf0787d39d111d3403aefd71484378f910465fe3052755e494e480812dd3580f67ee4c509bcf3e4c170058200219031e838b32c426f108a641482e188d703f0f5bbbf0a7688b21794bea4cc25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03366914fe7402daec0c4d451e3ee126bd192fc7c3e3b751244325b1e60fa466070058200239cd439f121dac378d210574545cc78c432dc31550c7ccde2748533d40ff6344265e2262031dd7ff23121c7d58df21c4046c6a49c2b18bd6908adc24e06b541ce5082c9a8f03fb3b03daf6042e4b3f9f650298559b349f3f6ed6438b1b585660a128f6a1dc3200582002496e4d7297e0f840d838f0719c8eb46740450f6270da99726357c7a43a983c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0387cd7a86e266db7bb2067f637b78b5f2aa32deccd17bc05e936a2ef6cb889b57033b7c4063ba7591ee0a39e17bf281c700e924bfefd9596f44b9f4cee75901c8b6005820024fbdc3ac2e3df30aee772dbed6092f873eb66696ee517bf1bcecb2fbb4ff3c5820ffffffffffffffffffffffffffffffffffffffffffffffffffff2530ef3c9f0b033892562f1ffc0e79c782f4c6a5eb12cb15f70872add76048eda5eb5df08db0720308b601d9cdaee90591f15e8f0b7eeb33a9f96010c85c6d05fa307b33265f1a970314f4f0fd94243f77bf37bc15d478ade52f50a74fcd6a277e733782a9b5a96fe2005820039e4ced25866b3c5e41c122849ae9bf3471bf5be80e27d1877e54a8e39e6a105820fffffffffffffffffffffffffffffffffffffffffffffffffffb655998199eb700582003d398d6239c8afd00fb18e63dd471952b090293e8aceb6b98de1874c7f1a6b0462fdd6181d2f40058200372b8338b562eca1dd7279d5f07142e395ab0720d40d6e241d72afae4c9b650468af2abc28b160218d00058200273001a5bee02924ce048678a9d4b655de5969942503dd9a34a040b3f644ed14703d530ec238af7037d1c4eb68a2e90cfef5490eaf572d4c4fbe4b3e206bed26a27ed7cd906ae51960219ffdf03257455b0469086c626d6f0400d29480f8c9f365a4e83c08d2195e797148eb6910392829198c5e270a756c8ba4498d4b90cff5a43120fdfd9743858830cb2fae0d00303d45eff9f42682de3668969d3d58310153b9cb93349cbc388c1e522b65bdc91034121557e2af943782bb05c7f667cfc5c1891b1729376bc7a7b390247ac96492a0058200212914631d52cc0febbc8823c5a8220c9a21e0af51039bb0c7ec01dc88a712944012e34360365cad8be14ebe6e005f53c982fa429f998c59cc6db45d16cdd0c35e399b2544303c2778431b33b3bede19824c87a1d113e13cccd4fd4e9b98fc69de9b2dca2ada903265a704ee1b4211db47d70f355439ffd25948b54b170537e8a3111de05c15dc700582002acae78e0fe171b7d0d1168ce676329146cb1e11586f9dad3d0d649a05e4bf4464035f815892e00582002f7504ecf3a0de04ff6df3ace726e18ec5a6d0c0f148d7d55a973a060f4e745466dfde0631b9b0058200256ca619e7c1eff29c8f1304e1d85e86187eabd3cdd5796d382b8541e0e24bc44012e343300582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd04201b203221cc7a6fa87d30414e9f1509d92d849662a96f26734c126aba3e4964ff6877a01410a005820034aa1ce9fdc12d538db10f82332d81a95772e2cfd4ef76aba162630ac3c6d405820ffffffffffffffffffffffffffffffffffffffffffffffffffff5b73a6e5e02700582003d03c7d82aa7241953d458d631c40d5253fe671a336906c75fa69246fdce0e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffac745826451a02191980030d4f1391475dad081bf604cdd83e461e24f26acfe274356bb687b8ebd5c29655037b996d3d81931c7f48b149f26bac11b515b23dc4a97538220c2368d6d8e9eecf03b5c7d42851596d007fadf8b31301f1e099798956505b6d60ad00fa4b14c9b2cc037d6cd29a70918eb5b02b46595ebe64d7ef4614b5cd03dffc4c360876884dcee70219feff036336f442763e83265b7062cc92d87f0c1f87738aa0139099f2cb6b831be6f620039134dafefdeaccf652f477e8bcd0a4f91e2f3156ab9b2fd1a7859c324abe490300582002c20db3f959450f741ba3ef20cfb24d16cae2ac1f1f90f7a0636c1a4debed6d4701fdba51dffa96039dcbe52cc885ce8cdf8eee3fd54bc70d14bd9b88c148251abd5fe8ebf0f09f430392783a56c4de1de6354e84436f796e5f9a037030bf404e9634040af083de3b7303580ccaae9b9c735c666bae0c0d19049bd6e9b8a6cc8fdb39dd26d0ee369712fe00582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80410500582003b25a6a9cf8d8c642adc8dd2ab93a86967be708f854f059cf110638072594705820fffffffffffffffffffffffffffffffffffffffffffffffffffe09347e8dff74005820030a55596ebd9f3fdb116c4264d608b2af816628d6224c3cbb8173c5ab0b318044012e343500582003bfa2c111124164089039b1eb1ff7fe379cd061d62e1ffb566ae8fa8597dd405820ffffffffffffffffffffffffffffffffffffffffffffffffffffc347b7f89fa3021984600304968147ddd214db1f19dc5ecf5e83716c60c0b5d17ecd22fe309d46d574c53703cb6dc1811dd11a8b27a8ae8683265e811019ad02e5af111ae3880d08484a03f000582002fa80cd85a4d732ac3163d3f32e62d965787158987a7101b078a3cfd0b084cb469eda25fff730034e5198a59bd9fc2a23c245f5f6699c8b3a561a36123f75900bc0c531bf30bc3003b477757b73f244c8b0c39ce5bea166eaf2bf148df7140de5f81ea16866e380de039616068f00f1d44ae45967d2cbabf9a9898dc639e3067d65e6a46344906ea050034011971aa62b633a531c695727fa8c692a7187d53ad8af0616bc0afd7d3a418100582003389a9561e9ffcf046a1652cd5c01c174469925e89428300cad875653a7e89046108bfa5e407c00582003d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec0570100014fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660b02184403c1636b3cbf1e37fce574f5bc47c24de7cba2bdb8f1a21a6f2e41aeed3a2c52ef0219ffff03b8925cf8c50fccf360910ae843b0b44cee4ab7eaf6a1a89b8a81a053807b4b5703ce24de7aacb728d438ad90cc00ad8ed8c3c560083cab19c8d2365d770696ebb1031186939e76fa5b43e71347832fc419c30674c2ede04a9d46c7c73e983f243eac031fa29a280f6fa02b6d0bee57c81ef144f9e639c05c2580084f008e95e1a6d240034bf37a98e952c0561385ec982e32bda3a94ca8739b787c5e596de29e3b1a2db403d817b0955fc8ea4cdebece578c49818d1d8e502373177b1f93c6cf363b9696fe031f2bd62f2f00c8cc6becfe71fbf3712411dac644960ea13313d16dbbbf6e64a2033aa07a34f57a7b14a90ee9de1ece5b751bb1f7353cc726f19506cea4ca8f18b2039c986882bd3741668f81a81476d21842cdde382b25f2baca82405cf587d70e30037e96d58e373d56e37003c356f7635ddaaa7d4e56f2f34458ec667f33a2c0099303b2e459c16bfdf16efb4d6e4fc9032fb8128db368f3720efe6da4222b00d54e540335e0d78811fa83b549d510865498cc460eca2a95800c554f2cf71c62a1e5ed2f034335b010ae272034d47e002563c167f3de7470d7dd82a4a7850834c4260c03e4005820037dd6eb4d641ec1d44c19e430bec0dd23e5e58f2be599cc8b316ae74bcf38105820ffffffffffffffffffffffffffffffffffffffffffffffffffff31e7ff7f3d3200582003966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704123005820037975c301132bbf6e020a379212eba432bf6560fe65766d638c3bcc243c1fb04649b4c4bafc02005820033185fabc38217e4634710db266b207250dfe969df5d2130e46069234a56c004701dfc0dc932cf9021980c802199fff0345c40afa684be0bd8dbad049f90ff7dd4c00fe9beef1ecb2291e179fb9cc13dd03cfcfe4e58998f8133049c961646417df57d839d7356740b0eb1263d0d050a1e103be2400afdc56fd48653c231ab8dc29fefd496a7d1fbdfa21d0f981eef7da3189038ebfa2d7ee6c69991c8d180e34b5f4b1777f92623146d3fbf83591be06d5113d032a5bdf557bf062f6b77732ed65ea93c5b80ace51dfeafafac7f569ca6d397bfe03e9db214ae3933c459daf61c9266736e9965e5711fd034a3266b98d42823571d103389a163a3d9b97d9f705b7e02421fe6feac9e068bc3a303ee7d24a7fe59fdce9005820032211b0ae7ca5920c14f1658fe62ef14d83454c71d6e21daeb2aed9203faf905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820032222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f055412a5a8444226757424297a7d16ffa40acb93f94000218210379849ace08bb8fa3b3e7d3832d75bf92b1bd9a1317cb8c9775a56daee8440c4e0058200278e4407bdaf57e0cba74af38c58720c02e249c3cd60c4c099b4221c83c46ac4624e153f5b1fa005820027fe42264939d94d0dc08e0e258744f0bc01416076bb44882467836fa6d01585820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03d3ddca332029b3fb4c9ad693b7a8321d61a68826757c131258a5178b6effc01f03530045d61eeff2f5b2b9ca40a08b25cb0e99240b5dc9d7a30e103cfa2b111d37033ea2b0e9102333c1910a24107f5cd12b9ffca5ec779eb693c05c2ec7957aa40103fa1c8b568be2bca61d6d4d04cc0f27321ad5ac6e092dadfc088c5168234bd16a0387c13dc687f0e79ba561eb553a9ed193dcd1fe627fd0ff2283215bf06dc4c6ee0219ff7f0219ffff05581e03378cb0c4994cc58a9bcd8e4bd8064923067bcd97f52e6e75e3842611c007011917fc033d20d3bee04ebbecf658cbe19b68cd00d29354f27ff62e636d93d3dafbbc145102197f320385558081cce36b998d546fdbf7814c28eee6728338ce923c7dd70381580d371a0370c453f427259f5d2224f63a9bd99b3752d4fe522236a5cad429df827252b88303879537ffb72241e607572a00032583f1dd3109c2a82b0153f00dfbba8f52ec2b0351454853043ef77794075256f9c73cc8adb43d604f532a4a3459c8b0c4f6287d03762a909098b76df8cc0752500301509bcd006e878eeca3fdbc4c6a6f26e16313034b87222ffdac15163f7c052c5ac47861e611443825fed92cb6f1fad6cb84952f038b9f458e66ddc629b539c33971919e1a95c31e70a55a61a4a0c9ffd1276cf8730374564e1926738bd9c29facd3cf32ea04ce8223f9d5f625d51e2037adc5c76b8303825adaa3d4c269a4fd335f19e8a3a930fef93513b8ef7d1d1a2b25c1b26a8c4903a89ec299173e383e89f566928b575ba18663c2775fe0d0ab03827402c1f383ef03f05c4ea9a3c73a2974e34bd6b1320759e7111698934c06b00651f9e37eb3883f03e27b5ed53e2e7ec1ce9047f33f0036021fee09f4ae1d8eee03e2588b270590bb0219ffff03e675888ff08f50c630a5023943646d3d1c161f0d7109ec12dd57c993b6e8445f03f42372b51a032c2464cf901bb52bdc4d71b9fe883f0ec0b869aa9e387b8c74f203495af9ca43728fdeeb2eff392d21bd9949342f5a331b5e6c603824872f9a0a9e0308eebd94d3d3fe8dbab143cecd02912ed4c6949549580c81762c8f60fb267f6a03d7ab61dc9d0ad33f423d773b20f9348c6d6f8de45451bbb86447abc90cf8ab8a038cbde9b440a9f485dcd1f25d3f63c5ed91ebb94db6b40cc4033561c4bc612dc803508333a96ce39918bbd89355bcd90acec561b00f3559e2343ccd955cc3ffa3bb039cf7e5366e72cd68f0ec2ebe6dab2e288408b364100baf3f3ec2001c73a5002b0219ffff03c5c577424167226cecc3845c15130024e42e3179d91cfa5013bf3a823ce971460347b52c07a9a38ecc633089f5b553bb121f1c278f4f3d7d9f64c728e3e3e9bba4038a982769c1ceb325d66069464bd90f3a70952479f2cff01866835653bfdd6b3d03137657762ea6e30b24136283f4def353cf3eab4cde75525f9d306e4d89a7390e0317a1acb1863ffc1e49b8d47eb42a2ea76b85e4ffca5d2754fccf6f6883b00b58034ce1f038ba274923dec642bf79ae6f33006f43ed337e9a5ee3615361673696280316c14754b1baf265246ce8f7cb2aacde9f71835a4bd2d6e3ee0d733b9c7db0bb03567562d4c59ff97a729c572f5bee860b951efee2b67094e32e3103cb8d7b229003ef41a5ace95f2ccef5a89455ac6dda09bd813c90ad6c615b39ed6319941812ad0325e99aa68daa10726cbd6067af2bf7b5e9524c8936e8419b3a6dd59289fbc8cc0308111add4075a207ad530b9d0f0b42a32e81b60a26862be516c32185c9d7ecd6033caa6d9afd7bfc9132d6448eba130bbffee2ee07019a24026fa8f0283c47f86f03762ceb54d4f4c1a4390eb285454cdf26038de58f51f3bb50b4da9b642f55f73c03db6aea606ba942e267bcad4a92273cded9121474e2cee5cc78e8da752e35a11d03dc1ba8221ef3c12fb63e6f4c075f0c2690f7e9d28a5dfc63e898a3708b7e7d550219ffff03ff25ea72f718a31d35abdbf3fe3f529659fab8c20aaec12188bef573d82ef3a0035b93e868b700d752865d11aa1068bb2a1b722979ef928e0da02e239dda4bc8f10379df07187e98f0f2a7fa137b22d993dd89d8d3edeea55a6cad140d088264df810317aa0471662d5096c90610a7665cef4306ef3b2c0a7de29e937f39f8ff9202970344a29ee083cec8776ab8d69b0483e3a8b39b3cc07c6b8f0677b98f62cac6685f03f629bf32e0a88893616d208f901082c7d6a2b72ae6b6a59294c492d187de662103a11d41cbd2a3ba4771b6a4773aaca1807d7c5f73ea71742c0b7c20ce01b5fbab031e67a536d9df078fb58e2b8ebbc65f642127981d9ccae39bc83a224792f9877a03903c196542be38f792ac875f610c0e50d92fc5dd73ea47f0be0e6c2b69b7737f03597140da1f550d077229c1760d617dfc5f577468913bbb78b0494ea906a8085b032429e0a7b8d96d8f50bd1677d987eec0dc1af4b8413612d3f7088ba94eda259603385a0f8c13dc2d429d874649d54eb239f185f4cff7fd2e9d4c964002d3a976770375d411576c429ead9912a647b813ea12a693986768a42187add5f57ae32074de03ed4549a40945e22c09cd6a5c7ba90ac6a15ecb29e65def3df9d6ffb07f73076d0219ffff0219ffff032e5d6c73efd9304aa21fbaa8ccdcede91625225e2f1d3fe88a3125a7a466f61d0388553627e5c52c776ac754df2194e0e93dca71d3db2903362852a17f6688c24c034e03f4ed69293a99a19aa45b7de904a2f12f59000113179669d6964e8157a3fc03922fa6614ec199efa1506d6664a2345438fd1cc54178e0b1d64529f12fae45080390d949d2730dbecacf2154cf727d74a5cbf67777c41466b85dad7a3fd583e9990326865b0dd79045bdf664832b466f3be30eb3385b2ea3502f773a492828a72e5803ed01b055043c85afcb9e4679d5d5f47c57cbf091413a78983994b99d7740564503fd9c93e462d82e10da65dd7f9957bfa9634dd63c3f0580ca3f1506c0308a3e6d0373cfce1c4f399a93e841ac2f6328182d667546b315c28565025cf56fed75f03d038abbde8aaa21d911b71c6be8c16ad39f94e5ef3880f2bf4fc43a1d357d678ed40344d82579e708c39068d4f8e52fca5c261625399335dfa97748c619f4bb45a43103d6093299f13c6d9d00cc08c4ea903739324d895edd8949a15ab0515473b64b3c03fbcd27553e56d94fe42b2a7bb02e035078acf809a3cbd139870d8f09ef00077703063395c3ca00b39a9a7385dcffb498d54431223fb88f1fbf9457a247800851e103f9d7e688d6290063a97025852821d8581d8885ccd94d4e5c873c1dd578a67805037131fc0383ad605143550d78b31217fbd5a78c79013635c6340bba34aeff09c703d84ba39ff6e6d7162539d15742bf366475a7017fab909acb568e2966af6ccd2a03ca9bedba41863ff70540e7a89ed5eebca8cc5d715ef45bb237379032c34c4638038c55d2fbccba96ecdcb8eededd7bd07ac269d29fc31a3060131f7ae084f9f97e0359e941664c53657d8aab3c80eb04c3e7828b453d7978037041ab7a9f63586d2e0396a16f23a797d660d8f3a4c94bddc24cb04d287ddcd4ea32ea73381ed0d8c5fc03f1e04e565562deca18675923b272991da7b6df6aa22b49b44370df052fd7abc6032d250932ff79139a4e11ccec180183c44893e46900b78dba09f2e9db34a2f340036c6f7a506b705841fde64d2953a89cf76947c82f564abcfc10f60ceee8515451034f5d1ed87445a6728ee1d1e10454052324871f7181ff1fb6dedd5f7838565463037ed094472862137d6f93b7c724b590007aac28d8a03dc57f277cc888e5c499d1031207815b8724fbebd84e275db707e9b44e47c267da45d4c8d2eafb54982c99dc035a14c99e6ae97e283ecd212831b5fe466fe92f310acb865da4da894115af0afb03d6d5eeea1e72cc5d81d6045d18e7f2912f5979b8a4724c3e5cb6c1bbea988b0603f33531467798b7788090d8110235625efcf33e45bfbb2783ce64f7412cba750f03ce71c3edbe186620a39b2c9427adcf647dd0c6eefc0ae0f25a1879f86be4de8a03cdd84fd36ff3c3052a6b2de8017dd05a571d815c0c37f2710322da8a0d51adc4035b886c7c31a01af81c3d9acba26396cf496686ab9c0334dc73ead5fc94719b940374e0f7f6115bdf47166cd51f67968e30f045a0d3a85a9cbb9f511f8e05c09536037aacf29e645c0213f44eb1deeba746964c0eba977d3f5888e856fe4cc8264665031076ba0aa98ac11158a2c2baa3277b63c21f99e9d0612abe228376bdf8c2ba2f05581e03c8cfd2a2195f31d0d5c3bdd473d8c3dfb34bc915c24ec04d84e84720600c014651dac207a00005581e030a89984a2e4d476ebff2ac1c2f2df274feb59b54c04285a805b598be500c0347016bcc41e9000005581e03e54a02bce1d9fa1028366a0e299a657ef87db82ba07bfa11d811514ad00c19012b481058bdcf28eec00005581e038426c4518ccd1f062c426b53cfe8fb82259a40f2268d750baea0742e300c0247acdff78c161e9e03de216ab95c2cebd2bd88a4d0a4d83f3bfbfb2da32d19d174469df0ebcad4faec03c3d732adae8d04ffd2faa32b25d577dfa119ef17440318f9933278515ef3761305581e03b953a07f730c3f005e8b9aabd7fdb5556b49eec8b53f79ccbb9c11e3500c1855466a4aaba9014005581e0346e04e6a2b4175284acf03d2a3e7dd302b581ccf48bb504650370b12a0040205581e037e82ce55a952139e79ad57761b3ab5de3d8245ca64336a7a8da980ebf00401031d7b302ffe0b9d2ff0be04ed6fa453ad6bc8ff44c13e855f98a4903b5f590e4902191f4f03b5efcba6536e0581474464b9620f573c4b581897fbc2bc97a89ae8273f4a22a403e37cfa9d1f7b3fab0c6c8b7bc52fc3d1ad330fc14f1357b89f39a95dc1411ec2034f8dd44eed80fef14b7d931b972ad914768f779e7a3747261a2a7b19c27bf27d03fb52e8346e660f781ed894c9b373c35e64553af4bb4544669310c2ecd13ac0f803010ef8ada87041671c047c58ad24eba26701e6db6b10ed3c7e299f97b1304cae037eab63904940c38b258e52e74449ba505cfad0aba7484dd755fce955012e1f47036de6500d66dbb90624b117f2b611f38de322276869166acb2390ae4198d54bc00219ffff037bcc955b2ffa142ae8b172e326f23073a2410d46b86587e73cb628e84d8d3ee103d035a37988ae72947074396c7fafbbd13ac13b648beabca615d35bc8cc3a1f430336dea29fc8eac50c7b4e9a51c7514a459eae82d5a99b156e5a59f2a00a99687e033b8cc47d316bf4a2b9c384858745b64a6a75f6ab7baa949b6cd8d8342dfa13d103cb0f4f4cbd1444ec264d8b1380ec16f997bd5861dc2ea2ff60dc1323110748560368fc753b01435a3a51f24e72db9379db9544af0077df886dbf1138d40b9d39fa03b87a3c261d5f213e5ff05aba3b503ea58c378d7936963f6d0511af86d839207e031c04ae51ea7f600c37d3888edf86378fd7eb9a4cc67897e85e82470d44d3914303dd35813900aed6ac3157ac2eb24d5405b5ab808d3175e527c1902d66b371325203389b582aa85c5c794824060be73f284f51735d468740e066b0b151c1b1cd000a03fb7f3aa6b11fea6ac8add987b5645e65ca8629335eaf598bedd5c24ad319355f0219ffff03c4107551bf1c4524fbed9ce1a945c1a6e7a74ed64b59bfd112d10c6d05c96702037f4f5c7a4c6e9a145dfee645bb3ae1798c52b3ec8142051e1cc1b6e89fb4add903a79900fab5a29745c74610582aa22379a91e0978f9b1fe286fcb7027cac83b0703bb4401992c3fa73ffab291ce57990e5dee011c3fb86ccb2e88a7abf297682a4a03e1ed6c3ac971958b2333e007f6fd083f50741081341c80738f90d628cbf66ad50219ffff03239c82e304613079bf7cf121825e20135110f7d707f8227f31a254cb94b05a3403eec90064d95c1ebc04fe5b66a735cacdb439b76f7eea2f3c688f7600c41d8b5c0219ffff035b6d5c074b857eaf08a0431677575b1e5233d272db815494fd1557d49c7ac46f03bb220cf68a9f842a25d11865e54545de02f8c61e6209d6398c6103ff356408120346c8bf16613bc50ec34bb6f096e317af043ce71838aeecf72e743c84da078977038fe8e160de7fdd70f751db2609943011d1ca5564e8ef8efbc14be5310b3ea2510329364d8ed0e799b029bf3deff096debea3ec406fedf6ba7059ae8f2780a51eee03935e07b6895190691a8ad3b053746bf2aaaf95e484339aac97f1c72b1f6fd6740364be292226434b839cb4bd388bee92b415ff12d336f1556570be56a0d2449d9203be3e695b0b9966c53d8ddb29b6f08402de9be1064d3561d9b2a998abeaf8b3c203d739e429ed1e072f8476b9e585941f18e80d2e816a99c947fccff0604d5d33c103b2b4b00dacb165faa92130ee87402d900f4037e4e6ab020338a83a257c64f84703600ee5db3a0014dfd1d7b122e866ada568cfe8e0b0fc6da767d79debcd7fa52103288252053b654352f856fb30ccd8d8c264de10cd478131dce9b8d13453a88077035a60fcaa0b588c5b7fb2a95c3606f7b814f9399a44bbdc2b41fd87c14633a25803eac01d934a8a35d7e737ee2f7d0078059f373aa877266a6acca2f2064779682d03dc3e8883b94e63b3657f079d97a9ab584a434030e7c6cb23cf4493da7768af5a03da057e3ccee99bd003c135a894e86f30b57fbf0e67aaff788a94e1e10411d953036bc7733b5f92f4d4772d8862412279e91c881e8a4c7b2d4806606b864905488d0317a9a7d0bc390435dac707520f7ca3866fa38a5dd95a230d190626ca9e84e7d205581e03a82e3876df42156252732c2b5cd04db40239feab766aa0c96e2e56b00004080459567e608060405234801561001057600080fd5b50600436106101ae5760003560e01c806370cf754a116100ee578063c45a015511610097578063ddca3f4311610071578063ddca3f4314610800578063f305839914610820578063f30dba9314610828578063f637731d146108aa576101ae565b8063c45a0155146107d1578063d0c93a7c146107d9578063d21220a7146107f8576101ae565b8063883bdbfd116100c8578063883bdbfd14610633578063a34123a71461073c578063a38807f214610776576101ae565b806370cf754a146105c65780638206a4d1146105ce57806385b66729146105f6576101ae565b80633850c7bd1161015b578063490e6cbc11610135578063490e6cbc146104705780634f1eb3d8146104fc578063514ea4bf1461054d5780635339c296146105a6576101ae565b80633850c7bd1461035b5780633c8a7d8d146103b45780634614131914610456576101ae565b80631ad8b03b1161018c5780631ad8b03b146102aa578063252c09d7146102e157806332148f6714610338576101ae565b80630dfe1681146101b3578063128acb08146101d75780631a68650214610286575b600080fd5b6101bb6108d0565b604080516001600160a01b039092168252519081900360200190f35b61026d600480360360a08110156101ed57600080fd5b6001600160a01b0382358116926020810135151592604082013592606083013516919081019060a08101608082013564010000000081111561022e57600080fd5b82018360208201111561024057600080fd5b8035906020019184600183028401116401000000008311171561026257600080fd5b5090925090506108f4565b6040805192835260208301919091528051918290030190f35b61028e6114ad565b604080516001600160801b039092168252519081900360200190f35b6102b26114bc565b60405180836001600160801b03168152602001826001600160801b031681526020019250505060405180910390f35b6102fe600480360360208110156102f757600080fd5b50356114d6565b6040805163ffffffff909516855260069390930b60208501526001600160a01b039091168383015215156060830152519081900360800190f35b6103596004803603602081101561034e57600080fd5b503561ffff1661151c565b005b610363611616565b604080516001600160a01b03909816885260029690960b602088015261ffff9485168787015292841660608701529216608085015260ff90911660a0840152151560c0830152519081900360e00190f35b61026d600480360360a08110156103ca57600080fd5b6001600160a01b03823516916020810135600290810b92604083013590910b916001600160801b036060820135169181019060a08101608082013564010000000081111561041757600080fd5b82018360208201111561042957600080fd5b8035906020019184600183028401116401000000008311171561044b57600080fd5b509092509050611666565b61045e611922565b60408051918252519081900360200190f35b6103596004803603608081101561048657600080fd5b6001600160a01b0382351691602081013591604082013591908101906080810160608201356401000000008111156104bd57600080fd5b8201836020820111156104cf57600080fd5b803590602001918460018302840111640100000000831117156104f157600080fd5b509092509050611928565b6102b2600480360360a081101561051257600080fd5b506001600160a01b03813516906020810135600290810b91604081013590910b906001600160801b0360608201358116916080013516611d83565b61056a6004803603602081101561056357600080fd5b5035611f9d565b604080516001600160801b0396871681526020810195909552848101939093529084166060840152909216608082015290519081900360a00190f35b61045e600480360360208110156105bc57600080fd5b503560010b611fda565b61028e611fec565b610359600480360360408110156105e457600080fd5b5060ff81358116916020013516612010565b6102b26004803603606081101561060c57600080fd5b506001600160a01b03813516906001600160801b036020820135811691604001351661220f565b6106a36004803603602081101561064957600080fd5b81019060208101813564010000000081111561066457600080fd5b82018360208201111561067657600080fd5b8035906020019184602083028401116401000000008311171561069857600080fd5b5090925090506124dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b5050505090500194505050505060405180910390f35b61026d6004803603606081101561075257600080fd5b508035600290810b91602081013590910b90604001356001600160801b0316612569565b6107a06004803603604081101561078c57600080fd5b508035600290810b9160200135900b6126e0565b6040805160069490940b84526001600160a01b03909216602084015263ffffffff1682820152519081900360600190f35b6101bb6128d7565b6107e16128fb565b6040805160029290920b8252519081900360200190f35b6101bb61291f565b610808612943565b6040805162ffffff9092168252519081900360200190f35b61045e612967565b6108486004803603602081101561083e57600080fd5b503560020b61296d565b604080516001600160801b039099168952600f9790970b602089015287870195909552606087019390935260069190910b60808601526001600160a01b031660a085015263ffffffff1660c0840152151560e083015251908190036101000190f35b610359600480360360208110156108c057600080fd5b50356001600160a01b03166129db565b7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4881565b6000806108ff612bf0565b85610936576040805162461bcd60e51b8152602060048201526002602482015261415360f01b604482015290519081900360640190fd5b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602083015261ffff600160b81b8204811693830193909352600160c81b810483166060830152600160d81b8104909216608082015260ff600160e81b8304811660a0830152600160f01b909204909116151560c082018190526109ef576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b87610a3a5780600001516001600160a01b0316866001600160a01b0316118015610a35575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038716105b610a6c565b80600001516001600160a01b0316866001600160a01b0316108015610a6c57506401000276a36001600160a01b038716115b610aa3576040805162461bcd60e51b815260206004820152600360248201526214d41360ea1b604482015290519081900360640190fd5b6000805460ff60f01b191681556040805160c08101909152808a610ad25760048460a0015160ff16901c610ae5565b60108460a0015160ff1681610ae357fe5b065b60ff1681526004546001600160801b03166020820152604001610b06612c27565b63ffffffff168152602001600060060b815260200160006001600160a01b031681526020016000151581525090506000808913905060006040518060e001604052808b81526020016000815260200185600001516001600160a01b03168152602001856020015160020b81526020018c610b8257600254610b86565b6001545b815260200160006001600160801b0316815260200184602001516001600160801b031681525090505b805115801590610bd55750886001600160a01b031681604001516001600160a01b031614155b15610f9f57610be261560e565b60408201516001600160a01b031681526060820151610c25906006907f000000000000000000000000000000000000000000000000000000000000000a8f612c2b565b15156040830152600290810b810b60208301819052620d89e719910b1215610c5657620d89e7196020820152610c75565b6020810151620d89e860029190910b1315610c7557620d89e860208201525b610c828160200151612d6d565b6001600160a01b031660608201526040820151610d13908d610cbc578b6001600160a01b031683606001516001600160a01b031611610cd6565b8b6001600160a01b031683606001516001600160a01b0316105b610ce4578260600151610ce6565b8b5b60c085015185517f00000000000000000000000000000000000000000000000000000000000001f461309f565b60c085015260a084015260808301526001600160a01b031660408301528215610d7557610d498160c00151826080015101613291565b825103825260a0810151610d6b90610d6090613291565b6020840151906132a7565b6020830152610db0565b610d828160a00151613291565b825101825260c08101516080820151610daa91610d9f9101613291565b6020840151906132c3565b60208301525b835160ff1615610df6576000846000015160ff168260c0015181610dd057fe5b60c0840180519290910491829003905260a0840180519091016001600160801b03169052505b60c08201516001600160801b031615610e3557610e298160c00151600160801b8460c001516001600160801b03166132d9565b60808301805190910190525b80606001516001600160a01b031682604001516001600160a01b03161415610f5e57806040015115610f35578360a00151610ebf57610e9d846040015160008760200151886040015188602001518a606001516008613389909695949392919063ffffffff16565b6001600160a01b03166080860152600690810b900b6060850152600160a08501525b6000610f0b82602001518e610ed657600154610edc565b84608001515b8f610eeb578560800151610eef565b6002545b608089015160608a015160408b0151600595949392919061351c565b90508c15610f17576000035b610f258360c00151826135ef565b6001600160801b031660c0840152505b8b610f44578060200151610f4d565b60018160200151035b600290810b900b6060830152610f99565b80600001516001600160a01b031682604001516001600160a01b031614610f9957610f8c82604001516136a5565b600290810b900b60608301525b50610baf565b836020015160020b816060015160020b1461107a57600080610fed86604001518660400151886020015188602001518a606001518b6080015160086139d1909695949392919063ffffffff16565b604085015160608601516000805461ffff60c81b1916600160c81b61ffff958616021761ffff60b81b1916600160b81b95909416949094029290921762ffffff60a01b1916600160a01b62ffffff60029490940b93909316929092029190911773ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116179055506110ac9050565b60408101516000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790555b8060c001516001600160801b031683602001516001600160801b0316146110f25760c0810151600480546001600160801b0319166001600160801b039092169190911790555b8a1561114257608081015160015560a08101516001600160801b03161561113d5760a0810151600380546001600160801b031981166001600160801b03918216909301169190911790555b611188565b608081015160025560a08101516001600160801b0316156111885760a0810151600380546001600160801b03808216600160801b92839004821690940116029190911790555b8115158b1515146111a157602081015181518b036111ae565b80600001518a0381602001515b90965094508a156112e75760008512156111f0576111f07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28d87600003613b86565b60006111fa613cd4565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561127e57600080fd5b505af1158015611292573d6000803e3d6000fd5b5050505061129e613cd4565b6112a88289613e0d565b11156112e1576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b50611411565b600086121561131e5761131e7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488d88600003613b86565b6000611328613e1d565b9050336001600160a01b031663fa461e3388888c8c6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156113ac57600080fd5b505af11580156113c0573d6000803e3d6000fd5b505050506113cc613e1d565b6113d68288613e0d565b111561140f576040805162461bcd60e51b815260206004820152600360248201526249494160e81b604482015290519081900360640190fd5b505b60408082015160c083015160608085015184518b8152602081018b90526001600160a01b03948516818701526001600160801b039093169183019190915260020b60808201529151908e169133917fc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca679181900360a00190a350506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b6004546001600160801b031681565b6003546001600160801b0380821691600160801b90041682565b60088161ffff81106114e757600080fd5b015463ffffffff81169150640100000000810460060b90600160581b81046001600160a01b031690600160f81b900460ff1684565b600054600160f01b900460ff16611560576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611575612bf0565b60008054600160d81b900461ffff169061159160088385613eb5565b6000805461ffff808416600160d81b810261ffff60d81b19909316929092179092559192508316146115fe576040805161ffff80851682528316602082015281517fac49e518f90a358f652e4400164f05a5d8f7e35e7747279bc3a93dbf584e125a929181900390910190a15b50506000805460ff60f01b1916600160f01b17905550565b6000546001600160a01b03811690600160a01b810460020b9061ffff600160b81b8204811691600160c81b8104821691600160d81b8204169060ff600160e81b8204811691600160f01b90041687565b600080548190600160f01b900460ff166116ad576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b191690556001600160801b0385166116cd57600080fd5b60008061171b60405180608001604052808c6001600160a01b031681526020018b60020b81526020018a60020b81526020016117118a6001600160801b0316613f58565b600f0b9052613f69565b9250925050819350809250600080600086111561173d5761173a613cd4565b91505b841561174e5761174b613e1d565b90505b336001600160a01b031663d348799787878b8b6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050600086111561183b576117f9613cd4565b6118038388613e0d565b111561183b576040805162461bcd60e51b815260206004820152600260248201526104d360f41b604482015290519081900360640190fd5b841561188b57611849613e1d565b6118538287613e0d565b111561188b576040805162461bcd60e51b81526020600482015260026024820152614d3160f01b604482015290519081900360640190fd5b8960020b8b60020b8d6001600160a01b03167f7a53080ba414158be7ec69b987b5fb7d07dee101fe85488f0853ae16239d0bde338d8b8b60405180856001600160a01b03168152602001846001600160801b0316815260200183815260200182815260200194505050505060405180910390a450506000805460ff60f01b1916600160f01b17905550919890975095505050505050565b60025481565b600054600160f01b900460ff1661196c576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19169055611981612bf0565b6004546001600160801b0316806119c3576040805162461bcd60e51b81526020600482015260016024820152601360fa1b604482015290519081900360640190fd5b60006119f8867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a2f867f00000000000000000000000000000000000000000000000000000000000001f462ffffff16620f42406141a9565b90506000611a3b613cd4565b90506000611a47613e1d565b90508815611a7a57611a7a7f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488b8b613b86565b8715611aab57611aab7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b8a613b86565b336001600160a01b031663e9cbafb085858a8a6040518563ffffffff1660e01b815260040180858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050506000611b4f613cd4565b90506000611b5b613e1d565b905081611b688588613e0d565b1115611ba0576040805162461bcd60e51b8152602060048201526002602482015261046360f41b604482015290519081900360640190fd5b80611bab8487613e0d565b1115611be3576040805162461bcd60e51b8152602060048201526002602482015261463160f01b604482015290519081900360640190fd5b8382038382038115611c725760008054600160e81b9004600f16908115611c16578160ff168481611c1057fe5b04611c19565b60005b90506001600160801b03811615611c4c57600380546001600160801b038082168401166001600160801b03199091161790555b611c66818503600160801b8d6001600160801b03166132d9565b60018054909101905550505b8015611cfd5760008054600160e81b900460041c600f16908115611ca2578160ff168381611c9c57fe5b04611ca5565b60005b90506001600160801b03811615611cd757600380546001600160801b03600160801b8083048216850182160291161790555b611cf1818403600160801b8d6001600160801b03166132d9565b60028054909101905550505b8d6001600160a01b0316336001600160a01b03167fbdbdb71d7860376ba52b25a5028beea23581364a40522f6bcfb86bb1f2dca6338f8f86866040518085815260200184815260200183815260200182815260200194505050505060405180910390a350506000805460ff60f01b1916600160f01b179055505050505050505050505050565b600080548190600160f01b900460ff16611dca576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b19168155611de460073389896141e3565b60038101549091506001600160801b0390811690861611611e055784611e14565b60038101546001600160801b03165b60038201549093506001600160801b03600160801b909104811690851611611e3c5783611e52565b6003810154600160801b90046001600160801b03165b91506001600160801b03831615611eb7576003810180546001600160801b031981166001600160801b03918216869003821617909155611eb7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48908a908616613b86565b6001600160801b03821615611f1d576003810180546001600160801b03600160801b808304821686900382160291811691909117909155611f1d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2908a908516613b86565b604080516001600160a01b038a1681526001600160801b0380861660208301528416818301529051600288810b92908a900b9133917f70935338e69775456a85ddef226c395fb668b63fa0115f5f20610b388e6ca9c0919081900360600190a4506000805460ff60f01b1916600160f01b17905590969095509350505050565b60076020526000908152604090208054600182015460028301546003909301546001600160801b0392831693919281811691600160801b90041685565b60066020526000908152604090205481565b7f0000000000000000000000000000000000005e8b2285f864419ac400be90719681565b600054600160f01b900460ff16612054576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156120c157600080fd5b505afa1580156120d5573d6000803e3d6000fd5b505050506040513d60208110156120eb57600080fd5b50516001600160a01b0316331461210157600080fd5b60ff82161580612124575060048260ff16101580156121245750600a8260ff1611155b801561214e575060ff8116158061214e575060048160ff161015801561214e5750600a8160ff1611155b61215757600080fd5b60008054610ff0600484901b16840160ff908116600160e81b9081027fffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff841617909355919004167f973d8d92bb299f4af6ce49b52a8adb85ae46b9f214c4c4fc06ac77401237b1336010826040805160ff9390920683168252600f600486901c16602083015286831682820152918516606082015290519081900360800190a150506000805460ff60f01b1916600160f01b17905550565b600080548190600160f01b900460ff16612256576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916905560408051638da5cb5b60e01b815290516001600160a01b037f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f9841691638da5cb5b916004808301926020929190829003018186803b1580156122c357600080fd5b505afa1580156122d7573d6000803e3d6000fd5b505050506040513d60208110156122ed57600080fd5b50516001600160a01b0316331461230357600080fd5b6003546001600160801b039081169085161161231f578361232c565b6003546001600160801b03165b6003549092506001600160801b03600160801b9091048116908416116123525782612366565b600354600160801b90046001600160801b03165b90506001600160801b038216156123e7576003546001600160801b038381169116141561239557600019909101905b600380546001600160801b031981166001600160801b039182168590038216179091556123e7907f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489087908516613b86565b6001600160801b0381161561246d576003546001600160801b03828116600160801b90920416141561241857600019015b600380546001600160801b03600160801b80830482168590038216029181169190911790915561246d907f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc29087908416613b86565b604080516001600160801b0380851682528316602082015281516001600160a01b0388169233927f596b573906218d3411850b26a6b437d6c4522fdb43d2d2386263f86d50b8b151929081900390910190a36000805460ff60f01b1916600160f01b1790559094909350915050565b6060806124e7612bf0565b61255e6124f2612c27565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092018290525054600454600896959450600160a01b820460020b935061ffff600160b81b8304811693506001600160801b0390911691600160c81b900416614247565b915091509250929050565b600080548190600160f01b900460ff166125b0576040805162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b604482015290519081900360640190fd5b6000805460ff60f01b1916815560408051608081018252338152600288810b602083015287900b918101919091528190819061260990606081016125fc6001600160801b038a16613f58565b600003600f0b9052613f69565b925092509250816000039450806000039350600085118061262a5750600084115b15612669576003830180546001600160801b038082168089018216600160801b93849004831689019092169092029091176001600160801b0319161790555b604080516001600160801b0388168152602081018790528082018690529051600289810b92908b900b9133917f0c396cd989a39f4459b5fa1aed6a9a8dcdbc45908acfd67e028cd568da98982c919081900360600190a450506000805460ff60f01b1916600160f01b179055509094909350915050565b60008060006126ed612bf0565b6126f785856143a1565b600285810b810b60009081526005602052604080822087840b90930b825281206003830154600681900b9367010000000000000082046001600160a01b0316928492600160d81b810463ffffffff169284929091600160f81b900460ff168061275f57600080fd5b6003820154600681900b985067010000000000000081046001600160a01b03169650600160d81b810463ffffffff169450600160f81b900460ff16806127a457600080fd5b50506040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b810b6020840181905261ffff600160b81b8404811695850195909552600160c81b830485166060850152600160d81b8304909416608084015260ff600160e81b8304811660a0850152600160f01b909204909116151560c08301529093508e810b91900b1215905061284d575093909403965090039350900390506128d0565b8a60020b816020015160020b12156128c1576000612869612c27565b602083015160408401516004546060860151939450600093849361289f936008938893879392916001600160801b031690613389565b9a9003989098039b5050949096039290920396509091030392506128d0915050565b50949093039650039350900390505b9250925092565b7f0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f98481565b7f000000000000000000000000000000000000000000000000000000000000000a81565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b7f00000000000000000000000000000000000000000000000000000000000001f481565b60015481565b60056020526000908152604090208054600182015460028301546003909301546001600160801b03831693600160801b909304600f0b9290600681900b9067010000000000000081046001600160a01b031690600160d81b810463ffffffff1690600160f81b900460ff1688565b6000546001600160a01b031615612a1e576040805162461bcd60e51b8152602060048201526002602482015261414960f01b604482015290519081900360640190fd5b6000612a29826136a5565b9050600080612a41612a39612c27565b60089061446a565b6040805160e0810182526001600160a01b038816808252600288810b6020808501829052600085870181905261ffff898116606088018190529089166080880181905260a08801839052600160c0909801979097528154600160f01b73ffffffffffffffffffffffffffffffffffffffff19909116871762ffffff60a01b1916600160a01b62ffffff9787900b9790971696909602959095177fffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffffff16600160c81b9091021761ffff60d81b1916600160d81b909602959095177fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1692909217909355835191825281019190915281519395509193507f98636036cb66a9c19a37435efc1e90142190214e8abeb821bdba3f2990dd4c9592918290030190a150505050565b60008082600281900b620d89e71981612b9957fe5b05029050600083600281900b620d89e881612bb057fe5b0502905060008460020b83830360020b81612bc757fe5b0560010190508062ffffff166001600160801b03801681612be457fe5b0493505050505b919050565b306001600160a01b037f00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56401614612c2557600080fd5b565b4290565b60008060008460020b8660020b81612c3f57fe5b05905060008660020b128015612c6657508460020b8660020b81612c5f57fe5b0760020b15155b15612c7057600019015b8315612ce557600080612c82836144b6565b600182810b810b600090815260208d9052604090205460ff83169190911b80016000190190811680151597509294509092509085612cc757888360ff16860302612cda565b88612cd1826144c8565b840360ff168603025b965050505050612d63565b600080612cf4836001016144b6565b91509150600060018260ff166001901b031990506000818b60008660010b60010b8152602001908152602001600020541690508060001415955085612d4657888360ff0360ff16866001010102612d5c565b8883612d5183614568565b0360ff168660010101025b9650505050505b5094509492505050565b60008060008360020b12612d84578260020b612d8c565b8260020b6000035b9050620d89e8811115612dca576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216612dde57600160801b612df0565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615612e24576ffff97272373d413259a46990580e213a0260801c5b6004821615612e43576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615612e62576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615612e81576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615612ea0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615612ebf576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615612ede576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615612efe576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615612f1e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615612f3e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615612f5e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615612f7e576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615612f9e576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615612fbe576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615612fde576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615612fff576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561301f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561303e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561305b576b048a170391f7dc42444e8fa20260801c5b60008460020b131561307657806000198161307257fe5b0490505b64010000000081061561308a57600161308d565b60005b60ff16602082901c0192505050919050565b60008080806001600160a01b03808916908a1610158187128015906131245760006130d88989620f42400362ffffff16620f42406132d9565b9050826130f1576130ec8c8c8c6001614652565b6130fe565b6130fe8b8d8c60016146cd565b955085811061310f578a965061311e565b61311b8c8b838661478a565b96505b5061316e565b8161313b576131368b8b8b60006146cd565b613148565b6131488a8c8b6000614652565b935083886000031061315c5789955061316e565b61316b8b8a8a600003856147d6565b95505b6001600160a01b038a81169087161482156131d15780801561318d5750815b6131a35761319e878d8c60016146cd565b6131a5565b855b95508080156131b2575081155b6131c8576131c3878d8c6000614652565b6131ca565b845b945061321b565b8080156131db5750815b6131f1576131ec8c888c6001614652565b6131f3565b855b9550808015613200575081155b613216576132118c888c60006146cd565b613218565b845b94505b8115801561322b57508860000385115b15613237578860000394505b81801561325657508a6001600160a01b0316876001600160a01b031614155b15613265578589039350613282565b61327f868962ffffff168a620f42400362ffffff166141a9565b93505b50505095509550955095915050565b6000600160ff1b82106132a357600080fd5b5090565b808203828113156000831215146132bd57600080fd5b92915050565b818101828112156000831215146132bd57600080fd5b600080806000198587098686029250828110908390030390508061330f576000841161330457600080fd5b508290049050613382565b80841161331b57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b60008063ffffffff8716613430576000898661ffff1661ffff81106133aa57fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff16151560608301529092508a161461341c57613419818a8988614822565b90505b806020015181604001519250925050613510565b8688036000806134458c8c858c8c8c8c6148d2565b91509150816000015163ffffffff168363ffffffff161415613477578160200151826040015194509450505050613510565b805163ffffffff8481169116141561349f578060200151816040015194509450505050613510565b8151815160208085015190840151918390039286039163ffffffff80841692908516910360060b816134cd57fe5b05028460200151018263ffffffff168263ffffffff1686604001518660400151036001600160a01b031602816134ff57fe5b048560400151019650965050505050505b97509795505050505050565b600295860b860b60009081526020979097526040909620600181018054909503909455938301805490920390915560038201805463ffffffff600160d81b6001600160a01b036701000000000000008085048216909603169094027fffffffffff0000000000000000000000000000000000000000ffffffffffffff90921691909117600681810b90960390950b66ffffffffffffff1666ffffffffffffff199095169490941782810485169095039093160263ffffffff60d81b1990931692909217905554600160801b9004600f0b90565b60008082600f0b121561365457826001600160801b03168260000384039150816001600160801b03161061364f576040805162461bcd60e51b81526020600482015260026024820152614c5360f01b604482015290519081900360640190fd5b6132bd565b826001600160801b03168284019150816001600160801b031610156132bd576040805162461bcd60e51b81526020600482015260026024820152614c4160f01b604482015290519081900360640190fd5b60006401000276a36001600160a01b038316108015906136e1575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b038316105b613716576040805162461bcd60e51b81526020600482015260016024820152602960f91b604482015290519081900360640190fd5b77ffffffffffffffffffffffffffffffffffffffff00000000602083901b166001600160801b03811160071b81811c67ffffffffffffffff811160061b90811c63ffffffff811160051b90811c61ffff811160041b90811c60ff8111600390811b91821c600f811160021b90811c918211600190811b92831c979088119617909417909217179091171717608081106137b757607f810383901c91506137c1565b80607f0383901b91505b908002607f81811c60ff83811c9190911c800280831c81831c1c800280841c81841c1c800280851c81851c1c800280861c81861c1c800280871c81871c1c800280881c81881c1c800280891c81891c1c8002808a1c818a1c1c8002808b1c818b1c1c8002808c1c818c1c1c8002808d1c818d1c1c8002808e1c9c81901c9c909c1c80029c8d901c9e9d607f198f0160401b60c09190911c678000000000000000161760c19b909b1c674000000000000000169a909a1760c29990991c672000000000000000169890981760c39790971c671000000000000000169690961760c49590951c670800000000000000169490941760c59390931c670400000000000000169290921760c69190911c670200000000000000161760c79190911c670100000000000000161760c89190911c6680000000000000161760c99190911c6640000000000000161760ca9190911c6620000000000000161760cb9190911c6610000000000000161760cc9190911c6608000000000000161760cd9190911c66040000000000001617693627a301d71055774c8581026f028f6481ab7f045a5af012a19d003aa9198101608090811d906fdb2df09e81959a81455e260799a0632f8301901d600281810b9083900b146139c257886001600160a01b03166139a682612d6d565b6001600160a01b031611156139bb57816139bd565b805b6139c4565b815b9998505050505050505050565b6000806000898961ffff1661ffff81106139e757fe5b60408051608081018252919092015463ffffffff8082168084526401000000008304600690810b810b900b6020850152600160581b83046001600160a01b031694840194909452600160f81b90910460ff161515606083015290925089161415613a575788859250925050613510565b8461ffff168461ffff16118015613a7857506001850361ffff168961ffff16145b15613a8557839150613a89565b8491505b8161ffff168960010161ffff1681613a9d57fe5b069250613aac81898989614822565b8a8461ffff1661ffff8110613abd57fe5b825191018054602084015160408501516060909501511515600160f81b027effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160a01b03909616600160581b027fff0000000000000000000000000000000000000000ffffffffffffffffffffff60069390930b66ffffffffffffff16640100000000026affffffffffffff000000001963ffffffff90971663ffffffff199095169490941795909516929092171692909217929092161790555097509795505050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b60208310613c025780518252601f199092019160209182019101613be3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c64576040519150601f19603f3d011682016040523d82523d6000602084013e613c69565b606091505b5091509150818015613c97575080511580613c975750808060200190516020811015613c9457600080fd5b50515b613ccd576040805162461bcd60e51b81526020600482015260026024820152612a2360f11b604482015290519081900360640190fd5b5050505050565b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb481693919290918291908083835b60208310613d6d5780518252601f199092019160209182019101613d4e565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613dcd576040519150601f19603f3d011682016040523d82523d6000602084013e613dd2565b606091505b5091509150818015613de657506020815110155b613def57600080fd5b808060200190516020811015613e0457600080fd5b50519250505090565b808201828110156132bd57600080fd5b604080513060248083019190915282518083039091018152604490910182526020810180516001600160e01b03166370a0823160e01b17815291518151600093849384936001600160a01b037f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216939192909182919080838360208310613d6d5780518252601f199092019160209182019101613d4e565b6000808361ffff1611613ef3576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b8261ffff168261ffff1611613f09575081613382565b825b8261ffff168161ffff161015613f4f576001858261ffff1661ffff8110613f2e57fe5b01805463ffffffff191663ffffffff92909216919091179055600101613f0b565b50909392505050565b80600f81900b8114612beb57600080fd5b6000806000613f76612bf0565b613f88846020015185604001516143a1565b6040805160e0810182526000546001600160a01b0381168252600160a01b8104600290810b810b900b602080840182905261ffff600160b81b8404811685870152600160c81b84048116606080870191909152600160d81b8504909116608086015260ff600160e81b8504811660a0870152600160f01b909404909316151560c08501528851908901519489015192890151939461402c9491939092909190614acf565b93508460600151600f0b6000146141a157846020015160020b816020015160020b12156140815761407a6140638660200151612d6d565b6140708760400151612d6d565b8760600151614c84565b92506141a1565b846040015160020b816020015160020b12156141775760045460408201516001600160801b03909116906140d3906140b7612c27565b60208501516060860151608087015160089493929187916139d1565b6000805461ffff60c81b1916600160c81b61ffff938416021761ffff60b81b1916600160b81b939092169290920217905581516040870151614123919061411990612d6d565b8860600151614c84565b93506141416141358760200151612d6d565b83516060890151614cc8565b92506141518187606001516135ef565b600480546001600160801b0319166001600160801b0392909216919091179055506141a1565b61419e6141878660200151612d6d565b6141948760400151612d6d565b8760600151614cc8565b91505b509193909250565b60006141b68484846132d9565b9050600082806141c257fe5b84860911156133825760001981106141d957600080fd5b6001019392505050565b6040805160609490941b6bffffffffffffffffffffffff1916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a90930181528251928201929092206000908152929052902090565b60608060008361ffff1611614287576040805162461bcd60e51b81526020600482015260016024820152604960f81b604482015290519081900360640190fd5b865167ffffffffffffffff8111801561429f57600080fd5b506040519080825280602002602001820160405280156142c9578160200160208202803683370190505b509150865167ffffffffffffffff811180156142e457600080fd5b5060405190808252806020026020018201604052801561430e578160200160208202803683370190505b50905060005b87518110156143945761433f8a8a8a848151811061432e57fe5b60200260200101518a8a8a8a613389565b84838151811061434b57fe5b6020026020010184848151811061435e57fe5b60200260200101826001600160a01b03166001600160a01b03168152508260060b60060b81525050508080600101915050614314565b5097509795505050505050565b8060020b8260020b126143e1576040805162461bcd60e51b8152602060048201526003602482015262544c5560e81b604482015290519081900360640190fd5b620d89e719600283900b1215614424576040805162461bcd60e51b8152602060048201526003602482015262544c4d60e81b604482015290519081900360640190fd5b620d89e8600282900b1315614466576040805162461bcd60e51b815260206004820152600360248201526254554d60e81b604482015290519081900360640190fd5b5050565b6040805160808101825263ffffffff9283168082526000602083018190529282019290925260016060909101819052835463ffffffff1916909117909116600160f81b17909155908190565b60020b600881901d9161010090910790565b60008082116144d657600080fd5b600160801b82106144e957608091821c91015b68010000000000000000821061450157604091821c91015b640100000000821061451557602091821c91015b62010000821061452757601091821c91015b610100821061453857600891821c91015b6010821061454857600491821c91015b6004821061455857600291821c91015b60028210612beb57600101919050565b600080821161457657600080fd5b5060ff6001600160801b0382161561459157607f1901614599565b608082901c91505b67ffffffffffffffff8216156145b257603f19016145ba565b604082901c91505b63ffffffff8216156145cf57601f19016145d7565b602082901c91505b61ffff8216156145ea57600f19016145f2565b601082901c91505b60ff821615614604576007190161460c565b600882901c91505b600f82161561461e5760031901614626565b600482901c91505b60038216156146385760011901614640565b600282901c91505b6001821615612beb5760001901919050565b6000836001600160a01b0316856001600160a01b03161115614672579293925b8161469f5761469a836001600160801b03168686036001600160a01b0316600160601b6132d9565b6146c2565b6146c2836001600160801b03168686036001600160a01b0316600160601b6141a9565b90505b949350505050565b6000836001600160a01b0316856001600160a01b031611156146ed579293925b7bffffffffffffffffffffffffffffffff000000000000000000000000606084901b166001600160a01b03868603811690871661472957600080fd5b8361475957866001600160a01b031661474c8383896001600160a01b03166132d9565b8161475357fe5b0461477f565b61477f6147708383896001600160a01b03166141a9565b886001600160a01b0316614cf7565b979650505050505050565b600080856001600160a01b0316116147a157600080fd5b6000846001600160801b0316116147b757600080fd5b816147c95761469a8585856001614d02565b6146c28585856001614de3565b600080856001600160a01b0316116147ed57600080fd5b6000846001600160801b03161161480357600080fd5b816148155761469a8585856000614de3565b6146c28585856000614d02565b61482a61564a565b600085600001518503905060405180608001604052808663ffffffff1681526020018263ffffffff168660020b0288602001510160060b81526020016000856001600160801b03161161487e576001614880565b845b6001600160801b031673ffffffff00000000000000000000000000000000608085901b16816148ab57fe5b048860400151016001600160a01b0316815260200160011515815250915050949350505050565b6148da61564a565b6148e261564a565b888561ffff1661ffff81106148f357fe5b60408051608081018252919092015463ffffffff81168083526401000000008204600690810b810b900b6020840152600160581b82046001600160a01b031693830193909352600160f81b900460ff1615156060820152925061495890899089614ed8565b15614990578663ffffffff16826000015163ffffffff16141561497a57613510565b8161498783898988614822565b91509150613510565b888361ffff168660010161ffff16816149a557fe5b0661ffff1661ffff81106149b557fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b90910416151560608201819052909250614a6c57604080516080810182528a5463ffffffff811682526401000000008104600690810b810b900b6020830152600160581b81046001600160a01b031692820192909252600160f81b90910460ff161515606082015291505b614a7b88836000015189614ed8565b614ab2576040805162461bcd60e51b815260206004820152600360248201526213d31160ea1b604482015290519081900360640190fd5b614abf8989898887614f9b565b9150915097509795505050505050565b6000614ade60078787876141e3565b60015460025491925090600080600f87900b15614c24576000614aff612c27565b6000805460045492935090918291614b499160089186918591600160a01b810460020b9161ffff600160b81b83048116926001600160801b0390921691600160c81b900416613389565b9092509050614b8360058d8b8d8b8b87898b60007f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b9450614bba60058c8b8d8b8b87898b60017f0000000000000000000000000000000000005e8b2285f864419ac400be90719661513b565b93508415614bee57614bee60068d7f000000000000000000000000000000000000000000000000000000000000000a615325565b8315614c2057614c2060068c7f000000000000000000000000000000000000000000000000000000000000000a615325565b5050505b600080614c3660058c8c8b8a8a61538b565b9092509050614c47878a8484615437565b600089600f0b1215614c75578315614c6457614c6460058c6155cc565b8215614c7557614c7560058b6155cc565b50505050505095945050505050565b60008082600f0b12614caa57614ca5614ca085858560016146cd565b613291565b6146c5565b614cbd614ca085858560000360006146cd565b600003949350505050565b60008082600f0b12614ce457614ca5614ca08585856001614652565b614cbd614ca08585856000036000614652565b808204910615150190565b60008115614d755760006001600160a01b03841115614d3857614d3384600160601b876001600160801b03166132d9565b614d50565b6001600160801b038516606085901b81614d4e57fe5b045b9050614d6d614d686001600160a01b03881683613e0d565b6155f8565b9150506146c5565b60006001600160a01b03841115614da357614d9e84600160601b876001600160801b03166141a9565b614dba565b614dba606085901b6001600160801b038716614cf7565b905080866001600160a01b031611614dd157600080fd5b6001600160a01b0386160390506146c5565b600082614df15750836146c5565b7bffffffffffffffffffffffffffffffff000000000000000000000000606085901b168215614e91576001600160a01b03861684810290858281614e3157fe5b041415614e6257818101828110614e6057614e5683896001600160a01b0316836141a9565b93505050506146c5565b505b614e8882614e83878a6001600160a01b03168681614e7c57fe5b0490613e0d565b614cf7565b925050506146c5565b6001600160a01b03861684810290858281614ea857fe5b04148015614eb557508082115b614ebe57600080fd5b808203614e56614d68846001600160a01b038b16846141a9565b60008363ffffffff168363ffffffff1611158015614f0257508363ffffffff168263ffffffff1611155b15614f1e578163ffffffff168363ffffffff1611159050613382565b60008463ffffffff168463ffffffff1611614f46578363ffffffff1664010000000001614f4e565b8363ffffffff165b64ffffffffff16905060008563ffffffff168463ffffffff1611614f7f578363ffffffff1664010000000001614f87565b8363ffffffff165b64ffffffffff169091111595945050505050565b614fa361564a565b614fab61564a565b60008361ffff168560010161ffff1681614fc157fe5b0661ffff169050600060018561ffff16830103905060005b506002818301048961ffff87168281614fee57fe5b0661ffff8110614ffa57fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b9091041615156060820181905290955061506557806001019250614fd9565b898661ffff16826001018161507657fe5b0661ffff811061508257fe5b60408051608081018252929091015463ffffffff811683526401000000008104600690810b810b900b60208401526001600160a01b03600160581b8204169183019190915260ff600160f81b909104161515606082015285519094506000906150ed908b908b614ed8565b905080801561510657506151068a8a8760000151614ed8565b15615111575061512e565b8061512157600182039250615128565b8160010193505b50614fd9565b5050509550959350505050565b60028a810b900b600090815260208c90526040812080546001600160801b031682615166828d6135ef565b9050846001600160801b0316816001600160801b031611156151b4576040805162461bcd60e51b81526020600482015260026024820152614c4f60f01b604482015290519081900360640190fd5b6001600160801b03828116159082161581141594501561528a578c60020b8e60020b1361525a57600183018b9055600283018a90556003830180547fffffffffff0000000000000000000000000000000000000000ffffffffffffff166701000000000000006001600160a01b038c16021766ffffffffffffff191666ffffffffffffff60068b900b161763ffffffff60d81b1916600160d81b63ffffffff8a16021790555b6003830180547effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16600160f81b1790555b82546001600160801b0319166001600160801b038216178355856152d35782546152ce906152c990600160801b9004600f90810b810b908f900b6132c3565b613f58565b6152f4565b82546152f4906152c990600160801b9004600f90810b810b908f900b6132a7565b8354600f9190910b6001600160801b03908116600160801b0291161790925550909c9b505050505050505050505050565b8060020b8260020b8161533457fe5b0760020b1561534257600080fd5b60008061535d8360020b8560020b8161535757fe5b056144b6565b600191820b820b60009081526020979097526040909620805460ff9097169190911b90951890945550505050565b600285810b80820b60009081526020899052604080822088850b850b83529082209193849391929184918291908a900b126153d1575050600182015460028301546153e4565b8360010154880391508360020154870390505b6000808b60020b8b60020b121561540657505060018301546002840154615419565b84600101548a0391508460020154890390505b92909803979097039b96909503949094039850939650505050505050565b6040805160a08101825285546001600160801b0390811682526001870154602083015260028701549282019290925260038601548083166060830152600160801b900490911660808201526000600f85900b6154d65781516001600160801b03166154ce576040805162461bcd60e51b815260206004820152600260248201526104e560f41b604482015290519081900360640190fd5b5080516154e5565b81516154e290866135ef565b90505b60006155098360200151860384600001516001600160801b0316600160801b6132d9565b9050600061552f8460400151860385600001516001600160801b0316600160801b6132d9565b905086600f0b6000146155565787546001600160801b0319166001600160801b0384161788555b60018801869055600288018590556001600160801b03821615158061558457506000816001600160801b0316115b156155c2576003880180546001600160801b031981166001600160801b039182168501821617808216600160801b9182900483168501909216021790555b5050505050505050565b600290810b810b6000908152602092909252604082208281556001810183905590810182905560030155565b806001600160a01b0381168114612beb57600080fd5b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915290565b6040805160808101825260008082526020820181905291810182905260608101919091529056fea164736f6c6343000706000a03a9409bae510ed64997f30991bd0b568895c0ed059f94b2a0c7fa157b6c54ba1c03c39458febf9d85729e05bd59cef4117b89d112c94079c576bb38be1061ee6868030db2dc2aa93eaf5b06fe9ca9029de720df7aca85805301f423e6090424177f680355770f6d3f490777fcd32e6b21ecffadf8acf0166533033b1117c026f30ca7f903caf6e82a98aa63ab2f062b02acb78a98a1301bd606cc19a70a5e3c43d1575ff203d00687cb6d0f43cdc3da0681e56f4cdbf11032df61900acb54a154639825bdcc03b4005a49eb0d447acbdc866bfaf6cf7236fc912bf2c00a133fbc6c9ae35f7764033505601faab00774dec9e01e33dc36bac7fb1932bf7163af088c7a343ebb101d03bc1b9dd3fb6a5a5881a43bff81c58599c70e780d75b55a0fae58b303acb3f47803016020132bff32488bf526671fd6be86925759d43706442c66bc51b69257d984039c837eaf4c67ffe3d80665cbbfc1c437a98b075d1ff34286ea647ac85f31f72503db5b0a176f2b806cf76b6d88965c28cb86c9dcf8c4d434f8a950a5b0116528d503a5358c6a5f79ae42b6210e2df4d430c489103760986acbf001a634b742e2af4803459b91438aeeead7737cb7bb4d139a66a2cb6b477f545012bc473242d6e34aa003bdf4876fe625534fc83cc47cb296acb2f657b20bf5708945ec4134b9864db09b0303345d57f975830c79f32e99db1b7bd1b05ae85a80734e488928a34e7a3082c303b511b279e462635396c5c2e08151c7b45118abd475f3616fa92699a68b1e035f03f6c4d262648234ffdcde2eda5c6a1df943089aaa2067b2d7bed9b47bb4f6b864031a9a97eadaa2e96c70a232aae5d6c14c0995a3a61d5584982f9990bc6f3e48a1033c07fcadb9bcfd84091216785d44a9c97328512bf42528561b379b6eb16b037003ec96c60024e2e95d8ff59c87520b35847622386e2fedfabb4191af98a838778f030b8de65ce98c3fbb4197b3b43a682eb13860aadbddf198afe2d4e5dc166163e9032a56f7a4fd1e71931d251128f2865d182cc8320fe3b00ef7aa2d330185e2b15b036ac56f130dd6914546e5e17e93bd5d03b406c303a5bf2ca66eeff2236f86a27a031c919f8c538e95edc972213c19f7256b183d2130c6ff4170ad3719c9d50007c503a809dbcfe4eea2000d66407a28837ca6dafe6549d52ef565ec99df4d707d0956035d907c4a82aec27bc4ea67013bfc763a8e7c47316b631fbd0f35f97d3ea1c0f20399c952c583a8538e9c332273b9390c53148080b5960da078471120784c783831033710c1b16a0099946a555bd128113ccf7e8a9c380905490842ac74efbe95a88903ff6e430266a49811c8ca1cea5911052aad1acc9ec30e658504686a3f0bbd584700581f028f0685396670ff72cccd173c115e4162d76b7899e3c426cf264f8a019e745820fffffffffffffffffffffffffffffffffffffc94584a2fc867910b23ee9a573203738762bf453e3604edd8bb1b92cb7844765757bf7ca6fddd100d15d2ef0ef5890397df86e2db01fce5b66e2a53d59c321a318caae06d6f4a7b8d4f1381cdbdfdd700581f028f709fab72b19b2c4f0d64da3b47381ddcf738d326ba3c9edaceff8cd26e520b8035d4fe9a8bf66b277a2f5218a9032cf900581f02949e8fe01ebc03bbc0eb2f200858aec6ebbce476409d3808c56ce0ee2fe5510288fc475f48be0582741bf76374f302d900581f023f9ee1b9263c14c142f34feadffd223bf4986ea01226ac408206b46a4dea5820fffffffffffffffffffffffffffffffffffff24f3f0d6960f3a14b49651b22ba00581f02d0f8a7374d603ac7b817e98139e55985288f7b18b30591228bc1a36efa6b51d018c6d3eebfbb724eb04e21bfa3f9492703066588d82452e7440b9e52f3df54cc05f9993b70309d4a980fb0061697651a0e03e3db0928f8c9660f594dc5f79e726842b4b9faa9da487e10642006631928089e03c4a1d95d42cea538ed53611045dac42053250cdf290906d1a3b69c9878847ed600581f03badbf71f64fbee1837c8443357f822a308ce7606f1ee812e188c6bb4d3304e8cd8cfe37585bfd2396525aa8b1400581f0313ee94b42df922917157cf6124f5b034f85f74dfed5525a3e1e1d4a6508051a57f50bbcbb640a2abec354b98206b96210219800403dcc8bc835b3f2c14a4df80126bc1d00ce17599a03e3358943c18b4fbdb4e73a40141090219b7df030a3f27749aa61f9e4562c2d66349f2ef48b443654121ca1d95394f9b62a9595103cbd6536e2787001dc3e647b7f604aeb036093e0aabad0eaf0667a68751a6a3130219ffff0219ffff031ef1d0fcad25b625e83b69a94c4f7eb6e5307defc19ee92585940dfe323f0608032fd3bb81f0a798f48c2132f1776434c8a5b034bd119dd4d84d92e07c1705f7a403fd765f02b08a207635ec4de326b415ec9101d572b9a3db6aa5972c4230e7fde403aed8d0bf34a9a9aa76912eca8a0b52f54a817d56dcb81a5f33e8e493a1e0243103b5d534d903858071ca23b2a144b5079d54f9955854d2ad6b4fec6fb5410898160334c5a3022c962d1a9af7a85d25f46fc1ff8b7e1d7c0b07ff30a2a88944b4dc5003a608c12b1054756ed8a6c45dea02df721263f183b7fca7b132468e76c345ec67031e769b33c503eb1469416457e0a38cec4d24de47223f1568cf5dced0e1370b3603af1656f0c8cab195473e3e26d78d4064e38c71bcb4ef91f8c3e0f10b11564bc300581f02a270d34a878c930c200816f97e27739de97d856508c62f1a70c0f0a87c0951688f5974132c86bc481ef98d07a14a5f8900581f0271f66e770122af4ae0917a75a1962bc3f3f49fd956b7a5f53e1863453893510709abc1a6a92c71b4e7efc399776848ab00581f023f38a9332cf604d720097fe85a95bde0c644e5f7fac7df870ff2deab889c4e553aefc416af25c8b4a3ede74b160379e19c3fa9583e916e40800a0ccefef0dc40897e9111288a2b736b680c960c6d0358f170543ffc5ea8f40b4ae819c9efa998c463c930e44008f7d1fe6d0b66d0020352b6d995882095f8cba2eaa59cfb69198787ebb942a8648ac796f6274e1345ac035d8a50a4fe8862abdf75e25419c8eac42d46b9f880ab1a057de5221d24e7c40300581f0207d2aed1c22e4caee8114f1030a54d68b5bb045decda87a967692d2ae8f65820fffffffffffffffffffffffffffffeed5add836963bbba34c25d5a88e6c6041800581f032ae9de3a703a4e67beb7417ca9d3e1c00ea360d1727270ebb63174542ed04e1710a1db042381984d4765a565050361dcfc1abce5d6cf760509ec06dbd3dec7993b11f938b577ee6ff55e37328b4800581f03f1ea8dcaf4e3082fb14f2f614c5cc395fee9ba77ad1cc0ef543d465cfb905820fffffffffffffffffffffffffffffffffffff901829fa4246ccb593074c2d79a00581f03cd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630581f010002d302d302aa02fcec00000000000045c7df8041e139325635ef4b0bd00219403803436af0c2f3433db1fce59d30c34721fdad29ccc950fc3b07cb47f654a74b4a94038bc7d5a1e3cdf2fd15cd26cbfecf79c5bdbb580787dc682d78417265731d132c0219f2f9037bff3319d045a2e30b4575a21a2ab6b64123e267c0369b2d116a928af97b218503b61360653831f8c03f18d4f3fce23dedc9a4c4e1328ca22608eeff50975b327f03b9a2e05f35836286c97299b21805e09b90b5c55fc17c35aa69bae7bbf08c781f0313d877437922945ea00abf5e98399d9690507215a518a66a72a51e0c53f8b7f2030f5d791c1282ed1b19337bfdfd9d9dc06086e93facac0d7d89b43df0b624cc80036ab69179cd1827f26168ba2637271265c3ef70578a82d3b8e9e3b03a6fa406e903b10db331e6d3a3474b010ff2229e0a33f4da26ca8c5670465b9aba1e334df84903f9e8bb56141f36cedd13216ed148f93a3070d6fdc36b169e4a87f14a889a9e3203cac01ece6cf9059a76c68750eba956b1432a3ff1efde27e553092ec425007ac903834fb3c9ec8beb36383d5ed9439eff1a7e4f2b6ae727e4c949e13fee01cc9ba60385443e6ff0f3f97187e5f9f41f42f634296ccc749e9fcedb6963e30711d7022a0399087c15a9af7b09a484593c689db576eb75396a92c68e12f5c99c0f5622677e0385899877ea0148bffd805af55438ff13a27339596fc7ae69e799c7f00e89fa600341b689d97e85b11a5c91571cbea96d0f2a5ae08e6a76e6453ed861ea25e79b6b03429488e06b2e859a7148f4229497bb0ef22655194231475a3e3a54c30a97a4460219ffff030c8e6528b775dc2a19b692b963553ad2fbe88dbd0612f7c82fb430cd759916050304d1f495a26259a75532f2997574ff6765400c3575b89a0b152fd34fd49d12eb0350cb3eb259f54874839a7313e27cdedaf1ef9e3a948a7946a4c308d44b5ef030038e9cb8eb024670cb50c2aabdfc39b4f8e87934d30d21409c55c648795d8642170302b08c944cc96e6903b06bece83724f8fafb463bad51c2ff049b9150665b625f03fd1608caa50e20e8aa4fb197e0dcf7c4f43e24910b636f9118a45196e2db74bf03edb7010bd41174754c8f3f41bf0750f2319e3377abc0e78c903bb6a3ef18b424030299ee32bb36d4b5a1c7ee2916b397826e22c7ce2f9dd2f4e7f1fac66871f474037c10008aecda11ae2688322bcdf057cb138ab2b0a4751c3ad0e6f7cb230608bf03d4c59cdddefa2e2df38c870a9e1367e75bd8a83dd1b5bb11b8fedb41a082460f03b66c1167576a8fcbae0ee344150e3682e7be051935c72f69f2bbe92e59d3f924036d6da17e2e9e8b392aa41f532404e564f40dac2174af9c675c897c54130db5fd036a89b3cbb4c90bd1b4892e3b1cf858acb68819b5ad6a028043bc07fed8da064d03bc9753120fbcbf2dc5f2be0cca687745071c9011fbfa2301315662af213ba3ce0374e556991e977b6c4c0bf5a66bef23ff40d0d0081b3f67aabf6b86c375cf8fd2030c5164bbd4f63d97461a2a390bf1a81e318777ba5ffe88fe1a460fefe0f6f14003f9bfa1225818d1c7fb0b87f16d13fab3b19da0245cb2e94bd14d55aac0089b8f03d0fd5a7a33637b19b5facd1590e10b8a4eeef8df393e8906d51141064916c2c500581f02de3ea156a256657977afdda3ce260dda02aa100ef127e64e1238171a200e5081dfa7de03a8ae4f86dd851f10943f0600581f0316a046199394ac214b95e44629cee22356a47f8b773f6a63c7e887fba1b057025c7774f466ec000000000000000000040119743984e200581f036f1a00d0564fb1469582048fca055cf89d83902c9086424d852045a1d830520b974a16e3ef32e40abd2c0df622473ed55b02190c00032021bf42ed60817004baf83216fea40eaa22e39d5c38bf67b151cbc6896967e203f4a06995ee11c2e72ff931bc67450f10db12d6b025588cdac11d0e86907537d103e7657221b054e9dc7ce980c4af9c7725156e716ca1ebba66e9f28a3e97857e2a0350aa7f1a9d1810b5c3a5159c75f36eda04557bf76a1cc0faf5507b8fddf46df000581f026d262cd811a30284b81232e9bf90882750e2f7d15621d1b2845454a40bd04e035ff198cdaed211943e6c4ac12703bf60dbd7cbb369583ca3c5bc5021e757d2bbc58302d593a80bfa6030176e53bb00581f028a798104329a85436c589204bdb85c62de3c8f5b26732a1dfd8e35ca70a04e10f49ba6f671a45838625b819c510389323ea2bed538707f96da1ecf4a0213d57ebd2c5064c2e7f4d50e32bed24e8e03b6675df11704690c9c8ae27f3edfa4751ccf200566caad681751f012c3aeafd700581f020bbac14460fc71bfe9fe4011cb6afde50947dd718d58cb5ea07ec442fe634e02b7ae1237079eedb07ce6a541200357f1e4b0235bf39f500c8f7cdc86272949e92cd64a74783d2cbef0376dc4994c0219fdff032cff2600796171f674444e883fdcc2699f8563a7b6e072a842d206e70fe1aa7703dd35804b97781fd3dec9701f7af8e8d8cb12d32b5fdf77d51a1f938c61e4e5d003f3758f35078bc721a3c5152d65823f0d5bc0c66106eab892fef9d41747718b150219ffff039e0ac21f9fa9b207d1126c4dc7d4db2eb0fb5d81145859d2dceca3ca745670220219ffff03bddbdbb6fa4c722e898472d01bcde3c448ee81465baa829a74b819f1a3c124f6036f7823f33dc31a8900cb26efe909b235878a7427941edd85becd101b7aac3c34034c5d8a4d6cef2a707054a4b189c138b6c99ad1ad2899dd08839169b4c14e03ea03a09f2cbb082e98dafbcb095356f3448402439e1be314179e743151fb6611a43603793a4a912393b8c5c1e3ba64115233b700239a6651a9a6eaaffb8abb26ccc6e5037e0a85faabccc107886233f00bcad8a7b99a5d4cf8d75d62ddba8587b1dc597a0350fbd47b370708c3eb0c36662cdc1b00563ec2848dbafb5f60d2dafe393add4303196fc24869b7404a73ef35a5a1e107a8511121cd328787f801dd1d70ee5f78cc00581f026f67741fb5c97fd4e6e38587aed89a4c5f99bee0295dfbcb0e7c15a7126b5820fffffffffffffffffffffffffffffef29b5a3f7d0e6bb297400b624e55488c1303a9f555ef0ffddb36d4a0abc960bc6cafa5cbfb6dcb801ea0d4252ee5cbc0245900581f02038109903912d00002891821f81f0a003742e7d185c60385589efd6527eb51bbd881ba23f711227efd1b4228521fcfce00581f030d8531f14ffa0edd1b45a359742384f2590e0f5b52314fc8a83c6fc5386051315636a20608c5d3ddfe83c952f198010000581f037fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0520f6f9f815473230c93883203defa73787d8c02190110034a61fd180e182b77c38735a82ef8c961455d08b6ed71f227bab71a02e91fbd2503cd55653f846e8ee798ee5c6e64940560e26bfa1b1d330986f296e14f504594a600581f024e822ad8405b6f4ecf0e8b15d647cb42e09803d2e97a698b7d9870fdc44c52033401fcc8a02ed0b99c7a0ae488497a1d0703a627bdf904d65b61931928965f7c96dfd0eb3d931f5b058806e208b46f67221000581f02810f14e8c3d6e05584679faf9ffd115180b163d5f56815227280ae2a67bf5820ffffffffffffffffffffffffffffffffffffff8b1c82d67baa165f845dd94ffe00581f0296b1232df14614e5c12968ea51a5d83ac39ac0e2000def3a7dfd1b98d383511d2d29a9f6f630d5c4d7617d82a289d7e6034f5034a4be179c1d3f7b9f98500cf9316a0de5f5ec59d19b4c0e9d557765d12f0219fbed031bcdde4711079fabce471db5c2950b9d418e838dc2515cd452795893a9a83df7035e388749675f518e68949f0f6b1c6f0ed8142c088272fd0f0381743e44c2edf8036dc85e7b6a71436eb70613d5df031131ffc301a80b46e18cc542b0b354d860d603f21ba55d0654baa912c07dea53a9dae4d09d3f53c7d25ac35a9f321b2b95f432036d9b4d4802c6262c2e570aa67e22ae432ec6c826a2806ac1277169693f7dc0c40336dcd5f921f2a83e85c7a06691a7a799499c2224228618a5ef3099d639e3c55903eb35ee7c17b1f53bc08d0a1da3f4a767619e25e0069327c61224ac70cdd2e8c3038a63dedf1bbeadd536ad901183f549c175b9101c09deb223ff76b8cc771132cb03a67cce624b7ae642159fde902398c1d4c3a576aa648c73971094716c69dd4be903a7254876156edbef4b4351c8361290ae780dacddc45c7711bb7c89fb1b8b5efe0219ffff03f063aff4ce3958bf5f6b4e02386a22be93021ee5d06c9e26bd426423971523bd03f363d1e223fb42ab1efe5b734435918135c3c0008e00f5361dff6e5dd340b9a003fd2787c70cc36406507f16879a56348854a53790611b297a7ccc8a52cb4d3def03ab32e9b68161e053b0a9aa8c2e44f56926d0eec6c9597ca415a432301e12ce8103b012b8db350b4d23dc2169726427c241d35de675516a277765b02eb65dc130bc03efb316b796cbdcc5e0e602366f128b41b42cf8e8889d36ace2d52fef2620f93f03b7a988e7735361934ea075822e45ea08658405e84d80258a3787617f24cb6aec03512b472b93b296ff2929c5e5f2205936c81755263f1d91a7ae88874af8edd966033b588697493eb4308a70f89e6e95c9a06719271ed3b481e16b9c11c3b966830403673760184fa27fb85240f0affbab7e5620322c9cec408374c6f8eb0479c531fa0386ead46ed6063d126127df53aaf73d9e893db5de64dd35e11b076afb7df8d51f03b214091ca9fc2fa282dd7ed4d2e281340b708235a16d28806c8aa66aa9f295cd0360336e10433369ad6eaae5df02bab1c22e16409f23cba3cc5e6c883f7b01c8e603af145b9e9a63f8a5c6eb69be3897a2e34ec7479186c698f384fe60102a5a9c4803babbf1a8708ab914140052debcc23202b130acd103a5b312d87416f812eb61880219ffff0361a931b7a37936ee3ab97f1092df4ce983d1be53469eb1d8555f7e0a714e29bd03e802e767c9432d810f42871bff6ec8a065b814e1767d089c046fe4b3c132fc8a0341b1c6ff9e3c292ee3e6222e9134afd81e48931e7188105cf89779c9fcc7696f0353cb073b344d7de6c2c16a01b2a9454f7665a93b68b7a89b049a447bb94b94fb035c22b188fd0cbda44eb98b93648d1bee115045fbb7b14a9a97b6fef5c8d651060313a1a0364af6cd7dd8b38a0a9d0b326568b6051da6b52d1f4913f3f1f4f3c87803ef9a336a59066a4711d67d7a7560051b90d6f4461eb60a3083440c54ddb8956103d7d07b8d990691565c98e60dd3a2dd1d34c83f8a923258fbfff0fe3b36c347e9036554ac39eb32410fdbd96235a15484cbf9ab5cfd1fafddfad0df095261f2aed103ab3ad6cd7789795a0ae3235bcea8d84c6becacbca69e2a82c60779ba6bff475603c15bdabd61fbb63a543452d10953e014b46a633e733c11f97005504bbe5a97110338c4b4ef22fe3014b17c0010e5747680a22b069c9998f94fc577ef8271eaf05e00581f02ba1cf2c48b5a9399a62a63b2116a7c133d0438b5df93e94796943ecd1f7d4e05a1b4816f4353e63449a6025bd400581f0247bf785e9d779515b449783a1a33cf271d11ed14ec1b706f4eef86ae23da5206627b038d4541453768ac9af2cd58435cc703ab43c1190b83f416c6861c57a56ae231952dccf71ed2ffbcf2ec7e39024fef2a00581f0243360222720d8eeabef21c0606cf97bd83cf3c088d4a3d204e51fb6008035820fffffffffffffffffffffffffffffffffffff3938f4be20ddf2fcd54181d821e03ba74d5308dff5f5c64b3ec3d11f46892290c42e42faa88cb74d3f72d1c6c433d03fefad8ae05efdf123e7abef1bfd6fda44bc6f290448bee9a665f6ce640918d8800581f03f1262cf1e4601e1bf98804a053ebd8835d7debb65f979f9bcbf3eb7762604e019650f7ac0fab2b04f6ab6d019800581f035117417fe47c3d02a96753d77ad7889bc91398ad48f31c2e9ef1c975c1d05820010000000000000001ec37f6fdbb55510269284dc500112c786d3c936637523f0219880000581f02563383614c87da8c03f1ff71f7c99ba90044075b850c9836200b3f0328fd5820fffffffffffffffffffffffffffffffffffff8c579131a2e5fa790b2d52f59b803af8d275d7a7e2f042a567fa8df1944623b2aaafae0d7fe8a27b6eab0e6a318260375144daa5dd6b59b7809e62e7d94bc3f172523dcd3823ef9c5892456da33ee02021935df03bd920536bea62a2cbbd3606a9667d6d383e20dfef30652f093ce94216d969776033c1746a75b512594ee06420facc1920ab04af68da89861b960ca917e3191f2560392a1b569bbaada052c9ca9b5768ff13bd739f8091e91c7324e889543cae42c6a034a7a9b5a822ef78def5bc5c3469e92301a2e9ef42a89b48661f0cf6f5c5fe922037c286434ac9d7d57ebfe9fb6ca613b9358a811a3ee37f6a46bb56d91232fa7780322ef4e738a1a9aceb513d1bedcdc272d0c7fc2d9fb40dc5f5b09989ebc5119dc038882de9b6f4a91c84f44067f08d90cdecf8200eb49d1ccae38c441fe955490850219ffff034f2b5a61a17d576d5dfe0c2da646a2e2eab6b39dd3c93dbfb5889bb5abd9ed17036b69fd77250901874972c2e61ed5fe6a8e97ed45db12fe2bc02f1525df3d3b6e03b7acbe0a836d3042cabf60ab4d5ab772b00e81df58e535d907cd077ca82aeecd032c41e58b702a6b9702e5876f9c7e1e58691926f2d7861a76f8536b571489a3a303a41d24c23a0a2f6882ef34ed091a04a4448113b5ad0b77d1011b46feb8fde15e03e72b201a505a5d5e3e1e91e6613f509a46ef2e3d52f12886d1f2a5f9ca27445c03f1abcd9fc69d3004bb705231d43ffdd0b29567bcf846c0515aac64af6747475203babd39e2140f4eacfbfeef6f804d475cdb76a1abfeb76c0e231c7c120a24644103235742662168dfe94544a76c7dbbc9fa89c80e602dbdddbdc3d5c5c65e599c25031529daa320cbfabe683a42d45f90616a8c6cbe1cb77c436f0f1662b511540a5503d0eb17fda48489bd22b68deaa159cc070e602abe29fee71b1c78af7f246d314c03804e965352bd418bc709856cc1591d3ca673a0ad45ee91fd682154a52cb33d220356bffa2615752bff5bf3c3375308ee50525e4220cc477e5c0536889ebf3c89b60219ffff03d34e8e3ce4792ce730e5ea446ddd68b7c3da4a669ccb48f4f2c0f8cc15499d0b037fd1f7100c7a13ecc7ae5479425b40d178f3e2ba96991ba49b5b52ddd8df30a40394e5d71141713bdeebe3bb4465a4976cefd7ff3af1061a2f53bfa67ddd0d5f47039b8b4481f83006607eb987af29e90753240aab38eeb708ed38cca6522fa3ddb0034fff37801bd1ffb8292bb216aeedaf8c4a8fe2e913670eabfece7f6d5e0ab9cc03ab380126b6c4d2aed83093cc4c291b01e1e48c4293a7fe2416a1344a3ff6e30200581f02ef777138e4cba411dc9a767ac7a3203ddd92591952e807b18685d870205f4e02d9433ef737541ab79e5f09b7e80353652b0797cedd0dcc286078eeaa19d6447bfac2782e13ac614e1c578ea499a100581f02b0b15ad32f4a3347914b2c46395feb3521463d0beddd02b85aa680ae331f4e12892552db462a920e445d1dc14200581f02d5c9f25a67df122fb5586efdc297d289427d89ff95b50a4c8a9eb37ccbdc510336bafc106b09e08f8da10d9bc686ef4d0386ed514a9930a23b0a420c99b5bd8f8cb8d50ec1165caf11eac3f57a22e57ceb00581f0262c29930c0510253905f46e9c81e80f03e10438f5af5055c401ec034da214ddbd10e6168f1b6a7fd06347f150373a4367d619814b17e0bf359b43e8dd84d2340e0036e999988828b3f332b399b03db125e419c22f4a92f5eb12c08b376ce9c1eb5025d72ecd996ac2bb15fa94f1800581f02cbfe3fb6d0a18c485d6970cd873d21dd443ff3fd069a95a75bc4a5910d434e029cd2a67410084125629de490c500581f02ff334b747aaf899e44d0c71f6bbb85e4fc46c637662e1e1034a00d93bf855820fffffffffffffffffffffffffffffc428fb20bd91d7a0534a159c31eaca7342500581f036c5e2313860013aa316ef141a1d2cad49ca101920cd8c14019f4c0340f205820fffffffffffffffffffffffffffffffffffffc828dab6d53225f2b7615e1d4f000581f036ea11320a3dc190c8b2deba80987707c0bf2e141ebf5528c6be2ff3a7e905820010000000000000001ec3943b29363d2e50baddce200112eb38626776638116700581f03544f515c5b75294603bc55cbe838349aff0b71fcba6350c77372c8f76470570385e6d07bcaa50000000000000000000000000018ae6302195010030a771f999059b03f62dccbe48e146f40d829355f0fad65afdd83a1bfabdf12510219f5fa0323418dc7fe1d61a02500f275034bda9c1d335ff352279b36f2a331fc147b33f40306e269dc49cfb476748636461693cfa00595f68063a156f4d01be09b4336e1db035b90798dde1ba9b27a5960832a75acfd6f22ba4b0349e930cc9572112b1f7c8b0337fc15ad2a9a75a54632b561bf3a8ec2530532930b46cb7b50154c0183164adc03fb6e231b16c7d3676d5c1937b2b7296194784711a6e43deaa87b54e13a4ac28a030b6194b36cbcb072bbc494cfe5b3b13fdc95a415d6dd2558341802c70869bf6303277521c48520205eab2f78e6a5062e682dfc45ca2f6ed805ca7f8077593b321403fdb5241c2df70824f252fc5985f3f134ed46e4b9bc4a350863428dee99a3999003b213fd19e871e82201ab6fcdc6ab269d168ea0a9276f7726563095787b7b8d6103d6528d094a639af9f6d1238c43c1be250c0cfbf2525d42193a4634020c7f6fab03edc4aa4fa43c1f2d5cc30a00694c52770ddaf5a157c0f7744628a0da5a1b910003e9641262ec2df4c7f411214b8ccd79cb61889dd6df133395859e8fa17c9a2d7a033b97b334b1fe00f37446650ad70f792643a24472e559e385e663a8063958731903a5f6a77270b71c00f62be49b3e4549ff59459302a24632ce66b5db5ea9c0fa0e0219ffff030799b44fb99efb9f4a8e750497262f6b78ae46385607e3886c046a2bffdea62403a3a79bd47f849815e0d1dc39a4139e9659331405d7029288bbb45449429ddbf40361662c50a90f6878bfe85ad62f1fe480026d7a8868e0028adb539f6170912e4703a78d4aaeed34e9c2d2a2f0cdaf29d0722deefccc834c38a2448b573fcd1fe5b80378b5a699ee6b52d115b79f0a0fecf912aba09795095e57d92be804820eeb225003c40a66aada0600991db53827e14be1d86aa979159ea39eb0cff9586cb4f2a3ea0393cd7ae831ac7fd1b2f24aa7391ae85d2feb6854e7bd82aa1df31228f7e31f600317bad6feadcdf436edc80fa3cc2a011bb4cd402b22855c248b547a7380e7189400581f021cbd3f4ff6b2e1ffdc9724674a9dbd7424f3307c61703c94c0f4aa8277f94e0595e10268dc42533fdfb1e31a3500581f02304180e4199135efbe7733fed16c32a46c6fc22b64bd08e6915d78f7997d4e0177bd23edfc737f455439d9adc00342a7d642d810faf29a87b8571f29e5fbe02afd2eaaa977267ed90d6b57947e4c03e94470e6364aa93956f48eaf977686657b0d3c541367c1fb8c4ddc3fcbfbc1bb00581f03cfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0489339152819261ec400581f03e2898c2da6141ef1728d6a6d3c435e4437a98398c1be7a27025ec8c0ce004d0ef3077d434c0b6377b8c4cf480219148000581f023ae9a21ea4d07d15120a8a6f81b993753a000cef837befbb7c68a148311b5820fffffffffffffffffffffffffffff7ec2a7e9cc6fe18fa4f653882291d4108f50396576604990d6331227986c73ee2b9e2897cc478fffc06a6ff26357cf9c84bdb03de7d0f3505fd7f78967b4cdab85ff93e50cc03020d16de4b463cb361a31f826b00581f023c0c993e7c49514d47779dd63c54669ea03f430c64f9b05e50d712bab3c45820ffffffffffffffffffffffffffffffffffffffa06f4a6417f9d31db0bb8f022f00581f02b043595506c12c0e78b27989e21617b71e63b7e3a55d2f5e472c10973ba05820fffffffffffffffffffffffffffffe24bbc04bfe0c60f8493c54a5dc197e17e50399bf7948bcbfada507c1baf5ec90a15c2d2d4dd58465b2d6f0c32b87e616a905035fbad3d94611fb9aa471cc1231276dc2ecbb572be679fee8c1066e91e8a84d6300581f0234b85b242cefc5dac60a1dd953b1881f44db9e4e8ab3150f0799b32b44b25101013be52bbd8522223bd05058d2c72e0900581f020774babe33ae54966706c76740c86f170435a4f1ec938b624dacd13d408a519649e7be9f42bb8878c04107149b0bfdfa0219f7ed03548eda36e44db26b1e3238b12daeb8a4f0600d4232d304ec38e96ab4874267fd03a513dee84e9fb22c126b74255a2ed981c5cb8b884bef707c0ae05e85c1c21ae503982fe9565483650de8f25e27a38f3e38ff99e4aee463925fde9fe5b94471fc2f039ddd2851a2aea90207ce339258021d954a6be615b388404a2e9f65deff7b7d6403f68d303b2fce068fad597904008c9fc70f0b3da9cfabffe0514355bd5e39c12d0368c44e2ea0a92c46c55708ce3d7c5a1b8670063fe5ad9936814ad9146e619504031e9d4b2f9a139c988905a579e6b35f95b24adf367091895739bc7e13acfab0cb031585757b8290d68b4a3e4b96926c207bc68b6c9dd35e9509fa8c286827b66cf60341d86af9cb9e55d85aeda4708ea5c72c7f1fcf70ccda606d88dfcfdd8a1ea9b8034fc89f555826f3f706cfc024d1068a7192f270be3b78518f79d17aa9061c816c03afa118e9175f2ea6c0c364a6f3a3104fce6ea304215af310d60a9b42aa25ff3f03a0c5ebf6c1d2aae7be3bb1f6bcb008c6d7f64592a2c6f3c64c42f53aed3484b30219ffff03f016351b6ad2e63e8aa51d6b52cfb7ffe023946b6990246905756c0e8dfe695603fb0b06c89cdd39b9c293e4f3eebdfa1a676e7059c303394f22779e9a16c81c7303fff60c7dbd4a77cc8b102a998e1190e6070c04bf03555e9ac61047addfb912a203354435d5eef754960fc4d357ebfcede84bb5cda68214ff7505d2506a06dedc560302b4c77ec92ee579dbfd86019bd9144d4f10110a21b3710ba827f90fea3105d703e80bf5d52315608b107d0123c44c005df917ed88c90950c44dd5fab505395fe703b809f65a75f4950b06c787b0eeae070674a397e052fd462e74dc8a5e8c42c51503f1c38a32b3cece8af2f9cb1cf01727950ad3e911a6c8acf1b854d5e62918c07c03a32de4f2ed74ab765ccc1780c36bc3ece58b8bbdc905ac3a3373e075e117c21603607abcf39cb8cd947ec2fb48f97253ec7ecaeee3f1c8f7a5a45e675ddad38ae803d6ec675bf99209a102ca5522e16d237ad2bf52e050a9093cb8af37cea8c2e6c003d7ae3dcb194974fdab42cd858821a34bd9eec472c5f1872629fd7d26819004e303da670fbe7d1dab388abeefd34e032151b475af94605f76bdc8df338cd678a81300581f0207a4ec6c5c28665131640ffa84926e0ace27570afab248f8c15cbf229e2d5820fffffffffffffffffffffffffffffe1e75d0947fb4ae306f5147ea67b38d8ced0394ee3e003a9c41ce77dedae2bd6fc0c2083858ffa708e35254452ff5f28d6e48036b7b63f9817f31dbee9a852759a41fdc69a9cfa779f98b192e29f869910d8e97038bfa43912476b04701a4e6603d5dd3be092f21ef342b2183eec4c957ad3ee9c100581f0214a316424a65ee1cc2cac6333a589c5b71cf1291b2c85025eb39a2c97b435820ffffffffffffffffffffffffffffffd54c4f7c8432c054b6516447d540bdfbc900581f02e4f5b8634c00c4b684f425f427f4e3105a7a435b85d690dd96c0715f6bb54d67534969d3bfb3150614cf9cde00581f0283ca3d3ef68e03615301483f3a5e619a56c87af63e1023d6216767bc27115820fffffffffffffffffffffffffffffffffffff359389c60a0d9b8dea3c0283d1600581f0258dfd7ff564a85b62fa11d867992f07ecdc8dccabed021e37861f06a43515820fffffffffffffffffffffffffffffdcd1958864d507ba10aaef5d30cdb0ce413031183a65dbc16b4382ab825641a88b929b180c6edc48ef44a55c012df51456a4700581f023be2e1951dbadd3468fb5d5c8407f62ab18103c8e7ec6a116524bd3f9a6c5820fffffffffffffffffffffffffffffce5aa83186accce08eb5985d3ae04b419ee03aaff3b175d1f92adc3ccb5287e4e32b458247c6e27829140fecc2aca04bc17f3032a56fd8149de2f94fdcfc5b65030def24546087711b0a6ebf4766956a94ef81c0320ccdf63b359569ebcfd0a59782c1881c69ecd306b23dc5668d65ebbb393f8c403edac7c8bd2777987e9be58b52bdce1551549aa51fe7f250f42f1a172f9899fa000581f0337fbe85ffccd90a955153fa2054d1f2d72999fc3a961f8ca21187f4fb9905204a8adf2ef2b2c164194aed35d087542fcf900581f034507d586979bec0bfe77864feb7a81fe1b84f1a7a44c9f02d95f6c28bf105820fffffffffffffffffffffffffffffdf042caf79f0ac44ac5ee44be8aafa0629100581e02748c526dc96145113197d472bfddfc33edc8a4959e57156030b2d1a3095820beffeebdbf659f7fefffdf6fa7feffadfaffe7af7fffccd7e9ffffdf7fafffbf00581e02cb6b5095bfed1797135c69be933c8c53931683aadb1ba383cf68ab5daf5820ffffffffffffffffffffffffffffffdfcca261af7b4896be032dfcfaf36c232002191010021906010219fffd03f407bb6136d2f62e49990649a8471f608a5f817fa31fcd504d328289dd803a8e03df32b99224cc97b3fb2aea035e4d7724691dabdff95f29a291dcad836701a98203e412f925034482068b876168680802aecd703cc71c84e3bdce7c86c2840b1718038cdea0e04338c6941957967f90d8afb63d1828b7e60b494312812c09cc097551030b7ff3754ce97c18083c6f8d260715c9ed98f8713e485211be5de882e286db750219ffff036622b32c1c7bfb9e348f41df6fd7047e6bb1feebbd129a01a643c7d0c0389d7e0219ffff035b5b02f9d161fe3ee95333c7f1861820efd97ad1fa8f9368850246ac666dbe8003d3521564268f7b75f68c8dc7cb151ec165836fba4350ec72556142550f388a97030036defdac4d5c34380c10461a7810a139ac78ad1891e6e7bf79085a06604e690339c7b76f6973a9fcabbe74d51ad4daa7183ca137c51f6fb31b2cf8a52ff7093c00581f02793934b943f755112caa96686980b1b7337280b94ea845017e7f87c22df651035a7fda787c083959f00d8d7e409ebdca03d8d15ae27ae5b0d60d6f6fe881be28b64add0c95f2212438618bd5af9397dee500581f0269434dbf0ea894eb6acec7c1074c347fe29250ec4c79a70c425721c43b594e25556937a72285bdddac770b9b0100581f02c8f6eb03b481be333f71428d9cf4004530417ce14258b4c6e8dbe640d8bf4e0d9f7a5752c42facfed022170a8c00581f02e6e7d4503cbffa8f3d16d0a3eb7caecdd9df9b4b4fe5c5dda6d031db25a6515e88a1aec6bfe66d2a5dfdacb7f243736303805f160280ddf3c14e59550b03ce33ceed0e8b9e74df82df12839a2d9614373900581f0274db522868fe88399bc0ed269c760feb5b366b4ac78327d04a1f9d73debe4e2aaa7c407ec6105b8a0a67cbee230324581c9e98379ff626b4af4d704566686b53892d56f723bae06dbce11b9dd23500581f03d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf604e8e9b1766756a8b5a48ba91cf5e7d00581f03764f3cfcfb28d82879fc2defdf54ba5690a340a31265f2f71981be4128f051255f75f62e721bd80569b9fe11c347a3f50219040400581f025139c16086ef4d952c094dd5dd000a98da680e0ed19bf0ede11d7b9aa49b5204d235bff6faa9a0d8ac3250876ad6c770420219dabb031dcbae02c6dfba872583b86368c87fa128b4109e2a197d889d6a30359c3ef783033878b08b3c77a06be5e6d90b938c4a07e3c2ec60f17c4434756cbb6edebaf3de03b0214625fb38f75eaba1d738ec33b81072da34d89cb5f2078543189c95074cff0375c2e3b31ba99c9fb932fbfcbc4a03a375f8ad61ec67e7fd56d49493691f6a1f03ab4c49cf53ce9005707730d712a145ac1a15d4646266ad7138dfb81833956b0003f12d7916b256738a6d160bc371cafbb38f18f28f036b2280e1007ca20f890148035f4755e2408b9fc216358271820c3cb43744c03243aa34b4151f229a6bd633c1034bf30e96bf389eac5b8f5ff136ec5d63fb8ea00e63b272de492b90e5803a328803ce19b478bfa4330d964d45476675269a70ea43cf800055801c445a6192602be6030f78d6d32a4c5b43b165ea8f5ae5830a9a892d129f8dca861f4a85f670fde61c035c6a51741eb0eeddf765af8c454469500c641727b91ce5672c5e0d4ace4265b30357d486179db04db6c087951bb86591b5186243146db894c63cad891cdd10263103d84f76124bde619e8bd743263620204f21470bb6001ba8e4d4e4f2f821b67ad2036e4e381a6e73204a879b9182779c180389e0e40ca3e8d0f7d94b746990b37266034b3d40183aafd90d8bfb8bc09799de7751434407ea04b5ed56ea7baf1f97fba50219ffff03cd2d68e1e192fd651e02f4abd2829c73cfb56989aca5d2109c553d6363aaddbe0378b3c88c367c4233347b0003397a00cbb8718d3a3bb39def7e270aff422efefe0382709d6782d4ef58145dc819ef652a7619ba64f411f9a49eec724a70e35cfe5c03842d54f693b8db764364e9f82c23f45e63a167b595695177aa3ffe08d08f36d7033d4086743081ffe13040f9f9c7db1ed9988ac538eacf37ada140088fb1f997bf036499fa197c1cbb6237531b358961c6151da46b4979c6030f69474a392f3a1e350309b6b14e4923364af8a3fbe2a1d4e9bdbd878c8c0165f7dbd899a80f04248df30347f7edd3b2fec7bdea7c9f572a6e42227837deb0efa7977dda7654f285d894d7039c322c25678921b00ca301c2018e000d2d2e0ae5e4e9d999e7866c0ae26881e9034f934c45b030d717419cb22dbe67ef34a0e2f6eee5cff64dd0845434fae1d7930381bdaf7599575f5915af94c48735411f3420ed964d769e6775affc79e87d5eed030044db15fbce1522c2f4b352461af28a026ecfc7b66c903844ef45cb45813b370368ae27a731d32e240ca272bebabee45e87e33bdf2106a5c6208cce8453a39a5003e519440a1829520acaef3fbfb22c2b2d207c403484d33671a4fe660f48df461c03cff891a8ea3c5bb3421ca14767af282294b4c228779b98bd987fddb2ece7b53403c88b5acc568ffe7d69497f5472afb14e95e847dfe8192aded618daa3c7cb896b0379168edfacbfb1924967b5bb7e306f113f539999eee8ce7af7f5eb59a0363db30392cae48520e6e6fa121c250b499605cf105c06538e275864dffad417690a438000581f0214dadb570a06706cc5010f8ac94e7038cd9b30706cdcabe6208f3b395c6a5820fffffffffffffffffffffffffffffffffffffa1ebeea7f998b0536c053389fa400581f03697f8b1b12e4ca9f5b7298ba1ba7141e1c9bc369eebaaffece9e21fd3c205201726554ad73e901814ae21c01f89aff720d00581f037f5a3d3d997b75eac0379536f1dcc1fffead67291b8d1453cf4447431d60520f4ccae30241069d02d884a9a85fb79bbde602190a00033518bedc6752407385b842305a3a90171584b762b7445d12883036a35ca1586a00581f02d5d1a3791354a10e552903043182f1c2aee4990924314f82f9e29f5260d35820fffffffffffffffffffffffffffffd3615f9271b42da9ba2f067b801826b772303ba21a0935fe09dde5196814362189923103d79620a472563e99eed84b4e1c86d00581f02c6c8c829d617accfb2f90c577868f888cc22bb24c73f5694f64399ea620d51898b3b1550b725d86d326b665cd7f063560387bf7e89e6222b309a84d2287c8da959144c233b8785a5e9623b2c4fa553cef400581f02d1b181357214db009b6653e915340148aec6c22b29bc267feb3dc93e50084e01e478f9b489ba2d76552a89bdcc00581f02899a325a081876398e448fc2e66f6921979b47bf2764becd447a3a6ea6754e01f068f0e874da0dca8c34745dff00581f0226710f052e8fce6ef67dc970a1d192aeccc36780956ba2fbe2b96073bb4a5820ffffffffffffffffffffffffffffffffffffffa7b7fbc3d880e9243ee46056e200581f027edd22f8053c5c4afdbacafb159fdaa7e0a9bf5557809d147aaf66949ae15197e98108a7da7dbf8d9c381b1544697c0f00581f028f9140c1b174b70cdb64920f4a54b1fb1001d6333ef05e11b3b71ef8be975177408f683f7f0b5b64e9a2d04dc85713dc0219ffb80219ffff0345ab3faaad38d306750825b5e805172baf459e014a4fe994bcb1aa1f6c99bfaf0328e74b2cb9dbe673a321ef13f29b12f926748b5e4f4c758057f03891b6efde6d03df7693d023e91975fc426f6abe9b27fcaeba063b717fe8371f5003932d5927dc0311bfdd78e1f560c56b0d8e934723f49b850798ce35c679842beac79755eddfdb0338fb0047df31fb05b2392b28cbaa62f3527f5e1b4e7d71065db7d9a3ceb7870903568accc8bf1e792955e97acf721b488cec3f8972721e1b08281a39ee55dfb56b03da879bc234efb8a2d2961e4f2bd4e7bbcc0a21dcae53c35f68010776ea5bc5c00335e60b28208395f45b33541b9159b8748d307b73803b284fc446829fac17082603ab8ada123035407c04d110fe99ea4343d067ed50ad7ff2e42b24571f6c964e5303670d49780e64f569e8caacf9b97cbd6cf45c56f68f93150d3c548e24c5b67e330219ffff030076db5bb84287a030521c9cb155070ef968c63f1a3009b5d7a4b88ba8346bac032badb1e26ca12b416e29c53d311d2aa5b65ba3f26c71aba6d9be430f1bd7ddd0037e81688edfd5949734a228e86f138b676cd748f019d107a08bb5af600b8dee2503cfd1a539be7216a1a71542467b95fc7a778513b2931d280e745e179e15ebf88303c6871c757f5478306c34effc8351dda2bc93f29cda5bedac4161efb26926cf0a0321366c2a24cbeb90f7039629749b21100e107de01714d95c74ab271a780be7fd0351de48abc2bd81e5dec45089430855a3cb2092fd1797e53519c655c5a40c170b03bbfda65193e744e411d2b9dc7574340c551eb0db5d7e5d6d436f177f18a8bcbf032a78197e76090df39924d55d0db2a747babcf2b6d989feb8dfb5b0a7801d3c6203ac8e1a7499292e45e5c13b062e552b2470766bce5b0dd986aed4f89af22998a003224ace33c0c31a8b9b1f1b9f78bd9ef1ddc50653619204e08f1471a8e676067703623a0e3b4f6e0ea70edce595bd4813c4c800ecfe9333704a27e700345156fd67035a0c11e2f3e5a2716749d92c13626e99f2ad7c5278c98ed4bcea6f02107139cb032090335f7c2b3fa666740c200ef6dd7c274853674062e819ab2862f712b1b63e00581f034d75319c3142c743a371d62c035089d18a717d2a91d0f0f7a58ee1306ae058200166293e970000000000000001ec1876588714887120dbf84200110257f29edb00581f036c8ffba777432a6aa34b94b2cb4a55bacfd8a15149ef3cfdef22ffa3cf005820fffffffffffffffffffffffffffffffffffff99b221da204ccaa829889bcfa7900581f03a68eb6cd8a5f2da94248c19c00debb68ace29f3b59b67b3e2eef8cf686c05820fffffffffffffffffffffffffffffffffffff87aa8b77a990d269887a71e151b0219102103267348baa530bc6bc8d02fe6b109dd01f7d3a26e1905d63a0546acdb5bf48c2b036807f0f629317bf7e506b3ea0a2d209eda206667bdc965d87064e376275bad4a0308d4de54ec1e4306a7e96cb8ae9511f51906bacef6181a4a4ef38a5718d755340312e8d8b1913d3123fd979e248447f2001d375d45c51acd5ebe59bf37803ef6ce0386a0ad911b1226bd97e5029408161d884f9ee9624ee628575746a3823e1b32bb00581f025330bc944dec7f2d1e9dddc7b5bcd05a1ae664a5c600c1c5c5928e81b9844e0dac1632e9f680f869c39a00708600581f026470392e4a1ca535314f3b20da7d7c2272baab98098daefa7cbc704cae6851010000000000000000000000000000000003a0b04bb4759d50a72438a22761453925e333421be4e178ba3dfac66cfbde223700581f02ca7c58b81b20d4c7f46cb9d81e6a02abe34c351bab2beabcbfe1680d55425820fffffffffffffffffffffffffffffff9838efd23fafd8e27be5ed0f7d70840fd00581f02510616274517d748501d8da95e114c05e79278a162f66da660af8c0cb9cc4e0189b267f1c2937ab6d788f298bb0219ff62039ac5a5bd910fa7b92f63e2c463c4cedd7f1b9acc8fb3fc8966337fe918234d3803bb42fc228886f9f96d7462292e5894f60ffcfcbaa191bd768cd5c4b7dd97f6b603225546ca1cbdb6494a84b03eff6f9c487366dfcdd43344587ccd2f0db23c052d03daba5e85c10eeda0936fa9b03c7187a99d403b8b21dfa02c04e8b225fdf134270219ffff0303fa9bfd6108a3bf9e00414f8454b8b68221fc0a257ab7c3860838ab00c3c954033b58a986e8019d1c41620eab7af609350ba4c9e6b563f1bb320c6252cf7258e103006e584da2248aaae606270024fc7134eaf59d5c99f62d4d1513658b5a6c4d3f032b4c61670f51a7bae8ca99c74729dbd2130e6251cd689bad152679bf4167fa3d03422ec39d1082a760f6253bd0333f4397085cf2005bf901c258ab58e48fd94ad203f9f9bfa06a1b6fbfe0b7b6eb26dfc4595a87f43d5b0fca5b7442a6d60453b7c8031ab48ccb520018517b9996f0d861cc266cda66fe2d58bbaac4c48708d685e1bd03ca9223f1e0934602de1d3b37bcbdc9dc75064fc1c92d42d4969ce25a59ee811703b1a7662391b87d9f32a893d7ca10b051ead8fcbdf86ee23010252e6482a236a90325da3b809ec95688084f6761e8871c10ad104545ea2be8cc873f0139405afc60036753e5d793bcd4fb3ef4710f6ee05e1b31b629a59a2e23fd7cc8cf9944c6fa5703bf07a20c910225784ad0f78ff79b8c17bf6602e4b38ec3b5ae940627df8f2d420219ffff03d3414f8aaa4b9c3d86852475d480d0c9c099706cbaf29e3d7c959e4a60dc0c3103504f5df128857c099124f8eadfc732af3c35a6d2738e72a0b380fc77626a83d10374adfcf7025fa87617675543d0fea5364ab79f3d9563fcfe320d66dfd2e45e790219ffff05581e033e8ac06c4bfdb2157482e7a0a264c20bfd39bd733cb3bf258faf72c4b0070119567e05581e035cc3326b15d4214027feba1d57c66e93819dfb9230fb9164794fa0d730040703b118731ad716c6e8af4d155f5c808fb6dc606d84914e7538713b1fc0f91df89805581e03f8426f382a41d09c9d0763379a4a28c2fdbbf448ec3b2323e29e14c5400404033d060472145459f111fdcd47ad128a07a8a4be7d018e0c07f2ef0e1a4c2e89620365f2b060d60d8738e0ee34086ad609cdcb0b23e62c3a0c3d79a9b1ea4b1f4403031f667e6a796099f0d6530a3cdc55500b1f711c4910315aadd09fe9bf32d3d69e05581e031b791e75585ef506d27454c49c394e3f3315e93e149a124a53714d486007011bffffffffffffffff05581e039313397e5cec9598415ccd0f40eab2419de3d1f535ddb7b6610157d0c00c034701cd36bf697c0005581e033ab6fcfe51a9a320ba7905f5943c4c6588b5357d4b7f421ae4cd1e04d00c014501e7561a3802199e0f03964704a77d5cb79c17e67dddabeb1f5650211c6a52002d3248abe0b73c5d89940306f1c94536a974578ea76a27be59a23096e8214ea6448414ac2ece42ea55b12d03a00f6c683040fb9265e447aeb527f9895e8c19a90c2bb7adc5f9b79eb6ef49b10331b400b291891b46aac642b8eb6e19eb945dbd1bb97972c4b14154f78eb67a410365f20207c74a0bce0639d2e7fd13d7927bbb363498bba3cfcda603328627d8f703f23468e936cd596fe67c77ed959e5ce51d4accd939701c0f11cf72e9d49f80830319b0b13ce1942e30f8dd93611b7ad8747815834a092f794bc195514435c9c28103ec205affeef476cffb983a9f99f000fdb042ea6912abffdfb87c4ccc46a95ec103d34a847509e2932e76d90760e9dfc07defe5a093c42c584d322ff311742a41d1031e0dd35265090eadbe34edf5b581c88327cbeb22970f7fb505e9f6fff7a3173a030aa4908aaf795d8a4e75d59dd391657625191cafd87347f2e8addcb53c070f5503121e0517b36d4de39c2b540147815c86fd8cb506ca545e0fa5d3c638ac2bcc2203bb5899c0b5af9775cc10ab2ccf4183bfebbe120d85e20563eb4cb1b2b1c5649c0219ffff037d747532b09dbc1d26a112e3f99a986e71af8e0f4f06f451e4301f0e596aad1703b2179bac83c6f4558c5be896f9d46c002ff8bf7fc009cd690bf7c7ee2aca680a0332273f787883130a022c726a15ba779c2bf47923705fe0b91e1fe5985ce8a6fd039bc6bdd022a2378235f2f96c0c0e80fca056ae5b94a26ede18e6e076bf1720a003744ae8dfeb2c1cccd638b330cf3703513f92cb30ccdc6ff59d3633e48af6715e03524c1c63bcd263a6c8c4bf9ed55974d539749241203e3e58face7cfa16fa82c003e9eee9366290cc4bc8c10c63ef5050e775867103dc1a9c4596e77bff5819b0250219ffff0370fc4eef9937c57ca7adbccf8e75fc181111ceddf2a57b44d9f6b6205d30ff0f03ce0be5123257f25a6c1c71fa4df6a9afcaf9bfbcdd8e47f86ba091fded474696032d8b691c289d8b6cace2ed3aa1d845c5dea587425d1565536613ab1cf2d5cd86034aff47c494c87fc7f45915a29dcdd05fe4a3dee2cc2258b602f478b34cba0b4903f656b53314ab90d53449d29bb1c5230e71611e321882f52826216fd746b8af5503f2614619186390a175e432805686245dd53094972a50299371204a859868a85103f97eb79b750113976f136e87d5294c7bf584678378ac5c596c4a0d79d90e605903dfbfc80491434888169793da5ba612f3ad8b8f4c9ef935f4a3bb36f5c3aca7fc032e7fba818766e6d7f783407ba91a8ca33e2bbc0be23d9b7572b3505199f785c003de46b3c49eaa8f5eb6fae0de18c2dc26a0761b670a09a93786243c239a8582f20219ffff0330f942ef493c6a65d920955a7bd4bbcbe1f5d195c6cc8f7972868150182adf90034754ff019e25a4625fe4b087a2dfccb92dcf96efafe75b9ba30a692fe46abcc00305c983605f0eed0bcb49940363535320a298d99182ee900444fd5f97779bc30703335c6eb59060aa6ac3b669181d3d567c249d1670f0e0d88b92dd6a68f81d1e3d03dd6a7b012af3bf0130abce97eac7862674ebbbba1106ff84b548044689f5ba79032540d804232339db0176313ea5b5c412336213a40be8e19e26720e592ef6492a039b0e5e69662c65e3693881d0fab830ba6317b0e395d0b55674b37e4c58e4abd50356adfeb34885c8d67b99f7d9ca4ca223ca621e56503425c331c9903a476dcdb30308f7d5052ea42f71e30a9672de03bacaedc1f0f8930df659697d69ce47e969f4039924c2b085927ec92e9aa5238509286849e9a66cd90da36bb06ebcd7ad582acd0395352566e236e397685d7b2b553a7c7e5a0c8f45825dd3e99b41413d8eec4ff003fde8f43351294d02c0e8b9c8dd7d315d8a3c7e18e0a1bc162cc6620c5c5f9f860219ffff03d991d8bab348bfe7925d61110205d09e87b30a5d03fc499f028700a64299f81e038c8f93da9b31905c31af72d4d7bb5cb4602d443f9c1e285edfe2b991e0e2af9003f1371ba1d32627545a39fbfe360f0829057bb4b8d104a60a1ec16cfed241710903eff84e36ccf161eaa28b42f91d3fa143307e0ff63f38d0797f937cce161e52b8032ea3a3ef41c6ec40463d2fdd5d54ecfbae27145af49ddecd0f2d82a712c25bc4035271da1df0eaac0e8ac43597d04ffa5be2967d8608f47584a39a20b28b4832dd03b42a1ceacd93248a4e10b141d4787f72a7cff7b5af2649cb432a2afa64fae63b03f91ba8c51d3a5336619d830c93ec78ac209296fc47f10feb8fbb39f6569cb069037728211d9815a452010bc4f7c1fa83d662a0878f0e9fcb1826fdf58805bc0e1603d1c99660c3ded148e04a729df5c45f5bcf25c31eb12282191bcb28b9361b527303a4fd89517328b99f94878bb6a10365c44f515d6208e6f69d91adf833fdb7162103af7e8d9e9a7b41b3fddfb11b67252efe784571bf13fa808c60a0fbd41a887fb80381c0436490f0c39aa850b757e8486b6cb34b991361213ec3f5472a452699ca810219ffff0387813c8ee8947d587eff8fd565f0f0b07d9697294ddcf8389e097ae88985cba1030897e8048e2e806a5e16e05af46bf686a099d0897492b58d8817d25c156d0d2103a8e036fc00d7fd84eb6f16f85a80c49aa6cf256d48afc5648771c4a42269042503068c7dbce1ca5b0fd40d458cf282a35b97e54f2698f7bafbe1daa66e243a8f6f035e2419beacdfff670daa5b9d1c0cc2d1723f9db8a2da15e86218725d9be5abd503408fdb85f41e0102bf605b55416aa39b436bd759a2e50494824fb387eb6e9eaf03b5a2fab75e6db4928a53aec2e7598b6e690b65c07ac77ce0bee5b94e9d33430503b25ed85c9f559970138745c558462ac1e7fb0292ecc81fc0cc7e361f517f2d4403097dfa7b202e8df00f12040b698d796465d90ec4ca5f921e9f14f2740f458b2a036500bc59ae3697259e4a74bf4b35e6f42dc82b7b831bd8d23c678808ecbbab0e03a6fe11315d7832429db054d1ef6753a196a13e3117e524650439510271d01ca4037a21c7b99c57eadd297a8812633e8346142732e739072413efe9f98e29cc2cb203515380238e4e81f070f91af301188abcb2f64d6009da3f13f5a44a4c1d369bd60312f044ca414c4ca664a880a35f2a99269a711745dd7014d83c7c1a429508a5830330d11ed7bfc7b4fbff84be97b91c4fa0971652a00b263d7b0e88b2157a4295e2035f41f795151c9491c36594a4cbdb211e6e472acb2e04575af5f175498b505eca036f69b17ef35251c81c13443c70ebc8c360a90638efabd4e26bbb7bb060ff59ed03b4a39a5418b80c771b7422bbefc82af000dc4049ae9af22253eef8e646471b55035a197ee85cb248b0e9b4a52f081914b952614230aabd59af987992d23ab9b2bc03a4d3218c87c4d77d240906f5e4787f36edb05c879f58b314870c2bf0a2925d0c03e0a5f9c1eba89ab7ed33228bb12b378fbb75d09aab8275dbd6b6edaa2b7149e303f3ce2fdcd9f13fa517de9dd704a66a02ded5f91f155ea099c40821f4abbf547603de016f018239ad60487734f97d13d217fd19f01da1a7d840bdcff7e7b4015c9d0338b87f77965bd82aa9cd2b28e000c5fb1979cefbc2e413c06c3473e12081e56f0365d5135d92bff813c2e85bea832701c859f711557a021548a4197ad8cff1398f033e9bd6b855223fd97a0ed9cec03ce278179847c91ea1bbadc2cf199fd209b63203b9163562c386c38ee8d7a4745b4060afaea6c994eb84d2ced063a3c16006c4e703ac021760761e272d799ef48f16438c86586f4231799ede28d145db34a84969aa0366b29765d4793c92d469b520ae3809acef4f14b76eec1d9cdf2140a42dab428b05581e03b1ca458d01246eea6fbe769c335cb7ab3f938c5a8726fc54777b261330040205581e033d616945a7d42cfd2e5310f685d39212557c18ee821c96579e5020555004188d05581e0352507f09d93289f2000854ca21ec6d108c413ec69d69e55501c7272540040105581d0265a919c155a4eee6caa20efae6287f002fb003186271ffb1ad95f7c60c02470b7c2e85dcd80005581d02ca4549cdbff3ad31d60800a5e862e8ef6deb21f722a281579428568f0c1a000e5ad7485d776e5046bc42cc05581d0252594122e76166b01cc01f13d41fb1c926568c2f2a14b8ef66fdc0de0c0c47026c8613727150021903800352fc2d0cdc5601d1f944529012aa66566856c5b49b1600c7b40dc84ebe04a38d03b94106c7f2b6483fd61c1a29dcf684bb89827596178cbe8bacf65fa13b7e0214021987980380d001ddcee9ea101119e75fa2e405e3c2692ae311028d66bd3f36f87e638cdf037091a21f9119a0e30de0f79ec10a7ddb9ee682de20b1d04eb704d9a3753c8a2203303f30a69832e044400f1e6aa606035d8d7854c10c6f54af14a98457c0e9550d0326874a857979efae008ac4b127574d26dff1ee8389b59349a3dded1837ce9fe103028a841ca5c176a591a1da152eb113146c302f376a67ed4cd46d23ce74407f5f039228bb9a0e66b2462d2f3df607e607ea6310ad4765c1a8ac4631af32391efed103e24f04b273a50516a875591af81a04efab31bf0bdca2d78ecac0651d1f72af4f0219ffff03502dd208560b06be266608bf7855d9f9b1c5962784a7bb37cf5c40b664222ccd03e4b0a420f2f745c2e87d85ac5e86183b8b736a1046a2ef855e935ca2c85a9c1e034fd035d401c8b2714b394786d9c759450384ff6390b1f9b5d344b6b9742b57d7039671b64ebcbd2d5a600ea2ac533eba08daf4b23a9fd4f111bead6c1d142d263703467da5b1b780bedbf41be4fc64f791cdd250cd2e362ff40b812571c379e5b9fe0348557eac8b036c75060266624bd2950728afe56fb12ac0a05fe94fd7a18ebf5f037addf07169f18ff9a3c64973dff35c61fd334dc2e275b02cd09a39f19a2512b803a526d4fb28d0561f6fc8452ed73b1ff29ffa06de7640940a4f5d54948aa3a156038270eb544111e20f7a5ad6050491c629a8c4ad29a1c455c3af6ef8bad054bfc103b63726813365321dbef638b577751ef3476ba9a96a63badba738f111ebf92a2f0219ffff038d4cfaeab5e0b0c4df79902ce6ebad71043933ba01d30803c778334da648855f039726d9ccbf738f95297e2e063ba8c9b219a663ee44b2fd31ac7c7e9af0ff12620219ffff0375701d8ac53c5803fe17160dba7e830087c0f4c43761ebc8daa4e6420b791d8703d8b258ba1e790b8933e1c13e6b05bc2a1beb2c6f7703f185d80f306d2138fd31038a684741e7ffdb317505ea6fa3c4d86f1bb7ca79e8a9640c4b0655acf3c37651038f624d55d66c4692d2e1db274f8e3dde972642e981915fed8e004945d27fa97103e4252717da8cd1d7f1f76680c32d386c95a01ae89d98b21690810d9d1317b3a603e7484171673c9c8b138cd5010b7ea816c515a32100ffb964bd612eeb8fc78df6035f456c3f3e1803093d4f7b57407175519983fd8ef35f6c949e4ea72f6783b80903b438910ef295b27a6ff70bee3a919c2535398315f89ba5c682f065ada39a8b720359c19a2574f3e87948c3eb2627631faa218c8f6eb65fb53ce315a3ffc950ceda03b3ff8f94013115e56b652edd2ae8b52a43622f00c12a0382d82259d3305b4260037a7cf8add3755895a3bb9339ebca6e06a757f5352a10fcc24448f348e80d584b0343daf5610cd7c7fe98e53ec3b4ecb18db95a775f079b06d80c2a59bacabeee4103a078fd3149c07f3e9276bc9fbc8283e9b1e4f899e2fd8c82bf8d23832caf59630219ffff0303a154a3cbda26d32691451246c64a985c1623ed7dcd97c464b9fc4a8495928f03a762200ad413f40b91b721b0769a5f9caf5c4c8f5f6f4d7aa9c2252690d9ca0603fdce3a21c7a979ab7fa3cf1504acb93e35eda98148b5d1e9bfd59b6b894235ee03d0ba94131672ea440341f0e1fc9e5c86e61aeffcde6d9141c91d5af63ffd6391039c4798b654dfe34b249df6f84de2f6eb37b99735cc8e09715349955ef1f8beee033da27527ac1da7b7f224fb441c21c8f5329b59518c98d5c48d772d91dbcc274803e40608176c4de05c1931342801d08880a425c79e33f018850283ef9fd24aa30a03116df2722d5e6ae67d605d84ce92be61205895774be112974ec1dbb2a2bad0a60378190f02a15d45a1ea2fde8e32aa472a8d371aa6b9e1d62c7f49799f4c5493bf03b408c382f0a69e57d127cd388a86ff39640f304f1bce85532fefa723b3995b600341698b9ac9f018f28ca4aa18b567db1923b65e98590f33ff8de3a4344993944403bb1f0150034d7e5c03ff7b50a58964fffd267c2dfe2a70498c9a90745b67357703947025c5500298bb50ab92b164497d243e699144cb4830777434ded310075ce103d596ce52f5ca6970799a9346d9e27bc55feb1f855891aa64b2ee8a78fa5ba0ae037c3e02fced610fc56e13792f84dd47d592bab0449fc3b87c0915f9ec1a1aed9603db1c42ffc773faac1df01ee9e4f28fe1d55282a60c56c7cf05e6eda1f38e64f1035e3bd65780b3c4de8e8a00654de4d4efd772841fa307e6853aeb327fa50750d1030d14dfbf139f14e6628b88bc4b91547cf33ad69c0e493e1afb3aa9247000b7af03e1cb01d2a1df9a6671717aa4f64fb5b7404d64b2eba49664cdcedda908e551f203f2b605970b7b7c3132dd85dc1ef7031d4af99a726150ad45297a5f906f797cfb03ae34215ccaf1c4fa833e03ce2533d1953b64b3a899a3bd52b3f0a7446114ba54038160bbe2b4f69ba2dbc672804ac49360d12511da483bc24d4d9afe7ca5f3552303c91745db06df2eb45e6b137569a4c2b3bcd42b6cf7f66363e98bdb56fe78ac5503bdc9182f5dbb432f8bd38067c95fe2c515f0b6a4a8994edba9096742a20c833c0374cfb47ea88f440c6aaf47d387525d66e3350b132c5b2cb86950c8901fdfb51a0374f5b69166031c7ec4dee73a7506cdb68a114e9306fe328acf1d5407e1a8691603a9900442a14cd891c0b1b4f83d350f4d7bc7b884073e8fb84cc6f73f702d962e030588693480317cfaf4a83dd6e60bf34e1bbe639d15ebeb29be7b9522c5b58da50339a9ac31a9273270abc60490672f0e74d2fe41e63452ed961a355de65c5b9ad603c6cb74633e15b3ebbc963d6bb80001a122351fe36157920136165e7c5562b497036fab87237644cc5d83557514dc95ce40c0be11325e7ed6645f5261f9f40ea67103173a7a1c82fe9b77ba2552f139f3d482cee46e728b9630ef21c242ff53e62e3f0370fc53c90d73202e0ba112493353c52dabf2ea3199af726e9efc42aafd0a1bf603f491cbf32f1972e68d6c47a883522652e0976afebc8b5666cf1fad0ace7dc7a003c20c231ae1c923a1df3087cee404a3f9b42d2c8b7566fa1433885acb5b7488bc05581e0381a4858f151d00bbc606373b3424a475c15bb9a1e2902beb4711e3224004030315912207172c3d593d9c96475a5ec48d19886d2a6c4da8f218b127a4e2d8c7d703fcd0b189aa44b77cc8188cbd309a5cea6125a76b904c3df3853f569d047a198005581e033d2f1bee6a7938a70784d8ead1845ac0430e120fb63fedeed117aa3b00040203bf930c8925e943c5b56035749edf07c99ece773d35852f2e8f0f8492639a107301410f05581e03ebf22c083347a38a76e1e05cf674abc591e5e43c3bedd10af07455f6e0040203aefdf0b549a4dfddb17ab79884222d73a82f71697b1a96128c0256e16d4ec9840605581e031c29047e358bfcd52d4a1ede9d01a1f7ed8abb0fec87eec095fcb6b5c007011bffffffffffffffff03f6e1273e7a2757aae6bc42f33113455d52736a1faeffc865244f06deed9872400605581e03b726d05c2b751555642e2f8c62c1a3fc6d375de5b07a29db3b03f1c23007011bffffffffffffffff05581e03e5df3e50faee4046322232b02122e22521b1b6149b34db4d18dc3101e0040105581e03a94716c9815f4408b46a306d9516288813e70b9cd2ab2d55059897ad900c014701811ac25e725605581d02ff792d852853f0fdc653735c0aea8249019940b289f2524e65dd09e9040105581d029e8d0fcfb587e7ab8a22802818d35e529fbb57e9c98d1da6bf8cea4a0c1647845699f539b358021918000219e4fb03c66de87f6cf3a0de896f63a2bc4fb25f10aa9e0555ad72c5955747c434a68d6d03bb0fd651a65251cc18e519d401a042a1732c6c1a8cbde0a2c23b11b44f78ae41036a128332b862596ae031ff5ff28770b17736161f185bd9417c82d89aa45bd1220399916d95e25185f3461511157f33e45c9e1d10a68119f38b23769b9d5537c9f40372f418c638ffbce9de1f30a457c3d6df888bc5505e6ea0945ee3d72b69b704c2035aa925871a4f4136b3085ef98eba1075de08711ad17a2d3182c0c52e7709b8c603079faf8eebffbdb1e4d8410280fd3d2ab424584a12d340b6f99453b6c02d3a5b0393c1068dd79084b9aecf2709765c4926b99005b768e884185aadf0fc5186b13b03eb6586ebdb4e0553896479204d40756b7d5fd6eb1cb39b7964173e07fae46b9803a1ec8cede4c61f785e8aa21210c001b35fdcfc795f611a58179a1bfe31020e6603d1a3e9bfb2e6bc0ba2f45ca9cb62c0c2271df5d977a4d457eca640fb6c9f15e5037c02d2aa1572aace996ba19036fd7ddb51ac0a2e6cb8943c4df15100f31c0f390219ffff0219ffff03493fdd4a53a841a01710830d6f9ed64f372a96c0d5d5bd574767d5185ca15aec03a04fce8e30dda49245d2ab1eedffbb2f55095c14d4975466245e8e97d0157e0a0354b303864ed7e440c6b4c063d373187b91da1426aa2d52829db970b9a84f09960350636fa0084db8422ce2953d09091aa2a747aa3bf993ccb8d8f46f3e4f057d3d03f2ed07e68bf6bd0cbede25363ce899198b2b42a782e2a1a8b07ae2c1358d412d033a0e13452f3b56a997bcb577f3c597c9e479eeb2d9a05b4eff2a50bbde63a032034d043b2cb3c0f323c285271bb9eb63f439f0b630a010aac02d211fc7262906b70219ffff038d0d35bdeb51f2f680e72dee34d0e89d664a51c1d7151faaac1e71bb36e3f8bb0379c8123b1436af2b2f4525b836e4d646d04de62072b6ed3b20d3a847be8be3a603b2c7b931aa198e7a534ee7e24dcf58e6ee3a78c318d1787c6ba693ac6ea6e54703c768ccd1e6c1cea7aea0e0851b9a3333850ec3b8e28739db271434fbf7e0d12603eed1591fd2abaf02301c8451c31cb8f637138a5af5b4e9f008847a6434fa096b03918d0f9d8225728769a64c885061309dc64c3eb0ef04efdc1baa0100e6ca204d03e5aec56b298aa966765f70ddb78e974c7748a079e0bcf72f7d0ceaad7208e6030331d7e47e7293c29df099b899e8d150e761a5c40d6c3411609bdd7d41db2510d903e21b80af3ac50069a3f7999319ee5d139a795d3d71f8d4e1d1546aabb224bbd90362dad3cb8779c256316a30ddca2f7bed6f17394028b70478b075c9ad9f23527b0219ffff034bbae16ae94cb05f40654c6617a3c5166664ae4ec4fe5d3f9459f87c272d124603b5f8b5f5c046f0604cc09d8ceb6bb425ce5c40bc4ac6f1e5773b67005be5e9d703da2c8b20a62e6da94eac9cd62da39eb5ef892caa27a232790ace8cea2cb2feea031841639ebdce762f2066f96df2b44cfe3e1d676f686dc57c4b8a5d136ba2490503977da587ea197771f781ad3c507b6c34861da46263fa5ec44bb284d49f1c7b9103f193d2c792be598fc97fa44932f3f6f1fda8367e6406e56dd9dbcdb598e8f9fd0333411e37e28250346435c09772319053c282bb61c0813d4225e891fab2262f2603ae88a44105ca9db64c543ac12eac9de13f9940ecc2f4a9159853f695a804650203794fa4a08875afe4c9f54b42cddebf0de4fb879db40a51600404612016c6378f03a8c5c80852d972427404b6e3abb4f5f4034622b398ededba58050f2c28015d17038096c11fe0f5dc1767a4a7cba6863694735543a19d77983512cdee683459aff4030cbe73a9b88aef88b4b4aa86ae0d23583cb628a8a458e74b3eaa52e1336ef85703b0048ffe9cae416a417df5cec87b60f8ad5cac3e0143af20933cc73d1f6195dc03c09514af7455fbda47998004446ea68dc86321b83325a09cbaf07761742f1e5d03e8e7e357b4a2883094bd8e93ec5cb1c208ee36f132a2da2d65d6ccce2db359d8032f5ca4b731e7b08798690b48f42dd30ed4e3761d06324ed9188f9df538f67be7031f8841b8d425431aeb9ae6105ac446c2d5685c5ff69965a440c7c31526bf4b61032cc5309d6cfd154bc813b3956e43a1430bd2970bd684fa8792a30b4c3c3e50c3039aa17156388fb72604faead016cce3303d12c018e821003552adf65424e4a37003ef54810f866fe386a77cd06d6d2af08167c0814545c140d23f1bdbcb2afda7c003b38f0d17ffe24bb7e20b45546ff97be4ab86529e61cee1c2ca0e4d3e7f6ab32e03b0fa2008a12683375f3df1512ae71e947784012f4ef61c182ff4af3d4073ffa605581e037b7477e418ac5a14cf7e77dc59297e2bbeb8116bbc91babfa2212f2d40040103a7e48f0d73eaf7c47528d6ab59ffae7b4aec13c5eb888b7359f014521767c84803f4894f5d93a9fad81ddc3c915bba04e8b24b153184b4a38622d4e353288b537905581e03068fa055a4a7f1eb5000acb98e70096615babccb7b6dd93ba5780f8de007011bffffffffffffffff05581e03463e9b6649e5a09ad0a1dd0c2c26b00c455807a27e0fd38ce5bdc7cf00040b05581e030269386a471b57d4ee9e7d93e34959d7d67a2ed4e4a8facd79970507900403031b460c826a854d61dca82f718e088b8b4c4082ffeb93752d7691bc62c51dc0280605581d02ce38186ac605c94664fdc47f237dcc0f428fa17fda7fd25fda213fb307011bffffffffffffffff04591a2460806040526004361061011e575f3560e01c8063751039fc1161009d578063a9059cbb11610062578063a9059cbb1461033b578063bf474bed1461035a578063c9567bf91461036f578063d34628cc14610383578063dd62ed3e146103a2575f80fd5b8063751039fc146102a95780637d1db4a5146102bd5780638da5cb5b146102d25780638f9a55c0146102f857806395d89b411461030d575f80fd5b8063313ce567116100e3578063313ce567146101ee57806331c2d847146102095780633bbac5791461022a57806370a0823114610261578063715018a614610295575f80fd5b806306fdde0314610129578063095ea7b3146101695780630faee56f1461019857806318160ddd146101bb57806323b872dd146101cf575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5060408051808201909152600681526548656c656e6160d01b60208201525b6040516101609190611533565b60405180910390f35b348015610174575f80fd5b506101886101833660046115a5565b6103e6565b6040519015158152602001610160565b3480156101a3575f80fd5b506101ad60125481565b604051908152602001610160565b3480156101c6575f80fd5b506101ad6103fc565b3480156101da575f80fd5b506101886101e93660046115cf565b61041c565b3480156101f9575f80fd5b5060405160098152602001610160565b348015610214575f80fd5b50610228610223366004611621565b610483565b005b348015610235575f80fd5b506101886102443660046116e1565b6001600160a01b03165f9081526004602052604090205460ff1690565b34801561026c575f80fd5b506101ad61027b3660046116e1565b6001600160a01b03165f9081526001602052604090205490565b3480156102a0575f80fd5b5061022861051d565b3480156102b4575f80fd5b5061022861058e565b3480156102c8575f80fd5b506101ad600f5481565b3480156102dd575f80fd5b505f546040516001600160a01b039091168152602001610160565b348015610303575f80fd5b506101ad60105481565b348015610318575f80fd5b5060408051808201909152600681526548454c454e4160d01b6020820152610153565b348015610346575f80fd5b506101886103553660046115a5565b61063f565b348015610365575f80fd5b506101ad60115481565b34801561037a575f80fd5b5061022861064b565b34801561038e575f80fd5b5061022861039d366004611621565b6109f8565b3480156103ad575f80fd5b506101ad6103bc3660046116fc565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6103f2338484610a86565b5060015b92915050565b5f6104096009600a611827565b610417906305f5e100611835565b905090565b5f610428848484610ba9565b6104798433610474856040518060600160405280602881526020016119c7602891396001600160a01b038a165f90815260026020908152604080832033845290915290205491906111af565b610a86565b5060019392505050565b5f546001600160a01b031633146104b55760405162461bcd60e51b81526004016104ac9061184c565b60405180910390fd5b5f5b8151811015610519575f60045f8484815181106104d6576104d6611881565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061051181611895565b9150506104b7565b5050565b5f546001600160a01b031633146105465760405162461bcd60e51b81526004016104ac9061184c565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105b75760405162461bcd60e51b81526004016104ac9061184c565b6105c36009600a611827565b6105d1906305f5e100611835565b600f556105e06009600a611827565b6105ee906305f5e100611835565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf61061e6009600a611827565b61062c906305f5e100611835565b60405190815260200160405180910390a1565b5f6103f2338484610ba9565b5f546001600160a01b031633146106745760405162461bcd60e51b81526004016104ac9061184c565b601454600160a01b900460ff16156106ce5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104ac565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107179030906107096009600a611827565b610474906305f5e100611835565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610767573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078b91906118ad565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061080e91906118ad565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610858573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061087c91906118ad565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d71947306108c3816001600160a01b03165f9081526001602052604090205490565b5f806108d65f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561093c573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061096191906118c8565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156109b6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109da91906118f3565b506014805462ff00ff60a01b19166201000160a01b17905543600655565b5f546001600160a01b03163314610a215760405162461bcd60e51b81526004016104ac9061184c565b5f5b815181101561051957600160045f848481518110610a4357610a43611881565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610a7e81611895565b915050610a23565b6001600160a01b038316610ae85760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104ac565b6001600160a01b038216610b495760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104ac565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c0d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ac565b6001600160a01b038216610c6f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ac565b5f8111610cd05760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104ac565b5f80546001600160a01b03858116911614801590610cfb57505f546001600160a01b03848116911614155b15611072576001600160a01b0384165f9081526004602052604090205460ff16158015610d4057506001600160a01b0383165f9081526004602052604090205460ff16155b610d48575f80fd5b610d746064610d6e600b54600e5411610d6357600754610d67565b6009545b85906111e7565b9061126c565b6014549091506001600160a01b038581169116148015610da257506013546001600160a01b03848116911614155b8015610dc657506001600160a01b0383165f9081526003602052604090205460ff16155b15610ecd57600f54821115610e1d5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104ac565b60105482610e3f856001600160a01b03165f9081526001602052604090205490565b610e499190611912565b1115610e975760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ac565b436006546003610ea79190611912565b1115610eb857823b15610eb8575f80fd5b600e8054905f610ec783611895565b91905055505b6014546001600160a01b03848116911614801590610f0357506001600160a01b0383165f9081526003602052604090205460ff16155b15610f825760105482610f2a856001600160a01b03165f9081526001602052604090205490565b610f349190611912565b1115610f825760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104ac565b6014546001600160a01b038481169116148015610fa857506001600160a01b0384163014155b15610fd557610fd26064610d6e600c54600e5411610fc857600854610d67565b600a5485906111e7565b90505b305f90815260016020526040902054601454600160a81b900460ff1615801561100b57506014546001600160a01b038581169116145b80156110205750601454600160b01b900460ff165b801561102d575060115481115b801561103c5750600d54600e54115b156110705761105e61105984611054846012546112ad565b6112ad565b6112c1565b47801561106e5761106e47611431565b505b505b80156110ea57305f908152600160205260409020546110919082611468565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e19085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461110c90836114c6565b6001600160a01b0385165f9081526001602052604090205561114f61113183836114c6565b6001600160a01b0385165f9081526001602052604090205490611468565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61119885856114c6565b60405190815260200160405180910390a350505050565b5f81848411156111d25760405162461bcd60e51b81526004016104ac9190611533565b505f6111de8486611925565b95945050505050565b5f825f036111f657505f6103f6565b5f6112018385611835565b90508261120e8583611938565b146112655760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104ac565b9392505050565b5f61126583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611507565b5f8183116112bb5782611265565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061130757611307611881565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561135e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061138291906118ad565b8160018151811061139557611395611881565b6001600160a01b0392831660209182029290920101526013546113bb9130911684610a86565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113f39085905f90869030904290600401611957565b5f604051808303815f87803b15801561140a575f80fd5b505af115801561141c573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610519573d5f803e3d5ffd5b5f806114748385611912565b9050838110156112655760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104ac565b5f61126583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111af565b5f81836115275760405162461bcd60e51b81526004016104ac9190611533565b505f6111de8486611938565b5f6020808352835180828501525f5b8181101561155e57858101830151858201604001528201611542565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611592575f80fd5b50565b80356115a08161157e565b919050565b5f80604083850312156115b6575f80fd5b82356115c18161157e565b946020939093013593505050565b5f805f606084860312156115e1575f80fd5b83356115ec8161157e565b925060208401356115fc8161157e565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611632575f80fd5b823567ffffffffffffffff80821115611649575f80fd5b818501915085601f83011261165c575f80fd5b81358181111561166e5761166e61160d565b8060051b604051601f19603f830116810181811085821117156116935761169361160d565b6040529182528482019250838101850191888311156116b0575f80fd5b938501935b828510156116d5576116c685611595565b845293850193928501926116b5565b98975050505050505050565b5f602082840312156116f1575f80fd5b81356112658161157e565b5f806040838503121561170d575f80fd5b82356117188161157e565b915060208301356117288161157e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561178157815f190482111561176757611767611733565b8085161561177457918102915b93841c939080029061174c565b509250929050565b5f82611797575060016103f6565b816117a357505f6103f6565b81600181146117b957600281146117c3576117df565b60019150506103f6565b60ff8411156117d4576117d4611733565b50506001821b6103f6565b5060208310610133831016604e8410600b8410161715611802575081810a6103f6565b61180c8383611747565b805f190482111561181f5761181f611733565b029392505050565b5f61126560ff841683611789565b80820281158282048414176103f6576103f6611733565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b5f600182016118a6576118a6611733565b5060010190565b5f602082840312156118bd575f80fd5b81516112658161157e565b5f805f606084860312156118da575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611903575f80fd5b81518015158114611265575f80fd5b808201808211156103f6576103f6611733565b818103818111156103f6576103f6611733565b5f8261195257634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156119a55784516001600160a01b031683529383019391830191600101611980565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220cd1a2118a4607b0523b2990d6e1df8402151cb294405e0fe19cfb7a9df76bc4c64736f6c63430008140033005820028dcaf8ddc7d8d7c8ec1cff0af39bb6085e0d747114b3e53e8eab85c25fc9b04101005820026b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05445a70532e427ace9f67dfed997ea7e42020af43e0058200228844264611e87bf6f3a55f5811d7a50ac0200f039fcd09d24ffacda02530947071afd498d0000005820026c5842df362c305f1a74e75bbde32f564084f950af916ff4e2571ab57b38ea48012a6d8e112200000219204c00582103b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672047071afd498d00000058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56305445a70532e427ace9f67dfed997ea7e42020af43e00582002ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6847038d7ea4c68000005820025f43060733ea08919ee884c1b0f088e2c90b6a12a123ac7c3f989bb70a235b47071afd498d00000219800200582103df627f2e691bfba981d13cb52cc40c4aa63b23def8c6704de4da43573d28a12047071afd498d000000582002e38a03e7cea2f9e901c34b8b960f33d7bf92c0a40000743ee84738a3c9515047071afd498d00000058200205629435bf2f6c33497c91b581845a7026307c25f9f42ca9fa4dbcf990ee5147071afd498d000000582002de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a090547a250d5630b4cf539739df2c5dacb4c659f2488d02184500582103d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802047071afd498d000000582103797ca6e0d1beaf5dcf85823eede7cb3baeccce81be37693a7da8f107e5f3e9c047071afd498d000000582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0410800582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec3444047038d7ea4c680000219018001410b00582002eb37b7e5acbfbcf37bb7477ce1a97e325fed8cbbc157cc8e6ae66937d71e9747071afd498d000000582002c5eb6aff7937d3b55bf0593144d4cc1bd0cd1929d8c24db628c5f95248dbdc4101005820026d7b5282bd9a3661ae061feed1dbda4e52ab073b1f9285be6e155d9c38d4ec57010001d95fc8448cea732810bfa312a3ebaaafa2c6a3cb00582002b5281a71e22392d2aa0bd95be8716e0424f3ccc46fc4db2e15c35d50feaa8647071afd498d00000219c0c0005821037b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50411400582103652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f044012e3b670219bb5f05581d02cb4bd96e136ca13b090740d3f00be10f1969f73d302dcac11e7cce450701191a2405581d02b82e746dab702ac7428790fc53bc0262a96826827b3fcddc35c82706040102188a03cfa20bebfd29f1d73e7d6cad1625a81bacf15e427a9561f985fa08ba1bc67f4503562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03c2bc73103e30a60b92a2f75102c74e298599640d59e80c6fe56abfd72007011bffffffffffffffff03af35f51f228c597a8268940546953e12e15894466096b84eb339d97fbb38497805581e03bb993e3bc70436604564b6c61f558fc1de7a78559b778e04cda7cf01400c0247047fa8a932fd5e05581e0369318c4aad4e25e697671a74011c5f52a88bb77a09d16b7750f46ca89008479e58b728612c000219fd0d036ee9c60abae91129cb30bb0295f5831c66eec16438f18fd976330cadd6e02b78037ca5ed52c8162fb565e72c9ef1355cb5cc7dda8a6a5c1e48449c8e1a9c640d2b03ef17d7bd346608acd5e4eaf97ee3130758f66fe23d222a8fa1fe837e4002c4fd0315ae3cb0aada2558f82aae70c8d86a2eb04079fcdf1bdc5831313859bf2d0d2803085fb4fa10bcd6a9da0e89e758b31df4bdc3de33962bbe4c73d02905a5e8c322039555281d2b809790bc436b44b98d13f6f22a037dd2a54405cdbb8dd0f861003503c883a3bfe444a7701c40737aecb49dfe5b94d66552f1dc82d58e197a67cd580503438c8dc56d7b0c6c15869637a7c8271c346b8a6c6ebfab5becb82e18f65b79c103739ad4b716a9612c1c30ae5b86c7cd20d6dae8bf473f0cedc3509d035274a3fc03db0c664c2cecb55cbdb936ec9b3549350d4d2ae7d13784a760deb4eed95fa7b203e6dc4a9754c5653682edf43b3e4a1d0df8588dc0243bedd7a974158450799de703d200c5142ac6cdcd0d17ffb299aff76f0c30a81db62fbe41ffbe5a11167431e7031cd5a8ebc4e7b1a14c892d2eb886821b9068a455f4c3cbb7e576ffc3c66ea5b90219ffff036f13b1331ebd56022d8c17e8efb30fce481d6eeba82c539f18b7ba0335ea253b03970a55a7f9dd9d3975d598c06427f6911247c23a4a61dc23ca735bb5f934bd7303929ec690ca00ec49576a6eacf776b9605f65f3dcfcfe9c13677d4d8aeb9d0d1403f8f661e40e170f1ff30e07c35d58ceb1e89486cd2152b9f4c777118e087a4a6f0219ffff036e223791a03afff7a27a8ca4e194a841d845fbaf90cc3376b110fc54f7c0434203d8354ef84fc404002bfe0c5666603b034cc1eacb667f395cc98b7f0d8f66583803dbce0d35a3e0f46271a57b5142df96008e13c67dcf3ca912761ed6cb59a0cc3103ef5b8b2b992c41a3b7fd9e60e4d71f0e441cda1411b382cf0f0a15fd6957e5c703cc968c167c6bccc444881e21b9d814f16cc4ee72883083153ef701dc474c62860392df3d69da7a1aa6085081c977abe28fb83a7cf92d01d63949529cc7ca022bd5038aef9af98cc989c304e1da0954a1a5c0cb4e9ae8c6c00c7f6cb199aedad1ee220219ffff0344981ec9072d8fbaf350f6b182bd797e3a7f02caeee3261318f113a0a310577e03e2ef479408e0c57d15ea7f36bc80aa0fa6c12f5fdb7ceb108cb1aa7545e8851d038c1428fa26399ce8e02e7fd2f2f5758072228ed44b500ff1e4c61bc83c9ed6ee03c8092b2371b0c0c1ebbd04515611b4deb3e56f4965867982433d9aac5d7c2dc703ade981cbb648abbfcdefd827e3b6226f95f4e99f141a85757d16afd6df89b97d03d9683d27b02aa039871e5121f0ebf4544fe0cccdfb79279dd5e98046b674f0ad0320051ea881bc8cada86b8a81ffe289cc931cf98de735d1c40d1d80041d89df46039873eef0b601b9910709ced9b29a387ce74714bbfd009658d07888df4a952cea038ba3c131f779d436e6d7c22ce751110e0f9960cbccbec9d8bae1bfd74f2b3d920336da30787cca2e0b35bf668c67c6edea11121247d372776589525b1236140d5c0395744c74c312e27eafd2e1e46e9790fa1eb293267630b04f8fda1a7ef2a840cf034db51eeb5b18b379e60160010fe2c3c7bd14954dcbcda10ee9d417f65d4a665f038a39a886fffeac2f55ca5657cb8d0785d94bbfc44e6ef3d788a37fc8d51e871703e7136f8beed024146551c699746551980d3c9ebeee95c28d0c3bc479ba6c8b870309e468098ede3c3a4b38e67effdf24acf665c8f215648a2a15acd048b691dc52038d6d3f5728053b789c9263fb2c4f53244bc6981314fef24d1ba4387544bc8df0038dfa433881271d1f16194f29b4848d8455d3bb04832eefeac90d24a40b651fbc038317f338c421a3ff798cee3340331c0e29acbb4fd199daff3678dfb916a60da303a2d833f5221678f65bb919bab928e1ac2a21fb16c768c802385743c1f20f33bd03882b4ff677a16011e26972d50b9aad31dcdd6d90ce5ad017be729be29ac66bd603f3cd42c03862ca5c89e09108921410c77399a67e00a0c87ae3873a4db3d0712203e73b2ce57b9957bc498d47a6ccfa795d9cce036014c96c82550ad4d4b99d8a350349f87b79173f2152feb529877b8ebf378bb494867b7b5fd46e21c38c04b56b39032c53e4633f67dd8f1cd3b97857e2fa1888a08113bd4ab0ddd9f3f0667b75f31d03ebfe5a0154be1c4918681bb0b84185583e2381f1c034dbfeed740abe5a18a73e03de89818740c35966944b33a3f7b7776730866295e9ab6c54dbc38adac9e66efa0354fdd1dcf7c140089c99e10173a00bde1620974e76caa85b89c61386854d2e1e03a4fe5ae7bb248ad34f6d6c3cc546f3945bcabb9ea6832e5b2c126fb2948d37b0038436e7414d7bd51873cf6d66cd7100548bc241391940c4596cb8fd8318c9eb43033ef1123618d733594d9bde1b472f2695835b273426ef0e82d2901eced8db740203c6d4fb8c8da2f5bd13806af815634247d82f88e6f346c80f4bc6aa9c4ea3cc6103d27584f834991d48dd9d39eaf146fd21299f67af62a7f0f8c56f316b58c812f503c22ffb33a73ace056ec28dccf8f19920c8075a47151913e13bb76de334454350035bef61b2be3a91a5d66d92b259cb46bbe3a8a5866efac22f59f73f70174791b503c892127d3f6cceb7c41af2f17aa67450342f091879adb9acf3a7b5a8c1035ddd03556d3ec12e5343a2ef72db2e7ef381104279b2476ce4ae4a56b660b50347595203835ea527241d3ff19f15c1d172c75245fc94e1e2680fe5d2551b6225417ecdbb03fffa2540a1573b228956fa86248745aed31ae6e2c983714f32fd9dd7fc58c36a05581e0329328c87be9836183768908f30171daf16714c1f39a360b617bd23df400c0a4629546746ae0805581e03934cc196d443b1d2c5588f9fe55fa70f673923ac0eef128d9203835d500c0147c7a8357a0fa80005581e038bc60869ca403f3d41ddf8575cfa5be7785783dfb7dccc395b1ad999b00c01470d35cd2acec40005581e03d4abd7a5e810b20841e6aaf7fdba78949602e371cc5ff9aac8f74876200c054702c0246afc0c000458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff01550003937866b2e3eeae09cac3da53ab3a3bb6633acc55519aa5b62419c8832d8a0d5903e23744b1cd69412517ebb842ddba816b5ce57ac732a6fd9363683b726e9283a803552df02361ba73b9049088baf173f8a0374b49f5cc58d2bc702a2267c168fe900326943072e1d48562b1c43df99e402973cb58b21353ab9e36143cdd2e464c5a5d031d02ba81346dc86f3f0d9d2bbab2f2404d3200a7a5e6114d98717b944905405d033795bd5ac86c4e17541443163cf72b9d8c5c777b13b289d7e47799300567321e03ed2c9ef2b442b2e5d9aca2ff7982d84cff5e0b6fd6245ee60e7402071147810d034441d7d432b21d0be73ecd8f4c570391057bc2c8d9a3b1f7b2175c2afcae0ab90058200322525773051ef8058029d051a1f4c5d9eeaf40559917fa7a2a89b947411fc0446637ffd303f2b517c7bd2cb565778ec56e4b1bfd06c830eae417e5a559fd449e14e0306efd03fc38564d10da0417ae8e4fef08e4caca4aefc0ab3425fe72082dc30a2025db41038aacbc16b5484f3b1b382ca8c2bae263d31a97d90c53f8698a1a342704fac644005820036b0ff83c28e07db9b87f650bc5521a4928b98f2734605e31b316abbb2723504466372f6b036feeee16e8cd34c4a4e2ad2701022cc4e7b30c157fc8bfed017c26a64df68a1d03bde8679935a676b06f226dd38fee8fdfef7280023b4d573066a721dbc52c5ba5036b90ab86f9d4169f06e40a786cc722c207b8b1a3292b4e2a28fdfc34bfc0e189034410d32bf3aacddf86198a4c818896fb858a78657254ca8d9d773a76229b6a7600581f02532599d1c11e7369ee73db3173b6120a2b3af0c17f34dffef22f3442f09958205ea4091731346538d72cf90a95e0f2dfff48df3e799350a5c640bea8156abab7031b26617514c3d8caf5e8b48c5fe7eb56c37f34e892fe142ca39b492942cdc43b00581f038a122f53eca4d8d94ccd6add8a4fa3332488b96554e8b3d828e0d67bcad044663691d300581f03a82608c1838115f9edfb7aec3769d6fdc9ee0b8442ac2c321a90b1e1c8d05820949babe22c164f1faa1e7ca69cececfe3edad8dd793e5e0c9fabd5a5a0fea1eb0219600000581f020114cbe4c25878e8766c3e411142f2c25bfacd3d1c3938aa3a1517ce6b1758203a61ab97118928d845ac6ba99cc8927a98a9b09dd3dc16d4a3e5dda3a5b37bd002190a42035e05c858c3dc6126f674ed9ec1b6cb5f0fa49bc0f763946b138324afc8c2c8df0219ffff034ee76324509814a1d2d107abd70d1c0a7987db3b741b6dc568765ff3fa0a293403216f39b2bd0fc78a5be014d7c10d5ca17f4cb5040dbfb4bdcb2ba9acffd643ef0372e11e94396a1dc3d3b2bcd2ba5f04298277121840d9e9e5d53490ea3e25a08c03cb5b8ece8d47cca9db5e57a518b00a40f16f6b742dc6bb573eea02ee581f6c5a0376ca3ac70bb67e269832cf892d8769b5aec01647f69017b7b1fbc10fca001c9703025f4268fc74d169599f9e3fe45bce9fbec72e3fcce0d22f32e9761ddfbb86c903d81fad9827042c42f019adaf547024d3726ecc023555e7021dccf0e09c8d9a320386fd7345c676a3e7d0442713d1b2738062024bb4fc7f5260931a24c85ef33d6603110cf5cf3249b42e01a92e778bd9ad1d9c60c8c16677b968b4c62bdf681841ab0316780baa4e9ab6967c4931c43adaf52e1c5563b6c984bb50d3a597564cb2fc7d03ed679cdc905534d412aa05f773251e36e2a29848ee7a75eefe35b0a1b03543600340a80efa0498d313affc426ebe62fa68d353e2988764a32ae4aba6bfbf51d1fe03a5d11f8f61e288dad50737eef189aa0328a9ae2ed3681871836ef1a71f44a5d003a9161f54db36875d6c9f2a88b6f5b1b3cbf6117b29567d463d4fb2a52672117b036a1e9b7769dbacf559c0aac32b5030844cb77a33884311fe95b989395ce0bb350219ffff03dc397481f7b66fac54c693a71f57973d20800cbcc0dd39db91b6d6beebae586a0324552a31a3381865f03eea83fd92267405d9d4c6d8b833155a043236b2c10062034d401f8a8ac8cc7ea008c08991465754708f32b95e8e59e6c6b4339050e3f82703325c5e51e339e8e028bd0ca5f34c25a956e2087f86e2770282bf5633177bb78703266f9c1feb2381842a4e72917acb3adb0dbd4cafe8bd18420884b210934497560383f99cfa9161e369b5de5ad0b00ad9c84552e70bc5f10d868adcadfb5b58bcef035e5e1acb44162ae62b2726d4af15ceae5d916684876b6f05f15dbabe01f87c010324d81147467399c9db37d7a8764392b4368dc4d56d6e5dcac55b251b5a518b63037e8b40363f29defdb9d67efe0a1b33000b87aedf2d865dac2152b2e1a2a8c9cc03f0abb689ba349b34ba85c03da0d043e061fd08063dfe2c2cb7e49510800d8d0903a5df213e8071389427a506fd6e87bf303c6feab688524f6d03252b12ae1ab18103910711caa538ce4699447351bafaa45e25fff0299cfe7f560933ca6020aba35c0305070c61118e6c4ac4c1173490637e33d3bd52f58bbd0bf9203ce7bd03bee23e03c2d8dfc11d4cbc0af6ec50492f7ddcbc0747d5ddedce7409f09b529f003dec6c0301db8c4038417fe2676a7739c631c5f67ea20e33d48f6d4157f1f7a03622967700582003fbc1d063fd648afaa24087e3cbfd5c59ac8a9dc70349754e4e6104f1e78790581fe3f8ff0bd64314c7a13216f4dbea169e005d4a8929c6eb34eefd4f45fcc1ab038b0934374b0e4452204ae2e1f1707734c90e843b6f098a98034915681a30d53f0342034c7626f1585ff5207e7709e064bde06b1f4b63b67adc807646a1ddfc97d200581f02c6be597f7e493807a863ec7ae62d42d79551505c85a7d890c53c7039fd2c58209287be006d02da10be48ce53e3aef024a8014adc23d0b777f3953b51edd361ce03590a944822ea07f84d87fcf520a3fe871cf78dbab5256472c20c22cc73d510e800581f022ded293bfb22084a304fd076f6803ef9bec175bce1e43a9e603c9d272d0f58200fc5440d10f9feacba2a5a8104b45b28ff781b2892f3598c8337e61fd34625b40219080903939c6f686c811be1a5dce8e63ae68592a92e2b5ad91bd5f37fb56a952eb6d6ff031c7da40902002743940fdd2202322926ed0242aa753eba13d45012edc83a57250308d99b804daa5d2bbb1cb143d8d72eab73ae10422b318afd20105bf597a99a4e03eb606f7258ab6e4ffec273c4858c50c400c712a6275817b6f638d24e8015b7b30332b12f8cee009d5f50c0bb3959d5fffee16908c39ce32c5df6e2fe33cebcc97d0355c38bf29d70bbb4b167df6e6f097b7f68ec3ebf506f24bb03d9abbcbc27c737035621e9dd3e55543a1e36d0aace467d69dd864b7ce001e27329a731f86d6445e303e31368b9d85122a6cd61ef5d373488fe32c5395d581b43f08b86f00cc313ff7b0371014a6f5449f82411cd5fb121e70243d6305e286a87e8dd3af89e8a5d3e449c0305b124f6154376ab74d4115d2622436979f339dc400a1e4479b02bd7afbf002f036c2b9277de3384b5a77d165ea4e4f3699f237972db7c912ea8770e055d3f7a2f03c0259f1742d625f2a933bd94c7fa55906204083edae8deff3f2f80ec8e948f890219ffff0342c4ad5304fba46ac0184eb99276d01c5b4e5b05f432a049d2011e966e47ea4f0357a686dd6dd84660ffb48b2b1ec89603ddfc1c4fa0f292a44d1c78cfe3ddfb5b03d1f5df086ab5e3d367e2763df2e4bd2abfd1b0238427945f1a1def291d7c902a03c1b6e4d64117a14c462fbbebad18a455baf68215840cbfc39ab586e30cc4b33403a3f59cab71dae19e15cf0497a5ff305844c63e2b6a8dd783fa4458fe13b738df03f80fe21d7fb08d63ade3011710bf71d060cd91f7e98a40516ff88ec433c8c9120305716a1b0e21eb3859e566c614e76f52c84d291b7caad9e251e8e627859d30d8033e3e367e20785bf1086e03fde650ea930b501fe925cd9a34aa4fdcde63eca23e03aed190326c5d834cd3c5e05a7dd07455dbf89405df83f880426c20f3498eae5c03dc177b41f7a2323b34b4be78006508b3294c57da53531af974d9ac73f47ac9e303cf7e41ab704706cef980ee74b37b7ceb77272d51f9af23510dc0c4f263dc7ec30219ffff0219ffff05581e03a92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e4200701186103efc4a95eba2b0e8ca1e7050522d539fcaee456a9baaed13b74846ce6e9f5284f05581e0387d430445038d44dfe5f67a6a29f0e61137f74004f19eb39df5f6507100c134622a41c687260035a6395100cee14b8619641123268781a56f8d9fad4ec4d364c15d99ab81fd8650219d595035d3b51473708235f94b7786ec3d9e1141cffde44d1b3c2f8f50735bc89406bdc0219ffff030cebfba2861bd2195e500fde0315af37f8f19a646878cc545a54b8f105f57aca033cb2c49436d7563a7ede67c0fba8e668dd17402082e216765a5457d2b8d7e12103e45da9fe37e969afed21a06e65aab4b8219e0be940cf6c2d96a3312dde77c4ba035f774524ca9f406192b4860444877e4d5f30a9c74bd06649e043a5c2dae88d8003d60fa00a626bce0862148fce6082480f621fdf13ceefaa278e5233b2972f532b03aa882e77de9c5268423e90105935f45eb651f54826727dcd0f60ed0c10f2be7c037d3a4a4affdefed487969723b53a5ff8092517074155829ec03241729f8707fa039b519826b67d1b6667ddd827e85822817f1993869dc5dec0ea1501f750af7e8e03cf09e161567ed1b6e29369d3cef8499f2d95e76f2624bd19ba1ee8af8ceb0818035b00880acacec5456581db61930702e5a416c16dab3d50468682fab6386b0f130219ffff03442811299717fb1da8525d9983c69db00e5a3c03d5652bd184e685ccb7f32f08033a90df83b4a40124fb24efcfa5fa860a84907c5cdf046109196ac6f7be49c0d7039f70bcaf5f415ebd778713b48e628e87a886f43d045c15ab9571aab101fda5830307ef8875886e41a3368d284a461ef82abad1515f9971c7fe974112160fa2e51603181e879df1290efca0721758aad4c72e49df9288eda58ef9daf22351f6bba84503ab69d28d1523d9836042326370ace5f56c98c030cc7ca5beaa0914ecc8d104ba037af13abe00b7ccfd8eca09cea3b096331e4f9d5e33ec3749b78a29f47a5069ca0377cb1b430cc0deb5ada6abed6c8d385e3fca8be5d3e067d72cb4800ae861befd03e70accd5c589e2695ae8554f22f19077a1e4313f19a6e78983a53b91e5bfa3320219ffff03fcaaa0cccabac4e22069a25dd0a91988b5e23e0b603978cf3bba6a72e9753463038024169a38953377af68b03764d0ffa2a9173f78a514c8d74e8b310a369428410219ffff031805e202857d7a867806b155d24ff3da4b351e73fb0d193c61a5e0eb6c3a6f7703f58832d8ca62a1bb0f7f04c3b74c89dcf4b26f7d2cb0bb25ff68534084bed3e8030046751cfc01bc978c36b688ca2f567c463d622ff42051ef1e211c637612ad8c0390e8657735e4cc3a3f4d22b9c4091fd642dfcd7ce26855bea027c18d5cfa72cb039483bd6c4f03e1ed8f5a49da52216551d0292a29c7af06969d247f2c2dc164ab032ebb6547eb5f487752b34948331dcc91de40ce71c8038ac259fe1d47f583d646039ae024332a4c29464c22bd924be9710e527bf665d8035fb5a930f74f1c91c28d03dd8ba265265bce74de1dc0b678a081a17aa0343fd24ca286507b2f49bc326d070219ffff032059218ffbd59bbd2c643d574b9b0160e76f8af398d553317bbd4c9383c7bc3d031a8549b15a8de9fc463234e894707f434bf3191e67e3e22c6a2fb4fe224e72b203e8ec7d2dca594a84df8979579d5841d99ea780d8792a52335b7c0dbfe1ed014203edea73fa5b74b0cb1514e70ec8a0a7e23840b1d107a8f2242ac79d7c1abacc0003bba764670960a04fb0e7d967d19ccaf44b2fe6f869df6d3c23a11d8971af95bd03edfb28b5d8a788e9cb02d90166d242961a5c25f65e4a573c60cba62f5b96cc2f0395c1cc870f7e555b5d28091b5eca92c61c7cc043340e1b7fd8348bcbca68cb2d030f8fdb7be4d63644cfb4dbcaf49e0b8151d67aa6de4a949da0deb861f014e9dd031eea401960d763474c5684a1571a045de24f89062688169a36f0e520a41745f1035fdecbffd336b25ac511c3928dea987f25315c04a697713495f81fd68fdbb4cf03222a7b39ecad82f5bcf6dd66b3509995361e3ab5bd494c50ed887482ae57b50203a683634f5cd4d5d0eb611d3bd2799c7c7c35a1384bb353b16b9ad5a869f622c403ceb7fdc45ac190cd17cdc3b3a59a3759f9eb5b35b7c4187431ba10dc8c3106c803e19ce551cd9e9e29cdd143e283e4519154b6a8573c38ac8feb16d9e6fe2ccba503733a2fa98119c3b6129e6ef4dd7f457ad37b5fc0573f5a7642dbac6f09e493b503094cd6cc3e2d641a6dd5d30ad0c90d3195c8de75c6a0abc4cdf046f4f0f85c7c03ffab77a99f43866c0a11b8d44abbbcc353154a868598aff5035a3abbb98f030e038a08fc9ec5ab5b20ece1f4a11dc0ed19d097cd220ab39d43e96abcbb8d86c04a03faa85b7af9788ac79906cfb2d04774dcfc9173c55cf311711061c17e42a0e34e035fea21fe93b872b1cfc986cc87fa88e3d5d314f1d22cf968e0f23da5604c4dd503822ff9f069841a5daabe830b8dad40e42c8d8cc8a3485ef673cf863d680d8e7b03f5ac526ada6cae4e2fceacf9ad9c48393e9c39b93254cf7d9b03b89eb6bf59fd03a135a6e349b8547bb3af29c8e8384f3740f8c21adf44ffa6db6afd893c1cffce0374f3ca42e3efa67b0509dfadbb5c6d7821f2e51888a70ac8361e309121b3224d03dcb23dae44c20e643fcd2fb504eaa85d722a4c82508eb10e0a1491c0a71cadd90333e548a9ebd2365a4c95d586c406c1fab91f8bc7360795bd2f162ef995bdbd2903734d40c0cc24c5834bff68e0c54b0e9e0425646e3008194c307dd0a0b894736d03b84e7b77031dfa81f5c2b98c991805575ef8dfcb303b2472240b1e16d1e7a6e20301aca7142cc0eca5777f121f503560692edf28a5b08c856b37600f003422ceaf05581e0313009004d334f90bc1c18eb48eae5750f357946ed62c6e7d3fd92d1da0040303e2c69d13bf1f89fd6cab48bd92c5c38cad9be2dada05d58a51c44e1169b2c2f403b207911b8627fb12682c2f664bb3cba8df89444932fe19ceeb5a0104aab29bd003562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e0350c0cb385de15c36099ebe2dd6f6578233b0bc2f507450884255a0f31007011bffffffffffffffff04592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630480463777a4d8c892d00582103a74ac629773b39717320a4a7c0089e4b0667da26a07887255087b04485870cc05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2005821032575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b05820b90c1a14c088c1d56a6b8fd976e6ebf88b023497d5454cd783fa3cb22ebe2d7100582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70410100582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820663811bb00000000000010879dcb019bd68e000000000000012a6d8e1122000000582002a2f775275d4ead74b6836a12a0af610b14ed125e826aef45fdd1edce554ffd480463777a4d8c85450058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f543339474491b13ac638f163d634fbbc722cd279160218580219b50505581d02aefb66e9c244bedfa953b8857e1f3a45010a7631ba683bf8c76f33910701192c1d05581d0291f3087fcb4d685046c028fa385eb98adc69b05fe9f7f5e990046f5d040102190880036349f17e9fcb4ca4b31440d7858e575d9f0d6f4029f73060f120236998ebcdc305581e03676fbd2738568fd9e0c66efefbcb7703b2595566a1b6484011fb69a7100847028ed6103d000003ff20557d6be1c48bc106100d951206a4a961c50b1af816568c92944301459ab8036f1babd1aad365df43a426574d9f1bf6433ed3d5841aa3da7d1b7adc99d2e1fb05581e03f503cb9c8781baf2682ced17ee8d6a3b410312a358d58675ad94a0640007011bffffffffffffffff05581e03bee7418d20ef338b3ff21ffa994121d3bdbdea8c687bb3c542e04d4a700847d4464ef554600005581e03c2b3991f35ae9c607c17e57f9db582c79334f33a929ea345fff7e215200c01471a3e3b72f7502d032b513e44f3337828c5d75b8bdd51bafa3b1eb9b47c194d6bc35ed4fb7b2449420219dfcc0331705cd11b32b3bfb5d70a3e504c8e319cd4f96d67676a68b91fd30919a94a9703629f6d7531204106e6edbe9e67ffab3ec8bc34394ca4dfe7c58331e7d1746e8703be49e45138114c6cf393eb1723e2dfc97444bb81b4006301467634cafafb3f30033a4c1de5fe0db02813547929437b8c5887db566e6d51b0c12f9239843d66c9170219ffff0346453db57f270d1869a278dade60b187f322a49943aae3372bb113f3849d476f03cb1e6cc8b6ad6f28db9f5034eb3015dba9afa2192455fe9de6f7a2cb7fc8d82f03ea11dc7eba948738186f53c51eacb3f65dd5e0257df100592feb430deaeceaed039786472a5b2385243c3400d426e7b197c32b599813bfd0fd2eab844fdceda3fd037e2d26860c1a0308b2dc4c49218decc0ed9439387fbf8d61251e4af81de3526d038b393e0aef6d453c3d12a9a62a06db9e9e08d1213ac87a995876db420a5e403a03933ab0d170efb7138e112118d824a3c703af7e98d3f216aca3a929501e97ebbd03698d4e605ca1fa06f9b80f8bdcbe9979e1c7535ce6ecc434fc7411af4a2ef3530219ffff0331328ad597681762e5dda9ff4d95579f469750cd0e93cdc74843c352a8131a4f0383b86ee3d24977d22f3e8d012500ae18b9611d89272bb96ac16af2ced52585a6036ec3189a3597126249c999e0db19c66479dd6451fbd46d54a9059c563487b19b039a722529f68aaec786073ee41cfcfbdaa0deaffaecfb72d8fc018b477c4e958f039b758f1eb9f1931eb22550b73ee674970d08fe7c76d8386cc81c2efed76f92fe033da7b9e572ed69cd245b8cb6f959ce6b6a83986b7d155b904cb00c3c079a3b8403bb0752e3e62172c2de1accddaafb54f8c037f25d307f70b26b014ecf1174c86a03b68fdc79d20fe9e37db7d154d86213765c74c664b92c76678f01b30e496f6d850313376f50413b542806ce74e560667332b8442bd152a6706875100de8b6cfd2e1036d68e4a372ca16a93ea84f36e244a93d3e010bbe83c6e86bdf8082104f7045aa031e0d2ae1f5a9eaf5126fe9973bd426b783eaf746ae9e86ac6251437bec3eb19d03469b7bcdbfa0250673e3a6727a4e9b029aeef9a9f1f565f6557773e73d336ad003eb0bb279af016b8729620835624a1c4667d06cd2a65adaa74409896b76f4db8003f471d9b3fa2b0e94cc6f123b8758ad5dcfef98de9448cc4760670725f5ced70b03f36aa718d6715f22cc414ad81e5603a68f059da2cb137e98b733d33aba0f735b0219ffff037a215217da5c353fdf83cff67421f514e0c6a06859a63f6e9a016133e7768baf03c3fd54bf8e15c40621fce0177167e6fad85b6aa84042ad6bb9003b95db897e4703a8bd733be28a2284f56687d5e9df16b8192ae019ee02ba878204022b0510f8da036ec570fe3b9e8d08dc5c76ec68f701fd01ec58e9263d7b236e619be74f96f4d603e89ccc561fe2b73a3779df36fded2411d4499cdaca3d9c88f87c815374a0575403e1f7f61734f65ed17d0a3ccd2c82c02b2941649e532baa7d6afd5f9eefe20b44033f5353ce899131d33056ea9841924ec913641a5571c0b68eae67f5dbe3cf473e0219ffff03ae3729bde1c448cd7665515f5b58e43ee482b1e1f9773471d458b2925658eddd03aa3d9e84099495fcaac4bca1b3f0986556f97b0684777615df8df2080bd768890372678cad52484f10978d735f381915ac93f3d93c4d3eabe599def609ebcdc19b033ea6185656815ade5a793a0529fcf2dd87aaf05c328f1dc3777f968832ee593c0388b87518448aaf50db386611e44da23c7be5614460b563862e5778da35bf0aff03eb17d7a0c27b6cbcc486b2a9e924afd0449e91871342c5f1fc996e197d3f9e83039cc4ce48ea8137f2be42dded37e0648a1b7c0809f3c97ffdaf6acef974a02b9703683278c6c78a1c7f5bc9c71d1c927816c874f40660ac88f031760fa68e76056603a982b0b5eefd99e38f046321c7d07d635b37556b29a64dd1bae9077fe45fcb20039669cd279adece0ab34f7a63d2281b9e3cbcc395854f753a832ed8e3665100f50336af8d2a62efee81bae60be46828c5f924a853819c3566e6ef05aca39cfb412903d3b6d35624f74dad9482943b16e978f85c1740c64f08b5e7d80bf4d35dbf54cb035146979b790985f73d6aab896489cf0984f7d55753c356a469c532eaf43473580381724697ed2f47d4ed166a3c4b53d5902b7faa46e51a9e202f60bd02e8475795031acee7df0b775954ce7a6cc74781a2c285f295d442deb6371519cca8e7ed65210347a3027b7da73d1241f89d724be5acf5c6c21c24fd33e132eb8acd526dabf04203e896389c449479b8a548befab0c7fbfa47f829e6ded2fbb39f4133ec8b036bee03f5944cf3c1ecdd90abe2805bd4b99058d300603394d5179ee90fd71b4ffe392c03c0649dce44d2236b86042b0f6e2a6099a24f72ccc578e0f4196994fec2977a5d037b557e67a2a59cb8be4f7b9209546dfebec8beff549ac4d1cf5e25934c4e85b103a07467479d8d844764178e00694f1f69265474541f5cd151f3e2d5675787006f03c27d32054e84322bdfb70a37930ee3de85043aebb34cdfde62cdc5c22ed7859103287e2780039aa361044170ed14051f0baf77dc238619da2da89edea68bac033c03b332227b17565726f04dda161bbef5cf2543ef2cd0552fff11611d4a56f110ba0352d83eae12221d3199730d03f01431ae8f311f05d5dfb750aec3690230cf7939031ef7bafc2428bed1014196a346035b87a5f292040f02842dd99f12ee1138421f03c8bdf22c8233cd5b2297befe578ed4795fca563a75487a3996c8bad4fc5bcd1f03b6b6f23f7300a838709cbd132ccb0cfaf80197e9d2034f4a591246c7b6f8499d0303b65196a8cf63075b5c7759679c4a0e6adcc16a841bc7900b0eee4782e5d41f03c8d5e30378a1ccf2976579229d51d39ccb05ce8285933478475108b66e2193e005581e03520f1c1144b24c2ce87e7459e0bc768a2b327757bdee9be235cdfda630040105581e03adc92a3d57103e87d72eae67f3ea13a730225d0e1e8e0af52b59c2b6800c034655e9e86224d805581e0320dc1086e8876e02ff4f7cbb69e79bb49001d246469a012822f6b05d700401034875555289f79c2c2f7431de427e59d5d70fd6f1d70b7aa84e71ebb4cb3d247305581e0314055b1c9397f758dc84a39c23a8056b3bc19add63abac4f3ddca21570040105581e037e2a455dbb9216f5da64ca9338618bd59782bba0426a3a3ef68c0cff70040105581e031aed6efe4c866f79ffb7b91ed02c6af216d04ef1757d9d6d53658273f00c054729084c5e764134038a70a36b03df65c40adce9a36ad23eb646131d89372524efd60698ec88c1a3fc05581d0287d6e269b41b8c7406da2c48373f4c3dba68e9d6d0acfd71821198f4040204595ba8608060405234801561001057600080fd5b506004361061036d5760003560e01c80638456cb59116101d3578063b7b7289911610104578063e3ee160e116100a2578063ef55bec61161007c578063ef55bec614611122578063f2fde38b1461118e578063f9f92be4146111c1578063fe575a87146111f45761036d565b8063e3ee160e14611075578063e5a6b10f146110e1578063e94a0102146110e95761036d565b8063d505accf116100de578063d505accf14610f64578063d608ea6414610fc2578063d916948714611032578063dd62ed3e1461103a5761036d565b8063b7b7289914610db0578063bd10243014610e78578063cf09299514610e805761036d565b8063a0cc6a6811610171578063aa20e1e41161014b578063aa20e1e414610cd4578063aa271e1a14610d07578063ad38bf2214610d3a578063b2118a8d14610d6d5761036d565b8063a0cc6a6814610c5a578063a457c2d714610c62578063a9059cbb14610c9b5761036d565b80638da5cb5b116101ad5780638da5cb5b14610b6a57806395d89b4114610b725780639fd0506d14610b7a5780639fd5a6cf14610b825761036d565b80638456cb5914610a4b57806388b7ab6314610a535780638a6db9c314610b375761036d565b806338a63183116102ad57806354fd4d501161024b5780635c975abb116102255780635c975abb146109d557806370a08231146109dd5780637ecebe0014610a105780637f2eecc314610a435761036d565b806354fd4d501461094c578063554bab3c146109545780635a049a70146109875761036d565b806340c10f191161028757806340c10f19146107fb57806342966c6814610834578063430239b4146108515780634e44d956146109135761036d565b806338a63183146107b257806339509351146107ba5780633f4ba83a146107f35761036d565b80632fc81e091161031a578063313ce567116102f4578063313ce5671461056f5780633357162b1461058d57806335d99f35146107795780633644e515146107aa5761036d565b80632fc81e09146105015780633092afd51461053457806330adf81f146105675761036d565b80631a8952661161034b5780631a8952661461045657806323b872dd1461048b5780632ab60045146104ce5761036d565b806306fdde0314610372578063095ea7b3146103ef57806318160ddd1461043c575b600080fd5b61037a611227565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103b457818101518382015260200161039c565b50505050905090810190601f1680156103e15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104286004803603604081101561040557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356112d3565b604080519115158252519081900360200190f35b610444611374565b60408051918252519081900360200190f35b6104896004803603602081101561046c57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661137a565b005b610428600480360360608110156104a157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135611437565b610489600480360360208110156104e457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166116f2565b6104896004803603602081101561051757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611853565b6104286004803603602081101561054a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118bb565b6104446119b4565b6105776119d8565b6040805160ff9092168252519081900360200190f35b61048960048036036101008110156105a457600080fd5b8101906020810181356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460018302840111640100000000831117156105f357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929594936020810193503591505064010000000081111561064657600080fd5b82018360208201111561065857600080fd5b8035906020019184600183028401116401000000008311171561067a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092959493602081019350359150506401000000008111156106cd57600080fd5b8201836020820111156106df57600080fd5b8035906020019184600183028401116401000000008311171561070157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505050813560ff16925050602081013573ffffffffffffffffffffffffffffffffffffffff908116916040810135821691606082013581169160800135166119e1565b610781611d23565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610444611d3f565b610781611d4e565b610428600480360360408110156107d057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d6a565b610489611e02565b6104286004803603604081101561081157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135611ec5565b6104896004803603602081101561084a57600080fd5b5035612296565b6104896004803603604081101561086757600080fd5b81019060208101813564010000000081111561088257600080fd5b82018360208201111561089457600080fd5b803590602001918460208302840111640100000000831117156108b657600080fd5b9193909290916020810190356401000000008111156108d457600080fd5b8201836020820111156108e657600080fd5b8035906020019184600183028401116401000000008311171561090857600080fd5b509092509050612538565b6104286004803603604081101561092957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356126ef565b61037a612882565b6104896004803603602081101561096a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166128b9565b610489600480360360a081101561099d57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060208101359060ff6040820135169060608101359060800135612a20565b610428612abe565b610444600480360360208110156109f357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612adf565b61044460048036036020811015610a2657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612af0565b610444612b18565b610489612b3c565b610489600480360360e0811015610a6957600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610ac257600080fd5b820183602082011115610ad457600080fd5b80359060200191846001830284011164010000000083111715610af657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612c16945050505050565b61044460048036036020811015610b4d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16612d7a565b610781612da2565b61037a612dbe565b610781612e37565b610489600480360360a0811015610b9857600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359181019060a081016080820135640100000000811115610be557600080fd5b820183602082011115610bf757600080fd5b80359060200191846001830284011164010000000083111715610c1957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550612e53945050505050565b610444612eea565b61042860048036036040811015610c7857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612f0e565b61042860048036036040811015610cb157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135612fa6565b61048960048036036020811015610cea57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613109565b61042860048036036020811015610d1d57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613270565b61048960048036036020811015610d5057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661329b565b61048960048036036060811015610d8357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135613402565b61048960048036036060811015610dc657600080fd5b73ffffffffffffffffffffffffffffffffffffffff82351691602081013591810190606081016040820135640100000000811115610e0357600080fd5b820183602082011115610e1557600080fd5b80359060200191846001830284011164010000000083111715610e3757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613498945050505050565b61078161352d565b610489600480360360e0811015610e9657600080fd5b73ffffffffffffffffffffffffffffffffffffffff823581169260208101359091169160408201359160608101359160808201359160a08101359181019060e0810160c0820135640100000000811115610eef57600080fd5b820183602082011115610f0157600080fd5b80359060200191846001830284011164010000000083111715610f2357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613549945050505050565b610489600480360360e0811015610f7a57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c001356136a2565b61048960048036036020811015610fd857600080fd5b810190602081018135640100000000811115610ff357600080fd5b82018360208201111561100557600080fd5b8035906020019184600183028401116401000000008311171561102757600080fd5b509092509050613744565b61044461382d565b6104446004803603604081101561105057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516613851565b610489600480360361012081101561108c57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613889565b61037a6139f1565b610428600480360360408110156110ff57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135613a6a565b610489600480360361012081101561113957600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101000135613aa2565b610489600480360360208110156111a457600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613bfd565b610489600480360360208110156111d757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613d50565b6104286004803603602081101561120a57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16613e0d565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b820191906000526020600020905b8154815290600101906020018083116112ae57829003601f168201915b505050505081565b60015460009074010000000000000000000000000000000000000000900460ff161561136057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484613e18565b50600192915050565b600b5490565b60025473ffffffffffffffffffffffffffffffffffffffff1633146113ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b6113f381613f5f565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f117e3210bb9aa7d9baff172026820255c6f6c30ba8999d1c2fd88e2848137c4e90600090a250565b60015460009074010000000000000000000000000000000000000000900460ff16156114c457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336114ce81613f6a565b15611524576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461152e81613f6a565b15611584576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8461158e81613f6a565b156115e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a6020908152604080832033845290915290205485111561166d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001806159146028913960400191505060405180910390fd5b611678878787613f98565b73ffffffffffffffffffffffffffffffffffffffff87166000908152600a602090815260408083203384529091529020546116b39086614163565b73ffffffffffffffffffffffffffffffffffffffff88166000908152600a60209081526040808320338452909152902055600193505050509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461177857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166117e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061575d602a913960400191505060405180910390fd5b600e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517fe475e580d85111348e40d8ca33cfdd74c30fe1655c2d8537a13abc10065ffa5a90600090a250565b60125460ff1660011461186557600080fd5b6000611870306141da565b9050801561188357611883308383613f98565b61188c30614224565b5050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166002179055565b60085460009073ffffffffffffffffffffffffffffffffffffffff16331461192e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055600d909152808220829055517fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb666929190a2506001919050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b60065460ff1681565b60085474010000000000000000000000000000000000000000900460ff1615611a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061598f602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8416611ac1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316611b2d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157346029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216611b99576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e81526020018061593c602e913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116611c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615a7c6028913960400191505060405180910390fd5b8751611c189060049060208b01906154cd565b508651611c2c9060059060208a01906154cd565b508551611c409060079060208901906154cd565b50600680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff8716179055600880547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff8781169190911790925560018054821686841617905560028054909116918416919091179055611cda8161422f565b5050600880547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050565b60085473ffffffffffffffffffffffffffffffffffffffff1681565b6000611d49614276565b905090565b600e5473ffffffffffffffffffffffffffffffffffffffff1690565b60015460009074010000000000000000000000000000000000000000900460ff1615611df757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b33848461436b565b60015473ffffffffffffffffffffffffffffffffffffffff163314611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60015460009074010000000000000000000000000000000000000000900460ff1615611f5257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16611fba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b33611fc481613f6a565b1561201a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361202481613f6a565b1561207a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff85166120e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806156c96023913960400191505060405180910390fd5b6000841161213f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157ac6029913960400191505060405180910390fd5b336000908152600d6020526040902054808511156121a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615a02602e913960400191505060405180910390fd5b600b546121b590866143b5565b600b556121d4866121cf876121c9836141da565b906143b5565b614430565b6121de8186614163565b336000818152600d6020908152604091829020939093558051888152905173ffffffffffffffffffffffffffffffffffffffff8a16937fab8530f87dc9b59234c4623bf917212bb2536d647574c8e7e5da92c2ede0c9f8928290030190a360408051868152905173ffffffffffffffffffffffffffffffffffffffff8816916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600195945050505050565b60015474010000000000000000000000000000000000000000900460ff161561232057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b336000908152600c602052604090205460ff16612388576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806158a06021913960400191505060405180910390fd5b3361239281613f6a565b156123e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b60006123f3336141da565b90506000831161244e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806156a06029913960400191505060405180910390fd5b828110156124a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602681526020018061587a6026913960400191505060405180910390fd5b600b546124b49084614163565b600b556124c5336121cf8386614163565b60408051848152905133917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051848152905160009133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a3505050565b60125460ff1660021461254a57600080fd5b6125566005838361554b565b5060005b83811015612698576003600086868481811061257257fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff168352508101919091526040016000205460ff166125fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603d8152602001806155ed603d913960400191505060405180910390fd5b61262b85858381811061260957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16614224565b6003600086868481811061263b57fe5b6020908102929092013573ffffffffffffffffffffffffffffffffffffffff1683525081019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905560010161255a565b506126a230614224565b505030600090815260036020819052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009081169091556012805490911690911790555050565b60015460009074010000000000000000000000000000000000000000900460ff161561277c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b60085473ffffffffffffffffffffffffffffffffffffffff1633146127ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806157fb6029913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83166000818152600c6020908152604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055600d825291829020859055815185815291517f46980fca912ef9bcdbd36877427b6b90e860769f604e89c0e67720cece530d209281900390910190a250600192915050565b60408051808201909152600181527f3200000000000000000000000000000000000000000000000000000000000000602082015290565b60005473ffffffffffffffffffffffffffffffffffffffff16331461293f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166129ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061564d6028913960400191505060405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fb80482a293ca2e013eda8683c9bd7fc8347cfdaeea5ede58cba46df502c2a60490600090a250565b60015474010000000000000000000000000000000000000000900460ff1615612aaa57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614531565b5050505050565b60015474010000000000000000000000000000000000000000900460ff1681565b6000612aea826141da565b92915050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526011602052604090205490565b7fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de881565b60015473ffffffffffffffffffffffffffffffffffffffff163314612bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615a306022913960400191505060405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b60015474010000000000000000000000000000000000000000900460ff1615612ca057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b86612caa81613f6a565b15612d00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b86612d0a81613f6a565b15612d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614571565b505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff166000908152600d602052604090205490565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff1615612edd57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b612ab78585858585614692565b7f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226781565b60015460009074010000000000000000000000000000000000000000900460ff1615612f9b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61136b338484614956565b60015460009074010000000000000000000000000000000000000000900460ff161561303357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b3361303d81613f6a565b15613093576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8361309d81613f6a565b156130f3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6130fe338686613f98565b506001949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461318f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff81166131fb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602f8152602001806158c1602f913960400191505060405180910390fd5b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fdb66dfa9c6b8f5226fe9aac7e51897ae8ee94ac31dc70bb6c9900b2574b707e690600090a250565b73ffffffffffffffffffffffffffffffffffffffff166000908152600c602052604090205460ff1690565b60005473ffffffffffffffffffffffffffffffffffffffff16331461332157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff811661338d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526032815260200180615ad26032913960400191505060405180910390fd5b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83811691909117918290556040519116907fc67398012c111ce95ecb7429b933096c977380ee6c421175a71a4a4c6c88c06e90600090a250565b600e5473ffffffffffffffffffffffffffffffffffffffff163314613472576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806158f06024913960400191505060405180910390fd5b61349373ffffffffffffffffffffffffffffffffffffffff841683836149b2565b505050565b60015474010000000000000000000000000000000000000000900460ff161561352257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b613493838383614a3f565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60015474010000000000000000000000000000000000000000900460ff16156135d357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b866135dd81613f6a565b15613633576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8661363d81613f6a565b15613693576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b612d6f89898989898989614b49565b60015474010000000000000000000000000000000000000000900460ff161561372c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b61373b87878787878787614be7565b50505050505050565b60085474010000000000000000000000000000000000000000900460ff168015613771575060125460ff16155b61377a57600080fd5b6137866004838361554b565b506137fb82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505060408051808201909152600181527f320000000000000000000000000000000000000000000000000000000000000060208201529150614c299050565b600f555050601280547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b7f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742981565b73ffffffffffffffffffffffffffffffffffffffff9182166000908152600a6020908152604080832093909416825291909152205490565b60015474010000000000000000000000000000000000000000900460ff161561391357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b8861391d81613f6a565b15613973576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b8861397d81613f6a565b156139d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c3f565b5050505050505050505050565b6007805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156112cb5780601f106112a0576101008083540402835291602001916112cb565b73ffffffffffffffffffffffffffffffffffffffff919091166000908152601060209081526040808320938352929052205460ff1690565b60015474010000000000000000000000000000000000000000900460ff1615613b2c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a2070617573656400000000000000000000000000000000604482015290519081900360640190fd5b88613b3681613f6a565b15613b8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b88613b9681613f6a565b15613bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b046025913960400191505060405180910390fd5b6139e48b8b8b8b8b8b8b8b8b614c83565b60005473ffffffffffffffffffffffffffffffffffffffff163314613c8357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116613cef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806156ec6026913960400191505060405180910390fd5b6000546040805173ffffffffffffffffffffffffffffffffffffffff9283168152918316602083015280517f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09281900390910190a1613d4d8161422f565b50565b60025473ffffffffffffffffffffffffffffffffffffffff163314613dc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c815260200180615824602c913960400191505060405180910390fd5b613dc981614224565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a250565b6000612aea82613f6a565b73ffffffffffffffffffffffffffffffffffffffff8316613e84576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806159de6024913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216613ef0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806157126022913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8084166000818152600a6020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b613d4d816000614cc7565b73ffffffffffffffffffffffffffffffffffffffff1660009081526009602052604090205460ff1c60011490565b73ffffffffffffffffffffffffffffffffffffffff8316614004576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806159b96025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216614070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602381526020018061562a6023913960400191505060405180910390fd5b614079836141da565b8111156140d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806157d56026913960400191505060405180910390fd5b6140e8836121cf836140e2876141da565b90614163565b6140f9826121cf836121c9866141da565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000828211156141d457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff166000908152600960205260409020547f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b613d4d816001614cc7565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f8101849004840282018401909252818152600093611d4993919290918301828280156143235780601f106142f857610100808354040283529160200191614323565b820191906000526020600020905b81548152906001019060200180831161430657829003601f168201915b50505050506040518060400160405280600181526020017f3200000000000000000000000000000000000000000000000000000000000000815250614366614d50565b614d54565b73ffffffffffffffffffffffffffffffffffffffff8084166000908152600a602090815260408083209386168352929052205461349390849084906143b090856143b5565b613e18565b60008282018381101561442957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156144a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615850602a913960400191505060405180910390fd5b6144b282613f6a565b15614508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806157876025913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff909116600090815260096020526040902055565b612ab78585848487604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614a3f565b73ffffffffffffffffffffffffffffffffffffffff861633146145df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602581526020018061596a6025913960400191505060405180910390fd5b6145eb87838686614dc8565b604080517fd099cc98ef71107a616c4f0f941f04c322d8e254fe26b3c6668db87aae413de860208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b6146878783615006565b61373b878787613f98565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214806146c05750428210155b61472b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a207065726d697420697320657870697265640000604482015290519081900360640190fd5b60006147d3614738614276565b73ffffffffffffffffffffffffffffffffffffffff80891660008181526011602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938b166060840152608083018a905260a083019390935260c08083018990528151808403909101815260e09092019052805191012061508b565b905073800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea6528783856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614860578181015183820152602001614848565b50505050905090810190601f16801561488d5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b1580156148ac57600080fd5b505af41580156148c0573d6000803e3d6000fd5b505050506040513d60208110156148d657600080fd5b505161494357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f454950323631323a20696e76616c6964207369676e6174757265000000000000604482015290519081900360640190fd5b61494e868686613e18565b505050505050565b61349383836143b084604051806060016040528060258152602001615b4e6025913973ffffffffffffffffffffffffffffffffffffffff808a166000908152600a60209081526040808320938c168352929052205491906150c5565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613493908490615176565b614a49838361524e565b614ac3837f158b0a9edf7a828aad02f63cd515c68ef2f50ba807396f6d12842833a159742960001b8585604051602001808481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040516020818303038152906040528051906020012083614e88565b73ffffffffffffffffffffffffffffffffffffffff8316600081815260106020908152604080832086845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518492917f1cdd46ff242716cdaa72d159d339a485b3438398348d68f09d7c8c0a59353d8191a3505050565b614b5587838686614dc8565b604080517f7c7c6cdb67a18743f49ec6fa9b35f50d52ed05cbed4cc592e13b44501c1a226760208083019190915273ffffffffffffffffffffffffffffffffffffffff808b1683850152891660608301526080820188905260a0820187905260c0820186905260e080830186905283518084039091018152610100909201909252805191012061467d90889083614e88565b61373b87878787868689604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614692565b600046614c37848483614d54565b949350505050565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614b49565b612d6f89898989898988888b604051602001808481526020018381526020018260ff1660f81b81526001019350505050604051602081830303815290604052614571565b80614cda57614cd5826141da565b614d23565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600960205260409020547f8000000000000000000000000000000000000000000000000000000000000000175b73ffffffffffffffffffffffffffffffffffffffff90921660009081526009602052604090209190915550565b4690565b8251602093840120825192840192909220604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8187015280820194909452606084019190915260808301919091523060a0808401919091528151808403909101815260c09092019052805191012090565b814211614e20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615675602b913960400191505060405180910390fd5b804210614e78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615b296025913960400191505060405180910390fd5b614e82848461524e565b50505050565b73800c32eaa2a6c93cf4cb51794450ed77fbfbb172636ccea65284614eb4614eae614276565b8661508b565b846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614f23578181015183820152602001614f0b565b50505050905090810190601f168015614f505780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015614f6f57600080fd5b505af4158015614f83573d6000803e3d6000fd5b505050506040513d6020811015614f9957600080fd5b505161349357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f46696174546f6b656e56323a20696e76616c6964207369676e61747572650000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8216600081815260106020908152604080832085845290915280822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055518392917f98de503528ee59b575ef0c0a2576a82497bfc029a5685b209e9ec333479b10a591a35050565b6040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000818484111561516e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561513357818101518382015260200161511b565b50505050905090810190601f1680156151605780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60606151d8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166152dc9092919063ffffffff16565b805190915015613493578080602001905160208110156151f757600080fd5b5051613493576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615a52602a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8216600090815260106020908152604080832084845290915290205460ff16156152d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615aa4602e913960400191505060405180910390fd5b5050565b6060614c378484600085856152f085615447565b61535b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106153c557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101615388565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615427576040519150601f19603f3d011682016040523d82523d6000602084013e61542c565b606091505b509150915061543c82828661544d565b979650505050505050565b3b151590565b6060831561545c575081614429565b82511561546c5782518084602001fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181815284516024840152845185939192839260440191908501908083836000831561513357818101518382015260200161511b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061550e57805160ff191683800117855561553b565b8280016001018555821561553b579182015b8281111561553b578251825591602001919060010190615520565b506155479291506155d7565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106155aa578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082351617855561553b565b8280016001018555821561553b579182015b8281111561553b5782358255916020019190600101906155bc565b5b8082111561554757600081556001016155d856fe46696174546f6b656e56325f323a20426c61636b6c697374696e672070726576696f75736c7920756e626c61636b6c6973746564206163636f756e742145524332303a207472616e7366657220746f20746865207a65726f20616464726573735061757361626c653a206e65772070617573657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e206973206e6f74207965742076616c696446696174546f6b656e3a206275726e20616d6f756e74206e6f742067726561746572207468616e203046696174546f6b656e3a206d696e7420746f20746865207a65726f20616464726573734f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737346696174546f6b656e3a206e65772070617573657220697320746865207a65726f2061646472657373526573637561626c653a206e6577207265736375657220697320746865207a65726f206164647265737346696174546f6b656e56325f323a204163636f756e7420697320626c61636b6c697374656446696174546f6b656e3a206d696e7420616d6f756e74206e6f742067726561746572207468616e203045524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f7420746865206d61737465724d696e746572426c61636b6c69737461626c653a2063616c6c6572206973206e6f742074686520626c61636b6c697374657246696174546f6b656e56325f323a2042616c616e636520657863656564732028325e323535202d20312946696174546f6b656e3a206275726e20616d6f756e7420657863656564732062616c616e636546696174546f6b656e3a2063616c6c6572206973206e6f742061206d696e74657246696174546f6b656e3a206e6577206d61737465724d696e74657220697320746865207a65726f2061646472657373526573637561626c653a2063616c6c6572206973206e6f7420746865207265736375657245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636546696174546f6b656e3a206e657720626c61636b6c697374657220697320746865207a65726f206164647265737346696174546f6b656e56323a2063616c6c6572206d7573742062652074686520706179656546696174546f6b656e3a20636f6e747261637420697320616c726561647920696e697469616c697a656445524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737346696174546f6b656e3a206d696e7420616d6f756e742065786365656473206d696e746572416c6c6f77616e63655061757361626c653a2063616c6c6572206973206e6f7420746865207061757365725361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656446696174546f6b656e3a206e6577206f776e657220697320746865207a65726f206164647265737346696174546f6b656e56323a20617574686f72697a6174696f6e2069732075736564206f722063616e63656c6564426c61636b6c69737461626c653a206e657720626c61636b6c697374657220697320746865207a65726f2061646472657373426c61636b6c69737461626c653a206163636f756e7420697320626c61636b6c697374656446696174546f6b656e56323a20617574686f72697a6174696f6e206973206578706972656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122005677c3919f4b149e065a5983baa9e2fb099cab5463ccd06429f70b32d8d9bdf64736f6c634300060c00330058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630410103bdc011f506efa58f1b2550ca80958d2a7c39f979f40d537e110b221c62364ebd005821031347d38f9027b008ab764477dff5db62e1ce3cab675df1efadd25bb228ba1ee05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103216fe201c80e31523065747b4c3a11b5ce64700caa277669094d49e7d42e4c105820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582103d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80205820ff1bba8c5962591285628e226cfe21a129312cfd293b407070da1d82f098460100582103517498924e66ba831af2769eea8312cb5261242822e63a2d7cc49a5c707be180500785ee10d5da46d900f436a00000000003b30d5e39bb2a266518592f8bf752ce6d25fcfd24908b3c862f5f487ddf91096100582103e453bb62162b907fe0133f23a577de7bec75205eca5e557cfe3ef2dcc72205905820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005821035ca2f3d6ffed7c02f4752b25e41af1736966153795558b64be92a8283b5b1500430f42400058210317fb9989707d00d29edf83f0ce78ffe6efc3e7e2f0a33e6a7370cf9390ae63c058208000000000000000000000000000000000000000000000000000000000000000036082dea626a28fd5714b7132ebeda7497f1e481e325c85a848f757266e4fd23c0219fd7405581d020ab04938f26cadaf9df6fe1389ad0a110acc2ffd76feaa1dc72a138e0701195ba802182205581e035c0f632b2b143a27400257b92b6008ecc69a7ff00d34104f16bff667200c0147038e3c48e101c2021976da0375422af2844a3f87b243c9644f9f0ace175126b6492d47fd381fa2a357c1cb80038ac19fcc050a9e37b43a0f86466b5d2c5f9fe6e03a54a31532e042a2af4d43fa039b617dfcdc2dc5aea5cf6c052a8ae308801747f0bb7e141baeef835768b7806903eddebb3d9c98cca8c716e36fcb1ca053ddd936471a00f8cbbdfd18edab81e54403fd6aeaae8798f0258a6ccee26583471aacf6b73c9ebc543b7a58e8ebb3e31e9e0301169c038c640981817684b51c3e5cfc459871984377458a9bb7da2ba71e0f4d03378358a91de0e8a9248740f7b8fd7151b8fb651d32714e9e651d71f969f9de4e0393fba4b24677444331d035dca0bb5a72cd32ca6763e82c6ab222e08c1c6f6b3f0378dcd74e07bca5759db73a24e62d4099a3600f084d0458830897538df421b76803996080aefabffcc80a0feba456709477d477bad68d9d4179d600201790235f570319a9ba3f2108048e07191495f1499e56c1a33a96d3f7e135d3410d10cb6e527d0376afc3bf5b27d160ed41d005ba5d67039dd2f6f8f874efb2ce15b84a89675a6603f984c38c2d5a6efa92af5a93f30139b77e3d9c5b0c6ada51b61c69068461cc250219ffff03af6682305ae7b03099c2e54de946ea6b56dd4ed1dada269eba0a47f38b120f320388c8cdc2a2b3326610660efe808a73c1c21992c3d17d85cb94df4df17f35b88903c5ad6f8fb9bedbd6231dd2a9dd8c86c51334fd0116e62006edef50927010ff7503430b0392e91a099347a3199c0c571fd7c80482f7c8e5c2fe49605d3114ededd50380e40eb2eb5e139a0e8ede6832ff0e970845863c9998be7c74bb1d0127e1d94503d4f110db03b2d5f9414b8e8d371a50bac4209a1e0e50865c34707868819b6cf603ea5582cac2968a17342736076a86fe46936420f91c3a61d1afb94fde99e60cd303aec7eed066d191a30043c923ef3a2be192fefcd6d87cfed635c15f5d2d9f276b03f0f23bd5a2e7bf67f7ccda1d98611afc610954eca5d71ef9bc83b1c3c62f343a039fa1c7a07e22cae10147e96e609a945ed6c979f236ffbd190fba130d76f7017303f386a057c0d2f1e078796fb7b44f7504b34adb1e05e8df9a1e595af6621e9bd60219ffff0359508ed025d5670d667c5d4c3d261b629944968c5fff83afee0f637a85d9f04a0375e25eef1c36b06fec7425b95d7dce58181d36a182a560b23f3ac5f2854282130387c050177c7e945a8391a0db9d8b3be6556ba18bef2b258cef6289abb6e3f0540344568888dead34c24a9355c7e8a7bac606ae69b9995d3feadccc83772d1b3c2a03d7c69884c08b9a4c24e359d236ed8a10572d9d1da9091525c7c712a1264aa19d03a1b9ce321035888eb5b1692e748edf6c92dcca701d34598653009943cdabdb3d03d7e4b01565df73aa64da6950dc48f70a102f003deb8feeec644276784fb95b550219ffff03d8ecf4a13835840414860013d56cf1990685c7809c6b934c6e18c78bebea6aa80332bd5487c0b187e28e5402454cb28ac15ebe5f17f292ed11cd3906bab9ff1d6603180550b5c639c09e562e53aeffb402379c16d957743e76d75b59d5938e7a85dd030ee473ad0ad8c3ca34e81f9cf6d174ca0350791acd10efdb61eb8fc14fada7e103bedb52411df67da524a539222e9e2e19e2147bbf0e2fd27bccdac57e8b0f006b03f210feba3d08531a5979973c54165af4ce4c706544daedfc8a55674af3a795d103f0f82fd96b26fc01967f78a7c4cb3427cec2da5ce2c7587f2b3f3df9f9b7e3310219ffff03bd6c5438f4cb63aee0960d50203cbb14e9080767d320058e75d827f2f32480120313d29f4c8e3c7fad64e5865dbc5ca27c234da7c1f68a651df44da2f4948da4e503b074eaa37cdc5af1e5cae7d3c8990f8cba89d45540fcb51fe802c44ba9bf0d940219ffff0352364ad1b316271c2f8b7b05604ce2662bddafe9b5bd7861674349148ebb4a81036bb759bd5dd6f1455ece7a3eaea4a225ebc721f3a4278f5aaa6b241a022041ce03f09d3fe65db5559fe43b961150d7767b00b24f06c654ae541795401b83353ae6030cd43626894c44c1d18c1edeb6896a76cc11a6cac8b892e08db0c76a9f6e1c6503a57e385726bae4d4591ce8d4954aa59d137b07310f60ca749a354cefed2a777b03bd9793bb140af19d25c449a87e56f340f2c7ea439a5a2e85c06f564575f9358e03e719dfdb336a2f2a4eddb2e1d0147fbb096055d8268a416d5c53d4d18ad17c2803e814fcb5f465db443532245ef1c3e26ff54878b8bc0c9342ddc7cb14a221e0a803b589fe3f0efa2175970556cb83f11198fbf26a4d6b3460b32ba0c1b29c8ef20503603d2666dfea444b822e10cca08af350e14f76cd27409b875d9d4e546ec3bfe5038932270520b0a21b5666a579dab3063540060a5d6b0189e295436ef86a3d0ac10326cf37c124f939ef5c7d3349904be0225c6ba054c3108285f6b88608807d3d1903224a867aaabea5993913aa07656725502c819ee0123d38009e7aebc36eaf1a8f03c699c6e495b9ebdaafbf526074b63632d5d9a709a2b8f3a22f4c4468874c001b03bbbd99cf9792ae6ae78eeb4270b30219875ae8d120d497eaf0c4c5f72f658df9039735f29c896d8fd2e5873c5c7a143f5cde13e8cbcd37c472aaef87859d369a0303f36f84e203beaffda0838e787138f9a9ed38ec08fd0f92bbed39a5f649017eec03f7e86666a7cbb9e9478f5d4f20a95d9e093202a2878a6626a27e8930ede112b5037fb3aa31ee298275284260565a045bc33b3e1c0eb3b284ad3022223c0bfe65cb037ee788b804b612219758892881df2103dfb1701825933ece0eb865a355c7400503978f59b94b41585bf997ff7bf53602355f327c758001a66c40da79213114e7c103418a57029b7336ab35dcde64aaf6c05b5688763c4d996af8e19b12ca532da253037952d4b82231bb973797740c10d1da8adaa3591416498df2cf483895190767b70369c40c88a986d2ad437475c38832a39a1d35c152ce661e7d3c2b7739e41ad65d03ad5472fccb9fe8a4e6f6dbde546251fc0a28ec170939f338d90ff7ccd3f8a23903b762ef1046b76c49a11dee46475c0d8309e09bf58d5831db149aafe187b00c5b03d1dc93fa8e17727b09e442be0093007840f9838681dc03dfe23455799cbe29550354f67d476b8244833ad6095849f58377eb3d3feb994cb99e1f110b9312e5a68403a578ddda08950c2deaaccd631b13fee192edacc442a855354102a174f13bb9150367e87802d1d939c4d58d69b9ab35794ab3338f8f8303a5e38d98a904e29fa1ab0327b93e3bec8a3b8794bc9d0c08ba63d671fc99f272d4e28699ca6a6c363b5693034951106ae2c24eb77c97bd2d07ec7b129b3a242bb99744df7437e22f1e94e28e032e4286627a6424c4c7e6d6cfd3e0716f73c0c23317d41ac61ce9add54a92465f03ac0e42480713a4294bb759de853fd2ce9ae7f73a268b6c2f7319e0647367bf5603d3e935f774dc01717b0587ca55a3be582c9d5886f5b7a05c7c2756d9e12f7d40038467c84b267451852fc9c08c93e23bbedb3f06367501191d455e54ee4948856e03428ae31eae9618588c602d7dbd4dc45bbd0f09bd582106c6298761666e14e7b4036b65ba160e6025cd21626b158f610373fbbeb1e5e6efaafc5e14fe487495df3903319b863edbbf5ce2f7fb7e84a43a4a6ebad10737fc8d8df61779fcb16ad68fc603897e27f0b8a59b641ae12e0d9ab54e2aff3b997c73c4e68a0e690ac46d10d97903b6b57e6dc03e26a18d637f9ac7c8d1e9ef09f707f2528398e6a666306bd50e4603664b5351af410fba4b9207727c45c38a950adfc0791550cbed9a9a8370d9f308035323fcb3d61183749bb11b848abb44db7e89a0d90f9f7461f8e3ce6d372059a2038045a8809e3c1f7bc3431084c44db03257f71ac796532fcd2bc6f997128b70bf031de2d69f69e8c8f179f426682bb46db3cafc2dabc9297a93ef921f5a21e67e9a0315a9251e4d534129b846355bf23fe7a2590cf4e87d2d961b5d3544a87d97fab003ee20ea803e208eb1785247b9ae64261d55d8fd5c63fc9ace45094d78eaf15cf103dd7054ec140679765d6482262f0d55e3efc4fdc4efd857b62537590c5c6cb22c0385df93e938c128515fe41e4fed157930124adb1a703282459871c72853e784d3039eb6c9001b4cca9709fa924b2939010df907f2c0838bea811f0e7d5526c8c9fc030a4fff2cae7d62385c3c841da8a176d61cb1ba035ecd31d2742e73aa3d3744aa0339af3aee43c7a8692c78c5a29690e90581fb4f4263a1b2877516306196a4a2cb03f8c290a3d8233cd8cfc9f641c538e808a3356e49ff45d122486ed708a77c64f503096525cfb301c70c6842a25028a5474ec59658795ab52415171a9873cbd1477703de5eb12d31c632181f0fd669c2f39323f78b8ee7147da74d975f505e811d3b9f0340a67714071de96b6f686568f1528fd2515e085228c15c2bdb97253f3707358e03dfca6059b898db973fd8cc0ec55d587f5cd26cdcc54c76e394ed190722d0a9e9031dffb577ddd3f75d8b951b93f0b006f8f9c9406282d915dbce809616f674e97f03c701f9a90e796a542dde21183f757e2bdcbce5f4b9c70ede5f110e6e89e9e7460458ab608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033031a02a0d9e5db3663cc6c814456e1d6cfead7da963f9ae6178901c22cf7f72479005820029bfa28377b0cbf3f30c94c44d53591ce0f993529b974ca13869af2e152de5554c66c8aa97065f327fe94b6c845acd7e5aa6f6117005820020decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56354d9db270c1b5e3bd161e8c8503c55ceabee70955200582002367a1e93015b6cf6c6d03b95206549c303b115c28581050a0a76640a7faa295487283071aed93b5ffe43fc97c8d387a57cf57a7b02190a1000582103b19ca0c95929a2a946820150c3c2aa0ee9fbecab56f94ccd76692eb3161f8b90410103c6b0036da1814edb8668263506f5f2ca2d7af469aae95ceece4f0c87719d64b100582103fef4bf8f63cf9dd467136c679c02b5c17fcf6322d9562512bf5eb952cf7cc53054a3014707943bbcccc2c36aa8e5e5cb13db463f25038a9c8f495de1c0f701f7379648498eceea2cd5ff0f40b07b3cc88351a2e4d51b00582103721fbc08ebc780272f50db65b723bc840f50ef981305a91aa8affda1e04fe6104101005821036552f9043f7dbde1a3842eccf846aa02c647c3d99f9371aae3c93798f73f1ab054f48f2b2d2a534e402487b3ee7c18c33aec0fe5e4005821039a728692d694b98d801b72ac20272f7125aa98bed3754df76a17b01e5dcc92304101033507edcb9f82807ce6edbda335c3f99b008f087adbba61c670e3a8dbcd1413e803c11545bb8c1038ce6a5af743d780e7f125983e4d2371a7a6605b566793652192005821034809fc24e46d8b3ff23914aa5485e86bca85b07a862c6c61e2b739a9b0c4712041010219bfcd05581e03a7c44e6e6f10dfb3fd54c75fc36f8e7944076f9e43a475efdaa0c8d4000f01492863503fabb4faa03c18ab03af05f0b75e5fc52f54c5dafa6904b9e6c8a658cc7f71e5e66e8321c5d56ba6d803b41b3a47456e6a4475858dcd426c8b16241ae0b927e11e373b04b4e26241f77405581e033e7cc04dded55ed71e97a7d6d0a4baa236f187a72d2fbe7a31bfb09290040205581e032d0f73c5bcc5473bc059937195e69ecbda5067b8717e64978e7ce10ed00c0d463b5d6a61e1c805581e03cf36789ff8d54aa3b7f9ac9a45c6e59558c9f250bd96699edb42cbd0e00c034740f192ba252e000336e9689ab9beb84ff0db471dbf1e295f7d52d3f18d7bf0716707a06a6f8c443b01410805581e03d6acdd4641b5e1ee166cef3b43f06bfdeb0ffbea03f84b87636a6f5bd00c0146574fbde6000003eb1d68002e96989f80bdad20de8a948a869a1468f3e501ed999eacc3f7cecc610388b62f9296ff82271178174d78caae5ca16d6fd85f68fe7979719740c4cb440805581e039d43066fb8d2ba31305681825250e148b5f4785c309c8d1120d5c151e00c0245f6ccec680003e91d804116acafdaeb23fd10a3a4a65817e857d8ec6a423ddff0af6eb05d3f220141040304d9b8953c7907632ac2c29265d3d79c864578f40a153aa73cebc4456e94a7fb0219b6ff03fd1c7757e911ae4c83adb077dfe60fd07134812fc4367fa0628b94607d5572fe03ef36f517a07bcea02cddce661761a82b40b00b338e567d498914d8ccefea8f1c0219ffff03f82714de77045284ed82da2bada0e10561e931e27a048d8cdd64dc1df880f92803c2e4fae8ff40375054993a076088b2e9341f13a8cc98bd9fe207ea695d28d1b90219ffff03389396210692053efd9fcb65227652af87df90bd54a0803f636ce9af8c3402970333f487d2788628ea68791b29052968e68e189ba03e0b4e9b7c147d8f534fa6400301236bd58f2ccc3ee37e4a9f12a875c9ecb5d65f9904970244f2c435a1d1ed58030a46a46fc79d53cfb896d617739840f5467ebca1f5bec5db09ebefb7d5d5916103bf12abd89e00c1c83b527d24a763621f92cbe51e585bab19bd2b9845ab3a266503129169cac2a2fa5a0611da44bb1e193def1f71ebb9da9c31a8f11d7c88ab70530219ffff03ab7247f0f5f55fb3988b0b3902fffe993fc70e4bef5cc32d2bf552de9175c3fa03d553f1143818714e91f2c08e7bd928ee980b9934db42264f8f13c0889d4e58ed03d58757d4a979bbce0b7c8191d31f09af20d0706bbe014ec61ea61a61e1a24d66030cba6a5c550773435f67cb2f30164ce96371fd643ec1a3cb32d71a56d698b69f0219ffff036d6f7d35e5702cb31a57f7438f302b696763333edf8687b9f8cb576de6b50a4203c23910c7daf887f202b36d06782533cc216f0c772e4ceef0ff1de7b0cc513ce603afde653ec955b650c5fe30aef08d51f61de99ad968aee94c48f2a54a53a232240330740bdd4af7f6171c2529bf02047d45e154e2ad5483b3a2a34d1fcc404b70010374660bd74573eec75b5001615d460ebc40e83420e1206f6f022d323493fff69503b973fc0102b1ffa1e5d066d6a1361dddebcdebffa0de32cdd3526a724b722fbc03291d3f0a869d63fcf173b46f45760efbbefa76a80694b979c2bd9d0f8ce728fb03184d10bb3f1957446e61d32fe0c3f79c4bf6c7c64692e81fc0b5d07a05c68db1038927d8649a41eec8455c94ed8300762ff9c4b92bebcc8d5e79aebba084deee9f037f7619d4c3f34d6dc8171fa574e85e058c3b8bbf2895efd97b58f27586b8a99d034ede30a6e02b494c2b3184cc5da663c5c38c1875ee25a99f49daef30ba63ab3c0374c6180634ac0cea7765d1bc613d7a12b8dad5d3b289e8b7d3191079c3f7a192037f918e61096db1c50df1779268cec06d761904f1e7c877fe9a7aa588b61eaf48039c8b0bc2dab6ab3a45479847eb9f46210fe850d8f6e7699036d76f25b4f5551203f4edea215e7baf2c4b90cc8e4bb920e15cb87ea9db03c297e9510fc5c7e1527503ef740e71dfb185ee90da49f3db3387d3ce84114e39c381d915e02498124dd90803f336ec88b29b64bc66200b86dd3a25a87f660ea846f19040963c85aca5271ee403a9e6a0ace9e3173c42857d13ea5a27522d4aff5cf994470560a8bdce97dd92af0314f12d354ad21627d6d7259a4b522025f24c66131b8cca9cff0e64c338a0a87503055fbe66b56e775ecb4ace42d665da13a2a13fee3933e1b68916c4907be4253a03f50f99f2e8268d0d7e9b2599e48c28271a60db0358df7c0a0e452acee8a8d663036c2584a9790f5e314a95ad055c7b9b5b5db52e13be75fbb7ba1acf7b78861ef9037bae4e065fc732aa1a2c2ba04128999b627c01c26ee72c557e0004678ee4c4c6030741835d3eae443c2e227b89a05aa6735b807ea279d0d21ddcea33dd08558caa038fbfac409146c2a0846f5223362232a7f16d55c00464c29b1eceda7f05f313b003629146347868aac64580e2dc448d613e1a8f4f49bc6e512c2574c6a62b3d738003941121fceacd92d983e19a181011a7e82a81ab963819c07f13006520b920fbde0347e388e376c185802674234ac0e44cee6f21a277b9d4234d9a5f92210944f26803866a6fa658aee93b63294366b22f8e52c3df6ad005e3559947da06769a7292780304ed8bc22bf4b6ce55298c16a6d0ca122b4aaee857d81498d2b0a9af8c84f72503571188b3bc8995eca1f7b473358d0bf7b527fdbb07ccaa45ffd8ca77b6c0037e0333056bc198788e42ed1ac03cf3bc44ece69004f1017a9ff27ea9a54b7dab421203d3578a5be899aa434bca75e068d02b179c0648b5adf72733f6fcaba9f7442afb038490c71a584e93fd0fd5097edeb47f4305512c30860d6406afebfbb029178f4d038fb11e57c16b243aba4707f77aef3b4b0eab088012878aa0392670212dce6e1605581e038053ff4e96caa01c2152e6e627b230012baa5a386b231f7d44afa609c00418bb03562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e038697117fd81c06b06b788ae2a0f80977f36f9340e97ce65e362344f30007011bffffffffffffffff05581e0345f688654aa37a3a79501210323d7f64301f3195d8e888a6e8c55048200c044680aa3629f4f805581d0324e09cfa3143cc228d32c5727d891a57009cb512dd1ce09638de6e4004030459031d60806040526001600160a01b03337f000000000000000000000000e8ac39f0a15dc7eb9cf32c7639e633f24f9ec9ab82160361006a575f356001600160e01b03191663278f794360e11b14610060576040516334ad5dbb60e21b8152600490fd5b610068610106565b005b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54165f808092368280378136915af43d82803e156100a7573d90f35b3d90fd5b634e487b7160e01b5f52604160045260245ffd5b6040519190601f01601f1916820167ffffffffffffffff8111838210176100e557604052565b6100ab565b67ffffffffffffffff81116100e557601f01601f191660200190565b3660041161018f57604036600319011261018f576004356001600160a01b0381169081900361018f576024359067ffffffffffffffff821161018f573660238301121561018f5781600401359061016461015f836100ea565b6100bf565b91808352366024828601011161018f576020815f92602461018d97018387013784010152610193565b565b5f80fd5b90813b1561022a577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a280511561020f5761020c9161024b565b50565b50503461021857565b60405163b398979f60e01b8152600490fd5b604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b5f8061027d93602081519101845af43d15610280573d9161026e61015f846100ea565b9283523d5f602085013e610284565b90565b6060915b906102ab575080511561029957805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806102de575b6102bc575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156102b456fea264697066735822122030cc9d72e095e794d8286b088776326d90cf6b4d62a84a41c9928eb1eb96b3d064736f6c63430008150033036bf9111a4e63036ba43b1ad8b3a21ea3a1bf1583e3d327b04a5fa000cdf1cd8b00582103b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720582096e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f0058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630545c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f005821031ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680541f98431c8ad98523631ae4a59f267346ea31f98403ea63581ce01a703eb6ece6ed458d96aa452acf103a0200c73dfd99b33a2d69a603f7d48beefb88db52e1984205b63aeaa6bfb90eeee62ec4971fd93c72d7538823035f386ed974528f8a87cfb29c07e21ef4118cd779b15b7b44a5f99dbd3484dba0005821035b20eef8615de99c108b05f0dbda081c91897128caa336d75dffb97c4132b4d05446affe1b4f3fc41581fd20fbaf055daeab80a8b503d5f2071d9b48cbe281d6cedf2cbed725df2818b6c6fe0755b39f69b97f07ad3e0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688042271000582003e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6054c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582003d2d76d1f4b7be834882e410b3e3a8afaf69f83600ae24db354391d2378d2e041010209039b8aa1895cf233ea696284244e5cc7b2d367995715eb2953c9fc35b16432614202190802032b862613ed3bfbe3f9cec1078efd720626732f4189967861f59a9ebdf0d549ac0327cfb13450cbe366c6f97e00de1d7befd7887919cf37871946a2a889d2ebc1400058210328a5566b8a884201ab44e2d991177ce8b88325e02e52cbc3da6e67b3ecf29c60410f005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219fdff05581d0365e1068e21405c053274a59672d54b44fa24c79ea53efea0eab136a0070219031d0219200801410a05581e030ea64d72d2dd2d80d58f0e44353cc7296175b643867dedf40d2477be600c182d47478144d653500003e09b1c7ba83761b81aca61084cb1fcba49f5226c000307819efb42abcad1b1c40377c2216d17f562429d033b705155e92fcef8f524b026ad1a42ca5771e8d82b4c03e3d9fa01a5830db36bc5ad827315ea63d76349f0953d2bb2d5570a5b15c00ff903647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0373c5dec0c39df458200472668fadaba3ba732e214eb245cb137876ede47c718605581e0352ba6cb1ba80cd19836ab5fb85366505097beff6427103919802d8ad9007011bffffffffffffffff021967b7036f6f9b23e43e770a16783e16695fa63f9e580d5acde23d3ff4eaf7bb450dcced039bfd18a448a023cff2ffd497548898cefa58a8015c140d52a700e05d9ae3d4c10219ffff0336cf901dda928ebd2e88cc3c743ec9df0eb64b672b836674614bd41be6fa20b303f08168fad6b0b396cea26f4892aad7c5de6df60fecdf61014e8bc76f2f53748103b134808a4a11546f8bb6167bf2ce7270593a55329da355d2205a6d641a6894ee030b0b1db88e87f55903f19e1120ecbf7257f6fb03525b0445f3e81f0953066231030cffdcf0a99a360af2dc18397167ad4c251422da70cc7143beab3d72bcd85b6d03ff18afed4c580a3d24c285db4d8bc1a6ffd99fd265aa72dcba937ab67678285903b359987ad29384443fff76147295e15aab95364155a5b043df2eb23710e78c6d037c4a0e45ef3c635904ad0ba464c6e19ebd428923d9c21c15a41ce81c4b9dafcf03f72a3508db1eab1758a7b804f59e70d93069077158f9600ec21d130375618eda0219ffff03d32c706bab37cc22aef0134add434ec5d1195059b4c408e8bbf22f9f522897a1034d81cb1939b7a12b32a986fb5ed9668a057e929fcf2af32938f5ecd7560cae95035455530a9f5a0024a3f940ae45967482ec5315c99739c71291076ce6a366afdc030d7cd74af3702cc9f41e5f50f4093ccaab2beb69bbf6d70cd1f4cccaa71ba06503251407306071300dd8d78c67cf47b7c4969ae8dee7641a4a909b3f01b00e679203520cc597c7caa9272e0b46a1ed218c5c7094c4be0989fed44c0422b235d5324a038c706cb54cb361a2687e37d8c75e0c418bc22e5e39529a729049cb73ae99a12703f002f181b5556b581aab3a4e448b61b9b5c86aa5b699e36cdba7ebbd9735285a03548a3e68d18d64b8fd4e7ff9a81f4de383619fe636a7963e8004cc7872d5f1ac032ad9a8bccb245f6397e0d65a91e4304a80d57a1bfa1483512c1776e95405399e0332874933c6c6d7ea3d0705bc1ecfc886c284213012699d246526d36fd4f237c5036e3535701d7be395f62105f72ca9981dde21d62967d96b790a68730a84a209f9030376ab238766f1115a5b33874254afbee61ad2e0ca9ffce4d19118d60f8c029b0219ffff037c92233674d33dbca0273e095151636bc14f583cd900880517ad78b29dc158d2034238998146ad8b2c18f0a34c21fc91700469ca0a1cf47cc5284780afbd81bb6003669173f6174a96cd4016b93ecc779bcb69f5365e02debc4ea6daba9bca41da99037d105dbbc01dcdb7af970d387e6c5af8c02a9f8ef8e71b7c2c5b27ce0fb8a3f80219ffff0219ffff03b186caa2538d41b8dca12f97ac3b784895c65de9016e1a4ae4b1cfba5ac0a567033e983d5ee1b269b0ea817d21438f6f82822965b4a37b6ace33953d598830c35703a073460b076b486cf2cb53a7ef1dd47cd72153d52c9d40a9a8658d862fe1014003effddc50a5d0777c8a6e155c4af0641a015dbdd491ed6562d9ef1036ddb51ea003b240b6c8ab4b1cea0c7605ee236b0cbbad021b35f09c7cf3b61c386c728767e803dcf556de2d232d37e3ecc5ee35fc69457d823d25e7f50f72f45dd8f4fb5c0a930356dc69a7f77e2d419c82be3a228d954b8ab0a0ad5ddf3e9dd8b06ab785b5730903ee2024175eac266f791ddb179f2a6a13357a55cecc6b05c100112e33bba8118a03c8ec90acf29a630ccfea290468f284b5d84206a25792171002b15791b4732f7d03b7bf8198a8e73b5476accf662f19506480460a5e604d22863b2bac078708dcc40383654c14b2171246dba1676b1a25926951f64ad1e44cde2b77e776aaa9973ef203c5aebde8074ee94ff8f74d27833159509fa32a8ec0fc210ec3f4391cc7effe9c0314bebe9a1613fdd47f63874da68db4a1f39fc492f73b46278d1c2587f9e5841b03245b052e9ac5b39c5389070e8aace1000cd54e5f498ce1d905db6200c15248f603091af36fad56d652564fbaf5120ae0c2afbd8cf57cb03aa3aed7639745b87e7a034fb27a6582e90c45d0aeab04c5964b60aad642b50f94ac46d91b4e377b5a511e03fba684274bb34cf7c48d32fac8d39ab665a905ee7557d5f68dfca87cfda2dc7703adec40fcc7ab3cc7f0712662f9d233eb42de95af9937dd95ba082d92ebc02690035b64abbe65c04421537d46cd8511cacbc886849b03353b85b3a36b66161a1b8803817eb9d7e8a2d204a274b71182b3146da62e5b1284b199fbe825132ff275e6b103f23e911b3ef6465114298f92ae392ccb4a46f1a7efa2248fa6a86ffb49a0d6550324402e73ffceff9c2c93a52debddd26f1838ffbf4c78ef9f2e62d421ad2bd696032ec506a6e63b9a33ccb8fbdc4f2676198cba04eff249b1c3fc0cd061d01508ff03224b96a96a29c5fb6e5f5a927654495b3017bfb4ab2af004f226de944e05c0d5036ea96670aa7bc642c8b8a41c1601380830309d367f25506df309fadb315f33ab03c6516b2ea9e2b29080570772881c27bbe8a5ad980edea45c143ce94b04760fb1031a3d2bcaa4aae5d656d02224b3b3672534f52d52bcf534d6b8b47e1d31a094b603b56492a8ca2b998c6f2f4f7b1b901f578703d2d54846f4aca309148e57cec73303501b157b052dc0f013a8159310fd0827eb38cc988d90a44ca60d5e27d07438ca0318f809e3a2f48e14c068f3dbff656c3cf118dbdf810ab2eb41edd1bb23872869034328c0137f07e61954349dfdfbe1494e4670e783b257e04e9d37b474c7dfb54f03ff17b8dc15f2c325cd10a460d557d67eacf058ac2f0612085f0866ce39b4b65903243a9f01304270c43dc78314c426eeb71c6ccb0b3ed7c1a55b65cca43e7f8be703e3bb184faa99eca75aa5f8d2e9551d330dfd5d000ed4ac4a3bc1caec8155e20f03b5a8e99289b03256d5a0997f34af8e83d58ecd6a0b49131165c27404c9aa2ea4033e980d9719d068f9e564061def92bf7f0c1431d4254bbbf4134d4b56e021b6f903fadfcbf91a29bebd608931329c96b5811c1343583d8780cb5dc71dca219e689303c195880ebbcba856c416dc363c0bc61c632185933fe60317daf93f8b83e1a2c203578d7e5061b0306312621fe8134e68f5a3d0b59b430ec61739b13830b302c8b703788dbd2c23272499bb1ee5d6d1eb8244881495819586f601ce216de575b43c1603080ec8d006505e440305393abb865ef357cb46eb07a2e49d12a0d4811ff4e8f103eb761f9e7a92608f196a5a769049c7672d0ebd858054ac860d075f22c6e9fb7e03aeb90d8339ba90a180fa43481f2f6bd4c34a3e96b63d11167a687a959837054803cafb14f596be3a83a9ceadef4abc65a5e189ca93c8717a88ff5054391e4e9425037b1f1dc37610377e65ef3b6d9a83b95915458aa8d9d77d968f839d20dd9ce3a2030dca87ff2b319300aa6ba1f70644d41ccb4f56bc1e4e04bf4c6ac6e91d1bef4d03ff225e94f3d003221ae3f25d9e068bb5d233b486ab2007928badd9545fad814303f578ba6ef4f25243b80c1c8cb146563fc96f1ee19de194b8e143969e9fee136c035d79f70921fc86c1b68c54953219565a84d7c4943e71b9f20a193eaf8c1e9ac703f142f0b4965485de3d6941254f6cf57f8f30327ee97e0d22e800a6cdc5f2a33603f698858960c714b534baa70ee7d932aee37457e3d9491f2028b7ab76ef322b4d037dc581e8ffa0a7bdae13ef673135d95ac3f5acc1d3c74e20ceae28d2b1df11ac03a8bc69c936b28a6c39af23f5fcc4a3844384153605b544573093a1f65b5bfa16031aed823221ca6e0df03846414604a669841a222d8e4f931a80e94bbd23c1ca56036635dcd3e6195e9cb56b54aac693b577c7a61efae8a78e083ab4ab09dc0dc0f7039c69cbf3404d2600ba5dd29baab894cbf14eaf90604ecb0bc386234c050659e30322e543fbc5747a2fa6dcc745e6491bef82ee61621dd4f0f0ba122611bd2fc15105581e03548b4e00738642ef76c64430a458d2935ed62e3bb3bb3f3a2470bd72d00c19162c480b1d3e8cbfcc170005581e0357c90cdec79e0dd51ce7237f11dd64489032e3714ea2ed321ce6d4f1c004060303e7cbf53173e4de491288d5c010b4057c59c17d261133f477e22024eec8b14a05581e034c4f5ebd61961ca5f1b4da64d7a11efef7be683e47db94d78dc6ec1d300c0d47bdc4517c499cf403efdb6b712223be44d1f5ef236e1bbcfbb0ae48b941a84685a2073e2fe150b69705581e030e50e356b1f2d5cc60d54f1aacbff790a893b046c3889f2be31a47c060084812a1d8db3911700005581e03627fcc272f5aef2b30392948ad61991871f9e8171e558b7c1134f2b5f00c18184711b353c10a378f05581e03a214e046930d119c8772e4e619de95a950854c7a64fdb08832c351b7500c014807595f8f907a9a600353f3aed87582fca2e8818e5b578a8330637961f4f9dc132ff55fa7a932ba187503460c59fb861f1fa0852ff099b65087576b513d3220558b1d3968636ab27a4ec70219f9f003a82c025aee2624c99460cafe3db7cd7d733a9a51c7d5e3dc3cb233189045a6ac03cbc2bcf31ece53dcd0d9079f7497e9c5eed93282b21160c11fbd687e7f6d437003d18dc0dd814609fd8a314b13e38b14912c55c74cd2e21defa42dace63317eb320219ffff030beaadce9630d5cdeeafb6467ae330e69f0eec5af85cd6c6445fd6c4d435a03e035365b4103b78d8b6420a49b9a0bb0f088f44bcc56dee3f1b320c33b059dc60a4031e2ab9773e06429aa19fa29a1d15b0f85d516d7e8c11b92f98a2c2c3d7222fb70219ffff037145fe75d6a3310cc100e016f5120da353dcfb8888fb5f7017ee196c07f0aa2c0219ffff0302b30b0139b6c26982c18d904687faec24ea0a16c103aedf9a4edad8c965a47803f344d687f34cdea3e0d18782034c8b65c8d9935b256c9704f4aecb3b11827cd2030eaeb8004668e873b93fa3a3ea16a7f64a90db03a7747a2f79e1afd06da7103603fc696cdbf4e499529b60beca74089b7aa1b5161a492a5d883336f97bd0c7b655034de29fd0e14f94db934f8c135d93931b115930530b9da1a4e0ad727be26747200397142835a94b1a991a6b2c550a194cef962527547611cc219dbcbfd7612d76de0219ffff03c50bcb203a41a16c08d3dfd531ae786367868245515553b70f07b94c0e70939603761de03f8b32d4c32186628e8f84d0568af458b452a404d68805e5416eab9010036e48c086cdd9fc24241a2b6e65502c724efac0ec270df7687476fba2c40310e603108985700001cc576ae21d2c6e43e8b59303b5c27997237ef8d83124ce25ea2203676d3ccfbf3ee1f28df40319bc66f4c0752160ede57bdbedefd79adb9275082f0219ffff03f68d5ed6fde67f4406b5b5e54f2cc64e39aeb698ccd7136be39a414ae04103da03253402151c9ca9ff9b6dee891d1e3b0b4d9d14f87473fc880488a0e39e5a55af03ab8850bbae5a0ad03e5c2e0221cf6a540ef64c437feac87c7b43b499bc8adce50341546ad3caab670ae9cae83b9c0893505e82290a5952013b00c47976880acb2603315c99c9894209f3d38ef67f74455b28de0dd1fca7192f9674d9a19fe5fd672303cfb5741e4916b3fe8c8bc7bb1297d2bed485e256197046f36abe5709467950a003b278a0772315357617c6f3eff4a014a1ccda4640f1e0e97ea336ab839b322fb0036d79d19cebfb940c28efde48476de4c452e5e85c2f7f8fdf077c951eb58f4a75038fe324fb3989ba342baccca9258a42038f4b0e757a35b4e9f1c617c4a38651c103d8fb315375a0e5264dfa174f224633ab0ddf1e7f992810f74a32362dcf42ae46039f10542a3cd7915fdfba116433ca3e6e9b1c092e5757bd47ecb44ee487479dfb03e1b70b6d470577a702c3abab952e4d95767583420861efc021cfdbc9cf5d33cc0357194ba875a179406ad5aebb002f81ef8156f695d42172139a808752e03a8e2b03317268799d5bebc6f3ad1a6f54a1534b630856badb078d83290c81a0c6785fb90317820f7ac4e833d407641b67a34816d8248d835cb958b36a2efd37814d09ad0703cc66e3514513fbe365cef60b181488afcd17a713cfadf6f0f728958a648ca458030730feee2006bdfa00b5eaec816058bbc190d5be6c42be714ef74811eb36af320388d010cc2e166bc14c4f0d63654563a017c3ead7d90a0845a948801eaa37def5034d1df4a20a1e941f617d4de0388dc109d0f68458d1801c28646a5a6f85fabd230302ad9013f35d44b208f68c01019d09c04b1421b92cb513d72bb5006926318b5c03b2ad7bf1b9375446bf38edb86b56094f1728ed9154d6439c520527ab83570e980392125ae83569741f781df3fe83e372bc0e6b5c41c62b6f96442661ccbda347be034cd7c3739595cf95e3a4663092229f2ce621c880b5eb7f191c0231b1594a9fec037143eb6b32224df212b81bc6c70983c9c5fe7d9761c05693d45ddb5f164f6b9203974d54d474149197203c18b67c7b7f5f5e13fff780756b053b9afd30dbb3c40603a15cd0fcc6b16f9d20593477d2ee0fb809263904bcb584769dbf4590570cb909033cfcbd4b051641e63b8908e591657d8ba43677bdc56c36a2acf55cc6f0c073dd03b54f1b4131fc4f441424069d2e0cca3321755b5ad1faea1eec21f277541f3ab2036f4f7c303bcc466031d7a429a8ed54254650f89f8363aba24938c4b7c39c8d1803aef155417bd9fa006038ed7121422d0e2ae29462c7ab24bc74899e56128459ab03e7d7cfea7bcaad854ece8546542759d52fdd6defdd1febbbd61d7c641ce1af9d03dee5e17a9d94b4adec65d4c445f8603acfbd99ad4aa9ae8eddfc86144abe979203cbe5ba54bcb58d836fd7891b4f31032a3c84ecdd3aa3b5a77e838177c525e2a205581e03bd37fd152ca264eb62ca42c9762fe745c21220c74b28a045255cf6d5b00c014709faa779c79000045955b760806040526004361061018f5760003560e01c80638803dbee116100d6578063c45a01551161007f578063e8e3370011610059578063e8e3370014610c71578063f305d71914610cfe578063fb3bdb4114610d51576101d5565b8063c45a015514610b25578063d06ca61f14610b3a578063ded9382a14610bf1576101d5565b8063af2979eb116100b0578063af2979eb146109c8578063b6f9de9514610a28578063baa2abde14610abb576101d5565b80638803dbee146108af578063ad5c464814610954578063ad615dec14610992576101d5565b80634a25d94a11610138578063791ac94711610112578063791ac947146107415780637ff36ab5146107e657806385f8c25914610879576101d5565b80634a25d94a146105775780635b0d59841461061c5780635c11d7951461069c576101d5565b80631f00ca74116101695780631f00ca74146103905780632195995c1461044757806338ed1739146104d2576101d5565b806302751cec146101da578063054d50d41461025357806318cbafe51461029b576101d5565b366101d5573373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216146101d357fe5b005b600080fd5b3480156101e657600080fd5b5061023a600480360360c08110156101fd57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a00135610de4565b6040805192835260208301919091528051918290030190f35b34801561025f57600080fd5b506102896004803603606081101561027657600080fd5b5080359060208101359060400135610f37565b60408051918252519081900360200190f35b3480156102a757600080fd5b50610340600480360360a08110156102be57600080fd5b8135916020810135918101906060810160408201356401000000008111156102e557600080fd5b8201836020820111156102f757600080fd5b8035906020019184602083028401116401000000008311171561031957600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135610f4c565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561037c578181015183820152602001610364565b505050509050019250505060405180910390f35b34801561039c57600080fd5b50610340600480360360408110156103b357600080fd5b813591908101906040810160208201356401000000008111156103d557600080fd5b8201836020820111156103e757600080fd5b8035906020019184602083028401116401000000008311171561040957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550611364945050505050565b34801561045357600080fd5b5061023a600480360361016081101561046b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c08101359060e081013515159060ff610100820135169061012081013590610140013561139a565b3480156104de57600080fd5b50610340600480360360a08110156104f557600080fd5b81359160208101359181019060608101604082013564010000000081111561051c57600080fd5b82018360208201111561052e57600080fd5b8035906020019184602083028401116401000000008311171561055057600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356114d8565b34801561058357600080fd5b50610340600480360360a081101561059a57600080fd5b8135916020810135918101906060810160408201356401000000008111156105c157600080fd5b8201836020820111156105d357600080fd5b803590602001918460208302840111640100000000831117156105f557600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611669565b34801561062857600080fd5b50610289600480360361014081101561064057600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356118ac565b3480156106a857600080fd5b506101d3600480360360a08110156106bf57600080fd5b8135916020810135918101906060810160408201356401000000008111156106e657600080fd5b8201836020820111156106f857600080fd5b8035906020019184602083028401116401000000008311171561071a57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356119fe565b34801561074d57600080fd5b506101d3600480360360a081101561076457600080fd5b81359160208101359181019060608101604082013564010000000081111561078b57600080fd5b82018360208201111561079d57600080fd5b803590602001918460208302840111640100000000831117156107bf57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135611d97565b610340600480360360808110156107fc57600080fd5b8135919081019060408101602082013564010000000081111561081e57600080fd5b82018360208201111561083057600080fd5b8035906020019184602083028401116401000000008311171561085257600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612105565b34801561088557600080fd5b506102896004803603606081101561089c57600080fd5b5080359060208101359060400135612525565b3480156108bb57600080fd5b50610340600480360360a08110156108d257600080fd5b8135916020810135918101906060810160408201356401000000008111156108f957600080fd5b82018360208201111561090b57600080fd5b8035906020019184602083028401116401000000008311171561092d57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612532565b34801561096057600080fd5b50610969612671565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561099e57600080fd5b50610289600480360360608110156109b557600080fd5b5080359060208101359060400135612695565b3480156109d457600080fd5b50610289600480360360c08110156109eb57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356126a2565b6101d360048036036080811015610a3e57600080fd5b81359190810190604081016020820135640100000000811115610a6057600080fd5b820183602082011115610a7257600080fd5b80359060200191846020830284011164010000000083111715610a9457600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff8135169060200135612882565b348015610ac757600080fd5b5061023a600480360360e0811015610ade57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135612d65565b348015610b3157600080fd5b5061096961306f565b348015610b4657600080fd5b5061034060048036036040811015610b5d57600080fd5b81359190810190604081016020820135640100000000811115610b7f57600080fd5b820183602082011115610b9157600080fd5b80359060200191846020830284011164010000000083111715610bb357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550613093945050505050565b348015610bfd57600080fd5b5061023a6004803603610140811015610c1557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a08101359060c081013515159060ff60e082013516906101008101359061012001356130c0565b348015610c7d57600080fd5b50610ce06004803603610100811015610c9557600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013582169160408201359160608101359160808201359160a08101359160c0820135169060e00135613218565b60408051938452602084019290925282820152519081900360600190f35b610ce0600480360360c0811015610d1457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020810135916040820135916060810135916080820135169060a001356133a7565b61034060048036036080811015610d6757600080fd5b81359190810190604081016020820135640100000000811115610d8957600080fd5b820183602082011115610d9b57600080fd5b80359060200191846020830284011164010000000083111715610dbd57600080fd5b919350915073ffffffffffffffffffffffffffffffffffffffff81351690602001356136d3565b6000808242811015610e5757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b610e86897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28a8a8a308a612d65565b9093509150610e96898685613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f0957600080fd5b505af1158015610f1d573d6000803e3d6000fd5b50505050610f2b8583613cff565b50965096945050505050565b6000610f44848484613e3c565b949350505050565b60608142811015610fbe57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061102357fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110c257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6111207f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b9150868260018451038151811061113357fe5b60200260200101511015611192576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b611257868660008181106111a257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff163361123d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8a8a60008181106111f157fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168b8b600181811061121b57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff166140c6565b8560008151811061124a57fe5b60200260200101516141b1565b61129682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614381915050565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836001855103815181106112e257fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561132057600080fd5b505af1158015611334573d6000803e3d6000fd5b50505050611359848360018551038151811061134c57fe5b6020026020010151613cff565b509695505050505050565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484614608565b90505b92915050565b60008060006113ca7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8f8f6140c6565b90506000876113d9578c6113fb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505050506114be8f8f8f8f8f8f8f612d65565b809450819550505050509b509b9950505050505050505050565b6060814281101561154a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6115a87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106115bb57fe5b6020026020010151101561161a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b61162a868660008181106111a257fe5b61135982878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b606081428110156116db57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21686867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810181811061174057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117df57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b61183d7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061184d57fe5b60200260200101511115611192576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b6000806118fa7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8d7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b9050600086611909578b61192b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018b905260ff8916608482015260a4810188905260c48101879052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156119c757600080fd5b505af11580156119db573d6000803e3d6000fd5b505050506119ed8d8d8d8d8d8d6126a2565b9d9c50505050505050505050505050565b8042811015611a6e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b611afd85856000818110611a7e57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1633611af77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff168a8a600181811061121b57fe5b8a6141b1565b600085857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611b2d57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611bc657600080fd5b505afa158015611bda573d6000803e3d6000fd5b505050506040513d6020811015611bf057600080fd5b50516040805160208881028281018201909352888252929350611c32929091899189918291850190849080828437600092019190915250889250614796915050565b86611d368288887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611c6557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b505afa158015611d12573d6000803e3d6000fd5b505050506040513d6020811015611d2857600080fd5b50519063ffffffff614b2916565b1015611d8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b5050505050505050565b8042811015611e0757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc21685857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110611e6c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f0b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b611f1b85856000818110611a7e57fe5b611f59858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250309250614796915050565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc216916370a0823191602480820192602092909190829003018186803b158015611fe957600080fd5b505afa158015611ffd573d6000803e3d6000fd5b505050506040513d602081101561201357600080fd5b5051905086811015612070576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120e357600080fd5b505af11580156120f7573d6000803e3d6000fd5b50505050611d8d8482613cff565b6060814281101561217757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16868660008181106121bb57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461225a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6122b87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f34888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250613f6092505050565b915086826001845103815181106122cb57fe5b6020026020010151101561232a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615508602b913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061237357fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b1580156123a657600080fd5b505af11580156123ba573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb61242c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b8460008151811061243957fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156124aa57600080fd5b505af11580156124be573d6000803e3d6000fd5b505050506040513d60208110156124d457600080fd5b50516124dc57fe5b61251b82878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b5095945050505050565b6000610f44848484614b9b565b606081428110156125a457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6126027f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150868260008151811061261257fe5b6020026020010151111561161a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b6000610f44848484614cbf565b6000814281101561271457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b612743887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28989893089612d65565b604080517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015290519194506127ed92508a91879173ffffffffffffffffffffffffffffffffffffffff8416916370a0823191602480820192602092909190829003018186803b1580156127bc57600080fd5b505afa1580156127d0573d6000803e3d6000fd5b505050506040513d60208110156127e657600080fd5b5051613b22565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561286057600080fd5b505af1158015612874573d6000803e3d6000fd5b505050506113598483613cff565b80428110156128f257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168585600081811061293657fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129d557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b60003490507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612a4257600080fd5b505af1158015612a56573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb612ac87f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015612b3257600080fd5b505af1158015612b46573d6000803e3d6000fd5b505050506040513d6020811015612b5c57600080fd5b5051612b6457fe5b600086867fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612b9457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231866040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612c2d57600080fd5b505afa158015612c41573d6000803e3d6000fd5b505050506040513d6020811015612c5757600080fd5b50516040805160208981028281018201909352898252929350612c999290918a918a918291850190849080828437600092019190915250899250614796915050565b87611d368289897fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818110612ccc57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231896040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b6000808242811015612dd857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b6000612e057f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c8c6140c6565b604080517f23b872dd00000000000000000000000000000000000000000000000000000000815233600482015273ffffffffffffffffffffffffffffffffffffffff831660248201819052604482018d9052915192935090916323b872dd916064808201926020929091908290030181600087803b158015612e8657600080fd5b505af1158015612e9a573d6000803e3d6000fd5b505050506040513d6020811015612eb057600080fd5b5050604080517f89afcb4400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015282516000938493928616926389afcb44926024808301939282900301818787803b158015612f2357600080fd5b505af1158015612f37573d6000803e3d6000fd5b505050506040513d6040811015612f4d57600080fd5b50805160209091015190925090506000612f678e8e614d9f565b5090508073ffffffffffffffffffffffffffffffffffffffff168e73ffffffffffffffffffffffffffffffffffffffff1614612fa4578183612fa7565b82825b90975095508a871015613005576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b8986101561305e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b505050505097509795505050505050565b7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b60606113917f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8484613f60565b60008060006131107f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b905060008761311f578c613141565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b604080517fd505accf00000000000000000000000000000000000000000000000000000000815233600482015230602482015260448101839052606481018c905260ff8a16608482015260a4810189905260c48101889052905191925073ffffffffffffffffffffffffffffffffffffffff84169163d505accf9160e48082019260009290919082900301818387803b1580156131dd57600080fd5b505af11580156131f1573d6000803e3d6000fd5b505050506132038e8e8e8e8e8e610de4565b909f909e509c50505050505050505050505050565b6000806000834281101561328d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61329b8c8c8c8c8c8c614ef2565b909450925060006132cd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8e8e6140c6565b90506132db8d3383886141b1565b6132e78c3383876141b1565b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561336657600080fd5b505af115801561337a573d6000803e3d6000fd5b505050506040513d602081101561339057600080fd5b5051949d939c50939a509198505050505050505050565b6000806000834281101561341c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b61344a8a7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28b348c8c614ef2565b9094509250600061349c7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8c7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26140c6565b90506134aa8b3383886141b1565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db0856040518263ffffffff1660e01b81526004016000604051808303818588803b15801561351257600080fd5b505af1158015613526573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82866040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156135d257600080fd5b505af11580156135e6573d6000803e3d6000fd5b505050506040513d60208110156135fc57600080fd5b505161360457fe5b8073ffffffffffffffffffffffffffffffffffffffff16636a627842886040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561368357600080fd5b505af1158015613697573d6000803e3d6000fd5b505050506040513d60208110156136ad57600080fd5b50519250348410156136c5576136c533853403613cff565b505096509650969350505050565b6060814281101561374557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f556e69737761705632526f757465723a20455850495245440000000000000000604482015290519081900360640190fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff168686600081811061378957fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461382857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f50415448000000604482015290519081900360640190fd5b6138867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061460892505050565b9150348260008151811061389657fe5b602002602001015111156138f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806154986027913960400191505060405180910390fd5b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663d0e30db08360008151811061393e57fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561397157600080fd5b505af1158015613985573d6000803e3d6000fd5b50505050507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6139f77f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f89896000818110611acd57fe5b84600081518110613a0457fe5b60200260200101516040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015613a7557600080fd5b505af1158015613a89573d6000803e3d6000fd5b505050506040513d6020811015613a9f57600080fd5b5051613aa757fe5b613ae682878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250614381915050565b81600081518110613af357fe5b602002602001015134111561251b5761251b3383600081518110613b1357fe5b60200260200101513403613cff565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310613bf857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613bbb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114613c5a576040519150601f19603f3d011682016040523d82523d6000602084013e613c5f565b606091505b5091509150818015613c8d575080511580613c8d5750808060200190516020811015613c8a57600080fd5b50515b613cf857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c454400604482015290519081900360640190fd5b5050505050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040518082805190602001908083835b60208310613d7657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613d39565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613dd8576040519150601f19603f3d011682016040523d82523d6000602084013e613ddd565b606091505b5050905080613e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806154e56023913960400191505060405180910390fd5b505050565b6000808411613e96576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b815260200180615557602b913960400191505060405180910390fd5b600083118015613ea65750600082115b613efb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000613f0f856103e563ffffffff6151f316565b90506000613f23828563ffffffff6151f316565b90506000613f4983613f3d886103e863ffffffff6151f316565b9063ffffffff61527916565b9050808281613f5457fe5b04979650505050505050565b6060600282511015613fd357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff81118015613feb57600080fd5b50604051908082528060200260200182016040528015614015578160200160208202803683370190505b509050828160008151811061402657fe5b60200260200101818152505060005b60018351038110156140be576000806140788786858151811061405457fe5b602002602001015187866001018151811061406b57fe5b60200260200101516152eb565b9150915061409a84848151811061408b57fe5b60200260200101518383613e3c565b8484600101815181106140a957fe5b60209081029190910101525050600101614035565b509392505050565b60008060006140d58585614d9f565b604080517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606094851b811660208084019190915293851b81166034830152825160288184030181526048830184528051908501207fff0000000000000000000000000000000000000000000000000000000000000060688401529a90941b9093166069840152607d8301989098527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f609d808401919091528851808403909101815260bd909201909752805196019590952095945050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd0000000000000000000000000000000000000000000000000000000017815292518251600094606094938a169392918291908083835b6020831061428f57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101614252565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146142f1576040519150601f19603f3d011682016040523d82523d6000602084013e6142f6565b606091505b5091509150818015614324575080511580614324575080806020019051602081101561432157600080fd5b50515b614379576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806155336024913960400191505060405180910390fd5b505050505050565b60005b60018351038110156146025760008084838151811061439f57fe5b60200260200101518584600101815181106143b657fe5b60200260200101519150915060006143ce8383614d9f565b50905060008785600101815181106143e257fe5b602002602001015190506000808373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461442a5782600061442e565b6000835b91509150600060028a510388106144455788614486565b6144867f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f878c8b6002018151811061447957fe5b60200260200101516140c6565b90506144b37f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f88886140c6565b73ffffffffffffffffffffffffffffffffffffffff1663022c0d9f84848460006040519080825280601f01601f1916602001820160405280156144fd576020820181803683370190505b506040518563ffffffff1660e01b8152600401808581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015614588578181015183820152602001614570565b50505050905090810190601f1680156145b55780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1580156145d757600080fd5b505af11580156145eb573d6000803e3d6000fd5b505060019099019850614384975050505050505050565b50505050565b606060028251101561467b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f504154480000604482015290519081900360640190fd5b815167ffffffffffffffff8111801561469357600080fd5b506040519080825280602002602001820160405280156146bd578160200160208202803683370190505b50905082816001835103815181106146d157fe5b602090810291909101015281517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015b80156140be576000806147318786600186038151811061471d57fe5b602002602001015187868151811061406b57fe5b9150915061475384848151811061474457fe5b60200260200101518383614b9b565b84600185038151811061476257fe5b602090810291909101015250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01614701565b60005b6001835103811015613e37576000808483815181106147b457fe5b60200260200101518584600101815181106147cb57fe5b60200260200101519150915060006147e38383614d9f565b50905060006148137f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f85856140c6565b90506000806000808473ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561486157600080fd5b505afa158015614875573d6000803e3d6000fd5b505050506040513d606081101561488b57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905060008073ffffffffffffffffffffffffffffffffffffffff8a8116908916146148d55782846148d8565b83835b9150915061495d828b73ffffffffffffffffffffffffffffffffffffffff166370a082318a6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cfe57600080fd5b955061496a868383613e3c565b9450505050506000808573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146149ae578260006149b2565b6000835b91509150600060028c51038a106149c9578a6149fd565b6149fd7f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f898e8d6002018151811061447957fe5b60408051600080825260208201928390527f022c0d9f000000000000000000000000000000000000000000000000000000008352602482018781526044830187905273ffffffffffffffffffffffffffffffffffffffff8086166064850152608060848501908152845160a48601819052969750908c169563022c0d9f958a958a958a9591949193919260c486019290918190849084905b83811015614aad578181015183820152602001614a95565b50505050905090810190601f168015614ada5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015614afc57600080fd5b505af1158015614b10573d6000803e3d6000fd5b50506001909b019a506147999950505050505050505050565b8082038281111561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6000808411614bf5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001806153d4602c913960400191505060405180910390fd5b600083118015614c055750600082115b614c5a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b6000614c7e6103e8614c72868863ffffffff6151f316565b9063ffffffff6151f316565b90506000614c986103e5614c72868963ffffffff614b2916565b9050614cb56001828481614ca857fe5b049063ffffffff61527916565b9695505050505050565b6000808411614d19576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154736025913960400191505060405180910390fd5b600083118015614d295750600082115b614d7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602881526020018061544b6028913960400191505060405180910390fd5b82614d8f858463ffffffff6151f316565b81614d9657fe5b04949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614e27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806154006025913960400191505060405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610614e61578284614e64565b83835b909250905073ffffffffffffffffffffffffffffffffffffffff8216614eeb57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f414444524553530000604482015290519081900360640190fd5b9250929050565b604080517fe6a4390500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff888116600483015287811660248301529151600092839283927f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163e6a4390591604480820192602092909190829003018186803b158015614f9257600080fd5b505afa158015614fa6573d6000803e3d6000fd5b505050506040513d6020811015614fbc57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614156150a257604080517fc9c6539600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a81166004830152898116602483015291517f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9092169163c9c65396916044808201926020929091908290030181600087803b15801561507557600080fd5b505af1158015615089573d6000803e3d6000fd5b505050506040513d602081101561509f57600080fd5b50505b6000806150d07f0000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8b8b6152eb565b915091508160001480156150e2575080155b156150f2578793508692506151e6565b60006150ff898484614cbf565b905087811161516c5785811015615161576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154256026913960400191505060405180910390fd5b8894509250826151e4565b6000615179898486614cbf565b90508981111561518557fe5b878110156151de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806154bf6026913960400191505060405180910390fd5b94508793505b505b5050965096945050505050565b600081158061520e5750508082028282828161520b57fe5b04145b61139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b8082018281101561139457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b60008060006152fa8585614d9f565b50905060008061530b8888886140c6565b73ffffffffffffffffffffffffffffffffffffffff16630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561535057600080fd5b505afa158015615364573d6000803e3d6000fd5b505050506040513d606081101561537a57600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905073ffffffffffffffffffffffffffffffffffffffff878116908416146153c15780826153c4565b81815b9099909850965050505050505056fe556e697377617056324c6962726172793a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056324c6962726172793a204944454e544943414c5f414444524553534553556e69737761705632526f757465723a20494e53554646494349454e545f425f414d4f554e54556e697377617056324c6962726172793a20494e53554646494349454e545f4c4951554944495459556e697377617056324c6962726172793a20494e53554646494349454e545f414d4f554e54556e69737761705632526f757465723a204558434553534956455f494e5055545f414d4f554e54556e69737761705632526f757465723a20494e53554646494349454e545f415f414d4f554e545472616e7366657248656c7065723a204554485f5452414e534645525f4641494c4544556e69737761705632526f757465723a20494e53554646494349454e545f4f55545055545f414d4f554e545472616e7366657248656c7065723a205452414e534645525f46524f4d5f4641494c4544556e697377617056324c6962726172793a20494e53554646494349454e545f494e5055545f414d4f554e54a26469706673582212206dd6e03c4b2c0a8e55214926227ae9e2d6f9fec2ce74a6446d615afa355c84f364736f6c634300060600330605581d02a7e8b8234a7992da2173c0d9eb404853fe85a65a0881149522e12b2a0f014758d15e176280001955b705581d024ace4a9cf9849185c4b4cd9d2d43e5360f36d915f743ac51fcc9c7f80c02450135f1b4000219042005581e03dc8fc5260164a847b23d38a881b05ec9e601d397d1188021168d7c0da00c024701923a550aa0c803fe15c6a27562a27ae904cb1b828dd828705d1507183fdaa98bcdd0bb1025ee5305581e03f23857a9fa3d0da9ae7310c160afcf49158a232640406bae60c29650500c01472296500eeb160005581e037f46e0bb2789267d0a30b8d43a6d3e2a2e289f0fcb20ea1bc8ee7216a00c024744d7c56d940be603da1a91bd88ab16e57730db064e35880953edf7a3e2f40ec22e887166b95f4b18032be8a5093959bbacdaa2d02b061939a3a07681b5a5351eef8de8b286f8df80ba0399cc8746fb4acef4aa25ad53d2d12e8af29520040e86729cf0fe867839a233a005581e031d2088553eaa5823aa330be942a76137ea4d7416fda40c5c72917239f00c0147028114c7f49fc0034277b3bbc296a60f66b308aceaf2f9ad4e766e1984e39f2bb1256df0c51448a70219cbde03821c17b99606f4ef0404c1e66f9b5847282857f6d43c1d1e2282e3e20358c1a203c4c9fce98e5aa03a1c2976bea62991500383da391e6b93cd7ee617b79075830103454a7715e43a8f5665f3175574c0f374cd68bdd08d8d39beda757efe065a1d010309e22729a72f3d87a3b4e2cbb35b5508a5b4967f51619447d82fcd412c0c60810365c9ef940b1bf8951ae99a658391bc322d955090fc733e730f446262316cd707032dc7ad83f81334ea5c5841d73bfd9a6a887e1d78e06e3905881fa83d258880c403bd0a711bff7996b670c2882e6431d8feede57819c03c580eaa092d1a8f53519403513d856a2f501db5917ad941a82b2f1cca5130e73032c160f94b21d3018abfb20219ffff03ac86231aaaa6826ce152d88375c5f38b82dd0e76a5564441cd6e64288e669d3f03c04a48f47576ad78e3231a2f36d5eda038467ee085887710796779878707d8860219ffff03c3228b8b519627dbd53fe57eb03c86f32d4d32132441c285d89a469f6e98969a03c637d8e3c7e4fdb1139d38880919ec63eee53dc169b0653d5618c6f10763300603c6f89a52369c69f9bc8492439a33234d8e9ecfabaf11dbe3d7876a929ec36c37030ff43ce6633838d3969f23abafbd709cf76075b4750bb94580edf5a0c1b48d4c03bd3dfaea945940faa25ecd693a00b0054131e61c8c072b4b89d5bc0f2a2a0e5603172432d96087eae407001fe525820f99fe41ece1edad5f0fa3cba23417c690950305ca546ef52bca7e571ebca61b3f8db71bc97d3fee9cb79efa729ca89a2de4a703c70aacc6e77a75e52d1e8174f822c17d81513b92696184494b26d4103a30f86503a643a5935a0834c754539b1acdfebcff308652d88c1e9cccd169917b3942b8f5037a1a1a35115e38ca23b634b63152607fdb28a56a8926f0598e3f9dcf5f99165c03a70951a56435c3e8f0bb049a3672a8b2e4dbc0840d84d8ea713cebccb82a363e0219ffff03ed8be2c4096e580a056e6330110e872763a3cfe26881493162860768a33c0e88037328b7c8743732c0eac311177bd28da77294ef3971a2122660bb904b030ddffe032552c7a0dc460a9b828bdfda485a0178f1a4c69577af77289e8fb436dfdf432c035391aee21ffc3ec7a0d439d03b75883bf826bdab6d234abe33064f868521a87c0328d325d76bb005dbfd5e53fb9654f65ad41a1963a0c5a5555a63b750f78e7bb40346889b6d6058db34e6ec212e7cf7498d357646101fe15701bfe5a7fc9f73e02f030bb04c4408821a55f3d79cbe22dfebec2478ef58bd1173604245e324eb2d86df0307f8769ef2df566a4570eb7316af39b248e7485614e5f82ddc8efb91b6d69d6c033ff286d99ca1d1a1f7c2159645d37f27801abc91a6b7fb06594e718992fbfc7003c8b6ba8237dc86c85e2b08d3e0ed9cdd8f8b063d136acb768bd3c1ba6afa859c0219ffff032a0fe47e3339d3eec328f9b8795cbd3c5935c1fcb5cc4c984371ad9af32f4b4303cfb01d920e6782fa1c58ca90a576e87018bce6b89ec1e62fd703692a7f660a78032f77fabb828201453e93b311254e5e08ba2b0a54b4cd6007d8a533fc2ee829720369ce2364235ab7f2141197dd70c31ba9f6dfe1c1f25df244ef475a60ee5e63fd03e628c6722bf5db5edec7776acabd962d6e1cb3d9d7b087dc0f3911a57a4c8da203d5c238ca585964af5a1eeddd92eda4e0e0b4acccaff38232f6babf99ddccde71037291e2aafc399e03815c5c38d9ec5bcc86cdb752637990ccd9c8174ae77498a4031dd8636b55ac8a984c43dbf96637dd122dc44fffc40de239b65bdec927aa3a250344d99deb2681bfc61b00e2a78f717b74c99593614bd1b1a28830479e8933047e03763fb13fd8862a3e1d962cd3d4761c84cdc05c0c811b50a4dec9415420eceafe03cb9ed56a60711bca9b428b466aaab6d5f91f77da615c2cfd571693223670831703f606025ef127336a77e7330c2f344d5c0227e8b2325192423a0ff9e283130e870387a5d18dbfa90051e60d86e934df53943f531e1aa139130d83d6ca094d83c4af03a85cf85433f3b13a17487c4b5979427223543764769835aed1ff096fef477b8503ab80ad10f93cb63a964e8c0e63b336c9174f124035e8b40d01fc465165456023034055d8bec32e330335dfaa6db4b09b5952e350ef512242ba4da987b1d43945b403c357e903314ffe92300957f05be5413168fcb52441ddc0842c48695c6b72b1ef0395459aaf6080b3f8ee9e971df38e176297279b9cbb006b01351910c395de0f2a0362b23bfc7f42168ac33c83afd45b1743f1ef1742e329872b3a0b5a7186da2698036d75bd0f47f761d7f60baa3ccb48a6d3641d0fd34a5b854978783887fa5cc1c2035e8eed0985ed0b2a6a215e8ba4c006afc18e17b1a68ab9b9464320df77ee9b82037d4ce2e0d91b6025cec6bb65065b9a2bdcd8be7d79d771e2327f2283d400d2cc038b4206e28bdaae19f596bd3e8d9cf465d2ac0e7ffb8eb0555a600b1aed3c807103c4acf523da26a9eeb53f093426b97aeae7a442b023508d3e941f3a0d3770fd49033e1a3a6888bba34fd74c4f96e7d784e08a3927c99274767c8b45383243d181e7035a92bb6dcee1c9c9bd2ee3548044251374832475ed9d9e701e7c36cc21f00e4803a9c2664e6e250599e437fea69cc9569dc34e789f5f1b83f8addc5a8580575d4e03dacacfd3dece2d8f09187158ed3ab28e4521918316962201543b53909d25d89f03c21469cd6bbb6d51d3b7ed8ff4a9050c7df6f43be97c18c19ae59b39c75a6852037d337e717ecd4ce5f45c4ea8994e476ce38cf937a4f2924dc40cfa8fe5870fe905581e038e5a09e900731c937b9f9cf98dd46edd55614471018486770032d540d00c0447275e593373250003f8559abbbe0eba3bfeca91b590098c70a24bf7c768b130fde193fb5bcc98b88205581e035a76fba5f3ab8fe576d44c03683d3a2189211bafe0e5d16cb0630b5e00084780b6527a8c355805581e035653eb197c3fd399f1a5cd68d1de6f19edca5b60433ac2b56c7722f0700c054730ef6fc5c179d805581e0309a9efb64b9fc582cb3aa2de516620aca954f1cf2b57fa3c62a951f0e00c014750434de6c4000003ccb10237fbb545478774d6e858eb7a1327708de6c205c7195d3a5dacd596120903647d5d7eb5af6fbf9ed95320cadf658cec3819ffa536adc7b6387fdf1b72123d0309649ef5d0e27de54607a47f0520208f93df8363061237d10e681ecf3ddd9efe05581e03469667fcae85f0588263efb961720305bd89608714ea1d1d740c8f27e007011bffffffffffffffff05581d02d5cd67117eb060eb8283e6f3aaf1a31a9234b6478f940d7ca4cbc360040105581d0299652947601cf1972a660924be5f208f708f0e0e2bc9ac6a34afbe120c014702ce80355f63e80459088a60806040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633659cfe6146100775780634f1ef286146100ba5780635c60da1b146101085780638f2839701461015f578063f851a440146101a2575b6100756101f9565b005b34801561008357600080fd5b506100b8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610213565b005b610106600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001919091929391929390505050610268565b005b34801561011457600080fd5b5061011d610308565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561016b57600080fd5b506101a0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610360565b005b3480156101ae57600080fd5b506101b761051e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610201610576565b61021161020c610651565b610682565b565b61021b6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561025c57610257816106d9565b610265565b6102646101f9565b5b50565b6102706106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102fa576102ac836106d9565b3073ffffffffffffffffffffffffffffffffffffffff163483836040518083838082843782019150509250505060006040518083038185875af19250505015156102f557600080fd5b610303565b6103026101f9565b5b505050565b60006103126106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103545761034d610651565b905061035d565b61035c6101f9565b5b90565b6103686106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561051257600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610466576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001807f43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f81526020017f787920746f20746865207a65726f20616464726573730000000000000000000081525060400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61048f6106a8565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a161050d81610748565b61051b565b61051a6101f9565b5b50565b60006105286106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561056a576105636106a8565b9050610573565b6105726101f9565b5b90565b61057e6106a8565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151515610647576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f43616e6e6f742063616c6c2066616c6c6261636b2066756e6374696f6e20667281526020017f6f6d207468652070726f78792061646d696e000000000000000000000000000081525060400191505060405180910390fd5b61064f610777565b565b6000807f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c36001029050805491505090565b3660008037600080366000845af43d6000803e80600081146106a3573d6000f35b3d6000fd5b6000807f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b6001029050805491505090565b6106e281610779565b7fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b60010290508181555050565b565b60006107848261084b565b151561081e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603b8152602001807f43616e6e6f742073657420612070726f787920696d706c656d656e746174696f81526020017f6e20746f2061206e6f6e2d636f6e74726163742061646472657373000000000081525060400191505060405180910390fd5b7f7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c360010290508181555050565b600080823b9050600081119150509190505600a165627a7a72305820a4a547cfc7202c5acaaae74d428e988bc62ad5024eb0165532d3a8f91db4ed240029032d1394a5a9d2e8c5c8588d8d55fe94829ab07e41ae5b788ac1ad3fb89e25c5b20361de97f7cf7a84eb3f54545791e3563cd289889db9dc76c0d20a52a92b0e2681031f9750ff62ba05c63a63b38fdf3a653a33740eb9e4107d3f087336be33a8264303f4ecef637b0d537e42418fcfe713245d8888c97671e5e9bb62be5b03d7eb042f036c3e86f9176f176b2003402059adb141fd079cc84e28e7168429d72672f8ac870349b348d7327d208634e63b3991e1dbca2220c269469fceeadd143352346fa71c039562514beb09cdb6535c5afcbe206feee98477324f24ba7729ef3928ebf7683203d8acf0d25c0bb6205c64c828c9c8f32a18a57971b5ab6c9cbc12026b8d4411d00301fdcee0b48eb5454f00f9d8f333f7780bf0a6665aa1e79a716bb3e3125e702703f3f6b20be0b51977798f87671efdf26a9d2c5a2bf266fd7d03750e79006692830366c1aec8af137b356a350572d02e36fc0454f3e6464c0a33dc72e01fc2047c6d03c9c5da42d072b3e68c8c5f8f31b21122e99961ee4098fba75d26a320f6c1f0a0034bfe2f8aeddea7910851594b242ef3472e0a8e09219ebfbfd2ed91d71328e0930335a733225fb422ee1157d0da9d6a0060c58d8a4b8d3244eea5d80be5eed089c903bc2643a050ff27fe7f8c50357254442a1d4c5d96dc82d626fef4e66ca1a50f5c03843c1062c2071e81e9dbb732917464e9aafcd6923fb7e2a2605eb7bf1615a345034a10f0d4db5c8b82dd25febf0290e8ebf1ce9441b9b6b25c7df5f3d830e46ba703d91b06a7a5f21cf2cc5b1783c7650e0b2d52a4cdd2917666bb2f589be79ff4e9030d7a89c9c8173a8f28da43ec8b0e92637ca5ed47f9255f45723533f111b1e54303ed9dfd8de6f453358de865d52885eee7868889ee299e26fb9c4a98e7cb52809303b19275be6462fdafcd464a07d4bdc4be4e969d29ef71e8d3eb1c678a7e8c36a8033f0c80aba7059a3d27aa9a1a1351950f0e5141d06030ebcfe52ec410ba295186030eefadb417a643072bd3b66f8745ee6c979229b8ceb8ad7b238bee14ef788bcc0380863a35c1837440975f1fd5554d7d0101ca893f600c0540a572547746f02c1a03ac198e4d0a3e41d7f2d2794c4c7e211e7f90ed100a668aa4bbdcb9ff5c5ca9e10377f374dffe53e26ff75445321643f9f0338f34bf35b67ccd278e1f95b212883d0346cfad0189823dade2dccc8966e987b1fd0f4397b0fd63ff02db29127a519ae90326efb0975f574bd9ae5227a5bb4de5821b0b0b52420cf2199a4aa73ff7ed3076035550ad58bef41e4e9711366bdd072ade22c34761f780fab6078ab9a700781aab0377a7ff0a597eee267c9dc15cd8cdc6a3ae588458f19514697dacd0212bfd54e403e2d583b748cc7eab122b6b089828ce086f9a8206244a67d6b8e4fa113c01b19d03299753fdd35358c6d2f319b1208f0a81b564a8c2679cf2b0b369afe3faf997c1035bbcfc4fba0f9324577b55dbdcc402bd4e45def541b4f489144ba8632b41dda50323a694ed2cf402dc9175a62cac8598dacbaf75dd275a65a7acd230e52837584703c0170493779ec092c574e976da762b94d26b76837df96ff2b72e9c120ab7bec103beeda31608a04610ce04832a7259fc1304c4683b820cd441b8ebfdc4f4081555038cae0d86fcfe3184d9f868080553d0b53e398426acc98bb8dc2908cfac3c4dec03f47b5da58a03fcbe648e2982848791323d744768ee73d7da4c57b5ea188d8c7e03841e883246ab4980e65341503ecc125a7446b1f690003578fe339fc7174757d100581e02a818348987efc21198638a43af425294e0cebbabe1f3c7676a812e34a654807a96288a1a408dbc13de2b1d087d10356395d200581e02abbad38fa3fc14dba397b83ac7e8a7bf4220ddd174389a427fd84435415820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc46535ff00581e0248b7e2ccdd56cee52699e9315c16e7f3f0dc33119ababa60cdfb8409284417d7840000581e02ec2e256dd7a246351e4b2aeeb0835725f8a68497b181b9542f1d7eaaad5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff6377579e0219246003474a7793521241abe86002c251264040d1829c2dbbf0f3d3fabeebe519d0c310039c9aaa33d7a10b78c48ea7a91247af19de6b08be5a050478e67c6ed4b06ad52103398def5974c743e0f2687072842f3f0b88654a88fee9d446b459031efe6d9a95035cec8bc04e48d6815da71d69d016d9903d542ee96975155d8cc68c9eb1999ffc03b365e1710127f7adf4b5462712752a6bdb245c5c5c85e81134d95a91f26ca32d036965770c9ae2ba0f13e32cbceb3189c23ba602d6de52a16c8aa3094e8a900ad40306f94e88e5ffba7f14eb583eba0f4175fb26297cd9dbbb1f81b93025e5bce3470219ffff036615f2381952420ea069acb391891d322869efeb4345eb313e95ba3305462a2803c7904080e21f20c4e1811d1ac2633b93ddabadcc51bffbe9bd51a3eab9631f71033db665b6343c3a8119e60fbad4919e07517acd01692550e0ca4408add2e5f3b2032a449f44af25a854288ead943241aa04bfd541a84ef7489676264d5b56ad50e5038b0a79d4639c8b1b50473f8dc93a494f8162c6dd00b462e9b571feec8bdbc5bb0392217fb0c69100419f0a9396956835213549477fc4aa25c0c29636f44478373103716d726da1ff96196f3c5c77741227aacab17c425fd716d6e0842095511a8b4d0219ffff0219ffff0321e292f19666315f76eea003fd8f287c3017d8c57331ff058e1a986c92f2e674030ea925bb77556b665219380d1434e54d5edd73a61aab22a0295732686be83a7e032c17c00e8aa40e9be722a2c6f3ed7e553a409a65d64a7ea69c40351c449414e803fb9b087c1f986faa4a50ef12023ec1ef4cfd29b15fda5a9c8f144137c93fd2f80373afa4c3f1380708d1ff4b4c3d608fd51cfd374902a6ae62cdc324289a96763503acefd0ae1135f4b745757daf247e92663c60a98d240afc08fa387d1916ef5ace031eaf3f24064b3287f0782c7bacdf8887910576ca3e7bc61e0a032b4ba67b3eb803ac8bd69adcc2962b15d58ac1bc89de9da0a2d2027eb0426402f33b7869ed8e55033f5f1eb8f9885e38c2e1570f52c88a40069b6981249a0b91b9c94b66e7766648038022d7ae7170a4e7eea710b0f693003a7c75ececb0027bbb199db90fd2dccf36035d71eaf0318abccefaccc22cd8b96c64503ee1d2d1040993a566b98179148efd03843adfe5989196369d00878f39372282d75d6a778da5fbc2d8458aafa80af22403b8d08742cfa782f2700d970f5ab44c0e5955a368590f6b59d1cf3cbc2beb02ec03172704fd69329c260e4fb98f619acc217be06aace3b5b29b3e89192c2c10a64e03024aa9032772e17014747ad80b20b79466650e50fab474782c3bfeb7c888c9ca0316769a3d167d5822293a3a445cab476e34b272c0f64ccc4796cacc0b7d5d67150390b046d21a57d466265bb0999ece404581dbf350584a283cb26c1d950bb8afc603054a956fbd472a005936a8bd30d61f00b2d2427c60164a276d55c55b75d89723037a7c37c334e95ec6ccc08d99a0d1b16e8db6772becbf3097e2b0566c4459c77e03be84ca7cca885365b4bc0497ce9c02826c74a1d1a72d66a365afbf09e46aad1903dfa48864cb490c59067e6fef08f715bfb4b19b594ed881d098456609324528e90339fe04deceec75d31177cc0fb155cb2f24bcbf9fc3369f2606fb0a488e95dceb00581e024c7e0ef0e5392395ce7452d4e5eb01900919f7ea753570abc24763692d4649ad9291a8f803ce57e5edd483c9ec130333555cd60c9d3082ac31dc303830ada6b26902dc100b037abfed7573ad322f5d2171c142351733c704e3e57d3d2dd63cf21a8be9416a2300581e02260608623466482f88cd4120ffe69d5e8ae6875361c2028d7c5b6967b95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e020d5ba211db4292cd0fafab9264dbdbd95376e3f2f2edb44a004868a096438b92780219d088032735124218a3ae77f5ecdd298cf5b489ed351035e3bfd973e7c5dea78e372c11036f9c564c5aabf460e5d73c3d745d266a8cc2a7174704fbc56c8d720107ac93e1036808eb62795c554eefd360a80b4b6453dd32fdbc7b396651e69b650c3106a57e0356b1507f4f284e0a38b2236ed687625684110b7ad2c11bb354da6c1e7d778f1b03e757864198898ba272c20cf57e4a4cbcc895e385ee7bb2ba021f0546abf131ff03f43459b2af725d03a741fc1a8284a74a2d40aecd366ef8215525b61651b0a84103495344efdc25cf9d851791218273f116fc0ab61656de7a5244797aa9ccf1f0e2033ca334630a87bba2b41bb9eb9c4f4d2a28566c82ce3c18d1e7b3bf9adf9c22600399362d71dbbed84b8201a649df869ff9846deb7e07f0550d90f40f64c1d636ca032b4b20cc2e462ab9e0d3bafb633f6818e7ba308bacf39772b80767c13b3561330306453a692740961918f0b57fbf6c780981b2867d8d15327a1a97fcfb8be49a37033c3da4ade83fde310d3646f4a8e53dc27423aa7b1d622597956531e092ec7ad20346dfce934080fde0c280820d3c993669c7205c34c115e35b55d21739ba97f88703b95b767f43fa266bb212c3d5410ea4eadabc27f92b18c4ef12c014f3320182b403495e7339e637de0761bbd1da063acfd7c6c50171686f7e47cbde2f2f4c28da830219ffff0329ac7a52e7d31e5aa14019271d40b16fbbc490a3a1f23a29a3c1e8249b55ed6303f768ca52fd5d698e633ef27d44ce6353b8393448d3eb715a4dcf34c2ca92b1a7036a76f9a322a9bdadd57da28e30aca7c49a34587f534889117757f25af6c6dd550385ab65b9e71fa3af5017c930921b74f90adefad7cafd0f7ed77584f696512fa00360277d7bc27d88ab2ad22dbef2894a5a19c0262bff12e2612bba356367321d6503ba8d57cbcc09c866f99e9b99ccd33060dbe8d6bd2d63649b9e11d837ccc5e974032a527598e16584640a8c3c5c4c400f506351aa74fa805a19c228f66238dd39db0343ba844175610b34d409f498376c5f13218cbb5a16a56490420b396cf37c3b0603485850ef9b6f15d866ed058ffd86d9b96c60721509f321cd59944130e2010a4503b655335aeea4e25c8401f4fbc28bffec389a3539ba75ca6eb343933eba9fbcb40219ffff036c5bab4428a7d8caa80d37780deccad43786eec73607d0b875f7e3e1e65959660219ffff03333f95f716d138a883f291352e329fc90df6eb67aa1dd01105bdf9afdca04bcf0341faa5518580bb597aff3d222d039d107bb79f89f22a5f5ba5d499e5002c187f030c5b71fc636b3826521c291f0a7c23d92d8fb9d2376c7a8143f95cb0318f9af20219ffff033245bb0e0055b8372342eddd5c068cc7e24d5e54f60a5ccceb261b35fa608e240335d5d07bff8ecfbed0155e5f43d8c8a341027563bbca7cc5ff58237a8ed3dc6b03d63751f68e29c6eb2168f25f2c4ff1999e0b5870e900f52339829f382ab5814a037a618e0078da5d35c3e1934400a518c8c3368e93be6879216f9ea5831b78c3050314890765438ce0f0c4aa705016320f9d502cf2b452097943d7816aa362d5c9f103d11aa432bf2f33575f82003bae79668b33bf4a9d7d3c553cec0e2ba6eff60d1703a9cf4fd46e3955fa96a567eb5ac95c57a7c585d0af842f6f903a0e12bd0237d4032bad1e3c05b2e943776a7bf5ba7f60b05b15c0696d9be04b84107696c5850cf503e84842709ee6ee1a676fbe5688671555121bb9091b5e01bab4524dc1b8a0db3d0334f8b83f73ab2a9255e951ce2f920041d6b968a0a96430fa317d79959257ac6c0326775cc2575a5d1068ebba6ec134300ddc2084b57cc7f22fb9152b51798fbb0b03c033239784910d7819b87b6b709d145217fe95d721e84f733579b22ba98ab8aa037fbfd12a44d70b0807b6625d72302463507fedd4e56454ec601116500032bd3c03a49290a991d235d373bb73441955d9dadbcce70ef112cf5298e371052620261803b74c2604c04d0028714f476e23fefc1a4e64bc3d6ef7aed6a91135352390885603c76e894328a1884bf9ce797398df8eca8e8c7420d1aa54451746c565e9fb06b003ca40cd7717c851aa3030aaaf6f95bc054de0e26ec90ca781ad6e8edf9c229f0b03d429d2e27808358b0581a5f9a4bec929abfa13a99edd1b6f75f1dff61597cd8c032865b9acb09ddf703dbbda4e3882a820d734ac3dc2bb5c097cfae977749601480324a738cc928b6fcd56460962f8419d15a437029eaf76fad44804ec47f9dd90b20356a93a5f503bd0f071ed0cd5f307cebe218ccc7bfe36c2cb9935b81c45c7a0f00352b690b249f500f92565ddf5a8b870e268a8107090556ff85e1e2004c135797c039987be903ad6d1be40502c359af41e7676dc4789086c6daa8b9e51af2bb3622303d6e98ac179a85020217b607755763f181ebb81679f6507c6a025a12d46766bd6033f3243fea4e2b32a2bbf54d01ed18c983af831b08906517fdfafec6614d7e0b80395cf9dd0a7df374e9ef9591135d41141bdd9de3fba21429892243a38551a37df03a39d477380e09d6ca96ae3547d9f7496991724188e49ee039607092a3335569403244a3d6668b821faa32c0aec83000a7fc9a0e2445f1a462f8b63c4ec15dd7474036aafd97ed0a6d78795f6050cc46b76c873cdbed44d10eb384c51c7640f64f44c0352a1515b9e0b461fa369b3ae2f003b69b8fb8cab87b5ee17de2d4bca12d0fb6d00581e023e9edfe0972ff2c6d0da382f0db3d5eb6a897c60a4c173ad1a225180705820ffffffffffffffffffffffffffffffffffffffffffffffffffffffff09b681b800581e02466c0dcab700c8ffdf1818c4db7f67fb16b68580b759516554cac7ab125443506849d7c04f9138d1a2050bbf3a0c054402dd00581e025d12c224c54a6f8f2aa61e0649e0be7d377ecf7aa8797bf2ed54bc1c055820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02280b6ef72746bf93b1bec6ef41cf206dad2afc0fcbbdc7a63fe97c3aa85820fffffffffffffffffffffffffffffffffffffffffffffffffffffffff02c4e9402191046030230da90dbb296f36c6bca75969c68c0a93378d67cd3fc8d6ecbdb338f7fe3c403fb4abb28ba7238a79d8770c633ded45e33eb81d69c773ff8fa1404d0be7e55ce0391de9aa784be32dbeba3511a825e749d7f8fed9d842f12a301961e9e5afcef6c0365f9ad6d524d3b6cc405b6ba3b7fe6afffabd89baeac0d1c284a70b06ea8e2a80316ce5044ea13e749b4d8bbed1d085ecb28605b8975cff9f1e91bdf882ad75b8b03412aa50fd6e7cb1644342d982bc884f5194f25c2176d565d573ea2af9b7d88c003ec68034ed055db71e87bf811afc327561d4caf47b07ad704dde8acdcc110b9a601410f03f2529f7dd28c690e44ba05686250da407c66e1296fb04eab25780b73d5e0a80b03ca688d8f1b676d94bbf63f856ed8ea8b9254f51fcdd30594114d1d620192fa1203615d0dcf330f01699694aecdbac9952bdd5612f1d632485274f6aba9d3a1549003347018c85929ff716efc3b8aa184782b1b4c96617fa3fb04079e7474d27b0ca80305e1e5ef1edbaa438dff47ebe6ba1a77990bc9f4c5b334aeb59c12b23823942e0349a182891afcb4f22794605e7d18b0ec6732338a90d6de511c679e72cf149c270219ffff0382373f312f60583b2113fabb83fcbd1175d24564e11e8d6eaff59f883cbc8ef80376f13320caff2d2c3c011c3d8331bb8072e348abe0dd9fad416028c5a4a5337403a963ae3e2b5a469e82519ec5713379a26182193c0e511a1a962e7e912a806a9403588dc86207c03b956ca9f0fe1104e455bc4ccfcc6ced73233383bc3c0a646eaa03d631ae2d40bf1f4acda614cce5d51041cbe08e7824089aeeff20c66ef084f9cb03f333fd1d286b483bf3a2c0c5412645ff364b1600aa68b4f1ecbbe001407e768b03707bb0469811911b14c4e5a0e77f0b10cf65e63421493ea20db9106809b684ce0304168ec8b8c3b3524cb9394f3f3bb965d1a455098c4272401816026bec0d26cc0302f94055ffd733e2be3110515a661b0074dd5bec576ca1f730b0d7b22a14a17a03584e636ffc2eb4d37fbbb1027140e5e9b98531976427674d216ddf5225ead69803049e6efa3afd402dd8ca621653751414c15f8ed8805595197a009744d84e742f0219ffff03781991cea7c297bf1b91d82e22bb177291114785e59696b59732094553c8ec2c0219ffff035d286aa0b1a975830bbd8e2cfa19bbbae44b9a26f081b41ae4270f54ac2223bd03c1f1429240bab02949a5cec02c14ee7385ee4f935782b7c6cbca311821b859a0038a9843b70ce61dc095e8f96e4c618887c97a36183a7ffc761f1a11487b8eb394038b26dbe304d2a06d205790a7b87539b3bbb45f1dc1d737d31406635c1583481403e841f0e699a67b7bdbd57997cad375eea76ea16be40b08c257317ee04cf0236b0306b8cbb4bf0924961b6ac52638d0fcf44b122bc85d253ac633fd2b50f182d5190378167faef717bcf56da03540e11a71e6010798d2172d2516daa3d39e85834c17032ce5405078c8c54644ede972f114a91c09de8e70d7640815f79415ba830ccff003805167ef59891627d38f4a8f631a78d5f8f8dd372bb21a7653875ce9d53327f803ecb58f9e2766b773677e56234e7706570a85cde591f00d422e45cb93eb0ff158035957cbdb0937cff04db7c5e64fc94c5e8a39b08e92a99c8496a92e4ce58d3f9c030e13383ac19b6bb5e519fdd173fb82b799cb2619059073f98258c0d0b266046f03c50c3e24ca8c234cdfa8992e2771c53906543a910205fb4e886057c7c112bb3103d04511fbbf6e043134f01e5d8864e67f20fec3444c573b1552f10031c7ea6928030c50bc25a5b62ebc2a68a3c815e40c390b81de3c6e492c90b5ed2421e5df2c5203d9acd5a7c1f87250f1efc824f5a368c456571b3b7165c4d891af321c4c56c9eb0342b294cfd2a053ee9a54960aff00887b5a331c576bedfe079cbb748f4f7ebda003c93e31896e85c62273988d2cb56bfa81b0ea0337ea0607c2135f194c311b8a2e03cfd3d432e8a991857d1eb9a9fcacb1da80cdbe57037dc3b474a92b1179bab7d703ba3c8f71f6291b4946d0f3efd4c331b0552a9ea6f424b7a18330ec3a791e19e703e939a2318a2eb569883a64b273ca5d9e5d85ba03b6563105d0255fc3e9970cb003966525cd0b791c19e5976a3648e3e1c58c0a71d81d4fd31ca69f33320abef4dc037fab5911ff909e0c0d37ffa2684f6e561c18314198fc23d9ee9b57dd17a9393d03625f6b7951ac82d4bfd1c1090b848331fd3c5a474ee4f70fa78871aeb89161d000581e02c144e173cf8082c512806ccd405676c7cdad094f72e9da9ab7325f3f5f45e04cee622b00581e02a35dc01ebf694423b5d6836373c2b27aef22f1ad357b7d9c17fb8685d95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd2393f00581e02ba4f4607a8b6f7353472b270fdfb08ffe4239edf77539dc83410e0d15b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffebc94ca22400581e024e0ef26e8e902e27244fc3ca30ccb7212c7a0509089755772470973fd25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffc474783f0219f000032dd8b08ce72982dd6394eb699107b5202d21874367a7cfd0514e70480ae164f70352531a3ef545c00dad792a65083077f6745f083d08f7b2e02b961b59ba89bf07032baa760c817b2323b937daea1373ed494db370bed9e3a18a6349424afdb734b1032ece76be24f866a40fcd04c8bcd25f735e9d1651ca31da2f145f2c4f0e4e281303668a1935fe5251046cded5dc0da0a32d5c8a9de0e28608ef83ea5c6c505ac5e60219ffff0304867d762a10e906c583f589fbb8873c8904c3f024db1ccf0281068179182ff203fc85669dbfdf8235b010cebff93cdc5caa01785cb49f3be34b6ffd4bc7e8986003eb92a6575fc2ef9532e40423911bb44968c116dbd5e5ad723cfac09fc7235cda03e8bccdadb18f1e07ad7f186a382bf8a5fbc9130249f70a3df1077b0d7023d686038cc0ea94022a69d56b17da369f10881cf13c493e4b047ba2440062fe881c94bf03edde4fb02785af3df1ba049536ccf7254d1a6373ca3162e3e9fa4398d77b5e5e036e2cddcb6846cd08c220ed095820b25978dbb67c70ce297fb1cb44839b30254e03553994a6d3c403994e864e0d444ed578bd2fa7893b9cd16a72aea9f73522d80103c97b4dc84f4ff9301997440e76825b36b198b994f92eddcaa6fa289954922c2b03f7cf5b9c8a691caa2f6ff14d8d2dd92f3aa8a8aea63c96523dbbfdb555cd7b320219ffff03bd3363fc8a5ca5c763b14220aa6fcfb848a8626f735d227be51f9e8f888491da03ddc58e2fa73dedf498a8a3559efc57027327282de068e7cb3f67561a317028c403fc87b4f06643dbe5407ed51da6a15b454409b4d8732ceb91e5f18efc9c175207039d8d1023c7fde532147a361a1978bcd803ae73dd67bddb3c45ec538f1d6c38ba03819d3db1be69857f5dcffae79e3da636729cb257c56f32ae62e4fdc96d9843d4037e4f59da007e23b751caabc463f05d2241a2c33a74b30f9b3bba334c741fe0f803301b429f36c9b66a04b81ad5ba83990a452fc2911568204c94b700f2b19ee87303bc81528ccc6693585e05d5e5436e6cc8c560ae1ff249479e267bc2a82b5368a30219ffff03afb23d059183314694973496c77bc1d2b250b03da8eeb49ae60f7be65a261f7603a7bd3ba278d59fb3f5801852ffad4fa6beff960f3c9f7951e2979009cec12a8c0374d303faa00a645b7844925338b61452142de531e6a3fa182d9f5b1abb49522b0219ffff034dd8089448b4d40b270442e3de4c51a2ed08bfa743e4dca537554f099a798c9b03a5b34b1323a206258c00952b1d05051af0daf577755851bf7a5c85a5c61da4f1038bf623a60beb336b68724da260a4a348f82cbf3c1b87d5270b5a03ad7c1fcd3c032d075419e2b3c2a8a0708140c5191c3eabdfb41dc66c5dab8f34e3595b9c2d93030f8a52d1b7ac88303e6a1b77839c4d6c5f0d843449434d375dcdefd11993b31c0369adfa105355de14e690b9f68e93257a54824fb958e8d22655f351e3b3d7ca8303764af3a837761717f7f8738fadd216c858287cf0bed05e49b7124de43137ad7b03abfc45d335acdbd07f69c645f54888265dc9c6bcb417c6b1c4c1b32feb450015031f430921cd4f12c732de2b881ff6095f7409ae24e27d56ead5c96c25e44d0bf6036be0262efe13df242959a9064e2df39c9533fd61163eb833f2b5db176eb990030300caad84e5ef6204d244ab83a616b9cec12d0eb591ac799d70482f7aadcd4c90035a87d7d9f81a6b16524a52c16a274384e353543626128187555aafcf55520e920375280e5baef939fcc2af6c0f20f5b6d406a1db938d35cbfdf062b8762a771a0a037a36ba81ed3bed7bfce1c8de2c047fa18b33fe63e9c3da9e77dc9aaabee93e7e039e0a4b980355871183e3d0f1bbc177bf2e23e5dcc5576d51f448f65af119783203eb1111d5e9d537a9279d4898cb69997c81b1fcd3c99941a5f706c790aeb5ed7003de3cd56c62d7a440bd982b253d51fee955ab48fab80797b63e3b6f1f09245efe03a4d3a08db70b789cf1ad66bcbcf7c31b9b64ae831ee027368fd0b15c2b1e99e30315565d1cb6eadc7fb2d7fb52ef087b952358a5aea0d78592f7d6bc40a6b9be8e037c389f3c68c99c0019d0a07e9500440abca50d4090af1140542ede054d91b346033fcdf0173b07815d3996855255cf1795006a5ffadd92c90a85e15c1143c7479e03a5dec9d1e78358ae12d1dccd20c9859240faee9b14f7152a31cf41bac08659a3039e8a0d5413057623af98700691b2adf90135b6a0128fe51c3ad3c8fda4e837b303928f3f22bf8b27acd4a3ab7e864df02d9f37f976049597ff313f7702f2e2e5bb0386a0f49556cbe546c42ae3caf4733227173388127a3d5cb5111d24dfd4be090d00581e02812c5a10a56d26db280b70c0afd5e480044d135397aa6d5210b29ee61f4c204fce5e30444bad38fa535b00581e0256314af12aa1a62859483b57f6a460b4a8147494e90b2b46baf775255a43016bc600581e0228215899711e292069b2a3126138bf052b23c82af7b3f0b31bc7631a855820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0211a283bf1f3c72fddbb6685655680bfb71e21e3be1bf7b410292969e25422710038e64c4df426e92d53cae8145a5be45c1e3f0b26f9484b7aa0fcea250548f8c8d00581e02527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6544914f61d25e5c567143774b76edbf4d5109a856600581e026c5232a972abbeaca7064450c7b385ab511a2f17f27461fc4afa9cd4935820ffffffffffffffffffffffffffffffffffffffffffffffffffffffed6614a38f02196d9000581f0324b32423619184f0f0fbcc857a2cb681e8ffeca0dbf31c292434286f03805820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffd96ef04803ce3484fc11cfe0a1f3a62751064a49dd0f0a1e1ac0500c909936347cfb47425d03c1ebfa1ad79b92a162cd8eae219c53928db1cc371606dd4887bca2f57ceb135c03c6c1605c818a87d02ae7ebbde8ee415dd55ceb2e8b76ebe2b1a0481a4ec829c80336dd821befbd5b0b7d1a18b83c78999e69c0056608c961ec8e3e3c24d497e09e03928233f6111f64eaaab353745d782f3432a218946621071ed252a53c1252c38b0339f1a65e322ad4f6fdaa9e9ae26c741f055b99b5eb05366462f8ad58eec97489030cdaedf1f014a2e1d547c4aacbfbf248a0412d1e293eaeedab411101212dd74e031ce258e1a3d5c8e3451fab1a73f0e78d9baa004811c75111d05d4c0b37545121030b76f7b2ef016b75916f53e192ffc30891bc8b373e024dfd46baef467553bd4c03a67457f425c4fc360a80333f5c2cdbc2054885a53b3fc6115058c3351836094203b1b18769f7d535cbb8cc26edb157136a148ee6c34d72b0b8bf73ea20b51c3bcf0399241872c4f405b54ffa8c0f0a62eae76ba5057d6f0c819a5d8ffdfe277207db0219ffff03b9720665f0c55636c322687f50451186d87c3ad4149403a6f3dbdd37294ce61e0219ffff030359814d94fe3dd3685711353711b79a5ed6a13ab2ee46f3e2663592e1d45fae03edd95b09fec4941545b0869e21b52e098786042f849d2b6bb046cf65e43f24f103ba6c32665f18bab02021b03b1b269fc6b04ddb253c491a7c75784fe5e445b635037f91ee5c485707361686e0af1254c487c3db44d86becce40e1a2295504c1e9f50300284a7b8fafaa99eac25f43619267a40847434cc2e866e4935bb9279f2c423c032b39db872d99a84289f831b247696af6d9ecdfb757e66643438bc06eb0b58cc90323cf93efd575f487b97593cfde043b3950700ad5884a0250d13da0edf9fd534c03f5fedea2dfd01b2fbbe7f25b194fee02cb65b9aed5ec6c5567e58e6fbd31e2b60322116a4f7084f169161e8ec3a5d2de796335e576afd5b9416910a89a67102b4003d1a95dbcfe573904397b5f69488b1bc589839d319c5a6c55efdd3551126a050803c0fa5ade3c76c54271f167e5f441b485f1eb75940a2e52f648c2cb96f5052d9903db9ef4e1326d4246c472ccbd47515d13a169d957a9c068fec21f4b55e212009303e1970882eeceeaf8e2b8541bcb174205ed78c7b11041b9bbafb4ffa9ba899875032fb8dc063f1b265d76868071db31ab763ea566da8bfdd2b1a7fd4ae052ea7758037c40701fa0a68f3d926c3dcafdab297088fecea37100d78467c831170e7040900219ffff03c4fe2a4d5c993e4c9dadd857e8661db60872b725dd80141becc0f521ae33eab5039a1005af66d8db3e16f2a30040aa6d784e1f1499ad6874c2284810536cf9905903d378ebb7d7ffbfd47a58868608dfe594949c3a155ef04a580263a948ce930b0403a1466dc0cd09bcff7afd87c8455df683bbb69d08ac5bdb43105ffa5f5089502e033754236ab4f269e1eec5004d5158b66eb8d8bc74e28509c17f0dad9d514de8a0035578ead177a4ac0b28d35bf5e81502e14ee60056d73af310d0b9acab5a97c18b03d4bf054b11abee6a131ef65a071e65ded19f0c662438fbf9c1aaef570b843d5b036feb70206553ecd8ddfdb2f927bc3657c1d6750d6142699ee8b88c699c6af4bf03c78502d7e06a37895aaaa104b6c407fb36df95f7b3e598ab61cd5f90482a8aed03d6c71e8b8dc6f8e768002b960987ad7f7465ae6b39bc54c89a95a6ef52279f6f033d1cc383b7f838294ed79ac2cdc8248cf6979c09331f5c953e7a5497e95166b5034df4ec14864c789279a98c3a23e3ef021d4800314f69ec1289079080906bbee503c33f76b3e8a263c3d8f02f83cc3a5c122ccb6f58bba0f8d5719d6ea79077cdb303790eea44945c0a0e06df36fc3bf4fa5d576f76d7e7c1e07f5b3d1e9793a165820219ffff036f283fd3772e345ea810fd7588034c657843cbf2493a4882705bdd2159d5855d03691ff46ab9910e40fc5c4a9015ca3e6fb37eface4bdde33dde68ef75981a900c03b200da8b87f48d6ac016041e2298adaeaa9bf7ab0d0499188f481d60a524e98f0338de70e837a485f014e665a1d90950c82e46b25993cd9bcd1f8a32ffedabf29d0219ffff05581d0292cd7f3f78137497df02f6ccb9badda93d9782e0f230c807ba728be0070119088a02190a0205581e030864713ac2db5e9db0684a29a85b09f8e2455d445c5cf00aa58fcacae0040105581e0382cbe9e9e102d9cff9caf9f978abd0677de42e743578f991d9bdaeb2900c0b4705e5e4dc9af40002195ee703da7d51e611525072c152ef23a7e893fdd90b7ebe1046737cc06a98990dc7ae4403e6b005220f8de7edfd7f06e487749e81895b4eb9f0c56a1da05f1b50aab8e45603616cad53e3488e7876a76561c3accbdb1463c59490ee7d969eea01a64032d0dc034073a2da2953d52313e83f8d7a05a6d27ee5607a4fdc044b6ac35631bef4cb2c0304fc7644d8abe69d5c754e754dc4bbea20bab618d50b57e640a83684673b19790362a752d529651a3b04552c14d59ad4c95736479f82eb39e4ecde3e115d45f77403af9fbecd149a21467bffd1f8ead409d8ccead8dc6d55bf82af70813e74dfc22a03a259f47d33fd03c890d78274e276ea027e6e3051becde575d0d8f6c9e49e80930301899b4da112719a28ffc94405856d1b0caff59c59ebc63d51d096067b1e3a380378a6818c13eb82b0af880762ca82ec9d6e2f7ca13f6d269acd6e565cb49356940219ffff034a74e5a806b7451653b0befa3239b8b886efc5be2587972e99b18d6d249d6272038f133f5399443fb4f07ac8de92bbb37eb18385ad1a05bde32614025ea2cc66fd037a7c89b08d595c99f6077d62659a379f7e23c00066db48981c2ba6ba2363f89703aab0f11075bb9f5b7efc5d64264d22cb076235437efe4a72fa7d53b2dd806edd034bdb44579ce20a1d8529a5a4036a1bc2603c1df75c0eac1df592987a8838242a030c2ddc578d8251ede31ceb3b62657e60f89f62037618ee52ea707209830341a903317050d1976373b607272b71719ba8ac011157da354335f724fc84df6c0ec7c203c4df3c3c06eef83a067db420408477ab74852387bbddffeee67b9057cd7a97df032512aa10789e9ecac403054b1bfbe828e21192de35ca6b2ad86fd55e94bd7f5e0396c597a2a7fcaa88c011339d3950d4de0df1b0d6dafa8b708fa0b3c51d27241d0219ffff03880ba104d2ecb59ce7dfe6a1a379170dc289132b322beb4af1d2b09cba637fef03086a82299f43a1c4032a761c3a50e76d87da1de97b4584013f8bf265640d55dc03b04851d759bd5c80782bd19c8c1977d35f2664b5d7e5a3d44606fa5e65b41b0803f3054aa76f4916f43faca0ffbe08ba17e78c42fc3c22b1711d8d02397f5c165003bc6f5ad2fa95477cbdef51a2ad783820a7565ca99131b8159afff6ae1ca2e5cc038977f27c22bd0d4a018959e14a893efd25ec65f32f1244a4f7716198b4c99cfc036f7a13aed16e8435156ee3528dfff6b80fd05ccc369330da6ceec8619311d5a70219ffff03f90dd51f44d709141150a2da1e49951c34b3e442c256842da5f9b39563ce84c50359fdbeada5f0d028a51a3b9f51b86c49eb43cfb4f55006f8972936e9abaa119103a51bb05ff1ec353ac097d28242a104337d78273caf03398400ee4cd94c58b863031ecba1c5906136d682ffd2bad19a8c20dcb960108df4670781f8d877e61d1f5c032bd7118e2af4fcf7262b4910f9eee20698dffef1e0fc421853c014c325c789e703f37ee78e0e2ca80646734a98257d948fdfd02d63699a4b95f986ecbf42ff57a103894032d0927fa34528691d4102f6be31ab85e171f8b05b53acee703e5372a7c303c3cbde7dbf4a562b01bb3aef58c87b739295355f203e26518f6a7383b77397fd0358a108675607f3205f9f676eae1ab68fc18e77752ea8b67cf9d4d727354391e603fcf1f399d06cf3d2e409e3fc936321f81e416f6f5da2bc7f3ecd6504c1fd66bb0219ffff0368786cd632fec2d35eeb27cca819e38b22d33ea0a9032692a237365dd31dd07503ae40391f2b1a8f4d07178aad646eb6ed1957b099fc598bf967d59f6d064a244e03f8c0fbcd8d3335886a610b40e010cadabc880448a710790a5a70a5750e5c5b41032cf17c74d32a041d58277c8ac5f25d7da3da9ab1bef73a4f7c903ee0a27629350219ffff0378086402f8d6b44c3f5a3b4056d7ba5680c41628e195bc6313acf3d331b9cc6303833c4e7d76058db1ea66c4a5ef6fad4ebf56f93ed74f88d8a800bc00be3ca04d030c9eaae5bd57d2cd14952786a16962b0e45fa0014c11af532c5a121677db628f03f5df73036a717655223313324bad57920a41fb72b2756408e8d4f2c37b649c620313119e73936f8ac3e8fb8b43766a615b9fc7de768d4aaccfa7eb1ed8fbc28f48034c4118458d2ffc44dd371b439321e49c58172cd579841260029e3a33c0a976f903fad5446a54651706d8d1f3d3ce63c52c68fab513e27b61f6f10fc5e8cd5f21e1037a16c64c4e5375897cbf68a79080950f008cd364985e001320bce7b237f5143e034290b94773898fecf8e221c7e3f1a9b7a9c4574acf0430721cc9b5b610e6a7c4030dc98d971398b98ab75fd66a07a8bb607865e06176b1770a0c9637d5b242410a03adb37c6f26403a5053e42b83a8a3b5c8c5c4928b924a5f5f92acc5e6366810c003f48a64110664ff6c292d4565c7f7b66e2167da63ba87b733706d6c0a4df94803035a5a99b0b757bbe5f08cd2c88e02e0887efd67c697f5ab0877549ff7a4ad713503b4d842012ba753f21a32e0dd426af2de97d8237340d672da8ce536a2333ab10303977048204d5146d171cce54f27349cc7dccf4cad69df2d37c591aac2620b15d5034a79886110e15f9aaa2e5889cdb0ed9231663bb72b6695e47968de85b8586593035fc5f29ea3c6d3a7d3765c3a9c3ef3123cf71c0c79e5aafb8bebe6f4c35a0e9103e5aacae1241a19bc118334a7bce9debe74ebcd530e7a4a45554e2b616e7e7ba603fd6b793d4e92cce4e20951b67e706c35c5a3688514e9fb253a731b8576e4254703abd3c3ef2ba060ddc5a47ed1a8fe44633ecfc9e3c4af8b192e26e8682757a9a4030881234bca7ec4e477c0af78683ea6dbb9c65f0d0ff365a005ff9b95b8b9dbe603cf03476199c6aaf69e5f292a749934a89ddc2477658b45cdb55ce5cdc7de10b30385876833fcdde8bfba4c1b5874bf6d9e693fe5eb5a90c5c10142f53721f5f2fc032006ef00535a98e2bcdd761798f0158c6755768c13a41af53e85457d6f8d6d3103755a6070f4a7ac8b8331dee23d75f9da0346606e691436f43be1e2ff0349a0d1036e79df47a630d6a9c878168bca35a50b7bc5064ee27825ba75da630f87eb4163039891eed8e83b6981f157786535e74aca42a89fba169091ce7f72337ff91b176b03aa7c261b60bf7181d497153d2b1cc6cc48043cc5c857ffc449185ed01368481d03d972c583efd5e10666c4f4e31c7e09324884f27815a5c050cfb015c49237701703a31320db79c937bf962bfee62611c2379f29eccb203af22dc6715229c0976e4c030d420eb06000526c12093ace41cb334d7f04939eb63008b5bafad8cd73088b2903117e1d2713a901c9a9d5f1500f034a8167f6259f07577b41e94f86bada0d4ad003644adce2bd67502e088d365e5482a7f01d896321ad2794765871c0c9e19ff52803d2d958748ba7c1dfeb6a22e1e2aea8d9646611e6c3cb938ad9c1ecc5b192cdca037af3d5ccd4ce3958e45f51645277c25b74520406b3cd78e76a82d8ade1363d98035b65aebd14f20f7a7b5b5828b6b32711f0afb503ae76e6b3711170c574cbdd910396d21ebef9038831943b5eb66428189c452a3012c18e07f587e58cc911aa8d26038686730ea5552a75130d2fe491ce834085ff3279a72fce63e812a91caae77d5e03e9277c8ac913f917a8fde9660dd57f792ab0fd112d01b46453ccc2df88e764ae03c3c0fcbe978a40fd7d8fe5236abf13ddad4950e1bad5608079cd866abae018b8031d942c5f793bd295e61894015b65c2a0b772da5420e868784603db7d45fc38ab0365ca75331b2170c759b99680f25803d5fabba9cc4c897a1d09058f841a58083803e3981f17dbc1a00258432c0e34232f267d05e271590ee7a9783a51870f9873c8033a7c4e1b76aa60dc9d631272c2ce6a72e82914e0cd8ffc759889d5f24cdedeeb03ca06c2b4c97d9941e56c3c752abe4c2b0b2cd162e22a5d25f61774dc453deedf05581e03da7d3b581a6515e83a053ac10dee614e37c74397b0001f77359de74100040305581e03e08b15e58c41c3c9db35bc5268e123e5e61f633bd60f8dd66ce320d4d0040105581e03961ea71a2092ede541a5313d58a72b669c614b45d7c9e73ab7f40b85d0040105581e036be6c90bff6b129f08f2d3732f40a37dbc9a95e1c60843ed138e4969d00c1836470135ec955aed3303235db60b9fecfc721d53cb6624da22433e765569a8312e86a6f0b47faf4a2a2305581d024eee85039fc9d8260336899b904d35911f52859f57c1e664281186f20c0147a7a5422d062ab804590c346060604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100b9578063095ea7b31461014757806318160ddd146101a157806323b872dd146101ca5780632e1a7d4d14610243578063313ce5671461026657806370a082311461029557806395d89b41146102e2578063a9059cbb14610370578063d0e30db0146103ca578063dd62ed3e146103d4575b6100b7610440565b005b34156100c457600080fd5b6100cc6104dd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561010c5780820151818401526020810190506100f1565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610187600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061057b565b604051808215151515815260200191505060405180910390f35b34156101ac57600080fd5b6101b461066d565b6040518082815260200191505060405180910390f35b34156101d557600080fd5b610229600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061068c565b604051808215151515815260200191505060405180910390f35b341561024e57600080fd5b61026460048080359060200190919050506109d9565b005b341561027157600080fd5b610279610b05565b604051808260ff1660ff16815260200191505060405180910390f35b34156102a057600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b18565b6040518082815260200191505060405180910390f35b34156102ed57600080fd5b6102f5610b30565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561033557808201518184015260208101905061031a565b50505050905090810190601f1680156103625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561037b57600080fd5b6103b0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bce565b604051808215151515815260200191505060405180910390f35b6103d2610440565b005b34156103df57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610be3565b6040518082815260200191505060405180910390f35b34600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c346040518082815260200191505060405180910390a2565b60008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105735780601f1061054857610100808354040283529160200191610573565b820191906000526020600020905b81548152906001019060200180831161055657829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156106dc57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156107b457507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b156108cf5781600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561084457600080fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610a2757600080fd5b80600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610ab457600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65826040518082815260200191505060405180910390a250565b600260009054906101000a900460ff1681565b60036020528060005260406000206000915090505481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bc65780601f10610b9b57610100808354040283529160200191610bc6565b820191906000526020600020905b815481529060010190602001808311610ba957829003601f168201915b505050505081565b6000610bdb33848461068c565b905092915050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a72305820deb4c2ccab3c2fdca32ab3f46728389c2fe2c165d5fafa07661e4e004f6c344a002903258c851feb945236d9aa49190ce6a1f954a22ce7fb40e9853c155966b29bc40f03680ba046c0992e4f9f3f73f390ee95b35db0a589eb8ebc8925e450376be8361103bd26ecd72a5379df4385174dda3343359ccceaaefa7e53d6367a04d404306b7b03f65d4bee287a821d23dbe32853da771b450507ce026da5cca1d6cb04258de31603804e1841e3cf2f01ec5a65fb346fb17a9b8087b450657d72146166966028457903db2fe285085d8d887defd67a82c95a7b04e16732675ee52c793c5ddea46534cf0357a2a70a8d7681d7a1b0fbc49e2878f01379de812f8770d62db9c210f139d786033684de958ac1c8c5a8cf71a3356d73e490025908e3488b63ae4498c0aa03f4fb03d77826179b282fccd0ef638e4fdeaf4bf367250f06aa9eba068428df00a4d6f00362470b311e783d332595cd3c4bbe4dc825db0529361159707927acfe5671adc4035829d57b692c44350649ece5e2520ac5ea184b0814ceffab6e4a42dcde102778031164c93dac507600f62223b0d125d0c8e7789bd616058a3fe44dbf04445a5a44035e6c6a3de260d3b3abaf7ab1b8092cd0749b16026ef31be5a0098f356b05e5ff034e4597fb87f732899878120cab91c46037e71e437f574e53918a06d36fda5ced032272e0d26c583d18a7a08d001b99443bf6ec77b3ab5b2378d41c387b63b3d47d0312590fa557d104f681e79733fa2e25f62e37f5a5d0f9fe842a43ffafdf7344fc03b671747f51b1de1600c15dddd85ff23f061c7f9d904e289988b8163541f2116903c93a9c3b189f78e05a52f5ec546c4aae2a47a642c3803197fa1ff7bbf4563a2c03ab86a9a0c49994c5a2cda65842ed81d283c585939edcf27124f23d987169c33803348f9f773e6075dcf53a623b8fd2a0c8b3b66194a8c6e179e7647ecf5af1a6bc03d58f17f0f2c9fed1484f087c800f05a86b8a43ddee0e2e3178a71d397908244203a0c748fefc2168df5b99fadafff88b9e3ff5e460f84058ebe2a8414e65faf91503ab26e18fab352e2b3120cb64a59eecd238e188488136e83c9321c0665866312d03b3fbbcf89da76c5abe29a8fb2920625a6f0135126108058f92383cd46c08193503edb0ef2e69d07120ab83fa70ff2a41edb2b5935e73ad6a78f6eb2fd31e4fef8703036ac77c468e0109e271b9d6c4aa3384e87001503d275f91ee2c078888bdb62b03c5133909a2092ee8f69fb9994c2b3ceec2f366c4dae5e7a067faa49ca9c8ce4603d63f33303029b9ac31d64d217f0b35c9b5bbcc2c1e713de21a3427e98843572803de43649d4dc30ed43b7318315c5f9c07fa295a4d7daca314d42b877c63cf049403dcf9d9ca099c7a2bc926504b977ad5139ad7ddaea3443e4726268c62606fcfb2033b6bcb14ecdbf83c18434ecd297315aa56f2794d03145b7e4d60ff10912e92f003715a79612fcb1f5409855d6760ca3ea2df22c6b99aa5d2a1b25eaaac158286c103b079bd51c810a078b3f356610ebb247a705f2fac062d76328b823f041d30829903c54a43dd80209311302a06fe9c2f10b8db85c5a4c36f676754d6deb425eae36900581f03de4edf38227e7aa6cfcc2d47a4ad10bf7837ec493a892b7ce8ed707d6e505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0319431d102f4f154c0d6c26669c52157b9ecd33a103b1498bb1e4ac6db5245bb203d69f17f18f715d8b51b112e9b3cd82858e083c21828b7c6e460800a5e33aad09037da5b924acfa93133a58fc24fd7c404a0a3fb1f3fbd5ebd3afe43931660ae0df03a981b4be5e82eef2f5d3a540926d88c64fca7cb8462f7620ed089a18d4fa00860365f23c275d19d10cbb5ba7a8266a27aad06cf79bcc0f8bec863dcdb450483c4100581f036f7427aada1d17cc75f85a8c8d3f1e8c7afc2699d98cc32c03d14eb1b5c05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03226d148e6cf40fbb0e0a1f4201388589c81bd6789b7a95550d13954b1585c0b903335c69df45796d3fd14657a2fcf87e7d0605b44fa473fd07daed648a93ec29b203861553b8a3d2696cd6dec12c9d26805af7cfe33675721bcc9bab52c44a59767b03108244dd50955d0d42ffc3d4241ff2cd5506efc59378e7182a3379199081cdcd0377f1cc94390d788f778e9abc25d122f06f86a5bde750d394eb95158c27a8c88f0305f8f75e7f80cf17073894162f08e1afc79d65b452c47796d85efbac61c13db300581e025ba1f0881c3765cdab4b84d7d20b340828dac5bfeef3f4cba15ef7bbe05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0301e36f58d79e973c58d6333e4c15a9d54357b52a2c560ab74013b297505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e032d2f7317c77f9337fb9faadfbaf38b2220fb967651187c715b5c8c47e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e036cef84d732bef714ea0adb4b602e9dea2eba7850b0554a7a7907bbb50048928b0b4491eb4ddd0219800900581e02a95e615330244b354748bcfcbfad8633457f536ecffec7decbdae8d63f4672c73a2bb00000581e0249c669b03a6e82f72916bf5cdedd57d7c7cfa7601eef8a24631c2ef44b48014401eab384000000581e023e9214fb7fdb497b62fe7c176af51c511e58331badaaa87df64518e2f85820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0292a97fcd4de9c2ea1f6ad5e5766d330a31c6df01698dd8e3ef20e7fe255820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02c12c4a7e136bde0738cd13453ec43e2a7c7477c7d619a9f22899fa3d655820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219c0cb00581f03f218ba386554a53d8f5f98dee787c5e6678bb150027a61cf595e2fdb92505820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03c617af8fb9b62bdb1eff1f090b2246af4c25583e53ae23f26e09e3ad0ee0c6b80219ffff03e2c4c0830a1d9273158498a8fe9a401f77170e3a86eb95c70960f25b1ac57b4e030a500779d4c16d0214671dfe9115cc25279220cddcfca9d7c819fdf4971aaad70219ffff03ea15e62c0e436d052e35a511359053b4d5916192589f2c926a64792888b5e295030aef44e42d967dd913c5b99c4a93912345a945854630bb365457c2e4cf39b39c03ffbee45d95933d183569ed58de393e56969716dd94568bca6e736e87f07f822c035bb0fa263e336ffb84a4fea8117d69a0410d867eb8cb06d8104df0978bf5985b03dc31d8137d9abdbc5040409c3012efa98e90513fc126e7f3e53188e7d2cecac7036296d62cb8143b66a1d1a95e840668e43cdb6c15a72274f6a6f01cfc1fb20bf703816882fd0933ecb6a1974ddf92d634aa910d653560228401fdefc1030388c97a034984d10fee85e494bc53a17b032ee6a8f8d41c9a5a8dad27873c42511d05bf420219ffff0348934b15b99eaf13c5250f752336d6fb8993345f6d44eb7a86e352bcbb201d470219ffff0389c04783905adc49e9114b07e4ed979d47e827648bdacd6d7d19f31059585745031854825d08854929afbd789ac57974d351b19c09c4cae516b44e341df350f48903d1655595038d84f7288f07827e20e2d6fa33e8bd55c27508460ef32f306dae8303361ac274a8b9609257b578e4dc3fa163fd7ffe033cc156d07e3a90838697db1703120ce29f2b558198729eae82fef06629ff5466cc586d63e150949044acdeb197037817932b0f9622c3b9b61b1243d9d72eb5c2e2bbc69c958547b3f77488b0f76003a2fe44394ccac2d4d526d4d555b2e196205f2a191725d10b720335ad503abdf9033fb4a62f3f591e80e595b3a373802badc09417194bcfecc83cf82f9543180d2b03cac3ac2ad715f2b4303a4b0f491b5770f0345ae67d7517619bc2f0f97bdad07d0345ac6c46d08b5348cd1bdd2f291ca2aa7eb913a03c428447c03c520c95310aef030358db319d6e8c2cf850ec2195886e678bcbfcb596f4f992e28173ffc3c8a4f0037d4735cd7262b21f800ed5516be6a25e6f50bd17ec848a2d8d45b6574e8e463f03395d59c6d7233acba9810cebf9887f0daf006301ff079337d849252c45f6dbc00320988122a400f61477df1d24abc11447f6481febf1065d00785281b84c20775b030ef45c09c32347fdd59abe6097cc1ee939322af9f6cbdecc36c63698fd82dc9303800c28e21f2053e0f61b4c9a2968474c3023f64dd8ac008cb9e4e241ad50684b0385987ab8251440898c6b6c9c3691950ca3bc0244fe6f75f3405f5f8a408f6a8f0376965ac98184ae0735f799df4d920e0372165f9d3c98f0ab585977d653c5ac95034a1cebcc94862674c15eba3a7f0a8fc555449b4775a6eead99c417e6fa66cc1103b5f326758f1f17ce11e285a5b203fdfe1f6ffca2ddcfac755acf020bf292b745030d59487a27391a56617c4a7da48822bd16b57f5f882c393ef9790114d1c58f1203023dcd9ee49c1563a0257425e72e4008c7d9c3c522c577ef6754fed5a258323e03aabff8afae7bbb8518ad90fa27d09949e4c7fecc3270fa4c747054300c5e316803fa42aad7b15d6d11eadbc7eb15dbd4d2fb35b658e531f026ae02fd54314e36f603e3c9a332b20c96a2ca2a7547b8ceda085e2f64cd7a9d41813b32f45da5de4d3203138ed42f68459d89e7566321cbc5c933f1daf22a0a230f4c1536a1267fb178c3038d30a4a7362161311aa15ed932cb85478373becbc3f273336f5fbcc9a5610b1903bdfe26133d0bebbea5b741e93ce6495d085b1c70ca6fa5290fe8549ad77244c80381565e82d24d473615b8dd19e84b484775cb628ac39f5a9389d40bd2945ae54e035686b9c790f94f0299f5947476ce5e86b6ddaa63f91441be306872b37ad13cc3034cce4282c5bb922ee7cd826a002e40f59760364837a4c2927b185594e45cc1ac0332d361fc51da352f0ef8ad8752c565fade5a5a8784614c6e6ab6a4fbc131c5a50302325ed5207c523e28ee0bb61e3571b33052830a016ddfabcd8f3f8854d3ca9103d63a2dfdd7d6843bc07f8ff3583cd193991099bd078f33f68a07bf77025d5f2903ea4fb828cc7df5b2859ad7615e64a2b51933c4ffe611f2eb2a991abc9a4b930c03f603344e828ff1989b017051377b024fca8e468083c9a84b970e3546f417581c03912f3af8cd84d62076743b189c7deb0a13bd3c8e8d24be86b09e6968afadf49e03d8f84b83332e48ad175452982b6fd450565a6a629347e3cf4fc4cfa93d597ef803647965599a11864f282cf146aa646672944e93698bd380ba0fb3dbe18bcff8d000581e02aa751d2942ae858b817ccfeb59566840eb4726669f491ae7d8ebadaffe46221b262dd80000581e028f332911fdacbda46d6832b1707d125514b343f6e798896024087b0c205820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02ad4c21a767eda5b20a0c8b959a7bd51c58cab64d3ca11acbf1dd0624ef5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02cc94798e7bdf2790cec79e819e0090fafe127cffe4f52e3f76111f1299486ce4eb2514608b4f00581e02e7f17351be8102794fe3ea23a1829528715469b3859634dc1ca4b6743d5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021995420368c120bc43b6a65acc4214be91e6ad698846b7b5eeafac03956ae02a73699cf503fcfe0990b0a11905d05faaf869af920a86f0ebd125cf40753be168b12905472b03cd18a46f9506f76f8bd4d0e5b8d9883df5586ada1bac1349d33aaddd7c5c846203d11f94e1bc5f8dac25f5c881d1c9b21e60fb761d21228af01b8f453ae6520b100363728cc1ab9920c1227be2f898909e990e7658a468bbd30486c44fc9408cf1cc0376362b4562b4f7fa290a7681f52d472fb4dc6cf760aac5ade7c94692a39a4f8a03bae31e91f417c97fe6fbc6da47743fb9614c062de98deaea1cb81dbae15894b503013c5078b47fb0de8cae649af9d298c02e9dc25c0390231e16cbf81a9c33f1ee03fea100c6fb2ef8691d84415e9afa81004e2f02265696924a2b5bb050444e78190219ffff034e45f0069f1f5e3d7589775cff216fda1f366ce644a3741af1ca967e02ddfb260219ffff0368bd7498f3093d2fb1486ff138506389cd9d3c393d336e369d77bce0e4d9125f0319d188dac77d882fe3700f098c56e60abc002588561941597bd485fb76dfa26e0377b7d516f8ca8887f3f26114f830602a44a122bbe78d2ba47a44a2a09397632903a534a81794408b65fd2cf25e2f7cfe19bbf15f5f17e7046a530502889cadef780219ffff037925663c1a344cc59f4fb8ff151f41a47977deb1332f4533ff9c2efd8e9d31cb036fff43401f307d9d9deccb98013002ad6d56261693a1114583250c7780fa443003d6dd01dae403071419cd4f7d72a3b0e00236456667ef4908b61b2098163d70b403a03f65ebf1bd035789686aaa2ece3a0c33f086eb1f6d3dac9ce1f12acccbc6bc03bd7d5ac863333741062cdd8da18706b8b1e3163b34e709e3c0225a5be58c8a15039c749db34a32b4650418bf9437da11d952187b3a0a3390ad74705baf71f92ae003261f6fe9f2e1f727f8f135bdd220ae6cbaaf3ece2ce15e62b5aa0cae5b828f390389fbcd19ea1754dcc42ed573dfcc2067d90d4e54aebaed3881595715aa47371703c99f3bea8df0d196bf1e6440c77c93dbb0252fa9c4979b186e52b1033aa35b80031ab3889ddb8708578838ce297c17b99b137a9bd515fda90c596cf1f323b26d4003022523ce81c20714ce1187f0d5c18beb8511d27908c71a03770444f6f559ef490325350931e7b60926b17ed605c80592f22bc73f8d88f43f19d4408b7b6f1372780219ffff03cc6275d5a1cf24976ef51f64a9daa386f2a5dd4e19e66604c2360ed0ca885a5503733b14bd6ee1e9fc788c87d764165db027574fc104b9d5372926ac9942d7ce36030b4325b60b37d5a1b1363c8c53ef5f453df82ff19cb5d8a6772212731c15461a03dd30c1cb2b8f681c60ad21cdc1edcf21b6f194bfc9728a065674194516af41630367a34bd572e09e68c20b518d4071dd7e191a798e3c81931e34fb68914656950603b37cd690b925a31e3eb14c6d252a78a19b9bd7bab3e6779cb6967f8262c5536c03d3ffa2e001edf1ca4b232e8896b3cd8140c80ddd99ecabd74fc7c4babd696b5f037f2ed8f79fde90813314f9a05b986d4f39f9ffd34fb6dac2465c9be57eb1cf2603948791b65deb8242a36ba346eeb9acde968f4e43f2e07c14e5494e1b8b9b3619032a60935cfba406bab17a67a103cf458700f83819ab4da64267f0fd5a0ae1b6f9031f6181976a1cf0c100f6c3b648eae53380605d3037189ee9cce454e9527d38ff03eafdc2bd120397d5b280eae2241ea9527f11ffc835dec9d0fd019e0b483268f803888682cb1d206ae4e12aa0e3c1079a0a061e14f998625f97131a019a8c7bf83603f016f91d202f89e2e7b19eb33762cc54dc521a89953931d45e15fc3668beb1af03d35d8327746a6066ec17b28cc71b212a699292ecb4deeb878d4a43a2333072f403829db624900659d648f96073eca5238d4dbcbdb08a3772d0c33c19a72d50e35303bbd42f79969cc66fbb1e980acb4721eeca4bd56a226f972fd3ac0e341ac8e7b8037e4c1e1ba2dc4b60cfea527642132c0543a7e3a70070d42138ffda15994bf070037cb332298c3d2cd403a65abe9a608ba9cb827046ae9b301ff428e360ac3538b603043355d4eb15da2f523f1229d6aa239e80b2931108404007149e9583df097972038939b82a7a6535d6c3d02b359bf59a8613d935020f4845133279cbbe84ac7f6003891dc5ce015979762cfa844c7803cf05ad253635c5db49c69b8b81d4af312f76035a1a3e40b5ffc335c914ddfb05a05b0ea7efbddb7f2122ef07d5bc70b444e0f0034df06ca2011ea5159c5ccf6acba5abf438713702cfd22b8cfb66faf89f550a1303c60f2c3acf9769d1ada019c32f79c5ed807d3b4bc43ccf9f19699341ed1aa4d303e93262f8ad5035eeef9ab1f4205ee5459ca8c6f03132f5fd46c1c8fbee5e821f03b04193f82ed3e46d5ba6d719b9e4cd25332b65ab0609c16d47a655614e5300de034f2f0fb8745c183bb61ee1b6da1b261eee6943e4c1f768ded2a6002eb6b52ee803c311543859b884bd36f93f699a9f00cc845cb241b5b6320faffaca645695d61103b5b8ab144dccbaadcf81df22c4367878970ebc1f47f0bd46484f07066aabb10300581f030b152b91eef7c7f6f99d5a1a7856c862e088efd599fed03e711ebbf8ea80475ea8138e89a6200343d9aea046f63d09cf757ce7f76e4bfe96ecdef50c64eaf989889f66f5dcf6d9030665227d354e4b58aa78b203133a2303bfa06e40b991609f6d36173e1b1b155a038d98dea62e6f9d696a67d282780c11b81880946fefaebca861ce02529d1cbc2b034e8ed3acbbbe78a3b8e27a46587e9628224e3f6582ac8648aa9f014d39231ef603d0d6177aa8698ad24b1913616dc18c13f67120eca250cff6510815a8340c4f2803daff8476daf67f10cfd41e0b4d4db51dbfde14c065f277722f530378c2f324b900581d022a1e34d72db498e4638a83f823581777f4fd4eeb81b3bb9517d3d0f4481a0ce48769dbdff200581d02a39e02329de2638d5a2c976adbfcbfb31fd3b1ceb368f2aad217b3f35820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219048001410100581e024456a117a782861622dc04f36a4f6b00440d2a1674cade0d00f67182f05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02059de768331bd21006eb35d7aa8ce3afb2ac9351638629013b590279b941010219808103e1eff0e20b45cc8fb2e31282bb5bc1a54c3f36b31ffb76862eacda1e85454869034362073ab3b2724c5ff643f5455a0fbec1d0241a229c0a3bb71e12a793cd075b0219ffff03dfa3e440ed356a72c2cea68f7eaacc52ad84ce2c495abeef90dfc44280ebf401031d403e9ebba858efce254d2d1ec98afcc77296f4c484dbc4246d13c9750effaf03db8f0aa7d52b0376ca134456da9c6eb9e0cd386120722ec549d898b0fd56af4b03635dca055624cc68f5933df3544b746584e761f880c0a2f12d8923f58216830d03bc009fe7dcf06946990d2b16fe3dcb6f194605c1d8208de677ffea55369d4638034c58699a16f374be091ea15b6c7354c47a1b17db08e90a4de9c58af5ddceda3e035e17e8a86d4c4963c8828dde1eb7d272e4cb9ae476b4c4f3ca8de473cccd856e03c6de533fa8e803d1591b625dcd24e28089c9932bcc8e0a07b86104d0d9017ccc03f04b8ea4ce62e9765e39bf6075c4ccc365e83eb83c123145c50c297ea0e6aea503770c96dba5fe73e8d9a09da9f11216229e6eb1f1325718e64af8fe1dcc3490880219ffff037900e173711d64a50daedc593adb20834305ccb174bad6a1b30f5f6f9ebbc2350330d8ded446f35e8160bd87c680597f613428871c364a9c4c8f79ec3ebcf94689034cc075a50b8634b21ee37995e8fba8475caa1c4bb622b5f99837cff1b9b25acc03b3b4cd22dd6b240a7f0b3424c70555224b70b0d80f953c8f4b8251e697626bfb0383983ebc17e853a23b7302c8ae07592e915496e509e39ab801e8e9fdf1fe3421034cb2e323a259b2540399a985e0c1fb1afbde275008c492d2e33b6d7e6a931661036ab21ab6e0101e876f74d1537d7dc8f92974c6e1c6a4df7dc1f17790413c416b03b39189ac497a44c7337766f647c713b9403af807804b88e7b12fa5371b154c1803d449bd68ee60693b15f6aa9fbb7733c92b169b8c30f36d54dc676543313c13d90219ffff0354476fa2eb40443365ba6aaebd43a23a76e1e61707a55553e3a82bd5fc97b8470342c0d24898404150da8c4eedf15e53b36304f741e6b3e28908ad460ece3d7e0e033dfcce0671f32ae060937fa37287522e901950d5b290697634baaa8daa446d0803aa199fd7857b1c92eccf8c8f55602517ace85bf49185dd130c2e33cad6e1bfe4037f98df3464b3c137c8ce6ea27667732c0050fbdfe77f38e83bf73fd79edcdb17030213ceb97ded2f6aa5e3acb882fd07df89766e0f6e1bc737f68b9f5f0545faed03ee265daeeefe96f4cc40c17e1bc287d0285d505c6215e88b78fcce92ae6d1b5b0307864a3a39f254442fdb8497805fb3feff8ea8fb498a9057825908f39acf919803bf1a2dc61745941aa7fb9f585d96a4280fa62a5fcf907d75eab09ba2924c3b87030410d4c9be9ade62dde511e95525f60a19d28faaddefc03bc36b8686ad34abfe03b257ed99dbbe821871e505d69803e932c17c1aae58e8ba7d99eba206f9e0edaa03c7daa178a4ee51831d298d6da3bee598ad9947afa192005e0c9d6e982a95e8c5030cb25a034e9f760b6a7f679cfba3f9b8d15d26e0eb5a24b7df2dbd2f611f1b44038a0775258a991250298e085805aee827fc61309f11d3ac34d2bbe9119a56aadb031a7810bfa0fb258d6a2174f10337635d10d48361e1ea9f6e468570669b4fc26a03240dc452bc4706b486ebca8996e836e69c1097182837a84ca0c2efa23abf191800581e02c7147a0789022c899476a7a616ade1e383a45e825273c59ffb1928fa895820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0270bb6130920b7e3de64233e96ac2464cf45ed42ab19fdfcab7c1d0289c4810879dcb019bd68e00581e02a08e16a4f7ac34f62963570b7d51d49022c4f8338b9f0212688c57e14448036c9fff493fde700219a080037d162c546197069408538bda04ffad292b3762d155602039db5d77baad6d65e2031c098c61b2e837499325f1e316bdd1a94c007db2689295cd9aeddc6f2d0a7bfe00581f0330d38e63fc14f140caad1f74146c8c8faa25444c1f110c879c27b50513a05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff037e7e48d080e5aec741eefcd4bf881aff6f6f425c4d42804e57957f3b24a1a8fc0319b3bb329b7ef8afe95e5dcdca66e8d6bc540bd40f658556f0edf4ff366a20d003fe95a34d049d09da2b72fc7ccef5ace5de1c38ef168d9b0db5cc6e59e2cfa1a900581f038bea4c07bf7078595129aa732ba195f03bb29282dc0a09794a354ca027304648cd1036cd720343956a25a5fabbb70c98609b15389311acfc68ca7b07064c6a076778fecd8735031cabf3d9b30a39efe0e72f794998b3cca6cb65f660f6df3eb8e6170e9ab0c867031af490e71a45f88b0aa47604a406ef139496c35c97ff6a8a4b72fce61f5ee8fd00581f0353ea2eca8dea0356b65e5c390ed2fca04a84587a33f7622cbf8694ca18e05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff030391188753556e4c38006d8d38560940879fdd51e737dc0325dcf344746199fb0219ffff03d8d2550526966798c174dffcadcd88b42fcc886f7ba9f9ff8345f30de6ba45f103a903dfd40cdffb120fca1d4c7b418e30c2e2bc6ed6dd81b4aa4296fd55a8db6e034eb3627aa39fc8daffbda020561bdea7dfaa707661a1294cdad2728fa219707d037bed3e434758a36ced0d118ea5906b4a431f76ea353b698042b68a9e876c9cda03a3a4eac738433912c67f6504b4c1ca668121749cf56474ddf47294b5788009b403ababb01d83f20e4316fccff1e39aaae01a90b7aa8071afeebbf9ef1689b063a4031cb164208893f950d74e06b7adf29794b5e5cf65d965b7a87f40b685b227973203fd62692b3db8d4582e8dca1a0ec9a2469cb6af27f02eda61248b440ab1f85e0f031decb3b98f0bb33ad91b6fb1682e25dc8df0c00db468b15f2de8994f542f63d50361f37042a2587386fbb2d85b5e15e11433817f00b86e0d1803cf02849696221003eae59500f8201c7c647a4226f03796e11ebef1aba03a5b42a4291beff08c941303939ede8e42183c50c236cf0bd6fb88bd21fedbe349bf269ee93002c7796042b10348612e053a12209c11f6bd107a89a4328e3d7afb809cb305e86bbadde3e7b4a80338e1cd81ba6d69ea881017ba289154ae82c0ca5d74b403d9c6c1486326d3973e03ed8d3f78ce1b1bcdf71c5d193092c7a454b4b83f54f48bd92ba2ddbdf255e1620219ffff03410e12b3e537433a995f528fc7dde618a2ff37052b2d0368272b398b0daaa27e036145c12b876706ea099b3ca16815903471ab9194dea3861fa0c91e5181511eee0219ffff037e8e5c2b9fa2f31d015c14470659d1821c79d15c9386b0e924d3737cf9c286430219ffff0348895677416516ea11a8bbc1b8898fbfe1c9feeb9a607deae8e64921da201e790341e7bcc329711efaef00ce10ad720c35fb7bf215b70b1478dc098fb2155c7cd803e8659f0f29aa240c6e53d039d62e2c0fb36d9048780c540e5d8f0c7725f1fcc30333c0c2610886b5e5c4252b28f1037638ff69dfdcaf3fa2dbeea8bd98779b729c031390def807310d2bce05d17a4aad9e328f366fed3ce21cb1f0bea605aaddd78503dccd50d6967df0276628d99b3b38899174936bd8b950948b271ef0a9da5cc73f036c2b157d9e7079bd5d7b9bf55c32d17f4e26232f0b76ad36e94a4a327a39bbb9036b97493a62728a111362ef972086d7df94cd04c7f0aeed3dfc4acfe83e43f8200341fd07d8c8d0341d98555a2879d60efec9e93313c4659c9434a5e1fc17b8380103757a1f087d42d814c121698cf037cd7c30b68773f17bb5cef3c212101d12a63b03432ec5dcca81020a377a3415686bed745a27edff56cb516b00d8552dfa2c715103e9c16c0858a0e7a281cd85f620ddd84328f89c193a7ab8d14541dd9c9c104d3100581f034b2c64d372e60b3deb584c7a735e688064d5472dba43445fe883dc3a9d90423c500367fb8f58870b4d6c24034690ffae360e87fcaefe9c1c1ce7c256d06a488fe81803d9289f911d1bc2e8264e4e3e40e65d8d43a6d44f1fde2ba30b433fe83d9138f003c9f36cea93339355c5b16bc3ed108f851b829cdb5d3cb66065790bfcbaa5c1f603a29ceb75dbdb55aa60bec7a236d8e85f6f9673bf2013dfb6b1b141fdd787a687034db86cec4b566b614c14d223e622296d8c19b1d2077ba14c9457a7d8f5adc4a800581f034d1c8bfa4a97445926fd822a2ead1d6ec09cd234c58e3916929781163fd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff036d6b75e482c8186329f886bc9c645571d31fc02c6ff4ab4ff4943c806915dc5903cdd938d4ed85d9bcb934431c98ab38acc2c9cf9d4652d7a3a34123d66e1644e700581e0270028ead38d9fd7f9171a618887d4f8576de72527b089b7a129b7affd05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e023ef8cdd718d82e58f2d37179323158c100e8815fb83d9a09270be655085820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e026659b8c90a58f0c6881882d50aa05277ce0d585fcf7750f0bdec8c7d155820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02b219247b01c8162aa97ca9dad7fe28fe9def6ea389cb95b204325054d74a04d671e9d45d09a23fbc021941b003c3e19b99041442fcb660bfb63d0f6232deabddc898f3f854e97237255ac9e1b00219ffff038ea856e54df40c0cf75d4390e9dcea86288e58c991b4d297bd0033b604282be50391834a439aeb5c9679ffc45e2f172c0d102f20af7fee07142a0b067ae33db38103073400b3269663420f0e8b214cf16aae51b06b862c85363385e76ed82e9a87e203c93cdc1af3de19a8906c3d34f1eda7ef0e9aec45740d69352090a917cc3e4fee03f339543a04a3242c1bc69790d6d9b01fe058d86b99a269e3e75445006a29fc0c03111278dfd3b7f44ef56e9a7bbb3c0897b625a8803d08e2782c845ba9f531e6ee031ad3787fbc3fa4e0267028febd2cb68693773d00743a4360420df43313a9d03b035387016d74e663e4fd5d3807733efcda248d1071325900ea29ab6777ca6fde27038790101908b6a8d44859e1c03555b4e88614d73a96499c64c354c1b2f527a4fc035508d6416b45e7ae100be067f3055e3c62026053303a8719531ae6b0c779ce0b0315c70bcfbe0deedb4fe9bf8c1f9d0589a44fed484c98465e20f82e3f4171ded103bf42f9654b359386c90bfa28621de2f12f5d07a8f6ff2e15b4f8b45ddce1833803f4aa3e01925a76b4e6a008cc2c9621d508e015aeb90adc9ee8574190d3bdb7e20219ffff03a924c3f66432a20af24e2a6d6845994af7767d99e139a7ea7dc8554ef9f9622b03e20f06bdce293ca6f61115267c074aa28bcb609fa315397d772ff827bf73c525038c1afacaf68b977971cfc08f1598baea72165f20742bf8862553bddae85bf04c030578fc023b41e359a204d256938176c92e24b0f8340a5e32b10ce93171147ad40376fd0c507641276b508c167f55b47e55680ed62fb8387eadf9564109791a66c40331ef7238abaad5d8fe71aca593ee4da0dee4a9023f3a2f61e80abfd899b292ce033dee5399f5b2ea924dba5f32bd54b71657cbb0f28176b8f90dceeaf3b0825f78036a9976cf65baef66069f2a9c6573517bd2daf4ffd6cda394ecfb9c44e9d31bbc03e68a768702b60934d9e992cd00936bd17734c3453dcb4e4c4103c8c1d62bf756032b4b79f8a4f153ddf6c48af50f8ef7151ede2b5b9dc1459104973c9d31a2e220032c8a99cbcbf16c939ce1e9058f3c38ff840ef13c5e84425162a09142d6b08ad6038ed4a4c58731ec584a9bd2bd0b55713a1f6ba8ffae2c28fe284e45e7f6078258037e792507da80afb9cb1966c4b4891249a5754478922d3240ed06118ecfac00b003598f7c80a3d8b0b871af7685dfbefc4fa7dc03cd9273cbadda5b2d3ac662622b03f135755931ea2f2555953576630162004de00fecdbb9be11a2847b050c4f61010219ffff032d1d23c62c366521cf551722d186d8063101a32f89e63e50739eda96aa5a4b80037145708b9c31061f6540c9c800cf392ac738dd8540115f3d969229d8ec2f19b7036516cd98c967fe090235097820b53a8510986da56aebb419f8722a07285536bc0392dc6b1b71f2f6d107d2330fc84631f05e7cadfdc4463169dc0aaf6d58ef075f0345b5ad6becf99101e9138e6c884250cc2a7a44ea9165e9ef57a6f4038c8e65d7030a4ba9c187a3de63e7241e3afedaba5b5607ae1fe6876d4fbee40700c6013a6f03a663f3c91c0a06a428b375b8f5b71df40dbb41e48e6296a2770c1b68cc8c106103c52ac0ab6cba6b9a5c5905b80c9fc22b20af8e85aa53d475cbed509af689b95a030594a02c0e4fc4363f5ee918a0898b5c0abe8ffa23418291ee6734c8c3e22dbb031233fcbbd7468c35ec383549febab3a48960f014541b5b4fb1df9abbbdd283d6034d6bb5bfab50cce970a530f8ea83472024829f1740cfcf2825ca85c4a016b0ef034a09b27695f4b7e899cb1273b8e2df566460341bd65520985d92ebc809a4228f0219ffff03460b8107956600a9c69d0dd79b940fdc26f04eb0704f34bdd29024be35311b7703eadc1c47322f3a478c049d0abe2edec04308bff53e9117ef9fafa8e39f5221ef0370e77609739ef27f86d577a385703b83cb1b4a0026988647656903d9c10adc9103dc3b72c558b399b9b2a5a50db7eff99f466a23611d3ea0c7b8e1301d2f4f19ad038c4f6839c54c21d5003a77300c5167380f455a1b14aef6c251aaba47dd430bdc03378cf98600ef88a9562b030e5c2963e4b0c9c4ba2409e86214c638e86a2ecf9603718b723601a055cf3f8161fa1d6089483ed131826849ce63158ca9b50ee249ce03375c270fe698b94b40d71429c5777f4a2778a8a0ebdfc3f74da4c25752c1e953035a00ad6a19523f39fa41e9f82605b1ecb26a615007a3887eb3b660948c938e160306cd16ba555ae1a531a57bdb595b30cca5c215079ca4dd9d312e646994c9e6bc0363ee4e9cd78d9858555b3ecd0db9a64264c4b72196a82db5c2e611eccfa0fea5037108ceba972475e937951839e0240061df784f04e2986b4e62b6f7a0d8868ba303802a00c8be072236f5ef41677419ab16ebdadd2adbc371763ad4bda18ddb915003b8b0a38c5cc0ca4f07f80dae3d66289b1168978674268767d2fbfc83435b51d80311d98c4d19a15aa2b84fd08f4a390ea4cf882fc128d234fd0e7f8a4b22d4713303f3988637473cb24aa2aa0821daf55dccbcb0f529975525538595cf92cdd7930603470ed35dc8514ca8dde794a1964b0a0591dabb56ad7fba451f9885e4700a3d7503eaf7638513e790e643015de695510f1dea0b8461ad8f5aaa660cab92d63ea45103c3b357662b9a2f68dccf5847c22e1d9eacd996a3e652aa456a1555ef1322eb6c030084babec65d302bb566bed91104546585cb799a178fa33488b34895029caba30308282e226b5860f010e6d07888740d84593386bf762a5122a8053b5fe7eabb2f03fae2bf7a45a62bfb6b73a1696e2c1875ad15a044e2c0f9eac4de5c6bc808b70303fc7e3ef1cfde6a680dc08f851710255b4bd910ced4c9571612364209a4b5b35801410f03c04151e22172a02f3994ddf2adf7ac75f363a4530f5e4ce2284c0bc24c7855bc03fd8616a39ffab29ed12fea6ec318c723e2f3fe975c2ffcefb5091484ef123a390356a91a12d2c3161686015921d6740560520db69ee0c8975b32aa0429875efa1500581e02b9c899cbc8d27e98f25813a5f3a94d25566496a4363b9d2796a5d5f1ac5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0248d06926f3536b2f78aa61f4c65e4a1ac60560c237fc1946e4edbe69225820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e0264d3d3d247e215ffac0b4523255de41efa0d9b367ff2a2d74d4c0ddb924602583b5c8aec00581e02d5ea7fbbc0a0b29210188deebf2a0870d3315d08fbc4d700ed556c9398472386f26fc100000219201303df9dec1696fcd71c498e7e965bd196ffaed8434f189f18d7daac08511841167100581f03e091a2b4b63fd2e06b9f9a632b6eca438156a3b57d8df78f45d074fd74f04641097079d91c00581f0327f6ea78e840c909d2cca44a3f98f1680170fe43d0882128eee3116a26605820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03bc607a5416f84d99e8d263a3a8276d681514a33f26ad3007eac795620794cf1b03c6df7523717d317c72556a25f20ad9dc8e149544244a4e05095aa9e3161cd7dc03af73a8342aa41dbf7afce758326a3351f5844e5ab7bce8152a196023bea0735e034c41f1af52adc6cd3d97e1fc122fcae6730923d821b91c0ffc318f5cdea0df010219ffef0395bdbe8b48e283e8cf93dfc53f038e9077365bc089f7901eec3659dea5678b3c033d800b6e9bbd16a3daea40e691648934de3785c506e0ed9451db5f9253f615b7033df2ac579e9979ba47453117013c327699e201d2d07f29439add69647784746f035f2069e9e49dd9ba8b7ae6a250aae435721da42d1f9824fb68f2939d0692f8b903ae4703482f7c55078ab2049e463925b867a6438a7453b80caf240f24c590a5930371bfe6178d19cd6d8b1b7ac2dbe5d5a129999ca55e0b36c6564aa6bc40ac912d03576065fe41aaad51f62645114d720d3b137523b4599b8110d559ca9bb477f472039bc70b06ebffe41b889b6e36368e496dce03d899fd0b64485fe80c09203f91000312e3d86d5c521510d09ea9f1f4cbcbac7bd72a2260861eaf5b6f5d2b645e76e4036bab120d8d423629e3df9a05f1c224e0924752358b9b21ef042d4b3bbc668e7503e4950becdf875ace3f51181ffa7517b5852fa16d017c983cedd55b590545c09d0324fee56055009ed0c12000b3289de4a6837116efdcf374aca2f12853a5c2daf30312000331af2fbf375aad88951bf6d44859e53b4f6c3920e0d8fcb45ea8f6d0d7032fc4a9749ab9afb7e027a5ce05662acd35a3f1fa9a35751d6799e61d65cfe5310219ffff030bb18f59d92b7859b02e0ce9a9bac8d581f87e6b18a46e433b710ddfd7096ba103ba452be15f07daf63e7f7d171f7efd5e77fc6b8f4045ba75e5c3e38b46537f4f0219ffff030292e938808c94e3948b6f6b0e408736a1d719f049d64dcf023d58cd564debfe03f0ba748b7aebf0f1591c7976759caed7d6bf4d57f257cc74a2ec9618e7879cf30327e0188fdd6d8f9061d0ac866a7690855b11c3a5d6df05e8108e40e6165e7f1303ae722dde3e1493fbd35b26114be51dd1f9984e7589de31905768a9bb09a895f6039baa815ac60f562fcfe5f339eef3c1f1c632c32d03c94d0675b53449e2bdf2880335721b7e877e87abd7253f2b9482211e0e172048ccffb3ff40d21238e2461acb03e1020466e0f757ad3c5b360603437d2538629a056454eab08ca4140c6ed505c703dde60c5987a77e1e2683837e5c3460cf0958b82c5b1cf75baf31554d7746548c031eae9d8a152cc883cec30f4ff7b137ade919cc1ece7acec24ba90b0036d2b3770301dbc256136aa7b67928440941067e609ad6d0eeac252c70e3a14ccfc099ff340219ffff0378f7594c50f6597727fa297a07be2653baf2d58f2323b7ad870561430cb76e0903b3ccfaa6686d7017ffdf1bcff96b59d6eccda77ed42d02e9ee99c3af9c61028703759df184ef6b0c62be3e64be574200e05f6e5d86560ef4fee520a29844fe318303e6f36ccd758dd9cb984856c94526f31be76d1c666b1ab31da5d26b6fe2d2600c03e17b2d1bf4032a66c9f80c4598619355b691138869d42ec77d9f2ed6353eaa8f0338ebdab00d328c0d7736345ff3ac28337ab309b649ccaadd1ab790a401da617603c39115dc072a40818d0442f844891cc0fb203eec2af848226d6957f45ec40b140309f103262bded39db0c4960929141f2fb90d549fe0329040f0b59c6643175d7e0311a73d5463c79d3d46bdf6dd66dbc3d680e992c62721d4d61fc3d0fbf1f618e50333d7146d760dd04a91598cc8710115fe6788171cad797b82d81e92803e86aa6003f00ec633c2ef13537b0e2fcfa5bfeb6fcbb8b6d3316f9dedc30af6492169c288037e8062ef64c85c3ae863235d203235c841eff285f5e0ae5de6721a6a8e968f01038e996a520943b148d34edb14815496cd1b07d5f43c3543fb0a5c9ea5cb173c2003957aa423115ecde6a45e4b26e5978731f01fa00a5ee8f2ce669158275d501939035b70a34ef300c73b28276d778d54113697dd2f73365e77c287a3b6a86b3a9e6203d4def8f38374f0c80f600157c67257161b627eeaae884ef2c60fe3ae53e6194f038c398a0c41b9218a015d54bf7bd78ec3a80d8ead82559ae3710fe4ddfaf6616f032d9b7daa67e695afdfd5ffd21e2ccbdc29b00348c28f03077e10cde7ba11cde4038f669f4fac88afc6ea1baa9f43f0e7cfea6fb742a7644ada66613e99e3825ae3038c3b70cfd2c98c24d7c030cbc35eb02f6155aa7d149470a1cf8a7dbc968c0c9c03b2b363e79c648e13a9659e5210c0726e8f998b3eb4ac4798396d7d7ff005269d039ba38f61895dbbc90d5c18134729ce05c69bfaf7968c2cfaf38fe63ffd113f2e03739b3f99dc008d2228cd053b3708a71b3f6d4fedb950e69b26b640cb4e2d651d0389cb682f051ff7a5e01dbcb05af968aab32c89800778258e97963cb07a10a3b003ef7f4849aaddd8735c0028c66bac7058db41f0a805e6b1de4096950a236526dd034062a675e7c2dcd15d4930223046d54987d407116d0083a3be73d8fd2bfff28103f1a4f09653bae53d394ba374a6605d8aec25c77e17efcca846375e9ea18b1926035881587ffb3a0e01710e2e6881fc5a34e4ea4c86533c354098fac495459cb9a603ca80b505aa62463c9182cfa3e9f0c28292112664d8fd3ea753896c79f6626d4203ef540ba75184e69b0cc004d495f23b89ee474939fee3f25b105c5b04f7a2127a036b0bd3c41610c77409e80cc45c7aabb146a5bf17499e196c111be0face196a8703c83fe45ca5c6bbfae8e8f08f2dd2764fbc69afa3add4f1982b3e1b746963a21603cc7b26e623070ec97b3e645d4a4e32258bff6b0597b13923dba3450501a1e1ba03a72571c1a7548f7e4d279cb5673acc2ce560f0e49b4474e6fc250813a33df499034a589c1ff7c954c05f7551736df580c4e5c1813679fef8b09e13bc2028e6826b037c522072578d99241a8cc402e952bd4bf4e70dcf7f7a30d8eace2f084eac40e40370b6a8b6bd75d2132947f3e05baeabe14238a4ed553307e98f48e69b8e81a82200581e023c8e0285cf1900e405e4bd465e219a261ce68dfc8bb46bae3a7ec61bb25820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00581e02a8075e9efe61170e277642bc016106cb05fbbf530bb940c05351b2d9e95820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02030340c3eaa78234b5a8d7b6984550b7aef4dcddf380f80fd41bdd8f57c7a34bccb903f066e73a5ab76f356582aeb52015e96dda876e378db9b82a07ee3c11c92585220342599fdb9b56cfcf70c3a0af8e644d8b32935d475f77150d74900ccb8110ba760307c244a0d9cd3dcf5742468050b60a7fd532b1de2fa60f542f31efeb01d77d350361d9e735c3026a7766ebf912d3aebee68b957be15a2ca91ef96781cd527d0a320219ffbf034cbbc0f85695cfacc3e746c0d3c448e746fd410c73efd2df67252acc9815a97003335be98874939f17502404c12fa25e1491be3398c5109fae930e2ed0776b8c65039a46c6f3750758a94b903ebc0e2f1fb2aebe90cedc7239078745476cc36f4aaf031d383193ae50cc33165af736bca5744a9c0332706d912ea1002211853cffbb750219ffff0323dd4af0add6fca7acfb323e16be1c572e9377ad7772e1d40c9551914012e63803014fb94630ba0ac447c09091633422f8e4be55942f31d3903d13a01f4d09ca570348c84dfaf54ee090897c37fff0ff89b6bdd7b351c6aa1a2669496e589bec43990358f085928c05a9013004526fb9724517ea61e2d7e6c3358fb138ce3a91bbd32f03c26418b2df01e76adf9328ec71c3103b9a73283852c0ea4d6fba7f95bdaa3a42032669da92223b262b55858d142ccb8bfa9bdbe28087b85e9f4dd82d93d7babfab0219ffff0361a9d95143264d77a28682c43ab0f604d04e64bdc2a4926e34321a57591452db03b658d1304c092f2763384a77039b677778560ba456fb98b73be8819e3630efea03c2d99ad1032009f2e3bfd21dd666a2764803b3bec755dbb528a931eefc9bb3e0034b0aa3b6bfb5b79c4f4cce4fa038642a3eaab67659a5166377ce10aa17ba04eb032def192041b0b61907b0f7de46016ce6880f642cc5f9dbc0af3d37acfa9ab82603109e02f812a055e84fa9fa007addec2de6fc4f8e3cc3e6dcd816b2984943a63e0376128f9b6d4edd2045d2b8be90accd625f9717161d313fe444b4d7e0e862e54f0303af19af8483f0d78a21fdebc68a9b7dc413c66985fd0800c5a66bfaabdf4d440219ffff036b3d71c6766011c9cf957a4b4bc82037930a894f6285fe344586fc300a4b87b103f7f9b644dfeb110bfed9368de4cb4dd99b306742b6d80df44bdbd55978a5fe3d031bfbfc2466d347bd82e44d1c45a51eff69eb5c955c1e16fb99f21f95abeec3680336498192c0617aee66e529df16118c3df59cc95e153acf3ad0957cbf46e164850219ffff05581d02a65bd257638cf8cf09b8238888947cc3c0bea2aa2cc3f1c4ac7a30020f014b028dd64a11b84a15281fdf190c34021920020219702b0307134903f4a3fc60a027293a65e45512f0ec24091d5202024098c18f1344064103cf0d9d5167dc306e9c588bd9bc1f554dcc8e8e5e51bfef531e7b1dec1ff48677031c3b349a7ee937b2b4babc92d591b01f6c8296a446b23ca1e9686aedfeac1f5503c55b2981a6fe08260cb6a076c76858d56aafdf255d0a12a2c50abe35d468c7e7035fc60798e8fac6ae35e11c4236223d5067c6564cdb37c8a57c767fc5b7db8968033909e6c87be78bf54588e521ebdded1d467e8104d18958f7dd079010ee22155703e7aef0d8c9d7ac18853b8799630d1f904cbd62db280abf5396a568b84bf92b460219ffff03354b3281fa942b76ace66c6ee41878fee419cda1ae02936da5ca105b3c6004610219ffff03924da55ffa15305d6893846b17b0a47814a7938f68af06aedc437a2f242754870326c16b16c25cba7c92bcd2e9b56bb605430d8fe5481203e15b8595d1a0bee2650316fdb500d03cf52523760e0fd5cbc12639496fc0c413f48a480e717dbd2c432a034fe668ee86bcbcc4e3f135c41627919a93f7a85a85909a3931b6d33b0f813fd1037c0229cdf04ff808953e4b53012610248043fe56aa742d58b2dad85f893befd903966c29c92fac61bee4555ab1ce3a2a018667b75d3079af6dbe9e2e806f5457590219ffff031a304bc48b1174470818d4ee0b9c8fdf163ad7049b79b1131b1f1dfabca37db40391d5dcea1fe0938aa767940bffb1542b77f6a2c89ec4cd28b0e886655089064903e12c105dd84744cf8b47fe8d70c88c6fa16ca99ffe238e8bc3d50378757c81e403a20d2aa221e50d2943e024e84f53043631e69cab315beab59e94a5db0f7e0bc50371986351a43f8225822038fb53137a245ec33cc69fd31a2a6c2ff638cdffeae303f5ca806ec15a9f1f0eddb7110f5d2ae5aace1988dc6113b43d389461780ff7690350c1150d61e2fb4a2081af60cd42a736e84a1a71530857b44ad9e6b254c4bfd803fbd2bb2084c8523ebedfd52595ad17d714c086e37da462c997141b544126b06a0219ffff0394ce008a9c5fac1909a7cdaa71631c0a888c40967f80c3260f13c8c7dda8fb5a0390b8b53fb713f4dfb3d0ee239dc603ee646f79550d1c4e1fb94efb0620682e7f03ad8051f6e6f7db4bcf48f3c22dee67ba019eb3667819e42abbf6b504672df1da030874eb954854f7cd25361fb55ec16a3c3d0345156fa61d641e6462dfd336079c03ca90312bc1bb9377b4bfffb91fb0d1d50972aae675c44616dcf9cf41e8cd5f1a039a16d4fea6acf699cfea70ecae9edd1e9885a6290d1ced29e6b9da9517c2e52a03f860b29b876db755f7166ed17b4c00ed540816add8d804ea72102288660af7a003a081a77c673b3424af44d97cbb6b9556e005dcb25fb69af2acc2320b189d4b7f03ef3eded0f0bbcafe06d84ec07630b5c1d74ea16fdced67c348b735886cbb8e120219ffff031fa89d3a19b1abb13c62ca9449f9fd43a7846473bd9f5838c5b62349e59656fe0339ca649c1c851df0fdcd92162ca44da01ffaa0f3b79137b6da3a82a067353aa4033cf9d4ac267b0df8df74233e4a03d220e265191ee180e950b90ce5bcaac25e1a039c1f565b01853fb21255633fe45c170a7139ee72f0d5e302faf46e36656634e803e7aca9d7a27962fe3f37df7858196f5cef307e4891e640694d4c9f54c559078903f00d998d7d3c74b2766ce3d5fbb5c22e16bc261fadd59f454a36007c5b2b146c036611738bee850dc5bfcc62d9c6fed990d5b12b969a431d2d5996c51e24205a250348c5950b8e4b69565ff9285efdd068ebab913325a05f4c68bb59068c689fb63003a19a4e049b780eea24b79bee56da4f9e57ac73f599918af2ad1fccdd99958e4703f0766d6df8051410147c141b93e256ca938dd150e26fcc1a98bab4d125f632c703b2c94547a2133af864e24a69de9fc446d27b79fa4b99f57512f590b758ccfb5c0328ff1efe218cc67bc7065e3973888a7e0c469f936f6cdaac0c1f31043210dd2903eb3b0ff9280bfab1dab6f286f3645b1b0475683586d218681c2bc4def4dd3368031092dbee68bf6aaaa5a97206210473dc922e6c14ca8c3912ef520c18e5c8953d03106e9f7a8a4ca630b86e6a57ca1cb6a198bfd8be5d854738cd8d2a2efb7dd676035546db03d1cdc0e2257dce93b61c37e62dece3afe1a7cf3c13d9c06556ef829003e69d4d0726e34ca3a8fb159d643ccc988133f7b90339866ad92ff2d46d6361700392ef9391941ae78df861730a47686a6a81c911a19d6e5d614123570d859364c7037584c6a59f6226d885c6d47ed58cfd73d6744ed47a3e82c3764585341125ac8b0349873963179f3ecaad389de81a72297409bdf2867e24bd6194a756a9ea548a8703cddbb8161b899aa7df6ff95eb0528d95c4d9ff1672a9ee412e515570dedecb4503e435461b429da52971234d244c0bf2d2f18955e3860939181c22dc159369a59403943d07322bf0bfec6f644f7198a06496ed9ea58e8b932344d4e67a446fc15a2a03108892167fbc916d48dc178429bdf5a7f1f648fa9f2c99e1b78cc6435e765d7f031bb52f732699e351626931489c638f3040c8142005855159b07bc9c71f0630b103949852bb79a59a87142792be5efc32b6ffa284da4ae4509ca4b7d3f2c74026d103d4e39663108df2e9d5aafa5a95416792432dfc4a788d1fcd4ecff860f4cc439303019a7e106e3e52ce086a0337f5baf9937953c5b6e8ad9fb57114b3068d1ffc6703551f898d59354984f56d4db53b97e4ddf8839858166d5cd5e92eb6fa5188788103d82457438286ed6d71a70872336bf4d5e61a1573f4982da5e17e11ba58feb42c03903f2f84292f0c89a6955fa28e483fbeb449883e8ce8cd783b56fe702ab19e52035d255cb040697c20ff4372ca83681e56eb434da618c3dda0f5e1f8121cce2bd203c7ce299078965bf10577b0a24ebd4fa3036e1734a6f0604a35a99f7dd7e1a13b033ea4fbf34c5ac42fc65af993bce42b75d2b0705e75b6149d4faab46f74eeacec039c10e49992bce2a8eaf5468b60f0031f7d8085a889e3a4c6f2331982ac2dd70003184c253be5bcdaec4394755e2afff465f47a638ccecdc1a040a83f7d05a64d830301a27c97a7dff56353dd893d7b6d4549afe765e8e8dd75cc65bc875ae23885a6037184801c58056bc28c7f9358d71c2580c41c33e40d77b24e89a3943ecb4e34be033087799e0d2507cb10b7f17374c67304b949389aa29fcb8b8b8f261d37254f6c034249495c48341ef12a81fe1d542ab1976243169e351ff71eb8bdb8e8129a483703cf3efc3b248c6222a56012e92895164f41c3e62979fe504bc57d486b2bb9b8810354d717e24b731744ec12822e425079e99774ce643dc4fb50c26acf8e27e9a1af03e7e7cb5186dd32d2dd7754450f3cde21d587ece95e6d23bbac4d53de6a5c4dec03d4ddf2fe6067ba7063ed87953d7cac507e6b181d3f09de058860cbf012fcafd003a27e20ce0c79ff4ccc9660a7cd46e65b20e00c00710b511ffb36b69495d738ce0368d57539080679a7404533a9cb2494f94cfd17e7d6620f4e0c01e93ba95758fb03e21135952f7aa362911d27d0092278b2447ffe9c3f10013fe096f6448a35be47037b51ff8f822e9e5e19264111d1ed1bdf484d77fd2fa13593fc8bab078ae3f0a3036a9774ba04b7384912932efd76b7dcdccb44aa591d95625f76f85dcf08ea92f105581e03ff35d8f124bac6825dc56aa0ddb06ed0b4176305064ccfb542592922a00c034705e6a70b404555035638c95a3214e4699134737250d82b9e1103eea8ee520aecf5e446f7e785d28b03905982d3bc98b3ad75d5ca7a92446cc8923fae39a2352245000f9d3e9dc0f3ee03bbd13d463ce2111713bb0d6ad117b0ba991bc32336d501e872703c4ad6bc3c9005581e0383f749eee7b3af4ab92eae05807aa2b87c171d49569a4c42e20fa7653007011bffffffffffffffff05581e03daea18b99a136dcc10a63007b9a72f0299ddbf88e872ee246d6d2d12e0040205581e03885a281463e7ac124c775221384d850e24cd64b776b2a509fe42cbc7100c0346a40176c6360003e9fec2f19f4b290ea820001f6f8070c13c85171b2fa804cbae15891f17ef4c8203ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03a04ee069ae211b6e7fdf04b983cf718d84c1a5292e7f6207d7da5209f007011bffffffffffffffff05581e03e2fc072d5075007b6d716db18e76aec7aa1aee35fbc10f89dc9276a4500c014701d0567516f4a5036b61b5baf495897d0e083bafaefd44c9b30d2187584b0289d99053aef0eb642d05581e03401b1cae6bcd3c75bb7060f78b139f4a5b88cd3c75ea33d330d99a81800c014744e2e46807f36805581e03598881691c31a20b4379d8984d2f42431bb4b0669700bda6fdeca1f990040305581d021789de32c933fd61ae78d893f5c2f5269f128c722bd5dcdb040d332f040105581d0253f09dbef230b15d5cbf9d641a17d48e723bd944a9e0bd71869b1833040105581d0225b869e5d52572858bfdee6128895c52dae6cbeccee22f46ea4428a70c188e481995458b9ecf704d02190422033826722f4f10e7f5593b1ba3d251a7d917da55d61f802745b3df29df550238300219cffd0382bd4d58a6d9223a91497bc5c50a71db4098e4bf56db7b53e2c3f9bcf8911ddf03eda0c2b872a2e8004d912b7b3e3add407fb89c2e1935792b3b1747369761f494036b4389aa833fff43d1200a2b8d10cff80998608fc1cd9727a830faaa0990918c03f25a53d819c2be142584b1afd1baa8cd4bb389f88d938ba051119f47204c0b20031ed4c8beb960985fd9cd4998f0c5f09e259e213b59007591e89993d9e3e972280219ffff03714324c0346974bcbf735158e66793fbb8c7fa526a6afb0c8c29b2ff3d7c2a6c03c071cb10dedbe5705efef507f9e0ce0a8d7da622f425b401717e4d826477a51c036656773f56dacd0e751b322dce3e39a876d95b20d9fd9894ed4aba5646998921032707856409b17fde1be8ac642b20d38e9a0c86e36d92dd99531d358d7a3de1420399d94492bfca6335faa3865938f0b91a4e774e3c569ba6871cacfde5cf4121cf03b6548e9eb142a6a10b627e760cec7fccf00cdfb570e12044049bb545bf8fa26503fd12edee6837c3ad78cf34516f02bd237f8c374373364492917c95f2463c4e4b03e75ab60d63f32db41de0b8c4ae74386e4ac3339aa21f8b4b8dcf09a25277b0140305e3c069b09a5d6f764e825ec0ee8924473b9abb78336cebd31a11a60895b50e036a6075ac55e17a4c53693f1b1b6c932bdbeb58a9672f15bacdbf87ba01e221fa03133a3b4e995005bb215a3af63194f58966e256e760e7b10d6600e6e926473d4703cb484fc7d3f2443d3e613fef6a1635d61015eeb788dd55e78bdc220b1039aa87031e4ab1cefcb4df1ab843a9c99c73bd256f7075bd014f19d34923e0283e810fdc03e73b91d94b5ce180e52f902f3f44c51aa72eded520c5b8ab924f0b7be8aecaa30219ffff038433bda393dbff28847dc3b1c401d09939944bcd6af8855e167ea5d57d5f36f1032f697ce9dc8e87f850a921e7fd318f5e69ba5b8bb7f10ffd7796aefb2cf12b5303786a68e63a44deb121d719756cabf5b870bafe9b174b0040bd45c1a3c2fa80d60219ffff038252aae62902d5a39cead22caad08f18894571c955600d14273c666e808e0fbc0219ffff0397274ba63303faccd7be40da76dd8295ca7ed8b2e028875707ffe3df82812e80031c2729090731c72ce7322c825e0238cb86e438afdfd127b7147c352579dea79b039e1cfeed62ad3f8bdba5bce63d73c0586adebcd09eae52221c9c86bad6783ee30219ffff03e19272ac4d0944de700e54e84bbc6aa82c1c6eb55fbdf72cb1fb3ffb04cead0b03adc76950ec2d7900fa63770ba216225cc60dfc61e7280f230a04c80915b53120033ea1e6b0c1f051d253779f08bd5f78763eb44b94b116f08e83ddc4191f1e661703db7931db2f7c3859ffd14bb399559b830abd33dc932e82fed25a30a91729c1b103d9a057fd11ea43ec4f3a9338ba7bc78c97523322f3780ce9f3aa1f0a55a0c1f7038fc62e2a390dbdaeb9df1d6e25f70883bd1f4079f9ffe7a01145f78e9fcf125a032f2cc32eeb6c15c6cd712d83c93880c0b9d616630deaad8c365138a351a395e703d9f3e79c4ee1eb800049dbd54e8683e36567e70a9f9a1c7d37e7ecc12d44e69e038ddc99093c69494bad8659bfc20a5d10c6c38907a39e79a040676275fb7ad9ce03f86dc389bb91c0b712521c76d4bd40acce707cc771b450a2d51d483dce52ac2f030c9672009c381eee44d4c85135019ac54dfe1a5aef7f6fac6ffe67c9d92595cd0359105eda31ccc4753ab417de14c7f60f62b25a1299cc965ec701d985efe0413103bd6bd60035ffbaabb297761601c55e40c7e6a6cbc71f64e3b907a7f16c8956c5036945df6ddcb3fc549ac0578beeee21d014657778e412507b1682379ce9d3229f037e1aab16b65e2bf56b3a6930857fe2210be08cf780a660a4692eba6fa3264bb703890af9a8ccfc9ae978e47633448ad35710f298d2fffb7d2a2f62bf10098871e20337361355899b501836e7bc93db9cfaa978f0495c66323e93b03f21a2221b0cf20305c1f37a1f32769a9640f8e275cbcb9f062d79ed1d16e0e2000fa2af2bf6c98703c5f7e41ea5ff56cd109e967dc6c6e367d0569e99f30a6483fa9c3b68bab982ce03f72f695c04751effa1788640b6a2e62dc59a3217941bf52cd2fa93689340e88a03e5f779f7027a95e9a650553e67aff9d78e5ce7144b5dba7772835219f13add48036ad41ecb9a2892d127330945bb52eb0951dacee1ec0517c1c138085f841a3d6f03fb7c8abe933abd924fb075551df00ec83d20553680b17847d0b46c1bdabff85b03c0ce4c2867fd7fe0997b2ce82d50dd7333a270eeab086b40d2f2bcf91d25848203311d03a45932503e6f3e786f88174d35069f98ebc2aee4645d5e53d305f84e35033170813983d2a97e427850d58cce3aec7d9d3a39c004e88bee912e3cd61491210334c55de6bcb8667625b51e47db5701e0a4439d04df2e0db2a114556c6f4929c803b0a62636ddea40881f5b630a31070b4b993d899bda48b7c9e6c4816d14cb7b5d034bf2a99b145d78bacdf9dc26ba3cdb049c1e3bdc771a7baa9af1fdbcba39455f03122b099a228f933080c06dfee4ef7564a07699a8adfae533944199143fadb7f6031f6756ccad4047b0f851cefe1f7596e29b6b2fb338b4709e5fa672e86c5cfcdd032763176441c5fbda3110efef38e42565e752981a2933755e82e3a818f1de826d03d84338c4bca31b4f55e96dcda485c38b72c34574d9b983c6ea3a3d71d8c86cb7033c66a651794508b76ecd212fbb82702032cb83543d20a968a9e168b681c28362031957c29a5acd3c0420567b9ebbdc812a03faae5f2da6ad01eff5ddd04d375a4003677313bf4288eed8684d4bad6e1ff659254d239a8785dbea1398135f3841cce403a715c5ce192d5bd421bec8ee0c28d426dcbd7e3feed4983e0313a398ec5a3efd03820f9d9286d73e0364cd01ffbaba5c7a70670a3bf803ffbe6ea95a5e9f817e7303e0bd40096a54dbd890f9c9a4cf4bb06e0f4fa960676d5db2e7f601f8134170030343b03412e798ed51a67f96ff5327e10f7fa1f5ad6a82ba26e3b13cb20fa8cd3d0330397302a3d898044aa5f7aad8de80771600777540a00ca0942abf3b9e7e33990336a0ae182f155e5ae17dd7d82679cfd5430df902bcd1d2eb0ab62adf4de981e603527215f58f40903a68296e3ee96ae0eef922b1f065f8c4560c052cac0768933b05581e03d93aac1412f22d76bbad5dd38f89f405117e29eac41d7620b52eb834700c0245b82b46260005581e03ec2e80e2d2f87d3456c8ba30821592d6e9e90731365fa27eeb227bea70040105581e0360a790a99ad83fbc7ef78a36b399459417f9303aea86115ac63ac30850040205581e03f97dfbf09c53f062c580273f4511c81e434436f3a8992e39f5596ab3d0084703a08a1e097800045959ae6080604052600436106101dc5760003560e01c8063affed0e011610102578063e19a9dd911610095578063f08a032311610064578063f08a032314611647578063f698da2514611698578063f8dc5dd9146116c3578063ffa1ad741461173e57610231565b8063e19a9dd91461139b578063e318b52b146113ec578063e75235b81461147d578063e86637db146114a857610231565b8063cc2f8452116100d1578063cc2f8452146110e8578063d4d9bdcd146111b5578063d8d11f78146111f0578063e009cfde1461132a57610231565b8063affed0e014610d94578063b4faba0914610dbf578063b63e800d14610ea7578063c4ca3a9c1461101757610231565b80635624b25b1161017a5780636a761202116101495780636a761202146109945780637d83297414610b50578063934f3a1114610bbf578063a0e67e2b14610d2857610231565b80635624b25b146107fb5780635ae6bd37146108b9578063610b592514610908578063694e80c31461095957610231565b80632f54bf6e116101b65780632f54bf6e146104d35780633408e4701461053a578063468721a7146105655780635229073f1461067a57610231565b80630d582f131461029e57806312fb68e0146102f95780632d9ad53d1461046c57610231565b36610231573373ffffffffffffffffffffffffffffffffffffffff167f3d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3d346040518082815260200191505060405180910390a2005b34801561023d57600080fd5b5060007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b905080548061027257600080f35b36600080373360601b365260008060143601600080855af13d6000803e80610299573d6000fd5b3d6000f35b3480156102aa57600080fd5b506102f7600480360360408110156102c157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117ce565b005b34801561030557600080fd5b5061046a6004803603608081101561031c57600080fd5b81019080803590602001909291908035906020019064010000000081111561034357600080fd5b82018360208201111561035557600080fd5b8035906020019184600183028401116401000000008311171561037757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156103da57600080fd5b8201836020820111156103ec57600080fd5b8035906020019184600183028401116401000000008311171561040e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190929190505050611bbe565b005b34801561047857600080fd5b506104bb6004803603602081101561048f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612440565b60405180821515815260200191505060405180910390f35b3480156104df57600080fd5b50610522600480360360208110156104f657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612512565b60405180821515815260200191505060405180910390f35b34801561054657600080fd5b5061054f6125e4565b6040518082815260200191505060405180910390f35b34801561057157600080fd5b506106626004803603608081101561058857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156105cf57600080fd5b8201836020820111156105e157600080fd5b8035906020019184600183028401116401000000008311171561060357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506125f1565b60405180821515815260200191505060405180910390f35b34801561068657600080fd5b506107776004803603608081101561069d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184600183028401116401000000008311171561071857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803560ff1690602001909291905050506127d7565b60405180831515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107bf5780820151818401526020810190506107a4565b50505050905090810190601f1680156107ec5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561080757600080fd5b5061083e6004803603604081101561081e57600080fd5b81019080803590602001909291908035906020019092919050505061280d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087e578082015181840152602081019050610863565b50505050905090810190601f1680156108ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108c557600080fd5b506108f2600480360360208110156108dc57600080fd5b8101908080359060200190929190505050612894565b6040518082815260200191505060405180910390f35b34801561091457600080fd5b506109576004803603602081101561092b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128ac565b005b34801561096557600080fd5b506109926004803603602081101561097c57600080fd5b8101908080359060200190929190505050612c3e565b005b610b3860048036036101408110156109ab57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001906401000000008111156109f257600080fd5b820183602082011115610a0457600080fd5b80359060200191846001830284011164010000000083111715610a2657600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ab257600080fd5b820183602082011115610ac457600080fd5b80359060200191846001830284011164010000000083111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050612d78565b60405180821515815260200191505060405180910390f35b348015610b5c57600080fd5b50610ba960048036036040811015610b7357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506132b5565b6040518082815260200191505060405180910390f35b348015610bcb57600080fd5b50610d2660048036036060811015610be257600080fd5b810190808035906020019092919080359060200190640100000000811115610c0957600080fd5b820183602082011115610c1b57600080fd5b80359060200191846001830284011164010000000083111715610c3d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610ca057600080fd5b820183602082011115610cb257600080fd5b80359060200191846001830284011164010000000083111715610cd457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506132da565b005b348015610d3457600080fd5b50610d3d613369565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610d80578082015181840152602081019050610d65565b505050509050019250505060405180910390f35b348015610da057600080fd5b50610da9613512565b6040518082815260200191505060405180910390f35b348015610dcb57600080fd5b50610ea560048036036040811015610de257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610e1f57600080fd5b820183602082011115610e3157600080fd5b80359060200191846001830284011164010000000083111715610e5357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613518565b005b348015610eb357600080fd5b506110156004803603610100811015610ecb57600080fd5b8101908080359060200190640100000000811115610ee857600080fd5b820183602082011115610efa57600080fd5b80359060200191846020830284011164010000000083111715610f1c57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610f6757600080fd5b820183602082011115610f7957600080fd5b80359060200191846001830284011164010000000083111715610f9b57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061353a565b005b34801561102357600080fd5b506110d26004803603608081101561103a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561108157600080fd5b82018360208201111561109357600080fd5b803590602001918460018302840111640100000000831117156110b557600080fd5b9091929391929390803560ff1690602001909291905050506136f8565b6040518082815260200191505060405180910390f35b3480156110f457600080fd5b506111416004803603604081101561110b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613820565b60405180806020018373ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019060200280838360005b838110156111a0578082015181840152602081019050611185565b50505050905001935050505060405180910390f35b3480156111c157600080fd5b506111ee600480360360208110156111d857600080fd5b8101908080359060200190929190505050613a12565b005b3480156111fc57600080fd5b50611314600480360361014081101561121457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125b57600080fd5b82018360208201111561126d57600080fd5b8035906020019184600183028401116401000000008311171561128f57600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613bb1565b6040518082815260200191505060405180910390f35b34801561133657600080fd5b506113996004803603604081101561134d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613bde565b005b3480156113a757600080fd5b506113ea600480360360208110156113be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6f565b005b3480156113f857600080fd5b5061147b6004803603606081101561140f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613ff3565b005b34801561148957600080fd5b50611492614665565b6040518082815260200191505060405180910390f35b3480156114b457600080fd5b506115cc60048036036101408110156114cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561151357600080fd5b82018360208201111561152557600080fd5b8035906020019184600183028401116401000000008311171561154757600080fd5b9091929391929390803560ff169060200190929190803590602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061466f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561160c5780820151818401526020810190506115f1565b50505050905090810190601f1680156116395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561165357600080fd5b506116966004803603602081101561166a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614817565b005b3480156116a457600080fd5b506116ad614878565b6040518082815260200191505060405180910390f35b3480156116cf57600080fd5b5061173c600480360360608110156116e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506148f6565b005b34801561174a57600080fd5b50611753614d29565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015611793578082015181840152602081019050611778565b50505050905090810190601f1680156117c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6117d6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156118405750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561187857503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6118ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506003600081548092919060010191905055507f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2682604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414611bba57611bb981612c3e565b5b5050565b611bd2604182614e0590919063ffffffff16565b82511015611c48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000808060008060005b8681101561243457611c648882614e3f565b80945081955082965050505060008460ff16141561206d578260001c9450611c96604188614e0590919063ffffffff16565b8260001c1015611d0e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8751611d2760208460001c614e6e90919063ffffffff16565b1115611d9b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006020838a01015190508851611dd182611dc360208760001c614e6e90919063ffffffff16565b614e6e90919063ffffffff16565b1115611e45576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60606020848b010190506320c13b0b60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168773ffffffffffffffffffffffffffffffffffffffff166320c13b0b8d846040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019080838360005b83811015611ee7578082015181840152602081019050611ecc565b50505050905090810190601f168015611f145780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015611f4d578082015181840152602081019050611f32565b50505050905090810190601f168015611f7a5780820380516001836020036101000a031916815260200191505b5094505050505060206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d6020811015611fc357600080fd5b81019080805190602001909291905050507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614612066576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b50506122b2565b60018460ff161415612181578260001c94508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061210a57506000600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008c81526020019081526020016000205414155b61217c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6122b1565b601e8460ff1611156122495760018a60405160200180807f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250601c018281526020019150506040516020818303038152906040528051906020012060048603858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015612238573d6000803e3d6000fd5b5050506020604051035194506122b0565b60018a85858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa1580156122a3573d6000803e3d6000fd5b5050506020604051035194505b5b5b8573ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161180156123795750600073ffffffffffffffffffffffffffffffffffffffff16600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b80156123b25750600173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b612424576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330323600000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8495508080600101915050611c52565b50505050505050505050565b60008173ffffffffffffffffffffffffffffffffffffffff16600173ffffffffffffffffffffffffffffffffffffffff161415801561250b5750600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156125dd5750600073ffffffffffffffffffffffffffffffffffffffff16600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b9050919050565b6000804690508091505090565b6000600173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141580156126bc5750600073ffffffffffffffffffffffffffffffffffffffff16600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614155b61272e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61273b858585855a614e8d565b9050801561278b573373ffffffffffffffffffffffffffffffffffffffff167f6895c13664aa4f67288b25d7a21d7aaa34916e355fb9b6fae0a139a9085becb860405160405180910390a26127cf565b3373ffffffffffffffffffffffffffffffffffffffff167facd2c8702804128fdb0db2bb49f6d127dd0181c13fd45dbfe16de0930e2bd37560405160405180910390a25b949350505050565b600060606127e7868686866125f1565b915060405160203d0181016040523d81523d6000602083013e8091505094509492505050565b606060006020830267ffffffffffffffff8111801561282b57600080fd5b506040519080825280601f01601f19166020018201604052801561285e5781602001600182028036833780820191505090505b50905060005b8381101561288957808501548060208302602085010152508080600101915050612864565b508091505092915050565b60076020528060005260406000206000915090505481565b6128b4614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561291e5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b612990576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fecdf3a3effea5783a3c4c2140e677577666428d44ed9d474a0b3a4c9943f844081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b612c46614d62565b600354811115612cbe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001811015612d35576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b806004819055507f610f7ff2b304ae8903c3de74c60c6ab1f7d6226b3f52c5161905bb5ad4039c936004546040518082815260200191505060405180910390a150565b6000806000612d928e8e8e8e8e8e8e8e8e8e60055461466f565b905060056000815480929190600101919050555080805190602001209150612dbb8282866132da565b506000612dc6614ed9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fac578073ffffffffffffffffffffffffffffffffffffffff166375f0bb528f8f8f8f8f8f8f8f8f8f8f336040518d63ffffffff1660e01b8152600401808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c8152602001806020018a6001811115612e6957fe5b81526020018981526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001806020018473ffffffffffffffffffffffffffffffffffffffff16815260200183810383528d8d82818152602001925080828437600081840152601f19601f820116905080830192505050838103825285818151815260200191508051906020019080838360005b83811015612f3b578082015181840152602081019050612f20565b50505050905090810190601f168015612f685780820380516001836020036101000a031916815260200191505b509e505050505050505050505050505050600060405180830381600087803b158015612f9357600080fd5b505af1158015612fa7573d6000803e3d6000fd5b505050505b6101f4612fd36109c48b01603f60408d0281612fc457fe5b04614f0a90919063ffffffff16565b015a1015613049576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60005a90506130b28f8f8f8f8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050508e60008d146130a7578e6130ad565b6109c45a035b614e8d565b93506130c75a82614f2490919063ffffffff16565b905083806130d6575060008a14155b806130e2575060008814155b613154576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60008089111561316e5761316b828b8b8b8b614f44565b90505b84156131b8577f442e715f626346e8c54381002da614f62bee8d27386535b2521ec8540898556e8482604051808381526020018281526020019250505060405180910390a16131f8565b7f23428b18acfb3ea64b08dc0c1d296ea9c09702c09083ca5272e64d115b687d238482604051808381526020018281526020019250505060405180910390a15b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146132a4578073ffffffffffffffffffffffffffffffffffffffff16639327136883856040518363ffffffff1660e01b815260040180838152602001821515815260200192505050600060405180830381600087803b15801561328b57600080fd5b505af115801561329f573d6000803e3d6000fd5b505050505b50509b9a5050505050505050505050565b6008602052816000526040600020602052806000526040600020600091509150505481565b6000600454905060008111613357576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b61336384848484611bbe565b50505050565b6060600060035467ffffffffffffffff8111801561338657600080fd5b506040519080825280602002602001820160405280156133b55781602001602082028036833780820191505090505b50905060008060026000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613509578083838151811061346057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050818060010192505061341f565b82935050505090565b60055481565b600080825160208401855af4806000523d6020523d600060403e60403d016000fd5b6135858a8a80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508961514a565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146135c3576135c28461564a565b5b6136118787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050615679565b600082111561362b5761362982600060018685614f44565b505b3373ffffffffffffffffffffffffffffffffffffffff167f141df868a6331af528e38c83b7aa03edc19be66e37ae67f9285bf4f8e3c6a1a88b8b8b8b8960405180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281038252878782818152602001925060200280828437600081840152601f19601f820116905080830192505050965050505050505060405180910390a250505050505050505050565b6000805a905061374f878787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050865a614e8d565b61375857600080fd5b60005a8203905080604051602001808281526020019150506040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156137e55780820151818401526020810190506137ca565b50505050905090810190601f1680156138125780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b606060008267ffffffffffffffff8111801561383b57600080fd5b5060405190808252806020026020018201604052801561386a5781602001602082028036833780820191505090505b509150600080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415801561393d5750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561394857508482105b15613a03578084838151811061395a57fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081806001019250506138d3565b80925081845250509250929050565b600073ffffffffffffffffffffffffffffffffffffffff16600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613b14576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000838152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16817ff2a0eb156472d1440255b0d7c1e19cc07115d1051fe605b0dce69acfec884d9c60405160405180910390a350565b6000613bc68c8c8c8c8c8c8c8c8c8c8c61466f565b8051906020012090509b9a5050505050505050505050565b613be6614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015613c505750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b613cc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613dc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507faab4fa2b463f581b2b32cb3b7e3b704b9ce37cc209b5fb4d77e593ace405427681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613f77614d62565b60007f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b90508181557f1151116914515bc0891ff9047a6cb32cf902546f83066499bcf8ba33d2353fa282604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050565b613ffb614d62565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156140655750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561409d57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b61410f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614210576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561427a5750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b6142ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146143ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a17f9465fa0c962cc76958e6373a993326400c1c94f8be2fe3a952adfa7f60b2ea2681604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1505050565b6000600454905090565b606060007fbb8310d486368db6bd6f849402fdd73ad53d316b5a4b2644ad6efe0f941286d860001b8d8d8d8d60405180838380828437808301925050509250505060405180910390208c8c8c8c8c8c8c604051602001808c81526020018b73ffffffffffffffffffffffffffffffffffffffff1681526020018a815260200189815260200188600181111561470057fe5b81526020018781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019b505050505050505050505050604051602081830303815290604052805190602001209050601960f81b600160f81b61478c614878565b8360405160200180857effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152600101847effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526001018381526020018281526020019450505050506040516020818303038152906040529150509b9a5050505050505050505050565b61481f614d62565b6148288161564a565b7f5ac6c46c93c8d0e53714ba3b53db3e7c046da994313d7ed0d192028bc7c228b081604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60007f47e79534a245952e8b16893a336b85a3d9ea9fa8c573f3d803afb92a7946921860001b6148a66125e4565b30604051602001808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405160208183030381529060405280519060200120905090565b6148fe614d62565b806001600354031015614979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156149e35750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b614a55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614614b55576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303500000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008154809291906001900391905055507ff8d49fc529812e9a7c5c50e69c20f0dccc0db8fa95c98bc58cc9a4f1c1299eaf82604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a18060045414614d2457614d2381612c3e565b5b505050565b6040518060400160405280600581526020017f312e332e3000000000000000000000000000000000000000000000000000000081525081565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614614e03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330333100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b565b600080831415614e185760009050614e39565b6000828402905082848281614e2957fe5b0414614e3457600080fd5b809150505b92915050565b60008060008360410260208101860151925060408101860151915060ff60418201870151169350509250925092565b600080828401905083811015614e8357600080fd5b8091505092915050565b6000600180811115614e9b57fe5b836001811115614ea757fe5b1415614ec0576000808551602087018986f49050614ed0565b600080855160208701888a87f190505b95945050505050565b6000807f4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c860001b9050805491505090565b600081831015614f1a5781614f1c565b825b905092915050565b600082821115614f3357600080fd5b600082840390508091505092915050565b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614f815782614f83565b325b9050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561509b57614fed3a8610614fca573a614fcc565b855b614fdf888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91508073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050615096576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b615140565b6150c0856150b2888a614e6e90919063ffffffff16565b614e0590919063ffffffff16565b91506150cd8482846158b4565b61513f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330313200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5095945050505050565b6000600454146151c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8151811115615239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303100000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60018110156152b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303200000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b60006001905060005b83518110156155b65760008482815181106152d057fe5b60200260200101519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156153445750600173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561537c57503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156153b457508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b615426576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303300000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614615527576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475332303400000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508092505080806001019150506152b9565b506001600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825160038190555081600481905550505050565b60007f6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d560001b90508181555050565b600073ffffffffffffffffffffffffffffffffffffffff1660016000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461577b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475331303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001806000600173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146158b05761583d8260008360015a614e8d565b6158af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260058152602001807f475330303000000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b5b5050565b60008063a9059cbb8484604051602401808373ffffffffffffffffffffffffffffffffffffffff168152602001828152602001925050506040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050602060008251602084016000896127105a03f13d6000811461595b5760208114615963576000935061596e565b81935061596e565b600051158215171593505b505050939250505056fea26469706673582212203874bcf92e1722cc7bfa0cef1a0985cf0dc3485ba0663db3747ccdf1605df53464736f6c63430007060033005821028a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b410105581e03a2f4a4cbb1b67aa687f36aa61d0631958879d58861d3dea13daecfa6f00f014801edd3c37b642e1d1959ae030d8329487da35d8659e539b873e49a33cf3313fa1c19bd69d0a3e977aabaab0c05581e035547497eab9a72da4aa1aab6d3969904b40c60b1e87ea3c2e5e811fca0040405581e03c5d0f11268cd65335d623dd7e5e2bb1dcc90db4e6689bd66bbbcda3a40040205581e03854a5402ee10b25856de85f60ad0442f88de4cf0cf694b708a3c9b50b0040205581e03e3f6dc65e4447e6a86ddb7c9c96877b095b09b5634d01e3566c83a77e00401031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e03fd36dedfa3a6ad18222ea91870b9d2e2da28a043b5c8e10dc17e88ef1007011bffffffffffffffff0219b9f303004ed5e0a028dc92526454d9335bb5dae020ec9903b913a045df183f0329206e03e7c3087443e5e9feed69d364c776586eaaef2f68f9b0a583f0db0e3960aa17ef0219ffff03c9ca73ba388efbfe5a8d71f2f93e0a1baccc3f2f67a829eeefe9bc99e6f5c8b503883f40fbb618e42c0841557a14b661c74a3177b9f3831ffe587783acfa8d421203f1f76a9ac3f97e42a5cba5eb39cee4a1d2f809168811850631107024aa80957c03736b8d5253a17f8a2f58185f7e80b3aae289393c269215d97c48e8727b2d37fe0380fc247e482c485448db036d5b04af0e509162546438d2041af95a1ed530c8370219ffff03d3c9b38e8e1da178fccf9433941eeb6698d2caa6ae9ffa97f3a81851e4a28b800219ffff033000c03b9515874d23d65ab4670c936b8e7cc1b76dbd76a1648c2c8c906beaa403b973cbce4d1450029cfa5bad310ddf63371b7faa23de013568baec4f84fc904603f2e8724e21761190048f3d05ab5a261d55ad32e287c59836c6efd5a087238f26038d0dd165d8777565080305cf0d95f48dac525a254e208323fa2fc859657fa58a0399dd8915a5a9606fc5b5b10b17465f6bba95105dbbcab2b532693da77bd290d203503e2bc44d69fc3610c48612ec44e19a17107695bb919c62a511f45b215bee320337af8d66ca200d6fa2bfdbd00b598d3c62f76c7c55d26163e646ac291d0fe7e803fa89beeba1b278da580c610a6e369898f2f0322f6168b75dcd1e2578c09fb6710358e8ac36cca0de03c25fad084e80275a640b8275f5a0c3e49d98460ec34d39e503218930fa681c2a7db0b95777e5c1c943dd013de905be7998d87ee54c336fcf0303545781fce91c2b85bfd1b4dd6955c7ffb3c3045c95ba59be04437ad5fef6154c0372ca12f11250bf8b4761d411f21f5e8b1b9b384f4abfa8e0cf2fed860af435190219ffff0353072a05b0780d4b829ccc56a191398fabc570b851bbfb96840d63be04000c97035f524e62032fc2be179cf7106ad180e485524cd429555bd8e98dc153c529843d0344d364b01627a8c9fb443cff223767a6963ed84719697b3bab46b24ba89826bc03bfaba6a73ad003970a1d58eb1929d95d74e340defea0258a6e4ed9150326c7e0030f01658194c95866bf92f246c84a3114ac0aa4ebec14e435aa2ff8535b0b006203446f80e8ba2aa0ce93a2f6f0da3c97c2454d1857283fe1d5b7655d7b209a809f03c6e483191da083a48abdaaa0f0a0cc79f2d5a63add3559e1403099140f98189503d251a53ca5846232ef41032368ee6c558ebc2f358e90ace4788a144dd6060c7703f74ddaecaebfc9b0edaa7127460246843ba49283eda7306cd3a42e9ae1e7864403a2e1c6b889ffcf3b139c4d6fc47496cddc3933e956a13e7a5656b4204d12e91e030ce3c3900e9b899efe4688a297272d8d0d0bdf01e5a9a818cc62892c8cae4f1b0321b1cafebec83ee379c6b076f95b1b2a1657425c2d4e77785058acbfeb7652540338a98dab8d6c73d797fa267472a952a356cd33cee76aa586f0b15f7bdb7952e5030817a8a400faf5d7f88199d5d4bb14e9ea3d5fe876fc91fea4caa8641d2125d10367368e6ad0e898a0637ba90c3bad01ccb3a37d176497d1fcf6884d38bdec082103c001a87779c81f5c1a134b8432898aa6dbca5b487efe8d9098055c7ca5e1d74f033d1bafae79f871d9a26e701073deea9110621fb466c23ab1d43d421bc9d2b2640337f5202fffad96baf56a80474eea08f53fe6cefb666527efdd634b95d891b39303d8ea4bbf1b494e77a6bcf8fe952ec3ad95f2a401643ebe78eaac2088867098a403980a9aa66cd5731904e546d5c4375916f0ae4caf2ea0f2b85d2139a1e04c0f3103cbe95ed246e5c2fd56df0107da9ed90b2f7b061141e3eb84fdde2afeaaa95e99039d876cc2292461db34883fde0ba0eff656ea81a93b378db41b627929e20fb6be03284157b4f49b3ba62de4a4595dc797d2f392e4d187666c67d7333df30fb5eb6003041d1da5d30d322e03832543a845465bf521a8b1c4c9c219e581679bf54480de037523135e467f58360f1556fdaa1862a0fd20db52e666956455a1805b030181c90390a2aea049ec967d0f1baacc109a5c1937f096c2440b3dd7b9e170738bbb303a03b6fa2b5629fe373928c9d497787b1b8b69e1359d3294d199325f1ee57da3830203a64132ba06e155fefe2f450925c7d9e3925ed6f0aa93b3bdce77436ff0a13dcc0317a1287711c12496c8caff4c99374a4b7787a49d35d17fb867bef479fec30c9e030d83e012b5ca06c4d5b798a6f520333ec4a4be8127331fe651c038eb3a76aeb703933428dc372dc6b212b653ccfaf3784cade82d14b55692b05ad53e3af5b52d7e035bcafcf808c831e229819f1bf7a7dd812ac032d4a31b6fcad1dab276c4b17add03c4ba858bb009b9a5bd477b6a649667b194cce14d8291583e4351d6c34dbb5d0d03b779bbc0725a3f5bc155061529b941c30165a9ee577a480ef468a1cd5509d3b703f8fe5f7e0ca57e7da21ae9b6d9cfda7433b7f970af26b520a65a36bf4d2dac9703f2e471acf814fb0e35e4f3e3f2287b7fd9197c260ae40962618240846e501660038f297cf12e827a63704cbc0c25a363de07b71ad5691e4c7b08bcbcd40a825df405581e03fd970384e443fdb8179cd5f7742ff3b358b1986aafd07f4c39b81d0fe004020346b82b3c62f8ab111b0f4398bcbf507c1c54c13848a4f3e07e7d47b2573d72580354d266adb42079a47f3b70152c3ef94aac8a425b31f434c3c14019b2ee2b309a0605581e03d3e165c04bbf11ef528cebce7f06b57b04febf249c8122804181c69e4007011bffffffffffffffff05581e0385fdef739bfa66eba33bcdae9db4c30f607f542dc68f3ec2cd4ac7cd000c06470151ce2013ec00035edf13801c825eff9e830686ab8142a516392ebedb879aca5a3f1a3bd74920c005581e03462ddfc2593c772a4ec6128c9172da3c487c88b5812c8b037fca8fafe0040103084840a116a5187ae885cf06d80df1fe9b307382e50366883861342ed5663c790326ced49a9e7cf512581ed12edc93eaa0e46106a0c30bec4e5fabe91c56dfe17405581d0250abdf1f50f9a3e2355b16d535059aa9277c1216aa631ae4f308291f040105581d02c44bafea4be0800c03271865dffb8d7cedabc6410a36bc03900a43dd0847049c9f169d8e0004592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c63430005100032032e2bc0c0ff22609eac8f10e1c8736f3e780dcb85055451e7ac674e2667ce4b570313a4031999f138fd5a2cd6ffb7ab63e1107b95a0389545c40aadc91bddd993fa00582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af051cb2aee8a60ca86f8bda208376042d19788005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854c02aaa39b223fe8d0a0e5c4f27ead9083c756cc200582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab0470aa8ddb6865c490219014000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b582082b7b380037e2868c106004fab2c2e17609e3a9fa13840bbf296721c0dd3c0a5005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a84f24bf0960cb159873685c3ddaa1a61002184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd0048041f4dbd95f5b05600582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee358206638103b0000000000006ce4eb2514608b4f000000000000002abfbcea99faf90058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f548b683c400457ef31f3c27c90acb6ab69304d1b770218480219f44505581d021ec3c811e880dc80a981a5503c30597b49fa4ab1144a8a7f423bb3010701192c1d02181c021917570384a59ac3f31976525b65ab661b72b02bf1fcd35c019ba2d4839d69d9d1f4a5a003555d3a1deea1603addefab3179dc6c0d4a9474c55a7db59a22c15f2d96be5a46039d76bb6f100ce6c89af8bf229d75e5dfef89b17dcdaf6562beae642253966b910359cdaf928aa0094243eecdd88a705298bb96fccf40245caf2827654f28102a0903e2e349c733b734f0bd6cbb14b2476a91752f85e5984909e9a9d0c3e9f346a20a03913179e69808e46ea766db4e7697baea9473ce78179d47862c65b94d8274999c03cd306511fa5054b7d3923ad15479e1c96a92f08ef36e77479e23f347f3c4d9420219ffff030960f818f714050360f6673cfc01ebfe16978b10dee5d8d1250ffa87fbc057520317faada0b2554524cbf0f158ab366854523cd3abc1048475668c620653ab83e7035e31d3f580b3388a11a9e925ee6c701a15e53c0759ff9bbbb440790a795ee291033285dac1afedb332e73b2038c86cb75d99b286cff8a15bdc0d1c428f745f1bd7036b0f57e92ea0ded986ff55bfee8906ea457f937b4d01075701114ae582653f6f0219ffff03d1012b39ca70a0069aa165e552fde8f16eade9315bf29740ec1924edda2f5d9203e714ee21efa38f19d5dd377eaca0a9bfd6e57d8403953573a3091efa67c75f4203624f37476107a5562c070d8aab9cc9e673a7c691233ee4f6209caf819feba8460219ffff0381b8e81238e4a04505742054c12b577bb7526abacd7ae5d0a452ca9e68fe00c703692a51d70221dd95c4fad9be33cd6726af0c72ace00ed5e72eb4d6af1792fe4d0366e2f37e2c5a8ec2a5064e6113d9007f112346aad335e1ba7d3160b6285d2f2c030d8a638e05c837ac5d5c91008da969fc6c102803b16fc16288b5935c7942e05303f369a7114e0e139054bb39a7da90c73af10dc967e135300b1a51ab3834f1513f037642861636360312dd872552a2f5305f921f721c78767285a87cb34dc209b26a030c48efdb98e768c8f29ad854ed8198f64ca85095f56c66188d74be5de2475ee5034db5d7a65715f046a5206f0ee013c9d4385d79f4793b68f2b31342e0f12ede6c03d6dd6ddb2d15eae9c7757764327bd92738cbfe3930c95e0926fb8b911c5edda60219ffff032d970fa441a8ceccf173b3f3583416fdf2449f0d0979b81b303ff052f05d13e60304c508eea3158972c739232daebec044ee3e6c74de4486d304fb5705f116a350039ac7b92c52f57bec422e4bd5d04cd7305dc6f5c199d06b767f7dde98260cce2003086f5ea5b03703666c4e964c11977539ee7f769dc1679e38023a236c5cea1b7c03ab9015181cf9bd4d07ea66fd55eb5fd4e66496ac9a3bf79de4b9696d29f5d71c03ff59793356b794601134356afcae4ce0eb405722c5904f5a9e97034357cd91210368194bed561141a5c1b8e690ccf34ba45ee2986ce9b7f482fab6d276a694604803e4240f626d977518478184087ae0611dfceef30d260e0b5f1549f451b0e15237038a1295b965bcb0217dc2723e69c4218f7a2a87f3aae34950fd4a272a18f95bd403f42e0c256715d1ee3a4a6918149678b09d3d3e0774f35e58b67aef0392cf880703ca95f90fbba770647f79ed35ab45489a669f692df35a5089fe8709b805f119e6032dd21f3d2a7dab53b67c1ebc0500b0839f845e97d084f7e876ead8d1c6ea1843034c0a0f68a78a39af4f96714dff89d0b7988c498313636e977901d5a999d8c84303bf068389eaf23c697e1408deb9a4ea01bd287305616a4ddbb752c1a7c637eb780369621e88944f74018f58e7814d9b6d6aa3e14e89d8790fc31c5d276c6eeb6a4a032cee9909e0c373e751b9a67e6d2c426423c2d60071ef563cb8f257124bbf8b9a03941a99a652b0da2b1442664bb924322bbd09ab4d7aafeda0cd655a25e105317403667c5365f5cb236369b4f0c5acc855da9a7ba5fad565d6bfd4b2cd7cc66cfa13030143e65770620f06dbdd4af525a0b1a64e18b4e0863566e3fc0d068bde81a11603a1062e64b6c0c1a3b115614015a0f389958eaca757a36e62e2beaf4c6074ff3e03542abb1e1fa4a79109a0d73cc3745d546501c2afea0bc907a4393a48e95f147803ba6f19341599e591e41fd0519c876484deb506094134082f0864e9c90f90cc30036ed1d7b297d52b277036171f5e79bf443c613523903d473841a7eb5bc8b1946c03ca6a57dd23e807bbbca35af47076d23a451df1debffcef0a12643b6bed8517a5038720cd405944bbed2ed9c99ac85e5a5aff3588574588e22c83a113ef88966cbf03d33019e4c7af24bce42b4f99ae30ecea23cdb837401598cdcbf363f439108e7c03bb1b72dcc996e76105a95e902b28fffa306563baa068c9a3c118c6a33eb7a03503dbe37297cf24f2f4dedf11a33e12269f0d9fa67b2b0c44b7336340f179a49b3f032433a5c47dbf5e5e31ea74c894bfe9d3cb035453a90fde1f439c7858a04c34d80372f6536a41790269753f6922540475872ab7f3bc4d672e6430221e5c5ec43493035a07e39e3ed1473b0daea069bb9a1d2adbb908d2abf49394cadf5f51bb2d762d031390d695ddf998b7577fa12fb1d6de9afc3906932ed19f47aeb3dce0df6a5d1803f83dfd71604cab3958ddb484ee3e6b8b6e52044f99d535bd84ee2321f547e8f203b49a439c70815a034488f438b88d072612c57dab54f930ca493a2c1bda93e2a903f4ae4c0c57037d3fb1a66deda8859bd075cd1b1b8a27c4db7cac5557effe70a903298138ff149e07bdf9c25f93380a723ddd55a9357ae5a973a9009232597b2a61039bc368cbf373721b248693e3151951a8782d175a9e3b7c1e1e6a4904a2302e590365fa6211e1b492da2c98f1220085e282ed72b579fa743580e6de8b70e84da626038686337b2bd55e8c5033a70fa68ec75122364e509041a1bb9bad8264b378073403fe2e601f7831716635ff577b42df3ee52e2784dc27cdf8f9d6b07a9a4e3d302403ca67e5ad9a0f7657c1cabd8a375b397a50b0f7af217e626ac0d51f44b6b1524b03e23c58c95b44b8fd12895181146a8f586b3c37ca55cd42b7c02697189044bd610380661da0f1a245ce5de68c63e8a1f0c239e8287c63234f96f3c23c70f3ddbe29037d577bac02759343ae457a5340d1f712c33b2e76ab6b7619d44dfee6f8f107cf0386f51603cb09df5a7bb925d88c0350d4d24d1c28598fd380ffe430a602f1151a035b69615a1a4a13d2a355ad8ebef639873b5dd93438f31af82cce511cda941f5403eefff2d897cb203c541aead358162b0d5a6c057941e0348da56dc83e933dd927031f50c6594f3089698e950ec35c3668c10574313715358cecafef3f17c75c7fd8035bb356ea469270bc941971fa5f3f13eebd7182c4d07b1e5936b749524c6a033903f0146a70d2698de30df9bfc84add4bf7824c3f8fc2c13bda287f68de33cb88bc035f5a1117d6968dc818545bf3caa0ec44f7d8f11c5d5bfd1e7303ed597056f19603f5c38af6f709db9cee967585e1c3475c1b2c419a7f025c8551ca0211a787993d036d18433acfe02224d8dbca55b504bac5c832f9d266ed9a338d58ebe2d0226eb8035c5b31895362a7e4b5f826c1f8c285b6ec5f307d83db0fc29849db070028a1660397dc7269c9bc8321eb76c84812b6cfd4bfc227934e113e65ba20262d933bd8c003ffb8203d5d65af0e0d0c11e1c9f688eb67ac46c262291bb5e3f499f21b319fc1031286c01bb09b3cc54808700c2d7ac300eff42defcf47f011d5c3b79e1dc0f8d0038603b9f2e5ca0befcd270cedbb962e2dfdfa5f6566a2bbcfd93fc7529f91782c03e0dc6be0773960cabdc724cec9b09fa9b9e9aff9d76df0455b2bf1d795ca29a3031d93f60f105899172f7255c030301c3af4564edd4a48577dbdc448aec7ddb0ac0605581e0302c2f650d1dabe4467d5038dd0e789abe371f9e6fada398839360fa2a007011bffffffffffffffff03767c4368cc25f0f8d30ce48e9ae71faad89a9509f0088b9a32bb32c64256cea903525e052104f94a17543f0e46570e8465a38e406fbcff6ae7447e93638dabb95f05581d02c55d89f1df9abd2eee3f6e0a8efe53f929d36bcd3a7e134f702da6fb0c03473f6f1420567ef605581d02ddb0dde0d879c2e4144fda652d366909aa742fd9ade130583bcdeaff0c0246622ab6fe13c805581d02c070fc7ed870826db358006f3c0eca572f8aac6c268ac0130805f5f20c19028b4807cb94878c0c4a3305581d02d899c0d4f975f439752f5bada431134b4990a236327a0ef46bbe37d40c0146c2f8959c742b02190d0103b2dff530257219ef8af877b1991b5006303f8ada6c2ab655e88057f2e24e6628038f59510413678d21bce67a691343a22918b9f49fab93e726d395ab19b0ff1b3205581e033fce37f1900820391700fe9d561e194a0505d7e9a2fae48a6ba017656007011bffffffffffffffff03663cad5d90e1c7c8e244b9dfa750ecdd937f6177dc94022a3f84f6cc5e01f36f05581e03c3ce4aa708f9b69e2d04abe8521021eac25dc3e71247b3f6d7a29fb2e00c01470128c3b52bf00003c21a9b4dfbf17303d1461773454a92d7a65aeeec89477b40917c544fdb7a30b305581e0379411149f46fa7df406872f14682ec1b9378577d92d9bb00b1b91df2000c014707132bc2cc801402194bd603c56988604cfe964abf785e74135cd1e1d2a2d1736ca608ccf42d8a5a663e865f03b98c164d99541c19a09eaaaa42ad4c255402961ca54727e73c95dd3f2e3c3b5e03538c5adc584217b6fdd5edd20b5471ced13546b8f7cae0a93a42ea1d741914a503377723c880b302d7a7b353447a4b8282d3a150a7fefe001dc91ff826c38e8da5031f8ff9d61c0b130ed2ae177f6d9f81906f1ae7328441c79e31bc75d2f5f30b7c039d350daceb38a0d75a940136635164832bcba6e631c015753a8a6cc0c64986c50219ffff03ffefe22c9391fe6b210ff1ea3839ff0c3573cfa695b0f2241309a6324df6e1bb0219ffff03a52ee312c27564ec5de33a92ebd25e0ac0806d9c71b2e3af0eab6283fed4d8540219ffff03169629eb79b5dee32abe97e9bdd17d7a361e12b9d47607fa1864699b4d27bc0e0219ffff0323c2256eea45e2659ade6c954eafd18a8cb38a7b6e072279869b756a70fddc6a0219ffff0354de8a7f20ea7c86963380665fcd6c91c606701f7a9717353b03820924a15884037df6def0c81558aafd4b09a5e5abf7e5cb71520ff85f4d18f733cb6440c7af54034d89ac532bed43cdd30c2e6c649bad88af20c8e5363a8378b3324795c138aa880334a29dc51fc0439b0b59dde57221b62b184cc7d81a96dc8ee72ebb30df8d89eb031f70232a64efcadb6156873cb4b48115f3f5f4cb3b0eb45ed496d84bffffa42c03e4ea3f0745592596ced9342a16166b57665bd078e426928161ebe09c17cb6e16039df94c5c71d55874cebd7d87f9fedaf39adc3ce09ca439cec77fc3cda6a45bba03c0be3be853f2ae0372aaa43bb28fbc1ddbfbbaf0a7c0e071aea06fbd6402c51f036a9b4a91548333ca179a6bcc96da6acb6a00c830f9fc54f586cb21894a55da5103c098c29465c3b8d549528d72289259706b25edd6299bf6197c6564ed2355d3e0034fa3d78fa38327dfafd5bfa12105833b15a37fe67d9c8c7612436501ea271deb035d78d22bf3533dc43fba810f32b15e1316cb8b976a31b8c1ed07c1d988962fca0324e2a710f3c13e95cc1882b0a32e55c24c5b8e7eb3cbcdba36c6dd5a46679ba303b5ece83bd6b18170337794d39a16c4f17c7de60be65e471a515028141375b9e5037b3edac7e40d418adfb726d4d7c70380d67508a40dddcb901bc68474cd39433e03dce5b7a67506788298d89b90cf942cc0aff8c26bbfed29d07b543b1be91489790368b696f4437d36244d6f07105571bc3b221977f692aa5a0b3f97191aa920c45b034d1d16c1286d9147f95d48ab693053d47ce3e095ec4af1dad3af3f9d41778e7f0322d04b8d0ca8026323d6377d1743044cd92db9461643171658ca57eb0862f8b603055020a8edabbd75812e9667884af1dbda2de45854efc6d5b988a4404adf5530037e12accbaa7f8379e0674319fb56524c5fde3506685bac6bc9b8985937b011db03a74cadab84310d49684cb8914aa35c1464e42c8081c8051f74d7291de33aaa1a039df5ba3a8dc7835e93b6cb8fe577e439e669eef9d5b3cbbddb904142f9e614f2035fe0158b1c329ab9ea1cf5387213d2a6e258aba5dec083f844216161218dcb560360291c31d3bfe2e5f5588724f50fd9af6f7e45b08bfc7a8d2acdbdaf94f20aa403d3cb20fad8435b09f179989e1bf8f9b91553423417ffca62ded425f76bd552a50361c8aaf37e1f51a3471653b082265f6d14c87b3e5a1f7cc2e869f91f078e39aa03ea4c7bb4bda02e6e154e1dc2151c06398bfc2f615f37bdedcdd6da8e9c45238c038f7186ffcd90c646d1b6805daf33d261e7322b894de7ddd5a9d09c922dee3eb503fe52f136e68e4c7581e83ad5a1998a9c148f93e89280b5ba593b04d166b6f8f703aaf1fe5995efcf21f25ac79c4647ec2e2395830221770b8553ccdd245e79646c039acdbbb39aa484a6e033d5050283fdb64848377a02afa9fd1997aab86f816c7f03672ec410bd8b35bf6c8d7263879ea2561687d0eb6ace8aed4c40b4dc6076745e05581e0316d4bd7dacd97d0c571e0b1d90bc117dad36182b78878703b2205a43a00c0344ee6b280005581e034b2d2decf95050be5986747389e5b75a9a8667f14af23b7ac1f2f78df0040104591b126080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb1461034a578063bf474bed1461036a578063c9567bf914610380578063d34628cc14610395578063dd62ed3e146103b5578063ec1f3f63146103fb57600080fd5b8063751039fc146102e15780637d1db4a5146102f65780638da5cb5b1461030c5780638f9a55c01461033457806395d89b411461014557600080fd5b8063313ce567116100fd578063313ce5671461020a57806331c2d847146102265780633bbac5791461024857806351bc3c851461028157806370a0823114610296578063715018a6146102cc57600080fd5b806306fdde0314610145578063095ea7b3146101815780630faee56f146101b157806318160ddd146101d557806323b872dd146101ea57600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820182526004815263434c415960e01b6020820152905161017891906115da565b60405180910390f35b34801561018d57600080fd5b506101a161019c366004611651565b61041b565b6040519015158152602001610178565b3480156101bd57600080fd5b506101c760115481565b604051908152602001610178565b3480156101e157600080fd5b506101c7610432565b3480156101f657600080fd5b506101a161020536600461167d565b610453565b34801561021657600080fd5b5060405160098152602001610178565b34801561023257600080fd5b506102466102413660046116d4565b6104bc565b005b34801561025457600080fd5b506101a1610263366004611799565b6001600160a01b031660009081526004602052604090205460ff1690565b34801561028d57600080fd5b50610246610551565b3480156102a257600080fd5b506101c76102b1366004611799565b6001600160a01b031660009081526001602052604090205490565b3480156102d857600080fd5b506102466105a0565b3480156102ed57600080fd5b50610246610614565b34801561030257600080fd5b506101c7600e5481565b34801561031857600080fd5b506000546040516001600160a01b039091168152602001610178565b34801561034057600080fd5b506101c7600f5481565b34801561035657600080fd5b506101a1610365366004611651565b6106c6565b34801561037657600080fd5b506101c760105481565b34801561038c57600080fd5b506102466106d3565b3480156103a157600080fd5b506102466103b03660046116d4565b610a8f565b3480156103c157600080fd5b506101c76103d03660046117b6565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561040757600080fd5b506102466104163660046117ef565b610b17565b6000610428338484610b5e565b5060015b92915050565b60006104406009600a611902565b61044e90633b9aca00611911565b905090565b6000610460848484610c82565b6104b284336104ad85604051806060016040528060288152602001611ab5602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061123d565b610b5e565b5060019392505050565b6000546001600160a01b031633146104ef5760405162461bcd60e51b81526004016104e690611928565b60405180910390fd5b60005b815181101561054d576000600460008484815181106105135761051361195d565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016104f2565b5050565b6005546001600160a01b0316336001600160a01b03161461057157600080fd5b3060009081526001602052604090205480156105905761059081611277565b47801561054d5761054d816113f1565b6000546001600160a01b031633146105ca5760405162461bcd60e51b81526004016104e690611928565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461063e5760405162461bcd60e51b81526004016104e690611928565b61064a6009600a611902565b61065890633b9aca00611911565b600e556106676009600a611902565b61067590633b9aca00611911565b600f557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6106a56009600a611902565b6106b390633b9aca00611911565b60405190815260200160405180910390a1565b6000610428338484610c82565b6000546001600160a01b031633146106fd5760405162461bcd60e51b81526004016104e690611928565b601354600160a01b900460ff16156107575760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e6565b601280546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107a09030906107926009600a611902565b6104ad90633b9aca00611911565b601260009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108179190611973565b6001600160a01b031663c9c6539630601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610879573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061089d9190611973565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090e9190611973565b601380546001600160a01b039283166001600160a01b03199091161790556012541663f305d7194730610956816001600160a01b031660009081526001602052604090205490565b60008061096b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109d3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109f89190611990565b505060135460125460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af1158015610a51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7591906119be565b506013805462ff00ff60a01b19166201000160a01b179055565b6000546001600160a01b03163314610ab95760405162461bcd60e51b81526004016104e690611928565b60005b815181101561054d57600160046000848481518110610add57610add61195d565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610abc565b6005546001600160a01b0316336001600160a01b031614610b3757600080fd5b6008548111158015610b4b57506009548111155b610b5457600080fd5b6008819055600955565b6001600160a01b038316610bc05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e6565b6001600160a01b038216610c215760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e6565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ce65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e6565b6001600160a01b038216610d485760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e6565b60008111610daa5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e6565b600080546001600160a01b03858116911614801590610dd757506000546001600160a01b03848116911614155b156110fa576001600160a01b03841660009081526004602052604090205460ff16158015610e1e57506001600160a01b03831660009081526004602052604090205460ff16155b610e2757600080fd5b610e536064610e4d600a54600d5411610e4257600654610e46565b6008545b859061142b565b906114b4565b6013549091506001600160a01b038581169116148015610e8157506012546001600160a01b03848116911614155b8015610ea657506001600160a01b03831660009081526003602052604090205460ff16155b15610f8e57600e54821115610efd5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e6565b600f5482610f20856001600160a01b031660009081526001602052604090205490565b610f2a91906119e0565b1115610f785760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e6565b600d8054906000610f88836119f3565b91905055505b6013546001600160a01b038481169116148015610fb457506001600160a01b0384163014155b15610fe157610fde6064610e4d600b54600d5411610fd457600754610e46565b600954859061142b565b90505b30600090815260016020526040902054601354600160a81b900460ff1615801561101857506013546001600160a01b038581169116145b801561102d5750601354600160b01b900460ff165b801561103a575060105481115b80156110495750600c54600d54115b156110f85760155443111561105e5760006014555b6003601454106110b05760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016104e6565b6110cd6110c8846110c3846011546114f6565b6114f6565b611277565b4780156110dd576110dd476113f1565b601480549060006110ed836119f3565b909155505043601555505b505b8015611174573060009081526001602052604090205461111a908261150b565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061116b9085815260200190565b60405180910390a35b6001600160a01b038416600090815260016020526040902054611197908361156a565b6001600160a01b0385166000908152600160205260409020556111dc6111bd838361156a565b6001600160a01b0385166000908152600160205260409020549061150b565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611226858561156a565b60405190815260200160405180910390a350505050565b600081848411156112615760405162461bcd60e51b81526004016104e691906115da565b50600061126e8486611a0c565b95945050505050565b6013805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106112bf576112bf61195d565b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611318573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133c9190611973565b8160018151811061134f5761134f61195d565b6001600160a01b0392831660209182029290920101526012546113759130911684610b5e565b60125460405163791ac94760e01b81526001600160a01b039091169063791ac947906113ae908590600090869030904290600401611a1f565b600060405180830381600087803b1580156113c857600080fd5b505af11580156113dc573d6000803e3d6000fd5b50506013805460ff60a81b1916905550505050565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561054d573d6000803e3d6000fd5b60008260000361143d5750600061042c565b60006114498385611911565b9050826114568583611a92565b146114ad5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104e6565b9392505050565b60006114ad83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115ac565b600081831161150557826114ad565b50919050565b60008061151883856119e0565b9050838110156114ad5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104e6565b60006114ad83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061123d565b600081836115cd5760405162461bcd60e51b81526004016104e691906115da565b50600061126e8486611a92565b60006020808352835180602085015260005b81811015611608578581018301518582016040015282016115ec565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461163e57600080fd5b50565b803561164c81611629565b919050565b6000806040838503121561166457600080fd5b823561166f81611629565b946020939093013593505050565b60008060006060848603121561169257600080fd5b833561169d81611629565b925060208401356116ad81611629565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156116e757600080fd5b823567ffffffffffffffff808211156116ff57600080fd5b818501915085601f83011261171357600080fd5b813581811115611725576117256116be565b8060051b604051601f19603f8301168101818110858211171561174a5761174a6116be565b60405291825284820192508381018501918883111561176857600080fd5b938501935b8285101561178d5761177e85611641565b8452938501939285019261176d565b98975050505050505050565b6000602082840312156117ab57600080fd5b81356114ad81611629565b600080604083850312156117c957600080fd5b82356117d481611629565b915060208301356117e481611629565b809150509250929050565b60006020828403121561180157600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561185957816000190482111561183f5761183f611808565b8085161561184c57918102915b93841c9390800290611823565b509250929050565b6000826118705750600161042c565b8161187d5750600061042c565b8160018114611893576002811461189d576118b9565b600191505061042c565b60ff8411156118ae576118ae611808565b50506001821b61042c565b5060208310610133831016604e8410600b84101617156118dc575081810a61042c565b6118e6838361181e565b80600019048211156118fa576118fa611808565b029392505050565b60006114ad60ff841683611861565b808202811582820484141761042c5761042c611808565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561198557600080fd5b81516114ad81611629565b6000806000606084860312156119a557600080fd5b8351925060208401519150604084015190509250925092565b6000602082840312156119d057600080fd5b815180151581146114ad57600080fd5b8082018082111561042c5761042c611808565b600060018201611a0557611a05611808565b5060010190565b8181038181111561042c5761042c611808565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015611a715784516001600160a01b031683529383019391830191600101611a4c565b50506001600160a01b03969096166060850152505050608001529392505050565b600082611aaf57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e85ef9e74da2b18270d1c91ede66b645fd4e18cce2d8c288dfd1bf29e20218df64736f6c6343000817003303d314e2201f63550827bf0cdf911a026e9b0dd35a2f6b042d7983f41d500c286e03afcf42739076459a23904cc6d7653ab8d5c2424c291827d6b2280df99edb949000582002193bfb8a8ac5c70cc4f5bcc93cf05c91f1701d33c7d0cd17fef09b345e0d8f41010376f05ef8fb93243667c474862883c05cf5ae53590f729fd42a29d5ac4c9c013a0369d9b379fbef4e01b3d2080f7c8e8e9f0d26a944db370902843e4359cc3a836b00582003998a60e1e675ae554eb9d43998288aa2d3bbeb74f093b78f5eaac3064f9080471c78a7679b214b00582003c941205aa8032ad63acc7460009b742213fc090c66e575c2e100ad87e19c10470154425fd7470c02188100582002e49eacbde352733e786c0a671dce3b8aadf72e9b68eff921c5041512f0f2175820fffffffffffffffffffffffffffffffffffffffffffffffffffc75045d9bcb5200582002301be158f2cae65e19a9c9e70bb5988a4d312bc95accc8748e3d5e19f0e2ca47046d61b5bb113b0058200222a9ef97d3a9b49658506a3f3bba83fe56420f692bbe4e9298b3e90e20f8d9471907a34f179dfc039716cd352f4b797457d921d9646a23e6f98723b6a53ab0491417703b25efe0bc00582002cabce7b540c95fae520e2fdf48d5a70e5b17c9e0a2ae80044ad2098884e46c5820ffffffffffffffffffffffffffffffffffffffffffffffffffea493b68062e7a03a6572a351d70ebce1425933eb911c7f3bbe62c85db8c4cc09ad943869d263fc003dde05dd943c769a0a17496b2a6697ef3fd5ad69728908d3633ab808e59e283eb00582002ba475fc33bd0f952f33744f1973eeaeec63485e8fff4760187bd9642d9c34e47013d5071b06d9d0219dcef03fc802151fd0071fc346b4fc82b419a635a5c2067d369158ad12f25869500cb23034d837f51f749756d6e8008b65f2fe70c56a7ca7b15393580ac7961b9c93e49ba03353097e71a897b3976ba6e0a1956dd21be53c87815ae6b01173a8e431e39f01c0058200254025d82f000bf5034e08b44c18adb5b631e0e795a8fbc89aeddfc2a018e154101005820021d32db26b0ef514d3aeb96bf78933b46e0a5c534d9559f1e2b24c0383ebaf65820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff032cfb0c2f14542e04ed1a5c4778f78ea17a4416159610b401d8a85c23bac0e97f00582002de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a09057010001d5564d5338168dd3bafc9fcb37d264b451670b8d03058855726a4141e6411ce7d771bd04e0ace97d3c7647a04d0c006d03494cd89a036f1fece6b0a15375a7e4b85f2ad5cd8ccadcc1141f1f9f13a269c787c128b35700582002ca73392a540fe1950d294f2f14a31a1e582a928ae1c6c2dbee4372e6e07892472471ab765335a0037322c4e94923041abe6a2e423d3db076e18392f4ef7ccfc79f76c2d168963c18005820027e606b0852c084f64d8b0d39bc9b68eedc89af1ad47d6115c7baef0750ff3541010058200277db92afcba08cd86adc11425f684e852a0b67fcb6d20825ff37fe798f5d0a47090401e39b918f03f8ffcbb869a654bf93baa89618989e39f259a3b135f44b588652d91b7d894317005820022fccf1163519cc49dd925bf8a76124553ef501cb6be00ca0dd677e20c779f05820ffffffffffffffffffffffffffffffffffffffffffffffffffd6141fe2972c6a0219bfdc030fa652634736d283d246d68c56f24b97fa738f79b82cd455b5c63213fd26455b038fd9a303976d34f8958b1958dfcb7ac5bd0219758551c012cd70a5a972ee5adf00582002f67f7468ab441155363145017ccd7b7999c43b3e8757c251578bf9c9ff6f6b470913773c9750bf0058200250e6b12f97fc6f4ff69d3a9e7aedbfb25fc20d360b3006e6d4213f191fd9324704d874bff04c5a005820028a0e933ee673218feec8be9bfa6ef0e751b366df0de6ea33741babbe95310b5820fffffffffffffffffffffffffffffffffffffffffffffffffffac5d16182eae800582002fa68efb8be33d6fdba6658539618d6b7e037e7898c965052dc3736dd7bbfdd475fc7028b6a9f4203dfb06b42c95f2aac2d8057b7f94a853286db6e20f955f33d9cd1c77ed94a800d0354a7e74443ad5d8764652d19e16b1b1541f110b994870ccb80c227acd784a93b03d5e708fa215fc2d978de65263c654ddbd50fad68a3883d0af087c3405e8cc6bc00582003c74b49237f99c988c0a91e6bdc306d4df93c40f95fa24f8692b0d4edfc99a04805e26e848833dcec0058200374a746b5555b132b48865fb523a014af5828acb326222b172522c43da7cb605820ffffffffffffffffffffffffffffffffffffffffffffffffffb9020661a76b7e0219010100582003108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020480de0b6b3a76400000058200313c6e386e363fcf34ac713342b74445f482b86f536e9bb54b9df49b4da4860480dcfa6a6d6779d380058200352eda49633b7bce573f8e90ced5f624fb81c40bcb27970f4eb7cd9f39a19e05820ffffffffffffffffffffffffffffffffffffffffffffffffffb8fd16d69acd1f021930020357d2c137377b10b0d4cab7372ecbf084651da96132f2211bc47d3bfb622f1cbf03afcd9cb0d6eade7fee2aa56ff6937a378a4a29653f9a3ebb55bb78ccee38d1d20219f7e303407c135badaf2a22f8aaf9da359334f1876e09a0caae932686f3dee20a8ed7870305bff418893a396e4c4e7d98c317929a64317a407c780ff32c3964a3c3bfde250058200201d9688706b54d15cda98d5f7769b04166d65fd6637f266423c243e5a4818247024d22b0b21d2303eeec0bbc5981199bcbe9b6320816ac2233c649fb1a7218c571bdaffede88afa3037057e064638c7593e897c10519c5b49e31ef616fd55c519f43ee8bdf23ca3c5503c37d7c7e90d53bbb36dc81351dbf2d493d81673e9e6d94bbfb438c537bf0040200582002b5b113c3362f857a3c03606be4fbe8e1193eca42a2681838ab148addcbf5634704642f856dc1a30058200265d587a2570a145f6b3b698c79f7d0c1225355c4d56576b6e8c541a535fc775820ffffffffffffffffffffffffffffffffffffffffffffffffffb7e0350c71b49a03aca9e2ce90f6174492048ce752dafdc9d9431d9a9069cc48c05795d4ad1dace2005820029a991a3a433167b9a4cc2b7a64ba4eeed205093740df6c08b43f6ab3a37d1c5820ffffffffffffffffffffffffffffffffffffffffffffffffffebec23d1d6d16600582002715a8e73fb23ee049880a077ae86f5d350b9b77384810dff7142edc9ee664d5820ffffffffffffffffffffffffffffffffffffffffffffffffffdb40fb8f6a96d8005820030691a4b1ef5899ea41e271d5970d99438d5e69260cad78161f967c9fdfb9d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00582003b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0480de0b6b3a764000000582003a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440547a250d5630b4cf539739df2c5dacb4c659f2488d005820037ea67b79476bf871e3fadc49ce522e02a9180dccb7199785715b36ff7504d05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff021921820366ff9444fbaae00373bb481689ce569f714472f08cfba260d8ba033fb67eb7c6038575ef0604f6d6d642f3dda4494e1c80ed094c6bc3d337f760155213de33f0cb0058200201c417d962731257c2644f4fc72bcfc33a95576a151d750f9d26cee5888ea24702c7cdea3f0eaa0219bdef032603306245306e9e95f05c1033ec9fa7ebf5767d73f2fa4fe92a18b0dd244c2700582002165314e5e0eaf3eade136d72cee1f88c700abbe8ce41770bacc9424a54279e5820fffffffffffffffffffffffffffffffffffffffffffffffffff0a221a73715ec005820029d69f86befc55447495ed58448d9d143d70143055d7707e69936fca3a23f7a5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03cc86b07ad687fed0ec099fe283d0d09b9e29a170aa758f4ba6a4de5f0431a158033647c0c8e0a5133b8536e373afb3916ba9d65573446372b5f8d423103f11590b005820031ed3604650b2aeb65f74a72d2bab8f72eeedaac2dde3d554b57f413b8aab4046f8d583657ce70058200338c91d8aa6139f872500e67b257671589abdb59c61fe5fbab728b5ce3175c05820ffffffffffffffffffffffffffffffffffffffffffffffffffd58cc69491ab9600582003a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8041010218380058200247d87da98715c3ed63046f61010fac43848bf543ced1b76aedf6a50f153b104101005820029de73f4f2a3affd41d2bb6334b4d3c02395f33513b8efb72090ec154a1039b5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff033ceef5d3cffe9831c51792d491e49ac08d3ed093512fbb40ad84df3d866a687c005820025ae2f1a686fc65f52da42bebf0636ae02902bfc01961f1d3e96aaa0dbf49b4470f59523482f14003b4517ad4d74db7e0b23d3a96fc542c7ed07c3ccb9fee240ce443c6f16a93886403e4fdafce77df788d97a16f6ef3c027471cfd7b87634a7157643adcdbfd38260500582002c8d3390450841b4be9c88c87dc9d698b506dadc7cbc90e1c7dcfd7e68412854701fe28a794f2a30219cffe00582002ebdb5d939e01b3922bdf616066d4e78e2328f90424854703bf578f373923484702fb1756aba9cb00582002a568872657d6cf6893b28fb0d9cb1f0cd04d4e0c0421174bf80d5fad48efc35820ffffffffffffffffffffffffffffffffffffffffffffffffffb9004babb3441f00582003003493ab7c00b0199c2ffe97712c2f27fb54cf5f816cc5bb760c2c25b563d0470a1118be62253a00582003d4e2c2659582808fa60c2a272b72920b10f624278260105e694dccbd15e300470ff5a428aea1b30219048000582002279ea4bbc9705e85002e16ea4a8e827319f75361985d73e4a175db464347db4c019d971e4fe0719f9d50860000582002b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5420149005820021b32cf224aeb097412df8878e15269f3fd4d5aacdffa807e1084dc55f20e244710987fc355852303528fa3492e17dcab658ca7f04281b1e6759a035c203ceaa1d3665b1c2bc5b3d10058200223f9c54df335fc1b52971f0ab4f37fab3a8d5ed8f19e42ff31a617dbefec774706323e51ffbcb4005820026a41b4d5f30ba17f05b6ca0ba06c8f0f95758b480fcab4a711553983321e445820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820022d27f3379c5bd21f1c5f287e52837c6f6a1e26502db4c38ae2db24aa1ca1bf5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005820026966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7411a0219cfd3035004a72ba9add33ea65f3bddebd25df291c3ae0c41c9c861e8508b53f3088c4e00582002f29f424eff63b3eb8f64d802c127231e8b44129e3ea8c6f81dd190308576095820ffffffffffffffffffffffffffffffffffffffffffffffffffb184bd9a2c0a9f03121157274bb924e0068597410342ae7ea4edfc7a403018fb2eb2dda003e7643500582002692bbf9f3ee64ad30db6d40f362ff5e9d57370e47547af7040c997239e970c4101005820022dd49cfdc29b0a18041ea928a8c3326123166d51e202a1e5f38a4e788f39cf4701616b3ceff5210058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f4118038d8c73d2bafd80782707cca1103323b3c8d357aa907024a4045cd371ccfa9338005820027b074fc0c7123ca3a0b740fed51125915e19d38c7b882352df2b9eea2c84bf5820ffffffffffffffffffffffffffffffffffffffffffffffffffb8fed8b4fb88a20361eb56a435e8c9abda1648b3a9a9bdaa3b56446729587b5d7f5da19a4a30a79b03b0130aa8da0e8c27af0863d015325a06e5b949295b8c7e121b0f263cc6aae3c00058200286f2b0ee929f4a217491efb5d8707c8cbf903f7d74cd367f77cdbbf6e11c444709ed0b8412e5860322d4c3db87aafeeb2edf3b63d93dec03e623754d2bd2f0df4b2e3e098ba341930312f2ecf66debdb22f78971e2308e00cd2dfccc33c465cb56fac5a7623fe1fbbc0219f7750219ffff05581e03e449b31bde037df0439b78ae02331dd2d40844839e49ef3201484542600701191b12030ba73b7f804a139e6574caec9727cf9c24aea22f7309b0fd35278d704f700dae03c7072fd42d5a6e75d519982f75051f3de632a97deac11f73cbcee54735b5b4cd01410705581e03f10fb68883dfcd964c2d4904a3aca8cbd7ba798320724f02b14ebcb5300c03462ac2b0346208021945e1034ff32c6608391be33fbe55f53c7025b71a582eec94be56ed92a439777d1816d703022bcf0a8e4a2644a6c8a56dce2ad12aacebf3260a53e04c806cbbf5912fc9630356651de917baf1e9ed0325aa485eeb2accbf5fbe7b2650b63f6155532481ff2d03f9103821b601934d482df73e1ae15b570be704e251c702a31ca7ba640fdcaf620305da9e2bfdc7f60bab1cc9470ff36c106a78bdc140a4f081ea2dfc81c90b759403111bbf32bdf2fa4dea0bbf15b2a47894616f4e4e6076ffeac3f7ef9cbab2ff0703955bb65eec57695070904627d9e21d2abb2a1e23531aee64bc2f950791398b590388213da29c4d9b44b1eaed041cca0f9392ed5bcbad8305dcfd0ee2e9f9f593b30219ffff038ec9c904d4270952fa3cb84ce079ecb69cd6d32eebcbcd00ffd190437c57cac90367c777c0d5893adbd3709a1ee34fa0df39aa49929616c9a494d6eb3faba571e203054b25c0dc6be18d19f07eb3f15c279f547a82a10552ad842064ef504361237e03d1da2bad9d8c3e4ae4f50161ef023019262726dd47a84efaf214727d3b6e9a04031fadf9d7c68a470e27a8a9464546ab43eafaa0ff3fe1dc5176c18c4f45e8213f031cbe6362e431f50e1794e2e8e5120543b33d8af786f16d7681f8ff1232cd4cf603708b1b8d171d1209a86da26a396647c9b1d93fec6783009d6ec6960fc1c2a89a030c677b49d4bdce9fe3882aa84b122dbeaef90e5e5b448b6bda5bd35527422a9d036d8241ba8f7f33c9b13c50ae19cd8b47d9278ec48bcf5ef6e4da2261bf2b93e403eab50ec55558e4897800059b38ed13848d9b166257a416da181edadf964f30230321d5b7bb9826ec9ca0d5ddc27c11421a6653b86f2e17253a04601b71331bc2410219ffff03598e6ee1c1125c6b7086fa65fa0f2e713aba867cf3b49ed451389b7e7504845903cdc25193c1aa98d6a00442dcaedbf7f7e766492e4b796f10279ba8a9147869ea0378fcb2afe7a66623f60a3e2c04ea1ed336238af0d3151e1abb94eb4e0f12388b0344ec398832716f3619ac107db0d1e297e6aede4465690a14afeb9ad66537074203edc9f8c6f16ade6b1f6bc2f08879519d59a8c5a90103ad71f856e3ab8347e1090219ffff03d7bd9ece9d45931bcf48331bf731471b6da87ab8a644fa374ce25608fc1e66ff03f772655437195900a4626ba546a7c83604e5bbaebb6f945a8ed24f7ae4476fa2034be0e71357280655400a1b513f4427954bd21f1bd287864e42eb71cd73df62a403db2c577219d228099a0630f21426d768cb7b10d309352e1f7246f152c2b8494803c66572f58383e885ee4b09235ec9587fde7dcd9168d1c3fb713f985fd4d1f748031b08d31d3f43d7d90c45e756a76f14a87f4cb75ff9ae997f91c674f9370b3517035a6ae47fd4c60efcb73c9c718ddd40c1e059870b37649c4ff65531c26c5e46800219ffff030514c9d7736cc160b7826b9ecc4272646b7b98b17e523e0950e21bd3386201d303c274a3c5c9a8ae97b7e7092b064609ddf60a40380c1d032753594e5a5ef2113a03936859c9f4de1e3adc201278a419dade170329afbe4f27d06c85d9143291670f0370510b33e2a85ad15b33ea84e5cbb7beeba921250088f5cf63257914af6129be037e2ec6026974ae7abb85fa76bf01da1305f4c42af012cb375d0906ddefe7034a03ee9aae715b49059635c1b6d59bdd0e19dcce999daf5cb3fbba24cd8c02e216120336c33965bc07409169c1da6eaa004c3243b0b5ade544b4c3cbcf35e390c5906e03bf8732a2dcaf3cb9eed5ce6de518588b722df7b63118ebacedc3acddcca9063203425014f9d3c06ca9b97fabc3e2c7fe195aa67a5abff1de230e2e49187d300a4503ac482db6a1a0e944067823679dea17e21a6b22f2c83ba2abcc26817f2e58c19f0399964d6cf151a56a43a23be84477dc72e8cac768165213f64ec65b995b92a5520308f5320b30c5e4a464d2ea439006f11cdc914e79e8cb0130367767fe31548963039f1b1fe7fa9a3fb5d7d47c800d757ea8b5ad83dbd8ee6ec4da9ac4ccdd8273a703cf84205986bd6f32a4155c35772efe433a1295e1a1446700886e608a5e2c461f030972d1609599b552167c339aa48d6ae5fda15fa5b832ea203ef723d8ad5eb61803451cf700482504e6a8d53661c6309b794d91ffbc1ee53ef04c13b47c4774cf73037e0c07ee1a9de8c5f6d963f8e696af2ddc0c10c247d53e669d4554500fd697b303a6ec326903990f6f7f4159dcd9446894bd3409961025ad530dd5ceac3d52e77a037815a1e906ad3433f8fc81741559d38ffcf91a53d077131276de3b08cba6957f03de9fdf0ed3d91173b4a4e63067566df8b9ffd958dafa64024b4524685e0c5a3e01410b05581e03a5fd656052d58ce697be9dca634eb8be7b38495f2dfb649b95a0bd9410040103562d59a51820d47f520c975e0b2bcffac644a509749a3161f481f57b6e826d210605581e03fb554f06fd3826225ba6152e356ec5bdc21317e4e2ab56e0129ea3d2a007011bffffffffffffffff05581e030185e5ff306ce55884850cd1229e1109cf4815ab48d41c6f583f606bd00c0247033a1ad2d68c5505581e038fafa06790ce29fc48d6d13e1bafe01c072357f372ff1b0dc42804ec500847028ed6103d000005581e030da26dc5b0f7683761a9c2fc03025fef3266f2e899469e214f920c94700c054778727d357361ba05581e03dded7c5b51db1d0c984295bb3ef0767297cbc222a6ba08698986221cf00c186a482337c8dff9c1f60405581e039cf1f3b7c89150dd373d4c6f39cedc666906c3fbc0215ca197b52324100c07470342dcf39088d00373146722a7504a33c86a51be4472996561f73934780d2e94c53b9ad8e1e4d50c038d94b2518d85571711e3760dd6a5ba75d870e044842f88c306fa10e90e8cbc1b0219cf9503d93c1dd782977bdde2f87077c0919b7212175bf22f89d1056e8226de58a32e3503d2d264f49ab5d9bb4eaf0b391cb99563168de9b9576169befcbc9b94c502303103ca71d5363fa100af579ed893894c0ca1dc89248ab5c0255cec482f31d0cac1830301720b28e70f64e0d152bf2702b9bd7710467651d8d203fd35d8b676e2b2bc5e03c1e188c9f6902b2ce916a96774a70e93ae5b06b6d3884171a040b9388bd4ec6d039640a812ba7bb0337f983da10bd7876bbf581086fffb609ccc23b3aee12efa4b0340183b97529cbe1c6d0f9425ffec2a19c4e4cd79a4e19adfae955e252feb3476035d631e9f478533b27356ccb27fb922396196d39f1c3c3cd3ba640eb2e65d7e76039728be4941f7771ccc66ae2112a581c6ea46ca4bec04b47d027ce7e5e1158ec30219ffff03c1db94be6e76446f21dc2a83ed376601f6f88bc6df7c4c75858dfe1a992efaa60308d5413e3a30ac721149a84a97585a713e41d9412650124efdd2719528b86d01036f2b80aa479c5ca9802ca90bf3a3bcb47e53b83f6b24dbb3963aea9ce28620b8034107b09d030b4de5850d369329692abf9e46af3eb87257e355effa031d3ecf3103f747cd819b67fe3740b882c3473066140eb78b7970b4a82647dbf994579120270366837ceceb6072918f4eaf7c2c45a7aba912ab0761cfc588e5325e8d51a8136d03c5e86de81a05b178a874e32ef8ca1cca7d6eac0b8aa842bd20fce320ab4f995f030a7c545321c56ac1d084151c3ec73d19b55d020e9cf7c1c45ac15b818149b39703dad370325e460d8108e08909f527666962fac48d60972d7de862dcb1af6bf0a90303a11a5da8539646736f1398dc8dc2555942d1c79a5bb6f271d149931a415340039cf267ab64111a30ac588bf72e45da9cbdff271259de4a4664bf524f84b1291b0364233ae43c6c06faaf3548d904fc3d4897c473a869ff656db643296841aa413a035e3cdc556ec8b1a652f45d6c09e07135826e0611d9f9d6a98db2036cc41cebd40219ffff031dc43c967546d240c14b5bbb4c589d21da42ad3a2ae350abe6df374c3bdbf7d903190010decd1351ab426935c1cf0d730f8014bd0d4f1395c02e57ca6996d65aca034402cfabb3f1cef1579165e42082fe196207f8c10f72c7dffdfbe7a6172a962a034be10ab6c150a5099d896354efbc5871bcf92cef413c67451ecba7ac8d68d94203e2f37f41b7ca8e69a12701cb9490231ed1624362851208a7b72bd509991d0028039f96962846ce4bf2cd29f1d2214bc3584697900fb75613c16cdd74cdf943166f03a6026a555dc95cb1338fe252d3dff15dfc9a1ffaf2fe179ba2cbc6d97228bad30326b35feebc1552685d57c216c8ce8e3f2211b158f2a4e46158f1decafc96f50c031747fa36f2dd6f5cb529596d52cfa0df8f38efbcf87df871fd8c9f4e20ea4426035db49085e5dfa22dfdd616ca7be9c15269e72b448df38200cfc7816d87b0e4b40348d80ff7d513259cb6f89aec5f5e783e313cde5c96d610ee8fa0147b3ce3e9b80308a3c5cbfd804c6f9c366a148813d4dd11ddaaf92587b4ce5cf43a840680e229034a992d1496d4ac9f79499bac80a745d690a6e67d3c2ad45bc323ca69118018f70219ffff033982baf2f50522e80a7b3d1c282bedfb8906071d569fac6862a0cb48286740ce034e1232fcb88f6de6be4ace419a68cfc62d90a843aa227946ea0c5a9f59e523cc034ccb6a335900fe6e7280c05c406ddd3dc9a010cf4b9577c64071d83126d030ad03d3922c5c17254d83694f713b7201237bd24e54dd36f20eb46e2943fc7a15b56003a85c6b90719992fe6057f90517584dd428fa6797ffa1c0974d5f89b0650c968003f876f581f76ceaab789825caa5662995005cc4768381e8cb0e1df061a02bb9d003e1e8401ae359ae90cffbc4cadf1e9957ae94d51e3df5c9a73ce3140dfa8b4f8c0338359ded6781f6c0bc95f38257b157ec889bedc97bba98b26fdce2ca727fcd0f0219ffff03a96bf98acae212bdc0f60e39271ec2f35c0b356e5e5c96d997d3cfdd27561ff303b85fb4d82e87f8052ca74748bdfa9facedb4a13bd75acc61effaa22e7a5477b4036c557412842e57f9c4ae9a895edf39aecff1d7d0a8c53e945e4d6167edddb1d003e0630833f7112433a49310ef4709391840e77704659a4f36de2134976b954d67033cb2c1d45bd9999a614e02b645cbb81c3b38ab31af6012b0ae34f1b4318fa2e703acb09baffacf5c7f36da9c1efee9ba368e53e2e0b5794469a4778120b4b2496f0303fe9f1a86dcf53106a51acfbd528affc36cf3e0a7eb460f1fbb2f4d7734d4dd034978492150341c1f9ff121f8819f2f080947ced925cd00c0741bcb17ec14dae00310d3838f10cc2f6efc2a5c3a24a7b51e223f299a7249dbe5d8eb0336e6ec5d2103d75af6f76cae885a23b4258cb3b2e73e2b5e6561c9e6fe4f538495901fea9dae03b6361a4a3ef4149b1fd51b991ab8a2b7f1c784107d7982c1677a95827ef0f67903a473ef48b45e2fa99b7eaf656244b107e8f7a8725f59a84a3e3e8fc3783cc36603239052cbe6a46ed6ad785e071a03bf55f0a08a4386b91c9f4277c9b4fb2e070f0383ad7d71594261016c3436561b6cc303237f411932b6c589b3cf743015e5e078035c825d694d8790eea37f34eba25baff93f5f4d01ead1b5299190a6415e60eebe035a75fc6a66f1d79053afeb3cd89e0ef67eb2dad40c610b3c6fbbf65b23fed166036148653e3a1b34d4f2ba4c0108019614116c2c81ff0baccbf6eabf413e8d2cf1035c7e1dbfbeac158146f60b6258d1cf89c9c86d78c27d306e463b8777d74159e203918d2003ca9530802ac4297d4f4f4059cc5f8eefbef5b2c3f1e1a75fb0da7ce80344c7f83de3767527b87808433cea440add1abdc21958ca3a6d8b5ad468cd47670346625c9abb4de3f10bc62e2bb79e2d4b121aace6d70d413d52088eedca8974e703df2234abb2bc67e8633ec6522e623f0cd75e0e624486b9ddc1d6bc6305a9b69a03230ffadd76935253f3c98dd6b74a21fcb6ffd603d010d71109446a4e2ff05c1303b55da95eeb8022ea9f764f6fb9511a82fe26f598c6a73ce36a3f6bd8f31e9be50355284229177eabc51491684a8f1f7d26cbbb0941a07f4fc45c095f58ea51a4ba0390bb17e624e25a0e2cead4a6788eb462122439f171438684b0f9e4137056cad50375a9a2e74df7f4250625a23044de8d3b5a0d5d46554c155839c509bb0f878f1e03dd4972a2ca580b027f6600f7f351bb097a44f3270a77aba938d377ebf95402f603f6c3ddb3f6a942c2f8e5042b7aa03cc975cd940076634f19d59f5509cb934b7e035bb4e28909d32411043ecf7cb2bea9cc537b2adea66afde6bb7a7252521f2a1d03472727fd2abdfd7b7d0522fac1482c24ab11b11a976d0abd8e68d63fc4bbb14e03207fb66c5f6affe897c7d9ed861ebd3feb852bd5f269e77184e22b571bb0128503a79825200ff898579cbdd0d42bb58df3c595311f0d6bb8a5e617d8c459b843b3031e066eaf7ecc8f473937f4023037227150234efa8adb67b9d26968f5b7fdd8d60376e70cec0559fa1a38946c7140d96bcb33bf0c0848fbb7f113211a526ce9dcdf03e5314bca4ea077809e8542a370f980459f673793f956f5273cd525f1288e4918035df371d9fa98784741ce87b2ad3ad4b506e2b8fb9e69c88f069d1849c39c2d9a039592041ba5f9e7e17a95f92c02e009c113ce73baf9f144bc0be681eb8b344ca9037662b51617aaa494a69654105b2f4339d787e2270a294a3c7720bf410c6c5b6b03657c9667cd4c4dc4c68aff1a515e6a0a35b4543bbe5aba1ad97fb53349662d950378047952d2008842519a15e756bba5f128b43977f9b70d273a12b0b33f3475c005581e0361ca3ab37370e999383754a427e9cbb499ef62199ddd8159a120c220c0040205581e03f36e6e211b104002f8aaf2d72fdc720433e5cf906298ad5c4dc9f53d900c014708d952ecf96c0005581d02904891f85119e942ba587da80b9e5cd27a7341d2c8444cf2c483786e0c19bcb0483408438a75babcc405581d021e01aaaf06ed39b3d5769854985240f2d0fe845d3d76d4ee9fa26274040e021902040365a171a68484e34a202e133a8f36edccd88f7b61c02e657522d8a6c536f820e605581e03aa683e486278b5435a79fd0ef67705225d3cf1162001ffdb849c2c7ae00c04464ff19e3f3c6805581e03cc1820b98285efea6cfe007ce81b4da4bd9e8625ff924b9c354c216f900401036f8e7b179163beb6e7be221ecc56e1b32e1862c0c8e65a8178890dee7625e62805581e03043571f01386f6a158211c34a25062042e49c70b164adc814d12914720084708664d80ba82b80219c87b03dc560377a7d58470fa47d28661a49479f0069b73d9baa4de33061f775044c9cf03f2145b18f926809d348de858949f37a13f3e0e640817b121076ec2e83cb6939303be00460d9aa041cb6b2ef05122d8fed24e7e68d232a4d40d6ff3aa86e738373b03d74f734c5b428663b2433480cc4f5bae365d9003acec404632fb916f6150930e03c2b0d0d21dbec9cacc093eebff6eb5d9caac249867952165174c7d31d79f51a40389732185edbed893a74de9e6a189ff0a1c89013144da5873bcd0b8f298fc2b730358f118652c93a1d1473c6dc99ca89f08eac2fecca378ebb496282341abb4ed6703d7a511575ecfa69f4fa822d0baf809dad9be14fcd50cac06b26e985b367a51220219ffff03d5d9d2db79ac183aefd66df21ede7ee86250b452445b6e3aa1b6a2ab442db40603e53552828f75e8bae7e8065e135c606cdbb736d04cecf6e0af1763bd4a945a57032d4cb3bf00dd0de94c0e0f3bba48175bf760d9a72b14d2d23159200f9ee6f5e7034762bdc009549f89daa7249569b2721e5c2c07112d0989ed61c1876ec61e2c6d035f333bf83956beb9154882e9ca95891bb3a2b8661e65c23be7f24446117923db038e992a6c770a20647cfb5a0fdc7a77ae10a8676188b9a18b343e9e6cdcc67e720324d713f83824eb06a5eea6b6d5df778e91d5dd9239b2982722499636a137712b030357051acc71c80c151a686aabcfcb568d87bd635b036f24d866846f25957fda0362c086af6920efff38f3eeafd0dad103bf87e94339b7a3459c2154d8fc3f85bf0219ffff03019e41c0984f181010b8aab74f88319a2ff6f699654b9c64f45971ec86c4aa950219ffff037a27355c1be40e1aa23fa2dbc6244312d852419d73cfe6c2eecaae7d503e2d790394d854bd8df4c9cb282100b7e21fd5019f7c94312e41234a7d2dff49c579acd4037bfe0c4084d843086e9282acdfcd6946d2829bd2e60686bf211583c3ac94a2e1037150db65c3ee5b5efd9c9adedb956fc315aabe293e294645bb8814c368c585ed03fbd2979986c6697b7e37289ba54c2907f108364aa55e2f4ef4b1537521fa36fb034c5e36b900a1e1c2a62d0df591a7d14c16701164dd9654755dd4fecf57635166034abe00cd3bcb2dda0dc2e9e9bba4788e2572c297363fac208914b1dbd6be2e9a033ee14d303475adcc0a49c955b8897e3acbcef6e8f570c2090758e28ff9edded60219ffff038d8c3cdd29ab08a26093442e7859a5cdc6cce1c6a315c90e0fe1297cca2c0bf90337bbdf871cd110ea11a1c69046d1af6c26c94bbadeee834c0bbe349d712e142a0219ffff03e78cbab8c801b528a16a71db904306e88d329d02acaef53a1c60fe1008f420b10328d729800f1f178643992fef5b01e8c87426c47efc733973325b14d2697c1665032ffd3afb9ad7f77130f15ec93d6493af96f42faf98103c8d7dcc9168b040e978037784ec79fdff0ecae589f2edba9d6d5d06882fafcc23c23524dfe10876a9f47703fb1cb142b2b75e310a9b7ceb775cd005af478d65afd099216dc84b1bec3ff78603bf9304b3c63dffcac293f3c423a20d754e842cccf9548cfdc8a14dba8864ebcc03fe3ec4c1da00f18de8cc0dadcb9a067a62fb116721bb40884624657cc55faaad03fd45cf5c9b54e058b05267e509f17a01959298987a8cc48ee8ee320b0f48345303549f3533c303b773c31196973479045edc2d4104617a3e40e8d4843aff033ca903a9dd42473dc2a04461505b505884a9cd7005db84b15b207a6647b09da30aa4e703840a1780a2eb1718544e577809fa319dab62516d9e3c9b22773ba59db81bbfb5039cc3c2a6f408e31e0651ebebfc7d5cc84c1cfb37362667c61b3c3ec81a55642003c7e2025fe4736de432a2b1e2870d98f0b7733cdeafdcd9e231c0efa71c856e0103a3e62675e2d61bf54b380c558127761d4f1ab76c2ad192d0a0c36c3b3c1c9a38030547398548c5c02fb10dfee8cd9dd7b52677308b6c050e22855396c76fbba685037c6f001ad55006533fed297f077c62346b004d9ffe9ebb8cc0f49e318db5499303cc30fd706a6467a3d1ebc03ba1062953e63dd50c0e506edf69bc7e09c64d6fe2033cb5d593b28382d496be9e389aa61d2fda25d5dc8ca33f15c4156898e47f7b0f03b9ac59af1d015529220489afa37a70147e1b4dd00fb36473b6d0b1ac0e76516f03d43bc0e30cfa0e89fec0b0d7011e155c34a2249dd3b6975950811feb5567081d0380dde92769abcf818ca7eb399ece5a72868e34b567030b20255f9571a8a8b9870320ab4b014b71839f151908be8ceb14489c144b063e15148c5387ed89478894b203299e87fa5695364244250d23a8d0248cbfe57ab45ef2ceda90d2022087e33f18039c1a0d0b920462f28f727e19c7e0044e5bfa560d3ca17dbcebc06608d18e8135035acfc2bac14413bd0e2e210e561df4ef00f19beff379536f3ec652ea8baa22d603993add5605371f8429f46b8272b4c67aa0a71e824db4f23b1acd248335c0982f05581d03a0c9cf1688de729324d71300dc9a0d65f9e69245464a6231dc6543900403045957886080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806301ffc9a7146101f4578063088890dc146101ef578063150b7a02146101ea578063192128b2146101e55780631f00ca74146101e057806323a69e751461016d57806324856bc3146101db5780632f100e4a146101d65780632f40e62a146101d15780633593564c146101cc5780633d0e3ec5146101c757806349df728c146101c25780634b31e26f146101bd5780634eeca823146101b857806350431ce4146101b3578063547988f9146101ae578063791ac947146101a9578063a0136443146101a4578063b6f9de951461019f578063bb7b9c761461019a578063bc197c8114610195578063d06ca61f14610190578063d1ef92491461018b578063e81dc5c114610186578063eb92db2714610181578063f23a6e611461017c578063f2fde38b14610177578063f9da581d14610172578063fa461e331461016d5763fb3bdb410361000e576116c5565b610895565b611690565b611663565b611609565b6114f6565b61149d565b611443565b61141c565b61138d565b611373565b611314565b61126f565b6111c2565b6110ec565b611083565b61101f565b610fbc565b610ed5565b610d01565b610bf1565b610b2c565b610b14565b6109ff565b61086e565b610815565b610745565b6103ef565b346102625760203660031901126102625760043563ffffffff60e01b811680910361026257602090630271189760e51b8114908115610251575b8115610240575b506040519015158152f35b6301ffc9a760e01b1490505f610235565b630a85bd0160e11b8114915061022e565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b6001600160401b03811161028d57604052565b610266565b606081019081106001600160401b0382111761028d57604052565b608081019081106001600160401b0382111761028d57604052565b60a081019081106001600160401b0382111761028d57604052565b90601f801991011681019081106001600160401b0382111761028d57604052565b6001600160401b03811161028d5760051b60200190565b6001600160a01b0381160361026257565b929161033782610304565b9161034560405193846102e3565b829481845260208094019160051b810192831161026257905b82821061036b5750505050565b83809183356103798161031b565b81520191019061035e565b9080601f830112156102625781602061039f9335910161032c565b90565b9060a06003198301126102625760043591602435906001600160401b038211610262576103d191600401610384565b906044356103de8161031b565b906064359060843561039f8161031b565b6104066103fb366103a2565b9294904211156116ef565b61041761041283612865565b61173b565b61043061042385611791565b516001600160a01b031690565b6001546001600160a01b03949161045091869081165b16951685146117d7565b833b15610262575f60049460405195868092630d0e30db60e41b825234905af193841561068957610500946106ff575b506001546104a490610498906001600160a01b031681565b6001600160a01b031690565b6104c66104b361042388611791565b6104bf610423896117a3565b90866128d5565b60405163a9059cbb60e01b81526001600160a01b0390911660048201523460248201526020959091869183919082905f9082906044820190565b03925af180156106895761051b915f916106d2575b50611843565b6105376104986104986104236105318951611872565b896117c3565b6040516370a0823160e01b8082526001600160a01b038516600483015292918690829060249082905afa9485156106895787915f966106ab575b5061057d918591612aab565b6105996104986104986104236105938a51611872565b8a6117c3565b6040518381526001600160a01b0385166004820152908690829060249082905afa908115610689576105d49186915f9161068e575b50612c17565b101594856105e6575b610018866118c0565b61063095509061060b610498610498610423856106058a989751611872565b906117c3565b6040519182526001600160a01b03909216600482015294859190829081906024820190565b03915afa80156106895761001893610650935f9261065c575b5050612c17565b1515905f8080806105dd565b61067b9250803d10610682575b61067381836102e3565b8101906118b1565b5f80610649565b503d610669565b611823565b6106a59150883d8a116106825761067381836102e3565b5f6105ce565b85919650916106c961057d93893d8b116106825761067381836102e3565b96915091610571565b6106f29150863d88116106f8575b6106ea81836102e3565b81019061182e565b5f610515565b503d6106e0565b8061070c6107129261027a565b80611079565b5f610480565b9181601f84011215610262578235916001600160401b038311610262576020838186019501011161026257565b346102625760803660031901126102625761076160043561031b565b61076c60243561031b565b6064356001600160401b0381116102625761078b903690600401610718565b5050604051630a85bd0160e11b8152602090f35b6060600319820112610262576004356107b78161031b565b9160243591604435906001600160401b0382116102625761039f91600401610384565b60209060206040818301928281528551809452019301915f5b828110610801575050505090565b8351855293810193928101926001016107f3565b346102625761083b61082f6108293661079f565b916119aa565b604051918291826107da565b0390f35b9060406003198301126102625760043591602435906001600160401b0382116102625761039f91600401610384565b346102625761083b61082f6108823661083f565b5f549091906001600160a01b03166119aa565b34610262576060366003190112610262576024356004356044356001600160401b038111610262576108cb903690600401610718565b925f8313938415806109c5575b6109b357826108ec9161090c94019061280f565b6001600160a01b0390811692610901836143e2565b818398929a93614430565b83339116036109a157156109935750808616908416105b156109355750610018935033916144d1565b9150916042825110155f1461096957610018935061095282614559565b61096461095f33926145f6565b612855565b614605565b919290506009548211610981576100189233916144d1565b6040516339cedf2960e11b8152600490fd5b945080841690861610610923565b6040516332b13d9160e01b8152600490fd5b60405163316cf0eb60e01b8152600490fd5b505f8213156108d8565b9181601f84011215610262578235916001600160401b038311610262576020808501948460051b01011161026257565b604080600319360112610262576001600160401b036004803582811161026257610a2c9036908301610718565b93909260243590811161026257610a4690369084016109cf565b946001956001600c5403610b03576002600c55818103610aef575f5b828110610a73576100186001600c55565b610a8f610a8182858a611abd565b356001600160f81b03191690565b610aad610aa7610aa0848689611ac9565b3691611b25565b826133b7565b159081610ae0575b50610ac1578701610a62565b8451632c4029e960e01b8152908190610adc90828901611b7f565b0390fd5b600160ff1b161590505f610ab5565b6040516001621398b960e31b031981528590fd5b6040516337affdbf60e11b81528590fd5b61083b61082f610b23366103a2565b93929092611bad565b60e036600319011261026257600435610b448161031b565b6001600160401b039060243582811161026257610b65903690600401610384565b91604435908111610262573660238201121561026257806004013592610b8a84610304565b91610b9860405193846102e3565b8483526020946024602085019160051b8301019136831161026257602401905b828210610bd65761001860c43560a43560843560643589898c611d9f565b813562ffffff81168103610262578152908601908601610bb8565b60603660031901126102625760046001600160401b03813581811161026257610c1d9036908401610718565b92909160243590811161026257610c3790369083016109cf565b936044354211610cf0576001946001600c5403610cdf576002600c55818103610ccb575f5b828110610c6d576100186001600c55565b610c7b610a81828589611abd565b610c8c610aa7610aa0848689611ac9565b159081610cbc575b50610ca0578601610c5c565b604051632c4029e960e01b8152908190610adc90828801611b7f565b600160ff1b161590505f610c94565b6040516001621398b960e31b031981528490fd5b6040516337affdbf60e11b81528490fd5b604051632dfb7c8b60e11b81528390fd5b346102625760c0366003190112610262576044356001600160401b03811161026257610d34610e009136906004016109cf565b6064359291610d428461031b565b610dfa60a43591610d528361031b565b610d604260843510156116ef565b610d6c61041284612865565b610db0610d8a610d85610d7e87611872565b8785611f31565b611f41565b600154610d9f906001600160a01b0316610498565b6001600160a01b03909116146117d7565b610df1610dc0610d858684611f19565b610dcd610d858785611f19565b90610de960043592610de2610d858a88611f22565b90886128d5565b9033906140f5565b3093369161032c565b90612aab565b600154610e1790610498906001600160a01b031681565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92610eb4575b5060243582101580610eab575b610e59906118c0565b823b1561026257604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af19283156106895761001893610e98575b5061376c565b8061070c610ea59261027a565b5f610e92565b50811515610e50565b610ece91925060203d6020116106825761067381836102e3565b905f610e43565b346102625760208060031936011261026257600435610ef38161031b565b610efb6141d1565b6040516370a0823160e01b81523060048201526001600160a01b0391909116908281602481855afa908115610689575f928492610f6f928591610f95575b50610f45811515611f4b565b60405163a9059cbb60e01b8152336004820152602481019190915293849283919082906044820190565b03925af1801561068957610f7f57005b8161001892903d106106f8576106ea81836102e3565b610fac9150843d86116106825761067381836102e3565b5f610f39565b8015150361026257565b60c036600319011261026257600435610fd481610fb2565b602435906001600160401b03821161026257610ff76100189236906004016109cf565b916064359061100582610fb2565b60a435936110128561031b565b6084359360443592611f8f565b60c0366003190112610262576044356001600160401b0381116102625761082f61105061083b923690600401610384565b6064359061105d8261031b565b60a4359161106a8361031b565b6084359160243560043561234b565b5f91031261026257565b34610262575f3660031901126102625761109b6141d1565b4780156110b1575f808080933382f11561068957005b60405162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20776974686472617760681b6044820152606490fd5b6080366003190112610262576001600160401b0360048035828111610262576111189036908301610718565b926024359081116102625761113090369084016109cf565b9290606435936044354211610cf05761114b85341015611e99565b6001956001600c5403610cdf576002600c55808203610ccb575f5b818110611180576100188761117b6001600c55565b614044565b61118e610a81828489611abd565b61119f610aa7610aa0848789611ac9565b1590816111b3575b50610ca0578701611166565b600160ff1b161590505f6111a7565b346102625760a0366003190112610262576044356001600160401b038111610262576111f5610e009136906004016109cf565b60643592916112038461031b565b610dfa42608435101591611216836116ef565b610db060018060a01b0361122d815f5416956116ef565b61123961041286612865565b61124f610d8561124888611872565b8886611f31565b600154909190611267906001600160a01b0316610498565b9116146117d7565b60a03660031901126102625760043561128781610fb2565b602435906001600160401b038211610262576112aa6100189236906004016109cf565b91606435906112b882610fb2565b5f546001600160a01b0316936084359360443592611f8f565b9060806003198301126102625760043591602435906001600160401b0382116102625761130091600401610384565b9060443561130d8161031b565b9060643590565b61131d366112d1565b9291924211159061132d826116ef565b5f546001600160a01b039390841692611345906116ef565b61135161041284612865565b61045061136061042387611791565b60015486906001600160a01b0316610446565b346102625761083b61082f6113873661079f565b916123d3565b346102625760a0366003190112610262576113a960043561031b565b6113b460243561031b565b6001600160401b03604435818111610262576113d49036906004016109cf565b5050606435818111610262576113ee9036906004016109cf565b505060843590811161026257611408903690600401610718565b505060405163bc197c8160e01b8152602090f35b346102625761083b61082f6114303661083f565b5f549091906001600160a01b03166123d3565b60c0366003190112610262576004356001600160401b038111610262576114716100189136906004016109cf565b906044359161147f83610fb2565b60a4359261148c8461031b565b6084359260643592602435916124d1565b60a0366003190112610262576004356001600160401b038111610262576114cb6100189136906004016109cf565b90604435916114d983610fb2565b5f546001600160a01b0316926084359260643592602435916124d1565b34610262576020366003190112610262576004356001600160401b0380821691828103610262575f805160206157338339815191528054928460ff8560401c169182156115fc575b50506115ea577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2936115e5936001600160401b0319161790556115a55f805160206157338339815191526801000000000000000068ff000000000000000019825416179055565b6115ad61264d565b5f80516020615733833981519152805468ff0000000000000000191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b851610159050845f61153e565b346102625760a03660031901126102625761162560043561031b565b61163060243561031b565b6084356001600160401b0381116102625761164f903690600401610718565b505060405163f23a6e6160e01b8152602090f35b34610262576020366003190112610262576100186004356116838161031b565b61168b6141d1565b61278b565b5f366003190112610262576116a36141d1565b5f34156116bc575b5f8080809334904190f11561068957005b506108fc6116ab565b6100186116d1366112d1565b916116de428410156116ef565b5f546001600160a01b031693611bad565b156116f657565b60405162461bcd60e51b815260206004820152601860248201527f556e69737761705632526f757465723a204558504952454400000000000000006044820152606490fd5b1561174257565b60405162461bcd60e51b8152602060048201526013602482015272556e737570706f7274656420466163746f727960681b6044820152606490fd5b634e487b7160e01b5f52603260045260245ffd5b80511561179e5760200190565b61177d565b80516001101561179e5760400190565b80516002101561179e5760600190565b805182101561179e5760209160051b010190565b156117de57565b60405162461bcd60e51b815260206004820152601d60248201527f556e69737761705632526f757465723a20494e56414c49445f504154480000006044820152606490fd5b6040513d5f823e3d90fd5b90816020910312610262575161039f81610fb2565b1561184a57565b634e487b7160e01b5f52600160045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161188057565b61185e565b60011981019190821161188057565b9061271091820391821161188057565b9190820391821161188057565b90816020910312610262575190565b156118c757565b60405162461bcd60e51b815260206004820152602b60248201527f556e69737761705632526f757465723a20494e53554646494349454e545f4f5560448201526a1514155517d05353d5539560aa1b6064820152608490fd5b1561192757565b60405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a20494e56414c49445f5041544800006044820152606490fd5b9061197682610304565b61198360405191826102e3565b8281528092611994601f1991610304565b0190602036910137565b8015611880575f190190565b929190926119bc600283511015611920565b6119c6825161196c565b936119da6119d48651611872565b866117c3565b526119e481612c24565b906119ef8351611872565b805b6119fb5750505050565b80611a29611a15610423611a0f8795611872565b886117c3565b611a2261042384896117c3565b9085612d0d565b50909391905f9083611a9757505090611a7f91611a9194611a6c611a58610423611a5288611872565b8c6117c3565b611a65610423888d6117c3565b90896128d5565b915b611a78868d6117c3565b5188612f41565b611a8b61053183611872565b5261199e565b806119f1565b809194959350611ab3575b50611a919392611a7f928792611a6e565b9550611a91611aa2565b9082101561179e570190565b919081101561179e5760051b81013590601e19813603018212156102625701908135916001600160401b038311610262576020018236038113610262579190565b6001600160401b03811161028d57601f01601f191660200190565b929192611b3182611b0a565b91611b3f60405193846102e3565b829481845281830111610262578281602093845f960137010152565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b60609181526040602082015281518060408301528060808484015e5f828201840152601f01601f1916010190565b92611bba904211156116ef565b611bc661041285612865565b611bf881611bd661042382611791565b6001546001600160a01b039081169691611bf2911687146117d7565b866119aa565b93611c0e611c0586611791565b51341015611d43565b611c1785611791565b5193803b15610262575f90600460405180978193630d0e30db60e41b83525af193841561068957611cc394611d30575b50600154602090611c6290610498906001600160a01b031681565b611c84611c7161042386611791565b611c7d610423876117a3565b90856128d5565b90611c8e88611791565b5160405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909586919082905f9082906044820190565b03925af190811561068957611ce38692611ce8965f91611d175750611843565b613617565b611cf181611791565b513411611cfb5790565b61039f611d11611d0a83611791565b51346118a4565b3361376c565b6106f2915060203d6020116106f8576106ea81836102e3565b8061070c611d3d9261027a565b5f611c47565b15611d4a57565b60405162461bcd60e51b815260206004820152602760248201527f556e69737761705632526f757465723a204558434553534956455f494e50555460448201526617d05353d5539560ca1b6064820152608490fd5b91909395944211611e87576001600c5403611e75576002600c55611dc585341015611e99565b8351815190600182018092116118805703611e405783611dff93611e1897611ded88346118a4565b91611df883306137e3565b30956139d8565b611e0833613df5565b6003815114611e24575b50614044565b611e226001600c55565b565b611e3a90611e3561042333926117a3565b613f2c565b5f611e12565b60405162461bcd60e51b815260206004820152600d60248201526c1a5b9d985b1a59081a5b9c1d5d609a1b6044820152606490fd5b6040516337affdbf60e11b8152600490fd5b604051632dfb7c8b60e11b8152600490fd5b15611ea057565b60405162461bcd60e51b815260206004820152602160248201527f5469702063616e277420626520626967676572207468616e2074782076616c756044820152606560f81b6064820152608490fd5b906001820180921161188057565b906002820180921161188057565b906064820180921161188057565b901561179e5790565b906001101561179e5760200190565b919081101561179e5760051b0190565b3561039f8161031b565b15611f5257565b60405162461bcd60e51b81526020600482015260156024820152744e6f20746f6b656e7320746f20776974686472617760581b6044820152606490fd5b9293949091611fa085341015611e99565b8434039234841161188057611fb691369161032c565b9215611fdd575093611fd791611e2295611fcf42611f0b565b913391612160565b506140a0565b9490916064420180421161188057611ff7904211156116ef565b61200361041283612865565b6120358161201361042382611791565b6001546001600160a01b03908116999161202f91168a146117d7565b846119aa565b9161204b8461204385611791565b511115611d43565b61205483611791565b5196803b15610262575f906004604051809a8193630d0e30db60e41b83525af1968715610689576120ed9761214d575b5060015460209061209f90610498906001600160a01b031681565b6120ae611c7161042386611791565b906120b886611791565b5160405163a9059cbb60e01b81526001600160a01b0390931660048401526024830152909889919082905f9082906044820190565b03925af19182156106895761210f61211793611e22995f91611d175750611843565b833392613617565b61212081611791565b51821161212f575b50506140a0565b6121469161213f611d1192611791565b51906118a4565b5f80612128565b8061070c61215a9261027a565b5f612084565b93919092612170904211156116ef565b61217c61041283612865565b6121ae8361218c61042382611791565b6001546001600160a01b0390811697916121a8911688146117d7565b846123d3565b936121bc6119d48651611872565b506121db6121d36121cd8751611872565b876117c3565b5115156118c0565b6121e485611791565b5190803b15610262575f90600460405180948193630d0e30db60e41b83525af1801561068957612338575b5060015461222790610498906001600160a01b031681565b90612237611c7161042386611791565b9361224186611791565b5160405163a9059cbb60e01b81526001600160a01b039690961660048701526024860152602094928590849060449082905f905af1801561068957610498610423836122a8866122b2968c6122df9b611ce3610498998f9d8e5f9261231b575b5050611843565b6106058151611872565b6040516370a0823160e01b81526001600160a01b0390921660048301529092839190829081906024820190565b03915afa9081156106895761039f925f926122fe575b505015156118c0565b6123149250803d106106825761067381836102e3565b5f806122f5565b6123319250803d106106f8576106ea81836102e3565b5f8e6122a1565b8061070c6123459261027a565b5f61220f565b909492919361235c904211156116ef565b61236861041284612865565b6123988461237861042382611791565b6001546001600160a01b0394916123929186908116610446565b856123d3565b946123a66121cd8751611872565b511015806123b8575b6121db906118c0565b506121db6123c96121cd8751611872565b51151590506123af565b929190926123e5600283511015611920565b6123ef825161196c565b936123f985611791565b5261240381612c24565b915f5b6124108251611872565b8110156124cb578061243f6124296104238794866117c3565b6124386104236121cd85611eef565b9086612d0d565b50909391905f90836124a75750509061249491600194612481612465610423878a6117c3565b61247a61042361247489611eef565b8b6117c3565b908a6128d5565b915b61248d868d6117c3565b51896142bf565b6124a061053183611eef565b5201612406565b8091949593506124c2575b5060019392612494928892612483565b965060016124b2565b50505050565b969594939291906124e482341015611e99565b81340390348211611880576124fa36828b61032c565b94612509600287511015611920565b612513865161196c565b95816125226105318951611872565b5261252c89612c24565b906125378151611872565b90818315925b612576575050505050612570611e2298998361256661255f6105938a51611872565b5198611791565b511192369161032c565b9161421c565b806125e285858f948e6125f4966125a9612595610423611a5286611872565b6125a2610423868d6117c3565b9083612d0d565b50509390928d856125ba8d51611872565b84149182612642575b5050612629575b5f956125fa575b906125db916117c3565b5190612f41565b611a8b6125ee83611872565b8d6117c3565b8061253d565b9450806126208b611c7d6104238461261a6104236119d46125db99611872565b936117c3565b959091506125d1565b61263285611872565b61263c83836117c3565b526125ca565b10159050858f6125c3565b73bdeb498e872e36f899f237fd1b93673ed6c14474330361275a57612670615060565b612678615060565b6126813361278b565b612689615060565b6001600160601b0360a01b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f815f5416175f5573c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2808260015416176001556126d7615060565b6e22d473030f116ddee9f6b43ac78ba3826003541617600355816002541617600255731f98431c8ad98523631ae4a59f267346ea31f9848160045416176004557fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b546005556006541660065561274a614379565b612752614389565b611e226143d3565b60405162461bcd60e51b81526020600482015260096024820152682737ba1027bbb732b960b91b6044820152606490fd5b6001600160a01b039081169081156127f7577f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91906040838203126102625782356001600160401b03811161026257830181601f8201121561026257602091818361284993359101611b25565b92013561039f8161031b565b600160ff1b8114611880575f0390565b60018060a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81149081156128cc575b81156128c3575b81156128ba575b81156128b1575b816128aa575090565b9050151590565b801591506128a1565b8015915061289a565b80159150612893565b8015915061288c565b916128df9161471a565b6128ea839293612c24565b6129a65761039f9261293c61294a612907610498610498876147e1565b93604051928391602083019586906029926001600160601b0319809260601b16835260601b1660148201525f60288201520190565b03601f1981018352826102e3565b51902090916043916055936040519260388401526f5af43d82803e903d91602b57fd5bf3ff60248401526014830152733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c8201206078820152012090565b906129e3612a4b61039f9461049894604051938491602083019384906028926001600160601b0319809260601b16835260601b1660148201520190565b03926129f7601f19948581018352826102e3565b51902091612a04846147e1565b6040516001600160f81b03196020820190815260609690961b6bffffffffffffffffffffffff191660218201526035810194909452605584015260759081018352826102e3565b5190206001600160a01b031690565b604051602081018181106001600160401b0382111761028d576040525f8152905f368137565b909260809261039f95948352602083015260018060a01b031660408201528160608201520190611b5b565b9092915f5b612aba8551611872565b811015612c1057612ace61042382876117c3565b90612ade610423611a0f83611eef565b91612ae9838261471a565b5092612af68183886128d5565b8094612b0383858a612d0d565b50604080516370a0823160e01b81526001600160a01b03968716600480830191909152919891969491851693909260209290918385602481895afa918215610689578f612b608f9483908b99612b66995f9261065c575050612c17565b906142bf565b931603612c08578a5f92945b612b7c8251611885565b881015612bff57612b96610423612b9d936106058b611efd565b908b6128d5565b965b1691612ba9612a5a565b90833b1561026257612bd25f9692879351998a978896879563022c0d9f60e01b87528601612a80565b03925af191821561068957600192612bec575b5001612ab0565b8061070c612bf99261027a565b5f612be5565b50508796612b9f565b8a5f94612b72565b5050509050565b9081039081116118805790565b5f906001600160a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8103612c525750506126f290565b61039f57505f90565b51906001600160701b038216820361026257565b9081606091031261026257612c8381612c5b565b916040612c9260208401612c5b565b92015163ffffffff811681036102625790565b519061ffff8216820361026257565b919082608091031261026257612cc982612c5b565b91612cd660208201612c5b565b9161039f6060612ce860408501612ca5565b9301612ca5565b8115612cf9570490565b634e487b7160e01b5f52601260045260245ffd5b9091612d19818461471a565b5091612d2481612c24565b60018103612dfd5750612d42610498610498600494876080956128d5565b604051630240bc6b60e21b815292839182905afa908115610689575f935f80925f94612dbb575b50600a612d9691612d8e8261ffff80936001600160701b038091169b16971604611894565b951604611894565b92935b6001600160a01b03918216911603612db5579291905b90919293565b91612daf565b9050612d969550600a9350612de991925060803d608011612df6575b612de181836102e3565b810190612cb4565b9296509193919291612d69565b503d612dd7565b91612e1461049861049860609388600499966128d5565b604051630240bc6b60e21b815295869182905afa8015610689575f945f91612e4d575b506001600160701b038091169416908293612d99565b9050612e7291945060603d606011612e7c575b612e6a81836102e3565b810190612c6f565b509390935f612e37565b503d612e60565b15612e8a57565b60405162461bcd60e51b815260206004820152602c60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4f60448201526b155514155517d05353d5539560a21b6064820152608490fd5b15612eeb57565b60405162461bcd60e51b815260206004820152602860248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4c604482015267495155494449545960c01b6064820152608490fd5b909394612f4f851515612e83565b82151580613023575b612f6190612ee4565b80613005575060405163cc56b2c560e01b81526001600160a01b0395861660048201525f60248201529460209186916044918391165afa90811561068957612fd684612fd0612fcb612fe197612fc5612fdb9761039f9b5f91612fe6575b50611894565b95614888565b61482d565b94612c17565b614888565b90612cef565b6148c4565b612fff915060203d6020116106825761067381836102e3565b5f612fbf565b905061039f9450612fd684612fd0612fcb612fe197612fdb96614888565b50831515612f58565b5190611e228261031b565b9080601f830112156102625781519060209161305281610304565b9361306060405195866102e3565b81855260208086019260051b82010192831161026257602001905b828210613089575050505090565b83809183516130978161031b565b81520191019061307b565b9080601f83011215610262578151906020916130bd81610304565b936130cb60405195866102e3565b81855260208086019260051b82010192831161026257602001905b8282106130f4575050505090565b815181529083019083016130e6565b919060a083820312610262578251926020810151926040820151926001600160401b0393848111610262578161313a918501613037565b936060840151908111610262576080916131559185016130a2565b92015161039f8161031b565b608081830312610262578051926020820151926001600160401b03938481116102625781613190918501613037565b936040840151908111610262576060916131559185016130a2565b919082604091031261026257602082516131c48161031b565b92015190565b519065ffffffffffff8216820361026257565b81601f82011215610262578051906131f482611b0a565b9261320260405194856102e3565b8284526020838301011161026257815f9260208093018386015e8301015290565b91909180830360e081126102625760c081126102625760806040519161324883610292565b1261026257604051613259816102ad565b82516132648161031b565b815260208301516132748161031b565b6020820152613285604084016131ca565b6040820152613296606084016131ca565b606082015281526132a96080830161302c565b602082015260a082015160408201529260c08201516001600160401b0381116102625761039f92016131dd565b604061039f94936101009360018060a01b038091168452815181815116602086015281602082015116848601526060848201519165ffffffffffff80931682880152015116608085015260208201511660a0840152015160c08201528160e08201520190611b5b565b908160609103126102625780516133558161031b565b91604060208301516131c48161031b565b919060a08382031261026257825161337d8161031b565b9260208101519260408201519260608301516001600160401b038111610262576080916133ab9185016131dd565b92015161039f81610fb2565b600192919060f81c601f16601081106133ce575050565b60088110156134a5578061341e57506133f381602080611e2294518301019101613366565b909290156134145761340f33945b6001600160a01b0316614d5f565b614f0c565b61340f3094613401565b60018103613467575061343d81602080611e2294518301019101613366565b9092901561345d5761345833946001600160a01b0316614d5f565b614d83565b6134583094613401565b600414613472575b50565b61348881602080611e229451830101910161333f565b91906001600160a01b039061349e908216614d5f565b9116613faf565b600a81036135235750806020806134c193518301019101613223565b6003549091906134d9906001600160a01b0316610498565b91823b1561026257613505925f92836040518096819582946302b67b5760e41b845233600485016132d6565b03925af18015610689576135165750565b8061070c611e229261027a565b600b810361355a575061355561354582602080611e22955183010191016131ab565b91906001600160a01b0316614d5f565b6137e3565b600c8103613581575061357c61354582602080611e22955183010191016131ab565b613eb4565b600d81036135b357506135a081602080611e2294518301019101613161565b6001600160a01b03169290919034614c2c565b600e81036135e557506135d28160208061346f94518301019101613161565b6001600160a01b03169290919034614ae6565b600f146135ef5750565b61360581602080611e2294518301019101613103565b6001600160a01b031693909290614965565b90919392935f5b6136288251611872565b8110156137355761363c61042382846117c3565b9061365261042361364c83611eef565b856117c3565b9161365d838261471a565b509061366b611a0f84611eef565b51916001600160a01b03828116911603613725576136be6104986104985f94965b6136968951611885565b87101561371e576136b66136af610423611a528a611efd565b828c6128d5565b945b8a6128d5565b6136c6612a5a565b94813b15610262575f80946136f16040519889968795869463022c0d9f60e01b865260048601612a80565b03925af19182156106895760019261370b575b500161361e565b8061070c6137189261027a565b5f613704565b8c946136b8565b6136be6104986104985f9661368c565b505050509050565b3d15613767573d9061374e82611b0a565b9161375c60405193846102e3565b82523d5f602084013e565b606090565b5f918291613778612a5a565b91602083519301915af161378a61373d565b501561379257565b60405162461bcd60e51b815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201526213115160ea1b6064820152608490fd5b90600160ff1b81036138cb575047905b816137fc575050565b600254613811906001600160a01b0316610498565b803b15610262575f8391600460405180968193630d0e30db60e41b83525af19182156106895761388f936020936138b8575b50600254613859906001600160a01b0316610498565b60405163a9059cbb60e01b81526001600160a01b03909216600483015260248201929092529283919082905f9082906044820190565b03925af18015610689576138a05750565b61346f9060203d6020116106f8576106ea81836102e3565b8061070c6138c59261027a565b5f613843565b90478211156137f3575b604051631a84bc4160e21b8152600490fd5b9360429592916001600160601b03199485809260601b16875262ffffff60e81b809460e81b16601488015260601b16601786015260e81b16602b84015260601b16602e8201520190565b6001600160a01b039081165f19019190821161188057565b6001600160a01b039081166001019190821161188057565b90613979602091949394604084526040840190611b5b565b6001600160a01b03909416910152565b9190826040910312610262576020825192015190565b6001600160a01b039182168152911515602083015260408201929092529116606082015260a06080820181905261039f92910190611b5b565b93959491926139e690600955565b613a636139fb6104986104986104238a611791565b91613a32613a0b6104238a611791565b613a176104238b6117a3565b613a2c613a2388611791565b5162ffffff1690565b91614430565b604080516370a0823160e01b81526001600160a01b0390921660048301529360209384918391829081906024820190565b03915afa801561068957600a915f91613dd8575b50048110613b70575b613a97575b50505050505050611e22600854600955565b613b139660018451145f14613b1f57613b0d9281613ad2610423613acc613a23613ac661042361293c986117a3565b99611791565b92611791565b915195869485019192602b936001600160601b0319809360601b16845262ffffff60e81b9060e81b16601484015260601b1660178201520190565b91614e1b565b5f808080808080613a85565b613b0d9281613b3361042361293c946117b3565b95613b40613a23826117a3565b613b64610423613b5e613a23613b58610423886117a3565b95611791565b94611791565b935197889687016138e7565b8351600103613d7f57878784613b8861042384611791565b613be3613b97613a238a611791565b9161293c613ba7610423886117a3565b85519485938b85019192602b936001600160601b0319809360601b16845262ffffff60e81b9060e81b16601484015260601b1660178201520190565b613c31610498610498613bf8610423886117a3565b613c076104986104238a611791565b6001600160a01b0390911610968b613a2c613a23613acc610423613c2b8187611791565b956117a3565b845f8c613c94613c4361095f8b6145f6565b95848414613d5a57600a54613c78908d9061293c90613c6a906001600160a01b0316613949565b9b5b8b519485938401613961565b8751630251596160e31b8152988997889687956004870161399f565b03925af191825f925f94613d25575b50613ceb57505050848103613a8057825162461bcd60e51b8152602060048201526012602482015271151bdbc81b5d58da081c995c5d595cdd195960721b6044820152606490fd5b15613d165750613cfa90612855565b03613d05575f613a80565b8151636a70124760e11b8152600490fd5b613d209150612855565b613cfa565b909350613d49919250863d8811613d53575b613d4181836102e3565b810190613989565b919091925f613ca3565b503d613d37565b600b54613c78908d9061293c90613d79906001600160a01b0316613931565b9b613c6c565b878784613d8e61042384611791565b613dd3613d9d613a238a611791565b9161293c613dad610423886117a3565b613db9613a238d6117a3565b613dc56104238a6117b3565b9187519687958d87016138e7565b613be3565b613def9150843d86116106825761067381836102e3565b5f613a77565b600254613e0a906001600160a01b0316610498565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92613e93575b5081613e4157505050565b823b1561026257604051632e1a7d4d60e01b815260048101839052925f908490602490829084905af192831561068957611e2293613e80575b50614fa7565b8061070c613e8d9261027a565b5f613e7a565b613ead91925060203d6020116106825761067381836102e3565b905f613e36565b600254909190613ecc906001600160a01b0316610498565b6040516370a0823160e01b815230600482015290929091602083602481875afa928315610689575f93613f0b575b5082106138d55781613e4157505050565b613f2591935060203d6020116106825761067381836102e3565b915f613efa565b6001600160a01b031680613f4e57504780613f45575050565b611e2291614fa7565b6040516370a0823160e01b81523060048201529091602082602481865afa918215610689575f92613f8e575b5081613f8557505050565b611e2292614ff1565b613fa891925060203d6020116106825761067381836102e3565b905f613f7a565b9091906001600160a01b031680613fd25750479081106138d55780613f45575050565b6040516370a0823160e01b815230600482015290929091602083602481875afa928315610689575f93614023575b5082106140115781613f8557505050565b604051630ceb95c760e31b8152600490fd5b61403d91935060203d6020116106825761067381836102e3565b915f614000565b80614078575b504780158015614058575050565b5f8080938193829061406f575b3390f11561068957565b506108fc614065565b5f8091614083612a5a565b90602082519201904161c350f15061409961373d565b505f61404a565b90816140b6575b50504780158015614058575050565b5f806140e6936140c4612a5a565b90602082519201904161c350f16140d961373d565b5081156140ed5750611843565b5f806140a7565b90505f610515565b90915f80949381946040519160208301946323b872dd60e01b865260018060a01b038092166024850152166044830152606482015260648152614137816102c8565b51925af161414361373d565b816141a2575b501561415157565b60405162461bcd60e51b8152602060048201526024808201527f5472616e7366657248656c7065723a205452414e534645525f46524f4d5f46416044820152631253115160e21b6064820152608490fd5b80518015925082156141b7575b50505f614149565b6141ca925060208091830101910161182e565b5f806141af565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316330361420457565b60405163118cdaa760e01b8152336004820152602490fd5b9294909593955f14614244575091611e229591611fd79361423c42611f0b565b92339261234b565b959192506064420180421161188057611ff7904211156116ef565b1561426657565b60405162461bcd60e51b815260206004820152602b60248201527f556e697377617056324c6962726172793a20494e53554646494349454e545f4960448201526a1394155517d05353d5539560aa1b6064820152608490fd5b93909291936142cf84151561425f565b84151580614370575b6142e190612ee4565b856143585760405163cc56b2c560e01b81526001600160a01b0392831660048201525f6024820152955060209186916044918391165afa9182156106895761434d61434661435392614340612fdb9661039f995f91612fe65750611894565b90614888565b9283614888565b9361482d565b614915565b505061435361434d61434661039f96612fdb95614888565b508215156142d8565b614381615060565b612710600755565b614391615060565b5f198060085560095573fffd8963efd1fc6a506488495d951d5263988d266001600160601b0360a01b6401000276a381600a541617600a55600b541617600b55565b6143db615060565b6001600c55565b9081516143ef818461508e565b926017821061441e57602b6017820151921061440c57602b015191565b60405163a78aa27f60e01b8152600490fd5b604051636c84b51f60e11b8152600490fd5b6001600160a01b039291838116848316116144cb575b62ffffff846004541693856040519381602086019616865216604084015216606082015260608152614477816102ad565b5190206005546040516001600160f81b03196020820190815260609490941b6bffffffffffffffffffffffff19166021820152603581019290925260558201526144c4816075810161293c565b5190201690565b90614446565b6001600160a01b0393929184163081036144f05750611e22935061509d565b848492941161454757846003541693843b15610262575f94868692816084966040519a8b998a98631b63c28b60e11b8a5260048a01521660248801521660448601521660648401525af18015610689576135165750565b60405163c4bd89a960e01b8152600490fd5b8051601619808201929190818411611880578360088301106145e457601782106145e457818351106145d257601782146145c057601f8416801560051b0183019182010160178201915b8181106145b05750505052565b82518152602092830192016145a3565b60405163664a531d60e11b8152600490fd5b604051633b99b53d60e01b8152600490fd5b6040516323d5783d60e11b8152600490fd5b600160ff1b8110156102625790565b61049892936104985f60409461468c61463c6146208a6143e2565b6001600160a01b03808416908316109b8c989093909290614430565b948484146146c457600a546146709061465d906001600160a01b0316613949565b9a5b61293c8a5193849260208401613961565b8751630251596160e31b8152998a97889687956004870161399f565b03925af18015610689575f925f916146a357509192565b90506146bf91925060403d604011613d5357613d4181836102e3565b919092565b600b54614670906146dd906001600160a01b0316613931565b9a61465f565b61049892936104985f60409461468c61463c6146fe8a6143e2565b6001600160a01b03808316908416109b8c989093909290614430565b90916001600160a01b039182841683821680821461478e57101561478957925b9183161561474457565b60405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606490fd5b61473a565b60405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b6064820152608490fd5b5f906001600160a01b0316735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f8103612c525750507f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f90565b9061271091828102928184048114821517156118805783040361484c57565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b6044820152606490fd5b5f9291801591821561489e575b50501561484c57565b80820294509150811582850482141715611880576148bc9084612cef565b145f80614895565b9060018201918281116118805782106148d957565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b6044820152606490fd5b91908201918281116118805782106148d957565b1561493057565b60405162461bcd60e51b815260206004820152600d60248201526c139bdd081cdd5c1c1bdc9d1959609a1b6044820152606490fd5b909392916149c1816149e4946149bc60018060a01b0361498a81600654161515614929565b61499a6104236119d48651611872565b6002549091906149b490610498906001600160a01b031681565b911614614a5d565b615186565b6149dd836149d161042385611791565b610de961042385611791565b3092615436565b506002546149fa906001600160a01b0316610498565b6040516370a0823160e01b815230600482015290602090829060249082905afa801561068957611e2293614a37925f92614a3c575b501115614a9a565b613df5565b614a5691925060203d6020116106825761067381836102e3565b905f614a2f565b15614a6457565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420496e7075747360901b6044820152606490fd5b15614aa157565b60405162461bcd60e51b815260206004820152601a60248201527f494e53554646494349454e545f4f55545055545f414d4f554e540000000000006044820152606490fd5b92919360018060a01b0390614b0082600654161515614929565b85511561179e57614b3986614b86956149bc614b7f95602084015116614b3361049861049860025460018060a01b031690565b14614a5d565b95614b45848289615599565b96614b5b87614b538a611791565b511115614baa565b614b7a614b6a61042383611791565b614b738a611791565b51906137e3565b6152c3565b1015614bef565b614b8f82611791565b518111614b9a575090565b611d1161039f9161213f84611791565b15614bb157565b60405162461bcd60e51b8152602060048201526016602482015275115610d154d4d2559157d25394155517d05353d5539560521b6044820152606490fd5b15614bf657565b60405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d3d55514155560921b6044820152606490fd5b93909282614c59916149bc60018060a01b03614c4d81600654161515614929565b61499a61042385611791565b90614c6e6104986104986104238551876117c3565b6040516370a0823160e01b8082526001600160a01b0384166004830152602095919392918685602481865afa95861561068957614cf29988965f98614d36575b50918183614cc6614ccb956135556104238b97611791565b615436565b506040519081526001600160a01b0390921660048301529095869190829081906024820190565b03915afa801561068957611e2294614d12935f92614d19575b50506118a4565b1015614a9a565b614d2f9250803d106106825761067381836102e3565b5f80614d0b565b614ccb9391985091614d558793893d8b116106825761067381836102e3565b9891935091614cae565b6001600160a01b03811660018103614d775750503390565b60020361039f57503090565b614d999391949260095561096461095f866145f6565b90919015614dca5750614dab90612855565b03614db857600854600955565b604051636a70124760e11b8152600490fd5b614dd49150612855565b614dab565b15614de057565b60405162461bcd60e51b8152602060048201526013602482015272151bdbd7d31a5d1d1b1957d49958d95a5d9959606a1b6044820152606490fd5b909192614e2f61049861049886518761508e565b6040516370a0823160e01b815230600482015290602090829060249082905afa91821561068957614e9f92614e91925f91614eed575b50939291905b614e7a604288511015956145f6565b8515614ee757305b614e8b89615704565b916146e3565b90919015614ee05750612855565b9115614ebf57614e91614e9f913090614eb787614559565b929190614e6b565b50611e229250908110159081614ed6575b50614dd9565b905015155f614ed0565b9050612855565b84614e82565b614f06915060203d6020116106825761067381836102e3565b5f614e65565b9390919293600160ff1b8314614f34575b90614e91614e9f91614e7a604288511015956145f6565b9150614f4761049861049886518761508e565b6040516370a0823160e01b815230600482015290602090829060249082905afa91821561068957614e9f92614e91925f91614f88575b509391509150614f1d565b614fa1915060203d6020116106825761067381836102e3565b5f614f7d565b5f80809381935af115614fb657565b60405162461bcd60e51b815260206004820152601360248201527211551217d514905394d1915497d19052531151606a1b6044820152606490fd5b5f91826044926020956040519363a9059cbb60e01b8552600485015260248401525af13d15601f3d1160015f51141617161561502957565b60405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fd5b60ff5f805160206157338339815191525460401c161561507c57565b604051631afcd79f60e31b8152600490fd5b9060141161440c576014015190565b9091906001600160a01b0316806150b85750611e2291614fa7565b600160ff1b82146150ce575b91611e2292614ff1565b6040516370a0823160e01b815230600482015292909150602083602481855afa801561068957611e22935f91615109575b50919092506150c4565b615122915060203d6020116106825761067381836102e3565b5f6150ff565b9081608091031261026257606060405191615142836102ad565b61514b81612ca5565b8352602081015161515b8161031b565b6020840152604081015161516e81610fb2565b6040840152015161517e81610fb2565b606082015290565b9091615192825161196c565b6151a161049861042386611791565b6006545f9591906151ba906001600160a01b0316610498565b905b83518710156152a55761522690966151dd61049861042360018401876117c3565b80986151e9838a6117c3565b5160405163704037bd60e01b81526001600160a01b0392831660048201529290911660248301526044820152916080908190849081906064820190565b0381875afa801561068957610498602061525892600196615271955f92615278575b505001516001600160a01b031690565b61526283886117c3565b6001600160a01b039091169052565b01956151bc565b6152979250803d1061529e575b61528f81836102e3565b810190615128565b5f80615248565b503d615285565b50505092509050565b90816020910312610262575161039f8161031b565b9092916152cf84611791565b505f805b835182101561542f57506152ea61042382856117c3565b600182016152fb61042382896117c3565b90855181145f1461541d5750835b60408051633684184360e21b81526001600160a01b03946004946020949293918716919085858881865afa9081156106895788615383995f93899885916153f0575b50945163029e02cd60e51b815294169116149682018781526001600160a01b0394909416602085015290968793849291839160400190565b03925af18015610689576001936153af925f926153d3575b5050906001600160801b0382169160801c90565b906001600160801b03925f146153ca575016915b01906152d3565b905016916153c3565b6153e99250803d106106825761067381836102e3565b5f8061539b565b6154109150893d8b11615416575b61540881836102e3565b8101906152ae565b5f61534b565b503d6153fe565b61042361542a91876117c3565b615309565b9450505050565b939290919361544485611791565b505f905b835182101561542f575061545f61042382856117c3565b6001820161547061042382896117c3565b90855181145f146155465750835b60408051633684184360e21b81526001600160a01b03946004946020949293918716919085858881865afa90811561068957886154f7995f93899885916153f05750945163029e02cd60e51b815294169116149682018781526001600160a01b0394909416602085015290968793849291839160400190565b03925af1801561068957600193615522925f926153d3575050906001600160801b0382169160801c90565b906001600160801b03925f1461553d575016915b0190615448565b90501691615536565b61042361555391876117c3565b61547e565b51906001600160801b038216820361026257565b908160609103126102625761558081615558565b9161039f604061559260208501615558565b9301615558565b909291926155a7815161196c565b936155b38351866117c3565b528151805b6155c157505050565b6155d66104236155d083611872565b846117c3565b906155ec610498610498610423611a0f85611872565b916156076155fa83896117c3565b516001600160801b031690565b604080516305e8746d60e01b815290946020939260049285818581865afa9081156106895761567d965f926156e7575b505060018060a01b03975195869485938493630abcd78360e41b85528b60609c8d9a169116149184019092916020906001600160801b0360408401951683521515910152565b03915afa908115610689576156b2935f926156b8575b5050611a8b6001600160801b036156a984611872565b921691886117c3565b806155b8565b6156d79250803d106156e0575b6156cf81836102e3565b81019061556c565b50505f80615693565b503d6156c5565b6156fd9250803d106154165761540881836102e3565b5f80615637565b90602b8251106145d257602b60405192600b810151600b8501520151602b830152602b82526060820160405256fef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220acaf04ce472be82b53e96d88f0fb25b098e6c53619924b6a8555e62e55080e5d64736f6c6343000819003300582103175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9054fffd8963efd1fc6a506488495d951d5263988d2600582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af05820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058210366cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68804227100058210365a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a804501000276a300582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821033f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee305820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0219b44105581d03639c64228440f4bd2ae46d5b506813ab36fd9137777c62afe5d42f1007011957880219040205581d02876caffad5ef4c51b4d7ef6ea839513ae3eeee534ef47110ec28049504050219400805581e03f47119f7136b6a1def201d85e900331cd238747bc8c56c3c6e6463e7f0040105581e03311fc32da51f90af9ee044ac2e8c9c108c54017da6dd8b9e59106bc2a0040103ce33220d5c7f0d09d75ceff76c05863c5e7d6e801c70dfe7d5d45d4c44e806540306b487d15c028b6df56c3ebb9b7086965eba3a240857a647faece2ff13269f2b05581e03f3dd9015331d033b99d51b3f932aa7d589333cffd3d5c3281757b40b9007011bffffffffffffffff05581e03498ad85465a6d9a87a248ecba19ca612a0bc6e9eaae5da1c26f895fdc00c014709865bab2c88db0219a980039e26cdfb2a9ef661c97ac577b5207d516c184ae68b63335b6d3aaea2a72fecb50304e047bddcc986b3e4762c0b8f8a30b1c2c1bd53d7c959886b27d01c14c5957903ca665c98bdf67c1125f0bedd8d8fd52675bde6f425d81e4d230df5613f775ca703d49702deef497ce5e14f1897dec381593ecd0ee7550f73dc9e69d7eff813644d03457919256d8fd435855f2f60a1b6d5c0c602cb85b7dbeb1bb5793b9001e5b6fc03fd9b6e85a3740c518b284ce1c741f50380f55d7e834f652157495486cfe2ba4003cbe85ca4262ccf78f464d42fe901642b5bb184d1d7f88e69d137178ab9e69dbd03ab9c6524b81a15e0a09ceade91a4d7906800fe4651a203dd36398a44bbfd362d03c6485d885a74cceb4aa4805afe93b9ec4fac2e7dec21ea6618174c100e3dd62003af9497edc61cb8bbf853ac85e79dbdd55239cb7dac9440159d685b462b2ee58303adf802caed32458eecb623c177f75a4684ddafae4f24940323d04b7898dddf7a030881ae0052e0b541d7ee6705433d1a3a943692cc1fb773f54261e6fe25c2b27803725840d94797b3d2448b9513cd102ef6ba6d97a9d6c346311f39dbd5e4aeb45e030e007fd342e7c666da57b5a55e785a48b3e7f54346c807bf4131d18963bd5b700219ffff03dbb2743e1bf3bc70ec684efe001f85c977d856e3f6a407d871f1ad87b3427b7103a6dd7d23742fc177717871d75110b6bc48a4c5007a65ef9a978a6f7ea4e7bd810353c8e4f984c85f15cc08a12ff9dff4ff696c9049e3e3a31283a10c361c6c650c03820e7d036d5c74cc931cdf9bdc4662679fee6bcc9c36a9ec949edfbe708735bd03c2b111442e029426523cd89ead01bfcadf50af753cdef5b369fff72116a7289a0315ec50a03cba12c11b8283b52bc0a3382c94d90ef45268c9109cc46096683094032f7cfc2cfa8cbcec6764b6361d8cb03f92f4d385ad5075e338bf0cc0d767e33403ec9f544fd94a9f85057cdb333a5ef60bba2c00741b236392b85879ef7dce8a000377df763b2775ab1a67a1c2cce7abc97ead79f630416f12af3966fc1af62bc51f0390820b770c5afe59f8ab4997a135077d606718156a330b96b938c8e1bddad9c60219ffff0351d06600fc48aa1cd8ccf461876591ed92572f5964e3a794906cd5a5a736211903346824faa70f9045d88a7a340f4e1fdab02df5564c33dc3cbee2fff33a198d2a03b4920daaccf096345811a281e9d8f1ceddc1f72c59fadfada053dad0eb43ffcf038838b0e1e40bdbb5a40ac9330ff369f3ba3ce1da08f02fc5e8c1a9c3a06ad95c03be603f93cb67235b0ce40ed9e09d63516e5fa4c84529b552aa1c3baeacbfa08b03cb23c6b8674d6201f953d7f57495d4ac36d5711d55b06588d43f57e5c97290c2031d340b453d99e40ede024baffab1b3b32d672e8cfafd6a401aa5e872cbbbed4d0219ffff031cb713d5b98e1fd9c1c7d0457ed03cff2dd309134fc30bc8cc69e9f393084d9d0385be28acd8e5a9ac187b3f46965870433b710cf2fd00e78f4cfdf0e4886e3fa2030f2904bcfcd2e5b65894e512aab57a9633ff6715aa0233c6be0a20f5a70e846a03209df946dae28f680b7fe35f69b0a206f873dc893ce7818063c24e8d39625ee5033808177eb7739f2a0d707a72341461c975b76bbc7ac89b4b3993a940482aceb6033f09cbe6400a6156d36256fcaf08a3c450fed265a9aa9c252cc651e5398497ea0351dcde93059a13be750adcfaeb86176c0cd7a1cf4f00de3b0b067b938c3131550219ffff036f4ba5041ec34e5ad20f27343109bdab7e03181a84f94d4f44b4b66a1177bdc803578a82a14b10cc29aafba9da1ef8327d17b608a8d510c169a1bff286ab632b710382da591b4c27bdc67233a56e852f47d5c0d4adeb12dd559102e6aa521bc6691803d1eccfc39d03774334ee2c11cbddf526ecad8efa1ece517f490e30685df431e3037e886dcd44962845861636005fe9774ebe38db969fe11b802e56dbcb22f921f003f851851f31bd96d86410a5b5fbc002d49c8557d0b4171cb5b2a3d74540d05453035b494d9fa637b4c8ea2d0244da4c4ef964a3ce23faf4aeb344ead56fe6872e450331df86174d19d4f7a64b9feea449f19c426a4076b9e72652ac4ef8be5923b5d40325b24749d38072352205cad7c630332903e58e756168fe462f7cd0f10d1e6ec8037abc4bc4286b5bfe55d54a4cac58aa665ff4c70a8566a22d13dc3e3bf200689203f00096d9fd850394917bc6dea78f91d7601842300ecbaf870d2ea548c8364b0603d8c4aa053640ac090fe91eb500c8d979ff8658c78d5659f52df9ba2d52d742d8034b0771f7765d87278dc4243edae494339a3211ba0d6f11452a95bce27499038003b4771969c58afb00b26c2fd23d3a04e22404ea4d643ff920dd5852aefd35286903038958194ff4630a736dd175b0c460e04e30410a1d6b947062c500b390fdad4e036b002fa1a4ecc0c112680eb6d11f538f5f02dcedcdf8a1fa01b8357dda386e77033e3f07336025fd4faedd4d09468c2281ad5810c403517ec9c30ab7c8bbbf75d803fcad8c671df6139a9b2af47a7ad69f047853c1e7a77a4990fdbe9eb53c7f776703ce158ad80e548c8b6f1d7846737ea80f113648bd73f24c173b4ec7dea3fbf4ea03e5b8b5b1176af1d8f6f0348c563c6ba6e4a4cd1bd905aeef0febfee5e1b7463f0328d401030f733cc3ec4c649749033a6d406faa768de36df982bb0e2b6383c5830398655926d7ec1914d9e02e5fd3fb4436eae06ed55d9d5bda4600a5a3c5819d5f03e4da7a497d1a5d6f2824d5de0783a0600453332912f016e2a60c1afed965ccbe03cfad1eb775484093d3914942ed25151ef7f4e67a0261e3f465f339412d38ca900311628d4726a3f4be18ddd5e6d05949603b84a606dafd51f00a1a9facc14c2065033543d40fe32c46898ef35a743f3eccdeab1dc211a23d30349e922350e738f11803ff4cfd8df78f09b601b5032fafdf54f3a6010c03c4024e180874a24fe63a5aef0308e646de1b8558bc5846be79f3c190dc2f593cdb3161f4f3a28784955db6771d035c6720265557f1d838e27be1d70a2f950b60baaf30b6da4eba698d03c34b224803a3a2fe05c989e1ca1062377d9e3f4d56c452a9e9aa2e88e16710b5355fdcbbcb0326258930d31c13a1ed017f9b332840e789d87f6209b3585a784297e86c55d12d037515a29bf2dc47f757037ba92bdaedb6f85aeea0a5e9d0ebaa7afbbf17ad938b03842e936ef2394185320732470844ce9546c1935c32f29bab348a71b5b8fbf0b003193cbc5748bddbb8a3a364da1b75ac7d0e75dc1438ab8e14ecfd834fe263c4f403ffd76237e5d0435f54c7d362aac2a7be8f4933100b377b4205dd07771ed98578032ee739d643abf9b49d0ddcde51b77162eb24bd02f4d8b617230f3ab71c3913eb032c5dc9bf165128100881a37ad4f837cf2c145d9a98c29c4be1391bfece277f2e0353b4fde41e241e84b23a7072a31be33cd65252095bf7518f752ea6e606ce3a880391656aa50dac0aa20b0dcc02e5e99ee0bcfe24c38a618478526cecab21720da903836fc9c38c897e40706b47461eba74da50399967facda16b47e1e7ec51fca68803b8b6b9c1e9f10008e1d55ae7a37244c2557a929428431c7e737ac3cdc232fc8a03361df2be3bb3ebe5a894fc6d1632b0e468ce16a7de2e9999bde2e99a054e462d05581e03305b479751ece2c9cc059886acbc618492e01d5438e8b490a6502322c00c1830480449f29074f6a3ab05581e0370f02829d676e57d162950596ed9ab0ffa4802c4cb4e65f13a73ec35b0040603cd43772fe60435cccc44d0b0152be3399b3cbb95ae3dc6b4658d5951e95fa3e8031e71c9a529b6857d946cd4e6ec6ea3b9c22022dc8be98c1eae00747edec6499503b236bd75c9c21bddb287d6a6925dc0d658aed590da7301e4e11ad7e815d9f6f4045920a26080604052600436106101635760003560e01c80637ecac20b116100d1578063b9b4aacd1161008a578063e98d8c3a11610064578063e98d8c3a1461040e578063ed83cd0b1461042e578063fa461e331461044e578063ff04e9b41461046e57600080fd5b8063b9b4aacd146103ae578063c7137f5e146103ce578063e1477062146103ee57600080fd5b80637ecac20b14610313578063824a811d146103335780638d690bab1461033b578063999895db1461035b578063a00000001461037b578063b8443aa71461038e57600080fd5b80632de6ca25116101235780632de6ca251461025b5780633c0000001461027b5780633ccfd60b1461028e5780634b849261146102a357806353b03a83146102d35780635ca7ab59146102f357600080fd5b8060021461016f5780606914610184578062f750e2146101975780630b93a9de146101db57806315e2b6cd1461020b5780631fce50961461022b57600080fd5b3661016a57005b600080fd5b61018261017d366004611926565b61048e565b005b61018261019236600461198d565b610538565b3480156101a357600080fd5b506101c76101b23660046119ea565b60046020526000908152604090205460ff1681565b604051901515815260200160405180910390f35b3480156101e757600080fd5b506101c76101f63660046119ea565b60026020526000908152604090205460ff1681565b34801561021757600080fd5b506101826102263660046119ea565b6105cd565b34801561023757600080fd5b506101c76102463660046119ea565b60036020526000908152604090205460ff1681565b34801561026757600080fd5b50610182610276366004611a0e565b610618565b610182610289366004611a27565b6106aa565b34801561029a57600080fd5b5061018261073f565b3480156102af57600080fd5b506101c76102be3660046119ea565b60016020526000908152604090205460ff1681565b3480156102df57600080fd5b506101826102ee3660046119ea565b6107df565b3480156102ff57600080fd5b5061018261030e366004611ace565b61082a565b34801561031f57600080fd5b5061018261032e3660046119ea565b6109c5565b610182610a10565b34801561034757600080fd5b506101826103563660046119ea565b610a7a565b34801561036757600080fd5b506101826103763660046119ea565b610acc565b61018261038936600461198d565b610b17565b34801561039a57600080fd5b506101826103a93660046119ea565b610bae565b3480156103ba57600080fd5b506101826103c93660046119ea565b610be1565b3480156103da57600080fd5b506101826103e9366004611b3a565b610c14565b3480156103fa57600080fd5b50610182610409366004611b66565b610d6f565b34801561041a57600080fd5b506101826104293660046119ea565b610e54565b34801561043a57600080fd5b506101826104493660046119ea565b610ea6565b34801561045a57600080fd5b50610182610469366004611ba7565b610ed9565b34801561047a57600080fd5b50610182610489366004611c27565b610ee7565b3443146104b65760405162461bcd60e51b81526004016104ad90611cc1565b60405180910390fd5b33600090815260016020526040902054606086901c9060ff166104eb5760405162461bcd60e51b81526004016104ad90611cdc565b6001600160a01b03811660009081526003602052604090205460ff166105235760405162461bcd60e51b81526004016104ad90611cf7565b6105308686868686610fe2565b505050505050565b3443146105575760405162461bcd60e51b81526004016104ad90611cc1565b33600090815260016020526040902054859060ff166105885760405162461bcd60e51b81526004016104ad90611cdc565b6001600160a01b03811660009081526003602052604090205460ff166105c05760405162461bcd60e51b81526004016104ad90611cf7565b6105308686868686611151565b6000546001600160a01b031633146105f75760405162461bcd60e51b81526004016104ad90611d12565b6001600160a01b03166000908152600260205260409020805460ff19169055565b3360009081526002602052604090205460ff166106475760405162461bcd60e51b81526004016104ad90611d2d565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561069657600080fd5b505af1158015610530573d6000803e3d6000fd5b3443146106c95760405162461bcd60e51b81526004016104ad90611cc1565b33600090815260016020526040902054859060ff166106fa5760405162461bcd60e51b81526004016104ad90611cdc565b6001600160a01b03811660009081526003602052604090205460ff166107325760405162461bcd60e51b81526004016104ad90611cf7565b6105308686868686611399565b6000546001600160a01b031633146107695760405162461bcd60e51b81526004016104ad90611d12565b600080546040516001600160a01b039091169047908381818185875af1925050503d80600081146107b6576040519150601f19603f3d011682016040523d82523d6000602084013e6107bb565b606091505b50509050806107dc5760405162461bcd60e51b81526004016104ad90611d48565b50565b6000546001600160a01b031633146108095760405162461bcd60e51b81526004016104ad90611d12565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146108545760405162461bcd60e51b81526004016104ad90611d12565b82811461086057600080fd5b6000805b8281101561089a5783838281811061087e5761087e611d63565b90506020020135826108909190611d8f565b9150600101610864565b50604051632e1a7d4d60e01b81526004810182905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b1580156108e857600080fd5b505af11580156108fc573d6000803e3d6000fd5b5050505060005b8281101561053057600086868381811061091f5761091f611d63565b905060200201602081019061093491906119ea565b6001600160a01b031685858481811061094f5761094f611d63565b9050602002013560405160006040518083038185875af1925050503d8060008114610996576040519150601f19603f3d011682016040523d82523d6000602084013e61099b565b606091505b50509050806109bc5760405162461bcd60e51b81526004016104ad90611d48565b50600101610903565b6000546001600160a01b031633146109ef5760405162461bcd60e51b81526004016104ad90611d12565b6001600160a01b03166000908152600360205260409020805460ff19169055565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610a5f57600080fd5b505af1158015610a73573d6000803e3d6000fd5b5050505050565b6000546001600160a01b03163314610aa45760405162461bcd60e51b81526004016104ad90611d12565b6107dc816001600160a01b03166000908152600460205260409020805460ff19166001179055565b6000546001600160a01b03163314610af65760405162461bcd60e51b81526004016104ad90611d12565b6001600160a01b03166000908152600460205260409020805460ff19169055565b344314610b365760405162461bcd60e51b81526004016104ad90611cc1565b33600090815260016020526040902054859060ff16610b675760405162461bcd60e51b81526004016104ad90611cdc565b6001600160a01b03811660009081526003602052604090205460ff16610b9f5760405162461bcd60e51b81526004016104ad90611cf7565b61053060058787878787611492565b6000546001600160a01b03163314610bd85760405162461bcd60e51b81526004016104ad90611d12565b6107dc81611675565b6000546001600160a01b03163314610c0b5760405162461bcd60e51b81526004016104ad90611d12565b6107dc81611699565b33600090815260026020526040902054829060ff16610c455760405162461bcd60e51b81526004016104ad90611d2d565b6001600160a01b03811660009081526004602052604090205460ff16610c915760405162461bcd60e51b81526020600482015260016024820152601d60fa1b60448201526064016104ad565b604051632e1a7d4d60e01b81526004810183905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b158015610cde57600080fd5b505af1158015610cf2573d6000803e3d6000fd5b505050506000836001600160a01b03168360405160006040518083038185875af1925050503d8060008114610d43576040519150601f19603f3d011682016040523d82523d6000602084013e610d48565b606091505b5050905080610d695760405162461bcd60e51b81526004016104ad90611d48565b50505050565b33600090815260026020526040902054839060ff16610da05760405162461bcd60e51b81526004016104ad90611d2d565b6001600160a01b03811660009081526004602052604090205460ff16610dec5760405162461bcd60e51b81526020600482015260016024820152601d60fa1b60448201526064016104ad565b60405163a9059cbb60e01b81526001600160a01b0385811660048301526024820184905284169063a9059cbb90604401600060405180830381600087803b158015610e3657600080fd5b505af1158015610e4a573d6000803e3d6000fd5b5050505050505050565b6000546001600160a01b03163314610e7e5760405162461bcd60e51b81526004016104ad90611d12565b6107dc816001600160a01b03166000908152600260205260409020805460ff19166001179055565b6000546001600160a01b03163314610ed05760405162461bcd60e51b81526004016104ad90611d12565b6107dc816116e8565b610d6960058585858561170f565b6000546001600160a01b03163314610f115760405162461bcd60e51b81526004016104ad90611d12565b60005b85811015610f5357610f4b878783818110610f3157610f31611d63565b9050602002016020810190610f4691906119ea565b611699565b600101610f14565b5060005b83811015610f9657610f8e858583818110610f7457610f74611d63565b9050602002016020810190610f8991906119ea565b611675565b600101610f57565b5060005b81811015610fd957610fd1838383818110610fb757610fb7611d63565b9050602002016020810190610fcc91906119ea565b6116e8565b600101610f9a565b50505050505050565b6001600160a01b03841663095ea7b373ba12222222228d8ba445958a75a0704d566bf2c8611011856001611d8f565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561105757600080fd5b505af115801561106b573d6000803e3d6000fd5b50506040805160c081018252888152600060208083018290526001600160a01b03808b1684860152891660608085019190915260808085018a90528551808401875284815260a086015285519081018652308082529281018490528086019290925281019190915291516352bbbe2960e01b815273ba12222222228d8ba445958a75a0704d566bf2c894506352bbbe29935061110e929086904290600401611dee565b6020604051808303816000875af115801561112d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105309190611ecc565b600080869050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015611198573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bc9190611efc565b509150915087156111eb576111e487826001600160701b0316846001600160701b03166118c2565b935061120b565b61120887836001600160701b0316836001600160701b03166118c2565b93505b8584101561123f5760405162461bcd60e51b81526020600482015260016024820152603760f91b60448201526064016104ad565b60405163a9059cbb60e01b81526001600160a01b038a811660048301526024820189905286919082169063a9059cbb90604401600060405180830381600087803b15801561128c57600080fd5b505af11580156112a0573d6000803e3d6000fd5b50505050881561131e57604080516020810182526000808252915163022c0d9f60e01b81526001600160a01b0387169263022c0d9f926112e7928a92913091600401611f4c565b600060405180830381600087803b15801561130157600080fd5b505af1158015611315573d6000803e3d6000fd5b5050505061138d565b604080516020810182526000808252915163022c0d9f60e01b81526001600160a01b0387169263022c0d9f9261135a928a913091600401611f4c565b600060405180830381600087803b15801561137457600080fd5b505af1158015611388573d6000803e3d6000fd5b505050505b50505050505050505050565b6001600160a01b03841663095ea7b3866113b4866001611d8f565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156113fa57600080fd5b505af115801561140e573d6000803e3d6000fd5b5050604051638201aa3f60e01b81526001600160a01b03878116600483015260248201879052858116604483015260648201859052600019608483015288169250638201aa3f915060a401600060405180830381600087803b15801561147357600080fd5b505af1158015611487573d6000803e3d6000fd5b505050505050505050565b6001860180546001600160a01b0319166001600160a01b0387169081179091558387558590600090819063128acb08308989816114e35773fffd8963efd1fc6a506488495d951d5263988d256114ea565b6401000276a45b604080516001600160a01b038c1660208201528e15158183015281518082038301815260608201928390526001600160e01b031960e089901b16909252611538959493929190606401611f83565b60408051808303816000875af1158015611556573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157a9190611fbe565b60018b015491935091506001600160a01b031630146115bf5760405162461bcd60e51b81526020600482015260016024820152600f60fb1b60448201526064016104ad565b8854156115f25760405162461bcd60e51b81526020600482015260016024820152607960f81b60448201526064016104ad565b8615611639578461160282611fe2565b12156116345760405162461bcd60e51b81526020600482015260016024820152606d60f81b60448201526064016104ad565b611487565b8461164383611fe2565b12156114875760405162461bcd60e51b81526020600482015260016024820152604d60f81b60448201526064016104ad565b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b60005460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529082169063095ea7b390604401600060405180830381600087803b158015610a5f57600080fd5b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b60018501546001600160a01b031633146117515760405162461bcd60e51b81526020600482015260036024820152623bba3360e91b60448201526064016104ad565b6001850180546001600160a01b0319163017905560008061177483850185611ffe565b91509150801561181e57865486146117b25760405162461bcd60e51b81526020600482015260016024820152606f60f81b60448201526064016104ad565b6000875560405163a9059cbb60e01b81523360048201526024810187905282906001600160a01b0382169063a9059cbb90604401600060405180830381600087803b15801561180057600080fd5b505af1158015611814573d6000803e3d6000fd5b5050505050610fd9565b865485146118525760405162461bcd60e51b81526020600482015260016024820152606f60f81b60448201526064016104ad565b6000875560405163a9059cbb60e01b81523360048201526024810186905282906001600160a01b0382169063a9059cbb90604401600060405180830381600087803b1580156118a057600080fd5b505af11580156118b4573d6000803e3d6000fd5b505050505050505050505050565b6000806118d1856103e5612033565b905060006118df8483612033565b90506000826118f0876103e8612033565b6118fa9190611d8f565b9050611906818361204a565b979650505050505050565b6001600160a01b03811681146107dc57600080fd5b600080600080600060a0868803121561193e57600080fd5b85359450602086013561195081611911565b9350604086013561196081611911565b94979396509394606081013594506080013592915050565b8035801515811461198857600080fd5b919050565b600080600080600060a086880312156119a557600080fd5b85356119b081611911565b94506119be60208701611978565b9350604086013592506060860135915060808601356119dc81611911565b809150509295509295909350565b6000602082840312156119fc57600080fd5b8135611a0781611911565b9392505050565b600060208284031215611a2057600080fd5b5035919050565b600080600080600060a08688031215611a3f57600080fd5b8535611a4a81611911565b94506020860135611a5a81611911565b9350604086013592506060860135611a7181611911565b949793965091946080013592915050565b60008083601f840112611a9457600080fd5b50813567ffffffffffffffff811115611aac57600080fd5b6020830191508360208260051b8501011115611ac757600080fd5b9250929050565b60008060008060408587031215611ae457600080fd5b843567ffffffffffffffff80821115611afc57600080fd5b611b0888838901611a82565b90965094506020870135915080821115611b2157600080fd5b50611b2e87828801611a82565b95989497509550505050565b60008060408385031215611b4d57600080fd5b8235611b5881611911565b946020939093013593505050565b600080600060608486031215611b7b57600080fd5b8335611b8681611911565b92506020840135611b9681611911565b929592945050506040919091013590565b60008060008060608587031215611bbd57600080fd5b8435935060208501359250604085013567ffffffffffffffff80821115611be357600080fd5b818701915087601f830112611bf757600080fd5b813581811115611c0657600080fd5b886020828501011115611c1857600080fd5b95989497505060200194505050565b60008060008060008060608789031215611c4057600080fd5b863567ffffffffffffffff80821115611c5857600080fd5b611c648a838b01611a82565b90985096506020890135915080821115611c7d57600080fd5b611c898a838b01611a82565b90965094506040890135915080821115611ca257600080fd5b50611caf89828a01611a82565b979a9699509497509295939492505050565b6020808252600190820152603160f91b604082015260600190565b6020808252600190820152603f60f81b604082015260600190565b6020808252600190820152606160f81b604082015260600190565b6020808252600190820152602160f81b604082015260600190565b6020808252600190820152603b60f81b604082015260600190565b6020808252600190820152603360f91b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80820180821115611da257611da2611d79565b92915050565b6000815180845260005b81811015611dce57602081850181015186830182015201611db2565b506000602082860101526020601f19601f83011685010191505092915050565b60e08152845160e08201526000602086015160028110611e1e57634e487b7160e01b600052602160045260246000fd5b61010083015260408601516001600160a01b03166101208301526060860151611e536101408401826001600160a01b03169052565b50608086015161016083015260a086015160c0610180840152611e7a6101a0840182611da8565b915050611eba602083018680516001600160a01b039081168352602080830151151590840152604080830151909116908301526060908101511515910152565b60a082019390935260c0015292915050565b600060208284031215611ede57600080fd5b5051919050565b80516001600160701b038116811461198857600080fd5b600080600060608486031215611f1157600080fd5b611f1a84611ee5565b9250611f2860208501611ee5565b9150604084015163ffffffff81168114611f4157600080fd5b809150509250925092565b84815283602082015260018060a01b0383166040820152608060608201526000611f796080830184611da8565b9695505050505050565b6001600160a01b0386811682528515156020830152604082018590528316606082015260a06080820181905260009061190690830184611da8565b60008060408385031215611fd157600080fd5b505080516020909101519092909150565b6000600160ff1b8201611ff757611ff7611d79565b5060000390565b6000806040838503121561201157600080fd5b823561201c81611911565b915061202a60208401611978565b90509250929050565b8082028115828204841417611da257611da2611d79565b60008261206757634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220ef166859aad688c15a88e7b99652e092c91187ac153848039b87fb8c8e2ecfc164736f6c63430008180033005820026004cfce3b37ce513505e385c405a0515ee2f102a9e81b6ee5d7917596f3df4101031fc2ceb0c5a6717734fbdf09556818a7c300f926f50b0d34516f89f6fb8b174100582002a6dcd8587eef6abc082ae820eaf38e7fb33bb7f97add8191795a4c6b03f5d34101005820020e12aa90c5cf8a7ac579a1f2ee089db91c28b07224f1874f5ff480367a4235410100582002cc33c39bd122732ec380f9d24244a3448640b3c45c025f4b51d453d2db48e441010219326003f112aa86d947066596cdaf666e6cc4b939536e3d050c114c5b291864246016b103c1ae8d2b41def7f89cd1fe0f66830adcd5f3177e32acb65dd802c02f7f940a9903eece07e57ceb3321dd0c23f26582069c7748279ba48f4cfbdf3cc5af9b119cc503618b138891c164ca992f56a9cfe0c2fc4f1badb2cd4f9f616d5818a1d852c91a03fd352e447b7b7c66c3751a5aa2818e8f3f71f1d9d44fe7c99ab9c3857e1285b1005820021f2fae2bc1ccdd9dc943ff851fe8f85b2eea0899206cca942a2aa37b6651eb4101030be603ef75e68a5639064ec61f827a0256ddc6d5ee71ece143c0dbc6a1820dc20058200247d6771a3ec964564328eb0da7eb6220a120cb587f3a3bba9546fc97152bb0410100582003cdfb8b1afd2d22a55e76d3848c15db11fde0e7bf5d02600d7fdf983d7a7ed0410100582003517f7a2c9dff9056bcf0bae4fa15190b64d93b3c3b93241fe115a65698ab504101021830021910e003b92aa65ab50ce38cde2f5b8dca3fc97560b799691106b2b22c9dd05714fd25ba0058200202eeb219247b01c8162aa97ca9dad7fe28fe9def6ea389cb95b204325054d7410100582002421fc8d3399966045baaf47840fd4c9f889317118e2854843b51fb97ddbfd641010355e7e561b544a8f8312f83e92090b8af73510e4183f802b04fd09512adb2c6da005820026152fb80a5ed863adbf060e4d5adb4fb9f3f98aa726e5bdcf56461fd496cd3410103c0f2e1f0bc31085dc36008763b89e5466628f3e0be4e9d6c69c539dd249a47b3005820027cc3c3fd447f826218757cb48b4d1040a96e311003892e111ee5c53cf5a61841010219e2280332bdf4218a4603811ebadacd2833dc301d3850f3551cdf8e75d85ba7e23e05b003724ef44f4c56ede21026656715d5bfa79131a5b797fd65e0980196f68590ff8d03434da0408135d605bf70377c51ad2e76d34f746ac17442b0571d6b628abd68ac035d97b561ece55f9ef1609eace62f2941e2f92aa416246a4b57a5f1924b4c5dc403c45402b1843bee9c58e1836226c72152427d97e690d84773afeb222656944b2f03924e180db1059bafdbd296a7ebf839e54b302f7008e09c2f959fc32eb1b1f44600582002007d7329d500a1815ec60ae0ae8e7ad6796315fe2cc01046c31d6ea88683074101005820026d05a2b6acaedd4a24cfeaa8b351889e42ea768bd2396a4469c98e278d49b94101005820025318c4196a78ed62dd2a2d34ea5b6dc281c0e40ecf64137ec13ece332d6ca7410100582002c9938aa8c4853e9c4548a522f8409d0e629279fceb9a0676b98472cae7fa6341010058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f549def7cde171841a9f0724124ca0b01a622d749e400582002355fbf3a861b29216af7c8b04d84b9a3aeb037dd215373a85a067ac488de9e410103f8b1af8c17be110ac6c57e4e44e458f84e13e8f2a6f8dc9ac6de43eda3626041005820023eecbf72238d4044508e4efbdc3e136491cae256a5fe6152f3785e02ff5e77410102190b760219ffff05581e03461caee77f54e513b75a4f22cac1f7ee05fb0864b0338411bd59100ed00f0146016a7e824a4f1920a20382d260f1773676c4984396308ac5564ae6774151a959dfdb2208dfbeb4c0232203be329ec0855c67a5c1d2e01b58817a72ad206aeb046eaa96ce891bdae415b8f803d406fa363d0ff4124598dfeefee08adda4c560e48f1ca64a236dd9630d79d7d102196e5c039913fe4d9543dc01c7e0be3ed08f41b6c8d4cf2df2d8ec9af3c056883d7c2c5d03b26a30d352d51e27bdd2e33ea52a809839b7180d2e77e2c4c686436af736200c03aa01603d0139f29720acb399eb6bd30498d5429240f8ba44df63689e7bb1b0ee0315e8a6fa84bfd2acb8eaaea996aa4a46f5de253a0ad609c7f0277ecd5b7d9ec9030db1b444fb36bd1b36ecb2c5be61f74fde9ba73348a2932cd59d6b5fa51af9c503e524d098d04850bd610cf78c96af74626f752666103b0ff686a912722a2821810219ffff034ab005e656dd7ee732bdda28ed82dc2fbf913b11ee168f711f3910a5e101ea850374468738d14c619e33326b3d60427f61e70e73df25c1c85f497c3b0e643c7487034e6b33247da26c37b793e07ab5e073144ff3aa78b59cc322177c1347ccd9011b0219ffff03d6151fe3141aab3766abfd8fb64f188228ab3a01860f94e5f3dae386759b05dd03b83b3078b341fc98d7e941955281275ee677b8ffce66db59a26316465ec016ab03d14ea7cbe8b9aea666c03cf632ae8fb5c6388563ee195c218fe16d32843f76fc03bd60b8c124f03a06a8d176bd2f5422afa15aaa90490c7c49148352d3e64046c10219ffff032b27f0606aea732db89223c448ef50051f7bcdacb533eff5931dfee79f4601af0384412a5b06bc923b7204cd68d0af8f2598fc1e6c90b33d58acdd25d3c747308b039dc97041e8fd84aa338de1fe436aec129d3aa5c0ec11f244775451e3896f3a770378f173b8a4d30a29eee9203ce1e1e54a6106dd9ed5ed4c17c2eae9b68dbd752a030306203e35608f1ae9e70be93c153097e81fa74bc30b2d4572a5300aa33c528b03d519e78944c791a6b7290e3615220d6180f5f3b4f988e74af50a6819b304ad0f03f13c094428bb853ec68e8805360b7bb054a9ef83e884875f09713245a2b9925c03f3adc317e7a0528ad864ef7449ddca3c709b121225f5bdb318043a76596b21fa03e998862be9e44d9272eb6ee0cd0245f6b290a0e68fec23df273ecf18aeecc2600219ffff03653cf990b312b48d3129a8e667459075cae0de8e23543a2a8f04af38a9cbd117038c69f7638729c2b2c4fd1579bb7c450a2e945b05ed09c4d5249e7709e66d92df033fa9f17da0dac9876f9aff16e95dfe253d755448e4b4f133f41349d4827853bb031fb9c175a369a789c26791dd78840a981848810e0d606590e26318e2dba6c38603e92dc4c06f0c8a2f57c0e636b1aef6c3c6b95ce37d2b022597e6d2c29865ea910366417b85fbf96957da56d9a89c5a56a5350800ae61a58765beacb5e7bfb074900219ffff03fcc036779558111dad829df80bdbf8e7ed86971f307eddb5faef9aa2001af1b603fdd49d71c61e97c8cc0eef9254598a4cbd34a908f3375712a90abfb6eaeb30a7037e392fad3f87ac3072039da5cbea2b99f2d10a01aa4d46cb1c81bd8c9bf77994037dab82c751f31533cec6a7f680f545f8bd290d1e62f1b78e3652f2c16c68c43d034413df840cbf29eab30fdd6c5925cf38775cc308be825933f0a4457e5bd8190003a6a403f1d17d616dc28a8fc1653934563fa05637e92170eaf48b3517f636cf4003dc70f577ad37b64c94b215e6cacc6bfc9b76d2069d31c06542739b67f639cf16032e7471c5bc98fbe799ca31f6e82685707e5c6dbd89de69dc16e102adfc152be8036d0931f6981b42fc72d928e9237be1f2817d88cd821dbfe1a67cb0c10f65b0eb03a605521d3ea657b84908918a62052fbb844c539ac5e1904c08746befea6ab877032b0aec36736378b182af8aa6cd22a57d90d9cda61259009045b3ce03a21f2b6f035f096515ad4d65439ea7972903d400af2ed81d8e9a03256ea82db5b186b18d5003cb4db9c3f9db9defe8097d397457551863ac85b7e57c1b2c6fe2f00f0f4761ef03b890b1d684bb97a7977117ba6e78bf90133399ca98a1469720c020d428a8fc61037838d9c0c5980c413be285b7a88c47d58965a4bdf13d6df39c793b8572f2804a0322d287c04885e4ae3b0c002c66fab5cab6c761c8e77f1edd85a19d7db20bd9890351d6789efc868d8d91a24e3199915266b865b02c9ccdaafbdb5adf131bfba228030009af2241f7a17fa0125b532b7e72bd234ab52ab142b16e48b6b4c2518908a3033d51ef1aae5244f85b1fd2d604d2384ffaa7f389f195ab60d86d7dcd0899ab57035b03faa8d3677bfe305dabae8a83dcf83d98ef31f57547fe27a7a500e862283003478aa63c14b12d7af2a5ea2cfbb0af6ebdb0717093bb82001ee5b17314506a7703469d53d574fdf8216720ecf1c26bc457b9f2eaac36c422333e6da374a5be39470316b4eab8973ba9c94d090c4fd40db16d269e32c4b02bfcf1318dcca6ff9c47560316c32aea618f4a35b9bacd455d0a305b960eb28b9795389ee85cd5ea9d18772f03f702531b8b946381db1496a22f719d224543c603ff44234a20f4095e2f95e2c703467c473c8c47f5d82542447d79eb8e60381bc8da41a35cc685cafb4c5e754243034938d492e7906f4db03687b5f21832b35d4df44bd658ed3b0d7ab61cac0bf8fd03a97b9a724ff5b1a1e90032b29559e5da78e98ae90a150b138bdb6685491caaef03a2d5d8f07c83ca3edb8ad79711009dff87c3369ef21c8744c7068c993a48300103aab9764f7d79b8bf52560f5511668cdee2004377a1ea8426701cfa57f05b712803f8d2c48807f0302e324a2ff68d95c5c068789c6ffa8cd022af4bc8704b162e72034fef6d2e108904e11c75633ac94c56ea2c34abd415af6321c9ddd9a79bfb4d1003a2b2260c7dcbc720ed260c92c78e6fd942cd64c323268de67352a5f8de28476b03b03f7536efeaec7d03c85344bd05b42863ffb786acfaedf0e8590a0ecefc952003b611868c281d92a921c9163f1f46adac9e6145f2fa830f494821d676aa9964ef0378803bbbd997283c5c1fc15dc2c5e4dbbd79bac491d993e1621c5358fc169bc603cde17225753c3b37029c26c020f00192de4316e059214e960daff2f16f8653b7037712d6452e2663dbf635f9e788c40977fa07dc920b9dcca7815d5c628bc3bd8e03900975d26c0b3d9a55e84b5100d675acff2b4bcc96fd7cededa6ae810a9043b905581e0331b9077f63e20374836787589d20ab56d308768baf6feb1b2dcb34d7600c024605774fea440003282c5a650368e9b0e7d24d5cdf495dbddf26f77f85fdd6edcaed272af7b35db9035fffd5d88254ce0e08c2302c2c557e343e6cef958b526ab8128e1a20f7ee041605581e0385609eb13c8028dfa4852fb063cfb8e9ae6dd4d43778d540f79800b0600c0b471136f25b00215c05581e030857a6b3d0e9d021a7e24cd58fd0180f851308386471fe7c0fa1131df00c0147177cfd930cba0005581e03f7b7f46b544bcdb050ae1cb9e4843c0c52f99f99213fffdd72c2bc1920040105581e03bded25abb9d9062e93b4b938e4342e381cdd0a9b160c1b6756e896b0200c0f472e0ee90acbfe0003941a28b98d7e7eb2c9d4860a46b4a1f0e3d8d7f5b8e7d66380aaa00245738eb20605581e037a692a51bd2764381b710aa6ee14f3b10a03c47a86d246d05dc0f4ef1007011bffffffffffffffff033fe61504a88f3baa02a7be9ed4728a11da5d0f028d0b73db886f87a9c482ec0105581e0364c13f862dadef046f86fd496b9b1360e13a3a65342770f96cbc2acce0040405581d02a7c06f685821c187259b57fa7d198c295f55a8fb9fb0f44704f3780f0c014704137d1495f02405581d02301e91dad0a99625ab7bac95e9e45e2e6c0681478c0559064f4789400c190ba34802c110f3cc0dbcac05581d025a3ac47fb477a04756ae6d09e974e9e149c86df42e72defac9deab540c034502540be40005581d022dad32b67f3b3ce215ea703599b5d2589505a10e3b92c0c4009de3c50c024701a14eb204aeb802191422036087c726410bace6cb756c82f9b320bf010d071292d2b80cce2bc0aee01728b505581e03ea2ccf104aa3c3bb8a661bb9bd6968b012c3094ac820522c26671449f00c01472e732851988bc00219fff503050c9d1709afb49f78147db39e560425f0f72da7f569698702d0d5a581548ae403c179e7694d3be61fa1f9319dcbf263c998adb8f36b519e1839e79862431ce20d037db25c6d5f953628d47d48c24582e72045d247fe69feab537e1a7d843fdca3b40383cf2c90e85255a4e09fbd9a658d3ec16407a2dfd86ff3746da792b8f6590b7603c23cc926ef7fa26faaf9688523547afdeb8893c5fb0f9d8d89e36b1f0caf29f103fb4a689725f146d33ab055975bf0c61e04e055ec367ee0cfe6e379be40c303a9034514fb4047115ea4be94dcff5c8631ef7bf69378de573168456d8d33a835410d03966ab5264ab6b1ee79f1ed13fd1932330e34dbb18c6046756e2aa0ba2b9e67be03528f9c0eb3ccabd7c5cab313c3d06216a88621f5d6cd8a3a2d697940ca53e79d038ff13f1dda9496f7520e2f12323102141a64c2df069e80548454033cdba2e8fa0219ffff034f7ed5868b4ee23d06f4589c1cf34ca1de570161402012a2a43a4929236b1bed038c462403accfc96a7dfae94395ca85df4ccdce971f5e400afb30679f71c7bf0503f032d0e0ef52bee499f897361f94d8c6c7a846a4cb90275c6e79c8447bc5d484032fba07432177953683b07cd48bdfc75c40619773ea628e2ab245260ca408f2fc03f635269f46f53f6c9f16d08a9011fa081b1bb8c6357cd6eeac1716c40895f5a00219ffff03be49b0a81eb9e4dfe5a6ee51c833400888b4d5aa20b4234ca3f3089192fe978d038cda71049b37ec7e57b9a3b6284d704309f284ec3ce61efc5c41edb161203f7a03b047f3417a84face987743331e0ac2c103c5874895c681a41da8edeeb8d36bb803f53e6adde8d814671ace27379317467e2b7bd7d978c5165387fb115d34e371f6034b6ee7d46f63af3adbeb98b2ab40ec52885cc22d8b1f180c1f1e37e8d7f7526d03d435ba4db19baa93bc2aa261861cb69de4302d2d8ae457df6de4b11938c8faaf0219ffff0314a43490ce217930ade1a451851a8309c9bb06327e03a532e968e6b8d252de7803e1d9bcf8dce50d1689556db5b80a475cfa4cf0612de71b16879e5486df480f9b03bc5f36bf257796f5abaa7058281a3b4f2befe46c05d83cefeba121b8d226ff69036ace07466894ed823acd5dcbb63ef8e697e33d512f3088bfd30e1406bb0c37580363ccacb83d51f763d50cdf67c5873146e208e269a66a4c33e9a59c64aee17ba403848ee16e47f93e687feb50e503df1df655e9667a38004b252c57ee2a28bc81e0031590fc8ff97576fae28a5df42747196765da859d1b5113024f27ba2b04ed963d03046651a3fdae9bf24c346ee2491878a1662d39f37c9a5131866e3a06c7ad851b0369b35143e0f448a43832ca39d2f700e63d22ee0fad299aeeb10d0e4d3b7943c403175f10d40bca2dacfc856d038d1be1af8c4b220f37be556e38856f252e2044db0219ffff0324c6aeba386774d1e8989c95fe3a60742c9fb86190dae4d47ac1544a70b43d3f03b1008494b77f7fcc99181392b436873fb9f07aabf3b4b3bd128fc4309c554d4e0375fbcbfd8e098ffb654c8e4b666ba80cf32d4795fd82ce91dd4cffc4716802f40306b9fff347dfab6cb1084ede3b2a700e9d00b1dcef9bd9fbc4903ec2fa7697af039b6d58df5642346489ea38635f9151ddd4c6dabd0557d19141d9e9a474081f67032d21d533193aedd2a1c01adfc3e399d49270fe20140fe4d3a2a1bf465efd56d403c14018960d14de84efa601675e3c2a0dbdb72c3e1fb92057c5b6e2d6548cd0320385c0c288c0a94c653707d7527cec75ed8cc11f134b350c948af794f8568d2dd0030f7c5648780a7124770847e449c0598caeb5ad572a7856a0c2bb95d275cfb2540396e4316287fc1f3cb7f8d7f7ebaa9728ff7c3c6b5ebfbbf166d41240fbad772c035a3e040b77814795da5ae702b278345bcc58e7d3b6c741ad0b0d0331c46bc131033969b52a1610f1fb5413da159cd22d4c3efea54cfead34b98bc5fec53e03553d033c4936346aa09ac8f98b55000b9b26e1da30e616c6f732571230f20e35d4e0f6036c77bd63a45e913f9234b8181f7a75eab2958453c5a323526620a91646247a2e030c5918294d7821de3a74259acdbe6a6ce26749d520173960fe395374d4c7e899034fcf99c4a7818ebaa24ee9b03e46034624c46d6a7f3e273cd6b548db09bc3bbe0364bf4cc4fbd2dc79c85377c5679c9e8e24cd4abdd5807241715510f967c49fea03cd1efb4e0b1e8d04c2201c552a9cf11f7ef2f68d211a61be4b62efce5711155f037c05a1c086ebeff7d183efc5aa604f8b652127afa0b484d66f399f286b4c912e03e732b3d9645534f9a841df82be813fb28bb5a1b31d2ec72340b37100cbeb784603382909c11c72d4be673a9fd382b3636970f02c29c40badd44308656a4e449bf2035831e6c55de3bb602dfa63a06052f0718e648df163f1bdeab689dacd766e20090368c77dd73eae27c406283eac6e4c539e59079e4c80c83f2b7251167ba0adef0e030bed0e3b7ee979159bb15671267fd5b4a8f081b250f46b90efb68b5c2c861f3d032ccf6367990e901e7bf3ad92b8e47785ab37eef984d2674a40d880d2b92d16c7031fff886985a52e320df2fc94e77707b276e915252a16a4a3cffdaefd8ccf799e03124400534e8615dd46750904ff389d07ef4a078ea9b9b27b5be7bdd8dab34c8803a455fda28dfaccecf3eb7d6c5dbeca72b0bf19c6248f9bb38feaa2ccf2bfa4c603738d99b87e044cfc305c3926e803efe71a1fa29a632bc762f53d6ea60fe8b5f403f8b127665029ea44bd5e1001ea4bc0da6610f6cb16071f7fdd077d2c0ea09f4a034f808bef87afee94999253ff211b2937e2c0015819a663358b4a851e81727fe7038cad1aca5edfdb2c23831ec6945f4bd90847a32150544a8a3b5fab8266e52b4303db1edd88da31b9173b3a01a4bcb70736f1fb7d3d7c4ff994859c9853af8d13ad03368a3deceddbf642196ed53eccf27173a264a7676dd248d202620423db656dba03dcaddf110217ee48bfb8eeff146af24219a51ac93ca67f522482e2a3564b460103f4f3faad37bea3e205267b20d5a04787281af8a7fb40e7e25abd16b1fb673d980351b04acdc59d6d2676cb376513e6ef4e0e457fb7667841912288d0e20a2a80b303cf603aa4de6a946d150a191044c72b182176fb4021c6b2d18a383855a8f0234e031b5526d099906496a3a33d60306caefad770cd03a0881fe26d7f1a0de66b43ac035e59a8277f34b835258b96b4508bec0ef3922515e4142f0490770b3b2175569f03293dce157508c58129da9fdebc65200c1c1d983a8107e0f00d93b0cfe25af3e005581e03e61bc331fa2bcfdfbcbaaffe43953dd29f5dae150f901483658d263be00c044707b05cbe758c7d05581e03e98f02ec287a7bc81664c3bd3547c9c43fc30dd780deb035cc572ed0200c044683c5a2e4fd4005581e0301b4c5ac518015a0bce436357c6ffae80bb8291afc971ebe35544f24400c024501aa2450d005581e03fe83da1ccaef9d9bd78ce53543b6368d6df3947d410bf2d34eb594c300040205581e03ec48afe9bed2ccb5532d8a32fc0cbb2e1ba61c7556de5f51e397c4be200c01463d1ec5ffb1f0032df39c0062882ba634fb24c89e7f9871ecef10a6e6a6e79a336f6ed463d5c94203576d247b864a9c9c193245be5262a86aceeb51240a250d7b4354c293d83a678d05581e0397fc5d38badeb2417fc4af69d36e4965c61f33bb84f646b7d58a9da68007011bffffffffffffffff033fb0fa6f5661fde6378c4db73cf7f1243b922e4b55a3435735c010e477f1c24405581e037a436184a5fc4ce62ad4b2daaf8a45e35f2947e33aeb11416da640405004060219e48e03026455994a7764223a128fa757f29d61c41ac8e28bbab1f879c66e232fddb035036c4372246d91297c5eca3d8d1d450153f9522df23de517957182e29d8416b60c039c41360797c1aa7097a0a9af04c1f817bb5c454d0f772e8ebe2fd352ca7e0d8003ba5c25d3ffc47ad414f2443245ed620a381ce9d9f0d1ee70505a1db59120de1403c0b160d239ce0c71812917d0798c6964edb234491c2f32eb7574c8d7a16270d1034424e96e0a1731300a2559039dea0424a1e764dd8d7d15d03aeaad0ad4f3c4510219ffff031607ad0a1ba305ef701797730c019c3b185c0dbb0f482f10386db3446a8f7a540312287bc29f2baed4b1fc930f52489532b4fec922a36b4a91a91f7783402c380a037ec73b2e9bcef8facbe2637ff6111e1ef07153186e00f47d729f0690dc004b4503055d30bc306d96ab0cb9aedaff495f7afb4730446c7a1f96f785c05004135f200398418a681397427f906b8e034f61b8c96f509d367affb82a452f268302c94de103d152c22b71f6c3039c0923a13d58ba41db780be6dbee23526315a0a7cf0431f1037d07fa5723febf58b7b064f66fb51ccd33542f1733fd5095655fdb1cb52ed61003d757e18731ae954d17ba2b37aef6316225c955be31a5610b87e9454be425325803753b37ff3abfbe6254417acdccdbc7792897f9a69ca3519f33db8e1f0a06f71d035d0f2edb7053f1faccf65af86e531d22c3cc2949b8deb3160c91914b639d5bcb03a103f6ad9e92cdc19712b1a2c2520868d48838c6ae9841b5b6598facc92964630219ffff03d8b89977962e191ae00a471cfc8d04ab27004105aabea3f20a3514118c6362a40342228b2ce4d7af8913be27e5d33f74ac1156e79ce6b215261a0f340150aed5990219ffff034f61ea35d70737235a7524be89070d8a1b4312a463edd647598925fad5dd27ef0367356218f3ac808868159402784456d665ec6a3aa0a41585abfbb65d98f699280338604a343bc9aecc1935981e153cfe89177e98d6a52749241e3474fb37d3062d0379e57d3018566ef607f70739871a70e22f250c7073514ba45ebf0b623e2150310219ffff03ff41096042448d60e51cf90c3f4d32c484f2075dcf75997b73cb5132fa14cee303d55330cfd7fa4095c67d97d6e226d5f746dfa699344068ff850c9cd661a7237e0388185dc33be1752e598f422b3ca36b88f72978624ac5d3c52bca8f1aa5df907b0331efd165c257b035e9d310972a721a568efbe1497c9d6cadc31cdc141092b0dd033175ca26ae0b78e24f241d6d59350f393f513d386f76caa4dc01eec584c9683703c72b5eb847b4637591afae256fd03a1e652300ee869b73b9a744d5260fda709b03ee694228acfb8ca4132d1854640a984b7526b6dc1d8d1d2f7388559769b83fd403772906b1418f536fd3438952d8a507c574f872fecd6527c4d4f4a544f111f742039c81737ae5a38baeb1726a1555e57d6c70cdd7ff0277bba013842f992fe3d414031ad3fe9c07099f58f9840ce63f5cb56a2131a661ce47e279620513c287bccf980353da96fa6b3cf8379071046658960fe9f2e5583b7371aa00bc0b74a6e78a92a1037146604f75eae7c004c649e88055dbdaad5f11c9d75a1c070b80cdd59069fb9b03ea5c7eca43d22257270df496f2de21a4c2ecaab6fd1cfb16d9dfa4d47900295903a009fcb0a43b723b5e57d134fcf69fea087ca706f9821a47c2d9b4078e848a6a0385cd59308c0ba41b68662aa4c4ca5dc43ccecbfe34a0bb758961f960b6c08f76032277366223dc4bd673248b35fdbffb6d962fccfde4417a1b5ee1c25988bc06f803edf621f6da6f85e3543611cb792e072dec8da2d3136176b5ae6477665df090f80320c0a600fde72ac1545c1dcea40ee003c6ce25bbfbe5a425ca100ddac6bb8fc50326c500f83376c53ec000ce4b6de712524fc6cd3f212eef3691502404f29858cd03fffe27ae5abbc45140db8c52c20fa03e4240a35c6c91f37d38279ba9a3127a160302f261fe22ba2bda212b7d6ce8d7a5a6c1e8821417a12a758c3f6aa13317d2e903468dc4cd595e8792cf5d3f757e548396f5d871043b32bbfa37c8abe3143ef6dc03163eab7b6ba3a1f8eba01c69bbbb81c0d5534ba8feab7c1bb11d201e06f7d53b034f5a5f6706dc853cb3ae2279729e0d7e24dda128a77358144e4c0fd3e5d60e980605581e033dadb7653588841a2087764475e0b140094c5573ad02852325c0ee44f007011bffffffffffffffff0399bec80f747a7f4d8c90241f2b4687e87d876ab2a1e786184b774bc9a3b314bc036260dd7e446b60f4c765ee6fa242dd88c0bb4d8ea47dddc956c771e85948b10c05581e03676cdbe01ce54cbf6c6a6c5c2dd9bc2972134e73cf653233f83a9523800405038d6fe41665cfb4d58918bbf3a81688da1ca3f67e529dc7f4cc040b0f75102fa60301337e4413f01c345b614ccdf8788466933f1a0def558c37a19ce0bfd6101d4605581e033431dd3c678cf6bb4c09f0cf8292eb4f7d82052f7363f6f952caf1ea600c0147011f667bbfc00005581d0258edc64491e8dd578d51f1c192eae6265a18ba613588a2056b86e4ed0c02470207288b40948205581d0268f24ae2fad81ed2dca702123aed6f0af6a60f88dbb12d3d35ae93630c02470804bac3420ffe05581d02e390288ece92f3c6fbb890464690c53d3e01772dd97046a8daff4f900c04478034e7a51a2a2804592c1d608060405234801561001057600080fd5b50600436106101b95760003560e01c80636a627842116100f9578063ba9a7a5611610097578063d21220a711610071578063d21220a7146105da578063d505accf146105e2578063dd62ed3e14610640578063fff6cae91461067b576101b9565b8063ba9a7a5614610597578063bc25cf771461059f578063c45a0155146105d2576101b9565b80637ecebe00116100d35780637ecebe00146104d757806389afcb441461050a57806395d89b4114610556578063a9059cbb1461055e576101b9565b80636a6278421461046957806370a082311461049c5780637464fc3d146104cf576101b9565b806323b872dd116101665780633644e515116101405780633644e51514610416578063485cc9551461041e5780635909c0d5146104595780635a3d549314610461576101b9565b806323b872dd146103ad57806330adf81f146103f0578063313ce567146103f8576101b9565b8063095ea7b311610197578063095ea7b3146103155780630dfe16811461036257806318160ddd14610393576101b9565b8063022c0d9f146101be57806306fdde03146102595780630902f1ac146102d6575b600080fd5b610257600480360360808110156101d457600080fd5b81359160208101359173ffffffffffffffffffffffffffffffffffffffff604083013516919081019060808101606082013564010000000081111561021857600080fd5b82018360208201111561022a57600080fd5b8035906020019184600183028401116401000000008311171561024c57600080fd5b509092509050610683565b005b610261610d57565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029b578181015183820152602001610283565b50505050905090810190601f1680156102c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102de610d90565b604080516dffffffffffffffffffffffffffff948516815292909316602083015263ffffffff168183015290519081900360600190f35b61034e6004803603604081101561032b57600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135169060200135610de5565b604080519115158252519081900360200190f35b61036a610dfc565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61039b610e18565b60408051918252519081900360200190f35b61034e600480360360608110156103c357600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060400135610e1e565b61039b610efd565b610400610f21565b6040805160ff9092168252519081900360200190f35b61039b610f26565b6102576004803603604081101561043457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516610f2c565b61039b611005565b61039b61100b565b61039b6004803603602081101561047f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611011565b61039b600480360360208110156104b257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113cb565b61039b6113dd565b61039b600480360360208110156104ed57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113e3565b61053d6004803603602081101561052057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166113f5565b6040805192835260208301919091528051918290030190f35b610261611892565b61034e6004803603604081101561057457600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81351690602001356118cb565b61039b6118d8565b610257600480360360208110156105b557600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166118de565b61036a611ad4565b61036a611af0565b610257600480360360e08110156105f857600080fd5b5073ffffffffffffffffffffffffffffffffffffffff813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611b0c565b61039b6004803603604081101561065657600080fd5b5073ffffffffffffffffffffffffffffffffffffffff81358116916020013516611dd8565b610257611df5565b600c546001146106f457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55841515806107075750600084115b61075c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180612b2f6025913960400191505060405180910390fd5b600080610767610d90565b5091509150816dffffffffffffffffffffffffffff168710801561079a5750806dffffffffffffffffffffffffffff1686105b6107ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612b786021913960400191505060405180910390fd5b600654600754600091829173ffffffffffffffffffffffffffffffffffffffff91821691908116908916821480159061085457508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b6108bf57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f556e697377617056323a20494e56414c49445f544f0000000000000000000000604482015290519081900360640190fd5b8a156108d0576108d0828a8d611fdb565b89156108e1576108e1818a8c611fdb565b86156109c3578873ffffffffffffffffffffffffffffffffffffffff166310d1e85c338d8d8c8c6040518663ffffffff1660e01b8152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156109aa57600080fd5b505af11580156109be573d6000803e3d6000fd5b505050505b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a08231916024808301926020929190829003018186803b158015610a2f57600080fd5b505afa158015610a43573d6000803e3d6000fd5b505050506040513d6020811015610a5957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191955073ffffffffffffffffffffffffffffffffffffffff8316916370a0823191602480820192602092909190829003018186803b158015610acb57600080fd5b505afa158015610adf573d6000803e3d6000fd5b505050506040513d6020811015610af557600080fd5b5051925060009150506dffffffffffffffffffffffffffff85168a90038311610b1f576000610b35565b89856dffffffffffffffffffffffffffff160383035b9050600089856dffffffffffffffffffffffffffff16038311610b59576000610b6f565b89856dffffffffffffffffffffffffffff160383035b90506000821180610b805750600081115b610bd5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180612b546024913960400191505060405180910390fd5b6000610c09610beb84600363ffffffff6121e816565b610bfd876103e863ffffffff6121e816565b9063ffffffff61226e16565b90506000610c21610beb84600363ffffffff6121e816565b9050610c59620f4240610c4d6dffffffffffffffffffffffffffff8b8116908b1663ffffffff6121e816565b9063ffffffff6121e816565b610c69838363ffffffff6121e816565b1015610cd657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f556e697377617056323a204b0000000000000000000000000000000000000000604482015290519081900360640190fd5b5050610ce4848488886122e0565b60408051838152602081018390528082018d9052606081018c9052905173ffffffffffffffffffffffffffffffffffffffff8b169133917fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d8229181900360800190a350506001600c55505050505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b6008546dffffffffffffffffffffffffffff808216926e0100000000000000000000000000008304909116917c0100000000000000000000000000000000000000000000000000000000900463ffffffff1690565b6000610df233848461259c565b5060015b92915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60005481565b73ffffffffffffffffffffffffffffffffffffffff831660009081526002602090815260408083203384529091528120547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff14610ee85773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610eb6908363ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b610ef384848461260b565b5060019392505050565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60035481565b60055473ffffffffffffffffffffffffffffffffffffffff163314610fb257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f556e697377617056323a20464f5242494444454e000000000000000000000000604482015290519081900360640190fd5b6006805473ffffffffffffffffffffffffffffffffffffffff9384167fffffffffffffffffffffffff00000000000000000000000000000000000000009182161790915560078054929093169116179055565b60095481565b600a5481565b6000600c5460011461108457604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611094610d90565b50600654604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905193955091935060009273ffffffffffffffffffffffffffffffffffffffff909116916370a08231916024808301926020929190829003018186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d602081101561113857600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905192935060009273ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b1580156111b157600080fd5b505afa1580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b505190506000611201836dffffffffffffffffffffffffffff871663ffffffff61226e16565b90506000611225836dffffffffffffffffffffffffffff871663ffffffff61226e16565b9050600061123387876126ec565b600054909150806112705761125c6103e8610bfd611257878763ffffffff6121e816565b612878565b985061126b60006103e86128ca565b6112cd565b6112ca6dffffffffffffffffffffffffffff8916611294868463ffffffff6121e816565b8161129b57fe5b046dffffffffffffffffffffffffffff89166112bd868563ffffffff6121e816565b816112c457fe5b0461297a565b98505b60008911611326576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612bc16028913960400191505060405180910390fd5b6113308a8a6128ca565b61133c86868a8a6122e0565b811561137e5760085461137a906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a250506001600c5550949695505050505050565b60016020526000908152604090205481565b600b5481565b60046020526000908152604090205481565b600080600c5460011461146957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c81905580611479610d90565b50600654600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905194965092945073ffffffffffffffffffffffffffffffffffffffff9182169391169160009184916370a08231916024808301926020929190829003018186803b1580156114fb57600080fd5b505afa15801561150f573d6000803e3d6000fd5b505050506040513d602081101561152557600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff8516916370a08231916024808301926020929190829003018186803b15801561159957600080fd5b505afa1580156115ad573d6000803e3d6000fd5b505050506040513d60208110156115c357600080fd5b5051306000908152600160205260408120549192506115e288886126ec565b600054909150806115f9848763ffffffff6121e816565b8161160057fe5b049a5080611614848663ffffffff6121e816565b8161161b57fe5b04995060008b11801561162e575060008a115b611683576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180612b996028913960400191505060405180910390fd5b61168d3084612992565b611698878d8d611fdb565b6116a3868d8c611fdb565b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8916916370a08231916024808301926020929190829003018186803b15801561170f57600080fd5b505afa158015611723573d6000803e3d6000fd5b505050506040513d602081101561173957600080fd5b5051604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905191965073ffffffffffffffffffffffffffffffffffffffff8816916370a0823191602480820192602092909190829003018186803b1580156117ab57600080fd5b505afa1580156117bf573d6000803e3d6000fd5b505050506040513d60208110156117d557600080fd5b505193506117e585858b8b6122e0565b811561182757600854611823906dffffffffffffffffffffffffffff808216916e01000000000000000000000000000090041663ffffffff6121e816565b600b555b604080518c8152602081018c9052815173ffffffffffffffffffffffffffffffffffffffff8f169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a35050505050505050506001600c81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b6000610df233848461260b565b6103e881565b600c5460011461194f57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654600754600854604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff9485169490931692611a2b9285928792611a26926dffffffffffffffffffffffffffff169185916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b50519063ffffffff61226e16565b611fdb565b600854604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611aca9284928792611a26926e01000000000000000000000000000090046dffffffffffffffffffffffffffff169173ffffffffffffffffffffffffffffffffffffffff8616916370a0823191602480820192602092909190829003018186803b1580156119ee57600080fd5b50506001600c5550565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b42841015611b7b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f556e697377617056323a20455850495245440000000000000000000000000000604482015290519081900360640190fd5b60035473ffffffffffffffffffffffffffffffffffffffff80891660008181526004602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958d166060860152608085018c905260a085019590955260c08085018b90528151808603909101815260e0850182528051908301207f19010000000000000000000000000000000000000000000000000000000000006101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff89166101828501526101a284018890526101c28401879052519193926101e2808201937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081019281900390910190855afa158015611cdc573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811615801590611d5757508873ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b611dc257604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f556e697377617056323a20494e56414c49445f5349474e415455524500000000604482015290519081900360640190fd5b611dcd89898961259c565b505050505050505050565b600260209081526000928352604080842090915290825290205481565b600c54600114611e6657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f556e697377617056323a204c4f434b4544000000000000000000000000000000604482015290519081900360640190fd5b6000600c55600654604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051611fd49273ffffffffffffffffffffffffffffffffffffffff16916370a08231916024808301926020929190829003018186803b158015611edd57600080fd5b505afa158015611ef1573d6000803e3d6000fd5b505050506040513d6020811015611f0757600080fd5b5051600754604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff909216916370a0823191602480820192602092909190829003018186803b158015611f7a57600080fd5b505afa158015611f8e573d6000803e3d6000fd5b505050506040513d6020811015611fa457600080fd5b50516008546dffffffffffffffffffffffffffff808216916e0100000000000000000000000000009004166122e0565b6001600c55565b604080518082018252601981527f7472616e7366657228616464726573732c75696e743235362900000000000000602091820152815173ffffffffffffffffffffffffffffffffffffffff85811660248301526044808301869052845180840390910181526064909201845291810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001781529251815160009460609489169392918291908083835b602083106120e157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016120a4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612143576040519150601f19603f3d011682016040523d82523d6000602084013e612148565b606091505b5091509150818015612176575080511580612176575080806020019051602081101561217357600080fd5b50515b6121e157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f556e697377617056323a205452414e534645525f4641494c4544000000000000604482015290519081900360640190fd5b5050505050565b60008115806122035750508082028282828161220057fe5b04145b610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000604482015290519081900360640190fd5b80820382811115610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6dffffffffffffffffffffffffffff841180159061230c57506dffffffffffffffffffffffffffff8311155b61237757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f556e697377617056323a204f564552464c4f5700000000000000000000000000604482015290519081900360640190fd5b60085463ffffffff428116917c0100000000000000000000000000000000000000000000000000000000900481168203908116158015906123c757506dffffffffffffffffffffffffffff841615155b80156123e257506dffffffffffffffffffffffffffff831615155b15612492578063ffffffff16612425856123fb86612a57565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169063ffffffff612a7b16565b600980547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff929092169290920201905563ffffffff8116612465846123fb87612a57565b600a80547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff92909216929092020190555b600880547fffffffffffffffffffffffffffffffffffff0000000000000000000000000000166dffffffffffffffffffffffffffff888116919091177fffffffff0000000000000000000000000000ffffffffffffffffffffffffffff166e0100000000000000000000000000008883168102919091177bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000063ffffffff871602179283905560408051848416815291909304909116602082015281517f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1929181900390910190a1505050505050565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020526040902054612641908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600160205260408082209390935590841681522054612683908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff80841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561275757600080fd5b505afa15801561276b573d6000803e3d6000fd5b505050506040513d602081101561278157600080fd5b5051600b5473ffffffffffffffffffffffffffffffffffffffff821615801594509192509061286457801561285f5760006127d86112576dffffffffffffffffffffffffffff88811690881663ffffffff6121e816565b905060006127e583612878565b90508082111561285c576000612813612804848463ffffffff61226e16565b6000549063ffffffff6121e816565b905060006128388361282c86600563ffffffff6121e816565b9063ffffffff612abc16565b9050600081838161284557fe5b04905080156128585761285887826128ca565b5050505b50505b612870565b8015612870576000600b555b505092915050565b600060038211156128bb575080600160028204015b818110156128b5578091506002818285816128a457fe5b0401816128ad57fe5b04905061288d565b506128c5565b81156128c5575060015b919050565b6000546128dd908263ffffffff612abc16565b600090815573ffffffffffffffffffffffffffffffffffffffff8316815260016020526040902054612915908263ffffffff612abc16565b73ffffffffffffffffffffffffffffffffffffffff831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000818310612989578161298b565b825b9392505050565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600160205260409020546129c8908263ffffffff61226e16565b73ffffffffffffffffffffffffffffffffffffffff831660009081526001602052604081209190915554612a02908263ffffffff61226e16565b600090815560408051838152905173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6dffffffffffffffffffffffffffff166e0100000000000000000000000000000290565b60006dffffffffffffffffffffffffffff82167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841681612ab457fe5b049392505050565b80820182811015610df657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000604482015290519081900360640190fdfe556e697377617056323a20494e53554646494349454e545f4f55545055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f494e5055545f414d4f554e54556e697377617056323a20494e53554646494349454e545f4c4951554944495459556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4255524e4544556e697377617056323a20494e53554646494349454e545f4c49515549444954595f4d494e544544a265627a7a723158207dca18479e58487606bf70c79e44d8dee62353c9ee6d01f9a9d70885b8765f2264736f6c634300051000320384b2573251bfe2e94ba79c0b98c656bf64322ed350b0879a0ee59d5ec30128200058210390decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630480c192f1954503f3600582103e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af050010374865282d34b9409d4255f0b455c005820026cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68854f1001ad1ee7743e0f6715f50cdaeb1397d5cb4fa00582002b661198733f53bb9b621ec808effd2e8a3d86db6962103738e13951e49aab0471ef8ca7e487b790219014000582002575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5820eb94db55691873fd8f4d937239039c663e5f6abd98c065fcfe316a94084248f7005820025a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a850d579019250d11fd5122a90a86965d7bc02184400582103f6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c704101005821031f25289b5c9db29d46c3566463f71796d2e07c9a7a96a888214082f19288cd00480bfa364ed607bfd500582002f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee35820663811bb00000000000005e26e848833dcec0000000000001a0ce48769dbdff200582002aa68fd0b9ce5597a6b852e7cf6a582dad59ebc65cf9a27520b304170361e9c5820ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0058200252222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f54c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20218680219f44505581d02a2f0a757c767f2f1f00959b54bb0afc795dbe5a347ff3575e897fb610701192c1d0219c01203217db0427a9a7df644a99dd99bf1ac77d3b430bc74730438ccd55a2a8d7588aa0219da66034d6198727d3f428a3cb210a1b6a8881848ef6b9991490fe3d0fa63f5aac8e468039575845ef29c5c4f5c59d52ccf6a166fbfa745b5ea4f3eff8f35a36592a5a854030bdbc2e6c85207aa334c5439c72db9811d5a27cb403d501e259b7b8211d0482c03fd8f29530748b96c609c2963458b556bce3969a75b37fc96b3ec2f9fe724dd5a03db69853cb602c5c1d6f733e14ca347c37aafb0b625672e219254fd1540b79ec80373b63d0fb6ed7ffde952aa3122f60eaa97e27e71b3b6eb02a094c1f0483e9480033d90703c6ebb918568ef318aa3f6e37ca739916c5219f9cdbd18b22e4d61dc7b03fb32801dbc0d7c9f6fdaccec9071ffde5f68694c6e2bb2869b15b48eaca0968f03a144dfc4f3b1e2fee3dc40999a2217d2da947a61f860d7c9949e19a62afcb8660219ffff035b7997205673de73c19fa9f04c68d5ee94ab57f998c0451aac528c46f1e8566a038a5aea6593fe8e5eabf7d70e5e2af861358713fe6ddbc6a80a05fae6aa571076036766860aed3876af5e53c0d11777eaa443d3639f23258cbbb2013d7ca8a27bdd0376557c3d8ec75e27a501c5a50f204a29391196c5d9dfd264f017315ecbe590830385e066bb492ded45b73a7e0052b0065170d19946f4049f34a6e5646a5eb39b5c0385d59bbaea0f6912608a5ad65f23e8922d4bebebd6dc89f3c395c9b7604187070330b3be6521dcd9f23aa6ccdaee41133c186e71dbd3d8f623bf9108cea020c9fc03b88e987b529e4542dc89df56a59a3e793bf14327347262732745e977a8607f830219ffff03bae8e9a8c6b14ade72932393307cf9f4faa48e3f0d52da0ad02899ebc22993b7030015fd996455b178383a9b571118ddfc72a6bfec4c68748637b22d68ba3d1dfd0306372ec8ab675c393e78f1640f859fb02b1e8553dfd0d9fe86cddf0542b5e939032927ceda284800ad13f2671e078252d3a6067898d2692612555e723693ca7c010364630014871611d84e932a7cd483c2226cf50cb23ddd5c9cdef68b1adcfae9ca03cddd35c2520efd78f95aa0efb1bcfe359ff3d6f2926a220673f33fcb20724b9503c2050126de32364fd49b91c7f710a981853f1b19cfe9a398e16dd63ef616a14c03e4eb94a23ff2beae29a2b3b2cda59f58b2c8081a012d542a2dbc8446474192150390fd2713d204ec02c657eda837d9b903649ca7c21d0bea883560c44a5840cf4f03bad1715db45f58203a1a422cfa3a825aec95f336e5f629ceff505a53b96139980351e45346ddebcd8c95122999b00c0bb21bc3555e46e27df61a54e6556eeb9d0403c32070cbdb4ff193f3ee4659b55f3b2ac1a0ca6e52412ab75d426ce0051fbc990219ffff03a4036d7fde0eea3dd44ad9b1c511f36c5301a5071fd6cee7858bc1f95da35b45030a2fd5e9f19dde84be4f4f8cfead9fd18996d6e0fa39c61eca67049dfd4ec449030e5ea0ca316e81e91bb649fdc161477629da3ecb7e0c762c88dacdc4e332da25038bf68ee483ab94728260a8b47e9ea31366c2e060ed0a35f8253a79e197800910035f3e6ab6e55998003d7d8aa47f2e59965c07e4aecce263a74862460ce3f92fd90365a409f32023f587e6ac8ae13f17021a5b23c8fb39e237ba9cfc763d537f726f03e8e73209210e16df3f423bed3182ea79da5163ee8afc1977c1561bdd1fde9ffc032cb6b42a4667a84d4e42197f5166acb157f1d8edbdfb221d66b68d6016dde21503cde372eb381408caeb10376665bc157307f24506c2491f20ea4c89a7989233e60398cd574d16a61cf4e468e83e89d979ad0c391ea8d422733dc61c173c4f094cd50219ffff0219ffff0219ffff" + } + }, + "txn_info": [ + { + "traces": { + "0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5": { + "code_usage": { + "read": "0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127" + } + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5d9d8b208ea1b6cc" + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd64a7658410c285153", + "storage_read": [ + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f", + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b" + ], + "storage_written": { + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f": "0x0", + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b": "0x10ec3dc1f89c0802" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0xd95fc8448cea732810bfa312a3ebaaafa2c6a3cb": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0xd8a5da9077d5c5ec8b806a3ac3c8", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c700000000000010ec3dc1f89c0802000000000000012384455dc21a01", + "0x0000000000000000000000000000000000000000000000000000000000000009": "0xaa28037adae5827cce516b9dd7dfd8" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x71f755898886f79efa73334450f05a824faeae02": { + "balance": "0x190705b0d47776e3", + "nonce": "0x8f" + }, + "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae" + } + }, + "0x3339474491b13ac638f163d634fbbc722cd27916": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0xa959202a47a24885beeb7de07cfd01f9ec6e5a393f1d515f40a6ff4cc8322d41", + "0x1ddb94459ffc40c2677b8a9322a30bbcd8865572dffd5aba3e2181b5ee3bbf20", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x9bacabca323d73597c4482cd7d164b0ba76e976ed396b897fece57202fe17e3e", + "0xb30d0c34c10c130ac92a1de37e54ac7bdb90a70d224fdd92cba743574dc18743", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0xbb900bdeb39d5848d51385674f626e4a5f449ab5742c2f63f7ae5f91877fb474", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "storage_written": { + "0x1ddb94459ffc40c2677b8a9322a30bbcd8865572dffd5aba3e2181b5ee3bbf20": "0x6e948b35fe5ff", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53": "0x12384455dc21a01", + "0x000000000000000000000000000000000000000000000000000000000000000e": "0x9" + }, + "code_usage": { + "read": "0x3db32b9d0f5a762bfcd05f5d0cbafe91fca8b67a0e2834e13c8bb0531a8125a6" + } + } + }, + "meta": { + "byte_code": "0x02f9017b01818e850c570bd200850dc778ba13830549a19480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e87649ff6f7003174b90104088890dc000000000000000000000000000000000000000000000000000011b15df428b300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000071f755898886f79efa73334450f05a824faeae0200000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a03efde0059a9e20313ee5a466273604b3e79d199a60b2c44e753f5f2fe56eb987a040eca86c1d87c685a3024af4a0224dab92758dc1990b8f8ecb6040f88498ab1e", + "new_txn_trie_node_byte": "0x02f9017b01818e850c570bd200850dc778ba13830549a19480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e87649ff6f7003174b90104088890dc000000000000000000000000000000000000000000000000000011b15df428b300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000071f755898886f79efa73334450f05a824faeae0200000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a03efde0059a9e20313ee5a466273604b3e79d199a60b2c44e753f5f2fe56eb987a040eca86c1d87c685a3024af4a0224dab92758dc1990b8f8ecb6040f88498ab1e", + "new_receipt_trie_node_byte": "0xb9043e02f9043a01830316aab9010000200000000000000000000080000000000000000000000000000000000001000800000000000000000000000000000002000000080000000000000000000000000000000000000000000008000000200000000100000000000000008000000000000000000000000000400000000000000000000000000100000010000080000000000000000000000000000000008100000001000008080000004000000000000400000000000000000008000000000000000000000000000008000000000000000002000000000000200000000000000000000000001000000000000000000040200000000000000000000000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000000000000000000000000000000649ff6f7003174f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba000000000000000000000000000000000000000000000000000649ff6f7003174f89b943339474491b13ac638f163d634fbbc722cd27916f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba000000000000000000000000071f755898886f79efa73334450f05a824faeae02a00000000000000000000000000000000000000000000000000006e948b35fe5fff87994d95fc8448cea732810bfa312a3ebaaafa2c6a3cbe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000012384455dc21a0100000000000000000000000000000000000000000000000010ec3dc1f89c0802f8fc94d95fc8448cea732810bfa312a3ebaaafa2c6a3cbf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000071f755898886f79efa73334450f05a824faeae02b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000649ff6f70031740000000000000000000000000000000000000000000000000006e948b35fe5ff0000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 202410 + } + }, + { + "traces": { + "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae" + } + }, + "0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5": { + "code_usage": { + "read": "0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd64adaf838032882c7", + "storage_read": [ + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f", + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b" + ], + "storage_written": { + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b": "0x1150ddb8ef9c3976", + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f": "0x0" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0xa890e6b83ac95c7de4ffd4549d4cd282b407b495": { + "balance": "0x22b2b5d53ed342d2", + "nonce": "0x6b" + }, + "0x3339474491b13ac638f163d634fbbc722cd27916": { + "storage_read": [ + "0x2f896bfc9c9e71c6886136cc9d4cdf6a0dad4fb0087b5adb73d7f2333184fdb9", + "0x9bacabca323d73597c4482cd7d164b0ba76e976ed396b897fece57202fe17e3e", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x21ef1d37618698fd5eab9f9249a314a31323bb90142688cae6c8c2ab595693dc", + "0xa959202a47a24885beeb7de07cfd01f9ec6e5a393f1d515f40a6ff4cc8322d41", + "0xe02dfcb26e74ceff6d1d546e4ebc866a3afeeb82714de1afc3c7783c51bf5ba8", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000f" + ], + "storage_written": { + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53": "0x11ceb324cf27726", + "0x2f896bfc9c9e71c6886136cc9d4cdf6a0dad4fb0087b5adb73d7f2333184fdb9": "0x6991310cfa2db", + "0x000000000000000000000000000000000000000000000000000000000000000e": "0xa" + }, + "code_usage": { + "read": "0x3db32b9d0f5a762bfcd05f5d0cbafe91fca8b67a0e2834e13c8bb0531a8125a6" + } + }, + "0xd95fc8448cea732810bfa312a3ebaaafa2c6a3cb": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c70000000000001150ddb8ef9c3976000000000000011ceb324cf27726" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5dbb414e52781acc" + } + }, + "meta": { + "byte_code": "0x02f9017a016a850c570bd200850dc778ba13830549a19480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e87649ff6f7003174b90104088890dc000000000000000000000000000000000000000000000000000011b15df428b300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a890e6b83ac95c7de4ffd4549d4cd282b407b49500000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a0a884ab9e5c1057e2e741e5ad4c6335f655a0dd248b3a6b7d7d0eb450ac2cff8ea07befa7f3480ddc589444e0d4498e0fd68fa765747676bafd9a128c6dcd91d5a1", + "new_txn_trie_node_byte": "0x02f9017a016a850c570bd200850dc778ba13830549a19480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e87649ff6f7003174b90104088890dc000000000000000000000000000000000000000000000000000011b15df428b300000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000a890e6b83ac95c7de4ffd4549d4cd282b407b49500000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a0a884ab9e5c1057e2e741e5ad4c6335f655a0dd248b3a6b7d7d0eb450ac2cff8ea07befa7f3480ddc589444e0d4498e0fd68fa765747676bafd9a128c6dcd91d5a1", + "new_receipt_trie_node_byte": "0xb9043e02f9043a0183057f0cb9010000200000000000000000000080000000000000000000000080000000000001000800000000000000000000000000000002000000080000000000000000000000000000000000000000000008000000200000000100000000000000008000000000000000000000000000400000000000000000000000000100000010000080000000000000000000000000000000008100000001000008080000004000400000000000000000000000000008000000000000000000000000000000000000000000000002000000000000200000000000000000000000001000000000000000000040200000000000000000000000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000000000000000000000000000000649ff6f7003174f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba000000000000000000000000000000000000000000000000000649ff6f7003174f89b943339474491b13ac638f163d634fbbc722cd27916f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba0000000000000000000000000a890e6b83ac95c7de4ffd4549d4cd282b407b495a00000000000000000000000000000000000000000000000000006991310cfa2dbf87994d95fc8448cea732810bfa312a3ebaaafa2c6a3cbe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000011ceb324cf277260000000000000000000000000000000000000000000000001150ddb8ef9c3976f8fc94d95fc8448cea732810bfa312a3ebaaafa2c6a3cbf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000a890e6b83ac95c7de4ffd4549d4cd282b407b495b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000649ff6f70031740000000000000000000000000000000000000000000000000006991310cfa2db0000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 157794 + } + }, + { + "traces": { + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5dd52155a6ae57cc" + }, + "0xd95fc8448cea732810bfa312a3ebaaafa2c6a3cb": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c700000000000011c16aded0b6a2f30000000000000115e265a04ab726", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { + "code_usage": { + "read": "0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2" + } + }, + "0xdee90fc88ef3aceace9a22d2b2921906b7244552": { + "balance": "0x8a9d9dbb9e5f0d3", + "nonce": "0xa19" + }, + "0x3339474491b13ac638f163d634fbbc722cd27916": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x08f55d8b98c4bc7e11f2e039154ef30538af6b9937232ca209892c45871b15fb", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x9bacabca323d73597c4482cd7d164b0ba76e976ed396b897fece57202fe17e3e", + "0x0de215f63bfff4fe7883d192cea3721d7ad4060ea680c272f62f5c5faf4d8402", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0xad854c85d5b9e7470859152ad53c772f27f17f8dee52d4d3ff9c85f2b46f27b1", + "0xa959202a47a24885beeb7de07cfd01f9ec6e5a393f1d515f40a6ff4cc8322d41", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000010" + ], + "storage_written": { + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53": "0x115e265a04ab726", + "0xad854c85d5b9e7470859152ad53c772f27f17f8dee52d4d3ff9c85f2b46f27b1": "0x708ccaca7c000", + "0x000000000000000000000000000000000000000000000000000000000000000e": "0xb" + }, + "code_usage": { + "read": "0x3db32b9d0f5a762bfcd05f5d0cbafe91fca8b67a0e2834e13c8bb0531a8125a6" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd64b4b855de442ec44", + "storage_read": [ + "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8", + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b" + ], + "storage_written": { + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b": "0x11c16aded0b6a2f3", + "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8": "0x0" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + } + }, + "meta": { + "byte_code": "0x02f9015c01820a18850b4ad345008515c508c70083035b60947a250d5630b4cf539739df2c5dacb4c659f2488d8801cd918d39380020b8e4fb3bdb41000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000dee90fc88ef3aceace9a22d2b2921906b724455200000000000000000000000000000000000000000000000000000000663811fc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a0d244c53d24ffc3b2fcdfaf692d82593c0bb8cf3369b2a94c91c2c0249c4510a7a0751ca6879dce7d240443728d6e5756fa78be470b7ebd94cf984a1cb94f9f2c30", + "new_txn_trie_node_byte": "0x02f9015c01820a18850b4ad345008515c508c70083035b60947a250d5630b4cf539739df2c5dacb4c659f2488d8801cd918d39380020b8e4fb3bdb41000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000dee90fc88ef3aceace9a22d2b2921906b724455200000000000000000000000000000000000000000000000000000000663811fc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c001a0d244c53d24ffc3b2fcdfaf692d82593c0bb8cf3369b2a94c91c2c0249c4510a7a0751ca6879dce7d240443728d6e5756fa78be470b7ebd94cf984a1cb94f9f2c30", + "new_receipt_trie_node_byte": "0xb9043e02f9043a018307c9a5b9010000200000000000000000000080000000000000000000000000010000000001000800000000000000000000000000000002000000080000000000000000000000000000000000000000000008000000200000000000000000000000008000000000000000020000000000000000000000000000000000000100000010000080000000000000000000004000000000008100000001000008080000004000000000000000000000000000000008000000000000000000000000000000000000000000000002000000000000200000000200000000000000001000000000000020000000200000000000000000000000000000000000000000400008000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da000000000000000000000000000000000000000000000000000708d25e11a697df89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba000000000000000000000000000000000000000000000000000708d25e11a697df89b943339474491b13ac638f163d634fbbc722cd27916f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba0000000000000000000000000dee90fc88ef3aceace9a22d2b2921906b7244552a0000000000000000000000000000000000000000000000000000708ccaca7c000f87994d95fc8448cea732810bfa312a3ebaaafa2c6a3cbe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000000115e265a04ab72600000000000000000000000000000000000000000000000011c16aded0b6a2f3f8fc94d95fc8448cea732810bfa312a3ebaaafa2c6a3cbf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000dee90fc88ef3aceace9a22d2b2921906b7244552b880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000708d25e11a697d000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 150169 + } + }, + { + "traces": { + "0xd95fc8448cea732810bfa312a3ebaaafa2c6a3cb": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007" + ], + "storage_written": { + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c70000000000001237d2e8e9b68a47000000000000010ed998f3a2f726" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd64bc1ed67fd42d398", + "storage_read": [ + "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8", + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b" + ], + "storage_written": { + "0x3532f2f644d8a7080f8db547c7b002c7f5c206478ebcc15036b3c74f89a6943b": "0x1237d2e8e9b68a47", + "0xfb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba8": "0x0" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0xfe6cf59162f319fb2c536f63a6121eb88dc85a34": { + "balance": "0x73a223146e589e8", + "nonce": "0x28c" + }, + "0x3339474491b13ac638f163d634fbbc722cd27916": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000010", + "0x9bacabca323d73597c4482cd7d164b0ba76e976ed396b897fece57202fe17e3e", + "0x932f5dddf61dcab2b7f81a97907cab7ab3afa53fb02eaa509ecf46d078a590ad", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0x7e5308f712c73bb1d1fdf32173d487dce249d64f2aed871db408acd1809c3c8e", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53", + "0xa959202a47a24885beeb7de07cfd01f9ec6e5a393f1d515f40a6ff4cc8322d41", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x2f2974bd4e0f611fb6e95d73ca9161f61dd52ac4d1e50f1933fbd0faaa911374", + "0x000000000000000000000000000000000000000000000000000000000000000f", + "0x0000000000000000000000000000000000000000000000000000000000000006" + ], + "storage_written": { + "0x7e5308f712c73bb1d1fdf32173d487dce249d64f2aed871db408acd1809c3c8e": "0x708ccaca7c000", + "0x666a1242978ca79d65d7cbfd5a9f5216d93c4785e10f7e5374786925fe8ccf53": "0x10ed998f3a2f726", + "0x000000000000000000000000000000000000000000000000000000000000000e": "0xc" + }, + "code_usage": { + "read": "0x3db32b9d0f5a762bfcd05f5d0cbafe91fca8b67a0e2834e13c8bb0531a8125a6" + } + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5ded909a5428d1cc" + }, + "0x7a250d5630b4cf539739df2c5dacb4c659f2488d": { + "code_usage": { + "read": "0xa324bc7db3d091b6f1a2d526e48a9c7039e03b3cc35f7d44b15ac7a1544c11d2" + } + } + }, + "meta": { + "byte_code": "0x02f9015c0182028b850aa9e48a008515c508c70083035b60947a250d5630b4cf539739df2c5dacb4c659f2488d880102a336dba60000b8e4fb3bdb41000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000fe6cf59162f319fb2c536f63a6121eb88dc85a3400000000000000000000000000000000000000000000000000000000663811fc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c080a0b66d674b17cb04d44900455636b496131fdae9b8e4c81f790854bda351130e83a00db241292520a7c135d381b0fd18788c9490aff4b756d397453a6454da4e0a3c", + "new_txn_trie_node_byte": "0x02f9015c0182028b850aa9e48a008515c508c70083035b60947a250d5630b4cf539739df2c5dacb4c659f2488d880102a336dba60000b8e4fb3bdb41000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000fe6cf59162f319fb2c536f63a6121eb88dc85a3400000000000000000000000000000000000000000000000000000000663811fc0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000003339474491b13ac638f163d634fbbc722cd27916c080a0b66d674b17cb04d44900455636b496131fdae9b8e4c81f790854bda351130e83a00db241292520a7c135d381b0fd18788c9490aff4b756d397453a6454da4e0a3c", + "new_receipt_trie_node_byte": "0xb9043e02f9043a01830a143eb9010000200000000000000000000080100004000000000000000000010000000001000800000000000000000000000000000002000000080000000000000000000000000000000000000000000008000000200000000000000000000000008000000000001000000000000000000000000000000000000000000100000010000080000000000000000000004000000000008100000001000008080000004000000000000000000000000000000008000000000000000000000000000000000000000000000002000000000000200000000000000000000000001000000000000020000000200000000000000000000000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da00000000000000000000000000000000000000000000000000076680a18ffe754f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba00000000000000000000000000000000000000000000000000076680a18ffe754f89b943339474491b13ac638f163d634fbbc722cd27916f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d95fc8448cea732810bfa312a3ebaaafa2c6a3cba0000000000000000000000000fe6cf59162f319fb2c536f63a6121eb88dc85a34a0000000000000000000000000000000000000000000000000000708ccaca7c000f87994d95fc8448cea732810bfa312a3ebaaafa2c6a3cbe1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000010ed998f3a2f7260000000000000000000000000000000000000000000000001237d2e8e9b68a47f8fc94d95fc8448cea732810bfa312a3ebaaafa2c6a3cbf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488da0000000000000000000000000fe6cf59162f319fb2c536f63a6121eb88dc85a34b88000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076680a18ffe754000000000000000000000000000000000000000000000000000708ccaca7c0000000000000000000000000000000000000000000000000000000000000000000", + "gas_used": 150169 + } + }, + { + "traces": { + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5def439c4b5641cc" + }, + "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae" + } + }, + "0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5": { + "code_usage": { + "read": "0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127" + } + }, + "0x4fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660b": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0x000000000000000000000000000000000000000000000000000000000000000c" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000009": "0xcf1ba905921432e18b85621f8cf12637a0", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0x255a7ee758811e1b4264e80e0c47e8", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c700000000000068a4699375205d36000000000000002c7dc20fc759b8", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0x8b683c400457ef31f3c27c90acb6ab69304d1b77": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x83e1437aab4333b6030f364dc9caee9c0c897f2db6337f02ce233d75b273b1fa", + "0x0000000000000000000000000000000000000000000000000000000000000011", + "0x675bf37819e10c16f976a50d9f656ba9812a6d5a65c8e7d60705c35921eb77be", + "0x000000000000000000000000000000000000000000000000000000000000000b", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000014", + "0xfb1d4442566123dd7c0fe5cd59628ac4451e1b9577fd6e20474cca2443e1b531", + "0xddc732c826b289315f15077a83d3fe3859af931e5164604edd58e7607cacb5f5", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000000000000000000000000000000000000000000e" + ], + "storage_written": { + "0xddc732c826b289315f15077a83d3fe3859af931e5164604edd58e7607cacb5f5": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffe2a8152211587", + "0x83e1437aab4333b6030f364dc9caee9c0c897f2db6337f02ce233d75b273b1fa": "0xa26c347416cf", + "0x675bf37819e10c16f976a50d9f656ba9812a6d5a65c8e7d60705c35921eb77be": "0x2c7dc20fc759b8", + "0xfb1d4442566123dd7c0fe5cd59628ac4451e1b9577fd6e20474cca2443e1b531": "0x1" + }, + "code_usage": { + "read": "0xe7ade98613d60bcf57bf6f63bdc0ba142056f211f922f48e2e16a049c0ba5048" + } + }, + "0xc58e4d309c4f5c88afe355c260ee9a1a699ed1dd": { + "balance": "0x6fd1b56dbabfd0d", + "nonce": "0xba4" + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd647816bd65e02a57f", + "storage_read": [ + "0x76cd8662b2bfb43bcc04aa9280535bff21a0556a979e6d40014a513d17cd257e", + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f" + ], + "storage_written": { + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f": "0x0", + "0x76cd8662b2bfb43bcc04aa9280535bff21a0556a979e6d40014a513d17cd257e": "0x68a4699375205d36" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + } + }, + "meta": { + "byte_code": "0x02f9019401820ba384b2d05e008502233d46138304dc2f9480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e80b901243d0e3ec50000000000000000000000000000000000000000000000000001d57eaddeea78000000000000000000000000000000000000000000000000023bb9178b0192be00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dd00000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000008b683c400457ef31f3c27c90acb6ab69304d1b77000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2c080a0dd70145d23e041328d8242858ca9815cbb03bf408dd7d81e30532932497838fca0496bf86926d61a533fa5824c9d21271b8b1597b48014282168a48575f8cf417c", + "new_txn_trie_node_byte": "0x02f9019401820ba384b2d05e008502233d46138304dc2f9480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e80b901243d0e3ec50000000000000000000000000000000000000000000000000001d57eaddeea78000000000000000000000000000000000000000000000000023bb9178b0192be00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dd00000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000000000000000000000000000000000000000000000020000000000000000000000008b683c400457ef31f3c27c90acb6ab69304d1b77000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2c080a0dd70145d23e041328d8242858ca9815cbb03bf408dd7d81e30532932497838fca0496bf86926d61a533fa5824c9d21271b8b1597b48014282168a48575f8cf417c", + "new_receipt_trie_node_byte": "0xb9057802f9057401830c8306b9010000200000000000000000000080000000000000000000000000000000000100000000000000000008000000000000000002000000080080001000000000200000000000000000000000000008000000200000100100400000000000000000000000000020000000000000400000000000000000000000040000000010000000000000000000080000000000000000000000000000000000090000004000000000020000000000000000000000000000000000000000000000000000000080000020000002000000000000000000000800000000000000001000000042000000000050200000000810000000000000000000000000000000000000000000000000f90469f89b948b683c400457ef31f3c27c90acb6ab69304d1b77f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dda00000000000000000000000008b683c400457ef31f3c27c90acb6ab69304d1b77a00000000000000000000000000000000000000000000000000000177988b18bb9f89b948b683c400457ef31f3c27c90acb6ab69304d1b77f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dda00000000000000000000000004fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660ba00000000000000000000000000000000000000000000000000001be05252d5ebff89b948b683c400457ef31f3c27c90acb6ab69304d1b77f863a08c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a0000000000000000000000000c58e4d309c4f5c88afe355c260ee9a1a699ed1dda000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0fffffffffffffffffffffffffffffffffffffffffffffffffffe2a8152211587f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000004fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660ba000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000000000000000000000000000044081919f402e19f879944fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660be1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b840000000000000000000000000000000000000000000000000002c7dc20fc759b800000000000000000000000000000000000000000000000068a4699375205d36f8fc944fadefe2a5eb1bf9e1d3dc4a9fc85daa5c5c660bf863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9eb8800000000000000000000000000000000000000000000000000001be05252d5ebf00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044081919f402e19f87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a07fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000000000000000000000000000044081919f402e19", + "gas_used": 159432 + } + }, + { + "traces": { + "0x46affe1b4f3fc41581fd20fbaf055daeab80a8b5": { + "code_usage": { + "read": "0xfa39a7947e23c58a7ac305011e8a8ea07439af13ba7588c779761c91858a1127" + } + }, + "0x80a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e": { + "storage_read": [ + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc", + "0x0000000000000000000000000000000000000000000000000000000000000001" + ], + "code_usage": { + "read": "0x0e42165348c9fef8f8381bd60d5276087423604d3f51cabec442610b09b1f5ae" + } + }, + "0x8693ca3483daf299aad023eae75221436d6c11a0": { + "balance": "0x8521330e10f264f", + "nonce": "0x162d" + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5df1064f497363cc" + }, + "0xd5564d5338168dd3bafc9fcb37d264b451670b8d": { + "storage_read": [ + "0x000000000000000000000000000000000000000000000000000000000000000c", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000007", + "0x0000000000000000000000000000000000000000000000000000000000000009", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0000000000000000000000000000000000000000000000000000000000000008" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000009": "0x1062a74ebba592da735f3bf72a0ee64", + "0x000000000000000000000000000000000000000000000000000000000000000a": "0xd5ae2126c2d0a7ceefb92f3f99b89aac", + "0x0000000000000000000000000000000000000000000000000000000000000008": "0x663811c70000000000000551c685d5c01ae60000000000001cd36f7824efdff2", + "0x000000000000000000000000000000000000000000000000000000000000000c": "0x1" + }, + "code_usage": { + "read": "0x5b83bdbcc56b2e630f2807bbadd2b0c21619108066b92a58de081261089e9ce5" + } + }, + "0xf1001ad1ee7743e0f6715f50cdaeb1397d5cb4fa": { + "storage_read": [ + "0xba6fabe7c1b33f9faa35c25ff04fe055f58509edaa961f522e7d05ea5b41d704", + "0x000000000000000000000000000000000000000000000000000000000000000a", + "0x0d6f85cf373209cd6fd4c2738b51bed4e72c574868b2d1789fc613f6de974283", + "0x0000000000000000000000000000000000000000000000000000000000000012", + "0x000000000000000000000000000000000000000000000000000000000000000e", + "0x42839f559ed51fc754e4cff021a3d0fb278fa5e9d01911adb8c98803f7d2c47e", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000013", + "0x32bf1e57b2f3d6c52d6033622253e59c320f4f31dd907f1da3ac1c2fc891a4b6", + "0x8b364a1dd167da933f7abc9cb2ca26d32b828ba52ee73f18dd43ac7813dfdc93", + "0x000000000000000000000000000000000000000000000000000000000000000d", + "0x0000000000000000000000000000000000000000000000000000000000000008", + "0xcaab888c23d12df622bf5e4d33f8b1b243f92f6f0e47f8ff75a68c6247893ae9", + "0x000000000000000000000000000000000000000000000000000000000000000f" + ], + "storage_written": { + "0x42839f559ed51fc754e4cff021a3d0fb278fa5e9d01911adb8c98803f7d2c47e": "0x90a7feb273c206", + "0x0d6f85cf373209cd6fd4c2738b51bed4e72c574868b2d1789fc613f6de974283": "0x551c685d5c01ae6", + "0x000000000000000000000000000000000000000000000000000000000000000d": "0x14a" + }, + "code_usage": { + "read": "0x7d443041f5f212485af211c85b7fb6fcf1550f959a66bf997e2c4951782dc525" + } + }, + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "balance": "0x28dd64a47f6c71916a57f", + "storage_read": [ + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f", + "0x793b794d76a0a454c7b10e10121915a5212de57e0d7d94cceacd9abd22330ccc" + ], + "storage_written": { + "0x6e11b2ad3f4a126fa523dbca759473ee7a6cebd4efb81c3015eabee05d9bea1f": "0x0", + "0x793b794d76a0a454c7b10e10121915a5212de57e0d7d94cceacd9abd22330ccc": "0x1cd36f7824efdff2" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + } + }, + "meta": { + "byte_code": "0x02f9017c0182162c84b2d05e008502233d4613830461c69480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e8802c68af0bb140000b90104088890dc000000000000000000000000000000000000000000000000007af53217af31b800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000008693ca3483daf299aad023eae75221436d6c11a000000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f1001ad1ee7743e0f6715f50cdaeb1397d5cb4fac001a02c9a9ab0d7eb2503a5ebbfe1a66c2f08a9170e1da5b14cdb142fce831522a43aa0360ecd3be1f224118862ddb78787cf31ad7600994b6c7a4a947ae3a071619a8b", + "new_txn_trie_node_byte": "0x02f9017c0182162c84b2d05e008502233d4613830461c69480a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9e8802c68af0bb140000b90104088890dc000000000000000000000000000000000000000000000000007af53217af31b800000000000000000000000000000000000000000000000000000000000000a00000000000000000000000008693ca3483daf299aad023eae75221436d6c11a000000000000000000000000000000000000000000000000000000000663811c80000000000000000000000005c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000f1001ad1ee7743e0f6715f50cdaeb1397d5cb4fac001a02c9a9ab0d7eb2503a5ebbfe1a66c2f08a9170e1da5b14cdb142fce831522a43aa0360ecd3be1f224118862ddb78787cf31ad7600994b6c7a4a947ae3a071619a8b", + "new_receipt_trie_node_byte": "0xb9043e02f9043a01830f0845b9010000200000000000000000000080000000400000000008000000000000000000000000800000000000000000000008000002000000080000000000000000000000000000000000000000000008000000200000000100000000000000008000000000000000000000000000400008000000000000000000000000000010000000000000000000000000000000000000040040000001000000080800004000000000000100000000000000000000000008000000000001000000000000000000000000000002000000000000000000000000000000000000001000000000000000000040200000000000800000000000000000000000000000400000000000000000f9032ff87a94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f842a0e1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109ca000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea000000000000000000000000000000000000000000000000002c68af0bb140000f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea0000000000000000000000000d5564d5338168dd3bafc9fcb37d264b451670b8da000000000000000000000000000000000000000000000000002c68af0bb140000f89b94f1001ad1ee7743e0f6715f50cdaeb1397d5cb4faf863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa0000000000000000000000000d5564d5338168dd3bafc9fcb37d264b451670b8da00000000000000000000000008693ca3483daf299aad023eae75221436d6c11a0a00000000000000000000000000000000000000000000000000090a7feb273c206f87994d5564d5338168dd3bafc9fcb37d264b451670b8de1a01c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad1b8400000000000000000000000000000000000000000000000001cd36f7824efdff20000000000000000000000000000000000000000000000000551c685d5c01ae6f8fc94d5564d5338168dd3bafc9fcb37d264b451670b8df863a0d78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d822a000000000000000000000000080a64c6d7f12c47b7c66c5b4e20e72bc1fcd5d9ea00000000000000000000000008693ca3483daf299aad023eae75221436d6c11a0b88000000000000000000000000000000000000000000000000002c68af0bb140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090a7feb273c206", + "gas_used": 165183 + } + }, + { + "traces": { + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5df12eb9f766c554" + }, + "0x17032783b5f29c8a68e0fafba4db021f248409e4": { + "balance": "0x0", + "nonce": "0x1" + }, + "0xb27b03580c193d324931acb143f6a1f3477e702e": { + "balance": "0x1257cf59bdce9000" + } + }, + "meta": { + "byte_code": "0xf86c808501a13b860082520894b27b03580c193d324931acb143f6a1f3477e702e8801ff118a94dfd0008026a06b6a8c636721916ee32404201135745eeb2bfad873e662f5a59c331cb6647a95a0452ae97ab3fb5bd8e4cc7890b28876a662430c40bf643239303e0c86770c96bf", + "new_txn_trie_node_byte": "0xf86c808501a13b860082520894b27b03580c193d324931acb143f6a1f3477e702e8801ff118a94dfd0008026a06b6a8c636721916ee32404201135745eeb2bfad873e662f5a59c331cb6647a95a0452ae97ab3fb5bd8e4cc7890b28876a662430c40bf643239303e0c86770c96bf", + "new_receipt_trie_node_byte": "0xf9010901830f5a4db9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21000 + } + }, + { + "traces": { + "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2": { + "storage_read": [ + "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a", + "0xbedcb5df52f588f61ff32320302f7849d95752554baca3aee643459d2813fab3" + ], + "storage_written": { + "0xbedcb5df52f588f61ff32320302f7849d95752554baca3aee643459d2813fab3": "0x1497511bb6b1f16f2", + "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a": "0x4d5baffcde6306e76a7" + }, + "code_usage": { + "read": "0xd0a06b12ac47863b5c7be4185c2deaad1c61557033f56c7d4ea74429cbb25e23" + } + }, + "0x43506849d7c04f9138d1a2050bbf3a0c054402dd": { + "code_usage": { + "read": "0xcdfb7d322961af3acae7a8f7ee8b69c205b36f576cc5b077f170c7eb8ecbe3ea" + } + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5df1aadbe3850878" + }, + "0x93793bd1f3e35a0efd098c30e486a860a0ef7551": { + "balance": "0x34051d7a04031aac", + "nonce": "0xbcb1" + }, + "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640": { + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000004", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0x00000000000000000000000000000000000000000000000000000000000002b2", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63a", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe639", + "0xad9dde667637e023f1ffee9137c14ca72fd0a457bea73c3e79e176283357a6c3", + "0x0000000000000000000000000000000000000000000000000000000000000002", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63b", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63c", + "0x00000000000000000000000000000000000000000000000000000000000002b3" + ], + "storage_written": { + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63c": "0x1000ed33000000000000000000020ce00fa821636b2d952f000002c5cb2601c", + "0x0000000000000000000000000000000000000000000000000000000000000001": "0x8e9b198ababa2f7fe6a21112ad04", + "0x00000000000000000000000000000000000000000000000000000000000002b3": "0x10000000000000001ec39445981969ea7d3b54b3200112eb4a4fef7663811c7", + "0x0000000000000000000000000000000000000000000000000000000000000000": "0x10002d302d302ab02fceb00000000000045c6a16d265bb9fcae89d55c6498", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63b": "0x22d49e52321c6f90afad5a369abbdcbfa6", + "0xda4f87b75ea46b0bcb01699726cbe92f07b59ae026875105518c234a010fe63a": "0x1c24849ab98c7905f71913f3039", + "0x0000000000000000000000000000000000000000000000000000000000000004": "0x9336b8b0a431b7d8" + }, + "code_usage": { + "read": "0xa981b66c747a3d9fa29d7e200d5faaa2826960523d0e5a0df8148e8868c480b4" + } + }, + "0x9def7cde171841a9f0724124ca0b01a622d749e4": { + "balance": "0x16a7fb085b7", + "storage_read": [ + "0x5f5a09b54e538f9aa6a9bd36e4e1a5370b6d3b889be76cfa9f33bf6e1d909fe7", + "0x390f6178407c9b8e95802b8659e6df8e34c1e3d4f8d6a49e6132bbcdd937b63a", + "0x0000000000000000000000000000000000000000000000000000000000000006", + "0x0000000000000000000000000000000000000000000000000000000000000005" + ], + "storage_written": { + "0x0000000000000000000000000000000000000000000000000000000000000005": "0x0", + "0x0000000000000000000000000000000000000000000000000000000000000006": "0x9def7cde171841a9f0724124ca0b01a622d749e4" + }, + "code_usage": { + "read": "0xa85d7ec4ffa81da8f494f1e81b70a200d3f75a414e3a803943ecd868aff78ab5" + } + }, + "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": { + "storage_read": [ + "0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b", + "0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3", + "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff", + "0x0000000000000000000000000000000000000000000000000000000000000001", + "0xe6695488b0655a1b1fdfee55f87e57d940b86639032942a6c8ac0cc373a938f8" + ], + "storage_written": { + "0x1f21a62c4538bacf2aabeca410f0fe63151869f172e03c0e00357ba26a341eff": "0x49b731ca328c", + "0xe6695488b0655a1b1fdfee55f87e57d940b86639032942a6c8ac0cc373a938f8": "0xd6adb5d897" + }, + "code_usage": { + "read": "0xd80d4b7c890cb9d6a4893e6b52bc34b56b25335cb13716e0d1d31383e6b41505" + } + } + }, + "meta": { + "byte_code": "0x02f901170182bcb08434fd4acd850158174adc83061a80949def7cde171841a9f0724124ca0b01a622d749e484012e3b68b8a4a000000000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000099f388994000000000000000000000000000000000000000000000000b6ea0676d933c915000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48c001a0269fa6d550e1ce6f76884a87645bd2a462c303dca06423f2f0638a572109f0f7a0776dab3e59d703ff24cc45be1b856a73f66facbd0c5d6c41ecc940ca7e02416f", + "new_txn_trie_node_byte": "0x02f901170182bcb08434fd4acd850158174adc83061a80949def7cde171841a9f0724124ca0b01a622d749e484012e3b68b8a4a000000000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f56400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000099f388994000000000000000000000000000000000000000000000000b6ea0676d933c915000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48c001a0269fa6d550e1ce6f76884a87645bd2a462c303dca06423f2f0638a572109f0f7a0776dab3e59d703ff24cc45be1b856a73f66facbd0c5d6c41ecc940ca7e02416f", + "new_receipt_trie_node_byte": "0xb9036802f90364018311b201b9010000000000010000000000000000000000000000000000000000000000040000000000000000000000000008400000000002000000080020000000000000800000000000000000000808000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000800000000000000000000000000000000000000000000010000000000000000000000000000000000200000000000000000000000000000000000002000000008000000000002000000000000000000000000000000000000000000000000000000000000200000000000000010000000000000000000800000000000000000000000f90259f89b94c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a00000000000000000000000009def7cde171841a9f0724124ca0b01a622d749e4a0000000000000000000000000000000000000000000000000b6ea0676d933c915f89b94a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48f863a0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa00000000000000000000000009def7cde171841a9f0724124ca0b01a622d749e4a000000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640a0000000000000000000000000000000000000000000000000000000099f388994f9011c9488e6a0c2ddd26feeb64f039a2c41296fcb3f5640f863a0c42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67a00000000000000000000000009def7cde171841a9f0724124ca0b01a622d749e4a00000000000000000000000009def7cde171841a9f0724124ca0b01a622d749e4b8a0000000000000000000000000000000000000000000000000000000099f388994ffffffffffffffffffffffffffffffffffffffffffffffff4915f98926cc36eb00000000000000000000000000000000000045c6a16d265bb9fcae89d55c64980000000000000000000000000000000000000000000000009336b8b0a431b7d8000000000000000000000000000000000000000000000000000000000002fceb", + "gas_used": 153524 + } + }, + { + "traces": { + "0xd9db270c1b5e3bd161e8c8503c55ceabee709552": { + "code_usage": { + "read": "0xbba688fbdb21ad2bb58bc320638b43d94e7d100f6f3ebaab0a4e4de6304b1c2e" + } + }, + "0x617c8de5bde54ffbb8d92716cc947858ca38f582": { + "balance": "0x2863bce4f1dad386ab", + "storage_read": [ + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "code_usage": { + "read": "0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000" + } + }, + "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5": { + "balance": "0x5d848c31830be0ba", + "nonce": "0xe5ad8" + } + }, + "meta": { + "byte_code": "0x02f87101830e5ad7808501231a000f826ac194617c8de5bde54ffbb8d92716cc947858ca38f582876ca54625d8e66f80c001a0e0c1666544ae41c9fecaba65277c51af8755838a43c6e5bdc15c83970af18461a0405b701cfa1a3b22fc547c21955d55210f7fdd87b576466a2cf30cb27e9fb442", + "new_txn_trie_node_byte": "0x02f87101830e5ad7808501231a000f826ac194617c8de5bde54ffbb8d92716cc947858ca38f582876ca54625d8e66f80c001a0e0c1666544ae41c9fecaba65277c51af8755838a43c6e5bdc15c83970af18461a0405b701cfa1a3b22fc547c21955d55210f7fdd87b576466a2cf30cb27e9fb442", + "new_receipt_trie_node_byte": "0xb9018a02f901860183121cc2b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000002000000000000000000000000000000000000000000040000000000000000000000000000000001000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000800000000000000000000000000000000000000000f87cf87a94617c8de5bde54ffbb8d92716cc947858ca38f582f842a03d0ce9bfc3ed7d6862dbb28b2dea94561fe714a1b4d019aa8af39730d1ad7c3da000000000000000000000000095222290dd7278aa3ddd389cc1e1d165cc4bafe5a0000000000000000000000000000000000000000000000000006ca54625d8e66f", + "gas_used": 27329 + } + } + ] + }, + "other_data": { + "b_data": { + "b_meta": { + "block_beneficiary": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5", + "block_timestamp": "0x663811c7", + "block_number": "0x12e3b68", + "block_difficulty": "0x0", + "block_random": "0x253d73a8035e2de53f82869fbdd8a700c96604da0485d0a02b05eebc53f615e3", + "block_gaslimit": "0x1c9c380", + "block_chain_id": "0x1", + "block_base_fee": "0x1231a000f", + "block_gas_used": "0x121cc2", + "block_blob_gas_used": "0x0", + "block_excess_blob_gas": "0x0", + "parent_beacon_block_root": "0xb2fdced42678407cdb560649f70178a2a0e4095543930548bf164b7b936eff36", + "block_bloom": [ + "0x20000001000000000000008010000440000000000800008001000004010100", + "0x8008000000000080000084000080000020000000800a0005000000000a00000", + "0x80a0000080000002000001001004000000000000080000400", + "0x102002000000000040000800000100000000000004110000001000088000", + "0x80000004000000000048140000001010008090800004000400000", + "0x205000000002000000000480000080000000000010000000020080000880000", + "0x20000002000000000000200000000a0000000000000040100000004200002000", + "0x50200000000810800010800000000000000000800000400008000000000000" + ] + }, + "b_hashes": { + "prev_hashes": [ + "0x684d6da309f7c8a0471b18617c4458fea2ebfec17d4f0a5e678f1adc7d5e9741", + "0xe9f1efd5c5d0eeda512ab8cfaa72a1e9289c1b7a1283080532c8bf75b78289ea", + "0xf1f4005a05d16db3af62e164efecbf1b244dfbdd4ecaa7787db627be3dc65b6c", + "0xb4a6b84696480f6864d1662abbdf9bf74d8c58d6831f0d7ebfb89c9527fd1a06", + "0x8aa706c69b4efb973104f4e3a32e95d0961cee806ac934c0b8d0f315a498fc1b", + "0x444a9b5d65aad376d8aad458454c8ad90e7ea3846e9a5bc88ce3838d25159a11", + "0x1be1d7933a44de4622ab864125ee3235446ec8090ae5ad96c5f4828ecefa7ce2", + "0x36608be1e2611f8248650a94ed0758bc3c884feb9c0182cef5b7a63b7cc13779", + "0xa018694b69aeead7c9707f8c4cc7087744b18f2697f5c0e8a72149f86472c3c4", + "0x42b9f09fc79a85c6dbc70e2580c57750a85e32aa34a83eef14f300d348d80549", + "0x037a1779222ab6b0c5bc9bf100ee568481169909eddd00b72d91cf43bd3b9450", + "0xecd72414a715469a622e9efd685e27bc0441d39bc3d1b900f9754ec88f9801dc", + "0x8e052b282793944721886849be4cf06bb9e2775bbecc017e62dda26fb0f167a2", + "0x57aa3978290d109b379f9622cb7bd3004b31e97e1d6c5fc9aef813b26a12417a", + "0xeb29dd370b5de7729819c006f19d3914245e72d3256b9c995bfc821c9244a782", + "0x62c4a05472424c89303241223787d704f5315bb16b5944adb8d950cc16d75ec6", + "0x10a0e4f10d854bb43c754b7cb0d027189f85db84c7da3f7533d1bf739bb89226", + "0x6ca125813a1af466dd481a16c6f008fe7301984f9caae0a16930609a1ceb43c0", + "0x18408b483e1a38b76caa9dc51e6c7dd759983b35d486954d2c50c9b90fffad01", + "0x5b1c83b40fda62cb008946b4884c1b95b1768c7a9a8a1e7dc20b34a4d8c403c7", + "0x06bee782c257495049d7a554a608a8f3acce1a09e6f844a8ddc9f723d93f83ce", + "0x72ea26252912b77f3b227e529337cf14b0971ea20e4f186ea969746a424def3f", + "0xb0b4482691ab89cbcfc2afdfc38fe972122598ef6db45c03684dc8c3ce63c4d2", + "0xcf7024250378017427243922eed81ee9088d32bf4867417e260cc11c71777519", + "0xe49ea52092a071f276c7b306d0f8d40c038ce49b3f8a45e03040c59e96c0354c", + "0xe4ef8d83b4e6e621c0b573d7209a364d87c763b840b572148b2006c6d346667e", + "0x5a06ccbd9311095490a4efbc9b358c85b5f3a1317841a83e7c36257e3827d16a", + "0x8dfbe7aa136575b5e3ed1659e1eee974f48d427717965748faec651425946931", + "0xab7ab2503be5139555349596c5059bc7fe1baa4f16222717f18023d7c8beceec", + "0x35c18135a8a4fb0c195df12feb2bdde3ae41fd2a5e68de71b2b8a8668cf01f50", + "0x265ac74569927d3827fe9a690f8b1dcd909e9400253da565681b0b6c3254b1be", + "0x5150ceb40dcc6656b079be8c4b5d0fdd0ec4c03dc56a07ded8bb4958f59f4cbe", + "0x131dce8de367b3afccb61ee1111ecbcc26b6c8cc011858def61749257822475b", + "0xcba6e3e9371fc2428e0d64458c1ea38247bc2402c35512699acd9e98c791bf4a", + "0x11d1ff0fba9724e35b61aa790e030eb87dfa4ae5f3eb32c562dfe73301a0e538", + "0x177c10d79e45f97825d1aee005daac2f5b878dae2afbeb077d701031eb8f5fdc", + "0x369df7c07465d4ce309973349ff656ec13dcdfed6bb6003a0e276257d2c804de", + "0xef7ceb8248b175f4f2ebd3ab1d3e9f716b7066d771728afc13ce26582001864f", + "0x612c72dc848b6752e0c59a08a69aad3195c94cf15b2be1ea04b8de949bbd8a62", + "0xc7810d75f85d4affc277425e3cd8016fa5fe5fbcebbc2f313f78dc733627c764", + "0x58f26bc1fc04a3d64c035bba57ccf0a11bd85643ca25a12c2872a379807fb223", + "0x06672d0ef05ad36ad7cbe4a6b0f8973d9fcf2f4948f3faad186eceab128f033b", + "0xcc7cf48db08ffbd8b3424b5d657f50f805cb7669da9f94b9ce708bcfe6ff60ab", + "0xf7afed969af520af3135ab06f591b98a657e6ed456cae4a8cf9ff74692a89ec6", + "0x2b5a83bdb1420eaaa036b871302aa8bd6f0591353932b9716ae6f5d9fa4960f7", + "0x17da50dc5a57ddfc357fd76dd2c6d844ab86f00c7c169f672160d94d29e0cfbd", + "0x901fcc4fd29455ab7e86debd1c0e590be42ed9a32eaca646491db2c0b28e1de9", + "0x0a46152ca0428fee39b130485849e10aee553f1d20af050610786b0c435076a5", + "0x3cda416406d979ad59f6bc3e924b619413a0431cecd4305a0cc0a5d7f72b1abb", + "0x669e1c9b20f56963eedff200b3287a89ecbff1d729d72150e9df36f0500f40f4", + "0x47e065cbecfdf242a8348899b50d34ab1136fcf1286219cb5865168112de1af8", + "0x01692e1363a33e509152e33cf5683b8ec0b778fd056ba37ee9b14e78dbcdc23d", + "0xc3b4f5f75a81c39f9f89c67c8d3c6e22dabfe55ec84e400f71095471478b22ce", + "0xf800724be14e70f9d21d7298e5cd85accfb1b5993b9641dd7d18f84e3fdf139f", + "0xc78c8f4aef3560226da9e906f818326914099cf7281311269fb3f185dad4026d", + "0x2d1d7a03d4eb6a453acbc98e7de60b9964c2dbabe8f364c64ce09713954816d6", + "0x319eddfeb21e1b4ac4eec6e0ab207f96bfd39fce8ad357412244a7a204cd15de", + "0x9267223f50a0670bad1af619be27538967dc3ffb4187427b8718dda635b0646f", + "0xf4fdc676ba397e28ef91298691083e12cfada760c6212d42d9d8bfc203b2e9c4", + "0xbbca762d5f9b9afece0c0c4b1b6d39c696101f0d380a059d42de63ee58a7b4a7", + "0x0caf0d6547aad36aef5058f772589929611795961e4c11ff6e4f0054350f124d", + "0x6e765d61eb9936842a77969a46b3ec1e8e63f8217c9a38dc1ae03fc1373e244e", + "0x074ad7e8b9a67df3be4ee365ca4d0ab0f21ac9681b206d8cd2e81d63999ab540", + "0xabe2d66e6ca7b273d15bdcc9569b73d69a7ce40ac4c7e0bca15233a0b466c48d", + "0xa559298ce71269e041845b239a2192380f19a0df3e986c9f7b88c52dfbb68b72", + "0x7a4474570b63e6e68f692ef9a2018faac14f83b2d5fe714dc8c28ac55ac5905e", + "0x6ad9f2d6af5853591ca84cf8c8641c40ea800ed17d0a93293df66964801d03bc", + "0xb2d224381f1b031be102dbb9d37bff9401c970648af6099de354dba9c6ffdc9e", + "0x920acddab483a67476079786ac02506ac2cb329acf707110cf4fc08be0946bce", + "0xbf74a03ed288773ab3d8ad7d6c7e45702d3679aa685d44d8b4ed31d25df0ee64", + "0x22fd1691c5b5c5d7e0f25a25045131cebb54e96418ac33f6b033dae571f0e1d8", + "0x584f88b1cc9ca5825aa734b30c1fb88947f7b29fa5d389f9d375c52c89be0095", + "0x1dd49abeeb34f3a389166da6f7efa1d7949b4bdee5d013696b53e1d3e0b9a1a5", + "0xceff63f333df8bf4dea68dd443b195b5d53234d4f3f14316949c2de4b2e51c86", + "0x1ee213255d77233e366e55a248c9c524fa15f218a439cad211c52d08bc09845b", + "0xc66fff1c5b7c88b856f8ece31c2f1323b54633a83674d87dfffe4a039adc5440", + "0x6968799fc7f27cd33e698332e67b85305583909934aa9ba5d2d503c722b808d3", + "0x489aba839fa83f28484a016bfea5657d9fee72f0bea757f0ac9a525bc9d4e0c4", + "0x8011b25fa321e68cbffce47bb81ec56e944834e9319323b6d99242b1decc258d", + "0x034004ec7113ffbaabdcf03e27f06cfc4b51fca60f79d9f1c78689eddde9ff0f", + "0xf1ca1b925a4666b8156d842c61b4d8d5a8dadd1493c1deeebcec06607f1c57c3", + "0x1c336bfc7570cb6baea4f653a5ae9ba9e6b2966d9662d544a50dafa3f80dc8a5", + "0x994795c6a5db487bc99d50a5c47ca4b0a31f0c14e266c75699ed998e418b0273", + "0xa3e8dc9d9b954be9e365913c0274dca50600b157ef2a66b480f464fc60ac2582", + "0x7cb8907a3c885ffafd56d399ffbdfc77647d589029466556ef8f0a875768cac8", + "0x685efa6d0c4ef05758e0d4cc60d8bc30c5b4d09aa595b293802bff4a14130d6d", + "0xd53ee0bac8d4f6afc15d9187d8959e047551b286607e98abc71af4a276e5533d", + "0x9c94b7cad6eed497f33a8cc13c23be945cfe59b5fc88ebf6e5a78b63139eb416", + "0x746593942f1a4e89157f04ebe3b5d19178964d6b358d03422340314b431a30eb", + "0x8f00f2b21786fef3908e708b2f9a9646dedf89570e52487c359d6237a10b2332", + "0xaccfffd17acfa905ea0882f1329d9419e5c6f8a914ce79ea8bde3168fc93bc43", + "0x382e627dc9457a8b97ead189afe4209b1301ef73409198ba1d03296eb0573c10", + "0x663c5109a960127c5f4461650b9ac0ec98b441af6a5c813ac394a4a54174863b", + "0x19bdaf621cb61a7e39ed537392459a8fc6fe593e80ac043b0541e3aa49db0083", + "0x258b4555385f82af59c3297d6809bdee140a627a72108fa2ccd7a467b7f9cf77", + "0xd2f5ec45869a2227af4789029b17d79e0f7465a3f8491ef8263f65fe9ee67863", + "0xb7429f2486335edee7b97c68bf21746516eb3edc2421b0af31cc0981edc71274", + "0x8532734773de15bd7612ef289467d82ecdb38f97f721842329c032baad97797e", + "0xfa196478a8d98d9e5a29d49e5dae3a0e8af0bd81bb1d171cdd0793511de497ee", + "0xabfa52d45f2b64ba8da63779cb8c0da104c6e4085a94a12e4c01e888d0eff5b0", + "0x79af7c7f2df5704e1ea35e336dcb50d6e1c4644beb770c4b737f92279b7cea4a", + "0x8bc16add47e2bffc84ae2cafaefd162c81d9377c9628e0e7947f05424374341b", + "0xcc2ff38b0b787f201208bec3c7ba38ae0a9ecf9c6ff3bb4bb91f07c5260b9f0d", + "0xe6bd50d7a43e80dc310283c8d28b6057de35dab665fc389ccf2934ef522a923e", + "0x976b800be89a4615209eeafe260f290b961f8f35f243ae15caaf16dfb2e8afdc", + "0x61a02bc6d0e17ea710151c4fe838cf5bdfe39ee7c341dc8c819e3090e8995218", + "0xaf4ee6ee6f0c42d3890e4924e9643e91b32c5aceec89f065f19c45abcc154afa", + "0x0f7199378a78513d389e381668ab838bc87df917e5e754834ad1f5b4ba46a6af", + "0x66cfabbb497ae08a4886bdd98e29ec79fb1f3faf1d1ec0a70f216512003f77c7", + "0x50897dda2b2a63b1cc8b51dffe4639b10e5914b650b91be064539c56782c2669", + "0x65f708a418a87d3ba9358abcb3000aa267c384be3e817691e59f6e2abfb7e383", + "0xc0b3bc8a33b5990a67385736bf5f3bf1f93d7f5d88b61f8e587da89741e58a78", + "0x3aa019da243d763fc2d4aedd82a42dd62088970f41df5b4701cddbc95ec80d1b", + "0x563be0cef26a96fe96d2458a459c16a1cfd98ff30de359be1ef0fc8148dcacd9", + "0x53d17e0d0919d7d07e8aece7825a7a898b4b0b4d0fce1514aeca0ff467fe359e", + "0xb37bb8db446e1a68ddb111e983aeae19443e6a8320d8c067b96b7e0e1a99872f", + "0x711a0ef39ec7f508ef2f5518d2d2b572d9af583cdd0c5b8d1b0aad720887ff8f", + "0x8f6223a484539e961de50a72916b5c37eacd50fc874cc9cb57cce7f3a7fbc768", + "0x78adee7ef19e71b90686be4672ade5996a705ab3676ecf56aa12c5fc7e31232a", + "0x66a7b68e630b5c23fe3a8c1ebaf2f71d65cce803acece13e7f6e04164b391170", + "0x49998c072fd731b40d077d1a8b908f79732ffe4ec4e2da0fbf213fd862d0c4b3", + "0x3e5c71e123e0b9ca51c5ed7b564993541002f89bbf50899c493aeae139bbfa73", + "0xce955633621fa117e4f462ac09a82e957eb8875e9157f5a4519db7dd9f3b3db8", + "0xccf8c2816119cf226e69262ee6189843884fbb9193c83f43ad112593c579a97b", + "0x9b38788917cf5046229a4763fc45d527b56734f07c93c9975192e1053590676d", + "0x3f5312d1efed17763afe2c2b773a7587614aba32c00f88ffc0d698494894ffc1", + "0xaab17205746a6a5daa4eb3d0466ec46e0c8d04b3c623b6fe14cc2fd82645d040", + "0x31c1f4e27e27c122a6a14ab18c6fd88362bc2b429d235845039bad13ff9ed249", + "0x5a6375471b27ee726cb0ba9e003429feeb43e2bd7f4e3fc96efe82f8f33684ba", + "0x6f5d262d1320c05cb93ca7d3d992a25ae9a6fe11b9651cabaedd420744253fe9", + "0x067b51b1902fa5927c5e23fba472434f29b062f91e0a8f6f03d5e4b4181cd769", + "0x9abcf7ba8d6a8803ac56d28d05cb9953df3fe3ea131bfcb1458f13ab5ab002f1", + "0x4898c61d3980d568e8d9869f9640be08595bba2097d3670d8a9f4cb531c83cd4", + "0xbec84066edad2a85a68054ce63fa0b03a8bdefc2c2921e09bf39e231e90393d9", + "0xe7531552af7303e818ae3ee063ff0e744cf71cea8169ccccdf303dad279ae6bf", + "0x25e0066d1dd0caf08b7affa7efe80264d46531196e281472a2b980e75697f6ee", + "0x6d5382548b060f3a60ae44a588df9338105f4e81f2de512aa36e6bf097292b75", + "0xadc1f0377233d6a5b656285306196cc7d8812f6513c2a9e92129ad261b7bba64", + "0x48a56c398dd7f128b06cf43f48cf8101c73cad5089622805af90db35a3a2426e", + "0x796ba441d23ff8350f8dd21c95df5bff4be0f3d873aceb329870c9d93e4b4f6a", + "0xaae31869bdfe85b02cfc3730b048b9e8e867879eed841bc020f272e893a4c0e1", + "0xeda5bdda98493d39a7204389c01006b9f116d3b568b0a4b58760d1d50f10c43b", + "0xc69cdb8b8d9b86fd9189c4dfbaaa542ff2eb9ee1f966d74e0936eb61162a9440", + "0xe138f6ab0383a803777aacf019c008232d49e3938cb80755d91f94b8c1df9157", + "0x05c166f7b3e46160fb1f4ac911ed3d4c787d422417b0a3548eeb3ec05c000899", + "0x5715789eb35a14b9f2594183f5e1b2636286ab0eedfc6f865af792d3329e3932", + "0x06fdc5cdb25a18fdaace2028efcb17c70dc6dccb6836d67e6c4db9d19e4b30a8", + "0x436ca87dbaf5000546a1158bba2679e093644214021c55bf7a18938bcbc8c26b", + "0x06894a55e5217c96c84691b662bb5882090290e3d2b8fb815d289bd43f401053", + "0x26c1f7ee90e8bd920401242821aa78bd2e76cd8acfb5fe42e8bc26215b52db55", + "0x4d17f9ff3941f0445607712ebebe2503ee90c31256324860d6e671a31dfc8553", + "0x7020b4039cb2fed36bd801861b72ffb52ea3692fb0de287cdc4555647691de3e", + "0xe142905c102278068d91f1305da98fd3aed0f0bcdcb79ae84f737b74e542687d", + "0x0b60248cf3eaff8acbdef8407bae6ea515c4f7277aa50e7bf0f3a13dc9838d64", + "0xd41fdec7606d96e22c817f96dbf17e5e13bb4e78212650e91b7400902e778bce", + "0xcb6628fc75d77664c234f1d54c51a7cdf15cc8c3b7ad42249755f5e5dab163ad", + "0x3fed5b830f088274b00699b5099deca1c39c0c184fc5c8d1759127430b799c68", + "0x6c81efc467bdadf6699b8b50d87b2b3f073b1d298080fa487edec7678bbcdd7e", + "0x0a5681394def8105618c8c229de40baed1deb5ecd36ac9f5f7d9f82f7dd8d951", + "0xad9fc5133f35f8c368921d614a6fd24e959ea43b5e3ed28ad744d776312c912a", + "0xb2c1ee02dd75e9ffb9d569d3c94152e51c9a92e119f9569a556413fe9283669d", + "0xb7587fe5feead89ea8bc2beded08ce896657010c6b7d3e1da556a028dd60aa48", + "0xffb8497fce9f9951f155f22cb21c88a8346cce183cadfcd36a797909b8399335", + "0x27227cf2b8fe94edb031f9f4b120e877776b7e71ae9f1a7b691027418768a512", + "0x8cafc271f1243f94fa188ce39e1ba9739d80f86bdcf7f0c4010906a0d7090669", + "0x68f1869e7e8f5764068759080c8b0ff0286d37a8c29586fa85ac9fff73c4d6f5", + "0x347203b050cb378a6b9eeb3550a773ed54f50bd58173d4e11e3775f17d66f159", + "0x55b8e9795919367fabbffa613d1be39b3ccf550e3d950255579d3d7d71836f4e", + "0x637439c6d5433a874591bcb7da0ce781f4c25a874f62c818315c5830a1aba7ae", + "0x2de673eb74141f4ffbdaf7ebdda72bfcea0feaf9a142d063f3076c830515fc4b", + "0x6db7840198ae6647f0396b0cffb0f0e3a5f19311b75f6165470bed13a5ec491d", + "0xe20f94a3cdb5b9583962ba1f91574d92d3d8ec2ffc342352c818cbfb1817520a", + "0x63e84cd9b5d9feb635bffccfdde923321b2228637b15f4c3140efdbefab2db2b", + "0x5dfb69849e6108ac90ec5a1dad1c02272e2749d63d7bdaf23e5f64a47b29d4f6", + "0x4a0eebd96c61d60db69c4b5ad5db67b5fb12b5ad82b97806123278e11f8e9ea7", + "0xb3b11a0d126c5a8b4e17ed69992814241a1b878eebc7881f746afbbf314f3948", + "0x8a43a231547f106b5327611db49e34d6e4ef973dab099027812efb441e377e68", + "0xe2d8e65eceab5214cc111762bf93b3f28bc4df80537772391b90c4b0f64dc79a", + "0x37fd13e02c213bf88b8c936ae156da419085ec4784501c856068e4e5701690d0", + "0x43ff3058e2be0dc50c23e8dd30d2222626d8f33055bba0e54bc039438439844f", + "0x218808f95657312a6048a0ef5ab932797271a031a17f0c9ea3c4ce800b223602", + "0x176aa1cc1879ea31d77f16e7f676357a071a6251a73a4fe102ea9e5a4a225d01", + "0xfaa14244b79614b82d7032d9268ea13c99da4784866e3bcb8261ba64eb4e3061", + "0x6c59f62d885febe6a62a95bc4d4193371717f6e371a8d0f99afc8d0c453eba2c", + "0xceac1b9b4fe4ecc2abb129a577ad3418ae76bacaee0795df90b72efcb6593f80", + "0x5f7a826a06c7edbab0eb5684a9774ffaf820340e296a6852384d4379e28c77f2", + "0x144fc77d47ab1ba0d034429cce70860e427f22e30a43405a8f428c0da78aa7e5", + "0x9c998912ed306b9a8e384c0e8afdca281557d1808e68ae2ebbf0ed2344b3a9b2", + "0x7ff6f8bb85a0dc93aed009e3a967fff69c97952b18bf1042ec4cc4b89d3569e2", + "0xee6783172418d7984b42267c1612bcddb7d38e23375793000c092b1205eb2b81", + "0x50ef73d80aa69de4640d47bf47012ad9bc6fe971d38f32200fe6df4ea0ed8fcc", + "0xcb90a6a4c4189787842e3330fab531daf96f240c9bb77b9ef4a9a7bc5a7dceac", + "0x891884d140c8ada4d7af76bf1f1e4e7085fcdaab482d3f093ee9ef4c3e2b5955", + "0xcacfbc3c46f96bcbd1c93915883c9af2b32078c383f65eebfccf8e2736f331ce", + "0x352b23629786a33d536df0957c32984c19e1b13d338a1dd0cffeef6a0c9c063f", + "0x6d7cad0c54976b20f02db2ba8926a59d51c95be9e5dac6d3a7f5f13c06e3c207", + "0x0a7eb23ff876af6025848afd5be18ea20b29d98bc58f659eac3ff66127199613", + "0x5933e5991f50c1693833f19f0d9059ca1d5daba6fe8d37620f397bee7ff02ea8", + "0x9c20dd8216a07e1952ac1ca48277c615d1a0fc0d4d3833df76c5a2de231dd7d4", + "0x4821c85f5615995b87747f6ef3022532677d4e86fdf010412dc2a3df7bef94c0", + "0xae021e27142fc325181ef3521e9cc29883d845f96a971f3dd4bb9eed8ae1aa92", + "0x78d29fda96832395048b73d9e023958767457069a1718ec5e27740798eeadb74", + "0x25724cc81bf397890f2bdd8f35a3756b3386f333ed55fc7e51bbc2f1fd2bf6a2", + "0x824762d03b42d475150a9fda08ff9285f62f2c0bf6401d7375d602bda1f3bea6", + "0x9333ebdf48f884bef84e204c826dc6677ea35bb496ae9738e5e4e0f47df8988b", + "0x70b1e57107c22010c865f93f7f733c043e56a38faa8ec3781ee7036ed0e309d6", + "0x1aa6351752aa54bb2130bd05beaedd3512fb362e69fd4a44663fd698e013ce71", + "0x1b656e01797575847ba4c952c0c056d1470d690eb65f6515def1d25db71b414e", + "0xeac3bf46591d9d4f20321cd484fdea8273ac34a5253266f1df57fdd983bce73b", + "0xc376b24cb0a5528dc24776b2fb7b065cf69ae303d0a643a980e5531e2ff0dee4", + "0x0c5d2c7315c9ea69050ad21982e373768d0a3526db617f33da18e6bd1b63c373", + "0xeb06cdc3f738bb8a8669b37cae56d51bf3ec47ed7fd0f93825a42f1007909042", + "0xcc349f38dcd62fd9c5fbd781a080fe1571aa415ad5907eb370844f54e2dc820c", + "0x7e7b0e1c580a5745ac78bc733d960d43f34f16d7f124dcb6d7fba5403fe4c006", + "0x1519a24ed04d8572dc9b6b050b3856fcf11fcf5a1dce1dbc22bf15fd2ac1d156", + "0x086764bcad0624385326103f4960c64e4fe8426883e81145713d118d16a8303d", + "0x621f91b175ad126f9b503e1bedb24e0752b88eec86c8e7efd30435a1ab9a4a52", + "0x56f59bce52ed19a2791690f7917aca8bd2ae2f412eae82dde2ed0d89c1645f5b", + "0x8560130fe131d33f84e58cd33e4157b5a3ccc0f8a0952bc8dbc02984e2b0a68a", + "0xf66c3c244b672ef8df24cdd6f81021342d8d354f5b5e88ef55f7a791cc39a1bb", + "0x6b7f194a9a191bea25a5f988bfcde8461a661ff0cd084042b716a34cb3d6bf54", + "0x32f1c5949c9448345947a59d5c5104d1bc90f7b702fdca4f521dcc4b5c0df0d5", + "0x3f8391d7ed4f166d44d21a9f6357608855320ca5fb50e89894635ad48e0e6604", + "0xd6390cb566f7a9ff98913fc33ede46108b29759a3f819a42eff90766e6f6435d", + "0xd06f278cceb875552dec0ac684f30e906b9e9e26c81891803c0e332ac92eec21", + "0x47fc7b6ab4869079bc2059199df9ef6db2b1d9c38fa5dc73f482a4ee367d0560", + "0xd0016d3ad15aa07661db1756fdfd7d586e245fc0f15269c65370feac1485b406", + "0x5adb9f0abcf8622847c66176355b549742614156c4fa62b54dd853ae1d4e8ed3", + "0x3bad795c74f5e233fe973cf09b6a7f680bbb62fe8788feb2cc4949285d1bc916", + "0x42dc8204f8822efa30913242c0c7b41bcd1707e790cc4d609e67412cff634e64", + "0x66e8171b0ddf974391efb526e2b7ccebd85f137094225e2627b8c7f7149e8e37", + "0xcf186ed9125bca4d3bf513d3c324d72290b55b334052e43effc9c01880108dca", + "0xaf95f87155fd1bdeb3c85f003a4b232950f08abd700e5f198dff81e7fe28a90b", + "0xf18e69bdaf8bb5c5e43959d6d7e9ca57b391ff18112197b3615dafbce0c96eba", + "0xc6ab386f906a7f4bfed294e143d87b0e3a33a2270cd36642605e162bf9b13dfe", + "0xcfda661e48ad92890b2d8598d5375baffd31657ab88917966338caf29729f848", + "0x69decb9aa1175f5783c608242cc366907b07917cffbedaa434786aa2cc1f25fe", + "0x80f9b7b74df1d29ba5d29559255f20096c7419f8fb5f25a9a52c4f6bda0bdb06", + "0x89d751062d8782376d3c187aa726620d694aea101ed9562fbbae5586b2a5ddd9", + "0x554a7df6055887e4e3f23dabf665219d49c49aec890467ffc39394de053f8be9", + "0xe6a6717093a4d6d61ae2548f18c023b916fea722fe301b234c2065968eba8896", + "0xfbe85151ebf2b992e6db11d6e5c0957fa11c3ffc924cfc7912101c5a1c8b7e3a", + "0x21b315e2a4fd2cacd402fa338518800ca7d215dbb63ccdb83c044a0bf63146eb", + "0x39065ef91631dfc82f937b0f834e674d37326d6e8a23410d27cdef7c4d52e5a2", + "0x6b720dc652a51931dd7a8dc86b7cd30c12185a39db1cbc6dcc7323d8355627c7", + "0xc6bfd1c8c7222bf522882ff5c3c86c7b6f17196b79afd7d39b700fc3526b6bcb", + "0x5725adf9c722d78ef5e43192465eeca06b4f8753ed584f9eb5eb3dbf0ed9b129", + "0x92c5c278bb28520f283325dbd8a2773644a13cbba491933ba9be7a3c6169daba", + "0xcfa791094b86177ae57ccc0be478cbf8c6c09b79b698af50bcacd239997cf329", + "0x43acd4f1ae62e9e5c1c87284abc8f7d0d0aef0f70cd934a788ab566573e2f5a8", + "0xef4b796bda5a978f28ab810df3f2ee6ba0d646bb35ecc59d4a8aa1a11011d8e5", + "0xd804abc861a77340c0556e21650cd1f8e1e4a3fa4d83ab19862c83fbe0ab6b9f", + "0x633167a2ee64b2820d9557bd0bc540255f9379ef0802e7385c70c90bc7f3c57c", + "0x2c32447d713a9859b680e9da9f634341c159c0ae1f94f35d47f6ef384f7e69b6", + "0xbf5087bda3e2f18942e922e2e0aa27e88b23d65f33009049dfde50400fa1c7ad", + "0x27c8003b8d5ed3a0dfb4313cf8e969478176df308cb8ff7590f86323469046e2" + ], + "cur_hash": "0x0b4c5b498320e5858e7445a5af10658ffee39c9a39de22c81452de5421f63464" + }, + "withdrawals": [ + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a0834" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a27fc" + ], + [ + "0xc9234d5606e02a0acdb7682fe36adb588cae60d8", + "0x11b88e3" + ], + [ + "0xc9234d5606e02a0acdb7682fe36adb588cae60d8", + "0x11be16e" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a1416" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a2dc0" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a42a8" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x119940e" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x1199000" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x11a046e" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x119d364" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x3bc7b17" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x1192ee6" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x119bcc9" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x118f663" + ], + [ + "0xa8c62111e4652b07110a0fc81816303c42632f64", + "0x119b5ce" + ] + ] + }, + "checkpoint_state_trie_root": "0xbbd66174555d27c88e285ff4797de401470d8d2486d15513ab36e491e864bca2" + } + } +] \ No newline at end of file diff --git a/zero_bin/tools/artifacts/witness_b2_b7.json b/zero_bin/tools/artifacts/witness_b2_b7.json deleted file mode 100644 index edb9d173a..000000000 --- a/zero_bin/tools/artifacts/witness_b2_b7.json +++ /dev/null @@ -1,2414 +0,0 @@ -[ - { - "block_trace": { - "trie_pre_images": { - "combined": { - "compact": "0x0005582002601462093b5945d1676df093446790fd31b20e7b12a2e8e5e09d068109616b084a021e19e0c9bab240000005582002b64061d1b10621ed3cea3432c7e961244197663de5d2b7b25c29e63bec606d0847038d7ea4c680000218480558200268288056310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d0841010558200239fa8ab811ddec4c30c62c575a346979cb7339d3e6b1b446aa9cec770bb1ca0847038d7ea4c68000055820022c9421b06b5fb4ed4f3f4b868f487d536ba02ebe1a6347c6a1312167dc000a0847038d7ea4c6800002194210055820021df1fa259221d02aa4956eb0d35ace318ca24c0a33a64c1af96cf67cf245b6084101055820021703c5eda8644a64cec152c58f5aacec93d72fb0bfa705f0473f9043a8357c0841010558200228a39461658094f425f190222a515c7902808b31fd90ea063e831b49d744390847038d7ea4c680000219808405582103b70e80538acdabd6137353b0f9d8d149f4dba91e8be2e7946e409bfdbe685b900841010558210389802d6ed1a28b049e9d4fe5334c5902fd9bc00c42821c82f82ee2da10be90800841010558200256274a27dd7524955417c11ecd917251cc7c4c8310f4c7e4bd3c304d3d9a790c064a021e19cb147d4182dc00055820023ab0970b73895b8c9959bae685c3a19f45eb5ad89d42b52a340ec4ac204d190841010219102005582103876da518a393dbd067dc72abfa08d475ed6447fca96d92ec3f9e7eba503ca6100841010558210352688a8f926c816ca1e079067caba944f158e764817b83fc43594370ca9cf6200841010558200296cdcb823ae5bcb55a33b2a1a22c03bb69870a0270cfef4e7ea22125e9aa090847038d7ea4c680000558200290b239ba3aaf993e443ae14aeffc44cf8d9931a79baed9fa141d0e4506e13108410102184205582103bd0026f7e234624f2bd4ca2c50d2f731cd19f206a89b29fa0c50b5b4e6bf13300847038d7ea4c680000219e573" - } - }, - "code_db": null, - "txn_info": [ - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19c778536cbd49b0", - "nonce": "0x7" - }, - "0x14dc11386c1eee1dff28b4823f68e8de3b5a2747": { - "balance": "0x71afd498d0000" - } - }, - "meta": { - "byte_code": "0x02f86f820539068084684ee1808252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c001a092dbe3ecfa549833bd3d19749cfe5cf8f52d97453161a1b7e54183844940748fa07a2b355a1badc2ac05a2114373c908041cd3a41d6e5fbffaeaa28564739f9c37", - "new_txn_trie_node_byte": "0x02f86f820539068084684ee1808252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c001a092dbe3ecfa549833bd3d19749cfe5cf8f52d97453161a1b7e54183844940748fa07a2b355a1badc2ac05a2114373c908041cd3a41d6e5fbffaeaa28564739f9c37", - "new_receipt_trie_node_byte": "0xb9010c02f9010801825208b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19c3dc2997f7b760", - "nonce": "0x8" - }, - "0x92d3267215ec56542b985473e73c8417403b15ac": { - "balance": "0x71afd498d0000" - } - }, - "meta": { - "byte_code": "0x02f86f820539078084684ee1808252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c080a0bc63624565de404628556d7eb9417d09b42a2d7ebe157b4f793228c1853eb264a07d864356f782d8550850cefd9443685949ca9a798b3525f18372b95631a1b3af", - "new_txn_trie_node_byte": "0x02f86f820539078084684ee1808252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c080a0bc63624565de404628556d7eb9417d09b42a2d7ebe157b4f793228c1853eb264a07d864356f782d8550850cefd9443685949ca9a798b3525f18372b95631a1b3af", - "new_receipt_trie_node_byte": "0xb9010c02f901080182a410b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19c03fffc3322510", - "nonce": "0x9" - }, - "0x882145b1f9764372125861727d7be616c84010ef": { - "balance": "0x71afd498d0000" - } - }, - "meta": { - "byte_code": "0x02f86f820539088084684ee18082520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c080a02713ccd51a6f9a0dffe183d16f74298378766ec9ad7144271c71d2585e33759aa0536b5efaacae718f1b88022075479e2a4a15538062feb46eed9195b24c9a02d7", - "new_txn_trie_node_byte": "0x02f86f820539088084684ee18082520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c080a02713ccd51a6f9a0dffe183d16f74298378766ec9ad7144271c71d2585e33759aa0536b5efaacae718f1b88022075479e2a4a15538062feb46eed9195b24c9a02d7", - "new_receipt_trie_node_byte": "0xb9010c02f901080182f618b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19bca3d5ee6c92c0", - "nonce": "0xa" - }, - "0x2c80179883217370f777e76c067eea91d8283c5c": { - "balance": "0x71afd498d0000" - } - }, - "meta": { - "byte_code": "0x02f86f820539098084684ee180825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c080a06fa2057d82f93db7270054b4d14a87ae9b637a55d1807554558df6d594426a3da01a305e8690961c69049c91241736e8f42a69331fc858be99f0c685d51459efcf", - "new_txn_trie_node_byte": "0x02f86f820539098084684ee180825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c080a06fa2057d82f93db7270054b4d14a87ae9b637a55d1807554558df6d594426a3da01a305e8690961c69049c91241736e8f42a69331fc858be99f0c685d51459efcf", - "new_receipt_trie_node_byte": "0xb9010d02f901090183014820b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19b907ac19a70070", - "nonce": "0xb" - }, - "0x9e0823da9f7f3a0b22dd2798e6af7b39be37f0da": { - "balance": "0x71afd498d0000" - } - }, - "meta": { - "byte_code": "0x02f86f8205390a8084684ee180825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c080a030aa6c020193e75936be747c0e8da2f9beebc266de42f6a3ebb3afe6247733bfa05220d355e4ec287f06ae0e40b23bb4a86dfb54c645b5a345d80fd9c097d5bccc", - "new_txn_trie_node_byte": "0x02f86f8205390a8084684ee180825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c080a030aa6c020193e75936be747c0e8da2f9beebc266de42f6a3ebb3afe6247733bfa05220d355e4ec287f06ae0e40b23bb4a86dfb54c645b5a345d80fd9c097d5bccc", - "new_receipt_trie_node_byte": "0xb9010d02f901090183019a28b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19b56b8244e16e20", - "nonce": "0xc" - }, - "0x7972eef40a371cbfd84c7d709507cc300c6d06a5": { - "balance": "0x71afd498d0000" - } - }, - "meta": { - "byte_code": "0x02f86f8205390b8084684ee180825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c001a0350f184d3a2dfd842fe7e95131933ab980f9ce1bf2d81fc37582df17d3c97883a03d91d78fb680003308495c1c1f40055c0e5530cd235cba33371ef0815bbabc2e", - "new_txn_trie_node_byte": "0x02f86f8205390b8084684ee180825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c001a0350f184d3a2dfd842fe7e95131933ab980f9ce1bf2d81fc37582df17d3c97883a03d91d78fb680003308495c1c1f40055c0e5530cd235cba33371ef0815bbabc2e", - "new_receipt_trie_node_byte": "0xb9010d02f90109018301ec30b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - } - ] - }, - "other_data": { - "b_data": { - "b_meta": { - "block_beneficiary": "0x67b1d87101671b127f5f8714789c7192f7ad340e", - "block_timestamp": "0x666a9696", - "block_number": "0x2", - "block_difficulty": "0x2", - "block_random": "0x0000000000000000000000000000000000000000000000000000000000000000", - "block_gaslimit": "0xafd1a5", - "block_chain_id": "0x539", - "block_base_fee": "0x2dc70bca", - "block_gas_used": "0x1ec30", - "block_bloom": [ - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0" - ] - }, - "b_hashes": { - "prev_hashes": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xc493151b4991dd1bf459952509bba9bc3fb2b706299e18e36e6b78781835065d", - "0xecc163d4e19061c77f9bc84afaaa6b98961e33435f80f9ebd6f751716f172b9c" - ], - "cur_hash": "0x52ed2bdc1acae1b2ad7890c4084e6d0db5a85b79d6ffa3f7a7efc04e3428b5f4" - }, - "withdrawals": [] - }, - "checkpoint_state_trie_root": "0x0fd5324836befac89fcd430abb81f2a274130af0dfa1a89babac76c574b58c40" - } - }, - { - "block_trace": { - "trie_pre_images": { - "combined": { - "compact": "0x0005582002601462093b5945d1676df093446790fd31b20e7b12a2e8e5e09d068109616b084a021e19e0c9bab240000005582002b64061d1b10621ed3cea3432c7e961244197663de5d2b7b25c29e63bec606d0847071afd498d00000218480558200268288056310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d0841010558200239fa8ab811ddec4c30c62c575a346979cb7339d3e6b1b446aa9cec770bb1ca0847071afd498d0000055820022c9421b06b5fb4ed4f3f4b868f487d536ba02ebe1a6347c6a1312167dc000a0847071afd498d000002194210055820021df1fa259221d02aa4956eb0d35ace318ca24c0a33a64c1af96cf67cf245b6084101055820021703c5eda8644a64cec152c58f5aacec93d72fb0bfa705f0473f9043a8357c0841010558200228a39461658094f425f190222a515c7902808b31fd90ea063e831b49d744390847071afd498d00000219808405582103b70e80538acdabd6137353b0f9d8d149f4dba91e8be2e7946e409bfdbe685b900841010558210389802d6ed1a28b049e9d4fe5334c5902fd9bc00c42821c82f82ee2da10be90800841010558200256274a27dd7524955417c11ecd917251cc7c4c8310f4c7e4bd3c304d3d9a790c0c4a021e19b56b8244e16e20055820023ab0970b73895b8c9959bae685c3a19f45eb5ad89d42b52a340ec4ac204d190841010219102005582103876da518a393dbd067dc72abfa08d475ed6447fca96d92ec3f9e7eba503ca6100841010558210352688a8f926c816ca1e079067caba944f158e764817b83fc43594370ca9cf6200841010558200296cdcb823ae5bcb55a33b2a1a22c03bb69870a0270cfef4e7ea22125e9aa090847071afd498d00000558200290b239ba3aaf993e443ae14aeffc44cf8d9931a79baed9fa141d0e4506e13108410102184205582103bd0026f7e234624f2bd4ca2c50d2f731cd19f206a89b29fa0c50b5b4e6bf13300847071afd498d00000219e573" - } - }, - "code_db": null, - "txn_info": [ - { - "traces": { - "0x14dc11386c1eee1dff28b4823f68e8de3b5a2747": { - "balance": "0xaa87bee538000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19b1d123920a4700", - "nonce": "0xd" - } - }, - "meta": { - "byte_code": "0x02f86f8205390c80845b8e17948252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c080a00a58699f9b733fbcedc646a376f2ce3147de686a82577f52345dcb07eb452636a036ccf13d2c1d7f3b3d73a35e1de002d5b8b9b3a16b1a76befb3dc652e3848a96", - "new_txn_trie_node_byte": "0x02f86f8205390c80845b8e17948252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c080a00a58699f9b733fbcedc646a376f2ce3147de686a82577f52345dcb07eb452636a036ccf13d2c1d7f3b3d73a35e1de002d5b8b9b3a16b1a76befb3dc652e3848a96", - "new_receipt_trie_node_byte": "0xb9010c02f9010801825208b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x92d3267215ec56542b985473e73c8417403b15ac": { - "balance": "0xaa87bee538000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19ae36c4df331fe0", - "nonce": "0xe" - } - }, - "meta": { - "byte_code": "0x02f86f8205390d80845b8e17948252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c080a004d21abe2e5c2b58d08dca7efdd4f1f5f9b612cbaac0559cb994dbab4af065e1a038c90f192cb6cd6b7932e55e816307ffefd43eac31daa12eb220f343f0c87ae2", - "new_txn_trie_node_byte": "0x02f86f8205390d80845b8e17948252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c080a004d21abe2e5c2b58d08dca7efdd4f1f5f9b612cbaac0559cb994dbab4af065e1a038c90f192cb6cd6b7932e55e816307ffefd43eac31daa12eb220f343f0c87ae2", - "new_receipt_trie_node_byte": "0xb9010c02f901080182a410b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19aa9c662c5bf8c0", - "nonce": "0xf" - }, - "0x882145b1f9764372125861727d7be616c84010ef": { - "balance": "0xaa87bee538000" - } - }, - "meta": { - "byte_code": "0x02f86f8205390e80845b8e179482520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c001a0c82df3fcaf2dc8704585465d951353092c85497dae88c0af95349b000ebec19da026311c7ed4f3580bdbb6ff90d66143ed9268f3fa849c22b0bf2697a87c27a042", - "new_txn_trie_node_byte": "0x02f86f8205390e80845b8e179482520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c001a0c82df3fcaf2dc8704585465d951353092c85497dae88c0af95349b000ebec19da026311c7ed4f3580bdbb6ff90d66143ed9268f3fa849c22b0bf2697a87c27a042", - "new_receipt_trie_node_byte": "0xb9010c02f901080182f618b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x2c80179883217370f777e76c067eea91d8283c5c": { - "balance": "0xaa87bee538000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19a702077984d1a0", - "nonce": "0x10" - } - }, - "meta": { - "byte_code": "0x02f86f8205390f80845b8e1794825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c001a024b550b0378ff482258f0cbded8acca28dd596cfa345b72eb820aef81547fbb5a0370acb5c8df0856109b044786515f7912fb126cae4749dd21ed842f2de9e15fe", - "new_txn_trie_node_byte": "0x02f86f8205390f80845b8e1794825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c001a024b550b0378ff482258f0cbded8acca28dd596cfa345b72eb820aef81547fbb5a0370acb5c8df0856109b044786515f7912fb126cae4749dd21ed842f2de9e15fe", - "new_receipt_trie_node_byte": "0xb9010d02f901090183014820b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x9e0823da9f7f3a0b22dd2798e6af7b39be37f0da": { - "balance": "0xaa87bee538000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19a367a8c6adaa80", - "nonce": "0x11" - } - }, - "meta": { - "byte_code": "0x02f86f8205391080845b8e1794825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c080a090a32c6b8c9465c41196acf9e693b08e354ab4b42a3f04d80031882dfa5201f5a066d70a3e893fccefdb8c64a099543a08c19d38b2456c5e39a25cc66ada38f319", - "new_txn_trie_node_byte": "0x02f86f8205391080845b8e1794825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c080a090a32c6b8c9465c41196acf9e693b08e354ab4b42a3f04d80031882dfa5201f5a066d70a3e893fccefdb8c64a099543a08c19d38b2456c5e39a25cc66ada38f319", - "new_receipt_trie_node_byte": "0xb9010d02f901090183019a28b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x7972eef40a371cbfd84c7d709507cc300c6d06a5": { - "balance": "0xaa87bee538000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e199fcd4a13d68360", - "nonce": "0x12" - } - }, - "meta": { - "byte_code": "0x02f86f8205391180845b8e1794825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c001a0cbd26a2d7e25345c0dc186ec91039a0d5cf958b0cffa9334b85c18949870c4cea02016b7f4800b0cc7f6c383e14a3bf7a1c1079c2a7a9158c7149f7bbc7147f079", - "new_txn_trie_node_byte": "0x02f86f8205391180845b8e1794825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c001a0cbd26a2d7e25345c0dc186ec91039a0d5cf958b0cffa9334b85c18949870c4cea02016b7f4800b0cc7f6c383e14a3bf7a1c1079c2a7a9158c7149f7bbc7147f079", - "new_receipt_trie_node_byte": "0xb9010d02f90109018301ec30b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - } - ] - }, - "other_data": { - "b_data": { - "b_meta": { - "block_beneficiary": "0x67b1d87101671b127f5f8714789c7192f7ad340e", - "block_timestamp": "0x666a96b7", - "block_number": "0x3", - "block_difficulty": "0x2", - "block_random": "0x0000000000000000000000000000000000000000000000000000000000000000", - "block_gaslimit": "0xaffd98", - "block_chain_id": "0x539", - "block_base_fee": "0x282e33e4", - "block_gas_used": "0x1ec30", - "block_bloom": [ - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0" - ] - }, - "b_hashes": { - "prev_hashes": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xc493151b4991dd1bf459952509bba9bc3fb2b706299e18e36e6b78781835065d", - "0xecc163d4e19061c77f9bc84afaaa6b98961e33435f80f9ebd6f751716f172b9c", - "0x52ed2bdc1acae1b2ad7890c4084e6d0db5a85b79d6ffa3f7a7efc04e3428b5f4" - ], - "cur_hash": "0x43e9e6398559ccdd4238d08a0b79ef57f50dddb2b75dd7c00e132718b54414c6" - }, - "withdrawals": [] - }, - "checkpoint_state_trie_root": "0x0fd5324836befac89fcd430abb81f2a274130af0dfa1a89babac76c574b58c40" - } - }, - { - "block_trace": { - "trie_pre_images": { - "combined": { - "compact": "0x0005582002601462093b5945d1676df093446790fd31b20e7b12a2e8e5e09d068109616b084a021e19e0c9bab240000005582002b64061d1b10621ed3cea3432c7e961244197663de5d2b7b25c29e63bec606d08470aa87bee5380000218480558200268288056310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d0841010558200239fa8ab811ddec4c30c62c575a346979cb7339d3e6b1b446aa9cec770bb1ca08470aa87bee538000055820022c9421b06b5fb4ed4f3f4b868f487d536ba02ebe1a6347c6a1312167dc000a08470aa87bee53800002194210055820021df1fa259221d02aa4956eb0d35ace318ca24c0a33a64c1af96cf67cf245b6084101055820021703c5eda8644a64cec152c58f5aacec93d72fb0bfa705f0473f9043a8357c0841010558200228a39461658094f425f190222a515c7902808b31fd90ea063e831b49d7443908470aa87bee5380000219808405582103b70e80538acdabd6137353b0f9d8d149f4dba91e8be2e7946e409bfdbe685b900841010558210389802d6ed1a28b049e9d4fe5334c5902fd9bc00c42821c82f82ee2da10be90800841010558200256274a27dd7524955417c11ecd917251cc7c4c8310f4c7e4bd3c304d3d9a790c124a021e199fcd4a13d68360055820023ab0970b73895b8c9959bae685c3a19f45eb5ad89d42b52a340ec4ac204d190841010219102005582103876da518a393dbd067dc72abfa08d475ed6447fca96d92ec3f9e7eba503ca6100841010558210352688a8f926c816ca1e079067caba944f158e764817b83fc43594370ca9cf6200841010558200296cdcb823ae5bcb55a33b2a1a22c03bb69870a0270cfef4e7ea22125e9aa0908470aa87bee5380000558200290b239ba3aaf993e443ae14aeffc44cf8d9931a79baed9fa141d0e4506e13108410102184205582103bd0026f7e234624f2bd4ca2c50d2f731cd19f206a89b29fa0c50b5b4e6bf133008470aa87bee5380000219e573" - } - }, - "code_db": null, - "txn_info": [ - { - "traces": { - "0x14dc11386c1eee1dff28b4823f68e8de3b5a2747": { - "balance": "0xe35fa931a0000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e199c347e6242cbe8", - "nonce": "0x13" - } - }, - "meta": { - "byte_code": "0x02f86f820539128084505c67c88252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c001a07623906391b43777272fd81f61128a53d5a774e2d8869706d55db74949f63c8aa06d5354f430ac0d64bea7ca1846bfc99818b70e56a2bbf11e43b563fbf92e6130", - "new_txn_trie_node_byte": "0x02f86f820539128084505c67c88252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c001a07623906391b43777272fd81f61128a53d5a774e2d8869706d55db74949f63c8aa06d5354f430ac0d64bea7ca1846bfc99818b70e56a2bbf11e43b563fbf92e6130", - "new_receipt_trie_node_byte": "0xb9010c02f9010801825208b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x92d3267215ec56542b985473e73c8417403b15ac": { - "balance": "0xe35fa931a0000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19989bb2b0af1470", - "nonce": "0x14" - } - }, - "meta": { - "byte_code": "0x02f86f820539138084505c67c88252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c001a093768ed5baa342a66908d6acf28633218c96d295fd1cd9c8fe22080f56202ed4a03464d2a6c818e77e004e66624d7d722aa98579b0fc821f1d9101b76f1f6f3e86", - "new_txn_trie_node_byte": "0x02f86f820539138084505c67c88252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c001a093768ed5baa342a66908d6acf28633218c96d295fd1cd9c8fe22080f56202ed4a03464d2a6c818e77e004e66624d7d722aa98579b0fc821f1d9101b76f1f6f3e86", - "new_receipt_trie_node_byte": "0xb9010c02f901080182a410b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e199502e6ff1b5cf8", - "nonce": "0x15" - }, - "0x882145b1f9764372125861727d7be616c84010ef": { - "balance": "0xe35fa931a0000" - } - }, - "meta": { - "byte_code": "0x02f86f820539148084505c67c882520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c080a05770c4bafb679d29918cd6320af2384452c3ba35ae27dd5614a226ba002db4c5a02bbbc7405851bc0a7e84ecb188262dcb2cc7e2128418b13f60c485f7e656e372", - "new_txn_trie_node_byte": "0x02f86f820539148084505c67c882520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c080a05770c4bafb679d29918cd6320af2384452c3ba35ae27dd5614a226ba002db4c5a02bbbc7405851bc0a7e84ecb188262dcb2cc7e2128418b13f60c485f7e656e372", - "new_receipt_trie_node_byte": "0xb9010c02f901080182f618b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e19916a1b4d87a580", - "nonce": "0x16" - }, - "0x2c80179883217370f777e76c067eea91d8283c5c": { - "balance": "0xe35fa931a0000" - } - }, - "meta": { - "byte_code": "0x02f86f820539158084505c67c8825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c001a0ba3727de78f7a49d17825ff5983dfeab11572736d4b22f1806e29d605e24c686a025c36e4810754fb42b2837e9fb7621f254c5a241709dae666e4adf00cf1e3e64", - "new_txn_trie_node_byte": "0x02f86f820539158084505c67c8825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c001a0ba3727de78f7a49d17825ff5983dfeab11572736d4b22f1806e29d605e24c686a025c36e4810754fb42b2837e9fb7621f254c5a241709dae666e4adf00cf1e3e64", - "new_receipt_trie_node_byte": "0xb9010d02f901090183014820b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e198dd14f9bf3ee08", - "nonce": "0x17" - }, - "0x9e0823da9f7f3a0b22dd2798e6af7b39be37f0da": { - "balance": "0xe35fa931a0000" - } - }, - "meta": { - "byte_code": "0x02f86f820539168084505c67c8825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c080a05481ba0ae3a286406d94d84fd70248a3d3a5daff8ec2375f40a9fb25c06b19b5a074c8d65317262b7b6ce89b9eb37438a82ea4ca9b9fcb76082ccd8252bc2b9351", - "new_txn_trie_node_byte": "0x02f86f820539168084505c67c8825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c080a05481ba0ae3a286406d94d84fd70248a3d3a5daff8ec2375f40a9fb25c06b19b5a074c8d65317262b7b6ce89b9eb37438a82ea4ca9b9fcb76082ccd8252bc2b9351", - "new_receipt_trie_node_byte": "0xb9010d02f901090183019a28b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x7972eef40a371cbfd84c7d709507cc300c6d06a5": { - "balance": "0xe35fa931a0000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e198a3883ea603690", - "nonce": "0x18" - } - }, - "meta": { - "byte_code": "0x02f86f820539178084505c67c8825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c001a03ab3b30088fffac6c69a35924b4f9750a3208f64a1db817490c1564bce6ea159a04bdf3f5a24c1b46a9a7a067557706f3edb8f7aabb9c728ae85ebc3c93ec3ae3d", - "new_txn_trie_node_byte": "0x02f86f820539178084505c67c8825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c001a03ab3b30088fffac6c69a35924b4f9750a3208f64a1db817490c1564bce6ea159a04bdf3f5a24c1b46a9a7a067557706f3edb8f7aabb9c728ae85ebc3c93ec3ae3d", - "new_receipt_trie_node_byte": "0xb9010d02f90109018301ec30b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - } - ] - }, - "other_data": { - "b_data": { - "b_meta": { - "block_beneficiary": "0x67b1d87101671b127f5f8714789c7192f7ad340e", - "block_timestamp": "0x666a96bd", - "block_number": "0x4", - "block_difficulty": "0x2", - "block_random": "0x0000000000000000000000000000000000000000000000000000000000000000", - "block_gaslimit": "0xb02996", - "block_chain_id": "0x539", - "block_base_fee": "0x2344852f", - "block_gas_used": "0x1ec30", - "block_bloom": [ - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0" - ] - }, - "b_hashes": { - "prev_hashes": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xc493151b4991dd1bf459952509bba9bc3fb2b706299e18e36e6b78781835065d", - "0xecc163d4e19061c77f9bc84afaaa6b98961e33435f80f9ebd6f751716f172b9c", - "0x52ed2bdc1acae1b2ad7890c4084e6d0db5a85b79d6ffa3f7a7efc04e3428b5f4", - "0x43e9e6398559ccdd4238d08a0b79ef57f50dddb2b75dd7c00e132718b54414c6" - ], - "cur_hash": "0x7b32edfa990c8aa0dc2afc2c0a23e1c6e1ede6b03de689a444163011231d90ce" - }, - "withdrawals": [] - }, - "checkpoint_state_trie_root": "0x0fd5324836befac89fcd430abb81f2a274130af0dfa1a89babac76c574b58c40" - } - }, - { - "block_trace": { - "trie_pre_images": { - "combined": { - "compact": "0x0005582002601462093b5945d1676df093446790fd31b20e7b12a2e8e5e09d068109616b084a021e19e0c9bab240000005582002b64061d1b10621ed3cea3432c7e961244197663de5d2b7b25c29e63bec606d08470e35fa931a00000218480558200268288056310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d0841010558200239fa8ab811ddec4c30c62c575a346979cb7339d3e6b1b446aa9cec770bb1ca08470e35fa931a0000055820022c9421b06b5fb4ed4f3f4b868f487d536ba02ebe1a6347c6a1312167dc000a08470e35fa931a000002194210055820021df1fa259221d02aa4956eb0d35ace318ca24c0a33a64c1af96cf67cf245b6084101055820021703c5eda8644a64cec152c58f5aacec93d72fb0bfa705f0473f9043a8357c0841010558200228a39461658094f425f190222a515c7902808b31fd90ea063e831b49d7443908470e35fa931a00000219808405582103b70e80538acdabd6137353b0f9d8d149f4dba91e8be2e7946e409bfdbe685b900841010558210389802d6ed1a28b049e9d4fe5334c5902fd9bc00c42821c82f82ee2da10be90800841010558200256274a27dd7524955417c11ecd917251cc7c4c8310f4c7e4bd3c304d3d9a790c18184a021e198a3883ea603690055820023ab0970b73895b8c9959bae685c3a19f45eb5ad89d42b52a340ec4ac204d190841010219102005582103876da518a393dbd067dc72abfa08d475ed6447fca96d92ec3f9e7eba503ca6100841010558210352688a8f926c816ca1e079067caba944f158e764817b83fc43594370ca9cf6200841010558200296cdcb823ae5bcb55a33b2a1a22c03bb69870a0270cfef4e7ea22125e9aa0908470e35fa931a00000558200290b239ba3aaf993e443ae14aeffc44cf8d9931a79baed9fa141d0e4506e13108410102184205582103bd0026f7e234624f2bd4ca2c50d2f731cd19f206a89b29fa0c50b5b4e6bf133008470e35fa931a00000219e573" - } - }, - "code_db": null, - "txn_info": [ - { - "traces": { - "0x14dc11386c1eee1dff28b4823f68e8de3b5a2747": { - "balance": "0x11c37937e08000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e1986a119f5a569f8", - "nonce": "0x19" - } - }, - "meta": { - "byte_code": "0x02f86f82053918808446890a5e8252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c080a01ee4e0b9e3a36b9365dd66ef1739747aaa9ea180b99ef919745bb0c26eca9a0aa0529429ae74c290510e991704260aae40bbac5a8baa974bf7e8c2efedcc676c54", - "new_txn_trie_node_byte": "0x02f86f82053918808446890a5e8252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c080a01ee4e0b9e3a36b9365dd66ef1739747aaa9ea180b99ef919745bb0c26eca9a0aa0529429ae74c290510e991704260aae40bbac5a8baa974bf7e8c2efedcc676c54", - "new_receipt_trie_node_byte": "0xb9010c02f9010801825208b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e198309b000ea9d60", - "nonce": "0x1a" - }, - "0x92d3267215ec56542b985473e73c8417403b15ac": { - "balance": "0x11c37937e08000" - } - }, - "meta": { - "byte_code": "0x02f86f82053919808446890a5e8252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c080a09b213fe9a7ab176112945662b93d7a93a5f84f3ef6909e32d14608b12a1d5a71a0787b1244a63828be22c2d446d5861784bf0e2f2ff896142a3d8812da89f0cc24", - "new_txn_trie_node_byte": "0x02f86f82053919808446890a5e8252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c080a09b213fe9a7ab176112945662b93d7a93a5f84f3ef6909e32d14608b12a1d5a71a0787b1244a63828be22c2d446d5861784bf0e2f2ff896142a3d8812da89f0cc24", - "new_receipt_trie_node_byte": "0xb9010c02f901080182a410b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e197f72460c2fd0c8", - "nonce": "0x1b" - }, - "0x882145b1f9764372125861727d7be616c84010ef": { - "balance": "0x11c37937e08000" - } - }, - "meta": { - "byte_code": "0x02f86f8205391a808446890a5e82520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c080a0339da690b2886d5946051623746e59d1d39fe2bcd68779ad10dd1a6b79a5bf82a05240a5c320af3a5ef10125dd21a21fd661a3a9e9c5325c653aa3aea71ba61a47", - "new_txn_trie_node_byte": "0x02f86f8205391a808446890a5e82520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c080a0339da690b2886d5946051623746e59d1d39fe2bcd68779ad10dd1a6b79a5bf82a05240a5c320af3a5ef10125dd21a21fd661a3a9e9c5325c653aa3aea71ba61a47", - "new_receipt_trie_node_byte": "0xb9010c02f901080182f618b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x2c80179883217370f777e76c067eea91d8283c5c": { - "balance": "0x11c37937e08000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e197bdadc17750430", - "nonce": "0x1c" - } - }, - "meta": { - "byte_code": "0x02f86f8205391b808446890a5e825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c080a00583425445c2d0f1deb7a25ce7419319fec040a2a2f42964f50212b14a8786e2a027750f5f7bd58f4d5bda04fac460d8fd1655dcc3aed93c4c24e194d1bb52af1a", - "new_txn_trie_node_byte": "0x02f86f8205391b808446890a5e825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c080a00583425445c2d0f1deb7a25ce7419319fec040a2a2f42964f50212b14a8786e2a027750f5f7bd58f4d5bda04fac460d8fd1655dcc3aed93c4c24e194d1bb52af1a", - "new_receipt_trie_node_byte": "0xb9010d02f901090183014820b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e1978437222ba3798", - "nonce": "0x1d" - }, - "0x9e0823da9f7f3a0b22dd2798e6af7b39be37f0da": { - "balance": "0x11c37937e08000" - } - }, - "meta": { - "byte_code": "0x02f86f8205391c808446890a5e825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c080a0adff5b10cb25534d49ee5ad0f20ef089c520faec0f16cfbac65066b422c42ff4a04421d46de38a004848f62c524e2f3ceb4d02a989b6b3331c149190b9631a60bb", - "new_txn_trie_node_byte": "0x02f86f8205391c808446890a5e825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c080a0adff5b10cb25534d49ee5ad0f20ef089c520faec0f16cfbac65066b422c42ff4a04421d46de38a004848f62c524e2f3ceb4d02a989b6b3331c149190b9631a60bb", - "new_receipt_trie_node_byte": "0xb9010d02f901090183019a28b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e1974ac082dff6b00", - "nonce": "0x1e" - }, - "0x7972eef40a371cbfd84c7d709507cc300c6d06a5": { - "balance": "0x11c37937e08000" - } - }, - "meta": { - "byte_code": "0x02f86f8205391d808446890a5e825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c080a0607e1c02503e06143020ef6d58073e0346750c2d1a290b979570bd9e3be19829a002a062d70894169ba2e49894eb602dc5324ecab8e6a0453288dd1b9462a3bb45", - "new_txn_trie_node_byte": "0x02f86f8205391d808446890a5e825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c080a0607e1c02503e06143020ef6d58073e0346750c2d1a290b979570bd9e3be19829a002a062d70894169ba2e49894eb602dc5324ecab8e6a0453288dd1b9462a3bb45", - "new_receipt_trie_node_byte": "0xb9010d02f90109018301ec30b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - } - ] - }, - "other_data": { - "b_data": { - "b_meta": { - "block_beneficiary": "0x67b1d87101671b127f5f8714789c7192f7ad340e", - "block_timestamp": "0x666a96c2", - "block_number": "0x5", - "block_difficulty": "0x2", - "block_random": "0x0000000000000000000000000000000000000000000000000000000000000000", - "block_gaslimit": "0xb0559f", - "block_chain_id": "0x539", - "block_base_fee": "0x1ef496d3", - "block_gas_used": "0x1ec30", - "block_bloom": [ - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0" - ] - }, - "b_hashes": { - "prev_hashes": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xc493151b4991dd1bf459952509bba9bc3fb2b706299e18e36e6b78781835065d", - "0xecc163d4e19061c77f9bc84afaaa6b98961e33435f80f9ebd6f751716f172b9c", - "0x52ed2bdc1acae1b2ad7890c4084e6d0db5a85b79d6ffa3f7a7efc04e3428b5f4", - "0x43e9e6398559ccdd4238d08a0b79ef57f50dddb2b75dd7c00e132718b54414c6", - "0x7b32edfa990c8aa0dc2afc2c0a23e1c6e1ede6b03de689a444163011231d90ce" - ], - "cur_hash": "0x540299ad479ada4fd07dc1f9506ab7cf71719c3d372d288d2ce43906a2437f59" - }, - "withdrawals": [] - }, - "checkpoint_state_trie_root": "0x0fd5324836befac89fcd430abb81f2a274130af0dfa1a89babac76c574b58c40" - } - }, - { - "block_trace": { - "trie_pre_images": { - "combined": { - "compact": "0x0005582002601462093b5945d1676df093446790fd31b20e7b12a2e8e5e09d068109616b084a021e19e0c9bab240000005582002b64061d1b10621ed3cea3432c7e961244197663de5d2b7b25c29e63bec606d084711c37937e080000218480558200268288056310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d0841010558200239fa8ab811ddec4c30c62c575a346979cb7339d3e6b1b446aa9cec770bb1ca084711c37937e08000055820022c9421b06b5fb4ed4f3f4b868f487d536ba02ebe1a6347c6a1312167dc000a084711c37937e0800002194210055820021df1fa259221d02aa4956eb0d35ace318ca24c0a33a64c1af96cf67cf245b6084101055820021703c5eda8644a64cec152c58f5aacec93d72fb0bfa705f0473f9043a8357c0841010558200228a39461658094f425f190222a515c7902808b31fd90ea063e831b49d74439084711c37937e080000219808405582103b70e80538acdabd6137353b0f9d8d149f4dba91e8be2e7946e409bfdbe685b900841010558210389802d6ed1a28b049e9d4fe5334c5902fd9bc00c42821c82f82ee2da10be90800841010558200256274a27dd7524955417c11ecd917251cc7c4c8310f4c7e4bd3c304d3d9a790c181e4a021e1974ac082dff6b00055820023ab0970b73895b8c9959bae685c3a19f45eb5ad89d42b52a340ec4ac204d190841010219102005582103876da518a393dbd067dc72abfa08d475ed6447fca96d92ec3f9e7eba503ca6100841010558210352688a8f926c816ca1e079067caba944f158e764817b83fc43594370ca9cf6200841010558200296cdcb823ae5bcb55a33b2a1a22c03bb69870a0270cfef4e7ea22125e9aa09084711c37937e080000558200290b239ba3aaf993e443ae14aeffc44cf8d9931a79baed9fa141d0e4506e13108410102184205582103bd0026f7e234624f2bd4ca2c50d2f731cd19f206a89b29fa0c50b5b4e6bf1330084711c37937e080000219e573" - } - }, - "code_db": null, - "txn_info": [ - { - "traces": { - "0x14dc11386c1eee1dff28b4823f68e8de3b5a2747": { - "balance": "0x1550f7dca70000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e197115d4b751ecc0", - "nonce": "0x1f" - } - }, - "meta": { - "byte_code": "0x02f86f8205391e80843de92da68252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c001a0f097340ff786fe4936c8dcc2358abfb35b9888fd97da23f7de5966e9564e2766a0625ba834320c99f672daa3b53b965f7af9407485ce49ac450d169198a8972735", - "new_txn_trie_node_byte": "0x02f86f8205391e80843de92da68252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c001a0f097340ff786fe4936c8dcc2358abfb35b9888fd97da23f7de5966e9564e2766a0625ba834320c99f672daa3b53b965f7af9407485ce49ac450d169198a8972735", - "new_receipt_trie_node_byte": "0xb9010c02f9010801825208b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x92d3267215ec56542b985473e73c8417403b15ac": { - "balance": "0x1550f7dca70000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e196d7fa140a46e80", - "nonce": "0x20" - } - }, - "meta": { - "byte_code": "0x02f86f8205391f80843de92da68252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c080a02fce8a1c632efd8fea240326f04a7f9b01c84573282adf8595343ccb848286fba05a550cbb3851f59d214878d202ed9ee8eb12c54e38e20d0ee4826b0f25c601ac", - "new_txn_trie_node_byte": "0x02f86f8205391f80843de92da68252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c080a02fce8a1c632efd8fea240326f04a7f9b01c84573282adf8595343ccb848286fba05a550cbb3851f59d214878d202ed9ee8eb12c54e38e20d0ee4826b0f25c601ac", - "new_receipt_trie_node_byte": "0xb9010c02f901080182a410b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e1969e96dc9f6f040", - "nonce": "0x21" - }, - "0x882145b1f9764372125861727d7be616c84010ef": { - "balance": "0x1550f7dca70000" - } - }, - "meta": { - "byte_code": "0x02f86f8205392080843de92da682520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c001a0a78cb955a97f7a93de2244bb33b7dcd34fd042883ce0875b4fee5bf8b106d7afa032b00b2c6907982ccca6ed1fb4f5e4c3a27bd1529b85e125f086999317070665", - "new_txn_trie_node_byte": "0x02f86f8205392080843de92da682520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c001a0a78cb955a97f7a93de2244bb33b7dcd34fd042883ce0875b4fee5bf8b106d7afa032b00b2c6907982ccca6ed1fb4f5e4c3a27bd1529b85e125f086999317070665", - "new_receipt_trie_node_byte": "0xb9010c02f901080182f618b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e1966533a53497200", - "nonce": "0x22" - }, - "0x2c80179883217370f777e76c067eea91d8283c5c": { - "balance": "0x1550f7dca70000" - } - }, - "meta": { - "byte_code": "0x02f86f8205392180843de92da6825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c080a00d844acefc2d7e85b87efeb6b2dafe7e19cd48d3f22e6e4c7761bd2567b41b20a07056ce0b20e483e22384c69350893ebd00379f2a148486e17ac274d7bdba33a4", - "new_txn_trie_node_byte": "0x02f86f8205392180843de92da6825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c080a00d844acefc2d7e85b87efeb6b2dafe7e19cd48d3f22e6e4c7761bd2567b41b20a07056ce0b20e483e22384c69350893ebd00379f2a148486e17ac274d7bdba33a4", - "new_receipt_trie_node_byte": "0xb9010d02f901090183014820b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x9e0823da9f7f3a0b22dd2798e6af7b39be37f0da": { - "balance": "0x1550f7dca70000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e1962bd06dc9bf3c0", - "nonce": "0x23" - } - }, - "meta": { - "byte_code": "0x02f86f8205392280843de92da6825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c080a00dd87a2c722138e8fe9e9242d6fea71c9456343457a58133867b3eb7b480506aa03f36067e682f89ef2723779b856f416d8fff548f99af0705bdb6ba32943dd4cd", - "new_txn_trie_node_byte": "0x02f86f8205392280843de92da6825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c080a00dd87a2c722138e8fe9e9242d6fea71c9456343457a58133867b3eb7b480506aa03f36067e682f89ef2723779b856f416d8fff548f99af0705bdb6ba32943dd4cd", - "new_receipt_trie_node_byte": "0xb9010d02f901090183019a28b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x7972eef40a371cbfd84c7d709507cc300c6d06a5": { - "balance": "0x1550f7dca70000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e195f26d365ee7580", - "nonce": "0x24" - } - }, - "meta": { - "byte_code": "0x02f86f8205392380843de92da6825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c001a0aaac3878bcb884b0cf46d1535fccb8421113d41045daed772338937500dcc57aa0593599f728a330be6d7bec338f95670bfc7021794ab83c0da9fe981b6e7248ed", - "new_txn_trie_node_byte": "0x02f86f8205392380843de92da6825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c001a0aaac3878bcb884b0cf46d1535fccb8421113d41045daed772338937500dcc57aa0593599f728a330be6d7bec338f95670bfc7021794ab83c0da9fe981b6e7248ed", - "new_receipt_trie_node_byte": "0xb9010d02f90109018301ec30b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - } - ] - }, - "other_data": { - "b_data": { - "b_meta": { - "block_beneficiary": "0x67b1d87101671b127f5f8714789c7192f7ad340e", - "block_timestamp": "0x666a96c8", - "block_number": "0x6", - "block_difficulty": "0x2", - "block_random": "0x0000000000000000000000000000000000000000000000000000000000000000", - "block_gaslimit": "0xb081b3", - "block_chain_id": "0x539", - "block_base_fee": "0x1b2b9dc8", - "block_gas_used": "0x1ec30", - "block_bloom": [ - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0" - ] - }, - "b_hashes": { - "prev_hashes": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xc493151b4991dd1bf459952509bba9bc3fb2b706299e18e36e6b78781835065d", - "0xecc163d4e19061c77f9bc84afaaa6b98961e33435f80f9ebd6f751716f172b9c", - "0x52ed2bdc1acae1b2ad7890c4084e6d0db5a85b79d6ffa3f7a7efc04e3428b5f4", - "0x43e9e6398559ccdd4238d08a0b79ef57f50dddb2b75dd7c00e132718b54414c6", - "0x7b32edfa990c8aa0dc2afc2c0a23e1c6e1ede6b03de689a444163011231d90ce", - "0x540299ad479ada4fd07dc1f9506ab7cf71719c3d372d288d2ce43906a2437f59" - ], - "cur_hash": "0x8f4e8872fece2779107919faea4dd350dbdef0b579084080c12de204614b01e4" - }, - "withdrawals": [] - }, - "checkpoint_state_trie_root": "0x0fd5324836befac89fcd430abb81f2a274130af0dfa1a89babac76c574b58c40" - } - }, - { - "block_trace": { - "trie_pre_images": { - "combined": { - "compact": "0x0005582002601462093b5945d1676df093446790fd31b20e7b12a2e8e5e09d068109616b084a021e19e0c9bab240000005582002b64061d1b10621ed3cea3432c7e961244197663de5d2b7b25c29e63bec606d08471550f7dca700000218480558200268288056310c82aa4c01a7e12a10f8111a0560e72b700555479031b86c357d0841010558200239fa8ab811ddec4c30c62c575a346979cb7339d3e6b1b446aa9cec770bb1ca08471550f7dca70000055820022c9421b06b5fb4ed4f3f4b868f487d536ba02ebe1a6347c6a1312167dc000a08471550f7dca7000002194210055820021df1fa259221d02aa4956eb0d35ace318ca24c0a33a64c1af96cf67cf245b6084101055820021703c5eda8644a64cec152c58f5aacec93d72fb0bfa705f0473f9043a8357c0841010558200228a39461658094f425f190222a515c7902808b31fd90ea063e831b49d7443908471550f7dca700000219808405582103b70e80538acdabd6137353b0f9d8d149f4dba91e8be2e7946e409bfdbe685b900841010558210389802d6ed1a28b049e9d4fe5334c5902fd9bc00c42821c82f82ee2da10be90800841010558200256274a27dd7524955417c11ecd917251cc7c4c8310f4c7e4bd3c304d3d9a790c18244a021e195f26d365ee7580055820023ab0970b73895b8c9959bae685c3a19f45eb5ad89d42b52a340ec4ac204d190841010219102005582103876da518a393dbd067dc72abfa08d475ed6447fca96d92ec3f9e7eba503ca6100841010558210352688a8f926c816ca1e079067caba944f158e764817b83fc43594370ca9cf6200841010558200296cdcb823ae5bcb55a33b2a1a22c03bb69870a0270cfef4e7ea22125e9aa0908471550f7dca700000558200290b239ba3aaf993e443ae14aeffc44cf8d9931a79baed9fa141d0e4506e13108410102184205582103bd0026f7e234624f2bd4ca2c50d2f731cd19f206a89b29fa0c50b5b4e6bf133008471550f7dca700000219e573" - } - }, - "code_db": null, - "txn_info": [ - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e195b91b077ba65a0", - "nonce": "0x25" - }, - "0x14dc11386c1eee1dff28b4823f68e8de3b5a2747": { - "balance": "0x18de76816d8000" - } - }, - "meta": { - "byte_code": "0x02f86f82053924808436573b908252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c080a01f5434680e70fe67c289666daa62f021d77e75e014d772b76f7b66e96c2e35aca06ded5910833c78b37dcac16427030b2768c6d5457c79febb841c6a4f483c6138", - "new_txn_trie_node_byte": "0x02f86f82053924808436573b908252089414dc11386c1eee1dff28b4823f68e8de3b5a274787038d7ea4c6800080c080a01f5434680e70fe67c289666daa62f021d77e75e014d772b76f7b66e96c2e35aca06ded5910833c78b37dcac16427030b2768c6d5457c79febb841c6a4f483c6138", - "new_receipt_trie_node_byte": "0xb9010c02f9010801825208b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e1957fc8d898655c0", - "nonce": "0x26" - }, - "0x92d3267215ec56542b985473e73c8417403b15ac": { - "balance": "0x18de76816d8000" - } - }, - "meta": { - "byte_code": "0x02f86f82053925808436573b908252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c001a0b58e8699319e3529c578ac9bb0b571f8f257df0943de4a17ce4cdab7cced1f40a078b718333c2cb89fbd67a2888fe72befb64685533c83f44980bc9e3a42feeb84", - "new_txn_trie_node_byte": "0x02f86f82053925808436573b908252089492d3267215ec56542b985473e73c8417403b15ac87038d7ea4c6800080c001a0b58e8699319e3529c578ac9bb0b571f8f257df0943de4a17ce4cdab7cced1f40a078b718333c2cb89fbd67a2888fe72befb64685533c83f44980bc9e3a42feeb84", - "new_receipt_trie_node_byte": "0xb9010c02f901080182a410b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e1954676a9b5245e0", - "nonce": "0x27" - }, - "0x882145b1f9764372125861727d7be616c84010ef": { - "balance": "0x18de76816d8000" - } - }, - "meta": { - "byte_code": "0x02f86f82053926808436573b9082520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c080a011779b6c3d9c596d24125c4800472caaf666d22056a30156a3b52170c8f23b79a00e0129e08c7917f08356dc870976275a2de21d6dc89b36f53ffd74f9a8518d90", - "new_txn_trie_node_byte": "0x02f86f82053926808436573b9082520894882145b1f9764372125861727d7be616c84010ef87038d7ea4c6800080c080a011779b6c3d9c596d24125c4800472caaf666d22056a30156a3b52170c8f23b79a00e0129e08c7917f08356dc870976275a2de21d6dc89b36f53ffd74f9a8518d90", - "new_receipt_trie_node_byte": "0xb9010c02f901080182f618b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e1950d247ad1e3600", - "nonce": "0x28" - }, - "0x2c80179883217370f777e76c067eea91d8283c5c": { - "balance": "0x18de76816d8000" - } - }, - "meta": { - "byte_code": "0x02f86f82053927808436573b90825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c001a077839a39ca68239775657fa67c028891424835ed0fcf9b84149382e9c65e018fa03c4aeea69f7a0c1b04ff13288702290155396075ea13ae982fab97441efbf594", - "new_txn_trie_node_byte": "0x02f86f82053927808436573b90825208942c80179883217370f777e76c067eea91d8283c5c87038d7ea4c6800080c001a077839a39ca68239775657fa67c028891424835ed0fcf9b84149382e9c65e018fa03c4aeea69f7a0c1b04ff13288702290155396075ea13ae982fab97441efbf594", - "new_receipt_trie_node_byte": "0xb9010d02f901090183014820b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x9e0823da9f7f3a0b22dd2798e6af7b39be37f0da": { - "balance": "0x18de76816d8000" - }, - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e194d3d24beea2620", - "nonce": "0x29" - } - }, - "meta": { - "byte_code": "0x02f86f82053928808436573b90825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c001a01d26b7cc6ff90bf7e28d5228add30e6231f68165ffe980d34b70a6ad313ab99fa00a03a2a9e24513a9e763948758937c31f223ed8f41fe345fb3bc439797b0ce89", - "new_txn_trie_node_byte": "0x02f86f82053928808436573b90825208949e0823da9f7f3a0b22dd2798e6af7b39be37f0da87038d7ea4c6800080c001a01d26b7cc6ff90bf7e28d5228add30e6231f68165ffe980d34b70a6ad313ab99fa00a03a2a9e24513a9e763948758937c31f223ed8f41fe345fb3bc439797b0ce89", - "new_receipt_trie_node_byte": "0xb9010d02f901090183019a28b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - }, - { - "traces": { - "0x67b1d87101671b127f5f8714789c7192f7ad340e": { - "balance": "0x21e1949a801d0b61640", - "nonce": "0x2a" - }, - "0x7972eef40a371cbfd84c7d709507cc300c6d06a5": { - "balance": "0x18de76816d8000" - } - }, - "meta": { - "byte_code": "0x02f86f82053929808436573b90825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c001a0c88544f777b3d7f6a069479f5a792b080efb42f90b1875e28a04b59105fc0931a017e6cf1abe23b0cfa3cf83947ae3ce26f69753aeb0a51695e3dc75c748fdf164", - "new_txn_trie_node_byte": "0x02f86f82053929808436573b90825208947972eef40a371cbfd84c7d709507cc300c6d06a587038d7ea4c6800080c001a0c88544f777b3d7f6a069479f5a792b080efb42f90b1875e28a04b59105fc0931a017e6cf1abe23b0cfa3cf83947ae3ce26f69753aeb0a51695e3dc75c748fdf164", - "new_receipt_trie_node_byte": "0xb9010d02f90109018301ec30b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", - "gas_used": 21000 - } - } - ] - }, - "other_data": { - "b_data": { - "b_meta": { - "block_beneficiary": "0x67b1d87101671b127f5f8714789c7192f7ad340e", - "block_timestamp": "0x666a96cd", - "block_number": "0x7", - "block_difficulty": "0x2", - "block_random": "0x0000000000000000000000000000000000000000000000000000000000000000", - "block_gaslimit": "0xb0add2", - "block_chain_id": "0x539", - "block_base_fee": "0x17d91afc", - "block_gas_used": "0x1ec30", - "block_bloom": [ - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0", - "0x0" - ] - }, - "b_hashes": { - "prev_hashes": [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0xc493151b4991dd1bf459952509bba9bc3fb2b706299e18e36e6b78781835065d", - "0xecc163d4e19061c77f9bc84afaaa6b98961e33435f80f9ebd6f751716f172b9c", - "0x52ed2bdc1acae1b2ad7890c4084e6d0db5a85b79d6ffa3f7a7efc04e3428b5f4", - "0x43e9e6398559ccdd4238d08a0b79ef57f50dddb2b75dd7c00e132718b54414c6", - "0x7b32edfa990c8aa0dc2afc2c0a23e1c6e1ede6b03de689a444163011231d90ce", - "0x540299ad479ada4fd07dc1f9506ab7cf71719c3d372d288d2ce43906a2437f59", - "0x8f4e8872fece2779107919faea4dd350dbdef0b579084080c12de204614b01e4" - ], - "cur_hash": "0x9fe97326da9f39550fd361614c13bc56b648fa5bd30ed7d296920b9928c44138" - }, - "withdrawals": [] - }, - "checkpoint_state_trie_root": "0x0fd5324836befac89fcd430abb81f2a274130af0dfa1a89babac76c574b58c40" - } - } -] diff --git a/zero_bin/tools/artifacts/witness_b3_b6.json b/zero_bin/tools/artifacts/witness_b3_b6.json new file mode 100644 index 000000000..0edc3f9ed --- /dev/null +++ b/zero_bin/tools/artifacts/witness_b3_b6.json @@ -0,0 +1,1295 @@ +[ + { + "block_trace": { + "trie_pre_images": { + "combined": { + "compact": "0x010397e4ae58e8d997dd2b19ed09ad9a66d1c0fd304d074e4a7bfb3f1fcc512a3e6303e3f965eb951555f4f5b98ab8ff7a6e33813bf9ac6830c1f8e5806e5563d580580338e34f9e0e4830343ba24f5fcf0eba28d79cb86397adfb16a0169ee7f018003603d71a215e4d3ec0f32cf2962c736400ffd957cd5659f11839f25e747932246d9103d2e57f615a47508c6e60935353428b9fc1cc75677a3eb8f5f73d61dd0aaff5f5055820021d99c6bec3aecbec962be74b25448511983b013c0876f6f4e6029773dfad61084101034d78166b48044fdc28ed22d2fd39c8df6f8aaa04cb71d3a17286856f6893ff83036c029a231254fadb724d63be769f75eedd66362df034a3e663252b49d062a66603556a482068355939c95a3412bdb21213a301483edb1b64402fb66ac9f3583599055820022a47fc6863b89a6b51890ef3c1550d560886c027141d2058ba1e2d4c66d99a031bffffffffffffffff05582002b3096c912adc7674ca92b68ddb3b0494e9b988fbef1bed7938e8fac4c2df7a0841010458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff01550000582103f385fda393b99de9d37a10f60e1713e15d430bfca19f20f5997568cc361b0f7058202985b5a3204327f0c9e564f4dbd496221cf00899f09a84cd4c3db217476571a2005821039fe5675746c1bdfc5be63cc73266f9a1bea6676dfe021cfac5e6b88653bd4ae0446655365b005821034e140195790fdd41923099a781a48299e52be2ea0d82c572d9cde32398cea9d05820ff93003a1ba7e7b0314bc0ea0d462b103e74d94cce26e8bd473a3190dfa05b3100582103027d6c60c17ddd9b4aacf97d79e98b3b80d8c5dead4d0bf0bc14a0e581d21350446655364f0219b20005582002d65eaa92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e420701186105582002401b4e97e67c4a6d8095979b4c1ecb9eaf5726fc8a12798975a7653e98087208410105582002c8bb92227ba91a2657f29c5498f5c5b07ae36369c8d9283444f477930c79be0841010391d9c76bfbc066e84f0b415c737ab8c477498701d920526db41690050cfade9905582002a5ac70a18399817ccbe8bd4d9c78115136cc61699d51af87608af520226c32084101055820029bd268aedc8dbb36db0a4664e17b83abcfd87e404901eee7bd5704a95064ee08410105582002a06a67e7fee9c938155c50e6cec9da70b66679e777da6f02149c6674cd910508410103d9240a9d2d5851d05a97ff3305334dfdb0101e1e321fc279d2bb3cad6afa8fc802197ffd0362837e6c846ab7d74ae300efbcf8b54fc9b7c587525c315cfffe71ba9172195503bc8f79f6ffa56f0331be2cef2091206ad44f58cbba0b2a0a3af67d140a20bbf203724f631a141f6a338cc83620dba6cbc53e49035312204f3847a68e2d852fd67a03b76eeb79901a6c64dd10ac149bd51778546491f0b64982a0425da73a9c20de5d035750dfde66a7a051d429386138dc80cc40f94d0212ebbd6f3dd7950b994b7e6903be88e4724326382a8b56e2328eeef0ad51f18d5bae0e84296afe14c4028c4af9035c131dd29dd0d65f1862c89aea9402aae410dfc48668d4952ae18c9fc9730856031796617427e67ed10cdf8a72b02689a700ba71eb93186a1b120c9ad0b0e56eae03ebc052143e57028286ef115b03a8a7736efa26c165fcfffc807960b2bf91e1c003bffc43dfea9c9a304f9ae5154c60adff35f4c9a6e722a59d60cca4d97c4038bb0390358d83779973801b7a3f4468c4f9475905a3eb4a5e1d54aa00d46599596d2905582002e23690e890cdec6eb19b06f5d31d422b5c17bd4c435afb2a2532180011453f0841010314389ec4a809554bd6c0ed11ecbc90f9fc419990a636e3533ecdee11a8b6f51e0378dd85c2fc0d0ceffc589922117c800868eb53fc692f74c423072dad5252b76e05582002295c5aa043a60d279854f7424e21250d5c1e1f9959549e90bc926d70e97068084101055820025b734df35ab6d576607e01c42f21d275cd9c0f86fbb3100241a14ba0c7672f08410103cf8063193541030762db90dd2f67697c531e949dabe33f8d608c3a6bb352b0eb055820038320edc6a9c30d249d75af74a19ade7f69c56e5e0d3a9adb17fee1b0a4bef008410105582003f18b96a1c12507c9a95b7f48c3e012651793a196ce2b81aaa6cb185dc03b60084101021910100303c5801bf244c28c5c430853d6797ee54f7e1a7c384f51d8c9a1dc4cd96cb74f03a5acd0ecfd7dcecd1f7360af116e7dd25617a0205b5f8b369be3ffc784c4f5a903bf90e746ea86172da995d366c29e417cc158c6689eab8f65860b5734a438719e05582002a6cdd9768090f90960cf9bad47705ca3b19a54c8ec8186e2987ffdd3a8435b08410103823a38527672ae42d480369a80b0b9c2ede964cb93668c0487e1341607c5d5ee02195dff035740575999fde2ddd421a9f5907dfc4be5fc3f5f96d65240ae3b3b596d38465f05582002b693085beb21b0878c7e5fab7519ce0d6105354cf6744dbfb73e3745e929e4084101055820027f470df15c88b9beaf3fad72890a64f8851d01ece546b0c9fb3bdf92041a35084101055820029cb4b751333c144710961e20611eb00c783b77e8cb532c64307202fb109699084c033b2e3c9fd0803ce8000000035f4ca08c32e4a3997d0e94d8946e3d361ec5d0225d9cd85c6de8d572bb0a99c903faecf459527318d12fee2db8d85c54fc244d0207ba336a01e397593b801ae61f055820039bbcf08818ec3329e5769dff3fbdad66e6312a961acb32c1b203edf70aeba0084101031c13664b9096979e0a6a58919940b248687992af952308581eff9d0e8c14119a0219400805582002facf5483fdda2fc98d08bcce1a68d5d308d3ad88ee21b50004fd694ba6f805084101055820026a58207750197f48cb90864096850259845c2c8e90c74433325c0b144bf8bb08410105582002fa0eae268038cfa984647a1d0635beb86eda9fb7b500688f3189520cfa9ee50841010219fb610219ffff" + } + }, + "txn_info": [] + }, + "other_data": { + "b_data": { + "b_meta": { + "block_beneficiary": "0x8943545177806ed17b9f23f0a21ee5948ecaa776", + "block_timestamp": "0x66553667", + "block_number": "0x3", + "block_difficulty": "0x0", + "block_random": "0xdb36fd4f088f574f897e0d64913f92974ee32215c4e379c78fc470cb2ca439c9", + "block_gaslimit": "0x17e969d", + "block_chain_id": "0x301824", + "block_base_fee": "0x283a7441", + "block_gas_used": "0x0", + "block_blob_gas_used": "0x0", + "block_excess_blob_gas": "0x0", + "parent_beacon_block_root": "0x98864e82e4469d33ea8be37f21c494cd3aa44e745ea2b4645ef58747ad6d5586", + "block_bloom": [ + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + "b_hashes": { + "prev_hashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xbd491c81fa88681710feabc6b0502b779985169c92af323fffd790752961145f", + "0xd009e8d31d1f79c2e09bc9d0eb97d0802f0b0b0421d8299a01e43f7d61e1619d", + "0x7ee1f9d1d3f5a50d5c766847ffa644493f7dfe40c15eca0842fffc9966d56fae" + ], + "cur_hash": "0xaeb0a1814c75f5a92d4eccf2b57aff945682dd682c9aa35721af4f5d837af1cf" + }, + "withdrawals": [] + }, + "checkpoint_state_trie_root": "0xfa446f2a9bf579b0ea805b88e3ee2acf601573f6ff48baaa8880915613aec508" + } + }, + { + "block_trace": { + "trie_pre_images": { + "combined": { + "compact": "0x010397e4ae58e8d997dd2b19ed09ad9a66d1c0fd304d074e4a7bfb3f1fcc512a3e6303e3f965eb951555f4f5b98ab8ff7a6e33813bf9ac6830c1f8e5806e5563d580580338e34f9e0e4830343ba24f5fcf0eba28d79cb86397adfb16a0169ee7f018003605582003d2dbe83a6ba7fd75737c8d7453d984e7938ba7ae113d3da2ad7433061157b0084101055820039c0a91ba30d346a55890b1b07287d8aae35baa8c4068ef8f1de66084aca750084101055820032dee2834b372effea65d7c74ab9f3ac60ef271e846721aa8759a346a3b55400c154c033b2e3c9fceb8d1c7e75a050219020303d2e57f615a47508c6e60935353428b9fc1cc75677a3eb8f5f73d61dd0aaff5f5055820021d99c6bec3aecbec962be74b25448511983b013c0876f6f4e6029773dfad61084101034d78166b48044fdc28ed22d2fd39c8df6f8aaa04cb71d3a17286856f6893ff83036c029a231254fadb724d63be769f75eedd66362df034a3e663252b49d062a66603556a482068355939c95a3412bdb21213a301483edb1b64402fb66ac9f3583599055820022a47fc6863b89a6b51890ef3c1550d560886c027141d2058ba1e2d4c66d99a031bffffffffffffffff05582002b3096c912adc7674ca92b68ddb3b0494e9b988fbef1bed7938e8fac4c2df7a0841010458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff01550000582103843cb8b9216f632c66c9bb34b91132b078d41610e2afc92539cedd1fb0c25450582098864e82e4469d33ea8be37f21c494cd3aa44e745ea2b4645ef58747ad6d558600582103f385fda393b99de9d37a10f60e1713e15d430bfca19f20f5997568cc361b0f7058202985b5a3204327f0c9e564f4dbd496221cf00899f09a84cd4c3db217476571a2005821039fe5675746c1bdfc5be63cc73266f9a1bea6676dfe021cfac5e6b88653bd4ae0446655365b03125365b35dc4086ec9792ef0ad57e78ab63d3d5078b1d61e22f734a7f908b12700582103027d6c60c17ddd9b4aacf97d79e98b3b80d8c5dead4d0bf0bc14a0e581d21350446655364f0219b20405582002d65eaa92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e420701186105582002401b4e97e67c4a6d8095979b4c1ecb9eaf5726fc8a12798975a7653e98087208410105582002c8bb92227ba91a2657f29c5498f5c5b07ae36369c8d9283444f477930c79be0841010391d9c76bfbc066e84f0b415c737ab8c477498701d920526db41690050cfade9905582002a5ac70a18399817ccbe8bd4d9c78115136cc61699d51af87608af520226c32084101055820029bd268aedc8dbb36db0a4664e17b83abcfd87e404901eee7bd5704a95064ee08410105582002a06a67e7fee9c938155c50e6cec9da70b66679e777da6f02149c6674cd910508410103d9240a9d2d5851d05a97ff3305334dfdb0101e1e321fc279d2bb3cad6afa8fc802197ffd0362837e6c846ab7d74ae300efbcf8b54fc9b7c587525c315cfffe71ba9172195503bc8f79f6ffa56f0331be2cef2091206ad44f58cbba0b2a0a3af67d140a20bbf203724f631a141f6a338cc83620dba6cbc53e49035312204f3847a68e2d852fd67a03b76eeb79901a6c64dd10ac149bd51778546491f0b64982a0425da73a9c20de5d035750dfde66a7a051d429386138dc80cc40f94d0212ebbd6f3dd7950b994b7e6903be88e4724326382a8b56e2328eeef0ad51f18d5bae0e84296afe14c4028c4af9035c131dd29dd0d65f1862c89aea9402aae410dfc48668d4952ae18c9fc9730856031796617427e67ed10cdf8a72b02689a700ba71eb93186a1b120c9ad0b0e56eae03ebc052143e57028286ef115b03a8a7736efa26c165fcfffc807960b2bf91e1c003bffc43dfea9c9a304f9ae5154c60adff35f4c9a6e722a59d60cca4d97c4038bb032c0386eb4a4b8c2a523e98b0b17664b6d1bc406f81d74407fb24ed6ddc5dd2fd035740575999fde2ddd421a9f5907dfc4be5fc3f5f96d65240ae3b3b596d38465f05582002b693085beb21b0878c7e5fab7519ce0d6105354cf6744dbfb73e3745e929e4084101055820027f470df15c88b9beaf3fad72890a64f8851d01ece546b0c9fb3bdf92041a35084101055820029cb4b751333c144710961e20611eb00c783b77e8cb532c64307202fb109699084c033b2e3c9fd0803ce8000000035f4ca08c32e4a3997d0e94d8946e3d361ec5d0225d9cd85c6de8d572bb0a99c903faecf459527318d12fee2db8d85c54fc244d0207ba336a01e397593b801ae61f055820039bbcf08818ec3329e5769dff3fbdad66e6312a961acb32c1b203edf70aeba0084101031c13664b9096979e0a6a58919940b248687992af952308581eff9d0e8c14119a0219400805582002facf5483fdda2fc98d08bcce1a68d5d308d3ad88ee21b50004fd694ba6f805084101055820026a58207750197f48cb90864096850259845c2c8e90c74433325c0b144bf8bb08410105582002fa0eae268038cfa984647a1d0635beb86eda9fb7b500688f3189520cfa9ee50841010219fb610219ffff" + } + }, + "txn_info": [ + { + "traces": { + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fcead3d4c56658d", + "nonce": "0x16" + } + }, + "meta": { + "byte_code": "0xf8891584693d4ca88254de948943545177806ed17b9f23f0a21ee5948ecaa77680a3646174613a2c7b226d7367223a2246696e697368656420636f6d6d6f6e202d2031227d8360306ca0d9cec3b90279e705e556df1e81d112122dffc624c62f1db63b68df60f197d876a07ca0bc46178062fa88c2c040a8cd5c20617edec09ab1d5148a60eeb0b660f902", + "new_txn_trie_node_byte": "0xf8891584693d4ca88254de948943545177806ed17b9f23f0a21ee5948ecaa77680a3646174613a2c7b226d7367223a2246696e697368656420636f6d6d6f6e202d2031227d8360306ca0d9cec3b90279e705e556df1e81d112122dffc624c62f1db63b68df60f197d876a07ca0bc46178062fa88c2c040a8cd5c20617edec09ab1d5148a60eeb0b660f902", + "new_receipt_trie_node_byte": "0xf9010801825438b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21560 + } + } + ] + }, + "other_data": { + "b_data": { + "b_meta": { + "block_beneficiary": "0x8943545177806ed17b9f23f0a21ee5948ecaa776", + "block_timestamp": "0x66553673", + "block_number": "0x4", + "block_difficulty": "0x0", + "block_random": "0x3dd9e550652f142c97c1fe8f913faf5e1818ef9ce3b5b591b14a1c7a77cc2058", + "block_gaslimit": "0x17ef641", + "block_chain_id": "0x301824", + "block_base_fee": "0x233325b9", + "block_gas_used": "0x5438", + "block_blob_gas_used": "0x0", + "block_excess_blob_gas": "0x0", + "parent_beacon_block_root": "0xb7cb32a5e970c4d5e365dbe77c18496f6e821850ae9f4faa3660a2a08c7e56ed", + "block_bloom": [ + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + "b_hashes": { + "prev_hashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xbd491c81fa88681710feabc6b0502b779985169c92af323fffd790752961145f", + "0xd009e8d31d1f79c2e09bc9d0eb97d0802f0b0b0421d8299a01e43f7d61e1619d", + "0x7ee1f9d1d3f5a50d5c766847ffa644493f7dfe40c15eca0842fffc9966d56fae", + "0xaeb0a1814c75f5a92d4eccf2b57aff945682dd682c9aa35721af4f5d837af1cf" + ], + "cur_hash": "0xede379e8b2d9fecba28ac5a82da2f8c981edc9b5820e6ff4dd4816cf1aea3a69" + }, + "withdrawals": [] + }, + "checkpoint_state_trie_root": "0xfa446f2a9bf579b0ea805b88e3ee2acf601573f6ff48baaa8880915613aec508" + } + }, + { + "block_trace": { + "trie_pre_images": { + "combined": { + "compact": "0x010397e4ae58e8d997dd2b19ed09ad9a66d1c0fd304d074e4a7bfb3f1fcc512a3e6303e3f965eb951555f4f5b98ab8ff7a6e33813bf9ac6830c1f8e5806e5563d580580338e34f9e0e4830343ba24f5fcf0eba28d79cb86397adfb16a0169ee7f018003605582003d2dbe83a6ba7fd75737c8d7453d984e7938ba7ae113d3da2ad7433061157b0084101055820039c0a91ba30d346a55890b1b07287d8aae35baa8c4068ef8f1de66084aca750084101055820032dee2834b372effea65d7c74ab9f3ac60ef271e846721aa8759a346a3b55400c164c033b2e3c9fcead3d4c56658d0219020303d2e57f615a47508c6e60935353428b9fc1cc75677a3eb8f5f73d61dd0aaff5f5055820021d99c6bec3aecbec962be74b25448511983b013c0876f6f4e6029773dfad61084101034d78166b48044fdc28ed22d2fd39c8df6f8aaa04cb71d3a17286856f6893ff83036c029a231254fadb724d63be769f75eedd66362df034a3e663252b49d062a66603556a482068355939c95a3412bdb21213a301483edb1b64402fb66ac9f3583599055820022a47fc6863b89a6b51890ef3c1550d560886c027141d2058ba1e2d4c66d99a031bffffffffffffffff05582002b3096c912adc7674ca92b68ddb3b0494e9b988fbef1bed7938e8fac4c2df7a0841010458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff01550000582103843cb8b9216f632c66c9bb34b91132b078d41610e2afc92539cedd1fb0c25450582098864e82e4469d33ea8be37f21c494cd3aa44e745ea2b4645ef58747ad6d558600582103ad33d9c91e1cd299659fe3c90caee16cded224abc810f6552a91d09028c367b05820b7cb32a5e970c4d5e365dbe77c18496f6e821850ae9f4faa3660a2a08c7e56ed00582103f385fda393b99de9d37a10f60e1713e15d430bfca19f20f5997568cc361b0f7058202985b5a3204327f0c9e564f4dbd496221cf00899f09a84cd4c3db217476571a2005821034ac8ca477a537f652c7565346c91b91bb13a157b5fd28ad0664af7fed3466c504466553673005821039fe5675746c1bdfc5be63cc73266f9a1bea6676dfe021cfac5e6b88653bd4ae0446655365b03125365b35dc4086ec9792ef0ad57e78ab63d3d5078b1d61e22f734a7f908b12700582103027d6c60c17ddd9b4aacf97d79e98b3b80d8c5dead4d0bf0bc14a0e581d21350446655364f0219b68405582002d65eaa92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e420701186105582002401b4e97e67c4a6d8095979b4c1ecb9eaf5726fc8a12798975a7653e98087208410105582002c8bb92227ba91a2657f29c5498f5c5b07ae36369c8d9283444f477930c79be0841010391d9c76bfbc066e84f0b415c737ab8c477498701d920526db41690050cfade9905582002a5ac70a18399817ccbe8bd4d9c78115136cc61699d51af87608af520226c32084101055820029bd268aedc8dbb36db0a4664e17b83abcfd87e404901eee7bd5704a95064ee08410105582002a06a67e7fee9c938155c50e6cec9da70b66679e777da6f02149c6674cd910508410103d9240a9d2d5851d05a97ff3305334dfdb0101e1e321fc279d2bb3cad6afa8fc802197ffd0362837e6c846ab7d74ae300efbcf8b54fc9b7c587525c315cfffe71ba9172195503bc8f79f6ffa56f0331be2cef2091206ad44f58cbba0b2a0a3af67d140a20bbf203724f631a141f6a338cc83620dba6cbc53e49035312204f3847a68e2d852fd67a03b76eeb79901a6c64dd10ac149bd51778546491f0b64982a0425da73a9c20de5d035750dfde66a7a051d429386138dc80cc40f94d0212ebbd6f3dd7950b994b7e6903be88e4724326382a8b56e2328eeef0ad51f18d5bae0e84296afe14c4028c4af9035c131dd29dd0d65f1862c89aea9402aae410dfc48668d4952ae18c9fc9730856031796617427e67ed10cdf8a72b02689a700ba71eb93186a1b120c9ad0b0e56eae03ebc052143e57028286ef115b03a8a7736efa26c165fcfffc807960b2bf91e1c003bffc43dfea9c9a304f9ae5154c60adff35f4c9a6e722a59d60cca4d97c4038bb032c0386eb4a4b8c2a523e98b0b17664b6d1bc406f81d74407fb24ed6ddc5dd2fd035740575999fde2ddd421a9f5907dfc4be5fc3f5f96d65240ae3b3b596d38465f05582002b693085beb21b0878c7e5fab7519ce0d6105354cf6744dbfb73e3745e929e4084101055820027f470df15c88b9beaf3fad72890a64f8851d01ece546b0c9fb3bdf92041a35084101055820029cb4b751333c144710961e20611eb00c783b77e8cb532c64307202fb109699084c033b2e3c9fd0803ce8000000035f4ca08c32e4a3997d0e94d8946e3d361ec5d0225d9cd85c6de8d572bb0a99c903faecf459527318d12fee2db8d85c54fc244d0207ba336a01e397593b801ae61f055820039bbcf08818ec3329e5769dff3fbdad66e6312a961acb32c1b203edf70aeba0084101031c13664b9096979e0a6a58919940b248687992af952308581eff9d0e8c14119a0219400805582002facf5483fdda2fc98d08bcce1a68d5d308d3ad88ee21b50004fd694ba6f805084101055820026a58207750197f48cb90864096850259845c2c8e90c74433325c0b144bf8bb08410105582002fa0eae268038cfa984647a1d0635beb86eda9fb7b500688f3189520cfa9ee50841010219fb610219ffff" + } + }, + "txn_info": [ + { + "traces": { + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fcea31abd3bb57d", + "nonce": "0x17" + } + }, + "meta": { + "byte_code": "0xf88916845ecdefb98254de948943545177806ed17b9f23f0a21ee5948ecaa77680a3646174613a2c7b226d7367223a2246696e697368656420636f6d6d6f6e202d2032227d8360306ca00798b214fc83c700c32f77f88883450fc113756160353084300b6ddfe55b5d25a043f37de26b0018318c792b0e4333ef5c1e0ff6949502f447095503e46d91da6f", + "new_txn_trie_node_byte": "0xf88916845ecdefb98254de948943545177806ed17b9f23f0a21ee5948ecaa77680a3646174613a2c7b226d7367223a2246696e697368656420636f6d6d6f6e202d2032227d8360306ca00798b214fc83c700c32f77f88883450fc113756160353084300b6ddfe55b5d25a043f37de26b0018318c792b0e4333ef5c1e0ff6949502f447095503e46d91da6f", + "new_receipt_trie_node_byte": "0xf9010801825438b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 21560 + } + } + ] + }, + "other_data": { + "b_data": { + "b_meta": { + "block_beneficiary": "0x8943545177806ed17b9f23f0a21ee5948ecaa776", + "block_timestamp": "0x6655367f", + "block_number": "0x5", + "block_difficulty": "0x0", + "block_random": "0x115ebb1564d5339531f1b793139aa20e227fb843873e3ab93419424e48ddfb21", + "block_gaslimit": "0x17f55fd", + "block_chain_id": "0x301824", + "block_base_fee": "0x1eceb06e", + "block_gas_used": "0x5438", + "block_blob_gas_used": "0x0", + "block_excess_blob_gas": "0x0", + "parent_beacon_block_root": "0x48d8f073d9b46c873fe6af7836b1fdb981c4740c0600c88b30522da14496e641", + "block_bloom": [ + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + "b_hashes": { + "prev_hashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xbd491c81fa88681710feabc6b0502b779985169c92af323fffd790752961145f", + "0xd009e8d31d1f79c2e09bc9d0eb97d0802f0b0b0421d8299a01e43f7d61e1619d", + "0x7ee1f9d1d3f5a50d5c766847ffa644493f7dfe40c15eca0842fffc9966d56fae", + "0xaeb0a1814c75f5a92d4eccf2b57aff945682dd682c9aa35721af4f5d837af1cf", + "0xede379e8b2d9fecba28ac5a82da2f8c981edc9b5820e6ff4dd4816cf1aea3a69" + ], + "cur_hash": "0xc21c5ebbc8a026a4256cb0dd606673ab7ce1bb8116659989e29e2602439763c2" + }, + "withdrawals": [] + }, + "checkpoint_state_trie_root": "0xfa446f2a9bf579b0ea805b88e3ee2acf601573f6ff48baaa8880915613aec508" + } + }, + { + "block_trace": { + "trie_pre_images": { + "combined": { + "compact": "0x010397e4ae58e8d997dd2b19ed09ad9a66d1c0fd304d074e4a7bfb3f1fcc512a3e6303e3f965eb951555f4f5b98ab8ff7a6e33813bf9ac6830c1f8e5806e5563d580580338e34f9e0e4830343ba24f5fcf0eba28d79cb86397adfb16a0169ee7f018003605582003d2dbe83a6ba7fd75737c8d7453d984e7938ba7ae113d3da2ad7433061157b0084101055820039c0a91ba30d346a55890b1b07287d8aae35baa8c4068ef8f1de66084aca750084101055820032dee2834b372effea65d7c74ab9f3ac60ef271e846721aa8759a346a3b55400c174c033b2e3c9fcea31abd3bb57d0219020303d2e57f615a47508c6e60935353428b9fc1cc75677a3eb8f5f73d61dd0aaff5f5055820021d99c6bec3aecbec962be74b25448511983b013c0876f6f4e6029773dfad61084101034d78166b48044fdc28ed22d2fd39c8df6f8aaa04cb71d3a17286856f6893ff83036c029a231254fadb724d63be769f75eedd66362df034a3e663252b49d062a66603556a482068355939c95a3412bdb21213a301483edb1b64402fb66ac9f3583599055820022a47fc6863b89a6b51890ef3c1550d560886c027141d2058ba1e2d4c66d99a031bffffffffffffffff05582002b3096c912adc7674ca92b68ddb3b0494e9b988fbef1bed7938e8fac4c2df7a0841010458613373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff01550000582103843cb8b9216f632c66c9bb34b91132b078d41610e2afc92539cedd1fb0c25450582098864e82e4469d33ea8be37f21c494cd3aa44e745ea2b4645ef58747ad6d558600582103d46ebd314b93c885dc64adacaa9ffedc748aa513e9bf12449804a4df7919d890582048d8f073d9b46c873fe6af7836b1fdb981c4740c0600c88b30522da14496e64100582103ad33d9c91e1cd299659fe3c90caee16cded224abc810f6552a91d09028c367b05820b7cb32a5e970c4d5e365dbe77c18496f6e821850ae9f4faa3660a2a08c7e56ed00582103f385fda393b99de9d37a10f60e1713e15d430bfca19f20f5997568cc361b0f7058202985b5a3204327f0c9e564f4dbd496221cf00899f09a84cd4c3db217476571a2005821034ac8ca477a537f652c7565346c91b91bb13a157b5fd28ad0664af7fed3466c504466553673005821039fe5675746c1bdfc5be63cc73266f9a1bea6676dfe021cfac5e6b88653bd4ae0446655365b03125365b35dc4086ec9792ef0ad57e78ab63d3d5078b1d61e22f734a7f908b1270373183fec9b0b90e2127d401665f0bda9daccc5d1313ed7cc1481af960934dbd90219b6c405582002d65eaa92c6bc4c13a5ec45527f0c18ea8932588728769ec7aecfe6d9f32e420701186105582002401b4e97e67c4a6d8095979b4c1ecb9eaf5726fc8a12798975a7653e98087208410105582002c8bb92227ba91a2657f29c5498f5c5b07ae36369c8d9283444f477930c79be0841010391d9c76bfbc066e84f0b415c737ab8c477498701d920526db41690050cfade9905582002a5ac70a18399817ccbe8bd4d9c78115136cc61699d51af87608af520226c32084101055820029bd268aedc8dbb36db0a4664e17b83abcfd87e404901eee7bd5704a95064ee08410105582002a06a67e7fee9c938155c50e6cec9da70b66679e777da6f02149c6674cd910508410103d9240a9d2d5851d05a97ff3305334dfdb0101e1e321fc279d2bb3cad6afa8fc802197ffd0362837e6c846ab7d74ae300efbcf8b54fc9b7c587525c315cfffe71ba9172195503bc8f79f6ffa56f0331be2cef2091206ad44f58cbba0b2a0a3af67d140a20bbf203724f631a141f6a338cc83620dba6cbc53e49035312204f3847a68e2d852fd67a03b76eeb79901a6c64dd10ac149bd51778546491f0b64982a0425da73a9c20de5d035750dfde66a7a051d429386138dc80cc40f94d0212ebbd6f3dd7950b994b7e6903be88e4724326382a8b56e2328eeef0ad51f18d5bae0e84296afe14c4028c4af9035c131dd29dd0d65f1862c89aea9402aae410dfc48668d4952ae18c9fc973085603042725662c701c4b9e20f7a6ca8eed26fbb75c57a661a1881feac698c2077201055820024d9fdc657d712208d6e7c2cfbf62f7ad7ba1bfff2e63e6caee2b0bf5bad0fd084101055820025939867994cd8e5a18f341628420fa8ab88b2f5d05ffe51291654922f5454f084101055820021ba6d576dbde0542d30a9264e2c71be270e3eb4f5910567a8c1c0619a2e5ec084101055820021089e529c1ff6c4d6583ecfca7ea6419bf39e0d418686bb7a24424c670b332084101055820023f6bc81ecfaf0cf4c3dcd9527e3c0f6910383acf964ed14b194fa660d30b10084101055820038c273af675612bc8ee68c7a419b671e678e63fb9ed62646358d70adb82434008410105582003c8b1cc055dd94a0f598f5ce4f8e121a8e3e4ac752b027ba3e2e99ed10c7b8008410102199000031696e2d680544beff6f9cf8e7d00e608f79ffcd716dc58a5cb82609f8e07cb9e05582002af72fc0534a4a5a94eb1f64cb1bd6c425acba3249fb8441e7411e9be9ec1f30841010558200264e3e72bf85be5684a53d65672caf037bf80d71a339ee85e8c2b719fff575e084c033b2e3c9fd0803ce80000000558200262e8d8d0eb3d7432758c244131f1649874367cc52a4fa4fd0609def9e57389084101055820020cb591a67822e88dcebb8991bca5b7305b5858d65bc2b5e6605e481a65058808410105582002dec651652e0aa17e056de1790554aeca5fa248cecc4131d189dacd26c4ca5508410103be44445c6367f50e0d747e8d65c9d72e142226e0ab24a88620acec0edc556aa702197fbf03ebc052143e57028286ef115b03a8a7736efa26c165fcfffc807960b2bf91e1c003bffc43dfea9c9a304f9ae5154c60adff35f4c9a6e722a59d60cca4d97c4038bb032c0386eb4a4b8c2a523e98b0b17664b6d1bc406f81d74407fb24ed6ddc5dd2fd035740575999fde2ddd421a9f5907dfc4be5fc3f5f96d65240ae3b3b596d38465f05582002b693085beb21b0878c7e5fab7519ce0d6105354cf6744dbfb73e3745e929e4084101055820027f470df15c88b9beaf3fad72890a64f8851d01ece546b0c9fb3bdf92041a35084101055820029cb4b751333c144710961e20611eb00c783b77e8cb532c64307202fb109699084c033b2e3c9fd0803ce8000000035f4ca08c32e4a3997d0e94d8946e3d361ec5d0225d9cd85c6de8d572bb0a99c903faecf459527318d12fee2db8d85c54fc244d0207ba336a01e397593b801ae61f055820039bbcf08818ec3329e5769dff3fbdad66e6312a961acb32c1b203edf70aeba0084101031c13664b9096979e0a6a58919940b248687992af952308581eff9d0e8c14119a0219400805582002facf5483fdda2fc98d08bcce1a68d5d308d3ad88ee21b50004fd694ba6f805084101055820026a58207750197f48cb90864096850259845c2c8e90c74433325c0b144bf8bb08410105582002fa0eae268038cfa984647a1d0635beb86eda9fb7b500688f3189520cfa9ee50841010219fb610219ffff" + } + }, + "txn_info": [ + { + "traces": { + "0x2a3365c575a5fc8fd2842b82d29f8035e7f71cec": { + "nonce": "0x1", + "code_usage": { + "write": "0x60005b60010180405060405a1163000000025700" + } + }, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fce8b776d2f7e79", + "nonce": "0x18" + } + }, + "meta": { + "byte_code": "0xf87217845a697a6e82e3998080a06014600c60003960146000f360005b60010180405060405a11630000000257008360306ba0e89268b221aafe24e18f58fb0e672e7fccfd0934555c351ada818a56b3c31ef6a06c70c501108099507aed5f93ab6157a05c4009a5e2c1193aa6f2ca1288bc60f2", + "new_txn_trie_node_byte": "0xf87217845a697a6e82e3998080a06014600c60003960146000f360005b60010180405060405a11630000000257008360306ba0e89268b221aafe24e18f58fb0e672e7fccfd0934555c351ada818a56b3c31ef6a06c70c501108099507aed5f93ab6157a05c4009a5e2c1193aa6f2ca1288bc60f2", + "new_receipt_trie_node_byte": "0xf901080182e06eb9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 57454 + } + }, + { + "traces": { + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fce6255d27ea9b3", + "nonce": "0x19" + }, + "0x2a3365c575a5fc8fd2842b82d29f8035e7f71cec": { + "code_usage": { + "read": "0x69505ae0dba86c46a230f4947bef8a70e7aec5fc6da86a9844e99ee4ac5c0d2d" + } + } + }, + "meta": { + "byte_code": "0xf86718845a697a6e830186a0942a3365c575a5fc8fd2842b82d29f8035e7f71cec80808360306ca0c8dc3eed1dd3970a23d77e794820bd9453d5d59693cf39ca567c2ce1f371d83aa07d332a975c4de8ea6be24d42b555b18924b95d9689f0ad1aa00cff44828a509f", + "new_txn_trie_node_byte": "0xf86718845a697a6e830186a0942a3365c575a5fc8fd2842b82d29f8035e7f71cec80808360306ca0c8dc3eed1dd3970a23d77e794820bd9453d5d59693cf39ca567c2ce1f371d83aa07d332a975c4de8ea6be24d42b555b18924b95d9689f0ad1aa00cff44828a509f", + "new_receipt_trie_node_byte": "0xf9010901830266f3b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 99973 + } + }, + { + "traces": { + "0x2a3365c575a5fc8fd2842b82d29f8035e7f71cec": { + "code_usage": { + "read": "0x69505ae0dba86c46a230f4947bef8a70e7aec5fc6da86a9844e99ee4ac5c0d2d" + } + }, + "0x8943545177806ed17b9f23f0a21ee5948ecaa776": { + "balance": "0x33b2e3c9fce393437cdd4ed", + "nonce": "0x1a" + } + }, + "meta": { + "byte_code": "0xf86719845a697a6e830186a0942a3365c575a5fc8fd2842b82d29f8035e7f71cec80808360306ca079739a2467e1939f39cfd6f1294a52bfd2072751abc398fdcfbb65154fcb78baa05bdc0e65c3135382b59df16fa87c856501749b2a1677170115dbb8f0d6c6d8ea", + "new_txn_trie_node_byte": "0xf86719845a697a6e830186a0942a3365c575a5fc8fd2842b82d29f8035e7f71cec80808360306ca079739a2467e1939f39cfd6f1294a52bfd2072751abc398fdcfbb65154fcb78baa05bdc0e65c3135382b59df16fa87c856501749b2a1677170115dbb8f0d6c6d8ea", + "new_receipt_trie_node_byte": "0xf90109018303ed78b9010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0", + "gas_used": 99973 + } + } + ] + }, + "other_data": { + "b_data": { + "b_meta": { + "block_beneficiary": "0x8943545177806ed17b9f23f0a21ee5948ecaa776", + "block_timestamp": "0x6655368b", + "block_number": "0x6", + "block_difficulty": "0x0", + "block_random": "0xc8a795c1aef6eebfa4df1982489bc354d3b2435a3739ccbd1858c9baaebec22b", + "block_gaslimit": "0x17fb5d1", + "block_chain_id": "0x301824", + "block_base_fee": "0x1af68b8e", + "block_gas_used": "0x3ed78", + "block_blob_gas_used": "0x0", + "block_excess_blob_gas": "0x0", + "parent_beacon_block_root": "0xcb1c950134eb119bd5d884c12a61c13210fc5f37c75f20849b64c3edd8840b56", + "block_bloom": [ + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0", + "0x0" + ] + }, + "b_hashes": { + "prev_hashes": [ + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0xbd491c81fa88681710feabc6b0502b779985169c92af323fffd790752961145f", + "0xd009e8d31d1f79c2e09bc9d0eb97d0802f0b0b0421d8299a01e43f7d61e1619d", + "0x7ee1f9d1d3f5a50d5c766847ffa644493f7dfe40c15eca0842fffc9966d56fae", + "0xaeb0a1814c75f5a92d4eccf2b57aff945682dd682c9aa35721af4f5d837af1cf", + "0xede379e8b2d9fecba28ac5a82da2f8c981edc9b5820e6ff4dd4816cf1aea3a69", + "0xc21c5ebbc8a026a4256cb0dd606673ab7ce1bb8116659989e29e2602439763c2" + ], + "cur_hash": "0xcba4dcaabefe20b444d9d5bbad6bbdb62d3e5567ace3f2a8bc7ef50b866d8424" + }, + "withdrawals": [] + }, + "checkpoint_state_trie_root": "0xfa446f2a9bf579b0ea805b88e3ee2acf601573f6ff48baaa8880915613aec508" + } + } +] \ No newline at end of file diff --git a/zero_bin/tools/prove_rpc.sh b/zero_bin/tools/prove_rpc.sh index 363e3dfd4..8dd8ea20d 100755 --- a/zero_bin/tools/prove_rpc.sh +++ b/zero_bin/tools/prove_rpc.sh @@ -28,7 +28,7 @@ if [[ $8 == "test_only" ]]; then export MEMORY_CIRCUIT_SIZE="17..18" else export ARITHMETIC_CIRCUIT_SIZE="16..23" - export BYTE_PACKING_CIRCUIT_SIZE="9..21" + export BYTE_PACKING_CIRCUIT_SIZE="8..21" export CPU_CIRCUIT_SIZE="12..25" export KECCAK_CIRCUIT_SIZE="14..20" export KECCAK_SPONGE_CIRCUIT_SIZE="9..15" diff --git a/zero_bin/tools/prove_stdio.sh b/zero_bin/tools/prove_stdio.sh index 76af3b0dc..900323dbc 100755 --- a/zero_bin/tools/prove_stdio.sh +++ b/zero_bin/tools/prove_stdio.sh @@ -53,26 +53,26 @@ if [[ $TEST_ONLY == "test_only" ]]; then export LOGIC_CIRCUIT_SIZE="12..13" export MEMORY_CIRCUIT_SIZE="17..18" else - if [[ $INPUT_FILE == *"witness_b19240705"* ]]; then - # These sizes are configured specifically for block 19240705. Don't use this in other scenarios. - echo "Using specific circuit sizes for witness_b19240705.json" - export ARITHMETIC_CIRCUIT_SIZE="16..19" + if [[ $INPUT_FILE == *"witness_b19807080"* ]]; then + # These sizes are configured specifically for block 19807080. Don't use this in other scenarios + echo "Using specific circuit sizes for witness_b19807080.json" + export ARITHMETIC_CIRCUIT_SIZE="16..18" export BYTE_PACKING_CIRCUIT_SIZE="11..15" - export CPU_CIRCUIT_SIZE="18..21" - export KECCAK_CIRCUIT_SIZE="15..18" + export CPU_CIRCUIT_SIZE="17..21" + export KECCAK_CIRCUIT_SIZE="14..17" export KECCAK_SPONGE_CIRCUIT_SIZE="10..13" - export LOGIC_CIRCUIT_SIZE="13..17" - export MEMORY_CIRCUIT_SIZE="20..23" - elif [[ $INPUT_FILE == *"witness_b2_b7"* ]]; then - # These sizes are configured specifically for custom small blocks. Don't use this in other scenarios. - echo "Using specific circuit sizes for witness_b2_b7.json" + export LOGIC_CIRCUIT_SIZE="13..16" + export MEMORY_CIRCUIT_SIZE="19..23" + elif [[ $INPUT_FILE == *"witness_b3_b6"* ]]; then + # These sizes are configured specifically for custom blocks 3 to 6. Don't use this in other scenarios + echo "Using specific circuit sizes for witness_b3_b6.json" export ARITHMETIC_CIRCUIT_SIZE="16..17" - export BYTE_PACKING_CIRCUIT_SIZE="9..11" - export CPU_CIRCUIT_SIZE="16..17" + export BYTE_PACKING_CIRCUIT_SIZE="8..14" + export CPU_CIRCUIT_SIZE="14..19" export KECCAK_CIRCUIT_SIZE="14..15" - export KECCAK_SPONGE_CIRCUIT_SIZE="9..10" + export KECCAK_SPONGE_CIRCUIT_SIZE="10..11" export LOGIC_CIRCUIT_SIZE="12..13" - export MEMORY_CIRCUIT_SIZE="18..19" + export MEMORY_CIRCUIT_SIZE="17..21" else export ARITHMETIC_CIRCUIT_SIZE="16..23" export BYTE_PACKING_CIRCUIT_SIZE="8..21" diff --git a/zero_bin/verifier/Cargo.toml b/zero_bin/verifier/Cargo.toml index 40dd297b7..39968b4a6 100644 --- a/zero_bin/verifier/Cargo.toml +++ b/zero_bin/verifier/Cargo.toml @@ -15,4 +15,4 @@ serde_path_to_error = { workspace = true } proof_gen = { workspace = true } # Local dependencies -zero_bin_common ={ path = "../common" } +zero_bin_common = { path = "../common" }